根据眼睛追踪的实时透镜像差校正的制作方法

文档序号:11530255阅读:244来源:国知局
根据眼睛追踪的实时透镜像差校正的制造方法与工艺

优先权要求

本申请根据美国法典第35篇第119条款要求2014年9月30日提交的、题为“realtimelensaberrationcorrectionfromeyetracking”的美国临时专利申请号62/058,057的优先权,其公开内容以引用的方式并入本文。

相关申请的交叉引用

本申请涉及2014年2月21日提交并且题为“digitalinter-pupillarydistanceadjustment”的美国申请号14/187,127,2014年3月25日提交的并且题为“systemsandmethodsforcustomizingopticalrepresentationofviewsprovidedbyaheadmounteddisplaybasedonopticalprescriptionofauser”的美国申请号14/225,408,以及2014年6月11日提交的英国专利申请号1410397.2,所述申请的内容以引用的方式整体并入本文。

本发明涉及用于基于眼睛追踪来调整提供至头戴式显示器的图像的方法和系统。



背景技术:

总的来说,视频游戏和计算机行业这些年已经发生了许多变化。随着计算能力的扩展,视频游戏/应用程序的开发者同样已经创建了利用这些增加的计算能力的游戏和其他软件。为此目的,视频游戏和应用程序开发者一直在编码并入有复杂操作和数学运算的游戏和应用程序,以产生非常逼真的游戏/应用程序体验。

计算机游戏行业的发展趋势在于开发增加用户与计算系统之间的交互的游戏、游戏控制器和头戴式或头耦合式显示器(hmd)。游戏控制器例如包括实现更丰富的交互体验的特征,所述特征通过允许游戏系统追踪玩家的变化的移动且使用这些移动作为在所述游戏系统上执行的游戏的输入。所述头戴式显示器包括处于用户的一只或两只眼睛前面的光学器件和显示屏,以便提供应用程序(诸如游戏应用程序)的清晰的三维图像。

为了节约成本,低成本透镜光学器件被用于hmd。然而,这些光学器件产生像差(几何的和/或色彩的),所述像差导致使用户观看到的图像质量退化。

正是在这种情况下,本发明的实施方案应运而生。



技术实现要素:

本发明的实施方案提供用于如本文所述提供实时透镜像差校正的系统和方法。

广义上说,本发明的各种实施方案公开了用于调整由应用程序(诸如游戏应用程序)提供给头戴式显示器(hmd)的图像以便提高在hmd的显示屏上渲染并且由佩戴hmd的用户观看的图像的质量的系统和方法。hmd包括使呈现在hmd的屏幕上以用于近眼观看的图像不失真的透镜/光学器件。然而,用户通过光学器件观看到的图像可能由于由用户眼睛与在hmd中提供的光学器件透镜的光学轴线的错误对准引起的像差(诸如色彩像差和/或几何像差)而具有较低质量。为了提供高质量图像,由应用程序提供的图像需要进一步被调整以便最小化或消除由用户眼睛的错误对准引起的任何失真。

为此目的,公开一种方法。所述方法包括接收用于在头戴式显示器(hmd)的显示屏上呈现的图像。所述图像由应用程序提供。对所接收的图像进行预失真以使在hmd中提供的光学器件能够渲染所述图像。通过确定眼睛相对于hmd的光学器件中的至少一个透镜的光学轴线的位置来识别佩戴hmd的用户眼睛的对准偏置。调整由应用程序提供的预失真图像以限定解决对准偏置的已校正的预失真图像。将所述已校正的预失真图像转发至hmd的显示屏以便进行渲染,使得通过hmd的光学器件呈现的图像移除由对准偏置引起的像差。

在一个实施方案中,识别用户两只眼睛的对准偏置。

在一个实施方案中,hmd的光学器件被配置来提供近眼聚焦。

在一个实施方案中,所述识别对准偏置还包括识别沿x方向的偏移、沿y方向的偏移、沿z方向的偏移、沿x和y方向的偏移、沿x和z方向的偏移、沿y和z方向的偏移或沿x-y-z方向的偏移中的一个。

在一个实施方案中,使用设置在hmd上的一个或多个内部传感器来捕获眼睛的位置。

在一个实施方案中,光学器件的透镜是球面透镜、非球面透镜、全息波导透镜或其任意组合中的一种。

在一个实施方案中,识别对准偏置和调整预失真图像由设置在hmd内的处理器执行,所述对准偏置通过当图像呈现在hmd的显示屏上时,基本实时追踪眼睛的位置来识别。

在一个实施方案中,识别对准偏置由设置在hmd内的处理器通过当图像呈现在hmd的显示屏上时,基本实时追踪眼睛的位置来执行并且调整预失真图像由通信地连接到hmd的计算装置的处理器执行。

在一个实施方案中,对准偏置通过首先确定在hmd中使用的光学器件透镜的形状和类型来识别。确定眼睛相对于在hmd中提供的光学器件透镜的光学轴线的位置。在确定之后,基于眼睛位置来选择一个或多个预限定失真映射图。所述失真映射图提供在显示屏的可见视野内的不同位置到对应的位移偏置的映射。所述选择通过三角剖分来确定。根据所选择的一个或多个预限定映射图使用位移偏置的线性插值来计算对准偏置。

在一个实施方案中,预限定失真映射图是针对在hmd中使用的光学器件的每种类型的透镜和针对用于呈现图像的每种主要色谱限定的二维映射图。基于在hmd中使用的光学器件透镜的类型和基于需要被调整的每种色彩的主要色谱来选择所述预限定失真映射图。

在一个实施方案中,预限定失真映射图中的每一个与可见视野的特定象限或覆盖可见视野的中心的区域相关联。

在一个实施方案中,公开一种方法。所述方法包括识别佩戴头戴式显示器的用户眼睛的对准偏置。通过确定眼睛相对于在hmd中提供的光学器件中的至少一个透镜的光学轴线的位置来识别对准偏置。调整由应用程序提供以便在hmd的显示屏上进行渲染的媒体内容的预失真图像。所述调整导致生成解决对准偏置的已校正的预失真图像。发送所述已校正的预失真图像以便在hmd的显示屏上进行渲染,使得通过光学器件呈现的图像移除由对准偏置引起的像差。

在一个实施方案中,识别对准偏置、调整预失真图像以及发送已校正的预失真图像的操作在帧速率下操作,在所述帧速率下来自图像的媒体内容在hmd处被渲染。

结合附图来阅读以下详细描述,本发明的其他方面将变得显而易见,以下详细描述通过实例方式来说明本发明的原理。

附图说明

本发明的各种实施方案可通过参考以下结合附图进行的描述来最好地理解,附图中:

图1示出根据本发明的一些实施方案的佩戴hmd的用户和确定佩戴hmd的用户眼睛的不同对准偏置的示例性顶视图。

图2示出根据本发明的一些实施方案的基于由设置在hmd中的摄像机捕获的图像信息来识别参考用户的一只或两只眼睛的对准偏置的示例性视图。

图3a-3b示出根据本发明的一些实施方案的基于如使用设置在hmd中的摄像机确定的佩戴hmd的用户眼睛的方向和视线来识别对准偏置的示例性侧视图。

图4a-4c示出根据本发明的一些实施方案的当佩戴hmd的用户将其眼睛向右和向左(如使用设置在hmd中的摄像机确定的)移动时识别对准偏置的示例性顶视图。

图5a-5i示出根据本发明的不同实施方案的用于确定佩戴hmd的用户眼睛的对准偏置的示例性摄像机和/或传感器位置。

图6a-6b示出根据本发明的一个实施方案的用于确定佩戴hmd的用户眼睛的对准偏置的示例性系统架构。

