用于视频译码的基于运行模式的系数译码的制作方法

文档序号:7990337阅读:189来源:国知局
用于视频译码的基于运行模式的系数译码的制作方法
【专利摘要】一种视频译码装置经配置以对视频数据的残余块的系数进行译码。当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时,所述视频译码装置可执行函数以确定所述系数的数据与码字索引值之间的映射,且使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。在一些实例中,所述视频译码装置可包含视频编码器或视频解码器。
【专利说明】用于视频译码的基于运行模式的系数译码
[0001]本申请案主张2011年6月3日申请的第61 / 493,337号美国临时申请案,2011年7月5日申请的第61 / 504,673号美国临时申请案及2011年9月23日申请的第61 /538,658号美国临时申请案的权益,所述临时申请案中的每一者的全部内容特此以引用的方式并入。
【技术领域】
[0002]本发明涉及视频译码,且更特定来说涉及对视频数据的残余块的系数进行译码。【背景技术】
[0003]数字视频能力可并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术(例如,由MPEG-2、MPEG-4、ITU-TH.263或ITU-T H.264 / MPEG-4第10部分高级视频译码(AVC)定义的标准及这些标准的扩展中所描述的视频压缩技术)以较有效地发射及接收数字视频信息。
[0004]视频压缩技术执行空间预测及/或时间预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码来说,可将视频帧或片段分割为宏块。可进一步分割每一宏块。使用关于相邻宏块的空间预测来对经帧内译码(I)的帧或片段中的宏块进行编码。经帧间译码(P或B)的帧或片段中的宏块可使用关于同一帧或片段中的相邻宏块的空间预测或关于其它参考帧的时间预测。

【发明内容】

[0005]大体来说,本发明描述用于对视频数据的块的系数进行译码的技术。视频数据的块(例如,变换单元(TU))可包括多个经量化的变换系数。视频译码装置可使用运行-等级(run-level)模式来对系数进行译码,其中通过“运行”值对非零系数的数据共同地进行译码,所述“运行”值描述当前非零系数与扫描次序中的后续非零系数之间的零值系数的数目。具体来说,非零系数的数据可包含指示所述非零系数是否具有等于“I”或大于一的绝对值的值,其中此数据可包含等级ID值。所述视频译码装置可使用码字来对{运行,等级ID}对进行译码,其中可使用码字映射表来选择所述码字,所述码字映射表提供对应于所述{运行,等级ID}对的码字的码字索引。所述码字可包含可变长度码字或经二进制化的值,所述经二进制化的值可使用二进制算术译码来进一步译码。通常,译码装置使用二维查找表以确定码字索引,其中维度包括当前非零系数的扫描次序中的位置及运行中的零值系数的数目以确定码字索引。本发明提议使用一维表或近似此一维表的函数,以确定所述扫描中的某些位置的码字索引。
[0006]在一个实例中,一种对视频数据进行译码的方法包括:当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时:执行函数以确定所述系数的数据与码字索引值之间的映射,且使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
[0007]在另一实例中,一种用于对视频数据进行译码的装置,所述装置包括视频译码器,所述视频译码器经配置以:当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时,执行函数以确定所述系数的数据与码字索引值之间的映射,且使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
[0008]在另一实例中,一种装置包括:用于当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时执行函数以确定所述系数的数据与码字索引值之间的映射的装置;及用于当所述系数具有所述扫描次序值时且当所述系数为所述变换单元中的所述扫描次序中的所述末位有效系数时使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码的装置。
[0009]在另一实例中,一种计算机程序产品包括计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在被执行时使用于对视频数据进行译码的装置的处理器在视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时,执行函数以确定所述系数的数据与码字索引值之间的映射,且使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
[0010]在随附图式及以下描述中阐述一个或一个以上实例的细节。其它特征、目标及优点将通过所述描述及所述图式以及通过权利要求书显而易见。
【专利附图】

