專利名稱:一種移動通信終端手寫短信的實現(xiàn)方法及其終端的制作方法
技術領域:
本發(fā)明涉及一種移動通信終端的手寫短信的編碼解碼方法,以及具有該手寫短信功能的終端。
背景技術:
手寫短信的編解碼過程如圖1所示,主要由編碼和解碼兩個部分組成?,F(xiàn)有的壓縮黑白圖像數(shù)據(jù)的方法,其過程是利用標準的哈夫曼編碼對于手寫短信得到的圖像進行壓縮處理,其系統(tǒng)編碼效率低,形成的碼流文件過大,并不適合以短信息的形式發(fā)送,因此需要采用更有效的方法,才能更適合于手寫短信的應用。
目前流行的彩信主要是發(fā)送彩色的或者黑白的已有圖片,其缺點是不能發(fā)送自己繪制的圖形或者手寫文字。同樣,如果將手寫短信通過普通的圖片格式發(fā)送的時候,也因為圖片占用的字節(jié)空間大,因此在通過無線網(wǎng)絡發(fā)送的過程中產(chǎn)生的費用較高。
如果要將手寫短信通過短信息或者擴展短信息(ems)的方式發(fā)送,就必須要求圖片的壓縮效率高才會比較經(jīng)濟,而且必須盡可能的不失真才能保證接收方能清晰的看到發(fā)送者所寫的或者所畫的圖形或文字。同時也要求該方式適合于手機的處理速度和處理能力,也要求編碼和解碼的速度快。
發(fā)明內(nèi)容本發(fā)明旨在提供一種基于改進的哈夫曼算法的手寫黑白短信的高效率、高壓縮率的編碼方法,能夠快速解碼的解碼方法;以及具有該手寫短信功能的移動通信終端。
本發(fā)明解決其技術問題所采用的技術方案是一種移動通信終端手寫短信的實現(xiàn)方法,所述的方法包括(1)、對于所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值;(2)、按照哈夫曼碼表對每一行的黑色象素、白色象素按照其游程值依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹;(3)、將該碼流數(shù)據(jù)經(jīng)通信模塊發(fā)出;(4)、經(jīng)短信接收裝置接收手寫短信,對接收到的碼流數(shù)據(jù)進行解碼,該解碼步驟為(4.1)、確定定長碼字N,N為整數(shù)且N≥碼表的層數(shù);(4.2)、從哈夫曼碼表中,根據(jù)編碼的碼值大小分成不少于2組的分組碼表,并設定相應分組碼表對應的碼長比較值;(4.3)、以定長碼字N讀取碼流數(shù)據(jù)讀取碼流數(shù)據(jù)的前N位碼字,將該碼字的碼值與碼長比較值比較,判斷得到與該碼字對應的分組碼表,從分組碼表中讀取所述碼字對應的游程和象素,所述的碼字為Ki位;(4.4)、判斷是否讀取到碼流數(shù)據(jù)的最末位;(4.5)、如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),重復(4.3)-(4.4);如果是,結(jié)束整個解碼過程;
(5)、將解碼出的游程和對應的象素在觸摸屏上顯示,得到圖像信息。進一步,在所述的(2)中,編碼的方法為對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<列數(shù)<2n,得到游程從1-2n的黑色象素、白色象素標準碼表。
再進一步,在所述的(2)中,碼表的設定層數(shù)為12層;所述的(4.1)中,定長碼字為16位。
更進一步,所述的(4.2)中,將哈夫曼碼表對應到四組分組碼表的方法為按照碼字的位數(shù),將碼字為12位分為第一分組碼表;將編碼為10位的分為第二分組碼表;將編碼為8位分為第三分組碼表;將編碼位3-7位分為第四分組碼表;得到碼長比較值的方法為將所述的碼字位數(shù)補充到16位,按照編碼的二進制值大小得到最大值,即得到碼長比較值L1、L2、L3、L4,L1對應第一分組碼表,L2對應第二分組碼表,L3對應第三分組碼表,L4對應第四分組碼表,L1<L2<L3<L4;所述的(4.3)中,以定長碼字N讀取碼流數(shù)據(jù)的方法為(4.3.1)、判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.2)、判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.3)、判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.4)、判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素;否則進入(4.4)。
一種具有所述的手寫短信功能的移動通信終端,包括主控模塊、通信模塊、人機交互單元,所述的主控模塊包括短信息模塊,所述的人機交互單元包括觸摸顯示屏、輸入鍵盤、耳機和麥克風,所述的短信息模塊包括哈夫曼編碼器,用于對所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值,按照哈夫曼碼表對每一行的黑色象素、白色象素依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹;所述的編碼器的輸出與通信模塊通信連接;所述的通信模塊與哈夫曼解碼器的輸入通信連接,所述的解碼器的輸出連接觸摸顯示屏;哈夫曼解碼器,用于將接收到的碼流數(shù)據(jù)進行解碼;所述的解碼器包括分組碼表設定單元,用于確定定長碼字N,N為整數(shù)且N≥碼表的層數(shù),從哈夫曼碼表中,根據(jù)碼值大小分成不少于2組的分組碼表,并設定相應的分組碼表對應的碼長比較值;碼流數(shù)據(jù)讀取單元,用于根據(jù)讀取的N位碼值與碼長比較值判斷該碼字屬于哪一個分組碼表,讀取所述碼字對應的游程和象素,所述的碼字為Ki位;解碼完成判斷單元,用于判斷是否讀取到碼流數(shù)據(jù)的最末位,如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),將該N位數(shù)據(jù)送入碼流數(shù)據(jù)讀取單元;如果是,結(jié)束整個解碼過程。
進一步,所述的哈夫曼碼表為對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<行寬<2n。
再進一步,所述的哈夫曼碼表的層數(shù)為12層,所述的分組碼表設定單元的定長碼字為16位。
更進一步,所述的分組碼表為四組,碼字為12位為第一分組碼表;碼字為10位為第二分組碼表;碼字為8位為第三分組碼表;碼字為3-7位為第四分組碼表;碼長比較值包括L1、L2、L3、L4,L1對應第一分組碼表,碼長比較值L2對應第二分組碼表,碼長比較值L3對應第三分組碼表,碼長比較值L4對應第四分組碼表,L1<L2<L3<L4;所述的碼流數(shù)據(jù)讀取單元包括第一分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;第二分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;第三分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;第四分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素。
本發(fā)明的基本思想是基于手寫短信圖像中各種模式出現(xiàn)的統(tǒng)計規(guī)律,通過構造一顆形式特殊的不安全二叉樹,提出了專用于手寫短信圖像編碼的優(yōu)化數(shù)據(jù)壓縮方法,根據(jù)構造二叉樹的完全偏置性,給出了一種快速解碼算法。該方法具有編碼效率高和解碼速度快的特點。
本發(fā)明提出一種有效壓縮黑白圖像數(shù)據(jù)的方法,用以適用于并推動手寫短信的應用。原有的將標準的哈夫曼編碼方法應用于手寫短信的壓縮編碼,其系統(tǒng)編碼效率低,形成的碼流文件過大,并不適合以短信息的形式發(fā)送,因此需要采用更有效的方法。
本發(fā)明的哈夫曼樹的特點為(1)、整棵樹是具有完全子樹的非完全二叉樹,樹的層次少、葉子多,葉子的分布具有高度不對稱性,同時沒有使用行結(jié)束標志,避免常規(guī)編碼中特殊葉子結(jié)點的出現(xiàn)。(2)、壓縮率高。利用上述二叉樹,編碼過程中充分采用了出現(xiàn)頻率越高,碼字越短的特點,同時沒有使用長碼字和特殊碼字的出現(xiàn),可以使針對手寫短信實現(xiàn)的壓縮效率更高。利用本方法對1~8個字的手寫短信分別進行編碼,數(shù)據(jù)壓縮范圍均可以控制在0.75K以內(nèi)。(3)、解碼速度快。利用利用構造編碼碼表二叉樹的偏置特點,解碼過程中可以有效避免二叉樹全搜索過程,因此可以很容易實現(xiàn)快速實時分組哈夫曼解碼。(4)、方法簡單,實現(xiàn)方便。整個算法只采用整型計算,避免了浮點運算,是一種簡單且有效的熵編碼方法,可以方便的在多個不同版本的開發(fā)平臺上移植。
哈夫曼編碼是一種無損的熵編碼方法,通過對信源分布特性進行統(tǒng)計,針對不同系數(shù)的特征,定義相應的碼表,盡量將出現(xiàn)概率高的碼字分配的比特數(shù)少,將出現(xiàn)概率低的碼字分配的比特數(shù)多。同時,哈夫曼編碼是最佳的整數(shù)非失真熵編碼算法,這是因為找不到一個其它整數(shù)長度的變長編碼,能夠產(chǎn)生更小的平均碼長。當?shù)玫叫旁粗杏邢迋€符號及其概率后,哈夫曼編碼可以產(chǎn)生最佳整數(shù)前綴碼。在前綴碼中,沒有一個碼字是另一個碼字的前綴,因此對于給定的一個二進制串只能用一種方法翻譯,這樣的碼字是唯一可解碼的。
對壓縮后的數(shù)據(jù)文件進行解碼則必須借助于哈夫曼樹T,一般解碼算法的過程是依次讀入文件的二進制碼,從哈夫曼樹的根結(jié)點出發(fā),若當前讀人0,則走向左孩子(左葉子),否則走向右孩子(右葉子)。一旦到達某一葉子時便譯出相應的意義。然后重新從根出發(fā)繼續(xù)譯碼,直至文件結(jié)束。本發(fā)明的快速解碼算法其搜索判斷過程主要分為三個步驟首先以最長碼字讀入緩存一段碼字,然后根據(jù)內(nèi)容模型選擇相應碼表,最后根據(jù)讀入碼字的值的大小判斷該碼字屬于哪一組碼表,確定解碼碼表后就可以根據(jù)碼表定義立刻得到碼字的解釋結(jié)果。因為每個分組包含的符號較少,所以可以在去除了分組信息之后,從剩下的信息位中直接得到符號在表中對應的位置。
本發(fā)明的有益效果主要表現(xiàn)在1、借助于改進的哈夫曼算法,實現(xiàn)了手寫短信編碼和解碼方法,實現(xiàn)了手寫黑白短信功能;2、所用的編碼是唯一的,保證了碼字的完備性,即對任何一串碼,都只能譯出同一個圖形(碼流),不會產(chǎn)生歧義;3、所用的快速解碼算法能保證解碼能有較快的速度;4、手寫短信是極有個性的手寫內(nèi)容,可以為用戶傳遞特殊的感情。
圖1是手寫短信壓縮系統(tǒng)的示意圖。
圖2是本發(fā)明的改經(jīng)的哈夫曼二叉樹的示意圖。
圖3是實施例1的編碼過程某一行象素的實例。
圖4是實施例1的編碼過程另一行象素的實例。
圖5是完成一次解碼的算法流程圖。
圖6是對一組碼流數(shù)據(jù)解碼的流程圖。
圖7是本發(fā)明的終端的結(jié)構框圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步描述。
實施例1參照圖2、圖3,手寫短信編碼中采用的二叉樹通過大量實驗結(jié)果的測試和統(tǒng)計數(shù)據(jù)的分析,在充分考慮數(shù)據(jù)壓縮效率的同時,并且結(jié)合分組哈夫曼解碼的要求,本文給出了一棵種性能優(yōu)異的二叉樹。
本發(fā)明的編碼方法為對于所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值,按照哈夫曼碼表對每一行的黑色象素、白色象素按照其游程值依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹。對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<行寬<2n設定層數(shù)為12,得到游程從1-2n的黑色象素、白色象素標準碼表。
如圖2所示,其對應的哈夫曼碼表數(shù)據(jù)由表1給出。圖2中分支上的每一個末端都稱為一個葉子。參照表1,
表1對于編碼圖像中的任意一行中的任意點均可能是白點或者黑點,如圖3所示,對于每行為120(假設)的一行象素(選擇碼表最大游程為128),白色框代表當前為白色象素,帶有叉行標志的代表當前為黑色象素,這樣可以得到黑、白象素的游程值,該行的特點充分體現(xiàn)了手寫短信圖像中黑白象素的分布情況,即黑象素分布和筆調(diào)的粗細都不均勻。采用本文提出的二叉樹編碼樹即可實現(xiàn)編碼,圖3中最開始是兩個白色象素。則查表1得到2個白色象素對應的編碼位00101,接下來的是3個黑色象素,同樣查表1得到編碼為00111,依次類推,得到所有的該行的編碼。中間結(jié)果由表2給出,參見表2
表2得到圖3的碼流,即最后的結(jié)果為0010 1001 1100 1000 0101 10010101 0100 0000 0110 1100 0000 1011 0000 1010 0001 10。
同理圖4所示,該行的特點是結(jié)構比較簡單,此類情況經(jīng)常出現(xiàn)在手寫短信圖像的上部和下部。采用本文提出的二叉樹編碼樹即實現(xiàn)編碼,中間結(jié)果由表3給出,參見表3
表3得到圖3的碼流,即最后的結(jié)果為0000 0011 0000 1110 0000 00101000 0011 1000 0110。
對于編碼過程中舉出的兩個例子,其快速哈夫曼機解碼的過程為參照圖5、圖6,經(jīng)短信接收裝置接收手寫短信,對接收到的碼流數(shù)據(jù)進行解碼,該解碼步驟為第一步、確定定長碼字N,N=16;第二步、從哈夫曼碼表即表1,根據(jù)碼值大小分成四組的分組碼表,并設定相應的分組碼表對應的碼長比較值;第一分組碼表參見表4
表4第二分組碼表參見表5
表5第三分組碼表參見表6
表6第四分組碼表參見表7
表7確定碼長比較值L1,L2,L3,L4的值由于圖5、圖6中“以定長碼字讀取碼流數(shù)據(jù)”,在本實施方案中取2個字節(jié),即16bit(位)。碼表1中每一個編碼碼長都小于等于12位,而讀得的數(shù)位16位,在圖5、6中數(shù)值比較是基于16位的,所以應該確定L1,L2,L3,L4。
確定L1可以看出表4(第一分組碼表)中的碼長均為12,即12位。而且碼長(位bit)為12的16個碼中,其值最大的一個是00000001 1111,見表1中游程64黑所對應的碼值。又因為表4中的任何一般碼都以零開始。所以,補充到16位后,以表4中的任何一個碼開始的16位數(shù)據(jù)的值必將小于等于0000 0001 1111 1111 B(二進制),即01FFH,(十六進制),即511D(十進制)。因此確定L1為整數(shù)512。(為了保險起見,比最大值大1,下同)確定L2同樣的,表5(第二分組碼表)的碼長均為10位。其最大的一個碼值為0000001111,即表1中的游程14白。因此,補充到16位后,以表5中的任何一個碼開始的16位數(shù)據(jù)的值必將小于等于0000 0011 1111 1111 B,即3FFH,即1023D。因此確定L2為整數(shù)1024。
確定L3同樣,表6(第三分組碼表)中的碼長為5~8位,5位中最大的數(shù)為00111,即表1中游程為3的黑。因此,補充到16位后,以表6中的任何一個碼開始的16位數(shù)據(jù)的值必將小于等于0011 11111111 1111 B,即3FFFH,即4095D。因此確定L3為整數(shù)4096。
確定L4同理,表7(第四分組碼表)中的碼長為3,4位。3位中最大的值為011,即表1中的第一個數(shù)。因此,補充到16位后,以表7中的任何一個碼開始的16位數(shù)據(jù)的值必將小于等于0111 11111111 1111 B,即7FFFH,即8191D, 因此確定L4為整數(shù)8192。
以定長碼字N(N=16)讀取碼流數(shù)據(jù)讀取碼流數(shù)據(jù)的前N位碼字,將該碼字的碼值與碼長比較值比較,判斷該碼字屬于哪個分組碼表,從分組碼表中讀取所述碼字對應的游程和象素,所述的碼字為Ki位判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素;判斷是否讀取到碼流數(shù)據(jù)的最末位?如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),返回重復上述單次解碼過程;如果是,結(jié)束整個解碼過程;將解碼游程和象素在觸摸屏上顯示圖像信息。
上述的判斷是否讀取到碼流數(shù)據(jù)的最末位,處理方法如下(1)如果上段中所述的碼流數(shù)據(jù)中剩余的數(shù)據(jù)位數(shù)少于所述的Ki值,則不足部分用若干個“1”補充到16位數(shù)據(jù)。
(2)判斷當前的16位定長碼字的首位是否為“1”。
(I)、如果是1,則說明碼流數(shù)據(jù)到達了最末位,結(jié)束解碼過程。(因為碼表一中每一個碼字都是以“0”起始,如果是“1”,則說明該位是后續(xù)補充的,不屬于原碼流數(shù)據(jù)的數(shù)位。)(II)、如果是“0”,則進入下一步。
(3)返回至單次解碼過程中的判斷碼值部分,繼續(xù)循環(huán)。
參照表8,為圖3所示的編碼的碼流數(shù)據(jù)的解碼過程示意表格
表8參照表9,為圖4所示的編碼的碼流數(shù)據(jù)的解碼過程示意表格
表9實施例2參照圖7,一種具有手寫短信功能的移動通信終端,包括主控模塊1、通信模塊2、人機交互單元3,所述的主控模塊1包括短信息模塊4,所述的人機交互單元3包括觸摸顯示屏5、輸入鍵盤6、耳機和麥克風7,所述的短信息模塊4包括哈夫曼編碼器8,將所述終端的觸摸屏上的手寫圖形或文字按照設定的行數(shù)、列數(shù)分解成象素,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值;按照哈夫曼碼表對每一行的黑色象素、白色象素按照其游程值依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹;所述的編碼器8的輸出與通信模塊2通信連接;所述的通信模塊2與哈夫曼解碼器9的輸入通信連接,所述的解碼器9的輸出連接觸摸顯示屏5;哈夫曼解碼器9,用于將接收到的碼流數(shù)據(jù)進行解碼;所述的解碼器9包括分組碼表設定單元10,用于確定定長碼字N,N為大于或等于哈夫曼二叉樹層數(shù)的整數(shù),且一般為8的倍數(shù),從哈夫曼碼表中,根據(jù)碼值大小分成不少于2組的分組碼表,并設定相應的分組碼表對應的碼長比較值;碼流數(shù)據(jù)讀取單元11,用于根據(jù)讀取的N位碼值與碼長比較值判斷該碼字屬于哪一個分組碼表,讀取所述碼字對應的游程和象素,所述的碼字為Ki位;解碼完成判斷單元12,用于判斷是否讀取到碼流數(shù)據(jù)的最末位,如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),將該N位數(shù)據(jù)送入碼流數(shù)據(jù)讀取單元11;如果是,結(jié)束整個解碼過程。
所述的哈夫曼碼表為對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<行寬<2n,設定層數(shù)為12的碼表。所述的分組碼表設定單元的定長碼字為16位。所述的分組碼表為四組,碼字為12位為第一分組碼表;碼字為10位為第二分組碼表;碼字為8位為第三分組碼表;碼字為3-7位為第四分組碼表;碼長比較值包括L1、L2、L3、L4,L1對應第一分組碼表,碼長比較值L2對應第二分組碼表,碼長比較值L3對應第三分組碼表,碼長比較值L4對應第四分組碼表,L1<L2<L3<L4。所述的碼流數(shù)據(jù)讀取單元11包括第一分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;第二分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;第三分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;第四分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素。
本實施例的手寫短信的編碼過程和解碼過程,參見圖1、圖2、圖3、圖4、圖5、圖6以及表1、表2、表3、表4、表5、表6、表7、表8、表9,和實施例1相同。
權利要求
1.一種移動通信終端手寫短信的實現(xiàn)方法,其特征在于所述的方法包括以下步驟(1)、對于所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值;(2)、按照哈夫曼碼表對每一行的黑色象素、白色象素按照其游程值依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹;(3)、將該碼流數(shù)據(jù)經(jīng)通信模塊發(fā)出;(4)、經(jīng)短信接收裝置接收手寫短信,對接收到的碼流數(shù)據(jù)進行解碼,解碼過程依據(jù)上述哈夫曼碼表,該解碼步驟為(4.1)、確定定長碼字N,N為整數(shù)且N≥碼表的層數(shù);(4.2)、從哈夫曼碼表中,根據(jù)編碼的碼值大小分成不少于2組的分組碼表,并設定相應分組碼表對應的碼長比較值;(4.3)、以定長碼字N讀取碼流數(shù)據(jù)讀取碼流數(shù)據(jù)的前N位碼字,將該碼字的碼值與碼長比較值比較,判斷得到與該碼字對應的分組碼表,從分組碼表中讀取所述碼字對應的游程和象素,所述的碼字為Ki位;(4.4)、判斷是否讀取到碼流數(shù)據(jù)的最末位(4.5)、如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),重復(4.3)-(4.4);如果是,結(jié)束整個解碼過程;(5)、將解碼出的游程和對應的象素在觸摸屏上顯示,得到圖像信息。
2.如權利要求1所述的一種移動通信終端手寫短信的實現(xiàn)方法,其特征在于在所述的(2)中,編碼的方法為對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<列數(shù)<2n得到游程從1-2n的黑色象素、白色象素的碼表。
3.如權利要求2所述的一種移動通信終端手寫短信的實現(xiàn)方法,其特征在于在所述的(2)中,設定碼表的層數(shù)為12;所述的(4.1)中,定長碼字為16位。
4.如權利要求3所述的一種移動通信終端手寫短信的實現(xiàn)方法,其特征在于所述的(4.2)中,將哈夫曼碼表對應到四組分組碼表的方法為按照碼字的位數(shù),將碼字為12位分為第一分組碼表;將編碼為10位的分為第二分組碼表;將編碼為8位分為第三分組碼表;將編碼位3-7位分為第四分組碼表;得到碼長比較值的方法為將所述的碼字位數(shù)補充到16位,按照編碼的二進制值大小得到最大值,即得到碼長比較值L1、L2、L3、L4,L1對應第一分組碼表,L2對應第二分組碼表,L3對應第三分組碼表,L4對應第四分組碼表,L1<L2<L3<L4;所述的(4.3)中,以定長碼字N讀取碼流數(shù)據(jù)的方法為(4.3.1)、判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.2)、判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.3)、判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;否則進入下一步;(4.3.4)、判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素;否則進入(4.4)。
5.一種具有如權利要求1所述的手寫短信功能的移動通信終端,包括主控模塊、通信模塊、人機交互單元,所述的主控模塊包括短信息模塊,所述的人機交互單元包括觸摸顯示屏、輸入鍵盤、耳機和麥克風,其特征在于所述的短信息模塊包括哈夫曼編碼器,用于對所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值,按照哈夫曼碼表對每一行的黑色象素、白色象素依次進行編碼,該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹,得到碼流數(shù)據(jù);所述的編碼器的輸出與通信模塊通信連接;所述的通信模塊與哈夫曼解碼器的輸入通信連接,所述的解碼器的輸出連接觸摸顯示屏;哈夫曼解碼器,用于將接收到的碼流數(shù)據(jù)進行解碼;所述的解碼器包括分組碼表設定單元,用于確定定長碼字N,N為整數(shù)且N≥碼表的層數(shù),從哈夫曼碼表中,根據(jù)碼值大小分成不少于2組的分組碼表,并設定相應的分組碼表對應的碼長比較值;碼流數(shù)據(jù)讀取單元,用于根據(jù)讀取的N位碼值與碼長比較值判斷該碼字屬于哪一個分組碼表,讀取所述碼字對應的游程和象素,所述的碼字為Ki位;解碼完成判斷單元,用于判斷是否讀取到碼流數(shù)據(jù)的最末位,如果不是,將本次解碼剩余的N-Ki數(shù)據(jù)和在碼流數(shù)據(jù)中緊接的Ki位數(shù)據(jù)組合成N位的數(shù)據(jù),將該N位數(shù)據(jù)送入碼流數(shù)據(jù)讀取單元;如果是,結(jié)束解碼過程。
6.如權利要求5所述的一種具有手寫短信功能的移動通信終端,其特征在于所述的哈夫曼碼表為對游程為1-2n的黑色象素、白色象素進行編碼,2n-1<列數(shù)<2n。
7.如權利要求6所述的一種具有手寫短信功能的移動通信終端,其特征在于所述的哈夫曼碼表的層數(shù)為12層,所述的分組碼表設定單元的定長碼字為16位。
8.如權利要求7所述的一種具有手寫短信功能的移動通信終端,其特征在于所述的分組碼表為四組,碼字為12位為第一分組碼表;碼字為10位為第二分組碼表;碼字為8位為第三分組碼表;碼字為3-7位為第四分組碼表;碼長比較值包括L1、L2、L3、L4,L1對應第一分組碼表,碼長比較值L2對應第二分組碼表,碼長比較值L3對應第三分組碼表,碼長比較值L4對應第四分組碼表,L1<L2<L3<L4;所述的碼流數(shù)據(jù)讀取單元包括第一分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L1,如果是,則在第一分組碼表中讀取所述編碼對應的游程和象素;第二分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L2,如果是,則在第二分組碼表中讀取所述編碼對應的游程和象素;第三分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L3,如果是,則在第三分組碼表中讀取所述編碼對應的游程和象素;第四分組碼表判斷讀取單元,用于判斷讀取的N位碼值是否小于L4,如果是,則在第四分組碼表中讀取所述編碼對應的游程和象素。
全文摘要
一種移動通信終端手寫短信的實現(xiàn)方法,所述的方法包括以下步驟(1)對于所述終端的觸摸屏上的手寫圖形或文字,設定每行中連續(xù)黑色象素或白色象素的個數(shù)為對應的游程值;(2)按照哈夫曼碼表對每一行的黑色象素、白色象素依次進行編碼,得到碼流數(shù)據(jù),該碼表對應哈夫曼二叉樹,該二叉樹為具有完全子樹的完全偏置的非完全二叉樹;(3)將該碼流數(shù)據(jù)經(jīng)通信模塊發(fā)出;(4)經(jīng)短信接收裝置接收手寫短信,按照哈夫曼樹對接收到的碼流數(shù)據(jù)進行解碼;(5)將解碼游程和象素在觸摸屏上顯示圖像信息。以及具有所述手寫短信功能的終端。本發(fā)明基于改進的哈夫曼算法,手寫黑白短信的編碼效率高、壓縮律高;且能夠快速解碼。
文檔編號G06T9/00GK1852390SQ200510049638
公開日2006年10月25日 申請日期2005年4月22日 優(yōu)先權日2005年4月22日
發(fā)明者薛全, 趙建東, 黃美成 申請人:杭州波導軟件有限公司