图7示出根据本发明的实施方案的用于确定用户眼睛的对准偏置和调整从应用程序接收的预失真图像的图像失真处理模块的框图。

图8示出根据本发明的实施方案的用于向预失真图像提供校正的方法的示例性流程操作。

图9示出根据本发明的替代性实施方案的用于向预失真图像提供校正的方法的示例性流程操作。

图10示出在本发明的一个实施方案中的游戏模块的整体系统架构。

图11示出根据本发明的实施方案的游戏系统的框图。

具体实施方式

描述用于确定对准偏置并且使用对准偏置来调整从应用程序接收的图像的系统和方法。在计算装置/控制台或游戏云上执行的应用程序(诸如游戏应用程序)致使游戏交互场景的图像传输至头戴式显示器(hmd)以便在hmd的显示屏上进行渲染。对所传输的图像进行预失真。所述预失真图像由hmd的光学器件处理以供近眼观看,使得当通过光学器件的透镜观看图像时,所述图像焦点对准。应用于图像的预失真的量取决于眼睛距在hmd中提供的光学器件的透镜的距离。另外,为了提供清晰的图像,用户眼睛的对准必须与在hmd中提供的光学器件的至少一个透镜的光学轴线匹配。佩戴hmd的用户的眼睛可能不能完全与在hmd中提供的光学轴线对准。因此,呈现给显示屏并且通过光学器件观看的图像可包括像差(几何的和/或色彩的),所述像差可降低在hmd的显示屏上渲染的图像的质量。为了提供更高质量的图像,从应用程序接收的预失真图像需要进一步被调整以解决用户眼睛相对于光学轴线(即,光学轴线)中检测到的任何错误对准。当经调整的预失真图像由hmd的光学器件处理时,通过光学器件观看到的图像是清晰的并且基本没有由用户眼睛的错误对准引起的任何像差。

可使用简单形式的眼睛追踪来确定对准偏置。在一个实施方案中,可使用hmd中的硬件(诸如图像感测装置和/或深度感测装置)和hmd内或通信地连接到hmd的计算装置中的软件的组合执行眼睛追踪。对于关于眼睛追踪的更多信息,可以参考2013年6月11日提交的英国申请号1310368.4和2013年8月21日提交的英国申请号1314975.2,所述申请的内容以引用的方式整体并入本文。眼睛追踪追踪佩戴hmd的用户的眼睛相对于设置在眼睛前面的透镜的光学轴线的位置。使用眼睛距光学轴线的相对位置,可基本实时计算更多准确的像差校正以便为佩戴hmd的用户传递最好的图像质量。在一个实施方案中,hmd可用于呈现虚拟现实(vr)图像或增强现实(ar)图像。因此,可将本文描述的各种实施方案应用到通过hmd的光学器件观看的vr图像和ar图像两者。对预失真图像提供另外的调整的方法可用于在hmd中提供的不同类型和形状的光学器件,包括球面透镜、非球面透镜或全息波导透镜,在这些透镜中由于透镜的衍射本质,色彩像差是共有的。

在一个实施方案中,眼睛追踪和像差校正的过程可使用本文提供的处理器或客户电子装置在hmd本身上执行。在替代性实施方案中,所述过程可由通信地连接到hmd的计算装置执行,其中所述计算装置可以是游戏控制台、设置在局域网、广域网、个人区域网、其他网络内或云上的服务器装置。在对本发明作出简要概括的情况下,现将参考各个附图描述不同实施方案。

图1示出在一个实施方案中佩戴hmd的用户和基于用户眼睛相对于在hmd中提供的光学器件的透镜的光学轴线的位置识别的不同对准偏移的示例性顶视图。头戴式显示器(hmd)100包括限定在其上渲染图像数据内容105的可见视野的显示面板或显示屏104。图像数据内容105可由在hmd的处理器或通信地连接到hmd的计算装置上执行的应用程序提供。在一个实施方案中,计算装置可以是独立式计算机或控制台(诸如游戏控制台),或可以是网络(诸如广域网、局域网、个人区域网、局部内联网、城域网、虚拟专用网)或通过互联网访问的服务器、云上的虚拟服务器等的一部分。网络列表是示例性的并且不应视为限制性的或穷举的。

光学器件102设置在显示屏104与用户的每只眼睛之间(如在一个实施方案中所示),并且用来处理图像以供“近眼”聚焦。所述近眼聚焦例如是当光学器件靠近眼睛设置时,被配置来将媒体内容的图像聚焦到显示屏上,使得当所述图像由人眼睛观看时,似乎看起来是处于远的焦距处(例如,至少3m+距离或在一些情况下在无限远处)。在替代性实施方案中,光学器件可仅设置在一只眼睛(右眼或左眼)的前面。光学器件使用透镜限定并且可包括球面透镜、非球面透镜、全息波导透镜等。上述类型的光学器件是示例性的并且也可使用其他类型的光学器件,只要它们能够处理媒体内容以用于近眼聚焦或以用于渲染媒体内容以便由人眼睛清晰地观看。

一个或多个摄像机或传感器106设置在hmd内并且用来确定用户眼睛相对于光学轴线102a的对准偏置。传感器可以是深度感测装置或图像感测装置中的一个。深度感测装置可包括深度传感器摄像机、立体三维摄像机、深度传感器、视频摄像机或其任意组合。图像感测装置包括红外线摄像机、数字摄像机、紫外线摄像机、雷达装置、激光装置、单一透镜摄像机或其组合。传感器106可用来捕获/获得与眼睛的位置有关的三维信息并且用于确定设置在hmd中的光学器件102的中心102a。在一个实施方案中,传感器106可用来确定用户眼睛的瞳间距离(ipd),并且将其与光学器件的ipd进行比较来确定对准是否存在偏移并且如果存在,那么在哪个方向偏移并且偏移多少。在替代性实施方案中,通过使用虚拟线并且确定是否存在偏移并且如果存在,那么在哪个方向偏移并且偏移多少来将佩戴hmd的用户眼睛的位置与设置在眼睛前面的光学中心进行比较。例如由传感器106捕获的图像可用来确定仅沿x方向的偏移(即,x偏置)、仅y方向的偏移(在图1中未示出)、仅沿z方向的偏移(即,z偏置)等。在图1中示出的实施方案中,当用户的眼睛(由虚线所示)相对于光学轴线(由实线所示)向左偏移时,沿x方向的偏移被示出为负值。如果用户的眼睛与光学轴线正确地对准,那么沿x方向的偏移将为零并且如果用户的眼睛相对于光学轴线向右偏移,那么沿x方向的偏移将为正值。

图2示出在一个实施方案中参考用户的眼睛相对于光学轴线的位置检测的对准偏置的示例性视图。设置在hmd中的摄像机/传感器能够捕获与用户的眼睛相对于设置在hmd中的光学器件的透镜的光学轴线的位置相关联的三维信息。所述三维信息用来确定用户的眼睛相对于光学轴线的对准偏置。在一个实施方案中,基于由摄像机/传感器106提供的信息,将所述对准偏置作为一组笛卡尔坐标进行计算。在图2中示出的实施方案中,针对右眼的对准偏置在根据hmd的光学器件透镜的光学轴线进行计算时等于(+x1,-y1,+z2)并且针对左眼的对准偏置是(+x1,-y1,+z1)。在这个实施方案中,当x坐标和y坐标匹配但z坐标不同时,与右眼相关联的偏置同与左眼相关联的偏置不同。在一个实施方案中,x坐标和y坐标被认为限定眼睛偏移并且z坐标被认为限定眼睛间隙(eye-relief)。通过确定眼睛偏移和眼睛间隙,可确定针对光学器件的最佳失真调整并且将其应用到图像使得当所述图像通过hmd的光学器件被观看时是清晰的。两只眼睛的对准偏置的差异可归因于hmd在用户的头上如何保持平衡或定位。例如,可基于用户头的形状或舒适程度等来定位hmd。例如,如果用户佩戴处方眼镜,那么hmd可必须定位在眼镜上方,从而引起沿z方向的偏移(眼睛间隙)的变化。在另一个实施方案中,右眼和左眼相对于光学轴线的对准偏置可以相同。在图2中示出的实施方案中,可监测沿x方向的偏移、沿y方向的偏移和沿z方向的偏移。

