基于对应变换系数值的历史的精细化系数译码转让专利

申请号 : CN200780037940.6

文献号 : CN101669368B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马尔塔·卡切维奇

申请人 : 高通股份有限公司

摘要 :

本发明描述用于对可缩放视频译码(SVC)方案中的增强层的精细化系数进行译码的技术。根据本发明,一种方法可包含:评估与所述SVC方案的一个或一个以上先前层相关联的变换系数值的历史;以及基于所述历史来估计与所述SVC方案的当前层相关联的一个或一个以上精细化系数值。在编码侧,译码过程可包括从位流中排除一个或一个以上精细化系数值的信息,且用信号通知解码器从所述位流排除了所述信息。在解码侧,译码过程包括解析所述位流以识别用信号通知所述解码器从所述位流排除了信息的信息,且基于与所述SVC方案的一个或一个以上先前层相关联的所述历史来产生此信息。

权利要求 :

1.一种对可缩放视频译码SVC方案中的增强层的精细化系数进行译码的方法,所述方法包含:评估与所述SVC方案的一个或多个先前层相关联的变换系数值的历史;

基于所述历史来估计与所述SVC方案的当前层相关联的一个或多个精细化系数值中的每一个;

将所述增强层的所述精细化系数的第一子集界定为类型0精细化系数,所述类型0精细化系数中的每一个具有估计的零值;以及将所述增强层的所述精细化系数的第二子集界定为类型1精细化系数,所述第二子集包括没有包括在所述第一子集中的所述精细化系数,其中指示所述类型0精细化系数的所述值的信息从经编码的位流被排除,而指示所述类型1精细化系数的所述值的信息被包括在所述经编码的位流中,并且其中基于与所述SVC方案的所述一个或多个先前层相关联的所述变换系数值的所述历史来导出指示所述类型0精细化系数的所述值的所述信息,其中所述精细化系数是指所述SVC方案中的先前层的对应系数具有非零值的增强层的变换系数。

2.根据权利要求1所述的方法,其中译码包含编码,所述方法进一步包含从所述经编码的位流中排除指示所述类型0精细化系数的所述值的所述信息。

3.根据权利要求2所述的方法,其进一步包含用信号通知解码器如通过评估所述历史而确定的从所述经编码的位流中排除了指示所述类型0精细化系数的所述值的所述信息。

4.根据权利要求1所述的方法,其中译码包含对所述经编码的位流进行解码,所述方法进一步包含产生所述估计的类型0精细化系数值。

5.根据权利要求4所述的方法,其进一步包含接收指示如通过评估所述历史而确定的从所述经编码的位流中排除了指示所述类型0精细化系数的所述值的所述信息的信号。

6.根据权利要求1所述的方法,其中对所述增强层的所述精细化系数进行译码包含对所述SVC方案的第n层的精细化系数进行译码,其中评估所述历史包含确定与所述SVC方案的第n-1层相关联的精细化系数值是否具有非零值,且其中估计与所述当前层相关联的一个或多个精细化系数值包含将零值指派给与具有非零值的所述第n-1层系数相对应的所述第n层的系数。

7.根据权利要求1所述的方法,

其中评估所述历史包含为所述当前层的精细化系数指派索引值,所述索引值取决于与所述SVC方案的所述一个或多个先前层相关联的对应变换系数值;且其中估计与所述SVC方案的所述当前层相关联的所述一个或多个精细化系数值包含:将零值指派给所述当前层的具有对应于一个或多个预定索引值的索引值的精细化系数。

8.根据权利要求1所述的方法,其中译码包含编码,所述方法进一步包含:将所述类型1精细化系数的信息包括在所述经编码的位流中;以及在所述经编码的位流中排除所述类型0精细化系数的信息。

9.根据权利要求1所述的方法,其中译码包含解码,所述方法进一步包含:对来自所述经编码的位流的所述类型1精细化系数的信息进行解码;以及产生所述类型0精细化系数的信息。

10.一种对可缩放视频译码SVC方案中的增强层的精细化系数进行译码的装置,所述装置包含:历史模块,其评估与所述SVC方案的一个或多个先前层相关联的变换系数值的历史;

以及

译码模块,其基于所述历史来估计与所述SVC方案的当前层相关联的一个或多个精细化系数值中的每一个,其中所述增强层的所述精细化系数的第一子集被界定为类型0精细化系数,所述类型

0精细化系数中的每一个具有估计的零值,并且所述增强层的所述精细化系数的第二子集被界定为类型1精细化系数,所述第二子集包括没有包括在所述第一子集中的所述精细化系数,其中指示所述类型0精细化系数的所述值的信息从经编码的位流被排除,而指示所述类型1精细化系数的所述值的信息被包括在所述经编码的位流中,并且其中基于与所述SVC方案的所述一个或多个先前层相关联的所述变换系数值的所述历史来导出指示所述类型0精细化系数的所述值的所述信息,其中所述精细化系数是指所述SVC方案中的先前层的对应系数具有非零值的增强层的变换系数。

11.根据权利要求10所述的装置,其中所述译码模块包含编码模块,其中所述编码模块从所述经编码的位流中排除指示所述类型0精细化系数的所述值的信息。

12.根据权利要求11所述的装置,其中所述译码模块产生指示如通过评估所述历史而确定的从所述经编码的位流排除了指示所述类型0精细化系数的所述值的所述信息的信号。

13.根据权利要求10所述的装置,其中所述译码模块包含对所述经编码的位流进行解码的解码模块,且其中所述解码模块产生所述估计的类型0精细化系数值。

14.根据权利要求13所述的装置,其中所述译码模块接收指示如通过评估所述历史而确定的从所述经编码的位流排除了指示所述类型0精细化系数的所述值的所述信息的信号。

15.根据权利要求10所述的装置,其中所述译码模块对所述SVC方案的第n层的精细化系数进行译码,其中所述历史模块确定与所述SVC方案的第n-1层相关联的精细化系数值是否具有非零值,且其中所述译码模块将零值指派给与具有非零值的所述第n-1层系数相对应的所述第n层的系数。

16.根据权利要求10所述的装置,

其中所述历史模块为所述当前层的精细化系数指派索引值,所述索引值取决于与所述SVC方案的所述一个或多个先前层相关联的对应变换系数值;且其中所述译码模块将零值指派给所述当前层的具有对应于一个或多个预定索引值的索引值的精细化系数。

17.根据权利要求10所述的装置,其中所述译码模块包含编码模块,其中:所述编码模块将所述类型1精细化系数的信息包括在所述经编码的位流中,且在所述经编码的位流中排除所述类型0精细化系数的信息。

18.根据权利要求10所述的装置,其中所述译码模块包含解码模块,其中:所述解码模块对来自所述经编码的位流的所述类型1精细化系数的信息进行解码,且产生所述类型0精细化系数的信息。

19.根据权利要求10所述的装置,其中所述装置包含无线通信装置。

20.一种对可缩放视频译码SVC方案中的增强层的精细化系数进行译码的装置,所述装置包含:用于评估与所述SVC方案的一个或多个先前层相关联的变换系数值的历史的装置;

基于所述历史来估计与所述SVC方案的当前层相关联的一个或多个精细化系数值中的每一个的译码装置;

用于将所述增强层的所述精细化系数的第一子集界定为类型0精细化系数的装置,所述类型0精细化系数中的每一个具有估计的零值;以及用于将所述增强层的所述精细化系数的第二子集界定为类型1精细化系数的装置,所述第二子集包括没有包括在所述第一子集中的所述精细化系数,其中指示所述类型0精细化系数的所述值的信息从经编码的位流被排除,而指示所述类型1精细化系数的所述值的信息被包括在所述经编码的位流中,并且其中基于与所述SVC方案的所述一个或多个先前层相关联的所述变换系数值的所述历史来导出指示所述类型0精细化系数的所述值的所述信息,其中所述精细化系数是指所述SVC方案中的先前层的对应系数具有非零值的增强层的变换系数。

