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

將象形文字字符的象形文字字形數(shù)據(jù)解壓縮的裝置和方法

文檔序號:2494374閱讀:284來源:國知局
專利名稱:將象形文字字符的象形文字字形數(shù)據(jù)解壓縮的裝置和方法
技術(shù)領(lǐng)域
本發(fā)明涉及在數(shù)據(jù)處理系統(tǒng)中的位圖字形數(shù)據(jù)的存儲。
背景技術(shù)
在數(shù)據(jù)處理系統(tǒng)中文本數(shù)據(jù)一般被存儲為字符碼序列,在要求向用戶提供文本數(shù)據(jù)時,例如在屏幕上顯示它或打印它,則必須將每個字符碼轉(zhuǎn)換成能夠提供給用戶的象形文字的形式。這種轉(zhuǎn)換使用了字形數(shù)據(jù),它對每一個字符碼指定一個象形文字的形式。一種字形數(shù)據(jù)是對每個字符碼存儲該字符的位圖的表示法。對于顯示和打印,這種位圖處理起來可以相對地簡單一些。
在此種系統(tǒng)中發(fā)生的問題是在存儲字形數(shù)據(jù)和用于訪問這些字形數(shù)據(jù)的任何相關(guān)的數(shù)據(jù)時所使用的存儲容量的總量。在象形文字字符(例如中文、朝鮮文和日文字符)的情況下所占用的存儲器資源的總量能夠成為一將特殊的問題。在這些場合,需要被表示的字符的數(shù)量可能非常之高,例如中國的象形文字字形可能包括13,000個不同的象形文字字符。

發(fā)明內(nèi)容
人們強(qiáng)烈地期待能夠減少為處理字形數(shù)據(jù)所需的存儲容量的方法。
從一個方面看,本發(fā)明提供了一種分解象形文字字符的象形文字字形數(shù)據(jù)的裝置,所說的象形文字字符的非壓縮數(shù)據(jù)以N乘M像素位圖的形式出現(xiàn),所說的裝置包括(i)一個熵譯碼器,用于將熵譯碼成許多個熵代碼,每個表示一幅P乘Q個像素的位圖,從而生成許多幅關(guān)于所說的象形文字的字符的P乘Q像素的位圖;以及(ii)用于將許多幅P乘Q像素位圖合并的邏輯,以生成關(guān)于所說象形文字字符的M乘N像素的位圖。
象形文字字形一般有非常多數(shù)目的字符。進(jìn)一步講,每個單獨(dú)的字符可能在形狀上是非常之復(fù)雜以致于為了適當(dāng)?shù)乇硎舅枰鄬?xì)化的位圖。本發(fā)明考慮到,在象形文字字符可能在形狀上非常復(fù)雜的同時,實際上在它們的形式中存在著相當(dāng)大的冗余部分,如果字符被分為較小的小片(tile),則某些形式的小片比其他小片許多倍更為頻繁地出現(xiàn)。本發(fā)明的通過應(yīng)用熵編碼表示每個圖標(biāo)來利用這個現(xiàn)象,使得通常出現(xiàn)的圖標(biāo)可被給予較小的熵代碼而不經(jīng)常出現(xiàn)的圖標(biāo)被給予較大的熵代碼。用這種方式,只要比較光柵掃描字符位圖,就能夠達(dá)到增大了的數(shù)據(jù)壓縮度并由此得到壓縮的比特流。赫夫曼(Huffman)編碼是一種特別適合于用作此種目的的熵編碼形式。
對于P乘Q像素位圖,二比一的高寬比已被發(fā)現(xiàn)是特別適合的。具有16×16或24×24像素大小的單個的象形文字字符位圖較好地兼顧了所能顯示的細(xì)節(jié)和所需的存儲容量的總量。
在與上面提及的討論相類似的方法中,可以體會到,通過一個受軟件控制工作的通用數(shù)據(jù)處理器可以方便地提供本發(fā)明的解壓縮技術(shù)所需要的赫夫曼譯碼器和合并邏輯。
從一個附加的方面來看,本發(fā)明提供用于壓縮象形文字字符的象形文字字形數(shù)據(jù)的裝置,所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的裝置包括(i)用于劃分所說象形文字字符的所說的N×M像素的位圖以產(chǎn)生許多幅P×Q像素位圖的邏輯;以及(ii)熵編碼器,用于將所說的象形文字字符的所說的許多P×Q像素位圖的每一幅熵編碼為熵代碼以生成表示所說象形字符的大量的熵代碼。
從另一方面看,本發(fā)明提供一種將象形文字字符的象形文字字形數(shù)據(jù)進(jìn)行解壓縮的方法,所說象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的方法包括的步驟有(i)對每個表示一個P×Q像素位圖的大量的熵代碼進(jìn)行熵譯碼,以產(chǎn)生對于所說象形文字字符的大量的P×Q像素位圖;以及(ii)將所說的大量的P×Q像素位圖合并以生成所說的象形文字字符的所說的M×N像素的位圖。
從另一個方面看,本發(fā)明提供一個壓縮象形文字字符的象形文字字形數(shù)據(jù)的方法,所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素的位圖的形式出現(xiàn),所說的方法包括的步驟有(i)劃分所說的象形文字字符的所說N×M像素的位圖以生成許多P
×Q像素的位圖;以及(ii)將所說象形文字字符的所說的許多P×Q像素位圖的每一個進(jìn)行熵編碼成為熵代碼,以產(chǎn)生表示所說象形文字字符的許多個熵編碼。
將會理解到,當(dāng)按索引排列的表以及具有熵代碼的小片能夠分別被使用時,它們一起提供一個特別改進(jìn)了的系統(tǒng)。
本發(fā)明的以上的和其它的目的,特性和優(yōu)點(diǎn)將從下面的說明性實施例的詳細(xì)描述中明顯地看到,該實施例應(yīng)與附圖結(jié)合起來理解。


