发明内容
本发明试图通过记录两个图像来提供编码与记录数据的另一种方法,一个图像对应于从相机系统接收的原始图像数据,第二个图像数据对应于通过使用可载入相机系统的图像处理程序转换原始图像产生的所述图像的版本,所述方法包括使用红外墨以编码的容错数字形式在原始图像上或与图像本身一起打印这两个图像,通过使用如申请人先前公开的墨喷打印系统将图像和数据记录在打印媒质上。
本发明的一个目的是提供一种在照片上打印数字数据的方法,其中所述数据是来自相机系统的图像数据,和经图像处理程序转换的该图像数据,该方法包括下列步骤:
a)从相机系统接收与图像对应的图像数据作为原始图像数据;
b)将图像处理程序载入所述相机系统;
c)使用所述图像处理程序将所述图像数据转换为转换图像数据;
d)把所述原始图像数据和所述转换图像数据变换为编码容错的数字形式;
e)通过喷墨打印过程使用显隐墨在打印媒质的表面打印所述编码容错数字形式的所述原始图像数据和所述转换图像数据,同时,以一种可见的、可读的形式将所述原始图像数据作为摄影图像打印在所述打印媒质的同一表面上。
优选的,所述编码步骤包括压缩所述图像数据并使用里德-所罗门算法对其进行处理。为容纳两个图像于在本发明的其他形式中仅可容纳单个图像拷贝的相同空间中,需要对图像数据和经转换的图像数据进行更大的压缩
显隐墨可以是几乎不吸收可见光谱的红外吸收墨。
本发明的另一个目的提供用于在照片上以显隐墨打印编码容错数字数据的设备,所述设备包括:
a)用于成像图像的相机系统,包括以数字格式输出所述图像;所述相机系统进一步包括用于输入图像处理程序的装置;
b)根据所述图像处理程序的步骤将所述数字格式的所述图像处理为转换版本的所述图像的装置;
c)用于将所述数字格式的所述图像和所述转换版本的所述图像转变为容错编码数字形式的装置;
d)用于使用喷墨打印过程打印所述图像和所述容错编码数字形式的装置,所述容错编码数字形式使用所述红外墨打印。
打印装置优选使用页宽打印头,其利用一喷墨结构,例如,如在申请人的PCT/AU00/00743,PCT/AU00/00744,PCT/AU00/00745,PCT/AU00/00746,PCT/AU00/00747和PCT/AU00/00748中所公开的,打印辊馈送打印媒质通过其中,例如在申请人的Artcam申请USSN09/113,070和USSN 09/112,785中所公开的。
根据本发明的一个优选形式,信息被打印在照片上,该照片与具有86mm×55mm(与信用卡的大小相当)格式的以前由本申请人公开的现有技术数据编码卡相比,具有大约为102×152mm(4″×6″)的标准尺寸。记录媒质尺寸的增加使得与以前的格式相比,在使用相似或相同数据编码技术的情况下,可以在照片上记录几乎4倍之多的数据。通过将数据记录在具有图像的该照片的同一表面,仅需要一个页宽打印头,而不是如在申请人的申请USSN09/113,070中公开的那样需要两个打印头。
提供一种在照片上打印数字数据的方法,其中所述数据是来自相机系统的图像数据,和经图像处理程序转换的该图像数据,该方法包括下列步骤:
a)从相机系统接收与图像对应的图像数据;
b)使用图像处理程序转换所述图像数据,其步骤可被载入所述相机系统;
c)将所述原始图像数据和所述转换的图像数据变换为编码容错数字形式;
d)通过喷墨打印处理使用红外墨在打印媒质的表面打印出所述容错数字形式的所述原始图像数据和所述转换的图像数据,同时在所述打印媒质的相同表面上以一种可见的、可读的形式打印出所述原始图像数据作为摄影图像。
提供一种用于在照片上以红外墨打印编码容错数字数据的设备,所述设备包括:
a)用于成像图像的相机系统,包括以数字格式输出所述图像;所述相机系统进一步包括用于输入图像处理程序的装置;
b)根据所述图像处理程序的步骤将所述数字格式的所述图像处理为转换版本的所述图像的装置;
c)用于将所述数字格式的所述图像和所述转换版本的所述图像转变为容错编码数字形式的装置;
d)用于使用喷墨打印过程打印所述图像和所述容错编码数字形式的装置,所述容错编码数字形式使用所述红外墨打印。
具体实施方式
本发明优选包括一个喷墨打印系统,其在页宽打印头中每个打印点具有至少4个喷墨打印喷嘴。这四种墨分别是青色、绛红和黄色用于打印彩色图像,红外(IR)墨用于以编码的容错形式打印与彩色图像一起的数据。可以使用四种墨打印的这样一种喷墨打印头在申请人的共同未决申请PCT/AU00/00743,PCT/AU00/00744,PCT/AU00/00745,PCT/AU00/00746,PCT/AU00/00747和PCT/AU00/00748中公开。
适用于本发明的红外墨在申请人的共同未决申请中进行了公开,这些申请是:于2000年8月14日申报的澳大利亚临时专利申请PQ9412和PQ9376,于2000年8月18日申报的PQ9509、以及于2000年8月21日申报的PQ9571和PQ9561。
可用于编码用于以红外墨打印的信息的技术在申请人的共同未决专利申请USSN 09/113,070和USSN 09/112,785中进行了公开,这里将参考引用其说明。这些技术被描述为Artcard或Dotcard格式。在这些申请中,数据被打印在85mm×55mm卡的背面,有效数据区域为80mm×50mm。采用这种方式,967KB数据被容错编码为1.89MB数据,用15,876,000个打印点。
编码数据格式
当然,虽然有多种编码数据格式,但是本发明中将描述这样一种具有许多优选特征的编码数据格式。
编码数据概述
编码数据可用于恢复图像,所述编码数据被写在该图像上,或为应用操作提供其数字格式,应用操作例如通过数字通信网络传输或在计算机中进行图像处理。
编码数据技术也可能与打印分辨率无关。把数据存储为打印媒质上的点的概念只是意味着:如果有可能在同一空间中放置更多的点(通过提高分辨率),那么这些点可以代表更多的数据。该优选实施例假定在作为样本照片的102mm×152mm(4″×6″)大小的照片上使用1600dpi打印,但是对于其它图片尺寸和/或其它打印分辨率只是简单的确定可选择的等效布局和数据量。例如,在申请人的喷墨打印相机系统中,还支持全景打印,在这种情况下,照片的长度是标准尺寸照片的2倍,因此可以允许记录两倍的数据,以增强图像数据的冗余。不管使用何种打印分辨率,读取技术都是相同的。 在考虑了所有解码和其它开销后,编码数据格式能够在高达1600dpi的打印分辨率下在4″×6″打印尺寸中存储3-4MB的数据。还可以高于1600dpi的打印分辨率存储更多编码数据。
编码数据的格式
因此,将照片上的数据结构专门设计为辅助对数据的恢复。本节描述照片上的数据的格式。该格式之前在USSN 09/113,070和USSN09/112,785中被描述为“另一种Artcard”格式。
点
由此,在照片上打印的点以红外墨被打印在彩色图像上或者与其一起被打印。因此,“数据点”在物理上与“非数据点”不同。在由具有对红外墨吸收特性的互补频谱特性的红外光源照射照片的情况下,数据会呈现为在“白”点上的“黑”单色显示。黑点对应着红外墨的点且吸收IR照射;白色点对应着其上没有打印红外墨的彩色图像区域,且基本上没有衰减或只是部分衰减地反射红外照射。在下文中,在提到红外墨点记录数据时,我们将使用在此所述的白和黑这两个词。
在描述本实施例时,“点”这个词是指照片上的(红外墨)物理打印点。当编码数据读取器扫描编码数据时,为满足奈奎斯特定理,必须以至少为打印分辨率2倍的分辨率取样。“像素”一词指从编码数据读取器设备中获得的样本值。例如,当以4800dpi分辨率扫描1600dpi的点时,一个点的每个维度上有3个像素,或者说每个点有9个像素。取样过程将在下文中详细描述。
请看图1,图1中所示的数据表面101显示了编码数据的一个样本。具有编码数据的每个照片由被边界区域103围绕的“有效”区域102构成。边界103不包含数据信息,但是可被编码数据读取器用于校准信号水平。该有效区域是一个数据块阵列(例如104),每个数据块被8个图像点的间隙(例如106)与相邻数据块隔开。根据不同的打印分辨率,照片上的数据块的数目也不同。在一个4″×6″的1600dpi打印照片上,在页边为2.5mm的大约97mm×147mm左右的区域中,一个数据阵列可能有15×14个数据块。每个数据块104的尺度为627×394个点,数据块之间的间隙106为8个图像点。
数据块
请看图2,图2中示出了单个数据块107。编码数据的有效区域包含一个结构相同的数据块的阵列107。每一个数据块有以下结构:一个由时钟标记109、边界110和目标111围绕的数据区108。数据区保持编码数据正确,而时钟标记、边界和目标被专门提供用于帮助定位数据区,并保证从该数据区中准确地恢复数据。
每个数据块107的尺度为627×394个点。其中,中央区的595×384点为数据区108。周围的点用于保持时钟标记、边界和目标。
边界和时钟标记
图3示出了一个数据块,图4和图5示出了其放大的边缘部分。如图4和图5所示,在每个数据块中有两个5点高的边界和时钟区域170、177:一个在该数据区之上,一个在该数据区之下。例如,顶部的5点高的区域包含一个外部黑点边界线112(该边界线使该数据块的长度伸长)、一个白点分隔符线113(保证边界线的独立性)、以及一个3点高的一组时钟标记114。时钟标记以黑白行交替,在从该数据块的任何一端的第8列以黑时钟标记开始。在时钟标记点和该数据区的点之间没有分隔。
时钟标记是对称的,因为如果把编码数据旋转180度插入,则会遇到相同的相对边界/时钟标记区域。边界112和113旨在由编码数据读取器用于当从数据区读取数据时保持垂直跟踪。时钟标记114用于在从数据区读取数据时保持水平跟踪。由于在读取过程中可能会出现模糊,因此在该边界和时钟标记之间需要由一个白色点线分隔。因此,边界将变成两侧带有白色的黑线,以便在读取时具有良好的频率响应。在白和黑之间交替的时钟标记具有类似效果,只是其沿水平方向,而不是垂直方向。任何编码数据读取器如果想要使用时钟标记和边界进行跟踪,则均必须对它们进行定位。在下一节中我们将讨论目标,其被设计用于指向通往时钟标记、边界和数据的路径。
目标区中的目标
如图7所示,每个数据块中有两个15点宽的目标区116和117,一个在数据区的左侧,另一个在数据区的右侧。目标区由用于取向的一列点与数据区分隔开来。目标区116和117的作用是指向通往时钟标记、边界和数据区的路径。每个目标区包含6个目标(例如118),这些目标被设计为易于被编码数据读取器找到。现在请看图6,图6中显示了单个目标120的结构。每个目标120是一个15×15点的黑正方形,它具有一个中央结构121和一个游程长度编码的目标编号122。中央结构121是一个简单的白十字,目标编号分量122只是两列白点,每个对于该目标编号的每一部分都为2个点长。因此,目标编号1的目标id 122为2个点长,目标编号2的目标id 122为4个点宽,等等。
如图7所示,目标被设置为使得它们对于卡插入具有旋转不变性。也就是说,左目标和右目标是相同的,只是旋转了180度而已。在左目标区116中,目标被设置为目标1-6按从上到下分别放置。在右目标区中,目标编号1-6按下到上的方式放置。目标编号id始终在最靠近数据区的一半中。图7的放大视图部分清楚地显示了右目标与左目标完全相同,只是旋转了180度。
如图8所示,目标124和125具体位于目标区内,其中心相隔55个点。另外,从目标1(124)的中央到上部的时钟标记区域中的第一个时钟标记点126的距离是55个点,且从该目标的中心到下部的时钟标记区域(没有示出)中的第一个时钟标记点的距离也是55个点。两个区域中的第一个黑时钟标记从目标中心以一条线直接开始(第8个点的位置是该15个点宽的目标的中心)。
图8中的简化示意图说明了目标中心之间的距离以及从目标1(124)到上部边界/时钟标记区域中的第一个黑时钟标记(126)的第一个点的距离。由于从上部及下部目标到时钟标记的距离均为55个点,并且编码数据的两侧(旋转180度后)是对称的,所以既可以从左向右读取卡,也可以从右向左读取卡。不管以什么方向读取,为从数据区中提取数据确实需要确定取向。
取向列
如图9所示,每个数据块中有两个1点宽的取向列127和128:一个直接在数据区左边,另一个直接在其右边。这些取向列被用于向编码数据读取器提供取向信息:在数据区的左侧(至左目标的右边)是单列白点127。在该数据区的右侧(到右目标的左边)是单列黑点128。由于目标具有旋转不变性,所以这两列点允许编码数据读取器确定照片的取向-即该照片是以正确方式插入还是被前后颠倒插入。
从该编码数据读取器的角度来看,在假定没有点的恶化情况下,有两种可能性:
·如果该数据区左边的点列是白的,而数据区右边的列是黑的,那么读取器将会知道照片是按照与其被写入的相同方式插入的。
·如果数据区左边的点列是黑的,而数据区右边的列是白的,那么读取器将会知道照片是反向插入的,并且数据区被适当地旋转。此时,读取器必须采取适当的措施以便从照片中正确恢复信息。
数据区
如图10所示,一个数据块的数据区包含595个点列,每列有384个点,共有228,480个点。必须对这些点进行解释和解码以产生原始数据。其中的每个点代表一位,因此228,480个点代表228,480个位,或者28,560字节。每个点的解释如下:
但是,对从这些点产生的位的实际解释要求理解从原始数据到照片的数据区中的点的映射关系。
把原始数据映射为数据区点
现在,将描述获得最大大小为2,986,206字节的原始数据文件并将其映射到1600dpi照片上的210个数据块的数据区中的点的过程。编码数据读取器会按相反的过程操作从而从照片中的点提取原始数据。初看起来,把数据映射到点上很容易:二进制数据包括若干个0和1,所以有可能简单地将黑白点写到该卡上。但是,这种方案没有考虑到墨可能褪色以及卡的某些部分可能会因污垢、尘垢甚至刮伤而损坏的事实。如果没有错误检测编码,就没有办法检测从卡上检索的数据是否正确。没有冗余编码,就没有办法校正检测出的错误。映射过程的目标是使数据恢复高度鲁棒,且向该编码数据读取器提供获知其正确读取数据的能力。
在将原始数据文件映射到数据区点的过程中涉及有四个基本步骤:
·压缩原始数据;
·冗余编码压缩的数据;
·以一种确定性的方式混排编码数据,以降低局部编码数据损坏的影响;
·把混排的、编码的数据作为点写出至照片上的数据块。
上述每个步骤将在以后几节里详细说明。
压缩原始数据
待记录到照片上的数据可能包含几个块,例如:
1)彩色图像数据
2)音频注释数据
3)图像处理控制脚本
4)位置数据(例如从GPS接收器获得的)
5)时间与日期
6)相机取向
7)跟踪数据—例如墨盒信息、软件版本、相机标识等等。
对于高质量图像,源图像数据可能是2000×3000像素,每个像素占3个字节。这会产生18MB的数据,这多于可在照片上的红外点中存储的数据。使用某种图像压缩技术,可以以10∶1左右的比率对图像数据进行压缩,同时图像质量几乎不会下降。适当的图像压缩技术包括基于离散余弦变换、霍夫曼编码的JPEG压缩,和用于JPEG2000标准中的小波压缩或分形压缩。
使用10∶1的压缩下,18MB的高质量的图像得到1.8MB的压缩数据。
也可以使用例如MP3压缩算法对音频注释数据进行压缩。
图像处理控制脚本通常不会消耗超过10KB数据,除非在脚本中嵌入图像。这些图像通常应该压缩。为照片处理设计的一种合适的图像处理脚本语言是本申请人开发的“Vark”语言,这种语言公开于USSN09/113,070中。剩余数据量很少,不必压缩。
使用里德—所罗门编码进行冗余编码
把数据映射到编码的数据点在很大程度上依赖所使用的冗余编码方法。优选地选择里德—所罗门编码方法,因为这种方法能够处理突发错误(burst error)并能使用最少的冗余有效地检测和校正错误。里德-所罗门编码在标准文本中已经有详细的介绍,例如Wicker,S.和Bhargava,V.,1994,里德-所罗门代码及其应用,IEEE出版,Rorabaugh,C,1996;错误编码码本,McGraw-Hill,Lyppens,H.,1997;里德-所罗门错误校正,多布博士的期刊,1997年1月(第22卷,第一期)。
里德-所罗门编码可以使用多种不同的参数,包括不同的符号大小以及不同水平的冗余。优选的,使用以下的编码参数:
m=8
t=64
m=8意味着符号大小是8位(1个字节)。它还意味着每个里德-所罗门编码的块大小是255字节(28-1个符号)。为了允许校正多达t个符号,在最后块大小中的2t个符号必须使用冗余符号进行处理。t=64表示每块可以校正64个字节(符号),如果它们存在错误。因此,每个255字节块有128(2×64)个冗余字节,其余的127字节(k=127)用于保持原始数据。因此:
n=255
k=127
实际结果是,127字节的原始数据被编码成为里德-所罗门编码数据的一个255字节块。编码后的255字节块被存储到照片上,之后再由编码数据读取器解码回原来的127个字节。数据块的数据区的一个列中的384个点可容纳48个字节(384/8)。595个这些列可以容纳28,560个字节。这共计112个里德-所罗门块(每个块有255个字节)。该210个数据块的完整照片总共可以容纳23,520个里德-所罗门块(共5,997,600字节,每个里德—所罗门块占255个字节)。其中两个里德—所罗门块被保留用于控制信息,而其余的块用于储存数据。由于每个里德-所罗门块容纳127字节的实际数据,所以在一张照片上总共可以存储的数据量是2,986,786字节(23,518×127)。如果原始数据不足这个量,那么可以对数据进行编码,以便符合确切数量的里德-所罗门块,然后,可以复制该编码的数据块,直到全部23,518个块都被使用。图11说明了所用编码的整体形式。
两个控制块132和133的每一个包含解码其余的23,518个里德-所罗门块所需的相同编码信息:
完整消息(低/高存储的16位(16 bits stored lo/hi))中的里德-所罗门块的数目;
消息的最后一个里德-所罗门块(8位)中的数据字节数目;
这两个数被重复32次(占用96字节),而其余的31个字节被保留并置为0。然后,对每个控制块进行里德-所罗门编码处理,把127字节的控制信息变为255字节的里德-所罗门编码数据。
控制块存储两次,以加大其保存下来的机会。另外,在使用里德-所罗门编码时,控制块内部的数据重复特别重要。在未破坏的里德-所罗门编码块中,首先127字节的数据就是原始数据,且万一控制块无法解码(被破坏的符号数超过64),则可以看到这127个字节以试图恢复原始消息。因此,如果某个控制块无法解码,则在确定2个解码参数的最可能的值的努力中有可能检查3个字节的组。虽然这种方法不能保证一定可以恢复数据,但是通过冗余的恢复机会很大。假设控制块的最后159字节被破坏了,而首先96字节是完全正确的。那么观察首先96个字节可以显示出重复的数字组。可以明智地使用这些数字来解码在其余的23,518个里德-所罗门块中的消息的剩余部分。
图12中说明了在进行里德-所罗门编码处理之前每个控制块数据中的127个字节的十六进制表示。
扰码编码数据
假设所有编码块在存储器中是邻接存储的,那么在照片上最多可以存储5,997,600个字节的数据(2个控制块和23,518个信息块,总计23,520个里德-所罗门编码块)。然而此时,优选地不把这些数据直接存储到照片上,或者一个里德-所罗门块的全部255字节在卡上在物理上是在一起的。可能导致卡发生物理损坏的任何污垢、尘垢或污点都有可能破坏单个里德-所罗门块中的64个以上的字节,这将使该块无法恢复。如果没有该里德-所罗门块的副本,那么整个照片就无法解码。
解决方案是利用照片上有大量字节以及照片具有合理物理尺寸的事实。因此,可以对这些数据进行扰码,以确保来自单个里德-所罗门块的符号不相互紧邻。当然,照片降级的病理问题会导致里德-所罗门块无法恢复,但是平均起来,对数据扰码会使数据更鲁棒。所选择的扰码方案比较简单并且在图13被示意性地说明。来自每个里德-所罗门块的所有为0的字节都放在一起(136),然后是所有字节1等。因此,将有23,520个字节0,然后是23,520个字节1等等。照片上的每个数据块可以存储28,560个字节。因此,在照片上的每个数据块中的每个里德-所罗门块中大约有4个字节。
采用这种扰码方案,在照片上的16个全部数据块的完全损坏会导致在每个里德-所罗门块中的64个符号错误。这意味着,如果照片没有其它损坏,那么即使没有数据的副本,也可以完全恢复整个数据。
把扰码的编码数据写到照片上
一旦对原始数据进行里德-所罗门编码、复制、以及扰码,则照片上要存储5,997,600个字节的数据。照片上的每个数据块存储28,560个字节。
数据被简单地写出到照片的数据块中,使第一个数据块包含扰码数据的首先28,560个字节,第二个数据块包含下28,560个字节,等等。
如图14所示,在一个数据块中,数据是按从左到右的列方式写出的。因此,数据块中最左侧的列包含28,560个字节的扰码数据的首先48个字节,最后一列包含28,560字节的扰码数据的最后48个字节。在一列中,按从上到下顺序写出字节,每次写一位,从位7开始,到位0结束。如果该位被置为(1),则会在照片上放置黑点(红外墨点),如果该被清零(0),则不在照片上放置点。
例如,可以通过对要存储到照片上的23,520个里德-所罗门编码块进行扰码产生一组5,997,600字节的数据。数据的首先28,560个字节被写给第一数据块。首先28,560个字节的首先48个字节被写给该数据块的第一列,下48个字节被写给下一列,以此类推。假设28,560字节的首先两个字节是十六进制的D3 5F。这首先两个字节被存储到该数据块的列0中。字节0的位7首先被存储,然后是位6,等等。然后字节1的位7被存储,直到字节1的位0。由于每个“1”被存储为一个黑点,而每个“0”被存为一个白点,因此这两个字节在照片上将被表示为下列点:
·D3(1101 0011)变成:黑、黑、白、黑、白、白、黑、黑
·5F(0101 1111)变成:白、黑、白、黑、黑、黑、黑、黑
当通过打印机的打印头驱动打印媒质时,编码图像数据被发送到喷墨打印机上以驱动红外墨喷嘴,同时该图像数据被用于驱动青、绛红和黄喷嘴。
当通过打印机装置的打印头驱动打印媒质时,图像的编码数据及其转换的版本被发送至打印机装置以驱动红外墨喷嘴,同时该图像数据被用于驱动该彩色喷嘴。
现在,可得到由相机系统获取的图像作为一个带有必要数据的摄影图像,所述必要数据用于再现与其一起被打印的图像,不管有或没有由原始使用的图像处理程序转换的图像。没有必要单独定位底片,如果需要照片的另一个副本,可以复制图像而不管对其的损坏,并且可获得数字格式的图像,其可被扫描到计算机系统或相机系统中,如在申请人的共同未决申请USSN09/113,070和USSN09/112,785中所公开的,用于任何目的,或通过电信网络传送数据。
在申请人的共同未决申请USSN 09/113,070和USSN 09/112,785中公开了另一种格式,称为Artcard格式,这种格式也可以等同地用在这里,代替上述的“可替换Artcard”格式。在Artcard格式中,在打印媒质上打印连续的数据区,在当前情况下,在由边缘包围的照片上以红外墨打印连续的数据区,所述边缘被打印为在该数据区域前缘和后缘处的目标和其它标记以沿其顶部和底部指定边界和时钟标记以帮助解码包括在该数据区域中的数据。目标用于当读取沿水平方向被旋转不超过1°时确认卡的取向,以及检测卡是被先插入前部还是后部。否则对数据的读取将不可靠。
上述说明限于本发明的特定实施例。但是,很明显,对本发明的一些变化和修改同样能够实现本发明的部分或全部优点。例如,可以理解,在某种适当编程的数字数据处理系统中,可以使用硬件或软件来实现本发明,这对各专业技术人员来说是容易实现的。因此,其权利要求书的目的是覆盖所有落入本发明的精神和范围内的所有的这种变化和修改。