说明书 :

基于对应变换系数值的历史的精细化系数译码

[0001] 本申请案主张以下美国临时申请案的利益,每一美国临时申请案的全部内容以引用的方式并入本文中:
[0002] 2006年10月12日申请的第60/829,274号美国临时申请案,
[0003] 2007年1月5日申请的第60/883,741号美国临时申请案,以及
[0004] 2006年10月12日申请的第60/829,276号美国临时申请案。

技术领域

[0005] 本发明涉及数字视频译码,且更特定来说,涉及对可缩放视频译码(SVC)方案的增强层中的变换系数进行译码。

背景技术

[0006] 可将数字视频能力并入较广范围的装置中,包括数字电视、数字直播系统、无线通信装置、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录装置、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话等。数字视频装置实施例如MPEG-2、MPEG-4或H.264/MPEG-4第10部分(高级视频译码(AVC))的视频压缩技术,以更有效地传输和接收数字视频。视频压缩技术执行空间和时间预测以减少或移除视频序列中固有的冗余。
[0007] 在视频译码中,视频压缩常常包括空间预测、运动估计和运动补偿。内部译码依赖于空间预测来减少或移除给定视频帧内的视频区块之间的空间冗余。中间译码依赖于时间预测来减少或移除视频序列的连续视频帧的视频区块之间的时间冗余。对于中间译码,视频编码器执行运动估计以追踪两个或两个以上邻近帧之间的匹配的视频区块的移动。运动估计产生运动向量,所述运动向量指示视频区块相对于一个或一个以上参考帧中的对应预测视频区块的位移。运动补偿使用所述运动向量以从参考帧产生预测视频区块。在运动补偿之后,通过从待译码的原始视频区块减去预测视频区块来形成残余视频区块。
[0008] 视频编码器通常应用变换、量化和变换系数译码过程来进一步降低与残余区块的通信相关联的位速率。对残余区块的变换系数的译码可涉及(例如)可变长度译码(VLC)或其它译码过程以进一步压缩通过变换操作和量化操作而产生的残余系数。举例来说,可使用VLC表而以促进译码效率的方式将不同集合的系数与可变长度码字进行匹配。不同VLC表可用于不同视频内容。或者,可将残余系数译码成为系数的图案(例如,经译码的区块图案)。在任何情况中,视频解码器执行反操作以重建系数,且接着反变换所述系数以重建视频信息。视频解码器可基于与视频区块相关联的运动信息和残余信息来解码视频信息。
[0009] 一些视频译码利用可缩放技术。举例来说,可缩放视频译码(SVC)是指使用基础层和一个或一个以上可缩放增强层的视频译码。对于SVC,基础层通常载运具有基本质量水平的视频数据。一个或一个以上增强层载运额外视频数据来支持较高空间、时间和/或SNR水平。可以比增强层的传输可靠的方式来传输基础层。增强层可向基础层的帧添加空间分辨率,或可添加额外帧来增加总体帧速率。在一实例中,可使用经调制的信号中的最可靠部分来传输基础层,而可使用经调制的信号中的较不可靠的部分来传输增强层。增强层可界定不同类型的变换系数,其被称作重要系数和精细化系数。

发明内容

[0010] 一般来说,本发明描述了用于对可缩放视频译码(SVC)方案中的增强层的精细化系数进行译码的技术。精细化系数是指SVC方案中的先前层(即,基础层或先前增强层)的对应系数具有非零值所针对的增强层的系数。相反,重要系数是指SVC方案中的先前层的对应系数具有零值所针对的增强层的系数。精细化系数的译码可与重要系数的译码分开执行,但在与重要系数一起对精细化系数进行译码的情况下也可应用本发明的技术。术语“变换系数”在本文中用于指精细化系数和重要系数两者。
[0011] 根据本发明的技术,可自从编码装置传输到解码装置以传达视频或多媒体内容的位流中排除精细化系数值中的一些精细化系数值。可基于与这些精细化系数相关联的历史而在解码器处导出所述精细化系数的值。具体来说,对于给定类型的视频区块,可基于与这些精细化系数相关联的历史(即,SVC方案的先前层的对应变换系数的历史)而确定所述精细化系数中的一些精细化系数的值具有为零的较高概率。在此情况中,由于可在解码器处导出这些精细化系数的值,因此可从位流排除所述值。
[0012] 在一实例中,本发明提供一种对SVC方案中的增强层的精细化系数进行译码的方法,所述方法包含:评估与SVC方案的一个或一个以上先前层相关联的变换系数值的历史;以及基于所述历史来估计与SVC方案的当前层相关联的一个或一个以上精细化系数值。
[0013] 在另一实例中,本发明提供一种对SVC方案中的增强层的精细化系数进行译码的装置,所述装置包含:历史模块,其评估与所述SVC方案的一个或一个以上先前层相关联的变换系数值的历史;以及译码模块,其基于所述历史来估计与所述SVC方案的当前层相关联的一个或一个以上精细化系数值。
[0014] 在另一实例中,本发明提供一种对SVC方案中的增强层的精细化系数进行译码的装置,所述装置包含:用于评估与所述SVC方案的一个或一个以上先前层相关联的变换系数值的历史的装置;以及基于所述历史来估计与所述SVC方案的当前层相关联的一个或一个以上精细化系数值的译码装置。
[0015] 本发明中所描述的技术可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则可在例如微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或数字信号处理器(DSP)的一个或一个以上处理器中执行软件。执行所述技术的软件最初可存储在计算机可读媒体中且加载并执行于处理器中。
[0016] 因此,本发明也涵盖一种包含指令的计算机可读媒体,当在视频译码装置中执行所述指令时致使所述装置对SVC方案中的增强层的精细化系数进行译码,其中所述指令使得所述装置评估与所述SVC方案的一个或一个以上先前层相关联的变换系数值的历史,以及基于所述历史来估计与所述SVC方案的当前层相关联的一个或一个以上精细化系数值。
[0017] 在一些情况中,计算机可读媒体可形成可出售给制造商和/或用于视频译码装置中的计算机程序产品的部分。计算机程序产品可包括计算机可读媒体,且在一些情况中也可包括封装材料。
[0018] 在另一实例中,本发明可针对一种经配置以对SVC方案中的增强层的精细化系数进行译码的电路,其中所述电路经配置以评估与所述SVC方案的一个或一个以上先前层相关联的变换系数值的历史,以及基于所述历史来估计与所述SVC方案的当前层相关联的一个或一个以上精细化系数值。
[0019] 附图和以下描述中陈述了本发明的一个或一个以上方面的细节。从描述和图式且从权利要求书将明白本发明中所描述的技术的其它特征、目的和优势。

附图说明

[0020] 图1A和图1B是基于可缩放视频译码(SVC)方案的不同层处的对应变换系数的历史来说明精细化系数的可能值的映射图。
[0021] 图2是说明视频编码和解码系统的示范性方框图。
[0022] 图3是说明可缩放视频位流的基础层和增强层的视频帧的概念图。
[0023] 图4是说明与本发明一致的视频编码器的一实例的方框图。
[0024] 图5是说明与本发明一致的视频解码器的一实例的方框图。
[0025] 图6是与本发明一致的系数编码单元的示范性方框图。
[0026] 图7是与本发明一致的系数解码单元的示范性方框图。
[0027] 图8是说明与本发明一致的用于对精细化系数进行译码的译码技术的流程图。
[0028] 图9是说明与本发明一致的用于译码和传输精细化系数信息的技术的流程图。
[0029] 图10是说明与本发明一致的用于接收和解码精细化系数信息的技术的流程图。

具体实施方式

