条码的结构、解码方法及解码装置与流程

文档序号:11143449阅读:612来源:国知局
条码的结构、解码方法及解码装置与制造工艺

本发明提供一种条码的结构、解码方法及解码装置,特别涉及一种可以表示8比特数据的条码的结构,以及搭配上述条码的结构的解码方法及解码装置。



背景技术:

市面上许多产品多以Code 128编码方式作为制定一维条码的标准。但对于空间有限,却需要更多数据量的条码,一般通用的条码已不敷使用。

举例来说,在医疗仪器的试剂盘耗材上印有一维条码来提供检测计算过程所需要的信息。在常用的一维条码中,信息密度最高的是利用Code 128编码方式所产生的Code 128条码。在此种Code 128条码中,每一字元是由三个黑条(Bar)与三个白条(Space)组成。三个黑条与三个白条的宽度总和为11个单位宽度。每个黑条与每个白条的宽度可因设计而不同,且最粗的宽度为最细的宽度的4倍。一个字元可具有7比特的信息量。因此,对于表示8比特数据,必需打散而分别塞入7比特的空间中,造成编码与运算的不便,且提高数据表示的复杂度。

因此,若可将Code 128条码扩展至能表示8比特数据的条码,将可增加条码的信息密度,并可同时简化编码与后续运算。



技术实现要素:

本发明实施例提供一种条码的结构,用以表示8比特的数据。且条码的结构包括一数据序列、一起始白条与一结尾黑条。数据序列具有一起始侧与一结尾侧,且一数据码设置于起始侧与结尾侧之间。数据码由依序设置的三个黑条与三个白条组成,或者由依序设置的二个黑条与二个白条组成。数据码由黑条开始交替地设置多个黑条与多个白条。三个黑条与三个白条的宽度总和为11个单位宽度,以及二个黑条与二个白条的宽度总合为11个单位宽度。起始白条串接起始侧,且与数据序列的多个黑条与多个白 条依序设置。而起始白条的宽度为5个单位宽度以上。结尾黑条串接结尾侧,且与数据序列的多个黑条与多个白条依序设置。而结尾黑条的宽度为2个单位宽度以上。

本发明实施例的条码的结构可还包括另一个数据码,且另一个数据码设置于数据码与结尾侧之间。

本发明实施例提供一种条码的解码方法,适用于一解码装置,用以扫描上述条码的结构。上述条码环设在一圆柱的一环形侧面,且上述条码的数据序列中具有多个数据码。解码方法包含如下步骤:扫描设置于一物件上的条码;根据条码的起始白条,提取多个数据码中交替设置的多个黑条与多个白条;计算多个黑条、多个白条与结尾黑条的时间;累加多个黑条与多个白条的时间,并据此计算每一个数据码的一平均时间,且根据结尾黑条的时间与起始白条的时间其中之一或其组合计算1个单位宽度时间;根据平均时间、多个黑条的时间与多个白条的时间,判断每一个数据码为由三个黑条与三个白条组成,或由二个黑条与二个白条组成;以及根据1个单位宽度时间、多个黑条的时间与多个白条的时间,计算每一个数据码的多个黑条的宽度与多个白条的宽度,以据此辨识每一个数据码所代表的8比特的数据。

本发明实施例提供一种条码的解码装置,用以扫描上述条码的结构,且上述条码的数据序列中具有多个数据码。解码装置包含一物件、一光发射器、一光感测器与一处理器。物件设置有条码。光发射器设置于条码的周围,且用以发射一入射光信号至条码。光感测器设置于条码的周围,且与光发射器对应设置,以接收入射光信号反射的一反射光信号,并根据反射光信号产生代表条码的一输出信号。而处理器则连接物件与光感测器,用以控制物件的作动,且根据物件的作动接收输出信号,以根据输出信号解码条码。高电平的输出信号代表条码的黑条。低电平的输出信号代表条码的白条。5个单位宽度以上的低电平的输出信号代表条码的起始白条。2个单位宽度以上的高电平的输出信号代表条码的结尾黑条。处理器用以执行下列步骤:提取输出信号,以根据输出信号分析条码;根据条码的起始白条,提取多个数据码中交替设置的多个黑条与多个白条;计算多个黑条、多个白条与结尾黑条的时间;累加多个黑条与多个白条的时间,并据此计 算每一个数据码的一平均时间,且根据结尾黑条的时间与起始白条的时间其中之一或其组合计算1个单位宽度时间;根据平均时间、1个单位宽度时间计算可成为数据码的一条件时间;根据条件时间、多个黑条的时间与多个白条的时间,判断每一个数据码为由三个黑条与三个白条组成,或由二个黑条与二个白条组成;以及根据1个单位宽度时间、多个黑条的时间与多个白条的时间,计算每一个数据码的多个黑条的宽度与多个白条的宽度,以据此辨识每一个数据码所代表的8比特的数据。

综合以上所述,本发明实施例提供一种条码的结构、解码方法及解码装置。相较于现有Code 128条码的一个字元可具有7比特的信息量,本发明的条码的一个数据码可具有8比特的信息量。因此,基于Code 128条码的相同印刷长度下,本发明的条码可增加条码的信息密度,并可同时简化编码与后续运算。此外,本发明的条码可以是平行地设置在一物件的一平面、环设在一圆盘的一平面、或环设在一圆柱的一环形侧面。使得本发明的解码装置通过对应的直线运动、转动圆盘或圆柱的方式来辨识条码中可表示8比特数据的数据码。

为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此等说明与说明书附图仅是用来说明本发明,而非对本发明的权利范围作任何的限制。

附图说明

图1是本发明一实施例的条码的结构的示意图。

图2是本发明另一实施例的条码的结构的示意图。

图3是本发明另一实施例的条码的结构的示意图。

图4A是本发明一实施例的条码的解码装置的示意图。

图4B是本发明另一实施例的解码装置的物件的示意图。

图4C是本发明另一实施例的解码装置的物件的示意图。

图5是本发明另一实施例的条码的结构的示意图。

图6是本发明一实施例的条码的解码方法的流程图。

图7是本发明一实施例的判断每一个数据码为由三个黑条与三个白条组成,或由二个黑条与二个白条组成的流程图。

附图标记说明:

10、20、30、40:条码

12、22、32、Ar:数据序列

100:解码装置

110a、110b、110c:物件

120:光发射器

130:光感测器

140:处理器

B0、d7:结尾黑条

B1、B2、B3、B4、B5:黑条

DATA1、DATA2、d1、d2、d3、d4、d5、d6:数据码

Dd:发光二极管

e1、e2:端点

IL:入射光信号

RL:反射光信号

VINT:电压

M1、N1、P1、a1:起始侧

M2、N2、P2、a2:结尾侧

PT:光晶体管

PL1、PL2:平面

R:电阻

SF:环形侧面

VCC:输入电压

VOUT:输出信号

W0、St:起始白条

W1、W2、W3、W4、W5:白条

S610、S620、S630、S640、S650、S660、S670:步骤

S662、S664、S666、S667、S668、S669:步骤

具体实施方式

在下文中,将通过附图说明本发明的各种例示实施例来详细描述本发明。然而,本发明概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的例示性实施例。此外,在附图中相同参考数字可用以表示类似的元件。

本发明实施例提供一种条码的结构、解码方法及解码装置。在本发明的条码的结构中,每一个字元为由3个黑条(Bar)与3个白条(Space)组成,或者由2个黑条与2个白条组成。每个黑条与每个白条具有不同的宽度,且最粗的宽度为最细的宽度的4倍。据此,本发明的条码的一个数据码可具有8比特的信息量。故基于Code 128条码的相同印刷长度下,本发明的条码可增加条码的信息密度,并可同时简化编码与后续运算。此外,本发明的条码可以是平行地设置在一物件的一平面、环设在一圆盘的一平面、或环设在一圆柱的一环形侧面,且条码中具有多个代表8比特数据的数据码。使得本发明的解码装置可以通过对应的直线运动、转动圆盘或圆柱的方式来辨识条码中的每一个字元为由3个黑条与3个白条组成,或者由2个黑条与2个白条组成,并据此辨识每个数据码所代表的8比特数据。以下将进一步介绍本发明公开的Code256编码与解码方法。

首先,请参考图1,其显示本发明一实施例的条码的结构的示意图。如图1所示,条码10的结构为基于Code 128条码而扩展出的一种条码,以用来表示8比特的数据。条码10包括一起始白条W0、一数据序列12与一结尾黑条B0。