【附图说明】
[0011]图1为说明可利用用于对视频数据的块的系数进行译码的技术的实例视频编码及解码系统的框图。
[0012]图2为说明可实施用于对视频数据的块的系数进行译码的技术的视频编码器的实例的框图。
[0013]图3为说明可实施用于对视频数据的块的系数进行译码的技术的视频解码器的实例的框图。
[0014]图4为说明视频数据的块的系数的实例锯齿形扫描的概念图。
[0015]图5为说明用于对当前块进行编码的实例方法的流程图。
[0016]图6为说明用于对当前块的系数的码字索引进行编码的实例方法的流程图。
[0017]图7为说明用于对视频数据的当前块进行解码的实例方法的流程图。
[0018]图8为说明用于对当前块的系数的码字索引进行解码的实例方法的流程图。
【具体实施方式】
[0019]大体来说,本发明描述用于对视频数据的块的系数进行译码的技术。视频数据包括迅速连续地播放以模拟运动的帧(或图片)的序列。可将所述帧中的每一者划分为块。
[0020]视频编码器试图通过利用空间及时间冗余来压缩视频数据。举例来说,视频编码器可通过相对于相邻的先前译码的块来对一块进行译码而利用空间冗余。同样,视频编码器可通过相对于先前译码的块的数据来对一块进行译码而利用时间冗余。特定来说,视频编码器可根据空间相邻者的数据或根据先前译码的帧的数据来预测当前块,接着可按照所述块的实际值与所述块的所预测值之间的差来计算所述块的残余值。一块的残余包括像素(或空间)域中的逐个像素差值。
[0021]视频编码器可接着将变换应用于所述残余(也称作变换单元(TU))的值以试图将所述值的能量压缩为变换域(例如,频域)中的相对较小数目个系数。视频编码器可接着将变换系数量化。视频编码器可进一步扫描经量化的变换系数以将经量化的变换系数的二维矩阵转换为包括经量化的变换系数的一维向量。扫描系数的过程有时称作将系数串行化。
[0022]视频编码器可接着应用熵译码过程以对经扫描系数进行熵编码。熵译码大体上包括上下文自适应性可变长度译码(CAVLC)及上下文自适应性二进制算术译码(CABAC)。CAVLC大体上包括可变长度码字(VLC)表的选择,其中码字表将待编码的值映射到可变长度码字。大体来说,VLC表经建构以使得较短长度的码字指派给具有较高概率的符号或值,而较长长度的码字指派给具有较低概率的符号或值。在CAVLC中,通常以从最高频率到最低频率的次序来扫描系数。在CABAC中,待译码的数据可首先经二进制化,从而形成经二进制化的值,且所述经二进制化的值可接着经二进制算术译码。二进制化表可提供经二进制化的值与待二进制化的数据(或者,对于解码器来说,经二进制化的值与对应数据)之间的映射。
[0023]替代直接对系数的值(也就是说,等级)进行译码,视频译码装置可对表示一对值的值进行译码,所述对值指示:在下一非零系数与当前非零系数之间的所述扫描中的零值系数的数目(称为术语“运行”或“零运行长度”);及当前系数是否具有等于一或大于一的绝对值的指示符(称为术语“等级ID”)。此对值可映射到码字索引(称作“cn”),且所述码字索引可对应于选定表中的码字的索引。也就是说,码字映射表可将{运行,等级ID}对映射到码字索引值cn,且所述值cn可对应于表中的码字。举例来说,值cn可对应于VLC表中的VLC码字或二进制化表中的经二进制化的值。
[0024]视频译码装置可基于所述扫描中的当前系数的位置来确定{运行,等级ID}对到cn的映射。使值k对应于当前系数与反向扫描次序的末位系数(也就是说,反向扫描中的最后系数)之间的系数的数目。另外,使E(运行,k)表示传回待在确定位置k处{运行,等级ID}对的cn值时使用的值的函数。是否使用E (运行,k)可基于k是否小于阈值。
[0025]本发明提供用于针对某些特殊情况使用函数而非二维表的技术。举例来说,函数可用于如下特殊情况:对于当前系数来说,k小于所述阈值,运行=k+l且等级ID=0。使El (k)表示此函数。此为特殊情况,因为其对应于反向扫描中的末位有效(也就是说,为非零值)系数。以下伪码提供用于使用经修改的El (k)函数的实例基于编码器的方法:
[0026]编码器:
[0027]
【权利要求】
1.一种对视频数据进行译码的方法,所述方法包含: 当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时: 执行函数以确定所述系数的数据与码字索引值之间的映射;及 使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
2.根据权利要求1所述的方法,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述方法进一步包含当所述第一系数的所述数据包含{运行,等级ID}对以使得运行值等于到达所述变换单元中的所述第一系数左侧的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时: 执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射;及 使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
3.根据权利要求1所述的方法,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述方法进一步包含当所述第一系数的所述数据包含{运行,等级ID}对以使得所述运行值等于到达所述变换单元中的所述第一系数上方的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时: 执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射;及 使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
4.根据权利要求1所述的方法,其中所述阈值包含第一阈值,且其中执行所述函数及对所述数据进行译码包含当所述扫描次序值小于所述第一阈值且大于第二阈值时执行所述函数及对所述数据进行译码,其中所述第二阈值小于所述第一阈值。
5.根据权利要求1所述的方法,其进一步包含在用于包括所述变换单元的片段的片段参数集合SPS、用于包括所述变换单元的所述片段的自适应参数集合APS及用于包括所述变换单元的图片的图片参数集合PPS中的至少一者中对指示所述阈值的信令值进行译码。
6.根据权利要求1所述的方法,其中对所述系数的所述数据进行译码包含在视频编码过程期间使用所述码字来对所述系数的{运行,等级ID}对进行编码。
7.根据权利要求1所述的方法,其中对所述系数的所述数据进行译码包含在视频解码过程期间使用所述码字来确定所述系数的{运行,等级ID}对。
8.根据权利要求1所述的方法,其中所述码字包含经二进制化的值,且其中对所述数据进行译码进一步包含使用上下文自适应性二进制算术译码CABAC对所述经二进制化的值进行熵译码。
9.根据权利要求1所述的方法,其中对所述数据进行译码包含对所述码字进行解码以再生所述码字索引值,且其中执行所述函数包含在对所述码字进行解码之后执行所述函数以根据所述码字索引值确定所述系数的所述数据。
10.根据权利要求9所述的方法,其中对所述码字进行解码包含:对数据进行熵解码以再生经二进制化的值,其中所述经二进制化的值包含所述码字;及确定所述经二进制化的值所对应的所述码字索引值。
11.根据权利要求9所述的方法,其进一步包含:确定对应于所述变换单元的预测性数据;再生所述变换单元的残余数据;及组合所述预测性数据与所述残余数据。
12.根据权利要求1所述的方法,其中对所述系数的所述数据进行译码包含在执行所述函数之后使用所述码字对所述数据进行编码。
13.一种用于对视频数据进行译码的装置,所述装置包含视频译码器,所述视频译码器经配置以:当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时,执行函数以确定所述系数的数据与码字索引值之间的映射,且使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
14.根据权利要求13所述的装置,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,其中所述系数包含第一系数,且其中所述视频译码器经进一步配置以当所述第一系数的所述数据包含{运行,等级ID}对以使得运行值等于到达所述变换单元中的所述第一系数左侧的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时,执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射,且使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
15.根据权利要求13所述的装置,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,其中所述系数包含第一系数,且其中所述视频译码器经进一步配置以当所述第一系数的所述数据包含{运行,等级ID}对以使得所述运行值等于到达所述变换单元中的所述第一系数上方的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时,执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射,且使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
16.根据权利要求13所述的装置,其中所述阈值包含第一阈值,且其中所述视频译码器经配置以当所述扫描`次序值小于所述第一阈值且大于第二阈值时执行所述函数且对所述数据进行译码,其中所述第二阈值小于所述第一阈值。
17.根据权利要求13所述的装置,其中所述视频译码器经进一步配置以在用于包括所述变换单元的片段的片段参数集合SPS、用于包括所述变换单元的所述片段的自适应参数集合APS及用于包括所述变换单元的图片的图片参数集合PPS中的至少一者中对指示所述阈值的信令值进行译码。
18.根据权利要求13所述的装置,其中所述视频译码器包含视频解码器。
19.根据权利要求18所述的装置,其中为了对所述系数的所述数据进行译码,所述视频解码器经配置以使用所述码字来确定所述系数的{运行,等级ID}对。
20.根据权利要求18所述的装置,其中所述视频解码器经配置以对所述码字进行解码以再生码字索引值,且其中为了执行所述函数,所述视频解码器经配置以在对所述码字进行解码之后执行所述函数以根据所述码字索引值确定所述系数的所述数据。
21.根据权利要求13所述的装置,其中所述视频译码器包含视频编码器。
22.根据权利要求21所述的装置,其中为了对所述系数的所述数据进行译码,所述视频编码器经配置以在视频编码过程期间使用所述码字来对所述系数的{运行,等级ID}对进行编码。
23.根据权利要求13所述的装置,其中所述码字包含经二进制化的值,且其中为了对所述数据进行译码,所述视频译码器经配置以使用上下文自适应性二进制算术译码CABAC对所述经二进制化的值进行译码。
24.一种用于对视频数据进行译码的装置,所述装置包含: 用于当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时执行函数以确定所述系数的数据与码字索引值之间的映射的装置;及 用于当所述系数具有所述扫描次序值时且当所述系数为所述变换单元中的所述扫描次序中的所述末位有效系数时使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码的装置。
25.根据权利要求24所述的装置,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述装置进一步包含: 用于当所述第一系数的所述数据包含{运行,等级ID}对以使得运行值等于到达所述变换单元中的所述第一系数左侧的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射的装置;及 用于当所述第一系数的所述数据包含所述{运行,等级ID}对时且当所述第二系数具有大于零的所述值时使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码的装置。
26.根据权利要求24所述的装置,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述装置进一步包含: 用于当所述第一系数的所述数据包含{运行,等级ID}对以使得所述运行值等于到达所述变换单元中的所述第一系数上方的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射的装置;及 用于当所述第一系数的所述数据包含所述{运行,等级ID}对时且当所述第二系数具有大于零的所述值时使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码的装置。
27.根据权利要求24所述的装置,其中所述阈值包含第一阈值,且其中用于执行所述函数的所述装置及用于对所述数据进行译码的所述装置包含在所述扫描次序值小于所述第一阈值且大于第二阈值时用于执行所述函数的装置及用于对所述数据进行译码的装置,其中所述第二阈值小于所述第一阈值。
28.根据权利要求24所述的装置,其进一步包含用于在用于包括所述变换单元的片段的片段参数集合SPS、用于包括所述变换单元的所述片段的自适应参数集合APS及用于包括所述变换单元的图片的图片参数集合PPS中的至少一者中对指示所述阈值的信令值进行译码的装置。
29.根据权利要求24所述的装置,其中用于对所述系数的所述数据进行译码的所述装置包含用于在视频解码过程期间使用所述码字来确定所述系数的{运行,等级ID}对的装置。
30.根据权利要求29所述的装置,其中用于对所述数据进行译码的所述装置包含用于对所述码字进行解码以再生所述码字索引值的装置,且其中用于执行所述函数的所述装置包含用于在对所述码字进行解码之后执行所述函数以根据所述码字索引值确定所述系数的所述数据的装置。
31.根据权利要求24所述的装置,其中用于对所述系数的所述数据进行译码的所述装置包含用于在视频编码过程期间使用所述码字来对所述系数的{运行,等级ID}对进行编码的装置。
32.根据权利要求24所述的装置,其中所述码字包含经二进制化的值,且其中用于对所述数据进行译码的所述装置进一步包含用于使用上下文自适应性二进制算术译码CABAC对所述经二进制化的值进行熵译码的装置。
33.一种计算机程序产品,其包含计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在被执行时,使用于对视频数据进行译码的装置的处理器当视频数据的变换单元的系数具有小于阈值的扫描次序值时且当所述系数为所述变换单元中的扫描次序中的末位有效系数时: 执行函数以确定所述系数的数据与码字索引值之间的映射;且 使用与所述码字索引值相关联的码字来对所述系数的所述数据进行译码。
34.根据权利要求33所述的计算机程序产品,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述计算机程序产 品进一步包含使所述处理器当所述第一系数的所述数据包含{运行,等级ID}对以使得运行值等于到达所述变换单元中的所述第一系数左侧的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时进行如下操作的指令:执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射;且 使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
35.根据权利要求33所述的计算机程序产品,其中所述函数包含第一函数,其中所述映射包含第一映射,其中所述码字索引值包含第一码字索引值,且其中所述系数包含第一系数,所述计算机程序产品进一步包含使所述处理器当所述第一系数的所述数据包含{运行,等级ID}对以使得所述运行值等于到达所述变换单元中的所述第一系数上方的第二系数的所述扫描次序中的系数的数目时且当所述第二系数具有大于零的绝对值时进行如下操作的指令: 执行第二函数以确定所述第一系数的所述数据与第二码字索引值之间的第二映射;且 使用与所述第二码字索引值相关联的码字来对所述第一系数的所述数据进行译码。
36.根据权利要求33所述的计算机程序产品,其中所述阈值包含第一阈值,且其中使所述处理器执行所述函数的所述指令及使所述处理器对所述数据进行译码的所述指令包含当所述扫描次序值小于所述第一阈值且大于第二阈值时使所述处理器执行所述函数的指令及使所述处理器对所述数据进行译码的指令,其中所述第二阈值小于所述第一阈值。
37.根据权利要求33所述的计算机程序产品,其进一步包含使所述处理器在用于包括所述变换单元的片段的片段参数集合SPS、用于包括所述变换单元的所述片段的自适应参数集合APS及用于包括所述变换单元的图片的图片参数集合PPS中的至少一者中对指示所述阈值的信令值进行译码的指令。
38.根据权利要求33所述的计算机程序产品,其中使所述处理器对所述系数的所述数据进行译码的所述指令包含使所述处理器对所述系数的所述数据进行解码的指令。
39.根据权利要求38所述的计算机程序产品,其中使所述处理器对所述系数的所述数据进行译码的所述指令包含使所述处理器使用所述码字确定所述系数的{运行,等级ID}对的指令。
40.根据权利要求38所述的计算机程序产品,其中使所述处理器对所述数据进行译码的所述指令包含使所述处理器对所述码字进行解码以再生所述码字索引值的指令,且其中使所述处理器执行所述函数的所述指令包含使所述处理器在对所述码字进行解码之后执行所述函数以根据所述码字索引值确定所述系数的所述数据的指令。
41.根据权利要求38所述的计算机程序产品,其中使所述处理器对所述码字进行解码的所述指令包含:使所述处理器对数据进行熵解码以再生经二进制化的值的指令,其中所述经二进制化的值包含所述码字;及使所述处理器确定所述经二进制化的值所对应的所述码字索引值的指令。
42.根据权利要求33所述的计算机程序产品,其中使所述处理器对所述系数的所述数据进行译码的所述指令包含使所述处理器对所述系数的所述数据进行解码的指令。
43.根据权利要求42所述的计算机程序产品,其中使所述处理器对所述系数的所述数据进行译码的所述指令包含使所述处理器使用所述码字对所述系数的{运行,等级ID}对进行编码的指令。
44.根据权利要求33所述的计算机程序产品,其中所述码字包含经二进制化的值,且其中使所述处理器对所述数据进行译码的所述指令进一步包含使所述处理器使用上下文自适应性二进制算术译码CABAC对所述经二进制化的值进行熵译码的指令。
【文档编号】H04N19/91GK103563371SQ201280026338
【公开日】2014年2月5日 申请日期:2012年5月31日 优先权日:2011年6月3日
【发明者】郭立威, 马尔塔·卡切维奇, 翔林·王 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1