[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN113892129A - 创建三维外观的虚拟视差 - Google Patents

创建三维外观的虚拟视差 Download PDF

Info

Publication number
CN113892129A
CN113892129A CN202080039731.0A CN202080039731A CN113892129A CN 113892129 A CN113892129 A CN 113892129A CN 202080039731 A CN202080039731 A CN 202080039731A CN 113892129 A CN113892129 A CN 113892129A
Authority
CN
China
Prior art keywords
computing device
location
image
view
determining
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.)
Granted
Application number
CN202080039731.0A
Other languages
English (en)
Other versions
CN113892129B (zh
Inventor
R·W·阿普伊
S·A·阿拉亚
G·M·拜洛德
J·H·博克特
J·V·海博格
R·W·安德森
R·D·谢尔比
E·特拉潘尼尔
Z·W·肯尼迪
W·A·维戈拉克斯
S·P·欧布莱恩
Y·金
G·S·路易斯
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Priority to CN202210855600.0A priority Critical patent/CN115019005A/zh
Publication of CN113892129A publication Critical patent/CN113892129A/zh
Application granted granted Critical
Publication of CN113892129B publication Critical patent/CN113892129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/367Details, e.g. road map scale, orientation, zooming, illumination, level of detail, scrolling of road map or positioning of current position marker
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3679Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities
    • G01C21/3682Retrieval, searching and output of POI information, e.g. hotels, restaurants, shops, filling stations, parking facilities output of POI information on a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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/04815Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/16Image acquisition using multiple overlapping images; Image stitching

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一些具体实施中,计算设备可模拟虚拟视差以创建三维效果。例如,所述计算设备可获得在特定位置处捕获的图像。捕获到的二维图像可作为纹理应用于捕获位置的三维模型。为了使所述二维图像具有三维外观和感觉,所述计算设备可模拟将用于捕获所述二维图像的相机移动到图像捕获位置周围的不同位置,以生成纹理化三维模型的不同视角,就像被多个不同的相机捕获到一样。因此,可将所述虚拟视差引入到生成的捕获位置的图像中。当所述生成的图像在所述计算设备的显示器上呈现给用户时,即使从单个二维图像生成,所述生成的图像也可具有三维外观和感觉。

Description

创建三维外观的虚拟视差
技术领域
本公开整体涉及生成真实感三维街道场景。
背景技术
导航应用程序是常见的。计算设备的用户调用导航应用程序来呈现地图,这些地图显示街道、建筑物、地标和其他兴趣点的表示。用户可使用导航应用程序来确定去往各种目的地的路线并接收用于导航所选择路线的指令。然而,有时用户需要更多的背景来进行导航。因此,在一些导航应用程序中,用户可提供输入以使得计算设备在地图上呈现目的地、兴趣点(POI)或其他位置的照片。然而,简单的二维图像可能无法提供足够的背景帮助用户进行导航。
发明内容
在一些具体实施中,当在计算设备的显示器上呈现地图视图时,计算设备可呈现动态街道场景叠加。可以呈现动态街道场景,使得用户可清楚地查看动态街道场景叠加和地图视图。动态街道场景可以响应于用户将地图视图操纵到不同位置而动态调整。可以呈现动态街道场景,使得动态街道场景的图像中的对象具有三维外观和感觉。可以呈现动态街道场景,使得动态街道场景不会阻止用户查看地图视图并与其交互。
在一些具体实施中,当在计算设备的显示器上呈现三维动画时,该计算设备可合成图像以改善图像质量。例如,在呈现与第一位置对应的图像时,该计算设备可基于与第一位置和用户选择的第二位置之间的一系列位置相关联的图像来生成动画,以生成模拟从第一位置移动到第二位置街道场景动画。为了生成动画,该计算设备可合成在两个不同位置捕获的图像,以生成与两个不同位置之间的位置相关联的中间视图。图像可以采用这样的方式合成,即在移除每个图像的低质量部分的同时保留每个图像的良好质量部分。
在一些具体实施中,计算设备可模拟虚拟视差以创建三维效果。例如,所述计算设备可获得在特定位置处捕获的图像。捕获到的二维图像可作为纹理应用于捕获位置的三维模型。为了使所述二维图像具有三维外观和感觉,所述计算设备可模拟将用于捕获所述二维图像的相机移动到图像捕获位置周围的不同位置,以生成纹理化三维模型的不同视角,就像被多个不同的相机捕获到一样。因此,可将所述虚拟视差引入到生成的捕获位置的图像中。当所述生成的图像在所述计算设备的显示器上呈现给用户时,即使从单个二维图像生成,所述生成的图像也可具有三维外观和感觉。
特定具体实施提供了至少以下优点。动态街道场景叠加允许用户与地图位置的真实感街道级视图交互和/或查看地图位置的真实感街道级视图,同时查看描绘对应地图区域或位置的地图和/或与描绘对应地图区域或位置的地图交互。通过同时访问动态街道场景叠加和地图,用户能够更好地理解特定地图位置的背景,并且可减少在使用对应导航应用程序时使用将丢失的可能性。此外,通过在合成图像时从描绘相同对象和/或视角的两个不同图像中选择最佳质量像素,可改善所得合成图像的质量,从而改善与此类合成图像交互时的用户体验。通过基于虚拟图像捕获设备的虚拟位置将视差效应引入到单个二维图像中,用户设备可在二维图像中创建三维效果,而无需花费多个实景图像捕获设备,并且无需使用处理和/或组合来自多个图像捕获设备(例如,相机)的多个图像所需的计算资源。
在下面的附图和具体实施方式中阐述了一种或多种具体实施的细节。其他特征、方面和潜在优点将在具体实施方式和附图以及权利要求书中显而易见。
附图说明
图1是用于呈现动态街道场景叠加、合成图像以改善图像质量和/或引入虚拟视差以创建三维外观的示例性系统的框图。
图2示出了用于在用户设备的显示器上呈现地图视图的示例性图形用户界面。
图3示出了用于呈现动态街道场景叠加的示例性图形用户界面。
图4是表示在导航地图视图时GUI的改变的图示。
图5示出了用于呈现与所选择兴趣点相关的动态街道场景叠加的示例性图形用户界面。
图6示出了用于呈现最小化的动态街道场景叠加的示例性图形用户界面。
图7示出了用于呈现标牌的最大化视图的示例性图形用户界面。
图8示出了用于同时呈现标牌的最大化视图以及动态街道场景叠加的示例性图形用户界面。
图9示出了用于呈现动态街道场景叠加的最大化视图的示例性图形用户界面。
图10示出了用于从动态街道场景叠加中选择兴趣点的示例性图形用户界面。
图11是用于合成图像以改善图像质量的示例性过程的图示。
图12是如何生成中间视图的概念图示。
图13是用于将转换图像合成中间视图的过程的图示。
图14是示出了用于在生成真实感动画时获得捕获点数据的示例性过程的系统交互图,该真实感动画模拟将虚拟设备从一个图像捕获点移动到另一个图像捕获点。
图15是生成虚拟视差以产生三维效果的概念图示。
图16是用于呈现动态街道场景叠加的示例过程的流程图。
图17是用于合成图像以改善图像质量的示例性过程的流程图。
图18是用于生成虚拟视差以创建三维外观的示例性过程的流程图。
图19是可实现图1至图18的特征和过程的示例性计算设备的框图。
各个附图中的类似参考符号指示类似的元素。
具体实施方式
图1是用于呈现动态街道场景叠加、合成图像以改善图像质量和/或引入虚拟视差以创建三维外观的示例性系统100的框图。
系统100可包括用户设备102。例如,用户设备102可以是计算设备,诸如膝上型计算机、平板电脑、移动设备、智能手机、智能手表或其他计算设备。
用户设备102可包括导航应用程序104。例如,导航应用程序104可呈现与各种地理位置、兴趣点等相关联的地图、路线、位置元数据和/或图像(例如,所捕获的照片)。导航应用程序104可从导航服务器(例如,导航服务器120)获得地图数据,该地图数据包括定义地图、地图对象、路线、兴趣点、图像等的数据。例如,地图数据可以作为地图图块被接收,该地图图块包括与相应地图图块对应的地理区域的地图数据。除了别的之外,地图数据可包括定义道路和/或路段的数据、兴趣点和其他位置的元数据、建筑物的三维模型、基础结构和在各个位置找到的其他对象和/或在各个位置捕获的图像。导航应用程序104可通过网络110(例如,局域网、蜂窝数据网络、无线网络、互联网、广域网等)从服务器设备请求与用户设备102频繁访问的位置相关联的地图数据(例如,地图图块)。导航应用程序104可将地图数据存储在地图数据库106中。导航应用程序104可使用存储在地图数据库106中的地图数据和/或从服务器设备120接收的其他地图数据来提供本文所描述的导航应用程序特征(例如,动态街道场景叠加、合成图像以改善图像质量、和/或引入虚拟视差以创建三维效果)。
在一些具体实施中,系统100可包括服务器设备120。例如,如本文所述,服务器设备120可以是一个或多个计算设备,其被配置为存储、生成地图数据和/或将地图数据提供给各种用户设备。例如,本文参考服务器设备120所描述的功能可由单个计算设备执行或可分布在多个计算设备之间。
在一些具体实施中,服务器设备120可包括导航服务器122。例如,导航服务器122可以是软件服务器,其被配置为获得、生成和/或存储地图数据。例如,导航服务器122可以获得地图数据中包括的各个位置的激光雷达生成点云(例如,限定图像捕获位置附近的对象表面的位置的点)。导航服务器122可使用各个位置的相应点云来为各个位置中的每个位置生成三维模型(例如,三维网格)。导航服务器122可获得在各个位置(例如,捕获位置)捕获的图像,并且使用图像来将纹理添加到三维模型,从而生成表示对应位置的真实感三维图像。例如,可针对特定位置在三维模型的表面上拉伸捕获到的图像(例如,照片、全景照片等)以生成该特定位置的真实感三维视图。该三维模型和纹理(例如,捕获到的图像、拉伸的图像、应用于三维模型的图像等)可存储在服务器设备120上的地图数据库124中并提供给用户设备(例如,用户设备102)以提供本文所描述的各种特征和功能。如下文可能描述的,导航服务器122可以被配置为在地图数据库124中获得、生成和/或存储其他地图数据。
图2示出了用于在用户设备102的显示器上呈现地图视图的示例性图形用户界面200。例如,图形用户界面(GUI)200可由导航应用程序104基于存储在地图数据库106中的地图数据(例如,地图图块)来生成。
在一些具体实施中,GUI 200可包括地图视图202。例如,地图视图202可包括呈现道路、建筑物、兴趣点(例如,POI 204-POI 210)和/或其他地图数据的图形表示的地图。虽然地图视图202可呈现对象(诸如建筑物、桥梁或其他地标)的三维表示,但是地图视图202不包括由地图视图202中的地图所呈现的各个位置、兴趣点等的真实感视图。
在一些具体实施中,GUI 200可包括用于输入搜索条件来查找地点或地址的图形对象212。例如,用户可在文本输入框214中键入地点(例如,企业、地标等)或地址的名称,使得导航应用程序104发起对用户指定的地点或地址的搜索。例如,导航应用程序104可在地图数据库106中搜索与搜索条件匹配的位置(例如,地点)。导航应用程序104可向导航服务器122发送请求,使得导航服务器122搜索匹配搜索条件的位置。在获得与搜索条件对应的地图数据之后,导航应用程序104可呈现与搜索条件匹配的地点列表,并且用户可选择这些地点中的一者使得该地点(例如,地址、兴趣点、地标等)呈现在地图视图202上。
在一些具体实施中,GUI 200可包括用于调用动态街道场景叠加的图形对象216。例如,导航应用程序104可响应于接收到对图形对象216的用户选择而进入动态街道场景模式,并呈现参考下图3描述的动态街道场景叠加。
图3示出了用于呈现动态街道场景叠加的示例性图形用户界面300。例如,如上所述,GUI 300可以由处于动态街道场景模式的导航应用程序104响应于接收到选择图形对象216的用户输入而呈现。当前未选择兴趣点时,可呈现GUI 300。例如,导航应用程序104可响应于接收到对图形对象216的用户选择而进入动态街道场景模式。
在一些具体实施中,GUI 300可包括动态街道场景叠加302。例如,叠加302可以是在地图视图202上呈现的图形对象(例如,窗口、视图、卡片、图形用户界面元素等)。叠加302可以由导航应用程序104响应于接收到选择图形对象216的用户输入而呈现。例如,叠加302可以被动画化以便在地图视图202上滑动。例如,叠加302可以被动画化以便从GUI 300的顶部向下滑动,如箭头306所示。叠加302的尺寸和位置可以设置为使得当用户查看GUI 300时,用户清晰地看到叠加302(以及由叠加302呈现的图像)和地图视图202的一部分,该部分包括当前选择的位置和周围区域。例如,在一些显示器上,叠加302的尺寸和位置可以设置为使得叠加302大约占据显示器的上半部(例如,40%-60%),而地图视图202的包括当前选择的位置的部分大约覆盖显示器的另一半(例如,40%-60%)。
在一些具体实施中,叠加302可包括图像304。例如,图像304可以是与图形对象312对应的地图位置的动态交互式图像。图像304可以是图像或多个图像的组合(例如,全景图像),其在由地图视图202上呈现的图形对象312所识别或指示的地图位置处捕获。图像304可表示或对应于来自所识别的地图位置的特定视角(例如,场景、视图等),如由从图形对象312延伸的视角锥314所指示的。导航应用程序104可从存储在用户设备102上的地图数据库106和/或从服务器设备120获得用于生成GUI 300(以及本文所述的其他GUI)的地图数据,包括位置元数据、图像、三维模型等。
在一些具体实施中,叠加302可呈现动态街道场景。例如,当导航应用程序104接收到对叠加302的用户输入时,导航应用程序104可动态地改变图像304以呈现与图形对象312对应的位置的不同视角(例如,不同视图、场景等)。例如,当通过叠加302接收到用户输入(例如,轻扫触摸输入手势)时,导航应用程序104可使图像304向左、向右、向上或向下平移,以呈现与接收到的输入对应的图形对象312的当前位置的不同视角。与视角的变化相协调,视角锥314可围绕图形对象312旋转,以指示由图像304表示的视角或观察方向的变化。
在一些具体实施中,叠加302可使用虚拟视差来呈现图像304以产生三维效果。例如,如下文所述,导航应用程序104可使用本文所公开的虚拟视差技术来呈现具有三维外观和感觉的图像304。
在一些具体实施中,通过叠加302接收的用户输入可使得导航应用程序104在地图视图202和/或叠加302上呈现新位置。例如,用户可提供选择在图像304中表示的远处位置的输入(例如,轻击),以使导航应用程序104将图形对象312从其当前位置移动到与用户输入对应的新位置。不同图像304可在表示新位置的叠加302中呈现。因此,地图视图202、对应于图形对象312的位置和图像304可基于通过叠加302接收的用户输入而改变。
在一些具体实施中,GUI 300可包括表示当前动态街道场景位置的图形对象312。例如,图形对象312可具有表示或指示导航应用程序104当前处于动态街道场景模式的外观(例如,图标、图像等)。当呈现GUI 300时,图形对象312最初可以位于地图视图202的中心附近的街道级图像捕获点(例如,与捕获街道级图像的实景位置对应的地图位置)。地图视图202内的地图可以移动,以便呈现围绕初始位置的地图区域,其中该初始位置以GUI 300的下部中未被叠加302覆盖的区域为中心。
在一些具体实施中,虽然图形对象312可相对于地图视图202定位在不同位置处,但是图形对象312可以保持在地图视图202和/或GUI 300中的静态位置处。例如,当地图视图202所呈现的地图在图形对象312下方移动以将图形对象312放置在新的地图位置时,图形对象312将保持静止。当地图在图形对象312下方移动时,图形对象312可例如保持在地图视图202内的居中位置(例如,水平地和/或竖直地)。
在一些具体实施中,导航应用程序104可接收关于地图视图202的用户输入以改变GUI 300上呈现的当前位置。例如,用户可向地图视图202提供输入316(例如触摸输入)以移动、滚动或改变地图视图202所呈现的地图的一部分。例如,导航应用程序104可检测指示用户希望向左、向右、向上或向下移动地图的用户输入316(例如,触摸和拖动输入)。随着地图被移动,图形对象312的位置可相对于底层地图发生改变。当图形对象312位于地图上的期望位置上方时,用户可停止用户输入。当导航应用程序104检测到用户输入的停止时,导航应用程序可用不同的图像304来更新叠加302,该不同的图像表示与图形对象312和/或视角锥314对应的当前地图位置。
在一些具体实施中,视角锥314可默认指向GUI 300的顶部。在一些具体实施中,视角锥314可指向地图移动的方向,该地图移动导致当前位置被选择用于在叠加302上呈现。例如,如果用户输入使得图形对象312在地图上向东移动到达其当前地图位置,则视角锥314可指向东方,并且叠加302可呈现来自当前位置的向东视图的对应图像304。
在一些具体实施中,叠加302可包括用于解除叠加302的图形对象310。例如,导航应用程序104可响应于接收到对图形对象310的用户选择而隐藏叠加302并呈现GUI 200。
在一些具体实施中,叠加302可包括用于在叠加302的部分屏幕版本和全屏版本之间转换的图形对象308。例如,当在如图3所示的部分屏幕视图中时,接收选择图形对象308的用户输入可使得导航应用程序104呈现如下图10所示的叠加302的全屏版本。当在如图10所示的全屏视图中时,接收选择图形对象308的用户输入可使得导航应用程序104呈现如图3所示的叠加302的部分屏幕版本。
图4是表示在导航地图视图202时对GUI 300的改变的图示400。例如,图示400包括均对应于单个用户设备102的设备表示402、404和406。设备表示402、404和406中的每个设备表示呈现如上所述的GUI 300,并且在每个地图视图202中呈现地图408的不同部分。
设备表示402可表示由GUI 300呈现的起始点或位置。例如,设备表示402中的图形对象312可对应于地图408上的起始位置。如上所述,图像410(例如,图像304)可呈现起始位置的真实感表示(例如,照片、真实感三维模型等)。当用户向地图视图202或叠加302提供输入以移动地图408时,在地图视图202中呈现的地图408的部分可发生改变(例如,地图可根据用户输入在地图视图202内滚动),然而随着地图被调整,图形对象312将保持在其在图形用户界面和/或设备显示器内的相对位置处。
在一些具体实施中,可以调整图形对象312的表示以指示正在进行地图操纵。例如,图形对象312可被放大、加阴影等,以使图形对象312看起来从地图视图202中的地图408升起或升高,从而指示图形对象312的位置尚未被选择。另外,如设备表示404所示,可移除视角锥314。例如,因为当地图408开始移动时,图形对象312被动画化以从地图408上升起,视角锥314可以被动画化以收缩回到图形对象312中。
在操纵地图时,图形对象312可与图像捕获点不可用的地图位置(例如,捕获街道场景图像的位置)相关联。例如,如设备表示404所示,图形对象312可以呈现在建筑物或其他街道级图像不可用的街道外位置上方。为了指示图形对象312的当前位置的街道级图像和/或地图数据不可用,可以调暗或以其他方式改变图形对象312的外观。类似地,为了指示图形对象312的当前位置的街道级图像和/或地图数据不可用,可以调暗叠加302。在一些具体实施中,当叠加302变暗时,可以不在叠加302中呈现街道级图像412。在一些具体实施中,当叠加302变暗时,可以在叠加302中呈现先前位置的街道级图像410,或者可以呈现一些默认图像412。
一旦地图视图202中的地图408的调整完成,图形对象312就可返回到其较小尺寸,从而使得图形对象312看起来已经被向下放回到地图视图202中的地图402上,如设备表示406所示。此外,当导航应用程序104检测到操纵地图408的用户输入已停止时,导航应用程序104可确定与图形对象312对应的地图位置,如设备表示406所示,并且在未变暗的叠加302中呈现与所确定的地图位置对应的图像414。
如果图形对象312位于不存在街道级图像的地图位置上方(例如,图形对象312不在图像捕获点上方),则导航应用程序104可移动地图408,使得图形对象312被放置在最近的图像捕获点上方。如果图像捕获点不在图形对象312的阈值距离内,则图形对象312可保持在升高的调暗状态(例如,不透明度调暗到40%、35%等),直到用户提供附加输入以移动地图408,使得图形对象312位于街道级图像捕获点处或其附近(例如,具有包括捕获到的街道级图像的地图数据的位置)。
图5示出了用于呈现与所选择兴趣点相关的动态街道场景叠加的示例性图形用户界面500。例如,图形用户界面(GUI)500可由导航应用程序104在用户设备102的显示器上呈现。当导航应用程序104在动态街道场景模式下接收到由GUI 300呈现的选择兴趣点(例如,POI 210)的用户输入时,可以呈现GUI 500。
在一些具体实施中,当导航应用程序104在兴趣点(例如,POI 210)被选择时(例如,已被选择时)接收到选择调用动态街道场景模式(例如,关于图2所描述的)的用户输入时,可以呈现GUI 500。例如,导航应用程序104可以在呈现GUI 200时接收选择POI 210的用户输入,然后接收选择图形对象215以调用动态街道场景模式的用户输入。另选地,导航应用程序104可接收对图形对象212(例如,搜索控件)的用户输入,该用户输入指定针对期望兴趣点的搜索参数。导航应用程序104可以从搜索结果接收对兴趣点的用户选择,然后接收对图形对象216的用户选择,以进入关于兴趣点(例如,POI 210)的动态街道场景模式。
在一些具体实施中,导航应用程序104可修改GUI 300上的所选择的POI 210和与之相关的图形对象的外观(例如,突出显示、放大、改变颜色等),使得用户可快速地从视觉上将所选择的POI 210与GUI 500上呈现的其他兴趣点(例如,POI 208)区分开。
在一些具体实施中,GUI 500可呈现指示与所选择兴趣点相关的街道级图像捕获点的图形对象312。例如,GUI 500可在与捕获用于所选择POI 210的图像的实景位置对应的地图位置处呈现图形对象312。GUI 500可与图形对象312相关联地呈现指向所选择POI 210的视角锥314,以指示图像捕获点和所选择POI 210的相对位置以及捕获POI图像的角度。叠加302最初可以从图形对象312的地图位置以视角锥314表示的角度呈现表示POI 210的图像304(例如,照片、真实感图像等)。用户可如上文参考图3所述与图像304进行交互。例如,用户可以操纵(例如,平移)图像304或与图像304进行交互以使地图视图202呈现不同的位置(例如,不同的POI)。
在一些具体实施中,GUI 500可呈现标牌(placecard)502。例如,标牌502可呈现为最小尺寸,并且可以呈现与所选择POI 210相关的信息。POI信息可包括POI名称(例如,餐厅、建筑物、公园、桥梁、地标等的名称)、POI描述(例如,POI类型,诸如餐厅、地标、公园等)、POI距离(例如,从用户设备102的当前位置到所选择POI)和/或其他POI信息。如图5所示,标牌502在GUI 500的下部处于最小化状态。
图6示出了用于呈现最小化的动态街道场景叠加的示例性图形用户界面500。例如,GUI 500可由导航应用程序104响应于接收到将标牌502扩大到中等尺寸并放在GUI 500上中间显示位置的用户输入而呈现。例如,用户可提供将GUI 500上呈现的最小化标牌502的顶部边缘向上(例如,如虚线箭头602所示)拖动到中间显示位置的输入,以扩大标牌502并使得标牌502呈现与所选择POI 210相关的附加信息(例如,图片、图像、可选择的图形对象等)。
在一些具体实施中,导航应用程序104可将叠加302最小化为标牌502的扩大腾出空间。例如,导航应用程序104可响应于接收到扩大标牌502的用户输入而缩小叠加302的尺寸并将叠加302定位在GUI 600的上角(例如,右上角、左上角等),如最小化的叠加604所示。如上所述,叠加604可为所选择的POI 210呈现相同图像304,尽管是以较小形式呈现的。导航应用程序104可呈现动画,该动画使得较大叠加302看起来收缩到较小叠加604的尺寸。动画可与标牌502的扩大同步或可与之一致。
在一些具体实施中,导航应用程序104可在地图视图202中移动地图,使得所选择的POI 210不被扩大的标牌502覆盖。例如,在标牌502扩大和叠加302最小化的同时,导航应用程序104可将地图朝向GUI 600的顶部移动,使得所选择的POI 210、图形对象312和/或视角锥314不会因将标牌502向上扩大到GUI 600中而被覆盖或遮挡。
在一些具体实施中,当标牌502被最小化时,导航应用程序104可放大叠加604。例如,导航应用程序104可接收将标牌502朝向GUI 600的底部向下拖回的用户输入。随着标牌502被动画化向下朝向GUI 600的底部,叠加604可被动画化以变得更大并且变为叠加302。如图5所示,在标牌502最小化和叠加604扩大的同时,地图视图202可以发生改变以移动地图,使得所选择的POI 210、图形对象312和视角锥314不被较大叠加302遮挡或覆盖。
图7示出了用于呈现标牌的最大化视图的示例性图形用户界面700。例如,GUI 700可由导航应用程序104在用户设备102的显示器上呈现。GUI 700可响应于接收到将标牌502拖动到用户设备102的显示器的顶部的用户输入而被呈现,如箭头702所示。如图7所示,标牌502的最大化(例如,在一些情况下是全屏)视图完全或大部分覆盖地图视图202和/或动态街道场景叠加302/604。
如图7所示,当标牌最大化时,标牌502可呈现附加信息,诸如图像(例如,图片)712-图像720、营业时间730、地址732、联系人信息734(例如,电子邮件地址、电话号码等)和/或网站地址736等。然而,当叠加302/604被遮挡或隐藏时,标牌502可呈现与所选择POI210对应的图像304,该图像应已呈现在叠加302/604上。如上所述,图像304可以是动态图像,因为用户可操纵图像(例如,提供输入以平移图像),并且图像304的呈现可包括下文所述的虚拟视差效应以使图像304看起来是三维图像。
如上所述,当用户完成查看标牌502的最大化视图时,用户可将标牌502向下拖回到中间显示位置以使得导航应用程序104呈现GUI 600,或将标牌502一直向下拖到GUI 700的底部以使得导航应用程序104呈现GUI 500。例如,当从GUI 700转换到GUI 500时,导航应用程序104可呈现GUI 600,然后呈现GUI 500以及上述从GUI 600转换到GUI 500的动画。
图8示出了用于同时呈现标牌的最大化视图以及动态街道场景叠加的示例性图形用户界面800。例如,GUI 800可由导航应用程序104呈现在用户设备102上,该用户设备具有大显示区域(例如,诸如平板电脑、膝上型计算机等)。因为大显示器允许更多区域用于呈现内容,所以导航应用程序104可以呈现标牌502的最大化视图和动态街道场景叠加302,同时仍然在地图视图202中呈现足够的地图,使得用户可以查看当前选择的兴趣点和/或图像捕获点周围的地图区域。
在一些具体实施中,GUI 800可包括标牌502的最大化视图。例如,标牌502的最大化视图可允许导航应用程序104呈现比标牌502的中等尺寸或最小化视图更多的关于所选择兴趣点(例如,POI 210)的信息。如上所述,该POI信息可包括POI名称、POI描述、POI距离、与所选择POI相关的图像710-图像720、工作时间信息730、地址信息732、联系人信息734和/或网站信息736等。GUI 800中的标牌502的最大化视图可与叠加302相对地呈现(例如,在GUI 800的左上角或右上角)。
在一些具体实施中,GUI 800可包括动态街道场景叠加302。例如,当叠加在GUI800中呈现时,叠加302可包括上文和/或下文参考叠加302所述的所有配置和行为。例如,叠加302可包括动态交互式图像304。GUI 800可包括图形对象312,该图形对象指示与捕获图像304的地图位置对应的捕获点位置。GUI 800可包括视角锥314,该视角锥指示来自图形对象312的地图位置的图像304的视角。GUI 800可包括所选择POI 210的强调(例如,突出显示)表示,如上所述。
图9示出了用于呈现动态街道场景叠加302的最大化视图的示例性图形用户界面900。例如,如上所述,响应于接收到对GUI 300、GUI 500或GUI 800上呈现的图形对象308的用户选择,导航应用程序104可在用户设备102的显示器上呈现GUI 900。当叠加最大化时,叠加302可覆盖用户设备102的大部分或全部显示器。例如,在当前未选择兴趣点时,叠加302可覆盖用户设备102的整个显示区域。在当前选择了兴趣点时,叠加302可覆盖用户设备102的整个显示区域,然而,GUI 900还可在叠加302的一部分上呈现标牌502,以呈现与所选择兴趣点相关的信息,如上所述。
在一些具体实施中,叠加302可被动画化以扩大到其最大尺寸。例如,当叠加302以其默认尺寸呈现时(例如,覆盖用户设备102的显示器的大约30%-60%),导航应用程序104可响应于接收到对图形对象308的用户选择而呈现动画,该动画使得叠加302看起来从其在GUI 300或GUI 500的顶部的位置向下生长或扩大以覆盖用户设备102的整个显示器,如箭头902所示。当从较大显示器GUI 800中选择图形对象308时,导航应用程序104可呈现动画,该动画使得叠加302看起来从其在GUI 800的顶角的位置向下和水平地生长或扩大以覆盖用户设备102的整个显示器。
图10示出了用于从动态街道场景叠加中选择兴趣点的示例性图形用户界面1000。例如,GUI 1000可由导航应用程序104在用户设备102的显示器上呈现。GUI 1000可呈现例如动态街道场景叠加302的最大化视图。
在一些具体实施中,动态街道场景叠加302可包括描绘当前选择的地图位置附近的兴趣点(例如,兴趣点或图像捕获点)的图像304。例如,图像304可包括当图像捕获设备位于与所选择地图位置对应的实景位置处时所捕获的建筑物、兴趣点、道路、人行道和其他对象的图像。当导航应用程序呈现在最大化的叠加302中时,导航应用程序104可呈现标识图像304中包括的各种兴趣点(例如,POI 1002-POI 1008)的标签。
导航应用程序104可响应于接收到选择POI标签中的一个标签(例如,POI 1006)的用户输入而在上述各种图形用户界面中将用户选择的POI 1006呈现为当前选择的POI。例如,导航应用程序104可在叠加302中呈现动画,该动画使得图像304模拟从当前兴趣点(例如,POI 1002或与其相关联的图像捕获点)移动到用户选择的兴趣点(例如,POI 1006或与其相关联的图像捕获点)。动画可使用下文公开的图像合成技术来生成。
在一些具体实施中,导航应用程序104可接收通过叠加302选择图像捕获点的用户输入。例如,导航应用程序104可接收对街道、人行道、除与POI标签或POI相关联的区域之外的区域上的位置的用户选择(例如,用户输入1010、用户输入1012、触摸输入等),而非接收所呈现的POI 1002-POI 1008中用户选择的一个POI。导航应用程序104可响应于接收到用户输入而确定最靠近与用户输入相关联的地图位置的图像捕获点,并且将当前选择的地图位置改变为与所确定的图像捕获点相关联的地图位置。导航应用程序104可在叠加302中呈现动画,该动画使得图像304模拟从当前兴趣点(例如,POI 1002或与其相关联的图像捕获点)移动到最靠近用户输入(例如,输入1010和1012等)的所确定的图像捕获点。动画可使用下文公开的图像合成技术来生成。
图11是用于合成图像以改善图像质量的示例性过程的图示1100。例如,当将虚拟设备从当前图像捕获点移动到新选择的图像捕获点(例如,目的地位置)时,用户设备102可生成真实感动画。为此,用户设备102可在沿从当前图像捕获点到目的地图像捕获点的路径的中间位置处生成沿途环境的中间视图。例如,中间视图和/或捕获点视图可以对应于呈现来自对应的中间位置或捕获点位置的真实感三维模型(例如,利用捕获的图像纹理化的模型)的视角的图像。用户设备102可通过呈现包括沿途的一系列中间视图和图像捕获点视图的帧序列来生成真实感动画。当生成表示两个图像捕获点之间的中间位置的图像或视图时,导航应用程序104可组合在两个图像捕获点处捕获的图像的最小失真、最高质量部分(例如,图像捕获点视图)以为每个中间视图(例如,动画帧)生成高质量合成图像。
图示1100包括图像捕获点1104至图像捕获点1110。例如,图像捕获点1104至图像捕获点1110可以与实景位置对应,其中地图数据收集系统(例如,具有相机和传感器的汽车)捕获描述每个图像捕获点附近的建筑物和/或其他对象的图像和几何数据。例如,在每个图像捕获点1104-1110处,地图数据收集系统可以捕获对应于不同视角(例如,视角或角度A、B、C、D等)的图像。地图数据收集系统还可以在图像捕获点1104至图像捕获点1110处和/或其间的位置处使用传感器(例如,激光雷达传感器)来生成测量值(例如,指示相对于图像捕获点的附近对象的表面位置的点云),该测量值表示或对应于附近的对象1140至对象1152(例如,建筑物、树木、汽车、灯柱等)的几何形状。地图数据收集系统还可以使用位置传感器(例如,全球卫星定位系统、基于Wi-Fi的定位系统、基于蜂窝的定位系统等)来确定图像捕获点1104至图像捕获点1110的位置。然后地图数据收集系统可以将为图像捕获点1104至图像捕获点1110收集的数据发送到服务器设备120以进行处理。
在一些具体实施中,服务器设备120可处理针对图像捕获点1104至图像捕获点1110收集的地图数据,以生成每个图像捕获点附近的区域的三维模型。例如,服务器设备120可基于在相应图像捕获点处生成的点云来为图像捕获点1104至图像捕获点1110生成三角形网格。可生成三角形网格以创建每个图像捕获点1104至图像捕获点1110和其间的点以及图像捕获点1104至图像捕获点1110附近的对象(例如,对象1140至对象1152的表面)的三维模型。例如,服务器设备120可组合在图像捕获点1104至图像捕获点1110处生成的点云,并且生成三角形网格以创建由图像捕获点1104至图像捕获点1110和其间的点覆盖的地图区域的三维模型。
在一些具体实施中,服务器设备120可处理为每个图像捕获点1104-1110收集的地图数据,以生成针对每个图像捕获点生成的三维模型的纹理。例如,服务器设备120可在图像捕获点1104至图像捕获点1110处组合为每个视角A、B、C和D捕获的图像以生成每个图像捕获点的全景图像(例如,360度图像)。对应于图像捕获点的该全景图像或其部分可以应用于为图像捕获点生成的三维模型,以将纹理(例如,表示对象、颜色、纹理等的图像)添加到三维模型。服务器设备120可以确定捕获到的图像的哪些部分对应于三维模型的哪些表面,并存储图像部分到模型表面的映射。由于捕获到的图像对应于来自捕获图像的特定图像捕获点的建模表面的特定视角,因此当捕获到的图像应用于(例如,覆盖、涂画等)三维模型的对应表面时,捕获到的图像可以用于提供来自对应图像捕获点的视角的模型的纹理化视图(例如,真实感视图)。来自特定图像捕获点的视角的三维模型的纹理化视图(例如,图像)或真实感视图(例如,图像)在本文中可以被称为图像捕获点视图(例如,图像)。
当向用户设备(例如,用户设备102)发送各个位置的地图数据时,服务器设备120可发送与各个位置对应的地图图块,该地图图块包括地图图块内的每个图像捕获点的位置(例如,纬度和经度)、对应的纹理图像和对应的三维模型以及本文可描述的其他数据。在一些具体实施中,地图图块可包括数据(例如,链接、引用、地址等),该数据指示用户设备102能够在何处获得图像捕获点数据、对应的纹理图像和对应的三维模型或其部分。
在一些具体实施中,用户设备102可生成真实感动画,该真实感动画模拟从一个图像捕获点位置移动到另一图像捕获点位置。例如,如上所述,用户设备102可以呈现与动态街道场景叠加中的当前选择的图像捕获点(例如,第一图像捕获点)相关的图像。用户设备102可接收选择另一图像捕获点或兴趣点(例如,第二图像捕获点)的用户输入。用户设备102(例如,导航应用程序104)可在第一图像捕获点和第二图像捕获点之间的中间位置处生成中间视图,而不是简单地呈现与第一图像捕获点对应的图像然后呈现于第二图像捕获点对应的图像。例如,中间视图可以是三维模型的图像,来自中间位置处虚拟设备(例如,虚拟相机)的视角的对应捕获到的图像将该三维模型纹理化(例如,涂画、着色等)。中间视图可基于与第一图像捕获点和/或第二图像捕获点对应的捕获点视图(例如,应用于三维模型的捕获到的图像)生成,并且根据每个中间位置处虚拟设备的虚拟视角进行转换。用户设备102可依次呈现中间视图以呈现真实感动画,该真实感动画具有在现实世界中从第一图像捕获点的位置移动到第二图像捕获点的位置的外观。
在一些具体实施中,用户设备102可根据用户设备102的帧速率生成中间视图。例如,如果用户设备102的帧速率为每秒120帧(例如,用户设备102可以每秒生成和/或呈现120个视频帧),则用户设备120可每秒生成120个中间视图。因此,如果图像捕获点1006和1008之间的过渡被配置为花费一秒钟,则用户设备102可生成120个中间视图,该中间视图对应于沿着图像捕获点1006和1008之间的路径的120个不同虚拟设备位置(例如,由菱形1112至菱形1128表示的示例性虚拟设备位置)。
在一些具体实施中,用户设备102可基于虚拟设备从第一图像捕获点到第二图像捕获点的行进方向来生成中间视图。例如,当虚拟地将虚拟设备从图像捕获点1004移动到图像捕获点1110时,因为虚拟设备在图11中向右上方移动,用户设备102可使用与每个图像捕获点1004至图像捕获点1110处捕获到的图像A和图像B(例如,指向行进方向的捕获图像)对应的捕获点视图或其部分来生成虚拟设备位置1112至虚拟设备位置1128的中间视图。
当将虚拟设备在若干不同的图像捕获点之间移动时,用户设备102可使用与不同图像捕获点对应的捕获点视图来生成中间视图1112至中间视图1128。例如,当前图像捕获点可以是图像捕获点1104。用户可选择图像捕获点1110作为新的图像捕获点以呈现在用户设备102的显示器上。当虚拟用户设备在图像捕获点1104和图像捕获点1110之间移动时,虚拟设备还经过或穿过过渡图像捕获点1106和过渡图像捕获点1108。为了生成每个图像捕获点之间的中间视图,导航应用程序104可使用与最近的图像捕获点相关联的捕获点视图或其部分。例如,为了生成中间视图1112至中间视图1116,导航应用程序104可使用与图像捕获点1104和1106相关联的捕获点视图。为了生成中间视图1118至中间视图1122,导航应用程序104可使用与过渡图像捕获点1106和1108相关联的捕获点视图。为了生成中间视图1124至中间视图1128,导航应用程序104可使用与图像捕获点1108和1110相关联的捕获点视图。
图12是如何生成中间视图的概念图示1200。例如,用户设备102上的导航应用程序104可转换和/或组合为捕获点生成的捕获点视图,以生成捕获点之间的中间视图。
图示1200包括图像捕获点1202和图像捕获点1204。图示1200包括虚拟设备位置1206,其中导航应用程序104可生成图像捕获点1202和图像捕获点1204之间的中间视图。为虚拟设备位置1206生成的中间视图可包括来自虚拟设备位置1206的视角的和/或基于虚拟设备的行进方向的街道级视图。在该示例中,行进方向是从图像捕获点1202到图像捕获点1204。因此,在每个中间位置处虚拟设备的视角可大致在图像捕获点1204的方向上。在随后的示例中,虚拟设备位置1206(例如,中间位置1206)的虚拟设备的视角可对应于视角锥1208。因此,为虚拟设备位置1206生成的中间视图可包括三维模型表面1208和1210(例如,对应于虚拟设备位置1206附近的建筑物)。
当生成虚拟设备位置1206的中间视图时,导航应用程序104可将对应于捕获点1202的捕获点视图转换成表示虚拟设备位置1206处虚拟设备的视角的已转换视图。例如,用户设备102可获得对应于捕获点1202的捕获点视图。当虚拟设备从捕获点1202行进到捕获点1204时,用户设备102可获得与虚拟设备位置1206处虚拟设备的视角(例如,如视角锥1208所示)对应的捕获点视图的部分。例如,用户设备102可获得对应于捕获点1202的捕获点视图的部分,该捕获点视图的部分包括三维模型表面1208和1210以及在捕获点1202处捕获的图像(例如,1202A)的应用部分。用户设备102可转换与表面1208和1210的捕获点视图以及虚拟设备的视角中其他对象相关联的三维模型,使得其对应于或表示来自虚拟设备位置1206处虚拟设备的视角的表面1208和1210的视图。
用户设备102可将与应用于三维模型的转换类似或相同的转换应用于在捕获点1202处生成捕获点视图的捕获到的图像(例如,纹理图像),使得在三维模型已被转换以表示虚拟设备位置1206处虚拟设备的视角之后,图像仍然覆盖三维模型的表面。在一些情况下,当三维模型的转换增加了表面1208和/或1210的表面积时,用户设备102可拉伸(例如,添加像素、倍增像素、重复像素等)纹理图像以覆盖已转换三维模型的扩大表面。在其他情况下,当三维模型的转换减小了表面1208和/或1210的表面积时,用户设备102可压缩(例如,移除像素)纹理图像。在其他情况下,当三维模型的转换暴露了对应于捕获点1202的捕获点视图中未表示的表面时,用户设备102可以添加空白或黑色像素以覆盖已转换三维模型的暴露表面。因此,用户设备102可基于对应于捕获点1202的捕获点视图来生成表示虚拟设备位置1206处虚拟设备的视角的第一转换视图。
当生成虚拟设备位置1206的中间视图时,导航应用程序104可将对应于捕获点1204的捕获点视图转换成已转换视图,该已转换视图表示虚拟设备位置1206处虚拟设备的视角。例如,用户设备102可获得对应于捕获点1204的捕获点视图。当虚拟设备从捕获点1202行进到捕获点1204时,用户设备102可获得与虚拟设备位置1206处虚拟设备的视角(例如,如视角锥1208所示)对应的捕获点视图的部分。例如,用户设备102可获得对应于捕获点1204的捕获点视图的部分,该捕获点视图的部分包括三维模型表面1208和1210以及在捕获点1204处捕获的图像(例如,1204D、1204C)的应用部分。用户设备102可转换与表面1208和1210的捕获点视图以及虚拟设备的视角中其他对象相关联的三维模型,使得其对应于或表示来自虚拟设备位置1206处虚拟设备的视角的表面1208和1210的视图。
用户设备102可将与应用于三维模型的转换类似的转换应用于在捕获点1204处用于生成捕获点视图的捕获到的图像(例如,纹理图像),使得在三维模型已被转换以表示虚拟设备位置1206处虚拟设备的视角之后,图像仍然覆盖三维模型的表面。在一些情况下,当三维模型的转换增加了表面1208和/或1210的表面积时,用户设备102可拉伸(例如,添加像素、倍增像素、重复像素等)纹理图像以覆盖已转换三维模型的扩大表面。在其他情况下,当三维模型的转换减小了表面1208和/或1210的表面积时,用户设备102可压缩(例如,移除像素)纹理图像。在其他情况下,当三维模型的转换暴露了对应于捕获点1204的捕获点视图中未表示的表面(例如,相对于捕获点1204的表面1208)时,用户设备102可添加空白或黑色像素以覆盖已转换三维模型的暴露表面。因此,用户设备102可基于对应于捕获点1204的捕获点视图来生成表示虚拟设备位置1206处虚拟设备的视角的第二转换视图。
在一些具体实施中,在第一转换视图和第二转换视图中表示的已转换三维模型可以是相同的。例如,由于在生成用于生成三维模型的点云和网格时测量相同的实景对象(例如,表面1208、表面1210等),因此从捕获点1202和捕获点1204的视角进行转换之后,不管起始捕获点如何,来自虚拟设备位置1206的模型的视角应当相同。然而,由于从不同捕获点1202和1204捕获的关于模型的图像可以是显著不同的,因此这些图像的转换可产生质量大不相同的图像,这取决于在转换期间图像已经被拉伸、压缩或以其他方式改变多少来生成相应的转换视图。
如上所述,当基于捕获点视图生成转换视图时,导航应用程序104可拉伸纹理图像的部分以覆盖三维模型的对应表面。例如,捕获点视图相对于三维模型中的对象表面的视角越偏离对象表面(例如,表面1210)90度,导航应用程序104可能越需要在转换模型时拉伸对应纹理图像的一部分以覆盖三维模型的对应表面。为了拉伸图像或其部分,当对应的纹理图像(例如,捕获到的图像)还未包括足够的像素以覆盖三维模型的表面时,导航应用程序104可复制或倍增某些像素。例如,从捕获点1202到表面1208的视角不是处于非常极端的角度(例如,与表面1208偏差约90度),并且因此,当从捕获点1202的视角转换到虚拟设备位置1206处虚拟设备的视角时,应用于表面1208的纹理图像可能不需要太多拉伸。相比之下,从捕获点1202到表面1210的视角处于相当极端的角度(例如,与表面1210偏差远非90度),因此,当从捕获点1202的视角转换到虚拟设备位置1206处虚拟设备的视角时,应用于表面1210的纹理图像可能需要大量拉伸。
对于每个转换视图,导航应用程序104可为转换视图中的转换图像的每个像素生成质量分数,该质量分数指示转换图像中像素的质量。在一些具体实施中,导航应用程序104可基于在生成转换视图时导航应用程序104必须在像素位置处执行的拉伸量来确定质量分数。例如,执行的拉伸越多,分数越低。执行的拉伸越少,分数越高。在一些具体实施中,导航应用程序104可基于在生成转换视图时导航应用程序104必须在像素位置处执行的压缩量来确定质量分数。例如,执行的压缩越多,分数越低。执行的压缩越少,分数越高。在一些具体实施中,导航应用程序104可基于像素是空白像素还是黑色像素来确定质量分数。例如,空白或黑色像素可指示该像素对应于在转换视图所基于的捕获点视图中不可见的表面。因此,空白或黑色像素不应当用于生成虚拟设备位置1206的中间视图。因此,空白或黑色像素可被赋予零质量分数,其指示像素不应当用于中间视图中。
在一些具体实施中,可基于虚拟设备位置1206与对应图像捕获点(例如,图像捕获点1202或1204)之间的距离来计算加权像素质量分数。例如,图像捕获点离虚拟设备位置越远,将捕获点视图转换成对应于虚拟设备位置的转换视图所需的转换就越大。所需的转换越大,则所得的转换视图的质量可能越低。因此,可对转换视图和其中的图像像素进行加权,以向与更靠近虚拟设备位置的图像捕获位置对应的转换视图赋予更多权重。因此,在图示1200中,与对应于捕获点1204的转换视图和其中的像素相比,对应于捕获点1202的转换视图和其中的像素可被赋予更高的权重(例如,像素质量分数乘数),该捕获点相比图像捕获点1202距离虚拟设备位置1206更远。
图13是用于将转换图像合成为中间视图的过程的图示1300。例如,图示1300描绘了用于将上述第一转换图像和第二转换图像(例如,基于捕获点1202和1204处的捕获点视图)合成或组合成与虚拟设备位置1206处虚拟设备的视角对应的中间视图的机制。
图示1300包括基于对应于捕获点1202的捕获点视图生成的转换视图1302。例如,如上所述,转换视图1302(例如,图像)可包括表示表面1208和1210的转换图像。转换视图1302中的每个像素可具有对应的质量分数(例如,未加权质量分数、加权质量分数等),如像素质量图1304所示。例如,由斜线着色的区域中的像素(例如,在表面1210上)表示对应的像素质量分数相对较低的区域(例如,相对于转换视图1306)。未填充有斜线的区域中的像素表示对应的像素质量分数相对较高的区域(例如,相对于转换视图1306)。
图示1300包括基于对应于捕获点1204的捕获点视图生成的转换视图1306。例如,如上所述,转换视图1306(例如,图像)可包括表示表面1208和表面1210的转换图像。转换视图1306中的每个像素可具有对应的质量分数(例如,未加权质量分数、加权质量分数等),如像素质量图1308所示。例如,由斜线着色的区域中的像素(例如,在表面1208上)表示对应的像素质量分数相对较低的区域(例如,相对于转换视图1302)。未填充有斜线的区域中的像素表示对应的像素质量分数相对较高的区域(例如,相对于转换视图1302)。
在一些具体实施中,导航应用程序104可基于像素质量分数将转换视图1302和转换视图1306组合或复合成虚拟设备位置1206的中间视图1310。例如,为了为中间视图1310选择最佳质量图像或其部分,导航应用程序可比较来自转换视图1302和转换视图1306的对应像素(例如,在转换视图1302和转换视图1306中的相同位置处)以确定两个对应像素中的哪一个具有最高质量分数。然后导航应用程序104可选择质量最高的对应像素以包括在中间视图1310中。例如,导航应用程序104可比较转换视图1302和转换视图1306中的每个像素的像素质量分数,并且确定与转换视图1306相比,转换视图1302为表面1208提供质量更高的像素。类似地,导航应用程序104可比较转换视图1302和转换视图1306中的每个像素的像素质量分数,并且确定与转换视图1306相比,转换视图1306为表面1210提供质量更高的像素。基于这些像素质量确定,导航应用程序104可通过包括来自转换视图1302的与表面1208对应的图像/像素以及通过包括来自转换视图1306的与表面1210对应的图像/像素来生成中间视图1310。
在一些具体实施中,导航应用程序104可生成转换视图1302和转换视图1306的模糊版本。例如,当转换视图1302和转换视图1306中的对应像素的像素质量分数都低(例如,低于某个阈值)时,导航应用程序104可使用来自转换视图1302和转换视图1306的模糊版本的像素来生成中间视图1310中的对应像素。导航应用程序104可基于虚拟设备位置与生成转换视图的相应图像捕获点的位置之间的距离来在模糊转换视图1302和模糊转换视图1306的像素之间进行选择。例如,可选择来自对应于最靠近虚拟设备位置的图像捕获点的模糊转换视图的像素,并将其包括在中间视图1310中。
图14是示出了用于在生成真实感动画时获得捕获点数据的示例性过程1400的系统交互图,该真实感动画模拟将虚拟设备从一个图像捕获点移动到另一个图像捕获点。例如,可执行过程1400以获得捕获到的图像和与沿着两个所选择的捕获点之间的路径的捕获点相关联的三维模型。
在步骤1402处,用户设备102可请求地图图块。例如,用户设备102可针对用户设备102的当前位置、经常访问的位置和/或附近位置从服务器设备120请求地图图块(例如,由地理区域界定的地图数据)。地图图块请求可包括识别这些位置的信息。
在步骤1404处,用户设备102可接收地图图块。例如,用户设备102可从服务器设备120接收对应于所请求的位置的地图图块。例如,服务器设备120可确定哪些地图图块对应于所请求的位置并将所确定的地图图块发送至用户设备102。地图图块可包括对应于地图图块的地理区域内的图像捕获点位置的图像捕获点数据信息。每个图像捕获点位置的图像捕获点数据可包括图像捕获点的位置、在图像捕获点捕获的图像、图像捕获点附近区域的三维模型、和/或如本文可描述的其它数据。在一些具体实施中,地图图块中的图像捕获点数据可包括链接、引用、地址等,它们指示用户设备102可获得或下载对应图像捕获点数据的位置。例如,图像捕获点数据可包括到存储在服务器设备(例如,服务器设备120)上的图像和/或三维模型数据的链接,而不包括图像和/或三维模型数据。
在步骤1406处,用户设备102可接收选择目的地位置的输入。例如,用户设备102可呈现对应于当前选择的图像捕获点位置的图像、兴趣点数据等。用户可能希望查看不同的图像捕获点或兴趣点,并且可提供选择新位置的输入以在用户设备102的显示器上查看。用户设备102可确定最靠近所选择的新位置的图像捕获点,并且选择所确定的图像捕获点作为目的地位置。
在步骤1408处,用户设备102可请求目的地图像捕获点位置的视图数据。例如,用户设备102可确定包括目的地位置的地图图块,并且从地图图块获得用于下载目的地位置的图像捕获点视图数据(例如,捕获到的图像、三维模型等)的信息(例如,链接、地址等)。例如,用户设备102可从服务器设备120请求目的地位置的图像捕获点视图数据。
在步骤1410处,用户设备102可请求过渡图像捕获点位置的视图数据。例如,用户设备102可沿着当前图像捕获点位置和目的地图像捕获点位置之间的路径确定位于当前图像捕获点位置和目的地图像捕获点位置之间的过渡图像捕获点。用户设备102可确定包括过渡图像捕获点位置的地图图块,并且从地图图块获得用于下载每个过渡图像捕获点位置的图像捕获点视图数据(例如,捕获到的图像、三维模型等)的信息(例如,链接、地址等)。例如,用户设备102可根据虚拟设备在通过路径时将首先遇到哪些过渡图像捕获点位置,按顺序从服务器设备120请求过渡图像捕获点位置的图像捕获点视图数据。
在步骤1412处,用户设备102可接收目的地位置的图像捕获点数据。例如,服务器设备120可向用户设备102发送所请求的目的地位置的图像捕获点数据(例如,捕获到的图像、纹理图像、三维模型等)。
在步骤1414处,用户设备102可发起从当前图像捕获点位置到目的地图像捕获点位置的移动动画。例如,用户设备102可基于当前图像捕获点位置和目的地图像捕获点位置的图像捕获点视图数据开始生成第一中间虚拟设备位置的中间视图,而不是等待接收第一过渡图像捕获点位置的图像捕获点视图数据。如果在步骤1414完成之前未接收到其他图像接入点位置的附加接入点视图数据,则用户设备102可在用户设备102的显示器上呈现生成的中间视图以开始移动动画。
在步骤1416处,用户设备102可接收过渡图像捕获点位置视图数据。例如,用户设备102可接收第一过渡图像捕获点位置的过渡图像捕获点位置视图数据。
在步骤1418处,用户设备102可将过渡图像捕获点位置视图数据合并到移动动画中。例如,在接收到第一过渡图像捕获点位置的过渡图像捕获点位置数据之后,用户设备102可基于每个位置的视图数据生成中间视图序列,该中间视图序列以动画方式显示了当前图像捕获点位置和第一过渡图像捕获点位置之间的移动。当接收到视图数据时,用户设备102可呈现在步骤1418处生成的中间视图,而非在步骤1416生成的中间视图,或在步骤1416生成的中间视图之前呈现。如上所述,当接收到附加过渡图像捕获点位置的视图数据时,用户设备102可基于接收到的视图数据生成对应中间虚拟设备位置的附加中间视图序列。例如,如上文参考图11、图12和图13所述,用户设备102可基于最靠近虚拟设备位置的图像捕获点的可用图像捕获点视图来生成虚拟设备位置的中间视图序列。中间视图序列可根据在当前图像捕获点位置和目的地图像捕获点位置之间穿过的路径按顺序呈现,以生成描绘沿着实景环境中的路径行进的真实感动画。例如,如上所述,用户设备102可在动态街道场景叠加302中呈现移动动画。
在步骤1420处,用户设备120可在移动动画完成时呈现目的地位置图像。例如,如本文所述,用户设备102可呈现描绘目的地图像捕获点位置或兴趣点附近的实景环境的图像。在一些具体实施中,如上所述,用户设备102可在动态街道场景叠加302中呈现图像。在一些具体实施中,用户设备102可使用下文所述的虚拟视差技术来呈现图像。
图15是生成虚拟视差以产生三维效果的概念图示1500。例如,用户设备102可使用单个二维图像和对应三维模型来模拟视差效应,以使二维图像在用户看来是三维的。例如,当在用户设备102的显示器上(例如,在动态街道场景叠加302中)呈现图像捕获点视图时,用户设备102可基于图像捕获点视图生成来自对应图像捕获点的地图位置周围的不同虚拟位置处虚拟设备(例如,虚拟相机)的视角的转换视图。通过呈现包括不同视角的图像捕获点视图的动画(例如,如上所述,应用于与图像捕获点相关联的三维模型的捕获到的图像),用户设备102可将视差引入到图像捕获点视图的呈现中,从而使得图像捕获点视图看起来是三维的。
在一些具体实施中,导航应用程序104可呈现来自图像捕获点位置1502处虚拟设备的视角的图像捕获点视图。如上所述,图像捕获点视图可呈现由实景位置处捕获的图像生成的图像,该实景位置与应用于三维模型的图像捕获点位置1502对应。图15的示例中的三维模型可对对象1504(例如,灯柱、树、人等)和对象1506(例如,建筑物、墙壁、桥梁等)的表面进行建模。如图所示,从定位在捕获点位置1502处的虚拟设备的视角来看,可将对象1504定位在对象1506前面。尽管基于利用对象1504和1506的图像(例如,照片)纹理化的对象1504和1506的三维模型生成对应于图像捕获点位置1502的捕获点视图,但是当用户设备102在用户设备102的显示器上呈现捕获点视图时,该捕获点视图将显现为二维图像。
为了使捕获点视图具有三维外观,用户设备102(例如,导航应用程序104)可通过模拟图像捕获点位置1502周围或附近的多个虚拟图像捕获设备来产生虚拟视差效应。例如,当用户设备102接收到用户输入(例如,上文所述的对叠加302的用户输入)以平移呈现在用户设备102的显示器上的捕获点视图图像时,用户设备102可将虚拟设备的虚拟位置从位置1502移动到虚拟位置1502的侧面和/或后面的附近位置(例如,位置1510至位置1518)。当虚拟设备从位置1502移动时,用户设备102可基于与位置1502对应的图像捕获点视图(例如,捕获到的图像和三维模型)生成表示在虚拟设备移动时虚拟设备的改变视角的转换图像,从而模拟在不同位置处捕获的不同虚拟设备(例如,虚拟相机)的不同视角。
在一些具体实施中,可基于用户设备102的帧速率来生成转换图像。如上所述,用户设备102的帧速率可为每秒120帧。如果将虚拟设备从位置1502移动到位置1510花费一秒,则用户设备102将生成120个转换图像,该转换图像表示当虚拟设备遍历120个位置到达位置1510时虚拟设备关于对象1504和1506的视角变化。通过以所确定的帧速率按顺序呈现包括这些转换图像的每个转换图像的动画,对象1504和1506在每个后续或相邻转换图像内的相对位置将发生改变,从而引入视差效应,并且当虚拟设备关于对象1504和1506的视角随移动而改变时为转换图像或者动画产生三维外观。
在一些具体实施中,虚拟设备的水平移动量可基于用户输入速度。例如,为了使用户设备102生成并呈现转换图像,用户设备102可接收指示用户希望平移对应于捕获点视图的图像的用户输入。例如,用户设备102可检测向左或向右轻扫手势形式的触摸输入。如上所述,用户设备102可响应于检测到触摸输入而将虚拟设备从位置1502向左(例如,朝向位置1510)或向右(例如,朝向位置1518)移动,并且在移动期间生成和呈现转换图像。轻扫手势越快,用户设备102移动虚拟设备的距离将越大。例如,如果用户设备102检测到向左慢速轻扫手势,则用户设备102可将虚拟设备从位置1502缓慢移动到位置1502左侧的第一菱形。如果用户设备102检测到快速向左轻扫手势,则用户设备102可快速地将虚拟设备从位置1502移动到位置1510或移动到距位置1502的最大水平距离。当达到最大水平(例如,横向、平移等)距离时,虚拟设备可保持在最大水平距离处,直到用户输入停止或直到用户输入使得用户设备102在不同的水平方向上移动虚拟设备。当用户设备102不再检测到用户输入时,用户设备102可在一段时间内(例如,1秒、0.5秒等)将虚拟设备移回到位置1502。
在一些具体实施中,虚拟设备的向后移动量可基于用户输入的持续时间。例如,虚拟设备的向后移动(例如,与观察方向相反)可随时间推移累积直到达到最大向后距离。因此,当用户在延长的时间段内提供平移输入时,虚拟设备可逐渐朝向位置1514移动,直到达到最大向后距离。随着用户输入继续,虚拟设备将保持在最大向后距离处,直到用户设备102不再检测到用户输入。当用户设备102不再检测到用户输入时,用户设备102可在一段时间内(例如,1秒、0.5秒等)将虚拟设备移回到位置1502。
在一些具体实施中,用户设备102可基于虚拟设备和图像捕获点视图中的对象之间的距离来动态地调节视差效应。例如,当图像捕获点视图包括虚拟设备附近的对象时,用户设备102可将虚拟设备移动更大的距离,以增加附近对象的视差效应。当图像捕获点视图包括远离虚拟设备的对象时,用户设备102可将虚拟设备移动较小的距离,以减小远处对象的视差效应。
示例性过程
为了使读者能够清楚地理解本文所述的技术概念,以下过程描述了以特定顺序执行的具体步骤。然而,特定过程的一个或多个步骤可以被重新安排和/或省略,同时保持在本文公开的技术的预期范围内。此外,可以组合、重新组合、重新安排、省略和/或并行执行不同的过程和/或其步骤,以创建也在本文公开的技术的预期范围内的不同处理流程。此外,尽管为了清楚起见,下面的过程可以省略或简要概述本文中公开的技术的一些细节,但是以上段落中描述的细节可以与下面描述的过程步骤组合以获得对这些过程和本文所公开的技术的更完整和全面的理解。
图16是用于呈现动态街道场景叠加的示例性过程1600的流程图。例如,用户设备102可执行过程1600以呈现动态街道场景叠加,该动态街道场景叠加允许用户与动态街道场景叠加交互和/或查看动态街道场景叠加中呈现的图像,同时仍然允许用户与对应地图视图交互和/或查看对应地图视图。
在步骤1602处,用户设备102可在用户设备102的图形用户界面上呈现地图视图。例如,地图视图可包括地理区域的地图。
在步骤1604处,用户设备102可以接收调用动态街道场景叠加的输入。例如,用户设备102可接收上文参考图2所述的选择图形对象216的输入。
在步骤1604处,用户设备102可选择第一地图位置。例如,用户设备102可响应于接收到调用动态街道场景叠加的输入而自动选择最靠近地图视图中呈现的地理区域的中心的图像捕获点位置。如果用户设备102先前已接收到选择地图位置(例如,图像捕获点位置、兴趣点等)的用户输入,则用户设备102可选择最靠近用户选择的地图位置的图像捕获点位置。
在步骤1608处,用户设备102可在图形用户界面的第一部分中呈现动态街道场景叠加。例如,动态街道场景叠加图的尺寸可以被设置为使得用户可以容易地看到在动态街道场景叠加中呈现的图像的细节。例如,动态街道场景叠加图的尺寸可以被设置为覆盖图形用户界面的显示区域的25%或更多。由动态街道场景叠加呈现的图像可以是表示第一地图位置的图像。例如,图像可以是表示来自第一位置的实景环境的视角的捕获点视图。如本文所述,图像可以是动态的、可操纵的,并且可呈现三维外观。
在步骤1610处,用户设备102可以移动在地图视图内呈现的地图,以在图形用户界面的第二部分中呈现第一地图位置和周围区域。例如,图形用户界面的第二部分可与图形用户界面的第一部分分开,使得动态街道场景叠加不会遮挡用户的第一地图位置和周围区域的视图。例如,可移动地图视图内的地图将第一地图位置的显示位置(例如,GUI位置)移动到图形用户界面的第二部分的中心,使得用户可以同时查看地图视图中地图上的第一地图位置和动态街道场景叠加。第一地图位置可以在地图视图中利用图形对象来识别,该图形对象指示第一地图位置和由动态街道场景叠加呈现的视角(例如,视角)。
在步骤1612处,用户设备102可接收用户输入以调整在动态街道场景叠加中呈现的图像。例如,用户设备102可以通过动态街道场景叠加接收用户输入以改变由图像呈现的第一位置的视角。用户设备102可以通过动态街道场景叠加接收用户输入以选择第二位置,该第二位置出现在由动态街道场景叠加呈现的图像。如上所述,用户设备102可以通过动态街道场景叠加接收用户输入以平移由动态街道场景叠加呈现的图像,从而触发由图像呈现的视角的三维呈现。
在一些具体实施中,用户设备102可以通过地图视图接收用户输入,该用户输入使得用户设备调整在动态街道场景叠加中呈现的图像。例如,如上所述,用户设备102可接收用户输入以在位置指示符图形对象(例如,图形对象312)下方的地图视图中滚动地图并选择第二位置。用户设备102可以调整在动态街道场景叠加中呈现的图像以表示来自第二位置的实景环境的视角。如本文其他地方可能描述的,用户设备102可以接收用户输入,以其他方式调整在动态街道场景叠加中呈现的图像。
在步骤1614处,用户设备102可修改在动态街道场景叠加中呈现的图像。例如,当继续在图形用户界面的第二部分中呈现地图视图和位置指示符图形对象时,用户设备102可修改在动态街道场景叠加中呈现的图像。如本文其他地方可能描述的,修改可包括呈现第一位置的不同视角、呈现从第一位置移动到第二位置的真实感动画、呈现引入三维效果的第一位置的真实感动画、和/或呈现第二位置的视角等。
图17是用于合成图像以改善图像质量的示例性过程1700的流程图。例如,如上文参考图11至图14所述,用户设备102可执行过程1700,以在生成沿着从第一图像捕获点到第二图像捕获点的路径的虚拟设备位置的中间视图时合成与第一图像捕获点和第二图像捕获点相关联的图像。
在步骤1702处,用户设备102可获得第一转换图像。例如,可基于对应于第一图像捕获点的第一图像捕获点视图来生成第一转换图像。第一图像捕获点视图可以从第一图像捕获点位置观察真实感三维模型的一部分的视角转换为从第一图像捕获点和第二图像捕获点之间的中间位置观察真实感三维模型的一部分的视角。
在步骤1704处,用户设备102可获得第二转换图像。例如,可基于对应于第二图像捕获点的第二图像捕获点视图来生成第二转换图像。第二图像捕获点视图可以从第二图像捕获点位置观察真实感三维模型的一部分的视角转换为从第一图像捕获点和第二图像捕获点之间的中间位置观察真实感三维模型的一部分的视角。
在步骤1706处,用户设备102可确定第一转换图像和第二转换图像中的对应像素。例如,对于第一转换图像中的每个像素,用户设备102可确定第二转换图像中的对应第二像素。
在步骤1708处,用户设备102可将特定第一像素的像素质量分数与特定对应第二像素的像素质量分数进行比较。例如,用户设备102可为第一转换图像和第二转换图像中的每个像素生成质量分数。用户设备102可基于施加到对应转换图像内的像素位置的拉伸量或压缩量来生成质量分数。用户设备102可基于像素是否对应于在生成转换图像的捕获点视图中可见的对应三维模型的表面来生成像素的质量分数。在一些具体实施中,可基于中间位置(例如,虚拟设备位置)和与转换图像相关联的图像捕获点位置之间的距离来对转换图像的质量分数进行加权。
在步骤1710处,用户设备102可将特定第一像素的像素质量分数与特定对应第二像素的像素质量分数进行比较。例如,用户设备102可将第一转换图像中的每个像素的质量分数与第二转换图像中的对应像素的质量分数进行比较。例如,对应像素可以是第二转换图像中的特定像素,该特定像素在第二转换图像中占据与第一转换图像中的特定像素相同的相对位置。
在步骤1712处,用户设备102可基于步骤1710处的比较来在特定第一像素和特定对应第二像素之间进行选择。例如,如果特定第一像素的质量分数高于特定对应第二像素,则用户设备102可选择特定第一像素。然而,如果特定对应第二像素的质量分数高于特定第一像素,则用户设备102可选择特定第一像素。在一些具体实施中,如上所述,如果特定第一像素和特定对应第二像素的质量分数都低于阈值,则可选择模糊像素。用户设备102可对第一转换图像和第二转换图像中的每个对应像素对执行该像素选择操作。
在步骤1714处,用户设备102可基于来自第一转换图像和/或第二转换图像的所选择像素来生成合成图像。例如,用户设备102可通过根据其在第一转换图像和/或第二转换图像中的各自或相对位置将所选择像素包括在合成图像中来生成合成图像。因此,合成图像(例如,中间视图)可表示与第一转换图像和第二转换图像相同的视图,但可包括第一转换图像和/或第二转换图像的最高质量部分,如上所述。
图18是用于生成虚拟视差以创建三维外观的示例性过程1800的流程图。例如,用户设备102可生成过程1800,为一个或多个对象的二维图像产生三维外观。如上文参考图15所述,尽管使用单个二维图像,但是用户设备102可转换二维图像以模拟由不同虚拟图像捕获设备在不同虚拟位置处捕获的一个或多个对象的图像,从而将虚拟视差和对应的三维效果或外观引入二维图像中。
在步骤1802处,用户设备102可从对应于第一图像捕获点的第一位置的视角呈现一个或多个对象的第一视图。例如,第一视图可以是来自第一图像捕获点视角的真实感三维模型的视图(例如,二维图像、图像捕获点视图等)。真实感三维模型可包括各种对象,包括建筑物、树木、路灯柱、汽车等。
在步骤1904处,用户设备102可接收用户输入以修改第一视图。例如,用户设备102可接收用户输入以向左或向右平移第一视图中呈现的图像。
在步骤1906处,用户设备102可从第一位置附近的多个第二位置的视角将第一视图转换为一个或多个对象的多个第二视图。例如,用户设备102可响应于用户输入而确定沿着图像捕获点的第一位置附近的路径或轨迹的多个第二位置(例如,虚拟设备位置)。例如,该路径或轨迹可使得虚拟设备基于接收到的用户输入的类型从图像捕获点向左、向右和/或向后移动。如上所述,用户设备102可基于第一图像捕获点的图像捕获点视图生成来自多个第二位置中的每个第二位置的视角的转换视图。
在步骤1908处,用户设备102可呈现包括第一视图和多个第二视图的动画。例如,当虚拟设备从第一图像捕获点的第一位置移动并返回到第一图像捕获点的第一位置时,用户设备102可呈现包括第一视图和第二视图序列(例如,转换视图)的帧序列。当呈现帧序列(例如,视图序列)时,由于由每个视图表示的视角的变化,动画帧中描绘的对象可能看起来是三维对象。
图形用户界面
本公开在上文描述了用于实现各种特征、过程或工作流的各种图形用户界面(GUI)。这些GUI可被呈现在各种电子设备上,包括但不限于膝上型计算机、台式计算机、计算机终端、电视系统、平板电脑、电子书阅读器和智能电话。这些电子设备中的一者或多者可包括触敏表面。触敏表面可处理多个同时的输入点,包括处理与每个输入点的压力、程度或位置相关的数据。此类处理可促进利用多个手指所进行的手势,该手势包括捏合和轻扫。
当本公开指“选择”GUI中的用户界面元素时,这些术语被理解为包括在用户界面元素上方利用鼠标或其他输入设备来点击或“悬停”,或利用一个或多个手指或触笔来在用户界面元素上触摸、轻击或做手势。用户界面元素可以是虚拟按钮、菜单、选择器、开关、滑动条、刷子、旋钮、缩略图、链接、图标、单选框、复选框和用于从用户接收输入或向用户提供反馈的任何其他机构。
隐私
如上所述,本发明技术的一个方面在于收集和使用可得自各种来源的数据,以改善地图相关数据和/或图像的呈现。本公开预期,在一些实例中,这些所采集的数据可包括唯一地识别或可用于联系或定位特定人员的个人信息数据。此类个人信息数据可包括人口统计数据、基于定位的数据、电话号码、电子邮件地址、twitter ID、家庭地址、与用户的健康或健身等级相关的数据或记录(例如,生命信号测量、药物信息、锻炼信息)、出生日期、或任何其他识别信息或个人信息。
本公开认识到在本发明技术中使用此类个人信息数据可用于使用户受益。例如,该个人信息数据可用于呈现用户感兴趣的位置和位置数据。在一些情况下,可在地图数据和/或图像收集过程中捕获私人信息,诸如人脸、牌照或其他个人识别信息。如本文所述,当在图像和/或照片中捕获私人信息时,该私人信息可被模糊或以其他方式被遮挡,以避免在分发地图数据时分享该私人信息。此外,本公开还预期个人信息数据有益于用户的其他用途。例如,健康和健身数据可用于向用户的总体健康状况提供见解,或者可用作使用技术来追求健康目标的个人的积极反馈。
本公开设想负责采集、分析、公开、传输、存储或其他使用此类个人信息数据的实体将遵守既定的隐私政策和/或隐私实践。具体地,此类实体应当实行并坚持使用被公认为满足或超出对维护个人信息数据的隐私性和安全性的行业或政府要求的隐私政策和实践。用户可以方便地访问此类策略,并应随着数据的采集和/或使用变化而更新。来自用户的个人信息应当被收集用于实体的合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享。此外,此类实体应考虑采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。另外,这种实体可使其本身经受第三方评估以证明其遵守广泛接受的隐私政策和实践。此外,应当调整政策和实践,以便采集和/或访问的特定类型的个人信息数据,并适用于包括管辖范围的具体考虑的适用法律和标准。例如,在美国,对某些健康数据的收集或获取可能受联邦和/或州法律的管辖,诸如健康保险流通和责任法案(HIPAA);而其他国家的健康数据可能受到其他法规和政策的约束并应相应处理。因此,在每个国家应为不同的个人数据类型保持不同的隐私实践。
不管前述情况如何,本公开还预期用户选择性地阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件元件和/或软件元件,以防止或阻止对此类个人信息数据的访问。例如,当呈现地图数据时,本发明技术可被配置为允许用户在注册服务期间或其后随时选择参与采集个人信息数据的“选择加入”或“选择退出”。除了提供“选择加入”和“选择退出”选项外,本公开设想提供与访问或使用个人信息相关的通知。例如,可在下载应用时向用户通知其个人信息数据将被访问,然后就在个人信息数据被应用访问之前再次提醒用户。
此外,本公开的目的是应管理和处理个人信息数据以最小化无意或未经授权访问或使用的风险。一旦不再需要数据,通过限制数据收集和删除数据可最小化风险。此外,并且当适用时,包括在某些健康相关应用程序中,数据去标识可用于保护用户的隐私。可在适当时通过移除特定标识符(例如,出生日期等)、控制所存储数据的量或特异性(例如,在城市级别而不是在地址级别收集位置数据)、控制数据如何被存储(例如,在用户之间聚合数据)、和/或其他方法来促进去标识。
因此,虽然本公开广泛地覆盖了使用个人信息数据来实现一个或多个各种所公开的实施方案,但本公开还预期各种实施方案也可在无需访问此类个人信息数据的情况下被实现。即,本发明技术的各种实施方案不会由于缺少此类个人信息数据的全部或一部分而无法正常进行。例如,可基于非个人信息数据或绝对最小量的个人信息(诸如由与用户相关联的设备所请求的内容、地图服务可用的其他非个人信息或公共可用信息)来呈现地图数据。
示例性系统架构
图19是可实现图1至图18的特征和过程的示例性计算设备1900的框图。计算设备1900可包括存储器接口1902、一个或多个数据处理器、图像处理器和/或中央处理单元1904、以及外围设备接口1906。存储器接口1902、一个或多个处理器1904、和/或外围设备接口1906可以是单独的部件,或者可被集成在一个或多个集成电路中。计算设备1900中的各种部件可由一条或多条通信总线或信号线耦接。
传感器、设备和子系统可耦接到外围设备接口1906以促进多个功能。例如,运动传感器1910、光传感器1912和接近传感器1914可耦接到外围设备接口1906以促进定向、照明和接近功能。其他传感器1916也可连接到外围设备接口1906,诸如全球导航卫星系统(GNSS)(例如,GPS接收器)、温度传感器、生物识别传感器、磁力仪或其他感测设备,以促进相关功能。
可利用相机子系统1920和光学传感器1922(如电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器)来促进相机功能,诸如拍摄照片和视频剪辑。相机子系统1920和光学传感器1922可用于收集要在认证用户期间使用的用户的图像,例如,通过执行面部识别分析。
可通过一个或多个无线通信子系统1924来促进通信功能,这些无线通信子系统可包括射频接收器和发射器和/或光学(例如,红外)接收器和发射器。通信子系统1924的具体设计与实现可取决于计算设备1900旨在通过其操作的通信网络。例如,计算设备1900可包括设计用于通过GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BluetoothTM网络操作的通信子系统1924。具体地,无线通信子系统1924可包括托管协议,使得设备100可被配置作为其他无线设备的基站。
可将音频子系统1926耦接到扬声器1928和麦克风1930以促进支持语音的功能,诸如扬声器识别、语音复制、数字记录和电话功能。音频子系统1926可被配置为促进例如处理语音命令、声纹鉴别和语音认证。
I/O子系统1940可包括触摸表面控制器1942和/或其他输入控制器1944。触摸表面控制器1942可耦接到触摸表面1946。触摸表面1946和触摸表面控制器1942可例如使用多种触敏技术中的任一者来检测接触以及其移动或中断,触敏技术包括但不限于电容性、电阻性、红外和表面声波技术,以及用于确定与触摸表面1946接触的一个或多个点的其他接近传感器阵列或其他元件。
所述一个或多个其他输入控制器1944可耦接到其他输入/控制设备1948,诸如一个或多个按钮、摇臂开关、拇指滚轮、红外线端口、USB端口和/或指针设备(诸如触笔)。一个或多个按钮(未示出)可包括用于扬声器1928和/或麦克风1930的音量控制的增大/减小按钮。
在一种具体实施中,将按钮按下并持续第一持续时间能够解除触摸表面1946的锁定;并且将按钮按下并持续比第一持续时间长的第二持续时间可打开或关闭计算设备1900的电源。将按钮按下并持续第三持续时间可激活使用户能够向麦克风1930说出命令以使设备执行所说的命令的语音控制或语音命令模块。用户可自定义一个或多个按钮的功能。例如,还可以使用触摸表面1946实现虚拟或软按钮和/或键盘。
在一些具体实施中,计算设备1900可呈现记录的音频和/或视频文件,诸如MP3、AAC和MPEG文件。在一些具体实施中,计算设备1900可包括MP3播放器的功能,诸如iPodTM
存储器接口1902可耦接到存储器1950。存储器1950可包括高速随机存取存储器和/或非易失性存储器,诸如一个或多个磁盘存储设备、一个或多个光学存储设备和/或闪存存储器(例如,NAND、NOR)。存储器1950可存储操作系统1952,诸如Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS或嵌入式操作系统(诸如VxWorks)。
操作系统1952可包括用于处理基础系统服务以及用于执行硬件相关任务的指令。在一些具体实施中,操作系统1952可以是内核(例如,UNIX内核)。在一些具体实施中,操作系统1952可包括用于执行语音认证的指令。例如,操作系统1952可实现动态街道场景叠加特征,如参考图1至图18所述。
存储器1950还可存储通信指令1954以促进与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。存储器1950可包括促进图形用户界面处理的图形用户界面指令1956;促进与传感器相关的处理和功能的传感器处理指令1958;促进与电话相关的过程和功能的电话指令1960;促进与电子消息处理相关的过程和功能的电子消息处理指令1962;促进与web浏览相关的过程和功能的web浏览指令1964;促进与媒体处理相关的过程和功能的媒体处理指令1966;促进与GNSS和导航相关的过程和指令的GNSS/导航指令1968;和/或促进与相机相关的过程和功能的相机指令1970。
存储器1950可存储软件指令1972以促进其他过程和功能,诸如参考图1至图18所述的动态街道场景叠加过程和功能。
存储器1950还可存储其他软件指令1974,诸如促进与web视频相关的过程和功能的web视频指令;和/或促进与网络购物相关的过程和功能的网络购物指令。在一些具体实施中,媒体处理指令1966分为音频处理指令和视频处理指令,以分别用于促进与音频处理相关的过程和功能以及与视频处理相关的过程和功能。
上面所识别的指令和应用程序中的每一者可对应于用于执行上述一个或多个功能的指令集。这些指令不需要作为独立软件程序、进程或模块来实现。存储器1950可包括附加指令或更少的指令。此外,可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中实现计算设备1900的各种功能。
为了帮助专利局和针对本申请发布的任何专利的任何读者解释所附权利要求书,申请人希望注意到它们并不意欲所附权利要求书或权利要求要素中的任一个调用35U.S.C.112(f),除非在特定权利要求中明确使用字词“用于......的装置”或“用于......的步骤”。

Claims (21)

1.一种方法,所述方法包括:
由计算设备获得包括从第一捕获位置捕获的对象的第一视角的第一捕获到的图像;
由所述计算设备在所述计算设备的显示器上呈现所述第一捕获到的图像;
在呈现所述第一捕获到的图像时,由所述计算设备接收操纵所述第一捕获到的图像的用户输入;
响应于接收到所述用户输入:
由所述计算设备确定距所述第一捕获位置阈值距离内的第一虚拟位置;
由所述计算设备转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的第二视角,从而生成第一转换图像;
由所述计算设备生成模拟关于所述对象的视差效应的动画,所述动画通过从所述第一捕获到的图像过渡到所述第一转换图像并返回到所述第一捕获到的图像而使得所述对象看起来是三维的;以及
由所述计算设备在所述计算设备的显示器上呈现所述动画。
2.根据权利要求1所述的方法,所述方法还包括:
由所述计算设备确定与所述用户输入相关联的速度;以及
由所述计算设备基于所述速度确定距所述第一捕获位置的横向距离;以及
基于所述横向距离来确定所述第一虚拟位置。
3.根据权利要求1所述的方法,所述方法还包括:
由所述计算设备确定与所述用户输入相关联的持续时间;以及
由所述计算设备基于所述持续时间来确定距所述第一捕获位置并远离所述对象的向后距离;以及
基于所述向后距离来确定所述第一虚拟位置。
4.根据权利要求1所述的方法,所述方法还包括:
基于所述第一捕获位置和所述对象之间的所确定的距离来调节所述阈值距离。
5.根据权利要求1所述的方法,所述方法还包括:
由所述计算设备获得所述对象的三维模型;以及
由所述计算设备基于所述三维模型来转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的所述第二视角。
6.根据权利要求1所述的方法,所述方法还包括:
由所述计算设备生成与所述第一捕获位置附近的多个虚拟位置对应的多个转换图像,所述多个转换图像包括所述第一转换图像;
由所述计算设备基于多个中间图像生成模拟关于所述第一位置附近的所述对象的所述视差效应的真实感动画;以及
由所述计算设备在所述计算设备的显示器上呈现所述真实感动画。
7.根据权利要求6所述的方法,还包括:
确定对应于所述计算设备的帧速率;以及
基于所述计算设备的所述帧速率来确定所述多个虚拟位置。
8.一种包括一个或多个指令序列的非暂态计算机可读介质,所述一个或多个指令序列当由一个或多个处理器执行时使得所述处理器执行包括以下各项的操作:
由计算设备获得包括从第一捕获位置捕获的对象的第一视角的第一捕获到的图像;
由所述计算设备在所述计算设备的显示器上呈现所述第一捕获到的图像;
在呈现所述第一捕获到的图像时,由所述计算设备接收操纵所述第一捕获到的图像的用户输入;
响应于接收到所述用户输入:
由所述计算设备确定距所述第一捕获位置阈值距离内的第一虚拟位置;
由所述计算设备转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的第二视角,从而生成第一转换图像;
由所述计算设备生成模拟关于所述对象的视差效应的动画,所述动画通过从所述第一捕获到的图像过渡到所述第一转换图像并返回到所述第一捕获到的图像而使得所述对象看起来是三维的;以及
由所述计算设备在所述计算设备的显示器上呈现所述动画。
9.根据权利要求8所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备确定与所述用户输入相关联的速度;以及
由所述计算设备基于所述速度确定距所述第一捕获位置的横向距离;以及
基于所述横向距离来确定所述第一虚拟位置。
10.根据权利要求8所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备确定与所述用户输入相关联的持续时间;以及
由所述计算设备基于所述持续时间来确定距所述第一捕获位置并远离所述对象的向后距离;以及
基于所述向后距离来确定所述第一虚拟位置。
11.根据权利要求8所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
基于所述第一捕获位置和所述对象之间的所确定的距离来调节所述阈值距离。
12.根据权利要求8所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备获得所述对象的三维模型;以及
由所述计算设备基于所述三维模型来转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的所述第二视角。
13.根据权利要求8所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备生成与所述第一捕获位置附近的多个虚拟位置对应的多个转换图像,所述多个转换图像包括所述第一转换图像;
由所述计算设备基于多个中间图像生成模拟关于所述第一位置附近的所述对象的所述视差效应的真实感动画;以及
由所述计算设备在所述计算设备的显示器上呈现所述真实感动画。
14.根据权利要求13所述的非暂态计算机可读介质,其中所述指令使得所述处理器执行包括以下各项的操作:
确定对应于所述计算设备的帧速率;以及
基于所述计算设备的所述帧速率来确定所述多个虚拟位置。
15.一种系统,所述系统包括:
一个或多个处理器;以及
非暂态计算机可读介质,所述非暂态计算机可读介质包括一个或多个指令序列,所述一个或多个指令序列当由所述一个或多个处理器执行时使得所述处理器执行包括以下各项的操作:
由计算设备获得包括从第一捕获位置捕获的对象的第一视角的第一捕获到的图像;
由所述计算设备在所述计算设备的显示器上呈现所述第一捕获到的图像;
在呈现所述第一捕获到的图像时,由所述计算设备接收操纵所述第一捕获到的图像的用户输入;
响应于接收到所述用户输入:
由所述计算设备确定距所述第一捕获位置阈值距离内的第一虚拟位置;
由所述计算设备转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的第二视角,从而生成第一转换图像;
由所述计算设备生成模拟关于所述对象的视差效应的动画,所述动画通过从所述第一捕获到的图像过渡到所述第一转换图像并返回到所述第一捕获到的图像而使得所述对象看起来是三维的;以及
由所述计算设备在所述计算设备的显示器上呈现所述动画。
16.根据权利要求15所述的系统,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备确定与所述用户输入相关联的速度;以及
由所述计算设备基于所述速度确定距所述第一捕获位置的横向距离;以及
基于所述横向距离来确定所述第一虚拟位置。
17.根据权利要求15所述的系统,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备确定与所述用户输入相关联的持续时间;以及
由所述计算设备基于所述持续时间来确定距所述第一捕获位置并远离所述对象的向后距离;以及
基于所述向后距离来确定所述第一虚拟位置。
18.根据权利要求15所述的系统,其中所述指令使得所述处理器执行包括以下各项的操作:
基于所述第一捕获位置和所述对象之间的所确定的距离来调节所述阈值距离。
19.根据权利要求15所述的系统,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备获得所述对象的三维模型;以及
由所述计算设备基于所述三维模型来转换所述第一捕获到的图像以从所述第一虚拟位置描绘所述对象的所述第二视角。
20.根据权利要求15所述的系统,其中所述指令使得所述处理器执行包括以下各项的操作:
由所述计算设备生成与所述第一捕获位置附近的多个虚拟位置对应的多个转换图像,所述多个转换图像包括所述第一转换图像;
由所述计算设备基于多个中间图像生成模拟关于所述第一位置附近的所述对象的所述视差效应的真实感动画;以及
由所述计算设备在所述计算设备的显示器上呈现所述真实感动画。
21.根据权利要求20所述的系统,其中所述指令使所述处理器执行包括以下各项的操作:
确定对应于所述计算设备的帧速率;以及
基于所述计算设备的所述帧速率来确定所述多个虚拟位置。
CN202080039731.0A 2019-05-31 2020-05-28 创建三维外观的虚拟视差 Active CN113892129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210855600.0A CN115019005A (zh) 2019-05-31 2020-05-28 创建三维外观的虚拟视差

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962855727P 2019-05-31 2019-05-31
US62/855,727 2019-05-31
PCT/US2020/034965 WO2020243337A1 (en) 2019-05-31 2020-05-28 Virtual parallax to create three-dimensional appearance

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210855600.0A Division CN115019005A (zh) 2019-05-31 2020-05-28 创建三维外观的虚拟视差

Publications (2)

Publication Number Publication Date
CN113892129A true CN113892129A (zh) 2022-01-04
CN113892129B CN113892129B (zh) 2022-07-29

Family

ID=71833407

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210855600.0A Pending CN115019005A (zh) 2019-05-31 2020-05-28 创建三维外观的虚拟视差
CN202080039731.0A Active CN113892129B (zh) 2019-05-31 2020-05-28 创建三维外观的虚拟视差

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210855600.0A Pending CN115019005A (zh) 2019-05-31 2020-05-28 创建三维外观的虚拟视差

Country Status (4)

Country Link
US (5) US11099722B2 (zh)
EP (1) EP3977412A1 (zh)
CN (2) CN115019005A (zh)
WO (1) WO2020243337A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210342887A1 (en) * 2016-11-06 2021-11-04 Chian Chiu Li Advertisement with a Short Message
CN115019005A (zh) * 2019-05-31 2022-09-06 苹果公司 创建三维外观的虚拟视差
US11948242B2 (en) * 2019-08-02 2024-04-02 Fmr Llc Intelligent smoothing of 3D alternative reality applications for secondary 2D viewing
WO2021061601A1 (en) * 2019-09-27 2021-04-01 Raitonsa Dynamics Llc Method and device for generating a map from a photo set
US11328157B2 (en) * 2020-01-31 2022-05-10 Honeywell International Inc. 360-degree video for large scale navigation with 3D in interactable models
CN113704940A (zh) * 2021-08-25 2021-11-26 睿宇时空科技(重庆)有限公司 基于实景三维和激光点云数据的道路快速设计方法及系统、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102216959A (zh) * 2008-11-19 2011-10-12 苹果公司 用于操纵全景的技术
WO2013039470A1 (en) * 2011-09-12 2013-03-21 Intel Corporation Using motion parallax to create 3d perception from 2d images
US20140053077A1 (en) * 2011-04-12 2014-02-20 Google Inc. Integrating Maps and Street Views
US20170018055A1 (en) * 2015-07-15 2017-01-19 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US20180067620A1 (en) * 2016-09-08 2018-03-08 Gt Gettaxi Limited Drag and drop map for marking pickup and drop off locations on a predetermined line

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182010B1 (en) 1999-01-28 2001-01-30 International Business Machines Corporation Method and apparatus for displaying real-time visual information on an automobile pervasive computing client
US6346938B1 (en) * 1999-04-27 2002-02-12 Harris Corporation Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model
GB2377870B (en) * 2001-05-18 2005-06-29 Canon Kk Method and apparatus for generating confidence data
WO2003093954A2 (en) * 2002-05-03 2003-11-13 Pixearth, Corporation A system to navigate within images spatially referenced to a computed space
US7990394B2 (en) 2007-05-25 2011-08-02 Google Inc. Viewing and navigating within panoramic images, and applications thereof
RU2009148504A (ru) * 2007-06-08 2011-07-20 Теле Атлас Б.В. (NL) Способ и устройство для создания панорамы с множественными точками наблюдения
US8595638B2 (en) 2008-08-28 2013-11-26 Nokia Corporation User interface, device and method for displaying special locations on a map
US8868338B1 (en) 2008-11-13 2014-10-21 Google Inc. System and method for displaying transitions between map views
US9454847B2 (en) * 2009-02-24 2016-09-27 Google Inc. System and method of indicating transition between street level images
KR101631497B1 (ko) * 2009-11-13 2016-06-27 삼성전자주식회사 디스플레이 장치, 사용자 단말 장치 및 그 방법들
US8681151B2 (en) * 2010-11-24 2014-03-25 Google Inc. Rendering and navigating photographic panoramas with depth information in a geographic information system
JP2012127775A (ja) 2010-12-15 2012-07-05 Jvc Kenwood Corp ナビゲーション装置
US8825392B2 (en) 2011-06-30 2014-09-02 Navteq B.V. Map view
US9613453B2 (en) * 2011-10-04 2017-04-04 Google Inc. Systems and method for performing a three pass rendering of images
US9367959B2 (en) * 2012-06-05 2016-06-14 Apple Inc. Mapping application with 3D presentation
US9069440B2 (en) * 2012-06-05 2015-06-30 Apple Inc. Method, system and apparatus for providing a three-dimensional transition animation for a map view change
US9619138B2 (en) * 2012-06-19 2017-04-11 Nokia Corporation Method and apparatus for conveying location based images based on a field-of-view
US10139985B2 (en) * 2012-06-22 2018-11-27 Matterport, Inc. Defining, displaying and interacting with tags in a three-dimensional model
US10127722B2 (en) * 2015-06-30 2018-11-13 Matterport, Inc. Mobile capture visualization incorporating three-dimensional and two-dimensional imagery
CN103971399B (zh) * 2013-01-30 2018-07-24 深圳市腾讯计算机系统有限公司 街景图像过渡方法和装置
CN103177475B (zh) * 2013-03-04 2016-01-27 腾讯科技(深圳)有限公司 一种街景地图展现方法及系统
US9292189B2 (en) 2013-09-11 2016-03-22 Facebook, Inc. Techniques to display location-based information
US8984445B1 (en) 2014-01-31 2015-03-17 Google Inc. System and method for geo-locating images
US9418472B2 (en) 2014-07-17 2016-08-16 Google Inc. Blending between street view and earth view
KR20170041237A (ko) * 2014-08-04 2017-04-14 우버 테크놀로지스, 인크. 미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법
US20170301051A1 (en) 2015-01-05 2017-10-19 Picpocket, Inc. Media sharing application with geospatial tagging for crowdsourcing of an event across a community of users
US20170123618A1 (en) 2015-11-04 2017-05-04 Mark Dalton Porcella Dynamic user interface for map applications
US10275939B2 (en) * 2015-11-05 2019-04-30 Google Llc Determining two-dimensional images using three-dimensional models
US10133345B2 (en) 2016-03-22 2018-11-20 Microsoft Technology Licensing, Llc Virtual-reality navigation
US10733776B2 (en) * 2016-06-12 2020-08-04 Apple Inc. Gesture based controls for adjusting display areas
US20180089879A1 (en) 2016-09-23 2018-03-29 Apple Inc. Synchronizing Display of Multiple Animations
US11067410B2 (en) * 2017-09-07 2021-07-20 Uber Technologies, Inc. First-person perspective view
US10264389B1 (en) * 2017-12-31 2019-04-16 Lyft, Inc. Optimizing pickup locations for transportation requests based on context information
CN115019005A (zh) * 2019-05-31 2022-09-06 苹果公司 创建三维外观的虚拟视差

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102216959A (zh) * 2008-11-19 2011-10-12 苹果公司 用于操纵全景的技术
US20140053077A1 (en) * 2011-04-12 2014-02-20 Google Inc. Integrating Maps and Street Views
WO2013039470A1 (en) * 2011-09-12 2013-03-21 Intel Corporation Using motion parallax to create 3d perception from 2d images
US20170018055A1 (en) * 2015-07-15 2017-01-19 Fyusion, Inc. Artificially rendering images using viewpoint interpolation and extrapolation
US20180067620A1 (en) * 2016-09-08 2018-03-08 Gt Gettaxi Limited Drag and drop map for marking pickup and drop off locations on a predetermined line

Also Published As

Publication number Publication date
EP3977412A1 (en) 2022-04-06
US11126336B2 (en) 2021-09-21
US20210349609A1 (en) 2021-11-11
CN115019005A (zh) 2022-09-06
CN113892129B (zh) 2022-07-29
US11625156B2 (en) 2023-04-11
US20240394960A1 (en) 2024-11-28
WO2020243337A1 (en) 2020-12-03
US20230196660A1 (en) 2023-06-22
US20200380783A1 (en) 2020-12-03
US12086926B2 (en) 2024-09-10
US20200379629A1 (en) 2020-12-03
US11099722B2 (en) 2021-08-24

Similar Documents

Publication Publication Date Title
JP7559033B2 (ja) 拡張された仮想現実
US12086926B2 (en) Generating an image from a perspective of an intermediate location between first and second image capture points
US11532072B2 (en) Multifunctional environment for image cropping
Langlotz et al. Next-generation augmented reality browsers: rich, seamless, and adaptive
US9898844B2 (en) Augmented reality content adapted to changes in real world space geometry
US9652115B2 (en) Vertical floor expansion on an interactive digital map
US20150185825A1 (en) Assigning a virtual user interface to a physical object
US10078427B1 (en) Zooming while page turning in a document
CN108027936A (zh) 用于在视频内容内呈现交互式元素的方法、系统和介质
JP2022507502A (ja) 拡張現実(ar)のインプリント方法とシステム
KR20230010759A (ko) 전자 디바이스의 현재 위치를 보고 리파인하기 위한 사용자 인터페이스들
Samardzija Mobile augmented reality interactive systems for urban tourism
CN117461330A (zh) 在增强现实中呈现标签
Mang Towards improving instruction presentation for indoor navigation

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
GR01 Patent grant
GR01 Patent grant