CN110637273B - 在虚拟环境内呈现应用 - Google Patents
在虚拟环境内呈现应用 Download PDFInfo
- Publication number
- CN110637273B CN110637273B CN201880030749.7A CN201880030749A CN110637273B CN 110637273 B CN110637273 B CN 110637273B CN 201880030749 A CN201880030749 A CN 201880030749A CN 110637273 B CN110637273 B CN 110637273B
- Authority
- CN
- China
- Prior art keywords
- application
- virtual environment
- user
- view
- perspective
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
可以向用户呈现包括一个或多个应用的虚拟环境,但是用于将所述应用与所述虚拟环境集成的许多这种技术可能会展现出缺点。例如所述应用的二维“平面”绘制可能需要损失视觉深度,和/或可能看起来不一致;与所述虚拟环境的呈现相互排斥的沉浸式呈现可能会实现非常有限的集成;并且全息图呈现可能看起来不协调。这种技术还可能会增加呈现的延迟,具有明显而显著的后果。相反,虚拟环境可以定义应用区域,并且可以向应用通知在所述虚拟环境内所述应用区域和所述用户的视角。所述应用可以呈现反映所述用户的所述视角的应用视图,并且所述虚拟环境可以在所述虚拟环境的所述应用区域内呈现所述应用视图。
Description
相关申请的交叉引用
本申请根据35U.S.C.§§119-120要求于2017年5月10日提交的题为“PRESENTINGAPPLICATIONS WITHIN VIRTUAL ENVIRONMENTS”的美国专利申请第62/504,529号的优先权,其全部内容通过引用并入本文,就好像本文完全重写一样。
背景技术
在用户界面领域,许多场景涉及虚拟环境的呈现。例如设备可以以经由立体显示器向用户显示模拟的三维环境的头戴式耳机为特征,其中显示器的协调输出能够实现进行具有深度模拟的双目显示器。这样的环境可以以用户的物理环境的隔离(例如完全阻止物理环境的用户的视图并用虚拟环境的视图代替它)来呈现,或者可以合并用户的物理环境的各个方面(例如诸如一副眼镜或护目镜的增强现实的头戴式耳机可以将视觉输出覆盖在物理环境中的特定对象上;和/或“视频直通”设备可以捕获物理环境的图像并用附加内容对其进行注释并向用户显示附加内容)。
在这样的虚拟环境中,可能期望呈现一个或多个应用的图形用户界面,并且存在几种技术来将应用的应用环境与虚拟环境相结合。作为第一个这样的示例,虚拟环境可以接收可以以二维绘画或窗口的方式在虚拟环境内显示的应用环境的平面二维视图。作为第二个这样的示例,虚拟环境可以允许用户请求向沉浸式应用环境的过渡,其中三维应用环境取代了虚拟环境。即,用户可以请求从虚拟环境的独占视图转换为应用环境的独占视图。作为第三个这样的示例,虚拟环境可以允许全息视图,其中来自应用的应用模型集合与虚拟环境的对象集成在一起。例如应用环境可以呈现包括场景的对象集合,并且虚拟环境可以接收所有这样的对象的元数据描述符,并且可以将它们***虚拟环境。
发明内容
提供本发明内容以简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键因素或必要特征,也不旨在用于限制所要求保护的主题的范围。
尽管在用于集成虚拟环境内的应用环境的表示的技术中存在变体,但是许多这样的变体表现出可能导致绘制设备和/或绘制流水线不适合于其他场景的显著的限制,和/或可能会限制该技术被呈现的场景的适用性。
作为第一个这样的示例,平面视图可能会丢弃可能对用户有帮助的深度信息,诸如其中在应用环境通常呈现基于深度的三维视图。另外,当在其他三维虚拟环境内呈现时,二维图像可能会显得笨拙或不一致。
作为第二个这样的示例,尽管在某些情况下(例如用户旨在一段时间内与应用环境专门进行交互的情况)可能需要沉浸式模式,但它可能与其他场景不兼容(例如用户希望与虚拟环境和应用环境和/或与两个或多个应用环境同时交互的情况)。
作为第三个这样的示例,全息视图在虚拟环境利用与应用环境不同的绘制过程的许多情况下可能不合适;例如应用环境可以利用照明模型、着色器、几何形状和/或纹理的特定选择,包括实现它们的平台;然而,在其上执行全息视图的设备可能不提供对秘密或专有技术的这种支持。另外,虚拟环境内的应用模型的呈现可能看起来不一致和/或不协调,例如在当将应用模型***虚拟环境之中,而它们之间没有任意可视边界时,该应用模型似乎不合适的情况。
本公开提供了用于在虚拟环境内呈现应用的技术。根据这样的技术,虚拟环境可以在虚拟环境内定义应用区域,并标识虚拟环境内的用户的视角。虚拟环境可以向应用通知虚拟环境内的应用区域和用户的视角,这可以使应用能够从用户的视角生成应用的应用视图。虚拟环境可以接收从用户的视角的应用的应用视图,将应用的应用视图***虚拟环境的应用区域,并向用户呈现包括应用区域的虚拟环境。
这些技术可以使虚拟环境能够以与虚拟环境良好集成的方式包括一个或多个应用的图形用户界面,例如通过使应用的应用视图能够反映用户与虚拟环境其余部分相同的视角,包括随着视角的变化而变化。另外,这些技术可以例如通过并行化虚拟环境和应用视图的绘制的处理工作量来提高虚拟环境的性能。用户可能对虚拟环境呈现中的延迟非常敏感,并且如果视觉呈现的速率不一致,不同步和/或未及时响应用户的移动的方式,诸如转头或迈出一步,则可能会体验恶心和疲劳。在虚拟环境和应用之间处理工作量的分配可以在虚拟环境和应用的呈现中促进理想的低且一致的延迟,作为虚拟环境领域中的重大进步。
为了实现前述和相关目的,以下描述和附图阐述了某些示意性方面和实现。这些仅指示可以采用一个或多个方面的各种方式中的一些。当结合附图考虑时,根据以下详细描述,本公开的其他方面、优点和新颖特征将变得显而易见。
附图说明
图1是示例场景的图示,该示例场景以用于在虚拟环境内呈现应用的各种技术为特征。
图2是根据本文呈现的技术的示例场景的图示,该示例场景以在虚拟环境内的应用的呈现为特征。
图3是根据本文呈现的技术的在虚拟环境内呈现应用的示例设备和示例虚拟环境合成器***的图示。
图4是根据本文所呈现的技术的在虚拟环境内呈现应用的示例方法的图示。
图5是根据本文所呈现的技术的示例计算机可读存储设备的图示,其使设备能够在虚拟环境内呈现应用。
图6是根据本文呈现的技术的示例场景的图示,其以虚拟环境内的多个应用的呈现为特征。
图7是根据本文提出的技术的示例场景的图示,其以使应用的呈现适应于虚拟环境的各种技术为特征。
图8是根据本文提出的技术的示例场景的图示,其以在应用和视觉环境之间的视觉效果的共享为特征。
图9是示例场景的图示,其以本文提出的技术的示例过程实施例为特征。
图10是第一示例场景的图示,其中当前呈现的技术的变体被应用。
图11是第二示例场景的图示,其中当前呈现的技术的变体被应用。
具体实施方式
现在参考附图描述要求保护的主题,其中贯穿全文,相似的附图标记用于指代相似的元件。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对所要求保护的主题的透彻理解。然而,显然的是,可以在没有这些具体细节的情况下实践所要求保护的主题。在其他实例中,以框图形式示出了结构和设备,以便于描述所要求保护的主题。
A.介绍
当前的虚拟合成***呈现其中可以呈现应用集合的虚拟环境,并且可以以呈现独特外观和视觉行为的几种方式将应用的视觉输出的集成与虚拟环境集成。作为第一示例,可以将“平面”应用显示为例如虚拟环境内的矩形区域,可选地用铬元素装饰。所呈现的申请内容是二维的,并且特别是当以立体方式观看时,不呈现可感知的视觉深度分量。作为第二个示例,“沉浸式”应用对虚拟环境进行独占控制,以便于呈现具有视觉深度的丰富内容。然而,沉浸式应用完全替代了虚拟环境的内容。作为第三示例,应用可以将“全息图”呈现为可以定位在虚拟环境内的三维模型。即,虚拟环境的内容、由第一应用呈现的第一模型集合、和由第二应用呈现的第二模型集合可以一起被布置以形成场景,作为模型和内容的集合。
图1是示例场景的集合100的图示,该示例场景的集合100通过将虚拟环境106内的应用114的图形用户界面呈现给用户102来图示了这种技术。在示例场景的该集合100中,用户102戴上从用户102的特定视角108呈现虚拟环境106的头戴式耳机104。头戴式耳机104可以包括头盔,该头盔在视觉上将用户102与物理环境隔离开,诸如与物理环境断开连接的传统虚拟现实呈现。备选地,头戴式耳机104可以将虚拟环境106的呈现与用户104的物理环境相集成,诸如呈现增强现实界面的眼镜或护目镜,其中设备的视觉输出似乎覆盖了通过头戴式耳机104的半透明显示表面可见的用户102物理环境的视图,或“视频透视”模式,其中头戴式耳机104捕获用户102的物理环境的图像,并在将其呈现给用户102之前用附加内容注释它。虚拟环境106还可以向用户102呈现虚拟对象集合110,诸如文本、图像、视频以及在虚拟环境106内的特定位置被定位和定向的二维和三维绘制模型。虚拟环境106还可以提供用户102的动态视角108,其中允许用户102通过诸如转动、倾斜和/或弯曲头部的动作来改变视角108;调整用户的注视;改变身体姿势,诸如通过倾斜、扭曲、弯腰或伸展;并通过步行、转入适当位置、倾斜、蹲下或跳跃来移动视角108的位置。用户102还可以通过其他用户输入源来改变视角108,诸如以操纵杆和/或按钮为特征的手持式控制器,其使用户能够改变视角108的位置和/或取向。头戴式耳机104可以接收和/或检测动态视角108中的这种变化(例如经由惯性测量单元(IMU);头部跟踪设备,诸如将头盔的位置和/或取向与物理环境进行比较的传感器;和/或用户102的图像的图像分析),并且可以对应地在虚拟环境106中调整用户102的视角108,诸如通过相对于用户102的动态视角108在不同的位置和/或取向上呈现虚拟对象110。虚拟环境106还可以通过更新虚拟环境106的其他部分(诸如光源112向上投射的光和阴影)的绘制来呈现这种更改。虚拟环境106还可以通过更新虚拟环境106的其他部分的绘制来证明这种改变,诸如由光源112投射在虚拟环境106的虚拟对象110上的光和阴影(例如,基于用户102的视角108和虚拟环境106内的一个或多个光源112的相对位置和/或取向,描绘了虚拟对象110的各个表面的阴影)。
在一些这样的头戴式耳机104中,虚拟环境106呈现有双目显示器,例如位于用户102的左眼前方的左显示器和位于用户102的右眼前方的右显示器,通过每只眼睛反映用户的物理环境的略微移动的视图,当从略微不同的视角108观看时,其呈现相同的虚拟环境106。轻微的移动对于用户102在虚拟环境106的呈现的模拟深度的形式中可能是明显的,其中由于与更远的虚拟对象110相比附近虚拟对象110的较大相对位移,一些虚拟对象110看起来比其他虚拟对象更靠近用户102。双目视觉的呈现可以例如通过响应于用户102的视角108的横向变换而展示较近的虚拟对象110比较远的虚拟对象110更大的视差运动,来促进用户102的视角108中的变化的视觉反射。这样的双目呈现可以向用户104促进虚拟环境106的所得到的生动性和真实性;可以向用户104提供以自然和直观的方式接收和解释的重要深度信息,诸如描绘各种虚拟对象110的相对距离和/或尺寸;和/或可以减少查看虚拟环境106的某些不期望物理后果,例如头昏眼花、恶心、头痛、眼睛疲劳和/或疲劳,其可能是由虚拟环境106向用户102的不协调和/或不一致视觉呈现造成的。
在这种情况下,可能希望包括以应用环境116为特征的应用114的呈现。例如虚拟环境106可以托管以图形用户界面为特征的生产力应用114;以应用模型集合118为特征的二维、2.5维和/或三维游戏;或媒体呈现,诸如二维或三维视频。应用114可能能够绘制应用环境116的应用视图,并且虚拟环境106可以寻求将应用视图与虚拟对象110、光源112和虚拟环境106的其他特征集成。很多这种技术可用于此集成呈现,并具有各种结果。
作为第一示例124,虚拟环境106可以***应用环境116的“平面”应用视图。在第一示例124中,应用114包括三维应用环境,诸如场景的三维绘制,其将与虚拟环境106集成在一起。为此,虚拟环境可以要求应用114呈现应用环境116的二维绘制或快照,诸如肖像。备选地,虚拟环境106可以从应用114接收应用环境116的三维绘制,然后可以将其展平为二维视图。然后,虚拟环境106可以为应用环境116定义二维应用框架120,诸如其中示出了应用环境116的平面二维视图的图片框架。
尽管比较容易实现,但是该第一示例124展现了一些明显的缺点。作为第一个这样的示例,应用环境116的展平可能会在场景深度上呈现视觉细节的损失;例如即使头戴式耳机104提供双目显示器,应用环境116的应用模型118仍保持平面和二维且没有深度外观。另外,应用环境116的内容与用户的视角108无关。尽管二维应用框架120可以呈现几何变化(诸如缩放和倾斜以描绘用户102的视角108与应用框架120的位置之间的关系)和类似的图像转换技术可以应用于应用环境116的二维视图。然而,应用环境116的实际内容不会基于用户102的视角108发生变化;例如当视角108移动时,在展平的二维表示中的应用模型118不表现出相对视差移动。得到的呈现类似于在墙上悬挂的二维绘画周围走动的体验,而不是应用模型118与虚拟环境106的自然、深度反射集成。
作为第二示例126,应用环境116可以被呈现为与虚拟环境106互斥的沉浸式视图。例如用户104可以从不同的视角108观看虚拟环境106内的虚拟对象110,并且可以请求到应用环境116的转换122。作为响应,头戴式耳机104可以呈现从虚拟环境106到应用环境116的完整转换122,其中虚拟对象110被应用环境118的应用模型118取代。用户102可以与虚拟环境106类似的方式与应用环境116进行交互,例如通过旋转或倾斜头部、蹲伏、跳跃或倾斜或在各个方向上行走来更改应用环境中的视角108。头戴式耳机104可以诸如通过变换应用模型118的位置和/或取向来描绘在应用环境116内的视角108的位置和/或取向的对应变换。当用户104希望返回到虚拟环境106中时,头戴式耳机104可以将另一个完整的转换122呈现回虚拟环境106,在该虚拟环境中应用环境116不再可见。例如用户102可以使用虚拟环境106来启动三维游戏,该三维游戏通过不包括虚拟环境106的头戴式耳机104呈现给用户102。当游戏完成时,头戴式耳机104可以终止游戏,包括游戏的应用环境116的视图,并且使用户102返回虚拟环境106。
再次,尽管相对容易实现,但是该第二示例126也存在一些缺点,因为该第二示例126表示失败和/或拒绝将应用环境116的重要部分与虚拟环境106进行集成。应用环境116和虚拟环境106的互斥性对这些环境的集成提供了很大的限制;例如用户102可能无法同时查看应用环境116的应用模型118与虚拟环境106的虚拟对象110。因此,用户102可能必须在虚拟环境106和应用环境116之间频繁和/或快速地转换122,以便于与两个环境的内容进行交互。如果用户102希望同时与多个应用114交互,则这种呈现可能表现出更多的缺点;也就是说,设备104一次只能呈现一个环境,并且因此可能需要用户102非常快速或频繁地在多个应用114和虚拟环境106之间切换,从而呈现相对繁重、繁琐且缓慢的状态用户体验。
作为第三示例128,头戴式耳机124可以呈现应用114的应用环境116的全息视图,其中将应用模型118从应用环境116导出到虚拟环境106中。导出可以包括例如包括应用环境116的各种二维和三维模型的名称和描述,以及其实例的位置和/或取向。虚拟环境106接收应用模型118,并将它们添加到虚拟环境的虚拟对象集合110,包括使用相同的绘制过程和视觉效果来绘制应用模型118和虚拟对象110。诸如光源112存在于虚拟环境106中。
第三示例128也展现了多个缺点。作为第一个这样的示例,在虚拟对象110旁边的应用模型118的呈现可能在视觉上不一致;例如视觉风格和/或内容可能会产生不一致甚至令人不愉快的体验。例如应用110可以包括文本消息或文档,而应用对象118可以包括游戏中的动画角色;相同绘制过程的应用可能会导致不协调的呈现,诸如以卡通化的绘制样式描绘文本消息或文档,和/或向应用模型118呈现普通的基于文本的元素的视觉外观,普通的基于文本的元素会从娱乐中转移。如果应用模型118相对于虚拟对象110没有视觉上的限制,则这种不协调可能会加剧;例如应用模型118可能与应用对象110混合和/或重叠,导致混乱的视觉结果。作为另一个示例,应用环境116的应用模型118可以展现与虚拟环境106的虚拟对象110不同的比例;例如,相当小的和详细的应用模型118可能会出现在相对巨大的文档和文本旁边,从而造成高度不一致的用户体验。此外,在某些情况下,集成表示可能不兼容和/或无法实现;例如应用114可以利用虚拟环境106不支持的照明模型,阴影模型和/或绘制技术,从而阻止虚拟环境106准确地描绘应用模型118。同样,如果要将多个应用114与虚拟环境106集成在一起,则这些问题可能会加剧,其中虚拟环境106的结果表示展现许多不一致的视觉样式、内容和绘制技术,这些技术没有明确的界限而被混合。
在用于集成应用114和虚拟环境106的这些和其他技术中可能出现的另一个重要问题涉及其性能。头戴式耳机104的用户102可能对延迟特别敏感,其形式为用户的运动与虚拟环境106和/或应用环境116的视觉呈现之间的延迟和/或不一致。例如当用户102转动他或她的头部时,甚至虚拟环境106和/或应用114对视角108的这种变化的视觉响应中的对应较小延迟,对于用户102可能也是很明显的。在某些情况下。用户102可将这样的延迟感知为用户的移动和通过头戴式耳机104的视图之间的停滞;感知为帧率故障或打嗝,诸如视觉表现的暂时冻结;感知为剪切,诸如虚拟环境106的视图的前半部分被更新而后半部分没有被更新的时刻;和/或感知为虚拟环境106和应用114的不同步,诸如虚拟环境106在应用114保持静态的同时迅速响应视角108移动的时刻。用户102可能对这种视觉伪像高度敏感,并且可能会经历令人不愉快的身体症状,诸如头晕、恶心、头痛、眼疲劳和/或疲劳。例如如果应用114要求虚拟环境106进行显著的附加处理以补充虚拟对象110的绘制,则这种问题可能会加剧,这可能会超出计算工作量阈值,在该阈值内虚拟环境106的延迟为保持一致。许多这样的缺点可能来自本文提出的技术的各种实施例。
B.呈现的技术
本公开提供了用于在虚拟环境中呈现应用的内容的技术,该技术相对于包括“平面”应用、“沉浸式”应用和“全息图”集成的当前选项集是独特的。在当前呈现的技术的示例中,在虚拟环境的矩形平面内呈现了应用,该应用集成了相对于虚拟环境的三维空间的深度分量。与其中所有应用内容均由二维框架限制的“平面”应用相比,当前呈现的技术的此示例使应用的内容能够出现在应用平面的前面和/或后面-这类似于通过真实世界的窗口查看的对象没有被剥离视觉深度分量,而是即使从内部通过二维窗口窗格查看时仍保留基于深度的外观的方式。另外,在一些实施例中,对象可能看起来在二维应用平面的前面朝着用户向前投影,例如穿过窗口到达用户。在一些实施例中,当从特定的视角观看时(例如当从一个角度观看时),应用内的对象可以延伸到应用区域的视觉范围之外。在其他实施例中,对象可以被剪裁并被限制在应用区域内,从而允许感知深度,同时还将应用区域保持为应用内容的可视边界。此外,本公开提供了用于实现这种外观的多种技术,例如以便提高效率、减少视觉延迟、和/或适应当代视觉处理资源以集成本文提出的技术的变体。
图2是根据本文呈现的技术的示例场景200的图示,该示例场景200以虚拟环境106内的应用114的应用环境116的呈现为特征。
在该示例场景200中,应用区域116再次包括应用模型集合118,诸如文本,图像,电影和/或包括应用环境116的二维和/或三维模型,并且虚拟环境106再次包含虚拟对象110的集合和用户102的动态视角108。用户102的头戴式耳机104以以下方式将应用环境116与虚拟环境106集成在一起。
虚拟环境106在虚拟环境106内定义应用区域202,其中将呈现应用114的应用环境116。应用区域202可以包括例如虚拟环境106内的二维平面,和/或其中将要呈现应用环境116的三维表面,诸如曲面或球体。
虚拟环境106标识用户102在虚拟环境106内的视角108,诸如视角108相对于虚拟对象110和/或应用区域202的位置和/或取向。用户102可以例如通过倾斜或倾倒头部、改变姿势、物理地移动他或她的身体和/或诸如通过手动控制器来提供用户输入,更改动态视角108。
虚拟环境106向应用114通知在虚拟环境106内的应用区域202和用户102的视角108。随着应用区域202和/或用户102的视角108改变,虚拟环境106可以更新应用114。
应用114从虚拟环境106中用户102相对于应用区域202的视角108执行应用视图206的绘制204。例如如果视角118实际上位于距应用区域202十米的位置,并且具有10度向下的垂直倾斜和30度的水平旋转(例如应用区域202的平面与用户102的视角108之间的入射角),应用114可以绘制204应用环境116的应用视图206,其匹配此几何形状,并且几何上匹配入射到应用区域202的用户102的相对视角108。
虚拟环境106从应用114接收应用从用户102的视角108的应用视图206,并将应用114的应用视图206***虚拟环境106的应用区域202中。然后将包括应用区域206的环境106呈现给用户102(例如通过在安装在诸如虚拟现实头盔的头戴式耳机104内的两个双目显示器中的每一个上显示虚拟环境106)。
可选地,该呈现可以在虚拟环境106内提供应用环境116的立体呈现。例如应用视图206可以被呈现为一对双目表面208,诸如呈现应用环境116的左眼视图的左眼表面208,以及从稍微向右移动的视角118呈现应用环境116的右眼视图的右眼表面208,其中视差度可以指示应用模型118的相对深度。从用户104的视角108来看,应用区域202可以描绘双眼显示器之间的相对视差移动,其使一些应用模型118出现210给用户102,以存在于应用区域202的表面212后面的位置。也就是说,应用区域202可以在应用区域202的前面和/或后面展示应用模型118的双目深度,然而,仍然将应用对象118限制在应用区域202的边界。也就是说,用户102可以移动视角108以在应用区域202周围走动,从而引起相对视差移动,以使较近的应用对象118比更远的应用对象118在水平上移动得更多,从而传达了深度感。然而,在一些实施例中,如果用户104的视角108和应用模型118的相对深度将需要应用模型118的至少一部分出现在应用区域202的外部,则一些应用模型118可以被“修剪”或被部分遮挡。该特征可以使用户102能够通过移动视角108以使这样的应用模型118分别出现和/或消失,来在应用区域202的边界处查看和/或隐藏应用模型118或其部分。根据本文呈现的技术,以这种方式,虚拟环境106和应用环境116可以被集成并呈现给用户102。
C.技术效果
在虚拟环境领域中使用本文呈现的技术可以提供各种技术效果。
通过本文中呈现的技术的使用可以实现的第一技术效果是在虚拟环境106的呈现内的应用环境116的吸引人且一致的集成。本文呈现的技术使应用环境116使虚拟环境106能够以精确且忠实于应用114的方式呈现,而无需求助于失真,诸如通过展平应用环境116和丢弃深度信息,以及通过利用应用114的现有绘制过程,诸如例如着色器、照明模型和绘制技术,诸如可能在应用环境116展平时发生。另外,将应用视图206***应用区域202中,用于使与虚拟环境106的虚拟对象110同时呈现能够实现与两种环境的并发视图和/或交互,这在逻辑上可能会延伸到包括多个应用区域202分别呈现不同应用114的应用视图206,这对于沉浸式视图的单一、相互排斥的呈现模型可能是无法实现的。另外,应用区域202内的应用环境116的封闭保持了应用环境116与虚拟环境106之间的视觉描绘,从而避免了呈现样式的不和谐或不一致和/或对象模型之间的冲突,诸如可以出现在严格的全息视图中,以及潜在的不兼容性,其中应用模型118无法准确地被绘制到虚拟环境106中(例如其中应用114和应用环境116利用虚拟环境106不支持的着色器)。因此,相对于用于将应用环境116与虚拟环境106集成在一起的替代技术,诸如图1的示例场景中的集合100中所描绘的那些技术,诸如在图2的示例场景200中所描绘的本文所呈现的技术的使用可以提供各种视觉优势。
通过本文中呈现的技术的使用可以实现的第二技术效果是应用环境116和虚拟环境106的呈现中的延迟的期望减少。作为一个这样的示例,在图2的示例场景200中描述的布置能够实现应用114和虚拟环境106之间的快速、高效和一致的工作流以及处理工作的划分。例如虚拟环境106可以绘制虚拟对象110和光源112,同时,应用114从虚拟环境106中的用户102的视角108绘制应用环境116和应用模型118。此架构可以能够实现绘制这些不同环境的并行化,以及用于共享交互和应用视图206的传递以包括在应用区域202中的便利和高效的机制。例如应用114可以将绘制过程限于在应用视图206中呈现的应用模型118,并且可以放弃对应用模型118的绘制、诸如背景的场景的其他部分、和/或部分或全部被应用视图206遮挡的绘制效果。架构的并行化和/或效率可以使头戴式耳机104能够保持一致的低延迟,从而消除视觉伪像,诸如虚拟环境106和应用环境116之间的帧速率故障、移动延迟、剪切和/或同步不良更新一致性,包括令人不愉快的身体副作用,诸如头晕、恶心、头痛、眼疲劳和/或疲劳。
通过使用本文呈现的技术可以实现的第三技术效果是用户102的视角108对虚拟环境106和应用环境116两者的一致的应用。根据这样的技术,应用环境116的呈现反映了虚拟环境106内用户102相对于应用区域202的视角108;例如当用户102在虚拟环境106中移动视角108时,虚拟对象110和应用视图202同步更新以反映新的视角108。因此,将应用环境116包含在应用区域202中可以避免展示在静态绘画周围走动的视角不可知(perspective-agnostic)的体验,诸如可能发生在应用环境116的平面视图中。此外,集成呈现可以能够实现应用环境116的双目呈现,其中应用区域202展示深度,其看起来在应用区域202的前面和/或之后212延伸,而仍然根据用户102的视角106保持由应用区域202的边界范围限定。通过本文介绍的技术的使用,可以实现许多这样的技术效果。
D.示例实施例
图3是示例场景300的图示,其以根据本文呈现的技术的示例实施例的集合为特征,其呈现了虚拟环境106内的应用环境116。
在该示例场景300中,提供了示例设备302,其包括处理器304和存储虚拟环境106和应用114的存储器306。虚拟环境106将被呈现给头戴式耳机104的用户102,使得应用模型118以反映用户102在虚拟环境106中的视角108的方式与虚拟环境106的虚拟对象110同时出现,同时还呈现立体视图,在该立体视图中,应用模型118可能看起来像210存在于应用114的应用区域202之后212和/或之前。
示例设备302通过虚拟环境合成器***308的使用来实现该结果,该虚拟环境合成器***308构成包括应用114的应用视图206的虚拟环境106的呈现。在该示例场景300中,虚拟环境合成器***308包括由处理器304执行的存储在存储器306中的指令;然而,在一些实施例中,虚拟环境合成器***308可以包括其他形式,诸如一个或多个分立的硬件元件、显示适配器或显示适配器驱动器的组件或资源、和/或诸如云服务器的设备302或远程设备302提供的应用编程接口、运行时和/或图形库的资源。
虚拟环境合成器***308包括应用接口310,其向应用114通知虚拟环境106内的应用区域202,以及虚拟环境106内的用户102的视角108。应用接口310还从应用114接收从用户102的视角108来看的应用环境116的应用视图206。虚拟环境合成器***308还包括虚拟环境呈现器312,其在虚拟环境106中定义了应用区域202并标识了用户102在虚拟环境106内的视角108。虚拟环境呈现器312还将由应用界面310接收的应用114的应用视图206***到虚拟环境116的应用区域202中,并诸如使用头戴式耳机104的显示组件316来向用户102呈现虚拟环境106,包括应用区域202内的应用环境116。因此,根据本文提出的技术,虚拟环境106和应用环境116的所得到的呈现314实现了虚拟环境106和应用环境116的集成呈现。
图4是本文所呈现的技术的第二示例实施例的图示,被示为向用户104呈现包括应用114的虚拟环境106的示例方法400。示例方法400涉及具有处理器106的设备302,并且可以被实现为例如存储在查询处理器102的存储器304中的指令集合,诸如固件、***存储器、硬盘驱动器、固态存储组件、或磁性或光学介质,其中处理器106对指令的执行使设备302根据本文提出的技术进行操作。示例方法400开始于402,并且涉及在处理器106上执行404指令。具体地,执行指令使虚拟环境106在虚拟环境106内定义406应用区域202。执行指令还使虚拟环境106标识408虚拟环境106内的用户102的视角。执行指令还使虚拟环境106向应用通知410在虚拟环境106内应用区域202和用户102的视角108。执行指令还使得虚拟环境106从应用114接收412从用户102的视角108的应用114的应用视图206。执行指令进一步使虚拟环境106将应用114的应用视图206***414到虚拟环境106的应用区域202中。执行指令还使得虚拟环境106向用户102呈现416包括应用区域202的虚拟环境106。已经实现了在虚拟环境106的应用区域202内的应用环境116的应用视图206的呈现,因此,示例方法400根据此处介绍的技术在虚拟环境106中实现了应用114的呈现,并且因此在418处结束。
另一个实施例涉及一种计算机可读介质,该计算机可读介质包括被配置为应用本文提出的技术的处理器可执行指令。这种计算机可读介质可以包括各种类型的通信介质,诸如信号,信号可以通过各种物理现象(例如,电磁信号、声波信号或光信号)和在各种有线场景(例如,经由以太网或光纤电缆)和/或无线场景(例如,无线局域网(WLAN),诸如WiFi;个人局域网(PAN),诸如蓝牙;或蜂窝或无线电网络)传播,并且对计算机可读指令集合进行编码,当由设备的处理器执行时,这些指令使该设备实现本文呈现的技术。这样的计算机可读介质还可以包括(作为排除通信介质的一类技术)计算机-计算机可读存储设备,诸如存储器半导体(例如,利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、一盘硬盘驱动器、闪存设备、或磁盘或光盘(例如CD-R、DVD-R或软盘),对计算机可读指令集合进行编码,这些计算机可读指令集合在由设备的处理器执行时会使得该设备实现本文呈现的技术。
在图5中示出了可以以这些方式设计的示例计算机可读介质,其中实现500包括计算机可读存储设备502(例如CD-R,DVD-R或一盘硬盘驱动器),在计算机可读存储设备502上编码有计算机可读数据504。该计算机可读数据504进而包括计算机指令集合506,当在设备510的处理器106上执行时,使设备510根据本文阐述的原理进行操作。例如处理器可执行指令506可以提供虚拟环境合成器***308,该虚拟环境合成器***308使应用114被呈现在虚拟环境106的应用区域202内,诸如在图3的示例场景300中的示例设备302和/或示例虚拟环境合成器***308中。作为另一示例,处理器可执行指令506的执行可以使设备104执行在虚拟环境106内呈现应用114的方法,诸如图4的示例方法400。本领域普通技术人员可以设计出许多这样的计算机可读介质,其被配置为根据本文呈现的技术进行操作。
E.变体
本文讨论的技术可以在许多方面的变体来设计,并且相对于这些和其他技术的其他变体,一些变体可以呈现附加的优点和/或减少缺点。此外,可以组合地实现一些变体,并且一些组合可以通过协同合作以附加的优点和/或减少的缺点为特征。可以将变体并入各种实施例中(例如图3的示例查询处理器302;图3的示例虚拟现实合成器***308;图4的示例方法400;和/或图5的示例计算机可读存储设备500)以在这些实施例上赋予个人和/或协同优势。
El.场景
在这些技术的实施例之间可以变化的第一方面涉及其中可以利用这种技术的场景。
作为该第一方面的第一变体,本文提出的技术可以在各种设备302上被利用,诸如服务器、工作站、膝上型计算机、控制台、平板计算机、电话、便携式媒体和/或游戏机、嵌入式***、设备、车辆和可穿戴设备。这样的设备302还可以包括设备的集合,诸如分布式服务器场,其可以在地理上分布的区域中提供多个服务器,其与当前的应用114和虚拟环境106互操作。这样的设备302还可以为各种用户102提供服务,诸如管理员、来宾、客户、客户端和其他应用和/或设备302。作为另一个示例,通过其呈现虚拟环境106和/或应用114的显示组件316可以包括许多类型的设备,诸如具有单眼和/或双目显示器的头戴式耳机104(例如头盔、眼镜和/或护目镜);监视器;投影仪;诸如平板计算机和手机的便携式设备的表面;并且由诸如游戏控制台的设备提供给外部显示器的显示输出。
作为该第一方面的第二变体,该技术可以与各种虚拟环境106和应用114一起使用。作为第一这种示例,虚拟环境106可以包括:与用户102的物理环境隔离的沉浸式虚拟现实环境;使用部分透明的显示表面和/或视频透视模式来补充和/或注释用户102的物理环境的增强现实环境;仅在用户的物理环境视图上呈现视觉内容的平视显示器;或这种虚拟环境106的组合或变体。作为第二个这样的示例,虚拟环境106和虚拟对象110可以包括例如在其中执行应用114的操作***和视觉计算环境;专业、社会和/或学术经验;娱乐和/或教育媒体呈现;游戏;社交联网和/或社交媒体体验;或任何其他类型的虚拟环境106。虚拟环境106可以与用户102隔离和/或可以是与其他个人共享的多用户体验。作为第三个这样的示例,应用114和应用模型118还可以包括例如在其中执行应用114的操作***和视觉计算环境;专业、社会和/或学术经验;娱乐和/或教育媒体呈现;游戏;社交联网和/或社交媒体体验;或任何其他类型的应用114和相关联的内容。在一些变体中,虚拟环境106和应用114可以包括单个组件的不同方面,诸如操作***或运行时平台的不同方面和/或呈现,和/或单个虚拟环境106中的不同视图。应用模型的这种变体可能适用于本文呈现的技术的使用。
E2.集成虚拟环境和应用视图
在这些技术的实施例之间可以变化的第二方面涉及用于在应用区域202内可视地集成虚拟环境106和应用环境116的应用视图206的技术。
作为该第二方面的第一变体,虚拟环境106可以被用来在虚拟环境106内同时呈现多个应用114。作为第一这样的示例,虚拟环境106将本文介绍的相同应用区域202技术应用于几个应用中的每一个;例如对于第一应用114和第二应用114两者,虚拟环境106可以定义应用区域202,并且可以在虚拟环境106内呈现第一应用114的第一应用环境116的第一应用视图206,同时在虚拟环境206内呈现第二应用114的第二应用环境116的第二应用视图206。
作为该第二方面的第二变体,可以以各种方式来限定应用区域202。作为第一个这样的示例,虚拟环境106可以接收在虚拟环境106内将在其中呈现应用114的应用区域202的至少一个属性,并且可以根据应用区域202的至少一个属性来定义应用区域202。例如应用114、用户104和/或设备302的另一个元素(诸如另一个应用114或操作***)可以请求具有特定形状、大小、分辨率和/或诸如色深的显示属性的应用区域202。虚拟环境106可以为应用区域202分配指定的属性。具体地,可以将应用区域202请求为适合于提供三维应用视图206作为双目表面对的双目显示器和应用114的立体应用区域202,并且虚拟环境106可以相应地分配应用区域202作为立体应用区域202。
图6是示例场景600的图示,其以在单个虚拟环境106内同时呈现多个应用114为特征。在该示例场景600中,虚拟环境106在第一应用114(包括电子邮件应用)的第一应用区域202和第二应用114(包括媒体应用)的第二应用区域202旁边呈现虚拟对象集合110。用户102通过头戴式耳机104查看虚拟环境106,头戴式耳机104从特定的视角108描绘了虚拟环境,并且用户104可以将用户输入604定向到应用114中的每一个,而不必在它们之间启动视觉转换,因为应用114两者在视觉环境106内同时被呈现。根据本文呈现的技术,应用区域202展现双目视图,其中从用户102的视角108来看,一些应用模型108出现210出现在应用区域202的前面和/或后面,同时仍被包含在应用区域202的边界内。另外,第一应用114向具有特定属性602(例如适合于显示第一应用114的应用视图206的最小分辨率)的应用区域202提供请求,并且虚拟环境106根据应用114所请求的属性602为第一应用114分配应用区域202。类似地,用户102的用户输入604可以包括与第二应用114的应用区域202的边界的交互606,诸如请求调整应用区域202的大小,并且虚拟环境106可以通过启动应用区域202的大小调整608来容纳用户输入604。以这种方式,根据本文呈现的技术,可以在虚拟环境106内呈现各种类型的多种应用。
作为该第二方面的第三变体,可以以各种方式来适应应用环境116与虚拟环境106的集成,以将显示视图206的外壳容纳在显示区域202内。即,可能需要提供三维应用环境116的立体应用视图206,其中应用模型118(从用户102的视角108)出现在应用区域202的表面的前面和/或后面212。然而,一些视角108可以导致超出应用区域202的边界的一个或多个应用模型118的转换。可以利用各种技术来标识和解决应用区域202内的应用视图206的呈现的该方面,尤其是对于立体视图。
图7是以这种技术为特征的示例场景的集合700的图示。作为第一个这样的示例712,当用户102从虚拟环境106内的第一视角108查看应用114的应用区域202时,特定的应用模型702可能靠近视角108出现,并且可能会出现210以立体地被投影在应用区域202的前面,但仍在虚拟环境106的呈现314中的应用区域202的边界内。因此,作为第二示例714,当用户102通过绕应用区域202旋转来改变704视角106时,应用模型702(位于靠近用户102的视角108)可能会展现很大的视差移动度,从而使应用模型702出现在呈现314中应用区域202的边界外。
在包括第二示例714的一些示例中,这样的变换可以在没有改变的情况下被接受并且被呈现。然而,在其他实施例中,可以利用消除技术来减少和/或防止应用模型118逃避应用区域202的边界。
作为第三示例716,可以剪切应用区域202,使得当从用户102的视角106来看应用视图206的一部分延伸到应用区域202的边界之外时,从用户102的视角106,虚拟环境106可以将应用视图206剪切到应用区域202的边界。例如,可以从应用视图206的呈现中省略应用模型706。
作为第四示例718,可以在这种特定情况下将应用区域202展平,以减少应用视图206超出应用区域202的延伸。例如当应用视图206的一部分由于应用视图206的该部分的深度而延伸超出应用的边界时,虚拟区域106可以将应用视图206的深度减小到应用区域202的边界。展平在这种情况下可以被完全应用(例如将应用视图206展平为二维视图)和/或仅达到使应用视图206能够被应用区域202包围的程度。另外,展平可以在整个应用视图206上和/或仅在延伸到应用区域202的边界之外的应用视图206的部分上被应用(例如仅对应用模型702)。
作为第五示例720,虚拟环境106可以适应应用区域202的边界以容纳应用视图206。例如应用区域202的边缘可以被延伸708以涵盖从用户102的视角108应用视图206延伸到应用区域202之外的部分,诸如延伸708应用区域202的边缘以涵盖应用模型702。
作为第六示例722,当用户102绕应用区域202旋转704引起视差效应以使应用视图206的部分能够逃脱应用区域202时,虚拟环境106可以旋转应用区域206以面向用户102的视角108。旋转应用区域206可以使虚拟环境106能够保持应用视图206的立体方面(例如应用模型702继续出现在应用区域202的前面),同时将应用视图206包含在应用区域202中。根据本文提出的技术,可以利用许多这样的技术来使应用区域202适应于应用视图206。
作为该第二方面的第四变体,可以以各种方式来自适应应用环境116与虚拟环境106的集成以在应用114和/或虚拟环境106之间共享各种方面。
图8是其中在应用环境116和虚拟环境106之间共享视觉效果的示例场景的集合800的图示。作为第一示例804,虚拟环境106可以包括视觉效果,诸如照明各种虚拟对象110的光源112(例如,从虚拟环境106内的用户102的视角108提供虚拟对象110的阴影)。虚拟环境106还与应用114共享视觉效果,以包括在应用环境116的应用视图206中。例如除了向应用114通知视角118和应用区域202之外,虚拟环境106可以向应用114通知虚拟环境106中的光源112的详细信息,以使视觉效果802可以出现在应用环境116中的应用模型118上(例如应用环境116中的对象的阴影,和/或应用环境116中反射表面的眩光效果)。作为第二示例806,应用环境116可以包括光源112,诸如太阳的描绘,并且虚拟环境106可以将应用环境116的视觉效果应用于虚拟环境106(例如,虚拟环境106中虚拟对象110的阴影和/或施加到虚拟对象110表面的诸如眩光的视觉效果802)。视觉效果的这种共享可以延伸到其他场景。例如在虚拟环境106同时呈现两个应用114的应用视图206的情况下,其中第一应用环境116包括视觉效果802,除了将视觉效果802并入虚拟环境106之外,虚拟环境106还可以与第二应用114共享第一应用114的视觉效果802,以包括在第二应用环境116的第二应用视图206中。这样的共享可以包括光源以外的细节。例如单个长阴影可以从应用环境116内延伸到虚拟环境106的虚拟对象110上,应用模型118可以避开应用区域202的应用视图206,并且可以替代地变成虚拟环境106的虚拟对象110;并且应用模型118可以与虚拟对象110交互,诸如虚拟环境106中的第一个角色与应用环境116中的第二个角色进行对话和/或握手。
作为该第二方面的第四变体,可以在包含在应用区域206内的应用114和包括在图1的示例集合100中呈现的那些技术的用于呈现该应用114的其他技术之间提供转换122。作为第一个这种示例,通过用户102的请求,虚拟环境106可以将122从应用区域202内的应用114的第一表示314转换为展平的表示,例如将应用展平为二维视图。作为第二个这样的示例,通过用户102的请求,虚拟环境106可以从应用区域202内的应用114的第一表示314转换122为沉浸式表示,例如用应用环境116的专有表示314代替虚拟环境106。作为第三个这种示例,通过用户102的请求,虚拟环境106可以从应用区域202中的应用114的第一表示314转换为全息图表示122,例如将应用环境116的应用模型118与虚拟环境106集成在一起。在应用环境116和虚拟环境106之间的效果共享中的许多这样的变体可以被包括在本文提出的技术的变体中。
E3.处理工作量划分和委派
在这些技术的实施例之间可以变化的第三方面涉及用于在虚拟环境106和应用114之间划分处理工作量的技术,该技术可以提供可并行化、同步化、集成的表示。
作为该第三方面的第一变体,虚拟环境106可以包括立体虚拟环境106。从应用114接收的应用视图206可以进一步包括:一起呈现立体应用视图206的左眼表面208和右眼表面208,并且虚拟环境106(例如,头戴式耳机104)可以将左眼表面208呈现给用户102的左眼,并将右眼表面208呈现给用户102的右眼。
作为该第三方面的第二变体,虚拟环境106内的用户102的视角可以涉及标识查看虚拟环境106的用户102的头部的至少一个取向属性(例如头戴式耳机104可以包括惯性测量单元,其测量用户的头部的转动和/或倾斜),并且虚拟环境106可以向应用114通知用户102的头部的至少一个取向属性。
作为该第三方面的第三变体,可以将多种架构用于虚拟环境106和应用114,并且它们之间的交互协调虚拟环境106的呈现。作为第一个这种示例,应用114可以进一步包括由虚拟环境106托管的应用视图绘制线程。虚拟环境106可以通过与应用视图绘制线程直接共享应用区域和透视图来通知应用114应用区域202和透视图106,和/或可以直接从应用视图绘制线程接收应用视图206。作为第二个这样的示例,应用114可以进一步包括在虚拟环境106外部(例如,在分离的应用进程内执行)的应用视图绘制线程。虚拟环境106可以通过将关于应用区域202和透视图108的信息存储在应用视图绘制线程可访问的共享存储器区域中来向应用114通知应用区域202和透视图108,和/或可以从共享存储器区域中取回应用视图绘制线程的应用视图206。
作为第三个这样的示例,应用114可以进一步包括与虚拟环境106相比异步执行的应用视图绘制线程。虚拟环境106可以通过以下各项来接收应用视图206:异步标识由应用114提供的可用应用视图206,并且响应于异步识别可用应用视图206,将可用应用视图206***到应用区域202中。也就是说,与虚拟环境106相比,应用114可以按自己的节奏并异步地绘制应用视图206的框架,并且虚拟环境106可以在应用114的框架可用时集成应用114的框架。
作为该第三方面的第四变形,通常经由应用114和虚拟环境合成器***308之间的共享表面来绘制和合成应用114,并且应用114可以将其内容绘制到共享表面中,然后向虚拟环境合成器***308发信号通知,然后虚拟环境合成器***308可以从共享表面中读取以生成绘制的场景。根据本公开,该交互可以涉及为应用114为“左眼视图”提供两个共享表面,并为“右眼视图”提供一个共享表面。可以向应用114提供关于虚拟环境106内的左和右视角的信息(例如每只眼睛的视角的位置和取向)以及应用114在绘制场景内的位置。可以包括其他信息,诸如跟踪时间戳和/或头部跟踪数据,以微调应用内容的位置,例如以补偿内容被生成时左/右摄像机位置与最终场景将要被消耗时的预期左/右摄像机位置之间的延迟。应用114可以使用该信息以将其从左视角和右视角的内容绘制到对应的表面中。应用114可以向虚拟环境合成器***308发信号通知,该虚拟环境合成器***308然后从两个表面读取并且在生成最终的左眼场景时使用左眼视图内容,并且在生成最终的右眼场景时使用右眼视图内容。因此,保留了对定位和深度的感知,就像将内容被直接绘制到场景中一样。根据本文呈现的技术,可以利用许多这样的技术来提供架构和处理流水线,以用于将应用环境116的应用视图206与虚拟环境106集成在一起。
E4.延迟减少和/或消除
在这些技术的实施例之间可以变化的第四方面涉及用于在期望的延迟阈值内减小呈现的延迟、和/或消除超过期望的延迟阈值的延迟的影响的技术。
如本文所述,在许多场景中(例如头戴式耳机104内的显示器),期望维持低延迟以提供令人愉悦的用户体验和/或减少令人不愉快的副作用,诸如头昏眼花和头痛。例如在图2的示例场景200中,可能期望提供具有处理负载划分的架构,该架构能够实现在虚拟环境106和应用114之间进行相对快速、高效且一致的工作流。例如,在第一时间214,虚拟环境106可以向应用114通知视角108和应用区域202;在第二时间216,应用114可以接收视角108并且开始绘制204应用视图206;在第三时间218,应用114可以通知虚拟环境106应用视图206可用;在第四时间,虚拟环境106可以提供集成了应用114的应用视图206的呈现314。可能期望提供一种架构,在该架构中,可以针对时间戳阈值内的几乎全部帧完成此过程,诸如在头戴式耳机104的90Hz刷新速率内始终呈现帧,并且具有最多一帧的延迟。
可以理解,本文提供的架构可以例如通过在应用114和虚拟环境106之间划分处理负载以经由并行化实现高效,和/或通过在虚拟环境106和一个或多个应用114之间诸如通过本文提供的架构来安排信息共享,在延迟阈值内促进此工作流程的一致完成。该效果还例如通过以下各项来实现:通过在应用114和虚拟环境106之间提供的双向通信,诸如图2的示例场景200所示,与图1的示例的集合100中呈现的变体相反,其中应用114简单地将信息馈送到虚拟环境106中,而无需从虚拟环境106中接收大量通信。
还可以利用附加技术来减少绘制过程的延迟。作为第一个这样的示例,设备可以向虚拟环境106提供各种绘制的帧的时间戳,并且虚拟环境106可以向应用114通知要在其中呈现应用视图206的虚拟环境106的时间戳。另外,设备可以检测要被包括在虚拟环境106中的应用114的应用视图202与要在其中呈现应用视图206的虚拟环境106的时间戳之间的时间差。设备可以调整应用视图206以减小应用视图206和由用户102感知的虚拟环境106的时间戳之间的时间差。
作为第二个这样的示例,如果检测到延迟超过期望的阈值,则可以利用各种消除技术。作为第一个这样的示例,可以请求应用114将应用视图206缩减到较低的视觉质量,诸如较简单的绘制过程和/或较低的分辨率。作为第二个这样的示例,虚拟环境106可以请求应用106以一致地可持续的较低帧速率进行绘制。作为第三个这样的示例,可以利用各种技术来补偿后期帧,诸如后期重投影(“LSR”)技术。例如如果视角108在虚拟环境106内被横向变换,则可以对应地在视觉上变换迟接收的应用视图206,使得应用环境116内的应用模型118的位置恰当地反映了视角的横向变换。根据本文呈现的技术,许多技术可以被用来维持低延迟和/或消除不期望的高延迟。
F.附加示例
以下示例提供了有关可以应用本文呈现的技术的方式的更多上下文。
图9是描绘了本文呈现的技术的示例过程实施例的示例场景900的图示。在该示例场景中,根据本文所呈现的技术,应用114与虚拟环境合成器***308进行交互以在虚拟环境内呈现内容。在该示例场景900中,用户102的头戴式耳机104生成头部跟踪信息集合902并将该信息发送904到虚拟环境合成器***308(例如,应用114在虚拟环境中的位置、大小和方向、以及用户102的当前位置和取向)。如果应用绘制器被托管在虚拟环境合成器***308内的专用线程中,则可以经由共享接口来共享信息。替代地,如果应用绘制器驻留在应用114的过程中,则可以使用通信机制来传递信息,诸如共享存储器区域。
虚拟环境合成器***308执行一些初始绘制,得到关于应用区域和用户视角906的信息集合的生成,例如应用114的窗口位置和取向;绘制时间戳;并针对左眼和右眼视角进行变换。虚拟环境合成器***308将该信息发送908到应用114,应用114向虚拟环境合成器***308发信号通知912应用视图910可用,诸如包括来自用户102的左眼的应用114的内容的透视图的左眼表面,和包括来自用户102的右眼的应用114的内容的透视图的右眼表面。虚拟环境合成器***308将应用视图910***视觉输出914,并将视觉输出914发送916到头戴式耳机104,以显示给用户102。以这种方式,根据本文呈现的技术,应用114的内容可以与虚拟环境集成。
图10是第一示例场景1000的图示,其中应用了当前呈现的技术的变体。本文第一示例场景1000中,虚拟环境合成器***308和应用114相互操作生成两个表面,这些表面分别集成应用114的输出,但是这样做的方式不一定用于立体呈现;相反,表面208在不同时间呈现包括应用114的虚拟环境的内容的不同视角108,例如在第一时间214和第二时间216的场景视图。应用114可以同时生成和两次都向虚拟环境合成器***308呈现表面208,并且用户102的头戴式耳机104可以选择呈现一个或另一个。例如由于两个表面208均可用,因此用户102可以发起第一时间214或第二时间216的选择1002,并且头戴式耳机104可以以无缝和快速的方式在呈现之间切换。作为另一个示例,头戴式耳机104可以融合表面208,例如将表面208与50%/50%的α通道合并,以在不同时间呈现场景的图形合成。这样的呈现可能是有利的,例如对于生成场景的单个视角108的新颖、有趣和/或有用的变体;例如用户可以在不同时间观看场景的叠加以执行视觉比较并在不同时间标识应用114内容的实质差异。虚拟环境合成器***308和应用114的用于针对不同时间216生成多个表面208的配置可以促进头戴式耳机104以快速的方式为用户102显示这样的呈现的能力。
图11是第二示例场景1100的图示,其中应用了当前呈现的技术的变体。在该第二示例场景1100中,虚拟环境合成器***308和应用114相互操作以生成分别集成应用114的输出的两个表面,但是这样做的方式不一定要用于立体呈现;相反,表面208为不同用户104呈现了虚拟环境的内容的不同视角108,例如其中用户104位于虚拟环境内的不同位置。虚拟环境合成器***308和应用114用于生成多个表面1102以呈现不同用户102的不同视角108的配置,可以使每个用户102能够查看不同的用户特定的场景视图,包括应用区域202,多个表面1102同时呈现在不同头戴式耳机104上。这样的配置可能是有利的,例如对于促进适用于用户102两者的应用视图206的某些绘制计算和过程的重用;例如应用114的一些计算,诸如半透明和表面的透明度的依赖于视角的水平,对于视角208两者而言可能是实质上完全相同的,并且由应用114对单个帧的透明度进行单个评估可以适用于用户102两者的表面1102的生成。以这种方式,当将场景呈现给两个或多个用户102时,本文呈现的技术可以促进绘制流水线的效率。许多这样的变体可以有利地利用本文呈现的技术的变体来生成根据本公开的包括应用114的虚拟环境。
G.术语的使用
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求书中定义的主题不一定限于上述特定特征或动作。相反,上述特定特征和动作被公开为实现权利要求的示例形式。
如在本申请中使用的,术语“组件”、“模块”、“***”、“接口”等通常旨在指代与计算机有关的实体,其是硬件、硬件和软件的组合、软件、或执行中的软件。一个或多个组件可以位于一台计算机上和/或分布在两台或更多台计算机之间。
此外,可以使用标准编程和/或工程技术来生成软件,固件,硬件或其任意组合以将所要求保护的主题实现为方法、装置或制品以控制计算机以实现所公开的主题。本文所使用的术语“制品”旨在涵盖可从任意计算机可读设备、载体或介质访问的计算机程序。当然,本领域技术人员将认识到,可以在不脱离所要求保护的主题的范围或精神的情况下对该配置进行许多修改。
本文提供实施例的各种操作。在一实施例中,所描述的操作中的一个或多个可以构成在一个或多个计算机可读介质上存储的计算机可读指令,如果由计算设备执行,则其将使计算设备执行所描述的操作。描述的操作中的某些或全部的顺序不应解释为暗示这些操作必定与顺序有关。受益于此描述的本领域技术人员将意识到替代的排序。此外,将理解的是,并非在本文提供的每个实施例中必须存在所有操作。
本文中描述为“示例”的任意方面或设计不一定被解释为优于其他方面或设计。相反,词语“示例”的使用旨在表示可能与本文提出的技术有关的一个可能的方面和/或实现。这样的示例对于这样的技术不是必需的或旨在限制。这样的技术的各种实施例可以单独地或与其他特征组合地包括这样的示例,和/或可以改变和/或省略所示出的示例。
如在本申请中使用的,术语“或”旨在表示包括性的“或”而不是排他性的“或”。也就是说,除非另有说明或从上下文可以清楚看出,否则“X采用A或B”旨在表示自然的包含性排列中的任意一个。也就是说,如果X采用A;X采用B;或X采用A和B两者,则在上述情况中的任意一个下都满足“X采用A或B”。另外,在本申请和所附权利要求书中使用的冠词“一”和“一个”通常可以被解释为表示“一个或多个”,除非另有说明或从上下文清楚地指向单数形式。
此外,尽管已经相对于一个或多个实现示出和描述了本公开,但是基于对本说明书和附图的阅读和理解,本领域的其他技术人员将想到等同的更改和修改。本公开包括所有这样的修改和更改,并且仅由所附权利要求的范围限制。特别是关于上述组件(例如元素、资源等)执行的各种功能,除非另有说明,否则用于描述这种组件的术语旨在对应于执行所描述的组件的指定功能的任意组件(例如在功能上是等效的),即使在结构上不等效于在本公开的本文示出的示例实现中执行功能的所公开的结构。另外,尽管可能已经仅针对几种实现中的一种实现公开了本公开的特定特征,但是根据任意给定的或特定的应用可能期望的和有利的,这种特征可以与其他实现的一个或多个其他特征组合。此外,就在具体实施方式或权利要求中使用术语“包括”、“具有”、“含有”、“包含”或其变体的程度而言,这些术语旨在以类似于术语“包括”的方式是包括性的。
Claims (20)
1.一种向用户呈现包括应用的虚拟环境的设备,所述设备具有处理器,并且包括:
由所述处理器执行指令,所述指令使得所述虚拟环境:
在所述虚拟环境内定义应用区域;
标识所述虚拟环境内的所述用户的视角;
向所述应用通知所述虚拟环境内的所定义的所述应用区域和所述虚拟环境内的所述用户的所述视角两者;
从所述应用接收包括从所述用户的所述视角的、相对于所定义的所述应用区域的所述应用的视图的应用视图,其中所述应用视图包括一个或多个应用模型的视图,所述一个或多个应用模型在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的边界;
呈现被***到所述虚拟环境的所定义的所述应用区域中的所述应用视图,所述应用视图具有在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的所述边界的所述一个或多个应用模型的减少的深度,使得所述一个或多个应用模型从所述用户的所述视角被查看时不再延伸超出所述应用区域的所述边界。
2.根据权利要求1所述的设备,其中定义所述应用区域还包括:
接收所述应用区域的至少一个属性,在所述应用区域中所述应用被呈现在所述虚拟环境内;以及
根据所述应用区域的所述至少一个属性来定义所述应用区域。
3.根据权利要求1所述设备,还包括旋转所述应用区域以面对所述用户的所述视角。
4.根据权利要求1所述的设备,其中所述应用视图包括从所述用户的右眼的所述视角的、相对于所定义的所述应用区域的所述应用的右眼视图和从所述用户的左眼的所述视角的、相对于所定义的所述应用区域的所述应用的左眼视图。
5.根据权利要求1所述的设备,其中:
所述虚拟环境还包括立体虚拟环境;
从所述应用接收所述应用视图还包括:
从所述应用接收一起呈现立体应用视图的左眼表面和右眼表面;以及
呈现被***到所述虚拟环境的所定义的所述应用区域的所述应用视图还包括:
向所述用户的左眼呈现所述左眼表面;以及
向所述用户的右眼呈现所述右眼表面。
6.根据权利要求1所述的设备,其中:
标识所述虚拟环境内的所述用户的所述视角还包括:标识查看所述虚拟环境的所述用户的头部的至少一个取向属性;以及
向所述应用通知所述用户的所述视角还包括:向所述应用通知所述用户的所述头部的所述至少一个取向属性。
7.根据权利要求1所述的设备,其中:
呈现被***到所述虚拟环境的所定义的所述应用区域的所述应用视图还包括:根据所述虚拟环境的时间戳来呈现所述虚拟环境;以及
通知所述应用还包括:向所述应用通知在其中所述应用视图要被***的所述虚拟环境的所述时间戳。
8.根据权利要求7所述的设备,其中所述虚拟环境的所 述时间戳包括第一时间戳,并且其中:
所述设备还检测所述应用视图的第二时间戳与在其中所述应用视图要被***的所述虚拟环境的所述第一时间戳之间的时间差;以及
将所述应用视图***所定义的所述应用区域中包括:调整所述应用视图,以减少由所述用户感知的所述应用视图的所述第二时间戳与所述虚拟环境的所述第一时间戳之间的所述时间差。
9.根据权利要求1所述的设备,其中:
所述应用还包括由所述虚拟环境托管的应用视图绘制线程;
向所述应用通知所定义的所述应用区域和所述视角还包括:与所述应用视图绘制线程共享所述应用区域和所述视角;以及
接收所述应用视图还包括:从所述应用视图绘制线程接收所述应用视图。
10.根据权利要求1所述的设备,其中:
所述应用还包括所述虚拟环境外部的应用视图绘制线程;
向所述应用通知所述虚拟环境内的所定义的所述应用区域和所述用户的所述视角两者还包括:将所述虚拟环境内的所定义的所述应用区域和所述用户的所述视角存储在所述应用视图绘制线程可访问的共享存储器区域中;以及
接收所述应用视图还包括:从所述共享存储器区域取回所述应用视图绘制线程的所述应用视图。
11.根据权利要求1所述的设备,其中:
所述应用还包括与所述虚拟环境相比异步地执行的应用视图绘制线程;以及
接收所述应用视图还包括:异步地标识由所述应用提供的可用应用视图;以及
将所述应用视图***到所定义的所述应用区域还包括:响应于异步地标识所述可用应用视图,将所述可用应用视图***所述应用区域中。
12.根据权利要求1所述的设备,其中所述应用还包括视觉效果;并且将所述应用的所述应用视图***到所定义的所述应用区域包括:将所述应用的所述视觉效果应用到所述虚拟环境。
13.根据权利要求1所述的设备,其中:
所述虚拟环境还包括视觉效果;以及
通知所述应用包括与所述应用共享用于包括在所述应用视图中所述视觉效果。
14.根据权利要求1所述的设备,其中:
所述虚拟环境还包括:第一应用和第二应用;以及
呈现所述虚拟环境还包括:
在所述虚拟环境内呈现所述第一应用的第一应用视图;以及
与所述第一应用视图同时,在所述虚拟环境内呈现所述第二应用的第二应用视图。
15.根据权利要求14所述的设备,其中:
所述第一应用还包括视觉效果;以及
通知所述应用包括与所述第二应用共享用于包括在所述第二应用视图中的所述第一应用的所述视觉效果。
16.一种向用户呈现包括应用的虚拟环境的方法,所述方法涉及处理器并且包括:
由所述处理器执行指令,所述指令使所述虚拟环境:
在所述虚拟环境内定义应用区域;
标识所述虚拟环境内的所述用户的视角;
向所述应用通知所述虚拟环境内的所定义的所述应用区域和所述虚拟环境内的所述用户的所述视角两者;
从所述应用接收包括从所述用户的所述视角相对于所定义的所述应用区域的所述应用的视图的应用视图,其中所述应用视图包括一个或多个应用模型的视图,所述一个或多个应用模型在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的边界;
呈现被***到所述虚拟环境的所定义的所述应用区域中的所述应用视图,所述应用视图具有在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的所述边界的所述一个或多个应用模型的减少的深度,使得所述一个或多个应用模型从所述用户的所述视角被查看时不再延伸超出所述应用区域的所述边界。
17.根据权利要求16所述的方法,其中定义所述应用区域还包括:
接收所述应用区域的至少一个属性,在所述应用区域中所述应用被呈现在所述虚拟环境内;以及
根据所述应用区域的所述至少一个属性来定义所述应用区域。
18.根据权利要求16所述方法,还包括旋转所述应用区域以面对所述用户的所述视角。
19.根据权利要求16所述的方法,其中所述应用视图包括从所述用户的右眼的所述视角的、相对于所定义的所述应用区域的所述应用的右眼视图和从所述用户的左眼的所述视角的、相对于所定义的所述应用区域的所述应用的左眼视图。
20.一种或多种硬件存储设备,具有存储在其上的计算机可执行指令,所述计算机可执行指令由计算机***的一个或多个处理器可执行以使所述计算机***:
在虚拟环境内定义应用区域;
标识所述虚拟环境内的用户的视角;
向所述应用通知所述虚拟环境内的所定义的所述应用区域和所述虚拟环境内的所述用户的所述视角两者;
从所述应用接收包括从所述用户的所述视角相对于所定义的所述应用区域的所述应用的视图的应用视图,其中所述应用视图包括一个或多个应用模型的视图,所述一个或多个应用模型在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的边界;
呈现被***到所述虚拟环境的所定义的所述应用区域中的所述应用视图,所述应用视图具有在从所述用户的所述视角被查看时初始地延伸超出所述应用区域的所述边界的所述一个或多个应用模型的减少的深度,使得所述一个或多个应用模型在所述用户的所述视角被查看时不再延伸超出所述应用区域的所述边界。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762504529P | 2017-05-10 | 2017-05-10 | |
US62/504,529 | 2017-05-10 | ||
PCT/US2018/032002 WO2018209043A1 (en) | 2017-05-10 | 2018-05-10 | Presenting applications within virtual environments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110637273A CN110637273A (zh) | 2019-12-31 |
CN110637273B true CN110637273B (zh) | 2021-12-03 |
Family
ID=62599681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880030749.7A Active CN110637273B (zh) | 2017-05-10 | 2018-05-10 | 在虚拟环境内呈现应用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10650541B2 (zh) |
EP (1) | EP3607420B1 (zh) |
CN (1) | CN110637273B (zh) |
WO (1) | WO2018209043A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11861136B1 (en) * | 2017-09-29 | 2024-01-02 | Apple Inc. | Systems, methods, and graphical user interfaces for interacting with virtual reality environments |
US11195336B2 (en) | 2018-06-08 | 2021-12-07 | Vulcan Inc. | Framework for augmented reality applications |
US12003585B2 (en) | 2018-06-08 | 2024-06-04 | Vale Group Llc | Session-based information exchange |
US11733824B2 (en) * | 2018-06-22 | 2023-08-22 | Apple Inc. | User interaction interpreter |
US10996831B2 (en) | 2018-06-29 | 2021-05-04 | Vulcan Inc. | Augmented reality cursors |
KR102543228B1 (ko) * | 2018-10-18 | 2023-06-13 | 삼성전자주식회사 | 포터블 장치 및 그 제어방법 |
JP7307568B2 (ja) | 2019-03-20 | 2023-07-12 | 任天堂株式会社 | 画像表示システム、画像表示プログラム、表示制御装置、および画像表示方法 |
US11120593B2 (en) * | 2019-05-24 | 2021-09-14 | Rovi Guides, Inc. | Systems and methods for dynamic visual adjustments for a map overlay |
US11674818B2 (en) | 2019-06-20 | 2023-06-13 | Rovi Guides, Inc. | Systems and methods for dynamic transparency adjustments for a map overlay |
US20210097776A1 (en) * | 2019-09-28 | 2021-04-01 | Apple Inc. | Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments |
US11354867B2 (en) * | 2020-03-04 | 2022-06-07 | Apple Inc. | Environment application model |
WO2022066441A1 (en) * | 2020-09-24 | 2022-03-31 | Sterling Labs Llc | Applications in a multiuser environment |
US11734860B2 (en) * | 2020-12-22 | 2023-08-22 | Cae Inc. | Method and system for generating an augmented reality image |
US20220269336A1 (en) * | 2021-02-25 | 2022-08-25 | Quebec Inc. (Auger Groupe Conseil) | Systems and methods for virtual interaction |
US11651544B2 (en) * | 2021-04-30 | 2023-05-16 | Varjo Technologies Oy | Systems and methods employing multiple graphics processing units for producing images |
US20230102820A1 (en) * | 2021-09-24 | 2023-03-30 | Apple Inc. | Parallel renderers for electronic devices |
CN117093070A (zh) * | 2023-06-05 | 2023-11-21 | 北京虹宇科技有限公司 | 扩展现实空间中的应用形态控制方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201106201A (en) * | 2009-03-04 | 2011-02-16 | Informamuse S R L | Virtual multimode navigation system |
CN102169364A (zh) * | 2010-02-26 | 2011-08-31 | 原相科技股份有限公司 | 应用于立体互动***的互动模块及其方法 |
CN102947777A (zh) * | 2010-06-22 | 2013-02-27 | 微软公司 | 用户跟踪反馈 |
CN105188516A (zh) * | 2013-03-11 | 2015-12-23 | 奇跃公司 | 用于增强和虚拟现实的***与方法 |
US9240069B1 (en) * | 2015-06-30 | 2016-01-19 | Ariadne's Thread (Usa), Inc. | Low-latency virtual reality display system |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5523886A (en) | 1994-01-04 | 1996-06-04 | Sega Of America, Inc. | Stereoscopic/monoscopic video display system |
US6271808B1 (en) | 1998-06-05 | 2001-08-07 | Silicon Light Machines | Stereo head mounted display using a single display device |
CA2404985A1 (en) | 2000-03-30 | 2001-10-11 | Greenberg, Edward | Split image stereoscopic system and method |
US20070024701A1 (en) | 2005-04-07 | 2007-02-01 | Prechtl Eric F | Stereoscopic wide field of view imaging system |
US7884823B2 (en) * | 2007-06-12 | 2011-02-08 | Microsoft Corporation | Three dimensional rendering of display information using viewer eye coordinates |
US10063848B2 (en) * | 2007-08-24 | 2018-08-28 | John G. Posa | Perspective altering display system |
US8834168B2 (en) | 2008-08-21 | 2014-09-16 | Lincoln Global, Inc. | System and method providing combined virtual reality arc welding and three-dimensional (3D) viewing |
US8762846B2 (en) * | 2009-11-16 | 2014-06-24 | Broadcom Corporation | Method and system for adaptive viewport for a mobile device based on viewing angle |
TWI407773B (zh) | 2010-04-13 | 2013-09-01 | Nat Univ Tsing Hua | 提供三維立體影像之方法及系統 |
US9167289B2 (en) * | 2010-09-02 | 2015-10-20 | Verizon Patent And Licensing Inc. | Perspective display systems and methods |
WO2012176109A1 (en) * | 2011-06-22 | 2012-12-27 | Koninklijke Philips Electronics N.V. | Method and apparatus for generating a signal for a display |
US9734633B2 (en) * | 2012-01-27 | 2017-08-15 | Microsoft Technology Licensing, Llc | Virtual environment generating system |
US9292085B2 (en) * | 2012-06-29 | 2016-03-22 | Microsoft Technology Licensing, Llc | Configuring an interaction zone within an augmented reality environment |
US20140092281A1 (en) * | 2012-09-28 | 2014-04-03 | Pelican Imaging Corporation | Generating Images from Light Fields Utilizing Virtual Viewpoints |
US9202313B2 (en) * | 2013-01-21 | 2015-12-01 | Microsoft Technology Licensing, Llc | Virtual interaction with image projection |
US20140375663A1 (en) | 2013-06-24 | 2014-12-25 | Alexander Pfaffe | Interleaved tiled rendering of stereoscopic scenes |
US9342467B1 (en) * | 2013-07-17 | 2016-05-17 | Frederick Thomas McGrath | Virtual window system |
US9317175B1 (en) * | 2013-09-24 | 2016-04-19 | Amazon Technologies, Inc. | Integration of an independent three-dimensional rendering engine |
US20150145887A1 (en) | 2013-11-25 | 2015-05-28 | Qualcomm Incorporated | Persistent head-mounted content display |
US10203762B2 (en) * | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US20150358539A1 (en) | 2014-06-06 | 2015-12-10 | Jacob Catt | Mobile Virtual Reality Camera, Method, And System |
GB2527503A (en) | 2014-06-17 | 2015-12-30 | Next Logic Pty Ltd | Generating a sequence of stereoscopic images for a head-mounted display |
US10740971B2 (en) | 2015-01-20 | 2020-08-11 | Microsoft Technology Licensing, Llc | Augmented reality field of view object follower |
US9690103B2 (en) * | 2015-02-16 | 2017-06-27 | Philip Lyren | Display an image during a communication |
US10416835B2 (en) * | 2015-06-22 | 2019-09-17 | Samsung Electronics Co., Ltd. | Three-dimensional user interface for head-mountable display |
US9396588B1 (en) | 2015-06-30 | 2016-07-19 | Ariadne's Thread (Usa), Inc. (Dba Immerex) | Virtual reality virtual theater system |
US10962780B2 (en) * | 2015-10-26 | 2021-03-30 | Microsoft Technology Licensing, Llc | Remote rendering for virtual images |
-
2018
- 2018-05-10 US US15/976,038 patent/US10650541B2/en active Active
- 2018-05-10 EP EP18731240.0A patent/EP3607420B1/en active Active
- 2018-05-10 WO PCT/US2018/032002 patent/WO2018209043A1/en unknown
- 2018-05-10 CN CN201880030749.7A patent/CN110637273B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201106201A (en) * | 2009-03-04 | 2011-02-16 | Informamuse S R L | Virtual multimode navigation system |
CN102169364A (zh) * | 2010-02-26 | 2011-08-31 | 原相科技股份有限公司 | 应用于立体互动***的互动模块及其方法 |
CN102947777A (zh) * | 2010-06-22 | 2013-02-27 | 微软公司 | 用户跟踪反馈 |
CN105188516A (zh) * | 2013-03-11 | 2015-12-23 | 奇跃公司 | 用于增强和虚拟现实的***与方法 |
US9240069B1 (en) * | 2015-06-30 | 2016-01-19 | Ariadne's Thread (Usa), Inc. | Low-latency virtual reality display system |
Non-Patent Citations (2)
Title |
---|
Virtual Desktop 1.0 Trailer;转自Guy Godin;《https://www.bilibili.com/video/av4178796/》;20160324;1 * |
湖南联通OSS***虚拟化实施方案的研究;尚进;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20160515(第2016年第5期);I136-127 * |
Also Published As
Publication number | Publication date |
---|---|
EP3607420A1 (en) | 2020-02-12 |
US20180330515A1 (en) | 2018-11-15 |
US10650541B2 (en) | 2020-05-12 |
WO2018209043A1 (en) | 2018-11-15 |
CN110637273A (zh) | 2019-12-31 |
EP3607420B1 (en) | 2021-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110637273B (zh) | 在虚拟环境内呈现应用 | |
US11838518B2 (en) | Reprojecting holographic video to enhance streaming bandwidth/quality | |
KR102322589B1 (ko) | 3차원 콘텐츠 내의 위치-기반 가상 요소 양식 | |
US11804019B2 (en) | Media compositor for computer-generated reality | |
US20170061702A1 (en) | Transitioning views of a virtual model | |
US10523912B2 (en) | Displaying modified stereo visual content | |
US10984607B1 (en) | Displaying 3D content shared from other devices | |
AU2014302870A1 (en) | Interleaved tiled rendering of stereoscopic scenes | |
CN114514493A (zh) | 增强设备 | |
US11922602B2 (en) | Virtual, augmented, and mixed reality systems and methods | |
US11818325B2 (en) | Blended mode three dimensional display systems and methods | |
US11662808B2 (en) | Virtual, augmented, and mixed reality systems and methods | |
US11682162B1 (en) | Nested stereoscopic projections | |
US20230298278A1 (en) | 3d photos | |
WO2022192011A1 (en) | Distributed content rendering | |
WO2021242551A1 (en) | Communication sessions using object information |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |