1.技术领域
本发明涉及用于将游戏玩法分享到第二屏幕的方法和系统。
2.相关技术描述
多年来,视频游戏行业已发生很多变化。随着计算能力扩展,视频游戏的开发者同样已经创建了利用这些增加的计算能力的游戏软件。为此,视频游戏开发者一直在编码并入有复杂操作和数学运算的游戏,以产生非常逼真的游戏体验。
示例游戏服务和系统可包括由Sony提供的那些,它们当前作为游戏控制台、便携式游戏装置出售并且作为云上的服务提供。众所周知,游戏控制台被设计成连接到监视器(通常是电视机),并且通过手持式控制器实现用户交互。游戏控制台被设计成带有专用处理硬件,包括CPU、用于处理密集图形运算的图形处理器、用于执行几何变换的矢量单元,以及其他胶合硬件、固件和软件。游戏控制台还被设计成带有光盘托盘,以用于接收游戏光盘,从而通过游戏控制台进行本地游戏。在线游戏也是可能的,其中用户可通过互联网与其他用户交互对抗或一起玩游戏。由于游戏复杂性持续激起玩家的兴趣,因此,游戏和硬件厂商继续创新以实现额外的交互并且创新计算机程序。
计算机游戏行业逐渐兴起的趋势就是开发能增加用户与游戏系统之间的交互的游戏。实现更丰富的交互体验的一种方式便是使用无线游戏控制器,通过游戏系统跟踪无线游戏控制器的移动,以便跟踪玩家的移动并且将这些移动用作游戏的输入。一般而言,手势输入指的是让诸如计算系统、视频游戏控制台、智能家电等电子装置对玩家作出并且被电子装置捕捉到的一些手势作出反应。
实现更沉浸式交互体验的另一方式是使用头戴式显示器。头戴式显示器由用户佩戴并且可被配置来呈现各种图形,诸如虚拟空间的视图。呈现在头戴式显示器上的图形可以覆盖用户视野的大部分或甚至全部。因此,头戴式显示器可以为用户提供沉浸式体验。然而,沉浸式体验是佩戴HMD的用户的个人体验。因此,在佩戴HMD的用户附近的其他人无法分享这种体验。
正是在这样的情景下提出了本发明的实施方案。
技术实现要素:
本发明的实施方案提供用于使得头戴式显示器(HMD)能够将游戏玩打或可视内容分享到第二屏幕的方法和系统。在一些实例中,第二屏幕与HMD在同一位置,而在其他实例中,第二屏幕在远程。应了解,可采用多种方式实施本发明,诸如计算机可读介质上的过程、设备、系统、装置或方法。下文描述本发明的若干发明实施方案。
在一个实施方案中,提供一种系统,其用于处理针对头戴式显示器(HMD)生成的视频帧,以便分享到第二屏幕。所述系统包括:客户端系统,其具有处理器,所述处理器用于响应于使用HMD的视频游戏的交互游戏玩打而生成视频帧。生成的视频帧包括:带内区域,其包括将要显示在HMD上的视频游戏内容(VGC);以及带外(OOB)区域。所述系统还包括片上系统(SOC)处理器,所述SOC处理器具有用于接收生成的视频帧的输入接口。SOC处理器包括用于将接收的帧格式化的格式化模块。还包括图形处理器单元(GPU),其用于选择生成的视频帧的一部分并且进行格式化,以便显示在第二屏幕上。生成的视频帧的格式化部分被提供到SOC处理器的第一输出接口。生成的视频帧的所述部分被提供到第二屏幕,以便实质上实时地大体镜射HMD上呈现的视频帧。所述系统包括直通(pass-through)接口,用于在输入接口到SOC处理器的第二输出接口之间传送生成的视频帧。SOC处理器的第一输出接口可连接到第二屏幕,并且SOC处理的第二输出接口可连接到HMD。
在另一实施方案中,公开一种方法,其用于处理针对显示在头戴式显示器(HMD)上而生成的视频帧。所述方法包括接收针对显示在HMD上而格式化的视频帧,以及在将视频帧传递到HMD时,从视频帧中选择内容的一部分并且处理所述内容的所述部分以便输出到第二屏幕。在HMD中观看的视频帧是针对在HMD上观看而执行的交互玩打的结果。第二屏幕被配置来呈现HMD上的交互玩打的无失真视图。在实例中,所述方法和系统使得附加内容能够呈现在第二屏幕上(例如,第二屏幕内容(SSC))。
在又一实施方案中,提供一种系统,其用于处理针对头戴式显示器(HMD)生成的视频帧,以便分享到第二屏幕。所述系统包括:客户端系统,其具有处理器,所述处理器用于响应于使用HMD的视频游戏的交互游戏玩打而生成视频帧。生成的视频帧包括:带内区域,其包括将要显示在HMD上的视频游戏内容(VGC);以及带外(OOB)区域,其包括第二屏幕内容(SSC)。所述系统还具有片上系统(SOC)处理器,所述SOC处理器具有用于接收生成的视频帧的输入接口。SOC处理器包括:提取逻辑,其用于从带外区域中提取SSC;以及图形处理器单元(GPU),其用于选择生成的视频帧的一部分并且进行格式化以便显示在第二屏幕上。提取的SSC和生成的视频帧的所述部分被提供到SOC处理器的第一输出接口。经由输入接口接收的生成的视频帧作为直通(pass-through)被提供到SOC处理器的第二输出接口。SOC处理器的第一输出接口可连接到第二屏幕,并且SOC处理的第二输出接口可连接到HMD。
在又一实施方案中,提供一种系统,其用于处理针对头戴式显示器(HMD)生成的视频帧,以便分享到第二屏幕。所述系统包括:客户端系统,其具有处理器,所述处理器用于响应于使用HMD的视频游戏的交互游戏玩打而生成视频帧。生成的视频帧包括:带内区域,其包括将要显示在HMD上的视频游戏内容(VGC)。所述系统还包括片上系统(SOC)处理器,所述SOC处理器具有用于接收生成的视频帧的输入接口。SOC处理器包括用于接收包括第二屏幕内容(SSC)的视频帧的USB输入,以及用于从视频帧中提取SSC的提取逻辑。所述系统还具有编解码器单元,所述编解码器单元被配置来接收视频帧和提取的SSC。包括图形处理器单元(GPU),其用于选择生成的视频帧的一部分并且进行格式化,以便显示在第二屏幕上。提取的SSC和生成的视频帧的所述部分被提供到SOC处理器的第一输出接口。经由输入接口接收的生成的视频帧作为直通被提供到SOC处理器的第二输出接口。SOC处理器的第一输出接口可连接到第二屏幕,并且SOC处理的第二输出接口可连接到HMD。
根据下文详细描述并结合附图,本发明的其他方面将变得明显,以举例的方式示出本发明的原理。
附图简述
参考下文描述并结合附图,可以最佳地理解本发明。
图1A示出根据本发明的一个实施方案的视频游戏的交互游戏玩法的系统。
图1B示出根据本发明的一个实施方案的头戴式显示器(HMD)。
图1C示出根据本发明的一个实施方案的HMD玩家将内容分享到第二屏幕和另一玩家经由第二屏幕来参与游戏玩打的示例。
图2A到2C示出根据本发明的一个实施方案的HMD玩打和第二屏幕分享以及分享到第二屏幕和HMD的第二屏幕内容的生成的示例。
图2D到2F示出显示在第二屏幕上的整合在HMD的游戏玩打中的第二屏幕内容的示例。
图3示出根据本发明的一个实施方案的在视频帧上执行处理的示例,以便将第二屏幕内容整合到视频帧中(在一个实施方案中),以及用于接收视频帧并且输出到HMD和第二屏幕两者的系统。
图4示出根据本发明的一个实施方案的由系统执行的示例处理,以使得能够将HMD内容分享到第二屏幕。
图5是根据本发明的一个实施方案的其中呈现在第二屏幕上的第二屏幕内容(SSC)(例如,在此示例中是VGC)仅仅是图像数据和音频数据的一个实施方案,所述数据镜射出呈现在HMD中的内容。
图6示出根据本发明的一个实施方案的一个示例,其中带外(OOB)数据被预先处理并且嵌入到由客户端系统产生的图像帧中,以使得SSC可以连同VGC一起显示在第二屏幕上。
图7示出根据本发明的一个实施方案的SOC处理器的替代实施方案,其中添加到第二屏幕上所示的视频游戏内容(VGC)的第二屏幕内容(SSC)经由USB模块传递。
图8包括根据本发明的一个实施方案的又一实施方案,其中在USB模块处以HTML数据的形式接收SSC。
图9是根据本发明的一个实施方案的示出头戴式显示器102的示例部件的图解。
图10示出根据本发明的一个实施方案的头戴式显示器的部件。
具体实施方式
在一个实施方案中,本文中描述的系统和方法提供允许可能正在玩游戏或观看内容的头戴式显示器(HMD)的用户在第二屏幕上分享体验的方式。在一些实施方案中,第二屏幕与HMD在同一位置,而在其他实施方案中,第二屏幕在远程。然而,对于所属领域的技术人员将明显的是本发明可以在没有这些具体细节中的一些或全部的情况下进行实践。在其他情况下,没有详细地描述众所周知的过程操作,以免不必要地使本发明变得模糊。
将游戏玩打的HMD视频分享到第二屏幕将允许其他用户和/或观众社交互动并且更好地体验佩戴HMD的玩家所体验的游戏事件和/或动作。在一个实施方案中,在HMD中观看的内容是丰富且沉浸式3D环境。在一个实施方案中,生成并且发送到HMD以供显示的视频流可以被分离并且处理,以便实质上同时显示在第二屏幕上。
在一个实施方案中,例如,第二屏幕可以是可临近佩戴HMD的用户的电视显示器。因此,在一个实施方案,可能在同一位置或远程的其他人也可以在第二屏幕上观看HMD中示出的动作。远程用户可以是能够玩游戏、评论游戏或者以某种方式社交参与游戏玩打的任何数量的用户。因此,很多远程用户可能能够访问和/或玩HMD上呈现的游戏。例如,通过访问他们的游戏账户或会话以及通过网络(例如,诸如经由互联网)参与,远程用户可以获得对游戏的访问。在一个实施方案中,远程用户可以在实时流模式下访问游戏,其中HMD的客户端系统呈现游戏并且将游戏流式传送到其他用户。在又一实施方案中,HMD用户还连同任何数量的远程用户一起访问游戏的云流版本。
在一个示例中,HMD用户的第一人称3D视角可以用2D或3D实时流式传送到UStream/Twitch/Gaikai等,并且被很多用户(公共广播)或好友(选择广播)观看。在一个实施方案中,观看的用户可以参与游戏玩打和/或评论或者彼此交流。
如本文中使用,第二屏幕可以包括具有显示器的任何类型的装置。显示器可以是连接到游戏控制台(本地或远程)、个人计算机、膝上型计算机、平板计算机、移动装置、蜂窝电话、瘦客户端、机顶盒、媒体流装置、佩戴式装置、投影装置等的显示器。
在一个实施方案中,针对HMD生成的视频内容可以被分离和/或拦截并且处理,以便显示在第二屏幕上。例如,第二屏幕上的显示可以是2D的,而HMD中的内容是以3D示出的。在一些实施方案中,第二屏幕上示出的内容也可以采用3D格式。在一个示例中,观看第二屏幕上的内容的用户还可以任选地与游戏玩打交互,诸如通过加入游戏作为玩家、通过移动游戏中的角色和/或物体、通过提供文本评论、通过在场景中画线、轮廓、标记和/或标签,和/或直接竞赛/参与佩戴HMD的用户正在玩的相同游戏。
如果佩戴HMD的用户在观看一些多媒体内容(例如,电影、视频剪辑、广告、比赛、游戏、社交媒体内容(例如,贴文、消息、媒体流、好友事件和/或游戏玩打)视频部分和/或音频),那么观看第二屏幕的用户也可以与HMD用户交互。在一个示例中,观看第二屏幕的用户可以决定何时是打断、提出问题、发送消息或参与体验的好时机。在没有这种第二屏幕观看的情况下,用户通常无法看到或体验HMD用户正在体验的事物,这减少与可能想要促成HMD用户的沉浸式体验的其他用户进行社交的机会。
因此,通过提供这种功能和系统,使用HMD的游戏玩打可以更便于社交,从而改善对HMD类型游戏的兴趣。在另外的其他实施方案中,计算机/控制台可以包括逻辑,以使得能够由呈现HMD游戏的相同计算机处理不同内容,而将不同内容传递到第二屏幕。仅举例来说,系统将允许计算装置处理HMD游戏并且也呈现来自在线媒体内容提供商的流电影。在一个示例中,计算机本身可以包括用于处理内容传递的分离的逻辑,或者所述逻辑可以设置在单独的硬件装置中。
在下文描述的示例中,计算机106可以由客户端系统106a(例如,游戏控制台)和片上系统(SOC)处理器106b(例如,带有I/O连接器的硬件装置)定义。SOC处理器可以包括逻辑和电路,其用于对接/接收客户端系统106a的输出以及处理所述输出以便传递(a)HMD 3D视频流和(b)提供到第二屏幕107的视频流。在一个实施方案中,SOC处理器106b可以包括接收客户端系统106a的视频输出的I/O连接器。SOC处理器106b将包括硬件和/或逻辑,其经过处理来得到从客户端系统106a接收的视频输入并且处理视频输入,以便将用于第二屏幕的视频输出格式化,所述第二屏幕可以插接到SOC处理器106b中。SOC处理器106b也将包括用于将视频输入直通到HMD 102的逻辑和/或硬件。
在一个实施方案中,SOC处理器106b将用于第二屏幕107的视频输出格式化,以使得可以提供2D格式用于显示。在一个实施方案中,当客户端系统106a的输出产生3D格式的视频输出,所述3D格式进行格式化以显示在HMD 102上时,执行这个处理。因此,在一个实施方案中,SOC处理器106b可以包括连接到客户端系统106a的输入I/O以及分别连接到HMD 102和第二屏幕107的至少两个输出I/O。在一个实施方案中,连接到HMD 102的输出I/O是有线的或者可以是无线的。然而,应理解,如有需要,客户端系统106a和SOC处理器106b可以一起集成在一个系统中。
图1A示出根据本发明的一个实施方案的视频游戏的交互游戏玩法的系统。所示用户100佩戴头戴式显示器(HMD)102。HMD 102的佩戴方式类似于眼镜、护目镜或头盔,并且被配置来将视频游戏或其他内容显示给用户100。由于它在与用户眼睛很靠近的地方提供显示机构和传递到HMD的内容格式,HMD 102被配置来向用户提供沉浸式体验。在一个示例中,HMD 102可以将显示区域提供到用户的每只眼,所述显示区域占据用户视野的大部分或甚至全部。
在一个实施方案中,HMD 102可以连接到计算机106。到计算机106的连接可以是有线或无线的。计算机106可以是任何通用或专用计算机,包括但不限于,游戏控制台、个人计算机、膝上型计算机、平板计算机、移动装置、蜂窝电话、平板电脑、瘦客户端、机顶盒、媒体流装置等。在一些实施方案中,HMD 102可以直接连接到互联网,从而可允许在不需要单独本地计算机的情况下进行云游戏。在一个实施方案中,计算机106可以被配置来执行视频游戏(和其他数字内容),并且从视频游戏中输出视频和音频,以便由HMD 102呈现。计算机106在本文中也称为客户端系统106a,在一个示例中,所述客户端系统是视频游戏控制台。
在一些实施方案中,计算机可以是本地或远程计算机,并且计算机可以运行仿真软件。在云游戏实施方案中,计算机是远程的,并且可以由可在数据中心中虚拟化的多个计算服务表示,其中游戏系统/逻辑可以被虚拟化并且通过网络分配给用户。
用户100可操作控制器104以提供视频游戏的输入。在一个示例中,相机108可以被配置来捕捉用户100所在的交互环境的图像。这些捕捉图像可以被分析以确定用户100、HMD 102和控制器104的位置和移动。在一个实施方案中,控制器104包括一个灯(或多个灯),所述灯可以被跟踪以确定它的位置和取向。此外,如下文进一步详细描述,HMD 102可包括一个或多个灯,所述灯可以被跟踪以在游戏玩打期间实质上实时地确定HMD 102的位置和取向。
相机108可以包括一个或多个麦克风,以捕捉来自交互环境的声音。由麦克风阵列捕捉的声音可经过处理以识别声源的位置。可以选择性地利用或处理来自识别位置的声音,以排除不是来自该识别位置的其他声音。此外,可以将相机108定义成包括多个图像捕捉装置(例如,一对立体照相机)、IR相机、深度相机以及它们的组合。
在一些实施方案中,计算机106可以在计算机106的处理硬件上本地执行游戏。可以以任何形式,诸如物理介质形式(例如,数字光盘、磁带、卡、拇指驱动器、固态芯片或卡等)或通过经由网络110从互联网下载的方式来获取游戏或内容。在另一实施方案中,计算机106用作通过网络与云游戏提供商112通信的客户端。云游戏提供商112可维持并执行用户102在玩的视频游戏。计算机106将来自HMD102、控制器104和相机108的输入传输到云游戏提供商,所述云游戏提供商处理所述输入以影响执行视频游戏的游戏状态。来自执行视频游戏的输出,诸如视频数据、音频数据和触觉反馈数据,传输到计算机106。计算机106可在传输之前进一步处理数据,或者可以直接将数据传输到相关装置。例如,将视频和音频流提供到HMD 102,而将振动反馈命令提供到控制器104。
在一个实施方案中,HMD 102、控制器104和相机108本身可以是连接到网络110以便与云游戏提供商112通信的联网装置。例如,计算机106可以是不另外执行视频游戏处理而是促进通路网络流量的本地网络装置,诸如路由器。HMD 102、控制器104和相机108到网络的连接可以是有线或无线的。在一些实施方案中,可以从任何内容源120获取在HMD 102上执行或可显示在显示器107上的内容。例如,示例内容源可以包括提供可下载内容和/或流内容的互联网网站。在一些示例中,所述内容可以包括任何类型的多媒体内容,诸如电影、游戏、静态/动态内容、图片、社交媒体内容、社交媒体网站等。
如下文将更详细地描述,玩家100可正在HMD 102上玩游戏,其中此类内容是沉浸式3D内容。当玩家正在玩时,HMD 102上的内容可以分享到显示器107。在一个实施方案中,分享到显示器107的内容可以允许临近玩家100或远程的其他用户一起观看用户的玩打。在另外的实施方案中,在显示器107上观看玩家100的游戏玩打的另一玩家可以与玩家100交互的方式参与。例如,在显示器107上观看游戏玩打的用户可以控制游戏场景中的角色、提供反馈、提供社交互动和/或提供评论(经由文本、经由语音、经由动作、经由手势等),从而使得没有佩戴HMD 102的用户能够与玩家100、游戏玩打或HMD 102中呈现的内容社交互动。
图1B示出根据本发明的一个实施方案的头戴式显示器(HMD)。如图所示,HMD 102包括多个灯200A到200H、200J和200K。这些灯中的每个灯可被配置来具有具体形状和/或位置,并且可以被配置来具有相同或不同颜色。灯200A、200B、200C和200D布置在HMD102的前表面上。灯200E和200F布置在HMD 102的侧表面上。以及灯200G和200H布置在HMD 102的拐角处,以跨过HMD 102的前表面和侧表面。将了解,可以在用户使用HMD 102的交互环境的捕捉图像中识别灯。基于灯的识别和跟踪,可以确定交互环境中的HMD 102的位置和取向。还将了解,根据HMD 102相对于图像捕捉装置的特定取向,灯中的一些可见或不可见。另外,根据HMD 102相对于图像捕捉装置的取向,不同部分的灯(例如,灯200G和200H)可以暴露以便进行图像捕捉。在一些实施方案中,将惯性传感器设置在HMD 102中,所述惯性传感器在不需要灯的情况下提供有关位置的反馈。在一些实施方案中,灯和惯性传感器共同工作,以使得能够混合和选择位置/运动数据。
在一个实施方案中,灯可以被配置来向附近的其他人指示HMD的当前状态。例如,灯中的一些或全部可被配置来具有一定颜色布置、密度布置、被配置来闪烁、具有一定开/关配置,或者指示HMD 102的当前状态的其他布置。例如,灯可以被配置来在视频游戏的有效游戏玩打期间(通常在有效时间线期间或在游戏场景内进行游戏玩打)与视频游戏的其他非有效游戏玩打方面,诸如导航菜单界面或配置游戏设置(在此期间游戏时间线或场景可以不活动或暂停),显示不同配置。灯还可能被配置来指示游戏玩打的相对强度水平。例如,当游戏玩打的强度增加时,灯的强度或闪烁的频率可以增加。
HMD 102可以额外地包括一个或多个麦克风。在所示实施方案中,HMD 102包括界定在HMD 102的前表面上的麦克风204A和204B,以及界定在HMD 102的侧表面上的麦克风204C。通过利用麦克风阵列,来自每个麦克风的声音可以经过处理以确定声音来源的位置。可以采用各种方式利用这个信息,包括排除不需要的声源、将声源与视觉识别相关联等。
HMD 102还可以包括一个或多个图像捕捉装置。在所示实施方案中,将HMD 102图示为包括图像捕捉装置202A和202B。通过利用立体对的图像捕捉装置,可以从HMD 102的角度捕捉环境的三维(3D)图像和视频。此类视频可以呈现给用户,以便使用户在佩戴HMD 102时具有“视频透视”的能力。也就是说,尽管在严格意义上用户无法看透HMD 102,但由图像捕捉装置202A和202B捕捉的视频可以提供功能对等,使看HMD 102的外部环境能够像透过HMD102看的一样。
此类视频可以通过虚拟元素进行增强以提供增强现实体验,或者可以采用其他方式与虚拟元素组合或融合。尽管在所示实施方案中,HMD 102的前表面上示出两个相机,但将了解,可在HMD 102上安装在任何方向上取向、任何数量的面向外部的相机。例如,在另一实施方案中,相机可安装在HMD 102的侧面上,以提供环境的附加全景图像捕捉。
图1C示出HMD 102用户与客户端系统106对接并且客户端系统106将内容提供到第二屏幕显示器的一个示例,所述第二屏幕显示器被称为第二屏幕107。如下文将描述,客户端系统106可包括用于处理将内容从HMD 102分享到第二屏幕107的集成电子设备。其他实施方案可包括将对接在客户端系统与HMD 102和第二屏幕107中的每者之间的单独装置、模块、连接器。在此一般示例中,用户100佩戴HMD 102并且在使用控制器104玩视频游戏。用户100的交互玩打将产生视频游戏内容(VGC),所述VGC交互显示到HMD 102。
在一个实施方案中,将显示在HMD 102中的内容分享到第二屏幕107。在一个示例中,观看第二屏幕107的人可以观看用户100在HMD 102中交互地玩打的内容。在另一实施方案中,另一用户(例如,玩家2)可以与客户端系统106交互,以产生第二屏幕内容(SSC)。由也与控制器104交互的玩家产生的第二屏幕内容(或者任何类型的用户界面、手势、语音或输入)可以产生为客户端系统106的SSC,所述SSC可以连同从HMD 102接收到的VGC一起显示在第二屏幕107上。
因此,对于HMD用户和可在第二屏幕107上观看HMD用户玩的内容的用户而言,可与HMD用户在同一位置或远程的其他用户的交互可以是社交、交互和更沉浸的。如图所示,客户端系统106可以连接到互联网110。互联网也可以为客户端系统106提供对来自各种内容源120的内容的访问。内容源120可以包括可通过互联网访问的任何类型的内容。
此类内容可以包括视频内容、电影内容、流内容、社交媒体内容、新闻内容、好友内容、广告内容等,但不限于此。在一个实施方案中,客户端系统106可以用来为HMD用户同时处理内容,从而使得HMD具有与游戏玩打期间的交互性相关联的多媒体内容。客户端系统106随后还可以将可与视频游戏内容无关的其他内容提供到第二屏幕。在一个实施方案中,客户端系统106可以接收来自内容源120中的一个、或来自本地用户或者远程用户的第二屏幕内容。
图2A示出使用客户端系统106的游戏玩打的一个示例,所述客户端系统能够将视频游戏内容呈现到用户100的HMD 102,并且也将游戏玩打的视频内容分享到第二屏幕107。在此图示中,提供到HMD的游戏内容是在丰富的交互3-D空间中。应理解,所述内容将不可自动显示在二维显示器上。因此,客户端系统106被配置来处理得自HMD用户的游戏玩打的三维交互内容,并且随后以无失真格式在第二屏幕107上显示视频内容。
通过这种方式,可与HMD用户在同一位置中的任何人都可以在第二屏幕107上观看HMV用户在玩的内容。通过将内容分享到同一位置的人,HMD用户的沉浸式交互活动体验可以分享给其他人,从而将改善HMD用户与位于HMD用户附近的任何其他人之间的社交互动交流。如上文所述,云游戏服务112也可以提供对各种游戏130的访问,所述游戏可以由HMD 102的用户访问,以便在客户端系统106上玩打。游戏内容可以下载到客户端系统106,或者在一个实施方案中,可以由云处理系统执行所述游戏内容。云游戏服务112还可以包括用户数据库140,所述用户数据库被允许访问特定游戏、被特定游戏访问、与其他好友分享体验、发表评论以及管理账户信息。
云游戏服务还可以为具体用户存储游戏数据150,所述游戏数据可在游戏玩打期间、将来的游戏玩打期间可用、用于分享到社交媒体网络,或者用于存储奖杯、奖励、等级等。社交数据160也可以由云游戏服务112管理。社交数据可以由单独的社交媒体网络管理,所述社交媒体网络可以通过互联网100与云游戏服务112对接。通过互联网100,可以连接任何数量的客户端系统106,以便访问内容并且与其他用户交互。
继续图2A的示例,在HMD中观看的三维交互场景可以包括游戏玩打,诸如在3-D视图中示出的角色。一个角色,例如,P1可以由佩戴HMD 102的用户100控制。这个示例示出2个玩家之间的战斗场景,其中HMD用户100在与3-D视图中的另一角色战斗。另一角色可以是游戏的AI(人工智能)角色,或者可以由另一玩家或多个玩家(Pn)控制。
在一个实施方案中,提供到第二屏幕107的分享2-D视图可以包括经由HMD 102提供的视图中的更多或更少。在一些示例中,归因于呈现2-D视图所需的格式化,即,从针对HMD 102生成而提供的原始2-D视图中提取、削减和/或无失真,提供更少的视图。
图2B示出一个示例,其中客户端系统106可以被配置来将独立内容呈现到第二屏幕107。例如,独立内容可以独立于由佩戴HMD102的用户100的游戏玩打内容体验。客户端系统106可以被配置来处理传送到HMD 102的内容,并且也处理提供到第二屏幕107的内容,所述内容可从任何内容源120获取。在此示例中,在同一位置的用户可以选择利用客户端系统106也来观看电影,这与HMD 102中呈现的视频游戏玩打不相关。
在一个示例中,可以动态切换在第二屏幕107中观看的内容。例如,同一位置的人可以在第二屏幕107上观看电影,并且在某一时间点,同样用HMD 102玩游戏的用户100可以决定分享使用HMD 102玩过的内容中的一些或全部。例如,分享的内容可以是HMD用户刚才玩过的交互视频场景的一部分。在一个示例中,用户可以决定分享战斗场景的剪辑、有趣的交互操纵、进入的地域、获胜事件等。
可由选择控制器104上的分享按钮而触发的分享随后可以将第二屏幕107转变到示出场景的视频,从而将中断示出电影的独立视图。当在第二屏幕107上观看分享的交互场景时,可以暂停电影的独立观看,并且随后根据用户输入,可以继续或结束电影。
图2C示出玩家与佩戴HMD 102的玩家100在同一位置的示例。在HMD 102上的游戏玩法期间,客户端系统也可以使得另一用户能够在游戏中玩或者在佩戴HMD 102的用户玩的游戏中交互。在示例战斗场景中,第二玩家P2可以操纵在与玩家P1的角色的战斗场景中的角色中的一个。如下文将描述,第二玩家的交互内容和社交互动由客户端系统106接收并且整合到第二屏幕107中所显示的视频内容中。交互内容也可以分享回到在HMD 102观看的场景。
图2D示出第二玩家可以与HMD用户观看的场景交互的示例。第二玩家可以引入新的角色或动作或者与视频游戏相连接。例如,这个整合可以包括添加角色或物体,并且角色物体可以显示在HMD102中所呈现并且也呈现在第二屏幕107中的场景中并与之整合。由现在正在HMD用户100观看和玩打的场景中交互的第二玩家产生的交互内容、玩家、数据或动作表示为第二屏幕内容(SSC)。第二屏幕内容是附加数据,所述附加数据是经由HMD 102观看并且与之交互的内容或者允许与所述内容进行社交互动。
图2E示出第二屏幕内容是由另一用户,诸如与HMD用户在同一位置的用户提供的文本消息的示例。在此示例中,HMD用户正在控制角色用剑,并且另一玩家可以与在第二屏幕107上显示的游戏玩打社交互动。在此示例中,与HMD玩家交互的另一玩家提供消息,所述消息覆盖到HMD用户的游戏屏幕中并且也(任选地)在第二屏幕107上。
这个示例示出用户与HMD用户进行社交交流,诸如提供有关游戏玩打的信息。这个信息示为将有关另一玩家或AI角色的位置的消息提供到HMD用户。消息是“当心!!他躲在树后”。当然,这仅仅是示例,并且可作为第二屏幕内容的任何类型的消息、文本、图标、表情符号、图形、它们的组合可以在第二屏幕107上观看并且也在HMD 102上所呈现的图像上。
图2F示出第二屏幕107可以包括分屏功能的示例。它的屏幕功能可以允许在第二屏幕的一部分中动态呈现HMD内容(示出视频游戏内容(VGC)),并且在屏幕的另一部分上呈现不同的内容。不同的内容可以包括从任何内容源120获取的内容,或者从与佩戴HMD 102的用户社交互动的其他用户获取的内容。佩戴HMD 102的用户也可以与观看第二屏幕的用户社交交流。
例如,佩戴HMD 102的用户也可以提供文本消息、评论、音频、语音或者显示在第二屏幕上的某一类型的交互或内容。在一个实施方案中,不同类型的内容可以包括其他游戏、电影、互联网内容、电视广播等。在一个实施方案中,从HMD 102接收的内容与其他内容之间的动态移动可以在第二屏幕107上转变。示例转变可以包括滑动条,所述滑动条将暴露来自HMD 102的第二屏幕内容或者来自另一来源的不同内容。用于将内容显示在第二屏幕上的各种格式是可能的,包括画中画窗口、缩略图、覆盖等。
图3示出客户端系统106的示例,其中客户端系统106由客户端系统106a和片上系统(SOC)处理器106b定义。在一个示例中,客户端系统106a可以是计算机。在另一示例中,客户端系统106b可以是游戏控制台。在一个示例中,SOC处理器106b可以由单独的模块或装置定义。例如,SOC 106b可以由具有I/O插头/连接器和电路的装置定义,所述电路用于处理从客户端系统106a接收并且为了传送到HMD 102和第二屏幕而分开的内容。在一个实施方案中,I/O插头/连接器可以包括各种类型的HDMI连接器、USB连接器、电源连接器,或者专用连接器。
SOC 106b的电路可以由一个或多个芯片定义,所述芯片可包括处理器。在一些实施方案中,电路可以由体现在一个或多个芯片中的固件定义。在一个实施方案中,处理器和存储器具有处理指令、帧数据、提取、帧处理、视频处理等。在一些实施方案中,SOC 106b可以由一个或多个电路定义,所述电路可以处理图像数据、音频数据、编码数据、解码数据、压缩数据、解压缩数据、处理图形(例如,使用一个或多个图形处理器(GPU))。
因此,应理解,SOC处理器106b可以体现为接收来自客户端系统106a的输出并且将输出提供到第二屏幕107和HMD 102的单独装置。在另一实施方案中,SOC处理器106b可以完全集成到客户端系统106a中。在下列的示例中,将参考作为单独装置的SOC处理器106b来定义配置。
继续图3的描述,客户端系统106a被配置来执行游戏应用302,所述游戏应用可包括用于处理第二屏幕内容304的代码或逻辑。在一个示例中,第二屏幕输出代码304是与游戏应用302整合的代码,以在游戏玩打期间允许第二屏幕交互,并且也将第二屏幕内容整合到视频帧中。因此,游戏应用可以更改成包括第二屏幕输出代码304,或者可以与允许处理第二屏幕输出代码304的附加代码或模块对接。
在一个实施方案中,将游戏应用302产生的视频帧提供到HMD库模块306。HMD库模块306被配置来处理视频帧以生成包括第二屏幕内容(SSC)的视频帧,所述SSC整合到视频帧的带外(OOB)数据中。如图所示,游戏应用302的第二屏幕输出代码304被配置来生成压缩流,在一个实施方案中,使用H.264标准来压缩所述压缩流。当然,可以利用用于压缩或编码的其他标准。随后将压缩流提供到HMD库模块306,所述HMD库模块被配置来将压缩的第二屏幕内容(SSC)整合到包括视频游戏内容(VGC)的视频帧中。
在一个实施方案中,将视频游戏内容格式化,以便采用左眼和右眼格式呈现在视频帧上。左眼和右眼格式包括视频游戏内容,而带外(OOB)数据优选整合到视频帧的边缘。如下文将描述,由于内容可能无法在HMD 102上显示或观看,视频帧的边缘被视作带外。因此,这在视频帧中提供可以在客户端系统106处用第二屏幕内容进行编码的区域。在另一实施方案中,视频流应用308可以提供编码到视频帧的第二屏幕内容中的内容。
视频流应用308可从内容源120获取,所述内容源可通过互联网100获取。在一个实施方案中,当使用在线流功能执行游戏应用时,从云游戏112可获取游戏应用302。在又一实施方案中,由客户端系统106a执行的内容也可保存到存储器,诸如以允许游戏玩法的记录310。游戏玩法的记录可以缓冲的格式发生,以便允许与另一用户分享游戏玩法的部分或全部。
如本文所述,通过任何输入可触发分享。通过选择控制器上的分享按钮、通过语音输入、通过手势输入或者通过到达应用或游戏场景中的某一点,可触发分享。视频帧320现在将包括视频游戏内容(VGC)和第二屏幕内容(SSC),所述SSC被压缩并且整合到视频帧320的带外(OOB)区域。此时,客户端系统106a的输出将包括由SOC处理器106b接收的帧320的流。SOC处理器106b被配置来接收帧320,并且处理所述帧,以使得视频游戏内容可呈现到HMD102,以及连同第二屏幕内容(SSC)(如果有的话)一起将视频游戏内容(VGC)提供到第二屏幕107。如图所示,一些实施方案将包括将实时(或录制的)视频流提供到远程位置,因而另一人可以玩打或观看流游戏内容。下文将参考图5到图8更详细地描述由SOC处理器106b执行的处理和用于处理帧的部件。
图4示出由客户端系统106a和SOC处理器106b执行的处理的一个示例。在一个实施方案中,示例处理、所述方法操作可由系统执行,以将交互的沉浸式内容提供到HMD 102并且将内容分享到第二屏幕107。在此示例中,客户端系统106a与互联网110对接。在一个实施方案中,不需要连接到互联网。当存在互联网连接110时,内容源120可被客户端系统106a以及云游戏112访问。
在一个示例中,客户端系统106a可允许用户使用HMD选择350再次玩打,以便呈现三维内容。游戏的选择可包括允许HMD用户从菜单中、从显示屏中、从列表中、从服务器可用的游戏中和/或本地存储或物理介质中可用的游戏中选择一个或多个游戏。为了允许第二屏幕分享,HMD利用的游戏可包括第二屏幕输出代码,从而将允许处理第二屏幕内容以便整合到视频帧320中。在其他实施方案中,不需要更改游戏应用302,并且使得能够显示第二屏幕内容的其他代码可由客户端系统106a和/或SOC处理器106b处理。
在操作352中,执行游戏并且将生成增益内容。呈现并且生成增益内容,以使得用户的每只眼将看到不同的帧数据,从而使得帧数据可呈现可通过HMD观看的沉浸式3-D格式。在一个实施方案中,游戏的执行可包括屏幕输出代码304的处理,所述处理生成第二屏幕内容,所述第二屏幕内容可与视频游戏的执行所产生的内容整合。在操作354中,确定游戏玩打是否应分享到第二显示器。
在一些实施方案中,用户可能不希望将HMD 102的内容分享到第二屏幕。在一些实施方案中,用户可决定只针对具体场景、事件或剪辑将内容分享到第二屏幕。当用户决定分享到第二屏幕时,将内容发送到SOC处理器106b。内容发送到分离输入358,所述分离输入会将视频帧的输入分离,以使得3-D格式的视频游戏内容可直通到HMD,操作356。提供分离输入358以定义分离内容的逻辑操作,但不必是物理分离器。
因此,分离输入358将传送到操作360,其中逻辑将访问帧流,以识别HMD的单眼的内容以及识别可出现在帧的带外(OOB)数据中的任何第二屏幕内容,以产生第二屏幕内容。在操作362中,将用于单眼的内容(视频游戏内容)格式化,以便连同任何整合的第二屏幕内容一起以2-D表示呈现。具有第二屏幕内容的格式化视频流随后提供到第二屏幕,所述第二屏幕在操作364中是HMD。这个内容随后可显示在显示屏107上。因此,SOC处理器106b将用作逻辑分离器,所述逻辑分离器接收来自客户端系统106a的输出并且将内容提供到HMD 102和第二屏幕107两者。
在一个实施方案中,参考图5,提供一种系统,其用于处理针对头戴式显示器(HMD)生成的视频帧,以便分享到第二屏幕。所述系统包括客户端系统106a,其具有处理器,所述处理器用于响应于使用HMD的视频游戏的交互游戏玩打而生成视频帧,例如,320,见图3。生成的视频帧包括:带内区域,其包括将要显示在HMD上的视频游戏内容(VGC);以及带外(OOB)区域,其包括第二屏幕内容(SSC)。所述系统可包括片上系统(SOC)处理器(106b),其具有用于接收生成的视频帧的输入接口。SOC处理器包括用于从带外区域中提取SSC的提取逻辑430。还包括图形处理器单元(GPU)410,所述GPU用于选择生成的视频帧的一部分并且进行格式化,以便显示在第二屏幕上。提取的SSC和生成的视频帧的所述部分被提供到SOC处理器的第一输出接口405。经由输入接口接收的生成的视频帧作为直通被提供到SOC处理器的第二输出接口414。SOC处理器的第一输出接口可连接到第二屏幕107,并且SOC处理的第二输出接口可连接到HMD 102。
在一些实施方式中,SOC处理器包括用于对提取逻辑提取的SSC进行解码的编解码器模块。在一些实施方式中,由GPU选择的生成的视频帧的部分包括预定义在HMD的显示器中显示给一只眼的视频游戏内容(VGC),所述部分还排除OOB区域。
在一些实施方式中,GPU进行的格式化包括对该部分中的VGC执行无失真功能,无失真功能消除对于显示在HMD中而言是本地的图形效果。GPU进行的格式化包括修剪功能和缩放功能。修剪功能和缩放功能经过处理以适应第二屏幕的本地显示格式,该本地显示格式不同于HMD的本地格式。在一些实施方案中,SOC处理器还包括在输入接口402与第一输出接口405之间通信的音频直通404。
在一些实施方式中,SOC处理器还包括用于与客户端系统连接的USB模块输入。USB模块被配置成将从HMD获取的音频和输出动作数据接收回到客户端系统。在一个示例中,USB模块将来自客户端系统的接收音频传送到3D音频呈现模块,以用于传送到HMD。3D音频呈现模块还被配置有用于接收来自输入接口的音频的输入。
在一些实施方式中,SOC处理器还包括用于接收来自HMD的运动数据的传感器直通模块。运动数据传送到USB模块,以用于传送到客户端系统。运动数据识别或是用于HMD的运动的数据,所述数据由客户端系统用来更改视频游戏的交互游戏玩打(例如,如从HMD的角度看出)。
在一些实施方式中,系统包括由客户端系统106接收的相机108输入。相机输入被配置来捕捉包括HMD的场景(例如,见图1A)的图像数据。捕捉的图像数据由客户端系统用来更改或不更改(基于游戏逻辑)视频游戏的交互游戏玩打。提供SOC处理器106b中的用于接收来自HMD 102的运动数据的运动直通模块418。如果游戏逻辑确定需要更改的话,那么运动数据由客户端系统用来进一步更改视频游戏的交互游戏玩打。交互游戏玩打中的更改呈现在由客户端系统产生的视频帧中。视频帧直通SOC处理器到达HMD,并且由SOC处理器处理,以经由SOC处理器分享到第二屏幕。在一些实施方式中,其中提取逻辑对从输入接口接收的视频帧进行操作,例如,如图6所示,430。
图5示出根据一个实施方案的一个示例实施方案,其中片上系统(SOC)处理器106b实施处理以便呈现用于第二屏幕107的内容,以及用于HMD 102的内容。在此示例中,客户端系统106a将来自帧缓冲器的输出视频帧提供到HDMI(高清晰度多媒体接口)输入402。实施方案预想其他类型的连接器/接口也是可能的,并且不应对HDMI的使用进行限制。在一个实施方案中,视频格式被配置来以60帧每秒或30帧每秒或者以任何所需帧每秒的速率(这可根据实施方式改变)呈现1080p品质图像。在一些实施方案中,除了1080p之外,其他格式可包括以各种帧速率(60hz、75hz、90hz、100h、120hz等)的1080i、720p、480p、480i、1440p(2560x1440)WQHD、4K(3840x2160)。尽管这些格式证实为示例,但根据所需实施方式,其他格式也是可能的。在一个实施方案中,多于或少于60帧输出到显示器(例如,30帧每秒(或者更多或更少))。在一个实施方案中,从HDMI输入402接收的图像帧的格式具有标准YUV422。应理解,也可使用其他标准格式,并且这个标准格式只是一个示例。
第二屏幕107的音频成分经由404传递到HDMI输出405。视频成分传递到图像处理器408部件,所述图像处理器部件被配置来在将图像数据传递到图形处理单元410之前处理从HDMI输入402接收的帧数据。在一个实施方案中,图像处理器408部件被配置来执行分区,从而将图像数据的线性输入集群到块簇中。通过将图像数据分区成块簇,GPU 410能够更有效地访问存储器和处理图像数据,以便输出到HDMI输出405。在一个实施方案中,GPU 410处理用于选择由HDMI输入402接收并且从图像处理器408获取的图像的子集进行处理的指令。例如,图像的子集的选择可包括选择图像的一部分,这部分包括经由HMD 102用户的左眼(或右眼)将看到的东西。在一个实施方案中,GPU 410可执行图像帧的修剪,以从接收的帧中选择单眼的图像数据。在一个实施方案中,GPU 410还被配置来处理使所选择的图像数据无失真的指令,以使得数据可以非3D格式显示在第二屏幕107上。无失真操作可包括过滤掉带外(OOB)数据,以及消除最初针对HMD 102添加和/或设计的图像扭曲。
HMD 410还可执行提供缩放的指令,所述缩放将使得能够显示在具体第二屏幕上。例如,缩放对于预期屏幕尺寸或格式可以是自动的、可以由用户自定义设置,和/或可以被SOC处理器106b或客户端系统106a检测到。通过由GPU 410处理这个额外处理,可能在第二屏幕107上呈现平坦图像,就好像图像是针对第二屏幕107故意设计的一样。在一个实施方案中,GPU 410的输出可以采用标准视频格式,诸如YUV422,或者最适合将用作第二屏幕的显示装置的另一标准。
在一个实施方案中,由HMDI输入402接收的视频帧直通到输出,诸如LVDS(低电压差分信号)输出414以及LVDS HML连接器。在一个示例中,HMD 102由导线连接到LVDS HML连接器。在另一实施方案中,可用无线通信电路替换输出414,所述无线通信电路可通过无线连接而与HMD 102对接。在另外的实施方案中,到HMD的输出可以使用其他类型的连接器或电缆,不限于LVDS的示例。
在一个实施方案中,客户端系统106a可连接到双向链路到USB模块404。来自客户端系统106a的音频输入传递到USB模块404,随后传递到3D音频呈现模块416。3D音频呈现模块416被配置来合成将传递到HMD 102的音频,以使得可以参考HMD 102中显示的3D环境来呈现音频。在一个实施方案中,呈现在HMD 102上的主要音频经由USB 404直接从客户端系统106a接收。在另一实施方案中,呈现在HMD 102上的音频还可包括从HDMI输入402中接收的音频中的一些或全部。如图所示,例如,来自HMD 102的反馈可包括来自惯性传感器的运动数据。当用户佩戴HMD 102并且在游戏玩打期间四处移动时,用户头部的运动可提供由HMD呈现的3D空间中的不同透视图。
运动数据随后传递到传感器直通418,接着再传送到USB模块404。运动数据随后传送回到客户端系统106a,所述客户端系统可使用运动信息来调整视频的呈现,例如,基于用户经由HMD 102观看/玩打的交互场景。如上文所述,用户位置/移动的其他反馈可由客户端系统106a接收。例如,可捕捉用户的图像数据(例如,如图1A所示),并且该数据图像可连同运动/惯性数据一起用来在交互游戏玩打期间影响、改变和更改呈现在HMD上的视频的内容。
在图5的示例中,呈现在第二屏幕107上的第二屏幕内容(SSC)只是图像数据和音频数据,所述数据镜射出呈现在HMD 102中的内容。在此示例中,类似于图2A,游戏玩打附近的其他人可在第二屏幕上观看HMD用户的沉浸式体验。
图6示出一个示例,其中预先处理带外(OOB)数据并将其嵌入到客户端系统106a产生的图像帧中。OOB数据可包括其他用户的游戏玩打、消息、游戏玩打的参与、角色的移动、内容的改变、与在HMD上玩打的主用户的角色的交流、文本消息的分享、游戏相关数据的分享、游戏指标的分享、分享社交内容、有关聊天消息传送的内容、文本消息传送、视频消息传送,或者其他非游戏相关内容。
如上文所述,客户端系统106a被配置来处理第二屏幕内容(SSC),以便整合到视频帧中,作为压缩OOB数据(例如,在视频帧的边缘中提供的压缩数据)。本文中使用术语OOB数据来描述通常不呈现在HMD的显示器上的数据。当呈现在HMD中时,用户通常不可见图像帧的边缘,并且因此,帧数据中的这个空间可以用来存储压缩(或未压缩)第二屏幕内容。在一些实施方案中,音频内容也存储或整合在图像帧的OOB数据中。
继续图6的示例,HDMI输入402示为传递到模块430,所述模块被配置来接收图像数据并且也提取OOB数据。在一个实施方案中,嵌入在OOB数据中的内容流可在90兆位每秒(或更大)的范围内,从而可允许第二屏幕107上的丰富沉浸式体验。
如上文所述,在一个实施方案中,当OOB数据整合在图像帧边缘中时,OOB数据可由客户端系统106a压缩。在一个实施方案中,使用编码器采用H.264编码格式对压缩/编码OOB数据进行编码。因此,提取的OOB数据示为传递到图像处理器/H.264编解码器432的H.264流。在此示例中,H.264编解码器被配置来针对第二屏幕内容(SSC)对视频流进行解码。SSC随后由图像处理器处理进行处理。如上文参考图5所述,图像处理器处理也处理接收的图像数据(例如,包括视频游戏内容的左和右图像数据的图像数据)。如上文所述,图像处理器处理被配置来将图像数据分区在块簇中,从而使得GPU 410的图像处理更有效。如在图5中,GPU 410执行无失真、修剪以及缩放。
修剪可包括移除任何边缘内容(OOB数据),如果存在的话,以及选择图像的一部分(例如,左眼图像帧内容)。通过这种方式,采用无失真形式的左眼图像内容可输出到第二屏幕107。此外,在此实施方案中,从OOB数据中提取的SSC可与第二屏幕107上所示的呈现图像整合。例如,除了在第二屏幕107上示出左眼视频的内容之外,可连同来自HMD的图像数据一起呈现整合到图像帧的边缘中的额外内容。
上述图2C到图2E描述这个特征,该特征可使得其他人能够与佩戴HMD的用户社交互动。例如,在OOB数据中,可在HMD数据期间并且与之一起呈现用户交互命令、数据、角色、通信等。除了在第二屏幕107上呈现从OOB数据获取的SSC之外,内容可呈现回到HMD中显示的图像内容。因此,观看第二屏幕107的用户(例如,图2C)可以与佩戴HMD 102的用户玩游戏、交互、社交、讲话、发短信等。
图7示出SOC处理器106b的替代实施方案。在此实施方案中,经由USB 404模块传递添加到第二屏幕107上示出的视频游戏内容(VGC)的第二屏幕内容(SSC)。这代替将压缩SSC数据整合到视频帧中,如参考图6所述。在一些实施方案总,预想图6和图7的实施方案的混合。
继续图7的实施方案,USB模块404被配置来直接从客户端系统106a接收第二屏幕内容(SSC)。在模块440中提取SSC的视频。在一个实施方案中,使用H.264协议对提供SSC的视频进行压缩/编码。采用H.264格式的提取视频流传递到图像处理器/H.264编解码器432。在此模块中,视频首先被H.264编解码器解码,并且随后经过处理以产生分区的视频块数据,从而由GPU 410更有效地处理。GPU410随后输出用于视频游戏内容(VGC)的2D格式的视频流,连同在模块440中提取的SSC内容。因此,提供到第二屏幕107的HDMI输出405的输出包括与在HMD 102中观看的内容一致的视频,以及SSC(例如,社交内容、交互游戏内容、社交通信数据等)。
图8包括又一实施方案,其中在USB 404模块处以HTML数据的形式接收SSC。众所周知,HTML数据是适合呈现web内容(例如,图像、文本、格式化、视频等)的格式。因此,模块440将接收不同于HMD 102上呈现的图像帧的数据流。然而,数据流可包括可能与游戏玩打相关的数据,或者可在第二屏幕107上分享的数据。分享到第二屏幕107的数据也可分享到HMD 102。因此,在图7的示例中,第二屏幕107可提供web内容,诸如指标、统计,或者可能与用户有关的其他信息。
如上文所述,其他示例也可包括在HMD用户玩游戏时,SOC处理器106b呈现来自其他源的内容(例如,移动、视频、图像、数据)的能力。例如,其他源可采用类似于提供SSC数据的方式整合数据。例如,SSC数据(来自其他源的数据,例如,移动或者其他web/存储内容)可整合到图像帧中,作为OOB数据(例如,如在图6中),或者经由单独USB端口管线/流(例如,如在图7和图8中)。在另一些实施方案中,SOC处理器可被配置来简单地将HMD中观看到的内容分享到第二屏幕,以便由用户或同一位置的人被动观看(例如,如在图5中)。
参考图9,图解示出根据本发明的一个实施方案的头戴式显示器102的示例部件。应理解,根据支持的配置和功能,HMD 102中可包括或排除更多或更少的部件。头戴式显示器102可包括用于执行程序指令的处理器500。存储器502用于存储目的,并且可包括易失性和非易失性存储器。包括显示器504,该显示器提供用户可观看的可视界面。显示器504可由一个单个显示器定义,或采用用于每只眼的单独显示屏的形式。当提供两个显示屏时,可能分别提供左眼和右眼视频内容。例如,每只眼的视频内容的单独呈现可对三维(3D)内容提供更好的沉浸式控制。如上文所述,在一个实施方案中,通过使用一只眼的输出并且随后将内容格式化以便以2D格式显示,第二屏幕107被提供HMD 102的第二屏幕内容。在一个实施方案中,一只眼可以是左眼视频馈送,但在其他实施方案中,可以是右眼视频馈送。
电池506可用作头戴式显示器102的电源。在其他实施方案中,电源可包括与电力的输出连接。在其他实施方案中,可以提供与电力和电池506的输出连接。运动检测模块508可包括各种运动敏感硬件中的任一个,诸如磁强计510、加速计512以及陀螺仪514。
加速计是用于测量加速度和重力引发的反作用力的装置。单轴和多轴(例如,六轴)模型能够检测不同方向上的加速度的大小和方向。加速计用来感测倾斜、振动和冲击。在一个实施方案中,三个加速计512用来提供重力的方向,从而给出针对两个角(世界空间俯仰角和世界空间侧倾角)的绝对参照。
磁强计测量头戴式显示器附近的磁场的强度和方向。在一个实施方案中,头戴式显示器内使用三个磁强计510,从而确保针对世界空间偏航角的绝对参照。在一个实施方案中,磁强计被设计为跨过地磁场,所述地磁场是±80微特斯拉。磁强计受金属影响,并且提供随实际偏航单调变化的偏航测量。由于环境中的金属,磁场可扭曲,从而导致偏航测量扭曲。如果需要,使用来自诸如陀螺仪或相机之类的其他传感器的信息可以校准这个扭曲。在一个实施方案中,加速计512与磁强计510一起用来获取头戴式显示器102的倾斜和方位。
陀螺仪是用于基于角动量的原理来测量或维持取向的装置。在一个实施方案中,基于惯性感测,三个陀螺仪514提供有关相应轴线(x、y和z)上的移动的信息。陀螺仪有助于检测快速旋转。然而,在不存在绝对参照的情况下,随着时间的推移,陀螺仪可漂移。这需要定期重置陀螺仪,这可使用其他可用信息来完成,诸如基于物体、加速计、磁强计等的视觉跟踪的位置/取向确定。
提供相机516用于捕捉真实环境的图像和图像流。头戴式显示器102可包括不止一个相机(任选地),包括后置的相机(当用户在观看头戴式显示器102的显示器时指向远离用户),以及前置的相机(当用户在观看头戴式显示器102的显示器时指向用户)。此外,头戴式显示器102中可包括深度相机518,以用于感测真实环境中的物体的深度信息。
头戴式显示器102包括用于提供音频输出的扬声器520。此外,可包括麦克风522,以用于捕捉来自真实环境的音频,包括来自周围环境的声音、用户发出的语音等。头戴式显示器102包括用于将触觉反馈提供给用户的触觉反馈模块524。在一个实施方案中,触觉反馈模块524能够致使头戴式显示器102移动和/或振动,以便将触觉反馈提供给用户。
提供LED 526作为头戴式显示器102的状态的视觉指示器。例如,LED可指示电池电量、电源接通等。提供读卡器528以使得头戴式显示器102能够从存储卡中读取信息和将信息写入存储卡。包括USB接口530作为用于实现外围装置的连接或者到其他装置(诸如其他便携式装置、计算机等)的连接的接口的一个示例。在头戴式显示器102的各种实施方案中,可包括各种接口中的任一接口,以使得头戴式显示器102能够具有更好的连接性。
可包括WiFi模块532,以使得能够经由无线联网技术连接到互联网。此外,头戴式显示器102可包括用于使得能够无线连接到其他装置的蓝牙模块534。还可包括通信链路536,以用于连接到其他装置。在一个实施方案中,通信链路536将红外传输用于无线通信。在其他实施方案中,通信链路536可将各种无线或有线传输协议中的任一协议用于与其他装置的通信。
包括输入按钮/传感器538以便为用户提供输入接口。可包括各种输入接口中的任一个,诸如按钮、触摸板、操纵杆、跟踪球等。超声通信模块540可被包括在头戴式显示器102中,以促进经由超声技术与其他装置通信。
包括生物传感器542以使得能够检测来自用户的生理数据。在一个实施方案中,生物传感器542包括一个或多个干电极,以用于通过用户的皮肤、声音检测、眼睛视网膜检测来检测用户的生物电信号,以便识别用户/轮廓等。
头戴式显示器102的上述部件仅描述为可被包括在头戴式显示器102中的示例性部件。在本发明的各种实施方案中,头戴式显示器102可以或可不包括各种上述部件中的一些。出于促进如本文所述的本发明的方面的目的,头戴式显示器102的实施方案可额外包括目前未描述但本领域已知的其他部件。
所属领域的那些技术人员将了解,在本发明的各种实施方案中,上述手持式装置可与显示在显示器上的交互应用结合使用,以提供各种交互功能。本文中描述的示例性实施方案仅以示例的方式提供,而不意图限制。
在一个实施方案中,本文中所称的客户端和/或客户端装置可包括头戴式显示器(HMD)、终端、个人计算机、游戏控制台、平板计算机、电话、机顶盒、一体机、无线装置、数字板、独立装置、手持式游戏玩打装置和/或诸如此类。通常,客户端被配置来接收编码视频流、对视频流进行解码以及将得到的视频呈现给用户,例如,游戏的玩家。接收编码视频流和/或对视频流进行解码的过程通常包括将个别视频帧存储在客户端的接收缓冲器中。视频流可在集成到客户端的显示器上呈现给用户,或者在单独装置,诸如监视器或电视机上呈现给用户。
客户端任选地被配置来支持不止一个游戏玩家。例如,游戏控制台可被配置来支持两个、三个、四个或更多的同时玩家(例如,P1、P2……Pn)。这些玩家中的每个可接收或分享视频流,或者单个视频流可包括专门针对每个玩家生成的帧的区域,例如,基于每个玩家的视角生成的帧的区域。任意数量的客户端可以是本地的(例如,在同一位置),或者在地理上分散。游戏系统中包括的客户端的数量可以从一个或两个广泛变化到数千、数万或更多。本文中使用的术语“游戏玩家”是指玩游戏的人,并且术语“游戏玩打装置”是指用来玩游戏的装置。在一些实施方案中,游戏玩打装置可以指协作以向用户传递游戏体验的多个计算装置。
例如,游戏控制台和HMD可与视频服务器系统协作,以传递通过HMD观看的游戏。在一个实施方案中,游戏控制台从视频服务器系统接收视频流,并且游戏控制台将视频流或者视频流的更新转发到HMD和/或电视机,以用于呈现。
客户端还可以(但不需要)包括被配置来更改接收到的视频的系统。例如,客户端可被配置来执行进一步呈现、将一个视频图像覆盖在另一视频图像上、修剪视频图像和/或诸如此类。例如,客户端可被配置来接收各种类型的视频帧,诸如I帧、P帧和B帧,以及将这些帧处理成图像,以显示给用户。在一些实施方案中,客户端的成员被配置来对视频流执行进一步呈现、阴影、转换成3-D、转换成2D、失真消除、调整尺寸或类似操作。客户端的成员任选地被配置来接收一个以上音频或视频流。
例如,客户端的输入装置可包括单手游戏控制器、双手游戏控制器、手势识别系统、凝视识别系统、语音识别系统、键盘、操纵杆、定点装置、力反馈装置、运动和/或位置感测装置、鼠标、触摸屏、神经接口、相机、待开发的输入装置,和/或诸如此类。
视频源可包括呈现逻辑,例如,存储在计算机可读介质(诸如存储设备)上的硬件、固件和/或软件。这个呈现逻辑被配置来基于游戏状态来创建视频流的视频帧。呈现逻辑的全部或部分任选地设置在一个或多个图形处理单元(GPU)内。呈现逻辑通常包括处理阶段,其被配置来确定物体之间的三维空间关系和/或基于游戏状态和视角来施加适当的纹理等。呈现逻辑可产生原始视频,所述原始视频被编码。例如,原始视频可根据下列项进行编码:Adobe标准、HTML-5、.wav、H.264、H.263、On2、VP6、VC-1、WMA、Huffyuv、Lagarith、MPG-x、Xvid、FFmpeg、x264、VP6-8、realvideo、mp3等等。编码过程产生视频流,所述视频流任选地被封装,以传递到装置上的解码器。所述视频流的特征在于帧大小和帧速率。典型的帧大小包括800x 600、1280x 720(例如,720p)、1024x 768、1080p,但也可使用任何其他帧大小。帧速率是每秒的视频帧数量。视频流可包括不同类型的视频帧。例如,H.264标准包括“P”帧和“I”帧。I-帧包括刷新显示装置上的所有宏块/像素的信息,而P-帧包括刷新其子集的信息。P-帧的数据量通常小于I-帧。本文中使用的术语“帧大小”是指帧内的像素数量。术语“帧数据量”是指存储帧所需的字节数量。
在一些实施方案中,客户端可以是通用计算机、专用计算机、游戏控制台、个人计算机、膝上型计算机、平板计算机、移动计算装置、便携式游戏装置、蜂窝电话、机顶盒、流媒体接口/装置、智能电视或联网显示器,或者能够被配置来实现如本文中定义的客户端的功能的任何其他计算装置。在一个实施方案中,云游戏服务器被配置来检测用户使用的客户端装置的类型,并且提供适合用户的客户端装置的云游戏体验。例如,可针对用户的客户端装置优化图像设置、音频设置和其他类型的设置。
图10示出信息服务提供商架构的一个实施方案。信息服务提供商(ISP)670将大量信息服务传送到在地理上分散并且经由网络686连接的用户682。ISP可以只传送一种类型的服务,诸如股票价格更新,或者多种服务,诸如广播媒体、新闻、体育、游戏等。此外,每个ISP提供的服务是动态的,也就是说,可在任何时间点添加或解除服务。因此,将特定类型的服务提供到特定个人的ISP可随着时间的变化而改变。例如,当用户在她的家乡时,用户可由该用户附近的ISP提供服务,而当用户旅行到不同城市时,用户可由不同的ISP提供服务。家乡ISP会将所需信息和数据传输到新ISP,从而使得用户信息“跟随”用户到新的城市,以使得数据更靠近用户并且更易于访问。在另一实施方案中,可在管理用户的信息的主ISP与在主ISP的控制下直接与用户对接的服务器ISP之间建立主-服务器关系。在另一实施方案中,当客户端在世界范围内移动时,数据从一个ISP传输到另一ISP,以使得处于服务用户的更佳位置的ISP是传送这些服务的ISP。
ISP 670包括通过网络将基于计算机的服务提供到客户的应用服务提供商(ASP)672。使用ASP模型提供的软件有时也称为按需软件或软件即服务(SaaS)。提供对特定应用程序(诸如客户关系管理)的访问的简单形式是通过使用标准协议,诸如HTTP。应用软件驻留在供应商系统上,并且由用户通过web浏览器使用HTML、通过供应商提供的专用客户端软件或诸如瘦客户端之类的其他远程接口访问。
在广泛的地理区域上传递的服务通常使用云计算。云计算是在互联网上将动态可扩展和通常虚拟化的资源提供作为服务的计算方式。用户不需要成为支持他们的“云”中的技术基础设施的专家。云计算可以分成不同服务,诸如基础设施即服务(IaaS)、平台即服务(PaaS),以及软件即服务(SaaS)。云计算服务通常提供从web浏览器访问的在线常见商业应用,而软件和数据存储在服务器上。基于如何在计算机网络图解中描绘互联网以及互联网如何成为它隐藏的复杂基础设施的抽象概念,术语云用作互联网的隐喻(例如,使用服务器、存储设备和逻辑)。
此外,ISP 670包括由游戏客户端用来玩单玩家和多玩家视频游戏的游戏处理服务器(GPS)674。通过互联网玩的多数视频游戏都经由到游戏服务器的连接进行操作。通常,游戏使用收集来自玩家的数据并且将它分配到其他玩家的专用服务器应用。这比对等布置更高效且有效,但需要单独的服务器来主控服务器应用。在另一实施方案中,GPS在玩家之间建立通信,并且他们相应的游戏玩打装置在不依赖于集中GPS的情况下交换信息。
专用GPS是独立于客户端运行的服务器。此类服务器通常在位于数据中心的专用硬件上运行,从而提供更大的带宽和专用处理能力。专用服务器是主控用于多数基于PC的多玩家游戏的游戏服务器的优选方法。大型多玩家在线游戏在通常由拥有游戏标题的软件公司主控的专用服务器上运行,从而允许他们控制和更新内容。
广播处理服务器(BPS)676将音频或视频信号分布到听众。广播到极窄范围的听众有时称为窄播。广播分布的最后一程是信号如何抵达听者或观众,并且它可在空中与广播站或TV站一样到达天线和接收器,或者可经由站或直接从网络通过有线TV或有线广播(或“无线电缆”)到达。互联网也可将广播或TV带给接收者,尤其是利用允许分享信号和带宽的多播。历史上,广播被地理区域定界,诸如全国广播或区域广播。然而,随着快速互联网的普及,由于内容可到达世界上的几乎任何国家,因此广播不被地理界定。
存储服务提供商(SSP)678提供计算机存储空间和相关管理服务。SSP也提供定期备份和归档。通过供应存储即服务,用户可根据需要订购更多存储。另一主要优点在于,SSP包括备份服务,并且如果计算机的硬盘出故障,用户将不会丢失他们全部的数据。此外,多个SSP可具有用户数据的全部或部分复本,从而允许用户以独立于用户所在的地方或用来访问数据的装置的有效方式访问数据。例如,当用户在移动时,用户可访问家用计算机以及移动电话中的个人文件。
通信提供商380将连接提供到用户。一种通信提供商是提供对互联网的访问的互联网服务提供商(ISP)。ISP使用适合传递互联网协议数据报的数据传输技术连接其客户,诸如拨号、DSL、电缆调制解调器、光纤、无线或专用高速互连。通信提供商也可提供消息传送服务,诸如电子邮件、即时消息以及SMS文本。另一类型的通信提供商是通过提供对互联网的直接骨干访问来出售带宽或网络访问的网络服务提供商(NSP)。网络服务提供商可由下列构成:电信公司、数据载体、无线通信提供商、互联网服务提供商、提供高速互联网访问的有线电视运营商等。
数据交换688将ISP 670内部的若干模块互连,并且经由网络686将这些模块连接到用户682。数据交换688可覆盖ISP 670的所有模块附近的较小区域,或者当不同模块在地理上分散时,可覆盖较大地理区域。例如,数据交换688可包括数据中心的柜内的快速千兆以太网(或更快),或者洲际虚拟局域网(VLAN)。
用户682可通过客户端装置684访问远程服务,所述客户端装置包括至少CPU、显示器和I/O。客户端装置可以是PC、移动电话、上网本、平板电脑、游戏系统、PDA等。在一个实施方案中,ISP 670识别客户端使用的装置的类型,并且调整所用的通信方法。在其他情况下,客户端装置使用标准通信方法(诸如html)来访问ISP 670。
本发明的实施方案可用各种计算机系统配置实施,包括手持式装置、微处理器系统、基于微处理器或可编程的消费电子设备、微型计算机、主计算机等。本发明也可在分布式计算环境中实践,其中由通过基于有线的网络或无线网络链接的远程处理装置执行任务。
了解上述实施方案之后,应理解,本发明可利用涉及存储在计算机系统中的数据的各种计算机实施的操作。这些操作是需要物理量的物理操纵的那些。形成本发明的一部分的本文所述的任何操作都是可用的机器操作。本发明还涉及用于执行这些操作的装置或设备。所述设备可针对所需目的而特别构造,或者所述设备可以是由存储在计算机中的计算机程序选择性地激活或配置的通用计算机。具体而言,各种通用机可用于根据本文中的教示编写的计算机程序,或者更为方便的是,构造更专业的设备来执行所需的操作。
本发明还可体现为计算机可读介质上的计算机可读代码。计算机可读介质是可存储数据的任何数据存储装置,所述数据之后可由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附加存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带,以及其他光学和非光学数据存储装置。计算机可读介质可包括分布在网络连接的计算机系统上的计算机可读有形介质,从而计算机可读代码被分布式存储和执行。
尽管按照特定顺序描述了方法操作,但应理解,可在操作之间执行其他内务处理操作,或者操作可以调整成在稍微不同的时间发生,或可以分布在系统中,所述系统允许处理操作在与处理相关联的各种间隔处发生,只要覆盖操作的处理按照所需的方式执行即可。
尽管为了清楚理解已在一些细节上描述了上述发明,但应明白,某些变化和修改可在所附权利要求书的范围内实施。因此,呈现的实施方案应被视为说明性而非限制性的,且本发明并不限于本文中给出的细节,而是可在所附权利要求书的范围和等效物内修改。