二維碼Maxicode的詳細介紹


Maxicode的緣起和發展

1980年代晚期,美國知名的UPS(United Parcel Service)快遞公司認識到利用機器辨讀資訊可有效改善作業效率、提高服務品質,所以從1987年開始着手於機器可讀表單(Machine Readable Form)的研究,發覺到條碼是相對成本最低的可行方案。為了能達到高速掃瞄的目的,UPS舍棄了堆迭式二維條碼的做法,重新研發一種新的條碼,在1992年時推出UPS code,並研發出相關設備,也就是Maxicode的前身。

1996年時,美國自動辨識協會(AIMUSA)制定統一的符號規格,稱為Maxicode,也有人稱USS-Maxicode(Uniform Symbology Specification- Maxicode)。本文所指的Maxicode,都是遵循AIMUSA所制訂的標准。

Maxicode是一種中等容量、尺寸固定的矩陣式二維條碼,它由緊密相連的六邊形模組和位於符號中央位置的定位圖形所組成。Maxicode是特別為高速掃瞄而設計,主要應用於包裹搜尋和追蹤上。UPS除了將Maxicode應用到包裹的分類、追蹤作業上,並打算推廣到其他應用上。1992年與1996年所推出的Maxicode符號規格略有不同,就外觀上來看,圖的左邊是1992年剛推出的樣子,右邊則是現在Maxicode應有的樣子。

Maxicode的基本特征

(一)外觀

  1. 外形近乎正方形,由位於符號中央的同心圓(或稱公牛眼)定位圖形 (Finder Pattern),及其周圍六邊形蜂巢式結構的資料位元所組成,這種排列方式使得Maxicode可從任意方向快速掃瞄。其外觀與中心放大圖如圖所示。

  2. 符號大小固定。為了方便定位,使解碼更容易,以加快掃瞄速度,Maxicode的圖形大小與資料容量大小都是固定的,圖形固定約1平方英吋,資料容量最多93個字元。

  3. 定位圖形:Maxicode具有一個大小固定且唯一的中央定位圖形,為三個黑色的同心圓,用於掃瞄定位。此定位圖形位在資料模組所圍成的虛擬六邊形的正中央,在此虛擬六邊形的六個頂點上各有3個黑白色不同組合式所構成的模組,稱為“方位叢”(Orientation Cluster),其提供掃瞄器重要的方位資訊,見圖。

  1. 每個Maxicode均將資料欄位划分成兩大部分,圍在定位圖形周圍的深灰色蜂巢稱為主要訊息(Primary Messages),其包含的資料較少,主要用來儲存高安全性的資料,通常是用來分類或追蹤的關鍵資訊,其包括60個資料位元(bits)和60個錯誤糾正位元。

主要訊息有兩個特殊作用,其中最重要的是包含4個模式位元(Mode Bits),圍在定位圖形右上方全白的方位叢左邊,以淡灰色所標識的四個位元即是,其直接指示出其余的資料編碼模式。另一個用途是,剩余的56個資料位元則依包裹分類追蹤需要的所有資訊編碼成結構化收件人訊息(Structured Carrier Messages),因此大部份在高速掃瞄的狀況下,只需要將主要訊息解碼就夠了。

在主要訊息外圍的淡灰色部份(未表示完全),用來儲存次要訊息(Secondary Messages),其提供額外的訊息,如來源地、目的地等人工分類時所需的重要資訊。

  1. 模式:是一種允許符號有不同結構的機制,Maxicode共有7種模式(模式0~模式6),但其中有2個模式(模式0、模式1)已作廢。

(二) 錯誤糾正能力

Maxicode具有復雜而堅固的錯誤糾正能力,以確保符號中的資訊是正確的,就算條碼受到部份損毀,內部儲存的資訊仍可完整讀出。

(三) 解碼速度

Maxicode的最大優點在於其解碼速度相當快,Maxicode可在速度為每分鍾550英尺的輸送帶上成功讀取。

Maxicode的組成

編碼字元集

Maxicode允許對256個國際字符編碼,包括值0~127的ASCII字元和128~255的擴展ASCII字元。在數字組合模式下,可用6個字碼表示9位數字。用於代碼切換和其他控制字元也包括在其字元集中。

Maxicode符號字元的表示

  1. 每個字元由6個六邊形的模組組成。

  2. 每個模組表示一個二進制位,深色模組表示 “1” ,淺色模組表示 “0”。

  3. 通常六個模組排成3層,順序為右上至左下,見圖所示。

  1. 由於符號的特殊結構,符號字元具有特殊的排列形式。