数据序列12具有一起始侧M1与一结尾侧M2,且数据码DATA1设置于起始侧M1与结尾侧M2之间。如图1所示,数据码DATA1由依序设置的三个黑条B1、B2、B3与三个白条W1、W2、W3组成。而数据码DATA1由黑条B1开始交替地设置黑条B2、B3与白条W1、W2、W3。意即,数据码DATA1为以黑条B1、白条W1、黑条B2、白条W2、黑条B3、白条W3的排列方式组成。

值得注意的是,三个黑条B1、B2、B3与三个白条W1、W2、W3的宽度总和为11个单位宽度。每个黑条与每个白条的宽度可因设计而不同。黑条B1、B2、B3的最小宽度与白条W1、W2、W3的最小宽度为1个单位宽 度。而黑条B1、B2、B3的最大宽度与白条W1、W2、W3的最大宽度为4个单位宽度。以图1的数据码DATA1来作说明,黑条B1为1个单位宽度,白条W1为1个单位宽度,黑条B2为3个单位宽度,白条W2为1个单位宽度,黑条B3为3个单位宽度,以及白条W3为2个单位宽度。因此,在本实施例中,数据码DATA1将根据黑条B1、B2、B3与白条W1、W2、W3的宽度而被视为字元「113132」,且字元「113132」会对应到一个8比特数据。在本实施例中,字元「113132」对应到的8比特数据为120(十进制表示)。而字元「113132」亦可依实际状况而对应到另一个8比特数据,如100(十进制表示),本发明对此不作限制。

起始白条W0为串接在起始侧M1,(即,起始白条W0邻接黑条B1),且与数据序列12的黑条B1、B2、B3与白条W1、W2、W3平行设置。而由于黑条B1、B2、B3的最大宽度与白条W1、W2、W3的最大宽度为4个单位宽度,起始白条W0的宽度将设定在5个单位宽度以上,以于后续解码过程中能够通过黑条与白条的单位宽度而辨识出数据序列12中的数据码DATA1与起始白条W0。在本实施例中,起始白条W0的宽度是设定在5个单位宽度。

结尾黑条B0为串接在结尾侧M2(即,结尾黑条B0邻接白条W3),且与数据序列12的黑条B1、B2、B3与白条W1、W2、W3平行设置。而结尾黑条B0的宽度为设定在2个单位宽度以上,以利于后续解码黑条B1、B2、B3与白条W1、W2、W3的过程中能够通过2个单位宽度以上的结尾黑条B0来得知数据码DATA1的结束。在本实施例中,结尾黑条B0的宽度是设定在2个单位宽度。

此外,本实施例的黑条B1、B2、B3、白条W1、W2、W3、起始白条W0与结尾黑条B0的高度相同或大致相同,以避免因高度不一致而影响条码10的读取。

除了数据码由平行设置的三个黑条与三个白条组成之外,数据码也可设置为由平行设置的二个黑条与二个白条组成。如图2所示,条码20的结构同样为基于Code 128条码而扩展出的一种条码,以用来表示8比特的数据。条码20包括一起始白条W0、一数据序列22与一结尾黑条B0。

数据序列22具有一起始侧N1与一结尾侧N2,且数据码DATA2设置 于起始侧N1与结尾侧N2之间。如图2所示,数据码DATAN由平行设置的二个黑条B4、B5与二个白条W4、W5组成。而数据码DATA2由黑条B4开始交替地设置黑条B5与白条W4、W5。意即,数据码DATA2为以黑条B4、白条W4、黑条B5、白条W5的排列方式组成。

而同样地,二个黑条B4、B5与二个白条W4、W5的宽度总和为11个单位宽度。每个黑条与每个白条的宽度可因设计而不同。黑条B4、B5的最小宽度与白条W4、W5的最小宽度为1个单位宽度。而黑条B4、B5的最大宽度与白条W4、W5的最大宽度为4个单位宽度。以图2的数据码DATA2来作说明,黑条B4为3个单位宽度,白条W4为4个单位宽度,黑条B5为1个单位宽度,以及白条W5为3个单位宽度。因此,数据码DATA2将根据黑条B4、B5与白条W4、W5的宽度而被视为字元「3413」,且字元「3413」会对应到一个8比特数据。在本实施例中,字元「3413」对应到的8比特数据为228(十进制表示)。而字元「3413」亦可依实际状况而对应到另一个8比特数据,如250(十进制表示),本发明对此不作限制。

