视频编解码的当前图像参考的方法和装置与流程

文档序号:16365074发布日期:2018-12-22 08:23阅读:274来源:国知局
视频编解码的当前图像参考的方法和装置与流程

本发明主张在2016年5月28日提出的申请号为62/342,883的美国临时专利申请的优先权,其内容以引用方式整体并入本文中。

本发明涉及用于视频编解码中的编解码和/或预测处理的块分割。具体而言,本发明涉及一种用于当前图像参考(currentpicturereferencing,cpr)的编解码系统的各种编解码方案。

背景技术

高效率视频编码(highefficiencyvideocoding,hevc)标准是在itu-t视频编码专家组(videocodingexpertsgroup,vceg)和iso/iec运动图像专家组(movingpictureexpertsgroup,mpeg)标准化组织的联合视频项目下开发的,尤其是与称为视频编码联合协作小组(jointcollaborativeteamonvideocoding,jct-vc)的合作而开发。在hevc中,将一个片段(slice)分割为多个编码树单元(codingtreeunits,以下简称为ctu)。在主配置文件(profile)中,ctu的最小尺寸和最大尺寸由序列参数集(sequenceparameterset,sps)中的语法元素指定。允许的ctu大小可以是8x8,16x16,32x32或64x64。对于每个片段,依据循序扫描(rasterscan)顺序处理片段内的ctu。

ctu还被分割成多个编码单元(multiplecodingunits,cu)以适应各种局部特性。被称为编码树(codingtree)的四叉树被用于将ctu分割成多个cu。使ctu大小为mxm,其中m是64,32或16中的一个。ctu可以是单个cu(即,不分割)或可以分成四个相同大小的较小单元(即每个尺寸为m/2xm/2),其对应于编码树的节点。如果单元是编码树的叶节点,则单元变为cu。否则,可以迭代四叉树分割过程,直到节点的大小达到序列参数集(sequenceparameterset,sps)中规定的最小允许cu大小。该表示方式形成由图1中的编码树(也称为分割树结构)120指定的递归结构。图1中示出了ctu分割110,其中实线表示cu边界。使用帧间(时间)或帧内(空间)预测编码图像区域的决定在cu层做出。由于最小cu尺寸可以为8x8,所以在不同的基本预测类型之间切换的最小粒度(granularity)是8×8。

此外,依据hevc,每个cu可以被分割成一个或多个预测单元(predictionunits,pu)。与cu一起,pu作为共享预测信息的基本代表块。在每个pu内部,应用相同的预测处理,并且以pu为基础将相关信息发送到解码器。依据pu分割类型,cu可以分为一个,两个或四个pu。如图2所示,hevc定义了将cu分解为pu的八种形状,包括分割类型2nx2n,2nxn,nx2n,nxn,2nxnu,2nxnd,nlx2n和nrx2n。与cu不同,pu只能依据hevc分割一次。第二行中显示的分割对应于非对称分割,其中两个分割部分具有不同的大小。

在通过基于pu分割类型的预测处理获得残差块之后,可以依据如图1所示的cu的编码树类似的另一四叉树结构,将cu的预测残差分割成变换单元(tu)。实线表示cu边界,虚线表示tu边界。tu是具有残差或变换系数的基本代表块以用于应用整数变换(integertransform)和量化。对于每个tu,对tu应用具有相同大小的一个整数变换以获得残差系数。这些系数在基于tu的量化之后被传送到解码器。

定义术语编码树块(codingtreeblock,ctb),编码块(codingblock,cb),预测块(predictionblock,pb)和变换块(transformblock,tb),以指定分别与ctu,cu,pu和tu分别相关联的一个颜色成分的2-d样本数组。因此,ctu由一个亮度ctb,两个色度ctb和相关联的语法元素组成。类似的关系对于cu,pu和tu是有效的。树分割通常同时应用于亮度和色度两者,尽管当达到用于色度的某些最小尺寸时有异常情况。

或者,在jctvc-p1005中(d.f.flynn等人,“hevcrangeextensionsdraft6”,jointcollaborativeteamonvideocoding(jct-vc)ofitu-tsg16wp3andiso/iecjtc1/sc29/wg11,16thmeeting:sanjose,us,9–17january2014,document:jctvc-p1005),二叉树分割结构被提出。如图3所示,在提出的二叉树分割结构中,块可以使用各种二进制分割类型递归地分割成两个较小的块。最有效和最简单的是图3的前两个分割类型中所示的对称水平分割和对称垂直分割。对于给定的大小为mxn的块,发送一个标志以指示给定的块是否被分成两个较小的块。如果是,则发出另一个语法元素以指示使用哪种分割类型。如果使用水平分割,给定的块被分成两个大小为mx(n/2)的块。如果使用垂直分割,给定的块被分成两个大小为(m/2)xn的块。可以重复二叉树分割过程,直到分割块的大小(宽度或高度)达到允许的最小块大小(宽度或高度)为止。允许的最小块大小可以在例如sps的进阶语法中定义。由于二叉树具有两种分割类型(即水平和垂直),所以应该指出最小允许的块宽度和块高度。当分割会导致块高度小于指定的最小值时,非水平分割是隐含的。当分割会导致块宽度小于指定的最小值时,非垂直分割是隐含的。图4示出了块分割410及其对应的二叉树420的示例。在二叉树的每个分割节点(即,非叶节点)中,使用一个标志来指示使用哪种分割类型(水平或垂直),其中0可以指示水平分割,1可以指示垂直分割。

