CN105320979B - 高容量二维彩色条形码和用于解码其的方法 - Google Patents

高容量二维彩色条形码和用于解码其的方法 Download PDF

Info

Publication number
CN105320979B
CN105320979B CN201510288583.7A CN201510288583A CN105320979B CN 105320979 B CN105320979 B CN 105320979B CN 201510288583 A CN201510288583 A CN 201510288583A CN 105320979 B CN105320979 B CN 105320979B
Authority
CN
China
Prior art keywords
boundary
primary colors
color
unit
data cell
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.)
Active
Application number
CN201510288583.7A
Other languages
English (en)
Other versions
CN105320979A (zh
Inventor
方刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Laboratory USA Inc
Original Assignee
Konica Minolta Laboratory USA Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Konica Minolta Laboratory USA Inc filed Critical Konica Minolta Laboratory USA Inc
Publication of CN105320979A publication Critical patent/CN105320979A/zh
Application granted granted Critical
Publication of CN105320979B publication Critical patent/CN105320979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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
    • G06K19/06046Constructional details
    • G06K19/0614Constructional details the marking being selective to wavelength, e.g. color barcode or barcodes only visible under UV or IR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/06009Record 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
    • G06K19/06037Record 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 multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/1426Multi-level bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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
    • G06K2019/06215Aspects not covered by other subgroups
    • G06K2019/06225Aspects not covered by other subgroups using wavelength selection, e.g. colour code

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)

Abstract

公开了一种2D彩色条形码布局。该条形码包括数据单元的2D阵列、四个角落定位器、和形成基本上环绕所述数据单元的阵列的、角落定位器之间的四个边界的边界参考单元。每一数据单元和边界参考单元具有四原色(例如,CMYK)之一。大多数边界参考单元具有与数据单元相同的尺寸,除了更长的黄边界参考单元。边界参考单元形成沿着边界的重复颜色序列,并在解码期间被使用以计算(1)沿着边界的不同地点处的每一原色的信道偏移(空间偏移)和(2)每一原色的参考(平均)颜色值。在解码期间,在考虑通过内插边界参考单元的信道偏移而计算的信道偏移的同时,测量每一数据单元的颜色值。

Description

