TW201211509A - Navigation devices - Google Patents

Navigation devices Download PDF

Info

Publication number
TW201211509A
TW201211509A TW99131295A TW99131295A TW201211509A TW 201211509 A TW201211509 A TW 201211509A TW 99131295 A TW99131295 A TW 99131295A TW 99131295 A TW99131295 A TW 99131295A TW 201211509 A TW201211509 A TW 201211509A
Authority
TW
Taiwan
Prior art keywords
navigable
map
segment
route
segments
Prior art date
Application number
TW99131295A
Other languages
Chinese (zh)
Inventor
Heiko Schilling
Ewgenij Gawrilow
Moritz Hilger
Andreas Profous
Jurgen Werber
Dominique Pelle
Original Assignee
Tomtom Int Bv
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 Tomtom Int Bv filed Critical Tomtom Int Bv
Priority to TW99131295A priority Critical patent/TW201211509A/en
Publication of TW201211509A publication Critical patent/TW201211509A/en

Links

Landscapes

  • Navigation (AREA)

Abstract

A method of creating map data including search acceleration data arranged to increase the speed at which a route can be planned across an electronic map comprising a plurality of navigable segments, each navigable segment representing a segment of a navigable route in the area covered by the map. wherein the method comprises: (a) reducing the number of navigable segments to be considered in the creation of the search acceleration data by removing navigable segments to form a core network of navigable segments; (b) dividing the electronic map into a set of hierarchical regions such that the or each navigable segment is categorized into at least one region in each level of the hierarchy: (c) using a time varying function associated with at least some, and generally each, navigable segment of the core network to determine whether that navigable segment is part of minimum cost route to at least one of the regions and recording this determination in the search acceleration data: and To be accompanied by Figure 7a when published

Description

201211509 六、發明說明: 【發明所屬之技術領域】 本發明係關於產生地圖資料之電腦化方法及相關系統。 特定言之(但非排他地)’該產生地圖資料之方法係用以促 進根據預定成本函數在至少兩個點之間進行路線規劃。本 發明之實施例可產生搜尋加速資料,當該等搜尋加速資料 用於路線規劃時’減少產生路線所花費的時間。 【先前技術】 路線規劃裝置(常常被稱作衛星導航攜帶型導航裝置 (PND)或類似者)連同可跨越全球資訊網(www)(諸如, httP://routes.tomt〇m c〇m/)而存取之web網站一起為吾人所 熟知且允許其使用者規劃兩個點之間的路線。此技術可一 般被稱作電子路線規劃或僅路線規劃。 用於此電子路線規劃之地圖資料來自於諸如Teh 之專業地圖供應商。當在PND上執行此路線規劃時通 常會使用來自GPS系統之所在地資料。然&,其他應用程 式可允許使用者輸入其所在地或為了路徑選擇規劃 (routing pianning)之目的要考慮的其他點。 此地圖資料包含複數條道路(及其他可導航路徑),其可 被描述為線—亦即’向量或道路段(例如,起點、終點、 料之方向,纟中整條道路由成千上百個此等段構成,每 k由起點/終點方向參數唯_地界^ )。地圖就是此等道 路向量、與每一向量相關聯之資料(速度限制、行進方向 等等)力/、趣點(Ρ〇Ι)加道路名稱加其他地理特徵(如停車場 150831.doc 201211509 ΐ界、Γ流邊界等等)之集合,其全部依據向量加以界 :二:t 系統對應或與G ρ s座標系統有關之 t界&所有地圖特徵(例如,道路向量、P0I等 =),從而使得如經由GPS系統而心的裝置之位置能夠被 疋位於地圖令所展示的相關道路上且允許規劃至目的地 最佳路線。 Θ 此地圖資料可為廣泛的。已知某些地圖覆蓋具有超過 120,000,_個向量之區域,且此地圖資料之_實觸為覆 蓋歐洲及俄羅斯之區域的地圖。目而,使用此地圖資料來 規劃路線為複雜的且可耗時甚巨。又,已知此路線規劃為 在精確性與時間之間的折衷。 >已考量了在改良可進行路徑選擇之速度方面的想法之先 前技術包括US 6,636,_,其論述對適於小得多之地圖大 小(諸如,西歐高速公路網路(其具有約略4〇〇,〇〇〇個向量)) 的A最佳優先搜尋策略之改進。 【發明内容】 根據本發明之第一態樣,提供一種產生包括搜尋加速資 料之地圖身料之方法,該搜尋加速資料經S己置以增加可在 一包含複數個可導航段之電子地圖上規劃一路線之速度, 母一可導航段表示在由該地圖覆蓋的區域中之一可導航路 線之一段’其中該方法包含: a)藉由移除可導航段以形成可導航段之一核心網路 而減小在該產生該搜尋加速資料的程序中要考慮的可導 航段之數目; 150831.doc 201211509 b) 將該電子地圖劃分成階層式區之一集合,以使得 該可導航段或每一可導航段被分類到該階層之每一等級 中的至少一區中; c) 使用一與該核心網路中之至少一些可導航段且通 常每一可導航段相關聯之時變函數以確定彼可導航段是 否為至該等區中之至少一者之最小成本路線的部分,且 將此確定記錄於該搜尋加速資料中;及 d) 產生該地圖資料。 據k此方法為有利的’因為其允許比先前技術方法更迅 速地計算該搜尋加速資料。接下來,據信該搜尋加速資料 為有利的’因為其允§午更迅速地執行使用彼地圖資料進行 之路線規劃。 通常’將該搜尋加速資料計算為複數個位元向量。本發 明之一些實施例可經由該搜尋加速資料之一位元計算(指 不)一道路段是否為自一起點可導航段至一目的地區之最 小成本路線的部分。 熟習此項技術者應瞭解,通常該地圖資料内之每—可導 航段(或可能為節點)具有與其相關聯之時變函數。舉例而 言,時變函數可包含在各個時間間隔處在可導航段上之平 均速度。舉例而言,可按5分鐘間隔或其類似者指定平均 速度。 方便地’藉由移除其搜尋加速資料稍後可被恢復的可導 航段而產生該核心網路。此方法為有利的,因為其允許確 定該電子地圖内之實質上所有可導航段之搜尋加速資料, 150831.doc 201211509 藉此使自該地圖内之任何可導航段之路線規劃加速。 本發明之一些實施例可利用以下技術中之任一或多者以 在該產生該搜尋加速資料之前自電子地圖移除可導航段: •滿足一與道路性質有關的預定準則; 自。亥罔路移除形成该網路之部分的根據某一預定準 則為足夠小且可藉由移除滿足某另一預定準則的可 導航段之一集合而與該網路之剩餘部分中斷連接之 可導航段; •在預定情況下,將在可導航段之間的接點處出現的 節點摺疊至彼此上;及 •在節點具有連接至其之兩個或兩個以下可導航段的 情況下’將該等節點摺疊至彼此上。 據信此等技術為有利的,因為其減少了需要在搜尋加速 資料之產生期間考慮的可導航段之數目,此增加(可能顯 著增加)可產生搜尋加速資料之速度。 額外或替代性地,本發明之實施例可利用以下技術中之 任一或多者來一旦產生搜尋加速資料就壓縮該搜尋加速資 料: •計算該搜尋加速資料中之位元對之相關性; •以一無損失方式聚結該搜尋加速資料中的實質上相 關之位元以便減小要編碼之位元數目; •聚結該搜尋加速資料中之相關位元以便執行有損失 的壓縮; •將經t結之搜哥加速資料中的位元根據其相關性進 150831.doc 201211509 行重新排序; •對該搜尋加速資料進行霍夫曼編碼。 在些貫施例中’實質上相關之位元可被認為幾乎彼此 相關’亦即’將被壓縮的搜尋加速資料之間可能存在小的 差別。可根據預定準則調節會被聚結的搜尋加速資料之接 近性。因此,本發明之實施此有損失的聚結之實施例進一 步減小由搜尋加速資料佔據的記憶體佔據面積,而代價為 增加了執行使用該搜尋加速資料之路線規劃所需的處理。 將搜尋加速資料重新排序之實施例為有利的,因為可增 加霍夫曼壓縮對搜尋加速資料之壓縮效率。 根據本發明之第二態樣,提供一種產生地圖資料之方 法,該地圖資料包括經配置以增加可在一電子地圖上規劃 一路線之速度之搜尋加速資料,該方法包含使用至少一處 理設備以處理該包含複數個可導航段之電子地圖,該複數 個可導航段表示在由該地圖覆蓋的區域中之一可導航路線 之段,該方法包含使該處理設備: a. 處理該等可導航段以便藉由移除可導航段以形成 可導航段之一核心網路而減小在該產生該搜尋加速資料 的程序中要考慮的可導航段之數目; b. 產生該核心網路中之至少一些可導航段且通常每 一可導航段之搜尋加速資料,其指示彼可導航段是否為 一最小成本路線之部分;且 其中步驟a·包括以下各項中之任一或多者: •滿足一與道路性質有關的預定準則; 150831.doc 201211509 •自該網路移除形成該網路之部分的根據某一預定準 則為足夠小且可藉由移除滿^某另_狀準則的可 導航段之一集合而與該網路之剩餘部分中斷連接之 可導航段; •在預定情況下’將在可導航段之間的接點處出現的 節點摺疊至彼此上;及 在節點具有連接至其之兩個或兩個以下可導航段的 情況下,將該等節點摺疊至彼此上。 根據本發明之第三態樣,提供一種產生地圖資料之方 法,該地圖詞包括經配置以增加可在—電子地圖上規割 一路線之速度之搜尋加速資料,該方法包含使用至少一處 理設備以處理包含複數個可導航段的—電子地圖,該複數 個可導航段各自具有與其相關聯之複數個節點,表示在由 該地圖覆蓋的區域中之-可導航路線之段且具有與其相關 聯之表不β可導航路線之—參數的至少—屬性,該方法包 含: a) 評估該至少一屬性; b) 將該電子地圖劃分成階層式區之一集合,以使得 。亥可導航#又或母一可導航段被分類到該階層之每一等級 中的至少一區中,其中該分類使用步驟a之該評估以確 保與s亥等可導航段相關聯的該等節點在該電子地圖之該 等區上得以平衡; c) 產生該地圖資料。 此方法之一優點為,其可有助於平衡散佈在該等區中之 150831.doc 201211509 每-者之間的可導航段之數目,此又可有助於增加該搜尋 加速資料之有效性。 ▲ ^反覆執行步驟a)及步驟㈣至符合㈣在該等區之間 該等節點之平衡的預定準則為止。舉例而言,關於可在給 定區中出現的可導航段之數目之上臨限值可為此準則。此 量測可有助於確保較迅速地計算搜尋加速資料;若該等區 3有其中所含有的可導航段之不平衡,則可計算搜尋加速 資料的速度可受到損害。 屬性可包括以下各者中之任一者. •可導航段之類型; •沿著可導航段之平均速度; •可導航段之長度; •彼段與其他可導航段之連接性。 該方法可經配置以確定旅行時間將慢於一預定臨限值之 地圖區,且可進一步將彼等區内之可導航段與該電子地圖 之其他區分離。 該方法可經配置以將為島之部分的可導航段與電子地圖 之其他區分離,可藉由確定彼可導航段之屬性為一輪渡航 線來執行此。此方法為有利的,因為行進至此等島可比至 該電子地圖之其他區慢,且包括此等島可損害搜尋加速資 料之有效性及/或可使搜尋加速資料之計算減緩。 根據本發明之第四態樣’提供一種產生地圖資料之方 法’該地圖資料包括經配置以增加可在一電子地圖上規劃 一路線之速度之搜尋加速資料,該方法包含使用至少一處 150831.doc •10· 201211509 理設備以處理一包含複數個可導航段之電子地圖,該複數 個可導航段各自表示在由該地圖覆蓋的區域中之一可導航 路線之段,該方法包含: a) .將該地圖劃分成屬於至少一較粗略等級及一相鄰 較精細等級之複數個階層式區,以使得將每一可導航段 分類到該較粗略等級及該較精細等級中之每一者中的至 少一區中,且其中該較粗略等級之任一區含有該較精細 等級之複數個區; b) _針對一給定目的地區,藉由評估是否應將接近於 該含有該目的地區之較粗略等級區的區添加至一可見度 區域且在該評估為肯定時添加彼等區而確定至少包含含 有該目的地區之該較粗略等級區的該可見度區域之範 圍; c) .針對至少一些可導航段,計算關於至彼目的地區 的至少一最小成本路線之資訊; d) .其中對一導航段之處理包括執行自該目的地區反 過來朝向該可導航段之一反向搜尋,且實質上僅包括在 s亥目的地區之該可見度區域中的可導航段;及 e) .產生該地圖資料。 此方法之一優點為’對附近區域之使用允許用以產生搜 尋加速資料之搜尋空間受約束,且因而,可產生搜尋加速 資料的速度得以增加。 根據本發明之第五態樣’提供一種產生地圖資料之方 法,該地圖資料包括經配置以增加可在一電子地圖上規劃 150831.doc 201211509 一路線之速度之搜尋加速資料,該方法包含使用至少一處 理設備以處理-包含複數個可導航段之電子地圖,該複數 個可導航段各自表示在由該地圖覆蓋的區域中之一可導航 路線之段,該方法包含: a) .將該地圖劃分成屬於至少一較粗略等級及一相鄰 較精細等級之複數個階層式區,以使得將每一可導航段 分類到該較粗略等級及該較精細等級中之每一者中的至 區中且其中5玄較粗略等級之任一區含有該較精細 等級之複數個區; b) .針對一給定目的地區,藉由評估是否應將接近於 該含有該目的地區之較粗略等級區的區添加至一可見度 區域且在該評估為肯定時添加彼等區而確定至少包含含 有该目的地區之該較粗略等級區的該可見度區域之範 圍; c) _針對至少一些可導航段’計算關於至彼目的地區 的至少一最小成本路線之資訊; d) .配置該搜尋加速資料以包含關於該可見度區域中 的至少一些且通常每一可導航段至該目的地區之該至少 一最小成本路線之資訊;及 e) .產生該地圖資料。 此方法之一優點為,使用該搜尋加速資料進行路線規劃 之執行速度可增加。搜尋加速資料可被認為是至目的地區 的路標°藉此將含有搜尋加速資料之區的數目增加至含有 於該附近區域内之區會增加含有至目的地區之「路標」的 150831.doc •12- 201211509 區之數目。因此,產生搜尋加速資料之時間可增加,但使 用該搜尋加速資料進行路線規劃之效能亦將增加。 關於區是否接近於含有該目的地區的較粗略等級區之評 估可基於一預定準則。此預定準則可為以下各者中之任一 者或組合:圖理論距離、地理距離、行進時間、燃料:耗 及/或C02排放。實際上,在一些實施例中,可^鄰近於 含有該目的地區之較粗略等級區的區為較接近的。 添加至可見度區域之區可包含以下各者中之至少—者. 較粗略等級之-或多個區及較粗略等級之—或多個丄 部分。 料内包括除了該 中該額外路線可 上述方法中之任一者可在該搜尋加速資 取小成本路線之外的至少一額外路線其 反映以下各者中的任一或多者: 、 之間的在不同時間處之不同 給定出發點與目的地點 最小成本路線; •針對不同交通情況的在终 _ ° &點與目的地點之間 的不同隶小成本路線; •根據不同成本函數的在給 的不同最小成本路線;出發點與目的地點之間 •針對一給定道路網路中之任 發ϊϋ θ μ & # 7動怎改變的在給定出 與目的地點之間的不同最小成本路線; 根據相同成本函數的在給 之間 的替代路線;及 出發點與目的地點 •在彼此類似之方向上 之不同目的地點。 150831.doc -13. 201211509 因而,該搜尋加速資料可包括複數個「最小成本」路 、·’ /、母者係大體上對照一不同準則而判斷的。此方法 之一優點為,使用最小成本資料之路線規劃可針對各種準 則產生最佳路線。 根據本發明之第六態樣,提供 a) 將地圖劃分成處於階層之一或多個等級處的複數 個階層式區; b) 按該等級階層之次序處理屬於階層之一特定等級 的區中之至少一些區,自最精細等級直至最粗略等級地 進行處理,且對於此等區中之至少一些區,確定哪些可 導航段進入及/或離開彼區; c) 處理該地圖内之該等可導航段中之至少一些可導 航段以確定自彼可導航段至一目的地區之至少一最小成 本路線; d) 其中該對一可導航段之處理包括執行自該目的地 區反過來朝向該可導航段之一反向搜尋; e) 在所得搜尋圖中’對於下一較精細等級處之至少 一區’識別處於彼下一較精細等級之區之一集合,以使 得來自給定區之每一最小成本路徑穿過該集合之該等區 中的至少一者’從而導致一相關矩陣; f) 在該所得搜尋圖中’識別哪些可導航段未含有於 自一不同於其自己的區之區至另一目的地區之任何路徑 中,所以其可被認為是「非運輸段」,且對於後續步驟 移除彼等非運輸段以便減小在該等後續步驟中所考慮的 150831.doc •14- 201211509 可導航段之數目; g)其中該產生搜尋加速資料包含使用相關矩陣以將 搜尋加速資料指派給在所有先前步驟中已經移除的該等 非運輪段; h)產生地圖資料。 、本發明之上述態樣中之任一者可使用一或多個導航裝置 以產生由至少一系列位置構成的定位資料。在後期,該等 &可處理& <位貪料以自其產生速度概況,#等速度概 相對於時間而變化,其中該等所產生之速度概況與產生 彼速度概況之定位資料所出現於的可導航段相關聯。 根據本啦a月之第七癌樣,提供—種導航裝置,其經配置 以使用其-處理器而在—電子地圖上產生一路線,其中該 處理器經配置以: 在遠電子地圖上執行—路線搜尋; 在錢哥期間所處理的表示該電子地圖中之可導航段之 節點處的—成本計算中,執行對連接至彼等節點的可導 航段是否被標記為-最小成本路線的部分之—評估;及 若存在此等可導航段,則僅探索彼等可導航段。 該搜尋可折衷諸如A*搜尋之樹搜尋、本文中所描述之任 何其他搜尋方法,或其類似者。在其他實施例中,該搜尋 可包含一有向非循環圖搜尋。 根據本發明之第八態樣’提供-種在-電子地圖上產生 :路線之=法,其包含在圖樹之表示該電子地圖内之一可 、.航段的即點處所執行的—成本計算中執行一 A*搜尋,且 i50831.doc -15- 201211509 包括評估搜寻加速資料以確定連接至彼節點之可導航段是 否被標記為一最小成本路線之部分及若存在此等可導航段 則僅探索彼等可導航段。 方便地預先產生該搜尋加速資料,且與該電子地圖一起 或與該電子地圖相關聯地儲存該搜尋加速資料。 此方法被認為係有利的,因為其可顯著增加可在該電子 地圖上產生該路線之速度。 根據本發明之第九態樣’提供一種導航裝置,其經配置 以使用其一處理器來分析地圖資料而在一電子地圖上產生 至一目的地的一路線’其中該處理器經配置以: •使用保持於該地圖資料中之資訊在該電子地圖上執 行一路線搜尋; •在該搜尋期間所處理的表示該電子地圖中之可導航 段之節點處的一成本計算中,執行對連接至彼等節 點的可導航段是否在搜尋加速資料内被標記為一最 小成本路線的部分之一評估; •其中該地圖資料包括關於是否存在自彼節點至該目 的地的額外搜尋加速資料之一指示符,該額外搜尋 資讯提供關於最小成本路線之另外資訊;及 •若該最小成本資料可用,則僅探索具有該搜尋加速 資料之彼等可導航段。. 此裝置為有利的,因為該提供於該地圊資料中之指示符 有助於提供約束由該導航裝置探索的路線數目之資訊。 該指示符可包含目的地之一可見度區域,且該導航裝置 15083l.doc •16- 201211509 可經配置以在目的地處於可見度區内時利用關於最小成本 路線之該另外資訊。 根據本發明之另外態樣,可提供經配置以執行上述方法 中之任一者之計算設備。 根據本發明之另外態樣,提供含有指令之機器可讀媒 體,該等指令在被讀取至至少一機器上時提供上述方法中 的任一方法。 根據本發明之又另外態樣,提供含有指令之機器可讀媒 體,以使該等指+被讀取至其上的該冑器或每一機器作為 本發明之上述態樣中的任一者之計算裝置來執行。 在平行執行該方法之實施例中,指令可被讀取至複數個 機器上。 熟習此項技術者應瞭解,本發明之上述態樣之許多特徵 中的特徵可加以必要的變更地應用於本發明之其他態樣。201211509 VI. Description of the Invention: [Technical Field to Be Invented] The present invention relates to a computerized method and related system for generating map data. Specifically (but not exclusively) the method of generating map data is used to facilitate route planning between at least two points in accordance with a predetermined cost function. Embodiments of the present invention can generate search acceleration data that reduces the time it takes to generate a route when the search acceleration data is used for route planning. [Prior Art] A route planning device (often referred to as a satellite navigation portable navigation device (PND) or the like) along with a global information network (www) (such as httP://routes.tomt〇mc〇m/) The web site that is accessed is well known to us and allows its users to plan the route between the two points. This technique can be generally referred to as electronic route planning or route planning only. The map material used for this electronic route planning comes from a professional map supplier such as Teh. When performing this route planning on the PND, the location data from the GPS system is usually used. However, other applications allow the user to enter their location or other points to consider for the purpose of routing pianning. This map material contains a number of roads (and other navigable paths) that can be described as lines—that is, 'vectors or road segments (eg, starting point, end point, direction of the material, and the entire road in the raft is made up of hundreds of These segments are composed, and each k is determined by the start/end direction parameter only _ boundary ^). The map is the road vector, the data associated with each vector (speed limit, direction of travel, etc.) force /, interest point (Ρ〇Ι) plus road name plus other geographic features (such as parking lot 150831.doc 201211509 boundary a set of turbulent boundaries, etc., all bounded by a vector: two: t system corresponding or t-boundary & all map features associated with the G ρ s coordinate system (eg, road vector, P0I, etc.), thereby The location of the device as a heart via the GPS system can be placed on the relevant road displayed by the map order and allowed to plan to the destination best route. Θ This map material can be extensive. Some maps are known to cover areas with more than 120,000, _ vectors, and the map data is a map covering Europe and Russia. By the way, using this map material to plan a route is complex and time consuming. Again, this route is known to be a compromise between accuracy and time. > The prior art that has considered the idea of improving the speed at which path selection can be made includes US 6,636, _, which is discussed for a much smaller map size (such as the Western European Highway Network (which has approximately 4 〇) 〇, 向量 a vector)) Improvement of the A best priority search strategy. SUMMARY OF THE INVENTION According to a first aspect of the present invention, a method for generating a map body including search acceleration data is provided, the search acceleration data being added to an electronic map including a plurality of navigable segments. To plan the speed of a route, the parent-navigable segment represents one of the navigable routes in the area covered by the map, where the method comprises: a) by removing the navigable segment to form one of the navigable segments Networking to reduce the number of navigable segments to be considered in the program that generates the search acceleration data; 150831.doc 201211509 b) dividing the electronic map into a set of hierarchical regions such that the navigable segment or Each navigable segment is classified into at least one of each of the levels; c) using a time varying function associated with at least some of the navigable segments of the core network and typically each navigable segment Determining whether the navigational segment is part of a least cost route to at least one of the zones, and recording the determination in the search acceleration data; and d) generating the map material. This method is advantageous because it allows the search acceleration data to be calculated more quickly than prior art methods. Next, it is believed that the search acceleration data is advantageous 'because it allows the route planning using the map material to be performed more quickly in the afternoon. Usually, the search acceleration data is calculated as a plurality of bit vectors. Some embodiments of the present invention may calculate, via one of the bits of the search acceleration data, whether a road segment is part of a minimum cost route from a point navigable segment to a destination region. Those skilled in the art will appreciate that typically each of the navigable segments (or possibly nodes) within the map material has a time varying function associated with it. For example, the time varying function can include the average speed over the navigable segments at various time intervals. For example, the average speed can be specified at 5 minute intervals or the like. It is convenient to generate the core network by removing the navigable segments whose search acceleration data can be recovered later. This method is advantageous because it allows for the determination of the search acceleration data for virtually all navigable segments within the electronic map, thereby enabling the route planning of any navigable segments within the map to be accelerated. Some embodiments of the present invention may utilize any one or more of the following techniques to remove a navigable segment from an electronic map prior to generating the search acceleration data: • satisfy a predetermined criterion relating to the nature of the road; The removal of the portion of the network that forms part of the network is sufficiently small according to a predetermined criterion and can be disconnected from the rest of the network by removing a set of navigable segments that satisfy some other predetermined criterion. Navigable segments; • Folding nodes appearing at joints between navigable segments onto each other under predetermined conditions; and • Where nodes have two or more navigational segments connected to them 'Fold these nodes onto each other. It is believed that such techniques are advantageous because they reduce the number of navigable segments that need to be considered during the generation of search acceleration data, and this increase (possibly significantly increased) can result in the speed of searching for accelerated data. Additionally or alternatively, embodiments of the present invention may utilize any one or more of the following techniques to compress the search acceleration data once the search acceleration data is generated: • calculating the correlation of the bit pairs in the search acceleration data; • aggregating substantially related bits in the search acceleration data in a lossless manner to reduce the number of bits to be encoded; • coalescing the relevant bits in the search acceleration data to perform lossy compression; The bits in the t-synthesis data are reordered according to their correlation into the line 150831.doc 201211509; • Huffman coding is performed on the search acceleration data. In some embodiments, 'substantially related bits can be considered to be nearly related to each other', i.e., there may be a small difference between the search acceleration data to be compressed. The proximity of the search acceleration data that will be coalesced can be adjusted according to predetermined criteria. Thus, embodiments of the present invention having a loss of coalescence further reduce the memory footprint occupied by the search acceleration data at the expense of increasing the processing required to perform route planning using the search acceleration data. Embodiments that re-sequence search acceleration data are advantageous because the efficiency of compression of the search acceleration data by Huffman compression can be increased. According to a second aspect of the present invention, a method of generating map data is provided, the map material comprising search acceleration data configured to increase a speed at which a route can be planned on an electronic map, the method comprising using at least one processing device Processing the electronic map comprising a plurality of navigable segments, the plurality of navigable segments representing a segment of a navigable route in an area covered by the map, the method comprising causing the processing device to: a. process the navigable Segmenting to reduce the number of navigable segments to be considered in the program for generating the search acceleration data by removing the navigable segment to form a core network of navigable segments; b. generating the core network At least some navigable segments and typically search acceleration data for each navigable segment indicating whether the navigable segment is part of a least cost route; and wherein step a. includes any one or more of the following: Meeting a predetermined criterion relating to the nature of the road; 150831.doc 201211509 • Removal of portions of the network from the network is adequate according to a predetermined criterion And a navigable segment that can be disconnected from the rest of the network by removing a set of navigable segments that are full of _----; in a predetermined case, 'will be connected between the navigable segments The nodes appearing at the points are folded onto each other; and in the case where the nodes have two or more of the following navigable segments connected thereto, the nodes are folded onto each other. According to a third aspect of the present invention, there is provided a method of generating map data, the map word comprising search acceleration data configured to increase a speed at which a route can be cut on an electronic map, the method comprising using at least one processing device To process an electronic map comprising a plurality of navigable segments, each of the plurality of navigable segments having a plurality of nodes associated therewith, representing a segment of the navigable route in the region covered by the map and having associated thereto The table is not a parameter of at least a parameter of the n-navable route, the method comprising: a) evaluating the at least one attribute; b) dividing the electronic map into a set of hierarchical regions such that. The Haike Navigate# or the parent-navigable segment is classified into at least one of each of the levels, wherein the classification uses the evaluation of step a to ensure that the navigational segment is associated with a navigational segment such as shai The nodes are balanced on the areas of the electronic map; c) the map material is generated. An advantage of this method is that it can help balance the number of navigable segments that are interspersed between the 150831.doc 201211509, which in turn can help increase the effectiveness of the search acceleration data. . ▲ ^ Repeat steps a) and (4) to meet (4) the predetermined criteria for the balance of the nodes between the zones. For example, a threshold above the number of navigable segments that may be present in a given zone may be the criterion. This measurement can help to ensure that the search acceleration data is calculated more quickly; if the zone 3 has an imbalance of the navigable segments contained therein, the speed at which the search acceleration data can be calculated can be compromised. The attributes may include any of the following: • the type of navigable segment; • the average speed along the navigable segment; • the length of the navigable segment; • the connectivity of the segment to other navigable segments. The method can be configured to determine a map area where travel time will be slower than a predetermined threshold, and the navigable segments within the area can be further separated from other areas of the electronic map. The method can be configured to separate the navigable segments of the island from other regions of the electronic map, which can be performed by determining the properties of the navigable segments as a ferry route. This method is advantageous because traveling to such islands can be slower than other areas of the electronic map, and including such islands can compromise the effectiveness of the search acceleration data and/or can slow the calculation of search acceleration data. According to a fourth aspect of the present invention, a method of generating map data is provided, the map material comprising search acceleration data configured to increase a speed at which a route can be planned on an electronic map, the method comprising using at least one location 150831. Doc • 10· 201211509 The device processes an electronic map comprising a plurality of navigable segments, each of which represents a segment of a navigable route in an area covered by the map, the method comprising: a) Dividing the map into a plurality of hierarchical regions belonging to at least one coarser level and an adjacent finer level, such that each navigable segment is classified into each of the coarser level and the finer level In at least one of the zones, and wherein any one of the coarser grades contains a plurality of zones of the finer level; b) _ for a given destination area, by evaluating whether it should be close to the area containing the destination The regions of the coarser level regions are added to a visibility region and the zones are added when the evaluation is positive, and the at least the coarser region including the destination region is determined to be included. a range of the visibility area of the zone; c) calculating information about at least one least cost route to the destination area for at least some navigable segments; d) wherein processing of a navigation segment includes performing an inverse from the destination area Retrieving backwards toward one of the navigable segments, and substantially only including the navigable segments in the visibility region of the region; and e) generating the map material. One of the advantages of this method is that the use of nearby areas allows the search space used to generate search acceleration data to be constrained, and thus, the speed at which search acceleration data can be generated is increased. According to a fifth aspect of the present invention, a method of generating map data is provided, the map material including search acceleration data configured to increase a speed at which a route of 150831.doc 201211509 can be planned on an electronic map, the method comprising using at least A processing device to process - an electronic map comprising a plurality of navigable segments, each of the plurality of navigable segments representing a segment of a navigable route in an area covered by the map, the method comprising: a). Dividing into a plurality of hierarchical regions belonging to at least one coarser level and an adjacent finer level, such that each navigable segment is classified into the to-be-region of the coarser level and each of the finer levels And any of the areas of the 5th grade that contain the finer level; b). For a given destination area, by evaluating whether it should be close to the coarser graded area containing the target area The zone is added to a visibility area and the zones are added when the evaluation is positive and the at least one of the coarser zone containing the destination zone is determined to be visible a range of regions; c) _ calculating information about at least one least cost route to the region for at least some navigable segments; d) configuring the search acceleration data to include at least some of the visibility regions and typically each Information of the at least one least cost route of the navigable segment to the destination area; and e) generating the map material. One of the advantages of this method is that the execution speed of route planning using the search acceleration data can be increased. Search acceleration data can be considered as a road sign to the destination area. By increasing the number of areas containing search acceleration data to the area contained in the nearby area, it will increase the "road signs" containing the destination area. 150831.doc •12 - The number of districts in 201211509. As a result, the time to generate search acceleration data can be increased, but the effectiveness of using the search acceleration data for route planning will also increase. The assessment as to whether the zone is close to the coarser graded zone containing the target area may be based on a predetermined criterion. This predetermined criterion can be any one or combination of the following: graph theoretical distance, geographic distance, travel time, fuel: consumption, and/or CO 2 emissions. In fact, in some embodiments, the regions adjacent to the coarser graded regions containing the region of interest may be closer. The zone added to the visibility area may include at least one of the following - a coarser level - or a plurality of zones and a coarser level - or a plurality of sections. Included in the material is that at least one additional route other than the above may be used in the search to accelerate the acquisition of the small cost route, which reflects any one or more of the following: The minimum cost route for a given departure point and destination point at different times; • Different small cost routes between the final _ ° & point and destination point for different traffic situations; • Depending on the cost function Different minimum cost routes; between the departure point and the destination point • for a given road network θ θ μ &# 7 how to change the different minimum cost route between the given and destination points; Alternative routes between pairs according to the same cost function; and departure and destination points • different destination points in directions similar to each other. 150831.doc -13. 201211509 Thus, the search acceleration data may include a plurality of "minimum cost" routes, and the parent system is generally judged against a different criterion. One of the advantages of this approach is that route planning with minimal cost data can produce the best route for each discipline. According to a sixth aspect of the present invention, there is provided a) dividing a map into a plurality of hierarchical regions at one or more levels of the hierarchy; b) processing the regions belonging to a particular level of the hierarchy in the order of the hierarchical hierarchy Processing at least some of the zones from the finest level to the most coarse level, and for at least some of the zones, determining which navigable segments enter and/or leave the zone; c) processing such At least some navigable segments of the navigable segment to determine at least one least cost route from the navigable segment to a destination region; d) wherein the processing of the pair of navigable segments includes performing from the destination region in turn toward the One of the navigation segments is reverse searched; e) in the resulting search graph, 'at least one region at the next finer level' is identified as one of the regions of the next finer level, such that each from a given region A least cost path passes through at least one of the zones of the set' resulting in a correlation matrix; f) identifying in the resulting search map which navigable segments are not included in a different From any zone of the zone to another destination, so it can be considered a "non-transport segment" and removes the non-transport segments for subsequent steps to reduce the considerations in these subsequent steps. 150831.doc •14- 201211509 The number of navigable segments; g) wherein the generating search acceleration data comprises using a correlation matrix to assign search acceleration data to the non-transport segments that have been removed in all previous steps; h) Generate map data. Any of the above aspects of the invention may use one or more navigation devices to generate positioning material comprised of at least a series of locations. In the latter stage, the &<bit> can be used to generate a velocity profile from which the velocity profile is varied with respect to time, wherein the velocity profile generated by the class and the location data generating the velocity profile are The navigable segments that appear in it are associated. According to a seventh cancer of the present month, a navigation device is provided that is configured to generate a route on an electronic map using its processor, wherein the processor is configured to: execute on a remote electronic map - route search; in the cost calculation at the node representing the navigable segment in the electronic map processed during Qian Ge, whether the navigational segment connected to their nodes is marked as part of the - least cost route - assessment; and if such navigable segments are present, only those navigable segments are explored. The search may be compromised by a tree search such as A* Search, any other search method described herein, or the like. In other embodiments, the search can include a directed acyclic graph search. According to an eighth aspect of the present invention, the method provides: a method of generating a route: a method of the route, which is performed at a point in the graph tree indicating that one of the electronic maps can be. Performing an A* search in the calculation, and i50831.doc -15- 201211509 includes evaluating the search acceleration data to determine whether the navigable segment connected to the node is marked as part of a least cost route and if such navigable segments are present Explore only those navigable segments. The search acceleration data is conveniently generated in advance, and the search acceleration data is stored together with or in association with the electronic map. This method is considered to be advantageous because it can significantly increase the speed at which the route can be generated on the electronic map. According to a ninth aspect of the present invention, there is provided a navigation device configured to analyze a map material using a processor thereof to generate a route to a destination on an electronic map, wherein the processor is configured to: • performing a route search on the electronic map using information maintained in the map material; • performing a connection to a cost calculation at the node representing the navigable segment in the electronic map during the search Whether the navigable segments of their nodes are evaluated in one of the portions of the search acceleration data that are marked as a least cost route; • wherein the map material includes an indication of whether there is additional search acceleration data from the node to the destination The additional search information provides additional information about the least cost route; and • if the least cost data is available, only those navigable segments with the search acceleration data are explored. This device is advantageous because the indicator provided in the mantle data helps provide information that constrains the number of routes explored by the navigation device. The indicator can include one of the destination visibility areas, and the navigation device 15083l.doc • 16-201211509 can be configured to utilize this additional information about the least cost route when the destination is within the visibility zone. In accordance with still another aspect of the present invention, a computing device configured to perform any of the above methods can be provided. In accordance with a further aspect of the present invention, a machine readable medium containing instructions for providing any of the above methods when read onto at least one machine is provided. According to still another aspect of the present invention, a machine readable medium containing instructions is provided to cause the device or each machine to which the fingers + are read as any of the above aspects of the present invention The computing device is executed. In embodiments in which the method is performed in parallel, the instructions can be read onto a plurality of machines. Those skilled in the art will recognize that many of the features of the above-described aspects of the invention can be applied to other aspects of the invention with the necessary modifications.

在本發明之上述態樣中之任一者中’機器可讀媒體可包 s以下各項中之任一者:軟性磁碟、CD 、DVD ROM/RAM(包括_R/.RW及·Rw)、硬碟機、記憶體(包 括 USB 隨身碟(mem〇ry key)、SD 卡、Me_ystick(TM)、 緊在、I·夬閃。己隐卡或其類似者) ' 磁帶、任何其他形式的磁 光儲存器、所傳輸信號(包括網際網路下載、FTP傳送等 等)、導線,或任何其他合適媒體。 热習此項技術者應瞭解,可以軟體、硬體或㈣執行本 文中所描述之方法及/或設備中的許多方法及/或設備。實 際上’此等三者之組合可適合用於該等想法中之至少一 150831.doc 17 201211509 些° 在本發明之上述態樣中之任一者中對地圖資料之產生的 參考可事實上為可選步驟’且熟習此項技術者應瞭解,此 步驟對彼方法而言完全可為可選的。 根據本發明之又另一態樣,提供一種產生搜尋加速資料 之方法,其包含預處理可導航段以產生彼資料。 根據本發明之另一態樣,提供一種自定位資料產生地圖 資料之方法,該方法包含使用至少一處理設備以處理一包 .含複數個可導航段之電子地圖,該複數個可導航段表示在 -由該地圖覆蓋的區域中之—可導航路線之段,該方法包 含: 1 ·使用或多個導航裝置以產生由至少一系列位置 構成的定位資料; 2.處理s玄定位資料以自其產生速度概況,該等速度概 況相對於時間而變化,其中該等所產生之速度概況與產 生彼速度概況之定位資料所出現於的可導航段相關聯; 3_針對該等可導航段中之至少一些產生搜尋加速資 料,其中該搜尋加速資料針對區中之至少一區且通常每 區來指不彼可導航段是否包含針對一預定準則最小化 仃進至該區或每一區之一成本的一路線之部分,其中該 產生使用針對該預定準則之一時變函數;及 4·產生地圓資料。 在本發明之態樣中,對節點、線路或道路之參考可被當 作對可導航段之參考’且反之亦然’且熟習此項技術者應 s 150831.doc •18· 201211509 瞭解如何作出必要改變。 【實施方式】 現在接著為僅舉例而言的參看隨附圖式的對本發明之實 施例之詳細描述。 Λ 、穿、下&述’ 4目同參考數字將用以識別相似部分 穿對各個實施例之ρ Λ 例之描述,對參考數字處於19χχ系列中的圖 19之流程圖進行了參考。 圖1不意性地展示全球定位系統(GPS),全球定位系統 (GPS)為基於衛星-無線電之導航系統,其可用以確定無限 數目個使用者之連續位置、速度、時間,及(在一些情況 下)方向貧訊。過去被稱為NAVSTAR2Gps併入有在極其 精確的執道巾繞地球運轉之複數個衛星。基於此等精確執 道,GPS衛星可將其所在地作為Gps資料中繼傳遞至許多 接收單元。然而,應理解’可使用諸如GL〇SNASS、歐洲 伽利略(Galileo)定位系統、COMPASS定位系統或 IRNSS(印度區域導航衛星系統)之全球定位系統。 當經專門配備以接收GPS資料之裝置開始掃描無線電頻 率以發現GPS衛星信號時,實施Gps系統。在自Gps衛星 接收到無線電k號後,該裝置經由複數種不同習知方法中 之一者來確定該衛星之精確所在地。在多數情況下,該裝 置將繼續掃描以發現信號,直至其已獲得至少三個不同的 衛星信號(注意’可使用其他三角量測技術藉由僅兩個信 號來碟定位置,雖然這並非常例)。在實施幾何三角量測 -的情況下’接收器利用三個已知之位置來確定其自己相對 150831.doc -19- 201211509 於该等衛星之二維位置。可以已知方式進行此確定。另 外’獲得第四個衛星信號允許接收裝置以已知方式藉由相 同1¾何汁算來計算其三維位置。無限數目個使用者可連續 地即時更新位置及速度資料。 如圖1中所展示’ GPS系統100包含圍繞地球104運轉的 複數個衛星102。GPS接收器106自該複數個衛星102中的 若干衛星接收作為展頻GPS衛星資料信號1 〇8的GPS資料。 自每一衛星102連續地發射展頻資料信號1〇8,所發射的展 頻資料信號108各自包含一資料流,該資料流包括識別該 資料流所源於的特定衛星102之資訊。Gps接收器1〇6通常 需要來自至少三個衛星102之展頻資料信號1〇8,以便能夠 計算二維位置。對第四個展頻資料信號之接收使Gps接收 器106能夠使用已知技術計算三維位置。 因此,GPS系統允許具有GPS接收器1〇6的裝置之使用者In any of the above aspects of the invention, the 'machine readable medium can include any of the following: a flexible disk, a CD, a DVD ROM/RAM (including _R/.RW and Rw). ), hard drive, memory (including USB flash drive (mem〇ry key), SD card, Me_ystick (TM), tight, I·夬flash. Hidden card or the like) 'Tape, any other form Magneto-optical storage, transmitted signals (including Internet downloads, FTP transfers, etc.), wires, or any other suitable medium. Those skilled in the art will appreciate that many methods and/or apparatus in the methods and/or apparatus described herein can be implemented in software, hardware or (d). In fact, the combination of the three may be suitable for use in at least one of the ideas of the present invention. The reference to the generation of the map data in any of the above aspects of the invention may in fact be It is an optional step' and those skilled in the art should understand that this step is entirely optional for the method. In accordance with still another aspect of the present invention, a method of generating search acceleration data is provided that includes pre-processing a navigable segment to generate data. According to another aspect of the present invention, a method for generating map data from a self-positioning data is provided, the method comprising using at least one processing device to process a packet, an electronic map comprising a plurality of navigable segments, the plurality of navigable segments representing In the segment of the navigable route in the area covered by the map, the method comprises: 1 using one or more navigation devices to generate positioning data composed of at least one series of positions; Generating a velocity profile that varies with respect to time, wherein the velocity profiles generated are associated with the navigable segments in which the location data producing the velocity profile is present; 3_ for the navigable segments At least some of the generated search acceleration data, wherein the search acceleration data is for at least one zone in the zone and typically each zone refers to whether the non-navigable segment contains a minimum of one of the zones or each zone for a predetermined criterion a portion of a route of cost, wherein the generation uses a time varying function for the predetermined criterion; and 4· generates a ground data. In the aspect of the invention, references to nodes, lines or roads can be considered as references to navigable segments and vice versa and those skilled in the art should s 150831.doc •18· 201211509 to understand how to make the necessary change. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the claims The reference numerals will be used to identify similar portions and the description of the examples of the various embodiments, and the flowchart of Fig. 19 in which the reference numerals are in the 19 series is referred to. Figure 1 unintentionally shows a Global Positioning System (GPS), a satellite-based radio navigation system that can be used to determine the continuous position, speed, time, and (in some cases) an unlimited number of users. B) The direction is poor. The past, known as NAVSTAR2Gps, incorporates a number of satellites that operate around the Earth in extremely precise ways. Based on these precise commands, GPS satellites can relay their location as Gps data to many receiving units. However, it should be understood that a global positioning system such as GL〇SNASS, European Galileo positioning system, COMPASS positioning system or IRNSS (India Regional Navigation Satellite System) can be used. The Gps system is implemented when a device specially equipped to receive GPS data begins scanning the radio frequency to discover GPS satellite signals. After receiving the radio k number from the GPS satellite, the device determines the exact location of the satellite via one of a plurality of different conventional methods. In most cases, the device will continue to scan to find the signal until it has acquired at least three different satellite signals (note that 'other triangulation techniques can be used to position the plate with only two signals, although this is very example). In the case of performing a geometric triangulation - the receiver uses three known positions to determine its own relative position to the two-dimensional position of the satellites. This determination can be made in a known manner. In addition, obtaining a fourth satellite signal allows the receiving device to calculate its three-dimensional position in the known manner by the same calculation. An unlimited number of users can continuously update location and speed data in real time. As shown in Figure 1, the GPS system 100 includes a plurality of satellites 102 that operate around the earth 104. The GPS receiver 106 receives GPS data as a spread spectrum GPS satellite data signal 1 〇 8 from a plurality of satellites of the plurality of satellites 102. The spread spectrum data signals 1 〇 8 are continuously transmitted from each satellite 102, and each of the transmitted spread data signals 108 includes a data stream that includes information identifying the particular satellite 102 from which the data stream originated. The Gps receiver 1〇6 typically requires a spread spectrum data signal 1〇8 from at least three satellites 102 to be able to calculate a two-dimensional position. The receipt of the fourth spread spectrum data signal enables the Gps receiver 106 to calculate the three dimensional position using known techniques. Therefore, the GPS system allows users of devices with GPS receivers 1〇6

此等電子地圖不僅允許使用Gps系統(或藉〗 由其他方式)These electronic maps are not only allowed to use the Gps system (or borrowed by other means)

計算裝置提供。 置(Sat. Nav),其 導航袭置之特定實例包括衛星導般裝 150831.doc -20· 201211509 之教稱作騎料《置(PND)n應記住,本發明 ::限於PND,而悬可改為普遍應用於經組態以處理 型之= 通常)以便提供路線規劃及導航功能性的任何類 处裒置。因此’由此可見,在本申請案之背景下, =裝置意欲包括(而不限於)任何類型之路線規劃及導航 :置,無論該裝置是體現為PND、諸如汽車之運輸工具、 携帶型計算資源(例如’執行路線規劃及導航軟體之攜帶 ㈣人電腦㈣)、行動電話或個人數位助理(pda))或祠服 益’或是體現為跨越網路提供此功能性的其他計算裝置。 :圖la中展示該呈PND之形式的導航裝置之實例,且應 注意’導航裝置200之方塊圖不包括該導航裝置之所有組 件’而是僅為許多實例組件的代表。導航裝置2〇〇位於一 外殼(未圖示)内。導航裝置2〇〇包括處理電路,該處理電路 包含(例如)上文所提及之處理器2〇2 L里器2〇2搞接至 輸入裝置204及顯示裝置(例如,顯示螢幕2〇6)。雖然此處 以單數形式提及輸入裝置2〇4,但熟習此項技術者應瞭 解,輸入裝置204表示任何數目個輸入裝置,包括鍵盤裝 置、語音輸入裝置、觸控面板及/或用以輸入資訊之任何 其他已知輸入裝置。同樣,顯示營幕2〇6可包括諸如液晶 顯示器(LCD)之任何類型之顯示螢幕。 在導航裝置200中,處理器2〇2經由連接21〇而操作性地 連接至輸入裝置204且能夠經由連接21〇自輸入裝置204接 收輸入資訊,且經由各別輸出連接2丨2而操作性地連接至 顯示螢幕206及輸出裝置208中之至少一者以將資訊輸出至 150831.doc 21 201211509 該至少一者。導航裝置200可包括輸出裝置2〇 訊輸出裝置(例如,揚簦 丨i如’聲 細之使用^生/ )。在輸出裝置208可為導航裝置 带置20忖 魏的同時,應同等地理解,輸入 ^亦可包括用於接收輸人語音命令之麥克風及軟 體。另外,導般获罢,ΛΛ 士 '亦可包括任何額外輸入裝置204及/ 成任何額外輸出裝置,諸如,音訊輸入/輸出裝置。 且ΐ 經由連接216而操作性地連接至記憶體叫, 收資m /將;°周適以經由連接22G自輸入/輸出(1/0) 4 218接 ° 5fl發送至輸入/輸出(I/O)蜂2 1 8,其中1/0埠2! 8 °、接至在導航裝置2〇〇外部的1/〇裝置222。外部"Ο妒置 222可包括(但不限於)外部收聽裝置,諸如,聽筒㈣細)。 7農置222之連接可另外為至任何其他外部裝置(諸如汽 立體聲早疋)之有線或無線連接,以用於(例如)免持操作 及/或用於語音啟動之操作、用於連接至聽筒或頭戴式耳 機及/或用於連接至(例如)行動電話,其中行動電話連接可 用乂建立在導航裝置2⑽與(例如)網際網路或任何其他網路 的資料連接,及/或用以建立經由(例如)網際網路或某 一其他網路至伺服器之連接。 導航襄置2 0 〇之記憶體2 ! 4包含非揮發性記憶體之一部分 (例如以儲存程式碼)及揮發性記憶體之—部分(例如以在程 式碼被執行時儲#資料)。該導航裝置亦包含璋228,該蜂 228經由連接23〇而與處理器2〇2通信,以允許可抽換式記 憶卡(通常被稱作旬被添加至裝置2〇〇。在所料之實施例 中,忒埠經配置成允許添加SD(安全數位)卡。在其他實施 s 150831.doc •22- 201211509 J中°亥車可允峰連接其他格式之記憶體(諸如,Compact h (CF)卡、Mem〇ry StickTM、a記憶卡、usB(通用串 列匯流排)隨身碟、MMC(MultiMedia)卡 、SmartMedia卡'Provided by the computing device. Set (Sat. Nav), the specific example of its navigational attack includes the satellite guide 150831.doc -20· 201211509. The teaching is called riding (PND) n should be remembered, the present invention:: limited to PND, and Hangovers can be changed to any type of configuration that is configured for processing type = normal) to provide route planning and navigation functionality. Thus, it can be seen that, in the context of the present application, the device is intended to include, without limitation, any type of route planning and navigation: whether the device is embodied as a PND, a vehicle such as a car, a portable computing Resources (such as 'execution route planning and navigation software (4) human computer (4)), mobile phone or personal digital assistant (pda) or 祠 benefits or other computing devices that provide this functionality across the network. An example of the navigation device in the form of a PND is shown in Figure la, and it should be noted that the block diagram of the navigation device 200 does not include all of the components of the navigation device and is merely representative of many example components. The navigation device 2 is located within a housing (not shown). The navigation device 2 includes a processing circuit including, for example, the processor 2〇2 L2 2 mentioned above, which is connected to the input device 204 and the display device (for example, the display screen 2〇6) ). Although the input device 2〇4 is referred to herein in the singular, it will be understood by those skilled in the art that the input device 204 represents any number of input devices, including keyboard devices, voice input devices, touch panels, and/or for inputting information. Any other known input device. Similarly, display screen 2-6 may include any type of display screen such as a liquid crystal display (LCD). In the navigation device 200, the processor 2〇2 is operatively connected to the input device 204 via the connection 21〇 and is capable of receiving input information from the input device 204 via the connection 21, and is operative via the respective output connection 2丨2. The ground is connected to at least one of the display screen 206 and the output device 208 to output the information to the at least one of 150831.doc 21 201211509. The navigation device 200 can include an output device 2 (e.g., the use of the sound/sound). While the output device 208 can provide 20 navigation for the navigation device, it should be equally understood that the input ^ can also include a microphone and software for receiving input voice commands. In addition, the sergeant can also include any additional input device 204 and/or any additional output device, such as an audio input/output device. And 操作 operatively connected to the memory call via connection 216, the capital m / will; ° week to send from input / output (1/0) 4 218 to ° / 5fl via the connection 22G to input / output (I / O) Bee 2 1 8, where 1/0埠2! 8 °, connected to the 1/〇 device 222 outside the navigation device 2〇〇. The external "device 222 can include, but is not limited to, an external listening device, such as an earpiece (4)). The connection of the farm 222 may additionally be a wired or wireless connection to any other external device (such as a steam stereo) for, for example, hands-free operation and/or for voice-activated operation, for connection to Handset or headset and/or for connection to, for example, a mobile phone, wherein the mobile phone connection can be used to establish a data connection between the navigation device 2 (10) and, for example, the Internet or any other network, and/or To establish a connection to a server via, for example, the Internet or some other network. The memory device 2 4 contains a portion of the non-volatile memory (for example, to store the code) and a portion of the volatile memory (for example, to store the # data when the program code is executed). The navigation device also includes a UI 228 that communicates with the processor 2〇2 via a connection 23 to allow a removable memory card (generally referred to as a device to be added to the device 2). In the embodiment, the 忒埠 is configured to allow the addition of an SD (Secure Digital) card. In other implementations, s 150831.doc • 22- 201211509 J, the HV can be connected to other formats of memory (such as Compact h (CF) ) card, Mem〇ry StickTM, a memory card, usB (universal serial bus) flash drive, MMC (MultiMedia) card, SmartMedia card

Microdrive,或其類似者)。 圖1 3進一步說明經由連接226的在處理器202與天線/接 收口。224之間的操作性連接,其中天線/接收器可為(例 士)GPS天線/接收器,且因而將充當圖1之接收器。 應理解$ 了說明而示意性地組合由參考數字以表示之 天線及接收器’但天線及接收器可為單獨定位組件,且天 線可為(例如)GPS片狀天線或螺旋天線。 另外,圖3之攜帶型或手持型導航裝置200可以已知方式 連接或「銜接」至諸如腳踏車、機車、汽車或船之運輸工 具。可接著將此導航裝置·自銜接所在地移除以用於揭 ▼型或手持型導航用途。實際上,在其他實施例中,裝置 200可經配置為手持型的以允許使用者之導航。 參看圖lb,導航裝置2〇〇可為包括整合式輸入及顯示裝 置206及圖3之其他組件(包括但不限於,内部Gps接收器 224處理器2〇2、電源供應器(未圖示)、記隐體系統2 ^ 4等 等)的單元。 導航袅置200可位於臂狀物252上,可使用吸盤254將臂 狀物252本身緊固至運輸工具儀錶板/窗/等等。此臂狀物 252為銜接台之一實例,導航裝置2〇〇可銜接至其。可藉由 將導航裝置200搭扣連接至臂狀物252而將導航裝置2〇〇銜 接或以其他方式連接至銜接台之臂狀物252。導航裝置 I50831.doc -23- 201211509 可接著可在臂狀物252上旋轉。為了釋放導航裝置2〇〇與銜 接〇之間的連接’可(例如)按壓導航裝置200上之按鈕(未 圖不)。用於將導航裝置2〇〇耦接至銜接台及將導航裝置 200與銜接台的去耦之其他同等合適的配置係一般熟習此 項技術者熟知的。 轉至圖lc,處理器2〇2與記憶體214合作以支援m〇s(基 本輸入/輸出系統)282,其充當導航裝置2〇〇之功能硬體組 件280與由該裝置執行之軟體之間的介面。處理器202接著 自記憶體214載入作業系統284,該作業系統284提供應用 程式軟體286(其實施所描述之路線規劃及導航功能性中的 一些或全部)可執行之環境。應用程式軟體286提供一作業 環境,該作業環境包括支援導航裝置之核心功能(例如, 地圖檢視、路線規劃、導航功能及與此相關聯之任何其他 功能)的圖形使用者介面(GUI)。就此而言,應用程式軟體 286之部分包含視圖產生模組288。 在所描述之實施例中,導航裝置之處理器2〇2經程式化 以接收由天線224接收到的GPS資料,且不時地將彼Gps資 料連同表示GPS資料被接收的時間之時戳—起儲存於記憶 體214内以積累導航裝置之一系列位置。經如此儲存 一資料記錄可被認為是GPS定位;亦即,其為導航裝置之 所在地之定位且包含緯度、經度、時戳及精確性報告。此 系列位置可被認為是定位資料。 在一實施例中,實質上週期性地(例如,每5秒)儲存資 料。熟習此項技術者應瞭解,其他週期將為可能的,且在 150831.doc -24- £ 201211509 資料解析度與記憶體容量之間存在平衡. 可,亦即,隨著藉由 採取更多樣本而使資料之解析度增加,需要更多記憶體來 保持育料。然而,在其他實施例中’解析度可為實質上 每:1秒、1G秒、15秒、2G秒、肺、45秒、i分鐘、25 分鐘(或實際上’此等週期之間的任何週期因此,在裝 置之記憶體内,積累了裝置2〇〇在各時間點處之行縱之^ 錄。 在一些實施例中,可發孭,所妯馑 、 赞現所捕獲之賁料 < 品質隨著週 期增加而減小,且同時降纺夕*痒胺 寸降、.及之程度將至少部分地視導航裝 置200移動之速度而定(約略15秒之週期可提供合適上限)。 另外’處理器202經配置成不時地將裝置2〇〇之行縱之記 錄(亦即,GPS資料及時⑹上載至祠服器。在導航裝置· 具有-將其連接至伺服器的永久的或至少通常存在的通信 '頁〔之一戸、%例中,週期性地發生資料之上載(其可為 (例如)每24小時一次)。熟習此項技術者應瞭解,其他週期 為可能的,且可f當卜么丨、,田w丄 貝貝上為以下週期中之任一者:15分鐘、 刀鐘每小時、每2小時、每5小時、每】2小時、每2 天、每週或在此等週期之間的任何時間。實際上,在此等 實施例令,處理器202可經配置成實質上即時地上載行縱 之5己錄’但此可不可避免地意謂事實上資料被不時地發射 而在發射之間具有相對較短週期,且因而資料可被較為正 崔地⑽為疋偽即時的。在此等偽即時實施例中,導航裝置 可經配置以在# μ 01 , »己L體214内及/或插入於埠228中的卡上緩 衝GPS疋位,且當已儲存預定數目時發射此等GPS定位。 150831.doc •25- 201211509 此預定數目可為大約20、36、100、200,或此等數目之間 的任何數目。熟習此項技術者應瞭解,該預定數目部分地 由記憶體214/埠228内之卡之大小控管。 在不具有通常存在之通信頻道之其他實施例中,處理器 可經配置成在通信頻道被產生時將記錄上載至伺服器。此 可(例如)在導航裝置200連接至使用者之電腦時發生。再一 次,在此等實施例中,導航裝置可經配置以在記憶體 内或插入於埠228中的卡上緩衝GPS定位。若記憶體214或 插入於埠228中的卡變得充滿GPS定位,則導航裝置可經 配置以刪除最舊的GPS定位,且因而,其可被認為是先進 先出(FIFO)緩衝器。 在所描述之實施例中,行蹤之記錄包含一或多個跡線, 其中每一跡線表示導航裝置200在24小時週期内之移動。 每一24小時週期經配置成與日曆曰一致,但在其他實施例 中,不一定為此狀況。 伺服器經配置以接收裝置之行蹤之記錄,且將此儲存於 大容量資料儲存器内以供處理。因此,隨著時間過去,大 容量資料儲存器累積了已上載資料的導航裝置200之行蹤 之複數個記錄。大體而言,伺服器將收集複數個導航裝置 200之行蹤。 Ή服益~χ接者經配置以根據該裝置或每一裝置之所收隼 之打蹤而產生速度資料.此速度資料可包含時變速度概 況’其展示沿著地圖之可導航段之平均速度如何隨著時間 變化。 150831.docMicrodrive, or the like). FIG. 13 further illustrates the processor 202 and the antenna/receiver port via connection 226. An operative connection between 224, where the antenna/receiver can be a (example) GPS antenna/receiver and thus will act as the receiver of FIG. It will be understood that the antenna and receiver' are represented schematically by reference numerals and that the antenna and receiver may be separate positioning components, and the antenna may be, for example, a GPS patch antenna or a helical antenna. In addition, the portable or handheld navigation device 200 of Figure 3 can be connected or "engaged" to a transport tool such as a bicycle, locomotive, car or boat in a known manner. This navigation device can then be removed from the location of the connection for use in the type of navigation or handheld navigation. In fact, in other embodiments, device 200 can be configured to be handheld to allow navigation by a user. Referring to FIG. 1b, the navigation device 2 can include an integrated input and display device 206 and other components of FIG. 3 (including but not limited to, an internal Gps receiver 224 processor 2, 2, a power supply (not shown). , remember the unit of the hidden system 2 ^ 4, etc.). The navigation device 200 can be located on the arm 252, which can be fastened to the vehicle dashboard/window/etc. using the suction cup 254. This arm 252 is an example of a docking station to which the navigation device 2 can be coupled. The navigation device 2 can be coupled or otherwise coupled to the arm 252 of the docking station by snapping the navigation device 200 to the arm 252. The navigation device I50831.doc -23- 201211509 can then be rotated on the arm 252. In order to release the connection between the navigation device 2 and the interface ’, for example, a button on the navigation device 200 (not shown) can be pressed. Other equally suitable configurations for coupling the navigation device 2 to the docking station and decoupling the navigation device 200 from the docking station are well known to those skilled in the art. Turning to Figure lc, the processor 2〇2 cooperates with the memory 214 to support m〇s (Basic Input/Output System) 282, which acts as a functional hardware component 280 of the navigation device 2 and software executed by the device. Interface between the two. Processor 202 then loads from operating system 214 into operating system 284, which provides an environment in which application software 286 (which implements some or all of the route planning and navigation functionality described) can be executed. The application software 286 provides a work environment that includes a graphical user interface (GUI) that supports the core functions of the navigation device (e.g., map view, route plan, navigation functions, and any other functions associated therewith). In this regard, a portion of the application software 286 includes a view generation module 288. In the depicted embodiment, the processor 2〇2 of the navigation device is programmed to receive GPS data received by the antenna 224, and from time to time, the Gps data along with a time stamp indicating when the GPS data was received— It is stored in the memory 214 to accumulate a series of positions of the navigation device. Such storage of a data record can be considered a GPS location; that is, it is the location of the location of the navigation device and includes latitude, longitude, time stamp, and accuracy reports. This series of locations can be considered as location data. In one embodiment, the data is stored substantially periodically (e.g., every 5 seconds). Those skilled in the art should be aware that other cycles will be possible and there is a balance between 150831.doc -24- £201211509 data resolution and memory capacity. Yes, that is, by taking more samples Increasing the resolution of the data requires more memory to maintain the feed. However, in other embodiments the 'resolution can be substantially every: 1 second, 1G second, 15 seconds, 2G seconds, lungs, 45 seconds, i minutes, 25 minutes (or indeed 'any of these cycles between The cycle therefore accumulates the history of the device 2 at each point in time in the memory of the device. In some embodiments, the captured data can be smashed, praised, and praised. The quality decreases as the cycle increases, and at the same time, the extent of the reduction, and the extent of the reduction, will depend, at least in part, on the speed at which the navigation device 200 moves (approximately 15 seconds of the cycle may provide a suitable upper limit). In addition, the processor 202 is configured to record the location of the device 2 from time to time (ie, the GPS data is uploaded to the server in time (6). The navigation device has - permanently connected to the server Or at least the communication page that is usually present (in one case, in %, the upload of data occurs periodically (which can be, for example, every 24 hours). Those skilled in the art should understand that other cycles are possible, And f can be used as a 卜, 田, 丄 丄 丄 上 为 为 为 为Either: 15 minutes, knife hour, every 2 hours, every 5 hours, every 2 hours, every 2 days, every week, or any time between these cycles. In fact, in this implementation By way of example, processor 202 can be configured to upload a line of data in a substantially instantaneous manner, but this inevitably means that the data is actually transmitted from time to time with a relatively short period between transmissions, and Thus, the data can be pseudo-instantaneous. In such pseudo-momental embodiments, the navigation device can be configured to be within #μ01, »L body 214 and/or inserted in 埠228. The card is buffered with GPS clamps and these GPS locations are transmitted when a predetermined number has been stored. 150831.doc •25- 201211509 This predetermined number can be approximately 20, 36, 100, 200, or any number between these numbers Those skilled in the art will appreciate that the predetermined number is controlled in part by the size of the card within memory 214/埠228. In other embodiments that do not have a communication channel that is typically present, the processor can be configured to Upload the record to the server when the communication channel is generated. This can be This occurs, for example, when the navigation device 200 is connected to the user's computer. Again, in such embodiments, the navigation device can be configured to buffer GPS positioning in the memory or on a card inserted in the cassette 228. The memory 214 or the card inserted in the cassette 228 becomes full of GPS positioning, and the navigation device can be configured to delete the oldest GPS position and, thus, can be considered a first in first out (FIFO) buffer. In the depicted embodiment, the track record includes one or more traces, where each trace represents movement of the navigation device 200 over a 24-hour period. Each 24-hour period is configured to coincide with the calendar, but in other In the embodiment, this is not necessarily the case. The server is configured to receive a record of the whereabouts of the device and store this in a bulk data store for processing. Therefore, as time passes, the mass data storage accumulates a plurality of records of the whereabouts of the navigation device 200 on which the data has been uploaded. In general, the server will collect the travel of a plurality of navigation devices 200. The service provider is configured to generate velocity data based on the tracking of the device or each device. The velocity data may include a time-varying velocity profile that displays the average of the navigable segments along the map. How speed changes over time. 150831.doc

S -26- 201211509 圖2展示電子地圖之—實例,在所描述之實施例中,跨 越網路(在此狀況下為網際網路)在導航裝置上檢視該電子 地圖。在本文中所描述之實祐你 κ她例中的任一者中之第一步驟 為產生此電子地圖1900。可λ ^ tt " 在 http.//routes.tomtom.com/檢 視該地圖。 為了實現圖2之將被用於路徑選擇目的之電子地圖,該 電子地圖具有U節.點,該電子地圖之使用者通常看不X 到該等節點。0而’節點等等可通常被稱作地圖資料。然 而’為了便於理解,在圖3中展示節點綱中之一些節點。 此等節點被設在道路之交又點、末端區等等處,且被用於 路徑選擇之目m用者要求其導航裝置規劃在兩個點 或兩個以上點之間的路線時’該導航裝置將通常規劃地圖 之相關節點之間的路線(雖然有可能規劃至一組節點之路 線)。因而,地圖資料可用以根據由導航裝置之使用者設 定的至少一準則來產生路線。 熟習此項技術者應瞭解,電子地圖亦包含提供道路段之 形狀、建築物之入口之所在地等等之其他節點。 因此,每一節點300具有自其發出的、使用者可沿其行 進的至少單個道路段,且通常為複數個道路段。舉例而 吕’節點302具有四個該種道路段3〇4a、3〇4b、3〇4c、 304d。每一道路段可被認為是可導航段,因為其可指代並 非道路之路線,諸如,人行道、腳踏車道、渠道、鐵路 線、軌道或其類似者。然而’為方便起見,參考道路段。 因此’如圖2中所展示之地圖向其使用者展示複數個道路 150831 .doc •27- 201211509 段,該複數個道路段中$ t ^ . 肀之每一者表示在由该地圖覆蓋之區 域中的可導航路線之一部分。 。人已★路線規劃方法(諸如,〇咖的方法、A*方法或 偷〇續-方法)。然而,此等路線規劃方法在計算時間 方面可為極其慢的。在us 6 7 仗Ub 6 636 800中展不了如何可增加 此路線規劃之速度之實例 女安- 又< ^•例,δ亥案之教不在此以引用的方式 併入本文。 本文中所描述之實施例可在預處理步驟中產生含有搜尋 加速資料之所謂的側槽案(side_file),該搜尋加速資料係用 以在處理電子地圖時加速路線之產生。可將此資訊以可被 稱為位兀向量之形式保持為二進位資料;亦即,。與^之串 (或其壓縮編碼)。因而,該側檔案亦可被認為是地圖資 料’但可與電子地圖一起或不與電子地圖一起供應侧檔案 (例如,如圖2中所展示因此,本發明之一些實施例可將 地圖資料提供為可與側檔案分離之地圖,而本發明之其他 實施例可組合地圖與側檔案資料。 然而,熟習此項技術者應瞭解,若使用側檔案,則該側 檔案應與電子地圖(針對其而產生該側檔案)一起使用。若 並未執行此,則可想像,將獲得不正確路線(例如,未使 由其使用者設定之成本函數最小化之路線)。 又,本發明之不同實施例可指定用於產生搜尋加速資料 之不同參數(在此實施例中,其為—系列位元向量且在下 文中將被方便地稱作位元向量)。因而,若使用所產生之 地圖資料之後續路線規劃使用了與用以產生該等位元向量 £ 150831.doc -28- 201211509 之彼等參數不同的參數,則該等位元向量不太可能對於彼 路線規劃有用。 舉例而&,一些實施例可產生用於穿過地圖乘汽車行進 之位元向里。若後續路線規劃係用以產生用於步行之路 線’則汽車特定位元向量不太可能為有用&。在另—實例 中 些Λ %例可產生在假定使用者樂於沿著高速公路、 收費道路料行進的情況下之位元向量。在後續路線規劃 中,若使用者請求不利用高速公路、收費道路等等之路 線,則該等位元向量不&可能為有用的。 本發月之&貫施例可產生位元向量之複數個集合,其 各自”有預定準則之不同集合。舉例而言,本發明之實施 例可約略產生以下各項中之任_者:2、3、456、 10、15,或更多集合的位元向量。 實施例中且為了產生側檔案,在 四此,在 ---一 Ί 田 π 固 丁^ 观 理步驟中,將節點劃分到複數個區,且因而,任何地圖被 ^刀成已知數目個區—例如’ Ν個。在下文中參考圖$更詳 釋b此預處理產生可與地圖一起利用之資料以便增 加路線規劃方法之速度。 覆耘序(其可為遞歸的)中,將地圖資料内之節點 :」:&層式區之集合中。產生如由圖5中之虛線展示之 ^ 。亥等區中之每一者含有複數個節點。該方法移動彼等 | 包括或多或少的節點(且因此包括可導航段),且在 移^皮寻邊界的程序中,考慮與該等節點相關聯的道路段 之’數。該方法之-些實施例旨在對任一區内所含有之節 150831.doc -29- 201211509 點的數目設定上限。該方沬會π如# 忑万法亦可根據沿著可導航段之預期 行進時間來確定區之虚昌咨故 攻貝貝格。舉例而言,若可導航段星 有慢的平均行進時間(例如,輪渡航線),則可將彼等節點 移至單獨區。 通常,在使用地圖資料之前執行預處理,而不管該地圖 資料將用於web網站上或是用於諸如pND之裝置上。因 而’預處理步驟常常被稱作伺服器側處理程序。 雖然任何通用$算裝置皆將適於執行預處理,但孰習此 項技術者應瞭解,裝置之效能愈高,預處理執行得愈快 速通吊,將X86架構計算裝置用於預處理。此種鳩架 構裝置通常執行諸如Micr〇s〇ftTM wi_wsTM、刪χ、 NUX OSX等等之作業系統(〇s)。然而,其他實施例 可使用諸如RISC架構之其他計算平台。 又,如別處所論述,可平行執行預處理,且因而,可在 複數個„t算裝置上或至少在複數個處理器核 擬或真實處理器核心)上執行預處理。 八為虛 作為下一預處理步驟,處理一區内之每一道路段(例 如,304a至304d)以確定其是否為至該地圖内之該數目個 區(N)中之每—區之最小成本路線的部分,且產生位元向 量(最曰小成本評估)。因此,對於1内之每—道路段’位 兀向量包含針對一區内之每一可導航段之位元。亦即,位 兀向量包含W個位元(除在考慮中的區外,每—區丄個), …°又疋成〇或1,此視彼路線是否形成至由該位元表示之 區的最短路線之部分而定。一些實施例可添加額外位:以 150831.doc 201211509 提供另 似者。 解釋此 外資訊,諸如,標頭(header)、可見度區域及其類 在下文中描述此等術語。在下文中參考圖5更詳細 、熟習此項技術者應暸解’在此意義±,可對照若干不同 成本準則確定最小成本路線。舉例而言,可對照以下準則 中^任一者判斷最小成本:最短距離;最短行進時間;花 費取小(在環境影響方面);使用最少汽油;產生最少 co2 ’等等。纟t前實施例中,對照最短行進時間來判斷 最小成本。 因此,熟習此項技術者應瞭解,對於覆蓋大量區域之地 圖而。,N很可能為大的,因此,預處理可花費大量時 間。 ' 因此,在(例如)覆蓋歐洲及俄羅斯之實例地圖中,通常 可此存在50,0〇〇,〇〇〇個節點,其具有12〇,_,_個道路 段。假定在地圖内存在100個區,則N等於1〇〇,且存在屬 於位兀向量之120,000,000xl00 (N)個位元;亦即,需要 12x10個位兀來儲存該地圖之每一道路段之99(亦即, 個位元。在使用下文所描述之本發明之實施例的情況下, 此地圖可能使用約略5〇〇 Mb的額外儲存器。 WO 2009/053410論述指派速度概況之方法,該等速度概 況提供隨著時間而變的沿著地圖之路線之速度。此申請案 之内容在此以引用式併入本文。出於路徑選擇 之目的,一路線是否構成至另一區之最快速路線之部分將 根據時間而變化。亦即,隨著交通密度增加/減少(例如, J50831.doc 201211509 在间峰時間及其類似者),使用一路線分別將變得較不合 意/更合意。 习一些實施例可針對每一道路段儲存複數個纟元向量。熟 習此項技術者應瞭解,記錄速度之解析度愈高,所需位元 向里之數目愈馬。然而’其他實施例可利用時變函數來對 最快速路線作出評估(非常像wo 2〇〇9/〇5341〇中所描述卜 在跨越電子地圖進行路線規劃時,據信,有必要能夠使 用約略百分之一秒精確度的時間粒度進行路線規劃;亦 即,能夠將自一節點之出發時間指定到〇〇1秒之精確度以 便正確地確定最低成本路線。 因此,在考慮此精確性之等級時,應瞭解,上文所考慮 之具有50,000,000個節點及12〇 〇〇〇 〇〇〇個道路段之地圖具 有穿過其中之120,000,0002個可能的路線。當進一步考慮 時間維度時,可能的路線之數目進一步增加:7(亦即,每 週天數)X24(亦即,每日小時數)x36〇〇(亦即,每小時秒 數)χΐοο(亦即,每秒之百分之一秒數)χ12〇 〇〇〇 〇〇〇2= 870.9 12·0〇〇_〇〇〇·〇〇〇·〇〇〇·〇〇〇 〇〇〇(千的七乘方)個可能的路 線。在當前處理等級且在使用在每一時間間隔處探索每一 ^又之單純方法的情況下,將^匕費大約27,616,438,40〇,〇〇〇,〇〇〇 年。歐洲及俄羅斯之地圖的申請人當前正逐年增長,藉此 進一步增加此時間。 因此,應瞭解,為了在預處理階段中儲存並處理資料, 需要大量資料。 因而,本發明之實施例使用技術以便顯著減少預處理之 150831.doc •32- 201211509 里。現更詳細地描述此專技術,且本發明之_些實施例可 能利用所有該等技術,而其他實施例可能僅利用該等技術 中之一些技術。 本發明之不同實施例可使用下文所概述之特徵的不同組 合。因而,-些實施例可利用所描述之全部技術以減少資 訊之量。在另一極端’其他實施例可能不利用該等技術當 中任一者以減少資料。 本發明之-些實施例不計算不符合預定準則之道路段的 位元向量—如步驟觸所展示(亦即,道路段不滿足道路 性質之預定準則舉例而言,若不可能以預定運輸類別 沿著道路段行進,則可能不計算彼等道路段之位元向量。 因此,在將運輸模式之準則設;^成汽車的f例中,可& 不計算以下道路段之位元向量: 把 •鐵路; •存在於地圖資料中的未對應於可導航段之段; •錯誤(非法)方向上之單行道路; ·==形式通行之道路段(例如,在考慮汽 車之駕駛性時之行人徒步區、人行道); 網路mr點處之道路段(亦即,不能自道路段避開); —種技術n_l、料紅料丨路段 路線之部分的網路之大小;減少道路段之數目7 成本 計算所花費的時間量,如步驟19^=目會減小進行 為了說明此技術,亦在圖4 展不如圖2中所展示的道路 J5083 J.d〇i • 33 - 201211509 沒有用之道 應對該最小 網路,但自圖4刪除了對於最小成本評估而言 路段。對網路之此減小旨在提供最小子網路, 子網路進行最小成本評估;因此,熟習此項技術者應瞭 解了導航^又已被移除以形成核心網路。 在數學術語中’被留下的且如圖4中說明之網路可被描 述為圖2之道路網路之最大強組成項的不定向表示之最大 的雙向連接之組成項。藉由將標準技術應用於兩種強連接 性(亦稱為雙向連接性)同時適應於道路交通規則(諸如,轉 彎限制及本地准入(local access))來確定核心網路。熟習此 項技術者應瞭解,接性指示在兩個節點之間在兩個方 向(亦即,自A->B以及B->A)上行進為可能的。 因此,參看圖2與圖4兩者,可見,已刪除諸 25〇、冗餘環形252等等之無出口的路。然而,應看見,在 已被移除之道路段之起點處剩餘有節點(例如,圖4中之 400)。此情況是由於下文中論述之原因。 因此,在將圖2之網路減小至圖4中所展示之網路的程序 中’已移除可導航段,可隨後恢復該等可導航段之搜尋加 速資料;亦即,已自網路移除形成網路之部分的根據某預 疋準則為足夠小且可藉由移除滿足某另外預定準則之可導 航段之集合而與網路之其餘部分中斷連接的可導航段。舉 例而言,節點302之搜尋加速資料可易於用於在可導航段 3〇乜之遠端區處之節點,其對任何路線規劃之效能幾乎不 具有影響。 在減小至核心網路之後(例如’如圖4中所展示),分割 150831.doc -34- 201211509 核心網路以提供上文所描述之區。在所描述之實施例中, 根據多路弧分離器(multiway arc separat〇r)來分割網路。 沾省此項技術者應瞭解,在此網路中,若由區邊界等分之 道路段(亦即,弧)被移除,則剩餘在任一區中之道路段將 不連接至任何其他區。 分割網路一步驟1 906 然而,在執行分割之前,進行以下步驟: 獨立地確之並分割島。島傾向於與網路之其他邹 刀貫體上刀離,且藉此藉由諸如輪渡鏈路等等的方式而 鏈。此等以與典型道路段不同的方式表現(亦即,平 均速度顯著降低,等等),且若此等鏈結被包括於分割 中’則該方法不會有像預期一樣好的效能。 2·收縮由網路中之一個以上節點表示的十字路口、 ;辰形道及其他接點以使得屬於同一十字路口等等之節點 不會落到不同區中。 3:收縮所有可導航段共用柄同特性集合(例如,輪渡 w貪屬於仃人徒步區或有門的社區之段等等)之簡單路 :、不八有轉舄可能性的兩個節點之間的連接;I以 減小傳遞至分割系統之網 丟园。 j俗之輸入大小。舉例而言,查 ’可將節點3 ο 1摺疊至在1 即 在其正下方的節點上;亦 則將兮隹― # 兩個或兩個以下可導航段, 將忒4節點摺疊至彼此上。 在另外實施例中,可茑浐籽+ „ & 個節點。τ π ,几又之間的複雜接點可包含複數 個即點。可將此等複雜 田且王早 即點上(亦即,在 150831.doc -35· 201211509 預定情況下,將節點摺疊(在可導航段之間的接點處發生 此)至彼此上)。 本發明之所描述之實施例使用分治(divide and⑶nque^ 方法’在http://labri.fr/perso/pelegrin/sc〇tch處概述該分治 方法、本文中所概述之方法劃分地圖以包含若干個區,該 等區並不基於地圖之區域,而是係基於區内所含有之節點 之數目。#有經如此組織之節點具有以下優點:其可有助 於使使用該等區的路徑選擇更有效率,因為其有助於遞送 具有類似本地搜尋直徑之區。 每-節點具有與其相關聯之包括一請之身分識別號, 且因而,同-區中之節點具有相同請號。節點屬於在[ 個階層式等級處之區。按照慣例,等級〇為最粗略等級(用 於長距離路徑選擇)。等級L-i為最精細等級。 在本發明之-些實施例中,可對節點之最大數目設定上 限且允許低於此上限之某種靈活性,而非設定任一區内含 有的節點之絕對數目。舉例而言,該方法可指定每區最大 節點數目為100個,此可導致每區通常有6〇個節點至⑽個 節點的節點散佈。上限被認為比固定數目個節點有利,因 為固定數目可導致具有強制形狀之區,此又導致在使用該 專區時之次最佳的路徑選擇。 多個等級 在所描述之實施例中,執行分割以提供複數個等級⑻ 式區’在圖6中在概念上舉例說明其。自圖6應清楚,⑹ 階層式本質,其中將最粗略等級(〇)再分以提供等級… s 150831.doc • 36 - 201211509 將等級1再分以提供等級2,等級2為最精細等級。 每一區中之節點之數目在等級之間變化,且與較低等級 相比,較粗略等級(其傾向於覆蓋較大地理區域)具有更多 節點。因巾,通常出於長程路徑選擇目的而使用所描述之 實施例中的較粗略等級(例如,等級Q),而較精細等級(例 如’等級2)用於短程之路徑選擇。 每-道路段之位元向量之—部分包含針對該料級中之 每一者之位元。位元之數目為每—等級中之區之數目。 為了提供要編碼之資料量的概念(在一典型實施例中, 等級之數目將通常為L=3): •全球等級=0,將通常具有100個區。 •中間等級=1’將通常針對等級0之每-區具有10個 區(亦即,100x10)。 •最詳細等級=2,將通常針對等級1之每一區具有5個 區(亦即,1 0〇x10x5)。 使用P白層式等級為有利的,因為其減小(可能顯著減小) 所需之處理量。在所描述之當前實施例中,存在ΗΚ)χ10χ5 個區(亦即’5_個區)。因此’在具有相同數目個區之扁 千結構中’將需要本文中所概述的方法涉及5_個區。然 而’在本文中所描述之實施例中,可藉由參考處於適當等 級中之節點來減少此數目。 -旦已知地圖之各個因素’則等級之數目及每等級之區S -26- 201211509 Figure 2 shows an example of an electronic map in which the electronic map is viewed on a navigation device across a network (in this case, the Internet). The first step in any of the examples described herein is to generate this electronic map 1900. λ ^ tt " View the map at http.//routes.tomtom.com/. In order to implement the electronic map of Figure 2 that will be used for path selection purposes, the electronic map has U sections. Points, and users of the electronic map typically do not see X to the nodes. 0 and 'nodes, etc. may be commonly referred to as map material. However, for ease of understanding, some of the nodes in the node hierarchy are shown in FIG. These nodes are located at the intersection, end zone, etc. of the road, and are used for the purpose of path selection. When the user asks their navigation device to plan a route between two or more points, The navigation device will typically plan the route between the relevant nodes of the map (although it is possible to plan a route to a group of nodes). Thus, the map material can be used to generate a route based on at least one criterion set by a user of the navigation device. Those skilled in the art should appreciate that electronic maps also include other nodes that provide the shape of the road segment, the location of the entrance to the building, and the like. Thus, each node 300 has at least a single road segment from which the user can travel, and typically a plurality of road segments. For example, the L' node 302 has four such road segments 3〇4a, 3〇4b, 3〇4c, 304d. Each road segment can be considered a navigable segment because it can refer to a route that is not a road, such as a sidewalk, a footpath, a channel, a railway line, a track, or the like. However, for convenience, refer to the road segment. Thus, the map shown in Figure 2 shows its users a number of roads 150831 .doc • 27- 201211509, where each of the road segments is $ t ^ . Each of them represents the area covered by the map. One of the navigable routes in the section. . People have ★ route planning methods (such as the method of coffee, A* method or stealing - method). However, these route planning methods can be extremely slow in terms of calculation time. In the case of us 6 7 仗 Ub 6 636 800, there is no way to increase the speed of this route planning. Female An - Also < ^• Example, the teaching of the δ Hai case is not hereby incorporated by reference. Embodiments described herein may generate a so-called side_file containing search acceleration data in a pre-processing step for accelerating the generation of the route when processing the electronic map. This information can be maintained as binary data in the form of a bit vector; that is, . String with ^ (or its compression encoding). Thus, the side file can also be considered to be map material 'but the side file can be supplied with or without the electronic map (eg, as shown in FIG. 2, some embodiments of the present invention can provide map material) A map that can be separated from the side file, and other embodiments of the present invention can combine the map and the side file data. However, those skilled in the art should understand that if a side file is used, the side file should be associated with an electronic map (for The side file is generated for use together. If this is not done, it is conceivable that an incorrect route will be obtained (for example, a route that does not minimize the cost function set by its user). Further, different implementations of the present invention An example may specify different parameters for generating search acceleration data (in this embodiment, it is a series of bit vectors and will be referred to hereinafter as a bit vector). Thus, if the generated map data is used Subsequent route planning uses different parameters than those used to generate the bit vector £150831.doc -28- 201211509, then the bit vector is not too It can be useful for the route planning. For example, & some embodiments can generate a bit for traveling through the map by car. If the subsequent route plan is used to generate a route for walking, then the car specific bit The vector is unlikely to be useful & in the other example, the % example can produce a bit vector in the case of assuming that the user is willing to travel along the highway, toll road material. In subsequent route planning, if used The request for a route that does not utilize highways, toll roads, etc., may be useful if the bit vector is not & the present embodiment of the month may generate a plurality of sets of bit vectors, each of which" There are different sets of predetermined criteria. For example, embodiments of the present invention can approximately produce a bit vector of any of the following: 2, 3, 456, 10, 15, or more sets. And in order to generate the side file, in the four steps, in the step of Ί 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固 固' Ν 。. Under Referring to Figure $ more detail b This preprocessing produces information that can be used with the map to increase the speed of the route planning method. In the order (which can be recursive), the nodes in the map data are: ":& In the set of layered regions, generated as shown by the dashed lines in Figure 5. Each of the Hai and other regions contains a plurality of nodes. The method moves them | includes more or less nodes (and thus includes Navigation segment), and in the procedure of shifting the boundary, consider the 'number of road segments associated with the nodes. The method - some embodiments are intended to cover the section 150831.doc in any zone. -29- 201211509 The number of points is set to the upper limit. The square will be π, ##万法 can also be determined according to the expected travel time along the navigable section. For example, if the navigable segment stars have a slow average travel time (e.g., a ferry route), they can be moved to a separate zone. Typically, pre-processing is performed prior to the use of map material, whether the map material will be used on a web site or on a device such as a pND. Therefore, the preprocessing step is often referred to as a server side handler. Although any general-purpose device will be suitable for performing pre-processing, those skilled in the art should understand that the higher the performance of the device, the faster the pre-processing is performed, and the X86-based computing device is used for pre-processing. Such truss devices typically perform operating systems (〇s) such as Micr〇s〇 ftTM wi_wsTM, χ, NUX OSX, and the like. However, other embodiments may use other computing platforms such as the RISC architecture. Again, as discussed elsewhere, the pre-processing can be performed in parallel, and thus, the pre-processing can be performed on a plurality of devices or at least on a plurality of processor cores or real processor cores. a pre-processing step of processing each road segment (e.g., 304a-304d) within a zone to determine if it is part of a minimum cost route to each of the number of zones (N) within the map, and Generate a bit vector (the lowest cost estimate). Therefore, for each road segment in the 'bit vector' contains bits for each navigable segment in a region. That is, the bit vector contains W Bits (except for the zone under consideration, each zone), ...° is also 〇 or 1, depending on whether the route is formed to the shortest route of the zone represented by the bit. Embodiments may add extra bits: provide an alternative to 150831.doc 201211509. Explain that additional information, such as headers, visibility regions, and their classes, are described below. More details and familiarity are described below with reference to FIG. This technology should In this sense, the minimum cost route can be determined against several different cost criteria. For example, the minimum cost can be judged against any of the following criteria: shortest distance; shortest travel time; cost is small (in terms of environmental impact) Use minimum gasoline; produce minimum co2', etc. In the previous example, the minimum cost is judged against the minimum travel time. Therefore, those skilled in the art should understand that for a map covering a large number of areas, N is very It may be large, so pre-processing can take a lot of time. 'So, in example maps covering Europe and Russia, for example, there are usually 50,0〇〇, one node with 12〇 , _, _ road segments. Suppose there are 100 zones in the map, then N is equal to 1〇〇, and there are 120,000,000x100 (N) bits belonging to the bit 兀 vector; that is, 12x10 bits are needed to store 99 of each road segment of the map (i.e., one bit. In the case of an embodiment of the invention described below, this map may use an additional storage of approximately 5 〇〇 Mb. WO 2009/053410 discusses methods of assigning speed profiles that provide speed along a route along a map over time. The content of this application is hereby incorporated by reference herein for the purpose of Whether a route constitutes the fastest route to another zone will vary according to time. That is, as traffic density increases/decreases (for example, J50831.doc 201211509 at inter-peak time and the like), use a route It will become less desirable/more desirable respectively. Some embodiments may store a plurality of unit vectors for each road segment. Those skilled in the art should understand that the higher the resolution of the recording speed, the more the required bits are inward. The number is getting bigger. However, 'other embodiments can use time-varying functions to evaluate the fastest route (much as described in Wo 2〇〇9/〇5341〇, when planning a route across an electronic map, it is believed that it is necessary to be able to use the approximate One-hundredth of a second accurate time granularity for route planning; that is, the departure time from a node can be assigned to an accuracy of 〇〇1 second in order to correctly determine the lowest cost route. Therefore, considering this accuracy At the time of rating, it should be understood that the map with 50,000,000 nodes and 12 road segments considered above has 120,000,0002 possible routes through it. When further considering the time dimension, it is possible The number of routes is further increased: 7 (ie, the number of days per week) X24 (ie, hours per day) x 36 〇〇 (ie, seconds per hour) χΐ οο (ie, one per second) The number of seconds) χ12〇〇〇〇〇〇〇2= 870.9 12·0〇〇_〇〇〇·〇〇〇·〇〇〇·〇〇〇〇〇〇 (thousands of thousands) possible routes. At the current processing level and in use at each In the case of exploring a simple method at a time interval, the fee will be approximately 27,616, 438, 40 〇, 〇〇〇, 〇〇〇. The applicants for the map of Europe and Russia are currently growing year by year. This time is further increased. Therefore, it should be understood that a large amount of data is required in order to store and process the data in the pre-processing stage. Thus, embodiments of the present invention use techniques to significantly reduce the pre-processing of 150831.doc • 32-201211509. This specific technique is described in more detail, and some embodiments of the invention may utilize all such techniques, while other embodiments may utilize only some of the techniques. Different embodiments of the invention may use the Different combinations of features. Thus, some embodiments may utilize all of the techniques described to reduce the amount of information. At the other extreme 'other embodiments may not utilize any of these techniques to reduce data. Some embodiments do not calculate a bit vector of a road segment that does not meet the predetermined criteria - as shown by the step (ie, the road segment does not satisfy the nature of the road) For example, if it is not possible to travel along a road segment in a predetermined transportation category, the bit vector of the road segments may not be calculated. Therefore, in the case of the transportation mode, Can & does not calculate the bit vector of the following road segments: • railway; • segments that do not correspond to navigable segments in the map data; • single-row roads in the wrong (illegal) direction; Road segment (for example, pedestrian walking area and sidewalk when considering the driving ability of a car); road segment at the network mr point (that is, it cannot be avoided from the road section); - a kind of technology n_l, material red material road section The size of the network in the part of the route; the number of road segments is reduced. 7 The amount of time spent on cost calculation, as in step 19^= will be reduced. To illustrate this technique, it is also shown in Figure 2, as shown in Figure 2. Road J5083 Jd〇i • 33 - 201211509 There is no way to deal with this minimum network, but the road segment for the minimum cost assessment has been removed from Figure 4. This reduction in network is intended to provide a minimum sub-network with a minimum cost estimate for the sub-network; therefore, those skilled in the art should understand that navigation has been removed to form a core network. The network that is left in mathematical terminology and illustrated in Figure 4 can be described as the component of the largest bidirectional connection of the undirected representation of the largest strong component of the road network of Figure 2. The core network is determined by applying standard techniques to two strong connectivity (also known as two-way connectivity) while adapting to road traffic rules such as turnaround restrictions and local access. Those skilled in the art will appreciate that the connectivity indication is possible in two directions (i.e., from A->B and B->A) between the two nodes. Therefore, referring to both Fig. 2 and Fig. 4, it can be seen that the exitless paths of the 25 〇, redundant ring 252, and the like have been deleted. However, it should be noted that there are nodes remaining at the beginning of the road segment that has been removed (e.g., 400 in Figure 4). This situation is due to the reasons discussed below. Therefore, in the procedure of reducing the network of FIG. 2 to the network shown in FIG. 4, the Navigator segments have been removed, and the search acceleration data of the Navigator segments can be subsequently restored; that is, the network has been The path removes the navigable segments of the portion of the network that are sufficiently small and can be disconnected from the rest of the network by removing a set of navigable segments that satisfy some additional predetermined criteria. For example, the search acceleration data for node 302 can be readily applied to nodes at the remote end of the navigable segment 3, which has little impact on the performance of any route plan. After being reduced to the core network (e.g., as shown in FIG. 4), the 150831.doc-34-201211509 core network is partitioned to provide the zones described above. In the described embodiment, the network is segmented according to a multiway arc separat(R). Those skilled in the art should understand that in this network, if the road segment (ie, arc) divided by the boundary of the zone is removed, the remaining road segment in any zone will not be connected to any other zone. . Splitting the Network One Step 1 906 However, before performing the splitting, the following steps are performed: Separate and partition the island independently. The island tends to slash away from the rest of the network and thereby chain it by means such as a ferry link. These are expressed in a different way than typical road segments (i.e., the average speed is significantly reduced, etc.), and if such links are included in the segmentation, then the method will not perform as well as expected. 2. Shrink the intersections represented by more than one node in the network, the Chen-shaped roads and other joints so that the nodes belonging to the same intersection, etc. do not fall into different zones. 3: Shrink all the navigable segment shared handles with the same feature set (for example, the ferry w is a part of the deaf walking area or the community with the door, etc.): the two nodes that do not have the possibility of turning The connection between the two; I to reduce the network lost to the split system. j custom input size. For example, check 'can collapse node 3 ο 1 to the node immediately below it, ie 两个― # two or two navigation segments, fold 忒4 nodes onto each other . In another embodiment, the 茑浐 seeds + „ & nodes. τ π , and the complex joints between several may include a plurality of points, which can be used to make the complex fields and points (ie, In the case of 150831.doc -35· 201211509, the nodes are folded (this occurs at the junction between the navigable segments) to each other). The described embodiment of the invention uses divide and conquer (divide and (3) nque^ Method 'Overview of the divide and conquer method at http://labri.fr/perso/pelegrin/sc〇tch, the method outlined in this paper divides the map to include several regions that are not based on the region of the map, and It is based on the number of nodes contained in the zone. #Having such organized nodes has the advantage that it can help make path selection using such zones more efficient as it facilitates delivery with similar local searches The area of the diameter. Each node has its own identification number associated with it, and thus, the nodes in the same area have the same number. The nodes belong to the area of [hierarchical level. By convention, the level 〇 is the most rough grade ( In the long distance path selection), the level Li is the finest level. In some embodiments of the invention, an upper limit can be set for the maximum number of nodes and some flexibility below this upper limit is allowed, instead of setting any area The absolute number of nodes contained within. For example, the method can specify the maximum number of nodes per zone to be 100, which can result in the spread of nodes with 6 nodes to (10) nodes per zone. The upper limit is considered to be a fixed number. The nodes are advantageous because a fixed number can result in a zone with a forced shape, which in turn results in a suboptimal path selection when using the zone. Multiple Ranks In the described embodiment, segmentation is performed to provide a plurality of levels (8) The formula 'is conceptually illustrated in Figure 6. It should be clear from Figure 6 that (6) the hierarchical nature, in which the most rough level (〇) is subdivided to provide the level... s 150831.doc • 36 - 201211509 Then divide to provide level 2, level 2 is the finest level. The number of nodes in each zone varies between grades, and is a coarser grade than the lower grades (it tends to cover larger There are more nodes. Because of the towel, the coarser level (eg, level Q) in the described embodiment is typically used for long-range path selection purposes, while the finer level (eg, 'level 2) is used for short-range The path selection - the part of the bit vector of each road segment contains the bits for each of the material levels. The number of bits is the number of zones in each level. To provide the amount of data to be encoded The concept (in an exemplary embodiment, the number of levels will typically be L = 3): • Global level = 0, will typically have 100 zones. • Intermediate level = 1 'will typically have a zone-level of 10 zones (ie, 100x10). • The most detailed level = 2, which will typically have 5 zones for each zone of level 1 (i.e., 10 〇 x 10x5). The use of a P white layer rating is advantageous because it reduces (possibly significantly reduces) the amount of processing required. In the current embodiment described, there are 10 χ 5 区 zones (i.e., '5 _ zones). Thus 'in a squall structure with the same number of zones' would require that the method outlined herein involve 5_ zones. However, in the embodiments described herein, this number can be reduced by reference to nodes in appropriate levels. - Once the various factors of the map are known, then the number of levels and the area of each level

Li將通常被調節。舉例而言’多少儲存器可被分配給 圖及路輕選擇之應有執行速度。熟習此項技術者應瞭 150831.doc -37· 201211509 解存在一折衷’因為隨著預# 辦p &丄 思者預處理之量增加,則地圖大小 變传較大以保持資料 線 疋了使用彼地圖來計算較快速路 κ施例中’存在3個等級之區。然而,在其他實匆 例中,可能存在任何數目個等級。舉例而言,可能約略名 在以下數目料級巾之任—者:1、2、45'6、7、8、 或10 〇 在使用上文之實例(通常具有5〇,〇〇〇,〇〇〇個節點及 1^0:000,000個道路段之歐洲及俄羅斯的地圖)的情況下, 最單純編碼將針對每-等級之每—節點之區ID使用固定大 J、扁碼J_針對每—等級之每一道路段使用固定大小位元 向量。因Λ,可易於將此基本編碼之大小計算如下: •等級0處之每一節點區ID將使用1〇g_2(100)位元=7個 位元 等級1處之每一節點區ID將使用i〇g_2(10)位元=4個 位元 •等級2處之每一節點區ID將使用i〇g_2(5)位元=3個位元 •等級0處之每一位元向量將使用1〇〇個位元(1〇〇個區 減去針對當前區的1) •等級1處之每一位元向量將使用1〇個位元(1〇個區減 去針對當前區的1) •等級2處之每一位元向量將使用5個位元(5個區減去 針對當前區的1) 圖6展示最粗略的區等級6〇〇,其在該圖中提供6個區1至Li will usually be adjusted. For example, how many stores can be assigned to the execution speed of the map and the light selection. Those who are familiar with this technology should have a compromise of 150831.doc -37· 201211509. Because the amount of pre-processing is increased with the pre-#, the map size is changed to keep the data line. Use the map to calculate the area where there are 3 levels in the faster way. However, in other practical cases, there may be any number of levels. For example, it may be approximated by the following number of grades - one, two, 45'6, 7, 8, or 10 〇 using the above examples (usually having 5 〇, 〇〇〇, 〇 In the case of a node and a map of Europe and Russia with 1^0:000,000 road segments, the simplest encoding will use a fixed large J, flat code J_ for each zone-level node ID. - Each road segment of the rank uses a fixed size bit vector. Because of this, it is easy to calculate the size of this basic code as follows: • Each node area ID at level 0 will use 1〇g_2(100) bits = 7 bits. Each node area ID at level 1 will be used. I〇g_2(10) bit = 4 bits • Each node area ID at level 2 will use i〇g_2(5) bits = 3 bits • Each bit vector at level 0 will be used 1 unit of bits (1 area minus 1 for the current area) • Each bit vector at level 1 will use 1 unit of bits (1 area minus 1 for the current area) • Each bit vector at level 2 will use 5 bits (5 areas minus 1 for the current zone). Figure 6 shows the coarsest zone level 6〇〇, which provides 6 zones in the figure. to

S 150831.doc •38· 201211509 6。將此等區中之每一者再分成其他區(在此實施例中,九 個子區),如由粗略區等級600内的虛線表示。因此,6個 粗略等級區可被認為是較粗略等級區,且9個子區可被認 為是較精細等級區,其在與較粗略等級相鄰之區中。在所 描述之實施例中,使用另一等級之再分,其中亦再分由虛 線提供的區中之每一者,因而提供三個等級之分割,但為 了便於參考未在圖6中展示此等等級(但在圖以中展示)。其 他實施例當然可使用更多等級(例如,4、5、6、7個或更 多等級)或更少等級(例如,1或2個等級)。 因此’本發明之實施例針對較精細等級區引入所謂的可 見度區域,步驟1908。k區之可見度區域為(k—i)區之集 合,其中可在旗標集合中之該區自己的位元上區別該區。 自然地,可見度區域總是包括給定k區所屬於的(k_丨)區。 另外,其可能含有一些相鄰的(k-1)區。應在預處理期間計 算可見度區域,且將可見度區域與位元向量相關聯地儲 存。此處,k區可被認為是較精細區,且(k_丨)區可被認為 是較粗略區。 亦可自相反側看出k區與其(k-ι)等級的可見度區域之間 的關係:每一個(k-1)區知曉其由位於鄰域之k等級區組成 的外圍(outskirt)。以此方式,可看出道路段之旗標集合不 再貫穿整個地圖具有固定長度;實情為,每一個1區中之 位元向·$具有其特定長度A+B+C+N外圍0+N外圍1。其中a 指代區之最粗略等級’ B指代中間粒度區,且c指代最精 細粒度之區(在存在三個等級之實施例中)。 150831.doc •39- 201211509 後續預處理在最短路徑計算之前計算可見度區域以產生 位元向量。可將找到可見度區域之方法描述如下: 接者,對於處於除最頂部以外之每一等級處之每一區 及而吕’使用在區相鄰圖中之廣度優先搜尋來探索每一匕 區之鄰域圖直至以下量度超過選定臨限值為止: 自及至當前區之節點的圖理論距離 •及與當前區之中值點之間的歐幾里德距離;或 本文中別處所描述之其他距離中之任一者。 接著對於每一到訪過之k區(其位置足夠接近開始 區),將其含有的(k-ι)區添加至可見度區域。 接近」關係應將地理量度(例如,區中值點之間的 距離)與圖理淪距離兩者考慮在内。(因此,若一區在地 理上為遠的但藉由快速連接而鏈結至當前區,則該區可 為「接近」的。同樣,若難以在區之間行進,則—區可 被s忍為「遙遠的」(即使其在地理上接近))。 確切的臨限值可經受實驗調節,因為其視地圖特定之 特性(如都市區域之平均直徑)而定,其最易受上文所描 述之負面效應(諸如’增加之預處理等等)影響。具有格 外長行進時間之可導航段(如輪渡或屬於行人徒步區之 道路^又)在相鄰圖遍歷(adj aceny graph traversal)期間被 隱藏,這樣可見度區域總是限於單個島或屬於同一區之 小群島。 因此’在廣度優先搜尋期間到訪過之區構成之鄰域。 完全覆蓋該鄰域之下一較粗略等級之區的包括最小 150831.doc -40- 201211509 (incluS10n-minimal)集合被稱為及之可見度區域。反向關係 被稱為附近(vicinity):區ρ(等級上處)之附近清單係由在等 級ζ + /處的在其可見度區域中有ρ之所有區組成。 為了 k供特定貫例’且參看圖6,可見度區域之實例係 如下: 若決定每一 1區與其可見度區域之邊緣之間的最小距 離應為至少1 ,則一些選定1區之可見度區域將由以下0 區、、且成(自己的0區可被省略,因為其總是存在): •15: (亦即’等級1區第15號未展示可見度區域,因為自 己的〇等級區可被省略,因為其總是存在)。 *28: 5 (亦即,等級1區第28號之可見度區域含有等級〇區 第5號)。 ·37: 2, 5, 6 (亦即,等級1區第37號在其可見度區域中具有三個 區,即,等級0區第2號、第5號及第ό號) 矛、了考慮等級丨區之等級〇鄰居,亦確定每—等級〇區之 等、及1鄰居。因此,作為一實例, •1: 21,24, 27, 28, 41,42, 43, 51 (亦即,對於等級〇區第m,等級1區為:21、24、 27、41、42、43、51) ° 因此,在此實例中,可看出’區28被列出,儘管 其不在區2之最左側行中。此(例如)可能因為區28 I50831.doc 41 201211509 具有至區1之快速鏈結,且因而當在時間而非距離 方面進行考慮時為接近的。熟習此項技術者應瞭 解’可對照諸如環保性(greenness)(最少C〇2或其類 似者)等等之其他量度來判斷接近性。 一些實施例可使用可見度區域以藉由約束搜尋加速資料 之計算而減少產生搜尋加速資料所需的預處理量。舉例而 言,實施例可使用自目的地區(例如,圖6之區24)至起點可 導航段(例如,圖6之區27中)之反向搜尋。可以在經由最短 路線達到目的地區之可見度區域中的所有可導航段時使反 向搜尋停止之方式來約束此反向搜尋。舉例而言,在假定 區24之可見度區域為區2的情況下,一旦經由最短路線達 到區2中的所有可導航段,則反向搜尋將停止。熟習此項 技術者應瞭解,區2内之最短路線可能穿過未包括於區24 之可見度區域中之區。舉例而言,區2中之兩個所在地之 間的最短路線可能穿過區1。 更特定言之’對於區27中之起點可導航段與區24中之目 的地之間的最短路線,此可能為正確的。必須考慮此路線 以便產生區24之正確搜尋加速資料。熟習此項技術者應瞭 解’上文所描述之受約束之搜尋將產生穿過區1之路線之 正確搜尋加速資料:在區2内部(特定言之在區27中),使用 搜尋加速資料之搜尋將使用區24之搜尋加速資料;當其前 進至區1時,其將使用粗略區2之搜尋加速。由於區丨不在 區24之可見度區域中,故區i中之可導航段將具有粗略區2 之搜尋加速資料’但不具有較精細區24之搜尋加速資料。S 150831.doc •38· 201211509 6. Each of these zones is subdivided into other zones (in this embodiment, nine sub-zones) as indicated by the dashed lines within the coarse zone level 600. Therefore, six coarse hierarchical regions can be considered as coarser hierarchical regions, and nine sub-regions can be considered as finer hierarchical regions, which are in regions adjacent to the coarser rank. In the described embodiment, another level of subdivision is used, which is also subdivided into each of the regions provided by the dashed lines, thus providing three levels of segmentation, but this is not shown in Figure 6 for ease of reference. Equal grade (but shown in the figure). Other embodiments may of course use more levels (e.g., 4, 5, 6, 7 or more levels) or fewer levels (e.g., 1 or 2 levels). Thus, an embodiment of the present invention introduces a so-called visibility area for a finer level zone, step 1908. The visibility region of the k-region is a collection of (k-i) regions in which the region can be distinguished on its own bit in the flag set. Naturally, the visibility area always includes the (k_丨) area to which the given k-region belongs. In addition, it may contain some adjacent (k-1) regions. The visibility area should be calculated during preprocessing and the visibility area stored in association with the bit vector. Here, the k zone can be considered as a finer zone, and the (k_丨) zone can be considered as a coarser zone. The relationship between the k-zone and its (k-ι)-level visibility region can also be seen from the opposite side: each (k-1) region is aware of its outskirt consisting of k-level regions located in the neighborhood. In this way, it can be seen that the flag set of the road segment no longer has a fixed length throughout the entire map; the fact is that each bit in the 1 zone has a specific length A+B+C+N periphery 0+ N peripheral 1. Where a refers to the most coarse level 'B' refers to the intermediate size area, and c refers to the most fine-grained area (in the embodiment where there are three levels). 150831.doc •39- 201211509 Subsequent preprocessing calculates the visibility area to generate a bit vector before the shortest path calculation. The method of finding the visibility area can be described as follows: In addition, for each area at each level except the top, and using the breadth-first search in the adjacent map of the area to explore each area The neighborhood graph until the following metric exceeds the selected threshold: the theoretical distance of the graph from the node to the current zone and the Euclidean distance from the median point of the current zone; or other distances described elsewhere herein Any of them. Next, for each visited k-zone (the location is close enough to the start zone), the (k-ι) zone it contains is added to the visibility zone. The proximity relationship should take into account both the geographic measure (for example, the distance between the median points) and the map distance. (Thus, if a zone is geographically distant but is linked to the current zone by a quick connection, the zone can be "close". Similarly, if it is difficult to travel between zones, then the zone can be s Forbearance is "distant" (even if it is geographically close)). The exact threshold can be subject to experimental adjustments because it depends on the specific characteristics of the map (such as the average diameter of the metropolitan area), which is most susceptible to the negative effects described above (such as 'increased pretreatment, etc.) . Navigable segments with exceptionally long travel times (such as ferries or roads belonging to pedestrian walks) are hidden during adjacy graph traversal, such that the visibility region is always limited to a single island or belongs to the same region. Small islands. Therefore, the neighborhood formed by the visited area during the breadth-first search. A set that covers a relatively coarser level below the neighborhood, including the minimum 150831.doc -40-201211509 (incluS10n-minimal) set, is called the visibility area. The inverse relationship is called vicinity: the vicinity of the region ρ (on the level) consists of all regions with ρ in the visibility region at the level ζ + /. For k for a particular case' and with reference to Figure 6, an example of the visibility region is as follows: If the minimum distance between each zone 1 and the edge of its visibility zone is determined to be at least 1, then the visibility zone of some selected zone 1 will be 0 area, and (the 0 area can be omitted because it always exists): • 15: (ie, 'level 1 area No. 15 does not show the visibility area, because its own level area can be omitted, Because it always exists). *28: 5 (ie, the visibility area of the No. 28 level 1 area contains the level 〇 area No. 5). · 37: 2, 5, 6 (ie, level 1 area No. 37 has three areas in its visibility area, ie, level 0 area No. 2, No. 5, and nickname) Spear, considering the level The ranks of the districts are neighbors, and each level is also determined, and 1 neighbor. Therefore, as an example, •1: 21,24, 27, 28, 41,42, 43, 51 (that is, for the mth level, the level 1 area is: 21, 24, 27, 41, 42, 43, 51) ° Thus, in this example, it can be seen that 'zone 28 is listed, although it is not in the leftmost row of zone 2. This may, for example, be due to zone 28 I50831.doc 41 201211509 having a fast link to zone 1 and thus being close when considered in terms of time rather than distance. Those skilled in the art should understand that proximity can be judged against other measures such as greenness (minimum C〇2 or its like). Some embodiments may use the visibility area to reduce the amount of pre-processing required to generate the search acceleration data by constraining the search acceleration data calculation. By way of example, an embodiment may use a reverse search from a destination area (e.g., area 24 of Figure 6) to a starting point navigable section (e.g., in area 27 of Figure 6). This reverse search can be constrained by stopping the reverse search when all navigable segments in the visibility region of the destination region are reached via the shortest route. For example, in the case where the visibility area of the area 24 is assumed to be area 2, once all of the navigable sections in the area 2 are reached via the shortest route, the reverse search will stop. Those skilled in the art will appreciate that the shortest route within zone 2 may pass through a zone that is not included in the visibility zone of zone 24. For example, the shortest route between the two locations in zone 2 may pass through zone 1. More specifically, this may be true for the shortest route between the starting point navigable segment in zone 27 and the destination location in zone 24. This route must be considered in order to generate the correct search acceleration data for zone 24. Those skilled in the art should understand that the constrained search described above will produce the correct search acceleration data for the route through Zone 1: within Zone 2 (specifically in Zone 27), using search acceleration data. The search will use the search acceleration data for zone 24; as it advances to zone 1, it will use the search for coarse zone 2 to speed up. Since the zone is not in the visibility area of zone 24, the navigable section in zone i will have the search acceleration data of the coarse zone 2 but not the search acceleration data of the finer zone 24.

S 150831.doc -42- 201211509 額外或替代性的實施例亦可使用可見度區域以增加針對 給定可導航段而儲存之搜尋加速資料。雖然此可增加所需 之預處理之量’但其亦可增加使用含有此等搜尋加速資料 之地圖資料時可執行路線規劃之速度。在假定區5 1之可見 度區域包括區5與區4兩者的情況下,至區51中之目的地之 經加速搜尋將已使用存在於區4中的區5丨特定的加速資 料;亦即,區4内之道路段具有添加至其之額外搜尋資 说’其指示該等道路段含有至區5丨之另外的最小成本資 料。此額外資訊可被稱作相關位元。此被視為比先前技術 有利’先前技術僅會將加速資料應用於區4中之等級5,藉 此具有搜尋正面(search front)寬得多而接近區51的缺點。 鄰居清單之編碼 與圖ό相比’圖以展示可使用之等級的更多細節。等級〇 為最粗略等級且可被認為是等級k_l。為簡易起見,在圖 6a中’僅展示區丨至區4(亦即,6〇2 ; 6〇4 ; 6〇6 ; 6〇8)。此 等k_1區中之每一者進一步被劃分成9個區(1至9),其可被 稱作k等級區或等級丨區。另外,此等等級i區中之每一者 被劃分成4個k+ 1等級區(亦即,等級2區)。 位元向量之產生 一旦網路已被分割成階層式等級的區(在所描述之實施 例中為3) ’則其經處理以確定至該等區中之每一者之最小 成本路線且產生區内之每一道路段之位元向量,步驟 BIO。因此,如上文所論述,關於成本函數來分析任一區 内之每一道路段,以確定其是否為至其他區中之每一者之 150831.doc •43- 201211509 ,低成本路線的部分。產生―區中之每—道路段之位元向 量,如圖7中所展示,為便於理解,圖7展示簡化之位元向 量0 亦應瞭解,最低成本路線被確定,其係不僅針對單一時 間段,而是針對複數個時間段來計算(如下文中所描述 針對圖4中所展示之網路(亦即,減小之網路)來執行此 計算。圖3中之網路之已被移除之部分被有效地摺疊至i 所源於之節點上。舉例而言,圖3上所展示之道路段3〇二 之末端節點被摺疊至圖3中之節點3 〇2上。 應可看出’每-位元向量包含三攔:含有在考慮中的道 路段之起始處之節點的身分識別號之最左側攔7〇〇 ;含有 在考慮中的道路段之末端處之節點的身分識別號之第二搁 702,及含有彼道路段之位元向量之第三攔。因此應 可看出,每一道路段由兩個節點識別,在道路段的每一末 端處存在一個節點。 可使用任何合適路徑選擇方法以確定一道路段是否為最 低成本路線之部分。在此特定實施例中,使用熟知之 Dijkstra方法探索整個網路。 然而可藉由使用各種策略來減少處理時間之量。熟習 此項技術者應瞭解,上文所描述之用於減小網路之技術亦 將減小處理時間之量。本發明之實施例可使用以下各項中 之任一或多者: •同時計算對應於一區之所有位元向量輸入項。在反 向圖中,針對位於邊界上的每一可導航段計算最短 150831.doc ,, 201211509 路徑樹。此方法為有利的,因為可平行處理每— 區’藉此減少處理時間。 •減少對類似最短路徑子樹的重新計算。 •不重新計算已經產生之位元向量。 因此,總之,一實施例可執行以下操作以便產生位元向 準備步驟: 1 ·如熟餐此項技術者應瞭解,經由電子地圖之搜尋可 由有向非循環圖(dag)表示。此圖及伴隨資料結構 (轉彎成本及長延伸表)為反向的。 2. 收縮關於最精細等級之簡單道路段(亦即,將末端節 點摺疊至彼此上,如別處所論述)。若道路段(亦即, 路徑)由次數=2之一或多個節點組成(所有節點皆位於 給定等級之同一區中),且可導航段具有相同屬性: 例如 isaferry」、「isNoThrough」及「IsNoDriving」 ’則該道路段被稱為簡單的。 3. 對於母一區,視頭(亦即,fr〇m_n〇de)及/或尾(亦即, to_node)節點是否屬於該區而定,將道路網路之道路 段分類成三組:出埠、入埠及内部道路段。亦即, 若頭與尾兩者在同一區内,則道路段被稱為内部道 路段;若頭在區内但尾不在區内,則道路段被稱為 出崞道路段,且若尾在區中但頭不在區中,則道路 段被稱為入埠道路段。 4·對離開NoThrough及NoDriving區域之所有道路段設 150831.doc 45· 201211509 立特殊轉彎限制。 預處理常式以自下而上方式進行,以最精細分割等級— 亦即,在所描述之實施例中的等級2起始。在每一等級之 區處,針對每一區及重複以下步驟: 1.確定及之探索區域。在最高等級(例如,所描述之實 施例中之區〇),其為整個圖,在較精細等級,其為由 R之可見度區域限制之子圖(如上文所描述)。 因此,在中間等級(亦即,等級丨)處,僅針對含有 彼等等級1區的等級〇區之可見度區域執行以下步 驟。在等級0(應記住’其係用於長程路徑選擇)處, 考慮整個圖之道路段。 收集可見度區域之入埠道路段,亦即,自區域外 部之節點通向該區域内之道路段。接著收集邊境道 路段,亦即,在入埠道路段之後的道路段。若頭(L 1)= 尾(L 2)且不禁止自L 1至[2之轉彎,則將道路段L 2 稱為在L 1之後(及L】在L 2之前)。為了找到邊境道路 段’將複雜十字路口收縮成單節點。具有「不准駕 駛(NoDriving)」屬性之輪渡航線及道路段不被視為 邊境道路段。 以此方式收集入埠道路段可減少(可能顯著減少)在 下文中所描述之探索步驟中所需的處理量。探索步 驟可減少對圖之探索而考慮彼等至給定區之包括入 埠路線的路線。 2.對於Λ之每一出埠道路段而言,找到根道路段及探索S 150831.doc -42- 201211509 Additional or alternative embodiments may also use the visibility area to increase the search acceleration data stored for a given navigable segment. While this may increase the amount of pre-processing required' but it may also increase the speed at which route planning can be performed when using map material containing such search acceleration data. In the case where the visibility area of the hypothetical area 51 includes both the area 5 and the area 4, the accelerated search to the destination in the area 51 will have used the specific acceleration data existing in the area 5 in the area 4; The road segment within Zone 4 has additional search capital added to it's indication that the road segments contain additional minimum cost information to the zone. This additional information can be referred to as related bits. This is considered to be advantageous over the prior art. The prior art would only apply the acceleration data to level 5 in zone 4, thereby having the disadvantage of having a search front that is much wider and close to zone 51. The encoding of the neighbor list is compared to the figure ’ to show more details of the grades that can be used. Level 〇 is the most coarse level and can be considered as level k_l. For the sake of simplicity, only zone 丨 to zone 4 is shown in Figure 6a (i.e., 6〇2; 6〇4; 6〇6; 6〇8). Each of these k_1 zones is further divided into nine zones (1 to 9), which may be referred to as k-level zones or rank zones. In addition, each of these level i zones is divided into four k + 1 level zones (i.e., level 2 zones). Generation of a bit vector Once the network has been partitioned into hierarchical levels (3 in the described embodiment), then it is processed to determine the least cost route to each of the zones and is generated The bit vector of each road segment in the zone, step BIO. Thus, as discussed above, the cost function is used to analyze each road segment in any zone to determine if it is part of the low cost route to each of the other zones 150831.doc • 43- 201211509. Produce a bit vector for each of the road segments, as shown in Figure 7. For ease of understanding, Figure 7 shows a simplified bit vector 0. It should also be understood that the lowest cost route is determined not only for a single time. The segment is calculated for a plurality of time periods (this network is performed as described below for the network shown in Figure 4 (i.e., reduced network). The network in Figure 3 has been moved. Except that part is effectively folded onto the node from which i originated. For example, the end node of the road segment 3〇 shown in Figure 3 is folded onto node 3 〇2 in Figure 3. The 'per-bit vector contains three bars: the leftmost block containing the identity identification number of the node at the beginning of the road segment under consideration; the identity of the node containing the end of the road segment under consideration The second stop 702 of the identification number and the third stop containing the bit vector of the road segment. It should therefore be seen that each road segment is identified by two nodes, and one node is present at each end of the road segment. Use any suitable path selection method to determine a road Whether the segment is part of the lowest cost route. In this particular embodiment, the well-known Dijkstra method is used to explore the entire network. However, various strategies can be used to reduce the amount of processing time. Those skilled in the art should understand that The techniques described for reducing the network will also reduce the amount of processing time. Embodiments of the invention may use any one or more of the following: • Simultaneously calculate all bit vectors corresponding to a region Inputs. In the reverse view, the minimum 150831.doc, 201211509 path tree is calculated for each navigable segment located on the boundary. This method is advantageous because each zone can be processed in parallel to reduce processing time. • Reduce recalculation of similar shortest path subtrees • Do not recalculate the bit vectors that have been generated. Therefore, in summary, an embodiment may perform the following operations to generate bitwise preparation steps: 1 It should be understood that the search via electronic map can be represented by a directed acyclic graph (dag). This graph and the accompanying data structure (turning cost and long extension table) are reversed. 2. Shrink the simple road segments for the finest level (ie, fold the end nodes onto each other, as discussed elsewhere). If the road segment (ie, the path) consists of one or more nodes = 2 All nodes are in the same zone of a given level), and the navigable segments have the same attributes: eg isaferry, "isNoThrough" and "IsNoDriving", then the road segment is called simple. 3. For the parent zone, Whether the head (ie, fr〇m_n〇de) and/or tail (ie, to_node) nodes belong to the area, the road segments of the road network are classified into three groups: exit, entrance and internal roads. Section, that is, if both the head and the tail are in the same area, the road section is called the inner road section; if the head is in the zone but the tail is not in the zone, the road section is called the exit road section, and if the tail In the district but the head is not in the district, the road segment is called the entry road segment. 4. Set special turning restrictions for all road sections leaving the NoThrough and NoDriving areas. The pre-processing routine is performed in a bottom-up manner, with the finest level of division - that is, starting at level 2 in the described embodiment. At each level, repeat the following steps for each zone: 1. Identify and explore the area. At the highest level (e.g., the region in the described embodiment), which is the entire map, at a finer level, it is a subgraph limited by the visibility region of R (as described above). Therefore, at the intermediate level (i.e., level 丨), the following steps are performed only for the visibility areas of the level 含有 areas containing their level 1 zones. At level 0 (should be remembered that it is used for long-range path selection), consider the road segment of the entire map. The entry road section of the visibility area is collected, that is, the node from the outside of the area leads to the road section in the area. The road section is then collected, that is, the road section after the road section. If the head (L 1) = tail (L 2) and the turn from L 1 to [2 is not prohibited, the road segment L 2 is referred to as after L 1 (and L is before L 2 ). In order to find the border road segment, the complex intersection is shrunk into a single node. Ferry routes and road segments with the “NoDriving” attribute are not considered as border road segments. Collecting the inbound road segments in this manner can reduce (possibly significantly reduce) the amount of processing required in the exploration steps described below. The exploration step can reduce the exploration of the map and consider their route to the given route including the route of entry. 2. For each road section of the road, find the root road segment and explore

S I50831.doc -46- 201211509 步驟之數目。若㈣料段為其位於心之前 (predecess°r)中的至少-者之唯1繼者,則此出培 道路段為僅有的根道路段,且 ^ H^ 饤仃早一採索步驟。 否則,右㈣料段為雙向的(亦即,可在兩個方6 上灯㈤,則將該道路段自身及其相反(人4)道路段 取作早-探索步驟之根道路段^ ^ π盔留人u j右出禪道路 &為早向的,則將每一前置之内部道路段(且若存 在’其相反道路段)取作用於單獨探索步驟之根道: 段。最後’不管出埠道路段之種類是什麼, 過出埠道路段之每-交通延伸路徑,將該延伸 始道路段(若其位於R⑴取作用於單獨探索步驟 道路段。 在較精細等級(亦即,除了等級〇之外的所有等級) 上,特殊對待出埠輪渡航線。如上文所提及,在確 :區之郴域時’忽略輪渡航線。若輪渡航線之頭部 區不屬於R之可見度區域,則將執行單一探索步驟。, 其中輪渡航線為唯一根道路段且探索區$被約束至 頭部區自身。 3 ·執行經排程之探索步驟(下文中所描述)。 4·追溯自探索區域内之道路段至根道路段之最短路 徑。在除了最高等級(亦即,等級〇)之外的所有等級 處,各別追蹤起始於之道路段之排序會影響結果。 假設R為等級L區(其中L>0),則首先處理等級α_υ區 之出埠道路段,接著處理等級L處之剩餘出埠道路 150831.doc • 47· 201211509 &,並諸如此類地處理到最精細等級;相對於最精 細等級而言為内部(且尚未被移除)之道路段被最後處 理。無論何時遇到已在較早追蹤中到訪過的道路 铋,皆沒有必要再次沿著彼路徑前進。在追蹤的同 時’ 6又疋每一到訪過的道路段的適當目標位元向 1。在除了最高等級(亦即,等級〇)之外的所有等級 處’進行額外動作: 在路徑已初次橫穿某等級L區邊界之後,用運輸線 (ansit line)旗標標記彼邊界線及去往根道路段的 所有其他道路段; 用u形轉彎旗標標記最短路徑進行u形轉彎之節 點。 最後在除了最精細等級外的所有等級處,填充 相關矩陣輸入項。 在處理該等級之所有區之後,針對下一等級而簡化該 圖。首先’移除未標記為運輸線之所有道路段。接著,收 縮積累的新的簡單路徑’保留被標記為u形轉彎節點之節 取佤,很據相關 前移除的道路段。 相關矩陣 本發明之—些實施例使用相關矩陣,其儲存對道路段 定位%向量所需的目標區之間的關係。在除了最精細等 之外的每-等級L處,產生且使用新的相關矩陣。在等級S I50831.doc -46- 201211509 Number of steps. If the (4) material segment is at least one of the predecessors, the exit road segment is the only root road segment, and the ^H^ 饤仃 early one picking step . Otherwise, the right (four) material segment is bidirectional (that is, the light can be illuminated on both sides 6 (five), then the road segment itself and its opposite (human 4) road segment are taken as the root road segment of the early-exploration step ^ ^ π Helmets left uj right out of the Zen road & early, then each of the front internal road segments (and if there is 'the opposite road segment) to take the root of the separate exploration step: paragraph. Finally ' Regardless of the type of exit road segment, each of the outbound road segments - the extension of the road segment, if it is located at R (1), acts on a separate exploration step road segment. At a finer level (ie, In addition to all grades other than the rank )), the ferry route is specially treated. As mentioned above, the ferry route is ignored when it is true: if the head area of the ferry route does not belong to R In the visibility area, a single exploration step will be performed, where the ferry route is a unique root road segment and the exploration area $ is constrained to the head region itself. 3 • Perform a scheduled exploration step (described below). · Traced from the road segment to the root road in the exploration area The shortest path. At all levels except the highest level (ie, level 〇), the ordering of the road segments from which the individual tracks start will affect the result. Suppose R is the level L area (where L>0), Then, the exit road segment of the level α_υ area is processed first, and then the remaining exit roads at the level L are processed 150831.doc • 47· 201211509 & and processed to the finest level; the internal is relative to the finest level The road segment (and has not been removed) is finally processed. Whenever you encounter a road that has been visited in an earlier tracking, there is no need to follow the path again. While tracking, '6 again The appropriate target bit of the visited road segment is 1. Perform additional actions at all levels except the highest level (ie, level 〇): After the path has crossed the boundary of a certain level L for the first time, Mark the boundary line and all other road segments going to the root road segment with the ansit line flag; mark the shortest path for the u-turn node with the u-turn flag. Finally, except for the finest level At all levels except the fill matrix entry. After processing all the zones of the class, simplify the plot for the next level. First, 'remove all road segments that are not marked as transport lanes. Then, shrink the accumulated new ones. The simple path 'retains the section labeled as a u-turn node, according to the previously removed road segment. Correlation Matrix Some embodiments of the present invention use a correlation matrix that stores the required vector for the road segment. The relationship between the target areas. At each level L except for the finest, etc., a new correlation matrix is generated and used.

150831.doc -48- S 201211509 處矩陣之列按等級π + 〇區編索引,行按等級L區編索 引,且每一矩陣輸入項為零或零個以上等級0 + "區之集 合。在較低等級處,大多數矩陣輸入項等於空集,亦即, 矩陣為稀疏的。 相關矩陣之目的為幫助對已在較早階段被刪除的道路段 〇又疋位兀向置。此等道路段未含有於由等級L探索步驟導 致的有向非循環圖但若其未被刪除,則其將含有於有 向非循環圖中。更精確言之,相關矩陣係用以對在S之探 索區j中的道路段(在Y(其中L不為最精細等級)的某等2 =計算期間,其已被刪除)上的某等級L區S設定位元向 罝。對於含有於S之探索區域中之等級仏+㈣尺,矩陣元 素罐,q將最終為在尺之可見度區域之邊界處的等級 區之集合,以使得自㈣之所有最短路徑(在反向圖 中)穿過彼等區中之一者。 當產生矩料,將所有輸人項初始化成空集。接著 於所有等級L區S,執行以下兩個動作。 ^矩陣建立··對於根道路段⑷及所得有向非循環圖 或上的每—探索步驟,針對含有於S之探索區域中 之每一等級糾船,及針對R之每一入埠道路段卜 將矩陣元素Μ[足刃更新如下: 用Α表不R之探索區域(如較早針對等級川而計 在D中自/’追溯路徑至/且檢杏盆s尤祕 主且榀查其疋否離開A:若此路秤 2之道路段自等級㈣晴至等級㈣區r(其… δ有於A中,伸71'夫合古私Λ 士、 ^未3有於Α中),則將了添加至集合摩, _ 15083 J,doc •49- 201211509 ’且處理下一 /'。 2·讀取矩陣:對於S之探索區域中的已在等級L計算 開始之前被刪除的每一道路段’假設R為彼道路段結束 於的等級(X + i)區(再一次’相對於反向圖而言)。現在將 彼線上之區S之位元向量位元設定成區τ之位元向量位元 之邏輯OR,其中T包括Μ[足51]之所有元素。 注意,將已在較早等級處直接根據某有向非循環圖或按 ’系涉及某較低等級處之相關矩陣的類似程序設定每一 τ之 位元向量位元。 探索 探索步驟係由建立以給定道路段(對)為根之最短路徑的 有向非循環圖組成。此係藉由使用用於最短路徑(亦即, ::成本)計算的熟知之0丨細ra方法之變體來實現。歸因 :傳統而選擇了賴「最短」;實際上,可自由選擇要最 ^匕=標聽’例如,行進時間或估計燃料消耗,或別 處所㈣述之其他因素中之任一因素。 一個實施例使用行進時間、 機動之其他懲罰項之加權總和/長度及抑制不當轉寶及 對經典(Dijkstra)方法作出以下修改·· 1·其對道路段圖起作用, 項目為道路段,而非節點。此=訪、放鬆等等之 慮到轉彎限制及/或交通延伸 用於允許該方法考 2.標籤中之目標函數為在 之 選擇 、成本)的向量 固定集合的具有—對(行進^路段的針對到達時槽 J 5083],d〇c -50. 201211509 時槽以使得覆蓋所有相關交通模式(自由流動 '工作 日二晨高峰時間、傍晚高峰時間,等等)。在下文關 於。平估複數個時間段時之成本函數的論述中進一牛 闡述此内容。 v 3. 可針對給;^道路段儲存-個以上標籤。若兩個標藏 上之未決的(未完成的)交通延伸之集合不相等,則該 等標籤自身被稱為獨立的且兩者皆在隨後道路段2 不斷傳播。否則,若不同到達時槽之成本函數值之 間的關係不交替(亦即’-個標籤明顯比另一標籤 好)’則丟棄較差標籤。否則,藉由合併每一時槽之 較好值而產生新標籤’將其代替原始標籤予以傳 播。經合併標籤之前置者集合就為原始標籤之前置 者集合之並集。 4. 在每-雙向道路段上產生特邮形轉彎標籤。其編碼 在兩個方向上開始真實(非反向)路線之可能性。不傳 =u形轉彎標籤,且不可將u形轉彎標籤與—般標藏 -并ΛΛ:而其景> 響設定位元向量時的回溯階段: 僅在開始‘籤不比同一道路段上之U形轉彎標籤差 時,最短路徑才被加上旗標。 5. 在較精細等級處(其中將探索區域限於區之集合),永 皿看如上文所界定之邊境道路段。一旦搜尋正 面達到所有邊境道路段,就根據每時槽之最大(=最 差)成本函數值建立監看梳(watch c〇mb)。接著,在 如索區域外部之道路段上之標籤在離開堆積時僅在 150831.doc 201211509 該標籤在至少—時槽中之成本函數值低於當前監看 梳的情況下被傳播。若探索區域伸展越過若干島, 則針對母一島維持—單獨的監看梳。 時變函數 本發明之-些實施例可計算展示在複數個時間段而非在 單-時間處跨越網路之最小成本路線之位元向量。熟習此 項技術者應瞭解,穿過道路網路之最低成本路線可歸因於 交通密度等等之影響而隨著時間變化。因此,對於任一節 點,可能存在兩個或兩個以上最小成本路徑,每一最小成 本路徑係針對不同時間。在此實施例中,不以關於何時最 小成本路徑可適用之時間基準來編碼位元向量。位元向量 僅被設定成將可導航段識別為是最小成本路徑之部分或不 是最小成本路徑之部分。因此,當使用最小成本資料進行 路徑選擇時,路徑選擇演算法將必須考慮來自節點之所有 可能的最小成本路徑。現借助於圖7a簡要描述此程序。 在網路之標準Dijkstra探索中,當網路被探索時,該方 法使用為了到達網路中之彼點迄今所發生之總成本加上尚 待發生之預期成本。 因此,一些實施例利用函數而非離散值來作出在每—節 點處之成本評估。因此,在圖7a中,圖751之正被探索之 每一節點(例如,750)具有與之相關聯之成本函數,其識別 所探索之參數(例如,時間、花費的燃料或其類似者)如何 隨著時間而變化。節點750可被認為是起點節點。在_此 實施例中’起點節點可與起點可導航段同義。150831.doc -48- S 201211509 The matrix is indexed by level π + 〇, and the rows are indexed by level L, and each matrix input is zero or more than 0 + " At lower levels, most matrix entries are equal to the empty set, ie, the matrix is sparse. The purpose of the correlation matrix is to help locate the road segments that have been deleted at an earlier stage. These road segments are not included in the directed acyclic graph resulting from the level L exploration step, but if they are not deleted, they will be included in the directed acyclic graph. More precisely, the correlation matrix is used for a certain level on the road segment in the exploration area j of S (something in Y (where L is not the finest level), which has been deleted) The L zone S sets the bit direction to 罝. For the level 仏 + (four) feet contained in the exploration area of S, the matrix element can, q will eventually be the set of level regions at the boundary of the visibility area of the rule, so that all the shortest paths from (4) (in the reverse view) Middle) through one of their districts. When a moment is generated, all input items are initialized to an empty set. Next, in all ranks L zone S, the following two actions are performed. ^Matrix establishment · For the root road segment (4) and the resulting directed acyclic graph or each of the exploration steps, for each level of the ship included in the exploration area of S, and for each of the R road segments卜 matrix element Μ [foot blade update as follows: use Α table not R exploration area (such as earlier for the grade of Sichuan in the D from / 'trace path to / and check the apricot pot s secret master and check its疋No leave A: If the road section of this road scale 2 is from grade (four) to grade (four) zone r (its... δ is in A, extension 71' Fuhe ancient private gentleman, ^3 is in Yuzhong), Then add to the collection, _ 15083 J, doc • 49- 201211509 'and process the next / '. 2. Read matrix: for each track in the exploration area of S that has been deleted before the start of level L calculation The road segment 'assumes that R is the level (X + i) region where the road segment ends (again, relative to the reverse map). Now set the bit vector bit of the region S on the line to the position of the region τ The logical OR of the meta-vector bit, where T includes all elements of Μ[foot 51]. Note that it will have been directly based on a directed acyclic graph at an earlier level. The bit vector bits of each τ are set according to a similar procedure involving a correlation matrix at a lower level. The exploration exploration step is a directed acyclic loop that establishes the shortest path with the given road segment (pair) as the root. Figure composition. This is achieved by using a variant of the well-known zero-ru method for shortest path (ie, ::cost) calculation. Attribution: Tradition has chosen the "shortest"; in fact, Any one of the factors such as travel time or estimated fuel consumption, or other factors described elsewhere (4), may be freely selected. One embodiment uses the weighted sum of travel time, other penalty terms of maneuvering / Length and suppression of improper transfer and the following modifications to the Dijkstra method. 1. It works on the road segment map, the project is a road segment, not a node. This = access, relaxation, etc. / or traffic extension is used to allow the method to test 2. The target function in the tag is the selection, cost) of the fixed set of vectors with - pair (for the ^ segment of the arrival time slot J 5083), d 〇 c -50 . 201211509 Time slot In order to cover all relevant modes of transportation (free flow 'working day 2 morning peak time, evening peak time, etc.). In the following discussion, we will elaborate on this in the discussion of the cost function in the evaluation of multiple time periods. 3. More than one tag may be stored for the road segment; if the set of pending (unfinished) traffic extensions on the two tags are not equal, then the tags themselves are said to be independent and both In the subsequent road segment 2, the traffic is continuously propagated. Otherwise, if the relationship between the cost function values of the different arrival time slots does not alternate (that is, the '--label is obviously better than the other label), the poor label is discarded. Otherwise, by merging A good value for each time slot produces a new label 'to spread it instead of the original label. The merged label predecessor set is the union of the original label's predecessor set. 4. Generate a special postal turn label on each-two-way road segment. It encodes the possibility of starting a real (non-reverse) route in both directions. Do not pass the =u-shaped turn label, and you can't mark the u-turn label with the general label - and ΛΛ: and its scene > the backtracking phase when setting the bit vector: only at the beginning 'sign no more than the same road segment When the U-turn label is poor, the shortest path is flagged. 5. At a finer level (where the exploration area is limited to a collection of zones), see the border road section as defined above. Once the search reaches all border road segments, a watch c〇mb is created based on the maximum (= worst) cost function value per slot. Next, the label on the road segment outside the cable area is only propagated when leaving the stack at 150831.doc 201211509. The label is propagated if the cost function value in at least the time slot is lower than the current monitor comb. If the exploration area stretches over several islands, a separate monitoring comb is maintained for the mother island. Time-varying Functions Some embodiments of the present invention can calculate a bit vector that exhibits a minimum cost route across a network over a plurality of time periods rather than at a single-time. Those skilled in the art should understand that the lowest cost route through the road network can be changed over time due to the impact of traffic density and the like. Thus, for any node, there may be two or more least cost paths, each of which is for a different time. In this embodiment, the bit vector is not encoded with a time reference as to when the minimum cost path is applicable. The bit vector is only set to identify the navigable segment as part of the least cost path or part of the least cost path. Therefore, when using the least cost data for path selection, the path selection algorithm will have to consider all possible minimum cost paths from the nodes. This procedure is now briefly described with the aid of Figure 7a. In the standard Dijkstra exploration of the network, when the network is explored, the method uses the total cost incurred so far in reaching the point in the network plus the expected cost to be incurred. Thus, some embodiments utilize a function rather than a discrete value to make a cost estimate at each node. Thus, in Figure 7a, each node (e.g., 750) of Figure 751 being explored has a cost function associated with it that identifies the parameters being explored (e.g., time, fuel spent, or the like) How to change over time. Node 750 can be considered a starting node. In this embodiment, the 'starting point node' can be synonymous with the starting point navigable section.

150831.doc 52- S 201211509 成本函數可與道路段而非節點相關聯。 該方法接著處理花眷沾士、士、,_ t… 、的成本以糟由將當前節點處之函數 15已累積之成本求和來 木办、加估计成本以產生新函數。 圖7a中所展示之實例在π)虛显_ 、 處展不已在節點750處藉由搜尋 方法產生之成本函數,日. 展不仃進時間(y軸)如何隨著出發 時間(X軸)變化。應可看出,杆 *仃進時間知因於早晨及傍晚高 蜂時間而在點754及756處增加。 、、在一特定實施例中’以5分鐘間隔儲存成本函數(例如, 道路段上之平均速度);亦即,其為具有5分鐘之時間週期 的量化函數而非連續變化之函數。 若-道路段在任何時間段皆為最低成本路線之部分,則 設定彼道路段之位元向量。 將核心資料投射至整個網路 上文描述了如何減少地圖中所含有之網路以便減少必須 由分割方法考慮之道路段及節點之數目。然而,亦應進一 步考慮在減少步驟中被刪除之節點,以便路徑選擇方法仍 可產生通往或來自被刪除之道路段及節點之路線。 因而,將被刪除之節點及道路段指派至與在核心網路中 其所連接至的節點相同的區。 壓縮 如所論述,所產生之位元向量之大小為非常大的,且因 此需要壓縮資訊。本發明之實施例可以不同方式執行此壓 縮。然而,一個實施例利用各種技術來壓縮、聚結位元向 量及/或使位元向量相關,繼之以對該等位元向量之後續 150831.doc -53· 201211509 霍夫曼編碼。 因此,一些實施例可試圖並確保存在位元向量之不均勻 分佈,因為此可有助於確保霍夫曼編碼比在其他情況下更 有效率。 舉例而言,若位元向量分佈如下: 00000____ (49% 的時間) 11111—— (49%的時間) … (2%的時間) 則可能需要在霍夫曼編碼之前操控位元向量以具有更不 均勻之分佈,諸如: 0 0 0 0 0 ---- (79% 的時間) 11111-··- 〇9%的時間) ?????---- (2% 的時間) 減少所產生之位元向量 為了減少需要產生的位元向量之量,本發明之實施例可 使用以下策略中之任—或多者: •並非針對所有節點使用區ID,且僅針對可導航節點 產生區ID(例如,忽略對應於鐵路之節點)。 •並非所有道路段皆需要位元向量,且位元向量可用 於決策節點周圍的決策道路段。可藉由查看道路段 資料來確定決策節點及決策道路段(如本文件中所 描述)。 儘官存在許多可能的位元向量,但一些位元向量遠 比其他位元向量頻繁’所以特殊編碼可用於最頻繁 的位元向量(例如,000.··000及111... 111)。 並非〇〇〇..·0〇〇或n〗…丨丨】之位元向量之大多數位元150831.doc 52- S 201211509 The cost function can be associated with a road segment rather than a node. The method then processes the cost of the flower 眷,士,, _ t..., by summing the costs that have been accumulated by the function 15 at the current node, and estimating the cost to generate a new function. The example shown in Figure 7a shows the cost function generated by the search method at node 750 at π), and how the time (y-axis) follows the departure time (X-axis). Variety. It should be noted that the rod-in time is known to increase at points 754 and 756 due to the morning and evening high bee times. In a particular embodiment, the cost function is stored at 5 minute intervals (e.g., the average speed over the road segment); that is, it is a function of a quantization function having a time period of 5 minutes rather than a continuous change. If the road segment is part of the lowest cost route at any time period, then the bit vector of the road segment is set. Projecting Core Data to the Entire Network The above describes how to reduce the network contained in the map to reduce the number of road segments and nodes that must be considered by the segmentation method. However, the nodes that were deleted in the reduction step should be further considered so that the path selection method can still generate routes to or from the deleted road segments and nodes. Thus, the deleted nodes and road segments are assigned to the same zone as the node to which they are connected in the core network. Compression As discussed, the size of the resulting bit vector is very large and therefore requires compression of the information. Embodiments of the invention may perform this compression in different ways. However, one embodiment utilizes various techniques to compress, coalesce, and/or correlate the bit vectors, followed by subsequent Huffman encoding of the bit vectors. Thus, some embodiments may attempt and ensure that there is an uneven distribution of bit vectors, as this may help to ensure that Huffman coding is more efficient than would otherwise be the case. For example, if the bit vector is distributed as follows: 00000____ (49% of the time) 11111 - (49% of the time) ... (2% of the time) then it may be necessary to manipulate the bit vector to have more before Huffman coding Uneven distribution, such as: 0 0 0 0 0 ---- (79% of the time) 11111-··- 〇 9% of the time) ?????---- (2% of the time) Generated Bit Vectors To reduce the amount of bit vectors that need to be generated, embodiments of the present invention may use any of the following strategies: or more: • Do not use zone IDs for all nodes, and only generate regions for navigable nodes ID (for example, ignoring the node corresponding to the railway). • Not all road segments require a bit vector, and the bit vector can be used for decision road segments around the decision node. Decision nodes and decision road segments can be identified by viewing road segment data (as described in this document). There are many possible bit vectors, but some bit vectors are much more frequent than other bit vectors' so special coding can be used for the most frequent bit vectors (for example, 000..000 and 111...111). Not 〇〇〇..·0〇〇 or n〗...丨丨 Most of the bits of the bit vector

S J50831.doc •54· 201211509 仍常常設定成1,式执中+ Λ 次°又疋成〇。所以部分區塊之霍夫 曼碼應相當有效地編碼該等位元向量。 在彼此接近之節點中,位 T m凡向I常常相同,所以差 異編碼可有效地編碼該等位元向量。 可藉由按源區將目的地區10重新排序而使不同區具 有更類似的位元向量型樣(想法描述於本文件中)。 或者即點之道路段周圍之所有位元向量應總是給出 111 ._· 111。彼適當地可用以更有效地編碼位元向 量。 下文中進一步詳細論述此等情況中之一些情況。 =裡值得注意的是,本文中所描述之技術旨在減小位元 向里之大小 '然而,應注意’出於路徑選擇之目的使用地 圖資料的$置品要對資料之隨機存取。通常,_資料之有 效編碼需要可變大小,然而,此將防止對資料之隨機存 取。 因而,本發明之實施例可使用一種折衷,其中資料被編 碼為一系列被編索引之頁,且接著利用彼等頁内之可變編 碼。在此等實施例中,可達成對每一頁之隨機存取(經由 疋索引)。一旦—頁已被存取,則實施例可隨後解碼整個 頁。此提供效率與地圖大小之間的折衷—增加每頁之節點 之數目會減小地圖大小,但使資料存取變慢。本發明之— 特定實施例使用每頁16個節點。應瞭解,任何一個節點亦 可具有離開彼節點之不同數目個道路段。因而,即使可能 存在相同數目個節點,每頁仍可存在可變量的道路段。另 150831.doc -55· 201211509 外,對於儲存於每一頁上之位元向量中之每一者,亦可發 生不同壓縮。 此結構可導致如圖8中所展示之地圖格式。其中,將數 子「η」儲存於標頭内,且可針對不同地圖變更該數字 「η」以便最佳化彼地圖之效能。 调節「η」為在地圖大小與在解碼地圖資料時之存取速 度之間的折衷: 大的η值將把許多節點分組在一起,此對於地圖壓 縮有益,但對於對資料之隨機存取之速度不利。 J的η值將把少數郎點分組在一起,此對於對資料 之隨機存取之速度有益,但對於地圖壓縮不利。 可將「η」設定成(例如)4,亦即,16個始發節點(始 發節點在道路段之開始端處—亦即,圖7之欄7〇〇) 之頁,但應記住,每一始發節點具有若干個到達道 路段(t〇-r〇ad segment),所以在假定平均有3個到達 道路段的情況下’每_者意謂每—頁的儲存量相當 於〜48個道路段。 在此格式中,取決於經編碼之區的等級,資料具有不同 格式。圖9展示等級0(亦即,最粗略區)之格式的一實例, 且圖9展示其他等級之區的一實例格式。 位元向量及相關資訊儲存於一資料結構中,在圖8中展 示該資料結構之格式’該格式包含以下各者:一標頭 用於稍後描述之霍夫曼編碼中之霍夫曼樹肋2 ;每一 階層中之H計數8G4(在每等級具有Μ數目個區的情況下S J50831.doc •54· 201211509 It is still often set to 1, and the formula is + Λ times and then becomes 〇. Therefore, the Huffman code of a partial block should encode the bit vector quite efficiently. In nodes close to each other, the bits T m are often the same to I, so differential encoding can effectively encode the bit vector. Different regions may have a more similar bit vector pattern by reordering the destination regions 10 by source region (the idea is described in this document). Or all bit vectors around the road segment of the point should always give 111 ._· 111. He can be used appropriately to encode the bit vector more efficiently. Some of these situations are discussed in further detail below. It is worth noting that the technique described in this paper is intended to reduce the size of the bit inward. However, it should be noted that the use of map data for the purpose of path selection requires random access to the data. In general, the effective encoding of the _ data requires a variable size, however, this will prevent random access to the data. Thus, embodiments of the present invention may use a compromise in which data is encoded into a series of indexed pages and then utilizes variable encoding within their pages. In these embodiments, random access to each page (via a 疋 index) can be achieved. Once the page has been accessed, the embodiment can then decode the entire page. This provides a trade-off between efficiency and map size—increasing the number of nodes per page reduces the size of the map, but slows data access. The present invention - a particular embodiment uses 16 nodes per page. It should be understood that any one node may also have a different number of road segments leaving the node. Thus, even though there may be the same number of nodes, there may be variable road segments per page. In addition to 150831.doc -55· 201211509, different compressions can also occur for each of the bit vectors stored on each page. This structure can result in a map format as shown in FIG. Among them, the number "η" is stored in the header, and the number "η" can be changed for different maps to optimize the performance of the map. Adjusting "η" is a compromise between the size of the map and the speed of access when decoding map data: Large η values will group many nodes together, which is good for map compression, but for random access to data The speed is not good. The η value of J will group a few lang points together, which is beneficial for the speed of random access to data, but is not good for map compression. "η" can be set to, for example, 4, that is, 16 originating nodes (the originating node is at the beginning of the road segment - that is, the column 7 of Figure 7), but should remember Each originating node has a number of arriving road segments (t〇-r〇ad segments), so in the case of assuming an average of 3 arriving road segments, 'every_ means that the storage amount per page is equivalent to ~ 48 road segments. In this format, the data has a different format depending on the level of the encoded region. Figure 9 shows an example of the format of level 0 (i.e., the coarsest area), and Figure 9 shows an example format of areas of other levels. The bit vector and related information are stored in a data structure, and the format of the data structure is shown in FIG. 8. The format includes the following: a header is used for the Huffman tree in the Huffman coding described later. Rib 2; H count 8G4 in each level (in the case where each level has a number of zones)

S I5083J.doc •56· 201211509 為二的)’區鄰居806(在無區鄰居的情S I5083J.doc •56· 201211509 is the second of the 'zone neighbor 806 (in the situation of the neighbors

重新映射表808 ;位元&旦百+ , /下為工的);區ID 位几向里頁索引(215個 及位元向量812。可將保持位糾,及區ID _ ^ J里之貧料結構俘牲於苗 备少、,或可將其保持於複數個檔案内。 、; 在-些實施例中,地圖標頭8〇〇經 各者之其他資訊: 成3有礼不以下 •等級之最大數目 •最短鄰居清單之長度。 •最長鄰居清單之長度。 •含有所有鄰居清單之區段之位元組偏移。 保持資訊之檔案或每一檔荦 區俨mu *田累了具有用以編碼鄰居清單之 又先,,爲碼所有清單之大小。相對於最短清單長度、 ^BitsRequired(longestLi^ 疋的固疋數目個位元上編碼每—清單長度。注意,若所有 清单=有相同長度’則不需要位元來編碼該等長度。 一接著編碼所有清單之内容。每一清單由鄰居區ι〇之若干 兀組構成:等級〇處之對、等級2處之3元素元組等等。 ^意,不,編碼始發區(fr〇m_regi〇n)元組(撕⑽案中的 在 」之别的分)。其為隱含的,因為所有區之清單 :乂遞升次序儲存。舉例而言,若地圖具有ι〇〇χΐ〇χ5之3個 等級(等級0處之100個區、等級1處之10個區、等級2處之5 個區),貝1J : 在等級0處,儲存始發區1 (以此次序之100個清單)。 、2、3 ' ...、100之清單 此等清單中之每一者含 150831.doc -57- 201211509 有若干對。 •在等級1處,儲存始發區1·1、1.2、1.3、…、uo' 2·1 2.2、...、2.10、3.1、...、100 9、1〇〇.1〇之清 早(以此次序之1000個清單)。此等清單中之每一者 含有3元素元組。 在等級2處·不儲存任何東西,因為其為最後等 級’所以不存在鄰居。 將元且中之4矣且成項儲存為η位元。根據處於對應等 級之區之數目確定每—等級之位元之數目。所以,有可能 隨機存取清單。在3個等級⑽·5之狀況下,編碼元組 a.b.c將使用用於&之7個位元(因為在等級〇處存在ι〇〇個 區),用於b之4個位元(因為在等級丨處存在1〇個區),及用 於c之3個位元(因為在等級2處存在5個區)。 實例:假定100><10><5個區有如下分割〔粗略等級〇處之 100個區、中間等級1處之10個區,及詳細等級2處之5個 區。 在等級0處之檔案中,含有鄰居清單之區段將含有: •指示處於等級0之100個區的清單之長度之1〇〇個數目。 根據 BitSReqUired(longestListLength_sh〇rtestListLength) 計算位兀之數目。每一數目係相對於該等級處之最 短清單(最短清單儲存於標頭中)。 •接著為100個清單之内容(100對)。在7個位元上編 碼每一對之第一元素(因為在等級〇處存在1〇〇個 區),且在4個位元上編碼每一對之第二元素(因為 150831.doc •58· 201211509 在等級1處存在l〇個區)。 在等級1處之檔案中,含有鄰居清單之區段將含有·· • ·100Χ10=1000個數目,其指示等級i處之]〇〇〇個區 之清單的長度。 ••接著為1000個清單之内容(1000個3元素元組)。在7 個位元上編碼每一元組之第一元素(因為在等級〇處 存在1 00個區),在4個位元上編碼每一元組之第二 兀素(因為在每一等級0區中存在1〇個等級丨區),且 在3個位元上編碼每一元組之第三元素(因為在每一 等級1區中存在5個等級2區)。 在等級2處之檔案中,不需要儲存任何内容,因為其為 最後等級。 標頭800 通常’用於本發明之實施例中之標頭為小的,且因而, 不需要為了減小其大小而使該大小最佳化。通常,為了方 便起見,全部内容皆為位元組對準或字對準的: • (4個位元組)編碼版本(每次地圖格式改變時會增加) • (4個位元組)地圖旗標(用以開啟或關閉特徵,最初 為0 ’但以後在需要添加可選特徵的情況下可被使 用) • (4個位元組)地圖中之節點之總數目 • (4個位元組)地圖中之道路段之總數目 • (4個位元組)區段霍夫曼樹之位元組偏移 • (4個位元組)區段區二進位大型物件(blob)之位元組 150831.doc -59· 201211509 偏移 • (4個位元組)區段區頁資訊之位元組偏移 • (4個位元組)區段位元向量頁資訊之位元組偏移 • (4個位元組)區段可變大小記錄之位元組偏移 • (4個位元組)最大位元向量頁(以位元計)(可由路線 規劃方法用以在啟動時預分配位元流解碼器之較壞 狀況) • (4個位元組)平均位元向量頁大小(以位元計)(用以 内插位元向量頁位置) • (4個位元組)最小位元向量頁差異(用以使得所有差 異>=0’從而避免儲存位元正負號) • (2個位元組)位元向量歷史之最大大小(可由路線規 劃方法用以在啟動時預分配歷史緩衝器) • (2個位元組)每頁之道路段之最大數目(當前未使用) • (1個位元組)此檔案之阿波羅(Apollo)等級 • (1個位元組)每位元向量之位元 • (1個位元組)每位元向量頁差異之位元(位元向量頁 之固定大小記錄中的欄位) • (1個位元組)每二進位大型物件索引之位元(區頁資 訊之固定大小記錄中的攔位) • (1個位元組)每區計數之位元(區頁資訊之固定大小 記錄中的欄位) • (1個位元組)每非平凡(trivial)位元向量區塊之位元 • (1個位元組)區節點頁大小之log 一 2() 150831.doc 201211509 • (1個位元組)位元向量頁大小之log-2() • (1個位元組)用以編碼本地區10之霍夫曼樹之數目 • (1個位元組)用以編碼位元向量歷史碼之霍夫曼樹 之數目 霍夫曼樹802 •用來編碼在每一節點周圍之道路段之數目之霍夫曼 樹:極小的,僅大約ΐθ個碼,僅存在於等級〇處之 檔案中Remap table 808; bit & den hundred +, / work for); area ID bit inward page index (215 and bit vector 812. can hold bit correction, and area ID _ ^ J The poor structure is captured in a small number of seedlings, or it can be kept in a plurality of files. In some embodiments, the head of the icon 8 is followed by other information: • The maximum number of levels • The length of the shortest neighbor list • The length of the longest neighbor list • The byte offset of the section containing all neighbor lists. Keep the information file or each file area *mu * Field tired It has the size to encode the neighbor list first, and is the size of all the lists of codes. Relative to the shortest list length, ^BitsRequired(longestLi^ 疋 the number of fixed bits on the per-list length. Note that if all lists = If you have the same length, you don't need a bit to encode the length. Then you can encode the contents of all the lists. Each list consists of several groups of neighbors: 〇 at the level, 3 elements at level 2. Group, etc. ^Italian, no, code originating area ( Fr〇m_regi〇n) tuple (the other part of the (10) case). It is implied because the list of all areas: 乂 ascending order storage. For example, if the map has ι〇〇χΐ 3 levels of 〇χ5 (100 areas at level 0, 10 areas at level 1, and 5 areas at level 2), Bay 1J: At level 0, store the originating area 1 (in this order) 100 lists), 2, 3 ' ..., 100 list Each of these lists contains 150831.doc -57- 201211509 There are several pairs. • At level 1, store the originating area 1·1 , 1.2, 1.3, ..., uo' 2·1 2.2, ..., 2.10, 3.1, ..., 100 9, 1〇〇.1〇 early morning (1000 lists in this order). Each of them contains a 3-element tuple. At level 2, nothing is stored because it is the last level 'so there is no neighbor. The 4 and the items are stored as η bits. The number of zones corresponding to the level determines the number of bits per level. Therefore, it is possible to randomly access the list. In the case of 3 levels (10)·5, the coding tuple abc will be used for &am p; 7 bits (because there are ι〇〇 areas in the level )), 4 bits for b (because there are 1 area in the level )), and 3 bits for c Yuan (because there are 5 zones at level 2). Example: Assume 100><10><5 zones have the following divisions [100 areas in the rough level, 10 areas in the middle level 1, and 5 areas in level 2 of detail. In the file at level 0, the section containing the list of neighbors will contain: • 1 number indicating the length of the list of 100 zones in level 0. The number of bits is calculated according to BitSReqUired(longestListLength_sh〇rtestListLength). Each number is relative to the shortest list at that level (the shortest list is stored in the header). • Next is the content of 100 lists (100 pairs). The first element of each pair is encoded on 7 bits (because there are 1 area at the level )), and the second element of each pair is encoded on 4 bits (because 150831.doc • 58 · 201211509 There are 1 area at level 1.) In the file at level 1, the section containing the neighbor list will contain ····100Χ10=1000 numbers indicating the length of the list of the areas at level i. •• Next is the content of 1000 lists (1000 3-element tuples). The first element of each tuple is encoded on 7 bits (because there are 100 fields at the level )), and the second element of each tuple is encoded on 4 bits (because in each level 0 area) There are 1 level 丨), and the third element of each tuple is encoded on 3 bits (because there are 5 levels 2 in each level 1 area). In the file at level 2, there is no need to store anything because it is the last level. The header 800 is generally 'the header used in embodiments of the present invention is small, and thus, there is no need to optimize this size in order to reduce its size. Usually, for convenience, all content is byte aligned or word aligned: • (4 bytes) encoded version (increased each time the map format changes) • (4 bytes) Map flag (to turn features on or off, initially 0 ' but can be used later if you need to add optional features) • (4 bytes) Total number of nodes in the map • (4 bits) Tuple) The total number of road segments in the map • (4 bytes) Segment Huffman tree byte offset • (4 bytes) Segment region Binary large object (blob) Bytes 150831.doc -59· 201211509 Offset • (4 bytes) Segment area page information byte offset • (4 bytes) Segment bit vector page information bit group bias Shift • (4 bytes) segment variable size record byte offset • (4 bytes) maximum bit vector page (in bits) (can be used by route planning method at startup) Bad condition of pre-allocated bitstream decoder) • (4 bytes) average bit vector page size (in bits) (for interpolation) Bit vector page position) • (4 bytes) minimum bit vector page difference (to make all differences >=0' thus avoid storing bit sign) • (2 bytes) bit vector The largest size of history (can be used by route planning method to pre-allocate history buffers at startup) • (2 bytes) maximum number of road segments per page (currently unused) • (1 byte) Apollo level of file • (1 byte) bit per bit vector • (1 byte) bit of each bit vector page difference (fixed size record of bit vector page) • (1 byte) bit per large object index (block in fixed size record of area page information) • (1 byte) bit counted per area (area) The field in the fixed size record of the page information) • (1 byte) the bit of each trivial bit vector block • (1 byte) area node page size log one 2 ( 150831.doc 201211509 • (1 byte) bit vector page size log-2() • (1 byte) Number of Huffman trees encoding 10 in the region • (1 byte) Number of Huffman trees used to encode the bit vector history code Huffman tree 802 • Used to encode the road around each node The number of segments of the Hoffman tree: very small, only about ΐ θ codes, only exist in the file of the level 〇

•用來儲存非平凡位元向量之區塊之霍夫曼樹:最大 崔夫Ϊ ^,對於壓縮而言’愈大愈好,但在路線規 劃方法中所需的記憶體愈多(在地圖壓縮與路線規 劃方法中之記憶體使用之間的折衷)C • S歷史大小為0時位元向量差異碼之霍夫曼樹:極 小的,僅3個碼 •田歷史大小為1時位元向量差異碼之霍夫曼樹:極 小的,僅4個碼 •虽歷史大小>=n時位元向量差異碼之霍夫曼樹:極 小的(霍夫曼樹之數目儲存於標頭中) •虽在區頁中存在3個區時區ID之霍夫曼樹:極小 的,僅3個石馬 田在區頁中存在4個區時區ID之霍夫曼樹:極小 的,僅4個碼. 田在區頁中存在>=n個區時區ID之霍夫曼樹:極小 的(霍夫曼樹之數目儲存於標頭中)。 150831.doc •61 · 201211509 區重新映射表804及區ID清單806 雖然區ID 806比圖8之檔案格式之其他部分小,但亦可 壓縮區ID 806,如圖U中舉例說明。其中,可使用地理相 關以便減少所使用之資料量。 每一區頁儲存彼區頁中之相異區之清單。在大多數狀況 下預期此清單為小的(事實上,許多頁很可能僅含U個至 少在等級0的區)。區之清單具有可變大小。應可隨機地存 取頁内之資料(亦#,隨機存取)且因而,使用固定表大小 以允許此情況。 將相異區之每-清單按每—區中之節點之頻率排序:清 單:第-元素對應於在該頁中具有最大數目個節點之區, 清單之最後兀素為該頁中具有最小數目個節點之區。 對於區頁中之每一節點,可使用本地區m(對頁而古為 本地的)來編碼其區IDe此本細為頁中之區之索引(:為 小的整數’常常為〇’因為0對應於區頁中之最普遍的 區)。 將卽點之區ID儲存如下: •:冗區ID之區陣列儲存頁中之區之所有可能的重疊 /月單。區之清單為彼陣列中之連續區ΐβ。清單可 (且確實)重疊。該陣列不健存每一清單之開始及結 束(此由區頁資訊表進行)。 •區頁資讯表為固定大小之記錄表(因此可隨機存 取),且每一記錄含有在清單之開始之陣列中的索 引+該清單中之項目之數目。 s 150831.doc -62 - 201211509 •每一節點含有一本地節點ID(相對於其頁而言為本 地的)。 在下文中進一步界定此等概念中之每一者。 區陣列 區陣列編碼頁之所有可能的區清單。其為區1〇之簡單陣 列,其中區ID之清單可重疊。其大小應為小的,因為清單 重疊。在區段區頁資訊中進一步描述該區陣列。 區頁資訊 使用區頁資訊表之固定大小記錄中的2個攔位指定區頁 表中的區ID之清單: •區計數(此頁中之區之數目,預期為小的)。 •在區清單之陣列中之偏移(區之清單開始之處)。 在一實施例中’此係如圖9中所描述。 偏移攔位指向區陣列中:(例如)在假定在每一等級中總 是存在小於256個區的情況下(其為合理假定),每區山具 有1位元組之固定大小記錄係足夠的(但若每等級最大256 個區被認為太有限制性,則使得每個區m大於8個位元為 易於實現的)。區頁表記錄中之區計數指示在指定偏移處 在陣列中有多少區要被考慮。 若若干區具有相同清單,則其可指向相同所在地,其應 =緊凑的,因為吾人可預期許多頁共用相同清單或共用該 等相同清單之部分。 參考圖9來更詳細解釋此,圖9展示具有2八町個節點以例 如)㈣以將512個節點分組在一起)之頁的一實施例。 150831.doc •63 · 201211509 注.意區m之陣列_緊凑的程度,因為若干頁可指向陣 列中之同-所在地或重叠的所在地(圖中所標記之區 位大型物件)。事實上,增加頁之數目可能不增加陣列之 大小,因為每一頁接著在較少的區上重疊,所以组合之可 能性減小。所以此陣列應允許產生許多頁,而無需太多地 圖空間’亦無需所產生之地圖資料被載入至的裝置上之报 多記憶體。 & "亥方法曰在使含有區ID之清單之陣列9〇〇儘可 :方法旨在在陣列中儘可能經常地重新使用相同的㈣清 單。該方法可自由地將清單之最後2個元素重新排序,因 為其不會影響霍夫曼碼之大小。 舉例而言,當一清單含有2個區1〇及34時儲存清單 10、34或34、1G(與頻率無關)為等效的,因為當僅存在2個 節點時霍夫曼樹在所有狀況下僅使用丨個位元。換言之, 對於最後2個區而言,放鬆了根據頻率排序的要求。類似 地,亦可將3個元素10、34、4〇之清單儲存為1〇、4〇、 34,因為僅第一個碼1〇(最頻繁的)將使用i個位元,且其他 碼40及34皆使用2個位元(與次序無關)。 因此,查看圖9,可看出,陣列900儲存兩個值:長度及 自區資料之開始之偏移。因牝,以第一列(3: 〇)為例,此 指代自檔案之開始的偏移為〇之三片資料(亦即,1〇、34、 40)。作為另一實例,陣列輪入項(1:2)指代單一區(亦即, 長度為1) ’其中自檔案之開始的偏移為二;(亦即,區 40) 〇 150831.doc • 64 - 201211509 在一替代實施例中,根據以下方法編碼區頁資訊: 此區段編碼每一區中之子區之數目。子區之數目可在每 等級中可變。然而,每一等級之子區之數目常常為恒定 的。相對於每一等級處之區之最小數目且使用1〇g 2 (max_iuimber_〇f_regi〇ns-min_number_0f_regi〇n)個位元來 編碼子區之數目。所以若區之數目為恆定的,則將〇個位 元用以編碼區計數,且此區段為空的。區的最小數目及最 大數目儲存於側樓案之標頭中。 區鄰居區段(關於圖6及圖6a來論述鄰域)之編碼 此區段針對在給定等級L處之每一區階層而編碼在更詳 細等級L+1處之區鄰居之清單。舉例而言,等級[叫處之 區3.9可具有以下在等級L = 2處之鄰居之清單:3 5 4 3 6 3 3.6.4 4.7.1 4_7.3。如別處所論述,可將鄰居之清單用來增 加用以產生側檔案或每一側檔案之預處理之速度。 此區段被分裂成2個子區段: •用以編碼所有鄰居清單(與在給定等級處之區數目 樣多)之長度之子區段。相對於最短清單來編碼 。亥長度,且接著,將位元之數目計算為丨 (gth-longest—list-length—shortestjist)。若所有 ’月單’、有相同長度,則將〇個位元用以編碼長度(且 因此,區段就為空的)^ •用以編碼所有鄰居清單(與在給定等級處之區數目 一樣多)之子區段。 區ID重新映射表之編碼 150831.doc •65- 201211509 僅在等級〇之側檔案中編碼此區段。其編碼二維表,該 二維表被用以重新排序且聚結等級0處之每一區中之位元 (以便有效地編碼位元向量,在本文件中在下文進一步描 述聚結及位元重新排序)。進行對位元向量中之位元的重 新排序及聚結以最佳化對位元向量之霍夫曼編碼。此表由 路線規劃方法用以在知曉以下各者時找到位元向量中的要 解碼之位元位置:• The Huffman tree used to store blocks of non-trivial bit vectors: Max Treviq ^, the larger the better the compression, the more memory is required in the route planning method (on the map) The trade-off between compression and memory usage in the route planning method) C • S Huffman tree of the difference vector of the bit vector when the historical size is 0: very small, only 3 codes • The history size is 1 bit Hoffman tree of vector difference code: very small, only 4 codes • Huffman tree of bit vector difference code although historical size >=n: very small (the number of Huffman trees is stored in the header • Although there are 3 zone time zone ID Huffman trees in the zone page: very small, only 3 stone horsefields have 4 zone time zone ID Huffman trees in the zone page: very small, only 4 yards There is a Huffman tree with a time zone ID of >=n zone in the field page: very small (the number of Huffman trees is stored in the header). 150831.doc • 61 · 201211509 Zone remapping table 804 and zone ID list 806 Although the zone ID 806 is smaller than the rest of the file format of Figure 8, the zone ID 806 can also be compressed, as illustrated in Figure U. Among them, geographical correlation can be used to reduce the amount of data used. Each zone page stores a list of distinct zones in the zone page. This list is expected to be small in most cases (in fact, many pages are likely to contain only U areas at least level 0). The list of zones has a variable size. It should be possible to randomly access the data in the page (also #, random access) and thus, use a fixed table size to allow this. Each of the distinct zones is sorted by the frequency of the nodes in each zone: List: The first element corresponds to the zone with the largest number of nodes in the page, and the last element of the list is the minimum number in the page. The area of the nodes. For each node in the zone page, the local area m (local to the page) can be used to encode its zone IDe. This is the index of the zone in the page (: is a small integer 'often 〇' because 0 corresponds to the most common area in the area page). The ID of the zone is stored as follows: •: All possible overlaps/monthly orders for the zone in the zone array of the zone ID. The list of zones is the contiguous zone ΐβ in the array. Lists can (and do) overlap. The array does not store the beginning and end of each list (this is done by the area page information table). • The area page information table is a fixed size record table (and therefore randomly available), and each record contains an index in the array at the beginning of the list + the number of items in the list. s 150831.doc -62 - 201211509 • Each node contains a local node ID (local to its page). Each of these concepts is further defined below. A list of all possible regions of the region array code page. It is a simple array of zones, where the list of zone IDs can overlap. Its size should be small because the lists overlap. The array of regions is further described in the section area page information. Area Page Information Use the 2 Blocks in the Fixed Size Record of the Area Page Information Table to specify the area page. The list of area IDs in the table: • Area count (the number of areas in this page, expected to be small). • Offset in the array of zone lists (where the list of zones begins). In an embodiment, this is as depicted in FIG. Offset block pointers to the array of regions: (for example) assuming that there are always less than 256 regions in each level (which is a reasonable assumption), a fixed-size record with 1 byte per region is sufficient (But if the maximum of 256 zones per level is considered too restrictive, then each zone m is greater than 8 bits is easy to implement). The zone count in the zone page table record indicates how many zones in the array are to be considered at the specified offset. If several zones have the same list, they can point to the same location, which should be = compact, as we can expect many pages to share the same list or share portions of the same list. This is explained in more detail with reference to Figure 9, which shows an embodiment of a page having two nodes, for example (4) to group 512 nodes together. 150831.doc •63 · 201211509 Note. The array of Italian zones is _ compact, because several pages can point to the same-location or overlapping location in the array (large objects in the location marked in the figure). In fact, increasing the number of pages may not increase the size of the array, as each page then overlaps over fewer regions, so the likelihood of combining is reduced. Therefore, the array should allow for the creation of many pages without the need for too much map space' and the multi-memory on the device to which the generated map material is loaded. The &" method is to make the array containing the list of zone IDs available: the method is to reuse the same (four) list as often as possible in the array. This method freely reorders the last two elements of the list because it does not affect the size of the Huffman code. For example, when a list contains 2 regions 1 and 34, the storage list 10, 34 or 34, 1G (independent of frequency) is equivalent, because the Huffman tree is in all conditions when there are only 2 nodes. Only one bit is used below. In other words, for the last two zones, the requirements for sorting by frequency are relaxed. Similarly, the list of 3 elements 10, 34, 4〇 can also be stored as 1〇, 4〇, 34, because only the first code 1〇 (most frequently) will use i bits, and other codes Both 40 and 34 use 2 bits (independent of order). Thus, looking at Figure 9, it can be seen that array 900 stores two values: the length and the offset from the beginning of the zone data. Because of the first column (3: 〇), this refers to the three pieces of data from the beginning of the file (ie, 1, 34, 34, 40). As another example, the array round entry (1:2) refers to a single zone (ie, length 1) 'where the offset from the beginning of the archive is two; (ie, zone 40) 〇150831.doc • 64 - 201211509 In an alternate embodiment, the area page information is encoded according to the following method: This section encodes the number of sub-areas in each zone. The number of sub-zones can be variable in each level. However, the number of sub-zones per level is often constant. The number of sub-regions is encoded with respect to the minimum number of zones at each level and using 1 〇 g 2 (max_iuimber_〇f_regi〇ns-min_number_0f_regi〇n) bits. So if the number of zones is constant, then one bit is used to encode the zone count and this section is empty. The minimum number and maximum number of zones are stored in the header of the side story. Encoding of the zone neighbor section (discussing the neighborhood with respect to Figures 6 and 6a) This section encodes a list of zone neighbors at a more detailed level L+1 for each zone level at a given level L. For example, the level [Call Area 3.9 may have the following list of neighbors at level L = 2: 3 5 4 3 6 3 3.6.4 4.7.1 4_7.3. As discussed elsewhere, the list of neighbors can be used to increase the speed of pre-processing used to generate side files or files on each side. This section is split into 2 subsections: • A subsection that is used to encode the length of all neighbor lists (and the number of zones at a given level). Encoded relative to the shortest list. The length of the hai, and then, the number of bits is calculated as 丨 (gth-longest_list-length-shortestjist). If all 'monthly orders' have the same length, then one bit is used to encode the length (and therefore the section is empty)^ to encode all neighbor lists (with the number of zones at a given level) As many sub-sections. The code for the area ID remapping table 150831.doc •65- 201211509 This section is only encoded in the side file of level 〇. It encodes a two-dimensional table that is used to reorder and coalesce the bits in each of the regions at level 0 (to effectively encode the bit vector, which is further described below in this document). Meta reordering). The reordering and coalescing of the bits in the bit vector is performed to optimize the Huffman encoding of the bit vector. This table is used by the route planning method to find the location of the bit to be decoded in the bit vector when the following is known:

•當前節點之始發區ID •原始的到達位元(t0_bit)索引(亦即,在解聚結位元 向量位元之後的位元索引) 二維表之2個索引為:• Origin node ID of the current node • Original arrival bit (t0_bit) index (ie, the bit index after the de-aggregation bit vector bit) The two indices of the two-dimensional table are:

•始發區ID •目的地位元索引(目的地之區) 此區段由2個子區段構成·· •用以編碼等級〇處之每一區的聚結之位元之數目的 區段。用以編碼每一數目之位元數目為l〇g_2(max_ number_〇f_c〇alesced_bits) •用以編碼位元重新映射表之區&。因為在進行路徑 選擇時’目❸也位元不改變(在進行路徑選擇時目 的地保持相同)’但始發區⑴改變(視在進行路徑選 擇時所探索之節點而定)’矩陣按目的地位元的列 進行儲存。在每—列中,料每一始發區之位元重 新排序數目。路線規劃方法在進行路徑選擇時應通 常僅將對應於給定路徑選擇目的地W列載入於記 s 150831.doc * 66 - 201211509 隐體中。路線規劃方法不需要將整個二維矩陣儲存 於冗憶體中。路線規劃方法可隨機存取彼列。將用 以編碼每-重新映射輸人項之位缝目計算為㈣」 (聚結位元之最大數目)。 圖10針對等級0區(見圖6)擴展了圖8中所展示之檔案之 位元向量區段812。可看出,每一頁包含道路段計數、區 ID及位元向量。 圖11針對除了等級〇之外的等級擴展了圖8中所展示之槽 案之位元,量區段812。可看出,對於其他區而言,僅儲 存位7C向1,且不儲存道路段計數或區卵十對 了它們)。 此係因為在較精細等級處’每—節點的針對所有等級之 區編號(region _ber)被儲存於等級〇之側稽案中。以此方 式儲存之原因是為了減少在使用側槽案的任何路線規劃期 間必須存取的檔案之數目。 位元向量810、812之編碼 表810含有固定大小之記錄。始發節點m被一起分組於 具有2n個的頁中。 ' 將資料分組於具有多個連續節點之頁中為方便的,因為 預期位元向量對於相同鄰域中之若干道路段具有類似型 樣、。精由使用頁’有可能以差異(in _)編碼若干道路段 且達成良好壓縮。麵介,从 女1 頰似地有可旎以差異將節點之區ID編 碼於頁中°另—方面’其意謂存取-道路段之資料需要將 若干道路段之資料解封裝直接隨機存取)。可將必須 15083I.doc •67· 201211509 將若干節點或道路段解封裝 料認為是可接受的,因為: 以存取一個道路段或節點之資 資料可被快取,所 外料讀取的額 :抖“並非無用的。可能為以下情況:此額外 ▲不久之後將為有用的(此類似於磁碟快取之預 先讀取(read-ahead)參數)。 二” Dijksti*a A路徑選擇比較時,使用該等位元向 量之路徑選擇將擴展搜尋之大小減小了-數量級。 猎由按頁分組資料’僅地圖的小部分仍需要解碼 (沿著實際路徑之頁)。 歸功於對請及位元向量之差異壓縮,其應顯著減 小經編碼之資料大小。 頁咸J索引之大小’因為如所描述,資料將儲存於 側擋案中。 ' 一表810内之母一記錄含有一「差異」攔位,纟用以找到 母-頁之可變大小之開始的位置(相對於經内插位置的差 異)。每一差異之位元之數目儲存於標頭中。 為了存取區ID及位元向量812,解碼器可藉由進行以下 線性内插而計算開始頁之估計偏移: interpolated_offset=from_node_id,avg_page_size 其中avg_page_size為儲存於標頭中之以位元計的平均頁 大小(可能為定點的以改良精確性)。可接著將資料之偏移 計算如下: 偏移=interpolated_offset+min_delta+delta 15083l.doc -68- 201211509 其中min_delta為所有頁 T令負之所有差異欄位之 於標頭中),且差異為儲存於 瑕]值(健存 • J tta /f ^ JS. 、頁中的無正負號欄位。 nun—delta值確保所有差異欄位 號)。 勹止值(不儲存位元正負 經由先前所描述之位元向量頁資訊之「差显 取可變大小之記錄。 〃、」]彳來存 每一記錄含有2n個節駄夕在,, 即點之貧料(始發節點之區ID及其為 所有等級處之所附接道路段 、仕 案因此將被用於所有等級。 、索引方 可變大小記錄儲存: •頁碼-針對整個頁指示彼頁内之節點是否為 之部分之碼; •在位凡向量頁中之每-節點周圍之道路段之數目 (僅在等級〇處儲存,因為其對於所有等級將為相同 的); 頁:t始發點之區ID ’每等級有—個(針對所 有荨級之資5扎儲存於等級0之槽案中) 僅等級i處的在頁中之節 路段之節點周圍)的道路段 資料。 點周圍(僅在具有>2個所附接道 之位元向量。此為最大部分之 •在每一節點周圍之道路段之數目的編碼 對於位元向量頁中之2n個節點中之每一者而纟,霍夫髮 碼料在該“ „之道路段之數目。此#訊麟具體^ 所有等級且其僅儲存於等級〇處之檔案中(ap_〇_* da〇。 15083 丨.doc •69- 201211509 知曉在節點周圍之道路段之數目係用以解碼位元向量 (見1000,圖10)。此資訊與已存在於其他樓案中之資訊重 複’但其使得更容易且快速地解碼頁中之位元向量,而無 須在別處查找彼資訊;藉此大小方面的小增加提供效能之 增加。 可變大小記錄中之區ID之編碼 在編碼母一郎點周圍的道路段之數目1 〇 〇 〇之後,在可變 大小記錄中編碼節點之區ID 1002。為了執行使用在預處 理中產生的位元向量的路徑選擇,通常需要存取給定節點 之所有等級處的區ID 1002,所有等級之區ID被彼此靠近 地儲存於相同檔案中,而非被分裂於每等級之不同標案 中〇 具有2n個節點(例如,n=4)且具有3個阿波羅等級之位元 向量頁因此將把節點ID儲存如下: node#0: local region id level O local_region_id_level_l l〇cal_region_idJevel_2 node#l: local_region_id_level_0 local region id level l local_region_id_level_2 node#2: local_region_id_level_0 l〇cal_region_id_level_l local_region_id_level_2 node#15: Iocal_region_id_level_0 local_region_id_level_l local_region_id_level_2 另外: •在具有1或2個所附接道路段之節點周圍,不編碼任 何東西(亦即,對於儲存〇作為所附接道路段之數目 的節點而言)。 •當在給定等級設定了頁碼中之位元時,則知曉所有 節點皆處於彼等級處之相同區ID中,且接著僅將彼 £ 150831.doc • 70- 201211509 專級處之區ID編碼一攻f β 人(對於具有> =3個所附接道路 段之第一節點)。用爽& m ^ r 木編碼區ID之位7〇之數目為 log_2(regionCount-l) 〇 •除了頁中的區ID經編碼 之第一節點之外,在編碼每 一區ID之珂亦編碼—位元。此位元指示區⑴是否與 處於同-等級的先前經編碼之節點⑴相同。當此位 元被設定時’無需編碼該區ID,因為其與彼等級的 先前所編碼者相同。當此位元為0時,以丨og 2 (regionCount-丨)個位元編碼區m。由於許多連續節 點在同-區中’故常常僅需要i個位元來編碼區 ID。 對本地區索引之霍夫曼編碼為有效的,因為: •在每一區頁中按頻率將區分類(所以本地索引〇比本 地索引1更頻繁, 對於頁中之每一數目個區存在相異的專門之霍夫曼 樹(對於頁中之3個區存在丨個霍夫曼,對於頁中之4 個區存在1個霍夫曼樹,等等)。霍夫曼樹為小的, 且因而有可能在不使用大量記憶體的情況下儲存若 干個霍夫曼樹。 •無論如何’至少在等級0處’具有3個區或3個區以 上應為相當罕見的(但在其他等級處並不罕見)。 可變大小記錄令之位元向量之編碼 母-可變大小記錄含有在頁中之節點周圍的所有道路段 之位元向量。僅在具有3個或3個以上所附接線路(道路段又) 150831.doc 201211509 之郎點周圍編碼位元向量。 •g t對於具有1個或2個所附接道路 &之郎點而言,路徑選 瞌人⑭ 去可將位元向量值111... 111) 隱έ地賦予彼等節點。 ; 不編碼到達節點。 參看圖7,應注音,死士 意、了由兩個節點指定-道路段’·在該 k路·Κ的母一末端處有一 处,個卽點。因此,當考慮方向時, 在方向之開始處之銘# ...T被稱作from_node,且在末端處 之郎點可被稱作to_n〇de。 地 在編碼内使㈣於位元向量之各種性質以使得編碼有效 率: •位元向量中之許多者為〇〇〇·..000或ill.-.111。 •對於位元向量之其他值(亦即,非000,000或 11 ι···ι 11),报可能存在重複且相同值將很可能被 重複。 將位元向量編碼為第一霍夫曼碼及可選的其他霍夫曼 碼°第一霍夫曼碼指示位元向量是否為: •針對平凡位元向量〇〇〇·_·〇〇〇之碼0 •針對平凡位元向量111…π 1之碼1 碼2 ’用以指示在該頁中尚未遇到非平凡位元向 里。在此狀況下且僅在此狀況下,後接有其他霍夫 曼石馬以編碼新遇到之位元向量。 •當位元向量與在當前頁中先前遇到之位元向量相同 時(忽略平凡位元向量000..·000及111.·· lu),石馬 >=2。此編碼因此使用該頁中先前遇到之碼的歷 150831.doc -72· 201211509 史。該碼因而實際上按所有先前遇到之碼之歷史給 出索引。 除了此霍夫曼碼之外’僅在於歷史中未找到的非平凡位 元向量的狀況下,需要編碼更多資訊(碼=2)。在此狀況 下’緊接在霍夫曼碼==2之後’編碼有: •否定位元 •用以猎由N個位元之區塊編碼η個區之位元向量之 右干霍夫哭碼(Ν及η給出於地圖標頭中)。舉例而 言’使用11個位元之區塊編碼1 〇〇個區(99位元位元 向量)需要編碼9個霍夫曼碼(9XI 1=99)。 由於大多數位元向量主要含有0或含有1,故否定位元指 示該位元向量是否被儲存為否定的。此使得能夠在霍夫曼 树令儲存決大多數含有〇的碼(因此,改良區塊之霍夫曼編 碼)。僅在區塊之大小小於區之數目的情況下存在否定位 兀,此為實際上在等級〇處之狀況,但在等級〗或2處,可 能在僅1個區塊中編碼整個位元向量’所以否定位元為不 需要的。 若存在100個區;Ν=100(因此,99位元之位元向量),則 第一區塊編碼針對目的地區丨至丨丨之位元,第二區塊編碼 區12至22 ’等等。在第—區塊中,LSB(()xl)對應於目的地 區1 ’下-位元(0x2)對應於區2,了—位元㈣消應於區 3,等等。 子於使用歷史之位元向量而言’歷史陣列之深度為頁中 之先前遇到之相異位元向量之數目(不考慮平凡位元向量 150831.doc -73- 201211509• Originating Zone ID • Destination Bit Index (District of Destination) This section consists of 2 subsections • A section for encoding the number of coalesced bits of each zone at the level 〇. The number of bits used to encode each number is l〇g_2(max_number_〇f_c〇alesced_bits) • The area & used to encode the bit remapping table. Because the target does not change when the path is selected (the destination remains the same when the path is selected) 'but the origination area (1) changes (depending on the node being explored when the path is selected) 'matrix by purpose The column of status elements is stored. In each column, the number of bits in each originating zone is reordered. The route planning method should normally only load the destination W column corresponding to the given path in the path selection s 150831.doc * 66 - 201211509. The route planning method does not require the entire two-dimensional matrix to be stored in the redundant body. The route planning method can randomly access the list. The number of stitches used to encode the per-remap input is calculated as (4)" (the maximum number of coalesced bits). Figure 10 extends the bit vector segment 812 of the archive shown in Figure 8 for the level 0 region (see Figure 6). It can be seen that each page contains a road segment count, a zone ID, and a bit vector. Figure 11 expands the bit of the slot shown in Figure 8 for a level other than the level ,, the quantity section 812. It can be seen that for other zones, only storage location 7C is 1 and no road segment counts or zone eggs are stored. This is because the region number (region__) for each level at the finer level is stored in the side of the level 稽. The reason for this storage is to reduce the number of files that must be accessed during any route planning using the side slot. The code table 810 of bit vectors 810, 812 contains a fixed size record. The originating nodes m are grouped together in a page having 2n. It is convenient to group data into pages with multiple consecutive nodes because the expected bit vector has a similar pattern for several road segments in the same neighborhood. It is possible to encode several road segments by difference (in _) and achieve good compression. In the face, from the female 1 cheek, there is a difference between the node ID of the node in the page. Another aspect of the information that means the access-road segment needs to decapsulate the data of several road segments and directly store it. take). The decapsulation of several nodes or road segments may be considered acceptable as 15083I.doc •67· 201211509 because: the information for accessing a road segment or node can be cached, and the amount of material read : Shake "Not useless. It may be the following: This extra ▲ will be useful soon (this is similar to the read-ahead parameter of the disk cache). 2" Dijksti*a A path selection comparison The path selection using the bit vector reduces the size of the extended search by an order of magnitude. Hunting by grouping data by page 'only a small portion of the map still needs to be decoded (along the page of the actual path). Thanks to the differential compression of the pair and the bit vector, it should significantly reduce the size of the encoded data. Page salt J index size 'Because as described, the data will be stored in the side file. The parent record in a table 810 contains a "difference" block, which is used to find the position of the start of the variable size of the mother-page (relative to the difference between the interpolated positions). The number of bits for each difference is stored in the header. To access the zone ID and the bit vector 812, the decoder can calculate the estimated offset of the start page by performing the following linear interpolation: interpolated_offset = from_node_id, avg_page_size where avg_page_size is the average of the bits stored in the header Page size (may be fixed point to improve accuracy). The offset of the data can then be calculated as follows: offset = interpolated_offset + min_delta + delta 15083l.doc -68- 201211509 where min_delta is the negative of all pages T all the difference fields in the header), and the difference is stored in瑕] Value (Make • J tta /f ^ JS., the unsigned field in the page. The nun-delta value ensures all the difference field numbers).勹 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( The poor material of the origin (the area ID of the originating node and its attached road segment at all levels will therefore be used for all levels.) Index side variable size record storage: • Page number - for the entire page indication Whether the node in the page is part of the code; • the number of road segments around each node in the vector page (stored only at level , because it will be the same for all levels); The zone ID of the originating point of t is one for each level (for all the funds of the level 5, stored in the slot of level 0), only the road segment data of the node of the section in the page at the level i) Around the point (only in the bit vector with > 2 attached tracks. This is the largest part • The number of road segments around each node is encoded for each of the 2n nodes in the bit vector page In one case, Hoff’s code is on the road of “„ The number of this #讯麟 specific ^ all grades and it is only stored in the file of the level ( (ap_〇_* da〇. 15083 丨.doc •69- 201211509 know the number of road segments around the node To decode the bit vector (see 1000, Figure 10). This information is repeated with information already present in other buildings' but it makes it easier and faster to decode the bit vector in the page without having to find it elsewhere. A small increase in size provides an increase in performance. The encoding of the zone ID in the variable size record encodes the zone of the node in the variable size record after the number of road segments around the parental point is 1 〇〇〇 ID 1002. In order to perform path selection using the bit vector generated in the preprocessing, it is usually necessary to access the area ID 1002 at all levels of the given node, and the area IDs of all levels are stored in the same file close to each other, Instead of being split into different tables of each level, there are 2n nodes (for example, n=4) and there are 3 Apollo-level bit vector pages so the node ID will be stored as follows: node#0: local region Id lev El O local_region_id_level_l l〇cal_region_idJevel_2 node#l: local_region_id_level_0 local region id level l local_region_id_level_2 node#2: local_region_id_level_0 lcal_region_id_level_l local_region_id_level_2 node#15: Iocal_region_id_level_0 local_region_id_level_l local_region_id_level_2 In addition: • Around a node with 1 or 2 attached road segments, Nothing is encoded (ie, for nodes that are stored as the number of attached road segments). • When a bit in the page number is set at a given level, then all nodes are known to be in the same zone ID at the other level, and then only the zone ID of the 150831.doc • 70-201211509 class is encoded. One attack f β person (for the first node with > = 3 attached road segments). The number of bits 7 用 of the cool & m ^ r wood coding area ID is log_2 (regionCount-l) 〇 • In addition to the first node encoded by the area ID in the page, after encoding each area ID Encoding - bit. This bit indicates whether the area (1) is the same as the previously encoded node (1) in the same-level. When this bit is set, 'the zone ID does not need to be encoded because it is the same as the previously coded one of the ranks. When this bit is 0, the area m is encoded by 丨 og 2 (regionCount-丨) bits. Since many consecutive nodes are in the same-region, it is often necessary to only i bits to encode the region ID. The Huffman coding of the index of the region is valid because: • The regions are sorted by frequency in each zone page (so the local index is more frequent than the local index 1 and there is a difference for each number of zones in the page) a specialized Huffman tree (there are one Huffman for three regions in the page, one Huffman tree for four regions in the page, etc.). The Hoffman tree is small, and It is thus possible to store several Huffman trees without using a large amount of memory. • In any case, 'at least at level 0' with 3 zones or more than 3 zones should be quite rare (but at other levels) It is not uncommon. The variable size record allows the encoded mother-variable size record to contain the bit vector of all road segments around the nodes in the page. Only with 3 or more attachments Line (the road segment is again) 150831.doc 201211509 The code point vector around the point of the lang. • gt For a point with 1 or 2 attached roads & points, the path selects 14 to remove the bit vector Values 111... 111) Concealed to their nodes. ; does not code to reach the node. Referring to Fig. 7, the phonetic should be sounded, and the two are designated by the two nodes - the road segment'. There is one point at the mother end of the k road. Therefore, when considering the direction, the head # ... T at the beginning of the direction is called from_node, and the point at the end can be called to_n〇de. The various properties of the bit vector are made (4) within the encoding to make the encoding efficient: • Many of the bit vectors are 〇〇〇·..000 or ill.-.111. • For other values of the bit vector (ie, non-000,000 or 11 ι···ι 11), there may be duplicates and the same value will likely be repeated. Encoding the bit vector as a first Huffman code and optionally other Huffman codes. The first Huffman code indicates whether the bit vector is: • For a trivial bit vector 〇〇〇·_·〇〇〇 Code 0 • For the ordinary bit vector 111...π 1 code 1 code 2 ' is used to indicate that non-trivial bits have not been encountered in this page. In this case and only in this case, there are other Hoffman stone horses to encode the newly encountered bit vector. • When the bit vector is the same as the bit vector previously encountered in the current page (ignoring the trivial bit vectors 000..·000 and 111.·· lu), Shima >=2. This code therefore uses the history of the code previously encountered on this page 150831.doc -72· 201211509. The code is thus actually indexed by the history of all previously encountered codes. In addition to this Huffman code, it is only necessary to encode more information (code = 2) in the case of non-trivial bit vectors not found in history. In this case, 'immediately after Huffman code == 2' the code has: • No locator element • Used to hunt the bit vector of the n-regions encoded by the N-bit block The code (Ν and η are given in the icon head). For example, using a block of 11 bits to encode 1 block (99 bit vector) requires encoding 9 Huffman codes (9XI 1 = 99). Since most of the bit vectors contain zero or contain 1, no positioning element indicates whether the bit vector is stored as negative. This makes it possible to store most of the codes containing 〇 in the Huffman tree (hence the Huffman coding of the improved block). Only if the size of the block is smaller than the number of the area, there is no positioning 兀, this is actually the situation at the level ,, but at the level 〖 or 2, the entire bit vector may be encoded in only 1 block 'So no positioning element is not needed. If there are 100 zones; Ν = 100 (hence, a bit vector of 99 bits), then the first block encodes the bit to the destination area, the second block encodes the area 12 to 22 'etc. . In the first block, LSB(()xl) corresponds to the destination area 1 'lower-bit (0x2) corresponds to area 2, the -bit (4) corresponds to area 3, and so on. The depth of the historical array is the number of previously encountered distinct bit vectors in the page (regardless of the trivial bit vector 150831.doc -73- 201211509

〇〇〇...〇〇〇及111...111)。當歷史向量含有〇個元素、1個 素、2個元素、3個元素等等時,使用不同霍夫曼樹= 等霍夫曼樹倍增為可接受的,因為所有霍夫曼樹5亥 的’且因而不需要大量健存器: J 當歷史具有0個元素時, 000…000之〇、針對丨J L 之2。 霍夫曼樹具有3個碼··針對 • 111之1、針對新位元向量 當歷史具有1個元素時,霍夫曼樹具有4個碼 刪…刪之G、針對U1·.川之1、針對新位元向旦 之2、針對與歷史中之元素_同之位元向量之3。里 當歷史具有2個元素時,霍夫曼樹具有5個碼:針對 〇〇〇..侧之G、㈣⑴..川之1、針對新位元向旦 之2、針對與歷史中之元素#〇相同之位元向量之3里 針對與歷史中之元素#1相同之位元向量之4。 等等。 預』位元向1頁之大小為小的(例如,2n個始發節點), 所以預期霍夫曼樹之數目為小的。 火然而’有可能將霍夫曼樹之大小限於最大值:例如,每 虽歷史含有Η以上個元素時,皆將使用單—霍夫曼樹(值η 儲存於地圖標頭中)。 此編碼僅編碼每一頁中之相異位元向量+一些碼。 :大的索引頁的情況下’該編碼在大小上較有效率,但 代4貝疋為了使用位元向量來進行路徑選擇而減慢了解碼 (頁中有更多位元向量要解碼)。 £ 15083l.doc •74- 201211509 統計資料 此處為在按254個區(1等級)編碼荷蘭,比利時及盧森堡 時之標案格式的詳細統計育料。使用以下輸入參數: 每位元向量區塊之位元數目:11 每位元向量頁之節點數目:2Λ4= 1 6 每區頁之節點數目:2Λ9 = 512 提供統計資料以在地圖大小方面給出地圖形式之概念, 且基於一些實際資料說明地圖格式的描述: 節點計數 .............................. 1598632 線路 tf 數.............................. 1598632 (100.000%) 跳過具有1條線路之節點周圍之線路 · 220180 ( 13.773%) 跳過具有2條線路之節點周圍之線路 .. 727138 ( 45.485%) 在專級=[0]處之統計育料. 地圖計數器 87437736 (100.000%) 經編碼之平凡arp旗標000.·.000 1310914 ( 31.651%) 經編碼之平凡arp旗標111…111 913348 ( 22.052%) 歷史中之經編碼之arp旗標 362432 ( 8.751%) 不在歷史中之經編碼之arp旗標 607717 ( 14.673%) 否定區塊 235171 ( 5.678%) 地圖大小(以位元計) ........................87437736 (100.000%) 全域標頭 496 ( 0.001%) 霍夫曼樹 28808 ( 0.033%) 區二進位大型物件........................... 52664 ( 0.060%) 區頁資訊 56216 ( 0.064%) arp 旗標頁資訊 2497880 ( 2.857%) 可變大小記錄 84801672 ( 96.985%) 節點周圍之線計計數 2847844 ( 3.257%) 節點區 ID 2112451 ( 2.416%) arp旗標 79841370 ( 91.312%) 碼平凡000 …000 1683322 ( 1.932%) 碼平凡 111 …111 1S26696 ( 2.089¾) 在歷史中找到之碼 1668053 ( 1.908%) 未在歷史中找到 ................74 6572 99 ( 85.38 3%) 未ΐ歷史中找到之碼 1463183 ( 1.673%) 否定位元 607717 ( 0.595%) 區塊 72586399 ( S3.015%) -75- 150831.doc 201211509 所有大小以位元計。總地圖大小為87,437,736個位元 (1〇,929,717個位元組)。 縮進反映了階層。可變大小記錄資訊為最大片資訊(地 圖大小之96.975%) ^在可變大小記錄中,子項目(縮進的) 給出更多細節。位元向量為可變大小記錄中要儲存之最大 片資訊(91.312%)。且在位元向量中,儲存在歷史中尚未 遇到之非平凡位元向量構成了地圖之最大部分(83.〇15%)。 關於霍夫曼樹之統計資料 此卽給出在按2 5 5個區(亦即’針對上文所展示之地圖資 料)編碼荷蘭’比利時及盧森堡時之霍夫曼樹的統計資 料。 在每一節點周圍之道路段之數目的霍夫曼樹 -一-ί 霍夫曼樹:NrLines] - 位元: 1 值 3 碼 位元: 2 值 2 碼 位元: 3 值 1 碼 位元: 4 值 4 碼 位元: 5 值 5 碼 位元: 6 值 6 碼 位元: 7 值 7 碼 位元: 7 值 8 碼 0 10 110 1110 11110 111110 1111110 1111111 大多數節點具有3個所附接的道路段,但在該霍夫曼樹 中之第2位置及第3位置中,吾人發現具有2個所附接道路 #又及1個所附接道路段之節點(其不為決策節點)。 非平凡位元向量區塊之霍夫曼樹 此為最大的霍夫曼樹’因為平凡位元向量之儲存區塊為 最大的地圖大小貢獻因素(在荷蘭,比利時及盧森堡255區 之實例中,為83.015%)。 15083l.doc〇〇〇...〇〇〇 and 111...111). When the history vector contains one element, one element, two elements, three elements, etc., using different Huffman trees = equal Huffman tree multiplication is acceptable because all Hoffman trees are 5 'And thus does not require a large number of registers: J When the history has 0 elements, then 000...000, for 丨JL 2. Huffman tree has 3 codes·· for 111. 1. For the new bit vector, when the history has 1 element, the Huffman tree has 4 codes to delete... G, for U1·. 2, for the new bit to the 2nd, for the element with the history of the same as the bit vector 3. When the history has two elements, the Hoffman tree has five codes: for the 〇〇〇.. side of the G, (four) (1).. Chuanzhi 1, for the new bit Xiangdan 2, for the elements in history #〇 The same bit vector 3 is for the same bit vector as the element #1 in history. and many more. The pre-"bits are small in size to one page (for example, 2n originating nodes), so the number of Huffman trees is expected to be small. Fire however, it is possible to limit the size of the Huffman tree to a maximum: for example, a single-Huffman tree (value η stored in the head of the map icon) will be used each time the history contains more than one element. This code encodes only the distinct bit vector + some codes in each page. : In the case of large index pages, the code is more efficient in size, but generation 4 is slower in decoding in order to use the bit vector for path selection (more bit vectors in the page are to be decoded). £ 15083l.doc •74- 201211509 Statistics This is a detailed statistical feed for the format of the Netherlands, Belgium and Luxembourg in 254 districts (1 rating). Use the following input parameters: Number of bits per bit vector block: 11 Number of nodes per bit vector page: 2Λ4= 1 6 Number of nodes per page: 2Λ9 = 512 Provide statistics to give in map size The concept of the map form, and based on some actual data to illustrate the description of the map format: Node count.............................. 1598632 Line Tf number.............................. 1598632 (100.000%) Skip the line around the node with 1 line · 220180 ( 13.773%) Skip the line around the node with 2 lines: 727138 ( 45.485%) Statistical feed at the level = [0]. Map counter 87437736 (100.000%) Coded ordinary arp flag 000 .·.000 1310914 ( 31.651%) The coded ordinary arp flag 111...111 913348 ( 22.052%) The encoded arp flag in history 362432 ( 8.751%) is not encoded in the history of the arp flag 607717 ( 14.673%) Negative block 235171 ( 5.678%) Map size (in bits) ........................87437736 (100.000%) Global standard Head 496 (0.001%) Hoffman Tree 28808 (0.033%) District II Large objects.............................. 52664 ( 0.060%) Area Page Information 56216 ( 0.064% ) arp Flag Page Information 2497880 ( 2.857%) Variable Size Record 84801672 (96.985%) Line count around the node 2847844 ( 3.257%) Node Area ID 2112451 ( 2.416%) arp Flag 79841370 ( 91.312%) Code Ordinary 000 ...000 1683322 ( 1.932%) Code Ordinary 111 ...111 1S26696 ( 2.0893⁄4) Found in the history of 1680053 ( 1.908%) Not found in history ..............74 6572 99 ( 85.38 3% )找到History found in the code 1463183 ( 1.673%) No locating element 607717 ( 0.595%) Block 72586399 ( S3.015%) -75- 150831.doc 201211509 All sizes are in bits. The total map size is 87,437,736 bits (1〇, 929, 717 bytes). Indentation reflects the hierarchy. The variable size record information is the maximum slice information (96.975% of the map size). ^ In the variable size record, the sub-item (indented) gives more details. The bit vector is the largest piece of information (91.312%) to be stored in the variable size record. And in the bit vector, the non-trivial bit vector that has not been encountered in history constitutes the largest part of the map (83.〇15%). Statistics on the Hoffman Tree This is a statistical analysis of the Hoffman tree when the Netherlands & Belgium and Luxembourg were coded in 25 5 districts (ie, 'for the map information shown above'). Huffman tree of the number of road segments around each node - one-ί Hoffman tree: NrLines] - Bits: 1 Value 3 code bits: 2 Value 2 code bits: 3 value 1 code bit : 4 value 4 code bits: 5 value 5 code bits: 6 value 6 code bits: 7 value 7 code bits: 7 value 8 code 0 10 110 1110 11110 111110 1111110 1111111 Most nodes have 3 attached The road segment, but in the second and third positions in the Hoffman tree, we found that there are two attached roads # and one attached road segment (which is not a decision node). Huffman tree of non-trivial bit vector block This is the largest Huffman tree' because the storage block of the trivial bit vector is the largest contribution to the map size (in the case of the Netherlands, Belgium and Luxembourg 255) It is 83.015%). 15083l.doc

S 201211509 ---[ 霍夫曼樹 位元: 1 值 位元: S 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 6 值 位元: 7 值 位元: 7 值 位元: 7 值 位元: 8 值 :非平凡Arp旗標區塊 0 碼 0 1 碼 100000 2 碼 100001 4 碼 100010 8 碼 100011 16 碼 100100 32 碼 100101 64 100110 512 碼 100111 1024 石馬 101000 128 碼 1010010 256 碼 1010011 38 4 1010100 5 碼 10101010 剪斷,太大 值值值值值 4 4 4 4 4 2 2 2 2 2 元元元元元 位位位位位 1534 碼 111111111111111111111011 1717 石•馬 111111111111111111111100 1741 碼 111111111111111111111101 1830 碼 111111111111111111111110 1973 碼 111111111111111111111111 儲存全部由〇構成之區塊為最頻繁型樣,且根據上文之 霍夫曼樹以僅1個位元來編碼(此意謂即使平凡位元向量 〇〇〇.·.000不按區塊編碼,50%或50%以上的區塊亦編碼值 0)。此係因為大多數非平凡位元向量含有 •大部分0(及少數1) •或大部分1(及少數〇) 該編碼方案否定(〜)含有大部分1之位元向量, 後’位元向量之編碼區塊大部分情況下僅以1位元蝙螞八 有000…〇〇〇之區塊。次頻繁的區塊為僅設定1位元 (1、2、4、8、16、32、64·..)。其具有或多或少相同的步 率’因此具有相同(或幾乎相同)數目個位元。 ’' 本地區ID之霍夫曼樹 由於將區之清單按頻率儲存於每一頁中,故可看到 150831.doc -77· 201211509 其他所在地的區ID相比,儲存本地區出〇佔用較少位元 (事實上僅i位元不同霍夫曼樹對應於具有嶋、二 區、5個區等等之頁。 ---[ 霍夫曼樹:.Regions 0] 元元元 位位位 值值值 碼碼 ο 1 ---[霍夫曼樹:Regions 1]--- 元元元元 位位位位 元元元元元 位位位位位 元元元元元元 位位位位位位 值值值值 碼碼碼碼 ο ο 1 1 0.......... 曼值值值值值 1 I 霍 1 2 3 4 4S 201211509 ---[ Huffman tree bit: 1 value bit: S value bit: 6 value bit: 6 value bit: 6 value bit: 6 value bit: 6 value bit: 6 value Bit: 6 Value bit: 6 Value bit: 7 Value bit: 7 Value bit: 7 Value bit: 8 Value: Non-trivial Arp flag block 0 code 0 1 code 100000 2 code100001 4 code 100010 8 code 100011 16 code 100100 32 code 100101 64 100110 512 code 100111 1024 stone horse 101000 128 code 1010010 256 code 1010011 38 4 1010100 5 code 10101010 cut, too large value value value 4 4 4 4 4 2 2 2 2 2 Element Element Bits Bits 1534 Code 111111111111111111111011 1717 Stone Horse 111111111111111111111100 1741 Code 111111111111111111111101 1830 Code 111111111111111111111110 1973 Code 111111111111111111111111 Store all blocks formed by 〇 as the most frequent type, and according to the above Hoffman tree It is encoded with only 1 bit (this means that even if the trivial bit vector 〇〇〇..000 is not block-coded, 50% or more blocks are encoded with a value of 0). This is because most non-trivial bit vectors contain • most 0 (and a few 1) • or most 1 (and a few 〇). The encoding scheme negates (~) contains most of the 1 bit vector, after 'bit In most cases, the coding block of the meta-vector is only a 1-bit bat. The next most frequent block is only 1 bit (1, 2, 4, 8, 16, 32, 64·..). It has more or less the same pace' and therefore has the same (or nearly the same) number of bits. ''Hoffman tree of ID in this area is stored in each page by frequency, so you can see that the area ID of other areas is 150831.doc -77· 201211509 Less bits (in fact, only the i-bit different Huffman trees correspond to pages with 嶋, two regions, five regions, etc. ---[Hoffman tree: .Regions 0] meta-bits Value value code code ο 1 ---[Huffman tree: Regions 1]--- Element element bit position bit element element bit position bit element element element Bit value value value value code code code ο ο 1 1 0.......... Man value value value 1 I Huo 1 2 3 4 4

ο 10 no 1110 1111 -1碼碼碼碼碼碼 eg R1o 1 2 3 4 5w............ 曼值值值值值值 夫 ¢12 3 4 5 5 ο 10 1.10 1.1.10 11110 11111 碼〇(意謂平凡位元向量〇〇〇...〇〇〇) 為最頻繁的(且在大多 數狀況下’僅以丨位元編碼)。碼丨 U十凡位兀向量111...1U) W㈣的U僅以i位元編碼)。再次頻繁的碼⑺係針 對按區塊編以非平凡位元向量1他碼(>2)針對在歷史 中找到的位元向量。 s 150831.doc • 78 · 201211509 f#值值值f#值值值值 ^122 夫 1233霍霍,元元元 |元元元元 j位位位 j位位位位ο 10 no 1110 1111 -1 code code code code eg R1o 1 2 3 4 5w............ Man value value value value value ¢ 12 3 4 5 5 ο 10 1.10 1.1 .10 11110 11111 The code 〇 (meaning the trivial bit vector 〇〇〇...〇〇〇) is the most frequent (and in most cases 'encoded only by the 丨 bit). The code 丨 U ten 凡 兀 vector 111...1U) The U of W (four) is only encoded in i bits). Again frequent code (7) pairs are coded by block with a non-trivial bit vector 1 (> 2) for the bit vector found in history. s 150831.doc • 78 · 201211509 f#Value value f# Value value ^122 Fu 1233 Huo Huo, Yuan Yuan Yuan | Yuan Yuan Yuan j bit position j bit position

ArpiTlag—Ο]-0碼 1碼 2碼ArpiTlag—Ο]-0 code 1 yard 2 yards

ArpFlag_l] 〇碼 1石·ί2碼 3碼 0 10 11 0 10 110 111 £#值值^^^£#-值值值值值值t#值值值值值值值 夫 PH2344 夫 1234 5 5 夫 1 2 345 6 δ 霍霍 霍 |元元元元元 ~元元元元元元,元元元元元元元 一位位位位位一位位位位位位 |位位位位位位位ArpFlag_l] Weight 1 stone · ί2 code 3 code 0 10 11 0 10 110 111 £#value value ^^^£#-value value value value value t# value value value value value value value husband PH2344 husband 1234 5 5 husband 1 2 345 6 δ 霍霍霍|元元元元~元元元元元,元元元元元元一位位位位位位位位位位位位位位位

ArpFlag_2] 0碼 1石4 2碼 3碼 4碼ArpFlag_2] 0 yards 1 stone 4 2 yards 3 yards 4 yards

Arp.Flag_3 ] 0碼 1碼 2碼 3碼 4碼 5碼 0 10 110 1110 1111 0 10 110 1110 11110 11111 ·· ArpFlag 4]--- 0碼 0 1碼 1 〇 2 碼 110 3 碼 1110 4 碼 11110 5 碼 111110 6 碼 111111 -ί元元元元元元元元t j位位位位位位位位 | 樹................ @夂值值值值值值值值 夫 2 2 2 4 4 4 5 5 ArpFlag 〇]--- 0 碼 00 1 碼 01 2 碼 10 3 碼 1100 4 碼 1101 5 碼 1110 6 碼 11110 7 碼 11111 輸入參數對地.圖大小之影響存在若干輸入參數,其控制圖8中所展示之檔案格式且 可影響地圖大小。對該等參數之調整可為地圖大小與記憶 150831.doc •79- 201211509 體使用或解壓縮速度(視參數而定)之間的折衷。 本發明之實施例可使用以下輸入參數: •區頁大小 •位元向量頁大小 •位元向量區塊大小 •位元向量霍夫曼碼計數 •區霍夫曼碼計數 位元向量區塊大小之影響 值 地圖大小(位元) 4 35548192 5 33648792 6 32290344 7 30853616 3 31103200 9 30436696 (預設) 10 30051792 11 29266784 12 28934696 增加位元向量之霍夫曼區塊大小會改良地圖壓縮。區塊 大小愈高,壓縮愈好。但增加區塊大小是以需要更多記憶 體來儲存具有2Λη個值之較大霍夫曼樹為代價的。上文之 表說明此情況。 當引入最佳化以重新映射每源區之區ID時,預期此參數 之影響變得更重大:在使用大的位元向量區塊大小時,此 最佳化將有希望導致顯著的地圖大小減小。 位元向量頁大小之影響 150831.doc -80- 201211509 值 地圖大小(位元) 2Λ1 55563944 2Λ2 42502936 2Λ3 34Β98840 2Λ4 304366% (預設) 2Λ5 27389952 2Λ6 25165032 2Λ7 23635936 增加頁大小有助於更好地壓縮地圖。但遺憾的是,大的 頁使路徑選擇方法對檔案格式中之資料的解壓縮減緩’因 為存取隨機道路段之位元向量需要解碼頁中之所有道路 段。上文之表說明此情況。 位元向量霍夫曼碼計數之影響 值 地圖大小(位元) 1 30366920 2 30748024 3 30634168 5 30504504 Ί 30457944 9 30436696 (預設) 11 30423688 增加位元向量霍夫曼碼之數目有助於稍微增加壓縮,且 在上文之表中說明此情況。增加該值幾乎不存在缺點,因 為無論如何彼等霍夫曼樹為小的。增加到超過9個霍夫岛 樹(預設值)不提供任何顯著改良。在位元向量頁較大的情 況下’增加此參數可能更有效的。 聚結及重新排序位元向量中之位元 位元向量具有型樣。每一源區(亦gp,儲存位元向量之 節點之區)之彼等型樣顯著不同。可藉由儲存每—源區之 小的轉譯表而減少用以儲存N位元之位元向量之位元數 150831.doc 201211509 目。此等表執行2個功能,其進一步描述於此節中: •位元聚結 •位元重新排序 可直觀地將此想法理解如下:當在西班牙時,清楚的 是,通向瑞典之道路段(針對目的地區瑞典之位元=1)極可 能亦通向挪威(亦即’針對目的地挪威之位元接著亦為υ。 若另-道路段不通向瑞典(位元,,則在大多數狀況下其 亦不通向挪威。所以當在西班牙時,目的地區瑞典及挪威 之位元向量位元之值幾乎總是相等。事實上,對於許多目 的地區而σ ’其甚至總是嚴格地相等。哪些位元與哪一位 元充分相關很大程度上取決於始發區。 舉例而言’當在芬蘭時,目的地區挪威及瑞典之位元的 相關性小得多。另-方面’纟芬蘭,目的地區西班牙及葡 萄牙之位元很可能⑽%相關(或至少極接近1〇〇%)。 位元聚結利用了 一此位亓她θ 4 & — 疋總疋相等(完全相關)之性質。 彼等位元可聚結成單一仿;取 早位凡。聚結位元減少了在每一區中 要編碼之位元數目。 位元重新排序利用了 —此- 二位7L的相關性相當高(但並非 1 0 0 %相關)的性質,以係县 、 以便以最佳化對位元向量之霍夫曼編 石馬(及/或減小霍夫曼樹之夬|、 A树之大小)之方式混洗(shuffle)位元。 150831.doc •82· 201211509 (3) 〜__________+ 經重新排序之位元I按區塊進行霍夫曼編瑪之位元Arp.Flag_3 ] 0 code 1 code 2 code 3 code 4 code 5 code 0 10 110 1110 1111 0 10 110 1110 11110 11111 ·· ArpFlag 4]--- 0 code 0 1 code 1 〇 2 code 110 3 code 1110 4 code 11110 5 code 111110 6 code 111111 - ί元元元元元元元 tj bit bit bit bit bit | tree ................ @夂值值值值Value value value 2 2 2 4 4 4 5 5 ArpFlag 〇]--- 0 code 00 1 code 01 2 code 10 3 code 1100 4 code 1101 5 code 1110 6 code 11110 7 code 11111 input parameters to the ground. The effect has a number of input parameters that control the file format shown in Figure 8 and can affect the map size. Adjustments to these parameters can be a compromise between map size and memory usage (or parameter dependent). Embodiments of the invention may use the following input parameters: • Area page size • Bit vector page size • Bit vector block size • Bit vector Huffman code count • Area Huffman code count bit vector block size Influence value map size (bits) 4 35548192 5 33648792 6 32290344 7 30853616 3 31103200 9 30436696 (default) 10 30051792 11 29266784 12 28934696 Increasing the Huffman block size of the bit vector improves map compression. The higher the block size, the better the compression. However, increasing the block size comes at the cost of requiring more memory to store larger Huffman trees with 2Λη values. The table above illustrates this situation. The impact of this parameter is expected to become more significant when optimization is introduced to remap the zone ID for each source zone: this optimization will hopefully result in a significant map size when using large bit vector block sizes Reduced. Effect of bit vector page size 150831.doc -80- 201211509 Value map size (bits) 2Λ1 55563944 2Λ2 42502936 2Λ3 34Β98840 2Λ4 304366% (default) 2Λ5 27389952 2Λ6 25165032 2Λ7 23635936 Increase page size to help better compression map. Unfortunately, large pages make the path selection method slow down the decompression of the data in the file format because the access to the bit vector of the random road segment requires decoding all the road segments in the page. The table above illustrates this situation. Bit vector Huffman code count effect value map size (bits) 1 30366920 2 30748024 3 30634168 5 30504504 Ί 30457944 9 30436696 (default) 11 30423688 Increasing the number of bit vector Huffman codes helps to increase slightly Compressed and this is illustrated in the table above. Increasing this value has almost no disadvantages, because the Huffman trees are small anyway. Adding to more than 9 Hove Island trees (preset) does not provide any significant improvement. In the case where the bit vector page is large, it may be more efficient to increase this parameter. The bitwise vector in the coalescing and reordering bit vector has a pattern. Each source region (also gp, the region of the node where the bit vector is stored) is significantly different. The number of bits used to store the N-bit vector of bits can be reduced by storing a small translation table for each source region. These tables perform two functions, which are further described in this section: • Bit coalescing • Bit reordering can intuitively understand this idea as follows: When in Spain, it is clear that the road segment leads to Sweden (Target 1 for Sweden in destination area) is also likely to lead to Norway (ie, 'the destination for destination Norway is then also υ. If another road segment does not lead to Sweden (bits, then in most In the case of the situation, it does not lead to Norway. So when in Spain, the values of the bit vector bits of Sweden and Norway in the destination area are almost always equal. In fact, for many destinations, σ 'is always even strictly equal. Which bits are sufficiently related to which one depends largely on the originating area. For example, 'When in Finland, the correlation between the destinations of Norway and Sweden is much smaller. Another-face' The destination area of Spain and Portugal is likely to be (10)% related (or at least very close to 1%). The bit coalition utilizes this position 亓 θ 4 & 疋 total 疋 equal (completely related) Nature. The elements can be clustered into a single imitation; the early bits are reduced. The coalesced bits reduce the number of bits to be encoded in each region. The bit reordering takes advantage of this - this - the correlation of the two 7L is quite high (but not 1 0 0 % correlation) of the nature of the way to the county, in order to optimize the Huffman stone of the bit vector (and / or reduce the size of the Hoffman tree |, the size of the A tree) Shuffle the bits. 150831.doc •82· 201211509 (3) ~__________+ The reordered bit I is the block by Huffman.

ReorderBits〇 (2) (2) i---- 聚結之位元 I完全相關之位元之群組 +被聚結成单'~位元。 Λ \. I \. I \· I \. CoalesceBits{) \ . Λ_____ * 待聚結+重新排序之原始位元 i 在計算用以聚結位元及將位元重新排序之表之前,計算 所有始發區中的所有位元對之相關性。相異對之數目為: C(N, 2)=N!/(2!*(N-2)!)=N*(N-l)/2 …其中N為區之數目。因此當區之數目為高的時,此數目 為相當咼的。計算所有位元相關性為產生圖8中所展示之 槽案格式之方法的最慢部分。該方法之複雜性為ηχΝχΝ, 其中η為位元向量之數目,且ν為區之數目。對於每一區中 之每一位元對(亦即,位元向量中之相異行之對),計算三 維表: bitCorrelation[fromRegionId] [bitl] [bitJ] 〇 表中之每一輸入項含有4個欄位之結構,其計數: • fromRegionld之所有位元向量中bitl=0及bitJ=0之次數 • fromRegionld之所有位元向量中bitl=0及bitJ=l之次數 • fromRegionld之所有位元向量中bitl=l及bitJ=0之次數 • fromRegionld之所有位元向量中bitl=l及bitJ=l之次數 150831.doc -83- 201211509 雖然在處理器時間方面計算成本高昂(且因此緩慢),但 可易於將此程序平行化,因為計算每—始發區之位元相關 性完全獨立於其他始發區。 本發明之實施例使用多執行緒以加速所有位元之相關性 之計算以有效地使用SMP(對稱多重處理)機器。在一系統 中,單CPU機器計算具有300個區的荷蘭,比利時及盧森 堡之位元相關性花費了约8分鐘。但平行處理原則(州㈣㈣ 很好地按比例調整,且在啟用執行緒且使用4個(:1>17時, 計算位元相關性就花費2分鐘(為原來的4分之一)。 位元聚結 當若干位元完全相關(亦即’總是全部為〇或全部為i ) 時,可在不釋放任何資訊的情況下將其聚結成僅丨個位 元。將在給定區中的完全相關之位元集合稱為「群組」, 則給定區之位元向量由若干群組構成。若N位元之位元向 量由η個群組構成,則編碼N位元之位元向量使用n個位元+ 小的表以指示每一區中之哪些位元為相等的。 此位元聚結具有由此產生的檔案之大小以無損失方式減 小之優點。此優點很可能隨著區之數目增加而增加,因為 更多位元可能被聚結。所以地圖大小隨著區之數目以欠、線 性方式增加。 在一實施例中,獲得以下資料:ReorderBits〇 (2) (2) i---- Agglomerated bits I completely related to the group of bits + are agglomerated into a single '~ bit. Λ \. I \. I \· I \. CoalesceBits{) \ . Λ_____ * The original bits to be coalesced + reordered i Calculate all before calculating the table for coalescing the bits and reordering the bits The relevance of all bit pairs in the originating zone. The number of distinct pairs is: C(N, 2)=N!/(2!*(N-2)!)=N*(N-l)/2 ... where N is the number of zones. Therefore, when the number of zones is high, this number is quite awkward. Calculating all bit correlations is the slowest part of the method of generating the slot format shown in Figure 8. The complexity of this method is ηχΝχΝ, where η is the number of bit vectors and ν is the number of regions. For each bit pair in each zone (ie, the pair of distinct rows in the bit vector), calculate the three-dimensional table: bitCorrelation[fromRegionId] [bitl] [bitJ] Each entry in the table contains The structure of the four fields, the count: • the number of bitl=0 and bitJ=0 in all the bit vectors of fromRegionld • the number of bitsl=0 and bitJ=l in all the bit vectors of fromRegionld • all bits from fromRegionld Number of times bitl=l and bitJ=0 in vector • number of bitl=l and bitJ=l in all bit vectors fromRegionld 150831.doc -83- 201211509 Although the computational cost in terms of processor time is high (and therefore slow), However, it is easy to parallelize this program because the bit correlation for each of the origin regions is completely independent of the other origin regions. Embodiments of the present invention use multiple threads to speed up the calculation of the correlation of all bits to effectively use SMP (Symmetric Multiprocessing) machines. In a system, a single CPU machine calculates the bit correlation of the Netherlands, Belgium and Luxembourg with 300 zones taking about 8 minutes. However, the parallel processing principle (state (4) (iv) is well scaled, and when the thread is enabled and 4 (:1>17 is used, it takes 2 minutes to calculate the bit correlation (one quarter of the original). Meta-agglomeration When several bits are fully correlated (ie, 'always all or all i'), they can be coalesced into only one bit without releasing any information. Will be in a given zone The set of fully related bits is called a "group", and the bit vector of a given area is composed of several groups. If the bit vector of N bits is composed of n groups, the bit of N bits is encoded. The metavector uses n bits + a small table to indicate which bits in each region are equal. This bit coalescing has the advantage of reducing the size of the resulting file in a lossless manner. It may increase as the number of zones increases, as more bits may be coalesced. So the map size increases in an owual, linear manner with the number of zones. In one embodiment, the following information is obtained:

群組之最小數目 荷蘭,比利時及盧森堡255個區 12_ 13 荷蘭,比利時及盧森堡300個區 ,組之平均數目 84 90.017 150831.doc -84- 201211509Minimum number of groups 255 districts in the Netherlands, Belgium and Luxembourg 12_ 13 300 districts in the Netherlands, Belgium and Luxembourg, the average number of groups 84 90.017 150831.doc -84- 201211509

夫曼編碼之後具有甚至更少群組)。 255位元之位元向量(亦 同))之區(且因此,在霍There are even fewer groups after the Fuman encoding). The area of the 255-bit bit vector (also)) (and therefore, in Huo

要152個位元(152個群組)。 ’I J呵久盟秫Z :):)個适,區需 最差的區在霍夫曼編碼之前需 作為另一實例且以上述2S5個區的荷蘭,比利時及盧森 堡之實例中的區Id=3為例,其具有自經編碼資料取得的以 下1 8個群組。 區Id=[3]具有[18]個群組: #1 (0 ) #1 (1 ) #2(2) #141 ( 3 4 5 7 1 1 12 15 16 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39 40 42 43 44 45 46 50 51 59 60 62 63 66 67 69 71 72 73 74 :75 76 80 81 82 83 84 86 88 89 90 95 96 97 98 100 101 102 103 104 105 106 108 110 112 113 119 120 123 127 129 130 133 136 139 142 143 147 148: 149 150 151 154 155 156 157 159 160 165 166 167 171 172 173 174 176 177 178 179 181 182 183 190 192 200 203 205 207 210 21 1 212 213 214 215 218: 219 220 221 222 226 227 229 235 237 241 242 243 244 245 247 249 250 252 ) #1(6) #1(9) #1(10) #30 ( 13 14 35 48 49 57 68 85 93 109 1 15 1 17 1 18 128 131 134 138 153 158 164 169 187 189 195 209 217 224 238 239 ) #59 ( 17 18 47 53 54 56 65 91 92 99 107 114 1 16 121 124 125 126 150831.doc -85- 201211509 132 137 140 141 144 145 146 152 161 162 163 170 175 180 184 185 186 191 193 194: 196 198 199 201 202 204 206 208 216 223 225 228 230 231 232 233 234 236 240 246 251 ) #1 ( 34 ) #5 ( 41 78 79 111 197 ) #3 ( 52 77 87 ) #1 ( 55 ) #3 ( 58 61 94 ) #1 ( 64 ) #1 ( 70 ) #1 ( 122 ) #1 ( 188 ) 每一行表示一群組(區Id=3的1 8個群組)。括號中之數目 為在每一群組中被聚結之位元索引。#之後之數字為每一 群組中之位元數目。 在此實例中,1個群組為極大的且含有多達141個區。此 為尋常的。大體而言,與地圖之中間的區相比,地圖之邊 緣上的區聚結更多位元。 在此實例中,位元之數目已平均減小為原來的〜1/3(〜= 25 5/84)。备然,其並不意謂地圖大小減小為原來的I/〕, 因為要編碼之剩餘位元比原始位元具有更多熵(所以更難 以藉由霍夫曼區塊來編碼)。但位元聚結位元仍可減小地 圖大小(可能顯著地減小地圖大小)。 當聚結每一區中之位元時,每一區中之位元向量因此 有不同數目個位元(但給定始發區之位元向量具有相同 目個位元),如圖12中所說明。陰影說 始發⑽。y軸表示段之順序次序。舉例而言 塊可能表示叫線路’下一區塊可能表示5〇7條線路 150831.doc -86 - £ 201211509 等等。 一旦已計算,屮矣ήΑ Aw _ 元相關性(bitCorrelation),則識別 完全相關位元之群紐& 4 砰、,且為相當容易且快速的。在其中找不到 01或10型樣之所古& _ 斤有位疋對為完全相關的,且可聚結成1位 元。 為了、、。出位元聚結之另一實例,下表給出6個位元向量 (母一位兀向量具有15個位元)之實例。此等位元向量尚未 被聚結。 leoiiiiaimics COQOeilOiiKJios iSil#€liiC!©i5ii.u illilQ'SliieQI.Qii 3. ^iiQSQ-ummmuIt takes 152 bits (152 groups). 'IJ 久久盟秫Z :) :) The appropriate area, the zone with the worst area needs to be another example before the Huffman coding and the zone Id= in the example of the Netherlands, Belgium and Luxembourg of the above 2S5 zones 3 is an example, which has the following 18 groups obtained from the encoded data. Zone Id=[3] has [18] groups: #1 (0) #1 (1) #2(2) #141 ( 3 4 5 7 1 1 12 15 16 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39 40 42 43 44 45 46 50 51 59 60 62 63 66 67 69 71 72 73 74 : 75 76 80 81 82 83 84 86 88 89 90 95 96 97 98 100 101 102 103 104 105 106 108 110 112 113 119 136 139 142 143 147 148: 149 150 151 154 155 156 157 159 160 165 166 167 171 172 173 174 176 177 178 179 181 182 183 190 192 200 203 205 207 210 21 1 212 213 214 215 218: 219 220 221 222 226 227 229 235 237 241 242 243 244 245 247 249 250 252 ) #1(6) #1(9) #1(10) #30 ( 13 14 35 48 49 57 68 85 93 109 1 15 1 17 1 18 128 131 134 138 153 158 164 169 187 189 195 209 217 224 238 239 ) #59 ( 17 18 47 53 54 56 65 91 92 99 107 114 1 16 121 124 125 126 150831 .doc -85-201211509 132 137 140 141 144 145 146 152 161 162 163 170 175 180 184 185 186 191 193 194: 196 198 199 201 202 204 206 208 216 223 225 228 230 231 232 233 234 236 240 246 251 ) # 1 ( 34 ) #5 ( 41 78 79 111 197 ) #3 ( 52 77 8 7) #1 ( 55 ) #3 ( 58 61 94 ) #1 ( 64 ) #1 ( 70 ) #1 ( 122 ) #1 ( 188 ) Each line represents a group (18 groups of area Id=3) group). The number in parentheses is the index of the bits that are coalesced in each group. The number after # is the number of bits in each group. In this example, 1 group is extremely large and contains up to 141 zones. This is unusual. In general, the area on the edge of the map clusters more bits than the area in the middle of the map. In this example, the number of bits has been reduced by an average of ~1/3 (~= 25 5/84). Of course, it does not mean that the map size is reduced to the original I/] because the remaining bits to be encoded have more entropy than the original bits (so it is more difficult to encode by Huffman blocks). However, the bit coalescing bit can still reduce the map size (possibly reducing the map size). When the bits in each zone are coalesced, the bit vector in each zone therefore has a different number of bits (but the bit vector of the given origin zone has the same destination bit), as in Figure 12 Explained. The shadow says the origin (10). The y-axis represents the sequential order of the segments. For example, a block may indicate a called line. 'The next block may represent 5〇7 lines 150831.doc -86 - £201211509 and so on. Once calculated, 屮矣ήΑ Aw _ metacorrelation identifies the group of fully related bits & 4 ,, and is fairly easy and fast. In the case where the 01 or 10 type can not be found, the ancient & _ jin has a pair of pairs which are completely related and can be coalesced into 1 bit. in order to,,. Another example of out-of-bit coalescence, the following table gives an example of a 6-bit vector (the parent-bit vector has 15 bits). These bit vectors have not yet been coalesced. Leoiiiiaimics COQOeilOiiKJios iSil#€liiC!©i5ii.u illilQ'SliieQI.Qii 3. ^iiQSQ-ummmu

Odoec 0101125110¾ 此等15位元之位元向量可聚結成僅4個群組—因此,在 霍夫曼編碼之前每位元向量有4個位元。此展示於下表 中: < 1 + 3 +5 2 + 11 ' '5 + 7 ^ + 8 + 10- ] 0 1 —Ί— 0 0 1 i-- 0 1 〇 — 1 1 0 0 1 0 — 1)--- 0 0 Ί ~~ -Odoec 01011251103⁄4 These 15-bit bit vectors can be grouped into only 4 groups—so there are 4 bits per bit vector before Huffman coding. This is shown in the table below: < 1 + 3 +5 2 + 11 ' '5 + 7 ^ + 8 + 10- ] 0 1 —Ί— 0 0 1 i-- 0 1 〇— 1 1 0 0 1 0 — 1)--- 0 0 Ί ~~ -

該表之右邊部分之標題展示該表之左邊部分中之哪此位 兀構成4位元聚結向量。為了清楚起見,4位元聚結向量之 第一位元表示左邊部分之第1襴、第3欄及第9攔。因而 由於在上述實例中左邊部分(亦即,15位元原始向量)之第丄 150831.doc -87. 201211509 位元、第3位元及第9位元總是相同,故其可由上表之右邊 側之第一欄表示。 因此,總之’左邊側與右邊側之間的一致性之表為如 下: 原始位元 聚結位元 0 0 1 1 2 1 3 0 4 0 5 3 6 2 7 1 8 2 9 2 10 3 11 0 12 3 13 1 14 1 聚結位元有效地將附近目的地區及在自始發區的相同角 度扇形(angle sector)中之目的地區分組,如圖13中所說 明。 圖13中之陰影指不被聚結在一起之區之群組。2個圖(亦 即’圖13a及圖13b)展示自2個不同始發區:入及3之觀點聚 結的相同區。哪些區被聚結在一起取決於始發節點之區 ID ’如由該圖所展示。在此圖中,8個區被聚結成4個群 組。自此等圖中之始發區A或始發區B之觀點,聚結位元 不同。注意垂直條狀區(1300)如何被聚結的,因為當自始 150831.doc •88· 201211509 發區A觀看時,其處於同一方向上。 圖14十進一步舉例說明此,圖Μ說明聚結位元將附近目 的地區及自每一始發區的觀點而言的在+/_相同角度扇形中 的目的地區分組。 在聚結位之後’每—區之位元向量之要編碼之位元的 數目:同。在(例如)荷蘭’比利時及盧森堡255個區的狀況 下,每一區之位元向量之位元數目為: 始發區-> 聚結之位元 1 ~> 57 2 -> 93 3 ~> 18 4 -> 12 5 -> 63 6 -> 75 •…剪斷·.. 251 -> 21 252 -> 46 253 -> 117 254 -> 80 該方法為準確的(其並非試誤式的)。因此,其找到位元 之群組之理想數目。 在一貝施例中,以無損失方式實施聚結位元:僅當區 總是具有相同位元時才聚結該等區。但在其他實施例中, 此可延伸至使得聚結位元有損失;亦即,使得完全恢復原 始資料為不可能的。此等有損失實施例可引入臨限值(亦 即’,近性之量測):若一對位元之差異小於X倍,則在位 疋向里中《些位凡向量中替換一或多個〇允許彼等位 元向量被聚結的情況下’可聚結該等位元。因A,在一些 實施例中,實質上相關之位元執行此聚結。 此有損失水結之一實例將為使〇〇〇〇〇〇1 1⑼與⑼⑼⑼1 1 1〇 150831.doc -89- 201211509 聚結。此方法之一優點為,資料被更好地壓縮,但缺點 為,使用該等位元向量之路徑選擇方法將評估其他道路 段,因為額外的1將指示一道路段為最快速路線之部分。 在無損失聚結之狀況下,臨限值為〇。增加該臨限值將 允許聚結其他區,而代價是將少數幾個位元丨引入位元向 置中。但若臨限值被保持為低的,則其將對可使用該資料 格式執行路徑選擇之速度幾乎沒有影響。舉例而言,若在 數千個位元向里中2個位元幾乎總是相同(除了(例如)僅J個 位元向量《外),則變更此唯一位元向量之不同處以使得 有可能聚結更多位元可能為可接受的。臨限值愈高,可預 期愈多地圖壓縮。 位元重新排序 在t實加例中,-旦位元已被聚結(如上文所描述), 則可將位元重新排序。將位元重新排序並不(在霍夫曼編 碼之前)減少要編碼之位元之數目,而是有助於使得霍夫 曼編碼更有效率’#而減小地圖大小’且亦可有助於減小 位元向量霍夫曼碼中之相異碼之數目,從而減小霍夫曼樹 之記憶體要求。 與位元聚結不同,位元重新排序為試誤式方法所以其 可找到-種好的重新排序’但其未必可找到最佳的重新排 序。 按區塊編碼位元向量。區塊大小為可定製的,且儲存方 地圖標頭800中。在下文給出之解釋中,且作為一實例, 將區塊大小設定為η個位元。位元向量中之位元之數" 150831.doc •90· 201211509 能不可被11除盡,所以最後的區塊可能小於11個位元。最 後的區塊使用與具有11個位元之完整區塊所使用的霍夫曼 樹不同的霍夫曼樹。編碼每·一位元向量因此編碼: •使用針對11位元區塊(在此實例中)之霍夫曼碼之若 干完整區塊 •當剩餘的位元小於11個時可使用另一霍夫曼碼之最 後1個區塊。 以下圖片描繪要按區塊進行霍夫曼編碼之位元,其中位 元向量'在2個區(其在聚結之後具有不同數目個位元)中: < 完整的區塊 > < 完整的區塊 > 最後的區塊The title of the right part of the table shows which bit in the left part of the table constitutes a 4-bit coalescing vector. For the sake of clarity, the first bit of the 4-bit coalescing vector represents the first, third, and ninth blocks of the left portion. Therefore, since the second part (ie, the 15-bit original vector) of the above example is the 150831.doc-87. 201211509 bit, the 3rd bit, and the 9th bit are always the same, it can be obtained from the above table. The first column on the right side is indicated. Therefore, the table of consistency between the left side and the right side is as follows: The original bit coalescing bit 0 0 1 1 2 1 3 0 4 0 5 3 6 2 7 1 8 2 9 2 10 3 11 0 12 3 13 1 14 1 The coalescing bit effectively groups nearby destinations and destination areas in the same angular sector from the originating zone, as illustrated in Figure 13. The shading in Figure 13 refers to the group of zones that are not coalesced together. The two maps (i.e., 'Fig. 13a and Fig. 13b) show the same area clustered from the two different origin regions: the entry and the 3 perspective. Which zones are clustered together depends on the zone ID of the originating node as shown by the figure. In this figure, eight zones are clustered into four clusters. The coalescing bits are different from the viewpoint of the originating area A or the originating area B in the figures. Notice how the vertical strips (1300) are coalesced because they are in the same direction when viewed from the beginning of the 150831.doc •88·201211509 area A. This is further illustrated by Figure 14, which illustrates the coalescing bins grouping nearby regions of interest and destination regions in the +/_ same angular sector from the perspective of each originating region. The number of bits to be encoded in the bit vector of each zone after the coalescing bit: the same. In the case of, for example, the 255 districts of the Netherlands 'Belgium and Luxembourg, the number of bits of the bit vector for each zone is: originating zone -> agglomerated bit 1 ~> 57 2 -> 93 3 ~> 18 4 -> 12 5 -> 63 6 -> 75 •...shear ·.. 251 -> 21 252 -> 46 253 -> 117 254 -> 80 This method is Accurate (it is not trial and error). Therefore, it finds the ideal number of groups of bits. In a case, the coalesced bits are implemented in a lossless manner: the regions are only coalesced when they always have the same bit. In other embodiments, however, this can be extended to cause loss of coalescence bits; that is, it is impossible to fully recover the original data. Such lossy embodiments may introduce a threshold (ie, 'near measure'): if the difference between a pair of bits is less than X times, then in the bit 疋 in the "some bits of the vector, replace one or In the case where multiple 〇 allow their bit vectors to be coalesced, the equal bits can be coalesced. Because of A, in some embodiments, substantially related bits perform this coalescence. An example of this lossy water junction would be to coalesce 〇〇〇〇〇〇1 1(9) with (9)(9)(9)1 1 1〇150831.doc -89- 201211509. One advantage of this approach is that the data is better compressed, but the disadvantage is that the path selection method using the bit vector will evaluate the other road segments because the extra 1 will indicate that a road segment is part of the fastest route. In the case of no loss coalescence, the threshold is 〇. Increasing this threshold will allow coalescing other zones at the cost of introducing a few bits into the bit orientation. However, if the threshold is kept low, it will have little effect on the speed at which path selection can be performed using this data format. For example, if two bits in the thousands of bits are almost always the same (except for, for example, only J bit vectors "outside), then the difference in this unique bit vector is changed to make it possible Aggregating more bits may be acceptable. The higher the threshold, the more map compression is expected. Bit Reordering In the t-plus case, if the bit has been coalesced (as described above), the bits can be reordered. Reordering bits does not reduce the number of bits to be encoded (before Huffman coding), but helps to make Huffman coding more efficient '#and reduces the size of the map' and can also help The number of distinct codes in the bit vector Huffman code is reduced, thereby reducing the memory requirements of the Huffman tree. Unlike bit coalescing, bit reordering is a trial and error method so it can find a good reordering' but it may not find the best reordering. The bit vector is encoded by block. The block size is customizable and is stored in the icon header 800. In the explanation given below, and as an example, the block size is set to n bits. The number of bits in the bit vector " 150831.doc •90· 201211509 can not be divided by 11, so the last block may be less than 11 bits. The last block uses a different Huffman tree than the Huffman tree used for the complete block of 11 bits. The encoding per bit vector is therefore encoded: • Uses several complete blocks of Huffman code for an 11-bit block (in this example) • Use another Hough when the remaining bits are less than 11 The last block of the Manchester code. The following picture depicts the bits to be Huffman-encoded by block, where the bit vector 'in 2 regions (which have a different number of bits after coalescing): <complete block>< Complete block > last block

<----完整的區塊----> <----完整的區塊——> <----完整的區塊----> 每一區皆具有霍夫曼樹將很可能在記憶體方面成本過於 高昂。所以在一些實施例中,所有區共用同一霍夫曼樹。 由於在每一區中相關位元為不同的,故將每一區中之位元 重新排序以使得在所有區中相關位元被系統地置放於相同 位置處是有利可圖的。所以跨越所有區共用霍夫曼樹變得 更有效率。 150831.doc -91 - 201211509 將用來將每一區之位元番叙Μ & 、 位70重新排序之表儲存於地圖資料 中。注意,無需編碼單獨的用以使 民m兀眾結之表及用以將 位元重新排序之表,而是可改為僅編碼!個表,其為兩種 ㈣(聚# + ί㈣序)之合成物(eQmpGsiti〇n卜 將完整區塊中之位元重新排序之方法按如下方式進行· 對於每-區,找到最相關的位元對。由於完全_之位元 已被聚結,故剩餘位元皆為不完全相關的,,一些位 元對比其他位元對相關得多。在第一士 一 少牡弟兀整區塊中,將最相 關之位元對(a,b)重新映射至位元#〇及#1 :<----Complete block----><----Completeblock-><----Completeblock----> Each area Having a Huffman tree will most likely be too costly in terms of memory. So in some embodiments, all zones share the same Huffman tree. Since the associated bits are different in each zone, it is advantageous to reorder the bits in each zone so that the associated bits are systematically placed at the same location in all zones. So sharing Huffman trees across all zones becomes more efficient. 150831.doc -91 - 201211509 The table that will be used to reorder the bits and numbers of each zone and place 70 is stored in the map data. Note that there is no need to code a separate table for the public and a table to reorder the bits, but instead encode only! A table, which is a composite of two (four) (poly # + ί (four) orders) (eQmpGsiti〇nb reorders the bits in the complete block as follows) For each-zone, find the most relevant bit Yuan. Since the complete _ bits have been coalesced, the remaining bits are not completely related, and some bits are much more relevant than other bits. Remap the most relevant bit pairs (a, b) to bits #〇 and #1 :

/於分組最相關之位元對,故完整區塊之霍夫曼樹具有 較少相異碼(此具有使用車交少記憶體來儲存資料之優點), 且統計資料為更偏斜的(使得霍夫曼編碼更有效率)。在絕 大多數狀況下,前2個位元(例如)含有⑼或丨丨,但幾乎從來 而非含有位元之隨機 ,前2個位元將含有 不含有10或01(其他位元亦是如此), 序列。在未將位元重新排序的情況下 各種各樣的型樣〇〇、01、1〇、n。 在將前2個位元重新映射之後,方法接著找到下一最相 關的(c,d)位元對’且重新映射其以將其儲存於第二區塊 之前2個位元中:/ The most relevant bit pair in the group, so the Huffman tree of the complete block has fewer dissimilar codes (this has the advantage of using the car to store less memory to store data), and the statistics are more skewed ( Make Huffman coding more efficient). In the vast majority of cases, the first 2 bits (for example) contain (9) or 丨丨, but almost never contain random bits, the first 2 bits will contain no 10 or 01 (other bits are also So), the sequence. In the case where the bits are not reordered, various patterns 01, 01, 1〇, n are used. After remapping the first 2 bits, the method then finds the next most relevant (c, d) bit pair' and remaps it to store it in the 2 bits before the second block:

接著,方法再一次找到下一最相關的(e, f)位元對,且重 150831.docNext, the method again finds the next most relevant (e, f) bit pair and weighs 150831.doc

S •92· 201211509 新映射其以將其儲存於第三區塊之前2個位元中:S •92· 201211509 Newly maps it to store it in 2 bits before the third block:

當到達最後的完整區塊時,該方法返回至第一個完整區 塊且重新映射下一最相關的位元對(g,h)。若若干對具有 相同相關性,則連結斷路器(tie breaker)選擇與同一區塊中 之前一對最相關的對(亦即,與(a,b)最相關的對): ! a b g h , . . . . . .led.........| e f.........| >t κ x | 演算法方法如上述繼續進行直至完整區塊中之所有位元 對已被重新映射: |ab g h m n s t y z . j c d i j ο ρ υ v A B . | e f k I q r v; x C D . | x >: x | 在此實例中,由於區塊大小具有奇數個位元(11個位 元),故每一完整區塊中仍存在未經重新映射之位元。該 方法接著找到與「Z」最相關之位元,且將其儲存於第一 區塊中。接著找到與B最相關之位元且將其儲存於第二區 塊中,等等,直至所有完整區塊皆被重新映射: +.«» as: wra».os ass sk s«.Ka3K·.»»:«·«»swwsksskterra's»-f «KWKWiKsas wasesssssa:«β.τκ a* s«.rs:»B..;!2r.»»sa.sK. +sa.ss. ssss·?» «κ ssaaas «saasssssraa «sas; etees-aa es 4------+ I a b g h m n. s t y z EI c d i j o p u v A B F | e f h I q i: w x C D G1 κ x x | .此時,完整區塊中之所有位元被重新映射。該方法接著 重新映射最後的區塊中之位元,試圖分組最相關之位元對 (如針對完整區塊所進行)。將最後的區塊中之位元重新排 序可有助於減小地圖大小,但其並不像將完整區塊中之位 元重新排序一樣有幫助,此係由於2個原因: 150831.doc -93 - 201211509 •完整區塊為更重要的。在此實例中,每一碼對於完 整區塊使用3個霍夫曼碼,而其對於最後的區塊僅 使用1個霍夫曼碼,所以完整區塊比最後的不完全 的最後區塊對總地圖大小的貢獻更大為正常的,且 最佳化完整區塊之霍夫曼編碼為更有用的。 •由於已挑選完整區塊中之所有最相關的位元來重新 映射其’故最後區塊中剩下的待重新映射之位元為 較不相關的。所以最後區塊中之位元之熵因此高於 完整區塊中之位元之熵。換言之,最後區塊之霍夫 曼編碼不如完整區塊之霍夫曼編碼有效率。When the last complete block is reached, the method returns to the first complete block and remaps the next most relevant bit pair (g, h). If several pairs have the same correlation, the tie breaker selects the pair that is most relevant to the previous pair in the same block (ie, the pair most relevant to (a, b)): ! abgh , . . . . .led.........| e f.........| >t κ x | Algorithm approach continues as described above until all bit pairs in the complete block Has been remapped: |ab ghmnstyz . jcdij ο ρ υ v AB . | efk I qrv; x CD . | x >: x | In this example, the block size has an odd number of bits (11 bits) ), so there are still unmapped bits in each complete block. The method then finds the bit most relevant to "Z" and stores it in the first block. Then find the bit most relevant to B and store it in the second block, and so on, until all the complete blocks are remapped: +.«» as: wra».os ass sk s«.Ka3K· .»»:«·«»swwsksskterra's»-f «KWKWiKsas wasesssssa:«β.τκ a* s«.rs:»B..;!2r.»»sa.sK. +sa.ss. ssss·?» «κ ssaaas «saasssssraa «sas; etees-aa es 4------+ I abghm n. styz EI cdijopuv ABF | efh I qi: wx CD G1 κ xx | . At this point, all bits in the complete block The meta is remapped. The method then remaps the bits in the last block, attempting to group the most relevant bit pairs (as done for the full block). Reordering the bits in the last block can help reduce the map size, but it is not as helpful as reordering the bits in the full block for two reasons: 150831.doc - 93 - 201211509 • The complete block is more important. In this example, each code uses 3 Huffman codes for the complete block, and it uses only 1 Huffman code for the last block, so the complete block is the last incomplete last block pair. The contribution of the total map size is greater as normal, and it is more useful to optimize the Huffman coding of the complete block. • Since all the most relevant bits in the complete block have been picked to remap them, the remaining bits to be remapped in the last block are less relevant. Therefore, the entropy of the bit in the last block is therefore higher than the entropy of the bit in the complete block. In other words, the Huffman coding of the last block is not as efficient as the Huffman coding of the complete block.

應§己住,對於所有區之所有完整區塊使用同一霍夫曼 树。在上述貫例中編碼位元向量因此以相同霍夫曼碼編碼 所有完整區塊,且最後以不同霍夫曼碼編碼最後的區塊: • ssa a® as 霉雄额撕取;,雄路敢筑篇+ ^t>ghmnstyzE| (使用相同霍夫曼碼之3個完整區塊) |cdij〇pUVABF|Should be § live, use the same Huffman tree for all complete blocks in all zones. In the above example, the bit vector is encoded so that all the complete blocks are encoded with the same Huffman code, and finally the last block is encoded with a different Huffman code: • ssa a® as moldy torment; Dare to build + ^t>ghmnstyzE| (using 3 complete blocks of the same Huffman code) | cdij〇pUVABF|

lefklqrwxCDGI ~r rssa ss 结押 as in «5Γ·! π rsrB; + — — — + (使用另一霍夫曼碼之最後1個區塊) 當看到上述圖時,該方法重新映射每一區塊之第一位元 (而非在跳至第二區塊之前重新映射第一區塊中之所有位 元)的原因應更清楚。由於針對所有完整區塊使用相同 15083I.doc -94- 201211509 碼,故需要使所有區塊之所有碼儘可能相同。若重新映射 第-區塊中之所有位元,接著重新映射第二區塊中之所有 位元(等等)’則每一區塊將具有十分不同之型樣:第一區 塊將具有最相關之位^,第二區塊將具有較不相關之位 元,第三區塊將具有更不相關之位元,等等。將有可能針 對完整區塊之每-行產生若干霍夫曼碼,但據信彼做法在 記憶體方面成本過於高昂。目前為止所概述之方法在使所 有完整區塊共關-霍夫曼碼的同時運作良好。 可能的其他最佳化 以便進一步壓縮資料之 此節描述可在其他實施例令使用 最佳化。 頁之頁 頁資訊儲存-差異攔位,其用以㈣每m向量頁之 開始偏移。使用偏移之線性内插器(linear⑹—圳來 儲存差異缝。但料偏移並非料線性的,因為小節點 m(等級〇,高速公路)周圍的位元向量比高節_(等級$, 目的地道路)周圍的位元向量需要更多位元。圖15之圖展 不了具有_個區的荷_ ’比利時及盧森堡之地圖之差異 攔位。 位TL向量頁資訊之編碼不像可能期望地—樣有利,因為 内=器不能精確地預測實際偏移。藉由改良内插器,將有 可此改良位凡向量頁資訊表之編碼以使其更有效率。 々本發明之—些實施例可使用具有2個等級而非僅具有1個 等級之位TL向量頁(及可能地,區頁)。可將用以分組資料 150831.doc -95- 201211509 之八有2個節點之頁(稱其為子頁)分組成具有2N個子頁之 頁。 因而’將按頁而非全域地(於標頭中)儲存線性内插參 數。舉例而t ’索弓1等級2可能早先將24=16個節點分組於 子頁中,且索引i可*將2i〇:=1〇23個彼等子頁分組於頁 中。接者針對1〇24x16=16K個節點而非對全部節點計數(在 歐洲及俄羅斯的地圖中之50,〇〇(),刪個節點)發生線性内 插所以對可變大小偏移之線性内插變得精確得多且索引 2中之差異搁位因此較小。 在頁為大的情況下,額外索引! $ 士,& , , d α 只•乐W丄之大小為小的(小到足以 裝入記憶體中)。能夠裝人梦署 T ; J衣八哀置之s己憶體内為有利的,因 為其不應減緩使用該資料之路徑選擇。可接著針對索引i 表中之每-輸入項儲存平均頁大小,而非將平均頁大小儲 存於標頭中。 具有2ΛΝ個子頁 具有2Λη個節點 之索引1頁 之索引2子頁 +------+ ........> ------------ 1 I 丨頁〇 丨----->+__________ +-------+·.·.+ -----------lefklqrwxCDGI ~r rssa ss jail as in «5Γ·! π rsrB; + — — — + (using the last block of another Huffman code) When seeing the above figure, the method remaps each zone The reason for the first bit of the block (rather than re-mapping all the bits in the first block before jumping to the second block) should be clearer. Since the same 15083I.doc -94- 201211509 code is used for all complete blocks, it is necessary to make all the codes of all blocks as identical as possible. If you remap all the bits in the block, then remap all the bits in the second block (and so on), then each block will have a very different pattern: the first block will have the most The associated bit ^, the second block will have less relevant bits, the third block will have more unrelated bits, and so on. It will be possible to generate several Huffman codes for each line of the complete block, but it is believed that the cost of memory is too high. The method outlined so far works well while making all the complete blocks share the Huffman code. Possible other optimizations to further compress the data This section describes the optimizations that can be used in other embodiments. Page Page Page Information Storage - Difference Block, which is used to (4) start offset per m vector page. Use the linear interpolator of offset (linear) to store the differential slits. However, the material offset is not linear, because the bit vector around the small node m (level 〇, highway) is higher than the high _ (level $, The bit vector around the destination road) requires more bits. The graph in Figure 15 does not show the difference between the maps of the Netherlands and the map of Belgium and Luxembourg. The encoding of the bit TL vector page information is not as expected. The ground is advantageous because the inner = cannot accurately predict the actual offset. By modifying the interpolator, there will be a code that can improve the vector page information table to make it more efficient. An embodiment may use a bit TL vector page (and possibly a page page) having 2 levels instead of only 1 level. A page with 2 nodes for grouping data 150831.doc -95 - 201211509 may be used. (referred to as subpages) are grouped into pages with 2N subpages. Thus 'linear interpolation parameters will be stored by page rather than globally (in the header). For example, t's bow 1 level 2 may be 24 = 16 nodes are grouped in subpages, and index i can *2i〇 :=1〇23 subpages are grouped in the page. The receiver is for 1〇24x16=16K nodes instead of counting all nodes (50 in the maps of Europe and Russia, 〇〇(), delete nodes Linear interpolation occurs so linear interpolation for variable size offsets becomes much more accurate and the difference in index 2 is therefore smaller. In the case of large pages, extra index! $士,& , , d α only • Le W丄 is small in size (small enough to fit into the memory). It can be loaded with a dream of T; J clothing is sorrowful, it is beneficial, because it should not Slow down the path selection using this data. You can then store the average page size for each entry in the index i table instead of storing the average page size in the header. There are 2ΛΝ subpages with 2Λn nodes index 1 page Index 2 subpage +------+ ........> ------------ 1 I Page 〇丨----->+__________ + -------+·.·.+ -----------

I I · 丨頁1 丨 | 2Λη個始發I + --------- 節點之可變| !______| '頁2 ! ,大小資料|I I · 1 1 丨 | 2Λη originating I + --------- Node variable | !______| 'Page 2 ! , size data |

十 · 十 ** ~ -I _ 十 ------------ τ.*— 一_ — — 一+ I 頁 256 | --------- I 頁 257 | + 一 一 — — 一一.—. -4- s 150831.doc •96· 201211509 父錯位元向量頁 文所描述,頁偏移之内插 道路(許多非平凡旌pm D為不精確的,因為重要 V T夕并十凡旗標)及次要道 向量為不Πίή ^ σ夕平凡旗標)之位元 里為不同的。使内插器更線性之 網路等級之頁交錯,且此可在太私:早方式為使不同 、^ 么明之貫施例中使用。 以上實施例巾所描述之檔案儲存以下頁. #0 只. #1 #2 #3 §4 弈π -3 #.η-2 frri -1 有可能以交錯之方式儲 在可能更有效之其他實施例中 存如下: #〇Ten·10** ~ -I _ ten ------------ τ.*—one _ — — one + I page 256 | --------- I Page 257 | + One-to-one.—. -4- s 150831.doc •96· 201211509 The parent misplaced vector page describes the interpolated path of page offsets (many non-trivial 旌pm D is inaccurate because important The VT eve and the tenth flag) and the secondary road vector are different in the position of the Π ή ή σ 平 平 旗 旗 flag. The pages of the network level that make the interpolator more linear are interlaced, and this can be too private: the early mode is used to make different and different examples. The files described in the above embodiment are stored on the following page. #0只. #1 #2 #3 §4 ππ -3 #.η-2 frri -1 It is possible to store in a staggered manner in other implementations that may be more effective. The example is as follows: #〇

#n-I #1 #π —2 #2 # π-3 #3 #η-4 為了存取頁#χ(例如由路線規劃應用程式),藉由載入頁 #x'而存取該頁,其中: • Χ’ = 2χχ(其中X為偶數) • x' = 2x(x-(n-l))(其中 X為奇數) 此實施例應為有利的,因為其將使索引之大小每頁減小 若干位元。然而,資料可能對於快取而言分組地較差,此 150831.doc •97- 201211509#nI #1 #π —2 #2 # π-3 #3 #η-4 To access page #χ (for example, by the route planning application), access the page by loading page #x', where : • Χ' = 2χχ (where X is an even number) • x' = 2x(x-(nl)) (where X is an odd number) This embodiment should be advantageous because it will reduce the size of the index by a few per page Bit. However, the data may be poorly grouped for the cache, this 150831.doc •97- 201211509

可月減緩資料存取(在檔案系統快取記憶體中較少命中)。 不儲存所有節點之區ID *不f要儲存無出口的路處之節點及具有2個所附接道路 段之節點之區ID。對於路徑選擇而言,可忽略此等節點。 進入此等即點中之一者可被轉換成進入其鄰居決策節點。 在頁等級處及/或節點等級處儲存額外資訊 ,查看地圖資料’存在許多僅含有平凡位元向量000.·._ 或11 ι.._ιιι之位凡向量頁。一些實施例可能針對每一頁儲 存1位元以標記彼等頁,則儲存彼等頁中之位元向量可為 更有效率的,因為對於每一位元向量僅需要單一位元來指 示其為_.,._或是"L·⑴。其不僅將減小僅含有平凡 位兀向量之頁之大小’而且其亦將使具有非平凡位元向量 ,頁的位元向量碼的霍夫曼樹得到更好的最佳化(因為彼 等碼,頻率將在百分比方面顯著增加,所以用來指示非平 凡向S之位元數目將減小)。在較精細網路等級(例如,等 級3)中,大多數頁僅含有平凡位元向量,所以在該等頁的 約一半頁中可能每頁僅存在〗個位元向量。 僅儲存決策節點處之位元向量 如上文所論述,一些實施例可能不儲存具有W個所附 接道路段的節點之位元向量。然而,其他實施例可為更積 極的’且將該想法推廣為僅儲存決策節點周圍之位元向 量。 引入決策節點及決策道路段之概念,因為其可在編碼地 圖資料的程序中為有利的:不需要編碼非決策道路段之位Monthly data access can be slowed down (less hits in file system cache memory). Do not store the zone IDs of all nodes *Do not store the node ID of the node with no exit and the zone ID of the node with 2 attached road segments. For path selection, these nodes can be ignored. Entering one of these points can be converted into entering its neighbor decision node. Store additional information at the page level and/or node level. View map data. There are many vector pages that contain only the ordinary bit vector 000.·._ or 11 ι.._ιιι. Some embodiments may store 1 bit for each page to mark their pages, then storing the bit vector in those pages may be more efficient because only a single bit is required for each bit vector to indicate Is _.,._ or "L·(1). Not only will it reduce the size of the page containing only the ordinary bit 兀 vector, but it will also better optimize the Huffman tree with the non-trivial bit vector, the bit vector code of the page (because they are better) The code, the frequency will increase significantly in percentage, so the number of bits used to indicate non-trivial to S will decrease). In finer network levels (e.g., level 3), most pages contain only trivial bit vectors, so there may be only one bit vector per page in about half of the pages. Storing only the bit vector at the decision node As discussed above, some embodiments may not store the bit vector of a node with W attached road segments. However, other embodiments may be more proactive and extend the idea to storing only the bit vector around the decision node. Introduce the concept of decision nodes and decision road segments, as it can be advantageous in programs that encode map data: there is no need to code non-decision road segments

S 150831.doc -98- 201211509 元向量,如現在所論述。 •決策節點為_筋 # . 即點,其中存在用於路徑選擇 道路段,你 >日a 使仵存在離開該節點(而不進行 之多個選擇。 4 ) 非決策節點是並非決策節點之節點。所以不管路徑 、擇來自那理’總是僅存在—條離開該節點之道 •決朿道路段為用以離開決策節點之合法的道路段。 •非決策道路段是並非決策道路段之道路段。 斤有决朿道路段因此在決策節點周圍。但並 點周圍的所有道路段皆 、朿即 ^ >、 白為决威道路段。在非決策節點周圍 的所有道路段為非決策道路段。 .將僅編碼決策道路段之位元向量。非決策道路段之位元 夏為隱含的或⑴·.."”,因為使用該資料之 :植選擇技術可根據已存在於道路段中之資訊而作出確 定。 如何確定一節點是否為決策節點?可將準則縮減為: isDecisionNode^HneCount^) && (lineGoi„g〇utC〇unt >^2) 其中: 之線路之總數 之線路類型(鐵路、參考 lineCount .為附接至節點 線 忽略不可進行路徑選擇 路), 忽略在兩個方向上封閉夕& m 对閉之線路且忽略禁止通行之道路 (住宅區域)。 150831.doc •99· 201211509 lineGoingOutCount :為附接至節點的可合法選取以用 於離開該節點的線路之數目。 選取一道路段以離開該節點是否為合法的視道路段屬性 而定: •道路段類型(鐵路及參考線路始終為非法的) •道路之前向/後向流動(儲存於道路段旗標中) •道路段旗標中之禁止通行屬性(禁止通行道路段不 具有任何位元向量) 在一些實施例令,忽略非決策道路段可丟棄約略4〇%的 道路段。已發現’ &百分比為相當一致的而與地圖無關。 避免編碼40 /。的位元向量為有利的,但其節省了小於 的地圖大小,因為其主要移除平凡位元向量。 移除在具有小於3個所附接道路段之節點(虛設節點)周 圍的位元向量會移除非平凡位元向量,所以針對此類別的 非決策道路段的地圖大小節省可比針對非決策道路段之地 圖大小節省大。另一方φ,篩選需要解碼器(諸如,使用 地圖之路徑選擇方法)來解碼線路之道路段類型及道路段 旗標且對其應用邏輯以便弄清為隱含的位元向量,此可減 緩程序。 理_上貝施例亦可查看運動(亦即,轉彎限制)來決定 離開的道路段是否為合法的,但此技術添加複雜性。忽略 運動意謂實施例可能編碼比嚴格必需之位元向量多的:元 向量,但達成了方法之簡化。 非決策節點之實例S 150831.doc -98- 201211509 Metavector, as discussed now. • The decision node is _ 筋# . That is, the point where there is a road segment for the path selection, you > day a causes the 仵 to leave the node (without multiple choices. 4) The non-decision node is not the decision node node. So regardless of the path, the choice from the rationale 'always only exists' - the way to leave the node. The decision road segment is the legal road segment used to leave the decision node. • Non-decision road segments are road segments that are not decision road segments. Jin has a road section that is therefore around the decision node. But all the road sections around the point are, ^^, gt; white is the road section of the deterrent. All road segments around non-decision nodes are non-decision road segments. Only the bit vector of the decision road segment will be encoded. The non-decision road segment is implicit in the summer or (1)·.."", because the use of this information: plant selection technology can be determined based on the information already existing in the road segment. How to determine whether a node is Decision node? The criteria can be reduced to: isDecisionNode^HneCount^) && (lineGoi„g〇utC〇unt >^2) where: the total number of lines of the line (railway, reference lineCount. attached to The node line ignores the path selection path that is not possible, and ignores the closed circuit in both directions and ignores the prohibited road (residential area). 150831.doc •99· 201211509 lineGoingOutCount : The number of lines that are attached to the node that can be legally selected for leaving the node. Select a road segment to leave the node as a legal sight segment attribute: • Road segment type (railway and reference lines are always illegal) • Road forward/backward flow (stored in the road segment flag) • Prohibited Passage Attributes in Road Segment Flags (No Pass Road Segments Do Not Have Any Bit Vectors) In some embodiments, a non-decision road segment may be discarded to discard approximately 4% of the road segments. The ' & percentages have been found to be fairly consistent and not related to the map. Avoid coding 40 /. The bit vector is advantageous, but it saves less than the map size because it primarily removes the trivial bit vector. Removing a bit vector around a node (dummy node) with less than 3 attached road segments removes the non-trivial bit vector, so the map size savings for non-decision road segments of this category are comparable to for non-decision road segments The map size is large. The other party φ, the filter requires a decoder (such as using the path selection method of the map) to decode the road segment type and the road segment flag of the line and apply logic to it to clarify the implied bit vector, which can slow down the program. . The _ upper shell example can also view the movement (ie, the turn limit) to determine if the exiting road segment is legal, but this technique adds complexity. Ignoring motion means that the embodiment may encode more than the strictly necessary bit vector: the meta-vector, but the simplification of the method is achieved. Non-decision node instance

S 150831.doc .100- 201211509 在此貫例中’(b)附接至可在兩個方向上通行之2個道路 段。(b)不為決策點,因為存在<=2個所附接道路段。 所以將不編碼離開節點(b)之兩個道路段的位元向量。 解碼器可隱含地將其設定成丨丨丨丨丨1。 δ >--b—<->—^ d 此實例中之箭頭〉展示合法之流動方向。㈨不為決策 因為僅存在—個出σ。所以(b)周圍的所有道路段皆不 需要位元向量。 不編碼離開節點⑻之道路段(b)_>(c)之位元 =地Γ1.··111。也不編碼離開(b)之非法道路段之位元 向I ’其將隱含地為〇〇〇 〇〇〇。 決策節點之實例 fS 150831.doc .100- 201211509 In this example, '(b) is attached to two road segments that can pass in both directions. (b) Not a decision point because there are <= 2 attached road segments. Therefore, the bit vector of the two road segments leaving node (b) will not be encoded. The decoder can implicitly set it to 丨丨丨丨丨1. δ >--b—<->—^ d The arrow in this example shows the legal flow direction. (9) Not for decision-making Because there is only one-out σ. Therefore, (b) all road segments around do not require a bit vector. The bit of the road segment (b)_>(c) that leaves the node (8) is not coded = the cell 1.1·111. Nor does it encode the bits of the illegal road segment leaving (b) to I ’ which will be implicitly 〇〇〇 〇〇〇. Example of a decision node f

I d (b)為決策節點,因為當來自(d)時,存 選擇可朝向(a)或朝向(c)繼續。 子在—選擇:路徑 注意,在此實例中,當來自(a)時沒… 僅可朝向(c)繼續。但節點(b)仍為決策節黑、.路徑選擇 來自⑷時的至少-個選擇’所以應儲…因為㈣ 仔郎點周圍的2個 150831.doc -101 - 201211509 決策道路段之位元向量。 儲存道路段(b)->(a)及道路段(b)->(a)之位元向量,因為 其為決策道路段。 不儲存道路段(b) ->(d)之位元向量,因為根據交通之後 向/前向流動,選取此道路段為非法的。其隱含地為 000…000 ° 對位元向量取邏輯或 假設節點具有3個所附接道路段,且前2個經解碼之道路 段具有以下位元向量: 00000000000000000000 〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇 則第三個位元向量不需編碼,因為其僅可為: 1111II11111111111111 此僅可在節點周圍的道路段之位元向量碰巧呈此次序時 起作用:所有位元向量為〇〇〇..〇〇〇且最後一個位元向量為 1 11... 111。在實務上,看來其相當頻繁地發生在較精細等 級(例如,等級3)網路(其為大多數道路段所在之處)中。 將前2個位元向量取為: 00000000000000000110 00000000000000000010 則除了為未知的且需要以某種方式編碼之2個位元之 外,第三位元向量的所有位元僅可設定成1。 11111111111111111??! 由於在上述實例中,已知曉大多數位元,故應可能使用 此貧訊比編碼整個位元向量更有效率地編碼該2個未知位 150831.doc -102- 201211509 元。因此,在此實例中,僅必需編碼2個位元。 使用此性質之可能的快 巧方案將為错由對道路段中 •t好Γ的位元向量進行邏輯或運算來計算當前節點之 道路Μ的所有經解碼之位元向量之位以軍。在使用與 早先之貫例相同之實例的情況下,若-節點具有3個所附 接道路段,且若先前2個道路段具有以下位 〇0000000〇〇〇〇〇〇〇〇〇11〇 ^ 〇〇〇〇〇〇〇〇〇.〇〇〇〇〇〇〇〇〇1〇 …則邏輯或位元遮罩為: 00000000000000000110 將節點周圍的要編碼的第三個及最後的位元向量取作: 只要滿;i以下條件,編碼器可自由編碼任何其他碼 (otherCode),而非編碼該 11111111111111111〇〇1之霍夫曼 碼(其可為罕見的): v/alu.e_to_encode =〜bitEask j otherCode ο 在此貫例中 ’ 〇therCode = 000000〇〇〇〇〇〇〇*〇〇〇〇〇〇〇 符合 要求,因為: ^ - 11ϋ11ιΐ1ΐιιχιι110ί}1 ^ -ίί〇ϋ00ϋ000ϋ0ϋ〇*〇ϋ〇〇ιι〇 | ϋ^υ〇〇0^υϋϋ〇ϋ〇>〇〇υϋ0ϋϋ 編碼 〇〇〇〇〇〇〇〇〇〇〇000000000 比編碼 11111111111111111〇〇1 有效率得多,因為〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇〇頻繁地多。解碼 為快速的’因為解碼僅需要每當其解碼位元向量時計算位 元遮罩(邏輯或運算)且將該位元遮罩應用於最後的經解碼 之位元向量: 150831.doc •103- 201211509 實際位元向量=位元遮罩&經解碼之位元向量 =-000000000000000()()] 1() & 〇〇()〇〇〇〇〇〇〇〇〇〇()〇〇〇〇〇〇 =1Μ1ΠΠΜ1Μ1111001 在節點周圍的道路段經儲存以使得在位元向量中具有最 多1的一道路段處於末端區處的情況下,此最佳化運作良 好。然而,此可證明為困難的: •在計算位元向量之前執行對節點周圍的道路段之分 類(除非由果及因地(a p0steri〇ri)使用位元向量資訊 來重新編碼) •已根據道路名稱對道路段分類。有可能在道路名稱 被識別時對節點周圍的道路段分類。 使用網路等級 除了該等區之等級之外,根據道路段等級將地圖資料内 之道路段分類。在始發節點周圍的位元向量與道路段網路 等級之間應存在強相關:選擇至另一區之路徑將通常偏好 選取尚等級道路段網路’例如,高速公路或其類似者。最 重要的道路段網路等級可能為高速公路等級,其可為等級 1 ° 以下實例描繪具有處於不同網路等級之道路段之交又 I 線路(2)-〉⑴在網路4處(重要) I 線路(2)-〉(3)在網路5處(次要) 位元型樣很可能為如下:I d (b) is the decision node because when it comes from (d), the save option can continue toward (a) or toward (c). Sub--Select: Path Note that in this example, when from (a) no... can only continue towards (c). But node (b) is still black for decision making, and path selection is at least one choice from (4)' so it should be stored... because (4) two 150831.doc -101 - 201211509 decision road segments around the point . The bit vector of the road segment (b)-> (a) and the road segment (b)-> (a) is stored because it is a decision road segment. The bit vector of road segment (b) -> (d) is not stored because it is illegal to select this road segment based on the forward/forward flow of traffic. It is implicitly 000...000 ° logically for the bit vector or assumes that the node has 3 attached road segments, and the first 2 decoded road segments have the following bit vector: 00000000000000000000 〇〇〇〇〇〇〇〇第The third bit vector does not need to be encoded, as it can only be: 1111II11111111111111 This only works when the bit vector of the road segment around the node happens to be in this order. : All bit vectors are 〇〇〇..〇〇〇 and the last bit vector is 1 11...111. In practice, it appears that it occurs quite frequently in a finer level (e.g., level 3) network (which is where most road segments are located). The first 2 bit vectors are taken as: 00000000000000000110 00000000000000000010 All bits of the third bit vector can only be set to 1 except for 2 bits that are unknown and need to be encoded in some way. 11111111111111111??! Since most of the bits are known in the above example, it should be possible to encode the 2 unknown bits 150831.doc -102-201211509 more efficiently using this lean ratio encoding the entire bit vector. Therefore, in this example, only 2 bits must be encoded. A possible fast scheme using this property would be to compute the position of all decoded bit vectors of the current node's road 以 by logically ORing the bit vector that is good for the road segment. In the case of using the same example as the previous example, if the node has 3 attached road segments, and if the previous 2 road segments have the following bits 〇 0000000〇〇〇〇〇〇〇〇〇11〇^ 〇 〇〇〇〇〇〇〇〇.〇〇〇〇〇〇〇〇〇1〇...The logical or bit mask is: 00000000000000000110 The third and last bit vector to be encoded around the node is taken as: As long as the following conditions are met, the encoder can freely encode any other code (otherCode) instead of encoding the 11111111111111111〇〇1 Huffman code (which can be rare): v/alu.e_to_encode =~bitEask j otherCode ο In this example, '〇therCode = 000000〇〇〇〇〇〇〇*〇〇〇〇〇〇〇 meets the requirements because: ^ - 11ϋ11ιΐ1ΐιιχιι110ί}1 ^ -ίί〇ϋ00ϋ000ϋ0ϋ〇*〇ϋ〇〇ιι〇| ϋ^υ〇〇0^υϋϋ〇ϋ〇>〇〇υϋ0ϋϋ The code 〇〇〇〇〇〇〇〇〇〇〇000000000 is much more efficient than the code 11111111111111111〇〇1 because 〇〇〇〇〇〇〇〇〇 Frequency To many. Decoding to fast 'because decoding only needs to calculate the bit mask (logical OR) whenever it decodes the bit vector and apply the bit mask to the last decoded bit vector: 150831.doc •103 - 201211509 Actual bit vector = bit mask & decoded bit vector = -000000000000000()()] 1() & 〇〇()〇〇〇〇〇〇〇〇〇〇()〇〇 〇〇〇〇=1Μ1ΠΠΜ1Μ1111001 This optimization works well in the case where the road segment around the node is stored such that a road segment having a maximum of 1 in the bit vector is at the end zone. However, this can prove to be difficult: • Perform a classification of the road segments around the nodes before calculating the bit vector (unless it is re-encoded using the bit vector information by the fruit and the ground (a p0steri〇ri)) The road name classifies the road segment. It is possible to classify road segments around a node when the road name is identified. Use network level In addition to the level of these areas, the road segments within the map data are sorted according to the road segment level. There should be a strong correlation between the bit vector around the originating node and the road segment network level: the path selected to another zone will typically prefer to select a graded road segment network', e.g., a highway or the like. The most important road segment network level may be the highway level, which can be used to describe the road segment with different network levels and the I line (2)->(1) at the network 4 (important) ) I line (2)->(3) at network 5 (secondary) The bit pattern is likely to be as follows:

S 150831.doc -104- 201211509 2 1 ????????*?·?,, 2 3 ???????????? 3 4 〇〇〇〇〇〇〇〇〇〇〇〇 不儲存在不重要道路段網路等級之節點之位元向量 除了在接近目的地或起點之處以外,路徑選擇幾乎從不 經過不重要的道路段網路等級(諸如,網路等級5)。因此, 有可能不儲存等級5處之位元向量,且因而,對路徑選擇 之影響應最小(即使在等級5處之道路段之數目較大的情況 下)。在大多數狀況下,路徑選擇將僅探索少數在路線之 開始或末端處的在最不重要的網路等級處之道路段,因為 其將迅速地到達一些更重要的道路段網路等級,且關於彼 等節點之搜尋加速資料將幾乎總是告知選路器(r〇uter)跳過 返回至最不重要的網路等級之導航段,並使用通向或繼續 停留在較重要的網路等級之導航段。此在最重要的網路等 級處為成立的’因為在目的地仍然遙遠時使用彼網路等 級。 除了丟棄最不重要的道路段(例如,等級5)處之位元向 量之外,亦可不編碼彼網路處之區ID。 將位元向量中之少數幾個〇轉換成1 此亦為有損失的壓縮方案。 若位元向量僅含有僅一個〇(或可能地,小於—小餘限 值)’則在產生以下結果的情況下將其轉換成1可為有可能 的(亦即,將彼道路段設定為最快速路線之部分): •平凡位元向量111…1 1 1 (因為以比編碼非平凡位元 向量緊湊之方式來編碼平凡位元向量) 150831.doc -105· 201211509 或已在當前位元向量頁之歷史中發現的位元向量 (因為彼等位元向量也被更有效地編碼) 將位元向昼中之0轉換成1並不影響路徑選擇結果,其僅 會由於使路徑選擇考慮更多道路段(因為其現在被設定為 最快速路線之部分)而使路徑選擇較慢。然而,本發明之 二實施例可使用此方法—尤其是在地圖節省為較大的, 同時在路徑選擇速度方面的效能影響(perf0rmance hit)較 小的情況下。 路徑選擇 圖15展*地圖16〇〇 ’丨覆蓋一區域且具有—開始節點 1602及一目的地節點16〇4以及已由先前技術八*搜尋方法探 索的複數個道路段。由虛線16〇6展示選定路線。 圖16展示地圖1650,其與圖15之地圖覆蓋相同的區域且 亦展示相同的開始節點16〇2及目的地節點16〇4。該圖亦醒 目提示使用本發明之實施例而探索的道路,其利用了與用 以產生圖15之路線者相同的道路網路及相同的準則(例 如,兩者皆乘汽車行進,希望將速度用作要最小化的成本 函數,等等)❶再一次以虛線16〇6展示由該方法選定之路 線,且應注意,該線路係與圖15中所計算之線路相同。因 而,應注意,藉由本發明之實施例計算之路線可為所謂的 數學上準確的,且可找到關於已被選擇以最小化之給定成 本模型之最好/最佳路線。因此,應顯而易見的是,當與 先前技術相比時,由本發明之實施例探索之道路段為顯著 較少的。因而,與先前技術V方法相tb,本發明之實施例 £ I50831.doc -106- 201211509 之方法為較迅速的,且通常顯著較迅速。 亦應'主思,隨著路線16〇6逼近目的地1604,與開始相 比’更夕路線被探索;亦即’當路線16〇6前進超過點丨652 時,探索除了最低成本路線之外的道路。此情況之一種解 釋為’该方法在點丨652處已自等級〇區切換至等級1區。應 進步看出,在目的地1604附近探索其他道路段。再一 次,可藉由注意料、線規劃方法將在此附近自^級丄切換 至專級2來解釋此情丨兄。 因此,當進行長程路徑選擇時,$常將僅存纟一條最快 速路線。&而’隨著方法切換至較精細等級(例如,自等 級〇至1) ’可能存在被標記為「最低成本」且因此需要被 揼索的一條以上路線。 可用於計算兩個點之間的路線。 圖Π展示藉由路線規劃應用程式探索網路之先前技術 ^法’其中在-節點處作出應進—步探索哪—道路段之決 東。為了達成此,將行進至下一節點之成本添加至自古亥下 -郎點移至目標的估計成本。接著進—步探索自給定節點 起:具有最小成本之路徑。該方法保持隨著該方法的進行 成:為止已招致的成本之總和,且在每—反覆處考慮最小 舉例而§ ,於節點B處開 B(開始節點)相距2個成本單 節點F之估計成本為3個單位 始,可看出,節點C與D皆與 位。然而,自節點D起,到達 ,且自節點C起,到達節點F之 15083l.doc -107· 201211509 估計成本為5個單位。因此,該A*方法將比探索至節點C之 路線更為優先地探索至節點D之路線,因為對於至節點D C路&而5 ’至下—即點之成本加至目標之估計成本較 小(亦即,BC=2+5 = 7,而 BD = 2 + 3 = 5)。 當考慮使用本發明之實施例之位元向量來執行路線規劃 日^每-道路段之位元(亦即,圖7之欄,識別哪些道路 段是至目的地區之最低成本路線之部分的候選者。因而, 將關於圖17所描述之A*方法修改成圖18中所展示者。 通常’使用位元向量執行路線規劃,如關於圖18所描 述。然而’本發明之一些實施例可允許在各種情況下使路 線規劃退回至,(或其他先前技術方法)。不同實施例可利 用以下各項中之任一者:遺漏位元向量資訊(藉此允許系 統甚至在不存在位元向量的情況下起作用);使用成本函 數;除了針對其計算了位元向量之成本函數之外的路徑選 擇(通常最快速路線,但未必如此);使用者指定了與用於 預先計算位元向量之彼等準則不同的準則(例士〇,使用者 希望避=高速公路);運輸工具類型不同於用於預先計算 位7C向罝之運輸工具類型(例如’使用者步行且不乘汽 車);及路線低於臨限長度(例如,路線之起點及終點在同 一區内)。 與圖17相比’在圖18上展示兩個額外數字刪、ΐ8〇ι。 另外’在該圖上以虛線⑽及刪來表示諸區。 麵指示道路段BD是自節點Β至目標節點所位於的區之一 個低成本路線之部分(如別處所描述,可能另外存在其他 150831.doc 201211509 低成本路線)。「〇」剛指示道路段BC不是自節點B至目 標節點所位於的區之任何低成本路線之部分。 因而,當自節點A開始時,本發明之實施例將使用上文 所概述之A*來從a起探索節點。然❼,一旦已到達節點 B ’則無需進—步使用該探索,因為存在僅道路段BD為最 低成本路線之可能部分的明確標記。因而,一旦A*方法已 被使用且找到最低成本路線,則其隨後將藉由查看位元向 量内之相關位元而選擇最低成本路線。 然而,若在不同時間在一對區之間存在不同的最小成本 路徑’則最小成本資料可識別該對區之間的—個以上最小 成本路徑。因此,開始節點與目標節點(起點與目的地)之 間的路徑選擇可能找到一個以上最小成本路徑,且必須在 競爭的最小成本路徑之間做出選擇,例如在道路段61)之 數字1800及道路段BC之數字18〇1皆具有指示每一道路段 在特定時間為最小成本路徑的部分之值「丨」的情況下。 在此實施例中,位元向量不識別每一道路段為最小成本路 控之部分的時間。因此,路徑選擇演算法基於行進於該路 徑之段上的時間來實行對兩個可能的最小成本路徑之成本 刀析。可根據自起點/開始節點之出發時間確定此時間。 速度概況與每一段相關聯(如圖l〇a中所展示),該速度概 况係關於經由該段之行進之預期速度如何隨著時間而變 化。根據此等速度概況,可確定在相關時間之預期速度, 且此可用以確定在彼時間沿著彼道路段行進之成本。藉由 合叶沿著每一最小成本路徑之道路段行進之成本,可確定 150831.doc -109- 201211509 每最小成本路徑之成本❶導航裝置可接著將在彼時間具 有最低成本的最小成本路徑選擇作為路線。 為了執行目前為止所描述之路徑選擇,使用解碼程序自 關於圖8至圖1〇所描述的經編碼之側檔案獲得位元向量資 訊。 上文所描述之預處理之輸出包含: •對大多數節點之階層式區指派,及 •對此等節點處之外出道路段之位元向量指派。 地圖載入 一致性檢查 當載入地圖資料時’側檔案之集合應呈現於地_ 中’否則’解碼H將撤銷啟動搜尋加速資料,使得在不肩 有搜尋加速資料的情況下實 " 次 貫仃路線技寸。存在有助於確仿 貝科元整性之若干檢查,現在列出該等檢查。 側檔案遵循命名慣例。 二=;由:樓索之數8給出,但等級之數目亦儲存 、側檔案之標頭中且等於側檔案之數目。 每一側檔㈣存在其各㈣級處之區 檔案名稱中指定之赵曰士π 双曰叾與在側 疋之數目相同。此外,側播案 (其對於所有側檔案應相同): 存乂下資讯 •側檔案版本。 ―每位70向篁頁」之節點之數目(下文解釋)。 母一側檔案中亦存在總和檢查碼,其識別 •特定的整個側檔案集合 150831.doc 201211509 •整個地圖。 對於給定電子地圖之相關聯之側檔案,此等資訊應為正 確的。若上述檢查中之任—者失敗,則將不針對此地圖啟 動搜尋加速資料特徵。 載入至記憶體中之資料結構 解碼器讀取外部記憶體實施中之側檔案。此意謂位元向 量側檔案之内容不被完全載入至記憶體中,而是僅根據需 要來讀取。然而,在開始時—些—般性資料被載入至記憶 體中,且只要該地圖被載人,該等資料就被保持於其中。 標頭資訊 每一側檔案以標頭區段開始,該標頭區段含有上文關於 圖8至圖10所描述之資料。每-側樓案之此資訊被儲存於 記憶體中。 霍夫曼樹定義 側棺案含有若干霍夫曼樹之定義。每-霍夫曼樹定義給 出對特U夫f編碼之完整描述,且稍後被用以將側樓案 位…-部分解碼成原始資料(亦即,將來自側標案的 仏序列解碼成-數目或某其他特定值)。自每―側棺案 讀取以下霍夫曼樹定義且將其料於記憶體中。 •用於解碼每—節點處之道路段之數目之霍夫曼樹。 (經編碼之道路段數目可比基礎地圖中的道路段之 數目小。注意’解碼器獨立於基礎地圖,亦即,其 不需要讀取地圖)。此霍夫曼樹僅儲存於等級〇之側 檔案中。 15083l.doc -111 - 201211509 於解竭頁碼之霍夫曼樹(下文解釋)。 用於解碼位元向量區塊之若干霍夫曼樹。樹定義之 數目係由如財於㈣案標頭中之規則位元向量區 鬼長度給出,其等於區塊長度減去一。(道路段之 _向里之整個位元串被分裂成區塊。若位元向量 之長度不是規則區塊長度之倍數,則最後區 :束為較短的。對於自2直至規則區塊長度之每一區 塊長度’存在-個霍夫曼樹。霍夫曼樹不被用於長 之區塊,因為此僅為一位元且被直接儲 存)。 用於選擇位TL向量之解碼方法之若干霍夫曼樹。在 ^頭中指定此等樹之數目;在下文解釋其使用。 鄰居清單 、最精,·田荨級之母一等級處,側檔案編碼鄰居清 單等級k處之區之鄰居清翠為零或零個以上被稱為等級^ 區之鄰居的等級(k+i)區之清單。等級k的側檔案之鄰居清 單區段具有兩個部分。 第部分含有每一等級k子區之鄰居區之數目。舉 例而s (k=l) ’若在全域等級〇處存在4〇〇〇個區,且 每一全域區被再分成1〇個等級1區,則等級1側檔案 •含有4000x10個等級1子區。對於此等子區中之每一 者’給出個別鄰居清單(其由等級2區組成)之長 度。 •第二部分含有實際鄰居清單,纟各別S度自第一部S 150831.doc -104- 201211509 2 1 ????????*?·?,, 2 3 ???????????? 3 4 〇〇〇〇〇〇〇〇〇〇位 位 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 〇〇 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位 位). Therefore, it is possible that the bit vector at level 5 is not stored, and therefore, the influence on the path selection should be minimal (even if the number of road segments at level 5 is large). In most cases, the path selection will only explore a few road segments at the least important network level at the beginning or end of the route, as it will quickly reach some of the more important road segment network levels, and The search acceleration data about their nodes will almost always tell the router to skip back to the least important network level navigation segment and use to or continue to stay at the more important network level. Navigation segment. This is established at the most important network level 'because the network level is used when the destination is still far away. In addition to discarding the bit vector at the least important road segment (e.g., level 5), the zone ID at the network may not be encoded. Converting a few 〇 in a bit vector to 1 is also a lossy compression scheme. If the bit vector contains only one 〇 (or possibly, less than - small margin), then it may be possible to convert it to 1 if the following result is produced (ie, set the road segment to Part of the fastest route): • Trivial bit vector 111...1 1 1 (because the trivial bit vector is encoded in a compactr way than encoding non-trivial bit vectors) 150831.doc -105· 201211509 or already in the current bit The bit vector found in the history of the vector page (because their bit vector is also encoded more efficiently) Converting the bit to 0 in 昼 does not affect the path selection result, it only considers the path selection More road segments (because they are now set as part of the fastest route) make the path selection slower. However, the second embodiment of the present invention can use this method - especially if the map savings are large while the perf0 rmance hit in the path selection speed is small. Path Selection Figure 15 shows that the map 16 〇〇 丨 covers an area and has a start node 1602 and a destination node 16 〇 4 and a plurality of road segments that have been explored by the prior art eight* search method. The selected route is shown by the dashed line 16〇6. Figure 16 shows a map 1650 that covers the same area as the map of Figure 15 and also shows the same start node 16〇2 and destination node 16〇4. The figure also highlights the roads explored using embodiments of the present invention that utilize the same road network and the same criteria as those used to generate the route of Figure 15 (e.g., both travel by car, hopefully speed Used as a cost function to be minimized, etc.) The route selected by the method is again shown by dashed line 16〇6, and it should be noted that the line is the same as the line calculated in FIG. Thus, it should be noted that the route calculated by embodiments of the present invention can be so-called mathematically accurate and can find the best/best route for a given cost model that has been selected to be minimized. Accordingly, it should be apparent that the road segments explored by embodiments of the present invention are significantly less when compared to prior art. Thus, in contrast to prior art V methods, the method of the present invention, £ I50831.doc -106 - 201211509, is relatively rapid and generally significantly faster. It should also be 'thinking' that as the route 16〇6 approaches the destination 1604, the 'Eight-night route is explored compared to the beginning; that is, when the route 16〇6 advances past the point 丨652, explores the route except for the lowest cost route. path of. One explanation for this is that the method has switched from the level zone to the level 1 zone at point 652. As should be seen, other road segments are explored near destination 1604. Once again, this situation can be explained by switching from the level to the level 2 by means of attention and line planning methods. Therefore, when making a long-range path selection, $ will often only have one fastest route. & and as the method switches to a finer level (e.g., from level 〇 to 1), there may be more than one route marked as "lowest cost" and therefore need to be searched. Can be used to calculate the route between two points. Figure Π shows the previous technique of exploring the network by the route planning application. The method is to make a decision on the road segment. To achieve this, the cost of traveling to the next node is added to the estimated cost of moving from the eccle-lang point to the target. Then proceed to explore the path from the given node: the path with the least cost. The method maintains the sum of the costs incurred as the method proceeds: and considers the smallest example in each-reverse, and §, and estimates the distance B (starting node) at node B from two cost single node Fs. The cost starts at 3 units, and it can be seen that both nodes C and D are in position. However, since node D, arrives, and from node C, the estimated cost of reaching 15083l.doc -107· 201211509 of node F is 5 units. Therefore, the A* method will explore the route to the node D more preferentially than the route to the node C, because the estimated cost of adding the cost to the target for the node DC road & Small (ie, BC=2+5 = 7, and BD = 2 + 3 = 5). When considering the use of the bit vector of the embodiment of the present invention to perform the route planning day ^per-road segment bit (i.e., the column of Figure 7, identifying which road segments are candidates for the lowest cost route to the destination area) Thus, the A* method described with respect to Figure 17 is modified to the one shown in Figure 18. The route planning is typically performed using a bit vector, as described with respect to Figure 18. However, some embodiments of the present invention may allow Route planning is returned to (or other prior art methods) in various situations. Different embodiments may utilize any of the following: missing bit vector information ( thereby allowing the system to even have a bit vector in place) The case works; use the cost function; except for the path selection for which the cost function of the bit vector is calculated (usually the fastest route, but not necessarily); the user specifies and uses the pre-computed bit vector They have different criteria (the case, the user wants to avoid the highway); the type of transport is different from the type of transport used to pre-calculate the position of the 7C For example, 'the user walks and does not take the car'; and the route is below the threshold length (for example, the start and end points of the route are in the same zone). Compared with Figure 17, 'two additional numbers are shown in Figure 18, ΐ8 〇ι. In addition, the areas are indicated by dashed lines (10) and deleted on the figure. The surface indication road segment BD is part of a low-cost route from the node to the area where the target node is located (as described elsewhere, it may be additionally There are other 150831.doc 201211509 low cost routes.) "〇" just indicates that the road segment BC is not part of any low cost route from the node B to the zone in which the target node is located. Thus, when starting from node A, the invention The embodiment will use the A* outlined above to explore the node from a. Then, once Node B' has been reached, there is no need to use the exploration further because there is only a road segment BD that is a possible part of the lowest cost route. Clearly marked. Thus, once the A* method has been used and the lowest cost route is found, it will then select the lowest cost route by looking at the relevant bits within the bit vector. Time has a different minimum cost path between a pair of zones' then the minimum cost data can identify more than one minimum cost path between the pair of zones. Therefore, the path between the starting node and the target node (starting point and destination) The choice may find more than one minimum cost path and must choose between competing minimum cost paths, such as the number 1800 in road segment 61) and the number 18 〇1 in road segment BC have indications that each road segment is at a particular time In the case of the value of the part of the minimum cost path "丨". In this embodiment, the bit vector does not identify the time at which each road segment is part of the least cost control. Thus, the path selection algorithm implements a cost analysis of the two possible least cost paths based on the time traveled over the segment of the path. This time can be determined based on the departure time from the start/start node. The velocity profile is associated with each segment (as shown in Figure 〇a), which is a function of how the expected speed of travel through the segment changes over time. Based on these speed profiles, the expected speed at the relevant time can be determined, and this can be used to determine the cost of traveling along the road segment at that time. By the cost of the hinge along the road segment of each of the least cost paths, the cost of each minimum cost path can be determined 150831.doc -109 - 201211509 The navigation device can then select the least cost path with the lowest cost at that time. As a route. To perform the path selection described so far, the bit vector information is obtained from the encoded side file described with respect to Figures 8 through 1 using a decoding procedure. The output of the pre-processing described above includes: • Hierarchical zone assignments for most nodes, and • Pixel vector assignments for outbound road segments at these nodes. Map loading consistency check When loading map data, 'the collection of side files should be presented in the ground_ otherwise', otherwise 'decoding H will cancel the search acceleration data, so that there is no search acceleration data. Throughout the route skills. There are several checks that help to confirm the integrity of the Becco, and these checks are now listed. Side files follow a naming convention. Two =; given by: the number 8 of the building, but the number of grades is also stored in the header of the side file and equal to the number of side files. Each side (4) has its own (four) level. The name of the Zhao Shishi π double 指定 is the same as that of the side 。. In addition, the sidecast case (which should be the same for all side files): Save the information • Side file version. The number of nodes for each 70-way page (explained below). There is also a sum check code in the parent side file that identifies • a specific entire side file set 150831.doc 201211509 • The entire map. This information should be correct for the associated side file of a given electronic map. If any of the above checks fail, the search acceleration profile will not be initiated for this map. Data Structure Loaded into Memory The decoder reads the side file in the external memory implementation. This means that the contents of the bit vector side file are not completely loaded into the memory, but are read only as needed. However, at the beginning, some of the general data is loaded into the memory, and as long as the map is loaded, the data is retained therein. Header Information Each side of the file begins with a header section containing the information described above with respect to Figures 8-10. This information for each-side project is stored in memory. Huffman Tree Definitions Side files contain definitions of several Huffman trees. The per-Huffman tree definition gives a complete description of the special U-f code, and is later used to decode the side-floor case...-part into the original data (ie, decode the 仏 sequence from the side-mark) In-number or some other specific value). The following Huffman tree definitions are read from each side file and are taken into memory. • A Huffman tree used to decode the number of road segments at each node. (The number of encoded road segments can be smaller than the number of road segments in the base map. Note that the decoder is independent of the base map, ie it does not need to read the map). This Hoffman tree is only stored in the file on the side of the level. 15083l.doc -111 - 201211509 The Hoffman tree on the page of exhaustion (explained below). A number of Huffman trees used to decode a bit vector block. The number of tree definitions is given by the length of the rule bit vector area in the header of the case (4), which is equal to the block length minus one. (The entire bit string of the _ inward of the road segment is split into blocks. If the length of the bit vector is not a multiple of the regular block length, then the last region: the bundle is shorter. For the length from 2 until the regular block Each block length 'exists - a Huffman tree. The Huffman tree is not used for long blocks, because this is only one bit and is stored directly). Several Huffman trees for selecting the decoding method of the bit TL vector. Specify the number of such trees in the ^ header; explain their use below. The list of neighbors, the most refined, the level of the mother of the Tianji class, the side file encoding the neighborhood list level k, the neighbors of the district clearing zero or more than the level of the neighbors of the level ^ zone (k+i ) A list of districts. The neighbor list of the side file of level k has two parts. The first part contains the number of neighbors of each level k sub-area. For example, s (k=l) 'If there are 4 areas in the global level, and each whole area is subdivided into 1 level 1 area, then the level 1 side file contains 4000x10 levels 1 Area. The length of the individual neighbor list (which consists of level 2 regions) is given for each of these sub-zones. • The second part contains a list of actual neighbors, 纟 each S degree from the first

S 150831.doc -112- 201211509 分獲知^每一鄰居清單為等級(k+1 )子區之清單。 因此’鄰居清單針對給定目的地區指定了位於彼目的地 區之可見度區域内之區。因而’提供了向使用地圖資料之 導航裝置識別可見度區域之範圍的指示器。因而,使用搜 尋加速資料之路線規劃可識別是否其他搜尋加速資料可用 於目的地區,其可用以約束被探索的可導航段,從而加速 路線規劃。 區重新映射表 側檔案(例如)藉由聚結及重新排序等等而以壓縮格式儲 存位元向量。等級1^處之側檔案具有用以解壓縮按區塊編 碼之位元向量的區重新映射表。其由兩部分組成·· 第一部分為按等級k子區編索引之陣列。對於等級k 處之每一子區,其含有經壓縮之位元向量之長度。 此對於按區塊編碼位元向量的各別子區令之節點之 彼等外出道路段為相關的。 •第二部分為按(1)未壓縮之位元向量中之位元位置 及(2)等級k子區編索引的二維陣列。該等陣列輪入 項指定了按區塊讀取的未壓縮位元$令之給定位元 位置在經壓縮位元向量令的位元位置。 注意’僅第-部分被保持於記憶體中;第二部分 瑪期間被按需使用,因為其為大的。當前,僅在全 側檔案(k=〇)處儲存區重新映射表。 起始路線查詢 解碼器係用以加速自 出發位置至目的地節點集合之路線 15083I.doc •113- 201211509 將整個道路 或多個目標 搜哥。(目的地由一個以上節點組成的實例為 路段用作目的地的情況)。目的地節點界定一 區之集合。 注心,目標區為區ID之序列,每—分割等級有一㈣ (:始於等級0處)。在每-新搜尋的開始,藉由清除先前目 ^集合且將新的目的地節點傳遞至解碼器而建立目桿區 之集合。解碼器將確定不重複的目標區之清單。用於:到 給定節點之區的機制與在搜尋期間相同;細節見下文。 在路線搜寻期間掃描節點 剩餘論述假定已設定目標區之集b解碼器之特徵為合 被提供道路網路之節點㈣傳回按離開此節點之道路段: 索引的位元陣列(此節點及給定目標區之位元向量)的功 能:節點及節點處之道路段之排序由地圖界定。無論何時 位元值為零時’此意謂在搜尋期間可忽略對應道路段。 (此通常導致搜尋空間的大量減少且因此搜尋之運作時間 的大量減少)。 對於少數節點,區資訊或位元向量資料皆不儲存於側檔 案中。對於此等節點,解碼器傳回所有位元皆為丨的位元 串》(此將防止路線搜尋跳過此節點處之任何道路段)。解 碼器具有指示是否此為針對給定節點之狀況的布林查詢功 能。此外,存在指示給定節點是否位於先前所定位之目標 區中之一者中的布林查詢功能。由解碼器傳回的在目標區 中之節點之位元向量再一次為所有位元為丨的位元串。此 等布林查詢功能係用於路線搜尋中之最佳化。 Π4 150831.doc 201211509 根據側檀案格式,按若干步驟解碼給定節點之位元向量 資料。在每一側檔案中,將區及位元向量資訊組織成所謂 的頁。每頁之節點之數目為2之固定冪(例如,丨,且對於 側擋案集合中之每一側檔案為相同的。此意謂,對於給定 即點ID,可藉由簡單的位元移位來計算位元向量頁之頁索 引。節點之資訊被按節點ID連續儲存。 找到給定節點之頁偏移 對於母-側標案’每頁之位元組之平均數目被儲存於側 檔案之標頭十。其被用以藉由使頁㈣乘以平均大小而近 似得出頁之位元組偏移。將校正項儲存於按頁Μ來編索 引之表中。此表被儲存於側檔案之單獨區段中。當查詢頁 時,在表中查找校正項, 骑 項且將6亥;f父正項加至近似頁偏移, 從而給出該頁在側檔案中之位置。 解碼頁 快取 虽第一次查詢頁時,解碼(相對 疋目標區集合)並快 取忒頁中之節點之位元向量串。 之眘粗蛀 π 土 —人自同—頁查詢節點 取:、…用經快取之資料而不進行任何側檔宰存 取二解碼之位元向量位元串中的特殊標記位元係用以記 住§亥節點是否為無資訊節點。 〃 π 頁碼S 150831.doc -112- 201211509 The number of each neighbor list is a list of level (k+1) sub-areas. Therefore, the 'neighbor list' specifies the area within the visibility area of the destination area for a given destination area. Thus, an indicator is provided for identifying the extent of the visibility area to the navigation device using the map material. Thus, the route plan using the search acceleration data can identify whether other search acceleration data is available to the destination area, which can be used to constrain the explored navigable segments, thereby speeding up route planning. The area remapping table side file (for example) stores the bit vector in a compressed format by coalescing and reordering and the like. The side file at level 1^ has a zone remapping table for decompressing the bit vector encoded by the block. It consists of two parts. The first part is an array indexed by level k sub-areas. For each sub-region at level k, it contains the length of the compressed bit vector. This is relevant for the outgoing road segments of the nodes of the respective sub-regions of the block-coded bit vector. • The second part is a two-dimensional array indexed by (1) the bit position in the uncompressed bit vector and (2) the level k sub-area. The array entry specifies the uncompressed bit $ read by the block to the position of the location of the location element in the compressed bit vector order. Note that only the first part is held in the memory; the second part is used as needed because it is large. Currently, the storage area remapping table is only available at the full file (k=〇). Start route query The decoder is used to speed the route from the departure position to the destination node set. 15083I.doc •113- 201211509 Search the entire road or multiple targets. (An instance where a destination consists of more than one node is the case where the link is used as a destination). The destination node defines a collection of zones. Note that the target area is a sequence of area IDs, and each division level has one (four) (: starting at level 0). At the beginning of each-new search, a set of eyeports is established by clearing the previous set and passing the new destination node to the decoder. The decoder will determine a list of target areas that are not duplicated. Used for: The mechanism to the zone of a given node is the same as during the search; see below for details. Scanning Node Remaining Discussion during Route Search Assume that the set b target of the set target zone is characterized by the node of the provided road network (4) returning the road segment leaving the node: the indexed bit array (this node and give The function of the bit vector of the target area: the order of the nodes and the road segments at the nodes is defined by the map. Whenever the bit value is zero, this means that the corresponding road segment can be ignored during the search. (This usually results in a large reduction in search space and therefore a significant reduction in the operational time of the search). For a few nodes, zone information or bit vector data is not stored in the side file. For these nodes, the decoder returns a bit string with all bits as 丨 (this will prevent the route search from skipping any road segments at this node). The decoder has a Boolean query function indicating whether this is the condition for a given node. In addition, there is a Boolean query function that indicates whether a given node is in one of the previously located target zones. The bit vector of the node in the target area returned by the decoder is again a bit string of all bits. These Boolean query features are used for optimization in route search. Π 4 150831.doc 201211509 According to the side file format, the bit vector data of a given node is decoded in several steps. In each side file, the zone and bit vector information is organized into so-called pages. The number of nodes per page is a fixed power of 2 (for example, 丨, and the file for each side of the set of side files is the same. This means that for a given point ID, a simple bit can be used. Shift to calculate the page index of the bit vector page. The information of the node is continuously stored by the node ID. Finding the page offset of a given node for the parent-side standard 'the average number of bytes per page is stored on the side The header of the file is used to approximate the byte offset of the page by multiplying the page (4) by the average size. The correction is stored in a table indexed by page. This table is stored. In the separate section of the side file. When querying the page, look for the correction item in the table, ride the item and add 6 hai; f parent positive item to the approximate page offset, giving the position of the page in the side file Decoding page cache, although the first time the page is queried, decodes (relative to the target area set) and caches the bit vector string of the node in the page. The cautious 蛀 soil-person self-same-page query node takes :,...Using cached data without any side file accessing the second decoded bit vector Special tag bit string based membered § Hai to remember whether or not the node information node. 〃 π p

對於每一頁,所謂的頁碼位元指定誃 yr & , Μ頁中之所有節势;I 否、有相同區ID。頁碼對於每等級含 " 乂六一汾1 1回位元,作所右 位-僅在等級0側檔案中之頁的 -斤有 辑存為共同霍夫 150831.doc -115· 201211509 曼符號。 解碼外出道路段計數 如上文所提及,每一頁含右ΙϊΙαα w,..,固疋數目個節點之資訊。節 此數目儲存於每一側檔案之斤 (或針對箄铋n . _ μ軚碩中。在一頁之開始 紂對4級〇,在頁碼之後 之外出道路°頁列出該頁中之每一節點 (外出道路&之數目。無論 ^ r出道路段之數目為愛 時,此意謂根本未儲存對應節 勃日妯紗—# ..之貝矾。在解碼該頁時, 數目被儲存於臨時陣列中。 解碼區 在道路段計數區段之後是區區段 列給出,每—等❹*加「 W點之£由&ID之序 斜雍相,丨0安七 将疋專級之區ID儲存於 對應側檔案中。解碼器讀取頁 Γά 0 ^ ^ . 斤有郎點在所有等級處 之區。虽未儲存節點之資訊(亦 处 震、日岑,Ρ — 即點之道路段計數為 零)時,使區貢訊為空的。解 me 解碼^買取道路段計數大於零 、弟個卽點之區ID序列 ^ , J右給疋等級處之頁碼指定彼等 級處之所有區ID為相同的, &寺 相Π F τ η I 則在彼4級處為所有節點設定 相’讀取具有正道路段計數 對應等級處的區山。在此程序 有P.、』之在 私七外 隹私序之結束時,解碼器已用頁之 斤有即點之完整區ID序列填充一 的)。 τ些序列可為空 解碼位元向量 找到相關位元位置之集合 對於給定節點及目標區而言,料等級處之特定位 疋離開此節點之道路段的位元向量位元之值。當存在 150831.doc -116- 201211509 以^目標區時,將所得位元—起進行邏輯或運算。對於每 點’解碼器計算相關位元位置之集合。對於彼節點處 之母-外出道路段,相關位元位置之集合相同。其僅視節 』之區及目t區之集合而定。若僅存在—個目標區,則在 -寻級處將僅存在—個相關位元位置;換言之,對於此節 點’可忽略其他等級處所儲存之資訊。在-個以上目標區 之狀况下 些相關位元位置可重合,所以總是至多存在 與存在的目標區一樣多之相關位元位置。在下文中,將論 述解碼益如何確定一個目標區之相關位元位置。對於一個 以上目標區而言’以相同方式找到相關位元位置且將相關 位元位置組合成一集合。 當未界定鄰居區時,對於每—等級處之每_目標區存在 -個位元向量位元(每外出道路段)。(為簡單起見,忽 於節點自身之區⑴不儲存位元的事實)。相關位元處於第 一等級(自等級0計數)’在該等級處節點之區ID不同於目 標區之區1D。舉例而言,若全域等級處之節點之區ID等於 全域處之目標區1D,但該兩個區ID在等級!處為不同的,、 則相關位元位置處於等級i,且其等於目標區。 等級處之未㈣之位元向量串中的位元位置^㈣^皮 一可能的目標區ID含右—彻a - r + * 有個位7G。區重新映射表係用以 此位置轉換成經壓縮位开旦 ’ 的串)中之位置。 向里串(在彼寺級實際上被編瑪 當界定了鄰居區(亦即,可見度區域内之區)時, 位兀被確定在「最精細」等級(在其中目標區為該節點之 150831.doc -117- 201211509 品·、)處將四個等級作為實例,假設目標區出序列 為& b,、C,句,且假設節點之區出序列為(e,f,g,h)。若(a, b’ c’ d)為(e,f,g)之鄰居(如在鄰居清單區段中所定義),且 (a,b)為⑷之鄰居,則相關位元由(a,u確定且位於等 級2處,即含有作為鄰居之(a,b,c,句的(e,f,g)首碼之等 級。更精確言之,相關位元位置為等級2側權案中作為區 (e,f,g)之鄰居的(a,b,c,d)之㈣。在此狀;兄下,請之 規則位元h(如先前財所解釋)為不相關的。再—次,此相 關位元位置係相對於未I 縮之位元向量串。解碼器使用區 重新映射表以將其轉換至等級2處之經廢縮位元串中之位 凡位置。關於鄰居清單之更多資訊含有於「增強之多等級 圖分割之提案(Pr〇P〇sal for enhanced ㈣沖 partitioning)」之文件中。 解碼位元向量位元 在給定目標區之固定集合的情況下,頁中之每一節點之 =元向量將由每外出道路段之一位元組成。若節點之道路 段計數為零(亦#,節點為無資訊節點),則將把每一位元 設f成1,而對於彼節點不進行進一步解碼。若節點位於 目標區中之-者中,則位元向量將又為全部i ;在此狀況 下,可能必須跳過經編碼之資料以便解碼後續節點 料。 …負 —若當前節點之位元向量並非平凡地皆為i,則解碼器確 足相關位元位置之集合,如較早所解釋。每—位元位置係 相對於特定等級,亦即,位元位於特定側檔案中。在每二 150831.doc 201211509 專級處’側播幸含右^^ + 钿系5有凡王的經壓縮位元 要擷取相關位元位置處之位&卢4 仁解碼益僅為 不待用^ 几。在解碼期間,讀取(跳過) 不使用的貧訊(但僅在其後為 下)。否目丨1钿士 * 不上需要的資訊的情況 否貝J,根本不言買取位元流之不使用的部分。 根據等級對相關位元位置 成㈣縮位元$中之位置=二、组。將相關位置轉換 解壓縮以讀取相關位置處之位元乂 位元,目丨丨昔止+ A丄 甘彔寺級處存在相關 、1首先在適^時(解碼H記得其已在每 側檔案中處理到多遠)跳讲A要Μ ^ 檔宰中到,跳過…點之資料。當在給定側 才田案中到達正被討論的節點之 量。對#夂 則逐仃解碼位元向 對於母一外出道路段而言,儲存_ ig 0H y. _ 位凡,其為所有 相關位讀置之崎碼位 ’ 點處之M — 4 之結果。當前節 、疋、路段之資訊以指定解碼方法之霍夫®符鲈門 始。其具有以下值中之一者: 隹夫又付唬開 ^定此等級處之道路段之所有位元向量位元為〇(包 扔 X付唬。對於此道路 卡又’不必解碼其他位元。 ^指定此等級處之道路段之所有位元向量位元為i (包 此等級處之所有鄰居位元)之符號。對於此道路 又’不必解碼其他位元。 •指定位元向量位元串被按區塊明確給出之符號。在 ^解釋按區塊對經壓縮位元向量位元串之解:。將 =路段之位元向量位元置於在整個頁之編碼期間建立 的「歷史堆疊」中。 150831.doc 201211509 •將對歷史堆臺之帝弓丨的炫% . 家弓丨的符唬。在給定索引處,歷史 堆疊含有道路段之所要位元向量位元值。 -視歷史堆⑥之當前大小,使用用於解碼方法選擇器之不 同霍夫又树。在側檔案之標頭中存在指定霍夫曼樹之數目 的限制值,备歷史堆疊之大小超過此值時,則重新使用 次的霍夫曼樹。 右方法選擇器符號指定位元向量串應被明確地編碼,則 解碼器逐區塊地讀取經壓縮位元向量位元串。其收集此等 級處之相關位元位置(相對於經壓縮位元向量串)處之位元 值。對該等位元之值進行邏輯或運算。該邏輯或之中間結 果一變成1,就可跳過此道路段之所有其他區塊中的剩餘 位70。用於解碼每一區塊之霍夫曼樹視該區塊中之位元之 數目而定。針對如指定於側檔案標頭中的規則區塊長度存 在一個霍夫曼樹。道路段之最後區塊可為較短的;視其大 小,將適當霍夫曼樹用於解碼。長度為一之區塊為僅一位 元,將其直接讀取而無須霍夫曼解碼。 若區塊之數目為至少2,則自位元向量產生之位元流含 有在该等區塊之霍夫曼符號之前的一額外位元。其值指定 了是否將整個經解碼之串理解為實際值的逐位元否定。 (此否定之目的為更好的霍夫曼壓縮)。 關於搜尋方法之註釋 冰S此項技術者應瞭解’雖然經典Dijkstra及A*搜尋方 法產生搜尋樹,且可因此被稱為樹搜尋之實例,但根在給 定可導航段處之一般路線搜尋通常可產生有向非循環圖, 150831.doc 201211509 攸而構成網路之在其中實行搜尋之子網路,且對於含有於 彼有向非循環圖中的任何給定可導航段,在彼段與搜尋之 根之間將存在一或多個最小成本路線。因此,當提及搜尋 樹或樹搜尋時,應理解,可將此概念推廣成由搜尋導致的 有向非循環圖。 舉例而言,在時變函數提供地圖中之可導航段之速度值 的情況下,在給定可導航段與搜尋之根之間可存在一個以 上最小成本路線,且因而,此等搜尋使用有向非循環圖而 非樹搜尋。 【圖式簡單說明】 圖1為可由導航裝置使用的全球定位系統(GPS)之一例示 性部分的示意說明; 圖la為攜帶型導航裝置(PND)或任何其他合適導航裝置 之電子組件的示意說明; 圖lb為安裝及/或銜接導航裝置之配置的示意圖; 圖lc為由圖la之導航裝置使用之架構堆疊的示意表示·, 圖2展不如由本發明之實施例產生的實例地圖之一部 分; 圖3展示圖2的地圖,其上展示了用於路徑選擇之節點; 圖4展示在處理之後的圖2之地圖; 圖5展不在一些實施例中節點如何被分配至圖3之地圖的 實例; 圖6說明地圖可如何被分割成複數個巢式區之實例; 圖6a說明圖6之分割之增強; I50831.doc 121 201211509 圖7展示由本發明之實施例利用之位元向量的一實例集 合; 圖7a說明如何在網路之Dijkstra探索期間利用時間分析 之(time profiled)資訊; 圖8展示本發明之一實施例之檔案的實例檔案格式; 圖9展示可如何編碼圖8之區再映射表及區id清單之實施 例; 圖10展示如圖6中所說明之最粗略巢式區的實例檔案格 式; 圖11展不除了最粗略巢式區之外的巢式區之實例檔案格 式; 圖12舉例說明編碼方案内之位元的聚結; 圖13(其包含圖na及圖i3b)舉例說明聚結位元之效應; 圖14亦舉例說明聚結位元之效應; 圖15展示使用先前技術路徑選擇技術來醒目提示所考慮 的路線的地圖; 圖16展示依據本發明之實施例來醒目提示所考慮的路線 的地圖; 圖17展示A•搜尋方法(先前技術)之實例; 圖1 8展不由本發明之至少一些實施例使用的對圖1 7之修 改;及 圖19展示概述本方法之步驟的流程圖。 【主要元件符號說明】 1 區 £ 150831.doc -122- 201211509 2 區 3 區 4 區 5 區 6 區 7 區 8 區 9 區 15 區 21 區 24 區 27 區 28 區 37 1¾ 41 區 42 區 43 區 51 100 全球定位系統 102 衛星 104 地球 106 全球定位系統接1 108 展頻全球定位系, 200 導航裝置 150831.doc -123- 201211509 202 處理器 204 輸入裝置 206 顯示幕/整合式輸入及顯示裝置 208 輸出裝置 210 連接 212 輸出連接 214 記憶體糸統 216 連接 218 輸入/輸出(I/O)埠 220 連接 222 外部輸入/輸出裝置 224 天線/接收器/内部GPS接收器 226 連接 228 埠 230 連接 250 死胡同 252 臂狀物/冗餘環形 254 吸盤 280 功能硬體組件 282 基本輸入/輸出系統 284 作業系統 286 應用程式軟體 288 視圖產生模組 300 節點 150831.doc -124- 201211509 301 節點 302 節點 304a 道路段 304b 道路段 304c 道路段 304d 道路段 400 節點 600 區 602 區 604 區 606 區 608 700 最左側欄 702 第二欄 704 第三攔 750 節點 751 圖 752 成本函數 754 7 56 點 點 800 地圖標頭 802 霍夫曼樹 804 區計數/區重新映射表 806 區鄰居/區ID清單 150831.doc -125 - 201211509 808 區ID重新映射表 810 位元向量頁索引/表 812 位元向量 1000 頁碼 1002 節點之區ID 1300 垂直條狀區 1600 地圖 1602 始發節點 1604 目的地節點 1606 選定路線 1650 地圖 1652 點 1800 1 1801 0 1802 虛線 1804 虛線 150831.doc - 126-For each page, the so-called page number bits specify 誃 yr & , all the throttlings in the title page; I no, have the same zone ID. Page number for each level contains " 乂 汾 汾 1 1 位 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , . Decoding Outbound Road Segment Count As mentioned above, each page contains information on the right ΙϊΙαα w,.., the number of nodes. This number is stored in each side of the file (or for 箄铋n. _ μ軚 中 。. At the beginning of a page 纣 to level 4 〇, after the page number, out of the road ° page lists each of the pages The number of one node (outing roads & the number of road segments that are not in the case of love, this means that the corresponding section of the festival is not stored at all - #..Beckon. When decoding the page, the number is Stored in the temporary array. The decoding area is given in the section of the section after the section of the road segment count, and each of the equals * plus "the point of the W point is the order of the & ID, 丨 0 安七疋The ID of the zone is stored in the corresponding side file. The decoder reads the page Γά 0 ^ ^ . The kilobytes are in the area of all levels. Although the information of the nodes is not stored (also in the earthquake, the sun, the Ρ - that is When the road segment count is zero, the zone tribute is empty. The solution me decodes ^ the road segment count is greater than zero, the zone ID sequence of the 卽 point is ^, and the page number of the J right 疋 grade is specified at the level. All the zone IDs are the same, &the temple phase Π F τ η I then set the phase for all nodes at the 4th level. The road segment count corresponds to the area at the level. In this program, there is a P., 』 at the end of the private sequence of the private seven, the decoder has filled the page with a complete sequence of IDs of the page. τ These sequences may find the set of relevant bit locations for the null decoding bit vector. For a given node and the target zone, the specific bit at the material level is the value of the bit vector bit of the road segment leaving the node. When there is a target area of 150831.doc -116-201211509, the resulting bits are logically ORed. For each point 'decoder, the set of related bit positions is calculated. For the parent-outbound road segment at the node, The set of related bit positions is the same. It depends only on the set of the section and the set of the target t. If there is only one target area, there will be only one relevant bit position at the -level; in other words, For this node, the information stored at other levels can be ignored. In the case of more than one target area, the positions of the relevant bits can be coincident, so there are always as many relevant bit positions as there are existing target areas. In the text, Discuss how the decoding benefit determines the relative bit position of a target zone. For more than one target zone, 'the relevant bit locations are found in the same way and the relevant bit locations are combined into one set. When the neighbor zone is not defined, for each— There is one bit vector bit per _ target area (every outgoing road segment). (For the sake of simplicity, the fact that the node itself is not (1) does not store the bit). The relevant bit is at the first level. (counting from level 0) 'The zone ID of the node at this level is different from the zone 1D of the target zone. For example, if the zone ID of the node at the global level is equal to the target zone 1D at the global domain, but the two zone IDs The difference is at level !, then the relevant bit position is at level i and it is equal to the target area. The position of the bit in the bit vector string of the (4) level at the level ^ (4) ^ skin A possible target area ID contains right - complete a - r + * has a bit 7G. The region remapping table is used to convert this position into a position in the compressed bit's string. Inward string (when the temple is actually programmed to define the neighboring area (ie, the area within the visibility area), the position is determined at the "most fine" level (in which the target area is 150831 of the node) .doc -117- 201211509 The product has four levels as an example. It is assumed that the target area is in the sequence of & b, C, and sentence, and the sequence of the node is assumed to be (e, f, g, h). If (a, b' c' d) is a neighbor of (e, f, g) (as defined in the neighbor list section), and (a, b) is a neighbor of (4), then the relevant bit is ( a, u is determined and located at level 2, that is, contains the rank of the (a, b, c, sentence (e, f, g) first code as the neighbor. More precisely, the relevant bit position is the level 2 right In the case, as the neighbor of the district (e, f, g) (a, b, c, d) (four). In this case; brother, please rule the bit h (as explained in the previous accounting) is irrelevant Again-time, this associated bit position is relative to the un-contracted bit vector string. The decoder uses the region remapping table to convert it to the bit position in the abbreviated bit string at level 2. About neighbors More information on the list is contained in the "Pr〇P〇sal for enhanced (Partitioning)" document. The decoded bit vector bits are in the case of a fixed set of given target regions. The = element vector of each node in the page will be composed of one bit per outgoing road segment. If the road segment count of the node is zero (also #, the node is no information node), then each bit will be set to f 1 is not further decoded for the other node. If the node is located in the target area, the bit vector will be all i; in this case, the encoded data may have to be skipped in order to decode the subsequent nodes. .... negative - if the bit vector of the current node is not trivial, then the decoder does determine the set of relevant bit positions, as explained earlier. Each bit position is relative to a particular level, ie The bit is located in the specific side file. In every two 150831.doc 201211509 level, the side is broadcasted to the right ^^ + 钿 system 5 has the compressed bit of the king to capture the position of the relevant bit position &; Lu 4 Ren decoding benefits only for non-use ^ During the decoding period, read (skip) the unused news (but only after it). No witness 1 gentleman * If you don't need the information, you can't buy it. The part of the meta-flow that is not used. According to the level, the position of the relevant bit is (4) the position in the abbreviated position $=2, the group. The relevant position is decompressed to read the bit position at the relevant position, the directory丨 止 + + A 丄 丄 彔 彔 彔 + + 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 丄 解码 解码 解码 解码 解码Point information. When the given side of the field is reached, the amount of the node being discussed is reached. For #夂 仃 仃 仃 向 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于 对于The information of the current section, section, and section begins with the Hoff® signature of the specified decoding method. It has one of the following values: The coward also pays to open all the bit vector bits of the road segment at this level is 〇 (packing X to pay 唬. For this road card, it is not necessary to decode other bits ^Specify all the bit vector bits of the road segment at this level as the symbol of i (all neighbor bits at this level). For this road, it is not necessary to decode other bits. • Specify the bit vector bit The string is explicitly given by the block. The solution to the compressed bit vector bit string is interpreted by ^: The bit vector bit of the = segment is placed during the encoding of the entire page. History Stacking. 150831.doc 201211509 • The illusion of the Emperor's bow to the historical stack. The symbol of the home bow. At a given index, the history stack contains the required bit vector value of the road segment. Depending on the current size of the history heap 6, a different Hough tree for the decoding method selector is used. There is a limit value for the number of specified Huffman trees in the header of the side file, and the size of the history stack exceeds this value. , then reuse the Huffman tree. Right The method selector symbol specifies that the bit vector string should be explicitly encoded, and the decoder reads the compressed bit vector bit string block by block. It collects the associated bit position at this level (relative to the compressed bit) The value of the bit at the vector string. The logical OR of the value of the bit. If the intermediate result of the logical OR becomes 1, the remaining bits 70 of all other blocks of the road segment can be skipped. The Huffman tree that decodes each block depends on the number of bits in the block. There is a Huffman tree for the length of the regular block as specified in the side file header. The last part of the road segment The block can be shorter; depending on its size, the appropriate Huffman tree is used for decoding. The block of length one is only one bit, and it is read directly without Huffman decoding. If the number of blocks At least 2, the bit stream generated from the bit vector contains an extra bit before the Huffman symbol of the block. The value specifies whether the entire decoded string is interpreted as a bitwise bit of the actual value. Yuan negation. (The purpose of this negation is better Huffman compression) Notes on Search Methods Ice S This technique should be understood by 'While the classic Dijkstra and A* search methods produce a search tree and can therefore be referred to as an example of tree search, but the general route search at a given navigable segment Usually a directed acyclic graph can be generated, which constitutes a subnet in which the network performs the search, and for any given navigable segment contained in a directed acyclic graph, There will be one or more least cost routes between the roots of the search. Therefore, when referring to a search tree or tree search, it should be understood that this concept can be generalized to a directed acyclic graph resulting from the search. Where the time varying function provides a velocity value for a navigable segment in the map, there may be more than one least cost route between a given navigable segment and the root of the search, and thus, such search uses a directed acyclic graph Not a tree search. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic illustration of one exemplary portion of a Global Positioning System (GPS) that may be used by a navigation device; FIG. 1a is a schematic illustration of an electronic component of a portable navigation device (PND) or any other suitable navigation device Figure lb is a schematic diagram of the configuration of the installation and / or interface navigation device; Figure lc is a schematic representation of the architecture stack used by the navigation device of Figure la, Figure 2 is not a part of the example map generated by the embodiment of the present invention Figure 3 shows the map of Figure 2 with nodes for path selection shown; Figure 4 shows the map of Figure 2 after processing; Figure 5 shows how nodes are not assigned to the map of Figure 3 in some embodiments. Example; Figure 6 illustrates an example of how a map may be segmented into a plurality of nested regions; Figure 6a illustrates an enhancement of the segmentation of Figure 6; I50831.doc 121 201211509 Figure 7 shows an example of a bit vector utilized by an embodiment of the present invention Figure 7a illustrates how time profiled information is utilized during Dijkstra exploration of the network; Figure 8 shows an example of an archive of an embodiment of the present invention; Figure 9 shows an example of how the region remapping table and region id list of Figure 8 can be encoded; Figure 10 shows an example file format for the coarsest nested region as illustrated in Figure 6; Figure 11 shows the most Example file format of a nested area outside the coarse nested area; Figure 12 illustrates the coalescence of the bits within the encoding scheme; Figure 13 (which includes the graph na and Figure i3b) illustrates the effect of the coalesced bit; 14 also illustrates the effect of coalescing bits; Figure 15 shows a map of the route considered for highlighting prompts using prior art path selection techniques; Figure 16 shows a map of the route considered for eye-catching prompts in accordance with an embodiment of the present invention; 17 shows an example of an A-search method (prior art); Figure 18 shows a modification of Figure 17 that is not used by at least some embodiments of the present invention; and Figure 19 shows a flow chart summarizing the steps of the method. [Main component symbol description] Zone 1 £150831.doc -122- 201211509 2 Zone 3 Zone 4 Zone 5 Zone 6 Zone 7 District 8 District 9 District 15 District 21 District 24 District 27 District 28 District 37 13⁄4 41 District 42 District 43 District 51 100 Global Positioning System 102 Satellite 104 Earth 106 Global Positioning System Connection 1 108 Spread Spectrum Global Positioning System, 200 Navigation Unit 150831.doc -123- 201211509 202 Processor 204 Input Device 206 Display / Integrated Input and Display Device 208 Output Device 210 Connection 212 Output Connection 214 Memory System 216 Connection 218 Input/Output (I/O) 埠 220 Connection 222 External I/O Device 224 Antenna/Receiver/Internal GPS Receiver 226 Connection 228 埠 230 Connection 250 Dead End 252 Arm/redundant ring 254 Suction cup 280 Functional hardware component 282 Basic input/output system 284 Operating system 286 Application software 288 View generation module 300 Node 150831.doc -124- 201211509 301 Node 302 Node 304a Road segment 304b Road Segment 304c Road Segment 304d Road Segment 400 Node 600 Zone 602 Zone 604 Zone 606 Area 608 700 Leftmost Column 702 Second Column 704 Third Block 750 Node 751 Figure 752 Cost Function 754 7 56 Point 800 Ground Icon Head 802 Huffman Tree 804 Area Count/Zone Remap Table 806 Area Neighbor/Zone ID List 150831.doc -125 - 201211509 808 Area ID Remap Table 810 Bit Vector Page Index/Table 812 Bit Vector 1000 Page 1002 Node ID of the Node 1300 Vertical Strip Area 1600 Map 1602 Originating Node 1604 Destination Node 1606 Selected Route 1650 Map 1652 Point 1800 1 1801 0 1802 Dotted line 1804 Dotted line 150831.doc - 126-

Claims (1)

201211509 七、申請專利範圍: 1 · 一種產生包括搜尋加速資料之地圖資料之方法,該搜尋 加速資料經配置以增加可在一包含複數個可導航段之電 子地圖上規劃一路線之速度,每一可導航段表示在由該 地圖覆蓋的區域中之一可導航路線之—段,其中該方法 包含: a)藉由移除可導航段以形成可導航段之一核心網路 而減小在該產生該搜尋加速資料的程序中要考慮的可導 航段之數目; b)將該電子地圖劃分成階層式區之一集合,以使得 忒可導航段或每一可導航段被分類到該階層之每一等級 中的至少一區中; 1)使用-與該核心網路令之至少一些可導航段且通 常每可導航段相關聯之時變函數以確定彼可導航段是 否為至該等區中之至少_l ,上、丄 主v 者之最小成本路線的部分,且 將此確定記錄於該搜尋加速資料中;及 d)產生該地圖資料。 2.如:求们之方法’其中在部分c)中提供該 之實質上每一可導航段之該時變函數。 求項1或請求項2之方法,其中藉由移除該搜尋加速 貧料稍後可被恢復的可導航段而產生該核心網路。 月长項1或睛求項2之方法,其包含產生在該核心網路 邛的該等可導航段之搜尋加速資料。 5·如凊求項1或請求項2之方法,其中根據以下準則中之任 150831.doc 201211509 一或多者而在該產生該搜尋加速資料之前自該電子地圖 移除可導航段: 移除滿足一與道路性質有關的預定準則之可導航段; 自該網路移除形成該網路之部分的根據某一預定準則 為足夠小且可藉由移除滿足某另一預定準則的可導航段 之一集合而與該網路之剩餘部分中斷連接之可導航段; 在預定情況下,將在可導航段之間的接點處出現的節 點摺疊至彼此上;及 在喊點具有連接至其之兩個或兩個以下可導航段的情 況下’將該等節點摺疊至彼此上。 6.如*求項1或凊求項2之方法,其包含一旦已產生該搜尋 加速資料,就壓縮該搜尋加速資料,該壓縮可根據以下 技術中之任一者: 計算該搜尋加速資料中之位元對之相關性; 以一無損失方式聚結該搜尋加速資料中的實質上相關 之位元以便減小要編碼之位元之數目; 聚結該搜尋加速資料中之相關位元以便執行有損失的 壓縮; 將經聚結之搜尋加速資料中的位元根據其相關性重新 排序; 對該搜尋加速資料進行霍夫曼編碼。 • 一種產生地圖資料之方法’該地圖資料包括經配置以增 加可在一電子地圖上規劃一路線之速度之搜尋加速資 料,該方法包含使用至少一處理設備以處理該包含複數 £ J50831.doc 201211509 個可導航段之電子地圖,該複數個可導航段表示在由該 地圖覆蓋的區域中之一可導航路線之段,該方法包含使 該處理設備: a. 處理該等可導航段以便產生用於該電子地圖之該 等可導航段中的至少一些可導航段且通常每一可導航段 之該搜尋加速資料’其指示彼可導航段是否為一最小成 本路線之部分;及 b. 處理該所產生之搜尋加速資料以便壓縮彼資料, 其中該壓縮包括以下操作中之任一或多者: §十异s亥搜哥加速資料中之位元對之相關性; 以一無損失方式聚結該搜尋加速資料中的完全相關 之位元以便減小要編碼之位元之數目; 聚結該搜尋加速資料中之相關位元以便執行有損失 的壓縮; 將經聚結之搜尋加速資料中的位元根據其相關性重 新排序; 對該搜尋加速資料進行霍夫曼編碼。 8_ —種產生地圖資料之方法,該地圖資料包括經配置以增 加可在一電子地圖上規劃一路線之速度之搜尋加速資 料,該方法包含使用至少一處理設備以處理該包含複數 個可導航段之電子地圖,該複數個可導航段表示在由該 地圖覆蓋的區域中之一可導航路線之段,該方法包含使 該處理設備: a.處理該等可導航段以便藉由移除可導航段以形成 150831.doc 201211509 可導航段之一核心網路而減小在該產生該搜尋加速資料 的程序中要考慮的可導航段之數目; b.產生用於該核心網路之該等可導航段中的至少一 些可導航段且通常每一可導航段之該搜尋加速資料,其 才曰示彼可導航#又疋否為一最小成本路線之部分;且 其中步驟a.包括以下操作中之任一或多者: 移除滿足與道路性質有關的某m準則之可導航 段; 自該網路移除形成該網路之部分的根據某一預定準 則為足夠小且可藉由移除滿足某另一預定準則的可導 航段之一集合而與該網路之剩餘部分中斷連接之可導 航段; 在預疋隋况下,將在可導航段之間的接點處出現的 節點摺疊至彼此上;及 在節具有連接至其之兩個或兩個以下可導航段的 情況下,將該等節點摺疊至彼此上。 9· -種產生地圖資料之方法’該地圖資料包括經配置以增 加可在一電子地圖上規劃一路線之速度之搜尋加速資 科’該方法包含使用至少一處理設備以處理一包含複數 個可導航段之電子地圖’該複數個可導航段各自具有盘 其相關聯之複數個節點,表示在由該地圖覆蓋的區域中、 之—可導航路線之段且具有與其相關聯之表示該可導航 路線之一參數的至少一屬性,該方法包含: a)評估該至少一屬性; 150831.doc £ 201211509 ίο. 11. 12. 13. 14. b) 將該電子地圖劃分成階層式區之一集合,以使得 該可導航段或每一可導航段被分類到該階層之每一等級 中的至少一區中,其中該分類使用步驟a之該評估以確 保與該等可導航段相關聯的該等節點在該電子地圖之該 等區之間得以平衡; c) 產生該地圖資料。 如請求項9之方法,其中反覆執行步驟a)及步驟b)直至 符合一量測該等節點在該等區之間的該平衡的預定準 則。 如請求項9或請求項1〇之方法,其中該屬性包括以下各 項中之任一者·· 可導般段之類型; 沿著該可導航段之平均速度; 該可導航段之長度; 彼段與其他可導航段之連接性。 如明求項9或請求項10之方法,其中該方法經配置以確 定該地圖中之旅行時間將慢於一預定臨限值之區,且將 彼等區内之可導航段與該電子地圖之其他區分離。 t -月求項9或請求項1〇之方法,其經配置以將為島之部 /的可導航段與該電子地圖之其他區分離,可藉由確定 彼可導航奴之屬性表示一輪渡航線來執行此分離。 ~種產生地圖資料之方法,該地圖資料包括經配置以增 :可在—電子地圖上規劃一路線之速度之搜尋加速資 ;^方去包含使用至少一處理設備以處理一包含複數 150831.doc 201211509 個可導航段之電子地圖,該複數個可導航段各自表示在 由該地圖覆蓋的區域中之—可導航路線之段,該方法包 含: a) 將該地圖劃分成屬於至少一較粗略等級及一相鄰較 精細等級之複數個階層式區,以使得將每—可導航段分 類到該較粗略等級及該較精細等級中之每一者中的至少 一區中,且其中該較粗略等級之任—區含有該較精細等 級之複數個區; b) 針對一給定目的地區,藉由評估是否應將接近於該 含有該目的地區之較粗略等級區的區添加至一可見度區 域且在該評估為肯定時添加彼等區而確定至少包含含有 該目的地區之該較粗略等級區的該可見度區域之範圍; c) 針對至少一些可導航段,計算關於至彼目的地區的 至少一最小成本路線之資訊; d) 其中該對一導航段之處理包括執行自該目的地區反 過來朝向該可導航段之一反向搜尋,且實質上僅包括在 該目的地區之該可見度區域中的可導航段;及 e) 產生該地圖資料。 15. —種產生地圖資料之方法,該地圖資料包括經配置以增 加可在一電子地圖上規劃一路線之速度之搜尋加速資 料,該方法包含使用至少一處理設備以處理一包含複數 個可導航段之電子地圖,該複數個可導航段各自表示在 由該地圖覆蓋的區域中之一可導航路線之段,該方法包 含: 150831.doc 201211509 a)將δ玄地圖劃分成屬於至少一較粗略等級及一相鄰較 精細等級之複數個階層式區,以使得將每一可導航段分 類到該較粗略等級及該較精細等級中之每一者中的至少 一區中,且其中該較粗略等級之任一區含有該較精細等 級之複數個區; _ b)針對一給定目的地區,藉由評估是否應將接近於該 含有該目的地區之較粗略等級區的區添加至一可見度區 域且在該評估為肯定時添加彼等區而確定至少包含含有 該目的地區之該較粗略等級區的該可見度區域之範圍; C)針對至少一些可導航段,計算關於至彼目的地區的 至少一最小成本路線之資訊; d) 配置該搜尋加速資料以包含關於該可見度區域中的 至夕一些且通常每一可導航段至該目的地區之該至少— 最小成本路線之資訊;及 e) 產生該地圖資料。 16. 17. 18. 如:青求項14或請求項15之方法,其中在步驟咐的關於 區是否接近於該含有該目的地區之較粗略等級區之該評 估係基於可為以下各者之任一者或組合的一預定準則: 圖理論距離、地理距離、行進時間、燃料消耗及/或⑽ 排放。 如明求項15或請求項16之方法,其中步驟b評估鄰近於 該含有該目的地區之較粗略等級區之區。 如請求項15或請求項16之方法’其中添加至該可見度區 域之區包含以下各者中之至少—者:該較粗略等級之_ 150831.doc 201211509 或多個區及該較粗略等級之一或多個區的一部分。 19·如請求項15或請求項16之方法,其中該搜尋加速資料包 括除了該最小成本路線之外的至少—額外路線,其中該 額外路線可反映以下各者中的任—或多者: -給定出發點與目的地點之間的在不同時間處之不同 最小成本路線; 針對不同交通情況在-給定出發點與目的地點之間的 不同最小成本路線; 根據不同成本函數在一給定出發點與目的地點之間的 不同最小成本路線; 針對一給定道路網路中之任何動態改變在一給定出發 點與目的地點之間的不同最小成本路線; 根據相同成本函數在一給定出發點與目的地點之間的 替代路線;及 在一彼此類似之方向上之不同目的地點。 2〇· —種產生地圖資料之方法,該地圖資料包括經配置以增 加可在一電子地圖上規劃一路線之速度之搜尋加速資 料,該方法包含使用至少一處理設備以處理一包含複數 個可導航段之電子地圖,該複數個可導航段各自表示在 由該地圖覆蓋的區域中之一可導航路線之段,該方法包 含: a) 將該地圖劃分成階層之一或多個等級處之複數個階 層式區; b) 按該等級階層之次序處理屬於階層之一特定等級的 S 150831.doc 0 201211509 該等區中之至少一些區,自最精細等級直至最粗略等級 地進行S亥處理,且對於此等區中之至少一些區,確定哪 些可導航段進入及/或離開彼區; c) 處理該地圖内之該等可導航段中之至少一些可導航 段以確疋自彼可導航段至一目的地區之至少一最小成本 路線; d) 其中該對一可導航段之處理包括執行自該目的地區 反過來朝向該可導航段之一反向搜尋; e) 在所得搜尋圖中,對於下一較精細等級處之至少一 區,識別處於彼下一較精細等級之區之一集合,以使得 來自该給定區之每一最小成本路徑穿過該集合之該等區 中的至少一者,從而導致一相關矩陣; f) 在該所得搜尋圖中,識別哪些可導航段未含有於自 一不同於其自己的區之區至另一目的地區之任何路徑 中,以使得其可被認為是「非運輸段」,且對於後續步 驟移除彼等非運輸段以便減小在該等後續步驟中考慮的 可導航段之數目; g) 其中該產生搜尋加速資料包含使用該相關矩陣以將 搜尋加速資料指派給在所有先前步驟中已經移除的該等 ' 非運輸段;及 h) 產生該地圖資料。 21_至少一種計算裝置,其經配置以執行如請求項丨至6中任 一項之方法。 22.至少一種計算裝置,其經配置以執行如請求項7之方 150831.doc •9· 201211509 法。 23 24 25 26 27 28 29 30. 31. 32. 至少-種計算裝置’其經配置以執行如請求項8 法。 之方 至少-種計算裝置,其經配置以執行如請求項9至則 任一項之方法。 至少-種計算裝置’其經配置以執行如請求 法0 項14之方 至少一種計算裝置,其經配置以執行如請求項^至 任一項之方法。 至少一種計算裝置,其經配置以執行如請求項2〇 法。 19中 之方 .-種含有指令之電腦可讀媒體,料指令在被讀取至 機器上時使得彼機器執行如請求項丨至6中任一項之方 或作為如請求項21之計算裝置來執行。 ,種含有指令之電腦可讀媒體’該等指令在被讀取至 =上時使得彼機器執行如請求項7之方法或作為如 求項22之計算裝置來執行。 二種含有指令之電腦可讀媒體,該等指令在被讀取至 =上時使得彼機H執行如請求項8之方法或作為^ 求項23之計算裝置來執行。 Z含有指令之電腦可讀媒體,該等指令在被讀取至-2上時使得彼機器執行如請求項9㈣中任―項之戈 一’作為如請求項24之計算裝置來執行。 -種含有指令之電腦可讀媒體,該等指令在被讀取至一 150831.doc 201211509 機器上時使得彼機器執扞 凡仃如s月求項14之方法或作為如請 求項25之計算裝置來執行。 33. 34. 35. 36. 37. 38. 39. 一種含有指令之電腦可嗜拔舻 同」項媒體,戎等指令在被讀取至一 機器上時使得彼機器勃耔 钒仃如凊求項15至19中任一項之方 法或作為如請求項26之計算裝置來執行。 、 -種含有指令之電腦可讀媒體,該等指令在被讀取至一 ^器上時使Γ彼機^執行如請求物之方法或作為如請 求項2 7之叶真裝置來執行。 -種導航裝置,其經配置以使用其—處理器而在—電子 地圖上產生一路線,其中亨卢 r °褒處理态經配置以: 在該電子地圖上執行一路線搜尋; 在該搜尋期間所處理的表 μ ’表亥電子地圖中之可導航段 之郎點處的一成本計算中, Μ Α β 執仃對連接至彼等節點的可 導航段疋否被標記為一最小虚 — 成本路線的部分之一評估;及 右存在此等可導航段,則 J值彳衣索彼等可導航段。 一種提供路線規劃之方法, 提供。 八由如凊求項35之導航裝置 —種含有指令之電腦可讀媒體 _ . ^寻才日令在由—機琴鴣 取時使得彼機器充當如請求機^ 36之方法。 項5之機益或提供如請求項 至2 0之方法中的 任 —種搜尋加速資料,其由如請求項丄 者產 一種電腦可讀媒體,苴含 料。 ,、3有如請求項38之搜尋加速資 150831.doc • 11 - 201211509 40. —種導航裝置’其經配置以使用其一處理器來分析地圖 資料以在一電子地圖上產生至一目的地的一路線,其中 該處理器經配置以: 使用保持於該地圖資料中之資訊在該電子地圖上執行 一路線搜尋; 在該搜尋期間所處理的表示該電子地圖中之可導航段 之節點處的—成本計算中,執行對連接至彼等節點的可 導航段是否在搜尋加速f料内被標記為_最小成本路線 的部分之一評估; 其中該地圖資料包括關於是否存在自彼節點至該目的 地^額外搜尋加速資料之__指示符,該額外搜尋加速資 料提供關於最小成本路線之另外資訊;及 若該額外搜尋加速資料可用,則僅探索在該額外搜尋 加速資料中被標記為_最小成本路線的部分之彼等 航段。 150831.doc201211509 VII. Patent Application Range: 1 · A method for generating map data including search acceleration data, the search acceleration data being configured to increase the speed at which a route can be planned on an electronic map comprising a plurality of navigable segments, each The navigable segment represents a segment of one of the navigable routes in the area covered by the map, wherein the method comprises: a) reducing the core network by removing the navigable segment to form one of the navigable segments The number of navigable segments to be considered in the program for generating the search acceleration data; b) dividing the electronic map into a set of hierarchical regions such that the navigation segment or each navigable segment is classified into the hierarchy In at least one of each level; 1) using - a time varying function associated with at least some of the navigable segments of the core network and typically per navigable segments to determine if the navigable segment is to the region At least _l, the portion of the minimum cost route of the upper and the second v, and the determination is recorded in the search acceleration data; and d) generating the map data. 2. The method of claim </ RTI> wherein the time varying function of each substantially navigable segment is provided in part c). The method of claim 1 or claim 2, wherein the core network is generated by removing the navigable segment from which the search accelerates the lean material to be recovered later. A method of monthly term 1 or eye 2, comprising generating acceleration data for the navigable segments of the core network. 5. The method of claim 1 or claim 2, wherein the navigable segment is removed from the electronic map prior to the generating the search acceleration data according to one or more of the following criteria: 150831.doc 201211509: a navigable segment that satisfies a predetermined criterion relating to the nature of the road; the portion of the network that is formed to form the network is sufficiently small according to a predetermined criterion and can be navigated by removing a further predetermined criterion a navigable segment in which one of the segments is aggregated and disconnected from the rest of the network; in the predetermined case, the nodes appearing at the joint between the navigable segments are folded onto each other; and the shouting point has a connection to In the case of two or less of the following navigable segments, the nodes are folded onto each other. 6. A method of claim 1 or claim 2, comprising compressing the search acceleration data once the search acceleration data has been generated, the compression being according to any of the following techniques: calculating the search acceleration data The correlation of the bit pairs; the substantially related bits in the search acceleration data are aggregated in a lossless manner to reduce the number of bits to be encoded; the relevant bits in the search acceleration data are coalesced so as to Performing lossy compression; reordering the bits in the coalesced search acceleration data according to their correlation; Huffman coding the search acceleration data. • A method of generating map data comprising: search acceleration data configured to increase the speed at which a route can be planned on an electronic map, the method comprising using at least one processing device to process the inclusion complex £ J50831.doc 201211509 An electronic map of navigable segments, the plurality of navigable segments representing a segment of a navigable route in an area covered by the map, the method comprising causing the processing device to: a. process the navigable segments for production At least some of the navigable segments of the electronic map and typically the search acceleration data for each navigable segment 'is indicating whether the navigable segment is part of a least cost route; and b. processing the The generated search acceleration data is used to compress the data, wherein the compression includes any one or more of the following operations: § The correlation of the bit pairs in the acceleration data of the sigma sigma; the coalescence in a lossless manner The search accelerates the fully correlated bits in the data to reduce the number of bits to be encoded; coalescing the correlation in the search acceleration data The bit is used to perform lossy compression; the bits in the coalesced search acceleration data are reordered according to their correlation; Huffman coding is performed on the search acceleration data. 8_A method of generating map data, the map material comprising search acceleration data configured to increase a speed at which a route can be planned on an electronic map, the method comprising using at least one processing device to process the plurality of navigable segments An electronic map, the plurality of navigable segments representing a segment of a navigable route in an area covered by the map, the method comprising causing the processing device to: a. process the navigable segments for navigation by removing Segmenting to form a core network of one of the 150831.doc 201211509 navigable segments to reduce the number of navigable segments to be considered in the program that generates the search acceleration data; b. generating such for the core network Navigating at least some of the navigable segments and generally the search acceleration data for each navigable segment, which indicates that the navigable navigation # is not part of a minimum cost route; and wherein step a. includes the following operations Any one or more of: removing a navigable segment that satisfies a certain m criterion related to the nature of the road; removing from the network a portion of the network that forms part of the network a navigable segment that is sufficiently small and can be disconnected from the rest of the network by removing a set of navigable segments that satisfy some other predetermined criterion; in the pre-event, the navigable segment The nodes appearing at the junctions are folded onto each other; and in the case where the sections have two or more of the following navigable segments connected thereto, the nodes are folded onto each other. 9. A method of generating map data 'This map material includes a search acceleration package configured to increase the speed at which a route can be planned on an electronic map'. The method includes using at least one processing device to process a plurality of An electronic map of the navigation segment 'the plurality of navigable segments each having a plurality of associated nodes of the disc, representing a segment of the navigable route in the area covered by the map and having a representation associated therewith that is navigable At least one attribute of one of the parameters of the route, the method comprising: a) evaluating the at least one attribute; 150831.doc £201211509 ίο. 11. 12. 13. 14. b) dividing the electronic map into a collection of hierarchical regions So that the navigable segment or each navigable segment is classified into at least one of each of the levels, wherein the classification uses the evaluation of step a to ensure that the navigator is associated with the navigator The nodes are balanced between the zones of the electronic map; c) the map material is generated. The method of claim 9 wherein step a) and step b) are repeated until a predetermined criterion for determining the balance of the nodes between the zones is met. The method of claim 9 or claim 1, wherein the attribute comprises any one of: a type of a guideable segment; an average speed along the navigable segment; a length of the navigable segment; The connectivity of this segment to other navigable segments. The method of claim 9 or claim 10, wherein the method is configured to determine that the travel time in the map will be slower than a predetermined threshold, and the navigable segments in the area are associated with the electronic map The other areas are separated. A method of t-month item 9 or claim 1 , configured to separate the navigable segment of the island/the other region of the electronic map by means of determining the property of the navigator Line to perform this separation. a method for generating map data, the map material comprising: configured to increase: a search acceleration that can be used to plan a route on an electronic map; and the method includes using at least one processing device to process a plurality of inclusions 150831.doc An electronic map of 201211509 navigable segments, each of which represents a segment of a navigable route in an area covered by the map, the method comprising: a) dividing the map into at least one coarser rank And a plurality of hierarchical regions adjacent to the finer level, such that each of the navigable segments is classified into at least one of the coarser level and the finer level, and wherein the coarser Level of responsibilities - the zone contains a plurality of zones of the finer level; b) for a given destination area, by evaluating whether a zone close to the coarser zone containing the target zone should be added to a visibility zone and Adding the zones when the evaluation is affirmative and determining the range of the visibility zone containing at least the coarser grade zone containing the destination zone; c) At least some navigable segments, calculating information about at least one least cost route to a region of interest; d) wherein processing the pair of navigation segments includes performing a reverse search from the destination region in turn toward one of the navigable segments, And substantially only includes the navigable segment in the visibility region of the destination area; and e) generating the map material. 15. A method of generating map data, the map material comprising search acceleration data configured to increase a speed at which a route can be planned on an electronic map, the method comprising using at least one processing device to process a plurality of navigable An electronic map of segments, each of the plurality of navigable segments respectively representing a segment of a navigable route in an area covered by the map, the method comprising: 150831.doc 201211509 a) dividing the δ meta-map into at least one coarser a plurality of hierarchical regions of a rank and an adjacent finer level such that each navigable segment is classified into at least one of the coarser rank and each of the finer ranks, and wherein the comparison Any of the coarser levels contains a plurality of zones of the finer level; _b) for a given destination area, by evaluating whether a zone close to the coarser zone containing the destination zone should be added to a visibility a region and adding the zones when the evaluation is positive to determine a range of the visibility zone containing at least the coarser zone containing the destination zone C) calculating, for at least some navigable segments, information about at least one least cost route to the region of interest; d) configuring the search acceleration profile to include some and usually each navigable segment in the visibility region Information on at least the least cost route to the destination area; and e) generating the map material. 16. 17. 18. The method of claim 14 or claim 15, wherein the assessment in step 是否 is based on whether the zone is close to the coarser graded zone containing the target zone based on the following A predetermined criterion for either or combination: graph theoretical distance, geographic distance, travel time, fuel consumption, and/or (10) emissions. The method of claim 15 or claim 16, wherein the step b evaluates an area adjacent to the coarser level region containing the region of interest. The method of claim 15 or claim 16 wherein the zone added to the visibility area comprises at least one of: the coarser level _ 150831.doc 201211509 or a plurality of zones and one of the coarser ranks Or part of multiple zones. The method of claim 15 or claim 16, wherein the search acceleration data includes at least an additional route other than the least cost route, wherein the additional route may reflect any one or more of the following: Different minimum cost routes at different times between a given departure point and a destination point; different minimum cost routes between the given departure point and the destination point for different traffic situations; according to different cost functions at a given starting point and destination Different minimum cost routes between locations; different minimum cost routes between a given departure point and destination point for any dynamic change in a given road network; according to the same cost function at a given departure point and destination point Alternative routes between; and different destination points in a similar direction to each other. 2. A method of generating map data, the map material comprising search acceleration data configured to increase a speed at which a route can be planned on an electronic map, the method comprising using at least one processing device to process a plurality of An electronic map of the navigation segment, the plurality of navigable segments each representing a segment of a navigable route in an area covered by the map, the method comprising: a) dividing the map into one or more levels a plurality of hierarchical areas; b) processing a specific level belonging to one of the levels in the order of the hierarchical level. S150831.doc 0 201211509 At least some of the areas in the area, from the finest level to the most coarse level And determining, for at least some of the zones, which navigable segments enter and/or leave the zone; c) processing at least some of the navigable segments of the map to determine from the other Navigating at least one minimum cost route from the segment to the destination area; d) wherein the processing of the pair of navigable segments comprises performing the reverse from the destination region One of the navigation segments is reverse searched; e) in the resulting search map, for at least one region at the next finer level, identifying one of the regions of the next finer level, such that from the given region Each minimum cost path passes through at least one of the zones of the set, resulting in a correlation matrix; f) identifying, in the resulting search map, which navigable segments are not included in a different zone than from itself From any route to another destination, such that it can be considered a "non-transport segment" and removes non-transport segments for subsequent steps to reduce the navigable segments considered in these subsequent steps The number; g) wherein the generating the search acceleration data comprises using the correlation matrix to assign the search acceleration data to the 'non-transport segments that have been removed in all previous steps; and h) generating the map material. 21_At least one computing device configured to perform the method of any one of claims 1-6. 22. At least one computing device configured to perform the method of claim 17 s. 23 24 25 26 27 28 29 30. 31. 32. At least one computing device' is configured to perform the method of claim 8. At least one computing device configured to perform the method of any one of claims 9 to 3. At least one computing device&apos; configured to perform at least one computing device as claimed in item 0, which is configured to perform the method of any of the claims. At least one computing device configured to perform, as in claim 2, a method. A computer readable medium containing instructions that, when read onto a machine, cause the machine to perform any of the claims 1 to 6 or as a computing device as claimed in claim 21 To execute. A computer readable medium containing instructions that, when read onto = causes the machine to perform the method of claim 7 or as the computing device of claim 22. Two computer readable media containing instructions that, when read onto = cause the other machine H to perform the method of claim 8 or the computing device of claim 23. Z contains a computer readable medium of instructions which, when read onto a -2, cause the machine to perform as a computing device as claimed in claim 24, as claimed in claim 9 (d). - a computer readable medium containing instructions which, when read onto a machine of a 150831.doc 201211509, cause the machine to perform a method such as the method of claim 14 or the computing device of claim 25 To execute. 33. 34. 35. 36. 37. 38. 39. A computer with instructions that can be used to confuse the media, such as when the instructions are read onto a machine, so that the machine is arrogant The method of any one of clauses 15 to 19 or as the computing device of claim 26. - A computer readable medium containing instructions that, when read onto a device, cause the device to perform a method as claimed or as a leaf device as claimed in claim 27. a navigation device configured to use its processor to generate a route on an electronic map, wherein the Henlu process is configured to: perform a route search on the electronic map; during the search In a cost calculation at the point of the navigable segment in the electronic map of the table, Μ Α β 仃 仃 仃 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可 可One of the parts of the route is evaluated; and if there is such a navigable segment on the right, then the J value is a navigable segment. A method of providing route planning, provided. The navigation device of claim 35 is a computer readable medium containing instructions. The seeker makes the machine act as a requester 36 when it is taken by the machine. The benefit of item 5 or the provision of any of the methods of requesting to 20, the search acceleration data, which is produced by a computer readable medium, such as a request item. , 3, like the search acceleration of claim 38, 150831.doc • 11 - 201211509 40. A navigation device that is configured to analyze map data using one of its processors to generate a destination on an electronic map a route, wherein the processor is configured to: perform a route search on the electronic map using information maintained in the map material; at a node processed during the search that represents a navigable segment in the electronic map - in the cost calculation, performing an evaluation of whether the navigable segment connected to the nodes is marked as one of the parts of the search acceleration f_the minimum cost route; wherein the map material includes whether there is a self-node to the purpose Additional search for the __ indicator of the acceleration data, the additional search acceleration data providing additional information about the least cost route; and if the additional search acceleration data is available, only the search is marked as _minimum in the additional search acceleration data The segments of the cost route are part of them. 150831.doc
TW99131295A 2010-09-15 2010-09-15 Navigation devices TW201211509A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW99131295A TW201211509A (en) 2010-09-15 2010-09-15 Navigation devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW99131295A TW201211509A (en) 2010-09-15 2010-09-15 Navigation devices

Publications (1)

Publication Number Publication Date
TW201211509A true TW201211509A (en) 2012-03-16

Family

ID=46764326

Family Applications (1)

Application Number Title Priority Date Filing Date
TW99131295A TW201211509A (en) 2010-09-15 2010-09-15 Navigation devices

Country Status (1)

Country Link
TW (1) TW201211509A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9500487B2 (en) 2011-12-27 2016-11-22 Apple Inc. Shortest path determination for large graphs
TWI679581B (en) * 2017-10-31 2019-12-11 香港商阿里巴巴集團服務有限公司 Method and device for task execution
TWI681169B (en) * 2015-10-30 2020-01-01 元智大學 Navigation method and device thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9500487B2 (en) 2011-12-27 2016-11-22 Apple Inc. Shortest path determination for large graphs
TWI681169B (en) * 2015-10-30 2020-01-01 元智大學 Navigation method and device thereof
TWI679581B (en) * 2017-10-31 2019-12-11 香港商阿里巴巴集團服務有限公司 Method and device for task execution

Similar Documents

Publication Publication Date Title
CN105758412B (en) Use the navigation device of the map datum with route search acceleration data
JP6030544B2 (en) Computer device, method thereof, storage medium, and navigation apparatus
US9835466B2 (en) Navigation devices
KR20110025799A (en) A method of resolving a location from encoded data representative thereof
US9086288B2 (en) Method and system for finding paths using GPS tracks
TW201211509A (en) Navigation devices
TW201211508A (en) Navigation devices and methods carried out thereon