图3a和图3b示出在另一个实施方案中佩戴hmd的用户的示例性侧视图,其中摄像机/传感器106用来检测对准偏置。在图3a中示出的实施方案中,用户向正前方看但用户的眼睛不与光学轴线对准。摄像机/传感器106捕获沿y方向的偏移(-y1),如由沿y轴线的偏移所示。负号指示用户的眼睛在光学轴线下方对准。在一个实施方案中,透镜的光学轴线被认为是透镜的中心点,其中(x、y、z)坐标全部集中于一点。因此,光学轴线的(x、y、z)坐标可具有值(0、0、0)。当从眼睛绘制的虚拟线到达通过光学器件的中心绘制的虚拟线的左边时,x坐标被认为具有沿负x方向的偏移,并且当其在右边时,x坐标被认为具有沿正x方向的偏移。类似地,当从眼睛的中心绘制的线在通过光学器件中心的线的上方时,y坐标被认为具有沿正y方向的偏移,并且当其在下方时,y坐标被认为具有沿负y方向的偏移,如由图3a中(-y1)所示出。基于眼球距光学器件中心的接近程度来计算沿z方向的偏移。例如,如果hmd不同地定位在用户的每只眼睛上方,那么可能存在相对于左眼和右眼不同的沿z方向的偏移。在图3a中示出的实施方案中,对于两只眼睛,z坐标被计算成等于z1。

图3b示出其中用户的眼睛位置已经改变并且用户向下看的实施方案。在这个实施方案中,摄像机/传感器106在y坐标中在与图3a中识别的沿y方向的偏移相同的方向上(即,向下)捕获另外的偏移(δy)。在这个实施方案中,基于沿y方向的偏移的y偏置被计算成(-y1+-δy)。另一方面,如果沿y方向的偏移在与在图3a中识别的沿y方向的偏移相反的方向上,那么y偏置将被计算成(-y1+δy)。在这个实施方案中,如在图3a中示出的实施方案中,z在图3a和图3b中示出的实施方案中,仅监测沿y方向的偏移和沿z方向的偏移。坐标(z1)继续保持相同。

图4a-4c示出在另一个实施方案中对佩戴hmd的用户的对准偏置的计算。图4a示出基于用户的眼睛相对于光学轴线的位置计算的对准偏置。对准偏置可取决于用户的眼睛如何与光学轴线对齐在任何方向上被检测。在图4a中示出的实施方案中,由于x轴线上的正偏移,将对准偏置辨识成沿x轴线的偏置。图4b示出其中基于用户的眼睛沿x轴线向左移动约45°来计算对准偏置的实施方案。在这个实施方案中,当眼睛沿x轴线的偏移(δx)在与图4a中示出的初始眼睛位置相反方向上时,将对准偏置计算为(+x+-δx)。沿类似的线,图4c示出其中基于用户的眼睛沿x轴线向右移动约45°来计算对准偏置的实施方案。在这个实施方案中,当眼睛沿x轴线的偏移+δx在与参考图4a限定的初始眼睛位置相同的方向上时,将对准偏置计算为(+x+δx)。在图4a-4c中示出的各种实施方案中,基于由摄像机/传感器106捕获的信息来计算偏置。

图5a-5i示出识别hmd显示屏的可见视野周围的位置的不同实施方案,其中可将一个或多个摄像机/传感器设置成捕获用户眼睛相对于光学轴线的偏移。当然,摄像机/传感器是当用户佩戴hmd时朝向用户眼睛的面向内的摄像机/传感器,并且以如下方式设置:以便在对在hmd的显示屏上渲染的图像提供无阻碍观看的同时,捕获眼睛位置和注视方向相对于设置在hmd中的光学轴线的相对偏移。如前所提及,与如由所述一个或多个摄像机/传感器捕获的眼睛偏移相关联的信息用来计算用户眼睛关于光学器件中心的对准偏置。当使用多于一个摄像机/传感器时,将来自多个摄像机/传感器的信息混合/合并/平均以确定眼睛相对于光学器件的位置。在一些实施方案中,来自多个摄像机/传感器的信息使用线性插值进行组合以确定对准偏置。

在图5a示出的实施方案中,摄像机或传感器设置在矩形可见视野的每一侧上以确定相对于光学轴线的用户注视方向和眼睛位置。在本文中应注意,限定图5a-5i中示出的可见视野的形状(即,矩形形状)是示例性的并且不应被认为是限制性的。其他几何形状可被认为用于表示可见视野并且这类几何形状可取决于设置在hmd中的显示屏的形状/大小。另外,传感器被认为定位在每个区段的中心。可将传感器定位在沿每一侧的任意位置处,包括每一侧的特定端部等。

图5b示出其中一对摄像机/传感器用于确定相对于光学轴线的用户眼睛位置和注视方向的实施方案。在这个实施方案中,摄像机/传感器设置在可见视野的顶侧和底侧的中间。图5c示出另一个实施方案,其中摄像机/传感器仅设置在一侧上-可见视野底侧的中心。图5d示出图5b中示出的实施方案的替代性实施方案。在这个实施方案中,替代摄像机/传感器设置在可见视野底侧/顶侧的中心,摄像机/传感器设置在可见视野左侧和右侧的中心。在图5e中示出的替代性实施方案中,摄像机/传感器仅可设置在可见视野的右/左外侧,或如图5f的实施方案中所示可见视野的右/左内侧。在图5g的另一个替代性实施方案中,摄像机/传感器可设置在呈现在每只眼睛前面的可见视野的仅右侧的中间。在图5h中示出的示例性实施方案中,一个摄像机/传感器可设置在限定在一只眼睛前面的可见视野的一侧(例如,顶侧)上,并且另一个摄像机可设置在限定在另一只眼睛前面的可见视野的相反侧上。

在图5i中示出的替代性实施方案中,摄像机/传感器可设置在限定在一只眼睛前面的可见视野的周围,并且所述信息可用来将任何调整应用到为两只眼睛呈现的预失真图像。在这个实施方案中,追踪与仅一只眼睛有关的移动并且所述信息用于在将预失真图像发送至hmd以用于在两只眼睛前面进行渲染之前对所述图像执行另外的调整。在替代性实施方案中,在每只眼睛前面的摄像机/传感器可用来确定每只眼睛的相对移动,确定用户在一侧上是否表现出懒惰眼或左眼的移动是否反映右眼的移动。基于所述确定,可仅追踪一只眼睛(例如,正在移动的眼睛,具有懒惰眼的用户)来确定是否需要对预失真图像作出另外的调整并且将所述另外的调整应用到在两只眼睛前面呈现的图像。如可见,摄像机/传感器可以任何配置设置在可见视野的任一侧,并且由摄像机捕获的信息用来确定对准偏置并且基于所计算的对准偏置对在设置在一只或两只眼睛前面的显示屏中渲染的图像执行任何调整。

