欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

地圖顯示系統(tǒng)、地圖數(shù)據(jù)處理裝置、地圖顯示裝置和方法

文檔序號(hào):6447293閱讀:174來(lái)源:國(guó)知局
專利名稱:地圖顯示系統(tǒng)、地圖數(shù)據(jù)處理裝置、地圖顯示裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及地圖顯示系統(tǒng)、地圖數(shù)據(jù)處理裝置、地圖顯示裝置、和地圖顯示方法,其用于一般導(dǎo)航系統(tǒng),如汽車導(dǎo)航系統(tǒng)和用于給步行者顯示到其目的地的路線的步行導(dǎo)航系統(tǒng),本發(fā)明特別涉及具有顯示三維地圖的功能的地圖顯示系統(tǒng)、地圖數(shù)據(jù)處理裝置、地圖顯示裝置、和地圖顯示方法。
背景技術(shù)
在近幾年里,用于汽車導(dǎo)航系統(tǒng)的三維地圖顯示技術(shù)得到了發(fā)展,已經(jīng)可以在汽車導(dǎo)航屏幕上顯示三維地圖。這樣,通過(guò)汽車導(dǎo)航系統(tǒng),用戶能夠以三維方式知道當(dāng)前位置與諸如周圍建筑和十字路口的三維結(jié)構(gòu)的關(guān)系。
同樣,在諸如個(gè)人數(shù)字助理(PDA)和便攜式電話的終端上已經(jīng)安裝或可選地安裝用于了解當(dāng)前位置的全球定位系統(tǒng)(GPS)。因此,用于引導(dǎo)持有這種終端的用戶從當(dāng)前位置去往其目的地的步行導(dǎo)航系統(tǒng)已經(jīng)投入實(shí)際使用。
而且,能夠通過(guò)硬件實(shí)時(shí)高速地在這種便攜式終端的屏幕上繪制(render)三維圖形的三維圖形繪制引擎最近已經(jīng)投入實(shí)際使用,甚至在便攜式終端上也能夠高速繪制圖形。
硬盤(pán)也可以安裝在汽車導(dǎo)航裝置上。同樣,外設(shè)大容量存儲(chǔ)器,如Memory Stick(Memory Stick(記憶棒)是索尼公司的注冊(cè)商標(biāo)),可以安裝在諸如PDA的便攜式終端上。大量的數(shù)據(jù),如三維地圖數(shù)據(jù),被存儲(chǔ)在這樣的存儲(chǔ)器中,使得可以高速訪問(wèn)這些數(shù)據(jù)。
布景圖(scene graph),顯示三維圖形的一種技術(shù),用于繪制有復(fù)雜結(jié)構(gòu)的物體。
圖33A和33B顯示了利用布景圖構(gòu)造的物體的例子。圖33A顯示了作為物體的三維機(jī)器人140,圖33B顯示了構(gòu)造該物體的部分。
圖34顯示了呈現(xiàn)圖33A所示物體的結(jié)構(gòu)的布景圖的例子。
圖35顯示了構(gòu)成用布景圖呈現(xiàn)的物體的部分的配置。
例如,為了表現(xiàn)圖33A所示的機(jī)器人140,預(yù)先定義了用作頭或身體的部分141、用作胳膊的部分142、用作腿的部分143,而部分ID,如“1”、“2”、和“3”,被分別分配給部分141、142、和143,以進(jìn)行管理,如圖33B所示。這些部分的位置關(guān)系從一個(gè)根來(lái)描述,從而每一部分都在縮放比例、旋轉(zhuǎn)、平移(translation)方面以此順序轉(zhuǎn)換,如在圖34的布景圖中所定義。
從而,例如,如圖35所示,表現(xiàn)并繪制(render)機(jī)器人的頭141a、身體141b、左臂142a、右臂142b、左腿143a、和右腿143b。
通常,有多種用于描述布景圖的格式和多種用于管理布景圖的應(yīng)用編程接口(API)可用。Softimage公司的虛擬現(xiàn)實(shí)造型語(yǔ)言(VRML)和XSI(商標(biāo))是典型的格式。已知Java3D(注冊(cè)商標(biāo))和OpenInventor(商標(biāo))是能夠管理布景圖的API。
一種能夠在布景圖中用K維樹(shù)結(jié)構(gòu)(更具體的,6維樹(shù)結(jié)構(gòu))定義三維建筑物以便于搜索的數(shù)據(jù)保持方法已經(jīng)被公開(kāi),例如,在公開(kāi)號(hào)為10-293862的日本未審批專利申請(qǐng)中(圖14)。
相反地,盡可能精確地實(shí)現(xiàn)高速繪制而不降低三維物體外形輪廓的詳細(xì)度級(jí)別(level of detail)(LOD)技術(shù)已經(jīng)被使用。
圖36至38說(shuō)明了LOD技術(shù)的例子。
例如,如圖36所示,根據(jù)LOD技術(shù),為要繪制的物體預(yù)先準(zhǔn)備多個(gè)詳細(xì)度級(jí)別,如物體150為級(jí)別1,物體151為級(jí)別2,而物體152為級(jí)別3。為了繪制,根據(jù)與觀察點(diǎn)(攝像機(jī)155的位置)的距離選擇處于最合適的詳細(xì)度級(jí)別的物體。
例如,對(duì)于與攝像機(jī)155非常接近的物體,繪制級(jí)別1的物體150;對(duì)于與攝像機(jī)155距離較遠(yuǎn)的物體,繪制級(jí)別2的物體151;對(duì)于與攝像機(jī)155距離非常遠(yuǎn)的物體,繪制級(jí)別3的物體152。因此,與必須為任何位置的任何物體繪制全部數(shù)據(jù)的常規(guī)技術(shù)相比較,通過(guò)引入LOD技術(shù),可以實(shí)現(xiàn)了為遠(yuǎn)離攝像機(jī)的物體繪制簡(jiǎn)化數(shù)據(jù),而為位于攝像機(jī)附加的物體繪制詳細(xì)數(shù)據(jù),如圖38所示。這樣,由于可以在不降低三維物體的外形輪廓的情況下減少圖形繪制引擎的負(fù)擔(dān),所以可以提高繪制速度。
為了在通信期間實(shí)時(shí)發(fā)送和繪制三維數(shù)據(jù)時(shí)避免幀下降(framedropping),在公開(kāi)號(hào)為2002-279449的日本未審專利申請(qǐng)公開(kāi)(第0072段至第0077段)中公開(kāi)了一種通過(guò)采用LOD技術(shù)根據(jù)詳細(xì)度級(jí)別對(duì)物體分類并通過(guò)延遲繪制細(xì)節(jié)部分而以幀頻避免幀下降的方法。
有許多種LOD技術(shù),一種四叉樹(shù)結(jié)構(gòu)(quadtree structure)被廣泛用作適用于具有類似三維地圖的結(jié)構(gòu)的物體數(shù)據(jù)的技術(shù)。
按照該技術(shù),在特定平面如三維地圖上廣泛分布的三維數(shù)據(jù),通過(guò)根據(jù)物體的詳細(xì)度級(jí)別分入處于多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn),而被記錄,并且在每個(gè)等級(jí)級(jí)別上每個(gè)節(jié)點(diǎn)被分成四個(gè)節(jié)點(diǎn)。
圖39至41說(shuō)明了四叉樹(shù)結(jié)構(gòu)。
在圖39中,原始數(shù)據(jù)160被分到三個(gè)等級(jí)級(jí)別上的節(jié)點(diǎn),如節(jié)點(diǎn)161的級(jí)別1具有大物體;節(jié)點(diǎn)162的級(jí)別2具有中等大小的物體;而節(jié)點(diǎn)163的級(jí)別3具有小物體,在每個(gè)等級(jí)級(jí)別上每個(gè)節(jié)點(diǎn)被分成四個(gè)節(jié)點(diǎn)。從而,可以通過(guò)執(zhí)行對(duì)每個(gè)節(jié)點(diǎn)的繪制來(lái)實(shí)現(xiàn)LOD,使得為接近觀察點(diǎn)的物體繪制高詳細(xì)度級(jí)別的節(jié)點(diǎn),而為遠(yuǎn)離觀察點(diǎn)的物體繪制低詳細(xì)度級(jí)別的節(jié)點(diǎn)。
例如,如圖40所示,如果與攝像機(jī)170的距離超過(guò)閾值(遠(yuǎn)平面)171,則不執(zhí)行繪制。如果與攝像機(jī)170的距離在閾值171和閾值172之間,則繪制僅在最低詳細(xì)度級(jí)別的節(jié)點(diǎn)的地圖。如果與攝像機(jī)170的距離在閾值172和閾值173之間,則繪制第二低詳細(xì)度級(jí)別的節(jié)點(diǎn)的地圖。如果與攝像機(jī)170的距離在閾值173和閾值174之間,則繪制第三低詳細(xì)度級(jí)別的節(jié)點(diǎn)的地圖。如果與攝像機(jī)170的距離在閾值174和閾值(近平面)175之間,則繪制最高詳細(xì)度級(jí)別的節(jié)點(diǎn)的地圖。如果與攝像機(jī)170的距離低于閾值175,則不執(zhí)行繪制。
圖41顯示了怎樣實(shí)現(xiàn)LOD四叉樹(shù)結(jié)構(gòu)。首先,假定存在覆蓋例如地表面的二維寬平面內(nèi)構(gòu)成的整個(gè)數(shù)據(jù)空間的正方形180,正方形180被分成四個(gè)相等的分平面(divided surface)180a、180b、180c、和180d。多個(gè)分平面延伸的組成部分181和182被認(rèn)為是廣泛延伸的巨大組成部分。因此,組成部分181和182存儲(chǔ)在較高等級(jí)級(jí)別的節(jié)點(diǎn)190。提供對(duì)應(yīng)于各分平面180a、180b、180c、和180d的節(jié)點(diǎn)191a、191b、191c、和191d,作為較低等級(jí)級(jí)別的子節(jié)點(diǎn),并且將其它組成部分歸到相應(yīng)的子節(jié)點(diǎn)。
通過(guò)根據(jù)需要重復(fù)這樣的處理,地圖可以根據(jù)詳細(xì)度級(jí)別分級(jí)構(gòu)成。
具體地,當(dāng)該方法應(yīng)用于三維地圖時(shí),該地圖可以自動(dòng)分級(jí)構(gòu)成(雖然用于定義等級(jí)級(jí)別邊界上的物體是例外),如最高等級(jí)級(jí)別的節(jié)點(diǎn)用于存儲(chǔ)在廣域擴(kuò)展的山脈、海洋、道路;較低等級(jí)級(jí)別的節(jié)點(diǎn)用于存儲(chǔ)如建筑物的大結(jié)構(gòu);而最低等級(jí)級(jí)別節(jié)點(diǎn)用于存儲(chǔ)房子、信號(hào)燈、交通標(biāo)志等等。因此,可以采用LOD技術(shù)有效地繪制三維地圖。
對(duì)于以最近已經(jīng)變得很常見(jiàn)的三維汽車導(dǎo)航系統(tǒng)來(lái)代表的各種三維導(dǎo)航系統(tǒng),三維地圖必須以高精確度高速實(shí)時(shí)繪制。然而,用眾所周知的布景圖來(lái)表現(xiàn)三維地圖需要處理極大量的數(shù)據(jù),這使得難以進(jìn)行高速處理。
另外,在眾所周知的四叉樹(shù)結(jié)構(gòu)中,作為地標(biāo)的高大建筑很可能被分到針對(duì)小物體的節(jié)點(diǎn)。這樣,遠(yuǎn)離觀察點(diǎn)的高大建筑即使在實(shí)際可見(jiàn)時(shí)也可能被忽略。為了避免這種情況,需要諸如繪制包括高大建筑的節(jié)點(diǎn)的處理。然而,這種用于確定節(jié)點(diǎn)是否包括高大建筑的處理降低了繪制速度并使數(shù)據(jù)省略的重大意義降級(jí)。
另外,不僅需要高速繪制,而且需要顯示適于地標(biāo)的關(guān)注點(diǎn)(POI,pointof interest)信息,例如地圖上用戶指定的建筑物。

