CN110869982A - 全息图定位 - Google Patents

全息图定位 Download PDF

Info

Publication number
CN110869982A
CN110869982A CN201880025438.1A CN201880025438A CN110869982A CN 110869982 A CN110869982 A CN 110869982A CN 201880025438 A CN201880025438 A CN 201880025438A CN 110869982 A CN110869982 A CN 110869982A
Authority
CN
China
Prior art keywords
hologram
target
relative
user device
target device
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
Application number
CN201880025438.1A
Other languages
English (en)
Inventor
林肯·加斯金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
8I Ltd
Original Assignee
8I Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 8I Ltd filed Critical 8I Ltd
Publication of CN110869982A publication Critical patent/CN110869982A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/04Processes or apparatus for producing holograms
    • G03H1/08Synthesising holograms, i.e. holograms synthesized from objects or objects from holograms
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B27/0103Head-up displays characterised by optical features comprising holographic elements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/0005Adaptation of holography to specific applications
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/26Processes or apparatus specially adapted to produce multiple sub- holograms or to obtain images from them, e.g. multicolour technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H1/00Holographic processes or apparatus using light, infrared or ultraviolet waves for obtaining holograms or for obtaining an image from them; Details peculiar thereto
    • G03H1/0005Adaptation of holography to specific applications
    • G03H2001/0088Adaptation of holography to specific applications for video-holography, i.e. integrating hologram acquisition, transmission and display
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2210/00Object characteristics
    • G03H2210/62Moving object
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2226/00Electro-optic or electronic components relating to digital holography
    • G03H2226/02Computing or processing means, e.g. digital signal processor [DSP]
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03HHOLOGRAPHIC PROCESSES OR APPARATUS
    • G03H2226/00Electro-optic or electronic components relating to digital holography
    • G03H2226/05Means for tracking the observer

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

机器被配置为在要生成的场景内执行全息图定位。机器对描述目标设备的移动的目标运动数据进行存取。基于目标运动数据,机器确定目标运动矢量,该目标运动矢量指示目标设备的目标速度并且指示目标设备正在移动的目标方向。机器确定针对要生成的全息图的全息图运动矢量,以供用户设备显示。全息图运动矢量指示全息图的相对速度并且指示针对全息图的移动的相对方向。然后,机器使得用户设备生成场景,在该场景中,全息图以基于目标速度和相对速度而确定的速度进行移动,并且在基于目标方向和相对方向而确定的方向上进行移动。

Description

