信息编码与二维码外文翻译资料
2022-07-20 20:35:08
英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
信息编码与二维码
Theo Pavlidis ,* Jerome Swartz, Ynjiun P. Wang
Symbol Technologies
二维码和矩阵解决方案为需要显式信息编码而非数据库密钥的应用提供比传统条形码更高的信息量。
过去五年来,出现了一种新的条码形式,其信息密度比超市和其他商店中使用的条形码信息密度高得多。新条码满足了能够编码比现有条形码所能实现的更多的数据的需求。传统的条形码通常用作数据库的关键字(业内用“牌照”这个术语来描述该功能)。例如,超市商品的条形码由11位数字组成,代表识别号码而非产品说明。然而,数据字段可能会被显式编码——例如,价格可以通过条形码中的数字作为数据库的键值来查询访问。
虽然价格查询文件在零售环境中是必要且方便的,但在接收和运送到远程仓库或海外仓库的配送中心,情况可能并非如此。这样的应用程序需要更长的条形码(或其他编码)来存储所有相关信息,如价格,产品名称,制造商,重量,库存数据和有效期。该条码将是一个“便携式数据文件”,因为可以在不访问数据库的情况下检索信息。条形码在信息密度方面有一个明显的缺点:垂直维度不携带任何信息。它只提供了一种冗余,它能够解码部分损坏的符号(因为污点、划痕等),而且当用户不注意方向和界限时,也允许不完美的扫描。后一种功能在超市应用中非常重要,因为这里使用的扫描仪,但在其他应用中不是必需的。而且,在一些应用中,条码可以不受超市包装粗糙的处理的影响,或者它可能是更具成本效益的印刷非常耐用的标签。因此,我们应该能够以更小心的扫描或更昂贵的设备为代价,通过使用垂直维度来增加信息密度。医院提供了一个需要大信息密度的应用示例,并且可以仔细扫描和处理标签。患者手环上的条形码可以记录有关药物的信息。护士会扫描手环上的条形码,然后根据患者的处方方案给予指定的药物。这比在床边张贴图表更可靠。
航运业提供了另一个例子:当包裹从一个地方发送到另一个地方时,发件人还必须发送其货物的描述。此发货清单通常附在包裹上,但此方法不允许快速更新收件人的计算机文件。电子数据交换(EDI)已被提出作为解决方案。发货清单由发件人以电子方式发送给收件人,包裹上的条码提供发货清单的关键字。但是,当发送方和接收方位于不同的国家或通信网络非常不可靠的国家时,或者在紧急情况下网络中断时,EDI面临严峻的挑战。包含发货清单的便携式数据文件为EDI提供了一种替代方案。因为这样的标签会受到粗暴的处理,所以允许纠错的条码是可取的。
本文回顾了以满足在条码标签或符号中以行业语言存储更多信息的挑战而提出的各种方案。它扩展了前面一篇文章的结果,一般性地讨论了使用条形码进行信息编码。在下一节中,我们将介绍信息密度的概念。 然后,我们处理阅读技术施加的限制,并研究最近提出的各种堆叠条形码。 我们也讨论某些非条形码解决方案。
信息密度:
若要将包含数据库记录内容的项标记为此类记录的密钥,必须在此类标签上增加信息密度。已经提出了两种方法。一种是降低条形码的高度。理论上,最佳排列是非常细长的条形码,但是这样的条形码不实用。通常有一个固定的区域必须打印信息,实际的解决方案是堆叠标签以创建堆叠条形码或二维条形码。另一种提高信息密度的方法是用与条形码中使用的方法完全不同的方式进行编码。特别的,我们解决以下抽象问题:给定一个矩形区域,设计一个细分为具有两种颜色之一的区域的方案,以使记录的信息最大化。如果我们没有其他限制,这个问题有一个简单的理论解决方案。 将打印技术允许的区域打印为小区域,并获得二维二元图案。如果由此产生的区域格尺寸为Htimes;W(以可打印的最窄元素来衡量),那么我们可以创建2HW图案。 在这种情况下,信息密度将会是
H = = 1 bit/像素 (1)
这是理论上的最大值。
然而,实际上我们有很多限制,包括噪音和扭曲以及印刷和阅读成本的限制。正如我们在前一篇文章中所展示的那样,条码结构是为了响应在不同距离读取未知尺寸标签(自动计时)以及需要抵抗某些类型的失真和噪声而发明的,没有条码安全防护的区域的编码需要完全不同的阅读技术(参见下一节)。对于我们讨论堆叠条形码和区域编码,我们引入下面的符号:
- X是代码的模块宽度,等于阅读器也可以解析的最窄印刷元素(相当于数字图像处理术语中的像素宽度)。
- h是以模块宽度X的倍数表示的数据行(条形码或区域)的高度。这相当于最窄元素的长宽比。
- m是每个码字的模块数量。
- w是每行代码字的数量。
- phi;是扫描线相对于行方向的最大允许倾角。
如果我们坚持扫描线必须完全位于数据行内,则量h,m,w和phi;通过方程:
= (2)
通过允许部分扫描的“缝合”,我们可以放宽对phi;的限制:如果数据行不是由单个扫描线读取,则其不同部分可以通过单独的扫描线读取并在稍后组装。那么我们只需要在一个码字内保持一条扫描线,所以最大倾斜角度由下式给出:
= (3)
这些方程没有考虑扫描装置的有限光点尺寸。 当1le;hle;2时,我们必须用h -c代替h,其中c是一个常数值,介于0.6和1之间。在实际应用中,h总是大于2,我们可以忽略调整。出于这个原因,我们在这里只使用更简单的表达式。
二维码(堆叠条形码或区域编码)的信息内容以通常的方式定义:
S = bits (4)
其中N是编码中可能的代码字的数量。密度的定义需要更多的关注,因为它必须允许在类似的扫描条件下比较不同的编码。对于给定的h和m,我们可以计算码字密度。
W(h,m) = bits/像素 (5)
为了计算符号密度,我们必须固定每一行的高度或用允许的倾斜角phi;表示密度。我们还必须区分可拼接符号的密度和不可更改符号的密度。在前一种情况下,扫描线只需要保存在一个编码字内,而后者必须保存在一个数据行内。在前一种情况下,h由等式3给出,并且码字的面积是m2tan(phi;)。对于不可固定的符号体系,h由等式2给出,并且码字的面积hm由wm2tan(phi;)给出。 因此,对于可拼接的符号系统,密度由下式给出
H(w ,m ,phi;) bits/像素 (6a)
对于不可拼接的符号系统,由以下公式给出
H(w ,m ,phi;) bits/像素 (6b)
这篇文章中,如果它们对于给定的编码是固定的,我们省略这些表达式的一些论点。此外,我们用H(... R)表示密度,包括符号开销(开始和结束字符,校验等),其中R是每个符号的行数。
图1.扫描线(粗线)和数据行(对角线阴影)的相对位置:(a)理想情况在每个数据行内有一条或多条扫描线; (b)扫描线仍然是平行的,但是相对于数据行倾斜,使得每条扫描线与多行数据相交; (c)最差情况下非平行扫描线 - 与手持式扫描仪相同。
扫描方法:
不管用于在纸上编码信息的方法,读取它有两种基本方法。一种是存储来自所获得的代码的反射率的二维图像,例如,通过电荷耦合装置相机。在这种情况下,表示将是两个变量f(i , j)的函数,其中i和j是列和行索引。另一种方法是存储一系列线性扫描,例如通过激光扫描仪获得。 该表示将是一个变量Fi(t)的函数集,其中1le;ile;N,如果N是线性扫描的数目并且t是时间。(时间间隔对应于打印的条和空格的长度。)当通过手持式扫描仪扫描堆叠的条形码时,扫描线不必平行,也不必以任何特定顺序。(手持式扫描仪显示一条扫描线,以一种相当不可预知的方式通过手动移动到标签上。)
图2.高代码(a)的每个块都包含完全位于其中的一条或多条线。 短码(b)不适用。
图3.用于识别位置,比例和方向的标记。
读取二维符号的主要问题是垂直同步的丢失。 如图1所示,扫描具有j常量的线或线不需要与图案的水平线重合。 另外,一维码存在自动计时问题。
因为扫描线可能会跨越数据行,所以我们必须解决以下问题:给定Fi(t)(1le;ile;N),确定每个数据行的数据行(或多行)。 由于没有尺寸的绝对尺寸可用,我们无法进行角度估计。 对于给定的一小组Fi(t)标识任何行转换,我们需要每行的固有标号方案。 然后,每组扫描可以分为数据行集群:
hellip; (7)
我们可以使用字符串匹配算法重建数据行。
避免垂直同步问题的一种方法是确保每条扫描线完全位于数据行内。 这简化了处理过程,但是减少了信息内容,因为数据行必须足够高才能使单次扫描保留在单行内(参见图2)。
由于扫描行的读取顺序与数据行的顺序不同,因此即使扫描行完全包含在数据行中,也需要行标识符。缺乏秩序是由于两个因素:设备限制(例如,手持扫描仪)以及需要重新扫描一些行,如果他们第一次没有解码。
总之,如果要通过线性扫描读取代码,它必须具有以下功能:
- 自同步水平同步
- 行号标识
- 由本地行鉴别器提供的垂直同步或由足够大的纵横比确保每行包含至少一条扫描线
宽高比定义为行高度与模块宽度的比率,用h表示。
另一种扫描方法是捕获数组f(i,j)中的符号图像。然后我们可以使用静态技术来确定感兴趣的区域。图3显示了一个带有标记的标签,用于查找位置,比例和方向。此方法可用于堆叠的条形码和二维编码。 它需要捕获整个图像,因此需要比仅捕获单个扫描线的技术更多的内存。而且,由于数据量较大,通过图像分析技术的进一步处理需要比分析线性扫描更多的计算。从本质上讲,在扫描器瞄准标签的成本与仅处理线性扫描的成本以及处理图像的成本之间存在折衷,而无需担心目标。
宽高比定义为行高与模块宽度之比,用h表示。至少在理论上,可以在确定标签的位置,比例和方向(图3中的角度phi;)之后重新扫描图像。的确,有可能沿着与方程的直线收集f(i,j)的值
y d = 0 (8)
其中d不同以涵盖代码的区域。 主要的实际困难是虽然f(i,j)仅在整数i和j上定义,但满足方程8的点一般不会是整数,我们必须使用近似值。
已经提出了三种具有大纵横比的堆叠条形码:代码49:其堆叠(16,4)代码; 代码为16K,代码为128;代码为MLC-2D,代码为39。所有这些代码都使用粗黑线(垂直厚度等于一个模块)作为行分隔符。如果扫描线与分隔线相交,则所得到的间隔序列包括非常宽的条,只要相交角很小即可。在解码期间检测到这样的宽条,并且扫描结果被拒绝。但是,如果以大角度进行扫描,分离线的宽度看起来与常规棒的宽度相当(见图4),分离不再可靠。
Code 49. 由D. A
全文共13386字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[8779],资料为PDF文档或Word文档,PDF文档可免费转换为Word