起始白条W0为串接在起始侧N1,(即,起始白条W0邻接黑条B4),且与数据序列22的黑条B4、B5与白条W4、W5平行设置。而同样地,起始白条W0的宽度将设定在5个单位宽度以上,以利于后续解码过程中能够通过黑条与白条的单位宽度而辨识出数据序列22中的数据码DATA2与起始白条W0。在本实施例中,起始白条W0的宽度是设定在5个单位宽度。

结尾黑条B0为串接在结尾侧N2(即,结尾黑条B0邻接白条W5),且与数据序列22的黑条B4、B5与白条W4、W5平行设置。而结尾黑条B0的宽度为设定在2个单位宽度以上,以利于后续解码黑条B4、B5与白条W4、W5的过程中能够通过2个单位宽度以上的结尾黑条B0来得知数据码DATA2的结束。在本实施例中,结尾黑条B0的宽度是设定在2个单位宽度。

此外,本实施例的黑条B4-B5、白条W4-W5、起始白条W0与结尾黑条B0的高度相同或大致相同,以避免因高度不一致而影响条码20的读取。

由上述条码10与20的结构可知,数据码为由平行设置的三个黑条与三个白条(如图1的黑条B1-B3与白条W1-W3)组成,或者为由平行设置的二个黑条与二个白条(如图2的黑条B4-B5与白条W4-W5)组成。数据 码由黑条开始交替地设置多个黑条与多个白条(如图1的黑条B1-B3与白条W1-W3交替设置,以及图2的黑条B4-B5与白条W4-W5交替设置)。而上述三个黑条与三个白条的宽度总和为11个单位宽度,且二个黑条与二个白条的宽度总合为11个单位宽度。

因此,当数据码为由三个黑条与三个白条组成时,将产生如下<表1>的单位宽度组合。

<表1>

<表1>所示数据码的单位宽度组合共有5种,分别为「111134」、「111224」、「111233」、「112223」与「122222」。意即,在三个黑条与三个白条的宽度总和为11个单位宽度的限制下,黑条与白条将会有不同单位宽度的组合。以组合「111134」来说,其表示具有四个单位宽度为1的黑条与白条组合、一个单位宽度为3的黑条或白条组合、以及一个单位宽度为4的黑条或白条组合,以符合三个黑条与三个白条的宽度总和为11个单位宽度的限制,并据此产生30个不同的组合。再举例来说,组合「112223」表示具有二个单位宽度为1的黑条或白条组合、三个单位宽度为2的黑条或白条组合、以及一个单位宽度为3的黑条或白条组合,以符合三个黑条与三个白条的宽度总和为11个单位宽度的限制,并据此产生60个不同的组合。因此,由三个黑条与三个白条组成的数据码将产生216个不同的单位宽度组合。

再者,当数据码为由二个黑条与二个白条组成时,将产生如下<表2> 的单位宽度组合。

<表2>

<表2>所示数据码的单位宽度组合共有4种,分别为「1244」、「1334」、「2234」与「2333」。意即,在二个黑条与二个白条的宽度总和为11个单位宽度的限制下,黑条与白条将会有不同单位宽度的组合。以组合「1244」来说,其表示具有一个单位宽度为1的黑条或白条组合、一个单位宽度为2的黑条或白条组合、以及二个单位宽度为4的黑条与白条组合,以符合二个黑条与二个白条的宽度总和为11个单位宽度的限制,并据此产生12个不同的组合。再举例来说,组合「2234」表示具有二个单位宽度为2的黑条与白条组合、一个单位宽度为3的黑条或白条组合、以及一个单位宽度为4的黑条或白条组合,以符合二个黑条与二个白条的宽度总和为11个单位宽度的限制,并据此产生12个不同的组合。因此,由二个黑条与二个白条组成的数据码将产生40个不同的单位宽度组合。

据此,在上述数据码的限制下,其将产生216+40=256个不同的单位宽度组合,以据此表示2的8次方(256)个不同的数据。因此,相较于现有Code 128条码的一个字元可具有7比特的信息量,本发明的条码的数据码可具有8比特的信息量,使得数据码可以表示256个不同的数据。故基于Code 128条码的相同印刷长度下,本发明的条码可增加条码的信息密度,并可同时简化编码与后续运算。

