视频解码方法及其装置和视频编码方法及其装置与流程

文档序号:22400842发布日期:2020-09-29 18:13阅读:156来源:国知局
视频解码方法及其装置和视频编码方法及其装置与流程

涉及视频解码方法和视频编码方法。更具体地,涉及熵解码和熵编码。



背景技术:

随着能够播放和存储高分辨率或高画质视频内容的硬件的开发和普及,对于有效地针对高分辨率或高画质视频内容执行编码或解码的视频编解码器的需求不断增加。根据现有的视频编解码器,通过基于树结构的编码单元以有限的编码方法对视频进行编码。

通过使用频率变换将空间域中的图像数据变换为频域中的系数。视频编解码器将图像划分为具有预定尺寸的块,并通过对于每个块执行离散余弦变换(discretecosinetransform,dct)来按照块单元对频率系数执行编码,以执行频率变换的快速运算。相比于空间域中的图像数据,频域中的系数具有易于被压缩的形态。特别是,由于空间域中的图像像素值通过编解码器的帧间预测或帧内预测来被表示为预测误差,因此当对于预测误差执行频率变换时,许多数据可能会变换为零。视频编解码器通过使用具有大小小的数据替换持续重复出现的数据以减少数据量。



技术实现要素:

技术问题

根据各种实施例,可以基于各种要素确定扫描区域,扫描与系数有关的信息,且执行二值化/反二值化和基于上下文模型的二值算术编码/解码来提高熵编解码的效率。

根据各种实施例,在对变换系数进行熵编解码的过程中,可以确定包括当前块中所有有效变换系数的四边形扫描区域,扫描四边形扫描区域中的有效变换系数,从而减少不必要的扫描;邻近地扫描彼此具有关联性的有效变换系数,从而提高熵编解码的效率。可以基于各种因素确定与关于变换系数的语法有关的上下文模型,从而提高熵编解码效率。特别的,可以考虑块的尺寸和块的形状中的至少一个来确定与关于变换系数的语法元素有关的上下文模型,从而提高熵编解码效率。此外,可以考虑扫描区域来确定与关于变换系数的语法有关的上下文模型,从而提高熵编解码效率。另外,可以针对与指定扫描区域的水平方向的坐标有关的信息和垂直方向的坐标的信息不独立地进行编解码,而是考虑水平方向上的坐标和垂直方向的坐标之间的关联性来对与指定扫描区域的坐标的信息执行编解码,从而提高编解码效率。

可以包括计算机可读记录介质,其中记录有用于实现各种实施例的方法的程序。

当然,各种实施例的技术问题不限于上述的特征,且通过以下描述,本领域技术人员将清楚地理解未提及的其他技术问题。

技术方案

本发明的技术问题不限于上述的特征,且通过以下描述,本领域技术人员将清楚地理解未提及的其他技术问题。

根据多种实施例的一种视频解码方法可以包括如下步骤:确定包括当前块中所有有效变换系数的扫描区域;按照预定的扫描顺序扫描与扫描区域中的变换系数有关的信息;基于扫描的与变换系数有关的信息执行二值算术解码来产生经二值算术解码的信息;对经二值算术解码的信息执行反二值化来获得与当前块的变换系数有关的信息;基于与当前块的变换系数有关的信息执行反量化和逆变换来产生当前块的残差块;以及基于产生的残差块恢复当前块。

可以使用基于当前块的尺寸和形状(shape)中的至少一个确定的上下文模型来执行二值算术解码。

在四边形扫描区域中可以包括当前块中的所有有效变换系数,当前块内的除了在四边形扫描区域之外的其余区域可以仅包括不为有效变换系数的0。

扫描区域可以为四边形扫描区域,确定扫描区域的步骤可以包括:从比特流获得与指定四边形扫描区域的坐标有关的信息;以及基于与指定四边形扫描区域的坐标有关的信息确定当前块中变换系数的四边形扫描区域,其中,指定四边形扫描区域的水平方向的坐标可以指示当前块中位于最右侧的有效变换系数像素的坐标,指定四边形扫描区域的垂直方向的坐标可以指示当前块中位于最下侧的有效变换系数像素的坐标,其中,在比特流中可以包括标志信息,该标志信息指示在与指定四边形扫描区域的坐标有关的信息中是否包括指定四边形扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差,其中,当标志信息指示包括了指定四边形扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差时,与指定四边形扫描区域的坐标有关的信息可以包括:指示针对当前块中位于最右侧的有效变换系数的像素的水平方向的坐标和针对当前块中位于最下侧的有效变换系数的像素的垂直方向的坐标中的针对一个方向的坐标的信息以及指示针对所述一个方向的坐标与针对其余方向的坐标之间的差(difference)的信息。

可以基于当前块的高度和宽度的最小值和最大值中的至少一个确定当前块的尺寸,可以基于当前块的高度和宽度是否相同、高度是否大于宽度或宽度是否大于高度来确定当前块的形状。

确定包括当前块中所有有效变换系数的扫描区域的步骤可以包括:当当前块的高度和宽度不同时,通过将指示当前块中变换系数位置的水平方向的坐标和垂直方向的坐标彼此互换(swap)来产生经互换的当前块;以及确定包括经互换的当前块中所有有效变换系数的扫描区域,其中,确定包括经互换的当前块中所有有效变换系数的扫描区域的步骤可以包括:当当前块的高度和宽度不同时,将指定扫描区域的水平方向的坐标和垂直方向的坐标彼此互换,并基于经互换的水平方向的坐标和垂直方向的坐标来确定扫描区域。

比特流可以包括指示是否包括标志信息的信息和与指定扫描区域的坐标有关的信息,其中,标志信息指示是否包括指定扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差,与指定扫描区域的坐标有关的信息可以包括与指定扫描区域的水平方向的坐标有关的信息和与垂直方向的坐标有关的信息,当标志信息指示包括了指定四边形扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差时,与指定扫描区域的水平方向的坐标有关的信息和与垂直方向的坐标有关的信息可以包括指示水平方向上的坐标和垂直方向的坐标中的针对一个方向的坐标的信息以及指示针对所述一个方向的坐标与针对其余方向的坐标之间的差的信息,其中,确定包括经互换的当前块中所有有效变换系数的扫描区域的步骤可以包括:当当前块的高度和宽度不同时,从与指定扫描区域的坐标有关的信息获得的水平方向的坐标和垂直方向的坐标彼此互换,并基于经互换的水平方向的坐标和垂直方向的坐标来确定扫描区域。

所述上下文模型中的与当前变换系数的标志信息有关的上下文模型可以是基于以下项中的至少一项确定:扫描区域的尺寸、在扫描区域中按照预定的扫描顺序在当前变换系数之前被扫描的系数的数量(count)、当前变换系数在扫描区域中的相对位置、以及当前有效变换系数是否为在扫描区域中按照所述预定的扫描顺序扫描的变换系数中的第一个的变换系数。

当基于扫描区域的尺寸和按照所述预定的扫描顺序在当前变换系数之前被扫描的变换系数的标志信息的数量来确定与当前变换系数的标志信息有关的上下文模型时,可以基于预定的上下文偏移来确定与当前变换系数的标志信息有关的上下文模型,其中,所述预定的上下文偏移对应于在当前系数之前被扫描的变换系数的标志信息的数量小于基于扫描区域的尺寸的预定值的情况。

当基于当前变换系数在扫描区域中的相对位置来确定与当前变换系数的标志信息有关的上下文模型时,

可以基于预定的上下文偏移确定与当前变换系数有关的上下文模型,其中,所述预定的上下文偏移对应于当前变换系数的坐标小于基于指定扫描区域的位置的坐标的预定值的情况。

与变换系数有关的信息可以包括指示变换系数是否大于预定值的标志信息、关于有效变换系数的绝对值的剩余级别(remaininglevel)信息、变换系数的符号信息和用于变换系数的反二值化的二值化参数信息中的至少一个,其中,所述预定值可以是是0、1和2中的至少一个。

根据多种实施例的一种视频编码方法可以包括如下步骤:获得当前块的变换系数;确定包括当前块中所有有效变换系数的扫描区域;按照预定的扫描顺序扫描与包括在扫描区域中的变换系数有关的信息,并基于扫描的与变换系数有关的信息执行二值化来产生经二值化的信息;对经二值化的信息执行二值算术编码来产生经熵编码的信息;以及产生包括经熵编码的信息的比特流,其中,可以使用基于当前块的尺寸和形状中的至少一个确定的上下文模型来执行二值算术编码。

扫描区域可以为四边形扫描区域,指定四边形扫描区域的水平方向的坐标可以指示当前块中位于最右侧的有效变换系数像素的坐标,指定四边形扫描区域的垂直方向的坐标可以指示当前块中位于最下侧的有效变换系数像素的坐标,在比特流中可以包括指定四边形扫描区域的坐标有关的信息和标志信息,其中,标志信息可以指示在与指定四边形扫描区域的坐标有关的信息中是否包括指定四边形扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差,其中,当标志信息指示包括了指定四边形扫描区域的水平方向的坐标值与垂直方向的坐标值之间的差时,与指定四边形扫描区域的坐标有关的信息可以包括指示针对当前块中位于最右侧的有效变换系数的像素的水平方向的坐标和针对当前块中位于最下侧的有效变换系数的像素的垂直方向的坐标中的针对关于一个方向的坐标的信息以及指示针对所述一个方向的坐标与针对其余方向的坐标之间的差的信息。

根据各种实施例的一种视频解码装置可以包括:熵解码单元,确定包括当前块中所有有效变换系数的扫描区域,咱预定的扫描顺序扫描与扫描区域中的变换系数有关的信息,基于扫描的与变换系数有关的信息执行二值算术解码来产生经二值算术解码的信息,并对经二值算术解码的信息执行反二值化来获得与当前块的变换系数有关的信息;以及图像恢复单元,基于与当前块的变换系数有关的信息执行反量化和逆变换来产生当前块的残差块,并基于产生的残差块恢复当前块,其中,可以使用通过基于当前块的尺寸和形状(shape)中的至少一个确定的上下文模型来执行二值算术解码。

根据各种实施例的一种视频编码装置可以包括:熵编码单元,获得当前块的变换系数,确定包括当前块中的所有有效变换系数的扫描区域,按照预定的扫描顺序扫描与扫描区域中包括的变换系数有关的信息,基于扫描的与变换系数有关的信息执行二值化来产生经二值化的信息,且对经二值化的信息执行二值算术编码来产生经熵编码的信息;以及比特流产生单元,产生包括经熵编码的信息的比特流,其中,可以使用通过基于当前块的尺寸和形状中的至少一个确定的上下文模型来执行二值算术编码。

可以包括计算机可读记录介质,其中记录有用于实现各种实施例的方法的程序。

附图说明

图1a示出了根据各种实施例的视频解码装置的框图。

图1b示出了根据各种实施例的视频解码方法的流程图。

图1c示出了根据各种实施例的视频编码装置的框图。

图1d示出了根据各种实施例的视频编码方法的流程图。

图1e示出了根据各种实施例的图像解码单元的框图。

图1f示出了根据各种实施例的图象编码单元的框图。

图2为用于说明根据一实施例的扫描在块内的变换系数的方法的示意图。

图3a为用于说明根据一实施例的扫描在块内的变换系数的方法的示意图。

图3b为用于说明根据一实施例的确定在块内的系数组(子块)的操作以及按照系数组所执行的操作的示意图。

图4为用于说明根据一实施例的确定用于对与变换系数有关的信息执行基于上下文的二值算术编解码的上下文模型的过程的示意图。

图5为用于说明根据另一实施例的确定用于对与变换系数有关的信息执行基于上下文的二值算术编解码的上下文模型的过程的示意图。

图6a为用于说明根据一实施例的用于扫描与在块中的变换系数有关的信息的水平优先之字形扫描顺序的示意图。

图6b为用于说明根据一实施例的用于扫描与在块中的变换系数有关的信息的垂直优先之字形扫描顺序的示意图。

图6c为用于说明根据一实施例的用于扫描与在块中的变换系数有关的信息的水平扫描顺序的示意图。

图6d为用于说明根据一实施例的用于扫描与在块中的变换系数有关的信息的垂直扫描顺序的示意图。

图6e为用于说明根据一实施例的用于扫描与在块中的变换系数有关的信息的对角扫描顺序的示意图。

图7a为用于说明根据一实施例的通过互换(swap)四边形扫描区域中的变换系数像素的水平方向和垂直方向的坐标来改变(swap)扫描区域的过程的示意图。

图7b为用于说明根据一实施例的通过互换扫描区域中的变换系数像素的水平方向和垂直方向的坐标来改变扫描区域的过程的示意图。

图8为用于说明根据一实施例的通过基于当前块的尺寸和当前块的形状(shape)中的至少一个确定与当前块中的变换系数的语法元素信息有关的上下文模型的过程的示意图。

图9a至图9c为用于说明根据一实施例的残差编码语法结构(syntaxstructure)的示意图。

图9d至图9f为用于说明根据另一实施例的残差编码语法结构的示意图。

图10示出了根据一实施例的通过划分当前编码单元来确定至少一个编码单元的过程。

图11示出了根据一实施例的通过划分非正方形形状的编码单元来确定至少一个编码单元的过程。

图12示出了根据一实施例的基于块形状信息和划分形状信息中的至少一个来划分编码单元的过程。

图13示出了根据一实施例的从奇数个编码单元中确定预定编码单元的方法。

图14示出了根据一实施例的当通过划分当前编码单元来确定多个编码单元时处理多个编码单元的顺序。

图15示出了根据一实施例的当编码单元不能以预定顺序处理时确定当前编码单元将被划分为奇数个编码单元的过程。

图16示出了根据一实施例的通过划分第一编码单元来确定至少一个编码单元的过程。

图17示出了根据一实施例的当通过划分第一编码单元来确定的非正方形形状的第二编码单元满足预定条件时,第二编码单元能被划分的形状受到限制。

图18示出了根据一实施例的当划分形状信息指示不能划分为四个正方形编码单元时划分正方形形状的编码单元的过程。

图19示出了根据一实施例的多个编码单元之间的处理顺序可以根据编码单元的划分过程而改变。

图20示出了根据一实施例的当编码单元被递归划分以确定多个编码单元时随着编码单元的形状和尺寸的改变来确定编码单元的深度的过程。

图21示出了根据一实施例的能够基于编码单元的形状和尺寸确定的深度以及用于区分编码单元的部分索引(partindex,以下称为pid)。

图22示出了根据一实施例的根据画面中所包括的多个预定数据单元来确定多个编码单元。

图23示出了根据一实施例的用作确定画面中所包括的参考编码单元的确定顺序的基准的处理块。

具体实施方式

在下文中,“图像”可以指示视频的静止图像或运动图像,即,视频本身。

在下文中,“样本”指示被指派给图像的采样位置的数据,且是作为处理对象的数据。例如,空间域的图像中的像素可以是样本。

在下文中,“当前块(currentblock)”可以指示要编码或解码的图像的块。

图1a示出了根据各种实施例的视频解码装置的框图。

根据多种实施例的视频解码装置100可以包括熵解码单元105和图像恢复单元120。

熵解码单元105可以获得从比特流接收的语法元素(syntaxelement)信息,并且对于语法元素信息执行熵解码。此时,从比特流接收的语法元素信息可以是关于图像的多种语法元素信息。

熵解码单元105可以从比特流获得与当前块中的变换系数有关的语法元素信息,并且可以对于与当前块中的变换系数有关的语法元素信息执行熵解码。此时,当前块可以是可以在通过参考图10至图23描述的对图像执行编码/解码的过程中使用的数据单元。

熵解码单元105可以通过根据预定扫描顺序扫描与经熵解码的当前块中的变换系数有关的语法元素信息,来获得与当前块中的变换系数有关的信息。预定扫描顺序可以是逆方向的各种扫描顺序。在此,逆方向的扫描顺序可以是从块中的右侧下端像素到块中的左侧上端的变换系数像素的扫描顺序。按照从左上侧变换系数像素到位于右下侧的变换系数的顺序来扫描变换系数的顺序可以被称为正方向扫描顺序,并且按照从位于右下侧的最后一个变换系数到左上侧变换系数的顺序来扫描变换系数的顺序可以被称为逆方向扫描顺序。与当前块中的变换系数有关的语法元素信息可以是指示当前块中的变换系数是否大于预定值的标志(flag)信息。此时,预定值可以是大于或等于0的整数值。例如,可以是0、1或2。

此外,与当前块中的变换系数有关的语法元素信息可以是指示剩余级别绝对值(remaininglevelabsolutevalue)的语法元素信息。剩余级别绝对值可以表示变换系数的级别的绝对值与基本级别(baselevel)的绝对值之间的差。可以通过基于指示变换系数的绝对值是否大于预定值的语法元素信息确定基本级别的绝对值。例如,指示变换系数的绝对值是否大于0(或者,变换系数是否为有效变换系数;其中,有效变换系数表示变换系数的绝对值大于0的变换系数)的标志信息(greaterthan0flag或者sig_coeff_flag;在下文中,称为gto标志)的值、指示变换系数的绝对值是否大于1的标志信息(greaterthan1flag或者coeff_abs_level_greater1_flag;在下文中,称为gt1标志)的值、以及指示变换系数的绝对值是否大于2的标志信息(greaterthan2flag或者coeff_abs_level_greater2_flag;在下文中,称为gt2标志)的值之和可以是基本级别的绝对值。在此,当指示变换系数的绝对值是否大于预定值的标志信息指示大于预定值时,该标志信息的值可以是1,而当标志信息指示小于预定值时,该标志信息的值可以是0。与变换系数的大小有关的标志信息中的一部分可能没有从比特流获得。根据一实施例,当指示变换系数的大小是否大于n(n是整数)的标志被称为gtn,指示变换系数的大小是否大于(n+1)的标志被称为gt(n+1),且指示变换系数的大小是否大于(n+2)的标志被称为gt(n+2)时,可以仅传输指示变换系数的绝对值是否大于从n、n+1和和n+2的基准值中相对更小的n或n+1的标记(即,gtn和gt(n+1)),而不将gt(n+2)包括在比特流中。

例如,在gt0标志信息和gt1标志信息分别指示变换系数的绝对值大于0和1的情况下,当gt2标志信息不被包括在比特流中时,排除gt2标志信息并仅使用gt0标志信息和gt1标志信息,因此变换系数的绝对值大于1,所以熵解码单元105将从变换系数的绝对值中减去2的剩余的绝对值确定为变换系数的剩余级别绝对值。

当gt0标志信息、gt1标志信息和gt2标志信息分别表示大于0、1和2时,由于变换系数的绝对值大于2,所以熵解码单元105可以将从变换系数的绝对值中减去3的剩余的绝对值确定为变换系数的剩余级别绝对值。换言之,剩余级别绝对值可以指示基于指示变换系数的绝对值是否大于预定值的信息而确定的预定绝对值和有效变换系数的绝对值之间的绝对值之差。熵解码单元105可以获得从比特流接收的语法元素信息并对于语法元素信息执行二值算术解码(binaryarithmeticdecoding),且对于通过执行二值算术解码产生的输出(即,二值串(binstring))执行反二值化(inversebinarization)。二值算术解码操作可以由二值算术解码单元110执行,且反二值化操作可以由反二值化单元115执行。

二值算术解码单元110可以对从比特流获得的语法元素信息执行基于预定上下文模型(contextmodel)的二值算术解码。这里,上下文模型可以是与二值(bin)的发生概率有关的信息。与二值(bin)的发生概率有关的信息可以包括指示在两个符号0和1中发生概率相对低的符号(即,最小概率符号(lps;leastprobablesymbol))和与此相反的发生概率高的符号(即,最大概率符号(mps;mostprobablesymbol))中的一个符号的信息(valmps)以及与一个符号的发生概率有关的信息。发生概率具有0和1之间的值。因此,当mps和lps中的一个符号的概率被确定时,由于与另一符号的发生概率有关的信息为关于将从1中减去与已确定的符号有关的发生概率的概率的信息,因此当针对一个符号的发生概率被确定时,二值算术解码单元110可以确定针对其余符号的发生概率。此时,针对在先被确定的一个符号的发生概率可以是lps的发生概率。可以在表中预先确定与索引值对应的符号的发生概率,并且与符号有关的发生概率信息可以是指示在表中指示确定的符号的发生概率的索引的信息pstateidx。

可以通过基于指示二值(bin)位置的索引(binindex)、在包括二值的块的周围块中包括的二值的发生概率以及当前块或周围块的各种元素等确定预定的上下文模型。

或者,二值算术解码单元110可以通过根据旁路(by-pass)模式对于从比特流获得的语法元素信息执行二值算术解码。此时,对于当前经二值算术解码的二值(bin),获得0或1概率被固定为0.5,且可以通过基于该概率针对语法元素信息执行二值算术解码。

反二值化单元115可以对于作为通过执行二值算术解码而产生的输出值的二值串(binstring)执行反二值化。反二值化单元115可以通过基于与预定的二值化方法相对应的反二值化方法来针对二值串执行反二值化。预定的二值化方法可以包括固定长度(fixedlength)二值化方法、莱斯(rice)二值化方法、指数-哥伦布(exponential-golomb)二值化方法以及哥伦布-莱斯(golomb-rice)二值化方法。或者,预定的二值化方法可以是组合第一二值化方法和第二二值化方法的二值化方法。例如,反二值化单元115可以通过基于与第一二值化方法相对应的反二值化方法对于作为语法元素的二值串中的一部分的第一二值串执行反二值化,且可以通过基于与第二二值化方法相对应的反二值化方法对于作为语法元素的二值串中的一部分的第二二值串执行反二值化。所述一部分的二值串可以是语法元素的二值串的前缀(prefix)或后缀(suffix)。

二值化方法或反二值化方法皆涉及一种代码字,该代码字规定包括与语法元素的值相对应的至少一个二值的二值串的1:1对应关系。在编码方面上,可以根据以上描述的各种二值化方法之一确定包括与语法元素的值相对应的至少一个二值的二值串,并且在解码方面上,可以根据反二值化方法确定与二值串相对应的语法元素的值。例如,当根据预定的二值化/反二值化方法确定与语法元素的值a(a为实数)相对应的二值串a时,以语法元素的值a为基准确定二值串a的过程可以被称为二值化,且以二值串a为基准确定语法元素的值a的过程可以被称为反二值化过程。然而,如上所述,二值化和反二值化本质上规定了语法元素的值和二值串之间的映射关系,且本领域技术人员可以容易地理解二值化和反二值化实质上为相同。

熵解码单元105可以通过根据预定扫描顺序扫描与当前块中的变换系数有关的语法元素信息并对其执行熵解码,来获得与当前块中的变换系数有关的信息。预定扫描顺序可以是根据逆方向的之字形扫描(zigzagscan)的顺序或根据逆方向的对角扫描(diagonalscan)的顺序。但不限于此,预定扫描顺序可以是多种扫描顺序,例如根据逆方向的水平扫描的顺序或根据垂直扫描的扫描顺序等。可以通过基于位于当前块中最右侧的有效变换系数像素的水平方向的坐标(例如,正交坐标系的x坐标(x为整数))值和位于当前块中最下侧的有效变换系数像素的垂直方向的坐标(例如,正交坐标系的y坐标(y为整数))值中的至少一个确定预定的扫描顺序。例如,熵解码单元105可以通过基于水平方向的坐标值的大小和垂直方向的坐标值的大小确定预定的扫描顺序。当水平方向的坐标值大于垂直方向的坐标值时,熵解码单元105可以将逆方向的垂直扫描顺序确定为预定的扫描顺序。当垂直方向的坐标值大于水平方向的坐标值时,熵解码单元105可以将逆方向的水平扫描顺序确定为预定的扫描顺序。

或者,当水平方向的坐标值大于垂直方向的坐标值时,熵解码单元105可以将逆方向的垂直优先之字形扫描顺序(verticalfirstzigzagscanorder)确定为预定的扫描顺序。将参考图6b详细描述垂直优先之字形扫描顺序。当垂直方向的坐标值大于水平方向的坐标值时,熵解码单元105可以将逆方向的水平优先之字形扫描顺序(horizontalfirstzigzagscanorder)确定为预定的扫描顺序。将参考图6a详细描述水平优先之字形扫描顺序。当垂直方向的坐标值大于水平方向的坐标值时,熵解码单元105可以将逆方向的垂直优先之字形扫描顺序和水平优先之字形扫描顺序中的一个确定为预定的扫描顺序。

或者,当水平方向的坐标值大于垂直方向的坐标值时,熵解码单元105可以将逆方向的水平优先之字形扫描顺序(horizontalfirstzigzagscanorder)确定为预定的扫描顺序。当水平方向的坐标值大于垂直方向的坐标值时,熵解码单元105可以将逆方向的垂直优先之字形扫描顺序(verticalfirstzigzagscanorder)确定为预定的扫描顺序。

在扫描与变换系数有关的信息之前,熵解码单元105可以确定包括当前块中的所有有效变换系数的扫描区域。此时,在扫描区域中可以包括当前块中的所有有效变换系数,并且当前块中的除了扫描区域之外的其余区域可以仅包括不是有效变换系数且0的变换系数。此时,当从扫描区域的左侧上端的变换系数根据预定的正方向扫描顺序执行扫描时,扫描区域可以是包括直至最后扫描的有效变换系数(以下称为最后有效变换系数)的变换系数的区域。此时,指定扫描区域的坐标可以是最后扫描的有效变换系数像素的坐标。

熵解码单元105可以从比特流获得与指示最后有效变换系数的坐标有关的信息,并基于与指示最后有效变换系数的坐标有关的信息来确定扫描区域。例如,熵解码单元105可以从比特流获得指示最后有效变换系数的水平方向的坐标值的信息和指示最后有效变换系数的垂直方向的坐标值的信息。此时,可以对于各信息执行二值算术解码来获得与各信息有关的二值串,并对于各二值串使用与预定的二值化方法相对应的反二值化方法来获得最后有效变换系数的水平方向的坐标值和最后有效变换系数的垂直方向的坐标值。

熵解码单元105可以对于作为二值串的一部分的第一二值串执行第一反二值化方法来获得第一值,并对于作为二值串的另一部分的第二二值串执行第二反二值化方法来获得第二值。通过基于第一值和第二值可以获得最后有效变换系数的在水平方向上的坐标值和最后有效变换系数的在垂直方向上的坐标值。此时,第一二值化串可以是前缀(prefix),并且第一反二值化方法可以是与固定长度(fixed-length)二值化方法相对应的反二值化方法。第二二值化串可以是后缀(suffix),并且第二反二值化方法可以是与截断一元码二值化方法相对应的反二值化方法。

或者,扫描区域可以是四边形扫描区域,且四边形扫描区域可以是由当前块中的所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标和位于当前块中的最下侧的有效变换系数像素的垂直方向的坐标所指定的区域。

熵解码单元105可以从比特流获得与指定四边形扫描区域的坐标有关的信息,并通过基于所获得的与指定四边形扫描区域的坐标有关的信息确定四边形扫描区域。例如,熵解码单元105可以从比特流获得指示当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值的信息以及指示当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值的信息。此时,熵解码单元105可以对各信息执行二值算术解码来获得与各信息有关的二值串,并对二值串使用与预定的二值方法相对应的反二值化方法来获得当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值和当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值。熵解码单元105可以对作为二值串的一部分的第一二值串执行第一反二值化方法来获得第一值,并对作为二值串的另一部分的第二二值串执行第二反二值化方法来获得第二值。可以基于第一值和第二值来获得当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值和当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值。此时,第一二值串可以是前缀(prefix),并且第一反二值化方法可以是与固定长度(fixed-length)二值化方法相对应的反二值化方法。第二二值串可以是后缀(suffix),并且第二逆二值方法可以是与截断一元码二值化方法相对应的反二值化方法。

或者,熵解码单元105可以从比特流获得指示在当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值或在当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值中的一个方向上的坐标值的信息和指示所述一个方向上的坐标值和其余方向上的坐标值之间的差(difference)的信息。熵解码单元105可以基于当前块的高度和宽度确定所述一个方向。

熵解码单元105可以从比特流获得标志信息,该标志信息指示是否从比特流获得指示一个方向的坐标值与其余方向的坐标值之间的差的信息。当所述标志信息指示从比特流获得指示一个方向的坐标值和其余方向的坐标值之间的差的信息时,熵解码单元105可以从比特流获得指示在当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值(或最后有效变换系数像素的水平方向的坐标值)或在当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值(或最后有效变换系数像素的垂直方向的坐标值)中的一个方向的坐标值的信息以及指示所述一个方向的坐标值和其余方向的坐标值之间的差的信息。

当所述标志信息指示不从比特流获得指示一个方向的坐标值和其余方向的坐标值之间的差的信息时,熵解码单元105可以从比特流获得指示在当前块中的所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值的信息和指示在当前块中的所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值的信息。

另外,熵解码单元105可以通过基于当前块的宽度和高度确定是否获得标志信息,该标志信息指示是否从比特流获得指示一个方向上的坐标值与其余方向的坐标值之间的差的信息。例如,当当前块的宽度和高度不同时(即在长方形的情况时),熵解码单元105可以确定获得标志信息,该标志信息指示是否从比特流获得指示一个方向的坐标值与其余方向的坐标值之间的差的信息。

例如,熵解码单元105可以根据下一个伪代码(pseudocode)1获得指示水平方向的坐标值sr_x和指示垂直方向的坐标值sr_y,以便指定扫描区域。

[伪代码1]

根据伪代码1,熵解码单元105可以将指示是否首先对与水平方向的坐标值有关的信息执行解码的变量isxfirst和指示是否首先对与垂直方向的坐标值有关的信息执行解码的isyfirst值初始化为0。另外,熵解码单元105可以将标志信息srdeltaflag初始化为0,所述标志信息srdeltaflag指示是否获得指示一个方向的坐标值和其余方向的坐标值之间的差的信息。

当当前块的宽度w大于当前块的高度h或者当前块的高度h大于当前块的宽度w时,熵解码单元105可以从比特流获得srdeltflag,并对于srdeltflag执行解码。

在经解码的srdeltaflag的值为1的情况下(即,当指示获得指示一个方向的坐标值与其余方向的坐标值之间的差的信息时),当当前块的宽度w小于当前块的高度h时,熵解码单元105可以将isxfirst的值确定为1。

在经解码的srdeltaflag的值为1的情况下(即,当指示接收指示一个方向的坐标值与其余方向的坐标值之间的差的信息时),当当前块的宽度w大于当前块的高度h时,熵解码单元105可以将isyfirst的值确定为1。

当isxfirst的值为1时(当指示首先对与水平方向的坐标值有关的信息执行解码时),熵解码单元105可以从比特流获得指示水平方向的坐标值的信息sr_x和指示垂直方向的坐标值与水平方向的坐标值之间的差的信息(sr_delta)(sr_y-sr_x)并对于所获得的信息进行解码。此时,垂直方向的坐标值sr_y可以被确定为sr_x+sr_delta。

当isyfirst的值为1时(当指示首先对与垂直方向的坐标值有关的信息执行解码时),熵解码单元105可以从比特流获得指示垂直方向的坐标值的信息sr_y和指示水平方向的坐标值与垂直方向的坐标值之间的差的信息(sr_delta)(sr_x-sr_y),并对所获得的信息进行解码。此时,在垂直方向的坐标值sr_x可以被确定为sr_y+sr_delta。

当经解码的srdeltaflag的值为0时(即,当指示不获得指示一个方向的坐标值与其余方向的坐标值之间的差的信息时),熵解码单元105可以从比特流获得指示水平方向的坐标值的信息sr_x和指示垂直方向的坐标值的信息sr_y并对所获得的信息进行解码。

熵解码单元105可以基于当前块的尺寸和当前块的形状(shape)中的至少一个确定在用于系数解码(coefficientdecoding)的所有语法元素信息的二值算术解码中所使用的上下文模型。例如,可以根据据当前块的高度和宽度的最小值和最大值中的至少一个来确定当前块的尺寸(size)。可以根据当前块的宽度和高度是否相同来确定当前块的形状(shape)。用于系数解码的所有语法元素信息可以包括用于指定扫描区域的语法元素信息和与扫描区域中的变换系数有关的信息。

例如,熵解码单元105可以基于以下的等式1确定与当前块的尺寸有关的信息size_tu1。

【等式1】

size_tu1=min(log2_width,log2_height)

此时,log2_width可以是对于当前块的宽度w取log2的值,并且log2_height可以是对于当前块的高度h取log2的值。

熵解码单元105可以确定与当前块的尺寸有关的信息size_tu1相对应的上下文模型,并确定与用于系数解码的语法元素信息有关的上下文模型,且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

或者,视频解码装置100可以基于以下的等式2来确定与当前块的尺寸有关的信息size_tu2。

【等式2】

size_tu2=max(log2_width,log2_height)

熵解码单元105可以基于与当前块的尺寸有关的信息size_tu2确定上下文模型,并确定与用于系数解码的语法元素信息有关的上下文模型,且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

或者,熵解码单元105可以基于与当前块的尺寸有关的信息size_tu1和size_tu2确定上下文模型,并确定与用于系数解码的语法元素信息有关的上下文模型,且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

熵解码单元105可以确定当前块的尺寸和高度中的最小值为哪个以及最大值为哪个,基于当前块的尺寸和高度中的最小值和最大值确定上下文模型,确定与用于系数解码的语法元素信息有关的上下文模型,且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

另外,熵解码单元105可以基于当前块的形状确定在用于系数解码的所有语法元素的二值算术解码中所使用的上下文模型。

例如,熵解码单元105可以基于以下的等式3确定与当前块的形状有关的信息shape_tu。

【等式3】

shape_tu=width>height?2:(width<height?1:0)

根据[等式3],熵解码单元105可以在当前块的宽度width大于高度height时将shape_tu确定为2,在当前块的宽度width小于高度height时将shape_tu确定为1,且在当前块的宽度width等于高度height时可以将shape_tu确定为0。换言之,在宽度大于高度的长方形的情况下,可以将shape_tu确定为2,在高度大于宽度的长方形的情况下,可以将shape_tu确定为1,而在正方形的情况下,可以将shape_tu确定为0。

熵解码单元105可以基于与当前块的形状有关的信息shape_tu确定上下文模型,并确定与用于系数解码的语法元素信息有关的上下文模型,且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

熵解码单元105可以基于当前块的尺寸和当前块的形状确定与用于系数解码的语法元素信息有关的上下文模型。例如,视频解码装置100可以基于与当前块的尺寸有关的信息size_tu1和size_tu2中的至少一个以及与当前块的形状有关的信息shape_tu确定与用于系数解码的语法元素信息有关的上下文模型,并且使用上下文模型对用于系数解码的语法元素信息进行二值算术解码。

当当前块的高度和宽度不同时,即当高度和宽度的其中一个较大时,熵解码单元105可以将当前块的高度和宽度彼此变更。换言之,当前块中所包括的像素的在水平方向上的坐标和在垂直方向上的坐标可以彼此互换(swap)。例如,当当前块的宽度大于高度时,熵解码单元105可以将当前块的高度和宽度彼此互换。换言之,当前块中所包括的像素的水平方向的坐标值和垂直方向的坐标值可以彼此互换。并且,当当前块的宽度不大于高度时,熵解码单元105可以不互换当前块中所包括的像素的水平方向的坐标和垂直方向的坐标。但不限于此,当当前块的高度大于宽度时,熵解码单元105可以将当前块的高度和宽度彼此互换。换言之,当前块中所包括的像素的在水平方向的坐标值和垂直方向的坐标值可以彼此互换。当当前块中所包括的像素的水平方向的坐标和垂直方向的坐标彼此互换时,熵解码单元105可以从比特流获得与指定扫描区域的水平方向的坐标和垂直方向的坐标有关的信息,并将指定扫描区域的在水平方向上的坐标和在垂直方向上的坐标互换。熵解码单元105可以基于经互换(swapped)的指定扫描区域的坐标确定经互换的当前块中的第一扫描区域。熵解码单元105可以扫描与包括在第一扫描区域中的变换系数有关的信息,并且基于所扫描的与变换系数有关的信息来获得经互换的当前块(swappedcurrentblock)的第一变换系数。当当前块中所包括的像素的水平方向的坐标和垂直方向的坐标彼此互换(swap)时,熵解码单元105可以通过将经互换的当前块中的第一变换系数的水平方向的坐标和垂直方向的坐标互换来获得当前块中的第二变换系数。熵解码单元105可以通过对当前块的第二变换系数执行反量化和逆变换来产生当前块的残差块。

例如,熵解码单元105可以根据伪代码2将指定扫描区域的水平方向的坐标sr_x或last_x以及垂直方向的坐标sr_y或last_y彼此互换。

[伪代码2]

根据伪代码2,当作为当前块的变换单元(tu:transformunit)的宽度tu_width大于当前块的tu的高度tu_height时,熵解码单元105可以将当前块的tu的宽度tu_width和当前块的tu的高度tu_height彼此互换。在tu的高度和宽度彼此互换的过程中,可以将通过基于tu的高度和宽度确定的四个角的水平方向的坐标和垂直方向的坐标彼此互换。此外,tu中所包括的像素的水平方向的坐标和垂直方向的坐标可以被彼此互换(swap)。此时,熵解码单元105可以将指示tu的高度和宽度是否彼此互换的swap_flag的值确定为1。

当作为当前块的tu的宽度tu_width不大于作为当前块的tu的高度tu_height时,熵解码单元105可以不彼此互换作为当前块的tu的宽度tu_width和作为当前块的tu的高度tu_height。

此时,熵解码单元105可以将指示tu的高度和宽度是否彼此互换的swap_flag的值确定为0。

为了指定扫描区域,熵解码单元105可以从比特流解析与用于指定四边形扫描区域的坐标[sr_x,sr_y]有关的信息或可以解析与在tu中根据正方向扫描顺序最后扫描的有效变换系数的坐标[last_x,last_y]有关的信息。

当swap_flag的值是1时,熵解码单元105可以将用于指定四边形扫描区域的坐标[sr_x,sr_y]彼此互换,或可以将在tu中通过根据正方向扫描顺序最后扫描的有效变换系数的坐标[last_x,last_y]彼此互换。

例如,熵解码单元105可以根据伪代码3将指定扫描区域的水平方向的坐标sr_x或last_x以及垂直方向的坐标sr_y或last_y彼此互换。

[伪代码3]

根据伪代码3,当作为当前块的tu(变换单元)的宽度tu_width大于作为当前块的tu的高度tu_height时,熵解码单元105可以将作为当前块的tu的宽度tu_width和作为当前块的tu的高度tu_height彼此互换。在tu的高度和宽度彼此互换的过程中,可以将通过基于tu的高度和宽度所确定的四个角的水平方向的坐标和垂直方向的坐标彼此互换。此外,tu中所包括的像素的水平方向的坐标和垂直方向的坐标可以被彼此互换。此时,熵解码单元105可以将指示tu的高度和宽度是否彼此互换的swap_flag的值确定为1。

当作为当前块的tu的宽度tu_width不大于作为当前块的tu的高度tu_height时,熵解码单元105可以不彼此互换作为当前块的tu的宽度tu_width和作为当前块的tu的高度tu_height。此时,熵解码单元105可以将指示tu的高度和宽度是否彼此互换的swap_flag的值确定为0。

熵解码单元105可以通过使用用于指定扫描区域的水平方向的坐标值和垂直方向的坐标值之间的差信息,来从比特流解析标志deltaxyflag,该标志deltaxyfla指示是否获得用于指定扫描区域的水平方向的坐标值和垂直方向的坐标值。在视频编码装置中,当垂直方向的坐标大于水平方向的坐标时,可以将标志deltaxyflag产生为具有1的值,否则可以产生为具有0的值。当deltaxyflag为0时,熵解码单元105可以单独获得与水平方向的坐标值有关的信息和与垂直方向的坐标值有关的信息并对于所获得的信息执行熵解码,且可以基于经熵解码的信息获得用于指定扫描区域的坐标。

当deltaxyflag的值为1时,熵解码单元105可以从比特流解析用于指定扫描区域的坐标信息。例如,熵解码单元105可以从比特流解析用于指定四边形扫描区域的与水平方向的坐标值有关的信息sr_x以及关于水平方向的坐标值和垂直方向的坐标值之间的差的信息sr_xy_delta。或者,为了指定扫描区域,熵解码单元105可以解析与在tu中根据正方向扫描顺序最后扫描的有效变换系数的水平方向的坐标有关的信息last_x以及关于水平方向的坐标和垂直方向的坐标值之间的差的信息last_xy_delta。

熵解码单元105可以将用于指定四边形扫描区域的水平方向的坐标值sr_x确定为从比特流解析的与水平方向上的坐标有关的信息sr_x。熵解码单元105可以将用于指定四边形扫描区域的垂直方向的坐标值sr_y确定为从比特流解析的信息sr_xy_delta和从比特流解析的与水平方向的坐标值有关的信息sr_x之和。

或者,当deltaxyflag的值为1时,熵解码单元105可以将用于指定扫描区域的在tu中按照正方向扫描顺序最后扫描的有效变换系数的水平方向的坐标值last_x确定为从比特流解析的与水平方向上的坐标值有关的信息last_x。熵解码单元105可以将用于指定扫描区域的在tu中按照正方向扫描顺序最后扫描的有效变换系数的垂直方向的坐标值last_y确定为从比特流解析的信息last_xy_delta和从比特流解析的与水平方向上的坐标值有关的信息last_x之和。

当swap_flag的值是1时,熵解码单元105可以将用于指定四边形扫描区域的坐标[sr_x,sr_y]彼此互换,或可以将用于指定扫描区域的在tu中通过按照正方向扫描顺序最后扫描的有效变换系数的坐标[last_x,last_y]彼此互换。

熵解码单元105可以对与指定四边形扫描区域的坐标有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以通过基于与预定二值化方法相对应的反二值化方法对经二值算术解码的信息执行反二值化,来获得与指定四边形扫描区域的坐标有关的反二值化信息,并从与所述坐标有关的反二值化信息获得指定四边形扫描区域的坐标。此时,可以基于当前块的尺寸、当前块的颜色分量(colorcomponent)和二值索引(binindex)中的至少一个来确定上下文模型。颜色分量可以包括亮度分量和色差分量。二值索引可以是指示关于与语法元素有关的二值串(binstring)中的当前二值算术解码的二值(bin)的位置的信息。与预定二值化方法相对应的反二值化方法可以是固定长度(fixedlength)反二值化方法和截断一元码(truncatedunary)反二值化方法中的至少一个。例如,熵解码单元105可以通过对经二值算术解码的信息中的第一二值串执行使用固定长度反二值化方法的反二值化来获得第一反二值化信息,并可以通过对经二值算术解码的信息中的第二二值串执行使用截断一元码反二值化方法的反二值化来获得第二反二值化信息。熵解码单元105可以基于第一反二值化信息和第二反二值化信息获得指定四边形扫描区域的坐标。

熵解码单元105可以通过基于与在当前块中的扫描区域中被扫描的变换系数有关的信息执行二值算术解码来获得经二值算术解码的信息。此时,可以通过使用基于当前块的尺寸和形状(shape)中的至少一个所确定上下文模型来执行二值算术解码。

熵解码单元105可以通过对经二值算术解码的信息执行反二值化来获得与当前块的变换系数有关的信息。

熵解码单元105可以通过基于与在扫描区域中所扫描的变换系数有关的信息执行基于与变换系数有关的上下文模型的二值算术解码和反二值化中的至少一个,来获得当前块的变换系数。

当与变换系数有关的信息是指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息和当前变换系数的符号信息时,熵解码单元105可以对所扫描的与变换系数有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以通过对经二值算术解码的与变换系数有关的信息执行反二值化来获得当前块的变换系数。当与变换系数有关的第一信息是指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息和当前变换系数的符号信息,并且与变换系数有关的第二信息是与当前变换系数有关的二值化参数信息时,熵解码单元105可以对与变换系数有关的第一信息执行基于上下文模型的二值算术解码。

熵解码单元105可以对经二值算术解码的第一信息执行基于包括在第二信息中的二值化参数信息的反二值化来获得当前块的变换系数。二值化参数信息可以是与变换系数有关的莱斯参数(riceparameter)信息。莱斯参数可以是用于确定包括在二值串中的前缀的长度的信息。但是,不限于此,二值化参数信息可以是与当前变换系数有关的各种二值化参数信息。

当与变换系数有关的第一信息是当前变换系数的剩余级别绝对值信息时,熵解码单元105可以通过对当前变换系数的剩余级别绝对值信息使用对应于(截断型)(truncated)莱斯二值化方法的反二值化方法和对应于指数哥伦布二值化方法的反二值化方法来获得与当前变换系数的剩余级别绝对值有关的值。例如,熵解码单元105可以通过对当前变换系数的剩余级别绝对值信息的二值串的前缀(prefix)执行使用与基于莱斯参数的莱斯二值化方法相对应的反二值化方法的反二值化来获得与当前变换系数的剩余级别绝对值有关的第一值,通过对剩余级别绝对值信息的二值串的后缀(suffix)执行使用与指数哥伦布二值化方法相对应的反二值化方法的反二值化来获得与当前变换系数的剩余级别绝对值有关的第二值,且基于与所述当前变换系数的剩余级别绝对值有关的第一值和与所述当前变换系数的剩余级别绝对值有关的第二值获得与当前块的剩余级别绝对值有关的值。

与所述变换系数有关的上下文模型中的与第一变换系数有关的上下文模型可以通过以下项中的一项来确定:按照预定扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、第一变换系数在当前块中的位置和颜色分量、与位于右侧或下侧的邻近变换系数有关的信息和第一变换系数的扫描位置。

例如,可以基于位于预定位置的右侧或下侧的变换系数中的其绝对值大于0的位于右侧或下侧的变换系数的数量来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的其绝对值大于0的有效变换系数的数量来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

或者,可以基于第一变换系数在相应的系数组中的位置以及相应的位于右侧或下侧的邻近有效系数组标志来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

熵解码单元105可以基于在当前块中的的第一变换系数的位置来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

熵解码单元105可以基于以下项中的至少一项来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型:扫描区域的尺寸、在扫描区域中已经扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照预定扫描顺序被扫描的第一个位置的系数。

例如,熵解码单元105可以基于以下的等式4确定四边形扫描区域的尺寸size_sr。换言之,四边形扫描区域的尺寸size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式4】

size_sr=(sr_x+1)*(sr_y+1)

然而,不限于此。当由最后有效变换系数像素的坐标指定扫描区域时,size_sr可以是在该扫描区域中包括的变换系数像素的数量。

熵解码单元105可以确定四边形扫描区域内的变换系数中的在扫描第一变换系数之前扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序扫描的扫描区域内的所有变换系数中的第一变换系数的位置。

当cnt_pos小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。然而,所述阈值thred1和thred2仅是示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。

熵解码单元105可以基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

熵解码单元105可以基于在当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

当pos_x小于thred1_x且pos_y小于thred1_y时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]。

当pos_x小于thred2_x且pos_y小于thred2_y时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x、thred1_y和thred2_y、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

熵解码单元105可以基于第一变换系数是否为按照逆方向扫描顺序被扫描的第一个位置的变换系数来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。换言之,熵解码单元105可以在第一变换系数是按照逆方向扫描顺序被扫描的第一个位置时确定与指示第一变换系数是否大于0的标志信息有关的第一上下文模型,并且在第一变换系数不是按照逆方向扫描顺序被扫描的第一个位置时可以确定与指示第一变换系数是否大于0的标志信息有关的第二上下文模型。此时,位于四边形扫描区域的右侧下端的像素的变换系数可以是按照逆方向扫描顺序被扫描的第一个位置的变换系数。

或者,指示第一变换系数是否大于0的标志信息(gt0标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt0标志信息和在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt0标志信息、按照扫描顺序第一变换系数是否为在扫描区域中的最初位置的变换系数和按照扫描顺序第一变换系数是否为在扫描区域中的最终位置的变换系数。

与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型可以基于在预定位置的右侧或下侧的变换系数中的其绝对值大于1的右侧或下侧的有效变换系数的数量来确定。

熵解码单元105可以基于在当前块中的第一变换系数的位置来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。

当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。此时,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1、thred2和thred3可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1,thred2和thred3。

熵解码单元105可以基于以下项中的至少一项来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型:扫描区域的尺寸、在扫描区域中已经被扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照预定扫描顺序被扫描的第一个不是0的位置的变换系数。

例如,熵解码单元105可以基于以下的等式5确定四边形扫描区域的尺寸size_sr。换言之,四边形扫描区域的尺寸size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式5】

size_sr=(sr_x+1)*(sr_y+1)

熵解码单元105可以确定在四边形扫描区域内的变换系数中的在扫描第一变换系数之前被扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序被扫描的扫描区域内的所有变换系数中的第一变换系数的位置。然而,不限于此,cnt_pos可以是在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有大于0的变换系数的数量。

当cnt_pos小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

然而,所述阈值thred1和thred2仅是一示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1和thred2可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1和thred2。

熵解码单元105可以基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

熵解码单元105可以基于在当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

当pos_x小于thred1_x,并且pos_y小于thred1_y时,视频解码装置100可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]。

当pos_x小于thred2_x,并且pos_y小于thred2_y时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

然而,所述阈值thred1_x,thred1_y和thred2_x,thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、offset2和offset3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y。

熵解码单元105可以基于第一变换系数是否为在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。换言之,视频解码装置100可以在第一变换系数是在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置时确定与指示第一变换系数是否大于1的标志信息有关的第二上下文模型。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于1的有效变换系数的数量来确定与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型。

或者,可以基于相应系数组中的先前解码的gt1标志信息和先前解码的系数组中的gt1标志信息来确定与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型。

或者,可以基于以下项中的至少一项来确定指示第一变换系数的绝对值是否大于1的标志信息(gt1标志信息):按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt1标志信息、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt1标志信息、第一变换系数是否为在扫描区域中的初始位置的变换系数和第一变换系数是否为在扫描区域中最终位置的变换系数。

可以基于绝对值大于2的位于右侧或下侧的有效变换系数的数量来确定与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型。

熵解码单元105可以基于在当前块中的第一变换系数的位置来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。此时,与关于指示第一变换系数是否大于2的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3可以不同于与关于指示第一变换系数是否大于0和1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3。

熵解码单元105可以基以下项中的至少一项来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型:扫描区域的尺寸、在扫描区域中已经被扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照预定扫描顺序被扫描的第一个不是0的位置(或者,在大于1的变换系数中的第一个位置)的变换系数。

例如,熵解码单元105可以基于以下的等式6确定四边形扫描区域的尺寸size_sr。换言之,size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式6】

size_sr=(sr_x+1)*(sr_y+1)

熵解码单元105可以确定四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序被扫描的扫描区域内的所有变换系数中的第一变换系数的位置。然而,不限于此,cnt_pos可以是在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的且绝对值大于1的所有的变换系数的数量。

当cnt_pos小于预定阈值thred1时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

然而,所述阈值thred1和thred2仅是一示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2可以不同于与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2。

熵解码单元105可以基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

熵解码单元105可以基于在当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

当pos_x小于thred1_x且pos_y小于thred1_y时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]。

当pos_x小于thred2_x且pos_y小于thred2_y时,熵解码单元105可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y。

熵解码单元105可以基于第一变换系数是否为在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。换言之,熵解码单元105可以在第一变换系数是在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于1的标志信息有关的第二上下文模型。

然而,不限于此,熵解码单元105可以基于第一变换系数是否为在按照逆方向扫描顺序被扫描的大于1的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。换言之,熵解码单元105可以在第一变换系数是在按照逆方向扫描顺序被扫描的大于1的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向扫描顺序被扫描的大于1的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于2的标志信息有关的第二上下文模型。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于2的有效变换系数的数量来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

或者,可以基于在相应系数组中的先前解码的gt2标志信息和先前解码的系数组中的gt2标志信息来确定与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型。

或者,指示第一变换系数的绝对值是否大于2的标志信息(以下称为gt2标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt2标志信息和在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt2标志信息、第一变换系数是否为在扫描区域中的初始位置的变换系数和第一变换系数是否为在扫描区域中位于最终位置的变换系数。

或者,指示第一变换系数的绝对值是否大于m(m是大于2的整数)的标志信息(以下称为gtm标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gtm标志信息和在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gtm标志信息、第一变换系数是否为在扫描区域中的第一个位置的变换系数和第一变换系数是否为在扫描区域中的最终位置的变换系数。

另外,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于第一变换系数的右侧或下侧的邻近有效变换系数的级别绝对值来确定。

例如,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于第一变换系数的右侧或下侧的预定周围有效变换系数的级别绝对值之和来确定。

或者,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于先前编码的级别值来确定。

或者,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为整数)变换系数的级别、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的级别、按照扫描顺序第一变换系数是否为在扫描区域中的最初位置的变换系数、按照扫描顺序第一变换系数是否为在扫描区域中的最终位置的变换系数和按照扫描顺序第一变换系数是否为在系数组(coefficientgroup)中的最初位置的系数。

当在扫描区域中当前被扫描的变换系数的位置是[srx,0](srx是整数,srx指示以扫描区域的左上端边角的坐标为基准而在扫描区域的右侧边界像素的水平方向的坐标值),并且位于按照预定扫描顺序先前被扫描的位置[srx,y](y是大于0且小于或等于sry的整数,sry是指以扫描区域的左上角的坐标为准扫描区域的下侧边界像素的在垂直方向上的坐标值)的变换系数全为0时,熵解码单元105可以不从比特流获得当前被扫描的变换系数的gt0标志信息而可以将gt0标志信息的值确定为1。

同样地,当在扫描区域中当前被扫描的变换系数的位置是[0,sry](sry是整数,sry指示以扫描区域的左上端边角的坐标为基准扫描区域的下侧边界像素的垂直方向的坐标值),且位于按照预定扫描顺序先前被扫描的位置[x,sry](x是大于0且小于或等于srx的整数,srx指示以扫描区域的左上端边角的坐标为基准扫描区域的右侧边界像素的垂直方向的坐标值)的变换系数全为0时,熵解码单元105可以不从比特流获得当前被扫描的变换系数的gt0标志信息而可以将gt0标志信息的值确定为1。

另外,熵解码单元105可以确定当前块中的有效变换系数的gt1标志信息的最大数量,并且在所确定的有效变换系数的最大系数内从比特流接收当前块中的gt1标志信息。换言之,当熵解码单元105从比特流接收最大数量的有效变换系数的gt1标志信息时,熵解码单元105可以在之后不再确认在比特流中是否存在有效变换系数的gt1标志信息。

熵解码单元105可以将所有不是0的有效变换系数确定为当前块中的gt1标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块中的gt1标志信息的最大数量。例如,熵解码单元105可以基于以下的等式7确定gt1标志信息的最大数量maxcount_gt1。

【等式7】

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以扫描区域的左侧上端角边的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。

k1可以是扫描区域的尺寸和gt1标志之间的调整系数。例如,可以是大于1的整数。th1可以是预定的阈值。例如,th1可以是16、8。然而,不限于此,本领域技术人员可以容易地理解,k1和th1可以具有各种值。

熵解码单元105可以确定当前块中的gt2标志信息的最大数量,并且在所确定的有效变换系数的最大系数内从比特流接收当前块中的gt2标志信息。换言之,当熵解码单元105从比特流接收最大数量的有效变换系数的gt2标志信息时,熵解码单元105可以在之后不再确认在比特流中是否存在有效变换系数的gt2标志信息。

熵解码单元105可以将所有不是0的有效变换系数确定为当前块中的gt2标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块中的gt2标志信息的最大数量。例如,熵解码单元105可以基于以下的等式8确定gt2标志信息的最大数量maxcount_gt2。

[等式8]

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。k2可以是扫描区域的尺寸和gt1标志之间的调整系数。例如,可以是大于1的整数。k2可以是预定的阈值。例如,th2可以是16、8。然而,不限于此,本领域技术人员可以容易地理解,k2和th2可以具有各种值。

熵解码单元105可以从比特流获得与当前块中的系数组有关的信息。在此,与系数组有关的信息可以是指示在系数组中是否包括至少一个有效变换系数(或者,在系数组中是否仅包括作为0的变换系数)的标志信息。所述标志信息可以被称为有效系数组标志(significantcoefficientgroupflag)信息。熵解码单元105可以基于从比特流获得的与当前系数组有关的信息来扫描与当前系数组中的变换系数有关的信息。例如,当与系数组有关的信息指示在系数组中不包括至少一个有效变换系数时,熵解码单元105可以在不扫描与变换系数有关的信息的情况下将系数组中的变换系数的值导出为0。当与系数组有关的信息指示在系数组中包括至少一个有效变换系数时,熵解码单元105可以按照预定的扫描顺序扫描与变换系数有关的信息来获得系数组中的变换系数。

此时,对包括在扫描区域中的变换系数,熵解码部熵解码单元105可以根据按照预定的扫描顺序被扫描的每个预定的k个(k为整数)变换系数来确定一个系数组。即,一个系数组可以包括k个变换系数。此时,扫描顺序可以是与预定逆方向的扫描顺序相反方向的正方向扫描顺序。

因此,熵解码单元105可以通过从作为与当前块中的左侧上端边角邻近的系数的dc系数按照正方向扫描顺序进行扫描来确定系数组。此时,当当前块中包括的变换系数的数量不是k的整数倍时,在按照正方向扫描顺序被扫描的系数组中的最终系数组可以包括数量小于k的变换系数。

但是,不限于此,本领域技术人员可以容易地理解,熵解码单元105可以通过按照从包括在当前块的变换系数中的位于右侧下端的系数扫描到包括在当前块的变换系数中的位于左侧上端的系数的逆方向扫描顺序进行扫描,来确定系数组。

但是,不限于此,本领域技术人员可以容易地理解,熵解码单元105可以不从比特流获得与当前块中的系数组有关的信息,并可以按照预定的扫描顺序来确定系数组。确定系数组的原因是熵解码单元105执行根据系数组处理的操作(例如,符号数据隐藏(signdatahiding)等的操作)。当在按照预定的扫描顺序被扫描的系数组中的一个系数组仅包括一个变换系数时,熵解码单元105可以不从比特流获得与相应系数组有关的信息,而从比特流获得gto标志信息。

熵解码单元105可以确定对于包括在当前块中的每个系数组是否隐藏至少一个变换系数的符号(sign)。例如,熵解码单元可以根据情况确定对于包括在当前块中的每个系数组隐藏一个或两个变换系数的符号。

熵解码单元105可以按照预定的扫描顺序扫描与在四边形扫描区域中的变换系数有关的信息。预定的扫描顺序可以包括逆方向的之字形扫描顺序、逆方向的对角扫描顺序以及逆方向的垂直扫描顺序和水平扫描顺序。然而,本领域技术人员可以容易理解的是,预定的扫描顺序不限于上述的逆方向扫描顺序,而是包括各种逆方向扫描顺序。

熵解码单元105可以基于扫描的与变换系数有关的信息来获得当前块的变换系数。

图像恢复单元120可以通过对当前块的变换系数执行反量化和逆变换来产生当前块的残差块。

图像恢复单元120可以基于当前块的残差块来恢复当前块。

图像恢复单元120可以对于当前块执行帧间预测或帧内预测来产生当前块的预测块。图像恢复单元120可以基于当前块的预测块和当前块的残差块来恢复当前块。换言之,图像恢复单元120通过将预测块中包括的像素的值与残差块中包括的像素的值相加来恢复当前块中包括的像素的值。

熵解码单元105可以对与指定四边形扫描区域的坐标有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以通过对经二值算术解码的信息执行使用预定反二值化方法的反二值化来获得与指定四边形扫描区域的坐标有关的反二值化信息,并且基于与所述坐标有关的反二值化信息来获得指定四边形扫描区域的坐标。此时,可以基于当前块的尺寸和当前块的颜色分量和二值化索引中的至少一个来确定上下文模型。颜色分量可以包括亮度分量和色差分量。二值索引可以是指示与语法元素有关的二值串(binstring)中的当前二值算术解码的二值(bin)的位置的信息。这里,预定反二值化方法可以是固定长度反二值化和截断一元码反二值化方法中的至少一个。

熵解码单元105可以通过基于与扫描的有效变换系数有关的信息来执行基于与有效变换系数有关的上下文模型的二值算术解码和反二值化中的至少一个,来获得当前块的变换系数。当与有效变换系数有关的信息是指示当前有效变换系数的绝对值是否大于预定值的信息、剩余级别信息和当前有效变换系数的符号信息时,熵解码单元105可以对所扫描的与有效变换系数有关的信息执行基于上下文模型的二值算术解码。熵解码单元105可以通过对经二值算术解码的与有效变换系数有关的信息执行反二值化来获得当前块的变换系数。当与有效变换系数有关的第一信息是指示当前有效变换系数的绝对值是否大于预定值的信息、剩余级别信息和当前有效变换系数的符号信息,并且与有效变换系数有关的第二信息是二值化参数信息时,熵解码单元105可以对与有效变换系数有关的第一信息执行基于上下文模型的二值算术解码。熵解码单元105可以对经二值算术解码的第一信息执行基于包括第二信息的二值化参数信息的反二值化来获得当前块的变换系数。二值化参数信息可以是与变换系数有关的莱斯参数(riceparameter)信息。与所述变换系数的标志信息有关的上下文模型中的与第一变换系数有关的上下文模型可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的与至少一个第二变换系数有关的信息、在当前块中的第一变换系数的位置和颜色分量、与右侧或下侧的周围变换系数有关的信息和第一变换系数的扫描位置。

与指示第一变换系数的绝对值是否大于0的标志信息有关的上下文模型可以基于绝对值大于0的位于右侧或下侧的有效变换系数的数量来确定。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于0的有效变换系数的数量来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

或者,指示第一变换系数是否大于0的标志信息(以下称为gt0标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt0标志信息、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt0标志信息、第一变换系数是否为在扫描区域中的第一个位置的变换系数和第一变换系数是否为在扫描区域中的最终位置的变换系数。

与指示第一变换系数是否大于1的标志信息有关的上下文模型可以基于绝对值大于1的右侧和下侧的有效变换系数的数量来确定。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于1的有效变换系数的数量来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

或者,指示第一变换系数是否大于1的标志信息(以下称为gt1标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt1标志信息、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt1标志信息、第一变换系数是否为在扫描区域中的第一个位置的变换系数和第一变换系数是否为在扫描区域中的最终位置的变换系数。

与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型可以基于绝对值大于2的右侧或下侧的有效变换系数的数量来确定。此时,不限于此,与指示第一变换系数是否大于2的标志信息有关的上下文模型可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于2的有效变换系数的数量来确定。

或者,指示第一变换系数是否大于2的标志信息(以下称为gt2标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gt1标志信息、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gt1标志信息、第一变换系数是否为在扫描区域中的第一个位置的变换系数和第一变换系数是否为在扫描区域中的最终位置的变换系数。

或者,指示第一变换系数的绝对值是否大于m(m是大于2的整数)的标志信息(以下称为gtm标志信息)可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为正整数)变换系数的gtm标志信息、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的gtm标志信息、第一变换系数是否为在扫描区域中的第一个位置的变换系数和第一变换系数是否为在扫描区域中的最终位置的变换系数。

另外,可以基于第一变换系数的右侧和下侧的邻近有效变换系数的级别绝对值来确定与第一变换系数的剩余级别绝对值有关的二值化参数信息。

例如,可以基于位于第一变换系数的右侧或和下侧的相邻有效变换系数的级别绝对值之和来确定与第一变换系数的剩余级别绝对值有关的二值化参数信息。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于2的有效变换系数的数量来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

与指示第一变换系数是否大于1的标志信息有关的上下文模型可以基于绝对值大于1的右侧和下侧的有效变换系数的数量来确定。

与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型可以基于绝对值大于2的右侧或下侧的有效变换系数的数量来确定。

另外,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于第一变换系数的右侧和下侧的邻近有效变换系数的级别绝对值来确定。例如,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于第一变换系数的右侧或和下侧的邻近有效变换系数的级别绝对值之和来确定。

与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为整数)变换系数的级别、在当前块中的第一变换系数的位置、颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的级别、按照扫描顺序第一变换系数是否为在扫描区域中的第一个位置的变换系数、按照扫描顺序第一变换系数是否为在扫描区域中的最终位置的变换系数和按照扫描顺序第一变换系数是否为在系数组(coefficientgroup)中的第一个位置的系数。

当在扫描区域中当前被扫描的变换系数的位置是[srx,0](srx是整数,srx指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的右侧边界像素的水平方向的坐标值),并且按照预定扫描顺序先前被扫描的位置[srx,y](y是大于0且小于或等于sry的整数,sry指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的下侧边界像素的垂直方向的坐标值)的变换系数全为0时,熵解码单元105可以不从比特流获得当前被扫描的变换系数的gt0标志信息而可以将gt0标志信息的值确定为1。

同样地,当在扫描区域中当前别扫描的变换系数的位置是[0,sry](sry是整数,sry指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的下侧边界像素的垂直方向的坐标值),且按照预定扫描顺序先前被扫描的位置[x,sry](x是大于0且小于或等于srx的整数,srx指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的右侧边界像素的垂直方向的坐标值)的变换系数全为0时,熵解码单元105可以不从比特流获得当前被扫描的变换系数的gt0标志信息而可以将gt0标志信息的值确定为1。

另外,熵解码单元105可以确定当前块中的有效变换系数的gt1标志信息的最大数量,并且在所确定的有效变换系数的最大系数内从比特流接收当前块中的gt1标志信息。换言之,当熵解码单元105从比特流接收最大数量的有效变换系数的的gt1标志信息时,熵解码单元105可以在之后不再确认在比特流中是否存在有效变换系数的gt1标志信息。

熵解码单元105可以将所有不是0的有效变换系数确定为当前块中的gt1标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块中的gt1标志信息的最大数量。例如,熵解码单元105可以基于以下的等式9确定gt1标志信息的最大数量maxcount_gt1。

【等式9】

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。k1可以是扫描区域的尺寸和gt1标志之间的调整系数。例如,可以是大于1的整数。th1可以是预定的阈值。例如,th1可以是16、8。然而,不限于此。本领域技术人员可以容易地理解,k1和th1可以具有各种值。

熵解码单元105可以确定当前块中的gt2标志信息的最大数量,并且在所确定的有效变换系数的最大系数内从比特流接收当前块中的gt2标志信息。换言之,当熵解码单元105从比特流接收最大数量的有效变换系数的的gt2标志信息时,熵解码单元105可以在之后不再确认在比特流中是否存在有效变换系数的gt2标志信息。

熵解码单元105可以将所有不是0的有效变换系数确定为当前块中的gt2标志信息的最大数量。或者,熵解码单元105可以基于扫描区域的尺寸确定当前块中的gt2标志信息的最大数量。例如,熵解码单元105可以基于以下的等式10确定gt2标志信息的最大数量maxcount_gt2。

【等式10】

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。k2可以是调整系数。例如,k2可以是大于1的整数。k2可以是预定的阈值。例如,th2可以是16、8。然而,不限于此,本领域技术人员可以容易地理解,k2和th2可以具有各种值。

熵解码单元105可以从比特流获得与当前块中的系数组有关的信息。与系数组有关的信息可以是指示该系数组是否包括至少一个有效变换系数的标志信息。此时,对包括在扫描区域中的变换系数,熵解码部熵解码单元105可以根据按照预定的扫描顺序被扫描的每个预定的k个(k为整数)变换系数确定一个系数组。即,一个系数组可以包括k个变换系数。此时,扫描顺序可以是与预定逆方向的扫描顺序相反方向的正方向扫描顺序。这里,预定逆方向的扫描顺序可以表示从当前块中包括的变换系数中的位于右侧下端的系数扫描到当前块中包括的变换系数中的位于左侧上端的系数的顺序。

因此,熵解码单元105可以从作为与当前块中的左侧上端边角邻近的系数的dc系数按照正方向扫描顺序进行扫描来确定系数组。此时,当当前块中包括的变换系数的数量不是k的整数倍时,在按照正方向扫描顺序被扫描的系数的组中的最终系数组可以包括数量小于k的变换系数。但是,不限于此,本领域技术人员可以容易地理解,熵解码单元105可以通过根据从包括在当前块的变换系数中的位于右侧下端的系数扫描到包括在当前块的变换系数中的位于左侧上端的系数的逆方向扫描顺序进行扫描来确定系数组。

当在按照预定的扫描顺序被扫描的系数组中的最终系数组仅包括一个变换系数时,熵解码单元105可以不从比特流获得与系数组有关的信息,而可以从比特流仅获得gto标志信息。

熵解码单元105可以对于包括在当前块中的每个系数组确定是否隐藏至少一个变换系数的符号(sign)。例如,熵解码单元可以根据情况确定对于包括在当前块中的每个系数组隐藏一个或两个变换系数的符号。

熵解码单元105可以按照预定的扫描顺序扫描与在四边形扫描区域中的有效变换系数有关的信息。预定的扫描顺序可以包括逆方向的之字形扫描顺序、逆方向的对角扫描顺序以及逆方向的垂直扫描顺序和水平扫描顺序。然而,本领域技术人员可以容易理解的是,预定的扫描顺序不限于上述的逆方向扫描顺序,而是包括各种逆方向扫描顺序。

熵解码单元105可以基于扫描的与变换系数有关的信息来获得当前块的变换系数。

图像恢复单元120可以通过对当前块的变换系数执行反量化和逆变换来产生当前块的残差块。

图像恢复单元120可以基于当前块的残差块来恢复当前块。

图像恢复单元120可以对当前块执行帧间预测或帧内预测来产生当前块的预测块。图像恢复单元120可以基于当前块的预测块和当前块的残差块来恢复当前块。换言之,图像恢复单元120通过将预测块中包括的像素的值与残差块中包括的像素的值相加来恢复当前块中包括的像素的值。稍后将在关于图3a的描述中描述光流。

视频解码装置100可以包括图像解码单元(未示出),并且图像解码单元(未示出)可以包括熵解码单元105和图像恢复单元120。将参考图1e描述图像解码单元。图1b示出了根据各种实施例的视频解码方法的流程图。

在s105步骤中,视频解码装置100可以确定包括当前块中的所有有效变换系数的扫描区域。此时,当从扫描区域的左侧上端的变换系数按照预定的正方向扫描顺序执行扫描时,扫描区域可以是包括直至最后被扫描的有效变换系数(以下称为最后有效变换系数)的变换系数的区域。此时,指定扫描区域的坐标可以是最后被扫描的有效变换系数像素的坐标。视频解码装置100可以从比特流获得与指示最后有效变换系数的坐标有关的信息,并可以基于所获得的与指示最后有效变换系数的坐标有关的信息来确定扫描区域。

或者,扫描区域可以是四边形扫描区域,且四边形扫描区域可以是由当前块中所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标和当前块中位于最下侧的有效变换系数像素的垂直方向的坐标所指定的区域。视频解码装置100可以从比特流获得与指定四边形扫描区域的坐标有关的信息,并基于所获得的与指定四边形扫描区域的坐标有关的信息确定四边形扫描区域。

在s110步骤中,视频解码装置100可以按照预定扫描顺序扫描与在扫描区域中的变换系数有关的信息。预定扫描顺序可以是逆方向的之字形扫描顺序或逆方向的对角扫描顺序。之字形扫描顺序可以包括垂直优先之字形扫描顺序或水平优先之字形扫描顺序。在s115步骤中,视频解码装置100可以通过基于扫描的与变换系数有关的信息执行二值算术解码来产生经二值算术解码的信息。此时,视频解码装置100可以使用基于当前块的尺寸和形状中的至少一个所确定的上下文模型来执行二值算术解码。

在s120步骤中,视频解码装置100可以按照预定的扫描顺序扫描与包括在扫描区域中的变换系数有关的信息,并对经二值算术解码的信息执行反二值化来获得与当前块的变换系数有关的信息。

在s125步骤中,视频解码装置100通过基于与当前块的变换系数有关的信息执行反量化和逆变换来产生当前块的残差块。换言之,视频解码装置100可以基于与当前块的变换系数有关的信息获得当前块的变换系数,并且对当前块的变换系数执行反量化和逆变换来产生当前块的残差块。

在s130步骤中,视频解码装置100可以基于残差块来恢复当前块。视频解码装置100可以通过执行帧间预测或帧内预测来产生当前块的预测块,并且视频解码装置100可以通过将包括在当前块的预测块中的像素值和残差块的像素值相加来产生当前块的恢复块的像素值。

图1c示出了根据各种实施例的视频编码装置150的框图。

根据多种实施例的视频编码装置150包括熵编码单元155和比特流产生单元170。

熵编码单元155可以对与当前块中的变换系数有关的语法元素进行熵编码。熵编码单元155可以通过按照预定扫描顺序扫描与当前块中的变换系数有关的二维排列信息来产生与当前块中的变换系数有关的一维排列信息,并对与当前块中的变换系数有关的一维排列信息执行熵编码。

与变换系数有关的语法元素可以是指示变换系数是否大于预定值的标志。此时,预定值可以是大于或等于0的值。例如,可以是0、1或2。此外,可以是指示与变换系数有关的剩余级别(remaininglevel)绝对值的语法元素。换言之,剩余级别绝对值可以指示变换系数的绝对值和基于其是否大于预定值而确定的预定绝对值之间的绝对值的差。此外,与有效变换系数有关的语法元素可以是与有效变换系数的符号有关的语法元素。

首先,熵编码单元155可以通过对语法元素执行二值化来产生二值串(binstring),并对二值串执行二值算术编码来对于语法元素产生经熵编码的信息。此时,二值化可以由二值化单元160执行,并且二值算术编码可以由二值算术编码单元165执行。

二值化单元160可以对于预定的语法元素执行二值化来产生二值串。二值化单元160可以基于预定的二值化方法来对预定的语法元素执行二值化。预定的二值化方法可以包括固定长度(fixedlength)二值化方法、莱斯(rice)二值化方法、指数-哥伦布(exponentialgolomb)二值化方法以及哥伦布-莱斯(golomb-rice)二值化方法。或者,预定的二值化方法可以是将第一二值化方法和第二二值化方法组合的二值化方法。例如,二值化单元160可以基于第一二值化方法对语法元素的一部分执行二值化来产生第一二值串(binstring),并且基于第二二值化方法对语法元素的另一部分执行二值化来产生第二二值串。此时,第一二值串可以是语法元素的二值串的一部分,并且第二值串可以是语法元素的二值串的另一部分。二值串的一部分可以是前缀(prefix)或后缀(suffix)。

二值算术编码单元165可以对与预定语法元素有关的二值串执行基于预定上下文模型的二值算术编码。或者,二值算术编码单元165可以在没有预定上下文模型的情况下对与预定语法元素有关的二值串执行二值算术编码。此时,对于当前被二值算术编码的二值(bin)而出现0或1的概率被固定为0,5,并基于该概率执行二值算术编码。

熵编码单元155可以获得得当前块的变换系数。换言之,视频编码装置150可以通过执行帧间预测或帧内预测来产生当前块的预测块,并且基于当前块的原始块和当前块的预测块产生当前块的残差块。视频编码装置150可以通过对于当前块的残差块执行变换和量化来产生当前块的变换系数。熵编码单元155可以获得所产生的当前块的变换系数。

熵编码单元155可以确定与当前块的变换系数有关的信息,并通过按照预定扫描顺序扫描与当前块的变换系数有关的信息来产生与当前块的变换系数有关的一维排列信息,且对一维排列信息执行熵编码。预定扫描顺序可以是根据逆方向之字形扫描的顺序或根据逆方向对角扫描的顺序。但是,不限于此,可以是多种扫描顺序,例如根据逆方向水平扫描的顺序和根据逆方向垂直扫描的顺序等。可以通过基于位于当前块中的最右侧的有效变换系数像素的水平方向的坐标和位于当前块中的最下侧的有效变换系数像素的垂直方向的坐标中的至少一个确定预定扫描顺序。熵编码单元155可以基于水平方向的坐标值的大小和垂直方向的坐标值的大小确定预定扫描顺序。例如,当水平方向的坐标值大于垂直方向的坐标值时,熵编码单元155可以将逆方向的垂直扫描顺序确定为预定的扫描顺序。当垂直方向的坐标值大于水平方向的坐标值时,熵编码单元155可以将逆方向的水平扫描顺序确定为预定的扫描顺序。

或者,当水平方向的坐标值大于垂直方向的坐标值时,熵编码单元155可以将逆方向的垂直优先之字形扫描顺序确定为预定的扫描顺序。当垂直方向的坐标值大于水平方向的坐标值时,熵编码单元155可以将逆方向的水平优先之字形扫描顺序确定为预定的扫描顺序。当垂直方向的坐标值等于水平方向的坐标值时,熵编码单元155可以将逆方向的垂直优先之字形扫描顺序和水平优先之字形扫描顺序中的一个确定为预定的扫描顺序。

或者,当水平方向的坐标值大于垂直方向的坐标值时,熵编码单元155可以将逆方向的水平优先之字形扫描顺序确定为预定的扫描顺序。当水平方向的坐标值不大于垂直方向的坐标值时,熵编码单元155可以将逆方向的水平优先之字形扫描顺序(horizontalfirstzigzagscanorder)确定为预定的扫描顺序。

首先,熵编码单元155可以确定包括当前块中的所有有效变换系数的扫描区域。此时,在扫描区域中可以包括当前块中的所有有效变换系数,并且当前块中除了扫描区域之外的的其余区域可以仅包括不是有效变换系数且具有0的值的变换系数。此时,当从扫描区域的左侧上端的变换系数按照预定的正方向扫描顺序进行扫描时,扫描区域可以是包括直至最后被扫描的有效变换系数(以下称为最后有效变换系数)的变换系数的区域。指定扫描区域的坐标可以是最后被扫描的有效变换系数像素的坐标。

熵编码单元155可以产生与指示最后有效变换系数的坐标有关的信息。例如,熵解码单元105可以产生指示最后有效变换系数的水平方向的坐标值的语法元素信息和指示最后有效变换系数的垂直方向的坐标值的语法元素信息。此时,熵编码单元155可以通过对指示最后有效变换系数的水平方向的坐标值的语法元素和指示最后有效变换系数的垂直方向的坐标值的语法元素进行二值化来产生二值串,并且对二值串执行二值算术解码来产生指示最后有效变换系数的水平方向的坐标值的语法元素信息和指示最后有效变换系数的垂直方向的坐标值的语法元素信息。

熵编码单元155可以通过对作为语法元素值中的一部分的第一值执行第一二值化方法来产生第一二值串,并且通过对作为语法元素值中的另一部分的第二值执行第二二值化方法来产生第二二值串。可以产生包括第一二值串和第二二值串的二值串。此时,第一二值串可以是前缀(prefix),并且第一二值化方法可以是固定长度(fixed-length)二值化方法。第二二值串可以是后缀(suffix),并且第二反二值化方法可以是截断一元码二值化方法。

或者,熵编码单元155可以产生指示当前块中的所有有效变换系数中的最后有效变换系数像素的水平方向的坐标值或最后有效变换系数像素的垂直方向的坐标值中的一个方向的坐标值的信息和指示所述一个方向上的坐标值与其余方向的坐标值之间的差(difference)的信息。

或者,扫描区域可以是四边形扫描区域,且四边形扫描区域可以是由当前块中所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标和位于当前块中的最下侧的有效变换系数像素的垂直方向的坐标所指定的区域。

熵编码单元155可以产生与指定四边形扫描区域的坐标有关的语法元素信息。例如,熵编码单元155可以产生指示当前块中所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标值的语法元素信息和指示当前块中所有有效变换系数中的位于最下侧的有效变换系数像素的垂直方向的坐标值的语法元素信息。此时,熵编码单元155可以通过对指示当前块中的所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标值的语法元素和指示当前块中的所有有效变换系数中的位于最下侧的有效变换系数像素的垂直方向的坐标值的语法元素执行二值化来产生二值串,并对二值串执行二值算术解码来产生指示最后有效变换系数的水平方向的坐标值的语法元素信息和指示最后有效变换系数的垂直方向的坐标值的语法元素信息。

熵编码单元155可以通过对作为语法元素值中的一部分的第一值执行第一二值化方法来产生第一二值串,并且通过对作为语法元素值中的另一部分的第二值执行第二二值方法来产生第二二值串。可以产生包括第一二值串和第二二值串的二值串。此时,第一二值串可以是前缀(prefix),并且第一二值化方法可以是固定长度(fixed-length)二值化方法。第二二值串可以是后缀(suffix),并且第二反二值化方法可以是截断一元码二值化方法。

或者,熵编码单元155可以产生指示当前块中所有有效变换系数中位于最右侧的有效变换系数像素的水平方向的坐标值和当前块中所有有效变换系数中位于最下侧的有效变换系数像素的垂直方向的坐标值中的一个方向上的坐标值的信息和指示所述一个方向上的坐标值与其余方向上的坐标值之间的差(difference)的信息。熵编码单元155可以基于当前块的高度和宽度确定所述一个方向。

熵编码单元155可以产生标志信息,该标志信息指示是否获得指示一个方向上的坐标值与其余方向上的坐标值之间的差的信息。

另外,熵编码单元155可以基于当前块的宽度和高度确定是否产生标志信息,该标志信息指示是否获得指示一个方向上的坐标值与其余方向上的坐标值之间的差的信息。例如,当当前块的宽度和高度不同时(即在长方形的情况下),熵编码单元155可以确定产生标志信息并产生标志信息,该标志信息指示是否获得指示在一个方向上的坐标值与在其余方向上的坐标值之间的差信息。

熵编码单元155可以基于当前块的尺寸和当前块的形状(shape)中的至少一个确定对用于系数编码(coefficientencoding)的所有语法元素进行二值算术编码而使用的上下文模型。例如,可以根据当前块的高度和宽度的最小值和最大值中的至少一个来确定当前块的尺寸(size)。可以根据当前块的宽度和高度是否相同来确定当前块的形状。用于系数编码的所有语法元素可以包括用于指定扫描区域的语法元素和与扫描区域中的变换系数有关的语法元素。

例如,熵编码单元155可以基于以下的等式11确定与当前块的尺寸有关的信息size_tu1。

【等式11】

size_tu1=min(log2_width,log2_height)

熵编码单元155可以确定对应于与当前块的尺寸有关的信息size_tu1的上下文模型,并确定与用于系数编码的语法元素有关的上下文模型,且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

或者,熵编码单元155可以基于以下的等式12确定与当前块的尺寸有关的信息size_tu2。

【等式12】

size_tu2=max(log2_width,log2_height)

熵编码单元155可以基于与当前块的尺寸有关的信息size_tu2确定上下文模型,并确定与用于系数编码的语法元素有关的上下文模型,且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

或者,熵编码单元155可以基于与当前块的尺寸有关的信息size_tu1和size_tu2确定上下文模型,并确定与用于系数编码的语法元素有关的上下文模型,且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

熵编码单元155可以确定当前块的尺寸和高度中最小值是哪个和最大值是哪个,基于当前块的尺寸和高度中的最小值和最大值确定上下文模型,确定与用于系数编码的语法元素有关的上下文模型,且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

熵编码单元155可以基于当前块的形状(shape)确定在用于系数编码的所有语法元素的二值算术编码中所使用的上下文模型。

例如,熵编码单元155可以基于以下的等式13确定与当前块的形状有关的信息shape_tu。

【等式13】

shape_tu=width>height?2:(width<height?1:0)

根据【等式13】,熵编码单元155在当前块的宽度width大于高度height时将shape_tu确定为2,在当前块的宽度width小于高度height时将shape_tu确定为1,且在当前块的宽度width等于高度height时将shape_tu确定为0。换言之,在宽度大于高度的长方形的情况下,可以将shape_tu确定为2,在高度大于宽度的长方形的情况下,可以将shape_tu确定为1,且在正方形的情况下,可以将shape_tu确定为0。

熵编码单元155可以基于与当前块的形状有关的信息shape_tu确定上下文模型,并确定与用于系数编码的语法元素有关的上下文模型,且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

熵编码单元155可以基于当前块的尺寸和当前块的形状确定与用于系数编码的语法元素有关的上下文模型。例如,熵编码单元155可以基于与当前块的尺寸有关的信息size_tu1和size_tu2中的至少一个以及与当前块的形状有关的信息shape_tu确定与用于系数编码的语法元素有关的上下文模型,并且通过使用上下文模型对用于系数编码的语法元素执行二值算术编码。

当当前块的高度和宽度彼此不同时,即当高度和宽度的其中一个较大时,熵编码单元155可以将当前块的高度和宽度彼此互换。换言之,当前块中所包括的像素的水平方向的坐标和垂直方向的坐标可以彼此互换(swap)。例如,当当前块的宽度大于高度时,熵编码单元155可以将当前块的高度和宽度彼此互换。换言之,当前块中所包括的像素的水平方向的坐标和垂直方向的坐标值可以彼此互换。并且,当当前块的宽度不大于高度时,熵编码单元155可以不互换当前块中所包括的像素的水平方向的坐标和垂直方向的坐标。但不限于此,当当前块的高度大于宽度时,熵编码单元155可以将当前块的高度和宽度彼此互换。换言之,当前块中所包括的像素的在水平方向上的坐标值和在垂直方向上的坐标值可以彼此互换。当当前块中所包括的像素的水平方向的坐标和垂直方向的坐标彼此互换时,熵编码单元155可以将指定当前块的扫描区域的水平方向的坐标和垂直方向的坐标坐标彼此调换。熵编码单元155可以基于经互换的(swapped)指定扫描区域的坐标确定经互换的当前块中的第一扫描区域。熵编码单元155可以扫描与包括在第一扫描区域中的变换系数有关的信息,并对与经扫描的变换系数有关的信息执行熵编码。熵编码单元155可以确定用于指定四边形扫描区域的坐标,并对与用于指定四边形扫描区域的坐标有关的信息进行熵编码。换言之,熵编码单元155可以通过对与用于指定四边形扫描区域的坐标有关的语法元素执行基于预定二值化方法的二值化来产生二值串(binstring)。这里,预定二值化方法可以是固定长度二值化和截断一元码二值化方法中的至少一个。

熵编码单元155可以对与关于用于指定四边形扫描区域的坐标的语法元素有关的二值串执行基于上下文模型的二值算术编码。此时,可以基于当前块的尺寸、当前块的颜色分量和二值索引中的至少一个来确定上下文模型。颜色分量可以包括亮度分量和色差分量。二值索引可以是指示与语法元素有关的二值串中的当前被二值算术编码的二值(bin)的位置的信息。

熵编码单元155可以通过基于与扫描的变换系数有关的信息来执行基于与二值化和变换系数有关的上下文模型的二值算术编码中的至少一个来产生熵编码的信息。

当与变换系数有关的第一信息是指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息和当前变换系数的符号信息,并且与变换系数有关的第二信息是剩余级别绝对值的二值化参数信息时,熵编码单元155可以通过对与变换系数有关的第一信息执行基于第二信息的二值化来产生关于第一信息的二值串(binstring)。熵编码单元155可以通过对与第一信息有关的二值串执行二值算术编码来产生熵编码的信息。

第二信息可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的至少一个与第二变换系数有关的信息、在当前块中的第一变换系数的位置、颜色分量、与位于右侧或下侧的邻近变换系数有关的信息和第一变换系数的扫描位置。例如,可以基于第一变换系数的右侧或或下侧的邻近有效变换系数的级别绝对值来确定与第一变换系数的剩余级别绝对值有关的二值化参数信息。可以基于第一变换系数的右侧或下侧的周围有效变换系数的级别绝对值之和确定与第一变换系数的剩余级别绝对值有关的二值化参数信息。

或者,与第一变换系数的剩余级别绝对值有关的二值化参数信息可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的n个(n为整数)变换系数的级别、在当前块中的第一变换系数的位置,颜色分量和邻近的右侧或下侧的n个(n为正整数)变换系数的级别、按照扫描顺序第一变换系数是否为在扫描区域中最初位置的变换系数、按照扫描顺序第一变换系数是否为在扫描区域中最终位置的变换系数和按照扫描顺序第一变换系数是否为在系数组中第一个位置的系数。

当与变换系数有关的信息是指示当前变换系数的绝对值是否大于预定值的信息、剩余级别绝对值信息和当前变换系数的符号信息时,熵编码单元155可以对与变换系数有关的信息执行二值化来产生二值串(binstring)。熵编码单元155可以通过对二值串执行基于与变换系数有关的上下文模型的二值算术编码来产生经二值算术编码的信息。与所述变换系数有关的上下文模型中的与第一变换系数有关的上下文模型可以基于以下项中的至少一项来确定:按照预定扫描顺序先前被扫描的至少一个与第二变换系数有关的信息、在当前块中的第一变换系数的位置、颜色分量、与右侧或下侧的邻近变换系数有关的信息和第一变换系数的扫描位置。

可以基于绝对值大于0的右侧或下侧的有效变换系数的数量来确定与指示第一变换系数的绝对值是否大于0的标志信息有关的上下文模型。

熵编码单元155可以基于在当前块中的第一变换系数的位置来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向上的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

熵编码单元155可以基于扫描区域的尺寸、在扫描区域中已经扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照据预定扫描顺序被扫描的第一个位置的系数中的至少一个来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

例如,熵编码单元155可以通过基于以下的等式14确定四边形扫描区域的尺寸size_sr。换言之,四边形扫描区域的尺寸size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式14】

size_sr=(sr_x+1)*(sr_y+1)

然而,不限于此,当扫描区域是由最后的有效变换系数像素的坐标指定的扫描区域时,size_sr可以是指在该扫描区域中包括的变换系数的数量。

熵编码单元155可以确定在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序被扫描的扫描区域内的所有变换系数中的第一变换系数的位置。

当cnt_pos小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。然而,所述阈值thred1和thred2仅是一示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。

熵编码单元155可以通过基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

熵编码单元155可以通过基于在当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

当pos_x小于thred1_x且pos_y小于thred1_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]

当pos_x小于thred2_x且pos_y小于thred2_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x,thred1_y和thred2_x,thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

熵编码单元155可以基于第一变换系数是否为按照逆方向扫描顺序被扫描的第一个位置的变换系数来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。换言之,熵编码单元155可以在第一变换系数是按照逆方向扫描顺序被扫描的第一个位置的变换系数时确定与指示第一变换系数是否大于0的标志信息有关的第一上下文模型,并且在第一变换系数不是按照逆方向扫描顺序被扫描的第一个位置的变换系数时确定与指示第一变换系数是否大于0的标志信息有关的第二上下文模型。此时,位于四边形扫描区域的右侧下端边角的像素的变换系数可以是按照逆方向的扫描顺序被扫描的第一个位置的变换系数。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于0的有效变换系数的数量来确定与指示第一变换系数是否大于0的标志信息有关的上下文模型。

可以基于绝对值大于1的右侧或下侧的有效变换系数的数量来确定与指示第一变换系数的绝对值是否大于1的标志信息有关的上下文模型。

熵编码单元155可以基于在当前块中的第一变换系数的位置来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。

当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。此时,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3。

熵编码单元155可以基于扫描区域的尺寸、在扫描区域中已经被扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照预定扫描顺序被扫描的第一个不是0的位置的变换系数中的至少一个来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

例如,熵编码单元155可以基于以下的等式15确定四边形扫描区域的尺寸size_sr。换言之,四边形扫描区域的尺寸size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式15】

size_sr=(sr_x+1)*(sr_y+1)

熵编码单元155可以确定在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序被扫描的扫描区域内的所有变换系数中的第一变换系数的位置。然而,不限于此,cnt_pos可以是在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有大于0的变换系数的数量。

当cnt_pos小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

然而,所述阈值thred1和thred2仅是一示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2。

熵编码单元155可以基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

熵编码单元155可以基于当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

当pos_x小于thred1_x且pos_y小于thred1_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]。

