在文档图像中嵌入和提取附加信息的制作方法

文档序号:6651292阅读:150来源:国知局
专利名称:在文档图像中嵌入和提取附加信息的制作方法
技术领域
下面的公开一般涉及能够将附加信息嵌入文档图像中的装置、方法、系统、计算机程序和产品,尤其涉及能够从文档图像中提取附加信息的装置、方法、系统、计算机程序和产品。
背景技术
数字水印是一种将附加信息嵌入数字数据中以保护数字数据的版权或完整性的技术。
例如,如日本专利特许公开No.H09-186603、2002-232679和2004-023563的任一个中所描述的,可以将附加信息嵌入字符之间的间隔(即,字符间间隔)中。如果应用这种类型的数字水印,则希望以人难以察觉的方式嵌入附加信息。此外,还希望将大量数据作为附加信息嵌入字符间间隔中。

发明内容
本发明的一个示范性实施例包括能够通过下述操作将附加信息嵌入文档图像中的装置、方法、系统、计算机程序和产品分析文档图像的布局(layout),布局包括具有多个字符间间隔的字符行,每个字符间间隔具有原始长度;以及通过将多个字符间间隔中的每个的原始长度改变为最佳长度来将附加信息嵌入到字符行中。
在一个例子中,可以通过执行下述步骤获得最佳长度使用附加信息对多个字符间间隔中的每一个将原始长度转换为量化长度;获得表示多个字符间间隔中的每一个的原始长度和量化长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据确定结果调整多个字符间间隔中的至少一个的量化长度,以使累加值在该范围内。
在另一个例子中,可以通过执行下述步骤获得最佳长度使用附加信息对多个字符间间隔中的每一个将原始长度转换为量化长度;以及将布置数(arrangement number)加到量化长度上以生成多个字符间间隔中的每一个的相加后的量化长度。
本发明的另一示范性实施例包括能够通过下述操作从文档图像中提取附加信息的装置、方法、系统、计算机程序和产品分析文档图像的布局,布局包括具有多个字符间间隔的字符行,每个字符间间隔具有提取长度;以及从多个字符间间隔中的每一个的提取长度中提取附加信息。所提取的附加信息可以用于确定例如文档图像的完整性、有效性或者所有权。


通过下面结合附图的详细描述,将容易地获得对本发明及其附带优点更全面的了解,并且更易于理解,其中图1是图解根据本发明的一个示范性实施例的信息处理装置的功能结构的示意方框图;图2是图解根据本发明的一个示范性实施例的信息处理装置的功能结构的示意方框图;图3是图解根据本发明的一个示范性实施例的信息处理装置的功能结构的示意方框图;图4是图解根据本发明的一个示范性实施例的、将附加信息嵌入文档图像中的操作的流程图;图5A到5C是用于说明图4所示操作的图;图6是图解根据本发明的一个示范性实施例的、获得文档图像中的字符间间隔的最佳长度的操作的流程图;图7是图解根据本发明的一个示范性实施例的、获得文档图像中的字符间间隔的最佳长度的操作的流程图;图8是表示在图7所示的操作期间产生的最优化问题的一组函数;图9A是从图8所示的该组函数导出的一组函数;图9B是表示对图8所示的最优化问题的解的一组函数;图9C是从图8所示的该组函数导出的一组函数;图9D是从图8所示的该组函数导出的一组函数;图10是图解根据本发明的一个示范性实施例的、获得文档图像中的字符间间隔的最佳长度的操作的流程图;图11是用于说明图10所示操作的图;
图12是图解根据本发明的一个示范性实施例的、从用户接收指令的操作的流程图;图13是图解根据本发明的一个示范性实施例的信息处理装置的硬件结构的示意方框图;图14是图解根据本发明的一个示范性实施例的、从用户接收指令的操作的流程图;图15是图解根据本发明的一个示范性实施例的信息处理装置的硬件结构的示意方框图;图16是图解根据本发明的一个示范性实施例的信息处理装置的功能结构的示意方框图;图17是图解根据本发明的一个示范性实施例的、从文档图像中提取附加信息的操作的流程图;图18是图解根据本发明的一个示范性实施例的、从文档图像中提取附加信息的操作的流程图;图19是用于说明图18所示操作的图;以及图20A到20C是用于说明根据本发明的一个示范性实施例的、从文档图像中提取附加信息的操作的图。
具体实施例方式
在描述附图所示的示范性实施例时,为了清晰起见采用特定术语。然而,本专利说明书的公开并不意图限于所选择的特定术语,并且应当理解的是,每个特定元素包括以类似方式运作的所有技术等效物。现在参照附图,其中在这几个图中相同的附图标记指示相同或相应部件,图1图解根据本发明的一个示范性实施例的信息处理装置10。信息处理装置10能够将附加信息嵌入文档图像中。
如图1所示,信息处理装置10包括图像布局分析器11、信息嵌入器12、量化器13、调整器14、确定器15、打印机控制器16和扫描仪控制器18。此外,信息处理装置10经由诸如局域网(LAN)之类的网络连接到打印机20和扫描仪30。
图像布局分析器11分析文档图像的布局。例如,图像布局分析器11可以从文档图像中提取至少一个字符行作为目标字符行,以及从该目标字符行中提取至少一个字符间间隔作为目标字符间间隔。信息嵌入器12通过将目标字符间间隔的原始长度改变为最佳长度,来将附加信息嵌入目标字符间间隔中。最佳长度可以由量化器13、调整器14和确定器15中的任何一个确定。
在一个例子中,量化器13获得由图像布局分析器11提取的每个字符间间隔的原始长度,并且使用附加信息将该原始长度转换为量化长度。信息嵌入器12将每个字符间间隔的长度从原始长度改变为量化长度。
当确定器15确定调整任一个字符间间隔的量化长度时,可以由调整器14进一步调整量化长度。例如,确定器15获得目标字符行中的每个字符间间隔的原始长度和量化长度之间的差。确定器15还将所获得的差值加到累加值中,并且获得其绝对值(“绝对累加值”)。如果绝对累加值等于或小于阈值,则确定器15确定不需要调整。如果绝对累加值大于阈值,则确定器15确定需要调整。
如果确定器15确定需要调整,则调整器14可以使用任何种类的选择方法选择至少一个字符间间隔用于调整。调整器14将所选的字符间间隔的量化长度调整预定的量,以便使绝对累加值等于或小于阈值。在调整了量化长度之后,调整器14可以使信息嵌入器12将所选的字符间间隔的长度从原始长度改变为经调整的量化长度,或者从量化长度改变为经调整的量化长度。
在另一个例子中,量化长度还可以与从布置数(arrangement number)序列中选择的布置数相加。布置数序列可以作为随机数序列生成,或者可以作为预定数序列生成。可以使用布置数来确定文档图像的完整性。
扫描仪控制器18允许信息处理装置10与扫描仪30通信,或者它允许装置10控制扫描仪30。扫描仪控制器18可以用例如扫描仪驱动程序来实现。打印机控制器16允许信息处理装置10与打印机20通信,或者它允许装置10控制打印机20。打印机控制器16可以用例如打印机驱动程序来实现。
除了图1所示的信息处理装置10,还可以由各种其他信息处理装置来执行将附加信息嵌入文档图像中的操作,例如,通过图2所示的信息处理装置40或图3所示的信息处理装置50。
图2的信息处理装置40在功能结构上与图1的信息处理装置10基本上类似。差别包括删除了调整器14和确定器15。
图3的信息处理装置50在功能结构上与图1的信息处理装置10基本上类似。差别包括用打印机21代替了打印机控制器16、以及用扫描仪31代替了扫描仪控制器18。
打印机21能够打印各种数据,例如要由信息嵌入器12处理的文档图像。扫描仪31能够扫描各种文档图像,例如由图像布局分析器11处理的文档图像。
现在参照图4,根据本发明的一个示范性实施例说明将附加信息嵌入文档图像中的操作。可以由信息处理装置10、40、和50中的任一个在其从用户接收到将附加信息嵌入文档图像中的指令时执行图4所示的步骤。用户可以以各种方式(例如,图12和14的任何一个所示的方式,这将在稍后进行描述)生成指令。为了说明目的,下面描述由图1的信息处理装置10执行图4的操作。
在步骤S101中,图像布局分析器11输入要处理的文档图像。在一个例子中,图像布局分析器11可以获得通过扫描仪控制器16由扫描仪30扫描的文档图像。在另一个例子中,图像布局分析器11可以获得使用任何类型的应用软件生成的文档图像。
在步骤S102中,图像布局分析器11例如使用任何种类的图像分割(segmentation)方法从文档图像中提取包括多个字符的字符部分。
在步骤S103中,图像布局分析器11例如使用任何种类的字符行提取方法从字符部分中提取一个或多个字符行。
在步骤S104中,图像布局分析器11从每个字符行中提取一个或多个字符间间隔。在一个例子中,图像布局分析器11可以生成直方图,来指示沿文档图像的辅助扫描方向上的黑色像素的数量。使用该直方图,可以将具有大于预定值的长度的连续一段白色像素作为字符间间隔提取出来。取决于该预定值,字符间间隔有时可能包括一个字符内的间隔、字符行之间的间隔、或者由照片、图或表等产生的间隔。
在该步骤中,如果要处理多值彩色图像,则可以选择基色(如红、绿或蓝)之一来生成直方图。或者,可以将多值彩色图像转换为彩色部分和亮度部分,并且可以使用亮度部分生成直方图。
在步骤S105中,信息嵌入器12允许用户输入附加信息。例如,信息处理装置10可以配备或连接到能够显示信息的显示器。使用该显示器,信息处理装置10可以请求用户输入任意信息(例如数字或字符)作为附加信息。或者,信息处理装置10可以请求用户选择具有要嵌入的信息的特定数据文件。此外,在这个例子中,附加信息的量可以预先设置,或者可以根据用户的喜好设置,只要它处于由步骤S104中提取出的字符间间隔数量确定的限制之内。
在步骤S106中,信息嵌入器12从在步骤S103中提取出的字符行中选择要嵌入附加信息的目标字符行。在一个例子中,可以以从文档图像的左上侧到右下侧的顺序选择目标字符行。
为了说明的目的,下面假定选择图5A所示的字符行L1作为目标字符行。如图5A所示,字符行L1包括四个汉字字符C1、C2、C3和C4,以及三个字符间间隔11、12和13。位于字符C1和C2之间的字符间间隔11具有原始长度11。位于字符C2和C3之间的字符间间隔12具有原始长度12。位于字符C3和C4之间的字符间间隔13具有原始长度13。此外,在这个例子中,将附加信息“011”嵌入目标字符行L1中。具体地说,如图5A所示,比特0嵌入到字符间间隔11中。比特1嵌入到字符间间隔12中。比特1嵌入到字符间间隔13中。
在图4的步骤S107中,信息嵌入器12获得目标字符行中的每个字符间间隔的最佳长度。在这个例子中,最佳长度对应于由量化器13获得的量化长度,该量化长度之后可以根据确定器15做出的确定而由调整器14进行调整。
在一个例子中,信息嵌入器12可以首先获得量化长度,该量化长度是由量化器13根据每个字符间间隔的原始长度计算出来的。
在参照图5A的示范性情况中,量化器13获得字符间间隔的量化长度,该量化长度通过将常数q与一个偶数或奇数相乘来近似相应的原始长度。如果“0”嵌入字符间间隔中,则通过将常数q与偶数相乘来近似字符间间隔的原始长度。如果“1”嵌入字符间间隔中,则通过将常数q与奇数相乘来近似字符间间隔的原始长度。具体地说,对于字符间间隔11、字符间间隔12和字符间间隔13,分别得到量化长度2q、量化长度3q和量化长度3q。
仍然参照图4的步骤S107,如果确定器15确定需要调整的话,还可以由调整器14将任一字符间间隔的量化长度调整预定的量。
参照图5A和5B,确定器15获得原始长度11和量化长度2q之间的差、原始长度12和量化长度3q之间的差、以及原始长度13和量化长度3q之间的差,以获得累加值e。或者,累加值e可以作为字符行L1的原始长度和量化长度之间的差获得。字符行L1的量化长度对应于经过量化处理后的字符行L1的长度。
如果累加值e落到阈值所确定的范围之外,则确定器15确定调整字符间间隔11、12和13中的任一个的量化长度。如果累加值e落到范围之外,则调整器14选择字符间间隔11、12和13中的一个进行调整。
例如,如图5C所示,调整器14可以选择字符间间隔12,并且将量化长度3q调整预定的量(例如调整长度2q)。使用该调整,可以使累加值e落在范围内。
在图4的步骤S108中,信息嵌入器12根据在步骤S107中获得的最佳长度改变每个字符间间隔的原始长度。
在步骤S109中,信息嵌入器12确定是否已经将在步骤S105中输入的附加信息嵌入文档图像中。如果嵌入了附加信息(步骤S109为“是”),则操作结束。否则(步骤S109为“否”),操作返回步骤S106来选择另一目标字符行。
在这个例子中,如图5A到5C的任一个中所示,在文档图像中的目标字符行L1的右侧生成累加值e。然而,也可以例如在目标字符行L1的左侧生成累加值e,或者可以在目标字符行L1的两侧生成累加值e,这取决于字符行L1的布局。此外,字符行L1的布局可以在图2所示的操作之后改变。
如上面参照图4所述,可以以各种方式(例如,图6、7和8的任一个中所示的方式)获得字符间间隔的最佳长度。
现在参照图6,根据本发明的一个示范性实施例说明获得最佳长度的操作。图6所示的步骤可以在图4的步骤S107中执行。
在步骤S201中,量化器13选择用来表示附加信息的数制(numbersystem)。在一个例子中,可以基于二进制表示附加信息,由数字0或1(即,比特)构成数位。在另一个例子中,可以基于十进制表示附加信息,由数字0到9构成数位。在另一个例子中,可以基于N基数(base number)表示附加信息,由数字0到(N-1)构成数位,其中,N对应于任何整数。
在步骤S202中,量化器13为目标字符行中的每个字符间间隔分配附加信息的数位中相应的一个。例如,量化器13可以以从目标字符行的左侧到右侧的顺序分配字符间间隔。
在步骤S203中,量化器13获得每个字符间间隔的量化长度。可以通过用由等式(N*k+b)*q所表示的值近似相应的原始长度来获得量化长度,其中N对应于步骤S201中确定的基数,k对应于一个整数,b对应于所分配的数位,而q对应于表示量化单位的常数。
在一个例子中,如果在二进制(N=2)下分配比特“0”作为附加信息,则量化器13通过用值2kq(如果k等于1则为2q)近似相应的原始长度获得量化长度。
在另一个例子中,如果在二进制下分配比特“1”作为附加信息,则量化器13通过用值(2k+1)q(如果k等于1则为3q)近似相应的原始长度获得量化长度。
在另一例子中,如果在三进制(N=3)下分配数位“0”作为附加信息,则量化器13通过用值3kq近似相应的原始长度获得量化长度。
在另一例子中,如果在三进制下分配数位“1”作为附加信息,则量化器13通过用值(3k+1)q近似相应的原始长度获得量化长度。
在另一例子中,如果在三进制下分配数位“2”作为附加信息,则量化器13通过用值(3k+2)q近似相应的原始长度获得量化长度。
在步骤S204中,确定器15确定绝对累加值是否等于或小于阈值θ。如果绝对累加值等于或小于阈值θ(步骤S204为“是”),则操作结束并前进到例如图4的步骤S108。否则(步骤S204为“否”),操作前进到步骤S205。
在步骤S205中,调整器14将字符间间隔分类为第一类字符间间隔和第二类字符间间隔,每个第一类字符间间隔具有符号与累加值相同的差值,每个第二类字符间间隔具有符号与累加值相反的差值。
例如,如果累加值为正,则属于第一类的字符间间隔每个具有正号,而属于第二类的字符间间隔每个具有负号。在另一个例子中,如果累加值为负,则属于第一类的字符间间隔每个具有负号,而属于第二类的字符间间隔每个具有正号。
仍然参照步骤S205,在将字符间间隔分类为两类之后,调整器14从第一类字符间间隔中选择具有最大差值的一个字符间间隔。调整器14然后调整所选的字符间间隔的量化长度以使绝对累加值更小。
在一个例子中,如果累加值为正,则调整器14选择具有最大正差值的一个字符间间隔。调整器14将所选的字符间间隔的量化长度减去预定的量(N*q)。在另一个例子中,如果累加值为负,则调整器14选择具有最大负差值的一个字符间间隔。调整器14将所选的字符间间隔的量化长度加上预定的量(N*q)。
在步骤S206中,调整器14确定是否已经处理或调整了所有属于第一类的字符间间隔,如果处理了所有字符间间隔(步骤S206为“是”),则操作前进到步骤S207。否则(步骤S206为“否”),操作返回步骤S204。
在步骤S207中,确定器15确定绝对累加值是否等于或小于阈值θ。如果绝对累加值等于或小于阈值θ(步骤S207为“是”),则操作结束并前进到例如图4的步骤S108。否则(步骤S207为“否”),操作前进到步骤S208。
在步骤S208中,调整器14从第二类字符间间隔中选择具有最小差值的一个字符间间隔。调整器14然后调整所选的字符间间隔的量化长度以使绝对累加值更小。
在一个例子中,如果累加值为正,则调整器14选择具有最小负差值的一个字符间间隔。调整器14将所选的字符间间隔的量化长度加上预定的量(N*q)。在另一个例子中,如果累加值为负,则调整器14选择具有最小正值的一个字符间间隔。调整器14将所选的字符间间隔的量化长度减去预定的量(N*q)。
在步骤S209中,调整器14确定是否已经处理或调整了所有属于第二类的字符间间隔,如果处理了所有字符间间隔(步骤S209为“是”),则操作结束。否则(步骤S209为“否”),操作返回步骤S207。
在这个例子中,常数q可以预先设置或者可以根据用户的喜好设置。在一个例子中,可以通过在处理速度和图像质量之间的折衷中确定q的值,因为增加q可以增加处理速度,而降低q可以增加所处理的文档图像的质量。在另一个例子中,可以根据文档图像的分辨率确定q的值,这是因为q值据观察与文档图像的分辨率基本上成比例。例如,如果文档图像具有600dpi的分辨率,则q的值最好设置为7。此外,q的值最好可以设置为奇数。此外,q的值可以设置为等于阈值θ的值,以抑止文档图像的图像质量下降。
现在参照图7,根据本发明的一个示范性实施例说明获得最佳长度的操作。图7所示的步骤可以在图4的步骤S107中执行。如下所述,通过求解描述字符间间隔的最佳长度的最优化问题获得最佳长度。
在步骤S301中,量化器13以基本类似参照图6的步骤S201所描述的方式选择表示附加信息的数制。在该特定例子中应用二进制。
在步骤S302中,量化器13以基本类似参照图6的步骤S202所描述的方式为目标字符行中的每个字符间间隔分配附加信息的数位中相应的一个。
在步骤S303中,量化器13生成最优化问题,并且确定是否存在对该最优化问题的解。
在这个例子中,最优化问题可以用图8所示的一组函数表示。函数J对应于目标函数(objective function)。函数F对应于约束函数(constraintfunction)。在这个例子中,n对应于目标字符行中的字符间间隔数量。Si对应于第i个字符间间隔的量化长度。Si对应于第i个字符间间隔的原始长度。q对应于量化单位。
此外,函数F后面的三个函数定义量化长度Si的边界。在这个例子中,由于应用二进制,因此量化长度Si可以表示为(2ki+bi)q,其中bi对应于要嵌入第i个字符间间隔中的比特值,而ki对应于整数集Z。
此外,图8的函数F可以用图9A所示的两个函数F1和F2表示。如果Si可以满足函数F1或F2中的任一个,则存在对图8所示的最优化问题的解。由于Si的值没有上限,因此对任何Si值都可以满足函数F1。由于由图8所示的边界函数,Si的下限,即最小值是(2-bi)q,因此可以将函数F2重写为图9A的函数F3。
这样,在步骤S303中,量化器13确定是否存在满足图9A的函数F3的解。如果存在解(步骤S303为“是”),则操作前进到步骤S304。否则(步骤S303为“否”),操作结束并前进到例如图4的步骤S108。此外,在图7所示的操作结束后,可以产生错误消息来指示没有可用的最佳长度。
在步骤S304到S308中,量化器13获得对最优化问题的解。在这个例子中,解 可以表示为图9B所示的函数F4,后者可以从图8的目标函数J导出。具体地说,解 对应于一组可以通过近似相应的原始长度Si得到的量化长度Si,。
为了获得解 ,在步骤S304中,量化器13以基本类似参照图6所述的方式获得一组量化长度Si。
在步骤S305中,确定器15确定在步骤S304中获得的这组量化长度Si是否满足图8的约束函数F。如果满足约束函数F(步骤S305为“是”),则操作结束。否则(步骤S305为“否”),操作前进到步骤S306。
在步骤S306中,调整器14确定差的和(即,累加值)是否为正。如果累加值为正(步骤S306为“是”),则操作前进到步骤S307。如果累加值为负(步骤S306为“否”),则操作前进到步骤S308。
在步骤S307中,调整器14从字符间间隔中选择每个都具有正差值的至少一个字符间间隔以进行调整。
由图8所示的函数,已知当ki减少1时量化长度Si减少2q。此外如图9C所示,当Si减少2q时,目标函数J减少-4q(Si-Si)+4q2。如图9C所示,可以通过执行将具有最大差值(Si-Si)的字符间间隔的量化长度Si减去2q的操作来最小化目标函数J。
在步骤S308中,调整器14从字符间间隔中选择每个都具有负差值的至少一个字符间间隔以进行调整。
由图8所示的函数,已知当ki增加1时量化长度Si增加2q。此外如图9D所示,当Si增加2q时,目标函数J增加4q(Si-Si)+4q2。如图9D所示,可以通过执行将具有最小差值(Si-Si)的字符间间隔的量化长度Si增加2q的操作来最小化目标函数J。
如图7所示,可以重复步骤S307或S308直到满足图8所示的约束函数F为止。
现在参照图10,根据本发明的一个示范性实施例说明获得最佳长度的操作。图10所示的步骤可以在图4的步骤S107中执行。
在步骤S401中,量化器13以基本类似参照图6的步骤S201所描述的方式选择表示附加信息的数制。
在步骤S402中,量化器13以基本类似参照图6的步骤S202所描述的方式为目标字符行中的每个字符间间隔分配附加信息的数位中相应的一个。
在步骤S403中,量化器13以基本类似参照图6的步骤S203所描述的方式获得每个字符间间隔的量化长度。
在步骤S404中,量化器13生成伪随机数序列,并且将每个伪随机数加到在步骤S403中获得的相应一个量化长度上。例如,在图5B所示的示例性情况中,可以将伪随机数r1加到字符间间隔11的量化长度2q上。类似地,可以将伪随机数r2加到字符间间隔12的量化长度3q上。类似地,可以将伪随机数r3加到字符间间隔13的量化长度3q上。
在这个例子中,伪随机数设置在-q/2和q/2之间的范围内,其中q对应于表示量化单位的常数。
或者,在该步骤中,可以生成每个具有相同的单位长度的预定数的序列来代替伪随机数序列。例如,量化器13可以交替生成具有预定单位长度的0的序列和具有预定单位长度的q/2的序列。如果预定单位长度是4,则该序列可以描述为{0,0,0,0,q/2,q/2,q/2,q/2,...}。
在步骤S404后,图10的操作可以结束并前进到例如图4的步骤S108。或者,图10的操作还可以例如前进到如图6和7中任一个所示的、调整字符间间隔的长度的操作。
回来参照图4,信息处理装置10、40和50中的任一个在从用户接收到指令后可以执行图4所示的操作。
在一个例子中,如图12所示,用户可以使用任何类型的应用软件(如字处理软件)打开文档图像,并且指示信息处理装置10或40将附加信息嵌入文档图像中。当信息处理装置10或40由具有例如图13所示硬件结构的个人计算机(PC)100实现时,可以执行图12所示的操作。
如图13所示,PC 100包括介质驱动器107、存储介质101、存储设备102、存储器103、中央处理单元(CPU)104、显示器105、输入设备106和通信设备108,它们彼此相互连接。
介质驱动器107包括能够从存储介质101中读取数据的任何种类的设备。存储介质101可以存储信息嵌入程序或信息提取程序(统称为“信息处理程序”),该程序使得PC用作信息处理装置10或40。存储介质101的例子包括但不限于,光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW和DVD+RW)、磁光盘、存储卡和软盘。
CPU 104包括能够控制PC 100的操作的任何类型的处理器。存储器103包括CPU 104可以使用的任何类型的非易失性或易失性存储器。存储设备102包括能够存储大量数据的任何类型的设备,例如硬盘驱动器。
输入设备106包括能够输入数据的任何类型的设备,例如键盘或鼠标。显示器105包括能够显示的任何类型的设备,例如液晶显示器(LCD)。通信设备108包括允许PC 100经由网络(如因特网)与其它装置通信的任何类型的设备。
在一个例子中,信息处理程序可以从存储信息处理程序的存储介质101安装到存储设备102上。信息处理程序还可以在CPU 104激活时加载到存储器103上。
在另一个例子中,信息处理程序可以通过通信设备108经由网络从任何其它装置下载。此外,图像处理程序可以通过通信设备108经由网络从PC 100上载到任何其它装置。
回来参照图12,根据本发明的一个示范性实施例说明由PC 100执行的从用户接收指令的操作。图12所示的步骤可以在用户指示PC 100使用连接到PC 100的打印机打印文档图像时执行。
在步骤S501中,CPU 104在显示器105上显示用户界面(如打印对话框),请求用户输入打印偏好。
在步骤S502中,CPU 104允许用户使用输入设备106输入各种打印偏好。例如,用户可以指示是否嵌入附加信息。此外,用户可以通过输入数字或字符确定附加信息的内容。或者,用户可以从存储设备102中选择存储要嵌入的附加信息的特定数据文件。
在步骤S503中,CPU 104确定是否输入了打印偏好。如果完成输入(步骤S503为“是”),则操作前进到步骤S504。如果未完成输入(步骤S503为“否”),则操作返回步骤S502继续输入。
在步骤S504中,CPU 104例如通过按照对打印机可读的格式转换文档图像来开始打印操作。同时,CPU 104通过参考打印偏好确定用户是否要求嵌入附加信息。如果要求嵌入(步骤S504为“是”),则操作前进到步骤S505来嵌入附加信息,并且进而前进到步骤S506来打印具有附加信息的文档图像。如果不要求嵌入(步骤S504为“否”),则操作前进到步骤S506来打印文档图像而不嵌入附加信息。
除了图12所示的操作,如图14所示,用户可以使用扫描仪扫描要处理的文档图像,并且指示信息处理装置50将附加信息嵌入文档图像中。当信息处理装置50由具有例如图15所示硬件结构的多功能装置(MFP)实现时,可以执行图14所示的操作。
如图15所示,MFP 200包括相互连接的介质驱动器207、存储介质201、存储设备202、存储器203、CPU 204、输入/输出设备206、通信设备208、打印机209和扫描仪210。
介质驱动器207包括能够从存储介质201中读取数据的任何种类的设备。存储介质201可以存储信息嵌入程序或信息提取程序(统称为“信息处理程序”),该程序使得MFP 200用作信息处理装置50。存储介质201的例子包括但不限于,光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-R、DVD+R、DVD-RW和DVD+RW)、磁光盘、存储卡和软盘。
CPU 204包括能够控制MFP 200的操作的任何类型的处理器。存储器203包括CPU 204可以使用的任何类型的非易失性或易失性存储器。存储设备202包括能够存储大量数据的任何类型的设备,例如硬盘驱动器。
输入/输出设备206包括能够输入数据或输出数据的任何类型的设备,例如包括显示器或键盘的操作面板。通信设备208包括能够将MFP 200连接到网络(如因特网)的任何类型的设备。
扫描仪210包括能够将文档图像读取为电子数据的任何类型的设备。打印机209包括能够将电子数据打印为文档图像的任何类型的设备。
在一个例子中,信息处理程序可以从存储信息处理程序的存储介质201安装到存储设备202上。信息处理程序还可以在CPU 204激活时加载到存储器203上。
在另一个例子中,信息处理程序可以通过通信设备208经由网络从任何其它装置下载。此外,图像处理程序可以通过通信设备208经由网络从MFP200上载到任何其它装置。
回来参照图14,根据本发明的一个示范性实施例说明由MFP 200执行的从用户接收指令的操作。图14所示的步骤可以在用户通过使用输入/输出设备206选择复印按钮来指示MFP 200复印文档图像时执行。
在步骤S601中,用户将例如文档图像放置在MFP 200的曝光玻璃(exposure glass)或者自动文档进纸器(ADF)上。
在步骤S602中,CPU 204允许用户使用输入/输出设备206设置各种复印偏好。例如,用户可以指示是否嵌入附加信息。此外,用户可以通过输入数字或字符确定附加信息的内容。或者,用户可以从存储设备202中选择存储要嵌入的附加信息的特定数据文件。
在步骤S603中,CPU 204确定是否输入了打印偏好。如果完成输入(步骤S603为“是”),则操作前进到步骤S604。如果未完成输入(步骤S603为“否”),则操作返回步骤S602继续输入。
在步骤S604中,扫描仪210将文档图像扫描为电子数据。
在步骤S605中,CPU 204通过参考复印偏好确定用户是否要求嵌入附加信息。如果要求嵌入(步骤S605为“是”),则操作前进到步骤S606来嵌入附加信息,并且进而前进到步骤S607来打印具有附加信息的文档图像。如果不要求嵌入(步骤S605为“否”),则操作前进到步骤S607来打印文档图像而不嵌入附加信息。
现在参照图16,根据本发明的一个示范性实施例说明信息处理装置60。信息处理装置60能够将附加信息嵌入文档图像中,并且还能够提取嵌入到文档图像中的附加信息。
图16的信息处理装置60在功能结构上与图1的信息处理装置10基本类似。差别包括添加了信息提取器17。信息提取器17获得由信息嵌入器12处理过的文档图像,并且从文档图像中提取附加信息。
现在参照图17,根据本发明的示范性实施例说明从文档图像中提取附加信息的操作。可以由信息处理装置60在其从用户接收到从文档图像中提取附加信息的指令时执行图17所示的步骤。
在步骤S701中,图像布局分析器11输入具有附加信息的文档图像。在一个例子中,图像布局分析器11可以获得通过扫描仪控制器16由扫描仪30扫描的文档图像。在另一个例子中,图像布局分析器11可以获得使用任何类型的应用软件生成的文档图像。
在步骤S702中,图像布局分析器11以基本类似参照图4的步骤S102所述的方式从文档图像中提取包括多个字符的字符部分。
在步骤S703中,图像布局分析器11以基本类似参照图4的步骤S103所述的方式从字符部分中提取一个或多个字符行。
在步骤S704中,图像布局分析器11以基本类似参照图4的步骤S104所述的方式从每个字符行中提取一个或多个字符间间隔。
在步骤S705中,信息提取器17从在步骤S704中提取的字符间间隔中选择目标字符间间隔。
在步骤S706中,信息提取器17从目标字符间间隔的长度(“提取长度”)中获得嵌入目标字符间间隔中的附加信息数位。
在一个例子中,信息提取器17将提取长度除以曾用于嵌入的常数q来获得商值。如果商值不是整数,则信息提取器17进一步将该商值舍入到最接近的整数。使用该商值或最接近的整数,可以获得嵌入目标字符间间隔中的数值。
例如,如图5C所示,字符间间隔11具有提取长度2q。信息提取器17将提取长度2q除以常数q来获得商值2。由于商值2是偶数,因此信息提取器17确定为字符间间隔11分配了比特0。
类似地,仍然参照图5C,信息提取器17可以获得字符间间隔12的提取长度5q,并且将其除以常数q来获得商值5。由于商值5是奇数,因此信息提取器17确定为字符间间隔12分配了比特1。
在另一个例子中,信息提取器17将提取长度减去相应的伪随机数,并且将得到的长度除以常数q来获得商值。
例如,如图11所示,字符间间隔13具有提取长度(3q+r3)。信息提取器17从提取长度(3q+r3)中减去伪随机数r3,并且将得到的长度3q除以常数q来获得商值3。由于商值3是奇数,因此信息提取器17确定为字符间间隔13分配了比特1。
在步骤S707中,信息提取器17确定是否已经处理了在步骤S704中提取的所有字符间间隔。如果处理了所有字符间间隔(步骤S707为“是”),则操作前进到步骤S708。否则(步骤S707为“否”),操作返回步骤S705来选择另一目标字符间间隔。
在步骤S708中,信息提取器17输出检测结果,指示在步骤S706中提取的附加信息是否匹配嵌入的附加信息。使用该检测结果,可以确定文档图像的完整性、有效性或所有权。例如,可以将在步骤S706中提取的附加信息的数位与在图4的步骤S105中输入的附加信息的数位逐个地比较。
现在参照图18,根据本发明的一个示范性实施例说明从文档图像中提取附加信息的操作。图18所示的操作基本上与图17所示的操作类似。差别包括用步骤S805代替了步骤S705、用步骤S806代替了步骤S706,以及用步骤S807代替了步骤S707。
在步骤S805中,信息提取器17获得在步骤S704中提取的每个字符间间隔的提取长度,并且将提取长度除以常数q来获得每个字符间间隔的余数值。所得到的余数值可以表示为余数值序列。在这个例子中,余数值可以设置在-q/2和q/2之间的范围内。
在步骤S806中,信息提取器17获得在嵌入处理中由量化器13生成的伪随机数序列。信息提取器将余数值序列与伪随机数序列进行比较以生成比较结果。
在一个例子中,比较结果可以指示余数值序列和伪随机数序列之间的匹配。可以使用例如图19所示的评价函数(evaluation function)P(f)执行匹配。在这个例子中,假定附加信息是基于二进制的。具体地说,可以通过找到这样的一个映射f来实现匹配,该映射f在满足图19的评价函数下面列出的约束函数的同时可以最小化评价函数P(f)的值。参照图19,h对应于嵌入文档图像中的比特数。ri对应于嵌入第i个字符间间隔的伪随机数。f(i)对应于从嵌入的比特到提取的比特的映射,即,{1,2,...,h}→{1,2,...,g}。uf(i)对应于在第f(i)次序从第i个字符间间隔提取的余数值。
除了图19所示的评价函数外,可以应用任何类型的评价函数。例如,绝对误差之和可以用于评价函数。在另一个例子中,可以使用元启发式求解(metaheuristic approach)来求解评价函数。在另一例子中,可以使用基于文档布局的约束函数。
在步骤S807中,信息提取器17根据在步骤S806中获得的比较结果(如匹配结果)确定选择目标字符间间隔的顺序。根据所确定的顺序,信息提取器17从步骤S704中提取的字符间间隔中选择目标字符间间隔,并且以基本类似参照图17的步骤S706所述的方式获得嵌入目标字符间间隔中的数位。
图18所示的操作最好可以应用到具有较低图像质量的文档图像。例如,文档图像的质量可能由于在嵌入处理后应用的各种图像处理(如扫描或打印)而下降。如果处理了这样的低质量文档图像,则信息处理装置60可能无法以合适的顺序提取附加信息的数位。通过提取由比较结果确定的顺序,可以以合适的顺序提取附加信息的数位。
此外,如上面参照图10所述,可以生成每个具有相同单位长度的预定数的序列来代替伪随机数序列。当添加了预定数的序列时,在图18的步骤S805,信息提取器17可以以类似于下面参照图20A到20C的任一个所述的方式获得预定数的序列。
回来参照图18,在步骤S805中,信息提取器17获得图20A所示的每个字符间间隔的提取长度。在图20A中,每个数字表示相应字符间间隔的提取长度。
此外,信息提取器17将提取长度除以常数q以获得图20B所示的余数值。在这个例子中,预定数的序列包括具有单位长度为4的0的序列,以及具有单位长度为4的q/2的序列,它们相互交替。此外,常数q设为6。
使用余数值,信息提取器17可以指示哪个预定数被分配到每个字符间间隔。如图20C所示,信息提取器17将标签A分配给具有等于或大于-q/4而小于q/4的值的余数值,而将标签B分配给其它余数值。标签A对应于预定数0,而标签B对应于预定数q/2。
此外,信息提取器17可以确定连续标签的数量是否匹配单位长度。参照图20C,标签A的数量匹配单位长度4。然而,标签B的数量不匹配单位长度4。以这种方式,可以在执行步骤S806之前检测到诸如信息丢失之类的错误。在检测到错误后,可以结束图18的操作而不前进到步骤S806。
根据上述教学可以进行各种额外的修改和变型。因此应当理解,在所附权利要求书的范围内,可以以这里特别描述的方式之外的方式实践本专利说明书的公开。
例如,在本公开和所附权利要求书的范围内,不同说明性的实施例的元素和/或特征可以相互组合和/或相互代替。
此外,如上所述,本发明的上述和其它方法的任一个都可以以存储在任何类型的存储介质中的计算机程序的形式实现。存储介质的例子包括但不限于,软盘、硬盘、光盘、磁光盘、磁带、非易失性存储卡、ROM(只读存储器)等。
或者,本发明的上述和其它方法的任一个都可以由通过互连常规部件电路的适当网络提供的ASIC实现,或者由一个或多个由此编程的常规通用微处理器和/或信号处理器的组合来实现。
本专利申请基于在日本专利局于2004年12月8日提交的日本专利申请No.2004-355485和2005年4月22日提交的日本专利申请No.2005-125305,并且要求其优先权,其全部内容援引于此以供参考。
权利要求
1.一种信息处理装置,包括用于分析文档图像的布局的装置,所述布局包括具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;和用于通过将所述多个字符间间隔中的每个的原始长度改变为最佳长度、以将附加信息嵌入到字符行中的装置,其中通过执行信息嵌入操作来获得最佳长度,所述信息嵌入操作包括步骤使用所述附加信息对多个字符间间隔中的每一个将原始长度转换为量化长度;获得表示多个字符间间隔中的每一个的原始长度和量化长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据确定结果调整多个字符间间隔中的至少一个的量化长度,以使累加值在该范围内,其中经调整的量化长度用作最佳长度。
2.如权利要求1所述的装置,其中,所述附加信息包括多位数位,每个分配给所述多个字符间间隔中相应的一个。
3.如权利要求2所述的装置,其中,所述多个字符间间隔中的每一个的量化长度使用常数和相应分配的数位来近似相应的原始长度。
4.如权利要求3所述的装置,其中,常数基本上等于阈值。
5.如权利要求1所述的装置,其中,所述调整步骤包括步骤检测所述累加值的符号。
6.如权利要求5所述的装置,其中,所述调整步骤还包括步骤将所述多个字符间间隔分类成多个类,所述类包括第一类,包括多个字符间间隔,每个具有符号与累加值符号相同的差;和第二类,包括多个字符间间隔,每个具有符号与累加值符号相反的差;
7.如权利要求6所述的装置,其中,所述调整步骤还包括步骤从所述第一类的多个字符间间隔中第一选择第一目标字符间间隔,所述第一目标字符间间隔具有最大的差;和将所述第一目标字符间间隔的量化长度第一改变预定的量。
8.如权利要求7所述的装置,其中,重复所述第一选择步骤和第一改变步骤,直到使所述累加值在范围内为止。
9.如权利要求7所述的装置,其中,对属于第一类的所有多个字符间间隔执行第一选择步骤和第一改变步骤。
10.如权利要求9所述的装置,其中,所述调整步骤还包括步骤从所述第二类的多个字符间间隔中第二选择第二目标字符间间隔,所述第二目标字符间间隔具有最小的差;和将所述第二目标字符间间隔的量化长度第二改变预定的量。
11.如权利要求10所述的装置,其中,重复所述第二选择步骤和第二改变步骤,直到使所述累加值在范围内为止。
12.如权利要求5所述的装置,其中,所述累加值的符号为正。
13.如权利要求12所述的装置,其中,所述调整步骤还包括步骤选择所述多个字符间间隔中具有符号为正的最大差的一个;和从所述多个字符间间隔中所选的一个的量化长度中减去预定的量。
14.如权利要求5所述的装置,其中,所述累加值的符号为负。
15.如权利要求14所述的装置,其中,所述调整步骤还包括步骤选择所述多个字符间间隔中具有符号为负的最小差的一个;和将所述多个字符间间隔中所选的一个的量化长度加上预定的量。
16.一种信息处理装置,包括用于分析文档图像的布局的装置,所述布局包括具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;和用于通过将所述多个字符间间隔中的每个的原始长度改变为最佳长度、以将附加信息嵌入到字符行中的装置,其中通过执行信息嵌入操作来获得最佳长度,所述信息嵌入操作包括步骤使用所述附加信息对所述多个字符间间隔中的每一个将原始长度转换为量化长度;和将布置数加到量化长度上以生成所述多个字符间间隔中的每一个的相加后的量化长度。
17.如权利要求16所述的装置,其中,所述多个字符间间隔中的每一个的量化长度使用常数来近似相应的原始长度。
18.如权利要求17所述的装置,其中,所述布置数设置在由常数确定的范围内。
19.如权利要求16所述的装置,其中,相加后的量化长度被用作最佳长度。
20.如权利要求16所述的装置,其中,所述信息嵌入操作还包括步骤获得表示所述多个字符间间隔中的每一个的原始长度和相加后的量化长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据该确定结果调整所述多个字符间间隔中的至少一个的相加后的量化长度,以使所述累加值在该范围内,其中经调整的相加后的量化长度用作最佳长度。
21.一种信息处理装置,包括用于分析文档图像的布局的装置,所述布局包括具有多个字符间间隔的字符行,每个所述字符间间隔具有提取长度;和用于从所述多个字符间间隔中的每个的提取长度中提取附加信息的装置,其中通过执行信息嵌入操作来生成文档图像,所述信息嵌入操作包括步骤从原始文档图像中提取具有原始长度的字符间间隔;使用要嵌入到字符间间隔中的原始附加信息将原始长度转换为量化长度;确定原始长度和量化长度之间的差是否在由阈值所确定的范围内,以生成确定结果;和根据所述确定结果调整字符间间隔的量化长度。
22.如权利要求21所述的装置,其中,所述提取装置还生成检测结果,该检测结果指示所提取的附加信息是否匹配原始附加信息。
23.一种信息处理装置,包括用于分析文档图像的布局的装置,所述布局包括具有多个字符间间隔的字符行,每个所述字符间间隔具有提取长度;和用于从所述多个字符间间隔中的每个的提取长度中提取附加信息的装置,其中通过执行信息嵌入操作来生成文档图像,所述信息嵌入操作包括步骤从原始文档图像中提取具有原始长度的字符间间隔;使用要嵌入到字符间间隔中的原始附加信息将原始长度转换为量化长度;和生成布置数的序列,其中将所述布置数之一加到相应量化长度上。
24.如权利要求23所述的装置,其中,所述提取装置还生成检测结果,该检测结果指示所提取的附加信息是否匹配原始附加信息。
25.如权利要求23所述的装置,其中,所述提取装置执行信息提取操作,包括步骤生成余数值的序列,每个余数值是从相应的提取长度获得的。
26.如权利要求25所述的装置,其中,所述信息提取操作还包括步骤将余数值的序列与布置数的序列进行比较,以生成比较结果,其中以由比较结果确定的顺序提取所述附加信息。
27.如权利要求25所述的装置,其中,所述信息提取操作还包括步骤对所述多个字符间间隔中的每一个,给余数值分配标签;和根据所分配的标签,确定余数值的序列是否匹配布置数的序列。
28.一种信息处理装置,包括处理器;被配置来存储多个指令的存储设备,当被处理器激活时,使得所述处理器执行包括下述步骤的信息嵌入操作从原始文档图像中提取具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;使用附加信息对所述多个字符间间隔中的每一个将原始长度转换为量化长度;获得表示所述多个字符间间隔中的每一个的原始长度和量化长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据所述确定结果调整多个字符间间隔中的至少一个的量化长度,以使累加值在该范围内。
29.如权利要求28所述的装置,还包括输入设备,其被配置来输入所述附加信息。
30.如权利要求29所述的装置,还包括输出设备,其被配置来输出包括具有所述多个字符间间隔的字符行的文档图像,每个所述字符间间隔具有经调整的量化长度。
31.一种信息处理装置,包括处理器;被配置来存储多个指令的存储设备,当被处理器激活时,使得所述处理器执行包括下述步骤的信息嵌入操作从原始文档图像中提取具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;使用附加信息对所述多个字符间间隔中的每一个将原始长度转换为量化长度;和将布置数加到量化长度上以生成所述多个字符间间隔中的每一个的相加后的量化长度。
32.如权利要求31所述的装置,还包括输入设备,其被配置来输入所述附加信息和所述布置数中的至少一个。
33.如权利要求32所述的装置,还包括输出设备,其被配置来输出包括具有所述多个字符间间隔的字符行的文档图像,每个所述字符间间隔具有相加后的量化长度。
34.如权利要求28所述的装置,其中,存储设备被配置来进一步存储多个指令,当被处理器激活时,使得所述处理器执行包括下述步骤的信息提取操作从文档图像中提取具有提取长度的至少一个字符间间隔;使用提取长度计算所提取的附加信息;和检测所提取的附加信息是否与附加信息匹配。
35.如权利要求31所述的装置,其中,存储设备被配置来进一步存储多个指令,当被处理器激活时,使得所述处理器执行包括下述步骤的信息提取操作从文档图像中提取具有提取长度的至少一个字符间间隔;使用提取长度和布置数计算所提取的附加信息;和检测所提取的附加信息是否与附加信息匹配。
36.一种用于将附加信息嵌入文档图像中的方法,包括从文档图像中提取具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;使用所述附加信息对所述多个字符间间隔中的每一个将原始长度转换为量化长度;获得表示所述多个字符间间隔中的每一个的原始长度和量化长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据所述确定结果调整所述多个字符间间隔中的至少一个的量化长度,以使累加值在该范围内。
37.一种用于将附加信息嵌入文档图像中的方法,包括步骤从文档图像中提取具有多个字符间间隔的字符行,每个所述字符间间隔具有原始长度;使用所述附加信息对所述多个字符间间隔中的每一个将原始长度转换为量化长度;和将布置数的序列加到所述多个字符间间隔的量化长度上。
38.一种存储计算机指令的计算机可读介质,用于执行包括下述步骤的信息嵌入操作分析文档图像的布局,所述布局包括具有原始行长度的字符行,所述字符行包括多个字符间间隔,每个所述字符间间隔具有原始长度;对所述多个字符间间隔中的每一个将原始长度转换为量化长度,以将所述字符行的原始行长度改变为量化行长度;获得表示原始行长度和量化行长度之间的差的累加值;确定该累加值是否在由阈值所确定的范围内以生成确定结果;和根据所述确定结果调整所述多个字符间间隔中的至少一个的量化长度,以使累加值在该范围内。
39.一种存储计算机指令的计算机可读介质,用于执行包括下述步骤的信息嵌入操作分析文档图像的布局,所述布局包括具有原始行长度的字符行,所述字符行包括多个字符间间隔,每个所述字符间间隔具有原始长度;对所述多个字符间间隔中的每一个将原始长度转换为量化长度,以将所述符行的原始行长度改变为量化行长度;和生成布置数的序列,每个所述布置数被加到所述多个字符间间隔的相应一个量化长度上。
全文摘要
在本发明中,通过下列步骤将附加信息嵌入到文档图像中分析文档图像的布局,布局包括具有多个字符间间隔的字符行,每个字符间间隔具有原始长度;以及通过将多个字符间间隔中的每个的原始长度改变为最佳长度来将附加信息嵌入到字符行中。还可以从文档图像中提取附加信息。
文档编号G06F21/00GK1794299SQ20051012943
公开日2006年6月28日 申请日期2005年12月8日 优先权日2004年12月8日
发明者原崇之 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1