CN117331434A - 在3d环境内定位内容 - Google Patents

在3d环境内定位内容 Download PDF

Info

Publication number
CN117331434A
CN117331434A CN202310794047.9A CN202310794047A CN117331434A CN 117331434 A CN117331434 A CN 117331434A CN 202310794047 A CN202310794047 A CN 202310794047A CN 117331434 A CN117331434 A CN 117331434A
Authority
CN
China
Prior art keywords
content
screen
virtual
environment
view
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310794047.9A
Other languages
English (en)
Inventor
J·R·库珀
J·帕克
M·马科特
B·A·雷克滕瓦尔德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/214,865 external-priority patent/US20240005623A1/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN117331434A publication Critical patent/CN117331434A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开涉及在3D环境内定位内容。本文所公开的各种具体实施包括提供在其中呈现虚拟内容的三维(3D)环境的视图的设备、系统和方法。例如,示例性过程可包括获得虚拟内容并通过以下方式将该虚拟内容定位在3D环境的视图内:确定屏幕上内容和屏幕外内容,将该屏幕上内容定位在该3D环境内的虚拟屏幕上,以及将屏幕外内容定位在该3D环境内的该虚拟屏幕之外。该方法还可包括呈现该3D环境的该视图,包括在该虚拟屏幕上呈现该屏幕上内容以及在该虚拟屏幕之外呈现该屏幕外内容。

Description