[0030] 本发明描述用于对可缩放视频译码(SVC)方案中的增强层的精细化系数进行译码的技术。精细化系数是指SVC方案中的先前层的对应系数具有非零值的增强层的变换系数。相反,重要系数是指SVC方案中的先前层的对应系数具有零值的增强层的变换系数。术语“变换系数”在本文中用于指精细化系数和重要系数两者,且一般是指通过例如离散余弦变换(DCT)的变换过程而产生的系数。精细化系数的译码可与重要系数的译码分开执行。精细化系数和重要系数的译码通常涉及可变长度译码(VLC)方法,其中将系数的不同集合映射到VLC表中的可变长度码。
[0031] 根据本发明的技术,可自从编码装置传输到解码装置以传达视频或多媒体内容的位流排除指示精细化系数值中的一些精细化系数值的信息。可基于与对应变换系数相关联的历史而在解码器处导出所述排除的精细化系数的值。具体来说,对于给定类型的视频区块来说,可基于与对应变换系数相关联的历史而确定所述精细化系数中的一些精细化系数的值具有较高为零的概率。在此情况中,可从位流排除指示这些精细化系数的值的信息,因为可在解码器处导出所述值。可基于历史被确定为具有较高为零的概率的精细化系数在本文中被称作类型0系数,而其它精细化系数在本文中被称作类型1系数。
[0032] 编码装置可对一信号进行编码以指导解码装置基于历史导出精细化系数中的一些精细化系数。此信号可简单到是指导解码装置(例如)针对特定类型的宏区块(例如,针对经内部译码区块)导出精细化系数的帧或视频区块的单位或多位标头。编码器和解码器可执行互反译码方法(编码和解码),其中评估变换系数的历史以确定是否可由编码器从位流排除且在解码器处导出精细化系数信息。编码装置可向解码装置发送信息以指示对于特定帧类型或宏区块类型,归因于所使用的量化,满足特定准则的精细水平中的大多数将等于0(类型0精细化系数)。另外,编码装置可用信号通知解码装置:某一区域内(例如,一区块或宏区块内)的所有类型0系数水平均为零或不为零。在一些情况中,可假设所有类型0系数均等于0。另外,编码装置可用信号向解码装置输送可用以在类型0系数与类型1系数之间进行区分的准则,例如可将系数确定为类型0系数的历史值h(下文论述)。
[0033] 图1A和图1B是基于可缩放视频译码(SVC)方案的不同层处的对应变换系数的历史来说明精细化系数的可能值的映射图。图1A和图1B展示基础层以及第一FGS增强层(也称作FGS层)、第二FGS增强层和第三FGS增强层的可能变换系数值。FGS代表精细粒度信噪比可缩放性,且下文对其更详细地阐释。
[0034] 可经由先前层的先前变换系数(其可为精细化系数或重要系数)来追溯任何精细化系数的历史。在图1A中,第一FGS增强层、第二FGS增强层和第三FGS增强层的阴影灰色区域界定具有零值的重要系数。而且,只要对于那个系数所有先前层被界定为零值,位于第一FGS增强层、第二FGS增强层和第三FGS增强层的阴影灰色区域(图1A)的任一侧上的每一对系数便为重要系数。图1A中的所有其它非阴影区域对应于精细化系数,对于那个系数,至少一先前层的对应系数被界定为非零值。
[0035] 图1A和图1B的映射图可对应于特定无效区参数(f)。所谓的无效区参数通常被界定为:
[0036] f=Q/x
[0037] 其中Q表示量化步长且x表示给定视频区块类型的常数。在ITU H.264中,对于经内部译码区块来说,f=Q/3,且对于经中间译码区块来说,f=Q/6。基于此观察,可针对经内部译码区块和经中间译码区块而形成不同映射图(类似于图1A和图1B的映射图)。
[0038] 图1A和图1B的映射图对应于f=Q/3。因此,在此实例中,如应用于H.264,图1A和图1B的映射图可对应于经内部译码区块。在此情况下,如果编码器装置对一信号进行译码以指示从经译码的位流排除了一个或一个以上精细化系数值,则解码器装置可基于历史(例如,通过应用类似于图1A和图1B中所示的映射图的映射图)而导出所述值。
[0039] 图1A中展示无效区参数(f=Q/3),但Q(量化步长)在图1A中被标记为Δ。图1A中还标记了决策阈值中的一些阈值的位置,和重建值rn中的一些重建值的位置。每一精细化系数是相对于先前层而界定的且可具有为-1、0或1的值。还在图1A中将此说明为可能值c2。决策阈值之间的每一实心三角表示给定变换系数的可能值。然而,应注意,在图1A和图1B所示的一些情况中,精细化系数的唯一可能(或或然)值(给定先前历史)是零值。
在这些情况中,本发明提议避免在编码器处对精细化系数进行译码且允许在解码器处导出精细化系数。
[0040] 图1B特定标记一些精细化系数的不同可能性中的一些。在区域104中,相对于第二FGS层,第三FGS层存在三个可能的精细化系数值,即,-1、0和1。在此情况中,基础层中的对应变换系数值为0,第一FGS层中的对应变换系数值为1且第二FGS层中的对应变换系数值为0。给定此历史,编码器和解码器可知道,相对于第二FGS层,第三FGS层存在三个可能的精细化系数值,即,-1、0和1。
[0041] 在区域105中,相对于第一FGS层,第二FGS层也存在三个可能的精细化系数值,即,-1、0和1。在此情况中,基础层中的对应变换系数值为1,且第一FGS层中的对应变换系数值为0。给定此历史,编码器和解码器可知道,相对于第一FGS层,第二FGS层存在三个可能的精细化系数值,即,-1、0和1。
[0042] 区域101、区域102和区域103说明编码器和解码器(基于对应变换系数的历史)知道精细化系数将具有较高为零可能性的情境。只要第n层相对于第n-1层仅存在一个可能的系数值,则此可在区域101、区域102和区域103中观察到。
[0043] 举例来说,在区域101中,相对于第一FGS层,第二FGS层存在一个可能的精细化系数值,即,0。在此情况中,基础层中的对应变换系数值为-1,且第一FGS层中的对应变换系数值为-1。给定此历史,编码器和解码器可知道,相对于第一FGS层,第二FGS层存在一个可能的精细化系数值,即,0。在此情况中,那个精细化系数实际为零的概率很高,且可在解码器处推测。
[0044] 在区域102中,相对于第二FGS层,第三FGS层也存在一个可能的精细化系数值,即,0。在此情况中,基础层中的对应变换系数值为-1,第一FGS层中的对应变换系数值为0,且第二FGS层中的对应变换系数值为-1。给定此历史,编码器和解码器可知道,相对于第二FGS层,第三FGS层存在一个可能的精细化系数值,即,0。在此情况中,那个精细化系数实际为零的概率很高,且可在解码器处推测。
[0045] 在区域103中,相对于第二FGS层,第三FGS层也存在一个可能的精细化系数值,即,0。在此情况中,基础层中的对应变换系数值为-1,第一FGS层中的对应变换系数值为0,且第二FGS层中的对应变换系数值为1。给定此历史,编码器和解码器可知道,相对于第二FGS层,第三FGS层存在一个可能的精细化系数值,即,0。在此情况中,那个精细化系数实际为零的概率很高,且可在解码器处推测。
[0046] 简要来说,对于给定的量化水平和/或无效区参数,精细化系数的或然值在许多情况中可能限于0(或可能为另一值)。可基于先前层中的对应变换系数的历史来确定这些情况。此外,编码中所使用的量化和/或无效区参数的类型可由被译码的视频区块的类型界定,例如,内部(I)或中间(P或B)。编码器可从经编码的位流排除所述精细化系数值,且可能有可能用信号向解码器通知正针对一个或一个以上视频区块类型排除所述信息。解码器可基于与给定精细化系数相关联的历史(例如,与给定精细化系数相关联的对应变换系数的值)来产生所排除的信息。以此方式,可改进译码效率。在一些情况中,历史可能(例如)归因于量化误差而不可反映出所产生的实际精细化系数值,但所述情况很少见且不应使视频质量发生任何显著量的降级。
[0047] 图2是说明视频编码和解码系统10的方框图。如图2所示,系统10包括源装置2,所述源装置2经由通信信道15将经编码的视频传输到接收装置6。源装置2可包括视频源11、视频编码器12和调制器/传输器14。接收装置6可包括接收器/解调器16、视频解码器18和显示装置20。系统10可经配置以应用本文中所描述的用于变换系数译码的技术,其中从所传输的位流排除精细化系数中的一者或一者以上的值且基于历史在接收装置
6处导出所述值。
[0048] 可缩放视频译码(SVC)是指使用基础层和一个或一个以上可缩放增强层的视频译码。对于SVC,基础层通常载运具有基本质量水平的视频数据。一个或一个以上增强层载运额外视频数据来支持较高空间、时间和/或信噪比SNR水平。可相对于先前编码的层来界定增强层。增强层界定至少两个不同类型的系数,其被称作重要系数和精细化系数。精细化系数可相对于先前编码的层的对应值来界定值。增强层的帧有时仅包括基础层或先前增强层中的视频区块的总数的一部分,例如,仅那些被执行增强的区块。
[0049] 重要系数是指先前层中的对应系数具有零值的系数。精细化系数是指先前层中的对应系数具有非零值的系数。对变换系数的译码通常涉及可变长度译码(VLC)方法,其中将系数的不同集合映射到VLC表中的可变长度码。对增强层的可变长度译码通常涉及双回合方法。执行第一回合以对重要系数进行可变长度译码且执行另一回合以对精细化系数进行可变长度译码。本发明的技术尤其可用于精细化系数的可变长度译码。
[0050] 在图2的实例中,通信信道15可包含例如射频(RF)频谱或一个或一个以上物理传输线的任何无线或有线通信媒体,或无线媒体与有线媒体的任何组合。通信信道15可形成基于包的网络(例如局域网、广域网或例如因特网的全球网络)的部分。通信信道15一般表示用于将视频数据从源装置2传输到接收装置6的任何合适的通信媒体或不同通信媒体的集合。
[0051] 源装置2产生用于传输到接收装置6的经译码的视频数据。然而在一些情况中,装置2、装置6可以大体对称的方式进行操作。举例来说,装置2、装置6中的每一者可包括视频编码和解码组件。因此,系统10可支持视频装置2、视频装置6之间的单向或双向视频传输以(例如)用于视频串流、视频广播或视频电话。
[0052] 源装置2的视频源11可包括例如摄像机的视频俘获装置、含有先前俘获的视频的视频档案或来自视频内容提供者的视频馈送。作为进一步替代,视频源11可产生基于计算机图形的数据以作为源视频,或现场视频与计算机产生的视频的组合。在一些情况中,如果视频源11为视频相机,则源装置2和接收装置6可形成所谓的相机电话或视频电话。在每一情况中,俘获的视频、预先俘获的视频或计算机产生的视频可由视频编码器12编码以用于经由调制器/传输器14、通信信道15和接收器/解调器16从视频源装置2传输到视频接收装置6的视频解码器18。依赖于在接收装置6处导出类型0系数,视频编码和解码过程可实施本发明的技术以减少与精细化系数的通信相关联的数据量。显示装置20向使用者显示经解码的视频数据且可包含多种显示装置中的任一者,例如阴极射线管、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0053] 视频编码器12和视频解码器18可经配置以支持SVC以实现空间、时间和/或信噪比(SNR)可缩放性。在一些方面中,视频编码器12和视频解码器18可经配置以支持SVC的精细粒度SNR可缩放性(FGS)译码。编码器12和解码器18可通过支持对基础层和一个或一个以上可缩放增强层的编码、传输和解码来支持各种可缩放性程度。而且,对于可缩放视频译码,基础层载运具有基线质量水平的视频数据。一个或一个以上增强层载运额外数据来支持较高空间、时间和/或SNR水平。可以比增强层的传输更可靠的方式来传输基础层。举例来说,可使用经调制的信号中的最可靠部分来传输基础层,而可使用经调制的信号中的较不可靠部分来传输增强层。
[0054] 为支持SVC,视频编码器12可包括基础层编码器22和一个或一个以上增强层编码器24以分别执行对基础层和一个或一个以上增强层的编码。本发明的涉及对精细化系数进行译码的技术适用于SVC中的增强层的视频区块的译码。更具体来说,本发明的技术适用于增强层的视频区块的精细化系数的VLC,但本发明不必限于此方面。根据本发明,从位流排除指示可导出的类型0系数的信息,且仅相对于类型1系数来应用VLC。在解码器处产生类型0系数的值。
[0055] 视频解码器18可包括经组合的基础/增强解码器,其对与基础层和增强层两者相关联的视频区块进行解码且组合经解码的视频来重建视频序列的帧。显示装置20接收经解码的视频序列,且向使用者呈现所述视频序列。
[0056] 可根据例如MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))的视频压缩标准来操作视频编码器12和视频解码器18。虽然图2中未图示,但在一些方面中,视频编码器12和视频解码器18可各分别与音频编码器和解码器整合,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频和视频两者的编码。如果适用,则MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如使用者数据报协议(UDP)的其它协议。
[0057] H.264/MPEG-4(AVC)标准由ITU-T视频译码专家组(VCEG)连同ISO/IEC移动图片专家组(MPEG)制定,以作为被称为联合视频小组(JVT)的集体伙伴的产品。在一些方面中,本发明中所描述的技术可应用于大体上遵照H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisual services)”中描述了H.264标准,其在本文中也可被称作H.264标准或H.264规范或H.264/AVC标准或规范。
[0058] 联合视频小组(JVT)继续致力于向H.264/MPEG-4 AVC的SVC扩展。演进SVC扩展的规范呈联合草案(JD)的形式。由JVT创建的联合可缩放视频模型(JSVM)实施用于可缩放视频中的工具,其可在系统10内使用以用于本发明中所描述的各种译码任务。关于精细粒度SNR可缩放性(FGS)译码的详细信息可在联合草案文献中找到,且特定来说,在日内瓦,2006年4月,JVT-S 201,托拉斯维干德(Thomas Wiegand)、加力苏立文(Gary Sullivan)、居莲 瑞秋(Julien Reichel)、黑寇思沃兹(Heiko Schwarz)和马思阿斯 闻(Mathias Wien)的“联合草案6:可缩放视频译码(Joint Draft 6:ScalableVideo Coding)”的联合草案6(SVC JD6)中找到,且在摩洛哥的马拉喀什,2007年1月,JVT-V 201,托拉斯 维干德(Thomas Wiegand)、加力 苏立文(Gary Sullivan)、居莲 瑞秋(Julien Reichel)、黑寇 思沃兹(Heiko Schwarz)和马思阿斯 闻(Mathias Wien)的“SVC修正的联合草案9(Joint Draft 9 of SVC Amendment)”的联合草案9(SVC JD9)中找到。
[0059] 在一些方面中,为进行视频广播,可将本发明中所描述的技术应用于增强型H.264视频译码以用于使用待出版为技术标准TIA-1099(“FLO规范”)的仅前向链路(FLO)空中接口规范(“用于陆地移动多媒体多播的仅前向链路空中接口规范(Forward LinkOnly Air Interface Specification for Terrestrial Mobile Multimedia Multicast)”)而在陆地移动多媒体多播(TM3)系统中传递实时视频服务。即,通信信道15可包含用以根据FLO规范或类似规范来广播无线视频信息的无线信息信道。FLO规范包括界定适用于FLO空中接口的位流语法与语义和解码过程的实例。或者,可根据例如DVB-H(数字视频广播-掌上型)、ISDB-T(整合服务数字广播-陆地型)或DMB(数字媒体广播)的其它标准来广播视频。因此,源装置2可为移动无线终端、视频串流服务器或视频广播服务器。然而,本发明中所描述的技术不限于任何特定类型的广播、多播或点对点系统。在广播的情况中,源装置2可向多个接收装置广播若干视频数据信道,所述多个接收装置中的每一者可类似于图2的接收装置6。
[0060] 视频编码器12和视频解码器18可各实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器12和视频解码器18中的每一者可包括在一个或一个以上编码器或解码器中,其任一者可作为经组合的编码器/解码器(CODEC)的部分整合在各自移动装置、订户装置、广播装置、服务器或类似装置中。另外,源装置2和接收装置6可各包括适当的调制、解调、频率转换、过滤和放大器组件以用于传输和接收经编码的视频,包括(适用时)足以支持无线通信的射频(RF)无线组件和天线。然而,出于易于说明的目的,所述组件在图2中被概括为源装置2的调制器/传输器14和接收装置6的接收器/解调器16。
[0061] 视频序列包括一系列视频帧。视频编码器12对个别视频帧内的像素区块(或变换系数的区块)进行操作以对视频数据进行编码。视频区块可具有固定或变化的尺寸,且可根据指定译码标准而在尺寸上有所不同。在一些情况中,每一视频帧为经译码的单元,而在其它情况中,每一视频帧可被划分为形成经译码的单元的一系列切片。每一切片可包括可布置在子区块内的一系列宏区块。作为一实例,ITU-T H.264标准支持以各种区块尺寸的内部预测(例如对于亮度(luma)分量来说为16×16、8×8或4×4,且对于色度分量来说为8×8),以及以各种区块尺寸的中间预测(例如对于亮度分量来说为16×16、16×8、8×16、
8×8、8×4、4×8和4×4,且对于色度分量来说为对应缩放的尺寸)。
[0062] 较小视频区块可提供较佳分辨率,且可用于包括较高细节水平的视频帧的位置。一般来说,可认为宏区块(MB)和各种子区块是视频区块。另外,可认为切片是例如MB和/或子区块的一系列视频区块。应注意,每一切片可为视频帧的可独立解码单元。
[0063] 在基于内部的预测译码或基于中间的预测译码后,可将额外译码技术应用于所传输的位流。这些额外译码技术可包括变换技术(例如H.264/AVC中所使用的4×4或8×8整数变换或离散余弦变换DCT)和变换系数译码(例如对变换系数的可变长度译码)。变换系数的区块可称作视频区块。换句话说,术语“视频区块”是指视频数据的区块,而不考虑信息的域。因此,视频区块可位于像素域或经变换的系数域中。
[0064] 本发明提供用于对精细化系数进行译码的技术。而且,精细化系数是指在SVC方案的先前层中具有非零值的系数,而重要系数是指在一个或一个以上先前层中具有零值的系数。根据本发明,可从位流排除指示精细化系数值中的一些精细化系数值的信息,从源装置2将所述位流传输到接收装置6。编码器12和解码器18可执行互反方法,其依赖于历史来识别从位流排除的类型0精细化系数,因为可假设其值为零。如本文中所使用,术语“译码”大体上是指编码或解码过程的至少一部分。视频编码器12对数据进行编码,而视频解码器18解码数据。
[0065] 对类型1精细化系数的译码可基于VLC方法,所述VLC方法使用VLC表以将码字指派给精细化系数的不同集合。可由零的游程长度来表示零值系数的集合,且所述表可指派或然度更高的游程长度来缩短VLC码。类似地,VLC表可指派或然度较低的游程长度来延长VLC码。可相对于常规表来调适所述VLC表以更好地虑及仅使用所述表来译码类型1精细化系数,且从位流排除类型0系数的信息的事实。而且,在解码器处导出类型0系数的值。
[0066] 可基于先前译码统计来形成VLC表,但在大多数情况中,使用静态VLC表。而且,然而,VLC表可能不同于常规表,因为从位流排除了类型0系数的信息。在静态VLC表的情况中,编码器12和解码器18仅从用于对精细化系数进行译码的可能表的集合中选择一个或一个以上适当VLC表。不论是形成VLC表还是VLC表为静态,可在需要时对VLC表进行更新。
[0067] 图3为说明可缩放视频位流的基础层17和增强层18内的视频帧的图。如上文所述,本发明的技术适用于对增强层的数据的译码。基础层17可包含位流,所述位流含有表示第一水平的空间、时间或SNR可缩放性的经编码视频数据。增强层18可包含一位流,所述位流含有表示第二水平的空间、时间和/或SNR可缩放性的经编码视频数据。虽然展示了单一增强层,但在一些情况中可使用若干增强层。仅在结合基础层(或如果存在多个增强层,则为先前增强层)的情况下可解码增强层位流。增强层18含有对基础层17中的经解码视频数据的参考。所述参考可用于变换域或像素域中以产生最终的经解码视频数据。
[0068] 基础层17和增强层18可含有内部(I)、中间(P)和双向(B)帧。内部帧可包括所有经内部译码视频区块。I帧和P帧可包括至少一些经中间译码视频区块(中间区块),但也可包括一些经内部译码区块(内部区块)。增强层17的不同帧无需包括基础层17中的视频区块中的全部。增强层18中的P帧依赖于对基础层17中的P帧的参考。通过对增强层18和基础层17中的帧进行解码,视频解码器能够增加经解码视频的视频质量。
[0069] 举例来说,基础层17可包括以(例如)每秒15帧的最小帧速率来编码的视频,而增强层18可包括以(例如)每秒30帧的较高帧速率来编码的视频。为支持不同质量水平下的编码,可分别以较高的量化参数(QP)和较低QP来对基础层17和增强层18进行编码。另外,可以比增强层18的传输更可靠的方式来传输基础层17。作为一实例,可使用经调制信号中的最可靠部分来传输基础层17,而可使用经调制的信号中的较不可靠部分来传输增强层18。图3的说明仅为示范性的,因为可以许多不同方式来界定基础层和增强层。
[0070] 图4为说明与本发明一致的视频编码器50的一实例的方框图,所述视频编码器50包括系数编码单元46以对数据进行编码。图4的视频编码器50可对应于图2中的源装置2的增强层编码器24。即,出于简明起见,图4中未说明基础层编码组件。因此,可认为视频编码器50是增强层编码器。或者,(例如)在支持基础层和增强层的可缩放视频译码的金字塔式编码器设计中,视频编码器50的所说明组件也可与基础层编码模块或单元组合实施。
[0071] 视频编码器50可对视频帧内的区块执行内部译码和中间译码。内部译码依赖于空间预测来减小或移除给定视频帧内的视频中的空间冗余。中间译码依赖于时间预测来减小或移除视频序列的邻近帧内的视频的时间冗余。对于中间译码,视频编码器50执行运动估计以追踪两个或两个以上邻近帧之间的匹配的视频区块的移动。
[0072] 如图4所示,视频编码器50接收待编码的视频帧内的当前视频区块31(例如,增强层视频区块)。在图4的实例中,视频编码器50包括运动估计单元33、参考帧存储装置35、运动补偿单元37、区块变换单元39、量化单元41、反量化单元42、反变换单元44和系数编码单元46。也可包括解块过滤器(未图示)以过滤区块边界来移除区块假影。视频编码器50也包括求和器48和求和器51。图4说明视频编码器50的用于视频区块的中间译码的时间预测组件。虽然出于易于说明的目的而未在图4中展示,但视频编码器50也可包括用于一些视频区块的内部译码的空间预测组件。然而,空间预测组件通常仅用于基础层译码。可相对于经内部译码或中间译码的残余区块的变换系数来应用本发明的技术。
[0073] 运动估计单元33将视频区块31与一个或一个以上邻近视频帧中的区块进行比较以产生一个或一个以上运动向量。可从参考帧存储装置35检索邻近帧,所述参考帧存储装置35可包含任何类型的存储器或数据存储装置以存储从先前编码的区块而重建的视频区块。可针对具有可变尺寸的区块(例如,16×16、16×8、8×16、8×8或更小的区块尺寸)执行运动估计。运动估计单元33(例如)基于速率失真模型来识别邻近帧中的最紧密匹配当前视频区块31的区块,且确定所述区块之间的位移。在此基础上,运动估计单元33产生一运动向量(MV)(或在双向预测的情况中为多个MV),所述运动向量(MV)指示当前视频区块31与用以对当前视频区块31进行译码的预测区块之间的位移的量值和轨迹。
[0074] 运动向量可具有二分之一像素或四分之一像素精确度或甚至更精细的精确度,以允许视频编码器50以高于整数像素位置的精确度来追踪运动且获得较佳预测区块。当使用具有分数像素值的运动向量时,在运动补偿单元37中实行内插操作。运动估计单元33可使用速率失真模型来识别视频区块的最佳运动向量。使用所得运动向量,运动补偿单元37通过运动补偿来形成预测视频区块。
[0075] 视频编码器50通过在求和器48处从原始的当前视频区块31中减去运动补偿单元37所产生的预测视频区块而形成残余视频区块。区块变换单元39对残余区块应用例如离散正弦变换(DCT)等变换,从而产生残余变换区块系数。量化单元41量化残余变换区块系数以进一步降低位速率。求和器49A(例如)从基础层编码器(未图示)接收基础层系数信息且定位在区块变换单元39与量化单元41之间以将此基础层系数信息供应到增强层译码中。具体来说,求和器49A从区块变换单元39的输出中减去基础层系数信息。以类似方式,定位在反变换单元44与反量化单元42之间的求和器49B也从基础层编码器(未图示)接收基础层系数信息。求和器49B将基础层系数信息添加到反量化单元42的输出。
[0076] 空间预测译码以非常类似于时间预测译码的方式进行操作。然而,时间预测译码依赖于邻近帧(或其它经译码的单元)的区块来执行译码,而空间预测依赖于共同帧(其它经译码的单元)内的区块来执行译码。空间预测译码对内部区块进行译码,而时间预测译码对中间区块进行译码。而且,出于简明起见而未在图4中展示空间预测组件。然而,本发明的技术可相对于通过在空间预测译码过程后的变换所产生的变换系数来应用。
[0077] 系数编码单元46(例如)根据可变长度译码方法来对经量化的变换系数进行译码,以更进一步降低所传输的信息的位速率。具体来说,系数编码单元46应用本发明的技术来对增强层的精细化系数进行译码。系数编码单元46可将重要系数与精细化系数分开译码,但本发明不必限于此方面。相对于增强层的精细化系数,系数译码单元46可在译码到位流中的类型1系数与未译码到位流中的类型0系数之间进行区分。
[0078] 系数编码单元46可产生带内或带外信号以向解码器指示:从位流排除了指示类型0系数的信息且需要基于与对应变换系数相关联的历史在解码器处导出所述信息。虽然本文中所描述的技术采用双回合方法,其中将重要系数与精细化系数分开译码,但也可将所述技术应用于单回合方法,其中与精细化系数一起译码重要系数。在任何情况中,根据本发明,从位流排除了指示类型0精细化系数的信息且基于先前层的对应变换系数的历史在解码器处导出所述信息。
[0079] 在对变换系数(包括重要系数、类型1精细化系数和类型0精细化系数)进行译码之后,可将经编码的视频(例如,可变长度码字)传输到另一装置。另外,反量化单元42和反变换单元44分别应用反量化和反变换以重建残余区块。求和器51将经重建的残余区块添加到运动补偿单元37所产生的经运动补偿的预测区块以产生经重建的视频区块以用于存储在参考帧存储装置35中。由运动估计单元33和运动补偿单元37使用经重建的视频区块以对后续视频帧中的区块进行编码。
[0080] 图5为说明视频解码器60的一实例的方框图,所述视频解码器60可对应于图1的执行基础层和增强层解码的视频解码器18。视频解码器60包括执行图4的系数编码单元46的互反功能的系数解码单元52A。即,系数解码单元52A以假设从位流排除了指示类型0系数的信息的方式对增强层的精细化系数进行译码。系数解码单元52A使用对应变换系数的历史(例如,对应于经译码的当前层的类型0精细化系数)来产生与从位流所排除的类型0精细化系数相关联的值。
[0081] 视频解码器60可对视频帧内的区块执行内部解码和中间解码。在图5的实例中,视频解码器60包括系数解码单元52A与系数解码单元52B、运动补偿单元54、反量化单元56、反变换单元58和参考帧存储装置62。视频解码器60也包括将反传输单元58的输出与运动补偿单元54的输出进行组合的求和器64。视频解码器60也可任选地包括过滤求和器
64的输出的解块过滤器(未图示)。图5说明视频解码器60的用于视频区块的中间解码的时间预测组件。视频解码器60也可包括对一些视频区块进行内部解码的空间预测组件,其由内部预测单元55表示。
[0082] 视频解码器60也可包括用于基础层信息的另一系数解码单元52B。系数解码单元52B可大体上以常规方式相对于基础层系数的解码进行操作。内部预测单元55可任选地执行对基础层视频区块的任何空间解码,且可将内部预测单元55的输出提供到加法器53。增强层路径可包括反量化单元58A,且基础层路径可包括反量化单元56B。可由加法器57来组合基础层路径与增强层路径中的信息。
[0083] 视频解码器60可对视频帧内的区块执行内部解码和中间解码。在图5的实例中,视频解码器60包括系数解码单元52A与系数解码单元52B(上文提及)、运动补偿单元54、反量化单元56A与反量化单元56B、反变换单元58和参考帧存储装置62。视频解码器60还包括求和器64。视频解码器60也可任选地包括过滤求和器64的输出的解块过滤器(未图示)。而且,求和器57将基础层路径与增强层路径中的信息进行组合,且内部预测单元55和加法器53促进对基础层视频区块的任何空间解码。
[0084] 而且,系数解码单元52A接收经编码的视频位流且应用本发明中所描述的技术。具体来说,对于重要系数,系数解码单元52A可使用VLC表来解码信息。类似地,对于类型
1精细化系数,系数解码单元52A可使用VLC表来解码信息,所述VLC表可为不同于用于重要系数的VLC表的VLC表。然而,对于类型0精细化系数,系数解码单元52A可基于与SVC方案的先前层的对应变换系数相关联的历史来产生适当的值。
[0085] 在由系数解码单元52A执行解码之后,运动补偿单元54接收运动向量和来自参考帧存储装置62的一个或一个以上经重建参考帧。反量化单元56A对经量化的区块系数进行反量化(即,解量化)。在通过加法器57将增强层与基础层信息进行组合之后,反变换单元58对系数应用反变换(例如,反DCT)以产生残余区块。运动补偿单元54产生经运动补偿的区块,求和器64将所述区块与残余区块求和以形成经解码的区块。如果需要,则也可应用解块过滤器来过滤经解码的区块以便移除区块假影。接着,将经过滤的区块置放在参考帧存储装置62中,所述参考帧存储装置62从运动补偿提供参考区块且也向驱动显示装置(例如,图2的装置20)产生经解码的视频。
[0086] 图6为说明示范性系数编码单元46的方框图,其可对应于图4所示的系数译码单元。系数编码单元46包括编码模块72、历史模块74、表选择模块76和译码表78。译码表78大体是指可存储在任何位置(例如,在本地或在单独的存储器位置上的芯片外)上的表。
可在需要时对译码表78进行周期性地更新。
[0087] 编码模块72在单独的译码回合中对精细化系数和重要系数进行编码,但在与重要系数一起译码精细化系数的情况下也可应用本发明的技术。可基于针对先前译码的帧的先前译码的区块而搜集的信息(例如,统计)来执行由编码模块72进行的表选择。举例来说,编码模块72可对先前编码的帧执行统计分析以促进表选择。
[0088] 不论如何从译码表78选择表,编码模块72应用本发明的技术以从经编码的位流排除指示类型0精细化系数的信息。编码模块72对例如帧标头中的一个或一个以上位的信息进行译码以用信号向解码器通知从位流排除了类型0精细化系数的信息。
[0089] 历史模块74检查与精细化系数相关联的历史,以确定精细化系数是类型1系数还是类型0系数。更具体来说,当对当前FGS层进行译码时,历史模块74检查SVC方案的先前FGS层和基础层的对应变换系数的历史。如图1A和图1B所示且如上文所述,一些精细化系数可具有可假设为零的值。历史模块74检查历史以识别所述所谓的类型0系数。编码模块72可接着从位流排除指示类型0系数的值的信息。
[0090] 作为对完整历史分析的译码替代方案,历史模块72可仅查看与前面的FGS层(例如,仅最近的历史)的对应系数相关联的值。即,在对SVC方案的第n层进行译码时,历史模块74可通过确定与SVC方案的第n-1层相关联的精细化系数值是否具有非零值来评估历史。在此情况中,编码模块72可假设当第n-1层的对应系数具有非零值时,第n层的精细化系数值为零。
[0091] 在另一实例中,历史模块74可通过为当前层的精细化系数指派索引值来评估历史,索引值取决于与SVC方案的一个或一个以上先前层相关联的对应变换系数值。换句话说,可基于SVC方案中的先前层的对应变换系数值来指派索引值(h)。作为一实例,可如下计算索引值(h):
[0092] h=0
[0093] for(i=0;i<n;i++){
[0094] sig=(ci=0)?1:0;
[0095] h=h+sig*(2<<i);
[0096] }
[0097] 其中i为层号(即,i=0对应于基础层,i=1对应于第一基础层)且ci为分配在层i处的系数的值。i++是指i=i+1,且sig为中间变量。
[0098] 编码模块72可用信号向解码器通知用于哪些索引值(h)的精细化系数被假设为零。在此情况中,估计与SVC方案的当前层相关联的一个或一个以上精细化系数值可包含将零值指派给当前层的具有对应于一个或一个以上预定索引值的索引值的精细化系数。
[0099] 在一些情况中,在编码器和解码器两者中将所有类型0精细化系数值设定为0,即使在其量化值不同于零的情况下也如此。由于非零值的量将非常少,因此通过从位流排除用于这些类型0系数的信息而可引起的位速率节省可能胜过对经重建质量的影响。
[0100] 或者,编码模块72可用信号向解码器通知某一区域内(例如,区块或宏区块内)的所有类型0系数值均为零。如果实际上并非所有类型0值均等于0(例如,归因于量化),则其可与剩余的类型1精细化系数值一起被编码。对宏区块的类型1精细化系数进行编码的方法(其中所有类型0精细化系数水平均等于0)应不同于(例如,使用不同VLC)对宏区块中的精细化系数进行的编码(其中,类型0精细化系数中的一些类型0精细化系数为非零)。在对宏区块的类型1精细化系数进行编码的情况中,任何精细化系数为零的概率远小于对宏区块的精细化系数进行编码的情况。
[0101] 在另一实例中,历史模块74可(例如)基于例如图1A和图1B中所说明的历史的历史将增强层的精细化系数的第一子集界定为类型0精细化系数,且将增强层的精细化系数的第二子集界定为类型1精细化系数。编码模块72可包括经编码位流中的类型1精细化系数的信息,且排除经编码位流中的类型0精细化系数的信息。编码模块72可接着用信号向解码器通知排除了类型0精细化系数的信息。
[0102] 如本文中所描述,精细化系数可具有限于-1、0和1的值。可以许多方式译码所述值。在一个实例中,使用信息的两个位来译码精细化系数。第一位可指示系数是否等于0,且第二位可指示精细化系数的正负号(标记为sn)与先前层的对应系数的正负号(表示为sn-1)是相同(coeff_ref_dir_flag=0)还是不同(coeff_ref_dir_flag=1)。先前层表示为sn-1。如果当前系数的正负号与先前层的正负号相同,则coeff_ref_dir_flag=0,且如果当前系数的正负号与先前层的正负号不同,则coeff_ref_dir_flag=1。可将两个精细化位组合成如下表1中的三个精细化符号的字母表:
[0103] 表1
[0104]coeff_ref_flag coeff_ref_dir_flag ref_symbol
0 - 0
1 0 1
1 1 2
[0105] 或者,也可使用另一方案以在不脱离本发明的技术的情况下对精细化系数进行译码。
[0106] 译码表78可包含映射到系数的不同集合的可变长度码字,其可由符号、旗标或其它类型的位来界定。译码表78可在需要时被更新。译码表78中可包括任何数目的表。在一些情况中,使用两个表,但可包括更多表。可通过编码模块72(例如)基于内容或其它因素来选择译码方案中的在任何特定时间使用的译码表。
[0107] 表2提供可用于对精细化系数进行译码的VLC表的一个实例。
[0108] 表2
[0109]参考符号群组 码长度 码字
{0,0,0} 1 1
{0,0,1} 4 0011
{0,0,2} 5 00101
{0,1,0} 3 011
{0,1,1} 6 000101
{0,1,2} 8 00000101
{0,2,0} 5 00100
{0,2,1} 7 0000101
{0,2,2} 9 000000101
{1,0,0} 3 010
{1,0,1} 6 000100
{1,0,2} 8 00000100
{1,1,0} 6 000011
{1,1,1} 9 000000100
{1,1,2} 10 0000000011
{1,2,0} 7 0000100
{1,2,1} 10 0000000010
{1,2,2} 12 000000000011
{2,0,0} 5 00011
{2,0,1} 7 0000011
{2,0,2} 9 000000011
{2,1,0} 8 00000011
{2,1,1} 10 0000000001
{2,1,2} 12 000000000010
{2,2,0} 9 000000010
{2,2,1} 12 000000000001
{2,2,2} 12 000000000000
[0110]
[0111] 如表2中所示,可将精细化系数的不同集合(如表1中所界定)映射到不同可变长度码字。表2也列出了与不同码字相关联的各自位长度。在不同VLC表中,映射到精细化系数的不同集合的码字可有所不同。因此,通过选择适当的表,可实现译码效率。根据本发明,可依据给定帧或视频区块是否包括类型0系数(其信息被从经译码的位流中排除)来使用不同译码表。
[0112] 图7为说明示范性系数解码单元52A的方框图,所述系数解码单元52A可对应于图5中所示的系数解码单元。系数解码单元52A相对于系数编码单元46所执行的编码来执行互反解码功能。因此,系数编码单元46接收经量化的残余系数(本文中称作变换系数)且产生位流,而系数解码单元52A接收位流且产生经量化的残余系数。系数解码单元52A包括解码模块82、历史模块84和译码表88的集合。如同在单元46中,单元52A的译码表88通常是指可存储在任何位置(例如,在本地或在芯片外单独的存储器位置上)上的表。译码表88可包含VLC表且可在需要时被周期性地更新。译码表88中可包括任何数目的表。在一些情况中,使用两个表,但可包括更多的表。
[0113] 系数解码单元82可针对重要系数与精细化系数执行单独的解码回合。在那种情况中,本发明的技术可仅适用于译码或精细化系数。或者,本发明的技术可适用于在一译码回合中将重要系数与精细化系数两者一起译码的译码方案。在任何情况中,系数解码单元52A所执行的解码可大体上与系数编码单元46所执行的编码互反。
[0114] 具体来说,由于知道从位流中排除了一些精细化系数值(例如,类型0系数)的信息,系数解码模块82可对位流进行解码。位流可包括一信号以向系数解码单元82指示此事实。在此情况中,历史模块84可执行与历史模块74(图6)所执行的历史估定技术大体上互反的历史估定技术。
[0115] 一般来说,系数解码单元52A对SVC方案中的增强层的精细化系数进行译码。历史模块84评估与SVC方案的一个或一个以上先前层相关联的变换系数值的历史,且解码模块82基于所述历史来估计与SVC方案的当前层相关联的一个或一个以上精细化系数值。使用译码表88对包括在所传输的位流中的其它系数进行解码。具体来说,解码模块82在一个或一个以上译码表88中执行表查找以解码位流中的码字以产生经译码的系数。
[0116] 历史模块84可将增强层的精细化系数的第一子集界定为类型0精细化系数,且将增强层的精细化系数的第二子集界定为类型1精细化系数。解码模块82可接着解码来自经编码位流的类型1精细化系数的信息,且产生类型0精细化系数的信息。而且,从经编码位流排除类型0精细化系数的信息。
[0117] 也可将以上表2视为译码表88中的一者。然而,译码表78(图6)将系数集合映射到可变长度码字,而译码表88(图7)将可变长度码字映射回系数集合。以此方式,可将系数解码单元52A所执行的解码视为与系数编码单元46所执行的编码互反。
[0118] 图8为说明与本发明一致的SVC方案的增强层的精细化系数的译码技术的流程图。将图8的译码过程应用于编码和解码两者。如图8所示,历史模块74、84评估与SVC方案的一个或一个以上先前层相关联的变换系数值的历史(91)。译码模块72、84基于所述历史来估计与SVC方案的当前层相关联的一个或一个以上精细化系数值(92)。译码模块72、84接着对位流进行译码(93)。在编码侧,对位流进行译码的过程可包括从位流排除一个或一个以上精细化系数值的信息,且用信号向解码器通知从位流排除了所述信息。在解码侧,对位流进行译码的过程可包括解析位流以识别用信号向所述解码器通知从所述位流排除了所述信息的信息,且基于与SVC方案的一个或一个以上先前层相关联的历史来产生所述经排除的信息。
[0119] 图9为说明与本发明一致的用于编码并传输精细化系数信息的技术的流程图。如图9所示,历史模块74基于与SVC方案的一个或一个以上先前层的对应变换系数相关联的历史将精细化系数的第一子集界定为类型0系数(94)。再次参看图1B,区域101展示第二FGS层中的类型0系数,区域102展示第三FGS层中的类型0系数,且区域103展示第三FGS层中的类型0系数。在这些情况中的每一者中,先前历史要求或预测系数将最有可能具有零值。虽然量化效应可使得一个或一个以上类型0系数具有非零值(逆概率),但对类型0系数具有零值的假设可大体上为可应用于解码器处以进行导出的稳健假设。换句话说,类型0系数可实际上为零或非零,但具有较高为零的概率。
[0120] 历史模块74也基于与SVC方案的一个或一个以上先前层的对应变换系数相关联的历史将精细化系数的第二子集界定为类型1系数(95)。再次参看图1B,区域104展示第三FGS层中的类型1系数,且区域105展示第二FGS层中的类型1系数。在这些情况中的每一者中,先前历史要求或预测系数可具有若干可能的值,例如,1、0或-1。
[0121] 编码模块72对位流进行编码以包括类型1系数的信息且包括或排除类型0系数的信息(96)。具体来说,编码模块72可执行可变长度译码技术,例如游程长度译码或经译码的区块图案译码,其中经由译码表将系数的图案或零的游程映射到可变长度码字。在此情况中,较短的可变长度码字可对应于或然度较高的图案或零游程长度,且较长的可变长度码字可对应于或然度较低的图案或零游程长度。在任何情况中,此译码仅考虑类型1系数且实质上跳过类型0系数。
[0122] 编码模块72也产生信息以用信号向解码器通知包括类型0系数的信息(值)还是从位流排除类型0系数的信息(值)(97)。此产生的信息可用信号通知从位流排除类型0系数的信息,且允许解码器知道基于表的译码是否仅应用于类型1系数,且是否从位流排除了类型0系数的值。解码器能够识别并区分类型0系数与类型1系数,因此,如果从位流排除了类型0系数的信息,则解码器可产生类型0系数的信息,且解码位流以重建类型1系数。在执行编码以产生位流之后,(例如)经由调制器/传输器14、信道15和接收器/解调器16(见图2)从源装置2将位流传输到接收装置6(98)。
[0123] 图10为说明与本发明一致的用于接收并解码精细化系数信息的技术的流程图。如图10所示,接收器/解调器16接收经编码的位流(101)。接收器/解调器16可执行物理层解调且将位流转发到解码器18。具体来说,视频解码器18可执行本发明的技术来解码精细化系数信息。为此,解码器18可如上文所述包括系数解码单元52A。
[0124] 单元52A的解码模块82识别位流中的指示从位流排除了类型0系数的信息的信号(102)。所述信号可包含经译码以传达从位流排除了所述信息的帧或区块标头。历史模块84基于与SVC方案的一个或一个以上先前层的对应变换系数相关联的历史将精细化系数的第一子集界定为类型0系数(103)。而且,参看图1B,区域101、区域102和区域103展示各种FGS层中的示范性类型0系数。在这些区域101、102和103中的每一者中,先前历史要求或预测系数将具有较高为零的概率。
[0125] 历史模块84也基于与SVC方案的一个或一个以上先前层的对应变换系数相关联的历史将精细化系数的第二子集界定为类型1系数(104)。再次参看图1B,区域104和区域105展示不同FGS层中的示范性类型1系数。这些情况中的每一者,先前历史要求或预测系数可具有若干可能值,例如,1、0或-1。
[0126] 解码模块82对来自位流的类型1系数的信息进行解码(105)。具体来说,解码模块82可通过在译码表88中执行码字查找来执行可变长度解码。码字可为位流的部分且映射到对应于经译码的类型1系数的系数集合。而且,较短可变长度码字可对应于或然度较高的系数图案或系数的零游程长度,且较长可变长度码字可对应于或然度较低的系数图案或系数的零游程长度。在任何情况中,此译码仅考虑类型1系数。
[0127] 解码模块82产生类型0系数的信息(106)。因此,解码模块82能够区分类型0系数与类型1系数,只要历史模块84基于与对应变换系数相关联的历史来识别所述区别即可。具体来说,解码模块82可假设所有类型0系数均具有零值,且可产生所述零且将其插入经解码的视频区块中,例如,在历史模块82所识别的任何类型0系数的位置上。
[0128] 本文中所描述的技术可以硬件、软件、固件或其任何组合来实施。被描述为模块或组件的任何特征可一起实施在集成逻辑装置中或单独实施为离散但可互操作的逻辑装置。如果以软件实施,则可至少部分地通过包含指令的计算机可读媒体来实现所述技术,所述指令在执行时执行上文所描述的方法中的一者或一者以上。计算机可读媒体可形成计算机程序产品的部分,其可包括封装材料。计算机可读媒体可包含例如同步动态随机存取存储器(SDRAM)的随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性或光学数据存储媒体等。另外或作为替代,可至少部分地通过计算机可读通信媒体来实现所述技术,所述计算机可读通信媒体以指令或数据结构的形式来载运或传送代码且可由计算机存取、读取和/或执行。
[0129] 可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一个或一个以上处理器来执行所述代码。因此,本文中所使用的术语“处理器”可指上述结构中的任一者或适合于实施本文中所描述的技术的任何其它结构。另外,在一些方面中,可在经配置以用于编码和解码的专用软件模块或硬件模块内提供本文中所描述的功能性,或将所述功能性并入组合的视频编码器-解码器(CODEC)中。
[0130] 本发明也可针对一种电路,例如集成电路、芯片组ASIC、FPGA、逻辑或其各种组合,其经配置以执行本文中所描述的技术中的一者或一者以上。因此,本发明也涵盖经配置以执行上文所描述的技术中的任一者的电路。举例来说,本发明可提供经配置以对SVC方案中的增强层的精细化系数进行译码的电路,其中所述电路经配置以评估与SVC方案的一个或一个以上先前层相关联的变换系数值的历史,且基于所述历史来估计与SVC方案的当前层相关联的一个或一个以上精细化系数值。
[0131] 已描述了本发明的各种实施例。这些和其它实施例均在所附权利要求书的范围内。