统一变换类型信令和变换类型相关的变换系数水平编码

文档序号:119160 发布日期:2021-10-19 浏览:29次 >En<

阅读说明:本技术 统一变换类型信令和变换类型相关的变换系数水平编码 (Unified transform type signaling and transform type dependent transform coefficient level coding ) 是由 本杰明·布鲁斯 阮藩黄松 保罗·凯德尔 海科·施瓦茨 德特勒夫·马尔佩 托马斯·威甘德 于 2019-12-30 设计创作,主要内容包括:一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,该装置被配置为将图片细分为不同大小的变换块。该装置被配置为针对预定变换块,通过检查预定变换块的大小是否超过预定阈值大小,来选择所选变换。如果预定变换块的大小超过预定阈值大小,则该装置被配置为使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则该装置被配置为使用预定变换列表中由针对预定变换块在数据流中发送的索引指向的变换作为所选变换,预定变换列表包括恒等变换和非恒等变换。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,如果所选变换是恒等变换,则使用系数块作为预定变换块的残差样本阵列,并且如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。另外,该装置被配置为使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。(An apparatus for decoding a picture using predictive coding and block-based transform residual coding, the apparatus configured to subdivide the picture into transform blocks of different sizes. The apparatus is configured to select the selected transform by checking, for a predetermined transform block, whether a size of the predetermined transform block exceeds a predetermined threshold size. If the size of the predetermined transform block exceeds a predetermined threshold size, the apparatus is configured to select the selected transform using a default approach. If the size of the predetermined transform block does not exceed the predetermined threshold size, the apparatus is configured to use as the selected transform a transform pointed to by an index transmitted in the data stream for the predetermined transform block in a predetermined transform list, the predetermined transform list comprising an identity transform and a non-identity transform. Furthermore, the apparatus is configured to decode, for a predetermined transform block, a coefficient block from the data stream, use the coefficient block as a residual sample array of the predetermined transform block if the selected transform is an identity transform, and perform an inverse transform corresponding to the selected transform on the coefficient block to obtain a residual sample array of the predetermined transform block if the selected transform is not an identity transform. In addition, the apparatus is configured to correct a prediction of the predetermined transform block using the residual sample array to reconstruct the predetermined transform block.)

统一变换类型信令和变换类型相关的变换系数水平编码

技术领域

根据本发明的实施例涉及统一变换类型信令和变换类型相关的变换系数水平编码。

背景技术

诸如AVC和HEVC之类的混合视频压缩方案依赖于基于块的预测,然后是预测残差的变换、变换系数的量化以及量化索引的熵编码。后者也被称为变换系数水平编码,或在本文档的其余部分中简称为水平编码。以下描述也将术语变换用于如在实际的混合视频压缩方案中实现的变换的整数近似。

传统上,对于每个潜在的块大小N×N,在视频编码标准中指定固定的变换。例如,HEVC标准指定:除了图片内预测的4×4块(其使用DST-VI)之外,都使用DCT-II。通过在多个预定义的变换类型之间进行选择,可以实现更高的压缩效率。多功能视频编码(VVC)的当前草案指定了五个不同变换类型(包括DCT-II)的集合。连同变换跳过模式(TSM),总共支持六种变换类型,在变换跳过模式中,变换等于恒等变换。比特流语法包括将编码器选择的变换类型以信号通知给解码器的语法。变换系数水平的编码与所选择的变换类型无关。

本发明描述了一种通过以下操作来提高压缩效率的方法:a)统一所选择的变换类型的信令和b)取决于所选择的变换类型提供专用水平编码技术。

本发明的背景

当前最先进的视频编码技术,包括VVC开发,指定了以信号通知多个预定义的变换类型之一的方法,包括利用TSM跳过变换(即使用恒等变换)的可能性。变换系数水平(即变换系数的量化索引)的熵编码与所选变换无关。

变换类型信令

当前的VVC开发指定N×M的变换块,其中N≤64且M≤64,并且N和M都是2的整数次幂。请注意,与HEVC相比,矩形(非正方形)变换块是可能的。当N≤32且M≤32时,除了DCT-II之外,还有另外的变换类型可用,该技术被称为多变换选择(MTS)。与HEVC类似,对于4×4变换块,变换跳过模式(TSM)是附加的编码选项,其可以解释为使用恒等变换。在变换跳过模式(TSM)中,跳过变换阶段,预测残差由量化阶段直接处理。HEVC的范围扩展配置文件指定了对TSM的扩展,它允许将TSM用于所有变换块大小(即不仅用于4×4块)。

(编码在序列参数集中的)高级别语法元素指示是否对图片内预测的块和/或图片间预测的块启用MTS。当启用MTS时,编码单元(CU)级别标志以信号通知是否为CU启用MTS,而所选择的变换类型由变换单元(TU)级别的索引指定。在VVC的当前设计中,仅限于对亮度变换块使用MTS。对于CU MTS标志,所采用的上下文模型取决于编码四叉树深度。TU MTS索引(即所选择的变换类型)采用固定的二值化。四种可能的变换类型导致2个二进制仓(bin)的固定长度码,其中每个二进制仓索引采用两个专用上下文模型,一个用于图片内预测的CU,一个用于图片间预测的CU。TU MTS索引、其二值化以及用于水平和垂直变换方向的不同变换类型之间的映射如下表(表1)所示。

表1使用CT MTS标志和TU MTS索引的MTS信令

对于TSM,(编码在图片参数集中的)高级别标志指示是否启用TSM。当启用TSM且禁用MST时,每个变换块的一个标志以信号通知对于相应颜色分量(Y、Cb或Cr)的块跳过变换阶段。

水平编码

HEVC以及当前的VVC开发中的水平编码与所选择的变换类型无关。在VVC(草案3)中,水平编码与HEVC中的水平编码类似。首先,比特流包括以信号通知变换块的显著性的标志(编码块标志CBF),即存在不等于零的量化索引(水平)。其次,当块是显著的(即它包括任何不等于零的量化索引)时,将最后显著扫描位置指定为在x和y坐标中与根的偏移,根位于变换块的左上角。将大于4×4的变换块84分为不相交的4×4子块84’,如图25所示。在当前的VVC设计中,使用对角线扫描图案85来扫描子块84’以及子块84’内的水平。

图25示出了将变换块分为16个4×4子块84’和用于扫描子块84’内的水平以及变换块84内的子块84’的反向对角线扫描图案85的示例。

变换块的扫描以子块优先的方式进行。具体地,首先处理包含最后显著扫描位置的子块,并且与常规的4×4块类似地处理每个子块。对于具有最后显著扫描位置的子块之后的每个子块,发送CBF(coded_sub_block_flag)。该子块CBF以信号通知相应子块的显著性,除了包含DC频率位置(变换块内的左上)的子块之外。因此,始终对左上子块覆盖的频率位置处的水平进行编码。

每个子块内的水平的编码如下。在第一扫描通路中,对指示当前绝对水平是否大于零的显著性标志(sig_coeff_flag)进行编码,随后是大于一的信息(abs_level_gt1_flag)和奇偶校验信息(par_level_flag)。对由形成第一扫描通路的当前子块覆盖的每个扫描位置,编码这三个语法元素。当绝对水平等于0时,sig_coeff_flag被编码为等于0,并且不对后续语法进行编码而是推断为等于0。类似地,当绝对水平等于1时,sig_coeff_flag等于1,abs_level_gt1_flag被编码为等于0,并且不对后续语法进行编码而是推断为等于0。第一通路之后,扫描位置n处的绝对水平计算如下:

AbsLevelPass1(n)=sig_coeff_flag(n)+par_level_flag(n)+abs_level_gt1_flag(n)

在下一扫描通路中,发送大于三的标志(abs_level_gt3_flag),随后是具有剩余部分信息(abs_remainder)的第三扫描通路。扫描位置n处的绝对水平计算如下:

AbsLevel(n)=AbsLevelPass1(n)+2*(abs_level_gt3_flag(n)+abs_remainder(n))

最后的扫描通路发送显著扫描位置的符号(coeff_sign_flag),扫描位置n处的水平计算如下:

Level(n)=(2*AbsLevel(n)+(QState>1?1:0))*(1-2*coeff_sign_flag(n))

其中QState是用于相关量化的当前量化状态QState,它取决于先前状态和先前编码水平的奇偶校验,如下所示:

QState=QStateTransTable(QState)(par_level_flag)

在VVC开发期间添加了相关量化,状态转移表QStateTransTable()()如表2所示,并且QState在每个变换块的开始被重置为0。在相关量化被高级别标志(例如在切片或图块头级别)禁用的情况下,QState始终等于0(这可以通过使用所有条目都等于零的状态转移表来实现)。

表2量化状态转移表QStateTransTable(i)(j),其中i=0..3代表先前状态,j=0,1代表先前变换系数水平(即先前量化索引)的奇偶校验

j\i 0 1 2 3
0 0 2 1 3
1 2 0 3 1

当前的VVC开发包括对使用上下文模型编码的二进制仓(在下文中表示为上下文编码的二进制仓(CCB))的数量的限制。当变换块内所有子块的所有绝对水平≥4时,每个水平的CCB的数量等于四,这是因为与四个标志sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag有关的每个二进制仓都使用上下文(即自适应概率模型)。为了限制熵解码的最坏情况复杂度,例如从每水平四个CCB限制到二个CCB,跟踪第一扫描通路中的CCB(sig_coeff_flag、abs_level_gt1_flag、par_level_flag)的数量。例如,这可以通过以下操作完成:在第一通路中从28开始对剩余二进制仓进行降序计数(remBinsPass1);并且在解析abs_level_gt3_flag时,留下4个二进制仓用于第二通路(remBinsPass2)。当已经达到特定数量的CCB时,水平编码过程跳过随后的CCB信息(例如当remBinsPass1等于0时,跳过sig_coeff_flag、abs_level_gt1_flag和par_level_flag,且当remBinsPass2等于0时,跳过abs_level_gt3_flag),而是在算术编码引擎的旁路模式下对绝对水平进行编码,以产生自适应二值化方案。在已经达到CCB的最大数量且仍存在余留水平要编码的扫描位置的情况下,剩余绝对水平都在旁路模式下使用不同的剩余部分二值化(dec_abs_level)进行编码。

表3说明用于上述现有技术水平编码的语法表,其中使用remBinsPass1和remBinsPass2限制CCB。

表3与变换类型无关的示例现有技术残差编码语法

对于sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag语法的上下文模型选择,局部模板评估当前扫描位置n周围的活动。考虑五个已处理的邻居:右侧(NB0)、下方(NB1)、右侧第二个(NB2)、下方第二个(NB3)和右下(NB4)。

对于(xC,yC)处的当前扫描位置n,其中xC和yC是相对于当前变换块的左上角的水平和垂直偏移,使用三个值:变换块内的当前对角线d、显著邻居的数量locNumSig以及显著邻居在第一通路之后的绝对值之和locSumAbsPass1。请注意,后者可以仅包含部分信息,因为只有在针对剩余部分信息的扫描通路之后才知道整体绝对水平信息。这些值可以计算如下:

d=xC+yC

通过到上下文集中的索引或者偏移来选择用于sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag语法的上下文模型,该索引或者偏移根据对角线d导出,并且对于sig_coeff_flag,附加地,该索引或者偏移还根据量化状态QState导出。对于sig_coeff_flag语法,上下文集内的上下文偏移由绝对总和locSumAbsPass1导出。对abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的上下文偏移导出是相同的:从绝对总和locSumAbsPass1中减去显著性位置的数量locNumSig。作为一项特殊的特征,将专用上下文模型用于最后显著扫描位置的语法元素。

在熵编码器的旁路模式中,使用哥伦布-莱斯(Golomb-Rice(Rm))码和指数哥伦布(Exponential-Golomb(EGk))码的组合对剩余部分进行编码。基于子块内已编码的剩余部分值来导出用于莱斯码的阶数m和用于EG码的阶数k(与HEVC类似)。

由于对CCB的数量的限制,存在两个附加的剩余部分扫描通路。在常规的剩余部分扫描通路之后的第一附加扫描通路中,发送仅具有sig_coeff_flag、abs_level_gt1_flag和par_level_flag语法元素的扫描位置的剩余部分,即对于这些位置,已经跳过abs_level_gt3_flag语法。在第二附加扫描通路中,对没有任何语法元素的扫描位置的剩余部分进行编码。请注意,扫描通路还意味着完全在旁路模式下对绝对水平进行编码。对于该最后的剩余部分通路,使用另一局部模板导出二值化参数m和k,该局部模板具有与用于sig_coeff_flag语法的模板相同的形状。获得模板内的绝对总和并将其映射到莱斯参数n,这直接导致EG码的阶数具有关系k=m+1。

发明内容

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为将图片细分为不同大小的变换块。该装置被配置为通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则该装置被配置为使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则该装置被配置为使用预定变换列表中由针对预定变换块在数据流中发送的索引指向的变换作为所选变换,预定变换列表包括恒等变换和非恒等变换。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,如果所选变换是恒等变换,则使用该系数块作为预定变换块的残差样本阵列,并且如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。另外,该装置被配置为使用残差样本阵列来校正预定变换块的预测(这可能是空间预测或时间预测,对所有后续出现无效),以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为通过针对预定变换块,从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块选择所选变换。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。另外,该装置被配置为,在针对预定变换块,从数据流中解码系数块时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志,并且如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则推断系数块具有至少一个非零系数(换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不从数据流中解码CBF,或甚至换言之,则从数据流中解码CBF的当前部分解码不同于CBF的语法元素)。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从数据流中解码系数块,包括从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志。该装置被配置为,如果编码块标志以信号通知系数块具有至少一个非零系数,则通过针对预定变换块从数据流中解码索引并使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。如果编码块标志以信号通知系数块不具有至少一个非零系数,则该装置被配置为重构预定变换块而不进行预测校正(换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不从数据流中解码索引,例如从数据流中解码索引的当前部分解码不同于该索引的语法元素)。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为取决于数据流,对预定变换列表进行填充或者填充和排序。该装置被配置为通过使用可变长度码从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,通过使用组合可变长度码码字从数据流中解码预定变换列表中的索引,来所选所选变换,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。该装置被配置为通过使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过检查所选变换是否是非恒等变换,来针对预定变换块,从数据流中解码系数块。如果所选变换是非恒等变换,则该装置被配置为从数据流中解码位置信息,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关(请注意以下内容。在以上实施例中,该位置被称为沿着从左上角通向右下的扫描顺序测量的最后位置,尽管根据这些实施例,实际扫描从该处开始编码。也就是说,实际编码发生在从右下通向左上角的反向扫描顺序。这里,扫描顺序是编码顺序。),并且通过从数据流中解码系数块的第一系数,第一系数包括该系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断该系数块中不同于第一系数的第二系数为零,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则该装置被配置为通过从数据流中解码系数块的所有系数,来针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块。如果所选变换是至少一个非恒等变换之一,则该装置被配置为通过从数据流中顺序地解码除了第一子块标志和最后子块标志中的至少一个子块标志之外的子块标志,并且推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则该装置被配置为通过针对所有子块,从数据流中解码子块标志,来针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来通过以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块,其中通过上下文自适应熵解码并且使用上下文从数据流中解码当前解码的子块标志。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果如果所选变换是恒等变换,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的算术和。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行解码,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过对N个大于X标志进行上下文自适应熵解码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是恒等变换,则通过使用预定上下文(例如根据预定系数的邻域中的系数块的系数的符号来选择上下文)对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率,来针对预定变换块,从数据流中解码系数块;并且该装置被配置为如果所选编码是至少一个非恒等变换之一,则通过旁路解码(例如具有固定等概率的上下文自适应熵解码)对预定系数的符号进行解码,来针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过对N个大于X标志进行上下文自适应熵解码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N。如果所选变换是至少一个非恒等变换之一,则该装置被配置为通过顺序地对N个大于X标志进行上下文自适应熵解码,来在通路序列中执行对N个大于X标志的上下文自适应熵解码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵解码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵解码。如果所选变换是恒等变换,则该装置被配置为顺序地对N个大于X标志执行上下文自适应熵解码,并且在对N个大于X标志中的显著性标志(X=0)进行解码之后且在对N个大于X标志中的另外的N个大于X标志进行解码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行解码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵解码(例如,并在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于另外的大于X标志中除了N个大于X标志中的最后一个大于X标志之外的大于X标志,恢复对N个大于X标志的上下文自适应熵解码)。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过针对预定系数,对N个大于X标志进行上下文自适应熵解码,通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,并且通过对预定系数的符号进行解码,来在通路序列中针对预定变换块,从数据流中解码系数块,通路按照预定扫描顺序遍历系数块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N。该装置被配置为取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的解码不同地分布在通路序列上。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过在通路序列中,使用上下文自适应二进制熵解码从数据流中解码用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数解码的一个或多个预定标志减少到1的每个系数,解码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字指示相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为,在通路序列中解码一个或多个预定标志时,一旦已经达到预定标志的预定数量(即,到目前为止,已经针对所有系数解码的预定标志的总数已经达到限制),就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向绝对值域内的绝对值(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),并且该装置被配置为在通路序列中对一个或多个预定标志进行解码时,将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是非恒等变换,则通过沿着通向非恒等变换的DC系数(例如,从最高频率系数向前,可能从“最后”显著系数位置开始)的第一扫描顺序(可能在多个通路中多次遵循该顺序),从数据流中解码系数块的系数,来针对预定变换块,从数据流中解码系数块。该装置被配置为如果所选变换是恒等变换,则通过从左上样本位置通向右下样本位置的第二扫描顺序,从数据流中解码系数块的系数,来针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关(该步骤可以包括,在恒等变换的情况下,将驻留在预定侧上的块中的系数与每个系数相加,例如在水平DPCM的情况下,为左手侧,且在垂直DPCM的情况下,为相应系数的顶部,以便执行DPCM反转),并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过从数据流中解码语法元素,从该语法元素中导出预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出预定非零系数组内的非零系数的符号,并且如果预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对符号比特进行解码来对预定非零系数组内的非零系数的符号进行解码,以针对预定变换块,从数据流中解码系数块。该装置被配置为如果所选变换是恒等变换,则通过在每个非零系数的基础上对符号比特进行解码来对预定非零系数组内的非零系数的符号进行解码,而不论预定非零系数组内的非零系数的符号是否彼此相等,以针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是恒等变换,则通过从数据流中导出符号概率趋势索引,并且使用与符号概率趋势索引相关联的上下文模型(定义某个符号概率的上下文模型,例如为正号的概率)对预定非零系数(例如,解码顺序中的第一个或者系数块中应用该索引的某个子块内的一个非零系数)的符号进行熵解码,来针对预定变换块,从数据流中解码系数块。另外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路解码(例如,具有固定等概率的上下文自适应熵解码),来针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是恒等变换,则通过使用多个上下文模型中的预定上下文模型对预定非零系数的符号进行解码,并且根据先前解码系数的符号的统计在多个上下文模型中选择预定上下文模型,来对预定非零系数的符号进行解码,以针对预定变换块,从数据流中解码系数块。另外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路解码(例如,具有固定等概率的上下文自适应熵解码),来对预定非零系数的符号进行解码,以针对预定变换块,从数据流中解码系数块。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据本发明的实施例是一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为通过在通路序列中,使用上下文自适应二进制熵解码从数据流中解码用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。另外,该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数解码的一个或多个预定标志减少到1的每个系数,解码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字用于标识相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加;这里,码字自由地仅指代经减小的绝对值域或一般的一个绝对值域或不可避免地作为经减小的绝对值域的适当超集的一些其他绝对值域),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数。此外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中解码一个或多个预定标志时,除了相对于一个或多个预定标志中指示显著性标志被解码的系数是否为零的显著性标志(因此,不可避免地使用上下文自适应二进制熵解码对其进行解码)之外,一旦已经达到预定标志的预定数量(即,到目前为止,已经针对所有系数解码的预定标志的总数已经达到限制),就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),其中,预定数量与上限减去显著性标志尚未被解码的系数的数量相对应。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为将图片细分为不同大小的变换块。此外,该装置被配置为通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则该装置被配置为使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则该装置被配置为从预定变换列表中选择变换,并在数据流中发送指向预定变换列表中所选择的变换的索引,以便作为所选变换用于预定变换块,预定变换列表包括恒等变换和非恒等变换。另外,该装置被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得如果所选变换是恒等变换,则将该系数块用作残差样本阵列,用于校正预测以重构预定变换块,并且使得如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。此外,该装置被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来预定变换块的预测,以重构预定变换块。该装置被配置为在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则将编码块标志编码到数据流中,编码块标志以信号通知系数块是否具有至少一个非零系数。另外,该装置被配置为在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中(换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不将CBF编码到数据流中,或甚至换言之,则将不同于CBF的语法元素编码到将CBF编码到数据流中的当前部分),则避免将编码块标志编码到数据流中,其中编码器侧必须推断该编码块标志以信号通知系数块具有至少一个非零系数。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,包括将编码块标志编码到数据流中,编码块标志以信号通知系数块是否具有至少一个非零系数。该装置被配置为如果编码块标志以信号通知系数块具有至少一个非零系数,则针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为如果编码块标志以信号通知系数块不具有至少一个非零系数,则重构预定变换块而不进行预测校正(换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不将索引编码到数据流中,例如通过将不同于该索引的语法元素编码到数据流中将该索引编码到的当前部分)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为取决于数据流,对预定变换列表进行填充或者填充和排序,并且针对预定变换块,从预定变换列表中选择所选变换。此外,该装置被配置为使用可变长度码将指向预定变换列表中的所选变换的索引编码到数据流中,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。另外,该装置被配置为导出预定变换块的预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测来重构预定变换块,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为导出预定变换块的预测。此外,该装置被配置为针对预定变换块,从预定变换列表中选择所选变换,并且使用组合可变长度码码字将指向预定变换列表中的所选变换的索引编码到数据流中,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为导出预定变换块的预测,并且通过检查所选变换是否是非恒等变换,来针对预定变换块,将系数块编码到数据流中。如果所选变换是非恒等变换,则该装置被配置为将位置信息编码到数据流中,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关(请注意以下内容。在以上实施例中,该位置被称为沿着从左上角通向右下的扫描顺序测量的最后位置,尽管根据这些实施例,实际扫描从该处开始编码。也就是说,实际编码发生在从右下通向左上角的反向扫描顺序。这里,扫描顺序是编码顺序。),并且将系数块的第一系数编码到数据流中,第一系数包括系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断系数块中不同于第一系数的第二系数为零,以针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则该装置被配置为将系数块的所有系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中,其中,推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中。推断系数为零及对非零性系数的编码通过以下执行:如果所选变换是至少一个非恒等变换之一,则将除了第一子块标志和最后子块标志中的至少一个之外的子块标志顺序地编码到数据流中,其中,推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性;以及如果所选变换是恒等变换,则针对所有子块,将子块标志编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中,来以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中,其中通过上下文自适应熵编码并且使用上下文将当前编码的子块标志编码到数据流中。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果所选变换是恒等变换,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的算术和。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行编码,来针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过对N个大于X标志进行上下文自适应熵编码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为如果所选变换是恒等变换,则通过使用预定上下文对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率,并且如果所选变换是至少一个非恒定变换之一,则进行旁路编码(例如具有固定等概率的上下文自适应熵编码),来针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过对N个大于X标志进行上下文自适应熵编码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N。该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过顺序地对N个大于X标志进行上下文自适应熵编码,来在通路序列中执行对N个大于X标志的上下文自适应熵编码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵编码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵编码。另外,该装置被配置为如果所选变换是恒等变换,则顺序地对N个大于X标志执行上下文自适应熵编码,并且在对N个大于X标志中的显著性标志(X=0)进行编码之后且在对N个大于X标志中的另外的N个大于X标志进行编码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行编码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵编码(例如,并在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于另外的大于X标志中除了N个大于X标志中的最后一个大于X标志之外的大于X标志,恢复对N个大于X标志的上下文自适应熵编码)。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过针对预定系数,对N个大于X标志进行上下文自适应熵编码,通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,并且通过对预定系数的符号进行编码,来针对预定变换块,在通路序列中将系数块编码到数据流中,通路按照预定扫描顺序遍历系数块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N。该装置被配置为取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的编码不同地分布在通路序列上。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为通过在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志)编码到数据流中,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。此外,该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字指示相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加),来针对预定变换块,将系数块编码到数据流中。该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中编码一个或多个预定标志时,一旦达到预定标志的预定数量(即,到目前为止,已经针对所有系数解码的预定标志的总数已经达到限制),就停止对一个或多个预定标志的编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向绝对值域内的绝对值(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),并且将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是非恒等变换,则通过沿着通向非恒等变换的DC系数(例如,从最高频率系数向前,可能从“最后”显著系数位置开始)的第一扫描顺序(可能在多个通路中多次遵循该顺序),将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为如果所选变换是恒等变换,则通过沿着从左上样本位置通向右下样本位置的第二扫描顺序,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关(该步骤可以包括,在恒等变换的情况下,将驻留在预定侧上的块中的系数与每个系数相加,例如在水平DPCM的情况下,为左手侧,且在垂直DPCM的情况下,为相应系数的顶部,以便执行DPCM反转),允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过以下操作针对预定变换块,将系数块编码到数据流中:将语法元素编码到数据流中,从该语法元素中导出预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出预定非零系数组内的非零系数的符号,并且如果预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码。此外,该装置被配置为如果所选变换是恒等变换,则通过以下操作针对预定变换块,将系数块编码到数据流中:通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码,而不论预定非零系数组内的非零系数的符号是否彼此相等。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是恒等变换,则通过将符号概率趋势索引编码到数据流中,并且使用与符号概率趋势索引相关联的上下文模型(定义某个符号概率的上下文模型,例如为正号的概率)对预定非零系数(例如,编码顺序中的第一个或者系数块中应用该索引的某个子块内的一个非零系数)的符号进行熵编码,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码),来针对预定变换块,将系数块编码到数据流中。另外,该装置被配置为通过对预定系数块的非零系数的符号进行编码,来针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是恒等变换,则通过使用多个上下文模型中的预定上下文模型对预定非零系数的符号进行编码,并且根据先前编码系数的符号的统计在多个上下文模型中选择预定上下文模型,并且如果所选变换是至少一个非恒等变换之一,则对预定非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码),来对预定系数块的非零系数的符号进行编码,以针对预定变换块,将系数块编码到数据流中。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为通过在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志)编码到数据流中,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。此外,该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字用于标识相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加;这里,码字自由地仅指代经减小的绝对值域或一般的一个绝对值域或不可避免地作为经减小的绝对值域的适当超集的一些其他绝对值域),来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中对一个或多个预定标志进行编码时,除了相对于一个或多个预定标志中的指示显著性标志被编码的系数是否为零的显著性标志(因此,不可避免地使用上下文自适应二进制熵解码对其进行编码)之外,一旦达到预定标志的预定数量(即,到目前为止,已经针对所有系数编码的预定标志的总数已经达到限制),就停止对一个或多个预定标志进行编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),其中,预定数量与上限减去显著性标志尚未被编码的系数的数量相对应。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括将图片细分为不同大小的变换块。此外,该方法包括通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则使用预定变换列表中由针对预定变换块在数据流中发送的索引指向的变换作为所选变换,预定变换列表包括恒等变换和非恒等变换。另外,该方法包括针对预定变换块,从数据流中解码系数块,如果所选变换是恒等变换,则使用该系数块作为预定变换块的残差样本阵列,并且如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。此外,该方法包括使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括通过针对预定变换块,从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块选择所选变换。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该方法包括,在针对预定变换块,从数据流中解码系数块时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中。该方法包括,在针对预定变换块,从数据流中解码系数块时,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志,并且如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则推断系数块具有至少一个非零系数(换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不从数据流中解码CBF,或甚至换言之,则从数据流中解码CBF的当前部分解码不同于CBF的语法元素)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从数据流中解码系数块,包括从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志。该方法包括,如果编码块标志以信号通知系数块具有至少一个非零系数,则通过针对预定变换块从数据流中解码索引并使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。此外,该方法包括,如果编码块标志以信号通知系数块不具有至少一个非零系数,则该装置被配置为重构预定变换块而不进行预测校正(换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不从数据流中解码索引,例如从数据流中解码索引的当前部分解码不同于该索引的语法元素)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括取决于数据流,对预定变换列表进行填充或者填充和排序。该方法包括通过使用可变长度码从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,通过使用组合可变长度码码字从数据流中解码预定变换列表中的索引,来所选所选变换,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。该方法包括通过使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过检查所选变换是否是非恒等变换,来针对预定变换块,从数据流中解码系数块。如果所选变换是非恒等变换,则该方法包括从数据流中解码位置信息,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关(请注意以下内容。在以上实施例中,该位置被称为沿着从左上角通向右下的扫描顺序测量的最后位置,尽管根据这些实施例,实际扫描从该处开始编码。也就是说,实际编码发生在从右下通向左上角的反向扫描顺序。这里,扫描顺序是编码顺序。参见预期两种扫描方向的实施例),并且该方法包括通过从数据流中解码系数块的第一系数,第一系数包括该系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断该系数块中不同于第一系数的第二系数为零,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则该方法包括通过从数据流中解码系数块的所有系数,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块。如果所选变换是至少一个非恒等变换之一,则从数据流中顺序地解码除了第一子块标志和最后子块标志中的至少一个子块标志之外的子块标志,并且推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性,并且如果所选变换是恒等变换,则针对所有子块,从数据流中解码子块标志,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来通过以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块,其中通过上下文自适应熵解码并且使用上下文从数据流中解码当前解码的子块标志。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果如果所选变换是恒等变换,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的算术和。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行解码,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过对N个大于X标志进行上下文自适应熵解码,来解码预定系数,以针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X。此外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。另外,该方法包括,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过使用预定上下文对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率;并且如果所选编码是至少一个非恒等变换之一,则通过旁路解码(例如具有固定等概率的上下文自适应熵解码)对预定系数的符号进行解码,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过对N个大于X标志进行上下文自适应熵解码,来针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X。另外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,预定阈值取决于N。如果所选变换是至少一个非恒等变换之一,则通过顺序地对N个大于X标志进行上下文自适应熵解码,来在通路序列中执行对N个大于X标志的上下文自适应熵解码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵解码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵解码。如果所选变换是恒等变换,则顺序地对N个大于X标志执行上下文自适应熵解码,并且在对N个大于X标志中的显著性标志(X=0)进行解码之后且在对N个大于X标志中的另外的N个大于X标志进行解码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行解码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵解码(例如,并在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于另外的大于X标志中除了N个大于X标志中的最后一个大于X标志之外的大于X标志,恢复对N个大于X标志的上下文自适应熵解码)。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过针对预定系数,对N个大于X标志进行上下文自适应熵解码,通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,并且通过对预定系数的符号进行解码,来在通路序列中针对预定变换块,从数据流中解码系数块,通路按照预定扫描顺序遍历系数块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N,其中,该方法包括取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的解码不同地分布在通路序列上。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

上述用于对图片进行编码的装置和方法基于与用于对图片解析解码的上述装置相同的考虑。顺便提及,用于对图片进行编码的装置和方法可以通过也关于用于对图片进行解码的装置进行描述的所有特征和/或功能来完成。

附图说明

附图不一定按比例绘制,而是重点通常放在说明本发明的原理上。在以下描述中,参考以下附图描述了本发明的各实施例,其中:

图1示出了根据本发明实施例的用于将图片预测编码到数据流中的视频编码器的示意图;

图2示出了根据本发明实施例的被配置为从数据流中预测解码图片的视频解码器的示意图;

图3示出了根据本发明实施例的一方面的经重构的信号与另一方面的在数据流中以信号通知的预测残差信号和预测信号的组合之间的关系的示意图;

图4示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于预定变换块的大小来选择所选变换;

图5示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于所选变换对系数块进行解码;

图6示出了根据本发明实施例的用于对图片进行解码的装置的示意图;

图7示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于编码块标志来重构预定变换块;

图8示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为对预定变换列表进行填充或者填充和排序;

图9示出了根据本发明实施例的组合可变长度码的示意图;

图10示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于所选变换对位置信息进行解码;

图11示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为逐子块地对系数块的所有系数进行解码;

图12示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于所选变换对子块标志进行解码;

图13a示出了根据本发明实施例的在至少一个先前子块标志以信号通知非零性的情况下对子块标志进行解码的示意图;

图13b示出了根据本发明实施例的在所有先前子块标志以信号通知零性的情况下对子块标志进行解码的示意图;

图14示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为通过上下文自适应熵解码对子块标志进行解码;

图15示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为使用上下文对显著性标志进行解码的示意图;

图16示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为通过对N个大于X的标志进行上下文自适应熵解码并使用可变长度码对剩余部分进行解码来对系数块进行解码;

图17示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于所选变换对系数的符号进行解码;

图18示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为取决于所选变换在多个通路中对系数块进行解码;

图19示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为通过取决于所选变换将对N个大于X的标志、剩余部分和符号的解码不同地分布在通路序列上,来在多个通路中对系数块进行解码;

图20示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为通过对一个或多个标志进行解码来在多个通路中对系数块进行解码,每个标志减少了绝对值域;

图21示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为以取决于所选变换的扫描顺序对系数块进行解码;

图22示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为如果所选变换是非恒等变换,则取决于符号概率趋势索引对系数的符号进行解码;

图23示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为如果所选变换是恒等变换,则取决于语法元素对系数的符号进行解码;

图24示出了根据本发明实施例的用于对图片进行解码的装置的示意图,该装置被配置为如果所选变换是恒等变换,则取决于先前解码的系数的符号的统计对系数的符号进行解码;以及

图25示出了变换块和变换块的子块的示意图。

具体实施方式

在以下描述中,即使发生在不同的附图中,也通过相同或等同附图标记来表示相同或等同元件或者具有相同或等同功能的元件。

在以下描述中,阐述了多个细节以提供对本发明的实施例的更透彻的解释。然而,对于本领域技术人员显而易见的是,可以在没有这些特定细节的情况下实践本发明的实施例。在其他实例中,以框图形式而不是具体地示出了公知的结构和设备,以避免对本发明的实施例造成混淆。此外,除非另外具体指示,否则下文所述的不同实施例的特征可以彼此组合。

附图的以下描述从用于对视频的图片进行编码的基于块的预测编解码器的编码器和解码器的描述的呈现开始,以便形成对可以内置本发明实施例的编码框架的示例。参考图1至图3描述了相应的编码器和解码器。在下文中,给出了本发明的概念的实施例的描述以及关于如何将这些概念分别构建到图1的编码器和图2的解码器中的描述,尽管随后的图4和以下描述的实施例也可用于形成不根据图1的编码器和图2的解码器下的编码框架操作的编码器和解码器。

图1示出了一种装置(例如视频编码器),用于示例性地使用基于变换的残差编码将图片12预测地编码到视频流14中。使用附图标记10表示装置或编码器。图2示出了相应的解码器20,即被配置为也使用基于变换的残差解码从数据流14中预测地解码图片12’的装置20,其中撇号已被用于指示由解码器20重构的图片12’在通过预测残差信号的量化引入的编码损失方面偏离了由装置10进行原始编码的图片12。图1和图2示例性地使用基于变换的预测残差编码,尽管本申请的实施例不限于这种预测残差编码。对于参照图1和图2描述的其他细节也是如此,这将在下文中概述。

编码器10被配置为对预测残差信号进行空间到频谱变换,并将由此获得的预测残差信号编码到数据流14中。同样地,解码器20被配置为从数据流14中解码预测残差信号,并对由此获得的预测残差信号进行频谱到空间变换。根据随后的图4和以下描述的实施例,可以由编码器在数据流中以信号通知用于空间到频谱变换的变换类型。同样地,根据随后的图4和以下描述的实施例,可以由解码器20从数据流14中读取用于频谱到空间变换的变换类型。

在内部,根据本发明的实施例,编码器10可以包括预测残差信号形成器22,该预测残差信号形成器22生成预测残差24,以便度量预测信号26与原始信号(即与图片12)的偏差,其中,预测信号26可以被解释为一个或多个预测子块的集合的线性组合。预测残差信号形成器22可以例如是减法器,其从原始信号,即从图片12减去预测信号。然后,编码器10还包括变换器28,变换器28对预测残差信号24进行空间到频谱变换以获得频谱域预测残差信号24’,然后由也包括在编码器10中的量化器32对频谱域预测残差信号24’进行量化。由此量化的预测残差信号24”被编码到比特流14中。根据随后的图4和以下描述的实施例,这可以通过变换类型相关的变换系数水平编码来执行。为此,编码器10可以可选地包括熵编码器34,该熵编码器34将经变换和量化的预测残差信号熵编码到数据流14中。

预测信号26由编码器10的预测阶段36基于编码到数据流14中并可从数据流14解码的预测残差信号24”生成。为此,如图1所示,预测阶段36可以在内部包括反量化器38,该反量化器38对预测残差信号24”进行反量化,以便获得除了量化损失之外与信号24’相对应的频谱域预测残差信号24”’,预测阶段36随后包括逆变换器40,该逆变换器40对后一个预测残差信号24”’进行逆变换,即频谱到空间变换,以获得除了量化损失之外与原始预测残差信号24相对应相对应的预测残差信号24””。然后,预测阶段36的组合器42例如通过加法来将预测信号26和预测残差信号24””重新组合,以便获得经重构的信号46,即原始信号12的重构。经重构的信号46可以与信号12’相对应。然后,预测阶段36的预测模块44通过使用例如空间预测(即图片内预测)和/或时间预测(即图片间预测)来基于信号46生成预测信号26。

同样地,如图2所示,解码器20可以在内部由与预测阶段36相对应的组件组成,并以与预测阶段36相对应的方式互连。具体地,解码器20的熵解码器50可以从数据流中熵解码经量化的频谱域预测残差信号24”,于是以上面参考预测阶段36的模块描述的方式互连和协作的反量化器52、逆变换器54、组合器56和预测模块58基于预测残差信号24”恢复经重构的信号,使得如图2所示,组合器56的输出产生经重构的信号,即图片12’。由解码器20执行的解码可以是根据随后的图4及以下描述的实施例的变换类型相关的变换系数水平解码。

尽管上面没有具体描述,但是容易清楚,编码器10可以根据诸如以优化一些率失真相关标准(即编码成本)的方式的一些优化方案来设置一些编码参数,包括例如预测模式、运动参数等。例如,编码器10和解码器20以及相应的模块44、58分别可以支持不同的预测模式,诸如帧内编码模式和帧间编码模式。编码器和解码器在这些预测模式类型之间切换的粒度可以分别与将图片12和12’细分为编码片段或编码块相对应。例如,以这些编码片段为单位,可以将图片细分为帧内编码的块和帧间编码的块。

帧内编码的块是基于各个块(例如当前块)的空间上的已经编码/解码的邻域(例如当前模板)进行预测的,如下面更详细地概述的。可以存在包括方向性或角度帧内编码模式在内的若干种帧内编码模式,并为各个帧内编码的片段选择帧内编码模式,根据该帧内编码模式,通过沿着特定于各个方向性帧内编码模式的某个方向,将邻域的样本值外插到相应的帧内编码的片段中来填充各个片段。帧内编码模式还可以例如包括一种或多种其他模式,例如DC编码模式和/或平面帧内编码模式,根据DC编码模式,对各个帧内编码的块的预测将DC值分配给各个帧内编码的片段内的所有样本,根据平面帧内编码模式,各个块的预测被近似或确定为由二维线性函数描述的在各个帧内编码的块的样本位置上的样本值的空间分布,其中基于相邻样本来驱动由二维线性函数定义的平面的斜率和偏移。

