混合现实系统的制作方法

文档序号:17296920发布日期:2019-04-03 04:29阅读:358来源:国知局
混合现实系统的制作方法

本申请要求2016年6月6日提交的序列号为62/346,413的美国临时专利申请的优先权,这些申请通过引用整体并入本文。

本公开涉及用于通过计算机配置用于虚拟现实或增强现实输出的数字数据的方法和设备,该方法和设备在几何上和时间上与响应于用户的物理环境的传感器数据确定的用户情境相关参数协调。



背景技术:

“虚拟现实”为已经用于模拟在三维(3d)世界中的沉浸的各种类型内容(包括例如,各种视频游戏内容和动画电影内容)的术语。在一些类型的虚拟现实中,用户可以通过控制虚拟摄像头的位置和取向来导航通过基于计算机模型生成的3d环境的模拟,该虚拟摄像头定义在二维显示屏上显示的2d场景的视点。这些技术的变型有时被称为“增强现实”。在增强现实设置中,显示技术示出通过一个或多个数字对象或覆盖“增强”的用户周围环境的组合。增强现实内容可以与关于在用户周围可见的对象或人物的文本“抬头(headup)”信息一样简单,或者像将用户周围环境的整个外观转换成对应于用户的真实周围环境的幻想环境那样复杂。当应用于将来自用户周围环境的真实对象与虚拟对象混合时,虚拟现实(vr)和增强现实(ar)在本文中统称为“混合现实”。

虚拟现实(vr)和增强现实(ar)已经应用于各种类型的沉浸式视频立体演示技术,包括例如立体虚拟现实头盔。头盔和其他演示方法使用户沉浸在3d场景中。头盔中的镜头透镜使用户能够专注于安装在头盔中距离用户眼睛仅几英寸的轻巧分体式显示屏幕。分割显示的不同侧显示视频内容的左右立体视图,而用户的外围视图被阻挡。在另一种类型的头盔中,使用两个单独的显示器分别向用户的左眼和右眼显示不同的图像。在另一种类型的头盔中,显示器的视场包括眼睛的整个视场,包括周边视图。在另一种类型的头盔中,使用可控制的小型激光器、镜子或透镜将图像投影在用户的视网膜上。无论哪种方式,头盔都使用户能够更像沉浸在真实场景中一样体验显示的虚拟现实内容。在增强现实(ar)内容的情况下,观看者可体验增强内容,就好像它为增强真实场景的一部分或放置在增强真实场景中一样。通过包括来自在vr馈送中安装到用户的头盔的立体摄像头对的实时图像数据,并且渲染与实时图像馈送混合的虚拟对象,可以使用虚拟现实头盔来实现类似的效果。

可通过头盔中检测用户头部运动的运动传感器来提供或增强这些沉浸式效果,并且相应地调整视频显示器。通过将他的头部转向一侧,用户可看到虚拟现实场景转向一侧;通过向上或向下转动他的头部,用户可在虚拟现实场景中向上看或向下看。头盔还可包括跟踪传感器,其检测用户头部和/或身体的位置,并且相应地调整视频显示器。通过倾斜或转动,用户可从不同的角度看到虚拟现实场景。这种对头部运动、头部位置和身体位置的响应性极大地增强头盔可实现的沉浸式效果。可向用户提供被放置在虚拟现实场景内或“沉浸”在虚拟现实场景中的印象。如本文所用,“沉浸式”通常包括vr和ar两者。

沉浸式头盔和其他可佩戴沉浸式输出设备对于各种类型的游戏尤其有用,这些游戏涉及当用户使用头部运动、用户身体的位置或取向、头部、眼睛、手、手指、脚或其他身体部位和/或其他输入来控制一个或多个虚拟摄像机时,用户对由渲染引擎生成的建模环境的探索。为了提供沉浸式体验,用户需要感知到与现实交互时在某种程度上类似于人类视觉知觉的运动自由。为vr制作的内容可使用为各种类型的视频游戏开发的实时渲染技术来提供这种体验。内容可被设计为具有定义的边界和规则的三维计算机模型,用于渲染为视频输出。该内容可通过立体技术来增强,以提供立体输出,有时称为“3d”,并且与响应于vr头盔的移动来管理渲染过程的vr应用相关联,以产生最终的vr体验。用户体验非常类似于被放置在渲染的视频游戏中。

然而,vr和ar用于沉浸式娱乐的使用限于特定的环境,例如当用户静止(例如,坐在椅子上)或被限制为在由传感器阵列限定的小空间中移动时。在这种受限的情境中,混合现实应用很少有机会在用户的情境发生变化时将信息合并到用户体验中,因为在游戏期间在该情境中几乎没有发生变化。

因此,期望开发用于配置用于vr和ar使用的数字内容的新方法和其他新技术,其克服现有技术的这些和其他限制并且增强用于诸如vr和ar的新沉浸式技术的混合现实内容的吸引力和乐趣。



技术实现要素:

该发明内容和以下详细描述应当被解释为综合公开的补充部分,这些部分可以包括冗余主题和/或补充主题。任何一节中的省略都不表示综合申请中描述的任何要素的优先权或相对重要性。这些章节之间的差异可以包括替代实施例的补充公开、附加细节,或使用不同术语的相同实施例的替代描述,如从各自的公开内容中显而易见的。

在本公开的一个方面,一种计算机实现的方法包括对包围佩戴/穿戴混合现实输出设备的用户的真实场景进行成像。该方法可以包括基于成像确定描述真实场景的真实情境的数据。该方法可以包括基于描述真实情境的数据从内容库中选择内容集。该内容集可以为或可以包括能够渲染虚拟对象的数据。该方法可以包括基于描述真实情境的数据,由混合现实输出设备渲染由混合现实会话中的该内容集描述的虚拟对象。例如,可以由计算机处理器从情境参数自动获取或导出照明参数。

前述方法可以在任何合适的可编程计算设备中通过在非暂时性计算机可读介质中提供的程序指令来实现,该计算机可读介质在由计算机处理器执行时使得设备执行所描述的操作。一种设备可以包括计算机或一组连接的计算机,其用于混合现实生产中或安装在用户头盔中。所述设备的其他元件可以包括例如音频输出装置和用户输入装置,它们参与该方法的执行。设备可以包括虚拟现实器件,诸如头盔或其他显示器,其对用户的头部或身体的运动作出反应以提供被放置在其中玩游戏或正在显示叙述内容的渲染场景内的印象。

为了实现前述和相关目的,一个或多个示例包括在下文中充分描述并在权利要求中特别指出的特征。以下描述和附图详细阐述了某些说明性方面,并且仅指示了可以采用示例的原理的各种方式中的一些方式。当结合附图和所公开的示例考虑时,其他优点和新颖特征将从以下详细描述中变得显而易见,附图包含所有这些方面及其等同物。

附图说明

通过下面结合附图给出的详细描述,本公开的特征、性质和优点将变得更加显而易见,附图中相同的附图标记在整个说明书和附图中相应地标识相同的元件。

图1为示出用于产生和配置耦合到分配系统的混合现实输出的数字数据的系统和设备的各方面的示意性框图。

图2为示出用于输出混合现实内容的设备的更详细方面的示意性框图。

图3为示出从不同观看者的角度观看混合现实内容的各方面的示意图。

图4为示出用于混合现实会话的情境确定和内容选择的系统的元素的概念图。

图5为示出使用来自传感器阵列的输入执行真实情境描述确定的系统的各方面的框图。

图6为示出基于描述真实情境的数据执行混合现实过程的内容选择的系统的各方面的框图。

图7为示出用于提供沉浸式混合现实体验的立体显示装置的部件的示意图。

图8为示出将虚拟内容与真实环境输入集成以提供混合现实体验的系统的元素的概念图。

图9为示出用于混合现实内容选择的方法的流程图。

图10-图12为示出图9中示出的方法的另外的可选方面或操作的流程图。

图13为示出用于混合现实内容选择的设备或系统的部件的概念框图。

具体实施方式

现在参考附图描述各个方面。在以下描述中,出于解释的目的,阐述许多具体细节以便提供对一个或多个方面的透彻理解。然而,显而易见的是,可在没有这些具体细节的情况下实践各个方面。在其他示例中,为了便于描述这些方面,以框图形式示出公知的结构和设备。

图1中示出用于混合现实内容的生产和分发的说明性系统100。系统100可包括生产活动集102,该生产活动集生产在底层创意内容的相关不同版本(例如,沉浸式版本和非沉浸式版本)之间以不同方式共享和使用的资产。创意内容包括例如由各种摄像机系统(cam)112、112收集的视频数据、由音频子系统(未示出)收集和/或生成的音频数据,以及从各种建模/动画子系统108、110创建和排列的计算机建模/动画数据。创意内容可被存储在数据存储106中。应理解,该系统可包括若干不同的数据存储(未示出)。生产服务器组件104可包括在计算机网络上运行的一系列生产应用,可在经由多个访问终端118、116控制生产过程的各种生产人员的控制下访问数据存储106中的数据。系统100中所示的组件的数量仅仅为说明性的。应理解,典型的故事片或其他演播室制作系统通常将包括比图示的组件的数量大得多的组件。创意总监和技术总监负责监督经配置用于沉浸式输出设备和更传统的非沉浸式设备的来自各种数据源的创意内容的组装。

由系统产生的数字内容可包括相同或相关创意标题的各种版本,例如,视频游戏或交互式叙事性质的沉浸式混合现实ar或vr版本;各种非沉浸式版本,诸如例如2d剧院版本、2d家庭剧院版本、移动设备版本、用于剧院、家庭或移动设备中的一个或多个的立体3d版本;组合沉浸式和非沉浸式版本,诸如例如结合支持2d或立体3d内容的用于剧院体验的vr版本,同样用于非沉浸式内容的用于家庭用途的vr版本;用于补充剧院中的非沉浸式内容的ar版本、用于补充家庭剧院环境或移动设备格式中的非沉浸式内容的ar版本。可将各种版本中的每一个中的完成的产品提供到家庭分发服务器120,家庭分发服务器120可将不同版本与用于管理使用和分发的元数据相关联地存储在内容数据存储(未示出)中。至少一组消费者可在单个数字内容(媒体)包中接收多个版本的沉浸式和非沉浸式内容,无论是在网络服务120的控制下存储,还是在诸如光盘或存储设备的计算机可读介质上本地存储。

可使用每个分配其自身服务器资源的不同分发信道来向不同的最终用户组提供内容。例如,电影院分发服务器130可将沉浸式和传统内容分发到电影院以用于公共表演。为了说明清楚,图示潜在的许多电影院的一个电影院140。每个电影院140可包括用于将数字内容分发到一个或多个剧院的至少一个服务器134,每个剧院主办一场演出。每个剧院(或者剧院,如果仅单个剧院由服务器143提供)包括电影院屏幕136和一个或多个观众,每个观众都佩戴沉浸式内容消费设备132、138,例如,vr护目镜或ar头盔。因此,相同的基础音频-视频节目可以不同版本分发以供家庭和电影使用。家庭和电影版本都可包括协调不同沉浸式设备的技术元素,同时以沉浸式格式播放音频-视频节目。另外,两个版本都可包括在2d屏幕上将沉浸式内容的播放与同时或非同时内容播放相协调的元素。

交互式混合现实内容可以被设计用于快速变化的情境,例如,用户在公园或城市环境中漫步,并且通常不被设计为与非沉浸式内容相协调。然而,交互式混合现实内容有时可以与出现在用户环境中的有限持续时间内剪辑的非沉浸式内容协调。例如,混合现实ar应用可以检测用户正在观看出现在用户的真实环境中的视频广告牌或其他图像显示,并且以某种方式基于出现在真实显示器上的内容来配置混合现实内容。例如,混合现实应用可以被配置为在混合现实会话中用替代视频或静态图像替换出现在真实视频显示器或静态图像显示器上的内容。另选地或另外地,混合现实应用可以被配置为使得与出现在真实显示器上的内容相关的虚拟对象或角色出现在混合现实会话中。例如,如果真实内容包括特定产品的广告,则应用可以在混合现实会话中插入产品(或竞争产品)的动画吉祥物角色。再例如,如果真实内容描绘了特定场景、对象、主题或角色,则应用可以插入增强、模仿或与真实内容相矛盾的虚拟内容。

在一些实施例中,保持协调的沉浸式和非沉浸式内容的媒体包可以为单个计算机可读介质(例如,光盘介质或闪存设备),或可包括单个计算机可读介质,其中打包的数字内容存储在一起。非暂时性、有形和便携式存储介质的分发可降低网络带宽需求并且确保消费设备可靠且无缝地访问密集数字内容。在一些实施例中,可通过从保持数字内容的电子副本以便写入数字副本的选定信息亭的分发来实现对有形介质的快速分发。在替代方案中,此类信息亭可利用高带宽连接来获得用于分发的电子内容。在其他实施例中,包括例如用于电影院分发,电子内容可通过通信网络和/或计算机网络传输,并且直接存储在连接到客户端设备或与客户端设备集成的存储器设备或介质上,该客户端设备将参与接收内容的回放。混合现实交互式版本可以与其他版本的分发结合在一起进行分发。例如,可以向参加故事片的电影放映的用户提供以下选项:在观看故事片的同时从影院分发服务器向头盔数据存储单元下载相关的混合现实交互式游戏、或者在便携式存储设备上接收混合现实游戏、或者接收伴随电影演示的流,从而添加混合现实资产以增强另外的只有电影的放映。

参考图2,示出用于消费混合现实沉浸式内容的内容消费装置200的各方面。家庭剧院或电影院演示的若干观众可配备内容消费设备。装置200可包括例如处理器202、例如基于由inteltm或amdtm设计的80x86架构的中央处理单元、由armtm设计的片上系统,或任何其他合适的微处理器。处理器202可使用总线或其他耦合通信地耦合到3d环境装置200的辅助设备或模块。可选地,处理器202及其耦合的辅助设备或模块中的一些或全部(其示例在204至216处示出)可容纳在壳体218内或耦合到壳体218,例如,具有可佩戴式谷歌眼镜、眼镜或护目镜的形状因子或其他形状因子的壳体。

