CN101180631A - 印刷介质特征编码与解码 - Google Patents
印刷介质特征编码与解码 Download PDFInfo
- Publication number
- CN101180631A CN101180631A CNA2006800175669A CN200680017566A CN101180631A CN 101180631 A CN101180631 A CN 101180631A CN A2006800175669 A CNA2006800175669 A CN A2006800175669A CN 200680017566 A CN200680017566 A CN 200680017566A CN 101180631 A CN101180631 A CN 101180631A
- Authority
- CN
- China
- Prior art keywords
- code
- value
- feature
- bar code
- features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K1/00—Methods or arrangements for marking the record carrier in digital fashion
- G06K1/12—Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
- G06K1/121—Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Printers Characterized By Their Purpose (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明公开了用于编码和解码诸如条形码之类的代码的技术,所述代码包含诸如可变宽度的条和空格之类的多个特征。本发明的一方面提供了用于使用单个符号将信息编码在任意长度代码中的技术。还提供了使用具有多于两个不同值的特征的代码来编码和解码信息的技术。
Description
相关申请的交叉引用
本申请涉及共同拥有的美国专利No.6,801,233 B2,该专利授权于2004年10月5日,名称为“Thermal Imaging System”,通过引用而将其合并于此。
技术领域
本发明涉及印刷码,更具体地,涉及使用在印刷介质上用于识别该介质属性的代码。
背景技术
传统的数字印刷机在具有多种属性的印刷介质上印刷。在不同的印刷介质中可能变化的属性的例子包括尺寸、制造者、化学成分以及感光性。通常,印刷机在印刷时考虑当前印刷介质的具体属性是有用的,以使印刷机可以基于这些属性优化印刷输出的质量。
尽管印刷机的使用者可以手动通知印刷机当前印刷介质的属性(例如通过选择硬件控制面板上的设置或通过软件配置程序),用于编码描述印刷介质本身上的这些属性的信息的多种技术是众所周知的。例如,此类信息(这里称为“印刷介质属性信息”)可以被编码在印刷在介质上的代码中、含在介质中的磁性材料中或介质上的化学承印物中。在此类系统中,印刷机配备有从印刷介质读取编码信息的设备。印刷机将该信息解码以识别印刷介质的属性。然后印刷机可以采取合适的步骤,以基于印刷介质的已识别属性来优化印刷输出。
例如,在某些系统中,印刷介质属性信息被编码在条形码中,该条形码印刷在介质上。相应的印刷机包括条形码读取器,当条形码从读取器下方经过时条形码读取器从印刷介质读取该条形码。
在进一步描述此类传统系统之前,将更详细地描述传统的条形码。通常,条形码是用于编码信息的黑条和空格的排列。此类信息典型地涉及特定产品,并且典型地印刷在该产品上或者该产品的包装上。存在许多用于将信息编码在条形码中的不同系统。术语“条形码系统”在此指任一特定的用条形码表示信息的系统。印刷在几乎所有产品包装上的通用产品码(UPC),可能是条形码系统的最著名例子。
参考图1,示出了传统的条形码100的一通常性例子。条形码100包括了一系列各种宽度的竖直的黑条(“条”)102a-i,这些黑条被各种宽度的白空(“空格”)104a-h分开。术语“特征”在此指条形码中的单个条或单个空格。因此,条102a-i的每一个以及空格104a-h的每一个都是一特征。
条形码中的每一个特征典型地都是高度明显大于宽度。术语“特征宽度”在此指的是单个特征在连接所有特征(例如条)的中心的维度106a中的宽度。通常,条形码系统为该系统中的条形码的所有特征施加最小特征宽度(例如7.5密耳(mil))。最小特征宽度在此称为“单位”。在单个条形码中的不同特征可能具有不同的宽度。例如,特征102e是特征102d两倍宽。如果特征102d的宽度是最小特征宽度,那么特征102d可以被称为“单宽度”或“窄”特征,而特征102e可以被称为“双宽度”或“宽”特征。
许多条形码系统要求每个特征的宽度是最小特征宽度的整数倍。例如,在图1所示的示例条形码100中,每个特征的宽度要么是等于最小特征宽度要么是恰为最小特征宽度的两倍。然而,并不是所有系统都要求所有特征宽度为最小特征(单位)宽度的整数倍。在只有两个截然不同的宽度的条形码中,宽特征的宽度典型地是在窄特征的宽度的2倍到2.5倍之间。一般地,单个条形码中的特征宽度可以以任意方式变化,只要这些特征始终能被正确地解码。
术语“组合”在此指的是使用给定宽度分布的有限数目个特征的具体、独特的次序关系。术语“宽度分布”将在下文中定义。图1所示的条形码100就是组合的一个例子。如此处所用的术语“符号”与“组合”同义。
通常,条形码系统定义了一组组合与相应值之间的映射,例如字符和/或数字。这样的映射可用于将值编码成它们相应的组合,以及将组合解码成它们相应的值。条形码系统典型地对系统内的符号施加一组限制,例如固定的符号长度(以单位为度量单位)、固定数目的特征或其两者。条形码系统的“符号集”指的是在条形码系统中定义的所有符号。通常,符号集包括满足可适用的约束集的所有可能符号,约束例如是符号长度。
术语“条形码”典型地指的是属于同一个符号集的成员的一个或多个符号(也就是说,它们根据单个条形码系统来定义)的序列。术语“起始码”指的是不属于该符号集成员的特征的特殊序列,并且它定义了条形码的开始。出现在特定条形码的开始的起始码识别条形码系统以及条形码可能包括的任何特殊编码特征。类似的,术语“终止码”指的是不属于该符号集成员的特征的特殊序列,并且它定义了条形码的结束。因此,传统的条形码典型地包括起始码,随后是一个或多个符号,随后是终止码。起始码和终止码使条形码解码器能够以正确方向扫描条形码,以及使用正确的解码方法。
如上所述,条形码符号包括可能在宽度上彼此不同的特征序列。然而,在某些条形码系统中,每个符号都被限定为包括固定数目的特征,这些特征具有固定数目的预定宽度。例如,条形码系统可以要求每个符号包括四个单宽度的特征,三个双宽度的特征,一个三宽度的特征,总共八个特征具有十三个单位的总宽度。这个“宽度分布”可以使用标记(4,3,1)来表达。在这样的系统中,所有的符号具有相同的宽度分布,但是根据不同宽度的特征出现的顺序有变化。
“宽度数组”是表示在特定条形码符号中的特征宽度序列的数组。例如,当使用刚才提到的宽度分布时,有效的宽度数组的例子是(1,2,1,1,3,2,2,1)。该宽度数组表示了一个符号,其中,第一个特征是单宽度,第二个特征是双宽度,第三个特征是单宽度,第四个特征是单宽度,等等。如此处所用,变量N指的是符号中特征的数量,而变量Wf指的是在符号中下标为f处的特征的宽度,其中1≤f≤N。在刚才提供的示例宽度数组的情况下,W1=1,W2=2,以及W5=3。
不同的条形码系统具有不同的“信息密度”。术语“信息密度”在此处指的是特定条形码系统在每个单位内能够编码的有效位数,且可以定义为log2(可用符号的总数)/(以“单位”表示的符号的长度)。例如,在“2/5(2 of 5)”条形码系统中,每个符号恰有五个特征,其中恰有两个特征为宽,且恰有三个特征为窄(也就是说,宽度分布是(3,2))。2/5符号的一例子是BWSNBNSWBN,其中“B”指的是条,“S”指的是空格,下标“W”指的是宽特征,而下标“N”指的是窄特征。
在2/5系统中有10个可能的符号,有效地表示了3.3位的信息。在每个符号中有7个单位(每个为1单位的3个窄特征;加上每个为2单位的2个宽特征)。因此2/5系统的信息密度是3.3位/7单位,或大约0.47位/单位。这个信息密度在现有的条形码系统中是相对高的。在必须将大量信息编码在小条形码中的情况下,人们希望获得更高的信息密度。
如果条形码系统不能把信息编码在条形码中,或者从条形码中解码出信息,则条形码系统就没有用。因此,对于任意特定条形码系统,提供向/从条形码编码/解码信息的方法是必要的。通常,编码是通过使用查找表执行的,该查找表将未编码的信息(例如数字)映射到系统中的条形码中。类似地,解码通常是使用查找表执行的,该查找表将条形码映射到数字信息或其他类型的值。尽管使用查找表可以快速执行编码和解码,但是查找表的缺点之一是存储查找表可能会消耗相当大数量的存储器,尤其是在符号中包括大量特征的条形码系统中。一般而言,人们希望能快速并且使用相对较少的存储器执行编码和解码。
因此,需要改进有效地编码和解码条形码中的介质识别信息的技术。
发明内容
公开了用于编码和解码诸如条形码的代码的技术,该代码包含多个诸如宽度变化的条和空格的特征。在本发明的一方面,提供了使用单个符号将信息编码在任意长度代码中的技术。还提供了使用具有多于两个不同值的特征的代码编码和解码信息的技术。
从下面的描述与权利要求书中,本发明的各个方面以及实施方案的其他特征与优点将变得明显。
附图说明
图1示出了传统的条形码的一般性示例;
图2A是根据本发明一个实施方案的用于编码信息的方法的流程图;
图2B是根据本发明一个实施方案的用于解码信息的方法的流程图;
图3A-3G示出了根据本发明一个实施方案的条形码和相应的嵌入图案;
图4A是根据本发明一个实施方案的用于解码条形码的方法的流程图;
图4B是根据本发明第一实施方案的用于将从条形码中取得的多个值结合成单个值的方法的流程图;
图4C是根据本发明第二实施方案的用于将从条形码中取得的多个值结合成单个值的方法的流程图;
图4D是在本发明一个实施方案中执行的方法的流程图,该方法用于在识别多宽度分布的系统中给条形码分配值;
图5A-5B是根据本发明一个实施方案的用于在条形码系统中生成完整的条形码集合的递归过程的流程图;
图6A是根据本发明一个实施方案的用于将值编码成代码的方法的流程图;
图6B是根据本发明一个实施方案的用于将来自代码的信息解码成该代码表示的值的方法的流程图;
图6C-6D是根据本发明一个实施方案的用于将值编码成代码的方法的流程图;
图6E是根据本发明一个实施方案执行的用于将代码解码成值的方法的流程图;
图7是根据本发明一个实施方案的包括条形码的印刷介质的图解;
图8是根据本发明一个实施方案的基于印刷在印刷介质上的条形码配置印刷机的系统的数据流图解;以及
图9是根据本发明一个实施方案的由图8的系统执行的方法的流程图。
具体实施方式
在描述本发明的实施方案之前,将描述传统的条形码系统的某些属性。在许多现有的条形码系统中,每个符号包含少量的特征。因此,不同符号的数目典型地较少,一般是200或者更少。为了在这样的系统中取得更多的组合,对符号进行组合是有必要的。例如,在2/5条形码系统中,有五个特征,其中两个特征是两个单位宽,总共是7个单位的长度(例如,如果单位是1mm,长度就是7mm)。这些特征有10个可能的组合(也就是说,10个不同的符号),用于编码数字0-9。包含了两个这样的符号的条形码将具有14个单位的总长度(例如14mm),并且能够编码总共100个可能的值。类似地,三符号的2/5条形码能够编码1000个值,而四符号的2/5条形码能够编码10,000个值。
然而,根据本发明的实施方案,额外的信息是通过扩展单个符号的长度而不是通过组合多个符号来编码的。组合的数目随着符号长度增加而显著地增加。例如,如果代替两个7mm的符号,我们使用一个14mm的符号,该符号有4个宽条和6个窄条(4/10),那么总共的组合数目是210(相比于使用2/5的两个符号的情况下的100)。三符号的等价物是6/15,产生5,005个值(相比于使用2/5情况下的1,000)。使用单个28mm的符号(8/20)产生125,970个值——超过了2/5系统中可用数目的12倍。
在本发明的一个实施方案中,高信息密度是通过提供条形码系统获得的,在该条形码系统中每个条形码均由单个符号组成,而不论符号中特征的数目多少。额外的值是通过扩展单个符号的长度而不是通过生成多个符号并且连接它们获得的。应当理解,在这样的系统中,任何长度的条形码都不需要包括任何内部起始码和终止码。此外,在某些条件下,初始的起始码和末尾的终止码可以从系统中除去。同样的技术也可以应用于条形码系统之外的代码系统。因此,更一般的情况,在本发明的一个实施方案中,提供了一种代码系统,其中每个代码都由单个符号组成,而不管系统中特征的数目为多少。因此,术语“特征”并不限于条形码中的条与空格,而指的是可以用任何形式的代码编码信息的任何标识或其它类别的可辨认的实体。
条形码由下述意义中的“单个符号”组成。可以认为条形码既包括数据又包括元数据。在传统的条形码系统中,数据包括一个或多个编码信息的符号,而元数据包括诸如起始码和终止码的特殊符号。在本发明的多个实施方案中,提供了条形码系统,其中每个条形码的数据部分满足一约束集,该约束集适用于数据部分中的作为整体的全部特征,而不是数据部分中的一个或多个特征子集(例如单独的符号)。例如,在上述的2/5代码中,10特征的条形码是由一个约束集定义的,该条形码中的两个5特征的子集均满足该约束集。在2/5系统中具有额外特征的条形码是通过生成额外符号并将符号添加到该条形码而生成的,其中每个额外符号均满足2/5的约束。与此相反,在本发明的实施方案中,用于生成条形码的数据部分的约束集适用于作为整体的数据部分,而不是数据部分的子集。如果条形码只包括数据部分而不包括元数据部分(例如,如果条形码不包括起始码和终止码),那么约束集就适用于作为整体的条形码,而不是条形码的子集。
参考图2A,示出了根据本发明一个实施方案的用于编码信息的方法200的流程图。方法200识别要编码的信息(步骤202)。在本发明的一个实施方案中,在步骤202中识别的信息是印刷介质属性信息。
方法200识别对在步骤202中识别的信息进行编码所需的位数(步骤204)。方法200为代码选择用于代码的特征的数目N,以及特征约束集(例如特征宽度和/或总代码长度),使得代码能够编码在步骤204中识别的数目的位数(步骤206)。N可以是任何大于1的正整数。传统的条形码系统所使用的约束集的一个例子是由2/5条形码系统所施加的约束,所述2/5条形码系统要求符号包括5个特征,其中2个为宽而3个为窄。如下文将更详细描述的,在方法200的步骤206中所选择的约束不是适用于单个代码中的多个符号,而是适用于作为整体的代码的整个数据部分,而不管数据部分有多长。下文将描述其它在本发明的实施方案中可以应用的约束的例子。
方法200将在步骤202中识别的信息编码在满足步骤206中选择的特征约束的N个特征的代码(在步骤206中选取的)中(步骤208)。更具体地,方法200生成起始码(步骤210)。方法200将在步骤202中识别的信息编码在满足在步骤204中选择的特征约束的N个特征的代码中(步骤212)。数据部分可以不包括任何内部起始码或终止码。
方法200生成终止码(步骤214)。步骤208生成的代码包括在步骤210生成的起始码,随后是在步骤212中生成的代码,随后是在步骤214中生成的终止码。方法200将在步骤208中生成的代码写到输出介质(步骤216)。由方法200生成的数据部分是“数据”的一个示例,而在步骤210和214中生成的起始码和终止码分别是此处所用术语“元数据”的示例。
注意,由方法200生成的代码,从在步骤206中识别的约束适用于作为整体的代码数据部分的特征而不是代码特征的多个子集的意义来说,包括单个符号。在图2A示出的实施方案中,由方法200生成的代码不包括任何内部起始码或终止码。尽管在图2A中所示的实施方案中,由方法200生成的代码包括初始的起始码和末尾的终止码,但这不是必须的。而且,方法200生成的代码不需要包括任何起始码或终止码。
此外,由方法200生成的代码包含单个符号,而不管步骤206中选择的N值为何。换句话说,N值可以增加,而不造成结果代码包含多个符号。下面将描述可以使用于以这种方式生成代码的技术的例子。
参考图2B,示出了在本发明的一个实施方案中使用的方法220的流程图,该方法220用于解码被编码在通过图2A的方法200生成的代码中的信息。代码可以印刷在输出介质上,表示印刷介质的属性信息。方法220识别代码的特征数目N(步骤222)。N可以为任意大于1的正整数。例如,可以通过使用条形码读取器或者其他设备读取代码以及识别该代码中的特征数目来执行步骤222。方法220识别要解码的特征值(步骤224)。步骤224可以与步骤222同步执行。
方法220将识别的特征解码成信息,而不将该特征解释为多个不同的符号(步骤226)。更具体地,方法220可选地从特征集的开始读取起始码228(步骤228)。方法220将在可选的起始码后面的数据部分中的特征解码成信息,而不将该特征解释成多个不同的符号(步骤230)。而且,如下文将更详细描述的,数据部分的特征作为整体被解释。注意,在步骤230中读取的特征不需要包括任何被解释为起始码或终止码的特征。
方法220可选地读取终止码(步骤234)。因为代码可以省略起始码和终止码,所以步骤228和234可以省略。此外,由方法200解码的代码的数据部分包含单个符号,而不论在步骤206中选择的N值是多少。换句话说,可以对具有任意数目N的特征的代码执行方法220。下面将描述可以适用于以此方式解码代码的技术的例子。
在本发明的一个实施方案中,提供了条形码系统族,在此处称为“W/N递归码”或“嵌入条形码”。在该族中的条形码系统具有符号集,其中单个符号可以包括各种宽度的特征。设IS是特定条形码系统S中的不同宽度的数目。考虑其中IS=4的条形码系统S的示例,即其中有四个不同宽度的特征。虽非必要,但为示例的目的,假设每个这样的宽度都是最小特征宽度的整数倍。
现在设Ni是宽度等于宽度Wi的特征的数目,其中1≤i≤Is。注意,每个宽度Wi可以是任意宽度,只要每个宽度Wi是不同的。在一个实施方案中,每个Wi值都等于最小特征宽度乘以i。系统S中的宽度分布可以用符号(N1,N2,N3,...NIs)来表达。在这样的情况下,在Is=4的示例中,任何一个条形码中都有N1个宽度1(即最小特征宽度)的特征、N2个宽度2(即最小特征宽度的两倍)的特征、N3个宽度3(即最小特征宽度的三倍)的特征以及N4个宽度4(即最小特征宽度的四倍)的特征。这种情况下可获得的组合的总数C由公式1给出,其中N=N1+N2+N3+N4:
公式1
注意,尽管公式1表示Is=4的情况,但是公式1可以推广到Is为任意值的情况,如由公式2给出:
公式2
为了示例的目的,考虑N1=4、N2=2、N3=2、N4=1的情况。图3A示出了满足这些约束的条形码300a的示例。条形码300a包括总共N=9=N1+N2+N3+N4个特征302a-i。条形码300a的宽度数组是(1,2,1,1,3,1,2,3,4);该数组的元素对应于特征302a-i的宽度。注意,有N1=4个单宽度的特征(302a,302c,302d,302f),N2=2个双宽度的特征(302b,302g),N3=2个三宽度的特征(302e,302h),以及N4=1个四宽度的特征(302i)。然而,我们要记得起宽度W1、W2、W3和W4不必是最小特征宽度的连续整数倍,而可以是任意不同特征宽度的集合。
参考图4A,示出了用于解码根据这样系统编码的条形码(例如条形码300a)的方法400的流程图。方法400识别要解码的条形码(步骤401),并且将下标变量i初始化成1(步骤402)。
方法400确定i是否大于Is(不同的特征宽度的数目)(步骤403)。如果不大于,则方法400利用步骤404继续处理。在本示例中,i=1而Is=4,所以方法400继续进行到步骤404。
方法400将条形码中宽度最窄的特征识别为“窄”特征(步骤404)。例如,在图3中示出的条形码300a中,最窄的宽度是单宽度(宽度1)。特征302a、302c、302d和302f具有这个宽度。因此,在步骤404中,方法400将条形码300a的特征302a、302c、302d以及302f识别为“窄”特征。
方法400将条形码中的所有剩余特征识别为“宽”特征(步骤406)。例如,在步骤406中,方法400将特征302b、302e以及302g-i识别为“宽”特征。方法400识别由分别在步骤404和步骤406中识别的宽特征和窄特征形成的图案(步骤408)。例如,参考图3B,示出了表示条形码300a(图3A)的“窄”和“宽”特征的图案310a,其中“n”表示“窄”特征,而“w”表示“宽”特征。图案310a包括元素312a-i,它们与条形码300a(图3A)中的特征312a-i一一对应。
方法400将图案解码成中间值Vi(步骤410)。该解码可以用任何方式执行(例如使用查找表和/或算法),而结果值可以是任何类型的值,例如数字、字符或枚举类型。下文将参照图6描述可以用于步骤410中解码图案的技术的示例。为了示例的目的,在该情况下假设V1=103。
方法400从条形码300a除去“窄”特征(步骤412)。例如,从图3A所示的条形码300a除去“窄”(单宽度)特征产生图3C所示的“条形码”300b。注意,“条形码”300b并不是真正的条形码,而是用于解码条形码300a目的的中间结构。条形码300b包括特征302b、302e以及302g-i。注意,在此新条形码300b中最窄的特征302b和302g宽度为2。注意,尽管本说明书称作从条形码“除去”窄特征,但是可以不从条形码表示中删除元素来执行这样的“除去”。而且,术语“除去”一般指的是任何从方法400随后的步骤中考虑除去条形码“窄”特征的技术,如下文中将进一步描述的。
方法400将i的值增加1(步骤416),并返回到步骤403。如果i≤Is(步骤403),方法400继续步骤404进行处理。在本示例中,i=2且Is=4,所以方法400继续到步骤404。
在步骤404的该迭代中,具有双宽度(宽度=2)的特征被解释为“窄”特征(步骤404)。在本示例中,这些特征是特征302b和302g。所有其余特征被解释为“宽”特征(步骤406)。在本示例中,这些特征是特征302e、302h和302i。
方法400识别由分别在步骤404和406中识别的窄特征和宽特征形成的图案(步骤408)。例如,参考图3D,示出了表示条形码300b(图3C)的“窄”和“宽”特征的图案310b。图案310b包括元素314a-e,它们与条形码300a(图3A)中的特征302b、302e、302g、302h以及302i一一对应。方法400将图案解码成另一中间值Vi(步骤410)。为了示例的目的,这种情况下假设V2=8。
方法400从条形码中除去“窄”特征(步骤412)。例如,从图3C所示的条形码300b除去“窄”(双宽度)特征产生图3E中所示的条形码300c。注意,在这个新条形码300c中的最窄特征302e和302h宽度为3。
方法400将i的值增加1(步骤416),并且返回到步骤403。如果i≤Is(步骤403),那么方法400继续利用步骤404进行处理。在本示例中,i=3并且Is=4,所以方法400继续到步骤404。
在步骤404的迭代中,具有三宽度(宽度=3)的特征302e和302h被解释为“窄”特征(步骤404)。所有其余特征被解释为“宽”特征(步骤406)。在本示例中,唯一的此类特征就是302i。
方法400识别由分别在步骤404和406中识别的窄特征和宽特征形成的图案(步骤408)。例如,参考图3F,示出了表示条形码300c(图3E)的“窄”和“宽”特征的图案310c。图案310c包括元素316a-c,它们与条形码300a(图3A)中的特征302e、302h以及302i一一对应。方法400将图案310c解码成另一个中间值Vi(步骤410)。为了示例的目的,这种情况下假设V3=2。
方法400从条形码中除去“窄”特征(步骤412)。例如,从图3E所示的条形码300c中除去“窄”(三宽度)特征产生图3G中所示的条形码300d。注意,在这个新条形码300d中只有特征302i宽度为4。
方法400将i的值增加1(步骤416),并且返回到步骤403。因为i=4且Is=4,所以方法400继续到步骤404。因为现在只有一个具有一个可能值的特征,V4=0。一旦i在步骤416中再增加1,则i=5而Is=4。因此,在步骤403之后,方法400进行到步骤418,其中方法400从解码的值Vi取得最终的解码值,其中1≤i≤Is。注意,在图4A中所示的例子中,解码的值Vi的总数总是等于不同宽度的数目Is。还要注意,步骤418是可选的,可以使用各个Vi值而不用从它们中取得单个的最终解码值。然而,如果执行步骤418,则可以用多种方式的任意一种来执行。
注意,尽管图4A中示出的方法400从最窄的特征开始遍历到最宽的特征结束,但是方法400可以以任意顺序遍历特征。此外,尽管方法400从左向右处理特征,但这并不是必须的。而且,方法400可以以任何顺序处理特征,例如从右向左或者从中间向外。
例如,参考图4B,示出了在本发明的一个实施方案中为了实现步骤418而执行的方法430的流程图。在描述方法430的操作之前,将介绍条形码“级别(level)”的概念。在本发明的一个实施方案中,条形码(例如图3A中所示的条形码300a)被看作为包含多个级别。条形码本身(例如条形码300a,在图3B的310a中被解释为“窄”和“宽”特征)是级别1;由除去第一“窄”特征集合而产生的条形码(例如,条形码300b,在图3D中被解释为310b)是级别2;由除去第二“窄”特征集合而产生的条形码(例如,条形码300c,在图3F中被解释为310c)是级别3;等等。
返回到图4B,方法430将下标变量i的值初始化成Is的值(步骤432)。例如,如果Is=4,那么在步骤432之后i=4。方法430将最后解码值FV的值初始化成0(或者可选地初始化成之前的条形码计算或者某个其它计算的结果)(步骤434)。
方法430识别级别i的可能图案的数目Ci(步骤436)。例如,如果i=2,则Ci将表示级别2的图案的组合的数目,即基于宽度为2和更宽的条形码的图案的组合的数目。
该方法将FV乘以Ci,并且把级别i的中间解码值Vi加到结果乘积,以取得FV的新值(步骤438)。方法430将i的值减小1(步骤440)。重复步骤436-440直到i=0(步骤442),此时将FV的当前值作为FV的最终值返回(步骤444)。
考虑将方法430应用到图3A中所示的条形码300a。设Bi是级别i的条形码。例如,B1是条形码300a(图3A),B2是条形码300b(图3C),B3是条形码300c(图3E),而B4是条形码300d(图3G)。类似地,设Pi是从级别i的条形码取得的图案。例如,P1是图案310a(图3B),P2是图案310b(图3D),P3是图案310c(图3F)。
在级别i=1(图3B中的图案310a),有五个宽特征和四个窄特征,产生了126个不同的组合。换句话说,C1=126。为了示例的目的,假设图案P1310a解码成数字103。因此,V1=103。
在级别i=2(图3D中的图案310b),有三个宽特征和两个窄特征,产生了10个不同的组合。换句话说,C2=10。为了示例的目的,假设图案P2310b解码成数字8。因此,V2=8。
在级别i=3(图3F中的图案310c),有一个宽特征和两个窄特征,产生了3个不同的组合。换句话说,C3=3。为了示例的目的,假设图案P3310c解码成数字2。因此,V3=2。因为与条形码B4300d(图3G)相应的图案(未示出)只有单宽度,所以图案P4解码成值0。因此,V4=0。
注意,图4B所示的方法430有效地将条形码B1看作最终值FV的最低位部分来处理。该方法将条形码B2看作FV的次低位部分来处理,以此类推。使用上述的特定宽度分布和示例条形码B,图4B中所示的方法430将产生结果:((V4*C3+V3)*C2+V2)*C1+V1=(2*10+8)*126+103=3631.
每一级别i的条形码的意义都可以通过如下方法颠倒:将B1解释为最终值FV的最高位部分,将B2解释为最终值FV的次高位部分,以此类推。参考图4C,示出了根据本原理进行操作的方法45 0的流程图。
方法450将下标变量i的值初始化成值1(步骤452)。方法450将最终解码值FV的值初始化成0(或者可选地根据之前的条形码计算或者某个其他计算的结果)。
方法450识别级别i的可能图案的组合的数目Ci(步骤456)。方法450将FV乘以Ci,将级别i的中间解码值Vi加到所得的乘积,以获得FV的新值(步骤458)。方法450将i的值增加1(步骤460)。重复步骤456-460直到i>Is(步骤462)。FV的最终值作为代码的解码值返回(步骤464)。将方法450应用到上文提供的示例,产生FV=(103*10+8)*3+2=3116。
注意,图4B和4C所示的方法仅仅是可以用来把值Vi组合成最终值的方法的示例。可以使用其他方法把值Vi组合成最终值。例如,可以使用本领域普通技术人员公知的技术组合图4A和图4B所示的方法,以产生计算FV值的递归函数。对于图4A和4C所示的方法同样适用。
在上述的每个示例条形码系统中,条形码在系统内具有单宽度分布。如果不要求单宽度分布,那么可用的组合数目增加。有数种方式利用多宽度分布。
例如,假设特定条形码系统对长度、特征总数、各个特征的宽度、一个特定特征(或宽度)的数目和/或其他条形码特性施加约束。多宽度分布可以满足所要求的组合,其中的任何一个都可以用于需要单宽度分布的系统中。进一步假定,要由该系统进行编码的值的范围超过了使用满足所要求的组合的任何一个宽度分布的可获得的范围。例如,如果特定条形码系统允许条形码使用恰好五个特征,该五个特征的长度恰为11个单位并且最多三个不同的特征宽度,可能会有三种不同的宽度分布:(a)(0,4,1)产生5种不同组合;(b)(1,2,2)产生30种不同组合;(c)(2,0,3)产生10种不同组合。因此这样的系统中不同组合的总数就是45(5+30+10)。而且,假定本示例中的特定条形码系统必须编码从0到42范围内的数字。在本发明的一个实施方案中,每个具体的宽度分布表示具体范围的数字。例如,宽度分布(1,2,2)有30个不同组合,可以表示数字0到29。宽度分布(2,0,3)有10个不同组合,可以表示数字30到39。宽度分布(0,4,1),有5个不同组合,可以表示数字40到42。注意在该示例中只需要使用最后分布的5个组合中的3个。还应注意,可以以任何方式选择分布的特定次序关系。
本领域普通技术人员将理解如何扩展上述的关于图4A-4C的解码技术,以解码依照这样的约束被编码的代码。例如,参考图4D,示出了本发明一个实施方案中执行的方法470的流程图,该方法470向识别多宽度分布的系统中的条形码赋值。方法470将条形码解码成值V(步骤472)。例如,步骤472可以使用图4A和图4B中或者图4A和4C中所示的方法来执行。基于已解码的条形码的特定宽度分布来计算偏移量(步骤474)。在上述例子中,如果条形码的宽度分布是(1,2,2),那么偏移量是0,因为没有前序的宽度分布。如果宽度分布是(2,0,3),那么偏移量是30;前序的宽度分布(1,2,2)具有30个不同的组合。如果宽度分布是(0,4,1),那么偏移量是40。将该偏移量加到值V来产生值V’(步骤476),值V’用作条形码的解码值(步骤478)。
到现在为止所描述的系统只使用了单个条形码。然而,也有可能使用多于一个代码的情况。这些代码可以具有满足系统需要的宽度分布的任意组合。它们可以被当作独立实体来处理,具有上述的每个功能。替代地,也可以组合代码以创建单个数字。例如,假设有两个条形码X和Y。代码X和Y中每一个都可以具有上述的一个或多个宽度分布。在本发明的一个实施方案中,通过使用上述技术解码由代码X表示的数字来组合这两个代码。将该结果乘以代码Y可获得的不同组合的数目。然后将结果乘积加到由代码Y表示的数字。
使用多个代码的另一种方法是把一个长代码分解成两个或更多部分。每个部分可以由单独的传感器读取。可以将来自这些部分的结果宽度数组连接起来形成单宽度数组,然后可以按照前述方法解码该数组。
使用多个代码的另一种方法是用两个或更多个代码,其中每个代码都具有一个或多个所允许的宽度分布,且具有至少一个具有两个或更多个所允许的宽度分布的代码。如上所述,宽度分布的分布本身可以用于编码除编码在代码本身内的任何信息之外的信息,并且独立于编码在代码本身内的任何信息。例如,假设有两个代码X和Y。代码X可以具有宽度分布A或B之一,A和B彼此不同。代码Y可以具有宽度分布D、E或F之一,D、E和F彼此不同。然而,宽度分布A和B中的一个或者多个,可以匹配于宽度分布D、E或F。代码X和Y如上述关于解码和组合数字进行处理。此外,查看在X和Y中使用的分布,并且可以如例如表1所示为不同的配对赋值。
X的分布 | Y的分布 | 所赋的值 |
A | D | 0 |
A | E | 1 |
A | F | 2 |
B | D | 3 |
B | E | 4 |
B | F | 5 |
表1
该信息可以与由X和Y表示的数字组合。本领域普通技术人员将理解如何依照刚才描述的解码技术编码信息。
前面的讨论描述了根据本发明各种实施方案实现的条形码系统的特征。具体地,上文关于方法400中的步骤410(图4A)陈述了,每个图案Pi都可以使用各种方法中的任何一种被解码成相应的值Vi。现在将描述解码如图3B、图3D和图3F中所示的图案的技术的示例。此外,还将描述将值编码成这类图案的技术的示例。
例如,考虑其中将条形码限于总共具有N个特征的条形码系统S,其中W个特征是宽特征,N-W个特征是窄特征。为了示例的目的,假设N=5而W=2。换句话说,有五个特征,其中两个为宽三个为窄。在本发明的一个实施方案中,根据表2将数字0-9映射到符号:
符号 | 数字 |
Wwnnn | 0 |
Wnwnn | 1 |
Wnnwn | 2 |
Wnnnw | 3 |
Nwwnn | 4 |
Nwnwn | 5 |
Nwnnw | 6 |
Nnwwn | 7 |
Nnwnw | 8 |
Nnnww | 9 |
表2
注意,表2左边一列的符号序列可以通过以下方法生成:以宽特征位于符号的左边而窄特征位于右边开始,如表2第一行的符号wwnnn所示。该第一个符号映射到数字0。
为了生成映射到下一个数字(1)的符号,将最右边的宽特征向右移一个位置,结果是符号wnwnn,如表2的第二行所示。对于2,w再向右移(即wnnwn)。为了生成映射到下一个数字(2)的符号,将最右边的宽特征向右移一个位置,结果是符号wnnwn,如表2的第三行所示。重复此过程直到最右边的宽特征位于符号的最右边位置,如表2第四行的符号wnnnw所示,它映射到数字3。
下一个符号通过如下方法生成:返回到最初的符号(wwnnn)并且将两个宽特征都向右移一个位置,以取得符号nwwnn,如表2的第五行所示。这个符号映射到数字5。重复上述过程,以生成与其余数字相应的符号。
本领域普通技术人员将理解,关于表2描述的上述技术,可以更一般地应用于具有任意数目特征的代码,其中有任意数目的宽特征和任意数目的窄特征。在下文的讨论中,注意在图5A-5B和6A-6B中所示的实施方案中,涉及只有两个特征值的代码,而在图6C-6D中所示的实施方案示出了如何推广到具有任意数目特征值的代码。参考图5A-5B,示出了用于生成诸如表2所示的代码集合的完整代码集合的递归过程。
参考图5A,示出了初始化方法500,该方法将特征的总数N识别为具有宽度1的特征的数目N1与具有宽度0的特征的数目N0的和(步骤502)。注意,本讨论中的术语诸如“宽度1”和“宽度0”指的是枚举值,不仅可以翻译成条形码特征的宽度(在这种情况下,宽度1=宽而宽度0=窄),而且可以更一般地翻译成任意代码的任意类型的特征(例如,宽度1=红而宽度0=蓝)。
名称为“初始码(InitialCode)”的代码数组被初始化成包括N1个1随后是N0个0(步骤5 04)。例如,如果N1=2且N0=3,则初始码被初始化为代码11000。初始码数组被传递到名称为“生成全部码(GenAllCodes)”的方法中(步骤506),图5B示出了该方法的一个实施方案。现在将更详细地描述,“生成全部码”的方法生成一完整的代码集合(例如表2中所示的代码集合),并且将该代码集合返回到图5A中所示的方法500中(步骤508)。
现在参考图5B,示出了根据本发明一个实施方案的“生成全部码”的方法510的流程图。方法510接收代码数组“初始码”(步骤512)。方法510确定代码数组“初始码”是否包括所有的1或者所有的0(步骤514)。如果代码数组“初始码”包括所有的1或所有的0,那么方法510返回由“初始码”代码数组组成的单个代码(步骤516)。
否则,方法510删去“初始码”的第一个代码元素,并且将剩余的代码元素作为名称为“初始码2”的代码数组提供(步骤518)。例如,如果初始码是代码11000,那么初始码2将是代码1000。方法510将“初始码2”作为初始码调用其自身,以生成代码集合,并且将1连接到这个代码集合的每个代码的开头,以生成名称为“代码集合1(CodeSet1)”的代码集合(步骤520)。
类似地,方法510删去“初始码”的最后的元素,并且将剩余的代码元素作为名称为“初始码3”的代码数组提供(步骤522)。例如,如果“初始码”是代码11000,那么“初始码3”将是代码1100。方法510将“初始码3”作为初始码调用其自身,以生成代码集合,并且将“0”连接到这个代码集合的每个代码的开头,生成名称为“代码集合2”的代码集合(步骤524)。
方法510通过将代码集合“代码集合2”添加到代码集合“代码集合1”的末尾产生最终的代码集合(步骤526)。结果,“最终代码集合(FinalCodeSet)”包括“代码集合1”和随后跟随的“代码集合2”。最后,方法510返回最终的代码集合(“最终代码集合”)(步骤528)。例如,如果N1=2且N0=3,那么最终的代码集合将等价于表2中所示的代码集合。
参考图6A,示出了根据本发明一个实施方案用于将值编码成具有如表2所示的那种顺序序列的代码的流程图。方法600接收:(1)要编码在代码特征数组F中的值V;(2)要生成的代码中的特征总数NT;以及(3)特征值不为0的特征的数目NTg(步骤601)。
尽管要生成的代码可以是条形码,但这并非必须。而且,该代码可以是任何类型的具有任何类型的特征的代码。可以使用以0开始的序列整数值来枚举不同的特征值。例如,在拥有特征具有三个不同宽度的条形码中,每个不同的宽度都是不同特征的例子。一个宽度可以赋值特征值0,另一个宽度可以赋值特征值1,再另一个宽度可以赋值特征值2。可以以任何顺序向不同特征赋值。例如,尽管可以向条形码中最窄的特征赋值最低的值(例如,0),以及向最宽的特征赋值最高的值(例如,2),但这并非必须。为了一般化的目的,图6的其余讨论将指的是枚举特征值,而不是特征本身的属性(例如宽度)。
方法600将NT的值(特征的总数)赋给变量N(步骤602),并将NTg的值(特征值大于0的特征的总可用数)赋给变量Ng(步骤604)。例如,在表2所示的代码的情况下,Ng=2,因为每个代码中有两个特征值不为0的特征(即“宽”特征,具有特征值1)。
方法600将N(步骤606)和Ng(步骤608)均减1。特征指针f被初始化为指向表示被生成代码的特征值数组F的第一特征(步骤610)。如果Ng大于或等于0(步骤611),则值N!/Ng!/(N-Ng)!被赋给变量Cs(步骤612)。否则,Cs被设为0(步骤613)。
如果V(将被编码的值)大于或等于Cs(步骤614),则特征f的特征值被设为0(步骤620),然后将V的值减少Cs(步骤622),N的值减1(步骤624),并且特征指针f指向特征数组F中的下一个特征(步骤626)。
返回到步骤614,如果值V不大于Cs,那么特征f的特征值被设为1(步骤630),Ng的值减1(步骤632),N的值减1(步骤624),且特征指针f指向特征数组F中的下一个特征(步骤626)。
如果N不小于0(步骤628),则方法600返回到步骤611,并且继续如上所述生成代码中的额外特征。否则,完成代码的生成,并且该方法将当前特征数组F返回为表示值V的代码(步骤634)。
参考图6B,示出了根据本发明一个实施方案的方法640的流程图,该方法640用于从具有如表2所示的代码属性(其中n被0取代而w被1取代)的特征数组F中解码信息(步骤641)。设N是代码中特征的总数(步骤642)。设Ng是代码中特征值大于0的特征的数目(步骤644)。变量Ct的值被初始化为N!/Ng!/(N-Ng)!(步骤646)。N的值(步骤648)和Ng的值(步骤650)都减1。累加器A的值被初始化为0(步骤652)。特征指针f被初始化为指向特征数组F中的第一特征(步骤654)。
如果特征数组F中的第一特征f具有特征值0(步骤656),且Ng的值大于或等于0(步骤658),那么N!/Ng!/(N-Ng)!被加到累加器A(步骤660)。如果特征数组F中的第一特征f不具有特征值0,那么Ng减1(步骤662)。如果特征数组F中的第一特征f具有特征值0(步骤656),且Ng的值不大于或等于0(步骤658),那么方法进行到步骤664。
N的值减1(步骤664),且特征指针f前进到特征数组F中的下一个特征(步骤666)。如果N的值不为0(步骤668),那么方法640返回到步骤656。否则,返回累加器A和变量Ct的值(步骤670)。累加器A的值表示特征数组F的解码值。
图6A-6B中所示的编码和解码方法可以用于编码和解码拥有具有两个不同特征值(例如,0和1)的特征的代码。然而,如上所述,本发明的实施方案可以用于编码和解码多于两个不同特征值的代码。现在将关于图6C-6E描述执行此类编码和解码的技术的示例。
具体地,参考图6C-6D,示出了两种方法,这两种方法联合起来用于编码值X。首先,图6C所示的方法672将值X编码成包含值Vi的“值数组”V,0<i≤Is,其中Is是不同特征值的数目。方法672接收特征分布数组FD以及要编码的值X(步骤674)。如上所述,特征分布数组描述了具有每一个不同特征值的特征的数目。例如,特征分布数组[7,3,2,1]规定有7个特征具有第一不同特征值、3个特征具有第二不同特征值、2个特征具有第三不同特征值以及1个特征具有第四不同特征值。
方法672将i的值初始化成FD中的元素的数目(即i=Is)(步骤676)。方法672通过将值数组V的大小设置为Is而初始化值数组V(步骤678)。方法672将NT的值初始化成0(步骤680),将NTg的值初始化成0(步骤682),并且将R的值初始化成X(步骤684)。
方法672将NT的值增加特征分布数组FD的元素i的值(步骤686)。方法672将Cs的值计算为(NT!/NTg!/(NT-NTg)!)(步骤688)。方法672将值数组的当前元素Vi的值计算为R取模Cs(步骤690)。
方法672利用整除法将R除以Cs,并且将商赋给R(步骤692)。方法672将NTg的值增加FDi(步骤694),并且将i减1(步骤696)。
如果i>0(步骤698),则方法672返回到步骤686。否则,完成值数组V的创建,并且方法672返回值数组V(步骤699)。
参考图6D,示出了根据本发明一个实施方案的方法700的流程图,该方法700利用由图6C的方法672生成的值数组V来编码值X。方法700将在图6C的方法672中使用的相同特征分布数组FD以及由方法672产生的值数组V作为输入来接收。
方法700将i初始化为数组FD中的元素的数目Is(步骤704)。方法700初始化具有0个元素的空特征数组F(步骤706),并且将NT的值初始化为0(步骤708)和将NTg的值初始化为0(步骤710)。方法700将NT的值增加FDi(步骤712)。
方法700使用图6A中所示的编码方法600,以使用总共NT个特征将值Vi编码成现有NT个元素的临时特征数组TF,所述NT个特征中有NTg个特征具有大于0的特征值(步骤714)。方法700将数组TF中的所有1用数组F中的元素一一对应替换,保留F中的相对顺序(步骤716)。然后方法700将特征数组F用临时特征数组TF替换(步骤718),将F的所有元素都加1(步骤720),将NTg的值增加FDi(步骤722),并且将i减1(步骤724)。
如果i>0(步骤726),方法700重复步骤712-724。否则,完成将值数组V编码成特征数组F,且方法700返回特征数组F(步骤728)。
参考图6E,示出了根据本发明的一个实施方案执行的方法730的流程图,该方法730用于解码具有两个或多个不同特征值的特征数组F。方法730接收特征数组F(步骤732),并且将数组F中最大值赋给变量L(步骤734)。方法730将i初始化成1(步骤736),创建具有L个元素的空值数组V(步骤738),并且创建具有L个元素的空组合数组C(步骤740)。方法730将特征数组F中的每个元素减去1(步骤742)。
方法730使用图6B中所示的单级别解码方法640来将特征数组F解码成值A和在级别i可能的组合数目CT(步骤744)。方法730将值A赋给值数组的元素Vi(步骤746),并且将值CT赋给组合数组的元素Ci(步骤748)。
方法730从特征数组F中除去所有0值的元素(步骤750),并且将F中所有其余的元素减去1(步骤752)。方法730将i加1(步骤754)。
如果i≤L(步骤756),则方法730重复步骤744-754。否则,完成将特征数组F解码成值数组V和组合数组C,且方法730返回值数组V和组合数组C(步骤758)。最终的解码值FV例如可以是使用上述方法430(图4B)或者450(图4C)从值数组V和组合数组C中取得。
上文引用的名称为“Thermal Imaging System”的专利公开了一种热敏印刷机,其中印刷头能够在单次通过单个印刷介质时写两种颜色。在该专利中公开的技术可以应用于各种类型可以在各种种类的印刷介质上印刷的印刷机。这样的介质可以例如在尺寸和敏感度方面发生变化。为了产生优化的印刷输出,希望能够基于印刷介质的这些可变属性修改印刷机的参数。虽然印刷机的用户可以手工通知印刷机当前加载在印刷机的印刷介质的属性,但是这样的技术对用户来说很不方便,而且易于出错。
因此,在本发明的一个实施方案中,印刷介质的属性以条形码的形式编码在印刷介质本身上,所述条形码是根据此处公开的任一种技术编码的。例如,参考图7,示出了印刷介质762,它包括印刷在标签764上的条形码766,该标签可以从印刷介质762上除去(例如通过穿孔)。在本发明的一个实施方案中,印刷介质762的“图像区域”(印刷介质762中不包括标签764的部分)是4″X6″,而标签764是4″X1.08″。在本发明的一个实施方案中,条形码766被实现为包括两个不同的条形码的条形码区域,其中一个具有宽度分布(7,3,2,1)而另一个具有宽度分布(7,3,2,1)、(9,4,2,0)或(6,5,1,1),根据介质尺寸而定。条形码766编码可描述印刷介质属性的印刷介质属性信息。例如,如图7所示,条形码766可以以预定方向和预定大小印刷在印刷介质上的预定区域中。如下文将更详细叙述的,以此方式限制条形码的印刷属性可以有助于读取和解释条形码的过程。
参考图8,示出了系统800的数据流图,其中基于印刷在印刷介质802上的条形码804配置印刷机806。印刷机806基于从条形码804取得的配置在印刷介质802上生成印刷输出826。参考图9,示出根据本发明一个实施方案由系统800执行的方法900的流程图。
注意,可以使用此处公开的任何一种技术识别印刷介质802的属性以及将其编码到条形码804中。在执行方法900之前的任何时刻,例如在制造完成操作期间,可以将条形码804印刷在印刷介质802上。条形码804可以以各种方式中的任意一种置于介质802上。例如,如果介质802是热敏的,那么条形码804就可以被热敏印刷。替代地,传统的印刷技术中的任何一种,包括移动印刷和喷墨印刷,可以把条形码804置于介质802上。
印刷机806包括条形码读取器808。注意,诸如条形码读取器808之类的部件,在图8中被描述成印刷机806的部件,也可以替代地被实现成在印刷机806外的部件,并且使用任何合适的通信装置与印刷机806进行通信。条形码读取器808读取条形码808,从而识别条形码804中的特征810(步骤902)。
条形码读取器808可以是任何类型的能够读取条形码804的设备。例如,印刷机806可以已经包括传统的发光二极管(LED)/光敏二极管对来感应介质片的存在。该发光二极管/光敏二极管对也可以用作条形码读取器808,以使用可见光读取条形码。因此,应该理解,条形码读取器808不必是特殊用途的条形码读取设备。如果如图7所示,条形码766印刷在可以被用户除去的标签764上,那么就可以使用普通染料来印刷条形码766,既不需要红外染料也不需要荧光混合物。
印刷机806包括条形码解码器812,该条形码解码器812将特征810中的某些或全部特征解码成可描述印刷介质802的属性的印刷介质属性信息814(步骤904)。注意,编码在条形码804中的印刷介质属性信息814不必指定印刷介质802的所有属性。此外,印刷介质属性信息814可以指定关于特定属性的部分信息。印刷介质属性信息814可以指向存储在印刷机806中的印刷机参数818。参数818可以包含条形码804本身未包含的详细的配置信息。
印刷机806包括印刷机配置器816,该印刷机配置器816可以被实现为嵌入式的微处理器,该微处理器用来基于印刷介质属性信息814修改印刷机806的参数818(步骤906)。例如,印刷机806可以基于条形码中的信息,依据印刷介质的特定属性,通过改变传输到印刷头的能量数量,来改变其如何印刷任意给定的色彩。如果印刷介质具有高于平常的敏感度,印刷机总体上就会使用较少的能量来印刷。对于具有较高或者较低敏感度的介质,那么,条形码就可以包括可表示该较高或较低敏感度的印刷介质属性信息,并且印刷机配置器816可以使用该信息来使印刷机减少或增加印刷中使用的能量的范围。如果印刷介质的特性响应曲线(印刷密度作为能量的函数)改变,那么条形码可以包括识别接近匹配介质特性曲线的特性曲线的印刷介质属性信息,且印刷机配置器816可以使用该信息来将该曲线选择为确定每种密度的正确印刷能量的参考。
印刷机806包括印刷引擎820,该印刷引擎820接收表示印刷工作的印刷数据822(步骤908)。印刷引擎820基于印刷数据822和印刷机参数818在印刷介质802上生成印刷输出826(步骤910)。换句话说,印刷引擎820基于编码在条形码804中的印刷介质属性信息使用如在步骤906中配置的印刷机806印刷印刷数据822。从而系统800使用条形码804来基于印刷介质802的属性优化印刷输出826。
本发明的一些优点是下文中所述的一个或多个。如在此处公开的,本发明的各个实施方案将信息编码到不分隔成多个符号的条形码中。而且,这些条形码包括未分开的特征的单个序列,因而与传统的条形码相比增加了信息密度。这些增加的信息密度使得在和传统的条形码相同的空间内能够编码更多信息。当空间非常宝贵和/或当条形码读取器808的解析度低时,高信息密度是特别重要的。例如,在一个实施方案中,条形码读取器808是发光二极管/光敏二极管对,该读取器808可能只能感应1mm或者更宽的特征。例如,如果条形码804必须印刷的空间(例如,标签764)是25mm长,那么条形码中就只有11到15个特征的地方。在这种情况下,提供具有高信息密度的条形码是特别有利的。在一个实施方案中,条形码804可用的空间是23mm长,而传感器能够感应1mm或者更宽的特征。使用具有多个符号和起始码与终止码的2/5类型条形码,可编码的数字范围是0到99,总共100个数字。在同样的空间内,本发明的实施方案可以编码最高达102,960个数字,或是2/5条形码的1000倍还多。
本发明的实施方案的另一个优点是,可以生成无限长度的条形码符号,从而具有比具有定长符号的条形码更高的信息密度的编码信息。类似地,此处公开的解码技术可以用于解码无限长度的条形码符号,除受解码系统计算能力限制外。
如上所述,本发明各个实施方案中使用的条形码不需要包括起始码和终止码。传统的条形码系统中使用起始码和终止码的一个原因是输入条形码的尺寸、方向、格式以及位置可能变化。然而,在图7所示的实施方案中,条形码766的尺寸、方向、格式和位置是固定的,并且预先是已知的。作为这样的受控环境的结果,可以基于这些预先知道的条形码766的属性可以配置印刷机806来准确地读取条形码766,而不需使用起始码和终止码。
可以理解,尽管该发明在上文是以特定实施方案进行了描述,但是前述的实施方案仅供说明,并不限制或定义本发明的范围。许多其他实施方案,包括但不限于下述内容的实施方案,也在权利要求的范围之内。例如,此处描述的元件和部件可以进一步分割成额外的部件或者合并起来形成更少的部件用来执行同样功能。
可以根据本发明的实施方案编码的印刷介质属性信息的示例包括但并不限于:印刷介质着色剂或染料的最大和最小密度;表示印刷时要使用哪条色调曲线的代码;用于根据印刷介质属性构建或者修改色调曲线的参数;印刷介质的整体敏感度;介质的色彩平衡度;印刷介质的温度敏感度;印刷介质的尺寸;出现在印刷介质中的着色剂的类型;表示如何重新配置印刷机来更新其功能或者与印刷介质相关的参数的代码;或者任何其他关于印刷机配置以及印刷机如何处理当前印刷介质和如何在其上印刷的信息。
尽管此处公开的特定示例提到条形码,但是本发明的实施方案并不限于与条形码结合使用。而且,本发明的实施方案可以与任何类型的用于在输出介质上编码印刷介质信息的代码结合使用。例如,尽管此处公开的特定示例提到条形码中的“条”和“空格”,但是这些术语仅仅是编码系统中的“特征”的示例。例如,不同的颜色是可用于编码信息的特征的示例。因此,本领域普通技术人员将理解如何使用除条和空格以外的特征实施在此处公开的技术。类似地,尽管此处公开的某些示例提到“宽”和“窄”特征,但是这些仅仅是编码系统中特征属性的示例。因此,本领域普通技术人员将理解,应用于“宽”和“窄”特征的技术也可以替代地应用于任意两个以任意方式彼此不同的特征。更一般地,对于诸如“宽度”的术语也是同样,其可以替代地更一般指其值在代码中各特征之间可以变化的任意属性。
例如,上述的技术可以以硬件、软件、固件或者其任意组合的形式来实现。上述技术可以被实现在可编程计算机上执行的一个或多个计算机程序中,该计算机包括处理器、可被处理器读取的存储介质(例如包括易失性与非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。程序代码可以适于使用输入设备输入,以执行所描述的功能和生成输出。该输出可以被提供给一个或多个输出设备。
在下文权利要求书范围内的每个计算机程序可以用任意编程语言实现,例如汇编语言、机器语言、高级过程编程语言或面向对象的编程语言。例如,编程语言可以是编译的或解释的编程语言。
每个这样的计算机程序都可以实现在计算机程序产品中,该产品明确地实现在可机读的存储设备中,供计算机处理器执行。本发明的方法步骤可以由计算机处理器来执行,该计算机处理器执行明确地实现在可机读的存储设备中的程序,以通过操作输入和生成输出来执行本发明的功能。通过示例的方式,合适的处理器包括通用和专用的微处理器。通常地,处理器从只读存储器和/或随机访问存储器接收指令和数据。适合于明确地实现计算机程序指令的存储设备包括:例如所有形式的非易失性存储器,例如半导体存储设备,包括EPROM、EEPROM,以及闪存设备;磁盘,例如内部硬盘以及移动硬盘;磁光盘;以及CD-ROM。前述任一存储器可以由专门设计的ASIC(专用集成电路)或者FPGA(现场可编程门阵列)补充或并入其中。计算机通常也可以从例如内部磁盘(未示出)或移动磁盘之类的存储介质接收程序和数据。这些元件也可以在传统的台式机或工作站计算机中以及其他适合执行实现此处所述的方法的计算机程序的计算机中找到,这些计算机可以与任意数字印刷引擎或标记引擎、监视器或其它能够在纸、胶片、显示屏或其他输出介质上生成色彩或灰阶象素的光栅输出设备。
适合利用本发明各个实施方案的印刷机通常包括印刷引擎和印刷机控制器。该印刷机控制器从主计算机接收印刷数据或者通过直接连接(例如,使用电线或光缆)或无线传输而直接访问存储设备中的图像数据,并生成页信息。印刷机控制器将页信息传输到印刷引擎,以待印刷。印刷引擎执行由输出介质上的页信息指定的图像的物理印刷。
Claims (51)
1.一种生成条形码的方法,该方法包括步骤:
(A)识别输入值的范围;
(B)识别能够编码该输入值的范围的特征值的分布;
(C)识别在该输入值的范围之内的值,以编码在该条形码中;以及
(D)在该条形码中提供数据部分,该数据部分包括与该值相应的有序的多个特征并且具有该特征值的分布。
2.根据权利要求1的方法,其中该多个有序特征不包括起始码或终止码。
3.根据权利要求1的方法,其中该条形码不包括任何起始码或终止码。
4.根据权利要求1的方法,还包括步骤:
(E)将该条形码写到输出介质。
5.根据权利要求4的方法,其中该步骤(E)包括将该条形码写到输出介质而不将起始码或终止码写到该输出介质的步骤。
6.根据权利要求4的方法,其中该步骤(E)包括将该条形码写到可从该输出介质除去的输出介质部分的步骤。
7.根据权利要求1的方法,其中该有序的多个特征由N1个具有第一属性的特征以及N2个具有第二属性的特征组成,且其中至少一个特征约束指定N1和N2。
8.一种生成条形码的系统,该系统包括:
用于识别输入值的范围的第一识别装置;
用于识别能够编码输入值的范围的特征值的分布的第二识别装置;
用于识别输入值的范围内的值以编码在条形码中的第三识别装置;以及
用于在条形码中提供数据部分的装置,该数据部分包括与该值相应的有序多个特征并且具有该特征值的分布。
9.根据权利要求8的系统,其中该条形码不包括任何起始码或终止码。
10.根据权利要求8的系统,还包括将该条形码写到输出介质的装置。
11.一种用于解码由条形码表示的编码信息的方法,该方法包括步骤:
(A)识别该条形码的数据部分中的多个特征,该多个特征表示该编码信息;
(B)分析该条形码的数据部分,以识别该多个特征中的特征值的分布;以及
(C)基于该特征值的分布和该多个特征从该多个特征中取得解码信息。
12.根据权利要求11的方法,其中该步骤(C)包括步骤:
(C)(1)识别与该多个特征相应的多个值;以及
(C)(2)从该多个值中取得解码信息。
13.根据权利要求12的方法,其中该解码信息由单个值组成,且其中该步骤(C)(2)包括从该多个值中取得该单个值的步骤。
14.根据权利要求11的方法,其中该条形码中没有子集表示起始码或终止码。
15.根据权利要求11的方法,其中该多个特征包括该条形码中所有的特征。
16.根据权利要求11的方法,其中该条形码实现在输出介质中,且其中该步骤(A)包括从该输出介质读取该多个特征的步骤。
17.根据权利要求16的方法,其中该步骤(A)包括从该输出介质中读取该多个特征而不读取任何起始码或终止码的步骤。
18.根据权利要求16的方法,其中该步骤(A)包括从该输出介质上预定尺寸的区域读取该多个特征的步骤。
19.根据权利要求16的方法,其中该解码信息表示该输出介质的至少一个属性,且其中该方法还包括步骤:
(D)基于该输出介质的该至少一个属性配置印刷机。
20.根据权利要求19的方法,还包括步骤:
(E)在执行步骤(D)之后,在该输出介质上印刷输出。
21.一种用于解码由条形码表示的编码信息的系统,该系统包括:
用于识别该条形码的数据部分中的多个特征的装置,该多个特征表示该编码信息;
用于分析该条形码的数据部分以识别该多个特征中的特征值的分布的装置;以及
用于基于该特征值的分布和该多个特征从该多个特征中取得解码信息的装置。
22.根据权利要求21的系统,其中该用于取得的装置包括:
用于识别与该多个特征相应的多个值的装置;以及
用于从该多个值中取得解码信息的装置。
23.根据权利要求21的系统,其中该条形码中没有子集表示起始码或终止码。
24.根据权利要求21的系统,其中该条形码是实现在输出介质中,且其中该用于识别的装置包括用于从该输出介质中读取该多个特征的装置。
25.一种用于解码包括多个特征的代码的方法,该方法包括步骤:
(A)通过执行如下步骤识别该多个特征中的多个子集:
(A)(1)识别该多个特征的第一子集,该第一子集共享一共同属性值;
(A)(2)将该多个特征中除该第一子集之外的所有特征识别为
该多个特征的第二子集;以及
(B)将该多个子集解码成多个值。
26.根据权利要求25的方法,还包括步骤:
(C)基于该多个值识别最终值。
27.根据权利要求26的方法,其中该步骤(C)包括步骤:
(C)(1)初始化中间值;
(C)(2)对于该多个值中的每个值Vi:
(a)识别一个相应的乘数Ci;
(b)将Ci乘以该中间值以产生一乘积;
(c)将Vi加到该中间乘积以获得一和;
(d)将该和赋给该中间值;以及
(C)(3)将该中间值赋给该最终值。
28.根据权利要求26的方法,其中该步骤(C)包括步骤:
(C)(1)基于该多个值识别中间值;以及
(C)(2)将该中间值加上一偏移量以生成该最终值。
29.根据权利要求25的方法,其中该步骤(B)包括步骤:
(B)(1)识别图案,其中在该第一子集中的特征由第一字符表示,且其中在该第二子集中的特征由第二字符表示;以及
(B)(2)基于该字符图案识别值。
30.根据权利要求29的方法,其中该步骤(B)还包括步骤:
(B)(3)从该多个特征中除去该第一子集;以及
(B)(4)重复步骤(A)(1)、(A)(2)、(B)(1)和(B)(2)。
31.根据权利要求25的方法,其中步骤(B)包括步骤:
(B)(1)识别与该多个子集相应的多个图案;以及
(B)(2)基于该多个图案识别该多个值。
32.根据权利要求25的方法,其中该代码包括条形码。
33.一种用于解码包括多个特征的代码的系统,该系统包括:
用于识别该多个特征的多个子集的第一识别装置,该第一识别装置包括:
用于识别该多个特征的第一子集的第二识别装置,其中该第一子集共享一共同属性值;
用于将该多个特征中除该第一子集之外的所有特征识别为该
多个特征的第二子集的第三识别装置;以及
用于将该多个子集解码成多个值的装置。
34.根据权利要求33的系统,还包括:
用于基于该多个值识别最终值的装置。
35.根据权利要求33的系统,其中该用于解码的装置包括:
用于识别与该多个子集相应的多个图案的装置;以及
用于基于该多个图案识别该多个值的装置。
36.一种用于将值V编码到代码中的方法,该方法包括步骤:
(A)将该代码中特征的总数NT识别为N的初始值;
(B)识别第一特征值;
(C)将该代码中具有不同于该第一特征值的值的特征的总数NTg识别为Ng的初始值;
(D)基于NT和NTg的值识别特征组合的数目Cs;以及
(E)基于该值V和该特征组合数目Cs向该代码中的多个特征之一赋值。
37.根据权利要求36的方法,还包括步骤:
(F)将N的值减1;以及
(G)重复步骤(D)-(F)直到N<0,其中该步骤(E)的每次执行都操作该代码中的不同特征。
38.根据权利要求36的方法,其中该步骤(E)包括步骤:
(D)(1)如果V≥Cs,那么向该多个特征之一赋第一值,并且将该值V减小该值Cs;以及
(D)(2)如果V<Cs,那么向该多个特征之一赋第二值,并且将该值Ng减1。
39.一种用于将值V编码成代码的系统,该系统包括:
用于将该代码中特征的总数NT识别为N的初始值的装置;
用于识别第一特征值的装置;
用于将该代码中具有不同于该第一特征值的值的特征的总数NTg识别为Ng的初始值的装置;
用于基于值NT和值NTg识别特征组合的数目Cs的装置;以及
用于基于该值V和该特征组合数目Cs向该代码中的多个特征之一赋值的装置。
40.一种用于将代码解码成值V的方法,该方法包括步骤:
(A)将该代码中特征的总数NT识别为N的初始值;
(B)将该代码中具有不同于该第一特征值的值的特征的总数NTg识别为Ng的初始值;
(C)基于值NT和值NTg识别特征组合的数目Cs;
(D)选择该代码中的特征;
(E)基于该所选代码特征的值、该值N以及该值Ng更新该值V。
41.根据权利要求40的方法,还包括步骤:
(F)将该值N减1;以及
(G)重复步骤(D)-(E),直到在步骤(D)中已选择该代码中所有的特征。
42.根据权利要求40的方法,其中该步骤(E)包括步骤:
(D)(1)如果所选择的特征具有第一值并且Ng≥0,则将V增加N!/Ng!/(N-Ng)!;以及
(D)(2)如果所选择的特征具有第二值,将值Ng减1。
43.一种用于将代码解码成值V的系统,该系统包括:
用于将该代码中特征的总数NT识别为N的初始值的装置;
用于该代码中具有不同于该第一特征值的值的特征的总数NTg识别为Ng的初始值的装置;
用于基于值NT和值NTg识别特征组合的数目Cs的装置;
用于选择该代码中的特征的装置;
用于基于该所选代码特征的值、该值N以及该值Ng更新该值V的装置。
44.一种用于将第一代码和第二代码解码成第一值的方法,该方法包括步骤:
(A)识别该第一代码的第一特征分布;
(B)识别该第二代码的第二特征分布;以及
(C)基于该第一特征分布和该第二特征分布的组合识别该第一值。
45.根据权利要求44的方法,其中该第一代码和第二代码包括条形码,且其中该第一特征分布和第二特征分布包括宽度分布。
46.根据权利要求44的方法,其中该第一特征分布包括用于该第一代码的多个可允许特征分布之一。
47.根据权利要求46的方法,其中该第二特征分布包括用于该第二代码的多个可允许特征分布之一。
48.根据权利要求44的方法,还包括步骤:
(D)将该第一代码解码成第二值。
49.根据权利要求48的方法,还包括步骤:
(E)将该第二代码解码成第三值。
50.一种用于将第一代码和第二代码解码成第一值的系统,该系统包括:
用于识别该第一代码的第一特征分布的装置;
用于识别该第二代码的第二特征分布的装置;以及
用于基于该第一特征分布和该第二特征分布的组合识别该第一值的装置。
51.根据权利要求50的系统,其中该第一代码和第二代码包括条形码,且其中该第一和第二特征分布包括宽度分布。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/133,920 US7905409B2 (en) | 2005-05-20 | 2005-05-20 | Print medium feature encoding and decoding |
US11/133,920 | 2005-05-20 | ||
PCT/US2006/017720 WO2006127253A2 (en) | 2005-05-20 | 2006-05-09 | Print medium feature encoding and decoding |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101180631A true CN101180631A (zh) | 2008-05-14 |
CN101180631B CN101180631B (zh) | 2011-12-07 |
Family
ID=36952603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800175669A Expired - Fee Related CN101180631B (zh) | 2005-05-20 | 2006-05-09 | 印刷介质特征编码与解码 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7905409B2 (zh) |
EP (1) | EP1886245A2 (zh) |
JP (1) | JP2008541297A (zh) |
KR (1) | KR101015960B1 (zh) |
CN (1) | CN101180631B (zh) |
WO (1) | WO2006127253A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609623A (zh) * | 2017-10-17 | 2018-01-19 | 九州通医疗信息科技(武汉)有限公司 | 条形码处理方法及装置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6533168B1 (en) * | 1999-05-27 | 2003-03-18 | Peter N. Ching | Method and apparatus for computer-readable purchase receipts using multi-dimensional bar codes |
KR101203423B1 (ko) * | 2007-02-06 | 2012-11-21 | 삼성전자주식회사 | 화상처리장치 및 그 제어방법 |
DE102010037564A1 (de) | 2010-08-12 | 2012-02-16 | Phoenix Contact Gmbh & Co. Kg | Bedruckungsobjekt und Drucker zum Bedrucken eines Bedruckungsobjektes |
US20120193424A1 (en) * | 2011-01-31 | 2012-08-02 | King Abdul Aziz City For Science And Technology | Method of encoding and decoding data on a matrix code symbol |
US8608053B2 (en) * | 2012-04-30 | 2013-12-17 | Honeywell International Inc. | Mobile communication terminal configured to display multi-symbol decodable indicia |
US10621481B2 (en) | 2012-08-30 | 2020-04-14 | Hewlett-Packard Development Company, L.P. | Generating a regressive information object |
EP2891112B1 (en) | 2012-08-30 | 2017-10-25 | Hewlett-Packard Development Company, L.P. | Generating a regressive information object |
US10685317B2 (en) * | 2015-09-22 | 2020-06-16 | United States Postal Service | Trackable postage |
Family Cites Families (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3599153A (en) | 1969-05-23 | 1971-08-10 | United States Banknote Corp | Magnetic authentication of security documents having varying ink level coding |
US3699153A (en) * | 1970-07-02 | 1972-10-17 | Goodrich Co B F | Preparation of hydroxyl terminated polymers |
DE2513873C2 (de) * | 1975-03-27 | 1983-11-17 | Agfa-Gevaert Ag, 5090 Leverkusen | Verfahren und Einrichtung zur Abwicklung und Bearbeitung von Aufträgen zur Herstellung fotografischer Kopien |
US4353641A (en) * | 1979-01-23 | 1982-10-12 | Armando M. Merlo | Color photography print with exposure data and means for making |
DE2945166A1 (de) * | 1979-11-08 | 1981-05-14 | Dr. Böger Duplomat Apparate KG (GmbH & Co), 2000 Wedel | Schaltungsanordnung zur steuerung der belichtungszeit von reproduktionskameras |
US4387297B1 (en) * | 1980-02-29 | 1995-09-12 | Symbol Technologies Inc | Portable laser scanning system and scanning methods |
JPS57201686A (en) * | 1981-06-05 | 1982-12-10 | Sony Corp | Color printer |
FI811916L (fi) * | 1981-06-17 | 1982-12-18 | Waertsilae Oy Ab | Foerfarande och anordning foer identifiering av rulle |
DE3273565D1 (en) * | 1981-07-17 | 1986-11-06 | L H W Auto Telephone Dialers L | Telephone dialling system |
US5067114A (en) * | 1983-03-21 | 1991-11-19 | Develco, Inc. | Correlation for combinational coded telemetry |
JPS6063824U (ja) * | 1983-10-07 | 1985-05-04 | 株式会社精工舎 | カメラのフイルム感度自動設定装置 |
JPS60120073A (ja) * | 1983-12-02 | 1985-06-27 | Victor Co Of Japan Ltd | 熱転写記録装置 |
CA1228503A (en) * | 1984-02-29 | 1987-10-27 | Mitsuru Shinma | Ink donor sheet color detecting device |
EP0414281B1 (en) * | 1985-02-28 | 1995-01-25 | Symbol Technologies, Inc. | Portable laser diode scanning head |
US4710781A (en) * | 1986-08-04 | 1987-12-01 | Eastman Kodak Company | Thermal printer color dye frame identification using red and yellow light sources |
US4736215A (en) * | 1986-11-21 | 1988-04-05 | Polaroid Corporation | Photographic method and apparatus employing automatic camera adjustment |
US4939354A (en) * | 1988-05-05 | 1990-07-03 | Datacode International, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US4855769A (en) * | 1988-08-29 | 1989-08-08 | Polaroid Corporation | Photographic apparatus for motorized processing of instant film |
US4860037A (en) * | 1988-09-12 | 1989-08-22 | Eastman Kodak Company | Film cassette with magnetic film leader |
WO1990004214A1 (en) * | 1988-10-07 | 1990-04-19 | Eastman Kodak Company | Film information exchange system using dedicated magnetic tracks on film |
US4951086A (en) * | 1989-04-12 | 1990-08-21 | Ray Hicks | Method for improving the production of photographic reprints |
CA2011296A1 (en) * | 1989-05-15 | 1990-11-15 | Douglas C. Bossen | Presence/absence bar code |
US4965628A (en) * | 1989-06-28 | 1990-10-23 | Eastman Kodak Company | Photographic film with latent image multi-field bar code and eye-readable symbols |
JP2729088B2 (ja) * | 1989-09-22 | 1998-03-18 | 富士通株式会社 | バーコードリーダ処理装置 |
US5278400A (en) * | 1991-08-19 | 1994-01-11 | Xerox Corp | Multiple threshold encoding of machine readable code |
US5207412A (en) * | 1991-11-22 | 1993-05-04 | Xerox Corporation | Multi-function document integrater with control indicia on sheets |
JPH05193291A (ja) * | 1992-01-16 | 1993-08-03 | Hitachi Maxell Ltd | 赤外光吸収マ−ク印刷物 |
US5333210A (en) * | 1992-07-02 | 1994-07-26 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Method and system for pattern analysis using a coarse-coded neural network |
US5317364A (en) * | 1993-01-04 | 1994-05-31 | Eastman Kodak Company | Method and apparatus for reproducing an image recorded on a photographic filmstrip |
DE69330125T2 (de) * | 1993-06-21 | 2001-11-29 | Hewlett Packard Co | Verfahren und Vorrichtung zur automatischen Änderung der Betriebsbedingungen von Machinen oder Apparaten |
US5557092A (en) * | 1993-11-05 | 1996-09-17 | Intermec Corporation | Apparatus and method for 16-bit and numeric data collection using bar code symbologies |
US5811781A (en) * | 1993-11-05 | 1998-09-22 | Intermec Corporation | Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same |
US6149059A (en) * | 1993-11-05 | 2000-11-21 | Intermec Ip Corporation | Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same |
US6012638A (en) * | 1993-11-05 | 2000-01-11 | Intermec Ip Corporation | Machine-readable symbology and method and apparatus for printing and reading same |
US5479515A (en) * | 1994-05-11 | 1995-12-26 | Welch Allyn, Inc. | One-dimensional bar code symbology and method of using same |
US5488223A (en) * | 1994-09-13 | 1996-01-30 | Intermec Corporation | System and method for automatic selection of printer control parameters |
KR960032233A (ko) * | 1995-01-20 | 1996-09-17 | 후지타 히로미치 | 정보기억매체 |
CA2179338C (en) | 1995-08-07 | 2000-04-25 | Gordon Albert Thomas | Apparatus and method for spectroscopic product recognition and identification |
US5710420A (en) * | 1995-12-05 | 1998-01-20 | Xerox Corporation | Method for embedding and recovering machine-readable information |
US5757001A (en) * | 1996-05-01 | 1998-05-26 | The Regents Of The University Of Calif. | Detection of counterfeit currency |
US5959296A (en) * | 1996-06-24 | 1999-09-28 | Eastman Chemical Company | Scanners for reading near infrared fluorescent marks |
JPH1088107A (ja) * | 1996-09-13 | 1998-04-07 | Shin Etsu Chem Co Ltd | 赤外線吸収材料とその製造方法およびインク |
CN1257596A (zh) * | 1997-04-16 | 2000-06-21 | 因特麦克技术公司 | 耐用的机器可读符号体系及打印和阅读符号的方法和设备 |
EP0916123A3 (en) | 1997-05-05 | 2002-08-28 | Intermec Ip Corp. | Multi-colored symbology method and apparatus |
US6047110A (en) * | 1997-06-09 | 2000-04-04 | Hewlett-Packard Company | Method and apparatus for identifying a print media type |
US6585341B1 (en) * | 1997-06-30 | 2003-07-01 | Hewlett-Packard Company | Back-branding media determination system for inkjet printing |
FR2769107B1 (fr) * | 1997-09-30 | 2001-07-13 | Centre Nat Rech Scient | Procede de codage, equipement pour le codage et produit ainsi code |
US5931960A (en) * | 1997-10-31 | 1999-08-03 | Xerox Corporation | Method and apparatus for handling error diffusion values |
US5984193A (en) * | 1998-03-04 | 1999-11-16 | Hewlett-Parkard Company | Printer media with bar code identification system |
US6729543B1 (en) * | 1998-03-06 | 2004-05-04 | Audiovelocity, Inc. | Page identification system and method |
US6688522B1 (en) * | 1998-09-11 | 2004-02-10 | L. V. Partners, L.P. | Unique bar code |
US6585157B2 (en) * | 1998-09-14 | 2003-07-01 | Psc Scanning, Inc. | Symbology determination to aid decoding in a bar code scanning system |
US6565003B1 (en) | 1998-12-16 | 2003-05-20 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
JP2000335041A (ja) * | 1999-05-28 | 2000-12-05 | Fuji Photo Film Co Ltd | プリンタ |
US6135658A (en) * | 1999-06-24 | 2000-10-24 | Eastman Kodak Company | Thermal printer donor media with single track code containing multiple data fields and apparatus for detecting and reading the same |
US6353479B1 (en) * | 1999-06-29 | 2002-03-05 | Hewlett-Packard Company | Media-type encoding and print mode selection |
US6646754B1 (en) * | 1999-08-31 | 2003-11-11 | Shutterfly, Inc. | Backprinting image prints |
US6674923B1 (en) * | 2000-03-28 | 2004-01-06 | Eastman Kodak Company | Method and system for locating and accessing digitally stored images |
US6595427B1 (en) * | 2000-08-31 | 2003-07-22 | Polaroid Corporation | Method and apparatus for encoding and decoding information in a non-visible manner |
CN1317773A (zh) * | 2001-05-08 | 2001-10-17 | 郭宝平 | 灰度条形编码方法 |
US6650397B2 (en) * | 2001-05-25 | 2003-11-18 | Eastman Kodak Company | Media width detecting system for an imaging apparatus |
US6793310B2 (en) * | 2002-04-08 | 2004-09-21 | Creo Americas, Inc. | Certified proofing |
US6712446B1 (en) * | 2002-12-12 | 2004-03-30 | Hewlett-Packard Development Company, L.P. | Controlling printing in response to print media characteristics |
JP2004251396A (ja) | 2003-02-20 | 2004-09-09 | Yasuo Matsuda | ボールチャック |
-
2005
- 2005-05-20 US US11/133,920 patent/US7905409B2/en not_active Expired - Fee Related
-
2006
- 2006-05-09 CN CN2006800175669A patent/CN101180631B/zh not_active Expired - Fee Related
- 2006-05-09 KR KR1020077021944A patent/KR101015960B1/ko active IP Right Grant
- 2006-05-09 WO PCT/US2006/017720 patent/WO2006127253A2/en active Application Filing
- 2006-05-09 EP EP06770088A patent/EP1886245A2/en not_active Withdrawn
- 2006-05-09 JP JP2008512339A patent/JP2008541297A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107609623A (zh) * | 2017-10-17 | 2018-01-19 | 九州通医疗信息科技(武汉)有限公司 | 条形码处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2008541297A (ja) | 2008-11-20 |
KR20070110103A (ko) | 2007-11-15 |
EP1886245A2 (en) | 2008-02-13 |
CN101180631B (zh) | 2011-12-07 |
US7905409B2 (en) | 2011-03-15 |
KR101015960B1 (ko) | 2011-02-23 |
US20060261168A1 (en) | 2006-11-23 |
WO2006127253A2 (en) | 2006-11-30 |
WO2006127253A3 (en) | 2007-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101180631B (zh) | 印刷介质特征编码与解码 | |
US7690581B2 (en) | Method and apparatus for generating a barcode with a human readable interpretation, a printing apparatus, and a program | |
Hall et al. | Introduction to Haskell | |
TW497081B (en) | One dimensional bar coding for multibyte character | |
US6422476B1 (en) | Method, apparatus and character set for encoding and decoding data characters in data carriers, such as RFID tags | |
DE19736202A1 (de) | Strichcode-Symbolisierung mit der Fähigkeit, 16-Bit-Zeichen zu codieren, und Verfahren und Apparat zum Drucken und zum Lesen derselben | |
US20050224571A1 (en) | Creating and using documents with machine-readable codes | |
CN109409452A (zh) | 通用标签解析及自动生成打印标签的方法和装置 | |
JPH09504633A (ja) | バーコードシンボル表記法を使用する16ビット用及び数値データ収集用装置及び方法 | |
US20030174135A1 (en) | System and method for utilizing multiple fonts | |
US9189720B2 (en) | Method for generating images from text | |
CN107908377A (zh) | 打印语言中字体编码信息的解析方法及其装置和应用 | |
JP2010179521A (ja) | ラベルプリンタ及び情報処理装置 | |
JP6334467B2 (ja) | バーコード命令生成装置 | |
CN114371762A (zh) | 一种打印定制标签的方法、装置和存储介质 | |
EP1418535A1 (en) | Method and apparatus for field programming radio frequency identification devices | |
JP6465425B2 (ja) | バーコード命令生成装置 | |
CN209765481U (zh) | 一种可解码点阵字库的处理器芯片 | |
CN106626845A (zh) | 灰度二维码的印制方法 | |
Hobby | mEtapost: A User’s Manual | |
CN113326712B (zh) | 孔阵码及其制作方法以及结合孔阵码的识别方法 | |
KYAW et al. | DESIGN AND IMPLEMENTATION OF BAR CODES FOR ALL PRODUCTS IN COMMERCIAL CONTROL SYSTEM | |
JP3359688B2 (ja) | バーコード入力装置 | |
CN101482934A (zh) | 在一条形码中表示一数值数据的方法及其相关电子装置 | |
KR890005120B1 (ko) | 판매관리를 위한 바코드 프린팅 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111207 Termination date: 20210509 |
|
CF01 | Termination of patent right due to non-payment of annual fee |