二叉树结构可以用于将图像区域分割成多个较小的块,例如将片段分割成ctu,将ctu分割成cu,将cu分割成pu,或将cu分成tu等等。二叉树可以用于将ctu分割成cu,其中二叉树的根节点是ctu,二叉树的叶节点是cu。叶节点可以通过预测和变换编码进一步处理。为简化起见,没有从cu到pu或从cu到tu的进一步分割,这意味着cu等于pu以及pu等于tu。因此,换句话说,二叉树的叶节点是用于预测和变换编码的基本单元。

因为可以支持更多的分割形状,二叉树结构比四叉树结构更灵活,这也是编码效率改进的来源。然而,为了选择最佳分割形状,编码复杂度也将增加。为了平衡复杂度和编码效率,已经公开了一种组合四叉树和二叉树结构的方法,也称为四叉树加二叉树(quadtreeplusbinarytree,qtbt)结构。依据qtbt结构,块首先被四叉树结构分割,并且四叉树分割可以迭代,直到分割块的大小达到最小允许的四叉树叶节点大小。如果叶四叉树块不大于最大允许二叉树根节点大小,则可以通过二叉树结构进一步分割,并且二叉树分割可以迭代,直到分割块的大小(宽度或高度)达到最小允许二叉树叶节点大小(宽度或高度)或二叉树深度达到允许的最大二叉树深度。在qtbt结构中,最小允许的四叉树叶节点大小,最大允许的二叉树根节点大小,最小允许二叉树叶节点宽度和高度以及最大允许二叉树深度可以在进阶语法中指示,例如在sps中。图5示出了块510的分割及其对应的qtbt520的实例。实线表示四叉树分割,虚线表示二叉树分割。在二叉树的每个分割节点(即,非叶节点)中,一个标志指示使用哪种分割类型(水平或垂直),0可以指示水平分割,以及1可以指示垂直分割。

上述qtbt结构可以用于将图像区域(例如,片段,ctu或cu)分割成多个更小的块,例如将片段分割成ctu,将ctu分割成cu,将cu分成pu,将cu分成tu等。例如,qtbt可以用于将ctu分割成cu,其中qtbt的根节点是ctu,该ctu通过qtbt结构被分割为多个cu,并且通过预测和变换编码进一步处理这些cu。为简化起见,没有从cu到pu或从cu到tu的进一步分割。这意味着cu等于pu和pu等于tu。因此,换句话说,qtbt结构的叶节点是预测和变换的基本单位。

qtbt结构的示例如下所示。对于大小为128x128的ctu,最小允许的四叉树叶节点大小设置为16x16,最大允许的二叉树根节点大小设置为64x64,最小允许的二叉树叶节点宽度和高度都设置为4,而最大允许二叉树深度设置为4。首先,ctu由四叉树结构分割,并且叶四叉树单元可以具有从16×16(即,最小允许四叉树叶节点大小)到128×128的大小(等于ctu的大小,不分割)。如果叶四叉树单元是128x128,它不能被二叉树进一步分割,因为大小超过最大允许的二叉树根节点大小64x64。否则,可以通过二叉树进一步分割叶四叉树单元。叶四叉树单元也是根二叉树单元,其二叉树深度为0。当二叉树深度达到4(即,如所指示的最大允许二叉树)时,隐含不分割。当对应的二叉树节点的块的宽度等于4时,隐含非水平分割。当对应的二叉树节点的块的高度等于4时,隐含非垂直分割。qtbt的叶节点通过预测(帧内图像或帧间图像)和变换编码进一步处理。

对于i片段,qtbt树结构通常应用亮度/色度分离编码。例如,qtbt树结构分别应用于i片段的亮度分量和色度分量,并且同时应用于p-片段和b片段的亮度分量和色度分量(除了达到色度的某些最小尺寸之外)。换句话说,在i片段中,亮度ctb具有qtbt结构的块分割,并且两个色度ctb具有另一个qtbt结构的块分割。在另一示例中,两个色度ctb也可以具有它们自己的qtbt结构的块分割。

对于基于块的编码,总是需要将图像分割成块(例如,cu,pu和tu)以用于编码目的。如本领域已知的,在应用块分割之前,图像可以被分割成更小的图像区域,例如片段,方格(tiles),ctu行或ctu。用于编码目的将图像分割为块的处理被称为使用编码单元结构对图像进行分割。hevc采用的特殊分割而生成cu,pu和tu的方法,是编码单元(cu)结构的一个例子。qtbt树结构是编码单元(cu)结构的另一示例。

当前图像参考

运动估计/补偿是混合视频编码中的众所周知的关键技术,其探索相邻图像之间的像素相关性。在视频序列中,相邻帧之间对象的移动很小,并且对象的移动可以通过二维平移运动进行建模。因此,对应于帧中的对像或背景的图案(patterns)被移动位置以在后续帧中形成对应对像,或对应于帧中的对像或背景的图案与当前帧内的其他模式相关联。利用移动位置的估计(例如使用块匹配技术),大部分图案可以再现,而不需要重新编码图案。类似地,还尝试块匹配和复制以允许从同一帧内选择参考块。当将这个概念应用于由相机捕获的视频时,观察到效率不高。部分原因是空间相邻区域中的文本图案(textualpattern)可能类似于当前的编码块,但通常在空间上有一些逐渐的变化。因此,块难以在由相机拍摄的视频的相同图像内找到精确匹配。因此,编码性能的提高是有限的。

然而,同一帧内的像素之间的空间相关性对于屏幕内容是不同的。对于具有文本和图形的典型视频,通常在同一图片中会有重复的图案。因此,已经观察到帧内(图像)块补偿是非常有效的。已经引入了新的预测模式,即帧内块复制(intrablockcopy,ibc)模式或被称为当前图像参考(currentpicturereferencing,cpr),以用于屏幕内容编码而利用该特征。在cpr模式中,从同一帧内的先前重建的块预测预测单元(pu)。此外,使用位移矢量(称为块矢量或bv)来发送从当前块的位置到参考块的位置的相对位移。然后使用变换,量化和熵编码对预测误差进行编码。图6中示出了cpr补偿的示例,其中区域610对应于要编码的图片,片段或图片区域。块620和630对应于要编码的两个块。在该示例中,每个块可以在当前图像中的先前编码区域中找到相应的块(即分别为622和632)。依据该技术,参考样本对应于包括在hevc中的环路滤波操作(in-loopfilteroperations)之前的当前解码图像的重建样本,环路滤波操作包括去块滤波器和样本自适应偏移(sao)滤波器。

在jctvc-m0350(madhukarbudagavi等人,“ahg8:videocodingusingintramotioncompensation”,jointcollaborativeteamonvideocoding(jct-vc)ofitu-tsg16wp3andiso/iecjtc1/sc29/wg11,13thmeeting:incheon,kr,18–26apr.2013,document:jctvc-m0350)中,cpr的早期版本被揭示,其作为hevc范围扩展(rext)开发的候选技术而被提交。在jctvc-m0350中,cpr补偿被限制在一个小的局部区域内,搜索限于1-d块矢量以仅用于2nx2n的块大小。随后,在hevc屏幕内容编码(screencontentcoding,scc)标准化过程中,开发了一种更先进的cpr方法。

为了有效地发送块矢量(blockvector,bv),以与mv编码类似的方式,使用bv预测子(bvpredictor,bvp)预测地发送bv。因此,如图7所示,发送bv差值(bvdifference,bvd)并依据bv=bvp+bvd重建bv,其中参考块720被选择依照帧内块复制(intrabc)预测以用于当前块710(即,cu)的。确定用于当前cu的一个bvp。导出运动矢量预测子(motionvectorpredictor,mvp)的方法在本领域是已知的。类似的推导可以应用于bvp推导。

当使用cpr时,只有当前图像的一部分可以用作参考图像。施加一些比特流一致性约束以调节参考当前图像的有效mv值。

首先,以下两个方程之一必须为真:

bv_x+offsetx+npbsw+xpbs–xcbs<=0,以及(1)

bv_y+offsety+npbsh+ypbs–ycbs<=0。(2)

第二,以下波前平行处理(wavefrontparallelprocessing,wpp)条件必须为真:

(xpbs+bv_x+offsetx+npbsw-1)/ctbsizey–xcbs/ctbsizey<=

ycbs/ctbsizey-(ypbs+bv_y+offsety+npbsh-1)/ctbsizey

(3)

在等式(1)至等式(3)中,(bv_x,bv_y)是当前pu的亮度块矢量(即cpr的运动矢量);npbsw和npbsh是当前pu的宽度和高度;(xpbsxpbs,ypbs)是相对于当前图像的当前pu的左上像素的位置;(xcbs,ycbs)是相对于当前图像的当前cu的左上角像素的位置;ctbsizey是ctu的大小。考虑到cpr模式的色度采样插值,offsetx和offsety是二维空间中的两个调节的偏移量:

offsetx=bvc_x&0x7?2:0,(4)

offsety=bvc_y&0x7?2:0。(5)

(bvc_x,bvc_y)是hevc中1/8像素分辨率的色度块矢量。

第三,用于cpr的参考块必须在相同的方格/片段边界内。

仿射运动补偿

仿射模型可以用于描述2d块旋转,以及将方块(矩形)的2d变形成平行四边形。该模型可以描述如下:

x’=a0+a1*x+a2*y,

y’=b0+b1*x+b2*y。(6)