与此相比,可以例如在时间上预测帧间编码的块。对于帧间编码的块,可以在数据流14中以信号通知运动向量,运动向量指示图片12所属的视频的先前编码的图片(例如参考图片)中的部分的空间偏移,在该位置对先前编码/解码的图片进行采样,以便获得各个帧间编码的块的预测信号。这意味着,除了由数据流14包括的残差信号编码,如表示经量化的频谱域预测残差信号24”的经熵编码的变换系数水平之外,数据流14可以在其中编码用于将编码模式分配给各个块的编码模式参数、用于一些块的预测参数(例如用于帧间编码的片段的运动参数)、以及可选的其他参数(例如用于控制和以信号通知将图片12和12’分别细分为片段的参数)。解码器20使用这些参数以与编码器相同的方式细分图片,将相同的预测模式分配给片段,并且执行相同的预测以产生相同的预测信号。

图3示出了一方面的经重构的信号,即经重构的图片12’,与另一方面的在数据流中以信号通知的预测残差信号24””和预测信号26的组合之间的关系。如上所述,该组合可以是加法。预测信号26在图3中被示为将图片区域细分为用阴影线示意性表示的帧内编码的块和未用阴影线示意性表示的帧间编码的块。细分可以是任何细分,例如将图片区域规则地细分为正方形块或非正方形块的行和列,或者将图片12从树根块多树细分(例如四叉树细分等)为不同大小的多个叶块,其中在图3中示出了它们的混合,其中图片区域首先被细分为树根块的行和列,然后根据递归多树细分将树根块的行和列进一步细分为一个或多个叶块。

再次,数据流14可以具有编码到其中的用于帧内编码的块80的帧内编码模式,其将若干种支持的帧内编码模式之一分配给相应的帧内编码的块80。对于帧间编码的块82,数据流14可以具有编码到其中的一个或多个运动参数。一般而言,帧间编码的块82不限于在时间上编码。备选地,帧间编码的块82可以是从除了当前图片12本身之外的先前编码的部分(诸如图片12所属的视频的先前编码的图片,或者在编码器和解码器分别为可缩放编码器和解码器的情况下,为另一视图或层级较低的层的图片)预测的任何块。

图3中的预测残差信号24””也被示为将图片区域细分为块84。这些块可以被称为变换块,以便将其与编码块80和82区分开。实际上,图3示出了编码器10和解码器20可以分别使用两种不同的细分将图片12和图片12’细分为块,即一种分别细分为编码块80和82,而另一种细分为块84。两种细分可能是相同的,即每个编码块80和82可以同时形成变换块84,但是图3示出了如下情况,其中例如到变换块84的细分形成到编码块80、82的细分的扩展,以便块80和82的两个块之间的任何边框都覆盖两个块84之间的边框,或者换句话说,每个块80、82或者与变换块84之一重合,或者与变换块84的集群重合。然而,细分也可以彼此独立地确定或选择,以便变换块84可以备选地跨块80、82之间的块边框。就到变换块84的细分而言,类似的说法因而与关于到块80、82的细分所提出的一样是正确的,即块84可以是将图片区域规则细分为块(排列为行和列或者未排列为行和列)的结果、图片区域的递归多树细分的结果或者其组合或任何其他类型的分块方式(blockation)。顺便说一句,要注意,块80、82和84不限于正方形、矩形或任何其他形状。

图3进一步示出了预测信号26和预测残差信号24””的组合直接产生经重构的信号12’。然而,应注意,根据备选实施例,可以将多于一个的预测信号26与预测残差信号24””组合以产生图片12’。

在图3中,变换块84应具有以下含义。变换器28和逆变换器54以这些变换块84为单位执行它们的变换。例如,许多编解码器对所有变换块84使用某种DST(离散正弦变换)或DCT(离散余弦变换)。一些编解码器允许跳过变换,使得对于一些变换块84,直接在空间域中对预测残差信号进行编码。然而,根据以下描述的实施例,编码器10和解码器20以它们支持若干种变换的方式配置。例如,编码器10和解码器20支持的变换可以包括:

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

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

·DCT-IV

·DST-VII

·恒等变换(IT)

自然地,变换器28会支持这些变换的所有正向变换版本,同时解码器20或逆变换器54会支持其相应的后向或逆版本:

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

·逆DST-IV

·逆DCT-IV

·逆DST-VII

·恒等变换(IT)

根据随后的图4和以下描述的实施例,变换类型相关的变换系数水平编码可以由编码器或解码器使用。

随后的描述提供了关于编码器10和解码器20可以支持哪些变换的更多细节。在任何情况下,应注意的是,所支持的变换的集合可以仅包括一个变换,例如一个频谱到空间或空间到频谱的变换,但是也可能编码器或解码器完全不使用任何变换或者不对单个块80、82、84使用变换。

如上面已经概述的,已经呈现了图1至图3作为示例,其中可以实施下面进一步描述的本发明构思,以便形成根据本申请的编码器和解码器的特定示例。就此而言,图1的编码器和图2的解码器分别表示本文下面描述的编码器和解码器的可能实现。然而,图1和图2仅是示例。然而,根据本申请的实施例的编码器可以使用不同的概念来执行对图片12的基于块的编码,该编码器与图1的编码器例如在以下方面不同:以与图3示例的方式不同的方式执行到块80的细分,和/或完全不使用变换或者对单个块不使用变换。同样地,根据本申请的实施例的解码器可以使用以下进一步概述的编码概念来执行从数据流14中对图片12’进行的基于块的解码,但是该解码器可以与图2的解码器20例如在以下方面不同:以与参照图3描述的方式不同的方式将图片12’细分为块,和/或不是在变换域中从数据流14中导出预测残差,而是例如在空间域中导出预测残差,和/或例如完全不使用任何变换或者对单个块不使用任何变换。

本发明描述了用于选择多个变换类型的统一信令概念以及用于所选择的变换类型的专用变换系数水平编码阶段。这种设计取决于混合视频压缩应用的输入信号特性提高了压缩效率。

本发明将不同的变换类型配置与信令结合在一起。此外,提出了一种能够实现更高压缩效率的变换类型相关的水平编码。

变换类型信令的统一

多个方面的总结(信息性说明):

1.包括DCT-II和TSM的组合MTS语法,其中:

ο使用单个值组合最大允许的TSM和MTS大小

ο组合用于TSM和MTS的适用颜色分量

ο以信令通知水平

2.统一MTS语法与CBF的交互

ο对于每个分量,针对每个显著变换块以信号通知MTS模式,例如在限于亮度时仅针对亮度以信号通知MTS模式

οCBF在MTS模式之后而非之前

3.统一MTS语法的语义

οTS/DCT-II在常规MTS模式内的位置

οMPM列表,索引的自适应顺序,与帧内模式类似

4.统一MTS语法的二值化和上下文建模

ο用于模式的一元或固定长度码

ο专用上下文模型或单独的上下文模型

ο针对TS/DCT-2模式的其他上下文建模

1.本发明没有将TSM和MTS视为不同的方法,而是将这两个元素组合成统一的MTS语法。一个方面包括对MTS和TSM二者使用相同的最大允许大小(比较图4)。该最大大小可以是固定的,或者可以在比特流内部的高级别语法结构中以信号通知该最大大小,例如在序列、图片、切片或图块级别。

图4示出了用于使用预测编码和基于块的变换残差编码对图片12a进行解码的装置100。该装置被配置为将图片12a细分为不同大小的变换块84,并且通过检查该预定变换块的大小是否超过预定阈值大小111,来针对预定变换块84c,选择110所选变换112。如果预定变换块84c的大小超过预定阈值大小110,则使用默认方式114选择所选变换112。如果预定变换块84c的大小不超过预定阈值大小111,则将预定变换列表116中由针对预定变换块84c在数据流14中发送的索引指向的变换用作所选变换112。预定变换列表116包括恒等变换117和非恒等变换118。此外,装置100被配置为针对预定变换块84c,从数据流14中解码120系数块(c块)。该装置例如被配置为基于c块和所选变换112来确定或识别130残差样本阵列132。如果所选变换112是恒等变换117,则该装置被配置为使用系数块作为预定变换块84c的残差样本阵列132,并且如果所选变换112不是恒等变换117,则该装置被配置为对系数块进行与所选变换112相对应的逆变换131,以获得预定变换块84c的残差样本阵列132。该装置使用残差样本阵列132来校正预定变换块的预测84’c(例如,这可能是空间或时间预测,这对所有随后的出现无效),以重构84”c预定变换块84c。

根据实施例,选择110变换的默认方式114可以包括从数据流中解码指向预定列表116中的变换的默认索引或者从数据流中解码默认变换。备选地,可以选择110装置100已知的默认变换作为默认方式114。

根据实施例,装置100被配置为如果预定变换块84c的大小超过预定阈值大小111,则将默认非恒等变换用于所选变换。默认非恒等变换例如包含在预定变换列表116中,例如非恒等变换118之一。

根据实施例,装置100被配置为从数据流14中导出预定阈值大小111。

根据实施例,装置100被配置为如果预定变换块84c的大小不超过预定阈值大小111,则从数据流14中的当前位置解码115用于预定变换块84c的索引,并且如果预定变换块的大小超过预定阈值大小,则从数据流14的当前位置解码不同于索引的语法元素。作为不同于索引的语法元素,例如是从数据流14中读出的另一元素(而不是索引),但并非是在跳过和不读取的意义上如此,而是因为数据流14确实不包含索引,尽管直到数据流中的该位置,语法可能是相同的。

在本发明的优选实施例中,TSM和MTS应用于相同的颜色分量。在一个优选版本中,TSM和MTS都仅适用于亮度分量(即对于色度块,使用标准的DCT-II变换)。换言之,变换块84是亮度变换块并且装置100被配置为对色度变换块使用固定的默认变换。

在另一优选版本中,TSM和MTS都适用于块的所有颜色分量。换言之,装置100例如被配置为将所选变换112应用于图片在预定变换块84c内的亮度分量和色度分量。附加地或备选地,装置100被配置为对于图片12a的亮度分量和色度分量中的每个分量,针对预定变换块,从数据流14中解码115索引。也可以在比特流中以信号通知所使用的版本(仅亮度分量或所有分量)。换言之,装置100例如被配置为从数据流14中的信号导出:变换块84是否是亮度变换块以及是否要对色度变换块使用固定的默认变换,是否要将所选变换112应用于图片在预定变换块内的亮度分量和色度的分量,或者对于图片的亮度分量和色度分量中的每个分量,是否要针对预定变换块,从数据流中解码115索引。在对于所有变换类型具有相同条件的情况下,可以在比特流中发送指定用于每个变换块的变换类型的单个语法。下表描述了使用TU MTS索引的这种统一语法的一个示例。

表4使用一个TU MTS索引的统一MTS信令的示例

在先前的示例中,在TU级别以信号通知统一MTS语法。然而,在CU被拆分为多个TU的情况下,也可以在CU级别以信号通知统一MTS语法,即CU MTS索引。换言之,装置100例如被配置为针对图片的编码块,从数据流14中解码115用于索引,编码块被划分为包括预定变换块在内的多个变换块。请注意,可能在更高的级别对CU的不相交集合以信号通知统一MTS语法,即索引可能对编码块的集合有效。另一种变体将是在更高的级别对CU的不相交集合以信号通知统一MTS语法,例如,“编码块”是不相交集合中的一个。

根据实施例,装置100可以执行图5中描述的系数块的解码120。换言之,图5示出了针对预定变换块84c,从数据流14中解码120系数块122。取决于用于预定块84c的所选变换112是否包含在一个或多个变换的预定义集合125中,该装置被配置为:如果用于预定块84c的所选变换112包含在一个或多个变换的预定义集合125中,则从数据流14中解码编码块标志126’,编码块标志126’以信号通知系数块122是否具有至少一个非零系数(参见127)。备选地,如果用于预定块84c的所选变换112不包含在一个或多个变换的预定义集合125中,则推断系数块122具有至少一个非零系数(参见127’)。换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不从数据流中解码CBF,或甚至换言之,则从数据流中解码CBF的当前部分解码不同于CBF的语法元素。

根据实施例,一个或多个变换的预定义集合125包括恒等变换125a和默认非恒等变换125b,根据用于选择所选变换的默认方式默认地选择默认非恒等变换125b。

2.一般地,如果变换块的所有水平都等于0(即如果CBF=0),则所有变换类型将产生相同的重构信号。例如,在现有技术中,仅在亮度变换块的CBF不等于0时(即如果存在任何显著水平),才以信号通知亮度的MTS变换语法。类似地,仅在CBF等于1时才可以选择TSM。

在本发明的优选实施例中,在用于块的CBF之前以信号通知包括MTS和TSM信息在内的块的统一MTS语法。在该配置中,如果所选择的变换类型不等于一个特定变换(例如DCT-II或变换跳过),则可以推断CBF的值等于1(比较图6)。或者换言之,如果语法元素指定变换类型等于预定义值,则它指定由该预定义值表示的变换且CBF被编码。但是如果语法元素指定变换类型不等于预定义值,则它指定由语法元素的值表示的变换且另外指定CBF等于1(不对变换类型语法元素的这些值发送CBF)。

图6示出了用于使用预测编码和基于块的变换残差编码对图片12a进行解码的装置100。装置100被配置为通过针对预定变换块84c,从数据流14中解码115索引,并且使用预定变换列表116中由该索引指向的一个变换作为所选变换112,来针对预定变换块84c,选择所选变换112。此外,装置100被配置为针对预定变换块84c,从数据流14中解码120系数块122。该装置被配置为从系数块122中导出130预定变换块84c的残差样本阵列132,使得系数块122根据所选变换112与残差样本阵列132相关。装置100还被配置为使用残差样本阵列132来校正140预定变换块84c的预测84’c,以重构预定变换块。另外,装置100被配置为在针对预定变换块84c,从数据流14中解码120系数块122时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如图5所示。因此,该装置被配置为如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则从数据流14中解码126编码块标志126’,编码块标志126’以信号通知系数块122是否具有至少一个非零系数;并且该装置被配置为如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则推断系数块122具有至少一个非零系数。换言之,如果用于预定块的所选择的变换包含在一个或多个变换的预定义集合中,则不从数据流解码CBF,或甚至换言之,则从数据流中解码CBF的当前部分解码不同于CBF的语法元素。

根据实施例,一个或多个变换的预定义集合125包括恒等变换。附加地或备选地,一个或多个变换的预定列表116包括恒等变换。根据实施例,一个或多个变换的预定义集合125和一个或多个变换的预定列表116可以相同。换言之,一个变换列表可以用于例如变换的选择116以及用于c块的解码120。措辞一个或多个变换的预定义集合125和一个或多个变换的预定列表116在这里和在所有其他实施例中可以互换。

根据实施例,装置100被配置为取决于数据流14,对预定变换列表进行填充或者填充和排序,并且使用可变长度码从数据流中解码索引,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。该特征例如在图8中示为变换选择110。

在本发明的另一优选实施例中,在变换类型之前以信号通知CBF。如果CBF等于0,则不以信号通知变换类型(实际使用的变换对解码结果没有任何影响;可以将其推断为等于DCT-II或变换跳过或任何其他变换)。仅当CBF等于1时,才发送变换类型语法元素。(比较图7)

图7示出了用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从数据流14中解码120系数块122,包括从数据流14中解码120’编码块标志126’,编码块标志126’以信号通知系数块122是否具有至少一个非零系数。装置100被配置为如果编码块标志以信号通知1271系数块122具有至少一个非零系数,则从数据流14中解码115用于预定变换块的索引,并且使用预定变换列表116中该索引指向的一个变换作为所选变换112,来针对预定变换块,选择110所选变换112。从系数块122中导出130预定变换块的残差样本阵列132,使得系数块122根据所选变换112与残差样本阵列132相关。另外,使用残差样本阵列132来校正140预定变换块的预测84’c,以重构预定变换块。备选地,如果编码块标志126’以信号通知1272系数块122不具有至少一个非零系数,则装置100被配置为重构150预定变换块,而不进行预测校正。换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不从数据流中解码索引,例如通过从数据流中解码索引的当前部分解码不同于索引的语法元素。

3.另一个要考虑的方面是向允许的变换类型分配统一MTS索引和/或对统一MTS索引进行排序。例如,可以在DCT-II类型之前以信号通知TSM,并且在可变长度码的情况下,TSM具有较短的码字,反之亦然。对于屏幕或计算机生成的内容,由于经常出现高频边缘结构,因此TSM通常是首选,但它们不太适合由类似DCT/DST的变换执行的能量压缩。在这种情况下,在任何其他变换类型之前以信号通知TSM是有益的。(比较图8)可以使用与用于帧内预测模式编码的MPM列表类似的最可能变换模式(MPM)列表来实现这种信号自适应方法。代替直接以信号通知变换类型,用具有较少索引的最可能变换类型来构造MPM列表,并且在比特流中发送列表内的索引。

图8示出了用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为取决于数据流14,对预定变换列表116进行填充160或者填充和排序160’。装置100被配置为通过使用可变长度码115’从数据流14中解码115索引,以针对预定变换块,选择110所选变换112,使得预定变换列表116中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加,并且使用预定变换列表中由该索引指向的一个变换作为所选变换。此外,装置100被配置为针对预定变换块,从数据流14中解码120系数块122,并且装置100被配置为从系数块122中导出130预定变换块的残差样本阵列132,使得系数块122根据所选变换112与残差样本阵列132相关。另外,该装置被配置为使用残差样本阵列132来校正140预定变换块的预测84'c,以重构预定变换块。

根据实施例,该装置被配置为取决于数据流14中的语法元素,对预定变换列表116进行排序160’,该语法元素至少对图片全局有效。附加地或备选地,装置100被配置为取决于预定变换块的空间邻域中的样本统计的评估,对预定变换列表116进行排序160’。附加地或备选地,装置100被配置为取决于针对预定变换块的空间邻域中的块在数据流14中以信号通知的语法元素,对预定变换列表116进行排序160’。附加地或备选地,装置100被配置为对预定变换列表116进行排序160’,使得存在数据流14的至少一种状态,该状态使得对预定变换列表116的排序160’将恒等变换排列在领先次序,例如索引为0,并且将可变长度码的最短码字,例如码字0,分配给该领先次序。

根据实施例,装置100被配置为使用组合可变长度码码字从数据流14中解码115索引,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则后跟固定长度码的第二码字。将仅由可变长度码的两个非最长码字之一组成的组合可变长度码的码字分配给恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度代码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。组合可变长度码可以与图9中的组合可变长度码115’类似或完全相同。

4.统一MTS语法的二值化可以是固定长度的,也可以是可变长度的,或者是两者的组合。例如,DCT-II和TSM可以使用可变长度,而固定长度用于其余四种非DCT-II变换类型。

换言之,根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为通过使用例如图9中所示的组合可变长度码115’码字115’a从数据流中解码预定变换列表中的索引,来针对预定变换块,选择所选变换,可变长度码115’码字115’a由以下项组成:可变长度码的第一码字115’a1,且如果第一码字115’a1是可变长度码的最长码字115’b,则后跟固定长度码的第二码字115’a2。将仅由可变长度码的两个非最长码字115’c1和115’c2之一组成的组合可变长度码115’的码字115’a分配给包含在预定变换列表116中的恒定变换117和预定义的非恒等变换1181,并用于区分恒定变换117和预定义的非恒等变换1181。将组合可变长度码的其他码字分配给预定变换列表116中的其他非恒等变换1182至1185,并用于区分其他非恒等变换1182至1185。该装置被配置为通过使用预定变换列表116中由索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换。此外,该装置被配置为针对预定变换块,从数据流中解码系数块,以从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

用于变换跳过模式的水平编码

变换系数水平或本文档其余部分中简称为水平的编码是嵌入在变换编码架构的熵编码阶段中的过程,后者可以是混合视频编解码器的一部分。在后一种架构中,预测使原始信号的能量最小化,从而产生经过变换编码过程的残差信号。通常,变换和量化阶段修改残差信号并将结果提供给熵编码阶段,其中经变换和量化的系数被称为变换系数水平。这种混合设计适用于相机捕获的内容。然而,在实际应用中,视频信号并不总是相机捕获的;因此,变换编码的方法在率失真意义上并不总是最佳的。维护变换编码架构的一种变通方法是所谓的变换跳过模式(TSM)。顾名思义,变换阶段被旁路,导致空间残差信号的量化和熵编码。对TSM的熵编码阶段的调整导致压缩效率的提高。