在3D环境内定位内容
技术领域
本公开整体涉及使用电子设备来显示内容,并且具体地涉及在三维(3D)环境的视图内定位内容的系统和方法。
背景技术
电子设备通常用于向用户呈现包括虚拟内容和来自周围物理环境的内容的视图。可能期望以更有趣或更吸引人的方式来提供三维(3D)环境内的内容的视图。
发明内容
本文所公开的各种具体实施包括提供在其中呈现内容(例如,二维(2D)或3D图像或视频、3D模型或几何形状、它们的组合等)的三维(3D)环境的视图的设备、系统和方法。该内容可以是交互式的或非交互式的,并且可以使用虚拟屏幕在3D环境的视图内呈现。内容的屏幕上部分(例如,背景)可呈现在虚拟屏幕上(例如,在有界平面区域上),并且内容的屏幕外部分(例如,前景、角色、某些对象)可以3D形式呈现在该虚拟屏幕前面或向上/向下/向左/向右延伸超出虚拟屏幕的界限。屏幕上部分可以是立体的,并且因此仍然具有3D外观。屏幕外内容的3D外观可通过其在虚拟屏幕的边界前面或超过虚拟屏幕的边界的3D位置处的定位来强调,例如,恐龙可能看起来正在观看者的房间中朝向观看者行走。确定内容的哪些部分在屏幕上以及内容的哪些部分在屏幕外可以是预先确定的或在运行时确定,例如,基于跨边界的角色。例如,确定何时显示屏幕上内容以及屏幕外内容可基于跟踪恐龙何时跨过特定边界、基于输入、用户注视/位置、场景理解等。
在一些具体实施中,可在一组或多组不同的视图中提供虚拟内容以改善用户体验(例如,在佩戴头戴式显示器(HMD)时)。一些具体实施允许与虚拟内容(例如,应用程序小组件)交互。在一些具体实施中,设备(例如,手持式设备、膝上型计算机、台式计算机或HMD)向用户提供3D环境的视图(例如,视觉体验和/或听觉体验)并用传感器获得与用户的响应相关联的生理数据(例如,注视特性)和运动数据(例如,控制器移动化身、头部移动等)。基于所获得的传感器数据,本文所述的技术可通过跟踪用户的注视特性和其他交互(例如,物理环境中的用户移动)来确定在观看3D环境(例如,扩展现实(XR)环境)期间用户的前庭提示。基于前庭提示,这些技术可检测与虚拟内容的交互并且提供一组不同的视图以改善用户在观看3D环境时的体验。
一般来讲,本说明书中描述的主题的一个创新方面可体现于在具有处理器的电子设备处进行的包括获得三维(3D)内容的动作的方法中。该方法还包括将内容定位在3D环境的视图内的动作,其中定位内容包括:确定屏幕上内容和屏幕外内容,将屏幕上内容定位在3D环境内的虚拟屏幕上,以及将屏幕外内容定位在3D环境内的虚拟屏幕之外。该方法还包括呈现3D环境的视图的动作,该动作包括在虚拟屏幕上呈现屏幕上内容以及在虚拟屏幕之外呈现屏幕外内容。
这些实施方案和其他实施方案均可任选地包括以下特征中的一个或多个特征。
在一些方面,该方法还包括以下动作:跟踪对象在虚拟内容内的3D位置;基于对象的3D位置来更新3D环境的视图。
在一些方面,该方法还包括以下动作:基于对象在内容内的3D位置来确定对象是屏幕上内容、屏幕外内容或它们的组合。
在一些方面,该方法还包括以下动作:基于屏幕外内容在3D环境内的虚拟屏幕之外的定位来修改环境光的水平。在一些方面,在接近屏幕外内容的阈值距离内修改环境光的水平。
在一些方面,该方法还包括以下动作:基于获得对应于3D环境的传感器数据来确定对3D环境的场景理解,其中该场景理解确定3D环境中的一或多个对象的几何性质;以及基于对3D环境的场景理解来更新3D环境的视图。
在一些方面,该方法还包括以下动作:获得3D环境的视图的观看者的用户信息;以及基于该用户信息来更新3D环境的视图。
在一些方面,用户信息包括以下中的至少一者:头部姿态数据、观看者在3D环境内的位置信息和生理数据。
在一些方面,屏幕外内容包括活动对象和前景内容,并且其中将屏幕外内容定位在3D环境内的虚拟屏幕之外包括:将活动对象定位在距离虚拟屏幕的第一距离处的第一3D位置处;以及将前景内容定位在距离虚拟屏幕的第二距离处的第二3D位置处,其中第一距离不同于第二距离。
在一些方面,虚拟内容包括一个或多个可选择对象,并且该方法还包括以下动作:在呈现3D环境的视图时检测与一个或多个可选择对象中的第一对象的用户交互;以及基于检测到用户交互来更新3D环境的视图。
在一些方面,确定屏幕上内容和屏幕外内容基于对应于虚拟屏幕的外边缘的边界。
在一些方面,确定屏幕上内容和屏幕外内容基于与虚拟屏幕相关联的边界框。
在一些方面,确定屏幕上内容和屏幕外内容基于边界,并且该方法还包括以下动作:跟踪对象在虚拟内容内的3D位置;基于对象的3D位置来更新边界;以及基于对象的3D位置和更新的边界来更新3D环境的视图。
在一些方面,该方法还包括以下动作:确定视图的视点相对于3D环境中的虚拟内容的位置关系;以及基于该位置关系来更新3D环境的视图。
在一些方面,虚拟内容包括一个或多个3D模型,并且其中屏幕外内容由一个或多个3D模型中的至少一者表示。在一些方面,屏幕上内容由一个或多个3D模型中的至少另一者表示。
在一些方面,虚拟内容包括使用2D图像、3D图像、2D视频或3D视频纹理化的虚拟表面。在一些方面,3D图像包括立体图像对,该立体图像对包括对应于左眼视点的左眼内容和对应于右眼视点的右眼内容。在一些方面,3D视频包括被存储为等矩形投影的立体视频内容。在一些方面,屏幕上内容的至少一部分由纹理化虚拟表面表示。在一些方面,虚拟表面包括圆柱形壳体的一部分。在一些方面,虚拟表面以虚拟屏幕的中心为中心。
在一些方面,该方法还包括以下动作:基于3D环境的视图的视点来确定用于在3D环境内投影虚拟内容的位置。
在一些方面,3D环境是物理环境。在一些方面,3D环境是虚拟环境。在一些方面,3D环境是扩展现实(XR)环境。在一些方面,电子设备包括头戴式设备(HMD)。
根据一些具体实施中,非暂态计算机可读存储介质中存储有指令,所述指令是计算机可执行的以执行或使得执行本文所述的任何方法。根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序。该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1示出了根据一些具体实施的向物理环境中的用户呈现3D环境的视图的设备。
图2A至图2C示出了根据一些具体实施的图1的电子设备的示例性视图。
图3A和图3B示出了根据一些具体实施的基于用户交互的图1的电子设备的示例性视图。
图4示出了根据一些具体实施的基于用户交互的图1的电子设备的示例性视图。
图5A和图5B示出了根据一些具体实施的图1的电子设备的示例性视图。
图6A至图6D示出了根据一些具体实施的图1的电子设备的示例性视图。
图7是根据一些具体实施的用于呈现包括内容呈现的三维(3D)环境的视图的方法的流程图表示。
图8示出了根据一些具体实施的示例性设备的设备部件。
图9示出了根据一些具体实施的HMD的示例。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将会知道,其他有效方面或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
图1示出了示例性物理环境100。图1示出了在物理环境100的房间中操作的示例性电子设备110。在该示例中,房间包括屏幕120、沙发130、壁挂170(在侧壁上)以及壁挂172和174(在与屏幕120相同的后壁上)。屏幕120可以是物理结构或对象(例如,投影仪屏幕),或者屏幕120可表示设备110可向用户显示内容的墙壁上的空间或区域(例如,用于显示内容的墙壁上的空白区域)。在其他示例中,屏幕120可表示与可显示虚拟屏幕的墙壁(或其他表面)分离的空间(例如,可显示浮动虚拟屏幕的房间中的开放空间)。
电子设备110被示出为由用户25佩戴,例如,头戴式设备(HMD)。在不同的实施方案中,设备110可由用户25佩戴。例如,电子设备110可以是手表、具有经由光学元件(例如,眼镜)的光学透视或视频直通视图的头戴式设备、头戴式耳机、耳挂式设备等。电子设备110可以是手持式设备、移动电话、平板计算机、膝上型计算机等。设备110可利用一个或多个显示元件来呈现视图。例如,设备110可显示包括扩展现实(XR)环境的上下文中的内容(例如,在屏幕120上显示的虚拟内容)的视图。在一些具体实施中,设备110可包围用户25的视场。在一些具体实施中,设备110的功能由多于一个设备提供。在一些具体实施中,设备110与单独的控制器或服务器通信以管理和协调用户的体验。这样的控制器或服务器可位于物理环境100中或者可相对于该物理环境是远程的。
电子设备110可包括一个或多个相机、麦克风、深度传感器、运动传感器或可用于捕获关于物理环境100和/或用户25的信息(例如,生理数据)并评估该物理环境和/或用户的其他传感器。
在一些具体实施中,电子设备110可呈现三维(3D)环境(例如,扩展现实(XR)环境),并且3D环境的视觉特性可连续地改变。头部姿态测量可由惯性测量单元(IMU)或其他跟踪系统获得。在一个示例中,用户可在持有、佩戴或接近包括获得生理数据以评价指示用户的注视特性的眼睛特性以及用户的运动数据的一个或多个传感器的电子设备时感知真实世界物理环境。
在一些具体实施中,由电子设备110呈现的3D环境的视图可占据显示器的整个显示区域。例如,内容可包括一系列图像作为呈现给用户的视觉特性和/或音频提示(例如,HMD上的360度视频)。
设备110可经由传感器(例如,面向用户以捕获用户的面部特征和/或眼睛注视的光强度数据和/或深度数据的一个或多个相机)从用户25获得生理数据(例如,瞳孔数据)。例如,设备110可获得眼睛注视特性数据。尽管本文讨论的该示例和其他示例示出了真实世界物理环境100中的单个设备110,但是本文公开的技术适用于多个设备以及虚拟和其他真实世界物理环境。例如,设备110的功能可由多个设备执行。
在一些具体实施中,设备110包括用于获取物理环境的图像数据的传感器。图像数据可包括光强度图像数据和/或深度数据。例如,一个传感器可以是用于捕获RGB数据的一个或多个摄像机,并且另一个传感器可以是用于捕获深度数据的一个或多个深度传感器(例如,结构光传感器、渡越时间传感器等)。
在一些具体实施中,设备110包括用于检测眼睛位置和眼睛移动的眼睛跟踪系统。例如,眼睛跟踪系统可包括一个或多个红外(IR)发光二极管(LED)、眼睛跟踪相机(例如,近红外(NIR)照相机)和向用户25的眼睛发射光(例如,NIR光)的照明源(例如,NIR光源)。此外,设备110的照明源可发射NIR光以照明用户25的眼睛,并且NIR相机可捕获用户25的眼睛的图像。在一些具体实施中,可分析由眼睛跟踪系统捕获的图像以检测用户25的眼睛的位置和移动,或检测关于眼睛的其他信息诸如瞳孔扩张或瞳孔直径。此外,从眼睛跟踪图像估计的注视点可使得能够与设备110的显示器上示出的内容进行基于注视的交互。
在一些具体实施中,设备110具有图形用户界面(GUI)、一个或多个处理器、存储器以及存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些具体实施中,用户25通过触敏表面上的手指接触和手势与GUI进行交互。在一些具体实施中,这些功能包括图像编辑、绘图、呈现、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频录制、网页浏览、数字音乐播放和/或数字视频播放。用于执行这些功能的可执行指令可被包括在被配置用于由一个或多个处理器执行的计算机可读存储介质或其他计算机程序产品中。
在一些具体实施中,设备110采用各种传感器、检测或测量系统。在示例性具体实施中,检测的生理数据包括由IMU或其他跟踪系统确定的头部姿态测量。在一些具体实施中,检测的生理数据可包括但不限于:脑电图(EEG)、心电图(ECG)、肌电图(EMG)、功能近红外光谱信号(fNIRS)、血压、皮肤电导或瞳孔响应。此外,设备110可同时检测多种形式的生理数据,以便受益于生理数据的同步采集。此外,在一些具体实施中,生理数据表示非自愿数据,即,不受意识控制的响应。例如,瞳孔响应可表示非自愿移动。
在一些具体实施中,应用机器学习模型(例如,经训练的神经网络)来识别生理数据中的模式,包括识别对观看3D环境的生理响应。此外,该机器学习模型可用于将这些模式与对应于用户25交互的兴趣或意图的指示的学习模式相匹配。在一些具体实施中,本文描述的技术可学习特定于特定用户25的模式。例如,该技术可从确定峰模式表示用户25响应于在观看3D环境时的特定视觉特性的兴趣或意图的指示开始学习,并且使用该信息以随后识别类似的峰模式作为用户25的兴趣或意图的另一个指示。这种学习可考虑到用户与多个视觉特性的相对交互,以便进一步调整视觉特征并增强用户对3D环境的生理响应。
在一些具体实施中,用户25的头部的位置和特征(例如,眼睛、鼻部或鼻孔的边缘)由设备110提取并且用于查找用户25的眼睛的粗略位置坐标,从而简化精确眼睛特征(例如,位置、注视方向等)的确定,并且使得注视特性测量更可靠和稳健。此外,设备110可容易地将头部的部件的3D位置与通过眼睛部件图像分析获得的注视角度信息组合,以便识别用户25在任何给定时间观看到的给定屏幕上对象。在一些具体实施中,使用3D映射结合注视跟踪允许用户25自由地移动他或她的头部和眼睛,同时减少或消除使用头部上的传感器或发射器主动跟踪头部的需要。
在一些具体实施中,瞳孔响应可响应于用户25的一个或两个耳朵检测到的听觉刺激。例如,设备110可包括投射声音的扬声器。设备110可包括其他音频源,例如用于头戴式耳机的头戴式耳机插孔、与外部扬声器的无线连接等。
根据一些具体实施,本文所述的电子设备(例如,电子设备110)可在通信会话期间生成扩展现实(XR)环境并将其呈现给一个或多个用户。
图2A至图2C分别示出了由图1的电子设备110提供的3D环境205的示例性视图200A至200C。视图200A至200C可以是物理环境100的实时相机视图、通过透视显示器的物理环境100的视图、或基于对应于物理环境100的3D模型生成的视图。视图200A至200C包括物理环境100的各方面的描绘,诸如3D环境205的视图200内的屏幕120的表示220、壁挂170的表示270、壁挂172的表示272和壁挂174的表示274。
图2A至图2C进一步示出了3D环境205的视图200A至200C内的内容210(例如,2D或3D图像或视频、3D模型或几何形状、它们的组合等)的多个渲染帧。本文中提供的图示示例中的内容210(例如,恐龙沿着靠近水体的岩石悬崖行走的描绘)包括可基于一或多个准则来不同地显示的不同的元素,如本文进一步讨论的。例如,内容210包括各种元素,诸如前景岩层230、前景岩层230顶部上的树木232、水体242、天空240、山脉244和角色250(例如,恐龙)。在一些示例中,这些元素中的每一者可由3D模型表示。在这些示例中,可基于3D模型、屏幕120的表示220和观看位置(例如,基于设备110的位置)之间的相对定位来呈现内容210的视图。在其他示例中,诸如背景元素(例如,天空240、水体242、山脉244)的某些元素可由定位在前景和中景元素(例如,前景岩层230、树木232和角色250)后面的2D或3D图像或视频表示,该前景和中景元素可由3D模型表示。2D或3D图像或视频可被纹理化到定位在3D模型后面的虚拟表面(例如,弯曲表面,诸如圆柱形壳体的一部分)上。在这些示例中,可基于3D模型、屏幕120的表示220、纹理化表面和观看位置(例如,基于设备110的位置)之间的相对定位来呈现内容210的视图。
图2A的视图200A将内容210描绘为呈现在屏幕120(例如,虚拟屏幕)的表示220的二维有界平面区域上。在一些示例中,内容210可由设备110使用表示定位在有界平面区域(例如,电视或投影屏幕,诸如屏幕120的表示220)上的内容210(任选地在3D环境205内立体地观看)的单个图像来显示为标准2D内容。在其他示例中,内容210可由设备110使用表示定位在有界平面区域上的内容210的立体图像对来显示为3D内容,使得有界平面区域用作进入由内容210表示的环境中的观看入口。图2B和图2C示出了将内容210的不同部分定位在屏幕120的表示220的前面或之外。例如,诸如背景或中景内容(例如,在本文中也称为屏幕上内容)的一些内容可保持被呈现为在屏幕120的表示220的有界平面区域内,并且诸如前景内容(例如,在本文中也称为屏幕外内容)和/或角色(例如,人、动物、运动中的对象等)的其他内容可被呈现为从屏幕120的表示220的有界平面区域出来。
具体地,图2B的视图200B将树木232的至少一部分和前景岩层230示出为呈现在屏幕120的表示220前面的前景内容,而内容210的剩余部分保持呈现在屏幕120的表示220的平面区域上或后面(例如,角色250、天空240、水体242、山脉244等)。图2C的视图200C示出了与具有屏幕上和屏幕外内容的视图200B类似的视图,不同的是视图200C现在包括角色250(例如,恐龙)作为呈现在屏幕120的表示220前面(例如,向用户25走近)的前景内容(屏幕外内容),而内容210的剩余部分保持呈现在屏幕120的表示220的平面区域上或后面(例如,天空240、水体242、山脉244等)。
在一些具体实施中,屏幕外内容的3D外观可通过其在虚拟屏幕(例如,屏幕120的表示220的平面区域)的边界前面或超过该虚拟屏幕的边界的3D位置处的定位来强调。例如,恐龙(角色250)可能看起来正在观看者的房间中朝向观看者行走。确定内容210的哪些部分在屏幕上以及内容的哪些部分在屏幕外可以是预先确定的或在运行时确定。例如,确定内容的哪个部分将被可视化为屏幕外内容可基于内容的跨过边界线的部分(例如,跟踪诸如恐龙的对象何时跨过边界)。除此之外或另选地,确定内容的哪个部分可被可视化为屏幕外内容可基于用户输入、用户注视和/或位置、场景理解等。
图3A、图3B分别示出了由图1的电子设备110提供的3D环境305的示例性视图300A和300B。视图300A和300B可以是物理环境100的实时相机视图、通过透视显示器的物理环境100的视图、或基于对应于物理环境100的3D模型生成的视图。视图300A和300B包括物理环境100的各方面的描绘,诸如3D环境305的视图300内的屏幕120的表示220。
视图300A和300B示出了内容310,其内容不同于来自图2的视图200的内容210。例如,每个视图300A和300B将角色330(例如,虚拟蝴蝶)和背景岩层340示出为屏幕上内容(例如,呈现在屏幕120的表示220的有界平面区域的顶部上的内容)。视图300A示出了位于岩层340顶部上的角色330,其中用户25指向角色330,如用户25的手的表示320所示(例如,发起朝向虚拟角色-蝴蝶的动作)。视图300B示出了基于用户在视图300A中的动作(例如,指向虚拟角色330即蝴蝶,该蝴蝶然后飞向用户25的手的表示320并落在其上)而位于用户25的手的表示320顶部上的角色330。例如,内容310可具有可交互元素(例如,虚拟蝶形),并且本文所述的技术可能够针对特定对象或全部内容生成附加内容并且显示所述内容在屏幕120的表示220的平面区域之外的方向上延伸。可使用设备110的一个或多个传感器基于用户25的跟踪注视信息和/或手跟踪信息来确定虚拟角色330的交互。例如,面向内的相机和其他红外检测系统可能够跟踪用户25的注视方向,并且设备110的面向下和面向外的相机可能够跟踪用户25的手在他或她尝试与内容310交互时的移动。
图3A和图3B示出了交互式3D虚拟元素(例如,角色330-虚拟蝴蝶),其可被配置为与用户、环境、正在显示的内容或它们的组合互动/交互。在一些具体实施中,不同的动作或不同的物理环境(例如,照明条件、环境中存在的人或动物等)可影响虚拟元素/角色的行为或动作。例如,虚拟角色可被配置为:看向用户和其真实世界环境周围;对用户音频输入作出反应(例如,如果用户发出噪声,则虚拟角色可转头看向用户);跟踪头部和/或手定位并且看起来在用户的眼睛与手之间切换注意力(例如,虚拟狗看着骨头并且然后切换到看着用户的眼睛);以及/或者基于用户在3D空间中的移动而移动其身体定位(例如,虚拟角色可在用户接近时后退,或者在用户后退时靠近)。例如,内容310内呈现的虚拟狗角色可离开屏幕120的表示220的平面区域,走向用户25的位置,并且在用户25的前面放下虚拟骨头。然后,用户25可拾取虚拟骨头并且将虚拟骨头扔回内容310中,并且虚拟狗可以看起来追逐虚拟骨头并且重新进入屏幕120的表示220的约束(例如,3D虚拟角色进入2D平面环境)。换句话讲,用户25可与内容310内呈现的虚拟狗角色一起玩“虚拟取物”。在一些具体实施中,虚拟角色可跟踪物理环境中的真实生活照明,并且基于光的与光相关联的光谱、位置和/或方向信息对检测照明效果作出反应(例如,虚拟角色可看向黑暗房间内部的最强照明源,并且基于照明属性做出不同的事情)。
图4示出了由图1的电子设备110提供的3D环境405的示例性视图400。视图400可以是物理环境100的实时相机视图、通过透视显示器的物理环境100的视图、或基于对应于物理环境100的3D模型生成的视图。视图400包括物理环境100的各方面的描绘,诸如3D环境405的视图400内的屏幕120的表示220、壁挂172的表示272和壁挂174的表示274。
图4的视图400包括与图2C的视图200C类似的内容210的视图(例如,在诸如相同的渲染帧的相同时间点观看内容210)。例如,角色250和前景岩层230被呈现为屏幕外内容,而内容210的剩余部分保持如在屏幕120的表示220的平面区域上看到的那样(例如,水体242、天空240、山脉244等)。然而,视图400与视图200C的不同之处在于用户正在从不同的视角观看内容210(例如,用户25正在站立或从物理环境100中的不同位置观看)。例如,图4所示的示例中的用户现在处于物理环境100中的不同位置(例如,站立)处并且与内容210交互,如用户25的手的表示420所示。具体地,用户25正在伸手并且尝试触摸物理环境100中的3D位置,该3D位置在用户25看来是内容210的区域430(例如,触摸恐龙的脚)。另选地,输入设备可用于与内容210交互,而不是用户25伸手触摸3D位置。例如,输入设备可包括棒、指针、或系统(例如,HMD)可识别并确定用户正在伸手与内容210的一部分交互的另一对象。
在该示例中,当用户25与内容210交互时,系统显示交互式窗口440,该交互式窗口包括供用户进一步探索内容210的工具445(例如,放大镜)(如果适用的话)。另外,当用户与内容210的一个或多个部分交互时,可提供其他应用程序和交互式工具。此外,在一些具体实施中,用户可能够选择他或她希望变为屏幕外内容的内容210的一部分。例如,用户可能正在观看图2B的视图200B,并且选择角色250(例如,触摸看起来正在选择/触摸恐龙的区域),并且然后系统可使角色250延伸到屏幕120的表示220的平面区域之外,如图2C的视图200C所示。
图5A、图5B分别示出了由图1的电子设备110提供的3D环境505的示例性视图500A和500B。视图500A和500B可以是物理环境100的实时相机视图、通过透视显示器的物理环境100的视图、或基于对应于物理环境100的3D模型生成的视图。视图500A和500B包括物理环境100的各方面的描绘,诸如3D环境505的视图500内的屏幕120的表示220。
视图500A和500B分别示出了与图2和图3的视图200和300不同的内容210的透视图。每个视图500A和500B将角色250和前景岩层230示出为屏幕外内容(例如,呈现在屏幕120的表示220的有界平面区域前面的内容)。视图500A示出了角色250,该角色延伸到平面区域之外并且延伸到屏幕120的表示220的右侧,而不是图2和图3中的朝向观看者。例如,内容210可具有走出屏幕的角色,但本文所述的技术可能够针对特定对象或全部内容生成附加内容并且显示所述内容在屏幕120的表示220的平面区域之外的所有方向上延伸。在一些具体实施中,内容210可包括要“屏幕外”呈现的内容。
除此之外或另选地,在一些具体实施中,本文所述的技术可生成可屏幕外显示的附加内容。例如,如图5B的视图500B所示,当角色250延伸到屏幕120的表示220的平面区域之外时,本文所述的技术可改变角色250的视图。在该示例中,只要角色延伸到屏幕120的表示220的平面区域之外,角色250(例如,恐龙)就可被变换以作为骨架来观看。除此之外或另选地,除屏幕120的表示220的平面区域之外,本文所述的技术还可使用附加边界。例如,屏幕120的表示220的平面区域之外的边界体积可由距离该平面区域的特定距离(例如,在任一方向上两米)来限定。因此,边界框内部的任何内容将按预期出现(例如,如视图500A所示的恐龙(角色250)),并且边界框之外的任何内容可被变换到骨架视图(例如,如视图500B所示的恐龙(角色250))。另外,当内容延伸到屏幕120的表示220的平面区域和/或边界体积之外时,可利用不同的变换效果(例如,渐淡、照明效果、着色、透明度等)。
图6A至图6D分别示出了由图1的电子设备110提供的3D环境605的示例性视图600A至600D。视图600A至600D可以是物理环境100的实时相机视图、通过透视显示器的物理环境100的视图、或基于对应于物理环境100的3D模型生成的视图。视图600A至600D包括物理环境100的各方面的描绘,诸如3D环境605的视图600内的屏幕120的表示220、壁挂170的表示270、壁挂172的表示272和壁挂174的表示274。
图6A至图6D示出了3D环境605的视图600A至600D内的内容210的单个渲染帧。具体地,视图600A至600D的过渡是当帧在3D环境605内过渡(例如,扩展)时内容210的帧的单个渲染帧的过渡。本文中提供的图示示例中的内容210(例如,恐龙沿着靠近水体的岩石悬崖行走的描绘)包括可基于一或多个准则来不同地显示的不同类型的内容,如本文讨论的。例如,内容210包括前景岩层230、前景岩层230顶部上的树木232、水体242、天空240、山脉244和角色250(例如,恐龙)。
图6A的视图600A将内容210描绘为在缩略图像610(例如,可选择图标)内的屏幕120(例如,虚拟屏幕)的表示220的二维有界平面区域上查看。例如,用户25可通过选择图像610(例如,伸手触摸图标、使用语音命令、经由诸如棒或遥控器的输入设备选择图标等)来经由设备110将内容210作为标准内容来观看,如同它在电视或投影屏幕上(例如,屏幕120的表示220、有界平面区域)显示的那样。图6B的视图600B示出了在选择缩略图像610(例如,用户发起对内容210的观看)之后的过渡效果620。图6C的视图600C示出将内容210定位在屏幕120的表示220的整个墙壁的有界平面区域上,并且替换屏幕120的表示220、壁挂172的表示272以及壁挂174的表示274的视图(例如,创建内容210的大屏幕视图)。除了在整个后壁上示出内容210的与视图600C类似的视图之外,图6D的视图600D包括将内容210的不同部分定位在后壁的有界平面区域的前面。例如,诸如背景或中景内容(例如,屏幕上内容)的一些内容可保持呈现在有界平面区域上,并且诸如前景内容(例如,屏幕外内容)等其他内容可呈现为如同其从后壁的有界平面区域出来那样。具体地,图6D的视图600D将树木232的至少一部分、角色250和前景岩层230示出为前景内容并且呈现在后壁前面并且朝向用户25出来,而内容210的剩余部分保持如在后壁的平面区域上看到的那样(例如,水体242、天空240、山脉244等)。在一些具体实施中,角色250可以是作为屏幕外内容提供的内容210的唯一部分。例如,被恐龙(例如,角色250)追逐的狗角色可被视为在3D环境605周围以及用户25周围(例如,在设备110的视图内,即使用户在物理环境100周围移动他或她的头部时也是如此)奔跑。
在一些具体实施中,图2至图6的内容210可基于电子设备与锚定位置(例如,屏幕120)的接近度随时间被修改。例如,随着用户25越来越近,空间化音频通知(例如,内容210的音频内容)可指示更近的接近度。附加地或另选地,对于视觉图标,如果用户开始在背离屏幕120的不同方向上行走,则虚拟内容可增加大小或开始闪烁。
在一些具体实施中,视觉过渡效果(例如,渐淡、模糊等)可被应用于内容(例如,角色250)的一个或多个部分,以向用户提供更愉快的XR体验。例如,当用户转身离开虚拟内容超过阈值量(例如,在激活区之外)时,视觉过渡效果可被应用于虚拟内容。基于锚定的内容对象来定义激活区鼓励用户保持相对静止并且提供目标对象来聚焦。当用户移动时,应用于虚拟内容的视觉过渡效果可向用户指示虚拟内容将去激活(例如,淡出)。因此,用户可通过从虚拟内容转身离开来摒弃虚拟内容。在一些具体实施中,使虚拟内容过渡消失或淡出可基于转动他们的头部或电子设备110的速率超过阈值或者转动他们的头部或电子设备110的量超过阈值,使得虚拟内容将保持在用户刚好转动他们的头部或电子设备110之前的3D位置中。
在一些具体实施中,系统可检测用户与内容210的交互(例如,伸手“触摸”虚拟内容)并且可生成和显示应用程序窗口(例如,交互式窗口340)。例如,图3中的用户25可提供伸手与区域330的可交互元素交互的运动,并且系统可接着显示新应用程序窗口(例如,考古视频)。在一些具体实施中,系统可检测到用户已经临时将他或她的观看方向移动到激活区(例如,包括内容应用程序窗口的视图的激活区)之外的另一个位置。例如,用户可响应于被物理环境中的某个事件(例如,房间中的另一个人)短暂地转移注意力而从初始激活区移开目光。基于用户从初始激活区“移开目光”,系统可开始淡出和/或缩小交互式窗口340。然而,一旦当虚拟内容和相关联的应用程序窗口最初是活动的(例如,在激活区内)时,用户已经返回到与原始视图相似或相同的视点,则在用户短暂转移注意力之前,系统可以返回到显示虚拟内容(例如,内容210)和相关联的应用程序窗口(例如,交互式窗口340),如当用户通过与虚拟内容交互来激活应用程序时最初预期的那样。
图7是示出示例性方法700的流程图。在一些具体实施中,诸如设备110(图1)的设备执行方法700的技术,即呈现包括内容呈现的3D环境的视图。在一些具体实施中,在移动设备、台式计算机、膝上型计算机、HMD或服务器设备上执行方法700的技术。在一些具体实施中,在处理逻辑部件(包括硬件、固件、软件或它们的组合)上执行方法700。在一些具体实施中,在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行方法700。
在框710处,方法700获得虚拟内容。在一些示例中,虚拟内容可包括3D模型或几何形状(例如,虚拟内容210可包括表示角色250的交互式3D模型和表示前景岩层230、水体242、天空240和山脉244的3D模型)。在一些示例中,3D模型或几何形状可包括使用2D或3D图像或视频纹理化的虚拟表面(例如,弯曲表面,诸如圆柱形壳体的一部分),用于表示虚拟内容的某些元素(例如,可改为在2D或3D图像或视频中描绘水体242、天空240和山脉244)。3D图像或视频可包括180°立体图像对或被存储为等矩形投影的180°立体视频内容。在一些具体实施中,视频内容包括立体图像对,该立体图像对包括对应于左眼视点的左眼内容和对应于右眼视点的右眼内容。在一些示例中,纹理化虚拟表面可用于通过定位在虚拟内容的前观看位置(例如,表示220的平面区域)后面(例如,10m、15m、20m或任何其他期望距离)来表示虚拟内容的背景内容(例如,内容210的水体242、天空240、山脉244)。例如,纹理化虚拟表面可包括以表示220的中心为中心的圆柱形壳体的一部分,其具有足以覆盖通过表示220的虚拟内容的视图的半径(例如,10m、15m、20m或任何其他期望值)和高度。
在一些示例中,使用3D模型来表示虚拟内容的一些元素(例如,前景和中景元素)以及使用纹理化虚拟表面来表示虚拟内容的其他元素(例如,背景元素)有利地以可接受的质量呈现虚拟内容,同时节省处理和功率资源。具体地,更靠近用户的元素(例如,前景和中景元素)可使用3D模型以更高的质量来渲染,而更远离用户的元素可使用被纹理化到虚拟表面上的2D或3D图像以更低但仍可接受的质量来渲染。背景元素的较低质量渲染由于其感知距离而不太可能被用户注意到。
在框720处,方法700将虚拟内容定位在3D环境的视图内。定位虚拟内容(框720)包括:在框722处确定屏幕上内容和屏幕外内容;在框724处将屏幕上内容定位在3D环境内的虚拟屏幕上(例如,矩形/屏幕或另一形状);以及在框726处将屏幕外内容定位在3D环境内的虚拟屏幕之外。3D环境可包括物理环境、虚拟环境或XR环境。
在一些具体实施中,确定屏幕上内容和屏幕外内容基于对应于虚拟屏幕的外边缘的边界。例如,如图2C中所示,角色250和前景岩层230被呈现为屏幕外内容,因为它们延伸超出表示220的外边缘,而虚拟内容210的剩余部分保持如在屏幕120的表示220的平面区域上看到的那样(例如,水体242、天空240、山脉244等)。在一些具体实施中,确定屏幕上内容和屏幕外内容基于与虚拟屏幕相关联的边界体积。例如,如参考图5A和图5B所讨论的,边界框可在屏幕120的表示220的平面区域之外,并且可由距离该平面区域的特定距离(例如,在任一方向上两米)来限定。因此,边界框内部的任何内容将按预期出现(例如,如视图500A所示的恐龙(角色250)),并且边界框之外的任何内容可被变换到骨架视图(例如,如视图500B所示的恐龙(角色250))。
在一些具体实施中,方法700还包括:基于边界来确定屏幕上内容和屏幕外内容;跟踪对象在虚拟内容内的3D位置;基于对象的3D位置来动态地更新边界;以及基于对象的3D位置和更新的边界来更新3D环境的视图。例如,虚拟屏幕跨越阈值可动态地调整并延伸到在原始边界之外延伸的角色。例如,蝴蝶可以是在虚拟内容210中的确定的在原始平坦屏障之外飞行的角色(例如,屏幕120的表示220),然后可基于到该蝴蝶的距离使屏幕上内容出现(例如,基于与该蝴蝶相关联的距离和阈值屏障来不同地将其他角色确定为屏幕外内容与屏幕上内容)。
在框730处,方法700呈现3D环境的视图,包括在该虚拟屏幕上呈现该屏幕上内容以及在该虚拟屏幕之外呈现该屏幕外内容。例如,虚拟内容的屏幕上部分(例如,背景)呈现在虚拟屏幕上(例如,在有界平面区域上),并且虚拟内容的屏幕外部分(例如,前景、中景、角色、某些对象)可呈现在该虚拟屏幕前面或向上/向下/向左/向右延伸超出虚拟屏幕的界限。屏幕上部分可以是立体的,并且因此仍然具有3D外观。屏幕外内容的3D外观可通过其在虚拟屏幕的边界前面或超过虚拟屏幕的边界的3D位置处的定位来强调,例如,恐龙可能看起来正在观看者的房间中朝向观看者行走。确定虚拟内容的哪些部分在屏幕上以及内容的哪些部分在屏幕外可以是预先确定的或在运行时确定,例如,基于跨过边界线(例如,基于输入、用户注视/位置、场景理解等来跟踪恐龙何时跨过边界)。
在一些具体实施中,方法700还包括:跟踪对象在虚拟内容内的3D位置;以及基于对象的3D位置来更新3D环境的视图。例如,恐龙(例如,角色250)跨过特定边界并且恐龙的一部分或全部被示出为屏幕外内容或者可被移动回到虚拟屏幕内(例如,被移动回到屏幕120的表示220的有界平面区域内)。
在一些具体实施中,方法700还包括:基于对象在虚拟内容内的3D位置来确定对象是屏幕上内容、屏幕外内容或它们的组合。例如,本文所述的技术可确定对象(例如,角色250)是否要被呈现在虚拟屏幕的有界平面区域之外。另选地,虚拟内容可包括可指示系统显示虚拟屏幕的有界平面区域之外的一个或多个对象(例如,知道用户正佩戴诸如设备110的HMD)的信息(例如,3D定位数据)。
在一些具体实施中,方法700还包括:基于屏幕外内容在3D环境内的虚拟屏幕之外的定位来修改环境光的水平。例如,可基于离开虚拟屏幕的内容元素来改变虚拟屏幕之外的3D环境的环境照明。例如,在暗电影的播放期间,3D环境的环境照明可以是暗的,但是当显示闪光或更亮的场景时,则可从不是来自虚拟屏幕的位置的位置提供附加照明(例如,当用户25正在观看他们前面的内容时,看起来从他或她的后面或侧面出现的闪光)。在一些具体实施中,在接近屏幕外内容的阈值距离内修改环境光的水平。例如,环境照明可在屏幕外内容附近修改,诸如仅在前景区域附近,而不是整个房间。
在一些具体实施中,方法700还包括:基于获得对应于3D环境的传感器数据来确定对3D环境的场景理解,其中场景理解确定一个或多个对象的几何性质。例如,该对象包括类似于3D环境中的沙发的性质。在一些具体实施中,确定场景理解可包括基于用户的当前房间的图像、深度数据等来识别一个或多个对象及其位置。在确定场景理解之后,方法700可还包括基于3D环境的场景理解来更新3D环境的视图。例如,可利用物理环境的场景理解来进一步定制体验。例如,从树上落下的叶子可能落在观看者的咖啡桌上,或者电影中的角色可与场景交互:“嘿,漂亮的沙发”。
在一些具体实施中,方法700还包括:获得视图3D环境的观看者的用户信息以及基于该用户信息来更新3D环境的视图。例如,可基于用户看诸如恐龙的特定对象或从其移开目光或可基于用户信息与观看者交互的特定角色来更新3D环境的视图。用户信息可包括以下中的至少一者:头部姿态数据、观看者在3D环境内的位置信息和/或生理数据(例如,眼睛注视特性)。在一些具体实施中,传感器数据(例如,图像、声音、运动等)可从物理环境100中的电子设备110的传感器获得。传感器数据可包括跟踪注视方向,以及检测注视方向对应于虚拟屏幕。在一些具体实施中,跟踪用户的注视可包括跟踪用户注视当前聚焦在哪个像素上。例如,获得与用户的注视相关联的生理数据可涉及获得可从中确定注视方向和/或移动的眼睛的图像或眼电图信号(EOG)数据。在一些具体实施中,3D环境可以是在用户穿戴设备诸如HMD时提供的XR环境。另选地,XR环境可被呈现给用户,其中虚拟现实图像可覆盖到物理环境的实时视图(例如,增强现实(AR))上。在一些具体实施中,跟踪用户相对于显示器的注视包括跟踪用户注视当前聚焦的像素。
在一些具体实施中,屏幕外内容包括活动对象和前景内容,并且将屏幕外内容定位在3D环境内的虚拟屏幕之外包括:将活动对象定位在距离虚拟屏幕的第一距离处的第一3D位置处;以及将前景内容定位在距离虚拟屏幕的第二距离处的第二3D位置处,其中第一距离不同于第二距离。例如,前景内容可具有与角色不同的阈值。例如,前景可停在距虚拟屏幕5英尺处(例如,前景岩层230),但角色可从虚拟屏幕进一步延伸(例如,狗可在你的房间周围跑动)。
在一些具体实施中,虚拟内容包括一个或多个可选择对象,并且方法700还包括:在呈现3D环境的视图时检测与一个或多个可选择对象中的第一对象的用户交互;以及基于检测到用户交互来更新3D环境的视图。例如,观看者可选择电影中的狗,然后该狗可在3D环境周围跑动。
在一些具体实施中,方法700还包括:确定视图的视点相对于3D环境中的虚拟内容的位置关系;以及基于该位置关系来更新3D环境的视图。例如,随着用户更靠近或更远离虚拟屏幕(例如,不同的视点),屏幕外内容可能被改变。在一些具体实施中,方法700还包括:基于3D环境的视图的视点来确定用于在3D环境内投影虚拟内容的位置。
在一些具体实施中,确定显示屏幕外内容的3D位置基于跟踪电子设备相对于物理环境的姿态,并且基于电子设备的姿态检测电子设备的显示器的视图朝向屏幕外内容取向。例如,位置传感器可用于获取设备(例如,设备110)的定位信息。对于定位信息,一些具体实施包括VIO系统,以使用相机序列图像(例如,诸如RGB数据的光强度图像)来确定等效测距信息以估计行进的距离。另选地,本公开的一些具体实施可包括SLAM系统(例如,位置传感器)。该SLAM系统可包括独立于GPS并且提供实时同时定位与映射的多维(例如,3D)激光扫描和范围测量系统。该SLAM系统可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM系统可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。该SLAM系统还可以是依赖于光强度图像数据来估计相机和/或设备的位置和取向的可视SLAM系统。
在一些具体实施中,可结合呈现虚拟内容或代替呈现虚拟内容来使用空间化音频。在示例性具体实施中,虚拟内容的3D位置包括与电子设备相距第一距离的3D位置,物理环境的视图的虚拟内容的3D位置与电子设备相距大于第一距离的第二距离,并且在物理环境的视图中呈现虚拟内容包括基于虚拟内容的3D位置在到声源的感知距离处呈现空间化音频。例如,可使用将被用户听到为在内容“后面”的空间化音频。例如,基于检测到的屏幕120的平面,可实现到声源的感知距离。
在一些具体实施中,基于生理的跟踪(诸如骨架跟踪)可用于与锻炼、运动、服装等有关的指导、评估和反馈。在示例性具体实施中,传感器数据包括电子设备的用户的生理数据,并且方法700还包括:基于生理数据来检测用户的移动以及基于检测到的用户的移动来修改物理环境的视图中的虚拟内容。例如,虚拟内容内的角色可基于用户25的移动来与用户25交互。
在一些具体实施中,该方法包括:基于跟踪电子设备的用户的面部特征来检测用户聚焦于角色或者存在对要与之交互的角色的选择的事件。在一些具体实施中,传感器数据包括电子设备的用户的头部的图像,并且检测事件基于确定用户的头部正在偏航方向上(例如,围绕垂直轴)旋转。
在一些具体实施中,方法700还包括:基于传感器数据来确定与电子设备在物理环境中的使用相关联的情境;以及基于该情境来呈现虚拟内容。例如,确定情境可包括:检测用户处于其中用户将受益于呈现虚拟内容(例如,特定应用程序)的情形中,诸如一天中的时间。方法700可使用检测物理环境的情境的各种方式。在一些具体实施中,检测情境包括:确定电子设备在新位置中的使用(例如,在用户之前没有到达的酒店房间中呈现虚拟内容)。在一些具体实施中,检测情境包括:确定电子设备在一种类型的活动(例如,工作、锻炼、放松看电影等)期间的使用。在一些具体实施中,检测情境包括:确定电子设备在位置、对象、另一电子设备或人的接近度阈值距离内。
在一些示例中,方法700还可包括基于确定没有其他人在场的隐私设置模式(或者可由用户自己触发)。在示例性具体实施中,技术可包括:基于传感器数据来确定对物理环境的场景理解;基于该场景理解来确定电子设备的用户是与物理环境的视图相关联的区域内的唯一用户;以及基于与用户相关联的用户偏好设置来呈现虚拟内容,该用户是与物理环境的视图相关联的区域内的唯一用户。例如,如果用户是当前在3D环境的整个房间中的唯一的人,则他或她可能仅想要在该房间内的角色的交互(例如,在该房间周围跑动的虚拟狗)。
图8是示例性设备800的框图。设备800示出了设备110的示例性设备配置。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备110包括一个或多个处理单元802(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器806、一个或多个通信接口808(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口810、一个或多个显示器812、一个或多个面向内部和/或面向外部的图像传感器系统814、存储器820以及用于互连这些部件和各种其他部件的一条或多条通信总线804。
在一些具体实施中,一条或多条通信总线804包括互连和控制系统部件之间的通信的电路。在一些具体实施中,该一个或多个I/O设备及传感器806包括以下各项中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎或者一个或多个深度传感器(例如,结构光、渡越时间等)等。
在一些具体实施中,一个或多个显示器812被配置为向用户呈现物理环境或图形环境的视图。在一些具体实施中,一个或多个显示器812对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或类似显示器类型。在一些具体实施中,一个或多个显示器812对应于衍射、反射、偏振、全息等波导显示器。例如,设备110包括单个显示器。又如,设备110包括针对用户的每只眼睛的显示器。
在一些具体实施中,该一个或多个图像传感器系统814被配置为获得对应于物理环境100的至少一部分的图像数据。例如,该一个或多个图像传感器系统814包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、深度相机、基于事件的相机等。在各种具体实施中,该一个或多个图像传感器系统814还包括发射光的照明源,诸如闪光灯。在各种具体实施中,该一个或多个图像传感器系统814还包括相机上图像信号处理器(ISP),该ISP被配置为对图像数据执行多个处理操作。
存储器820包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器820包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器820任选地包括与一个或多个处理单元802远程定位的一个或多个存储设备。存储器820包括非暂态计算机可读存储介质。
在一些具体实施中,存储器820或存储器820的非暂态计算机可读存储介质存储可选的操作系统830和一个或多个指令集840。操作系统830包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,指令集840包括由以电荷形式存储的二进制信息定义的可执行软件。在一些具体实施中,指令集840是能够由一个或多个处理单元802执行以实施本文所述技术中的一种或多种的软件。指令集840包括内容指令集842。指令集840可体现为单个软件可执行文件或多个软件可执行文件。
在一些具体实施中,内容指令集842可由处理单元802执行以提供和/或跟踪用于在设备上显示的内容。内容指令集842可被配置为随时间监测和跟踪内容(例如,在观看XR环境时),并且生成和显示虚拟内容(例如,与3D环境内的3D视频的所确定的3D位置相关联的应用程序)。出于这些目的,在各种具体实施中,该指令包括指令和/或用于该指令的逻辑以及启发法和用于该启发法的元数据。
尽管指令集840被示出为驻留在单个设备上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图8更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。指令集的实际数量以及如何在其中分配特征将根据具体实施而变化,并且可以部分地取决于为特定具体实施选择的硬件、软件和/或固件的特定组合。
图9示出了根据一些具体实施的示例性头戴式设备900的框图。头戴式设备900包括容纳头戴式设备900的各种部件的外壳901(或壳体)。外壳901包括(或耦接到)设置在外壳901的(相对于用户25的)近侧端部处的眼垫(未示出)。在各种具体实施中,眼垫是塑料或橡胶件,其舒适且贴合地将头戴式设备900保持在用户25的面部上的适当位置(例如,围绕用户25的眼睛45)。
外壳901容纳显示器910,该显示器显示图像、朝向用户25的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器910通过具有一个或多个光学元件905的目镜发射光,该一个或多个光学元件折射由显示器910发射的光,使显示器对用户25表现为处于比从眼睛到显示器910的实际距离更远的虚拟距离。例如,光学元件905可包括一个或多个透镜、波导、其他衍射光学元件(DOE)等。为了用户25能够聚焦在显示器910上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,6cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
外壳901还容纳眼睛/注视跟踪系统,该眼睛/注视跟踪系统包括一个或多个光源922、相机924和控制器980。一个或多个光源922将光发射到用户25的眼睛上,光反射为可由相机924检测的光图案(例如,闪光圈)。基于该光图案,控制器980可确定用户25的眼动跟踪特征。例如,控制器980可确定用户25的注视方向和/或眨眼状态(睁眼或闭眼)。又如,控制器980可确定瞳孔中心、瞳孔大小或关注点。因此,在各种具体实施中,光由一个或多个光源922发射,从用户25的眼睛45反射,并且由相机924检测。在各种具体实施中,来自用户25的眼睛45的光在到达相机924之前从热镜反射或通过目镜。
外壳901还容纳包括一个或多个音频源926的音频系统,控制器980可按照本文描述的技术利用该一个或多个音频源经由声波14向用户耳朵70提供音频。例如,音频源926可提供声音以用于背景声音和可在3D坐标系中空间上呈现的听觉刺激两者。音频源926可包括扬声器、与外部扬声器系统(诸如头戴式耳机)的连接或经由无线连接而连接的外部扬声器。
显示器910发射第一波长范围内的光,并且一个或多个光源922发射第二波长范围内的光。类似地,相机924检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
在各种具体实施中,眼睛跟踪(或者具体地,确定的注视方向)用于使用户能够进行交互(例如,用户25通过观看显示器910上的选项来选择它),提供注视点渲染(例如,在用户25正在观看的显示器910的区域中呈现更高的分辨率并且在显示器910上的其他地方呈现更低的分辨率),或者校正失真(例如,对于要在显示器910上提供的图像)。
在各种具体实施中,一个或多个光源922朝向用户25的眼睛发射光,该光以多个闪烁的形式反射。
在各种具体实施中,相机924是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户25的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。在具体实施中,每个图像用于通过测量与用户瞳孔中的一者或两者相关联的像素强度的变化来测量或跟踪瞳孔扩张。
在各种具体实施中,相机924是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示特定光传感器的特定位置的事件消息。
应当理解,上文所描述的具体实施以示例的方式引用,并且本公开不限于上文已特别示出和描述的内容。相反地,范围包括上文所描述的各种特征的组合和子组合两者,以及本领域的技术人员在阅读前述描述时将想到的并且在现有技术中未公开的所述各种特征的变型和修改。
如上所述,本发明技术的一个方面是收集和使用生理数据以改善用户在与电子内容进行交互方面的电子设备体验。本公开设想,在一些情况下,该所收集的数据可包括唯一地识别特定人员或者可用于识别特定人员的兴趣、特点或倾向性的个人信息数据。此类个人信息数据可包括生理数据、人口数据、基于位置的数据、电话号码、电子邮件地址、家庭地址、个人设备的设备特征或任何其他个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,个人信息数据可用于改进电子设备的交互和控制能力。因此,使用此类个人信息数据使得能够对电子设备进行有计划的控制。此外,本公开还预期个人信息数据有益于用户的其他用途。
本公开还设想到负责此类个人信息和/或生理数据的收集、分析、公开、传送、存储或其他用途的实体将遵守已确立的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。例如,来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法用途之外共享或出售。另外,此类收集应当仅在用户知情同意之后进行。另外,此类实体应采取任何所需的步骤,以保障和保护对此类个人信息数据的访问,并且确保能够访问个人信息数据的其他人遵守他们的隐私政策和程序。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。
不管前述情况如何,本公开还设想用户选择性地阻止使用或访问个人信息数据的具体实施。即本公开预期设想可提供硬件元件或软件元件,以防止或阻止对此类个人信息数据的访问。例如,就为用户定制的内容递送服务而言,本发明的技术可被配置为在注册服务期间允许用户选择“加入”或“退出”参与对个人信息数据的收集。在另一示例中,用户可选择不为目标内容递送服务提供个人信息数据。在又一示例中,用户可选择不提供个人信息,但允许传输匿名信息以用于改进设备的功能。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可通过基于非个人信息数据或绝对最低量的个人信息诸如与用户相关联的设备所请求的内容、对内容递送服务可用的其他非个人信息或公开可用的信息来推断偏好或设置,从而选择内容并将该内容递送至用户。
在一些实施方案中,使用仅允许数据的所有者解密存储的数据的公钥/私钥系统来存储数据。在一些其他具体实施中,数据可匿名存储(例如,无需识别和/或关于用户的个人信息,诸如法定姓名、用户名、时间和位置数据等)。这样,其他用户、黑客或第三方就无法确定与存储的数据相关联的用户的身份。在一些具体实施中,用户可从不同于用于上载存储的数据的用户设备的用户设备访问他或她的存储的数据。在这些情况下,用户可能需要提供登录凭据以访问其存储的数据。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“标识”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合或者分成子框。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种对象,但是这些对象不应当被这些术语限定。这些术语只是用于将一个对象与另一对象区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”或“包含”在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、对象或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、对象、部件或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

Claims (20)

1.一种方法,包括:
在具有处理器的电子设备处:
获得虚拟内容;
将所述虚拟内容定位在三维(3D)环境的视图内,其中定位所述虚拟内容包括:
确定所述虚拟内容的屏幕上内容和屏幕外内容,
将所述屏幕上内容定位在所述3D环境内的虚拟屏幕上,以及
将屏幕外内容定位在所述3D环境内的所述虚拟屏幕之外;以及
呈现所述3D环境的所述视图,包括在所述虚拟屏幕上呈现所述屏幕上内容以及在所述虚拟屏幕之外呈现所述屏幕外内容。
2.根据权利要求1所述的方法,其中所述虚拟内容包括对象,并且其中所述方法还包括:
跟踪所述对象在所述虚拟内容内的3D位置;以及
基于所述对象的所述3D位置来更新所述3D的所述视图。
3.根据权利要求2所述的方法,还包括:
基于所述对象在所述虚拟内容内的所述3D位置来确定所述对象是屏幕上内容、屏幕外内容或它们的组合。
4.根据权利要求1所述的方法,还包括:
基于所述屏幕外内容在所述3D环境内的所述虚拟屏幕之外的所述定位来修改环境光的水平。
5.根据权利要求4所述的方法,其中在接近所述屏幕外内容的阈值距离内修改所述环境光的水平。
6.根据权利要求1所述的方法,还包括:
基于获得对应于所述3D环境的传感器数据来确定对所述3D环境的场景理解,其中所述场景理解确定所述3D环境中的一个或多个对象的几何性质;以及
基于对所述3D环境的所述场景理解来更新所述3D环境的所述视图。
7.根据权利要求1所述的方法,还包括:
获得所述3D环境的所述视图的观看者的用户信息,其中所述用户信息包括以下中的至少一者:头部姿态数据、所述观看者在所述3D环境内的位置信息和生理数据;以及
基于所述用户信息来更新所述3D环境的所述视图。
8.根据权利要求1所述的方法,其中所述屏幕外内容包括活动对象和前景内容,并且其中将所述屏幕外内容定位在所述3D环境内的所述虚拟屏幕之外包括:
将所述活动对象定位在距离所述虚拟屏幕第一距离处的第一3D位置处;以及
将所述前景内容定位在距离所述虚拟屏幕第二距离处的第二3D位置处,其中所述第一距离不同于所述第二距离。
9.根据权利要求1所述的方法,其中所述虚拟内容包括一个或多个可选择对象,所述方法还包括:
在呈现所述3D环境的所述视图时检测与所述一个或多个可选择对象中的第一对象的用户交互;以及
基于检测到所述用户交互来更新所述3D环境的所述视图。
10.根据权利要求1所述的方法,其中确定所述屏幕上内容和所述屏幕外内容基于对应于所述虚拟屏幕的外边缘的边界。
11.根据权利要求1所述的方法,其中确定所述屏幕上内容和所述屏幕外内容基于与所述虚拟屏幕相关联的边界框。
12.根据权利要求1所述的方法,其中确定所述屏幕上内容和所述屏幕外内容基于边界,所述方法还包括:
跟踪对象在所述虚拟内容内的3D位置;
基于所述对象的所述3D位置来更新所述边界;以及
基于所述对象的所述3D位置和所更新的边界来更新所述3D环境的所述视图。
13.根据权利要求1所述的方法,还包括:
确定所述视图的视点相对于所述3D环境中的所述虚拟内容的位置关系;以及
基于所述位置关系来更新所述3D环境的所述视图。
14.根据权利要求1所述的方法,其中所述虚拟内容包括一个或多个3D模型,并且其中所述屏幕外内容由所述一个或多个3D模型中的至少一者表示。
15.根据权利要求14所述的方法,其中所述屏幕上内容由所述一个或多个3D模型中的至少另一者表示。
16.根据权利要求1所述的方法,其中所述虚拟内容包括使用2D图像、3D图像、2D视频或3D视频纹理化的虚拟表面,其中所述3D图像包括立体图像对,所述立体图像对包括对应于左眼视点的左眼内容和对应于右眼视点的右眼内容,其中所述3D视频包括被存储为等矩形投影的立体视频内容,并且其中所述屏幕上内容的至少一部分由纹理化后的虚拟表面表示。
17.根据权利要求16所述的方法,其中所述虚拟表面包括圆柱形壳体的一部分并且以所述虚拟屏幕的中心为中心。
18.根据权利要求1所述的方法,还包括:
基于所述3D环境的所述视图的视点来确定用于在所述3D环境内投影所述虚拟内容的位置。
19.一种设备,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接到所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述一个或多个处理器执行包括以下项的操作:
获得虚拟内容;
将所述虚拟内容定位在三维(3D)环境的视图内,其中定位所述虚拟内容包括:
确定所述虚拟内容的屏幕上内容和屏幕外内容,
将所述屏幕上内容定位在所述3D环境内的虚拟屏幕上,以及
将屏幕外内容定位在所述3D环境内的所述虚拟屏幕之外;以及
呈现所述3D环境的所述视图,包括在所述虚拟屏幕上呈现所述屏幕上内容以及在所述虚拟屏幕之外呈现所述屏幕外内容。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质在设备上存储计算机可执行的程序指令以执行包括以下项的操作:
获得虚拟内容;
将所述虚拟内容定位在三维(3D)环境的视图内,其中定位所述虚拟内容包括:
确定所述虚拟内容的屏幕上内容和屏幕外内容,
将所述屏幕上内容定位在所述3D环境内的虚拟屏幕上,以及
将屏幕外内容定位在所述3D环境内的所述虚拟屏幕之外;以及
呈现所述3D环境的所述视图,包括在所述虚拟屏幕上呈现所述屏幕上内容以及在所述虚拟屏幕之外呈现所述屏幕外内容。
CN202310794047.9A 2022-06-30 2023-06-30 在3d环境内定位内容 Pending CN117331434A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63/357,408 2022-06-30
US18/214,865 2023-06-27
US18/214,865 US20240005623A1 (en) 2022-06-30 2023-06-27 Positioning content within 3d environments

Publications (1)

Publication Number Publication Date
CN117331434A true CN117331434A (zh) 2024-01-02

Family

ID=89289149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310794047.9A Pending CN117331434A (zh) 2022-06-30 2023-06-30 在3d环境内定位内容

Country Status (1)

Country Link
CN (1) CN117331434A (zh)

Similar Documents

Publication Publication Date Title
US11995230B2 (en) Methods for presenting and sharing content in an environment
US12111962B2 (en) User interfaces and device settings based on user identification
KR20230048152A (ko) 환경에서 객체들을 조작하기 위한 방법들
US11733769B2 (en) Presenting avatars in three-dimensional environments
US20230152935A1 (en) Devices, methods, and graphical user interfaces for presenting virtual objects in virtual environments
US20230384907A1 (en) Methods for relative manipulation of a three-dimensional environment
US20230350539A1 (en) Representations of messages in a three-dimensional environment
US20240005623A1 (en) Positioning content within 3d environments
US20230171484A1 (en) Devices, methods, and graphical user interfaces for generating and displaying a representation of a user
KR20230037054A (ko) 사용자의 신체에 대한 디바이스의 디스플레이를 업데이트하기 위한 시스템들, 방법들, 및 그래픽 사용자 인터페이스들
US12112441B2 (en) Content transformations based on reflective object recognition
US20230343049A1 (en) Obstructed objects in a three-dimensional environment
US20230316674A1 (en) Devices, methods, and graphical user interfaces for modifying avatars in three-dimensional environments
US20230221833A1 (en) Methods for displaying user interface elements relative to media content
US20230103161A1 (en) Devices, methods, and graphical user interfaces for tracking mitigation in three-dimensional environments
CN117331434A (zh) 在3d环境内定位内容
US20240212272A1 (en) Interactions based on mirror detection and context awareness
US12125149B2 (en) Interfaces for presenting avatars in three-dimensional environments
US20230288985A1 (en) Adjusting image content to improve user experience
US20230351676A1 (en) Transitioning content in views of three-dimensional environments using alternative positional constraints
US20240104871A1 (en) User interfaces for capturing media and manipulating virtual objects
US20220262080A1 (en) Interfaces for presenting avatars in three-dimensional environments
US20240281108A1 (en) Methods for displaying a user interface object in a three-dimensional environment
CN117333788A (zh) 基于反射对象识别的内容转换
JP2024507811A (ja) ユーザ識別に基づくユーザインタフェース及びデバイス設定

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination