使用其它编码模式的信息的编码模式选择的制作方法

文档序号:7680708阅读:153来源:国知局
专利名称:使用其它编码模式的信息的编码模式选择的制作方法
技术领域
本发明涉及多媒体编码,且更特定来说,涉及用于编码模式选择的技术。
背景技术
可将数字视频能力并入较广范围的装置中,包括数字电视、数字直播系统、无线通 信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、视频游戏控制台、数 字相机、数字记录装置、蜂窝式或卫星无线电话等。数字视频装置可在处理及发射视频 序列中提供优于常规模拟视频系统的显著改进。
己建立不同视频编码标准用于编码数字视频序列。举例来说,运动图像专家组 (MPEG)已开发许多标准,包括MPEG-l、 MPEG-2及MPEG-4。其它实例包括国际电 信协会(ITU) -T H.263标准以及ITU-T H.264标准与其对应物ISO/IEC MPEG-4第10 部分(即,高级视频编码(AVC))。这些视频编码标准通过以压縮方式对数据进行编码 而支持视频序列的改进的发射效率。
许多当前技术利用基于块的编码。在基于块的编码中,将多媒体序列的帧划分为离 散的像素块,且基于与可能位于同一帧内或不同帧中的其它块的差异而对像素块进行编 码。通常称作"宏块"的一些像素块包含像素子块的分组。作为实例,16x16宏块可包 含四个8x8子块。可单独地对所述子块进行编码。举例来说,H.264标准允许对具有多 种不同大小(例如,16x16、 16x8、 8x16、 8x8、 4><4、 8><4及4x8)的块进行编码。另 外,通过扩展,具有任何大小(例如,2x16、 16x2、 2x2、 4x16及8x2)的子块可包括 于宏块内。

发明内容
在本发明的某些方面中, 一种用于处理多媒体数据的方法包含获得与针对当前帧 的像素块的第一分割的第一编码模式相关联的信息;获得与针对像素块的至少一个其它
分割的至少一个其它编码模式相关联的信息,其中所述至少一个其它分割不同于第一分
割;及通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模 式而对像素块进行编码。
在本发明的某些方面中, 一种用于处理视频数据的设备包含存储器及控制模块,所 述控制模块从存储器获得与针对当前帧的像素块的第一分割的第一编码模式相关联的 信息及与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,且通 过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对 像素块进行编码。所述至少一个其它分割不同于第一分割。
在本发明的某些方面中, 一种用于处理视频数据的设备包含用于获得与针对当前 帧的像素块的第一分割的第一编码模式相关联的信息的装置;用于获得与针对像素块的 至少一个其它分割的至少一个其它编码模式相关联的信息的装置,其中所述至少一个其 它分割不同于第一分割模式;及用于通过至少使用与至少一个其它编码模式相关联的信 息来确定是否应以第一编码模式而对像素块进行编码的装置。
在本发明的某些方面中, 一种用于处理多媒体数据的计算机程序产品包含具有指令 的计算机可读媒体。所述指令包括用于获得与针对当前帧的像素块的第一分割的第一 编码模式相关联的信息的代码;用于获得与针对像素块的至少一个其它分割的至少一个 其它编码模式相关联的信息的代码,其中所述至少一个其它分割不同于所述第一分割模 式;及用于通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编 码模式而对像素块进行编码的代码。
在本发明的某些方面中, 一种用于处理视频数据的无线通信装置手持机包含编码 模块,其获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息及与针对
像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,通过至少使用与至 少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码, 且以第一编码模式对像素块进行编码,其中所述至少一个其它分割不同于第一分割;及 发射器,其用于发射经编码的像素块。
本发明中所描述的技术可以硬件、软件、固件或其任何组合实施。如果以软件实施, 则软件可执行于处理器中,其可指一个或一个以上处理器,例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)或其它等效集成或 离散逻辑电路。最初可将执行所述技术的软件存储于计算机可读媒体中且由处理器将其 加载及执行。因此,本发明还预期包含指令的计算机可读媒体,所述指令用以致使处理 器执行如本发明中所描述的多种技术中的任一者。在一些情况下,计算机可读媒体可形 成可售卖给制造商且/或用于装置中的计算机程序产品的部分。计算机程序产品可包括计 算机可读媒体,且在一些情况中还可包括封装材料。
一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从 描述及附图和从权利要求书中显而易见。


