用于在三維場景上疊加二維地圖數(shù)據(jù)的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001] 本公開涉及地圖呈現(xiàn)系統(tǒng),包括電子地圖顯示系統(tǒng),并且更具體地說,涉及使用二 維(2D)地圖數(shù)據(jù)連同三維(3D)場景呈現(xiàn)地圖圖像的地圖呈現(xiàn)系統(tǒng)。
【背景技術(shù)】
[0002] 此處提供的背景描述的目的在于一般地展示本公開的場境。發(fā)明者目前的工作, 以及在申請時可能不會作為現(xiàn)有技術(shù)的描述的方面,就在這個背景部分描述而言,既不明 確也不隱含地被承認(rèn)為相對于本公開的現(xiàn)有技術(shù)。
[0003] 今天,各種計算設(shè)備,包括許多便攜式設(shè)備,支持顯示數(shù)字地圖("地圖應(yīng)用")的 軟件應(yīng)用。某些這種地圖應(yīng)用是交互式的,并為用戶提供獲得諸如到特定目的地的路徑的 有用的信息的能力。路徑可能包括一個或多個地圖元素,例如,從二維(2D)地圖數(shù)據(jù)中呈 現(xiàn)并顯示給觀看者的道路或路徑。2D地圖數(shù)據(jù)不包括高程信息并且地圖元素以平面的格式 展示。然而,平面格式不為觀看者提供與地圖元素與附近的結(jié)構(gòu)、植被、或起伏的地形的垂 直關(guān)系相關(guān)聯(lián)的信息。
[0004] 其它基于計算機(jī)的地圖應(yīng)用使用三維(3D)地圖數(shù)據(jù)為用戶提供逼真的交互場 景,該三維(3D)地圖數(shù)據(jù)可能會包含場景中的結(jié)構(gòu)、道路、植被、和地形的場景和照片的3D 幾何結(jié)構(gòu)。例如,定義3D幾何結(jié)構(gòu)的數(shù)據(jù)可以是由諸如3D網(wǎng)格的邊互連的一組頂點。照 片或其它圖像被用于"紋理化(texture) "3D幾何結(jié)構(gòu)。3D地圖數(shù)據(jù)通常被定義在3D坐標(biāo) 系中而不是在2D地圖的2D坐標(biāo)系中。
【發(fā)明內(nèi)容】
[0005] 軟件應(yīng)用,諸如web瀏覽器或地圖應(yīng)用準(zhǔn)確并有效地以對應(yīng)于同一地理地區(qū)的2D 地圖數(shù)據(jù)增強(qiáng)該地理地區(qū)的3D場景。3D場景使用描述3D幾何結(jié)構(gòu)(例如,網(wǎng)格)和圖像 紋理的3D地圖數(shù)據(jù)生成。2D地圖數(shù)據(jù)一般用于生成地理地區(qū)的平面的2D表示。為將2D 地圖數(shù)據(jù)應(yīng)用于3D場景,軟件應(yīng)用向可以被應(yīng)用于3D幾何結(jié)構(gòu)的"地圖紋理"呈現(xiàn)2D地 圖數(shù)據(jù),或2D地圖數(shù)據(jù)的某些被選擇的元素。為此,軟件應(yīng)用基于虛擬相機(jī)在3D場景中的 3D坐標(biāo)系中的位置,確定虛擬相機(jī)相對于2D地圖的視角。進(jìn)一步講,當(dāng)3D幾何結(jié)構(gòu)是,或 者可以被,分為地形層幾何結(jié)構(gòu)和建筑與植被層幾何結(jié)構(gòu)時,軟件應(yīng)用可以將地圖紋理應(yīng) 用于地形層幾何結(jié)構(gòu)。再進(jìn)一步,通過調(diào)整地圖紋理中像素的z-偏移值,軟件應(yīng)用可以"提 升"某些地圖元素到地形層幾何結(jié)構(gòu)以上。
[0006] 更具體地,在一個示例實現(xiàn)方式中,在計算設(shè)備中實現(xiàn)一種用于以2D地圖數(shù)據(jù)增 強(qiáng)3D場景的方法。該方法包括接收包括3D幾何結(jié)構(gòu)數(shù)據(jù)和圖像紋理數(shù)據(jù)的3D地圖數(shù)據(jù)。 對于3D坐標(biāo)系中虛擬相機(jī)的特定視角,該方法包括使用3D幾何結(jié)構(gòu)數(shù)據(jù)呈現(xiàn)3D場景的幾 何結(jié)構(gòu),其中該特定視角包括相對于3D場景的位置和定向。該方法進(jìn)一步包括根據(jù)3D坐 標(biāo)系中虛擬相機(jī)的視角使用2D地圖數(shù)據(jù)生成地圖紋理,并且將(i)圖像紋理和(ii)地圖 紋理應(yīng)用于所呈現(xiàn)的幾何結(jié)構(gòu)。
[0007] 根據(jù)又一個示例實現(xiàn)方式,計算設(shè)備包括用戶界面,該用戶界面包括顯示設(shè)備、一 個或多個處理器、以及存儲指令的有形計算機(jī)可讀介質(zhì)。該指令當(dāng)在一個或多個處理器上 執(zhí)行時,使得計算設(shè)備(i)接收指定數(shù)字2D地圖的元素的2D地圖數(shù)據(jù),其中該2D地圖數(shù) 據(jù)在與將球面投影到平面上相關(guān)聯(lián)的坐標(biāo)系中被參數(shù)化,(ii)接收3D坐標(biāo)系中虛擬相機(jī) 相對于3D場景的視角的指示,(iii)使用3D地圖數(shù)據(jù),根據(jù)虛擬相機(jī)的視角生成地圖紋理 以應(yīng)用于3D場景,以及(iv)將地圖紋理應(yīng)用到3D場景。
[0008] 根據(jù)又一個示例實現(xiàn)方式,有形非暫時性計算機(jī)可讀介質(zhì)存儲指令。這些指令當(dāng) 被一個或多個處理器執(zhí)行時,使得該一個或多個處理器接收包括3D幾何結(jié)構(gòu)數(shù)據(jù)和圖像 紋理數(shù)據(jù)的3D地圖數(shù)據(jù),并且,對于3D坐標(biāo)系中虛擬相機(jī)的特定視角,使用3D幾何結(jié)構(gòu)數(shù) 據(jù)呈現(xiàn)3D場景的幾何結(jié)構(gòu),其中該特定視角包括相對于3D場景的位置和定向。所執(zhí)行的 指令進(jìn)一步使得根據(jù)3D坐標(biāo)系中虛擬相機(jī)的視角使用2D地圖數(shù)據(jù)生成地圖紋理,并且使 得將(i)圖像紋理和(ii)地圖紋理應(yīng)用于所呈現(xiàn)的幾何結(jié)構(gòu)。
[0009] 根據(jù)又一個實現(xiàn)方式,計算設(shè)備包括(i)用于接收包括3D幾何結(jié)構(gòu)數(shù)據(jù)和圖像紋 理數(shù)據(jù)的3D地圖數(shù)據(jù)的裝置,(ii)用于對于3D坐標(biāo)系中虛擬相機(jī)的特定視角,使用3D幾 何結(jié)構(gòu)數(shù)據(jù)呈現(xiàn)3D場景的幾何結(jié)構(gòu)的裝置,其中特定視角包括相對于3D場景的位置和定 向,(iii)用于根據(jù)3D坐標(biāo)系中虛擬相機(jī)的視角使用2D地圖數(shù)據(jù)生成地圖紋理的裝置,以 及(iv)用于將圖像紋理和地圖紋理應(yīng)用于所呈現(xiàn)的幾何結(jié)構(gòu)的裝置。
【附圖說明】
[0010] 圖1是本公開的技術(shù)被用于以2D地圖數(shù)據(jù)增強(qiáng)3D場景的圖像呈現(xiàn)系統(tǒng)的框圖。
[0011] 圖2A圖示示例紋理化的3D場景。
[0012] 圖2B圖示被組織為兩個紋理化層的示例3D幾何結(jié)構(gòu)。
[0013] 圖2C圖示當(dāng)從處于較高高度的相機(jī)位置呈現(xiàn)圖像時,可能被考慮的曲率因子。
[0014] 圖2D圖示在考慮地球曲率之前(左)和考慮地球曲率之后呈現(xiàn)大地理區(qū)域的示 例。
[0015] 圖3A示意性圖示根據(jù)3D空間中虛擬相機(jī)的特定視角呈現(xiàn)2D地圖數(shù)據(jù)。
[0016] 圖3B示意性圖示根據(jù)3D空間中虛擬相機(jī)的特定視角使用地形信息呈現(xiàn)2D地圖 數(shù)據(jù)。
[0017] 圖4A示意性圖示用于以2D地圖信息增強(qiáng)3D場景的技術(shù),根據(jù)該技術(shù),地形層3D 幾何結(jié)構(gòu)和建筑與植被層3D幾何結(jié)構(gòu)以它們相應(yīng)的圖像紋理呈現(xiàn),并且地形層3D幾何結(jié) 構(gòu)再次以依賴于視點的2D地圖紋理呈現(xiàn)。
[0018] 圖4B示意性圖示用于以2D地圖信息增強(qiáng)3D場景的另一技術(shù),根據(jù)該技術(shù),圖像 紋理和依賴于視點的2D地圖紋理被應(yīng)用于包括地形層3D幾何結(jié)構(gòu)和建筑與植被層3D幾 何結(jié)構(gòu)的3D網(wǎng)格。
[0019] 圖4C示意性圖示用于以2D地圖信息增強(qiáng)3D場景的另一技術(shù),根據(jù)該技術(shù),地形 圖像紋理和依賴于視點的2D地圖紋理被應(yīng)用于地形層3D幾何結(jié)構(gòu),并且建筑與植被層3D 圖像紋理被應(yīng)用于建筑與植被層3D幾何結(jié)構(gòu)。
[0020] 圖5是可以操作在圖1的系統(tǒng)中的、用于以2D地圖數(shù)據(jù)增強(qiáng)3D場景的示例方法 的流程圖。
[0021] 圖6A是用于根據(jù)相機(jī)相對于可以操作在圖1的系統(tǒng)中的3D場景的視角,生成2D 地圖紋理的示例方法的流程圖。
[0022] 圖6B是可以操作在圖1的系統(tǒng)中的、用于由于地球的曲率選擇性地校正相機(jī)位置 的示例方法的流程圖。
[0023] 圖7A-7C是可以操作在圖1的系統(tǒng)中的、用于以2D地圖增強(qiáng)3D場景的示例性方 法的流程圖。
[0024] 圖8A是可以操作在圖1的系統(tǒng)中的、用于使用高程將2D地圖紋理應(yīng)用于地形層 的示例方法的流程圖。
[0025] 圖8B是可以操作在圖1的系統(tǒng)中的、用于生成2D地圖紋理的示例方法的流程圖, 其中未被選擇的元素是透明的。
【具體實施方式】
[0026] 綜述
[0027] 使用本公開的技術(shù),軟件應(yīng)用,諸如地圖應(yīng)用或web瀏覽器,利用用于生成同一地 理地區(qū)的二維數(shù)字(2D)地圖的數(shù)據(jù),有效并準(zhǔn)確地增強(qiáng)三維(3D)場景。結(jié)果,軟件應(yīng)用可 以將數(shù)字3D地圖身臨其境的體驗和數(shù)字2D地圖信息的豐富性相結(jié)合。例如,軟件應(yīng)用可 以將2D地圖提供的道路信息疊加在3D場景上,以取決于實時路況條件使用不同的顏色顯 示道路。作為另一個示例,軟件應(yīng)用可以允許用戶經(jīng)由用戶界面選擇并突出顯示3D地圖上 的道路。
[0028] 數(shù)字2D和3D地圖在幾個方面有所不同。一般來說,顯示在計算設(shè)備的屏幕上的 2D數(shù)字地圖以類似于傳統(tǒng)紙質(zhì)地圖的平面格式提供地理地區(qū)的俯視圖。2D數(shù)字地圖使用 描述諸如道路、自行車道、人行步道、建筑、公園、水體等各種地圖元素的數(shù)據(jù)("2D地圖數(shù) 據(jù)")生成。盡管某些2D地圖可能包括指示高程的文本或地形學(xué)的線,并不存在與大多數(shù) 地圖元素,諸如道路、路線和路徑相關(guān)聯(lián)的高度參數(shù)。數(shù)字2D地圖可以在與將球面投影到 平面上相關(guān)聯(lián)的2D坐標(biāo)系(諸如,墨卡托或方形板(platecarree))中被參數(shù)化。
[0029] 另一方面,數(shù)字3D地圖是地理地區(qū)的3D表示。數(shù)字3D地圖使用包括3D幾何結(jié)構(gòu) 數(shù)據(jù)(例如,3D網(wǎng)格)和圖像紋理的3D地圖數(shù)據(jù)生成。3D幾何結(jié)構(gòu)在3D坐標(biāo)系中被參數(shù) 化,例如,該3D坐標(biāo)系可以是笛卡爾系。作為更具體的示例,數(shù)字3D地圖可以在地心地固 (ECED)坐標(biāo)系中被參數(shù)化。為了清晰起見,下面的例子參考笛卡爾系。圖像紋理可以使用 真實環(huán)境的照片創(chuàng)建,并且因此可能會提供具有比相同地區(qū)的2D地圖更逼真的外觀的3D 地圖。然而,個別地圖特征的3D幾何結(jié)構(gòu),諸如建筑、道路、樹木,等等,通常不容易與3D網(wǎng) 格分離。例如,3D網(wǎng)格可以定義地形的幾何結(jié)構(gòu)和越過地形的道路,而不定義將道路與地形 分隔的邊界。因此很難分別選擇并操縱個別地圖特征或地圖特征的群組。
[0030] 生成3D場景的特定視圖可以被理解為通過位于3D場景的坐標(biāo)系中的某點的虛擬 (即,假想的)相機(jī)位置的視口,并且以相對于3D場景的某個定向,觀看3D場景。除了縮 放和移動,用戶還可以控制相機(jī)的俯仰、偏轉(zhuǎn)和滾轉(zhuǎn)參數(shù)。虛擬相機(jī)的位置和定向共同被稱 為"相機(jī)姿勢",并且也可以被稱為"相機(jī)視圖"或"相機(jī)的視角"。在某些場景中,響應(yīng)于用 戶輸入,相機(jī)姿勢變化頻繁(例如,每秒若干次)。
[0031] 為將2D地圖數(shù)據(jù)應(yīng)用于3D場景,在一個實現(xiàn)方式中的軟件應(yīng)用根據(jù)在3D場景的 坐標(biāo)系中的虛擬相機(jī)的當(dāng)前視角呈現(xiàn)2D地圖數(shù)據(jù)。為此,軟件應(yīng)用把2D地圖放置在3D設(shè) 置中的假想的2D平面上,使得2D地圖可以被虛擬相機(jī)以傾斜和旋轉(zhuǎn)的視角視到。軟件應(yīng) 用可以將虛擬相機(jī)的坐標(biāo)從3D場景的坐標(biāo)系轉(zhuǎn)換成2D地圖的坐標(biāo)系。正如下面將更詳細(xì) 地討論的,這一轉(zhuǎn)換至少在某些情況下考慮地球的曲率。使用虛擬相機(jī)的確定的位置,軟件 應(yīng)用呈現(xiàn)2D地圖以生成紋理("地圖紋理"),然后該紋理可以被應(yīng)用于3D幾何結(jié)構(gòu)。
[0032] 當(dāng)生成地圖紋理時,軟件應(yīng)用可能會以透明的方式呈現(xiàn)包括在2D地圖數(shù)據(jù)中的 某些元素,同時以非透明的方式呈現(xiàn)其它元素。軟件應(yīng)用從而可以選擇所需的地圖元素以 應(yīng)用于3D場景。例如,軟件應(yīng)用可以向地圖紋理呈現(xiàn)道路,同時使道路周圍的元素透明。在 這個方案中,地圖紋理可以相應(yīng)地被稱為"道路紋理"。為應(yīng)用于3D場景而選擇的紋理形式 的地圖元素的