一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于扩展现实的虚拟锚定系统和方法与流程

2021-10-24 05:38:00 来源:中国专利 TAG:专利申请 扩展 现实 优先权 并入

用于扩展现实的虚拟锚定系统和方法
1.相关申请的交叉引用
2.本专利申请要求2020年4月17日提交的名称为“virtual anchoring systems and methods for computer

generated reality”的美国临时专利申请号63/011,973的优先权权益,该专利申请的公开内容据此全文并入本文。
技术领域
3.本说明书整体涉及扩展现实环境。


背景技术:

4.增强现实技术旨在通过提供利用电子信息增强的增强物理环境来桥接虚拟环境和物理环境之间的间隙。因此,电子信息看起来是用户感知的物理环境的一部分。然而,确定在物理环境中将电子信息放置在何处可能具有挑战性。
附图说明
5.本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下附图中阐述了本主题技术的若干实施方案。
6.图1示出了根据一个或多个具体实施的包括可实现本主题系统的各种电子设备的示例性系统架构。
7.图2示出了根据本主题技术的一个或多个具体实施的示例性软件架构。
8.图3示出了根据本主题技术的具体实施的电子设备的物理环境的示例。
9.图4示出了根据本主题技术的具体实施的在物理环境中将虚拟内容锚定到物理对象锚定件的示例。
10.图5示出了根据本主题技术的具体实施的在xr环境中将虚拟内容锚定到物理对象锚定件和虚拟锚定件的示例。
11.图6示出了根据本主题技术的具体实施的在xr环境中将虚拟内容锚定到物理对象锚定件和虚拟对象锚定件的示例。
12.图7示出了根据本主题技术的具体实施的没有足够空间用于虚拟锚定对象的电子设备的物理环境的示例。
13.图8示出了根据本主题技术的具体实施的生成足够虚拟空间用于虚拟锚定对象的电子设备的物理环境中的虚拟入口的示例。
14.图9示出了根据本主题技术的具体实施的可执行以提供虚拟锚定件的示例性操作的流程图。
15.图10示出了可以利用其来实现本主题技术的一个或多个具体实施的电子系统。
具体实施方式
16.下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表
示本主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,本主题技术不限于本文阐述的具体细节,而是可以采用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
17.物理环境是指人们在没有电子设备帮助的情况下能够感测和/或交互的物理世界。物理环境可包括物理特征部,诸如物理表面或物理对象。例如,物理环境对应于包括物理树木、物理建筑物和物理人的物理公园。人们能够诸如通过视觉、触觉、听觉、味觉和嗅觉来直接感测物理环境和/或与物理环境交互。相反,扩展现实(xr)环境是指人们经由电子设备感测和/或交互的完全或部分模拟的环境。例如,xr环境可包括增强现实(ar)内容、混合现实(mr)内容、虚拟现实(vr)内容等。在xr系统的情况下,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在xr系统中模拟的一个或多个虚拟对象的一个或多个特征。例如,xr系统可检测头部移动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。又如,xr系统可检测呈现xr环境的电子设备(例如,移动电话、平板电脑、膝上型电脑等)的移动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),xr系统可响应于物理运动的表示(例如,声音命令)来调节xr环境中图形内容的特征。
18.有许多不同类型的电子系统使人能够感测和/或与各种xr环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(hud)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为设计用于放置在人的眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或不具有触觉反馈的可穿戴或手持式控制器)、智能电话、平板电脑、以及台式/膝上型计算机。头戴式系统可具有集成不透明显示器和一个或多个扬声器。另选地,头戴式系统可被配置为接受外部不透明显示器(例如,智能电话)。头戴式系统可结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、oled、led、uled、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一些具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
19.本文所述的主题技术的具体实施提供了一种xr系统,当所请求的物理锚定对象不可用时,该xr系统提供物理环境中某个位置处的虚拟锚定件。例如,xr应用程序可从设备请求在其上显示虚拟对象的物理桌子。xr系统可确定所请求的物理桌子在物理环境中不可用,并且可在物理环境中的固定位置处生成虚拟锚定件和/或所请求的物理锚定对象的虚拟版本(例如,虚拟锚定对象)。如果物理锚定对象可用,则可随后将虚拟内容渲染并显示在固定位置处,在虚拟锚定件的位置处的空间中,或在虚拟锚定对象上,如同显示在所请求的物理锚定对象上一样。
20.图1示出了根据一个或多个具体实施的包括可实现本主题系统的各种电子设备的
示例性系统架构100。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
21.系统架构100包括电子设备105、电子设备110、电子设备115和服务器120。出于解释的目的,系统架构100在图1中被示出为包括电子设备105、电子设备110、电子设备115和服务器120;然而,系统架构100可包括任何数量的电子设备和任何数量的服务器或包括多个服务器的数据中心。
22.电子设备105可为包括能够向用户呈现扩展现实环境的可视化的显示系统的智能电话、平板电脑或头戴式便携式系统(例如,可由用户穿戴的头戴式显示设备)。电子设备105可用电池和/或任何其他电源供电。在一个示例中,电子设备105的显示系统向用户提供扩展现实环境的立体呈现,使得能够提供特定场景渲染的三维视觉显示。在一个或多个具体实施中,代替利用电子设备105来访问扩展现实环境或除此之外,用户可使用手持式电子设备104,诸如平板电脑、手表、移动设备等。
23.电子设备105可包括一个或多个相机,诸如相机150(例如,可见光相机、红外相机等)。此外,电子设备105可包括各种传感器152,包括但不限于相机、图像传感器、触摸传感器、麦克风、惯性测量单元(imu)、心率传感器、温度传感器、激光雷达传感器、雷达传感器、声纳传感器、gps传感器、wi