除此之外,若数据码修改为由白条开始交替地设置黑条与白条(未绘于附图),数据码DATA1将改以白条、黑条、白条、黑条、白条、黑条的 排列方式组成(未绘于附图),且数据码DATA2将改以白条、黑条、白条、黑条的排列方式组成(未绘于附图)。此时,起始白条W0将相对应地改为一起始黑条(未绘于附图),且结尾黑条B0将相对应地改为一结尾白条(未绘于附图)。有关修改后的数据码的黑条与白条、起始黑条与结尾白条的单位宽度的限制,大致上与数据码DATA1、DATA2、起始白条W0与结尾黑条B0的单位宽度的限制相同,故在此不再赘述。故类似地,在上述修改后的数据码的限制下,其将同样产生216+40=256个不同的单位宽度组合,以据此表示2的8次方(256)个不同的数据。除此之外,在条码的结构中,数据序列可设置有多个数据码,以在一个条码中表示多个8比特数据。请同时参考图3,其显示本发明另一实施例的条码的结构的示意图。如图3所示,条码30的结构为基于Code 128条码而扩展出的一种条码,以用来表示多个8比特的数据。条码30包括一起始白条W0、一数据序列32与一结尾黑条B0。数据序列具有一起始侧P1与一结尾侧P2。数据码DATA1设置于起始侧P1与数据码DATA2之间,数据码DATA2设置于数据码DATA1与结尾侧P2之间。而有关数据码DATA1为由三个黑条B1、B2、B3与三个白条W1、W2、W3组成,以及数据码DATA2为由二个黑条B4、B5与二个白条W4、W5组成,且已于上述实施例作说明,故在此不再赘述。此外,起始白条W0与结尾黑条B0亦已于上述实施例作说明,故在此不再赘述。因此,条码30的排列方式由左至右为起始白条W0、黑条B1、白条W1、黑条B2、白条W2、黑条B3、白条W3、黑条B4、白条W4、黑条B5、白条W5与结尾黑条B0。

据此,本发明的条码30的数据序列32设置有两个数据码,使得条码30可以用来表示2个8比特数据。而若数据序列32中具有更多串接的数据码,条码30亦可用来表示更多的8比特数据。

由上述的实施例,本发明可以归纳出一种条码的解码装置,适用于上述实施例所述的数据序列中设置有多个数据码的情况,以扫描设置有多个数据码条码的结构,进而得知条码所表示的多个8比特数据。请同时参考图4A,其显示本发明一实施例的条码的解码装置的示意图。如图4A所示,解码装置100包含一物件110a、一光发射器120、一光感测器130与一处理器140。物件110a设置有条码40。在本实施例中,物件110a为一圆柱。 圆柱具有一环形侧面SF,且条码40环设在环形侧面SF。在其他的实施例中,如图4B所示,物件110b为一圆盘。圆盘具有一平面PL1,且条码40环设在平面PL1。在其他的实施例中,如图4C所示,物件110c具有一平面PL2,且条码40平行地设置在平面PL2。而设置有条码40的物件110a的型态可依实际状况来作设计,本发明对此不作限制。

光发射器120设置在条码40的周围,以用来发射一入射光信号IL至条码40。而光感测器130设置在条码40的周围,且与光发射器120对应设置,以接收入射光信号IL反射的一反射光信号RL。而由于光发射器120发射入射光信号IL至条码40,故反射光信号RL将会带有条码40中黑条与白条的信息。因此,光感测器130将根据反射光信号RL而产生代表条码40的一输出信号VOUT至处理器140。

在本实施例中,光发射器120具有一发光二极管Dd。发光二极管Dd的正端电连接一电压VINT,且发光二极管Dd的负端接地。使得发光二极管Dd根据电压VINT而发射入射光信号IL至条码40。此外,本实施例的光感测器130具有一光晶体管(Photo-Transistor)PT与一电阻R。光晶体管PT的一端点e1通过电阻R接收一输入电压VCC且电连接处理器140。光晶体管PT的另一端点e2接地。因此,当光晶体管PT接收到反射光信号RL时,光晶体管PT将根据反射光信号RL于端点e1产生代表条码40的一输出信号VOUT至处理器140。意即,此时的输出信号VOUT将相关于条码40的黑条与白条。在本实施例中,发光二极管Dd所发射的入射光信号IL为红外光,且光晶体管PT为可感测到红外光的感测装置。入射光信号IL亦可发射其他种类的光线,且光晶体管PT对应设置可感测到此种光线的感测装置,本发明对光感测器130的内部结构不作限制。