全息图定位
相关申请
本申请要求于2017年4月17日提交的、题为“全息图定位(Hologram Location)”的、申请号为15/489,001的美国专利申请的优先权,该美国专利申请通过引用以其整体合并于此。
技术领域
本文公开的主题一般地涉及促进计算机生成的图像的专用机器的技术领域,包括这样的专用机器的软件配置的计算机化变型以及对这样的变型的改进,并且涉及与促进计算机生成的图像(例如,在增强现实场景或虚拟现实场景或两者中)的其他专用机器相比,通过其这样的专用机器变的改进了的技术。具体地,本公开致力于促进全息图定位的系统和方法。
背景技术
机器可以被配置为通过生成和显示增强现实场景或虚拟现实场景来与一个或多个用户进行交互(例如,响应于用户输入,诸如引起机器的移动的用户输入),或者使得另一机器(例如,用户设备)生成和显示增强现实场景或虚拟现实场景。例如,该机器可以是具有显示屏和摄像机的用户设备(例如,平板电脑或智能手机),并且该机器可以被配置为利用摄像机生成实况视频,生成一些计算机图形(例如,一个或多个计算机生成的图像),并且使得显示屏显示合成场景,在该合成场景中,计算机图形叠加在实况视频上。这样的合成场景可以被称为增强现实场景。可选地,如果在合成场景中省略或者以其他方式没有实况视频,则合成场景可以被称为虚拟现实场景。
附图说明
在附图的图中,通过举例而非限制的方式示出了一些实施例。
图1是示出根据一些示例性实施例的适合于全息图定位的网络环境的网络图。
图2是示出根据一些示例性实施例的适合于全息图定位的全息图放置机器的组件的框图。
图3是示出根据一些示例性实施例的适合于全息图定位的用户设备的组件的框图。
图4是示出根据一些示例性实施例的包括目标用户和被目标用户所穿的衣服遮挡的目标设备的真实世界场景的概念图。
图5是示出根据一些示例性实施例的显示包括目标用户的增强现实场景的用户设备的概念图。
图6是示出根据一些示例性实施例的显示包括目标用户以及相对于目标用户的目标设备而定位的多个全息图的增强现实场景的用户设备的概念图。
图7是示出根据一些示例性实施例的与全息图、目标设备和用户设备相对应的地理位置和运动矢量的概念图。
图8是示出根据一些示例性实施例的与全息图相对应的地理位置、偏移矢量和取向矢量的概念图。
图9-图13是示出根据一些示例性实施例的全息图定位的方法的操作的流程图。
图14是示出根据一些示例性实施例的能够从机器可读介质读取指令并且执行本文所讨论的方法中的任何一个或多个的机器的组件的框图。
具体实施方式
示例性方法(例如,结合有诸如算法或其他步骤或过程的操作)促进全息图定位,并且示例性系统(例如,由专用软件配置的专用机器)被配置为促进全息图定位。示例仅代表可能的变化。除非另有明确说明,否则结构(例如,结构组件,诸如模块)是可选的,并且可以被组合或细分,并且操作(例如,在步骤、算法或其他功能中)可以顺序地变化或被组合或细分。在以下描述中,出于解释的目的,阐述了许多具体细节以提供对各种示例性实施例的透彻理解。然而,对于本领域的技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本主题。
机器(例如,服务器机器或用户设备)可以被配置为执行场景(例如,增强现实场景或虚拟现实场景)内的全息图定位,以被生成用于由用户设备(例如,观看设备)显示。全息图在场景内某个位置的放置可以包括确定全息图相对于目标设备的位置(例如,地理位置,例如,如由全球定位系统(GPS)坐标所指示的地理位置),确定全息图相对于目标设备的移动速度,确定全息图相对于目标设备的移动方向,确定全息图相对于目标设备的取向,或前述的任何合适的组合。例如,可以基于目标设备的位置(例如,地理位置)、目标设备的移动速度、目标设备的移动方向或前述的任何合适的组合来执行任何一个或多个这样的确定。
如所配置的,机器对描述目标设备的地理位置移动的目标运动数据进行存取。基于目标运动数据,机器确定(例如,计算或生成)指示目标设备的目标速度的目标运动矢量。目标运动矢量还指示其中目标设备以目标速度进行移动的目标方向。然后,基于目标运动矢量,机器为要生成的每个全息图确定全息图运动矢量,以供用户设备(例如,观看设备)显示。全息图运动矢量指示相应全息图的相对速度(例如,相对于目标设备或相对于用户设备),并且指示相应全息图的相对方向(例如,相对于目标设备或相对于用户设备)。
基于全息图运动矢量,机器使得用户设备生成场景(例如,增强现实场景),其中全息图以基于目标设备的目标速度并且基于全息图的相对速度(例如,如由全息图运动矢量所指示的全息图的相对速度)而确定的速度(例如,全息图速度)进行移动。此外,在场景内,全息图沿着基于目标设备的目标方向并且基于全息图的相对方向(例如,如由全息图运动矢量所指示的全息图的相对方向)而确定的方向(例如,全息图方向)进行移动。
根据各种示例性实施例,机器的这种行为可以具有以下效果:确定其中目标设备及其用户在用户设备的视野内移动(例如,行走)的速度和方向,以便于然后定位(例如,放置)并且将一个或多个全息图取向在目标设备处或目标设备周围。例如,在所生成的场景中,科幻人物的全息图(例如,
Figure BDA0002235787220000041
)可以位于(例如,放置在)目标设备的位置处(例如,封装和遮挡目标设备及其用户)并且取向为沿着目标设备正在移动的方向,而科幻士兵的全息图(例如,
Figure BDA0002235787220000042
)可能位于目标设备附近的偏移位置处(例如,在
Figure BDA0002235787220000043
后面行走)并且取向为沿着与目标设备正在移动的相同的方向。作为另一示例,城市公交车可以是目标设备或包括目标设备,并且所生成的增强现实场景可以将鸟类、昆虫或龙的全息图放置在城市公交车后面和上方的各个偏移位置处。根据各种示例性实施例,可以通过沿着与城市公交车正在行驶的相同的方向飞行来动态地更新(例如,动画化)这样的全息图以追赶城市公交车。此外,所生成的场景中的全息图可以根据个体或群体飞行模式(例如,混乱的群集或飞行信息)来动画化。
如本文所使用的,术语“全息图”是指在三维环境中对虚拟三维对象进行机器执行的渲染。虚拟三维对象可以是或包括三维模型(例如,具有或不具有纹理映射,例如一个或多个纹理映射的图像)、点的三维云(例如,点云,具有或不具有纹理映射)、三维体积的体素(例如,体素网格)或前述的任何合适的组合。其中渲染三维对象的三维环境(例如,三维空间)可以是或包括增强现实场景、虚拟现实场景或两者。
一旦被渲染,则虚拟三维对象在三维环境中是可见的,并且似乎占据了三维环境的部分(例如,当用户使用观看设备(例如,智能手机或虚拟现实护目镜)来观看三维环境时)。因此,对虚拟三维对象进行渲染可以被称为生成相应的全息图(即,生成虚拟三维对象的渲染)。
此外,全息图可以是静态的(例如,非动画化或以其他方式不随时间运动)或动态的(例如,动画化或以其他方式相对于形状、大小、颜色、亮度、透明度、位置、取向或前述的任何合适的组合而随时间变化)。例如,全息图可以是或者包括动物或人(例如,名人或虚构人物)的动态三维模型,其在一段时间内执行一系列移动(例如,通过人的手臂、腿、手或面部)(例如,具有或不具有一个或多个相应的音轨)。
图1是示出根据一些示例性实施例的适合于全息图定位的网络环境100的网络图。网络环境100包括全息图放置机器110、数据库115、目标设备130以及用户设备140和150(例如,观看设备),它们均经由网络190彼此通信地耦合。具有或不具有数据库115的全息图放置机器110可以形成云118的全部或部分(例如,被配置为用作单个服务器的多个机器的地理上分布的集合),其可以形成基于网络的系统105(例如,被配置为向目标设备130以及用户设备140和150中的任何一个或多个提供一个或多个基于网络的服务的基于云的服务器系统)的全部或部分。全息图放置机器110、目标设备130以及用户设备140和150中的每一个均可以全部或部分地在专用(例如,专门)计算机系统中实现,如下面相对于图14所描述的。
图1中还示出了用户132、142和152。用户132、142和152中的任何一个或多个可以是人类用户(例如,人)、机器用户(例如,机器人或由软件程序配置为与设备进行互动的计算机)、或前述的任何合适的组合(例如,由机器辅助的人或由人监督的机器)。用户132与目标设备130相关联,并且可以是目标设备130的人类用户。例如,目标设备130(例如,具有集成的地理位置传感器,例如GPS接收器)可以是属于用户132的台式计算机、车辆计算机、平板计算机、导航设备、便携式媒体设备、智能电话或可穿戴设备(例如,智能手表、智能眼镜、智能服装或智能珠宝)。类似地,用户142与用户设备140(例如,具有或不具有集成的地理位置传感器的观看设备)相关联,并且可以是用户设备140的人类用户。例如,用户设备140可以是属于用户142的台式计算机、车辆计算机、平板计算机、导航设备、便携式媒体设备、智能电话或可穿戴设备(例如,智能手表、智能眼镜、智能服装或智能珠宝)。类似地,用户152与用户设备150相关联并且可以是用户设备150的人类用户。作为示例,用户设备150(例如,具有或不具有集成的地理位置传感器的另一观看设备)可以是属于用户152的台式计算机、车辆计算机、平板计算机、导航设备、便携式媒体设备、智能电话或可穿戴设备(例如,智能手表、智能眼镜、智能服装或智能珠宝)。
图1中所示的任何系统或机器(例如,数据库和设备)可以是、包括、或以其它方式在专用(例如,专门或非常规和非通用)计算机中实现,该专用计算机已被修改以执行本文描述的用于该系统或机器的一个或多个功能(例如,由专用软件(例如,专用应用程序、操作系统、固件、中间件或其他软件程序的一个或多个软件模块)配置或编程)。例如,下面参考图14讨论能够实现本文描述的方法中的任何一个或多个的专用计算机系统,并且这样的专用计算机可以相应地是用于执行本文讨论的方法中的任何一个或多个的装置。在这样的专用计算机的技术领域中,与缺少本文讨论的结构或以其他方式不能执行本文讨论的功能的其他专用计算机相比,已经通过本文讨论的结构被专门地修改(例如,由专用软件配置)以执行本文讨论的功能的专用计算机在技术上得到了改进。因此,根据本文讨论的系统和方法而配置的专用机器对类似专用机器的技术提供了改进。
如本文所使用的,“数据库”是数据存储资源,并且可以存储被构造为文本文件、表格、电子表格、关系数据库(例如,对象关系数据库)、三元组存储装置、分层数据存储装置、或前述的任何合适的组合的数据。此外,图1中所示的系统或机器中的任何两个或更多个可以被组合为单个系统或机器,并且本文针对任何单个系统或机器描述的功能可以被细分在多个系统或机器中。
网络190可以是使得能够在系统、机器、数据库和设备之间或之中(例如,在全息图放置机器110和目标设备130之间、或者在目标设备130和用户设备140之间)进行通信的任何网络。因此,网络190可以是有线网络、无线网络(例如,移动或蜂窝网络)或前述的任何合适的组合。网络190可以包括构成私有网络、公共网络(例如,互联网)或前述的任何合适的组合的一个或多个部分。因此,网络190可以包括结合了局域网(LAN)、广域网(WAN)、互联网、移动电话网络(例如,蜂窝网络)、有线电话网络(例如,普通老式电话系统(POTS)网络)、无线数据网络(例如,WiFi网络或WiMax网络)或前述的任何合适的组合的一个或多个部分。网络190的任何一个或多个部分可以经由传输介质来传达信息。如本文所使用的,“传输介质”是指能够传达(例如,传输)由机器(例如,由该机器的一个或多个处理器)执行的指令的任何无形(例如,瞬时)介质,并且包括数字或模拟通信信号或其他无形介质,以促进这样的软件的通信。
图2是示出根据一些示例性实施例的全息图放置机器110的组件的框图。全息图放置机器110被示为包括目标设备接口210、目标分析器220、全息图管理器230和用户设备接口240,它们均被配置为彼此通信(例如,经由总线、共享存储器或交换机)。因此,在某些示例性实施例中,全息图放置机器110被配置为执行本文描述的一种或多种方法。
如图2所示,目标设备接口210、目标分析器220、全息图管理器230、用户设备接口240或前述的任何合适的组合可以形成存储(例如,安装)在全息图放置机器110上(例如,响应于或以其他方式作为从数据库115接收的数据的结果)的应用程序200(例如,软件程序)的全部或部分。此外,在应用程序200、目标设备接口210、目标分析器220、全息图管理器230、用户设备接口240或前述的任何合适的组合中可以(例如,暂时地或永久地)包括一个或多个处理器299(例如,硬件处理器、数字处理器或前述的任何合适的组合)。
图3是示出根据一些示例性实施例的用户设备140的组件的框图。用户设备150可以被类似地配置。在图3中,用户设备140被示为包括目标设备接口210、目标分析器220、全息图管理器230和图形管理器340的实例,它们均被配置为彼此通信(例如,经由总线、共享存储器、或交换机)。因此,在某些示例性实施例中,用户设备140被配置为执行本文描述的一种或多种方法。在一些混合示例性实施例中,通过全息图放置机器110和用户设备140的组合来执行本文描述的一种或多种方法。
如图3所示,目标设备接口210、目标分析器220、全息图管理器230、图形管理器340或前述的任何合适的组合的实例可以形成存储(例如,安装)在用户设备140上(例如,响应于或以其他方式作为从数据库115接收的数据的结果)的应用(app)300(例如,移动应用)的全部或部分。此外,在应用程序200、目标设备接口210、目标分析器220、全息图管理器230、图形管理器340或前述的任何合适的组合中可以(例如,暂时地或永久地)包括处理器299(例如,硬件处理器、数字处理器或前述的任何合适的组合)的一个或多个实例。
本文描述的任何一个或多个组件(例如,模块)可以单独使用硬件(例如,处理器299的一个或多个实例)或硬件和软件的组合来实现。例如,本文描述的任何组件可以物理地包括被配置为执行本文针对该组件描述的操作的处理器299(例如,处理器299的子集或处理器299之中)的一个或多个实例的布置。作为另一示例,本文描述的任何组件可以包括软件、硬件或两者,其将处理器299的一个或多个实例的布置配置为执行本文针对该组件描述的操作。因此,本文描述的不同组件可以包括并且将处理器299的不同布置配置在不同时间点处或者将处理器299的单个布置配置在不同时间点处。本文描述的每个组件(例如,模块)是用于执行本文针对该组件描述的操作的装置的示例。此外,本文描述的任何两个或更多个组件可以被组合为单个组件,并且本文针对单个组件描述的功能可以被细分在多个组件中。此外,根据各种示例性实施例,本文描述为在单个系统或机器(例如,单个设备)内实现的组件可以被分布在多个系统或机器(例如,多个设备)中。
图4是示出根据一些示例性实施例的包括目标用户132和目标设备130的真实世界场景400的概念图。真实世界场景400是真实的,并且可由指向真实世界场景400的相机和人眼观察到,这与增强现实场景或虚拟现实场景相反,增强现实场景或虚拟现实场景中的任一个都将包括不存在于真实世界场景400中的至少一个机器渲染的(例如,计算机生成的)对象。
在图4中所示的真实世界场景400中,目标设备130存在,但被目标用户132所穿的衣服遮挡。例如,目标设备130可以由于被放置在目标用户132的衣服口袋中而与目标用户132一起行进(例如,以任何零速度或非零速度,在三维空间中的任何方向上)。因此,相对于固定的参考系(例如,行星地球的表面或其任何子区域),目标设备130可以在与目标用户132相同的方向上移动,并且在该方向上以与目标用户132相同的速度移动。该移动可以由目标设备130检测(例如,经由一个或多个地理位置传感器)并且被表示(例如,被编码)为描述目标设备130的地理位置移动的运动数据(例如,目标运动数据)。
图5是示出根据一些示例性实施例的显示包括目标用户132的增强现实场景500的用户设备140(例如,观看设备)的概念图。用户设备140的显示屏141呈现(例如,显示)增强现实场景500,其是真实世界可视数据(例如,如由用户设备140的相机所捕获的真实世界场景400的实况视频或静止图像)和一个或多个机器渲染的三维对象的合成混合。如图5所示,通过将一个或多个机器渲染的三维对象添加到由用户设备140的相机所捕捉的实况视频(例如,在用户设备140的相机的视野内)来生成增强现实场景500。在图5所示的示例性场景中,目标用户132主要在相机的视野内,并且增强现实场景500相应地包括目标用户132的大部分。在可选示例性场景中,目标用户132不在相机的视野内,并且增强现实场景500将相应地省略目标用户132。
图6是示出根据一些示例性实施例的显示包括目标用户132以及相对于目标用户132的目标设备130而定位(例如,放置)的多个全息图610和620的增强现实场景500的用户设备140的概念图。如上所述,显示屏141呈现增强现实场景500。如图6所示,增强现实场景500已将全息图610和620合成到由用户设备140的相机所捕获的实况视频中。如下文将详细描述的,全息图610和620已经基于目标设备130的地理位置移动(例如,基于当目标设备130随目标用户132行进时的目标设备130的方向和速度)而放置和取向。
在图6中所示的示例性场景中,全息图610已经被放置在目标用户132的后面和左边的偏移距离处(例如,基于目标设备130的地理位置),并且全息图610被呈现为好像在与目标用户132相同的方向上但以与目标用户132稍微不同的速度行进。类似地,全息图620被放置在目标用户132的更后面和更左边的不同偏移距离处,并且全息图620被呈现为好像以与目标用户132稍微不同的方向并且以稍微不同的速度(例如,与全息图610明显行进的速度类似的速度)行进。
图7是示出根据一些示例性实施例的与全息图610和620、目标设备130和用户设备140相对应的地理位置和运动矢量的概念图。全息图610和620、目标设备130和用户设备140的地理位置中的每一个均可以分别由地理位置数据(例如,GPS坐标的相应集合)来指定。
接下来考虑目标设备130可能是有帮助的。如上所述,目标设备130可以在真实世界场景400中移动(例如,行进)(例如,由于被放置在目标用户132的衣服口袋中),并且该移动可以被目标设备130检测到并且被表示为目标运动数据。此外,可以使用目标运动数据(例如,通过全息图放置机器110或用户设备140)来确定(例如,通过生成、计算或转换)指示目标设备130的目标速度(例如,每秒0.5米),并且还指示目标设备130以目标速度移动的目标方向(例如,在真实世界场景400中,东北45度,向上倾斜3度)的目标运动矢量730。根据一些示例性实施例,相对于固定的参考系(例如,真实世界场景400,其可以是或包括行星地球的表面或其任何子区域)(例如,由全息图放置机器110或用户设备140)来确定目标运动矢量730。在可选示例性实施例中,相对于用户设备140来确定目标运动矢量730,该用户设备140本身可以相对于固定参考系来运动。
在其中用户设备140正在真实世界场景400内移动(例如,由于当用户142在真实世界场景400中行走时,被携带在用户142的手中)的示例性实施例中。该移动可以由用户设备140(例如,提供一个或多个地理位置传感器)检测到并且被表示为用户运动数据。此外,可以使用用户运动数据(例如,由全息图放置机器110或用户设备140)来确定指示用户设备140的用户速度(例如,每秒0.6米),并且还指示用户设备140以用户设备140的用户速度移动的用户方向(例如,在真实世界场景400中,东北22.5度,向上倾斜5度)的用户运动矢量740。如图7中所示,目标设备130是否在用户设备140的相机的视野内取决于目标设备130和用户设备140之间的相对移动以及用户设备140的取向(例如,将其对准相机)。
根据本文讨论的方法,可以分别针对全息图610和620(例如,由全息图放置机器110或用户设备140)来确定全息图运动矢量710和720,并且这样的确定可以基于目标设备130的目标运动矢量730。在图7中所示的示例性实施例中,全息图运动矢量710是相对运动矢量,其指示全息图610相对于目标设备130的目标运动矢量730的相对速度,并且还指示其中全息图610相对于目标运动矢量730而移动的相对方向。例如,全息图运动矢量710可以指示全息图610正在与目标设备130相同的方向上移动,但是具有与目标设备130不同的速度。类似的,全息图运动矢量720是相对运动矢量,其指示全息图620相对于目标设备130的目标运动矢量730的相对速度,并且还指示其中全息图620相对于目标运动矢量730而移动的相对方向。例如,全息图运动矢量720可以指示全息图620以与目标设备130不同的方向行进,但是具有与全息图610相对于目标设备130行进的速度类似或相同的速度。
图7另外示出了分别与全息图610和620相对应的全息图运动矢量711和721。在其中全息图运动矢量710是相对运动矢量的示例性实施例中,其指示全息图610相对于目标设备130的目标运动矢量730的相对速度和相对方向,全息图运动矢量711可以是绝对运动矢量,其是或包括目标运动矢量730和全息图610的全息图运动矢量710的矢量和。因此,全息图运动矢量711可以描述全息图610相对于同一参考系(例如,行星地球的表面或其任何子区域)的实际速度(例如,全息图速度)和实际方向(例如,全息图方向),其中目标运动矢量730描述目标设备130的运动。
类似地,全息图运动矢量721可以是绝对运动矢量,其是或者包括目标运动矢量730和全息图620的全息图运动矢量720的矢量和。因此,全息图运动矢量721可以描述全息图620相对于同一参考系(例如,行星地球的表面或其任何子区域)的实际速度和实际方向,其中目标运动矢量730描述目标设备130的运动。
如图7所示,目标设备130的地理位置由形成目标运动矢量730的原点的一组轴表示。用户设备140的地理位置由形成用户运动矢量740的原点的另一组轴表示。真实世界场景400和增强现实场景500可以共享共同的参考系(例如,相对于行星地球的表面或其子区域)。因此,增强现实场景500中的全息图610的虚拟地理位置可以与真实世界场景400中的物理地理位置一致。在图7中,全息图610的地理位置由与全息图运动矢量710的原点重合的一组轴表示。类似地,全息图620的地理位置由与全息图运动矢量720的原点重合的另一组轴表示。
图8是示出根据一些示例性实施例的与全息图610和620相对应的地理位置、偏移矢量和取向矢量以及目标设备130和用户设备140的地理位置的概念图。如图所示,全息图610的地理位置可以相对于目标设备130的地理位置由偏移矢量810(例如,指示GPS坐标中的一个或多个相对差异)来指定。偏移矢量810是相对偏移矢量,其指示在增强现实场景500中目标设备130与全息图610之间的全息图偏移距离并且还指示在增强现实场景500中全息图610相对于目标设备130的全息图偏移方向。在一些示例性实施例中,偏移矢量810是相对于目标设备130的相对偏移矢量,而在可选示例性实施例中,偏移矢量810是相对于用户设备140的相对偏移矢量。
类似地,全息图620的地理位置可以相对于目标设备130的地理位置由另一偏移矢量820(例如,指示GPS坐标中的一个或多个相对差异)来指定。偏移矢量820是相对偏移矢量,其指示在增强现实场景500中目标设备130和全息图620之间的全息图偏移距离并且还指示在增强现实场景500中全息图620相对于目标设备130的全息图偏移方向。在一些示例性实施例中,偏移矢量820是相对于目标设备130的相对偏移矢量,而在可选示例性实施例中,偏移矢量820是相对于用户设备140的相对偏移矢量。如图8所示,全息图610和620中的一个或两个是否在用户设备140的相机的视野内取决于全息图610和620中的每一个与用户设备140之间的相对移动以及用户设备140的取向(例如,将其对准其相机)。
此外,如图8所示,全息图610的取向矢量811指示其中全息图610取向(例如,面对或指向)的方向。取向矢量811可以是相对取向矢量,其指示全息图610相对于目标设备130的相对取向方向、目标设备130的目标运动矢量730或两者。类似地,全息图620的取向矢量821指示其中全息图620取向的方向,并且取向矢量821可以是相对取向矢量,其指示全息图620相对于目标设备130的相对取向方向、目标设备130的目标运动矢量730或两者。在可选示例性实施例中,取向矢量811和821中的一个或两个指示相对于用户设备140、用户运动矢量740或两者的相对取向方向。
图9-图13是示出根据一些示例性实施例的全息图定位的方法900的操作的流程图。方法900中的操作可以由全息图放置机器110、用户设备140或两者的组合,使用上面参考图2和图3描述的组件(例如,模块),使用一个或多个处理器299(例如,微处理器或其他硬件处理器),或者使用前述的任何合适的组合来执行。然而,为了参考图9-图13的描述的清楚,除非另外指定,否则方法900通常被描述为好像由用户设备140执行。如图9所示,方法900包括操作910、920、930和940。
在操作910中,目标设备接口210对描述目标设备130的地理位置移动(例如,在一段时间内从一个地理位置移动到另一地理位置时)的目标运动数据进行存取。目标运动数据可以由目标设备130中的一个或多个传感器(例如,GPS接收器)生成。在一些示例性实施例中,直接从目标设备130对目标运动数据进行存取(例如,经由网络190或经由直接对等网络)。在其他示例性实施例中,目标运动数据由目标设备130上传到数据库115并且从其进行存取。
在操作920中,目标分析器220确定(例如,生成、计算、转化或以其他方式获得)与目标设备130相对应的目标运动矢量730。基于在操作910中存取的目标运动数据来执行目标运动矢量730的确定。例如,目标运动数据可以指示在所测量的时间段内目标设备130从第一地理位置移动到第二地理位置,并且可以根据第一和第二地理位置以及所测量的时间段来确定目标运动矢量730。如上所述,目标运动矢量730指示目标设备130在真实世界场景400内移动的目标速度(例如,相对于行星地球的表面或其任何子区域),并且还指示其中目标设备130在真实世界场景400内以目标速度移动的目标方向(例如,也相对于行星地球的表面或其相同子区域)。
在操作930中,全息图管理器230确定(例如,生成、计算、转化或以其他方式获得)与全息图610相对应(例如,将在增强现实场景500内生成并且由用户设备140呈现)的全息图运动矢量710。可以基于在操作920中确定的目标运动矢量730来执行全息图运动矢量710的确定,并且全息图矢量710可以相应地相对于目标运动矢量730。
由于目标运动矢量730指示目标设备130在真实世界场景400内的方向和速度,因此全息图运动矢量710可以被视为相对运动矢量,其指示全息图610相对于目标设备130本身的相对速度(例如,相对真实世界速度,即使全息图610将在增强现实场景500中生成),并且指示其中全息图610相对于目标设备130本身移动的相对方向(例如,相对真实世界方向,即使全息图610将在增强现实场景500中生成)。在一些示例性实施例中,操作930的执行包括从使相对速度与全息图610相关联的全息图数据库(例如,数据库115)对全息图610的相对速度进行存取、从全息图数据库对全息图610的相对方向进行存取、或对两者进行存取。对于要在增强现实场景500中生成的一个或多个附加全息图(例如,全息图620),可以类似地执行类似的操作。
在操作940中,用户设备140的图形管理器340使得用户设备140生成全息图610,并且显示包括全息图610并且全息图610在其中移动的增强现实场景500。全息图610在增强现实场景500内的运动可以基于(例如,根据)在操作930中所确定的全息图运动矢量710。此外,在其中全息图运动矢量710是相对于目标运动矢量730的相对运动矢量的示例性实施例中,全息图610在增强现实场景500内的运动也可以基于(例如,根据)全息图运动矢量711(例如,如以上参考图7所描述的)。
因此,图形管理器340使得全息图610以基于目标设备130的目标速度和全息图610相对于目标设备130的相对速度(例如,由图形管理器340)所确定的全息图速度进行移动。此外,图形管理器340使得全息图610在基于目标设备130的目标方向和全息图610相对于目标设备130的相对方向(例如,由图形管理器340)所确定的全息图方向上进行移动。对于增强现实场景500中的一个或多个附加全息图(例如,全息图620),将类似地执行类似的操作。
在其中方法900由全息图放置机器110执行的示例性实施例中,操作940由用户设备接口240执行。通常,被描述为由用户设备140的图形管理器340执行的操作可以由全息图放置机器110本身的用户设备接口240来执行,或者由用户设备接口240引起以在别处(例如,由用户设备140的图形管理器340)执行。例如,用户设备接口240可以使得用户设备140(例如,经由图形管理器340)执行全息图610的生成以及包括全息图610并且全息图610在其中移动的增强现实场景500的显示。
如图10所示,根据各种示例性实施例,除了先前描述的任何一个或多个操作之外,方法900可以包括操作1010、1020、1030、1031、1032和1033中的一个或多个。可以在操作920之前的任何点处执行操作1010,其中目标分析器220确定目标设备130的目标运动矢量730。在操作1010中,目标分析器220对描述用户设备140的地理位置移动(例如,当其在一段时间内相对于固定参考系(例如,行星地球的表面或其任何子区域)从一个地理位置移动到另一地理位置时)的用户运动数据进行存取。
根据某些示例性实施例,从用户设备140、数据库115或两者对用户运动数据进行存取。此外,对用于用户设备140的用户运动数据的存取可以基于(例如,响应于)用户设备140将显示增强现实场景500的指示。这样的指示可以作为用户设备140处的用户输入(例如,由用户142)的结果、目标设备130处的用户输入(例如,由用户132)的结果、在用户设备140的相机的视野内检测到目标设备130的结果、或前述的任何合适的组合而被接收(例如,由应用300或应用程序200)。
操作1020可以作为操作920的部分(例如,前驱任务、子例程或一部分)执行,其中目标分析器220确定目标运动矢量730。在操作1020中,目标分析器220确定目标运动矢量730作为相对运动矢量,并且相对运动矢量可以描述目标设备130相对于用户设备140的运动,该用户设备140本身可以相对于真实世界场景400运动。由于可以基于目标运动矢量730来确定全息图610的全息图速度,因此可以相对于用户设备140来确定全息图610的全息图速度。类似地,由于可以基于目标运动矢量730来确定全息图610的全息图方向,则还可以相对于用户设备140来确定全息图610的全息图方向。
操作1030和1032中的一个或两个可以作为操作930的部分被执行,其中全息图管理器230确定全息图610的全息图运动矢量710。如上所述,全息图运动矢量710可以是描述全息图610相对于用户设备140的运动的相对运动矢量,用户设备140将生成全息图610并且呈现增强现实场景500。
在操作1030中,全息图管理器230确定全息图610相对于用户设备140的相对全息图速度。该确定可以基于目标设备130的目标速度(例如,相对于行星地球表面或其子区域)以及全息图610的相对速度(例如,相对于目标设备130)。
可以将操作1031作为操作1030的部分来执行。在操作1031中,全息图管理器230对全息图610的相对速度(例如,相对于目标设备130)进行存取,并且全息图610的相对速度可以从数据库115或经由网络190可存取的另一数据源进行存取。即,数据库115可以存储全息图610相对于任何目标设备(例如,目标设备130)的相对速度,并且可以在操作1031中对该相对速度进行存取。
在操作1032中,全息图管理器230确定全息图610相对于用户设备140的相对全息图方向。该确定可以基于目标设备130的目标方向(例如,相对于操作1030中所使用的行星地球的表面或其子区域),并且基于全息图610的相对方向(例如,相对于目标设备130)。
操作1033可以作为操作1032的部分执行。在操作1032中,全息图管理器230对全息图610的相对方向(例如,相对于目标设备130)进行存取,并且全息图610的相对方向可以从数据库115或经由网络190可存取的另一数据源进行存取。即,数据库115可以存储全息图610相对于任何目标设备(例如,目标设备130)的相对方向,并且可以在操作1033中对该相对方向进行存取。
如图11所示,根据各种示例性实施例,除了先前描述的任何一个或多个操作之外,方法900可以包括操作1135、1136、1137、1138、1139、1140、1141、1142和1143中的一个或多个。可以在操作940之前的任何点处执行操作1135,其中图形管理器340使得用户设备140生成全息图610(例如,连同一个或多个附加全息图,例如全息图620)并且显示增强现实场景500。在操作1135中,图形管理器340确定用户设备140中的相机(例如,由应用300来管理的相机)的视野。根据一些示例性实施例,该确定包括存取(例如,经由查找)由用户设备140所存储的并且描述相机的视野的元数据。根据可选示例性实施例,该确定包括经由网络190(例如,从数据库115)获得这样的元数据。
在有或没有操作1135的情况下,可以在操作940之前的任何点处执行操作1136。在操作1136中,目标设备接口210对目标设备130的目标位置数据进行存取。目标位置数据描述了目标设备130的地理位置,并且可以以与以上关于在操作910中目标设备130的目标运动数据的存取的方式类似的方式进行存取。目标设备130的目标位置数据可以由目标设备130中的一个或多个传感器(例如,GPS接收器)生成。在一些示例性实施例中,直接从目标设备130对目标位置数据进行存取(例如,经由网络190或经由直接的对等网络)。在其他示例性实施例中,目标位置数据由目标设备130上传到数据库115并且从其进行存取。
在包括操作1135的示例性实施例中,操作1140可以作为操作940的部分执行。在操作1140中,图形管理器340使得用户设备140在操作1135中确定的视野内显示全息图610。此外,在其中在操作1136中存取目标设备130的目标位置数据的一些示例性实施例中,操作1140可以包括检测目标设备130的地理位置在用户设备140的相机的视野内。基于该检测,图形管理器340可以通过使得用户设备140在增强现实场景500中包括(例如,包围)目标设备130的地理位置来执行操作1143(例如,作为操作940的部分)。
可选地,在其中在操作1136中对目标设备130的目标位置数据进行存取的某些示例性实施例中,操作1140可以包括检测目标设备130的地理位置在用户设备140的相机的视野之外。基于该检测,图形管理器340可以执行操作1142(例如,作为操作940的部分),以使得用户设备140从增强现实场景500中排除(例如,省略)目标设备130的地理位置。
在包括操作1136的示例性实施例中,操作1137可以在操作940之前的任何点处执行,其中图形管理器340使得用户设备140生成全息图610(例如,连同一个或多个附加全息图,例如全息图620)并且显示增强现实场景500。在操作1137中,全息图管理器230确定(例如,存取、计算或以其他方式获得)全息图610的偏移矢量810,其可以是指示针对全息图610的相对偏移距离并且指示针对全息图610的相对偏移方向的相对偏移矢量。偏移矢量810的确定可以包括从数据库115存取(例如,经由查找)相对偏移距离、相对偏移方向或两者。在一些示例性实施例中,偏移矢量810的确定通过执行指定或以其它方式描述全息图610的一个或多个转换移动的软件(例如,从数据库115存取)来动态地执行。
如图11所示,操作1137可以包括操作1138和1139中的一个或两个。在操作1138中,全息图管理器230确定(例如,存取或计算)全息图610的相对偏移距离(例如,相对于目标设备130)。例如,可以从数据库115对相对偏移距离进行存取。作为另一示例,可以通过执行运动生成或其他运动指定软件来动态地计算相对偏移距离(例如,由数据库115存储并且从其进行存取以执行)。类似地,在操作1139中,全息图管理器230确定全息图610的相对偏移方向(例如,相对于目标设备130)。例如,可以从数据库115对相对偏移方向进行存取。作为另一示例,可以通过执行运动生成或其他运动指定软件来动态地计算相对偏移方向(例如,由数据库115存储并且从其进行存取以执行)。
在包括操作1137的示例性实施例中,操作1141可以作为操作940的部分执行,其中图形管理器340使得用户设备140生成全息图610并且显示增强现实场景500。在操作1141中,图形管理器340使得用户设备140根据全息图610的偏移矢量810来显示全息图610。例如,图形管理器340可以使得全息图610在由偏移矢量810所指示的相对偏移距离处和在由偏移矢量810所指示的相对偏移方向上出现在增强现实场景500中。如上所述,根据各种示例性实施例,在操作1138中可能已经确定了相对偏移距离,并且在操作1139中可能已经确定了相对偏移方向。
如图12所示,除了先前描述的任何一个或多个操作之外,方法900可以包括操作1237、1239、1240和1241中的一个或多个。操作1237可以在操作940之前的任何点处执行,其中图形管理器340使得用户设备140生成全息图610(例如,连同一个或多个附加全息图,例如全息图620)并且显示增强现实场景500。在操作1237中,全息图管理器230确定(例如,存取、计算或以其他方式获得)全息图610的取向矢量811,其可以是指示其中全息图610所取向的相对取向方向的相对取向矢量(例如,相对于目标设备130、目标运动矢量730、或两者)。取向矢量811的确定可以包括从数据库115存取(例如,经由查找)相对取向方向。在一些示例性实施例中,通过执行指定或以其他方式描述全息图610的一个或多个旋转移动的软件来动态地执行相对取向方向的确定(例如,从数据库115存取)。
如图12所示,操作1237可以包括操作1239。在操作1239中,全息图管理器230确定(例如,存取或计算)全息图610的相对取向方向(例如,相对于目标运动矢量730)。例如,可以从数据库115对相对取向方向进行存取。作为另一示例,可以通过执行旋转生成或其他旋转指定软件来动态地计算相对取向方向(例如,由数据库115存储并且从其进行存取以执行)。
如图12所示,操作1240可以作为操作940的部分来执行,其中图形管理器340使得用户设备140生成全息图610并且显示增强现实场景500。在操作1240中,图形管理器340使得用户设备140显示具有基于目标设备130的目标运动矢量730而确定的取向的全息图610。在可选示例性实施例中,基于用户设备140的用户运动矢量740来确定取向,并且混合示例性实施例可以基于目标运动矢量730和用户运动矢量740两者来确定取向。
此外,操作1241可以作为操作1240的部分被执行。在操作1241中,图形管理器340使得用户设备140显示具有基于在操作1237中确定的相对取向方向(例如,相对于目标设备130或目标运动矢量730)而确定的取向的全息图610。
如图13所示,根据各种示例性实施例,除了先前描述的任何一个或多个操作之外,方法900可以包括操作1340、1341、1350和1360中的一个或多个。操作1340中的一个或两个可以作为操作940的部分来执行。在操作1340中,图形管理器340使得用户设备140从用户设备140的相机对实况相机数据进行存取。当相机捕获到真实世界场景400的至少部分时,这可以通过从与相机相对应的存储器中检索视频的一个或多个帧来执行。
在操作1341中,图形管理器340通过生成包括全息图610和在操作1340中所存取的至少一些实况相机数据的合成视频,使得用户设备140完全或部分地生成增强现实场景500。这可以具有将全息图610合成到实况相机数据的至少一部分上以完全或部分地生成增强现实场景500的效果。
可以在操作940之后执行操作1350和1360中的一个或两个,其中图形管理器340使得用户设备140生成全息图610(例如,连同一个或多个附加全息图,例如全息图620)并且显示增强现实场景500。在操作1350中,图形管理器340使得用户设备140记录增强现实场景500的至少一部分。这可以响应于用户输入(例如,由用户142)、基于一个或多个用户偏好(例如,由用户142设置并且由用户设备140或数据库115存储)、或前述的任何合适的组合来执行。
增强现实场景500的部分可以被记录到用户设备140处的本地存储装置中、被上传到数据库115中或两者。增强现实场景500的记录部分描绘了根据在操作930中所确定的全息图运动矢量710而移动的全息图610,并且可以描绘根据它们各自的全息图运动矢量(例如,在操作930的附加实例中确定的全息图运动矢量720)而移动的一个或多个附加全息图(例如,全息图620)。
在操作1360中,图形管理器340使得用户设备140将所显示的增强现实场景500的至少一部分传送给另一用户设备(例如,用户设备150)。例如,可以经由网络190或经由直接对等网络将增强现实场景500的部分从用户设备140传送到用户设备150。在包括操作1350的示例性实施例中,所传送的部分是或者包括在操作1350中记录的部分。这可以具有使得用户设备140的用户142能够与一个或多个朋友、连接、追随者或其他社交网络联系人(例如,用户设备150的用户152)社交共享(例如,通过一个或多个社交网络,例如社交媒体共享网络)增强现实场景500或其一个或多个部分的效果。
根据各种示例性实施例,本文描述的一种或多种方法可以促进在所生成的增强现实场景内或在所生成的虚拟现实场景内的一个或多个全息图的静态或动态位置(例如,放置)。此外,本文描述的一种或多种方法可以诸如基于目标设备的移动速度、目标设备的移动方向或两者来促进确定一个或多个全息图相对于目标设备的偏移位置、一个或多个全息图相对于目标设备的移动速度、一个或多个全息图相对于目标设备的移动方向、一个或多个全息图相对于目标设备的取向、或前述的任何合适的组合。因此,与现有系统和方法的能力相比,本文描述的一种或多种方法可以促进全息图或一组全息图的简单或复杂、静态或动态行为,以及包括这种全息图的增强现实或虚拟现实场景的生成、渲染和显示。
当综合考虑这些效果时,本文描述的一种或多种方法可以避免对否则将涉及全息图定位的某些努力或资源的需要。可以通过使用(例如,依靠)专用机器来减少用户(例如,全息图照相师)在执行静态或动态全息图定位上所花费的精力,该专用机器实现本文描述的一种或多种方法。由一个或多个系统或机器(例如,在网络环境100内)所使用的计算资源可以类似地减少(例如,与缺少本文所讨论的结构或否则不能执行本文所讨论的功能的系统或机器相比)。这样的计算资源的示例包括处理器周期、网络流量、计算能力、主存储器使用率、图形渲染能力、图形存储器使用率、数据存储能力、功耗和冷却能力。
图14是示出根据一些示例性实施例的能够从机器可读介质1422(例如,非暂时性机器可读介质、机器可读存储介质、计算机可读存储介质、或前述的任何合适的组合)读取指令1424并且全部或部分地执行本文所讨论的任何一种或多种方法的机器1400的组件的框图。具体地,图14以计算机系统(例如,计算机)的示例性形式示出了机器1400,在该计算机系统中可以全部或部分地执行指令1424(例如,软件、程序、应用程序、小应用程序、应用或其它可执行代码)以使得机器1400执行本文讨论的任何一种或多种方法。
在可选实施例中,机器1400作为独立设备来操作,或者可以通信地耦合(例如,联网)到其他机器。在联网部署中,机器1400可以在服务器—客户端网络环境中以服务器机器或客户端机器的能力来操作,或者在分布式(例如,对等)网络环境中作为对等机器来操作。机器1400可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、蜂窝电话、智能电话、机顶盒(STB)、个人数字助理(PDA)、web设备、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定要由该机器采取的动作的指令1424的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”还应当被认为包括单独地或联合地执行指令1424以执行本文所讨论的任何一种或多种方法的全部或部分的机器的任何集合。
机器1400包括处理器1402(例如,一个或多个中央处理单元(CPU)、一个或多个图形处理单元(GPU)、一个或多个数字信号处理器(DSP)、一个或多个专用集成电路(ASIC)、一个或多个射频集成电路(RFIC)或前述的任何合适的组合)、主存储器1404和静态存储器1406,其被配置为经由总线1408彼此进行通信。处理器1402包含固态数字微电路(例如,电子的、光的或两者),其可由指令1424中的一些或全部暂时地或永久地配置,使得处理器1402可被配置为整体或部分地执行本文描述的任何一种或多种方法。例如,处理器1402的一个或多个微电路的集合可以被配置为执行本文描述的一个或多个模块(例如,软件模块)。在一些示例性实施例中,处理器1402是多核CPU(例如,双核CPU、四核CPU、8核CPU或128核CPU),其中多个核中的每一个均表现为能够整体或部分地执行本文所讨论的任何一种或多种方法的独立处理器。尽管本文描述的有益效果可以由具有至少处理器1402的机器1400提供,但是这些相同的有益效果可以由不包含处理器的不同种类的机器提供(例如,纯机械系统、纯液压系统、或混合式机械—液压系统),前提是这样的无处理器机器被配置为执行本文描述的一种或多种方法。
机器1400还可以包括图形显示器1410(例如,等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、阴极射线管(CRT)、或任何其他能够显示图形或视频的显示器)。机器1400还可以包括字母数字输入设备1412(例如,键盘或小键盘)、指示器输入设备1414(例如,鼠标、触摸板、触摸屏、轨迹球、操纵杆、手写笔、运动传感器、眼睛跟踪设备、数据手套或其他指示工具)、数据存储装置1416、音频生成设备1418(例如,声卡、放大器、扬声器、耳机插孔或前述的任何合适的组合)以及网络接口设备1420。
数据存储装置1416(例如,数据存储设备)包括机器可读介质1422(例如,有形和非暂时性机器可读存储介质),在其上存储有体现本文描述的任何一种或多种方法或功能的指令1424。在由机器1400执行指令1424之前或期间,指令1424还可以全部或至少部分地驻留在主存储器1404内、静态存储器1406内、处理器1402内(例如,处理器的高速缓存存储器内)、或前述的任何合适的组合。因此,主存储器1404、静态存储器1406和处理器1402可以被视为机器可读介质(例如,有形和非暂时性机器可读介质)。指令1424可以经由网络接口设备1420在网络190上被发送或接收。例如,网络接口设备1420可以使用任何一种或多种传输协议(例如,超文本传输协议(HTTP))来传送指令1424。
在一些示例性实施例中,机器1400可以是便携式计算设备(例如,智能电话、平板计算机或可穿戴设备),并且可以具有一个或多个附加输入组件1430(例如,传感器或仪表)。这样的输入组件1430的示例包括图像输入组件(例如,一个或多个相机)、音频输入组件(例如,一个或多个麦克风)、方向输入组件(例如,指南针)、位置输入组件(例如,GPS接收器)、取向组件(例如,陀螺仪)、运动检测组件(例如,一个或多个加速度计)、高度检测组件(例如,高度计)、生物特征输入组件(例如,心率检测器或血压检测器)、以及气体检测组件(例如,气体传感器)。由这些输入组件中的任何一个或多个收集的输入数据可以是可存取的,并且可由本文描述的任何模块使用。
如本文所使用的,术语“存储器”是指能够暂时地或永久地存储数据的机器可读介质,并且可以被认为包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存和高速缓存存储器。尽管在示例性实施例中将机器可读介质1422示出为单个介质,但是术语“机器可读介质”应该被认为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”也应该被认为包括能够存储指令1424以由机器1400执行的任何介质或多种介质的组合,使得指令1424在由机器1400的一个或多个处理器(例如,处理器1402)执行时,使得机器1400整体或部分地执行本文描述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的基于云的存储系统或存储网络。因此,术语“机器可读介质”应当被认为包括但不限于以固态存储器芯片、光盘、磁盘或前述的任何合适的组合的示例性形式的一个或多个有形和非暂时性数据储存库(例如,数据卷)。如本文所使用的“非暂时性”机器可读介质具体地本身不包括传播信号。在一些示例性实施例中,可以由载体介质传送用于由机器1400执行的指令1424。这样的载体介质的示例包括存储介质(例如,非暂时性机器可读存储介质,例如固态存储器,其在物理上从一个位置移动到另一位置)和瞬态介质(例如,传送指令1424的传播信号)。
本文将某些示例性实施例描述为包括模块。模块可以构成软件模块(例如,存储在或以其他方式体现在机器可读介质或传输介质中的代码)、硬件模块或前述的任何合适的组合。“硬件模块”是能够执行某些操作的有形(例如,非暂时性)物理组件(例如,一个或多个处理器的集合),并且可以以某种物理方式被配置或布置。在各种示例性实施例中,一个或多个计算机系统或其一个或多个硬件模块可以由软件(例如,应用程序或其部分)配置为硬件模块,该硬件模块进行操作以执行本文针对该模块描述的操作。
在一些示例性实施例中,可以机械地、电子地、液压地或前述的任何合适的组合来实现硬件模块。例如,硬件模块可以包括被永久性地配置为执行某些操作的专用电路或逻辑。硬件模块可以是或包括专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件模块还可以包括可编程逻辑或电路,其由软件暂时地配置为执行某些操作。作为示例,硬件模块可以包括被包含在CPU或其他可编程处理器内的软件。应当理解,在专用和永久配置的电路中或在暂时地配置(例如,由软件配置)的电路中机械地、液压地实现硬件模块的决定可以由成本和时间考虑来驱动。
因此,短语“硬件模块”应当被理解为包括有形实体,该有形实体可以被物理地构造、永久地配置(例如,硬连线)或暂时地配置(例如,编程)为以某些方式操作或执行本文描述的某些操作。此外,如本文所使用的,短语“硬件实现的模块”是指硬件模块。考虑到其中硬件模块被暂时地配置(例如,编程)的示例性实施例,硬件模块中的每一个均不需要在任何一个时刻被配置或实例化。例如,在其中硬件模块包括由软件配置为成为专用处理器的CPU的情况下,该CPU可以在不同时刻处分别被配置为不同的专用处理器(例如,每一个均被包括在不同的硬件模块中)。例如,软件(例如,软件模块)可以相应地配置一个或多个处理器,以在一个时刻处变成或以其他方式构成特定硬件模块,并且在不同的时刻处变成或以其他方式构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并且从其他硬件模块接收信息。因此,所描述的硬件模块可以被认为是通信地耦合的。在同时存在多个硬件模块的情况下,可以通过在两个或更多个硬件模块之间或之中的信号传输(例如,通过电路和总线)来实现通信。在其中在不同时间处配置或实例化多个硬件模块的实施例中,可以诸如通过在多个硬件模块可以存取的存储器结构中存储和检索信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并且将该操作的输出存储在与其通信地耦合的存储器(例如,存储器设备)中。然后,另一硬件模块可以在以后的时间处对存储器进行存取以检索和处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且可以在资源(例如,来自计算资源的信息的集合)上进行操作。
本文描述的示例性方法的各种操作可以至少部分地由一个或多个处理器执行,所述一个或多个处理器被暂时地配置(例如,通过软件)或永久地配置为执行相关操作。不管是暂时地配置还是永久地配置,这样的处理器都可以构成处理器实现的模块,其进行操作以执行本文描述的一个或多个操作或功能。如本文所使用的,“处理器实现的模块”是指其中硬件包括一个或多个处理器的硬件模块。因此,由于处理器是硬件的示例,因此本文描述的操作可以至少部分地是处理器实现的、硬件实现的或两者,并且本文讨论的任何一种或多种方法中的至少一些操作可以由一个或多个处理器实现的模块、硬件实现的模块或前述的任何合适的组合来执行。
此外,这样的一个或多个处理器可以在“云计算”环境中或作为服务(例如,在“软件即服务”(SaaS)实现方式中)执行操作。例如,本文讨论的任何一种或多种方法内的至少一些操作可以由计算机的组(例如,作为包括处理器的机器的示例)来执行,其中这些操作可以经由网络(例如,互联网)访问和经由一个或多个适当的接口(例如,应用程序接口(API))进行存取。某些操作的性能可以分布在一个或多个处理器之中,无论是仅部署在单个机器内还是跨多个机器部署。在一些示例性实施例中,一个或多个处理器或硬件模块(例如,处理器实现的模块)可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其他示例性实施例中,一个或多个处理器或硬件模块可以分布在多个地理位置上。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管将一种或多种方法的单独操作示出和描述为单独的操作,但是可以同时执行一个或多个单独的操作,并且不需要按照所示顺序来执行操作。在示例性配置中呈现为单独的组件和功能的结构及其功能可以被实现为具有组合功能的组合结构或组件。类似地,呈现为单个组件的结构和功能可以被实现为单独的组件和功能。这些和其他变型、修改、添加和改进落入本文主题的范围内。
本文讨论的主题的一些部分可以根据对数据进行操作的算法或符号表示来呈现,该数据作为比特或二进制数字信号被存储在存储器(例如,计算机存储器或其他机器存储器)内。这样的算法或符号表示是数据处理领域的普通技术人员用来将其工作的实质传达给本领域其他技术人员的技术的示例。如本文所使用的,“算法”是导致期望结果的操作或类似处理的自洽序列。在该上下文中,算法和操作涉及对物理量的物理操纵。通常,但不是必须地,这些量可以采取能够由机器存储、存取、传输、组合、比较或以其他方式操纵的电、磁或光信号的形式。主要出于通用的目的,有时使用词语(例如,“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数字”、“数字的”等)来引用这样的信号是方便的。然而,这些词语仅是方便的标签,并且应与适当的物理量相关联。
除非另有明确说明,否则本文中使用诸如“存取”、“处理”、“检测”、“估算”、“计算”、“确定”、“生成”、“呈现”、“显示”等的词语的讨论是指由操纵或转换数据的机器(例如,计算机)执行的动作或过程,该数据被呈现为接收、存储、传输或显示信息的一个或多个存储器(例如,易失性存储器、非易失性存储器或前述的任何合适的组合)、寄存器或其他机器组件内的物理(例如,电、磁或光)量。此外,除非另有明确说明,否则在本文中使用术语“一个”或“一种”来包括一个或多个实例,这在专利文件中很常见。最后,除非另有明确说明,否则如本文所使用的,连词“或”是指非排他性的“或”。
以下列举的实施例描述了本文所讨论的方法、机器可读介质和系统(例如,机器、设备或其他装置)的各种示例性实施例。
第一实施例提供了一种方法,包括:通过一个或多个处理器对目标运动数据进行存取,该目标运动数据描述目标设备的地理位置移动;通过一个或多个处理器来确定目标运动矢量,该目标运动矢量指示目标设备的目标速度并且指示目标设备正在以目标速度进行移动的目标方向,该目标运动矢量是基于所存取的目标运动数据确定的;通过一个或多个处理器来确定全息图运动矢量,该全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的全息图的相对方向,该相对速度和相对方向是相对于目标设备的;以及通过一个或多个处理器使得用户设备生成全息图并且显示增强现实场景,其中,全息图以基于目标设备的目标速度和全息图的相对速度而确定的全息图速度进行移动,并且全息图在基于目标设备的目标方向和全息图的相对方向而确定的全息图方向上进行移动。
在一些示例性实施例中,为了全息图定位的目的,确定设备之间的相对运动。因此,第二实施例提供了一种根据第一实施例的方法,其中:所存取的目标运动数据描述了目标设备相对于行星表面的地理位置移动;并且该方法还包括:对用户运动数据进行存取,该用户运动数据描述用户设备相对于行星表面的地理位置移动;并且其中对目标运动矢量的确定还基于所存取的用户运动数据,并且对目标运动矢量的确定还确定相对目标运动矢量,该相对目标运动矢量指示目标设备相对于用户设备的相对目标速度,并且指示目标设备相对于用户设备的相对目标方向;全息图速度是全息图相对于用户设备的相对全息图速度,并且全息图速度是基于目标设备相对于用户设备的相对目标速度确定的;以及全息图方向是全息图相对于用户设备的相对全息图方向,并且全息图方向是基于目标设备相对于用户设备的相对目标方向确定的。
在一些示例性实施例中,地理位置数据(例如,全球定位系统数据)被直接用于全息图定位。因此,第三实施例提供了一种根据第一实施例或第二实施例的方法,其中:所存取的目标运动数据描述目标设备相对于行星表面的地理位置移动;全息图的全息图速度是相对于行星表面的;并且全息图的全息图方向是相对于行星表面的。
在一些示例性实施例中,明确地确定全息图速度和全息图方向。因此,第四实施例提供了一种根据第一至第三实施例中任一项的方法,其中:对全息图运动矢量的确定包括通过以下步骤来确定相对全息图运动矢量:基于目标设备的目标速度和全息图的相对速度,确定全息图的全息图速度;以及基于目标设备的目标方向和全息图的相对方向,确定全息图的全息图方向。
在一些示例性实施例中,全息图被包括在用户设备的相机的视野中。因此,第五实施例提供了一种根据第一至第四实施例中任一项的方法,还包括:确定用户设备的相机的视野;并且其中使得用户设备显示增强现实场景包括:使得用户设备在所确定的用户设备的相机的视野内显示所生成的全息图。
此外,用户设备的相机的视野可以包括目标设备和全息图两者。因此,第六实施例提供了一种根据第五实施例的方法,还包括:对目标位置数据进行存取,该目标位置数据描述目标设备的地理位置;以及检测到目标设备的地理位置在用户设备的相机的视野内;并且其中使得用户设备显示增强现实场景包括:基于在所确定的用户设备的相机的视野内检测到的目标设备的地理位置,使得用户设备在增强现实场景内包含目标设备的地理位置。
可选地,尽管视野包括全息图,但是用户设备的相机的视野可以省略目标设备。因此,第七实施例提供了一种根据第五实施例的方法,还包括:对目标位置数据进行存取,该目标位置数据描述目标设备的地理位置;检测到目标设备在用户设备的相机的视野之外;并且其中使得用户设备显示增强现实场景包括:基于在所确定的用户设备的相机的视野之外检测到的目标设备的地理位置,使得用户设备从增强现实场景中省略目标设备的地理位置。
在一些示例性实施例中,基于目标设备的目标方向来取向全息图。因此,第八实施例提供了一种根据第一至第七实施例中任一项的方法,其中:使得用户设备显示增强现实场景包括:使得用户设备显示基于目标设备正在移动的目标方向而取向的全息图。
此外,相对于目标设备的目标方向,全息图可以具有其自己独特的取向。因此,第九实施例提供了一种根据第八实施例的方法,还包括:确定全息图取向矢量,该全息图取向矢量指示全息图相对于目标设备正在移动的目标方向的相对取向;并且其中使得用户设备显示增强现实场景包括:使得用户设备显示进一步基于全息图相对于目标设备正在移动的目标方向的相对取向而取向的全息图。
在一些示例性实施例中,全息图仅仅是多个全息图的组中的一个全息图(例如,一群鸟中的一只鸟、一群太空战士中的一个太空战士或一群龙中的一只龙),每一个都具有其自己的相应运动矢量。因此,第十实施例提供了一种根据第一至第九实施例中任一项的方法,其中:全息图被包括在全息图的组中;确定全息图的全息图运动矢量被执行为确定全息图运动矢量的组的部分,每个全息图运动矢量与全息图的组中的不同全息图相对应;并且使得用户设备显示增强现实场景包括:使得用户设备显示全息图的组,该组中的每个全息图基于其相应的所确定的全息图运动矢量被显示。
此外,全息图的组中的每个全息图均可以相对于目标设备的目标方向被分开地取向。因此,第十一实施例提供了一种根据第十实施例的方法,还包括:确定全息图取向矢量的组,每个全息图取向矢量指示全息图的组中的不同全息图的相应相对取向,每个相对取向是相对于目标设备正在移动的目标方向的;并且其中使得用户设备显示全息图的组包括:使得该组中的每个全息图基于其相对于目标设备正在移动的目标方向的相应相对取向而取向。
在一些示例性实施例中,全息图在空间上相对于目标设备在位置上偏移。因此,第十二实施例提供了一种根据第一至第十一实施例中任一项的方法,还包括:对目标位置数据进行存取,该目标位置数据描述目标设备的地理位置;以及确定相对偏移矢量,该相对偏移矢量指示全息图的相对偏移距离并且指示全息图的相对偏移方向;并且其中使得用户设备显示增强现实场景包括:使得用户设备在远离目标设备的地理位置的相对偏移距离处并且在相对于目标设备正在移动的目标方向的相对偏移方向上显示全息图。
此外,全息图的位置偏移可以从数据库(例如,存储在数据库115中的表格)中获得,例如通过针对静态(例如,时不变)信息的一个或多个查找操作或通过针对动态(例如,时变)信息的一个或多个API调用。因此,第十三实施例提供了一种根据第十二实施例的方法,其中:对相对偏移矢量的确定包括:从全息图数据库中对全息图的相对偏移距离进行存取,该全息图数据库使得相对偏移距离与全息图相关联;以及从全息图数据库中对全息图的相对偏移方向进行存取,该全息图数据库使得相对偏移方向与全息图相关联。
在一些示例性实施例中,全息图相对于任何目标设备的相对速度和相对方向可以从数据库(例如,存储在数据库115中的表格)中获得,例如通过针对静态(例如,时不变)信息的一个或多个查找操作或通过针对动态(例如,时变)信息的一个或多个API调用。因此,第十四实施例提供了一种根据第一至第十三实施例中任一项的方法,其中:对全息图运动矢量的确定包括:从全息图数据库中对全息图的相对速度进行存取,该全息图数据库使得相对速度与全息图相关联;以及从全息图数据库中对全息图的相对方向进行存取,该全息图数据库使得相对方向与全息图相关联。
在一些示例性实施例中,可以从一个用户设备向一个或多个其他用户设备(例如,经由社交媒体)共享增强现实场景的一个或多个部分。因此,第十五实施例提供了一种根据第一至第十四实施例中任一项的方法,其中:用户设备是经由网络通信地耦合到第二用户设备的第一用户设备;并且该方法还包括:使得第一用户设备将所显示的增强现实场景的至少一部分传送到第二设备,所传送的部分描绘以基于目标设备的目标速度和全息图的相对速度而确定的全息图速度进行移动的全息图,并且所传送的部分描绘在基于目标设备的目标方向和全息图的相对方向而确定的全息图方向上进行移动的全息图。
在一些示例性实施例中,增强现实场景的一个或多个部分可以由用户设备来记录(例如,以供用户设备存储或存储到基于网络的数据存储装置,诸如数据库115)。因此,第十六实施例提供了一种根据第一至第十五实施例中任一项的方法,还包括:使得用户设备记录所显示的增强现实场景的至少一部分,所记录的部分描绘以基于目标设备的目标速度和全息图的相对速度而确定的全息图速度进行移动的全息图,并且所记录的部分描绘在基于目标设备的目标方向和全息图的相对方向而确定的全息图方向上进行移动的全息图。
此外,然后可以从一个用户设备向一个或多个其他用户设备(例如,经由社交媒体,通过或不通过用户编辑)共享增强现实场景的记录部分。因此,第十七实施例提供了一种根据第十六实施例的方法,其中:用户设备是经由网络通信地耦合到第二用户设备的第一用户设备;并且该方法还包括:使得第一用户设备将所显示的增强现实场景的所记录的部分传达给第二设备。
在客户端实现方式的一些示例性实施例中,第十八实施例提供了一种根据第一至第十七实施例中任一项的方法,其中:使得用户设备生成全息图并且显示增强现实场景包括:对由用户设备的相机生成的实况相机数据进行存取,并且生成描绘全息图和实况相机数据中的至少一些实况相机数据的合成视频。
在服务器端实现方式的一些示例性实施例中,第十九实施例提供了一种根据第一至第十七实施例中任一项的方法,其中:使得用户设备生成全息图并且显示增强现实场景包括:使得用户设备对由用户设备的相机生成的实况相机数据进行存取,并且使得用户设备生成描绘全息图和实况相机数据中的至少一些实况相机数据的合成视频。
第二十实施例提供了一种机器可读介质(例如,非暂时性机器可读存储介质),该机器可读介质包括指令,当该指令由机器的一个或多个处理器执行时,使得机器执行以下操作,包括:对目标运动数据进行存取,该目标运动数据描述目标设备的地理位置移动;确定目标运动矢量,该目标运动矢量指示目标设备的目标速度并且指示目标设备正在以目标速度进行移动的目标方向,该目标运动矢量是基于所存取的目标运动数据确定的;确定全息图运动矢量,该全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的全息图的相对方向,该相对速度和相对方向是相对于目标设备的;以及使得用户设备生成全息图并且显示增强现实场景,其中,全息图以基于目标设备的目标速度和全息图的相对速度而确定的全息图速度进行移动,并且全息图在基于目标设备的目标方向和全息图的相对方向而确定的全息图方向上进行移动。
第二十一实施例提供了一种系统(例如,计算机系统),包括:一个或多个处理器;以及存储器,该存储器存储有指令,当该指令由一个或多个处理器中的至少一个处理器执行时,使得系统执行以下操作,包括:对目标运动数据进行存取,该目标运动数据描述目标设备的地理位置移动;确定目标运动矢量,该目标运动矢量指示目标设备的目标速度并且指示目标设备正在以目标速度进行移动的目标方向,该目标运动矢量是基于所存取的目标运动数据确定的;确定全息图运动矢量,该全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的全息图的相对方向,该相对速度和相对方向是相对于目标设备的;以及使得用户设备生成全息图并且显示增强现实场景,其中,全息图以基于目标设备的目标速度和全息图的相对速度而确定的全息图速度进行移动,并且全息图在基于目标设备的目标方向和全息图的相对方向而确定的全息图方向上进行移动。
如上所述,在一些示例性实施例中,为了全息图定位的目的,确定设备之间的相对运动。因此,第二十二实施例提供了一种根据第二十一实施例的系统,其中:所存取的目标运动数据描述目标设备相对于行星表面的地理位置移动;并且该操作还包括:对用户运动数据进行存取,该用户运动数据描述用户设备相对于行星表面的地理位置移动;并且其中对目标运动矢量的确定还基于所存取的用户运动数据,并且对目标运动矢量的确定还确定相对目标运动矢量,该相对目标运动矢量指示目标设备相对于用户设备的相对目标速度并且指示目标设备相对于用户设备的相对目标方向;全息图速度是全息图相对于用户设备的相对全息图速度,并且全息图速度是基于目标设备相对于用户设备的相对目标速度确定的;以及全息图方向是全息图相对于用户设备的相对全息图方向,并且全息图方向是基于目标设备相对于用户设备的相对目标方向确定的。
第二十三实施例提供了一种承载介质,该承载介质承载机器可读指令,该机器可读指令用于控制机器来执行第一至第十九实施例中任一项的方法。

Claims (22)

1.一种方法,包括:
通过一个或多个处理器对目标运动数据进行存取,所述目标运动数据描述目标设备的地理位置移动;
通过所述一个或多个处理器来确定目标运动矢量,所述目标运动矢量指示所述目标设备的目标速度并且指示所述目标设备正在以所述目标速度进行移动的目标方向,所述目标运动矢量是基于所存取的目标运动数据确定的;
通过所述一个或多个处理器来确定全息图运动矢量,所述全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的所述全息图的相对方向,所述相对速度和所述相对方向是相对于所述目标设备的;以及
通过所述一个或多个处理器使得用户设备生成所述全息图并且显示增强现实场景,其中,所述全息图以基于所述目标设备的目标速度和所述全息图的相对速度而确定的全息图速度进行移动,并且所述全息图在基于所述目标设备的目标方向和所述全息图的相对方向而确定的全息图方向上进行移动。
2.根据权利要求1所述的方法,其中:
所存取的目标运动数据描述所述目标设备相对于行星表面的地理位置移动;并且
所述方法还包括:
对用户运动数据进行存取,所述用户运动数据描述所述用户设备相对于所述行星表面的地理位置移动;并且其中
对所述目标运动矢量的确定还基于所存取的用户运动数据,并且对所述目标运动矢量的确定还确定相对目标运动矢量,所述相对目标运动矢量指示所述目标设备相对于所述用户设备的相对目标速度,并且指示所述目标设备相对于所述用户设备的相对目标方向;
所述全息图速度是所述全息图相对于所述用户设备的相对全息图速度,并且所述全息图速度是基于所述目标设备相对于所述用户设备的相对目标速度确定的;并且
所述全息图方向是所述全息图相对于所述用户设备的相对全息图方向,并且所述全息图方向是基于所述目标设备相对于所述用户设备的相对目标方向确定的。
3.根据权利要求1所述的方法,其中:
所存取的目标运动数据描述所述目标设备相对于行星表面的地理位置移动;
所述全息图的全息图速度是相对于所述行星表面的;并且
所述全息图的全息图方向是相对于所述行星表面的。
4.根据权利要求1所述的方法,其中:
对所述全息图运动矢量的确定包括通过以下步骤来确定相对全息图运动矢量:
基于所述目标设备的目标速度和所述全息图的相对速度,确定所述全息图的全息图速度;以及
基于所述目标设备的目标方向和所述全息图的相对方向,确定所述全息图的全息图方向。
5.根据权利要求1-4中任一项所述的方法,还包括:
确定所述用户设备的相机的视野;并且其中
使得所述用户设备显示所述增强现实场景包括:使得所述用户设备在所确定的所述用户设备的相机的视野内显示所生成的全息图。
6.根据权利要求5所述的方法,还包括:
对目标位置数据进行存取,所述目标位置数据描述所述目标设备的地理位置;以及
检测到所述目标设备的地理位置在所述用户设备的相机的视野内;并且其中
使得所述用户设备显示所述增强现实场景包括:基于在所确定的所述用户设备的相机的视野内检测到的所述目标设备的地理位置,使得所述用户设备在所述增强现实场景内包含所述目标设备的地理位置。
7.根据权利要求5所述的方法,还包括:
对目标位置数据进行存取,所述目标位置数据描述所述目标设备的地理位置;
检测到所述目标设备在所述用户设备的相机的视野之外;并且其中
使得所述用户设备显示所述增强现实场景包括:基于在所确定的所述用户设备的相机的视野之外检测到的所述目标设备的地理位置,使得所述用户设备从所述增强现实场景中省略所述目标设备的地理位置。
8.根据权利要求1-4中任一项所述的方法,其中:
使得所述用户设备显示所述增强现实场景包括:使得所述用户设备显示基于所述目标设备正在移动的所述目标方向而取向的全息图。
9.根据权利要求8所述的方法,还包括:
确定全息图取向矢量,所述全息图取向矢量指示所述全息图相对于所述目标设备正在移动的所述目标方向的相对取向;并且其中
使得所述用户设备显示所述增强现实场景包括:使得所述用户设备显示进一步基于所述全息图相对于所述目标设备正在移动的所述目标方向的相对取向而取向的全息图。
10.根据权利要求1-4中任一项所述的方法,其中:
所述全息图被包括在全息图的组中;
确定所述全息图的全息图运动矢量被执行为确定全息图运动矢量的组的部分,每个全息图运动矢量分别与全息图的所述组中的不同全息图相对应;并且
使得所述用户设备显示所述增强现实场景包括:使得所述用户设备显示全息图的所述组,所述组中的每个全息图基于其相应的所确定的全息图运动矢量被显示。
11.根据权利要求10所述的方法,还包括:
确定全息图取向矢量的组,每个全息图取向矢量指示全息图的所述组中的不同全息图的相应相对取向,每个相对取向是相对于所述目标设备正在移动的所述目标方向的;并且其中
使得所述用户设备显示全息图的所述组包括:使得所述组中的每个全息图基于其相对于所述目标设备正在移动的所述目标方向的相应相对取向而取向。
12.根据权利要求1-4中任一项所述的方法,还包括:
对目标位置数据进行存取,所述目标位置数据描述所述目标设备的地理位置;以及
确定相对偏移矢量,所述相对偏移矢量指示所述全息图的相对偏移距离并且指示所述全息图的相对偏移方向;并且其中
使得所述用户设备显示所述增强现实场景包括:使得所述用户设备在远离所述目标设备的地理位置的所述相对偏移距离处并且在相对于所述目标设备正在移动的所述目标方向的所述相对偏移方向上显示所述全息图。
13.根据权利要求12所述的方法,其中:
对所述相对偏移矢量的确定包括:
从全息图数据库中对所述全息图的相对偏移距离进行存取,所述全息图数据库使得所述相对偏移距离与所述全息图相关联;以及
从所述全息图数据库中对所述全息图的相对偏移方向进行存取,所述全息图数据库使得所述相对偏移方向与所述全息图相关联。
14.根据权利要求1-4中任一项所述的方法,其中:
对所述全息图运动矢量的确定包括:
从全息图数据库中对所述全息图的相对速度进行存取,所述全息图数据库使得所述相对速度与所述全息图相关联;以及
从所述全息图数据库中对所述全息图的相对方向进行存取,所述全息图数据库使得所述相对方向与所述全息图相关联。
15.根据权利要求1-4中任一项所述的方法,其中:
所述用户设备是经由网络通信地耦合到第二用户设备的第一用户设备;并且所述方法还包括:
使得所述第一用户设备将所显示的增强现实场景的至少一部分传送到所述第二设备,所传送的部分描绘以基于所述目标设备的目标速度和所述全息图的相对速度而确定的所述全息图速度进行移动的所述全息图,并且所传送的部分描绘在基于所述目标设备的目标方向和所述全息图的相对方向而确定的所述全息图方向上进行移动的所述全息图。
16.根据权利要求1-4中任一项所述的方法,还包括:
使得所述用户设备记录所显示的增强现实场景的至少一部分,所记录的部分描绘以基于所述目标设备的目标速度和所述全息图的相对速度而确定的所述全息图速度进行移动的所述全息图,并且所记录的部分描绘在基于所述目标设备的目标方向和所述全息图的相对方向而确定的所述全息图方向上进行移动的所述全息图。
17.根据权利要求16所述的方法,其中:
所述用户设备是经由网络通信地耦合到第二用户设备的第一用户设备;并且所述方法还包括:
使得所述第一用户设备将所显示的增强现实场景的所记录的部分传达给所述第二设备。
18.根据权利要求1-4中任一项所述的方法,其中:
使得所述用户设备生成所述全息图并且显示所述增强现实场景包括:对由所述用户设备的相机生成的实况相机数据进行存取,并且生成描绘所述全息图和所述实况相机数据中的至少一些实况相机数据的合成视频。
19.根据权利要求1-4中任一项所述的方法,其中:
使得所述用户设备生成所述全息图并且显示所述增强现实场景包括:使得所述用户设备对由所述用户设备的相机生成的实况相机数据进行存取,并且使得所述用户设备生成描绘所述全息图和所述实况相机数据中的至少一些实况相机数据的合成视频。
20.一种机器可读介质,所述机器可读介质包括指令,当所述指令由机器的一个或多个处理器执行时,使得所述机器执行操作,所述操作包括:
对目标运动数据进行存取,所述目标运动数据描述目标设备的地理位置移动;
确定目标运动矢量,所述目标运动矢量指示所述目标设备的目标速度并且指示所述目标设备正在以所述目标速度进行移动的目标方向,所述目标运动矢量是基于所存取的目标运动数据确定的;
确定全息图运动矢量,所述全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的所述全息图的相对方向,所述相对速度和所述相对方向是相对于所述目标设备的;以及
使得用户设备生成所述全息图并且显示增强现实场景,其中,所述全息图以基于所述目标设备的目标速度和所述全息图的相对速度而确定的全息图速度进行移动,并且所述全息图在基于所述目标设备的目标方向和所述全息图的相对方向而确定的全息图方向上进行移动。
21.一种系统,包括:
一个或多个处理器;以及
存储器,所述存储器存储有指令,当所述指令由所述一个或多个处理器中的至少一个处理器执行时,使得所述系统执行操作,所述操作包括:
对目标运动数据进行存取,所述目标运动数据描述目标设备的地理位置移动;
确定目标运动矢量,所述目标运动矢量指示所述目标设备的目标速度并且指示所述目标设备正在以所述目标速度进行移动的目标方向,所述目标运动矢量是基于所存取的目标运动数据确定的;
确定全息图运动矢量,所述全息图运动矢量指示要生成的全息图的相对速度并且指示要生成的所述全息图的相对方向,所述相对速度和所述相对方向是相对于所述目标设备的;以及
使得用户设备生成所述全息图并且显示增强现实场景,其中,所述全息图以基于所述目标设备的目标速度和所述全息图的相对速度而确定的全息图速度进行移动,并且所述全息图在基于所述目标设备的目标方向和所述全息图的相对方向而确定的全息图方向上进行移动。
22.根据权利要求21所述的系统,其中:
所存取的目标运动数据描述所述目标设备相对于行星表面的地理位置移动;并且
所述操作还包括:
对用户运动数据进行存取,所述用户运动数据描述所述用户设备相对于所述行星表面的地理位置移动;并且其中
对所述目标运动矢量的确定还基于所存取的用户运动数据,并且对所述目标运动矢量的确定还确定相对目标运动矢量,所述相对目标运动矢量指示所述目标设备相对于所述用户设备的相对目标速度并且指示所述目标设备相对于所述用户设备的相对目标方向;
所述全息图速度是所述全息图相对于所述用户设备的相对全息图速度,并且所述全息图速度是基于所述目标设备相对于所述用户设备的相对目标速度确定的;并且
所述全息图方向是所述全息图相对于所述用户设备的相对全息图方向,并且所述全息图方向是基于所述目标设备相对于所述用户设备的相对目标方向确定的。
CN201880025438.1A 2017-04-17 2018-04-13 全息图定位 Pending CN110869982A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/489,001 US10545456B2 (en) 2017-04-17 2017-04-17 Hologram location
US15/489,001 2017-04-17
PCT/IB2018/000484 WO2018193305A1 (en) 2017-04-17 2018-04-13 Hologram location