fi传感器、近场通信传感器等。此外,电子设备105可包括可接收用户输入的硬件元件,诸如硬件按钮或开关。由此类传感器和/或硬件元件检测到的用户输入对应于用于在给定扩展现实环境内发起记录的各种输入模态。例如,此类输入模态可包括但不限于面部跟踪、眼睛跟踪(例如,注视方向)、手部跟踪、姿态跟踪、生物识别读数(例如,心率、脉搏、瞳孔扩张、呼吸、温度、脑电图、嗅觉)、识别语音或音频(例如,特定热字词)以及激活按钮或开关等。电子设备105还可对电子设备105的物理环境中的物理对象进行检测和/或分类。
24.电子设备105可通信地耦接到基础设备,诸如电子设备110和/或电子设备115。一般来讲,与电子设备105相比,此类基础设备可包括更多计算资源和/或可用功率。在一个示例中,电子设备105可以各种模式操作。例如,电子设备105可独立于任何基础设备以独立模式操作。当电子设备105以独立模式操作时,输入模态的数量可受到电子设备105的功率限制(诸如设备的可用电池功率)的约束。响应于功率限制,电子设备105可停用设备自身内的某些传感器以保持电池功率。
25.电子设备105还可以无线连线模式操作(例如,经由无线连接与基础设备连接),从而与给定基础设备结合工作。电子设备105还可以电子设备105物理地连接到基础设备(例如,经由电缆或一些其他物理连接器)的连接模式工作,并且可利用由基础设备提供的电力资源(例如,在基础设备在物理地连接时对电子设备105充电的情况下)。
26.当电子设备105以无线连线模式或连接模式操作时,可将处理用户输入和/或渲染扩展现实环境的至少一部分卸载到基础设备,从而减少电子设备105上的处理负担。例如,在一个具体实施中,电子设备105结合电子设备110或电子设备115工作以生成扩展现实环境,该扩展现实环境包括以实时方式在用户与扩展现实环境之间实现不同形式的交互(例如,视觉、听觉和/或物理或触觉交互)的物理对象和/或虚拟对象。在一个示例中,电子设备
105提供对应于扩展现实环境的场景的渲染,该场景可被用户感知并以实时方式交互。另外,作为呈现渲染场景的一部分,电子设备105可向用户提供声音和/或触觉或触感反馈。给定渲染场景的内容可能取决于可用处理能力、网络可用性和容量、可用电池功率和当前系统工作负载。
27.电子设备105还可检测已发生在扩展现实环境的场景内的事件。此类事件的示例包括检测场景中特定人、实体或对象的存在。检测到的物理对象可由电子设备105、电子设备110和/或电子设备115分类,并且物理对象的定位、位置、大小、尺寸、形状和/或其他特性可用于向xr应用程序提供物理锚定对象,从而生成用于在xr环境内显示的虚拟内容。
28.还应当理解,电子设备110和/或电子设备115还可结合电子设备105工作或独立于电子设备105生成此类扩展现实环境。
29.网络106可将例如电子设备105、电子设备110和/或电子设备115与服务器120通信地(直接或间接)耦接。在一个或多个具体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。
30.电子设备110可包括触摸屏并且可以是例如包括触摸屏的智能电话、便携式计算设备,诸如包括触摸屏的膝上型计算机、包括触摸屏的外围设备(例如数字相机、耳机)、包括触摸屏的平板设备、包括触摸屏的可穿戴设备(诸如手表、腕带等)、包括例如触摸屏的任何其他适当设备或者任何具有触控板的电子设备。在一个或多个具体实施中,电子设备110可不包括触摸屏,但可支持触摸屏类似的手势,诸如在扩展现实环境中。在一个或多个具体实施中,电子设备110可包括触控板。在图1中,通过举例的方式,电子设备110被描绘为具有触摸屏的移动智能电话设备。在一个或多个具体实施中,电子设备110、手持式电子设备104和/或电子设备105可以是和/或可以包括下文相对于图10讨论的电子系统的全部或部分。在一个或多个具体实施中,电子设备110可为另一个设备,诸如互联网协议(ip)相机、平板电脑或外围设备诸如电子触笔等。
31.电子设备115可为例如台式计算机、便携式计算设备诸如膝上型计算机、智能电话、外围设备(例如,数字相机、耳机)、平板设备、可穿戴设备诸如手表、腕带等。在图1中,通过举例的方式,电子设备115被描绘为台式计算机。电子设备115可以是和/或可以包括下文相对于图10讨论的电子系统的全部或部分。
32.服务器120可形成计算机网络或服务器组130的全部或部分,诸如在云计算或数据中心实施中。例如,服务器120存储数据和软件,并且包括用于渲染和生成扩展现实环境的内容诸如图形、图像、视频、音频和多媒体文件的特定硬件(例如,处理器、图形处理器和其他专用或定制处理器)。在一个具体实施中,服务器120可用作云存储服务器,该云存储服务器存储由上述设备和/或服务器120生成的任何前述扩展现实内容。
33.图2示出了根据本主题技术的一个或多个具体实施的可在电子设备105、手持式电子设备114、电子设备115和/或服务器120上实现的示例性架构。出于解释的目的,图2的架构的部分被描述为由图1的电子设备105实现,诸如由电子设备105的处理器和/或存储器实现;然而,架构的适当部分可由任何其他电子设备实现,包括电子设备110、电子设备115和/或服务器120。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件
或更少的部件。
34.图2的架构的各个部分可在软件或硬件中实现,包括通过一个或多个处理器和包含指令的存储器设备来实现,该指令在由处理器执行时使得处理器执行本文所述的操作。在图3的示例中,传感器152向映射和对象检测引擎200提供环境信息(例如,来自一个或多个深度传感器的深度信息)。相机150还可向映射和对象检测引擎200提供图像,诸如视频流。映射和对象检测引擎200可使用来自传感器152和相机150的环境信息(例如,深度信息和/图像)生成电子设备105的物理环境的一些或全部的三维场景信息,诸如三维映射。
35.如图2所示,xr应用程序202可在锚定件请求中从映射和对象检测引擎200请求锚定件,诸如物理对象锚定件。xr应用程序202可以是游戏应用程序、媒体播放器应用程序、内容编辑器应用程序、训练应用程序、模拟器应用程序或通常任何在取决于物理环境的位置处显示cg或虚拟内容的应用程序,诸如通过将虚拟内容锚定到物理对象锚定件。
36.物理对象锚定件可以是一般物理对象,诸如水平平坦表面(例如,地板或桌面的表面)、竖直平坦表面(例如,墙壁的表面)或特定物理对象(诸如桌子、墙壁、电视柜、沙发、冰箱、桌子、椅子等)。xr应用程序202可包括代码,该代码在由电子设备105的一个或多个处理器执行时生成cg内容(例如,虚拟杯子、虚拟文档、虚拟电视屏幕、虚拟电影院屏幕、虚拟键盘或其他虚拟内容),以用于在物理对象锚定件上、物理对象锚定件附近、附接到物理对象锚定件或以其他方式与物理对象锚定件相关联地显示。xr应用程序202在映射和对象检测引擎200检测到来自传感器152和相机150的环境信息中的物理对象锚定件时生成该虚拟内容,并且向xr应用程序202和/或cg渲染引擎223提供相关锚定件信息。
37.一旦生成cg内容(例如,虚拟杯子、虚拟文档、虚拟电视屏幕、虚拟电影院屏幕、虚拟键盘等),cg内容就可被提供给cg渲染引擎223,如图2所示。环境信息诸如物理环境的深度图和/或在物理环境中检测到的对象的对象信息也可被提供给cg渲染引擎223。cg渲染引擎223可随后渲染来自xr应用程序202的cg内容,以供电子设备105的显示器225显示。cg内容被渲染以用于显示在显示器225上的适当位置处(例如,使用由映射和对象检测引擎200提供的场景信息和/或锚定件信息),以与由映射和对象检测引擎200提供的物理锚定对象相关联地出现。显示器225可为例如不透明显示器,并且相机150可被配置为向不透明显示器提供透传视频馈送。cg内容可被渲染以用于显示在显示器上的对应于透传视频中的物理锚定对象的显示位置的位置处。又如,显示器225可为透明或半透明显示器。cg内容可被渲染以用于显示在显示器上的对应于通过透明或半透明显示器的物理锚定对象的直接视野的位置处。
38.如图所示,电子设备105还可包括视频渲染引擎227,该视频渲染引擎基于来自相机150的图像来渲染物理环境的视频图像,以与来自cg渲染引擎223的渲染cg内容一起显示。例如,视频渲染引擎227可被提供在包括不透明显示器的电子设备105中,以向显示器提供透传视频。在用允许用户直接查看物理环境的透明或半透明显示器实现的电子设备105中,在一些情况下可以省略或不使用视频渲染引擎227。尽管图2的示例示出了与xr应用程序202分开的cg渲染引擎223,但应当理解,在一些具体实施中,xr应用程序202可渲染cg内容以供显示器225显示而不使用单独的cg渲染引擎223。
39.电子设备105可允许xr应用程序202(例如,经由应用程序编程接口或api)从映射和对象检测引擎200请求并获得锚定件信息,如图2所示,这可有利于xr应用程序202的高效
开发、实施和/或运行时执行(例如,因为每个xr应用程序202不必执行其自身的对象检测、场景映射、变换等)。然而,这在xr应用程序202所请求的物理锚定对象不存在或以其他方式在物理环境中不可用的情况下可能是有问题的。例如,xr应用程序202可在以下情况下请求在其上锚定虚拟杯子的桌子:电子设备105的物理环境中(例如,在电子设备105的映射距离内)不存在桌子,或者电子设备105的用户的视场内没有桌子。即,电子设备105(例如,映射和对象检测引擎200)可基于来自传感器152和/或相机150的环境信息来确定物理锚定对象(在该示例中为桌子)在物理环境中不可用。传感器152可包括至少一个深度传感器,并且环境信息可包括基于来自相机的至少一个图像和来自深度传感器的深度信息的环境信息。
40.在所请求的物理锚定对象不可用的情况下,电子设备105(例如,映射和对象检测引擎200)生成在物理环境中具有固定位置的虚拟锚定件,并且响应于对物理锚定对象的请求而将虚拟锚定件提供给xr应用程序202和/或cg渲染引擎223。xr应用程序和/或cg渲染引擎223可随后使用虚拟锚定件来渲染用于显示在物理环境中的固定位置处的虚拟内容。电子设备105(例如,映射和对象检测引擎200)还可生成对应于物理锚定对象的虚拟锚定对象。例如,如果物理墙壁被请求作为物理锚定对象,并且物理墙壁不可用,则电子设备105(例如,cg渲染引擎223)可生成并渲染虚拟墙壁(例如,虚拟锚定对象),以用于显示在电子设备105的显示器上的使得虚拟锚定对象在用户看来位于物理环境中的固定位置处的位置处。xr应用程序202和/或cg渲染引擎223可随后使用虚拟锚定件来渲染虚拟内容,以也在用户看来位于物理环境中的固定位置处或附近。虚拟内容到虚拟锚定对象的这种锚定包括相对于所渲染的虚拟锚定对象定位所渲染的虚拟内容(例如,通过将所渲染的虚拟内容定位成看起来在虚拟墙壁上)。
41.在一个或多个具体实施中,在例如xr应用程序诸如xr应用程序202的操作期间,可在电子设备105的系统级更新物理锚定件和/或虚拟锚定件的变换(例如,通过映射和对象检测引擎200和/或cg渲染引擎223,无需到请求应用程序的往返通信)。例如,cg渲染引擎223可基于物理锚定件和/或虚拟锚定件(例如,基于为xr应用程序202识别的物理锚定件和/或虚拟锚定件,诸如以响应来自xr应用程序的锚定件请求)来更新由xr应用程序202提供的cg内容的位置和/或取向。这样,电子设备诸如电子设备105可以比在xr应用程序202处更新虚拟内容的位置和取向的场景中更低的延迟来渲染锚定到或相对于物理环境内的物理位置的cg内容。以这种方式减少渲染延迟可帮助电子设备105提供不含潜在xr锚定伪影的体验,诸如看起来非故意地相对于物理环境和/或其他xr内容四处游动的应用程序内容。
42.图3、图4和图5示出了根据本公开的各方面的其中虚拟内容分别锚定到物理锚定对象、虚拟锚定件和虚拟锚定对象的示例。
43.在图3的示例中,用户101在物理环境300中穿戴电子设备105。在图3的示例中,物理环境300包括物理墙壁302、物理桌子304和物理地板306,它们可基于来自一个或多个相机诸如相机150和一个或多个传感器(例如深度传感器)诸如传感器152的图像使用环境信息来检测、映射和/或分类。在图3的示例中,包括虚拟杯子320和虚拟电视322的虚拟内容由电子设备105的显示器(例如,显示器225)显示,以在用户101看来位于物理环境中的固定位置处。在该示例中,虚拟杯子320被锚定到物理桌子304,并且虚拟电视322被锚定到物理墙壁302。这样,即使随着用户101在物理环境中移动和/或环视,虚拟内容也可被显示为看起来位于物理环境300中的固定位置处。
44.为了将虚拟杯子320锚定到物理桌子304或者将虚拟电视322锚定到物理墙壁302,xr应用程序可(例如,从映射和对象识别引擎)请求物理环境中的物理桌子(或水平面)或物理墙壁(或竖直面),xr应用程序可将相关虚拟内容锚定到该物理桌子或物理墙壁。为了使用物理桌子或物理墙壁作为物理锚定对象,xr应用程序可获得物理对象上描述物理对象的物理位置、形状、位置和/或取向的一个或多个点的位置。例如,可提供物理桌子304的表面上的三个点的位置,从而允许xr应用程序识别对应于桌子表面的平面。xr应用程序可随后确定虚拟杯子320在何处定位以及如何取向以看起来搁置在桌子的表面上。在其他示例中,可提供用于物理锚定对象(例如,对象的三维网格)的更多信息以便于进行物理锚定。
45.在一些情况下,当xr应用程序请求物理锚定对象时,电子设备105可(例如,基于来自传感器152和/或相机150的环境信息)确定物理锚定对象在物理环境中不可用。
46.图4示出了物理环境300包括物理墙壁302但不包括物理桌子的示例。响应于对物理桌子形式的物理锚定对象的请求以及确定物理桌子不可用,电子设备105可生成在物理环境中具有固定位置的虚拟锚定件。在图4的示例中,已为xr应用程序提供虚拟锚定件401,虚拟杯子320将锚定到该虚拟锚定件,并且虚拟杯子320已被渲染并显示为看起来位于虚拟锚定件401的固定位置处。
47.在该示例中,虚拟锚定件401是物理环境中的固定位置处的单个点。虚拟锚定件401的固定位置可相对于物理环境300中的物理对象来定义,使得即使随着用户101移动和/或环视包括物理环境300和虚拟内容的xr环境,虚拟锚定件(以及锚定到其上的任何虚拟内容)也保持在固定物理位置处。在该示例中,虚拟锚定件401的固定位置由距物理地板306的第一距离404、距物理墙壁302的第二距离402以及距物理墙壁的端部的第三距离400限定。然而,这些距离仅是例示性的,并且虚拟锚定件401的固定位置可相对于物理环境中的任何三个点来定义。
48.在图4的示例中,虚拟锚定件401位于物理环境300中的空中的固定位置处,从而导致当虚拟杯子320被电子设备105显示在虚拟锚定件的固定位置处时,虚拟杯子看起来浮动在空间中。虚拟锚定件401的固定位置可由电子设备105自动确定(例如,基于启发法)和/或可由用户101选择和/或修改。例如,用户101可使用手持式控件,通过虚拟地抓住或捏住虚拟锚定件(例如,如使用相机150和/或传感器152所检测到的),使用语音命令或电子设备105的其他输入模态来移动虚拟锚定件401。
49.为了便于放置和/或移动虚拟锚定件401,电子设备105可突出显示虚拟锚定件的物理环境300中的潜在位置(例如,以帮助用户选择固定位置)。例如,可基于用户的视场、注视位置和/或移动速度来动态地突出显示物理环境300中的潜在位置(例如,以允许用户将虚拟锚定件401放置或投射到推荐位置)。潜在位置可以是空间中具有用于特定虚拟内容的足够空间的位置,或者在可能适合显示虚拟内容的其他物理对象处或附近的位置。
50.图4的示例可导致不同于来自xr应用程序的期望xr环境的xr环境。例如,为了使xr环境对用户来说看起来和感觉真实,使虚拟杯子漂浮在空间中的虚拟锚定件可能是不期望的。
51.在一些情况下,本发明所公开的系统和方法可通过在物理锚定对象在物理环境中不可用时提供对应于所请求的物理锚定对象的虚拟锚定对象来提供改善的xr体验。例如,如果物理环境是合适的(例如,如果房间的地板上存在空间)并且如果所请求的锚定件是物
理对象(例如,水平表面、桌子或墙壁),则可渲染并显示该所请求的物理对象的虚拟版本。
52.图5示出了示例,其中物理环境300包括物理墙壁302,但不包括物理桌子,并且其中提供虚拟桌子504作为对应于不可用的物理锚定对象的虚拟锚定对象。如图5所示,虚拟锚定对象诸如虚拟桌子504可被渲染以用于显示,使得虚拟桌子504在用户101看来位于或锚定到虚拟锚定件401在物理环境中的固定位置。在该示例中,虚拟桌子的腿中的一个腿的底部位于虚拟锚定件401处(例如,如由距物理地板306的距离(在该示例中为零)、距物理墙壁302的距离502以及距物理墙壁302的端部的距离500所定义),并且虚拟桌子504的剩余部分(例如,桌面和其他腿)基于桌子的期望尺寸和形状并且基于物理环境300中用于虚拟桌子的可用空间相对于该位置而生成。在各种示例中,与所请求的物理对象相关联的虚拟锚定对象的尺寸、取向、形状等取决于检测到的环境特征。
53.在图5的示例中,虚拟杯子320被渲染以用于显示在基于虚拟锚定对象(例如,虚拟桌子504)的尺寸、方位、位置和/或形状确定的固定位置处。在该示例中,虚拟杯子320定位在与虚拟锚定件401的位置不同的位置处,但相对于虚拟锚定件和物理环境固定在由桌子的特征确定的位置处。还应当理解,虚拟锚定件401相对于图5中的虚拟锚定对象和虚拟杯子320的位置仅是例示性的,并且其中虚拟内容锚定到本身锚定到相对于物理环境的固定位置的虚拟锚定对象的其他布置是可能的。例如,虚拟锚定件可位于虚拟锚定对象上的另一位置(例如,桌面的中心)处,与虚拟锚定对象分开,或者虚拟锚定对象本身可为虚拟锚定件。在各种示例中,使用虚拟锚定件渲染用于显示在物理环境中的固定位置处的虚拟内容可包括相对于所渲染的虚拟锚定对象定位所渲染的虚拟内容。
54.在生成虚拟锚定对象(例如,图5的示例中的虚拟桌子)之前,电子设备105可基于物理环境300的环境信息来识别用于虚拟锚定对象的可用空间。电子设备105可基于用于虚拟锚定对象的所识别的可用空间来确定虚拟锚定对象的尺寸。电子设备105可向用户101提供调整虚拟锚定对象的尺寸的能力(例如,使用基于手势的输入、基于控制器的输入或其他输入)。
55.在一些情况下,电子设备105可确定物理环境不适于提供对应于所请求的物理锚定对象的虚拟锚定对象(例如,如果房间中没有虚拟桌子的空间,或者如果没有墙壁的清晰视野)。在物理环境不适于提供虚拟锚定对象的情况下,可提供作为空间中没有相关联的虚拟锚定对象的点的虚拟锚定件(如图4的示例中那样),或者可生成虚拟入口以在其中渲染所请求的物理锚定对象的虚拟版本的xr环境中创建空间。这尤其可用于诸如公共汽车或飞机上的拥挤空间,其中虚拟入口可创建部分浸入式环境,该部分浸入式环境用其中可显示物理对象的虚拟版本(例如,虚拟桌子、虚拟电影屏幕、虚拟墙壁)的空间替换附近的对象(诸如用户前方的座椅和托盘桌)。
56.图6示出了不包括用于渲染虚拟锚定对象诸如图5的虚拟桌子、虚拟墙壁等的足够空间的物理环境600的示例。在图6的示例中,用户101(其可穿戴电子设备105)查看物理环境600的一部分,该部分包括用户坐在的一行前方一行中的三个座椅602(例如,飞机座椅或公共汽车座椅)的背部,并且包括用户自己的座椅的扶手604和用户腿部601的一部分。
57.在电子设备105的xr应用程序在用户处于物理环境600中时请求物理桌子形式的物理锚定对象的场景中,物理环境600不包括所请求的物理锚定对象,并且电子设备105可确定物理环境600中没有足够空间用于对应于所请求的物理桌子的虚拟锚定对象。
58.图7示出了电子设备105生成并渲染用于显示在物理环境600的一部分上方的虚拟入口700的示例。在该示例中,通过渲染用于显示在虚拟入口700中的虚拟锚定对象,电子设备105渲染虚拟锚定对象诸如虚拟桌子504以用于显示在相对于物理环境的固定位置处。在该示例中,虚拟入口和/或虚拟桌子可锚定到物理环境(例如,锚定到一个座椅602上的位置)。
59.如图7所示,提供虚拟入口700可包括阻挡用户查看物理环境的一部分。这可包括利用电子设备105的显示器阻止物理环境的视野以及利用显示器显示所渲染的虚拟环境。在一个示例中,利用显示器阻止物理环境的视野可包括终止来自电子设备的相机的对应于物理环境的被阻挡部分的透传视频馈送的显示。在另一个示例中,利用显示器阻止物理环境的视野可包括利用设置在物理环境与用户眼睛之间的电子设备的透明或半透明显示器将显示器光导向到用户眼睛中。虚拟锚定对象和锚定到该对象的虚拟内容可随后被渲染并显示在虚拟入口700中(例如,覆盖在虚拟入口上)。
60.如箭头702所示,虚拟入口700可由用户调节(例如,调整尺寸)。例如,用户可伸出他们的手到达在用户看来是虚拟入口700的拐角或边缘的位置,并且夹捏或以其他方式虚拟地抓持拐角或边缘,并且拉动或推动虚拟边缘以增大或减小虚拟入口的尺寸。以此方式增大或减小虚拟入口700的尺寸使得虚拟入口700显示在物理环境600的扩展部分或减小部分上方。在一些情况下,虚拟入口的尺寸可能受到物理环境特性的限制。例如,如果用户调整虚拟入口700的尺寸,直到虚拟入口的边缘遇到飞机或公共汽车的物理墙壁704,则可防止用户进一步增大虚拟入口700的尺寸,或者可用虚拟环境来替代虚拟入口。
61.图8示出了示例,其中图6和图7的物理环境600的用户视野被所显示的虚拟环境800阻挡,用户自己的腿601和用户自己座椅的扶手604的用户视野除外。在图8的示例中,用户的腿和扶手保持可见以帮助用户在虚拟环境中取向。然而,这仅是例示性的,并且在其他示例中,更多或更少(例如没有)物理对象和/或环境对于用户可能是可见的。
62.当用户将虚拟入口的尺寸调整为超过预定尺寸(例如,超过用户的180度视场)时或当初始确定物理环境中没有足够空间用于虚拟锚定对象(例如,如果用户设置偏好虚拟环境而不是虚拟入口)时,可提供虚拟环境800。在图8的示例中,电子设备105已在物理环境600上方渲染并显示虚拟环境800,并且已渲染并显示虚拟锚定对象(例如,虚拟墙壁804)以用于显示在相对于物理环境600的固定位置处(例如,通过渲染虚拟环境800中的固定位置处的虚拟锚定对象)。尽管对用户不可见,但至少一个位置诸如虚拟墙壁804上的点锚定到物理环境600中的位置,使得虚拟内容(例如,图6的示例中的虚拟电影屏幕802)可锚定到虚拟锚定件。这样,即使用户移动和/或环视物理环境600,虚拟内容也可显示在虚拟环境800中的固定位置处。
63.在各种操作场景中,虚拟环境800可以是人造环境(例如,虚拟电影院、虚拟海滩等),或者可以是与当前物理环境600不同的已知物理环境的虚拟版本。例如,已知物理环境可以是用户的家、用户的客厅、用户的卧室、用户的办公室、用户的汽车或先前映射(例如,由电子设备105或具有深度感测和/或成像能力的另一台设备)的任何其他物理环境。已知物理环境可包括一个或多个已知物理锚定对象(例如,用户的电视台架、用户的卧室墙壁、用户的厨房桌子、用户的办公桌等)。可独立于已知物理环境和/或作为已知物理环境的一部分来请求已知物理锚定对象。
64.在图8的示例中,虚拟环境可包括其他虚拟对象,诸如对应于用户客厅中的物理茶几的虚拟茶几806。在该示例中,所请求的物理锚定对象可以是用户客厅中的已知物理墙壁,并且虚拟锚定对象可以是与用户客厅的壁对应(例如,在尺寸、形状、颜色、位置等方面)的虚拟墙壁804。这样,可向用户提供虚拟环境,该虚拟环境固定(例如,锚定)到当前物理环境,并且使用户感觉好像他们处于不同的已知物理环境(例如,使得即使在飞机上、公共汽车上或在酒店房间中,用户也可以感觉好像他们正在自己的客厅中观看电影或在自己的办公桌上工作)。
65.如在图8的示例中那样显示虚拟环境可包括利用电子设备105的显示器阻止物理环境600的视野以及利用显示器显示所渲染的虚拟环境800。利用显示器阻止物理环境的视野可包括终止来自电子设备的相机的透传视频馈送中的一些或全部透传视频馈送的显示,或者可包括利用设置在物理环境与用户眼睛之间的电子设备的透明或半透明显示器将显示器光导向到用户眼睛中。
66.图9示出了根据本主题技术的具体实施的用于为扩展现实显示设备提供虚拟锚定的示例性过程900的流程图。出于解释的目的,本文主要参考图1和图2的电子设备105来描述过程900。然而,过程900不限于图1和图2的电子设备105,并且过程900的一个或多个框(或操作)可由其他合适设备(包括电子设备110、手持式电子设备114、电子设备115和/或服务器120)的一个或多个其他部件来执行。进一步出于解释的目的,过程900的一些框在本文中被描述为顺序地或线性地发生。然而,过程900的多个框可并行地发生。此外,过程900的框不必按所示顺序执行,并且/或者过程900的一个或多个框不必执行和/或可由其他操作替代。
67.如图9所示,在框902处,电子设备诸如电子设备105获取电子设备物理环境的环境信息。环境信息可包括深度信息、图像信息、对象信息和/或关于物理环境的其他三维信息(例如,如使用一个或多个深度传感器诸如传感器152和/或一个或多个相机诸如电子设备的相机150所测定)。
68.在框904处,电子设备(例如,从映射和对象检测引擎诸如图2的映射和对象检测引擎200处的xr应用程序诸如xr应用程序202)接收对物理环境中的物理锚定对象(例如,物理桌子、水平面、竖直面、物理墙壁、物理地板、沙发、椅子、电视台架、窗户、树木、花、云等)的请求。
69.在框906处,电子设备基于环境信息来确定物理锚定对象在物理环境中不可用。
70.在框908处,电子设备生成在物理环境中具有固定位置的虚拟锚定件。固定位置可相对于物理环境中的一个或多个对象或位置来限定。虚拟锚定件可为空间中的点和/或可与对应于所请求的物理锚定对象的虚拟锚定对象相关联。例如,电子设备可生成对应于物理锚定对象的虚拟锚定对象。
71.在框910处,响应于对物理锚定对象的请求,电子设备提供虚拟锚定件(例如,从映射和对象检测引擎诸如映射和对象检测引擎200提供到xr应用程序诸如xr应用程序202)。
72.在框912处,电子设备使用虚拟锚定件来渲染虚拟内容以用于显示在物理环境中的固定位置处。电子设备还可渲染虚拟锚定对象以用于显示在该固定位置处或相对于物理环境中的固定位置限定的另一个固定位置处。使用虚拟锚定件渲染用于显示在物理环境中的固定位置处的虚拟内容可包括相对于所渲染的虚拟锚定对象定位所渲染的虚拟内容(例
如,通过如图5或图7的示例中那样将虚拟杯子320定位在虚拟桌子504上,或者如图8的示例中那样将虚拟电影屏幕802定位在虚拟墙壁804上)。
73.图10示出了可以利用其来实现本主题技术的一个或多个具体实施的电子系统1000。电子系统1000可以是图1所示的电子设备105、手持式电子设备104、电子设备110、电子设备115和/或服务器120并且/或者可以是其一部分。电子系统1000可包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统1000包括总线1008、一个或多个处理单元1012、系统存储器1004(和/或缓存)、rom 1010、永久性存储设备1002、输入设备接口1014、输出设备接口1006以及一个或多个网络接口1016,或其子集及变体形式。
74.总线1008总体表示通信地连接电子系统1000的许多内部设备的全部系统总线、外围设备总线和芯片组总线。在一个或多个具体实施中,总线1008将一个或多个处理单元1012与rom 1010、系统存储器1004和永久性存储设备1002通信地连接。一个或多个处理单元1012从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本主题公开的过程。在不同的具体实施中,一个或多个处理单元1012可为单个处理器或者多核处理器。
75.rom 1010存储一个或多个处理单元1012以及电子系统1000的其他模块所需的静态数据和指令。另一方面,永久性存储设备1002可为读写存储器设备。永久性存储设备1002可为即使在电子系统1000关闭时也存储指令和数据的非易失性存储器单元。在一个或多个具体实施中,海量存储设备(诸如,磁盘或光盘及其对应的磁盘驱动器)可被用作永久性存储设备1002。
76.在一个或多个具体实施中,可移除存储设备(诸如软盘、闪存驱动器及其对应的磁盘驱动器)可以用作永久性存储设备1002。与永久性存储设备1002一样,系统存储器1004可为读写存储器设备。然而,与永久性存储设备1002不同,系统存储器1004可为易失性读写存储器,诸如随机存取存储器。系统存储器1004可存储一个或多个处理单元1012在运行时可能需要的指令和数据中的任何指令和数据。在一个或多个具体实施中,本主题公开的过程被存储在系统存储器1004、永久性存储设备1002和/或rom 1010中。一个或多个处理单元1012从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一个或多个具体实施的过程。
77.总线1008还连接至输入设备接口1014和输出设备接口1006。输入设备接口1014使得用户能够向电子系统1000传送信息以及选择命令。可与输入设备接口1014一起使用的输入设备可包括例如字母数字混合键盘和指向设备(也称为“光标控制设备”)。输出设备接口1006可例如使得能够显示电子系统1000所生成的图像。可与输出设备接口1006一起使用的输出设备可包括例如打印机和显示设备,诸如液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其他设备。一个或多个具体实施可包括既充当输入设备又充当输出设备的设备,诸如触摸屏。在这些具体实施中,提供给用户的反馈可以是任何形式的感官反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
78.最后,如图10所示,总线1008还通过一个或多个网络接口1016将电子系统1000耦接到一个或多个网络和/或耦接到一个或多个网络节点,诸如图1中所示的电子设备110。以
此方式,电子系统1000可为计算机网络(诸如lan、广域网(“wan”)或内联网)的一部分,或者可为网络的网络(诸如互联网)的一部分。电子系统1000的任何或所有部件可与本主题公开一起使用。
79.上述这些功能可在计算机软件、固件或硬件中实现。该技术可使用一个或多个计算机程序产品实现。可编程处理器和计算机可包括在移动设备中或封装为移动设备。该过程和逻辑流程可由一个或多个可编程处理器和一个或多个可编程逻辑电路执行。通用和专用计算设备以及存储设备可通过通信网络互连。
80.一些具体实施包括将计算机程序指令存储在机器可读或计算机可读介质(也称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子部件,诸如微处理器、存储装置以及存储器。此类计算机可读介质的一些示例包括ram、rom、只读光盘(cd

rom)、可刻录光盘(cd

r)、可重写光盘(cd

rw)、只读数字通用光盘(例如,dvd

rom、双层dvd

rom)、各种可刻录/可重写dvd(例如,dvd

ram、dvd

rw、dvd rw等)、闪存存储器(例如,sd卡,mini

sd卡、micro

sd卡等)、磁性和/或固态硬盘驱动器、只读和可刻录盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的示例包括机器代码,诸如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。
81.虽然上述论述主要涉及执行软件的微处理器或多核处理器,但一些具体实施由一个或多个集成电路诸如专用集成电路(asic)或现场可编程门阵列(fpga)执行。在一些具体实施中,此类集成电路执行存储在电路自身上的指令。
82.如本说明书以及本专利申请的任何权利要求所用,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子或其它技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如本说明书以及本专利申请的任何权利要求所使用的,术语“计算机可读介质”以及“计算机可读媒介”完全限于以可由计算机读取的形式存储信息的可触摸的有形物体。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。
83.为了提供与用户的交互,本说明书中所述的主题的具体实施可在具有用于向用户显示信息的显示设备以及用户可用来向计算机提供输入的键盘和指向设备的计算机上实现,显示设备为例如crt(阴极射线管)或lcd(液晶显示器)监视器,指向设备为例如鼠标或轨迹球。其他种类的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可通过向用户所使用的设备发送文档以及从其接收文档来与用户进行交互;例如,通过响应于从用户客户端设备上的web浏览器接收的请求而将网页发送到该web浏览器。
84.本说明书中所述的主题的实施方案可在计算系统中实现,该计算系统包括后端部件,例如作为数据服务器,或者包括中间件部件,例如应用服务器,或者包括前端部件,例如具有图形用户界面或web浏览器的客户端计算机,用户可通过该图形用户界面或web浏览器与本说明书中所述的主题的具体实施进行交互,或者包括一个或多个此类后端部件、中间件部件或前端部件的任何组合。系统的部件可通过任何形式或介质的数字数据通信例如通
信网络来互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网络(例如,互联网)和对等网络(例如,自组织对等网络)。
85.计算系统可包括客户端和服务器。客户端和服务器一般是相互远离的,并且可通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端

服务器关系的计算机程序而产生。在某些具体实施中,服务器将数据(例如,html页面)传输到客户端设备(例如,为了向与该客户端设备交互的用户显示数据以及从与该客户端设备交互的用户接收用户输入)。在服务器处可以从客户端设备接收客户端设备处生成的数据(例如,用户交互的结果)。
86.根据本主题公开的各方面,提供了一种方法,该方法包括:利用电子设备来获取电子设备的物理环境的环境信息;由所述电子设备接收对所述物理环境中的物理锚定对象的请求;基于所述环境信息来确定所述物理锚定对象在所述物理环境中不可用;生成在所述物理环境中具有固定位置的虚拟锚定件;响应于对所述物理锚定对象的所述请求,提供所述虚拟锚定件;以及由电子设备使用虚拟锚定件来渲染用于显示在物理环境中的固定位置处的虚拟内容。
87.根据本主题公开的各方面,提供了一种系统,该系统包括处理器和存储器设备,该存储器设备包含指令,该指令在由处理器执行时使得处理器执行包括以下操作的操作:利用电子设备来获取电子设备的物理环境的环境信息;由所述电子设备接收对所述物理环境中的物理锚定对象的请求;基于所述环境信息来确定所述物理锚定对象在所述物理环境中不可用;生成在所述物理环境中具有固定位置的虚拟锚定件;响应于对所述物理锚定对象的所述请求,提供所述虚拟锚定件;以及由电子设备使用虚拟锚定件来渲染用于显示在物理环境中的固定位置处的虚拟内容。
88.根据本主题公开的各方面,提供了一种包括指令的非暂态计算机可读介质,该指令在由计算设备执行时使得计算设备执行包括以下操作的操作:利用电子设备来获取电子设备的物理环境的环境信息;由所述电子设备接收对所述物理环境中的物理锚定对象的请求;基于所述环境信息来确定所述物理锚定对象在所述物理环境中不可用;生成在所述物理环境中具有固定位置的虚拟锚定件;响应于对所述物理锚定对象的所述请求,提供所述虚拟锚定件;以及由电子设备使用虚拟锚定件来渲染用于显示在物理环境中的固定位置处的虚拟内容。
89.本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件取决于具体应用以及对整个系统施加的设计约束。所述功能可针对每个特定应用以不同方式实现。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离本主题技术的范围。
90.应当理解,本发明所公开的过程中的步骤的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的步骤的特定顺序或者分级结构可被重新布置。该步骤中的一些步骤可被同时执行。所附方法权利要求呈现样本次序中的各种步骤的元素,并且不意味着限于所呈现的特定顺序或分级结构。
91.先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。先前
描述提供了本主题技术的各种示例,并且本主题技术不限于这些示例。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的各个方面,而是旨在使得全部范围与语言权利要求书一致,其中提及单数形式的要素并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和副标题(如果有的话)仅用于方便,并不限制本文所述的本发明。
92.如本文所用,术语网站可包括网站的任何方面,包括一个或多个网页、用于托管或存储网络相关内容的一个或多个服务器等。因此,术语网站可与术语网页和服务器互换使用。谓词字词“被配置为”、“能够操作以”以及“被编程以”并不意味着对某一主题进行任何特定的有形或无形的修改而是旨在可互换使用。例如,部件或被配置为监视和控制操作的处理器也可能意味着处理器被编程以监视和控制操作或者处理器能够操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或能够操作以执行代码的处理器。
93.如本文所用,术语自动可包括由计算机或机器的执行而无需用户干预;例如,通过响应于计算机或机器或其他启动机构的谓词动作的指令。字词“示例”在本文用于意指“用作示例或者例示”。本文作为“示例”所述的任何方面或者设计不一定被理解为比其他方面或者设计优选或者有利。
94.短语诸如“方面”不意味此方面对本主题技术是必需的或者此方面应用于本主题技术的所有配置。与一个方面相关的公开可应用于所有配置,或者一个或多个配置。一个方面可提供一个或多个示例。短语诸如方面可指一个或多个方面,反之亦然。短语诸如“实施方案”不意味此实施方案对本主题技术是必需的或者此实施方案应用于本主题技术的所有配置。与一个实施方案相关的公开可应用于所有实施方案,或者一个或多个实施方案。一个实施方案可提供一个或多个示例。短语诸如“实施方案”可指一个或多个实施方案,反之亦然。短语诸如“配置”不意味此配置是本主题技术必需的或者此配置应用于本主题技术的所有配置。与配置相关的公开可应用于所有配置或者一个或多个配置。配置可提供一个或多个示例。短语诸如“配置”可指一个或多个配置,反之亦然。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