發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明的一個(gè)目的是提供一種能夠高速繪制三維地圖的地圖顯示系統(tǒng)、地圖數(shù)據(jù)處理裝置、地圖顯示裝置、和地圖顯示方法。
為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的具有顯示三維地圖的功能的地圖顯示系統(tǒng)包括地圖數(shù)據(jù)處理部分,用于把三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制該三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù);地圖數(shù)據(jù)顯示部分,用于參考布景圖數(shù)據(jù)指定顯示區(qū)域,并根據(jù)指定顯示區(qū)域讀取和顯示繪制數(shù)據(jù)。
利用這種配置,地圖數(shù)據(jù)處理部分把三維數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù)。地圖數(shù)據(jù)顯示部分參考布景圖數(shù)據(jù)指定顯示區(qū)域,并根據(jù)指定顯示區(qū)域讀取和顯示繪制數(shù)據(jù)。這樣,就可以高速繪制三維地圖。
另外,根據(jù)本發(fā)明的用于處理三維地圖數(shù)據(jù)的地圖數(shù)據(jù)處理裝置包括存儲(chǔ)單元,用于存儲(chǔ)該三維地圖數(shù)據(jù);以及地圖數(shù)據(jù)處理單元,用于把三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù)。
利用這種配置,該地圖數(shù)據(jù)處理單元把存儲(chǔ)單元中存儲(chǔ)的三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù)。
另外,根據(jù)本發(fā)明的具有顯示三維地圖的功能的地圖顯示裝置包括布景圖數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù);繪制數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)用來(lái)繪制三維地圖中包括的物體的繪制數(shù)據(jù);顯示區(qū)域指定單元,用于參考布景圖數(shù)據(jù)指定顯示區(qū)域;數(shù)據(jù)讀取單元,用于根據(jù)指定的顯示區(qū)域讀取繪制數(shù)據(jù);以及顯示處理單元,用于基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
利用這種配置,顯示區(qū)域指定單元參考布景圖數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的布景圖數(shù)據(jù)指定顯示區(qū)域。數(shù)據(jù)讀取單元根據(jù)指定的顯示區(qū)域讀取繪制數(shù)據(jù)。顯示處理單元基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
另外,根據(jù)本發(fā)明的用于顯示三維地圖的地圖顯示方法包括以下步驟在三維地圖中設(shè)置觀察點(diǎn)和視線;搜索采用具有取決于詳細(xì)度級(jí)別的多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn)的樹(shù)結(jié)構(gòu)來(lái)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù),并根據(jù)從觀察點(diǎn)到每個(gè)節(jié)點(diǎn)表示的三維地圖的地表面的距離,基于觀察點(diǎn)和視線來(lái)確定是否顯示每個(gè)節(jié)點(diǎn)表示的三維地圖;當(dāng)顯示每個(gè)節(jié)點(diǎn)表示的三維地圖時(shí),讀取用于繪制在每個(gè)節(jié)點(diǎn)表示的三維地圖中包括的物體的繪制數(shù)據(jù);以及基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
利用這種配置,在所顯示的三維地圖中設(shè)置觀察點(diǎn)和視線,通過(guò)搜索布景圖數(shù)據(jù),根據(jù)從觀察點(diǎn)到每個(gè)節(jié)點(diǎn)表示的三維地圖的地表面的距離,基于觀察點(diǎn)和視線來(lái)確定是否顯示每個(gè)節(jié)點(diǎn)表示的三維地圖。當(dāng)顯示每個(gè)節(jié)點(diǎn)表示的三維地圖時(shí),讀取用于繪制在每個(gè)節(jié)點(diǎn)表示的三維地圖中包括的物體的繪制數(shù)據(jù),并基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
根據(jù)本發(fā)明,由取決于地圖詳細(xì)度級(jí)別的多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn)來(lái)表示樹(shù)結(jié)構(gòu),在較低詳細(xì)度級(jí)別節(jié)點(diǎn)顯示高于預(yù)定閾值的物體。這樣,避免了不顯示作為地標(biāo)的物體的情況。
另外,通過(guò)搜索用戶在屏幕上顯示的三維地圖上指定的物體的布景圖數(shù)據(jù),讀取所搜索物體的關(guān)注點(diǎn)信息。從而,在屏幕上顯示正確的關(guān)注點(diǎn)信息。
因此,本發(fā)明可應(yīng)用于導(dǎo)航系統(tǒng),如汽車導(dǎo)航系統(tǒng)和為步行者顯示到其目的地的路線的步行導(dǎo)航系統(tǒng)。