当pos_x小于thred2_x且pos_y小于thred2_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y。

熵编码单元155可以基于第一变换系数是否为在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。换言之,视频解码装置100可以在第一变换系数是在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数时确定与指示第一变换系数是否大于1的标志信息有关的第二上下文模型。

但是,不限于此,可以基于按照预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于1的有效变换系数的数量来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

可以基于绝对值大于2的右侧或下侧的有效变换系数的数量来确定与指示第一变换系数的绝对值是否大于2的标志信息有关的上下文模型。

熵编码单元155可以基于在当前块中的第一变换系数的位置来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。例如,当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。当在当前块中的第一变换系数的水平方向的坐标值pos_x和在当前块中的垂直方向的位置pos_y之和小于预定阈值thred3时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。此时,与关于指示第一变换系数是否大于2的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3可以不同于与关于指示第一变换系数是否大于0和1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1、2和3。

熵编码单元155可以基于扫描区域的尺寸、在扫描区域中已经被扫描的变换系数的数量、第一变换系数在扫描区域中的相对位置和第一变换系数是否为按照预定扫描顺序被扫描的第一个不是0(或者,在大于1的变换系数中的第一个位置)的位置的变换系数中的至少一个来确定与指示第一变换系数是否大于1的标志信息有关的上下文模型。

例如,熵编码单元155可以基于以下的等式16确定四边形扫描区域的尺寸size_sr。换言之,四边形扫描区域的尺寸size_sr可以表示在四边形扫描区域中所包括的变换系数的数量。

【等式16】

size_sr=(sr_x+1)*(sr_y+1)

熵编码单元155可以确定在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的所有变换系数的数量cnt_pos。此时,cnt_pos可以指示按照预定扫描顺序被扫描的扫描区域内的所有变换系数中的第一变换系数的位置。然而,不限于此,cnt_pos可以是在四边形扫描区域内的变换系数中的扫描第一变换系数之前被扫描的绝对值大于1的所有的变换系数的数量。

当cnt_pos小于预定阈值thred1时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,thred1可以是1。或者,thred1可以是1/4×size_sr。

当cnt_pos小于预定阈值thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,thred2可以是1/4×size_sr。或者,thred2可以是1/2×size_sr。

当cnt_pos不小于预定阈值thred1和thred2时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset3,并基于所增加的上下文索引确定上下文模型。

然而,所述阈值thred1和thred2仅是一示例,并且本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2可以不同于与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1和thred2。

熵编码单元155可以通过基于第一变换系数在扫描区域中的相对位置确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

熵编码单元155可以通过基于在当前块中的第一变换系数的水平方向的坐标值pos_x和垂直方向的坐标值pos_y以及指定四边形扫描区域的坐标sr_x和sr_y来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

当pos_x小于thred1_x且pos_y小于thred1_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset1,并基于所增加的上下文索引确定上下文模型。此时,[thred1_x,thred1_y]可以为[1,1]。或者,[thred1_x,thred1_y]可以是[sr_x/4,sr_y/4]或[(sr_x+1)/4,(sr_y+1)/4]。

当pos_x小于thred2_x且pos_y小于thred2_y时,熵编码单元155可以将上下文索引增加预定的上下文偏移offset2,并基于所增加的上下文索引确定上下文模型。此时,[thred2_x,thred2_y]或者[thred1_x,thred1_y]可以是[sr_x/2,sr_y/2]或[(sr_x+1)/2,(sr_y+1)/2]。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于sr_x和sr_y确定各种值。

然而,所述阈值thred1_x、thred1_y和thred2_x、thred2_y仅是一示例,本领域技术人员可以容易地理解,可以基于size_sr确定各种值。此时,本领域技术人员可以容易地理解,与关于指示第一变换系数是否大于0或1的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y可以不同于与关于指示第一变换系数是否大于0的标志信息的上下文模型相关联的偏移offset1、2和3以及预定阈值thred1_x、thred1_y、thred2_x和thred2_y。

熵编码单元155可以基于第一变换系数是否为在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。换言之,熵编码单元155可以在第一变换系数是在按照逆方向扫描顺序被扫描的大于0的变换系数中的第一个位置时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向的扫描顺序被扫描的大于0的变换系数中的第一个位置时确定与指示第一变换系数是否大于1的标志信息有关的第二上下文模型。

然而,不限于此,熵编码单元155可以基于第一变换系数是否为在按照逆方向的扫描顺序被扫描的大于1的变换系数中的第一个位置的变换系数来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。换言之,熵编码单元155在第一变换系数是在按照逆方向扫描顺序被扫描的大于1的变换系数中的第一个位置时确定与指示第一变换系数是否大于1的标志信息有关的第一上下文模型,并且在第一变换系数不是在按照逆方向的扫描顺序被扫描的大于1的变换系数中的第一个位置时确定与指示第一变换系数是否大于2的标志信息有关的第二上下文模型。但是,不限于此,可以基于根据预定扫描顺序先前被扫描的n个(n是正整数)变换系数中的绝对值大于2的有效变换系数的数量来确定与指示第一变换系数是否大于2的标志信息有关的上下文模型。

当在扫描区域中当前被扫描的变换系数的位置是[srx,0](srx是整数,srx指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的右侧边界像素的水平方向的坐标值),并且按照预定扫描顺序先前被扫描的位置[srx,y](y是大于0且小于或等于sry的整数,sry指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的下侧边界像素的垂直方向的坐标值)的位置的变换系数全为0时,熵编码单元155可以不产生当前被扫描的变换系数的gt0标志信息。

同样地,当在扫描区域中当前被扫描的变换系数的位置是[0,sry](sry是整数,sry指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的下侧边界像素的垂直方向的坐标值),并且按照预定扫描顺序先前被扫描的位置[x,sry](x是大于0且小于或等于srx的整数,srx指示以扫描区域的左侧上端边角的坐标为基准的扫描区域的右侧边界像素的垂直方向的坐标值)的变换系数全为0时,熵编码单元155可以不产生当前扫描的变换系数的gt0标志信息。

熵编码单元155可以确定当前块中的有效变换系数的gt1标志信息的最大数量,并且在所确定的有效变换系数的最大系数内产生当前块中的gt1标志信息。换言之,当熵编码单元155产生最大数量的有效变换系数的gt1标志信息时,熵编码单元155可以在此后不再产生有效变换系数的gt1标志信息。

熵编码单元155可以将所有不是0的有效变换系数确定为当前块中的gt1标志信息的最大数量。或者,熵编码单元155可以通过基于扫描区域的尺寸确定当前块中的gt1标志信息的最大数量。例如,熵编码单元155可以基于以下的等式17确定gt1标志信息的最大数量maxcount_gt1。

【等式17】

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。k1可以是扫描区域的尺寸和gt1标志之间的调整系数。例如,k1可以是大于1的整数。th1可以是预定的阈值。例如,th1可以是16、8。然而,不限于此。本领域技术人员可以容易地理解,k1和th1可以具有各种值。

熵编码单元155可以确定当前块中的gt2标志信息的最大数量,并且在所确定的有效变换系数的最大系数内产生当前块中的gt2标志信息。换言之,当熵编码单元155产生最大数量的有效变换系数的gt2标志信息时,熵编码单元155可以在此后不再产生有效变换系数的gt2标志信息。

熵编码单元155可以将所有不是0的有效变换系数确定为当前块中的gt2标志信息的最大数量。或者,熵编码单元155可以基于扫描区域的尺寸确定当前块中的gt2标志信息的最大数量。例如,熵编码单元155可以基于以下的等式18确定gt2标志信息的最大数量maxcount_gt2。

【等式18】

此时,sizesr可以表示四边形扫描区域的尺寸(面积),且sizesr可以是(sr_x+1)×(sr_y+1)。sr_x可以表示以基于扫描区域的左侧上端边角的坐标为基准的最右侧的有效变换系数像素的水平方向的坐标。换言之,sr_x可以表示以扫描区域的左侧上端边角的坐标为基准的右侧边界像素的水平方向的坐标。sr_y可以表示以扫描区域的左侧上端边角的为基准的最下侧的有效变换系数像素的垂直方向的坐标。换言之,sr_y可以表示以扫描区域的左侧上端边角的坐标为基准的下侧边界像素的垂直方向的坐标。k2可以是扫描区域的尺寸和gt1标志之间的调整系数。例如,k2可以是大于1的整数。th2可以是预定的阈值。例如,th2可以是16、8。然而,不限于此。本领域技术人员可以容易地理解,k2和th2可以具有各种值。

熵编码单元155可以产生与当前块中的系数组有关的信息。与系数组有关的信息可以是指示该系数组是否包括至少一个有效变换系数的标志信息。此时,对包括在扫描区域中的变换系数,熵编码单元155可以根据按照扫描顺序被扫描的每预定k个(k是整数)变换系数确定一个系数组。即,一个系数组可以包括k个变换系数。此时,扫描顺序可以是与预定逆方向扫描顺序相反方向的正方向扫描顺序。这里,预定逆方向扫描顺序可以从当前块中包括的变换系数中的位于右侧下端的系数扫描到当前块中包括的变换系数中的位于左侧上端的系数的顺序。

因此,熵编码单元155可以通过从作为与当前块中的左上侧边角邻近的系数的dc系数按照正方向扫描顺序进行扫描来确定系数组。此时,当当前块中包括的变换系数的数量不是k的整数倍时,在根据正方向扫描顺序的系数组中的最终系数组可以包括数量小于k的变换系数。但是,不限于此,本领域技术人员可以容易地理解,熵编码单元155可以通过根据从包括在当前块的变换系数中的位于右侧下端的系数扫描到包括在当前块的变换系数中的位于左侧上端的系数的逆方向扫描顺序进行扫描来确定系数组。

当在按照预定的扫描顺序被扫描的系数组中的一个系数组仅包括一个变换系数时,熵编码单元155可以直接产生gt0标志信息,而不产生与该系数组有关的信息。

熵编码单元155可以确定对于包括在当前块中的每个系数组是否隐藏至少一个变换系数的符号。例如,熵编码单元155可以根据情况确定对于包括在当前块中的每个系数组隐藏一个或两个变换系数的符号。

熵编码单元155可以按照预定的扫描顺序扫描与在四边形扫描区域中的变换系数有关的信息。预定的扫描顺序可以包括逆方向的之字形扫描顺序、逆方向的对角扫描顺序以及逆方向的垂直扫描顺序和水平扫描顺序。然而,预定的扫描顺序不限于上述的逆方向扫描顺序,其对于本领域技术人员可以容易理解为包括各种逆方向扫描顺序。

比特流产生单元170可以产生包括经熵编码的信息的比特流。换言之,比特流产生单元170可以产生包括在熵编码单元160中扫描与变换系数有关的信息且基于所扫描的与变换系数有关的信息的经熵编码的信息的比特流。

比特流产生单元170可以产生包括与坐标有关的信息的比特流,该坐标指定用于扫描与变换系数有关的信息的区域的扫描区域。

视频编码装置150可以包括图象编码单元(未示出),且图象编码单元(未示出)可以包括熵编码单元155和比特流产生单元170。将参考1f描述图象编码单元。

图1d示出了根据各种实施例的视频编码方法的流程图。

参考图1d,在s150步骤中,视频编码装置150可以获得当前块的变换系数。当前块可以是可以在通过参考图10至图23描述的对图像执行编码/解码的过程中使用的数据单元。视频编码装置150可以通过执行帧间预测或帧内预测来产生当前块的预测块,并且基于当前块的原始块和当前块的预测块产生当前块的残差块。视频编码装置150可以通过对于当前块的残差块执行变换和量化来产生当前块的变换系数。

在s155步骤中,视频编码装置150可以确定包括在当前块中的所有有效变换系数的扫描区域。此时,在扫描区域中可以包括当前块中的所有有效变换系数,并且当前块内的除了扫描区域之外的其余区域可以仅包括不为有效变换系数的0。

在s160步骤中,视频编码装置150可以按照预定的扫描顺序来扫描与在扫描区域中的变换系数有关的信息。与变换系数有关的信息可以包括指示变换系数是否大于预定值的标志信息。此时,预定值可以是是0、1和2中的至少一个。可以包括与变换系数的绝对值有关的剩余级别信息、变换系数的符号信息、剩余级别绝对值的二值化参数信息中的至少一个。预定的扫描顺序可以包括逆方向的之字形扫描顺序、逆方向的对角扫描顺序以及逆方向的垂直扫描顺序和水平扫描顺序。然而,预定的扫描顺序不限于上述的逆方向扫描顺序,其对于本领域技术人员可以容易理解为包括各种逆方向扫描顺序。

在s165步骤中,视频编码装置150可以基于与经扫描的变换系数有关的信息执行二值化来产生经二值化的信息。

在s170步骤中,视频编码装置150可以通过对经二值化的信息执行二值算术编码来产生经熵编码的信息。此时,视频编码装置150可以使用通过基于当前块的尺寸和形状中的至少一个所确定的上下文模型来执行二值算术编码。

在s175步骤中,视频编码装置150可以产生包括经熵编码的信息的比特流。视频编码装置150可以产生包括在熵编码单元160中扫描与变换系数有关的信息且基于所扫描的与变换系数有关的信息的经熵编码的信息的比特流。视频编码装置150可以产生包括与坐标有关的信息的比特流,该坐标指定用于扫描与变换系数有关的信息的区域的扫描区域。

图1e示出了根据各种实施例的图像解码单元6000的框图。

根据各种实施例的图像解码单元6000执行由视频解码装置100的图像解码单元(未示出)对于图像数据进行编码的操作。

参考图1e,熵解码单元6150可以从比特流6050解析作为解码对象的经编码的图像数据和用于解码所需的编码信息。经编码的图像数据是量化的变换系数,并且反量化单元6200和逆变换单元6250可以从量化的变换系数恢复残差数据。图1e的熵解码单元6150可以对应于图1a的熵解码单元105。

帧内预测单元6400按照块执行帧内预测。帧间预测单元6350可以使用从恢复画面缓冲器6300获得的按照块的参考图像来执行帧间预测。可以通过将从帧内预测单元6400或帧间预测单元6350产生的按照块的预测数据和残差数据相加来恢复当前图像6050的块的空间域的数据,去块单元6450和样本自适应偏移(sao:sampleadaptiveoffset)执行单元6500可以通过对于恢复的空间域的数据执行环路滤波来输出经滤波的恢复图像6600。此外,存储在恢复画面缓冲器6300中的恢复图像可以被输出为参考图像。

为了在视频解码装置100的解码单元(未示出)中对图像数据执行解码,可以对每个块执行根据各个实施例的图像解码单元6000的每个步骤的操作。

图1f示出了根据各种实施例的图象编码单元的框图。

根据各种实施例的图象编码单元7000执行由视频编码装置150的图象编码单元(未示出)对图像数据执行编码所经过的操作。

换言之,帧内预测单元7200对当前图像7050按照块执行帧内预测,帧间预测单元7150可以按照块使用当前图像7050和从恢复画面缓冲器7100获得的参考图像来执行帧间预测。

可以通过从关于当前图像7050的被编码的块的数据中减去从帧内预测单元7200或帧间预测单元7150输出的关于每个块的预测数据来产生残差数据,且变换单元7250和量化单元7300可以通过对残差数据执行变换和量化来输出按照块量化的变换系数。反量化单元7450和逆变换单元7500可以对量化的变换系数执行反量化和逆变换来恢复空间域的残差数据。恢复的空间域的残差数据可以与从帧内预测单元7200或帧间预测单元7150输出的关于每个块的预测数据相加来恢复为关于当前图像7050的块的空间域的数据。去块单元7550和sao执行单元通过对恢复的空间域的数据执行环路滤波来产生经滤波的恢复图像。产生的恢复图像被存储在恢复画面缓冲器7100中。存储在恢复画面缓冲器7100中的恢复图像可以用作用于其他图像的帧间预测的参考图像。熵编码单元7350对量化的变换系数执行熵编码,并且经熵编码的系数可以被输出到比特流7400。图1f的熵编码单元7350可以对应于图1c的熵编码单元155。

为了将根据各种实施例的图象编码单元7000应用于视频编码装置150中,可以按照块执行根据各种实施例的图象编码单元7000的每个步骤的操作。

在下文中,在图2和图3a至图3b的当前块中的像素中示出的“0”和“1”是有效变换系数标志(指示系数的绝对值是否大于0的标志)的值的假设下,详细描述扫描块中的变换系数的方法。

图2示出了用于说明根据一实施例的扫描块内的变换系数的方法的示意图。

参考图2,当前块200是包括多个变换系数的块。当前块200是执行逆变换操作的数据单元,并且可以是尺寸为m×n(m,n为正整数)的块。例如,如图2所示,当前块200可以是尺寸为16×16的块。

视频解码装置100可以将当前块200划分为具有预定尺寸的系数组(或子块)205。系数组可以是尺寸为x×y(x、y是正整数)的块。例如,如图2所示,系数组205可以是尺寸为4×4的块。

视频解码装置100可以从比特流获得在将当前块200按照正方向扫描顺序从位于左侧上端的变换系数扫描到位于右侧下端的变换系数的过程中所扫描的所有有效变换系数中的最终有效变换系数的像素210的坐标的信息。与最终有效变换系数的像素210的坐标有关的信息可以包括与最终有效变换系数的像素的水平方向的坐标有关的信息和与最终有效变换系数的像素的垂直方向的坐标有关的信息。

视频解码装置100可以基于与最终有效变换系数的像素210的坐标有关的信息来获得最终有效变换系数的像素210的坐标,并且基于最终有效变换系数的像素210的坐标从关于最终有效变换系数210的有效变换系数按照预定的逆方向扫描顺序215来扫描变换系数的信息。例如,如图2所示,预定的逆方向扫描顺序215可以是逆方向的对角扫描顺序。

视频解码装置100可以按照预定的扫描顺序扫描系数组205,并且可以按照预定的扫描顺序扫描每个系数组205。视频解码装置100可以对系数组按照预定的扫描顺序扫描与系数组有关的信息。可以从比特流获得或导出与系数组有关的信息。与系数组有关的信息可以被导出为指示按照正方向(逆方向)扫描顺序被扫描的第一个系数组和最终系数组包括至少一个有效变换系数。换言之,与系数组有关的信息可以对于按照正方向(逆方向)扫描顺序被扫描的第一个系数组和最终系数组而不包括在的比特流中。

此时,视频解码装置100可以基于块的尺寸和预测模式中的至少一个确定预定的逆方向扫描顺序。例如,当当前块的尺寸为4×4,并且当前块的预测模式为帧内预测模式时,视频解码装置100可以将水平扫描顺序、垂直扫描顺序、或对角扫描顺序中的一个确定为预定的逆方向扫描顺序。此外,当当前块的尺寸为8×8,并且当前块的预测模式为帧内预测模式时,视频解码装置100可以将水平扫描顺序、垂直扫描顺序,或对角扫描顺序中的一个确定为预定的逆方向扫描顺序。

当当前块的尺寸不是4×4或8×8,或者当前块的预测模式不是帧间预测模式时,视频解码装置100可以将逆方向的对角扫描顺序确定为预定的扫描顺序。

当与系数组205有关的信息指示在系数组205中包括至少一个有效系数时,视频解码装置100可以按照逆方向的预定的扫描顺序215扫描与系数组205中的有效系数有关的信息。

另外,视频解码装置100可以确定是否隐藏在每个系数组205中包括的有效变换系数中的至少一个的符号(sign)。

图3a示出了用于说明根据另一实施例的扫描块内的变换系数的方法的示意图。

参考图3a,当前块300是包括多个变换系数的块。当前块300是执行逆变换操作的数据单元,并且可以是尺寸为m×n(m、n为正整数)的块。例如,如图3所示,当前块300可以是尺寸为16×16的块。

参考图3a,视频解码装置100可以确定包括当前块300中存在的所有有效变换系数的四边形扫描区域340。此时,四边形扫描区域340可以由位于四边形扫描区域340的右侧下端的像素330的坐标确定。位于扫描区域340的右侧下端的像素330的水平方向的坐标可以是位于当前块300中的所有有效变换系数中的最右侧的有效变换系数像素320的水平方向的坐标。位于扫描区域340的右侧下端的像素330的垂直方向的坐标可以是位于当前块300中的所有有效变换系数中的最下侧的有效变换系数像素310的垂直方向的坐标。关于像素330的信息可以包括关于像素330的左侧上端边角位置的信息。然而,不限于此,关于像素330的信息可以包括关于像素330的右侧下端边角的位置的信息。

视频解码装置100可以从比特流接收与用于指定四边形扫描区域340的像素330的坐标有关的信息,并且基于所接收的与像素330有关的信息可以确定四边形扫描区域340。视频解码装置100可以按照预定的逆方向扫描顺序从像数330至位于四边形扫描区域340的左侧上端的像数345扫描与变换系数有关的信息。此时,可以将从位于四边形扫描区域340的左侧上端的变换系数按照正方向扫描顺序被扫描的每k个(k为正整数)扫描系数确定为系数组。但是,不限于此,本领域技术人员可以容易地理解,可以将从位于四边形扫描区域340的右侧下端的变换系数按照逆方向扫描顺序被扫描的每k个(k为正整数)扫描系数确定为系数组。稍后将参考图3b描述系数组的细节。

视频解码装置100可以对于每个系数组确定隐藏了针对至少一个有效变换系数的符号,并且可以恢复针对隐藏的至少一个变换系数的符号(sign)。稍后将参考图3b描述对于每个系数组执行的恢复隐藏的符号的操作。

图3b示出了用于说明根据一实施例的确定在块中系数组(子块)的操作以及按照系数组所执行的操作的示意图。

视频解码装置100可以将在当前块350中按照正方向的预定扫描顺序每k个(k为正整数)变换系数像素确定为系数组。视频解码装置100可以确定包括k个变换系数像素的系数组。例如,如图3b所示,视频解码装置1000可以每16个像素确定系数组360。

视频解码装置100可以确定对于每个系数组360隐藏了针对至少一个有效变换系数的符号(sign),并且可以确定对于每个系数组360隐藏了针对至少一个有效变换系数的符号(sign)。例如,视频解码装置100可以基于在当前系数组中先前被解码的有效变换系数的距离来确定对于当前系数组隐藏了针对至少一个有效变换系数的符号(sign)。具体地,视频解码装置100可以基于按照预定的逆方向扫描顺序被扫描的最初有效变换系数和最终有效变换系数之间的距离来确定对于当前系数组隐藏了针对至少一个有效变换系数的符号。此时,该距离可以是按照逆方向扫描顺序被扫描的系数的位置之差。

例如,当按照预定的逆方向扫描顺序被扫描的最初有效变换系数和最终有效变换系数之间的距离大于预定值时,视频解码装置100可以确定对于当前系数组隐藏了针对至少一个有效变换系数的符号(sign)。此时,预定值可以是各种整数值。例如,预定值可以是3。

当确定对于当前系数组隐藏了至针对少一个有效变换系数的符号时,视频解码装置100可以在不对于当前系数组从比特流获得关于符号的信息的情况下,对当前系数组中的至少一个有效变换系数恢复隐藏的符号。例如,当对于在当前系数组中的有效变换系数的级别的奇偶校验(paritysum)是奇数或偶数时,视频解码装置100可以将至少一个有效变换系数的符号确定为0或1。此时,恢复的有效变换系数的符号可以包括与按照逆方向扫描顺序被扫描的最终有效变换系数有关的符号。然而,不限于此,本领域技术人员可以容易地理解,可以按照预定的扫描顺序恢复位于系数组中的预定位置的符号。

视频解码装置100可以按照逆方向预定扫描顺序从比特流获得与相应系数组有关的信息,并且当与相应系数组有关的信息指示在该系数组中包括至少一个变换系数时可以扫描与相应系数组中的变换系数有关的信息。当与相应系数组有关的信息指示在该系数组中仅包括值为0的变换系数时,可以将相应系数组中的所有变换系数确定为0。

另外,当在当前块300中的四边形扫描区域中包括的变换系数的数量不是k的整数倍时,在按照正方向扫描顺序确定位于最后的系数组的过程中,变换系数像素的数量可能小于k。在这种情况下,视频解码装置100可以确定包括数量小于k的变换系数像素的系数组365。例如,如图3b所示,视频解码装置100可以确定包括两个变换系数的系数组365。

视频解码装置100可以从比特流获得与系数组355和360有关的信息。在此,与系数组355和360有关的信息可以是标志信息(有效系数组标志信息),该标志信息指示在系数组355和360中包括的变换系数中的至少一个是否是有效变换系数或者在系数组355和360中是否仅包括作为0的变换系数。

另外,当确定仅包括一个变换系数的系数组时,视频解码装置100可以获得与一个变换系数有关的信息,而不从比特流获得与该系数组有关的信息(例如,有效系数组标志信息)。

视频解码装置100可以基于按照逆方向的预定扫描顺序355在当前系数组之前被扫描的系数组的与系数组有关的信息,来确定用于对与当前系数组有关的信息执行二值算术解码的上下文模型。

图4示出了用于说明根据一实施例的确定用于对与变换系数有关的信息执行基于上下文的二值算术编解码的上下文模型的过程的示意图。

参考图4,视频解码装置100可以通过基于周围变换系数像数410确定与当前被扫描的变换系数像素405有关的信息的上下文模型。在图4中,周围变换系数像数405可以是存在于当前被扫描的变换系数像素405的右侧或下侧的预定位置的五个像素。但是,不限于此,本领域技术人员可以容易地理解,周围变换系数像数405可以是存在于当前被扫描的变换系数像素405的右侧或下侧的预定位置的n个(n是正整数)像素。

例如,视频解码装置100可以通过基于在周围变换系数像数410中级别绝对值大于0的系数像素的数量确定指示当前被扫描的变换系数像素405的级别绝对值是否大于0的标志信息的上下文模型。

此外,视频解码装置100可以基于在周围变换系数像数410中级别绝对值大于1的系数像素的数量确定指示当前被扫描的变换系数像素405的级别绝对值是否大于1的标志信息的上下文模型。

此外,视频解码装置100可以通过基于在周围变换系数像数410中级别绝对值大于2的系数像素的数量确定指示当前被扫描的变换系数像素405的级别绝对值是否大于2的标志信息的上下文模型。

视频解码装置100可以通过基于在周围变换系数像数410中级别绝对值大于n的系数像素的数量确定指示当前扫描的变换系数像素405的级别绝对值是否大于n(n是大于2的整数)的标志信息的上下文模型。

视频解码装置100可以通过基于周围变换系数像数410的级别绝对值之和确定用于对当前被扫描的变换系数像素405的剩余级别绝对值执行二值化的参数。此时,二值化参数可以是莱斯参数。

图5示出了用于说明根据一实施例的确定用于对与变换系数有关的信息执行基于上下文的二值算术编解码的上下文模型的过程的示意图。

参考图5,视频解码装置100可以基于按照预定逆方向扫描顺序先前被扫描的变换系数像素510确定与当前被扫描的变换系数像素505有关的信息的上下文模型。如图5所示,变换系数像素510可以是与当前被扫描的变换系数像素505相比按照预定的逆方向扫描顺序515先前被扫描的五个像素。但是,不限于此,本领域技术人员可以容易地理解,变换系数像素510可以是按照预定的逆方向扫描顺序515先前被扫描的的n个像素(n是正整数)。如图5所示,预定的逆方向扫描顺序515可以是逆方向的之字形扫描顺序,但不限于此,并且本领域技术人员可以容易地理解,预定的逆方向扫描顺序515可以包括水平扫描顺序、垂直扫描顺序和对角扫描顺序等。特别地,可以基于指定扫描区域的水平方向的坐标值的大小和垂直方向的坐标值的大小来将预定的逆方向扫描顺序确定为多个扫描顺序中的一个。

例如,视频解码装置100可以通过基于在周围变换系数像数510中级别绝对值大于0的系数像素的数量确定指示当前被扫描的变换系数像素505的级别绝对值是否大于0的标志信息的上下文模型。

此外,视频解码装置100可以基于在周围变换系数像数510中级别绝对值大于1的系数像素的数量确定指示当前扫描的变换系数像素505的级别绝对值是否大于1的标志信息的上下文模型。

视频解码装置100可以基于在周围变换系数像数510中级别绝对值大于2的系数像素的数量确定指示当前被扫描的变换系数像素505的级别绝对值是否大于2的标志信息的上下文模型。

视频解码装置100可以基于在周围变换系数像数510中级别绝对值大于n的系数像素的数量确定指示当前被扫描的变换系数像素505的级别绝对值是否大于n(n是大于2的整数)的标志信息的上下文模型。

视频解码装置100可以基于周围变换系数像数510的级别绝对值之和确定用于对当前被扫描的变换系数像素505的剩余级别绝对值执行二值化的参数。此时,二值化参数可以是莱斯参数。

图6a示出了用于说明根据一实施例的用于扫描与块中有效变换系数有关的信息的之字形扫描顺序的示意图。

参考图6a,视频解码装置100可以按照之字形扫描顺序602从位于当前块600的右侧下端的变换系数像素扫描到位于当前块600的左侧上端的变换系数像素,以扫描与当前块600的变换系数有关的信息。

具体地,按照之字形扫描顺序602,视频解码装置100在扫描右侧下端的变换系数像素604之后扫描像素604的左侧像素606,并且在扫描像数606之后,扫描位于其右侧上端的对角方向上的像素608。视频解码装置100扫描邻近于像数608的上侧的像数610。视频解码装置100扫描位于像素的右侧下端的对角方向上的像数612。视频解码装置100扫描像数614,其位于像素612中的邻近于当前块600的边界的像素的左侧。以类似的方式,按照之字形扫描顺序602,视频解码装置100可以扫描与剩余的变换系数像素有关的信息。

由于根据一实施例的之字形扫描顺序602在扫描像数604之后扫描水平方向上紧接其的左侧方向像数606,因此之字形扫描顺序602可以被称为水平优先之字形扫描顺序。

图6b示出了用于说明根据另一实施例的用于扫描与块中变换系数有关的信息的垂直优先之字形扫描顺序的示意图。

参考图6b,视频解码装置100可以按照之字形扫描顺序616从位于当前块600的右侧下端的变换系数像素扫描到位于当前块600的左侧上端的变换系数像素,以扫描与当前块600的变换系数有关的信息。

具体地,按照之字形扫描顺序616,视频解码装置100在扫描右侧下端的变换系数像素618之后扫描像素618的上侧的像素620,并且在扫描像数620后,扫描位于其左侧下端的对角方向上的像素622。视频解码装置100扫描邻近于像数622的左侧的像数624。视频解码装置100扫描位于像素的右侧上端的对角方向上的像数626。视频解码装置100扫描位于像素626中的邻近于当前块600的边界的像素的上侧的像数628。以类似的方式,按照之字形扫描顺序616,视频解码装置100可以扫描关于剩余的变换系数像素的信息。

由于根据一实施例的之字形扫描顺序616在扫描像数618之后扫描位于紧接其垂直方向上的上侧方向像数620,因此之字形扫描顺序616可以被称为垂直优先之字形扫描顺序。

图6c示出了用于说明根据一实施例的用于扫描与块中变换系数有关的信息的水平扫描顺序的示意图。

参考图6c,视频解码装置100可以按照水平扫描顺序630从当前块600的右侧下端的变换系数像素扫描到当前块600的左侧上端的变换系数像素,以扫描与当前块600的变换系数有关的信息。

具体地,按照水平扫描顺序630,视频解码装置100在扫描右侧下端的变换系数像数632之后依次扫描位于作为其水平方向的左侧方向的像数634,并且在扫描像素634中的邻近于当前块600的左侧边界的像素后扫描位于紧接其上一行的最右侧像数636。视频解码装置100以与扫描前一行中的像素634的方式相同的方式扫描位于作为水平方向的左侧方向上的像数638。以类似的方式,按照水平扫描顺序630,视频解码装置100可以扫描关于剩余的变换系数像素的信息。

图6d示出了用于说明根据一实施例的用于扫描与块中变换系数有关的信息的垂直扫描顺序的示意图。

参考图6d,视频解码装置100可以按照垂直扫描顺序640从位于当前块600的右侧下端的变换系数像素扫描到位于当前块600的左侧上端的变换系数像素,以扫描与当前块600的变换系数有关的信息。

具体地,按照垂直扫描顺序640,视频解码装置100在扫描右侧下端的变换系数像数642之后依次扫描位于作为其垂直方向的上侧方向的像数644,并且在扫描像素644中的邻近于当前块600的上侧边界的像素后扫描位于紧邻其左侧的列的最下侧像数646。视频解码装置100以与扫描前一列中的像素644的方式相同的方式扫描位于作为垂直方向的上侧方向上的像数648。以类似的方式,按照垂直扫描顺序640,视频解码装置100可以扫描关于剩余的变换系数像素的信息。

图6e示出了用于说明根据一实施例的用于扫描与块中变换系数有关的信息的对角扫描顺序的示意图。

参考图6e,视频解码装置100可以根据对角扫描顺序650从位于当前块600的右侧下端的变换系数像素扫描到位于当前块600的左侧上端的变换系数像素,以扫描关于当前块600的变换系数的信息。

具体地,根据对角扫描顺序650,视频解码装置100在扫描右侧下端的变换系数像素652之后扫描位于像素652的上侧的像素654,并且在扫描像数654后,扫描位于其左侧下端的对角方向上的像素656。视频解码装置100扫描邻近于像数654的上侧的像数658。视频解码装置100扫描位于像素658的左侧下端的对角方向上的像数660。以类似的方式,按照对角扫描顺序650,视频解码装置100可以扫描与剩余的变换系数像素有关的信息。

参照图6a至6e,已经描述用于扫描与块内有效变换系数有关的信息的各种扫描顺序。参考图6a至图6e描述的扫描顺序不限于逆方向的扫描顺序,并且本领域技术人员可以容易地理解与逆方向的扫描顺序相反的顺序扫描的正方向的扫描顺序。

图7a示出了用于说明根据一实施例的通过互换(swap)扫描区域中的变换系数像素的水平方向和垂直方向的坐标来改变扫描区域的过程的示意图。

参考图7a,当前块700可以是宽度大于高度的长方形。

视频解码装置100可以获得指示激活将包括在当前块700中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作的标志。当所述标志指示激活将包括在当前块700中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作时,视频解码装置100可以确定当前块700的宽度是否大于高度。

当当前块的宽度大于高度时,视频解码装置100可以通过将当前块的宽度和高度彼此互换来确定经互换的块710。

换言之,视频解码装置100可以通过将包括在当前块700中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换来确定包括在经互换的块710中的变换系数的像素位置。

视频解码装置100可以从比特流获得与用于指定包括所有有效变换系数的四边形扫描区域705的坐标有关的信息。在此,用于指定四边形扫描区域705的坐标的水平方向的坐标可以是在当前块中所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标。用于指定四边形扫描区域705的坐标的垂直方向的坐标可以是在当前块中所有有效变换系数中的位于最下侧的有效变换系数像素的垂直方向的坐标。与用于指定四边形扫描区域705的坐标有关的信息可以包括与在当前块中所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标值有关的信息和与在当前块中所有有效变换系数中的最下侧的有效变换系数像素的垂直方向的坐标值有关的信息。或者,与用于指定四边形扫描区域705的坐标有关的信息可以包括与所有有效变换系数中的位于最右侧的有效变换系数像素的水平方向的坐标值和在当前块所有有效变换系数中的位于最下侧的有效变换系数像素的垂直方向的坐标值中的一个坐标值有关的信息和指示所述一个坐标值和另一坐标值之间的差的信息。

当当前块的宽度和高度彼此不同时,视频解码装置100可以从比特流获得标志信息(以下称为增量标志(deltaflag)信息),该增量标志信息指示与用于指定四边形扫描区域705的坐标有关的信息是否包括指示用于指定四边形扫描区域705的水平方向的坐标值和垂直方向的坐标值之间的差的信息。视频解码装置100可以基于增量标志信息从比特流获得指示用于指定四边形扫描区域705的水平方向的坐标值和垂直方向的坐标值中的一个坐标值的信息和指示一个坐标值与另一坐标值之间的差的信息。

视频解码装置100可以基于从比特流获得的与用于指定包括所有有效变换系数的四边形扫描区域705的坐标有关的信息来获得用于指定四边形扫描区域705的坐标。此时,由视频解码装置100获得的用于指定四边形扫描区域705的坐标是用于指定当前块700中的四边形扫描区域705的坐标,通过将用于指定四边形扫描区域705的坐标的水平方向的坐标值和垂直方向的坐标值彼此互换,视频解码装置100可以获得用于指定经互换的块710的四边形扫描区域715的坐标值。

视频解码装置100可以基于经互换的块710的四边形扫描区域715来按照预定的扫描顺序扫描与变换系数有关的信息。此时,预定的扫描顺序可以是与针对当前块700的预定的扫描顺序对应的扫描顺序,且是基于按照针对当前块700的预定的扫描顺序而被顺序的变换系数像素的水平方向的坐标值和垂直方向的坐标值彼此互换的坐标值的扫描顺序。例如,当按照针对当前块700的预定的扫描顺序被扫描的变换系数像素的坐标值是(4,4)->(3,4)->(4,3)->...时,按照针对经互换的块710的预定的扫描顺序被扫描的变换系数像素的坐标值可以是(4,4)->(4,3)->(3,4)->...。

视频解码装置100可以基于预定的上下文模型对与在经互换的块710中扫描的变换系数有关的信息执行二值算术解码,并可以通过反二值化获得经互换的块710的变换系数。视频解码装置100可以通过将经互换的块710的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换来获得当前块700的变换系数。

当当前块的宽度大于高度时,视频解码装置100可以通过将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换并扫描与经互换的块710中的变换系数有关的信息来对与所扫描的变换系数有关的信息执行熵解码,从而可以始终对于与当前块的高度大于或等于宽度的块的变换系数有关的信息执行熵解码。因此,可以对于当前块的宽度大于高度的情况不使用单独的上下文模型,而是仅使用对于当前块的高度大于或等于宽度的块的上下文模型以减少熵解码的复杂性。

上面已经描述了视频解码装置100在当前块的宽度和高度不同时获得增量标志信息的内容,但是,不限于此,本领域技术人员可以容易地理解,当当前块具有不同的宽度和高度时,视频编码装置150和视频解码装置100可以在不获得增量标志信息的情况下,从比特流获得指示用于指定四边形扫描区域715的变换系数的水平方向的坐标值和垂直方向的坐标值之间的差的信息。

但是,不限于此。本领域技术人员可以容易地理解,视频解码装置100不论当前块的宽度和高度相同或不同而不产生增量标志信息,可以获得指示变换系数的水平方向的坐标值和垂直方向的坐标值之间的差的信息。

在上文中已经描述了视频编码装置150产生互换标志,并且视频解码装置100基于指示激活将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作的标志来确定是否将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的内容,但是,不限于此,本领域技术人员可以容易地理解,当当前块的宽度大于高度时,视频解码装置100可以始终将水平方向的坐标和垂直方向的坐标彼此互换。

在上文中已经描述了视频解码装置100在当前块的宽度大于高度时将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换,否则不进行互换,但是,不限于此,则本领域技术人员可以容易地理解,相反在当前块的高度大于宽度时,当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标可以彼此互换。

在上文中已经描述了视频解码装置100通过互换当前块的变换系数的水平方向的坐标和垂直方向的坐标并且互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标来扫描与变换系数有关的信息,且对所扫描的与变换系数有关的信息执行熵解码来获得当前块中的变换系数,并将所获得的变换系数的水平方向的坐标和垂直方向的坐标互换的内容,但是,不限于此,本领域技术人员可以容易地理解,视频解码装置100可以在不互换当前块在水平方向的坐标和垂直方向的坐标的情况下,仅互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标并对与扫描区域中的变换系数有关的信息执行扫描和熵解码来获得扫描区域中的变换系数,且通过将扫描区域中的变换系数的水平方向的坐标和垂直方向的坐标互换来获得当前块中的变换系数。

在上文中已经描述了视频解码装置100通过互换当前块的变换系数的水平方向的坐标和垂直方向的坐标并且互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标来扫描与变换系数有关的信息,且对所扫描的与变换系数有关的信息执行熵解码来获得当前块中的变换系数,并将所获得的变换系数的水平方向的坐标和垂直方向的坐标互换的内容,但是,不限于此,本领域技术人员可以容易地理解,可以在不互换变换系数的水平方向的坐标和垂直方向的坐标的情况下,仅将扫描区域的变换系数的水平方向的坐标和垂直方向的坐标彼此互换并对其执行解码,并通过对扫描区域中的变换系数的信息执行扫描和熵解码来获得扫描区域中的变换系数,且获得当前块中的变换系数。

换言之,当当前块的宽度大于高度时,视频编码装置150可以将当前块的扫描区域的变换系数的水平方向的坐标和垂直方向的坐标彼此互换并将指示其的信息发送。此时,由于通常当当前块的宽度大于高度时扫描区域的宽度大于高度,指定扫描区域的变换系数的水平方向的坐标大于垂直方向的坐标,且当坐标彼此互换时,经互换的变换系数的垂直方向的坐标小于互换的变换系数的水平方向的坐标。因此,可以通过发送与经互换的变换系数的水平方向上的坐标值有关的信息以及与经互换的变换系数的水平方向的坐标值和经互换的变换系数的垂直方向的坐标值之间的差信息,来减少比特数。然而,当在当前块的宽度大于高度情况下,扫描区域的高度大于宽度时,视频编码装置150可以原样发送经互换的变换系数的水平方向的坐标值信息以及经互换的水平方向的坐标值和经互换的垂直方向上的坐标值信息。即,差信息可能不被发送。这是因为互换的变换系数的水平方向的坐标值大于互换的变换系数的垂直方向的坐标值。

视频编码装置150可以一起发送指示是否发送差信息的标志。当当前块的宽度大于高度时,视频解码装置100可以确定将指定扫描区域的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换,并从比特流获得标志,且当标志的值为1(指示发送差信息)时可以获得与经互换的变换系数的水平方向的坐标值有关的信息以及与经互换的变换系数的水平方向的坐标值和经互换的垂直方向的坐标值有关的差信息,且基于差信息可以获得指定经互换的扫描区域的坐标值。

当标志的值为0(表示不发送差信息)时,可以获得与经互换的变换系数的水平方向的坐标值有关的信息以及与经互换的变换系数的垂直方向的坐标值有关的信息,且基于所获得的信息获得指定经互换的扫描区域的坐标值。

视频解码装置100可以通过将所获得的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换来指定最终扫描区域并扫描与扫描区域中的变换系数的信息。

但是,不限于当前块的宽度大于高度的情况,并且即使当当前块的高度大于宽度时,本领域技术人员也可以容易地理解可以执行类似的操作。

图7b示出了用于说明根据另一实施例的通过互换(swap)四边形扫描区域中的变换系数像素的水平方向和垂直方向的坐标来改变扫描区域的过程的示意图。

参考图7b,当前块720可以是宽度大于高度的长方形。

视频解码装置100可以获得标志,该标志指示激活将包括在当前块720中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作。当所述标志指示激活将包括在当前块720中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作时,视频解码装置100可以确定当前块720的宽度是否大于高度。

当当前块的宽度大于高度时,视频解码装置100可以通过将当前块的宽度和高度彼此互换来确定经互换的(swapped)块730。

换言之,视频解码装置100可以通过将包括在当前块720中的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换来确定包括在互换的块730中的变换系数的像素位置。

视频解码装置100可以从比特流获得与用于指定包括所有有效变换系数的扫描区域725的坐标有关的信息。这里,用于指定扫描区域725的坐标可以是按照预定的正方向扫描顺序扫描的最终有效变换系数像素的水平方向和垂直方向的坐标。与用于指定扫描区域725的坐标有关的信息可以包括与最后有效变换系数像素725的水平方向的坐标有关的信息和与垂直方向的坐标值的信息。或者,与用于指定扫描区域725的坐标有关的信息可以包括与最后有效变换系数像素的水平方向的坐标和垂直方向的坐标中的一个坐标值的有关信息以及指示所述坐标值和另一坐标值之差的信息。

当当前块的宽度和高度彼此不同时,视频解码装置100可以从比特流获得标志信息(以下称为增量标志信息),该标志信息指示关于用于指定扫描区域725的坐标的信息是否包括指示用于指定扫描区域725的水平方向的坐标值和垂直方向的坐标值之间的差的信息。视频解码装置100可以通过基于增量标志信息从比特流获得指示用于指定扫描区域725的变换系数的水平方向的坐标值和垂直方向的坐标值中的一个坐标值的信息和指示一个坐标值与另一坐标值之间的差的信息。

视频解码装置100可以基于从比特流获得的与用于指定包括所有有效变换系数的扫描区域725坐标有关的信息来获得用于指定扫描区域725的坐标。此时,由视频解码装置100获得的用于指定扫描区域725的变换系数的坐标是用于指定当前块720中的扫描区域725的坐标,通过将用于指定扫描区域725的坐标的水平方向的坐标值和垂直方向的坐标值彼此互换,视频解码装置100可以获得用于指定互换的块730的扫描区域725的变换系数的坐标值。

视频解码装置100可以通过基于经互换的块730的扫描区域735来按照预定的扫描顺序扫描与变换系数有关的信息。此时,预定的扫描顺序可以是根据按照与针对当前块720的预定的扫描顺序对应的扫描顺序扫描的变换系数像素的水平方向的坐标值和垂直方向的坐标值彼此互换的坐标值的扫描顺序。例如,当按照针对当前块720的预定的扫描顺序扫描的变换系数像素的坐标值是(4,4)->(3,4)->(4,3)->…时,按照互换的块730的预定的扫描顺序扫描的变换系数像素的坐标值可以是(4,4)->(4,3)->(3,4)->…。

视频解码装置100可以通过基于预定的上下文模型对与在经互换的块730中扫描的变换系数有关的信息执行二值算术解码和反二值化来获得经互换的块730的变换系数。视频解码装置100可以通过将经互换的块730的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换来获得当前块720的变换系数。

当当前块的宽度大于高度时,视频解码装置100可以通过将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换并扫描与经互换的块710中的变换系数有关的信息,来对与扫描的变换系数有关的信息执行熵解码,从而始终对关于与当前块的高度大于或等于宽度的块有关的变换系数的信息执行熵解码。因此,可以不使用对于在当前块的宽度大于高度的情况的单独的上下文模型,而仅使用对于当前块的高度大于或等于宽度的块的上下文模型来减少熵解码的复杂性。

上面已经描述了视频解码装置100在当前块700的宽度和高度不同时获得增量标志信息的内容,但是,不限于此,本领域技术人员可以容易地理解,当当前块具有不同的宽度和高度时,视频编码装置150和视频解码装置100可以在不获得增量标志信息的情况下,从比特流获得指示用于指定扫描区域720的变换系数的水平方向的坐标值和垂直方向的坐标值之间的差的信息。

但是,不限于此,本领域技术人员可以容易地理解,视频解码装置100可以不论当前块700的宽度和高度相同或不同而不产生增量标志信息,可以获得指示变换系数的水平方向的坐标值和垂直方向的坐标值之间的差的信息。

在上文中已经描述了视频编码装置150产生互换标志,并且视频解码装置150基于指示激活将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的操作的标志来确定是否将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换的内容,但是,不限于此,本领域技术人员可以容易地理解,当当前块的宽度大于高度时,视频解码装置100可以始终将变换系数的水平方向的坐标和垂直方向的坐标彼此互换。

在上文中已经描述了当当前块的宽度大于高度时,视频解码装置100将当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标彼此互换(swap),否则不互换的内容,但是,不限于此,本领域技术人员可以容易地理解,相反,当当前块的高度大于宽度时,当前块中包括的变换系数像素的水平方向的坐标和垂直方向的坐标可以彼此互换。

在上文中已经描述了视频解码装置100通过互换当前块的变换系数的水平方向的坐标和垂直方向的坐标并互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标来扫描与变换系数有关的信息,且对所扫描的与变换系数的信息执行熵解码来获得当前块中的变换系数,并将所获得的变换系数的水平方向的坐标和垂直方向的坐标互换的内容,但是,不限于此,本领域技术人员可以容易地理解,视频解码装置100可以在不互换当前块的水平方向的坐标和垂直方向的坐标,仅互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标并对与扫描区域中的变换系数有关的信息执行扫描和熵解码来获得扫描区域中的变换系数,且通过将扫描区域中的变换系数的水平方向的坐标和垂直方向的坐标互换来获得当前块中的变换系数。

在上文中已经描述了视频解码装置100通过互换当前块的变换系数的水平方向的坐标和垂直方向的坐标并互换扫描区域的变换系数的水平方向的坐标和垂直方向的坐标来扫描与变换系数有关的信息,且对所扫描的与变换系数有关的信息执行熵解码来获得当前块中的变换系数,并将所获得的变换系数的水平方向的坐标和垂直方向的坐标互换的内容,但是,不限于此,本领域技术人员可以容易地理解,视频解码装置100可以在不互换变换系数的水平方向的坐标和垂直方向的坐标,仅将扫描区域的变换系数的水平方向的坐标和垂直方向的坐标彼此互换并对其执行解码,并通过对与扫描区域中的变换系数有关的信息执行扫描和熵解码来获得扫描区域中的变换系数,且获得当前块中的变换系数。

换言之,当当前块的宽度大于高度时,视频编码装置150可以将当前块的扫描区域的变换系数的水平方向的坐标和垂直方向的坐标彼此互换并将指示其的信息发送。此时,通常,当当前块的宽度大于高度时,扫描区域的宽度大于高度,并且指定扫描区域的变换系数的在水平方向上的坐标大于在垂直方向上的坐标,并且当坐标被彼此互换时,互换的变换系数的垂直方向的坐标小于互换的变换系数的水平方向的坐标。因此,可以通过发送与经互换的水平方向的坐标值有关的信息以及与经互换的水平方向的坐标值和互换的垂直方向的坐标值有关的差信息以减少比特数。然而,当在当前块的宽度大于高度的情况下,扫描区域的高度大于宽度时,视频编码装置150可以原样发送经互换的变换系数的水平方向的坐标值信息以及经互换的变换系数的水平方向的坐标值和互换的变换系数的垂直方向的坐标值信息。即,差信息可能不被发送。这是因为互换的变换系数的水平方向的坐标值大于互换的变换系数的垂直方向的坐标值。

视频编码装置150可以一起发送指示是否发送差信息的标志。当当前块的宽度大于高度时,视频解码装置100可以确定将指定扫描区域的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换,并从比特流获得标志,且当标志的值为1(指示发送差异信息)时可以获得与经互换的变换系数的水平方向的坐标值有关的信息以及与经互换的变换系数的水平方向的坐标值和互换的变换系数的垂直方向的坐标值之差有关的差信息,且基于差信息可以获得指定互换的扫描区域的坐标值。

当标志的值为0(表示不发送差信息)时,视频解码装置100可以获得与经互换变换系数的水平方向的坐标值有关的信息以及与经互换的变换系数的垂直方向的坐标值有关的信息,且基于所获得的信息获得指定互换的扫描区域的坐标值。

视频解码装置100可以通过将所获得的变换系数的水平方向的坐标值和垂直方向的坐标值彼此互换来指定最终扫描区域并扫描与在扫描区域中的变换系数有关的信息。

但是,不限于当前块的宽度大于高度的情况,并且即使当当前块的高度大于宽度时,本领域技术人员也可以容易地理解可以执行类似的操作。

图8示出了用于说明根据一实施例的基于当前块的尺寸和当前块的形状(shape)中的至少一个确定与当前块中的变换系数的语法元素信息有关的上下文模型的过程的示意图。

参考图8,当前块可以具有第一块805、第二块810和第三块815中的一个形状。第一块可以是高度大于宽度的长方形的块,第二块815可以是宽度大于高度的长方形的块,且第三块815可以是宽度和高度相同的正方形的块。

视频解码装置100可以基于根据等式19所确定的size_tu0来确定与当前块中的变换系数的语法元素信息有关的上下文模型。

【等式19】

在此,log2_width可以是对于当前块的宽度width取log2的值,并且log2_height可以是对于当前块的高度height取log2的值。参考图8,当当前块是第一块805时,size_tu可以是(log2a+log2b)/2(a、b是正整数)。当当前块是第二块时810,size_tu可以是(log2c+log-2d)/2(c、d是正整数)。当当前块是第三块815时,size_tu可以是log2e(e是正整数)。

或者,视频解码装置100可以基于当前块的宽度和当前块的高度中的最小值,确定作为确定上下文模型的元素的与当前块的尺寸有关的值。例如,视频解码装置可以基于以下等式20确定作为确定上下文模型的元素的与当前块的尺寸有关的值size_tu1。

【等式20】

size_tu1=min(log2_width,log2_height)

在此,min()函数可以是输出输入值中的最小值的函数。参考图8,当当前块是第一块805时,size_tu可以是log2a(a是正整数)。当当前块是第二块810时,size_tu可以是log-2d(d是正整数)。当当前块是第三块815时,size_tu可以是log2e(e是正整数)。

视频解码装置100可以基于根据等式20确定的size_tu1来确定与当前块中的变换系数的语法元素信息有关的上下文模型。

或者,视频解码装置100可以基于当前块的宽度和当前块的高度中的最大值确定作为确定上下文模型的元素的与当前块的尺寸有关的值。例如,视频解码装置100可以基于以下等式21确定作为确定上下文模型的元素的与当前块的尺寸有关的值size_tu2。

【等式21】

size_tu2=max(log2_width,log2_height)

在此,max()函数可以是输出函数输入值中的最大值的函数。

视频解码装置100可以基于根据[等式21]所确定的size_tu2来确定与当前块中的变换系数的语法元素信息有关的上下文模型。

如果a为4,b为16而e为8,与第一块805有关的size_tu和与第三块815有关的size_tu0可以等于3。

即使变换系数倾向于分布在当前块的高度和宽度中较大的侧上,视频解码装置100可以基于size_tu0对于第一块805和第三块815确定相同的上下文模型。然而,当视频解码装置100基于size_tu1或size_tu2确定对于第一块805和第三块815的上下文模型时,其上下文模型可以是不同的,因此与基于size_tu0确定上下文模型时相比,可以提高二值算术解码的效率。

视频解码装置100可以基于当前块的形状来确定作为确定上下文模型的元素的与当前块的尺寸有关的值。例如,视频解码装置100可以基于以下等式22确定作为确定上下文模型的元素的与当前块的形状有关的值shape_tu。

【等式22】

shape_tu=width>height?2:(width<height?1:0)

例如,当当前块是第一块805时,shape_tu可以是1,当当前块是第二块810时,shape_tu可以是2。当当前块是第三块815时,shape_tu可以是0。换言之,当当前块的形状为当前块的宽度大于高度的长方形时,size_tu可以是2,当当前块的形状为当前块的高度大于宽度的长方形时,size_tu可以是1,且当当前块的形状为当前块的宽度和高度相同的正方形时,size_tu可以是0,

在[等式22]中,使用了当前块的高度height和当前块的宽度width,不限于此,本领域技术人员可以容易地理解,可以基于如[等式21]的log2_width和log2_height来确定。此外,在[等式22]中,shape_tu被确定为0至2中的一个值,但不限于此,本领域技术人员可以容易地理解,shape_tu可以被分配其他值,且由每个值指示的当前块的形状也可以改变。

如果a为4,b为16而e为8,则与第一块805有关的size_tu可以为3,且与第三块815有关的size_tu可以等于3。

即使变换系数倾向于分布在当前块的高度和宽度中较大的侧上,视频解码装置100可以基于size_tu0对于第一块和第三块确定相同的上下文模型。然而,当视频解码装置100基于shape_tu确定对于第一块805和第三块815的上下文模型时,其上下文模型可以是不同的,因此与基于size_tu0确定上下文模型时相比,可以提高二值算术解码的效率。

另外,视频解码装置100可以基于当前块的最小值与最大值之间的比率来确定与变换系数的有关上下文模型,所述比率通过基于当前块的高度和宽度的最小值size_tu1和最大值size_tu2来计算。例如,当最小值与最大值之间的比率在预定值范围内时,视频解码装置100可以确定与该范围相对应的上下文索引,并基于所确定的上下文索引来确定与变换系数有关的上下文模型。例如,当当前块的高度大于宽度且最小值(宽度)和最大值(高度)之间的比率的值在1到2之间的范围时,可以确定与该范围相对应的上下文索引,且当最小值和最大值之间的比率的值在2或更大的范围内时,可以确定与该值相对应的上下文索引。

此外,视频解码装置100可以基于当前块的形状和尺寸确定与变换系数有关的上下文模型。即,视频解码装置100可以基于当前块的尺寸和当前块的形状确定与变换系数有关的上下文模型。

视频解码装置100可以基于与当前块的尺寸有关的值size_tu1和size_tu2中的至少一个和与当前块的形状有关的值shape_tu来确定与变换系数有关的上下文索引,并且可以确定与所确定的上下文索引相对应的上下文模型。

图9a至图9c示出了用于说明根据一实施例的残差编码语法结构的示意图。

参考图9a至图9c,视频解码装置100可以扫描与变换系数有关的语法元素信息并且基于所扫描的语法元素信息对变换系数执行解码,以恢复变换系数。

首先,视频解码装置100可以从比特流获得语法元素信息scan_region_x和scan_region_y,所述语法元素信息scan_region_x和scan_region_y指示用于指定四边形扫描区域的坐标。此时,语法元素信息scan_region_x可以指示以当前块的左上侧边角的坐标为基准位于当前块中的最右侧的有效变换系数的水平方向(x轴方向)的坐标的值,且语法元素信息scan_region_y可以指示以当前块的左上侧边角的坐标为基准位于当前块中的最下侧的有效变换系数的垂直方向(y轴方向)的坐标的值。视频解码装置100可以基于语法元素信息scan_region_x和scan_region_y确定用于指定扫描区域的坐标srx和sry。

视频解码装置100可以通过基于用于指定扫描区域的坐标srx和sry确定扫描顺序scanorder(srx+1,sry+1)。

视频解码装置100可以基于用于指定扫描区域的坐标srx和sry确定指示按照正方向扫描顺序最后被扫描的系数组的索引信息lastset。换言之,视频解码装置100可以通过对于从作为扫描区域的尺寸值(srx+1)×(sry+1)减去1的值执行向右侧移位4的运算(>>4),来确定最后被扫描的系数组的索引信息lastset。即,向右侧移位4的运算的输出值可以与除以16的运算所确定的商相同。换言之,由于视频解码装置100确定每16个变换系数为一个系数组,因此当将在扫描区域中扫描的总变换系数除以16时,可以确定系数组的总数(或者,在指示在正方向扫描顺序上最后被扫描的系数组的索引值添加1的值)。

视频解码装置100可以基于用于指定扫描区域的坐标srx和sry确定在正方向扫描顺序上最后被扫描的系数的位置lastscanpos,并将当前变换系数的位置pos确定为在正方向扫描顺序上最后被扫描的系数的位置lastscanpos。

视频解码装置100可以将i初始化为lastset,当i大于0时将i减1,并执行包括在循环语句(for语句)905中的操作。视频解码装置100可以执行包括在循环语句(for语句)905中的操作,直到成为小于0的值为止。此时,i可以是指示系数组的索引。换言之,每当执行包括在循环语句(for语句)905中的操作时,视频解码装置100可以针对一个系数组执行操作。

视频解码装置100可以通过执行将i乘以16的操作(i<<4)来确定setpos。setpos可以指示位于变换组的第一个的变换系数的索引信息。

视频解码装置100可以在i是最后的系数组时(i==lastset)将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,且当n大于或等于0时,可以将i减小1,并且执行包括在循环语句(for语句)910中的操作。视频解码装置100可以执行包括在循环语句(for语句)910的操作(与sig_flag相关的操作)直到成为小于0的值为止。此时,n可以是指示在按照正方向扫描顺序的变换系数在系数组中的位置的索引信息。

例如,当扫描区域中包括的变换系数的总数不是16的整数倍时,从与按照正方向扫描顺序最后被扫描的系数组(i=lastset)有关的lastscanpos中减去setpos的值可以大于或等于0且小于或等于15,且该值可以被确定为n,并且可以执行循环语句(for语句)910的操作。

视频解码装置100可以将当前变换系数的位置blkpos确定为通过将指示当前系数组的第一个系数在scanorder排列中的位置的索引信息setpos与n相加而获得的值。scanorder排列可以是表示按照正方向扫描顺序的变换系数的位置的排列。

视频解码装置100可以基于当前变换系数的位置blkpos和扫描区域的宽度width来确定当前被扫描的在平方向(x轴方向)的坐标的值sx。此外,视频解码装置100可以基于当前被解码的变换系数的位置blkpos和扫描区域的宽度log2width来确定垂直方向(y轴方向)的坐标的值sy。

当sx为0,sy为sry,且is_last_y为0时(sx==0&&sy==sry&&is_last_y==0),或者当sy为0,sx为srx,且is_last_x为0时(sy==0&&sx==srx&&is_last_x==0),视频解码装置100可以从比特流不获得与当前变换系数有关的有效变换系数标志sig_flag(sig_flag[blkpos]),而将与当前变换系数有关的sig_flag的值确定为1。在此,is_last_x可以是指示包括在扫描区域的最下侧的行中的变换系数中的在当前变换系数之前被扫描的变换系数中是否存在绝对值大于0的有效变换系数的值。is_last_y可以是指示包括在扫描区域的最右侧的列中的变换系数中的在当前变换系数之前被扫描的变换系数中是否存在绝对值大于0的有效变换系数的值。

当sx为0,sy为sry,且is_last_y为0的情况(sx==0&&sy==sry&&is_last_y==0),或者当sy为0,sx为srx,且is_last_x为0的情况(sy==0&&sx==srx&&is_last_x==0),视频解码装置100可以从比特流获得与当前被解码的变换系数有关的有效变换系数标志sig_flag[blkpos]。

视频解码装置100可以在当前变换系数的有效变换系数标志sig_flag为1且当前变换系数的x轴方向的坐标值sx等于srx时(sx==srx)将is_last_x设定为1,且在当前变换系数的y轴方向的坐标值sy等于sry时(sy==sry)将is_last_y设定为1。

此外,当lastsigscanpos为-1(即为初始值)时,视频解码装置100可以将lastsigscanpos确定为n。换言之,由于指示系数组的按照逆方向扫描顺序的第一个有效变换系数所存在的位置的索引n被确定为lastsigscanpos,所以lastsigscanpos可以是指示系数组中的按照正方向扫描顺序的最后有效变换系数所在的位置。另外,视频解码装置1000可以将firstsigscanpos确定为n。当当前变换系数的有效变换系数标志sig_flag为1时,由于firstsigscanpos的值会被持续更新为作为指示当前变换系数位置的索引信息的n,因此当最终对于特定系数组i中包括的变换系数进行操作时,firstsigscanpos可以是指示系数组中的按照逆方向扫描顺序的第一个有效变换系数所存在的位置的索引信息。

视频解码装置100将cnt_nz增加1。换言之,指示在当前块(或扫描区域)中具有非0值的系数数量的cnt_nz每当当前变换系数是有效变换系数时被更新。此外,视频解码装置100将表示当前系数组i中具有非0值的系数的数量的cg_nz[i]增加1。换言之,指示当前系数组i中具有非0值的系数数量的cg_nz[i]每当当前变换系数是有效变换系数时被更新。

视频解码装置100可以在i是最后的系数组时(i==lastset)将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,且在n大于或等于0时,可以将i减小1,并且执行包括在循环语句(for语句)915中的操作。视频解码装置100可以执行包括在循环语句(for语句)915中的操作(与coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag相关的操作),直到成为小于0的值为止。

视频解码装置100可以将当前变换系数的位置blkpos确定为通过将指示当前系数组的第一个系数在scanorder排列中的位置的索引信息(setpos)与n相加而获得的值。

视频解码装置100可以基于与当前变换系数有关的信息gt0flag、gt1flag、gt2flag和remainining_abolutevaluelevel来获得与当前变换系数有关的绝对值abs_coef。

当变换系数的有效变换系数标志sig_flag[blkpos]为1时,当cnt_gl(即,在先前被扫描的系数组中包括的变换系数中变换系数的绝对值大于1的变换系数的数量)和c1(即,在当前系数组中的先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量)之和小于num_gtl(即,在系数的绝对值大于1的变换系数中可以从比特流获得coeff_abs_level_greater_flag的变换系数的最大数量)时,视频解码装置100可以从比特流获得与当前变换系数有关的coeff_abs_level_greater1_flag[blkpos]。coeff_abs_level_greater1_flag可以是指示当前变换系数的绝对值是否大于1的标志。视频解码装置100可以基于从比特流获得的coeff_abs_level_greater1_flag来确定当前变换系数的标志gt1_flag(gt1flag[blkpos])。

当当前变换系数的标志gt1_flag的值是1时,视频解码装置100可以将c1增加1。当当前变换系数的标记gt1_flag为1时,由于c1的值增加了1使c1的值被更新,因此在对下一个变换系数执行循环语句(for语句)()操作时,c1可以指示在当前系数组中先前被扫描的变换系数中的从比特流获得coeff_abs_level_greater1_flag的变换系数的数量。

当当前变换系数的有效变换系数标志sig_flag[blkpos]为1时,在cnt_g2(即,在先前被扫描的系数组中的变换系数中的变换系数的绝对值大于2的变换系数的数量)和c2(即,在当前系数组中先前被扫描的从比特流获得coeff_abs_level_greater2_flag的变换系数的数量)之和小于num_gt2(即,在变换系数的绝对值大于2的变换系数中从比特流可获得coeff_abs_level_greater_flag的变换系数的最大数量)的情况下,视频解码装置100可以从比特流获得与当前变换系数有关的coeff_abs_level_greater2_flag。coeff_abs_level_greater2_flag可以是指示当前变换系数的绝对值是否大于2的标志。视频解码装置100可以基于从比特流获得的coeff_abs_level_greater2_flag来确定当前变换系数的标志gt2_flag。

当当前变换系数的标志gt2_flag的值是1时,视频解码装置100可以将当前gt2flag的数量c2增加1。当当前变换系数的标记gt2_flag为1时,由于c2的值增加了1而使c2的值得到更新,因此在对于下一个变换系数执行循环语句(for语句)()操作时,c2可以指示在当前系数组中先前被扫描的变换系数中的从比特流获得coeff_abs_level_greater1_flag的变换系数的数量。

此外,视频解码装置100可以将escapedatapresent确定为1。escapedatapresent可以是指示存在需要额外获取以确定当前变换组中的变换系数的值的信息(例如,剩余级别绝对值信息coeff_abs_level_remaining)。

当当前变换系数的有效变换系数的标志sig_flag[blkpos]为1时,在cnt_g2(即,先前被扫描的系数组中的变换系数中的变换系数的绝对值大于2的变换系数的数量)和c2(即,当前系数组中的先前被扫描的从比特流获得coeff_abs_level_greater2_flag的变换系数的数量)之和不小于num_gt2(即,在变换系数的绝对值大于2的变换系数中从比特流可获得coeff_abs_level_greater_flag的变换系数的最大数量)时,视频解码装置100可以将escapedatapresent确定为1。

当cnt_g1(即,在先前被扫描的系数组中包括的变换系数中变换系数的绝对值大于1的变换系数的数量)和c1(即,在当前系数组中先前被扫描的变换系数中从比特流获得coeff_abs_level_greater1_flag的变换系数的数量)之和不小于num_gt1(即,在系数的绝对值大于1的变换系数中从比特流可获得coeff_abs_level_greater_flag的变换系数的最大数量)时,视频解码装置100可以将escapedatapresent确定为1。

当escapedatapresent为1时,当i指示最后的系数组时(i==lastset),视频解码装置100可以将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,并且当n大于或等于0时,可以将i减少1且执行包括在循环语句(for语句)920中的操作。视频解码装置100可以执行包括在循环语句(for语句)920中的操作(与coeff_abs_level_reamining相关的操作)直到成为小于0的值为止。

视频解码装置100可以将当前变换系数的位置blkpos确定为通过将指示当前系数组的第一个系数在scanorder排列中的位置的索引信息(setpos)与n相加的值。

当当前变换系数的绝对值大于1时(sig_flag[blkpos]),视频解码装置100可以确定基本级别。当cnt_gt1(即,当前系数组中的当前变换系数之前被扫描的变换系数中的变换系数的绝对值大于1的变换系数的数量)小于num_gt1(即,在系数的绝对值大于2的变换系数中从比特流可获得coeff_abs_level_greater_flag的变换系数的最大数量)时,在cnt_gt2(即,当在当前系数组中的当前变换系数之前被扫描的变换系数中的变换系数的绝对值大于2的变换系数的数量)小于num_gt2(即,在系数的绝对值大于2的变换系数中从比特流可获得coeff_abs_level_greater_flag的变换系数的最大数量)的情况下,视频解码装置100可以将基本级别确定为3。当cnt_gt1小于可以从比特流获得的num_gt1时,在cnt_gt2小于num_gt2的情况下,视频解码装置100可以将基本级别确定为2。当cnt_gt1不小于num_gt1时,视频解码装置100可以将基本级别确定为1。

视频解码装置100可以将当前变换系数的绝对值级别abs_coef确定为对于当前变换系数的gtlflag的值加上gt2flag的值再加1的值。当当前变换系数的绝对值具有与基本级别相同的值时(abs_coef[blkpos]==base_level),视频解码装置100可以从比特流获得与当前变换系数有关的剩余绝对值级别coeff_abs_level_remaining。视频解码装置100可以通过对abs_coef加上与当前变换系数有关的剩余绝对值级别coeff_abs_level_remaining来确定与当前变换系数有关的绝对值级别abs_coef。

当与当前变换系数有关的绝对值级别abs_coef大于2时,视频解码装置100可以将cnt_gt2增加1。此外,当与当前变换系数有关的绝对值级别abs_coef大于1时,视频解码装置100可以将cnt_gt1增加1。

当escapedatapresent为0时,在i指示最后的系数组的情况下(i==lastset),可以将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,且当n大于或等于0时将i减少1,并且执行包括在循环语句(for语句)925中的操作。视频解码装置100可以执行包括在循环语句(for语句)925中的操作(与abs_coef相关的操作)。可以确定为指示当前系数组的第一个系数在scanorder排列中的位置的索引信息setpos加n的值。

当当前变换系数的有效变换系数的标志为1时,在作为与当前变换系数有关的绝对值的abs_coef大于或等于2的情况下,视频解码装置100可以将cnt_gt2增加1。当与当前变换系数有关的有效变换系数的标志为1时,在作为与当前变换系数有关的绝对值的abs_coef大于或等于1的情况下,视频解码装置100可以将cnt_gt1加1。

当按照正方向扫描顺序被扫描的系数组i中的最后有效变换系数的位置lastsigscanpos与第一个有效变换系数的位置firstsigscanpos之间的差大于3时,视频解码装置100可以将signhidden的值signhidden[i]确定为1,所述signhidden指示在当前系数组i中隐藏有至少一个符号。当按照正方向扫描顺序被扫描的当前系数组中的最后有效变换系数的位置lastsigscanpos与第一个有效变换系数的位置firstsigscanpos之间的差不大于3时,视频解码装置100可以将signhidden的值signhidden[i]确定为0,所述signhidden指示在当前系数组i中隐藏有至少一个符号。

视频解码装置100可以将i初始化为0,且当i小于或等于lastset时,将i增加1,并且执行包括在循环语句(for语句)930中的操作。视频解码装置100可以执行包括在循环语句(for语句)930中的操作,直到i成为大于lateset的值为止。此时,i可以是指示系数组的索引。换言之,每当执行一次包括在循环语句(for语句)930中的操作时,视频解码装置100可以执行针对一个系数组的操作。

当应用rsp(residualsignprediction)时(rsp_apply),在i为最后的系数组的情况下(i==lastset),视频解码装置100可以将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,且在n大于或等于0的情况下将i减少1,且执行包括在循环语句(for语句)935中的操作。视频解码装置100可以执行包括在循环语句(for语句)935中的操作,直到成为小于0的值为止。

视频解码装置100可以将当前解码的变换系数的位置blkpos确定为指示当前系数组的第一个系数按照正方向扫描顺序在scanorder排列中的位置的索引信息setpos加上当前n的值。

当当前解码的变换系数的位置blkpos不是rsp_pos时,在变换系数的符号是所隐藏的变换系数的位置hidden_pos时,视频解码装置100可以将与当前解码的变换系数的符号有关的信息sign[blkpos]确定为与所隐藏的变换系数的符号有关的信息hidden_sign。

当变换系数的符号不是所隐藏的变换系数的位置hidden_pos时,视频解码装置100可以从比特流获得与当前解码的变换系数的符号有关的信息sign[blkpos]。

当当前解码的变换系数的位置blkpos为rsp_pos时,视频解码装置100可以从比特流获得与当前解码的变换系数的rsp符号有关的信息sign_rsp[blkpos]。

当不应用rsp时,在i是最后的系数组的情况下(i==lastset),视频解码装置100可以将n确定为从lastscanpos减去setpos的值(lastscanpos-setpos),否则将n确定为15,且当n大于或等于0时将i减少1,且执行包括在循环语句(for语句)940中的操作。视频解码装置100可以执行包括在循环语句(for语句)940中的操作,直到成为小于0的值为止。

视频解码装置100可以将当前变换系数的位置blkpos确定为指示当前系数组的第一个系数按照正方向扫描顺序在scanorder排列中的位置的索引信息setpos加上当前n的值。

当当前变换系数的有效变换系数标志的值为1,且指示是否要激活隐藏符号数据的标志sign_data_hiding_enabled_flag的值为0,或者不存在对于当前块所隐藏的符号!signhidden[i],或在正方向扫描顺序上当前系数组中的当前变换系数的位置不是第一个有效变换系数firstsigscanpos时,可以从比特流获得与当前变换系数的符号有关的信息sign[blkpos]。

图9d至图9f示出了用于说明根据另一实施例的残差编码语法结构的示意图。

参考图9d至图9f,视频解码装置100可以扫描与变换系数有关的语法元素信息,并且基于所扫描的语法元素信息对变换系数执行解码以恢复变换系数。

首先,视频解码装置100可以从比特流获得语法元素信息last_sig_coeff_x和last_sig_coeff_y,所述语法元素信息last_sig_coeff_x和last_sig_coeff_y指示用于指定扫描区域的坐标。此时,语法元素信息last_sig_coeff_x可以指示以位于当前块的左上侧边角的坐标为基准按照正方向扫描顺序位于最后的有效变换系数的水平方向(x轴方向)的坐标值,且语法元素信息last_sig_coeff_y可以指示以当前块的左上侧边角的坐标为基准按照正方向扫描顺序位于当前块中的最后的有效变换系数的垂直方向(y轴方向)的坐标值。视频解码装置100可以基于语法元素信息last_sig_coeff_x和last_sig_coeff_y来确定用于指定扫描区域的坐标lastsigcoeffx和lastsigcoeffy。

视频解码装置100可以将在子块中按照正方向扫描顺序位于最后的有效变换系数的位置lastscanpos初始化为16。视频解码装置100可以将lastsubblock初始化,所述lastsubblock指示在子块中按照正方向扫描顺序位于最后的有效变换系数所位于的子块。此时,被初始化的值可以指示在按照正方向扫描顺序被扫描的当前块的子块中位于最后的子块。换言之,可以基于当前块的高度和宽度将lastsubblock初始化为指示在按照正方向扫描顺序被扫描的子块中位于最后的子块的值。

视频解码装置100可以在当前系数的水平方向的位置xc不是lastsigcoeffx,或当前系数的垂直方向的位置yc不是lastsigcoeffy时执行do-while循环语句950中的操作,而在xc是lastsigcoeffx且当前系数的垂直方向的位置yc是lastsigcoeffy时不再执行do-whileloop语句950中的操作。

当lastscanpos为0时,视频解码装置100可以将lastscanpos确定为16,且将lastsubblock减去1。换言之,当完成在一个子块中按照逆方向扫描顺序的扫描时(当lastscanpos为0时),可以将lastscanpos初始化为16以按照逆方向扫描顺序扫描下一个子块,且将lastsubblock减去1以扫描下一个子块。视频解码装置100可以在将lastsubblock减去1的同时,按照逆方向扫描顺序扫描当前子块lastsubblock中的变换系数。

视频解码装置100可以确定当前子块的水平方向的位置xs和垂直方向的位置ys。视频解码装置100可以针对当前块基于按照正方向扫描顺序所确定的scanorder排列来确定当前子块的位置。换言之,视频解码装置100可以基于当前块的高度log2height和宽度log2width、指示预定的扫描顺序的扫描索引scanidx和指示当前子块的值lastsubblock来确定当前子块的位置。此时,xs和ys可以是将子块视为一个像素时的子块位置,而不是实际子块的位置。换言之,可以不考虑子块的宽度和高度,且邻近的子块之间的子块水平方向和垂直方向之间的差可以是1。

此外,视频解码装置100可以针对当前子块基于按照预定的正方向扫描顺序所确定的scanorder排列来确定当前变换系数的水平方向的位置xc和垂直方向的位置yc。换言之,视频解码装置100可以基于当前子块的高度log24=2和宽度log24=2、指示预定的扫描顺序的扫描索引scanidx、当前子块的位置(xs,ys)和指示当前子块中的当前变换系数的位置的值lastscanpos来确定当前变换系数的位置(xc,yc)。

当当前变换系数的垂直方向的位置yc为lastsigcoeffy时,视频解码装置100不再执行do-while循环语句950中的操作,因此,通过do-while循环语句950所确定的lastscanpos可以是指示在包括按照正方向扫描顺序被扫描的当前块中的最后有效变换系数的子块中的最后有效变换系数的位置的索引信息,且lastsubblock可以是指示当前块中的最后有效变换系数所位于的子块的索引信息。

视频解码装置100可以将i初始化为lastsubblock,且当i大于0时将i减少1,且执行包括在循环语句(for语句)960中的操作。视频解码装置100可以执行包括在循环语句(for语句)960中的操作,直到成为小于0的值为止。此时,i可以是指示系数组的索引。换言之,每当执行包括在循环语句(for语句)960中的操作一次时,视频解码装置100可以针对一个子块执行操作。

视频解码装置100可以确定当前子块的水平方向的位置xs和垂直方向的位置ys。

当指示当前子块的i指示具有小于最后有效变换系数所位于的子块的值lastsubblock的值的子块或指示具有大于指示包括dc系数的子块的值(0)的值的子块时,视频解码装置100可以获得与当前子块i有关的coded_sub_block_flag[xs][ys]。coded_sub_block_flag[xs][ys]可以是指示在当前子块i中是否包括至少一个的有效变换系数的标志信息。

当当前子块是包括最后有效变换系数的子块lastsubblock时,视频解码装置100可以将n初始化为lastscanpos-1,否则将n初始化为15,且当n大于或等于0时将n减少1,并执行包括在循环语句(for语句)()中的操作。视频解码装置100可以执行包括在循环语句(for语句)960中的操作,直到n成为小于0的值为止。此时,n可以是指示子块中的当前变换系数的位置的索引。换言之,每当执行包括在循环语句(for语句)()中的操作一次时,视频解码装置100可以针对一个系数组执行操作。换言之,每当执行包括在循环语句(for语句)960中的操作一次时,视频解码装置100可以执行针对一个子块的操作(与sig_coeff_flag相关的操作)。

视频解码装置100可以确定当前变换系数n的位置xc和yc。

当与当前子块有关的coded_sub_block_flag[xs][ys]为1,且n大于0,或infersbdcsigcoeffflag为0时,视频解码装置100可以从比特流获得与当前变换系数有关的标志sig_coeff_flag[xc][yc]。sig_coeff_flag[xc][yc]可以是指示当前变换系数是否为有效变换系数的标志。

当sig_coeff_flag[xc][yc]的值为1时,infersbdcsigcoeffflag可以被确定为0。

视频解码装置100可以将在当前子块中按照正方向扫描顺序第一个被扫描的变换系数的位置firstscanpos的值初始化,并将在当前子块中按照正方向扫描顺序最后被扫描的变换系数的位置lastsigscanpos的值初始化。视频解码装置100可以将指示greater1flag的数量的numgreater1flag的值初始化,且将按照正方向扫描顺序获得greater1flag的最后位置lastgreater1scanpos的值初始化。

视频解码装置100可以将指示在子块i中不是0的变换系数的数量的cg_nz[i]初始化。

视频解码装置100可以将n初始化为15,且当n大于或等于0时,可以在将n减少1的同时执行包括在循环语句(for语句)965的操作,直至n的值小于0为止。

视频解码装置100可以确定当前变换系数n的位置xc和yc。

当对于当前变换系数的有效变换系数的标志sig_coeff_flag为1时,在numgreater1flag小于8的情况下,视频解码装置100可以获得针对当前变换系数n的coeff_level_greater1_flag[n],且将numgreater1flag的值增加1。coeff_level_greater1_flag[n]可以是指示变换系数n的级别的绝对值是否大于1的标志信息。视频解码装置100可以通过基于coeff_level_greater1_flag[n]来确定greater1flag[n]。

当与当前变换系数有关的coeff_abs_level_greater_flag的值为1,且lastreater1scanpos的值为初始值时,视频解码装置100可以将lastgreater1scanpos确定为当前子块中的当前变换系数的位置n。因此,lastgreater1scanpos可以是指示按照正方向扫描顺序位于当前子块中的最后的具有coeff_abs_level_greater_flag的值的系数的位置的索引信息。否则(当与当前变换系数有关的coeff_abs_level_greater1_flag的值为1且lastreater1scanpos的值不是初始值时),在coeff_abs_level_greater1_flag是1的情况下,视频解码装置100可以将escapedatapresent确定为1。

当numgreater1flag不小于8时,视频解码装置100可以将escapedatapresent确定为1。

当指示在当前子块中按照正方向扫描顺序位于最后的有效变换系数的位置的lastsigscanpos具有初始值时,视频解码装置100可以将lastsigscanpos确定为当前子块中的变换系数的位置n。

视频解码装置100可以将指示在当前子块中按照正方向扫描顺序位于第一个的有效变换系数的位置的firstsigscanpos确定为当前子块中的变换系数的位置n。当当前变换系数的有效变换系数标志sig_coeff_flag[xc][yc]为1时,由于firstsigscanpos的值持续被更新为指示当前子块中当前变换系数的位置的索引信息n,因此当最终对包括在当前子块i中的变换系数执行操作时,firstsigscanpos可以是指示在子块中按照正方向扫描顺序第一个有效变换系数所存在的位置的索引信息。

视频解码装置100可以在lastsigscanpos和firstsigscanpos之间的差大于3时将sighidden值确定为1,而在lastsigscanpos和firstsigscanpos之间的差不大于3时将sighidden值确定为0。此时,sighidden可以是指示对于当前子块隐藏至少一个变换系数的符号的值。

当按照正方向扫描次序扫描的从比特流获得的与变换系数有关的coeff_abs_level_greater1_flag(greater1flag)中的最后获得coeff_abs_level_greater1_flag的变换系数的位置lastgreater1scanpos不是初始值时(即,当在当前子块中从比特流获得至少一个greater1flag时),视频解码装置100可以从比特流获得与lastgreater1scanpos位置的变换系数有关的标志coeff_abs_level_greater2_flag[lastgreater1scanpos]。coeff_abs_level_greater2_flag可以是指示变换系数的绝对值是否大于2的标志。当与lastgreater1scanpos位置的变换系数有关的标志coeff_abs_level_greater2_flag[lastgreater1scanpos]的值是1时,视频解码装置100可以将escapedatapresent确定为1。视频解码装置100可以基于coeff_level_greater2_flag[n]确定greater2flag[n]。

视频解码装置100可以将numsigcoeff初始化。此时,numsigcoeff可以指示按照逆方向扫描顺序在当前变换系数之前被扫描的变换系数中有效变换系数的数量。

视频解码装置100可以将n初始化为15,且当n大于或等于0时将n减少1并执行包括在for语句970中的操作,当n小于0时,可以不再执行包括在for语句970中的操作。视频解码装置100可以执行按照逆方向扫描顺序扫描与当前子块中的变换系数有关的信息的操作等。

视频解码装置100可以基于当前子块中的当前变换系数的位置n确定当前变换系数的位置xc和yc。

当当前变换系数的有效变换系数的标志sig_coeff_flag[xc][yc]的值为1时,视频解码装置100可以将对于当前变换系数的标志coeff_abs_level_greater1_flag的值和对于当前变换系数的标志coeff_abs_level_greater2_flag的值之和加上1的值确定为基本级别baselevel。

当numsigcoeff小于8且当前变换系数的位置n是lastgreater1scanpos时,在基本级别baselevel为3的情况下,视频解码装置100可以从比特流获得与当前变换系数n有关的剩余级别值信息coeff_abs_level_remaining[n]。

当numsigcoeff小于8且当前变换系数的位置n是lastgreater1scanpos时,在基本级别baselvel为2的情况下,视频解码装置100可以从比特流获得与当前变换系数n有关的剩余级别值信息coeff_abs_level_remaining[n]。当numsigcoeff大于8且基本级别baselevel为1时,视频解码装置100可以从比特流获得与当前变换系数n有关的剩余级别值信息coeff_abs_level_remaining[n]。

视频解码装置100可以通过将与当前变换系数有关的基本级别和与当前变换系数有关的剩余级别值相加来确定当前块中的当前变换系数的级别值,即transcoefflevel[x0][y0][cidx][xc][yc]。在此,cidx可以是指示颜色分量的索引。

视频解码装置100可以执行包括在循环语句(for语句)中的操作,直至i从0开始增加1并成为小于或等于lastsubblock的值为止。此时,i可以是指示子块的索引。换言之,每当执行包括在循环语句(for语句)975中的语句时,视频解码装置100可以针对一个系数组执行操作。

当对于当前子块i的标志coded_sub_block_flag[xs][ys]为1的情况下,在rsp被应用时(rsp_apply),视频解码装置100可以将n确定为15,且当n大于或等于0时执行for语句980中的操作,并在将n减少1之后,在n大于或等于0时,可以再执行for语句980中的操作。当n小于0时,可以不再执行for语句980中的操作。

视频解码装置100可以确定与当前子块中的当前变换系数的位置n相对应的当前变换系数的水平方向的位置和垂直方向的位置xc和yc。视频解码装置100可以基于xc和yc来确定当前变换系数的位置blkpos。

当当前变换系数的位置blkpos不是rsp_pos时,在隐藏了符号的变换系数的位置hidden_pos的情况下,视频解码装置100可以将当前变换系数的符号确定为所隐藏的变换系数的符号hidden_sign。

否则(当不是隐藏了符号的变换系数的位置hidden_pos时),视频解码装置100可以从比特流获得与当前变换系数的符号有关的信息sign[xc][yc]。

当当前变换系数的位置是rsp_pos时,视频解码装置100可以从比特流获得与当前变换系数的rsp符号有关的信息sign_rsp[xc][yc]。

当rsp不被应用时,视频解码装置100可以将n确定为15,且当n大于0时执行for语句985中的操作,并在将n减少1后,n也大于或等于0时再次执行for语句985中的操作,当n小于0时不在执行for语句985中的操作。

视频解码装置100可以确定与当前子块中的当前变换系数的位置n相对应的当前变换系数的水平方向的位置和垂直方向的位置xc和yc。视频解码装置100可以基于xc和yc来确定当前变换系数的位置blkpos。

当当前变换系数的有效变换系数标志sig_coeff_flag[xc][yc]的值为1,并且表示是否激活隐藏符号数据的标志sign_data_hiding_enabled_flag的值为0、或对于当前子块没有隐藏的符号(!signhidden[i]),或按照正方向扫描顺序当前子块中的当前变换系数的位置不是第一个有效变换系数的位置firstsigscanpos不是0时,视频解码装置100可以从比特流获得当前变换系数的符号信息sign[xc][yc]。

在下文中,将参考图10至图23描述在根据一实施例的视频解码装置100对图像执行解码的过程中可以使用的确定数据单元的方法。视频编码装置150的操作可以类似于在下面描述的视频解码装置100的操作的各种实施例或者与之相反。

图10示出了根据一实施例的由视频解码装置100执行的通过划分当前编码单元来确定至少一个编码单元的过程。

根据一实施例,视频解码装置100可以通过使用块形状信息来确定编码单元的形状,并且可以通过使用划分形状信息来确定编码单元将被划分为何种形状。换言之,由划分形状信息指示的编码单元的划分方法可以根据由视频解码装置100所使用的块形状信息所指示的块形状来确定。

