微软专利提出重建虚拟环境,允许远程多个角度查看AR设备视角

HoloLens QQ群493967447

查看引用/信息源请点击:映维网Nweon

重建虚拟环境

映维网Nweon 2023年08月11日)对于通过HoloLens与远程用户通信,你可以捕获对周围环境的视图,并将相关图像或视频传输给远程用户。但对于远程用户,你看到的视图仅限于AR设备的视角,即摄像头的位置和方向。这种有限的视角可能会导致用户花费更多时间来执行会议的功能,例如诊断机械问题,评估原型,为一件艺术品定价等等。

所以在名为“Re-creation of virtual environment through a video call”的专利申请中,微软提出可以重建一个虚拟环境,并允许远程用户从多个角度查看。

如图1所示,计算设备102与远程计算设备104交互。远程计算设备104可以是个人计算机或其他设备,而计算设备102可以是HoloLens。

远程计算设备104接收由计算设备102生成的网格数据106和图像108,并在UI 118中呈现图像108。通过这种方式,远程计算设备的用户119B可以看到计算设备102的用户119A所看到的真实世界环境109的视图,以及用于增强所述视图的任何虚拟对象。

图2是示出用户119B从第二视角203查看场景的3D表示218的计算系统图200,第二视角203不同于捕获场景的光学摄像头的视角103。如在3D表示218中所示,桌面210、虚拟杯子212、窗户214和墙壁216从第二个角度203描绘。

在一个实施例中,通过生成3D表示、以算法方式改变观点并将更新的3D表示投影到远程计算设备104,并从网格数据106和图像108重构视图。

用户的设备包括2D显示器。将3D表示投影到2D显示器涉及从新视角生成深度图等步骤。对于2D显示器的每个像素,可以通过计算从新视角到与像素相关联的3D表示的一部分的距离来生成深度图。

例如,对于显示桌子210的一部分的每个像素,计算从新透视图到表相应部分的距离。在一个实施例中,所述计算基于由网格数据106编码的场景中对象的位置。

比方说,桌子210可能由一系列三角形、矩形或其他几何形状组成,而几何形状在大小、方向和位置进行了定义。确定从新3D透视图的距离可包括确定从新3D透视图到网格数据106中包含的一个或多个几何形状的距离。

在一个实施例中,3D表示中的对象投射的阴影通过从场景中的光源投射光线,并计算光线在网格数据106中击中对象的时间来确定。光线的方向及其照射的对象的位置可用于确定光线如何从第二视角投下阴影203。

例如,基于用于识别灯泡和其他光源的机器学习技术,从网格数据106和图像108确定光源。

接下来,基于源自图像108的像素的颜色、一个或多个照明值等计算每个像素的颜色值。

在一个实施例中,使用支持3D的设备(例如VR/AR/MR设备)呈现3D表示。在所述实施例中,3D表示以3D呈现,从而避免将三维表示投影到2D显示器的过程。

在一个实施例中,诸如虚拟杯子212的虚拟对象包括在渲染过程中。如上所述,可以在场景中检测到光源。照明效果和阴影可以应用于虚拟对象,例如虚拟杯子212。例如,光源可用于计算虚拟对象投射的阴影。

在一个实施例中,放置在场景中的虚拟对象可以渲染为包括从周围对象合并的反射、阴影或其他细节。例如,定义为具有反射表面并放置在桌面上的蜡烛旁边的虚拟球体可以反射桌面和蜡烛的图像。

这种反射可以使用着色器技术、光追或其他已知的算法来完成,以估计来自周围对象的光对虚拟对象的影响。对虚拟对象的反射的处理可以通过计算设备102或远程计算设备104来执行。

图2中描述的实施例通过向用户119B提供场景的附加视角,以计算效率的方式提供对现实世界环境的额外洞察。例如,如果用户119A正在向场景内定位桌子210的用户119B寻求帮助,则用户119B可以使用不同的视角来判断桌子210与墙壁116的距离应该有多近。

图3是计算系统图300,示出同时显示场景的3D表示的两个不同透视图的两个计算设备。在一个实施例中,用户119B佩戴具有3D功能的设备302,例如VR头显、AR头显、MR头显或类似设备。

支持3D的设备302可以显示UI 318,其中包含从视角103的场景的3D表示。这样,使用户119B能够通过计算设备302查看用户119A所查看的场景。同时,远程计算设备104显示UI 320,允许其从不同的角度查看场景,例如上述结合图2所讨论的角度。

在一个实施例中,UI 318中显示的3D透视图可以追踪用户119A的透视图,例如,当设备102移动和/或旋转时,UI 318中显示的透视图更新以反映新的透视图。例如,当用户119A在场景中移动、环顾四周或以其他方式改变计算设备102的位置和/或方向时,UI 318可以更新以显示来自设备102的新位置/方向的视角。

在一个实施例中,设备102可以在真实世界环境中连续移动,使得视场在帧与帧之间不会显著改变。这样,一帧的网格数据表示可以包含用于显示后续帧的网格数据的重要部分。

在一个实施例中,为了给用户119B提供更流畅的视觉体验,除了更新的网格数据外,设备102可以传输视角的变化,允许计算设备302使用现有的网格数据106显示新的视角,同时捕获和传输更新的网格数据。

这个现有的网格数据是旧的,因为它没有从新的角度包含额外的信息。然而,一旦接收到附加的网格数据信息,设备302可以相应地更新UI 318的内容。

在任何时候,用户119B都可以将UI 318的透视图与用户119A的透视图103解耦。如果用户119B在场景中看到感兴趣的内容,或者找到一个对手头任务有启发的视角,这可能是有益的。

用户119B可以选择暂时暂停透视图,例如,暂停一段时间,之后透视图可以恢复到用户119A的实时透视图。类似地,用户119B可以选择无限期地与用户119A的透视图解耦,或者直到用户119B就透视图的选择做出另一个决定。

在一个实施例中,用户119B可以选择从当前视角创建虚拟camera。虚拟camera可以创建场景的永久或半永久视角。通过这种方式,用户119B可以识别对完成手头任务有价值的多个不同视角。

在一个实施例中,用户119A可以改变UI 318显示的透视图,例如在暂停透视图、实时透视图、虚拟摄像机透视图等之间旋转。多个透视图可以在设备302同时显示,例如以网格模式显示。

在一个实施例中,用户119B可以选择要显示在不同设备上的透视图之一,例如远程计算设备104的UI 320。在确定新的透视图、从透视图列表中选择要显示的透视图以及选择要在其上查看透视图的显示器/设备等方面的灵活性极大地增强了远程通话体验。

在一个实施例中,暂停、解耦或以其他方式改变一个或多个UI显示的视角不会阻止场景的3D表示渲染。例如,如果用户119A正在建造纸牌屋,用户119B可以暂停UI 318中显示的透视图,同时继续查看用户119A建造纸牌屋。

暂停透视图会导致用户119B从固定的透视图查看场景,即使用户119A的透视图继续变化。如果用户119A突然改变视角103,分散了对场景内容的注意力,用户119B可能希望暂停视角。

图4示出虚拟camera404在场景的3D表示的地板图402上的位置的计算系统图400。如图所示,虚拟camera404面向桌子410、虚拟杯子412和窗户414。虚拟camera404可以固定在位置和/或方向上,或者虚拟camera404可以绑定到诸如设备102的设备的位置和/或方向上。

在一个实施例中,虚拟camera404可以分配来追踪场景中的目标对象,例如人、识别为需要关注的对象等。一旦目标对象被用户选择,则可以从网格数据106中提取目标对象的3D模型。

然后,如果目标对象在真实世界场景中移动,例如,如果用户119A将其捡起并放置在新的位置,则计算设备102、104或302中的一个可以搜索场景以在新位置定位目标对象的3D模型。一旦目标对象的新位置被识别,虚拟camera404可以自动改变视角以保持目标对象在视图中。

图5是示出已与过去捕获的数据集成的场景的3D表示的计算系统图500。

在一个实施例中,沙发502和灯504过去被捕获,产生过去的网格数据506和过去的图像508。过去的捕获可以由设备102执行,或可以由另一个设备(未如图所示)执行。

过去的捕获可以在会议过程中执行,例如,当用户119A将计算设备102指向沙发502和灯504时。通过保存捕获的关于这些对象的信息,并将数据与网格数据和图像的实时流相结合,用户119B可以获得比单独的实时数据所能提供的更完整的场景。

过去捕获的数据也可用于提供当前实时流中对象的额外细节。例如,可以从计算设备102的角度捕获桌子410,但桌子410中被遮挡的部分无法获得实时数据。因此,如果不集成过去捕获的数据,用户119B将无法查看桌子410中被遮挡的部分。

计算设备102可以基于网格数据识别其所处的房间或其他环境。例如,计算设备102可以根据墙壁的位置和大小、窗户的位置和大小以及不倾向于移动的其他物体的位置和大小来推断房间的大小。

一旦房间被识别,网格数据和先前从房间内捕获的图像可能会被整合到实时3D表示中。除了房间,室内和室外的其他环境同样会纳入考虑。

图6是示出已与由第二摄像头610捕获的数据集成的场景的3D表示的计算系统图600。

在一个实施例中,第二摄像头610添加到计算环境中。UI 618描述了场景的平面图视图,集成了来自计算设备102和第二摄像头610的数据。因此,沙发602和灯604是基于实时数据绘制。

在一个实施例中,虚拟camera404描述与计算设备302相关联的虚拟camera的位置和方向。虚拟camera404的透视图在UI 620中呈现。类似地,虚拟camera612的透视图在UI 622中呈现。在一个实施例中,允许用户119B在UI 620和UI 622的透视图之间切换。

在一个实施例中,第二摄像头610包含在UI 620和622中,因为第二摄像头610是包含在场景中的现实世界对象。但在其他实施例中,计算设备102可以不渲染场景中的其他摄像头。

图7是示出用于呈现3D环境的不同透视图的例程。

从操作702开始,远程计算设备104从计算设备102接收定义真实世界环境109的3D表示的网格数据106。

操作706中,远程计算设备104在一个实施例中基于虚拟摄像机的位置和方向确定第二视角。

操作708,远程计算设备104接收先前捕获的真实世界环境的网格数据和图像。

操作710,其中先前捕获的网格数据和图像被集成到真实世界环境的实时3D表示中。

相关专利Microsoft Patent | Re-creation of virtual environment through a video call

名为“Re-creation of virtual environment through a video call”的微软专利申请最初在2023年4月提交,并在日前由美国专利商标局公布。

HoloLens QQ交流群493967447

您可能还喜欢...

专栏