二维码简介以及发展解读

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二维码简介
概念
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。

同时还具有对不同行的信息自动识别功能、及处理图形旋转变化等特点。

二维码分类
1)堆叠式/行排式二维条码
堆叠式/行排式二维条码(又称堆积式二维条码或层排式二维条码),其编码原理是建在一维条码基础之上,按需要堆积成二行或多行。

它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。

但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。

有代表性的行排式二维条码有:Code 16K、Code 49、PDF417等。

2)矩阵式二维码
矩阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵的不同分布进行编码。

在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。

矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。

具有代表性的矩阵式二维条码有:Code One、Maxi Code、QR Code、Data Matrix等。

在目前几十种二维要码中,常用的码制有:PDF417二维条码, Datamatrix二维条码, Maxicode二维条码, QR Code, Code 49, Code 16K ,Code one,等,除了这些常见的二维条码之外,还有Vericode条码、CP条码、Codablock F条码、田字码、Ultracode条码,Aztec条码。

二维条码识读设备
二维条码的阅读设备依阅读原理的不同可分为:
(1)线性CCD和线性图像式阅读器(Linear Imager)可阅读一维条码和线性堆叠式二维条码(如PDF417),在阅读二维码时需要沿条码的垂直方向扫过整个条码,我们称为“扫动式阅读”。

这类产品比较便宜.
(2)带光栅的激光阅读器:
可阅读一维条码和线性堆叠式二维条码。

阅读二维条码技术时将光线对准条码,由光栅元件完成垂直扫描,不需要手工扫动。

(3)图像式阅读器(Image Reader)采用面阵CCD摄像方式将条码图像摄取后进行分析和解码,可阅读一维条码和所有类型的二维条码.
另外,二维条码设备的识读依工作方式的不同还可以分为:手持式、固定式和平版扫描式。

二维条码设备的识读生成对于二维条码生成的识读会有一些限制,但是均能识别一维条码。

QR码-快速矩阵二维条码(标准ISO/IEC18004)
QR码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,QR码除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点外,QR码还具有如下主要特点:
普通的一维条码只能在横向位置表示大约20为的字母或数字信息,无纠错功能,使用时候需要后台数据库的支持,而QR码二维条码是横向纵向都存有信息,可以放入字母、数字、汉字、照片、指纹等大量信息,相当一个可移动的数据库。

如果用一维条码与二维条码表示同样的信息,QR二维码占用的空间只是条码1/11的面积。

QR 码(2D 符号) 在横向和纵向上都包含有信息,而条码只有一个方向上包含有信息。

QR 码能够包含的信息比条码多得多
QR码比其他二维码相比,具有识读速度快、数据密度大、占用空间小的优势。

QR码的三个角上有三个寻象图形,使用CCD识读设备来探测码的位置、大小、倾斜角度、并加以解码,实现360读高速识读。

每秒可以识读30个含有100个字符QR码。

QR码容量密度大,可以放入1817个汉字、7089个数字、4200个英文字母。

QR码用数据压缩方式表示汉字,仅用13bit即可表示一个汉字,比其他二维条码表示汉字的效率提高了20%。

QR具有4个等级的纠错功能,即使破损或破损也能够正确识读。

QR码抗弯曲的性能强,通过QR码中的每隔一定的间隔配置有校正图形,从码的外形来求得推测校正图形中心点与实际校正图形中心点的误差来修正各个模快的中心距离,即使将QR码贴在弯曲的物品上也能够快速识读。

QR码可以分割成16个QR码,可以一次性识读数个分割码,适应于印刷面积有限及细长空间印刷的需要。

此外微型QR码可以在1厘米的空间内放入35个数字或9个汉字或21个英文字母,适合对小型电路板对ID号码进行采集的需要。

多到7,089 数字可以被编码(下图为300 个字符或数字被编进这样大小的QR码里面)
同样的数据只有条码的十分之一大小
超高速识读:
从QR Code码的英文名称Quick Response Code可以看出,超高速识读特点是QR Code码区别于四一七条码、Data Matrix等二维码的主要特性。

