增强现实的制作方法

文档序号:26586632发布日期:2021-09-10 19:27阅读:156来源:国知局
增强现实的制作方法
增强现实
1.本技术是申请日为2016年8月19日、申请号为201680048059.5的发明专利申请“增强现实”的分案申请。


背景技术:

2.显示系统可以用于制造对用户可见的期望的图像。可穿戴显示系统可以在可穿戴头戴设备中被实施,其可以被设置为显示距人眼较短距离内的图像。这样的可穿戴头戴设备有时可以被称为头戴式显示器。光学组件被设置在可穿戴头梁中以便显示用户眼睛的几厘米内的期望的图像。
3.一些类型的显示系统通过该光学器件提供视野以使得所生成的被显示给用户的图像覆盖在真实世界视野上。这被称为增强现实(“ar”),或者等同地被称为混合现实。一个示例是microsoft hololens设备。
4.同可穿戴显示系统一样,增强现实设备可以包含其他组件,例如处理单元、提供网络连通性的计算机接口、以及相机等。这些组件可以被封装在头梁中,例如在hololens中,或者在通过无线或有线装置连接至头梁的分开的外壳中。


技术实现要素:

5.提供了该发明内容以用简化的形式引入在下文的具体实施方式中进一步描述的概念的选择。该发明内容不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在用于限制所要求保护的主题的范围。
6.在一个方面中,增强现实系统包括计算机接口、全局模型生成模块、以及增强共享模块。
7.计算机接口被配置为接收真实世界环境的一部分的多个本地3d模型,其中每个本地3d模型是由不同的增强现实设备当位于真实世界环境中时已经生成的。全局模型生成模块被配置为组合所述本地3d模型以生成全局3d模型,并且将所述全局3d模型的至少一部分发送至远离真实世界环境的设备。与所述本地3d模型中的任何本地3d模型相比,该全局3d模型单独地表示所述真实环境的更大部分。这允许远程设备远程地探索和增强真实世界环境的虚拟版本。增强共享模块被配置为从远程设备接收渲染数据,并且当增强现实设备位于真实世界环境中时将其发送至该增强现实设备。所述渲染数据用于在真实世界环境中的增强现实设备处渲染虚拟对象时使用。
8.在另一方面中,所述渲染数据可以经由网络从远程设备直接被发送至ar设备(即,不经由增强现实系统)。
附图说明
9.为了更好地理解主题并且示出如何来实现主题的实施例,对以下附图进行参考,其中:
10.图1a示出了增强现实设备的透视视图,而图1b示出了所述设备的框图;
11.图2示出了增强现实设备的功能模块;
12.图3示出了通信系统;
13.图4示出了在用户与另一用户之间实现基于ar的通信的方法;
14.图5示出了根据本主题的在用户与另一用户之间实现基于ar的通信的改进的方法;
15.图6示出了其中可以应用主题的示例性环境。
具体实施方式
16.图1a示出了从设备2的穿戴者22(“ar用户”)的视角的可穿戴增强现实(“ar”)设备2的透视视图。图1b示出了ar设备2的示意框图。ar设备2是以可穿戴头戴设备为形式的计算机设备。ar用户22没有在图1a或图1b中示出,但是在之后的图中的一些图中示出。
17.增强现实设备2包括头梁6,其是被设置为穿戴在穿戴者头上的头带。头梁6具有目的是适配在穿戴者的鼻梁上方的中央部分4,并且具有目的是在穿戴者的耳朵上方环绕其头部的内弯。
18.头梁3支持被标为10l和10r的左光学组件和右光学组件,它们是波导。为了方便在本文中引用,光学组件10将被认为是左组件或右组件之一,这是因为所述组件除了是彼此的镜像图之外是本质上相同的。因此,适用于左手的组件的所有描述也适用于右手的组件。中央部分4容纳至少一个光引擎17,其没有在图1a中示出但在图1b中被描绘。
19.光引擎17包括微显示器和以准直透镜(未示出)为形式的成像光学器件。微显示器可以是任何类型的图像源,例如硅基液晶(lcos)显示器、透射式液晶显示器(lcd)、led的矩阵阵列(无论是有机的还是无机的)、以及任何其他合适的显示器。所述显示器是由在图1a和图1b中不可见的电路驱动的,所述电路激活显示器的个体像素以生成图像。来自每个像素的大体上准直的光落在光引擎4的出射光瞳上。在出射光瞳处,准直的光束被耦合到每个光学组件10l、10r中,进而耦合到在每个组件上提供的相应的耦合中区域12l、12r中。在图1a中清楚地示出了这些耦合中区域。耦合中的光接着通过涉及衍射和tir的机制、从相应的中间(折叠)区域14l和14r中的光学组件侧面被引导,并且也向下被引导到其离开组件10去往用户的眼睛的相应的出口区域16l和16r中。光学组件10位于光引擎13和眼睛之间,即显示系统配置具有所谓的透射类型。
20.准直镜头将图像校准成多个光束,其形成所显示的图像的虚拟版本,所述虚拟版本是光学传感的无限远处的虚拟图像。光作为多个光束而离开,其对应于输入光束并且大体上形成相同的虚拟图像,眼睛的镜头将所述虚拟图像投影到视网膜上以形成对ar用户22可见的真实图像。以该方式,光学组件10将所显示的图像投影到穿戴者的眼睛上。光学组件10l、10r和光引擎17构成ar设备2的显示装置。
21.区域12、14、16可以是例如适当地设置的衍射光栅或全息图。光学组件10具有折射率n,其使得发生全内反射以将来自光引擎的光束沿着中间扩展区域314并且向下朝向出口区域316引导。
22.光学组件10是大体上透明的,由此穿戴者可以看穿它以观看他们与所投影的图像同时所处的真实世界环境,由此提供增强现实体验。
23.为了提供立体图像(即,被用户感知为具有3d结构的图像),可以使用合适的光学
器件将稍微不同版本的2d图像例如从中央部分4中的不同的光引擎17(即,两个微显示器)或者从同一光引擎(即,一个微显示器)投影到每个眼睛上,从而将来自单个显示器的光输出分开。
24.在图1a中所示出的可穿戴ar设备2仅仅是一个示例配置。例如,在使用两个光引擎的情况下,它们可以替代地位于设备的右边和左边的分开的位置处(靠近穿戴者的双耳)。此外,尽管在该示例中,形成虚拟图像的输入光束是通过校准来自显示器的光而生成的,但基于所谓的扫描的可替代的光引擎可以用单个光束来复制该效果,其朝向被快速调节而同时调节其强度和/或颜色。可以以等同于将通过利用准直光学器件校准显示器上的(真实)图像的光所创建的虚拟图像的该方式来模拟虚拟图像。可替代地,可以通过将大体上透明的像素嵌入穿戴者眼前的玻璃或聚合物板中来提供类似的ar体验,其与光学组件10a、10l具有类似的配置,但不需要区域结构12、14、16。
25.其他头梁6也在本主题的范围内。例如,显示光学器件可以使用框架(以传统眼睛的方式)、头盔、或其他适配系统而等同地被附接至用户的头部。所述适配系统可以被设计为在人体测量范围和头部形态上满足用户群体,并且提供对显示系统的舒服的支持。
26.ar设备2还包括一个或多个相机19——固定在头梁3上并且在该示例中被配置为分别从用户的左眼和右眼捕获近似的视野(“视场”)的立体相机10l、10r。所述相机被放置在头梁3上朝向用户的头部的任一侧,并且因此从稍微不同的视角来捕获设备前方的场景的图像。相结合地,立体相机随着设备移动通过真实世界环境而捕获真实世界环境的立体运动图像。立体运动图像意指示出同一场景的稍微不同的视角的两幅运动图像,每个由要紧接地播出以复制运动的时间序列的帧形成。当被组合时,两幅图像给出了运动的3d结构的印象。
27.如在图1b中所示出的,ar设备2还包括:一个或多个扬声器11;一个或多个麦克风13;存储器5;以一个或多个处理单元3(例如,cpu、gpu、和/或针对诸如ar相关功能之类的特定功能而优化的定制处理单元)为形式的处理装置;以及用于与其他计算机设备进行通信的一个或多个计算机接口,例如wifi接口7a、蓝牙接口7b等。可穿戴设备3可以包括没有示出的其他组件,例如专用深度传感器、额外的接口等。
28.如在图1a中所示出的,左麦克风11l和右麦克风13r位于头梁的前部(从穿戴者的视角而言),而左声道和右声道扬声器、耳机、或其他音频输出换能器位于头带3的左边和右边。这些是以一副骨传导音频换能器11l、11r为形式的,它们充当左和右音频声道输出扬声器。
29.尽管在图1a中不明显,处理装置3、存储器5、和接口7a、7b被封装在头戴3中。可替代地,这些可以被封装在通过有线和/或无线装置而连接至头带3的组件分开的外壳中。例如,所述分开的外壳可以被设计为被穿戴或者是皮带,或者适配在穿戴者的口袋中,或者这些组件中的一个或多个组件可以被封装在分开的计算机设备(例如,智能电话、平板计算机、膝上型或台式计算机等)中,所述分开的计算机设备无线地与ar无线耳机2中的显示器和相机装置进行通信,由此所述无线耳机和分开的设备构成增强现实装置。
30.存储器保存处理器装置3被配置为执行的可执行代码9。在一些情况下,代码9的不同的部分可以由处理装置3的不同的处理单元来执行。代码9包括操作系统的代码,以及被配置为在操作系统上运行的一个或多个应用的代码。
31.图2示出了ar设备2的功能框图。示出了ar系统40,其包括以下功能模块:渲染模块42、本地增强模块44、本地建模模块46、模型增强模块48、设备追踪模块50、编码器52、以及解码器54。这些功能模块中的每个功能模块可以在软件中实现,即它们可以是代码9的代码模块、ar设备2的专用硬件、或者软件和专用硬件两者的组合。
32.渲染模块42控制光引擎17以生成对穿戴者可见的立体图像,即大体上同时地生成由光学组件10l、10r投影到不同的眼睛上的稍微不同的2d图像,以便创建3d结构的印象。
33.立体图像是由在至少一个虚拟显示元素(“增强”)处进行渲染的渲染模块42形成的,所述虚拟显示元素被感知为3d元素,即具有在3d空间中的真实世界为之处被ar用户感知的3d结构。
34.所述增强是由以存储在存储器5中的增强数据对象为形式的渲染数据定义的。所述数据对象包括:定义虚拟元素在3d空间中的期望位置的位置数据(例如,作为(x,y,z)笛卡尔坐标);定义虚拟元素的3d表面结构的结构数据,即虚拟元素的3d模型;以及定义要应用至由3d模型所定义的表面的虚拟元素的2d表面纹理的图像数据。数据对象可以包括额外的信息,例如增强的期望朝向。
35.所感知的3d效果是通过对增强数据对象的适当渲染来实现的。为了给出具有3d结构的增强的印象,立体图像是基于数据对象中的2d表面和3d增强模型数据而生成的,其中增强被渲染以在立体图像中的期望的位置处出现。
36.ar设备2附近的真实世界的部分的3d模型用于以其将是真实世界对象的方式来给出对增强具有期望的有形效果的真实世界的印象。3d模型表示在真实世界中存在的表面结构,并且其提供的关于该表面结构的信息允许增强被显示为好像其是真实世界3d对象,由此提供沉浸式增强现实体验。3d模型是以3d网格为形式的。
37.例如,基于真实世界的模型,可以给出关于被真实世界对象遮蔽的增强(其从用户的视角来看在其所感知的位置前面)的印象;例如通过在对象周围移动来动态地与真实世界对象交互;例如通过坐在真实世界对象的顶部等而静态地与其交互。
38.无论真实世界表面结构是否影响,增强都可以基于合适的渲染标准来确定。例如,通过创建包括真实世界表面结构和任何增强的所感知的ar世界的3d模型,并且沿着使用姿势追踪(见下文)所确定的ar用户的视线将其投影到平面上,用于确定真实世界对象是否应该被感知为部分地遮蔽增强的合适标准是真实世界对象在平面中的投影是否与增强的投影重叠,这可以进一步被细化以考虑到透明的或不透明的真实世界结构。通常而言,所述标准可以取决于增强现实设备2的位置和/或朝向,和/或讨论中的真实世界结构。
39.增强也可以被映射至网格,这是就其期望的位置和/或朝向是相对于网格中的某些结构来定义的意义而言的。假如结构移动和/或旋转以引起网格中的对应改变,则当被适当地渲染时,这将引起增强的位置和/或朝向的对应改变。例如,增强的期望的位置可以在桌面结构上并且相对于桌面结构而定义;如果桌子被移动,则增强随其移动。对象识别可以用于该目的,例如用于识别已知形状的桌子并且由此使用其可识别的结构来检测桌子何时被移动。这样的对象识别技术是本领域中已知的。
40.以该方式被映射至网格或者以其他方式与在3d模型中实施的表面结构的片段相关联的增强被称为对该表面结构的片段的“注释”。为了注释真实世界表面结构的片段,有必要使得该表面结构由讨论中的3d模型来表示——没有这个,真实世界结构不能被注释。
41.本地建模模块46使用ar设备的所有者传感器(例如,相机18)和/或任何专用深度传感器等在存储器5中生成环境的本地3d模型“lm”。本地建模模块46和传感器构成ar设备2的传感装置。
42.出于在下文中详细解释的原因,同一环境的外部生成的3d模型“gm”(“全局网格”)是从网络26接收的。
43.模型聚合模块选择性地使用本地模块lm的数据和外部生成的模型gm的数据来生成聚合3d模型“am”以由渲染组件42在渲染增强时使用。即增强是至少基于本地网格数据lm和全局网格数据gm来渲染的。
44.设备追踪模块50使用在ar设备2处所捕获的本地传感器数据来追踪ar设备2的位置和朝向。所述传感器数据可以以多种方式来捕获,例如使用相机18和/或ar设备2的其他传感器。追踪模块例如通过输出计算ar设备的当前“姿势向量”来向渲染模块42指示ar设备2的当前位置和朝向。所述姿势向量是六维向量,例如(x,y,z,p,r,y),其中(x,y,z)是设备关于合适的原点的笛卡尔坐标,而(p,r,y)是设备关于合适的参考轴的俯仰角、偏航角、和翻滚角。
45.渲染模块42基于所述追踪来调整增强以考虑到设备的移动,即以保持对占据真实世界的3d元素的感知,例如从而确保静态增强看起来保持静态(这实际上将通过从ar用户的角度在环境相对于它们移动时缩放或旋转它们来实现)。
46.简要地返回图1,代码9包括用于实现通信系统20中经由通信网络26的通信事件的通信客户端36(见图3)。当在ar设备2上执行时,通信客户端36使得ar设备2能够经营网络26建立与通信系统20的另外的用户(其操作运行他们自己版本的通信客户端软件的他们自己的设备)的实时视频通信事件,例如实时视频通话、即时消息传送会话、屏幕共享或白板会话等。
47.图3示出了另一用户30,其从ar用户22的角度是远端用户。远端用户30在操作用户设备(“伙伴设备”)32,其被示出为连接至网络26并且要执行其自己版本的客户端软件37(“伙伴客户端”)。伙伴设备32可以例如是智能电话、平板计算机、膝上型或台式计算机设备、智能电视或机顶盒、游戏控制器等。
48.通话音频和视频数据在建立的通信事件期间通过网络26来发送和接收。通信就在近端设备处所捕获的音频/视频与由远端设备所输出的音频/视频之间仅仅存在短的延迟(例如,大约2秒或更短)的意义上而言是“实时的”。客户端可以例如是在相关设备的处理器上执行并且在操作系统上运行的独立软件应用,或者是在处理器上执行的另一应用(例如,网络浏览器)的插件。
49.通信系统可以是基于互联网协议语音或视频(voip)系统的。这些系统对用户有益,这是因为它们常常比传统固定线路或移动蜂窝网络具有显著较低的成本,特别是针对长距离通信。客户端软件36、37建立voip连接并且基于例如登录凭证(例如,用户名和相关联的密码)来提供其他功能,例如注册和用户认证。
50.返回图2,图3的编码器和解码器模块53、54表示通过在处理装置3上执行ar客户端36来实现的功能。编码器模块52从相机18接收图像数据,从麦克风13接收音频数据,并且将这些数据作为对外数据流55经由网络26发送至远端伙伴设备32。解码器54从远端设备32接收到来的数据流53,并且从中提取远端用户的通话音频和视频数据。
51.ar客户端36和伙伴客户端37能够将ar元素包含到实时通信事件中。
52.在视频通话或其他基于视频的通信事件中,ar客户端36将通信事件的视频元素显示为3d增强。例如,3d增强可以被渲染为对ar设备2的ar用户可见,其包含远端用户的通话视频,或者关于当前在他们的屏幕或共享的白板上显示的内容的图像。例如,该元素可以被渲染以使得其被感知为被投影在真实世界表面(例如,桌子或墙)上;或者其可以在ar用户可以走向、从其走开、或者在周围走动的位置处被渲染为明显独立的元素。解码器54从视频数据(其是从到来的数据流提取的)生成一个或多个通话增强数据对象“ca”,解码器54将其提供至渲染模块42。通话对象ca的2d表面数据包括视频数据的至少一部分,其使得当由渲染模块42渲染时,视频数据被显示为通话对象ca的表面纹理。
53.远端用户也可以通过经由伙伴客户端37的用户接口在伙伴设备32处创建合适的增强数据对象“ra”来经由伙伴设备32的用户接口添加他们自己的增强,例如注释。数据对象ra在到来的视频流53中被发送至ar设备2。解码器54提取远程生成的增强数据对象ra,并且将其提供至渲染模块42以用相同的方式进行渲染。
54.为了能够以该方式添加注释,伙伴设备32还需要访问被注释的环境的部分的表面结构。解码器54因此在对外的流55中包括一个版本的本地网格lm。
55.ar用户还可以经由ar设备2的用户接口来创建他们自己的增强。ar设备的用户接口例如可以包括“自然”用户接口(nui)。nui使得用户能够以自然的方式与设备进行交互,而不受由诸如鼠标、键盘、遥控器等之类的输入设备所施加的人工约束。nui方法的示例包括利用以下技术的那些方法:触摸感应显示器、语音和话音识别、意图和目标理解、使用深度相机(例如,立体或飞行时间相机系统、红外相机系统、rgb相机系统及其组合)的运动姿势检测、使用加速度计/陀螺仪的运动姿势检测、面部识别、3d显示、头部、眼睛和目光追踪等。
56.响应于用户输入,本地增强模块44根据用户输入来创建本地增强数据对象“la”。该数据对象la被提供至渲染模块42以用于以与通话和远程数据对象ca、ra相同的方式进行渲染。本地增强对象还被提供至解码器52,解码器52将其包括在对外的数据流中。
57.在传统视频通话中,每个设备将正常地捕获其相应用户的视频并且将其发送给其他通话参与者。然而,在这里,ar客户端36替代地捕获如使用头带3上的相机18l、18r所捕获的当前对ar用户可见的真实世界视野的运动图像,并且将所述运动图像作为视频信号经由网络26发送至伙伴设备32。伙伴客户端37接收视频信号并且将其显示在伙伴设备32的显示器上。伙伴客户端37还以以下方式来渲染由远端用户30所创建的当前由ar用户所感知的任何增强:它们当前被感知,并且将它们显示在重叠在真实世界图像上的显示器34上以便提供对ar用户的ar“世界”完整表示。
58.在对外的数据流中被发送至伙伴设备32的本地数据对象ar是由伙伴设备渲染的,并且重叠在显示器34上的真实世界图像上。如由追踪模块50所生成的设备的姿势向量还在对外的流中被传送至伙伴设备32,以由伙伴设备在显示ar用户的世界时使用。
59.与实时通信事件功能一样,客户端36、37还指示基于ar的非同步通信,其中伙伴设备用户30可以“离线地”查看ar用户的世界的表示(即当ar用户不位于环境中时),并且使用环境的3d模型来添加注释,其在他们选择的一段时间之后经由他们的头戴设备2对ar用户可见。远端用户的注释数据对象被上传至后端计算机系统28,并且可以当ar设备之后在环
境中被激活时由ar设备2下载。
60.返回图3,后端计算机系统(“增强现实系统”)28被示出为连接至网络26,并且由一个或多个服务器形成。后端计算机系统28在该示例中是云系统,即在基于硬件虚拟化的云计算平台上实现。
61.也连接至网络26的是在上文中所描述的类型的多个ar设备2a、2b。每个是由与另一个位于相同的真实世界环境21中的相应的ar用户22a、22b穿戴的。本主题在相对大量的用户22a、22b所占据的大环境21的上下文中随着时间(在同一时间或不同时间处)是特别地而不是排他地有用的,所述环境例如橄榄球馆(并且用户22a、22b可以正在观看橄榄球赛)、博物馆、画廊等。
62.通过多个ar设备2的3d数据集合,所述系统可以实现具有3d注释和增强现实内容的环境21的全沉浸式比例放大3d视野。设备感知的另一应用是电影工业中的3d cgi的实时共享和编辑。
63.图6示出了示例性环境21,其中大量ar用户22关于具有复杂表面几何的大型真实世界结构60而聚集。通过对来自所有用户的ar设备的本地网格数据lm进行组合,可以生成结构60的复杂3d模型。
64.该公开解决了具有空间21的不完整的3d网格数据的问题。单个ar设备2可以仅仅捕获有限量的3d数据。
65.通过使用从公共空间21的一组ar设备2a、2b、

