一种码表生成装置的制作方法

文档序号:6343661阅读:167来源:国知局
专利名称:一种码表生成装置的制作方法
技术领域
一种码表生成装置
技术领域
本实用新型涉及一种码表生成装置,特别涉及一种条码解码过程所使用的码表的生成装置。
背景技术
条码技术是在计算机技术与信息技术基础上发展起来的一门容编码、印刷、识别、 数据采集和处理于一身的新兴技术。条码技术由于其识别快速、准确、可靠以及成本低等优点,被广泛应用于商业、图书管理、仓储、邮电、交通和工业控制等领域,并且势必在逐渐兴起的“物联网”应用中发挥重大的作用。目前被广泛使用的条码包括一维条码及二维条码。一维条码又称线形条码是由平行排列的多个“条”和“空”单元组成,条形码信息靠条和空的不同宽度和位置来表达。一维条码只是在一个方向(一般是水平方向)表达信息,而在垂直方向则不表达任何信息,因此信息容量及空间利用率较低,并且在条码损坏后即无法识别。二维条码是由按一定规律在二维方向上分布的黑白相间的特定几何图形组成,其可以在二维方向上表达信息,因此信息容量及空间利用率较高,并具有一定的校验功能。二维条码可以分为堆叠式二维条码和矩阵式二维条码。堆叠式二维条码是由多行短截的一维条码堆叠而成,代表性的堆叠式二维条码包括PDF417、Code 49、Code 16K等。矩阵式二维条码是由按预定规则分布于矩阵中的黑、白模块组成,代表性的矩阵式二维条码包括 Codeone、Aztec、Date MatriX、QR 码等。在现有技术的条码解码过程中往往需要通过查询码表来获取码字。例如,在PDF 417条码的9 码表中,由4个条和4个空构成一个符号字符,并通过该4个条和4个空的模块数来表示该符号字符。每个符号字符分别对应一个码字。在现有技术的条码解码过程中,需要将码表存储于ROM中,在解码时根据扫描条空间隙得出的符号字符从ROM中查询码表,并解码出对应的码字。然而,码表在ROM中占用大量空间,导致系统对ROM的需求很大。

实用新型内容为了克服现有技术中需要将码表直接存储于ROM中进而导致系统对ROM的需求很大的技术问题,本实用新型提供了一种码表生成装置,该码表生成装置包括初始化单元; 码字生成单元,与初始化单元连接;符号字符生成单元,与初始化单元连接。通过上述码表生成装置,可在需要时直接生成码表,无需预先将码表存储ROM中, 降低了系统对ROM的需求。
图1是根据本实用新型的码表生成方法的流程图;图2是根据本实用新型的9 码表生成方法的一具体流程图;图3是根据本实用新型的9 码表生成方法的另一具体流程图;[0011]图4是根据本实用新型的码表生成装置的示意框图。
具体实施方式
本实用新型提供了一种码表生成方法,该码表生成方法可在需要时直接生成码表,无需预先将码表存储于ROM中,降低了系统对ROM的需求,并且该码表生成方法可直接由硬件逻辑实现。如图1所示,图1是根据本实用新型的码表生成方法的流程图。在本实用新型的码表生成方法中,首先生成第一数字序列以及第二数字序列,利用第二数字序列生成码字, 并利用第一数字序列生成符号字符。随后,对符号字符进行合法性判断,并由此确定判断合法的符号字符与码字的对应关系。通过上述方法,可以通过分别改变第一数字序列以及第二数字序列来获得不同符号字符与码字的对应关系,由此可以在系统的上电后或需要时自动生成码表,无需预先存储码表,降低了系统对ROM的需求。如图2所示,图2以PDF417条码为例详细描述了通过上述方法生成拟9码表的方法。具体来说,对于0簇码表,首先生成第一数字序列以及第二数字序列。在本实施例中, 生成一个五位的六进制数M = yiy2y3y4y5作为第一数字序列,生成一个三位的十进制数N作为第二数字序列,并将M设置为00000,将^受置成000,即71、72、73、74、75分别为0。在本实施例中,N直接作为码字。随后,利用簇号公式(ycryAyfy^mod 9 = 0计算yQ。在计算出yQ后,可进一步对 Y0进行合法性判断,若I0合法,则进入下一步,若I0不合法,则将M加1,并重新利用簇号公式计算新的10。具体来说,对知进行合法性判断是判断I0是否小于等于5且大于等于0, 若I0小于等于5且大于等于0,则J0合法,否则,y0不合法。在计算出yQ后,在利用求和公式(yQ+y2+y4+y6) = 9计算y6。在计算出 后,进一步对y6进行合法性判断,若y6合法,则进入下一步,若y6不合法,则将M加1,并返回重新利用簇号公式计算新的%。对y6进行合法性判断是判断y6是否小于等于8且大于等于0,若 Y6小于等于8且大于等于0,则y6合法,否则,y6不合法。在计算出 y0 和 y6 后,禾丨J用如下公式:y0 = χ0+Χι ι = Xi+X2^y2 = χ2+χ3'Υ3 = x3+x4' y4 = x4+x5,y5 = χ5+χ6以及y6 = χ6+χ7确定是否存在符合上述公式的X0J1J2J3J4J5J6 以及χ7及其可能值。在这种情况下,一组%、n y3、y4、y5以及y6可能对应多组&、X1^ X2>X3>X4>X5>X6以及X7。此时,X1^yXy 、X5、&及X7W 1后的结果即为各条空的模块数。 然而,为了存储及计算方便,在本实施例中,选择yc^y^y^W作为符号字符。当然,本领域技术人员完全可以想到直接利用Χι、χ2> χ3> χ4> χ5> X6及χ7或加1后的结果作为本实用新型的符号字符。在确定出符号字符后,仍需要对符号字符进行进一步的合法性判断。例如,在929 码表中,各条空的模块数均小于等于6,因此对符号字符进行合法性判断还包括判断Χι、χ2, x3、X4> X5> X6及X7是否小于等于5且大于等于0,若其中一组X” x2、X3> X4> X5> X6及X7均小于等于5且大于等于0,则表示该符号字符合法。否则,则认为符号字符不合法。在判断符号字符不合法后,则将M加1,并重新利用簇号公式计算新的10,并重复后续操作。对于0簇码表,除了利用上述规则后,还需要利用例外列表对符号字符是否合法做进一步判断。在本实施例中,例外列表内顺序存储多个比较值。并且,在利用例外列表对符号字符进行合法性判断时,将N与例外列表中的当前比较值进行比较。若N与当前比较值相同则认为符号字符不合法,此时将多个比较值中的下一比较值作为下次比较的当前比较值,并将M加1后重新利用簇号公式计算新的并重复后续操作。若N与当前比较值不相同,则认为符号字符合法,并保持当前比较值不变,以利用该当前比较值来对后续的符号字符进行合法性判断。在本实施例中,在例外列表中存储与N对应的比较值,然而本领域技术人员完全可以想到在例外列表中存储与M或符号字符对应的比较值。此时,则需要将M 或符号字符与当前比较值进行比较来判断符号字符的合法性。例外列表的作用是根据符号字符与码字的实际对应关系将由上述规则无法判断的例外情况预先存储于ROM。由于例外情况仅在码表的极小一部分,由此可大大降低对ROM的需求。在通过上述判断后,则认为判断合法的符号字符与N所代表的码字是对应的。并且,在一实施例中,将判断合法的符号字符顺序存储于存储器(例如,RAM)中,以便在后续查表时根据符号字符及其存储位置确定符号字符与码字的对应关系。当然,也可以不对符号字符进行存储,而是在需要进行查表时直接利用上述方式确定符号字符与码字的对应关系。在确定符号字符与码字的对应关系后,进一步判断N是否等于928,若N小于等于 928,将N和M分别加1,并重新利用簇号公式计算新的y0,并重复后续操作,以确认新符号字符与码字的对应关系。若N等于928,则表明已确认完9 码表中全部9 个符号字符与码字的对应关系,进而码表生成方法结束。当然,也可以根据预先存储的若干个离散的符号字符与码字对应关系来对M和N 进行初始化,并在N值满足预定数值时即停止码表生成方法。此时,该若干个离散的符号字符与码字对应关系形成多个区段,本实施例的码表生成方法则不是计算9 码表中全部 929个符号字符与码字的对应关系,而是计算9 码表的一定区段内的符号字符与码字的对应关系。在实际使用时,可预先根据扫描获得的符号字符确定该符号字符所在的区段,再利用上述方法生成该区段内的码表,由此确定该符号字符所对应的码字。由此,可进一步节约运算时间。通过本实用新型的码表生成方法,可优选利用硬件逻辑在系统上电或需要时直接生成码表,无需预先将码表存储ROM中,降低了对ROM的需求,减小了硬件解码芯片的尺寸。如图3所示,图3是针对3及6簇码表的码表生成方法的流程图。在本实施例与图2所示的实施例的区别仅在于在初始化步骤,生成五位的八进制数M = yiy2y3y4y5作为第一数字序列,利用(ycryi+h-y^mod 9 = 3或6来确定y(1,并在y(1的合法性判断时是将y(1 是否小于等于7且大于等于0作为判断标准。此外,在符号字符的合法性判断时,无需利用例外列表做进一步判断。如图4所示,图4是实现上述码表生成方法的码表生成装置的示意框图。在本实施例中,该码表生成装置包括初始化单元、码字生成单元以及符号字符生成单元。初始化单元用于生成第一数字序列以及第二数字序列,并进行初始化。在本实用新型中,对于9 码表中的0簇码表,初始化单元生成一个五位的六进制数M = yiy2y3y4y5 作为第一数字序列,生成一个三位的十进制数N作为第二数字序列。对于拟9码表中的3 或6簇码表,初始化单元生成一个五位的八进制数M = yiy2y3y4y5作为第一数字序列,生成一个三位的十进制数N作为第二数字序列。并且根据上述实施例中描述的,可在初始化时将M设置为00000,将N设置成000,或者根据预先存储的若干个离散的符号字符与码字对应关系来对M和N进行初始化。在本实用新型中,码字生成单元利用第二数字序列生成码字。并且对于9 码表来说,码字生成单元将N直接作为码字。此时,码字生成单元可由不具有运算能力的常规寄存器实现。在本实用新型中,符号字符生成单元利用第一数字序列生成符号字符,并进行合法性判断,以确定判断合法的符号字符与码字的对应关系。具体来说,符号字符生成单元包括第一运算单元、第一判断单元、第二运算单元、第二判断单元、第三运算单元以及第三判断单元。其中,对于0簇码表,第一运算单元利用簇号公式dydi+h-y^mod 9 = 0计算 10。第一判断单元判断I0是否小于等于5且大于等于0,若%小于等于5且大于等于0,则 y0合法,否则,%不合法。第二运算单元利用求和公式(yo+y2+y4+y6) = 9计算y6。第二判断单元判断y6是否小于等于8且大于等于0,若y6小于等于8且大于等于0,则y6合法,并将卿2獨仏作为符号字符,否则,Y6不合法。第三运算单元利用如下公式% = Xo+Xi' Yi = Xi+X2' y2 = χ2+χ3' y3 = χ3+χ4' y4 = χ4+χ5' y5 = χ5+χ6 以及 y6 = χ6+χ7 确定 χ0>χι>χ2>χ3> X4、X5>X6以及Χ7。第三判断单元判断χ。、Χι>Χ2> X3、X4>X5>X6及X7是否小于等于5且大于等于0,若存在一组&、Χι>Χ2> X3> X4> x5> X6及X7均小于等于5且大于等于0,则符号字符合法, 否则符号字符不合法。第一加法单元在yo、y6或者符号字符不合法时,对M进行加1并输入符号字符生成单元进行重新运算。对于0簇码表,符号字符生成单元进一步包括用于存储例外列表的存储器,第三判断单元进一步将N与例外列表中顺序存储的多个比较值中的当前比较值进行比较,若N 与当前比较值相同则符号字符不合法,并将多个比较值中的下一比较值作为下次比较的当前比较值,若N与当前比较值不相同则符号字符合法,并保持当前比较值不变。对于3或6簇码表,第一运算单元利用簇号公式(ycryAyfy^mod 9 = 3或6计算 10。第一判断单元判断I0是否小于等于7且大于等于0,若L小于等于7且大于等于0,则 y0合法,否则,y0不合法。第二运算单元利用求和公式(yo+y2+y4+y6) = 9计算y6。第二判断单元判断y6是否小于等于8且大于等于0,若y6小于等于8且大于等于0,则y6合法,并将卿2獨仏作为符号字符,否则,Y6不合法。第三运算单元利用如下公式% = Xo+Xi' Yi = Xi+X2' y2 = χ2+χ3' y3 = χ3+χ4' y4 = χ4+χ5' y5 = χ5+χ6 以及 y6 = χ6+χ7 确定 χ0>χι>χ2>χ3> X4、X5>X6以及Χ7。第三判断单元判断χ。、Χι>Χ2> X3、X4>X5>X6及X7是否小于等于5且大于等于0,若存在一组&、Χι>Χ2> X3> X4> x5> X6及X7均小于等于5且大于等于0,则符号字符合法, 否则符号字符不合法。第一加法单元在yo、y6或者符号字符不合法时,对M进行加1并输入符号字符生成单元进行重新运算。进一步,码字生成单元包括第四判断单元及第二加法单元。第四判断单元在第三运算单元判断符号字符合法进而与N对应时,判断N是否等于预定数值,若第四判断单元判断出N不等于预定数值,则由第二加法单元将N和M分别加1并分别输入码字生成单元以及符号字符生成单元以确定新的符号字符与码字的对应关系。上述各种模块单元所执行的具体步骤可进一步参照图1-3的方法实施例的描述, 在此不再赘述。[0033]在上述实施例中,仅对本实用新型进行了示范性描述,但是本领域技术人员在阅读本专利申请后可以在不脱离本实用新型的精神和范围的情况下对本实用新型进行各种修改。
权利要求1. 一种码表生成装置,其特征在于,所述码表生成装置包括 初始化单元;码字生成单元,与所述初始化单元连接; 符号字符生成单元,与所述初始化单元连接。
专利摘要本实用新型公开了一种码表生成装置,该码表生成装置包括初始化单元;码字生成单元,与初始化单元连接;符号字符生成单元,与初始化单元连接。通过上述装置,利用第一数字序列以及第二数字序列分别生成符号字符及码字,并可通过分别改变第一数字序列以及第二数字序列来获得不同符号字符与码字的对应关系,由此可以在需要时直接生成码表,无需预先存储码表,降低了系统对ROM的需求。
文档编号G06K7/10GK201936320SQ201020213190
公开日2011年8月17日 申请日期2010年6月1日 优先权日2010年6月1日
发明者刘峰, 林辉辉, 胡伦育, 蔡强 申请人:福建新大陆电脑股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1