图像处理方法、图像处理装置、程序和记录介质的制作方法

xiaoxiao2020-7-22  2

专利名称:图像处理方法、图像处理装置、程序和记录介质的制作方法
技术领域
本发明一般涉及用于通过编码在数字内容中嵌入数字水印和在对嵌入到数字内容中的数字水印的解码过程中检测版权信息和/或伪造信息的图像处理方法、图像处理装置、程序、和记录介质。
背景技术
本发明处理数字内容,例如静止图像、运动图像、计算机程序和计算机数据的信息等。特别地,本发明提供了在以难于用灰度等级表达的数据格式来保存数据的情况下,对数字水印嵌入处理的有效技术。这样的数据的例子包括诸如人工图像这样的二进制图像和彩色图像,其仅仅允许使用特定颜色(例如,256色表示;也被称为限制色彩或索引颜色)。
数字信息能够很容易通过例如计算机来复制而不会降低质量。相反地,数字信息可以很容易地被重写和/或伪造。因此,在简单处理和/或操作下,数字信息很可能在没有允许的情况下被非法复制和再使用,或被部分改变,如此导致数字信息不能被作为摄影证据使用。
用于防止这样的问题的方法包括被称为数字水印或数据隐藏的方法。当例如数据图像这样的数字内容被正常重现时,数字水印是一种加入不可见信息的方法。
用于嵌入数字水印的方法大致可以分为以下两种类型。
(1)用于直接嵌入进内容数据的采样值的方法(2)用于嵌入进频率成分的方法在方法(1)中,当执行诸如压缩这样的处理时,很可能丢失嵌入的数据,但是处理的负荷是轻的。另一方面,在方法(2)中,在诸如压缩这样的处理中,嵌入的数据不容易丢失,但是嵌入和提取处理的负荷是重的。
在以难于用灰度等级表达的数据格式来保存数据的情况下,如仅仅允许使用特定颜色的二进制图像和彩色图像的情况下,将方法(2)应用于数字水印是困难的。因而,方法(1)通常被用于这种情况下的数字水印。如下面所描述,用方法(1)来实现本发明。
向数字内容中加入数字水印的预期目的包括,例如版权信息的记录;非法复制者信息的跟踪;IP地址历史的记录;非法复制(不可见/高容忍类型)的预防;伪造预防(不可见/低容忍类型)的应用;鉴别;保密通信;数字内容的备注和/或标签(可见/不可见类型,显示所有者)的嵌入;水印移除(可见/不可见类型,内容发布)的许可。
已经提出一种方法,向相机提供用于在拍照时嵌入相机的序列号、拍摄日期和时间以及同时创建电子签名的机制(参考“关于数字水印技术的研究报告(Research Report on Digital Watermark Techniques)”,日本电子工业发展协会,1993年3月以及“电子信息的合法复印的保护(Prevention of Illegal copy ofElectronic Information)”,“Nikkei Business”,第68-70页,1998年2月23日)。因此,除了对拍摄证据的伪造的检测之外,可以指定用于拍照的相机并确认拍摄照片时的日期和时间。仅仅通过电子签名技术就可以检测伪造。然而,随着水印技术的使用,可指定用于拍照的相机以及拍摄照片时的日期和时间,这对于防止伪造更有效。另外,通过增加嵌入的数字水印的信息量,可以提高了在指定伪造位置中的精确性。进一步地,在版权保护期间,嵌入更多的水印信息,当分析嵌入的信息时,信息的提取变得更容易,这些体现在效果上。
然而,数字水印的嵌入会降低嵌入数字水印的数字内容数据的质量。因此,尽可能减少图像质量的下降是很重要的,即使嵌入数据的数据量增加。
同时,在利用“人眼检测图像边缘部分的噪声小于图像平坦部分的噪声”的特征来在图像中直接嵌入数字水印的情况下,数字水印通常被嵌入在图像的边缘部分。但是,通常在图像区域中,边缘部分的区域比平坦部分的少。因此,当要嵌入的数字水印的信息量大时,图像质量明显降低。尤其当图像质量降级时,如人工创建的图像(例如,分类帐帐页、图形、或地图)轮廓被过分地影响、或图像的框架被分割或删除,那么原始图像的信息和/或意思可能会丢失。
也就是说,为了提高检测伪造和/或提取版权信息中的性能,最好尽可能地增加嵌入水印的信息量,同时尽可能地减少图像质量的下降。然而,嵌入水印的信息量越多,图像质量的下降的级别就越多。换句话说,在嵌入水印的信息量和图像质量的下降之间存在着折衷。

发明内容
本发明的主要目的是提供改进的和有用的图像处理方法、图像处理装置、程序、以及记录介质,其中上述的一个或多个问题被消除。
本发明的其它和更详细的目的是提供图像处理方法、图像处理装置、程序、以及记录介质,其根据数字图像拓扑保护法则嵌入数字水印,同时减少图像质量下降。
本发明的主要特征在于实现一种保持数字图像拓扑和显著边缘形状的码生成方法(拓扑保护法则)。
为了达到上述目的,根据本发明的一个方面,提供了一种图像处理方法,其包括步骤将数字内容分割成游程长度(run length),其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保存拓扑(topology)(第一拓扑保护法则)。
另外,根据本发明的另一方面,提供了一种图像处理装置,包括将数字内容分割成游程长度的分割部分,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息且同时保存拓扑(第一拓扑保护法则)的数字水印嵌入部分。
另外,根据本发明的另一方面,提供了一种能使计算机实现下列步骤的程序将数字内容分割成游程长度,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保存拓扑(第一拓扑保护法则)。
另外,根据本发明的另一方面,提供了一种记录有程序的计算机可读记录介质,该程序用于使得计算机实现步骤将数字内容分割成游程长度,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保存拓扑(第一拓扑保护法则)。
根据本发明的一个实施例,可以在减少图像质量下降的同时,在包括相同色彩的连续像素和有关图像中的所有像素色彩的部分中嵌入数字水印。
当结合下面的附图阅读时,从下面的详细描述中,本发明的其他目的、特征和优点将变得更加明显。


图1是示出根据本发明实施例的系统结构的示意图;图2A和2B示出用于说明嵌入数字水印信息的处理的流程图;图3A和3B示出用于说明提取数字水印信息的处理的流程图;图4A、4B和4C是用于说明根据第一实施例的数字水印的嵌入的图;图5是用于说明根据第二实施例的数字水印的嵌入的图;图6是用于说明根据第三实施例的数字水印的嵌入的图;图7是用于说明根据第四实施例的数字水印的嵌入的图;图8是用于说明根据第五实施例的数字水印的嵌入的图;图9是用于说明根据第六实施例的数字水印的嵌入的图;图10是用于说明根据第七实施例的数字水印的嵌入的图;及图11是用于说明根据第八实施例的数字水印的嵌入的图。
具体实施例方式
给出对用于表达根据本发明的数字水印的信息值的方法的描述。数字水印的信息值由游程长度表示。例如,在数字水印信息由水平游程长度的奇偶来表示的情况下(例如,当游程长度是偶数值时,数字水印1比特信息是OFF,以及当游程长度是奇数值时,数字水印1比特信息是ON),嵌入数字水印可以使游程长度的大小从原始游程长度的+1改变到-1像素。下面的方法A到C描述了用于确定改变值的方法。
A.用于改变原始游程长度-1像素的方法该方法应用于“要被嵌入的1比特信息值与原始游程长度的奇偶不匹配”的情况,以便两者匹配。然而,当原始游程长度值是1时,不能应用方法A,而是应用下面的方法C。
B.用于改变原始游程长度±0(没有改变)的方法该方法应用于“要被嵌入的1比特信息值匹配原始游程长度的奇偶,因此不需要改变原始游程长度”的情况。
C.用于改变原始游程长度+1的方法该方法应用于“要被嵌入的1比特信息值与原始游程长度的奇偶不匹配”的情况,以便两者匹配。然而,当相邻两边(左和右边)的游程长度值都是1时,不能应用该方法。在这种情况下,应用上述的方法A。
方法A或方法C可以应用于除了上述方法A和C所描述以外的其他情况。然而,为了尽可能地避免图像形状的(质量的)下降,根据下面的确定方法(A)和(B)来适当地使用方法A和C。
应当注意,下面的确定方法是基于特性“即使特定游程(下文称为“相关游程”)的游程长度值被改变,从减少图像质量下降的需求来说,已改变游程长度的邻近游程长度(相关游程的左边或右边)也需要被改变(通过使相关游程改变值的符号相反的增加或减少来改变)”。
(A)上述方法A应用于原始游程长度值比两个邻近游程长度值都大的情况(当原始游程长度值在三个值,即原始游程长度值和两个邻近游程长度值中最大时)。另外,要被改变的像素位于边界部分,该边界部分具有邻近游程长度值中较大的游程长度值(在边界部分上的一个像素被改变为邻近游程的像素值)。
这个描述为,当(Ll<Lt)和(Lr<Lt)时,从Lt中减去1,以及在Ll或Lr上加上1,其中,在原始图像的游程长度列表中-Ll...到目标游程的左边的游程长度(“l”表示“左”);-Lt...目标游程的游程长度(“t”表示“目标”);以及-Lr...到目标游程的右边的游程长度(“r”表示“右”)。
数字水印由Lt的奇偶来表示。Ll或Lr用于调节,分别使(Ll+Lt)=常数,或(Lt+Lr)=常数。
(B)方法C应用于除了在(A)中所描述以外的其他情况(当原始游程长度值不是三个值中最大的时,即,原始游程值和两个邻近游程长度值)。另外,要被改变的像素位于边界部分,该边界部分具有邻近游程长度值中的较大的游程长度值(邻近游程边界部分上的一个像素被改变为相关游程的像素值)。
这个描述为,当(Lt<Ll)或(Lt<Lr)时,在Lt上加上1,以及从Ll或Lr中减去1。
应当注意,可变数字水印信息不能在下面两种情况下被嵌入,即使是1比特,这是用于在一系列像素中嵌入数字水印的极端情况。
(1)所有游程长度值是1的情况(很多自然图像(照片)符合这种情况)(2)所有像素具有相同的色彩的情况(仅有单一组游程长度值)根据本发明的用于保护数字图像的拓扑的方法将图像分割成块,以及针对每个块实现唯一的拓扑保护功能。
拓扑保护的基本思想(不变的规则)是“相同色彩的像素区域(游程长度),是由具有相同色彩的连续像素构成,它禁止游程长度被分割以致在其中插入具有其他色彩的一个或更多像素,禁止要被嵌入其中的嵌套区域的新形成,以及禁止游程长度的删除”。
将图像分割成块的优点如下通过分割一个位置以嵌入信息来使以块为单位的管理变得简单;以及在允许平行处理的环境中,对每个块,水印嵌入处理和水印提取处理能被平行地执行,这加速了处理。
用于将图像分割成块的方法如下。
(1)在(1×n)像素中的线性(一维空间)块这个块是具有相同色彩的一系列像素以及被组织成称为游程长度的数据。具有水平长的游程长度和垂直长的游程长度。然而,在下文中,给出的描述是基于游程长度是水平长和线性游程长度的假设。在这种情况下,游程长度在水平(右和左)方向上被改变,以及水印值由值的奇偶来表示。进一步地,“n”是2的幂次数。同样地应用于下面的描述中。
在块与左或右邻近块之间的块边界部分上执行拓扑保护的情况下,当边界部分具有与邻近块边界相同的色彩时,块边界中的游程长度可以被设置为0。然而,在邻近边界部分内并具有相同色彩(对于穿过块边界的拓扑保护)的游程长度不可能同时被设置为0。
(2)(n×n)矩形块在这种情况下,可以采用上述游程长度的保护,或拓扑可以在两维区域内被保护而不用考虑游程长度的保护。
(3)由具有相同色彩的像素所环绕的同样色彩的独立区域因为可针对由相同色彩轮廓所环绕的每个区域执行管理,所以拓扑保护可以有效地减少图像质量的下降。然而,当边界部分的形状模糊时,处理变得复杂,而且很难执行高速处理。
如下所述在块边界中处理拓扑保护功能。
(1)通过限制每个块内的像素来保护拓扑的方法在这个方法中,独立执行对每个块的处理。因此,能够平行地执行以块为单位的处理。然而,块边界部分的图像质量稍微降低。
(2)考虑到从块边界部分到块边界部分外的像素值的连续性而进行的保护拓扑的方法在这个方法中,对每个块的独立处理被部分地调整。因此,不可能平行执行以块为单位的处理。然而,对于减少块边界部分中的图像质量的下降来说,这个方法是有效的。
(3)用于保护数字图像中的有效边缘形状的方法在例如分类帐帐页(ledger sheet)、图表、和地图这样的人工图像中,许多水平线、垂直线和斜线被用作在图像中非常重要的线。另外,CCD或显示装置的像素,相当于拍摄装置的像素,其被排列在水平方向或垂直方向。因此,基于该特性是重要的判断,通过改变像素值来嵌入数字水印,以便具有相同色彩的一系列连续像素没有破坏到水平线、垂直线、或斜线(当图像被扩展时,具有阶梯形状)的特性。
结合附图,给出了本发明实施例的详细描述。
图1显示了根据本发明一个实施例的系统结构。特别是,图1显示了编码/解码装置的示例性结构,该装置对数字图像执行编码(数字水印的嵌入)/解码(读取数字水印以及检测伪造)方法。
编码/解码装置包括控制部分(CPU)1、操作输入部分(键盘、鼠标)2、外部存储单元3、存储器4、图像拍摄部分5、显示部分6、用于从外部输入任意数据的数据输入部分7、用于嵌入数字水印的源数据产生部分8、拓扑保护处理部分9、数字水印嵌入部分10、图像再生部分11、数字水印读取部分12、用于显示检测到的伪造的伪造(颠倒)显示部分13以及总线14。应当注意,省略了上述每个部分(或装置)与总线14之间所需的接口的说明。
控制部分1是一个微型计算机(下文中简称为“CPU”,尽管它可以由例如CPU、ROM和RAM组成),其控制装置的操作和功能。图像拍摄部分5、数据输入部分7、源数据产生部分8、拓扑保护处理部分9、以及数字水印嵌入部分10、图像再生部分11、数字水印读取部分12和伪造显示部分13中的每个的功能可以由CPU处理的软件来实现。通过图像拍摄部分5、数据输入部分7、源数据产生部分8、拓扑保护处理部分9以及数字水印嵌入部分10来执行图像拍摄处理。通过图像再生部分11、数字水印读取部分12以及伪造显示部分13来执行图像再生处理。
操作输入部分2用于输入各种操作指令、功能选择指令、编辑数据等等。操作输入部分2可以是,例如键盘、鼠标或触摸板。特别是,当对嵌入数字水印的图像数据加密时或当读取加密的数字水印时,操作输入部分2被用于输入密钥。
操作输入部分2也包括作为显示选择装置的功能,以及能将显示部分6的显示状态改变为想要的显示状态。例如,采用键操作,数字水印读取结果可以迭加在输入图像数据上被显示出来,或者仅仅选择和显示它们中的一个。
外部存储单元3是存储介质,其能够从装置中弹出以及存储例如由图像拍摄部分5拍摄的图像数据、通过数字水印嵌入部分10嵌入水印的压缩数据以及由数字水印读取部分12检测到的伪造部分的数据。外部存储单元3可以是例如软盘(FD)、磁光盘(MOD)。另外,外部存储单元3也起到记录控制部分1所执行的程序软件的作用。
存储器4是存储例如由图像拍摄部分5读取的图像数据和由图像再生部分11通过读取和解压缩来产生的图像数据、嵌入数字水印的保存数据的存储器。存储器4可以是例如大容量RAM或硬盘。
图像拍摄部分5是图像数据输入装置,用于扫描例如照片或被设置的分类帐帐页,从中读取图像以及输入图像数据。因此图像拍摄部分5可以是例如已知的图像扫描仪或数码相机,其包括例如扫描光学系统和CCD的图像传感器及其驱动电路。
数据输入部分7是用于输入源信息和用于伪造检测和版权保护的嵌入信息的装置,该源信息用于嵌入作为数字水印的数字内容的辅助信息。输入的数据存储在存储器4中,并被发送给源数据产生部分8。
源数据产生部分8加密或编码由数据输入部分7输入的数据。在处理之后,数据被存储在存储器4中,并被发送给数字水印嵌入部分10。
数字水印嵌入部分10执行作为数字水印的数据的嵌入处理,其中该数据由数据输入部分7输入、由源数据产生部分8编码(加密)、并在存储器4中存储。
另外,当嵌入数字水印的时候,数字水印嵌入部分10将原始数据分割成多个块。根据用于处理作为单一游程(游程长度)的一系列(在水平方向或垂直方向上)连续的相同色彩的像素的方法,数字水印嵌入部分10也执行将整个图像转换成游程列表的处理。如下描述,图2A和2B显示了用于说明在图像拍摄期间嵌入数字水印处理的流程图。
拓扑保护处理部分9是用于在数字水印嵌入部分10中控制将源数据产生部分8产生的数据嵌入到数字内容中的位置的装置,以便尽可能地减少图像质量的下降。
例如,由于可用色彩数目的限制,在中性色彩(模糊色彩,例如灰度)不能被表达的条件下嵌入数字水印的情况中,根据能够保护所选择的拓扑的嵌入方法,可以仅仅在适合减少图像质量下降的部分嵌入数字水印。这种情况下的例子包括例如文档、图画、插图(漫画)和地图的人工图像。参考图4到10给出在拓扑保护处理部分9中的处理的详细描述。
图像再生部分11执行用于读取数据的控制,该数据包括由数字水印嵌入部分10嵌入并保存在例如外部存储单元3中的数字水印。所读取的图像被存储在存储器4中。
数字水印读取部分12从图像数据中读取数字水印,该图像数据通过图像再生部分11从存储器4中再现并在其中嵌入数字水印。依赖于数字水印是否能被读取,数字水印读取部分12确定图像是否是伪造和/或版权保护信息是否有效。
另外,在数字水印读取处理之前,数字水印读取部分12将嵌入数字水印的图像分割成多个块。根据用于处理作为单一游程(游程长度)的一系列(在水平方向或垂直方向上)连续的相同色彩的像素的方法,数字水印读取部分12也执行将整个图像转换成游程列表的处理。如下所述,图3A和3B显示了用于说明当再现图像时提取数字水印信息处理的流程图。
当确定通过数字水印读取部分12读取的结果是伪造的时候,伪造显示部分13通过反转显示和/或用黑色填充区域来显示对应的区域。
图4A、4B和4C是用于说明根据本发明第一实施例所述的数字水印嵌入的框图。参考图4A、4B和4C,给出了在同一行上嵌入数字水印的情况下拓扑保护规则的描述。
在图4A中,(a)代表原始图像,(b)代表嵌入数字水印的图像,及图底部所示的圈(○)表示是否满足拓扑保护法则(○表示“是”)。图4A-(a)表示由例如8比特量化的一行的图像数据的游程长度的一部分。换句话说,在图4A-(a)中所示的游程长度包括四种色彩的游程长度,即游程长度a(例如具有5个像素的长度且每个像素值是100),游程长度b(例如具有1个像素的长度且像素值是0),游程长度c(例如具有5个像素的长度且每个像素值是255),以及游程长度d(2个像素的长度且每个像素值是50)。应当注意,游程长度信息保存在图中未示出的块中。
图4显示了在没有删除游程长度(对应于标记游程长度0)或最新加入游程长度(最新创建具有等于或大于1的值的游程长度信息)的情形下嵌入数字水印,以便在同一行内的拓扑不被改变的情况。
假设比特0赋值给具有偶数长度的游程长度,以及比特1赋值给具有奇数长度的游程长度。
然后,在图4A所示的情况下,因为被嵌入的数字水印信息是“0001”,和原始图像(图4-(a))的游程长度的队列是“5奇数”→“1奇数”→“5奇数”→“2偶数”,所以通过嵌入数字水印信息改变了目标游程的四个连续游程长度。
换句话说,在图4A-(b)中,具有五个像素长度的游程长度a减少一个像素的长度而成为具有四个像素长度的游程长度a′。具有一个像素长度的游程长度b增加了一个像素长度而变成具有两个像素长度的游程长度b′。具有五个像素长度的游程长度c增加了一个像素长度而变成了具有六个像素长度的游程长度c′。具有两个像素长度的游程长度d减少了一个像素长度而变成了具有一个像素长度的游程长度d′。以上述方式,从原始图像(a)中产生保护拓扑的图像(b)。图像(b)的游程长度是a′=4;b′=2;c′=6;以及d′=1。当比特0赋值给具有偶数长度的游程长度,而比特1赋值给具有奇数长度的游程长度时,产生嵌入数字水印信息“0001”的图像(b)。注意,增加或减少的像素数目应等于一个像素,以便减少图像质量的下降。
图4B显示了拓扑没有被保护的情况。在图4B中,(a)表示原始图像,(b)表示嵌入了数字水印的图像,以及图底部所示的圈(○)和叉(×)表示是否满足拓扑保护法则(○表示“是”和×表示“否”)。图4B显示在相同行中的相同色彩的游程长度的超出或不足。在图4B中的原始图像的游程长度与图4A中的原始图像(a)相同(也就是说,两者的原始图像(a)具有规则从左到右“奇数”→“奇数”→“奇数”→“偶数”)。在图4B中,(b)表示图像,在该图像中通过增加游程长度a一个像素和减少游程长度c一个像素来嵌入数字水印。因为游程长度b被删除且游程长度e′是新创建的,所以拓扑没有被保护,而嵌入数字水印的图像(b)被确定为无效。
在这里,“同一行上的相同色彩的游程长度中的超出和不足的情况”如下所述。对在图4B中的原始图像(a)的游程和图像(b)的游程之间的对应关系来说,存在不一致(在图4B中由叉(×)表示的部分)。另外,参考图4C,对原始图像(a)的游程和嵌入数字水印的图像(b)的游程之间对应的关系来说,也存在不一致。因此,图4C显示了“在同一行上的相同色彩的游程长度的超出和不足的情况”的另外一个例子。
另一方面,在图4A中的原始图像(a)的游程与图像(b)的游程间的对应关系之间是匹配的。也就是说,在图4A中由圈(○)所示那样,在图像(a)和(b)之间由游程所表示色彩的队列是相同的。同样,在图像(a)和(b)之间的游程数目没有改变,在图像(a)和(b)之间仅仅改变了每个游程的长度。
给出关于如何确定某个情况是否对应于“在同一行上的相同色彩的游程长度中存在超出和不足的情况”的描述。
一旦产生嵌入数字水印的图像,在很多情况下原始图像被丢弃(删除)。因此,仅仅在嵌入数字水印时可以肯定地确定在相同色彩的游程长度中是否超出或不足。在这种情况下,通常嵌入数字水印的图像被用作新的原始图像。确切地说,新的原始图像和原始图像是不同的,但是新的原始图像包括作为隐藏信息的附加信息,同时保持原始图像的原始功能。
在嵌入数字水印中的处理方法对应于图2A中的步骤9。处理方法可以例如如下面所述来实现。
处理方法从最左向右逐一处理像素,同时分析原始图像。
i)用于确定游程末端的方法(1)如果要嵌入数字水印的目标像素的像素值与同一行中的左侧相邻像素的像素值相同,那么确定为目标像素和左侧相邻像素是在游程中间。
(2)如果目标像素的像素值与同一行中的左侧相邻像素的像素值不同,那么确定为游程的末端(中断)存在于目标像素和左侧相邻像素之间。
ii)调整游程长度的方法移动上述i)-(2)项所描述游程末端的位置。例如,将目标游程的右侧末端向左移动一个像素对应于从游程a到游程a′的变化,这些分别由图4A中(a)和(b)所表示。构成游程a的最右侧像素被改变为构成右侧相邻游程b的像素。
在这种情况下,当一个末端被移动时(例如,向左或右移动一个像素),末端两侧上的游程长度被同时改变(在图4A中,a→a′和b→b′)。
上述处理方法的进一步的详细描述在后面给出。
图4C也显示了拓扑没有被保护的情况。更确切地说,图4C显示了在同一行的相同色彩的游程长度中插入或删除新的游程长度的情况。在图4C中,(a)表示原始图像,(b)表示嵌入数字水印的图像,以及圈(○)和叉(×)表示是否满足拓扑保护法则(○表示“是”和×表示“否”)。
参考图4C中的图像(b),通过嵌入数字水印,新创建(插入)游程长度f以及删除游程长度g。从而,拓扑没有被保护。因此,在图4C的图像(b)中的数字水印被确定为无效。
图5是用于说明根据第二实施例的数字水印的嵌入的框图。参考图5,给出了关于在块边界部分保护拓扑的数字水印嵌入方法的描述。
在块边界部分存在于原始图像的行1(在图5中由(a)所表示)的游程长度C和C′(每个具有一个像素长度)之间的情况中,因为游程长度C和C′具有相同色彩,即使游程长度C和C′中的一个被删除,拓扑也能被保护并能有效执行数字水印嵌入处理。可以通过扩展游程长素B一个像素以便删除游程长度C或通过扩展游程长度D一个像素以便删除游程长度C′,来删除游程长度C和C′中的一个。此外,通过不假设游程长度C和C′具有相同色彩,即使它们是相同的(没有构成连续性有效),在没有执行上述游程长度C或C′的删除的情况下,可以执行允许游程长度C或C′扩展一个像素的处理。
在块边界部分存在于原始图像的行2(在图5中由(b)表示)的游程长度c和d(每个具有一个像素长度)之间的情况下,因为游程长度c和d没有相同色彩,所以游程长度c和d都不可以删除。游程长度c可以向游程长度d扩展一个像素,以及游程长度d可以向游程长度e扩展一个像素。
图6是用于说明根据第三实施例的数字水印嵌入的方框图。参考图6,给出了关于在彼此堆叠的相邻行之间保护拓扑的数字水印嵌入方法的描述。在图6中,(a)表示两行的原始图像,即,行1和行2,以及(b)表示数字水印有效的情况。虽然行1的游程长度C被扩展了一个像素,但维持(拓扑被保护)行1的游程长度C和行2的游程长度d之间的连续性。应当注意,在图6中,为了说明简便,没有改变游程长度A、B、a、b、c和e的长度。
另一方面,(c)表示行2的游程长度c和行1的游程长度D被扩展一个像素的情况。在这种情况下,游程长度C和d不是连续的,这与原始图像(a)不同。因此,拓扑没有被保护,以及处理被确定为是无效的。
图7是用于说明根据第四实施例所述数字水印嵌入的方框图。参考图7,给出了用于在彼此堆叠的相邻行之间保护拓扑的同时嵌入数字水印的方法的描述。图7显示了四个相邻行的情况。在图7中,(a)表示原始图像,(b)表示嵌入数字水印的图像,以及图底部所示圈(○)和叉(×)分别表示有效性和无效性。参考图像(b),因为行2的游程长度B被扩展了一个像素,所以游程长度C变得与原始图像的游程长度不同。在游程长度D中的连续性被维持(拓扑被保护)。然而,游程长度C的连续性被行2破坏。因此,拓扑没有被保护,以及处理被确定为是无效的。
图8是用于说明根据第五实施例的数字水印嵌入的方框图。参考图8,给出了用于在拓扑被保护的同时在目标块中嵌入一个要被嵌入的像素的方法的描述。在图8中,(a)表示原始图像,以及(b)表示嵌入数字水印的图像。
在图8中的原始图像(a)中,D表示由相同色彩的像素形成的块,A表示在块D中并由要嵌入数字水印的像素所组成的区域。在图8中的图像(b)中,B表示具有与区域A相同色彩以及当嵌入数字水印时所加入的像素(一个像素),C表示当嵌入数字水印时所删除的具有与区域A相同色彩的像素(一个像素),以及删除的像素由块D中的像素所替代。
应当注意,在上述情况中,当嵌入像素B时,如果像素B与块D的轮廓相接触,那么拓扑没有被保护,以及处理被确定为无效。但当嵌入像素B时,如果像素B与块D的轮廓相接触,为了保护拓扑,块D的轮廓可以被移动(改变),以便轮廓不能与像素B相接触。
图9是用于说明根据第六实施例的数字水印嵌入的方框图。参考图9,给出了为了防止图像质量下降而在没有改变要嵌入数字水印的区域的形状的情况下嵌入水印的方法的描述。在图9中,(a)表示原始图像,以及(b)表示嵌入数字水印的图像。
在图9中的原始图像(a)中,A表示要嵌入数字水印的块,以及B表示要嵌入数字水印的像素区域。区域B具有阶梯形状。参考图9中的图(b),区域B中的每个游程长度被扩展了一个像素以形成区域B′,并嵌入象区域a和b那样的数字水印。因此,原始图像(a)的区域B的形状和图像(b)的区域B′的形状相似。因此,图像质量的下降不可能是显著的。例如,仅仅在区域a中嵌入数字水印的情况下,区域B的形状(凹状和凸状)和区域B′的形状是不同的(不相似的),其导致图像质量的下降。
图10是用于说明根据第七实施例的数字水印嵌入的方框图。参考图10,给出了为了防止图像质量下降而在没有改变要嵌入数字水印的区域形状的情况下嵌入水印的第二种方法的描述。
在图10中,(a)表示包括行1和行2的游程长度的原始图像,(b)表示在有效数字水印嵌入处理之后的图像,以及(c)表示在无效数字水印嵌入处理之后的图像。
参考图10中的(b),行2的游程长度b被扩展一个像素,以及行1的游程长度C被扩展一个像素,从而嵌入数字水印。比较图像(a)和(b)之间嵌入数字水印的部分,可以发现原始图像(a)的特性(行1和行2之间的等级上的差异(A和a以及B和b))在图像(b)上被维持。因此处理是有效的。
另一方面,参考图像(c),存在于原始图像(a)中的游程长度A和a之间的等级上的差异消失。另外,在原始图像(a)中不存在的等级上的差异出现在游程长度B和b之间以及游程长度C和c之间。因此原始图像(a)的特性被丢失,以及处理是无效的。
图11是显示根据本发明另一实施例的数字水印嵌入的方框图。在图11中,(a)表示原始图像,以及(b)表示嵌入数字水印的图像。
图11中的原始图像(a)的像素排列与图4A中的原始图像(a)的像素排列是相同的。因此,游程长度的列表也是相同的(“5奇数”→“1奇数”→“5奇数”→“2偶数”)。
参考图11,因为嵌入了作为数字水印的信息“0100”,因此嵌入的数字水印通过改变第一和第三游程长度来实现,致使游程长度变为“4偶数”→“1奇数”→“6偶数”→“2偶数”,以免删除或新加入一个游程长度,并不改变同一行中的拓扑。图4A显示所有游程长度被改变(从奇数值到偶数值,或从偶数值到奇数值)的情况,而图11显示仅仅游程长度的一部分被改变的情况。
接下来,参考图2A和2B,给出了当拍摄图像时嵌入数字水印信息的处理的描述。
在步骤S1中,生成一个键输入以确定选择功能(由例如键盘产生一个输入),以及为了接下来的处理将输入保存在存储器中。
(1)要被嵌入作为数字水印的信息预先被密钥(例如,密码)加密,由此使其更难读取嵌入的信息。然而,并不总是需要在加密之后嵌入数字水印。可以选择是否加密信息。
(2)用于设置块分割方法DevVar的输入,其用作选择如下所述处理之一的指令。当给出DevVar=0(矩形)的指令时(在步骤S3中的是),要嵌入数字水印的图像被分割成矩形块(步骤S4)。另外,当给出DevVar=1(相同色彩的轮廓可以被改变)的指令时(在步骤S3中的否),图像被分割成由相同色彩的轮廓所环绕的块(步骤5)。在这种情况下,在步骤S15之后,处理继续进行到步骤S16。此外,当给出DevVar=2(相同色彩的轮廓不能被改变)的指令时(步骤S3中的否),图像被分割成由相同色彩的轮廓所环绕的块(步骤5)。在这种情况下,在步骤S15之后,不执行步骤S16的处理。
(3)用于设置BdrWM的输入,其确定是否执行依赖于块边界部分中的像素间的连续性的处理,其用作选择步骤S13后面的处理指令。也就是说,当BdrWM=1时(步骤S13中是),数字水印嵌入处理被执行,其依赖于在块边界部分中的相同色彩的像素间的连续性(步骤S14)。同样,确定是否改变由相同色彩的轮廓所构成的块边界行。当需要时,执行改变处理。
(4)用于设置SynMesh的输入,其确定嵌入同步方法,用作选择步骤S8之后的处理指令以及步骤S10之后的处理的指令。
(5)用于设置HarmWM的输入,其确定是否执行列出游程长度的数字水印嵌入,用作确定步骤S17之后的处理的指令。
这是是否在下列情况中将水平游程值的改变量(±1或0)设置为相同值(同步值)是选择功能即在原始图像中,在其中具有相同色彩以及其起点或终点具有相同值的水平游程被排列在垂直方向上的部分中嵌入数字水印。被嵌入到对应于要被调整(同步)一组游程的部分的数字水印的信息量仅仅是每个部分1比特。用于减少图像质量的下降。
在步骤S2中,拍摄对象被读取作为多级图像,其作为要嵌入数字水印的原始图像,并存储在存储器4中。图像可以是二进制图像。
在步骤S3中,根据在步骤S1中设置的块分割方法DevVar来确定随后的处理流程。当DevVar=0时(在步骤S3中的是),处理进行到步骤S4,把块分割成矩形块。另一方面,当DevVar≠0时(在步骤S3中的否),处理进行到步骤S5,把块分割成除矩形以外的形状。
由固定块大小的块执行把块分割成矩形块的步骤S4,其中固定块的大小不受图像中像素值的影响。
在步骤S5中,要嵌入数字水印的图像被分割成具有相同色彩的轮廓的块。图8显示一个被分割的块以及在其中嵌入数字水印的情况。公知的方法可以被用来作为块分割方法。
在步骤S6中,确定以块为单元的数字水印嵌入处理是否已经结束。如果在步骤S4或S5(在步骤S6中的YES)中分割的所有块上已经执行了针对每个块的处理(步骤S8到S19),那么处理进行到步骤S7。另一方面,如果在所有块上的处理没有执行完(在步骤S6中的NO),那么处理进行到S8。
步骤S7对应于数字水印嵌入处理完成之后的处理。在步骤S7中,被嵌入数字水印的图像被保存为文件。所述图像被保存在存储器4中或外部存储单元3中。
步骤S8是数字水印嵌入过程的一个处理,该处理将在每个块上被执行。在步骤S8中,基于嵌入同步方法SynMesh,所述方法在步骤S1中被设置,执行关于在块内嵌入数字水印方法的第一标识。当选择“在每行上独立执行(SynMesh=0)”作为嵌入同步方法时(在步骤S8中的是),处理进行到步骤S9。在另外的情况下(在步骤S8中的否),处理进行到步骤S10,其执行下一个标识处理。
在步骤S9中,基于嵌入同步方法是“在每行上独立执行(SynMesh=0)”的事实,执行数字水印嵌入处理(参见图4和11)。另外,通过提出图10中的限制(在流程图中其说明被省略),可以减少了图像质量的下降。
给出了嵌入数字水印过程的处理流程的描述,该处理涉及图4和11。
对图像的每行来说,游程长度从左坐标到右像素游程顺序地被组成数字水印信息的情况下的处理过程如下。
其中,法则C是为了满足拓扑保护法则和禁止图像行宽变化的法则所提出的法则。
A.从最左游程向右方确定游程长度B.当嵌入1比特数字水印信息时,如果在要嵌入数字水印的目标游程中的游程长度由Lt表示,以及右相邻游程的游程长度由Lr表示,(A)当嵌入的1比特信息的值(偶数值或奇数值)=Lt的值(偶数值或奇数值)时,Lt和Lr未被改变
(B)当嵌入的1比特信息的值(偶数值或奇数值)≠Lt的值(偶数值或奇数值)时,a.如果Lt≤Lr,执行Lt+1和Lr-1b.如果Lt>Lr,执行Lt-1和Lr+1c.Lt=1不作为数字水印信息...在下面的情况中,它由1^表示。
给出下述情况下的描述,例如,要嵌入的作为数字水印的信息(嵌入信息)和原始图像的游程长度如下(相关部分用下划线加重)。
-嵌入信息的比特队列101110...以嵌入顺序排列-要嵌入数字水印的原始图像的游程长度的队列413123423i)嵌入信息的第一比特值被嵌入之后的图像状态323123423ii)嵌入信息的第二比特值被嵌入之后的图像状态没有变化323123423iii)嵌入信息的第三比特值被嵌入之后的图像状态没有变化323123423iv)嵌入信息的第四比特值被嵌入之后的图像状态3231^32423v)嵌入信息的第五比特值被嵌入之后的图像状态3231^33323vi)嵌入信息的第六比特值被嵌入之后的图像状态3231^33233给出用于嵌入数字水印的处理方法的描述,该处理方法涉及图10。
假设图像的每行中的像素的队列由游程长度来表示,以及如上述图4和11的描述,目标游程长度由Lt表示,而右相邻游程长度由Lr表示。数字水印由Lt的值表示(不管它是偶数值还是奇数值),以及Lr用于调节,以便满足(Lt+Lr)=常数。
当以像素为单元表示的时候,在Lt的值与想要的数字水印比特值不匹配的情况下,将Lt的最右像素Ite的值改变为Lr的最左像素Irs的值(当然,Ite的值≠Irs的值),或者将像素Irs的值改变为像素Ite的值。
靠近像素Ite和Irs的像素被表示如下。
-包括像素Ite和Irs的行(目标行)上面的行中的像素队列Iu-,Iu0,Iu1,Iu2...每个表示一个像素-目标行中的像素的队列It-,Ite,Irs,Irs...每个表示一个像素-目标行下面行中的像素的队列Id-,Id0,Id1,Id2...每个表示一个像素基于上述假设,满足图10的条件可以是下面两种情况的任何一个。
A.在图像内的边缘部分构成垂直线的下面四种情况中,不能做出变化(因为可能会破坏边缘部分的垂直线)。
a.当Iu1=Irs和Iu0≠Irsb.当Id1=Irs和Id0≠Irsc.当Iu0=Ite和Iu1≠Ited.当Id0=Ite和Id1≠IteB.在图像内的边缘部分具有阶梯形状的下面八种情况中,可以做出变化(因为能维持边缘部分的阶梯形状)。
(A)从右顶端向左下部形成的阶梯形状的情况a.当将Ite的值改变为Irs的值时(应当假设It-=Ite)(a)当Ite-=Iu-=Iu0=Iu1以及Ite≠Id-和Ite≠Id0时(b)当Irs=Id-=Id0=Id1以及Irs≠Iu0和Irs≠Iu1时b.当将Irs的值改变为Ite的值时(应当假设Irs=Ir2)(a)当Ite=Iu0=Iu1=Id2以及Ite≠Id0和Ite≠Id1时(b)当Irs=Id0=Id1=Id2以及Irs≠Iu1和Irs≠Iu2时(B)从左顶端向右底部形成阶梯形状的情况a.当将Ite的值改变为Irs的值时(应当假设It-=Ite)(a)当Ite=Id-=Id0=Id1以及Ite≠Iu-和Ite≠Iu0时(b)当Irs=Iu-=Iu0=Iu1以及IrS≠Id0和Irs≠Iu1时b.当将Irs的值改变为Ite的值时(应当假设Irs=Ir2)
(a)当Ite=Id0=Id1=Id2以及Ite≠Iu0和Ite≠Iu1时(b)当Irs=Iu0=Iu1=Iu2以及Irs≠Id1和Irs≠Id2时步骤S10是数字水印嵌入处理的一个处理,对每个块执行该处理。在步骤S10中,基于在步骤S1中设置的嵌入同步方法SynMesh,对块执行关于数字水印嵌入方法的下列标识。当为嵌入同步方法而选择“依赖于相邻行(目标行上面的行和目标行下面的行)的像素值状态而执行(SynMesh=1)”时(步骤S10中的是),处理进行到步骤S11。另一方面,在另外的情况中(步骤S10中的否),假设选择“依赖于在两维平面中具有相同色彩的像素之间的连续性而执行(SynMesh=2)”作为嵌入同步方法,处理进行到步骤S12。
在步骤S11中,基于嵌入同步方法是“依赖于相邻行(目标行上面的行和目标行下面的行)像素值状态而执行(SynMesh=1)”的事实,执行数字水印嵌入处理(参见图6)。另外,通过提出图10中的限制(在流程图中其说明被省略),有可能减少了图像质量的下降。
给出用于嵌入数字水印的处理方法的描述,该处理方法涉及图6。
假设图像的每行中的像素的队列由游程长度表示,以及如上面步骤S9所描述,目标游程长度由Lt表示,而右相邻游程长度由Lr表示。数字水印由Lt的值表示(无论它是偶数值还是奇数值),以及Lr用于调节,以便满足(Lt+Lr)=常数。
当以像素为单元表示时,在Lt的值与想要的数字水印比特值不匹配的情况中,将Lt的最右像素Ite的值改变为Lr的最左像素Irs的值(当然,Ite的值≠Irs的值),或者将像素Irs的值改变为像素Ite的值。
靠近像素Ite和Irs的像素按如下表示。
-在包括像素Ite和Irs的行(目标行)上面的行中的像素队列Iu-,Iu0,Iu1,Iu2...每个表示一个像素-在目标行中的像素队列....Ite,Irs,.......每个表示一个像素-在目标行下面的行中的像素队列Id-,Id0,Id1,Id2...每个表示一个像素满足图6的条件可以是基于上述假设的下面两种情况的任何一个。
A.对Lt-1和Lt+1是否能被执行而言(Ite的值是否能被改变为Irs的值),在下面的条件下这都不能被执行。
Lt≤1或(Iu0=Ite和Iu-≠Ite)或(Id0=Ite和Id-≠Ite)或(Iu0=Irs和Iu1≠Irs)或(Id0=Irs和Id1≠Irs)B.对Lt+1和Lr-1是否能被执行而言(Irs的值是否能被改变为Ite的值),在下面的条件下这都不能被执行。
Lr≤1或(Iu1=Ite和Iu0≠Ite)或(Id1=Ite和Id0≠Ite)或(Iu1=Irs和Iu2≠Irs)或(Id1=Irs和Id2≠Irs)在步骤S12中,基于嵌入同步方法是“依赖于在两维平面中具有相同色彩的像素之间的连续性而执行(SynMesh=2)”的事实,执行数字水印的嵌入处理(参见图7)。
给出用于嵌入数字水印的处理方法的描述,该处理涉及图7。
假设图像每行中的像素队列由游程长度表示,以及如上面步骤S9所描述,目标游程长度由Lt表示,而右相邻游程长度由Lr表示。数字水印由Lt的值表示(无论它是偶数值还是奇数值),以及Lr用于调节,以便满足(Lt+Lr)=常数。
当以像素为单元表示时,在Lt的值与想要的数字水印比特值不匹配的情况中,将Lt的最右像素Ite的值改变为Lr的最左像素Irs的值(当然,Ite的值≠Irs的值),或者将像素Irs的值改变为像素Ite的值。
靠近像素Ite和Irs的像素按如下表示。
-在包括像素Ite和Irs的行(目标行)上面的行中的像素队列Iu-,Iu0,Iu1,Iu2...每个表示一个像素-在目标行中的像素队列It-,Ite,Irs,Ir2...每个表示一个像素-在目标行下面的行中的像素队列Id-,Id0,Id1,Id2...每个表示一个像素基于上述假设,依赖于Lt-1和Lr+1是否能被执行(Ite的值是否能被改变为Irs的值)而考虑满足图7的那些条件,在下面的五种情况中,确定这样的改变不能被执行。
A.当It-≠Ite时,在下面的任何情况中(A)当Ite的值不同于四个相邻像素的值(Iu0,It-,Id0和Irs)时(B)当It=Ite=Id0时B.当It-=Ite时,在下面的任何情况中(A)Iu0=Ite和Iu-≠Ite(B)Id0=Ite和Id-≠IteC.当Iu1≠Irs时,当Iu0=Irs时D.当Id1≠Irs时,当Id0=Irs时E.当It-=Irs时,当不满足下面条件的任何一个时(A)Irs=Iu1=Iu0=Iu-(B)Irs=Id1=Id0=Id-在步骤S13中,在上述步骤S9到S12中执行的将数字水印嵌入到块内的处理之后,基于在步骤S1中设置的BdrWM,确定是否在针对块边界部分的数字水印嵌入处理中,基于在块边界部分中的具有相同色彩的像素的连续性来执行数字水印嵌入处理,其中所述块边界部分由相邻块构成。当选择“是(BdrWM=1)”作为指示是否依赖于块边界部分中的像素的连续性来执行的标识时(步骤S13中的是),处理进行到步骤S14。另一方面,在其它情况中(步骤S13中的否),处理进行到步骤S17。
在步骤S14中,基于指示是否依赖于块边界部分中的像素的连续性来执行的标识是“是(BdrWM=1)”的事实,在块边界部分上执行数字水印嵌入处理(参见图5)。
在步骤S15中,在通过使用相同色彩的轮廓来执行块分割的情况中,基于在步骤S1中设置的BdrWM来确定是否能改变块边界线。当针对相同色彩的轮廓是否能改变,选择“相同色彩的轮廓能被改变(DevVar=1)”时,处理进行到步骤S16。另一方面,在其它情况中,处理进行到步骤S17中的确定处理。
仅仅当使用相同色彩的轮廓来执行块分割方法时,才执行步骤S16。由于采用不同于块内部的块边界轮廓部分的像素的值的像素值来嵌入数字水印(游程的扩展),而不能由(被块内的具有不同像素值的游程侵入的)相同色彩的轮廓来构成块边界线的情况中,为了即使在嵌入数字水印之后也保持相同色彩的轮廓,进行将在轮廓部分中的具有相同的像素向块外部扩大(扩展)改变(参见图8)。
在步骤S17中,基于在步骤S1中设置的HamWM,确定是否执行数字水印嵌入,其中所述数字水印嵌入是在垂直于行的方向上调整游程长度(如图9所示那样将每个游程长度扩展相同的数量)。当针对是否执行调整游程长度的数字水印嵌入,选择“是(HamWM=1)”时(步骤S17中的是),处理进行到步骤S18。另一方面,在其它情况中(步骤S17中的否),处理进行到步骤S19。
在步骤S18中,基于针对是否执行调整游程长度(如图9所示那样将每个游程长度扩展相同的数量)的数字水印嵌入,选择“是(HamWM=1)”的事实,执行数字水印嵌入处理,所述数字水印嵌入处理是调整在垂直于行的方向上排列的连续水平游程(在原始图像的水平游程的起点或终点的水平坐标具有相同值的情况下,当它们是平行位移维持坐标)(参见图9)。
在步骤S19中,假设目标块已经被处理,选择要嵌入数字水印的下一个目标块,以及处理进行到步骤S6中的确定处理。
接下来,参考图3A和3B,给出在图像再生时数字水印信息的提取处理的描述。在图像再生时执行的数字水印提取处理包括与在图像拍摄时的数字水印嵌入处理相同的多个处理。它们在下述方面是不同的。也就是说,在数字水印嵌入处理中,为了使数字水印信息有效,原始图像被修改。另一方面,在数字水印提取处理中,通过在没有修改读取的图像的情况下分析图像来提取嵌入的数字水印信息。因此,在数字水印嵌入处理中(图2A和2B),用于DevVar的选项包括作为块分割功能的“相同色彩的轮廓能被改变”的功能。然而,数字水印提取处理(图3A和3B)不包括这样的功能。
在步骤S31中,进行键输入以确定一个选择功能(例如通过键盘进行输入),以及该输入被保存在存储器中,用于接下来的处理。
所确定的选择功能(1)到(5)中的一个功能必须与在数字水印嵌入时所设置的功能相同。如果它们不匹配,不可能从要提取数字水印的图像中提取嵌入的数字水印。然而,对在项(2)中说明的“块分割方法DevVar”而言,在数字水印嵌入时的设置是“1相同色彩的轮廓能被改变”或“2相同色彩的轮廓不能被改变”的情况下,通过在提取时设置“1相同色彩的轮廓”,可以认为选择了相同的功能(两者匹配)。
(1)当从由密钥(例如,密码)预先加密之后再嵌入数字水印信息的图像中提取数字水印信息时,需要密钥。
(2)用于设置块分割方法DevVar的输入作为选择如下一个处理的指令。当给出DevVar=0(矩形)的指令时,在随后的步骤S33中,要从中提取数字水印的图像被分割成矩形块(步骤S34)。另外,当给出DevVar=1(相同色彩的轮廓)的指令时(步骤S33中的否),要从中提取数字水印的图像被分割成由相同色彩的轮廓所环绕的块(步骤35)。
(3)用于设置BdrWM的输入,作为选择步骤S43之后的处理的指令,其中BdrWM确定是否根据块边界部分中的像素间的连续性执行处理。也就是说,当BdrWM=1(在步骤S13中的是)时,执行根据块边界部分中相同色彩的像素间的连续性的数字水印提取处理(步骤S44),。同样,确定是否改变由相同色彩的轮廓所形成的块边界行。当它需要时,执行改变处理。
(4)用于设置确定嵌入同步方法的SynMesh的输入,作为选择步骤S38之后的处理以及步骤S40之后的处理的指令。
(5)用于设置HarmWM的输入,作为确定步骤S45之后的处理的指令,其中HarmWM确定是否执行列出游程长度的数字水印嵌入。
这是是否将水平游程长度的改变量(±1或0)设置为在下述情况中的相同值(同步值)的选择功能即在数字水印嵌入处理时的原始图像中,在具有相同色彩以及其起点或终点具有相同值的水平游程被排列在垂直方向上的部分嵌入数字水印。
在步骤S32中,读取图像作为要从中提取数字水印的目标图像,并保存在存储器中。图像可以是多级图像或二进制图像。
在步骤S33中,根据在步骤S31中设置的块分割方法DevVar来确定随后的处理流程。当DevVar=0(步骤S33中的是)时,处理进行到步骤S34。其执行分割成矩形块的分割。另一方面,当DevVar≠0时(在步骤S33中的是),处理进行到步骤S35,其执行分割成除矩形块以外其它形状的分割。
步骤S34,通过具有不受图像内的像素值影响的固定块大小的块来执行分割成矩形块的分割。
在步骤S35中,要从中提取数字水印的图像被分割成具有相同色彩轮廓的块。图8显示了一个分割的块,和在其中嵌入数字水印的情况。可以采用公知的方法作为块分割方法。
在步骤S36中,确定以块为单元的数字水印提取处理是否已经结束。如果对在步骤S34或S35中所分割的所有块已经执行了针对每个块的处理(步骤S38到S47)(步骤S36中的是),那么处理进行到步骤S37。另一方面,如果未对所有块执行完处理(步骤S36中的否),然后处理进行到步骤S38。
步骤S37对应于数字水印提取处理完成后的处理。在步骤S37中,保存提取的数字水印信息。所述信息被保存在存储器4中或外部存储单元3中。
步骤S38是数字水印提取处理的一个过程,该处理将对每个块执行。在步骤S38中,基于在步骤S31中设置的嵌入同步方法SynMesh,执行关于提取块内的数字水印的方法的第一标识。当选择“在每行上独立执行(SynMesh=0)”作为嵌入同步方法(步骤S38中的是)时,处理进行到步骤S39。在其它情况(步骤S38中的否)中,处理进行到步骤S40,其执行下一标识处理。
在步骤S39中,基于嵌入同步方法是“在每行上独立执行(SynMesh=0)”的事实,执行数字水印提取处理(参见图4和11)。另外,如果在数字水印嵌入时提出图10所述的限制(在流程图中省略其说明),同样在提取时的相同限制下可以提取数字水印。
步骤S40是数字水印提取处理的一个过程,对每个块执行该处理。在步骤S40中,基于在步骤S31中设置的嵌入同步方法SynMesh,执行关于提取块内的数字水印的方法的下列标识。当选择“依赖于相邻行(目标行上面的行和目标行下面的行)的像素值状态来执行(SynMesh=1)”作为嵌入同步方法时(步骤S40的是),处理进行到步骤S41。另一方面,在其他情况中(步骤S40中的否),假设选择“依赖于在两维平面中具有相同值的像素间的连续性而执行(SynMesh=2)”作为嵌入同步方法,处理进行到步骤S42。
在步骤S41中,基于嵌入同步方法是“依赖于相邻行(目标行上面的行和目标行下面的行)中像素值的状态来执行(SynMesh=1)”,执行数字水印提取处理(参见图6)。另外,如果在数字水印嵌入时提出图10所述的限制(在流程图中省略其说明),同样在提取时的相同限制下可以提取数字水印。
在步骤S42中,基于嵌入同步方法是“依赖于在两维平面中具有相同值的像素间的连续性来执行(SynMesh=2)”的事实,执行数字水印提取处理(参见图7)。
在步骤S43中,在上述步骤S39到S42中执行的提取块内的数字水印的处理之后,基于在步骤S31中设置的BdrWM,确定是否在针对块边界部分的数字水印提取处理中,根据在块边界部分中的具有相同色彩的像素的连续性来执行数字水印提取处理,其中所述块边界部分是由相邻块构成的。当选择“是(BdrWM=1)”作为表示是否通过依赖于在块边界部分内的像素的连续性来执行的标识(步骤S43中的是)时,处理进行到步骤S44。另一方面,在其他情况中(步骤S43中的否),处理进行到步骤S45。
在步骤S44中,基于表示指示是否通过依赖于在块边界部分内的像素的连续性来执行的标识是“是(BdrWM=1)”的事实,在块边界部分上执行数字水印提取处理(参见图5)。
在步骤S45中,基于在步骤S1中设置的HamWM,确定是否假设已经执行了在垂直于行方向上列出游程长度(如图9所示那样将每个游程长度扩展相同量)的数字水印嵌入处理。当针对是否执行列出游程长度的数字水印嵌入处理,选择“是(HamWM=1)”时(步骤S45中的是),处理进行到步骤S46。另一方面,在其他情况中(步骤S45中的否),处理进行到步骤S47。
在步骤S46中,基于针对是否执行列出游程长度(如图9所示那样将每个游程长度扩展相同量)的数字水印嵌入处理而选择“是(HamWM=1)”的事实,执行数字水印提取处理,其(在原始图像的水平游程的起点或终点的水平坐标具有相同值的情况下,当它们是平行位移维持坐标)列出垂直于行方向上排列的连续水平游程(嵌入数字水印以及具有列出的游程长度的一组游程包括仅仅1比特的数字水印信息)(参见图9)。
在步骤S47中,假设已经执行完目标块,选择要从中提取数字水印的下一个目标块,以及处理进行到步骤S36中的确定处理。
应当注意,通过向系统或装置提供在其上记录有实现根据上述实施例的功能的软件的程序代码的存储介质(记录介质),以及通过系统或装置的计算机(CPU或MPU)来读取和执行存储在存储介质(记录介质)上的程序代码,来完成本发明。在这种情况下,从存储介质中读取的程序代码实现根据上述实施例的功能。例如,软盘、硬盘、光盘、磁光盘、磁带、非易失存储卡、或ROM可以被用作提供程序代码的存储介质(记录介质)。不是总能够通过执行由计算机读取的程序代码来实现根据上述实施例的功能。基于程序代码给出的指令,在计算机上运行的OS(操作系统)可以执行部分或全部的实际处理,以便实现根据上述实施例的功能。进一步地,从存储介质中读取的程序代码被写入插在计算机中的功能增强板或连接到计算机的功能增强板中所提供的存储器之后,基于程序代码所给出的指令,功能增强板中提供的CPU或功能增强单元可以执行部分或全部的实际处理,以便实现根据上述实施例的功能。
本发明不限制在具体公开的实施例,以及在没有背离本发明精神的情况下,可以提出改变和改进。
本申请是基于日本在先申请2004年2月18日申请的第2004-041022号以及2005年2月3日申请的第2005-027807号,其全部内容在此合并做参考。
权利要求
1.一种图像处理方法,包括步骤将数字内容分割成游程长度,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在所述游程长度中嵌入数字水印信息,同时保留拓扑(第一拓扑保护法则)。
2.如权利要求1所述的图像处理方法,其中第一拓扑保护法则是不允许“通过向游程长度中插入一个或多个具有不同于游程长度的色彩的色彩的像素来进行游程长度的分割”以及不能删除游程长度的法则。
3.如权利要求1所述的图像处理方法,进一步包括步骤将数字内容分割成块;和当游程长度存在于所分割块的边界部分时,在游程长度中嵌入数字水印信息,同时保留拓扑(第二拓扑保护法则)。
4.如权利要求3所述的图像处理方法,其中第二拓扑保护法则是当游程长度跨过一个或多个所分割块的边界部分时,不承认所述边界部分中游程长度间的连续性的有效性的法则。
5.如权利要求1所述的图像处理方法,进一步包括步骤将数字内容分割成块;和当游程长度存在于所分割块的边界部分时,在游程长度中嵌入数字水印信息,同时保留拓扑(第三拓扑保护法则)。
6.如权利要求5所述的图像处理方法,其中第三拓扑保护法则是当游程长度跨过一个或多个所分割块的边界部分时,承认所述边界部分中游程长度间的连续性的有效性的法则。
7.如权利要求1所述的图像处理方法,进一步包括步骤在数字内容的相邻游程长度中嵌入数字水印信息,同时保留拓扑(第四拓扑保护法则),所述相邻游程长度彼此堆叠。
8.如权利要求7所述的图像处理方法,其中第四拓扑法则是不允许“通过在水平方向和垂直方向中的至少一个上最新插入一个或多个具有不同色彩的像素来进行游程长度的分割”以及不能删除游程长度的法则。
9.如权利要求7所述的图像处理方法,进一步包括步骤当在相邻游程长度中嵌入数字水印信息的同时保留拓扑,嵌入原始图像的特性以便保留特性。
10.如权利要求9所述的图像处理方法,其中,在嵌入原始图像特性的步骤中,保留由相邻游程长度构成的垂直行。
11.如权利要求9所述的图像处理方法,其中,在嵌入原始图像特性的步骤中,保留由相邻游程长度构成的梯形。
12.如权利要求1所述的图像处理方法,进一步包括步骤从在嵌入步骤中嵌入数字水印信息的图像中提取数字水印信息。
13.如权利要求1所述的图像处理方法,其中数字水印信息是由每个游程长度的奇数值和偶数值中的一个来表示。
14.一种信息处理方法,包括步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素构成的分割的块区域中的像素区域中嵌入数字水印信息而不改变块区域的边界线,同时保留拓扑。
15.如权利要求14所述的图像处理方法,进一步包括步骤从在嵌入步骤中嵌入了数字水印信息的图像中提取数字水印信息。
16.如权利要求14所述的图像处理方法,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
17.一种信息处理方法,包括步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中,通过允许块区域的边界线的改变来嵌入数字水印信息,以及同时保留拓扑。
18.如权利要求17所述的图像处理方法,进一步包括步骤从在嵌入步骤中嵌入数字水印信息的图像中提取数字水印信息。
19.如权利要求17所述的图像处理方法,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
20.一种信息处理方法,包括步骤将数字内容分割成块;和当在作为要嵌入数字水印的目标且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中嵌入数字水印信息并且同时保留拓扑时,嵌入数字水印信息以便使在嵌入之后的区域形状与嵌入之前的区域形状相似。
21.如权利要求20所述的图像处理方法,进一步包括步骤从在嵌入步骤中嵌入了数字水印信息的图像中提取数字水印信息。
22.如权利要求20所述的图像处理方法,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
23.一种图处理装置,包括将数字内容分割成游程长度的分割部分,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息且同时保留拓扑(第一拓扑保护法则)的数字水印嵌入部分。
24.如权利要求23所述的图像处理装置,其中第一拓扑保护法则是不允许“通过向游程长度中插入一个或多个具有不同于游程长度的色彩的色彩的像素来进行游程长度的分割”以及不能删除游程长度的法则。
25.如权利要求23所述的图像处理装置,进一步包括将数字内容分割成块的分割部分;和嵌入部分,当游程长度存在于所分割块的边界部分时,在游程长度中嵌入数字水印信息且同时保留拓扑(第二拓扑保护法则)。
26.如权利要求25所述的图像处理装置,其中第二拓扑保护法则是当游程长度跨过一个或多个所分割块的边界部分时,不承认所述边界部分中游程长度间的连续性的有效性的法则。
27.如权利要求23所述的图像处理装置,进一步包括将数字内容分割成块的分割部分;和嵌入部分,当游程长度存在于所分割块的边界部分时,在游程长度中嵌入数字水印信息且同时保留拓扑(第三拓扑保护法则)。
28.如权利要求27所述的图像处理装置,其中第三拓扑保护法则是当游程长度跨过一个或多个所分割块的边界部分时,承认所述边界部分中游程长度间的连续性的有效性的法则。
29.如权利要求23所述的图像处理装置,进一步包括在数字内容的相邻游程长度中嵌入数字水印信息且同时保留拓扑(第四拓扑保护法则)的嵌入部分,所述相邻游程长度彼此堆叠。
30.如权利要求29所述的图像处理装置,其中第四拓扑法则是不允许“通过在水平方向和垂直方向中的至少一个上最新插入一个或多个具有不同色彩的像素来进行游程长度的分割”以及不能删除游程长度的法则。
31.如权利要求29所述的图像处理装置,进一步包括嵌入部分,当在相邻游程长度中嵌入数字水印信息且同时保留拓扑,嵌入原始图像的特性以便保留特性。
32.如权利要求31所述的图像处理装置,其中嵌入部分嵌入由相邻游程长度构成的垂直行,以便保留所述垂直行。
33.如权利要求31所述的图像处理装置,其中嵌入部分嵌入由相邻游程长度构成的梯形,以便保留所述梯形。
34.如权利要求23所述的图像处理装置,进一步包括提取部分,从由嵌入部分嵌入了数字水印信息的图像中提取数字水印信息。
35.如权利要求23所述的图像处理装置,其中数字水印信息是由每个游程长度的奇数值和偶数值中的一个来表示。
36.一种信息处理装置,包括将数字内容分割成块的分割部分;和嵌入部分,在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素构成的分割的块区域中的像素区域中嵌入数字水印信息而不改变块区域的边界线,以及同时保留拓扑。
37.如权利要求36所述的图像处理装置,进一步包括提取部分,从由嵌入部分嵌入了数字水印信息的图像中提取数字水印信息。
38.如权利要求36所述的图像处理装置,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
39.一种信息处理装置,包括将数字内容分割成块的分割部分;和嵌入部分,在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中,通过允许块区域的边界线的改变来嵌入数字水印信息,以及同时保留拓扑。
40.如权利要求39所述的图像处理装置,进一步包括提取部分,从由嵌入部分嵌入了数字水印信息的图像中提取数字水印信息。
41.如权利要求39所述的图像处理装置,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
42.一种信息处理装置,包括将数字内容分割成块的分割部分;和嵌入部分,当在作为要嵌入数字水印的目标且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中嵌入数字水印信息,以及同时保留拓扑时,嵌入数字水印信息以便使在嵌入之后的区域形状与嵌入之前的区域形状相似。
43.如权利要求42所述的图像处理装置,进一步包括提取部分,从由嵌入部分嵌入了数字水印信息的图像中提取数字水印信息。
44.如权利要求42所述的图像处理装置,其中数字水印信息由每个游程长度的奇数值和偶数值中的一个所表示。
45.一种程序,用于使得计算机实现步骤将数字内容分割成游程长度,每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保留拓扑(第一拓扑保护法则)。46、一种程序,用于使得计算机实现步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素构成的分割的块区域中的像素区域中嵌入数字水印信息而不改变块区域的边界线,以及同时保留拓扑。
47.一种程序,用于引起计算机来实现每个步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中,通过允许块区域的边界线的改变来嵌入数字水印信息,以及同时保留拓扑。
48.一种程序,用于引起计算机来实现每个步骤将数字内容分割成块;和当在作为要嵌入数字水印的目标且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中嵌入数字水印信息,以及同时保留拓扑时,嵌入数字水印信息以便使在嵌入之后的区域形状与嵌入之前的区域形状相似。
49.一种记录有程序的计算机可读记录介质,其中该程序用于使得计算机来实现步骤将数字内容分割成游程长度,每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保留拓扑(第一拓扑保护法则)。
50.一种记录有程序的计算机可读记录介质,其中该程序用于使得计算机来实现步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素构成的分割的块区域中的像素区域中嵌入数字水印信息而不改变块区域的边界线,以及同时保留拓扑。
51.一种记录有程序的计算机可读记录介质,其中该程序用于使得计算机来实现步骤将数字内容分割成块;和在作为要嵌入数字水印的目标并且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中,通过允许块区域的边界线的改变来嵌入数字水印信息,以及同时保留拓扑。
52.一种记录有程序的计算机可读记录介质,其中该程序用于使得计算机来实现步骤将数字内容分割成块;和当在作为要嵌入数字水印的目标且存在于由相同色彩的一个或多个像素形成的分割的块区域中的像素区域中嵌入数字水印信息,以及同时保留拓扑时,嵌入数字水印信息以便使在嵌入之后的区域形状与嵌入之前的区域形状相似。
全文摘要
一种图像处理方法,包括步骤将数字内容分割成游程长度,其中每个游程长度包括一个或多个具有相同色彩的连续像素;和在游程长度中嵌入数字水印信息,同时保留拓扑(第一拓扑保护法则)。
文档编号G06T1/00GK1658237SQ200510064029
公开日2005年8月24日 申请日期2005年2月18日 优先权日2004年2月18日
发明者阿部悌, 西村隆之 申请人:株式会社理光

最新回复(0)