所收集的本地网格lm,可以用该数据来扩展混合现实空间。这允许用户跨超越当前能力的较大空间来扩展3d交互。
66.这还允许可以访问云数据的ar设备用户22能够与大量大型增强现实空间进行交互。
67.该数据可以由多个用户22共同地但是不同步地(即,在不同时间,例如不同小时、天、星期、月等)收集。
68.通过在云中收集数据,伙伴设备32也可以访问并且探索该经共享的空间。
69.多个ar设备2a、2b在一个时间处收集空间21的3d体积数据(以它们本地网格lm为形式)以上传至云系统28。通过从同一空间21的多个ar用户22a、22b收集数据,有可能基于云系统28处的公共参考点而将数据拼接在一起。当ar用户22从云系统28访问空间的数据时,有可能识别相关的数据并且允许用户22根据需要探索大量大型空间。ar设备22的深度感知将在实践中是受限的,但是空间21的更多细节可以当用户移动通过空间21时被更加详细地渲染(见下文)。
70.这是通过在云系统处实现的以下机制来实现的:
71.由多个ar设备22a、22b对空间的3d和真实世界场景捕获;
72.识别出数据的集合(即,不同的本地网格lm)是通过诸如位置(例如,维度和经度数据)、时间、日期等之类的公共参考点相关联的;
73.将数据集(即,本地网格lm)拼接在一起并且覆盖公共点。即组合多个本地模型lm以基于位置数据、时间数据、以及经删除的公共结构来形成全局模型gm。
74.在ar设备2处本地地生成的本地模型lm将在一些场景中仅仅提供关于环境的受限的结构信息。不论使用什么传感装置来生成本地网格lm,其将在实践中具有受限的传感器范围。例如,所述传感器将仅仅能够感测对用户可见的表面,即传感器不能“看到”对象后
面。此外,传感装置将具有受限的视场和受限的深度感知——传感装置的受限的物理限制,例如传感器硬件光学器件和设备的处理能力,和/或诸如背景光水平或破坏性照明之类的环境因素。在实践中,这意味着当用户22站在特定的位置中并且看向特定方向时,能够被检测到的仅有的表面结构将是对用户22可见并且在传感装置附近的空间的受限体积中(传感装置在其外不能够检测表面)的表面结构——这在大多数情况下比用户的视觉范围更加受限。
75.假如ar用户22移动或转动其头部,则新的表面结构变得可检测。本地建模模块46更新本地模型lm以添加新检测到的表面结构。因此,当用户移动或环顾环境四周时,更加完整的本地模型lm随着时间被建立。
76.然而,不完整的本地数据的问题仍然存在,并且这在ar用户第一次面对先前未知的环境时特别严重。
77.如在上文中所指示的,该问题是通过使用同一环境21的外部生成的全局网格gm来解决的。模型聚合模块选择性地使用本地模型lm的数据和外部生成的模型gm的数据来生成聚合3d模型am,其比本地模型lm具有更多的结果信息内容,以由渲染组件42在渲染增强时使用。
78.这允许使用由在或者曾经在同一环境21中的其他ar设备先前收集的网格数据来有效地扩展ar设备2的传感器装置的深度感知和视场。进而,这允许不受ar设备2的传感装置的物理限制或环境21的条件约束的更大范围的ar功能。
79.为了对此进行说明,现在将考虑两个场景,其中,采用ar设备2的ar功能以允许伙伴设备用户30用虚拟增强来注释ar用户的所感知的环境。
80.在第一场景中,ar设备2的ar功能是单独基于本地网格lm的,并且其不利用本公开的全局网格。现在将参考图4来描述该场景中的实现基于ar的通信的方法。图4在左手边示出了针对方法的流程图,同时方法步骤的绘图表示在右边。
81.在步骤s2处,ar设备2被激活。示出了空间的体积r,在ar设备的传感器装置前方。由于设备和/或环境因素的限制,ar设备2不能检测该体积r外部的表面结构,并且因此由于ar用户22的位置和他们面对的方向而不能够检测两个(物理)对象ob1、ob2的表面结构,即使它们对用户22可见。因此,在该时间点处,不可能对可见对象ob1、ob2中的一个进行注释,这是因为可见对象ob1、ob2的表面结构都没有被捕获为本地网格lm的网格数据。
82.仅仅当用户例如通过转动其头部以面对第一对象ob1而在环境内移动时(s4),表示其表面结构中的一些表面结构的网格数据md1能够被捕获并且被添加至本地模型lm。此外,如果ar用户22不移动接近于较远的第二对象ob2以使得其进入传感装置的范围中,则将不可能检测其表面结构并且因此不可能对其进行注释。
83.因此伙伴设备用户30可以向ar用户的预览的世界添加他们自己的注释,在步骤s6处,ar设备2将经更新的本地网格lm经由网络26例如在实时ar通信事件中发送至伙伴设备32以使得伙伴用户30可以实时地对ar用户的世界进行注释,和/或发送至云系统28以供在那里存储以使得伙伴设备32可以取回它并且在他们进行选择时离线地进行这样的注释。如利用相机18l、18r中的至少一个所捕获的环境21的移动的图像与模型相关联地被发送,以使得伙伴设备用户30还可以看到环境的2d纹理以及其3d结构。
84.在步骤s8处,实时地或者离线地,伙伴设备在其显示器32上显示移动的图像。伙伴
用户30可以利用伙伴设备34处的合适的用户输入来暂停或者倒回图像。
85.在步骤s10处,伙伴用户30将他们自己的注释ra1添加至移动的图像,其在该示例中是围绕着第一对象ob1的三维环形。因为ar用户还没有移动得足够接近第二对象ob2,所以其表面结构没有被封装在本地网格lm中,因此伙伴用户30不能够对其进行注释。
86.伙伴设备32将作为注释数据对象的注释经由网络26:
87.发送回ar设备2,例如经由网络实时地,和/或
88.发送至云系统28以供在那里存储,以使得:
89.a.其可以在ar用户22进行选择时由ar用户22取回(即,离线地),和/或
90.b.以使得系统28的媒体中继服务器可以将数据对象实时地中继至ar设备2,即媒体中继服务器接收数据对象并且直接将其发送至ar设备2。
91.在步骤s10处,使用所接收或所取回的数据对象来渲染对ar用户22可见的伙伴用户的注释。
92.如在上文中所述,实时在该上下文中意味着在渲染由伙伴设备32发送的数据和由ar设备2所接收的数据之间仅存在短的延迟(例如,大约两秒或更少),包括当其经由云系统28的媒体中继而相关。
93.注意,步骤s10

s12仅在用户22花费了一些时间来导航环境、在本地网格lm中建立了需要的等级的细节之后才是可能的。
94.现在考虑其中替代地使用通过将来自多个hololens的多个网格拼接在一起而生成的全局网格的场景。
95.图5示出了根据本主题的用于实现在通信系统20内基于ar的通信的方法的流程图。随着时间,本地网格从多个ar设备2被发送至云系统28。每个本地网格lm与指示本地lm在哪里以及何时被捕获的位置和时间信息相关联地被发送。云系统基于位置过滤标准来识别何时多个本地网格适合于类似的位置。它们检测到网格中的公共结构并且基于这些来组合本地网格lm以生成环境21的全局网格gm。当接收到新的本地网格时,全局网格被相应地更新。全局网格可以在通信事件(例如,通话)之间被实现,即用户之间的通信事件可以使用先前版本的全局网格以用于注释,在通信事件结束之后更新全局网格,并且使用经更新的版本以在用户之间或者不同的用户之间的随后的通信事件中进行注释。可以施加时间约束以使得包含在全局网格中的本地网格数据在其被捕获之后被移除预先确定量的时间。以该方式,有可能建立环境21的全面的全局模型gm,其将艰难地仅利用单个ar设备而生成。这包括第一和第二对象ob1、ob2的表面结构的全网格数据表示md1’、md2。全局网格gm与标识环境21的位置的位置元数据相关联地存储在云系统28中。
96.在步骤s16处,伙伴设备用户30使用他们的设备32通过经由对云系统28的合适的请求21下载全局网格来从云系统28取回所述全局网格,并且以与在上文中所描述的相同的方式来进行注释,但基于经下载的全局网格gm而不是单个本地网格lm。这可以是离线的,或者是在实时通信事件期间的(例如,全局网格gm可以由伙伴设备32在实时通信事件的开始处下载以在其中使用)。接着,伙伴设备将它们的注释作为数据对象发送给使用目标ar设备2t的目标ar用户22t,或者发送至云系统28以用于在那里存储,从而使得目标设备22t可以随后取回它。
97.在步骤s18处,目标用户从云系统28取回全局网格gm。该步骤可以例如在目标用户
设备2t在环境中第一次被激活时被执行,或者在实时通信事件开始时被执行。目标用户设备将其当前位置的指示发送至云系统22,其被匹配至与云系统28处的全局网格gm相关联的位置元数据,以使得针对该环境21的全局网格gm能够被取回。
98.在步骤s20处,目标ar设备2t使用全局网格gm来渲染从伙伴设备32所接收的注释。这些可以在实时通信事件期间从伙伴设备32直接接收,或者在离线注释场景中从云系统28下载。
99.应当注意,在目标用户22t步行通过环境之前,注释一被接收就被渲染(由于注释能力不再受到目标设备子集的本地网格数据的限制)。因此,例如,当ar用户第一次走到先前未知的ar环境中时,他们可以立即以将不可能仅仅使用本地网格的方式被呈现有遍布环境的大范围的虚拟元素——例如远处的对象的注释,或者更加一般地,被感知为远离真实世界环境21并且仍然与真实世界环境21进行交互的增强。
100.如在上文中所提及的,目标设备2t的模型聚合模块44将目标设备子集的本地网格lm与全局网格gm进行组合(见图2),以生成可以包含来自两者的网格数据的聚合网格am。例如,在本地网格lm中的表面结构中的一些表面结构与全局网格gm中的对应的表面结构不匹配的事件中,本地网格lm中的表面结构可以覆盖全局网格gm,这是因为其更有可能是最新的。本地网格lm可以仍然被发送至伙伴设备32,这使得伙伴设备32可以创建其自己的聚合网格以提供更加精确的注释功能;或者聚合网格am可以出于相同的目的而被发送至伙伴设备32。
101.目标伙伴设备还将其自己的本地网格lm与事件和位置信息相关联地发送至云系统28,以在更新存储在那里的全局网格gm的版本时使用。
102.尽管在上文中,全局网格gm是经由互联网26从服务器接收的,但可替代地,本地网格数据可以以去中心化的方式在环境中的ar设备之间交换,例如通过在环境中的ar设备之间建立自组织网格网络(例如,使用蓝牙或其他无线nfc技术)以使得它们可以经由该自组织网络交换它们的本地网格。
103.在第一方面中,增强现实装置包括:立体显示装置,其被设置为给增强现实装置的用户提供所述用户所处的真实世界环境的视野,其中,所述显示装置被配置为与所述真实世界视野同时地生成对用户可见的立体图像;计算机接口,其被配置为从网络接收所述用户所处的真实世界环境的外部生成的3d模型数据;以及渲染模块,其被配置为使用外部生成的3d模型数据来控制显示装置以用使得其被用户感知为位于真实世界环境中的期望的位置处的3d元素的方式来渲染虚拟元素。
104.在实施例中,增强现实装置还可以包括:存储器;以及用于检测真实世界环境中的表面结构的传感器装置,其中,所述传感器装置被配置为在所述存储器中生成实施所述真实世界环境的表面结构的所述真实世界环境的本地3d模型数据;以及更新本地3d模型以将新的表面结构实施为由于传感器装置在环境内的移动而使其变得能够被检测;其中,从网络接收的外部生成的3d模型数据用于至少当在本地3d模型数据中实施的表面结构针对因此要使用的本地3d模型数据不足够时以所述方式渲染虚拟元素。
105.所述计算机接口可以被配置为经由所述网络从服务器取回外部生成的3d模型数据。
106.例如,可以通过以下方式来从所述服务器取回所述外部生成的3d模型:将所述真
实世界环境的位置从增强现实装置发送至所述服务器以用于在那里同与所述外部生成的3d模型数据相关联的位置数据进行比较。
107.可替代地或另外地,所述计算机接口可以被配置为将所述本地3d模型数据经由所述网络发送至所述服务器以用于由所述服务器在生成外部生成的3d模型数据的经更新的版本时使用。例如,本地3d模型数据可以同与本地3d模型数据相关的位置信息和/或时间信息相关联地被发送。
108.渲染模块可以被配置为从网络或另一网络接收定义期望的位置的元素位置数据。
109.例如,所述元素位置数据可以在所述用户与另一用户之间的实时通信事件中经由所述网络或所述另一网络从另一用户接收,或者由所述增强现实装置从服务器取回。
110.例如,所述元素位置数据可以在定义虚拟元素的虚拟元素数据对象中被接收,所述数据对象还包括:定义所述虚拟元素的3d表面结构的结构数据,和/或定义所述虚拟元素的2d表面纹理的图像数据。
111.增强现实装置可以被配置为基于从增强现实装置的用户接收的用户输入来确定期望的位置。
112.渲染模块可以被配置为将至少一个渲染标准应用至外部生成的3d模型以检测用户将期望对虚拟元素施加影响的真实世界环境中的表面结构,其中,所述虚拟元素的渲染是基于所述检测的。
113.例如,至少一个影响标准可以是基于如由外部生成的3d模型数据所指示的所检测的表面结构的位置和/或朝向的;和/或是基于所述显示装置的位置和/或朝向的。
114.例如,基于所述检测的所述虚拟元素的渲染可以包括以下中的至少一个:
115.抑制所述虚拟元素的部分以使得在所述虚拟元素与所述用户之间的位置处所检测的表面结构被感知为部分地遮蔽所述虚拟元素;
116.将动画效果应用至所述虚拟元素以使得其被感知为与所检测的表面结构动态地交互;以及
117.修改所述虚拟元素被感知为所处以考虑到所检测的表面结构的期望的位置。
118.元素位置数据可以定义相对于由外部生成的3d模型数据所实施的表面结构的片段的期望的位置。
119.至少显示装置可以被实施在可穿戴头戴设备中。例如,增强现实装置可以被实施在可穿戴头戴设备(即,整个装置)中,或者另一功能可以被实施在与头戴设备分开的组件(例如,智能电话)中。
120.显示装置可以包括真实世界通过其可见并且由此提供真实世界视野的两个大体上透明的观察部分,并且每个大体上透明的观察部分可以被设置为将立体图像的相应的图像成分投影到用户的相应眼睛上。
121.例如,显示装置可以包括能够由渲染模块控制以发出图像光的光引擎装置,并且两个光学组件被安装在头戴设备上,每个被定位以将图像光的不同部分投影到用户的相应眼睛上由此生成立体图像;光学组件可以是大体上透明的并且由此提供真实世界视野。
122.在第二方面中,提供了控制增强现实装置的方法,所述增强现实装置包括被配置为提供所述增强现实装置所处的真实世界环境的视野的显示装置,所述代码方法包括:控制所述增强现实装置的立体显示装置以与真实世界视野同时地生成对用户可见的立体图
像;从网络接收所述用户所处的真实世界环境的外部生成的3d模型数据;以及使用所述外部生成的3d模型数据来控制所述显示装置渲染虚拟元素,这是以使其被所述用户感知为所述真实世界环境中的期望位置处的3d元素的方式进行的。
123.根据第三方面,增强现实系统包括:计算机接口,其被配置为接收真实世界环境的部分的多个本地3d模型,每个本地3d模型是当不同的增强现实设备位于所述真实世界环境中时由该不同的增强现实设备生成的;全局建模模块,其被配置为:组合所述本地3d模型以生成全局3d模型,与所述本地3d模型中的任何本地3d模型相比,该全局3d模型单独地表示所述真实环境的更大部分;以及将所述全局3d模型的至少一部分发送至当前位于所述真实世界环境中的目标增强现实设备,以用于当在所述增强现实设备处渲染虚拟元素时使用。
124.在实施例中,所述全局建模模块可以被配置为将所述全局3d模型的至少一部分发送至远离所述真实世界环境的设备,由此允许远程设备远程地探索和增强所述真实世界环境的虚拟版本。
125.例如,增强现实系统还可以包括增强共享模型,其被配置为:从所述远程设备接收渲染数据,所述渲染数据用于在目标增强现实设备处渲染虚拟对象时使用;以及将所述渲染数据发送至所述目标增强现实设备。
126.在一些情况下,所述全局3d模型可以响应于来自所述远程设备的下载请求而被发送至所述远程设备,和/或所述渲染数据可以响应于来自所述增强现实设备的下载请求而被发送至所述目标增强现实设备。
127.所述远程设备可以例如是智能电话或平板计算机。
128.在第三方面中,增强现实系统包括:计算机接口,其被配置为接收真实世界环境的部分的多个本地3d模型,每个本地3d模型是当不同的增强现实设备位于所述真实世界环境中时由该不同的增强现实设备生成的;全局模型生成模块,其被配置为:组合所述本地3d模型以生成全局3d模型,与所述本地3d模型中的任何本地3d模型相比,该全局3d模型单独地表示所述真实环境的更大部分;以及将所述全局3d模型的至少一部分发送至远离所述真实世界环境的设备,由此允许远程设备远程地探索和增强所述真实世界环境的虚拟版本;以及增强共享模型,其被配置为:从所述远程设备接收渲染数据,所述渲染数据用于在所述真实世界环境中的增强现实设备处渲染虚拟对象时使用;以及当所述增强现实设备位于所述真实世界环境中时将所述渲染数据发送至所述增强现实设备。
129.在实施例中,所述渲染数据是从所述远程设备接收,并且实时地被发送至所述增强现实设备的。
130.所述渲染数据是在所述远程设备的用户与所述增强现实设备的用户之间的通信事件期间从所述远程设备接收并且被发送至所述增强现实设备的。
131.例如,所述计算机接口可以被配置为当至少一个额外的增强现实设备位于所述真实世界环境中时从该至少一个额外的增强现实设备接收至少一个额外的本地3d模型;所述增强共享模块可以被配置为在所述通信事件结束之后的时间处基于所述至少一个额外的本地3d模型来更新所述全局3d模型,经更新的全局3d模型用于在用户之间的未来的通信事件中使用。
132.所述增强共享模块可以被配置为从所述增强现实设备接收额外的渲染数据并且将其发送至所述远程设备,所述额外的渲染数据用于在使用所述全局3d模型在所述远程设
备处渲染另一虚拟对象时使用。
133.例如,所述额外的渲染数据是从所述增强现实设备接收,并且实时地被发送至所述远程设备的。
134.可替代地,所述增强共享模块可以被配置为将所述渲染数据存储在所述增强现实系统的计算机存储中,并且被配置为响应于来自所述增强现实设备的下载请求而将其发送至所述增强现实设备。
135.所述计算机接口可以被配置为当至少一个额外的增强现实设备位于所述真实世界环境中时从该至少一个额外的增强现实设备接收至少一个额外的本地3d模型,其中,所述增强现实模块被配置为在所述全局3d模型被生成之后的某一时间处基于所述至少一个额外的本地3d模型来更新所述全局3d模型。
136.每个本地3d模型是与涉及所述本地3d模型的位置信息相关联地接收的,其中,所述全局模型生成模块被配置为基于它们相关联的位置信息将所述多个本地3d模型标识为与所述(同一)真实世界环境相关,并且基于所述标识选择它们以用于在生成所述全局3d模型时使用。
137.可替代地或另外地,每个本地3d模型是与涉及所述本地3d模型数据的时间信息相关联地接收的,其中,所述全局模型生成模块被配置为将所述多个本地3d模型标识为与预先确定的时间间隔有关,并且基于所述标识选择它们以用于在生成所述全局3d模型时使用。
138.例如,所述全局模型生成模块被配置为基于所述本地3d模型中的至少一个本地3d模型相关联的时间信息来确定所述本地3d模型中的至少一个本地3d模型的年龄,并且响应于所述年龄达到年龄阈值,更新所述全局3d模型以便从所述全局3d模型中移除根据所述至少一个本地3d模型得出的数据。
139.所述全局3d模型还被发送至所述增强现实设备以用于当在所述增强现实设备处渲染虚拟元素时使用。
140.第四方面针对一种实现真实世界环境中的增强现实设备与远离所述真实世界环境的另一设备之间经由网络的通信的方法,所述方法包括在所述另一设备处实现以下步骤:接收全局3d模型,所述全局3d模型是通过组合所述真实世界环境的部分的多个本地3d模型生成的,每个本地3d模型是当不同的增强现实设备位于所述真实世界环境中时由该不同的增强现实设备生成的,其中,与所述本地3d模型中的任何本地3d模型相比,该全局3d模型单独地表示所述真实环境的更大部分;将所述全局3d模型的至少一部分发送至所述远程设备,由此允许所述远程设备远程地探索和增强所述真实世界环境的虚拟版本;使用所述全局3d模型来生成渲染数据以用于在所述真实世界环境中的增强现实设备处渲染虚拟对象时使用;以及当所述增强现实设备位于所述真实世界环境中时将所述渲染数据经由所述网络发送至所述增强现实设备和/或发送至增强现实系统。
141.在实施例中,所述通信是经由所述网络在所述增强现实设备的用户与所述另一设备的用户之间进行的实时通信,所述渲染数据从所述另一设备实时地被发送至所述增强现实设备。
142.例如,所述渲染数据可以经由所述增强现实系统从所述另一设备被发送至所述增强现实设备,所述渲染数据由所述增强现实系统在所述设备之间实时地中继。
143.增强现实数据可以被发送至所述增强现实系统以用于在那里存储。
144.所述方法可以包括:在所述另一设备处经由所述网络从所述增强现实设备接收额外的渲染数据;并且由所述另一设备使用所述额外的渲染数据来在所述另一设备的显示器上渲染额外的虚拟元素。
145.所述方法可以包括:
146.a.在所述另一设备处经由所述网络从所述增强现实设备接收视频信号;
147.b.在所述显示器上由所述另一设备显示从所述视频信号得出的运动图像,其中,所述额外的虚拟元素覆盖在所述显示器上的所述运动图像上。
148.在一些情况下,所述全局3d模型可以由所述另一设备使用以渲染所述额外的虚拟元素。
149.在第五方面中,通信系统包括:远离真实世界环境的设备;以及增强现实系统,其包括:(i)计算机接口,其被配置为接收真实世界环境的部分的多个本地3d模型,每个本地3d模型是由不同的增强现实设备当位于所述真实世界环境中时生成的;以及(ii)全局模型生成模块,其被配置为:组合所述本地3d模型以生成全局3d模型,与所述本地3d模型中的任何本地3d模型相比,该全局3d模型单独地表示所述真实环境的更大部分;以及将所述全局3d模型的至少一部分发送至远离所述真实世界环境的设备,由此允许远程设备远程地探索和增强所述真实世界环境的虚拟版本;其中,所述远程设备被配置为使用所述全局3d数据来生成渲染数据以用于在所述真实世界环境中的增强现实设备处渲染虚拟对象时使用,并且被配置为当所述增强现实设备位于所述真实世界环境中时将所述渲染数据发送至所述增强现实设备和/或发送至所述增强现实系统(例如,用于在那里存储和/或用于关联至所述增强现实设备)。
150.应当注意,所述系统功能中的任何系统功能可以在实现共享现实通信的方法的对应的方法步骤中实现。
151.在第六方面中,计算机可读介质存储可执行代码,所述代码当在计算机系统上执行(例如,在用户设备或分布式云系统中实施)时实现在本文中所公开的系统功能或方法步骤中的任何。
152.通常而言,可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现的组合来实现在本文中所描述的功能中的任何功能。如在本文中所使用的术语“模块”、“功能”、“组件”、和“逻辑”(例如,图2的功能模块)通常表示软件、固件、硬件、或其组合。在软件实现的情况下,模块、功能、或逻辑表示当在处理器(例如,cpu或多个cpu)上被执行时执行指定任务的程序代码。所述程序代码可以被存储在一个或多个计算机可读存储器设备中。在下文中所描述的技术的特征是与平台无关的,这表示所述技术可以被实现在具有多种处理器的多种商业计算平台上。
153.例如,ar或伙伴设备(用户终端)还可以包括使得用户终端的硬件执行操作的实体(例如软件),例如处理器功能块等。例如,用户终端可以包括计算机可读介质,所述计算机可读介质可以被配置为保存使得用户终端并且更加具体地使得用户终端的操作系统和相关联的硬件执行操作的指令。因此,指令用于配置操作系统和相关联的硬件来执行操作,并且以这种方式引起操作系统和相关联的硬件的转换以执行功能。所述指令可以是由计算机可读介质通过多种不同的配置提供给用户终端的。
154.计算机可读介质的一个这样的配置是信号承载介质,并且因此被配置为将指令(例如,作为载波)例如经由网络而发送至计算设备。计算机可读介质还可以被配置为计算机可读存储介质,并且因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(ram)、只读存储器(rom)、光盘、闪速存储器、硬盘存储器、以及可以使用磁性、光学、和其他技术来存储指令和其他数据的其他存储器设备。
155.尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解的是,在所附权利要求中所限定的主题不一定限于在上文中所描述的具体特征或动作。相反,在上文中所描述的具体特征和动作是作为实现权利要求的示例形式公开的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1