亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

柵格編碼的制作方法

文檔序號(hào):2821423閱讀:339來(lái)源:國(guó)知局
專利名稱:柵格編碼的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)涉及用于編碼柵格數(shù)據(jù)的方法與裝置。
背景技術(shù)
柵格是包括多個(gè)由定向鏈接互連的節(jié)點(diǎn)的定向非循環(huán)圖。產(chǎn)生柵格數(shù)據(jù)的系統(tǒng)的一個(gè)例子是語(yǔ)音識(shí)別應(yīng)用,其中柵格數(shù)據(jù)用于表示當(dāng)檢測(cè)到的語(yǔ)音信號(hào)被處理時(shí)的大量可選假設(shè)。然后,由語(yǔ)音識(shí)別系統(tǒng)產(chǎn)生的柵格數(shù)據(jù)可以用作其它應(yīng)用的輸入。在用于語(yǔ)音識(shí)別系統(tǒng)的柵格數(shù)據(jù)的情況下,柵格的節(jié)點(diǎn)和鏈接與其它識(shí)別詞的數(shù)據(jù)或其它如音素和概率的語(yǔ)音單元關(guān)聯(lián),因此柵格數(shù)據(jù)記錄了檢測(cè)到的信號(hào)可能表示的可選假設(shè)。
在產(chǎn)生柵格數(shù)據(jù)的時(shí)候,兩種類型的柵格數(shù)據(jù)可以被識(shí)別。首先是與識(shí)別柵格所表示假設(shè)的柵格的各個(gè)鏈接和節(jié)點(diǎn)關(guān)聯(lián)的數(shù)據(jù)。其次是識(shí)別柵格節(jié)點(diǎn)如何互連的柵格結(jié)構(gòu)。
柵格結(jié)構(gòu)通常是通過(guò)以起始節(jié)點(diǎn)結(jié)束節(jié)點(diǎn)數(shù)據(jù)的形式存儲(chǔ)鏈接數(shù)據(jù)來(lái)存儲(chǔ)的。鏈接數(shù)據(jù)更緊湊的表示可以通過(guò)存儲(chǔ)由起始節(jié)點(diǎn)分類的鏈接(因此只有結(jié)束節(jié)點(diǎn)數(shù)據(jù)需要存儲(chǔ))及通過(guò)使用節(jié)點(diǎn)偏移而不是絕對(duì)節(jié)點(diǎn)號(hào)來(lái)實(shí)現(xiàn)。這種方法的主要問(wèn)題是結(jié)果編碼不一定會(huì)顯示柵格中的任何規(guī)律性。即,兩個(gè)看起來(lái)完全相同的子結(jié)構(gòu)會(huì)導(dǎo)致兩個(gè)完全不同的符號(hào)序列。這是因?yàn)殒溄訑?shù)據(jù)和節(jié)點(diǎn)號(hào)(或偏移)獨(dú)立于特定子結(jié)構(gòu)的編碼。因此,壓縮表示以這種形式存儲(chǔ)的柵格結(jié)構(gòu)的數(shù)據(jù)是困難的。
根據(jù)剪枝參數(shù),由例如語(yǔ)音識(shí)別系統(tǒng)產(chǎn)生的柵格結(jié)構(gòu)會(huì)非常大。如果要存儲(chǔ)大柵格結(jié)構(gòu),則需要大量存儲(chǔ)器。如果大柵格結(jié)構(gòu)要通過(guò)網(wǎng)絡(luò)發(fā)送,則需要大量的發(fā)送容量。因此,為了存儲(chǔ)和發(fā)送,需要有效地壓縮柵格結(jié)構(gòu)。
因此,需要一種具有更高利用相同符號(hào)序列表示等效結(jié)構(gòu)的可能性的柵格結(jié)構(gòu)表示,因而更易于利用傳統(tǒng)壓縮技術(shù)進(jìn)行更高的壓縮。


