CN111758122A - 用于混合现实***的浏览器 - Google Patents
用于混合现实***的浏览器 Download PDFInfo
- Publication number
- CN111758122A CN111758122A CN201980014719.1A CN201980014719A CN111758122A CN 111758122 A CN111758122 A CN 111758122A CN 201980014719 A CN201980014719 A CN 201980014719A CN 111758122 A CN111758122 A CN 111758122A
- Authority
- CN
- China
- Prior art keywords
- user
- windows
- content
- open
- open windows
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 131
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 210000003128 head Anatomy 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010422 painting Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005057 finger movement Effects 0.000 description 1
- 239000005357 flat glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 230000004478 pupil constriction Effects 0.000 description 1
- 230000010344 pupil dilation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- 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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye 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/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/0482—Interaction with lists of selectable items, e.g. menus
-
- 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/0483—Interaction with page-structured environments, e.g. book metaphor
-
- 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/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- 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/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
公开了一种用于在3D混合现实环境中对浏览器窗口的导航和操纵的改进的***和方法。提供了一种改进的方法以观看用户的窗口,而不考虑用户相对于一个或多个先前打开的窗口的当前位置。一种用于在计算环境中显示窗口的方法包括接收用于选择多个打开的窗口的指令。该方法还包括针对多个打开的应用检索信息,其中多个打开的应用与不同的物理位置相关联。该方法进一步包括在单个用户界面中显示多个打开的应用的表示。此外,该方法包括在接收到对多个打开的应用中的所选择的应用的选择时,将所选择的应用加载到用于用户的视场的前景中。
Description
技术领域
本公开涉及用于在空间3D环境中实现浏览技术的***和方法。
背景技术
观看网页的典型方式是在计算机、智能手机、平板电脑等的监视器上打开网页。用户将滚动网页以观看显示在网页上的不同内容。通常,无论用户是在看电脑监视器、智能手机或平板电脑,内容在监视器上的显示方式都有固定的格式。
通过虚拟现实、增强现实和/或混合现实***(以下统称为“混合现实”***),向用户提供了用于内容的显示的三维环境。问题在于,当在3D环境中使用时,在浏览器内显示2D内容的常规方法不是非常好的起作用。其原因之一是因为,在常规的2D网页浏览器中,显示装置的显示区域限于监视器的正在显示内容的屏幕区域。结果,常规的浏览器被配置为仅知道如何在该监视器显示区域内组织和显示内容。相反,3D环境不限于监视器显示区域的严格限制。因此,当在3D环境中使用时,常规的2D浏览器以次优地方式执行,因为常规的浏览技术只是不具备利用3D环境来显示内容的功能或能力。
例如,考虑当用户正在使用混合现实装置并放置了与不同物理位置相关联的多个浏览器窗口时的情况。例如,用户可能已经在第一房间中打开了第一浏览器窗口,而在第二房间中打开了第二浏览器窗口。由于常规的基于2D的浏览器限于给定监视器区域中的显示,因此这意味着常规浏览器甚至不具有掌握物理上的远程窗口的概念的技术,更不用说处理其中在多个物理位置打开多个窗口的这种情况的能力了,使用户无法有效观看、导航和使用这些多个窗口。
因此,需要一种改进的方法来在3D环境中实现浏览技术。
发明内容
提供了用于在3D混合现实环境中对浏览器窗口的导航和操纵的改进的***和方法。一些实施例针对一种用于观看用户窗口的改进方法,而不考虑用户相对于一个或多个先前打开的窗口的当前位置。
用于浏览器窗口的导航和操纵的改进的***和方法可以应用于在空间上组织的3D环境中被解构和被显示的2D内容的上下文中。这可以包括识别2D内容、识别2D内容中的元素、识别周围表面、将所识别的元素映射到所识别的周围表面、以及将元素作为虚拟内容显示在周围表面上。
在一个实施例中,一种用于在计算环境中显示窗口的方法包括接收用于选择多个打开的窗口的指令。该方法还包括针对多个打开的应用检索信息,其中多个打开的应用与不同的物理位置相关联。该方法进一步包括在单个用户界面中显示多个打开的应用的表示。此外,该方法包括在接收到对多个打开的应用中的所选择的应用的选择时,将所选择的应用加载到用于用户的视场的前景中。
在一个或多个实施例中,通过将用于多个打开的窗口的位置参数改变为在用于用户的当前物理环境内的位置,在单个用户界面中显示多个打开的窗口的表示。多个打开的窗口在单个用户界面内的被分配给多个打开的窗口的坐标处被渲染并被显示给用户。以预览形式、缩略图形式、或完整形式中的至少一种来渲染多个打开的窗口。所有打开的窗口被选择用于在单个用户界面中显示。多个打开的窗口中的每一个被渲染成单独的用于虚拟内容的放置的棱柱(prism)。正被悬停的窗口可以移入到前景中,而其他窗口在视觉上后退。在接收到对所选择的窗口的选择时,关闭未被选择的窗口。
在另一实施例中,一种用于在计算环境中操纵窗口的***包括显示三维内容的混合现实显示装置。该***还包括处理器。该***还包括用于保持由处理器可执行的可编程代码的存储器。可编程代码包括以下指令:接收选择多个打开的窗口的指令;针对多个打开的应用检索信息,其中多个打开的窗口与不同的物理位置相关联;在混合现实显示装置的单个用户界面中显示多个打开的窗口的表示;以及在接收到对多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。
在一个或多个实施例中,通过将用于多个打开的窗口的位置参数改变为在用于用户的当前物理环境内的位置,在单个用户界面中显示多个打开的窗口的表示。多个打开的窗口在单个用户界面内的被分配给多个打开的窗口的坐标处被渲染并被显示给用户。以预览形式、缩略图形式或完整形式中的至少一种来渲染多个打开的窗口。所有打开的窗口被选择用于在单个用户界面中显示。多个打开的窗口中的每一个被渲染成用于虚拟内容的放置的有界体积。悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。在接收到对所选择的窗口的选择时,关闭未被选择的窗口。
在又一实施例中,一种在计算机可读介质上体现的计算机程序产品,计算机可读介质在其上存储指令序列,指令序列在由处理器执行时使处理器执行包括以下方面的方法:接收选择多个打开的窗口的指令;针对多个打开的应用检索信息,其中多个打开的窗口与不同的物理位置相关联;在单个用户界面中显示多个打开的窗口的表示;以及在接收到对多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。
在一个或多个实施例中,通过将用于多个打开的窗口的位置参数改变为在用于用户的当前物理环境内的位置,在单个用户界面中显示多个打开的窗口的表示。多个打开的窗口在单个用户界面内的被分配给多个打开的窗口的坐标处被渲染并被显示给用户。以预览形式、缩略图形式或完整形式中的至少一种来渲染多个打开的窗口。所有打开的窗口被选择用于在单个用户界面中显示。多个打开的窗口中的每一个被渲染成用于虚拟内容的放置的棱柱。悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。在接收到对所选择的窗口的选择时,关闭未被选择的窗口。
在又一实施例中,一种用于在计算环境中显示虚拟内容的方法包括接收选择多个打开的应用的指令。该方法还包括针对多个打开的应用检索信息,其中多个打开的应用与不同的物理位置相关联。该方法进一步包括在单个用户界面中显示多个打开的应用的表示。此外,该方法包括在接收到对多个打开的应用中的所选择的应用的选择时,将所选择的应用加载到用于用户的视场的前景中。
在一个或多个实施例中,通过将用于多个打开的窗口的位置参数改变为在用于用户的当前物理环境内的位置,在单个用户界面中显示多个打开的窗口的表示。多个打开的窗口在单个用户界面内的被分配给多个打开的窗口的坐标处被渲染并被显示给用户。以预览形式、缩略图形式或完整形式中的至少一种来渲染多个打开的窗口。所有打开的窗口被选择用于在单个用户界面中显示。多个打开的窗口中的每一个被渲染成单独的用于虚拟内容的放置的棱柱。悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。在接收到对所选择的窗口的选择时,关闭未被选择的窗口。
以下在详细描述、附图和权利要求中描述实施例的方面、目的和优点的进一步细节。前面的一般描述和下面的详细描述都是示例性和说明性的,并且不意图限制权利要求的范围。
附图说明
附图示出了本发明的各种实施例的设计和实用性。应当注意,附图未按比例绘制,并且在整个附图中,相似结构或功能的元件由相似的附图标记表示。为了更好地理解如何获得本发明的各个实施例的上述和其他优点和目的,将参考本发明的具体实施例对以上简要描述的本发明进行更详细的描述,这些实施例在附图中示出。理解这些附图仅描述了本发明的典型实施例,因此不应将其认为是对本发明范围的限制,将通过使用附图以附加的特征和细节来描述和解释本发明,其中:
图1示出了根据一些实施例的用于解构要在用户的3D环境中显示的2D内容的增强现实环境。
图2示出了根据一些实施例的2D内容中的元素到用户3D环境的示例映射。
图3是示出根据一些实施例的用于解构要在3D环境中显示的2D内容的方法的流程图。
图4是示出根据一些实施例的用于识别2D内容中的元素的方法的流程图。
图5示出了根据一些实施例的用于存储从2D内容解构的元素的表格的示例。
图6是示出根据一些实施例的用于从用户的本地环境识别表面的方法的流程图。
图7示出了根据一些实施例的用于存储从用户的本地环境识别出的表面的清单的表格的示例。
图8是示出根据一些实施例的用于将来自2D内容的元素映射到可用表面的方法的流程图。
图9示出了根据一些实施例的用于存储来自2D内容的元素到用户本地环境中的表面的映射的表格的示例。
图10示出了用于实现用户窗口的观看的方法的流程图。
图11A-B示出了为用户显示窗口的过程而不考虑窗口的先前物理位置。
图12-13提供了在混合现实界面内显示多个窗口的可能方法的示例。
图14示出了在混合现实***内显示多个棱柱的可能方法。
图15是适合于实现本公开的实施例的示例性计算***的框图。
具体实施方式
现在将参考附图详细描述各种实施例,这些附图被提供作为本公开的说明性示例,以使得本领域技术人员能够实践本公开。值得注意的是,下面的附图和示例并不意味着限制本公开的范围。在可以使用已知组件(或方法或过程)部分地或完全地实现本公开的某些要素的情况下,将仅描述理解本公开所必需的这些已知组件(或方法或过程)的那些部分,并且将省略这些已知组件(或方法或过程)的其他部分的详细描述,以免模糊本公开。此外,各种实施例涵盖了通过示例的方式在本文中所指的组件的当前和将来的已知等同物。
尽管以下描述的***和方法主要在浏览器应用的背景下描述的,但是本领域的普通技术人员将理解,本文描述的***和方法也可以在一个或多个其他应用的背景下应用。在一些实施例中,用于管理用户的照片和/或视频的应用可以利用以下描述的***和方法。在一些实施例中,用于玩纸牌游戏的应用可以利用以下描述的***和方法。在一些实施例中,天气应用可以利用以下描述的***和方法。在一些实施例中,可以在能够向用户显示3D虚拟内容的装置和/或***上安装和/或运行的任何其他应用可以利用以下描述的***和方法。在一些实施例中,单个应用可以利用以下描述的***和方法。在一些实施例中,一个以上的应用可以利用以下描述的***和方法。在一些实施例中,在能够向用户显示3D虚拟内容的装置和/或***上安装和/或运行的所有应用可以利用以下描述的***和方法。
尽管以下描述的***和方法主要在浏览器应用的背景下描述的,但是本领域的普通技术人员将理解,本文描述的***和方法也可以在一个或多个其他应用的背景下应用。在一些实施例中,用于管理用户的照片和/或视频的应用可以利用以下描述的***和方法。在一些实施例中,用于玩纸牌游戏的应用可以利用以下描述的***和方法。在一些实施例中,天气应用可以利用以下描述的***和方法。在一些实施例中,可以在能够向用户显示3D虚拟内容的装置和/或***上安装和/或运行的任何其他应用可以利用以下描述的***和方法。在一些实施例中,单个应用可以利用以下描述的***和方法。在一些实施例中,一个以上的应用可以利用以下描述的***和方法。在一些实施例中,在能够向用户显示3D虚拟内容的装置和/或***上安装和/或运行的所有应用可以利用以下描述的***和方法。在一些实施例中,应用的多个实例可以利用以下描述的***和方法。
网页解构
本公开的实施例将解构要在空间上组织的3D环境中显示的2D网页。2D网页可以源于头戴式***、移动装置(例如,手机)、平板电脑、电视、应用等的网页浏览器。在一些实施例中,可以从诸如膝上型计算机、台式计算机、具有到2D网页的链接的电子邮件应用、引用或包括到2D网络的链接的电子消息等的另一应用或装置接收2D网页。
参照图(图1),环境100是物理环境和***的代表,该***用于实现以下所述的过程(例如,解构要在用户的物理环境105中的3D表面上显示的来自网页的2D内容)。环境100的代表性物理环境和***包括由用户108通过头戴式***160观看的用户的物理环境105。环境100的代表性***还包括经由可操作地耦接到网络120的网页浏览器110访问2D内容(例如,网页)。网络120可以是因特网、内部网络、私有云网络、公共云网络等。网页浏览器110还经由网络120可操作地耦接到处理器170。尽管处理器170被示为与头戴式***160分离的隔离组件,但是在替代实施例中,处理器170可与头戴式***160的一个或多个组件集成和/或可集成到环境100内的其他***组件,例如,访问计算网络125和存储装置130的网络120。处理器170可配置有用于接收和处理从头戴式***160、本地存储装置140、网页浏览器110、计算网络125和存储装置130接收的例如视频、音频和内容的信息的软件150。软件150可以经由网络120与计算网络125和存储装置130通信。软件150可以被安装在处理器170上,或者在另一实施例中;可以将软件的特征和功能集成到处理器170中。处理器170还可以配置有本地存储装置140,用于存储由处理器170使用的用于快速访问的信息,而无需依赖于远程地存储在用户108附近的外部存储装置上的信息。在其他实施例中,处理器170可以集成在头戴式***160内。
用户的物理环境105是在用户四周移动并通过头戴式***160观看用户的物理环境105时用户108的物理环境。例如,参考图1,用户的物理环境105示出了具有两个墙壁(例如,主墙壁180和侧墙壁184,主墙壁和侧墙壁与用户的观看相关)的房间和桌子188。在主墙壁180上,有由黑色实线描绘的矩形表面182,以显示具有物理边界的物理表面(例如,悬挂或附在墙壁或窗户等上的绘画),其可以是将某些2D内容投影到其上的候选表面。在侧墙壁184上,有由黑色实线描绘的第二矩形表面186,以显示具有物理边界的物理表面(例如,悬挂或附在墙壁或窗户等上的绘画)。在桌子188上,可以有不同的对象。1)虚拟Rolodex 190,其中可以存储和显示某些2D内容;2)由黑色实线描绘的水平表面192以表示具有物理边界的物理表面以将某些2D内容投影到其上;3)由黑色虚线描绘的虚拟正方形表面194的多个堆叠,以表示例如其中可以存储和显示某些2D内容的堆叠的虚拟报纸。
网页浏览器110还可以显示来自互联网或内联网/私有网络内的博客页面。另外,网页浏览器110也可以是显示数字2D内容的任何技术。2D内容可以包括例如网页、博客、数字图片、视频、新闻文章、新闻通讯或音乐。2D内容可以被存储在用户108可以经由网络120访问的存储装置130中。在一些实施例中,2D内容也可以是流内容,例如,现场视频馈送或现场音频馈送。存储装置130可以包括例如数据库、文件***、永久性存储装置、闪存驱动器、高速缓存等。在一些实施例中,经由计算网络125显示包含2D内容(例如,网页)的网页浏览器110。
计算网络125访问存储装置130以检索和存储用于在网页浏览器110上的网页中显示的2D内容。在一些实施例中,本地存储装置140可以向用户108提供感兴趣的2D内容。本地存储装置140可以包括例如闪存驱动器、高速缓存、硬盘驱动器、数据库、文件***等。存储在本地存储装置140中的信息可以包括最近访问的2D内容或最近在3D空间中显示的内容。本地存储装置140通过向软件150本地地提供某些内容以帮助解构2D内容以在3D空间环境(例如,用户的物理环境105中的3D表面)上显示2D内容,从而允许对环境100的***的性能的改善。
软件150包括存储在非暂时性计算机可读介质中的软件程序,以执行解构要在用户的物理环境105中显示的2D内容的功能。软件150可以在处理器170上运行,其中处理器170可以本地地附到用户108上,或者在一些其他实施例中,软件150和处理器170可以被包括在头戴式***160内。在一些实施例中,软件150的特征和功能中的部分可以在远离用户108的计算网络125上存储和执行。例如,在一些实施例中,解构2D内容可以在计算网络125上发生,并且解构的结果可以被存储在存储装置130内,其中,对用于呈现解构后的2D内容的用户本地环境的表面的清点可以发生在处理器170内,其中表面和映射的清单被存储在本地存储装置140中。在一个实施例中,解构2D内容、清点本地表面、将2D内容的元素映射到本地表面以及显示2D内容的元素的过程都可以在处理器170和软件150内本地地发生。
头戴式***160可以是虚拟现实(VR)或增强现实(AR)头戴式***,其包括用户界面、用户感测***、环境感测***和处理器(均未示出)。头戴式***160向用户108呈现用于与数字世界交互和体验数字世界的界面。这样的交互可涉及用户和数字世界、与环境100连接的一个或多个其他用户以及位于数字和物理世界内的对象。
用户界面可包括通过用户界面接收2D内容并选择2D内容内的元素。用户界面可以是触觉界面装置、键盘、鼠标、操纵杆、移动捕获控制器、光学跟踪装置以及音频输入装置中的至少一个或组合。触觉界面装置是允许人通过身体感觉和移动与计算机交互的装置。触觉是指人机交互技术的一种类型,该人机交互技术包含触觉反馈或其他身体感觉以在计算装置上执行动作或过程。在一些实施例中,控制界面可以是用户界面,使得用户可以例如通过向***提供用户输入并且该***通过执行对应的命令来响应而与MR显示***交互。
用户感测***可包括一个或多个传感器162,其是可操作的以检测与佩戴头戴式***160的用户108有关的某些特征、特性或信息。例如,在一些实施例中,传感器162可包括相机或光学检测/扫描电路,其能够检测用户108的实时光学特征/测量,该光学特征/测量例如以下中的一项或多项:瞳孔收缩/扩张、每个瞳孔的角度测量/定位、球度、眼睛形状(眼睛形状随着时间变化)和其他解剖数据。该数据可提供或用于计算可由头戴式***160用来增强用户的观看体验的信息(例如,用户的视觉焦点)。
环境感测***可包括一个或多个传感器164,用于从用户的物理环境105获取数据。由传感器164检测到的对象或信息可作为输入提供给头戴式***160。在一些实施例中,该输入可表示用户与虚拟世界的交互。例如,观看桌子(例如,桌子188)上的虚拟键盘的用户(例如,用户108)可用他们的手指作出手势,就像该用户正在虚拟键盘上打字一样。手指移动的运动可由传感器164捕获,并作为输入提供给头戴式***160,其中,该输入可用于改变虚拟世界或创建新的虚拟对象。
传感器164可包括例如通常面向外的相机或扫描仪,用于例如通过连续地和/或间歇地投射的红外结构光来解释场景信息。通过检测并注册本地环境(包括静态对象、动态对象、人物、手势和各种照明、大气和声学条件),该环境感测***可用于在用户108周围映射用户的物理环境105中的一个或多个元素。因此,在一些实施例中,环境感测***可包括嵌入在本地计算***(例如,处理器170)中的并且是可操作的以数字地重建由传感器164检测到的一个或多个对象或信息的基于图像的3D重建软件。
在一个示例性实施例中,环境感测***提供以下中的一项或多项:移动捕获数据(包括手势识别)、深度感测、面部识别、对象识别、唯一对象特征识别、语音/音频识别和处理、声源定位、降噪、红外或类似的激光投影以及单色和/或彩色CMOS传感器(或其他类似的传感器)、视场传感器和各种其他光学增强传感器。应当理解,环境感测***可包括除了以上讨论的那些组件之外的其他组件。
如上所述,在一些实施例中,处理器170可与头戴式***160的其他组件集成、与环境100的***的其他组件集成或者可以是如图1所示的隔离装置(可穿戴的或与用户108分离的)。处理器170可通过物理、有线连接或通过无线连接连接到头戴式***160的各种组件,无线连接例如为移动网络连接(包括蜂窝电话和数据网络)、Wi-Fi、蓝牙或任何其他无线连接协议。处理器170可包括存储模块、集成和/或附加图形处理单元、无线和/或有线因特网连接以及能够将来自源(例如,计算网络125以及来自头戴式***160的用户感测***和环境感测***)的数据变换成图像和音频数据的编解码器和/或固件,其中图像/视频和音频可经由用户界面(未示出)呈现给用户108。
处理器170处理用于头戴式***160的各种组件的数据处理以及头戴式***160与来***页浏览器110和计算网络125显示或访问的网页的2D内容之间的数据交换。处理器170可用于缓冲和处理用户108与计算网络125之间的数据流,从而实现平滑、连续和高保真的用户体验。
可以以智能和逻辑的方式来完成将来自网页的2D内容解构成元素并映射要显示在3D环境中的表面上的元素。预定的规则组可以是可用于推荐、建议或指示在2D内容/网页内识别的某些类型的元素/内容的放置位置。例如,某些类型的2D内容元素可具有一个或多个内容元素,其可能需要被映射到适合于存储和显示一个或多个元素的物理或虚拟对象表面,而其他类型的2D内容元素可以是单个对象,例如网页中的主视频或主文章,在这种情况下,可以将单个对象映射到最有意义的表面以向用户显示单个对象。
图2示出了根据一些实施例的2D内容的元素到用户3D环境的示例映射。环境200描绘了由网页浏览器110和用户的物理环境105显示或访问的2D内容(例如,网页)。带有箭头的虚线描绘了来自2D内容(例如,网页)的元素(例如,特定类型的内容),其被映射到并显示在用户的物理环境105上。基于网页设计者提示或预定义的浏览器规则,将来自2D内容的某些元素映射到用户的物理环境105中的某些物理或虚拟对象。
作为示例,由网页浏览器110访问或显示的2D内容可以是具有多个选项卡(tab)的网页,其中当前活动选项卡260被显示,并且次选项卡250当前被隐藏,直到被选择以显示在网页浏览器110上。被显示在活动选项卡260内的通常是网页。在该特定示例中,活动选项卡260正在显示包括主视频220、用户评论230和建议视频240的YOUTUBE页面。如在该示例性图2中所描绘的,可以将主视频220映射为在垂直表面182上显示,用户评论230可以被映射为在水平表面192上显示,以及建议视频240可以被映射为在与垂直表面182不同的垂直表面186上显示。另外,次选项卡250可以被映射为在虚拟Rolodex 190和/或多堆叠虚拟对象194上显示。在一些实施例中,次选项卡250内的特定内容可以被存储在多堆叠虚拟对象194中。在其他实施例中,驻留在次选项卡250内的整个内容可以被存储和/或显示在多堆叠虚拟对象194上。同样地,虚拟Rolodex 190可以包含来自次选项卡250的特定内容,或者虚拟Rolodex 190可以包含驻留在次选项卡250内的整个内容。
垂直表面182可以是已经位于房间(描绘为用户的物理环境105)的主墙壁180上的任何类型的结构,例如窗玻璃或相框。在一些实施例中,垂直表面182可以是空墙壁,在该空墙壁上,头戴式***160确定适合于用户108观看主视频220的垂直表面182的框架的最优尺寸。垂直表面182的尺寸的该确定可以至少部分地基于用户108距主墙壁180的距离、主视频220的大小和尺寸、主视频220的质量、未被覆盖的墙壁空间的量和/或用户在观看主墙壁180时的姿势。例如,如果主视频220的质量是高清晰的,则垂直表面182的尺寸可能会更大,因为主视频220的质量将不会被垂直表面182不利地影响。然而,如果主视频220的视频质量是差的质量,则具有较大的垂直表面182可能会大大妨碍视频质量,在这种情况下,本公开的方法和***可以将垂直表面182调整大小/重新定义为较小,以最小化来自像素化的差视频质量。
与垂直表面182一样,垂直表面186是用户的物理环境105中的相邻墙壁(例如,侧墙壁184)上的垂直表面。在一些实施例中,基于用户108的取向,侧墙壁184和垂直表面186可能看起来是倾斜的歪斜表面。除垂直和水平表面之外,倾斜的歪斜表面还可以是表面的一种取向类型。在该示例中,可以将来自YOUTUBE网页的建议视频240放置在侧墙壁184的垂直表面186上,以允许用户108能够仅通过将其头部稍微向右移动来观看建议视频。
虚拟Rolodex 190是由头戴式***160创建并显示给用户108的虚拟对象。虚拟Rolodex 190可以具有使用户108双向循环浏览一组虚拟页面的能力。虚拟Rolodex 190可以包含整个网页,或者可以包含单独的文章或视频或音频。如该示例中所示,虚拟Rolodex190可以包含来自次选项卡250的内容的一部分,或者在一些实施例中,虚拟Rolodex 190可以包含次选项卡250的整个页面。用户108可以通过简单地专注于虚拟Rolodex190内的特定选项卡来双向循环浏览虚拟Rolodex 190内的内容,并且头戴式***160内的一个或多个传感器(例如,传感器162)将检测用户108的眼睛聚焦并循环浏览虚拟Rolodex 190中的选项卡以相应地获得用户108的相关信息。在一些实施例中,用户108可以从虚拟Rolodex 190中选择相关信息,并且指示头戴式***160将相关信息显示在可用的周围表面上或者在另一虚拟对象上,例如与用户108(未示出)紧邻的虚拟显示器。
与虚拟Rolodex 190类似,多堆叠虚拟对象194可以包含以下内容:一个或多个选项卡的完整内容或者来自用户108标记、保存以供将来观看或已打开(即,不活动的选项卡)的各种网页或选项卡的特定内容。多堆叠虚拟对象194也类似于真实世界的报纸堆叠。多堆叠虚拟对象194内的每个堆叠可以属于特定的报纸文章、页面、杂志发行、食谱等。本领域的普通技术人员可以理解,可以存在多种类型的虚拟对象来实现该相同目的,以提供表面来放置2D内容元素或来自2D内容源的内容。
本领域普通技术人员可以理解,由网页浏览器110访问或显示的2D内容可能不仅仅是一个网页。在一些实施例中,2D内容可以是来自相册的图片、来自电影的视频、电视节目、YOUTUBE视频、交互形式等。然而,在其他实施例中,2D内容可以是电子书或任何显示书本的电子方式。最后,在其他实施例中,由于2D内容通常是当前呈现信息的方式,因此2D内容可以是尚未被描述的其他类型的内容。如果电子装置可以消费2D内容,则头戴式***160可以使用2D内容来以3D设置(例如,AR)解构和显示2D内容。
在一些实施例中,映射所访问的2D内容可以包括提取2D内容(例如,从浏览器中)并将其放置在表面上(以使得内容不再在浏览器中并且仅在表面上),以及在一些实施例中,映射可以包括复制内容(例如,从浏览器中)并将其放置在表面上(以使得内容既在浏览器中又在表面上)。
解构2D内容是因特网和计算机相关技术领域中存在的技术问题。使用诸如HTML的某些类型的编程语言来构造诸如网页的2D内容,以指示计算机处理器和技术组件在何处以及如何为用户在屏幕上的网页内显示元素。如上所述,网页设计者通常在2D画布(例如,屏幕)的限制内工作以在2D画布内放置和显示元素(例如,内容)。HTML标签用于确定如何格式化HTML文档或HTML文档内的部分。在一些实施例中,(提取或复制的)2D内容可以维持HTML标签参考,并且在一些实施例中,可以重新定义HTML标签参考。
图3是示出根据一些实施例的用于解构要在3D环境中显示的2D内容的方法的流程图。该方法包括:在310处识别2D内容;在320处识别2D内容中的元素;在330处识别周围表面;在340处将所识别的2D内容中的所识别的元素映射到来自识别周围表面的所识别的表面;以及在350处将元素作为虚拟内容显示到所选择的表面上,其中从元素到所识别的表面的映射中选择所选择的表面。
在310处识别2D内容可能涉及使用头戴式***160搜索数字内容。在310处识别2D内容还可包括访问连接到网络120的服务器(例如,存储装置130)上的数字内容。在310处识别2D内容可包括浏览因特网以用于用户108感兴趣的网页。在一些实施例中,在310处识别2D内容可以包括由用户108给出的用于在因特网上搜索内容的语音激活命令。例如,用户108可以正在与装置(例如,头戴式***160)交互,其中用户108通过说出命令以搜索视频然后说出视频名称和视频简短说明,来请求装置搜索特定视频,从而在因特网上搜索特定视频。然后,该装置可以搜索因特网并在2D浏览器上拉起视频,以允许用户108观看在该装置的2D浏览器上显示的视频。然后,用户108可以确认该视频是用户108想要在空间3D环境中观看的视频。
一旦识别出2D内容,则该方法在320处识别2D内容内的元素,以获得2D内容中的用于显示给用户108的可用元素的清单。例如,2D内容内的元素可以包括视频、发布在网页上的文章和新闻通讯、社交媒体网站上的评论和发布、博客文章、发布在各种网站上的图片、有声读物等。2D内容(例如,网页)内的这些元素可以包含具有与内容设计者提供的HTML标签相关联的属性的HTML标签,以限定特定元素在网页上的放置位置以及在一些情况下何时以及如何在网页上显示该元素。在一些实施例中,本公开的方法和***将利用这些HTML标签和属性作为由内容设计者提供的提示和建议,以帮助在340处的映射过程以便确定在3D设置中在何处以及如何显示元素。例如,以下是由网页开发者提供的示例HTML网页代码。
由网页开发者提供的示例HTML网页代码
由网页开发者提供的示例HTML网页代码包括关于如何在网页上显示主视频的偏好(preference)以及关于如何显示推荐(或建议的视频)的偏好。特别地,该HTML网页代码使用“style”的标签来指定如何使用“vertical”的类型值来显示主视频,以指定显示视频的垂直表面。另外,在“style”标签内,由网页开发者提供的其他提示可以包括用于匹配算法的“priority”偏好,使用该偏好以对网页(例如,主视频)中的哪一个HTML元素/内容应该被映射到哪一个潜在表面区域进行优先级排序。在示例HTML网页代码中,对于具有垂直平面布局的视频,优先级设置为100的值,其中,在该示例中,较高的优先级值表示较高的优先级。另外,在该示例中,由网页开发者指示了偏好,以将建议的视频放置在堆叠布局中具有“horizontal”的类型值的堆叠中,其中,堆叠的对象之间的距离(例如,在这种情况下,与另一个建议视频有关的建议视频)应为20cm。
图4是示出根据一些实施例的用于识别2D内容中的元素的方法的流程图。图4是根据一些实施例的公开在图3的320处识别2D内容中的元素的详细流程。图4以在410处识别2D内容内的元素开始,类似于在图3的320处识别2D内容内的元素。该方法进行到下一步,在420处从与内容的放置有关的标签识别属性。如上所述,网页设计者在设计和配置网页时,可以将网页内的元素与HTML标签相关联以定义在何处以及如何显示每个元素。这些HTML标签还可以包括与将元素放置在网页的特定部分上有关的属性。头戴式***160将检测到这些HTML标签及其属性,并与***的其他组件进行协调,以用作关于可以显示特定元素的位置的输入。
在430处执行从每个元素提取提示或标签。提示或标签通常是由2D内容/网页的内容设计者和/或网页开发者提供的格式化提示或格式化标签。如上所述,内容设计者可以例如以“由网页开发者提供的示例HTML网页代码”中所示的HTML标签的形式提供指令或提示,以指示网页浏览器110显示在页面或屏幕的特定部分中的2D内容中的元素。在一些实施例中,网页设计者可以使用附加的HTML标签属性来定义附加的格式化规则。例如,如果用户对特定颜色(例如,红色)的敏感度降低,则不显示红色,而是使用其他颜色,或者如上所述,如果具有要在垂直表面上显示的偏好的视频不能在垂直表面上显示,则替代地在另一(物理)表面上显示视频或者创建虚拟表面并在该虚拟表面上显示视频。以下是在浏览器中实现的示例HTML页面解析器,以用于解析HTML页面以从HTML页面内的每个元素提取提示/标签。
在浏览器中实现的示例HTML页面解析器
该示例HTML页面解析器示出了如何解析并识别和/或提取/复制包含HTML标签的HTML页面,该HTML标签用于为2D内容(例如,网页)内的特定元素/对象提供显示偏好。如示例HTML页面解析器中所公开的,可以使用所公开的示例代码来解析2D内容(例如,网页)内的元素。HTML页面解析器(例如,ML.layout、ML.container等)可以识别/提取使用各种元素名称和值的某些HTML标签,以确定在3D环境中如何向用户显示特定元素(例如,通过将元素映射到特定表面)。
在440处执行查找/搜索用于一个或多个元素的替代显示形式。可以为网页上的图像指定某些格式化规则。例如,如果网页浏览器110能够显示图像的3D版本,则网页设计者可以放置其他标签或定义特定标签的某些属性,以允许网页浏览器110识别可能具有图像的替代版本(例如,图像的3D版本)的图像。网页浏览器110然后可以访问要在启用3D的浏览器中显示的图像的替代版本(例如,图像的3D版本)。
在450处执行存储2D内容内的所识别的元素。该方法可以将所识别的元素存储到非暂时性存储介质中,以供映射例程使用(例如,在图3的340处将元素映射到所识别的表面),以便将元素映射到特定表面。非暂时性存储介质可以包括诸如存储装置130或本地存储装置140的数据存储装置。可以将元素存储在诸如以下描述的图5中公开的表格的特定表格中。在一些实施例中,可以将2D内容内的所识别的元素存储在暂时性存储介质中。
图5示出了根据一些实施例的用于存储从2D内容解构的元素的表格的示例。元素表格500是示例性表格,其可以将在图4的410处识别2D内容内的元素的结果存储在数据库中。元素表格500包括例如关于2D内容内的一个或多个元素的信息,其包括元素识别(ID)510、用于可在3D表面上放置元素的位置的偏好指示符520、如果特定元素被包括在父元素内的父元素ID 530、如果元素可包含子元素的子元素ID 540以及多个实体指示符550以指示元素是否包含可以保证用于显示元素的表面或虚拟对象与显示元素的多个版本兼容的需要的多个实施方式。父元素是2D内容内的元素/对象,其可包含子元素(例如,子元素)。例如,具有220的值的元素ID(例如,主视频220)具有260的父元素ID值(例如,活动选项卡260),其指示主视频220是活动选项卡260的子元素。或者以不同的方式陈述,主视频220被包括在活动选项卡260内。继续相同的示例,主视频220具有指示用户评论230与主视频220相关联的子元素ID 230(例如,用户评论230)。本领域普通技术人员可以理解,元素表格500可以是关系数据库或任何类型的数据库中的表格。另外,元素表格500可以是计算机存储器(例如,高速缓存)中的阵列,其包含在图4的410处识别2D内容内的元素的结果。
元素表格500的行560中的每一行对应于网页内的元素。元素ID 510是包含针对每个元素的唯一识别符(例如,元素ID)的列。在一些实施例中,元素的唯一性可以被定义为元素ID 510列与表格内的另一列的组合(例如,如果内容设计者识别了多于一个的偏好,则为偏好520列)。偏好520是一列,其值可以至少部分地基于由内容设计者/开发者(例如,网页设计者)定义的并且由在图4的430处从每个元素提取提示或标签中公开的***和方法识别的HTML标签和属性来确定。在其他实施例中,可以至少部分地基于预定义的浏览器规则来确定偏好520列,以指定网页内的某些类型的元素应在3D环境中显示的位置。这些预定义的规则可以向***和方法提供建议,以确定将元素最佳放置在3D环境中的位置。
父元素ID 530是一列,其包含父元素的元素ID,其中当前行中的该特定元素显示在父元素中或与其相关。网页内的特定元素可以被嵌入、被放置在页面的另一元素内或者与页面上的另一元素有关。例如,在当前实施例中,元素ID 510列的第一条目存储与图2的主视频220对应的元素ID220的值。与主视频220对应的偏好520列中的偏好值是基于HTML标签和/或属性确定的,并且在当前实施例中,是该元素应放置在用户的物理环境105的“主要”位置。取决于用户108的当前位置,该主要位置可以是客厅中的壁,或者是用户108当前正在注视的厨房中的炉顶罩,或者如果是在宽的打开空间中,则可以是投影在用户的场地线前面的虚拟对象,其中主视频220可以被投影在该场地上。在稍后的部分中将公开关于2D内容的元素如何显示给用户108的更多信息。继续当前示例,父元素ID 530列存储与图2的活动选项卡260对应的元素ID 260的值。因此,主视频220是活动选项卡260的子。
子元素ID 540是一列,其包含子元素的元素ID,其中当前行中的该特定元素已经显示在子元素内或与其相关。网页内的特定元素可以被嵌入、被放置在页面的另一元素内或者与页面上的另一元素有关。继续当前示例,子元素ID 540列存储与图2的用户评论230对应的元素ID 230的值。
多个实体指示符550是一列,其指示元素是否包含多个实体,这些实体可以保证用于显示元素的表面或虚拟对象与显示元素的多个版本兼容的需要(例如,元素可以是用户评论230,其中对于主视频220,可能有多于一个评论可用)。继续当前示例,多个实体指示符550列存储“否”的值以指示主视频220不具有位于活动选项卡260中的多个主视频或不与活动选项卡260中的多个主视频对应(例如,“否”主视频220的多个版本)。
继续当前示例,元素ID 510列的第二条目存储与图2的用户评论230对应的元素ID230的值。在偏好520列中与用户评论230对应的偏好值示出了“水平”的偏好,以指示用户评论230应该被放置在用户的物理环境105中某处的“水平”表面上。如上所述,水平表面将基于用户的物理环境105中的可用水平表面来确定。在一些实施例中,用户的物理环境105可不具有水平表面,在这种情况下,本公开的***和方法可以识别/创建具有水平表面的虚拟对象以显示用户评论230。继续当前示例,父元素ID 530列存储与图2的主视频220对应的值元素ID 220,以及多个实体指示符550列存储“是”的值以指示用户评论230可以包含一个以上的值(例如,一个以上的用户评论)。
元素表格500内的其余行包含用户108感兴趣的其余元素的信息。本领域的普通技术人员可以理解,存储在410处识别2D内容内的元素的结果可以改善计算机本身的功能,因为一旦对2D内容执行了该分析,如果另一用户对同一2D内容感兴趣,该***和方法就可以保留该信息,以用于2D内容的未来的分析。可以避免用于解构该特定2D内容的***和方法,因为它之前已经完成。
在一些实施例中,元素表格500可以被存储在存储装置130中。在其他实施例中,元素表格500可以被存储在本地存储装置140中,以用于快速访问最近观看的2D内容或用于对最近观看的2D内容的可能的重新访问。在其他实施例中,元素表格500可以被存储在远离用户108的存储装置130和位于用户108本地的本地存储装置140两者处。
返回图3,该方法在330处继续识别周围表面。用户108可以通过头戴式***160观看用户的物理环境105,以允许头戴式***160捕获和识别周围表面,例如,墙壁、桌子、绘画、窗框、火炉、冰箱、电视等。头戴式***160由于位于头戴式***160上或在任何其他类型的类似装置上的传感器和相机而意识到用户的物理环境105内的真实对象。在一些实施例中,头戴式***160可以将在用户的物理环境105内观察到的真实对象与被存储在存储装置130或本地存储装置140内的虚拟对象进行匹配,以识别可用于这些虚拟对象的表面。真实对象是在用户的物理环境105内识别的对象。虚拟对象是在用户的物理环境内不存在的物理对象,但可以显示给用户以使其看起来好像虚拟对象存在于用户的物理环境中。例如,头戴式***160可以检测用户的物理环境105内的桌子的图像。可以将桌子的图像简化为3D点云对象,以用于在存储装置130或本地存储装置140处的快速且有效的比较和匹配。如果检测到真实对象和3D点云对象(例如,桌子的)的匹配,则该***和方法将把桌子识别为具有水平表面,因为代表桌子的3D点云对象被定义为具有水平表面。下面在图6中公开了识别周围表面的更详细的描述。
在一些实施例中,虚拟对象可以是所提取的对象,其中所提取的对象可以是在用户的物理环境105内识别的物理对象,但是被显示给用户作为位于物理对象的位置处的虚拟对象,以使得可以对所提取的对象进行附加处理和关联,而这将无法在物理对象本身上完成(例如,以改变物理对象的颜色以突出显示物理对象的特定特征等)。另外,所提取的对象可以是从2D内容(例如,来自浏览器的网页)提取的虚拟对象并被显示给用户108。例如,用户108可以从网页选择诸如沙发的对象,其被显示在要在用户的物理环境105中显示的2D内容/网页上。***可以识别所选择的对象(例如,沙发),并将所提取的对象(例如,沙发)显示给用户108,就像所提取的对象(例如,沙发)物理上存在于用户的物理环境105中。另外,虚拟对象还可以包括具有用于显示内容的表面(例如,靠近用户的用于观看某些内容的透明显示屏幕)的对象,这些表面不但不是用户的物理环境105中的物理存在,并且从2D内容中的显示内容的角度来看,也可以是向用户呈现某些内容的理想显示表面。
图6是示出根据一些实施例的用于从用户的本地环境识别表面的方法的流程图。图6是公开在图3的330处识别周围表面的详细流程。图6以在610处识别用户的当前周围环境开始,类似于在图3的330处识别周围表面。该方法进行到在620处确定用户的姿势的下一个步骤。
在620处确定用户的姿势是识别用户的当前周围环境的重要步骤,因为用户的姿势将为用户108提供关于用户的物理环境105内的对象的视角。例如,参考图1,使用头戴式***160的用户108正在观察用户的物理环境105。在620处确定用户的姿势(即,相对于世界的矢量和/或原点位置信息)将有助于头戴式***160理解例如:(1)用户108相对于地面有多高,(2)用户108必须旋转他们的头部以四周移动并捕获房间图像的角度,以及(3)用户108到桌子188、主墙壁180和侧墙壁184之间的距离。另外,用户108的姿势还有助于确定头戴式***160在观察垂直表面182和186时的角度以及用户的物理环境105内的其他表面。
在630处,该方法识别周围表面的尺寸。用户的物理环境105内的每个候选表面都被标记并按对应的尺寸被分类。在一些实施例中,用户的物理环境105内的每个候选表面也被标记并按对应的取向被分类。该信息将有助于至少部分地基于表面的尺寸、表面的取向、用户108距特定表面的距离以及需要为该元素显示的信息类型,来识别哪个元素应被映射到哪些表面。例如,在文章的文本大小可能太小以至于用户看不到是否被显示在具有小尺寸的遥远的墙壁上的情况下,视频可以比博客或文章显示得更远,其中博客或文章可包含大量信息。
在640处,该方法将周围表面的清单存储到非暂时性存储介质中,以供映射例程(例如,将元素映射到在图3的340处所识别的表面)用来将元素映射到特定表面。非暂时性存储介质可以包括诸如存储装置130或本地存储装置140的数据存储装置。所识别的表面可以被存储在诸如以下描述的图7中所公开的表格的特定表格中。在一些实施例中,所识别的表面可以被存储在暂时性存储介质中。
图7示出了根据一些实施例的用于存储从用户的本地环境识别的表面的清单的表格的示例。表面表格700是可以将识别周围表面过程的结果存储在数据库中的示例性表格。表面表格700包括例如关于用户的物理环境105内的表面的信息,其具有包括表面ID 710、宽度720、高度730、取向740、真实或虚拟指示符750、数量(multiple)760以及位置770的数据列。本领域的普通技术人员可以理解,表面表格700可以是关系数据库或任何类型的数据库中的表格。另外,表面表格700可以是存储在图3的330处识别周围表面的结果的计算机存储器(例如,高速缓存)中的阵列。
表面表格700的行780中的每一行可以对应于来自用户的物理环境105的表面或可以在用户的物理环境105内显示给用户108的虚拟表面。表面ID 710是一列,其包含用于唯一地识别特定表面的唯一识别符(例如,表面ID)。特定表面的尺寸被存储在宽度720和高度730列中。
取向740是一列,其指示表面相对于用户108的取向(例如,垂直、水平等)。真实/虚拟750是一列,其指示特定表面是否位于用户的物理环境105内的真实对象上,如使用头戴式***160的用户108所感知的那样,或者特定表面是否位于由头戴式***160生成并显示在用户的物理环境105中的虚拟对象上。头戴式***160可能必须针对用户的物理环境105可能不包含足够的表面来显示用户108希望显示的一定数量的内容的情况来生成虚拟对象。在这些实施例中,头戴式***160可以从现有虚拟对象的数据库中搜索,这些现有虚拟对象可以具有适当的表面尺寸以显示被识别用于显示的某些类型的元素。该数据库可以来自存储装置130或本地存储装置140。
数量760是一列,其指示表面/对象是否与显示元素的多个版本兼容(例如,该元素可以是图2的次选项卡250,其中对于特定的网页浏览器110,可以存在一个以上的次(即,非活动)选项卡(例如,每个选项卡一个网页))。如果数量760列具有“多个”的值(诸如以下情况:表面ID列的第四个条目存储与图2的虚拟Rolodex 190对应的109的值,以及表面ID列的第五条目存储与图2的多堆叠虚拟对象194对应的194的值),***和方法将知道,如果存在一个元素(其可具有该元素的多个版本),例如对于非活动选项卡就是这种情况,则这些是可以容纳多个版本的表面的类型。
位置770是一列,其指示物理表面相对于参考系或参考点的位置。如图7中的位置770的列标题中所示,物理表面的位置可以被预确定为表面的中心。在其他实施例中,该位置可以被预确定为表面的另一个参考点(例如,表面的前、后、顶部或底部)。位置信息可以被表示为从物理表面的中心相对于某一参考系或参考点的矢量和/或位置信息。可存在几种方法来表示表面表格700中的位置。例如,表面表格700中的关于表面ID 194的位置的值以抽象形式表示,以说明矢量信息和参考系信息(例如,“系”下标)。x,y,z是每个空间维度中的3D坐标,并且系表示3D坐标相对于哪个参考系。
例如,表面ID 186示出了表面186的中心的位置相对于真实世界原点为(1.3,2.3,1.3)。作为另一示例,表面ID 192示出了表面192的中心的位置相对于用户参考系为(x,y,z),表面ID 190示出了表面190的中心的位置相对于另一表面182为(x,y,z)。参考系对于消除当前正在使用哪个参考系的歧义很重要。在将真实世界的原点作为参考系的情况下,通常是静态参考系。但是,在其他实施例中,当参考系是用户参考系时,用户可以是移动参考系,在这种情况下,如果用户正在移动并且用户参考系被用作参考系,则平面(或矢量信息)可能随用户移动并改变。在一些实施例中,用于每个表面的参考系可以是相同的(例如,用户参考系)。在其他实施例中,取决于表面(例如,用户参考系、世界参考系、房间中的另一表面或对象等),用于被存储在表面表格700内的表面的参考系可以是不同的。
在当前示例中,被存储在表面表格700内的值包含在图2的用户物理环境105内识别的物理表面(例如,垂直表面182和186以及水平表面192)和虚拟表面(例如,虚拟Rolodex190和多堆叠虚拟对象194)。例如,在当前实施例中,表面ID 710列的第一条目存储与图2的垂直表面182对应的表面ID 182的值。分别与垂直表面182的宽度和高度对应的宽度720列中的宽度值和高度730列中的高度值指示垂直表面182具有为48”(宽)乘36”(高)的尺寸。类似地,取向740列中的取向值指示垂直表面182具有“垂直”的取向。另外,真实/虚拟750列中的真实/虚拟值指示垂直表面182是“R”(例如,真实)表面。数量760列中的数量值表示垂直表面182为“单个”(例如,只能容纳单个内容)。最后,位置770列使用(2.5,2.3,1.2)的矢量信息指示垂直表面182相对于用户108的位置。
表面表格700内的其余行包含关于用户的物理环境105内的其余表面的信息。本领域的普通技术人员可以理解,存储在图3的330处识别周围表面的结果改善了计算机本身的功能,因为一旦已经对周围表面执行了该分析,如果另一用户或相同用户108位于相同的物理环境105中但对不同的2D内容感兴趣,则可以由头戴式***160保留该分析以用于用户的周围表面的未来的分析。可以避免在330处识别周围表面的处理步骤,因为这些处理步骤之前已经完成。唯一的区别可以包括至少部分地基于识别不同的2D内容内的元素的元素表格500可用于识别附加的或不同的虚拟对象。
在一些实施例中,表面表格700被存储在存储装置130中。在其他实施例中,表面表格700被存储在用户108的本地存储装置140中,以用于快速访问最近观看的2D内容或对最近观看的2D内容进行可能的重新访问。在其他实施例中,表面表格700可以被存储在远离用户108的存储装置130和位于用户108本地的本地存储装置140两者处。
返回图3,该方法继续,使用来自在320处识别2D内容中的元素的所识别的元素与来自在330处识别周围表面的所识别的周围表面的组合以及在一些实施例中,使用虚拟对象作为附加表面,将元素映射到在340处的所识别的表面。将所识别的元素映射到所识别的表面可涉及多个因素,其中一些因素可包括经由由2D内容设计者/作者通过使用诸如上面讨论的示例HTML页面解析器的HTML页面解析器来定义的HTML标签元素,来分析由2D内容设计者/作者提供的提示。其他因素可以包括从由AR浏览器、AR接口和/或云存储所提供的关于如何以及在何处映射某些2D内容的预定义规则组中选择。图8提供了将来自2D内容的一个或多个元素映射到所识别的表面的映射过程的详细流程。
图8描绘了示出根据一些实施例的用于将来自2D内容的元素映射到表面的方法的流程图。图8是公开在图3的340处将元素映射到所识别的表面的详细流程。
在810处,方法确定所识别的元素是否包含由2D内容设计者提供的提示。当2D内容设计者最初设计2D内容时,2D内容设计者可以提供有关最佳显示特定元素的位置的提示。例如,图2的主视频220可以是在活动选项卡260内的网页上显示的YOUTUBE视频。2D内容设计器(例如,网页设计者)可以提供提示以指示主视频220被最佳显示在用户108的直接视图中的垂直平面上。在一些实施例中,这可以通过使用最初设计用于2D网页内容的现有HTML标签元素来进一步定义在3D显示环境可用的情况下2D内容内的特定元素被显示的方式来实现。作为另一示例,2D内容设计者可以提供提示,其指出针对特定网页,3D图像可用,而不是2D图像。例如,在2D图像的情况下,除了提供基本的HTML标签来识别2D内容的源之外,2D内容设计者还可以提供其他不常用的HTML标签来识别2D图像的3D版本的来源,并且另外,还提供提示:如果使用图像的3D版本,则将其突出显示在用户视图的前面(例如,在3D布局的主框架中)。在一些实施例中,仅在呈现2D内容的网页浏览器110可以具有3D显示功能以利用增强的3D图像的情况下,2D内容设计者可以向2D图像的3D图像位置提供该附加的“提示”。本领域的技术人员可以理解,除了本文已经公开的内容以外,2D内容设计者还可以提供许多其他方式来提供关于特定内容元素应被放置在2D布局中的位置的提示,并且这些是2D内容设计者可以提供提示以最佳地显示2D内容内的某些或所有元素的不同方式的一些示例。
在另一实施例中,HTML标签标准可以包括新的HTML标签或类似的标记语言的创建,以用于针对诸如由上面讨论的网页开发者提供的示例HTML网页的AR/VR特定类型的浏览器提供在用户周围环境中的3D对象放置的提示。关于该撰写,尚未创建和/或采用这些新的HTML标签作为HTML语言内的标准标签。然而,一旦HTML标准包括这些类型的附加标签,当前方法和***的某些实施例将利用这些新标签来进一步提供所识别的元素到所识别的表面的映射。本领域技术人员可以理解,除了HTML标签以外,还有许多其他语言可以被修改或采用,以进一步提供关于应如何在3D环境中最佳地显示内容元素的提示,并且新的HTML标签标准仅仅是实现这样的目标的一种方法。
在820处,该方法确定是使用由2D内容设计者提供的提示还是使用预定义的规则组来将来自2D内容的一个或多个内容元素映射到某些类型的3D表面。在一些实施例中,在不存在由2D内容设计者提供的针对特定内容元素的提示的情况下,该***和方法可以使用预定义的规则组确定将内容元素映射到表面的最佳方式。在其他实施例中,即使当可能存在由2D内容设计者提供的内容元素的放置的提示时,该***和方法也可以确定可以最佳地使用预定义的规则组将内容元素映射到表面。然而,在其他实施例中,该***和方法可以确定由2D内容设计者提供的提示是足够的,因此使用这些提示将内容元素映射到表面。最后,AR浏览器的最终决定是确定是使用由2D内容设计器提供的提示还是使用预定义的规则将内容元素映射到表面。
在830处,假设确定使用由2D内容设计者提供的提示是进行的方法,则该方法分析提示并至少部分地基于提示(例如,查询表面表格700)搜索可用于显示特定内容元素的所识别的周围表面的清单。在840处,该方法运行最佳拟合算法,以基于所提供的提示为特定内容元素选择最佳拟合表面。例如,最佳拟合算法可以针对特定网页内的特定内容元素做出“主要内容”的提示,并尝试从相对于3D环境中的用户108是前面和中间的可用的所识别的周围表面境中识别3D表面。例如,图2的主视频220被映射到垂直表面182,因为主视频220具有在活动选项卡260内的图5的元素表格500的偏好520列中的“主要”的偏好值,并且垂直表面182是用户108直视的表面并具有最佳尺寸以显示主视频220。
在850处,该方法将元素到表面表格的映射中的关于内容元素的映射结果存储在非暂时性存储介质中,以供显示算法用来将内容元素显示在它们各自映射的表面上,无论这些表面是否是所识别的周围表面或在用户的周围环境中显示的虚拟对象。非暂时性存储介质可以包括诸如存储装置130或本地存储装置140的数据存储装置。映射结果可以被存储在诸如以下描述的图9中公开的表格的特定表格中。
图9示出了根据一些实施例的用于存储内容元素从2D内容到表面的映射的表格的示例。映射表格900是将内容元素被映射到表面过程的结果存储到数据库中的示例性表格。映射表格900包括例如关于内容元素(例如,元素ID)和内容元素被映射到的表面(例如,表面ID)的信息。本领域普通技术人员可以理解,映射表格900可以是被存储在关系数据库或任何类型的数据库或存储介质中的表格。另外,映射表格900可以是计算机存储器(例如,高速缓存)中的阵列,其包含在图3的340处元素到所识别的周围表面的映射的结果。
映射表格900中的每一行对应于从2D内容被映射到用户的物理环境105或显示给用户108的虚拟对象中的表面的内容元素,其中该虚拟对象看起来是位于用户的物理环境105中的对象。例如,在当前实施例中,元素ID列的第一条目存储与主视频220对应的元素ID220的值。在表面ID列中与主视频220对应的表面ID值是对应于垂直表面182的182。以这种方式,主视频220被映射到垂直表面182。类似地,用户评论230被映射到水平表面192,建议视频240被映射到垂直表面186,以及次选项卡250被映射到虚拟Rolodex 190。映射表格900中的元素ID可以与被存储在图5的元素表格500中的元素ID相关联。映射表格900中的表面ID可以与被存储在图7的表面表格700中的表面ID相关联。
返回到图8,在860处,假设确定使用预定义规则是进行的方法,则该方法查询包含内容元素到表面的映射规则的数据库,并确定针对网页内的特定内容元素,应考虑使用哪种类型的表面来映射内容元素。例如,针对来自图2的主视频220返回的规则可以指示应将主视频220映射到垂直表面,并因此在搜索表面表格700之后,显示了多个候选表面(例如,垂直表面182和186以及虚拟Rolodex 190)。在870处,预定义的规则组可以运行最佳拟合算法以从可用候选表面中选择哪一个表面是用于该主视频220的最佳拟合。至少部分基于最佳拟合算法,由于候选表面的全部,确定主视频220应被映射到垂直表面182,垂直表面182是在用户108的直接视线内的表面,并且垂直表面182具有用于显示视频的最佳尺寸。一旦确定一个或多个元素的映射,则在850处,该方法如上所述将元素到表面表格的映射中的关于内容元素的映射结果存储在非暂时性存储介质中。
返回到图3,该方法继续以在350处将一个或多个元素作为虚拟内容显示到映射表面上。头戴式***160可以在头戴式***160内包括一个或多个显示装置,例如微型投影仪(未示出)以显示信息。如在340处所映射的,将一个或多个元素显示在相应的映射表面上。使用头戴式***160,用户108将在相应的映射表面上看到内容。本领域普通技术人员可以理解,内容元素被显示为看起来物理上附在各种表面(物理或虚拟)上,但是实际上,如用户108所感知的那样,内容元素实际上被投影到物理表面上,以及在虚拟对象的情况下,虚拟对象被显示为看起来附在虚拟对象的各个表面上。本领域普通技术人员可以理解,当用户108转动他们的头部或向上或向下看时,头戴式***160内的显示装置可以继续将内容元素附着在其各自的表面上以进一步给用户108提供内容被附着到映射表面的感知。在其他实施例中,用户108可以通过由用户108的头部、手、眼睛或声音进行的运动来改变用户的物理环境105的内容。
改进的浏览器/应用实现
在混合现实***中,用户的工作空间不受显示屏幕的尺寸的限制。因此,与常规浏览器不同,混合现实***中的浏览器窗口可以被放置和保留在用户的环境中的任何位置。问题在于,常规的浏览器技术被配置为假设可显示的浏览器位置必须被限制在显示屏幕的界限内。
本公开的以下部分针对在混合现实环境中观看窗口的改进方法。使用混合现实设备,用户可以具有与用户的物理空间相关联并别放置在用户的物理空间中的多个浏览器窗口。例如,用户可以在第一房间中打开第一浏览器窗口,在第二房间中打开第二浏览器窗口。由本公开的该部分解决的问题涉及这样一种情况,其中浏览器窗口被打开以使得它被锚定到第一位置中的位置,以使得当用户转到第二位置时浏览器窗口不再可见。问题在于,随着用户改变环境(例如在房间之间移动或去不同的地理位置),用户仍然可能仍需要访问他/她在先前地理位置中的先前会话。
图10示出了用于实现用户的窗口的观看的方法的流程图,不考虑用户相对于一个或多个先前打开的窗口的位置的当前位置。在一些实施例中,提供控制界面以选择关于与用户相关联的所有和/或多个窗口的显示。在一些实施例中,控制界面可以是用户界面,使得用户可以例如通过向***提供用户输入并且***通过执行对应的命令来响应,而与MR显示***交互。在一些实施例中,用户可以与MR***的视觉、听觉、触觉或其他方面交互。在一些实施例中,用户界面可以包括浏览器枢纽(hub),其在一些实施例中可以是一个或多个浏览器应用的一个或多个方面的视觉表示。例如,可以在浏览器枢纽内呈现“所有窗口”图标,在该处选择“所有窗口”图标可启动与用户相关联的多个窗口的显示,而不考虑用户相对于当前窗口位置(例如,窗户被打开的位置)的位置。图10开始于步骤1702,当***接收到显示所有或多个窗口的命令时(1702)。在一些实施例中,当用户选择可位于浏览器枢纽用户界面内的所有窗口图标时,可以发生步骤1702。在一些实施例中,***接收针对一个以上窗口的选择。在一些实施例中,***可以接收用户输入,该用户输入指示用户想要观看与该用户的***相关联的一个以上的窗口。
在1704处,针对与用户相关联的多个窗口检索信息。在一些实施例中,用户可以具有与该用户相关联的一个或多个窗口。为其收集信息的窗口可位于相异的物理位置。根据一些实施例,代替由每个应用独立地在一对一的基础上在VR/AR环境中管理浏览器窗口,窗口可以替代地被渲染成有界的体积,在下文中可以被称为“棱柱”。每个棱柱可以具有允许全域(universe)应用在VR/AR环境中管理和显示棱柱的特性和属性,以使得全域应用可以通过管理棱柱本身来管理在VR/AR环境中虚拟内容的放置和显示。可以通过访问与用户相关联的棱柱的数据库来收集关于窗口的信息,其中棱柱可以在指定位置显示一个或多个窗口。
在一些实施例中,加载“所有窗口”视图,显示所有打开的窗口和选项卡式窗口,每一个由预览、图标、域名和/或页面标题或窗口的任何其他合适的视觉表示来表示(1706)。在一些实施例中,打开的窗口的示例包括由一个或多个用户主动与之交互的窗口。其他示例包括放置的应用/窗口/浏览器、是否具有打开/活动状态、暂停状态、停止状态、关闭状态等。此外,只要应用的实例存在/被放置并且具有一个或多个具有内容的标签,则在一些实施例中,可以使用当前的发明方法远程访问它。作为另外的示例,打开的窗口可以对应于与给定应用(例如,浏览器)相关联的一些或所有棱柱,而不考虑其状态(活动、暂停、关闭等),可以通过当前实施例中的“所有窗口”视图对其进行远程访问。在一些实施例中,“所有窗口”视图可包括被包含在真实世界中的一个或多个物理位置处的一个或多个棱柱内的所有浏览器窗口。图12-14示出了并且下面描述了“所有窗口”和类似的“所有应用”视图的示例。尽管以“所有窗口”为示例,但也可以替代地使用任何其他单个应用。尽管以“所有应用”为示例,但也可以替代地使用所有应用的任何子集。步骤1704中所识别的各个窗口可以以这种方式被显示在用户的当前位置。这可以通过将所识别的窗口的位置参数更改为用户当前物理环境中的位置来完成,实际上是将窗口召集(summon)给用户。在一些实施例中,这可以通过创建窗口信息的副本并替代地将新位置与该信息相关联来实现,该新位置例如用户当前位置处或附近的位置。然后渲染窗口(以预览形式、缩略图形式和/或完整形式),并在被分配给各个窗口和/或窗口棱柱的坐标处将其显示给用户。
在1708(在该方法中是可选的)处,可以识别悬停状态并且该悬停状态可以相对于一个或多个窗口起作用。例如,在悬停时,正被悬停的窗口可以移入到前景中,其他窗口可以可选地略微后退。具有多个选项卡的窗口可略微扩展以显示背景选项卡。在一些实施例中,代替窗口,正被悬停的对象可以是浏览器窗口的任何视觉表示,例如预览、全屏或缩小的屏幕。在1710处,用户选择窗口中的一个或多个。在一些实施例中,用户可以通过单击控制器(例如,图腾)上的按钮、或者通过执行特定手势、或者通过持续预定时间段看向窗口来选择窗口。如果用户选择窗口,则原始窗口的复本将被加载在用户FOV的前景,并且关闭所有窗口视图。在一些实施例中,取决于用户选择的偏好,复本重复更新原始、复本更新全部或一些其他副本,和/或复本独立于原始。在一些实施例中,加载在前景中的内容对应于被移动(例如,未被钉扎(pin)并整体移动)的现有棱柱。在一些实施例中,加载在前景中的内容对应于具有新的关联位置信息的、被复制的现有棱柱。如果用户激活上下文菜单,则可以向用户呈现用户菜单,该用户菜单包括用于关闭窗口、将其添加到集合和/或最小化窗口的选项。上下文菜单可以是具有预定用户界面选项的用户界面,该用户界面选项告诉***在被选择时执行特定功能。在一些实施例中,上下文菜单可以通过在将悬停在诸如窗口的可选择的对象之上时通过对图腾上的触摸板的中心施加压力按压来激活。在一些实施例中,上下文窗口可以类似于在台式计算机上的右键单击,因为该动作使用户能够对所选择的对象执行诸如移动、关闭等的动作。
图11A-B示出了为用户显示窗口的该过程,而不管窗口的先前物理位置。在混合现实实施例中,窗口可以与装置和/或物理空间相关联。用户可以将内容放置在整个家中或者全天放置在不同的地理位置处。在图11A中,可以看到第一浏览器窗口1已被放置在第一物理位置,而第二浏览器窗口2已被放置在第二物理位置。由于在混合现实实施例中窗口与特定的物理位置/坐标空间相关联,因此这意味着窗口1通常仅在用户108位于物理位置1时可见,而在用户108位于物理位置2时不可见。类似地,窗口2通常仅在用户108位于物理位置2时可见,而在用户108位于物理位置1时不可见。
如图11B所示,“所有窗口”视图1804允许用户108观看、重新打开和关闭打开的窗口,而不考虑物理位置(关于“打开的”窗口的示例,请参见前面的段落)。因此,视图1804可以显示窗口1和窗口2的可操纵版本(例如,视觉表示),尽管这些窗口与不同的物理位置相关联。当被从浏览器的控制枢纽访问时,观看所有窗口(或可选地“所有窗口”)允许用户观看所有打开的窗口,而不考虑其物理位置或地理位置。窗口可以位于同一房间、不同房间或完全位于另一个空间中。屏幕快照、网站图标、域和/或页面标题用于识别(例如,视觉上表示)每一个窗口。在一些实施例中,具有多个选项卡的窗口在悬停时显示基础选项卡的堆叠预览。使用上下文菜单,用户可以打开窗口的新实例、关闭窗口、最小化窗口、标记窗口以及将窗口添加到集合中—不考虑位置。还可以提供全局按钮,可用于关闭或最小化所有打开的窗口。
图12-13提供了在混合现实界面内显示多个窗口的可能方法的示例。这些图示出了实现界面的示例方法,在该界面中,多个窗口被显示并呈现给用户。可以通过例如指向装置的合适的用户输入装置选择浏览器窗口中的任何窗口,以供用户进一步观看。如果存在太多无法容纳在界面上的窗口,则在一些实施例中,附加的窗口可能会在视觉上“重影(ghost)”(如图12和图13的右侧所示),并提供滚动控件以滚动到附加窗口。
因此,已经描述了一种在混合现实环境中观看窗口的改进方法,其中视图被提供具有用户的窗口,而不考虑用户相对于一个或多个先前打开的窗口的当前位置。这解答并解决了当使用混合现实设备时用户可能想要访问与一个或多个不同物理位置相关联的一个或多个浏览器窗口的情况。
尽管已经就浏览器应用而言描述了以上实施例,但是权利要求的范围还涵盖了任何其他应用或应用组。在一些实施例中,可以根据权利要求来选择并显示操作***中的所有应用。这样的实施例将具有棱柱中的应用,而不是在窗口中的被解析的浏览器内容。
在图14中描绘了这样的实施例,其在多个棱柱中显示了多个应用。“所有”按钮是示例性的下拉过滤器,以帮助对用于显示和选择的应用选项进行分类(例如,按类别)。尽管可以使用其他合适的选择或过滤方法和/或界面,但是9m到30m的范围内的示例性滑动条基于与用户的距离来选择被包括在所有应用/景观(landscape)管理器显示器中的应用。在一些实施例中,用户可以将滑动条设置为与房间对应的较小距离,以显示该房间中可用的所有应用。在一些实施例中,用户可以将滑动条设置为与房屋对应的更大距离,以显示整个房屋中可用的所有应用。在一些实施例中,可以将滑动条设置为与所有应用对应的最右边,而不考虑位置。“关闭所有”按钮是用于控制和/或操纵应用的示例性用户界面元素。如上所述,其他用户界面元素可以全部打开、移动等。图14描绘了打开的应用当中的“你好(HELLO)”应用和“集合”应用的两个不同实例。因此,“所有”按钮可以显示一个应用以及不同应用的多个实例。
附加实施例
下面描述本公开的其他实施例。这些附加实施例可以结合来自上面公开的实施例的元素,并且这些附加实施例的元素可以被结合到上面公开的实施例中。
1.一种在计算机可读介质上体现的计算机程序产品,所述计算机可读介质在其上存储指令序列,所述指令序列在由处理器执行时使所述处理器执行包括以下方面的方法:
接收选择多个打开的窗口的指令;
针对所述多个打开的应用检索信息,其中所述多个打开的窗口与不同的物理位置相关联;
在单个用户界面中显示所述多个打开的窗口的表示;以及
在接收到对所述多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。。
2.根据实施例1所述的计算机程序产品,其中,通过将用于所述多个打开的窗口的位置参数改变为在用于所述用户的当前物理环境内的位置,在所述单个用户界面中显示所述多个打开的窗口的所述表示。
3.根据实施例2所述的计算机程序产品,其中,所述多个打开的窗口在所述单个用户界面内的被分配给所述多个打开的窗口的坐标处被渲染并被显示给所述用户。
4.根据实施例3所述的计算机程序产品,其中,以预览形式、缩略图形式或完整形式中的至少一种来渲染所述多个打开的窗口。
5.根据实施例1所述的计算机程序产品,其中,所有打开的窗口被选择用于在所述单个用户界面中显示。
6.根据实施例1所述的计算机程序产品,其中,所述多个打开的窗口中的每一个被渲染成用于虚拟内容的放置的有界体积。
7.根据实施例1所述的计算机程序产品,其中,悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。
8.根据实施例1所述的计算机程序产品,其中,在接收到对所选择的窗口的所述选择时,关闭未被选择的窗口。
9.一种用于在计算环境中显示窗口的方法,包括:
接收选择多个打开的应用的指令;
针对所述多个打开的应用检索信息,其中所述多个打开的应用与不同的物理位置相关联;
在单个用户界面中显示所述多个打开的应用的表示;以及
在接收到对所述多个打开的应用中的所选择的应用的选择时,将所选择的应用加载到用于用户的视场的前景中。
10.根据实施例9所述的方法,其中,通过将用于所述多个打开的应用的位置参数改变为在用于所述用户的当前物理环境内的位置,在所述单个用户界面中显示所述多个打开的应用的所述表示。
11.根据实施例10所述的方法,其中,所述多个打开的窗口在所述单个用户界面内的被分配给所述多个打开的窗口的坐标处被渲染并被显示给所述用户。
12.根据实施例11所述的方法,其中,以预览形式、缩略图形式或完整形式中的至少一种来渲染所述多个打开的应用。
13.根据实施例9所述的方法,其中,所有打开的应用被选择用于在所述单个用户界面中显示。
14.根据实施例9所述的方法,其中,所述多个打开的应用中的每一个被渲染成单独的用于虚拟内容的放置的棱柱。
15.根据实施例9所述的方法,其中,悬停状态被实现,其中正被悬停的应用移入到前景中,而其他应用在视觉上后退。
16.根据实施例9所述的方法,其中,在接收到对所选择的应用的所述选择时,关闭未被选择的应用。
***架构概述
图15是适合于实现本公开的实施例的示例性计算***1400的框图。计算***1400包括用于传达信息的总线1406或其他通信机制,其互连子***和装置,例如处理器1407、***存储器1408(例如,RAM)、静态存储装置1409(例如,ROM)、磁盘驱动器1410(例如,磁性或光学)、通信接口1414(例如,调制解调器或以太网卡)、显示器1411(例如,CRT或LCD)、输入装置1412(例如,键盘和鼠标)。
根据一些实施例,计算***1400通过处理器1407执行包含在***存储器1408中的一个或多个指令的一个或多个序列来执行特定操作。这样的指令可从另一计算机可读/可用介质(例如,静态存储装置1409或磁盘驱动器1410)读入到***存储器1408中。在替代实施例中,可使用硬布线的电路代替软件指令或与软件指令结合来实现本公开。因此,本公开的实施例不限于硬件电路和/或软件的任何特定组合。在一个实施例中,术语“逻辑”应表示用于实现本公开的全部或部分的软件或硬件的任何组合。
如本文所用,术语“计算机可读介质”或“计算机可用介质”是指参与向处理器1407提供指令以供执行的任何介质。这样的介质可采取许多形式,包括但不限于非易失性介质和易失性介质。非易失性介质包括例如光盘或磁盘,例如磁盘驱动器1410。易失性介质包括动态存储器,例如***存储器1408。
计算机可读介质的常见形式包括,例如,软盘、柔性盘、硬盘、磁带、任何其他磁介质、CD-ROM、任何其他光学介质、打孔卡、纸带、任何其他带有孔的图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
在本公开的实施例中,由单个计算***1400执行用于实践本公开的指令序列的执行。根据本公开的其他实施例,由通信链路1415(例如,LAN、PTSN、或无线网络)耦接的两个或更多个计算***1400可相互协作地执行实践本公开所需的指令的序列。
计算***1400可经由通信接口1414通过通信链路1415发送和接收消息、数据和指令,包括程序(即,应用代码)。所接收的程序代码可按其被接收的那样由处理器1407执行和/或被存储在磁盘驱动器1410或其他非易失性存储中,以供以后执行。计算***1400可通过数据接口1433与外部存储装置1431上的数据库1432通信。
在前述说明书中,已经参照本公开的特定实施例描述了本公开。然而,将显而易见的是,在不脱离本公开的更广泛的精神和范围的情况下,可对其进行各种变型和改变。例如,参考处理动作的特定顺序来描述上述处理流程。然而,在不影响本公开的范围或操作的情况下,可改变许多所描述的处理动作的顺序。因此,说明书和附图应被认为是示例性而非限制性的。
Claims (18)
1.一种用于在计算环境中显示窗口的方法,包括:
接收选择多个打开的窗口的指令;
针对所述多个打开的应用检索信息,其中所述多个打开的窗口与不同的物理位置相关联;
在单个用户界面中显示所述多个打开的窗口的表示;以及
在接收到对所述多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。
2.根据权利要求1所述的方法,其中,通过将用于所述多个打开的窗口的位置参数改变为在用于所述用户的当前物理环境内的位置,在所述单个用户界面中显示所述多个打开的窗口的所述表示。
3.根据权利要求2所述的方法,其中,所述多个打开的窗口在所述单个用户界面内的被分配给所述多个打开的窗口的坐标处被渲染并被显示给所述用户。
4.根据权利要求3所述的方法,其中,以预览形式、缩略图形式或完整形式中的至少一种来渲染所述多个打开的窗口。
5.根据权利要求1所述的方法,其中,所有打开的窗口被选择用于在所述单个用户界面中显示。
6.根据权利要求1所述的方法,其中,所述多个打开的窗口中的每一个被渲染成单独的用于虚拟内容的放置的棱柱。
7.根据权利要求1所述的方法,其中,悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。
8.根据权利要求1所述的方法,其中,在接收到对所选择的窗口的所述选择时,关闭未被选择的窗口。
9.一种用于在计算环境中操纵窗口的***,包括:
显示三维内容的混合现实显示装置;
处理器;
用于保持由所述处理器可执行的可编程代码的存储器,其中,所述可编程代码包括以下指令:接收选择多个打开的窗口的指令;针对所述多个打开的应用检索信息,其中所述多个打开的窗口与不同的物理位置相关联;在所述混合现实显示装置的单个用户界面中显示所述多个打开的窗口的表示;以及在接收到对所述多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。
10.根据权利要求9所述的***,其中,通过将用于所述多个打开的窗口的位置参数改变为在用于所述用户的当前物理环境内的位置,在所述单个用户界面中显示所述多个打开的窗口的所述表示。
11.根据权利要求10所述的***,其中,所述多个打开的窗口在所述单个用户界面内的被分配给所述多个打开的窗口的坐标处被渲染并被显示给所述用户。
12.根据权利要求11所述的***,其中,以预览形式、缩略图形式、或完整形式中的至少一种来渲染所述多个打开的窗口。
13.根据权利要求9所述的***,其中,所有打开的窗口被选择用于在所述单个用户界面中显示。
14.根据权利要求9所述的***,其中,所述多个打开的窗口中的每一个被渲染成用于虚拟内容的放置的有界体积。
15.根据权利要求9所述的***,其中,悬停状态被实现,其中正被悬停的窗口移入到前景中,而其他窗口在视觉上后退。
16.根据权利要求9所述的***,其中,在接收到对所选择的窗口的所述选择时,关闭未被选择的窗口。
17.一种在计算机可读介质上体现的计算机程序产品,所述计算机可读介质在其上存储指令序列,所述指令序列在由处理器执行时使所述处理器执行包括以下方面的方法:
接收选择多个打开的窗口的指令;
针对所述多个打开的应用检索信息,其中所述多个打开的窗口与不同的物理位置相关联;
在单个用户界面中显示所述多个打开的窗口的表示;以及
在接收到对所述多个打开的窗口中的所选择的窗口的选择时,将所选择的窗口加载到用于用户的视场的前景中。
18.一种用于在计算环境中显示虚拟内容的方法,包括:
接收选择多个打开的应用的指令;
针对所述多个打开的应用检索信息,其中所述多个打开的应用与不同的物理位置相关联;
在单个用户界面中显示所述多个打开的应用的表示;以及
在接收到对所述多个打开的应用中的所选择的应用的选择时,将所选择的应用加载到用于用户的视场的前景中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862634016P | 2018-02-22 | 2018-02-22 | |
US62/634,016 | 2018-02-22 | ||
PCT/US2019/018932 WO2019165055A1 (en) | 2018-02-22 | 2019-02-21 | Browser for mixed reality systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111758122A true CN111758122A (zh) | 2020-10-09 |
Family
ID=67617801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980014719.1A Pending CN111758122A (zh) | 2018-02-22 | 2019-02-21 | 用于混合现实***的浏览器 |
Country Status (9)
Country | Link |
---|---|
US (3) | US11036364B2 (zh) |
EP (2) | EP3756169B1 (zh) |
JP (2) | JP7112502B2 (zh) |
KR (1) | KR20200122362A (zh) |
CN (1) | CN111758122A (zh) |
AU (1) | AU2019225989A1 (zh) |
CA (1) | CA3089646A1 (zh) |
IL (2) | IL276621B2 (zh) |
WO (1) | WO2019165055A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971764A (zh) * | 2022-04-08 | 2022-08-30 | 浙江赟燊商业信息***科技有限公司 | 一种基于HoloLens的存储和匹配***及方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020205293A1 (en) * | 2019-03-29 | 2020-10-08 | Sony Interactive Entertainment Inc. | Context-based user interface menu with selectable actions |
US11269492B2 (en) | 2019-03-29 | 2022-03-08 | Sony Interactive Entertainment Inc. | Context-based user interface menu with selectable actions |
WO2020205291A1 (en) | 2019-03-29 | 2020-10-08 | Sony Interactive Entertainment Inc. | Context-based user interface menu with selectable actions |
US11315326B2 (en) * | 2019-10-15 | 2022-04-26 | At&T Intellectual Property I, L.P. | Extended reality anchor caching based on viewport prediction |
US11354012B1 (en) * | 2019-10-18 | 2022-06-07 | Splunk Inc. | Automated placement and time selection for dashboard panels in an extended reality environment |
WO2021113322A1 (en) * | 2019-12-06 | 2021-06-10 | Magic Leap, Inc. | Dynamic browser stage |
US11538199B2 (en) * | 2020-02-07 | 2022-12-27 | Lenovo (Singapore) Pte. Ltd. | Displaying a window in an augmented reality view |
CN118215903A (zh) * | 2021-09-25 | 2024-06-18 | 苹果公司 | 用于在虚拟环境中呈现虚拟对象的设备、方法和图形用户界面 |
US20240071002A1 (en) * | 2022-08-30 | 2024-02-29 | Rovi Guides, Inc. | Systems and methods for pinning content items to locations in an augmented reality display based on user preferences |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226647A1 (en) * | 2006-03-22 | 2007-09-27 | John Louch | Methods of manipulating a screen space of a display device |
EP2455858A1 (en) * | 2010-11-23 | 2012-05-23 | Apple Inc. | Grouping and browsing open windows |
CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
CN106937531A (zh) * | 2014-06-14 | 2017-07-07 | 奇跃公司 | 用于产生虚拟和增强现实的方法和*** |
US20170256096A1 (en) * | 2016-03-07 | 2017-09-07 | Google Inc. | Intelligent object sizing and placement in a augmented / virtual reality environment |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6720949B1 (en) | 1997-08-22 | 2004-04-13 | Timothy R. Pryor | Man machine interfaces and applications |
US6629065B1 (en) | 1998-09-30 | 2003-09-30 | Wisconsin Alumni Research Foundation | Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments |
US9208270B2 (en) | 2000-08-02 | 2015-12-08 | Comsol Ab | System and method for establishing bidirectional links between multiphysics modeling and design systems |
US7043695B2 (en) | 2000-09-19 | 2006-05-09 | Technion Research & Development Foundation Ltd. | Object positioning and display in virtual environments |
NZ539632A (en) | 2002-10-22 | 2008-01-31 | Artoolworks | Tracking a surface in a 3-dimensional scene using natural visual features of the surface |
JP4212564B2 (ja) | 2005-02-28 | 2009-01-21 | ザイオソフト株式会社 | 画像処理方法および画像処理プログラム |
JP2007058332A (ja) | 2005-08-22 | 2007-03-08 | Canon Inc | オブジェクト操作装置及びオブジェクト操作方法 |
US20070074125A1 (en) | 2005-09-26 | 2007-03-29 | Microsoft Corporation | Preview information for web-browsing |
US20080115081A1 (en) | 2006-11-09 | 2008-05-15 | Microsoft Corporation | Enhanced windows management feature |
US20090028142A1 (en) | 2007-07-25 | 2009-01-29 | Schmidt Brian K | Streaming data content in a network |
US8245241B2 (en) | 2007-10-02 | 2012-08-14 | International Business Machines Corporation | Arrangements for interactivity between a virtual universe and the world wide web |
US10872322B2 (en) | 2008-03-21 | 2020-12-22 | Dressbot, Inc. | System and method for collaborative shopping, business and entertainment |
KR101527993B1 (ko) | 2008-04-05 | 2015-06-10 | 소우셜 커뮤니케이션즈 컴퍼니 | 가상 환경과의 인터페이스 방법 |
US9952673B2 (en) | 2009-04-02 | 2018-04-24 | Oblong Industries, Inc. | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control |
US20160077677A1 (en) | 2008-05-20 | 2016-03-17 | Israel Valdes | Apparatus and method for user configurable content |
US8924862B1 (en) * | 2008-09-05 | 2014-12-30 | Cisco Technology, Inc. | Optimizing desktop sharing for wireless clients during networked collaboration |
KR101082487B1 (ko) | 2010-01-29 | 2011-11-11 | 키위플 주식회사 | 객체 인식시스템 및 이를 이용하는 객체 인식 방법 |
US20120212484A1 (en) | 2010-02-28 | 2012-08-23 | Osterhout Group, Inc. | System and method for display content placement using distance and location information |
US20130278631A1 (en) | 2010-02-28 | 2013-10-24 | Osterhout Group, Inc. | 3d positioning of augmented reality information |
CN103493106B (zh) | 2011-03-29 | 2017-11-07 | 高通股份有限公司 | 使用骨骼跟踪来选择性地将手遮蔽在物理表面上的虚拟投影之上的方法和装置 |
US9354899B2 (en) | 2011-04-18 | 2016-05-31 | Google Inc. | Simultaneous display of multiple applications using panels |
MX2013013544A (es) | 2011-05-23 | 2014-05-27 | Lego As | Generacion de instrucciones de edificacion para modelos de elementos de construccion. |
US8912979B1 (en) * | 2011-07-14 | 2014-12-16 | Google Inc. | Virtual window in head-mounted display |
EP2761362A4 (en) | 2011-09-26 | 2014-08-06 | Microsoft Corp | VIDEO DISPLAY CHANGE BASED ON SENSOR INPUT FOR TRANSPARENT EYE DISPLAY |
US9734633B2 (en) | 2012-01-27 | 2017-08-15 | Microsoft Technology Licensing, Llc | Virtual environment generating system |
US9671566B2 (en) | 2012-06-11 | 2017-06-06 | Magic Leap, Inc. | Planar waveguide apparatus with diffraction element(s) and system employing same |
US9069455B2 (en) | 2012-06-22 | 2015-06-30 | Microsoft Technology Licensing, Llc | 3D user interface for application entities |
US20130342572A1 (en) | 2012-06-26 | 2013-12-26 | Adam G. Poulos | Control of displayed content in virtual environments |
US9292085B2 (en) | 2012-06-29 | 2016-03-22 | Microsoft Technology Licensing, Llc | Configuring an interaction zone within an augmented reality environment |
US20150206349A1 (en) | 2012-08-22 | 2015-07-23 | Goldrun Corporation | Augmented reality virtual content platform apparatuses, methods and systems |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US9070194B2 (en) | 2012-10-25 | 2015-06-30 | Microsoft Technology Licensing, Llc | Planar surface detection |
US9407824B2 (en) | 2012-11-01 | 2016-08-02 | Google Inc. | Multi-directional content capture on mobile devices |
KR101984915B1 (ko) | 2012-12-03 | 2019-09-03 | 삼성전자주식회사 | 증강 현실 컨텐츠 운용 방법 및 이를 지원하는 단말기와 시스템 |
US9317972B2 (en) | 2012-12-18 | 2016-04-19 | Qualcomm Incorporated | User interface for augmented reality enabled devices |
KR20150103723A (ko) * | 2013-01-03 | 2015-09-11 | 메타 컴퍼니 | 가상 또는 증강매개된 비전을 위한 엑스트라미시브 공간 이미징 디지털 아이 글래스 |
US20140200863A1 (en) | 2013-01-11 | 2014-07-17 | The Regents Of The University Of Michigan | Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time |
US20140225922A1 (en) | 2013-02-11 | 2014-08-14 | Rocco A. Sbardella | System and method for an augmented reality software application |
JP2014157466A (ja) | 2013-02-15 | 2014-08-28 | Sony Corp | 情報処理装置及び記憶媒体 |
GB201303707D0 (en) | 2013-03-01 | 2013-04-17 | Tosas Bautista Martin | System and method of interaction for mobile devices |
WO2014164901A1 (en) | 2013-03-11 | 2014-10-09 | Magic Leap, Inc. | System and method for augmented and virtual reality |
US20140267228A1 (en) | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Mapping augmented reality experience to various environments |
CN108628446B (zh) | 2013-03-15 | 2021-10-26 | 奇跃公司 | 显示***和方法 |
US20140282274A1 (en) | 2013-03-15 | 2014-09-18 | Qualcomm Incorporated | Detection of a gesture performed with at least two control objects |
US20150277699A1 (en) | 2013-04-02 | 2015-10-01 | Cherif Atia Algreatly | Interaction method for optical head-mounted display |
KR20140133361A (ko) | 2013-05-10 | 2014-11-19 | 삼성전자주식회사 | 디스플레이 장치 및 그 ui 화면 제공 방법 |
US10262462B2 (en) | 2014-04-18 | 2019-04-16 | Magic Leap, Inc. | Systems and methods for augmented and virtual reality |
US9129430B2 (en) * | 2013-06-25 | 2015-09-08 | Microsoft Technology Licensing, Llc | Indicating out-of-view augmented reality images |
US10861224B2 (en) * | 2013-07-23 | 2020-12-08 | Hover Inc. | 3D building analyzer |
WO2015033377A1 (ja) | 2013-09-06 | 2015-03-12 | 株式会社マーズフラッグ | 情報処理装置、検索サーバ、ウェブサーバ及びコンピュータプログラム |
US20180225885A1 (en) | 2013-10-01 | 2018-08-09 | Aaron Scott Dishno | Zone-based three-dimensional (3d) browsing |
KR101512084B1 (ko) | 2013-11-15 | 2015-04-17 | 한국과학기술원 | 가상현실 기반의 3차원 웹 검색 인터페이스를 제공하는 웹 검색 시스템 및 그 제공 방법 |
US9354778B2 (en) | 2013-12-06 | 2016-05-31 | Digimarc Corporation | Smartphone-based methods and systems |
US9411422B1 (en) | 2013-12-13 | 2016-08-09 | Audible, Inc. | User interaction with content markers |
US20150185825A1 (en) | 2013-12-30 | 2015-07-02 | Daqri, Llc | Assigning a virtual user interface to a physical object |
US20150206343A1 (en) | 2014-01-17 | 2015-07-23 | Nokia Corporation | Method and apparatus for evaluating environmental structures for in-situ content augmentation |
US9201578B2 (en) | 2014-01-23 | 2015-12-01 | Microsoft Technology Licensing, Llc | Gaze swipe selection |
KR102184402B1 (ko) | 2014-03-06 | 2020-11-30 | 엘지전자 주식회사 | 글래스 타입의 이동 단말기 |
US10203762B2 (en) | 2014-03-11 | 2019-02-12 | Magic Leap, Inc. | Methods and systems for creating virtual and augmented reality |
US20150302651A1 (en) | 2014-04-18 | 2015-10-22 | Sam Shpigelman | System and method for augmented or virtual reality entertainment experience |
US9361732B2 (en) | 2014-05-01 | 2016-06-07 | Microsoft Technology Licensing, Llc | Transitions between body-locked and world-locked augmented reality |
US10002208B2 (en) | 2014-05-13 | 2018-06-19 | Atheer, Inc. | Method for interactive catalog for 3D objects within the 2D environment |
US20150331240A1 (en) * | 2014-05-15 | 2015-11-19 | Adam G. Poulos | Assisted Viewing Of Web-Based Resources |
US10156967B2 (en) | 2014-05-31 | 2018-12-18 | Apple Inc. | Device, method, and graphical user interface for tabbed and private browsing |
US9858720B2 (en) | 2014-07-25 | 2018-01-02 | Microsoft Technology Licensing, Llc | Three-dimensional mixed-reality viewport |
US20160027214A1 (en) | 2014-07-25 | 2016-01-28 | Robert Memmott | Mouse sharing between a desktop and a virtual world |
JP6705124B2 (ja) | 2015-04-23 | 2020-06-03 | セイコーエプソン株式会社 | 頭部装着型表示装置、情報システム、頭部装着型表示装置の制御方法、および、コンピュータープログラム |
US9734634B1 (en) | 2014-09-26 | 2017-08-15 | A9.Com, Inc. | Augmented reality product preview |
US10726593B2 (en) | 2015-09-22 | 2020-07-28 | Fyusion, Inc. | Artificially rendering images using viewpoint interpolation and extrapolation |
JP5767386B1 (ja) | 2014-12-15 | 2015-08-19 | 株式会社コロプラ | ヘッドマウントディスプレイシステム、ヘッドマウントディスプレイへ表示するための方法、及びプログラム |
US10335677B2 (en) | 2014-12-23 | 2019-07-02 | Matthew Daniel Fuchs | Augmented reality system with agent device for viewing persistent content and method of operation thereof |
US20160300392A1 (en) | 2015-04-10 | 2016-10-13 | VR Global, Inc. | Systems, media, and methods for providing improved virtual reality tours and associated analytics |
US9465891B1 (en) | 2015-04-29 | 2016-10-11 | Data Cocoon LLC | Tessellated data visualization system |
US10832479B2 (en) | 2015-06-15 | 2020-11-10 | Sony Corporation | Information processing apparatus, information processing method, and program |
EP3113106A1 (en) | 2015-07-02 | 2017-01-04 | Nokia Technologies Oy | Determination of environmental augmentation allocation data |
KR20170005602A (ko) * | 2015-07-06 | 2017-01-16 | 삼성전자주식회사 | 증강현실 및 가상현실의 통합적 제공 방법 및 이를 사용하는 전자 장치 |
CN107924412B (zh) | 2015-08-18 | 2022-04-12 | 三星电子株式会社 | 用于对网页加书签的方法和*** |
US10057078B2 (en) | 2015-08-21 | 2018-08-21 | Samsung Electronics Company, Ltd. | User-configurable interactive region monitoring |
US10318225B2 (en) | 2015-09-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Holographic augmented authoring |
EP4380150A3 (en) | 2015-10-08 | 2024-07-24 | InterDigital VC Holdings, Inc. | Methods and systems of automatic calibration for dynamic display configurations |
WO2017070121A1 (en) | 2015-10-20 | 2017-04-27 | Magic Leap, Inc. | Selecting virtual objects in a three-dimensional space |
TWI567691B (zh) | 2016-03-07 | 2017-01-21 | 粉迷科技股份有限公司 | 立體空間的場景編輯方法與系統 |
CN111329551A (zh) | 2016-03-12 | 2020-06-26 | P·K·朗 | 用于脊柱和关节手术的增强现实引导 |
US10373381B2 (en) | 2016-03-30 | 2019-08-06 | Microsoft Technology Licensing, Llc | Virtual object manipulation within physical environment |
KR20170126295A (ko) * | 2016-05-09 | 2017-11-17 | 엘지전자 주식회사 | 헤드 마운티드 디스플레이 장치 및 그것의 제어방법 |
US10268266B2 (en) | 2016-06-29 | 2019-04-23 | Microsoft Technology Licensing, Llc | Selection of objects in three-dimensional space |
EP3479160B1 (en) | 2016-06-30 | 2024-07-24 | Magic Leap, Inc. | Estimating pose in 3d space |
US10489978B2 (en) * | 2016-07-26 | 2019-11-26 | Rouslan Lyubomirov DIMITROV | System and method for displaying computer-based content in a virtual or augmented environment |
IL303843B2 (en) | 2016-08-11 | 2024-06-01 | Magic Leap Inc | Automatic positioning of a virtual object in three-dimensional space |
US20180082480A1 (en) | 2016-09-16 | 2018-03-22 | John R. White | Augmented reality surgical technique guidance |
WO2018067801A1 (en) | 2016-10-05 | 2018-04-12 | Magic Leap, Inc. | Surface modeling systems and methods |
US11290572B2 (en) | 2016-11-07 | 2022-03-29 | Constructive Labs | System and method for facilitating sharing of virtual three-dimensional space |
US10271043B2 (en) | 2016-11-18 | 2019-04-23 | Zspace, Inc. | 3D user interface—360-degree visualization of 2D webpage content |
US10599823B2 (en) | 2016-11-18 | 2020-03-24 | Invensense, Inc. | Systems and methods for coordinating applications with a user interface |
US20180150204A1 (en) * | 2016-11-30 | 2018-05-31 | Google Inc. | Switching of active objects in an augmented and/or virtual reality environment |
WO2018176012A1 (en) | 2017-03-24 | 2018-09-27 | Inmentis, Llc | Social media system with navigable, artificial-intelligence-based graphical user interface with result view |
EP3619688A1 (en) | 2017-05-01 | 2020-03-11 | Magic Leap, Inc. | Matching content to a spatial 3d environment |
US10304251B2 (en) | 2017-06-15 | 2019-05-28 | Microsoft Technology Licensing, Llc | Virtually representing spaces and objects while maintaining physical properties |
US10719870B2 (en) | 2017-06-27 | 2020-07-21 | Microsoft Technology Licensing, Llc | Mixed reality world integration of holographic buttons in a mixed reality device |
US20190005724A1 (en) | 2017-06-30 | 2019-01-03 | Microsoft Technology Licensing, Llc | Presenting augmented reality display data in physical presentation environments |
US10444975B2 (en) | 2017-07-18 | 2019-10-15 | Google Llc | Graphical icon manipulation |
US10803663B2 (en) | 2017-08-02 | 2020-10-13 | Google Llc | Depth sensor aided estimation of virtual reality environment boundaries |
IL300465A (en) | 2017-12-22 | 2023-04-01 | Magic Leap Inc | Methods and system for managing and displaying virtual content in a mixed reality system |
US11087563B2 (en) | 2018-02-22 | 2021-08-10 | Magic Leap, Inc. | Object creation with physical manipulation |
-
2019
- 2019-02-21 AU AU2019225989A patent/AU2019225989A1/en not_active Abandoned
- 2019-02-21 EP EP19757809.9A patent/EP3756169B1/en active Active
- 2019-02-21 US US16/281,540 patent/US11036364B2/en active Active
- 2019-02-21 CA CA3089646A patent/CA3089646A1/en active Pending
- 2019-02-21 WO PCT/US2019/018932 patent/WO2019165055A1/en unknown
- 2019-02-21 CN CN201980014719.1A patent/CN111758122A/zh active Pending
- 2019-02-21 JP JP2020544190A patent/JP7112502B2/ja active Active
- 2019-02-21 KR KR1020207026917A patent/KR20200122362A/ko not_active Application Discontinuation
- 2019-02-21 EP EP23159324.5A patent/EP4213104A1/en active Pending
- 2019-02-21 IL IL276621A patent/IL276621B2/en unknown
- 2019-02-21 IL IL301443A patent/IL301443A/en unknown
-
2021
- 2021-05-11 US US17/316,925 patent/US11972092B2/en active Active
-
2022
- 2022-07-22 JP JP2022117087A patent/JP2022153514A/ja active Pending
-
2024
- 2024-03-08 US US18/600,439 patent/US20240211113A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070226647A1 (en) * | 2006-03-22 | 2007-09-27 | John Louch | Methods of manipulating a screen space of a display device |
CN103370689A (zh) * | 2010-10-01 | 2013-10-23 | Flex Electronics ID Co.,Ltd. | 跨环境应用兼容 |
EP2455858A1 (en) * | 2010-11-23 | 2012-05-23 | Apple Inc. | Grouping and browsing open windows |
CN106937531A (zh) * | 2014-06-14 | 2017-07-07 | 奇跃公司 | 用于产生虚拟和增强现实的方法和*** |
US20170256096A1 (en) * | 2016-03-07 | 2017-09-07 | Google Inc. | Intelligent object sizing and placement in a augmented / virtual reality environment |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114971764A (zh) * | 2022-04-08 | 2022-08-30 | 浙江赟燊商业信息***科技有限公司 | 一种基于HoloLens的存储和匹配***及方法 |
Also Published As
Publication number | Publication date |
---|---|
IL276621A (en) | 2020-09-30 |
US20190258365A1 (en) | 2019-08-22 |
AU2019225989A1 (en) | 2020-08-13 |
WO2019165055A1 (en) | 2019-08-29 |
EP3756169A4 (en) | 2021-04-21 |
IL276621B1 (en) | 2024-01-01 |
EP3756169B1 (en) | 2023-04-19 |
IL276621B2 (en) | 2024-05-01 |
CA3089646A1 (en) | 2019-08-20 |
IL301443A (en) | 2023-05-01 |
US11972092B2 (en) | 2024-04-30 |
US20240211113A1 (en) | 2024-06-27 |
JP2022153514A (ja) | 2022-10-12 |
US20210263624A1 (en) | 2021-08-26 |
US11036364B2 (en) | 2021-06-15 |
KR20200122362A (ko) | 2020-10-27 |
EP4213104A1 (en) | 2023-07-19 |
EP3756169A1 (en) | 2020-12-30 |
JP2021514088A (ja) | 2021-06-03 |
JP7112502B2 (ja) | 2022-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11636660B2 (en) | Object creation with physical manipulation | |
US11972092B2 (en) | Browser for mixed reality systems | |
AU2022271460B2 (en) | Matching content to a spatial 3D environment | |
CN115601671B (zh) | 用于向用户显示虚拟内容的***和方法 | |
US11803628B2 (en) | Secure authorization via modal window |
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 |