图像与视频编解码中最后有效系数的编解码方法及装置与流程

文档序号:25182669发布日期:2021-05-25 14:58阅读:112来源:国知局
图像与视频编解码中最后有效系数的编解码方法及装置与流程
相关引用本发明要求于2018年10月8日提交的,美国临时专利申请号为62/742,471的优先权。该美国临时专利申请整体内容在此通过参考纳入其中。本发明涉及用于图像以及视频编解码的变换系数编解码。具体地,本发明公开了用于最后有效系数(lastsignificantcoefficient)的改善的编解码方法。
背景技术
:适应性帧内/帧间(intra/inter)视频编解码已经被广泛用于各种视频编解码标准,如mpeg-2、avc(advancedvideocoding,高级视频编解码)以及hevc(highefficiencyvideocoding,高效视频编解码)。在适应性帧内/帧间视频编解码中,输入信号由帧内/帧间预测子(predictor)进行预测来生成预测残差(predictionresidue)。所述残差通常由二维变换以及量化来处理。所量化的变换系数然后被编解码。高效视频编解码(hevc)标准是在itu-t视频编解码专家组(vceg)以及iso/iec移动图像专家组(mpeg)标准组织的联合视频项目下开发的,以及尤其与被称为视频编解码联合协作小组的合作伙伴。在hevc中,一个条带(slice)被分割成多个编码树单元(codingtreeunit,ctu)。在主要的规格中,ctu的最小以及最大尺寸由序列参数集(sequenceparameterset,sps)中的语法元素指定。所允许的ctu尺寸可以是8×8、16×16、32×32或者64×64。对于每一条带,条带内的ctu根据光栅扫描次序(rasterscanorder)来处理。ctu被进一步分割成多个编码单元(codingunit,cu)来适应各种局部特性。ctu可以通过四叉树或qt分割被进一步分割成多个编码单元(cu)、qt分割将尺寸4n×4n的块拆分成4个相等尺寸的2n×2n子块。ctu可以是的单个cu(即,没有拆分)或者可以被拆分成四个相等尺寸的较小单元,其对应于编码树的节点。如果单元是编码树的叶节点,单元变成cu。否则,四叉树拆分进程可以被重复直到节点的尺寸达到如sps(序列参数集)中指定的最小允许cu尺寸。根据hevc,每一cu可以被分割成一个或多个预测单元(predictionunit,pu)。与cu相结合,pu作为共享预测信息的基础代表块。在每一pu内,相同的预测进程被应用以及相关信息在pu基础上被传送到解码器。cu可以根据pu拆分类型被拆分成一个、两个或四个pu。hevc定义将cu拆分成pu的八个形状,包括2n×2n、2n×n、n×2n、2n×nu、2n×nd、nl×2n以及nr×2n分割类型。不同于cu,pu根据hevc可以仅被拆分一次。在获得由基于pu拆分类型的预测进程的残差块后,cu的预测残差根据另一个四叉树结构可以被分割成变换单元(transformunit,tu),所述四叉树结构类同于cu的编码树。tu是用于应用整数变换以及量化的具有残差或变换系数的基础代表块。对于每一tu,一个具有与tu相同尺寸的整数变换被应用来获得残差系数。这些系数在tu基础上的量化后,被传送到解码器。图1示出了合并变换以及量化来处理预测残差的示例性适应性帧间/帧内视频编解码系统。对于帧间预测,运动估计(motionestimation,me)/运动补偿(motioncompensation,mc)112用于基于来自其他一个或多个图像的视频数据来提供预测数据。开关114选择帧内预测110或者帧间预测数据以及所选择的预测数据被提供到加法器116来形成预测误差,也称残差。所述预测误差然后由变换(t)118紧接着量化(q)120处理。所变换以及所量化的残差然后由熵编码器122进行编解码来被包括在对应于压缩的视频数据的视频比特流中。与变换系数相关的比特流然后与边信息(sideinformation)一起打包,如运动、编解码模式以及与图像区域相关的其他信息。所述边信息也可以由熵编解码来压缩以减少所需要的带宽(bandwidth)。因此,边信息相关的数据被提供到如图1所示的熵编码器122。当帧间预测被使用时,一个或多个参考图像也需要在编码器端被重构。因此,所变换以及所量化的残差由逆量化(iq)124以及逆变换(it)126处理来恢复残差。所述残差然后在重构(rec)128被添加回预测数据136来重构视频数据。所述重构的视频数据可以被储存在参考图像缓冲器134以及用于其他帧的预测。如图1所示,进来的视频数据在编码系统中经受一系列的处理。来自rec128的重构视频数据由于一系列处理可能受到各种损害。因此,环路滤波器130通常在重构视频数据被储存到参考图像缓冲器134之前被应用于所述重构视频数据来改善视频质量。例如,去块滤波器(de-blockingfilter,df)以及样本适应性偏移(sampleadaptiveoffset,sao)已经在高效视频编解码(hevc)标准中被使用。环路滤波器还可以包括alf(adaptiveloopfilter,适应性环路滤波器)。所述环路滤波信息可能需要被包括在比特流中以致解码器可以正确地恢复所需要的信息。因此,环路滤波信息被提供到熵编码器122来被合并到比特流中。在图1中,环路滤波器130在重构样本被储存到参考图像缓冲器134之前被应用到所述重构视频。图1中的系统旨在说明典型视频编码器的示例性结构。其可以对应于高效视频编解码(hevc)系统或h.264。图2示出了图1中编码器系统的对应的视频解码器的系统框图。因此编码器也包含局部解码器用于重构视频数据,一些解码器元件已经适用于编码器中,除了熵解码器210。此外,解码器侧仅需要运动补偿220。开关146选择帧内预测或者帧间预测以及所选择的预测数据被提供到重构(rec)128来与所恢复的残差结合。除了对压缩的残差执行熵解码,熵解码210也用于边信息的熵解码以及提供所述边信息到各自的块。例如,帧内模式信息被提供到帧内预测110,帧间模式信息被提供到运动补偿220,环路滤波信息被提供到环路滤波器130以及残差被提供给逆量化124。残差由iq124、it126以及后续重构进程处理来重构视频数据。另外,来自rec128的重构视频数据经受包括如图2所示的iq124以及it126的一系列处理以及受到编解码伪影(artefacts)。重构视频数据进一步由环路滤波器130处理。对于熵编解码,其有不同的类型。可变长度编解码是熵编解码的一种形式,已经被广泛用于源编解码(sourcecoding)。通常,可变长度码(variablelengthcode,vlc)表用于可变长度编码以及解码。算术编解码(arithmeticcoding)是新的熵编解码技术,其可以利用使用“上下文”的有条件的可能性。此外,算术编解码可以容易地适应源统计信息以及相较于可变长度编解码能够提供较高的压缩效率。而算术编解码是高效熵编解码工具以及已经被广泛用于高级视频编解码系统,操作相较于可变长度编解码更加复杂。通用视频编解码(versatilevideocoding,vvc)是itu-t的联合视频专家小组(jvet)开发的新兴的编解码标准。vvc利用更复杂的块分割以及也包括一些新的编解码工具。例如,除了基于四叉树的块分割,vvc包括考虑二叉树(binarytree,bt)以及三元树(ternarytree,tt)。对于残差信号的变换系数,残差块通常包括大量的零值变换系数。为了有效地编码变换系数,一个技术涉及识别以及发信最后非零已量化变换系数的位置,其也称为目标变换块中的最后有效系数。在vvc草案2中(2018年7月10-18日,在斯洛文尼亚的卢布尔雅那举行的itu-tsg16wp3以及iso/iecjtc1/sc/29/wg11的联合视频变换小组(jvet)第11次会议,b.bross等人“versatilevideocoding(draft2)”,文献:jvet-k1001),lastsignificantcoeff是变换块(transformblock,tb)中不等于零的最后一个系数。lastsignificantcoeff的位置被编码用于每一tb。具体地,cb(编码块)的最后非零系数的水平(x)以及垂直(y)位置用两个语法元素来编解码,lastsignificantcoeffx(水平坐标)以及lastsignificantcoeffy(垂直坐标)。图3示出了目标块的lastsignificantcoeffx以及lastsignificantcoeffy的示例,其中示出了目标块320中的最后有效变换系数310。此外,每一语法元素(即,lastsignificantcoeffx或lastsignificantcoeffy)由前缀以及尾缀组成:-前缀,last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix都使用截断一元编码(truncatedunarycoding)进行常规编码,以及-尾缀,last_sig_coeff_x_suffix以及last_sig_coeff_y_suffix都使用固定长度编码(fixedlengthcoding)进行常规编码。lastsignificantcoeffx可以被推导如下:-如果不存在,lastsignificantcoeffx=last_sig_coeff_x_prefix-否则(存在)lastsignificantcoeffx=(1<<((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1))+last_sig_coeff_x_suffix截断一元二值化是具有莱斯参数(riceparameter)criceparam=0的截断莱斯(truncatedrice,tr)二值化进程的特殊情况。残差编解码语义被描述如下:-last_sig_coeff_x_prefix指定变换块内扫描次序中最后有效系数的列位置的前缀。last_sig_coeff_x_prefix的值可以在0到(log2tbwidth<<1)–1的范围内,包括0和(log2tbwidth<<1)–1。-last_sig_coeff_y_prefix指定变换块内扫描次序中最后有效系数的行位置的前缀。last_sig_coeff_y_prefix的值可以在0到(log2tbheight<<1)–1的范围内,包括0和(log2tbheight<<1)–1。在上述描述中,log2tbwidth以及log2tbheight是变换块宽度以及变换块高度的底为2的对数以及分别被定义为log2(ntbw)以及log(ntbh),其中变量ntbw指变换块宽度以及变量ntbh指变换块高度。在名为vtm2.0.1的评估软件中(vvc测试模型,版本2.0.1),亮度的最大tb尺寸是64x64以及色度是32x32。然而,最大变换残差块尺寸(系数编码的)比较小,因为应用了零输出进程:-坐标大于最大变换块尺寸的tb的系数都被设置为零。残差块的最大尺寸:-dct2:最大残差块尺寸是32×32-非dct2:最大残差块尺寸是16×16dct2以及非dct2变换的不同块尺寸的零输出进程的应用被示出于表1。表1长度=64长度=32长度<=16dct232-py零输出非零输出非零输出非dct2无效32-py零输出非零输出在vtm2.0.1中,为了减少变换的计算,大变换块的非常高频率分量被设置为零。有名为izerooutthresh的参数,其控制那些系数被设置为零。假定(x,y)是变换块的行以及列位置,以及t(x,y)是(x,y)位置的变换系数。清零进程被示出如下:如果(x>=izerooutthresh||y>=izerooutthresh),那么t(x,y)被设置为零。在本发明中,公开了改善性能的最后有效系数的编解码技术。技术实现要素:公开了一种视频编码的方法以及装置。根据本发明,在视频编码器侧接收与当前图像中当前块相关的输入数据。推导所述当前块的残差信号。应用变换进程以及量化进程到所述残差信号来生成变换块。编码所述变换块中最后有效系数的位置来生成一个或多个语法元素,其中所述一个或多个语法元素的最大值取决于所述变换块的块尺寸以及清零阈值,其中坐标大于所述清零阈值的所述变换块的系数被设置为0。生成包括所述一个或多个语法元素的已编码数据。在一个实施例中,所述语法元素包括用于所述最后有效系数的x位置的前缀,以及用于所述最后有效系数的所述x位置的所述前缀的所述最大值取决于所述变换块的宽度以及所述清零阈值。此外,参数log2maxx被定义为(log2(ntbw>izerooutthresh?izerooutthresh:ntbw))以及用于所述最后有效系数的所述x位置的所述前缀的所述最大值被推导为((log2maxx<<1)-1),以及其中log2()对应于底为2的对数运算,izerooutthresh对应于所述清零阈值,ntbw对应于所述变换块的所述宽度,以及“<<”对应于左移位操作。在另一个实施例中,语法元素包括用于所述最后有效系数的y位置的前缀,以及用于所述最后有效系数的所述y位置的所述前缀取决于所述变换块的高度以及所述清零阈值。此外,参数log2maxy被定义为(log2(ntbh>izerooutthresh?izerooutthresh:ntbh))以及用于所述最后有效系数的所述y位置的所述前缀的所述最大值被推导为((log2maxy<<1)-1),以及ntbh对应于所述变换块的所述高度。在又一实施例中,所述语法元素包括用于所述最后有效系数的x位置的前缀以及用于所述最后有效系数的y位置的前缀,以及用于所述最后有效系数的所述x位置的所述前缀的所述最大值取决于所述变换块的宽度以及所述清零阈值以及用于所述最后有效系数的所述y位置的所述前缀的所述最大值取决于所述变换块的高度以及所述清零阈值。上文示出的用于所述最后有效系数的所述x位置的所述前缀的所述最大值以及用于所述最后有效系数的所述y位置的所述前缀的所述最大值的推导可以被应用于这一实施例。在一个实施例中,用于所述最后有效系数的x位置的所述前缀根据用于所述最后有效系数的y位置的所述前缀来编解码,或者用于所述最后有效系数的y位置的所述前缀根据用于所述最后有效系数的所述x位置的所述前缀来编解码。在另一个实施例中,用于所述最后有效系数的x位置的所述前缀使用用于所述最后有效系数的y位置的所述前缀作为预测子来编解码,或者用于所述最后有效系数的y位置的所述前缀使用用于所述最后有效系数的所述x位置的所述前缀作为预测子来编解码。在一个实施例中,所述清零阈值是预定义的以及对编码器或解码器是已知的。在另一个实施例中,所述清零阈值在比特流中被发信。例如,所述清零阈值可以在所述比特流的sps(序列参数集)中被发信。在又一实施例中,所述清零阈值被分别发信用于垂直方向以及水平方向。在又一实施例中,不同的清零阈值被用于不同的变换块尺寸。在一个实施例中,当非dct-ⅱ变换被应用于残差块的水平方向与/或垂直方向,所述清零阈值izerooutthresh被更新为izerooutthresh>>k,其中k是大于0的整数,以及其中“>>”对应于右移位操作。例如,k可以等于1。还公开了一种用于解码器侧的类似方法。根据这一方法,在视频解码器侧接收对应于包括当前图像中当前块的压缩数据的视频比特流。从所述视频比特流中解析与所述当前块内变换块中最后有效系数的位置相关的一个或多个语法元素,其中所述一个或多个语法元素的最大值取决于所述变换块的块尺寸以及清零阈值,其中坐标大于所述清零阈值的所述变换块的系数被设置为零。使用包括所述变换块中所述最后有效系数的所述位置的第一信息推导所述当前块的已解码残差信号。使用包括所述当前块的所述已解码残差信号的第二信息生成重构的当前块。附图说明图1示出了合并帧内/帧间预测、变换以及量化进程的视频编码器的示例性框图。图2示出了合并帧内/帧间预测、逆变换以及去量化进程的视频解码器的示例性框图。图3示出了最后有效系数的位置的示例。图4示出了根据本发明实施例的使用对最后有效系数的位置的改善的编解码的示例性编码系统流程图。图5示出了根据本发明实施例的使用对最后有效系数的位置的改善的编解码的示例性解码系统的流程图。具体实施方式后续的描述是实施本发明的最佳实施方式。所作之描述是为了说明本发明基本原理的目的因此不应做限制性理解。本发明的范围通过参考所附权利要求最佳确定。在本发明中,公开了用于改善最后有效系数的编解码效率的方法。根据本发明,last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix的编码考虑块尺寸以及清零阈值。在一个实施例中,last_sig_coeff_x_prefix的最大值取决于变换块的宽度以及清零阈值izerooutthresh。例如,last_sig_coeff_x_prefix的最大值根据以下伪码来推导:–log2maxx=log2(ntbw>izerooutthresh?izerooutthresh:ntbw);–last_sig_coeff_x_prefix的最大值=(log2maxx<<1)–1.在上述等式中,逻辑运算符(x?y:z)意为如果x为真或者不等于0,评估为y的值;否则,评估为z的值。类似地,last_sig_coeff_y_prefix的最大值取决于块的高度以及清零阈值izerooutthresh。last_sig_coeff_y_prefix的最大值根据以下伪码来推导:–log2maxy=log2(ntbh>izerooutthresh?izerooutthresh:ntbh);–last_sig_coeff_y_prefix最大值=(log2maxy<<1)–1.在另一个实施例中,last_sig_coeff_x_prefix的最大值与vtm2.0相同。然而,last_sig_coeff_y_prefix的最大值不仅取决于块的高度还取决于清零阈值izerooutthresh。last_sig_coeff_y_prefix的最大值通过使用以下伪码来推导:–log2maxy=log2(ntbh>izerooutthresh?izerooutthresh:ntbh);–last_sig_coeff_y_prefix最大值=(log2maxy<<1)–1.在又一实施例中,last_sig_coeff_y_prefix的最大值与vtm2.0.1相同。然而,last_sig_coeff_x_prefix的最大值不仅取决于块的宽度还取决于清零阈值izerooutthresh。last_sig_coeff_x_prefix的最大值根据以下伪码来推导:–log2maxx=log2(ntbw>izerooutthresh?izerooutthresh:ntbw);–last_sig_coeff_x_prefix最大值=(log2maxx<<1)–1.本发明也公开了如果满足某些条件,last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix的最大值仅取决于清零阈值izerooutthresh。一个实施例被示出如下:-如果变换不被应用于tb,last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix不取决于清零阈值以及最大值与vtm2.0.1相同。-否则,last_sig_coeff_x_prefix以及last_sig_coeff_y_prefix取决于如之前所描述的清零阈值。在一个实施例中,izerooutthresh的值是预定的(如,32)以及对编码器以及解码器都是已知的。在另一个实施例中,izerooutthresh的值可以是从0到变换块最大尺寸的任何值以及izerooutthresh的值通过如sps语法元素的更高层级语法被发信到解码器。在一些实施例中,izerooutthresh的不同值可以分别被发信用于水平以及垂直方向。在一些其他实施例中,izerooutthresh的不同值可以被发信用于不同的变换类型。在一个实施例中,izerooutthresh的值还可以取决于在水平与/或垂直方向被应用于变换块的变换类型。在一个实施例中,当非dct-ⅱ变换被应用于残差块的水平与/或垂直方向,izerooutthresh的值被更新成izerooutthresh>>k用于所述方向。例如,k等于1。在一个实施例中,last_sig_coeff_y_prefix可以根据last_sig_coeff_x_prefix的值来编解码。在一个实施例中,last_sig_coeff_x_prefix可以被用作编解码last_sig_coeff_y_prefix的预测子。在一个实施例中,last_sig_coeff_x_prefix可以根据last_sig_coeff_y_prefix的值来编解码。在一个实施例中,last_sig_coeff_y_prefix可以用作编解码last_sig_coeff_x_prefix的预测子。本发明可以被应用于视频编码器。具体地,本发明可以被应用于从帧内/帧间预测进程生成的残差信号。图4示出了根据本发明实施例的使用对最后有效系数的位置的改善的编解码的示例性编码系统的流程图。流程图中示出的步骤可以被实施为在编码器侧的一个或多个处理器(如,一个或多个cpu)上可执行的程序代码。流程图中示出的步骤还可以基于如用于执行流程图中步骤的一个或多个电子装置或处理器的硬件来实施。根据这一方法,在步骤410,接收与图像中当前块相关的输入数据。在步骤420,推导所述当前块的残差信号。在步骤430,将变换进程以及量化进程应用于所述残差信号来生成变换块。在步骤440,编码所述变换块中最后有效系数的位置来生成一个或多个语法元素,其中所述一个或多个语法元素的最大值取决于所述变换块的块尺寸以及清零阈值,以及坐标大于所述清零阈值的所述变换块的系数被设置为0。在步骤450中,生成包括所述一个或多个语法元素的已编码数据。本发明可以被应用于视频解码器。具体地,本发明可以被应用于已编解码的残差信号。图5示出了根据本发明实施例的对最后有效系数的位置使用改善的编解码的示例性解码系统的流程图。在步骤510,在视频解码器侧接收对应于包括当前图像中当前块的压缩数据的视频比特流。在步骤520,从所述视频比特流中解析与所述当前块内变换块中最后有效系数的位置相关的一个或多个语法元素,其中所述一个或多个语法元素的最大值取决于所述变换块的块尺寸以及清零阈值,以及坐标大于所述清零阈值的所述变换块的系数被设置为0。在步骤530,使用包括所述变换块中最后有效系数的所述位置的第一信息生成所述当前块的已解码残差信号。在步骤540中,使用包括所述已解码残差信号的第二信息生成重构的当前块。所示出的流程图旨在说明根据本发明的视频编解码的示例。本领域普通技术人员在不背离本发明精神的情况下,可以修正每一步骤、重排步骤、拆分步骤或者组合步骤来实施本发明。在本发明中,特定的语法以及语义已经被用于说明示例来实施本发明实施例。本领域普通技术人员在不背离本发明精神的情况下,可以用等同的语法以及语义替换所述语法以及语义来实施本发明。以上描述被呈现来使本领域普通技术人员以特定应用的上下文中所提供及其需求来实施本发明。对所描述实施例的各种修正对本领域普通技术人员将是显而易见的,以及本文定义的基本原理可以被应用于其他实施例。因此,本发明不旨在限制于所示以及所描述的特定实施例,而是符合与本文所公开的原理以及新颖特征一致的最宽范围。在上述细节描述中,各种具体细节被示出以提供本发明的透彻理解。然而,本领域普通技术人员将能理解,本发明可以被实施。如上所描述的本发明的实施例可以以各种硬件、软件代码或两者的组合来实施。例如,本发明的实施例可以是集成到视频压缩芯片的一个或多个电子电路或者集成到视频压缩软件的程序代码来执行本文所描述的处理。本发明的一个实施例还可以是在数字信号处理器(dsp)上可执行的程序代码来执行本文所描述的处理。本发明还可以涉及由计算机处理器、数字信号处理器、微处理器或现场可程序设计门阵列(fpga)执行的若干功能。这些处理器可以用于执行根据本发明的特定任务,通过执行定义由本发明所呈现的特定方法的软件代码或固体代码。软件代码或固体代码可以以不同的程序设计语言以及不同的格式或风格来开发。软件代码还可以被编译用于不同的目标平台。然而,不同的代码格式、风格以及软件代码的语言以及配置代码执行根据本发明的任务的其他方法将不背离本发明的精神以及范围。本发明在不背离其精神或基本特征的情况下,可以以其他特定形式来实施。所描述的示例在所有方面仅被考虑为说明性的而非限制性的。因此,本发明的范围由所附权利要求来指示而非前述的描述。权利要求的含义以及等同范围内的所有变化都在其范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1