用于高容量数据编解码的四维彩色条形码的制作方法

文档序号:6384806阅读:201来源:国知局
专利名称:用于高容量数据编解码的四维彩色条形码的制作方法
技术领域
本发明总体上涉及用于编码数字数据的机器可读符号的彩色条形码类型,具体地涉及一种提高用于高容量数据编解码的彩色条形码的数据容量的方法。
背景技术
彩色条形码是一类用于记录数字数据的机器可读的符号。常规的一维和二维黑白条形码被广泛使用。最近,彩色条形码也被引入以增加条形码的数据容量,在条形码中增加了除光反射强度以外的又一个“维度”来表示附加数据,并通常被称为“三维(3D)”条形码。例如,美国专利7478746,7533817,7751585和8006911中提出了使用彩色条形码编码数据的各种方式。由于在打印和成像过程中相对较差的颜色再现保真度,能被用于指定的条形码的颜色的数量是有限的。因此,应采取额外的措施以进一步提高彩色条形码的数据容量。美国专利7751585中利用彩色的三角形,而不是常规的矩形/正方形以减小条形码的大小,并因此增加其数据容量;美国专利8047447建议使用每个主打印颜色通道的打印机半色调点方向来增加编码数据量。彩色打印机通常用于在例如纸张、透明胶片、塑料片材、织物等记录媒介上产生彩色条形码。彩色打印机通常使用减色(即青色(C)、品红(M)和黄色(Y))的调色材料,诸如彩色墨水和调色剂颗粒。这些颜色(C,M和Y)以及黑色(K),通常被称为CMYK颜色或CMYK颜色空间。在某种程度上,由打印机打印的颜色依赖于打印机使用的调色材料集合的特性。通常情况下,彩色条形码可以被显示在如阴极射线管(CRT)监视器、液晶显示(IXD)监视器等彩色显示装置上。彩色显示通常使用具有加色(即红色(R)、绿色(G)和蓝色(B))的显示像素。这些颜色(R,G和B)通常被称为RGB颜色或在RGB颜色空间。另外,彩色扫描仪、数码相机或其他检测装置通常被用于扫描或读取彩色条形码。彩色扫描仪或检测器通常使用一组彩色滤光器(例如ROB滤光器)来检测所接收的光的颜色。随着条形码使用的增多以及提高彩色打印机、显示器和扫描仪的分辨率的技术的进步,希望引入新的方法来提用于高容量数据编解码的彩色条形码的数据容量。

发明内容
本发明涉及一种提高用于高容量数据编解码的彩色条形码的数据容量的方法。本发明的目的是提供一种通过使用条形码中颜色和形状的各种组合来增强数据容量以编码额外的数字数据的彩色条形码。本发明的其他或另外的特征和优势将在接下来的说明书中阐述并且部分通过说明书明显给出,或者可以通过本发明的实践学到。本发明的目的和其他优势将通过在书面的说明书和权利要求书以及附图中具体指出的结构来理解和获得。为了实现这些和/或其它的具体描述和大体描述的目的,本发明的一个示例性实施例提供了一种将数字数据编码于包含具有数据单元的多个单元的彩色条形码中的方法,包括步骤:(a)确定每个数据单元的形状和颜色以编码数字数据,其中,基于在数据单元中被编码的数字数据的值,从形状和颜色的多个组合中选择数据单元的形状和颜色的组合;以及(b)对每个数据单元,基于步骤(a)中所确定的数据单元的形状和颜色,为数据单元中多个像素的子集进行上色。在另一个方面,本发明的一个示例性实施例提供了一种用于对彩色条形码解码的方法,包括步骤:(a)分割彩色条形码中的多个数据单元;(b)识别每个数据单元中的像素的子集所形成的形状,以及该形状的颜色;以及(C)从识别出的每个数据单元的形状和颜色的组合获取数字数据。可以理解前述的一般性描述和接下来的具体描述述都是示例性和说明性的,并且意在提供如所要求保护的本发明的进一步解释。


