admin管理员组文章数量:866648
本发明提出了用于在头戴式显示器(HMD)上渲染图像的方法、系统和计算机程序。一种方法包括用于利用所述HMD内部的一个或多个第一摄像头追踪用户的目光且用于追踪所述HMD的运动的操作。所述HMD的所述运动是通过分析利用不在所述HMD中的第二摄像头拍摄的所述HMD的图像来追踪。此外,所述方法包括用于基于所述目光和所述HMD的所述运动来预测所述用户的所述目光的运动的操作。基于所述目光的预测运动确定用于被界定在通过所述HMD渲染的视图上的多个区域的渲染策略。所述图像是基于所述渲染策略渲染在所述视图上。
1.一种用于在头戴式显示器(HMD)上渲染图像的方法,所述方法包括:利用所述HMD内部的一个或多个第一摄像头追踪用户的目光;追踪所述HMD的运动,其中追踪所述运动包括分析利用不在所述HMD中的第二摄像头拍摄的所述HMD的图像;基于所述目光和所述HMD的所述运动来预测所述用户的所述目光的运动;基于所述目光的预测运动确定用于被界定在由所述HMD渲染的视图上的多个区域的渲染策略;和通过所述HMD基于所述渲染策略渲染图像。 2.根据权利要求1所述的方法,其中预测所述目光的所述运动还包括:追踪所述用户的所述目光在预定时段内的轨迹;和追踪所述HMD在所述预定时段内的轨迹。 3.根据权利要求1所述的方法,其中用于每一区域的所述渲染策略包括下列各项中的一个或多个:屏幕更新的频率、渲染分辨率、所述区域中的渲染图像的复杂度或确定用于渲染所述多个区域的顺序的渲染顺序值。 4.根据权利要求3所述的方法,其还包括:基于所述渲染顺序值创建用于渲染所述多个区域的有序列表。 5.根据权利要求3所述的方法,其中所述视图中心中的区域比所述视图外围中的区域具有更高的渲染顺序值。 6.根据权利要求1所述的方法,其中确定所述渲染策略还包括:向通过所述目光界定的用户视图区域中的区域分配比所述用户视图区域外部的区域更高的渲染顺序值。 7.根据权利要求1所述的方法,其中追踪所述HMD的所述运动还包括:追踪所述HMD中的红外线灯或追踪所述HMD中的LED灯中的一个或多个。 8.根据权利要求1所述的方法,其中所述第二摄像头是立体摄像头。 9.根据权利要求1所述的方法,其中确定渲染策略还包括:当所述HMD移动时降低所述渲染分辨率;和当所述HMD静止时增加所述渲染分辨率。 10.根据权利要求1所述的方法,其还包括:利用所述第二摄像头追踪控制器的运动;和创建与所述控制器同步移动的游戏对象,所述游戏对象被渲染在所述视图上。 11.根据权利要求10所述的方法,其中所述游戏对象是与所述控制器同步移动的游戏中的头像。 12.根据权利要求10所述的方法,其中所述游戏对象是武器、控制装置、闪光灯、铁锤或盾牌中的一个。 13.一种嵌入在非暂时性计算机可读存储介质中的计算机程序,所述计算机程序在由一个或多个处理器执行时用于在头戴式显示器(HMD)上渲染图像,所述计算机程序包括:用于利用所述HMD内部的一个或多个第一摄像头追踪用户的目光的程序指令;用于追踪所述HMD的运动的程序指令,其中追踪所述运动包括分析利用不在所述HMD中的第二摄像头拍摄的所述HMD的图像;用于基于所述目光和所述HMD的所述运动来预测所述用户的所述目光的运动的程序指令;用于基于所述目光的预测运动确定用于被界定在由所述HMD渲染的视图上的多个区域的渲染策略的程序指令;和用于通过所述HMD基于所述渲染策略渲染图像的程序指令。 14.根据权利要求13所述的计算机程序,其中追踪所述HMD的所述运动还包括:接收关于所述HMD的运动的惯性信息,所述惯性信息是通过所述HMD中的惯性传感器采集。 15.根据权利要求13所述的计算机程序,其中对于所有区域来说,所述多个区域不具有相同大小。 16.一种用于在头戴式显示器(HMD)上渲染图像的方法,所述方法包括:追踪穿戴所述HMD的用户的目光;基于所述用户的所述目光为通过所述HMD渲染的多个游戏对象分配渲染优先级值,每一个游戏对象的所述渲染优先级值界定下列各项中的至少一个:渲染的频率、渲染游戏对象的复杂度、游戏对象的图像质量或渲染分辨率;基于所述游戏中的每一个游戏对象的重要性值改变所述渲染优先级值;和通过所述HMD根据所述渲染优先级值渲染所述多个游戏对象。 17.根据权利要求16所述的方法,其中所述渲染优先级值还包括用于对所述多个游戏对象的渲染进行定序的排序值。 18.根据权利要求16所述的方法,其还包括:追踪所述HMD的运动,其中追踪所述运动包括分析利用不在所述HMD中的第二摄像头拍摄的所述HMD的图像。 19.根据权利要求18所述的方法,其还包括:利用所述第二摄像头追踪控制器的运动;和创建与所述控制器同步移动的游戏对象,所述游戏对象被渲染在所述视图上。 20.根据权利要求16所述的方法,其中计算机程序在由一个或多个处理器执行时执行所述方法的操作,所述计算机程序被嵌入在非暂时性计算机可读存储介质中。
技术领域
本实施方案涉及用于改善头戴式装置(HMD)的可用性的方法,且更特 定地涉及用于在HMD内的显示器上渲染图像的方法、系统和计算机程序。
背景技术
通常,HMD是被穿戴在用户头部周围的便携式装置,以使得相距眼睛 不远处的显示器提供图像进行用户互动。一些HMD提供混合的真实生活和 虚拟生活环境,其中用户能够看见由计算装置创建的图像以及一些真实生活 图像。其他HMD将阻止外界的沉浸式体验提供给用户,同时在HMD显示器 上提供虚拟世界。
然而,当用户通过HMD中的显示器观察真实世界或虚拟世界时可存在 问题,因为有时候HMD的计算能力不足以刷新显示器上的图像。这可使得 HMD的用户患上运动病。
需要一种HMD,其提供快速响应于用户的运动的图像且传递足以使用 户具有感觉仿佛用户正在观看真实世界一样的沉浸式体验的显示质量。
实施方案产生在上下文中。
发明内容
本发明提出了用于在头戴式显示器(HMD)上渲染图像的方法、装置、 系统和计算机程序。应明白,本实施方案可以数种方式(诸如方法、设备、 系统、装置或计算机可读介质上的计算机程序)实施。下文描述了若干实施 方案。
在一个实施方案中,一种方法包括用于利用所述HMD内部的一个或多 个第一摄像头追踪用户的目光且用于追踪所述HMD的运动的操作。所述 HMD的所述运动是通过分析利用不在所述HMD中的第二摄像头拍摄的所述 HMD的图像来追踪。此外,所述方法包括用于基于所述目光并基于所述HMD 的所述运动来预测所述用户的所述目光的运动的操作。基于所述目光的预测 运动或轨迹确定用于被界定在由所述HMD渲染的视图上的多个区域的渲染 策略。所述图像是基于所述渲染策略由所述HMD渲染。
在另一实施方案中,提出了一种嵌入在非暂时性计算机可读存储介质中 的计算机程序,所述计算机程序在由一个或多个处理器执行时用于在头戴式 显示器(HMD)上渲染图像。所述计算机程序包括用于利用所述HMD内部 的一个或多个第一摄像头追踪用户的目光的程序指令。此外,所述计算机程 序包括用于追踪所述HMD的运动的程序指令。追踪所述运动包括分析利用 不在所述HMD中的第二摄像头拍摄的所述HMD的图像。此外,所述计算机 程序包括用于基于所述目光并基于所述HMD的所述运动来预测所述用户的 所述目光的运动的程序指令,和用于基于所述目光的预测运动确定用于被界 定在由所述HMD渲染的视图上的多个区域的渲染策略的程序指令。所述计 算机程序还包括用于通过所述HMD基于所述渲染策略渲染图像的程序指令。
在又另一实施方案中,一种用于在头戴式显示器(HMD)上渲染图像的 方法包括用于追踪穿戴所述HMD的用户的目光的操作。此外,所述方法包 括用于基于所述用户的所述目光为通过所述HMD渲染的多个游戏对象分配 渲染优先级值的操作。每一个游戏对象的所述渲染优先级值界定下列各项中 的至少一个:渲染的频率、渲染游戏对象的复杂度、游戏对象的图像质量或 渲染分辨率。此外,所述方法包括用于基于所述游戏中的每一个游戏对象的 重要性值改变所述渲染优先级值的操作。通过所述HMD根据所述渲染优先 级值渲染所述多个游戏对象。
将根据结合附图的以下详述明白其他方面。
附图说明
可以通过参考结合附图的以下详述最佳地理解实施方案。
图1说明根据一个实施方案的用户与包括头戴式装置(HMD)的多个装 置进行互动。
图2说明根据一个实施方案的经由图像分析对HMD的追踪。
图3示出了说明根据一个实施方案的具有用于追踪用户的目光的内部摄 像头的HMD。
图4示出了具有用于视觉追踪的照明点的HMD的实施方案。
图5说明根据一个实施方案的显示器的刷新。
图6说明根据一个实施方案的示出在HMD的显示器上的游戏场景。
图7说明根据一个实施方案的显示器中用于优先级渲染的区域的创建。
图8说明可以用于实施本发明的实施方案的装置的架构。
图9是说明根据一个实施方案的用于在HMD上渲染图像的流程图。
图10说明可以用于实施本发明的实施方案的硬件和用户接口。
图11是根据本发明的各个实施方案的游戏系统的方框图。
具体实施方式
以下实施方案描述了用于在头戴式显示器(HMD)上渲染场景的方法、 设备、系统和计算机程序。将明白,可以在没有一些或所有这些具体细节的 情况下实践本实施方案。在其他实例中,没有详细描述熟悉的程序操作以免 不必要地混淆本实施方案。
图1说明根据一个实施方案的用户与包括头戴式装置(HMD)的多个装 置进行互动。用户114正在穿戴HMD102,所述HMD102包括在用户的眼 睛附近渲染图像的显示器110。在一个实施方案中,图像是以3D渲染。
此外,虽然已参考HMD102上的显示器描述了本文中提出的实施方案, 但是其他实施方案可以使用其他视图渲染方法,诸如在用户的视网膜上投影 图像。
在一个实施方案中,计算装置106执行被显示在HMD102上的游戏。 因此,计算装置106与HMD102协作以显示玩游戏的图像。游戏操作的处理 可以在计算装置106上、HMD102上或计算装置106与HMD102两者中进 行。在另一实施方案中,游戏操作的处理是由联网游戏服务器124或与计算 装置106和/或HMD102协作以显示玩游戏的图像的远程游戏服务器的群集 (没有示出)来执行。在又另一实施方案中,HMD102与游戏服务器124协 作来玩游戏。
在图1的实施方案中,HMD102与计算装置106无线地通信(例如, WiFi、蓝牙等等)。在其他实施方案中(没有示出),HMD102可以直接有线 连接到计算装置106,或经由网络(例如,互联网)与计算装置106通信。 例如,计算装置106可以是网络上提供游戏服务的服务器。在一些实施方案 中,HMD是自主游戏装置且游戏直接在HMD上执行,而无需外部装置来运 行游戏。
在一个实施方案中,摄像头(或多个摄像头)耦合到计算装置106。如 果计算装置106是网络上的服务器,那么摄像头104可以是经由网络(例如, 经由互联网)将图像发送到计算装置的联网摄像头。摄像头104可以是下列 各项中的一个或多个:常规的图像摄像头、立体摄像头(即,具有从游戏区 采集图像的两个或两个以上透镜)、红外线摄像头、深度摄像头、3D摄像头 等等。
摄像头104拍摄的图像可以被处理来追踪HMD102的位置和移动。此 外,图像还可以用于追踪控制器(例如,单手控制器116、双手控制器118) 或游戏区中的任何其他元件的用户的位置和运动或用户的特征(例如,用户 的头部、用户的嘴巴、用户的手、用户的躯干等等)。
在一个实施方案中,用户可以经由语音识别提供命令,所述语音识别可 以由计算装置106经由通过一个或多个麦克风120进行的声音采集来执行或 可以由在一个实施方案中也包括一个或多个麦克风的HMD102来执行。在另 一实施方案中,用户114还可以经由通过计算装置106分析和识别的手势来 键入多个输入。
在一个实施方案中,计算装置106还连接到可以执行一些游戏操作的显 示器108。例如,显示器108可以在HMD102上的用户推送之前将指令提供 给用户。在另一实施方案中,显示器108提供HMD上示出的相同或类似显 示,因此附近的其他用户可以感知用户114在HMD102上显示的游戏上的进 度。
在一个实施方案中,用户持有一个或多个控制器116。计算装置106追 踪控制器的位置和移动,且关于控制器的运动的操作或利用控制器键入的输 入可以用作游戏的输入。例如,控制器可以表示剑柄,且剑被显示在游戏场 景中。随着用户移动控制器,剑在虚拟世界中与控制器同步移动。以此方式, 用户能够执行其中剑是武器的格斗游戏操作。
在一个实施方案中,计算装置106计算HMD102与游戏控制器116之间 的相对位置。相对位置然后由游戏使用来与HMD102同步移动游戏对象。
计算装置还可以追踪第二控制器116,其还可以链接到被渲染在HMD的 显示器上的游戏对象。例如,第二控制器可以是盾牌,且用户能够用剑和盾 牌在虚拟世界中格斗。在其他实施方案中,控制器可以在游戏中用于其他目 的,诸如武器(例如,枪、步枪或任何其他类型的火力武器、斧头、激光枪、 控制装置-控制盘或摩托车车把-闪光灯、铁锤、盾牌等等。
在另一实施方案中,用户还可以与双手控制器互动,所述双手控制器可 以类似于单手控制器的方式使用。例如,双手控制器可以用作控制盘。
在另一实施方案中,控制器诸如通过按下控制器上的按钮键入的输入可 以用于执行游戏中的命令。例如,用户可以使用控制器上的按钮来移动游戏 中的头像、开火、抓取物体等等。
注意,图1中说明的实施方案是示例性的。其他实施方案可以利用不同 装置、不同数量的装置,具有不同装置之间的更多或更少互动,使用其他通 信方式(例如,超声波),促进多玩家游戏(穿戴相应HMD的两个用户玩相 同游戏)等等。图1中说明的实施方案因此不应被解释为排它性或限制性, 反而是示范性或说明性的。
图2说明根据一个实施方案的经由图像分析对HMD的追踪。在一个实 施方案中,HMD208包括辅助HMD的视觉追踪的元件。例如,HMD可以 包括红外线灯214、发光二极管(LED)210和具有容易经由图像分析识别的 特殊形状的物体。例如,一个或多个球形物体212可以被添加到HMD以便 容易追踪。此外,球形物体212还可以利用LED灯、红外线灯或任何其他类 型的照明来照明。
此外,HMD208还可以包括特殊视觉标记(未示出),诸如后反射区域、 具有特定颜色的区域(例如,蓝色矩形区等等)或标记(例如,HMD的表面 上的三行平行线)等等。
在一些实施方案中,HMD包括HMD后面的灯或标记(即,HMD的部 分触及头部后面)。以此方式,如果用户转身且将其背部朝向摄像头,那么仍 然可通过检测HMD后面的灯或标记来在视觉上追踪HMD的位置。
HMD的视觉追踪可以利用不同类型的摄像头来执行。在一个实施方案 中,HMD是利用立体摄像头202追踪,立体摄像头202是包括两个或两个以 上透镜的摄像头。比较来自不同透镜的图像以执行HMD中的特征的三角测 量分析以辅助HMD的定位以及HMD的游戏场内的深度(例如,从HMD到 拍摄HMD的图片的摄像头的距离)的计算。
在另一实施方案中,红外线摄像头204分析红外线灯(例如,红外线灯 214)。红外线灯对人眼不可见,但是红外线灯对红外线摄像头可见。以此方 式,HMD可以包括不会由于HMD的外观而有损的红外线灯。此外,在一些 环境中(例如,低光或亮光),追踪红外线灯比追踪其他类型的灯可能更容易。
在又另一实施方案中,常规摄像头206(由于其只具有一个透镜而在本 文中也称作单色摄像头)用于追踪HMD中的灯或特征。为了利用常规摄像 头确定游戏场内的HMD的深度,分析HMD上的一些特征的大小以检测深度。 特征越小,HMD就越远离摄像头。此外,追踪还可结合其他类型的追踪,诸 如惯性运动追踪、航位推测法、计算装置中的HMD之间的超声波通信等等。
注意,图2中说明的实施方案是示例性的。其他实施方案可以不同地在 游戏场内只利用一种类型的摄像头、利用若干摄像头等等。图2中说明的实 施方案因此不应被解释为排它性或限制性,反而是示范性或说明性的。
图3示出了根据一个实施方案的具有用于追踪用户的目光的内部摄像头 302、304的HMD208。在一个实施方案中,当用户观看HMD208中的显示 器306时,HMD208具有一个或多个摄像头(例如,302、304)以追踪用户 的目光。在一个实施方案中,两个摄像头302、304追踪用户的视景,每一摄 像头追踪不同的眼睛。在另一实施方案中,大约位于HMD中心的单个摄像 头对两只眼睛拍摄图像,且分析图像来确定目光。
注意,图3的实施方案包括位于眼睛前面的摄像头,但是摄像头也可以 位于HMD的不同部分中。通过使用镜子和滤光片,可在多个位置中定位用 于目光追踪的摄像头。例如,在一个实施方案中,摄像头可以位于显示器后 面,这使得光在一个方向上(例如,从眼睛到摄像头)通过所述摄像头。在 另一实施方案中,摄像头可以位于一侧上且对准HMD中心的镜子,这将摄 像头的视景重新引导朝向眼睛。
图4示出了具有用于视觉追踪的照明点的HMD的实施方案。图4示出 了具有多个特征的HMD,所述多个特征促进游戏场内的HMD的运动的追踪。 HMD402包括位于HMD前面、侧面和后面的红外线灯404。
HMD前面的四个红外线灯位于HMD的相同正平面上。在图4的实施方 案中,顶部的红外线灯之间的距离小于底部处的红外线灯之间的距离。以此 方式,由前面的红外线灯形成的梯形图案促进HMD的追踪。例如,如果用 户将她的头部倾斜到一侧,那么由前面的红外线灯形成的梯形将倾斜成与用 户的头部相同的角度。
此外,每一侧上的三个红外线灯也辅助追踪。侧面红外线灯中的两个以 一定角度定位在HMD前面与HMD的侧面之间。因此,当摄像头在HMD前 面或HMD的侧面时,摄像头可以看见这样的两个红外线灯。HMD的侧面上 的另一红外线灯对准头部侧面,或换句话来说,红外线灯相对于位于HMD 前面的红外线灯成大约90°。最后,当用户正背离摄像头时,HMD后面的红 外线灯允许HMD的追踪。
随着用户转动她的头部,基于相距摄像头的视角,红外线灯将形成不同 图案且将感知具有不同亮度的红外线灯。红外线灯的这些距离、大小和亮度 辅助计算装置追踪HMD的位置。
此外,HMD包括三个LED灯406。两个LED灯406位于HMD前面, 其具有形成两个相交平面的盖。平面之一是在HMD的侧面上,且另一平面 相对于HMD前面成一定角度(例如,45°)。类似于红外线灯的追踪,计算 装置分析由摄像头采集的LED灯的形状和强度。以此方式,计算装置能够确 定HMD的位置。再者,当用户正背离摄像头时,位于HMD后面的LED灯 允许摄像头检测HMD。
注意,图4中说明的实施方案是示例性的。其他实施方案可以不同地只 利用一种类型的灯、一种类型以上的灯、不同布局的灯、不同数量的灯等等。 图4中说明的实施方案因此不应被解释为排它性或限制性,反而是示范性或 说明性的。
图5说明根据一个实施方案的显示器的刷新。在许多显示器中,渲染显 示器的内容,也称作逐行扫描或刷新或更新。每次按从顶部到底部的顺序渲 染一行。在每一行内,与所述行相关的像素从左到右刷新。此类型的渲染使 得对于显示器上的所有像素的刷新频率相同。
本文中提出的实施方案界定显示器内的不同区域,且区域中的每一个中 的像素被赋予不同渲染优先级。渲染优先级确定如何显示像素。在一个实施 方案中,像素的渲染优先级越高,像素将被刷新的频率就越大。
如本文中使用,用于显示器上的识别区域的渲染策略确定如何扫描识别 区域。渲染策略包括识别如何显示区域的一个或多个值。在一个实施方案中, 渲染策略包括下列各项中的一个或多个:区域的屏幕更新的频率(例如,一 秒钟30次,但是其他值也是可能的)、渲染分辨率、区域中的渲染图像的复 杂度或渲染顺序值。
渲染分辨率确定区域中的所有像素是否将被个别地刷新。在最大分辨率 下(例如,100%),区域中的所有像素将以颜色和亮度的个别值进行刷新。 然而,有时候区域的分辨率将被降低(例如,64%),这意指每次只刷新区域 中的一些像素。例如,在50%的渲染分辨率下,一次循环中将刷新区域中的 一半像素,且下一次循环中将刷新另一半。
区域中的渲染图像的复杂度是基于为区域中的像素产生像素值所需要的 处理量。例如,具有均匀颜色的背景区域或填充有来自背景图像的像素值的 区域渲染的复杂度将小于包括移动头像的区域。取决于头像的一些属性,诸 如当头像包括自由漂浮的长发、头像是具有皮毛的动物时等等,复杂度可以 大幅增加。此外,包括镜子的区域也可以具有复杂处理以确定像素值,因为 镜子上的图像将取决于用户的目光,且可能需要计算来确定镜子所对准之处。
在另一实施方案中,通过降低用于存储像素信息的存储器单元的数量来 改变区域的清晰度。在此情况中,如果区域的清晰度低于最大值,那么用于 存储像素数据的存储器因此减少。例如,具有25%的清晰度的区域只使用与 100%清晰度相关的存储器的25%。这意指相同像素数据用于扫描区域中的四 个像素的群组。
此外,显示技术可增大与区域相关的源存储器来填充像素区域。在其他 实施方案中,可以使用增大或缩减的不同方法,诸如最近邻插值法、最近邻 贴图分级细化、双线性滤波、三线性滤波或各向异性滤波。
例如,双线性滤波是用于当使用第二多个像素在显示器的区域上显示第 一多个像素时将纹理平滑化的纹理滤波方法,其中第二多个像素的像素数量 不同于第一多个像素中的像素数量。换句话来说,第二多个像素需要对第一 多个像素的进行缩放(增大或缩减)。
很多时候在屏幕上绘制纹理化形状时,纹理不会如同其存储时没有任何 失真一样确切地显示。因此,大部分像素将结束在纹理上使用介于纹素(纹 理空间的单位)之间的点的需要,假设纹素是位于其相应单元中的某个位置 的点。双线性滤波使用这些点来执行最接近像素所表示的点(通常在像素中 间或左上侧)的四个纹素之间的双线性差值。
通过降低一个区域中的分辨率或清晰度,可以将计算资源分配到屏幕上 的其他区域,所述其他区域对于给用户提供更好体验来说更加至关重要。
渲染顺序值是由计算装置分配来定义渲染区域的顺序的值。在一个实施 方案中,计算装置将渲染顺序值提供到区域中的每一个,且然后按照由渲染 顺序值定义的顺序扫描所有区域。换句话来说,计算装置创建用于渲染的所 有区域的排序列表。
在一个实施方案中,一种或多种渲染规则定义渲染策略。例如,渲染策 略可以包括一种规则(例如,从左到右和从上到下显示像素)或可以包括两 种或两种以上规则。例如,第一规则可以定义显示器中心的区域将具有高于 显示器外围的区域的优先级,且第二规则可以定义具有游戏人物的区域具有 高于不具有游戏人物的区域的渲染优先级。
图6说明根据一个实施方案的示出在HMD的显示器上的游戏场景。在 一些实施方案中,目光追踪和HMD运动追踪用于对HMD显示器602上的不 同区域的扫描排定优先级。
在一个实施方案中,屏幕被划分成多个区域或区段,且区域按照不同优 先级和不同等级的分辨率来更新。这意指一些区域可比其他区域更频繁地或 以更高分辨率刷新。
HMD追踪辅助确定其中用户正要将其目光投影到何处,因为当用户正 要改变其目光时,存在以相同方向移动头部的天性,即使当与眼睛的移动相 比头部的移动可能不大也是如此。例如,如果用户向前平视且头部(连同HMD 一起)开始朝左侧移动,那么计算装置推测用户正要将其目光移向左侧。响 应于此检测,屏幕左侧上的区域以高于屏幕右侧上的区域的优先级进行渲染。 实际上,随着场景偏向左侧,朝屏幕的右边界的区域将极有可能从视野中消 失。
通过排定不同区域的扫描的优先级,可通过集中关注用户正观看何处或 用户接下来要观看何处且更有效地施加计算机资源使得能够更快且以更好质 量渲染用户的视图来给用户赋予更好的体验。
HMD运动追踪是重要的,因为有时候检测HMD运动比检测目光运动更 快。在一些情况中,计算装置在视觉上追踪HMD具有多于HMD的计算资源, 因此计算装置能够检测HMD运动且基于HMD运动预测HMD的轨迹。此外, HMD将关于目光的当前位置的信息提供到计算装置,且计算装置能够结合两 个信息源以更好地预测目光的轨迹。
图6示出了虚拟现实游戏的屏幕。参考虚拟现实显示器描述本文中提出 的实施方案,其中屏幕示出了由计算装置创建的独特场景。然而,本文中提 出的原理也可以应用于增强现实游戏,其中屏幕上的视图是真实世界图像与 计算装置产生图像的组合。在一个实施方案中,在广泛的虚拟世界中玩游戏。 用户在任何时候只看见虚拟世界的一部分,且用户能够在虚拟世界中四处移 动。随着用户在虚拟世界中四处移动,暴露虚拟世界的其他部分。
在一些实施方案中,当前用户的视角604被赋予高于用户的视角604外 部的区域的优先级。用户的视角被定义为显示器上用户正集中观看的区域。 因此,大部分游戏互动发生在用户的视角604内。当然,用户的目光是以视 角604为中心。
许多人能够在其视野内看见相距左侧大约90°到相距右侧大约90°的区 域。然而,用户的视景外围的区域没有被清楚地感知,但是某个人可以感觉 所述外围区域内的一定运动或变化。
在图6中示出的实施方案中,视角被定义为屏幕上的矩形区段,其中用 户的目光居中于此矩形区段内。然而,可以定义其他类型的视角区域。例如, 在一个实施方案中,视角区域被定义为屏幕上的用户的目光点周围的圆圈。 观察角是参考从眼睛之间的中点到屏幕上的目光点的线来定义。然后由观察 角确定视角圆圈的半径。在一些实施方案中,观察角可以具有5°到45°的范 围中的值,但是其他值也是可能的。
在一些实施方案中,渲染策略要求具有游戏人物的区域被赋予高于不具 有游戏人物的区域的渲染优先级。在其他实施方案中,另一渲染策略按照游 戏赋予游戏人物和被视为重要游戏对象的特殊游戏对象更高的扫描优先级。 例如,重要游戏对象可以是汽车或飞机的安全门、导航控制台、催眠游戏上 的目标、敌机等等。一般来说,重要游戏对象是可由用户扮演的对象,而非 重要游戏对象在背景中渲染以填满场景。
在图6中,区域606(包括游戏人物610和612)和区域608(包括游戏 人物614)是具有游戏人物的区域,且被赋予高于显示器的剩余部分的渲染 优先级。当然,在一些实施方案中,这只是计算最终渲染优先级的因素,因 为诸如当用户正移动其目光或其头部时渲染优先级可以被一些其他规则更 改。
在一个实施方案中,当用户快速移动其头部时屏幕上可以发生模糊,因 为快速移动需要快速更新显示器,且HMD不具有足够多计算资源来赶上用 户的运动。为了在HMD的快速运动中避免模糊,渲染策略开始更快地刷新 与用户的运动相关的区域,且一些其他区域可能以更低频率或更低分辨率来 刷新。一旦HMD停止移动,修复扫描的图像的更高质量。
此外,注意为了预测用户的目光的轨迹,计算装置追踪用户的目光在预 定时段内的轨迹,且还追踪HMD在预定时段内(或某个其他时段)的轨迹。 历史数据用于通过分析目光运动和HMD运动中的趋势来预测用户的目光的 轨迹。
注意,图6中说明的实施方案是示例性的。其他实施方案可以利用不同 类型的视角区域、不同类型的显示器、不同的渲染策略等等。图6中说明的 实施方案因此不应被解释为排它性或限制性,反而是示范性或说明性的。
图7说明根据一个实施方案的显示器中用于优先级渲染的区域的创建。 在图7的实施方案中,屏幕702上界定相等大小的多个区域。在示例性实施 方案中,屏幕上界定创建30个区域(6x5)的格子。在其他实施方案中,屏 幕上界定的区域不具有相等大小。例如,显示器中心的区域小于显示器外部 的区域,因为中心的区域对于提供更好的用户体验来说通常更重要。结果, 这些中心区域被赋予更高渲染优先级。
在一些实施方案中,基于游戏活动或基于用户正在做的事情给一些区域 赋予更高的渲染优先级。例如,如上文参考图6讨论,检测用户头部的运动 且使用所述运动来增加其中用户的目光被预测所处位置的优先级。
在一个实施方案中,具有游戏人物的区域被赋予高于不具有游戏人物的 区域的优先级。在图7的示例性实施方案中,区域704和706内部的区域包 括游戏人物的部分。在一个实施方案中,渲染策略包括增加区域704和706 的渲染优先级的规则。另一渲染策略对屏幕中心的区域赋予高渲染优先级且 对显示器外围的区域赋予低渲染优先级。
在一个实施方案中,通过考虑确定优先级的多种因素或规则计算每一区 域的渲染优先级。以下等式用于确定区域ri:的渲染优先级rp值:
rp(ri)=f(rule1(ri),rule2(ri),…,rulen(ri))
其中rp(ri)是区域ri的渲染策略,且rule1-rulen是被定义用于确定渲染策 略的策略规则。例如,一种规则可以规定显示器中心的区域被赋予更高渲染 优先级,第二规则可以确定具有游戏人物的区域被赋予更高渲染优先级,第 三规则可以对目光点周围的区域赋予更高优先级,第四规则可以确定当用户 正移动其头部时,其中头部被预测转向的区域被赋予更高渲染优先级,等等。
在一个实施方案中,渲染策略包括下列各项中的一个或多个:区域的屏 幕更新的频率、渲染分辨率和渲染顺序值。在一个实施方案中,每一规则被 赋予权重以计算区域的渲染策略。在一些实施方案中,可以基于之前体验动 态地调整权重。
图8说明可以用于实施本发明的实施方案的装置的架构。头戴式显示器 是计算装置且包括通常发现在计算装置上的模块,诸如处理器804、存储器 816(RAM、ROM等等)、一个或多个电池806或其他电源和永久存储装置 848(诸如硬盘)。
通信模块允许HMD与其他便携式装置、其他计算机、其他HMD、服务 器等等交换信息。通信模块包括通用串行总线(USB)连接器846、通信链路 852(诸如以太网)、超声波通信856、蓝牙858和WiFi854。
用户接口包括用于输入和输出的模块。输入模块包括输入按钮、传感器 和开关810、麦克风832、触敏屏幕(未示出,其可以用于配置或初始化HMD)、 前置摄像头840、后置摄像头842、目光追踪摄像头844。其他输入/输出装置 (诸如键盘或鼠标)也可经由通信链路(诸如USB或蓝牙)连接到便携式装 置。
输出模块包括用于渲染用户的眼睛前面的图像的显示器814。一些实施 方案可以包括一个显示器、两个显示器(一只眼睛使用一个显示器)、微投影 仪或其他显示技术。其他输出模块包括发光二极管(LED)834(其还可以用 于HMD的视觉追踪)、触觉震动反馈850、扬声器830和声音定位模块812, 其执行被传递到扬声器或耳机的声音的声音定位。诸如耳机的其他输出装置 也可经由通信模块连接到HMD。
可以包括来促进运动追踪的元件包括LED834、用于视觉识别的一个或 多个物体836和红外线灯838。
来自不同装置的信息可由位置模块828使用来计算HMD的位置。这些 模块包括磁力计818、加速度计820、陀螺仪822、全球定位系统(GPS)模 块824和指南针826。此外,位置模块可分析利用摄像头和麦克风采集的声 音或图像数据以计算位置。此外,位置模块可执行测试以确定便携式装置的 位置或附近其他装置的位置,诸如WiFi因特网包探索器(ping)测试或超声 波测试。
虚拟现实产生器808如先前描述般使用由位置模块计算的位置创建虚拟 或增强现实。虚拟现实产生器808可以与其他计算装置(例如,游戏机、互 联网服务器等等)协作来产生用于显示模块814的图像。远程装置可以发送 用于在屏幕上创建游戏对象的屏幕更新或指令。
应明白,图8中说明的实施方案是便携式装置的示例性实施方式。其他 实施方案可以利用不同模块、模块的子组或将相关任务分配到不同模块。图 8中说明的实施方案因此不应被解释为排它性或限制性,反而是示范性或说 明性的。
图9是说明根据一个实施方案的用于在HMD上渲染图像的流程图。虽 然此流程图中的各个操作是循序提出和描述,但是一般技术者将明白,可以 不同顺序执行、可以组合或省略或并行执行一些或所有操作。
在操作902中,所述方法利用HMD内部的一个或多个第一摄像头追踪 用户的目光。所述方法从操作902流到操作904,其中所述方法追踪HMD的 运动。追踪运动包括分析利用不在HMD中的第二摄像头(例如,图1中的 摄像头104)拍摄的HMD的图像。
所述方法从操作904流到操作906,其中基于目光和HMD的运动预测 用户的目光的运动(例如,所预测的目光轨迹)。此外,所述方法从操作906 流到操作908,其中确定界定在HMD的显示器上的多个区域的渲染策略。基 于目光的预测运动确定渲染策略。
所述方法从操作908流到操作910以基于先前计算的渲染策略来渲染显 示器上的图像。此外,在一个实施方案中,当HMD正在移动时降低区域的 渲染分辨率,且当HMD变为静止时增加区域的渲染分辨率。
在一些实施方式中,接收关于HMD的运动的惯性信息,所述惯性信息 是由HMD中的惯性传感器采集。在另一实施方案中,通过分析利用不在HMD 中的第二摄像头拍摄的HMD的图像来追踪HMD的运动。在又另一实施方案 中,通过组合惯性信息与来自第二摄像头拍摄的图像的图像分析的结果来追 踪HMD的运动。
在又另一实施方案中,提出一种用于在HMD上渲染图像的方法。所述 方法包括用于追踪观看由HMD内部的显示器创建的视图的用户的目光的操 作。此外,所述方法包括用于基于用户的目光给显示器上渲染的多个游戏对 象分配渲染优先级值的操作。每一个游戏对象的渲染优先级值定义渲染的频 率和渲染分辨率。此外,所述方法包括用于基于游戏中的每一个游戏对象的 重要性值改变渲染优先级值的操作。在另一操作中,所述方法包括根据渲染 优先级值在显示器上渲染所述多个游戏对象。
在另一实施方案中,基于源图像和其中渲染源图像区域来更改实际源图 像。例如,直视游戏人物(例如,游戏人物靠近用户的视野中心)比不直视 游戏人物(例如,游戏人物没有靠近用户的视野中心)更详细渲染游戏人物。
图10说明可以用于实施本发明的实施方案的硬件和用户接口。图10示意地说明3娱乐装置的整体系统架构。提供系统单元1400,其中各个外围装置可连接到系统单元1400。系统单元1400包括:单元处理器1428;动态随机访问存储器(XDRAM)单元1426;具有专用视频随机访问存储器(VRAM)单元1432的现实同步器图形单元1430;和I/O桥1434。系统单元1400还包括用于从光盘1440a中进行读数的蓝光光盘光盘读取器1440和可通过I/O桥1434访问的可抽换式吸入式硬盘驱动器(HDD)1436。选用地,系统单元1400还包括用于读取类似地可通过I/O桥1434访问的快闪记忆卡、记忆棒存储卡等等的存储器读卡器1438。
I/O桥1434还连接到6个通用串行总线(USB)2.0端口1424;千兆以太网端口1422;IEEE802.11b/g无线网(Wi-Fi)端口1420;和能够支持多达7个蓝牙连接的蓝牙无线链路端口1418。
无线、USB和以太网端口除了游戏控制器1402到1403和HMD1417之外还提供用于其他外围装置的连接,诸如:远程控制1404;键盘1406;鼠标1408;便携式娱乐装置1410,诸如Sony娱乐装置;摄像机,诸如Play眼球摄像头1412;耳机1414;和麦克风1415。这些外围装置可以因此原则上无线地连接到系统单元1400;例如,便携式娱乐装置1410可以经由Wi-Fi无线自组织连接进行通信,而耳机1414可以经由蓝牙链路进行通信。
游戏控制器1402到1403可操作以经由蓝牙链路与系统单元1400无线地 通信,或连接到USB端口,借此还提供通过其对游戏控制器1402到1403的 电池充电的电力。游戏控制器1402是被设计来用两只手使用的控制器,且游 戏控制器1403是具有球形附接件的单手控制器。除了一个或多个模拟控制杆 和常规控制按钮之外,游戏控制器易受三维位置确定影响。结果,除了常规 按钮或控制杆命令之外或代替常规按钮或控制杆命令,由游戏控制器的用户 作出的手势和移动可以被转译为游戏的输入。
在一个实施方案中,利用语音和目光输入来根据用户的目光点(POG) 朝具体音频扬声器播放声音。音频连接器1450可以包括常规的模拟和数字输 出,而视频连接器1452可以不同地包括分量视频、S-视频、合成视频和一个 或多个高清晰度多媒体接口(HDMI)输出。结果,视频输出可以呈诸如PAL 或NTSC或720p、1080i或1080p高清晰度的格式。
图11是根据本发明的各个实施方案的游戏系统1100的方框图。游戏系 统1100被配置来经由网络1115将视频流提供到一个或多个客户端1110。游 戏系统1100通常包括视频服务器系统1120和选用游戏服务器1125。视频服 务器系统1120被配置来以最小服务质量将视频流提供到所述一个或多个客 户端1110。例如,视频服务器系统1120可以接收改变视频游戏的状态或视频 游戏内的视角的游戏命令,且以最小滞后时间给客户端1110提供反映此状态 变化的更新视频流。视频服务器系统1120可以被配置来提供呈各种替代视频 格式的视频流。
本文中个别地称作1110A.、1110B.等等的客户端1110可以包括头戴式显 示器、终端、个人计算机、游戏机、平板计算机、电话、机顶盒、一体机、 无线装置、数码pad、独立装置、手持式游戏装置等等。通常,客户端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、HMD光学器件的光学失真处理或对视频流的相似操作。客户端 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)、只读存储器、随机访问存储器、CD-ROM、CD-R、CD-RW、磁 带和其他光学和非光学数据存储装置。计算机可读介质可包括通过网络耦接 计算机系统分布的计算机可读有形介质使得以分布式方式存储和执行计算机 可读代码。
虽然以具体顺序描述了方法操作,但是应了解可以在操作之间执行其他 内务操作,或可以调整操作使得可以在稍微不同时间发生所述操作,或所述 操作可以被分布在系统中,所述系统允许以与处理相关的各个时间间隔发生 处理操作,前提是覆盖操作的处理是以所需方式执行。
虽然为了明确理解而以一定细节描述了前述实施方案,但是将明白在随 附权利要求书的范围内可实践某些改变和修改。因此,本实施方案被视为说 明性且非限制性,且本发明不限于本文中赋予的细节,但是可以在随附权利 要求书的范围和等效物内进行修改。
版权声明:本文标题:响应于头戴式显示器中的用户动作的图像渲染 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.wlzph.com.cn/zp/1718771421a507278.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论