图6a示出用于在图像被处理并且由hmd的光学器件渲染之前调整预失真图像的示例性系统。所述调整是为了解决可归因于用户的眼睛与光学轴线的错误对准而呈现的任何像差。所述系统识别被接合以对内容的预失真图像提供调整的多个模块。在图6a中示出的一个实施方案中,所述系统包括hmd100和通信地连接到hmd的计算装置200。如前所提及,所述计算装置可以是网络或独立式计算机或控制台的一部分。计算装置200与hmd100之间的连接可以是通过有线或无线的连接。

hmd100可被配置来接收和渲染由应用程序提供的内容以供用户消耗。为此目的,hmd100包括显示屏104,所述显示屏104用来渲染由应用程序提供的图像内容;以及光学器件102,所述光学器件102用于处理在显示屏上提供的图像内容以用于近眼聚焦,以便允许佩戴hmd的用户清晰地观看所述图像内容。光学器件102设置在显示屏104与用户的眼睛之间。在一个实施方案中,对转发至hmd的显示屏的图像进行预失真,使得当通过光学器件102呈现并观看所述图像时,所述图像显现得清楚和清晰的。

hmd100也被配置来捕获信息(诸如用户的眼睛对准信息等)并且将所述信息提供给计算装置200以允许所述计算装置使用所述信息并且计算用户的眼睛相对于光学轴线的对准偏置(如果有的话)。为此目的,hmd包括一个或多个摄像机/传感器以捕获关于用户的眼睛相对于在hmd中提供的光学轴线102的对准的信息。所捕获的信息(在图6a中由气泡1和2表示)由摄像机/传感器传输至计算装置200以供处理。

计算装置200包括用于处理由hmd提供的信息并且用于提供预失真图像内容以便在hmd的显示屏上进行渲染的多个模块。示例性模块中的一些包括内容执行模块202、图像渲染逻辑204、图像内容数据模块206、眼睛位置传感器208和光学器件失真处理模块210。内容执行模块202响应于用户输入300而被启用。用户输入300可以是对用于执行的应用程序的选择,并且内容执行模块202检测应用程序的用户选择并且执行所选择的应用程序。将来自执行的应用程序的内容(包括图像内容)提供给图像渲染逻辑204。图像渲染逻辑模块204确定在hmd中使用的光学器件的类型和需要被应用到图像的失真的量,使得当所述图像在hmd处呈现时,光学器件将对用于近眼聚焦的图像提供必要的校正。针对特定光学器件的失真数据信息用来将失真应用到图像内容数据,并且将预失真的图像内容数据传输至图像内容数据模块206,在所述图像内容数据模块206中存储所述预失真的图像内容数据并且从所述图像内容数据模块206检索所述预失真的图像内容数据以供进一步处理。光学器件失真处理模块210从图像内容数据模块206检索所述预失真的图像内容数据,从眼睛位置传感器模块208接收眼睛位置数据,确定与用户的眼睛位置相关联的对准偏置,基于在hmd中使用的光学器件来确定需要被应用到所述预失真的图像内容数据的另外的失真,并且应用所述另外的失真以生成已校正的、预失真的图像数据110,所述已校正的、预失真的图像数据110被呈现给hmd以便在hmd的显示屏104上进行渲染。确定眼睛位置、计算眼睛位置相对于光学轴线的对准偏置以及向预失真图像提供调整的过程可使用与连接到hmd、控制台(例如,游戏控制台)、移动电话/装置等的计算机相关联的电路、dsp(数字信号处理)、软件或其组合执行。

在一个实施方案中,可连续执行确定相对于hmd的光学轴线的眼睛位置以及基于所述眼睛位置调整预失真图像数据的过程,只要用户佩戴着hmd和只要应用程序正在执行。在这个实施方案中,连续地追踪眼睛的位置以确定新的眼睛位置或以验证先前限定的眼睛位置,对预失真图像作出调整,并且将已校正的预失真图像以帧速率发送至显示屏,在所述帧速率下媒体内容在hmd的显示屏上进行渲染。在另一个实施方案中,眼睛追踪和失真应用程序过程可作为应用程序的初始化步骤或作为hmd的校准步骤,在图像内容数据在hmd上进行渲染之前被执行一次,并且无论何时在hmd处检测到眼睛位置的变化都重复进行。

在一个实施方案中,对准偏置通过追踪眼睛位置仅沿x轴线的偏移来计算。在另一个实施方案中,对准偏置通过追踪眼睛位置仅沿y轴线的偏移来计算。在又一个实施方案中,追踪仅沿z轴线的眼睛位置偏移。在另一个实施方案中,追踪仅沿x轴线和y轴线的眼睛位置偏移。在另一个实施方案中,追踪仅沿x轴线和z轴线的眼睛位置偏移。在另一个实施方案中,追踪仅沿y轴线和z轴线的眼睛位置偏移。在一个实施方案中,追踪沿x轴线、y轴线和z轴线的眼睛位置偏移。如从各种实施方案可见,可追踪不同轴线偏移并且调整图像以在hmd处提供清晰的图像视图。需要作出调整的量取决于在光学器件中使用的透镜的类型。如何将另外的失真应用到图像的另外的信息将参考图7进一步进行解释。

在图6a中示出的实施方案中,将另外的失真应用到预失真图像的过程在其中设置不同模块的计算装置200上执行。使用计算装置来处理眼睛位置数据和应用另外的失真可致使在hmd处渲染图像产生等待时间并且可取决于所使用的通信链路。

图6b示出图像处理的一部分在hmd处执行的实施方案。在hmd处处理可被进行来解决等待时间并且以快速且有效的方式在hmd处提供高质量图像。在这个实施方案中,替代计算装置200,在hmd100中提供眼睛位置传感器模块208’和光学器件失真处理模块210’。眼睛位置传感器模块208’和光学器件失真处理模块210’的功能类似于在图6a中论述的计算装置中提供的那些。当对准偏置在眼睛位置传感器模块208’内进行本地地计算和预失真图像内容数据在其呈现在hmd的显示屏上并且通过光学器件观看之前由光学器件失真处理模块210’本地地调整时,通过替代计算装置,在hmd内提供眼睛位置传感器模块208’和光学器件失真处理模块210’,对另外的失真的应用和对图像内容数据的渲染更快。

图7示出由光学器件失真处理模块210生成调整的、失真的图像数据110的过程。所述过程以使用一个或多个摄像机或传感器106检测用户眼睛的位置开始。用户的眼睛位置可响应于用户佩戴和/或激活hmd、响应于作为hmd或应用程序的初始化步骤的一部分而激活所述应用程序等而被检测。眼睛位置可基于眼睛相对于光学轴线的相对位置进行确定。为了简单和更快确定眼睛相对于光学轴线的相对位置,将显示屏的可见视野划分成限定数量的区并且确定眼睛相对于所述限定区的相对位置。在图7中示出的一个实施方案中,将视野划分成由气泡1-4表示的四个象限和由气泡5表示的中心区域。象限中的每一个覆盖在可见视野内的眼睛位置可在特定方向上偏移的最远点。区和覆盖所述区的区域的数量是示例性的并且更少或更多的区可被限定以便更精确地识别眼睛位置。眼睛位置传感器(例如,深度传感器、图像传感器、摄像机等)捕获相对于设置在hmd内的光学轴线的眼睛位置数据并且将这一类信息提供给处于光学器件失真处理模块210内的位置识别模块210a。

在一个实施方案中,位置识别模块210a使用由眼睛位置传感器106提供的信息并且使用来自所述一个或多个区的数据确定眼睛相对于光学轴线的位置。将来自位置识别模块210a的信息提供给失真映射图生成器模块210b。失真映射图生成器模块210b使用来自位置传感器模块210a的位置数据信息,获得与在hmd中使用的光学器件的类型和形状有关的信息,并且识别一个或多个预限定/预计算的二维(2d)失真映射图以精确地映射眼睛位置的位移并且确定失真校正。2d失真映射图已经基于对在hmd中使用的每种类型和形状的光学器件和对hmd视野中的每个位置进行光学模拟来进行预限定。在图7中示出的实施方案中,眼睛位置可通过使用来自象限3、4和中心区5的数据进行确定。在另一个实施方案中,眼睛位置可通过使用来自所有区(例如,象限1-4和中心区5)的数据进行确定。在又一个实施方案中,眼睛位置可使用来自象限2-4和中心区5的数据进行确定。在一些其他实施方案中,眼睛位置可使用仅来自一个区(象限3、4或中心区5)的数据进行确定。不考虑用来确定眼睛位置的区的数量,失真映射图生成器模块210b识别预计算/预限定的二维(2d)映射图中的一个或多个,并且使用所识别的映射图来精确地确定需要被应用到图像内容数据206的失真校正。

为了识别适当的映射图,失真映射图生成器模块210b首先确定在hmd的光学器件中使用的透镜的形状和类型。由于光学器件中透镜的类型和形状以及用户眼睛位置的对准偏置,存在可包括在渲染图像中的不同形式的像差。例如,当使用球面透镜时,像差实质上可以是径向的。当使用非球面透镜时,像差可以是几何的、直线的、色彩的或其任意组合。当使用全息波导透镜时,像差实质上可以是色彩的。当与图像相关联的红色光谱、绿色光谱、蓝色光谱中的一个或多个发生偏移并且不聚焦在同一点时,可引起色彩像差。基于在hmd中使用的光学器件,这类像差需要通过应用另外的调整进行校正以向用户提供高质量图像。因此,被识别的2d映射图基于选择用于hmd的光学器件的类型和形状。

对于每种形状和类型的光学器件,针对在渲染图像中使用的主要光谱色中的每一种限定不同的2d映射图模型。这些模型限定需要被应用用于图像中的每种主要光谱色的失真的量。例如,如果光学器件使用非球面透镜,那么识别针对与所述非球面透镜相关联的每种色彩的2d映射图。类似地,如果光学器件使用球面透镜或全息波导透镜,那么识别针对每种色彩的球面透镜或全息波导透镜的适当的2d映射图。可针对不同大小和形状的每种类型的光学器件限定另外的2d映射图。因此,可基于光学器件的大小和形状来识别针对在hmd中使用的特定类型的光学器件的2d映射图中的特定的一些。

将与光学器件的类型相关联的多个2d映射图进一步筛选成包括与由位置识别模块210a识别的特定区有关的2d映射图。一旦适当的2d映射图被识别,失真映射图生成器模块就对来自多个识别的2d映射图的数据执行线性插值以在进行中生成针对相对于眼睛位置限定的对准偏置的2d有效失真调整映射图。将来自新生成的有效失真调整映射图的数据提供给调整的失真处理模块210c(简单地被称为“调整器模块”)。调整器模块210c从应用程序接收图像内容数据作为输入。对在调整器模块210c处接收的这一类图像内容数据进行预失真,使得当图像呈现在hmd处时,光学器件将校正所述失真以便在近眼聚焦时向用户呈现更清晰的图像。所述调整器模块对预失真图像执行另外的调整以基于在新生成的有效失真调整映射图中提供的数据生成已校正的预失真图像110。将所述已校正的预失真图像数据110转发至hmd的显示屏104以供渲染。当将已校正的预失真图像数据110提供给hmd时,hmd上的光学器件处理用于近眼聚焦的图像以允许用户观看所述图像。所呈现的图像移除由对准偏置引起的像差并且具有更高质量。

本发明的实施方案可用来预测用户眼睛的移动并且基于所述预测调整图像数据内容。例如,可能存在活动(诸如地雷爆炸、闪电袭击、火山喷发、接收到的新电子邮件、接收到的社交馈给更新等)作为执行应用程序的一部分并且在可见视野的一端处呈现的图像可捕获所述活动。通常,这类活动将用户的注意力和用户的眼睛偏移吸引至这一类位置以观看所述活动。基于这种预测,可在进行中生成新映射图并且可基本实时执行对预失真图像的调整。在一个实施方案中,仅确定眼睛位置的沿x方向的偏移,针对沿x方向的偏移生成新映射图并且根据沿x方向的偏移作出调整。在其他实施方案中,确定仅沿y方向的偏移、仅沿z方向的偏移、仅沿x和y方向的偏移、仅沿x和z方向的偏移、仅沿y和z方向的偏移或沿x、y和z方向的偏移并且根据所检测的偏移生成新映射图并且根据所检测的轴线偏移作出调整。通过预测用户的眼睛移动,可将等待时间最小化。在一些实施方案中,对用户眼睛移动的预测取决于被渲染的内容。

图8示出用来调整在头戴式显示器处接收的图像的方法的各种方法操作。所述方法在操作810处开始,其中接收用于在头戴式显示器的显示屏上呈现的图像。在一个实施方案中,所述图像由在通信地连接到hmd的计算装置上执行的应用程序提供,其中所述计算装置可以是独立式计算机或联网式计算装置。在由应用程序提供的图像呈现在hmd的显示屏上之前对所述图像进行预失真,使得所述图像在通过hmd中提供的光学器件观看时被呈现用于近眼聚焦。如操作820中所示,识别佩戴hmd的用户眼睛的对准偏置。所述对准偏置通过确定眼睛相对于在hmd中提供的光学器件中的至少一个透镜的光学轴线的位置来识别。对由应用程序提供的预失真图像进行调整以解决对准偏置,如在操作830中所示。所述调整致使生成已校正的预失真图像。将所述已校正的预失真图像转发至hmd以用于在显示屏上进行渲染,如在操作840中所示。所述已校正的预失真图像在通过光学器件观看时是清晰的并且不具有由对准偏置引起的像差。

图9示出在替代性实施方案中方法的流程图。所述方法在操作910处开始,其中识别佩戴hmd的用户眼睛的对准偏置。所述对准偏置通过确定眼睛相对于在hmd中提供的光学器件中的至少一个透镜的光学轴线的位置来识别。调整由应用程序提供以便在hmd的显示屏上进行渲染的媒体内容的预失真图像,如在操作920中所示。所述调整导致生成考虑对准偏置的已校正的预失真图像。将所述已校正的预失真图像发送至hmd以用于在显示屏上进行渲染,如在操作930中所示。通过hmd的光学器件呈现的图像不具有由对准偏置引起的任何像差。

应注意,需要设定或限定用户的相对于光学器件的眼睛位置以使用户能够更好地观看在hmd的显示屏上渲染的内容。例如,这可包括当用户追随显示屏上的对象时追踪用户眼睛移动。因此,使用线性插值和失真调整检测眼睛位置的频率取决于在用户的眼睛位置中检测到的变化的量并且在一些实施方案中基于帧速率执行,在所述帧速率下图像在显示屏上被刷新(即,屏幕刷新速率)。在其他实施方案中,所述调整可在屏幕刷新速率的一半或一小部分处进行。

图10示出可用来实现本发明的实施方案的硬件和用户接口。图10示意性地示出playstation娱乐装置的整体系统架构。playstation的其他版本可包括更多或更少的特征。提供系统单元1300,其中各种外围装置可连接到系统单元1300。系统单元1300包括:cell处理器1302;动态随机存取存储器(xdram)单元1304;具有专用视频随机存取存储器(vram)单元1308的现实合成器图形单元1306;以及i/o桥1310。系统单元1300还包括用于从磁盘1312a读取的blu盘bd-光盘读取器1312和可移除插槽式硬盘驱动器(hdd)1314,所述blu盘bd-光盘读取器和可移除插槽式硬盘驱动器可通过i/o桥1310存取。任选地,系统单元1300还包括用于读取压缩闪存卡、memory存储卡等的存储卡读卡器1301,所述存储卡读卡器类似地可以通过i/o桥1310存取。