由于在用CCD识读QR Code码时,整个QR Code码符号中信息的读取是通过QR Code码符号的位置探测图形,用硬件来实现,因此,信息识读过程所需时间很短,它具有超高速识读特点。

用CCD二维条码识读设备,每秒可识读30个含有100个字符的QR Code码符号;对于含有相同数据信息的四一七条码符号,每秒仅能识读3个符号;对于Data Martix矩阵码,每秒仅能识读2~3个符号。

QR Code 码的超高速识读特性是它能够广泛应用于工业自动化生产线管理等领域。

全方位识读:
QR Code码具有全方位(360°)识读特点,这是QR Code码优于行排式二维条码如四一七条码的另一主要特点,由于四一七条码是将一维条码符号在行排高度上的截短来实现的,因此,它很难实现全方位识读,其识读方位角仅为±10°.
能够有效地表示中国汉字、日本汉字:
由于QR Code码用特定的数据压缩模式表示中国汉字和日本汉字,它仅用13bit可表示一个汉字,而四一七条码、Data Martix等二维码没有特定的汉字表示模式,因此仅用字节表示模式来表示汉字,在用字节模式表示汉字时,需用16bit(二个字节)表示一个汉字,因此QR Code码比其它的二维条码表示汉字的效率提高了20%。

编码字符集:
1、数字型数据(数字0~9);
2、字母数字型数据(数字0~9;大写字母A~Z;9个其他字符:space ,$, %, *, +, -, ., /, :);
3、8位字节型数据;
4、日本汉字字符;
5、中国汉字字符(GB 2312对应的汉字和非汉字字符)。

QR码符号的基本特性
符号规格21×21模块(版本1)-177×177 模块(版本40)(每一规格:每边增加4个模块)
数据类型与容量(指最大规格符号版本40-L级)
·数字数据:7,089个字符
·字母数据:4,296个字符
· 8位字节数据:2,953个字符
·中国汉字、日本汉字数据:1,817个字符
数据表示方法深色模块表示二进制“1”,浅色模块表示二进制“0”。

纠错能力
· L级:约可纠错7%的数据码字
· M级:约可纠错15%的数据码字
· Q级:约可纠错25%的数据码字
· H级:约可纠错30%的数据码字
结构链接(可选)可用1-16个QR Code码符号表示一组信息
掩模(固有)可以使符号中深色与浅色模块的比例接近1:1,使因相邻模块的排列造成译码困难的可能性降为最小。

扩充解释(可选)这种方式使符号可以表示缺省字符集以外的数据(如阿拉伯字符、古斯拉夫字符、希腊字母等),以及其他解释(如用一定的压缩方式表示的数据)或者对行业特点的需要进行编码。

独立定位功能
QR码QR Code可高效地表示汉字,相同内容,其尺寸小于相同密度的PDF417条码。

目前市场上的大部分条码打印机都支持QR code条码,其专有的汉字模式更加适合我国应用。

因此,QR码在我国具有良好的应用前景。

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二维条码的基本特征
外形近乎正方形,由位於符号中央的同心圆(或称公牛眼)定位图形(Finder Pattern),及其周围六边形蜂巢式结构的资料位元所组成,这种排列方式使得Maxicode二维条码可从任意方向快速扫瞄。

其外观与中心放大图如图2所示。

图2 Maxicode二维条码外观与中心放大图
符号大小固定。

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

定位图形:Maxicode二维条码具有一个大小固定且唯一的中央定位图形,为叁个黑色的同心圆,用於扫瞄定位。

此定位图形位在资料模组所围成的虚拟六边形的正中央,在此虚拟六边形的六个顶点上各有3个黑白色不同组合式所构成的模组,称为「方位丛」(Orientation Cluster),其提供扫瞄器重要的方位资讯,见图3。

图3 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二维条码的
字码集共有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的解码步骤
抓取一个包含Maxicode标签的影像。

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

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

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

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

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

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

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

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

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

重建二进位顺序。

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