图1 (a)至图1 (j)是示出根据本发明实施例的用于彩色条形码的数据单元的各种示例性形状的示意图。图2 (a)至图2 (h)是示出根据本发明实施例的用于彩色条形码的数据单元的各种示例性颜色的示意图。图3是示出根据本发明示例性实施例的彩色条形码的编码步骤的流程图。图4是示出根据本发明示例性实施例的彩色条形码的解码步骤的流程图。图5 (a)是示出可以实施本发明的一个示例性实施例的系统的示意图。图5 (b)是示出可以实施本发明的另一个示例性实施例的系统的示意图
具体实施例方式正如前面所提到的,本发明针对通过使用条形码中颜色和形状的各种组合以编码和解码数字数据来对数据容量增加的彩色条形码进行编码和解码。由于使用了除传统的两维条形码之外的更多的两个维度(颜色和形状),本发明的新型彩色条形码可以被称为四维(4D)条形码。在条形码中,大多数单元用于数据编码。每一个数据编码单元由矩形或方形的像素阵列(例如,M*N个像素)构成。根据图1 (a)至图1 (j)示出的示例性实施例,在每个数据单元中的像素阵列被布置为这样一种方式,该方式以各种结构和方向来组合颜色和形状,从而编码数字数据。如图1 (a)至I (j)所示,例如,如果所述单元包括N*N个(例如,N=9)像素,贝Ij可以使用很多种形状和结构(结合他们的方向)来编码不同的数字数据。当然,可用形状的数量取决于单元阵列的大小和用于特定应用的再现和捕获装置的质量,并且对N的最低要求取决于要使用的形状的数量。除了使用形状/结构和他们的方向来编码不同的数字数据,每个形状/结构可以使用不同颜色以增加条形码的数据容量。例如,对于图1 (j)所示的竖直矩形形状,可以使用不同的颜色,每一个代表不同的数据值,如图2 (a)至2 (h)所示。如图2 (a)至2 (h)所示,对于单元中的相同的竖直矩形形状,八(8)种不同的颜色(分别为C,M,Y,K,R,G,B和灰色)可以被用于编码不同的数字数据。当然,除了 CMYK和RGB颜色空间,其他的如Lab,JCH, LUV等颜色空间也可以被使用。若要利用大多数彩色印刷装置中所使用的原色,通常在考虑其他颜色之前会首先选择CMYK原色。在CMYK颜色空间中各颜色应尽可能远离。如果形状的数量是S,颜色的数量为C,则每个数据单元可以有S*C种组合,相当于log2 (S*C)比特/每单元。此外,每一个颜色的一种以上的灰度等级也可以用在条形码单元中。其结果是,条形码的数据单元中使用的形状和颜色(以及可选地,它们的灰度等级)的组合的数量显著地增加,这使得条形码的数据容量有效的提高。对形状和颜色的组合施以约束可以减少错误。例如,一个约束可以是形状只能与颜色的子集组合,或者反之亦然。这实质上充当了一种内置的纠错机制。另外,在数据编码中可以使用纠错码(ECC)以提高可靠性。在实现本发明实施例的条形码中,条形码的矩形(或正方形)区域被划分为单元的阵列(例如,U*V个单元),以及每个单元本身包括矩形(或正方形)的像素阵列(例如,M*N个像素)。角部的一定数量的单元可以被用作定位件单元(用于解码的目的),其他相邻于定位件单元的某些单元可以被用作颜色参考单元,这有助于在解码过程中的颜色检测,因为在打印和成像过程中,颜色往往出现漂移。此外,条形码的大小(S卩,U*V)也可以被编码在定位件附近的单元中,以帮助解码条形码。可选地,如果条形码的大小非常大,额外的定位件和参考单元也可以被放置于条形码的中心,并且也可以在颜色参考单元附近加入形状参考单元。可选地,可以在单元之间添加空白区,以减少相邻单元的颜色干扰,从而提高解码的准确性。这种不具有可选的纠错码和空白区的条形码的最大数据容量是:每平方英寸的最大容量=(dpi/N_pix)2*R_data_ratio*log2 (S*C)其中,dpi (每英寸点数)表示像素分辨率,N_pix表示单元的每一侧上的像素数量,R_data_ratio表示在一个指定的区域内数据单元的数量除以单元总数,S是形状的数量,并且C是条形码中使用的颜色的数量。参照图3,其中示出了根据本发明示例性实施例的提供、产生、生成、渲染或编码条形码(无论是由计算机,打印机或电子传输方式完成)的基本步骤。该编码过程中的每个步骤通过执行彩色条形码渲染软件程序来实现,所述程序可能存在于连接到一个或多个打印机的计算机上,或打印机本身上(如图5 Ca)中所示的计算机12和打印机14),或彩色条形码生成装置上。该程序由计算机的中央处理器(CPU)或打印机或装置中的数据处理器或处理单元来执行。执行编码程序时使用的数据或其他信息可以存储在计算机、打印机或装置的存储器或存储单元中,并从计算机、打印机或装置的存储器或存储单元中取回。在步骤110中,条形码的矩形(或正方形)区域被划分成单元的阵列(例如,U*V个单元)。每个单元包含矩形(或正方形)的像素阵列(例如,M*N个像素)。在步骤120中,处于条形码角部区域的某些单元被用作定位件单元。例如,条形码的四个角部的单元用黑色涂成L形以被用作定位件单元。条形码的方向可以由有别于其他三个角部定位件的角部定位件所指定。在步骤130中,定位件单元附近的某些单元被上色以编码要生成的条形码的大小(即,u*v)。在步骤140中,定位件单元附近的某些单元基于在条形码中可能被用作形状参考单元的形状而被上色。在步骤150中,形状参考单元附近的某些单元基于在条形码中可能被用作颜色参考单元的颜色而被上色。在步骤160,如果条形码的大小非常大,则条形码中心区域的额外的单元被冗余地上色,以用作定位件单元、条形码大小单元、颜色参考单元、和形状参考单元。然而,步骤160是可选的。在步骤170中,其他的单元被上色以用来作为编码数字数据的数据编码单元。每个单元的某些像素可能形成多种形状或结构中的一种,每个形状或结构可能使用多种颜色之一进行上色。不同的形状和颜色的组合可分别代表不同的数据值。在某个实施例中,数字数据可被划分成数字数据子集,并且参照一个定义了从数字值到形状和颜色的组合的编码规则的查找表,每个子集可以分别被编码到具有不同的形状和颜色组合相应一个。在步骤180中,可选地,空白区可以被加入在数据单元之间,以减少相邻单元之间的颜色干扰。参照图4,其示出了根据本发明示例性实施例的捕获、扫描或者解码(无论是通过扫描仪,照相机或电子传输方式完成)条形码的基本步骤。该解码过程中的每个步骤通过执行彩色条形码解码软件程序来实现,所述程序可能存在于连接到一个或多个扫描仪的计算机上,或扫描仪本身上(如图5 (b)中所示的计算机12和扫描仪16),或彩色条形码解码装置上。该程序由计算机的中央处理器(CPU)或扫描仪或装置中的数据处理器或处理单元来执行。执行解码程序时使用的数据或其他信息可以存储在计算机,扫描仪或其他成像装置的存储器或存储单元中,并从计算机,扫描仪或其他成像装置的存储器或存储单元取回。在步骤210中,彩色条形码图像被预处理,如降噪,失真校正(如果是照相机拍摄的图像,可能还需要透视校正)。此步骤中,可以采用各种常规技术。在步骤220中,通过找到定位件来定位每个条形码。例如,在条形码角部的L形定位件以及当可用时在条形码中部的定位件,可以利用它们的颜色(黑或白)、形状和位置(L形定位件的角部)通过模式识别方法来定位。根据与其他三个角部定位件不同的角部定位件来识别条形码的方向。还可能需要执行偏移校正的步骤。在步骤230中,获取条形码大小信息。例如,这样的条形码大小信息可以从如在图3中的步骤130和160中解释的相应条形码大小单元中提取。在步骤240中,形状参考单元被基于已知的与定位件的位置关系来分割,以获取参考形状。在步骤250中,颜色参考单元被基于已知的与定位件的位置关系来分割,以获取参考颜色。在步骤260中,数据单元被分割。如果单元之间添加有空白区,则可以通过在整个条形码之中沿水平和竖直方向查找空白区来简单地执行分割。条形码的大小能够被用来促进这一过程。如果单元之间未添加有空白区,则可以检测水平和竖直的边缘片段,该边缘片段并被进一步连接或适配成网格。同样,条形码的大小能够被用来促进这一过程。在步骤270中,数据单元的形状和颜色被识别。关于形状,形状特征(例如,平移和缩放不变的图像矩)可以被用作形状识别。或者,如果使用参考形状,则也可使用模板匹配的方法(如交叉相关或Hausdorff距离)。关于颜色,目标颜色和参考颜色之间的差异可以被用于颜色识别。或者,该形状和颜色的识别步骤也可以使用形状和颜色的组合的特征向
量表示。在步骤280中,基于识别出的数据单元的形状和颜色,从分割的数据单元中获取数字数据。每个唯一的形状和颜色的组合可以代表一个唯一的数据项或数据值,并且通过某个形状和某个颜色的组合的解释,该组合所表示的数字数据能够被获取。在某实施例中,数据单元的形状和颜色的组合被称为查找表,以便重现数字数据。该步骤中使用的查找表可以具有与在步骤170中使用的查找表中的输入和输出项相反的关系。编码和解码条形码的过程可以分别通过条形码渲染和解码软件程序来执行。彩色条形码渲染程序可以存在于与一个或多个打印机连接的计算机上,或在打印机本身上。彩色条形码解码程序可以存在于与多一个或多个扫描仪/照相机连接的计算机上,或扫描仪/照相机本身上。上述方法可以由计算机、打印机、扫描仪/照相机,和/或其他数据处理装置中运行的计算机软件程序来实现。参照图5 Ca)和5 (b),其示出了能够实现本发明方法的示例性系统。在如图5Ca)所示的示例性实施例中,该系统可以包括通过网络或者其他有线或无线的通信链路18互相连接的计算机12和打印机14。本发明的一个实施例是加载了基于本发明实施例的用于编码4D彩色条形码的程序的计算机。本发明另一个实施例是具有处理器和加载了基于本发明实施例的用于编码4D彩色条形码的程序的只读存储器(ROM)的打印机。另外,打印机14可以是一个独立的未与计算机12连接的打印机。在图5 (b)所示的其他示例性实施例中,该系统可以包括通过网络或者其他有线或无线的通信链路18互相连接的计算机12和扫描仪/照相机16。本发明的一个实施例是加载了基于本发明实施例的用于解码4D彩色条形码的程序的计算机。本发明另一个实施例是具有处理器和加载了基于本发明实施例的用于捕获4D彩色条形码的程序的只读存储器(ROM)的扫描仪/照相机。另外,扫描仪16可以是独立的未与计算机12连接的扫描仪/照相机。在许多实际应用中,编码和解码过程可在不同的位置完成,打印机14和扫描仪16 (或某些其他成像装置,如照相机)不一定在相同的时间互相通信。例如,现今通常的做法是,广告商在广告传单上他们的产品广告附近打印条形码,顾客可以简单地使用智能手机摄像头读取条形码,以获得更多的关于使用条形码编码的产品的信息。此外,虽然在许多情况下,实现本发明的用于增加条形码容量的示例性实施例在打印-扫描循环中完成,但是,可以理解的是,计算机、打印机和/或扫描仪,可以各自独立地运行来执行本发明方法的示例性过程中的某一部分。例如,计算机可以被用于生成/编码和/或解码条形码,打印机可以被用于生成和/或打印条形码,而扫描仪或照相机可以被用于读取和/或解码条形码。从实际应用的角度来看,没有必要使所有装置连接在网络中,或互相连接。此外,多功能打印机(multifunction printer, MFP)和一体机(All-1n-One,ΑΙ0)装置可以被用来代替生成/捕获条形码的打印机或扫描仪。对本领域技术人员来说,显然在不脱离本发明的精神或范围的情形下,本发明的方法和装置可以做出各种修改和变型。因此,本发明旨在覆盖落入所附权利要求及其等效方案的范围内的修改和变型。
权利要求
1.一种用于将数字数据编码于彩色条形码中的方法,所述彩色条形码具有包含数据单元的多个单元,所述方法包括下述步骤: (a)确定每个数据单元的形状和颜色,以编码数字数据,其中,根据要编码于数据单元中的数字数据的值,从形状和颜色的多个组合中选择所述数据单元的形状和颜色的组合;以及 (b)对于每个数据单元,根据步骤(a)中所确定的数据单元的形状和颜色,为数据单元中的多个像素的子集上色。
2.如权利要求1所述的方法,进一步包括:形成多个定位件单元的步骤。
3.如权利要求1所述的方法,进一步包括:形成多个形状参考单元的步骤。
4.如权利要求1所述的方法,进一步包括:形成多个颜色参考单元的步骤。
5.如权利要求1所述的方法,进一步包括:形成多个用于编码条形码大小的单元的步骤。
6.如权利要求1所述的方法,其中,所述形状和颜色的多个组合包括CMYK、RGB、Lab、JCH或LUV颜色空间的颜色。
7.如权利要求1所述的方法,其中,所述形状和颜色的多个组合包括灰色。
8.如权利要求1所述的方法,进一步包括:将一个或多个灰度等级应用到所述形状和颜色的多个组合中的至少一个的步骤。
9.如权利要求1所述的方法,进一步包括:在相邻的数据单元之间添加一个或多个白色像素的步骤。
10.如权利要求1所述的方法,进一步包括:对所述形状和颜色的多个组合中的一个或多个施加一个或多个约束的步骤。
11.一种解码彩色条形码的方法,包括下述步骤: (a)分割彩色条形码中的多个数据单元; (b)识别由每个数据单元中的像素的子集形成的形状以及所述形状的颜色;以及 (c)从所识别出的每个数据单元中的形状和颜色的组合中获取数字数据。
12.如权利要求11所述的方法,进一步包括:对所述彩色条形码预处理来进行降噪和失真校正的步骤。
13.如权利要求11所述的方法,进一步包括:定位所述彩色条形码中多个数据单元的步骤。
14.如权利要求11所述的方法,进一步包括:确定所述彩色条形码大小的步骤。
15.如权利要求11所述的方法,进一步包括:取回所述彩色条形码的参考形状的步骤。
16.如权利要求11所述的方法,进一步包括:取回所述彩色条形码的参考颜色的步骤。
17.如权利要求11所述的方法,其中的步骤(b)进一步包括:利用形状特征来识别形状的步骤。
18.如权利要求11所述的方法,其中的步骤(b)进一步包括:通过匹配形状模板来识别形状的步骤。
19.如权利要求16所述的方法,其中的步骤(b)进一步包括:通过比较识别出的颜色与所述参考颜色的差异来识别颜色的步骤。
20.如权利要求11所述的方法,其中的步骤(b)使用形状和颜色的组合特征矢量表示。
全文摘要
本发明公开了用于高容量数据编解码的四维(4D)彩色条形码。用于编码和解码彩色条形码以增加其数据容量的方法,编码步骤包括确定每个数据单元的形状和颜色以编码数字数据,其中,根据要编码的数字数据的值,从形状和颜色的多个组合中选择数据单元的形状和颜色的组合,以及根据上面确定的数据单元的形状和颜色,为每个数据单元中的多个像素的子集上色。解码步骤包括分割彩色条形码中的多个数据单元,识别由每个数据单元中的像素的子集所形成的形状以及形状的颜色,以及从所识别出的每个数据单元中的形状和颜色的组合中获取数字数据。
文档编号G06K19/06GK103177279SQ201210557468
公开日2013年6月26日 申请日期2012年12月20日 优先权日2011年12月23日
发明者田宜彬, 明伟 申请人:柯尼卡美能达美国研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1