合并候选导出装置、图像解码装置以及图像编码装置的制造方法_5

文档序号:9932926阅读:来源:国知局
I ]
[0282]图16是用于说明矢量mvLX为位移矢量的情况下的对应块currlvSamplesLX和参照块ref IvSamplesLX的图。如图16所示,对应块currlvSamplesLX是位于与对象图片不同的时刻下的对象层上的参照图像上的块。若将位移矢量设为mvDisp、将运动矢量设为mvRef,则对应块currlvSamplesLX位于如下块,S卩:处于以预测单元的位置为起点而偏离了表示参照层和对象层的位置关系的矢量即矢量mvT之后的位置。由此,对应块currlvSamplesLX的矢量mvC根据位移矢量mvDisp而由下述的式子来导出。
[0283]mvC[0] =mvT[0]
[0284]mvC[ I ] =mvT[ I ]
[0285 ] 如图16所示,参照块ref I vSamp I e sLX是位于与对象图片不同的时刻下的参照层上的参照图像上的块。若将位移矢量设为mvDisp、将运动矢量设为mvT,则参照块reflvSamplesLX位于如下块,S卩:处于以预测单元的位置为起点而偏离了表示参照层和对象层的位置关系的矢量即矢量mvRef-mvLX之后的位置。由此,参照块ref IvSamplesLX的矢量mvR根据位移矢量mvDisp而由下述的式子来导出。
[0286]mvR[0] =mvT[0]+mvDisp[0]
[0287]mvR[ I ] =mvT[ I ]+mvDisp[ I ]
[0288]另外,运动矢量mvT利用与对象图片相同的时刻的参照层上的图片(在图中为与predSamplesLX对应的块P)的矢量。例如,在设块的左上坐标为(xP,yP)、位移矢量为mvLX[]的情况下,参照对应的位置(xRef,yRef)的运动矢量。
[0289]xRef = Clip3(0,PicffidthInSamplesL-1,xP+(nPSff> > 1) + ( (mvLX[0]+2) > >2))
[0290]yRef = Clip3(O,PicHeightInSamplesL-1,yP+(nPSH> >I) + ((mvLX[I]+2)> >2))
[0291]参照图像插补部3092 2对于矢量mvLX而设定上述矢量mvC来生成参照块currlvSamplesLX的插补图像。通过线性插补(双线性插补)来导出使插补图像的像素的坐标(x,y)偏离了预测单元的矢量mvLX之后的位置的像素。考虑位移矢量LX为1/4像素的小数精度,参照图像插补部30922通过下式,来导出与预测单元的像素的坐标为(xP,yP)的情况对应的整数精度的像素RO的X坐标xlnt和Y坐标ylnt、以及位移矢量mvDisp的X分量的小数部分xFrac和Y分量的小数部分yFrac。
[0292]xInt = xPb+(mvLX[0]>>2)
[0293]yInt = yPb+(mvLX[ I ] > >2)
[0294]xFrac=mvLX[0]&3
[0295]yFrac=mvLX[l]&3
[0296]在此,x&3为仅取出X的低位2位的数学式。
[0297]接下来,参照图像插补部30922考虑矢量mvLX为1/4像素的小数精度,来生成插补像素predPartLX[x][y]。首先,通过下式,来导出整数像素A(xA,yB)、B(xB,yB)、C(xC,yC)以及D(xD,yD)的坐标。
[0298]xA = Clip3(0,picffidthlnSamples-l ,xlnt)
[0299]xB = Clip3(0 ,picffidthlnSamples-l,xlnt+l)
[0300]xC = Clip3(0,picffidthlnSamples-l ,xlnt)
[0301 ] xD = Clip3(0 ,picffidthlnSamples-l,xlnt+l)
[0302]yA = Clip3(0 ?picHeightInSamples-1,ylnt)
[0303]yB = Clip3(0 ?picHeightInSamples-1,ylnt)
[0304]yC = Clip3(0 ?picHeightInSamples-1,ylnt+l)
[0305]yD = Clip3(0 ?picHeightInSamples-1,ylnt+l)
[0306]在此,整数像素A为与像素RO对应的像素,整数像素B、C、D分别为与整数像素A的右、下、右下相邻的整数精度的像素。参照图像插补部30922从参照图片存储器306之中读出与各整数像素A、B、C、以及D对应的参照像素refPiCLX[xA][yA]、refPiCLX[xB][yB]、refPicLX[xC] [yC]、以及refPicLX[xD] [yD]。
[0307]然后,参照图像插补部30922利用参照像素refPiCLX[xA][yA]、refPiCLX[xB][yB]、refPicLX[xC] [yC]、refPicLX[xD] [yD]、矢量mvLX的X分量的小数部分xFrac和Y分量的小数部分yFrac,通过线性插补(双线性插补)来导出从像素RO偏离了矢量mvLX的小数部分之后的位置的像素即插补像素predPartLX[x] [y]。具体而言,通过下式来导出。
[0308]predPartLX[x][y]=(refPicLX[xA][yA]*(8_xFrac)*(8-yFrac)+refPicLX[xB][yB]*(8-yFrac)*xFrac
[0309]+refPicLX[xC][yC]*(8_xFrac)*yFrac
[0310]+refPicLX[xD] [yD]*xFrac*yFrac) > >6
[0311]另外,在上述中,利用对象像素的周围的4点的像素并通过I步的双线性插补来导出,但也可以分离成水平方向的线性插补和垂直方向的线性捅补,而通过2步的线性捅补来生成残差预测插补图像。
[0312]参照图像插补部30922针对预测单元内的各像素来进行上述的插补像素导出处理,将插补像素的集合设为插补块predPartLX。参照图像插补部30922将导出的插补块predPartLX作为对应块currlvSamplesLX而输出至残差合成部30923。
[0313]参照图像插补部30922除了将位移矢量mvLX置换为矢量mvR的点之外,进行与导出了对应块currlvSamplesLX的处理同样的处理,由此来导出参照块ref IvSamplesLX。参照图像插补部30922将参照块ref IvSamplesLX输出至残差合成部30923。
[0314]残差合成部30923在残差预测实施标记resPredFlag为I的情况下,根据两个残差预测运动补偿图像(currlvSamplesLX、ref IvSamplesLX)的差分来导出残差,在运动补偿图像上相加该残差,由此来导出预测图像。具体而言,残差合成部30923根据预测图像predSamp IesLX、对应块 currlvSamplesLX、参照块 ref I vSamp IesLX 以及残差预测标记 i V—res —pred—weight —idx来导出修正预测图像predSamplesLX7 修正预测图像predSamplesLX7利用如下的式子来求出。
[0315]predSamplesLX7 [x][y] = predSamplesLX[x][y] +
[0316]((currIvSamplesLX[x] [y]-ref IvSamplesLX[x] [y]) > >(iv_ re s_pred_weight_idx-1))
[0317]X为0?预测块的宽度-1,y为0?预测块的高度-1。残差合成部30923在残差预测实施标记resPredFlag为O的情况下,如以下的式子那样,将预测图像predSamplesLX原样输出。
[0318]predSamplesLX7[x][y]=predSamplesLX[x][y]
[0319](照度补偿)
[0320]照度补偿部3093在照度补偿标记ic_flag为I的情况下,针对被输入的预测图像predSamplesLX来进行照度补偿。在照度补偿标记ic_flag为O的情况下,将被输入的预测图像predSamp IesLX原样输出。
[0321](视点合成预测)
[0322]视点合成预测部3094在VSP模式标记VspModeFlag为I的情况下通过视点合成预测来导出预测图像predSampleLX。视点合成预测是将预测单元分割为子块,以子块为单位而从参照图片存储器306之中读出偏离了视差排列disparitySampleArray的量的位置的块,通过进行插补,由此来生成预测图像predSamp Ies的处理。
[0323]图17是表示视点合成预测部3094的构成的框图。视点合成预测部3094由视差排列导出部30941和参照图像插补部30942构成。
[0324]视差排列导出部30941在VSP模式标记VspModeFlag为I的情况下,以子块为单位来导出视差排列 d i spar i tySamp I e Array。
[0325]具体而言,首先,视差排列导出部30941从参照图片存储器306之中读出具有与解码对象图片相同的POC且视图1D与位移矢量所表示的图片的视图1D (Ref Vi ewl dx)相同的纵深图像refDepPeIs。
[0326]其次,视差排列导出部30941通过如下的式子,导出使预测单元的左上的坐标(xP,yP)偏离了位移矢量MvDisp之后的坐标(xTL,yTL)。
[0327]xTL = xP+((mvDisp[0]+2)>>2)
[0328]yTL = yP+( (mvDisp[ I ]+2) > >2)
[0329]其中,mvDisp[0]、mvDisp[l]分别为位移矢量MvDisp的X分量和Y分量。所导出的坐标(xTL,yTL)表示与纵深图像refDepPels上的预测单元对应的块的坐标。
[0330]视点合成预测部3094根据对象块(预测单元)的尺寸(宽度nPSWX高度nPSH)来进行子块分割。
[0331]图12是说明预测单元的子块分割的图。预测单元被分割为8X4或4X8的子块。如图12 (a)所示,在预测单元的高度nPSH满足nPSH % 8 != O的情况下,利用8 X 4的子块。如图12(b)所示,在预测单元的宽度nPSW满足nPSW%8! = O的情况下,利用4 X 8的子块。如图12(c)所示,在除此之外的情况下,根据与预测单元对应的纵深块的纵深的值而利用8X4或4X8的子块。
[0332]视差排列导出部30941在预测单元的宽度nPSW或高度nPSH为8的倍数以外的情况下,根据以下的式子,将标记minSubBlkSizeFlag设定为I。
[0333]minSubBlkSizeFlag=(nPSff%8! =0) (nPSH%8! =0)
[0334]视差排列导出部30941在标记minSubBlkSizeFlag为I的情况下,根据以下的式子,在预测单元的高度为8的倍数以外的情况下(nPSH%8为真的情况下),对于horSplitFlag而设定I,在除此之外的情况下,设定O。
[0335]horSplitFlag=(nPSH%8! =0)
[0336]S卩,在预测单元的高度为8的倍数以外的情况下(nPSH%8为真的情况下),对于horSplitFlag而设定I,在预测单元的宽度为8的倍数以外的情况下(nPSW%8为真的情况下),对于horSplitFlag而设定O。
[0337]视差排列导出部30941在标记minSubBlkSizeFlag为O的情况下,根据纵深值来导出子块尺寸。图13是表示根据纵深值来导出子块尺寸的方法的图。如图13所示,根据预测块的角部的4点(TL、TR、BL、BR)的比较来导出子块尺寸。具体而言,在将预测单元的左上端(TL)的坐标的纵深图像的像素值设为refDepPelsPO、将右上端(TR)的像素值设为refDepPelsPl、将左下端(BL)的像素值设为refDepPelsP2、将右下端(BR)的像素值设为refDepPelsP3的情况下,判定如下的条件式(horSplitFlag)是否成立。
[0338]horSplitFlag = (refDepPelsP0>refDepPelsP3) = = (refDepPelsPl >refDepPelsP2)
[0339]其中,对于horSplitFlag的导出,也可以利用变更了符号的以下的式子。
[0340]horSplitFlag = (refDepPelsP0<refDepPelsP3) = = (refDepPelsPl <refDepPelsP2)
[0341]其次,视差排列导出部30941利用如下的式子来设定子块的宽度nSubBlkW和高度nSubBlkHo
[0342]nSubBlkff=horSplitFlag?8:4
[0343]nSubBlkH=horSpl itFlag?4: 8
[0344]以上的视差排列导出部30941的动作等效于如下。在预测单元的高度nPSH为8的倍数以外的情况下(nPSH%8为真的情况下),如下式那样,对于子块的宽度nSubBlkW而设定8,对于子块的宽度nSubBlkH而设定4。
[0345]nSubBlkff=8
[0346]nSubBlkH=4
[0347]除此之外,在预测单元的宽度nPSW为8的倍数以外的情况下(nPSW%8为真的情况下),如下式那样,对于子块的宽度nSubBlkW而设定4,对于子块的宽度nSubBlkH而设定8。
[0348]nSubBlkff=4
[0349]nSubBlkH=8
[0350]在除此之外的情况下(预测单元的高度和宽度均为8的倍数的情况下),视差排列导出部30941利用上述条件式,并利用纵深图像的像素值来设定子块的宽度与高度。
[0351]其次,视差排列导出部30941按照预测单元内的每个子块,将以块的左上像素为原点的情况下的子块的宽度n SubB I kW和高度n SubB I kH、分割标记sp I i tF I ag、纵深图像refDepPels,对应块的坐标(xTL,yTL)、参照图片索引ref I dxLX表示的参照图片所属的层的视图1drefViewIdx,输出至纵深DV导出部351,由此从纵深DV导出部351之中获得视差排列disparitySampleArray。视差排列导出部30941将导出的视差排列disparitySampleArray输出至参照图像插补部30922。
[0352](纵深DV导出部351)
[0353]纵深DV导出部351将纵深DV变换表格DepthToDisparityB、子块的宽度nSubBlkW和高度nSubBlkH、分割标记splitFlag、纵深图像refDepPels、纵深图像refDepPels上的对应块的坐标(xTL,yTL)、和视图1drefViewIdx作为输入,通过以下的处理来导出作为源自纵深的位移矢量的水平分量的视差排列disparitySamples。
[0354]纵深DV导出部351按照构成预测单元的每个子块来导出纵深的代表值maxDep。
[0355]纵深DV导出部351在将与子块的左上的预测块(xTL,yTL)的相对坐标设为(xSubB,ySubB)的情况下,针对子块的左端的X坐标χΡΟ、右端的X坐标xPl、上端的Y坐标yPO、和下端的Y坐标yPl,利用下式来设定。
[0356]xP0 = Clip3(0,pic_width_in_luma_samples_l ,xTL+xSubB)
[0357]yP0 = Clip3(0,pic_height_in_luma_samples_l ,yTL+ySubB)
[0358]xPl=Clip3(0,pic_width_in_luma_samples_l,xTL+xSubB+nSubBlkff-1)
[0359]yPl=Clip3(0,pic_height_in_luma_samples_l,yTL+ySubB+nSubBlkH-1)
[0360]其中,卩;[(3_?^(11:11_;[11_1111]1&_8&11^)168和卩;[(3_1161区111:_;[11_1111]1&_8&111卩168分别表征图像的宽度与高度。
[0361 ] 其次,纵深DV导出部351导出子块的纵深的代表值maxDep。具体而言,对于作为子块的角部及其附近4点的纵深图像的像素值作€06口?618|^?0][7?0]、作€06??618|^?0][yPl]、refDepPels[xPl ] [yPO]、refDepPels[xPl ] [yPl ]的最大值的代表纵深值maxDep,通过下式来导出。
[0362]maxDep = O
[0363]maxDep=Max(maxDep,refDepPels[xPO][yPO])
[0364]maxDep=Max(maxDep ,refDepPels[xPO] [yPl ])
[0365]maxDep =Max(maxDep,refDepPeIs[xPl][yPO])
[0366]maxDep =Max(maxDep,refDepPeIs[xPl][yPl])
[0367]此外,函数Max(x,y)是如果第I自变量X为第2自变量y以上则返回x,否则返回y的函数。
[0368]纵深DV导出部351利用代表纵深值maxDep、纵深DV变换表格DepthToDisparityB和位移矢量(NBDV)所表示的层的视图1 dr ef Vi ewl dx,按照子块内的每个像素(x,y) (x取O?nSubBlkW-Ι,y取O?nSubBlkH-Ι的值),通过下式A导出作为源自纵深的位移矢量的水平分量的视差排列disparitySamples。
[0369]disparitySamples[x][y]=DepthToDisparityB[refViewIdx][maxDep]..(式A)
[0370]纵深DV导出部351将导出的视差排列disparitySamples作为DoNBDV而输出至位移矢量导出部30363。纵深DV导出部351还作为子块的位移矢量而输出至参照图像插补部30942。
[0371 ]参照图像插补部3 O 9 4 2根据从视差排列导出部3 O 9 4 I输入的视差排列disparitySampleArray和从帧间预测参数解码部303输入的参照图片索引ref IdxLX来导出预测块 predSamples。
[0372]参照图像插补部30942按照预测单元中的每个像素,从参照图片索引refIdxLX所指定的参照图片refPic之中,提取自其像素的坐标使X坐标偏离了对应的视差排列也8口31';^5^311^|1641^^7的值之后的位置的像素。考虑视差排列(1丨8。31';^5^311^|1641^^7为1/4像素的小数精度,参照图像插补部30942在预测单元的左上端的像素的坐标为(xP,yP)、预测单元中的各像素的坐标为(xL,yL) (xL取O?nPbW-1,yL取O?nPbH_l的值)的情况下,通过下式,导出从参照图片refPic之中提取的像素的整数精度的坐标(xlnt,ylnt)、像素(xL,yL)所对应的视差排列 disparitySampleArray[xL] [ [yL]的小数部分 xFrac、yFrac。
[0373]xIntL = xP+xL+di spar i tySamp Ies [xL] [yL]
[0374]yIntL = yP+yL
[0375]xFracL = disparitySamples[xL] [yL]&3
[0376]xFracL = 0
[0377]其次,参照图像插补部30942针对预测单元的各子块来进行与运动位移补偿部3091相同的插补像素导出处理,将插补像素的集合设为插补块predPartLX。参照图像插补部30942将导出的插补块predPartLX作为预测块predSamplesLX而输出至加法运算部312。
[0378](图像编码装置的构成)
[0379]接下来,说明本实施方式所涉及的图像编码装置11的构成。图20是表示本实施方式所涉及的图像编码装置11的构成的框图。图像编码装置11构成为包含:预测图像生成部101、减法运算部102、DCT/量化部103、熵编码部104、逆量化/逆DCT部105、加法运算部106、预测参数存储器(预测参数存储部、帧存储器)108、参照图片存储器(参照图像存储部、帧存储器)109、编码参数决定部110、预测参数编码部111。预测参数编码部111构成为包含:帧间预测参数编码部112以及帧内预测参数编码部113。图像编码装置11是对由多个视点图像以及纵深图像构成并由基础层以及增强层构成的编码数据进行编码的图像编码装置。
[0380]预测图像生成部101针对从外部输入的层图像T的每个视点的各图片,按照作为对该图片进行分割而获得的区域的每个块,来生成预测图片块predSamples。在此,预测图像生成部101基于从预测参数编码部111输入的预测参数,从参照图片存储器109之中读出参照图片块。从预测参数编码部111输入的预测参数例如为运动矢量或者位移矢量。预测图像生成部101读出以编码预测单元为起点而位于被预测的运动矢量或者位移矢量所表示的位置的块的参照图片块。预测图像生成部101针对读出的
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1