CN117501209A - 协作跟踪 - Google Patents
协作跟踪 Download PDFInfo
- Publication number
- CN117501209A CN117501209A CN202280041683.8A CN202280041683A CN117501209A CN 117501209 A CN117501209 A CN 117501209A CN 202280041683 A CN202280041683 A CN 202280041683A CN 117501209 A CN117501209 A CN 117501209A
- Authority
- CN
- China
- Prior art keywords
- image
- environment
- display
- content
- hmd
- 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
- 230000000007 visual effect Effects 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims description 148
- 238000012545 processing Methods 0.000 claims description 81
- 230000006870 function Effects 0.000 claims description 64
- 230000004044 response Effects 0.000 claims description 39
- 238000003384 imaging method Methods 0.000 abstract description 92
- 230000008569 process Effects 0.000 description 41
- 230000007246 mechanism Effects 0.000 description 31
- 238000001514 detection method Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 26
- 238000000605 extraction Methods 0.000 description 23
- 238000007726 management method Methods 0.000 description 21
- 210000003128 head Anatomy 0.000 description 18
- 230000008054 signal transmission Effects 0.000 description 18
- 230000003190 augmentative effect Effects 0.000 description 15
- 230000004927 fusion Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000000284 extract Substances 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 7
- 239000011521 glass Substances 0.000 description 6
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000003708 edge detection Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000579895 Chlorostilbon Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000000280 densification Methods 0.000 description 1
- SDIXRDNYIMOKSG-UHFFFAOYSA-L disodium methyl arsenate Chemical compound [Na+].[Na+].C[As]([O-])([O-])=O SDIXRDNYIMOKSG-UHFFFAOYSA-L 0.000 description 1
- 229910052876 emerald Inorganic materials 0.000 description 1
- 239000010976 emerald Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000036642 wellbeing Effects 0.000 description 1
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/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
- G06T7/0008—Industrial image inspection checking presence/absence
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/26—Output arrangements for video game devices having at least one additional display device, e.g. on the game controller or outside a game booth
-
- 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/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Studio Devices (AREA)
Abstract
一种成像系统能够接收环境的一部分的图像。该环境能够包括诸如手部或显示器之类的对象。该成像设备能够标识来自外部设备的数据流,例如通过检测该图像中的该数据流或通过从该外部设备无线地接收该数据流来标识。该成像设备能够基于该图像和/或该数据流例如通过检测该对象从该图像中缺失、通过检测该成像设备处的低资源并且/或者通过在图像中检测由显示器显示的视觉媒体内容来检测条件。在检测到该条件时,该成像设备使用该数据流和/或该图像来自动确定该对象(或该对象的一部分)的位置。该成像设备生成和/或输出基于该对象的该位置的内容。
Description
技术领域
本公开整体涉及图像处理。例如,本公开的各方面涉及用于组合来自多个设备的数据以在环境内执行对象跟踪并基于该跟踪来提供输出的系统和技术。
背景技术
扩展现实(XR)设备是例如通过头戴式显示器(HMD)、眼镜、移动手持机或另一设备向用户显示环境的设备。该环境至少部分地不同于用户和设备所处的真实世界环境,并且可例如包括虚拟内容。用户通常能够例如通过倾斜或移动XR设备来交互地改变他们的环境视图。虚拟现实(VR)、增强现实(AR)和混合现实(MR)是XR的示例。
XR设备能够包括例如位于一个或多个相机内的一个或多个图像传感器。例如,XR设备中的相机能够用于在用户正观看的方向上并从用户位置的视角捕获真实世界环境的图像数据。XR设备中的图像传感器还能够用于捕获图像数据以用于跟踪目的(例如,手部跟踪、头部跟踪、身体跟踪等)。
XR设备能够在XR设备向用户显示的环境中显示用户的手部的表示,使得用户感觉好像他们在该环境中一样。手部跟踪能够允许XR设备在环境中准确地表示用户的手部,并且能够允许用户与环境内的真实或虚拟对象交互。然而,手部跟踪通常需要用户将他们的手部保持在XR设备的图像传感器的视场(FOV)内。如果用户的手部离开FOV或被遮挡,则XR设备能够遇到错误。手部跟踪通常是能够快速消耗电池电力的计算量很大的过程。
发明内容
在一些示例中,描述了用于基于来自多个设备的数据来进行特征跟踪的系统和技术。诸如XR设备之类的成像设备能够利用来自一个或多个外部设备的一个或多个数据流。例如,可以从成像设备的图像传感器接收图像。该图像可以是环境的一部分的图像。该环境包括诸如用户的手部或显示屏之类的对象,但该对象可以或可以不存在于图像中所描绘的环境的该部分中。该成像设备可以例如基于图像(例如,通过标识图像中所描绘的数据流,诸如图像中所描绘的在外部显示设备上显示的视觉媒体内容)、基于数据流(例如,通过无线网络或有线网络)从外部设备到成像设备的一个或多个传输、基于用户输入并且/或者基于其他因素来标识来自外部设备的数据流。该成像设备可以诸如基于图像、数据流、成像设备的操作状态、它们的任何组合并且/或者基于其他因素来检测条件。在一些示例中,该条件可以基于成像设备失去对对象的跟踪、成像设备的计算资源低(例如,电力低并且/或者基于装置的另一操作状态)、成像设备检测到图像内的视觉媒体内容(或该视觉媒体内容的表示)、基于请求在可用于特定功能(例如,显示内容、跟踪诸如用户的手部、头部或身体的对象)时使用外部设备而不是成像设备(例如,XR设备)的用户输入或设置、基于指示设备(例如,外部设备)在接入成像设备时用于特定功能的偏好的用户输入或设置(隐私和/或安全是一个因素(这也可以基于用户输入或设置))、基于用户输入(例如,请求将资源卸载到外部设备的用户输入,诸如请求关闭成像设备的用户输入、请求通过在成像设备上运行的家庭自动化应用来打开或关闭诸如灯的外部设备的用户输入等)、基于成像设备的图像传感器的能力(例如,当一个设备上的红外(IR)传感器在环境照明不充足的情况下有用时、当被跟踪的对象快速移动并且具有较高帧速率的图像传感器更适当时等),或它们的任何组合。
在一些情况下,成像设备能够将来自数据流的数据与由图像传感器捕获的图像合并,从而产生合并数据集。基于检测到该条件,成像设备可以基于数据流、图像和/或合并数据集来确定对象的至少一部分在环境中的位置。该成像设备可以生成输出(例如,内容、控制成像设备的命令、控制外部设备的命令等)。该成像设备可以输出基于对象的至少该部分在环境中的位置的内容。在一个示例中,如果对象是用户的手部,则由成像设备生成和/或输出的内容可以基于用户的手部的(基于数据流、图像和/或合并数据集来确定的)位置来准确地定位由用户的手部握持的虚拟对象,即使没有在图像中描绘用户的手部也是如此。如果对象是显示屏和/或在显示屏上显示的视觉内容,则由成像设备生成和/或输出的内容可以将虚拟内容定位成与显示屏的位置相邻。
在一个示例中,提供了一种用于图像处理的装置。该装置包括存储器和耦合到存储器的(例如,在电路中实现的)一个或多个处理器。该一个或多个处理器被配置为并且能够:接收由图像传感器捕获的环境的一部分的图像,其中该环境包括对象;标识来自外部设备的数据流;基于该图像、该数据流和该装置的操作状态中的至少一者来检测条件;响应于检测到该条件,基于该图像和该数据流中的至少一者来确定该对象在该环境中的位置;以及基于该对象在该环境中的该位置来生成输出。
在另一个示例中,提供了一种图像处理方法。该方法包括:由设备接收由图像传感器捕获的环境的一部分的图像,其中该环境包括对象;标识来自外部设备的数据流;基于该图像、该数据流和该设备的操作状态中的至少一者来检测条件;响应于检测到该条件,基于该图像和该数据流中的至少一者来确定该对象在该环境中的位置;以及基于该对象在该环境中的该位置来生成输出。
在另一个示例中,提供了一种设备的上面存储有指令的非暂时性计算机可读介质,该指令在由一个或多个处理器执行时使得该一个或多个处理器:接收由图像传感器捕获的环境的一部分的图像,其中该环境包括对象;标识来自外部设备的数据流;基于该图像、该数据流和该设备的操作状态中的至少一者来检测条件;响应于检测到该条件,基于该图像和该数据流中的至少一者来确定该对象在该环境中的位置;以及基于该对象在该环境中的该位置来生成输出。
在另一个示例中,提供了一种用于图像处理的装置。该装置包括:用于接收由图像传感器捕获的环境的一部分的图像的部件,其中该环境包括对象;标识来自外部设备的数据流的部件;基于该图像、该数据流和该装置的操作状态中的至少一者来检测条件的部件;用于响应于检测到该条件而基于该图像和该数据流中的至少一者来确定该对象在该环境中的位置的部件;以及用于基于该对象在该环境中的该位置来生成输出的部件。
在一些方面,为了基于该图像来检测该条件,上文所描述的方法、装置和计算机可读介质还包括确定该对象从该图像中的该环境的一部分中缺失。
在一些方面,为了确定该对象从该图像中的该环境的该部分中缺失,上文所描述的方法、装置和计算机可读介质包括确定该对象的至少一部分在该图像中被遮挡。
在一些方面,该外部设备包括第二图像传感器。在一些情况下,该数据流包括该环境的第二部分的第二图像。在这种情况下,确定该对象在该环境中的该位置可以至少部分地基于该对象在该第二图像中的描绘。在一些方面,该环境的该部分与该环境的该第二部分重叠。
在一些方面,为了基于该设备的该操作状态来检测该条件,上文所描述的方法、装置和计算机可读介质包括确定资源的可用性低于阈值。在一些方面,为了确定该资源的该可用性低于该阈值,上文所描述的方法、装置和计算机可读介质包括确定电池的电池电量低于电池电量阈值。
在一些方面,为了确定该资源的该可用性低于该阈值,上文所描述的方法、装置和计算机可读介质包括确定可用带宽低于带宽阈值。
在一些方面,为了基于该设备的该操作状态来检测该条件,上文所描述的方法、装置和计算机可读介质包括接收对应于将处理卸载到该外部设备的用户输入。
在一些方面,为了生成该输出,上文所描述的方法、装置和计算机可读介质包括生成内容。在一些情况下,上文所描述的方法、装置和计算机可读介质包括:该一个或多个处理器被配置为基于该对象在该环境中的该位置来输出该内容。
在一些方面,为了输出该内容,上文所描述的方法、装置和计算机可读介质包括向(例如,该装置或该设备的)显示器发送该内容以进行显示。
在一些方面,上文所描述的方法、装置和计算机可读介质包括:基于由该图像传感器捕获的附加图像、该数据流和该装置的该操作状态中的至少一者来检测附加条件;以及响应于检测到该附加条件,执行先前由该外部设备执行的功能。
在一些方面,为了生成该输出,上文所描述的方法、装置和计算机可读介质包括基于用户输入来控制该装置。
在一些方面,为了基于该图像来检测该条件,上文所描述的方法、装置和计算机可读介质包括确定该图像中的一个或多个照明条件。
在一些方面,为了确定该图像中的该一个或多个照明条件,上文所描述的方法、装置和计算机可读介质包括确定该图像的一个或多个光值低于照明阈值。
在一些方面,为了确定该对象在该环境中的该位置,上文所描述的方法、装置和计算机可读介质包括:发送对该外部设备标识该对象在该环境中的该位置的请求;以及从该外部设备接收标识该对象在该环境中的该位置的响应。
在一些方面,该对象是外部显示设备的显示器。
在一些方面,为了基于该图像来检测该条件,上文所描述的方法、装置和计算机可读介质包括在该图像中标识在该外部显示设备的该显示器上显示的视觉媒体内容。
在一些方面,为了生成该输出,上文所描述的方法、装置和计算机可读介质包括生成内容。在一些情况下,该内容虚拟地扩展该外部显示设备的该显示器。
在一些方面,为了生成该输出,上文所描述的方法、装置和计算机可读介质包括至少部分地通过在该图像的区域之上覆盖虚拟内容来生成内容。在一些情况下,该图像的该区域基于该对象在该环境中的该位置。
在一些方面,该对象是外部显示设备的显示器。在一些情况下,该图像的该区域与该外部显示设备的该显示器在该图像中的描绘相邻。
在一些方面,该对象是该装置的用户的手部。在一些情况下,该手部至少部分地与该图像的该区域相邻。
在一些方面,上文所描述的方法、装置和计算机可读介质包括响应于检测到该条件,至少通过将来自该数据流的数据与由该图像传感器捕获的该图像组合来生成合并数据集。在一些情况下,确定该对象的该位置至少部分地基于该合并数据集。
在一些方面,为了生成该输出,上文所描述的方法、装置和计算机可读介质包括生成内容。在一些情况下,上文所描述的输出、方法、装置和计算机可读介质包括向(例如,该设备或该装置的)音频输出设备传输或发送该内容以进行播放。
在一些方面,上文所描述的装置或设备中的每一者是以下各者、能够是以下各者的一部分或能够包括以下各者:扩展现实(XR)设备(例如,虚拟现实(VR)设备、增强现实(AR)设备或混合现实(MR)设备)、智能设备或助理、交通工具、移动设备(例如,移动电话或所谓的“智能电话”或另一移动设备)、可穿戴设备、个人计算机、膝上型计算机、平板计算机、服务器计算机或另一设备。在一些方面,该装置或该设备包括用于捕获一个或多个图像的一个图像传感器(例如,一个相机)或多个图像传感器(例如,多个相机)。在一些方面,该装置或该设备包括用于显示一个或多个图像、通知和/或其他可显示数据的一个或多个显示器。在一些方面,该装置或该设备包括一个或多个扬声器、一个或多个发光设备和/或一个或多个麦克风。在一些方面,上文所描述的装置或设备可以包括一个或多个传感器。在一些方面,该一个或多个传感器可以用于确定该装置的位置、该装置的状态(例如,跟踪状态、操作状态、温度、湿度水平和/或另一状态)并且/或者用于其他目的。
该发明内容不旨在标识所要求保护的主题的关键或必要特征,其也不旨在孤立地用于确定所要求保护的主题的范围。本主题内容应当参考本专利的整个说明书的合适部分、任何或所有附图、以及每项权利要求来理解。
前述内容以及其他特征和实施方案将在参考以下说明书、权利要求书和所附附图时变得更明显。
附图说明
参考下列附图在下文中对本申请的说明性实施方案进行了详细的描述,其中:
图1是示出根据一些示例的图像捕获和处理系统的示例架构的框图;
图2是示出根据一些示例的扩展现实(XR)系统的示例架构的框图;
图3A是示出根据一些示例的用作XR系统的头戴式显示器(HMD)的透视图;
图3B是示出根据一些示例的由用户穿戴的图3A的头戴式显示器(HMD)的透视图;
图4A是示出根据一些示例的包括前置相机并用作XR系统的移动手持机的前表面的透视图;
图4B是示出根据一些示例的包括后置相机并用作XR系统的移动手持机的后表面的透视图;
图5是示出根据一些示例的穿戴头戴式显示器(HMD)的用户的透视图,该HMD用作XR系统并执行手部跟踪以基于手部处于HMD的视场(FOV)中来确定基于手势的输入;
图6A是示出根据一些示例的穿戴头戴式显示器(HMD)的用户的透视图,该HMD用作XR系统并执行手部跟踪以基于用户的手部处于外部相机的FOV中,基于手部的位置(尽管手部在HMD的视场(FOV)外)来确定基于手势的输入;
图6B是示出根据一些示例的穿戴头戴式显示器(HMD)的用户的透视图,该HMD用作XR系统并执行手部跟踪以基于用户的手部处于外部相机的FOV中,基于手部的位置(尽管遮挡物将手部从HMD的视场(FOV)遮挡)来确定基于手势的输入;
图7是示出根据一些示例的外部头戴式显示器(HMD)设备的透视图,该外部HMD设备由于用作XR系统的HMD处的低电池状况而向对该HMD的用户的手部进行手部跟踪提供辅助;
图8A是示出穿戴头戴式显示器(HMD)的用户的透视图,该HMD用作XR系统并基于显示器和/或在HMD的FOV中在显示器上显示的视觉内容的位置来定位虚拟内容;
图8B是示出根据一些示例的穿戴头戴式显示器(HMD)的用户的透视图,该HMD用作XR系统并基于显示器和/或视觉内容的位置(尽管显示器和/或视觉内容在HMD的视场(FOV)外)来定位在显示器上显示的视觉内容的虚拟表示;
图9是示出根据一些示例的用于处理图像数据的操作的流程图;并且
图10是示出用于实现本文所描述的某些方面的计算系统的示例的图。
具体实施方式
以下提供本公开的某些方面和实施方案。这些方面和实施方案中的一些可独立地应用,并且它们中的一些可组合应用,这对于本领域技术人员来说是显而易见的。在以下描述中,出于解释目的阐述了具体细节以提供对本申请的各实施方案的透彻理解。然而,将显而易见的是,可以在没有这些特定细节的情况下实践各个实施方案。各附图和描述不旨在是限制性的。
以下描述仅提供示例性实施方案,且并不打算限制本公开内容的范围、适用性或配置。相反,对示例实施方案的以下描述将向本领域技术人员提供用于实现示例实施方案的赋能描述。应当理解的是,在不脱离如所附权利要求所阐述的本申请的范围的情况下,可以对元件的功能和布置做出各种改变。
相机是使用图像传感器接收光并且捕获图像帧(诸如静态图像或视频帧)的设备。术语“图像”、“图像帧”和“帧”在本文中可互换使用。相机可以被配置有各种图像捕获和图像处理设置。不同的设置产生具有不同外观的图像。在捕获一个或多个图像帧之前或期间确定并应用一些相机设置,诸如ISO、曝光时间、光圈大小、f/光圈值、快门速度、焦点和增益。例如,可以将设置或参数应用于用于捕获一个或多个图像帧的图像传感器。其他相机设置可以配置一个或多个图像帧的后处理,诸如对比度、亮度、饱和度、锐度、水平线、曲线或色彩的改变。例如,设置或参数可以应用于处理器(例如,图像信号处理器或ISP)以用于处理由图像传感器捕获的一个或多个图像帧。
扩展现实(XR)设备是例如通过头戴式显示器(HMD)、眼镜、移动手持机或另一设备向用户显示环境的设备。所显示的环境至少部分地不同于用户和设备所处的真实世界环境,并且可以例如包括虚拟内容。在一些情况下,XR设备向用户显示的环境可以是至少部分虚拟的。用户通常可以例如通过倾斜XR设备和/或平移地或横向地移动XR设备来交互地改变XR设备向用户显示的他们的环境视图。倾斜XR设备可以包括沿着俯仰轴、偏航轴、翻滚轴或它们的组合的倾斜或旋转。XR设备的平移/横向移动可以包括沿着在具有3个垂直轴(诸如X轴、Y轴和Z轴)的3维体积内绘制的路径的移动。仅跟踪XR设备的旋转移动的XR设备可以被称为具有三个自由度(3DoF)的XR设备。跟踪XR设备的旋转和平移移动两者的XR设备可以被称为具有六个自由度(6DoF)跟踪能力的XR设备。
XR设备可以包括传感器,诸如图像传感器、加速度计、陀螺仪、惯性测量单元(IMU)或它们的组合。XR设备可以使用由这些传感器捕获的数据来检测XR设备在真实世界环境中的移动,例如使得XR设备可以基于XR设备的旋转和/或平移移动来交互地更新用户的环境视图。一些XR设备还可以使用由这些传感器捕获的数据来检测和/或跟踪一个或多个对象(诸如用户的手部)的特征。即使原本向用户显示完全虚拟VR环境的XR设备仍然可以在该环境中显示用户自己的手部的表示。在环境中显示用户的手部的表示可以增加XR设备的用户在环境中的沉浸,从而帮助用户感觉他们确实在该环境内部。在环境中显示用户的手部的表示还可以允许用户的手部与由XR设备显示的环境中的虚拟对象和/或界面(例如,菜单)交互。
XR设备可以执行对象跟踪,该对象跟踪可以用于允许用户使用他们的手来与由XR设备显示的虚拟对象和/或界面交互。例如,XR设备可以跟踪XR设备的用户的一只或多只手以确定该一只或多只手的姿态(例如,位置和取向)。手部跟踪可以用于确保由XR设备使用的用户的手部的表示的姿态(例如,以确定基于姿态的输入、用于显示一只或多只手的表示等)与用户的手部的真实世界位置准确地同步。也可以执行其他类型的跟踪,包括头部跟踪、身体跟踪、躯干跟踪、用于与XR设备交互的控制器的跟踪和/或其他对象的跟踪。在一个示例中,手部跟踪可以用于允许XR设备准确地渲染由用户的手部对环境的遮挡、由环境中的一个或多个真实或由XR设备显示的虚拟对象对手部的遮挡、基于用户将真实对象或虚拟对象握持在他们的手中而由手部对任何真实对象或虚拟对象的遮挡等。在一些情况下,如果用户的手部离开XR设备的传感器的视场,那么手部跟踪可能停止正确地工作,例如如下文所讨论的图6A所示。在其他情况下,如果用户的手部从XR设备的传感器的视场被遮挡,则手部跟踪可能停止正确地工作,例如如图6B所示。
对象跟踪(例如,手部跟踪、头部跟踪、身体跟踪等)是可能快速耗尽XR设备的电池的计算量很大的过程。因此,诸如当XR设备的电池电力或其他计算资源低时(例如,如图7所示),基于XR设备的操作状态来卸载某些手部跟踪任务可能是有用的。在一些XR系统中,跟踪其他类型的对象也可能是有用的。例如,在一些XR系统中,跟踪显示屏可能是有用的,例如如图8A至图8B所示。
本文描述了成像设备(例如,XR设备)利用来自一个或多个外部设备的一个或多个数据流的技术。例如,可以从成像设备的图像传感器接收图像。该图像可以是包括对象的环境的一部分的图像。该对象可以或可以不存在于图像中所描绘的环境的该部分中。该对象可以是例如成像设备的用户的手部、用户的头部、用户的身体、成像设备的用户的另一身体部位、显示屏、在显示屏上显示的图像媒体内容、在显示屏上显示的视频媒体内容、人、动物、交通工具、植物、另一XR设备(除了可以是XR设备的成像设备之外)、另一对象或它们的组合。
该成像设备可以标识来自外部设备的数据流。例如,成像设备可以基于从图像传感器接收的图像(例如,通过标识图像中所描绘的数据流,诸如图像中所描绘的在外部显示设备上显示的媒体内容)、基于数据流(例如,通过无线网络或有线连接)从外部设备到成像设备的一个或多个传输、基于用户输入并且/或者基于其他因素来标识来自外部设备的数据流。成像设备可以诸如基于图像、数据流、成像设备的操作状态、它们的任何组合并且/或者基于其他因素来检测条件。在一些示例中,该条件可以基于成像设备失去对对象的跟踪(例如,因为被跟踪的对象已经移出成像设备的FOV、由真实世界或虚拟对象从成像设备的视角遮挡等)、成像设备的计算资源低(例如,电力低并且/或者基于装置的另一操作状态)、成像设备检测到图像内的视觉媒体内容(或该视觉媒体内容的表示)、基于请求在可用于特定功能(例如,显示内容、跟踪诸如用户的手部、头部或身体的对象)时使用外部设备而不是成像设备(例如,XR设备)的用户输入或设置、基于指示设备(例如,外部设备)在接入成像设备时用于特定功能的偏好的用户输入或设置(隐私和/或安全是一个因素(这也可以基于用户输入或设置))、基于用户输入(例如,请求将资源卸载到外部设备的用户输入,诸如请求关闭成像设备的用户输入、请求通过在成像设备上运行的家庭自动化应用来打开或关闭诸如灯的外部设备的用户输入等)、基于成像设备的图像传感器的能力(例如,当一个设备上的红外(IR)传感器在环境照明不充足的情况下有用时、当被跟踪的对象快速移动并且具有较高帧速率的图像传感器更适当时等),或它们的任何组合。
响应于检测到条件,成像设备可以生成输出。例如,基于检测到条件,成像设备可以通过将来自数据流的数据与由图像传感器捕获的图像合并或组合来生成合并数据集。在一些情况下,响应于检测到条件,成像设备可以基于数据流、图像、合并数据集或它们的任何组合来确定对象的至少一部分在环境中的位置。成像设备可以生成并输出基于对象的至少一部分在环境中的位置的内容。例如,如果对象是用户的手部,则由成像设备生成和/或输出的内容可以基于用户的手部的位置来准确地定位由用户的手部握持的虚拟对象,即使没有在图像中描绘用户的手部也是如此。如果对象是显示屏和/或在显示屏上显示的视觉内容,则由成像设备生成和/或输出的内容可以将虚拟内容定位成与显示屏和/或在显示屏上显示的视觉内容的位置相邻,或者相对于显示屏和/或在显示屏上显示的视觉内容的位置具有某一预定相对定位。由成像设备输出的内容可以包括合并数据集的至少一部分。该成像设备和外部设备可以执行隐私协商。例如,外部设备可以向成像设备标识该成像设备可以和不能使用来自外部设备的数据流,并且反之亦然。
在第一说明性示例中,外部设备包括外部相机,并且来自外部设备的数据流包括来自外部相机的相机馈送(例如,一个或多个图像)。外部相机可以是来自另一成像设备(例如,另一XR设备)或来自另一相机的相机。外部相机可以处于与成像设备相同的环境中,并且/或者可以在该外部相机的FOV中具有与成像设备在该成像设备的FOV中相同的环境。条件可以包括例如成像设备已经失去对用户的手部的跟踪并且不能正确地执行手部跟踪。例如,用户可能已经将他们的手部移出成像设备的视场(例如,如图6A中)并且/或者遮挡物可能已经从成像设备的相机的视角遮挡了用户的手部(例如,如图6B中)。然而,可以在来自外部相机的相机馈送中描绘用户的手部。成像设备可以使用来自外部相机的相机馈送来帮助标识用户的手部相对于由成像设备的图像传感器捕获的图像中所描绘的内容的位置。在一些情况下,外部设备可以包括处理器,该处理器可以例如通过使用来自源于外部相机的相机馈送的图像执行手部检测和/或手部跟踪来执行初步处理。外部设备可以向成像设备发送来自相机馈送的图像和/或对应于初步处理的数据。由成像设备生成和/或输出的内容可以包括基于手部跟踪对图像的修改,诸如将虚拟内容并入到图像中。虚拟内容可以基于用户的手部的位置来定位在成像设备的显示器上(或相对于成像设备的显示器定位)。
在第二说明性示例中,外部设备包括外部相机,并且来自外部设备的数据流包括来自外部相机的相机馈送(例如,一个或多个图像)。外部相机可以是来自另一成像设备(例如,另一XR设备)或来自另一相机的相机。外部相机可以处于与成像设备相同的环境中,并且/或者可以在该外部相机的FOV中具有与成像设备在该成像设备的FOV中相同的环境。在这样的示例中,条件可以基于XR设备的操作状态。例如,条件可以基于检测到成像设备的电池电力、数据带宽、处理带宽、另一计算资源或它们的组合较低。成像设备可以使用来自外部相机的相机馈送来帮助执行手部跟踪,或可能是电池密集型、带宽密集型、处理密集型、以其他方式使用大量计算资源或它们的组合的其他功能。如在第一说明性示例中,第二说明性示例中的外部设备可以(例如,通过对来自源于外部相机的相机馈送的图像执行手部检测和/或跟踪)执行初步处理。外部设备可以向成像设备发送来自相机馈送的(预处理)图像和/或对应于初步处理的数据。由成像设备生成和/或输出的内容可以包括基于手部跟踪对图像的修改,诸如基于手部位置将虚拟内容并入到图像中。
在第三说明性示例中,外部设备包括显示屏。在此示例中,外部设备可以是电视、膝上型计算机、台式计算机监视器、智能家庭设备或助理、视频游戏控制台监视器、具有显示屏的移动手持机、具有显示屏的可穿戴设备、电视显示屏、具有显示屏的另一设备、其自身的显示屏,或它们的组合。来自外部设备的数据流可以包括在显示屏上显示的视觉媒体内容。由成像设备捕获的图像可以包括外部设备的显示屏的表示,并且因此可以包括在外部设备的显示屏上显示的视觉媒体内容的表示。条件可以包括在由成像设备的图像传感器捕获的图像内检测显示屏的表示和/或在显示屏上显示的视觉媒体内容的表示。例如,成像设备的用户可以通过用户的成像设备看到外部设备,该外部设备在其显示屏上显示视觉媒体内容。例如,视觉媒体内容可以是电视节目、电影、视频游戏、幻灯片、另一类型的图像、另一类型的视频,或它们的某种组合。将来自数据流(视觉媒体内容)的数据与图像进行合并可以包括向图像中的视觉媒体内容的表示添加信息。所添加的信息可以例如包括关于电视节目或电影的场景中的演员的信息、关于所删除的场景的信息、关于诸如健康的视频游戏统计数据的信息和/或其他信息。对于成像设备的用户,所添加的信息可以出现在视觉媒体内容的表示附近,或者覆盖在视觉媒体内容的表示之上,或者相对于视觉媒体内容的表示以其他方式定位。
图1是示出图像捕获和处理系统100的架构的框图。图像捕获和处理系统100包括被用于捕获和处理场景的图像(例如,场景110的图像)的各种组件。图像捕获和处理系统100可以捕获独立的图像(或照片)和/或可以捕获包括特定序列中的多个图像(或视频帧)的视频。系统100的透镜115面向场景110(诸如真实世界环境的一部分)并接收来自场景110的光。透镜115使光朝向图像传感器130弯曲。被透镜115接收的光穿过由一个或多个控制机构120控制的孔径,并被图像传感器130接收。
一个或多个控制机构120可以基于来自图像传感器130的信息和/或基于来自图像处理器150的信息来控制曝光、聚焦和/或变焦。一个或多个控制机构120可包括多个机构和组件;例如,控制机构120可以包括一个或多个曝光控制机构125A、一个或多个聚焦控制机构125B和/或一个或多个变焦控制机构125C。一个或多个控制机构120还可以包括除了所示出的控制机构之外的附加控制机构,诸如控制模拟增益、闪光、高动态范围(HDR)、景深和/或其他图像捕获属性的控制机构。
控制机构120中的曝光控制机构125B可以获得曝光设置。在一些示例中,聚焦控制机构125B将聚焦设置存储在存储器寄存器中。基于聚焦设置,聚焦控制机构125B可以相对于图像传感器130的位置来调整透镜115的位置。例如,基于焦点设置,焦点控制机构125B可以通过致动电机或伺服来使透镜115移动地更靠近图像传感器130或更远离图像传感器130,从而调整焦点。在一些情况下,在系统100中可包括附加镜头,例如图像传感器130的每个光电二极管上方的一个或多个微透镜,所述微透镜各自在从镜头115接收的光到达光电二极管之前使所述光朝向对应光电二极管弯曲。可以通过对比度检测自动聚焦(CDAF)、相位检测自动聚焦(PDAF)或其某种组合来确定焦点设置。可以使用控制机构120、图像传感器130和/或图像处理器150来确定焦点设置。焦点设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的曝光控制机构125A可以获得曝光设置。在一些情形中,曝光控制机构125A将曝光设置存储在存储器寄存器中。基于该曝光设置,曝光控制机构125A可以控制光圈的大小(例如,光圈大小或f/光圈值)、光圈打开的历时时间(例如,曝光时间或快门速度)、图像传感器130的灵敏度(例如,ISO速度或胶片速度)、由图像传感器130施加的模拟增益或其任意组合。曝光设置可以被称为图像捕获设置和/或图像处理设置。
控制机构120的变焦控制机构125C可以获得变焦设置。在一些示例中,变焦控制机构125C将变焦设置存储在存储器寄存器中。基于变焦设置,变焦控制机构125C可以控制包括透镜115和一个或多个附加透镜的透镜元件组件(透镜组件)的焦距。例如,变焦控制机构125C可以通过致动一个或多个电机或伺服以相对于彼此移动一个或多个透镜来控制透镜组件的焦距。变焦设置可以被称为图像捕获设置和/或图像处理设置。在一些示例中,透镜组件可以包括齐焦变焦透镜或可变焦距变焦透镜。在一些示例中,透镜组件可以包括聚焦透镜(在一些情形中其可以是透镜115),该聚焦透镜首先接收来自场景110的光,其中该光随后在该光到达图像传感器130之前穿过聚焦透镜(例如,透镜115)与图像传感器130之间的无焦变焦系统。无焦变焦系统在一些情形中可以包括具有相等或相似焦距(例如,在阈值差内)的两个正(例如,会聚、凸)透镜,在它们之间具有负(例如,发散、凹)透镜。在一些情形中,变焦控制机构125C移动无焦变焦系统中的各透镜中的一者或多者,诸如负透镜与正透镜中的一者或两者。
图像传感器130包括光电二极管或其他光敏元件的一个或多个阵列。每个光电二极管对最终与由图像传感器130产生的图像中的特定像素相对应的光量进行测量。在一些情形中,不同的光电二极管可以被不同的色彩滤波器覆盖,并且因此可以测量与覆盖该光电二极管的滤波器的颜色相匹配的光。例如,Bayer(拜耳)滤色器包括红色滤色器、蓝色滤色器和绿色滤色器,其中图像的每个像素基于来自覆盖在红色滤色器中的至少一个光电二极管的红光数据、来自覆盖在蓝色滤色器中的至少一个光电二极管的蓝光数据以及来自覆盖在绿色滤色器中的至少一个光电二极管的绿光数据而生成。其他类型的滤色器可以使用黄色、品红色和/或青色(也称为“祖母绿”)滤色器来代替或附加于红色、蓝色和/或绿色滤色器。一些图像传感器可以完全缺少滤色器,以及可以替代地遍及像素阵列来使用不同的光电二极管(在一些情况下是垂直地堆叠的)。整个像素阵列中的不同光电二极管可以具有不同的光谱灵敏度曲线,由此对不同波长的光进行响应。单色图像传感器也可能缺乏滤色器,并且因此缺乏色彩深度。
在一些情形中,图像传感器130可替代地或附加地包括不透明和/或反射掩模,其阻挡光在某些时间和/或从某些角度到达某些光电二极管或某些光电二极管的部分,这可被用于相位检测自动聚焦(PDAF)。图像传感器130还可以包括用以放大由光电二极管输出的模拟信号的模拟增益放大器和/或用以将由光电二极管输出的模拟信号(和/或由模拟增益放大器放大的模拟信号)转换成数字信号的模数转换器(ADC)。在一些情形中,关于一个或多个控制机构120所讨论的某些组件或功能可以替代地或附加地包括在图像传感器130中。图像传感器130可以是电荷耦合器件(CCD)传感器、电子倍增CCD(EMCCD)传感器、有源像素传感器(APS)、互补金属氧化物半导体(CMOS)、N型金属氧化物半导体(NMOS)、混合CCD/CMOS传感器(例如,sCMOS)或其某种其他组合。
图像处理器150可以包括一个或多个处理器,诸如一个或多个图像信号处理器(ISP)(包括ISP 154)、一个或多个主机处理器(包括主机处理器152)和/或关于计算设备5000讨论的一个或多个任何另一类型的处理器5010。主机处理器152可以是数字信号处理器(DSP)和/或另一类型的处理器。在一些实现中,图像处理器150是包括主机处理器152和ISP 154的单个集成电路或芯片(例如,称为片上系统或SoC)。在一些情形中,芯片还可以包括一个或多个输入/输出端口(例如,输入/输出(I/O)端口156)、中央处理单元(CPU)、图形处理单元(GPU)、宽带调制解调器(例如,3G、4G或LTE、5G等)、存储器、连通性组件(例如,蓝牙(Bluetooth)TM、全球定位系统(GPS)等)、它们的任何组合和/或其他组件。I/O端口156可以包括根据一个或多个协议或规范的任何合适的输入/输出端口或接口,诸如集成电路间2(I2C)接口、集成电路间3(I3C)接口、串行外围设备接口(SPI)接口、串行通用输入/输出(GPIO)接口、移动工业处理器接口(MIPI)(诸如MIPI CSI-2物理(PHY)层端口或接口、高级高性能总线(AHB)总线、其任意组合和/或其他输入/输出端口。在一个说明性示例中,主机处理器152可以使用I2C端口与图像传感器130通信,并且ISP 154可以使用MIPI端口与图像传感器130通信。
图像处理器150可以执行多个任务,诸如去马赛克、颜色空间转换、图像帧下采样、像素内插、自动曝光(AE)控制、自动增益控制(AGC)、CDAF、PDAF、自动白平衡、合并图像帧以形成HDR图像、图像识别、对象识别、特征识别、对象检测、对象跟踪、描述符生成、接收输入、管理输出、管理存储器或它们的某种组合。图像处理器150可以将图像帧和/或经处理的图像存储在随机存取存储器(RAM)140/5020、只读存储器(ROM)145/5025、高速缓存、存储器单元、另一存储设备或它们的某种组合中。
各种输入/输出(I/O)设备160可被连接到图像处理器150。I/O设备160可以包括显示屏、键盘、按键板、触摸屏、触控板、触敏表面、打印机、任何其他输出设备5035、任何其他输入设备5045或它们的某种组合。在一些情形中,字幕可以通过I/O设备160的物理键盘或按键板,或者通过I/O设备160的触摸屏的虚拟键盘或按键板输入到图像处理设备105B中。I/O160可以包括实现系统100与一个或多个外围设备之间的有线连接的一个或多个端口、插孔或其他连接器,系统100可以通过这些端口、插孔或其他连接器从一个或多个外围设备接收数据和/或将数据传送到一个或多个外围设备。I/O 160可以包括一个或多个无线收发器,其实现系统100与一个或多个外围设备之间的无线连接,系统100可以通过所述无线连接从一个或多个外围设备接收数据和/或将数据传送到一个或多个外围设备。外围设备可以包括先前讨论的任何类型的I/O设备160,并且一旦它们被耦合到端口、插孔、无线收发器或其他有线和/或无线连接器,它们本身就可以被认为是I/O设备160。
在一些情况下,图像捕获和处理系统100可以是单个设备。在一些情形中,图像捕获和处理系统100可以是两个或更多个独立的设备,包括图像捕获设备105A(例如,相机)和图像处理设备105B(例如,耦合到相机的计算设备)。在一些实现中,图像捕获设备105A和图像处理设备105B可以例如经由一个或多个电线、电缆或其他电连接器耦合在一起,和/或经由一个或多个无线收发器无线地耦合在一起。在一些实现中,图像捕获设备105A和图像处理设备105B可以彼此断开连接。
如图1中所示出的,垂直虚线将图1的图像捕获和处理系统100划分为分别表示图像捕获设备105A和图像处理设备105B的两个部分。图像捕获设备105A包括透镜115、控制机构120和图像传感器130。图像处理设备105B包括图像处理器150(包括ISP 154和主机处理器152)、RAM 140、ROM 145和I/O 160。在一些情形中,图像捕获设备105A中所示出的某些组件(诸如ISP 154和/或主机处理器152)可被包括在图像捕获设备105A中。
图像捕获和处理系统100可以包括电子设备,诸如移动或固定电话手持机(例如,智能手机、蜂窝电话等)、台式计算机、膝上型或笔记本计算机、平板计算机、机顶盒、电视、智能家庭设备或助理、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、网际协议(IP)相机或任何另一合适的电子设备。在一些示例中,图像捕获和处理系统100可以包括用于无线通信的一个或多个无线收发器,诸如蜂窝网络通信、802.11Wi-FI通信、无线局域网(WLAN)通信或它们的某种组合。在一些实现中,图像捕获设备105A和图像处理设备105B可以是不同的设备。例如,图像捕获设备105A可以包括相机设备,并且图像处理设备105B可以包括计算设备,诸如移动手持机、台式计算机或其他计算设备。
尽管图像捕获和处理系统100被示为包括某些组件,但本领域普通技术人员将领会,图像捕获和处理系统100可包括比图1中所示的那些组件更多或更少的组件。图像捕获和处理系统100的组件可以包括软件、硬件或软件和硬件的一个或多个组合。例如,在一些实现中,图像捕获和处理系统100的组件可包括和/或可使用电子电路或其他电子硬件(其可包括一个或多个可编程电子电路(例如,微处理器、GPU、DSP、CPU和/或其他合适的电子电路))来实现,和/或可包括和/或可使用计算机软件、固件、或其任何组合来实现,以执行本文描述的各种操作。软件和/或固件可以包括存储在计算机可读存储介质上并且可由实现图像捕获和处理系统100的电子设备的一个或多个处理器执行的一个或多个指令。
本文描述了用于标识和跟踪对象在一个或多个图像内的位置的系统、装置、过程和计算机可读介质。可以使用图像捕获设备150A的图像传感器130、图像捕获和处理系统100或它们的组合来捕获图像中的每个图像。可以使用图像处理设备105B、图像捕获和处理系统100或它们的组合来处理图像中的每个图像。图像捕获和处理系统100可以是XR系统或XR设备(诸如图2的XR系统210)的一部分。图像捕获和处理系统100可以是XR系统或XR设备的传感器,诸如图2的XR系统210的传感器215。图像捕获和处理系统100可以是外部设备(诸如,图2的外部设备220)的一部分。图像捕获和处理系统100可以是外部设备的传感器,诸如图2的外部设备220的传感器225。
图2是示出扩展现实(XR)系统210的示例架构的框图200。图2的XR系统210包括一个或多个传感器215、处理引擎205、输出内容生成引擎280和输出设备290。
XR系统210的处理引擎205可以从XR系统210的一个或多个传感器215接收传感器数据。XR系统210的一个或多个传感器215可以包括例如一个或多个图像传感器130、一个或多个加速度计、一个或多个陀螺仪、一个或多个惯性测量单元(IMU)、一个或多个光探测和测距(LIDAR)传感器、一个或多个无线电探测和测距(RADAR)传感器、一个或多个声音探测和测距(SODAR)传感器、一个或多个声音导航和测距(SONAR)传感器、一个或多个飞行时间(ToF)传感器、一个或多个结构光传感器、一个或多个麦克风、本文所描述的一个或多个其他传感器或它们的组合。在一些示例中,一个或多个传感器215可以通过一个或多个有线和/或无线传感器连接器耦合到处理引擎205。在一些示例中,传感器数据可以包括一个或多个图像。一个或多个图像可以包括静态图像、一个或多个视频的视频帧或它们的组合。一个或多个图像可以被称为静态图像、图像帧、视频帧、帧或它们的组合。围绕XR系统210的一个或多个传感器215示出了具有虚线的框,以指示一个或多个传感器215可以被认为是XR系统210和/或处理引擎205的一部分。
XR系统210的处理引擎205可以从外部设备220的一个或多个传感器225接收传感器数据。外部设备220的一个或多个传感器225可以包括例如一个或多个图像传感器130、一个或多个加速度计、一个或多个陀螺仪、一个或多个IMU、一个或多个LIDAR传感器、一个或多个RADAR传感器、一个或多个SODAR传感器、一个或多个SONAR传感器、一个或多个ToF传感器、一个或多个结构光传感器、一个或多个麦克风、本文所描述的一个或多个其他传感器或它们的组合。在一些示例中,外部设备220和/或一个或多个传感器225可以通过一个或多个有线和/或无线连接耦合到处理引擎205。一个或多个图像可以被称为静态图像、图像帧、视频帧、帧或它们的组合。
XR系统210的处理引擎205包括可以与外部设备220协商的设备间协商引擎230。设备间协商引擎230可以包括通信收发器235。通信收发器235可以包括一个或多个有线通信收发器、一个或多个无线通信收发器或它们的组合。XR系统210的设备间协商引擎230可以使用通信收发器235来从外部设备220的传感器225接收传感器数据。XR系统210的设备间协商引擎230还可以使用通信收发器235向外部设备220发送协商数据和/或从外部设备220接收协商数据,作为诸如同步协商、安全协商、隐私协商或它们的组合的一个或多个协商的一部分。
XR系统210的设备间协商引擎230可以包括同步协商引擎240,该同步协商引擎将从外部设备220的一个或多个传感器225接收的传感器数据与从XR系统210的一个或多个传感器215接收的传感器数据进行同步。例如,可以用由外部设备220的一个或多个传感器225捕获传感器数据的各个元素(例如,各个图像)的时间戳来标记从外部设备220的一个或多个传感器225接收的传感器数据。同样,可以用由XR系统210的一个或多个传感器215捕获传感器数据的各个元素(例如,各个图像)的时间戳来标记从XR系统210的一个或多个传感器215接收的传感器数据。同步协商引擎240可以基于对应时间戳匹配,尽可能紧密地将来自外部设备220的一个或多个传感器225的传感器数据的元素与来自XR系统210的一个或多个传感器215的传感器数据的对应元素进行匹配。在说明性示例中,XR系统210的一个或多个传感器215可以捕获具有时间戳4:30.3247的图像,并且外部设备220的一个或多个传感器225可以捕获具有时间戳4:29.7930、4:30.0139、4:30.3923和4:30.8394的图像。同步协商引擎240可以标识来自外部设备220的一个或多个传感器225的传感器数据的4:30.3923时戳与来自XR系统210的一个或多个传感器215的传感器数据的4:30.3247时戳最紧密地匹配。因此,同步协商引擎240可以将对应于来自一个或多个传感器215的传感器数据的4:30.3923时间戳的图像与对应于来自XR系统210的一个或多个传感器225的传感器数据的4:30.3247时间戳的图像进行同步。在一些示例中,同步协商引擎240可以向外部设备220发送对与来自XR系统210的一个或多个传感器215的传感器数据的时间戳最紧密地匹配的传感器数据的请求。由同步协商引擎240执行的同步可以基于传感器能力。例如,如果XR系统210的传感器215以90帧每秒(fps)捕获图像,而外部设备220的传感器225以30fps捕获图像,则同步协商引擎240可以将由XR系统210的传感器215捕获的每三个图像与由外部设备220的传感器225捕获的一个图像进行同步。
XR系统210的设备间协商引擎230可以包括安全协商引擎245。安全协商引擎245可以执行XR系统210与外部设备220之间的安全握手。该安全握手可以包括例如传输层安全(TLS)握手、安全套接字层(SSL)握手或它们的组合。该安全握手可以标识将在XR系统210与外部设备220之间使用的加密协议的版本,决定将在XR系统210与外部设备220之间使用的密码套件,使用一个或多个数字签名(和/或一个或多个证书机构)来认证XR系统210和/或外部设备220的身份。该安全握手可以生成会话密钥以便在握手完成之后使用对称加密。该安全握手可以为XR系统210和外部设备220中的每一者生成或检索非对称密钥对,并且可以将来自每个密钥对的公钥从在其上生成或检索它们的设备传送到另一设备。XR系统210和外部设备220然后可以在安全握手之后使用非对称和/或对称加密经由加密通信进行通信。
XR系统210的设备间协商引擎230可以包括隐私协商引擎247。该隐私协商引擎247可以从外部设备220的传感器225请求传感器数据以用于所标识的目的,例如用于图6A、图6B或图7中的手部跟踪。外部设备220可以出于所标识的目的而准许或拒绝XR系统210对来自外部设备220的传感器225的传感器数据的访问。在一些示例中,外部设备220可以包括外部设备220可以准许共享来自外部设备220的传感器225的传感器数据的目的的白名单。在一些示例中,外部设备220可以包括外部设备220不能准许(并且反而必须拒绝)共享来自外部设备220的传感器225的传感器数据的目的的黑名单。在一些示例中,隐私协商引擎247可以请求来自外部设备220的传感器225的传感器数据以用于多个目的,但外部设备220可以做出响应,指示外部设备220仅准许针对该多个目的的子集共享来自外部设备220的传感器225的传感器数据。隐私协商引擎247可以遵守外部设备220出于来自外部设备220的传感器225的传感器数据可以被使用的目的而标识的任何限制。
在一些示例中,如果要向XR系统210发送来自外部设备220的传感器225的传感器数据,则外部设备220可以对XR系统210做出某些请求或要求,隐私协商引擎247可以同意该请求或要求并且执行对应于该请求或要求的动作。例如,在一些示例中,外部设备220可以请求XR系统210在使用之后立即从外部设备220的传感器225删除传感器数据,或者在使用之后的预定时间段删除该传感器数据。隐私协商引擎247可以同意此要求,并且可以确保XR系统210在使用之后立即从外部设备220的传感器225删除传感器数据,或者在使用之后的预定时间段删除该传感器数据。在一些示例中,外部设备220可以请求XR系统210不使用、丢弃或替换来自外部设备220的传感器225的传感器数据的各方面的某些部分。例如,外部设备220可以请求XR系统210不使用或匿名化来自外部设备220的传感器225的传感器数据中的姓名、面部或其他敏感信息。隐私协商引擎247可以同意此要求,并且可以确保XR系统210不使用、丢弃或替换来自外部设备220的传感器225的传感器数据的各方面的某些部分。
XR系统210的处理引擎205包括特征管理引擎250。特征管理引擎250从XR系统210的一个或多个传感器215接收传感器数据。特征管理引擎250从外部设备220的一个或多个传感器225接收传感器数据。设备间协商引擎230可以在由特征管理引擎250接收传感器数据之前或同时,将来自XR系统210的一个或多个传感器215的传感器数据与来自外部设备220的一个或多个传感器225的传感器数据进行同步。设备间协商引擎230可以在由特征管理引擎250接收传感器数据之前或同时标识任何安全和/或隐私限制、约束和/或要求。
特征管理引擎250包括特征提取引擎255。特征提取引擎255可以从来自XR系统210的一个或多个传感器215的传感器数据检测和/或提取特征。在一些情况下,特征提取引擎255可以从来自外部设备220的一个或多个传感器225的传感器数据检测和/或提取特征。例如,如果传感器数据包括图像,则特征提取引擎255可以检测和/或提取视觉特征。视觉特征可以包括图像的与众不同的、唯一的和/或可标识的部分,诸如图像的描绘角点、边缘、梯度和/或斑点的一部分。斑点可以被定义为一个或多个图像属性(例如,亮度、颜色、色调、色相、饱和度或它们的组合)是恒定的或近似恒定的区域。为了检测图像中的特征和/或提取图像中的特征,特征提取引擎255可以执行尺度空间搜索,为此特征提取引擎255可以使用帧缓冲器来进行尺度空间搜索。为了检测图像中的特征,该特征提取引擎255可以使用边缘检测、角点检测、斑点检测、脊检测、仿射不变量特征检测或它们的组合。边缘检测可以包括例如Canny、Deriche、微分、Sobel、Prewitt和/或Roberts交叉边缘检测。角点检测可以包括例如Harris算子、Shi and Tomasi、水平曲线曲率、Hessian特征强度测量、最小同值分割吸收核(smallest univalue segment assimilating nucleus)(SUSAN)和/或来自加速分割测试(FAST)角点检测的特征。斑点检测可以包括例如高斯拉普拉斯算子(Laplacian ofGaussian)(LoG)、高斯差(DoG)、Hessian行列式(dOH)、最大稳定极值区域和/或基于主曲率的区域检测器(PCBR)斑点检测。仿射不变量特征检测可以包括仿射形状适应、Harris仿射和/或Hessian仿射特征检测。
为了提取特征,特征提取引擎255可以生成用于特征的描述符。可以基于特征周围的局部图像块的提取以及如局部图像块中所描绘的特征的描述来生成用于特征的描述符。特征描述符可以例如将特征描述为一个或多个特征向量的集合。可以使用任何合适的技术来提取特征,该技术诸如尺度不变量特征变换(SIFT)、习得不变量特征变换(LIFT)、加速鲁棒特征(SURF)、梯度位置取向直方图(GLOH)、取向梯度直方图(HOG)、取向快速旋转简报(ORB)、二元鲁棒不变量可缩放关键点(BRISK)、快速视网膜关键点(FREAK)、KAZE、加速KAZE(AKAZE)、归一化互相关(NCC)、描述符匹配、另一合适的技术或它们的组合。在一些示例中,使用特征提取引擎255的特征检测和/或特征提取可以包括标识特征在图像内的位置、标识特征在3D环境内的位置,或两者。
特征管理引擎250包括特征跟踪引擎260。特征提取引擎255可以从一个图像到另一个图像跟踪由特征提取引擎255检测和/或提取的特征。如由特征跟踪引擎260执行的特征跟踪可以包括帧到帧跟踪、框跟踪、Kanade-Lucas-Tomasi(KLT)特征跟踪、均值偏移特征跟踪或它们的组合。一些特征表示环境内的对象的各部分,诸如手部或显示屏。特征跟踪引擎260可以通过相对于环境的特征跟踪环境内的对象的特征来跟踪环境内的对象的移动。
特征管理引擎250包括数据融合引擎265。在一些示例中,数据融合引擎265可以将由特征提取引擎255从接收自XR系统210的一个或多个传感器215的传感器数据检测和/或提取的特征与由特征提取引擎255从接收自外部设备220的一个或多个传感器225的传感器数据检测和/或提取的特征进行匹配。在一些情况下,XR系统210的一个或多个传感器215和外部设备220的一个或多个传感器225可以被布置成使得在由相应传感器(在图像传感器的情况下)捕获和/或(在非成像传感器的情况下)感测的真实世界环境的场景之间存在至少一些重叠。在一些示例中,数据融合引擎265可以将由特征跟踪引擎260从来自XR系统210的一个或多个传感器215的传感器数据跟踪的特征与由特征跟踪引擎260从来自外部设备220的一个或多个传感器225的传感器数据跟踪的特征进行匹配。例如,数据融合引擎265可以(用三维坐标系)标识在来自XR系统210的一个或多个传感器215的传感器数据和来自外部设备220的一个或多个传感器225的传感器数据两者中检测、提取和/或跟踪的特定特征的单个三维点。通过匹配两组传感器数据中共同的几个特征,数据融合引擎265还可以相对于在两组传感器数据中的特征来映射在一组传感器数据中但不在另一组传感器数据中的特征。因此,数据融合引擎265可以相对于存在于来自XR系统210的一个或多个传感器215的传感器数据中的特征,来定位在来自外部设备220的一个或多个传感器225的传感器数据中但不存在于来自XR系统210的一个或多个传感器215的传感器数据中的特征。同样,数据融合引擎265可以相对于存在于来自外部设备220的一个或多个传感器225的传感器数据中的特征,来定位来自XR系统210的一个或多个传感器215的传感器数据中但不存在于来自外部设备220的一个或多个传感器225的传感器数据中的特征。在一些示例中,可以执行如由数据融合引擎265执行的本文所讨论的某些操作(诸如特征映射),而不管XR系统210的处理引擎205是否从外部设备220的一个或多个传感器225接收传感器数据。在一些示例中,如由数据融合引擎265执行的本文所讨论的某些操作(诸如特征映射)可以由特征提取引擎255、特征跟踪引擎260或特征管理引擎250的另一部分执行。
在一些示例中,特征管理引擎250可以执行对XR系统210(和/或XR系统210的传感器215中的每个传感器)在XR系统210所处的真实世界环境内的姿态的姿态估计。姿态可以包括3维空间中的位置,诸如(例如,在水平(x)方向、垂直(y)方向和深度(z)方向上的)一组3维平移坐标。附加地或另选地,姿态可以包括取向(例如,俯仰、偏航和/或翻滚)。特征管理引擎250可以基于已由特征提取引擎255检测和/或提取的特征、基于已由特征跟踪引擎260跟踪的特征、基于已由数据融合引擎265融合和/或映射的特征或它们的组合来估计姿态。在一些方面,特征管理引擎250可以执行针对特征的立体匹配,例如其中传感器215和/或传感器225包括表示同一场景的多视点视图的图像传感器群组(例如,图像传感器对)。在一些方面,特征管理引擎250可以执行映射,诸如映射致密化、关键帧添加、关键帧移除、束调整、回环检测、重新定位和/或一个或多个其他同时定位和映射(SLAM)操作。在一些示例中,可以独立于特征检测和/或提取来确定XR系统210(和/或传感器215和/或传感器225中的每一者)的姿态。例如,可以使用定位程序(诸如使用定位参考信号(PRS)、信标信号、ToF测量值等)来确定姿态。对于静止传感器或外部设备,可以从传感器或外部设备的存储器或单独服务器中检索姿态,其中该姿态可能在先前(例如,在校准过程期间、在基于指示传感器或外部设备的位置的用户输入来设置设备期间等)已被存储。
特征管理引擎250可以基于使用特征提取引擎255和/或特征跟踪引擎260从来自XR系统210的一个或多个传感器215的传感器数据检测、提取和/或跟踪的特征来输出特征信息270。特征管理引擎250可以基于使用特征提取引擎255和/或特征跟踪引擎260或使用特征提取引擎255、特征跟踪引擎260和/或数据融合引擎265,从来自XR系统210的一个或多个传感器215的传感器数据和来自外部设备220的一个或多个传感器225的传感器数据两者检测、提取、跟踪和/或合并(组合)的特征来输出增强特征信息275。在一些情况下,增强特征信息275可以标识特征信息270中未包括的附加特征,并且因此可以表示在来自XR系统210的一个或多个传感器215的传感器数据和/或来自外部设备220的一个或多个传感器225的传感器数据内表示的环境的更完整的特征映射。增强特征信息275可以比特征信息270标识特征的更准确位置,并且因此可以表示在来自XR系统210的一个或多个传感器215的传感器数据和/或来自外部设备220的一个或多个传感器225的传感器数据内表示的环境的更准确的特征映射。
XR系统210可以包括输出内容引擎280。该输出内容引擎280可以基于来自XR系统210的一个或多个传感器215的传感器数据、来自外部设备220的一个或多个传感器225的传感器数据和/或虚拟内容来生成输出内容285。在一些示例中,输出内容285可以包括输出图像,该输出图像是来自XR系统210的一个或多个传感器215的传感器数据的输入图像的修改版本,该输入图像被修改以便添加基于增强特征信息275(该增强特征信息包括从来自外部设备220的一个或多个传感器225的传感器数据提取的特征信息)来定位的虚拟内容。例如,如果对象在外部设备220的一个或多个传感器215的视场中但不在XR系统210的一个或多个传感器225的视场中,则对应于环境中的特定对象(诸如手部或显示屏)的特征可以在增强特征信息275中但不在特征信息270中。
XR系统210可以将输出内容285输出到XR系统210的输出设备290。输出设备290可以包括例如显示器、音频输出设备、图10的输出设备1035中的任一者、可以将XR系统210耦合到先前列出类型的输出设备中的一者的连接器。在一些示例中,输出内容285可以包括XR系统210可以使用输出设备290的显示器来显示的一个或多个图像和/或一个或多个视频。显示器可以包括显示屏,诸如液晶显示器(LCD)显示器、等离子体显示器、发光二极管(LED)显示器、有机LED(OLED)显示器、电子纸显示器、电子墨水显示器或它们的组合。显示器可以包括投影仪和/或投影表面(投影仪将图像投影到该投影表面上)。投影表面可以是不透明的、透明的或半透明的。显示器可以是头戴式显示器(HMD)310的显示器、XR眼镜(例如,AR眼镜)的显示器、移动手持机410的显示器345和/或另一设备。在一些示例中,输出内容285可以包括XR系统210可以使用输出设备290的显示器来显示的视频的一个或多个图像。在一些示例中,输出内容285可以包括一个或多个音频剪辑,XR系统210可以使用输出设备290的音频输出设备来播放这些音频剪辑。音频输出设备可以包括例如扬声器、耳机或它们的组合。
在一些示例中,XR系统210直接从外部设备220接收外部设备220的传感器225的传感器数据。在一些示例中,XR系统210从中间设备间接地接收外部设备220的传感器225的传感器数据。中间设备的示例可以包括例如服务器和/或云服务,外部设备220将其传感器数据上传到该服务器和/或云服务。本文所讨论的在XR系统210的设备间协商引擎230与外部设备220之间执行的协商在一些情况下可以改为在XR系统210的设备间协商引擎230与中间设备之间执行。
图3A是示出用作扩展现实(XR)系统210的头戴式显示器(HMD)310的透视图300。HMD 310可以是例如增强现实(AR)头戴式设备(例如,AR眼镜或智能眼镜)、虚拟现实(VR)头戴式设备、混合现实(MR)头戴式设备、另一类型的XR头戴式设备,或它们的某种组合。HMD310可以是XR系统210的示例或者是XR系统210的一部分。HMD 310包括沿着HMD 310的前部的第一相机330A和第二相机330B。第一相机330A和第二相机330B可以是XR系统210的传感器215的示例。在一些示例中,HMD 310可以仅具有单个相机。在一些示例中,除了第一相机330A和第二相机330B之外,HMD 310还可以包括一个或多个附加相机,该一个或多个附加相机也可以是XR系统210的传感器215的示例。在一些示例中,除了第一相机330A和第二相机330B之外,HMD 310还可以包括一个或多个附加传感器,该一个或多个附加传感器也可以是XR系统210的传感器215的示例。
HMD 310可包括对于用户320(在用户320的头上穿戴着HMD 310)可见的一个或多个显示器340。HMD 310的一个或多个显示器340可以是XR系统210的输出设备290的示例。在一些示例中,HMD 310可以包括一个显示器340和两个取景器。这两个取景器可以包括用于用户320的左眼的左取景器和用于用户320的右眼的右取景器。左取景器可以被取向为使得用户320的左眼看到显示器的左侧。右取景器可以被取向为使得用户320的右眼看到显示器的右侧。在一些示例中,HMD 310可包括两个显示器340,包括向用户320的左眼显示内容的左显示器和向用户320的右眼显示内容的右显示器。
图3B是示出图3A的头戴式显示器(HMD)由用户320佩戴的透视图350。用户320将HMD 310穿戴在用户320的眼睛上方的用户320的头部上。HMD 310可以利用第一相机330A和第二相机330B捕获图像。在一些示例中,HMD 310朝向用户320的眼睛显示一个或多个输出图像。输出图像可以是输出内容285的示例。输出图像可以基于由第一相机330A和第二相机330B捕获的图像。输出图像可以提供环境的立体视图,在一些情况下具有覆盖的信息和/或具有其他修改。例如,HMD 310可以向用户320的右眼显示第一显示图像,第一显示图像基于由第一相机330A捕获的图像。HMD 310可以向用户320的左眼显示第二显示图像,第二显示图像基于由第二相机330B捕获的图像。例如,HMD 310可以在显示图像中提供覆盖在由第一相机330A和第二相机330B捕获的图像之上的覆盖信息。
图4A是示出包括前置相机并用作扩展现实(XR)系统210的移动手持机410的前表面的透视图400。移动手持机410可以是XR系统210的示例。移动手持机410可以是例如蜂窝电话、卫星电话、便携式游戏控制台、音乐播放器、健康跟踪设备、可穿戴设备、无线通信设备、膝上型设备、移动设备、本文所讨论的任何另一类型的计算设备或计算系统1100,或它们的组合。移动手持机410的前表面420包括显示器440。移动手持机410的前表面420可以包括第一相机430A和第二相机430B。第一相机430A和第二相机430B可以是XR系统210的传感器215的示例。在移动手持机410的前表面420上的显示器440周围的边框中示出了第一相机430A和第二相机430B。在一些示例中,第一相机430A和第二相机430B可以位于从移动手持机410的前表面420上的显示器440切出的凹口或切口中。在一些示例中,第一相机430A和第二相机430B可以是位于显示器440和移动手持机410的其余部分之间的显示器下相机,以使得光在到达第一相机430A和第二相机430B之前穿过显示器440的一部分。透视图400的第一相机430A和第二相机430B是前置相机。第一相机430A和第二相机430B面向与移动手持机410的前表面420的平面表面垂直的方向。第一相机430A和第二相机430B可以是移动手持机410的一个或多个相机中的两个相机。在一些示例中,移动手持机410的前表面420可以仅具有单个相机。在一些示例中,除了第一相机430A和第二相机430B之外,移动手持机410还可以包括一个或多个附加相机,该一个或多个附加相机也可以是XR系统210的传感器215的示例。在一些示例中,除了第一相机430A和第二相机430B之外,移动手持机410还可以包括一个或多个附加传感器,该一个或多个附加传感器也可以是XR系统210的传感器215的示例。移动手持机410的前表面420还包括显示器440。在一些情形中,移动手持机410的前表面包括420不止一个显示器440。移动手持机410的前表面420的一个或多个显示器440可以是XR系统210的输出设备290的示例。
图4B是示出包括后置相机并用作扩展现实(XR)系统210的移动手持机的后表面的透视图450。移动手持机410包括在移动手持机410的后表面460上的第三相机430C和第四相机430D。透视图450的第三相机430C和第四相机430D是后置的。第三相机430C和第四相机430D可以是XR系统210的传感器215的示例。第三相机430C和第四相机430D面向与移动手持机410的后表面460的平面表面垂直的方向。虽然移动手持机410的后表面460不具有如透视图450所示的显示器440,但在一些示例中,移动手持机410的后表面460可以包括一个或多个后显示器。在移动手持机410的后表面460包括一个或多个后显示器的示例中,该一个或多个后显示器可以是XR系统210的输出设备290的示例。如果移动手持机410的后表面460包括一个或多个后显示器,则可以使用第三相机430C和第四相机430D相对于一个或多个后显示器的任何定位布局,如关于第一相机430A和第二相机430B相对于移动手持机410的前表面420的显示器440所讨论。第三相机430C和第四相机430D可以是移动手持机410的一个或多个相机中的两个相机。在一些示例中,移动手持机410的后表面460可以仅具有单个相机。在一些示例中,除了第一相机430A、第二相机430B、第三相机430C和第四相机430D之外,移动手持机410还可以包括一个或多个附加相机,该一个或多个附加相机也可以是XR系统210的传感器215的示例。在一些示例中,除了第一相机430A、第二相机430B、第三相机430C和第四相机430D之外,移动手持机410还可以包括一个或多个附加传感器,该一个或多个附加传感器也可以是XR系统210的传感器215的示例。
图5是示出穿戴头戴式显示器(HMD)310的用户的透视图,该HMD用作扩展现实(XR)系统210并执行手部跟踪以基于用户320的手部525的位置处于HMD 310的视场(FOV)520中来确定基于手势的输入。在其他示例中,HMD 310可以用于基于手部525的位置处于HMD 310的FOV 520中来定位虚拟对象。HMD 310的第一相机330A和/或第二相机330B用作XR系统210的传感器215。HMD 310的FOV 520表示第一相机330A和/或第二相机330B的FOV。使用虚线来示出HMD 310的FOV 520。用户320的手部525处于HMD 310的传感器215的FOV 520中。因此,HMD 310的XR系统210检测、提取和/或跟踪用户320的手部525相对于用户310和HMD 320所处的真实世界环境的其他特征的特征,以标识用户320的手部525相对于用户320和HMD 310所处的真实世界环境的姿态。手部525的姿态可以包括手部的位置和/或手部525的取向(例如,俯仰、偏航和/或翻滚)。基于手部525的姿态,HMD 310可以确定基于手势的输入,例如用于控制HMD 310的用户接口(UI)。
如上所述,在一些情况下,HMD 310可以基于所确定的手部525的姿态来确定相对于手部525在何处显示虚拟对象。虚拟对象表示HMD 310使用显示器340向用户320显示但不存在于用户320和HMD 310所处的真实世界环境中的虚拟对象。在一个说明性示例中,虚拟对象是剑,且可由HMD 310显示,好像其正由用户320的手部525握持一样。虚拟对象的姿态(位置和取向)取决于手部525的姿态。HMD 310的XR系统210的输出内容生成引擎280可以在输出内容285在显示器340上显示(在输出设备290上输出)之前将虚拟对象540添加到输出内容285。
图6A是示出穿戴头戴式显示器(HMD)310的用户320的透视图600,该HMD用作扩展现实(XR)系统210并执行手部跟踪以基于用户320的手部525的位置(尽管手部525在HMD310的视场(FOV)620外)来确定基于手势的输入。即使当手部525在FOV 602外时,HMD 310也可以基于手部515在外部相机610的FOV 615中来执行手部跟踪。HMD 310的FOV 620表示HMD310的一个或多个相机和/或其他传感器的FOV。使用虚线来示出HMD 310的FOV 620。用户320的手部525不在HMD 310的FOV 620中,因为用户320已经将手部525移动得离HMD 310的FOV 620太远。因此,在使用其自己的相机和/或其他传感器的情况下,HMD 310将无法在其在图6A中的位置中标识和/或跟踪用户的手部525的位置。尽管用户320的手部525不在HMD310的FOV 620中,但仍可以跟踪手部525以确定任何基于手势的输入、(取决于用户320的手部525的所示出姿态)确定当虚拟对象的至少一部分仍将在HMD 310的FOV 620中显示时相对于手部525在何处显示虚拟对象、并且/或者基于手部525的所跟踪姿态来执行某一功能。
HMD 310的XR系统210失去对手部525(或由XR系统210跟踪的另一对象)的跟踪可以是XR系统210检测到并用于确定何时执行一个或多个其他功能的条件。由于手部525离开HMD 310的FOV 620或由于不再在FOV 620中检测到手部525,所以HMD 310的XR系统210可以在图6A所示的情形中检测到此条件。HMD 310的XR系统210可以向外部相机610发送对辅助手部跟踪的请求640。外部相机610可以是图2的外部设备220的示例。例如,外部相机610可以是诸如膝上型计算机、台式计算机、电视、智能家庭设备或助理、移动设备(例如,智能电话)、平板计算机或另一外部设备的外部设备的一部分。外部相机610的一个或多个图像传感器和/或其他传感器可以是外部设备220的传感器225的示例。HMD 310的XR系统210可以执行与外部相机610的设备间协商,如关于设备间协商引擎230所讨论。作为响应,外部相机610可以向HMD 310的XR系统210发送手部跟踪数据645作为数据流的一部分。手部跟踪数据645可以包括由外部相机610的一个或多个传感器(诸如一个或多个图像传感器)捕获的传感器数据。使用具有一系列点和短划线的线来示出外部相机610的FOV 615。外部相机610的FOV 615包括用户325的手部525。在一些示例中,手部跟踪数据645可以至少部分地由外部相机610处理,例如以在外部相机610向HMD 310的XR系统210发送手部跟踪数据645之前检测特征、提取特征、跟踪特征和/或执行特征管理引擎250的一个或多个其他操作,这可以减少计算资源(例如,HMD 310上的电池消耗、正使用的处理资源的量等)。HMD 310的XR系统210可以使用手部跟踪数据645来标识用户320的手部525的姿态,尽管手部525不在HMD 310的FOV 620中。尽管手部525不在HMD 310的FOV 620中,但HMD 310的XR系统210可以使用基于手部跟踪数据645所确定的手部姿态来确定由用户执行的一个或多个基于手势的输入(例如,以控制HMD 310的UI,诸如在HMD 310上运行的应用程序)、基于用户320的手部525的姿态来确定在HMD 310的FOV 620中何处以准确姿态显示虚拟对象,并且/或者执行一个或多个其他功能。
图6B是示出穿戴头戴式显示器(HMD)310的用户320的透视图650,该HMD用作扩展现实(XR)系统210,并且当在HMD 310的视场(FOV)670内遮挡物660(例如,真实世界对象)遮挡了手部525时执行手部跟踪,以基于用户320的手部525的位置来确定基于姿势的输入。即使当手部525被遮挡时,HMD 310也可以基于手部525在外部相机610的FOV 615中来执行手部跟踪。HMD 310的FOV 670表示HMD 310的一个或多个相机和/或其他传感器的FOV。使用虚线来示出HMD 310的FOV 670。用户320的手部525在HMD 310的FOV 670中但从HMD 310的视角被遮挡,因为FOV 670被遮挡物660部分地遮挡。在HMD 310的FOV 670内,遮挡物660遮挡了手部525。因此,HMD 310将无法独立地在其在图6B中的位置中标识和/或跟踪用户的手部525的位置。尽管在HMD 310的FOV 670中用户320的手部525被遮挡,但仍可以跟踪手部525以确定任何基于手势的输入、(取决于用户320的手部525的所示出姿态)确定当虚拟对象的至少一部分仍将在HMD 310的FOV 670中显示时相对于手部525在何处显示虚拟对象,并且/或者基于手部525的所跟踪姿态来执行某一功能。
HMD 310的XR系统210失去对手部525(或由XR系统210跟踪的另一对象)的跟踪可以是XR系统210检测到并用于确定何时执行一个或多个其他功能的条件。由于在HMD 310的FOV 670中遮挡物660遮挡了手部525,所以HMD 310的XR系统210可以在图6B所示的情形中检测到此条件。如在图6A中,图6B的HMD 310的XR系统210可以向外部相机610发送对辅助手部跟踪的请求640。HMD 310的XR系统210可以执行与外部相机610的设备间协商,如关于设备间协商引擎230所讨论。作为响应,外部相机610可以向HMD 310的XR系统210发送手部跟踪数据645作为数据流的一部分。手部跟踪数据645可以包括由外部相机610的一个或多个传感器(诸如一个或多个图像传感器)捕获的传感器数据。使用具有一系列点和短划线的线来示出外部相机610的FOV 615。外部相机610的FOV 615包括用户325的手部525。在一些示例中,手部跟踪数据645可以至少部分地由外部相机610处理,例如以在外部相机610向HMD310的XR系统210发送手部跟踪数据645之前检测特征、提取特征、跟踪特征和/或执行特征管理引擎250的一个或多个其他操作,这可以减少计算资源(例如,HMD 310上的电池消耗、正使用的处理资源的量等)。尽管手部525不在HMD 310的FOV 620中,但HMD 310的XR系统210可以使用手部跟踪数据645来标识用户320的手部525的姿态,尽管在HMD 310的FOV 670中手部525被遮挡。所确定的手部姿态可以用于确定由用户执行的一个或多个基于手势的输入(例如,以控制HMD 310的UI,诸如在HMD 310上运行的应用程序)、基于用户320的手部525的姿态来确定在HMD 310的FOV 620中何处以准确姿态显示虚拟对象,并且/或者执行一个或多个其他功能。
在一些示例中,外部相机610可以是独立相机设备,诸如安全相机,如图6A和图6B所示。在一些示例中,图6A和图6B的外部相机610可以是另一HMD 710(如图7中)、移动手持机410、膝上型计算机、台式计算机或任何另一类型的外部设备220的一个或多个相机。
图7是示出外部头戴式显示器(HMD)710设备的透视图700,该外部HMD设备由于用作扩展现实(XR)系统210的HMD 310处的低电池状况735(作为XR设备的操作状态的示例)而向对HMD 310的用户320的手部525进行手部跟踪提供辅助。HMD 310的FOV(未示出)可以是HMD 310的一个或多个相机和/或一个或多个传感器的FOV。HMD 310的FOV(未示出)可以包括手部525,或可以缺失手部525。外部HMD 710的FOV(未示出)可以是外部HMD 710的一个或多个相机和/或一个或多个传感器的FOV。外部HMD 710的FOV(未示出)可以包括手部525,或可以缺失手部525。
HMD 310的XR系统210可以检测HMD 310处的对应于HMD 310的计算资源的水平满足或小于阈值水平的条件。HMD 310的XR系统210可以检测HMD 310处的对应于HMD 310的计算资源的使用率水平满足或超过阈值水平的条件。例如,图7示出了HMD 310检测到指示HMD310的一个或多个电池的电池电量满足或小于阈值电池电量(例如,满电池电量的50%、满电池电量的40%或另一电量)的低电池状况735。基于HMD 310检测到低电池状况735来示出警告730。HMD 310的XR系统210可以向外部HMD 710发送对辅助手部跟踪的请求740。外部HMD 710可以是图2的外部设备220的示例。外部HMD 710的一个或多个图像传感器和/或其他传感器可以是外部设备220的传感器225的示例。HMD 310的XR系统210可以执行与外部HMD 710的设备间协商,如关于设备间协商引擎230所讨论。作为响应,外部HMD 710可以向HMD 310的XR系统210发送手部跟踪数据745作为数据流的一部分。手部跟踪数据745可以包括由外部HMD 710的一个或多个传感器(诸如一个或多个图像传感器)捕获的传感器数据。在一些示例中,手部跟踪数据745可以至少部分地由外部HMD 710处理,例如以在外部HMD710向HMD 310的XR系统210发送手部跟踪数据745之前检测特征、提取特征、跟踪特征和/或执行特征管理引擎250的一个或多个其他操作以减少计算资源(例如,减少HMD 310上的电池消耗、减少正使用的处理资源的量等)。HMD 310的XR系统210可以使用手部跟踪数据745来标识用户320的手部525的姿态和/或手部525是否在HMD 310的FOV(未图示)中。
因为HMD 310能够将其手部跟踪任务中的至少一些任务卸载到外部HMD 710,所以HMD 310可以减少其电池负载且更缓慢地使用电池,并且因此尽管该HMD处于低电池状况735但可坚持更久。在一些示例中,HMD 310可以关闭或以其他方式停用其相机和/或其他传感器。在一些示例中,HMD 310可以降低来自其传感器的传感器数据的捕获质量或速率,例如从90fps图像捕获降低到30fps捕获。在一些示例中,HMD 310可以部分或完全依赖于外部HMD 710的相机和/或其他传感器。在一些示例中,HMD 310可以至少部分地关闭或以其他方式停用特征管理引擎250的功能中的至少一些功能,诸如特征提取引擎255、特征跟踪引擎260和/或数据融合引擎265。在一些示例中,HMD 310可以部分或完全依赖于外部HMD 710来执行特征管理引擎250的功能中的至少一些功能,诸如特征提取引擎255、特征跟踪引擎260和/或数据融合引擎265。在一些示例中,HMD 310可以关闭或以其他方式停用HMD 310的显示器340。在一些示例中,HMD 310可以向另一显示设备(诸如智能手表、膝上型计算机或另一显示设备)发送该HMD的输出内容285。对HMD 310的XR系统210的操作的这些调整可以允许HMD 310可减少该HMD的电池负载且更缓慢地使用电池,并且因此尽管该HMD处于低电池状况735但可坚持更久。
在一些示例中,除图7的低电池状况735外,HMD 310的XR系统210还可以检测其他条件。例如,对条件的检测可以包括对HMD 310的其他计算资源的水平满足或小于阈值水平的检测。对条件的检测可以包括对HMD 310的计算资源的使用率水平满足或超过阈值水平的检测。例如,条件可以是HMD 310的可用存储器(例如,存储器1015、ROM 1020和/或RAM1025)满足或小于阈值存储器水平。条件可以是HMD 310的(例如,在存储设备1030上的)可用存储空间满足或小于阈值水平。条件可以是HMD 310的可用网络带宽满足或小于阈值网络带宽水平。条件可以是HMD 310的可用处理器带宽满足或小于阈值处理器带宽水平。条件可以是HMD 310的处理器使用率满足或超过阈值处理器使用率水平。
在一些示例中,图7的外部HMD 710可以是如图7所示的HMD。在一些示例中,外部HMD 710可以改为是(如在图6A和图6B的外部相机610中的)独立相机设备(例如,安全相机)、移动手持机410或任何另一类型的外部设备220。
图8A是示出穿戴头戴式显示器(HMD)810的用户320的透视图800,该HMD用作扩展现实(XR)系统210并基于(相对于HMD 310处于外部的)外部显示器310的位置和/或在外部显示器810上显示的视觉(媒体)内容812来在HMD 310的FOV 835中定位由HMD 310的显示器340显示的图像中的虚拟内容815。如图8A所示,穿戴HMD 310的用户320面向正在显示视觉(媒体)内容812的外部显示器810。该外部显示器810包括相机814。HMD 310的FOV 835表示HMD 310的一个或多个相机和/或其他传感器的FOV。使用虚线来示出HMD 310的FOV 835。外部显示器810和在显示器810上显示的视觉(媒体)内容812都在HMD 310的FOV 835中。
HMD 310的XR系统210可以检测外部显示器810并且/或者可以检测在外部显示器810上(例如,在由HMD 310的一个或多个相机和/或其他传感器捕获的一个或多个图像中)显示的视觉(媒体)内容812。对外部显示器810的检测和/或对在外部显示器310上显示的视觉(媒体)内容812的检测可以是HMD 310的XR系统210检测到并用于确定何时执行一个或多个其他功能(例如,确定外部显示器810和/或HMD 810周围的环境中的其他对象的位置、基于该位置来执行功能等)的条件。由于显示器810和视觉(媒体)内容812处于HMD 310的FOV835中,所以HMD 310的XR系统210可以在图8A所示的情形中检测到此条件。
在一些示例中,响应于检测到该条件,HMD 310的XR系统210可以向一个或多个服务器847发送对附加(媒体)内容845的请求840。在一些示例中,请求840可以基于由HMD 310的XR系统210检测到的特定视觉(媒体)内容812,例如基于HMD 310的XR系统210的媒体识别系统。请求840可以标识由HMD 310的XR系统210检测到的视觉(媒体)内容812。一个或多个服务器847可以向HMD 310的XR系统210提供附加(媒体)内容845。附加(媒体)内容845可以特定于视觉(媒体)内容812。在一些情况下,请求840可以包括由HMD 310的传感器捕获的视觉(媒体)内容812的表示,并且一个或多个服务器847可以基于一个或多个服务器847的媒体识别系统来识别特定视觉(媒体)内容812。HMD 310的XR系统210可以使用附加(媒体)内容845来生成虚拟内容815。HMD 310的XR系统210可以基于HMD 310的FOV 835内的显示器810和/或视觉(媒体)内容812的姿态(例如,位置和/或取向)来确定HMD 310的FOV 835内的在输出内容285内的虚拟内容815的姿态(例如,位置和/或取向)。虚拟内容815可以包括视觉(媒体)内容812的名称820,在图8A中被标识为“极速追击”。名称820可以在显示器810和视觉(媒体)内容812的附近和上方显示。在一个示例中,虚拟内容815可以包括显示器扩展825,该显示器扩展例如基于附加(媒体)内容845中的附加宽屏视频数据将显示器810扩展到显示器810和视觉(媒体)内容812附近并位于该显示器和该视觉(媒体)内容右侧。虚拟内容815可以包括关于在显示器810和视觉(媒体)内容812附近并位于该显示器和该视觉(媒体)内容左侧的虚拟内容815的元数据830。元数据830可以标识虚拟内容815的上映日期(1998)并且标识视觉(媒体)内容812由著名演员主演。在一些示例中,虚拟内容815可以包括与视觉(媒体)内容812相关的附加信息或内容,诸如删除的场景。在一些示例中,虚拟内容815中的至少一些虚拟内容可以覆盖在显示器810和/或视觉(媒体)内容812之上。例如,虚拟内容815可以用于突出显示或圈起视觉(媒体)内容812中的特定演员或对象。例如,如果视觉(媒体)内容812是体育比赛,则虚拟内容815可以突出显示或圈起难以看见但重要的对象,诸如球或冰球。
在图2的上下文中,外部显示器810可以充当外部设备220,并且视觉(媒体)内容812可以充当来自外部设备220的类似于来自传感器225的传感器数据的数据流。在一些情况下,代替或除了显示视觉内容812,显示器810还可以将视觉(媒体)内容812传输到HMD310的XR系统210,使得HMD 310的XR系统210可以更容易地检测和/或识别由HMD 310的图像传感器和/或其他传感器捕获的图像和/或其他传感器数据中的视觉(媒体)内容812。在一些示例中,一个或多个服务器847可以充当外部设备220,并且附加(媒体)内容845可以充当来自外部设备220的类似于来自传感器225的传感器数据的数据流。
在另一个示例中,穿戴HMD 310的用户可以面向外部显示器810,使得外部显示器810在一个或多个相机和/或其他图像传感器的FOV内。HMD 310的一个或多个相机(和/或其他图像传感器)和外部显示器810的相机814(和/或其他图像传感器)可以用于对象跟踪。类似于关于图6A和图6B所讨论,基于检测如上所述的条件,HMD 310可以确定是使用HMD 310的相机/图像传感器、使用外部显示器810的相机/图像传感器还是使用HMD和外部显示器810两者的相机/图像传感器以用于跟踪目的。
图8B是示出穿戴头戴式显示器(HMD)310的用户320的透视图850,该HMD用作扩展现实(XR)系统210并基于显示器810和/或视觉(媒体)内容812的位置(尽管显示器810和/或视觉(媒体)内容812在HMD 310的视场(FOV)890外)在由HMD 310的显示器340显示的图像中定位在显示器810上显示的视觉(媒体)内容812的虚拟表示860。穿戴HMD 310的用户320不再面向正在显示视觉(媒体)内容812的显示器810。HMD310的FOV 890表示HMD 310的一个或多个相机和/或其他传感器的FOV。使用虚线来示出HMD 310的FOV 890。显示器810和在显示器810上显示的视觉(媒体)内容812不在HMD 310的FOV 890内(并且因此从该FOV中缺失)。
在一个示例中,HMD 310的XR系统210可以(例如,在HMD 310的无线通信范围中或在较早时间在HMD 310的FOV内)检测显示器810在HMD 310附近的存在,这可以是HMD 310的XR系统210检测到并用于确定何时执行一个或多个其他功能的条件。在一个示例中,HMD310的XR系统210可以(例如,基于确定显示器810和/或视觉内容812不再处于HMD 310的FOV890内)确定其已经失去对显示器810和/或视觉(媒体)内容812的跟踪,这可以是HMD 310的XR系统210检测到并用于确定何时执行一个或多个其他功能的条件。由于显示器810和视觉(媒体)内容812(例如,因为用户320已将他或她的头部和/或身体向右转动而)不再处于HMD310的FOV 890中,所以HMD 310的XR系统210可以在图8B所示的情形中检测到这样的条件。响应于检测到该条件,HMD 310的XR系统210可以自动向显示器810并且/或者向与显示器810相关联的一个或多个计算设备(例如,连接到显示器810的娱乐设备、媒体中心设备或计算系统1000)发送对视觉(媒体)内容812的请求880。显示器810和/或与显示器810相关联的一个或多个计算设备可以通过提供视觉(媒体)内容812作为数据流的一部分来响应请求880。HMD 310的XR系统210可以将视觉(媒体)内容812的虚拟表示860生成为HMD 310的FOV890内的虚拟内容815。在一些情况下,HMD 310的XR系统210可以生成方向指示器870作为HMD 310的FOV 890内的虚拟内容815。方向指示器870指向正在显示视觉(媒体)内容812的显示器810的位置。视觉内容812的虚拟表示860可以允许HMD 310的用户320继续观看视觉(媒体)内容812,即使用户320从显示器810转过脸去也是如此。因此,即使用户320需要暂时转过脸去,用户320也不必错过任何视觉(媒体)内容812。指向左侧的方向指示器870可以让用户320知道左转以再次面向显示视觉(媒体)内容812的显示器810。基于来自一个或多个服务器847的附加(媒体)内容845的附加虚拟内容815也可以在HMD 310的FOV 890中显示,诸如虚拟(媒体)内容812的名称820。
在图2的上下文中,显示器810可以充当外部设备220,并且视觉(媒体)内容812可以充当来自外部设备220的类似于来自传感器225的传感器数据的数据流。在一些情况下,代替或除了显示视觉(媒体)内容812,显示器810还可以将视觉(媒体)内容812传输到HMD310的XR系统210,使得HMD 310的XR系统210可以更容易地检测和/或识别由HMD 310的图像传感器和/或其他传感器捕获的图像和/或其他传感器数据中的视觉(媒体)内容812。在一些示例中,一个或多个服务器847可以充当外部设备220,并且附加(媒体)内容845可以充当来自外部设备220的类似于来自传感器225的传感器数据的数据流。
可以使得HMD 310执行一个或多个功能(例如,确定对象的位置、请求将资源卸载到外部设备、请求来自外部设备的对手部跟踪的辅助等)的条件的其他示例可以包括请求在可用于特定功能(例如,显示内容、跟踪诸如用户的手部、头部或身体的对象)时使用外部设备而不是成像设备(例如,XR设备)的用户输入或设置、指示设备(例如,外部设备)在接入成像设备时用于特定功能的偏好的用户输入或设置(隐私和/或安全是一个因素(这也可以基于用户输入或设置))、基于用户输入(例如,请求将资源卸载到外部设备的用户输入,诸如请求关闭成像设备的用户输入、请求通过在成像设备上运行的家庭自动化应用来打开或关闭诸如灯之类的外部设备的用户输入等)、基于成像设备的图像传感器的能力(例如,当一个设备上的红外(IR)传感器在环境照明不充足的情况下有用时、当被跟踪的对象快速移动并且具有较高帧速率的图像传感器更适当时等),或它们的任何组合。
例如,HMD 310或在HMD 310上运行的应用程序可以编程有设置(例如,基于提供到HMD 310和/或应用程序的用户输入、默认设置等),该设置指示当外部设备可用(例如,物理地或无线地连接到HMD 310)时和/或当外部设备能够执行功能时将外部设备用于特定功能的偏好。在一个示例中,基于这样的设置由用户选择或以其他方式启用(或在一些情况下默认设置),连接到HMD 310的外部显示器(例如,电视、膝上型计算机、智能家庭设备或助理、平板计算机、台式计算机、外部XR设备等)可以用于为HMD 310显示内容。在另一个示例中,基于这样的设置由用户选择或以其他方式启用(或在一些情况下默认设置),连接到HMD310的外部设备的一个或多个相机和/或其他传感器可以用于跟踪对象(例如,用户的手部、头部或身体、除执行跟踪的外部设备外的附加外部设备)。
在一些示例中,HMD 310或在HMD 310上运行的应用程序可以编程有隐私或安全设置(例如,基于提供到HMD 310和/或应用程序的用户输入、默认设置等),该设置指示当安全和/或隐私可能因使用HMD 310而受损害时使用外部设备的偏好。例如,基于隐私或安全设置由用户选择或以其他方式启用(或在一些情况下默认设置),HMD 310可以确定在HMD 310上显示的内容可以由其他人和/或相机查看且因此不是私密或安全的。响应于确定内容不是私密/安全的,HMD 310可以向外部设备发送请求外部设备显示内容的命令。
在一些情况下,HMD 310可以基于外部设备的能力和/或组件从外部设备请求辅助。例如,外部设备可以包括HMD 310上不存在的图像传感器。在一个示例中,图像传感器可以包括IR传感器,该IR传感器可以在环境照明不足时(例如,在低光条件下)执行对象跟踪(例如,手部跟踪、头部跟踪、身体跟踪等)。在这样的示例中,HMD 310可以(例如,基于分析由HMD 310的相机捕获的图像)检测何时存在低光条件,诸如图像的一个或多个光值何时低于照明阈值(例如,低于特定亮度、勒克斯或另一照明值,诸如3勒克斯或更小)。响应于检测到低光条件,HMD 310可以向外部设备发送命令,从而请求外部设备使用IR传感器和/或任何其他传感器来捕获图像,并且使用该图像来执行对象跟踪(在此情况下,外部设备可以向HMD 310发送姿态信息)或向HMD 310发送该图像以执行跟踪。在另一个示例中,图像传感器可以包括可以以高帧速率捕获图像的相机,该相机可以用于跟踪快速移动的对象。在这样的示例中,HMD 310可以检测到对象正快速移动并且可以向外部设备发送命令,从而请求外部设备使用高帧速率相机和/或任何其他传感器来捕获图像,并且使用该图像来执行对象跟踪或向HMD 310发送该图像以执行跟踪。
在一些示例中,用户可以提供用户输入(例如,手势输入、按压虚拟或物理按钮等)以控制HMD 310或外部设备是否执行特定功能。在一个示例中,即使HMD 310电池高于阈值且手部在HMD 310的FOV内,用户也可以将用户输入提供到HMD 310,从而请求HMD 310将对象跟踪功能性(例如,手部跟踪、头部跟踪、身体跟踪等)卸载到外部设备(例如,电视、膝上型计算机、智能家庭设备或助理、平板计算机、台式计算机、外部XR设备等)。例如,用户可以计划使用HMD 310达延长的时间段(例如,玩游戏达较长时间段),这在某一时刻将需要基于电池的到外部设备的切换。在另一个示例中,即使当功能将耗尽电池时,用户也可能更喜欢将HMD 310用于该功能,其中HMD 310而不是外部设备可以(例如,基于HMD 310的一个或多个能力或组件)更好地执行该功能。在这样的示例中,用户可以将用户输入提供到HMD 310以否决将功能切换到外部设备。
在一些情况下,HMD 310可以检测指示将需要外部设备来执行功能或需要HMD 310来执行功能的条件。在一个说明性示例中,当执行对HMD 310的用户的手部的手部跟踪时,HMD 310可以确定手部正朝向HMD 310的FOV的边缘移动,并且因此(例如,基于过去的使用率或任务的性质)确定用户将继续将手移动超出HMD 310的FOV。在手部移动经过FOV之前或当手部移动经过FOV时,HMD 310可以向外部设备发送命令以开启一个或多个相机并开始捕获手部的图像或视频。HMD 310可以请求外部设备执行对象跟踪并向HMD 310发送手部的姿态信息,或请求外部设备向HMD 310发送图像/视频,使得HMD 310可以执行跟踪。在这样的示例中,一旦手部返回到HMD 310的一个或多个相机的已知FOV中,HMD 310就可以恢复执行跟踪。在另一个说明性示例中,HMD 310可以确定用户正远离(或将远离)固定在适当位置(例如,膝上型计算机上的相机)且正用于对象跟踪的一个或多个传感器(例如,相机或其他传感器)的FOV。基于确定用户将退出一个或多个传感器的FOV,HMD 310可以转变到使用其自己的相机或其他传感器来执行跟踪(在此情况下,HMD 310向外部设备发送命令以停止使用该外部设备的传感器来执行跟踪)。在一些情况下,一旦HMD 310和/或外部设备确定不使用一个或多个传感器(例如,相机)来进行跟踪,HMD 310和/或外部设备就可以关闭传感器,这可以节省电力、改善隐私/安全等。
在一些示例中,HMD 310可以检测可触发HMD 310执行功能或恢复先前卸载到外部设备的功能的执行的附加条件。例如,如关于图7的示例所描述,HMD 310可以基于HMD 310的操作状态(例如,在HMD 310电池的电力或其他计算资源低(诸如低于阈值电池电量)时)将一个或多个对象跟踪任务(例如,手部跟踪、头部跟踪、身体跟踪等)卸载到外部设备。可以随后对HMD 310进行充电,使得HMD 310电池的电池电量大于阈值电池电量。基于检测到电池电量已经超过阈值电池电量,HMD 310可以向外部设备发送命令,从而请求至少部分地由HMD 310执行一个或多个对象跟踪任务。响应于该命令,外部设备可以停止执行对象跟踪任务且HMD 310可以开始或恢复对象跟踪任务的执行。
图9是示出用于处理图像数据的过程900的流程图。过程900可以由成像系统执行。在一些示例中,成像系统可以是图2的XR系统210。在一些示例中,成像系统可以包括例如图像捕获和处理系统100、图像捕获设备105A、图像处理设备105B、图像处理器150、ISP 154、主机处理器152、XR系统210、处理引擎205、设备间协商引擎230、特征管理引擎250、输出内容生成引擎280、输出设备290、头戴式显示器(HMD)设备(例如,HMD 310)、移动手持机410、外部HMD设备710、一个或多个服务器847、计算系统1000,或它们的组合。
在操作905处,过程900包括由设备(例如,成像系统)接收由图像传感器(例如,设备的图像传感器)捕获的环境的一部分的图像。该环境包括对象。在操作910处,过程900包括标识来自外部设备的数据流。外部设备的示例可以包括外部设备220、外部设备220的传感器225、图3的HMD 310、移动手持机410、外部相机610、外部HMD 710、显示器810、一个或多个服务器847、计算系统1000,或它们的组合。
在操作915处,过程900包括基于图像、数据流、装置的操作状态或它们的任何组合来检测条件。在一些情况下,基于图像来检测条件包括确定对象从图像中的环境的一部分中缺失。在一个示例中,确定对象从图像中的环境的该部分中缺失包括确定对象的至少一部分在图像中被遮挡(例如,如图6B所示)。在一些情况下,基于设备的操作状态来检测条件包括确定资源的可用性低于阈值。在一个示例中,确定资源的可用性低于阈值包括确定电池的电池电量低于电池电量阈值。在另一个示例中,确定资源的可用性低于阈值包括确定可用带宽低于带宽阈值。在一些情况下,基于设备的操作状态来检测条件包括接收对应于将处理卸载到该外部设备的用户输入。例如,如上文所描述,用户可以提供用户输入(例如,手势输入、按压虚拟或物理按钮等)以控制HMD 310或外部设备是否执行特定功能。
在一些示例中,基于图像来检测条件包括确定图像中的一个或多个照明条件(例如,低光条件)。在一些情况下,确定图像中的一个或多个照明条件可以包括确定图像的一个或多个光值低于照明阈值(例如,3勒克斯的照明阈值)。
在一些示例中,对象是外部显示设备的显示器。在一些情况下,过程900包括至少部分地通过在图像中标识在外部显示设备的显示器上显示的视觉媒体内容,基于图像来检测条件。
在操作920处,过程900包括响应于检测到条件而基于图像和数据流中的至少一者来确定对象在环境中的位置。在一些情况下,外部设备包括第二图像传感器。在一些情况下,数据流包括环境的第二部分的第二图像,并且确定对象在环境中的位置至少部分地基于对象在第二图像中的描绘。在一些示例中,图像中的环境的该部分与环境的第二部分重叠。
在一些示例中,确定对象在环境中的位置包括发送对外部设备标识对象在环境中的位置的请求。在一些示例中,过程900可以包括从外部设备接收标识对象在环境中的位置的响应。
在一些示例中,响应于检测到条件,过程900可以包括至少通过将来自数据流的数据与由图像传感器捕获的图像组合来生成合并数据集。在这样的示例中,确定对象的位置可以至少部分地基于合并数据集。
在操作925处,过程900包括基于对象在环境中的位置来生成输出。在一些示例中,生成输出包括生成内容。在一些情况下,过程900包括基于对象在环境中的位置来输出内容。例如,输出内容包括可以包括向设备的显示器传输或发送内容以进行显示。在一些示例中,内容虚拟地扩展外部显示设备的显示器。在一些情况下,过程900可以包括向音频输出设备发送内容以进行播放。
在一些示例中,生成输出包括基于用户输入来控制设备。例如,HMD 310可以接收用于控制设备或HMD 310的用户输入(例如,请求通过在成像设备上运行的家庭自动化应用程序开启或关闭外部设备(诸如灯)的用户输入、请求关闭HMD 310的用户输入等)。
在一些示例中,生成输出包括至少部分地通过在图像的区域之上覆盖虚拟内容来生成内容。在这样的示例中,图像的区域基于对象在环境中的位置。在对象是外部显示设备的显示器的情况下,图像的区域与外部显示设备的显示器在图像中的描绘相邻。在一些示例中,对象是设备的用户的手部,其中该手部至少部分地与图像的区域相邻。
在一些示例中,过程900可以包括基于由图像传感器捕获的附加图像、数据流和设备的操作状态中的至少一者来检测附加条件。响应于检测到附加条件,过程900可以包括执行先前由外部设备执行的功能。例如,上文所描述的HMD 310可以检测可触发该HMD 310执行功能或恢复先前卸载到外部设备的功能(例如,手部跟踪、头部跟踪、身体跟踪等)的执行的附加条件。
在一些示例中,本文所描述的过程(例如,过程900和/或本文所描述其他过程)可以由计算设备或装置执行。在一个示例中,过程900可以由图2的XR系统210执行。在另一个示例中,过程900可以由具有图10所示的计算系统1000的计算设备执行。例如,具有图10所示的计算系统1000的计算设备可以包括XR系统210的图像处理引擎205的组件并且可以实现图10的操作。
计算设备可以包括任何适当的设备,诸如移动设备(例如,移动电话)、台式计算设备、平板计算设备、可穿戴设备(例如,VR头戴式设备、AR头戴式设备、AR眼镜、网络连接手表或智能手表,或另一可穿戴设备)、服务器计算机、自主车辆或自主车辆的计算设备、机器人设备、电视机和/或具有执行本文所描述的过程(包括过程900)的资源能力的任何另一计算设备。在一些情况下,计算设备或装置可以包括各种组件,诸如一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机、一个或多个相机、一个或多个传感器、和/或被配置为实施本文中所描述的过程的步骤的其它组件。在一些示例中,计算设备可以包括显示器、被配置为传送和/或接收数据的网络接口、其任何组合、和/或其它组件。网络接口可以被配置为传送和/或接收基于互联网协议(IP)的数据或其它类型的数据。
计算设备的组件可以被实现在电路系统中。例如,该组件可以包括电子电路或其它电子硬件,和/或者可以使用电子电路或其它电子硬件来实现,该电子电路或其它电子硬件可以包括一个或多个可编程电子电路(例如,微处理器、图形处理单元(GPU)、数字信号处理器(DSP)、中央处理单元(CPU)、和/或其它合适的电子电路),和/或者组件可以包括用于执行本文中描述的各种操作的计算机软件、固件或其组合和/或者可以使用用于执行本文中描述的各种操作的计算机软件、固件或其组合来实现。
过程900被示出为逻辑流程图,该逻辑流程图的操作表示能够以硬件、计算机指令或它们的组合来实现的操作序列。在计算机指令的上下文中,各操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,这些指令在由一个或多个处理器执行时执行所叙述的操作。一般,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。操作以其描述的顺序不旨在被解释为限制,并且任何数量个所描述的操作可以以任何顺序和/或并行地组合以实现过程。
另外,过程900和/或本文所描述的其他过程可以在配置有可以执行指令的一个或多个计算机系统的控制下执行,并且可以实现为在一个或多个处理器上、通过硬件或它们的组合共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。如上所述,代码可以被存储在计算机可读或机器可读存储介质上,例如,以包括由一个或多个处理器可执行的多个指令的计算机程序的形式。计算机可读或机器可读存储介质可以是非暂时性的。
图10是示出用于实现本技术的某些方面的系统的示例的图。具体地,图10示出了计算系统1000的示例,该计算系统可以是例如组成内部计算系统、远程计算系统、相机或其任何组件的任何计算设备,其中系统的组件使用连接1005彼此通信。连接1005可以是使用总线的物理连接,或者是到诸如在芯片组架构中的处理器1010中的直接连接。连接1005还可以是虚拟连接、联网连接或逻辑连接。
在一些实施方案中,计算系统1000是分布式系统,在该分布式系统中,本公开中描述的功能可以分布在数据中心、多个数据中心、对等网络等内。在一些实施方案中,所描述的系统组件中的一个或多个系统组件表示许多这样的组件,每个组件执行描述该组件的功能中的一些或全部功能。在一些实施方案中,组件可以是物理设备或虚拟设备。
示例系统1000包括至少一个处理单元(CPU或处理器)1010和连接1005,该连接将包括系统存储器1015(诸如只读存储器(ROM)1020和随机存取存储器(RAM)1025)的各种系统组件耦合到处理器1010。计算系统1000可以包括与处理器1010直接连接、紧邻该处理器或集成为该处理器的一部分的高速存储器的高速缓存1012。
处理器1010可以包括任何通用处理器和被配置为控制处理器1010以及专用处理器的硬件服务或软件服务,诸如存储在存储设备1030中的服务1032、1034和1036,其中软件指令被并入到实际的处理器设计中。处理器1010可以基本上是完全自包含计算系统,包括多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或不对称的。
为了实现用户交互,计算系统1000包括输入设备1045,该输入设备可以表示任何数量的输入机构,诸如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、运动输入、语音等。计算系统1000还可以包括输出设备1035,该输出设备可以是数个输出机构中的一个或多个输出机构。在一些情况下,多模式系统可以使用户能够提供多种类型的输入/输出以与计算系统1000通信。计算系统1000可以包括通信接口1040,其通常可以支配和管理用户输入和系统输出。通信接口可执行或促成使用有线和/或无线收发器接收和/或传输有线或无线通信,包括利用音频插孔/插头、话筒插孔/插头、通用串行总线(USB)端口/插头、 端口/插头、以太网端口/插头、光纤端口/插头、专用有线端口/插头、/>无线信号传输、/>低能量(BLE)无线信号传输、/>无线信号传输、射频标识(RFID)无线信号传输、近场通信(NFC)无线信号传输、专用短程通信(DSRC)无线信号传输、802.11Wi-Fi无线信号传输、无线局域网(WLAN)信号传输、可见光通信(VLC)、微波接入全球互通(WiMAX)、红外(IR)通信无线信号传输、公共交换电话网(PSTN)信号传输、综合服务数字网(ISDN)信号传输、3G/4G/5G/LTE蜂窝数据网络无线信号传输、自组织网络信号传输、无线电波信号传输、微波信号传输、红外信号传输、可见光信号传输、紫外光信号传输、沿电磁频谱的无线信号传输、或其某种组合的那些通信。通信接口1040还可以包括一个或多个全球导航卫星系统(GNSS)接收器或收发器,该GNSS接收器或收发器用于基于从与一个或多个GNSS系统相关联的一个或多个卫星接收到一个或多个信号来确定计算系统1000的位置。GNSS系统包括但不限于美国的全球定位系统(GPS)、俄罗斯的全球导航卫星系统(GLONASS)、中国的北斗导航卫星系统(BDS)以及欧洲的伽利略(Galileo)GNSS。对在任何特定硬件布置上进行操作不存在任何限制,并且因此可以容易地替换此处的基础特征以随着它们被开发而获得改进的硬件或固件布置。
存储设备1030可以是非易失性和/或非暂时性和/或计算机可读存储器设备,并且可以是硬盘或可存储可由计算机访问的数据的其他类型的计算机可读介质,诸如磁带盒、闪存卡、固态存储器设备、数字通用光盘、盒式磁带、软盘、柔性盘、硬盘、磁带、磁条/条带、任何另一磁存储介质、闪存、忆阻器存储器、任何另一固态存储器、压缩光盘只读存储器(CD-ROM)光盘、可重写压缩光盘(CD)光盘、数字视频光盘(DVD)光盘、蓝光光盘(BDD)光盘、全息光盘、另一光学介质、安全数字(SD)卡、微安全数字(microSD)卡、卡、智能卡芯片、EMV芯片、订户身份模块(SIM)卡、迷你/微/纳米/微微SIM卡、另一集成电路(IC)芯片/卡、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存EPROM(FLASHEPROM)、高速缓冲存储器(L1/L2/L3/L4/L5/L#)、电阻随机存取存储器(RRAM/ReRAM)、相变存储器(PCM)、自旋转移矩RAM(STT-RAM)、另一存储器芯片或盒,和/或它们的组合。
存储设备1030可以包括软件服务、服务器、服务等,当定义这种软件的代码由处理器1010执行时,该代码使得系统执行功能。在一些实施方案中,执行特定功能的硬件服务可以包括存储在与必要的硬件组件(诸如处理器1010、连接1005、输出设备1035等)连接的计算机可读介质中的软件组件以执行功能。
如本文中所使用,术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备以及能够存储、含有或携载指令和/或数据的各种其他介质。计算机可读介质可以包括非暂时性介质,其中可以存储数据并且该非暂时性介质不包括无线地或在有线连接上传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于磁盘或磁带、诸如压缩盘(CD)或数字多功能盘(DVD)的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可以在其上存储有代码和/或机器可执行指令,其可以表示过程、函数、子程序、例程、子例程、模块、软件包、类,或者指令、数据结构或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数或存储器内容,代码段可以耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以使用任何合适的手段来传递、转发或传送,这些手段包括存储器共享、消息传递、令牌传递、网络传输等。
在一些实施方案中,计算机可读存储设备、介质和存储器可以包括包含比特流等的有线或无线信号。然而,在被提及时,非暂时性计算机可读存储介质明确排除诸如能量、载波信号、电磁波以及信号本身等介质。
在以上描述中提供了具体细节以提供对本文提供的实施方案和示例的详尽理解。然而,本领域普通技术人员将理解,没有这些具体细节也可以实践这些实实施方案。为了清楚说明,在一些情况下,本技术可以被呈现为包括单独的功能块,包括包含设备、设备组件、以软件或硬件和软件的组合体现的方法中的步骤或例程的功能块。可以使用除了附图中所示和/或本文中所描述的那些之外的额外组件。例如,电路、系统、网络、过程和其他组件可以用框图形式示为组件以避免使这些实施方案因不必要的细节而混淆。在其他实例中,可以在没有不必要的细节的情况下示出公知的电路、过程、算法、结构和技术以避免混淆各实施方案。
单独的实施方案可以在上文被描述为被示为流程图、流图、数据流图、结构图或框图的过程或方法。尽管流程图可以将操作描述为顺序过程,但是操作中的许多操作可以被并行或同时执行。另外,可以重新排列操作的次序。当过程的操作完成时过程被终结,但是过程可具有附图中未包括的附加步骤。过程可对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,它的终止对应于该函数返回调用方函数或主函数。
根据上述示例的过程和方法可使用被存储的计算机可执行指令或以其他方式从计算机可读介质可用的计算机可执行指令来实现。这些指令可包括例如致使或以其他方式将通用计算机、专用计算机或处理设备配置成执行某一功能或功能群的指令和数据。所使用的计算机资源的部分可通过网络访问。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令、固件、源代码等。可以用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、具有非易失性存储器的USB设备、联网存储设备等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采取多种形状因子中的任何形状因子。当以软件、固件、中间件或微代码实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可被存储在计算机可读或机器可读介质中。处理器可执行必要任务。形状因子的典型示例包括膝上型电脑、智能电话、移动电话、平板设备或其它小形状因子个人计算机、个人数字助理、机架安装设备、独立设备等。本文中描述的功能也可以被体现在在外围设备或内插式卡中。作为进一步的示例,此类功能性还可被实现在在单个设备上执行的不同芯片或不同过程之中的电路板上。
指令、用于传送这种指令的介质、用于执行它们的计算资源以及用于支持这种计算资源的其他结构是用于提供本公开内容中描述的功能的示例部件。
在前述描述中,参照本申请的具体实施方案描述了本申请的方面,但是本领域技术人员将认识到,本申请不限于此。因而,尽管本申请的说明性实施方案已经在本文中详细描述,但是要理解,各个发明概念可以以其他各种方式被实施和采用,并且所附权利要求书不旨在被解释为包括这些变型,除非受到现有技术的限制。上述应用的各种特征和方面可以单独地或联合地使用。此外,在不脱离本说明书的范围的情况下,实施方案可以用于超出本文中描述的环境和应用的任何数量个环境和应用中。因此,说明书和附图应当被认为是说明性的而非限制性的。出于说明的目的,按照特定顺序来描述各方法。应当领会,在替换实施方案中,各方法可以按与所描述的不同顺序来执行。
本领域普通技术人员将领会,本文所使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于等于(“≤”)和大于等于(“≥”)符号来代替而不背离本说明书的范围。
在组件被描述为“被配置为”执行某些操作的情况下,这样的配置可以例如通过以下各项来实现:设计电子电路或其它硬件以执行操作、通过编程可编程电子电路(例如,微处理器或其它合适的电子电路)以执行操作、或其任何组合。
短语“耦合到”是指任何组件直接或间接物理连接到另一组件,和/或任何组件直接或间接与另一组件进行通信(例如,通过有线或无线连接和/或其它合适的通信接口连接到另一组件)。
记载集合“中的至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言指示集合中的一个成员或集合中的多个成员(以任何组合)满足权利要求。例如,叙述“A和B中的至少一个”的权利要求语言意指A、B或A和B。在另一示例中,叙述“A、B和C中的至少一个”的权利要求语言意指A、B、C、或A和B、或A和C、或B和C、或A和B和C。语言集合“中的至少一个”和/或集合中的“一个或多个”不将集合限制为集合中所列的项目。例如,叙述“A和B中的至少一个”的权利要求语言可以意指A、B或A和B,并且可以另外包括A和B的集合中未列出的项目。
结合本文公开的实施方案描述的各种说明性逻辑框、模块、电路和算法步骤可以实现为电子硬件、计算机软件、固件或其组合。为了清楚地例示硬件和软件的这种可互换性,已经在其功能性方面大致描述了各种例示性组件、方框、模块、电路和步骤。将这种功能性实现为硬件还是软件取决于具体的应用和对整个系统提出的设计约束条件。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本申请的范围。
本文中描述的技术还可以被实现在电子硬件、计算机软件、固件或其任何组合中。这样的技术可以被实现在多种设备中的任何设备中,多种设备诸如通用计算机、无线通信设备手持机、或具有多种用途的集成电路设备,多种用途包括在无线通信设备手持机和其它设备中的应用。被描述为模块或组件的任何特征可以一起被实现在集成逻辑设备中或分开地实现为分立但可互操作的逻辑设备。如果以软件来实现,则这些技术可以至少部分地由包括程序代码的计算机可读数据存储介质来实现,这些程序代码包括指令,这些指令在被执行时执行上述方法中的一者或多者。计算机可读数据存储介质可形成计算机程序产品的一部分,其可包括封装材料。计算机可读介质可以包括存储器或数据存储介质,例如随机存取存储器(RAM)(例如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储介质等。附加地或另选地,技术可以至少部分地由计算机可读通信介质来实现,该计算机可读通信介质携带或传送指令或数据结构形式的且可由计算机存取、读取和/或执行的程序代码,诸如传播的信号或波。
程序代码可以由处理器执行,所述处理器可以包括含一个或多个处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或分立逻辑电路系统。这样的处理器可被配置为执行本公开内容中所描述的技术中的任何技术。通用处理器可以是微处理器;但在另选方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心,或任何其它这样配置。因此,如本文中所使用的术语“处理器”可以指前述结构中的任何结构、前述结构的任何组合或适合于实现本文中所描述的技术的任何其它结构或装置。另外,在一些方面,本文中所描述的功能性可提供在被配置为用于编码和解码的专用软件模块或硬件模块内,或并入组合的视频编码器-解码器(编解码器)中。
本公开内容的说明性方面包括:
方面1:一种用于处理图像数据的装置,所述装置包括:至少一个存储器;以及一个或多个处理器,所述一个或多个处理器耦合到所述存储器。所述一个或多个处理器被配置为:接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;标识来自外部设备的数据流;基于所述图像、所述数据流和所述装置的操作状态中的至少一者来检测条件;响应于检测到所述条件,基于所述图像和所述数据流中的至少一者来确定所述对象在所述环境中的位置;以及基于所述对象在所述环境中的所述位置来生成输出。
方面2:根据方面1所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为确定所述对象从所述图像中的所述环境的一部分中缺失。
方面3:根据方面2所述的装置,其中为了确定所述对象从所述图像中的所述环境的所述部分中缺失,所述一个或多个处理器被配置为确定所述对象的至少一部分在所述图像中被遮挡。
方面4:根据方面2或3中任一项所述的装置,其中所述外部设备包括第二图像传感器,其中所述数据流包括所述环境的第二部分的第二图像,并且其中确定所述对象在所述环境中的所述位置至少部分地基于所述对象在所述第二图像中的描绘。
方面5:根据方面4所述的装置,其中所述环境的所述部分与所述环境的所述第二部分重叠。
方面6:根据方面1至5中任一项所述的装置,其中为了基于所述装置的所述操作状态来检测所述条件,所述一个或多个处理器被配置为确定资源的可用性低于阈值。
方面7:根据方面6所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定电池的电池电量低于电池电量阈值。
方面8:根据方面6或7中任一项所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定可用带宽低于带宽阈值。
方面9:根据方面1至8中任一项所述的装置,其中为了基于所述装置的所述操作状态来检测所述条件,所述一个或多个处理器被配置为接收对应于将处理卸载到所述外部设备的用户输入。
方面10:根据方面1至9中任一项所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为生成内容。
方面11:根据方面10所述的装置,其中所述一个或多个处理器被配置为:基于所述对象在所述环境中的所述位置来输出所述内容。
方面12:根据方面11所述的装置,还包括:显示器;其中为了输出所述内容,所述一个或多个处理器被配置为向所述显示器发送所述内容以进行显示。
方面13:根据方面1至12中任一项所述的装置,其中所述一个或多个处理器被配置为:基于由所述图像传感器捕获的附加图像、所述数据流和所述装置的所述操作状态中的至少一者来检测附加条件;以及响应于检测到所述附加条件,执行先前由所述外部设备执行的功能。
方面14:根据方面1至13中任一项所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为:基于用户输入来控制所述装置。
方面15:根据方面1至14中任一项所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为确定所述图像中的一个或多个照明条件。
方面16:根据方面15所述的装置,其中为了确定所述图像中的所述一个或多个照明条件,所述一个或多个处理器被配置为确定所述图像的一个或多个光值低于照明阈值。
方面17:根据方面1至16中任一项所述的装置,其中为了确定所述对象在所述环境中的所述位置,所述一个或多个处理器被配置为:发送对所述外部设备标识所述对象在所述环境中的所述位置的请求;以及从所述外部设备接收标识所述对象在所述环境中的所述位置的响应。
方面18:根据方面1至17中任一项所述的装置,其中所述对象是外部显示设备的显示器。
方面19:根据方面18所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为在所述图像中标识在所述外部显示设备的所述显示器上显示的视觉媒体内容。
方面20:根据方面18或19中任一项所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为生成内容,并且其中所述内容虚拟地扩展所述外部显示设备的所述显示器。
方面21:根据方面1至20中任一项所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为:至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成内容,其中所述图像的所述区域基于所述对象在所述环境中的所述位置。
方面22:根据方面21所述的装置,其中所述对象是外部显示设备的显示器,并且其中所述图像的所述区域与所述外部显示设备的所述显示器在所述图像中的描绘相邻。
方面23:根据方面21所述的装置,其中所述对象是所述装置的用户的手部,并且其中所述手部至少部分地与所述图像的所述区域相邻。
方面24:根据方面1至21中任一项所述的装置,其中所述对象是在所述显示器上显示的视觉内容。
方面25:根据方面1至21中任一项所述的装置,其中所述对象是所述装置的用户的头部。
方面26:根据方面1至21中任一项所述的装置,其中所述对象是所述装置的用户的身体。
方面27:根据方面1至26中任一项所述的装置,其中所述一个或多个处理器被进一步配置为:响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像组合来生成合并数据集,其中确定所述对象的所述位置至少部分地基于所述合并数据集。
方面28:根据方面1至27中任一项所述的装置,其中所述装置是头戴式显示器(HMD)。
方面29:根据方面1至28中任一项所述的装置,还包括:音频输出设备;其中为了生成所述输出,所述一个或多个处理器被配置为生成内容;并且其中所述一个或多个处理器被配置为向所述音频输出设备发送所述内容以进行播放。
方面30:一种用于处理图像数据的方法,所述方法包括:接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;由设备标识来自外部设备的数据流;基于所述图像、所述数据流和所述设备的操作状态中的至少一者来检测条件;响应于检测到所述条件,基于所述图像和所述数据流中的至少一者来确定所述对象在所述环境中的位置;以及基于所述对象在所述环境中的所述位置来生成输出。
方面31:根据方面30所述的方法,其中基于所述图像来检测所述条件包括确定所述对象从所述图像中的所述环境的一部分中缺失。
方面32:根据方面31所述的方法,其中确定所述对象从所述图像中的所述环境的所述部分中缺失包括确定所述对象的至少一部分在所述图像中被遮挡。
方面33:根据方面31或32中任一项所述的方法,其中所述外部设备包括第二图像传感器,其中所述数据流包括所述环境的第二部分的第二图像,并且其中确定所述对象在所述环境中的所述位置至少部分地基于所述对象在所述第二图像中的描绘。
方面34:根据方面33所述的方法,其中所述环境的所述部分与所述环境的所述第二部分重叠。
方面35:根据方面30至34中任一项所述的方法,其中基于所述设备的所述操作状态来检测所述条件包括确定资源的可用性低于阈值。
方面36:根据方面35所述的方法,其中确定所述资源的所述可用性低于所述阈值包括确定电池的电池电量低于电池电量阈值。
方面37:根据方面35或36中任一项所述的方法,其中确定所述资源的所述可用性低于所述阈值包括确定可用带宽低于带宽阈值。
方面38:根据方面30至37中任一项所述的方法,其中基于所述设备的所述操作状态来检测所述条件包括接收对应于将处理卸载到所述外部设备的用户输入。
方面39:根据方面30至38中任一项所述的方法,其中生成所述输出包括生成内容。
方面40:根据方面39所述的方法,所述方法还包括基于所述对象在所述环境中的所述位置来输出所述内容。
方面41:根据方面40所述的方法,其中输出所述内容包括向所述设备的显示器发送所述内容以进行显示。
方面42:根据方面30至41中任一项所述的方法,所述方法还包括:基于由所述图像传感器捕获的附加图像、所述数据流和所述设备的所述操作状态中的至少一者来检测附加条件;以及响应于检测到所述附加条件,执行先前由所述外部设备执行的功能。
方面43:根据方面30至42中任一项所述的方法,其中生成所述输出包括基于用户输入来控制所述设备。
方面44:根据方面30至43中任一项所述的方法,其中基于所述图像来检测所述条件包括确定所述图像中的一个或多个照明条件。
方面45:根据方面44所述的方法,其中确定所述图像中的所述一个或多个照明条件包括确定所述图像的一个或多个光值低于照明阈值。
方面46:根据方面30至45中任一项所述的方法,其中确定所述对象在所述环境中的所述位置包括:发送对所述外部设备标识所述对象在所述环境中的所述位置的请求;以及从所述外部设备接收标识所述对象在所述环境中的所述位置的响应。
方面47:根据方面30至46中任一项所述的方法,其中所述对象是外部显示设备的显示器。
方面48:根据方面47所述的方法,其中基于所述图像来检测所述条件包括在所述图像中标识在所述外部显示设备的所述显示器上显示的视觉媒体内容。
方面49:根据方面47或48中任一项所述的方法,其中生成所述输出包括生成内容,并且其中所述内容虚拟地扩展所述外部显示设备的所述显示器。
方面50:根据方面30至49中任一项所述的方法,其中生成所述输出包括:至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成内容,其中所述图像的所述区域基于所述对象在所述环境中的所述位置。
方面51:根据方面50所述的方法,其中所述对象是外部显示设备的显示器,并且其中所述图像的所述区域与所述外部显示设备的所述显示器在所述图像中的描绘相邻。
方面52:根据方面50所述的方法,其中所述对象是所述设备的用户的手部,并且其中所述手部至少部分地与所述图像的所述区域相邻。
方面53:根据方面30至50中任一项所述的方法,其中所述对象是在所述显示器上显示的视觉内容。
方面54:根据方面30至50中任一项所述的方法,其中所述对象是所述装置的用户的头部。
方面55:根据方面30至50中任一项所述的方法,其中所述对象是所述装置的用户的身体。
方面56:根据方面30至55中任一项所述的方法,所述方法还包括:响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像组合来生成合并数据集,其中确定所述对象的所述位置至少部分地基于所述合并数据集。
方面57:根据方面30至56中任一项所述的方法,其中生成所述输出包括生成内容,并且还包括向音频输出设备发送所述内容以进行播放。
方面58:一种存储指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据方面1至57中任一项的操作。
方面59:一种装置,所述装置包括用于执行根据方面1至57中任一项所述的操作的部件。
方面60:一种用于处理图像数据的装置,所述装置包括:至少一个存储器;以及一个或多个处理器,所述一个或多个处理器耦合到所述存储器。所述一个或多个处理器被配置为:接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;检测关于资源的可用性的条件;响应于检测到所述条件,至少基于来自设备的数据流来确定所述对象的至少一部分在所述环境中的位置;以及输出基于所述对象的至少所述部分在所述环境中的所述位置的内容。
方面61:根据方面60所述的装置,其中为了检测所述条件,所述一个或多个处理器被配置为确定所述资源的所述可用性低于阈值。
方面62:根据方面61所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定电池的电池电量低于电池电量阈值。
方面63:根据方面61或62中任一项所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定可用带宽低于带宽阈值。
方面64:根据方面60至63中任一项所述的装置,其中为了确定所述对象的至少所述部分在所述环境中的所述位置,所述一个或多个处理器被配置为:发送对所述设备标识所述对象的至少所述部分在所述环境中的所述位置的请求;以及从所述设备接收标识所述对象的至少所述部分在所述环境中的所述位置的响应。
方面65:根据方面60至64中任一项所述的装置,其中所述一个或多个处理器被进一步配置为:至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成所述内容,其中所述图像的所述区域基于所述对象的所述部分在所述环境中的所述位置。
方面66:根据方面65所述的装置,其中所述对象是所述装置的用户的手部,并且其中所述手部至少部分地与所述图像的所述区域相邻。
方面67:根据方面60至66中任一项所述的装置,其中所述一个或多个处理器被进一步配置为:响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像合并来生成合并数据集,其中确定所述对象的至少所述部分的所述位置基于所述合并数据集。
方面68:根据方面60至67中任一项所述的装置,其中所述装置是头戴式显示器(HMD)。
方面69:根据方面60至68中任一项所述的装置,还包括:显示器,其中为了输出所述内容,所述一个或多个处理器被配置为向所述显示器发送所述内容以由所述显示器显示。
方面70:根据方面60至69中任一项所述的装置,还包括:音频输出设备,其中为了输出所述内容,所述一个或多个处理器被配置为向所述音频输出设备发送所述内容以由所述音频输出设备播放。
方面71:一种处理图像数据的方法,所述方法包括根据方面60至70中任一项所述的操作。
方面72:一种存储指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据方面60至70中任一项的操作。
方面73:一种装置,所述装置包括用于执行根据方面60至70中任一项所述的操作的部件。
方面74:一种用于处理图像数据的装置,所述装置包括:至少一个存储器;以及一个或多个处理器,所述一个或多个处理器耦合到所述存储器。所述一个或多个处理器被配置为:接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;基于所述图像来检测条件;响应于检测到所述条件,至少基于来自设备的数据流来生成内容;以及基于所述对象的至少一部分在所述环境中的位置来输出所述内容。
方面75:根据方面74所述的装置,其中为了检测所述条件,所述一个或多个处理器被配置为确定所述对象从所述图像中的所述环境的一部分中缺失。
方面76:根据方面74所述的装置,其中所述对象是外部设备的显示器。
方面77:根据方面76所述的装置,其中为了检测所述条件,所述一个或多个处理器被配置为在所述图像中标识在所述外部设备的所述显示器上显示的视觉媒体内容的描绘。
方面78:根据方面76所述的装置,其中为了检测所述条件,所述一个或多个处理器被配置为检测所述显示器在所述装置附近的存在。
方面79:根据方面76所述的装置,其中所述一个或多个处理器被进一步配置为生成指向所述显示器的所述位置的方向指示器。
方面80:根据方面76至79中任一项所述的装置,其中所述内容虚拟地扩展所述外部设备的所述显示器。
方面81:根据方面74至80中任一项所述的装置,其中所述一个或多个处理器被配置为:至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成所述内容,其中所述图像的所述区域基于所述对象的所述部分在所述环境中的所述位置。
方面82:根据方面81所述的装置,其中所述对象是外部设备的显示器,并且其中所述图像的所述区域与所述外部设备的所述显示器在所述图像中的描绘相邻。
方面83:根据方面74至82中任一项所述的装置,其中所述一个或多个处理器被配置为:响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像合并来生成合并数据集,其中基于所述合并数据集来生成所述内容。
方面84:根据方面74至83中任一项所述的装置,其中所述装置是头戴式显示器(HMD)。
方面85:根据方面74至84中任一项所述的装置,还包括:显示器,其中为了输出所述内容,所述一个或多个处理器被配置为向所述显示器发送所述内容以由所述显示器显示。
方面86:根据方面74至85中任一项所述的装置,还包括:音频输出设备,其中为了输出所述内容,所述一个或多个处理器被配置为向所述音频输出设备发送所述内容以由所述音频输出设备播放。
方面87:一种处理图像数据的方法,所述方法包括根据方面74至86中任一项所述的操作。
方面88:一种存储指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据方面74至86中任一项的操作。
方面89:一种装置,所述装置包括用于执行根据方面74至86中任一项所述的操作的部件。
Claims (51)
1.一种用于处理图像数据的装置,所述装置包括:
存储器;和
一个或多个处理器,所述一个或多个处理器耦合到所述存储器,所述一个或多个处理器被配置为:
接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;
标识来自外部设备的数据流;
基于所述图像、所述数据流和所述装置的操作状态中的至少一者来检测条件;
响应于检测到所述条件,基于所述图像和所述数据流中的至少一者来确定所述对象在所述环境中的位置;以及
基于所述对象在所述环境中的所述位置来生成输出。
2.根据权利要求1所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为确定所述对象从所述图像中的所述环境的一部分中缺失。
3.根据权利要求2所述的装置,其中为了确定所述对象从所述图像中的所述环境的所述部分中缺失,所述一个或多个处理器被配置为确定所述对象的至少一部分在所述图像中被遮挡。
4.根据权利要求2所述的装置,其中所述外部设备包括第二图像传感器,其中所述数据流包括所述环境的第二部分的第二图像,并且其中确定所述对象在所述环境中的所述位置至少部分地基于所述对象在所述第二图像中的描绘。
5.根据权利要求4所述的装置,其中所述环境的所述部分与所述环境的所述第二部分重叠。
6.根据权利要求1所述的装置,其中为了基于所述装置的所述操作状态来检测所述条件,所述一个或多个处理器被配置为确定资源的可用性低于阈值。
7.根据权利要求6所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定电池的电池电量低于电池电量阈值。
8.根据权利要求6所述的装置,其中为了确定所述资源的所述可用性低于所述阈值,所述一个或多个处理器被配置为确定可用带宽低于带宽阈值。
9.根据权利要求1所述的装置,其中为了基于所述装置的所述操作状态来检测所述条件,所述一个或多个处理器被配置为接收对应于将处理卸载到所述外部设备的用户输入。
10.根据权利要求1所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为生成内容。
11.根据权利要求10所述的装置,其中所述一个或多个处理器被配置为:
基于所述对象在所述环境中的所述位置来输出所述内容。
12.根据权利要求11所述的装置,还包括:
显示器;
其中为了输出所述内容,所述一个或多个处理器被配置为向所述显示器发送所述内容以进行显示。
13.根据权利要求1所述的装置,其中所述一个或多个处理器被配置为:
基于由所述图像传感器捕获的附加图像、所述数据流和所述装置的所述操作状态中的至少一者来检测附加条件;以及
响应于检测到所述附加条件,执行先前由所述外部设备执行的功能。
14.根据权利要求1所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为:
基于用户输入来控制所述装置。
15.根据权利要求1所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为确定所述图像中的一个或多个照明条件。
16.根据权利要求15所述的装置,其中为了确定所述图像中的所述一个或多个照明条件,所述一个或多个处理器被配置为确定所述图像的一个或多个光值低于照明阈值。
17.根据权利要求1所述的装置,其中为了确定所述对象在所述环境中的所述位置,所述一个或多个处理器被配置为:
发送对所述外部设备标识所述对象在所述环境中的所述位置的请求;以及
从所述外部设备接收标识所述对象在所述环境中的所述位置的响应。
18.根据权利要求1所述的装置,其中所述对象是外部显示设备的显示器。
19.根据权利要求18所述的装置,其中为了基于所述图像来检测所述条件,所述一个或多个处理器被配置为在所述图像中标识在所述外部显示设备的所述显示器上显示的视觉媒体内容。
20.根据权利要求18所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为生成内容,并且其中所述内容虚拟地扩展所述外部显示设备的所述显示器。
21.根据权利要求1所述的装置,其中为了生成所述输出,所述一个或多个处理器被配置为:
至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成内容,其中所述图像的所述区域基于所述对象在所述环境中的所述位置。
22.根据权利要求21所述的装置,其中所述对象是外部显示设备的显示器,并且其中所述图像的所述区域与所述外部显示设备的所述显示器在所述图像中的描绘相邻。
23.根据权利要求21所述的装置,其中所述对象是所述装置的用户的手部,并且其中所述手部至少部分地与所述图像的所述区域相邻。
24.根据权利要求1所述的装置,其中所述一个或多个处理器被进一步配置为:
响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像组合来生成合并数据集,其中确定所述对象的所述位置至少部分地基于所述合并数据集。
25.根据权利要求1所述的装置,其中所述装置是头戴式显示器(HMD)。
26.根据权利要求1所述的装置,还包括:
音频输出设备;
其中为了生成所述输出,所述一个或多个处理器被配置为生成内容;并且
其中所述一个或多个处理器被配置为向所述音频输出设备发送所述内容以进行播放。
27.一种用于处理图像数据的方法,包括:
接收由图像传感器捕获的环境的一部分的图像,其中所述环境包括对象;
由设备标识来自外部设备的数据流;
基于所述图像、所述数据流和所述设备的操作状态中的至少一者来检测条件;
响应于检测到所述条件,基于所述图像和所述数据流中的至少一者来确定所述对象在所述环境中的位置;以及
基于所述对象在所述环境中的所述位置来生成输出。
28.根据权利要求27所述的方法,其中基于所述图像来检测所述条件包括确定所述对象从所述图像中的所述环境的一部分中缺失。
29.根据权利要求28所述的方法,其中确定所述对象从所述图像中的所述环境的所述部分中缺失包括确定所述对象的至少一部分在所述图像中被遮挡。
30.根据权利要求28所述的方法,其中所述外部设备包括第二图像传感器,其中所述数据流包括所述环境的第二部分的第二图像,并且其中确定所述对象在所述环境中的所述位置至少部分地基于所述对象在所述第二图像中的描绘。
31.根据权利要求30所述的方法,其中所述环境的所述部分与所述环境的所述第二部分重叠。
32.根据权利要求27所述的方法,其中基于所述设备的所述操作状态来检测所述条件包括确定资源的可用性低于阈值。
33.根据权利要求32所述的方法,其中确定所述资源的所述可用性低于所述阈值包括确定电池的电池电量低于电池电量阈值。
34.根据权利要求32所述的方法,其中确定所述资源的所述可用性低于所述阈值包括确定可用带宽低于带宽阈值。
35.根据权利要求27所述的方法,其中基于所述设备的所述操作状态来检测所述条件包括接收对应于将处理卸载到所述外部设备的用户输入。
36.根据权利要求27所述的方法,其中生成所述输出包括生成内容。
37.根据权利要求36所述的方法,还包括基于所述对象在所述环境中的所述位置来输出所述内容。
38.根据权利要求37所述的方法,其中输出所述内容包括向所述设备的显示器发送所述内容以进行显示。
39.根据权利要求27所述的方法,还包括:
基于由所述图像传感器捕获的附加图像、所述数据流和所述设备的所述操作状态中的至少一者来检测附加条件;以及
响应于检测到所述附加条件,执行先前由所述外部设备执行的功能。
40.根据权利要求27所述的方法,其中生成所述输出包括基于用户输入来控制所述设备。
41.根据权利要求27所述的方法,其中基于所述图像来检测所述条件包括确定所述图像中的一个或多个照明条件。
42.根据权利要求41所述的方法,其中确定所述图像中的所述一个或多个照明条件包括确定所述图像的一个或多个光值低于照明阈值。
43.根据权利要求27所述的方法,其中确定所述对象在所述环境中的所述位置包括:
发送对所述外部设备标识所述对象在所述环境中的所述位置的请求;以及
从所述外部设备接收标识所述对象在所述环境中的所述位置的响应。
44.根据权利要求27所述的方法,其中所述对象是外部显示设备的显示器。
45.根据权利要求44所述的方法,其中基于所述图像来检测所述条件包括在所述图像中标识在所述外部显示设备的所述显示器上显示的视觉媒体内容。
46.根据权利要求44所述的方法,其中生成所述输出包括生成内容,并且其中所述内容虚拟地扩展所述外部显示设备的所述显示器。
47.根据权利要求27所述的方法,其中生成所述输出包括:
至少部分地通过在所述图像的区域之上覆盖虚拟内容来生成内容,其中所述图像的所述区域基于所述对象在所述环境中的所述位置。
48.根据权利要求47所述的方法,其中所述对象是外部显示设备的显示器,并且其中所述图像的所述区域与所述外部显示设备的所述显示器在所述图像中的描绘相邻。
49.根据权利要求47所述的方法,其中所述对象是所述设备的用户的手部,并且其中所述手部至少部分地与所述图像的所述区域相邻。
50.根据权利要求27所述的方法,还包括:
响应于检测到所述条件,至少通过将来自所述数据流的数据与由所述图像传感器捕获的所述图像组合来生成合并数据集,其中确定所述对象的所述位置至少部分地基于所述合并数据集。
51.根据权利要求27所述的方法,其中生成所述输出包括生成内容,并且还包括向音频输出设备发送所述内容以进行播放。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/351,856 US11847793B2 (en) | 2021-06-18 | 2021-06-18 | Collaborative tracking |
US17/351,856 | 2021-06-18 | ||
PCT/US2022/032732 WO2022265902A1 (en) | 2021-06-18 | 2022-06-08 | Collaborative tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501209A true CN117501209A (zh) | 2024-02-02 |
Family
ID=82458682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280041683.8A Pending CN117501209A (zh) | 2021-06-18 | 2022-06-08 | 协作跟踪 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11847793B2 (zh) |
EP (1) | EP4356225A1 (zh) |
KR (1) | KR20240021797A (zh) |
CN (1) | CN117501209A (zh) |
BR (1) | BR112023025455A8 (zh) |
TW (1) | TW202305743A (zh) |
WO (1) | WO2022265902A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3138221A1 (fr) * | 2022-07-22 | 2024-01-26 | Orange | Procédé d’adaptation d’interface homme machine |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120194551A1 (en) * | 2010-02-28 | 2012-08-02 | Osterhout Group, Inc. | Ar glasses with user-action based command and control of external devices |
US9807188B2 (en) * | 2013-04-09 | 2017-10-31 | Samsung Electronics Co., Ltd. | Methods and apparatuses for dynamic content offloading |
US20140317659A1 (en) * | 2013-04-19 | 2014-10-23 | Datangle, Inc. | Method and apparatus for providing interactive augmented reality information corresponding to television programs |
US10679058B2 (en) * | 2016-01-06 | 2020-06-09 | Orcam Technologies Ltd. | Wearable apparatus and methods for processing images to identify contextual situations |
GB2555410B (en) * | 2016-10-25 | 2020-11-04 | Sony Interactive Entertainment Inc | Video content synchronisation method and apparatus |
US11302063B2 (en) * | 2020-07-21 | 2022-04-12 | Facebook Technologies, Llc | 3D conversations in an artificial reality environment |
CN116719413A (zh) * | 2020-09-11 | 2023-09-08 | 苹果公司 | 用于操纵环境中的对象的方法 |
-
2021
- 2021-06-18 US US17/351,856 patent/US11847793B2/en active Active
-
2022
- 2022-06-08 EP EP22738811.3A patent/EP4356225A1/en active Pending
- 2022-06-08 CN CN202280041683.8A patent/CN117501209A/zh active Pending
- 2022-06-08 WO PCT/US2022/032732 patent/WO2022265902A1/en active Application Filing
- 2022-06-08 BR BR112023025455A patent/BR112023025455A8/pt unknown
- 2022-06-08 KR KR1020237042772A patent/KR20240021797A/ko unknown
- 2022-06-09 TW TW111121391A patent/TW202305743A/zh unknown
-
2023
- 2023-11-06 US US18/502,983 patent/US20240078700A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240078700A1 (en) | 2024-03-07 |
US20220405959A1 (en) | 2022-12-22 |
WO2022265902A1 (en) | 2022-12-22 |
BR112023025455A2 (pt) | 2024-02-27 |
TW202305743A (zh) | 2023-02-01 |
BR112023025455A8 (pt) | 2024-03-05 |
KR20240021797A (ko) | 2024-02-19 |
US11847793B2 (en) | 2023-12-19 |
EP4356225A1 (en) | 2024-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240078700A1 (en) | Collaborative tracking | |
US11769258B2 (en) | Feature processing in extended reality systems | |
US11330204B1 (en) | Exposure timing control for multiple image sensors | |
WO2023044208A1 (en) | Low-power fusion for negative shutter lag capture | |
US20230262322A1 (en) | Mechanism for improving image capture operations | |
US20230281835A1 (en) | Wide angle eye tracking | |
US20240036640A1 (en) | User attention determination for extended reality | |
US11792505B2 (en) | Enhanced object detection | |
US20230137141A1 (en) | Systems and methods for device interoperability for extended reality | |
US20240193873A1 (en) | Independent scene movement based on mask layers | |
US20240153245A1 (en) | Hybrid system for feature detection and descriptor generation | |
US11889196B2 (en) | Systems and methods for determining image capture settings | |
US20230021016A1 (en) | Hybrid object detector and tracker | |
US20240073520A1 (en) | Dual camera tracking system | |
US11982527B2 (en) | Systems and methods of imaging with multi-domain image sensor | |
WO2023282963A1 (en) | Enhanced object detection | |
US20240161418A1 (en) | Augmented reality enhanced media | |
US20230095621A1 (en) | Keypoint detection and feature descriptor computation | |
US20230222757A1 (en) | Systems and methods of media processing | |
WO2024118233A1 (en) | Dynamic camera selection and switching for multi-camera pose estimation | |
WO2023081573A1 (en) | Systems and methods for device interoperability for extended reality | |
WO2024097469A1 (en) | Hybrid system for feature detection and descriptor generation | |
WO2023163799A1 (en) | Foveated sensing | |
WO2024123513A1 (en) | Independent scene movement based on mask layers | |
KR20240033226A (ko) | 확장 현실 인터페이스들에 대한 원격 랜드마크 렌더링 |
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 |