多个方面的总结(信息性说明):

1.无最后位置信令

2.每个子块的子块CBF(coded_sub_block_flag)

3.sig_coeff_flag上下文建模包括

ο缩小显著性标志的模板,仅左和右

ο显著位置的数量而不是绝对总和

4.abs_level_gt1_flag和par_level_flag上下文建模:

5.abs_remainder编码:

οabs_remainder二值化,其中莱斯参数的模板缩小

οabs_remainder,具有用于每个二进制仓索引的专用上下文模型

ο经ctx编码的二进制仓索引的增加数量

ο经ctx编码的二进制仓索引的自适应数量

ο每个样本的经上下文编码的二进制仓的最大数量

6.coeff_sign_flag上下文建模

ο用于上下文建模的不同方法

ο可以修改解析过程的附加语法元素

7.额外地基于计数缩减CCB

8.不同的子块形状和大小

9.取决于预测子的自适应扫描图案

为了保持相对于常规水平编码模式的改变尽可能低,可以使用类似的设计。具体地,与常规模式相比,用于TSM的专用水平编码模式不采用最后显著位置信息(比较图10)。因此,针对变换块内的每个子块发送子块级别的编码块标志(CBF)(比较图12)。此外,用于二值化中的截断一元码和莱斯/指数哥伦布码之间的转移的截止值是固定的且相对于常规模式增加,导致在熵编码器的常规模式下使用上下文自适应模型编码的二进制仓的数量更多(比较权利要求38和图16)。

专用水平编码方法对TSM特别有益,因为符号源统计与用于其他变换候选(通常是DCT/DST变换)的完全不同。然而,与现有常规水平编码模式的偏差应保持尽可能低,以保持较低的实现开销。此外,专用TSM设计不应比常规模式复杂太多。与常规水平编码的区别描述如下:

1.最后显著扫描位置:由于残差信号反映了预测之后的空间残差,并且对于TSM没有执行变换引起的能量压缩,所以不再在变换块的右下角给出更高概率的尾随的零或不显著水平。因此,在这种情况下省略了最后显著扫描位置信令。相反,要处理的第一个子块是变换块内最右下的子块。(比较图10)

图10示出了用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表116中选择110所选变换112,所选变换112包括恒等变换117和至少一个非恒等变换118。此外,装置100被配置为通过检查123所选变换112是否是非恒等变换118,来针对预定变换块,从数据流14中解码120系数块122。如果所选变换112是非恒等变换118,则装置100被配置为通过从数据流中解码124位置信息,以便获得预定系数位置,来解码120系数块122,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数121a之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数121a之处有关。请注意以下:在上述实施例中,该位置被称为沿着从左上角到右下角的扫描顺序度量的最后位置,尽管根据这些实施例,实际扫描/编码从那里开始。也就是说,实际编码以从右下角到左上角的反向扫描顺序85进行。这里,扫描顺序是编码顺序。参见预期这两种扫描方向的下一实施例。如果所选变换112是非恒等变换118,则装置100还被配置为通过从数据流中解码121系数块的第一系数121a并推断系数块中不同于第一系数121a的第二系数121b为零来对系数块进行解码,第一系数121a包括系数块的所有非零系数并由从预定系数位置121a1开始或直到预定系数位置121a1的扫描顺序遍历。如果所选变换112是恒等变换117,则装置100被配置为通过从数据流14中解码121’系数块的所有系数来对系数块进行解码120。此外,装置100被配置为从系数块122中导出130预定变换块的残差样本阵列132,使得系数块根据所选变换112与残差样本阵列132相关,并且使用残差样本阵列132来校正140预定变换块的预测84'c,以重构预定变换块。

根据实施例,装置100被配置为在从数据流14中解码121系数块122的第一系数121a时,使用扫描顺序85并在预定系数位置121a1开始第一系数121a的解码,使得以从预定系数位置121a1开始的扫描顺序85(如图10中的扫描顺序85所示)遍历第一系数121a,或在预定系数位置121a1完成第一系数121a的解码121,使得以直至预定系数位置121a1的扫描顺序85(反向扫描顺序;在与图10中所示的扫描顺序85相反的方向上)遍历第一系数121a。此外,装置100被配置为在从数据流14中解码121系数块122的所有系数时,顺序地对系数块中以扫描顺序最后遍历的系数开始或结束的所有系数进行解码。图10所示的扫描顺序85只是示例。不同的扫描顺序也是可能的。

根据实施例,装置100被配置为在从数据流14中解码121系数块122的所有系数时,使用扫描顺序85并在系数块中由扫描顺序最后遍历的系数处完成对所有系数的解码,或者使用逆向扫描顺序并在系数块中由扫描顺序最后遍历的系数处开始对所有系数的解码。这意味着,例如,系数位置121a2可以表示结束位置(如图10所示),也可以表示扫描顺序的开始位置。请注意,这里扫描顺序被定义为在非恒等变换118的情况下定义扫描顺序。

根据实施例,装置100被配置为通过以下方式解码124位置信息:从数据流14中解码预定系数位置121a1的坐标,例如(x,y),或者从数据流14中解码预定系数位置121a1在扫描顺序85内的次序,例如指示扫描顺序中的次序。

根据实施例,装置100被配置为通过推断数据流14中的子块标志(例如上述实施例中使用的编码子块标志)以信号通知零性的子块内的第一系数121a为零,并且通过从数据流14中解码数据流中的子块标志以信号通知非零性的子块内的第一系数121a,来以系数块被划分为的子块1221-1224为单位,执行对系数块122的第一系数121a的解码121,使得扫描顺序85在遍历与一个子块不同的子块内的第一系数121a之前遍历该一个字块内的所有第一系数121a,其中从数据流中解码除了第一子块标志和第二子块标志中的至少一个之外子块标志的子块标志,第一子块标志与包括预定系数位置的子块有关,第二子块标志与包括系数块的第一系数的子块有关,多个第一系数位于系数块的第一系数与预定系数位置之间并且推断第一子块标志和第二子块标志中的该至少一个之外子块标志以信号通知非零性。此外,该装置被配置为以将系数块被划分为的子块1221-1224为单位,并且通过推断数据流中的子块标志以信号通知零性的子块内的系数为零以及从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来执行从数据流14中解码系数块122的所有系数的解码121,使得扫描顺序在遍历与一个子块不同的子块内的第一系数之前遍历该一个子块内的所有系数,其中针对所有子块从数据流中解码子块标志。该解码121的示例在图11中示出。根据图11,例如,子块1221、1222、1223和1224按照该顺序被解码,由此仅对第一系数进行解码,而不对所有第二系数进行解码。扫描顺序85被示为贯穿所有第一系数的实线和贯穿所有第二系数的虚线。子块1221-1224的反向扫描和/或反向扫描顺序85也是可能的。

根据实施例,装置100被配置为在针对所有子块从数据流中解码子块标志时,按照子块顺序从数据流中顺序地解码所有子块的子块标志,并且如果按照子块顺序在前的所有先前子块标志以信号通知零性,则推断该子块顺序中位于最后的子块标志以信号通知非零性。比较上述实施例,其中2.b.已经指出:“除非所有其他coded_sub_block_flag语法元素已经等于0,否则这还包括DC子块的coded_sub_block_flag。在这种情况下,推断DC coded_sub_block_flag等于1”(比较图13a和13b)。

根据实施例,装置100被配置为在针对所有子块从数据流中解码子块标志时,按照子块顺序从数据流中顺序地解码所有子块的子块标志,并且如果按照子块顺序在前的所有先前子块标志以信号通知零性,则按照系数顺序对预定子块内的系数顺序地进行解码,对于预定子块,推断按照子块顺序位于最后的子块标志以信号通知非零性,并且针对该预定子块内除了最后系数之外的每个系数,解码指示相应系数是否为非零的显著性标志,并且如果预定子块内的其他系数为零则推断最后系数为非零,并且如果预定子块内的至少一个其他系数为非零,则解码最后系数的显著性标志。此外,装置100被配置为在从数据流中解码除了第一子块标志和第二子块标志中的至少一个子块标志之外的子块标志时,从数据流中解码除了第一子块标志和第二子块标志中的至少一个子块标志之外的子块标志,并且推断第一子块标志和第二子块标志中的该至少一个子块标志以信号通知非零性,并且针对与第二子块标志有关的子块内的所有第一系数,不可避免地对指示相应系数是否为非零的显著性标志进行解码。比较上述实施例,如果该子块的所有其他显著性(SIG)标志都等于0,则对(0,0)处的显著性标志进行推断,参见本描述的2.b:“在这种情况下,DC coded_sub_block_flag被推断为等于1(inferDcSbCbf=1)。由于在该DC子块中必须至少有一个显著水平,因此如果该DC子块中的所有其他sig_coeff_flag语法都等于0,则不以信号通知(0,0)处的第一位置的sig_coeff_flag语法元素,而是导出为等于1(inferSbDcSigCoeffFlag=1)。”

2.子块CBF:最后显著扫描位置信令的缺失需要对TSM的具有coded_sub_block_flag的子块CBF信令进行如下修改:

a.由于量化,前述的不显著性序列可能仍局部地出现在变换块内。因此,最后显著扫描位置如前所述被移除并且针对所有子块编码coded_sub_block_flag。(比较图12)

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位从数据流中解码121系数块的系数,以针对预定变换块,从数据流中解码120系数块,其中如果所选变换112是至少一个非恒等变换之一(参见图12中的1231),则按照扫描顺序从数据流14中顺序地解码2001除了第一子块标志2101和最后子块标志210n中的至少一个子块标志之外的子块标志,第一子块标志2101与指示非零的位置信息(例如与第一子块有关的子块标志)有关,并且推断并且推断第一子块标志2101和最后子块标志210n中的该至少一个子块标志以信号通知非零性。对于非恒等变换,左上子块中非零系数的概率很高。取决于扫描顺序,该子块是第一2101子块,或者是最后的210n子块。此外,装置100被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块,其中如果所选变换112是恒等变换(参见图12中的1232),则针对所有子块从数据流中解码2002子块标志。对于恒等变换,具有高概率的非零系数的子块是未知的,为此所有子块标志都应当被解码。附加地,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置可以与图10中所示的装置类似,不同之处在于c块的解码120如图12中所示来执行。

b.覆盖DC频率位置的子块(左上子块)的coded_sub_block_flag表示一种特殊情况。在现有技术的水平编码中,从不以信号通知该子块的coded_sub_block_flag,而是始终推断其等于1。当最后显著扫描位置位于另一子块中时,这意味着在DC子块外部至少有一个显著水平。因此,尽管该子块的coded_sub_block_flag被推断为等于1,但是DC子块可以包含全零/非显著水平。由于TSM中缺少最后扫描位置信息,因此以信号通知每个子块的coded_sub_block_flag。这也包括DC子块的coded_sub_block_flag(比较图12),除非所有其他coded_sub_block_flag语法元素已经等于0(比较图13a和图13b)。在这种情况下,DCcoded_sub_block_flag被推断为等于1(inferDcSbCbf=1)。由于在该DC子块中必须有至少一个显著水平,因此如果该DC子块中的所有其他sig_coeff_flag语法元素都等于0,则不以信号通知(0,0)处的第一位置的sig_coeff_flag语法元素,而导出为等于1(inferSbDcSigCoeffFlag=1)。(比较权利要求30和权利要求33)这不是现有技术水平编码中的情况。

根据实施例,装置100与图10所示的装置类似,不同之处在于如图12所示执行c块的解码120,装置100被配置为:在针对所有子块1221-12236,从数据流中解码子块标志时,按照子块顺序85从数据流中顺序地解码所有子块1221-12236的子块标志,并且如果按照子块顺序在前的先前子块标志中的至少一个以信号通知非零性(例如图13a中的子块12232的子块标志和子块12218的子块标志指示非零性),则对子块顺序中最后的子块标志进行解码,例如子块12236的子块标志,并且如果按照子块顺序在前的所有先前子块标志(例如所有先前子块1221至12235的标志)以信号通知零性,则推断子块顺序中位于最后的子块标志(例如子块12236的子块标志)以信号通知非零性(比较图13b)。

根据实施例,装置100被配置为当推断子块顺序中位于最后的子块标志以信号通知非零性时,如果最后子块标志被推断为以信号通知非零性的子块内的所有先前系数都为零,则推断子块内的最后系数指示非零性。

根据实施例,装置100被配置为通过上下文自适应熵解码并使用上下文来从数据流中解码当前解码的子块标志,如果所选变换是至少一个非恒等变换之一,则该上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的逻辑或,且如果所选变换是恒等变换,则该上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的算术和。

c.当一个变换块内只有一个子块时,永远不会如现有技术的水平编码那样以信号通知coded_sub_block_flag(这包括在先前情况中,因为没有针对当前变换块发送具有等于1的CBF的子块)。

d.此外,改变了用于coded_sub_block_flag的上下文建模。上下文模型索引被计算为右侧子块coded_sub_block_flag(R)的CBF和下方子块coded_sub_block_flag(B)的CBF之和,而不是二者的逻辑或,即coded_sub_block_flag(R)|coded_sub_block_flag(R)。(比较图14)

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换112,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流14中解码数据流14中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位从数据流中解码121系数块的系数,以针对预定变换块,解码120系数块122,其中通过上下文自适应熵解码并使用上下文300从数据流中解码200当前解码的子块标志,如果所选变换是至少一个非恒等变换之一,则上下文300取决于与当前解码的子块标志相邻的子块有关的子块标志的逻辑或310,并且如果所选变换是恒等变换,则上下文300取决于与当前解码的子块标志相邻的子块有关的子块标志的算术和320。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置可以与图10中所示的装置类似,不同之处在于c块的解码120如图14中所示来执行。

根据实施例,装置100被配置为针对数据流中的子块标志以信号通知非零性的子块内的当前系数,使用上下文从数据流中解码指示当前系数是否为零的显著性标志,如果所选变换是恒等变换,则该上下文取决于第一系数集合中为非零的系数的数量310,并且如果所选变换是至少一个非恒等变换之一,则该上下文取决于第二系数集合中为非零的系数的数量320、第二系数集合的值和当前系数的位置,第一系数集合紧邻当前系数,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。

3.sig_coeff_flag上下文建模:sig_coeff_flag的上下文建模采用与上述现有技术的水平编码模式类似的局部模板。然而,仅考虑当前扫描位置右侧的邻居(NB0)和下方的邻居(NB1)。上下文模型偏移仅是显著相邻位置的数量sig_coeff_flag(NB0)+sig_coeff_flag(NB1)。因此,移除了取决于当前变换块内的对角线d的不同上下文集的选择。这导致用于对sig_coeff_flag标志进行编码的三个上下文模型和单个上下文模型集。(比较图15)

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换112,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过针对当前系数,使用上下文300解码400指示当前系数是否为零的显著性标志,来针对预定变换块,从数据流14中解码120系数块122,如果所选变换112是恒等变换,则上下文300取决于310第一系数集合中为非零的系数的数量,并且如果所选变换112是至少一个非恒等变换之一,则上下文300取决于320第二系数集合中为非零的系数的数量、第二系数集合的值和当前系数的位置,第一系数集合紧邻当前系数,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。另外,装置100被配置为从系数块122中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置可以与图10中所示的装置类似,不同之处在于c块的解码120如图15中所示来执行。

根据实施例,装置100被配置为通过对N个大于X标志进行上下文自适应熵解码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来对预定系数进行解码,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。

4.abs_level_gt1_flag和par_level_flag上下文建模:针对标志abs_level_gt1_flag和par_level_flag使用单个上下文模型。

5.abs_remainder编码:尽管绝对水平的经验分布通常仍然符合拉普拉斯分布或几何分布,但存在比变换系数更大的不平稳性。具体地,连续实现窗口内的方差高于常规情况。这激发了对abs_remainder语法二值化和上下文建模的以下修改:

a.在二值化中使用更高的截止值,即从具有sig_coeff_flag、abs_level_gt1_flag、par_level_flag和abs_level_gt3_flag的编码到abs_remainder的莱斯码的转移点,以及用于每个二进制仓位置的专用上下文模型产生更高的压缩效率。(比较图16)增加截止值将导致更多的“大于X”标志,例如通过引入abs_level_gt5_flag、abs_level_gt7_flag 等,直到达到一个/该截止值(numGtXFlags)。对于所有变换块大小,截止值自身可以是固定的,或者取决于变换块大小而固定,或者取决于已经编码的变换块自适应地选择,或者在比特流内的高级别语法结构(例如在序列、图片、切片或图块级别)中以信号通知。

b.指定绝对水平是否大于阈值的上下文编码的二进制仓的数量是固定的或自适应的。每个二进制仓索引使用专用的上下文模型。

c.修改了用于莱斯参数推导的模板,即仅认为当前扫描位置左侧的邻居和下方的邻居与sig_coeff_flag上下文建模的局部模板相似。

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过对N个大于X标志进行上下文自适应熵解码500,并且通过使用可变长度码解码600对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流14中解码120系数块122,大于X标志指示预定系数的绝对值是否大于N,绝对阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。另外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置可以与图10中所示的装置类似,不同之处在于c块的解码120如图16中所示来执行。

根据实施例,装置100被配置为通过顺序地对N个大于X标志进行上下文自适应熵解码,来在通路序列中执行对N个大于X标志的上下文自适应熵解码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,其中,该装置被配置为在通路序列期间记录使用上下文自适应熵解码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵解码。

根据实施例,可变长度码是莱斯码,并且装置100被配置为取决于以下项来确定莱斯码的莱斯参数:如果所选变换是恒等变换,则取决于紧邻预定系数的第一系数集合,并且如果所选变换是至少一个非恒等变换之一,则取决于第二系数集合,第二系数集合包括第一系数集合和与第一系数集合相比更远离预定系数的系数。

根据实施例,装置100被配置为如果所选变换是恒等变换,则通过使用预定上下文上下文自适应熵解码并更新与预定上下文相关联的概率对预定系数的符号进行解码,来对预定系数的符号进行解码,且如果所选变换是至少一个非恒等变换之一,则通过旁路编码(例如具有固定等概率的上下文自适应熵编码)对预定系数的符号进行解码。

6.coeff_sign_flag上下文建模:由于符号序列内部的不稳定性以及帧内预测经常有偏差的事实,即使全局经验分布几乎均匀分布,也可以使用上下文模型对符号进行编码。单个专用上下文模型可用于符号的编码。备选地,上下文模型可以取决于使用局部模板评估的邻居的符号。另一备选方案是对当前子块使用固定的上下文模型,其中使用相邻子块及其符号标志导出上下文偏移。符号使用上下文模型编码,而不是使用熵编码器的旁路模式。(比较图17)

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过对预定系数的符号进行解码,来针对预定变换块,从数据流14中解码120系数块122。装置100被配置为,在对预定系数的符号的解码时,如果所选变换112是恒等变换,则使用预定上下文710(例如取决于系数块中预定系数的领域中的系数的符号来选择上下文)进行上下文自适应熵解码并更新与预定上下文710相关联的概率,并且如果所选变换112是至少一个非恒等变换之一,则使用旁路解码(例如具有固定等概率的上下文自适应熵解码)。另外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置可以与图10中所示的装置类似,不同之处在于c块的解码120如图17中所示来执行。

根据实施例,装置100被配置为如果所选变换是恒等变换,则取决于对先前解码的系数的符号的统计在多个上下文中选择预定上下文710。

根据实施例,装置100被配置为如果所选变换是恒等变换,则取决于先前解码的系数内的非零系数中的正号或负号的相对频率来选择预定上下文710。

根据实施例,装置100被配置为将多个上下文模型中的上下文模型的数量设置为默认数量。

根据实施例,装置100被配置为从数据流中导出多个上下文模型中的上下文模型的数量。

根据实施例,装置100被配置为将上下文模型与正号或负号的相对频率的相互邻接且不重叠的相对频率区间相关联,并且执行选择,使得先前解码系数的非零系数中的正号或负号的相对频率落入与预定上下文模型相关联的相对频率区间。

根据实施例,装置100被配置为确定对先前解码系数的符号的统计,使得先前解码系数分布在比预定变换块大的图片或视频部分上。

根据实施例,装置100被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块的所有非零系数的符号进行熵解码。

根据实施例,装置100被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块中位于系数块的子块中且包括非零预定系数的非零系数子集的符号进行熵解码,并且使用预定变换块的非零系数子集的符号更新统计以获得经更新的统计,根据经更新的统计从多个上下文模型中选择另一预定上下文模型,并且使用该另一预定上下文模型对预定变换块中位于系数块的另一子块中的另一非零系数子集的符号进行熵解码。

根据实施例,装置100被配置为如果所选变换是恒等变换,则基于预定非零系数的符号来更新与预定上下文模型相关联的符号概率。

根据实施例,装置100,其中多个上下文模型被细分为多个上下文模型集合,并且该装置被配置为通过基于先前解码系数的符号的统计选择预定上下文模型集合来执行选择,并且如果所选变换是恒等变换,则通过根据一个或多个相邻非零系数(例如位于相应符号处和周围的模板位置处的非零系数)的符号在所选择的上下文模型集合中选择预定上下文模型来执行选择。

根据实施例,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过对N个大于X标志顺序地进行上下文自适应熵解码,来通路序列中执行对N个大于X标志的上下文自适应熵解码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵解码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X的标志的上下文自适应熵解码。另外,装置100被配置为如果所选变换是恒等变换,则顺序地执行N个大于X标志的上下文自适应熵解码,并且在对N个大于X标志中的显著性标志(X=0)进行解码之后且在对N个大于X标志中的另外的N个大于X标志进行解码之前,解码指示预定系数是否大于绝对阈值的大于X标志旁路标志,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对应另外的大于X标志停止对N个大于X标志的上下文自适应熵解码(例如,并且在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于除了N个大于X标志中的最后一个之外的另外的大于X标志,恢复对N个大于X标志的上下文自适应熵解码)。

7.减少CCB:第一扫描通路,即sig_coeff_flag、abs_level_gt1_flag、和par_level_flag语法元素的传输不变。然而,移除对经上下文编码的二进制仓(CCB)的数量限制,并以如下所示的不同方式处理:

a.可以通过将CCB>k的模式指定为无效来保证CCB的减少,其中k为正整数。请注意,对于当前的VVC开发的常规水平编码模式,k=2。这种限制等于量化空间的减少。

b.为了避免这种限制,可以在sig_coeff_flag语法之后以信号通知附加的标志,指定绝对水平是否大于可以用CCB实现的阈值。例如,将附加的大于标志的数量设置为等于四(numGtXFlags=5),导致八个CCB(sig_coeff_flag、abs_level_gt1_flag/abs_level_gtX_flag(0)、par_level_flag、abs_level_gt3_flag/abs_level_gtX_flag(1)、abs_level_g5_flag/abs_level_gtX_flag(2)、abs_level_g7_flag/abs_level_gtX_flag(3)、abs_level_g9_flag/abs_level_gtX_flag(4)、coeff_sign_flag)。在这样的配置中,可以用CCB以信号通知的绝对水平等于9。水平限制标志然后指示当前绝对水平大于9,因此,可以针对变换块减少CCB的数量。请注意,这样的概念可能仅适用于TSM而不适用于经常规变换和量化的变换块。(比较图18)

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换112,所选变换112包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过对预定系数进行解码,来从数据流中解码120预定变换块的系数块122。装置100被配置为,在对预定系数进行解码时,使用上下文自适应熵解码800对N个大于X标志(例如N个gtX_flag,如图18中的gt1_flag、gt2_flag等)进行解码,并且使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分810进行解码,绝对阈值取决于N。装置100被配置为,在对预定系数进行解码时,如果所选变换是至少一个非恒等变换之一,则通过顺序地830对N个大于X的标志进行上下文自适应熵解码800,来在通路8201至8203的序列中执行N个大于X的标志的上下文自适应熵解码800,其中在每个通路随着N个大于X的标志中的一个或多个来增加X,并且在通路序列830期间记录使用上下文自适应熵解码进行编码的标志的数量832,如果数量832超过预定标志阈值834,则停止对N个大于X的标志的上下文自适应熵解码800;并且如果所选变换是恒等变换(例如TSM=变换跳过模式),则顺序地执行对N个大于X标志的上下文自适应熵解码800,并且在对N个大于X标志中的显著性标志840(X=0)进行解码之后且在对N个大于X标志中的另外的N个大于X标志(如gt1_flag)进行解码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志850进行解码,并且在大于X标志旁路标志850指示预定系数大于绝对阈值的情况852下,相对于另外的大于X标志的停止对N个大于X标志的上下文自适应熵解码(以及例如,在大于X标志旁路标志指示预定系数不大于绝对阈值的情况854下,相对于除了N个大于X标志中的最后一个之外的另外的大于X标志,恢复对N个大于X标志的上下文自适应熵解码)。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。图18示出了在多个(至少两个)通路或扫描中对系数块进行解码的示例。根据图18所示的实施例,如果所选变换112是非恒等变换,则在第一次扫描中仅sig_flag、parity_flag和gt1_flag被解码,并且在第二到第N次扫描中所有剩余的gtX_flag被解码。备选地,如果所选变换是恒等变换,则gtX_bypass_flag 850指示是否必须对gtX_flag进行解码,或者是否可以跳过对gtX_flag的解码并且仅需要对剩余部分进行解码。

c.由于使用熵编码器的常规模式的大量二进制仓代表了硬件架构实现中的挑战,因此限制该数量是有益的。一种方法是比特流限制,即导致一些经上下文编码的二进制仓比特定阈值大的编码决策是无效的,因此,在给定一致比特流的情况下,一致的解码器可以预期经上下文编码的二进制仓的最大数量。备选地,针对每个变换块跟踪经上下文编码的二进制仓的数量。在变换块的处理内,当达到限制时,在不修改二值化或修改二值化的情况下,使用旁路模式来发送所有剩余水平信息(比较图20)。在后一种配置中,每个绝对水平都使用莱斯/指数哥伦布码的组合进行二值化,即截断一元部分不再参与二值化过程。

根据实施例,装置100被配置为用于使用预测编码和基于块的变换残差编码对图片进行解码,针对预定变换块,从预定变换列表中选择所选变换,预定变换列表包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过针对每个系数,在通路序列中使用上下文二进制熵解码解码一个或多个预定标志,来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,预定标志例如图20中所示的sig_flag 92、par_flag 96(parity_flag)、gt1_flag 98(用于X=1的大于X标志)和/或gt2_flag 104(用于X=2的大于X标志)和/或奇偶校验标志和/或另外的大于X标志,每个预定标志减少了相应系数的绝对值域90(例如,例如奇偶校验比特96通过排除每个偶数或非偶数值将绝对值域90减少到一半,并且大于X标志,例如gt1_flag 98和gt2_flag104,通过排除可能的绝对值之一或者仅保留该可能的绝对值之一且排除所有其他绝对值减少了可能的绝对值的域90),相应系数的绝对值位于该绝对值域90内(例如绝对值域从一个或多个通路的起始开始,例如在X比特表示的情况下,从系数0…2X-1的一般绝对值域开始)。另外,装置100被配置为通过在通路序列中,对于绝对值域90的基数没有通过针对相应系数解码的一个或多个预定标志92、96、98、104减少到1的每个系数,解码可变长度码码字(例如莱斯码/指数哥伦布码),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,可变长度码码字指示相应系数在相应系数的绝对值域90内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加,参见8701至8705)。装置100被配置为从系数块中导出预定义变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定义变换块的预测,以重构预定义变换块。此外,该装置被配置为,在通路序列中对一个或多个预定标志92、96、98、104进行解码时,一旦已经达到预定标志92、96、98、104的预定数量(即,到目前为止,针对所有系数已解码的预定标志的总数达到限制),就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向该绝对值域内的绝对值(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),且该装置被配置为将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。(参见图20)

为了说明刚刚概述的用于限制上下文自适应编码/解码标志的数量的概念,参考图20。图20在90说明了用于变换系数的量化索引的绝对值域的初始值域。该初始值域可以包含零和一些最大值之间的所有整数值。初始值域也可以是向更大数字开放的区间。初始值域90中的整数值的数量不必一定是2的幂。此外,图20示出了参与表示(即参与指示其绝对值的)各个量化索引的各种标志类型。有sig_flag类型,指示某个量化索引的绝对值是否为零。也就是说,sig_flag 92将初始值域90二分为两个子部分,即一个仅包含零,另一个包含所有其他可能的值。也就是说,如果量化索引的绝对值碰巧为零,则sig_flag已经唯一地指示了量化索引的绝对值,如图14的底部所示。初始值域90的非零值形成值域94,通过标志类型par_flag将值域94进一步二分为一方面的奇数值以及另一方面的偶数值。仅当某个量化索引非零时,才需要为某个量化索引提供par_flag 96。相对于par_flag 96将值域94二分成的两半之一,其不产生唯一性。它指示一半作为下一结果(递归定义的)值域,并因此下一标志(即gt1_flag 98)在par_flag之后进一步二分这个结果值域,即在量化索引值为奇数值的情况下为奇数非零值100,并且在量化索引为偶数非零值的情况下为偶数非零值102。具体地,通过gt1_flag 98的二分以使得一部分仅分别包括值域100的最小奇数值或域102的最小非零偶数值的方式进行。另一部分包括相应域100/102的所有其他值。通过标志gt2_flag 104,以相同的方式进一步二分后一剩余部分值域,即最小值代表一部分,其他值代表另一部分。如图20的底部所示,这意味着如果后一剩余部分值域恰好为零,则仅对某个变换系数的量化索引编码sig_flag 92,并且如果后一剩余部分值域恰好落入由绝对值1和2组成的值区间106,则对sig_flag 92、par_flag 96和gt1_flag 98进行编码以表示某个变换系数的某个量化索引,并且如果后一剩余部分值域恰好落入包括值3和4的紧跟在后的值区间108,则对所有标志92、96、98和104进行编码以便表示某个变换系数的量化索引的绝对值,并且另外对其绝对值位于初始值域90之外的剩余区间110中的变换系数的量化索引编码剩余部分。例如,标志类型92、96和98的标志在第一通路中编码。例如,标志104在第二通路中编码。这些标志使用上下文自适应算术编码进行编码。然而,在通路中编码的标志的数量可能受到限制,并且受到例如关于图18所述的预定标志阈值的限制。仅在所有三种标志类型仍可以在通路601中编码的情况下,沿着顺序85对第一通路内的当前访问的变换系数位置编码标志类型92、96和98的标志,而通路601中的编码标志的总数不会超过要在通路8201中编码/解码的标志的最大允许数量。类似地,例如,仅在标志类型104仍可以在通路602中编码的情况下,沿着顺序85对第二通路8202内的当前访问的变换系数位置编码标志类型104的标志,而通路8202中的编码标志834的总数不会超过要在通路8202中编码/解码的标志的最大允许数量834。

根据实施例,用于第一非零系数集合和第二非零系数集合的可变长度码码字的不同的可变长度码的不同之处在于:从一元部分到莱斯部分和指数哥伦布部分的转移之间的二值化边界(截止值)和/或通用二值化方案的二值化参数。

根据实施例,用于第一非零系数集合和第二非零系数集合的可变长度码码字的不同的可变长度码的不同之处在于:从一元部分到莱斯部分和指数哥伦布部分的转移之间的二值化边界(截止值)和/或通用二值化方案的二值化参数对先前解码系数的依赖性不同。

8.扫描通路:语法元素的传输顺序可以改变。虽然对子块的所有旁路编码的二进制仓进行连续编码通常是有益的。有多种可能性在一个或多个扫描通路中组织常规编码的二进制仓。在本发明的一个版本中,在一个扫描通路中对所有常规编码的二进制仓(包括coeff_sign_flag标志)进行编码,并在第二扫描通路中对所有旁路编码的二进制仓进行编码。在另一版本中,在多个扫描通路中传输常规编码的二进制仓。例如,二进制仓sig_coeff_flag、abs_level_gt1_flag/abs_level_gtX_flag(0)和par_level_flag在第一扫描通路中编码;abs_level_gt3_flag/abs_level_gtX_flag(1)、abs_level_g5_flag/abs_level_gtX_flag(2)、abs_level_g7_flag/abs_level_gtX_flag(3)、abs_level_g9_flag/abs_level_gtX_flag(4)在第二扫描通路中编码,并且coeff_sign_flag标志在第三扫描通路中编码(此外,所有旁路编码的abs_remainder语法元素在单独的通路中编码)。在另一示例中,sig_coeff_flag、coeff_sign_flag、sig_coeff_flag、abs_level_gt1_flag/abs_level_gtX_flag(0)和par_level_flag在一个扫描通路中编码,并且abs_level_gt3_flag/abs_level_gtX_flag(1)、abs_level_g5_flag/abs_level_gtX_flag(2)、abs_level_g7_flag/abs_level_gtX_flag(3)、abs_level_g9_flag/abs_level_gtX_flag(4)在第二扫描通路中编码(同样,所有旁路编码的abs_remainder语法元素在另一通路中编码)。在另一示例中,sig_coeff_flag、abs_level_gt1_flag/abs_level_gtX_flag(0)和par_level_flag在第一扫描通路中编码;每个附加的gtX标志abs_level_gt3_flag/abs_level_gtX_flag(1)、abs_level_g5_flag/abs_level_gtX_flag(2)、abs_level_g7_flag/abs_level_gtX_flag(3)、abs_level_g9_flag/abs_level_gtX_flag(4)在单独的扫描通路中编码,并且co_eff_flag标志在另一单独的扫描通路中编码(同样,所有旁路编码的abs_remainder语法元素在单独的通路中编码)。(比较图19)

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换112,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为在通路序列中,通过针对预定系数,对N个大于X标志进行上下文自适应熵解码,并且通过使用可变长度码解码指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,并且通过对预定系数的符号进行解码,来针对预定变换块,从数据流14中解码120系数块122,通路遍历该块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N,其中,该装置被配置取决于所选变换是恒等变换还是至少一个非恒等变换之一(例如参见图19),将N个大于X标志、剩余部分和符号的编码不同地分布在通路序列上。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

9.此外,扫描可以相对于常规模式反转,使得以前向方式处理变换块内的样本位置,而不是常规模式中的反向顺序。在将水平编码与差分脉冲编码调制(DPCM)方法(例如块DPCM或残差DPCM,其中每个样本被独立量化和重构)结合时,使用前向扫描是有益的。

换言之,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是非恒等变换,则通过(可能在若干通路中多次遵循该顺序)沿着第一扫描顺序(例如图13b中所示的扫描顺序85从数据流中解码系数块的系数,来针对预定变换块从数据流中解码系数块,第一扫描顺序通向非恒等变换的DC系数(例如从最高频系数开始,可能从“最后”显著系数位置开始),来针对预定变换块,von高数据流中解码系数块。此外,该装置被配置为如果所选变换是恒等变换,则通过沿着第二扫描顺序(例如图13a中所示的扫描顺序85)从数据流中解码系数块的系数,来针对预定变换块,从数据流中解码系数块,第二扫描顺序从左上样本位置通向右下样本位置。另外,装置100被配置为从系数块中导出预定义变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关(在恒等变换的情况下,该步骤可以包括将位于预定侧的块中的系数添加到每个系数,例如在水平DPCM的情况下,预定侧为左手侧,或者在垂直DPCM的情况下,预定测为相应像素的顶部,以便执行DPCM反转),并使用残差样本阵列来校正预定义变换块的预测,以重构预定义变换块。

根据实施例,装置100被配置为根据预定变换块被编码所使用的DPCM方向,选择第二扫描顺序,例如,在水平DPCM情况下,DPCM方向为水平光栅扫描,在垂直DPCM情况下,DPCM方向为垂直光栅扫描。

TSM中符号语法元素的编码

对于常规变换的残差信号,对水平的预期值主要为零,即绝对水平在统计上分布在等于零的值附近。因此,使用自适应上下文模型在熵编码器的旁路模式下传输符号值,因为概率是均匀分布的。与针对相机捕获的内容观察到的相比,TSM中的水平对于给定区域往往具有相同的偏差,即它们是局部偏差的,而预期值可能等于零值,与相机捕获的内容的情况类似。因此,使用用于采用自适应上下文建模的熵编码引擎的上下文模型对符号信息进行编码是有益的。用于对符号值进行编码的上下文模型选择可以例如使用评估相邻空间位置的局部模板来局部地设计。本发明描述了可以与TSM模式或其中变换特性不合适的模式中的符号值的现有上下文建模相结合的另一阶段。

前向自适应配置

当使用上下文模型对符号值进行编码时,由于熵编码引擎的实际设计存在下限,或者换言之最小码字长度由于熵编码引擎的实现而受到限制,从而理论上的最小码字长度可能更短。一种解决方案是在比特流中发送另外的语法元素,该另外的语法元素指示一个区域内的所有符号是否具有相同的值。(比较图22)几种配置都是可能的,并且可以根据另外的数据(例如块大小和/或操作点)进行组合。区域的配置可以是每个子块(比较权利要求56),或者每个变换块(比较权利要求60),或者二者的组合(比较权利要求61)。在所有三种情况下,区域可以是固定的。备选地,区域配置是自适应的(比较权利要求59),例如,取决于变换块内连续扫描位置的数量和自适应区域内和/或相对于相同子块、变换块和/或编码单元中的当前区域的前一区域内发生的统计数据。

根据实施例,装置100用于使用预测编码和基于块的变换残差编码对图片进行解码,被配置为,针对预定义变换块从预定变换列表中选择所选变换112,预定变换列表包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过:如果所选变换是至少一个非恒等变换1231之一,则从数据流14中解码900语法元素,根据该语法元素导出预定非零系数组内的非零系数的符号彼此相等910还是不相等920,如果彼此相等910,则导出930预定非零系数组内的非零系数的符号,如果彼此不相等920,则通过在每个非零系数的基础上对符号比特进行解码,来对预定非零系数组内的非零系数的符号进行解码940,以针对预定变换块,从数据流中解码120系数块。此外,装置100被配置为通过:如果所选变换是恒等变换1232,则通过在每个非零系数的基础上对符号比特进行解码,来对预定非零系数组内的非零系数的符号进行解码940,而不论预定非零系数组内的非零系数的符号是否彼此相等,以针对预定变换块,从数据流中解码系数块。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。(参见图22)

根据实施例,装置100被配置为将预定非零系数组确定为系数块内位于系数块的预定子块内的那些非零系数。

根据实施例,装置100被配置为如果所选变换是至少一个非恒等变换之一,则从数据流中解码另一语法元素,根据该另一语法元素导出另一预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出另一预定非零系数组内的非零系数的符号,并且如果另外的预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对另外的符号比特进行解码,来对另一预定非零系数组内的非零系数的符号进行解码。此外,装置100被配置为将系数块的非零系数分组为多个非零系数组,多个非零系数组包括非零系数组和另一非零系数组。

根据施例,装置100被配置将系数块细分为子块,使得每组非零系数仅包括位于子块中的一个子块中的非零系数。

根据施例,装置100被配置为基于子块中按照子块解码顺序在预定子块之前的一个或多个子块中的一个或多个非零系数的符号,相对于预定子块的大小调整该细分。附加地或备选地,装置100被配置为基于先前解码的非零系数的符号来调整该细分。

根据实施例,装置100被配置为确定预定非零系数组以便在系数块内包括所有非零系数。

根据实施例,装置100被配置为如果所选变换是至少一个非恒等变换之一,则从数据流中解码块全局语法元素,根据该块全局语法元素导出预定变换块内的所有非零系数的符号是否彼此相等,如果彼此相等,则导出预定变换块内的所有非零系数的符号,并且如果预定变换块内的所有非零系数的符号彼此不相等,则执行从数据流中解码语法元素。

对于不满足条件的情况,即当符号信息不具有相同值时,附加语法元素引入了开销。假设符号值的集合中仅有一个值与其余值不同,则使用附加语法元素的配置变得低效。备选的前向自适应信令是趋势索引。当以信号通知趋势索引时,解码器根据已经从比特流中解析出的趋势索引使用特定的上下文模型集合(比较图23)。标度,即趋势索引的数量可以是固定的或自适应的,并且可以在诸如切片头或序列参数集之类的比特流头中和/或在图片参数集中以信号通知标度(比较权利要求68和权利要求69)。示例性配置可以指定三个趋势索引,其中第一趋势索引指示正符号值的高概率,第二趋势索引指示负符号值的高概率,并且最后的趋势索引指示不确定情况。同样,可以针对每个子块、或每个变换块、或二者的组合以信号通知趋势索引。与指示区域内的所有符号具有相同值的语法元素相反,可以在更高级别以信号通知趋势索引,例如编码单元、和/或切片标头、和/或图片参数集、和/或序列参数集(比较权利要求67)。

根据实施例,用于使用预测编码和基于块的变换残差编码对图片进行解码的装置100,被配置为针对预定变换块,从预定变换列表中选择所选变换112,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过以下操作针对预定义变换块,从数据流14中解码120系数块:如果所选变换112是恒等变换1232,则通过从数据流14中导出1100符号概率趋势索引并使用与符号概率趋势索引相关联的上下文模型(定义某个符号概率(例如为正的概率)的上下文模型)对预定非零系数(例如解码顺序中的第一个或系数块中应用该索引的某个子块内的一个非零系数)的符号进行熵解码1110,来对预定系数块的非零系数的符号进行解码1000;并且如果所选变换是至少一个非恒等变换1231之一,则通过对预定非零系数的符号进行旁路解码1200(例如具有固定等概率的上下文自适应熵解码),来对预定系数块的非零系数的符号进行解码1000。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。(参见图23)

根据实施例,装置100被配置为如果所选变换是恒等变换,则使用与符号概率趋势索引相关联的上下文模型对所有非零系数的符号进行熵解码,并且如果所选变换是至少一个非恒等变换之一,则对所有预定非零系数的符号进行旁路解码(例如具有固定等概率的上下文自适应熵解码)。

根据实施例,装置100被配置为如果所选变换是恒等变换,则基于预定非零系数的符号来更新与上下文模型相关联的符号概率,该上下文模型与符号概率趋势索引相关联。

根据实施例,多个上下文模型与符号概率趋势索引相关联,并且该装置被配置为如果所选变换是恒等变换,则使用与符号概率趋势索引相关联的多个上下文模型中的预定上下文模型对非零系数的符号中的每个符号进行熵解码,并且根据一个或多个相邻非零系数(例如位于相应符号处和相应符号周围的模板位置的非零系数)的符号在与符号概率趋势索引相关联的多个上下文模型中选择预定上下文模型;且如果所选变换是至少一个非恒等变换之一,则对所有预定非零系数的符号进行旁路解码(例如具有固定等概率的上下文自适应熵解码)。

根据实施例,装置100被配置为如果所选变换是恒等变换,则根据一个或多个相邻非零系数中的正号或负号的频率,从与符号概率趋势索引相关联的多个上下文模型中选择预定上下文模型。

根据实施例,专门针对以下项在数据流中以信号通知符号概率趋势索引:系数块内预定非零系数所在的子块、预定变换块、包含预定变换块的编码块、包含预定变换块的图片切片、图片、或者包含图片的图片序列。

根据实施例,装置100被配置为:从数据流中读取关于将具有不同基数在描述中给出的示例的情况下为三个)的不同上下文模型集合中的哪个上下文模型集合应用于符号概率趋势索引的信息,其中,与上下文模型相关联的符号概率在第一上下文模型集合内比在第二上下文模型集合内分布的更密集,第二上下文模型集合的基数比第一上下文模型集合的基数小,通过使用符号概率趋势索引作为指向应用于符号概率趋势索引的上下文模型集合的指针来选择上下文模型。

根据实施例,专门针对以下项在数据流中以信号通知符号概率趋势索引:包含预定变换块的图片切片、图片、或者包含图片的图片序列。

后向自适应配置

与前向自适应配置相比,后向自适应方法不需要比特流中的额外语法元素。由于TSM中的符号值局部偏差,因此上下文建模可以考虑局部统计,例如,正符号值或负符号值相对于符号语法元素的总数的数量。(比较图24)具体地,可以导出关系的相对数目,并且当满足特定阈值时可以选择不同的上下文模型集。(比较权利要求71)这种阈值配置可以是对称的或不对称的。例如,配置可以使用三个上下文模型集,第一上下文模型集适用于正号的高概率的情况,第二上下文模型集适用于负号的高概率的情况,并且最后的上下文模型集代表不确定情况。对于对称配置,当比率低于值b0=x或高于值b1=(1-x)(其中x是比率)时选择第一上下文模型集或第二上下文模型集。对于非对称配置,值b0和b1不通过对称配置中给出的另一变量相关。此外,阈值b的数量及其值可以是固定的或自适应的(比较权利要求73)。可以在编码单元级别、切片级别等以信号通知该信息的特定配置。

根据实施例,装置100用于使用预测编码和基于块的变换残差编码对图片进行解码,被配置为针对预定义变换块从预定变换列表中选择所选变换,预定变换列表包括恒等变换和至少一个非恒等变换。此外,装置100被配置为如果所选变换是恒等变换1232,则通过以下操作对预定系数块的非零系数的符号进行解码10001,以针对预定变换块,从数据流14中解码120系数块:使用多个上下文模型中的预定上下文模型1300对预定非零系数的符号进行解码,并且根据先前解码系数的符号的统计1400在多个上下文模型中选择1310预定上下文模型1300。此外,装置100被配置为如果所选变换是至少一个非恒等变换1231之一,则通过对预定非零系数的符号进行旁路解码(例如具有固定等概率的上下文自适应熵解码),来对预定系数块的非零系数的符号进行解码10002,以针对预定变换块,从数据流中解码120系数块。另外,该装置被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。(参见图24)

根据实施例,装置100被配置为如果所选变换是恒等变换,则根据先前解码系数内的非零系数中的正号或负号的相对频率来选择预定上下文模型。

根据实施例,装置100被配置为将多个上下文模型中的上下文的数量模型设置为默认数量。

根据实施例,装置100被配置为从数据流中导出多个上下文模型中的上下文模型的数量。

根据实施例,装置100被配置为将上下文模型与针对正号或负号的相对频率的相互邻接且不重叠的相对频率区间相关联,并执行选择,使得先前解码系数的非零系数中的正号或负号的相对频率落入与预定上下文模型相关联的相对频率区间中。

根据实施例,装置100被配置为确定对先前解码系数的符号的统计,使得先前解码系数遍布在比预定变换块大的图片或视频部分上。

根据实施例,装置100被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块的所有非零系数的符号进行熵解码。

根据实施例,装置100被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块中位于系数块的子块中且包括非零预定系数的非零系数子集的符号进行熵解码,并且使用预定变换块的非零系数子集的符号更新统计以获得经更新的统计,根据经更新的统计从多个上下文模型中选择另一预定上下文模型,并且使用该另一预定上下文模型对预定变换块中位于系数块的另一子块中的另一非零系数子集的符号进行熵解码。

根据实施例,装置100被配置为如果所选变换是恒等变换,则基于预定非零系数的符号来更新与预定上下文模型相关联的符号概率。

根据实施例,将多个上下文模型细分为上下文模型集合,并且该装置被配置为基于先前解码系数的符号的统计来选择预定上下文模型集合,并且如果所选变换是恒等变换,则根据一个或多个相邻非零系数(例如,位于相应符号处和向应符合周围的模板的位置的那些非零系数)的符号从所选择的上下文模型集合中选择预定上下文模型。

前向和后向自适应配置的组合

本发明中描述的任何前向和后向自适应配置的组合是可能的,因为它们不重叠,即,在上下文模型集选择规则中不存在冲突。例如,趋势索引与后向自适应方法的组合会产生这样一种配置,使得使用趋势索引导出初始上下文模型集并根据后向自适应方法更新初始上下文模型集合(比较权利要求64和权利要求65)。

优选实施例

在本发明的优选实施例中,在保持现有二值化方案的情况下,通过切换到熵编码引擎的旁路模式来实现对经上下文编码的二进制仓的数量的限制。

在本发明的另一优选实施例中,通过切换到熵编码的旁路模式并将第一二值化边界设置为零,来实现对经上下文编码的二进制仓的数量的限制,即得到的二值化仅是莱斯码和指数哥伦布码的组合(比较图20或权利要求51)。

在本发明的另一优选实施例中,通过切换到熵编码的旁路模式并使用专用的二值化方案,例如仅莱斯码,来实现对经上下文编码的二进制仓的数量的限制(比较图20)。

在本发明的又一优选实施例中,当切换到旁路模式时,修改在所有莱斯码中选择特定莱斯码或在所有指数哥伦布码中选择指数哥伦布码的参数推导。

在本发明的另一优选实施例中,通过切换到熵编码的旁路模式同时仍然使用上下文模型对显著信息进行编码,来实现对经上下文编码的二进制仓的数量的限制。在这种配置中,还必须通过考虑扫描位置的剩余数量来确定切换点。

换言之,装置100用于使用预测编码和基于块的变换残差编码对图片进行解码,可以被配置为针对预定义变换块从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,装置100被配置为通过在通路序列中,针对每个系数,使用上下文自适应二进制熵解码从数据流中解码一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志;例如,图20中所示的sig_flag92、par_flag 96、gt1_flag 98和/或gt2_flag 104),来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,每个预定标志减少相应系数的绝对值域90(例如,奇偶校验比特96通过排除每个偶数或奇数绝对值将绝对值域90减小到一半,且大于X标志,例如gt1_flag 98和gt2_flag 104,通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。此外,装置100被配置为通过在通路序列中,对于绝对值域90的基数没有通过针对相应系数解码的一个或多个预定标志减少到1的每个系数,解码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字用于标识相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加;这里,码字自由地仅指代经减小的绝对值域或一般的一个绝对值域或不可避免地作为经减小的绝对值域的适当超集的一些其他绝对值域),来针对预定变换块,从数据流中解码系数块,通路遍历块的系数。另外,装置100被配置为从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中解码一个或多个预定标志时,除了相对于一个或多个预定标志中指示显著性标志被解码的系数是否为零的显著性标志(因此,不可避免地使用上下文自适应二进制熵解码对其进行解码)之外,一旦已经达到预定标志的预定数量(即,到目前为止,已经针对所有系数解码的预定标志的总数已经达到限制),就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),其中,预定数量与上限减去显著性标志尚未被解码的系数的数量相对应。(与图20比较)

在本发明的优选实施例中,用于TSM的水平编码的处理顺序是前向的,即扫描以DC频率位置开始,以最高AC频率位置结束(比较图21)。

换言之,装置100用于使用预测编码和基于块的变换残差编码对图片进行解码,被配置为针对预定义变换块从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该装置被配置为如果所选变换是非恒等变换1231,则通过沿着第一扫描顺序851(可能在若干通路中多次遵循该顺序)从数据流中解码系数块的系数,第一扫描顺序通向非恒等变换的DC系数(例如从最高频系数开始,可能从“最后”显著系数位置开始),来针对预定变换块,从数据流中解码120系数块。该装置被配置为如果所选变换是恒等变换1232,则沿着第二扫描顺序852从数据流中解码系数块的系数,第二扫描顺序从左上样本位置通向右下样本位置,来针对预定变换块,从数据流中解码120系数块。该扫描顺序决定在图21中示出。此外,该装置100被配置为从系数块中导出预定义变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关(在恒等变换的情况下,该步骤可以包括将位于预定侧的块中的系数添加到每个系数,例如在水平DPCM的情况下,预定侧为左手侧,或者在垂直DPCM的情况下,预定侧为相应系数的顶部,以便执行DPCM反转),并使用残差样本阵列来校正预定义变换块的预测,以重构预定义变换块。

在本发明的另一优选实施例中,扫描模式可以是水平的或垂直的,并且耦接到所使用的预测模式,例如BDPCM和/或RBDPCM(比较图21)。

换言之,装置100被配置为根据DPCM方向(例如,在水平DPCM情况下,为水平光栅扫描,且在垂直DPCM情况下,为垂直光栅扫描),来选择第二扫描顺序852,使用该DPCM方向对预定变换块进行编码。

在本发明的优选实施例中,所有经上下文编码的二进制仓都在单个循环而不是单独的循环中编码,并且以旁路模式编码的最终的水平信息形成另一个处理循环。

在本发明的另一优选实施例中,在处理下一个扫描位置之前对每个水平进行完全编码。

在本发明的优选实施例中,正值或负值的数量与符号值的总数一起被追踪。当超过对称阈值x时,使用不同的上下文模型集,从而产生三个上下文模型集。用于统计的级别是变换块。

在本发明的另一优选实施例中,用于统计的级别是子块。

在本发明的另一优选实施例中,用于统计的级别是切片。

在本发明的另一优选实施例中,阈值x是固定的。

在本发明的另一优选实施例中,阈值x是可变的。

在本发明的另一优选实施例中,上下文模型集内的索引的上下文建模是固定的并且等于1。

在本发明的优选实施例中,上下文模型集的数量还等于3,并且阈值是不对称的。

在本发明的优选实施例中,在诸如切片头的头内或者比特流内的图片参数集中发送阈值。

在本发明的优选实施例中,符号语法元素的编码与绝对水平的编码分离。

在本发明的优选实施例中,在比特流中发送指示特定区域的符号值是否相同的语法元素。

在本发明的另一优选实施例中,在比特流中发送指示特定区域的符号值是否相同的语法元素,该特定区域被定义为变换块。

在本发明的另一优选实施例中,在比特流中发送指示特定区域的符号值是否相同的语法元素,该特定区域被定义为子块。

在本发明的另一优选实施例中,在比特流中发送指示特定区域的符号值是否相同的语法元素,该特定区域被定义为编码单元。

在本发明的另一优选实施例中,当区域被定义为子块时,通过评估相邻子块来导出附加语法元素的上下文建模。

在本发明的另一优选实施例中,当区域被定义为变换块时,通过评估相邻变换块来导出附加语法元素的上下文建模。

表5示出了用于具有numGtXFlags-1个附加的“大于X”标志的变换跳过模式的水平编码的一个实施例的语法表。

表5用于变换跳过的示例残差编码语法

以下用于编码的设备可以包括与上述用于解码的设备类似或等效的特征。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为将图片细分为不同大小的变换块。此外,该装置被配置为通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则该装置被配置为使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则该装置被配置为从预定变换列表中选择变换,并在数据流中发送指向预定变换列表中所选择的变换的索引,以便作为所选变换用于预定变换块,预定变换列表包括恒等变换和非恒等变换。另外,该装置被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得如果所选变换是恒等变换,则将该系数块用作残差样本阵列,用于校正预测以重构预定变换块,并且使得如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。

根据实施例,该装置被配置为如果预定变换块的大小超过预定阈值大小,则将默认非恒等变换用于所选变换。

根据实施例,默认非恒等变换包含在预定变换列表中。

根据实施例,该装置被配置为从数据流中导出预定阈值大小。

根据实施例,该装置被配置为如果预定变换块的大小不超过预定阈值大小,则针对预定变换块,将索引编码到数据流中的当前位置中,并且如果预定变换块的大小超过预定阈值大小,则将不同于索引的语法元素(例如,代替索引,读取另一元素,但不是在跳过和不读取的意义上如此,而是尽管直至数据流中的该位置,语法可能是相同的,但是数据流实际不包含该索引)编码到数据流中的当前位置中。

根据实施例,该装置被配置为针对图片的编码块,将索引编码到数据流中,编码块被划分为包括预定变换块在内的多个变换块。(请注意,可能在较高级别处针对不相交的CU集合以信号通知统一的MTS语法),即,索引可能对编码块集合有效。

根据实施例,变换块是亮度变换块,并且该装置被配置为对色度变换块使用固定的默认变换。

根据实施例,该装置被配置为将所选变换应用于图片在预定变换块内的亮度分量和色度分量。

根据实施例,该装置被配置为对于图片的亮度分量和色度分量中的每个分量,针对预定变换块,将索引编码到数据流中。

根据实施例,该装置被配置为在数据流中以信号通知以下情况是否成立:变换块是亮度变换块,并且要对色度变换块使用固定的默认变换;要将所选变换应用于图片在预定变换块内的亮度分量和色度分量;或者,对于图片的亮度分量和色度分量中的每个分量,要针对预定变换块,将索引编码到数据流中。

根据实施例,该装置被配置为在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中。此外,该装置被配置为在针对预定变换块,将系数块编码到数据流中时,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则将以信号通知系数块是否具有至少一个非零系数的编码块标志编码到数据流中,并且该装置被配置为在针对预定变换块,将系数块编码到数据流中时,如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则推断系数块具有至少一个非零系数(换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不将CBF编码到数据流中,或甚至换言之,将不同于CBF的语法元素编码到将CBF编码到数据流中的当前部分)。

根据实施例,一个或多个变换的预定义集合包括恒等变换和默认非恒等变换,并且根据用于选择所选变换的默认方式默认地选择默认非恒等变换。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。此外,该装置被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来预定变换块的预测,以重构预定变换块。该装置被配置为在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则将以信号通知系数块是否具有至少一个非零系数的编码块标志编码到数据流中。另外,该装置被配置为在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则避免将编码块标志编码到数据流中,其中编码器侧必须推断该编码块标志以信号通知系数块具有至少一个非零系数(换言之,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则不将CBF编码到数据流中,或甚至换言之,则将不同于CBF的语法元素编码到将CBF编码到数据流中的当前部分)。

根据实施例,一个或多个变换的预定义集合包括恒等变换。

根据实施例,该装置被配置为取决于数据流,对预定变换列表进行填充或者填充和排序,并且使用可变长度码将索引编码到数据流中,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,包括将以信号通知系数块是否具有至少一个非零系数的编码块标志编码到数据流中。该装置被配置为如果编码块标志以信号通知系数块具有至少一个非零系数,则针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为如果编码块标志以信号通知系数块不具有至少一个非零系数,则重构预定变换块而不进行预测校正(换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不将索引编码到数据流中,例如通过将不同于该索引的语法元素编码到数据流中将该索引编码到的当前部分)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为取决于数据流,对预定变换列表进行填充或者填充和排序,并且针对预定变换块,从预定变换列表中选择所选变换。此外,该装置被配置为使用可变长度码将指向预定变换列表中的所选变换的索引编码到数据流中,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。另外,该装置被配置为导出预定变换块的预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测来重构预定变换块,以重构预定变换块。

根据实施例,该装置被配置为根据数据流中的语法元素对预定变换列表进行排序,该语法元素至少对图片全局有效。

根据实施例,该装置被配置为根据预定变换块的空间邻域中的样本统计的评估,对预定变换列表进行排序。

根据实施例,该装置被配置为根据针对预定变换块的空间邻域中的块在数据流中以信号通知的语法元素,对预定变换列表进行排序。

根据实施例,该装置被配置为对预定变换列表进行排序,使得存在数据流的至少一种状态,该状态使得对预定变换列表的排序将恒等变换排列在领先次序处,将可变长度码的最短码字分配给该领先次序。

根据实施例,该装置被配置为使用组合可变长度码码字将索引编码到数据流中,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为导出预定变换块的预测。此外,该装置被配置为针对预定变换块,从预定变换列表中选择所选变换,并且使用组合可变长度码码字将指向预定变换列表中的所选变换的索引编码到数据流中,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为导出预定变换块的预测,并且通过检查所选变换是否是非恒等变换,来针对预定变换块,将系数块编码到数据流中。如果所选变换是非恒等变换,则该装置被配置为将位置信息编码到数据流中,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关(请注意以下内容。在以上实施例中,该位置被称为沿着从左上角通向右下的扫描顺序测量的最后位置,尽管根据这些实施例,实际扫描从该处开始编码。也就是说,实际编码发生在从右下通向左上角的反向扫描顺序。这里,扫描顺序是编码顺序。参见预期这两种扫描顺序的下一实施例),并且将系数块的第一系数编码到数据流中,第一系数包括系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断系数块中不同于第一系数的第二系数为零,以针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则该装置被配置为将系数块的所有系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为在将系数块的第一系数编码到数据流中时,使用扫描顺序,并且在预定系数位置开始处对第一系数的编码,使得由从预定系数位置开始的扫描顺序遍历第一系数,或者使用扫描顺序,并且在预定系数位置处完成对第一系数的编码,使得由直至预定系数位置的扫描顺序遍历第一系数。该装置被配置为在将系数块的所有系数编码到数据流中时,从系数块中由扫描顺序最后遍历的系数开始对所有系数顺序地进行编码,或者在系数块中由扫描顺序最后遍历的系数处完成对所有系数顺序地进行编码。

根据实施例,该装置被配置为在将系数块的所有系数编码到数据流中时,使用扫描顺序并在系数块中由扫描顺序最后遍历的系数处完成对所有系数的编码,或者使用逆扫描顺序并在系数块中由扫描顺序最后遍历的系数处开始对所有系数的编码。

根据实施例,该装置被配置为通过将预定系数位置的坐标编码到数据流中,或者通过将预定系数位置在扫描位置内的次序编码到数据流中,来编码位置信息。

根据实施例,该装置被配置为以系数块被划分为的子块为单位执行对系数块的第一系数的编码,使得扫描顺序在遍历与一个子块不同的子块内的第一系数之前遍历改一个子块内的所有第一系数,其中,推断数据流中的子块标志(请注意,在以上实施例中已经使用“编码子块标志”)以信号通知零性的子块内的第一系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的第一系数编码到数据流中,其中将除了第一子块标志和第二子块标志中的至少一个子块标志之外的子块标志编码到数据流中,第一子块标志与包括预定系数位置的子块有关,第二子块标志与包括系数块的第一系数的子块有关,多个第一系数位于系数块的第一系数与预定系数位置之间,其中,推断第一子块标志和第二子块标志中的该至少一个子块标志以信号通知非零性。该装置被配置为以系数块被划分为的子块为单位执行将系数块的所有系数编码到数据流中,使得扫描顺序在遍历与一个子块不同的子块内的第一系数之前遍历该一个子块内的所有系数,其中,推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中,其中针对所有子块,将子块标志编码到数据流中。

根据实施例,该装置被配置为在针对所有子块,将子块标志编码到数据流中时,针对所有子块,按照子块顺序将子块标志顺序地编码到数据流中,并且如果按照子块顺序在前的所有先前子块标志以信号通知零性,则不对按照子块顺序位于最后的子块标志进行编码,而是推断按照子块顺序位于最后的子块标志以信号通知非零性。(比较以上实施例,其中在2.b.中已经指出:“除非所有其他coded_sub_block_flag语法元素已经等于0,否则这还包括DC子块的coded_sub_block_flag。在这种情况下,推断DC coded_sub_block_flag等于1”)

根据实施例,该装置被配置为在针对所有子块,将子块标志编码到数据流中时,针对所有子块,按照子块顺序将子块标志顺序地编码到数据流中,并且如果按照子块顺序在前的所有先前子块标志以信号通知零性,则按照系数顺序对预定子块内的系数顺序地进行编码,对于预定子块,该预定子块的子块标志位于子块顺序中的最后并推断该预定子块的子块标志以信号通知非零性,并且针对预定子块内除了最后系数之外的每个系数,编码指示相应系数是否为非零的显著性标志,并且如果预定子块内的其他系数为零,则推断最后系数为非零,并且如果预定子块内的其他系数中的至少一个系数为非零,则对最后系数的显著性标志进行编码。此外,该装置被配置为在将除了第一子块标志和第二子块标志中的至少一个子块标志之外的子块标志编码到数据流中时,将除了第一子块标志和第二子块标志中的该至少一个子块标志之外的子块标志编码到数据流中,推断第一子块标志和第二子块标志中的该至少一个子块标志以信号通知非零性,并且针对述第二子块标志有关的子块内的所有第一系数,不可避免地对指示相应系数是否为非零的显著性标志进行编码。(比较以上实施例,其中如果该子块的所有其他显著性标志都等于0,则在(0,0)位置发生对显著性标志的推断,参见说明书的2.b:“在这种情况下,推断DC coded_sub_block_flag等于1(inferDcSbCbf=1)。如果该DC子块中的所有其他sig_coeff_flag语法元素都等于0,则由于在该DC子块中必须存在至少一个显著水平,因此不以信号通知用于(0,0)处的第一位置的sig_coeff_flag语法元素,而是导出为等于1(inferSbDcSigCoeffFlag=1)。”)

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中,其中,推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中。推断系数为零及对非零性系数的编码通过以下执行:如果所选变换是至少一个非恒等变换之一,则将除了第一子块标志和最后子块标志中的至少一个之外的子块标志顺序地编码到数据流中,其中,推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性;以及如果所选变换是恒等变换,则针对所有子块,将子块标志编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为在针对所有子块,将子块标志编码到数据流中时,针对所有子块,按照子块顺序将子块标志顺序地编码到数据流中,并且如果按照子块顺序在前的先前子块标志中的至少一个以信号通知非零性,则对按照子块顺序位于最后的子块标志进行编码,其中,如果按照子块顺序在前的所有先前子块标志以信号通知零性,则推断按照子块顺序位于最后的子块标志以信号通知非零性。

根据实施例,该装置被配置为当推断按照子块顺序位于最后的子块标志以信号通知非零性时,如果最后子块标志被推断为以信号通知非零性的子块内的所有先前系数都为零,则推断子块内的最后系数以信号通知非零性。

根据实施例,该装置被配置为通过上下文自适应熵编码并且使用上下文,将当前编码的子块标志编码到数据流中。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果所选变换是恒等变换,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的算术和。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中,来以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中,其中通过上下文自适应熵编码并且使用上下文将当前编码的子块标志编码到数据流中。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果所选变换是恒等变换,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的算术和。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为针对数据流中的子块标志以信号通知非零性的子块内的当前系数,使用上下文将指示当前系数是否为零的显著性标志编码到数据流中。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中的为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行编码,来针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为通过上下文自适应熵编码对N个大于X标志进行编码,大于X标志指示预定系数的绝对值是否大于X,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过对N个大于X标志进行上下文自适应熵编码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为通过顺序地对N个大于X标志进行上下文自适应熵编码,来在通路序列中执行对N个大于X标志的上下文自适应熵编码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,其中,该装置被配置为在通路序列期间记录使用上下文自适应熵编码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵编码。

根据实施例,可变长度码是莱斯码,并且该装置被配置为根据以下项确定莱斯码的莱斯参数:如果所选变换是恒等变换,则根据紧邻预定系数的第一系数集合进行确定,并且如果所选变换是至少一个非恒等变换之一,则根据第二系数集合进行确定,第二系数集合包括第一系数集合和与第一系数集合相比更远离预定系数的系数。

根据实施例,该装置被配置为通过以下操作对预定系数的符号进行编码:如果所选变换是恒等变换,则使用预定上下文进行上下文自适应熵编码,并且更新与预定上下文相关联的概率,并且如果所选变换是至少一个非恒定变换之一,则进行旁路编码(例如,具有固定等概率的上下文自适应熵编码)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为如果所选变换是恒等变换,则通过使用预定上下文对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率,并且如果所选变换是至少一个非恒定变换之一,则进行旁路编码(例如具有固定等概率的上下文自适应熵编码),来针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过顺序地对N个大于X标志进行上下文自适应熵编码,来在通路序列中执行对N个大于X标志的上下文自适应熵编码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵编码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵编码。另外,该装置被配置为如果所选变换是恒等变换,则顺序地对N个大于X标志执行上下文自适应熵编码,并且在对N个大于X标志中的显著性标志(X=0)进行编码之后且在对N个大于X标志中的另外的N个大于X标志进行编码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行编码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于该另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵编码(例如,并且在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于除了N个大于X标志中的最后一个大于X标志之外的另外的大于X标志,恢复对N个大于X标志的上下文自适应熵编码)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过对N个大于X标志进行上下文自适应熵编码,并且通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X,预定阈值取决于N。该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过顺序地对N个大于X标志进行上下文自适应熵编码,来在通路序列中执行对N个大于X标志的上下文自适应熵编码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵编码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵编码。另外,该装置被配置为如果所选变换是恒等变换,则顺序地对N个大于X标志执行上下文自适应熵编码,并且在对N个大于X标志中的显著性标志(X=0)进行编码之后且在对N个大于X标志中的另外的N个大于X标志进行编码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行编码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵编码(例如,并在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于另外的大于X标志中除了N个大于X标志中的最后一个大于X标志之外的大于X标志,恢复对N个大于X标志的上下文自适应熵编码)。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。此外,该装置被配置为通过针对预定系数,对N个大于X标志进行上下文自适应熵编码,通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,并且通过对预定系数的符号进行编码,来针对预定变换块,在通路序列中将系数块编码到数据流中,通路按照预定扫描顺序遍历系数块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N。该装置被配置为取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的编码不同地分布在通路序列上。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为通过在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志)编码到数据流中,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。此外,该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字指示相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加),来针对预定变换块,将系数块编码到数据流中。该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中编码一个或多个预定标志时,一旦达到预定标志的预定数量(即,到目前为止,已经针对所有系数解码的预定标志的总数已经达到限制),就停止对一个或多个预定标志的编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向绝对值域内的绝对值(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),并且将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。

根据实施例,用于第一非零系数集合和第二非零系数集合的可变长度码码字的不同的可变长度码的不同之处在于:从一元部分到莱斯部分和指数哥伦布部分的转移之间的二值化边界(截止值)和/或通用二值化方案的二值化参数。

根据实施例,用于第一非零系数集合和第二非零系数集合的可变长度码码字的不同的可变长度码的不同之处在于:从一元部分到莱斯部分和指数哥伦布部分的转移之间的二值化边界(截止值)和/或通用二值化方案的二值化参数对先前编码系数的依赖性。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是非恒等变换,则通过沿着通向非恒等变换的DC系数(例如,从最高频率系数向前,可能从“最后”显著系数位置开始)的第一扫描顺序(可能在多个通路中多次遵循该顺序),将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为如果所选变换是恒等变换,则通过沿着从左上样本位置通向右下样本位置的第二扫描顺序,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关(该步骤可以包括,在恒等变换的情况下,将驻留在预定侧上的块中的系数与每个系数相加,例如在水平DPCM的情况下,为左手侧,且在垂直DPCM的情况下,为相应系数的顶部,以便执行DPCM反转),允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为根据DPCM方向来选择第二扫描顺序,使用DPCM方向对预定变换块进行编码(例如,在水平DPCM的情况下,为水平光栅扫描,在垂直DPCM的情况下,为垂直光栅扫描)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过以下操作针对预定变换块,将系数块编码到数据流中:将语法元素编码到数据流中,从该语法元素中导出预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出预定非零系数组内的非零系数的符号,并且如果预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码。此外,该装置被配置为如果所选变换是恒等变换,则通过以下操作针对预定变换块,将系数块编码到数据流中:通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码,而不论预定非零系数组内的非零系数的符号是否彼此相等。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为将预定非零系数组确定为系数块内位于系数块的预定子块内的那些非零系数。

根据实施例,该装置被配置为如果所选变换是至少一个非恒等变换之一,则将另一语法元素编码到数据流中,另一语法元素以信号通知另一预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出另一预定非零系数组内的非零系数的符号,并且如果另一预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对另外的符号比特进行编码来对另一预定非零系数组内的非零系数的符号进行编码,并且将系数块的非零系数分组为多个非零系数组,多个非零系数组包括非零系数组和另一非零系数组。

根据实施例,该装置被配置为基于系数块到子块的细分来执行分组,使得每个非零系数组仅包括位于子块中的一个子块中的非零系数。

根据实施例,该装置被配置为基于子块中按照子块编码顺序在预定子块之前的一个或多个子块中的一个或多个非零系数的符号,相对于预定子块的大小调整该细分,和/或基于先前编码的非零系数的符号来调整该细分。

根据实施例,该装置被配置为确定预定非零系数组,以便包括系数块内的所有非零系数。

根据实施例,该装置被配置为如果所选变换是至少一个非恒等变换之一,则将块全局语法元素编码到数据流中,从块全局语法元素中导出预定变换块内的所有非零系数的符号是否彼此相等,如果彼此相等,则导出预定变换块内的所有非零系数的符号,如果预定变换块内的所有非零系数的符号彼此不相等,则执行将语法元素编码到数据流中。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是恒等变换,则通过将符号概率趋势索引编码到数据流中,并且使用与符号概率趋势索引相关联的上下文模型(定义某个符号概率的上下文模型,例如为正号的概率)对预定非零系数(例如,编码顺序中的第一个或者系数块中应用该索引的某个子块内的一个非零系数)的符号进行熵编码,来针对预定变换块,将系数块编码到数据流中。此外,该装置被配置为如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码),来针对预定变换块,将系数块编码到数据流中。另外,该装置被配置为通过对预定系数块的非零系数的符号进行编码,来针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为如果所选变换是恒等变换,则使用与符号概率趋势索引相关联的上下文模型对所有非零系数的符号进行熵编码,并且如果所选变换是至少一个非恒等变换之一,则对所有非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码)。

根据实施例,该装置被配置为如果所选变换是恒等变换,则基于预定非零系数的符号来更新与上下文模型相关联的符号概率,该上下文模型与符号概率趋势索引相关联。

根据实施例,多个上下文模型与符号概率趋势索引相关联,并且该装置被配置为如果所选变换是恒等变换,则使用与符号概率趋势索引相关联的多个上下文模型中的预定上下文模型对非零系数的符号中的每个符号进行熵编码,并且根据一个或多个相邻非零系数(例如,位于相应符号处或相应符号周围的模板的位置处的那些非零系数)的符号在与符号概率趋势索引相关联的多个上下文模型中选择预定上下文模型,并且如果所选变换是至少一个非恒等变换之一,则对所有非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码)。

根据实施例,该装置被配置为如果所选变换是恒等变换,则根据一个或多个相邻非零系数中的正号或负号的频率,在与符号概率趋势索引相关联的多个上下文模型中选择预定上下文模型。

根据实施例,专门针对以下项在数据流中以信号通知符号概率趋势索引:系数块内预定非零系数所在的子块、预定变换块、包含预定变换块的编码块、包含预定变换块的图片切片、图片、或者包含图片的图片序列。

根据实施例,该装置被配置为将关于将具有不同基数的不同上下文模型集合中的哪个上下文模型集合应用于符号概率趋势索引的信息插入数据流中,其中,与上下文模型相关联的符号概率在第一上下文模型集合内比在第二上下文模型集合内分布的更密集,第二上下文模型集合的基数比第一上下文模型集合的基数小。使用符号概率趋势索引作为指向应用于符号概率趋势索引的上下文模型集合的指针来选择上下文模型。

根据实施例,专门针对以下项在数据流中以信号通知符号概率趋势索引:包含预定变换块的图片切片、图片、或者包含图片的图片序列。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为如果所选变换是恒等变换,则通过使用多个上下文模型中的预定上下文模型对预定非零系数的符号进行编码,并且根据先前编码系数的符号的统计在多个上下文模型中选择预定上下文模型,并且如果所选变换是至少一个非恒等变换之一,则对预定非零系数的符号进行旁路编码(例如,具有固定等概率的上下文自适应熵编码),来对预定系数块的非零系数的符号进行编码,以针对预定变换块,将系数块编码到数据流中。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,该装置被配置为如果所选变换是恒等变换,则根据先前编码系数内的非零系数中的正号或负号的相对频率来选择预定上下文模型。

根据实施例,该装置被配置为多个上下文模型中的上下文模型的数量设置为默认数量。

根据实施例,该装置被配置为将关于多个上下文模型中的上下文模型的数量的信息插入数据流中。

根据实施例,该装置被配置为将上下文模型与针对正号或负号的相对频率的相互邻接且不重叠的相对频率区间相关联,并执行选择,使得先前编码系数的非零系数中的正号或负号的相对频率落入与预定上下文模型相关联的相对频率区间中。

根据实施例,该装置被配置为确定对先前编码系数的符号的统计,使得先前编码系数遍布在比预定变换块大的图片或视频部分上。

根据实施例,该装置被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块的所有非零系数的符号进行熵编码。

根据实施例,该装置被配置为如果所选变换是恒等变换,则使用预定上下文模型对预定变换块中位于系数块的子块中且包括非零预定系数的非零系数子集的符号进行熵编码,并且使用预定变换块的非零系数子集的符号更新统计以获得经更新的统计,根据经更新的统计从多个上下文模型中选择另一预定上下文模型,并且使用该另一预定上下文模型对预定变换块中位于系数块的另一子块中的另一非零系数子集的符号进行熵编码。

根据实施例,该装置被配置为如果所选变换是恒等变换,则基于预定非零系数的符号来更新与预定上下文模型相关联的符号概率。

根据实施例,将多个上下文模型细分为上下文模型集合,并且该装置被配置为如果所选变换是恒等变换,则通过基于先前编码系数的符号的统计来选择预定上下文模型集合,并且通过根据一个或多个相邻非零系数(例如,位于相应符号处和相应符号周围的模板的位置处的那些非零系数)的符号从所选择的上下文模型集合中选择预定上下文模型,来执行选择。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的装置,被配置为针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。此外,该装置被配置为通过在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志(例如,奇偶校验标志和/或大于X标志、显著性标志)编码到数据流中,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域(例如,奇偶校验比特通过排除每个偶数或奇数绝对值将绝对值域减小到一半,大于X标志通过排除可能的绝对值之一或者留下该可能的绝对值之一并排除所有其他可能的绝对值,来减小可能的绝对值的域),相应系数的绝对值位于绝对值域内(例如,绝对值域从一个或多个通路的起始处开始,例如在X比特表示的情况下,从系数的一般绝对值域开始,0…2X-1)。此外,该装置被配置为通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码可变长度码码字(例如,莱斯码/指数哥伦布码),可变长度码码字用于标识相应系数在相应系数的绝对值域内的绝对值(例如,可变长度码的码长可以随着绝对值的增加而单调增加;这里,码字自由地仅指代经减小的绝对值域或一般的一个绝对值域或不可避免地作为经减小的绝对值域的适当超集的一些其他绝对值域),来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数。另外,该装置被配置为针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该装置被配置为在通路序列中对一个或多个预定标志进行编码时,除了相对于一个或多个预定标志中的指示显著性标志被编码的系数是否为零的显著性标志(因此,不可避免地使用上下文自适应二进制熵解码对其进行编码)之外,一旦达到预定标志的预定数量(即,到目前为止,已经针对所有系数编码的预定标志的总数已经达到限制),就停止对一个或多个预定标志进行编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小(即,与达到限制之后的系数相比,对于在最后通路内达到限制之前的系数,基数更小),其中,预定数量与上限减去显著性标志尚未被编码的系数的数量相对应。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括将图片细分为不同大小的变换块。此外,该方法包括通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则使用默认方式选择所选变换。如果预定变换块的大小不超过预定阈值大小,则使用预定变换列表中由针对预定变换块在数据流中发送的索引指向的变换作为所选变换,预定变换列表包括恒等变换和非恒等变换。另外,该方法包括针对预定变换块,从数据流中解码系数块,如果所选变换是恒等变换,则使用该系数块作为预定变换块的残差样本阵列,并且如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。此外,该方法包括使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括通过针对预定变换块,从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块选择所选变换。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该方法包括,在针对预定变换块,从数据流中解码系数块时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中。该方法包括,在针对预定变换块,从数据流中解码系数块时,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志,并且如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则推断系数块具有至少一个非零系数(换言之,如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则不从数据流中解码CBF,或甚至换言之,则从数据流中解码CBF的当前部分解码不同于CBF的语法元素)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从数据流中解码系数块,包括从数据流中解码以信号通知系数块是否具有至少一个非零系数的编码块标志。该方法包括,如果编码块标志以信号通知系数块具有至少一个非零系数,则通过针对预定变换块从数据流中解码索引并使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。此外,该方法包括,如果编码块标志以信号通知系数块不具有至少一个非零系数,则该装置被配置为重构预定变换块而不进行预测校正(换言之,如果编码块标志以信号通知系数块不具有至少一个非零系数,则不从数据流中解码索引,例如从数据流中解码索引的当前部分解码不同于该索引的语法元素)。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括取决于数据流,对预定变换列表进行填充或者填充和排序。该方法包括通过使用可变长度码从数据流中解码索引,并且使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,通过使用组合可变长度码码字从数据流中解码预定变换列表中的索引,来所选所选变换,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。该方法包括通过使用预定变换列表中由该索引指向的一个变换作为所选变换,来针对预定变换块,选择所选变换。此外,该方法包括针对预定变换块,从数据流中解码系数块,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过检查所选变换是否是非恒等变换,来针对预定变换块,从数据流中解码系数块。如果所选变换是非恒等变换,则该方法包括从数据流中解码位置信息,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关(请注意以下内容。在以上实施例中,该位置被称为沿着从左上角通向右下的扫描顺序测量的最后位置,尽管根据这些实施例,实际扫描从该处开始编码。也就是说,实际编码发生在从右下通向左上角的反向扫描顺序。这里,扫描顺序是编码顺序。),并且该方法包括通过从数据流中解码系数块的第一系数,第一系数包括该系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断该系数块中不同于第一系数的第二系数为零,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则该方法包括通过从数据流中解码系数块的所有系数,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块。如果所选变换是至少一个非恒等变换之一,则从数据流中顺序地解码除了第一子块标志和最后子块标志中的至少一个子块标志之外的子块标志,并且推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性,并且如果所选变换是恒等变换,则针对所有子块,从数据流中解码子块标志,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且从数据流中解码数据流中的子块标志以信号通知非零性的子块内的系数,来通过以系数块被划分为的子块为单位,从数据流中解码系数块的系数,以针对预定变换块,从数据流中解码系数块,其中通过上下文自适应熵解码并且使用上下文从数据流中解码当前解码的子块标志。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果如果所选变换是恒等变换,则上下文取决于与当前解码的子块标志相邻的子块有关的子块标志的算术和。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行解码,来针对预定变换块,从数据流中解码系数块。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过对N个大于X标志进行上下文自适应熵解码,来解码预定系数,以针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X。此外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。另外,该方法包括,从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过使用预定上下文对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率;并且如果所选编码是至少一个非恒等变换之一,则通过旁路解码(例如具有固定等概率的上下文自适应熵解码)对预定系数的符号进行解码,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过对N个大于X标志进行上下文自适应熵解码,来针对预定变换块,从数据流中解码系数块,大于X标志指示预定系数的绝对值是否大于X。另外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,来针对预定变换块,从数据流中解码系数块,预定阈值取决于N。如果所选变换是至少一个非恒等变换之一,则通过顺序地对N个大于X标志进行上下文自适应熵解码,来在通路序列中执行对N个大于X标志的上下文自适应熵解码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵解码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵解码。如果所选变换是恒等变换,则顺序地对N个大于X标志执行上下文自适应熵解码,并且在对N个大于X标志中的显著性标志(X=0)进行解码之后且在对N个大于X标志中的另外的N个大于X标志进行解码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行解码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵解码(例如,并在大于X标志旁路标志指示预定系数不大于绝对阈值的情况下,相对于另外的大于X标志中除了N个大于X标志中的最后一个大于X标志之外的大于X标志,恢复对N个大于X标志的上下文自适应熵解码)。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过针对预定系数,对N个大于X标志进行上下文自适应熵解码,通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行解码,并且通过对预定系数的符号进行解码,来在通路序列中针对预定变换块,从数据流中解码系数块,通路按照预定扫描顺序遍历系数块的系数,大于X标志指示预定系数的绝对值是否大于X,绝对阈值取决于N,其中,该方法包括取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的解码不同地分布在通路序列上。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,该方法包括通过在通路序列中,针对每个系数,使用上下文自适应二进制熵解码从数据流中解码一个或多个预定标志,来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域,相应系数的绝对值位于绝对值域内。此外,该方法包括通过在通路序列中,针对绝对值域的基数没有通过针对相应系数解码的一个或多个预定标志减少到1的每个系数,解码指示相应系数在相应系数的绝对值域内的绝对值的可变长度码码字,来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数。另外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该方法包括通路序列中解码一个或多个预定标志时,一旦达到预定标志的预定数量,就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向该绝对值域内的绝对值,并且将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是非恒等变换,则通过沿着通向非恒等变换的DC系数的第一扫描顺序,从数据流中解码系数块的系数,并且如果所选变换是恒等变换,则通过从左上样本位置通向右下样本位置的第二扫描顺序,从数据流中解码系数块的系数,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是至少一个非恒等变换之一,则通过从数据流中解码语法元素,从该语法元素中导出预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出预定非零系数组内的非零系数的符号,并且如果预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对符号比特进行解码来对预定非零系数组内的非零系数的符号进行解码,以针对预定变换块,从数据流中解码系数块。此外,该方法包括如果所选变换是恒等变换,则通过在每个非零系数的基础上对符号比特进行解码来对预定非零系数组内的非零系数的符号进行解码,而不论预定非零系数组内的非零系数的符号是否彼此相等,以针对预定变换块,从数据流中解码系数块。另外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过从数据流中导出符号概率趋势索引,并且使用与符号概率趋势索引相关联的上下文模型对预定非零系数的符号进行熵解码,并且如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路解码,来针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过使用多个上下文模型中的预定上下文模型对预定非零系数的符号进行解码,并且根据先前解码系数的符号的统计在多个上下文模型中选择预定上下文模型,来对预定非零系数的符号进行解码,并且如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路解码,来对预定非零系数的符号进行解码,以针对预定变换块,从数据流中解码系数块。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行解码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过在通路序列中,使用上下文自适应二进制熵解码从数据流中解码用于每个系数的一个或多个预定标志,来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域,相应系数的绝对值位于绝对值域内。另外,该方法包括通过在通路序列中,对于绝对值域的基数没有通过针对相应系数解码的一个或多个预定标志减少到1的每个系数,解码用于标识相应系数在相应系数的绝对值域内的绝对值的可变长度码码字,来针对预定变换块,从数据流中解码系数块,通路遍历该块的系数。此外,该方法包括从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。该方法包括在通路序列中解码一个或多个预定标志时,除了相对于一个或多个预定标志中指示显著性标志被解码的系数是否为零的显著性标志之外,一旦已经达到预定标志的预定数量,就停止对一个或多个预定标志的解码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,其中,预定数量与上限减去显著性标志尚未被解码的系数的数量相对应。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括将图片细分为不同大小的变换块。此外,该装置被配置为通过检查预定变换块的大小是否超过预定阈值大小,来针对预定变换块,选择所选变换。如果预定变换块的大小超过预定阈值大小,则该方法包括使用默认方式选择所选变换,并且如果预定变换块的大小不超过预定阈值大小,则该方法包括从预定变换列表中选择变换,并在数据流中发送指向预定变换列表中所选择的变换的索引,以便作为所选变换用于预定变换块,预定变换列表包括恒等变换和非恒等变换。另外,该方法包括对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得如果所选变换是恒等变换,则将该系数块用作残差样本阵列,用于校正预测以重构预定变换块,并且使得如果所选变换不是恒等变换,则对系数块进行与所选变换相对应的逆变换,以获得预定变换块的残差样本阵列。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。该方法包括对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来预定变换块的预测,以重构预定变换块。该方法包括在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中,如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则将编码块标志编码到数据流中,编码块标志以信号通知系数块是否具有至少一个非零系数。该方法包括在针对预定变换块,将系数块编码到数据流中时,取决于用于预定块的所选变换是否包含在一个或多个变换的预定义集合中。因此,该方法包括如果用于预定块的所选变换包含在一个或多个变换的预定义集合中,则将指示系数块是否具有至少一个非零系数的编码块标志编码到数据流中,并且如果用于预定块的所选变换不包含在一个或多个变换的预定义集合中,则该方法包括避免将编码块标志编码到数据流中,其中编码器侧必须推断该编码块标志以信号通知系数块具有至少一个非零系数。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括对预定变换块进行预测,并且针对预定变换块,将系数块编码到数据流中,包括将编码块标志编码到数据流中,编码块标志以信号通知系数块是否具有至少一个非零系数。该方法包括如果编码块标志以信号通知系数块具有至少一个非零系数,则针对预定变换块,从预定变换列表中选择所选变换,并且针对预定变换块,将指向预定变换列表中的所选变换的索引编码到数据流中。能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。另外,该方法包括如果编码块标志以信号通知系数块不具有至少一个非零系数,则重构预定变换块而不进行预测校正。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括取决于数据流,对预定变换列表进行填充或者填充和排序,并且针对预定变换块,从预定变换列表中选择所选变换。此外,该方法包括使用可变长度码将指向预定变换列表中的所选变换的索引编码到数据流中,使得预定变换列表中的每个变换已经分配了可变长度码的一个码字,并且可变长度码的码字的码字长度随着分配了该码字的变换在预定变换列表中的次序而单调增加。另外,该方法包括导出预定变换块的预测,并且针对预定变换块,将系数块编码到数据流中,使得能够从系数块中导出预定变换块的残差样本阵列,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测来重构预定变换块,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括导出预定变换块的预测,并且针对预定变换块,从预定变换列表中选择所选变换。该方法包括使用组合可变长度码码字将指向预定变换列表中的所选变换的索引编码到数据流中,组合可变长度码码字由以下项组成:可变长度码的第一码字,且如果第一码字是可变长度码的最长码字,则第一码字后跟固定长度码的第二码字。将组合可变长度码中仅由可变长度码的两个非最长码字之一组成的码字分配给包含在预定变换列表中的恒等变换和预定义的非恒等变换,并用于区分恒等变换和预定义的非恒等变换,并且将组合可变长度码的其他码字分配给预定变换列表中的其他非恒等变换,并用于区分预定变换列表中的其他非恒等变换。另外,该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与残差样本阵列相关,并且使得能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,变换包括恒等变换和至少一个非恒等变换。该方法包括导出预定变换块的预测,并且通过检查所选变换是否是非恒等变换,来针对预定变换块,将系数块编码到数据流中。如果所选变换是非恒等变换,则该方法包括将位置信息编码到数据流中,以便获得预定系数位置,位置信息与沿着遍历系数块的所有系数的扫描顺序首先遇到非零系数之处、或者沿着遍历系数块的所有系数的扫描顺序最后遇到非零系数之处有关,并且该方法包括将系数块的第一系数编码到数据流中,第一系数包括系数块的所有非零系数并且由从预定系数位置开始或者直至预定系数位置的扫描顺序遍历,并且推断系数块中不同于第一系数的第二系数为零,以针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则该方法包括将系数块的所有系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括通过以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中,其中,推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中。如果所选变换是至少一个非恒等变换之一,则该方法包括将除了第一子块标志和最后子块标志中的至少一个之外的子块标志顺序地编码到数据流中,来将系数块的系数编码到数据流中,其中,推断第一子块标志和最后子块标志中的该至少一个子块标志以信号通知非零性;并且如果所选变换是恒等变换,则该方法包括通过针对所有子块,将子块标志编码到数据流中,来将系数块的系数编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括通过推断数据流中的子块标志以信号通知零性的子块内的系数为零,并且将数据流中的子块标志以信号通知非零性的子块内的系数编码到数据流中,来以系数块被划分为的子块为单位,将系数块的系数编码到数据流中,以针对预定变换块,将系数块编码到数据流中,其中通过上下文自适应熵编码并且使用上下文将当前编码的子块标志编码到数据流中。如果所选变换是至少一个非恒等变换之一,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的逻辑或,并且如果所选变换是恒等变换,则上下文取决于与当前编码的子块标志相邻的子块有关的子块标志的算术和。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括通过针对当前系数,使用上下文对指示当前系数是否为零的显著性标志进行编码,来针对预定变换块,将系数块编码到数据流中。如果所选变换是恒等变换,则上下文取决于紧邻当前系数的第一系数集合中为非零的系数的数量,并且如果所选变换是至少一个非恒等变换之一,则上下文取决于第二系数集合中为非零的系数的数量、第二系数集合的值以及当前系数的位置,第二系数集合包括第一系数集合和与第一系数集合相比更远离当前系数的系数。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括通过对N个大于X标志进行上下文自适应熵编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X。此外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,预定阈值取决于N,其中与所选变换是至少一个非恒等变换之一的情况相比,N在所选变换是恒等变换的情况下更大。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括如果所选变换是恒等变换,则通过使用预定上下文对预定系数的符号进行上下文自适应熵解码,并且更新与预定上下文相关联的概率,来针对预定变换块,将系数块编码到数据流中,并且该方法包括如果所选变换是至少一个非恒定变换之一,则通过旁路编码对预定系数的符号进行编码,来针对预定变换块,将系数块编码到数据流中。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括通过对N个大于X标志进行上下文自适应熵编码,来针对预定变换块,将系数块编码到数据流中,大于X标志指示预定系数的绝对值是否大于X。另外,该方法包括通过使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,预定阈值取决于N。如果所选变换是至少一个非恒等变换之一,则该方法包括通过顺序地对N个大于X标志进行上下文自适应熵编码,来在通路序列中执行对N个大于X标志的上下文自适应熵编码,其中在每个通路随着N个大于X标志中的一个或多个来增加X,并且在通路序列期间记录使用上下文自适应熵编码进行编码的标志的数量,并且如果该数量超过预定标志阈值,则停止对N个大于X标志的上下文自适应熵编码,并且如果所选变换是恒等变换,则该方法包括顺序地对N个大于X标志执行上下文自适应熵编码,并且在对N个大于X标志中的显著性标志(X=0)进行编码之后且在对N个大于X标志中的另外的N个大于X标志进行编码之前,对指示预定系数是否大于绝对阈值的大于X标志旁路标志进行编码,并且在大于X标志旁路标志指示预定系数大于绝对阈值的情况下,相对于另外的N个大于X标志,停止对N个大于X标志的上下文自适应熵编码。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换,并且导出预定变换块的预测。该方法包括在通路序列中,通过针对预定系数,对N个大于X标志进行上下文自适应熵编码,来针对预定变换块,将系数块编码到数据流中,通路按照预定扫描顺序遍历该系数块,大于X标志指示预定系数的绝对值是否大于X。另外,该方法包括在通路序列中,通过针对预定系数,使用可变长度码对指示预定系数的绝对值超过绝对阈值的量的剩余部分进行编码,来针对预定变换块,将系数块编码到数据流中,通路按照预定扫描顺序遍历该系数块,绝对阈值取决于N,并且该方法包括在通路序列中,通过针对预定系数,对预定系数的符号进行编码,来针对预定变换块,将系数块编码到数据流中。此外,该方法包括取决于所选变换是恒等变换还是至少一个非恒等变换之一,将N个大于X标志、剩余部分和符号的编码不同地分布在通路序列上。系数块根据所选变换与残差样本阵列相关,并且能够通过使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过以下操作针对预定变换块,将系数块编码到数据流中:在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域,相应系数的绝对值位于绝对值域内,并且通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码指示相应系数在相应系数的绝对值域内的绝对值的可变长度码码字。此外,该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。该方法包括在通路序列中编码一个或多个预定标志时,一旦达到预定标志的预定数量,就停止对一个或多个预定标志的编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,指针指向该绝对值域内的绝对值,并且将不同的可变长度码用于第一非零系数集合和第二非零系数集合的可变长度码码字。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是非恒等变换,则通过沿着通向非恒等变换的DC系数的第一扫描顺序,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。另外,该方法包括如果所选变换是恒等变换,则通过沿着从左上样本位置通向右下样本位置的第二扫描顺序,将系数块的系数编码到数据流中,来针对预定变换块,将系数块编码到数据流中。该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是至少一个非恒等变换之一,则通过以下操作针对预定变换块,将系数块编码到数据流中:将语法元素编码到数据流中,从该语法元素中导出预定非零系数组内的非零系数的符号是否彼此相等,如果彼此相等,则导出预定非零系数组内的非零系数的符号,并且如果预定非零系数组内的非零系数的符号彼此不相等,则通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码。此外,该方法包括如果所选变换是恒等变换,则通过以下操作针对预定变换块,将系数块编码到数据流中:通过在每个非零系数的基础上对符号比特进行编码来对预定非零系数组内的非零系数的符号进行编码,而不论预定非零系数组内的非零系数的符号是否彼此相等。另外,该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,允许将残差样本阵列用于校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过将符号概率趋势索引编码到数据流中,并且使用与符号概率趋势索引相关联的上下文模型对预定非零系数的符号进行熵编码,来针对预定变换块,将系数块编码到数据流中,并且该方法包括如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路编码,来针对预定变换块,将系数块编码到数据流中。此外,该方法包括通过对预定系数块的非零系数的符号进行编码,来针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,其中,能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括如果所选变换是恒等变换,则通过使用多个上下文模型中的预定上下文模型对预定非零系数的符号进行编码,并且根据先前编码系数的符号的统计在多个上下文模型中选择预定上下文模型,来对预定系数块的非零系数的符号进行编码,以针对预定变换块,将系数块编码到数据流中,并且该方法包括如果所选变换是至少一个非恒等变换之一,则通过对预定非零系数的符号进行旁路编码,来对预定系数块的非零系数的符号进行编码,以针对预定变换块,将系数块编码到数据流中。此外,该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。

根据实施例,一种用于使用预测编码和基于块的变换残差编码对图片进行编码的方法,包括针对预定变换块,从预定变换列表中选择所选变换,所选变换包括恒等变换和至少一个非恒等变换。该方法包括通过在通路序列中,使用上下文自适应二进制熵编码将用于每个系数的一个或多个预定标志编码到数据流中,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数,每个预定标志减小了相应系数的绝对值域,相应系数的绝对值位于绝对值域内,并且,该方法包括通过在通路序列中,对于绝对值域的基数没有通过针对相应系数编码的一个或多个预定标志减少到1的每个系数,编码用于标识相应系数在相应系数的绝对值域内的绝对值的可变长度码码字,来针对预定变换块,将系数块编码到数据流中,通路遍历该块的系数。该方法包括针对预定变换块,将系数块编码到数据流中,使得系数块根据所选变换与预定变换块的残差样本阵列相关,使得能够使用残差样本阵列来校正预定变换块的预测,以重构预定变换块。此外,该方法包括在通路序列中对一个或多个预定标志进行编码时,除了相对于一个或多个预定标志中的指示显著性标志被编码的系数是否为零的显著性标志之外,一旦达到预定标志的预定数量,就停止对一个或多个预定标志进行编码,使得与第二非零系数集合相比,用于第一非零系数集合的绝对值域的基数更小,其中,预定数量与上限减去显著性标志尚未被编码的系数的数量相对应。

根据实施例,数据流由根据上述实施例中的任一个的方法编码。

实施例涉及一种具有程序代码的计算机程序,该程序当在一个或若干个计算机上运行时,用于执行根据上述任一实施例的方法。

虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也表示对相应块或项或者相应装置的特征的描述。

新颖的编码信号可以存储在数字存储介质上,或者可以在诸如无线传输介质或有线传输介质(例如,互联网)等的传输介质上传输。

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

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

通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。

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

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

因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。

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

另一实施例包括处理装置,例如,计算机或可编程逻辑器件,该处理装置被配置为或适于执行本文所述的方法之一。

另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。

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

上述实施例对于本发明的原理仅是说明性的。应当理解的是,本文所述的布置和细节的修改和变形对于本领域其他技术人员将是显而易见的。因此,旨在仅由所附专利权利要求的范围来限制而不是由借助对本文的实施例的描述和解释所给出的具体细节来限制。

153页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于帧内子划分译码模式的方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类