CN105247575A - 用于在三维场景上叠加二维地图数据的系统和方法 - Google Patents

用于在三维场景上叠加二维地图数据的系统和方法 Download PDF

Info

Publication number
CN105247575A
CN105247575A CN201480027301.1A CN201480027301A CN105247575A CN 105247575 A CN105247575 A CN 105247575A CN 201480027301 A CN201480027301 A CN 201480027301A CN 105247575 A CN105247575 A CN 105247575A
Authority
CN
China
Prior art keywords
map
texture
scene
geometric data
geometry
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
CN201480027301.1A
Other languages
English (en)
Other versions
CN105247575B (zh
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN105247575A publication Critical patent/CN105247575A/zh
Application granted granted Critical
Publication of CN105247575B publication Critical patent/CN105247575B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Abstract

一种用于以二维(2D)地图数据增强三维(3D)场景的方法包括接收具有3D几何结构数据以及图像纹理数据的3D地图数据。对于3D坐标系中虚拟相机的特定视角,使用3D几何结构数据呈现3D场景的几何结构,其中,指定视角包括相对于3D场景的位置和定向。根据3D坐标系中虚拟相机的视角,使用2D地图数据生成地图纹理,并且图像纹理和地图纹理被应用于所呈现的几何结构。

Description

用于在三维场景上叠加二维地图数据的系统和方法
技术领域
本公开涉及地图呈现系统,包括电子地图显示系统,并且更具体地说,涉及使用二维(2D)地图数据连同三维(3D)场景呈现地图图像的地图呈现系统。
背景技术
此处提供的背景描述的目的在于一般地展示本公开的场境。发明者目前的工作,以及在申请时可能不会作为现有技术的描述的方面,就在这个背景部分描述而言,既不明确也不隐含地被承认为相对于本公开的现有技术。
今天,各种计算设备,包括许多便携式设备,支持显示数字地图(“地图应用”)的软件应用。某些这种地图应用是交互式的,并为用户提供获得诸如到特定目的地的路径的有用的信息的能力。路径可能包括一个或多个地图元素,例如,从二维(2D)地图数据中呈现并显示给观看者的道路或路径。2D地图数据不包括高程信息并且地图元素以平面的格式展示。然而,平面格式不为观看者提供与地图元素与附近的结构、植被、或起伏的地形的垂直关系相关联的信息。
其它基于计算机的地图应用使用三维(3D)地图数据为用户提供逼真的交互场景,该三维(3D)地图数据可能会包含场景中的结构、道路、植被、和地形的场景和照片的3D几何结构。例如,定义3D几何结构的数据可以是由诸如3D网格的边互连的一组顶点。照片或其它图像被用于“纹理化(texture)”3D几何结构。3D地图数据通常被定义在3D坐标系中而不是在2D地图的2D坐标系中。
发明内容
软件应用,诸如web浏览器或地图应用准确并有效地以对应于同一地理地区的2D地图数据增强该地理地区的3D场景。3D场景使用描述3D几何结构(例如,网格)和图像纹理的3D地图数据生成。2D地图数据一般用于生成地理地区的平面的2D表示。为将2D地图数据应用于3D场景,软件应用向可以被应用于3D几何结构的“地图纹理”呈现2D地图数据,或2D地图数据的某些被选择的元素。为此,软件应用基于虚拟相机在3D场景中的3D坐标系中的位置,确定虚拟相机相对于2D地图的视角。进一步讲,当3D几何结构是,或者可以被,分为地形层几何结构和建筑与植被层几何结构时,软件应用可以将地图纹理应用于地形层几何结构。再进一步,通过调整地图纹理中像素的z-偏移值,软件应用可以“提升”某些地图元素到地形层几何结构以上。
更具体地,在一个示例实现方式中,在计算设备中实现一种用于以2D地图数据增强3D场景的方法。该方法包括接收包括3D几何结构数据和图像纹理数据的3D地图数据。对于3D坐标系中虚拟相机的特定视角,该方法包括使用3D几何结构数据呈现3D场景的几何结构,其中该特定视角包括相对于3D场景的位置和定向。该方法进一步包括根据3D坐标系中虚拟相机的视角使用2D地图数据生成地图纹理,并且将(i)图像纹理和(ii)地图纹理应用于所呈现的几何结构。
根据又一个示例实现方式,计算设备包括用户界面,该用户界面包括显示设备、一个或多个处理器、以及存储指令的有形计算机可读介质。该指令当在一个或多个处理器上执行时,使得计算设备(i)接收指定数字2D地图的元素的2D地图数据,其中该2D地图数据在与将球面投影到平面上相关联的坐标系中被参数化,(ii)接收3D坐标系中虚拟相机相对于3D场景的视角的指示,(iii)使用3D地图数据,根据虚拟相机的视角生成地图纹理以应用于3D场景,以及(iv)将地图纹理应用到3D场景。
根据又一个示例实现方式,有形非暂时性计算机可读介质存储指令。这些指令当被一个或多个处理器执行时,使得该一个或多个处理器接收包括3D几何结构数据和图像纹理数据的3D地图数据,并且,对于3D坐标系中虚拟相机的特定视角,使用3D几何结构数据呈现3D场景的几何结构,其中该特定视角包括相对于3D场景的位置和定向。所执行的指令进一步使得根据3D坐标系中虚拟相机的视角使用2D地图数据生成地图纹理,并且使得将(i)图像纹理和(ii)地图纹理应用于所呈现的几何结构。
根据又一个实现方式,计算设备包括(i)用于接收包括3D几何结构数据和图像纹理数据的3D地图数据的装置,(ii)用于对于3D坐标系中虚拟相机的特定视角,使用3D几何结构数据呈现3D场景的几何结构的装置,其中特定视角包括相对于3D场景的位置和定向,(iii)用于根据3D坐标系中虚拟相机的视角使用2D地图数据生成地图纹理的装置,以及(iv)用于将图像纹理和地图纹理应用于所呈现的几何结构的装置。
附图说明
图1是本公开的技术被用于以2D地图数据增强3D场景的图像呈现系统的框图。
图2A图示示例纹理化的3D场景。
图2B图示被组织为两个纹理化层的示例3D几何结构。
图2C图示当从处于较高高度的相机位置呈现图像时,可能被考虑的曲率因子。
图2D图示在考虑地球曲率之前(左)和考虑地球曲率之后呈现大地理区域的示例。
图3A示意性图示根据3D空间中虚拟相机的特定视角呈现2D地图数据。
图3B示意性图示根据3D空间中虚拟相机的特定视角使用地形信息呈现2D地图数据。
图4A示意性图示用于以2D地图信息增强3D场景的技术,根据该技术,地形层3D几何结构和建筑与植被层3D几何结构以它们相应的图像纹理呈现,并且地形层3D几何结构再次以依赖于视点的2D地图纹理呈现。
图4B示意性图示用于以2D地图信息增强3D场景的另一技术,根据该技术,图像纹理和依赖于视点的2D地图纹理被应用于包括地形层3D几何结构和建筑与植被层3D几何结构的3D网格。
图4C示意性图示用于以2D地图信息增强3D场景的另一技术,根据该技术,地形图像纹理和依赖于视点的2D地图纹理被应用于地形层3D几何结构,并且建筑与植被层3D图像纹理被应用于建筑与植被层3D几何结构。
图5是可以操作在图1的系统中的、用于以2D地图数据增强3D场景的示例方法的流程图。
图6A是用于根据相机相对于可以操作在图1的系统中的3D场景的视角,生成2D地图纹理的示例方法的流程图。
图6B是可以操作在图1的系统中的、用于由于地球的曲率选择性地校正相机位置的示例方法的流程图。
图7A-7C是可以操作在图1的系统中的、用于以2D地图增强3D场景的示例性方法的流程图。
图8A是可以操作在图1的系统中的、用于使用高程将2D地图纹理应用于地形层的示例方法的流程图。
图8B是可以操作在图1的系统中的、用于生成2D地图纹理的示例方法的流程图,其中未被选择的元素是透明的。
具体实施方式
综述
使用本公开的技术,软件应用,诸如地图应用或web浏览器,利用用于生成同一地理地区的二维数字(2D)地图的数据,有效并准确地增强三维(3D)场景。结果,软件应用可以将数字3D地图身临其境的体验和数字2D地图信息的丰富性相结合。例如,软件应用可以将2D地图提供的道路信息叠加在3D场景上,以取决于实时路况条件使用不同的颜色显示道路。作为另一个示例,软件应用可以允许用户经由用户界面选择并突出显示3D地图上的道路。
数字2D和3D地图在几个方面有所不同。一般来说,显示在计算设备的屏幕上的2D数字地图以类似于传统纸质地图的平面格式提供地理地区的俯视图。2D数字地图使用描述诸如道路、自行车道、人行步道、建筑、公园、水体等各种地图元素的数据(“2D地图数据”)生成。尽管某些2D地图可能包括指示高程的文本或地形学的线,并不存在与大多数地图元素,诸如道路、路线和路径相关联的高度参数。数字2D地图可以在与将球面投影到平面上相关联的2D坐标系(诸如,墨卡托或方形板(platecarree))中被参数化。
另一方面,数字3D地图是地理地区的3D表示。数字3D地图使用包括3D几何结构数据(例如,3D网格)和图像纹理的3D地图数据生成。3D几何结构在3D坐标系中被参数化,例如,该3D坐标系可以是笛卡尔系。作为更具体的示例,数字3D地图可以在地心地固(ECED)坐标系中被参数化。为了清晰起见,下面的例子参考笛卡尔系。图像纹理可以使用真实环境的照片创建,并且因此可能会提供具有比相同地区的2D地图更逼真的外观的3D地图。然而,个别地图特征的3D几何结构,诸如建筑、道路、树木,等等,通常不容易与3D网格分离。例如,3D网格可以定义地形的几何结构和越过地形的道路,而不定义将道路与地形分隔的边界。因此很难分别选择并操纵个别地图特征或地图特征的群组。
生成3D场景的特定视图可以被理解为通过位于3D场景的坐标系中的某点的虚拟(即,假想的)相机位置的视口,并且以相对于3D场景的某个定向,观看3D场景。除了缩放和移动,用户还可以控制相机的俯仰、偏转和滚转参数。虚拟相机的位置和定向共同被称为“相机姿势”,并且也可以被称为“相机视图”或“相机的视角”。在某些场景中,响应于用户输入,相机姿势变化频繁(例如,每秒若干次)。
为将2D地图数据应用于3D场景,在一个实现方式中的软件应用根据在3D场景的坐标系中的虚拟相机的当前视角呈现2D地图数据。为此,软件应用把2D地图放置在3D设置中的假想的2D平面上,使得2D地图可以被虚拟相机以倾斜和旋转的视角视到。软件应用可以将虚拟相机的坐标从3D场景的坐标系转换成2D地图的坐标系。正如下面将更详细地讨论的,这一转换至少在某些情况下考虑地球的曲率。使用虚拟相机的确定的位置,软件应用呈现2D地图以生成纹理(“地图纹理”),然后该纹理可以被应用于3D几何结构。
当生成地图纹理时,软件应用可能会以透明的方式呈现包括在2D地图数据中的某些元素,同时以非透明的方式呈现其它元素。软件应用从而可以选择所需的地图元素以应用于3D场景。例如,软件应用可以向地图纹理呈现道路,同时使道路周围的元素透明。在这个方案中,地图纹理可以相应地被称为“道路纹理”。为应用于3D场景而选择的纹理形式的地图元素的其他示例包括标签、兴趣点(POI)指示符,等等。
为了正确地将图像纹理和地图纹理应用于场景的3D几何结构,软件应用可能会获得3D几何结构的两个或更多的垂直层的独立描述。特别是,3D几何结构可以被分为地形层和建筑与植被层,每个都可能被单独并独立于其他层地呈现和纹理化。地形层定义3D几何结构的较低层,而建筑与植被层定义其较上层。当两层的单独定义或几何结构可用时,软件应用可以呈现地形层的几何结构以及建筑与植被层的几何结构并向这两层应用图像纹理。然后,软件应用可以重新呈现地形层的几何结构并将地图纹理应用于重新呈现的几何结构。
此外,软件应用在某些情况下可以将地图纹理和图像纹理应用于3D几何结构,以在地形层以及低植被层(在必要时)上而不在建筑或高大的树木上覆盖(drape)地图元素,诸如道路、铁路、自行车或行人道路等。为此,软件应用可能会将小的高程(或“深度”)偏移应用于对应于某些地图元素的地图纹理。深度偏移可以使用z-偏移值来实现。根据一个这样的实现方式,世界空间中大约30米的偏移被自动转换成特定3D场景的z-偏移。
用于集成2D地图数据与3D场景的示例性系统以及几种示例性技术将在下文参考图1-8B更详细地讨论。
示例系统结构
图1描述了可以由2D地图数据增强3D场景的图像呈现系统100的一个示例性实施例。经由地图数据服务器108,客户端设备102被耦接到2D地图数据数据库104以及3D几何结构和纹理数据库106。虽然数据库104和106在系统100中是独立的,2D地图数据和3D地图数据(由3D几何结构和纹理构成)一般可以被存储在一个或几个独立的数据库中。2D地图数据和3D地图数据可能会由相同或不同源、供应商、个人用户等提供给数据库104和106。
根据某些实现方式,数据库104中的2D地图数据描述形状、线厚度、填充颜色、文本标签以及地图元素的其它属性。例如,地图元素可能由指定各种几何图形(例如,使用点和连接点的路径的数学描述)并且指示几何形状应如何放置以呈现各种地图元素的矢量图格式生成。从而,不是指定构成线段的光栅图像的每个像素,而是基于矢量的线段的描述,可以指定线段的两个端点并且指示两个端点通过直线连接。基于矢量的地图元素的描述在本文档中可以被称为矢量描述符或者简单地被称为矢量,并且一组一个或多个矢量描述符可以被称为矢量数据或2D地图数据。
在某些情况下,数据库106中的3D地图数据可以使用自动技术生成,诸如扫描或合成(例如,使用运动中恢复结构(SFM)或另一个合适的3D几何结构重建技术)和/或手动建模。正如上面所讨论的,3D地图数据包括3D几何结构和可以应用于3D几何结构的纹理。
地图数据服务器108被耦接到数据库104、106和网络110。网络110可以是广域网(WAN)如互联网、局域网(LAN)、或任何其它适当的类型的网络。为了提供地图和特征数据到客户端设备102,地图数据服务器108可以生成包括地图数据的电子消息并经由网络110传输这些消息。在其它实现方式中,数据库104和106被耦接到不同的相应的服务器(其可能由不同的地图数据提供商操作)。
客户端设备102可能经由有线或无线通信协议被耦接到网络110。客户端设备102可以包括一个或多个中央处理单元(CPU)112、专门用于有效地呈现图像的一个或多个显卡或图形处理单元(GPU)114、以及可能包括易矢性(例如,RAM)和/或非易矢性(例如,闪存)组件的存储器116。CPU112和/或GPU114被配置为执行各种软件应用的指令和存储在存储器116中的模块。
更具体地说,存储器116存储2D纹理呈现引擎120、3D几何结构呈现引擎122、2D纹理应用引擎124,其中的每个可以由一个或多个编程语言中的指令构成。取决于实现方式,软件组件120-124的指令可以被编译以直接在CPU112上执行或在运行时可被另一个软件应用诸如web浏览器或专用的地图应用(二者均未被示出)翻译。进一步说,在某些实现方式中,组件120-124的某些或全部包括叫做“着色器”的图形程序。例如,着色器可以操作在开放式图形库(OpenGL)流水线中,并且可以直接访问GPU114以利用其庞大的计算能力来实现带有交互性能的丰富视觉呈现。特别是,“顶点着色器”一般在二维或三维空间的顶点上操作,而“片段着色器”在单个像素上操作。顶点着色器可以指定存储在缓冲器的三角形的顶点应该如何被变换从而取决于视角、旋转等等以特定的方式呈现三角形。之后,片段着色器可以在三角形内部生成适当颜色的像素。除了OpenGL,例如,着色器可以操作在诸如Direct3D等其它图形框架中。此外,在某些系统中,着色器可以完全运行在CPU上。
在操作中,2D纹理呈现引擎120使用2D地图数据并且根据在3D几何结构的坐标系中的虚拟相机的视角生成应用于3D几何结构的纹理。换句话说,2D纹理呈现引擎120在平面上将2D地图呈现为通过3D虚拟相机视到的那样,即,该虚拟相机的位置和定向被定义在3D坐标系中。例如,2D纹理呈现引擎120可以实现的示例技术将参考图3A、3B、6A和6B如下讨论。正如参考图2A和2B详细讨论的,3D几何结构呈现引擎122呈现组织成一个或多个层的3D几何结构。正如参考图4A-C、7A-C以及8A-B详细讨论的,2D纹理应用引擎124将引擎120生成的纹理(以及作为3D地图数据的部分提供的图像纹理)应用于引擎122生成的几何结构。
软件组件当被CPU112和/或GPU114执行时,经由包括一个或多个显示屏和/或输入设备118的用户界面输出图形内容。设备118可以包括屏幕、触摸屏、键盘、鼠标等中的一个或多个。
继续参考图1,存储器116也为离屏呈现存储帧缓冲器126。根据某些实现方式,组件120-124首先呈现2D地图元素到帧缓冲器126,并且然后向纹理复制像素。
为简单起见,图1中只图示了地图数据服务器108、客户端设备102、以及2D和3D地图数据库104、106的一个实例。然而,在其它实施例中,系统100可包括多于一个的地图服务器108、多于一个的客户端设备102、多于一个的2D地图数据库104、和/或多于一个的3D地图数据库106。进一步讲,在某些实施例中,地图数据服务器108向一个或多个不同的客户端设备102提供地图数据,包括便携式计算设备、平板计算设备、智能手机、桌面计算设备等。
3D场景的几何结构的两层表示
图2图示使用3D地图数据生成的3D场景200,所述3D地图数据包括3D几何结构和图像纹理。3D场景200描绘了各种现实世界的对象,诸如道路、建筑、树木等,以及地形特征,诸如山等。然而,3D地图数据存在于一个巨大的几何结构中,并且个别对象很难从单个几何结构中被识别、选择、或分离出来。
虽然可以将地图纹理(使用2D地图数据生成)应用于3D场景200的单一几何结构,由此产生的场景不总是正确地反映物理现实。例如,道路可能看起来像覆盖在高楼上。为避免这样的结果,3D场景200的几何结构可以被分为两层,地形层几何结构和建筑与植被层几何结构,而地图纹理可以只被应用于地形层。
图2B图示3D几何结构的两层的示例片段,其可能使用任何合适的技术(包括那些本领域公知技术)从图2A的单层3D几何结构得出。地形层3D几何结构202和建筑与植被层3D几何结构204一起构成3D场景200的几何结构。地形层3D几何结构202描述地理地区的表面。建筑和植被层3D几何结构204指定建筑、桥梁、天桥、和其他结构,以及树木、灌木和其他植物的形状。层3D几何结构202和204的每一个可能以图像纹理被纹理化。例如,图像纹理可以是摄影的纹理。
例如,返回参考图1,如图2B所示意性图示的呈现组分层的3D几何结构可以在3D几何呈现引擎122中实现。
当生成地图纹理时确定虚拟相机相对于2D地图数据的位置
一般来说,以2D地图数据特别是2D地图元素诸如道路和/或路线增强图2A的3D场景,要求2D地图数据符合3D场景200的3D几何结构。然而,正如上面所讨论的,2D地图数据和3D地图数据具有不同的参数化、存在于不同的坐标系中等等。进一步讲,简单地将虚拟相机设置在平面2D地图上与3D场景的坐标系中的虚拟相机相同的高度并不能提供理想的结果。如图2C所示,地球的曲率使可视表面(见arcLen)比地球是平的的情况下(见flatLen)更大,尤其是在虚拟相机的更高高度处(以眼标记的位置)。为了更为清晰起见,在图2D左边的图像图示当2D纹理呈现引擎120或类似的模块不考虑地球的曲率时生成的有限的视图,而在图2D右边的图像图示当引擎120考虑地球的曲率时的结果。
现在参考图3A,例如,图1的引擎120可以被实现为2D纹理呈现引擎304。在操作中,引擎304接收2D地图数据300和地形层3D几何结构302,并且生成类似于应用于3D几何结构的图像纹理的依赖于视点的2D地图纹理306。引擎304可以包括多个组件,诸如,举例来说,确定虚拟相机相对于2D地图的位置的相机视点确定模块308、生成对地图纹理306的修正的曲率因子计算模块309等等。
根据一个示例实现方式,相机视点确定模块308确定相对于对应于2D地图数据300的2D地图放置的虚拟相机的以下参数(i)在2D地图数据300的坐标系(例如,墨卡托)中确定的目标点,(ii)在2D地图数据300的坐标系中计算的到2D地图的目标距离,(iii)倾斜,以及(iv)旋转。图3B更详细地图示这些参数的确定。为了清晰起见,图3A和3B的示例实现方式关于墨卡托和笛卡尔坐标系被讨论。
例如,相机视点确定模块308使用射线投射将目标点确定为飞行方向(DOF)矢量和地形表面层3D几何结构302的交点。值得注意的是,相机视点确定模块308仅考虑地形层3D几何结构(或网格)310,而忽略对应的3D场景也可能包括的建筑与植被。以这种方式,相机视点确定模块308确定允许地图纹理312相对平滑的虚拟相机的这样的位置和定向(因为正如下面所讨论的,地图纹理312随后被覆盖在地形而不是建筑上)。
为了确定目标距离,相机视点确定模块308将3D场景的空间中虚拟相机的笛卡尔坐标变换为墨卡托坐标。相机视点确定模块308随后计算变换后的相机位置和2D地图的目标点之间的距离。这一计算通常提供笛卡尔和墨卡托空间之间的可接受的匹配。然而,当虚拟相机处于较高高度时,不考虑地球曲率的技术产生没有地图纹理的边缘(见图2D,左边的图像)。因此,曲率因子计算模块309生成一个适当的曲率因子。正如在下面更详细地讨论的,在某些实现方式中,曲率因子计算模块309生成只在虚拟相机的特定高度处的曲率因子。
进一步讲,为了生成倾斜参数T,相机视点确定模块308可以使用在虚拟相机的笛卡尔空间中定义的相机矩阵。如果这个矩阵符合规范的相机模型,视点确定模块308可以直接采用来自规范模型的倾斜值。
同样,视点确定模块308可以采用来自规范相机模型的旋转参数R。
将曲率校正因子应用于地图纹理
参考图2C和3A,曲率因子计算模块309可以确定曲率校正因子,当确定用于与2D地图数据300一起使用的虚拟相机的视点时,相机视点确定模块308可以将该曲率校正因子乘以目标距离参数。从而,当地球的曲率变成了在更高的高度上的一个因子时,模块308和309可以暴露更大的区域。
通过假设视景体(viewfrustum)直接面向地球的中心的理想的设定,曲率因子计算模块309可以推导出曲率校正因子。图2C中的图206描述当呈现在较高高程处的图像时,曲率因子计算模块309确定的某些参数。原点设在眼(0)处,而地球的中心是x0。角度alpha(α)由下式给出:
α = 2 f o v y 2 (式1)
其中,fovy是假设视景体是正方形,沿该视景体的半对角线的视场。地球的半径为r。
曲率校正因子CCF由下式给出:
C C F = a r c L e n f l a t L e n (式2)
此外,flatLen可以使用三角学计算:
flatLen=(x0-r)tan(α)(式3)
曲率因子计算模块309使用理想视景体确定arcLen。首先,曲率因子计算模块309可以确定球面和线的交点,点x:
x = x o ± ( k 2 r 2 - k 2 x o 2 + r 2 ) k 2 + 1 (式4)
然后,曲率因子计算模块309可以使用两个交点中较近的一个,按如下方法确定arcLen:
a r c L e n = r cos - 1 ( x 0 - x r ) (式5)
因此,曲率因子计算模块309可以使用式3计算flatLen、使用式5计算arcLen、并且使用式1计算CCF。
以地图纹理呈现3D几何结构
返回参考图1,2D纹理应用引擎124可以将地图纹理,诸如图3B的地图纹理306或312,应用于3D几何结构。2D纹理应用引擎124可以包括从地图纹理中查找像素并且在3D几何结构200的纹理的顶部混合这些像素的段着色器。在典型的方案中,地图纹理包括非透明格式的期望地图元素的像素,诸如道路,以及透明格式的其它地图元素或者背景颜色。换句话说,2D纹理应用引擎124只是在3D几何结构200的纹理顶部有效地混合这些地图元素。用于将地图纹理和图像纹理应用于3D几何结构的有效技术在下文被详细讨论。
为了以使用2D地图数据生成的地图纹理对3D几何结构进行纹理化,2D纹理应用引擎124将2D地图数据从3D坐标系变换为2D坐标系,例如,从墨卡托到笛卡尔。或者,3D几何结构可以从笛卡尔变换为墨卡托。坐标系之间的变换是非线性的,并且更多涉及矩阵乘法。此外,源空间和目的地空间具有很高的动态范围(由于它们跨越整个地球)并且相应地需要双倍精度计算。然而,只有某些现有的GPU支持这一功能。
根据一个实现方式,2D纹理应用引擎124实现两个较不复杂的变换,一个用于在较高高度处的相机视点,而另一个用于在较低高度处的相机视点。
对于在较低高度的附近的相机视点,其中精度是重要的考量,地球的可见表面区域是相当小的。因此,在较近的视点,2D纹理应用引擎124可以用线性变换近似从笛卡尔到墨卡托的变换(或者相反方向的变换,如果需要的话)。在某些实现方式中的3D地图数据被组织成八叉树,即,代表空间单位的节点具有八个孩子,每个孩子代表该空间单位的八分之一的数据结构。这一近似允许矩阵被从来自每个八叉树节点的本地模型空间级联到地图纹理空间。矩阵的级联可以在CPU中以双倍精度进行,并且结果矩阵被存储在存储器中。由于变换在两个低动态范围空间之间进行,2D纹理应用引擎124可以以单倍精度存储结果矩阵并且在GPU的着色器中使用这个矩阵。
对于在高高度处的遥远的相机视点,2D纹理应用引擎124不使用线性近似,因为地球的曲率对于变换具有显著的影响。然而,由于视点更为遥远,精度变得不那么关键,并且所以2D纹理应用引擎124可以在顶点或段着色器中执行从笛卡尔到墨卡托(以及随后的地图纹理)的全非线性变换。
在示例实现方式中,2D纹理应用引擎124在附近的相机视点模式和海平面以上约15千米处的遥远的相机视点模式之间切换。
作为构造从八叉树节点到纹理空间的线性变换的部分,2D纹理应用引擎124可以构造本地(一阶)近似矩阵matrixMercatorFromCartesian。这一矩阵可以是位置的函数pivotCartesian,其对应于线性变换将会精确的点(例如,高度)。随着视点远离点pivotCartesian,误差可能会增加。矩阵matrixMercatorFromCartesian可以被用于变换相当接近pivotCartesian所代表的点的坐标。为构建此近似,pivotMercator(对应于pivotCartesian)首先被计算。这是要求双倍精度的非线性变换,举例来说,其可以很容易地在JavaScript中确定。
2D纹理应用引擎124可以生成矩阵T以从笛卡尔坐标中减去pivot。第二矩阵R可以被构建以将旋转考虑进来。矩阵R的左上方3x3的部分是雅可比(Jacobian)矩阵:JCartesian->Mercator(x,y,z)。这需要通过解析或有限差分计算墨卡托分量相对于每个笛卡尔维度的偏导数。随后,另一个矩阵M被生成以在墨卡托空间中以pivot偏移平移。然后,全部matrixMercatorFromCartesian可由下式得到:
matrixMercatorFromCartesian=M*R*T(式6)
2D纹理应用引擎124也可以构造矩阵matrixScreenFromMercator以将全部笛卡尔观察流水线(包括平移、旋转、倾斜以及投影)编码。在地图纹理被生成以在3D场景上叠加道路的实现方式中,此矩阵可以被称为matrixRoadTextureFromMercator。假设3D几何结构被存储在组织为八叉树的(具有上文讨论的特性)部分空间数据结构中,并且进一步假设矩阵matrixCartesianFromCartesianOctreeNode已知,2D纹理应用引擎124可以计算全部矩阵matrixRoadTextureFromCartesianOctreeNode,以用于从2D地图数据中有效地查找地图纹理,如下:matrixRoadTextureFromCartesianOctreeNode=matrixRoadTextureFromMercator*matrixMercatorFromCartesian*matrixCartesianFromCartesianOctreeNode(式7)
此矩阵直接从低动态范围空间变换到另一个空间。从而,此矩阵可以被转变为单倍精度矩阵并被储存在GPU114中。在操作期间,组件120-124可以使用此矩阵以单倍精度矩阵乘法快速并有效地变换顶点数据。
此外,matrixRoadTextureFromCartesianOctreeNode的使用允许组件120-124正确地将地图纹理应用于2D地图的坐标系中虚拟相机的任意视点的3D几何结构,甚至是在2D地图视点不精确匹配3D地图视点时。
需要进一步注意的是,在某些实现方式中,组件120-124可以缓存按如上所述生成的视口特定的地图纹理。当虚拟相机的视角改变时,组件120-124有时可以复用地图纹理。例如,如果虚拟相机的视角的改变相当小,组件120-124可以每次重新呈现3D几何结构,但只为每N次改变重新生成地图纹理,而为其它N-1个实例复用缓存的地图纹理。以这种方式,组件120-124可以以一定精度为代价提高生成以图像纹理和地图纹理进行纹理化的3D场景的速度。
用于将2D地图纹理以及图像纹理应用于3D几何结构的技术
用于将图像纹理连同地图纹理应用于3D几何结构的几个示例技术在随后被讨论。例如,这些技术可以在计算设备中实现,诸如客户端设备102。作为更具体的示例,图4A-C和7A-C所述的技术可以在2D纹理应用引擎124中实现。举例来说,这些技术可以部分以JavaScript实现,并且部分以符合OpenGL标准的着色器程序实现。更普遍地,这些技术可以使用任何一种或几种适当的编程语言的指令实现并被存储在有形的、非暂时性的计算机可读介质(诸如闪存)中并且可以在一个或数个处理器和/或显卡上执行。如果需要,也可能以分布式方法使用数台计算机,例如在云计算环境中,实现这些方法中的至少某些。
现在,参考图4A-4C,用于以2D地图数据增强3D场景的数个不同方案在视觉上被描述为帧序列。图4A图示一项示例性技术,根据该技术,3D场景的地形层3D几何结构和建筑与植被层3D几何结构被如帧400中所示地首先呈现。接下来,图像纹理被应用于地形层和建筑与植被层3D几何结构,以获得纹理化后的3D场景(帧402)。注意,在帧402中,经过森林区域的道路部分被树木遮盖,正如在该3D场景代表的物理世界中的情况可能表现的那样。
依赖于视点的2D地图纹理使用上文讨论的技术生成(帧404)。注意,尽管在帧404中的地图纹理包括除以黑色阴影描述的道路之外的元素,可以使用阿尔法混合或其它适当的技术而使某些地图元素成为透明的。例如,除道路以外的地图纹理的所有部分都可以是透明的。
接下来,地形层3D几何结构(帧406)被以依赖于视点的2D地图纹理重新呈现以生成在帧408中图示的增强的3D场景。正如在下文中更详细讨论的,当2D地图纹理包括非透明的道路时,某一z偏移值被用于将道路带到某些较低的植被之上,但保持道路在高大的建筑、树木等之下。由于图4A的3D场景中的植被很低,帧408中的道路叠加该植被。
用于以2D地图数据增强3D场景的另一个示例性技术被描述为图4B中的帧序列。此处,图像纹理和依赖于视点的2D地图纹理以相同途径被应用于地形层3D几何结构和建筑与植被层3D几何结构(帧410)。在结果3D场景(帧412)中,不管建筑和树木有多高,以黑色阴影示出的道路都挡住建筑与植被层。
用于以2D地图数据增强3D场景的再一项技术被描述为图4C中的帧序列。地形层3D几何结构被呈现(帧420),并且沿地图纹理的图像纹理被应用于地形层3D几何结构。结果图像包括在纹理化的地形层顶上的2D地图元素(帧422)。之后,图像纹理被应用于建筑与植被层3D几何结构以生成纹理化的建筑与植被层(帧424)。之后,所呈现的地形层(帧422)以及所呈现的建筑与植被层(帧424)可以被集成以得到增强的3D场景(帧426)。根据这一技术,然而,正如在帧426中所见,纹理化的建筑与植被层挡住以黑色阴影描述的道路。
将深度偏移应用于地图纹理
在客户端设备102的示例实施例中,2D纹理应用124确定并应用z-偏移值,以使地图元素,诸如道路,被呈现在天桥和树木的顶部,但仍然被大多数更高的结构挡住。z-偏移值可以以经验确定和/或取决于地理地区例如城市、乡村区域等确定。例如,z偏移的值可以鉴于附近结构的平均高度,例如50m,而被选择。或者,来自地球观测系统(EOS)的数据可以被用于选择z偏移的高度或深度用于图像呈现系统100的顶点着色器的实现方式。为了实现偏移,由顶点着色器生成的z的值可以由合适的量替代。
根据某些实现方式,2D纹理应用124在裁剪空间中应用z偏移值以便不替代顶点的屏幕空间位置。众所周知,裁剪坐标的顶点具有一个第四参数w。为了确定给出期望的眼空间偏移的裁剪空间中的z偏移量,下面描述的派生技术可以被使用。
可以假设眼空间z相对于z-缓冲器值的导数由下式给出:
∂ z e b = ∂ z e y e ∂ z b u f (式8)
之后,z-缓冲器值中期望的偏移可以被估算为:
z b u f f e r _ o f f s e t = z e y e _ o f f s e t ∂ z e b (式9)
接下来,实现此结果的zclip_offset可以由下式解得:
z c l i p + z c l i p _ o f f s e t w c l i p = z c l i p w c l i p + z b u f f e r _ o f f s e t
zclip+zclip_offset=zclip+zbuffer_offsetwclip
zclip_offset=zbuffer_offsetwclip
从而,
z c l i p _ o f f s e t = z e y e _ o f f s e t ∂ z e y e ∂ z b u f w c l i p (式10)
接下来,可以计算得到导数投影矩阵clipFromEye只有三个元素与此计算有关:
c l i p F r o m E y e = * * * * * * * * 0 0 C D 0 0 G 0 (式11)
假定
z b u f = z c l i p w c l i p (式12)
以及
wclip=1
z b u f = Cz e y e D Gz e y e (式13)
解得zeye
z e y e = - Dz b u f H C - z b u f G (式14)
以及
∂ z e b = ∂ z e y e ∂ z b u f = - G D ( C - Gz b u f ) 2 (式15)
为了实现本公开的地图纹理(或者,在此情况下,道路纹理)叠加技术,式10、12和15可以直接在作为2D纹理应用124的组件操作的顶点着色器中实现。
进一步说明
为了进一步清楚起见,在下文中讨论可以在系统100中实现的数个示例方法的流程图。
举例来说,图5是用于以2D地图数据增强3D场景的示例方法500的流程图,其可以在组件120-124中实现并且由CPU112以及部分由GPU114执行。更普遍地,方法500可以被实现为存储在计算机可读的存储器中并且可以在一个或多个处理器上执行的指令集合,并且可以在任何合适的客户端(客户)设备或者(如果需要的话)网络服务器中操作。
在块502处,在系统处接收用于生成3D场景的数字3D地图数据。接收到的数据可以包括3D几何结构数据和图像纹理数据。3D几何结构数据可以包括指定多个互连的顶点的网格数据。在某些情况下,3D几何结构数据可以包括分开的、独立的可说明的地形层几何结构数据以及建筑与植被层几何结构数据。
在系统处接收在3D坐标系中虚拟相机的视点的指示(3D相机视点)(块504)。如上文所述,3D相机视点对应于在3D坐标系中包括位置和定向的某个视角。
接下来,在块506处,接收2D地图数据。2D地图数据可以在与将球面投影到平面上相关联的坐标系(诸如,墨卡托或方形板)中被参数化。2D地图数据可以包括基于矢量的2D几何结构数据。
根据3D相机视点使用2D地图数据生成2D地图纹理(块508)。生成地图纹理可以包括将包括在2D地图数据中地图元素呈现在纹理中以及将没有地图元素的区域呈现在纹理的透明段中。在某些实现方式中,生成地图纹理也包括将2D地图数据呈现到图形流水线的帧缓冲器并且随后将帧缓冲器复制到纹理中。生成地图纹理也可以包括将包括在2D地图数据中的某种类型的地图元素呈现在纹理中并且将另一类型的(或所有其它类型的)地图元素呈现在纹理的透明区域中,正如参考图8B所讨论的那样。取决于场景,被呈现为非透明的地图元素的类型可以包括道路、标签、以及兴趣点(POI)指示符。
在块510处,3D场景根据3D相机视点并且使用地图纹理以及图像纹理。该方法在块510之后结束。
接着参考图6A,用于根据相机相对于3D场景的视角生成2D地图纹理的示例方法600可以在2D纹理呈现引擎中实现,例如,诸如图1的引擎120或者图3A的引擎304。根据此方法,在块602处接收作为相机视点在笛卡尔坐标系或另一个适当的3D坐标系中的指示的3D相机视点。接下来,在块604处,使用地形层几何结构和飞行方向(DOF)矢量而确定2D地图表面上的目标点。在块606处,将相机的坐标从笛卡尔坐标系变换到2D地图的墨卡托坐标系,并且在块608处,确定3D相机相对于2D地图的倾斜和旋转。如果需要,在块610处,可确定曲率校正因子并且将其应用于2D相机视点的目标距离参数。
图6B图示同样可在2D纹理呈现引擎中实现的,用于由于地球曲率选择性地校正相机位置的示例方法620。
在块622处接收笛卡尔坐标系中3D相机视点的指示。接下来,在块624处接收高度阈值值。高度阈值值可以以由3D场景代表的物理世界中的米表示。例如,高度阈值值可以是30米,而对z-偏移值的变换可以如上文所讨论的实现。
在块626处,将3D相机的位置的垂直分量与高度阈值进行比较。如果3D相机当前位于低于高度阈值处,应用笛卡尔坐标系和墨卡托坐标系之间的线性变换(块628)。当流程从块626向下前进到包括块628的分支时,曲率因子不被应用。然而,如果3D相机当前位于高度阈值之上处,确定沿地球表面的弧的长度arcLen(块630)。还沿假象的直表面确定沿假想的平坦表面的长度flatLen(块632)。arcLen和flatLen值被用于确定校正因子(块634),该校正因子在呈现期间被应用于地图纹理(块636),正如同样在上面讨论过的那样。同样需要注意的是,当流程从块626向下前进到包括块630-636的分支时,笛卡尔和墨卡托之间的非线性变换被使用。
接下来,图7A-7C图示可以操作在图1的系统中的、用于以2D地图增强3D场景的数个示例性方法。举例来说,这些技术可以以2D纹理应用引擎124实现。图7A的方法通常对应于图4A的图,图7B的方法通常对应于图4B的图,而图7C的方法通常对应于图4C的图。
首先参考图7A,在块702处,根据2D相机视点生成2D地图纹理。在块704处,3D几何结构数据和图像纹理被用于呈现地形层以及建筑和植被层。之后,以地图纹理重新呈现地形层(块706)。
或者,根据图7B的方法710,在块712处,根据2D相机视点生成2D地图纹理。之后,在块714处,3D几何结构数据、图像纹理、以及地图纹理被用于呈现地形层以及建筑与植被层。
作为另一个选择,根据图7C的方法720,可以以2D地图而增强3D场景。在块722处,根据2D相机视点生成地图纹理。在块724处,3D地形几何结构数据、图像纹理、以及地图纹理被用于呈现地形层。之后,在块726处,3D建筑与植被几何结构数据和图像纹理被用于呈现建筑与植被层。
图8A是可以操作在图1的系统中的、用于使用高程将2D地图纹理应用于地形层的示例方法800的流程图。举例来说,方法800可以在2D纹理应用引擎124中实现。
在块802处,根据2D相机视点提供或生成2D地图纹理。在块804处,基于眼空间高程值确定z-偏移值。在块806处,根据z-偏移将2D地图纹理应用于3D地形几何结构。如前所述,通过提升其外表到某些建筑与植被之上,z-偏移带来地图元素信息,例如,路径、路线、道路。
举例来说,图8B是可以在3D纹理呈现引擎120或304中实现的示例方法810的流程图。
方法810包括接收2D地图数据(块812)以及接收对于一个或数个期望类型的地图元素的选择,以应用于3D场景(块814)。可以在使用2D地图数据生成的2D地图纹理中使被选择的地图元素成为非透明的(块816)。同时,在块814处在2D地图纹理中使未被选择的地图元素成为透明的(块818)。
附加注意事项
以下的附加注意事项适用于前面的讨论。贯穿本说明书,多个实例可以实现被描述为单一示例的组件、操作或者结构。尽管一个或多个方法的个别的操作已被图示和描述为单独的操作,个别的操作中的一个或多个可以被同时执行,并且被执行的操作不需要按照图示的顺序执行。在示例配置中展示为单独组件的结构和功能可以被实现为组合的结构或组件。类似地,展示为单一组件的结构和功能可以被实现为单独的组件。这些以及其它的变化、修改、添加和改进都落入在本主题的范围内。
某些实施例在此被描述为包括逻辑的或若干组件、模块或者机制。模块可能构成软件模块(例如,体现在机器可读介质上或传输信号中的代码)或者硬件模块。硬件模块是有形的单元,其能够执行某些操作并且可以以某一方式被配置或者布置。在示例实施例中,一个或多个计算机系统(例如,单独、客户端或者服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如,处理器或一组处理器)可以通过软件(例如,应用或者应用的一部分)被配置为操作以执行此处描述的某些操作的硬件模块。
除非特别说明,否则这里的讨论使用的词,诸如“处理”、“计算”、“确定”、“展示”、“显示”等可能指的是在一个或多个存储器(例如,易失性存储器、非易失性存储器或者它们的组合)、寄存器、或接收、存储、传输或显示信息的其它机器组件内操作或变换被表示为物理(例如,电子的、磁的、或光学的)量的数据的机器(例如,计算机)的动作或处理。
这里使用的对“一个实施例”或“实施例”的任何引用的意思是指与该实施例相结合描述的特定的要素、特征、结构或者特性被包括在至少一个实施例中。在说明中多个地方出现的短语“在一个实施例中”不一定都指同一个实施例。
某些实施例可以使用表达“耦接”和“相连”连同他们的派生物来描述。例如,某些实施例可以使用术语“耦接”来描述以指示两个或多个要素是直接物理或者电接触的。然而,术语“耦接”也可能意指两个或多个要素彼此不是直接接触的,但是仍然共同协作或彼此交互。实施例并不局限在这样的语境中。
正如此处使用的,术语“包括”、“包含”、“具有”或其变形,意图是覆盖非排它的包括。例如,包括一系列元素的过程、方法、物品、或装置并不必须仅仅局限于那些要素,而是可以包括未被清楚列出或固有于这样的过程、方法、物品、或装置的其它元素。进一步讲,除非明确陈述了相反的意思,“或”指的是包含的或而不是排除的或。例如,条件A或者B被下列情况的任何一个满足:A为真(或者出现)而且B为假(或者不出现),A为假(或者不出现)而且B为真(或者出现),以及A和B均为真(或者出现)。
此外,“一个”或者“一”的使用被用来描述此处的实施例的元素和组件。这样做只是为了方便起见,并且给出本发明以普遍意义。此描述应被解读为包括一个或至少一个并且单数也包括复数的意义,除非明显地表明其意义并非如此。
在阅读本公开之后,本领域的技术人员将认识到,通过此处公开的原则,用于将二维地图数据叠加在三维场景上的系统和过程的额外可供选择的结构性和功能性设计。从而,虽然已说明和描述了特定实施例和应用,但是应该理解,本公开的实施例并不局限于此处公开的精确结构和组件。对于本领域技术人员来说明显的各种修改、改变和变化,可以在此处公开的方法和装置的布置、操作以及细节中做出,而不脱离所附权利要求中定义的精神和范围。

Claims (27)

1.一种在计算设备中用于以二维(2D)地图数据增强三维(3D)场景的方法,所述方法包括:
接收包括3D几何结构数据和图像纹理数据的3D地图数据;
对于3D坐标系中虚拟相机的特定视角,使用所述3D几何结构数据呈现所述3D场景的几何结构,其中,所述特定视角包括相对于所述3D场景的位置和定向;
根据所述3D坐标系中所述虚拟相机的所述视角使用所述2D地图数据生成地图纹理;并且
将(i)所述图像纹理和(ii)所述地图纹理应用于所呈现的几何结构。
2.如权利要求1所述的方法,其中,所述2D地图数据在与将球面投影到平面上相关联的坐标系中被参数化。
3.如权利要求2所述的方法,其中,在其中所述2D地图数据被参数化的所述坐标系是(i)墨卡托或(ii)方形板之一。
4.如权利要求2所述的方法,其中,所述3D坐标系是笛卡尔。
5.如权利要求2所述的方法,其中,生成所述地图纹理包括确定所述虚拟相机相对于与所述2D地图数据相关联的平面的视角,包括计算:
(i)所述2D地图数据内的目标点,
(ii)所述虚拟相机和所述目标点之间的目标距离,
(iii)所述虚拟相机的倾斜,以及
(iv)所述虚拟相机的旋转。
6.如权利要求5所述的方法,其中:
所述3D几何结构数据包括(i)地形层几何结构数据(ii)建筑与植被层几何结构数据,并且
计算所述目标点包括确定飞行方向(DOF)矢量和地形层之间的交叉点。
7.如权利要求5所述的方法,其中,计算所述目标距离包括将所述3D坐标系中所述虚拟相机的所述位置变换到在其中所述2D地图数据被参数化的所述坐标系中。
8.如权利要求5所述的方法,其中,生成所述地图纹理包括将曲率因子应用于所述目标距离以考虑地球的曲率。
9.如权利要求1所述的方法,其中:
所述3D几何结构数据包括(i)地形层几何结构数据(ii)建筑与植被层几何结构数据;
呈现所述3D场景的所述几何结构包括:
(i)在第一实例中,使用所述地形层几何结构数据呈现地形层并且使用所述建筑与植被层几何结构数据呈现所述建筑与植被层,并且
(ii)在第二实例中,使用所述地形层几何结构数据重新呈现所述地形层;并且
应用所述图像纹理和所述地图纹理包括:
(i)在所述地形层被重新呈现之前将所述图像纹理应用于所呈现的地形层和所述建筑与植被层,并且
(ii)将所述地图纹理应用于重新呈现的地形层。
10.如权利要求9所述的方法,其中,将所述地图纹理应用于所重新呈现的地形层包括应用深度偏移以将所述地图纹理提升到所述建筑与植被层的底部之上。
11.如权利要求1所述的方法,其中:
所述3D几何结构数据包括(i)地形层几何结构数据(ii)建筑与植被层几何结构数据;并且
呈现所述3D场景的所述几何结构包括:
(i)在第一实例中,使用所述地形层几何结构数据呈现地形层并且不呈现建筑与植被层,并且
(ii)在第二实例中,使用所述建筑与植被层几何结构数据呈现所述建筑与植被层;
应用所述图像纹理和所述地图纹理包括:
(i)在所述建筑与植被层被呈现之前将所述图像纹理和所述地图纹理应用于所述地形层,并且
(ii)将所述图像纹理应用于所述建筑与植被层。
12.如权利要求1所述的方法,其中,生成所述地图纹理包括:
呈现所述2D地图数据到图形流水线的帧缓冲器,并且
复制所述帧缓冲器到纹理中。
13.如权利要求1所述的方法,其中,接收所述3D几何结构数据包括接收指定多个互连的顶点的网格数据。
14.如权利要求1所述的方法,其中,所述2D地图数据包括基于矢量的2D几何结构数据和地图纹理数据。
15.如权利要求1所述的方法,其中,所述图像纹理是摄影的纹理。
16.如权利要求1所述的方法,其中,生成所述地图纹理包括:
将包括在所述2D地图数据中的地图元素呈现在纹理中,并且
将无地图元素的地区呈现在所述纹理的透明部分中。
17.如权利要求1所述的方法,其中,生成所述地图纹理包括:
将包括在所述2D地图数据中的第一类型的地图元素呈现在所述纹理中,并且
将包括在所述2D地图数据中的第二类型的地图元素呈现在所述纹理的透明部分中。
18.如权利要求17所述的方法,其中,所述第一类型包括下列中的至少一个:
(i)道路
(ii)标签,以及
(iii)兴趣点(POI)指示符。
19.一种计算设备,包括:
包括显示设备的用户界面;
一个或多个处理器;
其上存储有指令的有形计算机可读介质,所述指令当在所述一个或多个处理器上被执行时,使得所述计算设备:
接收指定数字2D地图的元素的2D地图数据,其中,所述2D地图数据在与将球面投影到平面上相关联的坐标系中被参数化;
接收3D坐标系中虚拟相机相对于3D场景的视角的指示;
使用所述3D地图数据,根据所述虚拟相机的所述视角生成地图纹理以应用于所述3D场景;并且
将所述3D场景应用于所述地图纹理。
20.如权利要求19所述的计算设备,其中,为了生成所述地图纹理,所述指令使所述计算设备计算:
(i)所述2D地图数据内的目标点,
(ii)所述虚拟相机和所述目标点之间的目标距离,
(iii)所述虚拟相机的倾斜,以及
(iv)所述虚拟相机的旋转。
21.如权利要求20所述的计算设备,其中:
所述3D几何结构数据包括(i)地形层几何结构数据(ii)建筑与植被层几何结构数据,并且
为了计算所述目标点,所述指令使所述计算设备确定飞行方向(DOF)矢量和地形层之间的交叉点。
22.如权利要求20所述的计算设备,其中:
为了生成所述地图纹理,所述指令使所述计算设备将曲率因子应用于所述目标距离以考虑地球的曲率。
23.如权利要求19所述的计算设备,其中,所述指令进一步使所述计算设备:
接收包括3D几何结构数据和图像纹理数据的3D地图数据;并且
使用所述3D几何结构数据和所述图像纹理数据呈现所述3D场景。
24.如权利要求23所述的计算设备,进一步包括:
图形处理器;
其中,所述指令包括可在所述图形处理器上执行的着色器程序以在所述3D场景上混合所述地图纹理。
25.如权利要求19所述的计算设备,其中,为了生成所述地图纹理,所述指令使所述计算设备:
将包括在所述2D地图数据中的第一类型的地图元素呈现在所述纹理中,并且
将包括在所述2D地图数据中的第二类型的地图元素呈现在所述纹理的透明部分中。
26.如权利要求19所述的计算设备,其中,在其中所述2D地图被参数化的所述坐标系是(i)墨卡托或(ii)方形板之一。
27.一种其上存储有指令的有形非暂时性计算机可读介质,所述指令当被一个或多个处理器执行时,使得所述一个或多个处理器:
接收包括3D几何结构数据和图像纹理数据的3D地图数据;
对于3D坐标系中虚拟相机的特定视角,使用所述3D几何结构数据呈现3D场景的几何结构,其中,所述特定视角包括相对于所述3D场景的位置和定向;
使得根据所述3D坐标系中所述虚拟相机的所述视角使用所述2D地图数据生成地图纹理;并且
使得将(i)所述图像纹理和(ii)所述地图纹理应用于所呈现的几何结构。
CN201480027301.1A 2013-03-15 2014-03-14 用于在三维场景上叠加二维地图数据的系统和方法 Active CN105247575B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/834,474 US9183666B2 (en) 2013-03-15 2013-03-15 System and method for overlaying two-dimensional map data on a three-dimensional scene
US13/834,474 2013-03-15
PCT/US2014/027713 WO2014152770A1 (en) 2013-03-15 2014-03-14 Overlaying two-dimensional map data on a three-dimensional scene

Publications (2)

Publication Number Publication Date
CN105247575A true CN105247575A (zh) 2016-01-13
CN105247575B CN105247575B (zh) 2018-08-31

Family

ID=51525397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480027301.1A Active CN105247575B (zh) 2013-03-15 2014-03-14 用于在三维场景上叠加二维地图数据的系统和方法

Country Status (5)

Country Link
US (1) US9183666B2 (zh)
EP (1) EP2973422B1 (zh)
CN (1) CN105247575B (zh)
DE (1) DE202014010937U1 (zh)
WO (1) WO2014152770A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108053495A (zh) * 2018-01-19 2018-05-18 姚惜珺 2d数字资源转化为可动态变化的3d数字资源的方法及系统
CN108334523A (zh) * 2017-01-20 2018-07-27 腾讯科技(深圳)有限公司 道路场景地图的构建方法和装置
CN109146954A (zh) * 2017-06-19 2019-01-04 苹果公司 用于与所显示的地图进行交互的增强现实界面
CN110072087A (zh) * 2019-05-07 2019-07-30 高新兴科技集团股份有限公司 基于3d地图的摄像机联动方法、装置、设备及存储介质
CN110326030A (zh) * 2016-12-30 2019-10-11 脸谱公司 用于提供与虚拟内容项目相关联的嵌套内容项目的系统和方法
CN110335336A (zh) * 2018-03-28 2019-10-15 罗伯特·博世有限公司 用于天气效果的3d粒子系统的高效渲染的方法和系统
CN110363837A (zh) * 2019-07-23 2019-10-22 网易(杭州)网络有限公司 游戏中纹理图像的处理方法及装置、电子设备、存储介质
CN110458930A (zh) * 2019-08-13 2019-11-15 网易(杭州)网络有限公司 三维地图的渲染方法、装置及存储介质
CN110706319A (zh) * 2019-10-15 2020-01-17 北京思维造物信息科技股份有限公司 动画监控播放方法、装置、设备和存储介质
CN110908510A (zh) * 2019-11-08 2020-03-24 四川大学 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法
CN111318022A (zh) * 2020-03-19 2020-06-23 网易(杭州)网络有限公司 游戏中的游戏场景生成方法及装置、电子设备、存储介质
CN112365591A (zh) * 2020-09-29 2021-02-12 西安应用光学研究所 一种基于合成视觉的空地协同综合态势生成方法
CN112837412A (zh) * 2019-11-25 2021-05-25 科沃斯机器人股份有限公司 三维地图交互方法、装置、机器人及存储介质
US11393174B2 (en) 2017-09-29 2022-07-19 Apple Inc. Cooperative augmented reality map interface

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2725323B1 (en) * 2012-10-29 2023-11-29 Harman Becker Automotive Systems GmbH Map viewer and method
US9418485B2 (en) * 2013-05-31 2016-08-16 Apple Inc. Adjusting heights for road path indicators
EP2811463B1 (en) 2013-06-04 2018-11-21 Dassault Systèmes Designing a 3d modeled object with 2d views
EP2874118B1 (en) * 2013-11-18 2017-08-02 Dassault Systèmes Computing camera parameters
JP6087301B2 (ja) * 2014-02-13 2017-03-01 株式会社ジオ技術研究所 3次元地図表示システム
EP3032495B1 (en) 2014-12-10 2019-11-13 Dassault Systèmes Texturing a 3d modeled object
US10482848B2 (en) 2015-08-07 2019-11-19 International Business Machines Corporation Facile and precise georeferencing and overlaying of map tiles
US20170091993A1 (en) * 2015-09-25 2017-03-30 Microsoft Technology Licensing, Llc 3D Model Generation From Map Data and User Interface
EP3188033B1 (en) 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object
US10650039B2 (en) * 2016-02-25 2020-05-12 Lionheart Legacy Uco Customizable world map
US10147215B2 (en) 2016-04-17 2018-12-04 Streetography, Inc. Digitally generated set of regional shapes for presenting information on a display screen
EP3446232A1 (en) * 2016-04-17 2019-02-27 Streetography, Inc. A digitally generated set of regional shapes for presenting information on a display screen
US10145704B2 (en) 2016-04-17 2018-12-04 Streetography, Inc. Digitally-generated map containing defined regions for rendering with photo overlays
US10580191B2 (en) 2016-06-12 2020-03-03 Apple Inc. Procedural terrain generation systems and related methods
EP4131172A1 (en) 2016-09-12 2023-02-08 Dassault Systèmes Deep convolutional neural network for 3d reconstruction of a real object
CN107464283B (zh) * 2017-07-13 2020-11-10 广西我的科技有限公司 一种三维空间信息采集分析处理的方法及装置
CN111383334B (zh) * 2018-12-28 2022-08-19 北京嘀嘀无限科技发展有限公司 用于渲染对象的系统和方法
CN109741414B (zh) * 2018-12-29 2023-06-20 超级魔方(北京)科技有限公司 一种场景中半透明物体的渲染方法、装置及电子设备
US11164395B2 (en) 2019-05-15 2021-11-02 Microsoft Technology Licensing, Llc Structure switching in a three-dimensional environment
US11287947B2 (en) 2019-05-15 2022-03-29 Microsoft Technology Licensing, Llc Contextual input in a three-dimensional environment
US11048376B2 (en) * 2019-05-15 2021-06-29 Microsoft Technology Licensing, Llc Text editing system for 3D environment
CN110838178B (zh) * 2019-11-26 2024-01-26 北京世纪高通科技有限公司 道路场景模型的确定方法及装置
CN111192299A (zh) * 2019-12-20 2020-05-22 中冶天工集团有限公司 一种基于综合管廊视频监控系统的人员轨迹定位方法
CN111462204B (zh) * 2020-02-13 2023-03-03 腾讯科技(深圳)有限公司 虚拟模型的生成方法、装置、存储介质以及电子装置
US11232630B2 (en) * 2020-04-15 2022-01-25 Cesium GS, Inc. Systems and methods for terrain modification at runtime using displacement mapping
CN111815775A (zh) * 2020-06-12 2020-10-23 中国船舶重工集团公司第七二四研究所 一种基于OpenGL的三维背景地图快速填充方法
CN111915711A (zh) * 2020-08-04 2020-11-10 北京吉威空间信息股份有限公司 支持虚拟vr的三调地类图斑立体图像获取方法及装置
CN112084287B (zh) * 2020-09-14 2024-01-05 广东弓叶科技有限公司 一种电子地图生成方法、装置及电子地图
CN112364693B (zh) * 2020-10-12 2024-04-16 星火科技技术(深圳)有限责任公司 基于双目视觉的障碍识别方法、装置、设备及存储介质
WO2022164452A1 (en) * 2021-01-29 2022-08-04 Hewlett-Packard Development Company, L.P. Lattice structures with generated surface patterns
CN112870698A (zh) * 2021-02-26 2021-06-01 网易(杭州)网络有限公司 目标游戏场景的生成方法及装置、存储介质、电子设备
CN113034685B (zh) * 2021-03-18 2022-12-06 北京百度网讯科技有限公司 激光点云与高精地图的叠加方法、装置及电子设备
CN113449021B (zh) * 2021-06-28 2023-05-19 华科融资租赁有限公司 空间坐标转换方法、装置、计算机设备和可读存储介质
CN113436253B (zh) * 2021-06-28 2023-05-16 华科融资租赁有限公司 地图的定位显示方法、装置、计算机设备和存储介质
CN113763561B (zh) * 2021-08-19 2022-08-02 北京三快在线科技有限公司 Poi数据生成方法、装置、存储介质及电子设备
CN115830246B (zh) * 2023-01-09 2023-04-28 中国地质大学(武汉) 一种基于增量式sfm的球面全景影像三维重建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050156928A1 (en) * 2002-03-11 2005-07-21 Microsoft Corporation Efficient scenery object rendering
US20050177350A1 (en) * 2001-06-20 2005-08-11 Kiyonari Kishikawa Three-dimensional electronic map data creation method
US20060109267A1 (en) * 2004-11-23 2006-05-25 Metavr Three-dimensional visualization architecture
CN102309320A (zh) * 2010-06-10 2012-01-11 韦伯斯特生物官能(以色列)有限公司 操作者控制的标测点密度

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7038681B2 (en) 2000-03-29 2006-05-02 Sourceprose Corporation System and method for georeferencing maps
US7236178B2 (en) 2001-07-19 2007-06-26 Autodesk, Inc. Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces
US7324116B2 (en) 2002-06-20 2008-01-29 Microsoft Corporation Systems and methods for providing controllable texture sampling
US7095423B2 (en) 2002-07-19 2006-08-22 Evans & Sutherland Computer Corporation System and method for combining independent scene layers to form computer generated environments
US7130740B2 (en) 2003-11-07 2006-10-31 Motorola, Inc. Method and apparatus for generation of real-time graphical descriptions in navigational systems
JP2005339313A (ja) 2004-05-28 2005-12-08 Toshiba Corp 画像提示方法及び装置
US7420557B1 (en) 2005-08-25 2008-09-02 Nvidia Corporation Vertex processing when w=0
WO2007027847A2 (en) 2005-09-01 2007-03-08 Geosim Systems Ltd. System and method for cost-effective, high-fidelity 3d-modeling of large-scale urban environments
US20100010782A1 (en) 2008-07-09 2010-01-14 Livermore Software Technology Corporation Systems and Methods of Selecting a CAE Analysis Solver with Appropriate Numerical Precision in Each of a Series of Hierarchically Related Engineering Simulations
WO2010088840A1 (en) 2009-02-06 2010-08-12 The Hong Kong University Of Science And Technology Generating three-dimensional models from images
IL202460A (en) * 2009-12-01 2013-08-29 Rafael Advanced Defense Sys Method and system for creating a 3D view of real arena for military planning and operations
US8319772B2 (en) 2010-07-23 2012-11-27 Microsoft Corporation 3D layering of map metadata
US8902288B1 (en) * 2011-06-16 2014-12-02 Google Inc. Photo-image-based 3D modeling system on a mobile device
US9592833B2 (en) 2012-12-18 2017-03-14 Rieker Inc. Method and apparatus for capturing road curve properties and calculating maximum safe advisory speed

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177350A1 (en) * 2001-06-20 2005-08-11 Kiyonari Kishikawa Three-dimensional electronic map data creation method
US20050156928A1 (en) * 2002-03-11 2005-07-21 Microsoft Corporation Efficient scenery object rendering
US20060109267A1 (en) * 2004-11-23 2006-05-25 Metavr Three-dimensional visualization architecture
CN102309320A (zh) * 2010-06-10 2012-01-11 韦伯斯特生物官能(以色列)有限公司 操作者控制的标测点密度

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110326030A (zh) * 2016-12-30 2019-10-11 脸谱公司 用于提供与虚拟内容项目相关联的嵌套内容项目的系统和方法
CN110326030B (zh) * 2016-12-30 2023-11-24 元平台公司 用于提供与虚拟内容项目相关联的嵌套内容项目的系统和方法
CN108334523B (zh) * 2017-01-20 2022-04-12 腾讯科技(深圳)有限公司 道路场景地图的构建方法和装置
CN108334523A (zh) * 2017-01-20 2018-07-27 腾讯科技(深圳)有限公司 道路场景地图的构建方法和装置
CN109146954A (zh) * 2017-06-19 2019-01-04 苹果公司 用于与所显示的地图进行交互的增强现实界面
CN109146954B (zh) * 2017-06-19 2022-08-30 苹果公司 用于与所显示的地图进行交互的增强现实界面
US11922588B2 (en) 2017-09-29 2024-03-05 Apple Inc. Cooperative augmented reality map interface
US11393174B2 (en) 2017-09-29 2022-07-19 Apple Inc. Cooperative augmented reality map interface
CN108053495A (zh) * 2018-01-19 2018-05-18 姚惜珺 2d数字资源转化为可动态变化的3d数字资源的方法及系统
CN110335336A (zh) * 2018-03-28 2019-10-15 罗伯特·博世有限公司 用于天气效果的3d粒子系统的高效渲染的方法和系统
CN110072087A (zh) * 2019-05-07 2019-07-30 高新兴科技集团股份有限公司 基于3d地图的摄像机联动方法、装置、设备及存储介质
CN110363837B (zh) * 2019-07-23 2023-05-23 网易(杭州)网络有限公司 游戏中纹理图像的处理方法及装置、电子设备、存储介质
CN110363837A (zh) * 2019-07-23 2019-10-22 网易(杭州)网络有限公司 游戏中纹理图像的处理方法及装置、电子设备、存储介质
CN110458930B (zh) * 2019-08-13 2023-08-08 网易(杭州)网络有限公司 三维地图的渲染方法、装置及存储介质
CN110458930A (zh) * 2019-08-13 2019-11-15 网易(杭州)网络有限公司 三维地图的渲染方法、装置及存储介质
CN110706319A (zh) * 2019-10-15 2020-01-17 北京思维造物信息科技股份有限公司 动画监控播放方法、装置、设备和存储介质
CN110706319B (zh) * 2019-10-15 2024-02-13 北京思维造物信息科技股份有限公司 动画监控播放方法、装置、设备和存储介质
CN110908510A (zh) * 2019-11-08 2020-03-24 四川大学 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法
CN110908510B (zh) * 2019-11-08 2022-09-02 四川大学 一种倾斜摄影建模数据在沉浸式显示设备中的应用方法
CN112837412A (zh) * 2019-11-25 2021-05-25 科沃斯机器人股份有限公司 三维地图交互方法、装置、机器人及存储介质
CN112837412B (zh) * 2019-11-25 2023-08-04 科沃斯家用机器人有限公司 三维地图交互方法、装置、机器人及存储介质
CN111318022A (zh) * 2020-03-19 2020-06-23 网易(杭州)网络有限公司 游戏中的游戏场景生成方法及装置、电子设备、存储介质
CN111318022B (zh) * 2020-03-19 2023-04-14 网易(杭州)网络有限公司 游戏中的游戏场景生成方法及装置、电子设备、存储介质
CN112365591A (zh) * 2020-09-29 2021-02-12 西安应用光学研究所 一种基于合成视觉的空地协同综合态势生成方法

Also Published As

Publication number Publication date
EP2973422A4 (en) 2016-11-30
CN105247575B (zh) 2018-08-31
WO2014152770A1 (en) 2014-09-25
EP2973422B1 (en) 2024-02-28
US9183666B2 (en) 2015-11-10
EP2973422A1 (en) 2016-01-20
US20140267279A1 (en) 2014-09-18
DE202014010937U1 (de) 2017-01-24

Similar Documents

Publication Publication Date Title
CN105247575A (zh) 用于在三维场景上叠加二维地图数据的系统和方法
US9215448B2 (en) Stereo panoramic images
EP3170151B1 (en) Blending between street view and earth view
Evangelidis et al. 3D geospatial visualizations: Animation and motion effects on spatial objects
US20090273601A1 (en) Image Presentation Method and Apparatus for 3D Navigation and Mobile Device Including the Apparatus
US20100085350A1 (en) Oblique display with additional detail
Semmo et al. Cartography-oriented design of 3D geospatial information visualization–overview and techniques
CN105336003A (zh) 结合gpu技术实时流畅绘制出三维地形模型的方法
Mesáro et al. Use of Augmented Reality and Gamification techniques in tourism.
Ruzinoor et al. A review on 3D terrain visualization of GIS data: techniques and software
CN106326334A (zh) 一种电子地图的显示、生成方法和装置
Trenchev et al. Mathematical approaches for creation of complex 3D models and their application in education
Vital et al. Digital survey: How it can change the way we perceive and understand heritage sites
Yu et al. A hybrid system of expanding 2D GIS into 3D space
Dinkov et al. 3D modelling and visualization for landscape simulation
Lobo et al. Opportunities and challenges for Augmented Reality situated geographical visualization
Hajek et al. Principles of cartographic design for 3d maps–focused on urban areas
Dorffner et al. Generation and visualization of 3D photo-models using hybrid block adjustment with assumptions on the object shape
Virtanen et al. Browser based 3D for the built environment
She et al. An efficient method for rendering linear symbols on 3D terrain using a shader language
Häberling et al. Mountain cartography: revival of a classic domain
Oliveira et al. Incremental texture mapping for autonomous driving
Shahabi et al. Geodec: Enabling geospatial decision making
Liu et al. Fusing multiscale charts into 3D ENC systems based on underwater topography and remote sensing image
Dinkov Generation of 3D panoramic map for tourism management applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant