用于高密度信息存储的彩色半色调微点编码方法

文档序号:6414503阅读:384来源:国知局
专利名称:用于高密度信息存储的彩色半色调微点编码方法
技术领域
本发明涉及非易失性光电只读存储器,包括在其上打印有为高密度信息存储而用多位数字二进制数据编码的半色调彩色(half-tone color)微点符号的二维阵列的基衬和形成这些符号的方法。
增加了存储在一维条形码打印符号中信息量的黑白高密度二维条形码符号已众所周知。在美国专利号5,304,786和美国专利号5,504,322专利中公开了这种二维条形码的例子。打印机和扫描仪的分辨率,被打印的条形码符号的对直(alignment)和在扫描和数据重构期间出错率限制了二维黑白条形码密度的增加。
在生产具有彩色条形码的微型标签技术中也已经使用了多种彩色,如同在美国专利号5,129,974和美国专利号5,118,369中描述的。然而,所描述的类型的系统典型地主要用于在制造过程中标志给小型半导体集成电路加微标签。
在美国专利号4,824,144,4,846,503和4,889,367中公开了利用彩色编码增加存储在一个标签(label)上的信息量。为了增加数据阵列的数据装载容量,如同在美国专利号4,488,679中描述的已经开发了使用多个高密度彩色点的编码。其中描述的多彩色编码(multi-color code)和读码系统利用五个对比的彩色用于码的打印。多个点形成代表不同符号的块。
美国专利号4,874,936公开了一个数据阵列,该数据阵列包括以蜂窝状图案连续排列的被编码的六边形具有至少两个不同的光学特性信息。美国专利号5,369,261公开了密度多色信息编码系统,该系统采用其内有不同彩色子区域的超象素点,该超象素点由各彩色并列排列或一个彩色区摞在另一个彩色区上排列,这样,一个点的信息含有摞在一起的层或混合层那么多颜色的变化。对于具有超点(Superdot)的每种彩色区有多达64种强度。然而,其中描述的编码方案,编码记录系统和读码系统能够仅仅用由装有所有成象信息的彩色CRT屏幕对三层彩色胶片曝光,及附有红,绿和蓝色滤光片的白色光源读出器来实现,这样,每次一个单色光束照射一次并且由CCD传感器阵列检测的反射光的强度被用来计算每种颜料强度并且对存在于超象素点中的信息解码。超象素点编码方案不能用到彩色激光打印机或喷墨打印机,因为打印机象素是仅由青色,黄色,品红色和黑色油墨组合的半色调点。
美国专利号5,426,289公开了利用列标记(column marks)和列相位标记(column phase marks)的组合解决读出正确数据的问题的彩色编码,即使在应用到弹性衬底例如亚麻产品等。在读出过程中通过查找3彩色相位标记的组合在预定彩色码表的位置获得解码数据。其中公开的编码方案通过牺牲信息存储的密度解决从弹性衬底读出可靠数据的问题。
尽管各个专利提出上述描述的各种技术用于在不同基衬上编码高密度数字信息,但实现起来复杂而又昂贵。另外,该编码方案不能用于当前通用的激光或喷墨打印机。
这样便需要提供一个方法和装置,它利用普通的彩色激光或喷墨打印机在一个介质上以点的形式对高密度数字信息编码,为用户减少成本。
本发明提供了一种以创建存储数字数据的二维彩色微点符号方式的编码数据方法,该方法包括下列步骤转化字母-数字文本和二进制数据文件成为二进制数据文件;编码所述二进制数据文件;产生基于所述编码二进制单元的水平和垂直出错校正单元;响应于所述出错校正单元产生边界单元;产生含有关于所述数据单元信息的信息文件;耦合所述信息文件到打印机。
本发明还提供一种解码表示存储的数字数据的二维彩色符号的方法,该符号包含边界和数据单元,该方法包括以下步骤扫描所述符号以产生扫描的图像数据文件;读所述边界和数据单元;校验所述扫描的图像文件的错误及校正所述错误;产生二进制数据文件;和从所述二进制数据文件中产生彩色图像和文本文件。
本发明提供一种新型的二维符号用于存储表示压缩的彩色图像或文本数据文件的大量数字编码数据。该符号可以用于在一个基衬例如纸上创立非易失性只读存储器,它能用在计算机系统上做为一个信息存储部件。用本发明的技术能够达列在一平方英寸面积上存储多达3K字节的存储器的存储容量。
特别地,本发明的基本数据存储单元是一个包括由彩色打印机,彩色喷墨打印机,或平版印刷机打印的同种颜色的二维半色调微点的数据单元。每个数据单元用由数据单元的彩色表示的多位数字数据编码。每个有独特彩色的数据单元是表示多位数字二进制数据的一个独特组合。每个数据单元彩色半色调微点的数目由彩色打印机和扫描仪的分辨率确定的。用每英寸600点的彩色激光打印机和彩色CCD扫描仅达到6点×6点或10mil×10mil的数据单元。每个数据单元表示多位数字二进制数据,多个相邻数据单元形成一个数字字节。数据块是以多个行和列的二维阵列表示整个数据文件的数据单元的组合。数据块由一个边界单元(boarder-cell)环包围且其中每个数据单元含有一个预定彩色或数据类型。该边界单元环提供数据解码期间关于数据块的定向,数据单元之间的间隔和不同数据类型的期望象素值。
对于每个独特数据类型的彩色数据单元通过指定发送到打印机的图像文件之内的在C(青色)Y(黄色)M(品红色)K(黑色)彩色空间中的象素值来定义。每个独特的数据类型表示一个特定的多位数字二进制数据,并且独特数据类型总数等于多位二进制数据的不同组合的总数。通过利用打印机的基本油墨,即,青色,品红色,黄色,黑色,在本发明中达到8个独特数据类型且每个数据类型表示3位二进制数据。通过变化在青色或品红色部分的象素值,经过打印机内的半色调和网屏(screening)机构能够产生含有淡青色和淡品红彩色的数据类型。
在读取,或解码时,用测量数据单元对红,绿或蓝光反射度的高分辨率彩色CCD扫描仪或其它读取器件扫描被打印的彩色数据单元。为了将数据单元解码成二进制数字数据,被测量的每个数据单元在R(红)、G(绿)、B(蓝)彩色空间的象素值与每个数据类型的期望象素值相比较。根据读取的期望数据类型的象素值定义在每个R、G、B彩色分量中两个阈值。希望在RGB彩色空间中不同数据类型的期望象素值彼此差别很大这样阈值之间具有足够的距离以提供更好的抗噪声能力。本发明公开了一种算法,通过将象素值与每个彩色成份的阈值比较将每个数据单元被测量的象素值解码成三位二进制数。
本发明的数据块中包含出错检测和校正方法。在由多个水平相邻数据单元表示的每个数字字节中包括一个奇偶位,以为在读取时用于奇数个位出错的出错检测提供奇偶校验。在数据块中每个水平行由数据单元和水平里德-索罗门(Reed-Selomon)校验单元组成。数据块内每个垂直列也含有数据单元和垂直里德-索罗门校验单元,它提供了在每行和每列中检测和校正多个数据单元出错的能力。
本发明还提供了一种方法和装置,利用计算机及彩色激光打印机,彩色喷墨打印机或平版印刷机为存储数字文本文件或压缩的彩色图像文件创建高密度二维彩色符号。并且通过利用计算机和CCD彩色扫描仅或其它读取器件将被打印的符号解码成为文本文件或成为解压缩的彩色图像。
本发明还提供了一种根据为最大抗噪声而为每个彩色部分指定的打印机象素值和所测量的数据单元的扫描图像象素值用彩色数据单元编码多位数字数据的方法和装置,及根据对每个彩色分量的多个阈值的解码算法。本发明这样完成编码/解码的过程更简单且较便宜但比当前可用的编码/解码彩色半色调点系统更精确和可靠。
为更好理解本发明及其它目标和其中进一步特征,请参照下列描述及附图;

