摘要:二維條碼作為一種新的信息存儲(chǔ)和傳遞技術(shù),具有信息容量大、不依賴于數(shù)據(jù)庫(kù)和計(jì)算機(jī)網(wǎng)絡(luò)、可靠性高、保密防偽性強(qiáng)和易于制作等優(yōu)點(diǎn),在各個(gè)領(lǐng)域有著廣泛的應(yīng)用前景。文章簡(jiǎn)要介紹了二雛條碼的基本概念及其分類,并以PDF417條碼為倒介紹了二維條碼的碼圖結(jié)構(gòu)和編解碼過程。最后介紹了二維條碼在3G中的應(yīng)用方案。
關(guān)鍵詞:二維條碼;PDF417; 手機(jī)二維條碼;3G
0 引言
條碼技術(shù)的發(fā)明給計(jì)算機(jī)賦予了視覺功能,解決了計(jì)算機(jī)快速識(shí)讀數(shù)字信息的困難,為管理的科學(xué)化和現(xiàn)代化做出了很大貢獻(xiàn)。但隨著應(yīng)用領(lǐng)域的不斷擴(kuò)展,一維條碼漸漸表現(xiàn)出了它的局限。首先,一維條碼對(duì)物品信息的描述依賴于預(yù)先建立的計(jì)算機(jī)數(shù)據(jù)庫(kù)或網(wǎng)絡(luò),必須通過連接數(shù)據(jù)庫(kù)的方式提取信息才能明確條碼所表達(dá)的信息含義;其次,一維條碼表達(dá)的只能為字母和數(shù)字,而不能表達(dá)漢字和圖像;另外,在某些場(chǎng)合下,大信息容量的一維條碼通常受到標(biāo)簽尺寸的限制,給產(chǎn)品的包裝和印刷帶來了不便?;谝陨显蚨S條碼技術(shù)應(yīng)運(yùn)而生。
1 二維條碼簡(jiǎn)介
1.1二維條碼的基本概念
二維條碼可以理解為一維條碼在縱向上的疊加,如圖1所示,它用某種特定的幾何圖形按一定規(guī)律在平面上分布的條、空相問的圖形來記錄數(shù)據(jù)符號(hào)信息。在特定的編碼規(guī)則下,二維條碼技術(shù)可以將數(shù)字、文字和圖像等一切可數(shù)字化的數(shù)據(jù)源壓縮成為幾何圖形,而譯碼設(shè)備在讀取此圖形后,根據(jù)適當(dāng)?shù)淖g碼算法,便可將此圖形還原成對(duì)應(yīng)的原始數(shù)據(jù)。
1.2二維條碼的分類
二維條碼可以分為堆疊式二維條碼、矩陣式二維條碼和郵政碼三大類。堆疊式二維條碼形態(tài)上是由多行短截的一維條碼堆疊而成;矩陣式二維條碼以矩陣的形式組成,在矩陣相應(yīng)元素位置上用“點(diǎn)”表示二進(jìn)制“1”,用“空”表示二進(jìn)制“0”,由“點(diǎn)”和“空”的排列組成代碼。郵政碼是通過不同長(zhǎng)度的條進(jìn)行編碼,主要用于郵件編碼。
(1)堆疊式二維條碼
堆疊式二維條碼,又稱行排式、堆積式或?qū)优攀蕉S條碼。圖1中的二維條碼就是一種堆疊式二維條碼。它的識(shí)讀設(shè)備與條碼印刷與一維條碼技術(shù)兼容,但由于行數(shù)的增加,需要對(duì)行進(jìn)行判定,其譯碼算法和軟件也不同于一維條碼。有代表性的堆疊式二維條碼有:Code 16K、Code 49、PDF417等。
(2)矩陣式二維條碼
矩陣式二維條碼,又稱棋盤式二維條碼,它是在一個(gè)矩形空間通過黑白像素在矩陣中的不同分布進(jìn)行編碼。圖2中給出了幾種矩陣式二維條碼的示意圖。在矩陣相應(yīng)元素位置上,用點(diǎn)(方點(diǎn)、圓點(diǎn)或其他形狀)的出現(xiàn)表示二進(jìn)制“1”,點(diǎn)的不出現(xiàn)表示二進(jìn)制的“0”,點(diǎn)的排列組合確定了矩陣式二維條碼所代表的意義。代表性的矩陣式二維條碼有:Code One、MaxiCode、QR Code、Data Matrix等。
二維條碼中,矩陣式比對(duì)堆疊式帶有更高的信息密度,它只能被二維的CCD圖像式閱讀器識(shí)讀,并能以全向的方式掃描。
2 二維條碼編解碼舉例
本文以PDF417為例介紹二維條碼的碼圖結(jié)構(gòu)和編解碼方法。PDF417是—種可通用的便攜式數(shù)據(jù)庫(kù)庫(kù)(Portable Data Files),是一種二維堆疊式的條碼符號(hào)。圖3所示為PDF417符號(hào)的結(jié)構(gòu)示意圖。
PDF417條碼符號(hào)的頂部和底部為空白區(qū),上下空白區(qū)之間為多層結(jié)構(gòu),層數(shù)范圍是3~90。每層構(gòu)成如下:A-空白區(qū);B-起始符;C-終止符;D-左層指示符號(hào)字符;E-右層指示符號(hào)字符;F-1~30個(gè)數(shù)據(jù)和符號(hào)字符。
PDF417每個(gè)數(shù)據(jù)字符包括4個(gè)條和4個(gè)空,每個(gè)條或空由1-6個(gè)模塊組成。一個(gè)數(shù)據(jù)符中的4個(gè)條和空的總模塊數(shù)為17,故名PDF417。每個(gè)數(shù)據(jù)符都以深色模塊開始,以淺色模塊結(jié)束。
PDF4]7的符號(hào)字符集可分為三個(gè)互相獨(dú)立的子集,即三個(gè)簇,每個(gè)簇均有以不同的條空形式表示929個(gè)符號(hào)字符值,即碼字。三個(gè)簇的邏輯簇號(hào)為0,3和6,每層只使用一個(gè)簇中的符號(hào)字符。同一簇每三層重復(fù)一次。第。一層使用0簇符號(hào)字符,第二層使用3簇符號(hào)字符,第四層使用。簇符號(hào)字符,以此類推。對(duì)于—個(gè)給定的符號(hào)字符,其簇號(hào)定義為:簇號(hào)=(b1-b2+b3-b4+9)mod9。b1、b2,b3、b4分別表示從左向右四個(gè)條的模塊數(shù),見圖4。PDF417條碼的這種層編碼規(guī)則能解決閱讀堆疊式二維條碼丟失垂直同步信號(hào)的問題,使譯碼器能利用穿過層的掃描。每一層的指示符號(hào)字符由層號(hào)(i)、符號(hào)層數(shù)(3~90)、每層符號(hào)字符個(gè)數(shù)(1~30)以及糾錯(cuò)等級(jí)(0-8)決定。PDF417中的起始符和終止符是惟一的。
由以上的介紹可以總結(jié)出二維條碼的碼圖結(jié)構(gòu)可以分為兩個(gè)部分:碼圖標(biāo)識(shí)符區(qū)域和數(shù)據(jù)存儲(chǔ)區(qū)域。標(biāo)識(shí)符區(qū)域的作用是用于拍攝或掃描的二維條碼圖形的快速識(shí)別定位。數(shù)據(jù)存儲(chǔ)區(qū)域則用來存放用戶數(shù)據(jù)。一般來說存放的數(shù)據(jù)為二進(jìn)制的“0”、“1”字符串,它們按一定的編碼規(guī)則和糾錯(cuò)算法規(guī)則對(duì)應(yīng)為相應(yīng)的數(shù)字串、西文字符串、中文字符串或者是其它信息。
PDF417條碼在編碼時(shí),首先對(duì)未編碼數(shù)據(jù)進(jìn)行壓縮。有三種數(shù)據(jù)壓縮模式:文本壓縮模式TC、字節(jié)壓縮模式BC、數(shù)字壓縮模式NC。每種模式結(jié)構(gòu)對(duì)應(yīng)不同的算法。通過應(yīng)用模式鎖定/轉(zhuǎn)移碼字,可在一個(gè)PDF417條碼符號(hào)中應(yīng)用一種或者多種模式表示數(shù)據(jù)。圖5為417條碼的模式切換圖。
二維條碼符號(hào)表示包括數(shù)據(jù)流編碼和碼字流表示兩個(gè)部分內(nèi)容,如圖6所示。
數(shù)據(jù)流編碼過程又可以分為兩個(gè)部分:一是將數(shù)據(jù)源信息流根據(jù)一定的數(shù)據(jù)壓縮模式轉(zhuǎn)換為數(shù)據(jù)碼字流的過程;二是根據(jù)RS錯(cuò)誤控制碼算法及數(shù)據(jù)糾錯(cuò)要求在數(shù)據(jù)碼字流基礎(chǔ)上生成糾錯(cuò)碼字流的過程。
碼字流表示過程是指在完成數(shù)據(jù)流編碼之后,按照特定的規(guī)則將碼字流表示成相應(yīng)的二維條碼符號(hào)字符。
例如超市商品的二維條碼,就是把商品信息(如生產(chǎn)地、廠家名稱。生產(chǎn)日期、保質(zhì)期,主要原料等信息)制成二維條碼,打印出來貼在商品上以便保存。通過條碼識(shí)讀設(shè)備對(duì)條碼進(jìn)行譯碼即可得相應(yīng)商品信息。
在商品標(biāo)識(shí)信息中漢字占多數(shù),所以采用字節(jié)壓縮模式進(jìn)行編碼。字節(jié)壓縮模式通過基256至基900的轉(zhuǎn)換,將數(shù)據(jù)信息流轉(zhuǎn)換為數(shù)據(jù)碼字流。當(dāng)所要表示的字節(jié)總數(shù)不是6的倍數(shù)時(shí),用模式鎖定901;當(dāng)所要表示的字節(jié)總數(shù)是6的倍數(shù)時(shí),用模式鎖定924。在應(yīng)用模式鎖定924的情況下,6個(gè)字節(jié)可通過基256至基900的轉(zhuǎn)換用5個(gè)碼字表示,從左到右進(jìn)行轉(zhuǎn)換。在應(yīng)用模式鎖定901的情況下,每前6個(gè)字節(jié)的轉(zhuǎn)換方法與上述方法相同,對(duì)被6整除所剩余的字節(jié)應(yīng)每個(gè)字節(jié)對(duì)應(yīng)一個(gè)碼字,逐字節(jié)用碼字表示。
對(duì)于數(shù)據(jù)碼字流dn-1,…d0,根據(jù)RS錯(cuò)誤控制碼算法及預(yù)先設(shè)定的數(shù)據(jù)糾錯(cuò)要求,可以生成符合要求的糾錯(cuò)碼字流ck-1…c0。把數(shù)據(jù)字符流和糾錯(cuò)碼字流加上起始符等控制信息就可以對(duì)條碼字符按照PDF417符號(hào)的結(jié)構(gòu)進(jìn)行排列。PDF417條碼的符號(hào)表示規(guī)則指出每行的數(shù)據(jù)需要用三個(gè)不同的簇表示,每一簇都有其相應(yīng)的“符號(hào)字符一碼字集表”,通過查找這些表可以得到碼字流的正確條空形式,即設(shè)計(jì)出了二維條碼。
二維條碼的譯碼過程是通過二維條碼識(shí)讀器來完成的。二維條碼有兩種基本識(shí)讀方法:一是存儲(chǔ)一系列線性掃描序列進(jìn)行動(dòng)態(tài)識(shí)讀;二是用CCD攝像機(jī)攝取二維條碼并存儲(chǔ)圖像,然后用靜態(tài)技術(shù)識(shí)別有用區(qū)域。
PDF417具有層編碼信息,解決了垂直同步信息的問題,可以采用存儲(chǔ)一系列線性掃描序列進(jìn)行動(dòng)態(tài)識(shí)讀。譯碼器必須精確測(cè)量掃描器掃描條碼符號(hào)時(shí)所發(fā)出的一系列脈沖數(shù)字信號(hào)的寬度??梢詫呙杵鬏敵鲂盘?hào)與其反相信號(hào)分別與中斷O、中斷1相連,并同時(shí)采用定時(shí)器0和定時(shí)器1進(jìn)行寬度測(cè)量。譯碼器解譯的數(shù)據(jù)通過鍵盤口傳送給計(jì)算機(jī),再通過相應(yīng)的譯碼軟件就可以識(shí)讀PDF417條碼。
3 二維條碼的應(yīng)用
二維條碼作為一種薪的信息存儲(chǔ)和傳遞技術(shù)已經(jīng)廣泛地應(yīng)用在國(guó)防、公共安全、交通運(yùn)輸、醫(yī)療保健、工業(yè)、商業(yè)、海關(guān)及政府管理等的領(lǐng)域。下面主要介紹二維條碼在移動(dòng)增值業(yè)務(wù)方面的應(yīng)用。
手機(jī)二維條碼技術(shù)采用手機(jī)作為二維條碼信息的載體和識(shí)讀設(shè)備,將帶有信息的二維條碼以彩信的形式在手機(jī)里存儲(chǔ)、閱讀、傳播,它是二維條碼技術(shù)與移動(dòng)增值業(yè)務(wù)的完美結(jié)合。如果手機(jī)具有10萬(wàn)像素拍照功能且安裝了二維條碼軟件,就可以拍攝二維條碼,并解析出其中信息。中國(guó)移動(dòng)在2005年8月首次發(fā)布關(guān)于手機(jī)二維條碼的規(guī)范并在10月的通信展中展示了利用二維條碼進(jìn)行奧運(yùn)購(gòu)票以及信息查詢等功能;在2006年8月中國(guó)移動(dòng)又推出了“條碼識(shí)別”業(yè)務(wù),采用的是DM碼和QR碼相融合的一種碼型。目前手機(jī)二維條碼已經(jīng)有了多種應(yīng)用方案,例如手機(jī)條碼閱讀引擎,電子票務(wù)等。手機(jī)二維條碼業(yè)務(wù)將會(huì)成為3G時(shí)代的主流業(yè)務(wù)。
3.1手機(jī)二維條碼閱讀引擎的應(yīng)用
手機(jī)二維條碼閱讀引擎是一種支持手機(jī)掃描、識(shí)別二維條碼的軟件。帶攝像頭的手機(jī)只要內(nèi)置或下載二維條碼閱讀引擎后,就可以通過掃描物品上的二維條碼解讀二維條碼內(nèi)所隱含的信息。主要應(yīng)用于數(shù)據(jù)錄入、解碼上網(wǎng)、解碼防偽等方面。
數(shù)據(jù)錄入應(yīng)用包括用手機(jī)拍攝二維條碼,識(shí)讀條碼內(nèi)的信息并儲(chǔ)存等的應(yīng)用。例如應(yīng)用二維條碼技術(shù)進(jìn)行交通管理:在執(zhí)照年審?fù)ㄖ獑位蛟趫?zhí)照上印刷一個(gè)二維條碼,將所有年審或頒發(fā)新牌照所需要的信息放在二維條碼里,參加年審者只須攜帶年審?fù)ㄖ獑位驁?zhí)照,工作人員只須用手機(jī)掃讀一下通知單或執(zhí)照上的二維條碼便可獲取全部審驗(yàn)信息。
如果把網(wǎng)站鏈接錄入到商品、名片、廣告上面的二維條碼中,用戶用內(nèi)置二維條碼閱讀引擎的手機(jī)掃描該條碼,解析出網(wǎng)址IP后就可以自動(dòng)鏈接到相應(yīng)的網(wǎng)站上直接瀏覽商品、下載折扣券、用手機(jī)支付購(gòu)票。這為消費(fèi)者帶來了一種全新的手機(jī)上網(wǎng)模式。
二維條碼具有多重防偽特性,它可以采用密碼防偽、軟件加密及利用所包含的信息如指紋、照片等進(jìn)行防偽。廠家根據(jù)相應(yīng)的編碼標(biāo)準(zhǔn)給每件出廠商品分配二維編碼,并建立商品信息數(shù)據(jù)庫(kù)存儲(chǔ)出廠商品的相關(guān)信息。消費(fèi)者購(gòu)買商品時(shí),用安裝了二維條碼閱讀引擎的手機(jī)掃描產(chǎn)品上的二維條碼并查詢生產(chǎn)商的商品信息數(shù)據(jù)庫(kù)就可以辨識(shí)該商品的真?zhèn)巍?/p>
3.2電子票務(wù)的應(yīng)用
在日常生活中紙質(zhì)票務(wù)相對(duì)于電子票務(wù)來說存在很多不足:如印刷成本較高、容易被復(fù)制仿冒、易損毀等;票券運(yùn)營(yíng)單位面臨著售票的人力成本高、防止假票的安全驗(yàn)證、票務(wù)使用信息不能留存等問題的困擾;消費(fèi)者存在著要親自到售票場(chǎng)地去取票、被假票欺騙、保存票券等諸多不便。而應(yīng)用手機(jī)二維條碼技術(shù)產(chǎn)生的電子票可以有效地解決傳統(tǒng)票務(wù)領(lǐng)域存在的上述問題。電子票務(wù)的實(shí)現(xiàn)是結(jié)合售票單位的網(wǎng)站、售票信息發(fā)布平臺(tái)共同來完成的。首先,消費(fèi)者有購(gòu)票的需求,查找相關(guān)的票務(wù)信息,根據(jù)相關(guān)信息的指引,發(fā)短信到售票系統(tǒng),按提示進(jìn)行支付。支付完成后,售票系統(tǒng)把電子票以二維條碼的形式發(fā)送到購(gòu)票者的手機(jī)中,完成購(gòu)票流程。消費(fèi)時(shí)經(jīng)過終端的驗(yàn)票設(shè)備進(jìn)行檢驗(yàn)后,可享受相應(yīng)的服務(wù)。
4 結(jié)束語(yǔ)
隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的發(fā)展,二維條碼的應(yīng)用前景越來越廣泛,二維條碼技術(shù)在我國(guó)的推廣應(yīng)用必將為我國(guó)信息產(chǎn)業(yè)的發(fā)展帶來可觀的社會(huì)效益和經(jīng)濟(jì)效益。二維條碼的出現(xiàn)是條形碼發(fā)展史上的里程碑,它提高了條形碼技術(shù)的應(yīng)用水平,拓寬了條形碼技術(shù)的應(yīng)用領(lǐng)域。