Aztec碼(英語:Aztec Code)也稱阿茲特克碼,是一種由Andrew Longacre, Jr.英語Andrew Longacre, Jr.和Robert Hussey於1995年發明的二維條碼[1]該種條碼1997年由AIM公司英語Association for Automatic Identification and Mobility公布。儘管Aztec碼已獲專利,但該專利已進入公有領域[2]Aztec碼也被發布為ISO/IEC 24778:2008標準。Aztec碼的名稱源自中心圖案與阿茲特克金字塔英語Aztec Pyramids的相似性。因為不需要邊緣留白(靜區),Aztec碼可能比其他矩陣條碼使用更少的空間。

編碼了內容「This is an example Aztec symbol for Wikipedia.」

結構

該種符號構築在方形網格上,其中心有一個「牛眼」圖案用以定位該碼。數據圍繞該牛眼圖案做同心方形環狀編碼。中心的「牛眼」為9×9或13×13像素,並在周圍的一行像素編碼基本編碼參數,產生一個11×11或15×15的核心(core)。而數據以層(layers)添加,每個層包含2環像素,總像素形成15×15、19×19、23×23等。

核心的邊角存在方向標記,以支持圖案被旋轉或鏡像時讀取代碼。解碼從有三個像素的邊角開始,然後順時針到兩個像素、一個像素、零個像素的邊角。在中心的核心編碼載有尺寸信息,所以不需要其他一些條碼所需要的空白「靜區」來標記代碼邊緣。

編碼

編碼過程含如下步驟:

  1. 將源消息轉換為字符串位元
  2. 計算必要的符號大小和模式消息,用以決定Reed–Solomon碼字大小
  3. 對消息位元補足英語Bit-stuffing為Reed–Solomon碼字
  4. 消息填充到碼字邊界
  5. 追加檢查碼字
  6. 圍繞核心以螺旋形式排列完整信息

位元字符串與其他形式間的所有轉換都根據大端(重要位優先)約定執行。

字符集

所有8位元的值都可編碼,另加上兩個轉義代碼。

默認情況下,0–127的碼遵循ANSI X3.4 (ASCII)解釋,128–255遵循ISO 8859-1: Latin Alphabet No. 1解釋。這對應ECI 000003。

模式消息

模式消息在消息中編碼了層數(層數L 編碼為整數L−1)和數據碼字(codewords)數量(碼字D編碼為整數D−1)。剩餘的碼字用作檢查碼字。

位元補足

填充

檢查碼字

排布消息

使用

 
德國鐵路的網上票據,使用了Aztec條碼。

運輸

阿茲特克碼被廣泛用於交通票務。

航空業(IATABCBP標準)已選擇阿茲特克碼用於電子登機牌。數家航空公司會向乘客的手機發送阿茲特克碼作為登機牌。這通常與乘客手機上的移動應用(包括Apple Wallet)集成。

Aztec碼也被用於鐵路行業,包括歐洲之星德國鐵路DSB捷克鐵路Slovak Railways英語Železničná spoločnosť Slovensko意大利鐵路荷蘭鐵路PKP Intercity英語PKP Intercity芬蘭鐵路維珍鐵路維亞鐵路瑞士聯邦鐵路比利時國家鐵路法國國家鐵路等公司用此支持線上銷售門票,由客戶打印或在手機屏幕上展示,由工作人員持手持掃描儀或通過旋轉門掃描儀驗證票證。

政府

波蘭的汽車登記文件中載有加密的摘要信息,該信息採用Aztec碼編碼。汽車保險公司可根據文件的數碼照片自動填寫相關信息,以加快保險理賠流程。

商業

加拿大許多票據在使用這項技術,包括EastLink (company)英語EastLink (company)蕭氏通訊Bell Aliant英語Bell Aliant等。

參考資料

  1. ^ US 5591956,Longacre, Jr., Andrew & Robert Hussey,「Two Dimensional Data Encoding Structure and Symbology for use with Optical Readers」,發表於May 15, 1995,發行於January 7, 1997 
  2. ^ Official Gazette. United States Patent Office. June 17, 1997 [2020-09-25]. (原始內容存檔於2017-02-22). Hereby dedicates to the public the entire term of said patent.  Click "images" then "correction" to see dedication to the public domain.

外部連結