在该模型中,需要确定6个参数。对于感兴趣区域中的每个像素(x,y),运动矢量被确定为给定像素(a)的位置与参考块(a')中其对应像素的位置之间的差异,即mv=a'-a=(a0+(a1-1)*x+a2*y,b0+b1*x+(b2-1)*y)。因此,每个像素的运动矢量是位置相关的。

依据该模型,如果三个不同位置的运动矢量是已知的,则可以解决上述参数。此条件相当于6个参数已知。具有已知运动矢量的每个位置被称为控制点。6参数仿射模型对应于3控制点模型。

在li等人的技术文献中(“anaffinemotioncompensationframeworkforhighefficiencyvideocoding”,in2015ieeeinternationalsymposiumoncircuitsandsystems(iscas),24-27may2015,pages:525–528)以及huang等人(“control-pointrepresentationanddifferentialcodingaffine-motioncompensation”,ieeetransactionsoncircuits,systemandvideotechnology(csvt),vol.23,no.10,pages1651-1660,oct.2013),呈现了仿射运动补偿的一些示例性实施例。在li等人的技术文献中,当当前块以合并模式或amvp模式编码时,发送仿射标志以用于2nx2n块分割。如果该标志为真,则当前块的运动矢量的推导遵循仿射模型。如果这个标志是假,则当前块的运动矢量的推导遵循传统的平移模型。当使用仿射amvp模式时,发送三个控制点(3个运动矢量)。在每个控制点位置,mv被预测地编码。之后,对这些控制点的mvd进行编码和传输。在huang等人的技术文献中,研究了不同的控制点位置和控制点中的mv的预测编码。

表1中示出了仿射运动补偿实现的语法表。如表1所示,如合并模式的注释(1-1)至注释(1-3)所示,如果至少一个合并候选是仿射编码并且分割模式是2nx2n(即,partmode==part_2nx2n),语法元素use_affine_flag被发送。如用于b片段的注释(1-4)至注释(1-6)所示),如果当前块大小大于8x8(即,(log2cbsize>3)以及分割模式是2nx2n(即partmode==part_2nx2n)),则会发出语法元素use_affine_flag。如注释(1-7)至注释(1-9),如果use_affine_flag表示正在使用仿射模型(即,使用值为1的use_affine_flag),则将其他两个控制点的信息发送给参考列表l0,以及如注释(1-10)至注释(1-12),其他两个控制点的信息被发送以用于参考列表l1。

表1

在本发明中,处理了具有qtbt结构或亮度/色度分离编码的cpr编码的各个方面的问题。



技术实现要素:

本发明提出了一种使用四叉树二叉树结构或亮度/色度分离编码的视频编码的方法和装置。依据本发明的提出实施例,当使能当前图像参考(currentpicturereferencing,cpr)模式时,使用相同的编码单元(cu)结构将当前图像的亮度分量和一个或多个色度分量共同地分割为多个亮度块和多个色块,以及若当前图像参考模式被选择以用于多个亮度块和多个色度块,则对多个亮度块和多个色度块共同地应用当前图像参考编码,或者当当前图像的亮度分量和一个或多个色度分量分别使用单独的编码单元结构而被分割成多个亮度块和多个色度块时,利用自当前图像参考模式之外的编码模式组中选择编码模式而编码或解码多个亮度块和多个色度块。

依据本发明的提出另一实施例,分别使用单独的编码单元结构将当前图像的亮度分量和色度分量分割成多个亮度块和多个色度块。如果当前图像参考模式分别被选择以用于多个亮度块或多个色度块,则将当前图像参考编码分别应用于多个亮度块或多个色度块。对于多个亮度块,当前图像参考是指当前图像的已重建亮度图像中的亮度参考数据使用多个第一运动矢量(firstmotionvectors,mvs)。对于多个色度块,当前图像参考是指当前图像的已重建色度图像中的色度参考数据使用多个第二运动矢量。在一个实施例中,多个第一运动矢量和多个第二运动矢量不同。在另一实施例中,并置亮度块的第一运动矢量用于导出相应色度块的第四二运动矢量,并且其中如果亮度分量和一个或多个色度分量有不同的分辨率,则第一运动矢量对应于并置亮度块的缩放运动矢量。如果将当前图像参考模式应用于对应色度块并且并置亮度块以当前图像参考模式而被编码,则对于并置亮度块的第一运动矢量或第一运动矢量的缩放运动矢量直接用作相应色度块的第二运动矢量。在此情况下,一标志用于指示并置亮度块的第一运动矢量或第一运动矢量的缩放运动矢量是否直接用作相应色度块的第二运动矢量。当以合并模式对相应色度块进行编码时或者当并置亮度块以当前图像参考模式而被编码时,标志被发送或被解析。如果当前图像参考模式被应用于对应色度块以及并置亮度块不被编码于当前图像参考模式时,则默认运动矢量被用作该对应色度块的第二运动矢量。在另一实施例中,若如果将当前图像参考模式应用于对应色度块以及并置亮度块被编码于当前图像参考模式时,则并置亮度块的第一运动矢量或第一运动矢量的缩放运动矢量被用作运动矢量预测子,该运动矢量预测子被添加至合并候选列表或进阶运动矢量预测候选列表以用于对应色度块。并置亮度块的第一运动矢量或第一运动矢量的缩放运动矢量被添加至合并候选列表或进阶运动矢量预测候选列表中的前导候选位置,以用于对应色度块。如果当前图像参考模式被应用于对应色度块以及并置亮度块不编码于当前图像参考模式,则默认运动矢量被用作运动矢量预测子,该运动矢量预测子被添加至合并候选列表或进阶运动矢量预测候选列表以用于对应色度块。例如,默认运动矢量选自包括(-w,0),(0,-h),(-w,-h),(-2w,0)和(0,-2h)的运动矢量组,其中w是块宽度,h是块高度。在又一实施例中,第一运动矢量或第一运动矢量的缩放运动矢量用于并置亮度块,该并置亮度块与对应色度块的相邻色度块相关,第一运动矢量或第一运动矢量的缩放运动矢量被用作对应色度块的第二运动矢量。

依据本发明的另一方面提出用于当前图像参考模式的受约束的重建数据。当当前图像参考模式被应用于当前图像时,在预测包括当前块的当前编码单元之前,当前图像的当前块的参考数据被约束至可用已重建数据。相应地,当前块的块矢量被限制于使得如下两个公式其中之一为真:bv_x+offsetx+npbsw<=0andbv_y+offsety+npbsh<=0,其中(bv_x,bv_y)对应于当前块的亮度分量的块矢量,鉴于用于当前图像参考模式的色度样本插值,(offsetx,offsety)是两个调整的偏移,以及npbsw和npbsh对应于当前块的宽度和高度。当前块可对应于当前亮度块或当前色度块。用于图像区域的当前块的参考数据被进一步至与波前平行处理相关的梯形预测区域,进一步约束该当前块的块矢量:(xpbs+bv_x+offsetx+npbsw-1)/ctbsizey–xpbs/ctbsizey<=ypbs/ctbsizey-(ypbs+bv_y+offsety+npbsh-1)/ctbsizey,其中((xpbs,ypbs)是该相对于当前图像相关的当前块的左上像素的位置,以及ctbsizey对应于图像区域的高度。如果当前区域的亮度分量和色度分量分别使用单独的编码单元结构而分别被分割为多个亮度块和多个色度块,则offsetx和offsety为0。

附图说明

图1标出了使用四叉树结构将编码树单元分割成编码单元的块分割的示例。

图2标出了依据高效率视频编码的非对称运动分割(asymmetricmotionpartition,amp),其中amp定义用于将cu分割为pu的八种形状。

图3标出了由二叉树分割结构使用的各种二进制分割类型的示例,其中块可以使用分割类型被递归地分割成两个较小的块。

图4示出了块分割及其对应的二叉树的示例,其中在二叉树的每个分割节点(即,非叶节点)中,使用一个标志来指示哪个分割类型(水平或垂直)被使用,其中0可以指示水平分割,1可以指示垂直分割。

图5示出了块分割及其对应的四叉树加二叉树结构(quad-treeplusbinarytreestructure,qtbt)的示例,其中实线表示四叉树分割,虚线表示二叉树分割。

图6示出了cpr补偿的示例,其中区域610对应于要编码的图片,片段或图片区域。块620和630对应于要编码的两个块。

图7示出了预测块矢量(blockvector,bv)编码的示例,其中对应于当前bv和bv预测子之间的差值的块矢量差值(bvdifference,bvd)被发送。

图8示出了用于帧内块复制(intrabc)模式(即当前图像参考,cpd模式)的约束参考像素区域的示例。

图9标出了与cpr模式相关联的用于波前平行处理(wavefrontparallelprocessing,wpp)的梯形参考数据区域的示例。

图10示出了来自相同帧中的其它颜色平面的并置的颜色平面候选导出的示例,其中(y1,u1,v1)和(y2,u2,v2)是两个连续帧的颜色平面。

图11示出了依据本发明的实施例的具有当前图像参考(currentpicturereferencing,cpr)模式使能的示例性编码系统的流程图,其中如果cpr模式被选择以用于亮度和色度块,当前图像的亮度块和色度块使用相同的编码单元来共同编码,或者如果使用单独的cu结构将亮度分量和色度分量分别分割成亮度块和色度块,则使用除cpr模式之外的编码模式中选择编码模式来编码或解码亮度和色度块。

图12示出了依据本发明实施例的具有当前图像参考(cpr)模式使能的示例性编码系统的流程图,其中如果cpr被选择以用于亮度块和色度块,则使用不同的cu结构分别对当前图像的亮度块和色度块进行编码。

图13示出了依据本发明的实施例的具有当前图像参考(cpr)模式使能的示例性编码系统的流程图,其中如果cpr模式被选择以用于亮度块和色度块,则在预测包括当前区块的当前编码树单元之前,用于当前块的参考数据被约束至可用已重建数据。

具体实施方式

以下描述是实现本发明的最佳实施方式。这一描述是为了说明本发明的一般原理,而不应被认为是限制性的。本发明的范围最好通过权利要求来确定。

在基于原始四叉树加二叉树(quad-treeplusbinarytree,qtbt)结构和亮度/色度分离编码的视频编码中,针对所有帧内帧(例如,i片段)分别对亮度和色度进行编码。然而,在hevc-scc中,cpr被设计以用于三个颜色分量。cpr的mv用于所有三个分量。依据本发明的一个方面,当亮度和色度分别被编码时,cpr设计被修改。在本公开中,提出了具有亮度/色度分离cu结构的cpr编码的各种方法如下。在下文中,公开了用于具有qtbt结构或亮度/色度分离编码的视频数据分割的cpr模式的各个方面。

cpr模式的联合颜色分量编码

当对当前图像启用cpr模式时,亮度和色度(或r/g/b)分离编码被禁能。换句话说,当cpr模式使能时,使用联合亮度和色度(或r/g/b)编码。cpr模式的使用可以由进阶语法指示,例如图片参数集(pictureparameterset,pps)中的pps_curr_pic_ref_enabled_flag为真。在这种情况下,亮度和色度分量将按照p-或b-片段的情况共同编码。换句话说,使用相同的编码单元(cu)结构来分割图像区域的亮度和色度分量。此外,用于图像区域的亮度和色度分量的相同的运动矢量(mv)或块矢量(bv)被使用以定位参考数据。

在另一个实施例中,如果应用亮度和色度(或r/g/b)分离编码,则cpr模式被禁用。换句话说,使用从除了cpr模式之外的编码组中选择的编码模式对亮度和色度分量进行编码。

换句话说,依据上述实施例,cpr模式的使用和单独的亮度和色度(或r/g/b)编码不会同时发生。

用于亮度和色度的分离的cpr编码

依据另一实施例,当亮度和色度被单独编码时,使用单独的cpr编码,以用于亮度分量和色度分量。例如,对于亮度分量编码,以cpr模式编码的亮度块的mv仅参考亮度重建图像。对于色度分量编码,以cpr模式编码的色度块的mv参考是u/v(或cb/cr)重建图像。例如,可以使用第一cu结构将亮度图像区域(例如亮度片段或编码树单元,ctu)分割为亮度块,以及使用第二cu结构将色度图像区域(例如,色度片段或编码树单元,ctu)分割为色度块。如果亮度图像区域的亮度块具有第一mv并且色度图像区域的色度块具有第二mv,则cu/pu的亮度块和色度块可以具有不同的mv。换句话说,第一mv和第二mv可以是不同的。

在cpr模式中用于色度cu编码的mv预测

依据本发明实施例,当亮度分量和色度分量被分别编码并且单独的cpr编码用于亮度分量和色度分量时,(如果亮度分量具有与色度分量不同的分辨率)来自亮度mv的mv或缩放的亮度mv被使用以用于色度块(例如,cu/pu)的mv编码。例如,当使用cpr模式对色度cu/pu进行编码时,如果以cpr模式编码并置(collocated)亮度cu/pu,则可以将亮度mv或缩放的亮度mv直接用于色度cu/pu或可以用作色度cu/pu的mv预测子(mvpredictor,mvp)。此外,可以发出luma_merge_flag以指示亮度mv或缩放亮度mv是否直接用于当前色度cu/pu。luma_merge_flag也可以有条件地被发送。例如,仅在并置亮度cu/pu以cpr模式编码时才被发送。在另一示例中,总是发送luma_merge_flag来指示当前色度cu/pu是否以cpr模式被编码,并且从缩放的亮度mv复制mv。在本示例中,如果并置的亮度cu/pu未以cpr模式编码,则可以应用默认的mv。默认的mv可以是(-w,0),(0,-h),(-w,-h),(-2w,0),(0,-2h)或任何其他预定义的mv,其中w是cu宽度或pu宽度,h是cu高度或pu高度。

在另一示例中,当对色度cu/pu应用合并模式时,总是发送luma_merge_flag。例如,当用于色度分量的merge_flag或skip_flag为真时,总是发送luma_merge_flag。在本示例中,如果并置的亮度cu/pu未以cpr模式编码,则可以应用默认的mv。默认的mv可以是(-w,0),(0,-h),(-w,-h),(-2w,0),(0,-2h)或任何其他预定义的mv,其中w是cu宽度或pu宽度,以及h是cu高度或pu高度。

在另一个实施例中,并置亮度块的亮度mv或缩放亮度mv可以用作mvp。它可以插入到合并候选列表或/和amvp候选列表中。它可以插入列表中的第一个候选位置(即,前导位置(leadinglocation))。mv裁剪(pruning)可以应用于以下候选。如果未在cpr模式下编码并置亮度cu/pu,则可以删除该候选,或者使用默认的mv作为候选。默认的mv可以是(-w,0),(0,-h),(-w,-h),(-2w,0),(0,-2h)或任何其他预定义的mv,其中w是cu宽度或pu宽度,h是cu高度或pu高度。

在另一个实施例中,当前色度相邻块的并置亮度块的亮度mv或缩放亮度mv可用作mvp。它可以插入合并候选列表或/和amvp候选列表。如果在cpr模式下未编码并置亮度cu/pu,则可以删除该候选,或者使用默认的mv作为候选。

在另一个实施例中,并置亮度块的亮度mv或缩放亮度mv可以用作时间并置mvp。

并置颜色平面候选

当颜色平面中的块被编码时,解码器可以导出其并置的颜色平面候选以预测当前块的运动矢量。并置的颜色平面候选是从同一帧中的其他颜色平面导出。图10示出了来自同一帧中的其他颜色平面的并置颜色平面候选推导的示例,其中(y1,u1,v1)和(y2,u2,v2)是两个连续帧的颜色平面。当对u2中的块进行编码时,可以从y2导出并置的颜色平面候选。注意,解码器还可以从在hevc中编码的先前帧中获得并置的时间候选。新推导的并置颜色平面候选可以与hevc中的其他候选一起插入到候选列表中。可以组合图10中的u/v(或cb/cr)颜色平面。例如,可以将其改变为对应于(y1,u1+v1)和(y2,u2+v2)的四个图像。

在另一个实施例中,当对色度图像进行编码时,已编码的亮度mv场(field)可以用作时间并置图像的mv场。联合颜色分量编码中的原始mv编码方法可以应用于色度图像编码。

在另一个实施例中,当对色度图像进行编码时,已编码的亮度mv场被复制到当前重建的图像。当cu/pu被解码时,已重建的样本和mv被更新。联合颜色分量编码中的原始mv编码方法可以应用于色度图像编码。

用于cpr的lm模式

由于亮度图像和色度图像被分别编码,所以可以应用交叉颜色预测来生成用于编码的新的预测图像。例如,当解码色度图像时,可以使用解码的亮度图像来生成用于预测的新的虚拟色度图像。可以使用在基于hm(hevc测试模型)/jem(联合探索平台(jointexplorationmodel))的软件中公开的类lm亮度模式预测生成方式,其中,prediction_sample=a*source_sample+b。参数a和b可以在sps/pps/片段头(sliceheader)中被发送。已解码的亮度mv场可以被缩放为所生成的新的虚拟色度图像的mv场。可以应用双向预测。例如,一个图像可以是当前重建色度图像,另一个图像可以是虚拟色度图像。当使用虚拟色度图像时,hevc-scc中的梯形预测区域约束可以减轻。

用于qtbt的cpr参考区域约束

当qtbt与等于pu的cu一起使用时,每个cu只有一个预测块。等式(1)至等式(3)中规定的约束变化如下所示:

bv_x+offsetx+npbsw<=0,(1’)

bv_y+offsety+npbsh<=0,(2’)

(xpbs+bv_x+offsetx+npbsw-1)/ctbsizey–xpbs/ctbsizey<=

ypbs/ctbsizey-(ypbs+bv_y+offsety+npbsh-1)/ctbsizey。

(3’)

上述修改的等式也适用于使用编码单元(cu)结构来生成cu的情况,其中每个cu对应于一个pu。当图像的三个颜色分量被分别单独编码时,其中色度u/v具有独立的块矢量,则可以将变量offsetx和offsety设置为0。

以上公开的发明可以以各种形式并入各种视频编码或解码系统中。例如,可以使用基于硬件的方法来实现本发明,例如专用集成电路(integratedcircuits,ic),现场可程序逻辑门阵列(fieldprogrammablelogicarray,fpga),数字信号处理器(digitalsignalprocessor,dsp),中央处理单元(cpu)等。本发明也可以使用软件代码或固件代码来实现,该软件代码或固件代码在计算器、笔记本电脑、或例如智能电话的移动设备上执行。此外,软件代码或固件代码可以在例如具有专用处理器(例如视频编码引擎或协同处理器)的cpu的混合型平台上执行。开始结束

图11示出了依据本发明的实施例的具有当前图像参考(currentpicturereferencing,cpr)模式使能的示例性编解码系统的流程图,其中如果cpr模式被选择以用于亮度块和色度块,当前图像的亮度块和色度块使用相同的编码单元结构来共同编码,或者如果使用单独的cu结构分别将亮度分量和色度分量分割成亮度块和色度块,则使用自除cpr模式之外的编码模式组选择的编码模式而对亮度块和色度块进行编码或解码。流程图中所示的步骤,同本申请中的其他候选流程图一样,可以被实现为在编码器侧和/或解码器侧的一个或多个处理器(例如,一个或多个cpu)上可执行的程序代码。流程图中所示的步骤也可以是基于硬件而实现,例如被布置为执行流程图中的步骤的一个或多个电子设备或处理器。依据该方法,在步骤1110中接收与当前图像相关联的输入数据,其中当前图像区域包括一个亮度分量和一个或多个色度分量。在编码器侧,输入数据可对应于要编码的视频数据。在解码器侧,输入数据可对应于要解码的已压缩视频数据。在步骤1120中,当使能当前图像参考(cpr)模式时,使用相同的编码单元(cu)结构将图像区域的亮度分量和该一个或多个色度分量共同分割为亮度块和色度块,并且如果为亮度块和色度块选择cpr模式,cpr编码共同地被应用于亮度块和色度块,或者当图像区域的亮度分量和该一个或多个色度分量利用单独的cu结构被分别分割为亮度块和色度块时,使用从除了cpr模式之外的编码模式组中选择的编码模式对亮度块和色度块进行编码或解码。如果为亮度块和色度块选择cpr模式,则使用当前图像中的参考数据对亮度块和色度块进行编码。当使用编码单元(cu)结构来分割图像时,图像通常被分割成片段,方框,ctu行或ctu,并且将编码单元(cu)结构应用于ctu以生成cu,pu和tu,以用于编码过程。四叉树二叉树(quad-treeplusbinarytree,qtbt)结构可以用作编码单元结构。

图12示出了依据本发明的实施例的具有当前图像参考模式使能的示例性编解码系统的流程图,其中如果为亮度和色度块选择cpr模式,使用不同的cu结构分别对当前图像的亮度和色度块进行编解码。依据该方法,在步骤1210中接收与当前图像相关联的输入数据,其中图像区域包括一个亮度分量和一个或多个色度分量。在步骤1220中,使用单独的cu结构将图像区域的该个亮度分量和该一个或多个色度分量分别分割成亮度块和色度块。在步骤1230中,如果cpr模式被选择以用于亮度块或色度块,将当前图像参考(cpr)编码分别应用于亮度块或色度块。例如,cpr编码可以利用亮度块的运动矢量而仅参考亮度已重建参考数据,以用于编码亮度分量,以及cpr编码可以利用色度块的运动矢量而仅参考色度已重建参考数据,以用于编码色度分量。

图13示出了依据本发明的实施例的具有当前图像参考模式使能的示例性编解码系统的流程图,其中如果cpr模式被选择以用于亮度和色度块,在预测包括当前块的当前编码树单元之前,用于当前块的参考数据被约束至可用已重建数据。依据该实施例,在步骤1310中接收与当前图像相关联的输入数据,其中当前图像包括一个亮度分量和一个或多个色度分量。在步骤1320中,使用编码单元(cu)结构将当前图像的亮度分量和该一个或多个色度分量分割成亮度块和色度块,其中编码单元(cu)等于预测单元(pu)。在步骤1330中,当将当前图像参考(cpr)模式应用于亮度块和色度块时,依据bv_x+offsetx+npbsw<=0,或bv_y+offsety+npbsh<=0,在预测包括当前块的当前编码单元之前,当前块的参考数据被约束至可用已重建数据。当前块对应于当前亮度块或当前色度块,(bv_x,bv_y)对应于当前块的亮度分量的当前块矢量,鉴于用于cpr模式的色度样本插值,(offsetx,offsety)是两个调整的偏移,以及npbsw和npbsh对应于当前块的宽度和高度,以及其中若利用单独的编码单元结构,当前图像的亮度分量和该一个或多个色度分量分别被分割为亮度块和色度块,则offsetx和offsety为0。

所示的流程图旨在说明依据本发明的示范性视频编解码的示例。在不脱离本发明的精神的情况下,本领域技术人员可以修改每个步骤,重新排列步骤,拆分步骤或组合步骤来实施本发明。在本公开中,已经使用具体的语法和语义来说明实现本发明的实施例的示例。本领域技术人员可以用相同的语法和语义来代替该些语法和语义来实践本发明,而不脱离本发明的精神。

呈现上述描述以使得本领域技术人员能够在特定应用及其要求的上下文中实施本发明。对所描述的实施例的各种修改对于本领域技术人员将是显而易见的,并且本文定义的一般原理可以应用于其他实施例。因此,本发明并不限于所示出和描述的特定实施例,而是符合与本文所公开的原理和新颖特征相一致的最宽范围。在上述详细描述中,示出了各种具体细节以便提供对本发明的透彻理解。然而,本领域技术人员将理解,可以实施本发明。

如上所述的本发明的实施例可以以各种硬件,软件代码或两者的组合来实现。例如,本发明的实施例可以是整合到视频压缩芯片中的一个或多个电路电路,或整合到视频压缩软件中的程序代码以执行本文所述的处理。本发明的实施例也可以是要在数字信号处理器(dsp)上执行的程序代码,以执行本文所述处理。本发明还可以涉及由计算器处理器,数字信号处理器,微处理器或现场可程序逻辑门阵列(fpga)执行的许多功能。可以通过执行定义本发明所体现的特定方法的机器可读软件代码或固件代码来将这些处理器配置成执行依据本发明的特定任务。软件代码或固件代码可以以不同的编程语言和不同的格式或风格而被开发。也可以为不同的目标平台编译软件代码。然而,执行与本发明一致任务的不同的代码格式,软件代码的样式和语言以及配置代码的其他方式将不会脱离本发明的精神和范围。

在不脱离本发明的精神或基本特征的情况下,本发明可以以其他具体形式实施。所描述的例子仅在所有方面被认为是说明性的而不是限制性的。因此,本发明的范围由权利要求而不是前面的描述来指示。属于申请专利范围的等同物的含义和范围的所有变化将被包括在其范围内。

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