用户接口设备204可耦合到处理器202,用于向由在处理器202上执行的混合现实沉浸式显示引擎操作的沉浸式混合现实内容显示过程提供用户控制输入。用户控制输入可包括,例如,来自图形用户界面的选择或经由触摸屏、键盘、定点设备(例如,游戏控制器)、麦克风、运动传感器、摄像机或这些或其他输入设备的某种组合生成的其他输入(例如,文本命令或方向命令)。还可经由耦合到处理器202的传感器206提供控制输入。传感器可包括例如运动传感器(例如,加速度计)、位置传感器、相机或相机阵列(例如,立体阵列)、生物测定温度或脉冲传感器、风速和方向传感器、触觉(压力)传感器、高度计、位置传感器(例如,全球定位系统(gps)接收器和控制器)、距离传感器(例如,电子卷尺)、近距离传感器、运动传感器、烟雾或蒸汽检测器、陀螺仪位置传感器、无线电接收器、例如,诸如可从品牌kinecttm旗下的microsofttm获得的多摄像机跟踪传感器/控制器、眼睛跟踪传感器或麦克风或麦克风阵列。传感器206可检测用户情境,用户情境意味着用户的物理环境以及环境中的对象的标识、位置、尺寸、取向和移动、用户界面显示的运动或其他状态,例如,虚拟现实头盔的运动,或者用户的身体状态,例如,面部表情、皮肤温度、瞳孔扩张、呼吸速率、肌肉张力、神经系统活动或脉搏。

装置200可任选地包括耦合到处理器202的输入/输出端口208,以实现混合现实引擎和计算机网络(例如电影内容服务器或家庭剧院服务器)之间的通信。例如,可使用此类通信来实现多玩家vr或ar体验,包括但不限于对电影内容的共享沉浸式体验。该系统还可用于非电影多用户应用,例如社交网络、团体娱乐体验、教学环境、视频游戏等。

显示器220可例如经由集成在处理器202中或单独的芯片中的图形处理单元(未示出)耦合到处理器202。显示器210可包括例如由发光二极管(led)或其他灯照明的平板彩色液晶(lcd)显示器、由lcd显示器或数字光处理(dlp)单元驱动的投影仪、激光投影仪或其他数字显示器设备。显示器设备210可结合到虚拟现实头盔或其他沉浸式显示系统中。由在处理器202上操作的混合现实沉浸式显示引擎驱动的视频输出,或者用于将用户输入与沉浸式内容显示协调和/或生成显示的其他应用,可被提供到显示器设备210并且作为视频显示输出到用户(本文也称为“玩家”)。类似地,扩音器/扬声器或其他音频输出换能器222可经由音频处理系统耦合到处理器202。与视频输出相关并且由混合现实显示引擎或其他应用生成的音频输出可被提供到音频换能器222并作为可听声音输出到用户。

3d环境装置200可进一步包括保持程序指令和数据的随机存取存储器(ram)214,该程序指令和数据用于在控制建模3d对象或环境期间由处理器快速执行或处理。当装置200断电或处于非活动状态时,程序指令和数据可被存储在长期存储器中,例如,非易失性磁性、光学或电子存储器存储设备216中。ram214或存储设备216中的任何一个或两个可包括保持程序指令的非暂时性计算机可读介质,该程序指令在由处理器202执行时使得装置200执行如本文所述的方法或操作。程序指令可被以任何合适的高级语言进行编写,例如c、c++、c#或javatm,并且被编译以产生用于由处理器执行的机器语言代码。程序指令可被分组为功能模块,以便于编码效率和可理解性。应理解,此类模块,即使可辨别为源代码中的划分或分组,也不一定可区分为机器级编码中的单独代码块。针对特定类型的功能的代码包可被认为包括模块,而不管包上的机器代码是否可独立于其他机器代码执行。换句话说,模块可仅为高级模块。

图3示出了在由多人314、316共享的观看空间300中使用ar或vr的混合现实内容的各方面。佩戴ar或vr头盔的第一人314观看观看空间中的真实内容对象310(“树”)。如果使用vr设备,则真实对象310可以由安装到头盔的摄像头阵列的摄像头捕获并显示在vr显示屏上。如果使用ar护目镜或眼镜,则人314通过vr设备的透明部分看到对象310。另外,第一人看到站在树310前面的虚拟龙320。第二人316用“裸眼”而没有用设备观察对象310。除了屏幕302周围区域中的实际物理环境(例如,对象310)之外,第二人316看不到任何东西。

图4示出了协作部件的系统400,其用于为至少一个用户401提供情境响应混合现实输出,该用户401经由用户界面403与由至少一个计算机处理器操作的混合现实会话410进行交互。系统400可以包括由用户操作的混合现实输出装置402执行或结合混合现实输出装置402的算法和过程404、406。过程404、406处理并应用来自传感器阵列408的传感器数据,传感器阵列408从用户的物理环境收集数据。过程404提取与在输出装置402上执行或与输出装置402相关地执行、或者将在装置402上发起的混合现实会话410相关的情境信息。选择过程406从情境确定过程404接收情境相关参数,并使用这些参数从驻留在计算机存储器中(例如,在网络化云数据结构434中)的库中选择混合现实对象。过程404、406和410可以在处理器或者用户401所佩戴的本地混合现实客户端的处理器中执行,或者通过本地客户端处理器和和本地或通过任何合适的计算机网络或计算机网络的组合远程联网到本地客户端的处理器的某种组合来执行。

出于本公开的目的,算法和过程404、406的可执行系统统称为“混合现实情境引擎”或“mrce”。mrce使用来自阵列408的传感器数据来获得可以在混合现实会话410中使用的情境参数(也称为情境相关参数),以选择发生在混合现实会话中的对象和事件并且使发生在混合现实会话中的对象和事件与在用户的物理环境412中的对象和事件相一致。可以由mrce404、406基于从感测当前物理环境412的传感器阵列408获得的传感器数据并且基于来自混合现实会话412的当前会话情境信息432来选择和确定情境参数428。可以基于提供给输出装置402的数据,直接从混合现实会话410的已知存储器状态来确定会话情境信息432。替换地或另外地,如果选择过程406不能直接访问会话状态410,则对象识别软件和/或图像分析软件还可以基于来自混合现实会话410的输出(例如,音频和视频输出)提供情境信息。无论以何种方式获得会话情境信息432,它可以与传感器输出结合使用以选择用于混合现实会话410的内容,如下面进一步描述。

例如,可以使用情境参数428以从混合现实对象或效果的库414中选择新的混合现实对象或效果。对于静态对象,可以将混合现实对象或效果预先记录为渲染对象。更一般地,混合现实对象或效果可以被预先配置为可渲染对象,并且使用基于当前情境选择的输入被渲染。渲染输入可以包括,例如,用于使在混合现实中的对象可动的角色动画序列或规则集,照明和视点定义,渲染引擎配置以及数字渲染领域中已知的许多其他设置。另外或者替换地,除了动画、对象比例和动作之外的模型属性可以在运行中通过算法创建。例如,可以基于作为输入情境信息和角色组成的算法生成或改变对象的外观和皮肤,并输出在外观和行为两者上为当前情境定制的角色或其他对象。会话模块可以编译定制对象并将其插入混合现实会话410,或者使用该对象来发起新的混合现实会话。例如,如果传感器指示用户处于存在历史混合现实数据的位置,则所述会话可以一般地或特定地选择与该位置相关的一个或多个对象或角色。当传感器指示用户位于棒球场中或棒球场附近时,插入不可识别的棒球运动员的混合现实动画为一般相关性的示例。当用户401位于对人物重要的位置时,插入动画历史或公共人物为特定相关性的示例。

选择过程406可以使用不同的选择算法,以用于基于从会话情境信息432确定的混合现实会话410中发生的事物来从库414中选择内容。例如,如果用户的化身位于虚拟龙出没的领土中,则该过程可以使用龙选择算法,该龙选择算法被设计为从模型类别416中选择龙模型,从皮肤类别418选择龙外观特征,以及从其他类别选择其他与龙相关的会话对象。另外或者替换地,选择过程406可以使用不同的选择算法,以用于基于来自物理情境确定过程404的物理环境参数从库414中选择内容。例如,如果过程404指示用户正在穿过树木繁茂的公园,则选择过程406可以基于“林地”算法集合从库中选择内容,该算法选择适合于树木繁茂区域的库内容。在替代实施例中,选择算法可以基于包括物理情境因素和虚拟情境因素两者的多因素优先级排序来选择内容,使得两者都在内容选择中起作用,该内容选择可以基于情境确定的加权因子而变化。

对于进一步的示例,情境参数428可被用于基于在用户的物理环境中感测到的对象或事件来定位、定向和/或缩放混合现实会话中的选择的混合现实对象或效果。例如,这些参数可用于使混合现实对象好像是对物理环境中的物理对象作出反应,诸如,例如,从物理对象反弹或粘附到物理对象。

再例如,情境参数428可被用于基于在用户的物理环境中感测到的对象或事件,对混合现实会话中的选择的混合现实对象的形状或效果进行几何调整,以便混合现实对象或效果符合会话所需的期望混合现实语法。

在系统400和相关方法的一个方面,来自库的选择可以使用人工智能过程来选择对象或效果,该对象或效果对于同一用户或在不同用户之间与用户的物理环境相关但不容易预测或确定的。例如,彼此相邻并且操作相同混合现实程序的不同用户可以看到不同的混合现实对象或效果。对于进一步的示例,基于启发式反馈430,除非请求,否则选择过程406可以使返回到相同位置的用户永远不会精确地看到两次相同的对象或效果。另外或者替代地,用于进行选择的环境之间的(多个)情境关系可以通过非确定性(例如,随机)算法或函数来改变,使得总是存在关于如何选择对象并且随后将选择哪个对象或哪种类型的对象的偶然元素。同时,选择算法应该选择具有与物理位置或环境有一些用户可辨识相关性的对象。非确定性算法可以包括例如随机和启发式元素。

库内容的类别可以包括例如3d建模数据416,其为要渲染的虚拟对象提供表面建模、动画电枢和物理参数。另一类别可以为“皮肤”418,“皮肤”418定义要渲染的模型的表面特征,例如,漫射和镜面反射颜色、粗糙度和其他表面特征。“动作”类别420可以包括用于对象和角色的动画循环。“音频”类别422可以包括音频剪辑或样本,用于程序化生成音频的代码,用于控制音频参数(诸如例如音量和立体声分离)的文件,以及其他音频相关数据。“渲染设置”类别424可以包括渲染控制参数、到可执行代码的链接,以及用于控制对象的渲染以适合于特定情境的数据。“语法”类别426可以包括描述所渲染的虚拟对象与真实场景中的参考对象之间的各种不同类型的关系的高级代码,其示例在本文其他地方提供。选择过程406可以从每个类别(或从更少或额外的类别)中挑选一个或多个对象,以准确地确定如何将一个或多个虚拟对象插入到特定的混合现实会话中。

参考图5,真实情境确定模块或过程500可以处理来自传感器阵列502的传感器数据,以针对任何给定的真实环境到达特定的情境描述528。虽然各种不同的传感器也可以是合适的,但是所描绘的七传感器阵列502应该足以支持基于对象类型和场景类型、场景和对象几何形状、场景条件以及场景标识和对象标识的情境描述的确定。

声纳传感器504可被用于确定至场景中的对象的当前距离以及对象的相对固性。从信号到接收回波的时间滞后和回波轮廓可用于从任何声发射器/接收器对的角度构建场景深度图。可以使用这种对的阵列来使用摄影测量术518来构建详细的场景和对象模型。来自安装到用户头部的方位传感器506的输入可用于设置当前视点参数。方位传感器可包括例如固态加速度计阵列、机械倾斜传感器阵列或陀螺仪单元。声纳数据可以与来自摄影测量过程518中的两个或摄像头508的阵列的可见和/或红外图像耦合,以在用户移动通过物理环境时构建和维护模型或场景图。

场景图可以以任何合适的建模数据格式(例如,虚拟现实建模语言(vrml)格式)或者以专有的简化格式表示。对于情境确定,主要希望知道场景的形状和其中的对象,以及场景中对象的相对固性,因此可以确定虚拟对象可以被定位和移动在何处而不违反所选择的语法。用于渲染的详细模型信息可能是有用的,但在许多情境确定应用中并不需要。因此,例如,合适的简化格式可以使用一组体积几何形状以及集合中的每形状之间的一些几何相互关系来表示任何给定对象的形状信息,每个体积几何形状与固性因子、刚度因子或轮廓、比例因子和取向相关联。这些几何参数集可以为粗略的近似;例如,一组指定“5英尺直径的球体,圆柱体上方居中的30%固性,4英尺长0.5英尺直径100%的固性”可能足以将对象识别为小树。

类型识别过程524可以用于将任何特定形状集合表征为具有指定类型,例如,“树”、“地板”、“墙壁”、“天花板”、“云”、“桌子”等。场景类型可以包括各种类型的室外场景和室内场景,其中大多数可以使用小参数集来表征。几百个基本对象类型的库应该足以表征最常见的类型,应认识到,为了娱乐目的,很少需要高度精确的类型,而为了提供一致和可靠的混合现实体验时,精确的几何和固性信息可能比类型更重要。例如,渲染的虚拟对象始终看起来无法穿过场景中的实体对象要比对象识别它正在导航的实体对象的类型更加重要。基于检测到的对象的几何参数集和由类型库定义的几何参数包络之间的实时比较,类型确定可以为纯算法的。可以使用模糊逻辑基于所描述的输入来选择对象类型。

来自摄像头阵列508和阵列或一个或多个麦克风的数据可用于识别520场景的条件,主要是照明条件和声学条件。其他感兴趣的条件可包括例如大气条件(例如,下雨、烟雾、下雪或起雾)。对于与天气有关的条件,可以将来自gps接收器514的gps数据与公布的天气报告进行比较。

场景和其中的对象的特定标识的识别522可以基于来自gps接收器514(或其他三角测量位置传感器)的位置(例如,gps)坐标和发布的位置信息,或者基于对象识别和/或图像分析软件。对于较小的对象,可以使用射频标记,其中标签由无线接收器512检测。例如,混合现实游乐园可以将rfid标签放置在遍布公园布置的许多真实物品上,使得每个用户的ar或vr设备可以基于由放置在对象的每个相应的一个上的每个标签传送的唯一标识符来快速定位和识别附近的对象。

来自类型识别524、条件识别520和身份识别522的输入可以由最终真实情境确定模块526集成和处理,最终真实情境确定模块526产生描述真实当前情境的输出计算机可读数据,在本文中有时称为情境描述或者真实情境描述。真实情境描述可以被放置在具有由混合现实过程的其他模块,尤其是内容选择模块所拥有的地址或指针的存储器位置中。在情境随时间变化时,情境确定模块526更新当前情境描述。情境描述可以包括例如体积实体图或物理环境的模型;环境条件参数;场景和对象类型;以及场景和对象的身份。描述的优先级可以按列出的顺序,其中体积实体图具有最高优先级。条件信息也为高优先级;根据一致的语法,在实际环境中实现混合现实对象的插入需要条件和固性。类型和标识信息对于提供更多样化和丰富的体验非常有用,但不是作为提供基本用户体验的基础。