为了方便说明,以下条码40以设置有6个数据码来作说明。如图5所示,条码40具有一起始白条St、一数据序列Ar与一结尾黑条d7。起始白条St的宽度为5个单位宽度,且结尾黑条d7为2个单位宽度。数据序列Ar具有一起始侧a1与一结尾侧a2。起始侧a1邻接起始白条St,且结尾侧a2邻接结尾黑条d7。而6个数据码d1、d2、d3、d4、d5与d6则邻接在起始侧a1与结尾黑条d7之间。数据码d1、d2、d4、d5与d6为由平行设置的三个黑条与三个白条组成。而数据码d3则为由平行设置的二个黑条与二 个白条组成。

数据码d1的黑条与白条的宽度依序为2、3、3、1、1、1个单位宽度。数据码d2的黑条与白条的宽度依序为1、1、3、1、3、2个单位宽度。数据码d3的黑条与白条的宽度依序为3、4、1、3个单位宽度。数据码d4的黑条与白条的宽度依序为2、2、2、3、1、1个单位宽度。数据码d5的黑条与白条的宽度依序为1、3、2、1、2、2个单位宽度。数据码d6的黑条与白条的宽度依序为1、3、1、2、2、2个单位宽度。而每一个数据码d1-d6的多个黑条与多个白条的宽度总和皆为11个单位宽度。

而输出信号VOUT为相关于条码40的起始白条St、数据码d1-d6的黑条与白条、以及结尾黑条d7。因此,高电平的输出信号VOUT将代表条码40的黑条,低电平的输出信号VOUT将代表条码40的白条,5个单位宽度的低电平的输出信号VOUT将代表条码40的起始白条St,且2个单位宽度的高电平的输出信号VOUT将代表条码40的结尾黑条d7。而类似地,光感测器130亦可设计为其他内部结构,使得低电平的输出信号VOUT代表条码40的黑条,高电平的输出信号VOUT代表条码40的白条,5个单位宽度的高电平的输出信号VOUT代表条码40的起始白条St,且2个单位宽度的低电平的输出信号VOUT将代表条码40的结尾黑条d7,本发明对此不作限制。

请同时参考图5及图6,处理器140电连接物件110a与光感测器130,以用来控制物件110a的作动,并根据物件110a的作动来接收代表条码40的输出信号VOUT,以根据输出信号VOUT解码条码40。而处理器140将执行下列步骤,以据此解码环设在环形侧面SF的条码40。首先,处理器140扫描设置于物件110a上的条码40,以提取代表条码40的输出信号VOUT,以根据输出信号VOUT分析条码40(步骤S610)。

更进一步来说,在此步骤中,假设物件110a为如图4A所示的圆柱,处理器140需转动圆柱来扫描设置在环形侧面SF的条码40。由于光感测器130接收到代表条码40的输出信号VOUT为动态,故处理器140需将圆柱转动至定速时才进一步提取输出信号VOUT,以避免误判输出信号VOUT而分析不正确的条码40。假设物件110a为如图4B所示的代表圆盘的物件110b,处理器140需转动圆盘来扫描设置在平面PL1的条码40。由于光感 测器130接收到代表条码40的输出信号VOUT为动态,故处理器140需将圆盘转动至定速时才进一步提取输出信号VOUT,以避免误判输出信号VOUT而分析不正确的条码40。假设物件110a为如图4C所示的物件110c,处理器140需移动至平面PL2来扫描条码40,以提取代表条码40的输出信号VOUT。

接下来,处理器140将根据条码40的起始白条St,提取数据码d1-d6中交替设置的多个黑条与多个白条(步骤S620)。更进一步来说,若物件110a为圆柱或代表圆盘的物件110b,处理器140是根据转动圆柱或圆盘重复地产生起始白条St与数据序列Ar,且于二个起始白条St之间提取数据序列Ar的数据码d1-d6中交替设置的多个黑条与多个白条。若物件110a为如图4C所示的物件110c,处理器140扫描平面PL2的条码40,以产生起始白条St与数据序列Ar,且于二个起始白条St之间提取数据序列Ar的数据码d1-d6中交替设置的多个黑条与多个白条。

由于此时处理器140所提取到的数据码d1-d6的多个黑条与多个白条为具有不同电平,且具有不同单位宽度的输出电压VOUT,即黑条为高电平的输出电压VOUT,白条为低电平的输出电压VOUT,且高电平与低电平的输出电压VOUT根据黑条与白条的设计而有1-4个单位宽度。故处理器140接下来将由对应到数据码d1-d6区间的输出电压VOUT判断出每个数据码d1-d6中黑条与白条的数目,以据此区别每个数据码d1-d6。