图1为说明使用根据本文描述的技术的编码模式选择的多媒体编码系统的框图。 图2为说明与图1的编码系统相关联的编码模块的框图。
图3为说明根据本发明的技术而分析用于像素块的编码模式的编码模块的示范性操 作的流程图。
图4为说明通过使用与至少一个其它编码模式相关联的信息来进行关于编码模式的 确定的编码模块的示范性操作的流程图。
图5为说明根据本发明的技术而执行跳跃模式检测的编码模块的示范性操作的流程图。
具体实施例方式
为了提供高压縮效率,编码装置可支持多个编码模式。编码模式中的每一者可对应 于不同的编码技术及/或对像素块的分割。举例来说,在国际电信联盟(ITU) -T H.264 标准的情况下,存在多个帧间编码模式及帧内编码模式。帧间编码模式包括跳跃(SKIP) 模式、直接(DIRECT)模式、16x16模式、16x8模式、8x16模式、8><8模式、8x4模 式、4x8模式及4x4模式。帧间编码模式使用参考一个或一个以上其它在时间上定位为 先前及/或后续的帧的至少一部分而对像素块进行编码的帧间编码技术。此外,帧间编码 技术可对应于像素块的可变大小的分割。跳跃模式对应于16x16分割,但编码装置在跳 跃模式中不对任何运动或残余信息进行编码。直接模式对应于16x16分割或8x8分割。
帧内编码模式包括帧内4x4模式(针对其存在九个可能内插方向)及帧内16x16 模式(针对其存在四个可能内插方向)。帧内编码模式使用在不参考任何其它时间定位 的帧的情况下对像素块进行编码的帧内编码技术。如同帧间编码模式,帧内编码模式对应于像素块的可变大小的分割。
编码装置针对每一像素块分析可用编码模式的至少一部分,且选择编码模式中以最 高压縮效率对像素块进行编码的一者。根据本发明的技术,编码装置通过使用与具有不 同块分割的至少一个其它编码模式相关联的信息来分析编码模式中的一者或一者以上。 换句话说,编码装置可通过使用与具有不同于当前正考虑选择的编码模式的块分割的块 分割的至少一个其它编码模式相关联的信息而确定是否通过使用当前正考虑选择的编 码模式来对像素块进行编码。编码装置可除使用与至少一个其它编码模式相关联的信息 之外另外使用与当前正考虑选择的编码模式相关联的信息。与特定编码模式相关联的信 息可为在使用所述特定编码模式对块进行编码的情况下将产生的信息。举例来说,与特 定编码模式相关联的信息可包括运动信息、参考信息、残余信息及/或在使用特定编码模 式对块进行编码的情况下将产生的其它信息。
举例来说,可使用所述技术来选择编码模式中的一者用于像素块。或者,可使用所 述技术来减少编码装置可进行选择的潜在编码模式的数目。举例来说,可使用所述技术 来消除可用于对像素块进行编码的编码模式的至少一部分。接着,编码装置可使用其它 模式选择技术,例如对剩余潜在编码模式的速率失真(R-D)编码成本进行比较。在任 一情况下,本发明的编码模式选择技术可减小执行有效模式选择所需的计算密集型计算 量及/或导致较为准确的模式选择。
图1为说明使用根据本文描述的技术的编码模式选择技术的多媒体编码系统10的 框图。多媒体编码系统IO包括通过网络16连接的编码装置12及解码装置14。编码装 置12从至少一个源18获得数字多媒体序列,对数字多媒体序列进行编码且在网络16 上将经编码序列发射到解码装置14。
在某些方面中,源18可包含(例如)经由卫星广播数字多媒体序列的一个或一个 以上视频内容提供者。在其它方面中,源18可包含捕捉数字多媒体序列的图像捕捉装 置。在此情况下,图像捕捉装置可集成于编码装置12内或耦合到编码装置12。源18还 可为处于编码装置12内或耦合到编码装置12的存储器或档案库。
从源18接收的多媒体序列可包含待编码及发射为广播或点播的实况实时或接近实 时的视频及/或音频序列,或可包含待编码及发射为广播或点播的经预记录且存储的视频 及/或音频序列。在一些方面中,可由计算机产生多媒体序列的至少一部分,例如在游戏 的情况下。
可在图片的序列的方面描述从源18接收的数字多媒体序列,其包括帧(整个图片) 或字段(例如,图片的交替的奇数或偶数行的字段)。另外,每一帧或字段可进一步包括两个或两个以上片断,或者帧或字段的子部分。如本文中所使用,术语"帧"可指图 片、帧、帧的字段或片断。
编码装置12对多媒体序列进行编码以用于发射到解码装置14。编码装置12可根据 例如移动图片专家组(MPEG) -1、 MPEG-2、 MPEG-4、 ITU-T H.263或ITU-T H.264 (其 对应于MPEG-4第IO部分,高级视频编码(AVC))的视频压縮标准来对多媒体序列进 行编码。所述编码(且通过扩展、解码)方法可针对于无损耗或有损耗压縮算法以压缩 帧的内容用于发射及/或存储。可概括地将压縮视为从多媒体数据移除冗余的过程。
在一些方面中,本发明预期应用于增强型H.264视频编码,以用于使用在2006年8 月出版为技术标准TIA-1099的仅前向链路(FLO)空中接口规范"用于陆地移动多媒体 多播的仅前向链路空中接口规范(Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast) " ( "FLO规范")而在陆地移动多媒体多播 (TM3)系统中传递实时多媒体服务。然而,本发明中描述的编码模式选择技术不限于 任何特定类型的广播、多播、单播或点对点系统。
H.264/MPEG-4 (AVC)标准由ITU-T视频编码专家组(VCEG)与ISO/正C移动图 片专家组(MPEG) —起制定,作为被称为联合视频团队(JVT)的共同伙伴关系的产 物。由ITU-T研究小组在ITU-T建议(Recommendation) H.264,用于一般视听服务的 高级视步员编码(Advanced video coding for generic audiovisual services)中描述了 H.264 标准,其标注日期为2005年3月,在本文中可被称为H.264标准或H.264规范或 H,264/AVC标准或规范。
JVT继续致力于H.264/MPEG-4 AVC的可縮放视频编码(SVC)扩展。演进SVC扩 展的规范采取联合草案(JD)的形式。由JVT产生的联合可縮放视频模型(JSVM)实 施工具以用于可縮放视频中,其可在多媒体编码系统10内使用以进行本发明中所描述 的各种编码任务。关于精细粒度SNR可縮放性(FGS)编码的详细信息可在联合草案文 献中找到,例如在联合草案6 (SVC JD6),日内瓦(Geneva), 2006年4月,JVT-S201, 托马斯韦根(Thomas Wiegand)、加里苏利文(Gary Sullivan)、朱利安瑞秋(Julien Reichel)、海克舒华斯(Heiko Schwarz)及马提亚斯维恩(Mathias Wien)的"联合草案 6:可縮放视频编码(Joint Draft 6: Scalable Video Coding)"及联合草案9 (SVC脂), 摩洛哥(Morocco),马拉喀什(Marrakech),2007年1月,JVT-V 201 ,托马斯韦根(Thomas Wiegand)、加里苏利文(Gary Sullivan)、朱利安瑞秋(Julien Reichel)、海克舒华斯(Heiko Schwarz)及马提亚斯维恩(Mathias Wien)的"SVC修正的联合草案9 (Joint Draft 9 of SVC Amendment)"中找到。如图l中所说明,编码装置12包括编码模块20及发射器22。编码模块20通过使 用一种或一种以上编码技术来对从源18接收的序列的帧中的每一者进行编码。举例来 说,编码模块20可通过使用帧内编码技术来对帧中的一者或一者以上进行编码。通过 使用帧内编码技术而编码的帧(经常称为帧内("I")帧)在不参考其它帧的情况下经 编码。然而,使用帧内编码的帧可使用空间预测以利用位于同一帧中的其它多媒体数据 中的冗余。
编码模块20还可通过使用帧间编码技术来对帧中的一者或一者以上进行编码。使 用帧间编码技术而编码的帧通过参考一个或一个以上其它帧(在本文中被称为参考帧) 的至少一部分而经编码。帧间编码的帧可包括一个或一个以上预测("P")帧、双向 ("B")帧或其组合。参考至少一个在时间上在先的帧而对P帧进行编码,而参考至少 一个在时间上为未来的帧及至少一个在时间上在先的帧来对B帧进行编码。在时间上在 先及/或在时间上为未来的帧被称为参考帧。以此方式,帧间编码利用跨越时间帧的多媒 体数据中的冗余。
编码模块20可进一步经配置以通过将帧分割为多个像素子集且单独地对像素子集 中的每一者进行编码而对序列的帧进行编码。可将这些像素子集称为块或宏块。编码模 块20可进一步将每一块子分割为两个或两个以上子块。作为实例,16x16块可包含四个 8x8子块或其它子分割块。举例来说,H.264标准允许对具有多种不同大小(例如,16x 16、 16x8、 8x16、 8x8、 8x4、 4><8及4x4)的块进行编码。另外,通过扩展,可使块的子分 割为任何大小(例如,2x16、 16x2、 2x2、 4x16、 8><2等)的子块。具有大于或小于十 六行或列的块也为可能的。如本文中所使用,术语"块"可指任何大小的块或子块。
编码模块20可支持多个编码模式。如上文所描述,编码模式中的每一者可对应于 不同编码技术及/或像素块的分割。举例来说,在H.264标准的情况下,编码模块20支 持许多帧间模式(例如,跳跃模式、直接模式、16x16模式、16x8模式、8x16模式、8x8 模式、8x4模式、4x8模式及4x4模式)及许多帧内模式(即,帧内4x4模式及帧内16x16 模式)。编码模块20针对每一像素块分析可用编码模式的至少一部分且选择以最高压缩 效率对像素块进行编码的编码模式。
在确定是否以当前正考虑选择的编码模式来对像素块进行编码时,编码模块20可 使用与具有不同于当前正考虑选择的编码模式的块分割的块分割的至少一个其它编码
模式相关联的信息。编码模块20除使用与其它编码模式相关联的信息之外,还可使用 与当前正考虑选择的编码模式相关联的信息以及与具有相同块分割的编码模式相关联 的信息来进行确定。在一个方面中,编码模块20使用与具有为当前正考虑选择的编码模式的块分割的子分割或像素块的分割的块分割的编码模式相关联的信息。换句话说, 当前正考虑选择的编码模式具有第一块分割。信息被用以进行确定是否以当前正考虑选 择的编码模式来对像素块进行编码的其它编码模式具有第二块分割。第二块分割包括对 第一块分割的子分割。举例来说,编码模块20可使用与帧间8x8编码模式相关联的信 息来进行关于帧间16xl6编码模式的确定,或使用帧间4x8编码模式来进行关于帧间8x8 编码模式的确定。
如上文所描述,与特定编码模式相关联的信息可为在使用所述特定编码模式对块进 行编码的情况下将产生的信息。举例来说,与特定编码模式相关联的信息可包括运动信 息、参考信息、残余信息及/或在使用特定编码模式对块进行编码的情况下将产生的其它
{曰息。
可使用所述技术来选择编码模式中的一者。举例来说,本发明的技术可能(例如) 对于执行跳跃模式检测尤其有用。然而, 一般来说,所述技术在选择例如直接模式、帧 间正方形模式(例如,16x16、 8x8或4x4)、帧间矩形模式(例如16x8、 8x16、 8><4或 4x8)的其它编码模式时及对于快速模式决策也可为有用的。或者,所述技术可用以减 少编码装置可进行选择的潜在编码模式的数目。举例来说,可使用所述技术来消除可用 于对像素块进行编码的编码模式的至少一部分。在任一情况下,模式选择技术可通过不 仅分析与当前正考虑选择的模式相关联的信息而且还分析与另一编码模式相关联的信 息而导致较为准确的模式选择。另外,本发明的模式选择技术可减少执行有效模式选择 所需的计算密集型计算量。举例来说,在一些情况下,控制模块32可能无需计算与当 前正被分析的编码模式相关联的信息,因此减少选择编码模式所需的计算密集型计算数 目。在其它情况下,所述技术可通过使用无需变换、量化及熵编码的信息而执行模式选 择来减少昂贵计算的数目。
编码装置12应用选定编码模式来对帧的块进行编码,且经由发射器22而在网络16 上发射经编码帧。发射器22可包括适当调制解调器及驱动器电路软件及/或固件以在网 络16上发射经编码多媒体。在某些方面中,编码装置12可对在一时间周期内接收的帧 进行编码、组合及发射。举例来说,在一些多媒体编码系统中,将多媒体数据的多个帧 一起聚集为多媒体数据片段(有时称为"超帧")。如本文中所使用,术语"超帧"指 在一时间周期或窗口中收集以形成数据片段的帧的群组。在利用FLO技术的编码系统 中,超帧可包含一秒数据片段,其可标称地具有30个帧。然而,超帧可包括任何数目 的帧。还可利用所述技术来对其它数据片段进行编码、组合及发射,例如针对在不同时 间周期(可能为或可能不为固定时间周期)中接收的数据片段或对于数据的个别帧或帧
18的集合。换句话说,可界定超帧以覆盖比一秒的时间周期大或小的时间间隔,或甚至为 可变的时间间隔。注意,贯穿本发明,多媒体数据的特定片段(例如,类似于超帧的概 念)指具有特定大小及/或持续时间的多媒体数据的任何程序块(chunk)。
在一些方面中,编码装置12可形成用以广播多媒体数据的一个或一个以上信道的 广播网络组件的部分。因而,经编码序列中的每一者可对应于一多媒体数据信道。多媒 体数据信道中的每一者可包含基础层及(可能地) 一个或一个以上增强层。作为实例, 编码装置12可形成无线基站、服务器或用以向无线装置广播经编码多媒体数据的一个 或一个以上信道的任何基础结构节点的部分。在此情况下,编码装置12可向例如解码 装置14的多个无线装置发射经编码数据。然而,为了简单起见而在图1中说明单一解 码装置14。在其它方面中,编码装置12可包含发射局部捕捉的视频用于视频电话或类 似应用的手持机。举例来说,编码装置12可实施为数字电视、无线通信装置、游戏装 置、便携式数字助理(PDA)、膝上型计算机或桌上型计算机、数字音乐及视频播放器 装置或例如蜂窝式、基于卫星或陆地的无线电话的无线电话或经配备用于视频及/或音频 串流、视频电话或两者的其它无线移动终端的部分。换句话说,编码装置12可实施为 无线通信装置手持机的部分。在其它方面中,编码装置12可包含耦合到有线网络的有 线装置。
编码装置12在网络16上向解码装置14发射经编码序列以用于解码且(可能地) 呈现给解码装置14的用户。网络16可包含有线或无线通信网络中的一者或一者以上, 有线或无线通信网络包括以下各项中的一者或一者以上以太网、简易老式电话服务(例 如,POTS)、电缆、电力线及光纤系统及/或包含以下各项中的一者或一者以上的无线系 统码分多址(CDMA或CDMA2000)通信系统、频分多址(FDMA)系统、正交频分 多(OFDM )址系统、例如通用包无线电服务(GPRS/GSM ) /增强数据GSM环境(EDGE ) 的时分多址(TDMA)系统、陆地中继无线电(TETRA)移动电话系统、宽带码分多址 (WCDMA)系统、高数据速率(lxEV-DO或lxEV-DO黄金多播)系统、IEEE 802.11 系统、FLO系统、数字媒体广播(DMB)系统、数字视频广播手持式(DVB-H)系统、 集成服务数字广播-陆地(ISDB-T)系统等。虽然在无线环境中描述,但本发明的技术 可用以压縮数据以用于经由有线网络而发射。
解码装置14包括接收器24及解码模块26。解码装置14经由接收器24从编码装置 12接收经编码数据。如同发射器22,接收器24可包括适当调制解调器及驱动器电路软 件及/或固件以在网络16上接收经编码多媒体,且在无线应用中可包括RF电路以接收 载送经编码多媒体数据的无线数据。解码模块26对经由接收器24接收的数据的经编码帧进行解码。解码装置14可进一步经由可集成于解码装置14内或作为经由有线或无线 连接耦合到解码装置14的离散装置而提供的显示器(未图示)而将数据的经解码帧呈 现给用户。
举例来说,可将解码装置14实施为数字电视、无线通信装置、游戏装置、便携式 数字助理(PDA)、膝上型计算机或桌上型计算机、数字音乐及视频播放器装置、例如 蜂窝式、基于卫星或陆地的无线电话的无线电话或经配备用于视频及/或音频串流、视频 电话或两者的其它无线移动终端的一部分。解码装置14可与移动或固定装置相关联。 在其它方面中,解码装置14可包含耦合到有线网络的有线装置。
在一些实例中,编码装置12及解码装置14各自可包括相互的发射及接收电路,使 得其各自可充当发射装置及接收装置两者以用于在网络16上发射的经编码多媒体及其 它信息。在此情况下,编码装置12及解码装置14两者均可发射及接收多媒体序列且因 此参与双向通信。换句话说,多媒体编码系统10的所说明的组件可经集成为编码器/解 码器(编解码器)的一部分。
编码装置12及解码装置14中的组件为可应用于实施本文描述的技术的那些组件的 示范性组件。然而,在需要时,编码装置12及解码装置14可包括许多其它组件。举例 来说,编码装置12可包括各自接收多媒体数据的一个或一个以上序列且根据本文描述 的技术而对多媒体数据的相应序列进行编码的多个编码模块。在此情况下,编码装置12 可进一步包括至少一个多路复用器以组合数据的片段用于发射。另外,在可应用时,编 码装置12及解码装置14可包括适当调制、解调制、频率转换、滤波及放大器组件以用 于发射及接收经编码视频,包括射频(RF)无线组件及天线。然而,为了说明的简易性 起见,在图1中未展示所述组件。
图2为进一步详细说明图1的编码模块20的框图。在一些方面中,编码模块20可 形成无线通信装置手持机或广播服务器的一部分。编码模块20包括控制模块32,其从 至少一个源18 (图1)接收一个或一个以上多媒体序列的多媒体数据的输入帧,且处理 所接收的多媒体序列的帧。特定来说,控制模块32分析多媒体序列的传入帧,且基于 对帧的分析而确定对传入帧进行编码还是跳过传入帧。举例来说,编码装置12可跳过 多媒体序列中的帧来以减小的帧速率对信息进行编码,从而保存跨越网络16的带宽。
此外,对于将被编码的传入帧,控制模块32还可经配置以确定是否将帧作为I帧、 P帧或B帧而进行编码。控制模块32可确定在多媒体序列的开始处、在序列内的所检 测的场景改变处将传入帧作为I帧而进行编码,以用作信道切换帧(CSF)或用作帧内 刷新帧。否则,控制模块32将帧作为帧间编码帧(即,P帧或B帧)而进行编码以减少与对帧进行编码相关联的带宽的量。
控制模块32可进一步经配置以将帧分割为多个块,且针对块中的每一者选择一编 码模式,例如上文描述的H.264编码模式中的一者。为了帮助针对块中的每一者选择一 编码模式,编码模块20产生与编码模式的至少一部分相关联的信息。在针对其将块划 分为子块或子分割的编码模式中,编码模块20产生与子块或子分割中的每一者相关联 的信息。对于经选择以进行帧间编码的块,运动估计模块36执行运动估计以选择参考 帧且计算块的每一分割或子分割的运动信息。为了选择参考帧,运动估计模块36搜索 一个或一个以上在时间上在先及/或在时间上为未来的帧,以获得对于待在输入帧中编码 的块为最佳匹配的块。运动估计模块36可通过使用误差测量(例如,绝对差的和(SAD)、 均方误差(MSE)等)而将待经编码的块与一个或一个以上在时间上在先及/或在时间上 为未来的帧中的块进行比较。运动估计模块36可选择具有最小误差测量值的块。与选 定块相关联的帧为参考帧。运动估计模块36可将待编码的块与参考帧的预定搜索区域 的块进行比较。或者,运动估计模块36可执行对参考帧中的所有块的完全搜索。
一旦识别参考帧及对应块,运动估计模块36计算表示参考帧中的所识别块相对于 当前帧中的块(即,待编码的块)的位移的运动信息。因此, 一般被称为运动向量的运 动信息表示输入帧中的块的位置与参考帧中的所识别块的位置之间的偏移。
运动补偿预测模块38计算输入帧的块与运动向量指向的参考帧中的所识别块之间 的差异。此差异为块的残余信息。运动补偿预测模块38可计算关于块的亮度及色度分 量两者的残余信息。在一个方面中,运动补偿预测模块38可计算关于对亮度及色度分 量进行编码的经编码块模式(CBP)成本。
对于经选择以进行帧内编码的块,空间预测模块34产生所述块的残余信息。空间 预测模块34可(例如)经由通过使用一个或一个以上邻近块及对应于选定帧内编码模 式的内插方向性而进行的内插来产生块的预测版本。接着,空间预测模块34可计算输 入帧的块与预测块之间的差异。此差异称为残余信息或残余系数。如同帧间编码模式, 空间预测模块34可计算关于对残余信息进行编码的CBP成本。
运动估计模块36、运动补偿预测模块38及空间预测模块34可将针对不同编码模式 而计算的信息存储于存储器39中。存储器39可包含(例如)随机存取存储器(RAM)、 只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储 器(EEPROM)、快闪存储器等。如下文将详细描述的,控制模块32可使用存储于存储 器39中的信息来执行编码模式选择。
特定来说,控制模块32通过使用与具有不同于当前正考虑选择的编码模式的块分
21割的其它编码模式中的至少一者相关联的信息而确定是否以当前正考虑选择的编码模 式来对像素块进行编码。在一个方面中,控制模块32使用与具有为当前正考虑选择的 编码模式的块分割的子分割的块分割的编码模式相关联的信息。控制模块32可另外使 用与当前正考虑选择的编码模式相关联的信息以及与具有与当前正考虑选择的编码模 式相同的块分割的另 一编码模式相关联的信息。
作为一个实例,控制模块32可使用与帧间8x8编码模式相关联的信息来确定是否 以帧间16x16编码模式对像素块进行编码。更明确地说,可通过运动估计模块36及运 动补偿预测模块38来计算与帧间16x16编码模式及帧间8x8编码模式相关联的信息。 举例来说,运动估计模块36及运动补偿预测模块38可计算在使用所述特定编码模式而 对块进行编码的情况下将产生的信息。此信息可包括一个或一个以上运动向量、参考帧 索引、残余信息等。如上文所描述,可在较早时间计算与帧间8x8编码模式、16xl6编 码模式或两者相关联的信息且将其存储于存储器39内。或者,可在需要时(例如,在 对帧间16x16编码模式的分析期间)计算与帧间16x16及帧间8x8编码模式中的一者或 两者相关联的信息。
控制模块32可(例如)分析至少一个其它编码模式的运动信息、参考信息、残余 信息及/或其它信息来确定是否以当前正考虑选择的编码模式来对像素块进行编码。控制 模块32可将与帧间16x16编码模式相关联的信息的至少一部分和与帧间8x8编码模式 相关联的信息的相应部分进行比较来确定是否使用帧间16x16编码模式而对像素块进行 编码。在一个方面中,控制模块32可将针对帧间16x16编码模式而计算的运动向量的 量值与针对帧间8x8编码模式而计算的四个运动向量的平均值的量值进行比较。当 16x16运动向量的量值与四个8x8运动向量的平均值的量值大体上不相同时(例如,量 值之间的差异大于或等于阈值),控制模块32可确定帧间16x16编码模式将不导致最高 压縮效率。换句话说,控制模块32在16x16运动向量的量值与四个8x8运动向量的平 均值的量值大体上不相同时确定不使用帧间16x16编码模式来对像素块进行编码。如下 文将较详细描述的,控制模块32还可将帧间8x8与帧间16x16编码模式的运动向量的 方向进行比较。
另外,控制模块32可分析与帧间8x8编码模式相关联的其它信息,以确定是否使 用帧间16x16编码模式对块进行编码。控制模块32可(例如)确定针对8x8子块中的 每一者的参考信息是否参考在时间上定位为紧邻当前帧的帧。在与帧间8x8编码模式的 子块中的任一者相关联的参考信息参考不在时间上定位为紧邻当前帧的帧时,控制模块 32可确定帧间16x16编码模式将不导致最高压縮效率。在此情况下,控制模块不选择16x16编码模式用于对考虑中的特定块进行编码。
通过使用与一个或一个以上其它编码模式相关联的信息来确定是否使用当前正考 虑选择的编码模式对块进行编码允许控制模块32较为准确地选择编码模式。并非仅使 用与当前正考虑选择的编码模式相关联的信息而选择编码模式,对模式的选择可至少部 分基于与其它模式相关联的指示考虑中的模式的可能性能的信息。另外,控制模块32 可通过使用减少量的计算密集型计算来进行选择。举例来说,在一些情况下,控制模块 32可无需计算与当前正分析的编码模块相关联的信息,因此减少选择编码模式所需的计 算密集型计算数目。以此方式,通过依赖于其它模式的信息,可在无原本为必要的密集 型计算中的至少一些的情况下分析考虑中的模式以进行选择。
虽然在上文描述的实例中,控制模块32在确定是否以当前正考虑选择的编码模式 对块进行编码时使用与具有不同块分割的一个其它编码模式相关联的信息,但控制模块 32可使用与具有不同块分割的一个以上其它编码模式相关联的信息。举例来说,控制模 块32除使用与8x8编码模式相关联的信息以外还可使用与帧间4x4编码模式或其它帧 间编码模式相关联的信息,以确定是否使用帧间16x16编码模式对块进行编码。具有不 同块分割的编码模式可更有可能产生与对当前处于考虑中的模式的选择相关的信息。
如上文所描述,本发明的技术在较为准确地执行跳跃模式检测时可尤为有用。举例 来说,控制模块32在确定是否应用跳跃模式时可使用与具有不同于跳跃编码模式的块 分割的块分割的另一编码模式相关联的信息。在跳跃模式中,分割块大小为16x16,其 为与帧间16x16编码模式相同的分割块大小。在一些方面中,控制模块32可通过使用 与跳跃模式、帧间16x16编码模式及帧间8x8编码模式相关联的信息而较为准确地确定 是否以跳跃模式对块进行编码。换句话说,在此跳跃模式检测实例中,控制模块32使 用与具有与跳跃模式相同的块分割的一个其它编码模式(即,帧间16x16编码模式)相
关联的信息以及与具有不同块分割的一个其它编码模式(即,帧间8x8编码模式)相关 联的信息。
控制模块32可使用与具有与跳跃模式相同的块分割的其它编码模式(即,帧间 16x16编码模式)相关联的信息,以进行关于跳跃模式的初始确定。接着,控制模块32 可使用具有不同块分割的其它编码模式(即,8x8编码信息)来确定初始确定的准确性。 为了进行关于跳跃模式的初始确定,控制模块32分析与跳跃模式相关联的信息以及与 帧间16x16编码模式相关联的信息。控制模块32可将跳跃模式的运动向量与帧间16x16 编码模式的运动向量进行比较,以确定跳跃运动向量与16xl6运动向量是否大体上相同。 控制模块32可将运动向量的量值及/或方向进行比较。控制模块32在执行跳跃模式检测
23时还可分析与帧间16x16编码模式相关联的参考帧信息(例如,参考帧索引)以及与帧 间16x16编码模式相关联的残余信息。举例来说,控制模块32可在(a)跳跃模式与帧 间16x16编码模式的运动向量大体上相同,(b)帧间16x16编码模式的参考帧在时间上 紧邻当前帧定位,且(c)无残余数据以帧间16x16编码模式编码时,初始确定跳跃模 式为最有效的模式。
接着,控制模块32使用与帧间8x8编码模式相关联的信息来更准确地确定是否使 用跳跃模式来对块进行编码。控制模块32可(例如)采用与上文关于帧间16x16编码 模式决策实例所描述的相同方式来分析与帧间8x8编码模式相关联的信息。特定来说, 控制模块32可将与跳跃模式相关联的运动向量的量值和与帧间8x8编码模式相关联的 四个运动向量的平均值的量值进行比较。控制模块32可另外确定8x8子块中的每一者 的运动向量是否大体上在与跳跃模式的运动向量相同的方向上对准。控制模块32还可 确定针对子块中的每一者的参考信息是否参考在时间上紧邻当前帧定位的帧。控制 模块32可在(a)运动向量具有大体上相似的量值,(b) 8x8子块中的每一者的运动向 量在与跳跃模式运动向量相同的方向上对准,且(c)针对8x8子块中的每一者的参考 信息参考在时间上紧邻当前帧定位的帧时,确定应以跳跃编码模式对块进行编码,控制 模块32可确定初始跳跃编码模式确定为准确确定。换句话说,跳跃编码模式将导致最 高压缩效率。在此基础上,控制模块32可选择跳跃模式来对考虑中的块进行编码。否 则,控制模块32确定跳跃编码模式将不导致最高压縮效率,且分析一个或一个以上其 它编码模式。在控制模块32为帧或片断中的各个块选择编码模式时,可针对不同块选 择不同模式。
如上文所描述,控制模块32可通过使用上文描述的技术来为当前块选择块模式。 或者,可使用本发明的技术来减少潜在编码模式的数目。举例来说,可使用上文描述的 技术来确定跳跃模式及帧间16x16并非最为有效的编码模式。接着,控制模块32可使 用其它模式选择技术来从编码模式的縮减集选择用于当前块的模式。控制模块32可(例 如)计算或估计编码模式的縮减子集的编码成本,且选择具有最低编码成本的编码模式。 编码模块20可将编码成本计算或估计为速率及失真的函数,例如,根据方程式
<formula>formula see original document page 24</formula>
其中J为所估计的编码成本,D为块的失真量度,lm。de为相应模式的拉格朗日
(Lagrange)乘数,且R为块的速率量度。失真量度(D)可(例如)包含绝对差的和(SAD)、平方差的和(SSD)、绝对变换差的和(SATD)、平方变换差的和(SSTD)等。速率量 度(R)可(例如)为与对给定块中的数据进行编码相关联的编码位的数目。速率量度 R规定可经分配以对数据进行编码的位的数目。为了计算D及R,编码模块20针对所 分析的每一模式执行运动估计,计算残余信息,针对所述特定模式而变换并量化残余信 息,且对残余信息以及任何其它信息(例如,运动向量)进行编码以计算速率R。此外, 编码模块20可对数据进行反量化及逆变换,且将原始块与经解码的块进行比较来获得 失真量度D。
在选择编码模式之后,编码模块20使用选定编码模式来对数据块进行编码。如图2 所说明,编码模块20包括变换模块40、量化模块46及熵编码器48。变换模块40根据 变换函数而变换块的信息的至少一部分。举例来说,变换模块40可对残余信息应用例 如4x4或8x8整数变换的整数变换或离散余弦变换(DCT),以产生残余信息的变换系 数。量化模块46对信息进行量化且向熵编码器48提供经量化的数据。熵编码器48通 过使用上下文自适应编码技术、固定长度编码(FLC)技术、通用可变长度编码(VLC) 技术或其它编码技术来对经量化数据进行编码。
可在编码模块20中个别地实施前述技术,或可共同实施所述技术中的两者或两者 以上或者所有所述技术。编码模块20中的组件为可应用于实施本文中描述的技术的组 件的示范性组件。然而,编码模块20在需要时可包括许多其它组件,以及组合上文描 述的模块中的一者或一者以上的功能性的较少组件。可将编码模块20中的组件实施为 一个或一个以上处理器、数字信号处理器、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)、离散逻辑、软件、硬件、固件或其任何组合。对如模块的不同特征的描述希 望强调编码模块20的不同功能方面,且未必暗示必须通过单独的硬件或软件组件来实 现所述模块。而是,与一个或一个以上模块相关联的功能性可集成于共同或单独的硬件 或软件组件内。
图3为说明例如图1及图2的编码模块20的编码模块的示范性操作的流程图,所 述编码模块根据本发明的技术而分析像素块的编码模式。编码模块20计算与不同于当 前正考虑选择的编码模式的至少一个编码模式相关联的信息(50)。在一些方面中,编 码模块20还可计算与当前正考虑选择的编码模式相关联的信息(52)。然而,在一些方 面中,编码模块20可能不计算与当前正考虑选择的编码模式相关联的信息。运动估计 模块36可产生识别一个或一个以上参考帧的参考信息及表示正分析的块相对于参考帧 中的所识别块的位移的运动信息。另外,运动补偿预测模块38可产生表示块的亮度及/ 或块的色度分量之间的差异的残余信息。在一些情况下,可将与编码模式中的每一者相关联的信息存储于存储器39中。
控制模块32通过至少使用与具有不同于当前正考虑选择的编码模式的块分割的至 少一个其它编码模式相关联的信息来进行关于当前正考虑选择的编码模式的确定(54)。 控制模块32可(例如)分析与至少一个其它编码模式相关联的运动信息、参考信息、 残余信息及/或其它信息,以进行关于当前正分析的编码模式的确定。如上文所详细描述 的,与至少一个其它编码模式相关联的信息可为在以至少一个其它编码模式对块进行编 码的情况下将产生的信息。作为一个实例,控制模块32可使用与帧间8x8编码模式相 关联的信息来确定是否以帧间16x16编码模式对像素块进行编码。举例来说,控制模块 32可将帧间8x8的运动向量的方向性来确定其是否大体上对准。如果运动向量未大体上 对准,则控制模块确定不选择帧间16x16编码模式来用于对考虑中的特定块进行编码。 作为另一实例,控制模块32可确定8x8子块中的每一者的参考信息是否参考在时间上 定位为紧邻当前帧的帧。在与帧间8x8编码模式的子块中的任一者相关联的参考信息均 参考不在时间上定位为紧邻当前帧的帧时,控制模块32可确定不选择16x16编码模式 来用于对考虑中的特定块进行编码。因此,控制模块32可在不计算与当前正考虑选择 的编码模式相关联的信息的情况下进行确定。
然而,控制模块32可使用与一个以上其它编码模式相关联的信息。举例来说,控 制模块32除了与8x8编码模式相关联的信息外可使用与帧间4x4编码模式或其它帧间 编码模式相关联的信息,以分析16xl6帧间编码模式。在一些情况下,如果其它编码模 式为具有是当前正考虑选择的编码模式的块分割的子分割的块分割的编码模式则可为 有利的。
此外,控制模块32除了与至少一个其它编码模式相关联的信息以外还可使用与当 前正考虑选择的编码模式相关联的信息。举例来说,控制模块32可将当前正考虑选择 的编码模式与至少一个其它编码模式的运动信息(例如量值及/或方向)进行比较来进行 确定。
控制模块32确定是否选择当前正分析的编码模式(56)。在一些情况下,控制模块 32可能不选择编码模式,而是替代地使用上文描述的技术来减少针对其计算速率失真编 码成本的潜在编码模式的数目。当未选择当前正分析的编码模式时,编码模块20分析 并选择其它编码模式中的一者。编码模块20可使用本发明的技术以及较多传统技术来 分析其它编码模式,例如计算与其它编码模式相关联的编码成本(58)。
在选择编码模式之后,编码模块20使用选定编码模式来对数据块进行编码(59)。 使用与一个或一个以上其它编码模式相关联的信息来进行关于正分析的当前编码模式的确定允许控制模块32较为准确地选择编码模式。此外,控制模块32可通过使用减少 数目的计算密集型计算来进行模式选择。换句话说,控制模块32可通过减少数目的变 换、量化、熵编码或者计算或估计与模式中的每一者相关联的编码成本所需的其它计算 密集型计算来进行确定。
图4为说明例如图1及图2的编码模块20的编码模块的示范性操作的流程图,所 述编码模块通过使用与至少一个其它编码模式相关联的信息来进行关于编码模式的确 定。编码模块20通过使用与具有不同于当前正分析的编码模式的块分割的至少一个其 它编码模式相关联的信息而进行关于当前正分析的编码模式的确定。在一个方面中,控 制模块32使用与具有为当前正分析的编码模式的块分割的子分割的块分割的编码模式 相关联的信息。出于示范性目的,将使用帧间16x16编码模式作为当前正分析的编码模 式且使用帧间8x8编码模式作为第一其它编码模式而描述图4的流程图。然而,可使用 所述技术来执行使用其它类型的编码模式的编码模式选择。
编码模块20获得与当前正考虑选择的编码模式相关联的信息及与第一其它编码模 式相关联的信息(60)。此信息可包括许多运动向量、参考帧索引等。编码模块20可在 需要时(例如,在对当前编码模式的分析期间)计算与当前正考虑选择的编码模式相关 联的信息及/或与第一其它编码模式相关联的信息。举例来说,如果控制模块32通过使 用与其它编码模式相关联的信息确定不应以当前正考虑选择的模式对块进行编码,则编
码模块20可无需计算与当前正考虑选择的编码模式相关联的信息。或者,编码模块20 可从存储器39检索与当前正考虑选择的编码模式相关联的信息及/或与第一其它编码模 式相关联的信息。在此情况下,可能已对信息进行预计算以用于在编码模式选择的分析 中稍后的考虑。
控制模块32确定对于8x8子块中的每一者的参考信息是否参考在时间上定位为紧 邻当前帧的帧(62)。在P块的情况下,参考帧在时间上定位为紧在当前帧之前。当控 制模块32确定与帧间8x8编码模式的所有子块相关联的参考信息参考在时间上定位为 紧邻当前帧的帧时,控制模块32可分析运动向量的方向性来确定8x8子块的运动向量 是否大体上对准(64)。控制模块32可(例如)确定在X及Y方向上的运动向量是否 相同或处于预定阈值容差限制内。在另一实例中,控制模块32可将运动向量的量化版 本进行比较。在任一情况下,控制模块32将8x8子块的运动向量彼此比较。或者,控 制模块32可将8x8子块的运动向量中的每一者的方向与16x16块的运动向量的方向进 行比较。
当8x8子块中的任一者的运动向量大体上对准时,控制模块32可分析与8x8编码模式及16x16编码模式相关联的残余信息,以确定16x16编码模式是否具有比8x8编码 模式多的残余信息(66)。当16xl6编码模式具有较多残余信息时,控制模块32确定16x16 编码模式不导致最高压縮效率。在一个方面中,控制模块32可分析与块的像素的亮度 分量及色度分量相关联的残余信息。控制模块32可将关于亮度分量及色度分量的CBP 成本进行比较,以确定帧间16"6编码模式是否具有比8x8编码模式多的残余信息。在 一些方面中,当亮度或色度分量具有较多残余信息时,16x16编码模式可被认为具有比 8x8编码模式多的残余信息。然而,在其它方面中,仅当亮度及色度分量均具有较多残 余信息时,16x16编码模式方可被认为具有比8x8编码模式多的残余信息。
当16x16编码模式不具有比8x8编码模式多的残余信息时,控制模块32可将与帧 间16x16编码模式相关联的运动信息和与帧间8x8编码模式相关联的运动信息进行比 较,以确定与每一者相关联的运动向量是否大体上相同(67)。举例来说,控制模块32 可将帧间16xl6编码模式的运动向量的量值和与帧间8x8编码模式相关联的四个运动向 量的量值的平均值进行比较。为了比较运动向量,控制模块可计算帧间16x16编码模式 的运动向量的量值和与帧间8x8编码模式相关联的四个运动向量的量值的平均值之间的 差异,且在差异小于阈值差异时确定运动向量大体上相同。在一个实例中,阈值差异可 为一个整数像元(pel)(例如,整数像素)。然而,可视运动估计算法的准确性及关于输 入信号的预期噪声(例如,针对高度压縮的输入信号)而使用其它差异阈值。
当16x16运动向量与四个8x8运动向量的平均值的量值不大体上相同时,当与帧间 8x8编码模式的子块中的任一者相关联的参考信息参考不在时间上定位为紧邻当前帧的 帧时,或当8x8子块中的任一者的运动向量不大体上对准时,控制模块32确定帧间16x16 编码模式将不导致最高压縮效率(68)。换句话说,控制模块32确定不以帧间16x16编 码模式来对像素块进行编码。当在计算与帧间16x16编码模式相关联的信息之前进行此 确定时,所述技术可减少产生与帧间16x16编码模式相关联的信息需要执行的计算昂贵 的计算的数目。
在已满足上文描述的条件中的所有条件时,控制模块32确定是否分析与较多编码 模式相关联的信息(70)。控制模块32可使用与较多其它编码模式相关联的信息来提高 确定的准确性。举例来说,控制模块32除了与8x8编码模式相关联的信息以外可使用 与帧间4x4编码模式或其它帧间编码模式相关联的信息来分析16x16帧间编码模式。在 一些情况下,如果其它编码模式为使用当前正分析的编码模式的子块的编码模式则可为 有利的。然而,具有像素块的不同分割的任何编码模式在进行关于当前正分析的编码模 式的确定中可均为有用的。
28当控制模块32确定应分析与其它编码模式相关联的信息时,控制模块32以与上文 关于与8x8编码模式相关联的信息而描述的方式相同的方式来使用其它编码模式的信息 (72)。当控制模块32确定不分析与额外其它编码模式相关联的信息时,控制模块32选 择当前正考虑的编码模式用于像素块或将当前编码模式分类为剩余潜在编码模式中的 一者(74)。控制模块32可针对许多其它编码模式执行此操作来产生剩余潜在编码模式 的縮减集。换句话说,控制模块32可基于此分析确定将不选择哪些编码模式,且接着 执行其它编码模式选择技术来从编码模式的縮减集进行选择。
图5为说明例如图1及图2的编码模块20的编码模块的示范性操作的流程图,所 述编码模块根据本发明的技术而执行跳跃模式检测。控制模块32获得与跳跃编码模式 相关联的信息以及与具有相同块分割的第一其它编码模式相关联的信息(80)。编码模 块20可在需要时(例如,在对当前编码模式的分析期间)计算与当前正分析的编码模 式相关联的信息及/或与第一其它编码模式相关联的信息。或者,编码模块20可从存储 器39检索与当前正分析的编码模式相关联的信息及/或与第一其它编码模式相关联的信 息。如上文所描述,跳跃模式具有16x16的块分割大小,其与帧间16x16编码模式的块 分割大小相同。因此,控制模块32获得与跳跃编码模式及具有与跳跃模式相同的块分 割的一个其它编码模式相关联的信息。
为了进行关于跳跃模式的初始确定,控制模块32将跳跃模式的运动向量与帧间 16x16编码模式的运动向量进行比较来确定跳跃运动向量与16x16运动向量是否大体上 相同(82)。举例来说,可基于同一帧内或一个或一个以上参考帧中的周围块的运动向 量而预测跳跃模式的运动向量。控制模块32可将与跳跃模式相关联的运动向量的量值 及/或方向和与帧间16x16编码模式相关联的运动向量的量值及/或方向进行比较。
当与跳跃模式相关联的运动向量和与帧间16xl6编码模式相关联的运动向量大体上 相同时,控制模块32分析与帧间16x16编码相关联的参考信息(例如,参考帧索引) 来确定参考信息是否参考在时间上定位为紧邻当前帧的帧(84)。
当参考信息参考在时间上定位为紧邻当前帧的帧时,控制模块32分析残余信息来 确定是否存在与帧间16x16编码模式相关联的任何残余信息(86)。在一个方面中,控 制模块32可分析与块的像素的亮度分量及色度分量相关联的残余信息。控制模块32可 (例如)计算亮度及色度分量的CBP成本以确定是否存在与帧间16xl6编码模式相关联 的任何残余信息。可通过使用变换、量化及后量化定阈值而计算亮度及色度的CBP成本 (或值)。如果不存在残余信息(例如,亮度及色度分量的CBP成本均为零),则控制模 块32最初确定跳跃编码模式为可能编码模式。如果未满足以上条件中的一者,即,如果存在残余信息,参考信息参考在时间上不 紧邻当前帧定位的帧,或者帧间16x16编码模式的运动向量大体上不类似,则控制模块 32确定跳跃模式并非为最有效的模式。以此方式,控制模块32可使用与具有与跳跃模 式相同的块分割的其它编码模式(即,帧间16xl6编码模式)相关联的信息来进行关于 跳跃模式的初始确定。
控制模块32可获得与其它编码模式中的第二者相关联的信息以用于确定初始确定 的准确性(88)。其它编码模式中的第二者具有与跳跃模式不同的块分割。出于示范性 目的,其它编码模式中的第二者将为帧间8x8编码模式。然而,所述技术可与具有不同 块分割的任何其它编码模式一起使用。
控制模块32以与上文关于图4所描述的相同方式分析与帧间8x8编码模式相关联 的信息。特定来说,控制模块32将与跳跃编码模式相关联的运动信息和与帧间8x8编 码模式相关联的运动信息进行比较,以确定与每一者相关联的运动信息是否大体上相同 (卯)。控制模块32还分析运动向量的方向性以确定8x8子块的运动向量是否对准(92)。 另外,控制模块32可确定针对8x8子块中的每一者的参考信息是否参考在时间上紧邻 当前帧定位的帧(94)。在已满足上文描述的条件中的所有条件时,控制模块32选择跳 跃编码模式或将跳跃编码模式分类为剩余的潜在编码模式中的一者(96)。
当与帧间8x8编码模式的子块中的任一者相关联的参考信息参考在时间上不紧邻当 前帧定位的帧时,当8x8子块中的任一者的运动向量未大体上对准时,或当运动向量大 体上不相同时,控制模块32确定帧间16xl6编码模式将不导致最高压縮效率(98)。以 此方式,控制模块32使用与8x8编码模式或其它帧间编码模式相关联的信息,以充当 准确性检查来评估是否将选择较精细模式(例如,帧间8x8模式)。举例来说,此可为 块处于两个物体的边缘处(例如,运动向量未对准或平均运动向量与帧间16x16运动向 量大体上不相同)时的情况。虽然在此实例中使用帧间8x8编码模式来进行准确性检查, 但可使用其它编码模式及/或量度来执行准确性检査。举例来说,与来自当前及参考帧的 因果及非因果(以光栅扫描次序)宏块相关联的信息。作为另一实例,如果当前帧中的 大多数相邻块(例如,在5x5区域中)被分类为跳跃块,则控制模块32可偏重于/偏向 于选择跳跃模式。
基于本文描述的教示,将显而易见本文揭示的方面可独立于任何其它方面而实施, 且这些方面中的两个或两个以上方面可以各种方式而组合。所述技术可实施于多种装置 中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包括在 无线通信装置手持机及其它装置中的应用的多种用途。本文中所描述的技术可以硬件、软件、固件或其任何组合实施。如果以硬件实施,则所述技术可通过使用数字硬件、模 拟硬件或其组合而实现。如果以软件实施,则所述技术可至少部分通过包括上面存储有 一个或一个以上指令或代码的计算机可读媒体的计算机程序产品来实现。可由计算机 (例如由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、ASIC、 FPGA或 其它等效集成或离散逻辑电路的一个或一个以上处理器)来执行与计算机程序产品的计 算机可读媒体相关联的指令或代码。
以实例且非限制的方式,所述计算机可读媒体可包含例如同步动态随机存取存储器 (SDRAM)的RAM、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、 ROM、 电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、快闪 存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用来 以指令或数据结构的形式载送或存储所要程序代码且可由计算机存取的任何其它有形 媒体。
己描述许多方面及实例。然而,对于这些实例的各种修改为可能的,且本文提出的 原理同样可应用于其它方面。这些及其它方面均处于所附权利要求书的范围内。
权利要求
1.一种用于处理视频数据的方法,所述方法包含获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息;获得与针对所述像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,其中所述至少一个其它分割不同于所述第一分割;以及至少使用与所述至少一个其它编码模式相关联的所述信息来确定是否应以所述第一编码模式对所述像素块进行编码。
2. 根据权利要求1所述的方法,其中所述至少一个其它分割包含所述第一分割的若干 子分割。
3. 根据权利要求1所述的方法,其中确定是否应以所述第一编码模式对所述像素块进 行编码包含将与所述第一编码模式相关联的运动信息和与所述至少一个其它编码模式相关 联的运动信息进行比较;以及在与所述第一编码模式相关联的所述运动信息大体上不类似于所述至少一个其 它编码模式的所述运动信息时,确定不应以所述第一编码模式对所述像素块进行编 码。
4. 根据权利要求3所述的方法,其中将与所述第一编码模式相关联的所述运动信息和 与所述至少一个其它编码模式相关联的运动信息进行比较包含将与所述第一编码 模式相关联的运动向量及多个运动向量的平均值中的一者和与所述至少一个其它 编码模式相关联的运动向量及多个运动向量的平均值中的一者进行比较。
5. 根据权利要求3所述的方法,其中在与所述第一编码模式相关联的所述运动信息大 体上不类似于所述至少一个其它编码模式的所述运动信息时,确定不应以所述第一 编码模式对所述像素块进行编码包含在与所述第一编码模式相关联的所述运动信 息与所述至少一个其它编码模式的所述运动信息之间的差异大于或等于阈值时,确 定不应以所述第一编码模式对所述像素块进行编码。
6. 根据权利要求1所述的方法,其中确定是否应以所述第一编码模式对所述像素块进行编码包含将与所述至少一个其它编码模式相关联的多个运动向量中的每一者的方向进行 比较;以及在与所述至少一个其它编码模式相关联的所述多个运动向量中的一者或一者以 上在不同方向上对准时,确定不应以所述第一编码模式对所述像素块进行编码。
7. 根据权利要求1所述的方法,其中确定是否应以所述第一编码模式对所述像素块进 行编码包含分析与所述至少一个其它编码模式相关联的参考信息;以及在所述参考信息参考在时间上不紧邻所述当前帧定位的帧时,确定不应以所述第 一编码模式对所述像素块进行编码。
8. 根据权利要求1所述的方法,其中确定是否应以所述第一编码模式对所述像素块进 行编码包含将与所述第一编码模式相关联的第一亮度及色度残余信息量和与所述至少一个 其它编码模式相关联的第二亮度及色度残余信息量进行比较;以及在所述第一亮度及色度残余信息量大于所述第二亮度及色度残余信息量时,确定 不应以所述第一编码模式对所述像素块进行编码。
9. 根据权利要求1所述的方法,其中获得与针对所述像素块的所述至少一个其它分割的所述至少一个其它编码模式相关联的信息包含获得与针对所述像素块的两个其它分割的两个其它编码模式相 关联的信息,其中所述两个其它分割中的一个分割不同于所述第一分割,且所述两 个其它分割中的另一分割与所述第一分割相同,以及确定是否应以所述第一编码模式对所述像素块进行编码包含使用与所述第一及 第二其它编码模式相关联的所述信息确定是否应以所述第一编码模式对所述像素 块进行编码。
10. 根据权利要求9所述的方法,其中确定是否应以所述第一编码模式对所述像素块进 行编码包含基于与所述两个其它编码模式中的具有与所述第一分割相同的所述分 割的所述一者相关联的至少亮度残余信息及色度残余信息而确定是否应以所述第一编码模式对所述像素块进行编码。
11. 根据权利要求9所述的方法,其中所述第一编码模式包含跳跃编码模式及直接编码 模式中的一者。
12. 根据权利要求1所述的方法,其中确定是否应以所述第一编码模式对所述像素块进 行编码包含至少基于与所述至少一个其它编码模式相关联的所述信息而选择所述 第一编码模式,且所述方法进一步包含以所述第一编码模式对所述像素块进行编 码。
13. —种用于处理视频数据的设备,所述设备包含存储器;以及控制模块,其从所述存储器获得与针对当前帧的像素块的第一分割的第一编码模 式相关联的信息及与针对所述像素块的至少一个其它分割的至少一个其它编码模 式相关联的信息,且至少使用与所述至少一个其它编码模式相关联的所述信息来确 定是否应以所述第一编码模式对所述像素块进行编码,其中所述至少一个其它分割不同于所述第一分割。
14. 根据权利要求13所述的设备,其中所述至少一个其它分割包含所述第一分割的若 干子分割。 '
15. 根据权利要求13所述的设备,其中所述控制模块将与所述第一编码模式相关联的 运动信息和与所述至少一个其它编码模式相关联的运动信息进行比较,且在与所述 第一编码模式相关联的所述运动信息大体上不类似于所述至少一个其它编码模式 的所述运动信息时确定不应以所述第一编码模式对所述像素块进行编码。
16. 根据权利要求15所述的设备,其中所述控制模块将与所述第一编码模式相关联的 运动向量及多个运动向量的平均值中的一者和与所述至少一个其它编码模式相关 联的运动向量及多个运动向量的平均值中的一者进行比较。
17. 根据权利要求15所述的设备,其中所述控制模块在与所述第一编码模式相关联的所述运动信息与所述至少一个其它编码模式的所述运动信息之间的差异大于或等 于阈值时确定不应以所述第一编码模式对所述像素块进行编码。
18. 根据权利要求13所述的设备,其中所述控制模块将与所述至少一个其它编码模式 相关联的多个运动向量中的每一者的方向进行比较,且在与所述至少一个其它编码 模式相关联的所述多个运动向量中的一者或一者以上在不同方向上对准时确定不 应以所述第一编码模式对所述像素块进行编码。
19. 根据权利要求13所述的设备,其中所述控制模块分析与所述至少一个其它编码模 式相关联的参考信息,且在所述参考信息参考在时间上不紧邻所述当前帧定位的帧 时,确定不应以所述第一编码模式对所述像素块进行编码。
20. 根据权利要求13所述的设备,其中所述控制模块将与所述第一编码模式相关联的 第一亮度及色度残余信息量和与所述至少一个其它编码模式相关联的第二亮度及 色度残余信息量进行比较,且在所述第一亮度及色度残余信息量大于所述第二亮度 及色度残余信息量时,确定不应以所述第一编码模式对所述像素块进行编码。
21. 根据权利要求13所述的设备,其中所述控制模块获得与针对所述像素块的两个其 它分割的两个其它编码模式相关联的信息,且使用与所述第一及第二其它编码模式 相关联的所述信息确定是否应以所述第一编码模式对所述像素块进行编码,其中所 述两个其它分割中的一个分割不同于所述第一分割且所述两个其它分割中的另一 分割与所述第一分割相同。
22. 根据权利要求21所述的设备,其中所述控制模块基于与所述两个其它编码模式中 的具有与所述第一分割相同的所述分割的所述一者相关联的至少亮度残余信息及 色度残余信息而确定是否应以所述第一编码模式对所述像素块进行编码。
23. 根据权利要求21所述的设备,其中所述控制模块确定是否应以跳跃编码模式及直 接编码模式中的一者对所述像素块进行编码。
24. 根据权利要求13所述的设备,其中所述控制模块至少基于与所述至少一个其它编码模式相关联的所述信息而选择所述第一编码模式,且所述设备进一步包含用于以 所述第一编码模式对所述像素块进行编码的编码器。
25. —种用于处理视频数据的设备,所述设备包含用于获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息的装 置;用于获得与针对所述像素块的至少一个其它分割的至少一个其它编码模式相关 联的信息的装置,其中所述至少一个其它分割不同于所述第一分割模式;以及用于通过至少使用与所述至少一个其它编码模式相关联的所述信息来确定是否 应以所述第一编码模式对所述像素块进行编码的装置。
26. 根据权利要求25所述的设备,其中所述至少一个其它分割包含所述第一分割的若 干子分割。
27. 根据权利要求25所述的设备,其中所述确定装置将与所述第一编码模式相关联的 运动信息和与所述至少一个其它编码模式相关联的运动信息进行比较,且在与所述 第一编码模式相关联的所述运动信息大体上不类似于所述至少一个其它编码模式 的所述运动信息时确定不应以所述第一编码模式对所述像素块进行编码。
28. 根据权利要求27所述的设备,其中所述确定装置将与所述第一编码模式相关联的 运动向量及多个运动向量的平均值中的一者和与所述至少一个其它编码模式相关 联的运动向量及多个运动向量的平均值中的一者进行比较。
29. 根据权利要求27所述的设备,其中所述确定装置在与所述第一编码模式相关联的 所述运动信息与所述至少一个其它编码模式的所述运动信息之间的差异大于或等 于阈值时确定不应以所述第一编码模式对所述像素块进行编码。
30. 根据权利要求25所述的设备,其中所述确定装置将与所述至少一个其它编码模式 相关联的多个运动向量中的每一者的方向进行比较,且在与所述至少一个其它编码 模式相关联的所述多个运动向量中的一者或一者以上在不同方向上对准时确定不 应以所述第一编码模式对所述像素块进行编码。
31. 根据权利要求25所述的设备,其中所述确定装置分析与所述至少一个其它编码模 式相关联的参考信息,且在所述参考信息参考在时间上不紧邻所述当前帧定位的帧 时确定不应以所述第一编码模式对所述像素块进行编码。
32. 根据权利要求25所述的设备,其中所述确定装置将与所述第一编码模式相关联的 第一亮度及色度残余信息量和与所述至少一个其它编码模式相关联的第二亮度及 色度残余信息量进行比较,且在所述第一亮度及色度残余信息量大于所述第二亮度 及色度残余信息量时确定不应以所述第一编码模式对所述像素块进行编码。
33. 根据权利要求25所述的设备,其中所述获得装置获得与针对所述像素块的两个其它分割的两个其它编码模式相关 联的信息,其中所述两个其它分割中的一个分割不同于所述第一分割且所述两个其 它分割中的另一分割与所述第一分割相同,以及所述确定装置使用与所述第一及第二其它编码模式相关联的所述信息确定是否 应以所述第一编码模式对所述像素块进行编码。
34. 根据权利要求33所述的设备,其中所述确定装置基于与所述两个其它编码模式中 的具有与所述第一分割相同的所述分割的所述一者相关联的至少亮度残余信息及色度残余信息而确定是否应以所述第一编码模式对所述像素块进行编码。
35. 根据权利要求33所述的设备,其中所述第一编码模式包含跳跃编码模式及直接编 码模式中的一者。
36. 根据权利要求25所述的设备,其中所述确定装置至少基于与所述至少一个其它编 码模式相关联的所述信息而选择所述第一编码模式,且所述设备进一步包含用于以 所述第一编码模式对所述像素块进行编码的装置。
37. —种用于处理多媒体数据的计算机程序产品,其包含上面具有指令的计算机可读媒 体,所述指令包含用于获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息的代 码;用于获得与针对所述像素块的至少一个其它分割的至少一个其它编码模式相关 联的信息的代码,其中所述至少一个其它分割不同于所述第一分割模式;以及用于至少使用与所述至少一个其它编码模式相关联的所述信息确定是否应以所 述第一编码模式对所述像素块进行编码的代码。
38. 根据权利要求37所述的计算机程序产品,其中所述至少一个其它分割包含所述第 一分割的若干子分割。
39. 根据权利要求37所述的计算机程序产品,其中用于确定是否应以所述第一编码模 式对所述像素块进行编码的代码包含用于将与所述第一编码模式相关联的运动信息和与所述至少一个其它编码模式 相关联的运动信息进行比较的代码;以及用于在与所述第一编码模式相关联的所述运动信息大体上不类似于所述至少一 个其它编码模式的所述运动信息时确定不应以所述第一编码模式对所述像素块进 行编码的代码。
40. 根据权利要求39所述的计算机程序产品,其中用于将与所述第一编码模式相关联 的所述运动信息和与所述至少一个其它编码模式相关联的运动信息进行比较的代 码包含用于将与所述第一编码模式相关联的运动向量及多个运动向量的平均值中 的一者和与所述至少一个其它编码模式相关联的运动向量及多个运动向量的平均 值中的一者进行比较的代码。
41. 根据权利要求39所述的计算机程序产品,其中用于在与所述第一编码模式相关联 的所述运动信息大体上不类似于所述至少一个其它编码模式的所述运动信息时确 定不应以所述第一编码模式对所述像素块进行编码的代码包含用于在与所述第一 编码模式相关联的所述运动信息与所述至少一个其它编码模式的所述运动信息之 间的差异大于或等于阈值时确定不应以所述第一编码模式对所述像素块进行编码 的代码。
42. 根据权利要求37所述的计算机程序产品,其中用于确定是否应以所述第一编码模 式对所述像素块进行编码的代码包含用于将与所述至少一个其它编码模式相关联的多个运动向量中的每一者的方向 进行比较的代码;以及用于在与所述至少一个其它编码模式相关联的所述多个运动向量中的一者或一 者以上在不同方向上对准时确定不应以所述第一编码模式对所述像素块进行编码 的代码。
43. 根据权利要求37所述的计算机程序产品,其中用于确定是否应以所述第一编码模 式对所述像素块进行编码的代码包含用于分析与所述至少一个其它编码模式相关联的参考信息的代码;以及 用于在所述参考信息参考在时间上不紧邻所述当前帧定位的帧时确定不应以所 述第一编码模式对所述像素块进行编码的代码。
44. 根据权利要求37所述的计算机程序产品,其中用于确定是否应以所述第一编码模 式对所述像素块进行编码的代码包含用于将与所述第一编码模式相关联的第一亮度及色度残余信息量和与所述至少 一个其它编码模式相关联的第二亮度及色度残余信息量进行比较的代码;以及用于在所述第一亮度及色度残余信息量大于所述第二亮度及色度残余信息量时 确定不应以所述第一编码模式对所述像素块进行编码的代码。
45. 根据权利要求37所述的计算机程序产品,其中用于获得与针对所述像素块的所述至少一个其它分割的所述至少一个其它编码 模式相关联的信息的代码包含用于获得与针对所述像素块的两个其它分割的两个 其它编码模式相关联的信息的代码,其中所述两个其它分割中的一个分割不同于所 述第一分割且所述两个其它分割中的另一分割与所述第一分割相同,以及用于确定是否应以所述第一编码模式对所述像素块进行编码的代码包含用于使用与所述第一及第二其它编码模式相关联的所述信息确定是否应以所述第一编码 模式对所述像素块进行编码的代码。
46. 根据权利要求46所述的计算机程序产品,其中用于确定是否应以所述第一编码模式对所述像素块进行编码的代码包含用于基于与所述两个其它编码模式中的具有与所述第一分割相同的所述分割的所述一者相关联的至少亮度残余信息及色度残余信息而确定是否应以所述第一编码模式对所述像素块进行编码的代码。
47. 根据权利要求46所述的计算机程序产品,其中所述第一编码模式包含跳跃编码模 式及直接编码模式中的一者。
48. 根据权利要求37所述的计算机程序产品,其中用于确定是否应以所述第一编码模 式对所述像素块进行编码的代码包含用于至少基于与所述至少一个其它编码模式 相关联的所述信息而选择所述第一编码模式的代码,且所述指令进一步包含用于以 所述第一编码模式对所述像素块进行编码的代码。
49. 一种用于处理视频数据的无线通信装置手持机,所述手持机包含编码模块,其获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息及与针对所述像素块的至少一个其它分割的至少一个其它编码模式相关联的信 息,至少使用与所述至少一个其它编码模式相关联的所述信息确定是否应以所述第 一编码模式对所述像素块进行编码,且以所述第一编码模式对所述像素块进行编 码,其中所述至少一个其它分割不同于所述第一分割;以及发射器,其用于发射所述经编码的像素块。
50. 根据权利要求49所述的手持机,其中所述至少一个其它分割包含所述第一分割的 若干子分割。
51. 根据权利要求49所述的手持机,其中所述编码模块将与所述第一编码模式相关联 的运动信息和与所述至少一个其它编码模式相关联的运动信息进行比较,且在与所 述第一编码模式相关联的所述运动信息大体上不类似于所述至少一个其它编码模 式的所述运动信息时确定不应以所述第一编码模式对所述像素块进行编码。
52. 根据权利要求51所述的手持机,其中所述编码模块将与所述第一编码模式相关联 的运动向量及多个运动向量的平均值中的一者和与所述至少一个其它编码模式相 关联的运动向量及多个运动向量的平均值中的一者进行比较。
53. 根据权利要求51所述的手持机,其中所述编码模块在与所述第一编码模式相关联的所述运动信息与所述至少一个其它编码模式的所述运动信息之间的差异大于或 等于阈值时确定不应以所述第一编码模式对所述像素块进行编码。
54. 根据权利要求49所述的手持机,其中所述编码模块将与所述至少一个其它编码模 式相关联的多个运动向量中的每一者的方向进行比较,且在与所述至少一个其它编 码模式相关联的所述多个运动向量中的一者或一者以上在不同方向上对准时确定 不应以所述第一编码模式对所述像素块进行编码。
55. 根据权利要求49所述的手持机,其中所述编码模块分析与所述至少一个其它编码 模式相关联的参考信息,且在所述参考信息参考在时间上不紧邻所述当前帧定位的 帧时确定不应以所述第一编码模式对所述像素块进行编码。
56. 根据权利要求49所述的手持机,其中所述编码模块将与所述第一编码模式相关联 的第一亮度及色度残余信息量和与所述至少一个其它编码模式相关联的第二亮度 及色度残余信息量进行比较,且在所述第一亮度及色度残余信息量大于所述第二亮 度及色度残余信息量时确定不应以所述第一编码模式对所述像素块进行编码。
57. 根据权利要求49所述的手持机,其中所述编码模块获得与针对所述像素块的两个 其它分割的两个其它编码模式相关联的信息,且使用与所述第一及第二其它编码模 式相关联的所述信息确定是否应以所述第一编码模式对所述像素块进行编码,其中 所述两个其它分割中的一个分割不同于所述第一分割且所述两个其它分割中的另 一分割与所述第一分割相同。
58. 根据权利要求57所述的手持机,其中所述编码模块基于与所述两个其它编码模式 中的具有与所述第一分割相同的所述分割的所述一者相关联的至少亮度残余信息及色度残余信息而确定是否应以所述第一编码模式对所述像素块进行编码。
59. 根据权利要求57所述的手持机,其中所述编码模块确定是否应以跳跃编码模式及 直接编码模式中的一者对所述像素块进行编码。
60. 根据权利要求49所述的手持机,其中所述编码模块至少基于与所述至少一个其它 编码模式相关联的所述信息而选择所述第一编码模式,且所述手持机进一步包含用 于以所述第一编码模式对所述像素块进行编码的编码器。
全文摘要
本发明描述用于编码模式选择的技术。特定来说,编码装置使用与具有不同块分割的至少一个其它编码模式相关联的信息确定是否以当前正考虑选择的编码模式来对像素块进行编码。在一个方面中,所述编码装置使用与具有为当前正考虑选择的所述编码模式的块分割的子分割的块分割的至少一个编码模式相关联的信息。另外,所述编码装置可使用与具有与当前正考虑选择的所述编码模式相同的块分割的另一编码模式相关联的信息或与当前正考虑选择的所述编码模式相关联的信息。
文档编号H04N7/26GK101563928SQ200780046886
公开日2009年10月21日 申请日期2007年12月22日 优先权日2006年12月22日
发明者维诺德·考希克 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1