i/o桥1310还连接到六个通用串行总线(usb)2.0端口1316;千兆以太网端口1318;ieee802.11b/g无线网络(wi-fi)端口1320以及能够支持达七个蓝牙连接的无线链接端口1322。

在操作中,i/o桥1310处置所有无线、usb和以太网数据,包括来自一个或多个游戏控制器110和1324的数据。例如,当用户正在玩游戏时,i/o桥1310经由蓝牙链接接收来自游戏控制器110和1324的数据并将其引导到cell处理器1302,所述cell处理器相应地更新游戏的当前状态。

无线、usb和以太网端口还提供用于除游戏控制器110和1324之外的其他外围装置的连接性,诸如:遥控器1326;键盘1328;鼠标1330;诸如sony娱乐装置的便携式娱乐装置1332;诸如eyecamera的视频摄像机1334;形状对象1336;以及麦克风1338。因此,此类外围装置原则上可无线连接到系统单元1300;例如,便携式娱乐装置1332可通过wi-fi对等式连接通信,而形状对象1336可经由蓝牙链接通信。

提供这些接口意味着playstation3装置潜在地也与其他外围装置兼容,所述其他外围装置如数字视频录像机(dvr)、机顶盒、数码摄像机、便携式媒体播放器、互联网协议(ip)语音电话、移动电话、打印机以及扫描仪。另外,传统存储卡读卡器1340可通过usb端口1316连接到系统单元,从而使得能够读取由或playstation装置使用的类型的存储卡。

游戏控制器110和1324可操作来通过蓝牙链接与系统单元1300进行无线通信,或连接至usb端口,从而还提供了藉以为游戏控制器110和1324的蓄电池充电的电力。游戏控制器110和1324也可包括存储器、处理器、存储器读卡机、永久性存储器(诸如闪存存储器)、光发射器(诸如照明的球形截面、发光二极管(led)或红外光)、用于超声通信的麦克风和扬声器、声腔室、数字摄像机、内部时钟、面向游戏控制台的可辨识的形状和使用协议(诸如wifitm等)的无线通信。所述可辨识的形状可以基本是如下各种形状:球体、立方体、平行四边形、矩形的平行六面体、锥体、棱锥体、英式足球、足球或橄榄球、不完全球体、球体截面、截头棱锥、截头椎体、棒球球棒、截头立方体、多面体、星形等或这些形状中的两种或更多种的组合。

游戏控制器1324被设计来供两只手使用,并且游戏控制器110是具有球形附件的单手控制器。除一个或多个模拟操纵杆和常规控制按钮之外,游戏控制器对三维位置确定敏感。因此,除常规的按钮或操纵杆命令之外或取而代之,游戏控制器的用户的示意动作和移动可转换为游戏的输入。任选地,诸如sony便携式装置的其他支持无线的外围装置可用作控制器。在sony便携式装置的情况下,可在装置的屏幕上提供额外的游戏或控制信息(例如,控制指令或生命数目)。还可使用其他替代性或补充性控制装置,诸如跳舞毯(未示出)、光枪(未示出)、方向盘和踏板(未示出)或定制的控制器,诸如用于快速反应问答游戏的单个或若干大按钮(也未示出)。

遥控器1326也可操作来通过蓝牙链接与系统单元1300无线通信。遥控器1326包括适于bluraytm盘bd-rom读取器1312的操作并且适于导览光盘内容的控制件。

除了常规预刻录cd和可刻录cd以及所谓的超级音频cd之外,bluraytm盘bd-rom阅读器1312可操作来读取与playstation和playstation2装置兼容的cd-rom。除了常规预刻录dvd和可刻录dvd之外,阅读器1312也可操作来读取与playstation2和playstation3装置兼容的dvd-rom。阅读器1312进一步可操作来读取与playstation3装置兼容的bd-rom,以及常规的预刻录蓝光光盘和可刻录蓝光光盘。

系统单元1300可操作来通过音频和视频连接器将由playstation3装置通过现实合成器图形单元(rsx)1306产生或解码的音频和视频提供到显示器和声音输出装置1342,诸如具有显示器1346和一个或多个扬声器1348或独立扬声器1350的监视器或电视机。在一个实施方案中,利用语音和注视输入来根据用户的pog来朝向特定音频扬声器播放声音。音频连接器1358可包括常规的模拟和数字输出,而视频连接器1360可不同地包括分量视频、s视频、复合视频和一个或多个高清晰度多媒体接口(hdmi)输出。因此,视频输出可呈如pal或ntsc的格式,或呈720p、1080i或1080p的高清晰度。

音频处理(产生、解码等)由cell处理器1302执行。playstation3装置的操作系统支持5.1环绕声、剧场环绕(dts)和来自blu-光盘的7.1环绕声的解码。

在本实施方案中,视频摄像机1334包括单个电荷耦合装置(ccd)、led指示器以及基于硬件的实时数据压缩和编码设备,以使得可以诸如基于帧内图像的mpeg(运动图片专家组)标准的适当格式来传输压缩后的视频数据,以用于由系统单元1300解码。摄像机led指示器被布置来响应于来自系统单元1300的适当控制数据而照射,例如以便表明不利的照明条件。视频摄像机1334的实施方案可通过usb、蓝牙或者wi-fi通信端口以不同的方式连接到系统单元1300。视频摄像机的实施方案可包括一个或多个关联麦克风,并且也能够传输音频数据。在视频摄像机的实施方案中,ccd可具有适于高清晰度视频捕捉的分辨率。在使用中,视频摄像机所捕获的图像可例如并入游戏内或解释为游戏控制输入。在另一实施方案中,摄像机为适于检测红外光的红外摄像机。

一般来说,为了经由系统单元1300的通信端口中的一个与诸如视频摄像机或遥控器的外围装置进行成功的数据通信,应提供诸如装置驱动程序的适当软件片段。装置驱动程序技术是众所周知的并且在此将不详细描述,只是说本领域技术人员应意识到,在所描述的本发明的实施方案中可能需要装置驱动程序或类似的软件接口。

图11为根据本发明的各种实施方案的游戏系统1100的框图。游戏系统1100被配置来通过网络1115将视频流提供到一个或多个客户端1110。游戏系统1100通常包括视频服务器系统1120和任选的游戏服务器1125。视频服务器系统1120被配置来以最低的服务质量向一个或多个客户端1110提供视频流。例如,视频服务器系统1120可接收改变视频游戏的状态或所述视频游戏内的视角的游戏命令,并且以最小的滞后时间给客户端1110提供反映这种状态变化的更新后的视频流。视频服务器系统1120可被配置来以多种替代视频格式(包括还未定义的格式)提供视频流。此外,视频流可包括配置用于以多种帧速率呈现给用户的视频帧。典型的帧速率是每秒30帧、每秒60帧和每秒120帧。但是本发明的替代实施方案中包括更高或更低的帧速率。

