发明内容
针对上述问题,本发明提供了一种可调整在显示屏幕上显示的各个视图之间的视差的立体显示方法,同时提供了一种可采用该立体显示方法的立体显示装置。
本发明提供的立体显示方法包括:
一种立体显示方法,其包括:
获取具有视差的初始视图;
根据立体显示装置的实际视频播放窗口的尺寸,计算出视图缩放比例因子;
根据所述视图缩放比例因子,通过视图缩放处理对各个初始视图之间的平均视差值进行调整;
将调整后的初始视图用于显示;
所述缩放比例因子通过以下计算公式计算得到:
其中,R
S为该初始视图对应的立体视频的初始尺寸,S
S为该立体视频的初始平均视差,R
W为实际视频播放窗口的尺寸,S
r为人眼能够接受的合理平均视差。
根据本发明一优选实施例,还包括:
根据立体显示装置的类型,确定立体显示装置进行显示的视图数量;
判断初始视图的数量与立体显示装置进行显示的视图数量是否相等,若不相等,则将初始视图的数量调整到立体显示装置进行显示的视图数量。
根据本发明一优选实施例,当初始视图的数量大于立体显示装置进行显示的视图数量,减少处于初始视图边缘的的视图。
根据本发明一优选实施例,当初始视图的数量小于立体显示装置进行显示的视图数量,以所述初始视图为基础,生成立体显示装置进行显示的视图数量与初始视图的数量之间差额的辅助视图。
根据本发明一优选实施例,生成所述辅助视图可以通过所述初始视图的视差对应关系,确定所述初始视图之间的匹配关系表,根据所述匹配关系表,插值生成。
一种立体显示装置,其包括视差调整模块和显示模块,
所述视差调整模块,用于根据立体显示装置的实际视频播放窗口的尺寸,调整初始视图之间的平均视差值,再将调整后的初始视图用于显示;
所述显示模块,用于对调整后的初始视图进行显示;
所述视差调整模块包括第一模块和第二模块,所述第一模块用于根据立体显示装置的实际视频播放窗口的尺寸,计算出视图缩放比例因子;所述第二模块用于根据所述视图缩放比例因子,通过视图缩放处理对各个初始视图之间的平均视差值进行调整;
其中,所述第一模块计算得到的缩放比例因子,是通过以下计算公式计算得到:
其中,R
S为该初始视图对应的立体视频的初始尺寸,S
S为该立体视频的初始平均视差,R
W为实际视频播放窗口的尺寸,S
r为人眼能够接受的合理平均视差。
本发明提供的立体显示方法和装置考虑了视频播放窗口的尺寸参数以及使用者的具体位置参数,并根据该参数调整在同一显示屏幕上显示的各个视图之间的视差,从而提高立体显示质量。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举一实施例,并配合所附图式,作详细说明如下。
具体实施方式
为解决现有立体显示技术的存在的问题,本发明提供了一种立体显示方法和立体显示装置,能够实时根据显示器的类型,依照显示的需要减少或生成视图,以解决视图格式的兼容使用。
请参阅图1,其为本发明立体显示方法一种实施例的流程图。
该立体显示方法包括:
步骤S1,获取具有视差的初始视图;
本步骤可以获取立体视频源提供的至少两个立体视频视图,在具体实施例中,该立体视频源提供的立体视频视图可以为双视图格式来举例说明,双视图包括第一视图和第二视图,比如,左视图和右视图。
请参阅图2和图3,其中图2为所述第一视图和第二视图的画面示意图,图3为所述第一视图和第二视图的合成示意图。在图2中,位于左侧的图示表示该第一视图,位于右侧的图示表示该第二视图。从图2可以看出,所述第一视图和第二视图之间具有一定的视差,在具体实施例中,所述第一视图和第二视图之间的视差是固定的。
本发明实施例中,该双视图格式的立体视频数据是以视频形式保存和传输的,且所述双视图格式的立体视频数据可以是由拍摄设备(比如相机)实时拍摄的,也可以是通过视频制作软件生成的。假设该视频点播系统采用DirectShow架构进行视频处理的,在本步骤中,视频点播系统可以实时获取每一帧视频数据,并从该视频数据中分离出第一视图数据和第二视图数据。
步骤S2,根据立体显示装置的类型,确定所述立体显示装置进行显示的视图数量,将获取的所述初始视图的数目调整到所述视图数量。
将初始视图的数量调整到立体显示装置进行显示的视图数量的方式包括减少或者增加所述初始视图的数量。
具体地,当初始视图的数量大于立体显示装置进行显示的视图数量,减少处于初始视图边缘的的视图。
当初始视图的数量小于立体显示装置进行显示的视图数量,以所述初始视图为基础,生成立体显示装置进行显示的视图数量与初始视图的数量之间差额的辅助视图。其中,生成所述辅助视图可以通过所述初始视图的视差对应关系,确定所述初始视图之间的匹配关系表,根据所述匹配关系表,插值生成。
举例说明,根据立体显示装置的类型,判断出系统所需要的视图数量N,并在所述初始视图包括的第一视图和第二视图基础上,对应地生成N-2个辅助视图。
对于不同类型的立体显示装置,由于成像原理的不同,其分别需要不同的视频源格式。比如,对于佩戴式立体显示装置,使用者在观看画面时需要佩戴立体显示眼镜,在该立体显示眼镜的辅助作用下,此类型立体显示装置为实现立体画面显示时,仅要求立体视频源具有双视图格式。而对于裸眼可视式立体显示装置,使用者通过裸眼直接观看,此类型的立体显示装置在实现立体画面显示时,要求立体视频源提供最少二视图格式的视频数据,为达到较佳的立体显示效果,更要求立体视频源提供大于二视图格式的视频数据。比如,为达到较佳的立体显示效果,普通的裸眼可视式立体显示装置需要同时在屏幕上显示九个视图,该九个视图之间分别具有视差效果,且每两个视图之间的视差大小满足特定的关系。
在本步骤中,通过检测如果判断出立体显示装置需要多视图格式的视频数据,则在其获取到的该第一视图和第二视图基础上,自动生成N-2个辅助视图。比如,可以根据预先设定的视图之间的视差对应关系,利用已有的两组视图信息,实时地生成N-2个辅助视图,满足立体显示装置对于多视图格式的显示需要。
请参阅图4,为根据两个视图生成其他视图的操作示意图。
简单起见,以线条来代表视图,第一视图以A来表示,第二视图以B来表示。根据第一视图A和第二视图B生成的视图以C来表示。
首先,根据A、B视图之间的视差对应关系,确定A,B之间的匹配关系,生成A,B之间视点的匹配关系表,也即在B上确定A上对应的显示点(或者在A上确定B上对应的显示点),如图中A中的a1a2对应到B中的b1b2。
然后,在A,B之间,根据A,B之间的匹配关系表,插值生成C。可以看出C上的c1c2分别对应A中的a1a2和B中的b1b2。
上述描述仅仅列举了在两个视图的基础上生成一副视图的情况,同理,利用同样的方式,可以在在两个视图的基础上生成多副视图。
应当理解,当检测出立体显示装置为基于双视图格式的立体显示装置时,则不生成辅助视图,而直接利用获取到的第一视图和第二视图进行显示。
应当理解,上述步骤S2是可选的。
步骤S3,根据当前立体显示装置的视频播放窗口的尺寸,调整各个初始视图之间的平均视差值。
具体地,立体显示装置通常是将具有视差的多个视图通过像素排列算法合成后输出到立体显示屏幕上,这样的视差图直接传递至使用者的左右眼合成立体图像。在立体显示装置中,在经过立体化处理之后,具有不同视差大小的视图在屏幕显示时可以让使用者体验到不同的立体感,即感受到立体画面具有不同的深度。当在同一显示屏幕所显示的两个或多个视图之间的视差发生变化的时候,使用者会感觉到屏幕显示的物体的“深度”也发生相应变化。
为便于理解,以下结合图5简单介绍立体显示装置的立体成像原理。请参阅图5,其为具有视差的两个视图中的对应视点在人眼合成的光路示意图。其中,EL和ER分别对应于使用者的左右眼,AR和AL为该两个视图中具有第一视差值的一对对应点,BR和BL为该两个视图中具有第二视差值的一对对应点,A为AR与AL经过立体显示后在人眼中出现的虚像,B为BR与BL经过立体显示后在人眼中出现的虚像。从图5可以看出,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的方向相反,则此视点具有负视差,其对应的像点在屏幕之前成像,使用者对于该像点的立体感知深度为正。
立体视频在制作过程中通常是针对特定的立体显示装置而制作的,比如,立体电影是针对大屏幕的立体影院而制作的,因此在立体视频的制作时所采用的拍摄设备位置、拍摄角度以及特殊场景等因素会直接使得立体视频的各个不同视图之间的视差具有特定的初始值,即视差初始值。当该立体视频在其他立体显示装置进行显示时,由于显示屏幕与该立体视频对应的特定立体显示装置可能会不一致,此将导致该立体视频的实际画面播放窗口与理想的画面播放窗口不一致,进而导致在该立体显示设备的显示屏幕上显示的各个实际视图之间的视差相较于理想视图之间的视差将发生偏移。另外,当立体显示装置的实际播放窗口的尺寸发生改变时,各个视图之间的视差同样会产生变化。
比如,请参阅图6和图7,假设立体显示装置的屏幕大小(分辨率)为1440×900,对于同样由两个具有视差的视图合成的立体画面来说,当播放窗口尺寸为720×450时,该立体画面的实际视差值S1为41(pixel),而当播放窗口尺寸S2为1080×675时,该立体画面的实际视差值被放大到61(pixel)。
从上面描述的立体感知深度与视差关系式可以看出,立体画面在人眼的立体感知深度是与视差值相关的。当画面的立体感知深度超出一定的范围时,立体显示装置的屏幕显示的立体画面会产生严重的重影现象(ghost),而使得使用者产生眩晕感,从而影响立体画面的正常观测。
本发明的立体显示方法中通过步骤S3,可以得到当前视频播放窗口对立体视频的各个视图之间的视差的影响,并通过对视图进行缩放处理实现对视图之间的视差的优化调整,使得各个视图之间的视差值保持在特定范围之内,从而让使用者可以从立体显示装置的显示屏幕上观看到比较舒适的立体画面,提高立体显示装置的立体显示效果。
具体地,假定立体视频的原始尺寸为RS,初始平均视差为SS,当前播放窗口的尺寸为RW,则在未进行调整的时候,当前播放窗口内的平均视差SW为:
在本步骤中,为了将视差值调整与所述视频播放窗口相适应的人眼能够接受的合理平均视差值Sr,则要各个视图进行缩放处理,以将当前视窗内的平均视差值SW调整为上述Sr,其中,该缩放比例因子scale可以为:
请参阅图8,为表示辅助视图和视差调整对新的视点的影响的示意图。考虑辅助视图和视差调整对新的视点产生的影响,在图8中,(a)为原始第一视图和第二视图中的视点位置和视点间距,(b)中展示了当N=6,视差缩放因子Sb=Sa×scale时,产生的新的视点位置和视点间隔。具体地,视图生成可以采用传统的相机投影矩阵来完成,也可以采用偏移插值的办法来完成,类似于前述图4所示的根据两个视图生成其他视图的操作示意图。
特别需要指出的,步骤S2和步骤S3的顺序可以互换,不仅仅局限于上述的描述。
基于以上的立体显示方法,本发明还进一步提供一种立体显示装置。请参阅图8,所述立体显示装置包括检测模块11、控制模块12、图像生成模块13、视差调整模块14和显示模块15。
检测模块11,用于根据立体显示装置的类型,确定立体显示装置进行显示的视图数量。
控制模块12,用于获取具有视差的初始视图,接收所述检测模块11确定的视图数量,判断初始视图的数量与立体显示装置进行显示的视图数量是否相等,如果相等,则将初始视图信号传送到视差调整模块14;如果立体显示装置进行显示的视图数量较少,则减少初始视图信号的视图的数量,直至符合所需要的视图的数量,较佳地,保留两两相邻的视图,优先减少处于初始视图边缘的的视图,并将调整后的初始视图传送到视差调整模块14;如果立体显示装置进行显示的视图数量较多,则向所述图像生成模块13发送指令,控制所述图像生成模块13以所述初始视图为基础,生成立体显示装置进行显示的视图数量与初始视图的数量之间差额的辅助视图,再将将调整后的初始视图传送到视差调整模块14。
图像生成模块13接收初始视图和指令,通过所述初始视图的视差对应关系,确定所述初始视图之间的匹配关系表,再根据所述匹配关系表,插值生成所述辅助视图,并将所有视图传送到视差调整模块14。
视差调整模块14,根据当前立体显示装置的视频播放窗口的尺寸,调整接收到的各个初始视图之间的平均视差值,并将经过调整的初始视图传送到显示模块15。具体地,视差调整模块14包括第一模块和第二模块,所述第一模块用于根据立体显示装置的实际视频播放窗口的尺寸,计算出视图缩放比例因子;所述第二模块用于根据所述视图缩放比例因子,通过视图缩放处理对各个初始视图之间的平均视差值进行调整。所述第一模块计算得到的缩放比例因子,是通过以下计算公式计算得到:
其中,R
S为该初始视图对应的立体视频的初始尺寸,S
S为该立体视频的初始平均视差,R
W为实际视频播放窗口的尺寸,S
r为人眼能够接受的合理平均视差。
显示模块15接收视差调整模块14传送的经过调整的初始视图,并进行显示。
本发明提供的立体显示方法和装置,考虑了视频播放窗口的尺寸参数,并根据该参数调整在显示屏幕上显示的各个视图之间的视差,从而提高立体显示质量。
虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。