圖1是說(shuō)明根據(jù)本發(fā)明實(shí)施例的地圖顯示系統(tǒng)的功能的功能方框圖;圖2顯示了由地圖處理部分分類的數(shù)據(jù)結(jié)構(gòu)的例子;圖3示意性地顯示了根據(jù)本發(fā)明實(shí)施例的導(dǎo)航系統(tǒng)的結(jié)構(gòu);圖4顯示了根據(jù)本發(fā)明實(shí)施例的導(dǎo)航系統(tǒng)的硬件結(jié)構(gòu)的例子;圖5顯示了布景圖數(shù)據(jù)的結(jié)構(gòu);圖6顯示了物體的數(shù)據(jù)結(jié)構(gòu)的例子;圖7說(shuō)明了物體的POIID;圖8說(shuō)明了物體的標(biāo)志;圖9說(shuō)明了物體的邊界框(bounding box)信息;圖10顯示了要用布景圖數(shù)據(jù)描述的地圖;圖11顯示了在布景圖數(shù)據(jù)中應(yīng)用的XML格式的例子;圖12顯示了用于三維地圖的繪制數(shù)據(jù)的結(jié)構(gòu);圖13說(shuō)明了地圖信息段的細(xì)節(jié);圖14說(shuō)明了載入信息段的細(xì)節(jié);圖15說(shuō)明了運(yùn)行時(shí)間信息段的細(xì)節(jié);圖16A至16J顯示了圖元(primitive)的例子;圖17A至17D說(shuō)明了矩陣變換指令組;圖18說(shuō)明了法線指定結(jié)構(gòu)指令;圖19說(shuō)明了紋理和紋理坐標(biāo)。
圖20顯示了用二進(jìn)制格式寫(xiě)的繪制指令的例子;圖21是說(shuō)明讀取三維地圖繪制數(shù)據(jù)的處理的流程圖;圖22和23是說(shuō)明繪制標(biāo)準(zhǔn)三維地圖的處理的流程圖;圖24和25是說(shuō)明由導(dǎo)航系統(tǒng)執(zhí)行的處理的流程圖;圖26顯示了距離估算所需的要素;圖27是說(shuō)明確定距離估算的處理的流程圖;圖28說(shuō)明了包括作為附加要素的高度的四叉樹(shù)結(jié)構(gòu);圖29說(shuō)明了用于指明用戶指定結(jié)構(gòu)的處理;圖30是說(shuō)明用于指明用戶指定結(jié)構(gòu)的處理的流程圖;圖31和32說(shuō)明了當(dāng)限定了要搜索的級(jí)別時(shí)對(duì)物體的搜索;圖33A顯示了作為用布景圖構(gòu)造的物體的三維機(jī)器人的例子;圖33B顯示了構(gòu)成物體的部分的例子;
圖34顯示了顯示圖33A所示的物體結(jié)構(gòu)的布景圖的例子;圖35顯示了構(gòu)成用布景圖表現(xiàn)的物體的部分的配置;圖36至38說(shuō)明了LOD技術(shù);和圖39至41說(shuō)明了四叉樹(shù)結(jié)構(gòu)。
具體實(shí)施例方式
本發(fā)明的實(shí)施例將參考附圖進(jìn)行描述。
圖1是根據(jù)本發(fā)明實(shí)施例的地圖顯示系統(tǒng)10的功能的功能方框圖。
地圖顯示系統(tǒng)10包括地圖數(shù)據(jù)處理部分10a,用于處理由地圖制作公司等提供的原始地圖數(shù)據(jù)和原始POI信息,其包括由地圖制作公司或各種信息提供公司提供的有關(guān)地圖中特定POI的信息;地圖數(shù)據(jù)顯示部分10b,用于基于處理信息執(zhí)行顯示處理。
地圖數(shù)據(jù)處理部分10a包括原始三維地圖數(shù)據(jù)庫(kù)11,用于存儲(chǔ)原始三維地圖數(shù)據(jù);地圖處理單元12,用于把原始三維地圖分成用樹(shù)結(jié)構(gòu)表示原始三維地圖的結(jié)構(gòu)的布景圖數(shù)據(jù)和繪制包括在三維地圖中的物體的繪制數(shù)據(jù),并用于處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù);原始POI信息數(shù)據(jù)庫(kù)21,用于存儲(chǔ)原始POI信息;和POI信息處理單元22,用于處理該原始POI信息。
另外,該地圖數(shù)據(jù)顯示部分10b包括布景圖數(shù)據(jù)庫(kù)13,用于存儲(chǔ)由地圖處理單元12分類的布景圖數(shù)據(jù);三維地圖數(shù)據(jù)庫(kù)14,用于存儲(chǔ)繪制三維地圖所需的繪制數(shù)據(jù);當(dāng)前位置指定單元15,用于指定當(dāng)前位置;布景圖管理單元16,用于管理布景圖數(shù)據(jù);攝像機(jī)位置設(shè)置單元17,用于在三維地圖中設(shè)置觀察點(diǎn)和視線;顯示區(qū)域指定單元18,用于通過(guò)以基于要繪制的三維空間中的觀察點(diǎn)和視線數(shù)據(jù),參考布景圖數(shù)據(jù),來(lái)指定顯示區(qū)域;數(shù)據(jù)讀取單元19,用于根據(jù)來(lái)自三維地圖數(shù)據(jù)庫(kù)14的指定顯示區(qū)域讀取繪制數(shù)據(jù);顯示處理單元20,用于基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理;和POI信息數(shù)據(jù)庫(kù)23,用于存儲(chǔ)在POI信息處理單元22中處理過(guò)的POI信息。
圖2顯示了由地圖處理單元12分類的數(shù)據(jù)結(jié)構(gòu)的例子。
在布景圖數(shù)據(jù)庫(kù)13中存儲(chǔ)的布景圖數(shù)據(jù)中,用樹(shù)結(jié)構(gòu)來(lái)描述原始三維地圖數(shù)據(jù)庫(kù)11中的整個(gè)廣域地圖的數(shù)據(jù)結(jié)構(gòu)。雖然一般的布景圖數(shù)據(jù)可以應(yīng)付(manage)多種樹(shù)結(jié)構(gòu),但這里所用的布景圖數(shù)據(jù)在功能上是專用于地圖的。這樣,該數(shù)據(jù)結(jié)構(gòu)可以被簡(jiǎn)化,并且處理速度可以提高。
這里所用的樹(shù)結(jié)構(gòu)根據(jù)三維地圖的詳細(xì)度級(jí)別有處于多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn)。處于最高等級(jí)級(jí)別的節(jié)點(diǎn)用于顯示最低詳細(xì)度級(jí)別。節(jié)點(diǎn)的等級(jí)級(jí)別越低,所顯示的詳細(xì)度級(jí)別就越高。
如圖2所示,本實(shí)施例中的布景圖數(shù)據(jù)結(jié)構(gòu)專用于四叉樹(shù)結(jié)構(gòu)。換句話說(shuō),用每個(gè)節(jié)點(diǎn)在各個(gè)等級(jí)級(jí)別被分成四個(gè)節(jié)點(diǎn)的結(jié)構(gòu)來(lái)描述廣域三維地圖。
用可擴(kuò)展標(biāo)記語(yǔ)言(XML)來(lái)描述這樣的樹(shù)結(jié)構(gòu)有助于進(jìn)行編輯和瀏覽。
相反地,以順序執(zhí)行數(shù)據(jù)格式,更具體地,使用以一一對(duì)應(yīng)關(guān)系與繪制三維地圖所需的三維繪制API的繪制指令相對(duì)應(yīng)的二進(jìn)制數(shù)據(jù),而不使用諸如材料幾何(material geometry)的常用結(jié)構(gòu)數(shù)據(jù),來(lái)寫(xiě)入用于繪制三維地圖中包括的建筑物和地形(在下文中,稱為物體)的繪制數(shù)據(jù)。從而,將數(shù)據(jù)轉(zhuǎn)換成繪制指令所花費(fèi)的時(shí)間的減少提高了繪制速度,而用二進(jìn)制數(shù)據(jù)來(lái)描述減小了數(shù)據(jù)大小。
繪制數(shù)據(jù)和用四叉樹(shù)結(jié)構(gòu)劃分的地圖區(qū)域相關(guān)聯(lián),下面將進(jìn)行描述,多個(gè)繪制數(shù)據(jù)段被記錄在三維地圖數(shù)據(jù)庫(kù)14中。
現(xiàn)在對(duì)圖1所示的地圖顯示系統(tǒng)10的操作進(jìn)行描述。
在地圖數(shù)據(jù)處理部分10a中,從原始三維地圖數(shù)據(jù)庫(kù)11中捕獲(capture)原始三維地圖數(shù)據(jù)。地圖處理單元12把原始三維地圖數(shù)據(jù)分成布景圖數(shù)據(jù)和繪制數(shù)據(jù),布景圖數(shù)據(jù)和繪制數(shù)據(jù)被分別存儲(chǔ)在布景圖數(shù)據(jù)庫(kù)13和三維地圖數(shù)據(jù)庫(kù)14中。同樣,從原始POI信息數(shù)據(jù)庫(kù)21中捕獲原始POI信息。POI信息處理單元22處理要存儲(chǔ)在POI信息數(shù)據(jù)庫(kù)23中的原始POI信息。
然后,在地圖數(shù)據(jù)顯示部分10b中,當(dāng)前位置指定單元15在地圖上指定當(dāng)前位置?;谶@個(gè)信息,布景圖管理單元16從布景圖數(shù)據(jù)庫(kù)13中讀取布景圖數(shù)據(jù)的結(jié)構(gòu)。
布景圖管理單元16把關(guān)于布景圖數(shù)據(jù)讀取結(jié)構(gòu)的信息發(fā)送到顯示區(qū)域指定單元18。顯示區(qū)域指定單元18從攝像機(jī)位置設(shè)置單元17獲取要繪制的三維空間中的觀察點(diǎn)和視線數(shù)據(jù),并根據(jù)指定的當(dāng)前位置以及觀察點(diǎn)和視線數(shù)據(jù),參考布景圖數(shù)據(jù),指定顯示區(qū)域。在這里,如果布景圖數(shù)據(jù)采用四叉樹(shù)結(jié)構(gòu),如圖2所示,通過(guò)考慮空間中攝像機(jī)的位置和布景圖數(shù)據(jù)中每個(gè)節(jié)點(diǎn)的位置,指定顯示區(qū)域(指定顯示區(qū)域的細(xì)節(jié)將在下面描述)。數(shù)據(jù)讀取單元19根據(jù)指定的顯示區(qū)域從三維地圖數(shù)據(jù)庫(kù)14中讀取繪制數(shù)據(jù),而顯示處理單元20執(zhí)行用于在屏幕上繪制的顯示處理。
另外,如果用戶需要表示有關(guān)POI如屏幕上顯示的特定建筑物的信息,將適用于由用戶指定的物體的POI信息從POI信息數(shù)據(jù)庫(kù)23發(fā)送到數(shù)據(jù)讀取單元19,并與地圖一起顯示。
將通過(guò)采用下面描述的導(dǎo)航系統(tǒng)對(duì)根據(jù)本發(fā)明實(shí)施例的地圖顯示裝置進(jìn)行描述。
圖3示意地顯示了根據(jù)本發(fā)明實(shí)施例的導(dǎo)航系統(tǒng)的結(jié)構(gòu)。
這樣的導(dǎo)航系統(tǒng)包括汽車導(dǎo)航裝置30和全球定位系統(tǒng)(GPS)31的組合或安裝有步行導(dǎo)航裝置的便攜式終端40(如個(gè)人數(shù)字助理(PDA)或移動(dòng)電話)和GPS41的組合。在這樣導(dǎo)航系統(tǒng)中,在諸如陰極射線管(CRT)或液晶顯示器的顯示設(shè)備的屏幕50上顯示以圖3所示當(dāng)前位置為中心的鳥(niǎo)瞰三維地圖。
這樣的導(dǎo)航系統(tǒng)可以用來(lái)顯示以當(dāng)前位置為中心的城鎮(zhèn)景觀,以及用來(lái)顯示用于模擬路線(course)的運(yùn)動(dòng)的運(yùn)動(dòng)圖片,從而在GPS31或41指示的位置的基礎(chǔ)上向用戶提供從指定出發(fā)點(diǎn)到目的地的導(dǎo)航。
圖4顯示了根據(jù)本發(fā)明實(shí)施例的導(dǎo)航系統(tǒng)的硬件結(jié)構(gòu)的例子。
該導(dǎo)航系統(tǒng)包括GPS60、信息處理設(shè)備61、顯示設(shè)備62、外部存儲(chǔ)設(shè)備63、和外部輸入設(shè)備64。信息處理設(shè)備61包括3D圖形繪制引擎61a、隨機(jī)存取存儲(chǔ)器(RAM)61b、只讀存儲(chǔ)器(ROM)61c、中央處理單元(CPU)61d、和對(duì)外部設(shè)備的接口61e。
GPS60用于獲知當(dāng)前位置。
3D圖形繪制引擎61a是能根據(jù)來(lái)自CPU61d的指令在顯示設(shè)備62上顯示各種類型文本和圖形如三維圖形的硬件。
RAM61b臨時(shí)存儲(chǔ)CPU61d將要執(zhí)行的程序和要計(jì)算的數(shù)據(jù)。
ROM61c存儲(chǔ)CPU61d將要執(zhí)行的基礎(chǔ)程序和數(shù)據(jù)。
三維圖形API,例如Open-GL(注冊(cè)商標(biāo)),存儲(chǔ)在RAM61b或ROM61c中,其將繪制指令發(fā)送到3D圖形繪制引擎61a,并且是實(shí)現(xiàn)三維圖形的繪制所必需的。
CPU61d根據(jù)RAM61b或ROM61c中存儲(chǔ)的程序控制信息處理設(shè)備61的每個(gè)單元。
接口61e控制GPS60、外部存儲(chǔ)設(shè)備63、外部輸入設(shè)備64、和CPU61d之間的信息輸入和輸出。
顯示設(shè)備62是,例如,CRT或液晶顯示器。顯示設(shè)備62在屏幕上顯示由3D圖形繪制引擎61a處理過(guò)的視頻信號(hào)。
外部存儲(chǔ)設(shè)備63是,例如,光盤(pán)只讀存儲(chǔ)器(CD-ROM)、數(shù)字化通用盤(pán)(DVD)、硬盤(pán)驅(qū)動(dòng)器(HDD)、或Memory Stick(注冊(cè)商標(biāo))。各種類型的信息,例如地圖,存儲(chǔ)在外部存儲(chǔ)設(shè)備63。
外部輸入設(shè)備64是,例如,汽車導(dǎo)航裝置的遠(yuǎn)程控制器、PDA屏的觸摸板、或各種按鈕。外部輸入設(shè)備64把用戶控制導(dǎo)航系統(tǒng)所需的信息發(fā)送到CPU61d。
現(xiàn)在對(duì)這樣導(dǎo)航系統(tǒng)的操作進(jìn)行示意性說(shuō)明。
當(dāng)CPU61d執(zhí)行RAM61b或ROM61c中記錄的導(dǎo)航程序時(shí),根據(jù)從GPS60或外部輸入設(shè)備64獲取的信息,從外部存儲(chǔ)設(shè)備63通過(guò)外部設(shè)備接口61e讀取相應(yīng)區(qū)域的地圖信息,并把該地圖信息寫(xiě)入RAM61b。當(dāng)CPU61d執(zhí)行地圖繪制程序時(shí),根據(jù)該信息把地圖繪制指令發(fā)布到三維圖形API。然后,根據(jù)該指令,繪制信號(hào)被發(fā)送到3D圖形繪制引擎61a,在顯示設(shè)備62上顯示該地圖。
在圖4所示的導(dǎo)航系統(tǒng)中,外部存儲(chǔ)設(shè)備63中記錄的地圖信息對(duì)應(yīng)于圖1中所示的布景圖數(shù)據(jù)庫(kù)13、三維地圖數(shù)據(jù)庫(kù)14、和POI信息數(shù)據(jù)庫(kù)23。另外,圖1中所示的當(dāng)前位置指定單元15、布景圖管理單元16、攝像機(jī)位置設(shè)置單元17、顯示區(qū)域指定單元18、數(shù)據(jù)讀取單元19、和顯示處理單元20作為由CPU61d執(zhí)行的指令組記錄在圖4中所示的RAM61b或ROM61c中。
圖1中所示的地圖數(shù)據(jù)處理部分10a是,例如,個(gè)人計(jì)算機(jī)(PC),并包括存儲(chǔ)設(shè)備,用于記錄原始三維地圖數(shù)據(jù)庫(kù)11和原始POI信息數(shù)據(jù)庫(kù)21,雖然沒(méi)有對(duì)這些進(jìn)行圖解。另外,例如,地圖數(shù)據(jù)處理部分10a包括CPU。在CPU的控制下,地圖數(shù)據(jù)處理部分10a把原始三維數(shù)據(jù)分成布景圖數(shù)據(jù)和繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和繪制數(shù)據(jù)。
現(xiàn)在描述由地圖數(shù)據(jù)處理部分10a分類和處理的布景圖數(shù)據(jù)和三維地圖繪制數(shù)據(jù)。
圖5顯示了布景圖數(shù)據(jù)的結(jié)構(gòu)的例子。
這里,布景圖數(shù)據(jù)專用于四叉樹(shù)結(jié)構(gòu)。
在布景圖數(shù)據(jù)中,完整的地圖70被分成多個(gè)區(qū)域71。每個(gè)區(qū)域71用經(jīng)度和緯度來(lái)定義。在圖5所示的例子中,一個(gè)區(qū)域71描述為由用西北經(jīng)度和維度72a表示的西北邊緣的經(jīng)度和緯度和用東南經(jīng)度和維度72b表示的東南邊緣的經(jīng)度和緯度指定的區(qū)域。用具有四叉樹(shù)結(jié)構(gòu)的節(jié)點(diǎn)73的樹(shù)來(lái)描述表示該區(qū)域的地圖結(jié)構(gòu)。使得節(jié)點(diǎn)73具有四個(gè)子節(jié)點(diǎn)76的結(jié)構(gòu)一直重復(fù),直到達(dá)到四叉樹(shù)等級(jí)級(jí)別的設(shè)定數(shù)目。在下文中,節(jié)點(diǎn)樹(shù)的等級(jí)級(jí)別將用術(shù)語(yǔ)“級(jí)別”來(lái)表示。作為根的節(jié)點(diǎn)73的級(jí)別被定義為級(jí)別1,四個(gè)子節(jié)點(diǎn)76中的每一個(gè)的級(jí)別被定義為級(jí)別2,每個(gè)子節(jié)點(diǎn)76的子節(jié)點(diǎn)的級(jí)別被定義為級(jí)別3,等等。
除了子節(jié)點(diǎn)76之外,組成節(jié)點(diǎn)73的組分是節(jié)點(diǎn)73的三維地圖數(shù)據(jù)的文件名(File3D)74和多個(gè)物體75,例如地圖上存在的建筑物和道路。
圖6顯示了一個(gè)物體75的數(shù)據(jù)結(jié)構(gòu)的例子。
一個(gè)物體75包括物體名稱77、一個(gè)作為POI的物體75的ID POIID78、指示一個(gè)物體75的標(biāo)志79、和關(guān)于一個(gè)物體75的邊界框信息80。
圖7說(shuō)明了一個(gè)物體75的POIID78。
該P(yáng)OIID78指示了POI信息數(shù)據(jù)庫(kù)23中的POI信息23a的ID。例如,如果一個(gè)物體75表示東京塔,則POIID78表示POI信息數(shù)據(jù)庫(kù)23中關(guān)于東京塔的POI信息23a。
圖8說(shuō)明了一個(gè)物體75的標(biāo)志79。
標(biāo)志79表示三維地圖的繪制數(shù)據(jù)中對(duì)應(yīng)于在其中描述關(guān)于這一個(gè)物體75的數(shù)據(jù)的這一個(gè)區(qū)域71的一部分中記錄的標(biāo)志的ID。例如,如果對(duì)應(yīng)于圖5所示的一個(gè)區(qū)域71的三維地圖的繪制數(shù)據(jù)是由三維地圖數(shù)據(jù)庫(kù)14中存儲(chǔ)的文件名74指定的用于三維地圖的繪制數(shù)據(jù)14a,如圖8所示,則與這一個(gè)物體75的數(shù)據(jù)相對(duì)應(yīng)的繪制數(shù)據(jù)14a中的繪制區(qū)域14a-1中預(yù)先描述的標(biāo)志的ID由在布景圖數(shù)據(jù)中的標(biāo)志79指定。
圖9說(shuō)明了物體75a和75b的邊界框信息80。
邊界框信息80包括覆蓋物體75a和75b各自所在區(qū)域的立方體的坐標(biāo)(coordinate)81a和81b,如圖9所示。坐標(biāo)81a和81b是用來(lái)獲知物體75a和75b之間的空間位置關(guān)系的數(shù)據(jù)。
根據(jù)以上詳細(xì)描述,布景圖數(shù)據(jù)可以如下所示以XML格式來(lái)寫(xiě)出。
圖10顯示了用布景圖數(shù)據(jù)描述的地圖。
圖11顯示了以XML格式寫(xiě)出的布景圖數(shù)據(jù)的例子。
在圖10中,表示東京市區(qū)及郊區(qū)(Greater Tokyo Area)的地圖82被分成多個(gè)地圖區(qū)域83。多個(gè)地圖區(qū)域83與從圖5所示地圖70中劃分出的多個(gè)區(qū)域71相對(duì)應(yīng)。例如,表示Ota-ku的西北部分的地圖區(qū)域83以XML格式寫(xiě)出,如圖11所示。
現(xiàn)在根據(jù)圖5所示的布景圖數(shù)據(jù)對(duì)圖11中的描述進(jìn)行說(shuō)明。
″Northwest Part of Ota-ku″被描述為一個(gè)區(qū)域71。然后,以西北經(jīng)度和緯度72a和東南經(jīng)度和緯度72b來(lái)指定經(jīng)緯度。然后,″otaku-NW-root″被描述為文件名74,其中描述了關(guān)于對(duì)應(yīng)于三維地圖的繪制數(shù)據(jù)。然后,指定多個(gè)物體75。
每個(gè)物體75的數(shù)據(jù)結(jié)構(gòu)如圖6所示配置。在圖11所示的例子中,″JROmori Station″、″Omori Police Station″等,以名稱77來(lái)描述。為每個(gè)物體75描述POIID78、標(biāo)志79、和邊界框信息80。例如,對(duì)于以描述″JR OmoriStation″作為名稱77的一個(gè)物體75,提供了描述″<Object Name=″JR OmoriStation″POIID=″JR_OmoriStation″Tag=″1″Bbox=″12,100,5,30,5,40,...″/>″。上面的描述意思是對(duì)″JR Omori Station″的繪制數(shù)據(jù)記錄在″otaku-NW-root″中提供了標(biāo)志1的那部分中。
每個(gè)區(qū)域71根據(jù)圖5中所示的四個(gè)子節(jié)點(diǎn)76被分成四個(gè)區(qū)域。對(duì)每個(gè)區(qū)域描述文件名和多個(gè)物體,如上所述。在圖11中所示的例子中,″otaku-NW-01″、″otaku-NW-02″、″otaku-NW-03″、和″otaku-NW-04″作為文件名而被描述。從而,控制了子節(jié)點(diǎn)76的三維繪制數(shù)據(jù)的位置。
現(xiàn)在參考圖12對(duì)用于三維地圖的繪制數(shù)據(jù)的結(jié)構(gòu)進(jìn)行描述。
例如,在地圖數(shù)據(jù)處理部分10a中的CPU的控制下,以二進(jìn)制格式寫(xiě)繪制數(shù)據(jù)。繪制數(shù)據(jù)的內(nèi)容被大致分成地圖信息段84、載入信息段85、和運(yùn)行時(shí)間信息段86。
現(xiàn)在描述每個(gè)組成繪制數(shù)據(jù)的段。
圖13說(shuō)明了地圖信息段84的細(xì)節(jié)。
地圖信息段84包括繪制三維圖形的右手坐標(biāo)系統(tǒng)的三維空間內(nèi)以及由經(jīng)度和緯度表示的地圖體現(xiàn)的真實(shí)空間內(nèi)的縮放比例信息。更具體地,通過(guò)用由X-、Y-、和Z-軸定義的一般三維右手坐標(biāo)系統(tǒng),地表面在XZ-平面87上表現(xiàn)。地圖信息段84包括在空間地圖區(qū)域展開(kāi)(develop)的三維地圖的繪制數(shù)據(jù)的左上端點(diǎn)88和右下端點(diǎn)89的坐標(biāo)。地圖信息段84還包括分別對(duì)應(yīng)于真實(shí)區(qū)域90的西北端點(diǎn)和東南端點(diǎn)的坐標(biāo)91和92的經(jīng)度和緯度。為了繪制,根據(jù)這些信息執(zhí)行縮放。
圖14說(shuō)明了載入信息段85的細(xì)節(jié)。
載入信息段85包括表示物體外觀的材料、紋理(texture)、和顏色的信息列表。在這里定義了多種材料、紋理、和顏色,它們按照定義的次序編號(hào)直到定義的數(shù)目。
在材料列表中,用RGB或RGBA格式指定表示材料外觀的環(huán)境顏色、漫射顏色、反射顏色、和輻射顏色。材料列表還包括表示光的反射的反射系數(shù)。在材料列表中定義了多種顏色。
紋理列表包括要附加到三維物體上的圖像,如建筑物的墻面。真實(shí)紋理記錄在圖1所示的三維地圖數(shù)據(jù)庫(kù)14中,作為用原始或公知的圖像格式,如聯(lián)合攝影編碼專家組(JPEG)格式或圖形交換格式(GIF),記錄的圖像數(shù)據(jù)。紋理列表包括圖像的文件名。
顏色列表包括以RGB或RGBA格式寫(xiě)的物體顏色。
圖15說(shuō)明了運(yùn)行時(shí)間信息段86的細(xì)節(jié)。
圖12所示的運(yùn)行時(shí)間信息段86包括用于繪制三維地圖的繪制指令和用于提供繪制指令所在區(qū)域的ID的標(biāo)志指令。標(biāo)志指令用于指定嵌入在地圖中的物體的繪制區(qū)域,如地圖中的特定建筑物和道路。標(biāo)志指令還指定該標(biāo)志的ID和區(qū)域。該段中嵌入了多個(gè)標(biāo)志指令。標(biāo)志的ID對(duì)應(yīng)于在布景圖數(shù)據(jù)中指定其ID的物體的標(biāo)志。
繪制指令大致分為繪制開(kāi)始指令、矩陣變換指令組、矩陣推進(jìn)(push)和取出(pop)指令、材料指定指令、紋理指定指令、顏色指定指令、法線指定指令、紋理頂點(diǎn)指定指令、頂點(diǎn)繪制指令、和繪制終止宣告指令。這些指令對(duì)應(yīng)于諸如Open-GL的一般三維圖形庫(kù)的基本繪制指令。
現(xiàn)在對(duì)上面提到的每個(gè)繪制指令進(jìn)行描述。
繪制開(kāi)始指令宣告三維圖形的繪制開(kāi)始,并宣告所用的圖元的類型。
圖16A至16J顯示了圖元的例子。
術(shù)語(yǔ)“圖元(primitive)”指要繪制的多邊形的類型。圖元由頂點(diǎn)v0、v1、v2等等來(lái)指定,如圖16A中的點(diǎn)、圖16B中的線條、圖16C中的線條帶(strip)、圖16D中的線路回路、圖16E中的三角形、圖16F中的三角形帶、圖16G中的三角形扇、圖16H中的四邊形、圖16I中的四邊形帶、和圖16J中的多邊形(N邊多邊形)所示。
繪制開(kāi)始指令對(duì)應(yīng)于Open-GL的glBegin()指令。同樣地,繪制終止宣告指令對(duì)應(yīng)于Open-GL的glEnd()指令。根據(jù)繪制開(kāi)始指令和繪制終止宣告指令之間提供的頂點(diǎn)繪制指令,在三維空間繪制多邊形。
圖17A至17D說(shuō)明了矩陣變換指令組。
矩陣變換指令組被提供用于三維空間中的矩陣處理,如在空間中繪制的物體向原點(diǎn)的移動(dòng)、平移、旋轉(zhuǎn)、和縮放,分別如圖17A至17D所示。當(dāng)執(zhí)行這樣的指令時(shí),設(shè)置當(dāng)前物體的參數(shù),如要繪制物體的位置、相對(duì)于坐標(biāo)軸的旋轉(zhuǎn)角、和縮放因子。而且,這些指令可以組合。
向原點(diǎn)移動(dòng)、平移、旋轉(zhuǎn)、和縮放的指令分別對(duì)應(yīng)于Open-GL的glLoadIdentity()指令、glTranslate()指令、glRotate()指令、和glScale()指令。
矩陣推進(jìn)和取出指令用于存儲(chǔ)或恢復(fù)用于當(dāng)前物體的矩陣變換指令的參數(shù)。矩陣推進(jìn)和取出指令對(duì)應(yīng)于Open-GL的glPushMatrix()指令和glPopMatrix()指令。通過(guò)它們的組合,可以繪制樹(shù)上的布景圖結(jié)構(gòu)。
材料指定指令、紋理指定指令、和顏色指定指令指定由載入信息指定的材料、紋理、和顏色的ID作為物體當(dāng)前的外觀、紋理、和顏色。
法線指定指令、紋理頂點(diǎn)指定指令、和頂點(diǎn)繪制指令在繪制開(kāi)始指令和繪制終止宣告指令之間分別指定用于為了寫(xiě)入而進(jìn)行計(jì)算的法線(normal)、紋理頂點(diǎn)的坐標(biāo)、和空間中指定圖元的頂點(diǎn)。
圖18說(shuō)明了法線指定指令。
為要繪制的表面93和頂點(diǎn)v0、v1、和v2指定法線n0、n1、和n2。
圖19說(shuō)明了紋理和紋理坐標(biāo)。
在紋理頂點(diǎn)指定指令中,根據(jù)由紋理指定指令預(yù)先指定的當(dāng)前圖像,從由載入信息段85預(yù)先指定的紋理圖像94中指定要附到表面95上的部分的坐標(biāo)t0、t1、t2、t3,并給出附著圖像的指令。
類似地,為指定的頂點(diǎn)和表面指定由顏色指定指令指定的當(dāng)前顏色。
同樣地,頂點(diǎn)繪制指令指定當(dāng)前圖元的頂點(diǎn)坐標(biāo)。
下面將描述這樣以二進(jìn)制格式寫(xiě)出的繪制指令。
圖20顯示了以二進(jìn)制格式寫(xiě)出的繪制指令的例子。
每個(gè)指令的基本長(zhǎng)度有取決于基本段長(zhǎng)度的固定字節(jié)數(shù)。例如,如果段長(zhǎng)度是2字節(jié),則定義指令的基本段(指令單元段)96的單元是2字節(jié)。另外,為了表示指令所需的多個(gè)參數(shù),除了指令單元段96之外,還定義了參數(shù)單元段97。指令單元段96和參數(shù)單元段97被分離配置,因?yàn)榕c類型有限的繪制指令不同,數(shù)據(jù)通常需要有4字節(jié)或更多字節(jié)來(lái)表示真實(shí)的數(shù)目,如空間坐標(biāo)。
根據(jù)特性,繪制指令被分成1段指令和2段或更多段指令,如圖20所示。2段或更多段指令有含指令單元段和兩個(gè)或更多個(gè)參數(shù)段的結(jié)構(gòu)。
例如,不需要任何參數(shù)的繪制終止宣告指令是1段指令。由2段指令載入信息段85設(shè)置的具有圖元類型參數(shù)的繪制開(kāi)始指令以及分別具有作為材料、紋理、和顏色指標(biāo)的參數(shù)的材料指定指令、紋理指定指令、和顏色指定指令是2段指令。
另外,具有兩個(gè)參數(shù)如紋理圖像的坐標(biāo)(二維XY坐標(biāo))的紋理頂點(diǎn)指定指令、以及雖不是繪制指令但也有標(biāo)志的ID和長(zhǎng)度參數(shù)的標(biāo)志指令是3段指令。另外,具有三個(gè)參數(shù)如三維空間坐標(biāo)的頂點(diǎn)指定指令是4段指令。參數(shù)的數(shù)量是根據(jù)指令的類型和需要來(lái)確定的。
原始POI信息也同樣被處理,使得添加了對(duì)應(yīng)于與每個(gè)物體75相關(guān)聯(lián)的POIID78的ID,如圖6所示。
如上所示,由地圖數(shù)據(jù)處理部分10a處理后的布景圖數(shù)據(jù)、繪制數(shù)據(jù)、POI信息等被提供給圖4所示的導(dǎo)航系統(tǒng),并被記錄在外部存儲(chǔ)設(shè)備63中。由地圖數(shù)據(jù)處理部分10a處理的數(shù)據(jù)可以記錄在CD-ROM或DVD上,以用來(lái)提供??蛇x擇地,數(shù)據(jù)可以通過(guò)諸如因特網(wǎng)的網(wǎng)絡(luò)來(lái)提供。
雖然可以通過(guò)實(shí)時(shí)順序下載,在導(dǎo)航系統(tǒng)上顯示紋理圖像,以便不引起幀下降,但是優(yōu)選地是,根據(jù)處理速度等在使用之前把數(shù)據(jù)記錄在導(dǎo)航系統(tǒng)的外部存儲(chǔ)設(shè)備63中。
如上所述,在本實(shí)施例中,由于為圖4所示的導(dǎo)航系統(tǒng)中使用的具有處理速度較慢的CPU61d的信息處理設(shè)備61,而預(yù)先執(zhí)行了用于減少計(jì)算量的數(shù)據(jù)處理,所以可以減少導(dǎo)航系統(tǒng)的處理負(fù)荷。
現(xiàn)在描述由圖4所示的導(dǎo)航系統(tǒng)執(zhí)行的處理的細(xì)節(jié)。
現(xiàn)在參照?qǐng)D21所示的流程圖描述讀取三維地圖的繪制數(shù)據(jù)的處理。
稍后將對(duì)利用布景圖數(shù)據(jù)的全部處理進(jìn)行描述。
當(dāng)讀取三維地圖的繪制數(shù)據(jù)的處理開(kāi)始時(shí),在CPU61d的控制下,通過(guò)接口61e從在三維地圖數(shù)據(jù)庫(kù)14中描述并記錄在外部存儲(chǔ)設(shè)備63中的繪制數(shù)據(jù)中讀取地圖信息段84,獲取要為其繪制地圖的區(qū)域,并記錄在RAM61b中(步驟S1)。
然后,執(zhí)行載入信息段85的讀取和記錄。這里,在CPU61d的控制下,圖14所示的材料數(shù)據(jù)被讀取和記錄在RAM61b中(步驟S2),從紋理數(shù)據(jù)中讀取所需紋理的文件名,并將其載入,以記錄在RAM61b中(步驟S3)。然后,顏色數(shù)據(jù)被讀取和記錄在RAM61b中(步驟S4)。
讀取運(yùn)行時(shí)間信息段86(步驟S5),確定是否出現(xiàn)了標(biāo)志指令(步驟S6)。如果出現(xiàn)了標(biāo)志指令,則將標(biāo)志的位置、ID、和長(zhǎng)度記錄在RAM61b中(步驟S7),處理進(jìn)入步驟8。如果沒(méi)有出現(xiàn)標(biāo)志,則將所讀取的運(yùn)行時(shí)間信息記錄在RAM61b中(步驟S8)。CPU61d確定整個(gè)運(yùn)行時(shí)間信息段86的讀取是否已完成(步驟S9)。重復(fù)從步驟S6起的處理步驟,直到已讀取了整個(gè)運(yùn)行時(shí)間信息段86。當(dāng)已讀取了整個(gè)運(yùn)行時(shí)間信息段86時(shí),終止讀取三維地圖的繪制數(shù)據(jù)的處理。
現(xiàn)在參照?qǐng)D22和23所示的流程圖介紹繪制標(biāo)準(zhǔn)三維地圖的處理。
當(dāng)繪制三維地圖的處理開(kāi)始時(shí),訪問(wèn)RAM61b中的運(yùn)行時(shí)間信息段86的第一地址。獲取運(yùn)行時(shí)間信息(步驟S10),并讀取第一繪制指令段(步驟S11)。然后,確定是否設(shè)置了矩陣相關(guān)指令,如矩陣變換指令或推進(jìn)和取出指令(步驟S12)。如果設(shè)置了矩陣相關(guān)指令,則在必要時(shí)獲取參數(shù)(步驟S13),執(zhí)行該指令(步驟S14)。讀取下一個(gè)指令段(步驟S15),處理進(jìn)入步驟S16。從而,預(yù)先定義要繪制的圖元的當(dāng)前位置、縮放比例、旋轉(zhuǎn)等。如果沒(méi)有設(shè)置矩陣相關(guān)指令,則處理進(jìn)入步驟S16。
在步驟S16中,確定是否給出了圖元開(kāi)始指令。如果給出了圖元開(kāi)始指令,則獲取表示指定圖元類型的參數(shù)(步驟S17),并將其設(shè)置為當(dāng)前圖元(步驟S18)。然后,在圖23中處理進(jìn)入步驟S19。如果沒(méi)有給出圖元開(kāi)始指令,則處理返回到步驟S12。
在步驟S18中設(shè)置當(dāng)前圖元后,要指定的頂點(diǎn)用作指定圖元的頂點(diǎn),直到發(fā)布繪制終止宣告指令。例如,如果圖元的類型是三角形,如圖16E所示,則要指定的頂點(diǎn)以指定順序用作三角形的頂點(diǎn)。
分別在步驟S19、S22、和S25中執(zhí)行對(duì)是否已讀取顏色指定指令、材料指定指令、紋理指定指令的確定。如果已經(jīng)讀取了顏色指定指令、材料指定指令、和紋理指定指令,則分別在步驟S20、S23、和S26中獲取表示各自的ID的參數(shù)。(分別在步驟S21、S24、和S27)為當(dāng)前紋理指定設(shè)置在載入信息段85中的相應(yīng)的顏色、材料、和紋理。在指定之后,讀取下一個(gè)指令段(步驟S38),處理返回到步驟S19。
如果在步驟S19、S22、和S27中,都分別沒(méi)有讀取顏色指定指令、材料指定指令、和紋理指定指令,則確定是否已讀取了法線指定指令(步驟S28)。如果已經(jīng)讀取了法線指定指令,則獲取法向矢量的參數(shù)(步驟S29),并設(shè)置當(dāng)前頂點(diǎn)的法線(步驟S30)。然后,處理進(jìn)入步驟S38。
如果沒(méi)有讀取法線指定指令,則確定是否已讀取了紋理頂點(diǎn)指定指令(步驟S31)。如果已經(jīng)讀取了紋理頂點(diǎn)指定指令,則獲取紋理頂點(diǎn)的坐標(biāo)參數(shù)(步驟S32),并設(shè)置當(dāng)前紋理頂點(diǎn)(步驟S33)。然后,處理進(jìn)入步驟S38。
如果沒(méi)有讀取紋理頂點(diǎn)指定指令,則確定是否已讀取了頂點(diǎn)繪制指令(步驟S34)。如果已經(jīng)讀取了頂點(diǎn)繪制指令,則獲取頂點(diǎn)坐標(biāo)參數(shù)(步驟S35),并設(shè)置圖元的頂點(diǎn)(步驟S36)。然后,處理進(jìn)入步驟S38。例如,如果圖元的類型是三角形,則當(dāng)指定了三個(gè)頂點(diǎn)時(shí),繪制包含具有當(dāng)前紋理、當(dāng)前材料、或當(dāng)前顏色的三角形。
重復(fù)上述處理,直到出現(xiàn)繪制終止宣告指令。換句話說(shuō),確定是否出現(xiàn)了繪制終止宣告指令(步驟S37)。如果確定沒(méi)有出現(xiàn)繪制終止宣告指令,則在步驟S38中讀取下一個(gè)指令段,而處理返回到步驟S19。如果出現(xiàn)了繪制終止宣告指令,則調(diào)用對(duì)應(yīng)的三維圖形API,并向圖4所示的3D圖繪制引擎61a發(fā)布繪制指令(步驟S39)。
重復(fù)這樣的處理,直到已讀取了運(yùn)行時(shí)間信息段86中的所有數(shù)據(jù)。換句話說(shuō),確定是否已經(jīng)完成對(duì)運(yùn)行時(shí)間信息段86的讀取(步驟S40)。如果確定已經(jīng)讀取了運(yùn)行時(shí)間信息段86中的所有數(shù)據(jù),則繪制處理終止。如果沒(méi)有讀取所有數(shù)據(jù),則重復(fù)從步驟S12起的處理步驟。
現(xiàn)在描述布景圖數(shù)據(jù)的結(jié)構(gòu)和由使用根據(jù)上述處理顯示的三維地圖繪制數(shù)據(jù)的導(dǎo)航系統(tǒng)執(zhí)行的處理。
圖24和25顯示了由導(dǎo)航系統(tǒng)執(zhí)行的處理。
首先,在CPU61d的控制下執(zhí)行啟動(dòng)系統(tǒng)所需的處理(步驟S50)。稍后將對(duì)步驟S50的細(xì)節(jié)進(jìn)行描述。
然后,由接口61e接收用戶使用外部輸入裝置64設(shè)置的關(guān)于觀察點(diǎn)的信息,并且在CPU61d的控制下,該觀察點(diǎn)的信息是固定的(步驟S51)。然后,CPU61d將圖5所示的布景圖數(shù)據(jù)的節(jié)點(diǎn)樹(shù)中要搜索的節(jié)點(diǎn)的級(jí)別L設(shè)置為1(=根節(jié)點(diǎn))(步驟S52),用在級(jí)別L的節(jié)點(diǎn)數(shù)替換節(jié)點(diǎn)數(shù)N(步驟S53)。對(duì)于根節(jié)點(diǎn),這個(gè)值是1。對(duì)于根節(jié)點(diǎn)的每個(gè)子節(jié)點(diǎn),這個(gè)值是4。
然后,把常數(shù)I設(shè)置為0(步驟S54),把在級(jí)別L的第I節(jié)點(diǎn)設(shè)置為當(dāng)前節(jié)點(diǎn)(步驟S55)。然后,估算當(dāng)前節(jié)點(diǎn)的距離(步驟S56)。后面將說(shuō)明對(duì)距離進(jìn)行估算的細(xì)節(jié)。
然后,確定對(duì)當(dāng)前節(jié)點(diǎn)距離的估算結(jié)果是否在可繪制區(qū)域內(nèi)(步驟S57)。換句話說(shuō),如果估算結(jié)果在為每個(gè)級(jí)別設(shè)置的閾值內(nèi),或者說(shuō),如果估算結(jié)果小于到邊界的距離,如圖40所示,則讀取對(duì)應(yīng)節(jié)點(diǎn)的區(qū)域的地圖的繪制數(shù)據(jù)(步驟S58)。然后,常數(shù)I加1(步驟S59)。重復(fù)從步驟S55起的處理步驟,直到在步驟S60確定常數(shù)I達(dá)到了在級(jí)別L的節(jié)點(diǎn)數(shù)N。如果常數(shù)I達(dá)到了在級(jí)別L的節(jié)點(diǎn)數(shù)N,則級(jí)別L加1(步驟S61)。重復(fù)從步驟S53起的處理步驟,直到在步驟S62確定已經(jīng)估算了在所有級(jí)別的節(jié)點(diǎn)。如果已經(jīng)估算了所有級(jí)別的節(jié)點(diǎn),則根據(jù)在步驟S58中讀取的三維地圖繪制數(shù)據(jù),通過(guò)圖21、22、和23所示的處理利用3D圖繪制引擎61a繪制三維地圖,并顯示在顯示設(shè)備62上(步驟S63)。
現(xiàn)在說(shuō)明圖24的步驟S56中執(zhí)行距離估算的細(xì)節(jié)。
因?yàn)樯鲜鎏幚硭璧木嚯x估算重復(fù)多次,所以估算必須以盡可能高的速度來(lái)執(zhí)行。因此,采用下面描述的方法。
圖26顯示了距離估算所需的要素。
這里,m表示當(dāng)前級(jí)別,坐標(biāo)(C0、C1、C2)表示要估算距離的當(dāng)前節(jié)點(diǎn)的地表面100上的中心點(diǎn)C。然后,(P0、P1、P2)表示攝像機(jī)的位置P,而(V0、V1、V2)表示攝像機(jī)的視線矢量V。
此外,當(dāng)由(V0、0、V2)表示具有與視線矢量V相同的X和Z分量并與XZ-平面平行的矢量V′時(shí),定義具有用作視線矢量V′的垂直線并通過(guò)點(diǎn)P的平面101。另外,為用作LOD距離估算的基準(zhǔn)的平面稱為基準(zhǔn)平面S。
另外,d表示從基準(zhǔn)平面S到當(dāng)前地表面100的距離,lm表示從基準(zhǔn)平面S到用于確定是否繪制在當(dāng)前級(jí)別m上的地表面的基準(zhǔn)線的距離。
參照上述定義,距離估算定義如下lm>d=|V0(C0-P0)+V2(C2-P2)|/(V02+V22)1/2......(1)更具體地,如果滿足公式(1),則繪制該平面上的地圖。公式(1)表示從基準(zhǔn)平面S到當(dāng)前地表面100的中心點(diǎn)C的距離。通常,LOD計(jì)算僅根據(jù)相對(duì)于觀察點(diǎn)的位置。然而,利用公式(1)的估算對(duì)導(dǎo)航三維地圖是最有效的。這是因?yàn)榫_繪制接近屏幕還有觀察點(diǎn)(攝像機(jī)位置P)的區(qū)域的地圖是更有效的。另外,這還因?yàn)橛^察點(diǎn)(攝像機(jī)位置P)接近地表面100,其中有平行于地表面的視角,或者為導(dǎo)航用的三維地圖使用了地表面100和視線矢量V之間為銳角的鳥(niǎo)瞰圖。
而且,公式(1)的距離估算把計(jì)算的維數(shù)限定在二維。這樣,可以實(shí)現(xiàn)比常規(guī)距離估算減少一維的距離估算。所以,計(jì)算總量減少了。
這里,一般的,對(duì)于CPU61d執(zhí)行的計(jì)算,加減運(yùn)算需要較小花費(fèi)。乘法需要稍高一點(diǎn)的花費(fèi),而特別計(jì)算,如公式(1)中用到的除法和平方根計(jì)算,需要較大花費(fèi)。因此,通過(guò)簡(jiǎn)單計(jì)算,下面描述的同等的估算公式可以從公式(1)通過(guò)消除這種沉重負(fù)荷而推導(dǎo)出。
lm>dlm2>d2(根據(jù)1m,d>0)lm2-d2>0lm2-(V0(C0-P0)+V2(C2-P2))2/(V02+V22)>0lm2(V02+V22)-(V0(C0-P0)+V2(C2-P2))2>0 ......(2)然后,將不需要循環(huán)計(jì)算的參數(shù)預(yù)先定義為固定常數(shù)。固定觀察點(diǎn)后(圖24中的步驟S51),對(duì)表示地表面的多個(gè)節(jié)點(diǎn)進(jìn)行距離估算。這樣,在此期間,因?yàn)橛^察點(diǎn)(攝像機(jī)位置P)和視線矢量V是固定的,所以表示坐標(biāo)值的V0和V2也是固定的。這樣,(V02+V22)也是固定不變的,在這個(gè)階段把該值設(shè)置成常數(shù)W。
此外,因?yàn)榫嚯xlm也是固定的常數(shù),所以對(duì)于每個(gè)級(jí)別m,lm2是固定常數(shù)。這里,把lm2定義為L(zhǎng)m。因?yàn)樵撝祵⒁恢笔枪潭ú蛔兊模云湓趩?dòng)系統(tǒng)的處理(圖24中的步驟S50)過(guò)程中預(yù)先定義。類似地,通過(guò)將V0(C0-P0)+V2(C2-P2)定義為常數(shù)D,得到下面的估算公式LmW-D2>0 ......(3)圖27是說(shuō)明確定距離估算的處理的流程圖。
確定距離估算的處理分布在整個(gè)繪制處理過(guò)程中,該處理大致分為三個(gè)階段。
在第一階段中,隨著啟動(dòng)系統(tǒng)的處理過(guò)程而計(jì)算Lm(該計(jì)算與圖24中的步驟S50相對(duì)應(yīng))。這里,級(jí)別m設(shè)置為1(步驟S70),用預(yù)先為每個(gè)級(jí)別m設(shè)置的閾值lm的平方替換Lm(步驟S71)。級(jí)別m加1(步驟S72),并重復(fù)步驟S71,直到在步驟S73確定級(jí)別m達(dá)到四叉樹(shù)的級(jí)別數(shù)。
在第二階段中,執(zhí)行觀察點(diǎn)固定時(shí)的處理。該處理對(duì)應(yīng)于圖24中步驟S51中的內(nèi)部處理。在該處理中,設(shè)置攝像機(jī)的位置(步驟S74),固定觀察點(diǎn)(攝像機(jī)點(diǎn)P)和視線矢量V。這樣,由于固定了V0、V2、P0、和P2,所以W被計(jì)算出來(lái)(步驟S75)。
在第三階段中,對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行距離估算。該處理對(duì)應(yīng)于圖24中的步驟S56中的內(nèi)部處理。在該處理中,確定繪制區(qū)域的節(jié)點(diǎn)(步驟S76)。從而,確定了當(dāng)前地表面100的中心點(diǎn)C。然后,計(jì)算D(步驟S77),執(zhí)行估算公式(3)(步驟S78)。確定結(jié)果是真還是假(步驟S79)。如果確定該結(jié)果是真,則繪制該節(jié)點(diǎn)的地圖(步驟S80)。在步驟S81中重復(fù)從步驟S76起的處理步驟,直到確定繪制已經(jīng)完成。如果在步驟S79中確定該結(jié)果是假,則處理進(jìn)入步驟S81。
因此,與利用每次使用估算公式都必須執(zhí)行兩次乘法和一次減法的公式(1)的情況相比較,利用估算公式(3)進(jìn)行距離估算顯著地減少了CPU61d的負(fù)擔(dān),從而實(shí)現(xiàn)了高速計(jì)算。
利用上述布景圖數(shù)據(jù)中的四叉樹(shù)結(jié)構(gòu)的LOD方法引起下述問(wèn)題。
一般地,如圖41所示,在采用這樣四叉樹(shù)結(jié)構(gòu)的LOD方法中,要估算的區(qū)域被機(jī)械地劃分成四個(gè)區(qū)域,并根據(jù)物體是否在分區(qū)域中來(lái)構(gòu)造樹(shù)中的節(jié)點(diǎn)的等級(jí)。然而,如果這種方法用于三維地圖,那么,例如,由于機(jī)械數(shù)據(jù)劃分的LOD處理,可能不在屏幕上顯示可以從遠(yuǎn)處看到的作為地標(biāo)的物體,如東京塔或其他高大建筑物,即使這樣的物體位于可看見(jiàn)的位置。這是因?yàn)檫@樣物體不占用大面積的地表面。
下面將描述布景圖數(shù)據(jù)的四叉樹(shù)結(jié)構(gòu)中添加高度作為要素的情形。
圖28說(shuō)明了添加了高度作為要素的四叉樹(shù)結(jié)構(gòu)。
盡管通常在四叉樹(shù)結(jié)構(gòu)中的一個(gè)分區(qū)域內(nèi)的物體110被分到較低節(jié)點(diǎn),但是如果該物體110的高度超過(guò)了閾值,則將該物體110分到較高節(jié)點(diǎn)。
從而,避免了原來(lái)不顯示能在那個(gè)位置上看見(jiàn)的高大建筑物的情形。
下面描述一種在三維地圖數(shù)據(jù)結(jié)構(gòu)中用戶指定的點(diǎn)上顯示POI信息的方法。
圖29說(shuō)明了用于指明用戶指定的建筑物的處理。
例如,當(dāng)用戶用手指或記錄筆在圖4所示的顯示設(shè)備62的屏幕上指定一點(diǎn)時(shí),對(duì)應(yīng)于用戶在屏幕120上指定點(diǎn)的點(diǎn)121的坐標(biāo)表示為(x,y)。這里,根據(jù)圖6所示布景圖數(shù)據(jù)中描述的與坐標(biāo)(x,y)交迭的表示建筑物等物體的邊界框的投影(projection),投影最接近屏幕的物體作為指定建筑物被指明。在圖29所示的例子中,在物體126、127和128中,物體126和128的邊界框126a和128a在屏幕120上與坐標(biāo)點(diǎn)(x,y)交迭。因?yàn)檫吔缈?26a的位置更接近屏幕,在此例子中,物體126被指定。
現(xiàn)在參考圖30所示流程圖描述指明用戶指定的建筑物的處理。
CPU61d根據(jù)用戶使用外部輸入設(shè)備64等指定的點(diǎn)的信息,指明屏幕上的點(diǎn)的坐標(biāo)(x,y),如圖29所示(步驟S90)。然后,基于指明的坐標(biāo)(x,y)搜索布景圖數(shù)據(jù)。首先,把當(dāng)前級(jí)別設(shè)置為1(步驟S91),獲取設(shè)置在當(dāng)前級(jí)別的物體的邊界框(步驟S92)。將所獲取的邊界框投影在屏幕上的三維坐標(biāo)上(步驟S93)。確定邊界框是否與用戶指定的點(diǎn)(x,y)交迭(步驟S94)。如果邊界框與點(diǎn)(x,y)交迭,則將該物體的ID和坐標(biāo)加入列表,并臨時(shí)存儲(chǔ)在RAM61b中(步驟S95)。然后,處理進(jìn)入步驟S96。如果在步驟S94中確定邊界框沒(méi)有與點(diǎn)(x,y)交迭,則處理進(jìn)入步驟S96。
在步驟S96中,確定是否已經(jīng)處理了所有物體。如果不是所有物體都已經(jīng)被處理,則獲取在當(dāng)前級(jí)別的下一個(gè)物體的邊界框(步驟S97),重復(fù)從步驟S93起的處理步驟。如果在步驟S96中確定已經(jīng)處理了所有物體,處理進(jìn)入步驟S98。
在步驟S98中,確定是否已搜索了所有級(jí)別。如果不是所有級(jí)別都已被搜索,則當(dāng)前級(jí)別加1(步驟S99),并重復(fù)從步驟S92起的處理步驟。如果在步驟S98中確定已經(jīng)搜索了所有級(jí)別,則確定從在步驟S95中加入列表的物體的邊界框的坐標(biāo)中,選擇三維空間中最接近的物體,并提取該物體(步驟S100)。
另外,因?yàn)樗x物體的ID對(duì)應(yīng)于三維地圖中的標(biāo)志,所以可以執(zhí)行特殊效果繪制,例如僅放大屏幕上顯示的所選物體或改變所選物體的顏色。
對(duì)于上述三維地圖的這種交互,當(dāng)顯示有許多建筑物的市區(qū)內(nèi)的廣域地圖時(shí),指定特定建筑物可能是困難的。例如,即使用戶想在屏幕上指定高大建筑物,當(dāng)機(jī)械地應(yīng)用圖30所示的處理時(shí),因?yàn)橄胫付ǖ慕ㄖ镏車泻芏嘈〉暮椭械却笮〉慕ㄖ?,所以可能很難確定用戶要指定的建筑物。在圖30的步驟S98中,如果把要搜索的布景圖數(shù)據(jù)的級(jí)別限定設(shè)置成比物體實(shí)際所在的級(jí)別低的詳細(xì)度級(jí)別,則僅剩下大于預(yù)定閾值和高于預(yù)定閾值的建筑物。這樣,用戶可以容易地進(jìn)行搜索。另外,因?yàn)橐阉鞯奈矬w的數(shù)量減少,搜索所花費(fèi)的時(shí)間也減少了。例如,如下所述執(zhí)行該處理。
圖31和32說(shuō)明了當(dāng)限定要搜索的級(jí)別時(shí)對(duì)物體的搜索。
如果用戶想在圖31所示屏幕上指定公園130,因?yàn)楣珗@130被多個(gè)建筑物131、132、和133包圍,很難指定公園130。在這種情況下,因?yàn)楣珗@130與建筑物131、132、和133的大小是明顯不同的,所以在布景圖數(shù)據(jù)中公園130屬于與建筑物131、132、和133不同的級(jí)別。這樣,通過(guò)把布景圖數(shù)據(jù)劃分成要搜索的級(jí)別和不被搜索的級(jí)別,如圖32所示,用戶可以很容易地指定公園130。也就是說(shuō),如果將詳細(xì)度級(jí)別高于預(yù)定級(jí)別的布景圖數(shù)據(jù)設(shè)置成不被搜索,則可以很容易地指定期望的點(diǎn)。
權(quán)利要求
1.一種具有顯示三維地圖的功能均地圖顯示系統(tǒng),包括地圖數(shù)據(jù)處理部分,用于把三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制該三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù);以及地圖數(shù)據(jù)顯示部分,用于參考布景圖數(shù)據(jù)指定顯示區(qū)域,并根據(jù)指定顯示區(qū)域讀取和顯示繪制數(shù)據(jù)。
2.一種用于處理三維地圖數(shù)據(jù)的地圖數(shù)據(jù)處理裝置,包括存儲(chǔ)單元,用于存儲(chǔ)三維地圖數(shù)據(jù);以及地圖數(shù)據(jù)處理單元,用于把三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用來(lái)繪制該三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù)。
3.如權(quán)利要求2所述的地圖數(shù)據(jù)處理裝置,其中樹(shù)結(jié)構(gòu)包括取決于三維地圖的詳細(xì)度級(jí)別的多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn)。
4.如權(quán)利要求3所述的地圖數(shù)據(jù)處理裝置,其中,在樹(shù)結(jié)構(gòu)中,在每個(gè)等級(jí)級(jí)別,每個(gè)節(jié)點(diǎn)被劃分成四個(gè)節(jié)點(diǎn)。
5.如權(quán)利要求3所述的地圖數(shù)據(jù)處理裝置,其中地圖數(shù)據(jù)處理單元處理布景圖數(shù)據(jù),使得對(duì)于較低詳細(xì)度級(jí)別的節(jié)點(diǎn)顯示高于預(yù)定閾值的物體。
6.如權(quán)利要求2所述的地圖數(shù)據(jù)處理裝置,其中樹(shù)結(jié)構(gòu)以XML格式寫(xiě)出。
7.如權(quán)利要求2所述的地圖數(shù)據(jù)處理裝置,其中繪制數(shù)據(jù)以順序執(zhí)行數(shù)據(jù)格式寫(xiě)出。
8.如權(quán)利要求2所述的地圖數(shù)據(jù)處理裝置,其中地圖數(shù)據(jù)處理單元把用于使布景圖數(shù)據(jù)和繪制數(shù)據(jù)相關(guān)聯(lián)的標(biāo)志信息添加到布景圖數(shù)據(jù)和繪制數(shù)據(jù)。
9.一種具有顯示三維地圖的功能的地圖顯示裝置,包括布景圖數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù);繪制數(shù)據(jù)存儲(chǔ)單元,用于存儲(chǔ)用來(lái)繪制三維地圖中包括的物體的繪制數(shù)據(jù);顯示區(qū)域指定單元,用于參考布景圖數(shù)據(jù)指定顯示區(qū)域;數(shù)據(jù)讀取單元,用于根據(jù)指定的顯示區(qū)域讀取繪制數(shù)據(jù);以及顯示處理單元,用于基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
10.如權(quán)利要求9所述的地圖顯示裝置,還包括當(dāng)前位置指定單元,用于指定當(dāng)前位置;和攝像機(jī)位置設(shè)置單元,用于在三維地圖中設(shè)置觀察點(diǎn)和視線,其中顯示區(qū)域指定單元基于指定的當(dāng)前位置、觀察點(diǎn)、和視線通過(guò)參考布景圖數(shù)據(jù)指定顯示區(qū)域。
11.如權(quán)利要求10所述的地圖顯示裝置,其中該樹(shù)結(jié)構(gòu)包括取決于三維地圖的詳細(xì)度級(jí)別的多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn);并且該顯示區(qū)域指定單元根據(jù)從觀察點(diǎn)到每個(gè)節(jié)點(diǎn)表示的三維地圖的地表面的距離,基于觀察點(diǎn)和視線確定詳細(xì)度級(jí)別,并指定顯示區(qū)域。
12.如權(quán)利要求9所述的地圖顯示裝置,還包括關(guān)注點(diǎn)信息存儲(chǔ)單元,用于存儲(chǔ)為物體提供的關(guān)注點(diǎn)信息,其中數(shù)據(jù)讀取單元在布景圖數(shù)據(jù)中搜索用戶在顯示處理單元顯示的三維地圖上指定的物體,并讀取搜索物體的關(guān)注點(diǎn)信息;以及顯示處理單元在屏幕上顯示關(guān)注點(diǎn)信息。
13.如權(quán)利要求12所述的地圖顯示裝置,其中數(shù)據(jù)讀取單元限定要搜索的布景圖數(shù)據(jù)的等級(jí)級(jí)別。
14.一種用于顯示三維地圖的地圖顯示方法,包括以下步驟在三維地圖中設(shè)置觀察點(diǎn)和視線;搜索采用具有取決于詳細(xì)度級(jí)別的多個(gè)等級(jí)級(jí)別的節(jié)點(diǎn)的樹(shù)結(jié)構(gòu)來(lái)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù),并根據(jù)從觀察點(diǎn)到每個(gè)節(jié)點(diǎn)表示的三維地圖的地表面的距離,基于觀察點(diǎn)和視線來(lái)確定是否顯示每個(gè)節(jié)點(diǎn)表示的三維地圖;當(dāng)顯示每個(gè)節(jié)點(diǎn)表示的三維地圖時(shí),讀取用于繪制在每個(gè)節(jié)點(diǎn)的三維地圖中包括的物體的繪制數(shù)據(jù);以及基于所讀取的繪制數(shù)據(jù)執(zhí)行顯示處理。
全文摘要
地圖數(shù)據(jù)處理部分把原始三維地圖數(shù)據(jù)分成用樹(shù)結(jié)構(gòu)表示三維地圖的數(shù)據(jù)結(jié)構(gòu)的布景圖數(shù)據(jù)和用于繪制在該三維地圖中包括的物體的繪制數(shù)據(jù),并處理該布景圖數(shù)據(jù)和該繪制數(shù)據(jù)。地圖數(shù)據(jù)顯示部分通過(guò)參考布景圖數(shù)據(jù)指定顯示區(qū)域,并根據(jù)指定的顯示區(qū)域讀取和顯示繪制數(shù)據(jù)。
文檔編號(hào)G06T17/05GK1619596SQ20041010384
公開(kāi)日2005年5月25日 申請(qǐng)日期2004年8月2日 優(yōu)先權(quán)日2003年8月1日
發(fā)明者龜田健司, 香田夏雄, 伊藤淳平, 長(zhǎng)田尚憲 申請(qǐng)人:索尼株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
金门县| 裕民县| 灵武市| 曲沃县| 德化县| 乌兰浩特市| 定襄县| 青海省| 子洲县| 吉隆县| 容城县| 阿坝| 兰坪| 涟水县| 建瓯市| 红河县| 彭水| 靖边县| 楚雄市| 辛集市| 栾川县| 察隅县| 景泰县| 赤壁市| 缙云县| 新干县| 吉隆县| 铜川市| 普定县| 长白| 衡东县| 庄河市| 温泉县| 长宁区| 万州区| 贡觉县| 安塞县| 芦山县| 麦盖提县| 海丰县| 元阳县|