首页> 中国专利> 使用其它编码模式的信息的编码模式选择

使用其它编码模式的信息的编码模式选择

摘要

本发明描述用于编码模式选择的技术。特定来说,编码装置使用与具有不同块分割的至少一个其它编码模式相关联的信息确定是否以当前正考虑选择的编码模式来对像素块进行编码。在一个方面中,所述编码装置使用与具有为当前正考虑选择的所述编码模式的块分割的子分割的块分割的至少一个编码模式相关联的信息。另外,所述编码装置可使用与具有与当前正考虑选择的所述编码模式相同的块分割的另一编码模式相关联的信息或与当前正考虑选择的所述编码模式相关联的信息。

著录项

  • 公开/公告号CN101563928A

    专利类型发明专利

  • 公开/公告日2009-10-21

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN200780046886.1

  • 发明设计人 维诺德·考希克;

    申请日2007-12-22

  • 分类号H04N7/26;

  • 代理机构北京律盟知识产权代理有限责任公司;

  • 代理人刘国伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 22:48:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-12-11

    授权

    授权

  • 2009-12-16

    实质审查的生效

    实质审查的生效

  • 2009-10-21

    公开

    公开

说明书

本申请案主张2006年12月22日所申请的标题为“用于混合视频压缩中的跳跃模式检测的方法及设备(Method and Apparatus for Skip Mode Detection in Hybrid VideoCompression)”的美国临时申请案第60/871,660号的优先权,其转让给本受让人,且为了所有目的,其以引用的方式完全并入本文中。

技术领域

本发明涉及多媒体编码,且更特定来说,涉及用于编码模式选择的技术。

背景技术

可将数字视频能力并入较广范围的装置中,包括数字电视、数字直播系统、无线通信装置、个人数字助理(PDA)、膝上型计算机、桌上型计算机、视频游戏控制台、数字相机、数字记录装置、蜂窝式或卫星无线电话等。数字视频装置可在处理及发射视频序列中提供优于常规模拟视频系统的显著改进。

已建立不同视频编码标准用于编码数字视频序列。举例来说,运动图像专家组(MPEG)已开发许多标准,包括MPEG-1、MPEG-2及MPEG-4。其它实例包括国际电信协会(ITU)-T H.263标准以及ITU-T H.264标准与其对应物ISO/IEC MPEG-4第10部分(即,高级视频编码(AVC))。这些视频编码标准通过以压缩方式对数据进行编码而支持视频序列的改进的发射效率。

许多当前技术利用基于块的编码。在基于块的编码中,将多媒体序列的帧划分为离散的像素块,且基于与可能位于同一帧内或不同帧中的其它块的差异而对像素块进行编码。通常称作“宏块”的一些像素块包含像素子块的分组。作为实例,16×16宏块可包含四个8×8子块。可单独地对所述子块进行编码。举例来说,H.264标准允许对具有多种不同大小(例如,16×16、16×8、8×16、8×8、4×4、8×4及4×8)的块进行编码。另外,通过扩展,具有任何大小(例如,2×16、16×2、2×2、4×16及8×2)的子块可包括于宏块内。

发明内容

在本发明的某些方面中,一种用于处理多媒体数据的方法包含:获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息;获得与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,其中所述至少一个其它分割不同于第一分割;及通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码。

在本发明的某些方面中,一种用于处理视频数据的设备包含存储器及控制模块,所述控制模块从存储器获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息及与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,且通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码。所述至少一个其它分割不同于第一分割。

在本发明的某些方面中,一种用于处理视频数据的设备包含:用于获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息的装置;用于获得与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息的装置,其中所述至少一个其它分割不同于第一分割模式;及用于通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码的装置。

在本发明的某些方面中,一种用于处理多媒体数据的计算机程序产品包含具有指令的计算机可读媒体。所述指令包括:用于获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息的代码;用于获得与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息的代码,其中所述至少一个其它分割不同于所述第一分割模式;及用于通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码的代码。

在本发明的某些方面中,一种用于处理视频数据的无线通信装置手持机包含:编码模块,其获得与针对当前帧的像素块的第一分割的第一编码模式相关联的信息及与针对像素块的至少一个其它分割的至少一个其它编码模式相关联的信息,通过至少使用与至少一个其它编码模式相关联的信息来确定是否应以第一编码模式而对像素块进行编码,且以第一编码模式对像素块进行编码,其中所述至少一个其它分割不同于第一分割;及发射器,其用于发射经编码的像素块。

本发明中所描述的技术可以硬件、软件、固件或其任何组合实施。如果以软件实施,则软件可执行于处理器中,其可指一个或一个以上处理器,例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)或其它等效集成或离散逻辑电路。最初可将执行所述技术的软件存储于计算机可读媒体中且由处理器将其加载及执行。因此,本发明还预期包含指令的计算机可读媒体,所述指令用以致使处理器执行如本发明中所描述的多种技术中的任一者。在一些情况下,计算机可读媒体可形成可售卖给制造商且/或用于装置中的计算机程序产品的部分。计算机程序产品可包括计算机可读媒体,且在一些情况中还可包括封装材料。