字碼集

字碼是介於數字字元和符號字元間的值,也是錯誤糾正計算的基礎。Maxicode的字碼集共有64個,范圍為0~63,二進位表示為000000~111111。在每符號字元中,最高有效位是編號最低的模組。

符號尺寸

每個Maxicode符號共有884個六邊形模組,分33層圍繞着中央定位圖形,每一層分別由30個或29個模組組成。符號四周應有空白區。每個Maxicode包括空白區在內,尺寸固定為28.14mm×26.91mm,約1平方英吋。中央定位圖形相當於90個模組的大小。

資料容量

884個六邊形模組中,有18個模組用於定位,剩余866個為資料模組,扣掉2個未使用的模組,用於表示資料編碼和錯誤糾正的模組共有864個,包含144個6位元的符號字元,其中至少須有50個以上的錯誤糾正字元,以及1個模式字元,因此資料容量最大為93個字元,若純為數字字元,則可存放138個。

錯誤糾正

Maxicode提供標准錯誤糾正(Standard Error Correction, SEC)與增強錯誤糾正(Extended Error Correction, EEC)兩種錯誤糾正等級,這兩種等級需要不同數量的字,提供不同水准的錯誤恢復能力,SEC的錯誤復原能力達16%,EEC則可達25%。這兩種錯誤糾正等級的基本特性如表所示。采用哪一種錯誤糾正等級是由模式字元所指定。

Maxicode的模式

如前所述,每個Maxicode有1個模式字元,用來定義符號的資料與錯誤結構,模式的編碼是主要訊息的一部份。

原本於1992年推出的UPS code的規格只有兩種模式:

模式0:主要訊息為一個結構化收件人訊息,次要訊息至多可編入84個大寫英文字母,或數字、標點符號。

模式1:主要訊息加上次要訊息至多可編入93個大寫英文字母,或數字、標點符號。

不過上述兩種模式已廢除,由新規定的模式2和模式3取代模式0,由模式4取代模式1。

AIMUSA所規定的新模式及其內容為:

模式2:主要訊息為一個結構化收件人訊息加上一個數字型態的郵遞編號,次要訊息至多可編入84個字元(character)。

模式3:主要訊息為一個結構化收件人訊息加上一個文數字型態的郵遞編號,次要訊息至多可編入84個字元。

模式2及模式3適用於運輸業者,此時符號表示收件人定義的目的地地址及服務類型。符號的前120位用增強錯誤糾正(EEC)表示收件人結構化資訊,而符號的其余部份用標准錯誤糾正(SEC)表示其它資訊。

收件人訊息的結構如下表。

模式4:主要訊息加上次要訊息至多可編入93個字元。

模式4是標准符號,其指示在主要訊息部分采用EEC,而在次要訊息部分采用SEC,這種模式下共有93個資料字碼。

模式5:主要訊息加上次要訊息至多可編入77個字元。

模式5是全EEC模式,其指示在主要訊息及次要訊息部份全部采用EEC,符號有77個資料字碼。

模式6:主要訊息加上次要訊息至多可編入93個字元。

模式6為掃瞄器編程模式,其指示符號表示的訊息是用於掃瞄器編程,主要訊息采用EEC,次要訊息采用SEC。

上述一個 “字元” 是指6位元的符號字元。目前模式字元其實只用了編號3~6號等4個位元,放在符號的第一個符號字符中。

下表將Maxicode的模式再做一總結。

Maxicode的解碼步驟

1、抓取一個包含Maxicode標簽的影像。

2、定位到公牛眼(同心圓定位圖形)。

3、調整抓取到的Maxicode影像大小。

4、蓋掉公牛眼(公牛眼部份轉成空白)。

5、加強每一個六邊形的邊緣。

6、執行一個向前掃瞄的動作。

7、定位至掃瞄到的三個亮點(虛擬六邊形的左上角)。

8、執行一個反向的掃瞄動作。

9、計算出標簽的方向后,決定使用該方向的方位叢。

10、使用反向的掃瞄影像,定位到每一個六邊形的中央,再與原先的影像進行比對。

11、重建二進位順序。

12、執行錯誤偵測與糾正,獲得原始訊息。

ZXing Decoder Online

https://zxing.org/w/decode.jspx


原文:http://www.mjcode.com/zhishi/maxicode.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM