掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请是申请号:201980036440.3,发明名称:“依赖性量化”的分案申请。本申请涉及媒体信号编码,诸如视频编码,以及特别涉及在对媒体信号进行编码时使用量化的有损编解码器,诸如,例如用于对在例如HEVC中进行的预测残差进行量化的量化媒体。

背景技术

在设置量化参数时,编码器必须进行综合考虑。粗略呈现量化会降低比特率,但提高量化失真,而较精细呈现量化会降低失真,但提高比特率。将为有利的是即将得出针对可用量化级别的给定域提高编码效率的概念。

发明内容

本发明的目的是提供用于使用量化对媒体信号进行编码的概念,这实现了在给定的可用量化级别集合下的编码效率的这样的提高。

此目的是通过本申请的独立权利要求的主题来实现的。

本申请是基于以下发现:可通过以下方式使得媒体信号的编码更高效,即,使用采样的序列描述媒体信号,且通过以下操作对此序列顺序地进行编码媒体:针对当前采样,取决于针对采样的序列中的先前采样而被编码至数据流中的索引,从多个量化级别集合中选择量化级别(也被称作重构级别)的集合(诸如可数的集合);将所述当前采样量化至所述量化级别的集合中的一个级别上;以及将针对用于所述当前采样的所述一个级别的量化索引编码至所述数据流中。换言之,使用所述采样的序列中的个体采样的标量量化,但是所述标量量化的呈现取决于针对所述采样的序列中的先前采样而被编码至所述数据流中的量化索引。通过此措施,有可能在多维空间中“构建”量化点的栅格,所述采样的序列的所有可能设置跨越所述多维空间而散布,所述采样的量化根据被编码至所述数据流中的量化索引的序列而被量化至所述可能设置上。此栅格又以统计方式减小平均量化误差。

根据实施例,所述媒体信号是二维信号,诸如图像,且采样的序列是通过使用某一扫描模式而获得,所述扫描模式将采样的二维空间布置变为一维序列,接着沿着所述一维序列进行前述量化点栅格的构建。

根据实施例,描述所述媒体信号的采样的序列表示图像的变换块或其一部分,即所述序列是经由将所述图像的变换块,即图像块或空间采样(诸如预测因子的残差采样)的块变换成变换系数块而获得,其中沿着预定系数扫描进行扫描的所述变换系数块的预定变换系数形成采样的序列。所述变换可以是线性变换或任何其他变换,且出于重构目的,可使用逆变换,或者近似逆变换的某一其他逆向变换。额外地或替代地,采样的序列可表示预测残差。

根据实施例,用于当前采样的量化级别的集合的选择取决于针对采样的序列中的先前采样而被编码至数据流中的量化索引的最低有效位部分,诸如仅奇偶校验。特别地,根据实施例,从其中进行所述选择的所述多个量化级别集合中的量化级别集合的数量为二。额外地或替代地,从所述多个量化级别集合中的所述选择可取决于先前的量化索引的奇偶校验。特别地,固定构建规则可用于选择采样,所述选择是取决于针对采样的序列中的预定固定数量的紧接先前采样而被编码的量化索引,选择所述多个量化级别集合中的一个。根据示例,为此目的使用状态转换过程或状态机,其包括状态的集合以及从一个采样的一个状态至采样的序列中的下一个采样的状态的转换,从一个状态至下一个状态的状态转换取决于一个采样的量化索引,诸如其奇偶校验。每一状态唯一地确定待用于相应状态所关联的采样的量化级别的集合。可在编码器以及解码器处应用初始状态的预定状态设置,使用所述状态设置开始状态转换。例如,此预定数量可以是二,且所述多个量化级别集合的基数(cardinality)也可以是二。如刚刚所提及,依赖性可仅仅关于多个量化索引的奇偶校验。这产生了改进的编码效率下的简单的实施方案。

有利地,且根据本申请的实施例,通过预定量化步长对所述多个量化级别集合进行参数化,且在所述数据流中以信号方式传递关于所述预定量化步长的信息。在采样的序列表示变换块的变换系数的情况下,对于每一变换系数(采样),可确定用于对所述多个量化级别集合进行参数化的自身量化步长。例如,用于变换块的变换系数的量化步长可以预定方式与在所述数据流中以信号方式传递的一个以信号方式传递的量化步长相关。例如,用于整个变换块的一个量化步长可在所述数据流中以信号方式传递,且根据默认地设置或也被编码在所述数据流中的缩放因子针对每一变换系数单独地缩放所述一个量化步长。

因此,有利地,本文中所使用的依赖性标量量化允许将此依赖性标量量化与使用加权矩阵跨越变换块的变换系数对缩放因子进行加权的概念相组合。

可在对量化索引的绝对值进行熵编码时考虑所选择的量化级别集合。额外地,上下文依赖性可包括对于用于采样的序列中的先前采样的量化级别的依赖性,诸如在当前采样的局部邻域中的先前采样。有利方面是从属权利要求的主题。

附图说明

下文中相对于附图描述本申请的优选实施例,在图当中:

图1示出可具体实现为根据下文描述的实施例中的任一个进行操作的作为用于图像编码器的示例的例示性视频编码器的框图。

图2(a)示出变换编码器的框图;且图2(b)示出变换解码器的框图,以说明基于块的变换编码的基本方法。

图3示出说明均匀重构量化器的分布的直方图。

图4(a)示出细分为子块的变换块的示意图,且图4(b)示出子块的示意图,以便说明用于扫描变换系数级别的示例,在此是用于H.265|MPEG-H HEVC中的一个例示性变换系数级别;特别地,图4(a)示出16×16变换块被分割为4×4子块的分割,以及子块的编码次序;图4(b)示出4×4子块内部的变换系数级别的编码次序。

图5示出每一变换系数由一个轴线横跨的多维输出空间,以及针对两个变换系数的简单情况可容许的重构向量的位置的示意图:图5(a)示出非依赖性标量量化;图5(b)示出依赖性标量量化的示例。

图6a示出使用依赖性标量量化的变换解码器的框图,由此形成根据本申请的媒体解码器的实施例。相对于传统变换编码(利用非依赖性标量量化器)的修改可通过与图2b的比较而得出。

图6b示出使用依赖性标量量化的变换编码器的框图,由此形成根据本申请的媒体编码器的实施例。相对于传统变换编码(利用非依赖性标量量化器)的修改可通过与图2a的比较而得出。

图7a示出在根据实施例的用于对变换系数进行编码的编码器内执行的量化的概念,诸如图6b的量化级的示意图。

图7b示出在根据实施例的用于对变换系数进行解码的解码器内执行的反量化的概念,诸如图6a的反量化级的示意图。

图8a、图8b、图8c是可用量化集合的汇集的示意图,在可用量化集合之间的切换是根据先前级别进行的;特别地,示出了利用完全由单个量化步长Δ确定的两个重构级别的集合进行的依赖性量化的示例。两个重构级别的可用集合通过不同颜色突出显示(蓝色用于集合0,且红色用于集合1)。通过圆圈下方的数字给出指示集合内部的重构级别的量化索引的示例。中空以及实心圆指示所述重构级别的集合内部的两个不同子集合;所述子集合可用于按重构次序确定用于下一个变换系数的重构级别的集合。该附图示出具有两个重构级别的集合的情况下的三种配置:(a)两个集合不相交且关于零对称;(b)两个集合包括等于零的重构级别,但原本不相交;所述集合不关于零对称;(c)两个集合包括等于零的重构级别,但原本不相交;两个集合关于零对称。

图9a示出说明变换系数的重构过程的示例的伪码。k表示指定当前变换系数的重构次序的索引,当前变换系数的量化索引由level[k]表示,应用于当前变换系数的量化步长

图9b示出说明图9a中的伪码的替代实施方案的伪码。主要改变是,与量化步长的相乘是使用缩放和移位参数使用整数实施方案表示的。通常,移位参数(由shift表示)对于变换块恒定,且仅缩放参数(由scale[k]给定)可取决于变换系数的位置。变量add表示舍入偏移,其通常被设置为等于add = (1<<(shift-1))。在

图10a示出用于将重构级别的集合分裂成两个子集合的示例的示意图。所示两个量化集合为图8c的示例的量化集合。量化集合0的两个子集合使用“A”和“B”标注,且量化集合1的两个子集合使用“C”和“D”标注。

图10b示出用于基于与最后两个量化索引相关联的子集合确定用于下一个变换系数的量化集合(可用重构级别的集合)的作为示例的表格。所述子集合在左边的表格列中示出;它们是通过所使用的量化集合(针对最后两个量化索引)以及所谓的路径(其可通过量化索引的奇偶校验确定)唯一地确定。量化集合以及括号内的子集合路径被列于从左数第二列中。第三列指定相关联的量化集合。在最后一列中,示出所谓的状态变量的值,其可用于简化用于确定量化集合的过程。

图10c示出关于如何在可用量化集合之间切换的作为另一示例的状态转换表格,在此针对具有4个状态的配置。

图11示出说明变换块的变换系数的重构过程的示例的伪码。数组level表示用于变换块的所传输的变换系数级别(量化索引),以及数组trec表示对应的经重构变换系数。2d表格state_trans_table指定状态转换表格,以及表格setId指定与状态相关联的量化集合。

图12示出状态转换表格state_trans_table以及指定与状态相关联的量化集合的表格setId的示例。以C-style语法给出的表格表示在图10c的表格中指定的表格。

图13示出说明变换系数级别的替代重构过程的伪码,其中从状态转换以及依赖性标量量化中排除等于0的量化索引。

图14示出说明作为网格(trellis)结构的依赖性标量量化中的状态转换的示意图。水平轴表示按重构次序的不同变换系数。竖直轴表示依赖性量化以及重构过程中的不同可能状态。所示连接指定不同变换系数的状态之间的可用路径。

图15示出基本网格胞元的示例。

图16示出8个变换系数的依赖性标量量化的网格示例的示意图。第一状态(左侧)表示初始状态,其在此示例中设置为等于0。

图17a示出在根据实施例的用于对变换系数进行编码的编码器内执行的对量化级别进行熵解码的概念的示意图,诸如图6b中的熵解码器。

图17b示出在根据实施例的用于对变换系数进行编码的编码器内执行的对量化级别进行熵编码的概念的示意图,诸如图6a中的熵编码器。

图18示出用于量化索引的绝对值的二进制化的示例表格。从左至右:(a)一元二进制化;(b)指数哥伦布二进制化;(c)由一元前缀部分(标示为蓝色的前两个二进制位)以及指数哥伦布后缀部分组成的级联的二进制化;(d)由一元前缀部分(标示为蓝色的前两个二进制位)、指示路径/奇偶校验的二进制位(红色)以及指数哥伦布后缀部分(用于两个路径/奇偶校验的个体程序代码)组成的级联的二进制化。

图19示出用于说明变换系数级别的熵编码的概念的变换块的示意图:图19a是按编码次序以信号方式传递第一非零量化索引的位置(黑色样本)。除第一非零变换系数的位置之外,仅传输用于标示为蓝色的系数的二进制位,标示为白色的系数被推断为等于0。图19b是用于为一个或多个二进制位选择概率模型的模板的示例。

图20示出可用于确定使成本度量(诸如拉格朗日成本度量

图21示出可被实施为根据实施例操作的解码器的框图,诸如图7b中所描绘的解码器,且与图1的编码器示例配对。

图22示出用于相对于预测和残差编码以及其间的关系对图像进行细分的示例的示意图。

具体实施方式

以下描述描述使用依赖性标量量化的媒体信号编码的概念。然而,为了易于理解,下文阐述的具体示例是关于使用依赖性标量量化的变换系数的变换编码。然而,如下文所提及,本申请的实施例不限于变换编码。

根据接下来所描述的实施例,变换编码涉以及采样的集合的变换、所得到的变换系数的依赖性标量量化,以及所获得的量化索引的熵编码。在解码器侧处,通过量化索引的熵解码、变换系数的依赖性重构、以及逆变换,获得经重构的采样集合。相比于由变换、非依赖性标量量化和熵编码组成的传统变换编码,用于变换系数的可容许重构级别的集合取决于按重构次序位于当前变换系数前面的所传输的量化索引,其也被称作变换系数级别。额外地,描述了对于指定依赖性标量量化中所使用的重构级别的量化索引的熵编码,所述量化索引即变换系数级别。甚至进一步,描述了在传统变换编码与通过依赖性标量量化的变换编码之间的自适应选择,以及对用于依赖性标量量化的量化步长进行调适的概念。以下描述主要集中于在图像和视频编解码器中对预测误差采样的块的有损编码,但应注意,下文描述的实施例也可应用于其他有损编码领域,诸如音频编码等。即,下文描述的实施例并不限于形成矩形块的采样的集合,且并不限于表示预测误差采样的采样的集合,所述预测误差采样即原始信号与预测信号之间的差异。实际上,下文描述的实施例可易于转移至诸如音频信号编码、在无预测的情况下的编码或在空间域而非变换域中的编码等其他情境。

所有目前先进技术视频编解码器,诸如国际视频编码标准H.264|MPEG-4 AVC[1]以及H.265|MPEG-H HEVC[2]均遵循混合视频编码的基本方法。视频图像被分割为块,块的采样是使用图像内预测或图像间预测来预测,且使用变换编码对所得到的预测误差信号的采样(原始采样与预测信号采样之间的差异)进行编码。

图1示出典型现代视频编码器的简化框图。视频序列的视频图像是按某一次序进行编码,所述次序被称作编码次序。图像的编码次序可不同于捕获和显示次序。对于实际编码,每一视频图像被分割为块。块包括特定颜色分量的矩形区域的采样。对应于相同矩形区域的所有颜色分量的块的实体常常被称作单元。取决于块分割的目标,在H.265|MPEG-HHEVC中,编码树块(CTB)、编码块(CB)、预测块(PB)和变换块(TB)之间是有差别的。相关联单元被称为编码树单元(CTU)、编码单元(CU)、预测单元(PU)和变换单元(TU)。

通常,视频图像最初被分割为固定大小单元(即,针对所有颜色分量的经对准的固定大小块)。在H.265|MPEG-H HEVC中,这些固定大小单元被称为编码树单元(CTU)。每一CTU可进一步分裂成多个编码单元(CU)。编码单元是为其选择了编码模式(例如,图像内或图像间编码)的实体。在H.265|MPEG-H HEVC中,将CTU分解为一个或多个CU的分解是通过四叉树(QT)语法指定,且作为位流的部分传输。CTU的CU被按照所谓的z扫描次序处理。这意味着,按光栅扫描次序对分裂产生的四个块进行处理;且如果块中的任一个被进一步分割,则在处理具有较高分裂级别的下一个块之前,对该对应的四个块(包括所包括的较小块)进行处理。

如果CU是在帧内编码模式下被编码,则传输用于明亮度(luma)信号的帧内预测模式,且如果视频信号包括色度分量,则传输用于色度信号的另一帧内预测模式。在ITU-TH.265|MPEG-H HEVC中,如果CU大小等于最小CU大小(如在序列参数集中以信号方式传递的),则明亮度块也可分裂成四个大小相等的块,在此情况下,对于这些块中的每一个,传输单独的明亮度帧内预测模式。实际帧内预测和编码是基于变换块进行的。对于经图像内编码的CU的每一变换块,使用同一颜色分量的已经重构的采样导出预测信号。用于产生变换块的预测信号的算法是通过所传输的帧内预测模式而确定。

在图像间编码模式下被编码的CU可进一步分裂成多个预测单元(PU)。预测单元是明亮度、和对于彩色视频的两个相关联的色度块(覆盖相同图像区域)的实体,对其使用单个预测参数集合。CU可被编码为单个预测单元,或其可分裂成两个非正方形预测单元(支持对称和不对称分裂)或四个正方形预测单元。对于每一PU,传输个体的运动参数集合。每一运动参数集包括多个运动假设(H.265|MPEG-H HEVC中的一个或两个运动假设)、和对于每一运动假设的参考图像(通过参考图像列表中的参考图像索引指示)以及相关联的运动向量。额外地,H.265|MPEG-H HEVC提供所谓的合并模式,其中运动参数不被显式地传输,而是基于空间或时间相邻块的运动参数导出。如果CU或PU在合并模式下被编码,则仅传输运动参数候选的列表中的索引(此列表是使用空间和时间相邻块的运动数据导出的)。所述索引完全确定所使用的运动参数集。经帧间编码的PU的预测信号是通过运动补偿的预测形成的。对于每一运动假设(通过参考图像以及运动向量指定),预测信号由指定参考图像中移位的块形成,其中相对于当前PU的移位是由运动向量指定的。所述移位通常通过子采样准确度指定(在H.265|MPEG-H HEVC中,运动向量具有四分之一明亮度采样的精确度)。对于非整数运动向量,预测信号是通过内插经重构参考图像(通常使用可分离FIR滤波器)而产生的。利用多假设预测的PU的最终预测信号是通过针对个体运动假设的预测信号的加权和形成的。通常,将同一运动参数集合用于PU的明亮度和色度块。即使目前先进技术视频编码标准使用平移移位向量来指定当前区域(采样的块)相对于参考图像的运动,也有可能采用较高阶运动模型(例如,仿射运动模型)。在这种情况下,必须针对运动假设传输额外运动参数。

对于经图像内以及图像间编码的CU两者,预测误差信号(也被称作残差信号)通常都是经由变换编码传输的。在H.265|MPEG-H HEVC中,CU的明亮度残差采样的块和色度残差采样的块(如果存在)被分割为变换块(TB)。将CU分割为变换块的分割是通过四叉树语法指示的,所述四叉树语法也被称作残差四叉树(RQT)。所得到的变换块是使用变换编码来进行编码:将2d变换应用于残差采样的块,所得到的变换系数使用非依赖性标量量化来进行量化,且所得到的变换系数级别(量化索引)被熵编码。在P和B切片(slice)中,在CU语法的起点处,传输skip_flag。如果此标识等于1,则其指示对应的CU由在合并模式下被编码的单个预测单元组成(即,推断merge_flag 等于1)且所有变换系数等于零(即,重构信号等于预测信号)。在这种情况下,除skip_flag之外,仅传输merge_idx。如果skip_flag等于0,则以信号方式传递预测模式(帧间或帧内),随后是上文所描述的语法特征。

由于已经被编码的图像可用于在后续图像中进行块的运动补偿预测,因此所述图像必须在编码器中被充分重构。将块的经重构的预测误差信号(通过在给定量化索引和逆变换的情况下对变换系数进行重构而获得)与对应预测信号相加且将结果写入用于当前图像的缓冲器。在图像的所有块被重构后,可应用一个或多个环路滤波器(例如,解块滤波器和采样自适应偏移滤波器)。接着将最终的经重构的图像存储于解码图像缓冲器中。

在下文中,描述用于预测误差信号的变换编码的新概念。所述概念适用于经图像内和图像间编码的块两者。其也适用于非矩形采样区域的变换编码。相比于传统变换编码,该变换系数未被独立地量化。替代地,用于特定变换系数的可用重构级别的集合取决于针对其他变换系数选择的量化索引。此外,描述了对于量化索引的熵编码的修改,其在与依赖性标量量化组合时提高编码效率。

上文所论述的包括目前先进技术标准H.265|MPEG-H HEVC的所有主要视频编码标准均利用了用于对预测误差采样的块进行编码的变换编码的概念。块的预测误差采样表示原始信号的采样与块的预测信号的采样之间的差异。预测信号是通过图像内预测(在此情况下,当前块的预测信号的采样是基于相同图像内部的相邻块的已经重构的采样导出的)或通过图像间预测(在此情况下,预测信号的采样是基于已经重构的图像的采样导出的)而获得。原始预测误差信号的采样是通过从当前块的原始信号的采样值中减去预测信号的采样的值而获得。

采样块的变换编码可由线性变换、标量量化、以及量化索引的熵编码组成。在编码器侧(参见图2a)处,使用线性分析变换

在解码器侧(参见图2b)处,从接收的位流中对变换系数级别

即使视频编码标准仅指定合成变换

对于典型预测误差信号,变换具有以下效果:信号能量集中于几个变换系数中。相较于原始预测误差采样,所得到的变换系数之间的统计依赖性降低。

在目前先进技术视频编码标准中,使用了可分离离散余弦变换(II型)或其整数近似。然而,可在不修改变换编码系统的其他方面的情况下容易地替换该变换。在文献或标准化文献中已经提出的改进方案的示例包括:

● 针对经图像内预测的块使用离散正弦变换(DST)(有可能取决于帧内预测模式和/或块大小)。应注意,H.265|MPEG-H HEVC已经包括用于经图像内预测的4×4变换块的DST。

● 切换变换:编码器在预定义变换的集合中选择实际使用的变换。所述可用变换的集合对于编码器以及解码器两者都是已知的,使得可使用可用变换列表中的索引高效地以信号方式传递所述集合。所述可用变换的集合以及其在列表中的排序可取决于块的其他编码参数,诸如所选的帧内预测模式。在特殊情况下,所使用的变换完全由诸如帧内预测模式和/或块形状等编码参数确定,使得不需要传输用于指定变换的语法元素。

● 不可分离变换:编码器和解码器中所使用的变换表示不可分离变换。应注意,切换变换的概念可包括一种或多种不可分离变换。由于复杂度原因,不可分离变换的使用可限于某些块大小。

● 多级别变换:实际变换由两个或更多个变换级构成。第一变换级可由在计算上复杂度低的可分离变换组成。并且,在第二级中,使用不可分离变换进一步对所得到的变换系数的子集合进行变换。相较于用于整个变换块的不可分离变换,双级方法具有以下优点:将较复杂的不可分离变换应用于较少量采样。多级别变换的概念可与切换变换的概念高效组合。

使用标量量化器对变换系数进行量化。作为量化的结果,变换系数的容许值的集合减小。换言之,变换系数被映射至所谓的重构级别的可数的集合(实践中,有限集合)。所述重构级别的集合表示所述可能的变换系数值的集合的适当子集合。为了简化后续的熵编码,通过量化索引(也被称作变换系数级别)表示该可容许重构级别,所述量化索引作为位流的部分来传输。在解码器侧,量化索引(变换系数级别)被映射至经重构变换系数。经重构变换系数的可能值对应于所述重构级别的集合。在编码器侧,标量量化的结果是变换系数级别(量化索引)的块。

在目前先进技术视频编码标准中,使用均匀重构量化器(uniformreconstruction quantizer,URQ)。所述均匀重构量化器的基本设计被示于图3中。URQ具有以下性质:重构级别等间隔。两个相邻重构级别之间的距离Δ被称作量化步长。重构级别中的一个等于0。因此,可用重构级别的整个集合由量化步长Δ唯一地指定。原则上,量化索引

在此上下文中,术语“非依赖性标量量化”指的是以下性质:在给定针对任何变换系数的量化索引

由于视频解码器通常利用具有标准精确度(例如,32位)的整数算术,因此标准中所使用的实际公式可略微不同于简单相乘。当忽略剪切至变换系数的所支持动态范围时,H.265|MPEG-H HEVC中的经重构变换系数通过以下获得

其中运算符“<<”以及“>>”分别表示向左以及向右的位移位。当忽略整数算术时,量化步长Δ对应于以下项

早期的视频编码标准,诸如H.262|MPEG-2 Video,也指定经修改的URQ,针对这种经修改的URQ,重构级别零与第一非零重构级别之间的距离相对于标称量化步长增大(例如,达到标称量化步长Δ的二分之三)。

变换系数的量化步长(或缩放和移位参数)通过以下两个因素确定:

● 量化参数QP:

通常可以以块为基础修改量化步长。出于该目的,视频编码标准提供量化步长的预定义集合。使用量化步·长的预定义列表中的索引来指示所使用的量化步长(或等效地,上文引入的参数“缩放”和“移位”)。所述索引被称作量化参数(QP)。在H.265|MPEG-H HEVC中,QP与量化步长之间的关系大致由以下给出

切片QP通常在切片头部中传输。一般而言,有可能以块为基础修改量化参数QP。出于该目的,可传输DQP(差量量化参数,delta quantization parameter)。通过所传输的DQP和所预测的QP值来确定所使用的量化参数,所预测的QP值是使用已被编码的(通常相邻的)块的QP导出。

● 量化加权矩阵:

视频编码标准常常提供针对个体变换系数使用不同量化步长的可能性。这是通过指定所谓的量化加权矩阵

其中

量化加权矩阵的主要意图是提供用于以在感知上有意义的方式引入量化噪声的可能性。通过使用适合的加权矩阵,人类视觉的空间对比敏感性可用于实现在比特率与主观重构质量之间的较佳权衡。尽管如此,许多编码器使用所谓的扁平(flat)量化矩阵(可使用高级语法元素高效传输该矩阵)。在此情况下,相同量化步长Δ被用于块中的所有变换系数。从而量化步长完全通过量化参数QP指定。

变换系数级别(变换系数的量化索引)的块被熵编码(即,作为位流的部分以无损方式传输所述块)。由于线性变换仅可降低线性依赖性,因此对于变换系数级别的熵编码通常以如下方式设计:块中的变换系数级别之间的剩余非线性依赖性可用于高效编码。公知的示例是MPEG-2 Video中的运行级别编码、H.263和MPEG-4 Visual中的最后运行级别编码、H.264|MPEG-4 AVC中的上下文自适应可变长度编码(CAVLC)、以及H.264|MPEG-4 AVC和H.265|MPEG-H HEVC中的基于上下文的自适应二进制算术编码(CABAC)。

目前先进技术视频编码标准H.265|MPEG-H HEVC中指定的CABAC遵循可针对各种变换块大小应用的通用概念。大于4×4采样的变换块,诸如图4a中的10,被分割为4×4子块12。所述分割被示于图4a中,例如针对16×16变换块10。一般而言,4×4子块的编码次序以及子块内部的变换系数级别的编码次序由图4中所示的逆向对角线扫描14指定。对于某些经图像内预测的块,使用水平或竖直扫描图案(取决于实际帧内预测模式)。编码次序始终开始于高频位置。

在H.265|MPEG-H HEVC中,基于4×4子块传输变换系数级别。变换系数级别的无损编码包括以下步骤:

1. 语法元素coded_block_flag被传输,其以信号方式传递变换块中是否存在任何非零变换系数级别。如果coded_block_flag等于0,则不进一步针对该变换块对数据进行编码。

2. 按编码次序(例如,图4中所示出的逐块逆对角线扫描次序)的第一非零变换系数级别的x和y坐标被传输。所述坐标的传输被分裂成前缀和后缀部分。该标准使用语法元素last_sig_coeff_x_prefix、last_sig_coeff_y_prefix、last_sig_coeff_x_suffix、和last_sig_coeff_x_suffix。

3. 从按编码次序包含第一非零变换系数级别的4×4子块开始,按编码次序处理4×4子块,其中子块的编码包括以下主要步骤:

a. 语法元素coded_sub_block_flag被传输,其指示子块是否包含任何非零变换系数级别。对于第一和最后一个4×4子块(即,包含第一非零变换系数级别或DC级别的子块),不传输此标识,而是将该标识推断等于一。

b. 对于子块内部的coded_sub_block_flag等于一的所有变换系数级别,语法元素significant_coeff_flag指示对应变换系数级别是否不等于零。仅在无法基于已传输的数据推断此标识的值的情况下传输此标识。特别地,不针对(由所传输的x和y坐标指定的)第一重要扫描位置传输此标识,并且如果DC系数与第一非零系数(按编码次序)位于不同子块中、且用于最后一个子块的所有其他significant_coeff_flag等于零,则不针对所述DC系数传输此标识。

c. 对于significant_coeff_flag等于一的前八个变换系数级别(如果有),标识coeff_abs_level_greater1_flag被传输。其指示变换系数级别的绝对值是否大于一。

d. 对于coeff_abs_level_greater1_flag等于一的第一变换系数级别(如果有),标识coeff_abs_level_greater2_flag被传输。其指示变换系数级别的绝对值是否大于二。

e. 对于significant_coeff_flag等于一的所有级别(例外情形在下文中描述),语法元素coeff_sign_flag被传输,其指定变换系数级别的符号。

f. 对于绝对值未完全通过significant_coeff_flag、coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag的值指定(如果传输标识中的任一个等于零,则绝对值被完全指定)的所有变换系数级别,使用多级别语法元素coeff_abs_level_remaining传输所述绝对值的其余部分。

在H.265|MPEG-H HEVC中,所有语法元素均使用基于上下文的自适应二进制算术编码(CABAC)进行编码。所有非二进制语法元素被首先映射至一系列二进制决策,所述二进制决策也被称作二进制位(bin)。使用二进制算术编码对所得到的二进制位序列进行编码。出于该目的,每个二进制位与概率模型(二进制概率质量函数)相关联,所述概率模型也被称作上下文。对于大部分二进制位,上下文表示自适应概率模型,这意味着相关联的二进制概率质量函数是基于实际编码的二进制位值来更新的。可通过基于已传输的数据为某些二进制位切换上下文,利用条件性概率。CABAC还包括所谓的旁路模式,其中使用固定的概率质量函数(0.5,0.5)。

针对coded_sub_block_flag的编码选择的上下文取决于用于已被编码的相邻子块的coded_sub_block_flag的值。significant_coeff_flag的上下文是基于子块内部的扫描位置(x和y坐标)、变换块的大小、以及相邻子块中的coded_sub_block_flag的值而选择的。对于标识coeff_abs_level_greater1_flag和coeff_abs_level_greater2_flag,上下文选择取决于当前子块是否包括DC系数、以及是否已经为相邻子块传输了等于一的任何coeff_abs_level_greater1_flag。对于coeff_abs_level_greater1_flag,上下文选择进一步取决于子块的已被编码的coeff_abs_level_greater1_flag的数量和值。

在二进制算术编码器的旁路模式下对符号coeff_sign_flag以及绝对值的其余部分coeff_abs_level_remaining进行编码。为了将coeff_abs_level_remaining映射至二进制位(二进制决策)的序列上,使用自适应二进制化方案。二进制化是通过单个参数(被称作莱斯参数)控制的,基于子块的已编码值来调适所述参数。

H.265|MPEG-H HEVC还包括所谓的符号数据隐藏模式,其中(在某些条件下)省略子块内部最后一个非零级别的符号的传输。替代地,将此级别的符号嵌入对应子块的级别的绝对值的总和的奇偶校验中。应注意,编码器必须在确定适合的变换系数级别时考虑此方面。

视频编码标准仅指定位流语法和重构过程。如果考虑针对原始预测误差采样的给定块和给定量化步长的变换编码,则编码器具有较高自由度。在给定用于变换块的量化索引

最简单的量化方法将原始变换系数

其中sgn()是符号函数,且运算符

但其完全忽略了用于传输所得到的变换系数级别

如果量化过程使拉格朗日函数

对于使用QP与量化步长之间的关系

其中

旨在使失真和速率的拉格朗日函数

此处,变换系数索引

对于H.265|MPEG-H HEVC中的变换系数编码,速率项的准确计算是非常复杂的,因为大部分二进制决策是使用自适应概率模型进行编码的。但如果忽略概率模型选择的一些方面且略过在变换块内部调适概率模型,则有可能设计复杂度合理的RDOQ算法。在用于H.265|MPEG-H HEVC的参考软件中实施的RDOQ算法由以下基本处理步骤组成:

1. 对于每一扫描位置

2. 用于4×4子块的标识coded_sub_block_flag是通过比较以下两个情形的拉格朗日成本而确定的:(a)使用在步骤1中选择的变换系数级别;(b)将语法元素coded_sub_block_flag设置为等于零,且因此将4×4子块的所有变换系数级别均设置为等于零。

3. 第一非零变换系数级别的位置是通过比较通过按编码次序选择非零变换系数级别中的一个(在步骤2之后)作为第一非零变换系数级别(前面的变换系数级别被设置为等于零)而获得的拉格朗日成本来确定的。

4. coded_block_flag是通过比较在步骤3以及变换块内部的所有变换系数级别均设置为等于零的情况之后所获得的变换系数级别的序列的拉格朗日成本来确定的。

下文描述用于变换编码的修改概念。相对于传统变换编码的修改在于,变换系数未被独立地量化和重构。而代之以,用于变换系数的可容许重构级别取决于针对按重构次序的先前变换系数选择的量化索引。将依赖性标量量化的概念与经修改的熵编码进行组合,其中用于变换系数的概率模型选择(或替代地,码字表格选择)取决于可容许重构级别的集合。

变换系数的依赖性量化的优点在于,可容许的重构向量被更密集地封装于N维信号空间中(其中N表示变换块中采样或变换系数的数量)。变换块的重构向量指的是变换块的经排序的经重构变换系数(或替代地,经排序的重构采样)。在图5中,针对用于两个变换系数的最简单情况,示出依赖性标量量化的效果。图5示出用于非依赖性标量量化的可容许重构向量(其表示2d平面中的点)。如可看出,用于第二变换系数

变换系数的依赖性标量量化具有以下效果:对于每一N维单位体积20的给定平均数量的重构向量,变换系数的给定输入向量与最接近的可用重构向量之间的距离的预期值减小。因此,对于给定平均数量的位,变换系数的输入向量与重构变换系数的向量之间的平均失真可减小。在向量量化中,此效果被称作空间填充增益。在针对变换块使用依赖性标量量化的情况下,可利用用于高维向量量化的潜在的空间填充增益的主要部分。且,相比于向量量化,重构过程(或解码过程)的实施复杂度与具有非依赖性标量量化器的传统变换编码的复杂度相当。

在依赖性标量量化情况下的变换解码器30的框图被示于图6a中,且包括熵解码器32、用于依赖性标量反量化的量化级34、以及合成变换器36。主要改变(以红色突出显示)是依赖性量化。如由竖直箭头指示,具有重构次序索引k>0的经重构变换系数

与图6a的解码器配对的变换编码器40被描绘于图6b中,且包括分析变换46、量化模块44、以及熵编码器42。作为分析变换46,通常使用合成变换36的逆变换(或逆变换的极近似),且通常在给定熵解码过程32的情况下唯一地指定熵编码42。但,与传统变换编码中的情形相似,在给定原始变换系数的情况下选择量化索引具有较高自由度。

本发明的实施例并不限于基于块的变换编码。其也适用于采样的任何有限汇集的变换编码。可使用将采样的集合映射至变换系数的集合的任何种类的变换。这包括线性和非线性变换。所使用的变换也可表示过完备(overcomplete)(变换系数的数量大于采样的数量)或不够完备(undercomplete)(变换系数的数量小于采样的数量)的变换。在实施例中,将依赖性量化与正交基函数的线性变换进行组合。由于整数实施方案,变换可偏离于线性变换(由于变换步骤中的舍入)。此外,变换可表示具有正交基函数的变换的整数近似(在此情况下,基函数可以仅仅是近似正交的)。在特殊情况下,变换可表示恒等变换,在此情况下采样或残差采样被直接量化。

在实施例中,下文论述的依赖性量化概念被用于采样块(例如,原始采样的块或预测误差采样的块)的变换编码。在此上下文中,变换可表示可分离变换、不可分离变换、可分离初级变换与不可分离次级变换的组合(其中可对在初级变换后获得的所有系数或所述系数的子集合应用次级变换)。如果不可分离次级变换被应用于子集合,则所述子集合可由变换系数的所获得矩阵的子块组成,或者所述子集合可表示在初级变换后获得的变换系数的任何其他子集合(例如,变换系数的块内部的任意形状区域)。变换也可表示具有多于两个变换级别的多级别变换。

变换系数的依赖性量化的细节以及实施例在下文中描述。此外,描述了对指定用于依赖性标量量化的重构变换系数的量化索引进行熵编码的各种方式。额外地,提出用于依赖性与非依赖性标量量化之间的块自适应选择的任选方法以及用于调适量化步长的方法。最后,论述了用于在编码器中确定用于依赖性量化的量化索引的方法。

变换系数的依赖性量化指的是以下概念:用于变换系数的可用重构级别的集合取决于针对按重构次序的先前变换系数选择的量化索引(通常限于相同变换块内部的量化索引)。

在实施例中,预定义重构级别的多个集合,且基于按编码次序的先前变换系数的量化索引,选择所述预定义集合中的一个以用于重构当前变换系数。首先描述了用于定义重构级别集合的一些实施例。在下文中描述所选重构级别的标识以及信号方式传递。描述了用于(基于按重构次序的先前变换系数的所选量化索引)为当前变换系数选择重构级别的预定义集合中的一个的更进一步实施例。

在实施例中,且如图7a以及图7b中所示,在重构级别的预定义集合52的汇集50(两个或更多的集合)中(基于按编码次序14的先前变换系数的量化索引56的集合58)为当前变换系数13'选择54可容许重构级别的集合48。汇集50可用于所有系数13,然而,其中参考了对于集合52的可能的可参数化特性的后续描述。在特定实施例中且如后续示例中所示,通过基于块的量化参数对重构级别的集合中的重构级别的值进行参数化60。这意味着,视频编解码器基于块(其可对应于单个变换块10或多个变换块)支持量化参数(QP)的修改,且所使用的重构级别的集合内部的重构级别的值是通过所选量化参数而确定的。举例而言,如果量化参数增大,则相邻重构级别之间的距离也增大,且如果量化参数减小,则相邻重构级别之间的距离也减小(或反之亦然)。

在例示性版本中,基于块的量化参数(QP)确定量化步长 Δ (或如上文所描述的对应的缩放和移位参数),且所有重构级别(在所有重构级别的集合中)表示量化步长Δ的整数倍数。但应注意,每一重构级别的集合仅包括量化步长Δ的整数倍数的子集合。其中所有重构级别的集合的所有可能重构级别均表示量化步长的整数倍数这样的依赖性量化的配置可被视为均匀重构量化器(uniform reconstruction quantizer,URQ)的扩展。其基本优点在于重构变换系数可通过计算复杂度非常低的算法来计算(如下文将更详细地描述)。

重构级别的集合52可完全不相交(disjoint);但也有可能在多个集合中包含一个或多个重构级别(而这些集合在其他重构级别中仍然不同)。用于特定变换系数

应注意,由于整数实施方案或其他实施方面,其中k可以是对当前位置进行索引的经重构变换系数

由于对整数实施方案的限制,经重构变换系数 ′(或对应的重构级别)实际上可根据以下或类似过程确定:

如果在以下描述中提及量化步长的整数倍数,则对应的文本也适用于类似于上文指定的所述一个的整数近似。量化64涉及对应的划分。

在实施例中,对于变换系数的依赖性标量量化使用两个完全不同的重构级别集合52。且在实施例中,用于变换系数

在图8中,说明两个重构级别的集合的三种配置。应注意,所有重构级别均位于由量化步长Δ的整数倍数给定的栅格上。应进一步注意,两个集合中可包含某些重构级别。

图8a中所描绘的两个组不相交。量化步长Δ的每一整数倍数仅包含在所述两个集合中的一个中。第一集合(集合0)包含量化步长的所有偶整数倍数,而第二集合(集合1)包含量化步长的所有奇整数倍数。在两个集合中,任何两个相邻的重构级别之间的距离为量化步长的二倍。这两个集合通常适合于高速率量化,即适合于其中变换系数的标准偏差明显大于量化步长的设置。然而,在视频编码中,量化器通常在低速率范围内操作。通常,与相对于量化步长的任何非零倍相比,许多原始变换系数的绝对值更接近于零。在这种情况下,如果在两个量化集合(重构级别的集合)中都包括零,则通常是优选的。

图8b中所说明的两个量化集合均包含零。在集合0中,等于零的重构级别与大于零的第一重构级别之间的距离等于量化步长,而两个相邻的重构级别之间的所有其他距离等于量化步长的二倍。类似地,在集合1中,等于零的重构级别与小于零的第一重构级别之间的距离等于量化步长,而两个相邻重构级别之间的所有其他距离等于量化步长的二倍。应注意,两个重构集合都围绕零非对称的。这会导致效率低,由于这使得难以准确地估计符号的概率。

两个重构级别的集合的另一种配置示于图8c中。第一量化集合(图中标注为集合0)中包含的重构级别表示量化步长的偶整数倍数(应注意,此集合实际上与图8a中的集合0相同)。第二量化集合(图中标注为集合1)包含量化步长的所有奇整数倍数,且额外地包含等于零的重构级别。应注意,两个重构集合都围绕零对称。两个重构集合中都包含等于零的重构级别,或者说,所述重构集合不相交。两个重构集合的并集包含量化步长的所有整数倍数。

并不限于图8中所示的配置。可使用任何其他两个不同的重构级别的集合。两个集合中都可包括多个重构级别。或者两个量化集合的并集可不包含量化步长的所有可能的整数倍数。此外,有可能使用多于两个重构级别的集合以用于变换系数的依赖性标量量化。

关于所选重构级别的信号方式传递,注意以下内容。编码器在步骤64中在可容许重构级别中选择的重构级别必须在位流14内部指示。如在传统非依赖性标量量化中那样,这可使用所谓的量化索引56实现,所述量化索引也被称作变换系数级别。量化索引(或变换系数级别)是唯一地标识量化集合48内部(即,重构级别的集合内部)的可用重构级别的整数。将量化索引作为位流14的部分发送至解码器(使用例如任何熵编码技术)。在解码器侧处,可基于重构级别的当前集合48(该集合是通过按编码/重构次序的先前量化索引58确定54的)以及所传输的当前变换系数的量化索引56,唯一地计算出经重构变换系数。

在实施例中,将量化索引分配给重构级别的集合48(或量化集合)内部的重构级别遵循以下规则。为了图示,图8中的重构级别通过相关联的量化索引标注(所述量化索引由圆圈下方表示重构级别的数字给出)。如果重构级别的集合包括等于0的重构级别,则将等于0的量化索引分配给等于0的重构级别。将等于1的量化索引分配给大于0的最小重构级别,将等于2的量化索引分配给大于0的下一个重构级别(即,大于0的第二最小重构级别),等等。或者,换言之,利用大于0的整数(即,利用1,2,3等等)对大于0的重构级别按其值的递增次序进行标注。类似地,将量化索引-1分配给小于0的最大重构级别,将量化索引-2分配给小于0的下一个(即,第二大)重构级别,等等。或者,换言之,利用小于0的整数(即,利用-1,-2,-3等等)对小于0的重构级别按其值的递减次序进行标注。对于图8中的示例,针对除了图8a中的集合1(其不包括等于0的重构级别)之外的所有量化集合图示了所描述的量化索引的分配。

对于不包括等于0的重构级别的量化集合,将量化索引分配至重构级别的一种方式如下。大于0的所有重构级别通过大于0的量化索引标注(按其值的递增次序),且小于0的所有重构级别通过小于0的量化索引标注(按其值的递减次序)。因此,量化索引的分配基本上遵循关于包括等于0的重构级别的量化集合的相同概念,区别在于不存在等于0的量化索引(参见用于图8a中的量化集合1的标注)。所述方面应在对量化索引进行熵编码时予以考虑。例如,量化索引常常是通过对其绝对值(在0至最大支持值范围内)进行编码、以及对于不等于0的绝对值还额外地对量化索引的符号进行编码来传输的。如果等于0的量化索引不可用,则可以以如下方式修改熵编码:传输绝对级别减去1(用于从0至最大支持值范围内的对应语法元素的值),且始终传输符号。作为替代方案,可以修改用于将量化索引分配至重构级别的分配规则。例如,接近零的重构级别中的一个可通过等于0的量化索引标注。且随后,剩余重构级别通过以下规则标注:将大于0的量化索引分配给比量化索引等于0的重构级别大的重构级别(量化索引随着重构级别的值而增大)。并且,将小于0的量化索引分配给比量化索引等于0的重构级别小的重构级别(量化索引随着重构级别的值而减小)。用于此分配的一个可能方案通过图8a中的圆括号中的数字示出(如果未给出圆括号中的数字,则应用其他数字)。

如上文所提及,在实施例中,使用两个不同的重构级别的集合52(其也被称作量化集合),且两个集合52内部的重构级别表示量化步长Δ的整数倍数。这包括不同量化步长用于变换块内部的不同变换系数(例如,通过指定量化加权矩阵)的情形。且包括基于块修改量化步长(例如,通过在位流内部传输块量化参数)的情形。

表示量化步长的整数倍数的重构级别的使用在解码器侧处允许将在计算上复杂度低的算法用于经重构变换系数。基于下文中图8c的示例对此作出说明(对于其他配置,也存在类似简单算法,特别地,图8a以及图8b中所示的设置)。在图8c中所示的配置中,第一量化集合-集合0包括量化步长的所有偶整数倍数,且第二量化集合-集合1包括量化步长的所有奇整数倍数加上等于0的重构级别(其在两个量化集合中都包含)。用于变换系数13'的重构过程62可类似于图9的伪码中所指定的算法来实施。

在图9a的伪码中,level[k]表示针对变换系数

接着,如果使用第二量化集合,则变量n等于量化索引level[k]的二倍减去量化索引的符号函数sign(level[k])。

一旦变量n(指定量化步长的整数因子)被确定,就通过将n乘以量化步长

如上文所提及,并不是与量化步长

图9b中相对于图9a的另一改变是,两个重构级别的集合之间的切换是使用三元if-then-else(如果-则-否则)运算符(

除选择上文所论述的重构级别的集合52以外,依赖性标量量化的另一重要设计方面还在于用于在所定义的量化集合(重构级别的集合)之间进行切换的算法54。所使用的算法54确定可在变换系数的N维空间20(以及因此,也在经重构采样的N维空间20)中实现的“组装密度”(packing density)。较高组装密度最终导致编码效率提高。选择过程54可使用用于每一变换系数的固定选择规则,其中所选的重构级别的集合取决于如下文所描述的按编码次序前面紧邻的某一数量的重构级别(其中此数量例示性地为二)。此规则可使用状态转换表格或网格结构实施,如下文进一步概述。

确定54用于下一个变换系数的重构级别的集合48的特定例示性方式是基于量化集合52的分割,如图10a中针对特定示例所说明的。应注意,图10a中所示的量化集合与图8c中的量化集合是相同量化集合。将两个(或更多个)量化集合52中的每一个分割为两个子集合。举例而言,在图10a中,将第一量化集合(标注为集合0)分割为两个子集合(标注为A和B),以及还将第二量化集合(标注为集合1)分割为两个子集合(标注为C和D)。即使这并非唯一的可能性(下文将描述替代方案),但仍然以其中将直接相邻的重构级别(以及因此,相邻的量化索引)与不同子集合相关联的方式,例示性地对每一量化集合进行了分割。在实施例中,将每一量化集合分割为两个子集合。在图8和图10a中,通过空心圆和实心圆指示出将量化集合分割为子集合的分割。

对于图10a和图8c中所说明的实施例,应用以下分割规则:

● 子集合A由量化集合0的所有偶数量化索引组成;

● 子集合B由量化集合0的所有奇数量化索引组成;

● 子集合C由量化集合1的所有偶数量化索引组成;

● 子集合D由量化集合1的所有奇数量化索引组成。

应注意,所使用的子集合通常不在位流内部显式地指示。替代地,其可基于所使用的量化集合(例如,集合0或集合1)以及实际传输的量化索引而导出。对于图10a中所示的分割,子集合可通过对所传输的量化索引level与1的逐位“和”运算而导出。子集合A由集合0中的(level&1)等于0的所有量化索引组成,子集合B由集合0中的(level&1)等于1的所有量化索引组成,子集合C由集合1中的(level&1)等于0的所有量化索引组成,且子集合D由集合1中的(level&1)等于1的所有量化索引组成。

在实施例中,用于重构当前变换系数的量化集合(可容许重构级别的集合)是基于与最后两个或更多个量化索引相关联的子集合而确定的。在图10b的表格中示出了使用最后两个子集合(其通过最后两个量化索引给定)的示例。表格必须如下读取:第一表格列中给出的第一子集合表示用于前面紧邻系数的子集合,且第一表格列中给出的第二子集合表示用于位于所述前面紧邻系数的前面的系数的子集合。通过此表格指定的量化集合48的确定54表示特定实施例。在其他实施例中,用于当前变换系数13'的量化集合48是通过与最后三个或更多个量化索引58相关联的子集合而确定的。对于变换块的第一变换系数,不具有关于先前变换系数的子集合的任何数据(由于不存在先前变换系数)。在实施例中,在这些情形中使用使用预定义值。在另一实施例中,推断用于所有不可用变换系数的子集合A。这意味着,如果重构第一变换系数,则两个先前子集合被推断为“AA”,且因此,根据图10b的表格,使用量化集合0。对于第二变换系数,前面紧邻量化索引的子集合是通过其值确定的(由于集合0用于第一变换系数,子集合为A或B),但用于倒数第二个量化索引(其并不存在)的子集合被推断为等于A。当然,可使用任何其他规则来推断用于不存在的量化索引的默认值。也有可能使用其他语法元素导出用于不存在的量化索引的默认子集合。作为另一替代方案,也有可能使用先前变换块的最后一个量化索引进行初始化。例如,可以以跨越变换块边界应用依赖性(但该依赖性可能局限于诸如CTU或切片、图像等等较大块的边界)的方式来使用该变换系数的依赖性量化的概念。

应注意,量化索引的子集合(A、B、C或D)是通过所使用的量化集合(集合0或集合1)以及量化集合内部所使用的子集合(例如,针对集合0的A或B,以及针对集合1的C或D)而确定的。量化集合内部所选子集合也被称作路径(因为如果将依赖性量化过程表示为如下文将描述的网格结构,则该子集合指定路径)。在惯例中,路径等于0或1。接着,子集合A对应于集合0中的路径0,子集合B对应于集合0中的路径1,子集合C对应于集合1中的路径0,且子集合D对应于集合1中的路径1。因此,用于系数13'之后的下一个变换系数的量化集合48也通过与当前系数13'以及之前的一个系数的最后两个(或更多个)量化索引58相关联的量化集合(集合0或集合1)和路径(路径0或路径1)而唯一地确定,或替代来讲,用于系数13'的集合48是依据用于在13'前面的两个系数的索引58而确定的。在图10b的表格中,相关联的量化集合和路径在第二列中指定。关于第一列,第一项表示用于前面紧邻系数的集合和路径,而第二项表示用于在所述前面紧邻系数的前面的系数的集合和路径。

应注意,路径常常可通过简单算术运算而确定。例如,对于图10a中所示的配置,路径(path)通过以下给定

其中level[k]表示量化索引(变换系数级别),且运算符&指定逐位“和”(在二补码整数算术运算中)。

变量path可被定义为先前量化索引(变换系数级别)level[k]的任何二进制函数,path = binFunction( level[ k ] )。例如,作为替代函数,可使用

在量化集合(集合0以及集合1)之间的转换还可考究地由状态变量表示。此状态变量的示例示于图10b的表格的最后一列中。对于此示例,状态变量具有四种可能值(0、1、2、3)。一方面,状态变量指定用于当前变换系数的量化集合。在图10b的表格的示例中,在且仅在状态变量等于0或1的情况下使用量化集合0,以及在且仅在状态变量等于2或3的情况下使用量化集合1。另一方面,状态变量还指定量化集合之间的可能转换。通过使用状态变量,图10b的表格的规则可由较小状态转换表格描述。作为示例,图10c的表格指定针对图10b的表格中给定的规则的状态转换表格。在给定当前状态的情况下,其指定用于当前变换系数的量化集合(第二列)。其进一步基于与所选量化索引相关联的路径来指定状态转换(如果给定量化集合,则路径指定所使用的子集合A、B、C或D)。应注意,通过使用状态变量的概念,并不需要追踪实际所选的子集合。在重构块的变换系数时,更新状态变量和确定所使用的量化索引的路径便足够了。

在实施例中,路径由量化索引的奇偶校验给定。在level[ k ]为当前量化索引的情况下,路径(path)可根据以下确定

其中运算符&表示呈二补码整数算术运算的逐位“和”运算。但,如上文所提及,最后一个变换系数的任何其他二进制函数level[k]可用于定义路径。

在实施例中,使用具有四个可能值的状态变量。在其他实施例中,使用具有不同数量个可能值的状态变量。尤其受关注的是如下的状态变量:用于所述状态变量的可能值的数量表示二的整数幂,即4、8、16、32、64等等。应注意,在某一配置中(如图10b以及图10c的表格中所给定),具有4个可能值的状态变量等效于当前量化集合是通过最后两个量化索引的子集合确定的方法。具有8个可能值的状态变量将对应于当前量化集合是通过最后三个量化索引的子集合确定的类似方法。具有16个可能值的状态变量将对应于当前量化集合是通过最后四个量化索引的子集合确定的方法,等等。即使通常优选的是使用具有等于二的整数幂的数个可能值的状态变量,但并不限于此设置。

在使用状态转换的概念的情况下,当前状态以及因此当前量化集合54是通过(按重构次序)先前状态和先前量化索引唯一地确定的。然而,对于变换块中的第一变换系数,不存在先前状态以及先前量化索引。因此,需要块的第一变换系数的状态被唯一地定义。存在不同可能性。应注意,状态的替代性设置(substitutional setting)为0至3,在此,在此示例中,在第一系数之前的两个先前系数实际上不存在。可能选择为:

● 变换块10的第一状态始终被设置为等于固定预定义值。在实施例中,第一状态被设置为等于0。

● 第一状态的值作为位流的部分被显式地传输。这包括其中仅可由对应的语法元素指示可能状态值的子集合的方法。

● 基于变换块10的其他语法元素导出第一状态的值。这意味着,即使对应的语法元素(或语法元素)被用于以信号方式传递其他方面至解码器,它们还被额外地用于导出第一状态以用于依赖性标量量化。

作为示例,可使用以下方法:在量化的熵编码中(与上文相比较),可在传输量化索引的实际值之前(使用例如x和y坐标),传输按编码次序140的第一非零量化索引的位置(按编码次序14在此第一非零量化索引之前的所有量化索引都不被传输,但被推断等于0)。第一非零量化索引的位置也可用于导出状态变量的初始值。作为简单示例,使M表示根据按编码次序的第一非零量化索引的位置而未被推断为等于0的量化索引的数量,随后初始状态可被设置为等于 s = M % 4,其中运算符%指定模运算符。

● 状态转换概念也可跨越变换块边界应用。这意味着,变换块的第一状态设置为等于按编码次序的先前变换块的最后一个状态(在最终状态更新之后)。这意味着,对于第一量化索引,先前状态被设置为等于最后一个变换块的最后一个状态,且先前量化索引被设置为等于最后一个变换块的最后一个量化索引。换言之,将多个变换块的变换系数(或前进至块10的根据所传输的按编码次序的第一非零量化索引的位置而未被推断为等于0的变换系数的子集合)被视为整体以用于依赖性标量量化。仅在满足某些条件时才可将多个变换块视为整体。例如,仅在多个变换块表示通过最终的块分裂操作获得的块(即,其表示通过最后一个分裂级别获得的块)和/或其表示经图像间编码的块时,才可将多个变换块视为整体。

用于依赖性标量量化的状态转换概念实现用于在解码器中经重构的变换系数的低复杂度实施方案。单个变换块的变换系数的重构过程的示例使用C-style伪码示于图11中。

在图11的伪码中,索引k指定变换系数13的重构次序14。应注意,在示例程序代码中,索引k按重构次序14减小。按重构次序的最后一个变换系数具有等于k=0的索引。第一索引kstart指定第一经重构的变换系数的重构索引(或更准确地,逆重构索引)。变量kstart可设置为等于变换块中变换系数的数量减去1,或其可设置为等于按编码/重构次序的第一非零量化索引的索引(例如,如果在所应用的熵编码方法中传输第一非零量化索引的位置)。在后一情况下,所有先前变换系数(索引k>kstart)被推断为等于0。用于每一单个变换系数的重构过程与图9b的示例相同。关于图9b中的示例,量化索引由level[k]表示,且相关联经重构的变换系数由trec[k]表示。状态变量由“state”表示。应注意,在图11的示例中,在变换块的起点处将状态设置为等于0。但,如上文所论述,其他初始化(例如,基于一些语法元素的值)也是可能的。1d表格setId[]指定与状态变量的不同值相关联的量化集合,且2d表格state_trans_table[][]指定在给定当前状态(第一自变量)和路径(第二自变量)的情况下的状态转换。在示例中,路径由量化索引的奇偶校验给定(使用逐位和运算符&),但如上文所提及,其他概念(特别地,level[k]的其他二进制函数)也是可能的。表格setId[]和state_trans_table[][]的采用C-style语法的示例在图12中给出(这些表格与图10c的表格相同)。

可以不使用表格state_trans_table[][]来确定下一状态,而代之以使用产生相同结果的算术运算。类似地,表格setId[]还可使用算术运算实施(对于给定示例,表格值可通过向右移一的位移位来表示,即“state>>1”)。或者,可使用算术运算实施使用1d表格setId[]查找的表格与符号函数的组合。

在另一实施例中,从状态转换和依赖性重构过程中排除掉等于0的所有量化索引。仅仅使用量化索引等于或不等于0的信息(有可能与第一非零量化索引的位置相结合),以用于将变换系数分割为零和非零变换系数。用于依赖性标量量化的重构过程仅被应用于非零量化索引的有序集合。简单地将与等于0的量化索引相关联的所有变换系数设置为等于0。对应的伪码被示于图13中。

在另一实施例中,将变换系数的块被分解成子块12(参见图4),且语法包括以信号方式传递子块是否包含任何非零变换系数级别的标识。接着,在一个实施例中,仅包括等于0的量化索引的(如通过对应标识以信号方式传递的)子块的量化系数被包括到依赖性重构以及状态转换过程中。在另一实施例中,从图7a以及图7b的依赖性重构/依赖性量化以及状态转换过程中排除这些子块的量化索引。

54中执行的依赖性量化中的状态转换也可使用网格结构表示,如图14中所说明。图14所示的网格对应于图10c的表格中指定的状态转换。对于每一状态,存在将当前变换系数的状态与按重构次序下一个变换系数的两个可能状态相连接的两个路径。路径被标注为路径0和路径1,此数字对应于上文引入的路径变量(对于一实施例,路径变量等于量化索引的奇偶校验)。应注意,每一路径唯一地指定量化索引的子集合(A、B、C或D)。在图14中,在圆括号中指定子集合。在给定初始状态(例如,状态0)的情况下,通过网格的路径被所传输的量化索引唯一地指定。

举例而言,在图14中,对于扫描索引k,状态(0、1、2和3)具有以下性质(也与图15相比较):

● 状态0:先前量化索引level[k-1]指定集合0的重构级别,且当前量化索引level[k]指定集合0的重构级别。

● 状态1:先前量化索引level[k-1]指定集合1的重构级别,且当前量化索引level[k]指定集合0的重构级别。

● 状态2:先前量化索引level[k-1]指定集合0的重构级别,且当前量化索引level[k]指定集合1的重构级别。

● 状态3:先前量化索引level[k-1]指定集合1的重构级别,且当前量化索引level[k]指定集合1的重构级别。

网格由所谓的基本网格胞元(cell)的级联(concatenation)组成。此基本网格胞元的示例示于图15中。应注意,网格并不限于具有4个状态的网格。在其他实施例中,网格可具有更多状态。特别地,表示2的整数幂的任何数量的状态均为合适的。即使网格具有多于2个状态,用于当前变换系数的每一节点通常也与先前变换系数的两个状态以及接下来的变换系数的两个状态连接。然而,也有可能节点与先前变换系数的多于两个状态或接下来的变换系数的多于两个状态连接。应注意,全连接(fully connected)网格(每一状态与先前变换系数的所有状态以及接下来的变换系数的所有状态连接)将对应于非依赖性标量量化。

在实施例中,初始状态无法被自由选择(因为它将需要一些侧信息速率以将此决策传输至解码器)。替代地,初始状态被设置为预定义值,或者其值是基于其他语法元素而导出。在此情况下,并非所有路径和状态都是对于第一变换系数(或从第一非零变换系数开始的第一变换系数)可用的。作为4状态网格的示例,图16示出在初始状态被设置为等于0的情形中的网格结构。

依赖性标量量化的一个方面在于,存在用于变换系数13的不同的可容许重构级别的集合52(也被称作量化集合)。用于当前变换系数的量化集合48是基于用于先前变换系数的量化索引的值58而确定54的。如果考虑图10a中的示例且比较两个量化集合,则显而易见地,等于零的重构级别与相邻重构级别之间的距离在集合0中比集合1中大。因此,如果使用集合0,则量化索引等于0的概率较大,而如果使用集合1,则所述概率较小。在实施例中,在通过基于用于当前量化索引的量化集合(或状态)切换码字表格或概率模型将量化索引56熵编码至位流14中时,利用了此效果。通过例示性地使用二进制算术编码,在图17a和图17b中描绘了此概念。

应注意,为了码字表格或概率模型的合适的切换,当对当前量化索引(或当前量化索引的对应二进制决策)进行熵解码时,所有先前量化索引的路径(与所使用的量化集合的子集合相关联)必须是已知的。因此,必需按重构次序14对变换系数13进行编码。因此,在实施例中,变换系数13的编码次序14等于其重构次序14。除了该方面,量化索引的任何编码/重构次序均为可能的,诸如视频编码标准H.262|MPEG-2 Video或H.264|MPEG-4 AVC中指定的Z形扫描次序、H.265|MPEG-H HEVC中指定的对角线扫描、H.265|MPEG-H HEVC中额外指定的水平或竖直扫描都是任何其他唯一定义的次序。

在实施例中,使用二进制算术编码对量化索引56进行编码。出于该目的,非二进制量化索引56被首先映射80至二进制决策84(其通常被称作二进制位)的序列82上。量化索引56常常作为绝对值88和对于大于0的绝对值的符号86来传输。尽管符号86是作为单个二进制位传输的,但存在用于将绝对值88映射至二进制决策84的序列82上的许多可能性。在图18的表格中,示出四个示例二进制化方法。第一种二进制化方法是所谓的一元二进制化。在此,第一二进制位84a指示绝对值是否大于0。第二二进制位84b(如果存在)指示绝对值是否大于1,第三二进制位84c(如果存在)指示绝对值是否大于2,等等。第二示例是指数哥伦布二进制化,其由一元部分90和固定长度部分92组成。作为第三示例,示出由两个一元编码二进制位94和使用指数哥伦布码表示的后缀部分96组成的二进制化方案。此类二进制化方案在实践中常常使用。一元二进制位94通常使用自适应概率模型进行编码,而后缀部分使用具有pmf (0.5,0.5)的固定概率模型进行编码。一元二进制位的数量并不限于等于2。其可大于2,且其可实际上针对变换块内部的变换系数而变化。替代指数哥伦布码,也可使用任何其他唯一可解码的代码来表示后缀部分96。例如,可使用自适应莱斯码(或类似的参数化代码),其中实际的二进制化取决于已经针对当前变换块编码的量化索引的值。图18中的最后一个示例二进制化方案也开始于一元部分98(其中第一二进制位指定绝对值是否大于0,且第二二进制位指定绝对值是否大于1),但下一个二进制位100指定绝对值的奇偶校验,最后,其余部分是使用指数哥伦布码102表示的(应注意,为所述奇偶校验二进制位的两个值中的每一个使用单独的指数哥伦布码)。如先前的二进制化方案所述,指数哥伦布码102可替换为任何其他唯一可解码的代码(诸如,参数化莱斯码、一元码,或不同代码的任何级联),且98中一元编码二进制位的数量可增大或减小,或甚至针对变换块中的不同变换系数来调适。

通常使用自适应概率模型(也被称作上下文)对用于绝对级别的二进制位的至少一部分进行编码。在实施例中,基于量化索引56所属的用于对应变换系数的量化集合48(或更一般而言,对应的状态变量),选择103一个或多个二进制位的概率模型。所选的概率模型或上下文可取决于已传输的量化索引的多个参数或性质,但所述参数中的一个是应用于正在被编码的量化索引的量化集合48或状态。

在实施例中,用于传输变换块的量化索引的语法包括指定量化索引56是否等于零或其是否不等于0的二进制位,如84a、或者90、94、98中的第一二进制位。用于对此二进制位进行编码的概率模型是在由两个或更多个概率模型或上下文或上下文模型构成的集合中选择的。所使用的概率模型的选择取决于应用于对应量化索引的量化集合48(即,重构级别的集合)。在另一实施例中,所使用的概率模型取决于当前状态变量(所述状态变量意指所使用的量化集合),或换言之,取决于量化集合48、以及两个(或更多个)紧接先前系数的奇偶校验104。

在另一实施例中,用于传输量化索引的语法包括指定量化索引(变换系数级别)的绝对值是否大于一的二进制位,诸如84b或第二二进制位90、94和98。用于对此二进制位进行编码的概率模型是在由两个或更多个概率模型构成的集合中选择103的。所使用的概率模型的选择取决于应用于对应量化索引的量化集合48(即,重构级别的集合)。在另一实施例中,所使用的概率模型取决于当前状态变量(状态变量意指所使用的量化集合),或换言之,取决于量化集合84以及紧接先前系数的奇偶校验104。

在另一实施例中,用于传输变换块的量化索引的语法包括指定量化索引是否等于零或其是否不等于0的二进制位、以及指定量化索引(变换系数级别)的绝对值是否大于一的二进制位。用于两个二进制位的概率模型的选择103取决于用于当前量化索引的量化集合或状态变量。替代地,仅用于第一二进制位(即,指示量化索引等于或不等于零的二进制位)的概率模型的选择103取决于用于当前量化索引的量化集合或状态变量。

应注意,如果(至少)用于按编码次序的先前量化索引的路径变量(例如,由奇偶校验给定)是已知的,则量化集合48、或者确定48和104的状态变量仅可用于选择概率模型。例如,如果类似于HEVC,基于4×4子块针对每一子块对量化索引进行编码,通过使用对应的4×4传输系数数组上的多个遍次(pass)来传输量化索引,则情况并非如此。在HEVC中,在4×4子块上的第一遍次中,传输标识sig_coeff_flag,其指示对应的量化索引是否不等于零。在第二遍次中,针对sig_coeff_flag 等于1的系数,传输标识coeff_abs_level_greater1_flag,其指示对应的量化索引的绝对值是否大于1。针对一子块,传输至这些标识中的最多8个。接下来,针对coeff_abs_level_greater1_flag 等于1的第一量化索引(如果有),传输标识coeff_abs_level_greater2_flag。随后,针对整个子块,传输符号标识。且最后,传输非二进制语法元素coeff_abs_level_remaining,其指定量化索引(变换系数级别)的绝对值的其余部分。为了传输非二进制语法元素coeff_abs_level_remaining,可使用自适应莱斯码。在此情况下,在第一遍次中不存在用于确定48和104的足够信息。

为了使用取决于当前重构级别的集合(或状态变量)的概率模型的选择,二进制位的编码次序必须被改变。

存在两种基本可能性:

● 在实施例中,对指定量化索引56的绝对值88的所有二进制位82连续地进行编码。这意味着,在当前量化索引的第一二进制位被编码之前,对所有按编码/重构次序14的先前量化索引56的所有二进制位82(针对绝对值88)进行编码。符号二进制位86,即沿着路径14,可以或可以不在变换系数13上的第二遍次中被编码(其实际上可取决于所使用的量化集合)。用于一子块的符号二进制位可在用于所述子块的绝对值的二进制位之后、但在下一个子块的任何二进制位之前被编码。在此情况下,先前绝对量化索引的二进制表示的最低有效位部分诸如LSB自身,可被用于控制选择54。

● 在另一实施例中,仅在变换系数上的第一遍次中对指定量化索引的绝对值的二进制位的子集合连续地进行编码。但这些二进制位唯一地指定量化集合(或状态变量)。在变换系数上的一个或多个额外遍次中对剩余二进制位进行编码。此方法可例如基于与图18中的表格的右边的列中所示的二进制化方案类似的二进制化方案。特别地,这包括其中二进制化包含显式奇偶校验标识的方法(如图18的右边的列中例示的方法)。如果假设路径由量化索引的奇偶校验指定,则足以在变换系数上的第一遍次中传输一元部分98和奇偶校验二进制位100。然而,也有可能第一遍次包括一个或多个额外二进制位。102中包括的剩余二进制位可在一个或多个额外遍次中传输。在其他实施例中,使用类似概念。例如,一元二进制位的数量可被修改,或者甚至可基于已传输的码元,即沿着路径14,对该一元二进制位的数量进行调适。且可不使用指数哥伦布程序代码,而代之以使用不同自适应或非自适应代码(例如,如H.265|MPEG-H HEVC中的自适应莱斯码)。可基于子块使用不同遍次,在此情形中,在多个遍次中对用于一子块的二进制位进行编码,但是子块的所有二进制位在传输下一子块的任何二进制位之前被传输。

图17b示出用于量化索引56的熵解码过程、以及因此图17a的逆向过程,其中反向地执行二进制位82的熵解码85'以及二进制位82至级别56的映射80'(反二进制化),且以相同方式执行上下文导出103。

应注意的一个方面在于,当针对量化索引(其也被称作量化级别)的二进制表示的一个或多个二进制位的概率模型的选择取决于量化集合48,即沿着路径14,(可容许重构级别的集合)或者用于当前量化索引的对应状态变量,即48和104时,变换系数的依赖性量化可有利地与熵编码组合。量化集合48(或状态变量)是通过用于按编码和重构次序的先前变换系数的量化索引(或表示量化索引的二进制位的子集合)给定的。

根据一些实施例,将概率模型的所描述选择与以下熵编码方面中的一个或多个相组合:

● 用于变换块的标识的传输,所述标识指定用于变换块的量化索引中的任一个是否不等于零,或者用于变换块的所有量化索引是否等于零。

● 将变换块(至少,对于超过由块的尺寸或所包含采样的数量给出的预定义大小的变换块10)分割为多个子块120的系数的分割。如果将变换块分割为多个子块,则对于子块12中的一个或多个,传输指定子块是否包含任何非零量化索引的标识(除非基于已传输的语法元素对其进行推断)。子块也可用于指定二进制位的编码次序。例如,二进制位的编码可被分裂至子块12中,使得一子块的所有二进制位在传输下一子块的任何二进制位之前被编码。但用于特定子块的二进制位可在此子块内部的变换系数上的多个遍次中被编码。例如,指定用于子块的量化索引的绝对值的所有二进制位可在任何符号二进制位被编码之前被编码。用于绝对值的二进制位也可被分裂至多个遍次中,如上文所论述。

● 按编码次序的第一非零量化索引的位置的传输。位置可作为指定在变换系数13的2d数组中的位置的x和y坐标来传输,其可作为按扫描次序的索引来传输,或其可通过任何其他方式传输。

如图19a中所说明,所传输的按编码次序14的第一非零量化索引120(或变换系数120)的位置指定按编码次序14位于所标识系数120前面的所有变换系数(图19a中的非阴影部)被推断为等于零。仅针对指定位置120处的系数以及按编码次序14在此系数120之后的系数(图19a中的标示阴影部)传输进一步的数据15。图19a中的示例示出具有4×4子块12的16×16变换块10;所使用的编码次序14为H.265|MPEG-H HEVC中指定的逐子块对角线扫描。应注意,对于指定位置处(按编码次序120的第一非零系数)的量化索引56的编码可以是特定的。举例而言,如果对于量化索引的绝对值的二进制化包括指定量化索引是否并不等于0的二进制位,则对于指定位置处的该量化索引,不发送此二进制位(已经知晓该系数不等于0),而代之以将该二进制位推断为等于1。

● 使用二进制化方案传输量化索引的绝对值,所述二进制化方案由使用自适应概率模型编码的多个二进制位、和在经自适应编码的二进制位尚未完全指定绝对值的情况下在算术编码引擎(具有对于所有二进制位的pmf(0.5,0.5)的非自适应概率模型)的旁路模式中编码的后缀部分如92、96和102组成的。用于后缀部分的二进制化可额外地取决于已传输的量化索引的值。

● 用于量化索引的绝对值的二进制化包括指定量化索引是否不等于0的经自适应编码的二进制位,诸如84a或者90、94或98中的第一二进制位。用于对此二进制位进行编码的概率模型(也被称作上下文)是在候选概率(上下文)模型中选择的。所选择的候选概率模型不仅可通过量化集合48(可容许重构级别的集合)、或者用于当前量化索引的状态变量(48和104)来确定,而且额外地其也通过用于变换块10的已传输的量化索引(或指定量化索引的一部分的二进制位,如上文所描述)、或者按编码次序16位于当前量化索引前面的系数13的索引56(或其部分)来确定。在实施例中,量化集合48(或状态变量)确定可用概率模型的子集合(也被称作上下文集合),且用于量化索引的已编码二进制位的值确定此子集合(上下文集合)内部的所使用概率模型。

在第一实施例中,上下文集合内部的所使用概率模型是通过相邻子块的coded_subblock_flag(其指定子块是否包括任何非零量化索引)的值确定的(类似于H.265|MPEG-H HEVC)。

在另一实施例中,上下文集合内部的所使用概率模型是基于当前变换系数的局部邻域122中的已编码量化索引(或用于量化索引的已编码二进制位)的值确定的。这种局部邻域的示例可被称作模板122,且在图19b中示出。在该图中,将当前变换系数13'标示为黑色,且将局部邻域122标示为阴影。在下文中,列出了一些示例度量,所述度量可基于局部邻域122中的量化索引(或经部分重构的量化索引,其由在当前二进制之前传输的二进制位给定)的值导出,且可随后用于选择预定上下文集合的概率模型:

○ 局部邻域122内部的不等于0的量化索引的数量。此数量有可能可被剪切至最大值;和/或

○ 局部邻域122中的量化索引的绝对值的和。此数量可被剪切至最大值;和/或

○ 局部邻域中的量化索引的绝对值的和与局部邻域内部的不等于0的量化索引的数量的差。此数量可被剪切至最大值。

对于在多个遍次中传输用于量化索引的绝对值的二进制位(如上文所论述)的编码次序,使用已传输的的二进制位计算出上述度量。这意味着,不使用完整的绝对值(其不是已知的),而代之以使用经部分重构的绝对值。

在此上下文中,不使用量化索引(其为在位流内部传输的整数),而可以代之以使用量化步长的整数倍数。这些倍数是图9a、图9b、图11和图13中的伪码示例中的变量n。其表示经重构的变换系数与量化步长的商(舍入至最接近整数)。

此外,可(显式地,或与上文所列的度量相结合地)使用可用于解码器的其他数据,以用于导出预定上下文集合内部的概率模型。此类数据包括:

○ 块10中的当前变换系数13'的位置(x坐标,y坐标,对角线数量,或其任何组合)。

○ 当前块10的大小(竖直大小,水平大小,采样数量,或其任何组合)。

○ 当前变换块16的纵横比。

● 用于量化索引的绝对值的二进制化包括指定量化索引的绝对值是否大于1的经自适应编码的二进制位。用于对此二进制位进行编码的概率模型(被称为上下文)是在候选概率模型的集合中选择的。所选择的概率模型不仅可通过量化集合48(可容许重构级别的集合)或用于当前量化索引的状态变量即48和104来确定,而且也可独有性地通过用于变换块的已传输的量化索引来确定。在实施例中,量化集合(或状态变量)确定可用概率模型的子集合(也被称作上下文集合),且已编码的量化索引的数据确定此子集合(上下文集合)内部的所使用概率模型。在另一实施例中,相同的上下文集合被用于所有量化集合/状态变量,且已编码的量化索引的数据确定所使用概率模型。为了选择概率模型,可使用上文所描述的(针对指定量化索引是否不等于0的二进制位的)方法中的任一个。

可应用在依赖性标量量化与非依赖性标量量化之间的自适应选择。在一个实施例中,将具有依赖性量化的变换编码(以及可能地,量化索引的经调适熵编码)应用于所有变换块。例外情况可以是在无损编码模式中(即,无任何量化)或在不包括变换的编码模式中被编码的块。

也有可能的是,编解码器包括两种变换编码模式:(a)具有非依赖性标量量化的传统变换编码,以及(b)具有依赖性量化的变换编码。将两种变换编码方法(具有非依赖性或依赖性标量量化的变换编码)中的哪一个用于变换块可使用适合的语法元素显式地以信号方式传递至解码器,或者其可基于其他语法元素导出。也有可能的是,首先显式地以信号方式传递是否启用具有依赖性量化的变换编码,且随后(如果启用的话)基于其他语法元素导出是否将具有依赖性量化的变换编码实际用于变换块。

显式的信号方式传递可包括以下方法中的一种或多种:

● 在诸如序列参数集合、图像参数集合或切片头部等高级语法结构中传输的高级语法元素(通常为标识)指示是否使用具有依赖性量化的变换编码或者具有非依赖性标量量化的传统变换编码。在此上下文中,有可能的是,仅针对明亮度或色度块(或更一般而言,某些色彩通道的块)启用/禁用依赖性量化的使用。在另一实施例中,高级语法元素指示是否针对编码视频序列、图像或切片启用具有依赖性量化的变换编码(有可能的是,仅针对明亮度或色度块启用具有依赖性量化的变换编码)。如果针对编码视频序列、图像或切片启用具有依赖性量化的变换编码,则可基于某些块参数导出(参见下文)将变换编码方法中的哪一个用于块的实际决策。同样,可将专用语法元素用于以信号方式传递用于明亮度和色度块的不同设置。

● 语法可包括低级语法元素(即,以块为基础的语法元素),其指定是否将具有依赖性量化的变换编码或者传统变换编码用于对应块。此类语法元素可基于CTU、CU、变换块等等进行传输。如果针对包括多个变换块的实体对此类语法元素进行编码,则此类语法元素应用于所包含的所有变换块。然而,其可仅应用于某些色彩通道的变换块(例如,仅应用于明亮度块或仅应用于色度块)。

除显式信号方式传递之外,还可基于对应块的参数导出是否使用变换系数的依赖性量化或非依赖性量化对变换块进行编码的决策。这些参数必须在传输用于块的变换系数的实际量化索引之前被编码(或基于其他已传输的语法元素导出)。在其他可能性中,块自适应决策可基于以下参数中的一个或多个:

● 块量化参数:例如,对于量化参数(QP)小于特定阈值(其也可在高级语法结构中被指示出)的块,使用具有依赖性量化的变换编码;且对于QP大于或等于阈值的块,使用具有非依赖性标量量化的传统变换编码。

● 按编码次序的第一非零量化索引的位置:在给定第一非零系数的位置的情况下,可导出实际传输的的量化索引的数量(不包括基于第一非零量化索引的传输位置推断为等于0的量化索引)。作为示例,对于实际传输的的量化索引的数量大于阈值(阈值可或可不取决于块的大小或块内部采样的数量)的块,使用依赖性量化,且对于所有其他块,使用非依赖性标量量化。

除第一非零系数的位置之外,指示子块是否包含任何非零量化索引的标识还可用于确定实际传输的量化索引的数量。在此情况下,所谓的编码子块标识(其指示子块是否包含任何非零系数)必须在第一量化索引被编码之前被编码。

● 变换块的大小(水平大小、竖直大小或变换块中采样的数量)。

● 用于重构变换块的变换(或变换类型)。此准则可应用于支持多种变换的视频编解码器中。

● 上文指定的准则的任何组合。

对于其中在图像或切片中可一起使用具有依赖性标量量化的变换编码和传统变换编码(具有非依赖性标量量化)两者的实施例,可优选的是针对这二种方法使用量化步长与量化参数之间的不同关系。例如,解码器可包括用于非依赖性量化的用于将块量化参数映射至量化步长的一个表格、和用于依赖性量化的用于将块量化参数映射至量化步长的另一表格。替代地,解码器可包括用于将量化参数映射至量化步长的单个表格(如在H.265|MPEG-H AVC中),但对于使用依赖性标量量化的变换块,在将量化步长用于变换系数的重构过程中之前,将其乘以预定义因子。应注意,对于经重构变换系数而言,与量化步长相乘实际上可实施为相乘与位移位的组合。接着,标称量化步长与预定义因子的相乘可实施为对于位移位的修改和对于缩放因子的修改。如另一替代方案,对于使用依赖性量化编码的变换块,在将偏移映射至所使用量化步长的前,可将偏移加到量化参数中(或从量化参数中减去偏移)。

此外,对于具有依赖性量化的变换编码,可基于变换系数的数量对所使用的量化步长进行调适。出于该目的,可使用上文所描述的用于修改量化大小的技术中的任一个(查找表、相乘因子、对于缩放参数和位移位参数的修改)。实际传输的量化索引的数量可通过以下方法中的一个或多个(或通过任何其他方式)确定:

● 所传输的量化索引的数量可基于按编码次序的第一非零量化索引的位置导出(参见上文)。

● 所传输的量化索引的数量可基于按编码次序的第一非零量化索引的位置以及所传输的编码子块标识的值导出(编码子块标识指示子块是否包含任何非零量化索引,或替代地,是否包含任何非零变换系数)。

● 所传输的量化索引(用于确定量化步长)的数量可基于变换块内部非零量化索引的数量导出。

应注意,对于量化索引的熵解码来讲,并不需要量化步长已知。仅需要对变换系数进行实际重构。因此,可使用任何语法元素和所导出的参数来计算变换系数的重构中所使用的量化步长。

作为用于编码的示例方法,提供以下描述。

为了获得提供失真(重构质量)与比特率之间的极好权衡的位流,量化索引应以使得如下的拉格朗日成本度量最小化的方式来选择

对于非依赖性标量量化,此量化算法(被称作速率-失真优化量化或RDOQ)已在上文中论述。但相较于非依赖性标量量化,具有额外困难。经重构的变换系数

然而,如上文已论述,变换系数之间的依赖性可使用网格结构表示。为了进一步描述,使用图10a中给定的实施例作为示例。举例而言,图20中示出8个变换系数的块的网格结构。通过网格(从左至右)的路径表示量化索引的可能状态转换。应注意,两个节点之间的每一连接表示特定子集合(A、B、C、D)的量化索引。如果从子集合(A、B、C、D)中的每一个选择量化索引

则确定使总体速率-失真成本

用于选择用于变换块的合适的量化索引的示例编码算法可由以下主要步骤组成:

1. 将初始状态的速率-失真成本设置为等于0。

2. 对于按编码次序的所有变换系数,执行以下操作:

a. 对于每一子集合A、B、C、D,确定使给定原始变换系数的失真最小化的量化索引。

b. 对于用于当前变换系数的所有网格节点(0、1、2、3),执行以下操作:

i. 计算连接先前变换系数的状态与当前状态的两个路径的速率-失真成本。该成本作为先前状态的成本与成本

ii. 将计算出的成本的最小值分配至当前节点,且将连接修剪至不表示最小成本路径的先前变换系数的状态。

应注意:在此步骤之后,当前变换系数的所有节点均具有与先前变换系数的任何节点的单个连接。

3. 比较4个最终节点(针对按编码次序的最后一个系数)的成本,且选择具有最小成本的节点。应注意,此节点与通过网格的唯一路径相关联(在先前步骤中曾修剪了所有其他连接)。

4. 按逆向次序遵循(由最终节点指定的)所选路径,且收集与网格节点之间的连接相关联的量化索引。

应注意,基于维特比(Viterbi)算法对量化索引的确定实质上并不比用于非依赖性标量量化的速率-失真优化量化(rate-distortion optimized quantization,RDOQ)复杂。尽管如此,还存在用于依赖性量化的更简单编码算法。例如,从预定义初始状态(或量化集合)开始,可通过将任何成本度量最小化为仅考虑当前量化索引的影响,按编码/重构次序确定量化索引。在给定所确定的用于当前系数的量化索引(以及所有先前量化索引)的情况下,用于下一个变换系数的量化集合是已知的。并且,因此,算法可按编码次序应用于所有变换系数。

总之,图1、图6b、图7a、以及其与图17a的任何组合中所示的编码器表示本申请的媒体信号编码器的示例。同时,图6a、图7b、以及其与图17b的任何组合表示本申请的媒体信号解码器的示例。尽管如此,仅作为预防性措施,且因为图1曾主要被引入示出由HEVC编码器使用的结构时,因此应再次注意的是,图1形成作为可能的实施例,即用于将由图像212的序列构成的视频211预测性地编码至数据流14中的装置。为此目的,使用逐块的预测性编码。额外地,例示性地使用基于变换的残差编码。使用参考符号210指示所述装置或编码器。图21示出对应的解码器220,即配置为从所述数据流14中预测性地解码由图像块中的图像212'构成的视频211'的装置220,在此也例示性地使用基于变换的残差解码,其中撇号一直用于指示分别由解码器220重构的图像212'和视频211'从由预测残差信号的量化引入的编码损耗方面来讲,偏离于原始由装置210编码的图像212。图1和图21例示性地使用基于变换的预测残差编码,但本申请的实施例并不限于此种预测残差编码或甚至并不限于包括预测残差的编码和量化的预测性编码。

编码器210配置为使预测残差信号经受空间-频谱变换,且将因此获得的预测残差信号编码至数据流14中。类似地,解码器220配置为从数据流14中解码预测残差信号,且使因此获得的预测残差信号经受频谱-空间变换。

在内部,编码器210可包括预测残差信号形成器222,其产生预测残差224以便测量预测信号226与原始信号即视频211或当前图像212的偏差。预测残差信号形成器222可例如是从原始信号即当前图像212中减去预测信号的减法器。编码器210接着进一步包括变换与量化级228,其使预测残差信号224经受上文所论述的变换中的任一个,以获得经变换预测残差信号,且使所述预测残差信号经受量化。上文已经相对于图7a描述量化概念。因此经量化的预测残差信号224''被编码至位流14中,且由前文提及的量化索引56组成。为了编码至数据流14中,编码器210可任选地包括熵编码器234,其将经变换和量化的预测残差信号熵编码至数据流14中。在解码器侧处可重构的经量化预测残差信号224'''是通过使用反量化与逆变换级238,基于被编码至数据流14中以及从数据流14中可解码的预测残差信号224''而产生的,所述反量化与逆变换级238根据图7b对预测残差信号224''进行反量化以便获得经重构的变换系数13,且使由系数13构成的变换经受逆变换,诸如上文所论述的逆变换中的一个,以获得预测残差信号224''',其对应于除了量化损耗以外的预测残差信号224。组合器242接着诸如通过相加,将预测信号226与经重构的预测残差信号224'''重新组合,以便获得经重构信号246,即原始信号212的重构。经重构信号246可对应于信号212',或者表示初步的经重构信号,该初步的经重构信号将经受环路滤波247以获得重构信号212',和/或经受后滤波(图1中未示出)。预测模块244接着通过使用例如空间预测248,即帧内预测;和/或时间预测249,即帧间预测,基于信号246产生预测信号226。熵编码器234不仅将预测残差224''熵编码至所述数据流14中,而且除残差数据224''外,还将诸如预测模式、预测参数、量化参数和/或滤波器参数之类的描述图像的其他编码数据熵编码至数据流中。熵编码器234以无损方式将所有这种数据编码至数据流14中。

类似地,解码器220在内部可包括与由预测模块244和组合器242形成的预测回路以及级234和238的逆向级相对应的组件,并以与所述预测回路和逆向级相对应的方式互连。特别地,解码器220的熵解码器250可从数据流中对经量化的谱域预测残差信号224''进行熵解码。可以与编码器同步的方式进行上下文导出。其结果是包括例如预测残差数据224''的编码数据。基于此,反量化与逆变换模块252根据图7b对此信号进行反量化,且对此信号进行逆变换,以获得信号224''',即空间域中的残差信号,且预测模块258和组合器256以及可选的环路滤波器247'形成预测回路,信号224'''被馈入该预测回路中,且该预测回路对应于编码器中的回路,其中组合器256的输出基于预测残差信号224'''产生经重构信号,使得如图21中所示,组合器256的输出产生经重构信号,即视频211'或其当前图像212'。

编码器210可根据某种优化方案,诸如以优化某种速率与失真相关准则(即编码成本)、和/或使用某种速率控制(被一般性地指示为图1中的编码器控制213)的方式,设置一些编码参数,包括例如预测模式、运动参数等等。如所描述的,编码器210和解码器220以及对应的模块244、258分别支持不同预测模式,诸如帧内编码模式和帧间编码模式。如由某种决策模块243决定的,编码器与解码器在这些预测模式之间切换的精细度可对应于将图像212和212'分别划分为块的细分。应注意,这些块中的一些可以仅仅是经帧内编码的块,且一些块可以仅仅是经帧间编码的块,且可选地,甚至另外的块可以是使用帧内编码和帧间编码两者获得的块。根据帧内编码模式,基于相应块的空间已编码/解码的邻域,获得用于该块的预测信号。可在多种帧内编码子模式之中作出选择,准(quasi)表示一种帧内预测参数。可存在方向性或角度性的帧内编码子模式,根据所述子模式,通过将邻域的采样值沿着特定用于相应方向性帧内编码子模式的某一方向外插至相应块中,对用于所述相应块的预测信号进行填充。帧内编码子模式例如还可包括:诸如DC编码模式的一个或多个其他子模式,根据所述子模式,用于相应块的预测信号将DC值分配给所述相应块内的所有采样;和/或平面帧内编码模式,根据所述模式,相应块的预测信号被近似于或确定为由二维线性函数所描述的采样值在所述相应块的采样位置上的空间分布,其具有基于相邻采样的由二维线性函数定义的平面的导出倾斜和偏移。与其相比较,根据帧间预测模式,可例如通过在时间上预测块内部来获得块的预测信号。对于帧间预测模式的参数化,可在数据流内以信号方式传递运动向量,所述运动向量指示视频211的先前编码图像的部分的空间移位,在所述空间位移处对先前编码/解码图像进行采样以便获得相应块的预测信号。这意味着,除数据流14所包括的残差信号编码之外,诸如表示经量化的谱域预测残差信号224''的经熵编码的变换系数级别,数据流14还可具有编码于其中的用于分配给块预测模式的预测相关参数,用于所分配预测模式的预测参数,诸如用于帧间预测模式的运动参数,以及可选地,使用所分配预测模式和预测参数对用于块的最终预测信号的组成进行控制的其他参数。额外地,数据流可包括对分别将图像212以及212'划分为块的细分进行控制和以信号方式传递的参数,所述块诸如是变换块,通过单独地对所述变换块进行变换而从所述变换块获得变换系数块10。解码器220使用这些参数以与编码器相同的方式对图像进行细分,以将相同预测模式和参数分配给块,且执行相同预测以产生相同预测信号,且对个体变换系数块10执行例如逆变换以得到变换块中的一个。即,可通过使用当前图像块的空间邻域中已经重构的采样进行图像内预测或使用已经完全重构图像的采样进行经运动补偿的预测,来获得预测信号。

图22示出了一方面的经重构信号(即,经重构图像212')、与另一方面的如经由数据流14以信号方式传递的预测残差信号224'''与预测信号226的组合之间的关系。如上文已经标示的,所述组合可以是相加。预测信号226在图22中被图示为将图像区域分为具有变化大小的块280的细分,但此仅是示例。所述细分可以是任何细分,诸如将图像区域分为块的行和列的常规细分,或者将图像212分为具有变化大小的叶块的多叉树细分,诸如四叉树细分等,其中在图22中示出上述细分的混合,其中将图像区域首先细分为树根块的行和列,接着进一步根据递归多叉树细分来细分树根块,以产生块280。

图22中的预测残差信号224'''也被图示为将图像区域分成块284的细分。这些块可被称作变换块,以便将其与编码块280区分开。实际上,图22示出编码器210和解码器220可使用将图像212和图像212'分别分成块的两种不同细分,即分成编码块280的一种细分以及分成变换块284的另一种细分。两种细分可能相同,即,每一块280可同时形成变换块284且反之亦然,但图22示出如下情形:其中,例如分成变换块284的细分形成分成块280的细分的延伸,使得两个块280之间的任何边界与两个块284之间的边界重叠,或替代来讲,每个块280与变换块284中的一个重合,或者与变换块284的簇重合。然而,所述细分也可独立于彼此来确定或选择,使得变换块284可替代地跨越块280之间的块边界。就分为变换块284的细分而言,与关于分为块280的细分所提出的那些陈述相似的陈述也因此成立,即,块284可以是图像区域分成以列和行布置的块的常规细分的结果,图像区域的递归多叉树细分的结果,或其组合或任何其他类别的分割。顺便指出,应注意,块280和284不限于正方形、矩形或任何其他形状。此外,将当前图像212分成用以形成预测信号的块280的细分,以及将当前图像212分成用以对预测残差进行编码的块284的细分,可能并不是用于编码/解码的仅有细分。这些细分形成用以执行预测信号确定和残差编码的精细度,但首先,残差编码可替代地在无细分的情况下进行,且其次,在不同于这些细分的精细度下,编码器以及解码器可设置某些编码参数,其可包括诸如预测参数等等前述参数中的一些。

图22示出,预测信号226与预测残差信号224'''的组合直接产生重构信号212'。然而,应注意,根据替代实施例,多于一个预测信号226可与预测残差信号224'''组合以产生图像212',诸如从其他视图、或从例如在具有分开的DPB的分开的预测回路中编码/解码的其他编码层获得的预测信号。

在图22中,变换块284应具有以下显著性。模块228和模块252以这些变换块284为单位来执行其变换。举例而言,许多编解码器使用某种DST或DCT以用于所有变换块284。一些编解码器允许跳过变换,使得对于变换块284中的一些,直接在空间域中对预测残差信号进行编码。然而,根据下文描述的实施例,编码器210和解码器220以如下方式配置:使得它们支持多种变换。例如,由编码器210和解码器220支持的变换可包括:

○ DCT-II (或DCT-III),其中DCT代表离散余弦变换

○ DST-IV,其中DST代表离散正弦变换

○ DCT-IV

○ DST-VII

○ 恒等变换(IT)

自然地,在模块228将支持这些变换的所有正向变换版本的同时,解码器220或逆变换器252也将支持其对应的后向或逆向版本:

○ 逆DCT-II (或逆DCT-III)

○ 逆DST-IV

○ 逆DCT-IV

○ 逆DST-VII

○ 恒等变换(IT)

在此,可在水平和竖直方向上应用不同变换。作为示例,可在水平方向上使用DCT-II且可在竖直方向上使用DST-VII,或反之亦然。

在任何情形中,应注意,所支持变换的集合可仅包括一个变换,诸如一个频谱-空间或空间-频谱变换,且除此之外,还可参考提供了进一步注释和示例的上文描述。

因此,上文描述尤其揭露一种视频解码器,其中通过使用图像内或图像间预测对采样进行、从位流中对量化索引进行句法分析、使用依赖性量化对变换系数进行重构(使用当前以及一个或多个先前量化索引计算经重构的变换系数的值)、对经重构的量化系数进行逆变换以用于获得经重构预测误差采样的块、以及将经重构的预测误差采样与预测信号相加以便获得经重构的视频采样的块,对采样的一个或多个块进行重构,所述块可被称作图像块,以及所述采样可被称作空间的或经重构的或经解码的采样。在此,变换系数的依赖性重构可使用两个不同(但不一定不相交)的可容许重构级别的集合而实现。可通过基于按重构次序的先前量化索引的值选择重构级别的集合中的一个、使用当前变换系数的量化索引(所述量化索引指定可容许重构值的有序集合中的整数索引)选择所选择集合中的一个重构级别,按所定义的重构次序对变换系数进行重构。所述可容许重构值的集合的选择可通过按重构次序的先前量化索引的奇偶校验指定。所述可容许重构值的集合的选择可使用具有以下性质的状态转换表格(或等效算术运算)来实现:在变换块的重构过程的开始处,将状态变量设置为等于定义值;所述状态唯一地确定用于下一个变换系数的可容许重构值的集合;使用升序循环(loop-up)成为2d表格的表格导出下一个变换系数的状态,其中第一索引是通过当前状态给定的,且第二索引是通过当前量化索引的奇偶校验给定的。替代地或额外地,可容许重构级别的第一集合可包括量化步长的所有偶整数倍数;可容许重构级别的第二集合可包括量化步长的所有奇整数倍数,且额外地,重构级别等于零。在此,量化步长可取决于变换块内部变换系数的位置(例如由量化加权矩阵指定)。额外地或替代地,量化步长可取决于可逐个块地进行修改的量化参数。熵编码可包括量化索引的值或绝对值的二进制化,且可使用自适应二进制概率模型对二进制位中的一个或多个进行编码,其中对于使用自适应概率模型进行编码的二进制位中的一个或多个,所使用的概率模型可在自适应概率模型的集合之中选择,且可基于所述可容许重构级别的集合(或状态)选择所述概率模型。所述对于量化索引的二进制化可包括指定量化索引是否等于零或不等于零的二进制位,且使用自适应概率模型对所述二进制位进行编码,在自适应概率模型的集合之中选择所述自适应概率模型;且可选择可用概率模型的集合中的子集合,从而给定用于当前量化索引(或状态)的可容许重构级别的集合;且可使用当前量化索引的局部邻域(变换系数数组)中的量化索引的性质,在所选子集合中确定所使用的概率模型。可在变换块或变换块的子块(其表示变换块内部变换系数的位置的子集合)上,对由量化索引的二进制化产生的二进制位进行多遍熵解码。在第一遍次中编码的二进制位可包括以下二进制位的任何组合:指定量化索引是否等于零或不等于零的二进制位;指定量化索引的绝对值是否大于一或不大于一的二进制位;指定量化索引的奇偶校验(或量化索引的绝对值的奇偶校验)的二进制位。

尽管已在装置的上下文中描述一些方面,但显然,这些方面也表示对应方法的描述,其中块或设备对应于方法步骤或方法步骤的特征。类似地,方法步骤的上下文中所描述的方面也表示对应装置的对应块或项或特征的描述。可通过(或使用)硬件装置,例如微处理器、可编程计算机或电子电路,执行方法步骤中的一些或全部。在一些实施例中,可通过这种装置执行最重要的方法步骤中的一个或多个。

本发明的编码数据流可存储于数字存储介质上或可在诸如无线传输介质的传输介质或诸如因特网的有线传输介质上传输。

取决于某些实施要求,本发明的实施例可在硬件或软件中实施。可使用上面存储有与可编程计算机系统协作(或能够协作)的电子可读控制信号,使得执行相应方法的数字存储介质(例如,软盘、DVD、蓝光光盘、CD、ROM、PROM、EPROM、EEPROM或闪存)来进行实施。因此,数字存储介质可以是计算机可读的。

根据本发明的一些实施例包括具有电子可读控制信号的数据载体,所述控制信号能够与可编程计算机系统协作,使得执行本文中所描述的方法中的一个。

大体而言,本发明的实施例可实施为具有程序代码的计算机程序产品,当计算机程序产品运行于计算机上时,程序代码操作性地用于执行所述方法中的一个。程序代码可例如存储于机器可读载体上。

其他实施例包括存储于机器可读载体上的用于执行本文中所描述的方法中的一个的计算机程序。

换言之,本发明方法的实施例因此为计算机程序,其具有用于在计算机程序运行于计算机上时执行本文中所描述的方法中的一个的程序代码。

因此,本发明方法的另一实施例为数据载体(或数字存储介质,或计算机可读介质),其包括记录于其上的用于执行本文中所描述的方法中的一个的计算机程序。数据载体、数字存储介质或记录介质通常是有形的和/或非暂时性的。

因此,本发明方法的另一实施例为表示用于执行本文中所描述的方法中的一个的计算机程序的数据流或信号序列。数据流或信号序列可例如配置为经由数据通信连接(例如,经由因特网)而传送。

另一实施例包括处理手段,例如经配置或调适以执行本文中所描述的方法中的一个的计算机或可编程逻辑器件。

另一实施例包括上面安装有用于执行本文中所描述的方法中的一个的计算机程序的计算机。

根据本发明的另一实施例包括配置为将用于执行本文中所描述的方法中的一个的计算机程序(例如,电子地或光学地)传送至接收器的装置或系统。接收器可例如为计算机、移动设备、存储设备等。装置或系统可例如包括用于传送计算机程序至接收器的文件服务器。

在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可用以执行本文中所描述的方法的功能性中的一些或全部。在一些实施例中,现场可编程门阵列可与微处理器协作,以便执行本文中所描述的方法中的一个。通常,所述方法优选地由任何硬件装置来执行。

本文中所描述的装置可使用硬件装置或使用计算机或使用硬件装置与计算机的组合来实施。

本文中所描述的装置或本文中所描述的装置的任何组件可至少部分地以硬件和/或以软件来实施。

本文中所描述的方法可使用硬件装置或使用计算机或使用硬件装置与计算机的组合来执行。

本文中所描述的方法或本文中所描述的装置的任何组件可至少部分地由硬件和/或由软件来执行。

上述实施例仅说明本发明的原理。应理解,对本文中所描述的配置和细节的修改和变化将对本领域其他技术人员清楚明白。因此,意图是仅受到所附专利权利要求的范围限制,而不受到以描述和解释本文中的实施例的方式呈现的具体细节的限制。

参考文献

[1]ITU-T and ISO|IEC, “Advanced video coding for audiovisualservices,” ITU-T Rec. H.264 and ISO|IEC 14406-10 (AVC), 2003.

[2]ITU-T and ISO|IEC, “High efficiency video coding,” ITU-T Rec.H.265 and ISO|IEC 23008-10 (HEVC), 2013。

技术分类

06120115925521