手机客户端软件—qr_二维码编解码器的分析与设计_第1页
手机客户端软件—qr_二维码编解码器的分析与设计_第2页
手机客户端软件—qr_二维码编解码器的分析与设计_第3页
手机客户端软件—qr_二维码编解码器的分析与设计_第4页
手机客户端软件—qr_二维码编解码器的分析与设计_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

手机客户端软件QR二维码编解码器的分析与设计20100919来源HTTP/WWWNEARLWCOM摘要本论文在研究二维条码知识的基础上,根据快速响应矩阵码国家标准设计完成了QR二维码编解码算法过程,尤其是REEDSOLOMON纠错算法的电路编码实现,对其他条码技术的编解码有着很强的理论指导意义。同时,开发安装完成手机上的二维码编解码客户端软件是手机上的一项增值业务,不仅可以满足服务提供商推广增值业务的需求,还有着广泛的市场应用价值。本论文的研究成果在于创新性地使用二维码为兑付凭证,建立用户手机和物品的关联关系,在提高数据传输的安全性的基础上,用网络信息传输完成数据传输过程,从而提高了现有网络资源的利用率以及数据传输的效率和安全。关键词快速矩阵响应二维条码;REEDSOLOMON;手机客户端软件1引言随着世界经济的飞速发展,经济全球化、信息网络化、生产国际化成为当今世界经济的主流。同时,各行各业的管理体制和管理手段也在发生着日新月异的变化,现代化的高新技术推动了自动识别技术的迅猛发展。条码技术是在图形识别技术的基础上发展起来的一种信息处理技术,目前在世界范围内已得到广泛的应用。二维码的出现是条码技术发展史上的里程碑,从质的方面提高了条码技术的应用水平,从量的方面拓宽了应用领域1。本论文根据快速响应矩阵码国家标准设计完成了QR二维码编解码算法过程,其中对编码版本和纠错等级有较高的要求,尤其是REEDSOLOMON纠错算法的电路编码实现,对其他条码技术的编解码有着很强的理论指导意义。同时,开发安装完成手机上的二维码编解码客户端软件是手机上的一项增值业务,不仅可以满足服务提供商推广增值业务的需求,还有着广泛的市场应用价值。2快速响应矩阵二维条码编解码实现在简单介绍二维条码知识的基础上,依据快速响应矩阵码国家标准,详细阐述了QR二维码的编码过程,译码过程和纠错算法,最后给出结果演示。21二维码技术简介二维条码(2DIMENSIONALBARCODE)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙地利用构成计算机内部逻辑基础的0、1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理。QRCODE码是由日本DENSO公司于1994年9月研制的一种矩阵二维码符号,它除具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象多种文字信息、保密防伪性强等优点外,还具有如下主要特点普通的一维条码只能在横向位置表示大约20为的字母或数字信息,无纠错功能,使用时候需要后台数据库的支持,而二维条码是横向纵向都存有信息,可以放入字母、数字、汉字、照片、指纹等大量信息,相当一个可移动的数据库。如果用一维条码与二维条码表示同样的信息,QR二维码占用的空间只是条码111的面积。图1为QR码符号版本5的示例。22QR码符号结构每个QR码符号由正方形模块组成的一个正方形阵列构成,它由编码区域和包括寻像图形、分隔符、定位图形和校正图形在内的功能图形组成。功能图形不用于数据编码。符号的四周为空白区。图2为以QR码版本7符号为例的结构图2。23编码过程231数据分析分析所输入的数据流,确定要进行编码的字符的类型。QR码包括几种不同的模式,以便高效地将不同的字符子集转换为符合字符。选择所需的纠错等级。(如版本1,每边模块数21,功能图形模块数202,格式及版本信息模块数31,数据模块数208,数据容量【码字】26,剩余位0;版本2,每边模块数25,功能图形模块数235,格式及版本信息模块数31,数据模块数359,数据容量【码字】44,剩余位7。版本号每加1,模块数加4,当版本号6时,格式及版本信息模块数为67)模式转换可以缩短位流长度,但要有模式指示符和字符计数指示符(位数与版本号和模式相关)的附加开销,选择适当的模式提高编码效率。232常用编码模式数字模式对十进制数字09(ASCII值3039)编码,密度通常为每10位表示三个字符。字母数字模式对45个字符的字符集进行编码,包括10个数字09,26个字母字符AZ,9个符号SP密度通常为每11位表示两个字符。8位字节模式用于表示ASCII字符集(00FF),编码密度为每8位表示一个字符。中国汉字模式用于表示GB2312规定的双字节表示的中国汉字和非汉字字符,字符值为字符对应的内码值。编码密度为每13位表示一个双字节字符。233数据编码根据采用的模式,将数据字符转换为位流。当需要进行模式转换时,在新的模式段开始前加入模式指示符进行模式转换,在数据序列后面加入终止符,将产生的位流分为每8位一个码字,必要时加入填充字符以填满按照版本要求的数据码字数。位流(ECI标头)模式指示符(4位)字符计数指示符(位数和版本号及编码模式有关)数据位流终止符(0000)位流到码字的转换每个模式段的位流需要按顺序连接在一起,最后添加终止符。所得的数据位流被分为一个个码字,所有码字的长度都是8位,如果位流长度最后一个码字不足8位,则用二进制0填充至8位。然后按照版本号和纠错等级交替添加填充码字11101100和00010001,将数据位流扩展,以填满符号的数据容量,所得结果加入纠错码字。有些版本需要在信息的最后添加3、4或7个剩余位。(如版本1H,数据码字数为9,数据位数为9872,数据容量数字17;字母数字10;8位字节7;中国汉字4)234纠错编码按需要将码字序列分块,以便按块生成相应的纠错码字,并将其加入到相应数据码字序列的后面。纠错码添加在数据码字序列后,使得符号可以在遇到损坏时不致丢失数据。纠错容量计算举例版本6H符号中共有172个码字,60个数据码字,112个纠错码字,这112个纠错码字可以纠正56个替代错误或112个拒读错误,符号纠错容量为56/172或326。QR码符号各版本的纠错特性举例版本1M,纠错块数1,码字总数26,数据码字数16,纠错码字数261610,错误检测码字数2,纠错替代错误数(102)/24;版本5H,纠错块数4,码字总数134,数据码字数11212248,纠错码字数88,错误检测码字数0,纠错替代错误数88/244。将数据码字分块,每一块分别计算出纠错码字并添加到数字码字后。纠错码字是数据码字被纠错多项式G(X)除得的余数。235构造最终信息在每一块中置入数据和纠错码字,必要时加剩余位。根据版本和纠错等级将数据码字序列分成N块,对每一块计算相应的纠错码字,最终序列生成方式数据块1的码字1,数据块2的码字1,数据块N的码字1,数据块1的码字2,数据块N的码字2数据块1的最后一个码字,数据块N的最后一个码字;随后,纠错块1的码字1,纠错块2的码字1,纠错块N的最后一个码字。正好填满符号的码字容量,必要时加3、4或7个剩余位。236在矩阵中布置模块将寻像图形、分隔符、定位图形、校正图形与码字模块一起放入矩阵。将整个码字序列视为一个单独的位流,将其(最高位开始)按从右向左、向上和向下的方向交替的布置于两个模块宽的纵列中,并跳过功能图形占用的区域,在纵列的顶部或底部改变方向,每一位应放在第一个可用的位置。237掩模用8种掩模图形依次对符号的编码区域的位图进行掩模处理,评价所得到的8种结果,选择最优的一种。为了QR码阅读的可靠性,最好均衡地安排深色与浅色模块,避免位置探测图形的位图1011101出现在符号的其他区域。掩模不用于功能图形,用多个矩阵图形(掩模图形参考)对已知的编码区域的模块图形(格式信息和版本信息除外)进行XOR操作。对每个结果图形的不合要求的部分记分,评估这些结果,选择得分最低的图形。评分特征(括号内为罚分权重)行列中相邻模块的颜色相同N1(3);颜色相同的模块组成的块N2(3);行列中出现1011101的图形N3(40);整个符号中深色模块的比率(10)238格式和版本信息生成版本信息和格式信息,构成符号。格式信息为15位,5位数据位,10位用BCH(15,5)编码计算的纠错位。包含纠错等级信息(第1、2位)、掩模图形参考信息(第3、4、5位)。15位格式信息与101010000010010进行XOR操作(确保前五位不全为零),格式信息在符号中出现两次,(4V9,8)总是深色,V是版本号。版本信息位18位,6位数据位,12位用BCH(15,5)编码计算的纠错位。只有版本740符号包含版本信息,没有任何版本信息的结果全为0,所以不必掩模处理。版本信息在符号中也出现两次,6行3列模块组成的版本信息放在定位图形的上面,其右侧紧临右上角位置探测图形的分隔符,3行6列模块组成的版本信息放在定位图形的左侧,其下边紧临左下角位置探测图形的分隔符。24译码过程从识读一个QR码符号到输出数据字符的译码步骤是编码程序的逆过程,1定位并获取符号图像。深色与浅色模块识别为由“0”与“1”组成的阵列。2识读格式信息按需要去除掩模图形并完成对格式信息模块的纠错,识别纠错等级与掩模图形参考。3识读版本信息如果应用,确定符号的版本。4用掩模图形掩模图形参考已经从格式信息中得出对编码区域的位图进行异或处理,消除掩模。5根据模块排列规则,识读符号字符,恢复信息的数据与纠错码字。6用与纠错等级信息相对应的纠错码字检测错误,如果发现错误,则进行纠错。7根据模式指示符和字符计数指示符将数据码字划分成多个部分。8最后,按照使用的模式进行译码,得出数据字符并输出结果。25纠错算法REEDSOLOMON码是一种特殊形式的循环码,是多元BCH码的一种。RS码基于有限域理论,特别是形如GFQM的有限域。在发送端发送信息之前,纠错编码器根据要发送的数据信息计算相应的纠错信息,并把纠错信息作为冗余校验和数据信息一起组成纠错码。在接收端收到这些码后,通过纠错编码器不仅能自动地发现错误,而且能自动地纠正码字在传输过程中的错误,这种差错控制的系统属于前向纠错系统4。纠错算法可以用如下多项式除法电路来实现。寄存器B0到BK1的初始值为0。生成编码的状态有2种,在第一种状态,开关位置向下,数据码字同时经过电路与输出,第一种状态在N个时钟脉冲后结束,在第二种状态(N1,NK时钟脉冲时,开关位置向上,通过保持输人为0顺序释放寄存器而生成纠错码字5。如图3所示。26编译码和纠错演示以6L(版本6,纠错等级L)为例,输入数据为REEDSOLOMONCODESAREBLOCKBASEDERRORCORRECTINGCODESWITHAWIDERANGEOFAPPLICATIONSINDIGITALCOMMUNICATIONSANDSTORAGE3手机客户端软件分析与设计31客户端软件设计原则由于手机上的网络带宽,运算能力,内存和电量的硬件限制,以及无线网络传输的成本,在开发手机客户端的过程中,要充分考虑到系统的实时性和稳定性,有许多问题需要解决,客户端程序研发的质量将直接影响产品的在市场上的推广和宣传。设计时需要考虑软件的灵活性,稳定性,高效性,可扩展性,实时性等原则3。32模块分层映射架构本文提出了一个易于实现JAVA语言平台间移植的模块分层影射的架构设计,可以在很大程度上降低平台移植的工作难度,提高工作效率。这个设计将整个架构划分为三层后台服务器层、客户端代理层和用户界面层。服务器层用于扩展增值业务和实现产品功能。中间层和用户界面层之间是C/S,B/S混合式架构,管理员和业务负责人使用浏览器进行业务操作,实际用户使用手机上的客户端程序与服务器交互。客户端代理层是手机与其他服务器的代理,在无线网络运营商端架设,CSERVER屏蔽了C/S的手机客户端和无线网络,并承担手机客户端的管理工作,可以使上层的应用更加容易扩展。首先提取业务和平台无关的功能,如网络通讯,通用数据结构,通用工具类等功能,以及通用的MVC架构,用平台无关的方法实现,使其为上层提供稳定的接口。这些功能只使用JAVA语言的基本功能,属于J2SE范围内,如JAVALANG,JAVAUTIL等包,所有厂商的JAVA语言的SDK都能够编译通过。这一层可以做到不做任何修改的移植,并且是业务无关的,可以被所有产品应用共享,独立维护,并以JAR的静态库的方式提供给其他项目。中间层中主要包含了业务处理的核心逻辑,网络代理类。主要实现了业务处理逻辑,同一产品中的该层代码可以共享,同时它可以封装将上层的功能进行封装和屏蔽。业务相关层会涉及到不同平台的特殊API。为了使这一层也实现跨平台,对平台间相同功能的API做了同一的封装,以接口定义的形式使用,这些接口的实现放在下一层,本产品在这一层各模块间的组织符合上节中的插件设计,即没有模块间的耦合,将这些耦合降到下一层中实现。这一层包含了所有平台间和手机型号间差异的特征和模块间耦合的处理,实现了中间业务相关层中接口。这样设计可以在平台移植和功能扩展上减少工作量,大大提高了代码的重用。4总结本论文详细分析讨论了快速响应矩阵二维条码在PC端和手机终端的编解码过程,使用二维码建立手机和物品的关联关系,在提高数据传输的安全性基础上,提高了现有网络资源的利用率以及数据传输的效率,在客户端软件设计中,引入模块分层映射架构,使得便于在客户端软件的基础上开发产品和扩展业务。编码流程的每一步都是严格按照国家标准用程序实现的,健壮性和可扩展性都较强,扩展问题得到很好的实现,可以直接投入使用。十年论文机构京都名师论文中心,正规全面的论文刊物为您提供职称论文,毕业论文,硕士论文,医学论文,教育论文等各类论文发表服务。参考文献1卓望信息技术北京有限公司,中国移动条码识别业务介绍,2006年10月2国家质量技术监

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论