圖1說明一個字形符代碼和該字形符代碼的可變長度編碼數(shù)據(jù)以及該字形符的圖像表示之間的關(guān)系;圖2說明將一個A位字形符代碼映像于在保存表示該字符的一個像素位圖的可變長度編碼的數(shù)據(jù)的存儲器內(nèi)的一個存儲單元的方法;以及圖3是說明圖2的系統(tǒng)的工作的流程圖;圖4說明一個象形文字字符位圖以及在赫夫曼編碼之前它的成小片狀的劃分;圖5和6分別是說明象形文字字符的壓縮和解壓縮的流程圖;以及圖7圖示一個用于完成關(guān)于圖1至圖6所描述的方法的通用數(shù)據(jù)處理系統(tǒng)。
具體實施例方式
圖1說明表示在一種象形文字字形中的一個字形符的字符代碼2,該象形文字字形是一個中文字符字形并且一般可能包括大約13,000字符。為此,采用雙字節(jié)字符代碼。
字符代碼2可以被映射到表示所涉及的中文象形文字字符6的位圖可變長度編碼數(shù)據(jù)4。當(dāng)著這個可變長度編碼數(shù)據(jù)4被譯碼時(例如赫夫曼譯碼的,映射到組分小片并組合成字符形式),則所表示的中文象形文字字符6可以被顯示和打印。
當(dāng)著表示象形文字字符的像素位圖數(shù)據(jù)是可變長度編碼的,系統(tǒng)必須確定在此可變長度編碼的數(shù)據(jù)流中在何處將會找到與特定字符代碼6相對應(yīng)的特定數(shù)據(jù)4。圖2說明完成這種映像的方法。
兩字節(jié)字符代碼2需要被映射至表示該字形中所有象形文字字符的像素位圖的赫夫曼編碼的數(shù)據(jù)流10里的起始位置8。有關(guān)特定字符的可變長度編碼數(shù)據(jù)4形成總的可變長度編碼數(shù)據(jù)10的一小部分。
該處理的第一階段是利用字符代碼(A位字符代碼)的9個最重要的位(B位段)去檢索表1。表1是一個512入口的表,每行中有6字節(jié)數(shù)據(jù)。因此,字符碼2的9個最高有效位9MSB能被用來直接檢索表1內(nèi)的行入口。
表1中所檢索行的最初兩個字節(jié)提供一個偏置值TB20ff指示在第二表表2里的一個位置。表1中該行里的隨后三個字節(jié)提供一個赫夫曼偏置值Huffoff,指示在赫夫曼編碼的數(shù)據(jù)流10里的一個起始偏置值。表1的所檢索的行里的最后一個字節(jié)給出一個與具有對應(yīng)于表1中該行的9個最高有效位的這些象形文字字符有關(guān)的平均長度值A(chǔ)rSz。
表2偏置值TB2off被用來指示表2內(nèi)與9MSB值相對應(yīng)的區(qū)域18的開始位置14。表2內(nèi)的入口包括兩字節(jié)的行,兩字節(jié)行的前面7位被用來與字符代碼2的相應(yīng)的最低7個有效位7LSB匹配。表2的行中的剩余9位提供一個帶符號的誤差值Err。
知道了表2中的起始點(diǎn)14、表2中下一區(qū)域的起始點(diǎn)也能從表1中的下一個入口讀出。這在表2里產(chǎn)生一個范圍,在其中可以找到任何匹配的入口。于是通過將字符代碼2的最低7個有效位與正在搜索的范圍中點(diǎn)處表2中入口的最高有效的7位相比較,這個范圍就被二進(jìn)制地搜索。中點(diǎn)入口可能匹配或者換句話說能夠確定無論如何匹配的入口將在正被試驗的當(dāng)前中點(diǎn)的上方或下方。如果中點(diǎn)不匹配,則在上方或下方的被識別范圍的新的中點(diǎn)將被用來作下一次試驗。這個過程被重量直到匹配被發(fā)現(xiàn),或者確定對于該代碼在表2中不存在有效的入口為止。
換句話說,從表2中的起始點(diǎn)14開始,向下對表2的入口進(jìn)行搜索直到找到一個入口,該入口的7個最高有效的位與字符碼2的最低7個有效位相匹配。
在表中產(chǎn)生匹配的入口將在第N行。表2里的諸入口可以在每個范圍內(nèi)對應(yīng)于字符碼2的9個最重要的位被分類以按照可能的有效字符碼的最低的7個有效位的順序進(jìn)行,當(dāng)著對應(yīng)于字符碼2,表2中的行被找到,則關(guān)于此行的誤差值Err可以被讀出。
如果赫夫曼編碼的數(shù)據(jù)流10被存儲在起始地址為Huff Date Start的存儲器中,則為尋找與字符代碼2相對應(yīng)的數(shù)據(jù)的位置的一級近似通過將赫夫曼偏置值加到起始地址上來達(dá)到。這指向一個位置16,從此位置開始具有與字符代碼相同的9個最高有效位的那些字符的赫夫曼編碼數(shù)據(jù)被存儲。表1還給出關(guān)于具有這9個最高有效位的字符代碼的平均長度值A(chǔ)vSz,因此,當(dāng)在表2中進(jìn)行搜索并確定在區(qū)域18中的第N行是匹配于字符代碼的最低7個有效位的行時,則數(shù)據(jù)4的起始地址的二級近似可以通過在地址16上加(AvSz*N)以得到地址20來作到,通過將地址20加上從表2讀出的關(guān)于該字符代碼2的誤差值Err就能獲得最終的地址8。
圖3是說明圖2所示過程的流程圖。在步驟22上,利用字符碼2的最高9個最高有效位完成了在表1中的查表操作以檢索表1里的一行。
在步驟24上,表2偏置值TB2off,赫夫曼偏置值Huffoff以及平均長度值A(chǔ)vSz全部被從表1中所檢索的行讀出。
在步驟26上,為找出與字符碼2的最低7位有效位匹配的入口,從由TB2off給定的位置開始在表2中進(jìn)行搜索(從由表1指示的區(qū)域的頂部開始第N個)。
在步驟27,按照是否在表2中已經(jīng)找到有效的匹配入口來進(jìn)行試驗,如果有效的匹配入口沒有被找到,則過程中止。
在步驟28,從已在步驟26識別了的第N個入口讀出誤差值Err。
在步驟30,利用赫夫曼數(shù)據(jù)流10的存儲器中的起始地址Huff DataStart加上值Huffoff,(AvSz*N)和Err計算赫夫曼編碼的可變長度數(shù)據(jù)的地址。這個計算值指出關(guān)于字符碼2的赫夫曼編碼數(shù)據(jù)4的起始地址8。
在步驟32,從所計算的地址讀出赫夫曼編碼數(shù)據(jù)4。
在步驟34,赫夫曼編碼數(shù)據(jù)4被分解并且繪制出字符的象形文字位圖表示。
圖4顯示一幅表示象形文字字符6的N×M位圖36。在此例中位圖是一幅16×16像素的位圖。在較高分辨率的系統(tǒng)中24×24像素的位圖可以被使用。
像素位圖36被分成32個4×2像素小片38。這些小片的每一個能用一個8位碼唯一地標(biāo)識,因為在小片中有256個可能的變化。
本發(fā)明利用了這樣一種認(rèn)識即一些小片圖樣比起其它的更為常用得多。因此,表示小片的8位碼38可以用赫夫曼代碼來代替,經(jīng)常出現(xiàn)的小片被給予短的赫夫曼代碼。用這種方式,象形文字像素位圖字形數(shù)據(jù)能夠被有效地壓縮。
圖5是一個說明象形文字字符的壓縮的流程圖。在步驟40,16×16像素位圖被分成32個4×2像素的小片。在步驟42,這些小片的每一個被分配一個在0到255之間的與其對應(yīng)的代碼值,在步驟44,在0到255之間的32個值是使用對整個字形的赫夫曼編碼表作赫夫曼編碼的,以產(chǎn)生相應(yīng)的赫夫曼代碼流。這個赫夫曼代碼流即是16×16像素位圖36的可變長度編碼表示。
圖6是說明關(guān)于象形文字字符的像素位圖的赫夫曼編碼的字形數(shù)據(jù)的解壓縮流程圖。在步驟46,赫夫曼代碼流被譯碼以產(chǎn)生在0到255之間的32個值的流。這些8位值每個對應(yīng)于一個4×2像素小片的特定的像素圖樣。在步驟48,這些像素圖樣被查找并且以預(yù)置的順序被合并(例如8個水平行的水平光柵,每行包括4個小片)。這組合成16×16像素的位圖36并可以在步驟50被繪制(例如顯示或打印)。
圖7圖示一個典型的數(shù)據(jù)處理系統(tǒng),它可以被用來完成上述的方法。公用總線52連接中央處理器54,隨機(jī)存取存儲器56,只讀存儲器58和顯示驅(qū)動電路60。顯示器62,比如液晶顯示板,是由顯示驅(qū)動電路60驅(qū)動的。
在工作時,存儲在只讀存儲器58中的軟件可以由中央處理單元54執(zhí)行以實現(xiàn)上述的方法。圖7所示系統(tǒng)工作時完成先前所描述的各個邏輯單元的任務(wù)。
只讀存儲器58還存儲赫夫曼編碼字形數(shù)據(jù)10,第一表表1和第二表表2。
當(dāng)著象形文字字符的像素位圖36已被中央處理單元54譯碼時它可以被送至顯示驅(qū)動電路60,該電路將依次提供必需的信號給顯示器62,以向用戶顯示象形文字字符6。
雖然本發(fā)明的說明性的實施例已經(jīng)在這里參照附圖被詳細(xì)說明,應(yīng)該理解,本發(fā)明并不局限于這些明顯的實施例,在那些由精通本專業(yè)的人員所作的不偏離本發(fā)明的領(lǐng)域和精神的各種各樣的變化和修改亦能夠是有效的,就象附加權(quán)利要求所規(guī)定的一樣。
權(quán)利要求
1.用于將象形文字字符的象形文字字形數(shù)據(jù)解壓縮的裝置,所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的裝置包括(i)用于對許多熵代碼進(jìn)行熵譯碼的熵譯碼器,每個熵代碼表示一個P×Q像素位圖,產(chǎn)生用于所說象形文字字符的許多P×Q像素位圖;以及(ii)用于將大量的P×Q像素位圖合并產(chǎn)生用于所說的象形文字字符的所說的N×M像素的位圖的邏輯。
2.按照權(quán)利要求1所要求的裝置,其中所說熵譯碼器是一個赫夫曼譯碼器并且所說的熵代碼是赫夫曼代碼。根據(jù)關(guān)于所說的象形文字字形數(shù)據(jù)的赫夫曼編碼表,每個代碼表示一個所說的P×Q像素位圖。
3.按照權(quán)利要求1中所要求的裝置,其中所說的P×Q像素位圖為高寬比不等于1比1的矩形。
4.按照權(quán)利要求3中所要求的裝置,其中所說的P×Q像素位圖具有2比1的高寬比。
5.按照權(quán)利要求4要求的裝置,其中P是4而Q為2。
6.按照權(quán)利要求1要求的裝置,其中N為24且M為24。
7.按照權(quán)利要求1要求的裝置,其中N為16且M為16。
8.按照權(quán)利要求1所要求的裝置,其中所說的熵譯碼器和所說的關(guān)于合并的邏輯是由受軟件控制的數(shù)據(jù)處理器邏輯操作所提供的。
9.用于壓縮關(guān)于象形文字字符的象形文字字形數(shù)據(jù)的裝置,所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的裝置包括(i)用于劃分所說象形文字字符的N×M像素位圖產(chǎn)生許多P×Q像素位圖的邏輯;以及(ii)熵編碼器,用于將對所說的象形文字字符的所說的許多P×Q像素的位圖中的每個進(jìn)行熵編碼成為熵代碼以產(chǎn)生大量的表示所說象形文字字符的熵代碼。
10.將象形文字字符的象形文字字形數(shù)據(jù)解壓縮的方法,用于所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的方法包括的步驟有(i)對大量的每個表示一P×Q像素位圖的熵代碼進(jìn)行熵譯碼以產(chǎn)生大量的用于所說的象形文字字符的P×Q像素的位圖;以及(ii)合并所說的大量P×Q像素位圖生成用于所說的象形文字字符的所說的N×M像素的位圖。
11.壓縮關(guān)于象形文字字符的象形文字字形數(shù)據(jù)的方法,用于所說的象形文字字符的非壓縮數(shù)據(jù)以N×M像素位圖的形式出現(xiàn),所說的方法包括的步驟有(i)劃分用于所說象形文字字符的所說的N×M像素位圖以產(chǎn)生許多的P×Q像素位圖,以及(ii)將用于所說象形文字字符的所說的許多個P×Q像素的位圖的每一個進(jìn)行熵編碼成為熵代碼以生成表示所說的象形文字字符的許多的熵代碼。
全文摘要
表示象形文字字形的字符6的字符代碼2可以被用來確定在與所涉及字符6有關(guān)的全部字形的像素數(shù)據(jù)的可變長度編碼數(shù)據(jù)流10中的地址8。這個存取經(jīng)過兩級表查詢,第一級表表1返回一個在編碼的數(shù)據(jù)流內(nèi)的初始偏置Huffoff,一個字符數(shù)據(jù)的平均長度AvSz和對第二表表2的一個指針TB2off。于是第二表被用來查詢一個誤差值Err,利用該誤差Err來修正由表1中的信息所產(chǎn)生的地址的估計值以及在第二表表2內(nèi)的位置N該位置導(dǎo)致匹配。象形文字字符6的像素位圖36能夠被劃分成較小的小片38并且每塊這樣的小片給定一個碼。該小片代碼于是可以被赫夫曼編碼以提供像素位圖字形數(shù)據(jù)的高效壓縮。
文檔編號B41J5/44GK1495617SQ031284
公開日2004年5月12日 申請日期1999年7月5日 優(yōu)先權(quán)日1999年2月5日
發(fā)明者D·H·塞姆斯, D H 塞姆斯 申請人:Arm有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
五台县| 玉门市| 澄迈县| 米泉市| 芒康县| 西丰县| 赤壁市| 蒙阴县| 长乐市| 固原市| 方山县| 大英县| 隆子县| 平顺县| 北安市| 中超| 忻州市| 东丰县| 通榆县| 青岛市| 乌海市| 东台市| 丘北县| 永年县| 南昌市| 陆河县| 伽师县| 临漳县| 孝义市| 唐海县| 太保市| 河西区| 桓台县| 泰安市| 大城县| 正阳县| 河源市| 抚顺县| 阜平县| 内丘县| 福安市|