在本文中被单独称为1110a、1110b等的客户端1110可包括头戴式显示器、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、电话亭、无线装置、数字垫、独立装置、手持式玩游戏装置和/或类似装置。通常,客户端1110被配置来接收经编码的视频流,对视频流进行解码,并且将所得的视频展示给用户,例如游戏玩家。接收经编码的视频流和/或对视频流进行解码的过程通常包括将个别视频帧存储在客户端的接收缓冲器中。可以在与客户端1110成一体的显示器上或在诸如监视器或电视机等单独装置上将视频流展示给用户。客户端1110任选地被配置来支持一个以上的游戏玩家。例如,游戏控制台可被配置来支持两个、三个、四个或更多个同时玩家。这些玩家中的每一个可接收单独的视频流,或单个视频流可包括特别针对每个玩家而产生(例如,基于每个玩家的视角而产生)的帧的区。客户端1110任选地在地理上分散。游戏系统1100中所包括的客户端的数目可从一个或两个广泛变化到几千个、几万个或更多个。如本文所使用,术语“游戏玩家”用于指玩游戏的人,并且术语“玩游戏装置”用于指用于玩游戏的设备。在一些实施方案中,玩游戏设备可以指多个计算装置,其协作来向用户传达游戏体验。例如,游戏控制台或hmd可与视频服务器系统1120合作来传达通过hmd观察的游戏。在一个实施方案中,游戏控制台从视频服务器系统1120接收视频流,并且游戏控制台将视频流或对视频流的更新转发给hmd以便进行渲染。

客户端1110被配置来通过网络1115接收视频流。网络1115可以是任何类型的通信网络,其包括电话网络、互联网、无线网络、电力线网络、局域网、广域网、私有网络和/或类似网络。在典型的实施方案中,通过诸如tcp/ip或udp/ip的标准协议来通信视频流。或者,通过专有标准来通信视频流。

客户端1110的典型实例是个人计算机,所述个人计算机包括处理器、非易失性存储器、显示器、解码逻辑、网络通信能力以及输入设备。解码逻辑可包括硬件、固件和/或存储在计算机可读介质上的软件。用于解码(和编码)视频流的系统在本领域中是熟知的,并且根据所使用的具体编码方案而变化。

客户端1110可(但不需要)还包括被配置来用于修改接收到的视频的系统。例如,客户端可被配置来:执行进一步渲染,将一个视频图像叠加在另一个视频图像上,修剪视频图像,和/或类似操作。例如,客户端1110可被配置来接收各种类型的视频帧,诸如i帧、p帧和b帧,并且被配置来将这些帧处理成图像以向用户显示。在一些实施方案中,客户端1110的构件被配置来对视频流执行进一步渲染、阴影处理、转换成3-d或类似操作。客户端1110的构件任选地被配置来接收一个以上的音频或视频流。客户端1110的输入装置可包括:例如,单手游戏控制器、双手游戏控制器、示意动作辨别系统、注视辨别系统、语音辨别系统、键盘、操纵杆、定点装置、力反馈设备、运动和/或位置感测装置、鼠标、触摸屏、神经接口、摄像机、还未开发出的输入装置,和/或类似装置。

客户端1110所接收的视频流(以及任选的音频流)是由视频服务器系统1120生成并提供的。如在本文其他地方进一步描述的,这个视频流包括视频帧(并且音频流包括音频帧)。视频帧(例如,在适当数据结构中它们包括像素信息)被配置来有意义地构成向用户显示的图像。如本文所使用,术语“视频帧”用于指主要包括被配置来构成(例如实现)展示给用户的图像的信息的帧。本文中关于“视频帧”的大部分教义也可以适用于“音频帧”。

客户端1110通常被配置来从用户接收输入。这些输入可包括游戏命令,所述游戏命令被配置来改变视频游戏的状态或以其他方式影响游戏玩法。可以使用输入设备接收游戏命令,且/或可由在客户端1110上执行的计算指令自动产生游戏命令。将接收到的游戏命令通过网络1115从客户端1110传达到视频服务器系统1120和/或游戏服务器1125。例如,在一些实施方案中,将游戏命令通过视频服务器系统1120传达到游戏服务器1125。在一些实施方案中,将游戏命令的单独拷贝从客户端1110传达到游戏服务器1125和视频服务器系统1120。游戏命令的通信任选地取决于命令的身份。通过用来向客户端1110a提供音频或视频流的不同路线或通信信道,从客户端1110a任选地传达游戏命令。

游戏服务器1125任选地由不同于视频服务器系统1120的实体来操作。例如,游戏服务器1125可由多玩家游戏发行商来操作。在这个实例中,视频服务器系统1120任选地被游戏服务器1125视为客户端,并且任选地被配置来(从游戏服务器1125的角度看)表现为执行现有技术游戏引擎的现有技术客户端。视频服务器系统1120与游戏服务器1125之间的通信任选地通过网络1115发生。因此,游戏服务器1125可以是向多个客户端发送游戏状态信息的现有技术多玩家游戏服务器,所述客户端中的一个是视频服务器系统1120。视频服务器系统1120可被配置来同时与游戏服务器1125的多个实例通信。例如,视频服务器系统1120可被配置来向不同用户提供多个不同视频游戏。这些不同视频游戏中的每一个可由不同游戏服务器1125支持且/或由不同实体发行。在一些实施方案中,视频服务器系统1120的一些地理上分布式实例被配置来向多个不同用户提供游戏视频。视频服务器系统1120的这些实例中的每一个可与游戏服务器1125的相同实例通信。视频服务器系统1120与一个或多个游戏服务器1125之间的通信任选地通过专用通信信道发生。例如,视频服务器系统1120可通过高带宽信道连接到游戏服务器1125,所述高带宽信道专门用于这两个系统之间的通信。

视频服务器系统1120至少包括:视频源1130、i/o装置1145、处理器1150,以及非暂时性存储器1155。视频服务器系统1120可包括一个计算装置或分布在多个计算设备当中。这些计算装置任选地通过诸如局域网的通信系统连接。

视频源1130被配置来提供视频流,例如,流式视频或形成运动图片的一系列视频帧。在一些实施方案中,视频源1130包括视频游戏引擎和渲染逻辑。视频游戏引擎被配置来:从玩家接收游戏命令,并且基于接收到的命令维持视频游戏的状态的拷贝。这个游戏状态包括游戏环境中的对象的定位,以及典型地视角。游戏状态还可以包括对象的性质、图像、色彩和/或结构。通常基于游戏规则以及游戏命令(如,移动、转动、攻击、设置焦点、互动、使用和/或类似命令)来维持游戏状态。游戏引擎的部分任选地设置在游戏服务器1125内。游戏服务器1125可基于使用地理上分散的客户端从多个玩家接收到的游戏命令来维持游戏状态的拷贝。在这些情况下,游戏服务器1125将游戏状态提供给视频源1130,其中存储游戏状态的拷贝并且执行渲染。游戏服务器1125可通过网络1115直接从客户端1110接收游戏命令,且/或可通过视频服务器系统1120接收游戏命令。

视频源1130通常包括渲染逻辑,例如被存储在计算机可读介质如存储器1155上的硬件、固件和/或软件。这个渲染逻辑被配置来基于游戏状态创建视频流的视频帧。所述渲染逻辑的全部或部分任选地安置在图形处理单元(gpu)内。渲染逻辑通常包括被配置来用于确定对象之间的三维空间关系且/或用于基于游戏状态和视角来应用适当的结构等的处理级。渲染逻辑产生原始视频,然后常常对原始视频进行编码,然后传达给客户端1110。例如,可根据adobe标准、.wav、h.264、h.263、on2、vp6、vc-1、wma、huffyuv、lagarith、mpg-x.xvid.ffmpeg、x264、vp6-8、realvideo、mp3或类似标准对原始视频进行编码。编码过程产生视频流,任选地将所述视频流打包以便传达到远程设备上的解码器。视频流是由帧大小和帧速率来表征。典型的帧大小包括800x600、1280x720(例如720p)、1024x768,但是可使用任何其他帧大小。帧速率是每秒的视频帧数目。视频流可包括不同类型的视频帧。例如,h.264标准包括“p”帧和“i”帧。i帧包括用来刷新显示装置上的全部宏块/像素的信息,而p帧包括用来刷新所述宏块/像素的子集的信息。p帧的数据大小通常小于i帧。如本文中所使用,术语“帧大小”意在指帧内的像素数。术语“帧数据大小”用来指存储所述帧所需的字节数。

