




已阅读5页,还剩56页未读, 继续免费阅读
(信号与信息处理专业论文)pdf417条形码解码终端的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 二维条码技术目前日益广泛地应用于日常的生产生活领域,其中p d f 4 1 7 条 码技术成熟、应用前景广阔,有信息容量大、编码范围广、防伪保密性好、译码 可靠性高等突出优点,适用于工业生产、国防、金融、商业、交通运输等各个领 域,是我国的二维条码国家标准之一。 论文在深入研究了p d f 4 1 7 条码的标准和编解码算法的基础上,详细阐述了 解码终端以d s p 为核心的硬件平台和软件架构。论文工作的重点是对p d f 4 1 7 条码处理算法的设计和应用,以及快速解码的实现。论文还包括了对解码终端的 代码优化和功能扩展。在样板上的调试运行表明,解码终端功能运行稳定,达到 了平均每秒1 0 次以上的解码速度。 终端的图像采集模块采用的是条码采集专用的激光摄像头,可以实现多个条 码的一次读取。终端的硬件核心是t i 的高性能3 2 位浮点处理器t m s 3 2 0 c 6 7 1 3 , 配合以高速的外部存储器,采用c p l d 设计了控制电路。采集模块采集的条码图 像存储在外部s d r a m 里,d s p 读取图像后,针对条码采集模块的光照变化等 因素对条码图像进行了预处理:论文通过对p d f 4 1 7 条码识别和解码关键技术的 深入研究,提出了一种快速的条码定位方法,实现了条码的准确定位、倾斜纠正 和矩形化处理,成功解决了条码定位运算量大和准确率低的难题。然后,采用投 影法对图像进行分层,并逐层对码字扫描译码,同时实现了检错纠错的功能。在 功能完善的基础上,针对c 6 7 1 3 硬件资源的特点,进一步了优化了c 语言解码 程序,有效地提高了代码的执行效率。 实验结果表明,该解码终端对最常用的两种二维条形码p d f 4 17 和d a t a m a t r i x 的解码速度都达到了每秒1 0 次以上,具有国内领先的技术指标。 关键词:p d f 4 1 7d s p 二维条形码解码终端 a b s t r a c t t h et e c h n o l o g yo ft w o d i m e n s i o nb a r c o d ei sm o r ea n dm o r ew i d e l yu s e di nd a i l y l i f ea n di n d u s t r y p d f 417i sap r o m i s i n g2 db a r c o d en o to n l yb e c a u s ei th a sm a t u r e t e c h n i q u eb u ta l s ob e c a u s e i th a so b v i o u sa d v a n t a g e ss u c ha sh i g hc a p a c i t yo f i n f o r m a t i o ns t o r a g e ,w i d er a n g eo fc o d i n g ,s t r o n gp r i v a c ya n dr e l i a b i l i t yi nd e c o d i n g a so u rc o u n t r y sn a t i o n a ls t a n d a r d ,p d f 4 17i ss u i t a b l ef o ri n d u s t r yp r o d u c t i o n , n a t i o n a ld e f e n s e ,c o m m e r c e ,a n dc o m m u n i c a t i o na p p l i c a t i o n i nt h i sp a p e rp d f 417b a r c o d es t a n d a r da n dc o d e ca r ed e e p l yr e s e a r c h e d ,b a s e do n w h i c hd e c o d i n gt e r m i n a l sh a r d w a r ep l a t f o r mw h o s ec o r ei sd s p a n ds o f t w a r e a r c h i t e c t u r ea r ee x p o u n d e di nd e t a i l t h ek e yp o i n to ft h ep a p e r sw o r ki st h ed e s i g n a n di m p l e m e n t i n go fp d f 417b a r c o d e p r o c e s s i n ga n dd e c o d i n gw i t hh i g hs p e e d t h e p r o g r a mo p t i m i z i n ga n d f u n c t i o ne x p a n s i o na r ea l s oi n c l u d e di nt h ep a p e r t h er e s u l t o fd e b u g g i n gs h o w st h a tt h et e r m i n a lc a nr u ns t a b l yw i t ht h ea v e r a g ed e c o d i n gs p e e d o v e r10t i m e sp e rs e c o n d t h ei m a g er e a d i n gm o d u l eu s e sal a s e rc a m e r as p e c i a l l yd e s i g n e df o rb a r c o d e r e a d i n gw h i c hc a ns c a ns e v e r a lb a r c o d e se a c ht i m e t h eh a r d w a r ep a r ta d o p t s t m $ 3 2 0 c 6 713a si t sc o r e a n di sa s s o c i a t e dw i t hs d r a mt os t o r et h ei m a g e ;t h e c o n t r o lc i r c u i ti si m p l e m e n t e db yc p l d t h eb a r c o d ei m a g er e a df r o mt h ei m a g e r e a d i n gm o d u l ei ss t o r e di ns d r a m ;t h e nd s p l o a d st h ei m a g ea n dd o e s p r e t r e a t m e n t st os o l v et h ep r o b l e mo fv a r i e t yo fi l l u m i n a t i v ei n t e n s i t y b a s e do nd e e p r e s e a r c ho nk e yt e c h n o l o g yo fp d f 417b a r c o d e sr e c o g n i t i o na n dd e c o d i n g ,af a s t m e t h o do fb a r c o d el o c a t i o ni sp r o p o s e dt os o l v et h ep r o b l e mo ft i m e c o n s u m i n ga n d l o w a c c u r a c yi nl o c a t i n gt h ep o s i t i o no fb a r c o d e w i t ht h i sm e t h o db a r c o d e sp o s i t i o n c a nb el o c a t e dp r e c i s e l y ,a n do b l i q u ei m a g ea n dt w i s t yi m a g ec a nb es t r a i g h t e n e d e a s i l y f i n a l l yt h r o u g hp r o j e c t i o nt h el a y e rp o s i t i o n sc a nb eg o ta n d t h ed e c o d i n g r e s u l ti sa c q u i r e db yd e c o d i n gl a y e rb yl a y e ra tt h es a m et i m ew i t ht h eg u a r a n t e eo f e r r o rd e t e c t i o na n de r r o rc o r r e c t i o n a f t e ri m p l e m e n t i n gp r o s p e c t i v ef u n c t i o n , p r o g r a mo p t i m i z i n gi sd o n et om a k e f u l lu s eo ft h eh a r d w a r er e s o u r c e ,w h i c h c o n t r i b u t e st oa c q u i r em o r ee f f i c i e n tp r o g r a m t h et e s tr e s u l td e m o n s t r a t e st h a tt h et e r m i n a l sd e c o d i n gs p e e do fb o t hp d f 4 17 b a r c o d ea n dd a t a m a t r i xb a r c o d ei so v e r10t i m e sp e rs e c o n d ,w h i c hi si nl e a d i n g p o s i t i o ni nt h i sf i e l d k e yw o r d s - p d f 4 17 ,d s p , t w o d i m e n s i o nb a r c o d e ,d e c o d i n gt e r m i n a l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:颉惑鸦琶签字日期:2 0 0 8年占月弓日 学位论文版权使用授权书 本学位论文作者完全了解:墨鲞盘堂有关保留、使用学位论文的规定。 特授权叁鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:颉瞄爸 签字日期: 劢孵年6b 弓日 新躲移皑 签字日期:刎孑年6 月 第一章绪论 1 1 条码概述 1 1 1 条码技术的发展 第一章绪论 在当代社会,条码技术已经深入人们的日常生活 1 1 1 2 1 。在金融业、医疗卫生、 商业、制造业、运输业等行业中,条码已经广泛使用并且在快速发展。条码技术 与e d i 和集装箱技术共同成为国际贸易的三大标准贸易方式。一维条码已经在 交通业、仓储业等行业有了成熟而广泛的应用;随着社会的进步,人们对条码信 息容量、安全防伪性、可靠性和相对的独立性等提出了更高的要求,二维条码也 越来越受重视。目前,根据规范的国际标准,3 9 码等主要应用于商品上的一维 条码已经成为商业自动化不可缺少的基本条件;二维条码的技术也已经成熟,并 且有了一系列相关的国际和国内标准:美国国家标准协会a n s i m h l 0 8 、电子工 业联谊会e i am h l 0s b c 8 等都制定了二维条码在流通业的行业标准,证照业、 汽车业也有各自使用的二维条码国际标准;我国也及时制定并发布了一些二维条 码的国标,如1 9 9 8 年开始实施的g b t 1 7 1 7 2 1 9 9 7 ,p d f 4 1 7 二维条码的应用就 被列为9 5 期间国家的重点科技攻关项目。 由于一维条码本身故有的一些不足【1 1 ,比如:信息容量少,纠错能力差,保 密防伪性差,严重依赖数据库和表示汉字困难等,使人们迫切需要具有信息容量 大,纠错能力强,安全性高等优点的条码的出现,p d f 4 1 7 条码和d a t am a t r i x 条码正是这类条码的代表。 1 1 2 条码的分类及其特点 根据条码的维度,通常将条码分类为一维条码和二维条码。 一维条码是由一组规则排列的粗细不同、黑白相间的条空及数字和字符组成 的标记。一维条码只在一个方向上表达信息,一般是在水平方向,垂直方向的高 度通常是为了便于阅读器的对准。对于每一种物品,它的编码是唯一的,对于普 通的一维条码来说,还要通过数据库建立条码与商品信息的对应关系,当条码的 数据传到计算机上时,由计算机上的应用程序对数据进行操作和处理。因此,普 通的一维条码在使用过程中仅作为识别信息,它的意义是通过在计算机系统的数 据库中提取相应的信息而实现的。根据码制,一维码通常分类为:e a n 码、3 9 第一章绪论 码、交叉2 5 码、u p c 码、1 2 8 码、9 3 码,及c o d a b a r ( 库德巴码) 等,不同的 码制有它们各自的应用领域。 一维条码具有输入速度快、成本低等优点,在当今的自动识别技术中占有重 要的地位。本终端实现了3 9 码和1 2 8 码的解码。但传统的一维条码有很多缺陷: 1 信息容量小,信息密度低。一维条码能表征的信息容量非常有限,所以条 码本身常只起到一个指针的作用,完成的是对物体的“标记,而不是对物体本 身的描述。需要外部数据库的支持,这种对数据库的依赖严重限制了条码的使用 效率和使用范围。 2 一维条码只能表达数字和字母,不支持对图像、汉字等信息的表达。 3 一维条码的稳定性、安全性比较差。由于一维条码不具备纠错功能,所以 对受污损等造成的不完整条码信息就无能无力,同时也缺乏可靠的保密防伪性。 二维条码是能在纵横两个方向用一定规律的条空同时表达信息数据的条码, 它有效地解决了一维条码面临的问题。根据码制,二维条码常分为三类: 1 线性堆叠式二维条码。这类条码是将多个一维码在纵向堆叠产生的,本文 讨论的p d f 417 条码就是此类二维码。 2 矩阵式二维码。这类条码是在矩阵空间中通过黑白像素在矩阵中的不同分 布而编码,本解码终端涉及的d a t am a t r i x 条码就是此类码。 3 邮政码。此类条码主要用于邮政编码,是基于对不同长度的条编码的原理, 如p o s t n e t 。 二维条码属于高密度条码,在有限的小区域内能对大量数据进行编码,本身 就是一个完整的数据文件。二维条码能将图像、声音、文字等信息进行整合,从 而增加搭载的信息量,二维条码的数据存储量是一维码的几十倍到几百倍,就像 是一个便携式的数据库。由于二维条码有信息容量大、纠错能力强、安全性高等 优点,其技术标准的普及应用具有可观的经济效益和社会效益。 1 2 解码终端概述 论文研究的解码终端使用了q u a d r u sm i n i 条码采集专用摄像头,在基于t i 的6 7 1 3 d s p 平台上实现了条码图像的快速采集和实时解码处理i i 2 i 。为了缩短开 发周期,采用了通用性强的d s p 开发模块,根据处理需要,扩展了外部存储器 和其他控制电路。 按照应用的需要,解码终端目前可以解码一维条码中的3 9 码、1 2 8 码和二维 条码中的p d f 4 17 条码和d a t am a t r i x 条码,并且有在一副图像中存在多个条码 情况下解码的功能。为了充分发挥解码终端的d s p 硬件资源的高速运算能力, 2 第一章绪论 软件设计时使用了高效的算法来实现代码,并针对d s p 的特性进行了有效的优 化,最后取得了完善的功能和稳定的性能。 3 第二章p d f 4 17 条码的结构特点及编码艨理 第二章p d f 4 1 7 条码的结构特点及编码原理 p d f 4 1 7 条码是应用最为广泛的一种二维条码,本章主要介绍p d f 4 17 条码 的结构特点和编码原理并在此基础上引出了针对p d f 4 17 条码特点的处理方垃 2l p d f 4 17 条码的特点及应用 2 1 1 概述 p d f 4 1 7 条码是由美籍华人王寅君博士发明的,p d f 是p o r t a b l ed a mf i l e 的 缩写。p d f 4 i7 条码是个公开码。由于组成条码的每一符号字符都是由4 个条 和4 个空构成p i l 4 i ,如果把构成条码的最窄的条或空视为一个单位模块则一个 符号字符的4 个条和四个空的总模块数为i7 ( 结束码除外) ,所以叫做p d f 4 1 7 条码,如| 璺| 2 - l 。 一个p d f 4 1 7 条码 峨睡麟 l,7 7 嚣 b s $ e b 、 i t ! 釜二r i 一 。 】j i :,# # 厢2 ip d f 4 i7 条码示例 2l2p d f 4 1 7 条码的特点 p d f 4 1 7 条码有如下特点: 1 信息容量太。p d f 4 1 7 是一种高密度码,其条码符号的容量极限是18 5 0 个 字母字符,或2 7 1 0 个数字字符。这样大的容量信息,相当于普通一维条码的几 十倍。也正是由于条码的高密度,使得同样数量的信息,可以占用比普通条码要 第二章p d f 4 17 条码的结构特点及编码原理 小的多的空间。而且p d f 4 7 也可以将汉字进行编码其他可数字化的信息如声 音、掌纹、照片等都可以编码。 2 纠错能力强。p d f 4 17 码采用了先进的r e e d s o l o m o n 纠错码,不仅可以在 译码过程中检测错误,而且可以高效地修复错误。用户可以有九个纠错级别可以 选择,在最高的纠错级别中错误复原率可达5 0 。这一特性可以在条码破损、 玷污的情况下完整地译码恢复数据,具有很高的可靠性。对如图2 - 2 所示的情形, 都可以将资料复原。 i 麟螽蘑醢| | | 部分污损 残角破洞 横竖断裂 图2 2 可纠错复原的条码图案 3 保密防伪性好。p d f 4 1 7 条码可以通过软件加密按照密码的形式编码,对 指纹、照片等涉及安全信息的数据进行防伪加密,可以防止伪造条码。 4 制作成本低廉。p d f 4 1 7 条码可以用打卡机、喷墨、激光、点阵等方法在纸 张、卡片等各种载体上打印:而且条码的行、列可以根据载体面积进行相应的调 整,从而改变条码形状,这些都有助于降低存储介质成奉。 5 识读条码方法灵活。p d f 4 1 7 条码属于堆积型二维条码,可以使用c c d 、 2 d c c d 、激光扫描器识读。 2 1 3p d f 4 1 7 条码的应用 作为成熟的条码技术,p d f 4 1 7 条码已经或者正在被许多政府部门、工业团 体所采纳8 j 。a i a g o d e t t e ( 北美和欧洲汽车组织) 将p d f 4 1 7 条码选定为 e d i ( 电子数据交换) 标准。a a m v a ( 美国机动车管理局) 将p d f 4 l7 条码选定为所 有驾驶员和机动车管理的二维条码标准。t c i f ( 美国电信工业论坛) 将p d f 4 1 7 条 码作为重要电讯产品的标识标准。美国国防部在其新的军人证上采用p d f 4 7 条 码作为机读标准,己经在全球7 0 0 多个美军基地投入使用。墨西哥也将p d f 4 1 7 条码应用在报关单据与证件上,从而防止了仿造及犯罪。加拿大、纽西兰的交通 部门的执照年审、车辆违规登记、罚款及定期检验上也在应用p d f 4 1 7 条码。 第二章p d f 417 条码的结构特点及编码原理 2 2p d f 4 1 7 条码符号的结构特性 2 2 1p d f 4 1 7 条码的构造 p d f 4 1 7 条码的构造如图2 3 。 abcd e f g 图2 3p d f 4 1 7 条码构造图 从左到右,各个符号代表的含义是: a ) 前导空白区 b ) 起始字符 c ) 左端的行指示符号字符 d ) 1 3 0 个数据符号字符 e ) 右端的行指示符号字符 0 结束字符 g ) 后导空白区 由于p d f 4 1 7 是堆叠式的二维条码,所以每一层相当于一个一维条码,各层 内垂直对齐。在条码四周必须都要有空白区。每个条码编码最少要有三层,最多 可以有9 0 层,每层内都有起始符、结束符、左右的行指示符。除了起始码和结 束码外,左行指示符号字符区、数据区和右行指示符号字符区的数据都可以称为 码字( e o d e w o r d ) ,每一个码字由1 7 个单位模块( m o d u l e s ) 所构成,每一个码字又 可分成4 黑4 白。其中,p d f 4 17 的起始符和结束符是固定的,而左右的行指示 符包含有本行的特定信息。所有的信息都编码为条空序列组成的符号字符。 p d f 4 1 7 条码的符号字符布局实例如图2 4 。 6 第二章p d f 4 1 7 条码的结构特点及编码原理 l 1 d 1 5d 1 4 r 1 l 2d 1 3d 1 2r 2 l 3d 11 d 1 0 r 3 s l 4d 9 d a r 4 s t l 5d 7d 6r 5t a l 6d 5d 4r 6 o r t l 7d 3d 2r 7 p l 8d 1d or a l 9 e 3e 2r 9 l l oe 1e or i o 图2 4 符号字符布局图 在示意图中,最左端和最右端分别是各层都相同的起始符和结束符。l 1 - l 1 0 代表左行指示符号字符,r 1 r 1 0 代表右行指示符号字符,e 0 e 3 代表纠错码字 符,d l 。d 1 4 是数据字符,d 15 代表的第一个符号字符必须由p d f 4 17 条码的数据 字符的总长度编码而成,d 0 代表填充字符。因为p d f 4 1 7 条码必须满足各层的宽 度一样,如果数据不足,就用填充字符填充。 2 2 2p d f 4 1 7 条码的尺寸 p d f 4 1 7 符号的组合较有弹性,每一个p d f 4 1 7 二维条码可根据不同的实体 设备印制时采用不同的长宽比例和密度,以适应印刷条件及扫瞄条件的要求。其 中单位模块宽度x 是p d f 4 1 7 条码中最重要的尺寸之一,x 值的最小限制为 0 0 0 7 5 英寸( 约0 1 9 1 m m ) ,在同一个条码符号中,x 的值是固定不变的。 p d f 4 1 7 的最小高度与长度可由下列算式算出: w = ( 1 7 c + 6 9 ) x + 2 q h = rxy + 2 q 其中各个符号含义为: ( 2 - 1 ) ( 2 2 ) w 为条码宽度,h 为条码高度,x 为单位模块宽度,y 为条码层数,c 为每 层符号字符的总数( 含左右行指示符号字符区) ,r 为层高,q 为空白区大小。 2 2 3p d f 4 1 7 条码的符号字符 p d f 4 17 条码符号字符的结构如图2 5 。 第二章p d f 4 1 7 条码的结构特点及编码原理 l 5 e l e i e i 曙i i m d i i h i | , l ,: i 1 s ls ,s , 图2 5p d f 4 17 条码符号字符的结构 每个符号字符( 结束符除外) 由四个条( 黑色) 和四个空( 白色) 组成,在 图中分别用b 1 至b 4 和s 1 至s 4 表示,如果把其中最窄的条或空的宽度视为单位 模块宽度1 ,则4 个条和四个空的宽度之和为1 7 ,这也是p d f 4 1 7 条码中4 1 7 的 含义:4 表示4 条4 空,1 7 代表条码的单个符号字符的宽度。其中,每个条空的 宽度最大为6 。上图所示符号字符的条空序列是5 1 1111 2 5 。p d f 4 1 7 条码的解码 关键就是测量出每一个符号字符的8 个条空序列,这也是本文后续对条码图像处 理的目标所在。 p d f 4 1 7 条码的起始符和结束符是固定的,其条空序列如图2 - 6 ,对应的条空 示意图如图2 7 。结束码共有9 个条空序列,序列的模块宽度之和为1 8 。 图2 - 6p d f 4 17 条码的起始码、结束码条空序列 s t a r tc h a t , 1 c i p , r s “”c i h l r a c l e f 图2 7p d f 4 1 7 条码起始码、结束码条空示意图 5 t l 2 b b a r - s p a c es e q u e r c e c h a r a c t e r 8sbsbsb8b s t a 瞧81111113 s t o p 71 131 1 1 2 1 第二章p d f 4 1 7 条码的结构特点及编码原理 2 2 4 符号字符的簇 p d f 4 1 7 条码有三个不同的码字集,也称三个不同的簇,分别用簇号0 、3 、6 表示。每个码字集有9 2 9 个码,取值范围是从0 - 9 2 8 。其中0 - 8 9 9 是数据码,其 余的为功能控制码和保留码。对于码字集中的9 2 9 个可用码字,每个簇都分别将 其编码为不同的条空序列,即同一个码字,在不同的簇中用不同的条空组合表示。 而且,p d f 4 1 7 条码各层的簇号从第一层开始,按照0 、3 、6 的顺序依次重复, 也就是第一层的簇号为0 ,第二层的簇号为3 ,第三层的簇号为6 ,第四层的簇 号为0 ,依次重复下去。即行号n 和簇号k 的对应关系是: k = ( n - 1 ) m o d 3 木3( 2 3 ) 每个码的簇号k 和其条空组合的对应数学关系是: k = ( bl - b 2 + b 3 - b 4 + 9 ) m o d9( 2 4 ) b 1 、b 2 、b 3 、b 4 分别代表图2 5 中4 个黑条的模块数。 2 3p d f 4 1 7 条码的压缩模式结构 p d f 4 1 7 条码采用三种高效的压缩方式将数据字符编码为对应的码字,每一 种压缩方式都根据各自的表把用户定义数据转化为码字序列。这三种压缩方式 是:文本压缩模式( t e x tc o m p a c t i o n ) 、字节压缩模式( b y t ec o m p a c t i o n ) 和数 字压缩模式( n u m e r i cc o m p a c t i o n ) 。p d f 4 1 7 条码默认的起始编码方式是文本压 缩模式;各个模式之间可以通过各自的模式切换字( m o d es h i f tc o d e w o r d ) 和模 式锁存字( m o d el a t c hc o d e w o r d ) 来灵活地相互切换,以实现最有效地对数据进 行压缩。模式切换码字用来从一种压缩编码方式暂时地切换到另一种压缩编码方 式,编码预定个数的数据后自动回到原压缩编码方式;而模式锁存码字则用在从 一种压缩编码方式转换停留到另一种压缩编码方式。三种模式之间的切换和锁存 关系及所使用的对应的切换码字和锁存码字入如图2 8 。 9 第二章p d f 417 条码的结构特点及编码原理 9 0 1 , 9 2 4 2 3 1 文本压缩模式 9 0 2 m o d es h i f l m o d el a t c h 图2 8 不同模式之间的转化示意图 文本压缩模式的字符包括所以可打印的a s c i i 字符和3 个a s c i i 控制字符: 空位( t a b ) 、回车、换行。在文本压缩模式下将两个字符压缩为一个码字。文 本压缩模式分为4 种压缩子模式: 大写字母压缩模式( a l p h a ) :主要用来压缩大写字母 小写字母压缩模式( l o w e r ) :主要用来压缩小写字母 混合型压缩模式( m i x e d ) :主要用来压缩数字和一些标点 标点压缩模式( p u n c t u a t i o n ) :主要用来压缩标点 其中大写字母压缩模式是文本压缩模式的默认的子模式。每种压缩模式都有 3 0 个数据字符( o 2 9 ) 的字符集组成,通过公式d = h * 3 0 + i ,将两个基3 0 的数据 字符转化为一个基9 0 0 的码字。如果最后剩下了一个数据字符,就再加上一个填 充字符,合成两个数据来转化为一个码字。 2 3 2 字节压缩模式 字节压缩模式将8 位的字节序列编码为码字序列,是基2 5 6 到基9 0 0 的转换, 压缩率为1 2 :l 。根据字节序列是否是6 的整数倍数,采用不同的控制码字进行 编码。如果字节序列是6 的整数倍数,用模式锁存字9 2 4 ,编码公式是: 1 0 第二章p d f 4 17 条码的结构特点及编码原理 b 5 木2 5 6 5 + 6 4 木2 5 6 4 + 6 3 * 2 5 6 3 + 6 2 宰2 5 6 2 + 6 l * 2 5 6 1 + 6 0 幸2 5 6 0 = d 4 掌9 0 0 4 + d 3 木9 0 0 3 + d 2 * 9 0 0 2 + d l 宰9 0 0 1 + d o * 9 0 0 0 ( 2 - 5 ) 其中,b 。- b ,是八位的字节序列,而d 。d 。是压缩编码后的数据码字。如果 字节序列不是6 的整数倍数,用模式锁存字9 0 1 。在这种情况下,前面的字节序 列每6 位压缩编码为5 个码字,最后剩下的是1 5 个字节不进行压缩,直接将每 个字节用码字逐个直接表示。 2 3 3 数字压缩模式 数字压缩模式主要用于对长串的连续的数字进行压缩,是基10 到基9 0 0 的 转化,压缩率为2 9 3 :l ,即大约1 个码字可以包含3 个数字的容量。数字压缩模 式可以把每4 4 个数字压缩为1 5 位码字,对于更短的数字序列,对应码字的个数 可由如下公式计算: 码字个数= 烈t ( 数字序列个数3 ) + 1 ( 2 6 ) 在p d f 4 1 7 编码标准中,建议当数字的位数大于1 3 时使用数字压缩模式,否 则使用文本压缩模式。 2 4p d f 4 1 7 条码的检错纠错特l 生 p d f 4 1 7 二维条码的特点之一就是译码可靠性高、纠错能力强,这是因为它 采用了目前世界上最先进的纠错技术之一,r e e d s o l o m o n ( r s ) 错误控制技术。 每个p d f 4 17 条码至少包含两个错误纠正码字。p d f 4 1 7 条码有9 个可选的纠错 级别,使用不同数量的纠错码字来进行错误检测和错误纠正。纠错级别n ( 0 8 ) 和相应纠错码字个数m 有如下对应关系: m = 2 肿 ( 2 - 7 ) 纠错码字有2 个用于错误检测,其余的用于纠错。其中,需要一个纠错码字 来恢复一个拒读错误,需要两个纠错码字来纠正一个替代错误。由于一个p d f 4 1 7 条码最多可以包含9 2 5 个数据码字,而在最高纠错级别8 级的情况下,纠错码有 5 1 2 个,在这种情况下,即使5 0 的数据受损,仍可以恢复原始数据,正确解码。 在p d f 4 1 7 条码的标准中,不同的数据量所对应的最低的错误纠正等级推荐 值如表2 1 所示。如果根据实际应用的情况可以预料可能会出现条码损坏或条码 图像质量下降等潜在问题,就需要相应地提高纠错等级。 第二章p d f 4 1 7 条码的结构特点及编码原理 表2 - lp d f 4 1 7 码字个数及对应的纠错等级 数据码字数最低的纠错等级 1 4 0 2 4 1 一1 6 0 3 】6 1 3 2 0 4 3 2 l 9 6 3 5 2 , 5 译码算法的p c 端仿真实现 在正式确定译码算法之前,为了检验译码算法的可靠性,先在p c 机上用 v i s u a lc + - - 编写了上位机程序“。先用p d f 4 1 7 条码生成工具生成完全整洁的条 码图案,这样就无需任何的前端图像处理。用编写的c + + 应用程序将只有黑白 两种像素的p d f 4 1 7 条码图像读入,直接进行解码。结果证明,解码算法是可行 的。 p d f 4 1 7 条码的p c 端解码程序是面向对象程序”,单文档界面【8 删,程序界 面如图2 - 9 。 图2 - 9 m f c 的p d f 4 17 解码示例程序 程序的主要类成员有: c b m p r c a d :由于p d f 4 1 7 条码生成工具生成的条码图像是b m p 格式的,所 以需要根据b m p 格式图像的组成读出相应的点阵数据; 第二章p d f 41 7 条码的结构特点及编码原理 c s h o w v i e w :该类继承自m f c 的c s c r o l l v i e w 类,该类具有滚动条,当绘制 的图形超过客户区的大小的时候,可以通过滚动条的移动来观测整个图形; c p d f 4 1 7 d e c o d e :该类对从b m p 图像中读入的像素数据进行解码,由于没有 任何对图像处理的代码,所以要求b m p 图像是完全由规则的黑白像素组成,且 一副图像只包含一个条码图案。 由于b m p 格式图像的通用性,读取b m p 图像的部分就直接使用已有的程序 代码,而后续对读入数据的解码处理是所做工作的重点。 条码阅读过程的主要步骤如下: 1 通过类c b m p r e a d 的成员函数,读取位图文件中的点阵数据。用u n s i g n e d c h a r 字符指针开辟新的内存空间存放数据,通过指针来引用。对于图像中的每 一个像素,如该像素为黑( r g b 值为0 , 0 ,0 ) ,则该像素记录为1 ,否则为0 。同时 记录图像像素的宽度、长度,这样不论位图格式为单色位图、4 色位图、1 6 色 位图等都将其转换成统一的格式。 2 找出条码在图像中的位置。根据条码起始码和结束码的外边缘为黑色,从 图像两侧开始扫描,调用类的成员函数记录该条码的四个顶点的坐标。 3 确定条码各层位置。对于规范的黑白二值条码图像,因为p d f 4 1 7 条码同 一层内各行的像素是相同的,所以依次比较各行的像素和下一行对应位置的像素 值,就可以标定各层的起始行号和结束行号。 4 逐层计算条空序列。在得到条码各层的位置之后,对于规范的条码图像, 只需要取其中某一行进行扫描,就可以计算出本层内各个码字的条空序列,依次 记录其值。 5 将每个码字的条空序列转化为对应的模块数。 6 对转化后的模块数数据按照p d f 4 1 7 的译码规则来进行最终译码,产生最 终数据存入类的成员p d e c o d e d d a t a 中,其译码通过几个子程序来完成: t e x t c o m p a c t i o n ( ) ,b y t e c o m p a c t i o n ( ) , n u m b e r c o m p a c t i o n0 ,分别完成文本压缩模 式,字节压缩模式和数字压缩模式下的译码。 程序的p d f 4 1 7 图片样例和解码结果如图2 1 0 。 第二章p d f 4 1 7 条码的结构特点及编码原理 窖r2 图2 - 1 0p d f 4 1 7 解码程序演示 通过在p c 机上相对简单的c + - 程序的验证,证明了译码程序的可行性,也 明确了后续工作的主要方向就是将混有噪声、经过旋转等实际采集的条码图像 针对条码的特性进行有效的处理,得到码字的正确的条空序列。 曩的心 彗 d 一 9卧“d 坤 虬日托 d 坤 ne二;nn扯珂垤 l 4i d n 7 2 7 6 2 6 6 7 , 9 3;5 0 2 2;rd口, 3 0 1 0 b d; 3 5 3li 9 n 第三章解码终端的软硬件架构 第三章解码终端的软硬件架构 本章主要介绍解码终端的硬件平台和软件架构。 3 1 解码终端的硬件平台 解码终端硬件平台的核心是t i 的t m s 3 2 0 c 6 7 1 3 b g d p s p 芯片【l o 】,前端使用 的是m i c r o s c a n 公司的q u a d r u sm i n ii m a g e r ,一款条码图像采集专用的激光 摄像头。d s p 芯片外接了存储器,将摄像头采集的图片经过c p l d 时序控制电 路传输到存储器,然后d s p 从外部存储器中读入图像【13 1 ,对图像进行去噪等初 步处理后分辨出图像中的条码个数和条码类型,然后根据各个条码的类型分别进 入相应的子程序进行解码1 1 5 j 。 3 1 1 条码采集模块 终端使用的条码采集器体积小巧、分辨率高( 1 2 8 0 1 0 2 4 ) ,有灵活的自动对 焦功能,可以以任意角度读取线性条码和二维码。在条码移动的情况下,条码采 集器可以接受的最大移动速度可达0 5 m s t 陀j 。根据条码采集器芯片手册的数据, 摄像头没有几何畸变,在使用中发现几何畸变几乎可以认为是零扭曲。条码采集 器的兆像素处理功能使其可以一次读取多个高密度的条码或加长的一维条码,最 小读取的条码宽度是3 3 m i l ,在视野内一次抓取的图像中最多可以容纳1 0 0 个条 码符号。本解码终端充分利用了条码采集器的这一特点,一次可以读取多个不同 类型的条码,而后依次进行解码处理。 3 1 2c 6 7 1 3 的芯片特性 t m s 3 2 0 c 6 713 b g d p s p 是t m s 3 2 0 c 6 0 0 0 系列d s p 平台中一款高性能的3 2 位浮点d s p ,其主频可达2 2 5 m h z ,处理速度高达18 0 0 m i p s 1 0 】【l l 】。c 6 7 1 3 采用 了2 级c a c h e 结构,片上共有2 6 4 k x 8 位存储器,具有3 2 位的e m i f 总线和其 它的丰富的片上外设资源。 c 6 7 1 3 的芯片的特点如下: 高性能的浮点数字信号处理器 每个时钟周期运行8 个3 2 b i t 的指令,处理器主频高达2 2 5 m h z ,丰富的 第三章解码终端的软硬件架构 外设接口,优化的音频处理的功能,高度优化的c c + + 编译器 先进的t m s 3 2 0 c 6 7x t md s p 内核的超长指令字技术 8 个独立的功能单元:6 个a l u 处理单元,2 个定点单元和4 个浮点单 元,浮点单元支持i e e e 标准;两个乘法器,支持单个时钟周期4 个 1 6 x1 6 b i t 的乘法操作或者8 个8 8 的乘法操作; 专用的存储结构,3 2 个3 2 b i t 的通用寄存器: 指令打包技术,减小代码容量;所有指令均为条件指令; 具有类似r i s c 的指令集特性 支持i e e e 7 5 4 标准的单精度和双精度运算; 对8 b i t 、1 6 b i t 和3 2 b i t 数据的字节寻址,8 b i t 的溢出保护; 支持位操作和位计数,归一化和饱和; l l l 2 高速缓冲架构 4 k x8 b i t 的l i p 程序高速缓冲,采用直接映射结构; 4 k x8 b i t 的l i d 数据高速缓冲,采用双路组联想结构; 总共2 5 6 k x 8 b i t 的l 2 存储器,6 4 k b 的l 2 统一映射r a m 和1 9 2 k b 的 附加的l 2 直接映射r a m ; 3 2 b i t 的外部存储器接口( e m i f ) 与s r a m 、e p r o m 、f l a s h 、s b s r a m 和s d r a m 的无缝接口; 共有5 12 m b 的可寻址外部存储空间; 丰富的外设接口 1 6 个独立通道的增强型d m a 控制器; 2 个内部集成的,2 c 总线,主从模式接口,实现控制外设或与主机通讯; 可以访问d s p 的整个存储空间的1 6 位的主机接口( h p i ) ; 一个专用的通用输入输出端口( g p i o ) 模块; 2 个多通道缓冲串口( m c b s p ) ,支持s p i 总线接口形式,高速的t d m 接 口和a c 9 7 接口。 c 6 7 1 3 的功能框图如图3 1 所示。 1 6 第三章解码终端的软硬件架构 图3 1c 6 7 1 3 的功能框图 如图3 1 所示,c 6 7 1 3 采用的是二级c a c h e 结构,一级程序c a c h e 直接映射, 一级数据c a c h e 是双端配置,而二级c a c h e 是程序数据共享的,2 5 6 k b 中的6 4 k b 是可以根据需要配置为直接映射存储空间或c a c h e ,而余下的1 9 2 k b 保留为映 射s r a m 。 c 6 7 1 3 的c p u 内核为哈佛结构,取地址和取数据通路是分离的,可以同时运 行,有2 个数据通路,每个数据通路包含4 个功能单元和1 6 个3 2 位寄存器堆。 功能单元d 1 、m 1 、s 1 、l 1 ( 数据通路a ) 和d 2 、m 2 、s 2 、l 2 ( 数据通路b ) 用于完成算术、逻辑运算和数据存取等操作,而寄存器堆则用于暂存操作数。 c 6 7 1 3 的功能单元不仅能进行定点运算,而且可以进行浮点运算。在2 2 5 m h z 的 主频下运行,主要的性能指标是1 3 5 0 m f l o p s ,1 8 0 0 m i p s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 23387:2025 EN Building information modelling (BIM) - Data templates for objects used in the life cycle of assets
- 线路板智能工厂建设项目施工方案
- 交通运输行业数据集建设实施方案
- 高效管理:二人合资开设健身房的详细合同
- 离婚后双方人寿保险权益分割及责任转移协议
- 离婚协议书欠条范本:赡养费支付与债务偿还
- 离婚协议书中关于财产分割及债务处理的具体操作指南
- 离婚协议中婚内财产约定与婚后财产归属协议
- 惠养老服务中心建设项目施工方案
- 全球石油工程市场趋势及未来发展展望
- 《早读是需要激情的!》主题班会课件
- 2025年质量月知识竞赛题库(附答案)
- 生猪订购合同书范本3篇
- 2025年妇产科学科宫颈癌筛查常见问题考试答案及解析
- 培训部数据安全事项课件
- 保安部安全培训教学课件
- 软件人员外包合同
- 老年综合征与护理试题及答案
- 3.2《参与民主生活》教案 2025-2026学年度道德与法治九年级上册 统编版
- 研发投入工时管理办法
- 道路升降柱安装合同范本
评论
0/150
提交评论