[0002] 在过去几年里,随着3D视频服务需求的增加,3D视频的展现、压缩和传输成为一个新的有挑战的研究课题。多视角加深度图(MVD)的视频格式是多种有发展前景的视频表现形式中的一种。由3D视频编码扩展开发联合协作组(JCT-3V)提出的高质量视频编码的3D扩展(3D-HEVC)是对于压缩MVD数据的一种新兴视频编码标准。
[0003] 由于深度图具有尖锐的边缘和大量接近平滑的区域,故深度图编码和纹理图编码具有很大的差异性。如果使用传统的纹理图帧内预测模式对深度图进行编码,这将导致边缘的失真以及整体合成效果不好。因此,JCT提出了4种新的针对深度图帧内预测模式DMMs,分别是一个跳跃模式和三个新的预测模式Intra Single、Intra Wedge和Intra Contour模式。
[0004] 帧内预测的步骤是1.遍历所有的预测模式,得到各种模式下的残差信号,再对残差信号进行Hadamard变换计算SATD值,2.利用SATD值计算每种预测模式的率失真代价,选取率失真代价最小的几种模式为预测模式集,3.将已编码相邻块的预测模式补充到预测模式集中,4.遍历模式集合中的所有模式,并对残差信号进行熵编码,计算率失真代价,5.选取最优的预测模式作为该预测块的最优模式,6.当亮度块的模式选定后,把该模式以及DC、planars、水平方向、垂直方向模式作为色度块的候选列表,选取最优模式。而对于深度图编码已经有了原来35种纹理图预测模式又加入了新的DMMs的帧内预测,这样在选择最优的几种模式中将很大程度增加编码的计算复杂度和编码时间。
[0005] 离散余弦变换(DCT)是与傅立叶变换相关的一种变换,其中II类DCT经常被用在信号和图像处理,特别是有损压缩,因为它具有很强的“能量集中”属性。对于灰度值缓慢变化的像素块来说,经过DCT后绝大部分能量集中在左上角的低频系数中;相反,如果像素块中包含较多细节纹理信息,则较多能量分散在高频区域。虽然随着变换尺寸的增大,DCT去相关性能越来越好,但是提升幅度逐渐变缓,因为余弦函数的存在使得DCT过程必须使用浮点数,这样不可避免地带来舍入误差。针对上述问题,从H.264/AVC标准开始采用整数DCT,整型数的使用使得DCT的运行速度大为提高。H.265/HEVC使用了4种不同尺寸的整数DCT,分别为4*4、8*8、16*16和32*32。
[0006] 参考文献:
[0007] [1]Tech G,Chen Y,Müller K,et al.Overview of the Multiview and3D Extensions of High Efficiency Video Coding[J].IEEE Transactions on Circuits&Systems for Video Technology,2016,26(1):35-49.
[0008] [2]Gu Z,Zheng J,Ling N,et al.Fast Depth Modeling Mode selection for 3D HEVC depth intra coding[C]//IEEE International Conference on Multimedia and Expo Workshops.IEEE,2013:1-4.
[0009] [3]Zhang Q,Yang Y,Chang H,et al.Fast intra mode decision for depth coding in 3D-HEVC[J].Multidimensional Systems&Signal Processing,2016:1-24.发明内容
[0010] 本发明的目的是鉴于图像DCT矩阵左上角和右下角的能量分布对深度图帧内预测模式选取的重要性,提出一种基于DCT的3D-HEVC快速帧内预测决策方法,该方法将视频中的一帧图像进行DCT变换,对生成的DCT矩阵选点判断。该方法具有计算复杂度低、编码时间短和视频重建效果好的特点。
[0011] 为了实现上述目的,本发明的技术方案包括如下步骤:
[0012] 步骤1.基于3D-HEVC,在进行预测块划分后,首先得到该预测块在35种传统帧内预测模式下的残差信号,再对残差信号进行Hadamard变换计算SATD值,并利用SATD值计算每种传统预测模式的率失真代价;
[0013] 步骤2.对不同大小的PU块,利用整数DCT公式计算当前预测块的DCT系数矩阵,保存为一个矩阵;
[0014] 步骤3.若当前预测块尺寸为4*4、8*8大小,则对当前系数块的左上角系数进行判断,首先判断最左边的块系数,再判断上面的块系数,若某个块系数小于阈值则直接判断该预测块具有边缘,并且跳转步骤5,若所有块系数大于阈值,则直接判断该预测块没有边缘,并且跳转步骤5;若当前预测块尺寸为16*16、32*32大小,则对当前系数块的左上角系数进行判断,若某个块系数小于阈值则直接判断该预测块具有边缘,并且跳转步骤5,若所有块系数都大于阈值,则继续判断右下角系数是否为零,跳转步骤4;
[0015] 步骤4.若当前预测块为16*16大小,则只对当前系数块的右下角系数中的坐标的系数进行判断:若该系数不是零则直接判断该预测块具有边缘,跳转步骤5,若该系数为零则认为该预测块没有边缘,继续下一步计算;若当前预测块为32*32大小,则对当前系数块的右下角系数进行判断:首先判断最右下角的块系数是否为零,再判断另外两个系数块是否为零,若某个块系数不是零则直接判断该预测块具有边缘,跳转步骤5,若所有块都是全零系数块,则认为该预测块没有边缘,继续下一步计算;
[0016] 步骤5.若预测块没有边缘则不计算该预测块在DMMs下所有模式的率失真代价,反之则计算该预测块在DMMs下所有模式的率失真代价,并将DMMs模式加入预测候选列表;
[0017] 步骤6.从预测候选列表中选取率失真代价最小的几种模式为预测模式集,并且将当前预测块的已编码相邻块的预测模式补充到预测模式集中,得到最终的预测模式集合rd-cost;
[0018] 步骤7.遍历预测模式集合rd-cost中的所有模式,并对每个预测模式的残差信号进行熵编码,并且计算每个预测模式下的率失真代价RD-Cost;从预测模式集合rd-cost中的所有模式中选取率失真代价最小的预测模式,即最优的帧内预测模式作为该预测块中亮度块选取的最优模式,并保存最优模式的所有数据;通过得到当前预测块的最优帧内预测模式对当前预测块进行变换、量化;
[0019] 步骤8.当预测块中亮度块选取的最优模式式选定后,把该最优模式以及传统帧内预测模式种的DC、planars、水平方向、垂直方向模式作为预测块中色度块的候选列表,同样遍历预测模式候选列表,计算预测模式候选列表中每个预测模式的率失真代价,选取率失真代价最小的预测模式,即最优的帧内预测模式作为色度块的最优模式;通过得到的最优帧内预测模式对当前预测块进行变换、量化;
[0020] 步骤9.继续下一个预测块的帧内预测。
[0021] 步骤1所述的具体实现如下:
[0022] Hadamard矩阵:
[0023]
[0024] SATD是指将残差信号进行Hadamard变换后再求各元素绝对值之和,设某残差信号方阵为X,则SATD为:
[0025]
[0026] 其中,M为方阵的大小,H为归一化的M*M Hadamard矩阵;
[0027] 率失真代价=SATD+λ*ModeBits
[0028] 其中,λ由限定码率ModeBits预测编码单元的量化参数映射关系确定。
[0029] 步骤2所述的整数DCT公式如下:
[0030]
[0031] 其中,
[0032] H.265/HEVC使用了4种不同尺寸的整数DCT,分别为4*4、8*8、16*16和32*32;所述的H.265/HEVC中4*4、8*8、16*16和32*32整数DCT公式为:
[0033]
[0034] 其中:X为该预测块的像素矩阵,E为缩放比例
[0035]
[0036]
[0037] H16和H32变换矩阵参见H.265/HEVC标准;整数DCT对当前PU块进行DCT转换,生成一个DCT系数矩阵。
[0038] 步骤3所述的左上角系数判断是否大于阈值varThreshold,具体如下:
[0039] threshold=max((pcCU→getP(0))>>3)-1,3); (1)
[0040] varThreshold=threshold*threshold-8; (2)
[0041] 其中,pcCU→getQP(0)表示获得当前预测模块的量化参数值;
[0042] 如果大于阈值,则判断DCT系数矩阵右下角系数是否为0,否则就判断该预测块有边缘。
[0043] 本发明的有益效果如下:
[0044] 本发明使用DCT应用于三维视频编码,利用DCT方法判断在深度图编码下DMMs是否要加入候选列表,并且在视频码率基本不变的情况下有效的减少了编码时间,避免了计算冗余模式,减少计算量。DCT具有“能量集中”的特性,并且能够很好地区分图像边缘。同时整数DCT矩阵保留了更多的精度,更接近于浮点DCT,能够获得更好的性能,H.265/HEVC不同大小的变换较为统一,利用这一特性,可为不同大小的整数DCT设计出具有统一形式的快速蝶形算法,大幅提高了预测块像素矩阵转变为DCT系数矩阵的速度。