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符号规格略有不同,就外观上来看,图1的左边是1992年刚推出的样子,右边则是现在Maxicode应有的样子。

图1 Maxicode的外观

Maxicode码

Maxicode的基本特征

外形近乎正方形,由位於符号*的同心圆(或称公牛眼)定位图形 (Finder Pattern),及其周围六边形蜂巢式结构的资料位元所组成,这种排列方式使得Maxicode可从任意方向快速扫瞄。其外观与中心放大图如图2所示。

Maxicode外观与中心放大图

Maxicode码

符号大小固定。为了方便定位,使解码更容易,以加快扫瞄速度,Maxicode的图形大小与资料容量大小都是固定的,图形固定约1平方英寸,资料容量最多93个字元。

定位图形:Maxicode具有一个大小固定且唯一的*定位图形,为叁个黑色的同心圆,用於扫瞄定位。此定位图形位在资料模组所围成的虚拟六边形的正*,在此虚拟六边形的六个顶点上各有3个黑白色不同组合式所构成的模组,称为「方位丛」(Orientation Cluster),其提供扫瞄器重要的方位资讯,见图3。

图3 Maxicode的符号排列方式

Maxicode码

每个Maxicode均将资料栏位划分成两大部分,围在定位图形周围的深灰色蜂巢称为主要讯息(Primary Messages),其包含的资料较少,主要用来储存高安全性的资料,通常是用来分类或追踪的关键资讯,其包括60个资料位元(bits)和60个错误纠正位元。

主要讯息有两个特殊作用,其中最重要的是包含4个模式位元(Mode Bits),围在定位图形右上方全白的方位丛左边,以淡灰色所标识的四个位元即是,其直接指示出其馀的资料编码模式。另一个用途是,剩馀的56个资料位元则依包裹分类追踪需要的所有资讯编码成结构化收件人讯息(Structured Carrier Messages),因此大部份在高速扫瞄的状况下,只需要将主要讯息解码就够了。

在主要讯息外围的淡灰色部份(未表示完全),用来储存次要讯息(Secondary Messages),其提供额外的讯息,如来源地、目的地等人工分类时所需的重要资讯。
 

模式:是一种允许符号有不同结构的机制,Maxicode共有7种模式(模式0~模式6),但其中有2个模式(模式0、模式1)已作废。

(二) 错误纠正能力
Maxicode具有复杂而坚固的错误纠正能力,以确保符号中的资讯是正确的,就算条码受到部份损毁,内部储存的资讯仍可完整读出。

(叁) 解码速度 
Maxicode的最大优点在於其解码速度相当快,Maxicode可在速度为每分钟550英 的输送带上成功读取。

Maxicode的组成

编码字元集
Maxicode允许对256个国际字符编码,包括值0~127的ASCII字元和128~255的扩展ASCII字元。在数字组合模式下,可用6个字码表示9位数字。用於代码切换和其他控制字元也包括在其字元集中。

Maxicode符号字元的表示

每个字元由6个六边形的模组组成。

每个模组表示一个二进制位,深色模组表示 “1” ,浅色模组表示 “0”。

通常六个模组排成3层,顺序为右上至左下,见图4所示。

图4 Maxicode的位元组成排列方式

Maxicode码

由於Maxicode符号的特殊结构,符号字元具有特殊的排列形式。

字码集
字码是介於数字字元和符号字元间的值,也是错误纠正计算的基础。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)表示其它资讯。

上一篇:Codeforces Round #447 (Div. 2) 题解


下一篇:Codeforces Round #447 (Div. 2)E. Ralph and Mushrooms