因此,在处理器140取得数据码d1-d6的多个黑条与多个白条后,处理器140遂将计算起始白条St、数据码d1-d6的每个黑条、每个白条与结尾黑条d7的时间(步骤S630),如下表<三>所示。

表<三>

接下来,处理器140将累加每个黑条与每个白条的时间,并据此计算数据码d1-d6的一平均时间,且根据结尾黑条d7的时间与起始白条St的时间其中之一或其组合计算1个单位宽度时间。(步骤S640)。更进一步来说,处理器140累加数据码d1-d6的黑条与白条的时间且除以数据码d1-d6的数量,以计算出数据码d1-d6的平均时间。意即,平均时间(ms)=(71+104+109+36+34+34)+(37+31+101+37+107+70)+(109+136+35+103)+(74+71+69+103+33+31)+(34+108+68+36+67+73)+(33+104+34+69+68+67)/6=2296/6=382.7(ms)。以及处理器140可根据2个单位宽度的结尾黑条d7的时间、5个单位宽度的起始白条St的时间或上述平均来计算1个单位宽度时间。以结尾黑条d7来说,1个单位宽度时间(ms)=70/2=35(ms);以起始白条St来说,1个单位宽度时间(ms)=176/5=35.2(ms);以结尾黑条d7与起始白条St的平均来说,1个单位宽度时间(ms)=(70/2+176/5)/2=35.1(ms)。据此,处理器140计算出数据码d1-d6的平均时间与1个单位宽度时间,以进一步作后续处理。

再来,处理器140将根据平均时间与1个单位宽度时间,计算可成为数据码d1-d6的一条件时间(步骤S650)。更进一步来说,处理器140将平均时间加上1个单位宽度时间,以计算出可成为数据码d1-d6的条件时间。为了方便说明,以下以1个单位宽度时间为35(ms)来作说明,即处理器140根据2个单位宽度的结尾黑条d7的时间计算1个单位宽度时间。因此,条件时间(ms)=平均时间+1个单位宽度时间=382.7+35=417.7ms。使得处理器140可以通过可成为数据码d1-d6的条件时间(如条件时间=417.7ms)来判断每个数据码d1-d6中黑条与白条的数目,并据此区别每个数据码d1-d6。

接着,处理器140将根据条件时间、黑条与白条的时间,判断每个数 据码d1-d6是由三个黑条与三个白条组成,或由二个黑条与二个白条组成,以据此区别每个数据码d1-d6(步骤S660)。更进一步来说,请同时参考图5与图7,图7显示本发明一实施例的判断每个数据码为由三个黑条与三个白条组成,或由二个黑条与二个白条组成的流程图。此时的处理器140所提取到的数据码d1-d6的多个黑条与多个白条为具有不同电平,且具有不同单位宽度的输出电压VOUT。

因此,处理器140首先以一个黑条与一个白条为一组,累加第一个黑条与第一个白条的时间而成为一累加时间(步骤S662)。以表<三>中的数据码d1-d6的每个黑条、每个白条的时间为例子来作说明。处理器140计算71ms+104ms=175ms,即累加数据码d1的第一个黑条与第一个白条的时间,而成为累加时间175ms。

接下来,处理器140将目前的累加时间累加下一组黑条与白条的时间而成为下一个累加时间(步骤S664)。承接上述例子,处理器140计算175ms+(109ms+36ms)=320ms,即将目前的累加时间(数据码d1的第一个黑条与第一个白条的时间)累加数据码d1的第二个黑条与第二个白条的时间,而成为下一个累加时间320ms。

接着,处理器140判断下一个累加时间是否大于条件时间(步骤S666)。若下一个累加时间大于条件时间,表示前一次累加时间所对应的黑条与白条可以成为数据码。因此,处理器140遂将前一个累加时间所对应的黑条与白条作为数据码d1-d6其中之一(步骤S667),并判断是否有尚未累加的黑条与白条(步骤S668)。反之,若下一个累加时间小于等于条件时间,表示前一次累加时间所对应的黑条与白条尚未可以成为数据码。因此,处理器140将回到步骤S664,以继续累加下一组黑条与白条的时间。

而处理器140在判断是否有尚未累加的黑条与白条的过程中,若有尚未累加的黑条与白条的时间,表示处理器140尚未判断全部的数据码d1-d6的黑条与白条的数目。此时,处理器140将重新累加目前的黑条与白条的时间来作为目前的累加时间(步骤S669),并回到步骤S664,以据此判断下一个数据码的黑条与白条的数目。反之,若没有尚未累加的黑条与白条,表示处理器140已判断完全部的数据码d1-d6的黑条与白条的数目。此时,处理器140将执行计算每个数据码的多个黑条的宽度与多个白条的宽度的 步骤(步骤S670)。

而承接上述例子,处理器140在计算出下一个累加时间为320ms之后(即代表累加数据码d1的第一个黑条、第一个白条、第二个黑条与第二个白条的时间),将判断出下一个累加时间320ms小于等于条件时间417.7ms。此时,处理器140将回到步骤S664累加数据码d1的第三个黑条与第三个白条的时间,即计算320+(34+34)=388ms来作为下一个累加时间,并判断下一个累加时间388ms小于等于条件时间417.7ms。

接着,处理器140再次回到步骤S664累加数据码d2的第一个黑条与第一个白条的时间,即计算388+(37+31)=456ms来作为下一个累加时间,并判断下一个累加时间456ms大于条件时间417.7ms。此时,处理器140遂将前一个累加时间所对应的黑条与白条作为数据码d1(即数据码d1的第一个黑条、第一个白条、第二个黑条、第二个白条、第三个黑条与第三个白条的时间)。接着处理器140因判断有尚未累加的黑条与白条而重新计算目前的累加时间=(37+31)=68ms,即重新累加数据码d2的第一个黑条与第一个白条的时间,以回到步骤S664而依序判断数据码d2-d6的黑条与白条的数目。即数据码d1、d2、d4、d5、d6具有三个黑条与三个白条,数据码d3具有二个黑条与二个白条,且每个数据码d1-d6的黑条与白条具有对应的时间。

在处理器140依序判断出数据码d1-d6的黑条与白条的数目后,处理器140将判断数据序列Ar中已无尚未累加的黑条与白条。而处理器140接着将根据1个单位宽度时间、多个黑条的时间与多个白条的时间,计算每个数据码d1-d6中黑条的宽度与白条的宽度,以据此辨识每个数据码d1-d6所代表的8比特的数据(步骤S670)。更进一步来说,处理器140分别将每个黑条的时间与每个白条的时间除以1个单位宽度时间,以分别计算数据码d1-d6中每个黑条的宽度与每个白条的宽度。举例来说,如表<三>所示的数据码d1的第一个黑条与第一个白条,且1个单位宽度时间为35ms。对于第一个黑条的时间为71ms来说,数据码d1的第一个黑条的宽度经四舍五入后为71/35=2个单位宽度。对于第一个白条的时间为104ms来说,数据码d1的第一个白条的宽度经四舍五入后为104/35=3个单位宽度。而数据码d1-d6的黑条与白条的宽度如下表<四>所示。

表<四>

因此,数据码d1-d6的黑条与白条的单位宽度将分别被处理器140视为字元「233111」、「113132」、「3413」、「222311」、「132122」与「131222」,且上述6个字元会分别对应到一个8比特数据,例如分别对应到十进制的134、120、228、183、172与005。据此,处理器140将可根据数据码d1-d6的黑条与白条的单位宽度来辨识每个数据码d1-d6所代表的8比特数据。

综上所述,本发明实施例提供一种条码的结构、解码方法及解码装置。在本发明的条码的结构中,每一个字元为由3个黑条(Bar)与3个白条(Space)组成,或者由2个黑条与2个白条组成。每个黑条与每个白条具有不同的宽度,且最粗的宽度为最细的宽度的4倍。据此,本发明的条码的一个数据码可具有8比特的信息量。故基于Code 128条码的相同印刷长度下,本发明的条码可增加条码的信息密度,并可同时简化编码与后续运算。此外,本发明的条码可以是平行地设置在物件的平面、环设在圆盘的平面或环设在圆柱的环形侧面,且条码中具有多个代表8比特数据的数据码。使得本发明的解码装置可以通过对应的直线运动、转动圆盘或圆柱的方式来辨识条码中的每一个字元为由3个黑条与3个白条组成,或者由2个黑条与2个白条组成,并据此辨识每个数据码所代表的8比特数据。

以上所述仅为本发明的实施例,其并非用以局限本发明的专利范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1