具体实施方式
为解决现有立体显示技术的存在的问题,本发明提供了一种立体显示方法,该方法基于双视图格式的立体视频源,能够实时根据显示的需要生成额外的视图,以解决视图格式的兼容使用;并且,该方法能够实现实时的动态调整在同一显示屏幕上显示的各个视图之间的视差,从而提高立体显示质量。
以下以视频点播系统为例,对本发明提供的立体显示方法一种具体实施例进行详细介绍。
请参阅图1,其为本发明立体显示方法一种实施例的流程图。
该立体显示方法包括:
步骤S1,获取具有视差的初始视图。
在具体实施例中,本步骤可以获取立体视频源提供的至少两个立体视频视图,该立体视频源提供的立体视频视图可以为双视图格式,其包括第一视图和第二视图,比如,左视图和右视图。
请参阅图2和图3,其中图2为所述第一视图和第二视图的画面示意图,图3为所述第一视图和第二视图的合成示意图。在图2中,位于左侧的图示表示该第一视图,位于右侧的图示表示该第二视图。从图2可以看出,所述第一视图和第二视图之间具有一定的视差,在具体实施例中,所述第一视图和第二视图之间的视差是固定的。
本发明具体实施例中,该双视图格式的立体视频数据是以视频形式保存和传输的,且所述双视图格式的立体视频数据可以是由拍摄设备(比如相机)实时拍摄的,也可以是通过视频制作软件生成的。假设该视频点播系统采用DirectShow架构进行视频处理的,在本步骤中,可以实时获取每一帧视频数据,并从该视频数据中分离出第一视图数据和第二视图数据。
步骤S2,根据立体显示装置的类型,确定所述立体显示装置进行显示的视图数量,将获取的所述初始视图的数目调整到所述视图数量。
将初始视图的数量调整到立体显示装置进行显示的视图数量的方式包括减少或者增加所述初始视图的数量。
具体地,当初始视图的数量大于立体显示装置进行显示的视图数量,减少处于初始视图边缘的的视图。
当初始视图的数量小于立体显示装置进行显示的视图数量,以所述初始视图为基础,生成立体显示装置进行显示的视图数量与初始视图的数量之间差额的辅助视图。其中,生成所述辅助视图可以通过所述初始视图的视差对应关系,确定所述初始视图之间的匹配关系表,根据所述匹配关系表,插值生成。
举例说明,根据立体显示装置的类型,判断出系统所需要的视图数量N,并在所述初始视图包括的第一视图和第二视图基础上,对应地生成N-2个辅助视图。
对于不同类型的立体显示装置,由于成像原理的不同,其分别需要不同的视频源格式。比如,对于佩戴式立体显示装置,使用者在观看画面时需要佩戴立体显示眼镜,在该立体显示眼镜的辅助作用下,此类型立体显示装置为实现立体画面显示时,仅要求立体视频源具有双视图格式。而对于裸眼可视式立体显示装置,使用者可通过裸眼直接观看到立体画面,此类型的立体显示装置为实现立体画面显示,要求立体视频源提供多视图格式的视频数据。比如,为达到较佳的立体显示效果,普通的裸眼可视式立体显示装置需要同时在屏幕上显示九个视图,该九个视图之间分别具有视差效果,且每两个视图之间的视差大小满足特定的关系。
在本步骤中,通过检测如果判断出立体显示装置需要多视图格式的视频数据,则在其获取到的该第一视图和第二视图基础上,自动生成N-2个辅助视图。比如,可以根据预先设定的视图之间的视差对应关系,利用已有的两组视图信息,实时地生成N-2个辅助视图,满足立体显示装置对于多视图格式的显示需要。
应当理解,步骤S2为可选的,当检测出视频点播系统所采用的立体显示装置为基于双视图格式的立体显示装置时,本步骤可以省去。
步骤S3,根据立体显示装置的实际视频播放窗口的尺寸,调整各个初始视图之间的平均视差值。
具体地,立体显示装置通常是将具有视差的多个视图通过像素排列算法合成后输出到立体显示屏幕上,这样的视差图直接传递至使用者的左右眼合成立体图像。在立体显示装置中,在经过立体化处理之后,具有不同视差大小的视图在屏幕显示时可以让使用者体验到不同的立体感,即感受到立体画面具有不同的深度。当在同一显示屏幕所显示的两个或多个视图之间的视差发生变化的时候,使用者会感觉到屏幕显示的物体的“深度”也发生相应变化。
为便于理解,以下结合图4简单介绍立体显示装置的立体成像原理。请参阅图4,其为具有视差的两个视图中的对应视点在人眼合成的光路示意图。其中,EL和ER分别对应于使用者的左右眼,AR和AL为该两个视图中具有第一视差值的一对对应点,BR和BL为该两个视图中具有第二视差值的一对对应点,A为AR与AL经过立体显示后在人眼中出现的虚像,B为BR与BL经过立体显示后在人眼中出现的虚像。从图4可以看出,A点成像在屏幕之后,则用户会感受到A点具有“凹进”的效果;B点成像在屏幕之前,使用者会感受到B点具有“凸出”效果。其中,“凸出”与“凹进”的程度就是使用者对于画面的立体感知深度,即画面立体感的程度,其对应于像点A和像点B与显示屏幕的距离,即lA和lB。
具体地,该立体感知深度与视差关系可以大致地如以下公式表示:
其中d为立体感知深度,s为两个视图之间的视差,l为人眼距离屏幕的距离,e为两眼瞳距。正常成年人的瞳距平均约为65mm。如果某物点在上述两个视图中的对应视点如AL和AR所示,即从视点AL到视点AR方向从与左眼EL到ER的方向相同,则此视点具有正视差,其对应的像点在屏幕之后成像,使用者对于该像点的立体感知深度为负。当在某物点在上述两个视图中的对应视点如BL和BR所示,即从视点BL到视点BR方向与从左眼BL到BR的方向相反,则此视点具有负视差,其对应的像点在屏幕之前成像,使用者对于该像点的立体感知深度为正。
立体视频在制作过程中通常是针对特定的立体显示装置而制作的,比如,立体电影是针对大屏幕的立体影院而制作的,因此在立体视频的制作时所采用的拍摄设备位置、拍摄角度以及特殊场景等因素会直接使得立体视频的各个不同视图之间的视差具有特定的初始值,即视差初始值。当该立体视频在其他立体显示装置进行显示时,由于显示屏幕与该立体视频对应的特定立体显示装置可能会不一致,此将导致该立体视频的实际画面播放窗口与理想的画面播放窗口不一致,进而导致在该立体显示设备的显示屏幕上显示的各个实际视图之间的视差相较于理想视图之间的视差将发生偏移。另外,当立体显示装置的实际播放窗口的尺寸发生改变时,各个视图之间的视差同样会产生变化。
比如,请参阅图5和图6,假设立体显示装置的屏幕大小(分辨率)为1440×900,对于同样由两个具有视差的视图合成的立体画面来说,当播放窗口尺寸为720×450时,该立体画面的实际视差值S1为41(pixel),而当播放窗口尺寸S2为1080×675时,该立体画面的实际视差值被放大到61(pixel)。
从上面描述的立体感知深度与视差关系式可以看出,立体画面在人眼的立体感知深度是与视差值相关的。当画面的立体感知深度超出一定的范围时,立体显示装置的屏幕显示的立体画面会产生严重的重影现象(ghost),而使得使用者产生眩晕感,从而影响立体画面的正常观测。
本发明的立体显示方法中通过步骤S3,可以得到当前视频播放窗口对立体视频的各个视图之间的视差的影响,并通过对视图进行缩放处理实现对视图之间的视差的优化调整,使得各个视图之间的视差值保持在特定范围之内,从而让使用者可以从立体显示装置的显示屏幕上观看到比较舒适的立体画面,提高立体显示装置的立体显示效果。
具体地,假定立体视频的原始尺寸为RS,初始平均视差为SS,当前播放窗口的尺寸为RW,则当前播放窗口内的平均视差SW为:
在本步骤中,为了将视差值调整与所述视频播放窗口相适应的合理平均视差值Sr,Sr为人眼能够接受的合理平均视差,则要各个视图进行缩放处理,以将当前视窗内的平均视差值SW调整为上述Sr,其中,该缩放比例因子scale可以为:
步骤S4,根据使用者与立体显示装置的显示屏幕之间的位置关系,对各个视图进行调整。
本步骤可为该立体视频的各个视图提供的运动视差,从而增加使用者的对于立体视频的真实体验感。具体而言,请参阅图7,本实施例可以在立体显示装置设置使用者位置跟踪系统,比如,可以在该立体显示装置设置头部感应器件,比如光学摄像头、红外线感应设备、超声波设备等,用来实时感测使用者头部空间的具体位置。通过该头部感应器件获取到使用者头部空间的具体位置之后,系统可计算出用户头部位置距离该立体显示装置的显示屏幕中心轴的偏移角度α,并根据这个偏移角度α去调整视图的图像在立体显示装置的显示面上的排列,等同于调整各个视图的具体内容,比如其对应的视图数据,从而使得是使用者在不同位置或者不同那个角度可以从该立体显示装置的显示屏幕分别观测到不同的显示内容,使得使用者可以产生一种身临其境的观看效果。
另外,当立体视频的内容是通过拍摄设备实时拍摄的,则本步骤中,可根据这个偏移角度α去调整用于拍摄各个视图的拍摄设备的位置和角度,以使得使用者可以从该立体显示装置观看到上述立体效果。
步骤S5,根据该初始视图对三维场景信息进行重建,并获得每个视点的图像。
在步骤S5中,首先,可通过立体匹配算法重建立体视频的三维场景信息,并生成新的视点信息。
本步骤主要是完成视点偏移的准备工作,比如,可利用该第一视图和第二视图的原始视图数据,完成场景的三维重建,并进一步根据对上述步骤得到视点偏移参数(包括缩放比例因子scale和用户位置偏转角度α)进行统计,并生成所需视点的位置和角度信息。
具体而言,本步骤中可通过立体匹配算法,找出场景稠密的深度信息,并进一步重建出三维场景信息。该立体匹配算法大致上可分为以下几个步骤:
(1)一致性代价计算:
为了权衡同一物点在两个视图中对应的两个视点的一致性程度,本实施例中的一致性代价计算是逐像素进行的。其中,为了视点生成视图能够达到更真实效果,除了考虑常规的颜色一致性外,还考虑了梯度的一致性。
假设某点p在该第一视图和第二视图中分别被投影到AL、AR两点,首先衡量AL和AR两点的在颜色和梯度上的差异w(AL,AR):
w(AL,AR)=wc×||color(AL)|color(AR)||+wg×||Grad(AL)|Grad(AR)||
接着,对该梯度差异值w(AL,AR)进行正规化处理:
进一步地,对该正规化处理后的梯度差异值进行指数运算,得到一致性代价值:
C(p)=(w′(AL,AR))e
(2)连贯性计算:
为了使得该视点p周边的视点同样保持相同的颜色和梯度特定,本步骤在上述一致性代价计算基础上,可进一步加入连贯性检查,即对该视点p及其相邻视点pN进行那个连贯性运算,具体运算公式如下,其中δ为连贯性阈值。
V(p,pN)=min(|(pAL-pAR)-(pNAL-pNAR)|,δ)e
(3)能量函数计算:
基于上述一致性代价计算和连贯性运算的结果,通过以下能量函数计算式可以得到立体视频画面的能量函数值,其中λ表示连贯性贡献值。
进一步地,通过对能量函数进行那个最小化处理,便可找到第一视图和第二视图中一对相互匹配的视点,即匹配点,根据该匹配点之间的距离就可以计算得出该视点的在第一视图和第二视图之间的视差信息,进而可以得到该第一视图和第二视图的匹配关系表。
(4)遮挡处理:
遮挡问题是视点生成的一个非常重要和困难的问题,遮挡处理方法的好坏也直接影响生成后的图像的真实性,所以在建立第一视图和第二视图的匹配关系表之后,需要对该第一视图和第二视图进行遮挡处理。具体而言,本实施例的遮挡处理的实现方法可以如下:
在上述第一视图和第二视图的视差匹配关系表中,查找出该第一视图和第二视图中无法一一对应的视点,并对这些视点进行标记,从而一个新的视图匹配关系表。由于非遮挡区域在第一视图和第二视图中都会有相应的投影点与之对应,而在遮挡区域的视点并不是一一对应的,利用这个特性,便可以查找出该第一视图和该第二视图中无法一一对应的视点。
在完成上述视图匹配工作后,便可以根据步骤S3和步骤S4计算到的视点偏移参数,包括视频缩放因子scale和用户位置偏转角度,产生新的视点信息。
首先,如图8所示,考虑辅助视图和视差调整对新的视点产生的影响,在图8中,(a)为原始第一视图和第二视图中的视点位置和视点间距,(b)中展示了当N=6,视差缩放因子scale=Sb/Sa时,产生的新的视点位置和视点间隔。其次,还要考虑运动视差对视点位置的影响,通过步骤S5中的头部感应器件获取到用户头部空间的具体位置之后可得到用户头部位置距离显示器中心轴的偏移角度α,如图9所示,其中(a)为未考虑运动视差功能的视点分布,视点中心点为O;(b)考虑偏转角度α,计算得到新的视点中心点O’,并重新分布视点位置。由此,便可得到各个视点的位置信息和角度信息。
进一步地,在步骤S5中,在生成所述新的视点信息之后,可根据该三维场景信息和视点信息,依次得到每个视点的图像。
具体地,视图生成可以采用传统的相机投影矩阵来完成,也可以采用以下的偏移插值的办法来完成。
请参阅图10,其中虚线描述了第一视图和第二视图的匹配关系,其可以由之前的立体匹配算法得来。图中的投影平面(Projection plane)就是新的视点的投影平面,投影平面位置就是由中间步骤中得到的新的视点位置来确定的。图中的ABCEF等点经过水平方面的偏移后投影在Projection plane上就可以得到A’B’C’E’F’,逐像素的从左右视图中偏移这些点投影到Projection plane上就可以得到在新的视点位置所产生的视图。如此依次就可以产生所有视点的视图。
步骤S6,将每个视点的图像进行立体像素排列处理,得到立体视频数据,并将立体视频数据提供给立体显示装置,以显示对应的立体画面。
本发明提供的立体显示方法可根据实际显示需要生成额外的视图,因此可以兼容各种视图格式的立体显示装置,并且,该立体显示方法中,各个视点的生成考虑了视频播放窗口的尺寸参数以及使用者的具体位置参数,并根据该参数动态调整在同一显示屏幕上显示的各个视图之间的视差,从而提高立体显示质量。
基于以上的立体显示方法,本发明还进一步提供一种立体显示系统。该立体显示系统包括视图处理装置和立体显示装置,该视图处理装置可以从立体视频源获取立体视频视图,并对该视图进行处理并提供给该立体显示装置,处理的具体过程可参阅以上实施例的描述;该立体显示装置可接收该视图处理装置提供的立体视频数据,并根据该立体视频数据显示对应的立体画面。
进一步地,该视图处理装置还用于根据立体显示装置的类型,确定立体显示装置进行显示的视图数量,判断初始视图的数量与立体显示装置进行显示的视图数量是否相等,若不相等,则将初始视图的数量调整到立体显示装置进行显示的视图数量。
该视图处理装置包括计算模块和调整模块。其中,计算模块用于根据立体显示装置的实际视频播放窗口的尺寸,计算出视图缩放比例因子;调整模块根据该视图缩放比例因子,通过视图缩放处理对各个初始视图之间的平均视差值进行调整。所述计算模块通过公式计算出视图缩放比例因子Scale,其中,RS为该初始视图对应的立体视频的初始尺寸,SS为该立体视频的初始平均视差,RW为实际视频播放窗口的尺寸,Sr为人眼能够接受的合理平均视差。
该立体显示装置包使用者位置跟踪系统,使用者位置跟踪系统用于检测使用者与该立体显示装置之间的位置关系,并根据二者之间的位置关系调整视图的图像在立体显示装置的显示面上的排列。
虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。