金 鉴,卓东风,王安红
(太原科技大学数字媒体与通信研究所,太原 030024)
随着科技的发展,3D视频越来越多地走进人们的生活,不论是3D立体电影还是立体视觉会议都能为人们提供很好的立体沉浸感,而这种立体沉浸感是通过分别向两个眼睛提供不同角度的两个纹理视频源产生的,因此,3D视频相较于传统的视频方式(向两只眼睛提供相同的一个纹理视频源)具有更大的数据量,而随着自由视点视频概念的提出,要求为用户提供可任意转变观看角度的视觉感官,这就要求进行多个视点的信息采集和传输,从而对存储空间和传输带宽造成更大的压力。
针对这种情况,人们提出了基于深度图像的绘制方法(DIBR)[1-3],通过DIBR我们只需要传输一个视点的纹理信息以及其对应的深度信息就能绘制出任意视点的图像,而深度信息的数据量只有纹理信息的20%左右。因此,DIBR的提出,极大减少了3D视频的数据量,提高了3D视频的可行性。然而,深度图质量会很大程度影响DIBR的绘制质量,而深度图像的失真主要集中在前景与背景的过渡区域。对此,本文将提出一种基于前景的过渡像素深度划归方法,以此来解决过渡像素的深度失真问题,最终提高绘制质量。
在DIBR算法中,3D映射是极其重要的一步,它首先将已知参考视点图像中的像素及其对应的深度信息投影到世界空间中,然后再将世界坐标中的像素根据所要绘制的虚拟视点的位置信息投影到虚拟视点中。可以说,3D映射是平面图像和现实的立体场景之间相互转化的桥梁和纽带。而世界空间中同一点在不同视点的坐标也是不同的,称之为视差。本文主要针对1D平行模式(只存在水平方向的视差)进行分析,因此,给出1D模型的视差计算如公式(1)所示:
(1)
其中xL,xR分别为空间一点x(对应的深度值为d)在左右两个视点中的横坐标。L,fx分别为基线长度和相机的焦距长度。Znear,Zfar分别为场景的最近和最远景深[4],D即为视差。由于对固定的3D采集系统,L,fx,Znear,Zfar均为常量,因此,空间中某一点对左右两个视点的视差D与该点的深度d成正比。同时公式(1)也体现了3D映射的过程。
(2)
现实场景中往往会存在一些区域介于前景和背景之间,呈现过渡状态,如图1的绿色方框所示。这些区域通常只有一个像素大小的宽度,在纹理上表现为其色彩及亮度为前景与背景的内插值,我们称之为过渡像素。同理,其对应的深度图的深度值上也呈现这种过渡现象。一般而言,过渡像素的出现是由于在生成深度图过程中采用深度估计的时候,过渡像素所在位置很难找到对应的匹配点,因此只能采用类似于纹理信息的处理方法,将其深度值也估计为前景与背景深度的内插值。然而,这样的估计方法会在绘制虚拟视点时造成失真。通常,过渡像素存在于前景物体的左右两侧,为研究方便,本文假设用左原始视点指导绘制右虚拟视点,并且选择前景物体右侧的过渡像素为研究对象(左侧的过渡像素也同样存在该问题,为简化叙述将其省略)。
注:其中方框为局部放大图,过渡像素出现在桌子与背景墙之间,呈现为过渡颜色。
图1过渡像素示意图
Fig.1Illustrationofthetransitionalpixels
绘制失真主要体现在两方面:其一,过渡像素扩散到背景中,形成伪影;其二,背景像素侵蚀到前景中,改变前景物体的形状。如图2所示,(1)表示原始视点的纹理图,其中T表示过渡像素区域,其位置是贴近前景的,根据该纹理图(1)所绘制出的新虚拟视点的纹理图如(2)中所示,由于T区域的深度值介于前景和背景之间,因此在绘制出的新视点纹理图中T区域将会扩散到背景中,这种现象称为过渡像素的扩散。而在后期空洞填补完成后部分背景像素将会填充到原来过渡像素的位置,如(3)中所示,这种现象为背景像素的侵蚀。
注:(1)表示原始视点的纹理图;(2)表示用原始视点的纹理图绘制的新视点纹理图;(3)表示新视点完成空洞填补后的效果图。F(foreground),表示前景区域;B(background),表示背景区域;T(transition),过渡区域;H(holes),空洞区域。
图2绘制失真与过渡像素关系示意图
Fig.2Illustrationofthedistortiongeneratedbytransitionpixels
下面我们将详细分析造成这两种失真的具体原因。如图3所示,(1)表示原始视点的纹理图及其对应的深度图,在绘制新视点时,经过3D映射之后,由公式(1)、(2)的分析,深度连续的部分将会继续维持原来的位置状态出现在虚拟视点中,如图3(1)和3(2)F的像素,映射后像素将会继续维持原有的位置状态。相反深度不连续的部分将会出现分离,如图3(2)所示,F部分与T部分的分离,以及T部分和B部分的分离。分离之后将会产生空洞,如3(2)中白色像素所示,即为空洞H,空洞像素一般用背景像素填补,如3(3)所示。在原始视点中过渡像素(T)是紧紧挨着前景像素的,但在新视点中二者出现了分离,从而出现了绘制失真。而此类现象的出现是由于采用线性插值造成了过渡像素的深度误差。
前面提到了过渡像素的深度值为前景与背景深度的内插值,这样造成过渡像素的深度值不合理,从而在绘制虚拟视点时会出现绘制失真。本文针对该现象提出一种基于前景的过渡像素深度划归方法,即将过渡像素的深度值界定为前景像素的深度值,而不再是内插值,具体原因分析如下:
注:圆点表示像素,表示纹理图中的像素,与之对应的黑灰色像素代表其深度像素。
图3该图是图2的剖面图
Fig.3TheprofilefigureofFig.2
一方面,假如将过渡像素的深度值界定为背景像素的深度值,这样过渡像素与背景像素将会是连续的深度值,则过渡像素将被视为背景的一部分,映射后将会继续保持与背景像素紧紧相连,而由于前景与过渡像素间的深度不连续,原有的相邻的位置状态将不会继续维持,虚拟视点中前景与过渡像素之间将会出现空洞,其绘制后的结果如图4中所示,绘制失真仍然存在;另一方面,假如将过渡像素的深度值界定为前景像素的深度值,那么过渡像素的深度值将会与前景像素的深度值保持连续,3D映射后将会继续保持映射前相邻的位置状态,而在过渡像素与背景之间将会出现空洞,其绘制后的结果如图5所示,可以看到绘制出来的新视点的过渡像素仍然与前景物体紧紧相连,依然是前景物体延伸的一部分,而没有出现过渡像素的扩散以及背景像素的侵蚀的绘制失真问题。因此,将过渡像素的深度划归为前景物体更为合理,会消除绘制失真的问题。
图4 将过渡像素的深度值界定为背景像素的深度值绘制新视点时,绘制失真仍然存在。Fig.4 Rendering distortion still exists,when we treattransition pixels depth as background depth.
图5 将过渡像素的深度值界定为前景像素的深度值绘制新视点时,绘制失真消失。Fig.5 Rendering distortion disappears,when we treattransition pixels depth as foreground depth.
明确了过渡像素的深度划归问题之后,主要任务是判断出这些过渡像素的位置。本文提出了一种方法,即相邻像素的深度值做差,如果差大于一个阈值θ,那么其中的一个像素将会被判断为过渡像素。本小节主要介绍如何设定该阈值,通过阈值找到过渡像素的具体位置。
上一小节中介绍了参考视点中相邻的深度相同两点,在映射之后将会仍然保持原有的位置状态,而深度不连续的区域在映射后其原本的位置状态将可能发生变化,甚至会出现相邻的两点在映射后分离,产生空洞的现象。由于过渡像素处于前景背景交界,其深度值为前景与背景像素深度的内插值,映射后会出现过渡像素既与前景像素分离又与背景像素分离的现象。下面将结合3D映射公式对该现象进行分析。
由式(1)和式(2)做差可得式(3):
(3)
(4)
(5)
由式(4)可见,当相邻像素之差d-d′≥ΔZmax,在映射之后就会产生空洞。据此,将ΔZmax设为阈值θ,如果相邻三个像素的深度值之差均小于等于-θ(对于前景左侧过渡像素,为相邻三个像素的深度值之差均大于等于θ),那么中间的像素将会被判定为过渡像素。
具体做法如下,假设原始视点的深度图中像素的坐标为(x,y),其对应的深度值为d(x,y),与其相邻左侧和右侧像素的坐标分别为(x-1,y)和(x+1,y).如果满足式(6):
(6)
则位于坐标(x,y)的像素为前景的右侧过渡像素,如果满足式(7),则位于坐标(x,y)的像素为前景的左侧过渡像素。
(7)
通过上一小结的分析我们能够准确的判别出过渡像素的位置,本小结将对过渡像素的深度值进行重新划归,即将过渡像素的深度值重新赋值,实现基于前景的过渡像素深度的划归方法。具体做法如下:
如果该过渡像素满足式(6),即为前景右侧过渡像素,则将相邻左侧前景像素的深度值赋予过渡像素如式(8):
d(x,y)=d(x-1,y)
(8)
如果该过渡像素满足式(7),即为前景左侧过渡像素,则将相邻右侧前景像素的深度值赋予过渡像素如式(9):
d(x,y)=d(x+1,y)
(9)
总结我们所提出的基于前景的过渡像素深度划归方法,其整体流程如图6所示。
步骤1:将原始视点的深度图的相邻像素做差(后一个像素减去前一个像素,如式(6)和(7)所示);
步骤2:如果相邻三个像素的两个差值均小于等于-θ(即,满足式(6)的关系),则中间像素被判别为前景右侧过渡像素,与其相邻左侧像素为前景像素,其深度值将会被赋予该过渡像素,如式(8)所示;如果相邻三个像素的两个差值均大于等于θ(即,满足式(4)的关系),则中间像素被判别为前景左侧过渡像素,与其相邻右侧像素为前景像素,其深度值将会被赋予该过渡像素,如式(9)所示;
步骤3:经过处理的原始视点深度图将会作为新的原始视点深度图用来指导虚拟视点的绘制。
图6 基于前景的过渡像素深度的划归方法流程图Fig.6 Framework of foreground-based decision oftransition pixels depth
本文是基于VSRS虚拟视点绘制实验软件平台进行实验的。
实验采用了Microsoft提供的Kendo,Balloons序列,韩国GIST机构提供的Café序列,MPEG提供的Book Arrival序列,以及Philip公司提供的Mobile序列。
表1 未经处理的深度图指导绘制出的虚拟视点和结合本文方法处理后的深度图指导绘制出的虚拟视点质量对比Tab.1 Comparisons between virtual views rendered byusing the original depth image and the novel depth imagewith our algorithm respectively
实验主要分两部分:
其一,对已有的实验序列不经过任何处理,并在VSRS平台上绘制虚拟视点,记录结果;
其二,运用本文提出的方法对这些实验序列先进行预处理,具体处理方法参照2.4节所述,该过程用Matlab编程实现完成。之后用预处理过的深度序列在VSRS实验平台上进行绘制,并记录结果。
具体的实验结果如表1所示。
通过表1可以发现,我们的方法在Philip公司提供的Mobile序列中提升效果明显,这是由于该序列为虚拟序列,因此纹理图像能够与深度图像得到很好的对齐,可参考文献[6],本文方法能够很好的提升绘制视点的质量。而其余序列由于深度图是通过深度估计得出,纹理和深度得不到较好的对齐,因此本文的方法效果不是很显著(Café序列只提升了0.01 dB,其余三个序列持平)。
阐述了一种基于前景的过渡像素深度划归方法,其优点在于可以减少绘制过程失真问题。通过实验验证,该方法对于纹理与深度对齐的视频序列,其绘制虚拟视点的质量有显著的提升。
参考文献:
[1] PULLI K.Surface Reconstruction and Display from Range and Color Data[M].PhD dissertation,University of Washington,1997.
[2] OLIVEIRA M M,BISHOP G,MCALLISTER D.Relief texture mapping[C]∥Proceedings of the 27th annual conference on computer graphics and interactive techniques,Louisiana USA:2000.
[3] 刘占伟,安平,刘苏醒,等.基于DIBR和图像融合的任意视点绘制[J].中国图像图形学报,2007(10):1696-1700.
[4] 曾耀先.基于DIBR的多视点图像绘制方法研究[J].企业技术开发,2011(4):10-13.
[5] TIAN D,LAI P L,LOPEZ P,et al.View synthesis techniques for 3D video[J].Proceedings of applications of digital image processing XXXII,2009,7443:1-11.
[6] ZHAO Y,ZHU C,CHEN Z,et al.Boundary artifact reduction in view synthesis of 3D-video:From perspective of texture-depth alignment[J].Proceedings of IEEE transactions on broadcasting,2011(6):510-523.