高容量二维彩色条形码和用于解码其的方法
技术领域
该发明涉及二维(2D)彩色条形码,并具体地,其涉及二维彩色条形码的结构以及用于解码其的方法。
背景技术
条形码是数据的光学机器可读表示。2D彩色条形码由按照二维方式(即,沿着水平和垂直方向两者)排列的小正方形或矩形单元形成,并且对于每一单元使用一个颜色。不同颜色表示不同数据值。条形码的数据容量和单元数目和颜色数目之间的关系能表达为
数据容量=(单元数目)×log2(颜色表示的数目)
使用小单元尺寸和更多颜色表示的条形码设计能实现给定区域中的相对高的数据容量。然而,各种因素限制单元能成为多么小。
数字打印机的信道偏移是硬件缺陷(imperfections)引起的必然效应。信道表示打印机使用的不同原色(例如,青、品红、黄和黑或者CMYK);信道偏移表示以下事实,即,当使用不同原色来打印具有相同位置值的像素时,所打印的像素的实际位置可以不是十分相同。偏移量可以是全局的(即,跨越整个图像的相同偏移)和/或局部的(即,它们在页面的不同区域中可以是不同的)。当条形码单元小时,信道偏移效应可显著影响结果,促使相邻单元之间的间隔改变,并且单元甚至能彼此合并。
而且,单元的颜色密度取决于单元面积。小面积的颜色密度当与大面积的颜色密度相比时相对低,这可引起对于具有小单元的条形码的颜色确定的难度。
此外,不同打印机和扫描仪的工作条件可变。不同打印机将具有不同输出,同样不同扫描仪将具有不同输出。工作条件也可以随着时间改变,使得来自一个打印机或一个扫描仪的输出在不同时间也可以改变。
发明内容
本发明的实施例提供了2D彩色条形码布局的设计、以及能解码条形码以降低扫描仪和打印机的条件的变化的影响的鲁棒算法。
本发明的目的是提供高容量2D彩色条形码设计、和在上面讨论的打印机和扫描仪的物理限制下工作良好的用于解码条形码的鲁棒方法,方法能不管来自扫描仪和打印机的变化而降低解码的误差率。
本发明的附加特征和优点将在接下来的描述中阐明并且部分将根据该描述而清楚,或者可通过本发明的实践得知。本发明的目的和其他优点将通过在书写的描述及其权利要求以及附图中具体指出的结构来实现和达到。
为了实现这些和/或其他目的,如实施和广泛描述的那样,本发明提供了一种打印二维彩色条形码,包括:多个数据单元,每一数据单元具有多个原色之一,所述数据单元具有相同尺寸,并被排列以形成包括被空白隔开的多列和多行的二维阵列;位于该条形码的角落处的多个角落定位器单元,所述角落定位器单元具有黑色并具有比数据单元的尺寸大的尺寸;和多个边界参考单元,每一边界参考单元具有多个原色之一,所述多个边界参考单元被排列以形成位于所述角落定位器单元之间并基本上环绕所述数据单元的二维阵列的四个边界,并且两个角落定位器单元之间的每一边界中的边界参考单元具有包括所述多个原色的预定重复颜色序列。
在另一方面中,本发明提供了一种用于解码扫描图像中的二维彩色条形码的方法,该条形码具有已知布局,该已知布局包括形成二维阵列的多个数据单元,该二维阵列包括被空白隔开的多列和多行、位于条形码的角落处的多个角落定位器单元、以及形成位于角落定位器单元之间并基本上环绕所述数据单元的二维阵列的四个边界的多个边界参考单元,每一数据单元和边界参考单元具有多个原色之一,所述数据单元和一些边界参考单元具有相同尺寸,所述角落定位器单元具有黑色以及比数据单元的尺寸大的尺寸,两个角落定位器单元之间的每一边界中的边界参考单元具有包括所述多个原色的预定重复颜色序列,该解码方法包括:(a)使用角落定位器单元的位置来计算所有数据单元和边界参考单元的中心位置;(b)使用所有边界参考单元,计算在沿着每一边界的多个位置处的每一原色的信道偏移;(c)通过对具有相应原色的所有边界参考单元中的像素的颜色值求平均,来计算每一原色的参考颜色值;(d)对于该数据单元阵列的区域内的每一像素:(d1)计算多个色差值,每一色差值是该像素的颜色值与原色之一或白色的参考颜色值之间的色差;(d2)基于所述色差值,计算针对所述多个原色的多个像素颜色概率,每一像素颜色概率代表像素是对应原色的概率;(e)对于每一数据单元:(e1)计算与所述多个原色对应的单元的多个预测位置,每一预测位置通过向步骤(a)中计算的数据单元的中心位置添加对应原色的局部信道偏移来计算,其中所述局部信道偏移通过内插在步骤(b)中计算的沿着四个边界的多个位置处的对应原色的信道偏移来计算;(e2)计算针对所述多个原色的多个单元颜色概率,每一单元颜色概率代表数据单元是对应原色的概率,每一单元颜色概率通过在位于具有数据单元的尺寸并且以对应原色的预测位置为中心的区域中的像素上、对针对对应原色的像素颜色概率求和来计算;(e3)通过比较针对所述多个原色的多个单元颜色概率,来确定数据单元的颜色;和(f)将数据单元的颜色变换为数字数据。
在另一方面中,本发明提供了运行以上处理的数据处理设备。
应理解的是,以上一般描述与以下详细描述是示范性和解释性的,并意欲提供要求保护的本发明的进一步解释。
附图说明
图1描绘了根据本发明实施例的彩色条形码布局。
图1A(用颜色)描绘了根据本发明实施例的一个示范彩色条形码和相邻条形码的部分。
图2、2A和2B示意性图示了根据本发明实施例的条形码解码方法。
图3示意性图示了其中可实现本发明实施例的数据处理设备。
具体实施方式
图1描绘了根据本发明实施例的示范彩色条形码的布局。该彩色条形码包括形成二维阵列的多个数据单元11,每一单元具有多个颜色之一。在优选实施例中,所述多个颜色是青(C)、品红(M)、黄(Y)和黑(K),并且每一单元能代表2比特信息。CMYK是打印机中使用的原色,并且它们中的每一个由一种彩色墨水打印并被称为颜色信道。所以,利用一种墨水打印条形码中的每一单元,并且每一单元的颜色将是均匀的。每一单元具有定义的尺寸,并且单元被隔开定义的距离。优选地,这些单元是正方形形状,形成沿着垂直和水平方向对准的列和行,并且行距离和列距离相等。在一个特定实施例中,单元尺寸是3×3像素,并且单元之间的距离(空白的宽度)是水平和垂直方向两者的2个像素。
条形码具有位于条形码的角落的四个角落定位器单元12、以及在位于角落定位器之间的条形码的四边的每一边上的一排边界参考单元13A、13B,使得数据单元11的阵列位于边界之内。能在解码期间使用以给出条形码的四个角落的地点的角落定位器12优选在颜色上是黑色的并且大于数据单元。在该示例中,它们的尺寸是13×13像素,即,它们的尺寸对应于内部阵列中的数据单元的3×3块。较大尺寸使得它们相对易于定位。
边界参考单元13A、13B包括按照预定义颜色序列排列的青、品红、黄和黑参考单元。所述参考单元能提供在解码处理中有用的信道偏移(全局和局部)信息以及颜色信息。在一个实施例中,青、品红、黄和黑参考单元13A和数据单元11具有相同尺寸,使得这些参考单元的颜色密度与数据单元的颜色密度相似,而黄参考单元13B比数据单元长。这是因为黄色与白背景接近,并且更难以精确检测。在该示例中,黄参考单元13B的尺寸是3x13或13x3像素;即,它们的尺寸对应于内部阵列中的数据单元的1x3或3x1块。边界参考单元13A、13B彼此隔开,并与角落定位器12隔开比内部数据单元阵列中的单元分隔更大的距离,以便避免参考单元的潜在重叠。在该示例中,两个相邻参考单元之间、角落地点和相邻参考单元之间、以及参考单元与相邻数据单元之间的距离(空白)是7像素;该距离对应于内部数据单元阵列中的两列(或行)之间的距离,如果去除每一其他列(或行)的话。
在该示例中,边界参考单元的预定义颜色序列是Y、K、M、K、C、K、……的重复序列;即,每一其他参考单元是黑,并且黑参考单元之间的参考单元形成重复颜色序列(黄单元变得更大)。按照该方式排列的四排边界参考单元沿着角落定位器之间的条形码的四边的整体长度延伸。这允许在条形码的不同区域中测量参考单元的信道偏移,并用来估计条形码中的任何位置处的数据单元的局部信道偏移。
设计不对称性,使得四个角落定位器之一能与其他角落定位器区分,这在解码处理中有用。这可按照任何适当的方式实现。在一个示例中,通过边界参考单元的特定序列来实现不对称性。例如,在图1中的图示示例中,仅左上角落定位器具有从其沿着顺时针和逆时针方向两者延伸的YKMKCK……的序列;从其他角落定位器延伸的序列不同(图1中未示出)。
与角落定位器之一(图示示例中的右下定位器)相邻、并且正好在边界参考单元所形成的边界内部,提供一排较大单元14,以编码条形码的数据长度和ECC。在该示例中,这些单元(被称为验证数据单元)和黄参考单元13B具有相同尺寸,并且它们彼此隔开,并与相邻边界参考单元和数据单元隔开与边界参考单元彼此隔开的距离相同的距离,即该示例中7个像素。在一个示例中,提供了12个验证数据单元。
在这些实施例的条形码布局中,所有单元(即,数据单元、角落定位器、边界参考单元和验证数据单元)在相同矩形或正方形网格上对准,即,所有单元的中心位于网格的网格点上。这需要较大单元覆盖奇数列和/或行。这样的设计能帮助避免将图像划分为单元所引起的某些误差。而且,非数据单元与其他单元隔开比数据单元之间的距离(例如,2个像素)更宽的距离(例如,7个像素),这能帮助避免这些非数据单元中的不同颜色信道的重叠。
在一个特定示例中,条形码的网格具有134列和134行,并且条形码在每一边上包括彩色边界参考单元的九个集合。排除空白、角落定位器、边界参考单元和验证数据单元,能使用16788个数据单元来在每一条形码中存储信息。多个条形码能彼此相邻地放置在同一页上,其间具有例如20像素的空白。对于600dpi的打印分辨率,条形码将占用大约1.15x1.15平方英寸的空间。由此,至多6x9个条形码可被放置在信纸尺寸的页面上。
示范2D彩色条形码和相邻彩色条形码的部分在图1A中图示。
这里记录上述2D彩色条形码设计的两个特征:首先,除了黄边界参考单元之外的边界参考单元和数据单元具有相同尺寸。黄边界参考单元较长(或较宽)但是和数据单元具有相同宽度(或高度)。其次,边界参考单元形成基本上完全环绕数据单元的边界。这些特征有助于由小尺寸数据单元形成的2D彩色条形码的改进解码精度。
下面参考图2、2A和2B来描述用于解码具有上述布局设计的条形码的解码方法。要处理的打印文档包括并排排列的这样的条形码的一个或多个。在将打印文档扫描为彩色图像(步骤S11)之后,在步骤S12对彩色条形码进行首先定位和去歪斜(deskewed),这参考图2A进行进一步解释。在优选实施例中,扫描的空间分辨率与打印分辨率相同。在其他实施例中,扫描分辨率能高于打印分辨率。
如图2A中所示,首先,将彩色图像变换为灰度等级图像,并然后进一步变换为二进制(黑和白)图像(步骤S21)。扫描仪生成的彩色图像典型地是RGB图像,并且可使用任何合适公式来将RGB颜色值变换为灰度等级值。可使用任何合适的二值化方法和阈值来将灰度等级图像变换为二进制图像。青、黄和品红单元是否变换为黑(尽管在实践中,黄将趋于变为白并且品红将趋于变为黑)是不重要的,只要将黑单元变换为二进制图像中的黑即可。
接下来,向二进制图像应用侵蚀(erosion)算法,以使用相对大的结构化元件来侵蚀白区域(步骤S22)。注意,侵蚀白区域在算术上等效于使黑区域膨胀(dilating)。侵蚀和膨胀是公知的形态学(morphological)运算。在一个实施例中,侵蚀中使用的结构化元件是30x30像素的正方形或直径为30像素的圆盘。作为侵蚀的结果,白区域将收缩并且黑区域将增长;并且因为结构化元件的相对大尺寸,条形码中的黑单元典型地合并到一起,并且相邻条形码也合并到一起,导致和多个条形码所占用的页面的区域相比具有大致相同形状以及稍微大的尺寸的大黑块。
侵蚀的二进制图像也可包括具有比条形码小很多的黑点形式的噪声。执行步骤S23和S24来去除这样的噪声。在步骤S23,使用大致具有条形码的尺寸的滤波器,来向侵蚀的二进制图像应用平均化运算。这给出其中大黑块的边界成为浅灰污点的灰度等级图像;由于大滤波器尺寸所以噪声点将成为浅灰区域。在步骤S23中也定位该灰度等级图像中的最黑像素。这些最黑像素将不包括与噪声点对应的浅灰污点。然后,使用来自步骤S22的侵蚀的二进制图像,确定包括步骤S23中的平均图像中最黑像素的地点的、侵蚀的二进制图像中的连接组件(步骤S24)。二进制图像中的连接组件是由彼此连接的相同颜色(在该情况中黑色)像素形成的对象。在步骤S24中得到的这些连接组件将对应于条形码的地点并且将不包括噪声点。典型地,当彼此相对接近地定位多个条形码时,将形成包括所述多个条形码所占据的区域的一个连接组件。
在步骤S24中得到的每一连接组件周围形成最小包围盒(bounding box)(步骤S25)。每一包围盒构成其中条形码(一个或多个紧密相邻的条形码)位于的区域。每一包围盒中的二进制图像被去歪斜,使得连接组件的边界成为垂直和水平(步骤S26)。可使用任何适当方法用于去歪斜。
因为包围盒可包括多个条形码,所以通过在去歪斜之后沿着水平和垂直方向分别投影该条形码图像,来分离所述多个条形码(步骤S27)。该步骤中使用的条形码图像可以是原始扫描的彩色图像、或者在步骤S21生成的灰度等级图像或二进制图像。所述投影是总像素值分别vs.水平和垂直位置的曲线。在该实施例中,多个条形码具有相应尺寸和布局,并且沿着水平和垂直方向彼此对准;由此,每一投影(水平或垂直)将具有与隔开所述条形码的间隔对应的多个较大间隙或谷、以及与隔开条形码中的单元的间隔对应的多个较小间隙或谷。结果,能获得每一条形码的水平和垂直开始和结束位置。
然后,将在步骤S25得到的包围盒施加到原始扫描的彩色图像以定位其中的条形码,施加在步骤S26计算的去歪斜角以对包围盒进行去歪斜,并且使用在步骤S27得到的水平和垂直开始和结束位置来获得其每一个包括个别条形码的彩色图像的图像补丁(步骤S28)。这完成在扫描彩色图像中定位和去歪斜条形码的处理。
尽管上面描述了定位和去歪斜条形码的处理的细节,但是也能使用其他适当方法来在扫描彩色图像中定位和去歪斜条形码。
返回参考图1,在下一步骤中,通过利用条形码布局的不对称性来确定条形码的正确朝向(步骤S13)。因为当扫描文档时可能已旋转了条形码的朝向,所以该步骤是必需的。如前面描述的,条形码布局设计关于条形码的四个角落定位器是不对称的。例如,对于仅一个角落定位器,两个较大黄边界参考单元13B与其相邻定位。基于该不对称性,角落定位器之一被预定义为参考角落定位器,并且定义条形码的正确朝向,使得参考角落定位器位于诸如左上角的预定义地点。在步骤S13,可使用任何合适测试来利用不对称性确定哪个角落定位器是参考角落定位器。该参考角落定位器仅需要对于每一页上的一个条形码得到。一旦得到参考角落定位器,整个扫描图像就旋转适当量,使得参考角落定位器位于诸如条形码的左上角的预定义位置处。
一旦校正了图像朝向,就能对图像中的多个条形码编索引,即分配索引号,其符合诸如从上到下以及从左到右的预定义顺序(步骤S13)。这样,多个条形码中包括的信息能正确串在(strung)一起。
现在能提取每一条形码中的数据(步骤S14)。参考图2B来更详细地解释向每一条形码应用的步骤。
首先,例如使用互相关方法来确定彩色条形码的四个角落定位器的中心位置(步骤S31)。使用这些中心位置和已知的条形码中的网格点(水平和垂直)的总数,来计算条形码的网格点的位置(步骤S32)。如前面指出的,条形码的所有单元被设计为使得它们的中心位于相同网格上。水平和垂直方向上的网格点的总数分别是数据单元的列和行的总数加4。注意,角落定位器的中心位于水平和垂直方向两者中的第二个或倒数第二个网格点。
还注意到,因为网格点之间的距离在该条形码设计中是5个像素,所以每一像素对应于0.2个网格点。
接下来,计算沿着四个边界的信道偏移(步骤S33)。这通过将每一边界投影到与该边界平行的轴上(例如,将上水平边界投影到水平轴上等)来进行。该投影曲线将具有与边界参考单元对应的一连串近方型(near-square)峰值、以及与其间的间隙对应的一连串谷。通过得到近方型峰值的中心而从投影曲线确定每一边界参考单元的实际中心位置;每一边界参考单元(具有基于条形码布局设计的已知颜色)的实际中心位置和设计中心位置(即,根据没有信道偏移的条形码设计,中心位置应该是什么)之间的差是用于沿着边界的那个位置处的那个颜色的信道偏移。这样,对于沿着每一边界的多个位置,获得作为位置的函数的每一颜色信道的空间偏移。
在步骤S33的一个实现中,将像素值从RGB颜色值变换为标准颜色空间诸如CIE L*a*b*颜色空间;用于L*、a*、b*和a*+b*值的四个投影曲线对于每一边界获得,并用来分别定位黑、品红、黄和青边界参考单元的中心位置。
从步骤S33,获得沿着上和下边界的每一颜色信道的水平偏移,并且还获得沿着左和右边界的每一颜色信道的垂直偏移。使用四个边界的信道偏移信息,能通过内插来计算条形码内用于任何给定位置的每一颜色信道的局部水平和垂直偏移。例如,对于线性内插,能使用每一边界上的一个信道的平均偏移。可使用以下线性内插等式,来计算条形码的位于位置(x,y)处的数据单元的局部信道偏移(等式(1)):
dx(x,y)=[DX1*(H-y)+DX2*y]/H
dy(x,y)=[DY1*(W-x)+DY2*x]/W
在以上等式中,dx(x,y)和dy(x,y)分别是位置(x,y)处的x-和y-偏移;DX1和DX2分别是上边界和下边界中的所有相同颜色边界参考单元的平均x偏移;H和W分别是上和下边界之间以及左和右边界之间的距离;DY1和DY2分别是左边界和右边界中的所有相同颜色边界参考单元的平均y偏移。这里,x坐标从左上角指向右边,而y坐标从左上角指向下边。可使用其他合适的内插等式。
期望信道偏移小于±1像素;否则数据单元将可能彼此合并并且不能解码条形码。
所有像素的颜色值从RGB颜色空间变换为标准颜色空间诸如CIE L*a*b*颜色空间(步骤S34)。标准颜色空间的另一示例是CIE L*u*v*。可使用任何合适的变换方法用于该步骤。
通过对边界参考单元的颜色求平均,来计算用于四个原色(颜色信道)CMYK的每一个的标准颜色空间中的参考颜色值(步骤S35)。这是用于每一颜色的两步骤处理。首先,通过向单元的设计位置添加信道偏移值,来计算那个颜色的每一边界参考单元的预测实际位置。根据条形码布局设计知道该设计位置;信道偏移使用前面描述的内插方法来计算,并然后四舍五入(rounded)到最近的整数。注意,对于每一边界参考单元,已在步骤S33根据投影计算与边界平行的方向上的偏移,这样需要使用内插来计算仅在与边界正交的方向上的偏移。然后,使用位于预测实际区域(即,具有参考单元的尺寸并以预测实际位置为中心的区域)内的像素的颜色值用于求平均。通过对于那个颜色的所有边界参考单元中的所有像素上的像素颜色值求平均,来计算用于每一原色的(标准颜色空间中的)参考颜色值。注意,典型地,跨越一个条形码的尺寸的颜色变化不显著;由此,使用用于相同原色的所有边界参考单元来计算用于那个原色的参考颜色值(L*a*b*)。
然后,对于数据单元阵列的区域内的每一像素,计算像素与用于四个原色CMYK的每一个以及白点W的参考颜色值之间的色差(步骤S36)。能使用已知等式诸如CIEDE94(2:1:1),来计算任何两个CIE L*a*b*颜色之间的色差。
这给出用于每一像素的五个色差值:DEC、DEM、DEY、DEK和DEW。基于这些色差值,分别计算像素的颜色为C、M、Y或K的概率(步骤S37)。这些概率(称为像素颜色概率)的定义使得较大色差值导致较低概率。在一个实现中,像素颜色概率如下定义(等式(2)):
由此,条形码图像的每一像素具有针对四个相应原色的四个像素颜色概率。
然后,对于条形码的每一数据单元,使用像素颜色概率来计算针对多个颜色的单元颜色概率,即,数据单元分别为C、M、Y或K颜色的概率(步骤S38)。根据条形码布局设计,已知数据单元的设计位置以步骤S32中计算的网格点为中心;然而,每一打印数据单元的实际位置将与设计位置偏移取决于单元位置和单元颜色的偏移量。实际偏移是未知的,因为单元颜色仍然未知。由此,对于每一数据单元,通过向数据单元的设计位置添加对应信道偏移量,来计算与四个原色CMYK对应的四个预测位置。相应信道偏移量使用前面描述的内插方法(例如等式(1))对于设计位置来计算,并四舍五入到最近整数。然后,在位于预测区域(即,具有数据单元的尺寸并以那个原色的预测位置为中心的区域)内的所有像素上,对针对每一原色的像素颜色概率求和,以计算作为计算数据单元是那个颜色的概率的、针对那个原色的单元颜色概率。这样,在步骤S38对于每一数据单元计算针对四个原色的四个单元颜色概率。将与最高单元颜色概率对应的原色确定为该数据单元的单元颜色(步骤S39)。
能使用类似步骤来确定位于右下角附近的验证数据单元14的颜色。
通过将每一数据单元的颜色变换为2比特数据来装配(assembled)比特串(步骤S40)。能使用数据长度和从验证数据单元提取的ECC信息,来执行期望检查。这终止从每一条形码提取编码的数据的处理(图1,步骤A14)。从多个条形码提取的数据被装配在一起,并且可执行期望的进一步处理(图1,步骤S15)。
在上述实施例中,用于打印彩色条形码的原色是CMYK。上述方法也可应用到使用RGB作为原色用于打印的打印机。
这里描述的二维彩色条形码生成和解码方法能在诸如图3中示出的计算机120的数据处理系统中实现。计算机120包括处理器121、存储装置(例如,硬盘驱动器)122、和内部存储器(例如,RAM)123。存储装置122存储软件程序,所述软件程序被读出到RAM 123并由处理器121运行以执行所述方法。
在一个方面中,本发明是数据处理系统执行的方法。在另一方面中,本发明是在计算机可使用的非瞬时介质中包含的计算机程序产品,其中嵌入有计算机可读程序代码,用于控制数据处理设备执行该方法。在另一方面中,本发明在数据处理系统中实施。
对于本领域技术人员将显而易见的是,能在本发明的二维彩色条形码及其生成和解码方法中进行各种修改和变型,而不脱离本发明的精神或范围。由此,期望本发明覆盖落入所附权利要求及其等效的范围内的修改和变型。

Claims (24)

1.一种用于形成打印二维彩色条形码的方法,包括:
形成多个数据单元,每一数据单元具有多个原色之一,所述数据单元具有相同尺寸,并被排列以形成包括被空白隔开的多列和多行的二维阵列;
形成位于该条形码的角落处的多个角落定位器单元,所述角落定位器单元具有黑色并具有比数据单元的尺寸大的尺寸;和
形成多个边界参考单元,每一边界参考单元具有多个原色之一,所述多个边界参考单元被排列以形成位于所述角落定位器单元之间并基本上环绕所述数据单元的二维阵列的四个边界,并且两个角落定位器单元之间的每一边界中的边界参考单元具有包括所述多个原色的预定重复颜色序列,
其中,每个角落定位器单元与相邻的边界参考单元隔开的空白宽于隔开所述数据单元的二维阵列的列和行的空白的第一宽度。
2.根据权利要求1的用于形成打印二维彩色条形码的方法,其中所述多个原色是青、品红、黄和黑。
3.根据权利要求1的用于形成打印二维彩色条形码的方法,其中每一边界参考单元具有和数据单元相同的尺寸或者具有和数据单元的宽度相等的宽度。
4.根据权利要求3的用于形成打印二维彩色条形码的方法,其中所述多个原色是青、品红、黄和黑,其中所述边界参考单元包括具有和数据单元相同的尺寸的青、品红和黑边界参考单元,并且包括具有和数据单元的宽度相等的宽度以及比数据单元的长度大三倍的长度的黄边界参考单元。
5.根据权利要求1的用于形成打印二维彩色条形码的方法,其中隔开所述数据单元的二维阵列的列和行的所述空白具有所述第一宽度,其中每一边界与该二维阵列中的数据单元隔开具有比该第一宽度大的第二宽度的空白,并且其中所述边界参考单元彼此隔开具有该第二宽度的空白。
6.根据权利要求1的用于形成打印二维彩色条形码的方法,其中每一数据单元的尺寸是3x3像素,隔开数据单元的列和行的所述空白是2像素宽,并且所述角落定位器单元的尺寸是13x13像素。
7.根据权利要求1的用于形成打印二维彩色条形码的方法,其中所述数据单元、边界参考单元和角落定位器单元的中心位于公共正方形网格上。
8.根据权利要求1的用于形成打印二维彩色条形码的方法,进一步包括形成位于边界参考单元所形成的边界之一内并与其相邻的多个验证数据单元,每一验证数据单元具有和所述边界参考单元之一的宽度相同的宽度。
9.一种用于解码扫描图像中的二维彩色条形码的方法,该条形码具有已知布局,该已知布局包括形成二维阵列的多个数据单元,该二维阵列包括由空白隔开的多列和多行、位于条形码的角落处的多个角落定位器单元、以及形成位于角落定位器单元之间并基本上环绕所述数据单元的二维阵列的四个边界的多个边界参考单元,每一数据单元和边界参考单元具有多个原色之一,所述数据单元和一些边界参考单元具有相同尺寸,所述角落定位器单元具有黑色以及比数据单元的尺寸大的尺寸,两个角落定位器单元之间的每一边界中的边界参考单元具有包括所述多个原色的预定重复颜色序列,
该解码方法包括:
(a)使用角落定位器单元的位置来计算所有数据单元和边界参考单元的中心位置;
(b)使用所有边界参考单元,计算在沿着每一边界的多个位置处的每一原色的信道偏移;
(c)通过对具有相应原色的所有边界参考单元中的像素的颜色值求平均,来计算每一原色的参考颜色值;
(d)对于该数据单元阵列的区域内的每一像素:
(d1)计算多个色差值,每一色差值是该像素的颜色值与所述原色之一或白色的参考颜色值之间的色差;
(d2)基于所述色差值,计算针对所述多个原色的多个像素颜色概率,每一像素颜色概率代表像素是对应原色的概率;
(e)对于每一数据单元:
(e1)计算与所述多个原色对应的单元的多个预测位置,每一预测位置通过向步骤(a)中计算的数据单元的中心位置添加对应原色的局部信道偏移来计算,其中所述局部信道偏移通过内插在步骤(b)中计算的沿着四个边界的多个位置处的对应原色的信道偏移来计算;
(e2)计算针对所述多个原色的多个单元颜色概率,每一单元颜色概率代表数据单元是对应原色的概率,每一单元颜色概率通过在位于具有数据单元的尺寸并且以对应原色的预测位置为中心的区域中的像素上、对针对对应原色的像素颜色概率求和来计算;
(e3)通过比较针对所述多个原色的多个单元颜色概率,来确定数据单元的颜色;和
(f)将数据单元的颜色变换为数字数据。
10.根据权利要求9的方法,其中步骤(a)包括:
(a1)确定所述多个角落定位器单元的中心位置;和
(a2)基于角落定位器单元的中心位置和已知布局,来计算所有数据单元和边界参考单元的中心位置。
11.根据权利要求9的方法,其中步骤(b)包括:
(b1)确定边界的两个水平边界中的每一边界参考单元的水平中心位置和边界的两个垂直边界中的每一边界参考单元的垂直中心位置;和
(b2)基于在步骤(b1)中确定的中心位置和包括每一边界参考单元的设计位置和颜色的条形码的已知布局,来计算在沿着每一边界的多个位置处的每一原色的信道偏移。
12.根据权利要求11的方法,其中步骤(b1)包括:向与每一边界平行的轴投影那个边界,并确定投影中的峰值的中心。
13.根据权利要求9的方法,进一步包括,在步骤(c)之前,将图像的所有像素的颜色值变换为标准颜色空间,其中在该标准颜色空间中计算步骤(c)中的参考颜色值和步骤(d1)中的色差值。
14.根据权利要求13的方法,其中所述多个原色是青、品红、黄和黑,并且其中所述标准颜色空间是CIE L*a*b*。
15.根据权利要求14的方法,其中针对青、品红、黄和黑颜色的所述多个像素颜色概率分别是
其中DEC、DEM、DEY和DEK是在步骤(d1)中计算的像素颜色值与青、品红、黄、黑和白之间的色差值。
16.根据权利要求9的方法,其中步骤(c)包括,对于每一原色:
(c1)对于该原色的每一边界参考单元,通过向步骤(a)中计算的边界参考单元的中心位置添加该原色的局部信道偏移,来计算预测位置,其中所述局部信道偏移通过内插在步骤(b)中计算的沿着四个边界的多个位置处的对应原色的信道偏移来计算;和
(c2)对位于具有边界参考单元的尺寸并且以边界参考单元的预测位置为中心的所有区域内的所有像素的颜色值求平均。
17.一种用于解码扫描图像中的二维彩色条形码的数据处理设备,该条形码具有已知布局,该已知布局包括形成二维阵列的多个数据单元,该二维阵列包括由空白隔开的多列和多行、位于条形码的角落处的多个角落定位器单元、以及形成位于角落定位器单元之间并基本上环绕所述数据单元的二维阵列的四个边界的多个边界参考单元,每一数据单元和边界参考单元具有多个原色之一,所述数据单元和一些边界参考单元具有相同尺寸,所述角落定位器单元具有黑色以及比数据单元的尺寸大的尺寸,两个角落定位器单元之间的每一边界中的边界参考单元具有包括所述多个原色的预定重复颜色序列,该设备包括:
(a)用于使用角落定位器单元的位置来计算所有数据单元和边界参考单元的中心位置的部件;
(b)用于使用所有边界参考单元、计算在沿着每一边界的多个位置处的每一原色的信道偏移的部件;
(c)用于通过对具有相应原色的所有边界参考单元中的像素的颜色值求平均、来计算每一原色的参考颜色值的部件;
(d)对于该数据单元阵列的区域内的每一像素:
(d1)用于计算多个色差值的部件,每一色差值是该像素的颜色值与所述原色之一或白色的参考颜色值之间的色差;
(d2)用于基于所述色差值、计算针对所述多个原色的多个像素颜色概率的部件,每一像素颜色概率代表像素是对应原色的概率;
(e)对于每一数据单元:
(e1)用于计算与所述多个原色对应的单元的多个预测位置的部件,每一预测位置通过向由部件(a)计算的数据单元的中心位置添加对应原色的局部信道偏移来计算,其中所述局部信道偏移通过内插由部件(b)计算的沿着四个边界的多个位置处的对应原色的信道偏移来计算;
(e2)用于计算针对多个原色的多个单元颜色概率的部件,每一单元颜色概率代表数据单元是对应原色的概率,每一单元颜色概率通过在位于具有数据单元的尺寸并且以对应原色的预测位置为中心的区域中的像素上、对针对对应原色的像素颜色概率求和来计算;
(e3)用于通过比较针对所述多个原色的多个单元颜色概率、来确定数据单元的颜色的部件;和
(f)用于将数据单元的颜色变换为数字数据的部件。
18.根据权利要求17的数据处理设备,其中该部件(a)包括:
(a1)用于确定所述多个角落定位器单元的中心位置的部件;和
(a2)用于基于角落定位器单元的中心位置和已知布局、来计算所有数据单元和边界参考单元的中心位置的部件。
19.根据权利要求17的数据处理设备,其中该部件(b)包括:
(b1)用于确定边界的两个水平边界中的每一边界参考单元的水平中心位置和边界的两个垂直边界中的每一边界参考单元的垂直中心位置的部件;和
(b2)用于基于由部件(b1)确定的中心位置和包括每一边界参考单元的设计位置和颜色的条形码的已知布局、来计算在沿着每一边界的多个位置处的每一原色的信道偏移的部件。
20.根据权利要求19的数据处理设备,其中该部件(b1)包括:用于向与每一边界平行的轴投影那个边界、并确定投影中的峰值的中心的部件。
21.根据权利要求17的数据处理设备,其中该设备进一步包括,用于在部件(c)的计算之前、将图像的所有像素的颜色值变换为标准颜色空间的部件,其中在该标准颜色空间中计算部件(c)中的参考颜色值和部件(d1)中的色差值。
22.根据权利要求21的数据处理设备,其中所述多个原色是青、品红、黄和黑,并且其中所述标准颜色空间是CIE L*a*b*。
23.根据权利要求22的方法,其中针对青、品红、黄和黑颜色的所述多个像素颜色概率分别是
其中DEC、DEM、DEY和DEK是由部件(d1)计算的像素颜色值与青、品红、黄、黑和白之间的色差值。
24.根据权利要求17的数据处理设备,其中该部件(c)包括,对于每一原色:
(c1)对于该原色的每一边界参考单元,用于通过向部件(a)所计算的边界参考单元的中心位置添加该原色的局部信道偏移、来计算预测位置的部件,其中所述局部信道偏移通过内插由部件(b)计算的沿着四个边界的多个位置处的对应原色的信道偏移来计算;和
(c2)用于对位于具有边界参考单元的尺寸并且以边界参考单元的预测位置为中心的所有区域内的所有像素的颜色值求平均的部件。
CN201510288583.7A 2014-05-29 2015-05-29 高容量二维彩色条形码和用于解码其的方法 Active CN105320979B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/290,595 US9367782B2 (en) 2014-05-29 2014-05-29 High capacity 2D color barcode and method for decoding the same
US14/290,595 2014-05-29