Publications (1)

Publication Number Publication Date
CN110869982A true CN110869982A (zh) 2020-03-06

Family

ID=62713026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880025438.1A Pending CN110869982A (zh) 2017-04-17 2018-04-13 全息图定位

Country Status (5)

Country Link
US (2) US10545456B2 (zh)
EP (1) EP3613021A1 (zh)
JP (1) JP2020517032A (zh)
CN (1) CN110869982A (zh)
WO (1) WO2018193305A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036182B2 (en) 2017-04-17 2021-06-15 8i Limited Hologram location

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11656578B2 (en) * 2020-07-22 2023-05-23 Disney Enterprises, Inc. Holographic imagery for on set eyeline reference
CN114125418A (zh) * 2020-08-25 2022-03-01 陕西红星闪闪网络科技有限公司 一种全息游客服务中心及其实现方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US20150241221A1 (en) * 2014-02-24 2015-08-27 Lockheed Martin Corporation Projected synthetic vision
US20170069122A1 (en) * 2014-05-16 2017-03-09 Naver Corporation Method, system and recording medium for providing augmented reality service and file distribution system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130222371A1 (en) * 2011-08-26 2013-08-29 Reincloud Corporation Enhancing a sensory perception in a field of view of a real-time source within a display screen through augmented reality
US9161167B2 (en) * 2013-01-23 2015-10-13 Qualcomm Incorporated Visual identifier of third party location
US9264479B2 (en) 2013-12-30 2016-02-16 Daqri, Llc Offloading augmented reality processing
JP2016082462A (ja) * 2014-10-20 2016-05-16 セイコーエプソン株式会社 頭部装着型表示装置およびその制御方法、並びにコンピュータープログラム
US10134192B2 (en) * 2016-10-17 2018-11-20 Microsoft Technology Licensing, Llc Generating and displaying a computer generated image on a future pose of a real world object
US10545456B2 (en) 2017-04-17 2020-01-28 8i Limited Hologram location
US11188144B2 (en) * 2018-01-05 2021-11-30 Samsung Electronics Co., Ltd. Method and apparatus to navigate a virtual content displayed by a virtual reality (VR) device
US10824864B2 (en) * 2018-06-25 2020-11-03 Apple Inc. Plane detection using semantic segmentation
JP7331088B2 (ja) * 2018-09-24 2023-08-22 マジック リープ, インコーポレイテッド 3次元モデル共有のための方法およびシステム
US11137874B2 (en) * 2019-02-22 2021-10-05 Microsoft Technology Licensing, Llc Ergonomic mixed reality information delivery system for dynamic workflows

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9024972B1 (en) * 2009-04-01 2015-05-05 Microsoft Technology Licensing, Llc Augmented reality computing with inertial sensors
US20150241221A1 (en) * 2014-02-24 2015-08-27 Lockheed Martin Corporation Projected synthetic vision
US20170069122A1 (en) * 2014-05-16 2017-03-09 Naver Corporation Method, system and recording medium for providing augmented reality service and file distribution system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036182B2 (en) 2017-04-17 2021-06-15 8i Limited Hologram location