現(xiàn)在參考附圖,僅作為例子描述本發(fā)明的一種實(shí)施方式,其中圖1是體現(xiàn)根據(jù)本發(fā)明柵格處理器和再生模塊的文檔檢索系統(tǒng)的示意性方框圖;圖2是由語(yǔ)音識(shí)別系統(tǒng)解碼表示短語(yǔ)“Taj Mahal畫...”的信號(hào)的示例柵格結(jié)構(gòu)的示意圖;圖3是圖1柵格處理器功能單元的示意性方框圖;圖4是由圖1柵格處理器執(zhí)行的處理操作概述的流程圖;圖5是由圖1柵格處理器的嵌入模塊執(zhí)行的處理操作的流程圖;圖6A-6E是圖1柵格處理器的嵌入模塊處理示例柵格結(jié)構(gòu)的示意圖;圖7是由圖1柵格處理器的鏈接編碼模塊執(zhí)行的處理操作的流程圖;圖8A-8H是圖1柵格處理器的鏈接編碼模塊處理圖6E示例嵌入式柵格結(jié)構(gòu)的示意圖;圖9A和B是由圖1柵格處理器的形狀編碼模塊執(zhí)行的處理操作的流程圖;圖10A、B、C是圖1柵格處理器的編碼模塊編碼圖8H示例嵌入式柵格的示意圖;圖11A-D是由圖1柵格處理器的解碼模塊執(zhí)行的處理操作的流程圖;圖12是由圖1柵格處理器的解碼模塊處理鏈接編碼所執(zhí)行的處理操作的流程圖;圖13A-13F是利用鏈接編碼數(shù)據(jù)的嵌入式柵格部分再生的示意圖;
圖14A-14G是圖1柵格處理器的解碼模塊再生圖6A的示例嵌入式柵格的示意圖;及圖15是響應(yīng)壓縮數(shù)據(jù)的接收,由圖1的文檔存儲(chǔ)單元執(zhí)行的處理操作的流程圖。
具體實(shí)施例方式
現(xiàn)在僅作為例子描述本發(fā)明的一種具體實(shí)施方式
。
參考圖1,這是文檔檢索系統(tǒng)的示意性方框圖,提供了經(jīng)網(wǎng)絡(luò)3連接到文檔存儲(chǔ)單元2的客戶計(jì)算機(jī)1。連接到客戶計(jì)算機(jī)1的還有麥克風(fēng)5。
在這種實(shí)施方式中,客戶計(jì)算機(jī)1和文檔存儲(chǔ)單元2每個(gè)都包括通過(guò)從如磁盤8的存儲(chǔ)介質(zhì)讀計(jì)算機(jī)指令或通過(guò)經(jīng)網(wǎng)絡(luò)3下載信號(hào)9形式的指令來(lái)配置的可編程計(jì)算機(jī),從而配置成多個(gè)概念性功能模塊。
在這種實(shí)施方式中,客戶計(jì)算機(jī)1的功能模塊包括語(yǔ)音識(shí)別模塊10、柵格處理器11和數(shù)據(jù)壓縮模塊12。文檔存儲(chǔ)單元2的功能模塊包括解壓縮單元15,再生模塊17和文檔檢索單元19。
客戶計(jì)算機(jī)1的語(yǔ)音識(shí)別模塊10布置成響應(yīng)檢測(cè)到如用戶說(shuō)出的短語(yǔ)的音頻信號(hào)而接收由麥克風(fēng)5產(chǎn)生的電信號(hào)。語(yǔ)音識(shí)別模塊10處理接收到的電子信號(hào),產(chǎn)生表示由用戶說(shuō)出并由麥克風(fēng)5檢測(cè)到的音頻信號(hào)表示什么短語(yǔ)的多種假設(shè)的語(yǔ)音柵格。
作為例子,圖2是解碼表達(dá)“Taj Mahal畫...”的假設(shè)性組合音素與詞的柵格結(jié)構(gòu)的示意圖。圖中節(jié)點(diǎn)由圓圈表示,而且圓圈從左向右以遞增的時(shí)間增序排列。圖2柵格結(jié)構(gòu)中的鏈接是由節(jié)點(diǎn)之間的箭頭表示的。這些鏈接每個(gè)都示為與由大寫字母表示的詞或由小寫字母表示的音素關(guān)聯(lián)。在這種實(shí)施方式中,語(yǔ)音識(shí)別模塊10布置成以例如[節(jié)點(diǎn)號(hào)、從節(jié)點(diǎn)出發(fā)的鏈接列表、節(jié)點(diǎn)所表示的時(shí)間、與節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)]形式的傳統(tǒng)形式產(chǎn)生并存儲(chǔ)語(yǔ)音柵格數(shù)據(jù)。語(yǔ)音柵格的鏈接數(shù)據(jù)也以例如[起始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)、與鏈接關(guān)聯(lián)的數(shù)據(jù)]形式的傳統(tǒng)方式存儲(chǔ)。
由語(yǔ)音識(shí)別模塊10產(chǎn)生的語(yǔ)音柵格可以非常大。為了避免經(jīng)網(wǎng)絡(luò)3發(fā)送大量數(shù)據(jù),在語(yǔ)音柵格產(chǎn)生后,柵格處理器11產(chǎn)生柵格結(jié)構(gòu)的緊湊表示。如隨后將具體描述的,緊湊表示是利用相同的符號(hào)序列編碼相同的柵格子結(jié)構(gòu),因而尤其容易利用傳統(tǒng)的數(shù)據(jù)壓縮技術(shù)進(jìn)行壓縮。
一旦產(chǎn)生了柵格結(jié)構(gòu)的緊湊表示,這種表示然后就和與最初產(chǎn)生的語(yǔ)音柵格中的鏈接和節(jié)點(diǎn)關(guān)聯(lián)的數(shù)據(jù)一起由數(shù)據(jù)壓縮模塊12利用傳統(tǒng)數(shù)據(jù)壓縮技術(shù)進(jìn)行壓縮。然后,壓縮數(shù)據(jù)經(jīng)網(wǎng)絡(luò)3發(fā)送到文檔存儲(chǔ)單元2。
利用解壓縮單元15和再生模塊17的文檔存儲(chǔ)單元2處理壓縮數(shù)據(jù),以便再生原始語(yǔ)音柵格。然后,再生的語(yǔ)音柵格傳遞到響應(yīng)接收到的語(yǔ)音柵格而檢索文檔的文檔檢索單元17。然后,該檢索出的文檔經(jīng)計(jì)算機(jī)經(jīng)網(wǎng)絡(luò)3發(fā)送回客戶計(jì)算機(jī)1。
柵格處理器的結(jié)構(gòu)參考圖3,這是柵格處理器11功能組件的示意性方框圖,在這種實(shí)施方式中柵格處理器11包括數(shù)據(jù)存儲(chǔ)器20、嵌入模塊22、鏈接編碼模塊24、形狀編碼模塊26、解碼模塊28及輸出模塊29。
更具體而言,在這種實(shí)施方式中,數(shù)據(jù)存儲(chǔ)器20布置成從語(yǔ)音識(shí)別模塊10接收語(yǔ)音柵格數(shù)據(jù)。然后,包括語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32的語(yǔ)音柵格數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)存儲(chǔ)器20中。
在這種實(shí)施方式中,語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30包括定義以傳統(tǒng)形式存儲(chǔ)的語(yǔ)音柵格的數(shù)據(jù),如以[節(jié)點(diǎn)號(hào)、所連接的節(jié)點(diǎn)列表、由該節(jié)點(diǎn)表示的時(shí)間及如與節(jié)點(diǎn)關(guān)聯(lián)的變化概率的其它數(shù)據(jù)]形式的數(shù)據(jù)形式。語(yǔ)音鏈接數(shù)據(jù)32包括將由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30定義的柵格結(jié)構(gòu)中的鏈接與識(shí)別詞或音素的數(shù)據(jù)關(guān)聯(lián)起來(lái)的數(shù)據(jù)。語(yǔ)音鏈接數(shù)據(jù)32也是以傳統(tǒng)形式存儲(chǔ)的,如[起始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)、如識(shí)別與該鏈接關(guān)聯(lián)的詞或音素或變化概率的數(shù)據(jù)的其它數(shù)據(jù)]形式的數(shù)據(jù)。
嵌入模塊22布置成處理語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30,以便產(chǎn)生識(shí)別由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30的節(jié)點(diǎn)所表示不同時(shí)間的定時(shí)數(shù)據(jù)34。然后,定時(shí)數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。然后如隨后將具體描述的,嵌入模塊22產(chǎn)生由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30定義的柵格結(jié)構(gòu)的第一表示。這種表示是以嵌入表36、虛鏈接和節(jié)點(diǎn)數(shù)據(jù)38及交叉鏈接數(shù)據(jù)39的形式的。
在這種實(shí)施方式中,由嵌入模塊22產(chǎn)生的柵格結(jié)構(gòu)表示隨后由鏈接編碼模塊24處理。更具體而言,鏈接編碼模塊24處理該柵格結(jié)構(gòu)表示,從而使柵格結(jié)構(gòu)通過(guò)從柵格結(jié)構(gòu)中除去某些鏈接和節(jié)點(diǎn)而簡(jiǎn)化,同時(shí)產(chǎn)生識(shí)別從柵格結(jié)構(gòu)中除去的鏈接和節(jié)點(diǎn)的鏈接編碼數(shù)據(jù)40。鏈接編碼數(shù)據(jù)40也存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。
在柵格結(jié)構(gòu)由鏈接編碼模塊24簡(jiǎn)化以后,形狀編碼模塊26然后處理該簡(jiǎn)化的柵格結(jié)構(gòu)并產(chǎn)生最終的柵格結(jié)構(gòu)編碼。在這種實(shí)施方式中,以形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44形式的這種編碼全都存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。與隨后將具體描述的由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30表示的原始柵格結(jié)構(gòu)相反,形狀編碼42和鏈接列表43包括以使等效結(jié)構(gòu)利用相同的符號(hào)序列被編碼的表示來(lái)編碼相同柵格結(jié)構(gòu)的數(shù)據(jù),因而易于利用傳統(tǒng)的壓縮技術(shù)進(jìn)行更高的壓縮。
在形狀編碼模塊26產(chǎn)生最終的柵格結(jié)構(gòu)編碼以后,解碼模塊28處理該最終編碼,以確定編碼柵格結(jié)構(gòu)中鏈接的排序。這是通過(guò)解碼模塊28再生編碼柵格結(jié)構(gòu)然后確定再生柵格結(jié)構(gòu)中鏈接的排序?qū)崿F(xiàn)的。
在鏈接的排序由解碼部分28確定以后,輸出模塊29然后向數(shù)據(jù)壓縮模塊12輸出由嵌入模塊22產(chǎn)生的定時(shí)數(shù)據(jù)34、識(shí)別虛節(jié)點(diǎn)和鏈接的數(shù)據(jù)38及交叉鏈接數(shù)據(jù)39;由形狀編碼模塊26產(chǎn)生的形狀編碼42和鏈接列表43;及與原始語(yǔ)音柵格上分別來(lái)自語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32的節(jié)點(diǎn)和鏈接關(guān)聯(lián)的其它數(shù)據(jù)。與節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)利用由形狀編碼模塊26產(chǎn)生的節(jié)點(diǎn)列表44排序;而與鏈接關(guān)聯(lián)的其它數(shù)據(jù)以由解碼模塊28確定的順序排序。
然后,由輸出模塊29輸出的數(shù)據(jù)被數(shù)據(jù)壓縮模塊12以傳統(tǒng)方式壓縮,因此壓縮數(shù)據(jù)可以在被解壓縮之前經(jīng)網(wǎng)絡(luò)3發(fā)送,語(yǔ)音柵格可由文檔存儲(chǔ)單元2再生。
現(xiàn)在參考圖4描述柵格處理器11更具體的處理概述,圖4是由柵格處理器11執(zhí)行的處理的流程圖。
柵格處理器執(zhí)行的處理概述最初(S4-1),當(dāng)由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32表示的語(yǔ)音柵格被柵格處理器11接收并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中時(shí),嵌入模塊22確定由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30表示的柵格結(jié)構(gòu)的第一表示。這種初始表示是以存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的定時(shí)數(shù)據(jù)34及嵌入表36的形式的。
更具體而言,當(dāng)語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30被柵格處理器11接收時(shí),嵌入模塊22首先產(chǎn)生包括由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30的節(jié)點(diǎn)表示的所有不同時(shí)間的列表的定時(shí)數(shù)據(jù)34。
如前所述,語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30為語(yǔ)音柵格中的每個(gè)節(jié)點(diǎn)識(shí)別由該節(jié)點(diǎn)表示的時(shí)間。因而,例如在圖2所示語(yǔ)音柵格的情況下,這些不同的定時(shí)是由表示圖2示例柵格中節(jié)點(diǎn)的圓圈不同的左/右位置表示的。
由于語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30明確地將時(shí)間數(shù)據(jù)與各節(jié)點(diǎn)關(guān)聯(lián)在一起,因此在不止一個(gè)節(jié)點(diǎn)與同一時(shí)間關(guān)聯(lián)的情況下,這種時(shí)間數(shù)據(jù)將會(huì)重復(fù)。因此,有可能通過(guò)除去這種重復(fù)減少表示由節(jié)點(diǎn)所表示時(shí)間的數(shù)據(jù)量。更具體而言,如果產(chǎn)生不同定時(shí)的列表,則各個(gè)節(jié)點(diǎn)可以識(shí)別為與該列表中的特定定時(shí)關(guān)聯(lián)。以這種許多節(jié)點(diǎn)與同一定時(shí)關(guān)聯(lián)的方式,通過(guò)作為時(shí)間數(shù)據(jù)顯式地包括在與各節(jié)點(diǎn)關(guān)聯(lián)的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30中,這種定時(shí)數(shù)據(jù)只記錄一次而不是多次。
在用于柵格結(jié)構(gòu)的定時(shí)數(shù)據(jù)34被嵌入模塊22確定并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20以后,由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30編碼的柵格結(jié)構(gòu)的初始表示由嵌入模塊22產(chǎn)生。
在這種實(shí)施方式中,這種初始表示為每個(gè)此后稱為層的、由定時(shí)數(shù)據(jù)34列表中的時(shí)間識(shí)別的定時(shí)包括由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30在那些定時(shí)與其關(guān)聯(lián)的節(jié)點(diǎn)列表及為柵格中每個(gè)鏈接識(shí)別起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)對(duì)的數(shù)據(jù)拷貝。這種數(shù)據(jù)由嵌入模塊22作為嵌入數(shù)據(jù)和鏈接數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20的嵌入表36中。
圖6A是柵格結(jié)構(gòu)的示意圖,其中節(jié)點(diǎn)由包含數(shù)字的圓圈表示,而節(jié)點(diǎn)之間的鏈接示為圓圈之間箭頭的形式。在圖6A中,共享同一定時(shí)數(shù)據(jù)的節(jié)點(diǎn)在同一水平位置示出。
在圖6A柵格的情況下,所說(shuō)明的由嵌入模塊22產(chǎn)生的柵格結(jié)構(gòu)的初始表示將是以下存儲(chǔ)在嵌入表36中的嵌入數(shù)據(jù)的形式層號(hào)節(jié)點(diǎn)列表1
2 [1,2]3 [3,4,5]4 [6]5 [7,8]6 [9]其中層號(hào)指示包含節(jié)點(diǎn)的列,而節(jié)點(diǎn)列表指示該列中的節(jié)點(diǎn)。在這個(gè)例子中,鏈接數(shù)據(jù)包括識(shí)別對(duì)圖6A所示每個(gè)箭頭的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的數(shù)據(jù)列表。因而,以鏈接(0,1)、(0,2)、(1,3)、(1,4)、(1,5)等形式的鏈接數(shù)據(jù)也將存儲(chǔ)在嵌入表36中。
如隨后具體描述的,由嵌入模塊22產(chǎn)生的初始表示隨后被處理,以便產(chǎn)生可選表示。
在圖6A柵格的情況下,這種可選表示是由圖6E說(shuō)明的。比較圖6A和圖6E的結(jié)構(gòu),與圖6A中有些箭頭(例如,節(jié)點(diǎn)3和7及節(jié)點(diǎn)4和7之間的箭頭)將彼此不相鄰的列中的節(jié)點(diǎn)鏈接在一起相反,在圖6E中向表示添加了附加虛節(jié)點(diǎn)和虛鏈接,因此每個(gè)節(jié)點(diǎn)都連接到相鄰列中的一個(gè)或多個(gè)節(jié)點(diǎn)。在圖6E中,這些附加節(jié)點(diǎn)由出現(xiàn)在柵格中的方框示出,而附加鏈接由虛線示出。
另外,與圖6A相比,在圖6E中向柵格添加了額外的層,因此最后一層包含在圖6E中示為虛節(jié)點(diǎn)D4的單個(gè)節(jié)點(diǎn)。這種結(jié)構(gòu)還通過(guò)重新布置列中節(jié)點(diǎn)的順序并除去鏈接(節(jié)點(diǎn)5和6之間的鏈接)來(lái)改變,因此圖6E所示的結(jié)果結(jié)構(gòu)不包含以圖6A中鏈接2-3和1-5所示方式彼此交叉的鏈接。即,該表示中的鏈接和節(jié)點(diǎn)識(shí)別出了平面圖,及,可以不帶任何交叉鏈接地嵌入在平面中的圖。
識(shí)別作為嵌入模塊22處理結(jié)果而添加或除去的節(jié)點(diǎn)和鏈接的數(shù)據(jù)由嵌入模塊22分別作為虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38和交叉鏈接數(shù)據(jù)39存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。
一旦柵格結(jié)構(gòu)的修正表示已由嵌入模塊22確定,柵格處理器11然后開始產(chǎn)生這種修正結(jié)構(gòu)的編碼。這種編碼是以兩階段處理執(zhí)行的。
最初(S4-2),鏈接編碼模塊24使結(jié)構(gòu)的某些部分以與節(jié)點(diǎn)間鏈接關(guān)聯(lián)的數(shù)據(jù)形式編碼。具體而言,如隨后將具體描述的,鏈接編碼模塊24編碼修正柵格結(jié)構(gòu)中對(duì)應(yīng)于彼此串聯(lián)連接的多個(gè)鏈接或通過(guò)多條不連接到柵格結(jié)構(gòu)中任何其它節(jié)點(diǎn)的并行路徑的部分。
因而,例如在圖6E所說(shuō)明柵格結(jié)構(gòu)的情況下,就象圖6E中節(jié)點(diǎn)1和節(jié)點(diǎn)7之間經(jīng)節(jié)點(diǎn)4和5的并行路徑的編碼那樣,確定了圖6E中節(jié)點(diǎn)6和D4之間經(jīng)節(jié)點(diǎn)8和10的鏈接與節(jié)點(diǎn)的編碼。
圖8H是對(duì)應(yīng)于在線性和并行路徑編碼后的圖6E柵格的簡(jiǎn)化柵格結(jié)構(gòu)的例子。在圖8H中,節(jié)點(diǎn)由圓圈說(shuō)明,而節(jié)點(diǎn)之間的鏈接由箭頭示出。與圖8H所示每個(gè)鏈接關(guān)聯(lián)的是緊挨著箭頭寫的碼。這些碼由鏈接編碼模塊24產(chǎn)生并作為鏈接編碼數(shù)據(jù)40存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。
在鏈接編碼模塊24產(chǎn)生簡(jiǎn)化的柵格結(jié)構(gòu)和鏈接編碼數(shù)據(jù)40以后,如由圖8H的柵格結(jié)構(gòu)所說(shuō)明的,該簡(jiǎn)化的柵格結(jié)構(gòu)將是沒有交叉鏈接的平面圖,其鏈接和節(jié)點(diǎn)定義了多個(gè)互連區(qū)域。在圖8H的情況下,這些區(qū)域在圖8H中從左向右是由節(jié)點(diǎn)0、2、3和1及其相關(guān)鏈接構(gòu)成的菱形,由節(jié)點(diǎn)2、6、7和3及其相關(guān)鏈接構(gòu)成的菱形,由節(jié)點(diǎn)1、3和7及其相關(guān)鏈接構(gòu)成的三角形,及由節(jié)點(diǎn)6、7和D4及這些節(jié)點(diǎn)間鏈接構(gòu)成的另一三角形。
然后(S4-3),形狀編碼模塊26開始以3個(gè)符號(hào)列表的形式編碼最初由鏈接編碼模塊24處理的柵格結(jié)構(gòu)。
在這種實(shí)施方式中,這些列表包括識(shí)別由鏈接編碼模塊24所產(chǎn)生簡(jiǎn)化柵格定義的區(qū)域彼此鏈接的方式的形狀編碼42、是與簡(jiǎn)化柵格中鏈接關(guān)聯(lián)的鏈接編碼數(shù)據(jù)40的有序級(jí)聯(lián)的鏈接列表43及識(shí)別節(jié)點(diǎn)號(hào)出現(xiàn)在簡(jiǎn)化柵格和相關(guān)鏈接編碼數(shù)據(jù)中的順序的節(jié)點(diǎn)列表44。
如當(dāng)具體描述這些列表的產(chǎn)生時(shí)將變得明顯的,這些列表以一種使相同子結(jié)構(gòu)由相同符號(hào)序列編碼并因而產(chǎn)生非常易于利用傳統(tǒng)數(shù)據(jù)壓縮技術(shù)進(jìn)行數(shù)據(jù)壓縮的編碼的方式編碼由鏈接編碼模塊24處理的柵格結(jié)構(gòu)。
在這三個(gè)列表由形狀編碼模塊26產(chǎn)生并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中以后,形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44隨后(S4-4)被解碼模塊28處理。解碼模塊28的解碼結(jié)果是產(chǎn)生由存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20的嵌入表36中的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30表示的柵格結(jié)構(gòu)的另一表示。從為圖6A的柵格結(jié)構(gòu)產(chǎn)生的形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44產(chǎn)生柵格的處理隨后將具體描述。
通過(guò)解碼用于圖6A結(jié)構(gòu)的形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44而確定的最終表示在圖14G中示出。比較由圖14G和圖6A所說(shuō)明的柵格結(jié)構(gòu)的說(shuō)明,盡管列中節(jié)點(diǎn)表示的排序在兩個(gè)說(shuō)明之間不同,但看起來(lái)有可能讓人覺得圖6A和14G所示鏈接之間的互連是完全相同的,而且節(jié)點(diǎn)示為在相同列中。但是,由于列中的排序不依賴于語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30,因此盡管圖6A和圖14G的嵌入式柵格不是完全相同,它們也表示相同的柵格結(jié)構(gòu)。
在由存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的數(shù)據(jù)編碼的實(shí)際嵌入柵格結(jié)構(gòu)被解碼模塊28確定以后,輸出模塊29隨后(S4-5)向數(shù)據(jù)壓縮模塊12傳遞定時(shí)數(shù)據(jù)34、虛節(jié)點(diǎn)和虛鏈接列表38、交叉鏈接數(shù)據(jù)39及表示由解碼模塊28解碼的最終嵌入式表示的形狀編碼42和鏈接列表43。
此外,如隨后具體描述的,輸出模塊29還向輸出模塊12傳遞與語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32的節(jié)點(diǎn)和鏈接關(guān)聯(lián)的數(shù)據(jù)的有序列表。
與語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30的節(jié)點(diǎn)關(guān)聯(lián)的數(shù)據(jù)是以對(duì)應(yīng)于存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的節(jié)點(diǎn)列表44的順序排序的。與語(yǔ)音鏈接數(shù)據(jù)32的鏈接關(guān)聯(lián)的數(shù)據(jù)是基于由解碼模塊28為語(yǔ)音柵格產(chǎn)生的最終柵格結(jié)構(gòu)排序的。例如,在圖13G語(yǔ)音柵格的情況下,鏈接數(shù)據(jù)可以對(duì)應(yīng)于從上到下然后從左到右出現(xiàn)的鏈接列來(lái)排序。因而,例如,最初鏈接0-2的數(shù)據(jù)將由輸出模塊29傳遞到解壓縮模塊12,然后是對(duì)應(yīng)于圖14G鏈接順序的順序0-1、2-6、2-3、1-3、1-4、1-5等的以下鏈接的鏈接數(shù)據(jù)。
如前所述,用于編碼柵格結(jié)構(gòu)的形狀編碼數(shù)據(jù)42和鏈接列表43表示利用完全相同符號(hào)序列的等效結(jié)構(gòu)。這意味著在許多柵格子結(jié)構(gòu)類似的時(shí)候,由柵格處理器11傳遞到數(shù)據(jù)壓縮模塊12的數(shù)據(jù)可以有效地利用傳統(tǒng)壓縮技術(shù)壓縮,從而減少需要經(jīng)網(wǎng)絡(luò)3發(fā)送的數(shù)據(jù)量。
當(dāng)壓縮數(shù)據(jù)被解壓縮單元15解壓縮時(shí),解壓縮數(shù)據(jù)用于再生原始語(yǔ)音柵格,該原始語(yǔ)音柵格隨后用于使文檔檢索單元19訪問(wèn)存儲(chǔ)在文檔存儲(chǔ)單元2中的特定文檔。
嵌入模塊22、鏈接編碼模塊24、形狀編碼模塊26和解碼模塊28具體的數(shù)據(jù)處理現(xiàn)在依次考慮。
嵌入模塊執(zhí)行的處理現(xiàn)在參考圖5和圖6A-E具體描述柵格處理器11的嵌入模塊22的處理。
最初(S5-1),當(dāng)以語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32形式的語(yǔ)音柵格被柵格處理器11接收并存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中時(shí),嵌入模塊22開始產(chǎn)生識(shí)別由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30中節(jié)點(diǎn)表示的各時(shí)間的定時(shí)數(shù)據(jù)34。
更具體而言,在這種語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30以[節(jié)點(diǎn)號(hào)、連接的節(jié)點(diǎn)列表、節(jié)點(diǎn)的定時(shí)、與節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)]形式存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的實(shí)施方式中,嵌入模塊22最初處理語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30,以便產(chǎn)生由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30的節(jié)點(diǎn)所表示的所有定時(shí)的列表。然后,嵌入模塊22處理所產(chǎn)生的列表,以創(chuàng)建有序的定時(shí)列表。列表中表示的副本定時(shí)隨后被除去,因此創(chuàng)建了包括以不同定時(shí)順序排序的由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30不同節(jié)點(diǎn)表示的不同時(shí)間的列表的定時(shí)數(shù)據(jù)34。這個(gè)列表隨后作為定時(shí)數(shù)據(jù)34存儲(chǔ)在柵格處理器11的數(shù)據(jù)存儲(chǔ)器20中。
在定時(shí)列表以定時(shí)數(shù)據(jù)34的形式存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中以后,嵌入模塊22隨后(S5-2)為由存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30所表示的柵格結(jié)構(gòu)產(chǎn)生初始嵌入數(shù)據(jù)。
具體而言,嵌入模塊22為下文中稱為層、由定時(shí)數(shù)據(jù)34表示的每個(gè)定時(shí)確定具有對(duì)應(yīng)于所識(shí)別時(shí)間的時(shí)間數(shù)據(jù)的節(jié)點(diǎn)列表。這些列表作為嵌入數(shù)據(jù)存儲(chǔ)在嵌入表36中,對(duì)于由定時(shí)數(shù)據(jù)列表34識(shí)別的每個(gè)時(shí)間都有一個(gè)列表。此外,對(duì)于由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30識(shí)別的節(jié)點(diǎn)之間的每個(gè)鏈接,嵌入模塊22隨后產(chǎn)生并在嵌入表36中存儲(chǔ)包括識(shí)別每個(gè)鏈接起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的數(shù)據(jù)的鏈接數(shù)據(jù)。
因而,例如在圖6A所說(shuō)明其中節(jié)點(diǎn)號(hào)由包含數(shù)字的圓圈說(shuō)明,而鏈接在連接圓圈的箭頭間說(shuō)明,而且其中與相同定時(shí)關(guān)聯(lián)因而在同一層中的節(jié)點(diǎn)示為彼此在垂直列中的柵格結(jié)構(gòu)的情況下,以下數(shù)據(jù)將存儲(chǔ)在嵌入表36中。
嵌入數(shù)據(jù)層號(hào)節(jié)點(diǎn)列表1
2[1,2]3[3,4,5]4[6]5[7,8]6[9,10]鏈接(0,1)、(0,2)、(1,3)、(1,4)、(1,5)、(2,3)、(2,6)、(3,7)、(4,7)、(5,6)、(6,7)、(6,8)、(6,8)、(7,9)、(8,10)。
應(yīng)當(dāng)理解,定時(shí)數(shù)據(jù)34和嵌入表36一起編碼從語(yǔ)音識(shí)別模塊10接收到的語(yǔ)音柵格的所有柵格結(jié)構(gòu)。此外,定時(shí)數(shù)據(jù)34和嵌入表36還隱含記錄識(shí)別與各節(jié)點(diǎn)關(guān)聯(lián)的定時(shí)的數(shù)據(jù)。
而且,節(jié)點(diǎn)之間鏈接的方向也隱含地在嵌入表36中的數(shù)據(jù)中編碼。這是因?yàn)橛刹煌瑢右虼擞刹煌〞r(shí)識(shí)別的節(jié)點(diǎn)列表是以定時(shí)順序排序的,因此表示較早時(shí)間的節(jié)點(diǎn)出現(xiàn)在嵌入表36較早層號(hào)的列表中,而在較晚定時(shí)出現(xiàn)的節(jié)點(diǎn)出現(xiàn)在較晚層的列表中。因此,這暗示在一個(gè)鏈接從一個(gè)節(jié)點(diǎn)到另一個(gè)記錄的時(shí)候,如圖6A箭頭所示的該鏈接的方向?qū)⑹菑妮^早定時(shí)的層的節(jié)點(diǎn)到較晚定時(shí)的層的節(jié)點(diǎn)的方向。
在柵格結(jié)構(gòu)的初始嵌入確定以后,嵌入模塊22隨后(S5-3)開始修改初始存儲(chǔ)的數(shù)據(jù),向嵌入表36添加多個(gè)附加節(jié)點(diǎn)并更新鏈接數(shù)據(jù),因此,每個(gè)鏈接只從一層的節(jié)點(diǎn)連接到相鄰層的節(jié)點(diǎn),而且第一和最后一層的節(jié)點(diǎn)列表只包括單個(gè)節(jié)點(diǎn)。
具體而言,嵌入模塊22開始依次考慮存儲(chǔ)在嵌入表36中的每個(gè)鏈接。對(duì)于每個(gè)鏈接,鏈接起始節(jié)點(diǎn)的層號(hào)與結(jié)束節(jié)點(diǎn)的層號(hào)進(jìn)行比較。在起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的層號(hào)只由單個(gè)數(shù)字隔開的任何時(shí)候,不采取進(jìn)一步的行動(dòng)。在起始節(jié)點(diǎn)鏈接到由多于一層隔開的結(jié)束節(jié)點(diǎn)的任何時(shí)候,虛節(jié)點(diǎn)添加到每個(gè)插入層。然后,鏈接數(shù)據(jù)被更新,以便正在處理的鏈接數(shù)據(jù)替換成識(shí)別每一層中起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)之間經(jīng)每個(gè)添加的虛節(jié)點(diǎn)的鏈接的一連串鏈接數(shù)據(jù)項(xiàng)。
因而,例如在圖6A所說(shuō)明嵌入的情況下,每個(gè)鏈接都要依次考慮。當(dāng)處理節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的鏈接時(shí),節(jié)點(diǎn)2將識(shí)別為在第二層,而節(jié)點(diǎn)6將識(shí)別為在第四層。然后,嵌入模塊22將開始在第三層的節(jié)點(diǎn)列表中添加一虛節(jié)點(diǎn),并將節(jié)點(diǎn)2和節(jié)點(diǎn)6之間的鏈接替換成兩個(gè)鏈接,節(jié)點(diǎn)2和所添加虛節(jié)點(diǎn)之間的鏈接及所添加虛節(jié)點(diǎn)和節(jié)點(diǎn)6之間的鏈接。
更具體而言,在圖6A所示柵格的情況下,2和6、3和7及4和7之間的鏈接將識(shí)別為在被多于一層隔開的層中的連接節(jié)點(diǎn)。然后,存儲(chǔ)在嵌入表36中的嵌入數(shù)據(jù)將如下更新
層號(hào)節(jié)點(diǎn)列表1
2 [1,2]3 [3,4,5,D1]4 [D2,D3,6]5 [7,8]6 [9,10]其中D1、D2、D3是由嵌入模塊22添加的附加虛節(jié)點(diǎn),節(jié)點(diǎn)2和6、3和7及4和7之間鏈接的鏈接數(shù)據(jù)替換成以下鏈接數(shù)據(jù)(2,D1)、(D1,6)、(3,D2)、(D2,7)、(4,D3)、(D3,7)。
然后,識(shí)別這些虛節(jié)點(diǎn)的數(shù)據(jù)被嵌入模塊22存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20的虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38中。
然后,嵌入模塊22考慮存儲(chǔ)在嵌入表36中數(shù)據(jù)第一和最后一層的節(jié)點(diǎn)列表。如果第一層包含不止一個(gè)節(jié)點(diǎn),則添加包含一虛節(jié)點(diǎn)的附加0層,并在該初始虛節(jié)點(diǎn)和第一層的節(jié)點(diǎn)之間添加虛鏈接。
然后考慮最后一層的節(jié)點(diǎn)列表。當(dāng)不止一個(gè)節(jié)點(diǎn)出現(xiàn)在最后一層時(shí),包含單個(gè)虛節(jié)點(diǎn)的附加層添加到嵌入數(shù)據(jù),而且從最后一層每個(gè)節(jié)點(diǎn)到該所添加虛節(jié)點(diǎn)的鏈接添加到鏈接列表。然后,識(shí)別所有所添加虛節(jié)點(diǎn)的數(shù)據(jù)添加到存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38。
因而,在圖6A例子的情況下,由于第一層包含單個(gè)節(jié)點(diǎn),節(jié)點(diǎn)0,因此不添加虛節(jié)點(diǎn)。但是,最后一層最初包含節(jié)點(diǎn)9和10。于是要添加包含單個(gè)虛節(jié)點(diǎn)的附加最后一層。先前最后一層的所有節(jié)點(diǎn),在這種情況下是節(jié)點(diǎn)9和10,然后記錄為連接到額外層的該最后一個(gè)節(jié)點(diǎn)。
圖6B是虛節(jié)點(diǎn)添加到柵格后圖6A柵格的示意圖。在圖6B中虛節(jié)點(diǎn)示為標(biāo)號(hào)為D1、D2、D3和D4的方框。添加到柵格的額外鏈接在圖6B中由虛線示出。如由圖6B可以看到的,在圖6B柵格的情況下,圖中出現(xiàn)的所有箭頭都不橫跨多于一列,而且整個(gè)柵格具有在圖左側(cè)的單個(gè)起始節(jié)點(diǎn),節(jié)點(diǎn)0,和在圖右側(cè)的標(biāo)號(hào)為D4的單個(gè)結(jié)束節(jié)點(diǎn)。
在虛節(jié)點(diǎn)添加到柵格以確保鏈接將相鄰列的節(jié)點(diǎn)連接在一起且添加虛節(jié)點(diǎn)以確保柵格包含單個(gè)起始節(jié)點(diǎn)和單個(gè)結(jié)束節(jié)點(diǎn)以后,嵌入表36中的嵌入數(shù)據(jù)然后被處理(S5-4)以便重新排序與各層關(guān)聯(lián)的節(jié)點(diǎn)列表,因此由嵌入表36中嵌入數(shù)據(jù)表示的柵格嵌入包含有限個(gè)彼此交叉的鏈接。
在這種實(shí)施方式中,嵌入模塊22利用如在此引入作為參考的Roberto Tamassia“Graph Drawing”“CRC Handbook of Discreteand Computational Geometry”,CRC Press,ed.Jacob Goodman andJoseph O’Rouke,1997所述的傳統(tǒng)技術(shù)處理存儲(chǔ)在嵌入表36中的嵌入數(shù)據(jù)。
更具體而言,從第二層開始,層中每個(gè)節(jié)點(diǎn)最初都分配一個(gè)對(duì)應(yīng)于那層中節(jié)點(diǎn)排序的序號(hào)。因而,在圖6B節(jié)點(diǎn)的情況下,節(jié)點(diǎn)1分配順序1,節(jié)點(diǎn)2分配順序2。然后,下一層中的節(jié)點(diǎn)根據(jù)前一層中鏈接到那些節(jié)點(diǎn)的節(jié)點(diǎn)平均順序值進(jìn)行排序。
因而,在圖6B的情況下,如果節(jié)點(diǎn)1和2分別給予值1和2,則鏈接到節(jié)點(diǎn)1和節(jié)點(diǎn)2的節(jié)點(diǎn)3將分配給值(1+1)/2=1.5。只連接到節(jié)點(diǎn)1的節(jié)點(diǎn)4和5分別分配給值1。只連接到節(jié)點(diǎn)2的節(jié)點(diǎn)D1分配給值2。
然后嵌入模塊22開始重新排序下一層中的節(jié)點(diǎn),因此具有與其關(guān)聯(lián)的最低序號(hào)的節(jié)點(diǎn)出現(xiàn)在列表的頭,而與逐漸增高的編號(hào)關(guān)聯(lián)的節(jié)點(diǎn)在列表中隨后出現(xiàn)。
因而,在圖6B的情況下,表示第三層的列的列表從列表[3,4,5,D1]重新排序變成列表[4,5,3,D1]。然后以類似的方式重新排序下一層,直到到達(dá)最后一層的最后一個(gè)節(jié)點(diǎn)。然后從節(jié)點(diǎn)第二到最后一層重復(fù)每一層中節(jié)點(diǎn)的重新排序,并根據(jù)由從該最后一層的鏈接識(shí)別的順序號(hào)平均值確定的順序值重新排序緊接著的前一層。這種處理對(duì)下個(gè)前一層重復(fù),直到到達(dá)第一層。
圖6C是節(jié)點(diǎn)重新排序以最小化交叉鏈接以后圖6B柵格的示意圖。如從圖6B和6C可以看到的,在圖6B中節(jié)點(diǎn)2和節(jié)點(diǎn)3及節(jié)點(diǎn)1和節(jié)點(diǎn)4和5之間的鏈接全都彼此交叉,而在圖6C中只剩下一對(duì)交叉鏈接,即節(jié)點(diǎn)3和節(jié)點(diǎn)D2及節(jié)點(diǎn)5和節(jié)點(diǎn)6之間的鏈接。
在嵌入模塊22重新排序嵌入表36中嵌入數(shù)據(jù)層中的節(jié)點(diǎn)以后,嵌入模塊22隨后(S5-5)依次考慮每個(gè)鏈接并從修正柵格中除去交叉鏈接,并將識(shí)別所除去鏈接的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20所存儲(chǔ)的交叉鏈接數(shù)據(jù)39中。
更具體而言,每層中的每個(gè)鏈接依次考慮,無(wú)論何時(shí)當(dāng)確定鏈接與任何其它鏈接交叉時(shí),表示該鏈接與任何其它鏈接交叉次數(shù)的數(shù)字加1。當(dāng)用于所有鏈接的數(shù)據(jù)都產(chǎn)生以后,依次考慮層之間的每組鏈接。在存在任何交叉鏈接的時(shí)候,具有與其關(guān)聯(lián)的最大數(shù)字的一個(gè)鏈接被除去,而識(shí)別該鏈接的數(shù)據(jù)存儲(chǔ)在交叉鏈接數(shù)據(jù)39中。然后,每一層中交叉鏈接的個(gè)數(shù)計(jì)算被更新,而鏈接被除去,直到不剩余交叉鏈接。以這種方式,被除去并作為交叉鏈接39與嵌入隔開存儲(chǔ)在嵌入表36中的交叉鏈接選擇為對(duì)應(yīng)于與最多其它鏈接交叉的鏈接。即,在一個(gè)鏈接與兩個(gè)其它鏈接交叉的時(shí)候,該單個(gè)鏈接將被除去,而不是除去交叉的兩個(gè)鏈接。
參考圖6C,在層中節(jié)點(diǎn)被重新排序以最小化交叉鏈接數(shù)以后,用于圖6A示例柵格的嵌入數(shù)據(jù)將重新排序,從而成為以圖6C所表示的順序。在圖6C中,只有一對(duì)交叉鏈接是節(jié)點(diǎn)3和D2之間的鏈接及節(jié)點(diǎn)5和6之間的鏈接。由于這些鏈接都只與一個(gè)其它鏈接交叉,因此,隨機(jī)選擇這些鏈接中的一個(gè)并存儲(chǔ)在交叉鏈接數(shù)據(jù)39中。
圖6D是節(jié)點(diǎn)5和節(jié)點(diǎn)6之間的鏈接除去后圖6C柵格的說(shuō)明性例子。如從圖6D可以看到的,表示鏈接的每個(gè)箭頭都連接相鄰兩列的兩個(gè)節(jié)點(diǎn),而且由箭頭表示的鏈接中沒有一個(gè)與任何其它由箭頭表示的鏈接交叉。
在足夠的鏈接從嵌入表36的鏈接數(shù)據(jù)中除去并存儲(chǔ)為交叉鏈接數(shù)據(jù)39,從而由嵌入表36中數(shù)據(jù)表示的柵格不包含交叉鏈接以后,嵌入模塊22隨后(S5-6)依次考慮除第一和最后一層中的節(jié)點(diǎn)之外的每個(gè)節(jié)點(diǎn),并確定那個(gè)節(jié)點(diǎn)是否既連接到其前面又連接到其后續(xù)層中的節(jié)點(diǎn)。
即,嵌入模塊22依次考慮每個(gè)節(jié)點(diǎn)并檢查嵌入表36中的鏈接數(shù)據(jù),以確定被處理的節(jié)點(diǎn)是否在柵格的嵌入表36中存儲(chǔ)為鏈接數(shù)據(jù)的至少一個(gè)鏈接中呈現(xiàn)為起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)。在任何識(shí)別出這種未連接節(jié)點(diǎn)的時(shí)候,嵌入模塊22然后添加鏈接數(shù)據(jù)來(lái)連接該節(jié)點(diǎn)到柵格中其它節(jié)點(diǎn)。
更具體而言,除最后一層中節(jié)點(diǎn)以外的每個(gè)節(jié)點(diǎn)都依次考慮。如果一個(gè)節(jié)點(diǎn)被確定不由嵌入表36中鏈接數(shù)據(jù)表示為起始節(jié)點(diǎn),則隨后考慮該層節(jié)點(diǎn)列表中與該未鏈接節(jié)點(diǎn)相鄰的節(jié)點(diǎn)。
因而,在圖6D柵格的情況下,對(duì)任何鏈接都不是起始節(jié)點(diǎn)的節(jié)點(diǎn)5被識(shí)別出來(lái),而兩個(gè)相鄰節(jié)點(diǎn),節(jié)點(diǎn)3和4將被考慮。然后,由以相鄰節(jié)點(diǎn)作為起始節(jié)點(diǎn)的鏈接連接的節(jié)點(diǎn)被識(shí)別。在圖6D的情況下,所討論的節(jié)點(diǎn)將是虛節(jié)點(diǎn)D2和D3。
如果象在圖6D的情況下一樣這兩個(gè)節(jié)點(diǎn)都是虛節(jié)點(diǎn),則新虛節(jié)點(diǎn)添加到包括這兩個(gè)虛節(jié)點(diǎn)的層的嵌入數(shù)據(jù)中這兩個(gè)節(jié)點(diǎn)之間,并添加該未連接節(jié)點(diǎn)與新虛節(jié)點(diǎn)之間的鏈接。
然后,嵌入模塊22考慮鏈接到這兩個(gè)虛節(jié)點(diǎn)的節(jié)點(diǎn)。如果這些也是虛節(jié)點(diǎn),則下一層中另外一個(gè)虛節(jié)點(diǎn)添加到那一層識(shí)別出的兩個(gè)虛節(jié)點(diǎn)之間,而最近添加的虛節(jié)點(diǎn)與新虛節(jié)點(diǎn)之間的鏈接添加到嵌入表中的嵌入數(shù)據(jù)。
最后,在連接到未連接節(jié)點(diǎn)一個(gè)鄰居的層中,將到達(dá)不作為虛節(jié)點(diǎn)的節(jié)點(diǎn)。當(dāng)?shù)竭_(dá)這一層時(shí),嵌入模塊22向連接前一層中未連接節(jié)點(diǎn)到下一層中實(shí)際節(jié)點(diǎn)的路徑添加一鏈接。
在未連接節(jié)點(diǎn)已連接到該未連接節(jié)點(diǎn)不作為起始節(jié)點(diǎn)出現(xiàn)的柵格后,采取類似的處理,以便添加附加節(jié)點(diǎn)和到除出現(xiàn)在第一層中的單個(gè)節(jié)點(diǎn)以外識(shí)別為不是結(jié)束節(jié)點(diǎn)的節(jié)點(diǎn)的鏈接。無(wú)論何時(shí)節(jié)點(diǎn)和鏈接添加到存儲(chǔ)在嵌入表36中的數(shù)據(jù)時(shí),識(shí)別所添加虛節(jié)點(diǎn)和虛鏈接的數(shù)據(jù)都作為虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。
圖6E是圖6A的柵格被嵌入模塊22處理后的圖6A柵格的示意圖。如從圖6E可以看到的,在所處理的柵格中,所有鏈接都連接在相鄰的層節(jié)點(diǎn)之間,而且圖6E柵格中的鏈接沒有一個(gè)與任何其它鏈接交叉。
這意味著連接節(jié)點(diǎn)的路徑隱含地識(shí)別了節(jié)點(diǎn)所關(guān)聯(lián)的層。這是因?yàn)榈谝粚又械墓?jié)點(diǎn)將利用從第一節(jié)點(diǎn)出發(fā)一節(jié)點(diǎn)長(zhǎng)的路徑識(shí)別,而第二層中的節(jié)點(diǎn)將通過(guò)兩節(jié)點(diǎn)長(zhǎng)的路徑連接到第一層中的節(jié)點(diǎn),以及概括地說(shuō)第n層中的節(jié)點(diǎn)將通過(guò)包含n個(gè)節(jié)點(diǎn)的路徑連接到第一節(jié)點(diǎn)。
在圖6A的這個(gè)柵格處理階段,以下嵌入數(shù)據(jù)將與識(shí)別結(jié)構(gòu)中每個(gè)鏈接的鏈接數(shù)據(jù)一起存儲(chǔ)在表示圖6E結(jié)構(gòu)的嵌入表中。
嵌入數(shù)據(jù)層號(hào)層中的節(jié)點(diǎn)1
2 [2,1]3 [D1,3,4,5]4 [6,D2,D5,D3]5 [8,7]6 [10,9]7 [D4]嵌入模塊22隨后排序(S5-7)存儲(chǔ)在嵌入表中的鏈接數(shù)據(jù)。具體而言,以其起始節(jié)點(diǎn)出現(xiàn)在不同層嵌入數(shù)據(jù)中的順序,嵌入模塊22最初排序鏈接數(shù)據(jù)。然后,具有相同起始節(jié)點(diǎn)的鏈接以其結(jié)束節(jié)點(diǎn)出現(xiàn)在嵌入數(shù)據(jù)中的順序排序。
因而,在圖6E鏈接的情況下,以下有序鏈接數(shù)據(jù)將存儲(chǔ)在嵌入表36中鏈接(0,2)、(0,1)、(2,D1)、(2,3)、(1,3)、(1,5)、(1,4)、(D1,6)、(3,D2)、(5,D5)、(4,D3)、(6,8)、(6,8)、(6,7)、(D2,7)、(D5,7)、(D3,7)、(8,10)、(7,9)、(10,D4)、(9,D4)。
附加存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的將是識(shí)別添加到圖6A柵格的虛節(jié)點(diǎn)的以下數(shù)據(jù)虛節(jié)點(diǎn)D1、D2、D3、D4、D5。
以下數(shù)據(jù)將存儲(chǔ)為虛鏈接數(shù)據(jù)(5,7)和交叉鏈接數(shù)據(jù)(5,6)。
如現(xiàn)在將要描述的,從其除去交叉鏈接和鏈接交叉相鄰層的嵌入式柵格結(jié)構(gòu)隨后傳遞以便鏈接編碼模塊24進(jìn)行處理,鏈接編碼模塊24開始簡(jiǎn)化該所產(chǎn)生的柵格結(jié)構(gòu)。
鏈接編碼模塊的處理現(xiàn)在參考圖7和8A-H具體描述由柵格處理器11的鏈接編碼模塊24所執(zhí)行的處理。
鏈接編碼模塊的處理是處理由嵌入模塊22產(chǎn)生的嵌入表36并簡(jiǎn)化由產(chǎn)生的表36中的結(jié)構(gòu)所表示的柵格結(jié)構(gòu)。具體而言,鏈接編碼模塊24的處理是編碼由嵌入模塊22產(chǎn)生的柵格結(jié)構(gòu)部分,其中該柵格部分識(shí)別只連接到兩個(gè)其它節(jié)點(diǎn)的節(jié)點(diǎn)之間的線性路徑,而且其中多條線性路徑連接相同的兩個(gè)節(jié)點(diǎn)。
參考圖7,當(dāng)嵌入模塊22產(chǎn)生并在嵌入表36中存儲(chǔ)了嵌入數(shù)據(jù)和鏈接數(shù)據(jù)時(shí),鏈接編碼模塊24最初(S7-1)產(chǎn)生初始鏈接編碼數(shù)據(jù)40。
具體而言,對(duì)于由嵌入表36中鏈接數(shù)據(jù)所識(shí)別的每個(gè)鏈接,包括單個(gè)符號(hào),在這種實(shí)施方式中是字母E的數(shù)據(jù),作為用于所識(shí)別鏈接的鏈接編碼在數(shù)據(jù)存儲(chǔ)器20中存儲(chǔ)為鏈接編碼40。
圖8A是圖6E柵格的示意圖,其中每個(gè)鏈接都與對(duì)每個(gè)鏈接包括單個(gè)符號(hào)E的鏈接編碼40關(guān)聯(lián)。如隨后將更具體描述的,鏈接編碼模塊24的后續(xù)處理是修改鏈接編碼40和存儲(chǔ)在嵌入表36中的數(shù)據(jù),以便從由嵌入表36中數(shù)據(jù)所表示的柵格除去鏈接和節(jié)點(diǎn),同時(shí)修改鏈接編碼40以識(shí)別從柵格中什么地方除去了節(jié)點(diǎn)和鏈接。
在初始鏈接編碼數(shù)據(jù)40存儲(chǔ)以后,鏈接編碼模塊24隨后選擇第一節(jié)點(diǎn)進(jìn)行處理(S7-2)。在這種實(shí)施方式中,進(jìn)行處理的第一節(jié)點(diǎn)是從識(shí)別由嵌入表36中嵌入數(shù)據(jù)定義的柵格結(jié)構(gòu)第二至最后一層中節(jié)點(diǎn)的列表頭選擇的。
在圖8A示例柵格的情況下,第二至最后一層上選擇的節(jié)點(diǎn)是節(jié)點(diǎn)10。
在初始節(jié)點(diǎn)選定以后,鏈接編碼模塊24隨后(S7-3)選擇初始鏈接進(jìn)行處理。在這種實(shí)施方式中,從選定節(jié)點(diǎn)出發(fā)的鏈接以嵌入表所存儲(chǔ)鏈接數(shù)據(jù)中以該節(jié)點(diǎn)作為起始節(jié)點(diǎn)的鏈接出現(xiàn)順序選擇。在圖8A的當(dāng)前例子中,由于從節(jié)點(diǎn)10到節(jié)點(diǎn)D4只有單個(gè)鏈接,因此它就是首先被選擇進(jìn)行處理的鏈接。
一旦已選擇一個(gè)鏈接進(jìn)行處理,鏈接編碼模塊24然后就(S7-4)考慮所處理鏈接的結(jié)束節(jié)點(diǎn)。具體而言,鏈接編碼模塊24確定由該鏈接識(shí)別的結(jié)束節(jié)點(diǎn)在嵌入表36所存儲(chǔ)的嵌入數(shù)據(jù)的鏈接列表中是否作為起始節(jié)點(diǎn)只出現(xiàn)一次及作為結(jié)束節(jié)點(diǎn)只出現(xiàn)一次。
如果情況是這樣,則只有單條路徑通過(guò)該節(jié)點(diǎn),而鏈接編碼模塊24然后繼續(xù)修改鏈接編碼數(shù)據(jù)40和嵌入表36中的數(shù)據(jù),以便編碼該單條路徑上該節(jié)點(diǎn)的存在(S7-5)。
具體而言,當(dāng)被處理的鏈接包括鏈接數(shù)據(jù)(N1,N2),其中N1識(shí)別鏈接的起始節(jié)點(diǎn),而N2識(shí)別結(jié)束節(jié)點(diǎn),而且有另外一個(gè)以N2為起始節(jié)點(diǎn)的鏈接(N2,N3)時(shí),鏈接編碼模塊24開始從嵌入表36刪除這些鏈接數(shù)據(jù)項(xiàng),并用單個(gè)鏈接數(shù)據(jù)項(xiàng)(N1,N3)代替它們,其中新鏈接包括在所刪除鏈接(N1,N2)位置的有序鏈接數(shù)據(jù)中。
鏈接編碼模塊24隨后利用已刪除的兩個(gè)鏈接的鏈接編碼數(shù)據(jù)為新鏈接產(chǎn)生鏈接編碼數(shù)據(jù)。
具體而言,鏈接編碼模塊24將鏈接(N1,N2)的鏈接編碼數(shù)據(jù)附加到鏈接(N2,N3)的編碼數(shù)據(jù)的末尾。然后,鏈接編碼模塊24將節(jié)點(diǎn)N2對(duì)應(yīng)于由虛節(jié)點(diǎn)38中數(shù)據(jù)識(shí)別的虛節(jié)點(diǎn)時(shí)的字母D或者符號(hào)P和識(shí)別該編號(hào)節(jié)點(diǎn)從嵌入表表示中推出來(lái)的節(jié)點(diǎn)編號(hào)添加到新產(chǎn)生符號(hào)列表的頭。然后,鏈接編碼模塊24從存儲(chǔ)在嵌入表36的嵌入數(shù)據(jù)中的節(jié)點(diǎn)列表刪除所識(shí)別的節(jié)點(diǎn)N2。
因而,在圖8A中節(jié)點(diǎn)8和節(jié)點(diǎn)10及節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間鏈接的情況下,在刪除識(shí)別節(jié)點(diǎn)8和節(jié)點(diǎn)10及節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間鏈接的鏈接數(shù)據(jù)后,包括識(shí)別節(jié)點(diǎn)8和節(jié)點(diǎn)D4之間鏈接的數(shù)據(jù)的新鏈接數(shù)據(jù)將被存儲(chǔ)。為節(jié)點(diǎn)8和節(jié)點(diǎn)10及節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間鏈接所存儲(chǔ)的鏈接編碼數(shù)據(jù)40將然后用于產(chǎn)生新鏈接的鏈接編碼數(shù)據(jù),在本例中其包括符號(hào)P和所除去節(jié)點(diǎn)的識(shí)別符,在這種情況下是10,及以節(jié)點(diǎn)8和節(jié)點(diǎn)10之間鏈接的鏈接編碼然后是節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間鏈接的鏈接編碼的順序與被除去鏈接關(guān)聯(lián)的符號(hào)。在本例中,這將是編碼E,后面跟著另一個(gè)E。然后,嵌入表36中所刪除鏈接的編碼數(shù)據(jù)和節(jié)點(diǎn)10的表示將刪除。
在嵌入表36和鏈接編碼40更新以后,當(dāng)前節(jié)點(diǎn)與其它節(jié)點(diǎn)之間的連接將然后重新考慮(S7-3,S7-4)。具體而言,嵌入表36的鏈接數(shù)據(jù)中以當(dāng)前所選節(jié)點(diǎn)作為起始節(jié)點(diǎn)的第一鏈接將重新考慮(S7-3),并確定由該鏈接識(shí)別的結(jié)束節(jié)點(diǎn)是否由嵌入表36中鏈接數(shù)據(jù)中的單個(gè)起始節(jié)點(diǎn)識(shí)別(S7-4)。如果情況是這樣,則嵌入表36和鏈接編碼40然后以上述方式更新(S7-5)。
如果確定(S7-4)所選鏈接識(shí)別了被嵌入表36中數(shù)據(jù)不止識(shí)別為起始節(jié)點(diǎn)一次和識(shí)別為結(jié)束節(jié)點(diǎn)一次的節(jié)點(diǎn),則(S7-6)鏈接編碼模塊24確定是否從當(dāng)前所選節(jié)點(diǎn)出發(fā)的所有鏈接都處理了。如果情況不是這樣,則(S7-7)鏈接編碼模塊24考慮嵌入表36的鏈接數(shù)據(jù)中以當(dāng)前所選節(jié)點(diǎn)作為起始節(jié)點(diǎn)的下一鏈接并以上述相同方式確定(S7-4)該鏈接數(shù)據(jù)是否識(shí)別了作為起始節(jié)點(diǎn)只出現(xiàn)一次的結(jié)束節(jié)點(diǎn)。
當(dāng)從當(dāng)前所選節(jié)點(diǎn)出發(fā)的所有鏈接都處理完以后,鏈接編碼模塊24然后確定在當(dāng)前所選節(jié)點(diǎn)與任何其它節(jié)點(diǎn)之間是否存在不止一個(gè)鏈接(S7-8)。即,鏈接編碼模塊24確定以當(dāng)前所選節(jié)點(diǎn)為起始節(jié)點(diǎn)的任意存儲(chǔ)鏈接數(shù)據(jù)項(xiàng)是否是存儲(chǔ)在嵌入表36中的任何其它鏈接數(shù)據(jù)項(xiàng)的副本。如果確定情況是這樣,則鏈接編碼模塊24刪除(S7-9)一個(gè)副本鏈接并更新與剩余鏈接關(guān)聯(lián)的鏈接編碼40。
具體而言,鏈接編碼更新成符號(hào)列表,該符號(hào)列表包括指示兩個(gè)鏈接已合并的符號(hào),在這種實(shí)施方式中是M,后面是包括用于所處理鏈接對(duì)中一個(gè)的鏈接編碼的兩個(gè)符號(hào)列表中較長(zhǎng)的一個(gè),后面是所考慮另一鏈接的符號(hào)列表。在鏈接以上述相同方式處理(S7-4-S7-8)之前,從當(dāng)前所選節(jié)點(diǎn)出發(fā)的第一鏈接(S7-3)然后被重新考慮。
如果確定從當(dāng)前所選節(jié)點(diǎn)出發(fā)的剩余鏈接中沒有一個(gè)具有與從當(dāng)前所選節(jié)點(diǎn)出發(fā)的任何其它鏈接相同的結(jié)束節(jié)點(diǎn)(S7-8),則鏈接編碼模塊24(S7-10)確定是否到達(dá)最后一個(gè)節(jié)點(diǎn)。
具體而言,鏈接編碼模塊24確定當(dāng)前節(jié)點(diǎn)是否對(duì)應(yīng)于在嵌入數(shù)據(jù)第一層中識(shí)別的節(jié)點(diǎn)。如果情況是這樣,則柵格中線性和并行路徑的編碼都已完成,處理結(jié)束。
如果情況不是這樣,則選擇下一節(jié)點(diǎn)進(jìn)行處理(S7-11)。在這種實(shí)施方式中,該下一節(jié)點(diǎn)是列表中與先前處理節(jié)點(diǎn)在同一層的下一節(jié)點(diǎn),或者如果到達(dá)列表尾部,則是下一較早定時(shí)層的節(jié)點(diǎn)列表中的第一節(jié)點(diǎn)。
然后選擇從新選擇節(jié)點(diǎn)出發(fā)的第一鏈接(S7-3),然后以上述相同方式進(jìn)行處理(S7-4-S7-10)。
因而,例如,當(dāng)處理圖8A的柵格時(shí),最初節(jié)點(diǎn)10和9將被選擇并處理。對(duì)于這兩個(gè)節(jié)點(diǎn),都有從該節(jié)點(diǎn)到節(jié)點(diǎn)D4的單個(gè)鏈接。但是,D4對(duì)任何鏈接都不是起始節(jié)點(diǎn),因而在這個(gè)階段沒有鏈接或節(jié)點(diǎn)被除去。
然后,鏈接編碼模塊24將考慮節(jié)點(diǎn)8和節(jié)點(diǎn)10之間的鏈接。這識(shí)別出了節(jié)點(diǎn)10,如圖8A的說(shuō)明所示,這是由節(jié)點(diǎn)8和節(jié)點(diǎn)10之間的鏈接作為單個(gè)結(jié)束節(jié)點(diǎn)識(shí)別一次并作為節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間鏈接的起始節(jié)點(diǎn)識(shí)別一次的節(jié)點(diǎn)。因此,當(dāng)考慮以節(jié)點(diǎn)10作為起始節(jié)點(diǎn)或結(jié)束節(jié)點(diǎn)的鏈接時(shí),鏈接編碼模塊24將確定節(jié)點(diǎn)10是線性路徑上的節(jié)點(diǎn)。
然后,鏈接編碼模塊24將開始刪除節(jié)點(diǎn)10和嵌入表36中嵌入數(shù)據(jù)中節(jié)點(diǎn)8和節(jié)點(diǎn)10及節(jié)點(diǎn)10和節(jié)點(diǎn)D4之間的鏈接,并用節(jié)點(diǎn)8和節(jié)點(diǎn)D4之間的單個(gè)鏈接代替它們。與新鏈接關(guān)聯(lián)的將是包括符號(hào)P、識(shí)別所刪除節(jié)點(diǎn)的數(shù)字10及兩個(gè)刪除鏈接的附加編碼的兩個(gè)符號(hào)EE的鏈接編碼40。
然后,鏈接編碼模塊24將重新考慮從節(jié)點(diǎn)8出發(fā)的鏈接,在這種情況下是節(jié)點(diǎn)8和節(jié)點(diǎn)D4之間的單個(gè)鏈接,以確定節(jié)點(diǎn)D4是否作為起始節(jié)點(diǎn)只出現(xiàn)一次和作為結(jié)束節(jié)點(diǎn)只出現(xiàn)一次。由于情況不是這樣,因此節(jié)點(diǎn)8和節(jié)點(diǎn)D4之間鏈接的鏈接編碼不再修改。由于從節(jié)點(diǎn)8出發(fā)的所有鏈接都處理了,因此鏈接編碼模塊24將繼續(xù)考慮從節(jié)點(diǎn)7出發(fā)的鏈接。
以與處理節(jié)點(diǎn)10類似的方式,鏈接編碼模塊24將識(shí)別節(jié)點(diǎn)7和節(jié)點(diǎn)9之間的鏈接識(shí)別出了作為起始節(jié)點(diǎn)只出現(xiàn)一次并作為結(jié)束節(jié)點(diǎn)只出現(xiàn)一次的節(jié)點(diǎn),節(jié)點(diǎn)9。然后,鏈接編碼模塊24開始刪除節(jié)點(diǎn)7和節(jié)點(diǎn)9及節(jié)點(diǎn)9和D4之間的鏈接并以節(jié)點(diǎn)7和節(jié)點(diǎn)D4之間的單個(gè)鏈接代替它,該單個(gè)鏈接與識(shí)別節(jié)點(diǎn)9已除去的鏈接編碼數(shù)據(jù)P9EE關(guān)聯(lián)。在這個(gè)階段圖6E柵格的處理由圖8B說(shuō)明。
在刪除節(jié)點(diǎn)9以后,鏈接編碼模塊24將重新考慮從節(jié)點(diǎn)7到節(jié)點(diǎn)D4的鏈接,并確定沒有更多鏈接可以從節(jié)點(diǎn)7除去。
然后,鏈接編碼模塊24將轉(zhuǎn)向節(jié)點(diǎn)6,在節(jié)點(diǎn)6的情況下,從節(jié)點(diǎn)6出發(fā)的兩個(gè)鏈接都識(shí)別出節(jié)點(diǎn)8。這意味著節(jié)點(diǎn)8作為起始節(jié)點(diǎn)不止識(shí)別一次。但是,由于從節(jié)點(diǎn)6出發(fā)的兩個(gè)鏈接是完全一樣的,因?yàn)樗鼈兌兼溄拥焦?jié)點(diǎn)8,因此鏈接編碼模塊24將這些識(shí)別為編碼并行路徑并刪除一個(gè)鏈接,同時(shí)更新剩余鏈接的鏈接編碼為鏈接編碼MEE,字母M后面跟著之前彼此附加的兩個(gè)編碼E和E。
圖8C說(shuō)明了在節(jié)點(diǎn)6和節(jié)點(diǎn)8之間的一個(gè)鏈接刪除且鏈接編碼更新后圖8B柵格的處理結(jié)果。
然后將考慮從節(jié)點(diǎn)6到節(jié)點(diǎn)8的新的單個(gè)鏈接,現(xiàn)在節(jié)點(diǎn)8將作為鏈接8-D4中的起始節(jié)點(diǎn)識(shí)別一次,并作為新的單個(gè)鏈接6-8中的結(jié)束節(jié)點(diǎn)識(shí)別一次。因此,這意味著節(jié)點(diǎn)8可以刪除,用于節(jié)點(diǎn)6和節(jié)點(diǎn)D4之間新鏈接的鏈接編碼是表示刪除節(jié)點(diǎn)的P8,后面跟著用于節(jié)點(diǎn)6和節(jié)點(diǎn)8的鏈接編碼MEE,后面跟著用于節(jié)點(diǎn)8和節(jié)點(diǎn)D4之間鏈接的前一鏈接編碼P10EE。
圖8D是這階段處理柵格的說(shuō)明。如從圖8D可以看到的,節(jié)點(diǎn)6和節(jié)點(diǎn)D4之間的鏈接與編碼P8MEEP10EE關(guān)聯(lián),節(jié)點(diǎn)7和節(jié)點(diǎn)D4之間的鏈接與編碼P9EE關(guān)聯(lián),而所有剩余鏈接都與相同的編碼,即單個(gè)字母E,關(guān)聯(lián)。
在處理節(jié)點(diǎn)6并除去節(jié)點(diǎn)8以后,不會(huì)發(fā)生更多從節(jié)點(diǎn)6出發(fā)的鏈接處理,因此,鏈接編碼模塊24將依次考慮節(jié)點(diǎn)D2、D5和D3中的每一個(gè)。在所有這些情況下,節(jié)點(diǎn)都連接到對(duì)4個(gè)鏈接是結(jié)束節(jié)點(diǎn)因此不能除去的節(jié)點(diǎn)7。
考慮完節(jié)點(diǎn)D2、D5和D3以后,考慮節(jié)點(diǎn)D1。它由單個(gè)鏈接連接到節(jié)點(diǎn)6。但是,節(jié)點(diǎn)6是到節(jié)點(diǎn)7的鏈接和到節(jié)點(diǎn)D4的鏈接這兩個(gè)鏈接的起始節(jié)點(diǎn)。因此節(jié)點(diǎn)6不能除去。
然后考慮節(jié)點(diǎn)3。這個(gè)節(jié)點(diǎn)是到節(jié)點(diǎn)D2的單個(gè)鏈接的起始節(jié)點(diǎn)。除了在鏈接3-D2中作為結(jié)束節(jié)點(diǎn)出現(xiàn)一次,節(jié)點(diǎn)D2還對(duì)于單個(gè)鏈接D2-7作為起始節(jié)點(diǎn)記錄一次。因此,D2被處理。由于D2是虛節(jié)點(diǎn),因此D2從存儲(chǔ)在嵌入表36中的數(shù)據(jù)刪除,而節(jié)點(diǎn)3和D2及節(jié)點(diǎn)D2和7之間的鏈接被節(jié)點(diǎn)3和節(jié)點(diǎn)7之間的單個(gè)鏈接代替,該鏈接與編碼DEE關(guān)聯(lián),D識(shí)別已刪除的虛節(jié)點(diǎn),而E和E是與已除去的兩個(gè)鏈接關(guān)聯(lián)的兩個(gè)編碼。
圖8E說(shuō)明了在這個(gè)處理階段的柵格和鏈接編碼。
處理完節(jié)點(diǎn)3以后,節(jié)點(diǎn)5、4和2以類似的方式一個(gè)接一個(gè)處理,分別除去虛節(jié)點(diǎn)D5、D3和D1,并以除去虛節(jié)點(diǎn)D2處理相同的方式更新嵌入表36中的鏈接數(shù)據(jù)和與所處理鏈接關(guān)聯(lián)的鏈接編碼40。
圖8F是虛節(jié)點(diǎn)D5、D3和D1被處理并除去后柵格的示意圖。在這個(gè)階段,節(jié)點(diǎn)2和節(jié)點(diǎn)6、節(jié)點(diǎn)3和節(jié)點(diǎn)7、節(jié)點(diǎn)5和節(jié)點(diǎn)7及節(jié)點(diǎn)4和節(jié)點(diǎn)7之間的每個(gè)鏈接都與指示從每個(gè)鏈接除去單個(gè)虛節(jié)點(diǎn)的編碼DEE關(guān)聯(lián)。
處理完節(jié)點(diǎn)2以后,選擇節(jié)點(diǎn)1。節(jié)點(diǎn)1和節(jié)點(diǎn)3之間的鏈接識(shí)別出節(jié)點(diǎn)3,它對(duì)于節(jié)點(diǎn)1和節(jié)點(diǎn)3之間的鏈接及節(jié)點(diǎn)2和節(jié)點(diǎn)3之間的鏈接是結(jié)束節(jié)點(diǎn)。為此,節(jié)點(diǎn)3不能除去。
然后選擇以節(jié)點(diǎn)1為起始節(jié)點(diǎn)的下一鏈接。在這個(gè)例子中,該下一鏈接將是節(jié)點(diǎn)1和節(jié)點(diǎn)5之間的鏈接。然后,節(jié)點(diǎn)5將被識(shí)別為作為該鏈接的結(jié)束節(jié)點(diǎn)出現(xiàn)一次并作為節(jié)點(diǎn)5到節(jié)點(diǎn)7的鏈接的起始節(jié)點(diǎn)出現(xiàn)一次。因此節(jié)點(diǎn)5將被刪除,節(jié)點(diǎn)1和節(jié)點(diǎn)7之間的新鏈接將產(chǎn)生并與鏈接編碼P5EDEE關(guān)聯(lián)。
然后以相同的方式處理節(jié)點(diǎn)1和節(jié)點(diǎn)4及節(jié)點(diǎn)7之間的鏈接,節(jié)點(diǎn)4被刪除,節(jié)點(diǎn)1和節(jié)點(diǎn)4及節(jié)點(diǎn)4和節(jié)點(diǎn)7之間的鏈接被從節(jié)點(diǎn)1到節(jié)點(diǎn)7、與鏈接編碼P4EDEE關(guān)聯(lián)的單個(gè)鏈接代替。
在這個(gè)處理階段所存儲(chǔ)的柵格由圖8G說(shuō)明。在這個(gè)階段,以節(jié)點(diǎn)1為起始節(jié)點(diǎn)的兩個(gè)鏈接識(shí)別出了同一個(gè)結(jié)束節(jié)點(diǎn),即節(jié)點(diǎn)7。因此,鏈接編碼模塊24將刪除這些鏈接中的一個(gè)并將剩下的鏈接的編碼更新為編碼M后面跟著刪除或剩下鏈接的較大編碼然后是剩下或刪除鏈接的較短編碼。
在本例中,更新后的編碼將是MP5EDEEP4EDEE。這個(gè)處理階段的柵格在圖8H中說(shuō)明。在這個(gè)階段,由從節(jié)點(diǎn)1出發(fā)的鏈接所識(shí)別出的節(jié)點(diǎn)中沒有一個(gè)可以除去,因此考慮從節(jié)點(diǎn)0出發(fā)的鏈接。由于由以節(jié)點(diǎn)0為起始節(jié)點(diǎn)的鏈接所識(shí)別出的節(jié)點(diǎn)中沒有一個(gè)可以除去,而且節(jié)點(diǎn)0是最后一個(gè)節(jié)點(diǎn),因此鏈接編碼模塊的處理完成。
因而,在這個(gè)階段,在圖8H示例柵格的情況下,以下數(shù)據(jù)將存儲(chǔ)在嵌入表36中。
嵌入數(shù)據(jù)層號(hào)節(jié)點(diǎn)1
2 [2,1]3 [3]4 [6]5 [7]
67[D4]鏈接數(shù)據(jù)(0,2)、(0,1)、(2,6)、(2,3)、(1,3)、(1,7)、(3,7)、(6,D4)、(6,7)、(7,D4)而且鏈接編碼42將以上各鏈接分別與以下鏈接編碼數(shù)據(jù)關(guān)聯(lián)E、E、DEE、E、E、MP5EDEEP4EDEE、DEE、P8MEEP10EE、E、P9EE。
在鏈接編碼模塊24從柵格中除去所有線性和所有并行路徑后,只有第一和最后一層中的節(jié)點(diǎn)及連接到至少三個(gè)其它節(jié)點(diǎn)的節(jié)點(diǎn)在簡(jiǎn)化嵌入中保留,然后如現(xiàn)在將要描述的,剩下的簡(jiǎn)化柵格由形狀編碼模塊26編碼。
形狀編碼模塊執(zhí)行的處理現(xiàn)在參考圖9A和9B及圖10A、10B和10C具體描述形狀編碼模塊26的處理,其中圖9A和9B是由形狀編碼模塊26執(zhí)行的處理操作的流程圖,而圖10A、10B和10C是圖8H柵格編碼的示意圖。
如前所述,鏈接編碼模塊24簡(jiǎn)化了由嵌入表36中嵌入數(shù)據(jù)和鏈接數(shù)據(jù)40識(shí)別的柵格結(jié)構(gòu),以與該柵格結(jié)構(gòu)中鏈接關(guān)聯(lián)的鏈接編碼數(shù)據(jù)40的形式編碼對(duì)應(yīng)于只連接到它們自己而不連接到柵格任何其它部分的節(jié)點(diǎn)之間的線性和并行路徑的柵格部分。因此,鏈接編碼模塊24的處理結(jié)果是除柵格開始和末尾的節(jié)點(diǎn)(在圖8H柵格的情況下是節(jié)點(diǎn)0和節(jié)點(diǎn)D4)以外,所有節(jié)點(diǎn)都連接到至少三個(gè)其它節(jié)點(diǎn)的柵格結(jié)構(gòu)。另外,在簡(jiǎn)化的柵格結(jié)構(gòu)中,節(jié)點(diǎn)之間的鏈接沒有副本。即,在任何節(jié)點(diǎn)對(duì)之間都決不會(huì)有多于一個(gè)鏈接。
當(dāng)簡(jiǎn)化的柵格結(jié)構(gòu)由鏈接編碼模塊24產(chǎn)生以后,由鏈接編碼模塊24處理的原始柵格結(jié)構(gòu)的完整表示由形狀編碼模塊26以三組數(shù)據(jù)的形式產(chǎn)生。這三組數(shù)據(jù)包括編碼由鏈接編碼模塊24產(chǎn)生的簡(jiǎn)化柵格形狀的形狀編碼數(shù)據(jù)42;用于簡(jiǎn)化柵格中鏈接的確定鏈接編碼40的級(jí)聯(lián)列表的鏈接列表43;及包括由鏈接編碼模塊24所處理的原始柵格結(jié)構(gòu)中所有節(jié)點(diǎn)的有序列表的節(jié)點(diǎn)列表44。
在這種實(shí)施方式中,形狀編碼數(shù)據(jù)42對(duì)由簡(jiǎn)化柵格定義的每個(gè)區(qū)域都包括三位數(shù)編碼。這三個(gè)字母編碼中的第一個(gè)數(shù)字識(shí)別區(qū)域附屬于柵格什么地方,而后兩個(gè)數(shù)字識(shí)別該區(qū)域中編碼的鏈接編號(hào)。
因而,例如,參考圖10A-10C并且如隨后具體描述的,當(dāng)處理圖8H的柵格時(shí),最初圖10A中陰影節(jié)點(diǎn)0、2、3、1的區(qū)域被形狀編碼0、2、2包圍。作為偏移,0、2和2識(shí)別定義編碼形狀的路徑0、2、3和0、1、3中鏈接的編號(hào)。
確定要編碼的下一區(qū)域的偏移。在這個(gè)例子中,下一區(qū)域是2、6、7、3。節(jié)點(diǎn)2相對(duì)于節(jié)點(diǎn)0的偏移是1,因而確定形狀編碼1、2、2。在這個(gè)階段編碼的區(qū)域在圖10B中由陰影節(jié)點(diǎn)和完整箭頭示出。
然后識(shí)別下一區(qū)域6、D4、7,隨后這個(gè)區(qū)域如圖10C所說(shuō)明地被編碼。然后識(shí)別最后未編碼的區(qū)域1、3、7,并產(chǎn)生用于該區(qū)域的最后三位數(shù)編碼。
如隨后將具體描述的,一旦產(chǎn)生了完整的形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44,它們就由解碼模塊28處理,建立對(duì)應(yīng)于由存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30定義的柵格結(jié)構(gòu)的最終柵格結(jié)構(gòu)。然后,和與以對(duì)應(yīng)于節(jié)點(diǎn)列表44的順序排序的節(jié)點(diǎn)關(guān)聯(lián)的附加數(shù)據(jù)及與以解碼模塊28產(chǎn)生的最終柵格結(jié)構(gòu)確定的順序排序的語(yǔ)音鏈接數(shù)據(jù)32節(jié)點(diǎn)中鏈接關(guān)聯(lián)的數(shù)據(jù)一起,形狀編碼42和鏈接列表43由輸出模塊29輸出。
參考圖9A,最初(S9-1)識(shí)別用于第一層節(jié)點(diǎn)的節(jié)點(diǎn)列表中的單個(gè)節(jié)點(diǎn)。識(shí)別這個(gè)節(jié)點(diǎn)的數(shù)字添加到節(jié)點(diǎn)列表44,還添加到用于上下邊界的列表,還設(shè)置成識(shí)別為當(dāng)前節(jié)點(diǎn)和要處理的最后一個(gè)節(jié)點(diǎn)。
因而,例如,在圖8H柵格的情況下,其中第一節(jié)點(diǎn)是0,以下數(shù)據(jù)將存儲(chǔ)。
最后處理的節(jié)點(diǎn)0當(dāng)前節(jié)點(diǎn) 0節(jié)點(diǎn)列表
上邊界
下邊界
然后(S9-2),形狀編碼模塊26確定由嵌入表36中鏈接所識(shí)別的一個(gè)或多個(gè)鏈接是否識(shí)別出當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)。
如果只有單個(gè)以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的鏈接被嵌入表36中的鏈接數(shù)據(jù)識(shí)別出來(lái),則這指示與當(dāng)前節(jié)點(diǎn)直接相鄰的柵格部分包括多個(gè)表示一條或多條并行或線性路徑的鏈接或節(jié)點(diǎn)。如果情況是這樣,則形狀編碼模塊24(S9-3)比較所處理的最后一個(gè)節(jié)點(diǎn)的值與當(dāng)前節(jié)點(diǎn)的值。如果這兩個(gè)數(shù)字相同,如當(dāng)處理初始節(jié)點(diǎn)時(shí)的情況,則鏈接編碼模塊24將包括設(shè)成0的偏移值及數(shù)字1和1的數(shù)字串添加到存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的形狀編碼(S9-3)。如果兩個(gè)值不相等,則如隨后具體描述的計(jì)算不同的偏移數(shù)字。
然后(S9-4),形狀編碼模塊26選擇與當(dāng)前所處理鏈接,即以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的單個(gè)鏈接,關(guān)聯(lián)的鏈接編碼數(shù)據(jù)40并利用與該鏈接關(guān)聯(lián)的鏈接編碼更新鏈接列表43和節(jié)點(diǎn)列表44。具體而言,如果任何數(shù)字出現(xiàn)在所處理鏈接的鏈接編碼40中,則這些數(shù)字以它們出現(xiàn)在鏈接編碼中的順序添加到節(jié)點(diǎn)列表。然后,從中除去這些數(shù)字的鏈接編碼的剩余部分添加到鏈接列表43。
然后(S9-5),處理的最后一個(gè)節(jié)點(diǎn)設(shè)置成識(shí)別為該鏈接結(jié)束節(jié)點(diǎn)的節(jié)點(diǎn),而且當(dāng)前節(jié)點(diǎn)、用于上下邊界的列表全都重置以便僅識(shí)別該結(jié)束節(jié)點(diǎn)。然后該結(jié)束節(jié)點(diǎn)附加到節(jié)點(diǎn)列表44的末尾。
因而,例如,在節(jié)點(diǎn)0具有與以下鏈接編碼MP4EEP3EEE關(guān)聯(lián)的單個(gè)鏈接(0,5)的情況下,最后處理的節(jié)點(diǎn)、當(dāng)前節(jié)點(diǎn)、節(jié)點(diǎn)列表44、鏈接列表43、形狀編碼42及上下邊界將更新變成如下最后處理的節(jié)點(diǎn)5當(dāng)前節(jié)點(diǎn) 5節(jié)點(diǎn)列表
鏈接列表 [MPEEPEEE]形狀編碼
上邊界[5]下邊界[5]如果形狀編碼模塊26確定(S9-2)對(duì)于由嵌入表36中鏈接數(shù)據(jù)識(shí)別的鏈接當(dāng)前節(jié)點(diǎn)作為起始節(jié)點(diǎn)出現(xiàn)了不止一次,如在圖8H示例柵格的情況下,其中節(jié)點(diǎn)0由兩個(gè)鏈接連接,一個(gè)在節(jié)點(diǎn)0和節(jié)點(diǎn)2之間,一個(gè)在節(jié)點(diǎn)0和節(jié)點(diǎn)1之間,則(S9-6)形狀編碼模塊26識(shí)別出用于被編碼柵格區(qū)域的上下路徑。
具體而言,形狀編碼模塊26最初識(shí)別出由嵌入表36中以當(dāng)前節(jié)點(diǎn)作為起始節(jié)點(diǎn)的有序鏈接數(shù)據(jù)識(shí)別的最后兩個(gè)未處理鏈接。
因而,在圖8H柵格的情況下,節(jié)點(diǎn)0和節(jié)點(diǎn)2及節(jié)點(diǎn)1之間的鏈接被識(shí)別出來(lái)。然后,識(shí)別這些鏈接的數(shù)據(jù)作為被編碼區(qū)域的路徑數(shù)據(jù)由形狀編碼模塊26存儲(chǔ)。
具體而言,識(shí)別有序鏈接數(shù)據(jù)中后一鏈接的數(shù)據(jù)添加到識(shí)別下路徑的路徑,而識(shí)別另一鏈接的數(shù)據(jù)添加到用于上路徑的數(shù)據(jù)。
因而,例如,在圖8H柵格結(jié)構(gòu)的情況下,以下數(shù)據(jù)將被存儲(chǔ)上路徑
下路徑
然后比較由上下路徑中最后一個(gè)節(jié)點(diǎn)識(shí)別的節(jié)點(diǎn)的層號(hào)。如果上路徑列表中的最后一個(gè)節(jié)點(diǎn)比下路徑列表中最后一個(gè)節(jié)點(diǎn)對(duì)應(yīng)于較早定時(shí)數(shù)據(jù)34的層,則上路徑列表被處理。如果情況不是這樣,則處理下路徑。
當(dāng)處理上路徑時(shí),識(shí)別以上路徑中最后一個(gè)節(jié)點(diǎn)作為起始節(jié)點(diǎn)的鏈接。在以上路徑和圖8H柵格結(jié)構(gòu)的情況下,鏈接2-6和2-3將被識(shí)別。然后識(shí)別由有序鏈接數(shù)據(jù)中以上路徑中最后一個(gè)節(jié)點(diǎn)作為起始節(jié)點(diǎn)的最后一個(gè)鏈接的結(jié)束節(jié)點(diǎn)所識(shí)別的節(jié)點(diǎn)。然后,識(shí)別出的節(jié)點(diǎn)添加到上路徑列表的末尾。因而,在圖8H柵格結(jié)構(gòu)的情況下,上路徑列表將更新變成
。
當(dāng)處理下路徑時(shí),以下路徑中最后一個(gè)節(jié)點(diǎn)作為起始節(jié)點(diǎn)的鏈接被識(shí)別,而且有序鏈接數(shù)據(jù)中以該最后一個(gè)節(jié)點(diǎn)作為起始節(jié)點(diǎn)的最早鏈接被識(shí)別。然后,這個(gè)識(shí)別出的鏈接的結(jié)束節(jié)點(diǎn)添加到下路徑的節(jié)點(diǎn)列表。
這種處理對(duì)每一層重復(fù),直到上下路徑節(jié)點(diǎn)列表中的最后一個(gè)節(jié)點(diǎn)完全相同。因而,例如,在圖8H柵格的情況下,包括節(jié)點(diǎn)0,2和3的上路徑與包括節(jié)點(diǎn)0,1和3的下路徑將被識(shí)別并存儲(chǔ)。然后,由形狀編碼模塊26存儲(chǔ)的上下邊界分別更新成對(duì)應(yīng)于這些識(shí)別出的上下路徑。
然后,形狀編碼模塊26開始(S9-7)利用識(shí)別出的路徑更新形狀編碼42。具體而言,比較最后處理的節(jié)點(diǎn)數(shù)據(jù)與當(dāng)前節(jié)點(diǎn)并確定偏移值。就象處理柵格第一區(qū)域時(shí)的情況,當(dāng)這兩個(gè)數(shù)字相等時(shí),確定零偏移。然后,通過(guò)向當(dāng)前列表的末尾添加包括所確定偏移數(shù)字、識(shí)別上路徑中鏈接數(shù)的數(shù)字及下路徑中鏈接數(shù)的數(shù)字的三個(gè)數(shù)字列表來(lái)更新形狀編碼。因而,在圖8H由節(jié)點(diǎn)0、2、3和1所識(shí)別區(qū)域的情況下,指示具有上下路徑中兩個(gè)鏈接的區(qū)域的形狀編碼
將被存儲(chǔ)。
然后,與由上下路徑識(shí)別的鏈接關(guān)聯(lián)的鏈接數(shù)據(jù)被識(shí)別(S9-8)并處理(S9-9),鏈接列表43和節(jié)點(diǎn)列表44被更新。
具體而言,從由更新后的上路徑列表識(shí)別的第一節(jié)點(diǎn)開始,識(shí)別由上邊界列表中前兩個(gè)數(shù)字識(shí)別的第一鏈接。在圖8H柵格的情況下,這是節(jié)點(diǎn)0和節(jié)點(diǎn)2之間的鏈接。然后,與這個(gè)鏈接關(guān)聯(lián)的鏈接數(shù)據(jù)被處理,因此出現(xiàn)在與該鏈接關(guān)聯(lián)的鏈接編碼中的任何節(jié)點(diǎn)號(hào)都添加到節(jié)點(diǎn)列表,而從中除去這些數(shù)字的鏈接編碼添加到鏈接列表。
在圖8H由0和2之間鏈接識(shí)別的鏈接編碼數(shù)據(jù)的情況下,由于這個(gè)鏈接包括單個(gè)符號(hào),字母E,因此沒有節(jié)點(diǎn)添加到節(jié)點(diǎn)列表,而字母E添加到鏈接列表。然后,以前述相同的方式,上路徑列表中的下一節(jié)點(diǎn)添加到節(jié)點(diǎn)列表,從那個(gè)節(jié)點(diǎn)出發(fā)由上路徑節(jié)點(diǎn)列表識(shí)別的鏈接被處理。當(dāng)所有上路徑列表都以這種方式處理以后,下路徑列表以相同的方式處理,直到下路徑列表中最后兩個(gè)節(jié)點(diǎn)之間的最后一個(gè)鏈接被處理。
因而,例如,在處理圖8H柵格結(jié)構(gòu)的情況下,在這個(gè)階段以下數(shù)據(jù)將被存儲(chǔ)。
最后處理的節(jié)點(diǎn) 0當(dāng)前節(jié)點(diǎn)0節(jié)點(diǎn)列表
鏈接列表[EEEE]形狀編碼
上邊界
下邊界
在鏈接列表和節(jié)點(diǎn)列表更新以后,形狀編碼模塊26(S9-10)確定當(dāng)前節(jié)點(diǎn)是否對(duì)應(yīng)于由上下邊界列表中最后一個(gè)數(shù)字識(shí)別的節(jié)點(diǎn)。如果情況是這樣,可選地在處理完從被處理的當(dāng)前節(jié)點(diǎn)出發(fā)的單個(gè)鏈接以后(S9-2-S9-5),形狀編碼模塊(S9-11)確定被處理的當(dāng)前節(jié)點(diǎn)是否識(shí)別出了嵌入表36中嵌入數(shù)據(jù)最后一層中的單個(gè)節(jié)點(diǎn)。如果情況是這樣,則整個(gè)柵格結(jié)構(gòu)都由形狀編碼模塊26進(jìn)行了編碼,形狀編碼模塊26的處理結(jié)束。
但是,如果當(dāng)前節(jié)點(diǎn)沒有識(shí)別出由嵌入表36中嵌入數(shù)據(jù)識(shí)別的最后一層中的節(jié)點(diǎn),則形狀編碼模塊(S9-2)確定以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的鏈接數(shù)并以上述方式繼續(xù)處理那些鏈接(S9-2-S9-10)。
如果當(dāng)前節(jié)點(diǎn)沒有識(shí)別出上下邊界列表中的最后一個(gè)節(jié)點(diǎn),則形狀編碼模塊26(S9-12)確定當(dāng)前節(jié)點(diǎn)是否與任何還未處理的鏈接關(guān)聯(lián)。
如果情況不是這樣,則形狀編碼模塊26(S9-13)繼續(xù)選擇另一節(jié)點(diǎn)進(jìn)行處理。
更具體而言,在當(dāng)前節(jié)點(diǎn)對(duì)應(yīng)于上邊界列表中除該邊界列表中最后兩個(gè)節(jié)點(diǎn)以外的一個(gè)節(jié)點(diǎn)時(shí),進(jìn)行處理的下一節(jié)點(diǎn)選為上邊界列表中的下一節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)識(shí)別出了上邊界列表中的倒數(shù)第二個(gè)節(jié)點(diǎn),則選擇的下一節(jié)點(diǎn)是下邊界列表中的第二節(jié)點(diǎn)。如果當(dāng)前節(jié)點(diǎn)是由下邊界列表中除第一節(jié)點(diǎn)編號(hào)以外的任何數(shù)字識(shí)別的節(jié)點(diǎn),則選擇下邊界列表中的下一節(jié)點(diǎn)。因而,在圖8H柵格的情況下,在所有從節(jié)點(diǎn)0出發(fā)的鏈接都處理完以后,所選的下一節(jié)點(diǎn)將是節(jié)點(diǎn)2。
在當(dāng)前節(jié)點(diǎn)更新以后,形狀編碼模塊26在確定是否所有節(jié)點(diǎn)都已處理(S9-11)或確定新選節(jié)點(diǎn)是否是任何還未處理的鏈接的起始節(jié)點(diǎn)(S9-12)之前,確定當(dāng)前節(jié)點(diǎn)是否識(shí)別了上下邊界列表中的最后一個(gè)節(jié)點(diǎn)(S9-10)。
當(dāng)確定(S9-12)當(dāng)前節(jié)點(diǎn)是任何還未處理的鏈接的起始節(jié)點(diǎn)時(shí),確定(S9-14)用于包括該未處理鏈接的區(qū)域的上下路徑。
更具體而言,如果當(dāng)前節(jié)點(diǎn)在上邊界列表中,則識(shí)別出以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的鏈接和上邊界列表中當(dāng)前節(jié)點(diǎn)的下一節(jié)點(diǎn)。這個(gè)鏈接用于設(shè)置下一要處理區(qū)域下路徑中的前兩個(gè)節(jié)點(diǎn)。因而,在圖8H柵格的情況下,在由節(jié)點(diǎn)0、2、3和1定義的區(qū)域被編碼且節(jié)點(diǎn)2被處理以后,節(jié)點(diǎn)2和3將設(shè)為下路徑列表中的初始節(jié)點(diǎn)。
然后,最接近以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的有序鏈接數(shù)據(jù)尾部的未處理鏈接用于識(shí)別要添加到上路徑的節(jié)點(diǎn)。在以上圖8H柵格的情況下,這將是鏈接(2,6),因而上路徑將被更新設(shè)置成列表[2,6]。
在當(dāng)前節(jié)點(diǎn)不由上邊界列表中的數(shù)字識(shí)別時(shí),由當(dāng)前節(jié)點(diǎn)和下邊界列表中下一節(jié)點(diǎn)識(shí)別的鏈接設(shè)置為上路徑列表的開始,最接近有序鏈接數(shù)據(jù)頭并以當(dāng)前節(jié)點(diǎn)為起始節(jié)點(diǎn)的下一未處理鏈接用于設(shè)置下路徑列表的開始。
然后以前述相同的方式關(guān)于步驟(S9-6)為要編碼的區(qū)域確定剩余的上下路徑列表。因而,在圖8H以節(jié)點(diǎn)2為起始節(jié)點(diǎn)的區(qū)域的情況下,將確定識(shí)別節(jié)點(diǎn)的上下路徑[2,6,7]和[2,3,7]。
然后(S9-15)形狀編碼模塊26確定由計(jì)算出的上下路徑定義的區(qū)域是否可以在這個(gè)階段編碼。為了確定這個(gè),形狀編碼模塊26最初檢查當(dāng)前節(jié)點(diǎn)是否由上邊界列表中的節(jié)點(diǎn)識(shí)別。如果情況是這樣,則形狀編碼模塊26確定當(dāng)前區(qū)域的下路徑是只包括由上邊界列表識(shí)別的節(jié)點(diǎn)還是包括上邊界列表中從當(dāng)前節(jié)點(diǎn)到上邊界列表末尾的全部節(jié)點(diǎn)。如果情況是這樣,則該區(qū)域可以編碼。
在當(dāng)前節(jié)點(diǎn)不對(duì)應(yīng)于上邊界列表中任何節(jié)點(diǎn)時(shí),形狀編碼模塊26確定為該區(qū)域確定的上路徑是只包括由下邊界列表識(shí)別的節(jié)點(diǎn)還是包括下邊界列表中從當(dāng)前節(jié)點(diǎn)到下邊界列表末尾的全部節(jié)點(diǎn)。如果情況是這樣,則該區(qū)域可以編碼。
如果確定(S9-15)當(dāng)前區(qū)域在這個(gè)階段不能編碼,則該節(jié)點(diǎn)及與該節(jié)點(diǎn)關(guān)聯(lián)的上下路徑被存儲(chǔ)(S9-16),邊界上當(dāng)前節(jié)點(diǎn)的下一節(jié)點(diǎn)被選擇進(jìn)行處理(S9-13)。
如果形狀編碼模塊26確定用于當(dāng)前節(jié)點(diǎn)的區(qū)域可以編碼(S9-15),則形狀編碼模塊26確定從當(dāng)前節(jié)點(diǎn)到最后處理節(jié)點(diǎn)的值的偏移值,并向形狀編碼添加對(duì)應(yīng)于所確定偏移的數(shù)字及識(shí)別與被處理節(jié)點(diǎn)關(guān)聯(lián)的上下路徑中的鏈接數(shù)的數(shù)字。
由形狀編碼模塊26確定的偏移是以步驟(S9-3)和(S9-7)確定偏移的相同方式確定的,如現(xiàn)在參考圖10A將要具體描述的。
如前所述,無(wú)論何時(shí)當(dāng)當(dāng)前節(jié)點(diǎn)設(shè)成等于最后處理的節(jié)點(diǎn)時(shí),由形狀編碼模塊26產(chǎn)生的形狀編碼的偏移值設(shè)成0。
如果最后處理的節(jié)點(diǎn)號(hào)與當(dāng)前節(jié)點(diǎn)號(hào)不相等,則偏移值以以下方式計(jì)算。首先通過(guò)拷貝上邊界列表并在以逆序附加下邊界列表之前除去出現(xiàn)在上邊界列表中的最后一個(gè)節(jié)點(diǎn)來(lái)產(chǎn)生偏移列表。
因而,在圖10A由加黑圓圈所示邊界的情況下,將產(chǎn)生包括識(shí)別該邊界中節(jié)點(diǎn)的數(shù)字
的偏移列表。
然后通過(guò)以由偏移列表識(shí)別的順序沿節(jié)點(diǎn)以順時(shí)針或逆時(shí)針前進(jìn)確定以從最后處理節(jié)點(diǎn)開始到當(dāng)前節(jié)點(diǎn)的順序圍繞邊界在節(jié)點(diǎn)之后的步進(jìn)數(shù)。
在順時(shí)針前進(jìn)步進(jìn)值小于逆時(shí)針前進(jìn)步進(jìn)值時(shí),這就是偏移值。在逆時(shí)針前進(jìn)步進(jìn)值小于順時(shí)針前進(jìn)步進(jìn)值時(shí),偏移設(shè)成對(duì)應(yīng)于步進(jìn)值的負(fù)數(shù)。
因而,例如,如圖10A所示,當(dāng)0是在圖中由*識(shí)別的最后處理節(jié)點(diǎn)且上下邊界分別包括節(jié)點(diǎn)0、2和3及0、1和3時(shí),節(jié)點(diǎn)2、3和1的偏移分別是1、2和-1,如圖中陰影圓圈上的數(shù)字所示。這些數(shù)字唯一識(shí)別出了邊界上每個(gè)節(jié)點(diǎn)相對(duì)于最后處理節(jié)點(diǎn),節(jié)點(diǎn)0,的位置。
在形狀編碼42更新以后,形狀編碼模塊26更新邊界列表(S9-19)。
具體而言,形狀編碼模塊26首先確定識(shí)別為當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)是否在上邊界列表中。如果情況是這樣,則為被編碼區(qū)域確定的下路徑中的鏈接數(shù)與當(dāng)前節(jié)點(diǎn)到上邊界列表末尾節(jié)點(diǎn)之間的鏈接數(shù)進(jìn)行比較。
如果下路徑中的鏈接數(shù)大于將當(dāng)前所處理節(jié)點(diǎn)與上邊界列表最后一個(gè)節(jié)點(diǎn)隔開的鏈接數(shù),則下路徑末尾超過(guò)將當(dāng)前節(jié)點(diǎn)與上邊界列表最后一個(gè)節(jié)點(diǎn)隔開的節(jié)點(diǎn)的節(jié)點(diǎn)編號(hào)附加到下邊界列表。
因而,例如,在圖10A處理由節(jié)點(diǎn)2、6、7、3定義的區(qū)域的情況下,在由節(jié)點(diǎn)0、2、3和1定義的區(qū)域處理以后,由于用于被處理區(qū)域的下路徑[2,3,7]包括多于將當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)2,與上邊界列表
末尾隔開的鏈接,即一個(gè)鏈接,因此通過(guò)添加來(lái)自被編碼區(qū)域的下路徑的最后一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)7,來(lái)更新下邊界。因而,在這種情況下,下邊界變成
。
然后,通過(guò)刪除從當(dāng)前節(jié)點(diǎn)到列表末尾的全部節(jié)點(diǎn)及將上路徑列表附加到縮短的上邊界列表來(lái)修改上邊界列表。
因而,在處理由節(jié)點(diǎn)2、6、7和3定義的區(qū)域的情況下,在當(dāng)前節(jié)點(diǎn)是2且上邊界最初是
時(shí),上邊界將首先縮短成
,然后上路徑[2,6,7]將附加到該縮短的列表,因此上邊界列表變成
。在圖10B中,陰影節(jié)點(diǎn)是在這個(gè)階段包括在邊界列表中的節(jié)點(diǎn)。
當(dāng)當(dāng)前處理的節(jié)點(diǎn)不對(duì)應(yīng)于上邊界列表中的節(jié)點(diǎn)時(shí),確定將當(dāng)前節(jié)點(diǎn)與下邊界列表中最后一個(gè)節(jié)點(diǎn)隔開的鏈接數(shù)。然后確定上路徑超過(guò)這個(gè)鏈接數(shù)的鏈接數(shù)。然后,出現(xiàn)在上路徑列表末尾、對(duì)應(yīng)于這個(gè)數(shù)字的節(jié)點(diǎn)號(hào)附加到識(shí)別上路徑邊界的節(jié)點(diǎn)列表。然后,下邊界中包括當(dāng)前節(jié)點(diǎn)或后續(xù)節(jié)點(diǎn)的節(jié)點(diǎn)被刪除,并且下路徑列表附加到下邊界列表。
在邊界更新以后,識(shí)別(S9-20)已添加到柵格編碼區(qū)域的鏈接。這些鏈接將包括分別添加到上下邊界列表的鏈接。因而,在處理圖10A由節(jié)點(diǎn)2、6、7和3定義的區(qū)域的情況下,在由節(jié)點(diǎn)0、2、3和1定義的區(qū)域已編碼后,添加的鏈接將包括3和7、2和6及6和7之間的鏈接。
在被編碼區(qū)域與上邊界中當(dāng)前節(jié)點(diǎn)關(guān)聯(lián)的情況下,這些節(jié)點(diǎn)以添加到下邊界然后是上邊界的鏈接順序排序,因而在上面的情況下鏈接以3-7、2-6和6-7排序。如果當(dāng)前節(jié)點(diǎn)不在上邊界列表中,則添加到上邊界的鏈接放在添加到下邊界的鏈接之前。
然后(S9-21)以前述相同的方式關(guān)于步驟(S9-5)和(S9-9)按順序處理這些鏈接中每一個(gè)的鏈接數(shù)據(jù),在鏈接數(shù)據(jù)處理以后,每個(gè)鏈接的結(jié)束節(jié)點(diǎn)如果還未添加到節(jié)點(diǎn)列表,則作為一節(jié)點(diǎn)添加到節(jié)點(diǎn)列表。然后,最后處理節(jié)點(diǎn)更新成等于當(dāng)前節(jié)點(diǎn)的值。
因而,在編碼圖8H由節(jié)點(diǎn)2、6、7和3定義的區(qū)域的情況下,在由節(jié)點(diǎn)0、2、3和1定義的區(qū)域編碼以后,以下數(shù)據(jù)將在這個(gè)階段存儲(chǔ)。
最后處理的節(jié)點(diǎn)2當(dāng)前節(jié)點(diǎn) 2節(jié)點(diǎn)列表
鏈接列表 [EEEEDEEDEEE]形狀編碼
上邊界
下邊界
在鏈接列表、節(jié)點(diǎn)列表和最后處理的節(jié)點(diǎn)更新以后,形狀編碼模塊26(S9-22)確定邊界上任何節(jié)點(diǎn)是否已經(jīng)調(diào)度進(jìn)行隨后的處理。如果情況是這樣,則選擇(S9-23)拒絕進(jìn)行編碼的最后一個(gè)區(qū)域,并且為將當(dāng)前節(jié)點(diǎn)設(shè)置成等于所選節(jié)點(diǎn)并處理為該節(jié)點(diǎn)確定的上下路徑的區(qū)域確定偏移和形狀編碼。然后,由形狀編碼模塊26存儲(chǔ)的邊界數(shù)據(jù)、形狀編碼、節(jié)點(diǎn)列表和鏈接列表及其它數(shù)據(jù)利用如上所述的上下路徑數(shù)據(jù)更新(S9-18-S9-22)。
當(dāng)被調(diào)度進(jìn)行隨后處理的所有節(jié)點(diǎn)都處理以后,形狀編碼模塊26確定當(dāng)前所選節(jié)點(diǎn)是否還有任何可以編碼區(qū)域的未處理鏈接(S9-12),然后處理那些鏈接(S9-14-S9-23)或在以前述方式處理節(jié)點(diǎn)(S9-23)之前選擇邊界上的下一節(jié)點(diǎn)(S9-13)。
因而,通過(guò)以這種方式處理簡(jiǎn)化的柵格,由柵格定義的每個(gè)區(qū)域都依次編碼。參考圖10A、B和C,例如,在由圖10A中陰影圓圈識(shí)別的區(qū)域編碼以后,選擇進(jìn)行編碼的下一節(jié)點(diǎn)是節(jié)點(diǎn)2,節(jié)點(diǎn)2關(guān)于節(jié)點(diǎn)0有偏移值1,而節(jié)點(diǎn)0是前一編碼區(qū)域的起始節(jié)點(diǎn)。然后,如圖10B所示,由節(jié)點(diǎn)2和鏈接2-6、6-7、3-7及2-3識(shí)別的區(qū)域被編碼,邊界相應(yīng)地更新。
在這個(gè)階段,節(jié)點(diǎn)2是當(dāng)前節(jié)點(diǎn),來(lái)自邊界的節(jié)點(diǎn)將包括圖10B中的陰影節(jié)點(diǎn)。
當(dāng)確定邊界上與未處理鏈接關(guān)聯(lián)的下一節(jié)點(diǎn)時(shí),將識(shí)別出節(jié)點(diǎn)6。然后確定該節(jié)點(diǎn)相對(duì)于節(jié)點(diǎn)2的偏移,在這種情況下是1,如圖10B圓圈上的數(shù)字所示。然后編碼由節(jié)點(diǎn)1、6、D4和7識(shí)別的區(qū)域。
在處理完整個(gè)上邊界以后,依次考慮下邊界中的節(jié)點(diǎn),識(shí)別出下邊界中附屬于一未處理鏈接的第一節(jié)點(diǎn),節(jié)點(diǎn)1。然后確定相對(duì)于節(jié)點(diǎn)6的偏移值,如由圖10C圓圈上的數(shù)字所示,這個(gè)值是-3。然后如前所述確定由節(jié)點(diǎn)1、3和7識(shí)別的形狀的形狀編碼并更新鏈接列表和節(jié)點(diǎn)列表。在節(jié)點(diǎn)1考慮之后,依次考慮節(jié)點(diǎn)7和節(jié)點(diǎn)4,直到到達(dá)最后一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)D4,在這點(diǎn)不再發(fā)生任何編碼。
在這種處理的末尾,以下數(shù)據(jù)將存儲(chǔ),其中用于柵格中鏈接的鏈接編碼對(duì)應(yīng)于圖8H識(shí)別出的那些。
節(jié)點(diǎn)列表
鏈接列表[EEEEDEEDEEEPEEPMEEPEEMPEDEEPEDEE]形狀編碼
虛節(jié)點(diǎn) [D1,D2,D3,D4,D5]
虛鏈接 (5-7)交叉鏈接 (5-7)如現(xiàn)在將要描述的,這些數(shù)據(jù)足以讓解碼模塊28產(chǎn)生表示圖6A所示原始編碼柵格結(jié)構(gòu)的柵格結(jié)構(gòu)。
現(xiàn)在參考圖11A-D,圖12及圖13A-G具體描述解碼模塊28再生柵格結(jié)構(gòu)的處理。
解碼模塊執(zhí)行的處理參考圖11A,一旦用于整個(gè)柵格結(jié)構(gòu)的節(jié)點(diǎn)列表44、鏈接列表和形狀編碼42已由形狀編碼模塊26確定,解碼模塊28就繼續(xù)從節(jié)點(diǎn)列表44、鏈接列表43、形狀編碼42及存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的虛節(jié)點(diǎn)和虛鏈接38及交叉鏈接39產(chǎn)生該柵格結(jié)構(gòu)的另一表示。
具體而言,解碼模塊28最初(S11-1)從節(jié)點(diǎn)列表讀出第一節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)是柵格結(jié)構(gòu)中第一節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)。然后解碼模塊28為所產(chǎn)生的柵格結(jié)構(gòu)中的第一層產(chǎn)生節(jié)點(diǎn)列表,包括從節(jié)點(diǎn)列表中讀出的節(jié)點(diǎn)號(hào)。
因而,在以上節(jié)點(diǎn)列表的情況下,其中節(jié)點(diǎn)列表44中的第一節(jié)點(diǎn)是節(jié)點(diǎn)0,為第一層產(chǎn)生包括節(jié)點(diǎn)列表
的嵌入數(shù)據(jù)項(xiàng)的節(jié)點(diǎn)列表。
然后解碼模塊28產(chǎn)生初始上下邊界列表,這兩個(gè)列表都包括單個(gè)元素,該元素是從節(jié)點(diǎn)列表44中讀出的節(jié)點(diǎn)號(hào)。解碼模塊28還將最后處理的節(jié)點(diǎn)和當(dāng)前節(jié)點(diǎn)設(shè)置成等于從節(jié)點(diǎn)列表讀出的節(jié)點(diǎn)。
因而,在這個(gè)階段,解碼模塊28將以下數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中。
最后處理的節(jié)點(diǎn)0當(dāng)前節(jié)點(diǎn) 0節(jié)點(diǎn)列表 [2,3,1,7,6,9,D4,8,10,5,4]鏈接列表[EEEEDEEDEEEPMEEPEEMPEDEEPEDEE]形狀編碼
虛節(jié)點(diǎn)[D1,D2,D3,D4,D5]虛鏈接(5-7)交叉鏈接 (5-7)上邊界
下邊界
嵌入數(shù)據(jù)第一層
鏈接數(shù)據(jù) 無(wú)然后(S11-2)解碼模塊28從形狀編碼讀出下一數(shù)字,在這種情況下是值0,并更新當(dāng)前節(jié)點(diǎn)號(hào)。
更具體而言,在從形狀編碼讀出的數(shù)字等于0時(shí),不采取任何動(dòng)作。如果該數(shù)字不等于0,則如現(xiàn)在將要描述的,當(dāng)前節(jié)點(diǎn)被更新。
最初,在從形狀編碼讀出的數(shù)字是正數(shù)或負(fù)數(shù)時(shí),識(shí)別當(dāng)前節(jié)點(diǎn)在上下邊界列表中的位置。
如果從形狀編碼讀出的數(shù)字是正數(shù)且當(dāng)前節(jié)點(diǎn)號(hào)識(shí)別出上邊界列表中的節(jié)點(diǎn),則識(shí)別節(jié)點(diǎn)號(hào)還在該列表中的列表中的節(jié)點(diǎn),當(dāng)前節(jié)點(diǎn)相應(yīng)地更新。在當(dāng)前節(jié)點(diǎn)在上邊界列表中且從形狀編碼讀出的數(shù)字是負(fù)數(shù)時(shí),解碼模塊28向列表頭計(jì)數(shù)。在對(duì)應(yīng)于來(lái)自形狀編碼的數(shù)字的節(jié)點(diǎn)號(hào)讀出時(shí),識(shí)別讀出的最后一個(gè)數(shù)字,當(dāng)前節(jié)點(diǎn)相應(yīng)地更新。
如果在正數(shù)的情況下到達(dá)上邊界列表的頭或尾,則考慮從下邊界列表尾部將剩余節(jié)點(diǎn)數(shù)計(jì)算在內(nèi)的后續(xù)節(jié)點(diǎn),直到計(jì)數(shù)夠要求的節(jié)點(diǎn)數(shù)。相反,在負(fù)數(shù)的情況下,如果到達(dá)列表頭,則對(duì)于剩余的節(jié)點(diǎn)數(shù),依次考慮從下邊界列表頭開始的節(jié)點(diǎn)號(hào)。
在當(dāng)前節(jié)點(diǎn)不出現(xiàn)在上邊界列表中時(shí),識(shí)別當(dāng)前節(jié)點(diǎn)在下邊界列表中的位置,如果從形狀編碼讀出的數(shù)字是正數(shù),則讀出朝下邊界列表頭方向的節(jié)點(diǎn)數(shù),讀出的最后一個(gè)節(jié)點(diǎn)用于更新當(dāng)前節(jié)點(diǎn)。在從形狀編碼讀出的數(shù)字是負(fù)數(shù)且當(dāng)前節(jié)點(diǎn)不出現(xiàn)在上邊界列表中時(shí),從當(dāng)前節(jié)點(diǎn)開始向著下邊界列表尾,由來(lái)自形狀編碼的數(shù)字表示的節(jié)點(diǎn)數(shù)被讀出。
如果到達(dá)下邊界列表的頭或尾,則更多節(jié)點(diǎn)從上邊界列表計(jì)數(shù)(在正數(shù)情況下從頭開始,在負(fù)數(shù)情況下從尾部向后),直到由形狀編碼識(shí)別的所有節(jié)點(diǎn)號(hào)都考慮了。然后,當(dāng)前節(jié)點(diǎn)值設(shè)成等于該邊界列表中識(shí)別的最后一個(gè)節(jié)點(diǎn)。
在當(dāng)前節(jié)點(diǎn)數(shù)據(jù)更新以后(S11-2),解碼模塊28(S11-3)從形狀編碼列表讀出下兩個(gè)數(shù)字。在以上示例形狀編碼列表的情況下,這些數(shù)字是數(shù)字2和2。
在下兩個(gè)數(shù)字從形狀編碼列表讀出以后,解碼模塊28(S11-4)確定是否讀出的這兩個(gè)數(shù)字都等于1。
如果情況是這樣,則解碼模塊28(S11-5)繼續(xù)從鏈接列表43讀符號(hào),直到讀出的符號(hào)E的個(gè)數(shù)超過(guò)從列表中讀出的其它符號(hào)的個(gè)數(shù)。這將包括用于由鏈接編碼模塊24產(chǎn)生的簡(jiǎn)化柵格的一個(gè)鏈接的鏈接編碼。然后,如現(xiàn)在參考圖12將要具體描述的,從鏈接列表43讀出的鏈接編碼將被處理,其中圖12是解碼模塊28處理來(lái)自鏈接列表43的鏈接編碼以再生由該鏈接編碼表示的編碼柵格部分的流程圖。
首先參考圖12,解碼模塊28確定(S12-1)當(dāng)前節(jié)點(diǎn)是否對(duì)應(yīng)于上邊界列表中的節(jié)點(diǎn)。如果情況是這樣,則當(dāng)處理鏈接編碼時(shí),添加到用于所產(chǎn)生柵格結(jié)構(gòu)的嵌入數(shù)據(jù)的任何節(jié)點(diǎn)都添加到每層的列表頭。否則新添加的節(jié)點(diǎn)添加到嵌入數(shù)據(jù)中的列表尾。
然后產(chǎn)生識(shí)別作為起始節(jié)點(diǎn)添加到柵格的最后一個(gè)節(jié)點(diǎn)和空結(jié)束節(jié)點(diǎn)的鏈接數(shù)據(jù),而且從鏈接列表讀出的鏈接編碼與新產(chǎn)生的鏈接數(shù)據(jù)和識(shí)別包含所產(chǎn)生鏈接起始節(jié)點(diǎn)的層的層數(shù)據(jù)關(guān)聯(lián)。然后解碼模塊28依次處理與鏈接編碼關(guān)聯(lián)的每個(gè)鏈接。
具體而言,解碼模塊28最初(S12-2)確定所處理鏈接編碼中的第一個(gè)符號(hào)是否是字母D。如果情況是這樣,則解碼模塊28(S12-3)增加與該鏈接關(guān)聯(lián)的層數(shù)據(jù)并從用于該鏈接的鏈接編碼中刪除前兩個(gè)符號(hào)。
如果與鏈接關(guān)聯(lián)的鏈接編碼的第一個(gè)符號(hào)不是字母D,則解碼模塊(S12-4)確定第一個(gè)符號(hào)是否是字母P(S12-4)。如果情況是這樣,則節(jié)點(diǎn)列表中的下一元素被讀出,而且與所處理鏈接編碼關(guān)聯(lián)的鏈接數(shù)據(jù)被更新(S12-5),以識(shí)別作為結(jié)束節(jié)點(diǎn)從節(jié)點(diǎn)列表讀出的節(jié)點(diǎn)號(hào)。
大于與鏈接關(guān)聯(lián)的數(shù)據(jù)的層的節(jié)點(diǎn)列表更新成包括該鏈接的結(jié)束節(jié)點(diǎn)。
然后產(chǎn)生以新讀出節(jié)點(diǎn)為起始節(jié)點(diǎn)并具有空結(jié)束節(jié)點(diǎn)的新鏈接數(shù)據(jù),并與識(shí)別包含該鏈接起始節(jié)點(diǎn)的層的層數(shù)據(jù)關(guān)聯(lián)。然后,與所處理鏈接關(guān)聯(lián)的鏈接編碼通過(guò)從鏈接編碼中刪除第一個(gè)符號(hào),字母P,來(lái)更新。然后一個(gè)接一個(gè)讀出剩余鏈接編碼中的符號(hào),直到讀出的字母E的個(gè)數(shù)超過(guò)其它字母的個(gè)數(shù)。該讀出的鏈接編碼數(shù)據(jù)與新產(chǎn)生的鏈接數(shù)據(jù)關(guān)聯(lián),由解碼模塊28讀出的符號(hào)從當(dāng)前處理的鏈接的鏈接編碼中刪除。
如果所處理鏈接編碼的下一符號(hào)未確定是字母P(S12-4),則解碼模塊28(S12-6)確定所處理鏈接編碼開始的符號(hào)是否是字母M。
如果情況是這樣,則解碼模塊28(S12-7)產(chǎn)生與所處理鏈接編碼關(guān)聯(lián)的鏈接數(shù)據(jù)和層數(shù)據(jù)的拷貝。然后,解碼模塊28通過(guò)從與當(dāng)前鏈接關(guān)聯(lián)的符號(hào)序列開始刪除字母M并讀出鏈接編碼數(shù)據(jù)的符號(hào)直到字母E的個(gè)數(shù)超過(guò)鏈接編碼中其它字母的個(gè)數(shù)來(lái)更新與當(dāng)前鏈接關(guān)聯(lián)的鏈接編碼數(shù)據(jù)。然后,從鏈接編碼中讀出的符號(hào)作為鏈接編碼與新產(chǎn)生的鏈接關(guān)聯(lián),而用于所處理鏈接的鏈接編碼通過(guò)將讀出的鏈接編碼從與該鏈接關(guān)聯(lián)的符號(hào)列表中刪除來(lái)更新。
因而,例如,參考圖13A-F,考慮解碼來(lái)自與以下初始鏈接數(shù)據(jù)和層數(shù)據(jù)(0,-)-層0關(guān)聯(lián)的鏈接列表的以下數(shù)據(jù)[MDEPEEDEDEE]和以下嵌入數(shù)據(jù)的情況嵌入數(shù)據(jù)層0
參考圖13A,以上鏈接編碼和鏈接數(shù)據(jù)示意性地在圖13A中說(shuō)明,其中鏈接的起始節(jié)點(diǎn)示為圓圈中的數(shù)字,而鏈接示為指向第二個(gè)圓圈的箭頭。圖中,節(jié)點(diǎn)長(zhǎng)度對(duì)應(yīng)于層數(shù)據(jù),較長(zhǎng)的箭頭與較大的層號(hào)關(guān)聯(lián),而鏈接編碼示為緊挨著鏈接。
最初,鏈接編碼中的第一個(gè)字母是字母M,因此將創(chuàng)建鏈接數(shù)據(jù)(0,-)和層數(shù)據(jù)的拷貝。鏈接數(shù)據(jù)的這兩個(gè)拷貝將與以下鏈接編碼[DEPEE]和[DEDEE]關(guān)聯(lián)。因而在這個(gè)階段,如圖13B所說(shuō)明的,以下數(shù)據(jù)將被存儲(chǔ)鏈接鏈接編碼層(0,-) [DEPEE] 層0(0,-) [DEDEE] 層0由于與這兩個(gè)鏈接關(guān)聯(lián)的編碼數(shù)據(jù)不是單個(gè)字母E,因此其中一個(gè)鏈接編碼將然后被選擇進(jìn)行處理。
在第一個(gè)鏈接編碼[DEPEE]的情況下,第一個(gè)符號(hào)是D。于是用于該鏈接的層數(shù)據(jù)加1。用于該鏈接的鏈接編碼由鏈接編碼[PEE]代替。因而,在這個(gè)階段,如圖13C所說(shuō)明的,以下數(shù)據(jù)將被存儲(chǔ)鏈接鏈接編碼層(0,-) [PEE]層1(0,-) [DEDEE] 層0當(dāng)處理更新后的鏈接編碼時(shí),由于第一個(gè)符號(hào)是字母P,因此與該鏈接關(guān)聯(lián)的鏈接編碼通過(guò)將結(jié)束節(jié)點(diǎn)設(shè)成出現(xiàn)在節(jié)點(diǎn)列表上的下一節(jié)點(diǎn)來(lái)更新,以該新節(jié)點(diǎn)為起始節(jié)點(diǎn)的新鏈接產(chǎn)生并與從中刪除第一和最后一個(gè)符號(hào)的前一鏈接編碼關(guān)聯(lián)。然后,該新節(jié)點(diǎn)添加到與由所處理鏈接的層數(shù)據(jù)識(shí)別的層相鄰的節(jié)點(diǎn)列表,而且新鏈接然后與識(shí)別這層的層數(shù)據(jù)關(guān)聯(lián)。
因而,在這個(gè)階段,如果節(jié)點(diǎn)列表上的下一節(jié)點(diǎn)是節(jié)點(diǎn)1,則以下數(shù)據(jù)將存儲(chǔ)。
嵌入數(shù)據(jù)層0
層1 -層2 [1]
鏈接數(shù)據(jù)鏈接編碼層(0,1) [E] 層1(0,-) [DDEE] 層0(1,-) [E] 層2該數(shù)據(jù)由圖13D說(shuō)明。
由于剩余鏈接都與鏈接編碼E關(guān)聯(lián),因此解碼模塊28然后將開始處理與鏈接數(shù)據(jù)(0,-)關(guān)聯(lián)的鏈接編碼。由于這個(gè)鏈接編碼包括DEDEE,因此這將使層數(shù)據(jù)更新成等于2,在這點(diǎn)編碼將只包括單個(gè)字母E。在此之后所有鏈接編碼數(shù)據(jù)都已處理。在處理鏈接編碼末尾的數(shù)據(jù)由圖13E說(shuō)明。
因而,以這種方式,解碼模塊28能夠處理來(lái)自鏈接列表的數(shù)據(jù),產(chǎn)生表示包括一條或多條由鏈接編碼數(shù)據(jù)40編碼的并行線性節(jié)點(diǎn)路徑的柵格結(jié)構(gòu)部分的嵌入數(shù)據(jù)和鏈接數(shù)據(jù)。
返回圖11A,在所有鏈接數(shù)據(jù)都處理完以后(S11-5),解碼模塊28然后(S11-6)從節(jié)點(diǎn)列表44讀下一節(jié)點(diǎn)。這個(gè)節(jié)點(diǎn)號(hào)用于通過(guò)用從節(jié)點(diǎn)列表44讀出的節(jié)點(diǎn)值代替空值來(lái)更新由解碼模塊28根據(jù)處理從鏈接列表43獲得的具有空結(jié)束節(jié)點(diǎn)的鏈接編碼而產(chǎn)生的鏈接數(shù)據(jù)。然后選擇剛更新的一個(gè)鏈接,而且從節(jié)點(diǎn)列表44讀出的節(jié)點(diǎn)然后添加到由該鏈接層數(shù)據(jù)識(shí)別的層的下一層的節(jié)點(diǎn)列表。
因而,例如,在上述鏈接的情況下,如果下一節(jié)點(diǎn)號(hào)是節(jié)點(diǎn)2,則嵌入數(shù)據(jù)和鏈接數(shù)據(jù)將然后變成嵌入數(shù)據(jù)層0
層1層2 [1]層3 [2]鏈接數(shù)據(jù)(0,1),(0,2),(1,2)以上例子在節(jié)點(diǎn)2添加以后的最終結(jié)構(gòu)由圖13F示出。
然后,當(dāng)前節(jié)點(diǎn)數(shù)據(jù)和最后處理的節(jié)點(diǎn)數(shù)據(jù)重置成等于從節(jié)點(diǎn)列表44讀出的最后一個(gè)節(jié)點(diǎn),而上下邊界列表重置成包含單個(gè)元素,它是從節(jié)點(diǎn)列表44讀出的最后一個(gè)節(jié)點(diǎn)號(hào)。
然后(S11-7),解碼模塊28確定是否所有形狀編碼數(shù)據(jù)42都已處理。如后所述,如果所有形狀編碼數(shù)據(jù)42都已處理,則(S11-23)解碼模塊28利用存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38和交叉鏈接數(shù)據(jù)39完成柵格結(jié)構(gòu)的表示??蛇x地,如果情況不是這樣,則解碼模塊28繼續(xù)處理(S11-7)形狀編碼42中的下一數(shù)字,同樣如后面具體描述的。
如果當(dāng)初始上下路徑數(shù)從形狀編碼42中讀出時(shí)(S11-3)確定該數(shù)字不都是1(S11-4),則解碼模塊28繼續(xù)(S11-8)從鏈接列表43讀該鏈接編碼的下一部分,直到由字母E表示的符號(hào)總數(shù)超過(guò)其它符號(hào)的個(gè)數(shù),并以前述相同的方式關(guān)于步驟(S11-5)繼續(xù)處理該鏈接編碼數(shù)據(jù)。
在從鏈接列表43讀出的鏈接編碼數(shù)據(jù)處理完以后,解碼模塊28(S11-9)從節(jié)點(diǎn)列表44讀下一節(jié)點(diǎn)號(hào)。然后,作為處理識(shí)別空結(jié)束節(jié)點(diǎn)的鏈接編碼數(shù)據(jù)的結(jié)果而產(chǎn)生的任何鏈接數(shù)據(jù)都更新成包括從節(jié)點(diǎn)列表44讀出的該節(jié)點(diǎn)作為起始節(jié)點(diǎn)。然后以前述方式更新柵格結(jié)構(gòu)的嵌入數(shù)據(jù),其中從節(jié)點(diǎn)列表44讀出的節(jié)點(diǎn)號(hào)添加到由剛更新的任何鏈接的層數(shù)據(jù)所識(shí)別層的相鄰層節(jié)點(diǎn)列表。
然后(S11-10)解碼模塊28確定是否由所處理形狀編碼數(shù)據(jù)編碼的所有上路徑都已解碼(S11-10)。即,由于所處理形狀編碼是從形狀編碼42中讀出的,因此解碼模塊28計(jì)算作為步驟(S11-9)處理結(jié)果鏈接編碼和節(jié)點(diǎn)添加到所產(chǎn)生柵格結(jié)構(gòu)的次數(shù)。如果這小于從形狀編碼42讀出的三位數(shù)串中的第二個(gè)數(shù)字,則解碼模塊28繼續(xù)處理(S11-8)來(lái)自鏈接列表43的鏈接編碼的下一部分,然后讀出并處理(S11-9)節(jié)點(diǎn)列表44中的下一節(jié)點(diǎn)。
因而,例如,如果以下數(shù)據(jù)由數(shù)據(jù)存儲(chǔ)器20存儲(chǔ)當(dāng)前節(jié)點(diǎn)0
節(jié)點(diǎn)列表[2,3,1,...]鏈接列表[EEEE...]形狀編碼
嵌入數(shù)據(jù)層1
鏈接數(shù)據(jù)無(wú)上邊界
下邊界
在處理鏈接列表中的前兩項(xiàng)之后,數(shù)據(jù)存儲(chǔ)器中所存儲(chǔ)的數(shù)據(jù)將是當(dāng)前節(jié)點(diǎn)0節(jié)點(diǎn)列表[1...]鏈接列表[EE...]形狀編碼
嵌入數(shù)據(jù)層1
層2 [2]層3 [3]鏈接數(shù)據(jù)(0,2),(2,3)上邊界
下邊界
當(dāng)解碼模塊28確定由形狀編碼42中第二個(gè)數(shù)字識(shí)別的用于處理的所有鏈接都處理完以后,解碼模塊28(S11-11)繼續(xù)記下所添加最后一個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)并處理(S11-13)來(lái)自鏈接列表包括比其它字母多的字母E的鏈接編碼的下一部分。然后,解碼模塊28將從鏈接列表43讀出的鏈接編碼與具有對(duì)應(yīng)于當(dāng)前節(jié)點(diǎn)的起始節(jié)點(diǎn)和空結(jié)束節(jié)點(diǎn)的所產(chǎn)生鏈接關(guān)聯(lián)。然后以前述相同的方式處理該鏈接編碼。在鏈接編碼項(xiàng)處理完以后,解碼模塊28(S11-14)確定從記下最后一個(gè)節(jié)點(diǎn)值(S11-11)開始由步驟(S11-13)處理的鏈接編碼部分的總數(shù)是否對(duì)應(yīng)于所處理形狀編碼中的最后一個(gè)數(shù)字(S11-14)。
如果情況不是這樣,則解碼模塊28(S11-15)從節(jié)點(diǎn)列表讀出下一節(jié)點(diǎn),將該節(jié)點(diǎn)作為結(jié)束節(jié)點(diǎn)添加到當(dāng)前識(shí)別出空結(jié)束節(jié)點(diǎn)的鏈接數(shù)據(jù)。嵌入數(shù)據(jù)是以前述方式關(guān)于步驟(S11-9)利用這個(gè)節(jié)點(diǎn)號(hào)更新的。然后,解碼模塊28更新與所產(chǎn)生柵格關(guān)聯(lián)的邊界列表。在本例中,當(dāng)當(dāng)前節(jié)點(diǎn)同時(shí)是上下邊界列表的成員時(shí),與步驟(S11-9)的更新相反,這種更新涉及將新識(shí)別的節(jié)點(diǎn)添加到下邊界列表。
因而,在上述例子的情況下,在來(lái)自鏈接列表的另兩個(gè)鏈接編碼數(shù)據(jù)項(xiàng)處理完之后,以下數(shù)據(jù)將被存儲(chǔ)當(dāng)前節(jié)點(diǎn)0節(jié)點(diǎn)列表[1...]鏈接列表[...]形狀編碼
嵌入數(shù)據(jù)層1
層2 [2,1]層3 [3]鏈接數(shù)據(jù)(0,2),(2,3),(0,1),(1,-)上邊界
下邊界
最后一個(gè)節(jié)點(diǎn)3當(dāng)從記下最后一個(gè)節(jié)點(diǎn)(S11-11)開始由步驟(S11-13)處理的鏈接編碼數(shù)據(jù)部分的總數(shù)對(duì)應(yīng)于由所處理形狀編碼最后一個(gè)值識(shí)別的數(shù)字時(shí),解碼模塊28(S11-16)修正以空值作為結(jié)束節(jié)點(diǎn)的鏈接數(shù)據(jù)以識(shí)別最后一個(gè)節(jié)點(diǎn),并將該最后一個(gè)節(jié)點(diǎn)添加到下邊界列表。
因此,關(guān)于上例,由解碼模塊28存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的嵌入數(shù)據(jù)、鏈接數(shù)據(jù)和上下邊界列表如下嵌入數(shù)據(jù)層1
層2[2,1]層3[3]鏈接數(shù)據(jù) (0,2),(2,3),(0,1),(1,3)上邊界
下邊界
在這個(gè)階段由這種嵌入數(shù)據(jù)和鏈接數(shù)據(jù)編碼的柵格結(jié)構(gòu)由圖14A說(shuō)明,其中對(duì)應(yīng)于同一層的節(jié)點(diǎn)在垂直列中示出,而鏈接數(shù)據(jù)由連接該鏈接數(shù)據(jù)起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的箭頭說(shuō)明。
比較圖14A與圖10A的結(jié)構(gòu),很顯然所產(chǎn)生的結(jié)構(gòu)對(duì)應(yīng)于圖10A的陰影節(jié)點(diǎn)和完整箭頭。進(jìn)一步比較本例中的初始節(jié)點(diǎn)列表,鏈接列表及形狀編碼與圖10A例子中對(duì)應(yīng)的節(jié)點(diǎn)列表、鏈接列表及形狀編碼,很顯然通過(guò)以所述方式處理為結(jié)構(gòu)產(chǎn)生的節(jié)點(diǎn)列表、形狀編碼和鏈接列表使該結(jié)構(gòu)可以重建。
在包括用于源自柵格中第一節(jié)點(diǎn)的鏈接的形狀編碼的第一組三位數(shù)被解碼且對(duì)應(yīng)的柵格結(jié)構(gòu)產(chǎn)生以后,解碼模塊(S11-7)確定是否所有編碼數(shù)據(jù)都已處理。
如果情況不是這樣,參考圖11C,解碼模塊28(S11-17)從形狀編碼42讀出下一數(shù)字。然后,解碼模塊28以前述相同的方式關(guān)于步驟(S11-2)更新當(dāng)前節(jié)點(diǎn)號(hào)。即,如果從形狀編碼列表42讀出的數(shù)字是0,則不發(fā)生更新。如果該數(shù)字是正或負(fù)數(shù),則選擇已編碼結(jié)構(gòu)邊界上的另一節(jié)點(diǎn),所選節(jié)點(diǎn)是上或下邊界列表中的一個(gè)節(jié)點(diǎn)。
因而,在圖14A結(jié)構(gòu)的情況下,如果形狀編碼中的下一數(shù)字是1,當(dāng)前節(jié)點(diǎn)號(hào)當(dāng)前設(shè)成0并存儲(chǔ)了上下邊界列表

