利用当前画面参照编码方式的视频区块编码或解码方法和装置与流程

文档序号:34993639发布日期:2023-08-03 22:15阅读:49来源:国知局
利用当前画面参照编码方式的视频区块编码或解码方法和装置与流程

本发明关于利用当前画面参考编解码来进行视频编码与解码。尤其,本发明关于使用一或多个编解码工具来实行当前画面参考编解码。


背景技术:

1、高效率视频编码(high efficiency video coding,hevc)的标准,是由来自国际电信联盟电信标准化部门研究组(itu-t study group)的视频编码专家的视频编码联合协作小组(joint collaborative team on video coding,jct-vc)所开发的最新视频编解码标准。hevc标准依赖基于块的编解码结构,其将每一切片(slice)分割为多个编解码树单元(coding tree unit,ctu)。编码过的画面是由一个或整体的切片来加以代表,每一切片包括整数个ctu。在切片中个别的ctu则依据一光栅扫描(raster scanning)顺序进行处理。在hevc主配置文件(main profile)中,ctu的最小和最大尺寸由序列参数集(sequenceparameter set,sps)中的语法元素,在8x8、16x16、32x32、或64x64的尺寸中来指定。在双向预测(bi-predictive,b)切片中的每一块的样本数值是使用帧内预测或帧间预测用最多两个运动向量与参考索引来加以解码。在预测(predictive,p)切片中的每一块的样本数值是使用帧内预测或帧间预测仅用一个运动向量与一个参考索引来加以解码。帧内(intra,i)切片是仅使用帧内预测来加以解码。依据四叉树(quadtree,qt)分割流程,每一ctu进一步被递归式地分割成一或多个编解码单元(coding unit,cu)以适应各种局部运动与纹理特性。ctu尺寸为mxm,其中m是值64、32、与16中的一个。每一ctu可以是单个cu或被分割成相同尺寸m/2xm/2的四个较小单元,其被称为编解码树的节点。如果节点不被进一步分割,其为编解码树的叶节点,而且每一叶节点是cu。四叉树分割流程可以被迭代,直到节点的尺寸达到序列参数集(sps)中指定的最小允许cu尺寸。用来将ctu分割为数个cu的四叉树块分割结构的例子绘示于图1中,其中实线表示ctu100中cu的边界。

2、预测的决定是在cu层作出的,其中每一cu是由帧间(时间)预测或是帧内(空间)预测来加以编解码。由于最小cu尺寸可以是8x8,所以用于在不同基本预测类型来切换的最小间隔尺寸是8x8。一旦cu层级化树的分割完成时,可以依据用于预测的pu分割类型来将每一cu作进一步分割成一或多个预测单元(prediction unit,pu)。图2显示定义于hevc标准中的八个pu分割类型。依据显示于图2的八个pu分割类型中的一个,每一cu可进一步分割成一、二、或四个pu。pu与相关的cu语法一起作为共享预测信息的基本代表块,而相同的预测过程会被应用于pu中的所有像素并且预测相关信息是在以pu的基础上来传达给解码器。指定的预测过程会被运用来预测pu之中相关像素样本的数值。在获得通过预测过程所产生的残差信号之后,会根据残差四叉树(residual quadtree,rqt)块分割结构来将属于cu的残差信号的残差数据分割为一或多个转换单元(transform unit,tu),以将残差数据转换成转换系数作为简洁的数据表示。图1中的虚线表示tu边界。tu是基本代表块用来分别地应用转换与量化于残差信号与转换系数上。对于每一tu,具有与tu相同尺寸大小的转换矩阵会被应用于残差信号上以产生转换系数,而且这些转换系数是基于tu为基础来加以量化并且传输至解码器。转换单元是由大小8x8、16x16、或32x32的亮度样本的转换块(transformblock,tb)以及画面中依据4:2:0颜色样本格式所编解码的两个相对应的色度样本的转换块所组成。整数转换会被应用于转换块而且量化后系数的水平数值(level value)与其他边信息会在视频比特流中进行熵编解码。

3、这些术语编解码树块(coding tree block,ctb),编解码块(coding block,cb),预测块(prediction block,pb)和转换块(transform block,tb)被定义出以分别指定与ctu,cu,pu,和tu相关的一个颜色分量的二维样本数组。例如,ctu由一个亮度(luma)ctb,两个色度(chroma)ctb和其相关的语法元素所组成。在hevc系统中,通常会将相同的四叉树块分割结构应用于亮度和色度两个分量,除非已达到色度块的最小尺寸。

4、二叉树分割结构是可以递归式分割一个块成为两个较小块的四叉树分割结构的替代性结构。最有效而简单的二叉树分割类型是对称水平与对称垂直分割类型。对于尺寸大小为mxn的给定块,旗标会被发信来指出这一块是否被分割成为两个较小块;如果是,另一语法元素会被发信来指出是使用哪一种分割类型。当该给定块是通过对称水平分割类型加以分割的情况,该给定块会被分割成为尺寸大小为mxn/2的两个块;否则,该给定块会被分割成为尺寸大小为m/2xn的两个块。二叉树分割过程可以反复进行直到块的尺寸大小、宽度、或高度到达高阶语法元素所定义的最小可允许的块尺寸大小、宽度、或高度为止。最小可允许的块宽度与高度二者都被指定,因为在二叉树分割过程中有水平与垂直分割类型。当分割的结果会造成块高度小于所指定的最小高度时,水平分割类型会隐含地被禁止。相似地,当分割的结果会造成块宽度小于所指定的最小宽度时,垂直分割类型会隐含地被禁止。二叉树分割结构可以被用来将块分割成为数个较小块,例如,它可以被用来将切片(slice)分割成数个ctu、将ctu分割成数个cu、将cu分割成数个pu、或将cu分割成数个tu。

5、二叉树结构比四叉树结构更具弹性,是因为可以支持更多的分割形状,这也是编解码效率提高的来源。但是,由于编码器需要从众多分割形状中决定选择最佳的分割形状,编解码复杂度也会增加。一种称为四叉树加二叉树(quadtree plus binary tree,qtbt)结构的新分割结构可以平衡四叉树分割结构与二叉树分割结构的编解码效率和编解码复杂度。图3a显示示例性的qtbt结构,其中ctu首先通过四叉树结构然后是二叉树分割结构来对ctu进行分割。cu可以通过四叉树分割而递归式地进行分割,直到当前cu尺寸大小达到最小可被允许四叉树叶节点尺寸。如果叶四叉树块的尺寸不大于最大可被允许二叉树根节点的尺寸,则每一叶四叉树块可以通过二叉树分割再加以分割。二叉树分割可以被递归式地应用直到当前cu尺寸大小、宽度、或高度达到最小可被允许二叉树叶节点尺寸大小、宽度、或高度,或是二叉树深度达到最大可被允许二叉树深度。在qtbt分割中,只有水平对称分割与垂直对称分割是两种可被允许的二叉树分割类型。从qtbt分割中所产生的叶cu可以被运用于预测与转换程序而不作任何进一步分割。图3a依据qtbt分割结构绘示块分割结构的例子,而图3b绘示相对应的编解码树图以用于图3a所显示的qtbt分割结构。图3a与3b中实线表示四叉树分割,而虚线表示二叉树分割。在二叉树结构的每个分割节点(即非-叶)中,一个旗标会指示使用了哪种分割类型(水平或垂直),0表示水平对称分割而且1表示垂直对称分割。对于在i型切片中被编解码的ctu,用于色度ctb的qtbt编解码树代表可与用于对应的亮度ctb的qtbt编解码树代表不同。对于在p型和b型切片中被编解码的ctu,相同的qtbt编解码树代表被应用于色度ctb和亮度ctb二者,除非是对于色度块已达某一最小尺寸。在qtbt分割结构中,最小可被允许的四分树叶节点尺寸大小,最大可被允许的二分树根节点尺寸大小,最小可被允许的二分树叶节点宽度和高度,以及最大可被允许的二分树深度和高度在例如sps的高阶语法中加以指示。

6、qtbt分割结构可以用于将块分割成多个更小的块,例如,qtbt分割结构可以用于将ctu分割成多个cu,而多个cu由预测与转换编解码作进一步处理。也就是说,qtbt分割结构的叶节点是用于预测和转换编解码二者的基本单元。在一例子中,ctu的尺寸大小为128x128,最小可被允许四叉树叶节点尺寸为16×16,最大可被允许二叉树根节点尺寸为64x64,最小可被允许二叉树叶节点宽度与高度二者皆为4,以及最大可被允许的二叉树深度为4。在这个例子中每一ctu通过四叉树分割结构来加以分割,因此叶四叉树单元的尺寸可以从16×16(最小可被允许四叉树叶节点尺寸)至128×128(ctu的尺寸)。如果叶四叉树单元为128×128,则不能被二叉树分割作进一步分割,因为叶四叉树单元的尺寸大小超过最大可被允许二叉树根节点尺寸64x64;否则,尺寸小于或等于64x64的叶四叉树单元可以通过二叉树分割作进一步分割。当通过二叉树分割来对叶四叉树单元进行分割时,此叶四叉树单元也是作为根二叉树单元,其具有二叉树深度等于0。当二叉树深度达到4时(即指定的最大深度),分割是被隐含地禁止。相似地,当二叉树节点的宽度或高度等于4时,水平或垂直分割分别地被隐含地禁止。qtbt分割结构的叶节点通过预测与转换编解码来进一步来处理。

7、qtbt分割结构会分别适用在帧内(i)切片的亮度与色度分量上,而且对于预测(p)和双向预测(b)切片的亮度与色度二者同时适用,除非当达到色度分量的某些最小尺寸时会有例外产生。在帧内切片中,亮度ctb有其自己的qtbt分割结构块分割,而两个色度ctb有另外的qtbt结构块分割,以及两个相对应色度ctb共享另一个qtbt结构块分割。备选地,两个色度ctb有他们自己的qtbt结构块分割。

8、帧间预测或运动补偿(包括帧间模式、合并模式、与跳过模式)是设计来利用在当前画面与一或多个参考画面之间的时间关联性。运动向量(mv)是用来代表在当前画面的当前块以及参考画面中相对应的参考块之间的位移(displacement)。通常是假设在当前画面中相对应于对象(object)或背景的图样(pattern)会被位移以形成接下来画面中相对应的对象,或是会与当前画面中其他图样有所关联。有了从其他画面来的这种位移的估计后(例如使用块匹配技术,block matching technique),在不重新编解码所述图样的情况下就几乎可以重制(reproduce)这些图样。相似地,块匹配可以在相同的画面中加以进行以选择参考块。和帧间预测中块匹配程序相似,运动向量是用来代表在当前块以及参考画面中相对应的参考块之间的位移。相对应的参考块是与当前块在相同画面之中的先前已重构块。此技术被称为帧内块复制(intra block copy,ibc)或当前画面参考(current picturereferencing,cpr),当应用此技术于相机所捕捉的视频内容时,被观察到效率不佳。原因之一是在空间相邻区域的文字图样可能会和当前编解码块相似,但是通常会有一些在空间上的逐渐变化。在相机所捕捉的视频的相同画面中,块要找到完全的匹配会较困难,因此编解码效率的改进是有限的。然而,通过在当前画面搜寻相似的图样,cpr是非常有效的技术用来编码屏幕内容。对于典型具有文字与图形的视频而言,在相同画面中通常会有重复的图样。为了通过cpr模式来处理当前画面中的当前块,会从当前画面中的先前已重构块来加以预测该当前块。运动向量(也称为块向量,block vector,简称bv)会被用来发信从当前块位置到参考块位置的相对位移(relative displacement)。然后使用转换、量化、与熵编解码来对预测错误进行编码。使用在屏幕内容编解码的cpr补偿的一些例子绘示于图4。从mv推导出的参考块的参考样本为相对应于在环内滤波操作(in-loop filter operation)之前的当前画面的重构样本,环内滤波操作为hevc标准中之解块(deblocking)与样本自适应偏移(sample adaptive offset,sao)滤波二者。

9、cpr补偿的第一版本被限制于小的局部区域内,只有一维的mv,而且只用于具有2nx2n尺寸大小的块。后来则发展出较为先进的cpr设计,加入了一些比特流符合约束(bitstream conformance constraint)来对于较为先进cpr设计中的当前pu的有效cpr mv数值加以规范。第一,等式(1)与等式(2)中之一必须为真。

10、bv_x + offsetx + npbsw + xpbs – xcbs <= 0     (1)

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

12、第二,下列于等式(3)中的波前并行处理(wavefront parallel processing,wpp)条件必须为真。

13、(xpbs+bv_x+offsetx+npbsw-1)/ctbsizey–xcbs/ctbsizey<=ycbs/ctbsizey-(ypbs+bv_y+offsety+npbsh-1)/ctbsizey(3)

14、在等式(1)到(3)中,(bv_x,bv_y)代表用于当前pu的亮度块向量,npbsw与npbsh是当前pu的宽度与高度,(xpbs,ypbs)代表当前pu的左上像素相对于当前画面的位置,(xcbs,ycbs)代表当前cu的左上像素相对于当前画面的位置,以及ctbsizey是ctu的尺寸大小。二变数offsetx与offsety是在考虑用于cpr模式的色度样本内插后二维中两个调整过的偏移量,而且定义于等式(4)与等式(5)之中。

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

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

17、其中(bvc_x,bvc_y)代表色度块向量,在hevc中是1/8像素分辨率。

18、第三,用来预测以cpr模式所编解码的当前pu的参考块必须在相同的方块(tile)边界或切片(slice)边界。

19、仿射运动补偿使用仿射模型来描述二维块旋转,以及从正方块或长方块到平行四边形的二维变形。此仿射模型于等式(6)中加以描述。

20、x’=a0+a1*x+a2*y

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

22、有六个参数a0、a1、a2、b0、b1、与b2涉及在此仿射模型中。对于所感兴趣区域中的每一像素(x,y),此像素的运动向量为a’–a=(a0+(a1-1)*x+a2*y,b0+b1*x+(b2-1)*y)。每一像素的运动向量是取决于其位置。在此仿射模型中,如果三个不同位置的运动向量已知,在等式(6)中的上述六个参数可以被解出来,所以等效而言就是六个参数已知。具有已知运动向量的每一个位置被称为控制点。六个参数的仿射模型相对应于三个控制点模型。

23、在仿射运动补偿的实作施行上,仿射旗标会被发信来用于以合并模式或高级运动向量预测(amvp)模式所编解码的每一个2nx2n块分割。如果对于当前块此一旗标为真,此当前块的运动向量推导会依循仿射模型;如果此一旗标为假,此当前块的运动向量推导会依循传统平移式模型(translation model)。当仿射amvp模式被使用时,三个控制点的运动向量(motion vector,mv)被发信。在每一控制点位置,mv会被预测性地加以编解码。然后将这些控制点的运动向量差异(motion vector difference,mvd)加以编解码与传输。

24、基于历史运动向量预测(history-based motion vector prediction,hmvp)的方法会在表格中储存数项先前编解码块的运动信息以被后续块所参考。表格中每一项运动信息被称为hmvp候选。具有多个hmvp候选的表格于编码或解码流程中会被维护(maintained),而且当遇到新的切片时此表格会被清空(emptied)。在编码或解码帧间编解码非-仿射块(inter-coded non-affine block)之后,相关联的运动信息会被加入于表格的最后一项字段作为新的hmvp候选。hmvp方法的解码流程被绘示于图5。对于以帧间预测编解码的每一块,具有hmvp候选的hmvp表格会由解码器加以加载,而且解码器以包含有从该hmvp表格所取得的一或多个hmvp候选的候选列表来对块加以解码。然后会以解码后块的解码后运动信息对于hmvp表格加以更新。图6绘示更新用来储存多个hmvp候选的hmvp表格的例子。在一例子中,此表格尺寸大小被设定为6(即l=6),因此至多有6个hmvp候选可以被加入于该hmvp表格中。当插入新的hmvp候选于该hmvp表格时,被约束的先进先出(first-in-first-out,fifo)规则会被应用。会先应用冗余检查来搜索该hmvp表格中是否有冗余的hmvp候选是与最新加入的hmvp候选相同。如图6所示,hmvp2被决定是冗余的hmvp候选,并且hmvp2被从该hmvp表格中移除。在从该hmvp表格中移除冗余的hmvp候选之后,hmvp表格中位于在被移除hmvp候选之后的所有hmvp候选会通过将每一索引减1而被往前移动。然后hmvp表格会被填入新的hmvp候选cl-1。

25、储存在hmvp表格中的hmvp候选可以被用于合并候选列表建构流程中。在hmvp表格中的最新几个hmvp候选会被依序检查,并且在插入时间运动向量预测(temporal motionvector prediction,tmvp)的候选之后被插入于合并候选列表中。通过以合并候选列表中的空间与时间候选来检查hmvp候选,修剪(pruning)会被应用于hmvp候选中。例如像高级时间运动向量预测(advanced temporal motion vector prediction,atmvp)的子块运动候选不会被和hmvp候选作检查。为了减少修剪操作的数目,引进了三个简化。在第一简化中,依据等式(7),设定待检查hmvp候选的数目(以l来表示)。

26、l = (n <=4 ) ? m: (8 - n)                            (7)

27、其中n指示出可用的非子块合并候选的数目,而且m指示出hmvp表格中可用的hmvp候选的数目。

28、第二简化检查可用的合并候选的总数是否达到发信最大可允许的合并候选减1,而且如果可用的合并候选的总数达到了发信最大可允许的合并候选减1,从hmvp表格来的合并候选列表建构流程会被终止。第三简化将合并型双向预测合并候选推导的配对数目从12降低到6。

29、与合并候选建构流程相似,hmvp候选可以被用来于amvp候选列表建构流程。在hmvp表格中最后k个hmvp候选的运动向量会在tmvp候选之后被插入于amvp候选列表。仅有与amvp目标参考画面具有相同的参考画面的hmvp候选才会被用来建构amvp候选列表。修剪(pruning)会被应用于hmvp候选。例如,k被设定为4,而amvp列表尺寸大小被设定为2,这是和hevc标准中的amvp列表尺寸大小相同。


技术实现思路

1、一种在视频解码系统中处理视频数据的方法,包括:接收与包含多个虚拟管道数据单元的当前画面相关联的输入数据,其中每一个虚拟管道数据单元是固定尺寸大小的;进行解码程序来解码该当前虚拟管道数据单元中的编解码单元以及产生该当前虚拟管道数据单元的解码后的样本,其中通过取得储存于当前画面参考参照缓冲器中的参考块的解码后的样本,来对以当前画面参考模式编码的每一个编解码单元加以解码;以及当完成该当前虚拟管道数据单元的该解码程序时,通过储存该当前虚拟管道数据单元的解码后的样本,来对于该当前画面参考参照缓冲器加以更新,其中该当前画面参考参照缓冲器是依照一个虚拟管道数据单元接着一个虚拟管道数据单元加以更新。

2、透过对以下具体实施例描述的检阅,本发明的其他方面和特征对于本领域一般技术人员将变得明显易懂。

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