根据一实施例,视频解码装置100可以使用指示当前编码单元为正方形形状的块形状信息。例如,视频解码装置100可以根据划分形状信息来确定是否划分正方形编码单元、是否垂直划分正方形编码单元、是否水平划分正方形编码单元或者是否将正方形编码单元划分为四个编码单元。参考图10,当当前编码单元1000的块形状信息指示正方形形状时,视频解码装置100可以根据指示不执行划分的划分形状信息来确定与当前编码单元1000具有相同尺寸的编码单元1010a不被划分,或者可以基于指示预定划分方法的划分形状信息来确定划分的编码单元1010b、1010c和1010d等。

参考图10,根据一实施例,视频解码装置100可以基于指示在垂直方向上执行划分的划分形状信息来确定通过在垂直方向上划分当前编码单元1000获得的两个编码单元1010b。视频解码装置100可以基于指示在水平方向上执行划分的划分形状信息来确定通过在水平方向上划分当前编码单元1000获得的两个编码单元1010c。视频解码装置100可以基于指示在垂直方向和水平方向上执行划分的划分形状信息来确定通过在垂直方向和水平方向上划分当前编码单元1000获得的四个编码单元1010d。然而,正方形编码单元的划分方法不限于上述划分方法,并且划分形状信息可以指示各种方法。在下文中,将通过各种实施例详细描述划分正方形编码单元的预定划分方法。

图11示出了根据一实施例的由视频解码装置100执行的通过划分非正方形编码单元来确定至少一个编码单元的过程。

根据一实施例,视频解码装置100可以使用指示当前编码单元为非正方形形状的块形状信息。视频解码装置100可以根据划分形状信息确定是否划分非正方形形状的当前编码单元或者是否通过使用预定划分方法来划分非正方形当前编码单元。参考图11,当当前编码单元1100或1150的块形状信息指示非正方形形状时,视频解码装置100可以根据指示不执行划分的划分形状信息来确定与当前编码单元1100或1150具有相同尺寸的编码单元1110或1160不被划分,或者根据指示预定划分方法的划分形状信息来确定划分的编码单元1120a、1120b、1130a、1130b、1130c、1170a、1170b、1180a、1180b和1180c。在下文中,将通过各种实施例详细描述划分非正方形编码单元的预定划分方法。

根据一实施例,视频解码装置100可以使用划分形状信息来确定编码单元被划分的形状,并且在这种情况下,划分形状信息可以指示通过划分编码单元产生的一个或多个编码单元的数量。参考图11,当划分形状信息指示将当前编码单元1100或1150划分为两个编码单元时,视频解码装置100可以通过基于划分形状信息划分当前编码单元1100或1150来确定当前编码单元1100或1150中所包括的两个编码单元1120a和1120b或1170a和1170b。

根据一实施例,当视频解码装置100基于划分形状信息划分非正方形形状的当前编码单元1100或1150时,可以考虑非正方形当前编码单元1100或1150的长边的位置来划分当前编码单元1100或1150。例如,视频解码装置100可以考虑当前编码单元1100或1150的形状而以划分当前编码单元1100或1150的长边的方向来划分前编码单元1100或1150确定多个编码单元。

根据一实施例,当划分形状信息指示将编码单元划分为奇数个块时,视频解码装置100可以确定当前编码单元1100或1150中所包括的奇数个编码单元。例如,当划分形状信息指示将当前编码单元1100或1150划分为三个编码单元时,视频解码装置100可以将当前编码单元1100或1150划分为三个编码单元1130a、1130b、1130c、1180a、1180b和1180c。根据一实施例,视频解码装置100可以确定当前编码单元1100或1150中所包括的奇数个编码单元,并且不是所有所确定的编码单元可以具有相同尺寸。例如,所确定的奇数个编码单元1130a、1130b、1130c、1180a、1180b和1180c中的预定编码单元1130b或1180b的尺寸可以与其他编码单元1130a、1130c、1180a和1180c的尺寸不同。换言之,可以通过划分当前编码单元1100或1150来确定的编码单元可以具有多种尺寸,并且根据情况,奇数个编码单元1130a、1130b、1130c、1180a、1180b和1180c可以具有不同尺寸。

根据一实施例,当划分形状信息指示将编码单元划分为奇数个块时,视频解码装置100可以确定当前编码单元1100或1150中所包括的奇数个编码单元,并且可以对通过划分当前编码单元1100或1150产生的奇数个编码单元中的至少一个编码单元施加预定限制。参考图11,视频解码装置100可以允许编码单元1130b和1180b的解码方法不同于其他编码单元1130a、1130c、1180a和1180c的解码方法,其中,编码单元1130b和1180b位于通过划分当前编码单元1100或1150产生的三个编码单元1130a、1130b和1130c或1180a、1180b和1180c中的中心位置。例如,与其他编码单元1130a、1130c、1180a和1180c不同,视频解码装置100可以限制位于中心位置的编码单元1130b和1180b不再被划分或仅被划分预定次数。

图12示出了根据一实施例的由视频解码装置100执行的基于块形状信息和划分形状信息中的至少一者来划分编码单元的过程。

根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个来确定将正方形第一编码单元1200划分为编码单元或者不进行划分。根据一实施例,当划分形状信息指示在水平方向上划分第一编码单元1200时,视频解码装置100可以通过在水平方向上划分第一编码单元1200来确定第二编码单元1210。根据一实施例,所使用的第一编码单元、第二编码单元和第三编码单元是用于理解在划分编码单元之前和之后的关系的术语。例如,可以通过划分第一编码单元来确定第二编码单元,并且可以通过划分第二编码单元来确定第三编码单元。在下文中,所使用的第一编码单元、第二编码单元和第三编码单元之间的关系遵循以上描述。

根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个来确定是否将所确定的第二编码单元1210划分为编码单元。参考图12,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个来将通过划分第一编码单元1200确定的非正方形第二编码单元1210划分为至少一个第三编码单元1220a、1220b、1220c和1220d,或者对第二编码单元1210不进行划分。视频解码装置100可以获得块形状信息和划分形状信息中的至少一个,并且视频解码装置100基于所获得的块形状信息和划分形状信息中的至少一个划分第一编码单元1200来划分多个不同形状的第二编码单元(例如,1210),并且可以基于块形状信息和划分形状信息中的至少一个通过使用第一编码单元1200的划分方法来划分第二编码单元1210。根据一实施例,当第一编码单元1200基于关于第一编码单元1200的块形状信息和划分形状信息中的至少一个被划分为第二编码单元1210时,第二编码单元1210也可以基于关于第二编码单元1210的块形状信息和划分形状信息中的至少一个被划分为第三编码单元1220a、1220b、1220c和1220d。换言之,编码单元可以基于每个编码单元的块形状信息和划分形状信息中的至少一个被递归划分。因此,可以从非正方形形状编码单元确定正方形编码单元,并且可以通过递归划分正方形形状的编码单元来确定非正方形形状的编码单元。参考图12,可以递归划分通过划分非正方形形状的第二编码单元1210确定的奇数个第三编码单元1220b、1220c和1220d中的预定编码单元(例如,位于中心位置的编码单元或正方形形状的编码单元)。根据一实施例,作为奇数个第三编码单元1220b、1220c和1220d中的一个的正方形形状的第三编码单元1220c可以在水平方向上被划分而划分为多个第四编码单元。多个第四编码单元中的一个的非正方形形状的第四编码单元1240可以再次被划分为多个编码单元。例如,非正方形形状的第四编码单元1240可以再次划分为奇数个编码单元1250a、1250b和1250c。

以下将通过各种实施例描述用于递归划分编码单元的方法。

根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个来确定将第三编码单元1220a、1220b、1220c和1220d中的每一个划分为编码单元或不划分第二编码单元1210。根据一实施例,视频解码装置100可以将非正方形形状的第二编码单元1210划分为奇数个第三编码单元1220b、1220c和1220d。视频解码装置100可以对奇数个第三编码单元1220b、1220c和1220d中的预定第三编码单元施加预定限制。例如,视频解码装置100可以将奇数个第三编码单元1220b、1220c和1220d中的位于中心位置的第三编码单元1220c限制为不再被划分或者被划分可设置的次数。参考图12,视频解码装置100可以将非正方形形状的第二编码单元1210中所包括的奇数个第三编码单元1220b、1220c和1220d中的位于中心位置的第三编码单元1220c限制为不再被划分、划分为预定划分形状(例如,仅划分为四个编码单元或者划分为与第二编码单元1210被划分的形状对应的形状),或者仅被划分预定次数(例如,仅被划分n次(其中n>0))。然而,对位于中心位置处的第三编码单元1220c的上述限制只是单纯的实施例,不应解释为限于上述实施例并且可以包括用于与其他第三编码单元1220b和1220d不同地解码位于中心位置处的第三编码单元1220c的各种限制。

根据一实施例,视频解码装置100可以从当前编码单元中的预定位置获得用于划分当前编码单元的块形状信息和划分形状信息中的至少一个。

图13示出了根据一实施例的用于视频解码装置100从奇数个编码单元中确定预定编码单元的方法。参考图13,当前编码单元1300的块形状信息和划分形状信息中的至少一个可以从当前编码单元1300中所包括的多个样本中的预定位置的样本(例如,中心位置的样本1340)获得。然而,可以获得块形状信息和划分形状信息中的至少一个的当前编码单元1300中的预定位置不应解释为局限于图13中的中心位置,并且可以包括当前编码单元1300中所包括的各种位置(例如,最上端、最下端、左侧、右侧、左侧上端、左侧下端、右侧上端和右侧下端位置等)。视频解码装置100获得可从预定位置获得的块形状信息和划分形状信息中的至少一个,并且确定是否将当前编码单元划分为各种形状和各种尺寸的编码单元或者不进行划分。

根据一实施例,当当前编码单元被划分为预定数量的编码单元时,视频解码装置100可以选择所述编码单元中的一个。用于选择多个编码单元中的一个的方法可以是多种,这样的方法将在后面通过各种实施例进行描述。

根据一实施例,视频解码装置100可以将当前编码单元划分为多个编码单元,并且可以确定预定位置的编码单元。

图13示出了根据一实施例的用于视频解码装置100从奇数个编码单元中确定预定位置的编码单元的方法。

根据一实施例,视频解码装置100可以使用指示奇数个编码单元中的每一个的位置的信息来确定奇数个编码单元中的位于中心位置的编码单元。参考图13,视频解码装置100可以通过划分当前编码单元1300来确定奇数个编码单元1320a、1320b和1320c。视频解码装置100可以通过使用关于奇数个编码单元1320a至1320c的位置的信息来确定位于中心位置的编码单元1320b。例如,视频解码装置100可以通过基于指示编码单元1320a、1320b和1320c中所包括的预定样本的位置的信息确定编码单元1320a、1320b和1320c的位置,来确定中心位置的编码单元1320b。具体而言,视频解码装置100可以通过基于指示编码单元1320a、1320b和1320c的左侧上端样本1330a、1330b和1330c的位置的信息确定编码单元1320a、1320b和1320c的位置,来确定位于中心位置的编码单元1320b。

根据一实施例,指示分别包括在编码单元1320a、1320b和1320c中的左侧上端样本1330a、1330b和1330c的位置的信息可以包括关于画面中的编码单元1320a、1320b和1320c的位置或坐标的信息。根据一实施例,指示分别包括在编码单元1320a、1320b和1320c中的左侧上端样本1330a、1330b和1330c的位置的信息可以包括指示包括在当前编码单元1300中的编码单元1320a、1320b和1320c的宽度或高度的信息,并且这种宽度或高度可以对应于指示画面中的编码单元1320a、1320b和1320c的坐标之间的差值的信息。换言之,视频解码装置100可以通过直接使用关于画面中的编码单元1320a、1320b和1320c的位置或坐标的信息或者通过使用关于与坐标之间的差值相对应的编码单元的宽度或高度的信息,来确定位于中心位置的编码单元1320b。

根据一实施例,指示上端编码单元1320a的左侧上端样本1330a的位置的信息可以包括坐标(xa,ya),指示中间编码单元1320b的左侧上端样本1330b的位置的信息可以包括坐标(xb,yb),并且指示下端编码单元1320c的左侧上端样本1330c的位置的信息可以包括坐标(xc,yc)。视频解码装置100可以通过使用分别包括在编码单元1320a、1320b和1320c中的左侧上端样本1330a、1330b和1330c的坐标来确定中间编码单元1320b。例如,当左侧上端样本1330a、1330b和1330c的坐标以升序或降序排列时,包括位于中心位置的样本1330b的坐标(xb,yb)的编码单元1320b可以被确定为通过划分当前编码单元1300确定的编码单元1320a、1320b和1320c中的位于中心位置的编码单元。然而,指示左侧上端样本1330a、1330b和1330c的位置的坐标可以包括指示画面中的绝对位置的坐标,或者可以使用以上端编码单元1320a的左侧上端样本1330a的位置为基准指示中间编码单元1320b的左侧上端样本1330b的相对位置的坐标(dxb,dyb)和指示下端编码单元1320c的左侧上端样本1330c的相对位置的坐标(dxc,dyc)。另外,通过作为指示编码单元中所包括的样本的位置的信息而使用相应样本的坐标,来确定位于预定位置的编码单元的方法不应解释为局限于上述方法,而应解释为包括能够使用样本坐标的各种算术方法。

根据一实施例,视频解码装置100可以将当前编码单元1300划分为多个编码单元1320a、1320b和1320c,并且可以基于预定标准选择编码单元1320a、1320b和1320c中的编码单元。例如,视频解码装置100可以从编码单元1320a、1320b和1320c中选择尺寸不同的编码单元1320b。

根据一实施例,视频解码装置100可以通过使用指示上端编码单元1320a的左侧上端样本1330a位置的坐标(xa,ya)、指示中间编码单元1320b的左侧上端样本1330b位置的坐标(xb,yb)和指示下端编码单元1320c的左侧上端样本1330c位置的坐标(xc,yc)来确定编码单元1320a、1320b和1320c中的每一个的宽度或高度。视频解码装置100可以通过使用指示编码单元1320a、1320b和1320c的位置的坐标(xa,ya)、(xb,yb)和(xc,yc)来确定编码单元1320a、1320b和1320c中的每一个的尺寸。

根据一实施例,视频解码装置100可以将上端编码单元1320a的宽度确定为xb-xa,并且将其高度确定为yb-ya。根据一实施例,视频解码装置100可以将中间编码单元1320b的宽度确定为xc-xb,并且将其高度确定为yc-yb。根据一实施例,视频解码装置100可以通过使用当前编码单元的宽度或高度和上端编码单元1320a以及中间编码单元1320b的宽度或高度来确定下端编码单元的宽度或高度。视频解码装置100可以基于所确定的编码单元1320a、1320b和1320c的宽度和高度来确定尺寸不同于其他编码单元的编码单元。参考图13,视频解码装置100可以将尺寸不同于上端编码单元1320a和下端编码单元1320b的尺寸的中间编码单元1320b确定为预定位置的编码单元。然而,由视频解码装置100执行的确定尺寸不同于其他编码单元的编码单元的过程仅对应于通过使用基于样本坐标确定的编码单元尺寸来确定预定位置的编码单元的一实施例,并且因此可以使用通过比较根据预定样本的坐标确定的编码单元的尺寸来确定位于预定位置的编码单元的各种方法。

然而,为了确定编码单元的位置而考虑的样本位置不应解释为限于上述左侧上端,并且可以使用关于编码单元中所包括的样本的任意位置的信息。

根据一实施例,视频解码装置100可以考虑当前编码单元的形状而选择通过划分当前编码单元确定的奇数个编码单元中的位于预定位置的编码单元。例如,当当前编码单元具有宽度长于高度的非正方形形状时,视频解码装置100可以确定在水平方向上的预定位置的编码单元。换言之,视频解码装置100可以确定在水平方向上具有不同位置的编码单元中的一个,并且对所述编码单元施加限制。当当前编码单元具有高度长于宽度的非正方形形状时,视频解码装置100可以确定在垂直方向上的预定位置的编码单元。换言之,视频解码装置100可以确定在垂直方向上具有不同位置的编码单元中的一个,并且可以对所述编码单元施加限制。

根据一实施例,视频解码装置100可以使用指示偶数个编码单元中的每一个的相应位置的信息来确定偶数个编码单元中的预定位置的编码单元。视频解码装置100可以通过划分当前编码单元来确定偶数个编码单元,并且可以通过使用关于偶数个编码单元的位置的信息来确定预定位置的编码单元。与其相关的具体过程可以对应于确定奇数个编码单元中的预定位置(例如,中心位置)的编码单元的过程,这已经在上述图13中进行了详细描述,因此将省略其详细描述。

根据一实施例,当非正方形形状的当前编码单元被划分为多个编码单元时,为了确定多个编码单元中的预定位置的编码单元,可以在划分过程中使用关于预定位置的编码单元的预定信息可以使用以从。例如,视频解码装置100可以在划分过程中使用存储于包括在位于中心位置的编码单元中的样本中的块形状信息和划分形状信息中的至少一个来从通过划分当前编码单元确定的多个编码单元中确定位于中心位置的编码单元。

参考图13,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个将当前编码单元1300划分为多个编码单元1320a、1320b和1320c,并且可以确定多个编码单元1320a、1320b和1320c中的位于中心位置的编码单元1320b。此外,视频解码装置100可以考虑获得块形状信息和划分形状信息中的至少一个的位置,而确定位于中心位置的编码单元1320b。换言之,当前编码单元1300的块形状信息和划分形状信息中的至少一个可以从当前编码单元1300的位于中心位置的样本1340获得,并且当当前编码单元1300基于块形状信息和划分形状信息中的至少一个被划分为多个编码单元1320a、1320b和1320c时,包括样本1340的编码单元1320b可以被确定为位于中心位置的编码单元。然而,用于确定位于中心位置的编码单元的信息不应解释为局限于块形状信息和划分形状信息中的至少一个,并且各种类型的信息可以用于确定位于中心位置的编码单元。

根据一实施例,用于识别位于预定位置的编码单元的预定信息可以从包括在待确定的编码单元中的预定样本获得。参考图13,视频解码装置100可以使用从当前编码单元1300中的预定位置的样本(例如,当前编码单元1300的位于中心位置的样本)获得的块形状信息和划分形状信息中的至少一个来确定通过划分当前编码单元1300确定的多个编码单元1320a、1320b和1320c中的预定位置的编码单元(例如,划分为多个的编码单元中的位于中心位置的编码单元)。换言之,视频解码装置100可以通过考虑当前编码单元1300的块形状来确定位于所述预定位置的样本,视频解码装置100确定划分当前编码单元1300确定的多个编码单元1320a、1320b和1320c中包括可获得预定信息(例如,块形状信息和划分形状信息中的至少一个)的样本的编码单元1320b,并且可以对其施加预定限制。参考图13,根据一实施例,视频解码装置100可以将当前编码单元1300的位于中心位置的样本1340确定为可获得预定信息的样本,并且视频解码装置100可以在解码过程中对包括样本1340的编码单元1320b施加预定限制。然而,可获得预定信息的样本的位置不应解释为局限于上述位置,并且可以解释为欲施加限制而确定的编码单元1320b中所包括的任意位置的样本。

根据一实施例,可以根据当前编码单元1300的形状来确定可获得预定信息的样本的位置。根据一实施例,块形状信息可以指示当前编码单元是正方形形状还是非正方形形状,并且可以根据形状来确定可获得预定信息的样本的位置。例如,视频解码装置100可以通过使用关于当前编码单元的宽度的信息和关于高度的信息中的至少一个来将位于用于将当前编码单元的宽度和高度中的至少一个对半分的边界上的样本确定为可获得预定信息的样本。作为另一示例,当当前编码单元的块形状信息指示非正方形形状时,视频解码装置100可以将与用于将当前编码单元的长边对半分的边界邻近的样本之一确定为可获得预定信息的样本。

根据一实施例,当当前编码单元被划分为多个编码单元时,视频解码装置100可以使用块形状信息和划分形状信息中的至少一个来确定多个编码单元中的预定位置的编码单元。根据一实施例,视频解码装置100可以从编码单元中包括的预定位置的样本获得块形状信息和划分形状信息中的至少一个,并且视频解码装置100通过使用从多个编码单元中的每一个中的预定位置的样本获得的划分形状信息和块形状信息中的至少一个来划分通过划分当前编码单元产生的多个编码单元。换言之,可以使用从每个编码单元中包括的预定位置的样本获得的块形状信息和划分形状信息中的至少一个来递归划分编码单元。在上文中已经通过图12描述了递归划分编码单元的过程,因此将省略其详细描述。

根据一实施例,视频解码装置100可以通过划分当前编码单元来确定一个或多个编码单元,并且可以基于预定块(例如,当前编码单元)来确定解码一个或多个编码单元的顺序。

图14示出了根据一实施例的当视频解码装置100通过划分当前编码单元来确定多个编码单元时处理多个编码单元的顺序。

根据一实施例,视频解码装置100可以根据块形状信息和划分形状信息,通过在垂直方向上划分第一编码单元1400来确定第二编码单元1410a和1410b,通过在水平方向上划分第一编码单元1400来确定第二编码单元1430a和1430b,或者通过在垂直方向和水平方向上划分第一编码单元1400来确定第二编码单元1450a至1450d。

参考图14,视频解码装置100可以将顺序确定为按照水平方向1410c处理第二编码单元1410a和1410b,所述第二编码单元1410a和1410b是通过在垂直方向上划分第一编码单元1400来确定的。视频解码装置100可以将顺序确定为按照垂直方向1430c处理第二编码单元1430a和1430b,所述第二编码单元1430a和1430b是通过在水平方向上划分第一编码单元1400来确定的。视频解码装置100可以确定以用于处理一行中的编码单元之后处理下一行中的编码单元的预定顺序(例如,以栅格扫描顺序(rasterscanorder)或z扫描顺序(zscanorder)1450e)处理第二编码单元1450a、1450b、1450c、1450d,所述第二编码单元1450a、1450b、1450c、1450d是通过在垂直方向和水平方向上划分第一编码单元1400来确定的。

根据一实施例,视频解码装置100可以递归划分编码单元。参考图14,视频解码装置100可以通过划分第一编码单元1400来确定多个编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d,并且可以递归划分所确定的多个编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d中的每一个。多个编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d的划分方法可以对应于第一编码单元1400的划分方法。据此,多个编码单元1410a、1410b、1430a、1430b、1450a、1450b、1450c和1450d中的每一个可以独立地划分为多个编码单元。参考图14,视频解码装置100可以通过在垂直方向上划分第一编码单元1400来确定第二编码单元1410a和1410b,并且可以单独地确定划分或不划分第二编码单元1410a和1410b中的每一个。

根据一实施例,视频解码装置100可以在水平方向上划分左侧第二编码单元1410a来确定第三编码单元1420a和1420b,并且可以不划分右侧第二编码单元1410b。

根据一实施例,编码单元的处理顺序可以基于编码单元的划分过程来确定。换言之,可以基于划分之前的编码单元的处理顺序来确定经划分的编码单元的处理顺序。视频解码装置100可以独立于右侧第二编码单元1410b而确定通过划分左侧第二编码单元1410a确定的第三编码单元1420a和1420b的处理顺序。因为第三编码单元1420a和1420b是通过在水平方向上划分左侧第二编码单元1410a来确定的,所以第三编码单元1420a和1420b可以按照垂直方向1420c处理。另外,因为左侧第二编码单元1410a和右侧第二编码单元1410b被处理的顺序对应于水平方向1410c,所以在包括于左侧第二编码单元1410a中的第三编码单元1420a和1420b按照垂直方向1420c被处理之后,右侧第二编码单元1410b可以被处理。上述内容是为了说明各个编码单元基于被划分之前的编码单元确定处理顺序的过程的,并且应解释为不局限与上述实施例,而应解释为可以使用各种方法来以预定顺序独立地处理被划分并确定为各种形状的编码单元。

图15示出了根据一实施例的视频解码装置100在编码单元不能按照预定顺序处理时确定当前编码单元将被划分为奇数个编码单元的过程。

根据一实施例,视频解码装置100可以基于所获得的块形状信息和划分形状信息来确定当前编码单元是否将被划分为奇数个编码单元。参考图15,正方形形状的第一编码单元1500可以被划分为非正方形形状的第二编码单元1510a和1510b,并且第二编码单元1510a和1510b可以被独立地划分为第三编码单元1520a和1520b以及1520c、150d和1520e。根据一实施例,视频解码装置100可以通过在水平方向上划分左侧第二编码单元1510a来确定多个第三编码单元1520a和1520b,并且可以将右侧第二编码单元1510b划分为奇数个第三编码单元1520c、150d和1520e。

根据一实施例,视频解码装置100可以通过确定第三编码单元1520a和1520b以及1520c、150d和1520e是否能按照预定顺序处理来确定是否存在划分为奇数个的编码单元。参考图15,视频解码装置100可以通过递归划分第一编码单元1500来确定第三编码单元1520a和1520b以及1520c、1520d和1520e。视频解码装置100可以基于块形状信息和划分形状信息中的至少一个来确定第一编码单元1500、第二编码单元1510a和1510b以及第三编码单元1520a和1520b以及1520c、1520d和1520e将被划分的形状是否划分为奇数个编码单元。例如,第二编码单元1510a、1510b中位于右侧的编码单元可以被划分为奇数个第三编码单元1520c、1520d和1520e。第一编码单元1500中所包括的多个编码单元被处理的顺序可以是预定顺序(例如,z扫描顺序1530),并且视频解码装置100可以确定通过将右侧第二编码单元1510b划分为奇数个编码单元来确定的第三编码单元1520c、1520d和1520e是否满足用于按照所述预定顺序进行处理的条件。

根据一实施例,视频解码装置100可以确定第一编码单元1500中所包括的第三编码单元1520a和1520b以及1520c、1520d和1520e是否满足用于以预定顺序进行处理的条件,并且所述条件涉及第二编码单元1510a和1510b的宽度和高度中的至少一个是否沿着第三编码单元1520a和1520b以及1520c、1520d和1520e的边界对半划分。例如,通过将非正方形形状的左侧第二编码单元1510a的高度对半划分来确定的第三编码单元1520a和1520b满足所述条件,然而,因为通过将右侧第二编码单元1510b划分为三个编码单元来确定的第三编码单元1520c、1520d和1520e的边界没有将右侧第二编码单元1510b的宽度或高度对半划分,所以可以确定第三编码单元1520c、1520d和1520e不满足所述条件,并且当不满足所述条件时,视频解码装置100可以确定扫面顺序的不连续(disconnection),并且基于所述确定的结果,确定右侧第二编码单元1510b被划分为奇数个编码单元。根据一实施例,当编码单元被划分为奇数个编码单元时,视频解码装置100可以对所划分的编码单元中的位于预定位置的编码单元施加预定限制,上面已经通过各种实施例描述了限制或预定位置等,因此将省略其详细描述。

图16示出了根据一实施例的视频解码装置100划分第一编码单元1600来确定至少一个编码单元的过程。根据一实施例,视频解码装置100可以基于由获得部110获得的块形状信息和划分形状信息中的至少一个来划分第一编码单元1600。正方形形状的第一编码单元1600可以被划分为四个具有正方形形状的编码单元,或者可以被划分为多个非正方形形状的编码单元。例如,参考图16,当块形状信息指示第一编码单元1600为正方形形状并且划分形状信息指示将被划分为非正方形形状的编码单元时,视频解码装置100可以将第一编码单元1600划分为多个非正方形形状的编码单元。具体而言,当划分形状信息指示通过在水平方向或垂直方向上划分第一编码单元1600来确定奇数个编码单元时,视频解码装置100可以将正方形形状的第一编码单元1600划分为奇数个编码单元,例如,通过在垂直方向上划分而成的第二编码单元1610a、1610b和1610c,或者通过在水平方向上划分而成的第二编码单元1620a、1620b和1620c。

根据一实施例,视频解码装置100可以确定第一编码单元1600中所包括的第二编码单元1610a、1610b、1610c、1620a、1620b和1620c是否满足用于按照预定顺序进行处理的条件,并且所述条件涉及第一编码单元1600的宽度和高度中的至少一个是否沿着第二编码单元1610a、1610b、1610c、1620a、1620b和1620c的边界对半划分。参考图16,因为通过在垂直方向上划分正方形第一编码单元1600来确定的第二编码单元1610a、1610b和1610c的边界没有将第一编码单元1600的宽度对半划分,所以可以确定第一编码单元1600不满足用于按照预定顺序进行处理的条件。此外,因为通过在水平方向上划分正方形第一编码单元1600来确定的第二编码单元1620a、1620b和1620c的边界没有将第一编码单元1600的宽度对半划分,所以可以确定第一编码单元1600不满足用于按照预定顺序进行处理的条件。当不满足所述条件时,视频解码装置100可以确定扫描顺序的不连续(disconnection),并且可以基于所述确定的结果确定第一编码单元1600被划分为奇数个编码单元。根据一实施例,当被划分为奇数个编码单元时,视频解码装置100可以对所划分的编码单元中的预定位置的编码单元施加预定限制,上面已经通过各种实施例描述了限制或预定位置等,因此将省略其详细描述。

根据一实施例,视频解码装置100可以通过划分第一编码单元来确定各种形状的编码单元。

参考图16,视频解码装置100可以将正方形形状的第一编码单元1600或非正方形形状的第一编码单元1630或1650划分为各种形状的编码单元。

图17示出了根据一实施例的当视频解码装置100划分第一编码单元1700而确定的非正方形形状第二编码单元满足预定条件时第二编码单元能够被划分的形状受到限制。

根据一实施例,视频解码装置100可以基于由获得部105获得的块形状信息和划分形状信息中的至少一个来确定将正方形形状的第一编码单元1700划分为非正方形形状的第二编码单元1710a、1710b、1720a和1720b。第二编码单元1710a、1710b、1720a和1720b可以被独立地划分。据此,视频解码装置100可以基于第二编码单元1710a、1710b、1720a和1720b中的每一个的块形状信息和划分形状信息中的至少一个来确定将被划分为多个编码单元或者不进行划分。根据一实施例,视频解码装置100可以通过在水平方向上划分非正方形形状的左侧第二编码单元1710a来确定第三编码单元1712a和1712b,所述非正方形形状的左侧第二编码单元1710a是通过在垂直方向上划分第一编码单元1700确定的。只是,当左侧第二编码单元1710a在水平方向上被划分时,视频解码装置100可以施加限制,使得右侧第二编码单元1710b不能在左侧第二编码单元1710a被划分方向相同的的水平方向上被划分。当通过沿相同方向划分右侧第二编码单元1710b来确定第三编码单元1714a和1714b时,左侧第二编码单元1710a和右侧第二编码单元1710b可以分别在水平方向上被独立地划分而确定第三编码单元1712a、1712b、1714a和1714b。然而,这与视频解码装置100基于块形状信息和划分形状信息中的至少一个将第一编码单元1700划分为四个正方形形状的第二编码单元1730a、1730b、1730c和1730d相同的结果,并且在图像解码方面可能是低效的。

根据一实施例,视频解码装置100可以通过在垂直方向上划分非正方形形状的第二编码单元1720a或1720b来确定第三编码单元1722a、1722b、1724a和1724b,所述非正方形形状的第二编码单元1720a或1720b是通过在水平方向上划分第一编码单元1700来确定的。只是,当第二编码单元中的一个(例如,上端第二编码单元1720a)在垂直方向上进行划分时,视频解码装置100可以因上述原因而设置限制,使得另一个第二编码单元(例如,下端第二编码单元1720b)不能在划分上端第二编码单元1720a的方向相同的垂直方向上被划分。

图18示出了根据一实施例的当划分形状信息不指示被划分为四个正方形形状的编码单元时视频解码装置100划分正方形形状的编码单元的过程。

根据一实施例,视频解码装置100可以基于块形状信息和划分形状信息中的至少一个划分第一编码单元1800来确定第二编码单元1810a、1810b、1820a、1820b等。划分形状信息可以包括关于编码单元可被划分的各种形状方法的信息,但是关于各种形状的信息可以不包括用于划分为四个正方形形状的编码单元的信息。根据此类划分形状信息,视频解码装置100不能将正方形形状的第一编码单元1800划分为四个正方形形状的第二编码单元1830a、1830b、1830c和1830d。视频解码装置100可以基于划分形状信息确定非正方形形状的第二编码单元1810a、1810b、1820a、1820b等。

根据一实施例,视频解码装置100可以独立地划分非正方形形状的第二编码单元1810a、1810b、1820a、1820b等。第二编码单元1810a、1810b、1820a、1820b等中的每一个可以按照预定顺序递归地划分,并且这种划分方法可以对应于基于块形状信息和划分形状信息中的至少一个划分第一编码单元1800的方法。

例如,视频解码装置100可以通过在水平方向上划分左侧第二编码单元1810a来确定正方形形状的第三编码单元1812a和1812b,并且可以通过在水平方向上划分右侧第二编码单元1810b来确定正方形形状的第三编码单元1814a和1814b。此外,视频解码装置100可以通过在水平方向上划分左侧第二编码单元1810a和右侧第二编码单元1810b两者来确定正方形形状的第三编码单元1816a、1816b、1816c和1816d。在这种情况下,可以确定与第一编码单元1800被划分为的四个正方形形状的第二编码单元1830a、1830b、1830c和1830d相同形状的编码单元。

作为另一个示例,视频解码装置100可以通过在垂直方向上划分上端第二编码单元1820a来确定正方形形状的第三编码单元1822a和1822b,并且可以通过在垂直方向上划分下端第二编码单元1820b来确定正方形形状的第三编码单元1824a和1824b。此外,视频解码装置100可以通过在垂直方向上划分上端第二编码单元1820a和下部第二编码单元1820b两者来确定正方形形状的第三编码单元1822a、1822b、1824a和1824b。在这种情况下,可以确定与第一编码单元1800被划分为的四个正方形形状的第二编码单元1830a、1830b、1830c和1830d相同形状的编码单元。

图19示出了根据一实施例的多个编码单元之间的处理顺序可以根据划分编码单元的过程而改变。

根据一实施例,视频解码装置100以基于块形状信息和划分形状信息划分第一编码单元1900。当块形状信息指示正方形形状并且划分形状信息指示在水平方向和垂直方向中的至少一个上划分第一编码单元1900时,视频解码装置100可以通过划分第一编码单元1900来确定第二编码单元1910a、1910b、1920a、1920b、1930a、1930b、1930c和1930d等。参考图19,通过仅在水平方向或垂直方向上划分第一编码单元1900来确定的非正方形形状的第二编码单元1910a、1910b、1920a和1920b可以基于每个编码单元的块形状信息和划分形状信息而被独立地划分。例如,视频解码装置100可以通过在水平方向上划分通过在垂直方向上划分第一编码单元1900产生的第二编码单元1910a和1910b,来确定第三编码单元1916a、1916b、1916c和1916d,并且可以通过在垂直方向上划分通过在水平方向上划分第一编码单元1900产生的第二编码单元1920a和1920b,来确定第三编码单元1926a、1926b、1926c和1926d。上面已经通过图17描述了划分第二编码单元1910a、1910b、1920a和1920b的过程,因此将省略其详细描述。

根据一实施例,视频解码装置100可以按照预定顺序处理编码单元。上文中已经通过图14描述了按照预定顺序处理编码单元的特征,因此省略其详细描述。参考图19,视频解码装置100可以通过划分正方形形状的第一编码单元1900来确定四个正方形形状的第三编码单元1916a、1916b、1916c和1916d以及1926a、1926b、1926c和1926d。根据一实施例,视频解码装置100可以根据第一编码单元1900被划分的形状来确定第三编码单元1916a、1916b、1916c和1916d以及1926a、1926b、1926c和1926d的处理顺序。

根据一实施例,视频解码装置100可以通过在水平方向上划分通过在垂直方向上划分第一编码单元1900产生的第二编码单元1910a和1910b,来确定第三编码单元1916a、1916b、1916c和1916d,并且视频解码装置100可以按照首先在垂直方向上处理左侧第二编码单元1910a中所包括的第三编码单元1916a和1916c,然后在垂直方向上处理右侧第二编码单元1910b中所包括的第三编码单元1916b和1916d的顺序1917,处理第三编码单元1916a、1916b、1916c和1916d。

根据一实施例,视频解码装置100可以通过在垂直方向上划分通过在水平方向上划分第一编码单元1900产生的第二编码单元1920a和1920b,来确定第三编码单元1926a、1926b、1926c和1926d,并且视频解码装置100可以按照首先在水平方向上处理上端第二编码单元1920a中所包括的第三编码单元1926a和1926b,然后在水平方向上处理下端第二编码单元1920b中所包括的第三编码单元1926c和1926d的顺序1927,来处理第三编码单元1926a、1926b、1926c和1926d。

参考图19,正方形形状的第三编码单元1916a、1916b、1916c和1916d以及1926a、1926b、1926c和1926d可以分别通过划分第二编码单元1910a、1910b、1920a和1920b来确定。虽然在垂直方向上划分而确定的第二编码单元1910a和1910b和在水平方向上划分而确定的第二编码单元1920a和1920b是彼此不同的形状,但是根据之后确定的第三编码单元1916a、1916b、1916c和1916d以及1926a、1926b、1926c和1926d,结果是第一编码单元1900划分成相同形状的编码单元的划分结果。据此,视频解码装置100基于块形状信息和划分形状信息中的至少一个以不同方式递归划分编码单元,即使在结果上确定了相同形状的编码单元,确定为相同形状的多个编码单元可以按不同顺序被处理。

图20示出了根据一实施例的当编码单元被递归划分而确定多个编码单元时随着编码单元的形状和尺寸的改变来确定编码单元的深度的过程。

根据一实施例,视频解码装置100可以基于预定标准来确定编码单元的深度。例如,预定标准可以是编码单元的长边的长度。当编码单元的长边的长度被划分为划分之前的当前编码单元的长边长度的2n倍(n>0)时,视频解码装置100可以确定当前编码单元的深度比划分之前的编码单元的深度增加了n。在以下描述中,具有增加深度的编码单元被表达为更深深度的编码单元。

参考图20,根据一实施例,视频解码装置100可以基于指示正方形形状的块形状信息(例如,块形状信息可以表达为“0:square”)划分正方形形状的第一编码单元2000来确定下位深度的第二编码单元2002和第三编码单元2004。假设正方形第一编码单元2000的尺寸是2n×2n,则通过将第一编码单元2000的宽度和高度划分为1/21来确定的第二编码单元2002可以具有n×n的尺寸。此外,通过将第二编码单元2002的宽度和高度划分为1/2来确定的第三编码单元2004可以具有n/2×n/2的尺寸。在这种情况下,第三编码单元2004的宽度和高度是第一编码单元2000的宽度和高度的1/22倍。当第一编码单元2000的深度是d时,宽度和高度是第一编码单元2000的宽度和高度的1/21倍的第二编码单元2002的深度可以是d+1,并且宽度和高度是第一编码单元2000的宽度和高度的1/22倍的第三编码单元2004的深度可以是d+2。

根据一实施例,视频解码装置100可以通过基于指示非正方形形状的块形状信息(例如,块形状信息可以表达为指示高度长于宽度的非正方形形状的“1:ns_ver”,或者指示宽度长于高度的非正方形形状的“2:ns_hor”)划分非正方形形状的第一编码单元2010或2020来确定下位深度的第二编码单元2012或2022和第三编码单元2014或2024。

视频解码装置100可以通过划分尺寸为n×2n的第一编码单元2010的宽度和高度中的至少一个来确定第二编码单元2002、2012和2022等。换言之,视频解码装置100可以通过在水平方向上划分第一编码单元2010来确定尺寸为n×n的第二编码单元2002或尺寸为n×n/2的第二编码单元2022,或可以通过在水平方向和垂直方向上划分第一编码单元2010来确定尺寸为n/2×n的第二编码单元2012。

根据一实施例,视频解码装置100可以通过划分尺寸为2n×n的第一编码单元2020的宽度和高度中的至少一个来确定第二编码单元2002、2012和2022等。换言之,视频解码装置100可以通过在垂直方向上划分第一编码单元2020来确定尺寸为n×n的第二编码单元2002或尺寸为n/2×n的第二编码单元2012,或可以通过在水平方向和垂直方向上划分第一编码单元2020来确定尺寸为n×n/2的第二编码单元2022。

根据一实施例,视频解码装置100可以通过划分尺寸为n×n的第二编码单元2002的宽度和高度中的至少一个来确定第三编码单元2004、2014和2024等。换言之,视频解码装置100以通过在垂直方向和水平方向上划分第二编码单元2002来确定尺寸为n/2×n/2的第三编码单元2004、尺寸为n/22×n/2的第三编码单元2014或尺寸为n/2×n/22的第三编码单元2024。

根据一实施例,视频解码装置100可以通过划分尺寸为n/2×n的第二编码单元2012的宽度和高度中的至少一个来确定第三编码单元2004、2014和2024等。换言之,视频解码装置100可以通过在水平方向上划分第二编码单元2012来确定尺寸为n/2×n/2的第三编码单元2004或尺寸为n/2×n/22的第三编码单元2024,或者可以通过在垂直方向和水平方向上划分第二编码单元2012来确定尺寸为n/22×n/2的第三编码单元2014。

根据一实施例,视频解码装置100可以通过划分尺寸为n×n/2的第二编码单元2022的宽度和高度中的至少一个来确定第三编码单元2004、2014和2024等。换言之,视频解码装置100可以通过在垂直方向上划分第二编码单元2022来确定尺寸为n/2×n/2的第三编码单元2004或尺寸为n/22×n/2的第三编码单元2014,或者可以通过在垂直方向和水平方向上划分第二编码单元2022来确定尺寸为n/2×n/22的第三编码单元2024。

根据一实施例,视频解码装置100可以在水平方向或垂直方向上划分正方形编码单元2000、2002和2004。例如,视频解码装置100可以通过在垂直方向上划分尺寸为2n×2n的第一编码单元2000来确定尺寸为n×2n的第一编码单元2010,或者可以通过在水平方向上划分第一编码单元2000来确定尺寸为2n×n的第一编码单元2020。根据一实施例,基于编码单元的最长边的长度确定深度时,通过在水平方向或垂直方向上划分尺寸为2n×2n的第一编码单元2000、2002,或2004来确定的编码单元的深度可以与第一编码单元2000、2002,或2004的深度相同。

根据一实施例,第三编码单元2014或2024的宽度和高度可以是第一编码单元2010或2020的宽度和高度的1/22倍。当第一编码单元2010或2020的深度是d时,宽度和高度是第一编码单元2010或2020的宽度和高度的1/2倍的第二编码单元2012或2014的深度可以是d+1,并且宽度和高度是第一编码单元2010或2020的宽度和高度的1/22倍的第三编码单元2014或2024的深度可以是d+2。

图21示出了根据一实施例的能够基于编码单元的形状和尺寸确定的深度以及用于区分编码单元的部分索引(partindex,以下称为pid)。

根据一实施例,视频解码装置100可以通过划分正方形形状的第一编码单元2100来确定各种形状的第二编码单元。参考图21,视频解码装置100可以通过根据划分形状信息在垂直方向和水平方向中的至少一个上划分第一编码单元2100来确定第二编码单元2102a和2102b、2104a和2104b以及2106a、2106b、2106c和2106d。换言之,视频解码装置100可以基于第一编码单元2100的划分形状信息来确定第二编码单元2102a和2102b、2104a和2104b以及2106a、2106b、2106c和2106d。

根据一实施例,根据正方形第一编码单元2100的划分形状信息而确定的第二编码单元2102a和2102b、2104a和2104b以及2106a、2106b、2106c和2106d的深度可以基于其长边的长度来确定。例如,正方形形状的第一编码单元2100的一个边的长度等于非正方形形状的第二编码单元2102a和2102b以及2104a和2104b的长边的长度,所以第一编码单元2100和非正方形形状的第二编码单元2102a和2102b以及2104a和2104b可以具有相同深度d。然而,当视频解码装置100基于划分形状信息将第一编码单元2100划分为四个正方形形状的第二编码单元2106a、2106b、2106c和2106d时,因为正方形形状的第二编码单元2106a、2106b、2106c和2106d的一个边的长度是第一编码单元2100的一个边的长度的1/2倍,所以第二编码单元2106a、2106b、2106c和2106d的深度可以是比第一编码单元2100的深度d深1个深度的d+1。

根据一实施例,视频解码装置100可以根据划分形状信息在水平方向上划分高度长于宽度的第一编码单元2110来划分出多个第二编码单元2112a和2112b以及2114a、2114b和2114c。根据一实施例,视频解码装置100可以根据划分形状信息在垂直方向上划分宽度长于高度的第一编码单元2120来划分出多个第二编码单元2122a和2122b以及2124a、2124b和2124c。

根据一实施例,根据非正方形第一编码单元2110或2120的划分形状信息确定的第二编码单元2112a和2112b、2114a、2114b和2114c、2122a和2122b、2124a、2124b和2124c的深度可以基于长边的长度来确定。例如,因为正方形第二编码单元2112a和2112b的一个边的长度是高度长于宽度的非正方形形状的第一编码单元2110的一个边的长度的1/2倍,所以正方形形状的第二编码单元2102a、2102b、2104a和2104b的深度是比非正方形形状的第一编码单元2110的深度d深1个深度的d+1。

此外,视频解码装置100可以基于划分形状信息将非正方形形状的第一编码单元2110划分为奇数个第二编码单元2114a、2114b和2114c。奇数个第二编码单元2114a、2114b和2114c可以包括非正方形形状的第二编码单元2114a和2114c以及正方形形状的第二编码单元2114b。在这种情况下,因为非正方形形状的第二编码单元2114a和2114c的长边的长度和正方形形状的第二编码单元2114b的一个边的长度是第一编码单元2110的一个边的长度的1/2倍,所以第二编码单元2114a、2114b和2114c的深度可以是比第一编码单元2110的深度d深1个深度的d+1。视频解码装置100可以按与确定与第一编码单元2110相关的编码单元的深度的方式相对应的范式,来确定与宽度长于高度的非正方形形状的第一编码单元2120的编码单元的深度。

根据一实施例,当划分为奇数个的编码单元的尺寸彼此不同时,视频解码装置100可以基于编码单元之间的尺寸比率来确定用于区分划分成的编码单元的pid。参考图21,划分为奇数个的编码单元2114a、2114b和2114c中的中心位置的编码单元2114b可以具有与其他编码单元2114a和2114c的宽度相等的宽度以及其他编码单元2114a和2114c的高度的两倍的高度。换言之,在这种情况下,位于中心位置的编码单元2114b可以包括两个其他编码单元2114a和2114c。因此,当位于中心位置的编码单元2114b的pid根据扫描顺序为1时,位于编码单元2114b下一顺序的编码单元2114c的索引可以增加了2的3。换言之,可以存在索引值的不连续性。根据一实施例,视频解码装置100可以基于用于区分划分的编码单元的pid是否存在不连续性来确定划分为奇数个的编码单元是否不具有相等尺寸。

根据一实施例,视频解码装置100可以基于用于区分通过划分当前编码单元确定的多个编码单元的索引的值,来确定是否划分成特定划分形状。参考图21,视频解码装置100可以通过划分具有高度长于宽度的长方形形状的第一编码单元2110来确定偶数个编码单元2112a和2112b或者奇数个编码单元2114a、2114b和2114c。视频解码装置100可以使用指示每个编码单元的pid来区分多个编码单元的每一个。根据一实施例,可以从每个编码单元的预定位置的样本(例如,左侧上端样本)获得pid。

根据一实施例,视频解码装置100可以通过使用用于区分编码单元的索引来确定划分而编码单元中的预定位置的编码单元。根据一实施例,当高度长于宽度的长方形形状的第一编码单元2110的划分形状信息指示将被划分为三个编码单元时,视频解码装置100可以将第一编码单元2110划分为三个编码单元2114a、2114b和2114c。视频解码装置100可以向三个编码单元2114a、2114b和2114c中的每一个分配索引。视频解码装置100可以为了确定划分为奇数个的编码单元中的中心位置的编码单元,而比较每个编码单元的索引。视频解码装置100可以基于编码单元的索引将具有索引中的与中心值相对应的索引的第二编码单元2114b确定为第一编码单元2110被划分而确定的编码单元中的中心位置处的编码单元。根据一实施例,视频解码装置100可以基于编码单元之间的尺寸比率来确定用于区分划分的编码单元的索引。参考图21,通过划分第一编码单元2110产生的编码单元2114b可以具有与其他编码单元2114a和2114c的宽度相等的宽度以及其他编码单元2114a和2114c的高度的两倍的高度。在这种情况下,当位于中心位置的编码单元2114b的索引pid为1时,位于编码单元2114b下一顺序的编码单元2114c的索引可以是增加了2的3。因此,在如此均匀地增加时索引的增加幅度变得不同的情况下,视频解码装置100可以确定当前编码单元被划分成包括具有与其它编码单元不同的尺寸的编码单元的多个编码单元。根据一实施例,当划分形状信息指示将编码单元划分为奇数个编码单元时,视频解码装置100可以将当前编码单元划分成:奇数个编码单元中的预定位置的编码单元(例如,中心位置的编码单元)具有与其他编码单元的尺寸不同的尺寸。在这种情况下,视频解码装置100可以通过使用编码单元的索引pid来确定具有不同尺寸的中心位置的编码单元。然而,上述的索引、所要确定的预定的位置处的编码单元的尺寸或位置是用于描述一实施例而特定的,其不应被解释为局限于此,并且可以使用编码单元的各种索引以及各种位置和尺寸。

根据一实施例,视频解码装置100可以使用开始编码单元的递归划分的预定的数据单元。

图22示出了根据一实施例的根据画面中所包括的多个预定数据单元来确定多个编码单元。

根据一实施例,预定数据单元可以被定义为使用块形状信息和划分形状信息中的至少一个开始递归地划分编码单元的数据单元。换言之,预定数据单元可以对应于在通过划分当前画面来确定多个编码单元的过程中所使用的最上位深度的编码单元。在以下描述中,为了便于解释,预定数据单元被称为基准数据单元。

根据一实施例,基准数据单元可以具有预定尺寸和预定形状。根据一实施例,基准编码单元可以包括m×n个样本。这里,m和n可以彼此相等,并且可以是表达为2的幂的整数。换言之,基准数据单元可以具有正方形或非正方形形状,并且可以被划分为整数个编码单元。

根据一实施例,视频解码装置100可以将当前画面划分为多个基准数据单元。根据一实施例,视频解码装置100可以通过使用关于划分当前画面的多个基准数据单元中的每一个的划分形状信息,来划分所述多个基准数据单元。这种基准数据单元的划分过程可以对应于使用四叉树(quad-tree)结构的划分过程。

根据一实施例,视频解码装置100可以预先确定当前画面中所包括的基准数据单元可以具有的最小尺寸。据此,视频解码装置100可以确定具有等于或大于该最小尺寸的尺寸的各种尺寸的基准数据单元,并且可以以所确定的基准数据单元为基准使用块形状信息和划分形状信息来确定一个或多个编码单元。

参考图22,视频解码装置100可以使用正方形形状的基准编码单元2200,也可以使用非正方形形状的基准编码单元2202。根据一实施例,基准编码单元的形状和尺寸可以根据能够包括一个或多个基准编码单元的各种数据单元(例如,序列(sequence)、画面(picture)、切片(slice)、切片段(slicesegment)、最大编码单元等)来确定。

根据一实施例,视频解码装置100的获得部105以各种数据单元从比特流获得关于基准编码单元的形状信息和关于基准编码单元的尺寸信息中的至少一个。上面已经通过图10的划分当前编码单元300的操作描述了确定包括在正方形形状的基准编码单元2200中的一个或多个编码单元的过程,并且上面已经通过图11的划分当前编码单元1100或1150的过程描述确定包括在将非正方形形状的基准编码单元2202中的一个或多个编码单元的过程。因此,将省略其详细描述。

根据一实施例,视频解码装置100可以使用用于识别基准编码单元的尺寸和形状的索引,以根据基于预定条件先前确定的一些数据单元来确定基准编码单元的尺寸和形状。换言之,针对作为所述各种数据单元(例如,序列、画面、条带、条带片段和最大编码单元等)中满足预定条件(例如,尺寸小于或等于条带的数据单元)的数据单元的每个条带、条带段、最大编码单元,获得部105可以从比特流仅获得用于识别基准编码单元的尺寸和形状的索引。视频解码装置100可以通过使用索引来针对满足所述预定条件的每个数据单元确定基准数据单元的尺寸和形状。当根据具有相对较小尺寸的每个数据单元从比特流获得并使用关于基准编码单元的形状信息和关于基准编码单元的尺寸信息时,比特流的使用效率可能不高,并因此,不是直接地获得关于基准编码单元的形状的信息和关于基准编码单元的尺寸的信息,而是仅获得并使用索引。在这种情况下,可以预先确定与用于指示基准编码单元的尺寸和形状的索引对应的基准编码单元的尺寸和形状中的至少一个。换言之,视频解码装置100可以基于索引选择先前确定的基准编码单元的尺寸和形状中的至少一个,以便确定作为用于获得索引的准则的包括在数据单元中的基准编码单元的尺寸和形状中的至少一个。

根据一实施例,视频解码装置100可以使用最大编码单元中所包括的至少一个基准编码单元。换言之,划分图像的最大编码单元可以包括至少一个基准编码单元,并且可以通过每个基准编码单元的递归划分过程而确定编码单元。根据一实施例,最大编码单元的宽度和高度中的至少一个可以对应于基准编码单元的宽度和高度中的至少一个的整数倍。根据一实施例,基准编码单元的尺寸可以等于根据四叉树结构被划分n次的最大编码单元的尺寸。换句话说,视频解码装置100可以通过根据四叉树结构来划分最大编码单元n次而确定基准编码单元,并且根据各种实施例,基于块形状信息和划分形状信息中的至少一个划分基准编码单元。

图23示出了根据一实施例的用作确定画面2300中所包括的基准编码单元的确定顺序的单元的处理块。

根据一实施例,视频解码装置100可以确定划分画面的至少一个处理块。处理块是包括划分画面的至少一个基准编码单元的数据单元,并且可以根据特定顺序来确定处理块中所包括的至少一个基准编码单元。换言之,在每个处理块中确定的至少一个基准编码单元中的确定顺序可以对应于用于确定基准编码单元的各种顺序中的一种,并且在每个处理块中确定的基准编码单元中的确定顺序可以根据处理块而不同。按处理块确定的基准编码单元的确定顺序可以是各种顺序(诸如,光栅扫描顺序、z扫描顺序、n扫描顺序、右上对角扫描顺序、水平扫描顺序和垂直扫描顺序等)中的一种,但是可确定的顺序不应解释为限于上述扫描顺序。

根据一实施例,视频解码装置100可以获得处理块尺寸信息,并且可以确定画面中所包括的至少一个处理块的尺寸。视频解码装置100可以从比特流获得处理块尺寸信息,并且可以确定画面中所包括的至少一个处理块的尺寸。这种处理块的尺寸可以是由处理块尺寸信息指示的数据单元的预定尺寸。

根据一实施例,视频解码装置100的获得部105可以根据每个特定数据单元从比特流获得关于处理块的尺寸的信息。例如,关于处理块的尺寸的信息可以以诸如图像、序列、画面、切片或切片段等的数据单元从比特流获得。换言之,获得部105可以根据此类若干数据单元来从比特流获得关于处理块的尺寸的信息,并且视频解码装置100可以通过使用所获得的关于处理块的尺寸的信息来确定划分画面的至少一个处理块的尺寸,并且这种处理块的尺寸可以是基准编码单元的尺寸的整数倍。

根据一实施例,视频解码装置100可以确定画面2300中所包括的处理块2302和2312的尺寸。例如,视频解码装置100可以基于从比特流获得的关于处理块的尺寸的信息确定处理块的尺寸。参考图23,根据一实施例,视频解码装置100可以将处理块2302和2312的横向尺寸确定为基准编码单元的横向尺寸的四倍,并且将其纵向尺寸确定为基准编码单元的纵向尺寸的四倍。视频解码装置100可以确定至少一个处理块内至少一个基准编码单元被确定的顺序。

根据一实施例,视频解码装置100可以基于处理块的尺寸来确定包括在画面2300中的处理块2302和2312中的每一个,并且确定包括在处理块2302和2312中的至少一个基准编码单元的确定顺序。根据一实施例,基准编码单元的确定可以包括确定基准编码单元的尺寸。

根据一实施例,视频解码装置100可以从比特流获得关于包括在至少一个处理块中的至少一个基准编码单元的确定顺序的信息,并且基于所获得的关于确定顺序的信息确定至少一个编码单元被确定的顺序。可以将关于确定顺序的信息定义为在处理块中基准编码单元被确定的顺序或方向。换句话说,可以按处理块独立地确定基准编码单元被确定的顺序。

根据一实施例,视频解码装置100可以按照预定的数据单元从比特流获得基准编码单元的确定顺序信息。例如,获得部105按照数据单元(诸如图像、序列、画面、条带、条带片段、处理块等)从比特流获得关于基准编码单元的确定顺序的信息。因为关于基准编码单元的确定顺序的信息指示在处理块内基准编码单元被确定的顺序,所以可以按照包括整数个处理块的特定的数据单元获得关于确定顺序的信息。

根据一实施例,视频解码装置100可以基于所确定的确定顺序来确定一个或多个基准编码单元。

根据一实施例,获得部105可以从比特流获得关于基准编码单元的确定顺序的信息作为与处理块2302和2312有关的信息,并且视频解码装置100可以确定确定包括在处理块2302和2312中的至少一个基准编码单元的顺序,并且根据编码单元的确定顺序来确定包括在画面2300中的至少一个基准编码单元。参考图23,视频解码装置100可以确定分别与处理块2302和2312有关的至少一个基准编码单元的确定顺序2304和2314。例如,当按照处理块获得了关于基准编码单元的确定顺序的信息时,与处理块2302和2312有关的基准编码单元的确定顺序可以彼此不同。例如,当按照处理块获得了关于基准编码单元的确定顺序的信息时,与处理块2302和2312有关的基准编码单元的确定顺序可以彼此不同。当与处理块2302有关的确定顺序2304是光栅扫描顺序时,可以根据该光栅扫描顺序来确定包括在处理块2302中的基准编码单元。与此相反,当与处理块2312有关的确定顺序2314是光栅扫描顺序的相反顺序时,可以以该光栅扫描顺序的相反顺序确定包括在处理块2312中的基准编码单元。

根据一实施例,频解码装置100可以解码所确定的至少一个基准编码单元。视频解码装置100可以基于通过如上所述实施例确定的基准编码单元来解码图像。解码基准编码单元的方法可以包括各种图像解码方法。

根据一实施例,视频解码装置100可以从比特流获得并使用指示当前编码单元的形状的块形状信息或指示划分当前编码单元的方法的划分形状信息。可以将块形状信息或划分形状信息包括在与各种数据单元有关的比特流中。例如,视频解码装置100可以使用包括在序列参数集、画面参数集、视频参数集、条带头和条带片段头中的块形状信息或划分形状信息。另外,视频解码装置100可以根据最大编码单元、基准编码单元和处理块,从比特流获得并使用与块形状信息或划分形状信息相对应的语法。

到此为止,以各种实施例为中心说明了本公开。本公开所属的技术领域中具有普通知识的技术人员应理解的是,本公开可以在不脱离本公开的本质特性的范围内以变更的形式实现。因此,应该不是从限制性的角度而从描述性的角度来考虑所公开公开的实施例。本公开的范围显示在权利要求书内而不是上文中记载的描述,与其等同范围内的所有区别点应被解释为被包括在本公开中。

同时,本公开的前述实施例可以被写为在计算机上可执行的程序,并且可以在通过使用计算机可读记录介质执行所述程序的通用数字计算机中实现。计算机可读记录介质的示例包括磁存储介质(例如,rom、软盘、硬盘等)、光学记录介质(例如,cd-rom或dvd)等。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1