Data Matrix(标准ISO/IEC16022)
Data Matrix 二维条码的发展
Data Matrix 二维条码原名Datacode,由美国国际资料公司(International Data Matrix, 简称ID Matrix)於1989年发明。

Data-Matrix二维条码是一种矩阵式二维条码,其发展的构想是希望在较小的条码标签上存入更多的资料量。

Data Matrix二维条码的最小尺寸是目前所有条码中最小的,尤其特别适用於小零件的标识,以及直接印刷在实体上。

Data Matrix 二维条码又可分为ECC000-140与ECC200两种类型,ECC000-140具有多种不同等级的错误纠正功能,而ECC200则透过Reed-Solomon演算法产生多项式计算出错误纠正码,其尺寸可以依需求印成不同大小,但采用的错误纠正码应与尺寸配合,由於其演算法较为容易,且尺寸较有弹性,故一般以ECC200较为普遍,本节也仅介绍ECC200规格的Data Matrix二维条码码,以下所说的Data- Matrix二维条码事实上都是指ECC200而言。

图Data Matrix二维条码的外观
如图所示,Data Matrix二维条码的外观是一个由许多小方格所组成的正方形或长方形符号,其资讯的储存是以浅色与深色方格的排列组合,以二位元码(Binary-code)方式来编码,故电脑可直接读取其资料内容,而不需要如传统一维条码的符号对映表(Character Look-up Table)。

深色代表“1”,浅色代表“0”,再利用成串(String)的浅色与深色方格来描述特殊的字元资讯,这些字串再列成一个完成的矩阵式码,形成DataMatrix二维条码码,再以不同的印表机印在不同材质表面上。

由於Data Matrix二维条码只需要读取资料的20%即可精确辨读,因此很适合应用在条码容易受损的场所,例如印在暴露於高热、化学清洁剂、机械剥蚀等特殊环境的零件上。

Data Matrix二维条码的尺寸可任意调整,最大可到14平方英寸,最小可到0.0002平方
英寸,这个尺寸也是目前一维与二维条码中最小的,因此特别适合印在电路板的零组件上。

另一方面,大多数的条码的大小与编入的资料量有绝对的关系,但是Data Matrix二维条码的尺寸与其编入的资料量却是相互独立的,因此它的尺寸比较有弹性。

此外,DataMatrix 二维条码最大储存量为2,000bytes,自动纠正错误的能力较低,只适用特别的CCD扫瞄器来解读。

Data Matrix二维条码的结构
(一) 特性
Data Matrix二维条码码具有以下特性:
可编码字元集包括全部的ASCII字元及扩充ASCII字元,共256个字元。

条码大小(不包括空白区):10×10 ~ 144×144
资料容量:235个文数字资料,1556个8位元资料,3116个数字资料。

错误纠正:透过Reed-Solomon演算法产生多项式计算获得错误纠正码。

不同尺寸宜采用不同数量的错误纠正码。

(二)基本结构
每个Data Matrix二维条码符号由规则排列的方形模组构成的资料区组成,资料区的四周由定位图形(Finder Pattern)所包围,定位图形的四周则由空白区包围,资料区再以排位图形(Alignment Patterns)加以分隔。

定位图形
定位图形是资料区域的一个周界,为一个模组宽度。

其中两条邻边为暗实线,主要用於限定物理尺寸;定位和符号失真。

另两条邻边由交替的深色和浅色模组组成,主要用於限定符号的单元结构,但也能帮助确定物理尺寸及失真。

符号尺寸
ECC000-140符号有奇数行与奇数列。

符号外观为一方形矩阵,尺寸从9×9至49×49,不包括空白区。

这些符号可透过右上角深色方格识别出来。

ECC200符号有偶数行与偶数列。

有些符号是正方形,尺寸从10×10至144×144,不包括空白区。

有些是长方形,尺寸从8×18至16×48,不包括空白区。

所有的ECC200符号都可以透过右上角浅色方格识别出来。