在替代实施方案中,视频源1130包括诸如摄像机的视频录制装置。这个摄像机可用来产生可以包括在计算机游戏的视频流中的延迟视频或实况视频。所得的视频流任选地包括所渲染的图像与使用静态摄像机或视频摄像机录制的图像。视频源1130还可以包括被配置来存储将要包括在视频流中的先前录制视频的存储设备。视频源1130还可以包括:被配置来检测对象(例如,人)的运动或定位的运动或定位传感设备;以及被配置来基于所检测运动和/或定位来确定游戏状态或产生视频的逻辑。

视频源1130任选地被配置来提供配置来放置在其他视频上的叠加。例如,这些叠加可包括命令界面、登入指令、发给游戏玩家的消息、其他游戏玩家的图像、其他游戏玩家的视频馈送(例如网络摄像机视频)。在客户端1110a包括触摸屏界面或注视检测界面的实施方案中,所述叠加可包括虚拟的键盘、操纵杆、触摸板和/或类似物。在叠加的一个实例中,将玩家的语音叠加在音频流上。视频源1130任选地还包括一个或多个音频源。

在视频服务器系统1120被配置来基于来自一个以上的玩家的输入来维持游戏状态的实施方案中,每个玩家可以有不同视角,视角包括观察的位置和方向。视频源1130任选地被配置来基于玩家的视角给每个玩家提供单独的视频流。此外,视频源1130可被配置来向客户端1110中的每一个提供不同的帧大小、帧数据大小和/或编码。视频源1130任选地被配置来提供3-d视频。

i/o装置1145被配置用于视频服务器系统1120,用来发送和/或接收信息,所述信息诸如:视频、命令、对信息的请求、游戏状态、注视信息、设备运动、装置位置、用户运动、客户端身份、玩家身份、游戏命令、安全信息、音频和/或类似信息。i/o装置1145通常包括诸如网卡或调制解调器的通信硬件。i/o装置1145被配置来与游戏服务器1125、网络1115和/或客户端1110通信。

处理器1150被配置来执行本文中论述的视频服务器系统1120的各种部件内所包括的逻辑,例如软件。例如,处理器1150可编程有软件指令,以便执行视频源1130、游戏服务器1125和/或客户端限定器1160的功能。视频服务器系统1120任选地包括处理器1150的一个以上的实例。处理器1150还可以编程有软件指令,以便执行视频服务器系统1120所接收的命令或协调本文中讨论的游戏系统1100的各种元件的操作。处理器1150可包括一个或多个硬件装置。处理器1150是电子处理器。

存储器1155包括非暂时性模拟和/或数字存储设备。例如,存储器1155可包括被配置来存储视频帧的模拟存储装置。存储器1155可包括计算机可读数字存储器,例如,硬盘驱动器、光盘驱动器或固态存储器。存储器1115(例如由适当的数据结构或文件系统)被配置来存储视频帧、人工帧、包括视频帧与人工帧的视频流、音频帧、音频流和/或类似物。存储器1155任选地分布在多个装置当中。在一些实施方案中,存储器1155被配置来存储本文中其他地方所讨论的视频源1130的软件部件。这些部件可在需要时随时可以供应的格式来存储。

视频服务器系统1120任选地还包括客户端限定器1160。客户端限定器1160被配置用于远程确定如客户端1110a或1110b的客户端的能力。这些能力可包括客户端1110a本身的能力与介于客户端1110a与视频服务器系统1120之间的一个或多个通信信道的能力。例如,客户端限定器1160可被配置来测试通过网络1115的通信信道。

客户端限定器1160可手动或自动地确定(例如,发现)客户端1110a的能力。手动确定包括:与客户端1110a的用户通信,以及要求用户提供能力。例如,在一些实施方案中,客户端限定器1160被配置来在客户端1110a的浏览器上显示图像、文字和/或类似物。在一个实施方案中,客户端1110a是包括浏览器的hmd。在另一个实施方案中,客户端1110a是具有浏览器的游戏控制台,所述浏览器可显示在hmd上。所显示的对象请求用户输入客户端1110a的信息,诸如操作系统、处理器、视频解码器类型、网络连接类型、显示器分辨率等。向客户端限定器1160传达回用户所输入的信息。

自动确定可例如通过在客户端1110a上执行代理程序和/或通过向客户端1110a发送测试视频来进行。代理程序可包括嵌入网页中或安装为加载项的计算指令,诸如java脚本。代理程序任选地由客户端限定器1160提供。在各种实施方案中,代理程序可发现:客户端1110a的处理能力、客户端1110a的解码和显示能力、客户端1110a与视频服务器系统1120之间的通信信道的滞后时间可靠性和带宽、客户端1110a的显示器类型、客户端1110a上存在的防火墙、客户端1110a的硬件、在客户端1110a上执行的软件、客户端1110a内的注册表项和/或类似物。

客户端限定器1160包括硬件、固件和/或存储在计算机可读介质上的软件。客户端限定器1160任选地放置在与视频服务器系统1120的一个或多个其他元件分开的计算设备上。例如,在一些实施方案中,客户端限定器1160被配置来确定客户端1110与视频服务器系统1120的一个以上的实例之间的通信信道的特性。在这些实施方案中,客户端限定器所发现的信息可以用来确定视频服务器系统1120的哪个实例最适合于向客户端1110中的一个传达流式视频。

本发明的实施方案可以通过各种计算机系统配置来实践,包括手持式装置、微处理器系统、基于微处理器的或可编程的消费型电子产品、小型计算机、大型计算机等。本发明的若干实施方案还可以在分布式计算环境中实践,其中由通过有线或无线网络加以链接的远程处理装置执行任务。

考虑到以上实施方案,应理解的是,本发明的许多实施方案可采用各种计算机实施的操作,这些操作涉及存储在计算机系统中的数据。这些操作是需要对物理量进行物理操纵的操作。本文中描述的形成本发明的各种实施方案的部分的任何操作都是有用的机器操作。本发明的若干实施方案还涉及用于执行这些操作的装置或装置。所述设备可出于所要求的目的而专门构造而成,或所述装置可为由存储于计算机中的计算机程序选择性地激活或配置的通用计算机。具体来说,各种通用机器可以与根据本文的教示所编写的计算机程序一起使用,或者可以更方便地构造更专门的装置来执行所要求的操作。

本发明的各种实施方案也可体现为计算机可读介质上的计算机可读代码。所述计算机可读介质是可以存储数据的任何数据存储装置,所述数据随后可由计算机系统读取。计算机可读介质的实例包括硬盘驱动器、网络附加存储设备(nas)、只读存储器(rom)、随机存取存储器、紧密光盘rom(cd-rom)、可录制cd(cd-r)、可重写cd(rw)、磁带以及其他光学和非光学数据存储装置。所述计算机可读介质可以包括分布在网络耦合计算机系统上的计算机可读有形介质,使得计算机可读代码以分布式方式存储和执行。

尽管以特定顺序描述了所述方法操作,但应理解,其他内务处理操作可以在操作之间执行,或者可以调整操作以使得它们在略微不同的时间发生,或者可以分布在系统中,所述系统允许处理操作以与所述处理相关的各种时间间隔发生,只要重叠操作的处理以所需方式执行即可。

尽管为了理解的清晰性目的而略微详细地描述了前述发明,但很显然,可以在所附权利要求的范围内实践某些变化和修改。因此,本发明的实施方案应被认为是说明性而非限制性的,并且本发明的各种实施方案不限于本文所给出的细节,而是可在所附权利要求书的范围和等效物内进行修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1