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

9-1.gif (14985 bytes)
图9.1 Maxicode的外观

Maxicode的基本特征

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

9-2.gif (20767 bytes)
图9.2 Maxicode外观与中心放大图

 

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

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

9-3.gif (28475 bytes)
图9.3 Maxicode的符号排列方式

 

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

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

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

  2. 模式:是一种允许符号有不同结构的机制,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层,顺序为右上至左下,见图9.4所示。

9-4.gif (5459 bytes)
图9.4 Maxicode的位元组成排列方式

  1. 由於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%。这两种错误纠正等级的基本特性如表9.1所示。采用哪一种错误纠正等级是由模式字元所指定。

表9.1 Maxicode的错误纠正等级

特性

错误纠正等级

标准

增强

字码总数

144

144

可能的资料字元数

93

77

模式字元数

1

1

错误字元数

50

66

可纠正的错误字元数

22

30

Maxicode的模式

    如前所述,每个Maxicode有1个模式字元,用来定义符号的资料与错误结构,模式的编码是主要讯息的一部份。

原本於1992年推出的UPS code的规格只有两种模式:

  1. 模式0:主要讯息为一个结构化收件人讯息,次要讯息至多可编入84个大写英文字母,或数字、标点符号。

  2. 模式1:主要讯息加上次要讯息至多可编入93个大写英文字母,或数字、标点符号。

不过上述两种模式已废除,由新规定的模式2和模式3取代模式0,由模式4取代模式1。AIMUSA所规定的新模式及其内容为:

模式2:主要讯息为一个结构化收件人讯息加上一个数字型态的邮递编号,次要讯息至多可编入84个字元(character)。
 

  • 模式3:主要讯息为一个结构化收件人讯息加上一个文数字型态的邮递编号,次要讯息至多可编入84个字元。

  • 模式2及模式3适用於运输业者,此时符号表示收件人定义的目的地地址及服务类型。符号的前120位用增强错误纠正(EEC)表示收件人结构化资讯,而符号的其馀部份用标准错误纠正(SEC)表示其它资讯。收件人讯息的结构如表9.2。

    表9.2 结构化收件人讯息的结构

    位元编号

    编码资料

    结构

    3~6

    模式

    二进制0~15

    1~2, 7~30, 33~36

    邮递编号

    数字型邮递编号(最多9)

    31~32, 39~42

    邮递编号长度

    只对数字型邮递编号编码

    1~2, 7~36, 39~42

    邮递编号

    文数字型邮递编号

    37~38, 43~48, 53~54

    国家代码

    3位数字( ISO 3166 )

    49~52, 55~60

    服务类型

    3位数字

    61~120

    EEC码字

     

    1. 模式4:主要讯息加上次要讯息至多可编入93个字元。
      模式4是标准符号,其指示在主要讯息部分采用EEC,而在次要讯息部分采用SEC,这种模式下共有93个资料字码。
       

    2. 模式5:主要讯息加上次要讯息至多可编入77个字元。
      模式5是全EEC模式,其指示在主要讯息及次要讯息部份全部采用EEC,符号有77个资料字码。
       

    3. 模式6:主要讯息加上次要讯息至多可编入93个字元。
      模式6为扫瞄器编程模式,其指示符号表示的讯息是用於扫瞄器编程,主要讯息采用EEC,次要讯息采用SEC。

    上述一个 “字元”是指6位元的符号字元。目前模式字元其实只用了编号3~6号等4个位元,放在符号的第一个符号字符中。表9.3将Maxicode的模式再做一总结。

    表9.3 Maxicode的模式

    模式

    说明

    模组号

    0

    废除

    0000

    1

    废除

    0001

    2

    结构化收件人讯息

    数字型邮递编码

    0010

    3

    结构化收件人讯息

    文数字型邮递编码

    0011

    4

    标准符号,次要讯息SEC

    0100

    5

    EEC符号

    0101

    6

    扫瞄器编程,次要讯息SEC

    0110

    Maxicode的解码步骤

    1. 抓取一个包含Maxicode标签的影像。
       

    2. 定位到公牛眼(同心圆定位图形)。
       

    3. 调整抓取到的Maxicode影像大小。
       

    4. 盖掉公牛眼(公牛眼部份转成空白)。
       

    5. 加强每一个六边形的边缘。
       

    6. 执行一个向前扫瞄的动作。
       

    7. 定位至扫瞄到的叁个亮点(虚拟六边形的左上角)。
       

    8. 执行一个反向的扫瞄动作。
       

    9. 计算出标签的方向後,决定使用该方向的方位丛。
       

    10. 使用反向的扫瞄影像,定位到每一个六边形的中央,再与原先的影像进行比对。
       

    11. 重建二进位顺序。
       

    12. 执行错误侦测与纠正,获得原始讯息。

    原创文章,作者:laoniu,如若转载,请注明出处:http://zgdwbj.com/archives/12576

    (0)
    laoniulaoniu订阅者
    上一篇 2008年2月16日
    下一篇 2008年2月20日

    相关推荐

    发表回复

    登录后才能评论

    《中国动物保健》杂志投稿邮箱:zgdwbj@163.com。如果您浏览到页面信息存在问题,请将该页的链接发送至publisher@zgdwbj.com。谢谢!