图1示出了利用彩色激光打印机青色,品红色,黄色和黑色油墨的组合表示3位二进制数字数据的彩色数据单元的八个数据类型的编码表,其中为每个数据类型指定输入象素值;图2是RGB彩色空间中象素值的标准化图,该象素值是用CCD彩色扫描仅测量获得的用图1编码表编码的八种数据类型的红、绿、蓝色光线的光线反射度值;图3示出了表示3位二进制数字数据的彩色数据单元的八个独特数据类型的改进的编码表,它利用了彩色激光打印机的淡青色,淡品红,黄色和黑色的组合,其中淡青色和淡品红是为青色和品红彩色部分指定较小的象素值通过打印机内的半色调和网屏机构产生;图4是RGB彩色空间中象素值的标准化图,该象素值是用CCD彩色扫描仪测量获得的用图3改进的编码表编码的八种数据类型的红、绿、蓝色光线的光线反射度值;图5a示出了由3个相邻彩色数据单元编码的一个数据字节,其中第一数据单元表示3个最高有效位b7b6b5,第二数据单元表示位b4b3b2,并且第三数据单元表示二个最低有效位b1b0和一个奇偶位P;图5b是用于数据信息存储的二维102行×102列数据块,其中每行包括96个数据单元加上6个水平校验单元以用于水平出错检测和校正,每列包括96个数据单元加上6个垂直校验单元以用于垂直出错检测和校正;
图6示出了表示一个数据块的二维彩色符号,该数据块由具有预定数据的边界单元环包围,该环左上角边界单元具有独特的数据类型,该边界单元用于在读取时提供定向,间隔和自动校准信息;图7是利用一个彩色激光打印机和不同的计算机软件模块为了文本文件和压缩的图像文件的信息存储而创建二维彩色符号的详细步骤的流程图;图8是利用一个彩色CCD扫描仅和不同的计算机软件模块对二维彩色符号解码并且再现所表示的文本文件或解压缩彩色图像文件的详细步骤的流程图;图9是单词“Hello”用15个彩色数据单元编码的例子;图10是详细的数据单元编码流程图;图11是一个例子,具有96个数据单元的第一行数据块用数据类型7开始,接下来是数据类型2,数据类型1等等,在末端加上由里德-索罗门纠错码产生的6个水平校验单元;图12是通过找出数据单元多项式除以编码多项式的余数而产生水平校验单元的例子;图13是利用里德-索罗门纠错码产生水平和垂直校验单元的详细流程图;和图14是产生二维彩色符号的边界单元环的详细方框图。
最广泛应用的打印处理包括平版印刷机,激光打印机,喷墨,热传送等它们实质上是半色调设备和二进制的。彩色图像典型地用四种不同彩色部分再现青色,黄色,品红色和黑色。对于每个彩色部分,打印机将要或者在输出点上打印相应的彩色油墨或在输出点上跳过打印相应彩色油墨,运取决于二进制图像。被打印的油墨没有阴影。因此对于每个激光点打印机仅能输出青色,黄色,品红色和黑色油墨的16种组合之一。为了用不同种彩色和阴影表示连续色调彩色图像,包括网屏和误差扩散的半色调技术被用来保证不同彩色和阴影的局部平均显示。电子网屏是对于每个彩色部分创建变化尺寸和形状的半色调点的技术,它是通过将在具有一个固定数目激光点的半色调单元之内的彩色空间象素值与一个阈值矩阵表相比较。组合中青色,黄色,品红色,和黑色半色调点的变化的尺寸和形状用来再现具有不同彩色和阴影的连续色调图像。对于大部分激光打印机,实现半色调功能的硬件和软件驻留在打印机内部。与打印机接口的图像文件一般地用工业标准的高级描述语言进行描述,例如Adobes Postscrip描述语言,并且在不同彩色空间中图像的彩色象素值用连续色调描述。在CYMK彩色空间中,每个象素所用32位二进制数据表示P={C,Y,M,K}其中每个彩色成份C(青色),Y(黄色),M(品红色),K(黑色)能够用具有从0到255值的8位二进制数据表示。
数据单元10是本发明的信息存储单元。每个数据单元10由固定数目的彩色激光打印点组成。利用每英寸600点的高分辨彩色激光打印机,10mil×10mil的数据单元10包括6点×6点或总的36个半色调彩色微点。为了用不同的彩色数据单元对多位数字二进制数据12编码,必须定义具有特定输入象素值的不同的离散数据单元。对于每个彩色数据单元为了表示3位二进制数字数据,必须定义八个离散数据单元,在此假设数据单元内每个象素的象素值相等。图1示出了对于数据单元的输入象素通过指定C14,Y16,M18和K20彩色成份的八个不同象素值表示3位二进制数字数据12的数字化数据单元的编码方法。图1也示出了对于相应数据单元通过彩色激光打印机再现的图像51。类型0数据单元22具有再现图像黑色10和输入象素值P0={255,255,255,255},它表示3位二进制数据00052。类型1数据单元24具有再现图像紫色26和输入象素值P1={255,0,255,0},它表示3位二进制数据00154。类型2数据单元28具有再现图像品红色30和输入象素值P2={0,0,255,0},它表示3位二进制数据01056。类型3数据单元32具有再现图像红色34和输入象素值P3={0,255,255,0},它表示二进制数据01158。类型4数据单元36具有再现图像黄色38和输入象素值P4={0,255,0,0},它表示二进制数据10060。类型5数据单元40具有再现图像青色42和输入象素值P5={255,0,0,0},它表示二进制数据10162。类型6数据单元44具有再现图像绿色46和输入象素值P6={255,255,0,0},它表示二进制数据11064。类型7数据单元48具有再现图像白色50和输入象素值P7={0,0,0,0},它表示二进制数据11166。在这个编码方案中,对于每个彩色部分的象素值设定为255或是0,这意味着用在打印机内(群点屏幕或随机屏幕)网屏技术的独立和网屏频率和网屏单元尺寸的独立,网屏之后对整个数据单元面积二进制象素值是1或0。
为了解码3位二进制数字数据编码数据单元,用每英寸600点高分辨率彩色CCD扫描仪扫描打印的八个数据单元。大部分通常用的CCD彩色图像扫描仅具有三个红,绿和蓝滤光片排列在一组中的CCD图像感知单元用以测量被扫描图像的红光,绿光和蓝光的反射度。一旦扫描图片图像,彩色扫描仅产生一个图像文件,它有三个彩色成分R(红),G(绿)和B(蓝)。每个彩色分量象素值通常由对于相应的光源指示所测量的反射度的一个8位二进制数据表示。因此,扫描的图像象素二进制值能用一个24位值表示S={r,g,b}。
通过将数据单元内所有象素的象素值之和除以数据单元象素的总个数获得一个数据单元的平均扫描图像象素值。由于数据单元类型748是白色的,无油墨,它应有红,绿,蓝色光线反射光的最大值数。假设数据单元类型7 48的平均扫描图像的读数是S7={r7,g7,b7},r7,g7,b7值用来对所有其它数据类型的平均扫描图像象素值的读数进行标准化,以获得每个数据单元类型的相对数据。图2示出了在R84 G86 B88彩色空间中对所有数据单元类型标准化扫描图像象素值的图。能够看出数据单元类型748没有油墨且它有最大值S7={1.0,1.0,1.0}68。数据单元类型0 22有全部四种油墨且它应吸收最大量的光线。平均扫描图像象素值的读数是S0={0,0,0}70。青油墨具有吸收红光和反射绿和蓝光的光学特性。对于数据单元类型540的平均扫描图像象素值的读数是S5={0.1,0.3,0.75}76。品红油墨的光学特性是它吸收绿色光反射红和蓝光。对于数据单元类型2 28平均图像象素值的读数是S2={0.75,0.1,0.2}82。黄油墨吸收蓝光和反射红和绿光。对于数据单元类型4 36平均扫描图像象素值的读数是S4={1.0,1.0,0.2}78。数据单元类型332具有黄和品红油墨的组合,它应吸收蓝和绿光线反射红色光线。对于数据单元类型3 32平均图像象素值的读数是S3={0.75,0.1,0.1}80。数据单元类型6 44具有青和黄油墨的组合它应吸收红和蓝色光线而反射绿色光线。平均扫描图像象素值的读数是S6={0.1,0.3,0.2}74。数据单元类型1 24具有青和品红油墨的组合它应吸收红色和绿色光线及反射蓝色光线。对于数据单元类型1 24平均扫描图像象素值的读数是S1={0.1,0.1,0.2}72。根据每个数据单元类型的光学特性,数据单元的平均扫描图像象素值的读数能用来解码成3位二进制数字数据。
数据单元类型2 28仅有品红油墨它应吸收绿光线和反射红和蓝光线。但是读取的S2={0.75,0.1,0.2}82表示蓝光的反射度是低的。这是由于打印机所用的品红油墨的较高密度的作用,即,每单位面积品红油墨的量太厚而引起蓝光线的低反射。类似地,数据单元类型5 40仅有青色油墨,它应吸收红光而反射绿和蓝光。但是读取的S5={0.1,0.3,0.75}76表示青色油墨的浓度也是太高。结果,数据单元类型1 24的蓝光的反射度和数据单元类型6 44绿光的反射度也是太低。为了减少青和品红油墨的油墨密度,在扫描和数据解码期间增加抗噪声能力,对所有数据类型输入图像文件的青和品红颜色成份的象素值从255减到123。图3示出了改进的编码方案表。数据类型1 90具有再现图像淡紫色92,它有输入象素值P1={123,0,123,0}。数据单元类型2 94具有再现图像粉色96,它有输入象素值P2={0,0,123,0}。具有再现图像黄色的数据单元类型4 102有一个输入象素值P4={0,225,0,0}。具有再现图像蓝光108的数据类型5 106,它有一个输入象素值P5={123,0,0,0}。具有再现图像绿光112的数据单元类型6 110有一个输入象素值{123,255,0,0}。对于特定彩色部分设定输入象素值等于123,对应着通过打印机内的半色调机构进行的一个半色调单元网屏表对数据单元内的象素网屏。如果该象素值大于阈值,二进制输出是1且油墨被再现在这个特定点上。如果该象素值小于阈值,没有油墨再现在这个激光点上。取决于所用的网屏方法(输出变化的点的尺寸的群点屏幕或输出单位面积里点的数目有变化的随机网屏)在数据单元之内仅部分象素有油墨和数据单元之内部分象素没有油墨。结果,产生较淡的色彩阴影。在图3中,数据单元类型2 94有输入象素值P2={0,0,123,0}。再现图像是粉色96且减少了品红油墨的油墨密度。
用这个改进的编码方案,用每英寸600点的高分辨率CCD彩色扫描仅再扫描所有八种不同数据单元类型的再现图像。捕获由扫描仪产生的输出图像文件,计算每个数据类型平均扫描图像象素值,图4示出了在RGB彩色空间中对于不同数据单元类型平均扫描图像象素值的标准化图。参照数据单元类型7 48进行标准化,白色单元50,有红,绿,蓝光最大的反射度。
S0={0,0,0}114S1={0.4,0.4,0.5} 116S2={0.9,0.4,0.6} 118S3={0.9,0.4,0.2} 120S4={0.9,0.9,0.2} 122
S5={0.4,0.6,0.9} 124S6={0.4,0.6,0.2} 126S7={1.0,1.0,1.0} 128如图4所示,在RGB彩色空间中八个不同数据单元类型的平均扫描象素值彼此分开很远。当转化所扫描的数据单元的图像成为3位二进制数字数据时在解码过程中将提供较好的抗噪声能力。
当读取时,用高分辨率每英寸600点彩色CCD扫描仅扫描被打印的二维彩色符号并且每个数据单元的平均扫描象素值与期望象素值8个独特数据类型114至128比较,将数据单元解码成为3位二进制数据。本发明的下列方法能被用于解码假设一个数据单元的平均象素值由下列表达D={R,G,B}其中R,G,B是每个彩色空间标准化的读数在每个彩色成份中定义两个阈值如下R1=0.2R2=0.6G1=0.2G2=0.75B1=0.35 B2=0.75下列算法用于将D解码成一个独特数据类型(1)如果R1>R(可能的数据类型是0)和G1>G(可能的数据类型是0)和B1>B(可能的数据类型是0,3,4,6)数据单元D是类型0。
(2)如果R2>R>R1(可能的数据类型是1,5,6)和G2>G>G1(可能的数据类型是1,2,3,5,6)和B2>B>B1(可能的数据类型是1,2)数据单元D是类型是1。
(3)如果R>R2(可能的数据类型是2,3,4,7)和G2>G>G1(可能的数据类型是1,2,3,5,6)和B2>B>B1(可能的数据类型是1,2)数据单元D是类型2。
(4)如果R>R2(可能的数据类型是2,3,4,7)
和G2>G>G1(可能的数据类型是1,2,3,5,6)和B1>B(可能的数据类型是0,3,4,6)数据单元D是类型3。
(5)如果R>R2(可能的数据类型是2,3,4,7)和G>G2(可能的数据类型是4,7)和B1>B(可能的数据类型是0,3,4,6)数据单元D是类型4。
(6)如果R2>R>R1(可能的数据类型是1,5,6)和G2>G>G1(可能的数据类型是1,2,3,5,6)和B>B2(可能的数据类型是5,7)数据单元D是类型5。
(7)如果R2>R>R1(可能的数据类型是1,5,6)和G2>G>G1(可能的数据类型是1,2,3,5,6)和B1>B(可能的数据类型是0,3,4,6)数据单元D是类型6。
(8)如果R>R2(可能的数据类型是2,3,4,7)和G>G2(可能的数据类型是4,7)和B>B2(可能的数据类型是5,7)数据单元D是类型7。
最坏的抗噪声情况阈值和8个独特数据类型114至128的期望象素值之间任何一个彩色空间中相差是0.15。例如,对于数据类型2蓝色成份的期望读数是0.6并且阈值是G1=0.2,G2=0.75。具有蓝色成份的读数据是0.2和0.75之间的数据单元被解码成为数据类型2,在此假定红和绿象素值也满足算法中指定的需要。因此,对于蓝色成份最坏可容忍的噪声是G2-0.6=0.15。能够看到,如果在RGB彩色空间中八个独特数据单元类型的期望平均象素值彼此之间分开的很远,阈值之间分开的也很远。这一步将提高在数据单元解码过程中的抗噪声能力。
如图1和图3所示,对于3位二进制数字数据编码方案,每个数据单元表示一个3位二进制数字数据三个水平相邻数据单元用来表示一个数字字节其左边单元表示最高有效位右边单元表示最低有效位。图5a示出第一数据单元130用来表示一个字节的三个最高有效位b7b6b5132。第二数据单元134用来表示一个字节的位b4b3b2136,第三数据单元138用来表示一个字节的最低有效位b1b0加一个奇偶位P 140。对于偶校验,由下列方程产生奇偶位P 140P=b7+b6+b5+b4+b3+b2+b1+b0。
其中+是异或运算符b7至b0是数据位而P是奇偶位。当读取时,通过校验每个字节包括数据位和奇偶位的奇偶产生校验子(syndrome)位。
S=b7+b6+b5+b4+b3+b2+b1+b0+P。
其中+是异或运算符如果有奇数个位出错,错误字节的校验子位等于逻辑1,否则等于0。因此,能够识别有奇数个位出错的出错字节的出错位置。该信息被用于出错检测和校正方案用途。
标准ASCII码用于以一个数字字节或3个数据单元对任何字母数字字符编码。例如,按照ASCII编码表,字符“A”用0100 0001编码,它能由3个数据单元表示010(数据单元类型2),000(数据单元类型0),接着是010(数据单元类型2)有奇偶位P=0。
由数据单元的联合以二维矩阵的形式组成的数据块用于大量数字信息的存储。图5b示出了102行×102列数据单元的数据块。对于每一行,有96个数据单元142和6个水平检验单元144。一行中96个水平数据单元表示32个连续字节且每个字节有3个数据单元。例如,第一数据字节由数据单元150,152,154构成且数据单元150表示最高3个有效位。对于每一列,有96个数据单元146和6个垂直校验单元148。里德-索罗门码用于产生六个水平校验单元和六个垂直校验单元,六个水平校验单元具有检测和校正每一行中最多3个随机出错。六个垂直检验单元具有检测和校正每一列中的最多3个随机出错。里德-索罗门纠错码在现有技术中已经众所周知,最适合于这个应用,由于里德-索罗门码是面向符号的,每个数据单元是表示3个二进制位的一个符号。一位出错误,二位出错或所有三位出错能引起一个数据单元出错。出错校正意为用正确的代替出错的数据单元。
从GF(8)的一个有限域实现里德-索罗门码其编码多项式为g(X)=(X+1)(X+α)(X+α2)(X+α3)(X+α4)(X+α5)通过找出用水平数据单元多项式除以编码多项式g(X)所得的余数产生水平校验单元。通过找出用垂直数据单元多项式除以编码多项式g(X)所得的余数也产生垂直校验单元。在读取时,对从CCD扫描的图像文件中的被解码的二进制数据执行下列步骤,用于每行的出错检测和校正(1)通过找出用包含校检单元的全部行数据单元多项式除以发生器多项式(generator polymonimal)的每个因子生成六个校验子。
(2)计算出错定位器(error locator)多项式的系数。当开始此步骤时,出错的数目是未知的。计算出错定位器多项式的系数的一种方法是首先假定一个错误。如果发现这个假定不正确,假定的出错数目增加1,等等。
(3)找出出错定位器多项式的根以确定出错定位向量。
(4)计算出错定位器多项式的对数值以得到出错定位。
(5)一旦知道出错定位向量,校验子方程成为线性方程系统,其中出错值未知。计算出错值。
(6)用正确的符号代替出错位置处的符号。
如果出错是由奇数个位出错引起的。每个字节的奇偶校验也能用于帮助步骤4的找出出错位置。对于垂直方向上每一列的出错检测和校正重复执行上述步骤。利用上述公开的数据块设计,包括每个字节一个奇偶位,每行6个水平里德-索罗门校验单元,和6个垂直里德-索罗门校验单元,实现了高可靠数据存储单元且能够在每行校正3个数据单元错误和在每一列校正3个数据单元错误。
利用用多位数字二进制数据编码的彩色半色调微点用于高密度信息存储的本发明的符号也包括如图6示出的边界单元。包括水平和垂直检验单元的二维数据块150首先被白数据单元152(数据单元类型7 48)的环包围。白色数据单元环152的外部是边界单元环154。边界单元环有四个角156,158,160和162。指定边界单元环的左上角数据单元156的数据类型022(黑色数据单元)。其它三个角数据单元158,160和162在读取和数据解码期间用于定向和对直用途。由于能够以任意方向和角度扫描符号,寻找左上角具有数据类型0的数据单元将使解码软件能够确定图像旋转的角度为合适的方面和解码信息。在边界单元154和数据单元块150之间的白色数据单元通道152用于从边界单元环中分离开数据单元块。边界单元环包括每个单元具有已知数据类型的数据单元。做为一个例子,能指定紧挨着左上角156的水平数据单元164的数据类型1,单元166为数据类型2,单元168为数据类型3,单元170为数据类型4,单元172为数据类型5,单元174为数据类型6,单元176为数据类型7等。类似地,也能指定左上角单元156下面的垂直边界单元数据类型,单元178为数据类型1,单元180为数据类型2,单元182为数据类型3,单元184为数据类型4,单元186为数据类型5,单元188为数据类型6和,单元190为数据类型7。设定边界单元具有已知数据类型的用途有两层首先,它能被用作一个标尺以确定在水平或垂直方向上数据单元之间的间隔;第二,在解码期间它能提供自动校准功能。当读取时,数据块的被扫描的图像文件含有象素值的二维阵列。为了区分一个数据单元与下一个数据单元的值必须知道在水平方向上和垂直方向上每个数据单元的象素数目。由于每个边界单元的数据类型已知,通过检查每个边界单元的象素数目获得水平垂直空间的信息。自动校准是边界单元提供的重要功能。彩色和打印符号的反射是变化的,取决于使用的打印机,和使用的年限。在长时间情况下用的打印的符号受到阳光或其它不利条件影响引起微点的彩色褪色。当解码具有确定数据类型的数据单元的被扫描图像象素值时,按照彩色的褪色情况和使用情况调节阈值。通过测量具有已知数据类型边界单元的象素值能够完成且调节阈值用于解码数据单元。这是因为对于特定符号边界单元的彩色应该遵循数据单元的彩色,如果使用一段时间后彩色褪掉了。上述公开的处理减少了出错且提供了数据解码非常可靠的方法。
为存储大量的文本数据,或一个压缩的彩色图像数据创建二维彩色微点符号的流程方框图被示于图7。通过ASCII数据格式转化194步字母数字混合的文本文件192被转化成一个二进制数据文件200。类似,通过在RGB或CYMK彩色空间中连续色调的彩色图像数据文件196的JPEG压缩也能产生二进制数据文件200。按照本发明的编码表用具有表示3位二进制数据的每个数据单元的彩色半色调数据单元对二进制数据文件在202步中进行编码。利用里德-索罗门码用数据单元多项式除以编码多项式在204步中产生水平和垂直错误校正单元。具有预定数据类型的角单元和边界单元也被在206步中嵌入符号周围。包括数据单元块和边界单元的整个符号在208步中被转化成一个Postscript文件208,它含有用工业标准的打印机接口高级语言描述的每个数据单元的彩色和位置,物理尺寸的信息。将Postscript文件发送到每英寸600点高分辨率激光打印机210以便进行二维彩色符号212的打印。
当读取时,用高分辨率的每英寸600点彩色CCD扫描仪216扫描在214中用数字数据编码的一个二维彩色微点。结果在218中对于那个特定点用表示红,绿,蓝光线的光反射度的每个象素值创建在R(红),G(绿),和B(蓝)彩色空间中扫描的图像数据文件。首先,图像文件218必须在220中被旋转到合适的方向以进一步数据处理。用于打印的符号能相对扫描仅以任意角度被扫描通过寻找数据类型0的左上角边界单元和找出相对于扫描图像的参考线边界单元边缘的角度可以完成这一步。下一步是计算每个边界数据单元的平均扫描图像象素值以获得数据单元的水平和垂直间隔信息,每个数据类型的象素值用于区分八个不同数据类型调整阈值。根据这个信息,在224中将数据块224的象素值转化成数据单元和二进制数据且每个单元表示3位。通过混合三个相邻数据单元创建数字字节数据。对于每个字节也执行奇偶校验226步骤。具有奇偶错误的字节的位置被记录,它能用来在识别出错字节位置时协助纠错处理。水平和垂直校验符号用来执行里德-索罗门出错检测和出错校正228步骤以产生校正的数据文件230。通过对二进制数据文件230的传统的ASCII解码产生字母-数字文本文件232。对于彩色图像,通过用传统JPEG解压缩软件234解压缩二进制数据文件230创建图像文件。最后解码的文本数据文件或彩色图像文件236能够显示在计算机CRT上或输出到打印机或通过计算机局域网或国际互联网传送到远方数据中心以进一步信息处理。
为了文本信息存储创建一个二维彩色微点符号的本发明也能用到外文文本文件中。由于示于图5b的数据块142的基本数据单元是一个数字二进制字节,标准输出(standard exits)将外文字符编码成数字字节,为存储外文字符的信息而利用本发明创建彩色微点符号是可行的。例如,对于一个中文字符ASCII码对应1个字节的编码它需要占用3个字节。因此,为了编码一个外文文本文件,用相应外文的编码表代替图7流程图中ASCII码194。并且在图8中ASCII码232被用编码外文的编码表代替以产生外文文本文件。
本发明的编码/解码步骤的例子如下A.数据单元编码例如,单词“Hello”是ASCII编码如下H01001000
e01100101l01101100l01101100o01101111对于表示一个字母-数字字符的每个字节(8位),增加一个奇偶位做为最低有效位。
H010010000e011001010l011011000l011011000o011011110从图3的编码表,每3位二进制数据用一个数据单元字节编码H010 010 000(数据单元类型2) (数据单元类型2) (数据单元类型0)e011 001 010(数据单元类型3) (数据单元类型1) (数据单元类型2)l011 011 000(数据单元类型3) (数据单元类型3) (数据单元类型0)l011 011 000(数据单元类型3) (数据单元类型3) (数据单元类型0)o011 011 110(数据单元类型3) (数据单元类型3) (数据单元类型6)为了表示单词“Hello”,这样利用了15个数据单元,具有数据字节(彩色)序列如图9所示。编码序列流程图示于图10。
B.错误检测和校正单元的产生产生出错检测和校正符号的里德-索罗门码在现有技术中是可用的。通过提供利用里德-索罗门码在数据块设计中产生水平和垂直出错检测和校正单元的软件本发明改进现有技术概念。
通过软件进行出错检测和校正单元的产生。
产生校验单元的例子如下。参考图11,首先检查数据块的第一行。
已经知道96个数据单元表示某些数据。每个数据单元3位二进制数据编码。
假定第一数据单元是类型7(白色单元表示二进制数据111),第二数据单元是类型2(粉色单元表示二进制数据010),且第三数据单元是类型1(紫色单元表示二进制数据001)。
按照有限域理论GF(23)由P(x)=x3+x+1定义一有限域。
表示二进制数据111的第一数据单元类型7也能由α5表示。
表示二进制数据010的第二数据单元类型2也能用α1表示。
表示二进制数据001的第三数据单元类型1也能用α0表示。
第一行的96个已知数据单元也能用一个多项式P=α5x95+α1x94+α0x93…+αnx0来表达。
利用里德-索罗门码,编码多项式=(x+1)(x+α)(x+α2)(x+α3)(x+α4)=x6+α94x5+α10x4+α136x3+α15x2+α104x+α15
第一行数据多项式被编码多项式除余数=r5x5+r4x4+r3x3+r2x2+r1x1+r0r5,r4,r3,r1,r1,r0是余数的系数。
假设r5=α3,r4=α6,r3=α1,r2=α0,r1=0,r0=α5第一行校验单元是余数,如图12所示。
出错检测和校正单元的产生流程图示于图13。实际上,校检单元是数据单元多项式除以编码多项式所得的余数。对于每行和每列重复该过程。
C.边界单元的产生如上述指出,数据块102行×102列首先由一个白数据单元(数据类型7)环包围。
通过给确定的定位器(fixed locators)分配确定的数据类型产生边界单元环。例如,指定左上角边界单元为数据类型0紧接着数据类型1,数据类型2,数据类型3,数据类型4,数据类型5,数据类型6,数据类型7等。
将全部二维彩色符号转化为一个光栅图像数据文件,垂直扫描方向为快扫描方向,水平扫描方向为慢扫描方向。彩色激光打印机在快速扫描方向上一次打印一个扫描行图像然后移到下一个扫描行直至扫描完整张纸。
对应每种彩色部分青色,品红色,黄色,黑色必须产生四个图像文件。参照图3,象素值和数据类型表,且假定一个单垂直扫描行顺序地扫描数据类型0和数据类型2数据单元,输出象素值将是如下c.ascii图像数据文件(青色)255,255,255,0,0,0对于扫描行。
y.ascii图像数据文件(黄色)255,255,255,0,0,0m.ascii图像数据文件(品红色)255,255,255,123,123,123k.ascii图像数据文件(黑色)255,255,255,0,0,0一个边界单元生成流程图示于图14。
该相同的技术也能应用到近来开发的具有提高照相分辨率技术的彩色激光打印机,该打印机含有品红和青的较淡阴影的特殊照相油墨,与传统四种彩色油墨相比提供六种彩色。利用淡青和淡品红油墨,及具有足够的抗噪声能力的4位二进制数据编码的数据单元是可行的。
应该注意任何具有奔腾处理器的PC机能够以足够速度运行用于编码/解码步骤的软件。高性能工作站,例如Sun Sparc 5工作站能以较高速度运行该软件。
最好用于运行计算机的软件是1.以C++语言编写的编码软件。
2.以C++语言编写的解码软件。
3.用于用户接口的标准Window编程。
4.驱动激光打印机的标准软件包。
5.与CCD扫描仅接口的标准软件包,例如大量通用的AdobePhotoshop。
参照图7,块192,194…208是用C++写的软件;彩色激光打印机210可以是HP彩色激光喷墨打印机或Xerox Docucolor40打印机。
参照图8,彩色扫描仪216可以是UMAX彩色扫描仅(600SPi)并且块218,220…236是以C++语言编写的软件。
参照优选实施例已经描述了本发明,应理解本领域的技术人员可以对其进行没有脱离本发明的实质和范围的修改和替代。除此之外,可以在不脱离本发明实质和精神的情况下将本发明做很多修改以适应于具体的情况和材料。
权利要求
1.一种以创建存储数字数据的二维彩色微点符号方式的编码数据方法,该方法包括以下步骤转化字母-数字文本和二进制数据文件成为二进制数据文件;编码所述二进制数据文件;产生基于所述编码二进制单元的水平和垂直出错校正单元;响应于所述出错校正单元产生边界单元;产生含有关于所述数据单元信息的信息文件;耦合所述信息文件到打印机。
2.一种解码表示存储的数字数据的二维彩色符号的方法,该符号包含边界和数据单元,该方法包括以下步骤扫描所述符号以产生扫描的图像数据文件;读所述边界和数据单元;检查所述扫描的图像文件的错误及校正所述错误;产生二进制数据文件;和从所述二进制数据文件中产生彩色图像和文本文件。
3.一种机器可读的数据结构包括用于大量数字数据存储具有多个行和多个列的打印的彩色数据单元的一个二维数据块,每个所述彩色数据单元用多位数字二进制数据编码,多个所述水平相邻彩色数据单元表示一个数字字节,数据块内每个所述行含有数据单元和校验单元,数据块内每个所述列含有数据单元和校验单元,且边界单元环包围所述二维数据块。
4.根据权利要求3的数据结构,其中所述结构被形成在一个非易失性只读器件上。
5.根据在权利要求3中提出的数据结构,其中每个所述彩色数据单元包括由对于青色,黄色,品红色和黑色部分具有特定象素值的打印机产生的相同颜色的二维彩色半色调微点。
6.根据权利要求3的数据结构,其中每个所述彩色数据单元表示多位二进制数据和选择表示多位二进制数据的彩色满足在红,绿和蓝彩色空间中读取时最大抗噪声能力的需求。
7.根据权利要求6的数据结构,其中数据用测量数据单元的反射度的读取装置解码,该读取装置利用各种彩色的光线并且将彩色空间中的象素值与多个阈值比较以解码被反射的信号成为多位二进制数据。
8.根据权利要求3的数据结构,其中所述数字字节包括一个奇偶位在读取时用来对每个字节检测奇数个位出错的错误。
9.根据权利要求3的数据结构,其中每个所述行包含数据单元和水平校检单元,并且每个列也含有数据单元和垂直校验单元用于在读取时的出错检测和纠错。
10.根据权利要求3的数据结构,其中所述边界单元环的选择的角数据单元被指定一个不同于所述边界单元环的其它角的独特数据用于在读取时对直和图像旋转。
11.根据权利要求3的数据结构,其中在所述边界单元内每个数据单元的数据被预先指定以便在扫描的图像数据块的解码期间提供水平和垂直间隔信息。
12.根据权利要求3的数据结构,其中用于编码多位数字数据的不同数据被指定所述边界单元环内的已知的位置,以提供为解码数据块而被用于设定阀值的每一数据类型的象素值。
全文摘要
用于存储大量数据的半色调微点编码的方法,该微点由高分辨率彩色激光或喷墨打印机或平版印刷机在一个基衬上产生。用二进制数据编码数据单元。数据单元的组合形成一个数据块。用外部数据单元包围数据块并且在扫描和数据重构期间用于确定数据单元间隔,数据块定向和数据单元反射度,该方法中每个字节有一个奇偶校验位和具有出错检测和校正功能。
文档编号G06K7/12GK1248752SQ9812070
公开日2000年3月29日 申请日期1998年9月23日 优先权日1998年9月23日
发明者孙祖洪, 吴汤渝生 申请人:孙祖洪, 吴汤渝生
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1