具体实施方式
本发明的实施例可以使用可操作以向观看者显示图像的显示器提供显示方法和装置。在一些实施例中,显示器是头戴式显示器,并且通过检测头戴式显示器的位置和/或取向来检测观看者头部的位置和/或取向。头戴式显示器可以具有待安装到观看者头部上的框架,框架限定一个或两个眼睛显示位置,在使用中所述眼睛显示位置位于观看者的相应眼睛的前面,并且相应的显示元件相对于每个眼睛显示位置安装,显示元件将来自视频信号源的视频信号的视频显示的虚拟图像提供给观看者的那只眼睛。在其他例子中,显示器不是头戴式显示器。在一些实施例中,显示器(不管是否是头戴式)可以被称为沉浸式显示器,原因是在正常使用中,其至少填充用户的视野的阈值角范围(例如,至少40°)。例子包括多个投影仪显示器、环绕(弯曲)显示器等。
现在参考图1,用户10正在用户头部30上佩戴HMD 20。HMD包括在该例子中由后绑带和顶绑带形成的框架40,和显示部分50。
图1的HMD完全遮蔽用户对周围环境的观看。用户可以看到的全部是在HMD内显示的一对图像。
HMD具有配合到用户的左耳和右耳70中的相关头戴式耳机60。耳机60重放从外部源提供的音频信号,所述外部源可以与提供视频信号以便向用户的眼睛显示的视频信号源相同。
在操作中,提供视频信号以供HMD显示。这可以由诸如视频游戏机或数据处理装置(例如个人计算机)的外部视频信号源80提供,在该情况下可以通过有线或无线连接将信号传输到HMD。合适的无线连接的例子包括蓝牙(R)连接。耳机60的音频信号可以由相同的连接承载。类似地,从HMD传递到视频(音频)信号源的任何控制信号可以由相同的连接承载。
因此,图1的布置提供头戴式显示系统的例子,所述系统包括待安装到观看者头部上的框架,框架限定一个或两个眼睛显示位置,在使用中,所述眼睛显示位置位于相应眼睛的前面,以及相对于每个眼睛显示位置安装的显示元件,所述显示元件将来自视频信号源的视频信号的视频显示的虚拟图像提供给观看者的那只眼睛。
图1仅示出HMD的一个例子。其他形式是可能的:例如HMD可以使用更类似于与传统眼镜相关联的框架,即从显示部分向后延伸到用户耳朵的后上部的基本上水平的腿部,其可能在耳朵后面向下卷曲。在其他例子中,用户对外部环境的观看事实上可能不完全被遮蔽;显示图像可以被布置成(从用户的视点)叠加在外部环境上。下面将参考图4描述这样的布置的例子。
在图1的例子中,为每个用户的眼睛提供单独的相应显示器。如图2提供如何实现这一点的示意性平面图,其示出用户的眼睛的位置100和用户的鼻子的相对位置110。显示部分50以示意形式包括用于遮掩用户眼睛免于环境光的外部护罩120和防止一只眼睛看到用于另一只眼睛的显示的内部护罩130。用户面部、外部护罩120和内部护罩130的组合形成两个隔室140,每只眼睛一个。在每个隔室中设有显示元件150和一个或多个光学元件160。将参考图3描述显示元件和光学元件协作以向用户提供显示的方式。
参考图3,显示元件150生成显示图像,所述显示图像(在该例子中)由光学元件160(示意性地显示为凸透镜,但是其可以包括复合透镜或其他元件)折射从而生成虚拟图像170,对于用户来说所述虚拟图像看起来比由显示元件150生成的真实图像大并且明显更远。作为例子,虚拟图像可以具有大于1m的表观图像尺寸(图像对角线),并且可以是布置在离用户的眼睛(或离HMD的框架)大于1m的距离处。一般来说,取决于HMD的目的,期望将虚拟图像布置在离用户相当远的距离处。例如,如果HMD用于观看电影等,则期望在这样的观看期间用户的眼睛放松,这需要至少几米的距离(到虚拟图像)。在图3中,实线(例如线180)用于表示真实光线,而虚线(例如线190)用于表示虚拟光线。
在图4中显示一种替代布置。在期望用户对外部环境的观看不完全被遮蔽的情况下可以使用该布置。然而,它也可应用于其中用户对外部的观看完全被遮蔽的HMD。在图4的布置中,显示元件150和光学元件200协作以提供投影到反射镜210上的图像,所述反射镜将图像朝着用户的眼睛位置220偏转。用户感知到虚拟图像位于位置230,所述位置位于用户的前面并且在离用户合适的距离处。
在HMD的情况下,其中用户对外部环境的观看完全被遮蔽,反射镜210可以是基本上100%的反射镜。图4的布置于是具有的优点是,显示元件和光学元件可以更靠近用户头部的重心和用户眼睛的侧面定位,这可以产生用于用户佩戴的不太庞大的HMD。替代地,如果HMD设计成不完全遮蔽用户对外部环境的观看,则反射镜210可以制造成部分反射,使得用户通过反射镜210看到外部环境,虚拟图像叠加在真实外部环境上。
在为每只用户的眼睛提供单独的相应显示器的情况下,能够显示立体图像。在图5中显示用于向左眼和右眼显示的一对立体图像的例子。图像表现出相对于彼此的横向位移,图像特征的位移取决于捕获图像所借助的照相机的(真实或模拟)横向分离,照相机的角会聚以及每个图像特征离照相机位置的(真实或模拟)距离。
应当注意,图5中的横向位移(以及下面将要描述的图15中的位移)实际上可以相反,也就是说,如图所示的左眼图像实际上可以是右眼图像,并且如图所示的右眼图像实际上可以是左眼图像。这是由于一些立体显示器倾向于在右眼图像中将对象向右移动并且在左眼图像中向左移动,从而模拟用户通过立体窗口观看到超出场景的想法。然而,一些HMD使用图5中所示的布置,原因是这给用户提供了用户正在通过一副双筒望远镜观看场景的印象。这两种布置之间的选择由系统设计者决定。
在一些情况下,HMD可以简单地用于观看电影等。在该情况下,当用户例如从一侧到另一侧转动用户的头部时,不需要对显示图像的表观视点进行改变。然而,在其他使用中,例如与虚拟现实(VR)或增强现实(AR)系统相关联的那些,用户的视点需要跟踪相对于用户所处的真实或虚拟空间的移动。
通过检测HMD的运动并改变显示图像的表观视点使得表观视点跟踪运动来执行该跟踪。
图6示意性地示出VR或AR系统中的用户头部运动的效果。
参考图6,虚拟环境由围绕用户的(虚拟)球形壳体250表示。由于需要在二维纸图上表示该布置,因此壳体由圆的一部分表示,距离用户相当于显示虚拟图像与用户的分离。用户初始处于第一位置260并且朝着虚拟环境的部分270定向。正是该部分270在用户的HMD的显示元件150上显示的图像中被表示。
考虑用户然后将他的头部移动到新的位置和/或取向280的情况。为了保持虚拟现实或增强现实显示的正确感觉,虚拟环境的显示部分也移动,使得在移动的结束时,由HMD显示新部分290。
因此,在该布置中,虚拟环境内的视点随着头部运动而移动。如果头部向右侧旋转,例如,如图6所示,表观视点也从用户的视点向右移动。如果从显示对象(例如显示对象300)的方面考虑该情况,则这将有效地在与头部运动相反的方向上移动。因此,如果头部运动向右,表观视点向右移动,但是诸如在虚拟环境中静止的显示对象300的对象将朝着显示图像的左侧移动,并且最终将从显示图像的左手侧消失,原因仅仅是虚拟环境的显示部分已向右移动,而显示对象300在虚拟环境中未移动。
图7a和7b示意性地示出具有运动感测的HMD。两个附图具有与图2所示的类似的形式。也就是说,附图是HMD的示意性平面图,其中显示元件150和光学元件160由简单的框形表示。为了图的清楚起见,没有显示图2的许多特征。两个附图都显示具有用于检测观看者的头部的运动的运动检测器的HMD的例子。
在图7a中,前向照相机320设在HMD的前部。这不一定提供用于向用户显示的图像(尽管它可以在增强现实布置中这样做)。相反,其在本实施例中的主要目的是允许运动感测。下面将结合图8描述使用由照相机320捕获的图像进行运动感测的技术。在这些布置中,运动检测器包括安装成与框架一起移动的照相机;以及图像比较器,可操作以比较由照相机捕获的连续图像从而检测图像间运动。
图7b使用硬件运动检测器330。这可以安装在HMD内或HMD上的任何地方。合适的硬件运动检测器的例子是压电加速度计或光纤陀螺仪。当然应当理解,硬件运动检测和基于照相机的运动检测可以用在相同设备中,在该情况下一个感测布置可以在另一个不可用时用作备份,或者一个感测布置(例如,作为照相机)可以提供用于改变显示图像的表观视点的数据,而另一个(例如加速度计)可以提供用于图像稳定的数据。
图8示意性地示出使用图7a的照相机320的运动检测的一个例子。
照相机320是视频照相机,以例如每秒25幅图像的图像捕获速率捕获图像。当每个图像被捕获时,它被传递到图像存储器400用于存储,并且也通过图像比较器410与从图像存储器检索的在前图像进行比较。该比较使用已知的块匹配技术(所谓的“光流”检测)来确定从前一图像被捕获的时间起是否基本上整个图像已移动。局部运动可以指示照相机320的视野内的移动对象,但是基本上整个图像的全局运动将倾向于指示照相机而不是所捕获的场景中的单独的特征的运动,并且在当前情况下,由于照相机安装在HMD上,因此照相机的运动对应于HMD的运动并且继而对应于用户头部的运动。
由图像比较器410检测到的一个图像与下一个图像之间的位移由运动检测器420转换为指示运动的信号。如果需要,运动信号由积分器430转换为位置信号。
如上所述,作为通过检测由与HMD相关联的摄像机捕获的图像之间的图像间运动来检测运动的替代或补充,HMD可以使用机械或固态检测器330(例如加速度计)检测头部运动。考虑到基于视频的系统的响应时间最多是图像捕获速率的倒数,这实际上可以给出关于运动指示的更快的响应。因此,在一些情况下,检测器330可以更好地可应用于更高频率的运动检测。然而,在其他情况下,例如如果使用高图像速率照相机(例如200Hz捕获速率照相机),则基于照相机的系统可能更合适。根据图8,检测器330可以代替照相机320、图像存储器400和比较器410,从而直接向运动检测器420提供输入。或者检测器330也可以代替运动检测器420,直接提供指示物理运动的输出信号。
其他位置或运动检测技术当然是可能的。例如,可以使用机械布置,通过所述机械布置,HMD通过可移动缩放臂连接到固定点(例如,在数据处理设备上或在一件家具上),位置和取向传感器检测缩放臂的偏转。在其他实施例中,安装在HMD上和固定点上的一个或多个发射器和接收器的系统可以用于允许通过三角测量技术检测HMD的位置和取向。例如,HMD可以携带一个或多个定向发射器,并且与已知或固定点相关联的接收器的阵列可以检测来自一个或多个发射器的相对信号。或者发射器可以是固定的,并且接收器可以在HMD上。发射器和接收器的例子包括红外换能器、超声换能器和射频换能器。射频换能器可以具有双重目的,原因是它们也可以形成去往和/或来自HMD的射频数据链路(例如链路)的一部分。
图9示意性地示出响应于检测到的HMD的位置或位置变化而执行的图像处理。
如上面结合图6所提到的,在诸如虚拟现实和增强现实布置的一些应用中,显示给HMD的用户的视频的表观视点响应于用户头部的实际位置或取向的变化而变化。
参考图9,这通过向所需图像位置检测器460提供指示运动和/或当前位置的数据的运动传感器450(例如图8的布置和/或图7b的运动检测器330)来实现,其将HMD的实际位置转换成限定用于显示的所需图像的数据。如果需要,图像生成器480访问存储在图像存储器470中的图像数据,并且从适当的视点生成所需的图像以供HMD显示。外部视频信号源可以提供图像生成器480的功能并且用作控制器,以便通过改变所显示图像的视点来补偿观看者头部的运动的较低频率分量,从而在与检测运动的方向相反的方向上移动显示图像,以便在检测运动的方向上改变观看者的表观视点。
图像生成器480可以在元数据的基础上作用从而以下面将描述的方式执行包括重投影的各种功能。
为了示意性地示出与本技术相关联的一些一般概念,图10示意性地示出通过照相机捕获图像,并且图11示意性地示出捕获图像的重投影。
参考图10,照相机500捕获真实世界场景的一部分510的图像。照相机500的视野示意性地显示为大致三角形形状520,使得照相机处于大致三角形形状的一个顶点,与照相机相邻的侧示意性地指示视野的左极限和右极限并且与照相机相对的侧示意性地示出被捕获的场景的部分。该示意性标记将用于以下几个附图中。
为了讨论图像重投影的一般概念,假设在图10的布置中,不仅捕获图像,而且捕获限定照相机的“视图矩阵”的信息。这里,视图矩阵可以指相对于假想的固定点和取向的照相机在空间中的位置和/或取向,或者表示为相对于在先前时间(例如,其可以是与先前捕获的图像相关联的时间)可应用的位置和/或取向的变化。因此,在一个表达式中,视图矩阵可以视为照相机的x、y和z空间位置及其表示为偏航、俯仰和侧滚(指示三个正交旋转自由度的一般术语)的旋转取向及其观看平截头体(指示照相机的视野的一般术语,其在广角视野和窄角或远摄视野之间变化,并且可以表示为对应于例如图10中所示的角530的角范围)。视图矩阵数据不需要包括所有这些数据贡献。例如,在一些布置中,仅横向旋转定向(偏航)可能是相关的。因此,考虑到捕获图像和视图矩阵数据的预期使用,选择哪些数据项包括在视图矩阵数据内是系统设计者的问题。
在本发明的实施例中,视图矩阵数据与捕获图像相关联地存储,例如作为所谓的元数据,其通过例如在下文中参考图27描述的照相机装置存储和/或作为整体图像数据包的一部分被传输,所述照相机装置包括用于捕获图像的图像捕获装置;用于在捕获图像时检测照相机装置的位置和/或取向的位置和/或取向检测器;以及用于将元数据与图像相关联的元数据生成器,所述元数据指示在捕获图像时检测到的照相机装置的位置和/或取向。
应当注意,照相机500可以是捕获通过时间间隔分离的连续图像的静止照相机或摄像机。
图11示意性地示出根据观看者的视点由图10的照相机捕获的图像的重投影。视点540由眼睛符号和类似于上述三角形形状520的大致三角形形状550示意性地示出。为了显示由照相机500捕获的图像使得其适于根据图11中所示的视点观看,执行将视点的视图矩阵(如上所述)与照相机500的视图矩阵相关联的处理。将参考图12和图13描述这样的技术的例子。
图12示意性地示出从第一视图矩阵560到第二视图矩阵570的图像旋转。该类型的重投影涉及简单地旋转和缩放图像,从而校正照相机的视图矩阵和用户视点的视图矩阵之间的视野和取向的任何差异。下面将参考图16和17讨论该类型的重投影的例子。
图13示意性地示出从第一视图矩阵580到第二视图矩阵590的图像旋转和平移。这里,稍微更多地涉及处理,并且也可以使用指示捕获图像中的不同图像特征的图像深度的深度图,从而允许相对于照相机的视点来平移用户视点。下面将参考图18-20讨论深度图的使用的例子。
应当注意,图像不必是照相机捕获的图像。这些技术全部等同地可应用于机器生成的图像,例如由计算机游戏机生成以便作为玩电脑游戏的过程的一部分显示给用户的图像。
图14示意性地示出具有HMD图像显示的延迟问题。如上所述,可以使用HMD的位置和/或取向,例如如参考图9所讨论的,使得根据检测到的HMD的位置和/或取向来绘制用于显示的图像。在观看较宽的捕获图像的一部分或者生成作为玩计算机游戏的一部分的所需图像的情况下,参考图9讨论的布置包括检测HMD的当前位置和/或取向,并且绘制适当的图像以便显示。
然而,该过程中涉及的延迟可能导致生成不正确的图像。
参考图14,考虑在约为在HMD中使用的图像显示的图像重复时段(例如,1/25秒)的时间间隔的过程中用户的视点正从第一视点600旋转到第二视点610(在如图14示意性示出的顺时针方向上)的情况。应当注意,图14中的两个表示并排显示,但是这是为了附图的目的,而不是必然指示用户视点的平移(尽管在两个视点之间可能涉及一些平移)。
为了允许绘制下一输出图像的时间,当HMD在视点600处时检测HMD的位置和/或取向。然后绘制用于显示的下一图像,但是到实际显示图像时,视点已旋转到视点610。结果是在显示图像时,对于用户的视点610显示的图像不正确。这可以为用户提供主观上较差的体验,并且可能导致用户的迷向或甚至恶心。
现在将讨论解决该问题的技术。
图15是示出图像处理技术的示意性流程图。首先将在高级别讨论该技术,然后将在下面给出更多细节。
图15中所示的技术的特征涉及根据照相机的视图矩阵(在捕获图像的情况下)或HMD的视图矩阵(在由例如计算机游戏绘制的图像的情况下)来捕获或绘制图像(在步骤620)。
在后一例子中,将根据对应于图14中的视点600的视图矩阵来绘制图像。换句话说,该技术涉及检测观看者头部的初始位置和/或取向,并且根据检测到的位置和/或取向生成用于显示的图像。然后将图像与限定该视图矩阵(也就是说,根据其捕获或首先绘制图像的视图矩阵)的元数据一起传输或传递到HMD。在显示时,再次检测HMD视图矩阵(换句话说,在将显示图像时检测观看者头部的当前位置和/或取向),并且在步骤630,基于指示原始视图矩阵和在显示时从HMD检测到的视图矩阵(在图14的术语中,这将是对应于视点610的视图矩阵,使得技术涉及将元数据与生成的图像相关联,元数据指示观看者头部的初始位置和/或取向)的元数据重投影图像。因此,该技术涉及根据观看者头部的初始位置和/或取向与当前位置和/或取向之间的任何差异来重投影生成的图像,并使用显示器显示重投影图像。
在捕获图像的情况下,照相机的视图矩阵通常不在显示布置的控制之内,并且因此该技术提供补偿两个视图矩阵之间的差异的方式。然而,在图像绘制的情况下,问题略有不同。然而,显著特征是处理重投影操作所花费的时间可以远小于完全绘制操作生成输出图像所花费的时间。这又意味着,如参考图14所讨论的,绘制操作必须相对于显示时间更早地开始,这可以导致关于用于绘制操作的合适视点的检测的延迟问题。相比之下,使用参考图15描述的技术,相对于在开始绘制操作时正确的视点(例如视点600)进行绘制操作,但是然后在显示时调节视点(到视点610)。这避免了需要预先尝试预测视点610,这也可能导致视点的误差,但是提供用于在对应于显示时间的合适视点处向用户显示的图像。因此,该技术可以涉及接收图像和关联的元数据,在将显示图像时检测观看者的头部的当前位置和/或取向,根据由元数据指示的位置和/或取向和观看者头部的当前位置和/或取向之间的任何差异重新投射接收的图像,并且显示重投影图像。
该技术的工作例子将在下面进行讨论。
图16示意性地示出HMD视点650在顺时针方向上的旋转。
图16类似于上面讨论的图6,原因是用于显示的图像被认为位于半径r的球体的表面上,其中r基本上等于从用户的眼睛到由HMD显示系统生成的虚拟图像的距离。在该布置下,视点650旋转角度θ可以被认为是在半径r的球体的表面上横向移动横向距离d。在图17中示意性地示出这样的位移d。如果假设在步骤620生成的图像由图16中的图像660表示,并且在该步骤630生成的图像由图16中的图像670表示,从用户的视点可以看出两个图像可以并排地表示。(应当注意在图17中,显示小竖直位移以允许在附图中将不同的图像彼此区分开)。
在简单的例子中,为了生成(在步骤630)用于向用户显示的适当图像670,执行“减法”操作,其是示意性术语以示出检测图像670的所需显示位置和图像660的实际位置之间的重叠的操作,从而在图像670内显示图像660的重叠部分680(图17中的阴影部分)。换句话说,重投影包括检测生成图像和所需的重投影图像之间的重叠部分生成重叠部分,并且将重叠部分再现为重投影图像的一部分。
在本发明的实施例中,可以使用来自例如为了该目的捕获或准备并由显示布置存储的全景图像的图像数据来掩蔽或填充图像670中的丢失区域(未示出为阴影的那些部分)。因此,该技术的实施例因此可以包括用来自另一图像源的图像材料填充重投影图像的除了重叠部分之外的部分。
为了通过考虑视点的平移重投影图像,本发明的实施例可以使用与图像相关联的深度信息。图18示意性地示出深度图,所述深度图可以例如从由3-D(双目)照相机或所谓的Z照相机捕获的图像数据导出,或者可以作为计算机游戏机的绘制引擎的操作的一部分生成。
在图18的示意性例子中,在从任意深度位置700测量的相应图像深度zA、zB和zC处显示标记为对象A、B和C的三个图像对象。显示两个潜在视点,分别标记为视点v1和视点v2。
图19和图20分别示意性地示出根据视点v1和视点v2的图像的部分。在绘制阶段,在生成图像时考虑每个图像对象的深度。然而,该技术也可以在诸如由上述步骤630限定的重投影阶段使用,使得图像对象可以根据它们相应的图像深度在重投影图像中相对于彼此移动。因此,该技术可以涉及提供指示一个或多个图像特征的图像深度的深度数据,并且重投影可以包括根据深度数据重定位重投影图像内的一个或多个图像特征。
图21示意性地示出用于图像绘制和重投影以补偿HMD运动的技术。以与图14类似的方式,用户视点从作为图15的步骤620的一部分检测的视点710移动或旋转到作为图15的步骤630的一部分检测到的视点720,并且据此重投影用于显示的图像。以该方式,将根据正确视点720的图像显示给用户。
更详细地,图22是与图21中所示的技术相关的示意性流程图。在图22中,显示处理步骤800、810、820、830、840和850。在这些中,步骤800、810和820大体上对应于图15的步骤620。其余步骤830、840和850大体上对应于图15的步骤630。
在步骤800,检测HMD的当前位置(对应于图21的位置710),并且在步骤810存储(例如在形成HMD或计算机游戏机的一部分的临时工作存储器中)。在步骤820,根据视点710绘制用于显示的图像。
在将要显示绘制图像时,或者在将要显示图像的时刻之前的时间间隔t,其中t是重投影操作所需的时间长度,在步骤830再次检测HMD位置,在该例子中,其将检测位置720。如上所述在步骤840重投影用于显示的图像,并且在步骤850显示给用户。
现在将讨论与捕获图像相关的类似例子。图23示意性地示出用于图像捕获和重投影以补偿不同的照相机和HMD位置的技术。在图23中照相机视点730不同于HMD视点740。
图24是与图23中所示的技术相关的示意流程图。
在图24中,示出处理步骤900、910、920、930、940和950。在这些中,步骤900和910大体上对应于图15的步骤620。其余步骤920、930、940和950大体上对应于图15的步骤630。
在步骤900,检测照相机的当前位置(对应于图23的位置730),并且在步骤910,作为元数据与捕获图像一起传输。
在将要显示图像时,或者在将要显示图像的时刻之前的时间间隔t,其中t是重投影操作所需的时间长度,在步骤920检测HMD位置,在该例子中,其将检测位置740。如上所述在步骤930重投影用于显示的图像,并且绘制(在步骤940)以在步骤950显示给用户。
图25示意性地示出通过组合或拼接由相应照相机或照相机位置1000、1010、1020捕获的图像形成的全景图像1030的观看。应当注意,不必涉及真实照相机;可以通过将具有不同的相应视点的多个计算机生成的图像拼接在一起来形成全景图像。以与上述步骤910类似的方式,用于捕获全景图像的照相机、照相机位置或虚拟照相机的每一个的视点与全景图像或对应于该视点作为图像元数据的相应图像部分相关联。在显示时,根据用户视点1040,通过根据上述的技术重投影相应图像部分或整个全景图像来生成用于显示的图像1050。
图26示意性地示出显示图像中的照相机视点调节,其可以允许图像以它们相对于观看者的原始大小和位置被再现。图26的左侧示意性地示出用户使用手持式照相机捕获(在该例子中)高层建筑物的图像。如上所述,照相机视点被记录并且与作为元数据的捕获图像相关联。在图26的右侧,用户正在通过HMD观看捕获图像。使用上述技术根据用户的视点重投影捕获图像。
上述的数据处理操作可以在视频信号源80(例如,计算机游戏机)和/或HMD处执行(根据图22的所有步骤和图24的步骤920..950)。在HMD处的处理和在源80处的处理之间的划分是系统设计者的问题;可能期望减小HMD的尺寸、重量和功率消耗以便用户舒适,这将使得将尽可能多的处理移动到源80是合适的。替代地,为了减少需要在HMD和源80之间传输的数据量,一些处理可以完全在HMD处发生。在任一情况下,例如,可以通过在软件控制下操作的适当的可编程硬件来执行处理。图24的步骤900、910可以由照相机或(以与上面的讨论类似的方式)由与照相机关联的装置执行。为了举例目的,图27示意性地示出具有该功能的照相机1100。在图27中,照相机1100包括透镜布置1110,布置成通过透镜布置1110接收光并将光转换成图像信号的图像传感器1120,位置、取向和/或运动检测器1130,其可以是上面结合检测HMD的位置、取向和/或运动讨论的类型,以及处理器1140,其可操作以使用来自检测器1130的数据执行至少步骤900、910并且输出具有关联视点元数据的图像信号1150,如上所述。应当注意,如果如先前所述使用光流运动检测,则可以简单地从传感器1120导出用于该处理的图像数据,因此避免需要独立的检测器1130。
根据本发明的至少一些实施例,通过在视频信号中加入额外数据,诸如头戴式显示器(HMD)或多屏幕投影仪的沉浸式视频显示器能够以真实大小和它们的正确取向向观看者再现图像。对于交互式应用,可以快速地并且在显示之前的最晚时间执行图像重投影。这可以减少由绘制延迟导致的不希望的图像移动。对于任何应用程序,该技术可以稳定照相机运动,减少观看者呕吐,并且保持对象的真实世界取向,改善沉浸和真实性。
在本发明的至少一些实施例中,单个HMD可以用于使用相同的技术重投影交互式内容和广播TV信号。如果观看者正在与照相机不同的方向上观看,则可以看到一些框架边界,但是可以使用补充的全景静止图像来填充间隙而减轻这种情况。
本发明的实施例也可以解决与由抖动照相机(例如由手持照相机或受到对其运动的外部影响的照相机,例如安装在机械装置上或在风流的路径中的照相机)捕获的视频相关的问题。通过将元数据与指示图像捕获期间的照相机的运动的图像(如上所述)相关联,在使用上述技术的显示时执行重投影。以该方式,图像的中心区域可以补偿照相机运动,并且对于观看者来说是稳定的,尽管由于补偿,图像的外边界可能移动。
到此为止描述的实施例主要涉及头戴式显示器。现在将描述另外的布置,其中一个显示器或多个显示器不是头戴式的。
图28示意性地示出观察显示屏1210的观看者1200。显示屏1210可以是向前投影屏幕(在该情况下未显示的一个或多个投影仪可以与用户位于屏幕1210的同一侧)或后投影屏幕(在该情况下未显示的一个或多个投影仪可以位于屏幕的与用户相反的另一侧),或形成为一个或多个显示面板,例如液晶显示器LCD)面板。技术人员将理解,用于实现图像在显示屏1210上的显示的特定技术对于本实施例不是重要的。
上面结合HMD装置所讨论的许多技术也可以等效地用于图28的布置。在HMD系统的在先讨论中,通过各种技术检测HMD的取向。在图28的布置中的类似考虑涉及检测用户的头部取向。将领会头部取向不一定指示用户正在看的方向,但是通常认为指示观察方向1220的良好近似。
因此,在一些实施例中,可以关于较大的显示器1210和用户头部取向的检测使用如上所述的(结合HMD系统)相同技术。下面将讨论可以检测头部取向的各种方式。
图29示意性地示出佩戴头部取向检测器1310的用户1300。头部取向检测器1310示意性地示出为头带1320和安装在头带上的取向检测器1330。实际上,可以使该布置更分立,例如组合成可附连到常规眼镜1340或形成帽子或耳机对的一部分的配件。
在功能上,取向检测器1330根据图8中所示的技术操作,如果先前结合图8的描述讨论的所有各种替代方案。在这方面,取向检测器1330包含HMD的大部分功能,但是没有图像显示功能。
取向检测器1330可以包括处理器以从其正在使用的任何数据源(例如,环境场景的图像或加速度计数据)导出取向,使得取向检测器1330例如通过诸如蓝牙链路的无线链路将指示取向的数据传输到接收器1350。当然,可以使用有线链路。替代地,取向检测器1330可将诸如环境的捕获图像或来自加速度计的原始数据的“原始”采集数据传输到接收器1350,使得接收器1350(或另一下游处理设备,未显示)从由取向检测器1330接收的原始数据导出取向信息。
图30示意性地示出被动头部取向检测技术。该布置不一定要求用户1400佩戴或携带任何特定的设备或物品。摄像机1410捕获用户1400的图像并且将图像传递到处理器1420。处理器1420可以以各种方式操作。在一个例子中,处理器1420可以应用已知的面部检测技术来检测新面部相对于照相机1410的取向。例如,这样的技术可以包括将包含用户面部(标准化为标准尺度)的图像部分与各种特征图像比较,每个特征图像指示相对于照相机在不同取向的面部的特征。特征图像中的最接近匹配可以被获取以指示用户的面部的当前取向。处理器1420可以用限定照相机1410和使用中的显示屏的相对取向的信息来校准,从而能够提供指示用户的面部相对于显示屏的当前取向的输出。
在另一例子中,用户可以佩戴一个或多个无源标记,例如反射或反光标记(在图30中未显示),以帮助处理器1420检测用户的面部相对于照相机的取向。例如,如果用户眼镜的侧臂1430带有不同的(也就是说,可由照相机1410区分)反射标记,则可以处理相应标记的捕获图像中的相对尺寸以提供用户面部的取向的指示。可选地,照相机1410可以包括布置成消除标记的照明源。可选地,照明对于用户可以是不可见的或基本上不可见的,例如红外照明。
图31示意性地示出使用多个投影仪的显示布置。
在图31中,作为例子提供了四个投影仪,即投影仪1500A、1500B、1500C和1500D。投影仪具有相应的视野,所述视野一起包含整个显示屏1510。相应的视野由相应的虚线1520A-D示意性地表示,为了图示的目的,所述虚线在投影仪屏幕后面显示。事实上,当然,要考虑的重要区域是在投影仪屏幕1510的平面处的投影的范围。
四个投影仪由显示控制器1530驱动,所述显示控制器向每个投影仪1500A-D提供相应的显示信号。现在将讨论信号的形成。
参考观察显示屏1510的观看者(未在图31中显示),头部取向检测器1540布置成参考显示屏1510来检测观看者的头部的取向。上面讨论的各种技术适合于该检测。同样如上所述,这提供观看者正在看的方向的指示。图31中所示的系统的目的是在整个显示屏1510上显示由图像信号1550提供的较低分辨率的背景场景,但是由图像信号1560提供的较高分辨率的插入图像被叠加从而替换较低分辨率背景场景的一部分。(如果未检测到观看者的头部取向,则可以假定固定的头部位置-在模拟器环境中并不罕见)
在图32中示意性地示出例子,其可以形成与沿着由树(在图32中非常示意性地显示)包围的道路行驶相关的视频或视频游戏的一部分。这里,以比以较高分辨率生成和显示的插入图像1600低的分辨率生成和显示背景场景。插入图像1600涉及用户将专注的整个场景的部分,即(在该例子中)道路正前方和任何迎面驶来的车辆。剩余的背景图像(在插入图像的插入之后)与对于用户的注意力不太重要的整个场景的其他部分相关。为什么使用图像分辨率的该差异的一个原因是由于在以高分辨率生成覆盖整个显示器的整个场景中的高处理开销。相反,背景可以以较低的分辨率生成(并且可以布置成比插入图像更不频繁地改变),从而节省处理开销。
应当注意,指示插入图像1600的范围的虚线仅仅是为了附图的清楚,并且不会出现在实际显示的图像中。
返回到图31,由信号1560表示的插入图像由重投影逻辑1570在适当的图像显示位置处根据检测到的观看者的头部取向重投影。重投影插入信号被提供给显示控制器,所述显示控制器将其在适当的显示位置处与由信号1550表示的较低分辨率背景场景组合。
与图31的布置类似的布置可以涉及体育赛事等的电视覆盖。背景显示可以是例如整个体育场的图像(尽管不一定所有的运动场都可以一次显示给用户)。将要重投影到主显示器中的插入图像是来自跟随体育动作(例如,队员的运动)的照相机的镜头。使用上述元数据和技术将插入图像重投影到背景图像中的适当位置。这向观看者提供在整个体育场的背景中在何处发生动作的指示。
当重投影图像作为以上过程的一部分移动时本发明的实施例可以使用重投影图像的未变化部分(或某种颜色或纹理的部分,可能表示草的视图)填充背景图像。在一些例子中,可以通过在重投影图像移动时从重投影图像复制用表示体育场的较高分辨率的图像材料填充低分辨率背景图像。如果多个照相机视图可用(一些广播公司对体育赛事等的覆盖就是这种情况),则(a)用户可以选择重投影一个或多个这样的视图,以及(b)这将允许通过从一个以上这样的视图获取材料更快地填充背景图像。
在其他例子中,如果深度图或其他深度数据带有背景和插入图像,则用户可以在三维中在整个场景到处移动,其中响应于用户的虚拟位置来调节重投影。
另一例子涉及视频游戏,使得整个背景图像可以表示虚拟世界的一些或全部。与玩家的特定游戏动作相关的场景作为插入图像被重投影到虚拟世界内的正确位置。
图33和34示意性地示出图像的各个不同的视野(FOV)型式。
现在将要描述的涉及图像的多个FOV型式的系统背后的基本原理是许多图像(特别是在视频游戏的背景中)具有主要感兴趣的点或区域。为了获得对用户主观上有吸引力的图像,但是没有以非常高的分辨率传输整个图像的过高带宽要求,下面将描述的技术涉及提供图像的两种型式。
诸如图33中所示的第一型式提供整个图像的特定分辨率(例如,可能720或更多视频行的高分辨率)表示。该表示被称为大或高FOV图像,原因是图像的FOV包含(例如)整个原始绘制的图像。
诸如图34中所示的另一型式具有较低或较小的FOV,因此不包括所有原始绘制的图像。相反,表示感兴趣的区域。在图34的例子中,感兴趣区域涉及直升机的机舱和机身,但是一般来说,在视频游戏情况下,感兴趣区域通常与在视频游戏中的玩家角色周围的区域相关,或者在“第一人称视点”视频游戏的情况下,与在最重要或当前最危险的敌人周围(例如)预定边缘距离的区域相关。其他系统(除了视频游戏之外)也可以具有以自动化方式可识别的感兴趣区域。例如,视频广告可以具有限定感兴趣产品的图像位置的关联元数据。或者,在HMD的情况下,眼睛跟踪可以用于检测用户当前正在观看图像的哪个部分,使得图像的识别部分(无论其包含什么图像材料或内容)被视为感兴趣区域。默认可以是感兴趣区域是较高FOV图像的居中定位的区域。应当注意在至少一些实施例中,已经将HMD位置和/或取向(作为参考图22和24讨论的两阶段重投影过程的一部分)用作影响每个图像的生成的元数据,因此传输和使用眼睛位置元数据来影响将绘制图像编码为高和低FOV部分不是过度的处理负担。
可以以与图33的图像相同的基本分辨率提供图34的图像,例如720或更多视频行的高分辨率。但是由于图34的图像的FOV小于图33的图像的FOV,因此在图34的图像中表示的每个特定图像特征有效地以比图33的图像中的该特征的相应表示更高的分辨率被表示。
两个图像(图33和图34)提供表示相同底层场景或绘制图像的图像对,但是以两种不同的方式。这是两个或更多个这样的图像的例子。
图35示意性地示出高FOV图像和低FOV图像的组合。这里,缩放图34的图像或图33的图像(或两者)从而均衡图33和图34的图像的比例。例如,如果低FOV图像(图34)在高FOV图像(图33)的范围的每个线性方向上包括50%,则示例性缩放操作应用于图34的图像,在每个线性方向上的因数为50%。在所示的特定例子中,目的是缩放图像之一或两者,使得直升机在两个图像中具有相同尺寸。这然后允许来自低FOV图像的图像内容插入高FOV图像的较宽FOV、但是较低分辨率视图中。
在图35中示意性地示出图像内容的该插入,其中虚线1700指示图34的低FOV图像的原始边界。在基本水平,可以从低FOV图像提供边界1700内部的图像内容并且可以从高FOV图像提供边界1700外部的图像内容。
但是在更复杂的布置中,为了避免边界1700处的图像质量的突然转变,在边界1700和位于边界1700内部的边界轮廓1710之间限定边界区域。在边界区域中,两个图像以在轮廓1710和边界1700之间变化的比例混合,使得在轮廓1710处,完全从图34的低FOV图像导出图35的合成图像,在边界1700处,合成图像完全从图33的高FOV图像导出,并且在轮廓1710和边界1700之间,两个图像的比例随着轮廓1710和边界1700之间的距离而变化,例如作为线性变化。这提供从两个贡献图像导出的合成图像35的部分之间的更平滑过渡。
在另一可能的操作模式中,边界1700和/或轮廓1710的尖角可以为圆形,其可能通过应用延伸90°并且具有图34的(缩放)图像的横向宽度的5%的半径(例如)的圆角半径外部形状实现。在图35中关于一个拐角示出这样的圆角轮廓的例子1720,但是将领会相同的轮廓可以应用于下列之一或两者:(a)边界1700的所有四个拐角,以及(b)轮廓1710的所有四个拐角(如果使用的话)。使用圆角或以另外方式平滑的轮廓或边界可以避免与在锐角处出现的图像的混合相关的可见伪影。
将领会可以使用具有不同的相应FOV的两个以上的图像,使得然后以与参考图35描述的类似的方式组合图像以形成合成图像。如果使用两个以上的不同FOV,图像的集合可以(例如)包括:
(a)以相同位置为中心的一系列不同FOV图像,也就是说,感兴趣的相同点或区域;和/或
(b)覆盖(例如)整个原始绘制图像的高FOV图像,加上与相应的不同感兴趣区域相关的两个或更多个较低FOV图像。
现在将描述用于以这样的方式对多个FOV图像进行编码的技术,使得它们可以使用诸如HDMI接口和电缆的常规格式传输介质从例如游戏控制台传递到用于显示的HMD。
一个示例性技术包括将图像对(高FOV和低FOV)格式化或伪装为例如用于在诸如HDMI 1.4视频链路的链路上传输的“伪”3-D高清晰度图像。另一例子技术包括以比生成图像的速率更高的帧速率对图像对进行编码。
因此,参考图35描述的技术提供以下一个或多个例子:关于由低FOV表示表示的图像区域主要使用来自低FOV表示的图像内容,并且对于其他图像区域使用来自相应的高FOV表示的图像内容;对于低FOV表示的至少一个中心区域,用所述低FOV表示的对应图像内容替换高FOV表示的图像内容;以及对于低FOV表示的至少周边区域,混合高和低FOV表示的图像内容。也可以使用上面讨论的重投影技术,使得根据期望的显示视点,图像的组合包括重投影以形成相应的显示图像。
图36示意性地示出将多个FOV图像编码为连续合成图像。
在下面将要描述的图36和图37两者中,假定显示器(在该例子中,HMD)是立体显示器,并且因此生成左和右图像。在例如视频游戏控制台的绘制缓冲器中以(例如)30Hz的帧速率和(例如)1440×1620×2的分辨率生成的左图像和右图像标记为图像1800、1810。从这些,编码器(下面参考图45描述)生成相应的高FOV和低FOV图像。
用于左和右分量的每一个的高和低FOV图像的每一个具有与这四个图像中的其他图像的每一个相同的分辨率。它们也具有与原始1440×1620图像相同的纵横比(在该例子中)。由编码器成对组合,使得从原始图像对1800、1810生成的四个图像中的两个编码为第一高清晰度60Hz帧1820,并且剩余的两个编码为下一高清晰度60Hz帧1830。以该方式,可以在根据其生成原始图像1800、1810的原始30Hz帧时段中传输所有四个生成的图像(左、右、高FOV、低FOV)。然后可以由HMD以30Hz或其他帧速率处理和显示图像。
图36显示一个示例性排列,其中四个图像被分成两个高清晰度60Hz帧1820、1830。当然将领会可以替代地使用其他可用排列。
在HMD处,左和右图像的每一个的高FOV和低FOV部分重新组合,并且在本发明的实施例中重投影以便显示给用户的左眼和右眼。在本发明的实施例中,使用参考上面图22和图24讨论的技术进行重投影,也就是说获取最新的HMD位置,并且基于最新的HMD位置和在图像初始生成时可应用的位置重投影图像以便显示给每只眼睛。由HMD显示的输出图像指示为1840、1850。
图37示意性地示出将多个FOV图像编码为虚拟3D图像。这里,术语“虚拟”意指使用可应用于3D图像的传输格式,但是实际上由该传输格式编码的图像可以或不可以作为立体图像对可观看(例如,在3D电视显示器上)。然而,应当注意,在诸如图37所示的一些布置中,“虚拟”图像确实可以在3D显示器上立体地观看,但是图像内容对于观看者可能看起来有点奇怪,原因是显示器将在低FOV图像旁边显示高FOV图像。
再次,该过程从左和右生成的图像1800、1810开始,每一个(在本例子中)大小为1440×1620像素并且以830Hz帧速率生成。从左和右图像1800、1810的每一个形成低和高FOV图像。然而,与图36相比,左图像对被格式化为单个帧1860,并且右图像对被格式化为单个帧1870,使得两个帧1860、1870以例如720p(720行,逐行扫描)的分辨率形成3-D视频信号的左和右图像。3-D视频信号的帧速率可以为例如60Hz。再次,这允许使用诸如HDMI电缆的标准视频连接将每个图像对的低和高FOV部分传输到HMD,但是这次使用3-D视频传输标准。
与前面一样,将低和高FOV部分组合并且在HMD处重投影以形成左和右图像1840、1850以供HMD显示。
图38是示出在竖直虚线1900的左侧(在本实施例中)由游戏控制台或其他数据处理系统执行的生成、编码、解码和使用多个FOV图像步骤和在线1900右侧由HMD执行的步骤中涉及的操作的示意性流程图。下面将参考图45和46讨论用于执行这些步骤的合适的装置。
在步骤1910,游戏控制台生成左图像和右图像,例如将它们存储在如上所述的绘制缓冲器中。
在步骤1920,游戏控制台关于生成的左和右图像的每一个生成高FOV图像和低FOV图像。
在步骤1930,四个结果图像被编码,例如作为“虚拟”3-D视频或作为具有比在步骤1910生成原始左和右图像的速率更高的帧速率的视频流中的替代图像。在任一情况下,例如使用诸如HDMI接口和电缆的标准连接将编码图像传递到HMD。
在步骤1940,HMD接收并且解码四个图像,将它们适当地存储在缓冲器中。
最后,在步骤1950,HMD根据最新的HMD位置(使用图22和图24的技术)组合并且重投影左和右图像。
因此,图36-38及其附带的描述提供图像编码方法的例子,其包括:对于立体图像对的左和右图像的每一个,在输入图像中识别感兴趣区域;生成该输入图像的至少两个生成表示,使得表示中的一个是包括基本上所有输入图像的高视野(FOV)表示,并且另一个表示是具有比高FOV表示低的FOV并且至少包括感兴趣区域的低FOV表示;其中用于高FOV表示和低FOV表示的像素分辨率和图像尺寸之间的关系使得关于感兴趣区域,低FOV表示提供比高FOV表示更高量的图像细节;通过并置左和右、高FOV和低FOV表示的至少部分来生成一个或多个复用图像,从而在少于四个复用图像中包括左和右、高FOV和低FOV表示的所有图像内容图片;以及传输和/或存储(或简单地“输出”)复用图像。
在显示侧,这些技术提供图像显示方法的例子,其包括:接收通过上面限定的方法传输和/或存储的复用图像;对复用图像解复用以生成左和右、高FOV和低FOV表示的集合;以及组合左和右图像的每一个的低FOV表示和高FOV表示以提供相应的左和右显示图像。
下面参考图44-45描述用于执行这些方法(其可以或可以不至少部分地在软件控制下操作)的合适装置。编码方法可以由视频游戏机执行。显示方法可以由头戴式显示器执行。
本发明的实施例也包括图像信号,所述图像信号包括连续复用图像使得复用图像包括输入立体图像对的左和右、高视野(FOV)和低FOV表示的并置部分,从而在少于四个复用图像中包括左和右、高FOV和低FOV表示的所有图像内容,其中用于高FOV表示和低FOV表示的像素分辨率和图像尺寸之间的关系使得关于感兴趣区域,低FOV表示提供比高FOV表示更高量的图像细节,以及存储这样的图像信号的存储介质。
如上所述,在复用图像中不同图像的各种排列是可能的,使得本发明的实施例包括生成一个或多个复用图像,包括通过将左和右、高FOV和低FOV表示中的第一个的整体紧挨着左和右、高FOV和低FOV表示中的第二个的整体并置而生成第一复用图像,以及通过将左和右、高FOV和低FOV表示中的第三个的整体紧挨着左和右、高FOV和低FOV表示中的第四个的整体并置而生成第二复用图像。
在本发明的实施例中,复用图像可以以比输入图像的图像重复率更高的图像重复率输出(传输、存储等),或者可以作为相应的左和右虚拟3D图像输出。
图39示意性地示出所谓的帧破裂。
帧破裂是可以在视频游戏系统中发生的现象,其中导致生成和绘制用于显示的图像的处理不与图像显示时段时间同步。
考虑假设的例子,如果正以例如30Hz的帧速率生成图像以便显示,则每1/30秒或33.3(复现)毫秒需要一个新图像。如果生成图像所需的处理稍微小于该时间,则可以在必须开始下一图像的处理之前刚好及时完成图像生成。在这样的系统中,实际上可以能够使图像生成和图像输出同步。
然而,考虑如果图像生成耗时(例如)37ms的情况。如果该过程在生成图像之后暂停并且在下一图像时段等待同步,则它们将浪费大量的处理时间,并且将获得仅15Hz的图像输出速率。特别地,系统将在生成每个图像之后花费近30ms等待。实际上,生成每个图像所花费的时间可能是可变的,使得等待时间将必须基于最坏情况的可能性,导致潜在地浪费更加多的处理时间。因此,为了避免处理时间的该浪费,在许多系统中,一旦系统已生成一个图像,其被布置为开始生成下一图像,在该例子中再次耗时37ms。
该布置将避免浪费处理能力,但是必须记住,图像需要以每1/30秒的规则和固定的速率输出。所以在图像生成和图像输出之间缺乏同步的结果是,当从绘制缓冲器输出每个图像时,在许多情况下它将部分地由一个图像(部分完成的新生成的图像)形成,并且部分地由在前图像(关于尚未被新生成的图像重写的那些部分)形成。该情况在图39中示意性地示出,其中关于任意一个生成的图像1960,部分1970是新生成的图像(图像n),而另一部分1980是先前生成的图像(图像n-1)的一部分。
这种类型的布置在视频游戏系统中相对常见,并且在许多情况下不会造成困难。然而,在使用重投影的系统中,它可能导致问题。
这是由于每个图像初始生成以对应于在图像的生成开始时采样的HMD的视点。(将回想起在显示图像时使用重投影来将视点改变为当前HMD视点)。但是如果图像由如图39所示的不同部分形成,则可应用于每个构成图像(图像n和图像n-1)的相应视点很可能是不同的。这会导致上述重投影技术的大问题。
为了解决该问题,在本发明的实施例中使用特定类型的图像元数据编码。将参考图40和41描述该编码。这与这样的布置特别相关,其中与预定的图像输出时段同步地周期性地生成连续输出图像,但是相对于生成连续输出图像的步骤异步地执行生成图像内容。
图40示意性地示出元数据编码技术,其对于会受到所谓的帧破裂的系统是特别有用的。图41示意性地表示根据该技术的编码的元数据。
参考图40,在步骤2000,对应于待编码的图像的上部分的视图矩阵的视图矩阵数据(限定关于其生成图像的视图矩阵的元数据)在编码图像的顶部被编码。在图41的例子中,编码借助于编码图像中的像素的虚线2010,使得代替这些数据位置由像素数据占据,它们相反由编码视图矩阵元数据占据。在图39-41的例子中,线2010将携带用于图像n的视图矩阵元数据。
作为步骤2020,并且图像标识符在图像侧,例如在虚拟像素列2030中向下编码。例如,图像标识符可以形成为滚动七位或八位值(因此在一些编码技术这将占据一个像素列),其在滚动基础上表示连续帧。在一些实施例中,至少对于每行像素存在帧标识符值,使得在图像破裂情况下,每行像素源自哪个图像的逐行定义。在本例子中,像素列2030的上部分编码图像编号n(或至少在这些例子中是该编号的模27或28计数),并且像素列2030的下部分编码图像编号n-1。
当然,不是每一行都必须在列2030中具有虚拟像素;编码可以应用于行组(例如,在八位虚拟像素值中,八位值的四个两位部分的每一个可以指示四个相应行的每一个的图像编号(模4)。或者实际上由列2030提供的数据可以被提供一次,例如作为在图像的顶部或底部或其他地方的行中的虚拟像素数据。
元数据编码处理的最后阶段是在图40中的步骤2040,其中用于图像的下部分的视图矩阵数据在图像的底部被编码。在该例子中,编码借助于一个或多个虚拟像素行2050并且携带用于图像n-1的视图矩阵数据。
因此,假设在帧破裂情况将导致不超过两个图像对特定输出图像有贡献(换句话说,图39的例子),本布置提供视图矩阵数据的两个集合,一个在对应于上部分的视图矩阵(或者特别地,可应用于真实像素的顶行的视图矩阵数据)的图像的顶部并且一个在对应于下部分的视图矩阵的图像的底部(或者特别地,可应用于真实像素的底行的视图矩阵数据)。虚拟像素列2030中的图像标识符用于识别这些视图矩阵数据集中的哪一个可应用于每个像素行。如果涉及三个或更多个图像,则对于与第三或后续图像相关联的视点数据可以使用各种位置(例如在图像底部的另一像素行)。
将领会不必使用虚拟像素编码这些项。可以相反地使用独立的关联数据。然而,使用所描述的虚拟像素的优点是它们将总是随图像携带,而关联但独立的元数据可以或可以不由一些传输路由从图像剥离或分离。然而,如果使用虚拟像素数据,则认为有利的是将其定位在图像的极端边缘(顶部,底部,左边,右边)以减少其对图像的视觉部分的影响并且允许其在显示之前被去除。
本发明的实施例可以提供将元数据的至少一部分编码为相应输出图像内的像素数据。例如,指示根据每个视点生成输出图像的哪些部分的元数据可以被编码为该输出图像中的像素行的至少一个子集的每一个的一个边缘处的像素数据。例如,指示根据每个视点生成输出图像的哪些部分的元数据可以被提供作为该输出图像中的每个像素行的一个边缘处的像素数据,从而指示与该像素行相关的视点。例如,指示与包含在该输出图像中的图像内容相关的每个视点的元数据可以被编码为相应输出图像内的像素数据。例如,指示与该输出图像中包含的图像内容相关的每个视点的元数据可以在输出图像的顶部和/或底部边缘处被编码为相应输出图像内的像素数据的一个或多个行中的像素数据。
因此,结合前面讨论的图像传输技术,图39-41提供一种用于通过以下方式处理帧破裂的技术:(a)能够使用图像固有的数据并且在逐行的基础上限定哪个原始图像由每个像素行表示;和(b)能够限定可应用于图像的不同部分的视图矩阵数据的多个集合。这些特征然后有利地允许使用重投影,即使已发生帧破裂。下面将描述用于实现这一点的技术。
因此,图39-41(和下面讨论的图42-43)及其伴随的描述提供图像编码方法的例子,其包括:根据由图像视点数据限定的视点生成图像内容;生成连续输出图像使得每个输出图像包括根据一个或多个视点生成的图像内容;以及编码与每个输出图像相关联的元数据,其指示与包含在该输出图像中的图像内容相关的每个视点,并且限定该输出图像的哪些部分根据那些视点的每一个生成;以及提供用于从连续输入图像生成连续显示图像的图像显示方法的例子,每个连续输入图像包括根据一个或多个视点生成的图像内容,每个输入图像具有指示与包含在该输入图像中的图像内容相关的每个视点的关联元数据,所述方法包括:根据期望的显示视点和由与输入图像相关联的元数据针对该部分限定的视点之间的任何差异,重投影每个输入图像的部分以形成相应的显示图像。图44-45提供可能(但不一定)至少部分地在合适的计算机软件的控制下执行这样的方法的装置的例子。编码方法可以由视频游戏机执行。显示方法可以由头戴式显示系统执行。
本发明的实施例也包括使用这些技术生成的图像信号,例如包括连续输出图像的图像信号,使得每个输出图像包括根据一个或多个视点生成的图像内容和与每个输出图像相关联的元数据,其指示与包含在该输出图像中的图像内容相关的每个视点,并且限定该输出图像的哪些部分根据那些视点的每一个生成,以及存储介质(例如磁盘或存储器介质),通过所述存储介质存储这样的信号。
当然,在关于特定图像不发生帧破裂的情况下,行2010、2050中的视图矩阵数据的两个集合将是相同的。
图42和43是示出组合帧破裂周围的图像的两种不同方式的示意性流程图。讨论将提到帧破裂图像的“第一”和“第二”部分。对于哪个部分对应于图39中所示的部分是任意选择。为了讨论起见,第一部分将被认为表示图39中的部分1970并且第二部分将被认为表示图39中的部分1980,但是如果部分是相反的,讨论同样有效。
参考图42,基于行2010和2050中的视图矩阵数据的两个集合,在步骤2100将帧破裂图像的第二部分重投影到第一部分的视点。在步骤2110将重投影的第二部分与第一部分组合。然后,在步骤2120将从步骤2110得到的组合图像在显示时重投影到HMD的视点。
在图43中示意性地示出不同的布置,其中在步骤2130使用其相应的视图矩阵数据将第一部分重投影到当前HMD视点。在步骤2140将第二部分重投影到相同的当前HMD视点。在步骤2150组合两个重投射部分以便显示。
作为图42的步骤2120 110的示例,图44示意性地示出在帧破裂处的重投影过程。这里,图像2160在其生成期间经历帧破裂,导致部分A和B。尽管这是关于哪个部分被重投影到另一部分的任意选择,但是在该例子中,较旧的帧部分(B)被重投影到较新的帧部分(A)的视点,部分是由于最近获取的部分A的视点更接近HMD的当前视点的可能性更大。与该示例性图像结合,根据不同的相应视点生成的图像的部分是上部和下部图像部分;并且指示可应用于上部图像部分的视点的元数据可以被编码为输出图像的像素的一个或多个最顶行中的像素数据,并且指示可应用于下部图像部分的视点的元数据作为像素数据可以在输出图像的像素的一个或多个最底行中被编码。
应当注意,作为重投影和/或显示过程的一部分,任何虚设像素元数据被去除或掩蔽(或在处理中的任何阶段以另外方式被省略)从而不被显示。
通过检测观看者头部的当前位置和/或取向;以及根据检测到的用户头部的当前位置和/或取向导出显示视点,可以获得用于重投影的视点。
(类似地,如先前所述,通过检测观看者头部的初始位置和/或取向;以及将检测到的初始位置和/或取向提供给图像生成器以根据作为视点的该初始位置和/或取向生成图像内容,可以导出用于图像生成的视点)。
这些技术当然对单个图像或上述类型的低和高FOV图像等同地操作。
作为执行上述各种操作的实现方式的例子,图45示意性地示出图像生成器的一部分;并且图46示意性地示出HMD的一部分。
在图45中,绘制引擎2200响应游戏参数2210以生成存储在绘制缓冲器2220中的合适输出图像。输出编码器2230生成上述类型的输出图像。
在图46中,解码器和缓冲器2240接收由输出编码器2230提供的编码图像,对它们进行解码并对它们进行缓冲。如果适当,解码器和缓冲器2240也组合如上所述的低和高FOV图像。重投影单元2250响应当前HMD视点2260以生成在显示器(例如,用于每只眼睛的一个显示器)2270上显示的输出图像。
上述技术可以以硬件、软件或两者的组合实现。在使用软件控制的数据处理装置来实现实施例的一个或多个特征的情况下,将领会这样的软件和存储或传输介质(例如提供这样的软件所借助的非暂时性机器可读存储介质)也被视为本发明的实施例。
数据信号
将领会由上述装置的变型生成的数据信号以及承载这样的信号的存储或传输介质被认为表示本发明的实施例。
在上面讨论处理、编码或解码的方法的情况下,将领会配置成执行这样的方法的装置也被认为表示本发明的实施例。也将领会包含这样的技术的视频存储、传输、捕获和/或显示装置被认为表示本发明的实施例。
在本发明的实施例被描述为至少部分地由软件控制的数据处理装置实现的情况下,将领会携带这样的软件的非暂时性机器可读介质(例如光盘、磁盘、半导体存储器等)也被认为表示本发明的实施例。
显然本发明的许多修改和变化根据以上教导是可能的。所以应当理解在附带的权利要求的范围内,可以以与本文中具体描述不同的方式来实施本技术。