Publications (2)

Publication Number Publication Date
CN105320979A CN105320979A (zh) 2016-02-10
CN105320979B true CN105320979B (zh) 2018-08-24

Family

ID=54702185

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510288583.7A Active CN105320979B (zh) 2014-05-29 2015-05-29 高容量二维彩色条形码和用于解码其的方法

Country Status (3)

Country Link
US (2) US9367782B2 (zh)
JP (1) JP6254548B2 (zh)
CN (1) CN105320979B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10546172B2 (en) * 2015-03-30 2020-01-28 Temptime Corporation Two dimensional barcode with dynamic environmental data system, method, and apparatus
USD836001S1 (en) 2016-03-04 2018-12-18 Discovery Inc. Bar code for a pouch
WO2017186746A1 (en) * 2016-04-26 2017-11-02 Ocado Innovation Limited Method of improving visual recognition of an item and item display system
US10572743B1 (en) * 2017-08-28 2020-02-25 Ambarella, Inc. Real-time color classification for street vehicles
US10909432B2 (en) * 2017-10-06 2021-02-02 Denso Wave Incorporated Two-dimensional code composed of a plurality of types of cells
JP7167553B2 (ja) * 2017-10-06 2022-11-09 株式会社デンソーウェーブ 二次元コード
CN113420859A (zh) * 2019-03-18 2021-09-21 创新先进技术有限公司 二维码、二维码的生成、识别方法、装置及设备
US11257243B2 (en) * 2019-08-30 2022-02-22 Targetscope, Inc. Target shooting system
EP3951623A1 (en) * 2020-08-03 2022-02-09 Ashley Revell Method and apparatus for defining and communicating a unique identifier
CN114386552B (zh) * 2021-12-28 2024-03-15 阿依瓦(北京)技术有限公司 条码生成、读取方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667256A (zh) * 2008-03-27 2010-03-10 电装波动株式会社 带有用于指定单元位置并与背景区分的特定图案的二维码
CN103069430A (zh) * 2010-07-30 2013-04-24 株式会社希福特 二维码读取器及程序
CN103177279A (zh) * 2011-12-23 2013-06-26 柯尼卡美能达美国研究所有限公司 用于高容量数据编解码的四维彩色条形码
TW201407484A (zh) * 2012-08-10 2014-02-16 Ind Tech Res Inst 條碼之結構以及條碼之編碼方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5714745A (en) 1995-12-20 1998-02-03 Metanetics Corporation Portable data collection device with color imaging assembly
US5818032A (en) 1997-01-03 1998-10-06 Sun; Tsu-Hung Tom Encoded color halftone micro-dots for high density digital information storage
JPH10283446A (ja) * 1997-04-08 1998-10-23 Nippon I D Tec Kk 多色記録式マトリクスコード記録紙
JP4708186B2 (ja) * 2003-05-02 2011-06-22 豊 木内 2次元コード解読プログラム
US7051935B2 (en) 2003-07-28 2006-05-30 Imageid Ltd. Color calibration for color bar codes
KR100560330B1 (ko) 2004-04-21 2006-03-30 에이디정보통신 주식회사 색상 보정이 가능한 대용량 2차원 칼라 바코드인코딩/디코딩 시스템 및 그 방법
US7751585B2 (en) 2004-06-28 2010-07-06 Microsoft Corporation System and method for encoding high density geometric symbol set
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
JP2007122243A (ja) 2005-10-26 2007-05-17 Denso Wave Inc 光学情報検証装置
US7571864B2 (en) 2005-12-16 2009-08-11 Pisafe, Inc. Method and system for creating and using barcodes
US7478746B2 (en) 2006-05-31 2009-01-20 Konica Minolta Systems Laboratory, Inc. Two-dimensional color barcode and method of generating and decoding the same
US7913922B1 (en) 2007-03-15 2011-03-29 Ncr Corporation Matching bar code colors to painted pixel filters
JP4838387B2 (ja) * 2008-05-29 2011-12-14 カラーコード・テクノロジーズ株式会社 情報コード及び情報コード復号方法
WO2014031107A1 (en) 2012-08-21 2014-02-27 Empire Technology Development Llc Orthogonal encoding for tags
US8864033B2 (en) 2012-11-28 2014-10-21 Konica Minolta Laboratory U.S.A., Inc. Robust decoding of color barcode printed with extremely small data cells

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667256A (zh) * 2008-03-27 2010-03-10 电装波动株式会社 带有用于指定单元位置并与背景区分的特定图案的二维码
CN103069430A (zh) * 2010-07-30 2013-04-24 株式会社希福特 二维码读取器及程序
CN103177279A (zh) * 2011-12-23 2013-06-26 柯尼卡美能达美国研究所有限公司 用于高容量数据编解码的四维彩色条形码
TW201407484A (zh) * 2012-08-10 2014-02-16 Ind Tech Res Inst 條碼之結構以及條碼之編碼方法

Also Published As

Publication number Publication date
US9430726B2 (en) 2016-08-30
JP2016006639A (ja) 2016-01-14
US9367782B2 (en) 2016-06-14
US20150347886A1 (en) 2015-12-03
CN105320979A (zh) 2016-02-10
US20160086071A1 (en) 2016-03-24
JP6254548B2 (ja) 2017-12-27

Similar Documents

Publication Publication Date Title
CN105320979B (zh) 高容量二维彩色条形码和用于解码其的方法
US9454688B1 (en) High capacity 2D color barcode design and decoding method
JP6383753B2 (ja) 高容量の2dカラーバーコード設計、およびカメラベースのアプリケーションの処理方法
JP5952178B2 (ja) 大容量データの符号化および復号化のための4次元(4d)カラーバーコード
US9390357B2 (en) Readable matrix code
EP3113473B1 (en) Image processing apparatus and image processing method
JP6590335B2 (ja) 二次元コード、及び該二次元コードの読取方法
JP6327533B2 (ja) カメラベースのアプリケーション用の高容量2dカラーバーコードの設計および処理方法
JP2006289947A (ja) 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法
US7876473B2 (en) Apparatus and method for information burying
US8749847B2 (en) Image processing apparatus, image processing method and storage medium
US9111162B2 (en) Method, apparatus and storage medium for two-dimensional data storage
CN113158704B (zh) 一种快速定位Dotcode码的方法及其系统
US20160092758A1 (en) Intelligent Pixel Location Selection Process For A Low Overhead Near Unity Scaling Technique
JP6765103B2 (ja) 画像処理装置、画像処理プログラム及び画像処理方法
US9361554B2 (en) Low overhead near unity scaling technique
JP6732428B2 (ja) 画像処理装置、網点判定方法、およびプログラム
JP2007008177A (ja) 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法
JP6651776B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
Simske et al. Staggered and Dual-Channel Barcodes
JP6108217B2 (ja) 画像変換処理方法、それを実行させるためのプログラム及び画像変換処理装置
CN106529636A (zh) 一种qr码的位置探测图形分组方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant