熵解码方法和使用其的解码装置转让专利

申请号 : CN201280025383.7

文献号 : CN103621099B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林宰显朴胜煜全勇俊金哲瑾崔瑛喜金廷宣朴乃利亨得利·亨得利全柄文朴俊永

申请人 : LG电子株式会社

摘要 :

本发明涉及熵解码方法和使用其的解码装置。按照本发明的熵解码方法包括:解码语法元素的二进制位的步骤;和基于解码的二进制位获得有关语法元素的信息的步骤。在解码二进制位的步骤中,对于语法元素的每个二进制位执行基于上下文的解码或者旁路解码。

权利要求 :

1.一种由解码装置执行熵解码方法,所述方法包括:

推导上下文信息,所述上下文信息关于用于intra_chroma_pred_mode语法元素的二进制位串的二进制位之中的第一二进制位;

对所述二进制位串的所述二进制位解码,其中,基于所述上下文信息对用于所述intra_chroma_pred_mode语法元素的所述二进制位串之中的所述第一二进制位执行解码,并且基于旁路解码对用于所述intra_chroma_pred_mode语法元素的所述二进制位串之中的剩余二进制位执行解码;以及基于所解码的二进制位推导所述intra_chroma_pred_mode语法元素的值。

2.根据权利要求1的方法,其中,在所述解码二进制位的步骤中,将独立的上下文应用于基于所述上下文信息解码的所述第一二进制位,以及其中,所述独立的上下文是与其它的上下文无关地被更新的上下文。

3.根据权利要求1的方法,其中,所述解码二进制位的步骤包括:

确定是否对用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位执行所述旁路解码;以及当确定不对所述第一二进制位执行所述旁路解码时,基于所述上下文信息解码所述第一二进制位。

4.根据权利要求1的方法,其中,所述解码二进制位的步骤包括:基于在上下文索引表中指配给所述第一二进制位的上下文索引解码用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位,所述上下文索引表将上下文索引指配给与语法元素相对应的二进制位。

5.根据权利要求1的方法,其中,在所述解码二进制位的步骤中,使用上下文索引表解码所述第一二进制位,其中,所述上下文索引表为所述语法元素的所述二进制位串的二进制位分配与要被解码的图片的图片类型相对应的偏移和上下文索引,以及其中,用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位基于由所述上下文索引和所述偏移指示的上下文被解码。

6.根据权利要求1的方法,其中,均匀概率分布被用于所述旁路解码。

7.根据权利要求1的方法,其中,在所述推导上下文信息的步骤中,所述上下文信息由用于所述第一二进制位的上下文索引偏移和上下文索引的总和来指示,以及其中,基于片之中当前的片类型是I片、P片还是B片来确定所述上下文索引偏移。

8.根据权利要求7的方法,其中,在所述推导上下文信息的步骤中,对所述第一二进制位分配二进制索引0。

9.根据权利要求1的方法,其中,所述上下文信息由所述二进制位的上下文索引偏移和上下文索引的总和来指定,以及其中,所述上下文索引偏移在当前片是I片时具有为0的值,在所述当前片是P片时具有为1的值,并且在所述当前片是B片时具有为2的值。

10.一种执行熵解码的解码装置,包括:

熵解码模块,所述熵解码模块被配置为推导上下文信息,所述上下文信息关于用于intra_chroma_pred_mode语法元素的二进制位串的二进制位之中的第一二进制位;对所述二进制位串的所述二进制位解码,其中,基于所述上下文信息对用于所述intra_chroma_pred_mode语法元素的所述二进制位串之中的所述第一二进制位执行解码,并且基于旁路解码对用于所述intra_chroma_pred_mode语法元素的所述二进制位串之中的剩余二进制位执行解码;以及基于所解码的二进制位推导所述intra_chroma_pred_mode语法元素的值。

11.根据权利要求10的解码装置,其中,将独立的上下文应用于基于所述上下文信息解码的所述第一二进制位,以及其中,所述独立的上下文是与其它的上下文无关地被更新的上下文。

12.根据权利要求10的解码装置,其中,所述熵解码模块确定是否对用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位执行所述旁路解码;以及当确定不对所述第一二进制位执行所述旁路解码时,基于所述上下文信息解码所述第一二进制位。

13.根据权利要求10的解码装置,其中,所述熵解码模块基于在上下文索引表中指配给所述第一二进制位的上下文索引解码用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位,所述上下文索引表将上下文索引指配给与语法元素相对应的二进制位。

14.根据权利要求10的解码装置,其中,使用上下文索引表解码所述第一二进制位,其中,所述上下文索引表为用于所述语法元素的所述二进制位串的二进制位分配与要被解码的图片的图片类型相对应的偏移和上下文索引,以及其中,用于所述intra_chroma_pred_mode语法元素的所述二进制位串的所述第一二进制位基于由所述上下文索引和所述偏移指示的上下文被解码。

15.根据权利要求10的解码装置,其中,均匀概率分布被用于所述旁路解码。

16.根据权利要求10的解码装置,其中,所述上下文信息由用于所述第一二进制位的上下文索引偏移和上下文索引的总和来指示,以及其中,基于片之中当前的片类型是I片、P片还是B片来确定所述上下文索引偏移。

17.根据权利要求16的解码装置,其中,对所述第一二进制位分配二进制索引0。

18.根据权利要求10的解码装置,其中,所述上下文信息由所述二进制位的上下文索引偏移和上下文索引的总和来指定,以及其中,所述上下文索引偏移在当前片是I片时具有为0的值,在所述当前片是P片时具有为1的值,并且在所述当前片是B片时具有为2的值。

说明书 :

熵解码方法和使用其的解码装置

技术领域

[0001] 本发明涉及视频压缩技术,尤其是,涉及执行熵编译(编码/解码)的方法和使用该方法的设备。

背景技术

[0002] 近年来,对高分辨率和高质量图像的需求在各种应用领域中已经增长。随着图像具有更高的分辨率和更高的质量,有关视频的数据量增长得越来越多。因此,当使用诸如现有的有线或者无线宽带线路的介质传送视频数据,或者视频数据被存储在现有的存储介质中时,数据的传送成本和存储成本增长。
[0003] 为了有效地传送、存储和再现有关高分辨率和高质量图像的信息,能够使用高效的视频压缩技术。
[0004] 为了提高视频压缩效率,能够使用无需传送当前块的信息,使用当前块的邻近块的信息来预测当前块的信息的方法。
[0005] 间预测(inter prediction)和内预测(intra prediction)可以用作该预测方法。在间预测中,参考其他图片的信息预测当前图片的像素值。在内预测中,使用在相同的图片中的像素间关系预测当前图片的像素值。当执行间预测时,在间预测模式中能够使用指示参考图片的信息和指示相对于邻近块的运动矢量的信息,以指定将用于预测的另一个图片的一部分。
[0006] 编码设备熵编码包括预测结果的视频信息,并且将编码的视频信息与比特流一起发送。解码设备熵解码接收到的比特流,并且重建视频信息。
[0007] 通过使用熵编码和熵解码可以提高视频信息的压缩效率。

发明内容

[0008] 技术问题
[0009] 本发明的一个目的是提供用于有效地执行熵编译以提高编译效率的方法和设备。
[0010] 本发明的另一个目的是提供用于在熵编译时有效地利用上下文的方法和设备。
[0011] 本发明的另一个目的是提供用于在熵编译时根据状态和条件利用不同的上下文的方法和设备。
[0012] 问题解决方案
[0013] (1)按照本发明的一个方面,提供了一种熵解码方法,该方法包括步骤:解码语法元素的二进制位(bin);和基于解码的二进制位获得有关语法元素的信息,其中解码二进制位的步骤包括对语法元素的二进制位执行基于上下文的解码或者旁路解码。此时,该上下文可以被自适应地计算或者可以具有预先确定的固定值。
[0014] (2)在(1)中,解码二进制位的步骤可以包括将独立的上下文应用于语法元素的二进制位。
[0015] (3)在(1)中,解码二进制位的步骤可以包括将旁路模式应用于语法元素的二进制位的一些二进制位,并且将独立的上下文应用于其它的二进制位。
[0016] (4)在(1)中,解码二进制位的步骤可以包括将独立的上下文应用于基于上下文解码的二进制位,并且独立的上下文可以是与其它的上下文无关地被更新的上下文。
[0017] (5)在(1)中,解码二进制位的步骤可以包括确定语法元素的二进制位是否将被旁路解码,并且当确定二进制位不被旁路解码时,执行基于上下文的解码。
[0018] (6)在(1)中,解码二进制位的步骤可以包括利用上下文索引表基于分配给语法元素的二进制位的上下文索引执行解码,在上下文索引表上,上下文索引被分配给语法元素的二进制位。
[0019] (7)在(6)中,上下文索引表可以将相同的上下文索引分配给语法元素的二进制位的一些二进制位。
[0020] (8)在(6)中,上下文索引表可以将相同的上下文索引分配给语法元素的二进制位的一些二进制位,并且可以将旁路模式分配给一些二进制位。
[0021] (9)在(1)中,解码二进制位的步骤包括使用上下文索引表执行解码。
[0022] 上下文索引表可以基于要编译的图片的类型将上下文索引和偏移分配给语法元素的二进制位,并且语法元素的二进制位可以基于由上下文索引和偏移的总和指示的上下文来被解码。
[0023] (10)在(9)中,上下文索引表可以将相同的上下文索引分配给语法元素的二进制位的一些二进制位。
[0024] (11)在(9)中,上下文索引表可以将相同的上下文索引分配给语法元素的二进制位的一些二进制位,并且可以将旁路模式分配给一些二进制位。
[0025] (12)按照本发明的另一个方面,提供了一种熵解码设备,包括:熵解码模块,该熵解码模块解码语法元素的二进制位;和预测模块,该预测模块基于解码的语法元素产生预测块,其中熵解码模块对语法元素的二进制位执行基于上下文的解码或者旁路解码。
[0026] (13)在(12)中,熵解码模块可以将旁路模式应用于语法元素的二进制位的一些二进制位,并且可以将独立的上下文应用于其它的二进制位。
[0027] (14)在(12)中,熵解码模块可以利用上下文索引表基于分配给语法元素的二进制位的上下文索引执行解码,在上下文索引表上,上下文索引被分配给二进制位。
[0028] (15)在(12)中,熵解码模块可以使用上下文索引表执行解码,上下文索引表可以基于要编译的图片的类型将上下文索引和偏移分配给语法元素的二进制位,并且语法元素的二进制位可以基于由上下文索引和偏移的总和指示的上下文来被解码。
[0029] 有益效果
[0030] 按照本发明,可以有效地执行熵编译以提高编译效率。
[0031] 按照本发明,可以在执行熵编译时通过有效地利用上下文提高熵编译的编译效率。
[0032] 按照本发明,可以在执行熵编译和应用不同的上下文时通过反映状态和条件提高熵编译的编译效率。

