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码可能比其他矩阵条码使用更少的空间。
Aztec码的结构
该种符号构筑在方形网格上,其中心有一个“牛眼”图案用以定位该码。数据围绕该牛眼图案做同心方形环状编码。中心的“牛眼”为9×9或13×13像素,并在周围的一行像素编码基本编码参数,产生一个11×11或15×15的核心(core)。而数据以层(layers)添加,每个层包含2环像素,总像素形成15×15、19×19、23×23等。
核心的边角存在方向标记,以支持图案被旋转或镜像时读取代码。解码从有三个像素的边角开始,然后顺时针到两个像素、一个像素、零个像素的边角。在中心的核心编码载有尺寸信息,所以不需要其他一些条码所需要的空白“静区”来标记代码边缘。
紧凑的Aztec代码的核心(红色斜线阴影线),显示了中央靶心,四个方向标记(蓝色斜线阴影线)和28位(每侧7位)编码信息(绿色水平线)的空间孵化)。数据的第一圈从该圈开始(灰色斜线阴影线)。
完整的Aztec代码的核心。方向标记之间有40位可用于编码参数。
消息数据围绕核心呈螺旋状放置。模式消息以“ 01011100”开始,表示01 2 +1 = 2层,以及011100 2 +1 = 29个数据码字(每个6位)。
Aztec码的编码
编码过程含如下步骤:
- 将源消息转换为字符串比特
- 计算必要的符号大小和模式消息,用以决定Reed–Solomon码字大小
- 对消息比特补足(英语:Bit-stuffing)为Reed–Solomon码字
- 消息填充到码字边界
- 追加检查码字
- 围绕核心以螺旋形式排列完整信息
比特字符串与其他形式间的所有转换都根据大端(重要位优先)约定执行。
Aztec码的字符集
所有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码的应用
德国铁路的网上票据,使用了Aztec条码。
运输
阿兹特克码被广泛用于交通票务。
航空业(IATA的BCBP标准)已选择阿兹特克码用于电子登机牌。数家航空公司会向乘客的手机发送阿兹特克码作为登机牌。这通常与乘客手机上的移动应用(包括Apple Wallet)集成。
Aztec码也被用于铁路行业,包括欧洲之星、德国铁路、DSB、捷克铁路、Slovak Railways(英语:Železničná spoločnosť Slovensko)、意大利铁路、荷兰铁路、PKP Intercity(英语:PKP Intercity)、芬兰铁路、维珍铁路、维亚铁路、瑞士联邦铁路、比利时国家铁路和法国国家铁路等公司用此支持线上销售门票,由客户打印或在手机屏幕上展示,由工作人员持手持扫描仪或通过旋转门扫描仪验证票证。
政府
波兰的汽车登记文件中载有加密的摘要信息,该信息采用Aztec码编码。汽车保险公司可根据文件的数码照片自动填写相关信息,以加快保险理赔流程。
商业
加拿大许多票据在使用这项技术,包括EastLink (company)(英语:EastLink (company))、萧氏通信、Bell Aliant(英语:Bell Aliant)等。