用于增强和虚拟现实的系统与方法_2

文档序号:9437105阅读:来源:国知局
40或用户设备120处理,以为通过用户设备来体验的用户以适当的方式实例化所述对象的实例并渲染所述对象。
[0065]开发和/或完善数字世界的程序员创建或定义对象和其被实例化的条件。然而,数字世界可允许其他人创建或修改对象。一旦对象被实例化,所述对象的状态可被允许由体验数字世界的一个或多个用户改造、控制或操作。
[0066]例如,在一个实施例中,数字世界的开发、生产和管理通常由一个或多个系统管理程序员来提供。在一些实施例中,这可以包括数字世界中的故事线、主题和事件的开发、设计和/或执行以及通过多种形式的事件和例如电影、数字、网络、移动、增强现实和现场娱乐的媒体的分布式的叙述。所述系统管理程序员还可处理所述数字世界的技术管理、修改和完善和与之相关的用户社区,以及通常由网络管理人员执行的其他任务。
[0067]用户使用通常被称为用户设备120的一些类型的本地计算设备与一个或多个数字世界交互。此类用户设备的示例包括但不限于,智能手机、平板电脑、抬头显示器(HUD)、游戏控制器或能够传递数据并向用户提供接口或显示的任何其他设备,以及此类设备的组合。在一些实施例中,所述用户设备120可包括或者可与本地外部设备或输入/输出组件通信,所述本地外部设备或输入/输出组件例如键盘、鼠标、操作杆、游戏控制器、触觉接口设备、运动捕捉控制器、如可向体感控制(Leap Mot1n)公司购买的光学追踪设备等或可向微软(Microsoft)公司购买的商标名为Kinect (RTM)下的光学追踪设备、音频设备、语音设备、投影系统、3D显示和全息3D接触式镜片。
[0068]图2示出了用于与系统100交互的用户设备120的示例。在图2中显示的示例实施例中,用户210可通过智能手机220连接一个或多个数字世界。网关由存储并运行于所述智能手机220上的应用软件230实施。在此类特殊的示例中,所述数据网络130包括连接用户设备(即智能手机220)至所述计算机网络105的无线移动网络。
[0069]在优选的实施例的一个实现中,系统100能够支持大量的并发用户(例如,数百万的用户),每个用户均使用一些类型的用户设备120与同一数字世界,或者与不同的数字世界连接。
[0070]所述用户设备向用户提供使所述用户和由服务器110生成的数字世界之间能够可视、可听,和/或物理交互的接口,包括(真实或虚拟)呈现给所述用户的其他用户和对象。所述接口向所述用户提供可被察看、被听到或以其它方式被感知的被渲染场景,以及实时与场景交互的能力。所述用户与所述被渲染场景交互的方式可由所述用户设备的能力决定。例如,如果所述用户设备为智能手机,所述用户交互可由用户接触触摸屏来实施。在另一示例中,如果所述用户设备为计算机或游戏控制器,所述用户交互可使用键盘或游戏控制器来实施。用户设备可包括例如传感器的附加的组件,其使得用户交互成为可能,其中由所述传感器检测到的对象和信息(包括手势)可被作为输入提供,所述输入表示使用所述用户设备与所述虚拟世界的用户交互。
[0071]所述渲染场景可被以多种形式呈现,例如二维或三维可视化显示(包括投影)、声音和触觉或触觉反馈。所述渲染场景可以一种或多种模式来与所述用户接口,所述模式包括例如增强现实、虚拟现实和其组合。所述渲染场景的格式,以及接口模式,可由下列因素中的一个或多个决定:用户设备、数据处理能力、用户设备连通性、网络能力和系统工作负载。具有的大量用户与所述数字世界并发交互和数字交换的实时性质可由计算网络105、服务器110、网关组件140 (可选地)和用户设备120来启用(enable)。
[0072]在一个示例中,所述计算网络105由具有通过高速连接(例如,高宽带接口 115)连接的单核和/或多核服务器(即服务器110)的大规模的计算系统组成。所述计算网络105可形成云或网格网络。每个服务器均包括存储器,或与计算机可读存储器耦合,用于存储执行数据以创建、设计、更改或处理数字世界的对象的软件。这些对象和它们的实例化可以是动态的、出现和消失、随时间变化,以及响应其他条件而变化。所述对象的动态能力的示例此处通常参考多种实施例来讨论。在一些实施例中,连接所述系统100每个用户还可在一个或多个数字世界中被表示为对象和/或对象集。
[0073]计算网络105中的服务器110还存储用于每个数字世界的计算状态数据。所述计算状态数据(此处还被称为状态数据)可以使对象数据的组成部分,并且通常在给定的时间实时定义对象实例的状态。因此,计算状态数据可随时间变化并且可受一个或多个用户的行为和/或维护系统100的程序员的影响。因为用户影响计算状态数据(或其他包括数字世界的数据),用户直接改变或以其他方式操控数字世界。如果数字世界与其他用户共享,或与其他用户连接,用户的行为可影响与数字世界交互的其他用户的体验。因此,在一些实施例中,由用户造成的数字世界的变化将被其他与系统100交互的用户体验。
[0074]在一个实施例中,存储于计算网络105中一个或多个服务器110中的数据被高速率以及低延时地传送或部署至一个或多个用户设备120和/或网关组件140。在一个实施例中,由服务器共享的对象数据可以是完整的或可以是被压缩的,并且包括用于在用户侧重建完整对象数据的指令,其由用户的本地计算设备(例如网关140和/或用户设备120)渲染并可视化。在一些实施例中,运行于计算网络105的服务器110上的软件可根据用户特定的设备和带宽,为数字世界内的对象调整其生成并发送至特殊的用户设备120的数据(或由计算网络105交换的任何其他数据)。例如,当用户通过用户设备120与数字世界交互时,服务器110可识别由用户使用的特定类型的设备、设备的连通性和/或用户设备和服务器之间的可用带宽,以及合适的尺寸,并且平衡递送至该设备的数据以优化用户交互。该示例可包括减小被发送数据的尺寸至低分辨率质量,以使得数据可在具有低分辨率显示器的特殊用户设备上被显示。在优选的实施例中,计算网络105和/或网关组件140以足够呈现15帧/秒或更高接口操作的速度以及以高清质量或更高的分辨率,将数据递送至用户设备120。
[0075]网关140为一个或多个用户提供至计算网络105的本地连接。在一些实施例中,这可以由可下载的应用软件来实施,所述应用软件运行于用户设备120或其他本地设备上,例如图2中所示的那些设备。在其他实施例中,可由硬件组件(结合存储于该组件上的合适的软件/固件,该组件具有处理器)实施,该组件或与用户设备120通信,但不与其合并或被其吸引,或者与用户设备120合并。网关140经由数据网络130与计算网络105通信,并提供计算网络105和一个或多个本地用户设备120之间的数据交换。如在更详细的下文所讨论的,网关组件140可包括软件、固件、存储器和处理电路,并且能够处理在网络105和一个或多个本地用户设备120之间通信的数据。
[0076]在一些实施例中,网关组件140监视并调节用户设备120和计算机网络105之间交换的数据的速率以允许用于特殊的用户设备120的最佳数据处理能力。例如,在一些实施例中,网关140缓冲和下载数字世界的静态和动态方面,即使这些超过了通过与用户设备连接的接口呈现给用户的视野。在这样的实施例中,静态对象的实例(结构化数据、软件实施的方法,或两者兼有)可存储于存储器(网关组件140本地、用户设备120,或两者兼有)中并且作为本地用户当前位置的引用,用户的当前位置由计算网络105和/或用户设备120提供的数据表明。动态对象的实例,可包括例如智能软件代理和由其他用户和/或本地用户控制的对象,其被存储于高速存储缓冲器中。代表呈现给用户的场景中的二维或三维对象的动态对象可例如被分解为组件形状,例如运动但不改变的静态形状,和变化的动态形状。动态对象的变化部分可被通过计算网络105来自服务器110的实时、线性高优先级数据流更新、由网关组件140管理。作为优先的线性数据流的示例,用户眼睛的60度视野内的数据可被给予比更外围的视野更高的优先级。另一示例包括优选在背景中的静态对象上的用户视野中的动态特征和/或对象。
[0077]除了管理计算网络105和用户设备120之间的数据连接之外,网关组件140可存储和/或处理可呈现给用户设备120的数据。例如,在一些实施例中,网关组件140可从计算网络105接收例如描述用于用户察看而渲染的图形对象的被压缩数据,并且执行先进的渲染技术以缓和从计算网络105传送至用户设备120的数据负载。在另一示例中,其中网关140为独立的设备,网关140可为对象的本地实例存储和/或处理数据,而不是传送数据至计算网络105以用于处理。
[0078]现在再参考图3,数字世界可由一个或多个用户根据用户设备的能力以多种形式体验。在一些实施例中,用户设备120可包括,例如,智能手机、平板电脑、抬头显示器(HUD)、游戏控制器或可穿戴设备。通常,用户设备将包括与显示器耦合、用于执行存储于设备上的存储器中的程序代码的处理器,以及通信接口。图3中示出了用户设备的示例实施例,其中用户设备包括移动、可穿戴设备,即头戴式显示系统300。根据本公开的实施例,头戴式显示系统300包括用户接口 302、用户感知系统304、环境感知系统306和处理器308。虽然处理器308在图3中被作为从头戴式系统300分离的独立的组件来显示,在备选的实施例中,处理器308可与头戴式系统300的一个或多个组件整合,或可被整合至其他系统100组件中,例如网关140.
[0079]用户设备呈现给用户用于与数字世界交互并体验数字世界的接口 302。该交互可涉及用户和数字世界、连接至系统100的一个或多个其他用户,以及数字世界中的对象。接口 302通常向用户提供图像和/或语音感官输入(以及在一些实施例中,物理感官输入)。因此接口 302可包括扬声器(未显示)和显示组件303,显示组件在一些实施例中使得更能体现人类视觉系统自然特征的立体3D察看和/3D察看成为可能。在一些实施例中,显示组件303可包括透明的接口(例如清晰的0LED),其在处于“关”设置时使得的用户附近的物理环境的几乎无光学畸变或计算叠加层(computing overlay)的光学正确察看(opticallycorrect view)成为可能。如下列更详细的讨论,接口 302可包括允许多种视觉/接口性能和功能的附加设置。
[0080]在一些实施例中,用户感知系统304可包括可操作以检测与穿戴有系统300的个人用户相关的特定特性、特征或信息的一个或多个传感器310。例如,在一些实施例中,传感器310可包括摄像机或光学检测/扫描电路,其能够检测用户的实时光学特性/测量,例如一个或多个如下内容:瞳孔收缩/扩大、每个瞳孔的角度测量/定位、二次球度(spherocity)、眼球形状(因为眼球形状随时间而变化)以及其他结构上的数据。该数据提供,或被用于计算可由头戴式系统300和/或接口系统100使用以优化用户察看体验的信息(例如,用户视觉焦点)。例如,在一个实施例中,传感器310中的每一个都可以为用户的每个眼睛测量瞳孔收缩速率。该数据可被传送至处理器308 (或网关组件140或至服务器110),其中数据被用于确定例如,用户对接口显示器303的亮度设置的反应。接口 302可依照用户的反应被调节,例如,如果用户反应表明显示器303的亮度等级太高,则调暗显示器303。用户感知系统304除了如上讨论的那些组件或图3中示出的组件之外,还可包括其他组件。例如,在一些实施例中,用户感知系统304可包括用以从用户接收声音输入的麦克风。用户感知系统还可包括一个或多个红外摄像机传感器、一个或多个可见光谱摄像机传感器、结构光发射器和/或传感器、红外光发射器、相干光发射器和/或传感器、陀螺仪、加速计、磁力仪、近距离传感器、GPS传感器、超声波发射器和检测器和触觉接口。
[0081]环境感知系统306包括用于从用户周围的物理环境获取数据的一个或多个传感器312。由传感器检测到的对象或信息可被作为输入提供至用户设备。在一些实施例中,该输入可表示用户与虚拟世界的交互。例如,察看桌子上的虚拟键盘的用户可用其手指作姿态,仿佛其在该虚拟键盘上打字。手指移动的运动可被传感器312捕捉并且被作为输入提供至用户设备或系统,其中该输入可被用于改变虚拟世界或创建新的虚拟对象。例如,手指的运动可被识别(使用软件程序)为打字,并且被识别的打字姿态可与虚拟键盘上的已知的虚拟键位置结合。然后系统可渲染显示给用户(或连接至系统的其他用户)的虚拟监视器,其中虚拟监视器显示由用户键入的文本。
[0082]文本312可包括例如通常面向外面的摄像机或扫描仪以用于解释场景信息,例如,通过连续的和/或间歇的投影红外结构光。环境感知系统306可被用于通过检测和记录本地环境来映射用户周围的物理环境的一个或多个因素,包括静态对象、动态对象、人、手势和各种灯光、大气和声学的条件。因此,在一些实施例中,环境感知系统306可包括嵌入到本地计算系统(例如,网关组件140或处理器308)并可操作以用数字化重建由传感器312检测到的一个或多个对象或信息的基于图像的3D重建软件。在一个典型的实施例中,环境感知系统306提供下列方面的一个或多个:运动捕捉数据(包括手势识别)、深度感知、面部识别、对象识别、独特的对象特征识别、声音/语音识别和处理、声学来源定位、降噪技术、红外或类似的激光投影,以及单色和/或彩色CMOS传感器(或其他相似的传感器)、视野传感器和多种其他光学增强传感器。应指出环境感知系统306除了上述所讨论的那些组合或图3中示出的那些组件,还可包括其他组件。例如,在一些实施例中,环境感知系统306可包括用于从本地环境中接收语音的麦克风。用户感知系统还可包括一个或多个红外摄像机传感器、一个或多个可见光谱摄像机传感器、结构光发射器和/或传感器、红外光发射器、相干光发射器和/或传感器、陀螺仪、加速计、磁力仪、近距离传感器、GPS传感器、超声波发射器和检测器和触觉接口。
[0083]如上所述,在一些实施例中,处理器308可与头戴式系统300的其他组件整合,与接口系统100的其他组件整合,或可为如图3中所示的独立的设备(可穿戴或从用户分离)。处理器308可与头戴式系统300的多种组件和/或接口系统100的组件通过物理、有线连接,或通过例如移动网络连接(包括移动电话和数据网络)、W1-Fi或蓝牙的无线连接来连接。处理器308可包括存储器模块、整合和/或附加的图形处理单元、无线和/或有线因特网连接性以及能够将来自源(例如,计算网络105、用户感知系统304、环境感知系统306或网关组件140)的数据变换成图像或音频信号的编解码器和/或固件,其中图像/视频和音频可经由接口 302呈现给用户。
[0084]处理器308处置用于头戴式系统300中的多种组件的数据处理以及头戴式系统300和网关组件140——以及在一些实施例中和计算网络105——之间的数据交换。例如,处理器308可被用于缓冲并处理用户和计算网络105之间的数据流,从而使平滑的、连续的和高保真度的用户体验成为可能。在一些实施例中,处理器308可以以足够达到320*240分辨率下8帧/秒到高清分辨率(1280*720)下24帧/秒一一或者更高例如60-120帧/秒和4K分辨率以及甚高(10K+分辨率和50000帧/秒)的速率——之间任意数值的速率来处理数据。此外,处理器308可存储和/或处理可呈现给用户而不是实时从计算网络105流送数据。例如,在一些实施例中,处理器308可从计算网络105接收压缩数据并且执行先进的渲染技术(例如灯光和着色)以缓和从计算网络105传送至用户设备120的数据负载。在另一实施例中,处理器308可存储和/或处理本地物理数据而不是将数据传送至网关组件140或计算网络105。
[0085]在一些实施例中,头戴式系统300可包括多种设置或模式,其允许多种可视/接口性能和功能。模式可由用户手动选择或由网关组件140或头戴式系统300的组件自动地选择。如先前所述,头戴式系统300的一个示例包括“关”模式,其中接口 302实质上没有提供数字的或虚拟的内容。在关模式下,显示组件303可以是透明的,从而使得几乎没有光学畸变或计算叠加层的用户周围的物理环境的光学正确察看能够成为可能。
[0086]在示例实施例中,头戴式系统300包括“增强”模式,其中接口 302提供增强现实接口。在增强模式下,接口显示器303可以是实质上透明的,因此允许用户察看本地物理环境。同时,由计算网络105、处理器308,和/或网关组件140提供的虚拟对象数据可与物理本地环境结合被呈现在显示器303上。
[0087]图4示出了当接口 302在增强模式下运行时由用户察看的对象示例实施例。如图4中所示,接口 302呈现物理对象402和虚拟对象404。在图4中示出的实施例中,物理对象402是存在于用户本地环境中的真实的物理对象,而虚拟对象404为由系统100创建并且经由用户接口 302显示的对象。在一些实施例中,虚拟对象404可在物理环境的固定位置或场所显示(例如,虚拟的猴子站在位于物理环境中的特殊路标旁边),或可作为位于相对于用户接口 /显示器303的位置的对象显示(例如,虚拟时钟或温度计在显示器303的坐上角可见)。
[0088]在一些实施例中,虚拟对象可被在用户视野之内或之外的物理呈现的对象提示(cued off)或触发。虚拟对象404被物理对象402提示或触发。例如,物理对象402实际上可能是凳子,并且虚拟对象404可被作为站在凳子上的虚拟动物显示给用户(并且,在一些实施例中,呈现给连接至系统100的其他用户)。在这样的实施例中,环境感知系统306可使用存储于例如处理器308中的软件和/或固件以识别多种特性和/或形态图案(由传感器312捕捉)来认出物理对象402是凳子。这些被识别的形态特征,例如凳子顶部,可被用于触发虚拟对象404的放置。其他示例包括墙壁、桌子、家具、车辆、建筑物、人、地板、植物、动物-任何可视对象均可用于以与该对象或多个对象的一些关系来触发增强现实体验。
[0089]在一些实施例中,被触发的特殊的虚拟对象404可由用户选择或由头戴式系统300或接口系统100的其他组件自动选择。此外,在其中虚拟对象404被自动触发的实施例中,可基于特殊的物理对象402 (或其特征)选择特殊的虚拟对象404,根据其虚拟对象404被提示或触发。例如,如果物理对象被认定为延伸至泳池上的跳水板,被触发的虚拟对象可为穿戴者呼吸管、泳衣、漂浮设备或其他相关物品的生物。
[0090]在另一示例实施例中,头戴式系统300可包括“虚拟”模式,其中接口 302提供虚拟现实接口。在虚拟模式中,从显示器303中省略物理环境,并且由计算网络105、处理器308和/或网关组件140提供的虚拟对象数据被呈现在显示器303上。物理环境的省略可通过物理上阻塞虚拟显示器303(例如通过覆盖)或通过接口 302的特性一一其中显示器303转换至不透明度设置一一来实现。在虚拟模式下,现场的和/或已存的视觉和音频感觉可通过接口 302呈现给用户,并且用户通过接口 302的虚拟模式来体验数字世界(数字对象、其他用户等等)并与之交互。因此,以虚拟模式提供给用户的接口包含由虚拟的、数字的世界的虚拟对象数据组成。
[0091]图5示出了当头戴式接口 302以虚拟模式运行时的用户接口的示例性实施例。如图5中所示,用户接口呈现由数字对象510组成的虚拟世界500,其中数字对象510可包括大气、天气、地势、建筑和人。虽然没有在图5中被示出,数字对象还可包括,例如,植物、车辆、动物、生物、机器、人工智能、位置信息和定义虚拟世界500的任何其他对象或信息。
[0092]在另一示例实施例中,头戴式系统300可包括“混合”模式,其中头戴式系统300的各种特性(以及虚拟和现实模式的特性)可被结合以创建一个或多个自定义接口模式。在示例性自定义接口模式中,物理环境可从显示器303中省略,并
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1