CN115769272A - 用于在环境中投影内容的系统和方法 - Google Patents
用于在环境中投影内容的系统和方法 Download PDFInfo
- Publication number
- CN115769272A CN115769272A CN202280004910.XA CN202280004910A CN115769272A CN 115769272 A CN115769272 A CN 115769272A CN 202280004910 A CN202280004910 A CN 202280004910A CN 115769272 A CN115769272 A CN 115769272A
- Authority
- CN
- China
- Prior art keywords
- content
- computing device
- depth information
- imaging environment
- video
- 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 title claims abstract description 72
- 238000003384 imaging method Methods 0.000 claims description 80
- 230000004044 response Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 9
- 230000003190 augmentative effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000004744 fabric Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
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)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Architecture (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开描述了针对放置用户的系统和方法。更具体地,接收内容并获得对应于计算设备的外部环境的深度信息。从用户接收基于深度图像将内容与位置相关联的指示。获得与该位置处的深度信息相关联的至少一个平面的信息;并且将所选内容的一部分扭曲以匹配该至少一个平面。
Description
背景技术
增强现实为用户,特别是智能手机设备的用户,提供了许多开发互动内容和效果的机会。在示例中,翻译服务、设计可视化服务和其他信息服务可向用户提供以其它方式不容易获得或者否则将需要用户付出大量努力来获得的信息。例如,期望观看外语菜单的用户可轻松下载并使用语言翻译应用来实时翻译菜单。此外,用户可将例如椅子的二维图像置于房间的图像中,以在不实际获取椅子的情况下可视化椅子在他们房间中的外观。此外,娱乐应用已经类似地包括增强现实,作为增加用户体验和/或应用程序的整体使用的手段。
正是针对这些和其他一般考虑,对实施例进行了描述。尽管已经论述了相对具体的问题,但应理解,本文所描述的示例不应限于解决在上面的背景技术中标识的具体问题。
发明内容
根据本公开的示例,描述了针对将用户提供的内容置于由计算设备的成像设备成像的用户的世界中的系统和方法。更具体地,接收可由计算设备访问的内容并获得对应于计算设备的外部环境的深度信息。从用户接收基于深度信息将所选内容与位置相关联的指示。获得与该位置处的深度图像相关联的至少一个平面的信息;并且将内容的一部分扭曲以匹配至少一个平面。
根据本公开的示例,描述了一种用于将内容置于计算设备外部的成像环境中的方法。该方法可包括接收内容、获得对应于计算设备外部的成像环境的深度信息、接收基于深度信息将内容与成像环境中的位置相关联的指示,以及基于对应于计算设备外部的成像环境的深度信息来扭曲内容的至少一部分。
根据本公开的示例,描述了一种被配置为将内容置于计算设备外部的成像环境中的系统。该系统可包括处理器和包括指令的存储器,该指令当由处理器执行时,促使处理器:接收内容、获得对应于计算设备外部的成像环境的深度信息、接收基于深度信息将内容与成像环境中的位置相关联的指示,以及基于对应于计算设备外部的成像环境的深度信息来扭曲内容的至少一部分。
根据本公开的示例,描述了一种计算机可读存储介质。计算机可读存储介质可包括指令,该指令当由处理器执行时,使处理器:接收内容、获取对应于计算设备外部的成像环境的深度信息、接收基于深度信息将所选内容与成像环境中的位置相关联的指示,以及基于对应于计算设备外部的成像环境的深度信息来扭曲内容的至少一部分。
提供本发明内容是为了以简化形式介绍概念的选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参考以下附图描述了非限制性和非穷举性示例。
图1描绘了根据本公开的示例的示例系统,该示例系统为用户提供了将内容(诸如内容)置于用户环境或世界(如通过增强现实用户界面所观看的)中的能力。
图2A-2G描绘了根据本公开的示例的用于放置内容的示例用户界面。
图3A-3B描绘了根据本公开的示例的针对深度信息的获取的细节。
图4描绘了根据本公开的示例的针对内容放置的细节。
图5A和5B描绘了根据本公开的示例的数据结构的细节。
图6描绘了根据本公开的示例的针对放置内容的附加细节。
图7描绘了根据本公开的示例的示例系统。
图8描绘了根据本公开的示例的用于将内容置于用户世界中的方法的细节。
图9描绘了根据本公开的示例的用于将内容置于用户世界中并获取视频的方法的细节。
图10是图示了可实践本公开的各方面的计算设备的物理组件(例如,硬件)的框图。
图11A-11B图示了可实践本公开的实施例的移动计算设备。
图12图示了用于处理数据的系统的架构的一个方面。
具体实施方式
在以下详细描述中,参考了构成说明书一部分的附图,附图中以说明的方式示出了具体实施例或示例。可组合这些方面,可利用其他方面,并且可在不脱离本公开的情况下进行结构改变。实施例可作为方法、系统或设备来实践。因此,实施例可采取硬件实现、完全软件实现或结合软件和硬件方面的实现的形式。因此,以下详细描述不应在限制性意义上进行,并且本公开的范围由所附权利要求及其等同物定义。
图1描绘了根据本公开的示例的示例系统100,该示例系统为用户102提供将内容104(诸如内容112)置于用户的环境或世界106(如通过增强现实用户界面所观看的)中的能力。内容104可包括但不限于文本、音频、一个或多个图像、一个或者多个动画以及一个或多个视频。增强现实用户界面或显示可由驻留于计算设备108上或以其他方式至少部分地在计算设备108处执行的应用110生成。在示例中,用户102可能期望将内容104置于由计算设备108捕获的他们的世界中。在另一示例中,内容104可为由应用110提供的内容,并且相应地,用户102可选择期望的内容104,以将这类内容作为例如安装在计算设备108中的应用110的预设而置于他们的世界中。在另一个实施例中,内容104还可为由计算设备108实时捕获的内容。例如,用户102可能期望将内容112上传、选择或捕获到他们的环境中,如由计算设备108所捕获并使其可见。用户102可上传、选择、或捕获内容112,并且放置内容112,如示例用户界面120中所描绘的。
将第一内容112A以第一内容112A看起来为环境或世界106的一部分的方式置于一个位置。因此,当用户移动计算设备108,使得第一内容112A在计算设备108的用户界面中不再可见时,当用户返回到第一内容112A被放置的位置时,第二内容112A变得可见。此外,看起来置于环境或世界106内的第一内容112A可从环境或世界106内的不同角度或位置可见。例如,当用户移动计算设备108时,由应用110获取的图像或视频可从与当第一内容112A被置于环境或世界106中时的角度不同的角度示出第一内容112A。作为另一示例,当用户移动计算设备108时,由应用110获取的图像或视频可从与当第一内容112A被置于环境或世界106中时计算设备108的位置处不同的位置示出第一内容112A。
此外,内容104可看起来被投影至环境或世界106的表面上。例如,第一内容112A看起来被投影至用户界面120中描绘的栏杆表面上。在一些情况下,内容104可置于两个或多个表面或平面上。因此,如图1所示,内容104可置于两个表面或平面上。更具体地,如图1所示,对应于内容104的第二内容112B可被放置为看起来好像被投影至角落上。第二内容112B可为第一内容112A的副本。第二内容112B可为与第一内容112A不同的图像或视频。换句话说,当由应用110提供的用户界面获取的图像或视频观看时,第二内容112B的至少一部分看起来被置于与放置第二内容112B的另一不同部分的表面不同的表面上。在示例中,一旦诸如内容112的内容104被放置,用户可记录他们与所放置的内容的交互。
用户102可获得与环境或世界106相关联的深度信息,然后将内容112放置或以其他方式将内容附加到环境或世界内的位置,其中该位置基于所获得的深度信息。例如,深度信息可基于多个传感器,诸如LiDAR传感器、结构光(Structure Light)传感器或其他传感器来获得。在一个实施例中,深度信息可基于由计算设备108的图像传感器获取的环境或世界106的多个图像来获得。深度信息可作为深度图存在,并且提供针对用户102的环境或世界106内的对象、表面等的距离信息,并且计算设备108的图像传感器已经为这些对象、表面等获取了这类图像。一旦用户确定了放置内容112的位置,用户就可放置附加内容112和/或开始捕获包括所放置的内容112的用户环境或世界106的视频或图像。然后,可经由联网环境105将所捕获的用户环境或世界106的视频连同所放置的内容112作为视频帧122提供给(一个或多个)视频托管平台114。在示例中,另一计算设备124可访问视频帧122并用于观看。联网环境105例如可为诸如LTE或5G的无线接入网络、局域网(LAN)、诸如互联网的广域网(WAN)或无线LAN(WLAN)。应理解,这并非旨在限制,并且本公开的范围包括其中计算设备108和/或124以及(一个或多个)视频托管平台114可经由一些其他通信耦合可操作地链接的实现。计算设备108和/或124可被配置为经由无线或有线连接件与联网环境105通信。此外,在一个示例中,计算设备108和/或124可被配置为经由无线或有线连接件彼此直接通信。
图2A-2G描绘了根据本公开的示例的用于放置内容的示例用户界面202。如图2A所示,显示在诸如计算设备108(图1)等计算设备处的用户界面202可描绘由计算设备108的图像传感器成像的第一图像204。第一用户控件206可提示用户选择内容,诸如视频或图像。在示例中,与计算设备可访问的内容相关联的图标可显示为图标208。在示例中,图标可描绘分别显示的视频或图像的一个或多个场景。用户可选择与期望的视频或图像相关联的图标210,以被包括在从计算设备的图像传感器观看时的用户的环境或世界中。
图2A只是一个说明性示例。在其他示例中,显示在诸如计算设备108(图1)的计算设备处的用户界面202可描绘由计算设备108的图像传感器成像的第一图像204。另一图标(图2A中未示出)可提示用户捕获内容,诸如视频或图像。因此,所捕获的视频或图像可被包括在从计算设备的图像传感器观看时的用户环境或世界中。
如图2B所描绘的,显示在诸如计算设备108(图1)的计算设备处的用户界面202可描绘由计算设备的图像传感器成像的第二图像212。第二图像212可具有与第一图像204相同的场景,但来自不同的视点。用户界面202可指示用户四处移动计算设备以获取深度信息,即,经由在用户界面上显示提示214。例如,提示214可显示在计算设备的显示器上。提示214可包括描绘手持电话的手的图像216、指示深度信息收集的状态的环218以及陈述用户动作的文本220。提示214用于说明性目的,也可使用其他类型的提示;本公开不限于任何特定提示。如图2C所示,显示在诸如计算设备108(图1)的计算设备处的用户界面202可描绘由计算设备的图像传感器成像的第三图像222。第三图像222可具有与第一图像204和第二图像212相同的场景,但来自不同的视点。用户界面202可将指示深度信息收集的状态的环218描绘为完成。因此,可显示图2D中所描绘的用户界面202。
如图2D所示,显示在诸如计算设备108(图1)的计算设备处的用户界面202可描绘由计算设备的图像传感器成像的第四图像226。第四图像226可具有与第一图像204、第二图像212和第三图像222相同的场景,但来自不同的视点。用户界面202可显示在图2A中选择的或者由计算设备实时捕获的内容。例如,可显示内容231,其中内容231可指示视频或图像。用户界面202还可包括提示230,提示230建议用户放置内容231。例如,用户可能期望将内容231置于栏杆229的第一侧和栏杆233的第二侧的拐角处。因此,内容231可置于第四图像226中描绘的两个或多个表面或平面上。如图2D的用户界面202所描绘的,内容231看起来被投影至第四图像226中所描绘的环境或世界中的两个或更多个表面上。一旦用户对内容231看起来如何被投影至两个或更多个表面上感到满意,用户可选择控件232以将内容231与对应于内容231的所描绘位置的坐标位置相关联。例如,坐标位置可基于加速度计或其他位置传感器以及由深度信息(例如,深度图)提供的估计深度来标识X和Y坐标。深度图还可提供Z坐标。除了将内容231与对应于内容231的所描绘位置的坐标位置相关联之外,深度信息(例如,由所描绘的内容231使用的深度图)可被保存并与坐标位置和内容231相关联。
如图2E所示,显示在诸如计算设备108(图1)的计算设备处的用户界面202可描绘由计算设备的图像传感器成像的第五图像234。第五图像234可具有与第一图像204、第二图像212、第三图像222和第四图像226相同的场景,但来自不同的视点。在示例中,不同的视点是由于计算设备被移动或以其他方式被调整以对场景的不同视图和/或紧邻或以其他方式邻近前一场景的场景进行成像。用户界面202可显示在图2A中选择的或者由计算设备实时捕获的内容236。也就是说,用户可能期望将图2A中选择的或由计算设备实时捕获的内容的另一副本置于环境或世界中。另选地或附加地,内容236可为与先前放置的内容231不同的内容。例如,内容231可将时钟的图像或视频显示为第一内容,而内容236可将不同的图像或视频显示为第二不同内容。内容236可显示在第五图像234中,其中内容236可指示视频或图像。用户界面202可进一步包括提示230,提示230建议用户放置内容236。例如,用户可能期望将内容236置于栏杆238上。因此,内容236可置于单个表面或平面上。另选地或附加地,栏杆238可与变化的深度相关联,使得内容236置于第五图像234中描绘的两个或更多个表面或平面上。如图2E的用户界面202所示,内容236看起来被投影至第五图像234中所描绘的环境或世界中的栏杆上。一旦用户对内容236看起来如何被投影至环境或世界中感到满意,用户可选择控件232以将内容236与对应于内容236的所描绘位置的坐标位置相关联。例如,坐标位置可基于加速度计或其他位置传感器以及由深度信息(例如深度图)提供的估计深度来标识X和Y坐标。深度信息,例如深度图,也可提供Z坐标。除了将内容236与对应于内容236的所描绘位置的坐标位置相关联之外,由所描绘的内容236使用的深度信息(例如深度图)可被保存并与坐标位置和内容236相关联。
一旦内容236已置于用户的世界中,用户界面202可显示第六图像240,如图2F所示,其中第六图像240可具有与第一图像204、第二图像212、第三图像222、第四图像226和第五图像234相同的场景,但来自不同的视点,并且第六图像240可基于相关联的坐标位置描绘内容236。例如,当用户移动计算设备且从计算设备获取的图像显示在用户界面202中时,当由图像传感器获取的图像包括与内容236相关联的坐标位置时,内容236可显示在获取的图像中,诸如第六图像240。第六图像240可显示所放置内容231/236中的一个或多个,并且用提示242提示用户开始获取视频。因此,在获取环境或世界的视频时,计算设备的显示器可输出将内容231/236描绘为置于环境或世界内的增强现实显示。例如,如图2G所示,图像244可从与分别用于放置内容231和236的原始角度或位置不同的角度或位置描绘内容231和内容236。如图2G的图像244中所描绘,用户可改变位置,促使计算设备对不同位置进行成像——在这种情况下,当从不同位置观看时,内容236和231可看起来被投影至环境的一个或多个表面上。用户界面202还可用状态消息246向用户指示计算设备正在获取视频,该状态消息可为图标、文本、图形或其他指示。
图3A-3B描绘了根据本公开的示例的针对深度信息的获取的细节。更具体地,在图3A中,用户302可稍微四处移动计算设备304,从而比图3B中的用户302获取更少的图像。因此,由图3A中的计算设备304获得的深度信息小于由图3B中的计算设备304获得的深度信息。因此,用户302四处移动计算设备越多,要处理的图像就越多,因此可获得环境306的附加深度信息。在示例中,由计算设备获取的图像可由深度信息生成器处理,该深度信息生成器可由例如应用编程接口访问。深度信息生成器可利用来自不同角度的多个设备图像,并且对它们进行比较,以在用户移动他们的计算设备(例如,电话)时生成到图像中每个像素的距离的估计。如果计算设备具有支持的硬件深度传感器,诸如但不限于飞行时间传感器,则从支持的硬件传感器获得的这类数据除了被直接用作深度信息之外,还可包括在经处理深度中,以增强现有深度信息的准确性。在一些示例中,环境306的附加深度信息可从深度图像的网格表示中获取,可从先前获取的现有深度信息中获取,或者可基于多个传感器,诸如LiDAR传感器、结构光传感器或其他传感器来获取。
图4描述了根据本公开的示例的针对内容放置的细节。更具体地,基于获取的深度信息,例如,深度图,可获得环境或世界内的坐标位置。作为一个示例,具有当用户选择或捕获内容时或者当用户开始放置内容时建立的原点的轴404被用于跟踪由计算设备的加速度计或其他位置传感器提供的X、Y移动。此外,轴404可跟踪深度信息,例如,一个或多个深度图提供的距离Z。在示例中,当用户在环境或世界内放置、移动、缩放或旋转内容时,可将坐标位置、唯一标识内容的对象标识符以及用于放置、移动、缩放或旋转内容的深度信息(例如,深度图)记录在数据结构,诸如数据结构408和412中。如数据结构中所示,由对象ID标识的内容被置于环境内的不同位置处。
如图5A所示,根据本公开的示例,对应于所放置的内容的位置可存储在数据结构504中。数据结构504可唯一地标识用对象_ID字段放置的内容、用X、Y、Z坐标放置内容的位置以及所使用的特定深度图。如图5B进一步描绘的,每个对象_ID可唯一地标识内容或内容的版本。在示例中,尽管用户可在视频中多次放置相同内容,但与内容(例如,视频内容或图像内容)相关联的开始和停止时间可变化。因此,可唯一地标识内容的不同版本。例如,数据结构508可包括对应于视频Video_1的第一版本的对象_ID(例如,C_1),以及对应于视频Video_1的第二版本的对象_ID(例如,C_2)。此外,数据结构508可包括对应于视频Video_1的第二版本的对象_ID(例如,C_3)。视频的第二版本可与视频的第一版本相同;然而,视频的第二版本可在某些方面有所不同。例如,视频的第二版本可在不同的起点处开始,以不同的帧速率显示,和/或在不同的停止点处结束。
图6描绘了根据本公开的示例的针对放置内容的其他细节。更具体地,内容608的放置通过组合深度信息和位置跟踪信息来实现。代替维持内容的形式(可能是3D表示),将内容扭曲,就如同它是一块有弹性的布料或投影一样。这种投影效果通过将内容居中于相机平截头体中并沿着相机的正向矢量移动内容顶点的Z分量来实现,其中相机可对应于与计算设备相关联的图像传感器。每个顶点的移动量取决于到内容的X和Y坐标最近的像素的当前深度估计。此外,在一些示例中,利用与深度信息相关的置信度得分,并且确定是否投影内容可取决于深度信息的置信度。在一个实施例中,如果深度信息的置信度太低,例如,置信度小于阈值,则可停止内容的投影,并且内容可位于漂浮在空中的相机的前面。如果深度信息的置信度大于阈值,则根据由用户选择的位置放置内容608并相应地投影。
如图6所示,根据本公开的示例,计算设备604可显示环境或世界的图像。用户可能期望将内容608置于成像表面620的表面616和成像表面628的表面624的拐角处。因此,用户界面636可描绘置于由表面620和628形成的拐角处的内容608的示例表示。当用户对当前投影的外观感到满意时,他们可将内容置于世界空间中。此时,通过保存内容在世界空间中的位置和放置时的深度信息来制作投影的副本。一旦投影被保存,就使用内容608将纹理添加到投影中。由于平面用作初始内容,因此视频内容或图像内容可被拉伸以匹配平面的纵横比。当将内容608应用于平面时,可将拉伸到高度的方法应用于内容608。
在示例中,可选择三个选项中的一个或多个来处理内容608:无处理、视频抠图和色度键控。视频和/或图像抠图将视频或图像中的人或另一对象与背景分离,使得人或其他对象的视频或图像可在没有背景的情况下被投影。色度键控使用每个像素的颜色值来确定它们是否与公共加网颜色匹配。对于色度键控过程,首先可观看视频或图像的边界,以确定整个视频或图像中是否存在共同的背景颜色。然后可修改视频或图像,使得由所选的公共背景颜色确定的背景颜色是透明的。示例颜色包括红色、绿色、蓝色、黑色或白色,这些颜色可被选择为透明的公共背景颜色。例如,用户可在具有绿色背景的视频或图像中选择绿色,使得具有绿色的视频或图像中的所有内容均呈现透明。
在一些示例中,可获取相机的输入并将其投影回用户的世界。这可用于将用户上传或捕获的内容(例如,视频或图像)与真实世界纹理混合。因此,可将输入图像直接拉伸到真实世界上,使得输入图像从用户当前可能不具有的视角创建真实世界的冻结的时间视图。
图7描绘了根据本公开的示例的示例系统700。系统700可对应于用于将内容置于可从相机的成像设备成像的用户环境或世界中的系统。在示例中,设备702可包括被配置为获取用户环境的多个图像706的图像获取模块704。多个图像706可从图像传感器708获取。图像传感器708可结合或以其他方式包括在诸如计算设备108(图1)的计算设备中。在示例中,可将多个图像706提供给深度信息生成器710。深度信息生成器710可利用来自不同角度的多个设备图像,并且对它们进行比较,以在用户移动他们的计算设备时生成到图像中每个像素的距离的估计。如果计算设备具有支持的硬件深度传感器,诸如但不限于飞行时间传感器,则可将这类数据包括在经处理的深度中,以增强现有深度图的准确性。深度信息712可提供给位置跟踪和深度估计模块714。在示例中,深度信息712可包括深度图,该深度图包括深度图像,该深度图像含有深度图像中每个像素处的距离表示。
位置跟踪和深度估计模块714可接收内容716,并且将内容716扭曲,就如同内容是弹性布料或投影一样。在一个示例中,如果用户选择了内容716,则可从内容存储装置718中提供内容。这种投影效果可通过将内容716居中于相机截头体中并沿相机或图像传感器的正向矢量移动内容716顶点的Z分量来实现。每个顶点的移动量取决于最接近内容的X和Y坐标的像素的当前深度估计,其中X和Y坐标可基于从位置传感器707提供的位置信息。在示例中,位置跟踪和深度估计模块714可接收指示所显示投影可接受的用户输入720,其发送放置内容716的指令。因此,通过将内容716在世界空间中的位置和放置时的深度信息保存为722来制作投影的副本。在一个示例中,是否投影内容的确定可取决于深度信息的置信度。在一个示例中,如果深度信息的置信度太低,例如,置信度小于阈值,则可停止内容的投影,并且内容可位于漂浮在空中的相机的前面。如果深度信息的置信度大于阈值,则根据用户选择的位置放置内容716并相应地投影。
视频处理模块728可用内容716对保存的用户投影进行纹理化。例如,投影可包括深度信息,使得深度信息用内容716纹理化。内容716被拉伸以匹配一个或多个平面的纵横比,其中一个或多个平面可对应于从深度信息712中的距离信息导出的平面。视频处理模块728然后可在用户界面726处显示增强现实图像,包括置于用户环境中的拉伸内容。在示例中,视频获取模块730可获取多个图像(例如,视频)或一个图像连同所放置的内容716。视频获取模块730可随后将多个图像(例如,视频)或一个图像连同所放置的内容716一起提供给内容存储装置718以供存储,其中内容存储装置可驻留于设备702处和/或设备702外部。
图8描绘了根据本公开的示例的用于将内容置于用户世界中的方法800的细节。图8中示出了方法800的步骤的一般顺序。一般而言,方法800开始于802且结束于830。方法800可包括更多或更少的步骤,或者可按照与图8中所示的步骤的顺序不同地排列步骤的顺序。方法800可作为由计算机系统执行并编码或存储在计算机可读介质上的一组计算机可执行指令来执行。在示例中,方法800的各方面由一个或多个处理设备(诸如计算机)执行。此外,方法800可由与处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SOC)、神经处理单元或其他硬件设备相关联的门或电路来执行。在下文中,方法800将参考结合图1-7所描述的系统、组件、模块、软件、数据结构、用户界面等来解释。
该方法开始于802,流程可前进至804。在804,接收内容。例如,用户可选择他们的计算设备的相机胶卷中的视频或图像。在另一个示例中,用户可实时捕获视频或图像。在另一示例中,内容可从安装在执行应用的计算设备上的应用所提供的选项中选择。方法800可前进至808,在808,可获得与用户世界相关联的深度信息。在示例中,如前所述,深度信息可从多个图像中获取。也就是说,可获取来自不同角度的多个设备图像并进行比较,以在用户移动其计算设备时生成到图像中每个像素的距离的估计。在另一示例中,深度信息可从支持的硬件深度传感器获取,诸如但不限于飞行时间传感器,深度信息可从所支持的硬件深度传感器获取。此外,这类数据可包括在经处理的深度中,以增强现有深度信息的准确性,例如,从多个图像中获取的深度图。在810,可获得深度图信息的置信度阈值。在示例中,如果深度图信息的置信度不大于阈值(例如,计算设备不确信深度信息是正确的),则该方法可前进至822。否则,该方法前进至812,在812,内容被投影至用户的世界上。
例如,在812,将内容扭曲,就如同它是一块有弹性的布料或投影一样。这种投影效果通过将内容居中于相机的平截头体中并沿相机的正向矢量移动内容顶点的Z分量来实现。每个顶点的移动量取决于到内容的X和Y坐标最近的像素的当前深度估计,其中X和Y坐标可基于位置传感器提供的位置信息。在816,可接收指示用户对投影位置感到满意的指示。因此,在816,保存深度信息的副本和内容的副本。方法800可前进至818,在818,内容作为纹理被应用于一个或多个表面。例如,可从深度信息中确定一个或多个表面(或平面);对应于相应平面或表面的内容部分可基于深度信息而扭曲。在示例中,用户可选地选择视频扣图和/或色度键控中的一个或多个,以将视频或图像中的人或另一对象与背景分离,或者以其他方式使背景透明。因此,只有人或物体可被投影至用户的世界上。
在深度信息不满足置信度区间的情况下,在822,内容可位于计算设备的相机的前面。当在824接收到用户接受位置的指示时,可在826处保存内容的位置,使得在828根据在826保存的位置信息显示内容,就如同将内容投影在单个平面或表面上一样。方法800可结束于830。
图9描绘了根据本公开的示例的用于将内容置于用户世界中并获取视频的方法900的细节。图9示出了方法900的步骤的一般顺序。一般而言,方法900开始于902且结束于922。方法900可包括更多或更少的步骤,或者可按照与图9中所示的步骤的顺序不同的步骤的顺序进行排列。方法900可作为由计算机系统执行并编码或存储在计算机可读介质上的一组计算机可执行指令来执行。在示例中,方法900的各方面由一个或多个处理设备(诸如计算机)来执行。此外,方法900可由与处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SOC)、神经处理单元或其他硬件设备相关联的门或电路来执行。在下文中,方法900将参考结合图1-8所描述的系统、组件、模块、软件、数据结构、用户界面等来解释。
该方法开始于902,流程可前进至904。在904,接收内容。例如,用户可选择他们的计算设备的相机胶卷中的视频或图像。在另一个示例中,用户可实时捕获视频或图像。在另一示例中,内容可从安装在执行应用的计算设备上的应用所提供的选项中选择。该方法可前进至906,在906,可获得与用户的世界相关联的深度信息。在示例中,如前所述,深度信息可从多个图像中获取。也就是说,当用户移动他们的计算设备时,可获取并比较来自不同角度的多个图像,以生成到图像中每个像素的距离的估计。在另一示例中,深度信息可从所支持的硬件深度传感器(诸如但不限于飞行时间传感器)中获取,深度信息可从所支持的深度传感器中获取。此外,这类数据可包括在经处理的深度中,以增强现有深度信息的准确性。在908,内容被投影至用户的世界上。
例如,在908,将内容扭曲,就如同它是一块有弹性的布料或投影一样。这种投影效果可通过将内容居中于相机截头体中并沿相机的正向矢量移动内容顶点的Z分量来实现。每个顶点的移动量取决于最接近内容的X和Y坐标的像素的当前深度估计,其中X和Y坐标可基于从位置传感器提供的位置信息。在示例中,用户可选地选择视频扣图和/或色度键控中的一个或多个,以将视频或图像中的人或另一对象与背景分离,或者以其他方式使背景透明。因此,只有人或物体可被投影至用户的世界上。
在910,可接收到指示用户对投影位置感到满意的指示。因此,在912,保存深度信息(例如深度图)的副本和内容的副本。方法900可前进至914,在914,内容作为纹理应用于一个或多个表面。例如,可从深度信息中确定一个或多个表面(或平面);对应于相应平面或表面的内容部分可基于深度信息而扭曲。
该方法可前进至916,在916,获得包括投影或置于用户世界中的内容的视频。例如,计算设备可从不同角度和/或位置获得描述内容的一个或多个图像/视频。在示例中,然后在920将获取的视频提供给视频托管平台以供共享。方法900可结束于922。
图10是图示可实践本公开的各方面的计算设备1000的物理组件(例如,硬件)的框图。以下描述的计算设备组件可适用于以上描述的计算和/或处理设备。在基本配置中,计算设备1000可包括至少一个处理单元1002和系统存储器1004。取决于计算设备的配置和类型,系统存储器1004可包括但不限于易失性存储装置(例如,随机存取存储器(RAM))、非易失性存储装置(例如,只读存储器(ROM))、闪存,或这类存储器的任何组合。
系统存储器1004可包括操作系统1005和适合于运行软件应用1020的一个或多个程序模块1006,诸如本文所描述的系统支持的一个或者多个组件。作为示例,系统存储器1004可包括图像获取模块1021、深度信息生成器1022、位置跟踪和深度估计模块1023、视频处理模块1024和视频获取模块1025。图像获取模块1021可与图像获取模块704相同或相似;深度信息生成器1022可与深度信息生成器710相同或相似,位置跟踪和深度估计模块1023可与位置跟踪和深度估计模块714相同或相似,视频处理模块1024可与视频处理模块728相同或相似,并且视频获取模块1025可与视频获取模块730相同或相似。例如,操作系统1005可适用于控制计算设备1000的操作。
此外,本公开的实施例可结合图形库、其他操作系统或任何其他应用程序来实践,且不限于任何特定应用或系统。该基本配置在图10中由虚线1008内的那些组件图示。计算设备1000可具有附加的特征或功能性。例如,计算设备1000还可包括附加的数据存储设备(可移除和/或不可移除),例如,磁盘、光盘或磁带。这类附加的存储装置在图10中由可移除存储设备1009和不可移除存储设备1010图示。
如上所述,多个程序模块和数据文件可存储在系统存储器1004中。当在处理单元1002上执行时,程序模块1006(例如,软件应用1020)可执行包括但不限于本文所描述的方面的过程。可根据本公开的方面使用的其他程序模块可包括电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助程序等。
此外,本公开的实施例可在电路、分立电子元件、含有逻辑门的封装或集成电子芯片、利用微处理器的电路或含有电子元件或微处理器的单个芯片中实践。例如,本公开的实施例可经由片上系统(SOC)来实践,其中图10所图示的组件中的每个或多个可集成到单个集成电路上。这类SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能性,所有这些均集成(或“烧录”)到芯片基板上作为单个集成电路。当经由SOC操作时,本文所描述的关于客户端切换协议的能力的功能性可经由与单个集成电路(芯片)上的计算设备1000的其他组件集成的专用逻辑来操作。本公开的实施例还可使用能够执行逻辑运算的其他技术来实践,例如,AND、OR和NOT,包括但不限于机械、光学、流体和量子技术。此外,本公开的实施例可在通用计算机或任何其他电路或系统中实践。
计算设备1000还可具有一个或多个输入设备1012,诸如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。一个或多个输入设备1012可包括图像传感器。还可包括诸如显示器、扬声器、打印机等的(一个或多个)输出设备1014。上述设备是示例,也可使用其他设备。计算设备1000可包括允许与其他计算设备/系统1050通信的一个或多个通信连接1016。适当的通信连接1016的示例包括但不限于射频(RF)发射器、接收器和/或收发器电路系统;通用串行总线(USB)、并行和/或串行端口。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,诸如计算机可读指令、数据结构或程序模块。系统存储器1004、可移除存储设备1009和不可移除存储设备1010均是计算机存储介质示例(例如,存储器存储)。计算机存储介质可包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备,或者可用于存储信息且可由计算设备1000访问的任何其他制品。任何这类计算机存储介质可为计算设备1000的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。
通信介质可由计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据体现,诸如载波或其他传输机制,并且包括任何信息传递介质。术语“调制数据信号”可描述具有以在信号中编码信息的方式设置或改变的一个或多个特征的信号。通过示例而非限制,通信介质可包括有线介质,诸如有线网络或直接有线连接件,以及无线介质,诸如声学、射频(RF)、红外和其他无线介质。
图11A-11B图示了移动计算设备1100,例如,移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机、智能家庭设备等,本公开的实施例可通过其来实践。在一些示例中,移动计算设备1100可与计算设备108相同或相似。在一些方面,客户端可为移动计算设备。参考图11A,图示了用于实施这些方面的移动计算设备1100的一个方面。在基本配置中,移动计算设备1100是具有输入元件和输出元件的手持计算机。移动计算设备1100典型地包括显示器1105和一个或多个输入按钮1110,该输入按钮允许用户将信息输入到移动计算设备100中。移动计算设备110的显示器1105还可用作输入设备(例如,触摸屏显示器)。
如果包括,任选侧面输入元件1115允许进一步的用户输入。侧面输入元件1115可为旋转开关、按钮或任何其他类型的手动输入元件。在替代方面,移动计算设备1100可结合更多或更少的输入元件。例如,在一些实施例中,显示器1105可不是触摸屏。
在另一替代实施例中,移动计算设备1100是便携式电话系统,诸如蜂窝电话。移动计算设备1100还可包括任选小键盘1135。任选小键盘1135可为物理小键盘或在触摸屏显示器上生成的“软”小键盘。
在各种实施例中,输出元件包括用于显示图形用户界面(GUI)的显示器1105、视觉指示器1120(例如,发光二极管)和/或音频换能器1125(例如,扬声器)。在一些方面,移动计算设备1100包括用于向用户提供触觉反馈的振动换能器。在又一方面,移动计算设备1100结合用于向外部设备发送信号或从外部设备接收信号的输入和/或输出端口,诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)。
图11B是图示移动计算设备的一个方面的架构的框图。也就是说,移动计算设备1100可结合系统(例如,架构)1102来实施一些方面。在一个实施例中,系统1102被实施为能够运行一个或多个应用程序(例如,浏览器、电子邮件、日历、联系人管理器、消息客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面,系统1102被集成为计算设备,诸如集成个人数字助理(PDA)、无线电话、可穿戴设备、智能家庭设备等。
一个或多个应用程序1166可加载到存储器1162中,并且在操作系统1164上运行或与操作系统1164相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传递程序、地图程序,等等。系统1102还包括存储器1162内的非易失性存储区域1168。非易失性存储区域1168可用于存储在系统1102断电的情况下不应丢失的永久信息。应用程序1166可使用并存储非易失性存储区域1168中的信息,诸如由电子邮件或电子邮件应用程序使用的其他消息等。同步应用程序(未示出)也驻留于系统1102上,并且被编程为与驻留于主机上的相应同步应用程序交互,以保持存储在非易失性存储区域1168中的信息与存储在主机上的相应信息同步。应理解,其他应用程序可加载到存储器1162中并在本文所描述的移动计算设备1100上运行。
系统1102具有电源1170,其可实施为一个或多个电池。电源1170还可包括外部电源,诸如AC适配器或对电池进行补充或再充电的电动对接座。
系统1102还可包括无线电接口层1172,其执行发送和接收射频通信的功能。无线电接口层1172经由通信运营商或服务提供商促进系统1102与“外部世界”之间的无线连接件。去往和来自无线电接口层1172的传输在操作系统1164的控制下实行。换句话说,由无线电接口层1172接收的通信可经由操作系统1164传播到应用程序1166,反之亦然。
视觉指示器1120可用于提供视觉通知,和/或音频接口1174可用于经由音频换能器1125产生听觉通知。在图示的实施例中,视觉指示器1120是发光二极管(LED),而音频换能器1125是扬声器。这些设备可直接耦接至电源1170,使得当被激活时,即使处理器1160和其他组件可能关闭以节省电池电力,它们仍在由通知机制规定的持续时间内保持接通。LED可被编程为无限期地保持接通,直到用户采取行动来指示设备的通电状态。音频接口1174用于向用户提供听觉信号并从用户接收听觉信号。例如,除了耦接至音频换能器1125之外,音频接口1174还可耦接至麦克风以接收听觉输入,诸如便于电话交谈。根据本公开的实施例,麦克风还可用作音频传感器,以便于控制通知,如下面将描述的。系统1102还可包括视频接口1176,其使得机载相机1130的操作能够记录静止图像、视频流等。
实现系统1102的移动计算设备1100可具有附加特征或功能性。例如,移动计算设备1100还可包括附加的数据存储设备(可移除和/或不可移除),诸如磁盘、光盘或磁带。这类附加的存储装置在图11B中由非易失性存储区域1168图示。
由移动计算设备1100生成或捕获并经由系统1102存储的数据/信息可本地存储在移动计算设备1100上,如上所述,或者数据可存储在任何数目的存储介质上,该存储介质可由设备经由无线电接口层1172或经由移动计算设备1100和与移动计算设备1100相关联的独立计算设备之间的有线连接件进行访问,例如,分布式计算网络(诸如互联网)中的服务器计算机。应理解,这类数据/信息可经由移动计算设备1100、经由无线电接口层1172或经由分布式计算网络来访问。类似地,这类数据/信息可根据公知的数据/信息传输和存储手段(包括电子邮件和协作数据/信息共享系统)在计算设备之间容易地传输以供存储和使用。
图12图示了用于处理在计算系统处从远程源(诸如,如上所述的个人计算机1204、平板计算设备1106或移动计算设备1208)接收的数据的系统架构的一个方面。个人计算机1204、平板计算设备1206或移动计算设备1208可包括一个或多个应用;这类应用可包括但不限于图像获取模块1221、深度信息生成器1222、位置跟踪和深度估计模块1223、视频处理模块1224和视频获取模块1225。图像获取模块1221可与图像获取模块704相同或相似;深度信息生成器1222可与深度信息生成器710相同或相似,位置跟踪和深度估计模块1223可与位置跟踪和深度估计模块714相同或相似,视频处理模块1224可与视频处理模块728相同或相似,并且视频获取模块1025可与视频获取模块730相同或相似。
如上所述,服务器设备1202和/或个人计算机1204、平板计算设备1206或移动计算设备1208可采用一个或多个先前描述的程序模块1006或软件应用程序1020。
服务器设备1202可通过网络1215向客户端计算设备(例如,个人计算机1204、平板计算设备1206和/或移动计算设备1208(例如,智能电话)提供数据。通过示例,上述计算机系统可体现在个人计算机1204、平板计算设备1206和/或移动计算设备1208(例如智能电话)中。
此外,本文所描述的方面和功能性可在分布式系统(例如,基于云的计算系统)上运行,其中应用程序功能性、存储器、数据存储和检索以及各种处理功能可通过分布式计算网络(例如,互联网或内联网)彼此远程操作。各种类型的用户界面和信息可经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,各种类型的用户界面和信息可在其上投影有各种类型的用户界面和信息的墙面上显示和交互。与可实践本公开的实施例的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中相关联计算设备配备有用于捕获和解释用户手势以控制计算设备的功能性的检测(例如,相机)功能性,等等。
例如,上文参考根据本公开的各方面的方法、系统和计算机程序产品的框图和/或操作说明描述了本公开的各方面。方框中标注的功能/动作可不按照任何流程图中所示的顺序发生。例如,取决于所涉及的功能性/动作,连续示出的两个框实际上可基本上同时执行,或者有时可按相反的顺序执行。
本公开涉及至少根据以下部分中提供的示例用于将内容置于计算设备外部的成像环境中的系统和方法:
(A1)在一个方面,一些示例包括用于将内容置于计算设备外部的成像环境中的方法。该方法包括接收内容;获得对应于计算设备外部的成像环境的深度信息;接收基于深度信息将内容与成像环境中的位置相关联的指示;以及基于对应于计算设备外部的成像环境的深度信息来扭曲内容的至少一部分。
(A2)在A1的一些示例中,该方法包括获取计算设备外部的成像环境的视频或图像内容中的至少一个,其中视频或图像内容中的至少一个包括内容的经扭曲部分。
(A3)在A1-A2的一些示例中,该方法包括接收第二内容;获得对应于计算设备外部的成像环境的第二深度信息;接收基于第二深度信息将第二内容与成像环境中的第二位置相关联的第二指示;以及基于对应于计算设备外部的成像环境的第二深度信息来扭曲第二内容的至少一部分,其中计算设备外部成像环境的视频或图像内容中的至少一个包括内容的经扭曲部分和第二内容的经扭曲部分。
(A4)在A1-A3的一些示例中,该内容包括视频内容,该视频内容包括多个视频帧,其中多个视频帧显示在计算设备外部的成像环境的视频或图像内容中的至少一个中。
(A5)在A1-A4的一些示例中,深度信息是从计算设备的图像传感器获取的多个图像中获得的。
(A6)在A1-A5的一些示例中,该方法包括确定对应于成像环境的深度信息与大于阈值的置信度得分相关联;以及扭曲内容的至少一部分以匹配成像环境中的至少一个平面。
(A7)在A1-A7的一些示例中,该方法包括确定对应于成像环境的深度信息与小于阈值的置信度得分相关联;以及在成像环境中的该位置处显示内容。
(A8)在A1-A7的一些示例中,该方法包括响应于输入信息接收第二内容;获得对应于计算设备外部的成像环境的第二深度信息;确定对应于成像环境的第二深度信息与小于阈值的置信度得分相关联;接收基于第二深度信息将第二内容与成像环境中的第二位置相关联的第二指示;以及在成像环境中的第二位置处显示第二内容。
(A9)在A1-A8的一些示例中,该方法包括确定对应于成像环境的第二深度信息与大于阈值的置信度得分相关联;接收基于第二深度信息将第二内容与成像环境中的第二位置相关联的第二指示;以及扭曲第二内容的至少一部分以匹配成像环境中的至少一个平面。
(A10)在A1-A9的一些示例中,内容的一部分的背景颜色在扭曲之前被修改。
(A11)在A1-A10的一些示例中,该方法包括通过将内容中的实体与内容的背景分离来修改内容,或者在将内容扭曲之前修改内容的一部分的背景颜色。
(A12)在A1-A11的一些示例中,深度信息包括深度图图像,该方法进一步包括:当接收到将内容与成像环境中的位置相关联的指示时,从深度信息保存深度图图像。
在又另一方面,一些示例包括计算系统,该计算系统包括一个或多个处理器和耦合至该一个或多个处理器的存储器,该存储器存储一个或多个指令,该一个或多个指令当由一个处理器执行时,使一个或者更多个处理器执行本文所描述的任何方法(例如,上文所描述的A1-A12)。
在又另一方面,一些示例包括存储一个或多个程序以供存储设备的一个或多个处理器执行的非暂时性计算机可读存储介质,该一个或多个程序包括用于执行本文所描述的任何方法的指令(例如,上文所描述的A1-A12)。
本申请中提供的一个或多个方面的描述和说明并不旨在以任何方式限制或限定所要求保护的本公开的范围。本申请中提供的方面、示例和细节被认为足以传达所有权,并且使其他人能够做出和使用所要求保护的本公开的最佳模式。所要求保护的本公开内容不应被解释为限于本申请中提供的任何方面、示例或细节。不管是组合还是单独地示出和描述,各种特征(结构和方法)均旨在选择性地包括或省略,以产生具有特定特征集的实施例。已经提供了本申请的描述和说明,本领域的技术人员可设想落入本申请中体现的总体发明概念的更广泛方面的精神内的变化、修改和替代方面,这些变化、修改和替代方面不脱离所要求保护的本公开的更广范围。
Claims (20)
1.一种用于将内容置于计算设备外部的成像环境中的方法,所述方法包括:
接收内容;
获得对应于所述计算设备外部的所述成像环境的深度信息;
接收基于所述深度信息将所述内容与所述成像环境中的位置相关联的指示;以及
基于对应于所述计算设备外部的所述成像环境的所述深度信息来扭曲所述内容的至少一部分。
2.根据权利要求1所述的方法,还包括:
获取所述计算设备外部的所述成像环境的视频或图像内容中的至少一个,其中所述视频或图像内容中的至少一个包括所述内容的经扭曲部分。
3.根据权利要求2所述的方法,还包括:
接收第二内容;
获得对应于所述计算设备外部的所述成像环境的第二深度信息;
接收基于所述第二深度信息将所述第二内容与所述成像环境中的第二位置相关联的第二指示;以及
基于对应于所述计算设备外部的所述成像环境的所述第二深度信息来扭曲所述第二内容的至少一部分,
其中所述计算设备外部的所述成像环境的视频或图像内容中的至少一个包括所述内容的所述经扭曲部分和所述第二内容的经扭曲部分。
4.根据权利要求2所述的方法,其中所述内容包括视频内容,所述视频内容包括多个视频帧,并且其中所述多个视频帧被显示在所述计算设备外部的所述成像环境的视频或图像内容中的所述至少一个中。
5.根据权利要求1所述的方法,其中所述深度信息是从由所述计算设备的图像传感器获取的多个图像中获得的。
6.根据权利要求1所述的方法,还包括:
确定对应于所述成像环境的所述深度信息与大于阈值的置信度得分相关联;以及
扭曲所述内容的至少一部分以匹配所述成像环境中的至少一个平面。
7.根据权利要求1所述的方法,还包括:
确定对应于所述成像环境的所述深度信息与小于阈值的置信度得分相关联;以及
在所述成像环境中的所述位置处显示所述内容。
8.根据权利要求1所述的方法,还包括:
响应于所述输入信息来接收第二内容;
获得对应于所述计算设备外部的所述成像环境的第二深度信息;
确定对应于所述成像环境的所述第二深度信息与小于阈值的置信度得分相关联;
接收基于所述第二深度信息将所述第二内容与所述成像环境中的第二位置相关联的第二指示;以及
在所述成像环境中的所述第二位置处显示所述第二内容。
9.根据权利要求8所述的方法,还包括:
确定对应于所述成像环境的所述第二深度信息与大于阈值的置信度得分相关联;
接收基于所述第二深度信息将所述第二内容与所述成像环境中的第二位置相关联的所述第二指示;以及
扭曲所述第二内容的至少一部分以匹配所述成像环境中的至少一个平面。
10.根据权利要求1所述的方法,还包括:
通过将所述内容中的实体与所述内容的背景分离来修改所述内容,或者在所述内容被扭曲之前修改所述内容的一部分的背景颜色。
11.根据权利要求1所述的方法,其中所述深度信息包括深度图图像,所述方法还包括:
当将所述内容与所述成像环境中的所述位置相关联的所述指示被接收到时,保存来自所述深度信息的所述深度图图像。
12.一种被配置为将内容置于计算设备外部的成像环境中的系统,所述系统包括:
处理器;以及
包括指令的存储器,所述指令当由所述处理器执行时,使所述处理器:
接收内容;
获得对应于所述计算设备外部的所述成像环境的深度信息;
接收基于所述深度信息将所述内容与所述成像环境中的位置相关联的指示;以及
基于对应于所述计算设备外部的所述成像环境的所述深度信息来扭曲所述内容的至少一部分。
13.根据权利要求12所述的系统,其中所述指令当由所述处理器执行时,使所述处理器:
获取所述计算设备外部的所述成像环境的视频或图像内容中的至少一个,其中视频或图像内容中的所述至少一个包括所述内容的经扭曲部分。
14.根据权利要求13所述的系统,其中所述指令当由所述处理器执行时,使所述处理器:
接收第二内容;
获得对应于所述计算设备外部的所述成像环境的第二深度信息;
接收基于所述第二深度信息将所述第二内容与所述成像环境中的第二位置相关联的第二指示;以及
基于对应于所述计算设备外部的所述成像环境的所述第二深度信息来扭曲所述第二内容的至少一部分,
其中所述计算设备外部的所述成像环境的视频或图像内容中的所述至少一个包括所述内容的所述经扭曲部分和所述第二内容的经扭曲部分。
15.根据权利要求13所述的系统,其中所述内容包括视频内容,所述视频内容包括多个视频帧,并且其中所述多个视频帧被显示在所述计算设备外部的所述成像环境的视频或图像内容中的所述至少一个中。
16.根据权利要求12所述的系统,其中所述指令当由所述处理器执行时,使所述处理器保存对应于将所述内容与所述成像环境中的所述位置相关联的所述指示被接收到时的所述深度信息。
17.一种包括指令的计算机可读存储介质,所述指令当由处理器执行时,使所述处理器:
接收内容;
获得对应于所述计算设备外部的成像环境的深度信息;
接收基于所述深度信息将所述内容与所述成像环境中的位置相关联的指示;以及
基于对应于所述计算设备外部的所述成像环境的所述深度信息来扭曲所述内容的至少一部分。
18.根据权利要求17所述的计算机可读存储介质,其中所述指令当由处理器执行时,使所述处理器:
获取所述计算设备外部的所述成像环境的视频或图像内容中的至少一个,其中视频或图像内容中的所述至少一个包括所述内容的经扭曲部分。
19.根据权利要求18所述的计算机可读存储介质,其中所述指令当由处理器执行时,促使所述处理器:
接收第二内容;
获得对应于所述计算设备外部的所述成像环境的第二深度信息;
接收基于所述第二深度信息将所述第二内容与所述成像环境中的第二位置相关联的第二指示;以及
基于对应于所述计算设备外部的所述成像环境的所述第二深度信息来扭曲所述第二内容的至少一部分,
其中所述计算设备外部的所述成像环境的视频或图像内容中的所述至少一个包括所述内容的所述经扭曲部分和所述第二内容的经扭曲部分。
20.根据权利要求17所述的计算机可读存储介质,其中所述内容包括视频内容,所述视频内容包括多个视频帧,并且其中所述多个视频帧被显示在所述计算设备外部的所述成像环境的视频或图像内容中的所述至少一个中。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/315,257 US11379950B1 (en) | 2021-05-07 | 2021-05-07 | System and method for projecting content in an environment |
US17/315,257 | 2021-05-07 | ||
PCT/SG2022/050214 WO2022235207A1 (en) | 2021-05-07 | 2022-04-13 | System and method for projecting content in an environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115769272A true CN115769272A (zh) | 2023-03-07 |
Family
ID=82261377
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280004910.XA Pending CN115769272A (zh) | 2021-05-07 | 2022-04-13 | 用于在环境中投影内容的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11379950B1 (zh) |
EP (1) | EP4162452A4 (zh) |
JP (1) | JP2023540430A (zh) |
KR (1) | KR20230023770A (zh) |
CN (1) | CN115769272A (zh) |
BR (1) | BR112023000281A2 (zh) |
WO (1) | WO2022235207A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6811264B2 (en) * | 2003-03-21 | 2004-11-02 | Mitsubishi Electric Research Laboratories, Inc. | Geometrically aware projector |
WO2014162824A1 (ja) * | 2013-04-04 | 2014-10-09 | ソニー株式会社 | 表示制御装置、表示制御方法およびプログラム |
IL298822A (en) * | 2017-03-17 | 2023-02-01 | Magic Leap Inc | A mixed reality system with color virtual content distortion and a method for creating virtual content using it |
CN107463261B (zh) * | 2017-08-11 | 2021-01-15 | 北京铂石空间科技有限公司 | 立体交互系统及方法 |
US10373325B1 (en) * | 2018-09-28 | 2019-08-06 | Lightform, Inc. | Method for augmenting a scene in real space with projected visual content |
US11494990B2 (en) * | 2018-10-08 | 2022-11-08 | Google Llc | Hybrid placement of objects in an augmented reality environment |
US11551429B2 (en) * | 2020-06-05 | 2023-01-10 | Uatc, Llc | Photorealistic image simulation with geometry-aware composition |
-
2021
- 2021-05-07 US US17/315,257 patent/US11379950B1/en active Active
-
2022
- 2022-04-13 CN CN202280004910.XA patent/CN115769272A/zh active Pending
- 2022-04-13 JP JP2023501579A patent/JP2023540430A/ja active Pending
- 2022-04-13 EP EP22799213.8A patent/EP4162452A4/en active Pending
- 2022-04-13 BR BR112023000281A patent/BR112023000281A2/pt unknown
- 2022-04-13 WO PCT/SG2022/050214 patent/WO2022235207A1/en unknown
- 2022-04-13 KR KR1020237001366A patent/KR20230023770A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
EP4162452A1 (en) | 2023-04-12 |
KR20230023770A (ko) | 2023-02-17 |
JP2023540430A (ja) | 2023-09-25 |
US11379950B1 (en) | 2022-07-05 |
EP4162452A4 (en) | 2023-11-08 |
WO2022235207A1 (en) | 2022-11-10 |
BR112023000281A2 (pt) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11715268B2 (en) | Video clip object tracking | |
US11763481B2 (en) | Mirror-based augmented reality experience | |
US11935294B2 (en) | Real time object surface identification for augmented reality environments | |
US20180220068A1 (en) | Foveated camera for video augmented reality and head mounted display | |
US11924540B2 (en) | Trimming video in association with multi-video clip capture | |
US20220206738A1 (en) | Selecting an audio track in association with multi-video clip capture | |
WO2022151686A1 (zh) | 场景图像展示方法、装置、设备、存储介质、程序及产品 | |
KR20240021247A (ko) | 제3자 리소스들로부터 메시징 애플리케이션에 의해 수신되는 콘텐츠를 제시함 | |
WO2022146798A1 (en) | Selecting audio for multi-video clip capture | |
WO2024011181A1 (en) | Dynamically switching between rgb and ir capture | |
US20220319059A1 (en) | User-defined contextual spaces | |
US20220319125A1 (en) | User-aligned spatial volumes | |
US11379950B1 (en) | System and method for projecting content in an environment | |
US10535156B2 (en) | Scene reconstruction from bursts of image data | |
WO2022151687A1 (zh) | 合影图像生成方法、装置、设备、存储介质、计算机程序及产品 | |
KR20230160926A (ko) | 사용자-정의 맥락 공간들 | |
US20180174281A1 (en) | Visual enhancement and cognitive assistance system | |
US12001647B2 (en) | Presenting available functions for a captured image within a messaging system | |
US20240012558A1 (en) | User interface providing reply state transition | |
US20230069614A1 (en) | High-definition real-time view synthesis | |
US20230326147A1 (en) | Helper data for anchors in augmented reality | |
US20240160343A1 (en) | Selectively modifying a gui | |
US20240163489A1 (en) | Navigating previously captured images and ar experiences | |
US20240106875A1 (en) | Dynamically assigning participant video feeds within virtual conferencing system | |
US20230419616A1 (en) | Applying pregenerated virtual experiences in new location |
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 |