IV. 3D-HEVC编码技术
A. 视差演算
为了找到一个参考块,会在CU级进行视差的演算。首先,要根据参考视角(reference view - RV)的VOI和预测视差向量(predicted disarity vector -PDV)用于视角间预测。PDV表示当前块与参考块之间的空间偏移。此偏移是相对而言于当前CU的位置,并位于参考视角中图象中。下述参考视角序号索引(RVOI)与相关的PDV被称为预测视差信息(PDI)。下面介绍如何计算纹理层中的PDI。为了简单操作,第个条带深度层的PDI被当作常量。对应的参考视角和视差向量按深度值为128推出(当像素精度为8位时)。
1)邻块视差向量(NBDV):NBDV操作不参考深度层,这样就只有纹理信息被用来预测PDI。此时,PDI是从时域或空域中的相邻块中推出的。
时域相邻块位于两个不同的图像中。第一个图指同位置的参考图像,即通常所指用于时域运动向量预测(TMVP)时的图像。第二个图像在当前图像的时域参考图像中选得。选择的原则是,参考图像中应当最可能用DMV来编码。这两个时域相邻块被告记作C(t1)和C(t2),即与当前CB坐标相同但位于上述所选时域相邻帧的对应块。如图2所示。空域相邻块在当前图像中的位置A1和B1,即相邻于当前块PB的左下点和右上点的块。
2)利用深度信息修正:因此,由NBDV推出的PDI用来在深度图中指明当前块对应的深度图像块。进而,此CU的PDV会由修正的视差向量替代。这个新的视差向量是由对就深度块的四个角中的最大深度值决定的。
B.分块语法预测
3D-HEVC引入了一个新的工具:受限四叉树(quadtree limitation - QTL)。它用相同位置的纹理CU的语法元素来预测深度CU的分块情况。在设计标准时,选择QTL不用于I帧和IRAP图像。
C.运动预测
附加的备选包括:纹理备选(T),视间(IV)和滑动视角间(IVs)备选,视角合成预测(VSP)备选,视差信息(DI)和滑动视差信息(DIs)备选。
1)用于合并的扩展时域运动向量观测(TMVP):
2)视差信息(DI)备选:
3)子块运动预测:
4)视间备选:
5)纹理备选:
6)视域合成预测(VSP):
D.帧间像素点的预测
3D-HEVC以三种技术扩展了纹理层的帧间预测:残差预测利用了不同视角或AU间预测误差的相关性。帧间像素预测的自适应权重在亮度补偿时采用。基于深度的块分割(DBBP)根据由深度CB导出的子块来组合纹理PB的两种预测。对深度编码时,运动补偿被简化。
1)残差预测(RP)
a) 视域残差预测:b) 时域残差预测:c) 一些限定:
2)亮度补偿(IC):亮度补偿的目的是为了在不同视角下图像存在亮度偏差时提高层间预测的质量。 这时,我们用一个缩放因子来补偿预测值。IC会分别对一个PB的每个方向的视间预测结果(在双向预测时会使用两次)。为了减少复杂性,IC可以定义为只应用于单个PU,不作用于RP。
缩放与补偿值通过计算获得。计算时会对参考图像与当前图像的一组像素点作匹配。
3)基于深度的块分割(DBBP):DBBP利用已经编码的深度图像来预测当前块的分割信息,从而提高其依赖的纹理图像的压缩效率。
4)整像素运动:分数像素插值对深度图中锐利的边缘会产生振铃效应。因此,3D-HEVC对深度层只支持整像素精度的运动预测。
D.深度图的帧内预测
HEVC单层编码时采用的帧内预测模式在3D-HEVC中保持不变。除此之外,一种新的跳跃(Skip)模式和三种新的预测模式被加入。这些新的预测模式分别是Intra_Single,Intra_Wedge,和intra_Contour模式。这些新加入的模式只对深度层的帧内预测有效。
1)Intra_Wedge和Intra_Contour:Intra_Wedge和Intra_Contour模式在PU级别由两个标志定义。第一个标志用来指示是否这两个新的模式而不是传统的帧内预测模式被采用;另一个标志用来指示哪个模式被采用。
Intra_Contour模式中,一个PB的子分割采用同一个视域和AU的纹理图像相同位置的块利用分量间预测获得。相同位置的纹理块的四个角的像素值的平均值被用做阈值来分割图像块。图像块中各像素值与些阈值比较,从而产生SBP的二值图。二值化的结果可能会导致SBP不连续。
2)帧内跳跃(Skip)和Intra_Single:当帧内跳跃模式被采用时,CU中只包含三个语法元素:跳跃标志为0,帧内跳跃标志为1,以及一个索引值。
F.深度图的残差编码
DC的偏差编码采用深度查找表(DLT)。这样可以更好的利用深度值通常比较分散这一特点。
1) DC(-Only)编码:
2) 深度查找表(DLT):