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

具有高壓縮比漢字編碼能力的彩色二維條碼及其編碼、解碼方法

文檔序號:6575774閱讀:220來源:國知局

專利名稱::具有高壓縮比漢字編碼能力的彩色二維條碼及其編碼、解碼方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種二維條碼及其編碼、解碼方法。
背景技術(shù)
:條碼技術(shù)已經(jīng)成為當(dāng)今主要的計算機(jī)自動識別技術(shù)之一,是信息數(shù)據(jù)自動識別、輸入的一種重要方法和手段,廣泛應(yīng)用到工業(yè)、商業(yè)、國防、交通運(yùn)輸、金融、醫(yī)療衛(wèi)生、郵電及辦公室自動化等各個領(lǐng)域,為管理的科學(xué)化和現(xiàn)代化做出了很大貢獻(xiàn)。目前,條碼分為一維條碼和二維條碼。一維條碼一般只在水平方向表達(dá)信息,因此具有信息容量小、只能表示字母和數(shù)字、識別率低和抗干擾能力弱等缺點(diǎn),大大限制了其使用范圍。在20世紀(jì)90年代發(fā)明了二維條碼,二維條碼除了具有一維條碼的優(yōu)點(diǎn)外,在同樣的面積上信息容量是一維條碼的近百倍,具有信息容量大、可靠性高、抗干擾能力強(qiáng)等優(yōu)點(diǎn),二維條碼的出現(xiàn)大大拓寬了條碼的應(yīng)用領(lǐng)域。隨著現(xiàn)代社會爆炸式的信息量增加和條碼應(yīng)用領(lǐng)域的不斷拓展,需要條碼表示的數(shù)據(jù)信息量劇增,對條碼的信息量提出了更高的要求,希望條碼能夠在單位面積上傳載更多的信息。提高條碼信息容量,最簡單和直接的方法是可以采用增大條碼尺寸或增大條碼密度來解決,但是這兩種解決方案都有一定的局限性。增大條碼尺寸需要條碼載體提供更大的印制面積,但是在實(shí)際應(yīng)用的場合中,對條碼的尺寸有很強(qiáng)的限制,例如半導(dǎo)體芯片、計算機(jī)芯片甚至是印有條碼的商品簡介都無法提供足夠的空間來容納條碼,過大的條碼還會影響商品的整體效果。增大條碼密度,受到印制設(shè)備和識讀設(shè)備有更高的精度,成本高,而且增大條碼密度會明顯降低條碼的抗干擾能力和增大條碼識別的難度,極大限制了條碼使用的環(huán)境,這兩種解決方案都受到限制。雖然目前國際上現(xiàn)有的二維條碼標(biāo)準(zhǔn)有兩百多種,比較通用的也有20余種,但是,國內(nèi)使用的二維條碼標(biāo)準(zhǔn)大多源自于國外,并且使用國際條碼標(biāo)準(zhǔn)背后隱藏著非常復(fù)雜的專利許可權(quán)問題。更為重要的是國外的條碼標(biāo)準(zhǔn)大多是針對英文字母和數(shù)字進(jìn)行編碼,盡管大多二維條碼都能表示漢字,但是,缺少專門的漢字編碼模式,對漢字的編碼大多通過漢字內(nèi)碼的編碼方法,這樣導(dǎo)致了漢字編碼的壓縮比極低。當(dāng)前,信息編碼密度較高的DataMatrix條碼,編碼一個漢字需要用兩個字節(jié)共16位,即使對漢字壓縮比最高的QR碼,編碼一個漢字也需要13位。對漢字的壓縮比不高,導(dǎo)致了在等單位模塊大小時,條碼的信息密度降低,單位面積的信息容量減少,嚴(yán)重限制了條碼的使用范圍和應(yīng)用環(huán)境。
發(fā)明內(nèi)容為了克服已有的二維條碼的漢字壓縮比較低、條碼的信息密度低、單位面積的信息容量較少的不足,本發(fā)明提供一種有效提高漢字的壓縮比、增高條碼的信息密度、增大單位面積的信息容量的具有高壓縮比漢字編碼能力的彩色二維條碼及其編碼、解碼方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種具有高壓縮比漢字編碼能力的彩色二維條碼,所述彩色二維條碼的整個條碼圖像由規(guī)則排列的矩形模塊組成,整個條碼圖像包括功能圖像和數(shù)據(jù)區(qū)域,所述功能圖像為彩色二維條碼的四邊,其中,左邊是由不同光學(xué)特征的兩種顏色色塊交替組成,下邊為單一顏色色塊組成,上邊和右邊分別按從左到右、從下到上的順序由不同光學(xué)特征的四色模塊交替組成;所述數(shù)據(jù)區(qū)域?yàn)檎叫蔚闹虚g部分,所述數(shù)據(jù)區(qū)域是由兩條互相垂直的不同光學(xué)特征的兩種顏色模塊交替組成;所述數(shù)據(jù)區(qū)域內(nèi)的碼字排列按照從左到右、從上到下的順序排列。進(jìn)一步,所述數(shù)據(jù)區(qū)域?yàn)樗膫€、十六個或者三十二個,每個數(shù)據(jù)區(qū)域按照從左到右、從上到下的順序排列;在功能圖像中,當(dāng)遇到數(shù)據(jù)區(qū)域交界處,又重新按所述不同光學(xué)特征的四色模塊交替表示。再進(jìn)一步,所述的矩形為正方形。一種具有高壓縮比漢字編碼能力的彩色二維條碼的編碼方法,包括(1)、將源數(shù)據(jù)信息流根據(jù)數(shù)據(jù)信息編碼規(guī)則編碼成六進(jìn)制的數(shù)據(jù)位流,并計算數(shù)據(jù)位流長度,將數(shù)據(jù)位流長度轉(zhuǎn)化為六位六進(jìn)制數(shù)添加到原數(shù)據(jù)位流前組成新的數(shù)據(jù)位流,數(shù)據(jù)位流長度為k;(2)、根據(jù)數(shù)據(jù)位流長度k,選擇數(shù)據(jù)區(qū)域數(shù)據(jù)位流長度大于數(shù)據(jù)位流長度k的最小尺寸的條碼,對于不足固定的數(shù)據(jù)長度部分加入填充字符進(jìn)行補(bǔ)充;(3)、將形成新的數(shù)據(jù)位流按4位組合成一個碼字,根據(jù)Reed-Solomon糾錯算法生成糾錯碼字,將生成的糾錯碼字添加到數(shù)據(jù)碼字之后形成總的數(shù)據(jù)碼字;(4)、將總的數(shù)據(jù)碼字按六進(jìn)制數(shù)轉(zhuǎn)化為對應(yīng)的碼字位流,并用對應(yīng)的顏色模塊進(jìn)行符號表示和添加相應(yīng)的功能圖像,生成最終的條碼圖像。進(jìn)一步,根據(jù)數(shù)據(jù)信息的類型選擇不同的編碼模式,默認(rèn)編碼模式為漢字庫編碼模式,進(jìn)入其他模式需加入模式指示符或標(biāo)示符;數(shù)據(jù)信息的編碼模式共分為漢字庫編碼模式、內(nèi)碼編碼模式、單個ASCII編碼模式,數(shù)字編碼模式和連續(xù)ASCII編碼模式;其中,漢字庫編碼模式將常用漢字按使用頻率從高到低的順序排列,建立漢字編碼庫,采取使用漢字頻率與編碼長度成反比的編碼規(guī)則;漢字使用頻率最高的x個漢字和y個常用標(biāo)點(diǎn)符號,編碼時都將碼值轉(zhuǎn)化為對應(yīng)的b位u進(jìn)制位流表示;將漢字使用頻率次高的z個漢字將碼值轉(zhuǎn)化為對應(yīng)的c位u進(jìn)制位流表示,并在最高位前面添加數(shù)字u,用來區(qū)分編碼數(shù)據(jù)位流長度為b和c的,其中x,y,z為大于l的正整數(shù),u,b,c為大于l的正整數(shù),u為Ncol-l,且b小于c,且x+y《ub,且z+x+y《u、漢字內(nèi)碼編碼模式將高字節(jié)n6^低字節(jié)轉(zhuǎn)化成對應(yīng)的d位u進(jìn)制數(shù)表示,并在編碼前加上對應(yīng)的模式標(biāo)示符作為標(biāo)記,其中u,d為大于l的正整數(shù),u為Ncol-l,且d位u進(jìn)制數(shù)能表示所有內(nèi)碼;在漢字庫編碼模式中自動進(jìn)入漢字內(nèi)碼編碼模式,模式結(jié)束后fi動轉(zhuǎn)入漢字庫編碼模式,其他編碼模式要進(jìn)入內(nèi)碼編碼模式,先轉(zhuǎn)入漢字庫編碼模式;單個ASCII編碼模式將每個ASCII的ASCII碼值轉(zhuǎn)化為對應(yīng)的u進(jìn)制數(shù),不足f位在最高位前添加0補(bǔ)足f位,然后在編碼位流前加入模式指示符;其中,u,f為大于l的正整數(shù),u為Ncol-l,且要求f位u進(jìn)制數(shù)能表示所有ASCII碼值;在漢字庫編碼模式中自動進(jìn)入ASCII編碼模式,模式結(jié)束后fi動轉(zhuǎn)入默認(rèn)的漢字庫編碼模式,其他編碼模式要進(jìn)入ASCII編碼模式,先轉(zhuǎn)入漢字庫編碼模式;數(shù)字編碼模式將輸入的數(shù)字按兩位分為一組,將每組數(shù)據(jù)轉(zhuǎn)換為3位五進(jìn)制數(shù),不足三位在最高位添0補(bǔ)足。如果輸入的數(shù)據(jù)的個數(shù)不是2的倍數(shù),最后一個數(shù)字轉(zhuǎn)換為對應(yīng)2位五進(jìn)制數(shù),不足2位在最高位添0補(bǔ)足;將所有組成五進(jìn)制數(shù)連接起來位流在前面加入對應(yīng)的開始模式指示符和加入結(jié)束模式;多個連續(xù)的ASCII編碼規(guī)則將26個大小寫字母和3個常用標(biāo)點(diǎn)符號逗號、句號和空格這55個ASCII碼組成連續(xù)ASCn編碼的字母表,簡稱集合S;將ASCII碼中剩余的不屬于集合S的73個ASCII碼組成連續(xù)ASCII編碼的非字母表,簡稱集合R;如果遇到兩個連續(xù)字符屬于集合S的字符編碼,將第一個字符*55+第二個字符,轉(zhuǎn)化成對應(yīng)的五位五進(jìn)制數(shù)表示,不足五位的在最高位前加O補(bǔ)足五位,移動兩個字符繼續(xù)編碼剩余的字符;如果第一個字符屬于集合S的字符,但是第二個字符不屬于集合S或者為空,將第一個字符用三位五進(jìn)制數(shù)表示,不足三位的最高位前加O補(bǔ)足三位,移動一個字符繼續(xù)編碼剩余的字符;如果在字符編碼模式中遇到一個不屬于集合S,但是屬于集合R的編碼,將對應(yīng)的碼值轉(zhuǎn)化為對應(yīng)的三位五進(jìn)制數(shù),不足三位的最高位前加O補(bǔ)足三位,并在最高位前加入模式指示符5標(biāo)識,移動一個字符繼續(xù)編碼剩余的字符;將所有處理后的位流數(shù)據(jù)按順序連接起來并在開始處加入模式開始指示符和模式結(jié)朿指示符505;對于漢字的編碼首選漢字庫編碼模式,編碼漢字屬于漢字編碼庫,則采用漢字庫編碼模式編碼;若編碼的漢字不在漢字編碼庫中,則采用內(nèi)碼編碼模式編碼;若編碼的數(shù)據(jù)是連續(xù)的數(shù)字,則采用數(shù)字編碼模式編碼;若編碼的數(shù)據(jù)是多個非連續(xù)數(shù)字的ASCII字符,則采用連續(xù)ASCII編碼模式編碼;若編碼的數(shù)據(jù)是單個ASCII字符,則采用單個ASCII編碼模式編碼。一種具有高壓縮比漢字編碼能力的彩色二維條碼的解碼方法,包括(1)、在將圖像進(jìn)行預(yù)處理,將圖像紅、綠、藍(lán)三通道分別二值化處理;(2)、根據(jù)條碼圖像的功能圖像在紅、綠、藍(lán)色三通道任意一個通道或者結(jié)合任意兩種顏色通道的特征進(jìn)行條碼區(qū)域定位和條碼圖像的校正;如果條碼圖像發(fā)生偏色現(xiàn)象,能夠根據(jù)功能圖像不同光學(xué)特征的交替顏色模塊進(jìn)行偏色校IH;(3)、根據(jù)條碼圖像的功能圖像,將整個條碼圖像的數(shù)據(jù)圖像進(jìn)行碼字分割,將分割的圖像信息轉(zhuǎn)化為對應(yīng)的碼字;(4)、利用Reed-Solomon糾錯算法進(jìn)行檢測校正碼字錯誤;(5)、根據(jù)條碼規(guī)格,刪除對應(yīng)的糾錯碼字,依照不同的編碼模式,將數(shù)據(jù)碼字信息轉(zhuǎn)化為對應(yīng)數(shù)據(jù)信息。本發(fā)明的技術(shù)構(gòu)思為本發(fā)明采用理論與實(shí)踐相結(jié)合的研究方法,對現(xiàn)有國際流行的二維條碼如PDF417、DataMatrix、QR等以及國內(nèi)最新推出一些條碼標(biāo)準(zhǔn)進(jìn)行研究分析,在這些條碼的編解碼技術(shù)基礎(chǔ)上,然后結(jié)合圖形圖像識別技術(shù),將普通的黑白二色條碼擴(kuò)展為彩色二維條碼,由于本文是研究的一種高壓縮比漢字能力的彩色二維條碼,為方便表述,以下稱彩色二維條碼,簡稱彩碼。彩色二維條碼設(shè)計思想在彩色二維條碼的設(shè)計中,將待編碼的數(shù)據(jù)信息編碼轉(zhuǎn)化為與顏色數(shù)n對應(yīng)的n進(jìn)制數(shù)表示方式,然后用不同顏色的模塊分別表示二進(jìn)制數(shù)中對應(yīng)的0,1,2,……,n-1,這樣每個模塊將表示碼字?jǐn)?shù)的n進(jìn)制數(shù)的l位。通過對條碼顏色數(shù)的擴(kuò)展,將大大增加條碼的數(shù)據(jù)信息容量,假設(shè)其他條件不變是,k個模塊的條碼容量將由原來的2k擴(kuò)大為nk??紤]到本發(fā)明設(shè)計的彩色二維條碼的具體應(yīng)用環(huán)境,主要是用于對漢字、英文字母和數(shù)字,以及常用的標(biāo)點(diǎn)符號編碼,其中,編碼數(shù)據(jù)量最大的是中文漢字。鑒于當(dāng)前國內(nèi)外的條碼對中文的編碼壓縮比都極低,在設(shè)計新型彩色二維條碼提高中文的壓縮比是考慮的重點(diǎn)。改進(jìn)普通條碼的對漢字的編碼模式,根據(jù)常用漢字字種數(shù)與語料覆蓋率的變化規(guī)律,為漢字建立漢字編碼庫,將漢字與碼字一一對應(yīng)起來。編碼漢字時根據(jù)漢字編碼庫選擇對應(yīng)的編碼碼值,然后將碼值按照編碼規(guī)則轉(zhuǎn)化為對應(yīng)的位流,這樣可以有效地縮短漢字的編碼長度,提高漢字的編碼壓縮比。彩色二維條碼的主要技術(shù)路線(l)數(shù)據(jù)信息的編碼為了提高漢字編碼的壓縮比,我們把最常用的漢字按使用頻率的高低建立漢字編碼庫,讓漢字和碼值一一對應(yīng),漢字編碼時選擇對應(yīng)的碼值,然后將碼值按照編碼規(guī)則轉(zhuǎn)化為對應(yīng)的數(shù)據(jù)位流,這樣可以有效地縮短編碼長度。對于少量不在漢字編碼庫的非常用漢字,采用內(nèi)碼的編碼方式編碼。對于數(shù)字和字母的編碼,我們可以將多位數(shù)字和字母進(jìn)行聯(lián)合運(yùn)算進(jìn)行編碼,將所有的數(shù)據(jù)信息都編碼成六進(jìn)制數(shù)位流。(2)糾錯碼的生成技術(shù)分析各種二維條碼的糾錯碼技術(shù),Reed-Solomon(簡稱RS碼)糾錯算法是一種比較成熟和有效的糾錯技術(shù),被廣泛應(yīng)用到條碼技術(shù)和通信技術(shù)中。彩色二維條碼的糾錯算法也采用Reed-Solomon糾錯算法生成相應(yīng)的糾錯碼。(3)符號表示學(xué)習(xí)和借鑒DataMatrix條碼的符號表示,分別用黑、白、紅、綠、藍(lán)、黃色的模塊表示對應(yīng)的數(shù)據(jù)信息的數(shù)據(jù)O、1、2、3、4、5。在條碼圖像中加入相應(yīng)用于條碼圖像的定位和畸變校正的功能圖像,功能圖像的設(shè)計時結(jié)合顏色的優(yōu)勢,加入相應(yīng)的顏色信息。彩色二維條碼顏色值的選取彩色圖像分割的一種最基本的方法是根據(jù)RGB彩色模型空間中直接進(jìn)行圖像的分割,該方法簡單直接并且效果好。在RGB模型中黑、白、紅、綠、藍(lán)、黃、青和品紅八種顏色的顏色值相差比較大,相對容易識別,條碼設(shè)計時顏色的選取可以考慮這八種顏色或者其中的幾種顏色??紤]到條碼的數(shù)據(jù)信息對漢字的編碼要求。彩色二維條碼的糾錯算法,采用Reed-Solomon糾錯算法。由于彩色二維條碼使用RS碼的伽羅華域?yàn)镚F(m)(m為質(zhì)數(shù)或者為質(zhì)數(shù)的n次方),即多項(xiàng)式階數(shù)不能高于m,因此,當(dāng)碼字流碼字個數(shù)不超過m的彩色二維條碼二維條碼,可直接使用的Reed-Solomon算法計算糾錯碼字,當(dāng)碼字流中碼字個數(shù)超過時,彩色二維條碼可以采用交叉分塊的算法。采用交叉分塊的算法,主要是考慮到條碼圖像某部分出現(xiàn)不可識別時,把出錯的碼字盡量平攤到每塊糾錯序列,如果出錯的部分全部集中在一塊糾錯序列中,這樣有可能引起該塊無法正確糾錯,從而導(dǎo)致整個條碼無法識別。根據(jù)條碼規(guī)格屬性,又已知糾錯碼碼字的個數(shù)k,就能建立糾錯碼生成多項(xiàng)式g")表示為=(jc-a)(x-a2)(x-a3)...(x-""(1)將新數(shù)據(jù)位流按每四位組成一個碼字,組成原始信息多項(xiàng)式d(x)中的《-i'《-"…'"i'《,《-i為第一個數(shù)據(jù)碼字,"。為最后一個數(shù)據(jù)碼字。建立數(shù)據(jù)碼字多項(xiàng)式d(x)d(x)^c。/+d2/+21(2)根據(jù)糾錯碼計算方式,如式(3):=d(x)mod(3)可以求得糾錯碼多項(xiàng)式e")e(x)=+V2x"+...++e0(4)式(4)中,e"i,V"…ei'eo即為糾錯碼字,其中為第一個糾錯碼字,6。為最后一個糾錯碼字。本發(fā)明的有益效果主要表現(xiàn)在有效提高漢字的壓縮比、增高條碼的信息密度、增大單位面積的信息容量。圖1是彩色二維條碼四數(shù)據(jù)區(qū)域功能圖像。圖2是彩色二維條碼十六數(shù)據(jù)區(qū)域功能圖像。圖3是彩色二維條碼碼字的4個位的排序圖。圖4是彩色二維條碼11X11模塊數(shù)據(jù)排列示意圖。圖5是彩色二維條碼編碼流程示意圖。圖6是彩色二維條碼編碼生成的條碼圖片。圖7是彩色二維條碼的功能圖像在紅、綠、藍(lán)三通道下的圖像,其中圖7(1)為紅色通道下的功能圖像,圖7(2)為綠色通道下的功能圖像,圖7(3)為藍(lán)色通道下的功能圖像。圖8是彩色二維條碼圖像譯碼流程圖。圖9是數(shù)據(jù)位流譯碼成數(shù)據(jù)信息流程圖。具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。實(shí)施例1參照圖1圖4,一種具有高壓縮比漢字編碼能力的彩色二維條碼,所述彩色二維條碼的整個條碼圖像由規(guī)則排列的矩形模塊組成,整個條碼圖像包括功能圖像和數(shù)據(jù)區(qū)域,所述功能圖像為彩色二維條碼的四邊,其中,左邊是由不同光學(xué)特征的兩種顏色色塊交替組成,下邊為單一顏色色塊組成,上邊和右邊分別按從左到右、從下到上的順序由不同光學(xué)特征的四色模塊交替組成;所述數(shù)據(jù)區(qū)域?yàn)檎叫蔚闹虚g部分,所述數(shù)據(jù)區(qū)域是由兩條互相垂直的不同光學(xué)特征的兩種顏色模塊交替組成;所述數(shù)據(jù)區(qū)域內(nèi)的碼字排列按照從左到右、從上到下的順序排列。所述數(shù)據(jù)區(qū)域?yàn)樗膫€、十六個或者三十二個,每個數(shù)據(jù)區(qū)域按照從左到右、從上到下的順序排列;在功能圖像中,當(dāng)遇到數(shù)據(jù)區(qū)域交界處,又重新按所述不同光學(xué)特征的四色模塊交替表示。所述的矩形優(yōu)選為正方形。彩色二維條碼的數(shù)據(jù)區(qū)都是偶數(shù)行和偶數(shù)列,尺寸從9模塊X9模塊到139模塊X139模塊,詳細(xì)尺寸結(jié)構(gòu),請見表1:<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>表1本實(shí)施例的彩色二維條碼的結(jié)構(gòu)圖彩色二維條碼的功能圖像,左邊是黑、綠模塊交替組成,下邊是一條黑色模塊組成,上邊和右邊是分別按從左到右,從下到上的順序由黑、紅、綠、黃四色模塊交替組成,遇到數(shù)據(jù)區(qū)域交界處,又重新按黑、紅、綠、黃四色模塊交替表示,這樣有利于區(qū)分不同的數(shù)據(jù)區(qū)域,上邊和右邊的交點(diǎn)用黑色模塊表示。中間分?jǐn)?shù)據(jù)區(qū)域的直線邊是由兩條互相垂直的黑、紅交替模塊組成。見圖l。彩色二維條碼用黑、白、紅、綠、藍(lán)、黃色的模塊分別表示碼字對應(yīng)的六進(jìn)制數(shù)據(jù)位流的0、1、2、3、4、5。將4個模塊以從左到右、從下到上的順序構(gòu)成一個碼字,l表示4位六進(jìn)制的碼字的最高位,4表示最低位,見圖3。彩色二維條碼的整體圖像呈正方形,因?yàn)槊總€碼字的圖像排列也都是規(guī)則的正方形,所以不會存在條碼圖像在邊界及四個角處放置的符號不規(guī)則問題,圖像排列非常簡單。整個條碼圖像被功能圖像劃分多數(shù)據(jù)區(qū)域,各個數(shù)據(jù)區(qū)域按照從左到右,從下到上的順序編號。每個數(shù)據(jù)區(qū)域的碼字的排列也按照從左到右,從下到上的順序排列。在彩色二維條碼11X11模塊的數(shù)據(jù)排列見圖4,其他模塊的數(shù)據(jù)排列也類似。彩色二維條碼整個條碼圖像由數(shù)據(jù)區(qū)域和35X35模塊的條碼尺寸的條碼圖像見圖5,其他條碼的圖像也類似。彩色二維條碼的顏色所述的高壓縮比彩色二維條碼顏色值選取黑、白、紅、綠、藍(lán)和黃六種顏色,數(shù)據(jù)信息編碼時對應(yīng)的數(shù)據(jù)位流的值分別為0至5。信息容量信息存儲容量的大小是衡量二維條碼性能的一個非常重要的指標(biāo)。在條碼中加入顏色信息能大大提高條碼的信息容量,即使不改變其他任何編碼規(guī)則,在原有的編碼機(jī)制上引入顏色,就能擴(kuò)大條碼的信息容量。上述設(shè)計的彩色—維條碼不僅充分利用色彩的優(yōu)勢,并且通過改變數(shù)據(jù)信息的編碼規(guī)則,尤其是通過優(yōu)化對漢字編碼的優(yōu)化,大大提卨了條碼的信息容量,也就是對漢字的信息容量是DataMatrix條碼的信息容量的3倍到4倍。對數(shù)字,字母的容量也都較黑白二色的DataMatrix條碼有所提高。所述的彩色二維條碼對漢字的編碼容量取決于編碼的具體數(shù)據(jù)信息,在理想情況下,假設(shè)漢字編碼長度全部為4位,則該條碼漢字的最大編碼容量可以達(dá)3202個;在通常情況下,漢字的編碼容量也能到達(dá)2920個;在最壞的情況下,漢字全部為使用頻率很低的漢字,都采用內(nèi)碼模式編碼,這種情況在實(shí)際應(yīng)用中的可能性幾乎零,這時漢字的最大編碼容量也能達(dá)到1424個,仍然卨于同等糾錯碼字?jǐn)?shù)比例的DataMatrix碼、QR碼等普通黑白二色條碼不少。在同等糾錯碼碼字含量比例情況下,本文設(shè)計的彩色二維條碼對漢字編碼的最大信總?cè)萘渴荄ataMatrix、QR的3倍多,甚至4倍,對字母和數(shù)字的容量也多達(dá)2倍多,與PDF417的編碼容量相比編碼容量增加更多。本文設(shè)計的彩色二維條碼與目前世界上應(yīng)用最廣泛的PDF417、DataMatrix和QR的三大普通的黑白二色二維條碼信息容量比較見表6:<table>tableseeoriginaldocumentpage12</column></row><table>表6數(shù)據(jù)信息壓縮比數(shù)據(jù)信息的壓縮比,也是衡量條碼性能的一個非常重要的指標(biāo)。數(shù)據(jù)信息壓縮比的高低,體現(xiàn)了條碼編碼效率的高低,是影響條碼數(shù)據(jù)信息密度高低的一個重要因素。所述的彩色二維條碼,對漢字擁有高壓縮比,表示一個漢字平均只需要4.4位,比普通的黑白二色的DataMatrix、QR條碼提高了近3倍。對字母和數(shù)字的壓縮比也提高了l倍多。所述的彩色二維條碼與DataMatrix、QR碼的壓縮比比較如表7所示<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>表7。實(shí)施例2參照圖5、圖6和圖7,一種具有高壓縮比漢字編碼能力的彩色二維條碼的編碼方法,包括(1)、將源數(shù)據(jù)信息流根據(jù)數(shù)據(jù)信息編碼規(guī)則編碼成六進(jìn)制的數(shù)據(jù)位流,并計算數(shù)據(jù)位流長度,將數(shù)據(jù)位流長度轉(zhuǎn)化為六位六進(jìn)制數(shù)添加到原數(shù)據(jù)位流前組成新的數(shù)據(jù)位流,數(shù)據(jù)位流長度為k;(2)、根據(jù)數(shù)據(jù)位流長度k,選擇數(shù)據(jù)區(qū)域數(shù)據(jù)位流長度大于數(shù)據(jù)位流長度k的最小尺寸的條碼,對于不足固定的數(shù)據(jù)長度部分加入填充字符進(jìn)行補(bǔ)充;(3)、將形成新的數(shù)據(jù)位流按4位組合成一個碼字,根據(jù)Reed-Solomon糾錯算法生成糾錯碼字,將生成的糾錯碼字添加到數(shù)據(jù)碼字之后形成總的數(shù)據(jù)碼字;(4)、將總的數(shù)據(jù)碼字按六進(jìn)制數(shù)轉(zhuǎn)化為對應(yīng)的碼字位流,并用對應(yīng)的顏色模塊進(jìn)行符號表示和添加相應(yīng)的功能圖像,生成最終的條碼圖像。本實(shí)施例的彩色二維條碼的編碼流程示意圖如圖5所示。數(shù)據(jù)信息編碼分析輸入數(shù)據(jù)信息,根據(jù)數(shù)據(jù)信息的類型進(jìn)行分類,然后選擇不同的編碼模式,讓編碼后的數(shù)據(jù)位流長度盡可能短,本條碼默認(rèn)的編碼模式為漢字庫編碼模式。如果需要編碼的字符是漢字,并且屬于漢字編碼庫,則采用漢字庫編碼模式編碼;如果編碼的漢字不在漢字編碼庫中,則采用內(nèi)碼編碼模式編碼;如果編碼的數(shù)據(jù)是連續(xù)的數(shù)字,采用數(shù)字編碼模式編碼;如果編碼的數(shù)據(jù)是多個非連續(xù)數(shù)字的ASCII字符,采用連續(xù)ASCII編碼模式編碼;如果編碼的數(shù)據(jù)是單個ASCII字符,采用單個ASCII編碼模式編碼。1、漢字庫編碼模式漢字是本發(fā)明的條碼編碼的主要數(shù)據(jù)信息,對漢字的編碼也是本條碼研究和設(shè)計的重點(diǎn)和特色,漢字庫編碼模式是本條碼的默認(rèn)編碼方式。根據(jù)漢字語料的覆蓋情況,漢字字種數(shù)大于2500,語料的覆蓋率超過99.2%,覆蓋率非常高,并且字種數(shù)一旦超過3500后,語料覆蓋率隨字種數(shù)的增長速度非常緩慢。因此,彩色二維條碼的編碼漢字庫的編碼范圍設(shè)計在2500到3500左右最,此時語料的覆蓋率和編碼性價比較高,對于剩余一些使用頻率較低的非常用漢字我們可以采用內(nèi)碼編碼模式進(jìn)行補(bǔ)充編碼。經(jīng)計算采用五色五模塊組成一個碼字的編碼范圍滿足條件,編碼范圍為0至3124,語料的覆蓋率大約為99.7%,則對應(yīng)數(shù)據(jù)位流每位的值分別為O、1、2、3、4。漢字編碼時采取漢字使用頻率高的漢字編碼長度盡量短,使用頻率低的漢字編碼稍長這一原則。首先根據(jù)漢字的使用頻度高低建立漢字編碼庫。將漢字按照使用頻率從高到低排序,漢字使用頻率最高的600個漢字對應(yīng)編碼碼值為0至599,然后將使用頻率最高的25個常用標(biāo)點(diǎn)符號對應(yīng)碼值600至624,編碼時都將碼值轉(zhuǎn)化為對應(yīng)的四位五進(jìn)制位流表示;漢字使用頻率次卨的2500個漢字對應(yīng)碼值625至3124,編碼時將碼值轉(zhuǎn)化為對應(yīng)的五位五進(jìn)制位流表示,并在最高位前面添加數(shù)字5,用來區(qū)分編碼數(shù)據(jù)位流長度四位和五位的,所以編碼數(shù)據(jù)位流長度為四位的編碼模式,我們稱為四位漢字編碼模式,編碼碼字為五位的編碼模式,我們稱為六位漢字編碼模式,詳細(xì)的漢字編碼庫見表2。例如對漢字"條碼"編碼,得到"條"和"碼"對應(yīng)碼值分別為188,1329,然后將碼值轉(zhuǎn)化為對應(yīng)的五進(jìn)制數(shù)并添加指示符為1223,520304,最后編碼的數(shù)據(jù)位流為1223520304。2、內(nèi)碼編碼模式內(nèi)碼編碼模式是對漢字庫編碼模式的補(bǔ)充,對于少量沒有在漢字編碼庫中的部分低頻漢字的編碼采用內(nèi)碼編碼模式。在計算機(jī)中,內(nèi)碼用雙字節(jié)表示,范圍為8140-FEFE,首字節(jié)在81-FE之間,尾字節(jié)在40-FE之間。內(nèi)碼編碼模式的編碼規(guī)則將高字節(jié)*162+低字節(jié)轉(zhuǎn)化成對應(yīng)的七位五進(jìn)制數(shù)表示。編碼范圍為20776至65278,對應(yīng)的五進(jìn)制數(shù)為1131101至4042103,在編碼前加上50作為標(biāo)記,總共編碼長度為九位。在漢字庫編碼模式中自動進(jìn)入內(nèi)碼編碼模式,模式結(jié)束后自動轉(zhuǎn)入默認(rèn)的漢字庫編碼模式,其他編碼模式要進(jìn)入內(nèi)碼編碼模式,須先轉(zhuǎn)入漢字庫編碼模式。例如編碼漢字"嗓",內(nèi)碼值C9A4,碼值十進(jìn)制數(shù)表示為51620,通過內(nèi)碼編碼模式編碼成數(shù)據(jù)位流為503122440。3、單個ASCII的編碼模式ASCII碼表中共128個ASCII碼,最大的ASCII碼值需要用四位五進(jìn)制數(shù)表示。用每個ASCII碼的ASCII碼值作為編碼的碼值,編碼范圍用五進(jìn)制數(shù)表示為0000至1002。具體的編碼規(guī)則將每個ASCII的ASCII碼值轉(zhuǎn)化為對應(yīng)的五進(jìn)制數(shù),不足四位在最高位甜添加0補(bǔ)足四位,然后在編碼位流前加入模式指示符50,單個ASCII碼編碼長度為六位。在漢字庫編碼模式中自動進(jìn)入ASCII編碼模式,模式結(jié)束后自動轉(zhuǎn)入默認(rèn)的漢字庫編碼模式,其他編碼模式要進(jìn)入ASCII編碼模式,先轉(zhuǎn)入漢字庫編碼模式。例如對字符A編碼,字符A的ASCII值為65,轉(zhuǎn)化為四位五進(jìn)制數(shù)為0230,最后加入指示符后編碼的數(shù)據(jù)位流為500230。4、數(shù)字編碼模式對于連續(xù)多位數(shù)字的編碼,如果采用單個ASCII編碼,編碼的效率將非常低,于是設(shè)計一種專門針對連續(xù)多位數(shù)字的編碼模式。編碼規(guī)則將輸入的數(shù)據(jù)每兩位分為一組,將每組數(shù)據(jù)轉(zhuǎn)換為3位五進(jìn)制數(shù),不足三位在最高位添O補(bǔ)足。如果輸入的數(shù)據(jù)的個數(shù)不是2的倍數(shù),最后一個數(shù)字轉(zhuǎn)換為對應(yīng)2位五進(jìn)制數(shù),不足2位在最高位添0補(bǔ)足。將所有組成五進(jìn)制數(shù)連接起來位流在前面加入模式指示符515,加入結(jié)束模式指示符5。例如輸入數(shù)據(jù):012345678,編碼后數(shù)據(jù)為515001043140232135。表2為漢字編碼庫編碼表<table>tableseeoriginaldocumentpage15</column></row><table>表2<table>tableseeoriginaldocumentpage16</column></row><table><table>tableseeoriginaldocumentpage17</column></row><table>碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字1062林1104裁1146烏1188井1230沉1272宋1314諸1356彈1398藍(lán)1063趙1105慮1147坐1189凡1231端1273泉1315伃1357殖1399燒1064賓1106肉148雪1190辰1232床1274杯1316頂1358秩1400觸1065異1107啟1149戲1191峰1233絡(luò)1275渡1317祥1359憑1401陜1066伊l雨麗1150背1192壞1234疆1276嗎1318謂1360撥1402拖1067智■露1151塔1193傾1235縮1277奉13191361幸1403伯1068鐘1110魯1152翻1194距1236腳1278婚1320番1362洞1404盲1069鍵1111秋1153沈1195壯1237甘1279赴1321敏1363偽1405憲1070輝1112昌1]54遺1196驚1238貼1280'暨、1322旦1364溝1406凈1071躍1113估1155聚1197盤1239勒1281±卜1323勁1365姓1407盧1072冷1114射1156渠1198梁1240荒1282掉1324繳1366遭1408炭1073倒川5冊1157哥1199擺1241唐1283潔1325麻1367涌1409苯著1074莊1116若1158享1200徑1242靜1284亡1326屋1368陶1410秦1075毒1117寬1159跡1201忠1243緩1285洛1327跳1369遷1411粉1076儀1118厚1160森1202冰1244侵1286l由抖,.1328碼1370諾1412妻1077哪1119盾1161遼1203峽1245句1287蔬1329鞋1371拔1413爆1078涉1120硬1162衡1204丹1246尊1288混1330扣1372暢1414欣1079泛1121末1163掌1205避1247塑1289摩1331邁1373憂1415釋10801122軌1164牧1206珍1248肅1290抽1332忙1374胞1416玩腿鵬1123飲1165附1207乘1249怕1291雞1333趣1375丁1417俊1082歸1124勤1166操1208刑1250耕1292劑1334盈1376蓄1418欠1083崗1125茶1167趕1209扎1251痛1293膽1335棋1377貝1419蛋1084雷1126詩1168覽1210透1252援1294麥1336勃1378舍1420猛1085禮1127鄭1169野1211迫1253劣1295謀1337敬1379騰1421迪1086尤1128冠1170盟1212箱1254伙1296雅1338輯1380殺1422苗1087休1129漲1171殊1213美1255挑1297廢1339攤1381煌1423暫1088泰1130餼麻1172仁1214跑1256洗1298賀1340旺1382圓1424貌1089疾1131泥1173錯1215穿1257暴1299羊1341糾1383倫1425遵090肥1132唱1174薩1216祝1258冬1300闊1342煉1384橫1426錫腿珠1133純1175奪1217乏1259齡1301唯1343夢1385薄1427楚1092叫1134坡1176梅1218廈1260喬1302捐1344偏1386畜1428桂1093牛1135熟1177誤1219漸1261餐1303返1345漁1387毫1429昆1094宜1136浙1178詞1220軟12621304隆1346牙1388豪1430皇1095抵1137曉1179董1221詢1263廉1305窮1347僑1389弟1431杜1096掛1138搶1180潛1222折1264跟1306辛1348黎1390呈1432醒1097尋1139絲1181巻1223浪1265陣1307豬1349賠1391佛1433燃1098父1140錦1182矛1224朋1266伐1308帳1350裕1392邦1434風(fēng)1099攻1141載1183腐1225敢1267悉1309飾1351宮1393你1435截1100佳1142笑1184亮1226誠12681310郭1352谷1394黑歪1436鋪1101塞1143勇1185冒1227弱1269閉1311頒1353概1395徽1437液1102架1144木(、、、11861228疑1270奔1312燈1354輛1396慣1438撤簡符11451187旗1229邀1271恢1313繞1355柱1397循1439膠18<table>tableseeoriginaldocumentpage19</column></row><table><table>tableseeoriginaldocumentpage20</column></row><table>碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字碼值漢字2196焊2238獅2280瘦2322滌2364怒2406恭2448醇24卯歉2532明2197鈔2239隧2281擋2323挫2365獸2407帷2449菱2491逸2533匠2198烤2240彎2282昏2324佐2366澆2408凰2450彪2492歪2534扔2199廖2241胃2283鵝2325瞄2367肇2409椒2451躺2493巍2535醬2200貓2242沛2284湛2326攔2368鄂2410汝2452摔2494萃2536蔥2201獄2243券2285邏2327硫2369溶2411瞬2453膀2495崖2537礁2202腔2244琳2286蟲下2328棒2370哄2412淄2454甫2496窟2538摻2203喻2245疼2287沂2329杏2371棵2413艙2455遜2497踢2539雀2204御2246蠶2288辱2330爽2372盯2414饋2456湊2498鑼2540髓22052247潑2289叉2331碳2373梨2415樁2457淵2499萎2541悼2206坎2248磷2290鼻2332畔2374灶2416炬2458喂2500廬2542擎2207魔2249捧2291廚2333'熙2375屯24172459藤2501剖2543蔚2208刮2250炳2292鮑2334襄2376狹2418卜2460石匝2502籽2544楓2209瘤2251繡2293鞭2335禍2377陋2419麟2461悔2503甩2545庚2210茫2252朵2294辣2336乾2378啡2420豈2462杉2504饑2546傘2211竭2253涯2295瀟2337淹2379浸2421兔2463霜2505苑2547似2212莉2254掏2296乓2338臂2380淋2422眠2464厄2506惱2548僵2213鏈2255奎2297肺2339莎2381瀕2423泵2465'忌2507渣2549捆2214淫2256聶2298尹2340辜2382脊2424拐2466桔2508痕2550蒜2215憤2257孜2299頌2341閻2383戚2425肚2467筒2509兀2551溜2216紋2258韻2300邵2342庸2384勉2426匪2468丙2510硅2552傻2217咸2259渾2301瀾2343砍2385膏2427蘆2469臭2511晴2553蔗2218睞2260翔2302桐2344捉2386氨2428匈2470拾2512巢2554謎2219睹2261魄2303鷹2345勾2387墅2429霉2471蕪2513癱2555齋2220褲2262掩2304妨2346壘2388沸2430蜜2472禹2514纏2556蝶2221夸2263斥2305閩2347衍2389挨2431荊2473丸2515隸2557沾2222滴2264敞2306屠2348坤2390蔓2432雁2474蟹2516篩2558悶2223霧2265臘2307畏2349噪2391抄2433窄2475嘛2517穴2559駁2224搜2266愧2308翰2350毯2392芒2434脅伏2476俞2518晝2560耿2225拘2267粘2309塌2351倪2393秉2435枯2477翅2519埠2561槽2226龔2268丑2310亟2352扮2394剎2436仆2478尸2520寵2562布"72227兇2269溉2311寂2353鉛2395饒2437囑2479澄2521肢2563嚇2228茨2270斑2312賂2354遏23%廂2438壺2480罵2522餓2564腎2229傲2271啦2313犬2355哀2397叻B2439-丄諒2481睦2523侖2565芽2230鞍2272柯234聊2356愉2398魁2440哨2482馨2524逮2566栗2231鶴2273諧23]5暨2357瑤2399騷2441肌2483郝2525兢2567朽2232蝕2274烯23162358咬2400縛2442貶24842526趟2568蔭2233頸2275祿2317泄2359嫌2401遂2443疊2485陌2527糕2569榆2234翠2276浴2318漆2360閘2402恨2444稽2486鈞2528妮2570皖2235卉2277澇2319旭2361懇2403躋2445岐2487軒2529邪2571曰2236汁2278鬼2320蕾2362齒2404嫘2446沫2488贓2530抹2572徊2237岡2279薛2321坪2363杠2405辨2447肆2489筍2531俑2573奴21<table>tableseeoriginaldocumentpage22</column></row><table><table>tableseeoriginaldocumentpage23</column></row><table>o14d29s44表3將ASCII碼中剩余的不屬于集合S的73個ASCII碼組成連續(xù)ASCII編碼的非字母表,簡稱集合R,分別對應(yīng)編碼的碼值為0至72,詳細(xì)的編碼碼值參見表4:ASCII碼碼值A(chǔ)SCII碼碼值A(chǔ)SCII碼碼值A(chǔ)SCII碼碼值NUT0DC319、38<57SOH1DC4203958STX2NAK2140>59ETX3SYN22*4160EOT4TB23+42@61ENqCAN24-43t62ACK6EM25/44\63BEL7SUB2604564BS8ESC27146A65HT9FS28247_6610GS29348'67VT11RS3044968FF12US3150169CR13J3265170SO14,'33了5271SI15#34853del72DLE16$35954DCI17%3655DC218&3756表4多個連續(xù)的ASCII編碼規(guī)則如果遇到兩個連續(xù)字符屬于集合S的字符編碼,將第一個字符*55+第二個字符,轉(zhuǎn)化成對應(yīng)的五位五進(jìn)制數(shù)表示,不足五位的在最高位前加0補(bǔ)足五位,移動兩個字符繼續(xù)編碼剩余的字符;如果第一個字符屬于集合S的字符,但是第二個字符不輸入集合S或者為空,將第一個字符用三位五進(jìn)制數(shù)表示,不足三位的最高位前加0補(bǔ)足三位,移動一個字符繼續(xù)編碼剩余的字符;如果在字符編碼模式中遇到一個不屬于集合S,但是屬于集合R的編碼,將對應(yīng)的碼值轉(zhuǎn)化為對應(yīng)的三位五進(jìn)制數(shù),不足三位的最高位前加0補(bǔ)足三位,并在最高位前加入模式指示符5標(biāo)識,移動一個字符繼續(xù)編碼剩余的字符。將所有處理后的位流數(shù)據(jù)按順序連接起來并在開始處加入模式指示符505,加入結(jié)束模式指示符505。例如輸入數(shù)據(jù)AcXdj9BH,h.,編碼后為5050010320134120520400152200322324434505。糾錯編碼的生成將數(shù)據(jù)信息編碼成數(shù)據(jù)位流,并統(tǒng)計數(shù)據(jù)位流長度,將其轉(zhuǎn)化為對應(yīng)的六位五進(jìn)制數(shù)表示,不足六位在最高位添o補(bǔ)足,在原數(shù)據(jù)位流前添加數(shù)據(jù)位流長度信24息組成新的數(shù)據(jù)位流。根據(jù)彩色二維條碼的條碼規(guī)格屬性參見表1,選擇數(shù)據(jù)區(qū)域數(shù)據(jù)碼字長度的4倍大于新數(shù)據(jù)位流長度最小尺寸的條碼規(guī)格,對于不足條碼規(guī)格中固定的數(shù)據(jù)長度4倍的部分,隨機(jī)生成0至5的數(shù)據(jù)填充。彩色二維條碼的糾錯算法,釆用Reed-Solomon糾錯算法。RS碼是基于有限域理論,因此,確定GF(q)中q和本原元a是RS碼編碼的關(guān)鍵。在GF(q)中q是質(zhì)數(shù),并且q必須滿足兩個條件(1)q必須大于或等于最大的編碼值,最大的編碼值是按照數(shù)據(jù)信息編碼規(guī)則,將n位長度數(shù)據(jù)位流組合并按六進(jìn)制數(shù)轉(zhuǎn)化的最大碼值,否則GF(q)不能組成一個循環(huán)群。(2)q又必須小于或等丁n位六進(jìn)制數(shù),否則q轉(zhuǎn)化為六進(jìn)制數(shù)將超過n位,將導(dǎo)致碼字組合混亂。經(jīng)計算,當(dāng)n=4,根據(jù)編碼規(guī)則最大四位編碼位流為5544,則最大的編碼碼值為1288,最大的四位六進(jìn)制為1295,存在質(zhì)數(shù)1291滿足上述兩條件,因此,q取值為1291,經(jīng)計算GF(1291)的本原元a為2,彩色二維條碼每四位結(jié)合在一起組成一個碼字,把整個數(shù)據(jù)位流轉(zhuǎn)化為對應(yīng)的碼字流。彩色二維條碼添加糾錯碼之前,首先是根據(jù)彩色二維條碼的規(guī)格屬性表1選定條碼尺寸。選定條碼尺寸的最優(yōu)原則是選定大于或者等于數(shù)據(jù)信息編碼個數(shù)的最小條碼尺寸,如果實(shí)際數(shù)據(jù)信息編碼的個數(shù)小于表格中規(guī)定的數(shù)據(jù)信息編碼個數(shù),不足的碼字?jǐn)?shù)按照編碼方法提到的在相應(yīng)位置處添加填充碼字填滿。彩色二維條碼的糾錯碼生成算法采用Reed-Solomon糾錯碼的生成算法。由于彩色二維條碼使用RS碼的伽羅華域?yàn)镚F(1291),即多項(xiàng)式階數(shù)不能高于1291,因此,當(dāng)碼字流碼字個數(shù)不超過1291的彩色二維條碼二維條碼(尺寸小于77X77),可直接使用的Reed-Solomon算法計算糾錯碼字,當(dāng)碼字流中碼字個數(shù)超過時,彩色二維條碼就要進(jìn)行分塊。這里采用與DataMatrix交叉分塊的方法。首先將數(shù)據(jù)碼字流分成若干不重復(fù)的塊,每一塊都是從數(shù)據(jù)碼字流中等間隔抽取的子序列,間隔數(shù)即為分塊數(shù)。分別計算每一塊數(shù)據(jù)碼字子序列對應(yīng)的糾錯碼字子序列,在將得到的糾錯碼字子序列按照與數(shù)據(jù)碼字子序列抽取時一樣的順序連接成完整的糾錯碼字流,并置于數(shù)據(jù)碼字流之后組成碼字流。比如尺寸大小為127X127的彩色二維條碼,從表1中可知其數(shù)據(jù)碼字和糾錯碼字?jǐn)?shù)目分別為2576和1024,其交叉分塊數(shù)目為4,即應(yīng)該將數(shù)據(jù)碼字流分成4個子序列分別計算糾錯碼字子序列。詳細(xì)的分塊方式以及糾錯碼字產(chǎn)生見表5,假設(shè)數(shù)據(jù)碼字流為Cl,c2,...,c2576,待產(chǎn)生的糾錯碼字流為el,e2,.,.,e1024。每一個尺寸的條碼的交叉分塊數(shù)可參見表1。采用交叉分塊的算法,主要是考慮到條碼圖像某部分出現(xiàn)不可識別時,把M',錯的碼字盡量平攤到每塊糾錯序列,如果出錯的部分全部集中在一塊糾錯序列中,這樣有可能引起該塊無法正確糾錯,從而導(dǎo)致整個條碼無法識別。交叉分塊數(shù)據(jù)碼字子序列相應(yīng)的糾錯碼字子序列1Gi,C5,Cg,..,C2569,C25736i,6,5,,,6i。i7,610212C2,c6,Cio,■.,C2570,C257462,6tj,,."6|018,6殿23。3,C,Cll,.,C257,C冗75e3,e7,en,…,6i0i9,e隨斗。4,Cs,Ci2,,C2572,C257664,Gg,G!2,,.,Gi020,61024表5將數(shù)據(jù)信息和糾錯碼信息按位轉(zhuǎn)化為對應(yīng)的條碼信息,圖像排列的方式可見條碼圖像結(jié)構(gòu)。實(shí)施例3參照圖8和圖9,一種具有高壓縮比漢字編碼能力的彩色二維條碼的解碼方法,包括(1)、在將圖像進(jìn)行預(yù)處理,將圖像紅、綠、藍(lán)三通道分別二值化處理;(2)、根據(jù)條碼圖像的功能圖像在紅、綠、藍(lán)色三通道任意一個通道或者結(jié)合任意兩種顏色通道的特征進(jìn)行條碼區(qū)域定位和條碼圖像的校正;如果條碼圖像發(fā)生偏色現(xiàn)象,能夠根據(jù)功能圖像不同光學(xué)特征的交替顏色模塊進(jìn)行偏色校正;(3)、根據(jù)條碼圖像的功能圖像,將整個條碼圖像的數(shù)據(jù)圖像進(jìn)行碼字分割,將分割的圖像信息轉(zhuǎn)化為對應(yīng)的碼字;(4)、利用Reed-Solomon糾錯算法進(jìn)行檢測校正碼字錯誤;(5)、根據(jù)條碼規(guī)格,刪除對應(yīng)的糾錯碼字,依照不同的編碼模式,將數(shù)據(jù)碼字信息轉(zhuǎn)化為對應(yīng)數(shù)據(jù)信息。本實(shí)施例的彩色二維條碼的解碼過程為彩色二維條碼的解碼流程是其生成過程的逆過程,二維條碼解碼是條碼領(lǐng)域研究的一個重點(diǎn)和熱門。彩色二維條碼的譯碼流程跟普通的黑白二色二維條碼譯碼的流程大體相同,主要差別在于彩色二維條碼增加了顏色信息,在圖像定位和校正前,需要先進(jìn)行通道分離,詳細(xì)的流程圖見圖8。彩色二維條碼的譯碼流程中圖像預(yù)處理與普通黑白二色二維條碼的方法相同,主要是對圖像進(jìn)行二值化處理,與普通黑白二色二維條碼的主要區(qū)別是RGB三通道分割,然后利用三通道下的三張不同圖片的功能圖像來實(shí)現(xiàn)條碼圖像定位和校正,在這方面甚至優(yōu)越于普通的26黑白二色二維條碼。圖1在紅、綠、藍(lán)色三通道下的圖像分別為圖7中三圖像。彩色二維條碼圖像在藍(lán)色通道下,條碼的四邊都是黑色的實(shí)線模塊組成,這能有利于簡單和快捷地實(shí)現(xiàn)整個條碼圖像地定位;在紅色通道下的功能圖像,與DataMatrix條碼圖像的功能圖像非常相似,DataMatrix的所有條碼圖像定位和校正的方法都可以應(yīng)用于彩色二維條碼圖像定位和校正;綠色通道下的交替模塊的邊界也可以利用在碼字的分割時確定模塊的大小。在三個通道下實(shí)現(xiàn)的圖像的定位和校正的方法和操作都可以移植到整個彩色二維條碼圖像中。這樣就意味著彩色二維條碼圖像比普通的黑白二色二維條碼擁有更多的功能圖像,可以根據(jù)譯碼需要綜合利用三個通道下的功能圖像。普通黑白二維二維條碼的圖像定位和校正的算法都可以用在彩色二維條碼中。彩色二維條碼的碼字分割,主要是是涉及到彩色圖像的分割,彩色圖像的分割研究也逐漸趨于成熟。彩色二維條碼糾錯碼的譯碼算法,采用Reed-Solomon譯碼算法進(jìn)行譯碼。通過RS碼檢測和校正后,根據(jù)不同條碼規(guī)格糾錯碼字固定,刪除糾錯碼字,將每個碼字轉(zhuǎn)化為對應(yīng)的四位六進(jìn)制數(shù)組成信息位流,如果位數(shù)不夠在最高位添0補(bǔ)足四位,將所有的碼字組成字符序列。根據(jù)前六位六進(jìn)制數(shù)表示字符的個數(shù),刪除填充符,得到數(shù)據(jù)位流。根據(jù)不同編碼模式具有不同的模式指示符,每種模式內(nèi)的譯碼方法則是編碼方法的逆過程,數(shù)據(jù)位流譯碼成數(shù)據(jù)信息流程圖如圖9所示。權(quán)利要求1、一種具有高壓縮比漢字編碼能力的彩色二維條碼,其特征在于所述彩色二維條碼的整個條碼圖像由規(guī)則排列的矩形模塊組成,整個條碼圖像包括功能圖像和數(shù)據(jù)區(qū)域,所述功能圖像為彩色二維條碼的四邊,其中,左邊是由不同光學(xué)特征的兩種顏色色塊交替組成,下邊為單一顏色色塊組成,上邊和右邊分別按從左到右、從下到上的順序由不同光學(xué)特征的四色模塊交替組成;所述數(shù)據(jù)區(qū)域?yàn)檎叫蔚闹虚g部分,所述數(shù)據(jù)區(qū)域是由兩條互相垂直的不同光學(xué)特征的兩種顏色模塊交替組成;所述數(shù)據(jù)區(qū)域內(nèi)的碼字排列按照從左到右、從上到下的順序排列。2、如權(quán)利要求1所述的具有高壓縮比漢字編碼能力的彩色二維條碼,其特征在于所述數(shù)據(jù)區(qū)域?yàn)樗膫€、十六個或者三十二個,每個數(shù)據(jù)區(qū)域按照從左到右、從上到下的順序排列;在功能圖像中,當(dāng)遇到數(shù)據(jù)區(qū)域交界處,又重新按所述不同光學(xué)特征的四色模塊交替表示。3、如權(quán)利要求1或2所述的具有高壓縮比漢字編碼能力的彩色二維條碼,其特征在于所述的矩形為正方形。4、一種如權(quán)利要求1所述的具有高壓縮比漢字編碼能力的彩色二維條碼的編碼方法,其特征在于所述編碼方法包括(1)、將源數(shù)據(jù)信息流根據(jù)數(shù)據(jù)信息編碼規(guī)則編碼成六進(jìn)制的數(shù)據(jù)位流,并計算數(shù)據(jù)位流長度,將數(shù)據(jù)位流長度轉(zhuǎn)化為六位六進(jìn)制數(shù)添加到原數(shù)據(jù)位流前組成新的數(shù)據(jù)位流,數(shù)據(jù)位流長度為k;(2)、根據(jù)數(shù)據(jù)位流長度k,選擇數(shù)據(jù)區(qū)域數(shù)據(jù)位流長度大于數(shù)據(jù)位流長度k的最小尺寸的條碼,對于不足固定的數(shù)據(jù)長度部分加入填充字符進(jìn)行補(bǔ)充;(3)、將形成新的數(shù)據(jù)位流按4位組合成一個碼字,根據(jù)Reed-Solomon糾錯算法生成糾錯碼字,將生成的糾錯碼字添加到數(shù)據(jù)碼字之后形成總的數(shù)據(jù)碼字;(4)、將總的數(shù)據(jù)碼字按六進(jìn)制數(shù)轉(zhuǎn)化為對應(yīng)的碼字位流,并用對應(yīng)的顏色模塊進(jìn)行符號表示和添加相應(yīng)的功能圖像,生成最終的條碼圖像。5、如權(quán)利要求4所述的編碼方法,其特征在于根據(jù)數(shù)據(jù)信息的類型選擇不同的編碼模式,默認(rèn)編碼模式為漢字庫編碼模式,進(jìn)入其他模式需加入模式指示符或標(biāo)示符;數(shù)據(jù)信息的編碼模式共分為漢字庫編碼模式、內(nèi)碼編碼模式、單個ASCII編碼模式,數(shù)字編碼模式和連續(xù)ASCn編碼模式;其中,漢字庫編碼模式將常用漢字按使用頻率從高到低的順序排列,建立漢字編碼庫,采取使用漢字頻率與編碼長度成反比的編碼規(guī)則;漢字使用頻率最高的X個漢字和y個常用標(biāo)點(diǎn)符號,編碼時都將碼值轉(zhuǎn)化為對應(yīng)的b位U進(jìn)制位流表示;將漢字使用頻率次高的Z個漢字將碼值轉(zhuǎn)化為對應(yīng)的C位U進(jìn)制位流表示,并在最高位前面添加數(shù)字u,用來區(qū)分編碼數(shù)據(jù)位流長度為b和c的,其中x,y,z為大于l的正整數(shù),u,b,c為大于l的正整數(shù),u為Ncol-l,且b小于c,且x+y《ub,且z+x+y《u、漢字內(nèi)碼編碼模式將高字節(jié)"6^低字節(jié)轉(zhuǎn)化成對應(yīng)的d位U進(jìn)制數(shù)表示,并在編碼前加上對應(yīng)的模式標(biāo)示符作為標(biāo)記,其中u,d為大于l的正整數(shù),u為Ncol-l,且d位U進(jìn)制數(shù)能表示所有內(nèi)碼;在漢字庫編碼模式中自動進(jìn)入漢字內(nèi)碼編碼模式,模式結(jié)束后自動轉(zhuǎn)入漢字庫編碼模式,其他編碼模式要進(jìn)入內(nèi)碼編碼模式,先轉(zhuǎn)入漢字庫編碼模式;單個ASCII編碼模式將每個ASCII的ASCII碼值轉(zhuǎn)化為對應(yīng)的u進(jìn)制數(shù),不足f位在最高位前添加O補(bǔ)足f位,然后在編碼位流前加入模式指示符;其中,u,f為大于1的正整數(shù),u為Ncol-l,且要求f位u進(jìn)制數(shù)能表示所有ASCII碼值;在漢字庫編碼模式中自動進(jìn)入ASCII編碼模式,模式結(jié)束后自動轉(zhuǎn)入默認(rèn)的漢字庫編碼模式,其他編碼模式要進(jìn)入ASCII編碼模式,先轉(zhuǎn)入漢字庫編碼模式;數(shù)字編碼模式將輸入的數(shù)字按兩位分為一組,將每組數(shù)據(jù)轉(zhuǎn)換為3位五進(jìn)制數(shù),不足三位在最高位添0補(bǔ)足。如果輸入的數(shù)據(jù)的個數(shù)不是2的倍數(shù),最后一個數(shù)字轉(zhuǎn)換為對應(yīng)2位五進(jìn)制數(shù),不足2位在最高位添0補(bǔ)足;將所有組成五進(jìn)制數(shù)連接起來位流在前面加入對應(yīng)的開始模式指示符和加入結(jié)束模式;多個連續(xù)的ASCII編碼規(guī)則將26個大小寫字母和3個常用標(biāo)點(diǎn)符號逗號、句號和空格這55個ASCII碼組成連續(xù)ASCII編碼的字母表,簡稱集合S;將ASCII碼中剩余的不屬于集合S的73個ASCII碼組成連續(xù)ASCn編碼的非字母表,簡稱集合R;如果遇到兩個連續(xù)字符屬于集合S的字符編碼,將第一個字符*55+第二個字符,轉(zhuǎn)化成對應(yīng)的五位五進(jìn)制數(shù)表示,不足五位的在最高位前加O補(bǔ)足五位,移動兩個字符繼續(xù)編碼剩余的字符;如果第一個字符屬于集合S的字符,但是第二個字符不屬于集合S或者為空,將第一個字符用三位五進(jìn)制數(shù)表示,不足三位的最高位前加O補(bǔ)足三位,移動一個字符繼續(xù)編碼剩余的字符;如果在字符編碼模式中遇到一個不屬于集合S,但是屬于集合R的編碼,將對應(yīng)的碼值轉(zhuǎn)化為對應(yīng)的三位五進(jìn)制數(shù),不足三位的最高位前加O補(bǔ)足三位,并在最高位前加入模式指示符5標(biāo)識,移動一個字符繼續(xù)編碼剩余的字符;將所有處理后的位流數(shù)據(jù)按順序連接起來并在開始處加入模式開始指示符和模式結(jié)束指示符505;對于漢字的編碼首選漢字庫編碼模式,編碼漢字屬于漢字編碼庫,則采用漢字庫編碼模式編碼;若編碼的漢字不在漢字編碼庫中,則采用內(nèi)碼編碼模式編碼;若編碼的數(shù)據(jù)是連續(xù)的數(shù)字,則采用數(shù)字編碼模式編碼;若編碼的數(shù)據(jù)是多個非連續(xù)數(shù)字的ASCII字符,則采用連續(xù)ASCII編碼模式編碼;若編碼的數(shù)據(jù)是單個ASCII字符,則采用單個ASCII編碼模式編碼。6、一種如權(quán)利要求1所述的具有高壓縮比漢字編碼能力的彩色二維條碼的解碼方法,其特征在于所述解碼方法包括(1)、在將圖像進(jìn)行預(yù)處理,將圖像紅、綠、藍(lán)三通道分別二值化處理;(2)、根據(jù)條碼圖像的功能圖像在紅、綠、藍(lán)色三通道任意一個通道或者結(jié)合任意兩種顏色通道的特征進(jìn)行條碼區(qū)域定位和條碼圖像的校正;如果條碼圖像發(fā)生偏色現(xiàn)象,能夠根據(jù)功能圖像不同光學(xué)特征的交替顏色模塊進(jìn)行偏色校正;(3)、根據(jù)條碼圖像的功能圖像,將整個條碼圖像的數(shù)據(jù)圖像進(jìn)行碼字分割,將分割的圖像信息轉(zhuǎn)化為對應(yīng)的碼字;(4)、利用Reed-Solomon糾錯算法進(jìn)行檢測校正碼字錯誤;(5)、根據(jù)條碼規(guī)格,刪除對應(yīng)的糾錯碼字,依照不同的編碼模式,將數(shù)據(jù)碼字信息轉(zhuǎn)化為對應(yīng)數(shù)據(jù)信息。全文摘要一種具有高壓縮比漢字編碼能力的彩色二維條碼,整個條碼圖像由規(guī)則排列的矩形模塊組成,整個條碼圖像包括功能圖像和數(shù)據(jù)區(qū)域,所述功能圖像為彩色二維條碼的四邊,其中,左邊是由不同光學(xué)特征的兩種顏色色塊交替組成,下邊為單一顏色色塊組成,上邊和右邊分別按從左到右、從下到上的順序由不同光學(xué)特征的四色模塊交替組成;所述數(shù)據(jù)區(qū)域?yàn)檎叫蔚闹虚g部分,所述數(shù)據(jù)區(qū)域是由兩條互相垂直的不同光學(xué)特征的兩種顏色模塊交替組成;所述數(shù)據(jù)區(qū)域內(nèi)的碼字排列按照從左到右、從上到下的順序排列。以及提供了所述彩色二維條碼的編碼和解碼方法。本發(fā)明有效提高漢字的壓縮比、增高條碼的信息密度、增大單位面積的信息容量。文檔編號G06K19/06GK101515335SQ20091009706公開日2009年8月26日申請日期2009年3月30日優(yōu)先權(quán)日2009年3月30日發(fā)明者袁遠(yuǎn)松,趙小敏,鄭河榮申請人:浙江工業(yè)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
宜春市| 石阡县| 禄劝| 富宁县| 黎平县| 安顺市| 威信县| 溧阳市| 阿荣旗| 赤峰市| 巴马| 军事| 句容市| 津市市| 扶绥县| 新密市| 江阴市| 柞水县| 江孜县| 北票市| 连平县| 顺平县| 英德市| 陇南市| 广灵县| 小金县| 曲麻莱县| 运城市| 禹城市| 定兴县| 新巴尔虎左旗| 伊川县| 新宁县| 板桥市| 沙田区| 时尚| 桂东县| 明星| 榕江县| 泗洪县| 马鞍山市|