附图说明

[0033] 图1是按照本发明的一个实施例示意地图示视频编码设备(编码器)的方框图。
[0034] 图2是按照本发明的一个实施例示意地图示视频解码设备(解码器)的方框图。
[0035] 图3是示意地图示用于内预测的内预测模式示例的示意图。
[0036] 图4是按照本发明示意地图示熵编译的示例的示意图。
[0037] 图5是按照本发明示意地图示熵解码过程的示例的流程图。

具体实施方式

[0038] 本发明能够以各种形式不同地修改,并且能够具有各种实施例,其具体实施例将被详细地描述并且在附图中示出。但是,实施例不意欲限制本发明。在以下的描述中使用的术语仅用于描述具体的实施例,但是,不意欲限制本发明的技术精神。单数的表示包括复数的表示,只要其被清楚不同地解读。术语,诸如“包括”和“具有”意欲指示存在在以下的描述中使用的特征、数目、步骤、操作、元件、组件,或者其组合,并且因此,应该理解,不排除存在或者增加一个或多个不同的特征、数目、步骤、操作、元件、组件,或者其组合的可能性。
[0039] 另一方面,在本发明描述的附图中的元件为了解释不同的特定功能的便利的目的在视频编码/解码设备中独立地绘制,并且不意味元件由单独的硬件或者单独的软件实施。例如,元件之中的两个或更多个元件可以组合以形成单个元件,或者一个元件可以被分成多个元件。不脱离本发明的概念,元件被组合和/或划分的实施例属于本发明的范围。
[0040] 在下文中,本发明示范的实施例将参考伴随的附图被详细描述。
[0041] 图1是按照本发明的一个实施例示意地举例说明视频编码设备(编码器)的方框图。参考图1,视频编码设备100包括图片划分模块105、预测模块110、变换模块115、量化模块120、重新排列模块125、熵编码模块130、去量化模块135、反变换模块140、滤波器模块145,和存储器150。
[0042] 图片划分模块105能够将输入图片划分为至少一个处理单元。在这里,处理单元可以是预测单元(在下文中,称为“PU”),变换单元(在下文中,称为“TU”),或者编译单元(在下文中,称为“CU”)。在本说明书中,为了解释便利的目的,预测单元可以由预测块表示,变换单元可以由变换块表示,编译单元可以由编译块表示。
[0043] 预测模块110包括执行间预测处理的间预测模块,和执行内预测处理的内预测模块。为了提高编译效率,图片信号不是没有任何变化地编码,而是被编码以便通过使用预先编码的区域来预测图片,以及将原始图片和预测图片之间的残留值添加到预测图片来重建图片。
[0044] 作为包括用于预测的预先编码的区域的图片,I图片(I片(slice))、P图片(P片)、B图片(B片)等等是已知的。I片是仅仅经由内预测解码的片。P片是能够使用至少一个运动矢量和参考图片索引经由间预测或者内预测来解码以便预测块的采样值的片。B片是能够使用至少两个运动矢量和参考图片索引经由间预测或者内预测来解码以便预测块的采样值的片。
[0045] 预测模块110对图片的处理单元执行预测处理,以创建包括预测的采样的预测块。在预测模块110中,图片的处理单元可以是CU、TU或者PU。能够确定对相应的处理单元执行的预测是间预测还是内预测,并且能够确定预测方法的特定细节(例如,预测模式)。经历预测处理的处理单元可以不同于其预测方法和特定细节被确定的处理单元。例如,预测方法和预测模式可以通过PU单元确定,并且预测处理可以通过TU单元执行。
[0046] 在间预测中,基于与当前图片的先前图片和/或后续图片中的至少一个有关的信息来执行预测处理以创建预测块。在内预测中,基于当前图片的像素信息执行预测处理以创建预测块。
[0047] 在间预测中,参考图片被选择用于当前块,并且具有与当前块相同大小的参考块被选择以创建当前块的预测块。例如,在间预测中,预测块能够被创建以便最小化相对于当前块的残留信号,并且最小化运动矢量的量值。另一方面,跳过模式、合并模式、AMVP(高级运动矢量预测)等等能够用作内预测方法。可以以小于整数像素的像素采样,诸如1/2像素采样和1/4像素采样,为单位创建预测块。在这里,也能够以小于整数像素的像素采样为单位表示运动矢量。例如,能够以1/4像素为单位表示亮度像素,并且能够以1/8像素为单位表示色度像素。
[0048] 信息,诸如经由间预测选择的参考图片的索引、运动矢量预测值,以及残留信号被熵编码,并且被发送给解码器。
[0049] 当执行内预测的时候,经历预测处理的处理单元可以不同于其预测方法和特定细节被确定的处理单元。例如,预测模式可以以PU为单位确定,并且预测处理可以以PU为单位执行。做为选择,预测模式可以以PU为单位确定,并且间预测可以以TU为单位执行。
[0050] 内预测中的预测模式包括33个定向预测模式和至少两个非定向模式。非定向模式包括DC预测模式和平面模式。
[0051] 在内预测中,能够在对参考采样应用滤波器之后创建预测块。此时,取决于内预测模式和/或当前块的大小,能够确定滤波器是否应被应用于参考采样。
[0052] 能够从没有再被划分的CU以各种大小/形状确定PU。例如,在间预测的情况下,PU能够具有诸如2N×2N、2N×N、N×2N和N×N的大小。在内预测的情况下,PU能够具有诸如2N×2N和N×N(这里N是整数)的大小。具有N×N大小的PU能够被设置为仅仅应用于特定的情形。例如,具有N×N大小的PU能够被设置为仅用于具有最小大小的编译单元,或者能够被设置为仅用于内预测。除了具有以上提及的大小的PU之外,具有诸如N×mN、mN×N、2N×mN和mN×2N(这里m<1)大小的PU可以被另外限定和使用。
[0053] 在创建的预测块和原始块之间的残留值(残留块或者残留信号)被输入给变换模块115。用于预测的预测模式信息、运动矢量信息等等通过熵编码模块130与残留值一起被编码,并且被发送给解码器。
[0054] 变换模块115以TU为单位对残留块执行变换处理,并且创建变换系数。在变换模块115中的变换单元可以是TU,并且可以具有四叉树结构。能够在预先确定的最大和最小的大小范围内确定变换单元的大小。变换模块115能够使用DCT(离散余弦变换)和/或DST(离散正弦变换)变换残留块。
[0055] 量化模块120能够量化由变换模块115变换的残留值,并且能够创建量化系数。由量化模块120计算的值能够提供给去量化模块135和重新排列模块125。
[0056] 重新排列模块125能够重新排列从量化模块120提供的量化系数。通过重新排列该量化系数,可以提高在熵编码模块130中的编码效率。该重新排列模块125能够通过使用系数扫描方法,将二维块的形式的量化系数重新排列为一维矢量的形式。重新排列模块125能够基于从量化模块发送的系数的随机统计数值,通过改变系数扫描的顺序来提高在熵编码模块130中的熵编码效率。
[0057] 该熵编码模块130对通过重新排列模块125重新排列的量化系数执行熵编码处理。熵编码方法的例子包括指数golomb方法、CAVLC(上下文自适应的可变长度编译)方法,和CABAC(上下文自适应的二进制算数编译)方法。熵编码模块130能够编码各种信息,诸如从重新排列模块125和预测模块110发送的编译单元的残留系数信息和块类型信息、预测模式信息、划分单元信息、预测单元信息、传输单元信息、运动矢量信息、参考图片信息、块内插信息,和滤波信息。
[0058] 必要时,该熵编码模块130可以将预先确定的变化赋予要发送的参数集或者语法。
[0059] 去量化模块135反向地量化由量化模块120量化的值。反变换模块140反向地变换由去量化模块135反向量化的值。由去量化模块135和反变换模块140创建的残留值与预测模块110预测的预测块合并,以创建重建块。
[0060] 滤波器模块145将解块滤波器、ALF(自适应环路滤波器)、SAO(采样自适应偏移)应用于重建的图片。
[0061] 解块滤波器在重建的图片中去除在块之间的边界上产生的块失真。ALF基于原始图片与其块被解块滤波器滤波的重建图片的比较的结果值执行滤波处理。可以只有当高效率是必需的时应用ALF。SAO重建在对其应用了解块滤波器的残留块和原始图片之间的偏移差,并且以带偏移、边缘偏移等等的形式被应用。
[0062] 另一方面,滤波器模块145可以不对用于间预测的重建块执行滤波处理。
[0063] 存储器150存储重建块或者由滤波器模块145计算的图片。存储在存储器150中的重建的块或者图片被提供给执行间预测的预测模块110。
[0064] 图2是按照本发明的一个实施例示意地举例说明视频解码设备(解码器)的方框图。参考图2,视频解码设备200包括熵解码模块210、重新排列模块215、去量化模块220、反变换模块225、预测模块230、滤波器模块235,和存储器240。
[0065] 当图片比特流从编码器输入的时候,以由编码器处理视频信息的顺序相反的顺序来解码输入的比特流。
[0066] 例如,当视频编码设备使用可变长度编译(在下文中,称为“VLC”)方法,诸如CAVLC去执行熵编码处理的时候,视频解码模块210能够实现与在视频编码设备中使用的VLC表相同的VLC表,并且能够执行熵解码处理。当视频编码设备使用CABAC去执行熵编码处理的时候,熵解码模块210能够使用与其对应的CABAC执行熵解码处理。
[0067] 在由熵解码模块210解码的信息之中用于创建预测块的信息被提供给预测模块230,并且由熵解码模块熵解码的残留值被输入给重新排列模块215。
[0068] 该重新排列模块215基于在视频编码设备中的重新排列方法来重新排列由熵解码模块210熵解码的比特流。该重新排列模块215将以一维矢量的形式表示的系数重建和重新排列为以二维块的形式的系数。该重新排列模块215被提供以与由编码器执行的系数扫描相关联的信息,并且能够基于由编码器执行扫描的扫描顺序使用反向地扫描系数的方法来执行重新排列。
[0069] 去量化模块220基于从编码器提供的量化参数和块的重新排列的系数值来执行去量化。
[0070] 反变换模块225对由视频编码设备产生的量化执行已经由视频编码设备的变换模块所执行的DCT和DST的反DCT和反DST。基于由视频编码设备确定的图片的传输单元或者划分单元来执行反变换。视频编码设备的变换模块取决于多个信息元素,诸如预测方法、当前块的大小和预测方向,有选择地执行DCT和DST,并且视频解码设备的反变换模块225基于与由视频编码设备的变换模块执行的变换有关的变换信息执行反变换。
[0071] 预测模块230基于从熵解码模块210提供的预测块创建信息,以及从存储器240提供的先前解码的块和/或图片信息来创建预测块。能够使用由预测模块230创建的预测块和从反变换模块225提供的残留块创建重建块。
[0072] 由预测模块230执行的特定预测方法与由编码器的预测模块执行的预测方法相同。
[0073] 在当前块的预测模式是内预测模式的时候,创建预测块的内预测处理能够基于当前图片的像素信息来执行。
[0074] 内预测中的预测模式包括33个定向预测模式和至少两个非定向模式。非定向模式包括DC预测模式和平面模式。
[0075] 在内预测中,能够在将滤波器应用于参考采样之后创建预测块。此时,取决于内预测模式和/或当前块的大小,能够确定滤波器是否应用于参考采样。
[0076] 当用于当前块的预测模式是间预测模式的时候,当前图片的先前图片和后续图片中的至少一个被用作参考图片,并且基于包括在参考图片中的信息对当前块执行间预测处理。特别地,在间预测中,用于当前块的参考图片被选择,具有与当前块相同大小的参考块被选择,并且当前块的预测块被创建。例如,在间预测中,能够创建预测块以便最小化相对于当前块的残留信号,并且最小化运动矢量的量值。当前图片的邻近块的信息被用于使用参考图片的信息。例如,通过使用跳过模式、合并模式、AMVP(高级运动矢量预测)模式等等,基于邻近块的信息创建当前块的预测块。
[0077] 可以以小于整数像素的像素采样,诸如1/2像素采样和1/4像素采样为单位创建预测块。在这里,也能够以小于整数像素的像素采样为单位表示运动矢量。例如,亮度像素可以以1/4像素为单位表示,并且色度像素可以以1/8像素为单位表示。
[0078] 为当前块的间预测所必需的运动信息,例如,有关运动矢量、参考图片索引等等的信息能够从接收自编码器的跳过标记、合并标记等等而推导出。
[0079] 经历预测处理的处理单元可以不同于其预测方法和特定细节被确定的处理单元。例如,预测模式可以以PU为单位确定,并且预测处理可以以PU为单位执行。做为选择,预测模式可以以PU为单位确定,并且间预测可以以TU为单位执行。
[0080] 从反变换模块225输出的残留块被加到从预测模块230输出的预测块,以重建原始图片。
[0081] 重建的块和/或图片被提供给滤波器模块235。该滤波器模块235对重建的块和/或图片执行解块滤波处理、SAO(采样自适应偏移)处理,和/或自适应环路滤波处理。
[0082] 存储器240存储重建的图片或者块,以用作为参考图片或者参考块,并且将重建的图片提供给输出模块。
[0083] 虽然为解释便利的目的没有描述,但输入给解码器的比特流可以经由解析步骤输入给熵解码模块。该解析步骤可以由熵解码模块执行。
[0084] 在本说明书中,编译有时候可以作为编码或者解码来分析,并且信息可以理解为包括值、参数、系数、元素等等的全部。
[0085] “屏幕”或者“图片”可以指的是用于表示特定时间区域的图像的单元,并且“片”、“帧”等等指的是在实际编译视频信号中构成图片一部分的单元,并且有时候可以与图片相混。
[0086] “像素”或者“像元”可以指的是构成图像(图片)的最小单元。“采样”能够用作表示特定像素的值的术语。采样能够被划分为亮度分量和色度分量,并且通常用作为包括两者的术语。色度分量表示在确定的颜色之间的差别,并且通常包括Cb和Cr。
[0087] “单元”用作表示图像处理的基本单元或者图像的特定位置的术语,诸如预测单元(PU)和变换单元(TU),并且依据情形可以与术语“块”和“区域”相混。在通常情形下,块用作表示以M列和N行布置的一组采样或者变换系数的术语。
[0088] 另一方面,在间预测模式的情况下,解码器和编码器提取当前块的运动信息,并且基于提取的运动信息对当前块执行间预测。
[0089] 用于预测当前块的图片称为参考图片或者参考帧。在参考图片中的区域能够使用用于指示参考图片和运动矢量的参考图片索引(refIdx)来表示。
[0090] 用于当前图片的参考图片列表能够由用于预测的图片构成,并且参考图片索引指示在参考图片列表中的特定参考图片。P图片需要单个参考图片列表,诸如参考列表0,并且B图片需要两个参考图片列表,诸如参考列表0和参考列表1。
[0091] 特别地,I图片是经由内预测而编码/解码的图片。P图片是能够使用至少一个运动矢量和参考图片索引经由间预测或者内预测而编码/解码,以预测块的采样值的图片。B图片是能够使用至少两个运动矢量和参考图片索引经由间预测或者内预测而编码/解码,以预测模块的采样值的图片。
[0092] P图片需要一个参考图片列表,其称作参考图片列表0(L0)。
[0093] B图片是能够使用两个参考图片例如经由前向、后向和双向间预测而编码的图片。B图片需要两个参考图片列表,其称作参考图片列表0(L0)和参考图片列表1(L1)。
[0094] 使用从L0中选择的参考图片的间预测称作L0预测。L0预测主要地用于前向预测。使用从L1中选择的参考图片的间预测称作L1预测。L1预测主要地用于后向预测。使用从L0和L1中选择的两个参考图片的间预测称作双向预测。
[0095] I图片、P图片和B图片的特征能够以片为单位,而不以图片为单位来定义。例如,能够定义以片为单位的具有I图片特征的I片、具有P图片特征的P片,和具有B图片特征的B片。
[0096] 例如,在当前块的片类型是B时,从L0中选择colPic,或者在当前块的片类型是P时,能够从L0中选择colPic。在B片(B图片)之中,其中参考图片列表L0和参考图片列表L1彼此相等的片(图片)被称作GPB(一般化的P和B)。
[0097] 如上参考图1和2所述,预测模块基于在当前图片中的像素信息执行内预测,并且生成当前块的预测块。例如,预测模块能够使用属于当前块的邻近块的像素预测当前块的像素值,当前块的邻近块例如是位于当前块的上侧的块、位于当前块的左侧的块、位于当前块的左上角的块、位于当前块的左下侧的块,和位于当前块的右上侧的块。
[0098] 在内预测模式中,取决于参考像素的位置,和/或用于预测当前块的像素值的预测方法能够使用各种预测模式。
[0099] 图3是示意地图示用于内预测的内预测模式的示例的示意图。
[0100] 参考图3,内预测模式的示例包括定向模式,诸如垂直模式和水平模式,和非定向模式,诸如DC模式和平面模式。
[0101] 表1示意地示出指示在图3中示出的内预测模式的索引。
[0102] <表1>
[0103]内预测模式 相关的预测模式的名称
0 Intra_Planar
1 Intra_DC
其它的(2…34) Intra_Angular
35 Intra_FromLuma(仅供色度使用)
[0104] 在表1中,在内预测模式中数字0至35对应于在图3中示出的0至35的数值。参考表1和图3,内预测模式0表示平面模式,内预测模式1表示DC模式,并且两者都是非定向模式。内预测模式2至34表示基于预测角度的模式,并且是定向模式。
[0105] 作为非定向模式的内预测模式35仅应用于色度,并且表示从亮度内部模式确定的色度预测模式。在DC模式中,通过对在当前块中的像素值进行平均来创建预测块。在角度模式(定向模式)中,预测取决于预先对于模式确定的角度和/或方向来执行。
[0106] 另一方面,与亮度分量不同,有限数量的预测模式可以用于色度分量。为了解释便利的目的,用于色度分量的有限数量的预测模式被称作色度预测模式候选。当以色度模式执行内预测时,该预测能够使用色度预测模式候选中的一个预测模式执行。
[0107] 例如,平面模式、垂直模式、水平模式和DC模式能够用作色度预测模式候选。
[0108] 表2示意地示出用于当前块的色度分量的预测模式基于用于当前块的亮度分量的预测模式和用于色度分量的预测模式指标来确定的示例。
[0109] <表2>
[0110]
[0111] 在表2中,(xB,yB)表示当前块的左上亮度采样相对于当前图片的左上采样的位置,并且内预测模式(IntraPredMode)表示用于当前块的亮度采样的内预测模式。另一方面,intra_chroma_pred_mode包括用于确定用于当前块的色度采样的内预测模式的信息,并且能够从编码器发送到解码器。
[0112] LM模式也称作线性模式,或者从用于亮度分量的模式估计的模式(亮度估计的模式)。在LM模式中,能够使用当前块的亮度采样(亮度像素)预测当前块的色度分量。例如,在LM模式中,能够基于对重建的当前块的亮度采样进行内插而创建的采样来创建色度采样的预测值。
[0113] 参考表2,用于当前块的色度分量的预测模式能够取决于intra_chroma_pred_mode的值,和用于当前块的亮度分量的预测模式内预测模式(IntraPredMode)的值确定。例如,当intra_chroma_pred_mode的值是0,并且IntraPredMode的值是0时,用于当前块的色度分量的内预测模式是在右上方向的预测模式(模式34)。当IntraPredMode的值不是0时,用于当前块的色度分量的内预测模式是平面模式Intra_Planar。当前块的色度分量取决于内预测模式使用在当前图片中的色度分量预测。
[0114] 类似地,当intra_chroma_pred_mode的值是1,并且IntraPredMode的值是26时,用于当前块的色度分量的内预测模式是在右上方向的预测模式(模式34)。当IntraPredMode的值不是26时,用于当前块的色度分量的内预测模式是垂直模式,即,Intra_Angular(26)。当前块的色度分量取决于内预测模式使用在当前图片中的色度分量预测。
[0115] 当intra_chroma_pred_mode的值是2,并且IntraPredMode的值是10时,用于当前块的色度分量的内预测模式是在右上方向的预测模式(模式34)。当IntraPredMode的值不是10时,用于当前块的色度分量的内预测模式是水平模式,即,Intra_Angular(10)。当前块的色度分量取决于内预测模式使用在当前图片中的色度分量预测。
[0116] 当intra_chroma_pred_mode的值是3,并且IntraPredMode的值是1时,用于当前块的色度分量的内预测模式是在右上方向的预测模式(模式34)。当IntraPredMode的值不是1时,用于当前块的色度分量的内预测模式是DC模式Intra_DC。当前块的色度分量取决于内预测模式使用在当前图片中的色度分量预测。
[0117] 当intra_chroma_pred_mode的值是4时,用于当前块的色度分量的内预测模式是LM模式。因此,用于当前块的色度分量的预测块能够使用重建的当前块的亮度分量来创建。
[0118] 当intra_chroma_pred_mode的值是5时,用于当前块的色度分量的内预测模式与用于当前块的亮度分量的内预测模式相同。因此,这种情形被称作DM(直接模式)。
[0119] 表3示意地示出用于当前块的色度分量的预测模式基于用于当前块的亮度分量的预测模式和用于色度分量的预测模式指标来确定的另一个示例。
[0120] <表3>
[0121]
[0122] 表3示出没有应用LM模式的情形。
[0123] 解码器可以有选择地应用表2和表3。例如,编码器能够发送指示表2和表3的哪个应用于解码器的信息。解码器能够响应于发送的命令应用表2或者表3以确定用于当前块的色度分量的内预测模式。
[0124] 另一方面,如参考图1所描述的,包括预测的信息的视频信息经历熵编码,并且然后以比特流被发送给解码器。如参考图2所描述的,解码器通过熵解码接收到的比特流获得包括预测的信息的视频信息。
[0125] 图4是按照本发明示意地图示熵编译模块的示例的示意图。在图4中示出的熵编译模块的配置能够类似地应用于熵编码和熵解码。
[0126] 当图4示出熵编码模块的一个示例时,熵编码模块400包括二值化模块(binarization module)410、常规的编译引擎420,和旁路编译引擎430。
[0127] 在这里,熵编码处理在D1方向上输入的信号,并且在D2方向上输出处理的信号。
[0128] 当输入信号不是二进制值,而是语法元素时,二值化模块410将输入信号变换为二进制数。当输入信号是二进制数时,输入信号可以旁路二值化模块410。
[0129] 作为输入的单个数字值的二进制值被称作二进制位。例如,当输入的二进制值是110时,1、1和0的每个被称作二进制位,并且包括二进制位的二进制序列被称作二进制位串。
[0130] 二值化的信号(二进制位串)被输入给常规的编译引擎420或者旁路编译引擎430。
[0131] 常规的编码引擎420将反映概率值的上下文分配给二进制位,并且基于分配的上下文对二进制位编码。常规的编译引擎420能够在对二进制位编码之后更新二进制位的上下文。
[0132] 旁路编译引擎430不取决于输入的二进制位分配上下文,而是以简单的旁路模式编码输入的二进制位以提高编码速率。在旁路模式中,在编码之后估计关于输入的二进制位概率的过程和更新应用于二进制位的概率的过程被旁路。在旁路模式中,例如,编码处理能够使用均匀概率分布执行。
[0133] 熵编码模块400确定是否通过使用常规的编译引擎420执行熵编码,或者是否通过使用旁路编译引擎430执行熵编码,并且通过使用切换模块440切换编码路由。
[0134] 熵编码模块400可以是在图1中示出的熵编码模块130。
[0135] 当图4示出熵解码模块的示例时,熵解码模块400包括二值化模块410、常规的编译引擎420,和旁路编译引擎430。
[0136] 熵解码模块400处理在D3方向上输入的信号,并且在D4方向上输出处理的信号。
[0137] 二值化模块410、常规的编译引擎420,和旁路编译引擎430以相反的顺序执行与在熵编码模块中描述的相同的过程。
[0138] 例如,熵解码模块400确定输入的语法元素的二进制位是通过使用常规的编译引擎420还是通过使用旁路编译引擎430被解码。
[0139] 当确定使用常规的编译引擎时,常规的编译引擎420使用上下文执行解码。当确定使用旁路编译引擎时,旁路编译引擎430使用均匀概率分布执行解码。通过在编译引擎420和430中解码来输出二进制码。
[0140] 当特定的语法(语法元素)的所有二进制位完全地由编译引擎解码时,对于语法(语法元素)的所有二进制位输出的二进制码被求和,并且确定该总和被映射在哪个语法值上。当输出的最终二进制码被映射到特定的语法上时,二进制码的值被确定为被映射的语法的值。
[0141] 此时,如果必要,二值化模块410能够执行反二值化。
[0142] 另一方面,解码器熵解码从编码器接收到的比特流。在下文中,为了解释便利的目的,作为按照本发明的熵解码的示例,将描述当编码器使用CABAC熵编码视频信息时,由解码器执行的熵解码方法。
[0143] 当解析在CABAC中编码的语法元素时,解码器,例如,解码器的熵解码模块响应于对于语法元素的值的请求启动CABAC解析过程。
[0144] 特别地,响应于对于语法元素的值的请求推导出语法元素的值的二值化。在二值化的过程中,取决于应用的二值化类型(例如,一元二值化、截断一元二值化、Exp-Golomb二值化,和固定长度二值化)执行二值化。
[0145] 语法元素的二值化和解析的二进制位的序列确定解码处理。语法元素的二值化的值的二进制位由二进制位索引binIdx标引,并且二进制位的上下文索引ctxIdx被推导出。该上下文索引的初始值能够由语法元素设置。在这种情况下,能够使用上下文索引表,在上下文索引表中,上下文索引的值由语法元素设置,并且该表能够使用预先确定的指标,例如上下文索引表指标ctxIdxTable来指定。
[0146] 对于每个上下文索引启动算术解码处理。
[0147] 图5是按照本发明示意地图示熵解码处理的示例的流程图。为了解释便利的目的,在图5中图示对单个二进制位的解码处理的示例。
[0148] 在图5中示出的解码处理可以由解码器,特别地,由在解码器中的熵解码模块执行。在这里,为了解释便利的目的,假设熵解码模块执行该处理步骤。
[0149] 参考图5,熵解码模块确定旁路解码是否被应用于要解码的输入的二进制位(S510)。熵解码模块能够基于有关要解码的二进制位的信息确定是否应用旁路解码。例如,如稍后描述的,当使用表来使用固定的上下文时,熵解码模块可以基于在该表中分配给语法元素的指令确定是否应用旁路解码。当使用表来使用固定的上下文时,熵解码模块可以基于在该表中分配给语法元素的索引、偏移等等确定是否应用旁路解码。
[0150] 当确定应用旁路解码时,熵解码模块对输入的二进制位执行旁路解码(S520)。类似于编码,均匀概率分布被用于执行旁路解码。熵解码模块能够取决于旁路解码引擎的状态比较码间隔范围codIRange与码间隔偏移codIOffset,并且能够对二进制位分配二进制位的值。例如,当码间隔偏移等于或者大于码间隔范围时,1被分配为二进制位的值,并且当码间隔偏移小于码间隔范围时,0被分配为二进制位的值。此时,为了直接比较码间隔范围与码间隔偏移,可以适当地调整码间隔范围或者码间隔偏移的值。
[0151] 当在步骤S510中确定不执行旁路解码时,熵解码模块确定是否满足解码结束条件(S530)。例如,当上下文索引ctxIdx的值是0,并且上下文索引表ctxIdxTable的值是0时,熵解码模块结束解码处理。是否满足结束条件可以不是取决于索引值而是取决于可以从编码器发送的诸如标记的语法信息来被确定。此时,由语法信息指示的结束条件和取决于索引值确定的结束条件可以彼此相等。
[0152] 当满足结束条件时,熵解码模块如上所述结束解码处理(S540)。然后,熵解码模块可以在结束之前分配预先确定的设置值作为二进制位的值。此时,熵解码模块可以经由旁路解码分配二进制位的值。
[0153] 当结束条件不满足时,熵解码模块执行解码(S550)。熵解码模块基于指示要被解码的二进制位的二进制位索引binIdx,和指示应用于要被解码的二进制位的上下文的上下文索引ctxIdx来解码要被解码的二进制位。
[0154] 在下文中,将详细描述使用上下文执行解码的方法。
[0155] 如上所述,当处理要求高编译效率的视频信息时,能够使用熵编译(熵编码/熵解码)。除了诸如Exp-Golomb的基本编译方法之外,可变长度编译(VLC)或者以上提及的基于上下文的自适应二进制算术编译(CABAC)能够被用于熵编译。
[0156] 在CABAC中,“基于上下文的”指的是考虑到情形自适应地选择和应用具有较高效率的编译方法。关于这一点,不同的上下文的使用指的是通过使用独立的上下文更新,不同的概率模式被应用于编译。
[0157] 能够优先地考虑以下的方法作为在CABAC中使用上下文用于编译的方法。
[0158] <使用上下文的方法>
[0159] (a)取决于情形计算上下文并且自适应地使用计算的上下文用于编译的方法。
[0160] (b)预先定义特定的上下文表以便使用固定的上下文,并且使用在定义的表中指定的上下文的方法。
[0161] (c)无需引用上下文编译(编码/解码)二进制码的旁路编译(编码/解码)方法。
[0162] (d)有选择地组合和使用方法(a)至(c)的方法。
[0163] 在使用上下文的方法中的方法(a)伴有在编译之前考虑到情形来计算上下文的过程,并且从而具有最高的复杂度。编码器能够考虑到情形来计算用于要被编译的语法元素的二进制码的每个二进制位的上下文,例如,应用于先前的和后续的二进制位的上下文,或者比当前块更早编译的块(例如,左块或者上块)的上下文。编码器将有关计算的上下文的信息发送给解码器。解码器基于接收到的上下文信息解码二进制位。
[0164] 代替导致编码器去确定和发送二进制位的上下文,编码器和解码器可以使用相同方法考虑到情形来计算上下文。
[0165] 在使用上下文方法中的方法(b)是设置上下文表,其中上下文索引被预先分配给特定的语法元素的二进制码的二进制位,和使用由在上下文表中分配的上下文索引指示的上下文去解码相应的二进制位,而不是如在方法(a)中那样每次计算上下文的方法。当使用方法(b)时,固定的上下文可以用于二进制位。
[0166] 表4示意地示出当使用方法(b)时指定二进制位索引和上下文索引的示例。
[0167] <表4>
[0168]
[0169] 表4示出当假设特定的语法元素时应用于特定的语法元素的上下文表的示例。
[0170] 在表4的示例中,二进制位索引binIdx指示在构成语法元素的二进制码的二进制位中的特定二进制位。例如,binIdx的值0指示构成语法元素的二进制码的二进制位的第0个二进制位,并且binIdx的值4指示构成语法元素的二进制码的二进制位的第3个二进制位。语法元素可以是从编码器发送到解码器的语法元素,诸如merge_idx、intra_chroma_pred_mode和inter_pred_flag。
[0171] 参考表4,上下文索引被分配给构成语法元素的二进制码的二进制位0至4。上下文索引Idx0至Idx4可以具有不同的值。上下文索引指示要应用于二进制位的上下文。在特定的表中分配由上下文索引指示的上下文。例如,在特定的语法元素的上下文表中,可以分配由上下文索引指示的特定的上下文。
[0172] 语法元素的二进制位基于由分配的上下文索引指示的上下文被解码。
[0173] 当语法元素被解码时,解码器使用由分配给特定二进制位的上下文索引指示的上下文用于相应的二进制位。例如,当二进制位索引的值是0时,第0个二进制位能够使用由Idx0指示的上下文解码。
[0174] 表4示出二进制位索引的最大值binIdxMax是4的情形,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0175] 使用上下文方法的方法(c)具有比方法(a)或者(b)更高的复杂度。在方法(c)中使用的旁路编译如上所述使用均匀概率分布,并且应用于快速编译。旁路编译的细节与如上所述的相同。
[0176] 在特定的二进制码的CABAC编译中,上下文应用于二进制码的每个位(digit)的数字0或者1。此时,二进制码的每个位的数字0或者1如上所述被称作二进制位。例如,当二进制码是110时,第0个二进制位是1,第1个二进制位是1,并且第2个二进制位是0。
[0177] 在CABAC编译中,用于构成语法元素的二进制码的二进制位的上下文能够以各种方法确定。
[0178] <确定用于构成二进制码的二进制位的上下文的方法>
[0179] (A)独立的上下文可以应用于构成语法元素的二进制码的二进制位的每个。
[0180] (B)相同的上下文可以共同地应用于构成语法元素的二进制码的二进制位。
[0181] (C)构成语法元素的二进制码的二进制位可以以旁路模式编译(旁路编译)。
[0182] (D)方法(A)至(C)可以被组合,以确定用于构成语法元素的二进制码的二进制位的上下文。
[0183] 在方法(A)中,独立的上下文可以应用于构成语法元素的二进制码的二进制位的每个。因此,用于二进制位的上下文能够被独立地更新。在方法(B)中,相同的上下文可以应用于构成二进制码的二进制位,并且能够以同样的方法更新。在方法(C)中,由于构成二进制码的所有二进制位被以旁路模式编译,所以能够实现快速解码。
[0184] 按照方法(D),(A)至(C)的方法能够被组合和应用。例如,独立的上下文可以应用于构成语法元素的二进制码的二进制位的一些二进制位,并且相同的上下文可以应用于一些二进制位。独立的上下文可以应用于构成语法元素的二进制码的二进制位的一些二进制位,并且旁路模式可以应用于一些二进制位。相同的上下文可以应用于构成语法元素的二进制码的二进制位的一些二进制位,并且旁路模式可以应用于一些二进制位。独立的上下文可以应用于构成语法元素的二进制码的二进制位的一些二进制位,相同的上下文可以应用于一些二进制位,并且旁路模式可以应用于一些二进制位。
[0185] 另一方面,用于构成语法元素的二进制码的二进制位的上下文确定方法(A)至(D)可以与使用上下文的方法(a)至(d)一起应用。
[0186] 例如,基于方法(A),独立的上下文可以应用于构成特定的语法(语法元素)的二进制码的所有二进制位,并且所应用的独立的上下文能够考虑到要被应用的二进制位的情形被计算。
[0187] 在特定的语法(语法元素)中,独立的上下文可以应用于构成相应的语法(语法元素)的二进制码的所有二进制位,并且所应用的独立的上下文可以由预先确定的上下文表指示。
[0188] 表5示出当独立的上下文被分配给构成语法元素的二进制码的二进制位时,使用预先确定的上下文表来分配上下文的示例。
[0189] <表5>
[0190]
[0191] 表5示出当假设特定的语法元素A时应用于特定的语法元素A的上下文表的示例。
[0192] 在表5中,二进制位idx0至Idx4的上下文索引独立地指示要应用于二进制位的上下文,并且由上下文索引指示的上下文能够独立地更新。
[0193] 表5示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0194] 另一方面,独立的上下文应用于构成特定的语法(语法元素)的二进制码的二进制位的一些二进制位,并且旁路模式应用于一些二进制位。
[0195] 此时,当上下文应用于相应的二进制位时,应用于该二进制位的上下文能够考虑到情形来计算。
[0196] 在预先确定的上下文表中,独立的上下文或者旁路模式可以由二进制位设置,并且通过二进制位的上下文索引可以指示应用哪个上下文,或者是否应用旁路模式。
[0197] 表6示出在独立的上下文应用于构成特定的语法(语法元素)的二进制码的二进制位的一些二进制位,和旁路模式应用于一些二进制位的情形下能够使用的上下文表的示例。
[0198] <表6>
[0199]
[0200] 表6示出当假设语法元素B时应用于特定的语法元素B的上下文表的示例。
[0201] 在表6的示例中,独立的上下文应用于构成语法元素B的二进制码的二进制位的第0个、第2个和第4个二进制位,并且旁路模式应用于第1个和第3个二进制位。
[0202] 表6示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0203] 基于方法(A)和(B),独立的上下文可以应用于构成特定的语法(语法元素)的二进制码的二进制位的一些二进制位,相同的上下文可以共同地应用于一些二进制位,并且可以考虑到要被应用的二进制位的情形来计算该上下文。
[0204] 在特定的语法(语法元素)中,独立的上下文可以应用于构成相应的语法(语法元素)的二进制码的二进制位的一些二进制位,相同的上下文可以共同地应用于一些二进制位,并且该上下文可以由预先确定的上下文表指示。
[0205] 表7示出在独立的上下文应用于构成语法元素的二进制码的二进制位的一些二进制位,和相同的上下文共同地应用于一些二进制位的情形下使用上下文表应用上下文的示例。
[0206] <表7>
[0207]
[0208] 表7示出当假设语法元素C时应用于特定的语法元素C的上下文表的示例。
[0209] 在表7中,由上下文索引Idx1指示的相同的上下文应用于第一和第二个二进制位。由上下文索引Idx1、Idx2和Idx3指示的上下文应用于第0个、第3个和第4个二进制位。上下文索引Idx0至Idx3可以具有不同的值,并且由上下文索引指示的上下文能够被独立地更新。
[0210] 表7示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0211] 另一方面,在特定的语法(语法元素)中,独立的上下文可以应用于构成相应的语法(语法元素)的二进制码的二进制位的一些二进制位,相同的上下文可以共同地应用于一些二进制位,并且旁路模式可以应用于一些二进制位。
[0212] 此时,当上下文应用于相应的二进制位时,应用于二进制位的上下文能够考虑到情形来计算。在预先确定的上下文表中,独立的上下文或者旁路模式可以由二进制位设置,并且通过二进制位的上下文索引可以指示应用哪个上下文,或者是否应用旁路模式。
[0213] 表8示出在独立的上下文应用于构成特定的语法(语法元素)的二进制码的二进制位的一些二进制位,相同的上下文共同地应用于一些二进制位,并且旁路模式应用于一些二进制位的情形下能够使用的上下文表的示例。
[0214] <表8>
[0215]
[0216] 表8示出当假定特定的语法元素D时应用于特定的语法元素D的上下文表的示例。
[0217] 在表8中,由上下文索引Idx0指示的上下文应用于构成语法元素D的二进制码的二进制位的第0个二进制位,旁路模式应用于第1个二进制位,由上下文索引Idx1指示的上下文应用于第2个二进制位,并且由上下文索引Idx2指示的上下文应用于第3个二进制位和第4个二进制位。
[0218] 表8示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0219] 基于方法(B),相同的上下文可以共同地应用于构成特定的语法(语法元素)的二进制码的二进制位。此时,在应用于二进制位时,能够考虑到该情形计算公共的上下文。公共的上下文可以使用预先构成的预先确定的上下文表来分配。
[0220] 表9示出在相同的上下文应用于构成特定的语法(语法元素)的二进制码的二进制位的情形下能够使用的上下文表的示例。
[0221] <表9>
[0222]
[0223] 表9示出当假设语法元素E时应用于特定的语法元素E的上下文表的示例。
[0224] 在表9中,由上下文索引Idx0指示的上下文共同地应用于构成语法元素E的二进制码的二进制位。
[0225] 表9示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0226] 在特定的语法(语法元素)中,相同的上下文可以应用于构成相应的语法(语法元素)的二进制码的二进制位的一些二进制位,并且旁路模式可以应用于一些二进制位。
[0227] 此时,当上下文应用于相应的二进制位时,可以考虑到情形来计算上下文。在预先构成的预先确定的上下文表中,公共的上下文或者旁路模式可以被设置用于一些二进制位,并且上下文或者旁路模式可以由上下文索引来指示。
[0228] 表10示出在相同的上下文应用于构成特定的语法(语法元素)的二进制码的二进制位的一些二进制位,和旁路模式应用于一些二进制位的情形下能够使用的上下文表的示例。
[0229] <表10>
[0230]
[0231] 表10示出当假设语法元素F时应用于特定的语法元素F的上下文表的示例。
[0232] 在表10中,旁路模式应用于构成语法元素F的二进制码的二进制位的第2个二进制位,并且由上下文索引Idx0指示的上下文应用于第0个、第1个、第3个和第4个二进制位。
[0233] 表10示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0234] 基于方法(C),旁路模式可以应用于构成特定的语法(语法元素)的二进制码的所有二进制位。在这种情况下,能够使用预先构成的上下文表来指示旁路模式应用于相应的语法(语法元素)。此时,上下文表能够以旁路模式分配给所有二进制位索引这样的方式构成。
[0235] 在构成特定的语法(语法元素)的二进制码的二进制位中,不同的上下文可以应用于相同的二进制位。例如,多个不同的上下文索引可以分配给在上下文表中的相同的二进制位索引。
[0236] 上下文索引可以取决于应用语法(语法元素)的情形(状态或者条件)而改变。例如,取决于状态或者条件,诸如语法(语法元素)被应用到的块的类型、图片(片、帧)的类型、预测模式、块大小,和块深度,不同的上下文可以应用于在二进制码中的相同位置处的二进制位。此时,某个状态可以由另一个等效的状态指定。例如,块大小可以由块深度指定,或者块深度可以由块大小指定。因此,两个条件可以是用于指定相同的情形的状态或者条件。
[0237] 当取决于图片(片,帧)类型应用公共的上下文或者应用不同的上下文时,不同的上下文索引能够取决于图片(片,帧)是I图片(片,帧)、P图片(片,帧)还是B图片(片,帧)而分配给相同的二进制位索引。
[0238] 在下文中,将特别地描述不同的上下文(上下文索引)能够应用于相同的二进制位索引的情形。
[0239] 语法元素能够具有包括如上所述预先确定的二进制位的二进制码(码字)值。例如,在用于色度分量的内预测的情况下,如参考表2和3描述的,取决于是否应用LM模式,允许5或者6个预测模式。因此,指示用于色度分量的内预测模式的语法元素intra_chroma_pred_mode能够具有5至6个不同的二进制码(码字)值。
[0240] 表11示出当使用LM模式时能够用于色度分量预测的内预测模式和指示内预测模式的语法元素intra_chroma_pred_mode的二进制码(码字)。
[0241] 表12示出当不使用LM模式时能够用于色度分量预测的内预测模式和指示内预测模式的语法元素intra_chroma_pred_mode的二进制码(码字)。
[0242] <表11>
[0243]模式索引 码字
0 0
1 10
2 110
3 1110
4 11110
5 11111
[0244] <表12>
[0245]模式索引 码字
0 0
1 10
2 110
3 1110
4 1111
[0246] 如表11或者12所示,能够以上文提及的方式将上下文分配给构成预先确定的语法元素的二进制码(码字)的二进制位。
[0247] 上下文表能够用于构成码字的二进制位,以便取决于状态或者条件将不同的上下文应用于相同的二进制位。在这种情况下,取决于在上下文表中的条件,应用于特定二进制位的上下文能够由分配给二进制位索引的索引值和对其添加的偏移值的总和指示。因此,在这种情况下,指示上下文的指标可以说是由每个二进制位索引指示的偏移值和索引值的总和。为了解释便利的目的,由相应的二进制位指示的索引值被称作二进制位的上下文索引,并且指示要被应用于相应的二进制位的上下文的索引被称作用于二进制位的上下文索引(ctxIdx)。
[0248] 表13示出在状态信息或者条件反映在相同的二进制位上,并且对其应用不同的上下文的情形下能够使用的上下文表的示例。
[0249] <表13>
[0250]
[0251] 在表13中,数字0至4表示二进制位索引值(binIdx)。偏移值A1、A2和A3可以彼此不同,如在稍后描述的示例中那样。二进制位的所有或者一些上下文索引,即,由二进制位索引分配的索引(二进制位的上下文索引)B0、B1、B2、B3和B4,可以具有不同的值。
[0252] 表13示出二进制位索引的最大值binIdxMax是4的示例,但是,二进制位索引的最大值可以大于4或者可以小于4。与分配给最大二进制位索引binIdxMax的上下文索引相同的上下文索引能够用于大于最大值的二进制位索引。
[0253] 如上所述,偏移值能够取决于预先确定的状态或者条件来设置。例如,当取决于图片(片,帧)类型设置偏移值时,A1可以是用于I图片(片,帧)的偏移,A2可以是用于P图片(片,帧)的偏移,并且A3可以是用于B图片(片,帧)的偏移。
[0254] 偏移值可以直接从诸如图片(片,帧)类型的条件或者状态信息来确定,或者可以使用参数值,诸如预先确定的类型值来确定,预先确定的类型值取决于诸如图片(片,帧)类型的条件或者状态信息被确定。
[0255] 通过使用偏移值,不同的上下文能够分配给反映了状态信息或者条件的二进制位。当假设表13用于预先确定的语法(语法元素)时,A1、A2和A3的值彼此不同,并且B0、B1、B2、B3和B4的值彼此不同,不同的上下文能够分配给构成预先确定的语法(语法元素)的码字(二进制码)的二进制位。
[0256] 表14示出在偏移值取决于图片(片,帧)被不同地设置,并且不同的上下文被分配给二进制位的情形下能够使用的上下文表的示例。
[0257] <表14>
[0258]
[0259] 表14示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表14中的偏移值和二进制位的上下文索引值能够被设置为不同于在表14中示出的值以便指示适当的上下文。
[0260] 通过取决于状态信息或者条件应用不同的偏移,取决于条件可以分配不同的上下文,并且相同的上下文可以共同地应用于构成语法(语法元素)的码字的二进制位的一些二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值中的一些能够被设置为具有相同的值。
[0261] 表15示出在偏移值取决于图片(片,帧)被不同地设置,并且相同的上下文共同地应用于构成语法(语法元素)的码字的二进制位的一些二进制位的情形下能够使用的上下文表的示例。
[0262] <表15>
[0263]
[0264] 表15示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表15中的偏移值和二进制位的上下文索引值能够被设置为不同于在表15中示出的值以便指示适当的上下文。
[0265] 通过取决于状态信息或者条件应用不同的偏移,取决于条件可以分配不同的上下文,独立的上下文可以应用于构成语法(语法元素)的码字的二进制位的一些二进制位,相同的上下文可以共同地应用于一些二进制位,并且旁路模式可以应用于一些二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值的一些能够被设置为具有相同的值,并且B0、B1、B2、B3和B4的值的一些能够被设置为指示旁路模式,而不是特定的索引值。
[0266] 表16示出在偏移值被设置以便取决于片类型定义不同的上下文,独立的上下文应用于一些二进制位,相同的上下文共同地应用于一些二进制位,并且旁路模式应用于一些二进制位的情形下能够使用上下文表的示例。
[0267] <表16>
[0268]
[0269] 当假设表16被应用于预先确定的语法(语法元素)时,0被作为二进制位的上下文索引分配给构成相应的语法(语法元素)的码字的第0个二进制位,并且1被作为二进制位的上下文索引分配给第1个至第3个二进制位。旁路模式应用于第4个二进制位。
[0270] 表16示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表16中的偏移值和二进制位的上下文索引值能够被设置为不同于在表16中示出的值以指示适当的上下文。
[0271] 通过取决于状态信息或者条件应用不同的偏移,可以取决于条件分配不同的上下文,上下文可以应用于构成语法(语法元素)的码字的二进制位的一些二进制位,并且旁路模式可以应用于另一些二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值的一些能够被设置为索引值,并且其它的B0、B1、B2、B3和B4的值能够被设置为指示旁路模式,而不是特定的索引值。
[0272] 表17示出在偏移值被设置以便取决于片类型定义不同的上下文,上下文应用于一些二进制位,并且旁路模式应用于其它二进制位的情形下能够使用上下文表的示例。
[0273] <表17>
[0274]
[0275] 当假设表17被应用于预先确定的语法(语法元素)时,0被作为二进制位的上下文索引分配给构成相应的语法(语法元素)的码字的第0个二进制位,并且旁路模式应用于第1个至第4个二进制位。
[0276] 表17示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表17中的偏移值和二进制位的上下文索引值能够被设置为不同于在表17中示出的值以便指示适当的上下文。
[0277] 通过取决于状态信息或者条件应用不同的偏移,取决于条件可以分配不同的上下文,独立的上下文可以应用于构成语法(语法元素)的码字的二进制位的一些二进制位,并且旁路模式可以应用于其它二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值的一些能够被设置为不同的索引值,并且其它的B0、B1、B2、B3和B4的值能够被设置为指示旁路模式,而不是特定的索引值。
[0278] 表18示出在偏移值被设置以便取决于片类型定义不同的上下文,独立的上下文应用于一些二进制位,并且旁路模式应用于其它二进制位的情形下能够使用上下文表的示例。
[0279] <表18>
[0280]
[0281] 当假设表18被应用于预先确定的语法(语法元素)时,0被作为二进制位的上下文索引分配给构成相应的语法(语法元素)的码字的第0个二进制位,1被作为二进制位的上下文索引分配给第1个二进制位,并且旁路模式应用于第2个至第4个二进制位。
[0282] 表18示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表18中的偏移值和二进制位的上下文索引值能够被设置为不同于在表18中示出的值以便指示适当的上下文。
[0283] 通过取决于状态信息或者条件应用不同的偏移,取决于条件可以分配不同的上下文,相同的上下文可以共同地应用于构成语法(语法元素)的码字的二进制位的一些二进制位,并且旁路模式可以应用于其它二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值的一些能够被设置为相同的索引值,并且其它B0、B1、B2、B3和B4的值能够被设置为指示旁路模式,而不是特定的索引值。
[0284] 表19示出在偏移值被设置以便取决于片类型定义不同的上下文,相同的上下文共同地应用于一些二进制位,并且旁路模式应用于其它二进制位的情形下,能够使用上下文表的示例。
[0285] <表19>
[0286]
[0287] 当假设表19被应用于预先确定的语法(语法元素)时,0被作为二进制位的上下文索引分配给构成相应的语法(语法元素)的码字的第0个和第1个二进制位,并且旁路模式应用于第2个至第4个二进制位。
[0288] 表19示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表19中的偏移值和二进制位的上下文索引值能够被设置为不同于在表19中示出的值以便指示适当的上下文。
[0289] 通过取决于状态信息或者条件适用不同的偏移,取决于条件可以分配不同的上下文,旁路模式可以应用于构成语法(语法元素)的码字的二进制位的一个二进制位,并且相同的上下文可以共同地应用于其它二进制位。例如,当假设表13用于预先确定的语法(语法元素)时,B0、B1、B2、B3和B4的值的一个二进制位能够被设置为指示旁路模式,而不是特定的索引值,并且其它B0、B1、B2、B3和B4的值能够被设置为相同的索引值。
[0290] 表20示出在偏移值被设置以便取决于片类型定义不同的上下文,旁路模式应用于一个二进制位,并且相同的上下文共同地应用于其它二进制位的情形下,能够使用上下文表的示例。
[0291] <表20>
[0292]
[0293] 当假设表20被应用于预先确定的语法(语法元素)时,0被作为二进制位的上下文索引分配给构成相应的语法(语法元素)的码字的第0个至第3个二进制位,并且旁路模式应用于第4个二进制位。
[0294] 表20示出在表13中的偏移值和二进制位的上下文索引值被特别地设置的示例。在表20中的偏移值和二进制位的上下文索引值能够被设置为不同于在表20中示出的值以便指示适当的上下文。
[0295] 另一方面,虽然表13至20示出语法的码字包括5个二进制位的示例,但本发明不局限于该示例。当对其应用表13至20的语法(语法元素)的码字包括小于5个二进制位,例如,n个二进制位(这里n<5)时,对于大于n-1且等于或者小于4的二进制位索引,没有分配二进制位的上下文索引,或者分配了na(不可用)。当对其应用表14的语法(语法元素)的码字包括5个以上的二进制位时,与第五个二进制位的上下文索引相同的值能够被分配作为在第五个二进制位之后的二进制位的上下文索引。
[0296] 虽然在表13至20中相同的二进制位的上下文索引应用于相同的二进制位,但本发明不局限于这个示例,而是二进制位的上下文索引的值可以取决于偏移被设置为不同。例如,在表13中Bi(这里i=0、1、2、3、4)的值对于A1至A3可以被设置为不同。特别地,用于A1的B0值、用于A2的B0值,和用于A3的B0值的至少一个可以被设置不同于其它的B0值。
[0297] 表13至20的示例能够被应用于在编译过程中发送的语法(语法元素)。例如,各种语法元素以及以上提及的语法元素intra_chroma_pred_mode同样如此。
[0298] 表21示出以上提及的细节应用于各种语法元素的示例。
[0299] <表21>
[0300]
[0301] 在表21的示例中,二进制位的上下文索引由二进制位索引(binIdx)指示。二进制位的上下文索引被确定为偏移ctxIdxOffset的值和二进制位的上下文索引的值的总和。
[0302] 确定用于预先确定的语法元素的特定二进制位的上下文索引能够指示要被应用于特定二进制位的上下文,特定二进制位由用于相应的语法元素的上下文索引表ctxIdxTable指示。
[0303] 另一方面,二进制位的上下文索引的值可以基于块信息(例如,有关块状态或者块条件的信息)确定。此时,除了有关要被解码的块信息之外,块信息还包括有关要被解码的块的邻近块的信息。使用的块信息可以是编译块的信息、预测块的信息,或者变换块的信息。例如,块信息能够用于确定诸如cbf_luma、cbf_cb和cbf_cr的语法元素的上下文。语法元素cbf_luma、cbf_cb和cbf_cr是表示指示亮度残留信号是否存在于以四叉树结构从当前块进一步划分的块中,或者色度残留信号是否存在其中的信息的语法元素。
[0304] 特别地,当编译(编码/解码)cbf_luma、cbf_cb和cbf_cr时,除了邻近块的cbf(编译块标记)信息之外,还能够考虑到邻近部分(块)的编译单元深度和/或变换单元深度来确定cbf_luma、cbf_cb和cbf_cr的上下文。例如,当前变换单元的大小能够使用编译单元深度和变换单元深度来计算,并且能够考虑到在那时邻近部分的变换单元大小来区别或者指派上下文。
[0305] 可以使用邻近部分的变换单元大小和相应部分的cbf区别或者指派上下文。例如,当区别或者指派cbf_luma的上下文时,cbf_luma的上下文能够分别地应用于:(1)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_luma的值全部都是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,(2)用于在当前块的邻近块当中的任何一侧上的块,例如,位于当前块的左侧和上侧的块的cbf_luma的值是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,和(3)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_luma的值全部都是1,或者变换单元的大小小于当前变换单元的大小的情形。
[0306] 有关cbf_luma的这种描述能够类似地应用于cbf_cb和cbf_cr。例如,对于cbf_cr,cbf_cr的上下文能够分别地应用于:(1)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_cr的值全部都是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,(2)用于在当前块的邻近块当中的任何一侧上的块,例如,位于当前块的左侧和上侧的块的cbf_cr的值是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,和(3)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_cr的值全部都是1,或者变换单元的大小小于当前变换单元的大小的情形。
[0307] 对于cbf_cb,cbf_cb的上下文可以分别地应用于:(1)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_cb的值全部都是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,(2)用于在当前块的邻近块当中的任何一侧上的块,例如,位于当前块的左侧和上侧的块的cbf_cb的值是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,和(3)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的cbf_cb的值全部都是1,或者变换单元的大小小于当前变换单元的大小的情形。
[0308] 可以考虑到在具有与当前变换单元相同大小的邻近部分中的cbf的比率来区别或者指派上下文。例如,当区别或者指派cbf_luma的上下文时,cbf_luma的上下文能够分别地在以下情形被区别或者指派:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中的cbf_luma的值是0的比率等于或者大于50%的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_luma的值是0的比率等于或者大于50%的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_luma的值是0的比率小于50%的情形。
[0309] 有关cbf_luma的这种描述能够类似地应用于cbf_cb和cbf_cr。
[0310] 例如,对于cbf_cr,cbf_cr的上下文能够分别地在以下情形被区别或者指派:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cr的值是0的比率等于或者大于50%的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cr的值是0的比等于或者大于50%的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cr的值是0的比率小于50%的情形。
[0311] 对于cbf_cb,cbf_cb的上下文能够分别地在以下情形被区别或者指派:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cb的值是0的比率等于或者大于50%的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cb的值是0的比率等于或者大于50%的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中cbf_cb的值是0的比率小于50%的情形。
[0312] 可以考虑到在多个邻近部分中cbf的比率来区别或者指派上下文。可以简单地考虑在多个邻近部分中cbf来区别或者指派上下文。例如,当区别或者指派cbf_luma的上下文时,cbf_luma的上下文能够分别地在以下情况中被区别或者分配:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_luma的值全部都是0的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,用于采样部分的cbf_luma的值是0的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_luma的值的任何一个是1的情形。
[0313] 有关cbf_luma的这种描述能够类似地应用于cbf_cb和cbf_cr。
[0314] 例如,对于cbf_cr,cbf_cr的上下文能够分别地在以下情况被区别或者分配:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_cr的值全部都是0的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,用于采样部分的cbf_cr的值是0的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_cr的值的任何一个是1的情形。
[0315] 对于cbf_cb,cbf_cb的上下文能够分别地被区别或者分配为以下情形:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_luma的值全部都是0的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,用于采样部分的cbf_luma的值是0的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的cbf_luma的值的任何一个是1的情形。
[0316] 由预先确定的单元,诸如最少的变换单元选择邻近部分的方法能够用作选择邻近部分的方法。此时,能够使用RQT(残留四叉树(Residual Quad Tree))最大深度确定最少的变换单元。
[0317] 由最少的变换单元选择预先确定数目的邻近部分的方法可以用作选择邻近部分的方法。例如,可以通过在邻近部分当中的最少的变换单元选择两个部分。
[0318] 另一方面,以上提及的用于区别或者指派cbf_luma、cbf_cr和cbf_cb的上下文的方法能够类似地应用于其它的语法元素,例如,指示残留信号存在的no_residual_data_flag。
[0319] 例如,上下文可以使用邻近部分的变换单元大小和邻近部分的no_residual_data_flag被区别或者指派。特别地,当no_residual_data_flag的上下文被区别或者指派时,no_residual_data_flag的上下文能够分别地应用于以下情形:(1)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的no_residual_data_flag的值全部都是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,(2)用于在当前块的邻近块当中的任何一侧上的块,例如,位于当前块的左侧和上侧的块的no_residual_data_flag的值是0,并且变换单元的大小等于或者大于当前变换单元的大小的情形,和(3)用于当前块的邻近块,例如,位于当前块的左侧和上侧的块的no_residual_data_flag的值全部都是1,或者变换单元的大小小于当前变换单元的大小的情形。
[0320] 可以考虑到在具有与当前变换单元的大小相同大小的邻近部分中的no_residual_data_flag的比率区别或者指派上下文。例如,当no_residual_data_flag的上下文被区别或者指派时,no_residual_data_flag的上下文能够分别地在以下情形被区别或者指派:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中no_residual_data_flag的值是0的比率等于或者大于50%的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,在具有与当前变换单元相同大小的邻近部分中no_residual_data_flag的值是0的比率等于或者大于50%的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,在具有与当前变换单元相同大小的邻近部分中no_residual_data_flag的值是0的比率小于50%的情形。
[0321] 可以考虑到在多个邻近部分中no_residual_data_flag的比率区别或者指派上下文。可以考虑到多个邻近部分的no_residual_data_flag区别或者指派上下文。例如,当no_residual_data_flag的上下文被区别或者指派时,no_residual_data_flag的上下文能够分别地被区别或者分配为以下情形:(1)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的no_residual_data_flag的值全部都是0的情形,(2)在当前块的邻近(例如,左侧和上侧)的仅一个方向上,用于采样部分的no_residual_data_flag的值是0的情形,和(3)在当前块的邻近(例如,左侧和上侧)的两个方向上,用于采样部分的no_residual_data_flag的值全部都是1的情形。
[0322] 表22示出能够应用于基于有关邻近的信息确定二进制位的上下文索引的值的情形的上下文表的示例。
[0323] <表22>
[0324]
[0325] 参考表22,能够通过块信息确定在构成语法元素split_transform_flag的码字的二进制位当中的第0个二进制位的上下文索引的值。例如,split_transform_flag的第0个二进制位的上下文索引值通过编译单元深度和变换单元深度的信息确定。
[0326] 在表22的示例中,在构成语法元素cbf_luma、cbf_cb和cbf_cr的码字的二进制位当中的第0个二进制位的上下文索引的值通过块信息,例如,变换单元深度的信息确定。例如,在语法元素cbf_luma中,当第0个二进制位的变换单元深度是0,或者变换单元大小是最大大小时,能够分配1作为二进制位的上下文索引。
[0327] 虽然在以上提及的示例性的系统中已经基于一系列的步骤或者流程图描述了该方法,但是本发明不局限于步骤的顺序,并且某个步骤可以以除如上所述的顺序之外的顺序或者与如上所述的顺序同时执行。以上提及的实施例包括各种示例。
[0328] 因此,本发明包括以上提及的实施例被同时地应用或者组合的实施例。