Also Published As

Publication number Publication date
JP2020517032A (ja) 2020-06-11
US20200117137A1 (en) 2020-04-16
US20180299828A1 (en) 2018-10-18
EP3613021A1 (en) 2020-02-26
US10545456B2 (en) 2020-01-28
WO2018193305A1 (en) 2018-10-25
US11036182B2 (en) 2021-06-15

Similar Documents

Publication Publication Date Title
EP3095092B1 (en) Method and apparatus for visualization of geo-located media contents in 3d rendering applications
US10311633B2 (en) Method and apparatus for visualization of geo-located media contents in 3D rendering applications
US9761054B2 (en) Augmented reality computing with inertial sensors
US20200250889A1 (en) Augmented reality system
US20180276882A1 (en) Systems and methods for augmented reality art creation
US20100257252A1 (en) Augmented Reality Cloud Computing
US11036182B2 (en) Hologram location
WO2015107263A1 (en) Method and apparatus for evaluating environmental structures for in-situ content augmentation
US9466149B2 (en) Lighting of graphical objects based on environmental conditions
JP2016502712A (ja) 単眼視覚slamのための高速初期化
US20230037750A1 (en) Systems and methods for generating stabilized images of a real environment in artificial reality
Sudarshan Augmented reality in mobile devices
Pryss et al. The AREA framework for location-based smart mobile augmented reality applications
CN111433822B (zh) 增强现实内容的行星规模定位
EP3007136B1 (en) Apparatus and method for generating an augmented reality representation of an acquired image
CN113223012B (zh) 视频处理方法、设备及电子设备
US20240062425A1 (en) Automatic Colorization of Grayscale Stereo Images
US11818474B1 (en) Sparse RGB cameras for image capture
US20230421717A1 (en) Virtual selfie stick
US20230419530A1 (en) Augmented reality image reproduction assistant
US11935203B2 (en) Rotational navigation system in augmented reality environment
Cao et al. Video Stereo Grid Construction Method for Accurate Forest Fire Location
WO2024118948A1 (en) Augmented three-dimensional structure generation
Koubek et al. Augmented reality services
Vasin et al. Clientserver data acquisition subsystem for 3D modeling and subsequent 3D visualization on handheld computers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200306

WD01 Invention patent application deemed withdrawn after publication