CN111033605A - 混合现实环境中的情境应用 - Google Patents
混合现实环境中的情境应用 Download PDFInfo
- Publication number
- CN111033605A CN111033605A CN201880044613.1A CN201880044613A CN111033605A CN 111033605 A CN111033605 A CN 111033605A CN 201880044613 A CN201880044613 A CN 201880044613A CN 111033605 A CN111033605 A CN 111033605A
- Authority
- CN
- China
- Prior art keywords
- contextual
- application
- user
- real
- environment
- 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 67
- 230000003993 interaction Effects 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 23
- 230000009471 action Effects 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 claims description 6
- 230000033001 locomotion Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 21
- 235000014347 soups Nutrition 0.000 description 19
- 235000013339 cereals Nutrition 0.000 description 16
- 238000010411 cooking Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000004044 response Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 235000013305 food Nutrition 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008878 coupling Effects 0.000 description 8
- 238000010168 coupling process Methods 0.000 description 8
- 238000005859 coupling reaction Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 239000004615 ingredient Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000010267 cellular communication Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000011449 brick Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000008267 milk Substances 0.000 description 1
- 210000004080 milk Anatomy 0.000 description 1
- 235000013336 milk Nutrition 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004570 mortar (masonry) Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 235000013550 pizza Nutrition 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000004266 retinal recognition Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 235000014214 soft drink Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G02B27/0172—Head mounted characterised by optical features
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- 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/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- 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
- G02B2027/0178—Eyeglass type
-
- 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/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
Abstract
公开了一种在用户的具有MR功能的装置上在混合现实(MR)环境内实现多个情境应用的方法。通过向由具有MR功能的装置的传感器捕获的至少一个现实世界对象的一个或更多个属性应用对象识别算法,来在MR环境中识别至少一个现实世界对象。使用多个情境应用中的第一情境应用来确定第一情境触发集与多个情境应用中的第二情境应用之间的关联。基于对至少一个情境触发的满足来启动第二情境应用。基于用户与至少一个虚拟对象的交互满足与第二情境应用相关联的第二情境触发集来调用第二情境应用内的功能。
Description
相关申请的交叉引用
本申请要求于2017年5月5日提交的美国临时申请第62/502,349号和于2017年9月20日提交的美国临时申请第62/561,017号的权益,所述专利申请中的每一个均通过引用其全部内容并入本文中。
技术领域
本文公开的主题总体上涉及计算机系统的技术领域,并且更具体地,涉及用于促进虚拟环境或混合现实环境中的情境应用的计算机系统和方法。
背景技术
在虚拟现实(VR)和增强现实(AR)中的技术以及围绕虚拟现实(VR)和增强现实(AR)的技术正在迅速发展并且成熟。VR和AR主要通过佩戴头戴式显示器(HMD)并且可选地通过手部跟踪和输入装置来体验。例如,利用AR,HMD可以被配置成将虚拟对象与佩戴者周围的现实世界环境成结合成一体。一些已知的AR系统还包括用于经由HMD向佩戴者提供关于环境的信息的软件工具。
附图说明
附图中的各种附图仅仅示出了本公开内容的示例实施方式,并且不能被认为限制本公开内容的范围,并且在附图中:
图1是示例MR情境应用(app)系统以及被配置成向用户提供MR情境应用功能的相关联装置的图;
图2是由用户(或“佩戴者”)佩戴并且被配置成执行作为MR系统的用户装置的示例HMD的图;
图3是用于在用户体验由MR系统提供的MR环境时向用户提供情境应用的示例方法的流程图;
图4示出了可以被MR系统评估的示例现实世界环境;
图5和图6示出了经由用户装置通过MR系统向用户呈现的MR环境;
图7示出了经由用户装置通过MR系统向用户呈现的在现实世界环境内由MR系统检测到的示例烹饪锅;
图8A和图8B示出了提供不同情境应用的两个示例层;
图9示出了根据实施方式的经由用户装置通过MR系统向用户呈现的示出谷物盒游戏的示例MR环境;
图10A、图10B、图10C和图10D示出了根据实施方式的经由用户装置通过MR系统向用户呈现的示出由名片控制的情境应用的示例MR环境;
图11是示出了可以与本文所描述的各种硬件结构结合使用以提供本文所描述的VR工具和开发环境的代表性软件结构的框图;以及
图12是示出了根据一些示例实施方式的能够从机器可读介质(例如机器可读存储介质)读取指令并且执行本文所讨论的VR方法中的任意一种或更多种的机器的部件的框图。
本文提供的标题仅仅是为了方便,并不一定影响所使用的术语的范围或含义。相似的附图标记在附图中指示相似的部件。
具体实施方式
以下描述对构成本公开内容的说明性实施方式的系统、方法、技术、指令序列和计算机器程序产品进行了描述。在以下描述中,出于说明的目的,阐述了许多具体细节以提供对本发明主题的各种实施方式的理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些具体细节的情况下实践本发明主题的实施方式。
本文描述了混合现实(MR)系统及其相关联的方法。MR系统被配置成在MR环境内发现并向用户呈现情境应用。在示例实施方式中,用户(例如,HMD的佩戴者;或者持有智能电话、平板电脑或其他具有MR功能的装置的人)体验经由MR装置通过MR系统呈现的MR环境。MR环境包括现实世界(例如用户当前的周围环境)的视野连同由MR系统提供的虚拟内容。在一些实施方式中,MR装置包括被配置成捕获用户周围的现实世界的数字视频或数字图像可选地包括深度数据的面向前方的摄像装置,MR系统可以对数字视频或数字图像进行分析以提供本文所描述的MR特征中的一些。
在操作期间,MR系统基于各种情境标准来触发情境应用。更具体地,在一个示例实施方式中,MR系统识别情境标准(在本文中也称为“触发条件”或“情境触发”),当由MR系统识别为满足时,该情境标准使MR系统在MR环境内启动执行情境应用并向用户呈现该情境应用。
例如,示例应用触发可以被配置成当MR系统确定用户在他们的厨房或在杂货店时,以及当烹饪食材在附近被识别出时(例如当用户在他们的食品柜中或货架上观察罐头物品时)启动食谱应用。换言之,情境标准是取决于来自用户周围环境的信息的标准集。这样的标准可以包括例如用户的位置、现实世界对象与用户的接近度、用户动作的具体状态、绝对时间或相对时间或者其一些组合。因此,应用触发的情境标准指的是用户在其中找到他们自己的实时情境(例如周围环境)。在这样的示例中,情境应用可以被配置成使MR系统在某些现实世界对象附近呈现虚拟对象,例如在罐头物品上方呈现的指示预期食谱的图标。因此,用户可以与虚拟对象进行交互,并且因此与情境应用进行交互,以了解由情境应用识别到的食谱。
为了检测可能涉及各种应用触发的各种现实世界对象的存在,在一些实施方式中MR系统使用来自MR装置的传感器数据(例如,来自MR装置的在现场数字视频馈送上的图像处理)执行对象检测。例如,MR系统可以被配置成识别三维对象例如家具(例如椅子、桌子、橱柜)、结构建筑构件(例如门、窗户、屋顶)或家居用品(例如杂货、家用电器)。MR系统可以基于对象的尺寸、形状、纹理、定位以及可能显现在对象上的各种视觉标记来标识对象。例如,圆筒形对象可以基于它在用户的厨房内的位置被确定为罐头物品,并且还可以基于罐头物品上的标签的局部图像被确定为蘑菇汤罐头。在一些实施方式中,使用经由训练的神经网络将摄像装置深度感测信息与3d模型进行匹配来检测触发。
当MR系统确定用户附近的各种对象时,MR系统将检测到的对象与各种应用触发(例如,针对每个触发的标准)进行比较。当MR系统确定应用触发涉及附近的对象中之一(例如,作为示例标准中之一)并且另外地满足针对该应用触发的所有情境标准中时,MR系统启动由应用触发识别到的情境应用。此外,在一些实施方式中,应用触发可以被配置成在触发的应用内启动各种动作。例如,上面描述的示例应用触发可以被配置成启动食谱应用,该食谱应用提供其中使用一种或更多种检测到的烹饪食材的食谱。因此,MR系统在MR环境内提供了基于情境的应用的触发。
在示例实施方式中,公开了一种在用户的具有混合现实(MR)功能的装置上在MR环境内实现多个情境应用的方法。通过向由具有MR功能的装置的传感器捕获的至少一个现实世界对象的一个或更多个属性应用对象识别算法,来在MR环境中识别至少一个现实世界对象。使用多个情境应用中的第一情境应用来确定第一情境触发集与多个情境应用中的第二情境应用之间的关联。基于对至少一个情境触发的满足来启动第二情境应用。基于用户与至少一个虚拟对象的交互满足与第二情境应用相关联的第二情境触发集来调用第二情境应用内的功能。
在以下描述中,术语“模块”广泛地指软件、硬件或固件(或其任意组合)部件。模块通常是可以使用具体输入生成有用数据或其他输出的功能部件。模块可以是自包含的或者可以不是自包含的。应用程序(也称为“应用”)可以包括一个或更多个模块,或者模块可以包括一个或更多个应用程序。在示例实施方式中,本文描述的各种模块中的每一个不仅仅是通用计算部件;相反,本文描述的各种模块中的每一个是实现(例如经由专用编程逻辑)本文描述的一个或更多个专用功能或操作(或者功能或操作的组合)的部件。
图1是示例MR情境应用(app)系统100以及被配置成向用户102提供MR情境应用功能的相关联装置的示意图。在该示例实施方式中,MR情境应用系统100包括由用户102操作的用户装置104以及经由网络150(例如,蜂窝网络、Wi-Fi网络、因特网等)与用户装置104以网络通信方式耦合的服务器130。用户装置104是能够向用户102提供混合现实体验的计算装置。在一些实施方式中,用户装置104是由用户102佩戴的头戴式显示器(HMD)装置例如增强现实(AR)面甲或虚拟现实(VR)面甲(例如等)。在其他实施方式中,用户装置104是诸如智能电话或平板计算机的移动计算装置。
在示例实施方式中,用户装置104包括一个或更多个中央处理单元(CPU)106、图形处理单元(GPU)108和全息处理单元(HPU)110。用户装置104还包括用于跨网络150进行通信的一个或更多个网络装置112(例如,有线网络适配器或无线网络适配器)。用户装置104还包括一个或更多个摄像装置114,所述一个或更多个摄像装置114可以被配置成在操作期间捕获用户102附近的现实世界的数字视频。用户装置104还可以包括一个或更多个传感器116,例如全球定位系统(GPS)接收器(例如用于确定用户装置104的GPS位置)、生物特征传感器(例如用于捕获用户102的生物特征数据)、运动或位置传感器(例如用于捕获用户102或其他对象的位置数据)或者音频麦克风(例如用于捕获声音数据)。一些传感器116可以在用户装置104的外部并且可以被配置成与用户装置104进行无线通信(例如,诸如在MicrosoftVive TrackerTM、MIT的Lidar传感器或MIT的无线情感检测器中使用)。
用户装置104还包括一个或更多个输入装置118,诸如例如键盘或小键盘、鼠标、点击装置、触摸屏或手持装置(例如手部运动跟踪装置)。用户装置104还包括一个或更多个显示装置120,例如平板电脑或智能电话的触摸屏、或者VR HMD或AR HMD的透镜或面甲,一个或更多个显示装置120可以被配置成与现实世界视野结合在一起向用户102显示虚拟对象。
用户装置104还包括存储器122,该存储器122被配置成存储客户端MR情境应用模块(“客户端模块”)124。此外,服务器130包括存储服务器MR情境应用模块(“服务器模块”)134的存储器132。在操作期间,客户端MR情境应用模块124和服务器MR情境应用模块134执行本文描述的各种情境应用功能。更具体地,在一些实施方式中,一些功能可以在客户端模块124内实现而其他功能可以在服务器模块134内实现。
例如,在用户装置104(例如HMD)上执行的客户端模块124可以被配置成从摄像装置114或传感器116捕获数据,以检测对与应用触发相关联的触发条件的满足。在其他实施方式中,服务器模块134可以处理所捕获的数据以检测对触发条件的满足。在示例实施方式中,摄像装置114和传感器116从周围环境捕获数据例如视频、音频、深度信息、GPS位置等。客户端模块124可以被配置成直接分析传感器数据或者分析经处理的传感器数据(例如,检测到和识别出的对象的实时列表、对象形状数据、深度图等)。客户端模块124可以在数据中搜索具体的触发条件,包括:例如用户装置104附近的对象、位置、符号、标志、图像、声音的存在;或者特定物理对象或表面的标识符包括基准标记的存在。
在示例实施方式中,每个应用触发配置包括:一个或更多个触发条件;用于实现应用如何与用户进行交互的应用逻辑或交互机制;以及资产包,其可以包括例如向用户显示以提供MR体验的2D/3D视觉和音频。应用触发配置可以存储在客户端模块124内或者服务器130或数据库140内。在一些实施方式中,触发条件可以包括时间限制(例如一天中的特定时间或者自过去事件以来的相对时间量)、位置限制或定位限制(例如在特定位置内或在某种类型的对象的某一距离内的用户装置104或者检测在另一对象或声音的某一距离内的特定对象)或者其各种组合。
在检测到触发条件之后,MR系统100启动由相关联的应用触发识别到的情境应用。例如,检测到在咖啡机上的序列号可以触发咖啡应用,或者检测到在桌子上的标记可以激活计算机游戏。在一些实施方式中,MR系统100还可以包括应用数据库140,该应用数据库140可以被配置成存储情境应用和相关联数据。这种情境应用的执行可以包括创建虚拟对象并向用户102显示虚拟对象(例如关于用户102的视场内的相关联的现实世界对象)。如下面进一步详细描述的,这些虚拟对象可以与情境应用相关联,并且与虚拟对象的用户交互可以引起由相关联的情境应用的另外的动作。
图2是由用户(或“佩戴者”)210佩戴并且被配置成执行作为MR系统100的用户装置104的示例HMD 220的示意图。在一些实施方式中,HMD 220类似于用户装置104,并且尽管并非所有部件都在图2中单独标识出,但是HMD 220可以包括用户装置104的任意部件或所有部件。在示例实施方式中,HMD装置220包括透明面甲或半透明面甲(或者“一个透镜”或“多个透镜”)222,佩戴者210通过该透明面甲或半透明面甲(或者“一个透镜”或“多个透镜”)222观看他们的周围环境(本文中也称为“现实世界”)。在其他实施方式中,HMD装置220可以包括不透明面甲222,该不透明面甲222可以使佩戴者210的现实世界的视野变模糊,但是可以经由来自数字摄像装置230的输入向佩戴者210呈现他们的周围环境的视野。
在示例实施方式中,HMD 220还包括将图形(例如虚拟对象)呈递至面甲222上的显示装置228。因此,面甲222用作下述“屏幕”或表面,在该屏幕或表面上显现显示装置228的输出并且佩戴者210通过该屏幕或表面体验虚拟内容。显示装置228由一个或更多个GPU226或HPU驱动或控制。GPU 226处理有助于加快通过显示装置228呈递输出的图形输出的各方面。在一些实施方式中,面甲222和显示处理器228可以类似于显示装置120以及GPU 108或HPU 110。
在示例实施方式中,HMD装置220还包括可以执行本文描述的一些操作和方法(例如执行客户端模块124)的中央处理器224。HMD装置220还包括被配置成向佩戴者210(例如经由耳朵216)呈现音频输出的音频装置250。尽管未单独示出,但是HMD装置220还包括类似于网络装置112的网络装置,并且可以在操作期间与服务器130或应用数据库140进行通信。
在一些实施方式中,HMD装置220包括数字摄像装置230。数字摄像装置(或仅“摄像头”)230是被定向成以覆盖佩戴者210的视场(FOV)的至少一部分的面向前方的视频输入装置。换言之,摄像装置230基于HMD装置220的定向来捕获或“看到”现实世界的视野(例如,类似于佩戴者210在通过面甲222观看时在佩戴者210的FOV中所看到的内容)。可以分析来自摄像装置230的数字视频以检测各种触发条件,例如,检测佩戴者210附近的对象的类型,或者确定到这些对象的距离。在一些实施方式中,来自数字摄像装置230的输出可以被投影至面甲222上(例如在不透明的面甲实施方式中)并且还可以包括附加的虚拟内容(例如添加至摄像装置输出的附加的虚拟内容)。
在一些实施方式中,HMD装置220可以包括一个或更多个传感器116(在图2中未单独示出),或者可以以有线通信方式或无线通信方式与传感器112耦合(例如,与也由佩戴者210佩戴的可腕戴装置进行近场通信(NFC))。例如,HMD 220可以包括运动传感器或位置传感器,所述运动传感器或位置传感器被配置成确定HMD 220的位置或定向。
如图2所示,在操作期间将HMD 220安装在佩戴者210的两只眼睛214上方。当HMD220捕获并分析视频和传感器数据时,客户端模块124检测与各种应用触发相关联的触发条件。当满足针对特定应用触发的触发条件时,HMD 220执行相关联的情境应用。一些情境应用可以使HMD 220向佩戴者210显示附加的虚拟内容(例如,虚拟对象)并且可以使得佩戴者210能够与这些虚拟对象进行交互。这种交互还可以使情境应用参与与虚拟对象相关联的附加功能处理。因此,当佩戴者210体验混合现实环境时,HMD 220向佩戴者210提供情境应用功能。
在一些实施方式中,HMD 220可以提供完全沉浸式VR环境。因此,MR系统100在满足情境标准时检测虚拟对象,该虚拟对象可以激活在虚拟环境内向用户210呈现情境应用的应用触发。例如,用户210可以体验包括街道以及一系列商店和餐厅的虚拟环境。用户210可以经过虚拟的 餐厅,由此客户端模块124可以检测到存在虚拟餐厅,下载与现实必胜客公司相关联的情境应用,并且向用户210提供该应用。因此,用户210然后可以通过在虚拟环境内呈现的情境应用从现实餐厅订购真实的披萨。
在一个示例实施方式中,客户端模块124连续运行并且与服务器130进行通信,发送情境数据诸如例如GPS坐标、一天中的时间、识别出的环境中的对象、识别出的基准标记(例如,图像)或原始视频。服务器130可以包括用于优化客户端模块124中的性能的规则,诸如例如客户端模块124可以从用于不包含由物理对象触发的MR应用的特定地理区域的3D对象检测中禁用。客户端模块124可以操作作为情境应用启动器和调度器,并且因此在本文中可以被称为“MR操作系统”。客户端模块124可以流式传输(stream)情境应用的压缩包(例如来自服务器130),并且在本地解压缩并运行该应用。客户端模块124执行应用的规则(例如定义交互和呈递规则的脚本)并且相应地呈递音频资产和视觉资产。视觉资产可以是例如合成的3D模型或2D图像,所述合成的3D模型或2D图像成为用户可以潜在地与之进行交互的虚拟对象。音频资产可以是空间化的3D声音效果或音乐,或者可以为单声道声音。作为应用交互规则的一部分,触觉响应也可以被启动。
在一些实施方式中,客户端模块124可以同时运行多于一个的情境应用。例如,假设咖啡杯在用户视野中并且时间为下午6点。因此,一个应用可以由马克杯触发(例如,在马克杯周围显示3D动画颗粒并且海豚跳进和跳出马克杯),并且另一应用可以由当前时间触发(例如,显示虚拟电视屏幕正在播放当地新闻)。客户端模块124调度、启动和停止应用,并且如果适用的话同时运行它们。
交互规则定义应用如何响应用户动作。用户动作可以是例如语音指令、身体姿势(例如,移动手臂或身体、眼睛注视运动、眨眼等)、与输入装置118(例如,控制器、3D鼠标等)进行的交互或者交互式显示装置120上的动作。对用户动作的响应可以是例如修改呈递的视觉(例如2D/3D对象)、音频或触觉反馈。
图3是用于当用户102体验由MR系统100提供的MR环境时向用户102提供情境应用的示例方法300的流程图。在该示例实施方式中,用户102当在现实环境到处移动(例如在房间中到处走动或沿着街道走动)时佩戴图2所示的HMD 220。当用户102体验现实世界环境时,在HMD 220上的各种传感器116(例如,摄像装置230)捕获该环境的输入数据(参见操作310)。在操作320处,客户端模块124分析输入数据以检测应用触发的触发条件302(参见操作320)。在对特定应用触发监控之前,触发条件302可以存储在触发器和应用数据库140中并从触发器和应用数据库140中检索。
在一些实施方式中,一个或更多个触发条件302可以涉及环境内的特定类型的现实世界对象的检测。例如,客户端模块124可以分析摄像装置视频以检测诸如椅子或盒的3维(3D)对象。因此,操作310可以包括识别在现实环境内的3D对象以检测这种触发条件302。操作310可以包括使用人工智能对象识别算法以识别用户的环境内的对象。当3D对象和关于这些对象的其他信息(例如,在对象上显现的标志或信息、距用户102的距离)被识别出时,将这些3D对象的对象信息与触发条件302进行比较以检测是否满足用于特定应用触发的所有触发条件。
在一些实施方式中,应用触发的触发条件302可以被预加载至HMD220(例如,先验)上,并且客户端模块124可以被配置成检测这些特定触发条件(例如,在操作320处)。在其他实施方式中,可以在未预加载针对应用触发的具体触发条件的情况下检测各种当前条件,并且然后MR系统100可以确定当前条件匹配并满足与应用触发相关联的一组触发条件(例如,后验)。
当客户端模块124检测到满足针对特定应用触发的触发条件302时,然后客户端模块124下载该应用触发的应用数据(参见操作330)并且启动与该应用触发相关联的情境应用的执行(参见操作340)。例如,情境应用可以识别相对于具体现实世界对象可以呈现的视觉或声音。在一些实施方式中,在操作340处执行情境应用可以包括创建与该应用相关联的一个或更多个虚拟对象,并且在MR环境内(例如,如图5至图10D描绘的)向用户102呈现这些虚拟对象。可以相对于特定的现实世界对象(例如,在触发条件中识别到的对象之一的上方或附近)显示这样的虚拟对象。这些虚拟对象可以被配置有各种交互动作(例如,基于应用数据304),用户102可以通过这些交互动作进一步激活由该应用提供的功能。
在操作350处,客户端模块124在应用运行时继续检测触发条件。在一些实施方式中,可以独立于活动应用触发或者作为与活动触发相关联的附加的(例如嵌套的)应用触发来加载和/或检测附加的应用触发。例如,一旦第一触发被激活(例如,使第一虚拟对象被创建并显示),则该母应用触发可以启动对第二子应用触发的监控。换言之,子应用触发可以被配置成仅在母应用触发被激活之后才被监控并检测。
在操作360处,客户端模块124可以基于现有的触发条件或变化的触发条件来调整应用的执行。例如,“全权委托应用(Carte Blanche app)”可以在私有现实层中处于活动状态,并且具有以下触发条件:在用户100的住宅内的GPS坐标以及包含住宅的扩展或可能为仅客厅的体积。交互动作可以包括:(1)在启动时,在桌子的表面上呈递一副卡片;(2)在启动时,允许其他用户100加入,这可以随后触发通知附近的用户100加入会话;(3)当任意用户100在任意卡片上轻敲时(例如,物理地触摸桌子或者如果卡悬停,则在显示虚拟卡片的位置上进行手指检测),使卡片翻转;(4)当任意用户拿起卡片时(例如,利用手在显示卡片的位置上执行拿起姿势),开始移动卡片以跟随用户100的手;以及(5)当任意用户执行放下卡片的放下姿势时,呈递与卡片相关联的虚拟3D对象并播放声音。
图4示出了可以由MR系统100评估的示例现实世界环境400。在该示例实施方式中,现实世界环境400包括厨柜410。在该厨柜内部是谷物盒412和两罐汤414A、414B。在此处示出的示例中,图4示出了厨柜410的前视图。在操作期间,用户102可以在操作用户装置104的同时观看所示的厨柜410及其内容。在一些实施方式中,用户102可以佩戴HMD 220。在其他实施方式中,用户102可以持有智能电话或平板电脑。因此,并且进一步如图5和图6所示,用户装置104经由摄像装置114从现实世界环境400收集诸如柜410及其内容的数字视频的传感器数据。
图5和图6示出了通过MR系统100经由用户装置104向用户102呈现的MR环境500。在示例实施方式中,用户102在观看现实环境400的同时佩戴HMD 220。此外,并且如图5和图6所示,MR系统100(例如客户端模块124)在MR环境500内呈现各种虚拟对象。因此,应当理解,MR环境500包括现实世界环境400的视野和各种虚拟对象两者。
在第一时间点处,并且如图5所示,MR环境500包括若干食谱指示符对象510A、510B、510C(统称为对象510)。在示例实施方式中,对象510是由HMD 220呈现的虚拟对象并且显现为定位在对象510所附属的某些现实世界对象(例如,谷物盒412和汤罐414)上方的“星星”。
在操作期间,在显示对象510之前,客户端模块124实时捕获来自HMD 220的输入数据(例如,来自摄像装置230的数字视频)并且检测三个现实世界对象412、414A、414B的存在(例如,使用3D对象检测技术)。此外,客户端模块124还确定汤罐414A中之一是蘑菇汤罐(例如,基于对象的形状为圆筒形并且分析显现在汤罐414A上的标签)。客户端模块124搜索触发和应用数据库并且确定与特定的情境应用(例如,食谱应用)相关联的该类型的对象(例如,罐头物品、蘑菇汤罐、烹饪食材)。此外,客户端模块124可以执行情境应用以确定该特定烹饪食材是否与食谱相关联并且与多少食谱相关联(例如,基于烹饪食材的类型、涉及蘑菇汤的食谱)。
在图5所示的示例中,情境应用识别涉及汤罐414A的三个食谱。因此,客户端模块124生成虚拟对象510B(例如,包括表示由应用找到的三个食谱的文本“3张卡片”的星形对象),并且在相关联的现实世界对象的位置(例如,汤罐414A)处显示该虚拟对象510B。
类似地,MR系统100确定与谷物盒412和另一汤罐414B相关联的食谱的数目,生成针对这些现实世界对象412、414B的虚拟对象510A、510C,并且在相关联的现实世界对象的位置处分别显示这些虚拟对象510A、510C。在该示例中,情境应用识别与谷物盒412相关联的一个食谱以及与另一汤罐414B相关联的两个食谱。
在示例实施方式中,虚拟对象510中的每一个包括一个或更多个预定义的交互动作。每个交互动作识别用户动作(例如,姿势、注视焦点),当用户采取该用户动作时,该用户动作引起相应的应用响应(例如,视觉提供、音频重放、触觉反馈)。在该示例中,每个食谱对象510包括“触摸”交互动作,当虚拟对象510被用户102的手502触摸时,该交互动作使用情境应用显示相关联的食谱。在一些实施方式中,虚拟对象510可以被放置在3D坐标空间中的静态位置中(例如,覆盖到现实世界对象上),从而使用户100必须触摸或几乎物理地触摸对象本身,以激活与虚拟对象510相关联的任何触摸姿势。在一些实施方式中,虚拟对象510可以定位在用户100与相关联的现实世界对象之间,并且在对于现实世界对象的视线内,使得从用户100的角度来看虚拟对象510看起来在物理对象“上”;而替代地,虚拟对象510在用户100的伸手可及的范围(arm's reach)内,使得用户100可以与虚拟对象510进行交互而无需在现实世界对象的伸手可及的范围内。因此,当用户100移动时,虚拟对象510可以被重新定位以使虚拟对象510与由用户100所观看到的现实世界对象成一直线。
在示例实施方式中,用户102触摸与汤罐414A相关联的虚拟对象510B,从而激活与蘑菇汤相关联的食谱的显示。图6示出了在MR环境500内对该触摸动作的相应响应。在示例实施方式中,并且响应于该触摸动作,MR系统100显示三个食谱卡片对象610A、610B、610C(统称为食谱卡片610),对于每个食谱而言的食谱卡片对象由情境应用识别。每个食谱卡片610是虚拟对象并且可以显示在相关联的现实世界对象(例如,汤罐414A)或母虚拟对象(例如,食谱指示符对象510B)上或附近。在一些实施方式中,食谱卡片对象610可以标识关于基础食谱的摘要信息例如,食谱的标题、烹饪时间或所需的其他关键食材,使得用户102可以快速看见关于食谱的重要信息。
类似于食谱指示符对象510,食谱卡片对象610中的每一个还可以包括一个或更多个交互动作和相关联的相应响应(例如,对应于情境应用的功能的一个或更多个交互动作和相关联的相应响应)。对在食谱卡片对象610上执行的交互动作的示例相应响应包括:显示关于相关联食谱的详细食谱信息(例如,食材列表、烹饪说明、服务的人数、准备时间、所需的烹饪用具、菜肴等);将食材列表与当前食材列表进行比较(例如,基于当前库存或基于在附近识别出的其他食材)以确定任何缺少的食材;或者启动逐步烹饪说明。在示例实施方式中,用户102选择食谱卡片610C,并且情境应用经由MR系统100和MR环境500向用户102提供逐步烹饪说明。根据另一实施方式,食谱卡片对象610可以显现为对象本身的虚拟副本(例如,如均代表不同的食谱的汤罐),并且预定义的交互动作涉及用户利用物理罐(例如,移动罐)从对象610中进行选择。在该示例中,每个食谱对象610包括“触摸”交互动作,当罐的物理对象被放置在与虚拟对象610中之一相同的位置和方向时,该交互动作使用情境应用显示相关联的食谱。使用罐的物理对象作为控制器,并且具体地在这种情况下作为选择器。
在该逐步烹饪说明示例中,MR系统100确定用户102在其家庭厨房中(例如,基于GPS定位、房间的可视图像识别,或者基于炉灶、冰箱等的现实世界对象检测)。此外,MR系统100可以类似地检测与食谱相关联的附近的现实世界对象,例如,由食谱识别到的其他烹饪食材、器具、菜肴、盆、锅或器皿。情境应用可以识别并且激活与这样的对象相关联的其他应用触发。
在一些实施方式中,情境应用可以包括用于随着时间的推移而完成的一组步骤或目标。例如,情境应用可以具有三个层:第一层可以包括启动处理的触发条件;第二层可以包括用于随着时间的推移而完成的目标(例如,经由多个嵌套的情境应用);以及标识完成的第三层(例如,用于终止母情境应用的一组完成标准)。
在一些实施方式中,使用基于在用户周围的位置的匹配的图像用于检测触发。在实施方式中,诸如在位置处具有物理存在的公司的实体(例如砖块和砂浆的建筑或商店)创建在图像匹配中使用的位置的图像。由实体创建的图像(或者从图像中提取的任何图像匹配信息)可以作为触发条件302的一部分存储在服务器上,以在检测触发条件的处理320期间用于图像匹配中。图像可以包括建筑物或店面的外部图像、来自建筑物或店面内部的图像以及商店内的产品的图像。在操作期间,当用户在该位置处移动MR装置104时,将来自装置的视频数据(例如来自视频的帧)与由实体创建的图像进行比较;使用图像匹配技术进行比较以找到匹配(例如作为触发的一部分)并启动一个或更多个情境应用的执行。根据实施方式,检测触发条件320包括人工智能代理,该人工智能代理使用用于图像识别/匹配的人工智能来完成图像匹配处理。在示例实施方式中,人工智能包括用于识别在三维现实世界环境中的三维对象(例如,基于与三维对象相关联的一个或更多个属性)的机器学习技术的应用。在示例实施方式中,并入至机器学习技术中的一个或更多个属性可以包括尺寸、形状、颜色、纹理、位置、方向、情境(例如,关于现实世界环境中的其他虚拟对象)、定位(例如,GPS或其他定位信息)、维度(例如,高度、宽度和深度)等。
在一些实施方式中,链接至触发的情境应用可以被配置成启动与触发相关联的广告或游戏。在该实施方式中,应用数据304可以包括广告数据或游戏数据。作为一个示例,考虑诸如星巴克公司的公司,并且进一步考虑在第一位置处的特定的第一咖啡店以及在第二位置处的第二咖啡店。个人(例如员工或承包商)将拍摄第一咖啡店的照片(例如内部、外部和产品照片)和第二咖啡店的照片并且包括作为触发条件302的一部分的照片。在操作期间,用户可以靠近第一咖啡店的外部,并且用户装置104可以收集第一咖啡店的外部的视频数据。在用于检测触发条件的操作320期间,可以将视频数据与第一咖啡店的照片(例如在触发条件302中的照片)进行比较并且如果找到了触发,则可以在装置104上执行用于第一咖啡店的情境应用(例如广告);或许会向用户提供积分,或者向进入第一咖啡店的用户提供可能的折扣。此外,如果用户进入第一咖啡店,则用户装置104可以收集第一咖啡店的内部的视频数据,从而确认用户已经进入并且满足了情境应用的要求(例如进入咖啡店的要求)。一旦在第一家咖啡店内部,情境应用可以继续监控来自用户装置104的数据,以基于内部的视频数据进一步检测触发并且进一步为用户提供附加积分或者商店内的商品的折扣。可以针对所有实体位置存在一个单个的情境应用;例如,针对第一咖啡店的情境应用和针对第二咖啡店的情境应用可以相同。针对每个单独实体位置可以存在一个单个的情境应用;例如,针对第一咖啡店的情境应用可以不同于针对第二咖啡店的情境应用。
在一些实施方式中,用户使用经由训练的神经网络将摄像装置深度感测信息与3d模型进行匹配来检测触发。
图7示出了由MR系统100在现实世界环境400中检测到的示例烹饪锅710。在示例实施方式中,如上面关于图6所描述的激活的示例食谱指示在食谱的准备说明的“步骤1”中的锅的使用。因此,当激活逐步说明情境应用时,情境应用可以识别涉及准备说明的“步骤1”的锅对象的检测的应用触发。
锅710可以例如放置在用户102的厨房中的炉灶上,并且因此可以由MR系统100识别为在现实环境400中的3D对象。当MR系统100检测锅710时,启动“步骤1”的烹饪说明。在示例实施方式中,MR系统100在MR环境500内呈现与该烹饪步骤和锅710相关联的附加虚拟对象。更具体地,MR系统100相对于锅710显示虚拟计时器712。虚拟计时器712包括围绕锅712的周边的刻度盘标记(例如表示以分钟计的60秒或以小时计的60分钟)以及在锅712的中心处的一个或更多个指针(arm)716。
在操作期间,“步骤1”可以标识将锅710预先加热60秒,或者可以标识以低热量将锅710中的蘑菇汤加热15分钟。因此,虚拟计时器712可以被配置成基于指示的时间量来倒计时或正计时,从而提供对“步骤1”所要求的时间的视觉指示,从而使得用户102能够跟踪该步骤来完成。类似地,并且结合情境应用,MR系统100继续检测触发条件并与用户102进行交互,直至用户102关闭该应用或者情境应用完成为止。
图8A和图8B示出了提供不同情境应用的两个示例层。在图8A中,MR系统100呈现了包括现实世界对象以及与主办方层相关联的虚拟对象两者的MR环境800。在示例实施方式中,用户102在观看埃菲尔铁塔802(例如,环境800中的现实世界对象)的同时佩戴HMD 220。另外,埃菲尔铁塔的主办方(例如巴黎理事会)已经创建了与由虚拟游览对象804表示的针对埃菲尔铁塔的游览应用(例如旅游MR应用)相关联的情境应用。
在操作期间,当用户102观看埃菲尔铁塔802时,MR系统100检测到用户102正在观看埃菲尔铁塔802(例如经由图像识别或者基于用户装置104的地理位置和视场)。此外,MR系统100确定客户端模块124当前被配置成呈现主办方层并且主办方层包括与埃菲尔铁塔802相关联的情境应用。因此,MR系统100在塔802附近的HMD 220内创建并显示虚拟游览对象804(例如烟花),从而使得用户102能够激活情境应用。
在图8B中,客户端模块124被配置成呈现用户生成的层。在示例实施方式中,用户生成的层可以包括由其他用户102发布的情境应用。例如,当地艺术家可以创建如由虚拟对象806所表示的其中他们向塔802附近的用户102提供MR艺术作品观看的情境应用。在操作期间,当用户102观看埃菲尔铁塔802时,或者当用户102在特定位置(例如,如由艺术家所设定的位置)附近时,MR系统100确定客户端模块124当前被配置成呈现用户生成的层并且用户生成的层包括与埃菲尔铁塔802或特定位置相关联的情境应用。因此,MR系统100创建并显示虚拟对象806,从而使得用户102能够激活相关联的用户生成的情境应用。
根据实施方式并且再次参照图3,执行操作340处的情境应用包括按照用户102环境中的对象(例如触发对象)的物理尺寸对显示的应用进行变形并且使用该对象的实时运动(例如物理现象)来控制情境应用内的各方面(例如来控制游戏角色的运动)。变形包括:检测对象的任意类型、形状、尺寸和运动;并且调整情境应用的显示以当对象在环境内移动时适配对象的尺寸和方向。该运动包括旋转的全部三个维度和平移的三个维度。例如,在操作310处,客户端模块124可以检测到用户正在持有矩形谷物盒,该矩形谷物盒可以用作针对该特定盒设计的具体游戏或者可以在任意谷物盒上玩的通用谷物盒游戏的情境触发。图9是示出其中用户102正在他的手(902A与902B)之间持有谷物盒900的示例的环境的第一人透视图。在该示例中,静态的传统迷宫游戏904(例如,传统上用铅笔完成的迷宫游戏)被印刷在盒900的背侧上。谷物盒900用作用于混合现实游戏情境应用的触发,其中客户端模块124在静态印刷游戏版本之上显示迷宫游戏的混合现实版本(该游戏的混合现实版本未在图9中单独示出)。客户端模块124下载(例如根据关于图3描述的操作330)应用数据并通过使用检测到的对象的形状、尺寸和方向根据用户手中的盒的尺寸和方向对游戏进行变形来显示游戏。客户端模块124使用包括经由摄像装置的对象检测的任何便利的方法或者使用深度摄像装置来跟踪对象或使用手跟踪信息来跟踪盒900的移动。客户端模块124获取对象900的运动并且应用来自情境应用的物理现象和行为,以生成设置在盒900背面上的增强现实显示(例如虚拟对象)。在该示例中,使用检测到的盒900的运动用于控制穿过迷宫的第一角色906A。当用户利用他们的手(902A和902B)移动谷物盒900时,客户端模块124根据链接至盒900的运动的情境应用内的所编程的角色行为来移动游戏角色906A。使用相对于所有6个自由度的盒900的精确运动用于沿游戏中的路径来移动第一角色906A(并且随后移动第二角色906B)。盒900的特殊移动例如将盒900向右急拉可以用于引起角色906A的具体动作例如角色的开始运动;此外,竖直地急拉盒900可以引起角色906A在穿过迷宫904时跳跃。根据实施方式,用于应用的动态指令可以连同该应用的显示一起显示。例如,在图9所示的盒上,两个动态动画908A和908B教示用户102如何移动盒900,以使第一角色906A移动(908A所示)以及跳跃(908B所示)。根据实施方式,可以对情境应用进行编程,使得情境应用根据应用触发随时间的推移而变化。应用触发可以包括日期,使得游戏机制(例如,迷宫的路径、迷宫的类型或角色皮肤/动画)每天都在变化;此外,游戏的类型同样可以变化(例如从迷宫游戏到益智游戏)。
根据实施方式,提供了一种用于创建并使用可变形网格控制器的方法,该可变形网格控制器可以应用于在用户周围的环境中的具体类型或形状的对象(例如,谷物盒、汤罐、牛奶盒、明信片、名片等)。可变形网格控制器通过MR情境应用模块124被应用于在用户周围的环境内已被检测到(例如作为触发)的对象上。可变形网格控制器可以具有通过应用可变形网格控制器的对象的移动和状态来启动并修改(例如控制)的行为。可以动态地修改可变形网格控制器(例如,当MR情境应用模块124运行时),使得可变形网格控制器的尺寸和形状由客户端模块124修改,并且根据应用可变性网格控制器的对象的精确大小和形状而变形。根据对象的精确尺寸和形状的可变形网格控制器的变形(例如形变)使用描述对象的数据来完成,该数据来源于包括来自HMD 220的传感器数据的数据。由对象触发的MR情境应用可以使用应用于对象的可变形网格控制器作为在其上显示数字对象的平台。例如,具有用于谷物盒游戏的通用控制的可变形网格控制器(例如由视频游戏开发者创建的)可以应用于与尺寸和品牌无关的任意谷物盒。类似地,针对诸如汤罐的圆筒形对象制成的可变形网格控制器也可以应用于软饮料罐。
根据实施方式,在应用数据304中包括定义可变形网格控制器的数据。方法300的处理320可以包括由模块124检测可以用作应用可变形网格控制器的控制对象的至少一个对象。方法300的处理330可以包括从数据库140下载(例如通过网络150)可变形网格控制器数据。方法300的处理340可以包括使模块124根据控制对象的精确大小和形状来对网格控制器进行变形(例如形变)。方法300的处理350包括模块124随时间监控控制对象的运动和方向并且使可变形网格控制器随控制对象一起移动(例如,将可变形网格控制器附接至对象)。处理350还包括监控用户与控制对象的交互。在方法300的处理360中,模块124基于所述交互来调整触发应用的执行。
根据实施方式并且在图10A、图10B、图10C和图10D中示出的示例示出了用作用于混合现实的情境应用的控制器的具体物理对象的示例。在示例中,情境应用由第一人操纵的名片1006触发并由名片1006控制。在该示例中,名片属于第二人,并且是触发服务器MR情境应用模块134的用于向用于执行的客户端MR情境应用模块124发送具体应用(例如与名片和第二人有关)的具体应用触发。在该示例中,具体应用是可以访问关于第二人的领英TM数据的领英TM应用的混合现实版本。使用该卡片(经由与第一人的交互)用作针对该应用的控制器。使用与该卡片的具体交互用于控制该应用,所述与该卡片的具体交互包括:沿具体方向并以具体方式移动卡片;以及轻击卡片并且在卡片上滑动(swiping)并注视卡片。可以使用眼睛跟踪技术和手跟踪技术来确定某些交互。例如,使用交互用于启动应用内(例如针对菜单和特征)的滚动、选择、打开和关闭控制。例如,如图10A至图10D所示,第一人通过拿起卡片来启动领英TM应用。图10A至图10D是从第一人的视角示出的;例如,佩戴混合现实HMD220并且通过混合现实HMD 220观察。如图10A所示,第一人站在其上具有灯1002和名片1006的桌子1000的前面并观察。第一人的手1010正在伸手拿卡片1006。在HMD 220上运行(在后台)MR情境应用的情况下,客户端MR情境应用模块124使用对象识别来检测至少第一人的手1010和第二人的名片1006。MR情境应用模块124在对象周围显示虚线框,以向用户确认该对象已被识别出。在一些实施方式中,虚线框可以包括描述性标签和针对所识别对象的置信度百分比。例如,在用户的手1010周围显示的虚线框1012示出了所识别的对象是手的置信度为98%,在灯1002周围显示的虚线框1004示出了所识别的对象是灯的置信度为97%,以及在卡片1006周围显示的虚线框1008示出了所识别的对象是卡片的置信度为94%。图10B示出了持有卡片1006的第一人的手1010足够靠近用户HMD220,使得MR情境模块124可以识别出卡片1006上的文字和图像。如图10B所示,客户端MR情境应用模块124使用实例分割来确定与卡片1006相关联的公司名称1020、用户名称1022和联系详情1024,并且突出这些部分(例如,或许带有彩色的半透明框1014、1016和1918)。MR情境应用模块124确定(例如,根据参照图3描述的处理320)彼此接近的卡片1006和手1010(例如,由手1010持有卡片1006)作为名片应用的触发。然后,MR情境应用模块124将下载并执行用于名片应用的数据(例如,根据图3中描述的方法300中的处理330和处理340)。根据下载的名片应用,可以将名片1006倾斜(例如,相对于卡片的面向上或向下移动),以选择使用HMD 220要在混合现实中显示的选项或打开菜单。根据示例实施方式,图10C示出了当名片应用正在执行时通过HMD 220看到的卡片1006。在示例实施方式中并且如图10C所示,由MR情境应用模块124执行的名片应用使用削弱现实(diminished reality)用于擦除(例如,覆盖)卡片上的内容(例如,公司名称1020、用户名1022和联系详情1024)并且使用用户名1022、领英TM选项链接1026和“联系”选项链接1028(例如,可以链接至电话应用以使用联系详情1024呼叫第二人)来替换卡片上的内容。图10C中的卡片示出了具有“联系”1028的向下箭头和具有“领英配置文件”1026的向上箭头。MR情境应用模块124继续监控卡片1006和手1010(例如,作为图3中描述的方法300中的处理350的一部分),以检测可以由名片应用启动的响应的新触发。例如并且如图10D所示,将卡片向上倾斜(例如,以快速移动方式)可以被识别为名片应用内的触发以与第二人的领英TM帐户详情1030联系并且显示第二人的领英TM帐户详情1030;其中,显示领英TM帐户详情1030以从卡片1006顶部弹出(例如,作为根据参照图3所述的方法300的处理360的一部分)。在名片内所描述的其他运动可以使MR情境应用模块124执行其他动作。例如,快速上下摇动卡片可能启动名片应用的终止,使所有数字显示的对象的移除并返回至卡片1006的现实世界的视野。作为另一示例,向下运动可以使HMD 220使用联系详情1024向第二人启动移动电话呼叫(例如如果装备得当的话)。
在图9和图10所示的示例中,使用削弱现实技术用于在视觉上清空(clean)表面并且从用户的视野中移除存在的物理项目。然后,使用增强现实技术用于将用户视野中的虚拟对象添加至物理对象之上。例如,在图9中,可以使用削弱现实用于清空谷物盒的背面,以使得在盒上能够显示动态虚拟迷宫游戏。
在一些实施方式中,MR系统100可以向用户102提供分层的情境应用。更具体地,MR系统100可以提供情境应用的各种“现实层”,其中不同的用户102可以在相同的物理环境中体验相同或不同的情境应用。例如,在一些实施方式中,“共享层”(或“共享公共供给”)。在一些实施方式中,共享层可以包括由现实世界位置的“主办方”(例如,所有者、管理人)提供的内容,现实世界位置的“主办方”可以在其场所(例如,商店或餐馆的物理边界、地理保护区域、本地Wi-Fi网络范围内或合法财产范围内)内创建激活的MR情境应用。在一些实施方式中,共享层可以包括用户-主办方的内容。因此,可以允许所有用户102经由共享层(例如,当用户102访问特殊位置时,可以选择退出现实或选择进入现实)来体验各种主办方的情境应用,并且其中主办方控制所呈现的内容。
在一些实施方式中,MR系统100可以提供情境应用的附加层。例如,MR系统100可以允许用户102在他们自己的“私有层”内或者在“用户生成的层”内(例如,包含用户生成的内容)创建并且发布情境应用。因此,用户102可以替代其他层的情境应用或者除了其他层的情境应用之外还可以体验私有层的情境应用。在一些实施方式中,MR系统100可以允许主办方来提供情境应用的分层的层。例如,特定的主办方可以针对访问其位置(例如,如上所述)的每个人提供“公共层”,并且还可以提供仅由主办方的员工或会员体验的“员工层”或“仅会员层”(例如,基于对服务的订阅或者基于购买的内容)。
在一些实施方式中,可以同时体验多个层。例如,MR系统100可以在给定位置处同时向用户提供共享层的内容和用户自己的私有层的内容两者。在一些实施方式中,MR系统100在特定位置处或在特定时刻时向用户102呈现可供用户102选择的层。
在本文中某些实施方式被描述为包括逻辑或多个部件、模块或机构。模块可以构成软件模块(例如,实现在机器可读介质上的代码)或硬件模块。“硬件模块”是能够执行某些操作并且可以以某种物理方式被配置或被布置的有形单元。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作成执行如本文中描述的某些操作的硬件模块。
在一些实施方式中,硬件模块可以机械地、电子地或以其任何合适的组合来实现。例如,硬件模块可以包括被永久地配置成执行某些操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或者其他可编程处理器执行的软件。一旦由这样的软件进行配置,硬件模块会变成量身定制以执行配置的功能的特定机器(或机器的特定部件),并且不再是通用处理器。应当理解,可以通过成本和时间考虑来推动在专用的永久配置的电路中或在临时配置的电路(例如,由软件进行配置)中机械地实现硬件模块的决策。
因此,短语“硬件模块”应当被理解成包括有形实体,即,物理构造的、永久配置的(例如,硬连线的)或临时配置的(例如,编程的)以特定方式操作或者执行本文中描述的某些操作的实体。如本文中使用的,“硬件实现的模块”是指硬件模块。考虑其中硬件模块被临时配置(例如,被编程)的实施方式,硬件模块中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件模块包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为各自不同的专用处理器(例如,包括不同的硬件模块)。软件相应地配置特定的一个或更多个处理器,例如,在一个时间实例构成特定的硬件模块并且在不同的时间实例构成不同的硬件模块。
硬件模块可以向其它硬件模块提供信息并且接收来自其它硬件模块的信息。因此,所描述的硬件模块可以被认为是通信上耦接的。在多个硬件模块同时存在的情况下,可以通过在两个或更多个硬件模块之间的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件模块在不同时间处被配置或实例化的实施方式中,可以例如通过将信息存储在多个硬件模块可以访问的存储器结构中并且在该存储器结构中检索信息来实现在这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作,并且将该操作的输出存储在通信上耦接的存储器装置中。另外的硬件模块然后可以在随后的时间处访问存储器装置,以检索并处理所存储的输出。硬件模块还可以启动与输入装置或输出装置的通信,并且可以对资源进行操作(例如,信息的收集)。
本文中所描述的示例方法的各种操作可以至少部分地由临时地配置(例如,由软件)或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是临时地配置还是永久地配置,这样的处理器都可以构成处理器实现的模块,所述处理器实现的模块操作成执行本文中描述的一个或更多个操作或功能。如本文中使用的,“处理器实现的模块”是指使用一个或更多个处理器实现的硬件模块。
类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或更多个处理器或处理器实现的模块来执行。此外,一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来执行,其中这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,应用程序接口(API))来访问。
某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且部署在多个机器中。在一些示例实施方式中,处理器或处理器实现的模块可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施方式中,处理器或处理器实现的模块可以分布在多个地理位置中。
在一些实施方式中,在机器和相关联的软件架构的情境中实现结合图1至图10D描述的模块、方法、应用等。以下部分描述适于与所公开的实施方式一起使用的代表性软件架构和机器(例如,硬件)架构。
软件架构与硬件架构结合使用,以创建适合特定目的的装置和机器。例如,与特定软件架构耦接的特定硬件架构将创建移动装置,例如移动电话、平板装置等。稍有不同的硬件架构和软件架构可能产生用于“物联网”的智能装置。而另一组合产生在云计算架构中使用的服务器计算机。由于本领域技术人员可以容易地理解如何在与本公开内容不同的上下文中实现本文所描述的系统和方法,因此在此并未呈现这样的软件架构和硬件架构的所有组合。
图11是示出代表性软件架构1102的框图1100,该软件架构1102可以与本文所描述的各种硬件架构结合使用以提供本文所描述的VR工具和开发环境。图11仅仅是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文中所描述的功能。软件架构1102可以在诸如图12的机器1200的硬件上执行,该硬件包括除了其他之外的处理器1210、存储器1230和I/O部件1250。代表性硬件层1104被示出并且可以表示例如图12的机器1200。代表性硬件层1104包括具有相关联的可执行指令1108的一个或更多个处理单元1106。可执行指令1108表示软件架构1102的可执行指令,包括图1至图10D的方法、模块等的实现。硬件层1104还包括也具有可执行指令1108的存储器或存储模块1110。硬件层904还可以包括如由1112指示的表示硬件层1104的任何其他硬件的其他硬件,例如示出为机器1200的一部分的其他硬件。
在图11的示例架构中,软件1102可以被概念化为一堆层,其中每个层提供特定功能。例如,软件1102可以包括诸如操作系统1114、库1116、框架/中间件1118、应用1120和呈现层1122的层。在操作上,应用1120或层内的其他部件可以通过软件堆栈来调用应用编程接口(API)调用1124,并且响应于API调用1124而接收示出为消息1126的响应、返回值等。示出的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层918,而其他的移动或专用操作系统可以提供这样的层。其他软件架构可以包括附加层或不同层。
操作系统1114可以管理硬件资源并且提供公共服务。操作系统1114可以包括例如内核1128、服务1130和驱动器1132。内核1128可以用作硬件层与其他软件层之间的抽象层。例如,内核1128可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1130可以为其他软件层提供其他公共服务。驱动器1132可以负责控制底层硬件或者与底层硬件对接。例如,根据硬件配置,驱动器1132可以包括显示驱动器、摄像装置驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、驱动器、音频驱动器、电源管理驱动器等。
库1116可以提供可以被应用1120或其他部件或层利用的公共基础设施。与和底层操作系统1114功能(例如,内核1128、服务1130或驱动器1132)直接对接相比,库1116通常提供允许其他软件模块以更容易的方式执行任务的功能。库916可以包括可以提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能的系统1134库(例如,C标准库)。另外,库1116可以包括API库1136诸如媒体库(例如,支持各种媒体格式诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG的呈现和操纵的库)、图形库(例如,可以用于在显示器上呈现2D和3D图形内容的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、网络库(例如,可以提供网络浏览功能的WebKit)等。库916还可以包括各种各样的其他库1138,以向应用920和其他软件部件/模块提供许多其他API。
框架1118(有时也称为中间件)可以提供可以由应用1120或其他软件部件/模块利用的更高级的公共基础设施。例如,框架1118可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架1118可以提供可以由应用1120或其他软件部件/模块利用的广范围的其他API,其中一些API可以具体于特定操作系统或平台。
应用1120包括内置应用1140或第三方应用1142。代表性内置应用940的示例可以包括但不限于:联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息应用、MR应用1101或游戏应用。第三方应用1142可以包括任何内置应用以及广泛的各种各样的其他应用。在具体示例中,第三方应用1142(例如,由除了特定平台的供应商之外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用)可以是在诸如iOSTM、AndroidTM、Phone的移动操作系统或其他移动操作系统上运行的移动软件。在该示例中,第三方应用1142可以调用由诸如操作系统1114的移动操作系统提供的API调用1124,以便于本文中描述的功能。
应用1120可以利用内置操作系统功能(例如,内核1128、服务1130或驱动器1132)、库(例如,系统库1134、API库1136和其他库1138)、框架/中间件1118来创建用户接口以与系统的用户进行交互。替选地或另外地,在一些系统中,与用户的交互可以通过诸如呈现层1144的呈现层来发生。在这些系统中,应用/模块“逻辑”可以从与用户交互的应用/模块的各方面中分离。
一些软件架构利用虚拟机。在图11的示例中,这由虚拟机1148来示出。虚拟机创建软件环境,其中应用/模块可以执行为似乎它们在硬件机器(诸如例如图12的机器)上执行一样。虚拟机由主机操作系统(图11中的操作系统1114)托管,并且通常虽然不总是具有虚拟机监控器1146,该虚拟机监控器管理虚拟机的操作以及与主机操作系统(即,操作系统1114)的对接。软件架构在诸如操作系统1150、库1152、框架/中间件1154、应用1156或呈现层1158的虚拟机内执行。在虚拟机1148内执行的软件架构的这些层可以与先前描述的相应层相同或者可以不同。
在示例实施方式中,MR应用1101作为应用1120层中的应用进行操作。然而,在一些实施方式中,MR应用1101可以在其他软件层或在多个软件层(例如,框架1118和应用1120)中或者在能够如本文所述的系统和方法的任何架构中进行操作。
图12是示出根据一些示例实施方式的能够从机器可读介质1238(例如,机器可读存储介质)中读取指令并且执行本文所讨论的任意一个或更多个VR方法的机器1000的部件的框图。具体地,图12以计算机系统的示例形式示出了机器1200的示意图示,在该机器1200中可以执行指令1216(例如,软件、软件模块、程序、应用、小程序、应用程序或其他可执行代码),以使机器1200来执行本文所讨论的任意一种或更多种方法或操作。例如,指令可以使机器来执行关于图3所讨论的一个或更多个操作。指令将通用的未编程的机器转变成被编程以按描述的方式执行所描述和示出的功能的特定机器。在替代实施方式中,机器1200操作为独立装置或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器资格进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器1200可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动装置、可佩戴装置(例如,智能手表)、智能家居装置(例如,智能电器)、其他智能装置、网络装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行要由机器1200采取的特定动作的指令1216的任何机器。此外,虽然仅示出了单个机器1200,但是术语“机器”还应该被认为包括单独或联合执行指令1216以执行本文中所讨论的任何一种或更多种方法的机器1200的集合。
机器1200可以包括处理器1210、存储器1230和I/O部件1250,处理器1210、存储器1230和I/O部件1250可以被配置成诸如经由总线1202与彼此进行通信。在示例实施方式中,处理器1210(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、其他处理器或其任意合适的组合)可以包括例如可以执行指令1216的处理器1212和处理器1214。术语“处理器”旨在包括可以包含可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。虽然图12示出了多个处理器,但是机器1200可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理)、具有单个核的多个处理器、具有多个核的多个处理器或其任意组合。
存储器/存储装置1230可以包括诸如主存储器或其他存储器存储装置的存储器1232以及存储单元1236,这两者都能够由处理器1210诸如经由总线1202访问。存储单元1236和存储器1232存储实施本文中所描述的任何一个或更多个方法或功能的指令1216。指令1216还可以在其由机器1200执行期间完全地或部分地驻留在存储器1232内、存储单元1236内、至少一个处理器1210内(例如,在处理器的高速缓冲存储器内)或它们的任何合适的组合内。因此,存储器1232、存储单元1236和处理器1210的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”是指能够临时或永久地存储指令和数据的装置,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪速存储器、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))或其任意合适组合。术语“机器可读介质”应当被认为包括能够存储指令1216的单个介质或多个介质(例如,集中式数据库或分布式数据库或者相关联的高速缓冲存储器和服务器)。术语“机器可读介质”还应当被认为包括能够存储用于由机器(例如,机器1200)执行的指令(例如,指令1216)使得该指令在由机器1200的一个或更多个处理器(例如,处理器1210)执行时使机器1200来执行本文所描述的任意一种或更多种方法的任何介质或多个介质的组合。因此,“机器可读介质”指的是单个存储设备或装置以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括暂态信号本身。
I/O部件1250可以包括用于接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量等的各种各样的部件。在特定机器中包括的具体I/O部件1250将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入装置或其他这样的输入机构,而无终端服务器机器将可能不包括这种触摸输入装置。应当理解,I/O部件1250可以包括许多图12中未示出的其他部件。根据功能对I/O部件1250进行分组仅仅出于简化以下讨论的目的,并且分组决不是限制性的。在各种示例实施方式中,I/O部件1250可以包括输出部件1252和输入部件1254。输出部件1252可以包括视觉部件(例如,诸如等离子显示面板(PDP)的显示器、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、阴极射线管(CRT)或者诸如头戴式显示(HMD)装置的可佩戴装置)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器等。输入部件1254可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置或力的触摸屏或者其他触觉输入部件)、运动感测输入部件(例如,手动控制器)、音频输入部件(例如,麦克风)等。
在另外的示例实施方式中,I/O部件1250可以包括生物部件1256、运动部件1258、环境部件1260或方位部件1262以及各种其他部件。例如,生物部件1256可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1258可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)、位置感测部件等。环境部件1260可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境相对应的指示、测量或信号的其他部件。方位部件1262可以包括位置传感器部件(例如,全球定位系统(GPS)接收器部件)、高度传感器部件(例如,检测可以从其导出高度的气压的高度计或气压计)、方向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1250可以包括通信部件1264,该通信部件1264能够操作成分别经由耦合1282和耦合1272将机器1200耦接至网络1280或装置1270。例如,通信部件1264可以包括网络接口部件或其他合适的装置以与网络1280对接。在另外的示例中,通信部件1264可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,低能耗)、部件和其他通信部件,以经由其他形式提供通信。装置1270可以为另外的机器或各种各样的外围装置中的任何外围装置(例如,经由通用串行总线(USB)耦接的外围装置)。
在各种示例实施方式中,网络1080的一个或更多个部分可以为自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络或者两个或更多个这样的网络的组合。例如,网络1280或网络1280的一部分可以包括无线网络或蜂窝网络,并且耦合1282可以为码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝耦合或无线耦合。在该示例中,耦合1282可以实现各种类型的数据传输技术中的任意数据传输技术,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波互联接入(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或者其他数据传输技术。
可以经由网络接口装置(例如,包括在通信部件1264中的网络接口部件)使用传输介质并且利用多个传输协议中的任意一种传输协议(例如,超文本传输协议(HTTP))通过网络1280来发送和接收指令1216。类似地,可以经由至装置1270的耦接1272(例如,对等耦接)使用传输介质来发送或接收指令1216。术语“传输介质”应当被认为包括能够存储、编码或携载用于由机器1200执行的指令1216的任何无形介质,并且包括数字通信信号或模拟通信信号或者其他无形介质以便于这样的软件的通信。
遍及本说明书,多个实例可以实现被描述为单个实例的部件、操作或结构。虽然一种或更多种方法的个体操作被示出和被描述为独立的操作,但是一个或更多个的个体操作可以同时执行,并且不要求以所示的顺序执行操作。在示例配置中作为独立部件呈现的结构和功能可以实现为组合的结构或部件。类似地,作为单个部件呈现的结构和功能可以被实现为独立的部件。这些和其他变型、修改、添加以及改进落入本文中的主题的范围内。
虽然已经参照具体示例实施方式描述了本发明主题的概述,但是在不偏离本公开内容的实施方式的较宽范围的情况下,可以对这些实施方式进行各种修改和改变。仅仅为了方便,可以在本文中通过术语“发明”来单独地或共同地引用本发明主题的这些实施方式,并且如果事实上公开了不止一个公开内容或发明构思,则并不意在将本申请的范围自动限制为任何单个公开内容或发明构思。
本文中示出的实施方式被足够详细地描述,以使得本领域技术人员能够实践所公开的教导。其他实施方式可以被使用并且从中得到,使得可以在不偏离本公开内容的范围的情况下进行结构和逻辑替代和改变。因此,该具体实施方式不以限制性意义而被采用,并且各种实施方式的范围仅通过所附权利要求与被称为这样的权利要求的等同内容的全部范围一起来限定。
如本文中所使用的,术语“或”可以被解释为包括性或排他性意义。除此之外,可以为在本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎与数据存储之间的边界有些随意,并且特定的操作在具体说明性配置的上下文中示出。功能的其他分配被预见并且可以落入本公开内容的各种实施方式的范围内。通常,在示例配置中呈现为独立资源的结构和功能可以实现为组合的结构或资源。类似地,呈现为单个资源的结构和功能可以实现为独立的资源。这些和其他变型、修改、添加和改进落入如由所附权利要求书表示的本公开内容的实施方式的范围内。因此,说明书和附图被认为是说明性的而不是限制性意义的。
Claims (20)
1.一种系统,包括:
一个或更多个计算机处理器;
一个或更多个计算机存储器;以及
并入到所述一个或更多个计算机存储器中的指令集,所述指令集将所述一个或更多个计算机处理器配置成:执行用于在用户的具有混合现实(MR)功能的装置上在MR环境内实现多个情境应用的操作,所述操作包括:
通过向由所述具有MR功能的装置的传感器捕获的至少一个现实世界对象的一个或更多个属性应用对象识别算法,来在所述MR环境中识别所述至少一个现实世界对象;
使用所述多个情境应用中的第一情境应用来确定第一情境触发集与所述多个情境应用中的第二情境应用之间的关联,所述第一情境应用是启动器应用;
基于对至少一个情境触发的满足来启动所述第二情境应用,所述启动包括在所述混合现实环境中呈现与所述第二情境应用相关联的至少一个虚拟对象;以及
基于所述用户与所述至少一个虚拟对象的交互满足与所述第二情境应用相关联的第二情境触发集来调用所述第二情境应用内的功能。
2.根据权利要求1所述的系统,其中,所述对象识别算法的应用包括使用人工智能来执行在所述MR环境中对所述至少一个现实世界对象的识别。
3.根据权利要求1所述的系统,其中,由所述第二情境应用对所述至少一个虚拟对象的呈现基于所述用户与和在第二具有MR功能的装置上运行的所述第二情境应用相关联的共享显示层之间的对应。
4.根据权利要求1所述的系统,其中,所述用户的交互包括使用所述至少一个现实世界对象作为控制器。
5.根据权利要求1所述的系统,其中,所述第二情境应用的启动包括应用削弱现实技术来在所述具有MR功能的装置上修改对所述至少一个现实世界对象的描绘。
6.根据权利要求4所述的系统,其中,使用所述至少一个现实世界对象作为控制器包括在三维上操纵所述现实世界对象以控制所述第二情境应用内的动作,所述动作是使用所述第二情境应用的应用程序接口而定义的。
7.根据权利要求1所述的系统,其中,所述第一情境触发集包括元素的组合,所述元素包括下述数据中的至少两种:与所述识别的时间有关的数据、与MR装置的位置有关的数据、以及与在所述MR环境内所识别的附加现实世界对象集有关的数据。
8.一种方法,包括:
将指令集并入至一个或更多个计算机存储器中,所述指令集将一个或更多个计算机处理器配置成:执行用于在用户的具有混合现实(MR)功能的装置上在MR环境内实现多个情境应用的操作,所述操作包括:
通过向由所述具有MR功能的装置的传感器捕获的至少一个现实世界对象的一个或更多个属性应用对象识别算法,来在所述MR环境中识别所述至少一个现实世界对象;
使用所述多个情境应用中的第一情境应用来确定第一情境触发集与所述多个情境应用中的第二情境应用之间的关联,所述第一情境应用是启动器应用;
基于对至少一个情境触发的满足来启动所述第二情境应用,所述启动包括在所述混合现实环境中呈现与所述第二情境应用相关联的至少一个虚拟对象;以及
基于所述用户与所述至少一个虚拟对象的交互满足与所述第二情境应用相关联的第二情境触发集来调用所述第二情境应用内的功能。
9.根据权利要求8所述的方法,其中,所述对象识别算法的应用包括使用人工智能来执行在所述MR环境中对所述至少一个现实世界对象的识别。
10.根据权利要求8所述的方法,其中,由所述第二情境应用对所述至少一个虚拟对象的呈现基于所述用户与和在第二具有MR功能的装置上运行的所述第二情境应用相关联的共享显示层之间的对应。
11.根据权利要求8所述的方法,其中,所述用户的交互包括使用所述至少一个现实世界对象作为控制器。
12.根据权利要求8所述的方法,其中,所述第二情境应用的启动包括应用削弱现实技术来在所述具有MR功能的装置上修改对所述至少一个现实世界对象的描绘。
13.根据权利要求11所述的方法,其中,使用所述至少一个现实世界对象作为控制器包括在三维上操纵所述现实世界对象以控制所述第二情境应用内的动作,所述动作是使用所述第二情境应用的应用程序接口而定义的。
14.根据权利要求8所述的方法,其中,所述第一情境触发集包括元素的组合,所述元素包括下述数据中的至少两种:与所述识别的时间有关的数据、与MR装置的位置有关的数据、以及与所述MR环境内所识别的附加现实世界对象集有关的数据。
15.一种包括指令集的机器可读介质,所述指令集将一个或更多个计算机处理器配置成:执行用于在用户的具有混合现实(MR)功能的装置上在MR环境内实现多个情境应用的操作,所述操作包括:
通过向由所述具有MR功能的装置的传感器捕获的至少一个现实世界对象的一个或更多个属性应用对象识别算法,来在所述MR环境中识别所述至少一个现实世界对象;
使用所述多个情境应用中的第一情境应用来确定第一情境触发集与所述多个情境应用中的第二情境应用之间的关联,所述第一情境应用是启动器应用;
基于对至少一个情境触发的满足来启动所述第二情境应用,所述启动包括在所述混合现实环境中呈现与所述第二情境应用相关联的至少一个虚拟对象;以及
基于所述用户与所述至少一个虚拟对象的交互满足与所述第二情境应用相关联的第二情境触发集来调用所述第二情境应用内的功能。
16.根据权利要求15所述的机器可读介质,其中,所述对象识别算法的应用包括使用人工智能来在所述MR环境中执行对所述至少一个现实世界对象的识别。
17.根据权利要求15所述的机器可读介质,其中,由所述第二情境应用对所述至少一个虚拟对象的呈现基于所述用户与和在第二具有MR功能装置上运行的所述第二情境应用相关联的共享显示层之间的对应。
18.根据权利要求15所述的机器可读介质,其中,所述用户的交互包括使用所述至少一个现实世界对象作为控制器。
19.根据权利要求15所述的机器可读介质,其中,所述第二情境应用的启动包括应用削弱现实技术来在所述具有MR功能的装置上修改对所述至少一个现实世界对象的描绘。
20.根据权利要求18所述的机器可读介质,其中,使用所述至少一个现实世界对象作为控制器包括在三维上操纵所述现实世界对象以控制所述第二情境应用内的动作,所述动作是使用所述第二情境应用的应用程序接口而定义的。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762502349P | 2017-05-05 | 2017-05-05 | |
US62/502,349 | 2017-05-05 | ||
US201762561017P | 2017-09-20 | 2017-09-20 | |
US62/561,017 | 2017-09-20 | ||
PCT/US2018/031245 WO2018204879A1 (en) | 2017-05-05 | 2018-05-04 | Contextual applications in a mixed reality environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111033605A true CN111033605A (zh) | 2020-04-17 |
Family
ID=64014833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880044613.1A Pending CN111033605A (zh) | 2017-05-05 | 2018-05-04 | 混合现实环境中的情境应用 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10360734B2 (zh) |
EP (1) | EP3639261B1 (zh) |
JP (1) | JP6828189B2 (zh) |
KR (1) | KR102220949B1 (zh) |
CN (1) | CN111033605A (zh) |
CA (1) | CA3062541C (zh) |
WO (1) | WO2018204879A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111462663A (zh) * | 2020-06-19 | 2020-07-28 | 南京新研协同定位导航研究院有限公司 | 一种基于mr眼镜的导游方式 |
CN111539662A (zh) * | 2020-07-10 | 2020-08-14 | 南京新研协同定位导航研究院有限公司 | 基于mr眼镜租赁业务的动态库存分配方法 |
US10769857B2 (en) | 2017-05-05 | 2020-09-08 | Unity IPR ApS | Contextual applications in a mixed reality environment |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104740869B (zh) * | 2015-03-26 | 2018-04-03 | 北京小小牛创意科技有限公司 | 一种融合真实环境的虚实结合的交互方法及系统 |
JP2018005091A (ja) * | 2016-07-06 | 2018-01-11 | 富士通株式会社 | 表示制御プログラム、表示制御方法および表示制御装置 |
US10867445B1 (en) * | 2016-11-16 | 2020-12-15 | Amazon Technologies, Inc. | Content segmentation and navigation |
US10559133B2 (en) * | 2018-02-07 | 2020-02-11 | Dell Products L.P. | Visual space management across information handling system and augmented reality |
CN108769814B (zh) * | 2018-06-01 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 视频互动方法、装置、终端及可读存储介质 |
US20190378334A1 (en) * | 2018-06-08 | 2019-12-12 | Vulcan Inc. | Augmented reality portal-based applications |
US20190385372A1 (en) * | 2018-06-15 | 2019-12-19 | Microsoft Technology Licensing, Llc | Positioning a virtual reality passthrough region at a known distance |
US10712901B2 (en) | 2018-06-27 | 2020-07-14 | Facebook Technologies, Llc | Gesture-based content sharing in artificial reality environments |
US10635895B2 (en) | 2018-06-27 | 2020-04-28 | Facebook Technologies, Llc | Gesture-based casting and manipulation of virtual content in artificial-reality environments |
US10783712B2 (en) * | 2018-06-27 | 2020-09-22 | Facebook Technologies, Llc | Visual flairs for emphasizing gestures in artificial-reality environments |
US10996831B2 (en) | 2018-06-29 | 2021-05-04 | Vulcan Inc. | Augmented reality cursors |
US20220057636A1 (en) | 2019-01-24 | 2022-02-24 | Maxell, Ltd. | Display terminal, application control system and application control method |
US11054896B1 (en) * | 2019-02-07 | 2021-07-06 | Facebook, Inc. | Displaying virtual interaction objects to a user on a reference plane |
JP7157871B2 (ja) * | 2019-03-08 | 2022-10-20 | 株式会社Nttドコモ | 関連情報出力装置 |
US10810782B1 (en) * | 2019-04-01 | 2020-10-20 | Snap Inc. | Semantic texture mapping system |
US11804014B1 (en) * | 2019-04-22 | 2023-10-31 | Apple Inc. | Context-based application placement |
US11163997B2 (en) * | 2019-05-05 | 2021-11-02 | Google Llc | Methods and apparatus for venue based augmented reality |
US10897564B1 (en) | 2019-06-17 | 2021-01-19 | Snap Inc. | Shared control of camera device by multiple devices |
DE112020003104T5 (de) * | 2019-06-25 | 2022-03-17 | Semiconductor Energy Laboratory Co., Ltd. | Datenverarbeitungssystem und Verfahren zur Datenverarbeitung |
US11100715B2 (en) * | 2019-06-26 | 2021-08-24 | International Business Machines Corporation | Establishment of positional timers in an augmented reality environment |
US11340857B1 (en) | 2019-07-19 | 2022-05-24 | Snap Inc. | Shared control of a virtual object by multiple devices |
US11176744B2 (en) * | 2019-07-22 | 2021-11-16 | Microsoft Technology Licensing, Llc | Mapping sensor data using a mixed-reality cloud |
US11461867B2 (en) * | 2019-09-19 | 2022-10-04 | Sanctuary Cognitive Systems Corporation | Visual interface and communications techniques for use with robots |
CN110716645A (zh) * | 2019-10-15 | 2020-01-21 | 北京市商汤科技开发有限公司 | 一种增强现实数据呈现方法、装置、电子设备及存储介质 |
US11270115B2 (en) * | 2019-11-18 | 2022-03-08 | Lenovo (Singapore) Pte. Ltd. | Presentation of augmented reality content based on identification of trigger accompanying video content |
US11461115B2 (en) * | 2020-01-28 | 2022-10-04 | Sap Se | Third party executable asset bundle deployment |
US11354867B2 (en) * | 2020-03-04 | 2022-06-07 | Apple Inc. | Environment application model |
US11593997B2 (en) * | 2020-03-31 | 2023-02-28 | Snap Inc. | Context based augmented reality communication |
US11617953B2 (en) | 2020-10-09 | 2023-04-04 | Contact Control Interfaces, Llc. | Virtual object interaction scripts |
EP3995191A1 (en) * | 2020-11-04 | 2022-05-11 | Unity IPR APS | Method and system for merging distant spaces |
JP6975489B1 (ja) * | 2020-12-18 | 2021-12-01 | 株式会社Gatari | 情報処理システム、情報処理方法および情報処理プログラム |
KR20220121990A (ko) * | 2021-02-26 | 2022-09-02 | 삼성전자주식회사 | 증강 현실 장치 및 증강 현실 장치와 상호작용하는 전자 장치 |
CA3211743A1 (en) * | 2021-03-12 | 2022-09-15 | Christopher FARAGUNA | Systems and methods for user data collection within an augmented reality game |
US11935199B2 (en) * | 2021-07-26 | 2024-03-19 | Google Llc | Augmented reality depth detection through object recognition |
US20230066686A1 (en) * | 2021-09-02 | 2023-03-02 | Snap Inc. | Augmented reality prop interactions |
US20230149809A1 (en) * | 2021-11-18 | 2023-05-18 | Sony Interactive Entertainment Inc. | Feature similarity scoring of physical environment for augmented reality gameplay |
US11568616B1 (en) * | 2021-11-29 | 2023-01-31 | Varjo Technologies Oy | Display apparatuses and methods for facilitating location-based virtual content |
US20240037863A1 (en) * | 2022-07-29 | 2024-02-01 | Maplebear Inc. (Dba Instacart) | Displaying an augmented reality element that provides a personalized enhanced experience at a warehouse |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110213664A1 (en) * | 2010-02-28 | 2011-09-01 | Osterhout Group, Inc. | Local advertising content on an interactive head-mounted eyepiece |
CN203250508U (zh) * | 2013-04-24 | 2013-10-23 | 苏州创捷传媒展览股份有限公司 | 3d混合现实展示装置 |
CN103870132A (zh) * | 2012-12-07 | 2014-06-18 | 三星电子株式会社 | 基于情境提供信息的方法和系统 |
CN105912130A (zh) * | 2016-07-06 | 2016-08-31 | 深圳云戈科技有限公司 | 一种基于混合现实的通信方法、装置及系统 |
US9536355B1 (en) * | 2016-03-24 | 2017-01-03 | Daqri, Llc | Thermal detection in an augmented reality system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9285589B2 (en) | 2010-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | AR glasses with event and sensor triggered control of AR eyepiece applications |
JP2013004001A (ja) * | 2011-06-21 | 2013-01-07 | Sony Corp | 表示制御装置、表示制御方法、およびプログラム |
US10019962B2 (en) * | 2011-08-17 | 2018-07-10 | Microsoft Technology Licensing, Llc | Context adaptive user interface for augmented reality display |
KR101874895B1 (ko) * | 2012-01-12 | 2018-07-06 | 삼성전자 주식회사 | 증강 현실 제공 방법 및 이를 지원하는 단말기 |
GB2501929B (en) * | 2012-05-11 | 2015-06-24 | Sony Comp Entertainment Europe | Apparatus and method for augmented reality |
US9924102B2 (en) * | 2013-03-14 | 2018-03-20 | Qualcomm Incorporated | Image-based application launcher |
US9240075B2 (en) * | 2013-03-15 | 2016-01-19 | Daqri, Llc | Campaign optimization for experience content dataset |
US10025375B2 (en) * | 2015-10-01 | 2018-07-17 | Disney Enterprises, Inc. | Augmented reality controls for user interactions with a virtual world |
WO2018204879A1 (en) | 2017-05-05 | 2018-11-08 | Unity IPR ApS | Contextual applications in a mixed reality environment |
-
2018
- 2018-05-04 WO PCT/US2018/031245 patent/WO2018204879A1/en active Application Filing
- 2018-05-04 JP JP2019560385A patent/JP6828189B2/ja active Active
- 2018-05-04 EP EP18794296.6A patent/EP3639261B1/en active Active
- 2018-05-04 CA CA3062541A patent/CA3062541C/en active Active
- 2018-05-04 US US15/972,020 patent/US10360734B2/en active Active
- 2018-05-04 CN CN201880044613.1A patent/CN111033605A/zh active Pending
- 2018-05-04 KR KR1020197035793A patent/KR102220949B1/ko active IP Right Grant
-
2019
- 2019-06-27 US US16/455,493 patent/US10769857B2/en active Active
-
2020
- 2020-07-28 US US16/941,298 patent/US10984604B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110213664A1 (en) * | 2010-02-28 | 2011-09-01 | Osterhout Group, Inc. | Local advertising content on an interactive head-mounted eyepiece |
CN103870132A (zh) * | 2012-12-07 | 2014-06-18 | 三星电子株式会社 | 基于情境提供信息的方法和系统 |
CN203250508U (zh) * | 2013-04-24 | 2013-10-23 | 苏州创捷传媒展览股份有限公司 | 3d混合现实展示装置 |
US9536355B1 (en) * | 2016-03-24 | 2017-01-03 | Daqri, Llc | Thermal detection in an augmented reality system |
CN105912130A (zh) * | 2016-07-06 | 2016-08-31 | 深圳云戈科技有限公司 | 一种基于混合现实的通信方法、装置及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10769857B2 (en) | 2017-05-05 | 2020-09-08 | Unity IPR ApS | Contextual applications in a mixed reality environment |
US10984604B2 (en) | 2017-05-05 | 2021-04-20 | Unity IPR ApS | Contextual applications in a mixed reality environment |
CN111462663A (zh) * | 2020-06-19 | 2020-07-28 | 南京新研协同定位导航研究院有限公司 | 一种基于mr眼镜的导游方式 |
CN111539662A (zh) * | 2020-07-10 | 2020-08-14 | 南京新研协同定位导航研究院有限公司 | 基于mr眼镜租赁业务的动态库存分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CA3062541C (en) | 2022-01-11 |
US20190392645A1 (en) | 2019-12-26 |
JP2020520000A (ja) | 2020-07-02 |
US20200357187A1 (en) | 2020-11-12 |
WO2018204879A1 (en) | 2018-11-08 |
KR20190141777A (ko) | 2019-12-24 |
KR102220949B1 (ko) | 2021-03-02 |
US10360734B2 (en) | 2019-07-23 |
US10769857B2 (en) | 2020-09-08 |
US10984604B2 (en) | 2021-04-20 |
EP3639261A4 (en) | 2020-05-13 |
EP3639261B1 (en) | 2023-08-30 |
JP6828189B2 (ja) | 2021-02-10 |
CA3062541A1 (en) | 2018-11-08 |
US20180322706A1 (en) | 2018-11-08 |
EP3639261A1 (en) | 2020-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10984604B2 (en) | Contextual applications in a mixed reality environment | |
US11750767B2 (en) | Selective identification and order of image modifiers | |
CN110168618B (zh) | 增强现实控制系统和方法 | |
US10430016B2 (en) | Augmented reality user interface control | |
US10140015B2 (en) | Mobile device camera viewfinder punch through effect | |
US11809633B2 (en) | Mirroring device with pointing based navigation | |
US11676355B2 (en) | Method and system for merging distant spaces | |
US20230410441A1 (en) | Generating user interfaces displaying augmented reality graphics | |
WO2024035763A1 (en) | External controller for an eyewear device |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200417 |