真实情境描述可以与混合现实情境描述混合,并且可选地与来自用户和混合现实会话的特定组合的启发式反馈混合,以执行虚拟内容选择过程。作为示例,图6示出了基于真实情境描述528和其他输入的一个这种选择过程600的元素。内容选择603可以包括不同的内部模块或组件。例如,第一过滤器过程610解析真实情境描述528并使用一组逻辑规则(其可包括模糊逻辑)来从考虑中消除与场景的物理参数不兼容的库内容。这可以在概念上理解为库内容的第一过滤传递。“不兼容”可能意味着内容集不可能符合混合现实会话的指定语法,或者可以具有任何其他期望的含义,只要其产生可用内容集的过滤。应当理解,内容集的排序等同于过滤。

根据启发式反馈,第二过滤器过程612可以重新排序或进一步过滤第一过程610的输出。启发式反馈可以包括与当前混合现实会话的历史(过去事件)或过去的混合现实会话具有某种逻辑关系的任何用户输入。例如,可以使用启发式反馈来防止在不同时间重复选择对象,以提供更多样化的用户体验,或者选择符合用户偏好数据的对象。替换地或另外地,选择过程406可以随机选择要包括在混合现实会话中的虚拟对象。例如,所述选择过程可以基于真实情境、会话情境或启发式反馈来选择一类对象(例如,“龙”),并随机选择该类的特定实例(例如,特定龙对象)。

第三过滤器过程614可以基于当前会话情境重新排序或进一步过滤第二过程612的输出。例如,如果用户刚刚终结对不易解决的计算机生成的对手的调度,则过程614可以使庆祝的角色或对象优先于对抗的角色或对象。第三过程614基于最终排序选择对象集,其被插入到混合现实过程中。插入对象的行为及其最终退出混合现实过程可以为预定的,或者可以由“生命”模块616以情境响应方式管理,使用会话情境和真实情境描述528中的任何变化来确定对象特征的行为和其他短暂变化,包括何时以及如何从当前会话中移除混合现实对象。

本文描述的任何特征可以由用于响应于用户输入提供3d环境的应用来执行,该用户输入产生用于沉浸式vr头盔等的vr输出。图7为示出可以各种形状因子提供一种类型的沉浸式vr立体显示器设备700的示意图,其中设备700仅提供一个示例。创新的方法、装置和系统不必限于沉浸式vr显示器的特定形状因子,而是可用在视频输出设备中,该视频输出设备使用户能够控制在设备上播放的视频内容的位置或视点。同样,vr或ar输出设备可管理在设备上播放的音频内容的音频位置或视点。沉浸式vr立体显示器设备700表示为消费者使用而设计的相对低成本设备的示例。

沉浸式vr立体显示器设备700可包括由不透明的轻质结构材料(例如,刚性聚合物、铝或纸板)制成的平板支撑结构,该板支撑结构经配置用于支撑并允许包括高分辨率显示屏幕(例如lcd显示器)的便携式平板计算机或智能手机设备的可移除放置。这种模块化设计可避免对视频输出专用电子组件的需求,从而大大降低成本。设备700被设计成靠近用户的脸部佩戴,从而能够使用小屏幕尺寸实现宽视场,诸如当前手持平板计算机或智能手机设备中常见的小屏幕尺寸。支撑结构726可为相对于显示屏幕712保持的一对透镜722提供固定安装。透镜可被配置成使用户能够舒适地聚焦在可保持距用户眼睛大约一英寸至三英寸的显示屏幕712上。

设备700可进一步包括观察护罩(未示出),该观察护罩耦联到支撑结构726并且由柔软、柔性或其他合适的不透明材料构成,用于形成与用户面部的配合并阻挡外部光。护罩可配置成确保用户的唯一可见光源为显示屏幕712,增强使用设备700的沉浸式效果。屏幕分隔器可用于将屏幕712分离成独立驱动的立体区域,立体区域中的每个仅通过对应的透镜722中的一个可见。因此,沉浸式vr立体显示器设备700可用于提供立体显示输出,从而为用户提供更真实3d空间知觉。两个单独的显示器也可用于分别向用户的左眼和右眼提供独立的图像。应理解,本技术可用于但不必限于立体视频输出。

沉浸式vr立体显示器设备700可进一步包括用于定位在用户的鼻子上的桥(未示出),以便于透镜722相对于用户的眼睛的精确定位。设备700可进一步包括弹性带条或带724,或用于围绕用户头部装配并将设备700保持在用户头部的其他头饰。

沉浸式vr立体显示器设备700可包括与用户的头部730相关的显示和通信单元702(例如,平板计算机或智能手机)的附加电子组件。支撑结构726使用有弹性和/或可调节的约束设备724(例如可调节的头盔)保持显示和通信单元702,以提供舒适且牢固的贴合配合。当佩戴支撑件726时,用户通过一对透镜722观看显示器712。可由中央处理单元(cpu)703和/或图形处理单元(gpu)710经由内部总线717驱动显示器712。显示和通信单元702的组件可进一步包括例如一个或多个传送/接收组件718,使得能够经由无线耦合在cpu和外部服务器之间进行无线通信。传送/接收组件718可使用任何合适的高带宽无线技术或协议来操作,高带宽无线技术或协议包括例如蜂窝电话技术(诸如第三代合作伙伴计划(3gpp)长期演进(lte)、全球移动通信系统(gsm)或通用移动电信系统(umts))和/或无线局域网(wlan)技术(例如使用诸如电气和电子工程师协会(ieee)802.11的协议)。一个或多个传送/接收组件718可实现从本地或远程视频服务器向显示和通信单元702流式传输视频数据,以及将传感器和其他数据上行链路传输到本地或远程视频服务器以用于控制或观众响应技术,如本文所述。

显示和通信单元702的组件可进一步包括例如经由通信总线717耦合到cpu703的一个或多个传感器714。此类传感器可包括例如提供用于指示显示器和通信单元702的取向的取向数据的加速度计/倾角计阵列。当显示器和通信单元702固定到用户的头部730时,该数据也可被校准以指示头部730的取向。一个或多个传感器714可进一步包括例如指示用户地理位置的全球定位系统(gps)传感器。一个或多个传感器714可进一步包括例如定位成检测用户眼睛中的一只或多只的取向、或捕获用户的物理环境(用于vr混合现实)的视频图像、或者进行上述两者的摄像机或图像传感器。在一些实施例中,配置成检测用户的眼睛或眼睛运动的摄像机、图像传感器或其他传感器可安装在支撑结构726中,并且经由总线716和串行总线端口(未示出),例如通用串行总线(usb)或其他合适的通信端口耦合到cpu703。一个或多个传感器714可进一步包括例如位于支撑结构704中并且配置成向用户的眼睛指示表面轮廓的干涉仪。一个或多个传感器714可进一步包括例如用于检测口头用户命令或对显示输出的口头和非口头可听反应的麦克风、麦克风阵列,或其他音频输入变换器。一个或多个传感器可包括例如用于感测心率的电极或麦克风、经配置用于感测用户的皮肤或体温的温度传感器、耦合到分析模块以检测面部表情或瞳孔扩张的图像传感器、用于检测口头和非口头话语的麦克风,或用于收集生物反馈数据的其他生物测定传感器。

来自一个或多个传感器的传感器数据可由cpu本地处理以控制显示输出,和/或传输到服务器以供服务器实时处理,或者用于非实时处理。如本文所用,“实时”是指响应于控制显示器输出的用户输入的处理,而没有任何任意延迟;也就是说,一旦技术上可行,它就会做出反应。“非实时”是指批量处理或传感器数据的其他用途,其不用于提供用于控制显示器的立即控制输入,但是可在一些任意量的延迟之后控制显示器。

显示和通信单元702的组件可进一步包括例如音频输出变换器720,例如显示器和通信单元702中的扬声器或压电变换器,或者用于听筒或安装在头盔724等中的其他音频输出变换器的音频输出端口。音频输出设备可提供环绕声、多声道音频、所谓的“面向对象的音频”,或伴随立体沉浸式vr视频显示内容的其他音频轨道输出。显示和通信单元702的组件可进一步包括例如经由存储器总线耦合到cpu703的存储器设备708。存储器708可存储例如程序指令,该程序指令在由处理器执行时使得装置700执行如本文所述的操作。存储器708还可将数据(例如音频-视频数据)存储在库中或者在流式操作期间进行缓冲。关于vr环境的生成和使用的进一步细节可如2014年12月5日提交的美国临时专利申请62/088,496中所述,该申请通过引用整体并入本文。本文描述的方法和系统可以与任何合适的ar或vr设施一起使用,包括但不限于结合图7描述的设施的类型。

关于vr环境的产生和使用的进一步细节可以如2014年12月5日提交的序列号为62/088,496和2016年5月2日提交的62/330,708的美国临时专利申请中所描述,其全部内容通过引用并入本文。例如,2016年5月2日提交的序列号为62/330,708的临时专利申请(“’708申请”)描述基于任何给定场景的对象几何形状与戴着ar或vr设备的每个观察者相对于已知大小的显示屏的位置/取向之间的几何关系来调整ar或vr对象显示。除了其他事项之外,该申请描述取决于期望的效果,可以对渲染对象几何形状进行的调整,以实现ar或vr对象相对于显示屏幕上显示的非vr对象或环境的期望效果。

混合现实内容可以包括在屏幕上显示的内容。混合现实屏幕是部分虚拟的,但是被引用到环境中的真实对象。参考对象可以为例如建筑物的侧面,房间的墙壁,电视、平板电脑或移动电话的显示表面,或具有屏幕形状表面的任何其他对象。混合现实引擎可以使2d或立体3d内容“投影”在这样的表面上,使得需要语法来处理离屏虚拟对象如何与屏幕上对象的关联。

到屏幕用于混合现实会话的程度,通过如’708申请所教导的传递对象通过屏幕的实时计算几何形状匹配的技术和算法可以直接应用于混合现实内容的产生。这些计算可以由混合现实输出装置实时执行。一旦到输出装置的屏幕的位置并且屏幕大小被定义,所描述的几何关系、算法和方法可用于定义用于缩放、旋转和将离屏对象转换到实现’708申请中描述的客观或主观过渡语法所需位置的变换(例如,矩阵)。

’708申请中描述的算法和方法可以适于相对于出现在用户的物理环境中的任何选择的非屏幕参考对象类似地控制对象几何形状。例如,’708申请中描述的各种不同的“语法”可以通过并入任何显示屏幕或不并入任何显示屏幕,从具有显示屏幕的混合媒体内容归纳为混合现实内容。

在没有屏幕内容的混合现实的情境中,“语法”指的是支配经历pov到混合现实场景的观看者与正在混合的物理场景之间的交互的一组规则。这些规则可能因场景而异(或不同),并且这种变化本身可能是戏剧性的元素。不同的语法可被用于不同的娱乐目的和介质。例如,类似体验的完全交互式视频游戏使用与主要用于呈现戏剧性故事的较少交互式内容不同的语法。混合媒体内容的语法的一个方面涉及观看者与真实场景中的对象之间的关系。例如,当真实场景为小型化的物理模型时,根据期望的戏剧效果,可能需要小型化的虚拟对象;当真实场景为自然环境时,可能需要真人大小的虚拟对象,等等。这些示例说明混合媒体语法的功能之一可以是维持真实场景中的参考对象与仅在vr或ar中体验的相关对象之间的定义的几何关系。

不使用显示屏的混合现实应用在概念上比混合媒体更简单,因为场景中的真实参考对象通常不用于传达场景的图像或投影到该场景上的对象。因此,参考对象的相对大小不会从混合现实会话的切削而改变。此外,意味着通常不关心控制对象在屏幕和ar/vr实例化之间转换的转换语法。相反,在大多数混合现实内容中,语法将需要在真实参考对象和虚拟对象(例如,真人大小、微型、巨型、增长、缩小等等)之间保持期望的戏剧关系。因此,混合现实的应用过程往往需要获得相对于用户的用户物理环境的精确模型,并且然后根据需要相对于模型缩放、定位和移动虚拟对象,以使用如本文所述的系统和过程实现相对于当前的物理环境的期望戏剧效果。

图8示出了将虚拟内容与真实环境输入集成以提供混合现实体验的过程或系统800。过程800的任何一个或所有示出的元素可以由每个用户的沉浸式输出设备或者(除了渲染的沉浸式内容的输出以外)由影院服务器或网络单独执行。最初,在802处,从如上所述的内容选择引擎获得沉浸式数字混合现实主数据,并对其进行解码以获得每帧或每组帧的帧渲染参数。这样的参数可以包括:例如,出现在场景中的所选的库对象,待渲染的所有对象的位置和取向,用于渲染对象的相关对象纹理,照明参数和摄像头参数,其中每个对象与被指示为主观或客观的一组位置和取向坐标相关联。然后,可以根据需要针对每个帧或针对多个连续帧的集合调整标准帧渲染参数。

这些调整可以包括一组视点调整804、806。这些视点调整中的每个视点调整可以包括几何调整,如下文更详细描述。例如,在804处,将指示对象的客观坐标变换为适用渲染引擎用于渲染视点的坐标系。通常,变换804将对象的客观坐标变换为适用的渲染引擎用于渲染特定沉浸式输出装置的沉浸式输出所使用的坐标。适用的渲染引擎可以不同地定位在诸如沉浸式装置的随机存取存储器中、在用于沉浸式输出装置的本地辅助装置中、在连接的服务器或服务器群中或在云计算资源中。在任何情况下,坐标变换将基于渲染引擎使用的坐标以及建立用户与真实场景的客观坐标之间的几何关系的校准数据。可以将本领域已知的任何合适的变换方法用于坐标变换。

调整可以进一步包括,在806处,将指示对象的主观坐标变换为适用渲染引擎渲染视点所使用的坐标系。在普通情况下,不需要变换,因为共同的主观值将适用于每个渲染引擎,并且对于每个用户都是相同的。然而,在某些情况下,可能需要某些变换以将主观坐标置于适当的渲染条件下,例如转换为不同类型的坐标系以促进特定渲染引擎或添加固定偏移值,以考虑参与多人游戏会话的用户之间的物理差异。

在交互对象的情况下,调整还可以包括在808处基于用户输入调整渲染对象的位置或取向。所选对象的外观、位置或取向可取决于用户输入。用户输入的影响可以限于指定的对象和变化范围,以防止破坏叙述表演的流并使同期的观众成员保持同步。

所述调整还可以包括在810处调整场景照明参数。在一个方面,场景灯的位置和取向可以被指定为客观的或主观的,并且根据需要像关于位置和取向协调的任何其他屏幕外对象一样进行变换。此外,还可以调整其他照明参数,诸如强度或颜色,使得渲染的场景元素的亮度和颜色与剧院显示屏幕上的输出的亮度和颜色相匹配。

所述调整还可以包括:在812处,调整对象纹理,例如,基于渲染视点与每个渲染对象之间的距离或等效度量来应用自动细节水平。自动细节水平为更远的对象提供不太详细的纹理贴图,以提高渲染性能。类似地,自动细节水平调整可用于基于距视点的距离为屏幕外对象选择网格密度,从而再次用于渲染效率。

所述调整可以进一步包括,在814处,基于沉浸式输入调整除位置和取向之外的摄像头参数,诸如焦点、视场和光圈。因此,沉浸式渲染引擎可以允许用户利用适当的摄像头调整来“放大”或“缩小”场景。一旦进行了调整,渲染引擎可以在816处渲染场景,并且可以在块818处使用沉浸式输出装置显示所渲染的数据。

鉴于前述内容,并且作为另外的示例,图9-图12示出了用于混合现实输出过程中的虚拟内容选择的方法900或方法的各方面。方法900可以由包括可编程计算机的ar输出装置、由包括可编程计算机的vr输出装置、由与ar输出装置或vr输出装置通信的一个或多个计算机或由ar或vr输出装置和与输出装置通信的一个或多个计算机的组合来执行。

参考图9,用于混合现实输出过程中的虚拟内容选择的计算机实现的方法可以包括:在910处,对包围佩戴混合现实输出装置(例如,ar或vr头盔)的用户的真实场景进行成像。以下结合图10描述成像的其他方面,并且以上结合图5提供了一些示例。在混合现实设备中执行的混合现实会话之前实时、同时或紧接地执行成像。

方法900可以包括:在920处,基于所述成像确定描述真实场景的真实情境的情境参数数据。结合图11描述了情境确定的进一步示例,并且在以上例如结合图5的讨论中提供了示例。

方法900可以包括:在930处,基于描述真实情境的数据(情境参数)从内容库中选择内容集,其中,情境参数使得能够在混合现实会话中由混合现实输出装置渲染虚拟对象。情境参数被提供给混合现实会话,其基于所选参数渲染所述虚拟对象,并在混合现实输出装置的显示器中输出虚拟对象的渲染。因此,方法900可以包括:在940处,可选地基于情境参数,由混合现实输出装置在混合现实会话中渲染虚拟对象。

按照任何可操作的顺序,方法900可以包括图10-图12中所示的附加操作1000、1100或1200中的任何一个操作或多个操作。这些附加操作中的每个操作不必在该方法的每个实施例中执行,并且操作1000、1100或1200中的任何一个操作的存在不必要求也要执行这些附加操作中的任何其他操作。

参考图10,其示出了用于对场景成像的某些附加操作1000,方法900还可以包括:在1010处,至少部分地通过激活耦合到混合现实输出设备的摄像头来对真实场景成像,并且从摄像头接收真实场景的图像。摄像头可以为在阵列中的一对摄像头中的一个或在阵列中的几个摄像头中的一个。混合现实设备可以基于摄影测量分析来自阵列的图像,并且基于来自阵列的图像数据的摄影测量分析来构建成像场景的3d模型。可以定期收集和分析图像,例如,每秒一次。

另外,方法900可以包括:在1020处,至少部分地通过激活耦合到混合现实输出设备的深度传感器来对真实场景进行成像。深度传感器可以包括例如具有发射器和接收器的声纳装置。可以通过混合现实设备分析已知脉冲的反射,从而获得至对象表面的估计距离和估计的对象的固性。

另外,方法900可以包括:在1030处,至少部分地通过激活耦合到混合现实输出设备的麦克风来对真实场景进行成像。可以分析来自麦克风的编码声学信号以确定环境的声学条件。例如,交通噪声可被用作用户在繁华街道附近的指示等。

另外,方法900可以包括:在1040处,至少部分地通过激活耦合到混合现实输出设备的无线电接收器来对真实场景进行成像。可以调谐无线电接收器以从放置在场景对象中的rfid标签接收对象标识符,或者从位置发射器接收广播,该位置发射器传送描述本地场景的元素的编码数据。

另外,方法900可以包括:在1050处,至少部分地通过激活耦合到混合现实输出设备的三角测量定位器件来对真实场景进行成像。例如,混合现实设备可以包括gps接收器,其确定该设备的位置坐标。

参考示出某些附加操作1100的图11,方法900还可以包括:在1110处,基于成像,至少部分地通过表征真实场景的体积几何形状来确定描述真实情境的数据。表征体积几何形状的各方面可以如以上结合图5所述。体积几何形状标识具有基本特征诸如固体、液体、空气或其混合物的真实环境中的体积。

另外,方法900还可以包括:在1120处,基于成像,至少部分地通过表征真实场景的条件来确定描述真实情境的数据。例如,基于图像信息,混合现实设备可以确定用于渲染待插入到场景中的虚拟对象的虚拟光的类型、强度和颜色。另外,设备可以确定与虚拟对象的特征相关的当前天气条件或真实环境的其他条件。例如,如果在真实环境中感测到强风,则混合现实设备可以使用风模拟动画循环来渲染风的效果。

另外,方法900还可以包括:在1130处,基于根据所述成像确定的特征体积几何形状,至少部分地通过确定对象类型来确定描述真实情境的数据。结合图5提供了示例。一组几何对象可以由定义类型的对象参数的范围界定。混合现实设备可以选择与对象的感测参数集最匹配的对象类型。可以使用任何其他合适的对象识别算法。

另外,方法900还可以包括:在1140处,基于所述成像,至少部分地通过确定场景的身份或场景中的对象的身份来确定描述真实情境的数据。例如,可以通过读取与感测到的对象相关联的识别标签,或者通过将位置坐标与所定位的对象的数据库(例如,地图)进行比较来确定身份。

方法900还可以包括用于确定描述真实情境的数据的其他技术。例如,可以至少部分地通过使用基于2d图像输入的自动对象或场景识别算法分析真实场景的图像来确定描述真实情境的数据。替换地或另外地,描述真实情境的数据可以至少部分地通过使用立体测量法分析真实场景的图像来确定,以确定用户的真实环境或环境中的对象的3d几何形状,并使用3d几何形状来标识对象、环境类型或位置。

参考图12,其示出了用于选择待插入到混合现实会话中的内容的某些附加操作1200,方法900还可以包括:在1210处,进一步基于启发式反馈选择表征待插入到混合现实过程中的虚拟对象的内容集(参数集)。结合以上图6提供了一些示例。启发式反馈可以包括例如关于在混合现实会话中或在相关会话中渲染的过去对象的暗示或表达的用户偏好信息。记录任何过去的混合现实会话事件的数据可以被收集并且将其应用为启发式反馈,这些过去的混合现实会话事件可被用于通知未来内容选择。

另外,方法900还可以包括:在1220处,进一步基于混合现实会话的会话情境,选择表征待插入到混合现实过程中的虚拟对象的内容集。会话情境表示混合现实会话的当前叙述或游戏状态。同样可以基于游戏或叙述混合现实会话的预期效果或叙述目的来选择虚拟对象的特征。

另外,方法900还可以包括:在1230处,基于描述真实情境和会话情境的数据,更新表征已插入到混合现实过程中的虚拟对象的内容集。随着真实环境和会话情境的发展,虚拟对象的参数可能会相应地发展,直到行为参数完全从会话中删除虚拟对象。在此之前,虚拟对象可以以各种方式移动并对环境因素和用户输入作出反应。

图13为示出如本文所述用于在混合现实输出过程中进行虚拟内容选择的设备或系统1300的部件的概念框图。设备或系统1300可以包括用于执行如本文所述的功能或过程操作的附加或更详细的部件。例如,处理器1310和存储器1316可以包含如上所述的用于场景和对象表征(真实情境确定)的过程的实例化。如图所示,设备或系统1300可以包括可以表示由处理器、软件或其组合(例如,固件)实现的功能的功能块。

如图13所示,设备或系统1300可以包括电子部件1302,其用于对包围佩戴混合现实输出设备的用户的真实场景进行成像。部件1302可以为或可以包括用于所述成像的装置。所述装置可以包括处理器1310,处理器1310耦合到存储器1316并且耦合到传感器阵列(未示出)的输出,处理器基于存储在存储器中的程序指令执行算法。这种算法可以包括一系列更详细的操作,例如,如结合图10所描述。

设备1300还可以包括电子部件1303,其用于基于所述成像确定描述真实场景的真实情境的数据。部件1303可以为或可以包括用于所述确定的装置。所述装置可以包括耦合到存储器1316的处理器1310,处理器基于存储在存储器中的程序指令执行算法。这种算法可以包括一系列更详细的操作,例如,如结合图5或图11所描述。

设备1300还可以包括用于基于描述真实情境的数据从内容库中选择内容集的电子部件1304。部件1304可以为或可以包括用于所述选择的装置。所述装置可以包括处理器1310,处理器1310耦合到存储器1316并且耦合到传感器(未示出),处理器基于存储在存储器中的程序指令执行算法。这种算法可以包括一系列更详细的操作,例如,如结合图6或图12所描述。

设备1300还可以包括电子部件1305,其用于通过混合现实输出设备可选地基于情境参数在混合现实会话中渲染虚拟对象。部件1305可以为或可以包括用于所述渲染的装置。所述装置可以包括耦合到存储器1316的处理器1310,所述处理器基于存储在存储器中的程序指令执行算法。这种算法可以包括一系列更详细的操作,例如,选择渲染引擎,向渲染引擎提供对象参数,执行渲染引擎以产生图像,以及发送图像以用于在所述混合现实设备的输出部件上显示。

设备1300可以可选地包括具有至少一个处理器的处理器模块1310。处理器1310可以通过总线1313或类似的通信耦合与模块1302-1305进行操作性通信。在替代方案中,可以将一个或多个模块实例化为处理器的存储器中的功能模块。处理器1310可以达到由电子部件1302-1305执行的过程或功能的启动和调度的作用。

在相关方面,代替收发器1312或除了收发器1312之外,设备1300可以包括网络接口模块(未示出),其可操作用于通过计算机网络与系统部件通信。网络接口模块可以为或可以包括例如以太网端口或串行端口(例如,通用串行总线(usb)端口)。在进一步的相关方面,设备1300可以可选地包括用于存储信息的模块,诸如例如存储器装置1316。计算机可读介质或存储器模块1316可以通过总线1313等可操作地耦合到设备1300的其他部件。存储器模块1316可以适于存储计算机可读指令和数据,用于达到模块1302-1305及其子部件、或处理器1310或方法1200以及本文公开的一个或多个附加操作1000-1200的过程和行为的作用。存储器模块1316可以保留用于执行与模块1302-1305相关联的功能的指令。虽然被示为在存储器1316外部,但是应当理解,模块1302-1305可以存在于存储器1316内或处理器1310的片上存储器中。

设备1300可以包括被配置为无线发射器/接收器或有线发射器/接收器的收发器1312,其用于向/从另一系统部件(诸如例如,rfid标签或位置信息发射器)传送和接收通信信号。在替代实施例中,处理器1310可以包括来自在计算机网络上操作的装置的联网微处理器。另外,设备1300可以包括用于显示沉浸式内容的立体显示器或其他沉浸式显示装置1314。立体显示装置1314可以为或可以包括如上文所述或者如本领域中以其他方式已知的任何合适的立体ar或vr输出装置。

所属领域的技术人员将进一步了解,结合本文中所公开的各方面而描述的各种说明性逻辑块、模块、电路和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,上面已经在功能方面对各种说明性的部件、块、模块、电路和步骤进行了总体描述。将此类功能实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。技术人员可以针对每个特定应用以不同方式实现所描述的功能,但是这种实现决策不应被解释为导致偏离本公开的范围。

如在本申请中所使用的,术语“部件”、“模块”、“系统”等旨在指代与计算机相关的实体、硬件、硬件和软件的组合、软件或执行中的软件。例如,部件或模块可以为但不限于为在处理器上运行的进程、处理器、对象、可执行文件、执行的线程、程序和/或计算机。举例来说,在服务器上运行的应用和服务器都可以为部件或模块。一个或多个部件或模块可以驻留在进程和/或执行的线程内,并且部件或模块可以位于一个计算机上和/或分布在两个或更多个计算机之间。

将根据可包括多个部件、模块等的系统来展示各个方面。应理解和认识到,各种系统可包括附加部件、模块等,和/或可不包括结合附图所讨论的所有部件、模块等。也可以使用这些方法的组合。本文公开的各个方面可以在电子装置上执行,电子装置包括利用触摸屏显示技术、抬头用户界面、可穿戴界面和/或鼠标和键盘类型界面的装置。这种装置的示例包括vr输出装置(例如,vr头盔)、ar输出装置(例如,ar头盔)、计算机(台式机和移动设备)、智能电话、个人数字助理(pda)以及其他有线和无线电子装置。

另外,结合本文公开的各方面描述的各种说明性逻辑块、模块和电路可以用通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或被设计用于执行本文所述功能的其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或其任何组合来实现或执行。通用处理器可以为微处理器,但是另选地,处理器可以为任何传统的处理器、控制器、微控制器或状态机。处理器还可以实现为计算装置的组合,例如dsp和微处理器的组合,多个微处理器,一个或多个微处理器结合dsp内核,或任何其他这样的配置。

本文公开的操作方面可以直接在硬件中、由处理器执行的软件模块中或者两者的组合中实施。软件模块可以驻留在ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移除磁盘、cd-rom、数字通用盘(dvd)、blu-raytm或本领域已知的任何其他形式的存储介质中。示例性存储介质耦合到处理器,使得处理器可以从存储介质读取信息和向存储介质写入信息。在替代方案中,存储介质可以为处理器的组成部分。处理器和存储介质可以驻留在asic中。asic可以驻留在客户端装置或服务器中。在替代方案中,处理器和存储介质可以作为分立部件驻留在客户端装置或服务器中。

此外,一个或多个版本可以使用标准编程和/或工程技术实现为方法、设备或制品,以产生软件、固件、硬件或其任何组合,以控制计算机以实现所公开的各方面。非暂时性计算机可读介质可包括但不限于磁性存储装置(例如,硬盘、软盘、磁条或其他格式)、光盘(例如,压缩盘(cd)、dvd、blu-raytm)或其他格式)、智能卡和闪存装置(例如,卡、棒或其他格式)。当然,本领域技术人员将认识到,在不偏离所公开各方面的范围的情况下,可以对该配置进行许多修改。

提供先前对所公开的各方面的描述是为了使本领域的技术人员能够制作或使用本公开。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且在不脱离本公开的精神或范围的情况下,本文中定义的一般原理可以应用于其他实施例。因此,本公开不旨在限于本文所示的实施例,而是与符合本文公开的原理和新颖特征的最宽范围相一致。

鉴于上文描述的示例性系统,已经参考若干流程图描述了可以根据所公开的主题实现的方法。虽然为了简化说明的目的,将所述方法示出并描述为一系列块,但应理解和了解,所要求保护的主题不受所述块的顺序限制,因为一些块可以以不同的顺序出现和/或与本文描绘和描述的其他块同时出现。此外,可能不需要所有示出的块来实现本文描述的方法。另外,应进一步了解,本文所公开的方法能够存储在制品上以促进将此类方法传输和转移到计算机。

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