,則當(dāng)前節(jié)點(diǎn)號(hào)將設(shè)成2。
在當(dāng)前節(jié)點(diǎn)號(hào)更新以后(S11-17),解碼模塊28(S11-18)確定由當(dāng)前節(jié)點(diǎn)號(hào)識(shí)別的節(jié)點(diǎn)是否對(duì)應(yīng)于邊界列表中的最后一個(gè)節(jié)點(diǎn)。如果情況是這樣,則解碼模塊28(S11-3-S11-6)以與前述完全相同的方式關(guān)于步驟(S11-3-S11-16)處理形狀編碼中的下兩個(gè)數(shù)字及鏈接列表中的關(guān)聯(lián)鏈接編碼和節(jié)點(diǎn)列表44中的關(guān)聯(lián)節(jié)點(diǎn)。
如果由當(dāng)前節(jié)點(diǎn)號(hào)識(shí)別的節(jié)點(diǎn)不等于由邊界列表中最后一個(gè)數(shù)字識(shí)別的節(jié)點(diǎn),則讀出形狀編碼42的下兩個(gè)數(shù)字。然后(S11-19)如果有的話,則解碼模塊28確定要處理并添加到所產(chǎn)生結(jié)構(gòu)中最后一個(gè)節(jié)點(diǎn)的鏈接數(shù)。
具體而言,最初解碼模塊28確定當(dāng)前節(jié)點(diǎn)是否是上邊界列表中的節(jié)點(diǎn)。如果情況是這樣,則形狀編碼兩個(gè)數(shù)字中的第二個(gè)數(shù)字與將當(dāng)前節(jié)點(diǎn)和上邊界列表末尾隔開的節(jié)點(diǎn)數(shù)進(jìn)行比較。
在形狀編碼的該第二個(gè)數(shù)字超過(guò)將當(dāng)前節(jié)點(diǎn)與上邊界列表中最后一個(gè)節(jié)點(diǎn)隔開的節(jié)點(diǎn)數(shù)時(shí),確定形狀編碼中第一個(gè)數(shù)字與將當(dāng)前節(jié)點(diǎn)與上邊界列表末尾隔開的節(jié)點(diǎn)數(shù)的差值,其設(shè)置成要處理的鏈接數(shù)。
如果當(dāng)前節(jié)點(diǎn)不是由上邊界列表中的節(jié)點(diǎn)識(shí)別,則確定將當(dāng)前節(jié)點(diǎn)與下邊界列表末尾隔開的節(jié)點(diǎn)數(shù)。然后這個(gè)數(shù)字與形狀編碼兩個(gè)數(shù)字中的第一個(gè)數(shù)字進(jìn)行比較。在形狀編碼的第一個(gè)數(shù)字超過(guò)將當(dāng)前節(jié)點(diǎn)與下邊界列表末尾隔開的節(jié)點(diǎn)數(shù)時(shí),形狀編碼第一個(gè)數(shù)字與將當(dāng)前節(jié)點(diǎn)和下邊界列表末尾隔開的節(jié)點(diǎn)數(shù)之間的差值設(shè)置成要處理的鏈接數(shù)。
因而,例如,在處理形狀編碼[1,3,3]的情況下,其中當(dāng)前節(jié)點(diǎn)設(shè)成節(jié)點(diǎn)2,上下邊界等于以下上邊界
下邊界
當(dāng)前節(jié)點(diǎn)2將識(shí)別為在上邊界中并且由節(jié)點(diǎn)3和4與上邊界的末尾隔開。由于節(jié)點(diǎn)總數(shù)2小于形狀編碼[1,3,3]中最后一個(gè)數(shù)字,因此額外的節(jié)點(diǎn)將識(shí)別為必須從已產(chǎn)生結(jié)構(gòu)的最后一個(gè)節(jié)點(diǎn)(節(jié)點(diǎn)4)添加到該結(jié)構(gòu)。
相反,如果上例中當(dāng)前節(jié)點(diǎn)識(shí)別為節(jié)點(diǎn)1且相同的形狀編碼對(duì)相同的邊界進(jìn)行處理,則由于上例節(jié)點(diǎn)1是由節(jié)點(diǎn)2、3和4與上邊界中的最后一個(gè)節(jié)點(diǎn)隔開的,因此比較這個(gè)節(jié)點(diǎn)數(shù)與所處理形狀編碼中的最后一個(gè)數(shù)字將識(shí)別出沒有節(jié)點(diǎn)要添加到邊界列表的最后一個(gè)節(jié)點(diǎn)。
在要添加的鏈接總數(shù)確定以后(S11-19),解碼模塊28確定是否所有必需的鏈接都已處理(S11-20)。如果情況不是這樣,則解碼模塊28(S11-21)繼續(xù)讀是列表頭符號(hào)的下一鏈接的鏈接編碼數(shù)據(jù),直到由字母E表示的符號(hào)總數(shù)超過(guò)由其它字母表示的符號(hào)總數(shù)。然后參考圖12以前述相同的方式處理這個(gè)鏈接編碼。
然后讀節(jié)點(diǎn)列表44中的下一節(jié)點(diǎn)號(hào)(S11-22)。然后這個(gè)節(jié)點(diǎn)號(hào)用于更新將空值識(shí)別為結(jié)束節(jié)點(diǎn)的任何鏈接數(shù)據(jù)。然后識(shí)別與更新鏈接關(guān)聯(lián)的層數(shù)據(jù),而對(duì)應(yīng)于讀出節(jié)點(diǎn)號(hào)的數(shù)字添加到嵌入數(shù)據(jù)中與由所更新鏈接層數(shù)據(jù)識(shí)別的層相鄰的層的節(jié)點(diǎn)列表。
當(dāng)嵌入數(shù)據(jù)和鏈接數(shù)據(jù)都更新以后,在當(dāng)前節(jié)點(diǎn)不由上邊界列表中的節(jié)點(diǎn)識(shí)別時(shí)節(jié)點(diǎn)號(hào)添加到上邊界列表的末尾,或者在當(dāng)前節(jié)點(diǎn)由上邊界列表中的節(jié)點(diǎn)號(hào)識(shí)別時(shí)添加到下邊界列表。
然后解碼模塊28重新確定(S11-20)由步驟(S11-21)處理的鏈接數(shù)據(jù)部分的總數(shù)是否對(duì)應(yīng)于需要處理的必需鏈接數(shù)。如果情況不是這樣,則還有鏈接數(shù)據(jù)被處理(S11-21),而邊界數(shù)據(jù)、嵌入數(shù)據(jù)和鏈接數(shù)據(jù)都更新(S11-21,S11-22)。
因而,例如,參考圖14B,在由節(jié)點(diǎn)0、2、3和1識(shí)別的區(qū)域的形狀編碼已如上所述關(guān)于圖14A處理以后,如果要處理的下一形狀編碼是編碼[1,2,2]。在這種情況下,第一數(shù)字1指示從沿解碼區(qū)域順時(shí)針移動(dòng)的原始起始節(jié)點(diǎn)0到達(dá)節(jié)點(diǎn)2的偏移。這個(gè)節(jié)點(diǎn)在上邊界0、2、3中,并由單個(gè)鏈接2-3與該邊界的最后一個(gè)節(jié)點(diǎn)隔開。
然后,比較形狀編碼中的最后一個(gè)數(shù)字,在這個(gè)例子中是2,與將當(dāng)前節(jié)點(diǎn)2和解碼區(qū)域中最后一個(gè)節(jié)點(diǎn)隔開的鏈接數(shù),在這個(gè)例子中是單個(gè)鏈接。由于形狀編碼識(shí)別出比將當(dāng)前節(jié)點(diǎn)與解碼區(qū)域中最后一個(gè)節(jié)點(diǎn)隔開的鏈接數(shù)大的數(shù)字,因此需要添加到最后一個(gè)節(jié)點(diǎn)的鏈接數(shù)確定為該差值,在這種情況下是另一個(gè)鏈接。
然后處理一組鏈接數(shù)據(jù),從節(jié)點(diǎn)表讀出下一節(jié)點(diǎn)并添加到下一層。圖14B是鏈接數(shù)據(jù)DEE已處理且下一節(jié)點(diǎn)號(hào)7已從節(jié)點(diǎn)列表44讀出后圖14A更新結(jié)構(gòu)的說(shuō)明。
在任何必需的節(jié)點(diǎn)已連接添加到前一編碼區(qū)域中的最后一個(gè)節(jié)點(diǎn)以后,解碼模塊(S11-13)從鏈接列表43讀出符號(hào)E比由其它字母表示的符號(hào)多的下一部分。然后以前述方式進(jìn)行處理。
然后(S11-14)解碼模塊28確定是否所有必需的附加鏈接都已處理,如果情況不是這樣,則解碼模塊28繼續(xù)從節(jié)點(diǎn)列表讀下一字節(jié)并利用新讀出的節(jié)點(diǎn)更新上或下邊界(S11-15)。
更具體而言,在當(dāng)前節(jié)點(diǎn)由上邊界列表上不是列表頭數(shù)字的數(shù)字識(shí)別時(shí),由步驟(S11-13)處理的鏈接編碼部分?jǐn)?shù)同從形狀編碼讀出的數(shù)字對(duì)中的第一個(gè)數(shù)字進(jìn)行比較。如果所處理鏈接編碼的部分?jǐn)?shù)等于這個(gè)數(shù)字,則不添加更多節(jié)點(diǎn)。如果情況不是這樣,則讀出下一節(jié)點(diǎn),并且以前述方式預(yù)更新的嵌入數(shù)據(jù)和鏈接數(shù)據(jù)及上邊界列表隨后更新。
當(dāng)?shù)谝淮蔚逻吔缌斜頃r(shí),從當(dāng)前節(jié)點(diǎn)到上邊界中最后一個(gè)節(jié)點(diǎn)的所有節(jié)點(diǎn)都刪除,從節(jié)點(diǎn)列表44中讀出的新節(jié)點(diǎn)附加到上邊界的節(jié)點(diǎn)列表。對(duì)于所有后續(xù)迭代,不發(fā)生刪除,而且新節(jié)點(diǎn)添加到上邊界列表。
相反,當(dāng)節(jié)點(diǎn)添加到下邊界列表中不同時(shí)在上邊界列表中的當(dāng)前節(jié)點(diǎn)時(shí),由步驟(S11-13)處理的鏈接編碼部分?jǐn)?shù)同從形狀編碼讀出的數(shù)字對(duì)的第二個(gè)數(shù)字進(jìn)行比較。如果鏈接編碼部分?jǐn)?shù)等于這個(gè)數(shù)字,則不添加更多節(jié)點(diǎn)。如果情況不是這樣,則下一節(jié)點(diǎn)從節(jié)點(diǎn)列表讀出,而嵌入數(shù)據(jù)和鏈接數(shù)據(jù)如前所述更新。然后更新下邊界列表。這種更新是對(duì)第一次迭代從當(dāng)前節(jié)點(diǎn)到下邊界列表末尾的所有節(jié)點(diǎn)都刪除,新讀出的節(jié)點(diǎn)添加到列表末尾。在后續(xù)迭代不發(fā)生刪除,且新節(jié)點(diǎn)號(hào)添加到列表末尾。
當(dāng)確定解碼模塊28已處理完所需的鏈接編碼部分?jǐn)?shù)時(shí)(S11-14),更新所產(chǎn)生的具有空結(jié)束節(jié)點(diǎn)的鏈接,以便有識(shí)別不包括當(dāng)前節(jié)點(diǎn)的邊界列表中的最后一個(gè)節(jié)點(diǎn)的結(jié)束節(jié)點(diǎn)。然后,不包括當(dāng)前節(jié)點(diǎn)的邊界列表中的最后一個(gè)節(jié)點(diǎn)附加到包括當(dāng)前節(jié)點(diǎn)的邊界列表的末尾。
因而,例如,處理具有先前產(chǎn)生的圖14A的結(jié)構(gòu)和形狀編碼已處理部分的編碼1、2、2,以產(chǎn)生圖14B所示的結(jié)構(gòu),要添加到當(dāng)前節(jié)點(diǎn),節(jié)點(diǎn)2,的最后兩個(gè)鏈接將被識(shí)別并一個(gè)接一個(gè)處理。
在這樣做的時(shí)候,在節(jié)點(diǎn)列表中下一節(jié)點(diǎn)是[6]且鏈接編碼下一部分是[DEEE]時(shí),上邊界列表將首先修正變成
。在兩個(gè)所需鏈接都處理之后上邊界將變成
。結(jié)果產(chǎn)生圖14C的結(jié)構(gòu)。
因而,考慮以下形狀編碼,鏈接列表和節(jié)點(diǎn)列表形狀編碼
鏈接編碼[EEEEDEEDEEEPEEPMEEPEEMPEDEEPEDEE]節(jié)點(diǎn)列表
這對(duì)應(yīng)于通過(guò)編碼圖8H結(jié)構(gòu)所產(chǎn)生的形狀編碼、節(jié)點(diǎn)列表和鏈接列表,圖14A-14F的結(jié)構(gòu)將一個(gè)接一個(gè)逐步建立。
更具體而言,在處理以下之后形狀編碼
鏈接編碼 [EEEEDEEDEEE]節(jié)點(diǎn)列表
圖14C的結(jié)構(gòu)將產(chǎn)生,所處理的節(jié)點(diǎn)將識(shí)別節(jié)點(diǎn)2。
形狀編碼的下一數(shù)字[1]將識(shí)別節(jié)點(diǎn)6為要處理的下一節(jié)點(diǎn)。下兩個(gè)數(shù)字1,2將指示要添加到節(jié)點(diǎn)7的鏈接。處理鏈接編碼下一部分[PEE]并添加下兩個(gè)節(jié)點(diǎn)將產(chǎn)生圖14D的結(jié)構(gòu)。
然后處理鏈接編碼下一部分[PMEEPEE],添加從節(jié)點(diǎn)6出發(fā)的鏈接。圖14E說(shuō)明了處理該鏈接編碼的同時(shí)所產(chǎn)生的結(jié)構(gòu),其中鏈接編碼[PEE]保留要與鏈接(8,-)關(guān)聯(lián)進(jìn)行處理。
然后處理剩余數(shù)據(jù),最終將創(chuàng)建圖14F的結(jié)構(gòu)。
當(dāng)確定最終形狀編碼處理完以后(S11-7),解碼模塊28開始(S11-23)除去添加到該結(jié)構(gòu)的虛鏈接和虛節(jié)點(diǎn)。
更具體而言,解碼模塊識(shí)別出現(xiàn)在兩個(gè)節(jié)點(diǎn)列表中的虛節(jié)點(diǎn)及由存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器20中的數(shù)據(jù)所識(shí)別的虛節(jié)點(diǎn)/虛鏈接38,并從由解碼模塊28為所解碼結(jié)構(gòu)創(chuàng)建的嵌入數(shù)據(jù)除去表示對(duì)應(yīng)的所產(chǎn)生節(jié)點(diǎn)的數(shù)據(jù)。無(wú)論何時(shí)除去一虛節(jié)點(diǎn),將該虛節(jié)點(diǎn)識(shí)別為起始節(jié)點(diǎn)或結(jié)束節(jié)點(diǎn)的任何鏈接數(shù)據(jù)也要?jiǎng)h除。
然后,對(duì)應(yīng)于虛鏈接38的鏈接也從鏈接數(shù)據(jù)中刪除,對(duì)應(yīng)于交叉鏈接39的新鏈接添加到存儲(chǔ)在嵌入表36中的數(shù)據(jù)。
因而,例如,在從形狀編碼數(shù)據(jù)42、鏈接列表43和節(jié)點(diǎn)列表44產(chǎn)生圖14F所說(shuō)明的柵格結(jié)構(gòu)以后,如果以下虛鏈接/節(jié)點(diǎn)數(shù)據(jù)38和交叉鏈接數(shù)據(jù)39要存儲(chǔ)虛節(jié)點(diǎn) [D1,D2,D3,D4,D5]虛鏈接 (5,7)交叉鏈接 (5,6)在處理虛節(jié)點(diǎn)和鏈接數(shù)據(jù)38及交叉鏈接數(shù)據(jù)39之后,由嵌入表36中所產(chǎn)生嵌入數(shù)據(jù)和鏈接數(shù)據(jù)定義的柵格結(jié)構(gòu)將定義由圖14G說(shuō)明的結(jié)構(gòu)。
比較圖14G的結(jié)構(gòu)與圖6A的原始結(jié)構(gòu),很顯然圖6A和圖14G說(shuō)明的柵格是完全相同的,因?yàn)楸M管有些層中的節(jié)點(diǎn)稍微重新排了序,但相同的節(jié)點(diǎn)都出現(xiàn)在相同的層中。而且,對(duì)于圖6A節(jié)點(diǎn)之間的每個(gè)連接,在圖14G中對(duì)于具有相同編號(hào)的節(jié)點(diǎn)都有對(duì)應(yīng)的連接。因此,由圖14G識(shí)別的柵格結(jié)構(gòu)是最初由嵌入模塊22處理的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30所表示的原始柵格結(jié)構(gòu)的表示,圖6A也是其一種表示。此外,由于圖14G的柵格結(jié)構(gòu)是從定義的形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44的解碼操作的結(jié)果,因此當(dāng)形狀編碼42、鏈接列表43和節(jié)點(diǎn)列表44被另一解碼模塊48以相同的方式處理,必然產(chǎn)生一種結(jié)構(gòu)。
因此,由解碼模塊28產(chǎn)生的最終柵格結(jié)構(gòu)可用于確定該柵格結(jié)構(gòu)鏈接的特定順序,因此由語(yǔ)音鏈接數(shù)據(jù)32與那些特定鏈接關(guān)聯(lián)的數(shù)據(jù)可以特定順序傳遞到壓縮模塊12。
輸出模塊執(zhí)行的處理在語(yǔ)音柵格結(jié)構(gòu)的最終表示由解碼模塊28產(chǎn)生并存儲(chǔ)在嵌入表36中以后,調(diào)用輸出模塊29。然后輸出模塊29將先前由形狀編碼模塊26產(chǎn)生的形狀編碼42和鏈接列表43傳遞到數(shù)據(jù)壓縮模塊12。然后輸出模塊29將識(shí)別虛鏈接38和交叉鏈接39的數(shù)據(jù)及定時(shí)數(shù)據(jù)34傳遞到數(shù)據(jù)轉(zhuǎn)換模塊12。
然后,輸出模塊29利用節(jié)點(diǎn)列表44依次選擇由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30與語(yǔ)音柵格中每個(gè)節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)項(xiàng)。具體而言,讀出節(jié)點(diǎn)列表44中的第一個(gè)節(jié)點(diǎn),然后由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30與該節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)傳遞到數(shù)據(jù)壓縮模塊。然后識(shí)別節(jié)點(diǎn)列表中的下一節(jié)點(diǎn),由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30與該節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)傳遞到數(shù)據(jù)壓縮模塊12。在虛節(jié)點(diǎn)出現(xiàn)在節(jié)點(diǎn)列表44中的情況下,將節(jié)點(diǎn)識(shí)別為虛節(jié)點(diǎn)的數(shù)據(jù)傳遞到數(shù)據(jù)壓縮模塊。這種處理重復(fù)進(jìn)行,直到到達(dá)節(jié)點(diǎn)列表44的末尾。
最后,輸出模塊29通過(guò)起始節(jié)點(diǎn)號(hào)排序存儲(chǔ)在嵌入表36中的柵格結(jié)構(gòu)的鏈接數(shù)據(jù),并以該鏈接結(jié)束節(jié)點(diǎn)出現(xiàn)在與嵌入數(shù)據(jù)層關(guān)聯(lián)的列表中的順序排序具有相同起始節(jié)點(diǎn)號(hào)的鏈接數(shù)據(jù)。
因而,例如,在圖14G柵格的情況下,圖14G所示鏈接將以以下順序放置(0,2),(0,1),(2,3),(2,6),(1,3),(1,4),(1,5),(3,7),(4,7),(5,6),(6,8),(6,8),(8,10),(7,9)然后,輸出模塊29為每個(gè)有序鏈接識(shí)別語(yǔ)音鏈接數(shù)據(jù)32中的對(duì)應(yīng)鏈接,并將與那些鏈接中每個(gè)關(guān)聯(lián)的數(shù)據(jù)以對(duì)應(yīng)于鏈接順序的順序輸出到數(shù)據(jù)壓縮模塊。
因而,以這種方式,使數(shù)據(jù)壓縮模塊12接收表示柵格結(jié)構(gòu)的形狀編碼42和鏈接列表43、定時(shí)數(shù)據(jù)34的列表、添加到或從該柵格結(jié)構(gòu)除去的鏈接和節(jié)點(diǎn)38及交叉鏈接39、虛數(shù)據(jù)34、以定義好的順序與原始語(yǔ)音柵格中每個(gè)節(jié)點(diǎn)和鏈接關(guān)聯(lián)的其它數(shù)據(jù)及與原始語(yǔ)音柵格中每個(gè)鏈接關(guān)聯(lián)的數(shù)據(jù)。
在以壓縮形式由網(wǎng)絡(luò)3發(fā)送到文檔存儲(chǔ)單元2之前,所有這些數(shù)據(jù)都由數(shù)據(jù)壓縮模塊12以傳統(tǒng)方式進(jìn)行處理。
文檔存儲(chǔ)單元的處理現(xiàn)在將參考圖15具體描述文檔存儲(chǔ)單元2響應(yīng)壓縮語(yǔ)音柵格數(shù)據(jù)的接收而執(zhí)行的處理。
最初(S15-1),當(dāng)經(jīng)網(wǎng)絡(luò)3從客戶計(jì)算機(jī)1接收到壓縮數(shù)據(jù)時(shí),該壓縮數(shù)據(jù)由解壓縮單元15以傳統(tǒng)方式解壓縮。
解壓縮單元15對(duì)數(shù)據(jù)的解壓縮使文檔存儲(chǔ)單元2能夠再生形狀編碼42、鏈接列表43、虛節(jié)點(diǎn)和鏈接列表38、交叉鏈接39、定時(shí)數(shù)據(jù)34、由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32分別與鏈接和節(jié)點(diǎn)關(guān)聯(lián)的原始有序數(shù)據(jù)。
由語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音節(jié)點(diǎn)關(guān)聯(lián)的其它數(shù)據(jù)再生成由柵格處理器輸出到數(shù)據(jù)壓縮模塊12的順序。其它數(shù)據(jù)的每一項(xiàng)都與一個(gè)節(jié)點(diǎn)號(hào)關(guān)聯(lián),該節(jié)點(diǎn)號(hào)以數(shù)字順序產(chǎn)生。這種數(shù)據(jù)由再生模塊17存儲(chǔ)。由再生模塊17存儲(chǔ)的還有通過(guò)解壓縮單元15處理壓縮數(shù)據(jù)獲得的定時(shí)數(shù)據(jù)34、虛鏈接和節(jié)點(diǎn)38、交叉鏈接39、形狀編碼42及鏈接列表43。
然后(S15-2)再生模塊17繼續(xù)處理所接收的形狀編碼42和鏈接列表43。除了在柵格處理器11需要新節(jié)點(diǎn)時(shí)不是從節(jié)點(diǎn)列表44選擇數(shù)字而是使用下一個(gè)數(shù)字順序的可用數(shù)字以外,再生模塊17的處理與前述由解碼模塊28執(zhí)行的處理是完全一樣的,因此這里將不再重復(fù)。
作為處理形狀編碼42和鏈接列表43的結(jié)果,將由再生模塊17產(chǎn)生定義由客戶計(jì)算機(jī)1的柵格處理器11編碼的柵格結(jié)構(gòu)的嵌入數(shù)據(jù)和鏈接數(shù)據(jù)。然后,這些數(shù)據(jù)用于為由再生模塊17存儲(chǔ)的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30的每一項(xiàng)創(chuàng)建鏈接節(jié)點(diǎn)列表和定時(shí)數(shù)據(jù)。
然后(S15-3),柵格處理器11如前所述關(guān)于客戶計(jì)算機(jī)1柵格處理器11的輸出模塊29的處理通過(guò)起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)排序嵌入表36中的鏈接數(shù)據(jù)。然后,通過(guò)將以其接收順序與鏈接關(guān)聯(lián)的其它數(shù)據(jù)與識(shí)別嵌入表36中鏈接的有序數(shù)據(jù)關(guān)聯(lián)產(chǎn)生語(yǔ)音鏈接數(shù)據(jù)32。這數(shù)據(jù)由再生模塊17存儲(chǔ)為語(yǔ)音鏈接數(shù)據(jù)32。
在語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32由再生模塊17重建后,該語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32傳遞到文檔檢索單元19。然后(S15-4)文檔檢索單元19利用接收到的語(yǔ)音節(jié)點(diǎn)數(shù)據(jù)30和語(yǔ)音鏈接數(shù)據(jù)32選擇一文檔進(jìn)行檢索,該文檔隨后經(jīng)網(wǎng)絡(luò)3傳遞到客戶計(jì)算機(jī)1。因而,以這種方式,由客戶計(jì)算機(jī)1產(chǎn)生的語(yǔ)音柵格用于訪問(wèn)存儲(chǔ)在文檔存儲(chǔ)單元2中的文檔,為了經(jīng)網(wǎng)絡(luò)3發(fā)送,為語(yǔ)音信號(hào)產(chǎn)生的語(yǔ)音柵格被編碼和壓縮。
其它實(shí)施方式及修改盡管在上述實(shí)施方式中與節(jié)點(diǎn)和鏈接關(guān)聯(lián)的數(shù)據(jù)已經(jīng)描述為以特定方式排序,但是應(yīng)當(dāng)理解一旦由形狀編碼和鏈接列表表示的柵格結(jié)構(gòu)形狀已經(jīng)以嵌入表36中嵌入數(shù)據(jù)和鏈接數(shù)據(jù)的形式確定,則任何合適的排序都可以用于將特定數(shù)據(jù)分配給識(shí)別出的節(jié)點(diǎn)或鏈接。
盡管在上述實(shí)施方式中嵌入模塊22的處理已描述為基于作為對(duì)前一層中節(jié)點(diǎn)位置平均值計(jì)算的順序號(hào)對(duì)層中的節(jié)點(diǎn)進(jìn)行排序,但是應(yīng)當(dāng)理解用于最小化柵格結(jié)構(gòu)嵌入中交叉鏈接數(shù)的任何傳統(tǒng)技術(shù)都可以用于執(zhí)行這種排序。因而,例如,排序可以根據(jù)中值而不是平均值執(zhí)行。
在上述實(shí)施方式中,嵌入表36描述為重新排序以最小化初始嵌入表示中的交叉鏈接數(shù)。應(yīng)當(dāng)理解,這一步是為了最小化隨后經(jīng)網(wǎng)絡(luò)3發(fā)送到文檔存儲(chǔ)單元2的交叉鏈接數(shù)據(jù)39的量而執(zhí)行的。但是,應(yīng)當(dāng)理解該重新排序步驟可以忽略,而是更多交叉鏈接數(shù)據(jù)39經(jīng)網(wǎng)絡(luò)3發(fā)送。
在上述編碼系統(tǒng)中,虛節(jié)點(diǎn)是對(duì)每個(gè)編碼的虛節(jié)點(diǎn)利用字母DE編碼的。但應(yīng)當(dāng)理解,更短的編碼D可以使用。在這種實(shí)施方式中,用于不同鏈接的鏈接編碼數(shù)據(jù)可以通過(guò)連續(xù)從鏈接列表44讀符號(hào)讀出,直到符號(hào)E的個(gè)數(shù)超過(guò)符號(hào)M和P的個(gè)數(shù)。當(dāng)處理鏈接編碼時(shí),每次遇到字母D并從所處理鏈接編碼的頭除去字母D都將與鏈接關(guān)聯(lián)的層數(shù)據(jù)更新1。
還應(yīng)當(dāng)理解,在鏈接編碼中有同一字母的多個(gè)拷貝時(shí),鏈接編碼數(shù)據(jù)可以由識(shí)別不同字母的第一編碼和對(duì)每個(gè)不同字母表示指示一特定字母重復(fù)次數(shù)的數(shù)字的第二編碼來(lái)表示。
因而,例如,在鏈接列表[DDDDDDEEEEEEE]的情況下,該鏈接列表可以兩個(gè)列表的形式代替表示,一個(gè)是列表[DE],另一個(gè)是[6,7]。
在這種實(shí)施方式的情況下,在多組字母D彼此相鄰地編碼時(shí),與鏈接關(guān)聯(lián)的層數(shù)據(jù)可以通過(guò)將層數(shù)據(jù)增加連續(xù)D的個(gè)數(shù)自動(dòng)更新,而不是分別處理每個(gè)字母D。
此外,在其它實(shí)施方式中,這兩個(gè)列表可以包括字母列表和數(shù)字列表,其中只有虛節(jié)點(diǎn)的副本字母從字母列表中除去,而數(shù)字列表識(shí)別虛節(jié)點(diǎn)重復(fù)編碼的次數(shù)。在如上這種實(shí)施方式中,用于虛節(jié)點(diǎn)的字母可以通過(guò)將層數(shù)據(jù)增加與數(shù)字列表中該字母關(guān)聯(lián)的數(shù)字一步處理。
盡管在上述實(shí)施方式中將新區(qū)域添加到所產(chǎn)生柵格結(jié)構(gòu)的偏移值描述為正或負(fù)數(shù),但是應(yīng)當(dāng)理解在可選實(shí)施方式中可能只使用正數(shù),其中該偏移識(shí)別在特定方向?qū)⒂糜诋a(chǎn)生區(qū)域的最后一個(gè)節(jié)點(diǎn)和用于產(chǎn)生區(qū)域的下一節(jié)點(diǎn)隔開的圍繞邊界的節(jié)點(diǎn)數(shù)。
可選地,不利用當(dāng)前節(jié)點(diǎn)和邊界列表上要處理的下一節(jié)點(diǎn)的相對(duì)位置的偏移值,可以使用相對(duì)于例如節(jié)點(diǎn)列表中當(dāng)前節(jié)點(diǎn)的偏移值?;蛘吒话愕?,任何能夠使下一節(jié)點(diǎn)從偏移值和當(dāng)前值識(shí)別出來(lái)的合適偏移都可以使用。
在上述實(shí)施方式中,當(dāng)鏈接編碼數(shù)據(jù)40產(chǎn)生且任兩個(gè)鏈接合并時(shí),新鏈接編碼數(shù)據(jù)描述為通過(guò)以依賴于那些鏈接的鏈接編碼數(shù)據(jù)40長(zhǎng)度的順序附加與被除去鏈接關(guān)聯(lián)的鏈接編碼數(shù)據(jù)來(lái)產(chǎn)生。以這種方式為新鏈接產(chǎn)生鏈接編碼數(shù)據(jù)40是優(yōu)選的,因?yàn)檫@往往產(chǎn)生重復(fù)的字母序列,因而很容易利用傳統(tǒng)技術(shù)壓縮。但是,產(chǎn)生該編碼數(shù)據(jù)40的其它方法也可以使用,例如選擇一種鏈接編碼數(shù)據(jù)基于嵌入表36中鏈接排序附加的順序。
在上述實(shí)施方式中,虛節(jié)點(diǎn)描述為添加到連接與非相鄰定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)的所有鏈接。然后,所有虛節(jié)點(diǎn)都利用該鏈接編碼數(shù)據(jù)編碼。然后,所產(chǎn)生鏈接編碼數(shù)據(jù)的后續(xù)解碼用于確保當(dāng)節(jié)點(diǎn)再生時(shí)它們與正確的定時(shí)關(guān)聯(lián)。
應(yīng)當(dāng)理解,在添加對(duì)不止一個(gè)鏈接是結(jié)束節(jié)點(diǎn)的節(jié)點(diǎn)時(shí),確保當(dāng)鏈接編碼處理時(shí)以一節(jié)點(diǎn)作為結(jié)束節(jié)點(diǎn)的至少一個(gè)所產(chǎn)生鏈接與層數(shù)據(jù)關(guān)聯(lián)是足夠的,因此該結(jié)束節(jié)點(diǎn)可以正確地放置在層中,從而與正確的定時(shí)數(shù)據(jù)關(guān)聯(lián)。
在一種可選實(shí)施方式中,在柵格表示產(chǎn)生以后,每個(gè)節(jié)點(diǎn)在所有路徑中都由相同個(gè)數(shù)的節(jié)點(diǎn)與起始節(jié)點(diǎn)隔開。然后,所產(chǎn)生的柵格結(jié)構(gòu)可以進(jìn)行處理,以除去多個(gè)虛節(jié)點(diǎn),同時(shí)確保柵格結(jié)構(gòu)中每個(gè)適當(dāng)?shù)墓?jié)點(diǎn)仍然象前面一樣在至少一條到達(dá)該節(jié)點(diǎn)的路徑上由相同個(gè)數(shù)的節(jié)點(diǎn)與起始節(jié)點(diǎn)隔開。然后簡(jiǎn)化的柵格可以前述相同的方式編碼。
更具體而言,從第一層開始,第一層中的所有實(shí)際節(jié)點(diǎn)都可以被識(shí)別并與識(shí)別已知節(jié)點(diǎn)層的數(shù)據(jù)關(guān)聯(lián)。對(duì)于具有與識(shí)別已知層的數(shù)據(jù)關(guān)聯(lián)的實(shí)際起始節(jié)點(diǎn)的每個(gè)鏈接,由那些鏈接識(shí)別的實(shí)際結(jié)束節(jié)點(diǎn)也與識(shí)別實(shí)際結(jié)束節(jié)點(diǎn)具有已知層的數(shù)據(jù)關(guān)聯(lián)。
當(dāng)所有鏈接都考慮完以后,可以識(shí)別不與已知層數(shù)據(jù)關(guān)聯(lián)的每個(gè)實(shí)際節(jié)點(diǎn)。從第二層中的實(shí)際節(jié)點(diǎn)開始,如果任何實(shí)際節(jié)點(diǎn)不與已知層數(shù)據(jù)關(guān)聯(lián),則可以執(zhí)行深度優(yōu)先搜索,以便找出從前面任一層中與已知層數(shù)據(jù)關(guān)聯(lián)的一實(shí)際節(jié)點(diǎn)到所考慮節(jié)點(diǎn)的最短路徑。然后,該路徑中的所有虛節(jié)點(diǎn)都識(shí)別為保留的,所處理的實(shí)際節(jié)點(diǎn)與已知層數(shù)據(jù)關(guān)聯(lián)。然后這種處理對(duì)每個(gè)后續(xù)的層重復(fù)進(jìn)行,直到所有實(shí)際節(jié)點(diǎn)都識(shí)別為具有已知的層。然后沒有識(shí)別為保留的虛節(jié)點(diǎn)可以刪除。
當(dāng)解碼柵格時(shí),無(wú)論何時(shí)新節(jié)點(diǎn)要添加到嵌入表36中的嵌入數(shù)據(jù),包含該新節(jié)點(diǎn)作為結(jié)束節(jié)點(diǎn)的鏈接都可以被識(shí)別,新節(jié)點(diǎn)與由從鏈接層數(shù)據(jù)確定的最大數(shù)識(shí)別的層關(guān)聯(lián)。在這種實(shí)施方式中產(chǎn)生的結(jié)果結(jié)構(gòu)將與以上實(shí)施方式中所述方式產(chǎn)生的結(jié)構(gòu)完全相同。但是,由于多個(gè)虛節(jié)點(diǎn)已除去而沒有編碼,因此必需由壓縮單元12壓縮的數(shù)據(jù)量將比較小,因而可以實(shí)現(xiàn)更好的壓縮。
盡管在上述實(shí)施方式中交叉鏈接描述為在確定鏈接編碼之前除去,但在一種可選實(shí)施方式中交叉鏈接可以在鏈接編碼產(chǎn)生時(shí)被識(shí)別和編碼。在這種實(shí)施方式中,(C,起始節(jié)點(diǎn),結(jié)束節(jié)點(diǎn))形式的鏈接編碼可以用于識(shí)別已編碼的交叉鏈接。當(dāng)解碼鏈接編碼時(shí),交叉鏈接可以從識(shí)別兩節(jié)點(diǎn)之間交叉鏈接已編碼的這種數(shù)據(jù)再生。
盡管在上述實(shí)施方式中平面圖描述為在作為形狀編碼進(jìn)行編碼之前通過(guò)除去線性和并行路徑來(lái)產(chǎn)生并簡(jiǎn)化,但應(yīng)當(dāng)理解表示柵格部分的平面圖的簡(jiǎn)化可以省略。
在這種實(shí)施方式中,在單條線性路徑在兩層之間擴(kuò)展時(shí),可以使用(偏移,鏈接數(shù),0)形式的形狀編碼。在一對(duì)鏈接具有相同的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)時(shí),可以使用(偏移,1,1)形式的形狀編碼。
除編碼(0,1,1)將不再指示從柵格末端擴(kuò)展的單個(gè)鏈接,而是形狀編碼為0的最后一個(gè)數(shù)字將指示單條路徑添加到柵格末端之外,結(jié)果形狀編碼的后續(xù)處理將基本上與前面所述相同。
在這種實(shí)施方式的情況下,圖6E的柵格將以如下簡(jiǎn)單形狀編碼的形式編碼,其中偏移值以前述相同的方式計(jì)算
在所述實(shí)施方式中,柵格從形狀編碼和鏈接編碼的再生描述為通過(guò)同時(shí)處理形狀編碼和鏈接編碼來(lái)建立。在其它實(shí)施方式中,初始柵格結(jié)構(gòu)可以通過(guò)只處理形狀編碼來(lái)產(chǎn)生,其中鏈接編碼數(shù)據(jù)與初始結(jié)構(gòu)中的鏈接關(guān)聯(lián)。在整個(gè)形狀編碼處理完以后,鏈接編碼可以被處理,與初始柵格中節(jié)點(diǎn)關(guān)聯(lián)的層數(shù)據(jù)可以利用鏈接編碼及當(dāng)處理該鏈接編碼時(shí)添加的附加節(jié)點(diǎn)和鏈接來(lái)更新。
在上述實(shí)施方式中,與鏈接關(guān)聯(lián)的數(shù)據(jù)描述為基于從形狀編碼和鏈接編碼產(chǎn)生的嵌入中鏈接的排序來(lái)排序。但是也可以使用其它排序。更具體而言,與柵格中鏈接關(guān)聯(lián)的數(shù)據(jù)可以那些鏈接從形狀編碼和鏈接編碼產(chǎn)生的順序排序。通過(guò)以這種方式對(duì)數(shù)據(jù)排序,柵格部分的完整表示可以在整個(gè)柵格結(jié)構(gòu)確定之前再生。
在以上實(shí)施方式中,所有節(jié)點(diǎn)都處理了,以便向既不是至少一個(gè)鏈接起始節(jié)點(diǎn)也不是結(jié)束節(jié)點(diǎn)的節(jié)點(diǎn)添加虛鏈接。在一種可選實(shí)施方式中,不是添加虛鏈接,形狀編碼可以將節(jié)點(diǎn)識(shí)別為未連接的。例如,(偏移,0,1)形式的形狀編碼可以用于識(shí)別在一個(gè)方向上從由該偏移識(shí)別的節(jié)點(diǎn)到未連接節(jié)點(diǎn)的鏈接,而(偏移,0,0)形式的編碼可以用于識(shí)別相反方向的鏈接。
識(shí)別未連接節(jié)點(diǎn)的可選方法可用于識(shí)別僅是多個(gè)鏈接結(jié)束節(jié)點(diǎn)或僅是起始節(jié)點(diǎn)的節(jié)點(diǎn)。
因而,例如,在對(duì)任何鏈接都不是起始節(jié)點(diǎn)的節(jié)點(diǎn)情況下,形狀編碼可用于識(shí)別該節(jié)點(diǎn)。例如,可以使用(偏移,-1,-1)形式的編碼。當(dāng)處理下一區(qū)域時(shí),所識(shí)別的節(jié)點(diǎn)可以忽略,所識(shí)別的節(jié)點(diǎn)從邊界列表中刪除,而一個(gè)邊界列表中最后一個(gè)節(jié)點(diǎn)添加到另一邊界列表,因此圍繞未連接節(jié)點(diǎn)的區(qū)域可以編碼。
在節(jié)點(diǎn)不是任何鏈接結(jié)束節(jié)點(diǎn)的情況下,可以用形狀編碼識(shí)別不是任何鏈接結(jié)束節(jié)點(diǎn)的節(jié)點(diǎn)。然后,與所識(shí)別節(jié)點(diǎn)關(guān)聯(lián)的層數(shù)據(jù)可以修改,因此所識(shí)別節(jié)點(diǎn)先于它連接的節(jié)點(diǎn)。于是與所識(shí)別節(jié)點(diǎn)相鄰的區(qū)域可以正常方式處理。
盡管在以上實(shí)施方式中描述了使原始柵格結(jié)構(gòu)再生的編碼方法,但在有些實(shí)施方式中可以生成只部分對(duì)應(yīng)于原始柵格的柵格。因而,例如,在確定原始柵格的嵌入后,多個(gè)鏈接可以除去,從而確定無(wú)交叉鏈接的平面圖。只有對(duì)應(yīng)于由該平面圖所定義結(jié)構(gòu)的語(yǔ)音柵格部分可以上述方式處理。
盡管只有部分原始柵格將由所產(chǎn)生的數(shù)據(jù)表示,但由于交叉鏈接數(shù)據(jù)不需要產(chǎn)生,因此改進(jìn)壓縮是可能的。在這種系統(tǒng)中,除去且不表示的鏈接可以選作與低概率關(guān)聯(lián)的交叉鏈接,因此編碼結(jié)構(gòu)表示所接收信號(hào)表示的更可能假設(shè)。
可選地,不是除去交叉鏈接來(lái)產(chǎn)生平面圖,可以使用其它方法。在一種例子中,虛節(jié)點(diǎn)可以在所有交叉點(diǎn)引入,交叉鏈接由經(jīng)過(guò)所添加虛節(jié)點(diǎn)的鏈接代替。
可選地,在確定一部分柵格不能表示為沒有任何交叉鏈接時(shí),表示那部分的節(jié)點(diǎn)和鏈接的附加拷貝可以產(chǎn)生,交叉鏈接由到所添加部分的鏈接代替。盡管在這種實(shí)施方式中柵格的大小將增加,但因?yàn)閷?duì)應(yīng)區(qū)域的編碼是相似的,所以為較大柵格產(chǎn)生的數(shù)據(jù)應(yīng)當(dāng)可壓縮到與原始柵格編碼相似的大小。
在上述實(shí)施方式中,描述了減少交叉鏈接數(shù)的節(jié)點(diǎn)的重新排序。以這種方式節(jié)點(diǎn)重新排序的復(fù)雜度依賴于要處理的節(jié)點(diǎn)和鏈接數(shù)。應(yīng)當(dāng)理解在可選實(shí)施方式中,要處理的柵格結(jié)構(gòu)可以在執(zhí)行重新排序步驟之前簡(jiǎn)化。
因而,例如,柵格部分的鏈接編碼可以確定,因此,柵格結(jié)構(gòu)中表示的節(jié)點(diǎn)和鏈接數(shù)可以減少。然后,簡(jiǎn)化的柵格可以重新排序,以最小化交叉鏈接。然后,任何剩余的交叉鏈接都可以除去,所處理柵格還可以除去可以由那個(gè)時(shí)候的鏈接編碼數(shù)據(jù)所表示的任何更多部分。然后可以前述相同方式產(chǎn)生用于剩余柵格結(jié)構(gòu)的形狀編碼。
盡管在上述實(shí)施方式中虛節(jié)點(diǎn)描述為用于使節(jié)點(diǎn)與正確的定時(shí)數(shù)據(jù)項(xiàng)關(guān)聯(lián),但其它方法也可以使用。在一種例子中,時(shí)間偏移列表可用于為節(jié)點(diǎn)列表中的每個(gè)節(jié)點(diǎn)識(shí)別該節(jié)點(diǎn)相對(duì)于列表中其緊接著前一個(gè)節(jié)點(diǎn)的相對(duì)層。
盡管在上述實(shí)施方式中已描述了以偏移和上下路徑中多個(gè)鏈接的形式識(shí)別區(qū)域形狀編碼的數(shù)據(jù),但其它方式也可以用于識(shí)別區(qū)域的形狀。
因而,例如,可以使用識(shí)別定界一區(qū)域的鏈接數(shù)的數(shù)字及識(shí)別還構(gòu)成編碼區(qū)域一部分的編碼區(qū)域邊界的最后一個(gè)鏈接的數(shù)據(jù)。然后,在這種系統(tǒng)中產(chǎn)生的形狀需要處理,以便將節(jié)點(diǎn)與定時(shí)數(shù)據(jù)關(guān)聯(lián)。這可以通過(guò)明確地編碼節(jié)點(diǎn)的定時(shí)來(lái)實(shí)現(xiàn)。
可選地,在所有虛節(jié)點(diǎn)都保留時(shí),構(gòu)成區(qū)域的上下路徑有必要包含相同個(gè)數(shù)的節(jié)點(diǎn)和鏈接。因而,由于另一路徑必需包含相同個(gè)數(shù)的節(jié)點(diǎn),因此這種區(qū)域可以識(shí)別起始節(jié)點(diǎn)的數(shù)據(jù)和只識(shí)別一條路徑中鏈接數(shù)的數(shù)據(jù)的形式編碼。
盡管在以上實(shí)施方式中描述了語(yǔ)音柵格的處理,但應(yīng)當(dāng)理解本發(fā)明是更廣泛可應(yīng)用的。因而,例如,本發(fā)明可用于編碼任何柵格結(jié)構(gòu),其中節(jié)點(diǎn)可以某種順序放置,因此可以創(chuàng)建柵格的嵌入表示。
在沒有定義的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)及節(jié)點(diǎn)排序的柵格結(jié)構(gòu),如用于對(duì)象圖形表示的柵格結(jié)構(gòu),要編碼時(shí),可以確定任意起始節(jié)點(diǎn)、結(jié)束節(jié)點(diǎn)和節(jié)點(diǎn)排序,因此柵格可以處理。
盡管在上述實(shí)施方式中描述了壓縮編碼數(shù)據(jù)的發(fā)送,但應(yīng)當(dāng)理解本發(fā)明同樣適用于要存儲(chǔ)的柵格結(jié)構(gòu)數(shù)據(jù)的壓縮。
盡管參考附圖描述的本發(fā)明實(shí)施方式包括計(jì)算機(jī)裝置和在計(jì)算機(jī)裝置中執(zhí)行的處理,但本發(fā)明還可以擴(kuò)展到計(jì)算機(jī)程序,尤其是在載體上或載體中適于將本發(fā)明付諸實(shí)踐的計(jì)算機(jī)程序。該程序可以是源或?qū)ο蟠a的形式,或者是適于實(shí)現(xiàn)根據(jù)本發(fā)明處理的任何其它形式。載體是能夠攜帶該程序的任何實(shí)體或設(shè)備。
例如,載體可以包括存儲(chǔ)介質(zhì),如ROM,例如CDROM或半導(dǎo)體ROM,或磁記錄介質(zhì),例如軟盤或硬盤。此外,載體可以是發(fā)送載體,如可以通過(guò)電或光纜或由無(wú)線電或其它裝置傳送的電或光信號(hào)。
當(dāng)程序在可以由電纜或其它設(shè)備或裝置直接傳送的信號(hào)中體現(xiàn)時(shí),載體可以由這種電纜或其它設(shè)備或裝置構(gòu)成。
可選地,載體可以是其中嵌入了程序的集成電路,該集成電路適于執(zhí)行相關(guān)處理或用于相關(guān)處理的執(zhí)行。
權(quán)利要求
1.一種產(chǎn)生識(shí)別數(shù)據(jù)的方法,包括接收定義包括多個(gè)由鏈接連接的節(jié)點(diǎn)的柵格結(jié)構(gòu)的柵格數(shù)據(jù),所述鏈接與識(shí)別單元的數(shù)據(jù)關(guān)聯(lián);為至少部分由所述柵格數(shù)據(jù)定義的柵格結(jié)構(gòu)確定具有由至少部分所述柵格結(jié)構(gòu)的節(jié)點(diǎn)和鏈接定義的邊和頂點(diǎn)的多個(gè)區(qū)域;為所述區(qū)域產(chǎn)生識(shí)別定界每個(gè)區(qū)域的鏈接數(shù)的數(shù)據(jù)和識(shí)別所述區(qū)域在至少部分所述柵格結(jié)構(gòu)中的位置的數(shù)據(jù);及作為識(shí)別數(shù)據(jù)輸出識(shí)別與鏈接關(guān)聯(lián)的所述單元的數(shù)據(jù)和定義區(qū)域的所述數(shù)據(jù)。
2.一種產(chǎn)生定義語(yǔ)音柵格的數(shù)據(jù)的方法,包括接收定義包括多個(gè)由鏈接互連的節(jié)點(diǎn)的第一語(yǔ)音柵格的數(shù)據(jù),所述鏈接與識(shí)別語(yǔ)音單元的數(shù)據(jù)關(guān)聯(lián);處理所述接收到的數(shù)據(jù)以確定包括具有多個(gè)由鏈接互連的節(jié)點(diǎn)的平面圖的第二語(yǔ)音柵格,在平面圖中沒有鏈接交叉,所述鏈接與識(shí)別語(yǔ)音單元的數(shù)據(jù)關(guān)聯(lián),所述平面圖的節(jié)點(diǎn)和鏈接在兩維平面上定義區(qū)域的邊和頂點(diǎn);作為定義所述平面圖的數(shù)據(jù)產(chǎn)生識(shí)別定界由所述平面圖定義的每個(gè)所述區(qū)域的鏈接數(shù)和所述區(qū)域在所述平面圖中的位置的識(shí)別數(shù)據(jù);及作為定義所述第二語(yǔ)音柵格的數(shù)據(jù)輸出所述識(shí)別數(shù)據(jù)和識(shí)別與由所述識(shí)別數(shù)據(jù)定義的平面圖的鏈接關(guān)聯(lián)的語(yǔ)音單元的數(shù)據(jù)。
3.如權(quán)利要求2所述的方法,其中所述處理包括在由所述接收數(shù)據(jù)定義的柵格結(jié)構(gòu)的兩維平面中確定嵌入;及處理所述確定的嵌入,從而產(chǎn)生所述第二語(yǔ)音柵格。
4.如權(quán)利要求3所述的方法,其中所述處理所述確定的嵌入包括識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及刪除一些所述識(shí)別出的交叉鏈接,從而產(chǎn)生所述第二語(yǔ)音柵格。
5.如權(quán)利要求4所述的方法,其中所述識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分包括確定識(shí)別每個(gè)鏈接與多少鏈接交叉的交叉鏈接數(shù)據(jù);及利用所述交叉鏈接數(shù)據(jù)選擇一些所述識(shí)別出的交叉鏈接除去,以便從所述嵌入消除交叉鏈接。
6.如權(quán)利要求5所述的方法,其中所選鏈接包括與比未除去的識(shí)別出的交叉鏈接更多的鏈接交叉的鏈接。
7.如權(quán)利要求4所述的方法,其中所述一些刪除的所述識(shí)別出的交叉鏈接包括根據(jù)與所述鏈接關(guān)聯(lián)的概率數(shù)據(jù)除去的交叉鏈接。
8.如權(quán)利要求3所述的方法,其中所述柵格結(jié)構(gòu)的嵌入的所述確定包括在兩維平面中確定所述柵格結(jié)構(gòu)的初始嵌入;及處理所述初始嵌入以確定所述柵格結(jié)構(gòu)的另一嵌入,其中所述另一嵌入中交叉的鏈接數(shù)少于所述初始嵌入中交叉的鏈接數(shù)。
9.如權(quán)利要求2所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括為每個(gè)所述區(qū)域產(chǎn)生識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
10.如權(quán)利要求9所述的方法,其中每個(gè)所述節(jié)點(diǎn)都與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
11.如權(quán)利要求10所述的方法,其中所述柵格結(jié)構(gòu)中的每個(gè)所述節(jié)點(diǎn)都與定時(shí)數(shù)據(jù)關(guān)聯(lián),與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
12.如權(quán)利要求2所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括為每個(gè)所述區(qū)域產(chǎn)生識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù);及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
13.如權(quán)利要求2所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括產(chǎn)生識(shí)別第一選定區(qū)域的數(shù)據(jù);及產(chǎn)生識(shí)別由所述平面圖定義的剩余區(qū)域的數(shù)據(jù),其中所述識(shí)別數(shù)據(jù)產(chǎn)生的順序是使為之產(chǎn)生識(shí)別數(shù)據(jù)的區(qū)域?qū)?yīng)于與前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域相鄰的區(qū)域。
14.如權(quán)利要求13所述的方法,其中識(shí)別定義區(qū)域頂點(diǎn)的節(jié)點(diǎn)的所述數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)位置的偏移值。
15.如權(quán)利要求14所述的方法,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
16.如權(quán)利要求15所述的方法,其中所述列表包括循環(huán)列表。
17.如權(quán)利要求16所述的方法,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
18.如權(quán)利要求15所述的方法,其中所述列表包括識(shí)別已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
19.如權(quán)利要求2所述的方法,其中所述識(shí)別數(shù)據(jù)包括為由所述平面圖定義的每個(gè)所述區(qū)域產(chǎn)生的所述識(shí)別數(shù)據(jù)的級(jí)聯(lián)。
20.如權(quán)利要求19所述的方法,其中所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)包括以為所述區(qū)域產(chǎn)生識(shí)別數(shù)據(jù)的順序進(jìn)行排序的級(jí)聯(lián)。
21.一種產(chǎn)生柵格的方法,包括接收定義兩維平面中具有對(duì)應(yīng)于平面圖中節(jié)點(diǎn)和鏈接的頂點(diǎn)和邊的多個(gè)區(qū)域的形狀數(shù)據(jù),其中所述鏈接都不交叉;接收將由該形狀數(shù)據(jù)定義的平面圖的鏈接與識(shí)別單元的數(shù)據(jù)關(guān)聯(lián)的假設(shè)數(shù)據(jù)項(xiàng);及通過(guò)以下產(chǎn)生包括多個(gè)由鏈接連接的節(jié)點(diǎn)的柵格確定由所述形狀數(shù)據(jù)定義的平面圖;及利用所述假設(shè)數(shù)據(jù)將所述確定的平面圖的鏈接與單元關(guān)聯(lián)。
22.如權(quán)利要求21所述的方法,其中所述形狀數(shù)據(jù)對(duì)于每個(gè)所述區(qū)域包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
23.如權(quán)利要求22所述的方法,其中每個(gè)所述節(jié)點(diǎn)都與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
24.如權(quán)利要求23所述的方法,其中所述柵格結(jié)構(gòu)中的每個(gè)所述節(jié)點(diǎn)都與定時(shí)數(shù)據(jù)關(guān)聯(lián),與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
25.如權(quán)利要求21所述的方法,其中所述形狀數(shù)據(jù)對(duì)于每個(gè)所述區(qū)域包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù);及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
26.如權(quán)利要求22所述的方法,其中識(shí)別定義區(qū)域頂點(diǎn)的節(jié)點(diǎn)的所述數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)位置的偏移值。
27.如權(quán)利要求26所述的方法,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
28.如權(quán)利要求27所述的方法,其中所述列表包括循環(huán)列表。
29.如權(quán)利要求28所述的方法,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
30.如權(quán)利要求27所述的方法,其中所述列表包括識(shí)別已為之產(chǎn)生了數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
31.如權(quán)利要求27所述的方法,其中所述識(shí)別數(shù)據(jù)包括為由所述平面圖定義的每個(gè)所述區(qū)域產(chǎn)生的所述數(shù)據(jù)的級(jí)聯(lián)。
32.如權(quán)利要求31所述的方法,其中所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)包括以為所述區(qū)域產(chǎn)生識(shí)別數(shù)據(jù)的順序進(jìn)行排序的級(jí)聯(lián)。
33.如權(quán)利要求1所述的產(chǎn)生識(shí)別數(shù)據(jù)的方法,還包括步驟確定識(shí)別所述至少部分所述柵格結(jié)構(gòu)和由所述接收數(shù)據(jù)定義的柵格結(jié)構(gòu)之間差異的差異數(shù)據(jù);及作為識(shí)別數(shù)據(jù)輸出識(shí)別與鏈接關(guān)聯(lián)的所述單元的數(shù)據(jù);定義區(qū)域的所述數(shù)據(jù);及所述差異數(shù)據(jù)。
34.一種產(chǎn)生定義柵格結(jié)構(gòu)的數(shù)據(jù)的方法,包括接收定義包括多個(gè)由鏈接互連的節(jié)點(diǎn)的柵格結(jié)構(gòu)的數(shù)據(jù);處理所接收的數(shù)據(jù),以確定所述柵格結(jié)構(gòu)在兩維平面中的嵌入和包括多個(gè)由鏈接互連的節(jié)點(diǎn)的平面圖之間的差異,其中平面圖中鏈接都不交叉,所述平面圖的節(jié)點(diǎn)和鏈接定義兩維平面中區(qū)域的邊和頂點(diǎn);產(chǎn)生識(shí)別所述確定的差異的差異數(shù)據(jù);為由所述平面圖定義的所述兩維平面的所述區(qū)域產(chǎn)生識(shí)別定界每個(gè)所述區(qū)域的鏈接數(shù)的識(shí)別數(shù)據(jù)和識(shí)別所述區(qū)域在所述平面圖中位置的數(shù)據(jù);及作為定義所述柵格結(jié)構(gòu)的數(shù)據(jù)輸出所述產(chǎn)生的識(shí)別數(shù)據(jù)和所述產(chǎn)生的差異數(shù)據(jù)。
35.如權(quán)利要求34所述的方法,其中所述處理包括確定所述柵格結(jié)構(gòu)在兩維平面中的嵌入;識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及為所述確定的嵌入識(shí)別沒有交叉鏈接的平面圖,該平面圖對(duì)應(yīng)于缺少一些所述識(shí)別出的鏈接的所述嵌入,其中所述差異數(shù)據(jù)包括識(shí)別所述確定的嵌入和所述識(shí)別出的平面圖之間的差異的數(shù)據(jù)。
36.如權(quán)利要求35所述的方法,其中所述處理包括確定所述柵格結(jié)構(gòu)在兩維平面中的嵌入;識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及通過(guò)從所述確定的嵌入中除去識(shí)別一些所述交叉鏈接的數(shù)據(jù)來(lái)產(chǎn)生沒有交叉鏈接的平面圖,其中所述差異數(shù)據(jù)包括識(shí)別從所述柵格結(jié)構(gòu)所述確定的嵌入中除去的鏈接的數(shù)據(jù)。
37.如權(quán)利要求35所述的方法,其中所述識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分包括確定識(shí)別每個(gè)鏈接與多少鏈接交叉的交叉鏈接數(shù)據(jù);及利用所述交叉鏈接數(shù)據(jù)選擇一些所述識(shí)別出的交叉鏈接除去,以便從所述嵌入消除交叉鏈接。
38.如權(quán)利要求37所述的方法,其中所選鏈接包括與比未除去的識(shí)別出的交叉鏈接更多的鏈接交叉的鏈接。
39.如權(quán)利要求35所述的方法,其中所述柵格結(jié)構(gòu)的嵌入的所述確定包括在兩維平面中確定所述柵格結(jié)構(gòu)的初始嵌入;及處理所述初始嵌入以確定所述柵格結(jié)構(gòu)的另一嵌入,其中所述另一嵌入中交叉的鏈接數(shù)少于所述初始嵌入中交叉的鏈接數(shù)。
40.如權(quán)利要求35所述的方法,還包括接收將由所接收數(shù)據(jù)定義的所述柵格結(jié)構(gòu)的每個(gè)所述節(jié)點(diǎn)與定時(shí)數(shù)據(jù)項(xiàng)關(guān)聯(lián)的數(shù)據(jù),所述定時(shí)數(shù)據(jù)項(xiàng)一起定義定時(shí)序列;識(shí)別與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn);及通過(guò)以下來(lái)修改所述柵格結(jié)構(gòu)的所述確定的嵌入確定所述第一定時(shí)是否與單個(gè)節(jié)點(diǎn)關(guān)聯(lián);及如果所述定時(shí)不與單個(gè)節(jié)點(diǎn)關(guān)聯(lián),則在所述序列中產(chǎn)生一較早定時(shí),一虛節(jié)點(diǎn)與所述較早定時(shí)關(guān)聯(lián),并在所述產(chǎn)生的虛節(jié)點(diǎn)和與所述第一定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間產(chǎn)生鏈接,其中所述差異數(shù)據(jù)包括識(shí)別所述添加節(jié)點(diǎn)的數(shù)據(jù)。
41.如權(quán)利要求40所述的方法,其中所述修改所述柵格結(jié)構(gòu)的所述確定的嵌入還包括確定所述最后一個(gè)定時(shí)是否與單個(gè)節(jié)點(diǎn)關(guān)聯(lián);及如果所述定時(shí)不與單個(gè)節(jié)點(diǎn)關(guān)聯(lián),則在所述序列中產(chǎn)生一較晚定時(shí),一虛節(jié)點(diǎn)與所述較晚定時(shí)關(guān)聯(lián),并在所述產(chǎn)生的虛節(jié)點(diǎn)和與所述最后一個(gè)定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間產(chǎn)生鏈接,其中所述差異數(shù)據(jù)包括識(shí)別所述添加節(jié)點(diǎn)的數(shù)據(jù)。
42.如權(quán)利要求40所述的方法,其中所述修改所述柵格結(jié)構(gòu)的所述確定的嵌入還包括用連接與由所述要除去鏈接識(shí)別的所述節(jié)點(diǎn)的所述定時(shí)之間所述序列中的每個(gè)所述定時(shí)的定時(shí)數(shù)據(jù)關(guān)聯(lián)的虛節(jié)點(diǎn)的一系列鏈接代替與所述定時(shí)序列中不相鄰定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間的鏈接;其中所述差異數(shù)據(jù)包括識(shí)別所述柵格結(jié)構(gòu)的所述修改部分的數(shù)據(jù)。
43.如權(quán)利要求40所述的方法,其中所述修改所述柵格結(jié)構(gòu)的所述確定的嵌入還包括為不與所述定時(shí)序列中最早和最晚定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)確定每個(gè)所述節(jié)點(diǎn)是否由不與其它鏈接交叉的鏈接識(shí)別為所述嵌入式柵格中鏈接的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn);及如果節(jié)點(diǎn)沒有識(shí)別為既是起始節(jié)點(diǎn)又是結(jié)束節(jié)點(diǎn),則向所述嵌入添加另一鏈接,使所有所述節(jié)點(diǎn)都識(shí)別為既是鏈接的起始節(jié)點(diǎn)又是鏈接的結(jié)束節(jié)點(diǎn),其中所述差異數(shù)據(jù)包括識(shí)別所述添加鏈接的數(shù)據(jù)。
44.如權(quán)利要求40所述的方法,其中所述修改所述柵格結(jié)構(gòu)的所述確定的嵌入還包括確定經(jīng)一條或多條不包括任何虛節(jié)點(diǎn)的路徑鏈接到與所述定時(shí)序列中第一定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)的所述柵格結(jié)構(gòu)的節(jié)點(diǎn);及為與所述定時(shí)序列中連續(xù)定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)確定是否有任何節(jié)點(diǎn)不在所述確定的組中,并為所述節(jié)點(diǎn)識(shí)別包括將所述節(jié)點(diǎn)連接到所述確定的組中與較早定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)的虛節(jié)點(diǎn)的路徑;及用所述節(jié)點(diǎn)之間的鏈接代替節(jié)點(diǎn)間經(jīng)不包括在所述識(shí)別出的路徑中的虛節(jié)點(diǎn)的路徑,其中所述差異數(shù)據(jù)包括識(shí)別剩余虛節(jié)點(diǎn)的數(shù)據(jù)。
45.如權(quán)利要求35所述的方法,還包括通過(guò)識(shí)別所述嵌入定義節(jié)點(diǎn)對(duì)之間路徑的部分來(lái)修改所述確定的嵌入,其中所述部分不鏈接到所述柵格結(jié)構(gòu)的任何其它節(jié)點(diǎn);用識(shí)別所述節(jié)點(diǎn)對(duì)之間單個(gè)鏈接的數(shù)據(jù)代替所述部分;及將所述節(jié)點(diǎn)對(duì)之間的所述鏈接與識(shí)別所述刪除部分中節(jié)點(diǎn)和鏈接的數(shù)據(jù)關(guān)聯(lián);其中所述差異數(shù)據(jù)包括與鏈接關(guān)聯(lián)的所述數(shù)據(jù)。
46.如權(quán)利要求45所述的方法,其中所述部分包括節(jié)點(diǎn)路徑對(duì)之間經(jīng)其它節(jié)點(diǎn)的路徑,所述其它節(jié)點(diǎn)識(shí)別為單個(gè)鏈接的起始節(jié)點(diǎn)和單個(gè)鏈接的結(jié)束節(jié)點(diǎn),其中所述與所產(chǎn)生鏈接關(guān)聯(lián)的數(shù)據(jù)包括識(shí)別除去所述節(jié)點(diǎn)的數(shù)據(jù)和與以所述節(jié)點(diǎn)作為起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的刪除鏈接關(guān)聯(lián)的數(shù)據(jù)。
47.如權(quán)利要求45所述的方法,其中所述部分包括節(jié)點(diǎn)對(duì)之間包括所述節(jié)點(diǎn)對(duì)之間一對(duì)鏈接的路徑;其中與所述節(jié)點(diǎn)之間所產(chǎn)生鏈接關(guān)聯(lián)的所述數(shù)據(jù)包括識(shí)別所述鏈接對(duì)的合并的數(shù)據(jù)及與刪除鏈接關(guān)聯(lián)的數(shù)據(jù)。
48.如權(quán)利要求47所述的方法,其中與代替一對(duì)合并鏈接的鏈接關(guān)聯(lián)的所述數(shù)據(jù)包括識(shí)別鏈接對(duì)的合并及與所述合并鏈接關(guān)聯(lián)的數(shù)據(jù)的級(jí)聯(lián)的數(shù)據(jù),所述數(shù)據(jù)以依賴于與每個(gè)所述鏈接關(guān)聯(lián)的數(shù)據(jù)量的順序級(jí)聯(lián)。
49.如權(quán)利要求34所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
50.如權(quán)利要求49所述的方法,其中每個(gè)所述節(jié)點(diǎn)都與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
51.如權(quán)利要求50所述的方法,其中所述柵格結(jié)構(gòu)中的每個(gè)所述節(jié)點(diǎn)都與定時(shí)數(shù)據(jù)關(guān)聯(lián),與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
52.如權(quán)利要求34所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù);及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
53.如權(quán)利要求34所述的方法,其中所述產(chǎn)生識(shí)別數(shù)據(jù)包括產(chǎn)生識(shí)別第一選定區(qū)域的數(shù)據(jù);及產(chǎn)生識(shí)別由所述平面圖定義的剩余區(qū)域的數(shù)據(jù),其中所述識(shí)別數(shù)據(jù)產(chǎn)生的順序是使為之產(chǎn)生識(shí)別數(shù)據(jù)的區(qū)域?qū)?yīng)于與前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域相鄰的區(qū)域。
54.如權(quán)利要求53所述的方法,其中識(shí)別定義區(qū)域頂點(diǎn)的節(jié)點(diǎn)的所述數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)位置的偏移值。
55.如權(quán)利要求54所述的方法,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
56.如權(quán)利要求55所述的方法,其中所述列表包括循環(huán)列表。
57.如權(quán)利要求55所述的方法,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
58.如權(quán)利要求55所述的方法,其中所述列表包括識(shí)別已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
59.如權(quán)利要求34所述的方法,其中所述識(shí)別數(shù)據(jù)包括為由所述平面圖定義的每個(gè)所述區(qū)域產(chǎn)生的所述識(shí)別數(shù)據(jù)的級(jí)聯(lián)。
60.如權(quán)利要求59所述的方法,其中所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)包括以識(shí)別數(shù)據(jù)為所述區(qū)域產(chǎn)生的順序進(jìn)行排序的級(jí)聯(lián)。
61.如權(quán)利要求34所述的方法,其中所述差異數(shù)據(jù)包括與平面圖鏈接關(guān)聯(lián)的所述產(chǎn)生的數(shù)據(jù)的級(jí)聯(lián)。
62.一種用于產(chǎn)生識(shí)別數(shù)據(jù)的裝置,包括接收器,可操作為接收定義包括多個(gè)由鏈接連接的節(jié)點(diǎn)的柵格結(jié)構(gòu)的柵格數(shù)據(jù),所述鏈接與識(shí)別單元的數(shù)據(jù)關(guān)聯(lián);確定器,可操作為至少部分由所述接收器接收的柵格數(shù)據(jù)定義的柵格結(jié)構(gòu)確定具有由至少部分所述柵格結(jié)構(gòu)的節(jié)點(diǎn)和鏈接定義的邊和頂點(diǎn)的多個(gè)區(qū)域;產(chǎn)生器,可操作為由所述確定器確定的所述區(qū)域產(chǎn)生識(shí)別定界每個(gè)區(qū)域的鏈接數(shù)的數(shù)據(jù)和識(shí)別所述區(qū)域在至少部分所述柵格結(jié)構(gòu)中位置的數(shù)據(jù);及輸出單元,可操作為作為識(shí)別數(shù)據(jù)輸出以下識(shí)別與鏈接關(guān)聯(lián)的所述單元的數(shù)據(jù)和定義區(qū)域的所述數(shù)據(jù)。
63.一種用于產(chǎn)生定義語(yǔ)音柵格的數(shù)據(jù)的裝置,包括接收器,可操作為接收定義包括多個(gè)由鏈接互連的節(jié)點(diǎn)的第一語(yǔ)音柵格的數(shù)據(jù),所述鏈接與識(shí)別語(yǔ)音單元的數(shù)據(jù)關(guān)聯(lián);處理單元,可操作為處理由所述接收器接收的數(shù)據(jù),以確定包括具有多個(gè)由鏈接互連的節(jié)點(diǎn)的平面圖的第二語(yǔ)音柵格,平面圖中沒有鏈接交叉,所述鏈接與識(shí)別語(yǔ)音單元的數(shù)據(jù)關(guān)聯(lián),所述平面圖的節(jié)點(diǎn)和鏈接在兩維平面上定義區(qū)域的邊和頂點(diǎn);產(chǎn)生器,可操作為作為定義由所述處理單元確定的平面圖的數(shù)據(jù),產(chǎn)生識(shí)別定界由所述平面圖定義的每個(gè)所述區(qū)域的鏈接數(shù)和所述區(qū)域在所述平面圖中位置的識(shí)別數(shù)據(jù);及輸出單元,可操作為作為定義所述第二語(yǔ)音柵格的數(shù)據(jù),輸出由所述產(chǎn)生器產(chǎn)生的所述識(shí)別數(shù)據(jù)和識(shí)別與由所述接收器接收的所述識(shí)別數(shù)據(jù)定義的平面圖的鏈接關(guān)聯(lián)的語(yǔ)音單元的數(shù)據(jù)。
64.如權(quán)利要求63所述的裝置,其中所述處理單元包括嵌入單元,可操作為在由所述接收器所接收數(shù)據(jù)定義的柵格結(jié)構(gòu)的兩維平面中確定嵌入;及嵌入處理器,可操作為處理所述確定的嵌入,從而產(chǎn)生所述第二語(yǔ)音柵格。
65.如權(quán)利要求64所述的裝置,其中所述嵌入處理器可操作為識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及刪除一些所述識(shí)別出的交叉鏈接,從而產(chǎn)生所述第二語(yǔ)音柵格。
66.如權(quán)利要求65所述的裝置,其中所述嵌入處理器可操作為通過(guò)以下處理來(lái)識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分確定識(shí)別每個(gè)鏈接與多少鏈接交叉的交叉鏈接數(shù)據(jù);及利用所述交叉鏈接數(shù)據(jù)選擇一些所述識(shí)別出的交叉鏈接除去,以便從所述嵌入消除交叉鏈接。
67.如權(quán)利要求66所述的裝置,其中所選鏈接包括與比未除去的識(shí)別出的交叉鏈接更多的鏈接交叉的鏈接。
68.如權(quán)利要求65所述的裝置,其中所述接收器可操作為接收將概率與所述柵格中鏈接關(guān)聯(lián)的概率數(shù)據(jù);所述嵌入處理器可操作為根據(jù)與所述鏈接關(guān)聯(lián)的概率數(shù)據(jù)刪除鏈接。
69.如權(quán)利要求64所述的裝置,其中所述嵌入單元可操作為在兩維平面中確定所述柵格結(jié)構(gòu)的初始嵌入;及處理所述初始嵌入以確定所述柵格結(jié)構(gòu)的另一嵌入,其中所述另一嵌入中交叉的鏈接數(shù)少于所述初始嵌入中交叉的鏈接數(shù)。
70.如權(quán)利要求63所述的裝置,其中所述產(chǎn)生器可操作為產(chǎn)生對(duì)于每個(gè)所述區(qū)域包括以下的識(shí)別數(shù)據(jù)識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
71.如權(quán)利要求70所述的裝置,其中所述處理單元可操作為將每個(gè)所述節(jié)點(diǎn)與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián),其中所述產(chǎn)生器可操作為產(chǎn)生識(shí)別數(shù)據(jù),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
72.如權(quán)利要求71所述的裝置,其中所述接收器可操作為接收將所述柵格結(jié)構(gòu)中每個(gè)所述節(jié)點(diǎn)與定時(shí)數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù),與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
73.如權(quán)利要求63所述的裝置,其中所述產(chǎn)生器可操作為為每個(gè)區(qū)域產(chǎn)生識(shí)別數(shù)據(jù),該識(shí)別數(shù)據(jù)包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù);及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
74.如權(quán)利要求63所述的裝置,其中所述產(chǎn)生器可操作為產(chǎn)生識(shí)別第一選定區(qū)域的數(shù)據(jù);及產(chǎn)生識(shí)別由所述平面圖定義的剩余區(qū)域的數(shù)據(jù),其中所述識(shí)別數(shù)據(jù)產(chǎn)生的順序是使為之產(chǎn)生識(shí)別數(shù)據(jù)的區(qū)域?qū)?yīng)于與前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域相鄰的區(qū)域。
75.如權(quán)利要求74所述的裝置,其中所述產(chǎn)生器可操作為為每個(gè)區(qū)域產(chǎn)生識(shí)別定義所述區(qū)域頂點(diǎn)的節(jié)點(diǎn)的數(shù)據(jù),該數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)的位置的偏移值。
76.如權(quán)利要求75所述的裝置,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
77.如權(quán)利要求76所述的裝置,其中所述列表包括循環(huán)列表。
78.如權(quán)利要求77所述的裝置,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
79.如權(quán)利要求76所述的裝置,其中所述列表包括識(shí)別已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
80.如權(quán)利要求63所述的裝置,其中所述產(chǎn)生器可操作為產(chǎn)生識(shí)別數(shù)據(jù),識(shí)別數(shù)據(jù)包括為由所述平面圖定義的每個(gè)所述區(qū)域產(chǎn)生的所述識(shí)別數(shù)據(jù)的級(jí)聯(lián)。
81.如權(quán)利要求80所述的裝置,其中所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)包括以為所述區(qū)域產(chǎn)生識(shí)別數(shù)據(jù)的順序進(jìn)行排序的級(jí)聯(lián)。
82.如權(quán)利要求63所述的裝置,還包括壓縮器,可操作為壓縮由所述輸出單元輸出的、定義所述柵格結(jié)構(gòu)的輸出數(shù)據(jù);及發(fā)送器,可操作為發(fā)送由所述壓縮器產(chǎn)生的所述壓縮數(shù)據(jù)。
83.如權(quán)利要求82所述的裝置,還包括解壓縮器,可操作為接收并解壓縮由所述發(fā)送器發(fā)送的壓縮數(shù)據(jù);再生單元,可操作為通過(guò)所述解壓縮器處理識(shí)別數(shù)據(jù)和所述差異數(shù)據(jù),以確定所述定義的柵格結(jié)構(gòu)。
84.如權(quán)利要求83所述的裝置,其中所述再生單元可操作為利用所述識(shí)別數(shù)據(jù)產(chǎn)生平面圖;及利用所述識(shí)別語(yǔ)音單元的數(shù)據(jù)將所述平面圖的鏈接與識(shí)別語(yǔ)音單元的數(shù)據(jù)關(guān)聯(lián)。
85.一種用于產(chǎn)生柵格的裝置,包括接收器,可操作為接收定義兩維平面中具有對(duì)應(yīng)于平面圖中節(jié)點(diǎn)和鏈接的頂點(diǎn)和邊的多個(gè)區(qū)域的形狀數(shù)據(jù),平面圖中所述鏈接都不交叉;及將由該形狀數(shù)據(jù)定義的平面圖的鏈接與識(shí)別單元的數(shù)據(jù)關(guān)聯(lián)的假設(shè)數(shù)據(jù)項(xiàng);產(chǎn)生器,可操作為通過(guò)以下產(chǎn)生包括多個(gè)由鏈接連接的節(jié)點(diǎn)的柵格確定由所述接收器接收的所述形狀數(shù)據(jù)定義的平面圖;及利用由所述接收器接收的所述假設(shè)數(shù)據(jù)將所述確定的平面圖的鏈接與單元關(guān)聯(lián)。
86.如權(quán)利要求85所述的裝置,其中所述接收器配置成接收形狀數(shù)據(jù),形狀數(shù)據(jù)對(duì)于每個(gè)所述區(qū)域包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
87.如權(quán)利要求86所述的裝置,其中所述接收器可操作為接收將每個(gè)所述節(jié)點(diǎn)與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián)的數(shù)據(jù),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
88.如權(quán)利要求87所述的裝置,其中所述接收器可操作為接收將所述柵格結(jié)構(gòu)中每個(gè)所述節(jié)點(diǎn)與定時(shí)數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù),與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
89.如權(quán)利要求85所述的裝置,其中所述接收器配置成接收形狀數(shù)據(jù),形狀數(shù)據(jù)對(duì)于每個(gè)所述區(qū)域包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù);及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
90.如權(quán)利要求86所述的裝置,其中所述接收器可操作為接收識(shí)別定義區(qū)域頂點(diǎn)的節(jié)點(diǎn)的數(shù)據(jù),該數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)位置的偏移值。
91.如權(quán)利要求90所述的裝置,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
92.如權(quán)利要求91所述的裝置,其中所述列表包括循環(huán)列表。
93.如權(quán)利要求92所述的裝置,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
94.如權(quán)利要求91所述的裝置,其中所述列表包括識(shí)別已為之產(chǎn)生了數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
95.如權(quán)利要求85所述的裝置,其中所述接收器可操作為接收識(shí)別數(shù)據(jù),該識(shí)別數(shù)據(jù)包括表示由所述平面圖定義的每個(gè)所述區(qū)域的所述數(shù)據(jù)的級(jí)聯(lián)。
96.如權(quán)利要求95所述的裝置,其中所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)包括以為所述區(qū)域產(chǎn)生識(shí)別數(shù)據(jù)的順序進(jìn)行排序的級(jí)聯(lián)。
97.如權(quán)利要求62所述用于產(chǎn)生識(shí)別數(shù)據(jù)的裝置,還包括差異確定單元,可操作為確定識(shí)別所述至少部分所述柵格結(jié)構(gòu)和由所述接收數(shù)據(jù)定義的柵格結(jié)構(gòu)之間差異的差異數(shù)據(jù);其中輸出單元可操作為作為識(shí)別數(shù)據(jù)輸出以下識(shí)別與鏈接關(guān)聯(lián)的所述單元的數(shù)據(jù);定義區(qū)域的所述數(shù)據(jù);及所述差異數(shù)據(jù)。
98.一種用于產(chǎn)生定義柵格結(jié)構(gòu)的數(shù)據(jù)的裝置,包括接收器,可操作為接收定義包括多個(gè)由鏈接互連的節(jié)點(diǎn)的柵格結(jié)構(gòu)的數(shù)據(jù);處理單元,可操作為處理由所述接收器接收的數(shù)據(jù),以確定兩維平面中所述柵格結(jié)構(gòu)的嵌入和包括多個(gè)由鏈接互連的節(jié)點(diǎn)且其中鏈接都不交叉的平面圖之間的差異,所述平面圖的節(jié)點(diǎn)和鏈接定義兩維平面中區(qū)域的邊和頂點(diǎn);差異產(chǎn)生器,可操作為產(chǎn)生識(shí)別差異的差異數(shù)據(jù);形狀編碼器,可操作為由平面圖定義的所述兩維平面的區(qū)域產(chǎn)生識(shí)別定界每個(gè)所述區(qū)域的鏈接數(shù)的識(shí)別數(shù)據(jù)和識(shí)別所述區(qū)域在所述平面圖中位置的數(shù)據(jù);及輸出單元,可操作為作為定義所述柵格結(jié)構(gòu)的數(shù)據(jù)輸出由所述形狀編碼器產(chǎn)生的所述識(shí)別數(shù)據(jù)和由所述差異產(chǎn)生器產(chǎn)生的所述差異數(shù)據(jù)。
99.如權(quán)利要求98所述的裝置,其中所述處理單元包括嵌入單元,可操作為確定由所述接收器接收的數(shù)據(jù)定義的柵格結(jié)構(gòu)在兩維平面中的嵌入;及平面圖識(shí)別單元,可操作為識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及為由所述嵌入單元確定的嵌入識(shí)別沒有交叉鏈接的平面圖,平面圖對(duì)應(yīng)于沒有一些所述識(shí)別出的鏈接的所述嵌入,其中由所述差異產(chǎn)生器產(chǎn)生的所述差異數(shù)據(jù)包括識(shí)別所述嵌入和由所述平面圖識(shí)別的所述平面圖之間差異的數(shù)據(jù)。
100.如權(quán)利要求98所述的裝置,其中所述處理單元包括嵌入單元,可操作為確定由所述接收器接收的數(shù)據(jù)定義的柵格結(jié)構(gòu)在兩維平面中的嵌入;及平面圖識(shí)別單元,可操作為識(shí)別所述確定的嵌入中所述嵌入識(shí)別交叉鏈接的部分;及通過(guò)從所述確定的嵌入中除去識(shí)別一些所述交叉鏈接的數(shù)據(jù)來(lái)產(chǎn)生沒有交叉鏈接的平面圖,其中由所述差異產(chǎn)生器產(chǎn)生的所述差異數(shù)據(jù)包括識(shí)別由所述平面圖識(shí)別單元從所述柵格結(jié)構(gòu)的所述確定的嵌入中除去的鏈接的數(shù)據(jù)。
101.如權(quán)利要求99所述的裝置,其中所述平面圖識(shí)別單元包括交叉鏈接識(shí)別器,可操作為確定識(shí)別嵌入的每個(gè)鏈接與多少鏈接交叉的交叉鏈接數(shù)據(jù);及鏈接選擇單元,可操作為利用所述交叉鏈接數(shù)據(jù)選擇一些交叉的所述識(shí)別出的鏈接除去,以便從所述嵌入消除交叉鏈接。
102.如權(quán)利要求101所述的裝置,其中所述鏈接選擇單元可操作為選擇與比未除去的識(shí)別出的交叉鏈接更多的鏈接交叉的鏈接作為要除去的鏈接。
103.如權(quán)利要求99所述的裝置,其中所述嵌入單元包括嵌入確定器,可操作為確定所述柵格結(jié)構(gòu)在兩維平面中的初始嵌入;及嵌入處理器,可操作為處理由所述嵌入確定器確定的初始嵌入,以確定所述柵格結(jié)構(gòu)的另一嵌入,其中所述另一嵌入中交叉的鏈接數(shù)少于所述初始嵌入中交叉的鏈接數(shù)。
104.如權(quán)利要求99所述的裝置,其中所述接收器可操作為接收將由所接收數(shù)據(jù)定義的所述柵格結(jié)構(gòu)的每個(gè)所述節(jié)點(diǎn)與定時(shí)數(shù)據(jù)項(xiàng)關(guān)聯(lián)的數(shù)據(jù),所述定時(shí)數(shù)據(jù)項(xiàng)一起定義時(shí)間序列;所述裝置還包括分層單元,可操作為識(shí)別與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn);及修改單元,可操作為通過(guò)以下修改由所述嵌入單元確定的嵌入確定所述第一定時(shí)是否與單個(gè)節(jié)點(diǎn)關(guān)聯(lián);及如果所述定時(shí)不與單個(gè)節(jié)點(diǎn)關(guān)聯(lián),則在所述序列中產(chǎn)生一較早定時(shí),一虛節(jié)點(diǎn)與所述較早定時(shí)關(guān)聯(lián),并在所述產(chǎn)生的虛節(jié)點(diǎn)和與所述第一定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間產(chǎn)生鏈接,其中所述差異產(chǎn)生器可操作為產(chǎn)生包括識(shí)別所述添加節(jié)點(diǎn)的數(shù)據(jù)的差異數(shù)據(jù)。
105.如權(quán)利要求104所述的裝置,其中所述修改單元還可操作為通過(guò)以下修改由所述嵌入單元確定的嵌入確定所述最后一個(gè)定時(shí)是否與單個(gè)節(jié)點(diǎn)關(guān)聯(lián);及如果所述定時(shí)不與單個(gè)節(jié)點(diǎn)關(guān)聯(lián),則在所述序列中產(chǎn)生一較晚定時(shí),一虛節(jié)點(diǎn)與所述較晚定時(shí)關(guān)聯(lián),并在所述產(chǎn)生的虛節(jié)點(diǎn)和與所述最后一個(gè)定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間產(chǎn)生鏈接,其中差異產(chǎn)生器可操作為產(chǎn)生包括識(shí)別所述添加節(jié)點(diǎn)的數(shù)據(jù)的所述差異數(shù)據(jù)。
106.如權(quán)利要求104所述的裝置,其中所述修改單元可操作為通過(guò)以下修改由所述嵌入單元確定的嵌入用連接與由所述要除去鏈接識(shí)別的所述節(jié)點(diǎn)的所述定時(shí)之間所述序列中的每個(gè)所述定時(shí)的定時(shí)數(shù)據(jù)關(guān)聯(lián)的虛節(jié)點(diǎn)的一系列鏈接代替與所述定時(shí)序列中不相鄰定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)之間的鏈接;其中所述差異產(chǎn)生器可操作為產(chǎn)生包括識(shí)別所述柵格結(jié)構(gòu)的所述修改部分的數(shù)據(jù)的所述差異數(shù)據(jù)。
107.如權(quán)利要求104所述的裝置,其中所述修改單元可操作為通過(guò)以下修改由所述嵌入單元確定的嵌入為不與所述定時(shí)序列中最早和最晚定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)確定每個(gè)所述節(jié)點(diǎn)是否由不與其它鏈接交叉的鏈接識(shí)別為所述嵌入式柵格中鏈接的起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn);及如果節(jié)點(diǎn)沒有識(shí)別為既是起始節(jié)點(diǎn)又是結(jié)束節(jié)點(diǎn),則向所述嵌入添加另一鏈接,使所有所述節(jié)點(diǎn)都識(shí)別為既是鏈接的起始節(jié)點(diǎn)又是鏈接的結(jié)束節(jié)點(diǎn),其中所述差異產(chǎn)生器可操作為產(chǎn)生包括識(shí)別所述添加鏈接的數(shù)據(jù)的所述差異數(shù)據(jù)。
108.如權(quán)利要求104所述的裝置,其中所述修改單元可操作為通過(guò)以下修改由所述嵌入單元確定的嵌入確定經(jīng)一條或多條不包括任何虛節(jié)點(diǎn)的路徑鏈接到與所述定時(shí)序列中第一定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)的所述柵格結(jié)構(gòu)的節(jié)點(diǎn);及為與所述定時(shí)序列中連續(xù)定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)確定是否有任何節(jié)點(diǎn)不在所述確定的組中,并為所述節(jié)點(diǎn)識(shí)別包括將所述節(jié)點(diǎn)連接到所述確定的組中與較早定時(shí)關(guān)聯(lián)的節(jié)點(diǎn)的虛節(jié)點(diǎn)的路徑;及用所述節(jié)點(diǎn)之間的鏈接代替節(jié)點(diǎn)間經(jīng)不包括在所述識(shí)別出的路徑中的虛節(jié)點(diǎn)的路徑,其中所述差異產(chǎn)生器可操作為產(chǎn)生包括識(shí)別剩余虛節(jié)點(diǎn)的數(shù)據(jù)的差異數(shù)據(jù)。
109.如權(quán)利要求99所述的裝置,還包括鏈接編碼器,可操作為通過(guò)識(shí)別所述嵌入定義節(jié)點(diǎn)對(duì)之間路徑的部分來(lái)修改所述確定的嵌入,其中所述部分不鏈接到所述柵格結(jié)構(gòu)的任何其它節(jié)點(diǎn);用識(shí)別所述節(jié)點(diǎn)對(duì)之間單個(gè)鏈接的數(shù)據(jù)代替所述部分;及將所述節(jié)點(diǎn)對(duì)之間的所述鏈接與識(shí)別所述刪除部分中節(jié)點(diǎn)和鏈接的數(shù)據(jù)關(guān)聯(lián);其中所述差異產(chǎn)生器可操作為產(chǎn)生包括與鏈接關(guān)聯(lián)的所述數(shù)據(jù)的差異數(shù)據(jù)。
110.如權(quán)利要求109所述的裝置,其中所述鏈接編碼器可操作為識(shí)別包括節(jié)點(diǎn)對(duì)之間經(jīng)其它節(jié)點(diǎn)的路徑的部分,所述其它節(jié)點(diǎn)識(shí)別為單個(gè)鏈接的起始節(jié)點(diǎn)和單個(gè)鏈接的結(jié)束節(jié)點(diǎn),其中所述與所產(chǎn)生鏈接關(guān)聯(lián)的數(shù)據(jù)包括識(shí)別除去所述節(jié)點(diǎn)的數(shù)據(jù)和與以所述節(jié)點(diǎn)作為起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的刪除鏈接關(guān)聯(lián)的數(shù)據(jù)。
111.如權(quán)利要求109所述的裝置,其中所述鏈接編碼器可操作為識(shí)別包括節(jié)點(diǎn)對(duì)之間的包括所述節(jié)點(diǎn)對(duì)之間一對(duì)鏈接的路徑的部分;其中與所述節(jié)點(diǎn)之間所產(chǎn)生鏈接關(guān)聯(lián)的所述數(shù)據(jù)包括識(shí)別所述鏈接對(duì)合并的數(shù)據(jù)及與刪除鏈接關(guān)聯(lián)的數(shù)據(jù)。
112.如權(quán)利要求111所述的裝置,其中所述鏈接編碼器可操作為與代替一對(duì)合并鏈接的鏈接關(guān)聯(lián),該一對(duì)合并鏈接包括識(shí)別一對(duì)鏈接合并及與所述合并鏈接關(guān)聯(lián)的數(shù)據(jù)的級(jí)聯(lián)的數(shù)據(jù),所述數(shù)據(jù)以依賴于與每個(gè)所述鏈接關(guān)聯(lián)的數(shù)據(jù)量的順序級(jí)聯(lián)。
113.如權(quán)利要求98所述的裝置,其中所述形狀編碼器可操作為每個(gè)區(qū)域產(chǎn)生識(shí)別數(shù)據(jù),包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù);及識(shí)別在從所述第一節(jié)點(diǎn)到所選的定義所述區(qū)域另一頂點(diǎn)的第二節(jié)點(diǎn)的一對(duì)路徑中鏈接數(shù)的第一和第二數(shù)字。
114.如權(quán)利要求113所述的裝置,其中所述處理單元可操作為將每個(gè)所述節(jié)點(diǎn)與多個(gè)有序?qū)又械囊粋€(gè)關(guān)聯(lián),其中區(qū)域的所述第一節(jié)點(diǎn)包括定義一層中頂點(diǎn)的節(jié)點(diǎn),而所述第二節(jié)點(diǎn)包括定義與進(jìn)一步從與所述第一節(jié)點(diǎn)關(guān)聯(lián)的所述層而不是與定義所述區(qū)域頂點(diǎn)的其它節(jié)點(diǎn)關(guān)聯(lián)的層除去的層關(guān)聯(lián)的頂點(diǎn)的節(jié)點(diǎn)。
115.如權(quán)利要求114所述的裝置,其中所述接收器可操作為接收將所述柵格結(jié)構(gòu)中每個(gè)所述節(jié)點(diǎn)與定時(shí)數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù),所述處理單元將與相同定時(shí)數(shù)據(jù)關(guān)聯(lián)的節(jié)點(diǎn)與同一層關(guān)聯(lián)。
116.如權(quán)利要求98所述的裝置,其中所述形狀編碼器可操作為每個(gè)區(qū)域產(chǎn)生識(shí)別數(shù)據(jù),識(shí)別數(shù)據(jù)包括識(shí)別構(gòu)成所述區(qū)域頂點(diǎn)的一節(jié)點(diǎn)的數(shù)據(jù),識(shí)別定界所述區(qū)域的鏈接總數(shù)的數(shù)據(jù),及識(shí)別所述區(qū)域與已為其產(chǎn)生數(shù)據(jù)的區(qū)域共享的鏈接數(shù)的數(shù)據(jù)。
117.如權(quán)利要求98所述的裝置,其中所述形狀編碼器可操作為產(chǎn)生識(shí)別第一選定區(qū)域的數(shù)據(jù);及識(shí)別由所述平面圖定義的剩余區(qū)域的數(shù)據(jù),其中所述識(shí)別數(shù)據(jù)產(chǎn)生的順序是使為之產(chǎn)生識(shí)別數(shù)據(jù)的區(qū)域?qū)?yīng)于與前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域相鄰的區(qū)域。
118.如權(quán)利要求117所述的裝置,其中所述形狀編碼器可操作為每個(gè)區(qū)域產(chǎn)生識(shí)別定義所述區(qū)域頂點(diǎn)的節(jié)點(diǎn)的數(shù)據(jù),該數(shù)據(jù)包括識(shí)別所述節(jié)點(diǎn)相對(duì)于識(shí)別前面已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域頂點(diǎn)的節(jié)點(diǎn)位置的偏移值。
119.如權(quán)利要求118所述的裝置,其中所述偏移值包括識(shí)別所述節(jié)點(diǎn)在節(jié)點(diǎn)列表中的相對(duì)位置的偏移值。
120.如權(quán)利要求119所述的裝置,其中所述列表包括循環(huán)列表。
121.如權(quán)利要求119所述的裝置,其中所述偏移值包括識(shí)別所述列表中不同方向偏移的正或負(fù)數(shù)。
122.如權(quán)利要求119所述的裝置,其中所述列表包括識(shí)別已為之產(chǎn)生了識(shí)別數(shù)據(jù)的區(qū)域邊界頂點(diǎn)的節(jié)點(diǎn)列表。
123.如權(quán)利要求98所述的裝置,其中所述形狀編碼器可操作為產(chǎn)生識(shí)別數(shù)據(jù),識(shí)別數(shù)據(jù)包括為由所述平面圖定義的每個(gè)所述區(qū)域產(chǎn)生的所述識(shí)別數(shù)據(jù)的級(jí)聯(lián)。
124.如權(quán)利要求123所述的裝置,其中所述形狀編碼器可操作為產(chǎn)生以為所述區(qū)域產(chǎn)生識(shí)別數(shù)據(jù)的順序進(jìn)行排序的所述識(shí)別數(shù)據(jù)的所述級(jí)聯(lián)。
125.如權(quán)利要求98所述的裝置,其中所述差異產(chǎn)生器可操作識(shí)別數(shù)據(jù)產(chǎn)生包括與平面圖的鏈接關(guān)聯(lián)的所述產(chǎn)生的數(shù)據(jù)的級(jí)聯(lián)的數(shù)據(jù)。
126.一種記錄介質(zhì),存儲(chǔ)用于使可編程計(jì)算機(jī)執(zhí)行如權(quán)利要求1所述方法的計(jì)算機(jī)可實(shí)現(xiàn)處理器步驟。
127.一種記錄介質(zhì),存儲(chǔ)用于使可編程計(jì)算機(jī)配置成如權(quán)利要求62所述裝置的計(jì)算機(jī)可實(shí)現(xiàn)處理器步驟。
全文摘要
最初,嵌入模塊(22)確定柵格在兩維平面中的嵌入。然后,嵌入模塊(22)處理初始嵌入,以便產(chǎn)生沒有鏈接交叉的平面圖。然后,該平面圖由鏈接編碼模塊(24)簡(jiǎn)化,表示柵格結(jié)構(gòu)的數(shù)據(jù)由形狀編碼模塊(26)產(chǎn)生,其中簡(jiǎn)化的平面圖由識(shí)別定界由平面圖定義的區(qū)域的鏈接數(shù)的形狀編碼(42)和識(shí)別那些區(qū)域在平面圖中位置的數(shù)據(jù)及識(shí)別由鏈接編碼模塊(24)對(duì)柵格結(jié)構(gòu)所作修改的鏈接列表(43)表示。這些編碼使柵格中相同的子結(jié)構(gòu)利用相同的數(shù)據(jù)表示,從而適于利用傳統(tǒng)技術(shù)進(jìn)行壓縮。
文檔編號(hào)G10L15/08GK1705978SQ200380101380
公開日2005年12月7日 申請(qǐng)日期2003年10月10日 優(yōu)先權(quán)日2002年10月15日
發(fā)明者尤威·H.·約斯特, 邁克爾·R.·阿特金森 申請(qǐng)人:佳能株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1