一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。

附图说明

图1为说明使用根据本文描述的技术的编码模式选择的多媒体编码系统的框图。

图2为说明与图1的编码系统相关联的编码模块的框图。

图3为说明根据本发明的技术而分析用于像素块的编码模式的编码模块的示范性操作的流程图。

图4为说明通过使用与至少一个其它编码模式相关联的信息来进行关于编码模式的确定的编码模块的示范性操作的流程图。

图5为说明根据本发明的技术而执行跳跃模式检测的编码模块的示范性操作的流程图。

具体实施方式

为了提供高压缩效率,编码装置可支持多个编码模式。编码模式中的每一者可对应于不同的编码技术及/或对像素块的分割。举例来说,在国际电信联盟(ITU)-T H.264标准的情况下,存在多个帧间编码模式及帧内编码模式。帧间编码模式包括跳跃(SKIP)模式、直接(DIRECT)模式、16×16模式、16×8模式、8×16模式、8×8模式、8×4模式、4×8模式及4×4模式。帧间编码模式使用参考一个或一个以上其它在时间上定位为先前及/或后续的帧的至少一部分而对像素块进行编码的帧间编码技术。此外,帧间编码技术可对应于像素块的可变大小的分割。跳跃模式对应于16×16分割,但编码装置在跳跃模式中不对任何运动或残余信息进行编码。直接模式对应于16×16分割或8×8分割。

帧内编码模式包括帧内4×4模式(针对其存在九个可能内插方向)及帧内16×16模式(针对其存在四个可能内插方向)。帧内编码模式使用在不参考任何其它时间定位的帧的情况下对像素块进行编码的帧内编码技术。如同帧间编码模式,帧内编码模式对应于像素块的可变大小的分割。

编码装置针对每一像素块分析可用编码模式的至少一部分,且选择编码模式中以最高压缩效率对像素块进行编码的一者。根据本发明的技术,编码装置通过使用与具有不同块分割的至少一个其它编码模式相关联的信息来分析编码模式中的一者或一者以上。换句话说,编码装置可通过使用与具有不同于当前正考虑选择的编码模式的块分割的块分割的至少一个其它编码模式相关联的信息而确定是否通过使用当前正考虑选择的编码模式来对像素块进行编码。编码装置可除使用与至少一个其它编码模式相关联的信息之外另外使用与当前正考虑选择的编码模式相关联的信息。与特定编码模式相关联的信息可为在使用所述特定编码模式对块进行编码的情况下将产生的信息。举例来说,与特定编码模式相关联的信息可包括运动信息、参考信息、残余信息及/或在使用特定编码模式对块进行编码的情况下将产生的其它信息。

举例来说,可使用所述技术来选择编码模式中的一者用于像素块。或者,可使用所述技术来减少编码装置可进行选择的潜在编码模式的数目。举例来说,可使用所述技术来消除可用于对像素块进行编码的编码模式的至少一部分。接着,编码装置可使用其它模式选择技术,例如对剩余潜在编码模式的速率失真(R-D)编码成本进行比较。在任一情况下,本发明的编码模式选择技术可减小执行有效模式选择所需的计算密集型计算量及/或导致较为准确的模式选择。

图1为说明使用根据本文描述的技术的编码模式选择技术的多媒体编码系统10的框图。多媒体编码系统10包括通过网络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第10部分,高级视频编码(AVC))的视频压缩标准来对多媒体序列进行编码。所述编码(且通过扩展、解码)方法可针对于无损耗或有损耗压缩算法以压缩帧的内容用于发射及/或存储。可概括地将压缩视为从多媒体数据移除冗余的过程。

在一些方面中,本发明预期应用于增强型H.264视频编码,以用于使用在2006年8月出版为技术标准TIA-1099的仅前向链路(FLO)空中接口规范“用于陆地移动多媒体多播的仅前向链路空中接口规范(Forward Link Only Air Interface Specification forTerrestrial Mobile Multimedia Multicast)”(“FLO规范”)而在陆地移动多媒体多播(TM3)系统中传递实时多媒体服务。然而,本发明中描述的编码模式选择技术不限于任何特定类型的广播、多播、单播或点对点系统。

H.264/MPEG-4(AVC)标准由ITU-T视频编码专家组(VCEG)与ISO/IEC移动图片专家组(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-4AVC的可缩放视频编码(SVC)扩展。演进SVC扩展的规范采取联合草案(JD)的形式。由JVT产生的联合可缩放视频模型(JSVM)实施工具以用于可缩放视频中,其可在多媒体编码系统10内使用以进行本发明中所描述的各种编码任务。关于精细粒度SNR可缩放性(FGS)编码的详细信息可在联合草案文献中找到,例如在联合草案6(SVC JD6),日内瓦(Geneva),2006年4月,JVT-S 201,托马斯韦根(Thomas Wiegand)、加里苏利文(Gary Sullivan)、朱利安瑞秋(JulienReichel)、海克舒华斯(Heiko Schwarz)及马提亚斯维恩(Mathias Wien)的“联合草案6:可缩放视频编码(Joint Draft 6:Scalable Video Coding)”及联合草案9(SVC JD9),摩洛哥(Morocco),马拉喀什(Marrakech),2007年1月,JVT-V 201,托马斯韦根(ThomasWiegand)、加里苏利文(Gary Sullivan)、朱利安瑞秋(Julien Reichel)、海克舒华斯(HeikoSchwarz)及马提亚斯维恩(Mathias Wien)的“SVC修正的联合草案9(Joint Draft 9ofSVC Amendment)”中找到。

如图1中所说明,编码装置12包括编码模块20及发射器22。编码模块20通过使用一种或一种以上编码技术来对从源18接收的序列的帧中的每一者进行编码。举例来说,编码模块20可通过使用帧内编码技术来对帧中的一者或一者以上进行编码。通过使用帧内编码技术而编码的帧(经常称为帧内(“I”)帧)在不参考其它帧的情况下经编码。然而,使用帧内编码的帧可使用空间预测以利用位于同一帧中的其它多媒体数据中的冗余。

编码模块20还可通过使用帧间编码技术来对帧中的一者或一者以上进行编码。使用帧间编码技术而编码的帧通过参考一个或一个以上其它帧(在本文中被称为参考帧)的至少一部分而经编码。帧间编码的帧可包括一个或一个以上预测(“P”)帧、双向(“B”)帧或其组合。参考至少一个在时间上在先的帧而对P帧进行编码,而参考至少一个在时间上为未来的帧及至少一个在时间上在先的帧来对B帧进行编码。在时间上在先及/或在时间上为未来的帧被称为参考帧。以此方式,帧间编码利用跨越时间帧的多媒体数据中的冗余。

编码模块20可进一步经配置以通过将帧分割为多个像素子集且单独地对像素子集中的每一者进行编码而对序列的帧进行编码。可将这些像素子集称为块或宏块。编码模块20可进一步将每一块子分割为两个或两个以上子块。作为实例,16×16块可包含四个8×8子块或其它子分割块。举例来说,H.264标准允许对具有多种不同大小(例如,16×16、16×8、8×16、8×8、8×4、4×8及4×4)的块进行编码。另外,通过扩展,可使块的子分割为任何大小(例如,2×16、16×2、2×2、4×16、8×2等)的子块。具有大于或小于十六行或列的块也为可能的。如本文中所使用,术语“块”可指任何大小的块或子块。

编码模块20可支持多个编码模式。如上文所描述,编码模式中的每一者可对应于不同编码技术及/或像素块的分割。举例来说,在H.264标准的情况下,编码模块20支持许多帧间模式(例如,跳跃模式、直接模式、16×16模式、16×8模式、8×16模式、8×8模式、8×4模式、4×8模式及4×4模式)及许多帧内模式(即,帧内4×4模式及帧内16×16模式)。编码模块20针对每一像素块分析可用编码模式的至少一部分且选择以最高压缩效率对像素块进行编码的编码模式。

在确定是否以当前正考虑选择的编码模式来对像素块进行编码时,编码模块20可使用与具有不同于当前正考虑选择的编码模式的块分割的块分割的至少一个其它编码模式相关联的信息。编码模块20除使用与其它编码模式相关联的信息之外,还可使用与当前正考虑选择的编码模式相关联的信息以及与具有相同块分割的编码模式相关联的信息来进行确定。在一个方面中,编码模块20使用与具有为当前正考虑选择的编码模式的块分割的子分割或像素块的分割的块分割的编码模式相关联的信息。换句话说,当前正考虑选择的编码模式具有第一块分割。信息被用以进行确定是否以当前正考虑选择的编码模式来对像素块进行编码的其它编码模式具有第二块分割。第二块分割包括对第一块分割的子分割。举例来说,编码模块20可使用与帧间8×8编码模式相关联的信息来进行关于帧间16×16编码模式的确定,或使用帧间4×8编码模式来进行关于帧间8×8编码模式的确定。

如上文所描述,与特定编码模式相关联的信息可为在使用所述特定编码模式对块进行编码的情况下将产生的信息。举例来说,与特定编码模式相关联的信息可包括运动信息、参考信息、残余信息及/或在使用特定编码模式对块进行编码的情况下将产生的其它信息。

可使用所述技术来选择编码模式中的一者。举例来说,本发明的技术可能(例如)对于执行跳跃模式检测尤其有用。然而,一般来说,所述技术在选择例如直接模式、帧间正方形模式(例如,16×16、8×8或4×4)、帧间矩形模式(例如16×8、8×16、8×4或4×8)的其它编码模式时及对于快速模式决策也可为有用的。或者,所述技术可用以减少编码装置可进行选择的潜在编码模式的数目。举例来说,可使用所述技术来消除可用于对像素块进行编码的编码模式的至少一部分。在任一情况下,模式选择技术可通过不仅分析与当前正考虑选择的模式相关联的信息而且还分析与另一编码模式相关联的信息而导致较为准确的模式选择。另外,本发明的模式选择技术可减少执行有效模式选择所需的计算密集型计算量。举例来说,在一些情况下,控制模块32可能无需计算与当前正被分析的编码模式相关联的信息,因此减少选择编码模式所需的计算密集型计算数目。在其它情况下,所述技术可通过使用无需变换、量化及熵编码的信息而执行模式选择来减少昂贵计算的数目。

编码装置12应用选定编码模式来对帧的块进行编码,且经由发射器22而在网络16上发射经编码帧。发射器22可包括适当调制解调器及驱动器电路软件及/或固件以在网络16上发射经编码多媒体。在某些方面中,编码装置12可对在一时间周期内接收的帧进行编码、组合及发射。举例来说,在一些多媒体编码系统中,将多媒体数据的多个帧一起聚集为多媒体数据片段(有时称为“超帧”)。如本文中所使用,术语“超帧”指在一时间周期或窗口中收集以形成数据片段的帧的群组。在利用FLO技术的编码系统中,超帧可包含一秒数据片段,其可标称地具有30个帧。然而,超帧可包括任何数目的帧。还可利用所述技术来对其它数据片段进行编码、组合及发射,例如针对在不同时间周期(可能为或可能不为固定时间周期)中接收的数据片段或对于数据的个别帧或帧的集合。换句话说,可界定超帧以覆盖比一秒的时间周期大或小的时间间隔,或甚至为可变的时间间隔。注意,贯穿本发明,多媒体数据的特定片段(例如,类似于超帧的概念)指具有特定大小及/或持续时间的多媒体数据的任何程序块(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)系统、高数据速率(1xEV-DO或1xEV-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通过使用与具有不同于当前正考虑选择的编码模式的块分割的其它编码模式中的至少一者相关联的信息而确定是否以当前正考虑选择的编码模式来对像素块进行编码。在一个方面中,控制模块32使用与具有为当前正考虑选择的编码模式的块分割的子分割的块分割的编码模式相关联的信息。控制模块32可另外使用与当前正考虑选择的编码模式相关联的信息以及与具有与当前正考虑选择的编码模式相同的块分割的另一编码模式相关联的信息。

作为一个实例,控制模块32可使用与帧间8×8编码模式相关联的信息来确定是否以帧间16×16编码模式对像素块进行编码。更明确地说,可通过运动估计模块36及运动补偿预测模块38来计算与帧间16×16编码模式及帧间8×8编码模式相关联的信息。举例来说,运动估计模块36及运动补偿预测模块38可计算在使用所述特定编码模式而对块进行编码的情况下将产生的信息。此信息可包括一个或一个以上运动向量、参考帧索引、残余信息等。如上文所描述,可在较早时间计算与帧间8×8编码模式、16×16编码模式或两者相关联的信息且将其存储于存储器39内。或者,可在需要时(例如,在对帧间16×16编码模式的分析期间)计算与帧间16×16及帧间8×8编码模式中的一者或两者相关联的信息。

控制模块32可(例如)分析至少一个其它编码模式的运动信息、参考信息、残余信息及/或其它信息来确定是否以当前正考虑选择的编码模式来对像素块进行编码。控制模块32可将与帧间16×16编码模式相关联的信息的至少一部分和与帧间8×8编码模式相关联的信息的相应部分进行比较来确定是否使用帧间16×16编码模式而对像素块进行编码。在一个方面中,控制模块32可将针对帧间16×16编码模式而计算的运动向量的量值与针对帧间8×8编码模式而计算的四个运动向量的平均值的量值进行比较。当16×16运动向量的量值与四个8×8运动向量的平均值的量值大体上不相同时(例如,量值之间的差异大于或等于阈值),控制模块32可确定帧间16×16编码模式将不导致最高压缩效率。换句话说,控制模块32在16×16运动向量的量值与四个8×8运动向量的平均值的量值大体上不相同时确定不使用帧间16×16编码模式来对像素块进行编码。如下文将较详细描述的,控制模块32还可将帧间8×8与帧间16×16编码模式的运动向量的方向进行比较。

另外,控制模块32可分析与帧间8×8编码模式相关联的其它信息,以确定是否使用帧间16×16编码模式对块进行编码。控制模块32可(例如)确定针对8×8子块中的每一者的参考信息是否参考在时间上定位为紧邻当前帧的帧。在与帧间8×8编码模式的子块中的任一者相关联的参考信息参考不在时间上定位为紧邻当前帧的帧时,控制模块32可确定帧间16×16编码模式将不导致最高压缩效率。在此情况下,控制模块不选择16×16编码模式用于对考虑中的特定块进行编码。

通过使用与一个或一个以上其它编码模式相关联的信息来确定是否使用当前正考虑选择的编码模式对块进行编码允许控制模块32较为准确地选择编码模式。并非仅使用与当前正考虑选择的编码模式相关联的信息而选择编码模式,对模式的选择可至少部分基于与其它模式相关联的指示考虑中的模式的可能性能的信息。另外,控制模块32可通过使用减少量的计算密集型计算来进行选择。举例来说,在一些情况下,控制模块32可无需计算与当前正分析的编码模块相关联的信息,因此减少选择编码模式所需的计算密集型计算数目。以此方式,通过依赖于其它模式的信息,可在无原本为必要的密集型计算中的至少一些的情况下分析考虑中的模式以进行选择。

虽然在上文描述的实例中,控制模块32在确定是否以当前正考虑选择的编码模式对块进行编码时使用与具有不同块分割的一个其它编码模式相关联的信息,但控制模块32可使用与具有不同块分割的一个以上其它编码模式相关联的信息。举例来说,控制模块32除使用与8×8编码模式相关联的信息以外还可使用与帧间4×4编码模式或其它帧间编码模式相关联的信息,以确定是否使用帧间16×16编码模式对块进行编码。具有不同块分割的编码模式可更有可能产生与对当前处于考虑中的模式的选择相关的信息。

如上文所描述,本发明的技术在较为准确地执行跳跃模式检测时可尤为有用。举例来说,控制模块32在确定是否应用跳跃模式时可使用与具有不同于跳跃编码模式的块分割的块分割的另一编码模式相关联的信息。在跳跃模式中,分割块大小为16×16,其为与帧间16×16编码模式相同的分割块大小。在一些方面中,控制模块32可通过使用与跳跃模式、帧间16×16编码模式及帧间8×8编码模式相关联的信息而较为准确地确定是否以跳跃模式对块进行编码。换句话说,在此跳跃模式检测实例中,控制模块32使用与具有与跳跃模式相同的块分割的一个其它编码模式(即,帧间16×16编码模式)相关联的信息以及与具有不同块分割的一个其它编码模式(即,帧间8×8编码模式)相关联的信息。

控制模块32可使用与具有与跳跃模式相同的块分割的其它编码模式(即,帧间16×16编码模式)相关联的信息,以进行关于跳跃模式的初始确定。接着,控制模块32可使用具有不同块分割的其它编码模式(即,8×8编码信息)来确定初始确定的准确性。为了进行关于跳跃模式的初始确定,控制模块32分析与跳跃模式相关联的信息以及与帧间16×16编码模式相关联的信息。控制模块32可将跳跃模式的运动向量与帧间16×16编码模式的运动向量进行比较,以确定跳跃运动向量与16×16运动向量是否大体上相同。控制模块32可将运动向量的量值及/或方向进行比较。控制模块32在执行跳跃模式检测时还可分析与帧间16×16编码模式相关联的参考帧信息(例如,参考帧索引)以及与帧间16×16编码模式相关联的残余信息。举例来说,控制模块32可在(a)跳跃模式与帧间16×16编码模式的运动向量大体上相同,(b)帧间16×16编码模式的参考帧在时间上紧邻当前帧定位,且(c)无残余数据以帧间16×16编码模式编码时,初始确定跳跃模式为最有效的模式。

接着,控制模块32使用与帧间8×8编码模式相关联的信息来更准确地确定是否使用跳跃模式来对块进行编码。控制模块32可(例如)采用与上文关于帧间16×16编码模式决策实例所描述的相同方式来分析与帧间8×8编码模式相关联的信息。特定来说,控制模块32可将与跳跃模式相关联的运动向量的量值和与帧间8×8编码模式相关联的四个运动向量的平均值的量值进行比较。控制模块32可另外确定8×8子块中的每一者的运动向量是否大体上在与跳跃模式的运动向量相同的方向上对准。控制模块32还可确定针对8×8子块中的每一者的参考信息是否参考在时间上紧邻当前帧定位的帧。控制模块32可在(a)运动向量具有大体上相似的量值,(b)8×8子块中的每一者的运动向量在与跳跃模式运动向量相同的方向上对准,且(c)针对8×8子块中的每一者的参考信息参考在时间上紧邻当前帧定位的帧时,确定应以跳跃编码模式对块进行编码,控制模块32可确定初始跳跃编码模式确定为准确确定。换句话说,跳跃编码模式将导致最高压缩效率。在此基础上,控制模块32可选择跳跃模式来对考虑中的块进行编码。否则,控制模块32确定跳跃编码模式将不导致最高压缩效率,且分析一个或一个以上其它编码模式。在控制模块32为帧或片断中的各个块选择编码模式时,可针对不同块选择不同模式。

如上文所描述,控制模块32可通过使用上文描述的技术来为当前块选择块模式。或者,可使用本发明的技术来减少潜在编码模式的数目。举例来说,可使用上文描述的技术来确定跳跃模式及帧间16×16并非最为有效的编码模式。接着,控制模块32可使用其它模式选择技术来从编码模式的缩减集选择用于当前块的模式。控制模块32可(例如)计算或估计编码模式的缩减子集的编码成本,且选择具有最低编码成本的编码模式。编码模块20可将编码成本计算或估计为速率及失真的函数,例如,根据方程式:

J=D+λmode·R,    (1)

其中J为所估计的编码成本,D为块的失真量度,λmode为相应模式的拉格朗日(Lagrange)乘数,且R为块的速率量度。失真量度(D)可(例如)包含绝对差的和(SAD)、平方差的和(SSD)、绝对变换差的和(SATD)、平方变换差的和(SSTD)等。速率量度(R)可(例如)为与对给定块中的数据进行编码相关联的编码位的数目。速率量度R规定可经分配以对数据进行编码的位的数目。为了计算D及R,编码模块20针对所分析的每一模式执行运动估计,计算残余信息,针对所述特定模式而变换并量化残余信息,且对残余信息以及任何其它信息(例如,运动向量)进行编码以计算速率R。此外,编码模块20可对数据进行反量化及逆变换,且将原始块与经解码的块进行比较来获得失真量度D。

在选择编码模式之后,编码模块20使用选定编码模式来对数据块进行编码。如图2所说明,编码模块20包括变换模块40、量化模块46及熵编码器48。变换模块40根据变换函数而变换块的信息的至少一部分。举例来说,变换模块40可对残余信息应用例如4×4或8×8整数变换的整数变换或离散余弦变换(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可使用与帧间8×8编码模式相关联的信息来确定是否以帧间16×16编码模式对像素块进行编码。举例来说,控制模块32可将帧间8×8的运动向量的方向性来确定其是否大体上对准。如果运动向量未大体上对准,则控制模块确定不选择帧间16×16编码模式来用于对考虑中的特定块进行编码。作为另一实例,控制模块32可确定8×8子块中的每一者的参考信息是否参考在时间上定位为紧邻当前帧的帧。在与帧间8×8编码模式的子块中的任一者相关联的参考信息均参考不在时间上定位为紧邻当前帧的帧时,控制模块32可确定不选择16×16编码模式来用于对考虑中的特定块进行编码。因此,控制模块32可在不计算与当前正考虑选择的编码模式相关联的信息的情况下进行确定。

然而,控制模块32可使用与一个以上其它编码模式相关联的信息。举例来说,控制模块32除了与8×8编码模式相关联的信息外可使用与帧间4×4编码模式或其它帧间编码模式相关联的信息,以分析16×16帧间编码模式。在一些情况下,如果其它编码模式为具有是当前正考虑选择的编码模式的块分割的子分割的块分割的编码模式则可为有利的。

此外,控制模块32除了与至少一个其它编码模式相关联的信息以外还可使用与当前正考虑选择的编码模式相关联的信息。举例来说,控制模块32可将当前正考虑选择的编码模式与至少一个其它编码模式的运动信息(例如量值及/或方向)进行比较来进行确定。

控制模块32确定是否选择当前正分析的编码模式(56)。在一些情况下,控制模块32可能不选择编码模式,而是替代地使用上文描述的技术来减少针对其计算速率失真编码成本的潜在编码模式的数目。当未选择当前正分析的编码模式时,编码模块20分析并选择其它编码模式中的一者。编码模块20可使用本发明的技术以及较多传统技术来分析其它编码模式,例如计算与其它编码模式相关联的编码成本(58)。

在选择编码模式之后,编码模块20使用选定编码模式来对数据块进行编码(59)。使用与一个或一个以上其它编码模式相关联的信息来进行关于正分析的当前编码模式的确定允许控制模块32较为准确地选择编码模式。此外,控制模块32可通过使用减少数目的计算密集型计算来进行模式选择。换句话说,控制模块32可通过减少数目的变换、量化、熵编码或者计算或估计与模式中的每一者相关联的编码成本所需的其它计算密集型计算来进行确定。

图4为说明例如图1及图2的编码模块20的编码模块的示范性操作的流程图,所述编码模块通过使用与至少一个其它编码模式相关联的信息来进行关于编码模式的确定。编码模块20通过使用与具有不同于当前正分析的编码模式的块分割的至少一个其它编码模式相关联的信息而进行关于当前正分析的编码模式的确定。在一个方面中,控制模块32使用与具有为当前正分析的编码模式的块分割的子分割的块分割的编码模式相关联的信息。出于示范性目的,将使用帧间16×16编码模式作为当前正分析的编码模式且使用帧间8×8编码模式作为第一其它编码模式而描述图4的流程图。然而,可使用所述技术来执行使用其它类型的编码模式的编码模式选择。

编码模块20获得与当前正考虑选择的编码模式相关联的信息及与第一其它编码模式相关联的信息(60)。此信息可包括许多运动向量、参考帧索引等。编码模块20可在需要时(例如,在对当前编码模式的分析期间)计算与当前正考虑选择的编码模式相关联的信息及/或与第一其它编码模式相关联的信息。举例来说,如果控制模块32通过使用与其它编码模式相关联的信息确定不应以当前正考虑选择的模式对块进行编码,则编码模块20可无需计算与当前正考虑选择的编码模式相关联的信息。或者,编码模块20可从存储器39检索与当前正考虑选择的编码模式相关联的信息及/或与第一其它编码模式相关联的信息。在此情况下,可能已对信息进行预计算以用于在编码模式选择的分析中稍后的考虑。

控制模块32确定对于8×8子块中的每一者的参考信息是否参考在时间上定位为紧邻当前帧的帧(62)。在P块的情况下,参考帧在时间上定位为紧在当前帧之前。当控制模块32确定与帧间8×8编码模式的所有子块相关联的参考信息参考在时间上定位为紧邻当前帧的帧时,控制模块32可分析运动向量的方向性来确定8×8子块的运动向量是否大体上对准(64)。控制模块32可(例如)确定在X及Y方向上的运动向量是否相同或处于预定阈值容差限制内。在另一实例中,控制模块32可将运动向量的量化版本进行比较。在任一情况下,控制模块32将8×8子块的运动向量彼此比较。或者,控制模块32可将8×8子块的运动向量中的每一者的方向与16×16块的运动向量的方向进行比较。

当8×8子块中的任一者的运动向量大体上对准时,控制模块32可分析与8×8编码模式及16×16编码模式相关联的残余信息,以确定16×16编码模式是否具有比8×8编码模式多的残余信息(66)。当16×16编码模式具有较多残余信息时,控制模块32确定16×16编码模式不导致最高压缩效率。在一个方面中,控制模块32可分析与块的像素的亮度分量及色度分量相关联的残余信息。控制模块32可将关于亮度分量及色度分量的CBP成本进行比较,以确定帧间16×16编码模式是否具有比8×8编码模式多的残余信息。在一些方面中,当亮度或色度分量具有较多残余信息时,16×16编码模式可被认为具有比8×8编码模式多的残余信息。然而,在其它方面中,仅当亮度及色度分量均具有较多残余信息时,16×16编码模式方可被认为具有比8×8编码模式多的残余信息。

当16×16编码模式不具有比8×8编码模式多的残余信息时,控制模块32可将与帧间16×16编码模式相关联的运动信息和与帧间8×8编码模式相关联的运动信息进行比较,以确定与每一者相关联的运动向量是否大体上相同(67)。举例来说,控制模块32可将帧间16×16编码模式的运动向量的量值和与帧间8×8编码模式相关联的四个运动向量的量值的平均值进行比较。为了比较运动向量,控制模块可计算帧间16×16编码模式的运动向量的量值和与帧间8×8编码模式相关联的四个运动向量的量值的平均值之间的差异,且在差异小于阈值差异时确定运动向量大体上相同。在一个实例中,阈值差异可为一个整数像元(pel)(例如,整数像素)。然而,可视运动估计算法的准确性及关于输入信号的预期噪声(例如,针对高度压缩的输入信号)而使用其它差异阈值。

当16×16运动向量与四个8×8运动向量的平均值的量值不大体上相同时,当与帧间8×8编码模式的子块中的任一者相关联的参考信息参考不在时间上定位为紧邻当前帧的帧时,或当8×8子块中的任一者的运动向量不大体上对准时,控制模块32确定帧间16×16编码模式将不导致最高压缩效率(68)。换句话说,控制模块32确定不以帧间16×16编码模式来对像素块进行编码。当在计算与帧间16×16编码模式相关联的信息之前进行此确定时,所述技术可减少产生与帧间16×16编码模式相关联的信息需要执行的计算昂贵的计算的数目。

在已满足上文描述的条件中的所有条件时,控制模块32确定是否分析与较多编码模式相关联的信息(70)。控制模块32可使用与较多其它编码模式相关联的信息来提高确定的准确性。举例来说,控制模块32除了与8×8编码模式相关联的信息以外可使用与帧间4×4编码模式或其它帧间编码模式相关联的信息来分析16×16帧间编码模式。在一些情况下,如果其它编码模式为使用当前正分析的编码模式的子块的编码模式则可为有利的。然而,具有像素块的不同分割的任何编码模式在进行关于当前正分析的编码模式的确定中可均为有用的。

当控制模块32确定应分析与其它编码模式相关联的信息时,控制模块32以与上文关于与8×8编码模式相关联的信息而描述的方式相同的方式来使用其它编码模式的信息(72)。当控制模块32确定不分析与额外其它编码模式相关联的信息时,控制模块32选择当前正考虑的编码模式用于像素块或将当前编码模式分类为剩余潜在编码模式中的一者(74)。控制模块32可针对许多其它编码模式执行此操作来产生剩余潜在编码模式的缩减集。换句话说,控制模块32可基于此分析确定将不选择哪些编码模式,且接着执行其它编码模式选择技术来从编码模式的缩减集进行选择。

图5为说明例如图1及图2的编码模块20的编码模块的示范性操作的流程图,所述编码模块根据本发明的技术而执行跳跃模式检测。控制模块32获得与跳跃编码模式相关联的信息以及与具有相同块分割的第一其它编码模式相关联的信息(80)。编码模块20可在需要时(例如,在对当前编码模式的分析期间)计算与当前正分析的编码模式相关联的信息及/或与第一其它编码模式相关联的信息。或者,编码模块20可从存储器39检索与当前正分析的编码模式相关联的信息及/或与第一其它编码模式相关联的信息。如上文所描述,跳跃模式具有16×16的块分割大小,其与帧间16×16编码模式的块分割大小相同。因此,控制模块32获得与跳跃编码模式及具有与跳跃模式相同的块分割的一个其它编码模式相关联的信息。

为了进行关于跳跃模式的初始确定,控制模块32将跳跃模式的运动向量与帧间16×16编码模式的运动向量进行比较来确定跳跃运动向量与16×16运动向量是否大体上相同(82)。举例来说,可基于同一帧内或一个或一个以上参考帧中的周围块的运动向量而预测跳跃模式的运动向量。控制模块32可将与跳跃模式相关联的运动向量的量值及/或方向和与帧间16×16编码模式相关联的运动向量的量值及/或方向进行比较。

当与跳跃模式相关联的运动向量和与帧间16×16编码模式相关联的运动向量大体上相同时,控制模块32分析与帧间16×16编码相关联的参考信息(例如,参考帧索引)来确定参考信息是否参考在时间上定位为紧邻当前帧的帧(84)。

当参考信息参考在时间上定位为紧邻当前帧的帧时,控制模块32分析残余信息来确定是否存在与帧间16×16编码模式相关联的任何残余信息(86)。在一个方面中,控制模块32可分析与块的像素的亮度分量及色度分量相关联的残余信息。控制模块32可(例如)计算亮度及色度分量的CBP成本以确定是否存在与帧间16×16编码模式相关联的任何残余信息。可通过使用变换、量化及后量化定阈值而计算亮度及色度的CBP成本(或值)。如果不存在残余信息(例如,亮度及色度分量的CBP成本均为零),则控制模块32最初确定跳跃编码模式为可能编码模式。

如果未满足以上条件中的一者,即,如果存在残余信息,参考信息参考在时间上不紧邻当前帧定位的帧,或者帧间16×16编码模式的运动向量大体上不类似,则控制模块32确定跳跃模式并非为最有效的模式。以此方式,控制模块32可使用与具有与跳跃模式相同的块分割的其它编码模式(即,帧间16×16编码模式)相关联的信息来进行关于跳跃模式的初始确定。

控制模块32可获得与其它编码模式中的第二者相关联的信息以用于确定初始确定的准确性(88)。其它编码模式中的第二者具有与跳跃模式不同的块分割。出于示范性目的,其它编码模式中的第二者将为帧间8×8编码模式。然而,所述技术可与具有不同块分割的任何其它编码模式一起使用。

控制模块32以与上文关于图4所描述的相同方式分析与帧间8×8编码模式相关联的信息。特定来说,控制模块32将与跳跃编码模式相关联的运动信息和与帧间8×8编码模式相关联的运动信息进行比较,以确定与每一者相关联的运动信息是否大体上相同(90)。控制模块32还分析运动向量的方向性以确定8×8子块的运动向量是否对准(92)。另外,控制模块32可确定针对8×8子块中的每一者的参考信息是否参考在时间上紧邻当前帧定位的帧(94)。在已满足上文描述的条件中的所有条件时,控制模块32选择跳跃编码模式或将跳跃编码模式分类为剩余的潜在编码模式中的一者(96)。

当与帧间8×8编码模式的子块中的任一者相关联的参考信息参考在时间上不紧邻当前帧定位的帧时,当8×8子块中的任一者的运动向量未大体上对准时,或当运动向量大体上不相同时,控制模块32确定帧间16×16编码模式将不导致最高压缩效率(98)。以此方式,控制模块32使用与8×8编码模式或其它帧间编码模式相关联的信息,以充当准确性检查来评估是否将选择较精细模式(例如,帧间8×8模式)。举例来说,此可为块处于两个物体的边缘处(例如,运动向量未对准或平均运动向量与帧间16×16运动向量大体上不相同)时的情况。虽然在此实例中使用帧间8×8编码模式来进行准确性检查,但可使用其它编码模式及/或量度来执行准确性检查。举例来说,与来自当前及参考帧的因果及非因果(以光栅扫描次序)宏块相关联的信息。作为另一实例,如果当前帧中的大多数相邻块(例如,在5×5区域中)被分类为跳跃块,则控制模块32可偏重于/偏向于选择跳跃模式。

基于本文描述的教示,将显而易见本文揭示的方面可独立于任何其它方面而实施,且这些方面中的两个或两个以上方面可以各种方式而组合。所述技术可实施于多种装置中的任一者中,例如通用计算机、无线通信装置手持机或集成电路装置,其具有包括在无线通信装置手持机及其它装置中的应用的多种用途。本文中所描述的技术可以硬件、软件、固件或其任何组合实施。如果以硬件实施,则所述技术可通过使用数字硬件、模拟硬件或其组合而实现。如果以软件实施,则所述技术可至少部分通过包括上面存储有一个或一个以上指令或代码的计算机可读媒体的计算机程序产品来实现。可由计算机(例如由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、ASIC、FPGA或其它等效集成或离散逻辑电路的一个或一个以上处理器)来执行与计算机程序产品的计算机可读媒体相关联的指令或代码。

以实例且非限制的方式,所述计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的RAM、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、ROM、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、快闪存储器、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用来以指令或数据结构的形式载送或存储所要程序代码且可由计算机存取的任何其它有形媒体。

已描述许多方面及实例。然而,对于这些实例的各种修改为可能的,且本文提出的原理同样可应用于其它方面。这些及其它方面均处于所附权利要求书的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号