资料表示方法
Data Matrix二维条码按以下步骤来表示资料:
资料编码
先分析要表示的资料,选取合适的编码方案,按所选定的方案将资料流转为字码流,并加入必要的填字,如果使用者未规定矩阵寸,则应选取能满足要存放资料的最小尺寸。

DataMatrix 二维条码共有6种编码方案,即6种字码集,见表10.1。

Data Matrix二维条码的编码方案与相对应之字元集
错误检测和纠正字码(ECC)的产生
对少於255个字码的Data Matrix二维条码,错误纠正字码可由资料字码计算得出。

对於多於255个字码的符号,应将资料字码分成多个模组,然後再产生每一个模组的错误纠正字码。

错误纠正字码能够纠正两种类误字码,包括E错误(已知位置上的错误字码),以及T错误(未知位置上的错误字码)。

换句话说,E错误是不能被扫瞄或不能被解码的符号字元,T错误则是被错误解码的符号字元。

PDF417二维条码/二维码
PDF417是美国符号科技(Symbol Technologies, Inc.)发明的二维条码,发明人是台湾赴美学人王寅君博士,王博士於1984年毕业於国立交通大学资讯系,获得纽约州立大学石溪分校(University of New York at Stony Brook)电脑硕士和博士学位後,在1988年进入符号科技进行二维条码的研发工作,於1992年底推出PDF417,并於1989年至1992年间领导世界第一部二维条码雷射读码系统的开发。

1993年3月作者正式将PDF417引进台湾,交由祥记资讯推广及研发相关套装软体(黄庆祥,1995)。

目前PDF417、Maxicode、Datamatrix同被美国国家标准协会(American National Standards Institute, ANSI) MH10 SBC-8委员会选为二维条码国际标准制定范围,其中PDF417主要是预备应用於运输包裹与商品资料标签(Burnell, 1995)。

PDF417不仅具有错误侦测能力,且可从受损的条码中读回完整的资料(Moore, 1994),亦即「错误复原能力」,其错误复原率最高可达50%,如图8.1所列各种情形,皆可将资料复原。

图8.1 PDF417的错误复原能力
PDF417二维条码的结构
由於PDF417二维条码的容量较大,除了可将人的姓名、单位、地址、电话等基本资料进行编码外,还可将人体的特徵如指纹、视网膜扫瞄、及照片等个人纪录储存在条码中,这样不但可以实现证件资料的自动输入,而且可以防止证件的伪造,减少犯罪。

PDF417已在美国、加拿大、纽西兰的交通部门的执照年审、车辆违规登记、罚款及定期检验上开始应用。

美国并同时将PDF417应用在身分证、驾照、军人证上。

此外墨西哥也将PDF417应用在报
关单据与证件上,从而防止了仿造及犯罪。

PDF417是一个公开码,任何人皆可用其演算法而不必付费,因此是一个开放的条码系统。

PDF417的PDF为可携性资料档(Portable Data File)的缩写,取其条码类似一个资料档,可储存较多资料,且可随身携带或随产品走而得名(Paclidis, 1992)。

正如其名,每一个PDF 码的储存量可高达1,108个文数字(Bytes),若将数字压缩则可存放至2,729Bytes。

每一个PDF417码是由3~90横列堆叠而成,而为了扫瞄方便,其四周皆有静空区,静空区分为水平静空区与垂直静空区,至少应为0.020寸,如图8.2所示。

图8.2 PDF417码的结构
其中每一层都包括下列五个部份:
起始码。

左标区:在起始码後面,为一指示符号字元。

资料区:可容纳1~30个资料字元。

右标区: 在资料区的後面,为一指示符号字元。

结束码:在横列之最右边。

除了起始码和结束码外,左标区、资料区和右标区的组成字元皆可称为字码(Codeword),每一个字码由17个模组(Modules)所构成,每一个字码又可分成4线条(或黑线)及4空白(或白线),每个线条至多不能超过6个模组宽。

每个417码因资料大小不同,其行数及每行的资料模组数与字码数都可以从1至30不等。

字码的组成如图8.3所示。

图8.3 PDF417字码的组成
PDF417二维条码的尺寸。

相关文档
最新文档