熊 俊,周 军,汤 毅
(1.上海交通大学图像通信与网络工程研究所,上海 200240;2.上海文广科技集团,上海 200072)
随着3D显示技术的飞速发展与日益进步,市场上出现了越来越多的3D电视、3D显示器、3D投影机等3D显示设备[1],而3D照片、3D游戏、3D视频的渐渐普及也体现了3D显示技术已成为现代显示技术的必然趋势。
在3D图像显示技术不断发展和成熟的同时,3D内容插入技术也迫切需要革新。这里的插入的内容[2]是指为了丰富观看者需要在图像中插入的字幕、选单、图标[3]等。拿字幕来说,传统的2D字幕只是将字幕覆盖在图像上,而对于3D图像,在3D视频的播放过程中,立体图像会不断的有景深的变化,如果像2D视频一样直接将字幕显示在银屏上,那么随着视频的播放,观看者在观看时往往会很难同时看清图像和字幕,因为人眼视觉的双目会聚与焦点会产生不一致[4],并且长时间观看会产生视觉疲劳问题,所以在插入3D字幕时一定要考虑立体图像的深度变化。考虑到观看者观看字幕的习惯与图像深度变化等因素,本文提出了一种3D字幕的混合插入技术,将字幕以3D的显示效果添加到立体图像中,并根据场景的情况来确认景物与3D字幕的遮挡关系,解决3D图像中字幕与图像深度混乱的问题,能达到更好的立体观看效果。
在二维视频上插入字幕,只是简单地将其覆盖到图像上,已添加的字幕在视觉上遮挡住了原始图像中的物体,所以字幕会相对于图像上的其他物体显得隔观看者更近。而3D视频是基于立体视觉系统的,为人的双眼提供了一个立体图像对,这个立体图像对中相同物体位置的视差会在人脑中产生一定的深度。在这种情况下,仅仅在左图和右图上叠加字幕是不够的,因为这时的立体图像具有深度信息,它们的深度不仅通过视觉遮挡来反映,而且与左右图像的视差有关。因此,当在3D图像上插入字幕时,要确认字幕和景物的遮挡关系来保证视差和遮挡关系的一致性。为了达到这个目标,有必要知道图像中不同景物的深度。当字幕的深度小于图像的深度时,字幕隔观看者更近,这时字幕会遮挡住图像;当字幕的深度小于图像的深度时,图像隔观看者更近,这时字幕会被图像遮挡住。因此,为了得到一个合适插入的3D字幕,必须要知道图像的深度信息。
现有的立体字幕主要是将字幕直接放置在立体图像的最前面,字幕自始至终浮现在银幕前,并没有考虑到立体图像内容的景深变化,会形成位于屏幕上的字幕遮挡住了浮现在屏幕之前图像的情况,观众很难同时看到字幕和内容,并且观众同时观看立体图像和字幕时,眼睛聚焦不断改变,会感到累甚至头昏眼花,没有解决视觉疲劳问题,所以立体图像强烈的纵深感是添加3D字幕时必须考虑的因素。
文献[5]提出了一种3D视频中立体字幕叠加技术,该方法将3D字幕以立体图像对最大的负视差添加到立体视频中,使得字幕一直遮挡住图像,浮现在图像之前,相对于图像离人眼最近。这样即能将字幕以3D的形式显示在屏幕之前,同时也解决了3D字幕会对立体图像的内容造成干扰的问题。但是考虑到在播放过程中图像会出现浮现在眼前的特效,如果此时字幕依然出现在图像之前,将会非常严重的影响观众的观看;另外字幕的深度随着场景深度的变化不断变化,会容易出现字幕变化不连贯的现象;最后,人们习惯了观看大小和位置固定的字幕,如果字幕在视频中有太多的变化,会有喧宾夺主的感觉,所以这种3D字幕的添加方法也有很多弊端。
本文在3D视频中插入3D字幕是立体实现和增强实现两个过程。在立体实现中,将字幕以一个确定的负视差插入到左右视图中,以前景的立体效果显示在观看者的眼前;在增强实现中,将字幕融入到场景中,字幕与景物的遮挡关系会根据场景的深度变化,从而解除字幕与场景深度混乱的问题,达到字幕与场景虚实结合的效果。
本文在3D视频中插入3D字幕的方法可以理解成是立体实现和增强实现两个过程,如图1所示。立体实现是将字幕以3D形式显示在观看者眼前,字幕会立体地浮现在屏幕之外;增强实现是为了将虚拟的3D字幕融入到真实的场景中,考虑到场景的深度不断的变化,通过比较场景与字幕的深度,来得出字幕与场景相互遮挡的关系,然后根据这个遮挡关系对图像进行修复,从而解决字幕和场景深度混乱的问题。
图1 3D字幕的实现流程
所谓3D字幕,就是在播放3D视频的过程中,字幕也以立体的形式显示出来,与传统的2D字幕不同,2D字幕只是将字幕覆盖在图像上面,这样字幕自始自终都固定在屏幕上,因此为了实现3D字幕,不只是将字幕简单的覆盖在图像上,而需要考虑字幕浮出屏幕的深度问题。3D图像的深度由立体图像对中同一物体的视差所决定,所以为了让字幕以立体的形式浮现在显示屏上,需要将字幕以一定的视差添加到立体图像对上。
公式(1)、(2)以相似三角形的关系显示了图2a中正视差与深度的关系;公式(3)、(4)显示了图2b中负视差与深度的关系。图中的红色圆形为物体在人眼中显示的实际深度位置。式中:b为左右眼的距离,d为左右两幅图的视差值大小,R为每个单位距离上像素的个数,h为人眼与显示屏的距离,x为物体会出现在显示屏之外深度的距离。
图2 正视差和负视差时的深度情况
由公式(1)~(4)以及图2可以看出,左右立体视图上具有正视差的场景会以远景的形式出现,在人眼观看时会呈现在屏幕后方,而左右立体视图上具有负视差的场景会以近景的形式出现,在人眼观看时呈现在屏幕前方,而零视差的场景就会直接显示在显示屏上面。因此,添加3D字幕时,为了让字幕能够浮现在屏幕之前,需要将同样的字幕以一定的负视差分别添加到立体图像对中,即左图中的字幕相对于右图中的字幕会在水平方向偏右。不过视差管理要求考虑长时间观看3D可能引发人体不良反应,因此视差的容许范围很小,比如好莱坞的3D电影负视差时画面水平方向的2%以内[6]。所以将字幕以一定负视差添加到左右立体视图上去能够得到浮现在屏幕之外的3D字幕。
图3为3D字幕立体实现后的效果图和视差图,当字幕以一定的负视差添加时,字幕会以前景的效果显示出来,如图3a所示。但是由图3b可以看出,在字幕区域里,灰度值较小的字幕遮挡住了灰度值较大的景物,这种不正常的遮挡现象会造成观看时本来位于景物后面的字幕会到图像前面来,造成观看时视觉混淆,戴上立体眼镜看图3a,就会发现本该位于木柱和蜻蜓翅膀后面的字幕反而遮挡住了这些景物,所以为了达到更好的观看效果,仅仅对字幕进行立体实现是不够的,还需要正确地处理字幕和场景的相互遮挡关系。
图3 3D字幕的立体实现图与视差图
增强实现是将虚拟的物体叠加到真实的场景中,让虚拟的物体与真实的场景共同存在。在3D字幕的增强实现中,虚拟的3D字幕将会被插入到图像的场景中。文献[7]阐述了遮挡和视差的关联性,以及观看者在获得场景的深度信息时怎样防止它们的不一致性。融合虚拟和真实的物体需要一个理想的环境,文献[8]的研究表明了视觉的效果与物体的相对深度有关,观看者往往对在显示屏附近的深度很敏感,而这种敏感随着物体在重建在显示屏前或后而减少。所以要想将3D字幕融入到立体图像中,需要解决字幕与图像场景相互遮挡的问题。
图4为结合公式(2)、(4)所得的视差与深度的关系图。可见,视差与深度成正相关关系,当字幕的深度小于图像的深度,离人眼更近时,字幕会遮挡住图像,而反过来,当字幕的深度大于图像,图像离人眼更近时,图像会遮挡住字幕。再结合公式(2)、(4)与图4,当左右视图同一场景具有正视差时,深度大小与正视差大小呈正相关关系,而当左右立体视图中的同一场景为负视差时,深度大小与负视差的大小呈反相关关系,所以字幕与图像场景的相互遮挡问题可以由比较它们的深度问题归结为比较它们的视差问题。因为将左右字幕以负视差分别添加到左右视图上,所以负视差比字幕视差宽的场景会遮挡住字幕,负视差比字幕视差窄的场景会被字幕遮挡。
图4 与深度的关系图
2.2.1 基于SAD算法的立体匹配获得校准的视差图
本文在添加3D字幕时,以一个确定的值来作为负视差,所以需要得到左右视图中场景的视差值来与字幕的视差值进行对比。这里利用SAD算法来得到立体图像对的视差图。SAD算法是以左目图像的源匹配点为中心,定义一个窗口,统计其窗口的灰度值的和,然后在右目图像中逐步计算其左右窗口的灰度和的差值,最后搜索到的差值最小的区域的中心像素,即为匹配点。
由SAD匹配算法得到的视差图可能含有一些需要被消除的孤立噪声,如图5b中的白点。可以用中值滤波来处理这些噪声。图5为未进行滤波和进行了滤波的视差图的比较。在使用中值滤波时,相对大的窗口选择会使图像内容变得更连贯,所以对于插入的3D字幕来说,为了使字幕在场景中的遮挡关系具有连贯性,往往选择比较大的窗口进行中值滤波。
图5 测试图、视差图与滤波后的视差图
图5a,5b,5c分别为原始的测试图、由SAD算法的到的视差图、经过中值滤波后的视差图。经过滤波后的视差图中景物的灰度值变化连贯,适合添加3D字幕,保证字幕与景物遮挡关系的连贯性。
2.2.2 去除被遮挡字幕的图像修复
图像修复是指对受到损坏的图像进行修复或者去除图像中的多余物体[9]。图像修复者需要采取最恰当的方法恢复图像的原始状态,同时保证图像达到最理想的艺术效果。本文根据上面得到的滤波后的视差图,将场景视差值与字幕的视差值进行对比,然后对已添加立体字幕的左右图像对进行图像修复。结合公式(2)、(4)与图4,可以得到视差与深度的关系,字幕会遮挡住深度大于它的场景,也就是字幕会遮挡住视差值大于字幕视差的场景。对已经进行字幕立体实现的图像以原始视差图为基准进行视差值的搜索,对于景物遮挡住字幕的区域需要进行图像修复,以让景物遮挡住字幕。这里本文将所需修复的区域用原图的像素点来替代,得到结果图。
图6为去字幕后的红蓝效果图与它的视差图,图6a为对图3a进行增强实现的效果,在图中,部分字幕被场景中蜻蜓的翅膀和木柱所遮挡住,而在它的视差图图6b中,蜻蜓翅膀和木柱的灰度值较大,它们遮挡住了字幕,而字幕遮挡住了灰度值最小的背景。经过去除遮挡字幕的图像修复,在图中字幕区域里,字幕与场景的灰度值都呈现了正常的遮挡关系,没有错误遮挡的现象。
图7是通过本文介绍的方法添加3D字幕的的实验结果左右双目图。图6a为图7的红蓝立体图。图中蜻蜓的翅膀和木桩的负视差绝对值大于字幕的负视差绝对值,据图4可得它们相对于字幕隔观看者更近,所以翅膀和木桩会遮挡住字幕。戴上3D眼镜观看图6a,除了会看到字幕的立体效果外,还能看到蜻蜓和木桩遮挡住字幕,位于字幕前的立体效果。
图7 本实验的左右双目图
本文提出了一种在3D图像中插入立体字幕的新的方法。首先将字幕以一定的负视差添加到左右视图上,使字幕产生立体效果,然后考虑到遮挡和视差的关系是避免视觉不适的关键因素,通过对比3D字幕的视差与景物的视差,确定字幕与景物的遮挡关系,并进行图像修复,将3D字幕融入到图像的场景中,得到字幕与场景虚实结合的图像。这种插入3D字幕的技术还可以用于在3D电视中插入图标、选单等内容,能够有利于观众更真实地观看显示的3D效果。
[1]中关村在线.未来是3D时代?细数3D技术的发展[EB/OL].[2012-01-01].http://vga.zol.com.cn/175/1759743.html.
[2]BLONDE L,DOYEN D,BOREL T.3D stereo rendering challenges and techniques[C]//Proc.44th Conference on Information Sciences and Systems.Princeton:IEEE Press,2010:1-6.
[3]RODRIGO J A,JIMENEZ D,MENENDEZ J M.Real-time 3-D HDTV depth cue conflict optimizatio[C]//Proc.IEEE 2011 International Conference on Consumer Electronics.Berlin:IEEE Press,2011:5-9.
[4]王爱华,王琼华.光栅式自由立体显示器概述[J].现代显示,2009(10):14-17.
[5]梁丽,禇晶辉,张小佩,等.一种3D视频中立体字幕叠加技术[J].电视技术,2011,35(20):32-34.
[6]奕悦.3D 电视踏上征途[EB/OL].[2012-04-01].http://www.zongyiweekly.com/list0215576.html.
[7]DRASCIC D,MILGRAM P.Perceptual issues in augmented reality[C]//Proc.SPIE,Stereoscopic Displays VII and Virtual Systems III:vol 2653.California:SPIE Press,1996:123-143.
[8]DE SILVA V,FERNANDO A,WORRALL S,et al.Sensitivity analysis of the human visual system for depth cues in stereoscopic 3-D displays[J].IEEE Trans.Multimedia,2011,13(3):498-506.
[9]ANUPAM,GOYAL P,DIWAKAR S.Fast and enhanced algorithm for exemplar based image inpainting[C]//Proc.Fourth Pacific-Rim Symposium on Image and Video Technology.[S.l.]:IEEE Press,2011:325-330.