专利名称:图像处理设备、方法,计算机程序和计算机可读存储介质的制作方法
技术领域:
本发明涉及把消息嵌入文件图像中和抽取嵌入的消息的技术。
背景技术:
近年来,在数据成像设备,例如打印机和复印机中,图像质量的提高是显著的,现在能够容易地获得高清晰度的印刷品。即,任何人都能够借助高效扫描仪、打印机、复印机和计算机,获得图像处理需要的印刷品。于是,出现了诸如文件的非法复制和伪造之类的问题。为了防止或抑制这种非法复制或伪造,近年来,访问控制消息已作为水印消息被嵌入到印刷品本身中。作为用于水印的一般实现方法,提出了下述处理(1)通过控制字间距的数量嵌入消息;(2)通过旋转字符嵌入消息;(3)通过字符的缩放,嵌入消息;和(4)通过变换字符嵌入消息。
图1表示了通过控制字间距的数量,例如英语单词之间的间隔的数量,嵌入消息的印刷品。这里,s和p被称为间隔。如果嵌入水印消息位为“0”,那么该间隔将被设置为p1=(1+q)(p+s)/2,和s1=(1-q)(p+s)/2。如果嵌入水印消息位为“1”,那么该间隔将被设置为p1=(1-q)(p+s)/2,和s1=(1+q)(p+s)/2。q的范围为0<q<1。
图2图解说明了其中通过减小字符大小,嵌入水印消息的情况。例如,在字符大小被扩展,而不是原始字符的情况下,“1”被嵌入(图2中的A),在字符大小被减小的情况下,“0”被嵌入(图2中的B)。作为嵌入对象的字符可以是连续字符,规定间隔的字符或者规定位置的字符。在图2中,由于字符“m”被扩展,字符“u”被缩小,因此水印消息“10”被嵌入。
图3图解说明其中通过旋转字符(即,改变字符的倾斜度),嵌入水印的情况。例如,在字符被顺时针旋转的情况下,“1”被嵌入(图3中的C),在字符被反时针旋转的情况下,“0”被嵌入(图3中的D)。作为嵌入对象的字符可以是连续字符,规定间隔的字符或者规定位置的字符。在图3中,由于字符“m”被顺时针旋转,字符“t”被反时针旋转,因此消息“10”被嵌入。
但是,在利用上述常规方法嵌入水印消息的情况下,对于字符大小的差异,字符的间隔的差异,以及字符倾斜度的差异会产生不调和的感觉。
发明内容
鉴于现有技术中的上述问题,本发明提供一种消息处理设备,它能够使字体的退化降至最小,保证比固定消息更多的消息量的嵌入,并且高度抗噪声地实现水印消息的嵌入和抽取。
根据本发明的一方面,消息处理设备包括输入文件图像的图像输入单元;从图像输入单元输入的文件图像抽取字符图像的抽取单元;和通过校正抽取单元抽取的字符图像的灰度值,嵌入水印消息的嵌入单元。
根据本发明的另一方面,消息处理设备包括输入带水印的文件图像的输入单元;获得输入单元输入的文件图像中的字符图像的最频值的分析单元;和通过比较字符图像的最频值和预定值,抽取水印消息的抽取单元。
参考附图,根据例证实施例的下述说明,本发明的其它特征和优点将变得明显。
图1图解说明利用字符的间隔的电子水印嵌入方法。
图2图解说明利用字符的大小的电子水印嵌入方法。
图3图解说明利用字符的倾斜度的电子水印嵌入方法。
图4是本发明的数字水印嵌入设备的方框图。
图5图解说明配有本发明的数字水印嵌入和抽取设备的系统。
图6是图解说明第一实施例中的数字水印嵌入设备的操作程序的流程图。
图7是图解说明第一实施例中的外切矩形抽取和基准值的设置的流程图。
图8是图解说明第一实施例中的电子水印嵌入方法的流程图。
图9图解说明第一实施例中的数字水印嵌入前后的灰度直方图。
图10是本发明的数字水印抽取设备的方框图。
图11是图解说明第一实施例中的数字水印抽取的操作程序的流程图。
图12是图解说明第一实施例中的数字水印抽取方法的流程图。
图13表示在第一变型中的数字水印嵌入前后的灰度直方图。
图14是图解说明第一变型的嵌入数字水印的操作程序的流程图。
图15图解说明在第二变型中的数字水印嵌入前后的灰度直方图。
图16是图解说明第二变型的嵌入数字水印的操作程序的流程图。
图17图解说明在第二实施例中的数字水印嵌入前后的灰度直方图。
图18是图解说明第二实施例中的抽取外切矩形和设置基准值的操作程序的流程图。
图19是图解说明第二实施例中的嵌入数字水印的操作程序的流程图。
图20是图解说明第二实施例中的抽取数字水印的操作程序的流程图。
图21图解说明第三实施例的中数字水印嵌入前后的字符。
图22是图解说明第三实施例中的嵌入数字水印的操作程序的流程图。
图23是图解说明第三实施例中的抽取数字水印的操作程序的流程图。
图24图解说明第四实施例中的固定消息位和数字水印消息位;图25是图解说明第四实施例中的抽取数字水印的操作程序的流程图。
图26是图解说明第四实施例中的计算基准值的操作程序的流程图。
具体实施例方式
下面参考附图,说明本发明的水印消息嵌入设备的例证实施例。
<第一实施例>
图4是本发明的数字水印嵌入设备的方框图。
如图4中所示,作为将嵌入水印消息的对象的文件图像100被输入图像输入单元101。图像输入单元101把文件图像100提供给分析单元102。在文件分析单元102中,分析文件图像100中的字符的空间关系。在分析文件图像100之后,分析后的文件图像从文件分析单元102被转发给嵌入确定单元103。在嵌入确定单元103中,确定数字水印是否可被嵌入文件图像100中。如果嵌入确定单元103确定数字水印可被嵌入文件图像100中,那么文件图像100被转发给嵌入单元106。
要输入的水印消息104通过水印消息输入单元105输入。水印消息104从水印消息输入单元105被转发给嵌入单元106。
嵌入单元106把从水印消息输入单元105接收的水印消息104嵌入从嵌入确定单元103接收的文件图像100中,从而产生包括嵌入的水印的输出图像。该图像从嵌入单元106被转发给图像输出单元107,图像输出单元107输出带水印的图像108图5是图解说明本发明的数字水印嵌入和抽取设备的系统组件的方框图。不必使用图5中所示的所有组件(功能)来实现数字水印嵌入和抽取设备。
在图5中,计算机201是通用消息处理器,例如个人计算机。计算机201可输入由扫描仪217读取的图像。计算机201可实现编辑和存储。扫描仪217获得的图像100可由打印机216打印。通过利用鼠标213和/或键盘214,经接口(I/F)212把消息输入计算机201中,用户能够进行各种操作。在计算机201中,各个组件由总线207连接,总线207被用于在各个组件之间传送数据。
在图5中,中央处理器(CPU)202控制计算机201中的组件的操作。CPU 202可执行保存的程序。程序可保存在主存储装置203中,主存储装置203包括随机存取存储器(RAM)。除了保存程序之外,RAM还被用于为在CPU 202中执行的处理临时保存对象的图像数据。硬盘驱动器(HDD)204是保存被传送给主存储装置203的程序和图像数据的装置。HDD还可被用于保存其它数据,例如处理之后的图像数据。
扫描仪接口(I/F)215与读取手稿、胶片等,并产生图像数据的扫描仪217连接。扫描仪I/F 215是用于把扫描仪217获得的图像数据输入计算机201的接口。打印机I/F 208是用于把图像数据传送给打印机216的接口。
计算机还包括相对于外部存储介质读取或写入数据的驱动器。光盘(CD)驱动器209是读取保存在CD(例如CD-R(可记录CD)或CD-RW(可重写CD))上的数据,或者把数据写入CD的装置。FDD驱动器211是读取保存在软盘(FD)上的数据,或者把数据写入FD的装置。DVD驱动器210是读取保存在DVD(数字通用视盘)上的数据,或者把数据写入DVD的装置。在用于图像编辑的程序或者打印机驱动程序被保存在CD、FD、DVD等上的情况下,这些程序被安装在HDD204上,并且如果需要,那么被传送给主存储装置203。
输入装置接口(I/F)212是连接一个或多个输入装置,例如键盘214和鼠标213,以便接收来自输入装置213、214的输入的I/F。监视器206是能够显示水印消息的抽取结果和处理过程的显示器。视频控制器205是把显示数据传送给监视器206的装置。
注意本发明可被应用于具有单个装置(例如,复印机、传真机等)的设备,或者应用于由多个装置(例如主计算机、接口装置、扫描仪、打印机等)组成的系统。
在上面描述的结构中,通过由CPU 202利用来自鼠标213或键盘214的输入指示,执行装入主存储装置203的程序,计算机201起数字水印嵌入或抽取设备的作用。借助监视器206,还可查看执行条件及其结果。
下面说明嵌入数字水印和抽取嵌入的数字水印的方法。
图6是图解说明利用根据第一实施例的数字水印嵌入设备,嵌入数字水印的操作程序的流程图。
首先,在步骤S301,通过图像输入单元101,把作为水印消息的嵌入对象的原始文件图像输入文件分析单元102。在图5中所示的水印嵌入设备中,用于输入文件图像100的图像输入单元101由扫描仪217表示。输入文件分析单元102的文件图像数据可以是扫描仪217读取印刷器而输出的位图数据,或者通过利用文本编辑应用程序产生的电子数据。文件图像数据还可以是通过利用图像处理软件,转换电子数据(它是对应于应用程序或文本格式的特定形式的数据)而输出的位图数据。应用程序、文本格式和图像处理软件程序可被保存在硬盘204,外部介质,比如利用CD驱动器209读取的CD,利用DVD驱动器210读取的DVD,利用FDD驱动器211读取的FD,或者它们的组合物上。
在步骤S302中,根据在步骤S301输入的文件图像数据,文件分析单元102进行外切矩形(字符区)的抽取和基准值的设置。下面参考图7更详细地说明步骤S302的过程。
图7是表示根据第一实施例的抽取外切矩形和设置基准值的图6的步骤S302的处理细节的流程图。对整个文件的字符进行图7中所示的流程图的每个步骤。
字符的外切矩形是环绕该字符的矩形。在本实施例中,外切矩形区表示字符区,所述字符区是数字水印的嵌入对象。通过把文件图像数据的每个像素值投射到垂直坐标轴,对空白部分(表现出和字符的灰度不同的灰度的部分)进行搜索。利用搜索结果辨别字符所存在的行。随后,通过逐行把文件图像数据的每个像素值投射到水平坐标轴,对空白部分进行搜索。利用搜索结果辨别字符的外切矩形区。上述处理抽取每个字符的外切矩形(步骤S302a)。
随后,计算每个抽取的字符的灰度直方图,并确定每个字符的最频值(步骤S302b)。这里,灰度直方图是每个字符的外切矩形区中的所有像素数据的灰度值的频率的曲线图。所述频率表示相同的灰度值在一个字符中的出现次数。在本实施例中,由于根据字符的外切矩形区的像素数据产生灰度直方图,因此不是字符的部分的灰度值的频率变得最高。这种实施例中的“最频值”被作为除了不是字符的部分的灰度值之外,来自直方图的具有最高频率的灰度值。例如,在(后面说明的)图9的曲线图1中,不是字符的部分的灰度值被设置为200~255。
在不是根据外切矩形区的像素数据,而是只根据某一字符部分的像素数据产生灰度直方图的情况下,不必进行用于消除不是字符的那部分的像素数据的处理。在这样的实施例中,“最频值”是该字符部分中的具有最高频率的灰度值(与用于产生灰度直方图的方法无关)。
根据步骤S302b获得的每个字符的最频值,从文件图像中的所有字符的最频值中抽取最大值和最小值。例如,最频值的最小值被假定为“a”,最频值的最大值被假定为“b”。从最小值“a”到最大值“b”的值被确定为校正范围(后面说明)(步骤S302c)。
计算最小值“a”和最大值“b”之间的中间值。假设中间值为基准值“t”。即,t=(a+b)/2(步骤S302d)。当抽取水印消息时,基准值被用作确定标准。这里,水印抽取可能需要基准值,基准值可保存在存储装置中。用户可把基准值秘密保存为水印抽取的密钥。基准值可作为水印消息被嵌入文件图像数据中。
虽然上面基准值被设置成t=(a+b)/2,不过它并不局限于该值。基准值应是校正范围中的一个预定值。虽然根据文件图像中的所有字符的最频值计算基准值,不过它并不局限于此。例如,基准值可以是首先出现的一个字符的最频值,或者可以根据多个字符的最频值来计算基准值。在计算基准值(图7的步骤S302d)之后,处理返回图6。
在步骤S302中抽取外切矩形和设置基准值之后,处理进行到图的步骤S303。在步骤S303,通过利用键盘214从水印消息输入单元105输入要嵌入的水印消息104。水印消息可选自保存在存储装置,例如HDD 204中的数据。
随后,在步骤S304中输入一个字符。在步骤S305中,嵌入确定单元103根据外切矩形的大小,确定在步骤S304中输入的字符是否是可嵌入水印的字符。过小以致不能嵌入水印的字符被免于嵌入水印。如果在步骤S305中确定对于在步骤S304输入的字符来说,嵌入是不可能的(步骤S305中no),那么处理返回步骤S304,并输入下一字符。
如果在步骤S305中确定对于在步骤S304输入的字符来说,嵌入是可能的(步骤S305中yes),那么处理进入步骤S306。在步骤S306中,嵌入单元106把数字水印嵌入在步骤S304输入的字符中。下面说明由嵌入单元106执行的,根据数字水印嵌入方法之一,把字符的直方图中的最频值的位置向左右移动的过程。
图9图解说明第一实施例中的数字水印嵌入前后的灰度直方图。
图9的曲线图1是字符900的灰度直方图。在本实施例中,字符的灰度值由256级表示,黑灰度值被设置为“0”,白灰度值被设置为“255”。在图9的曲线图1中,该曲线图的左端表示灰度值“0”(黑),右端表示灰度值“255”(白)。
该曲线图表示在步骤S302中计算的文件图像的最频值的最小值(“a”)和最频值的最大值(“b”)。此外,该曲线图的“d”是从“a”到“b”的值,表示校正范围。该曲线图还表示了基准值“t”(t=(a+b)/2)。
图9中的曲线图2是其中把字符的灰度直方图中的最频值的位置向左移动,表示嵌入“0”的情况的曲线图。图9中的曲线图3是其中把字符的最频值的位置向右移动,表示嵌入“1”的情况的曲线图。
在字符的灰度直方图中的最频值的位置被向左移动的情况下,水印被嵌入,以致它可由图9的曲线图2表示,并且包含在校正范围“d”中的像素的灰度值被校正为“a”。包含在从“0”到“a”的像素的灰度值和包含在从“b”到“255”的像素的灰度值不被校正。由于包括基准值“t”的从“a”到“b”的像素的灰度值被改变成“a”,因此该字符的最频值被设置为“a”(图9中的曲线图2)。
在字符的灰度直方图中的最频值的位置被向右移动的情况下,水印被嵌入,以致它可由图9的曲线图3表示,并且包含在校正范围“d”中的像素的灰度值被转换为“b”。包含在从“0”到“a”的像素的灰度值和包含在从“b”到“255”的像素的灰度值不被校正。由于包括最频值“t”的从“a”到“b”的像素的灰度值被改变成“b”,因此该字符的最频值被设置为“b”(图9中的曲线图3)。
利用灰度直方图中的最频值的空间关系,嵌入数字水印消息。例如,在“0”被嵌入的情况下,灰度值被校正,以致它可被设置成“最频值<t”,在“1”被嵌入的情况下,灰度值被校正,以致“最频值>t”。
图8是图解说明第一实施例中的嵌入电子水印的处理(图6的步骤S306)的流程图。
首先,在步骤S306a,选择要嵌入的水印消息位。例如,在其被输入的情况下,“1”被分配给第一字符,例如如图24中的例子中所示。
在步骤S306b中,确定要嵌入的水印消息位是否为“1”。如果在步骤S306b中确定水印消息位为“1”(步骤S306b中yes),那么处理进入步骤S306c。在步骤S306c中,从“a”到“b”的灰度值被校正为大于“b”的值,以致“最频值>t”。处理随后返回图6。
如果在步骤S306b中确定水印消息位不为“1”(步骤S306b中no),那么处理进入步骤S306d。在步骤S306d中,从“a”到“b”的灰度值被校正为小于“a”的值,从而设置“最频值<t”。从“a”到“b”的范围是步骤S302c(图7)获得的灰度直方图的校正范围,“t”是当抽取水印消息时使用的基准值(在图7的步骤S302d中计算)。处理返回图6。
在图6的步骤S307,确定在步骤S304输入的字符是否是文件图像中的最后字符。如果确定在步骤S304输入的字符是文件图像中的最后字符(步骤S307中yes),那么处理进入步骤S308。在步骤S308中,从图像输出单元107输出带水印的图像。所述输出可以是打印带有嵌入的水印消息的图像,把带有嵌入的水印消息的图像保存为图像数据,把带有嵌入的水印消息的图像传送给一个或多个其它终端等。处理随后返回图6。
另一方面,如果在步骤S307中确定在步骤S304输入的字符不是文件图像中的最后字符(步骤S307中no),那么处理返回步骤S304,输入下一字符。
图10是本发明中的数字水印抽取设备的方框图。
如图10中所示,作为嵌入的水印消息的抽取对象的文件图像700被输入由图5的扫描仪217代表的图像输入单元701。文件分析单元702分析字符的空间关系。在嵌入确定单元703中确定是否存在嵌入。水印消息抽取单元704抽取数字水印,并输出水印消息705。
图11是图解说明第一实施例中的数字水印抽取的操作程序的流程图。
首先,在步骤S801中,输入带水印的图像。
在步骤S802中,从图像抽取外切矩形(字符)。用为抽取对象的文件图像700经过由图5的扫描仪217代表的图像输入单元701被输入文件分析单元702。输入文件分析单元702的文件图像数据可以是利用扫描仪217读取印刷品而输出的位图数据,或者是通过利用文本编辑应用程序产生的电子数据。文件图像数据还可以是通过利用图像处理软件转换电子数据输出的位置数据,所述电子数据是与保存在硬盘204或者保存在与驱动器连接的存储介质,例如由CD驱动器209读取的CD,由DVD驱动器210读取的DVD或者由FDD驱动器211读取的FD上的应用程序或文本格式对应的特定形式的数据。
随后,在步骤S803中输入一个字符。在步骤S804中,嵌入确定单元703确定输入字符的外切矩形区是否是其中嵌入数字水印的字符的区域。嵌入确定单元703类似于图4的嵌入确定单元103,其中正确嵌入水印的字符能够被确定。
如果在步骤S804中确定数字水印未被嵌入(步骤S804中no),那么处理返回步骤S803,并输入下一字符。如果在步骤S804中确定数字水印被嵌入(步骤S804中yes),那么处理进入步骤S805。在步骤S805中,水印消息抽取单元704抽取水印消息。下面参考图12提供抽取数字水印的步骤S805的细节。
图12是图解说明第一实施例中的数字水印抽取方法的流程图。
首先,计算灰度直方图的最频值(步骤S805a)。随后,在步骤S805b,确定计算的最频值是否大于基准值“t”。在最频值大于“t”(步骤S805b中yes)的情况下,“1”被抽取为水印消息(步骤S805c)。在最频值不大于“t”(步骤S805b中no)的情况下,“0”被抽取为水印消息(步骤S805d)。“t”是抽取水印消息的基准值,即密钥消息。用户可利用键盘输入基准值“t”,或者基准值“t”可被预先保存在存储装置中。在抽取水印消息(在步骤S805c或步骤S805d中)之后,处理返回图11。
随后,在步骤S806确定在步骤S803中输入的字符是否是最后字符。如果它不是最后字符,那么处理返回步骤S803,输入下一字符。如果它是最后字符,那么输出水印消息(步骤S807),处理返回图9。
<第一变型>
图13图解说明第一变型中的数字水印嵌入前后的灰度直方图。除了步骤S306之外,第一变型的结构和操作程序与(上面说明的)第一图14是图解说明第一变型的步骤S306的操作程序的流程图。
首先,在步骤S306e中,选择要嵌入的水印消息位。例如,在其被输入的情况下,“1”被分配给第一字符,如图24的例子(数字水印消息位)中所示。
在步骤S306f中,确定要嵌入的水印消息位是否为“1”。如果确定要嵌入的水印消息位为“1”(步骤S306f中yes),那么处理进入步骤S306g。在步骤S306g中,从“a”到“b”的灰度值被校正为“b”,并且在步骤S306i中,从“a-x”到“a”的灰度值被移入从“b-x”到“b”的灰度值中,从而设置“最频值>t”。这能够防止在扫描之后,由于色差而在从“a-x”到“a”的灰度值的区域中产生最频值。处理随后返回图6。如果确定水印消息位不为“1”(步骤S306f中no),那么处理进入步骤S306h。在步骤S306h中,从“a”到“b”的灰度值被校正为“a”,并且在步骤S306j中,从“b”到“b+x”的灰度值被移入从“a”到“a+x”的灰度值中,从而设置“最频值<t”。这能够防止在扫描之后,由于色差而在从“b”到“b+x”的灰度值的区域中产生最频值。x为0≤x<a或者0≤x<255-b。“a”和“b”可被预先确定,以满足上面的表达式。“a”和“b”可由用户设置。
抽取数字水印的程序和第一实施例中的抽取处理相同。
从而,在第一变型中,即使扫描时出现色差,也能够更正确地抽取水印消息(最频值)。
<第二变型>
图15是第二变型中数字水印嵌入前后的灰度直方图。除了步骤S306之外,第二变型的结构和操作程序与(上面说明的)第一实施例的相同。
图16是图解说明第二变型的步骤S306的操作程序的流程图。
首先,在步骤S306k中,选择要嵌入的水印消息位。例如,在其被输入的情况下,“1”被分配给第一字符,如图24的例子(数字水印消息位)中所示。
在步骤S3061中,确定要嵌入的水印消息位是否为“1”。
如果确定要嵌入的水印消息位为“1”(步骤S3061中yes),那么处理进入步骤S306m。在步骤S306m中,从“a”到“b”的灰度值由相同频率校正成“b-n”到“b”。即,变化后的灰度直方图变得像图15的曲线图3,最频值变成从“b-n”到“b”。“n”是满足0<n<(b-a)/2t的整数。
如果确定水印消息位不为“1”(步骤S3061中no),那么处理进入步骤S306n。在步骤S306n中,从“a”到“b”的灰度值由相同频率校正成“a”到“a+n”。
为了减轻颜色的退化,在“a”附近的数据被改变成在“a”附近的值,在“b”附近的数据被改变成在“a+n”附近的值。
利用和第一实施例相同的抽取处理进行抽取数字水印的程序。从而,在第二变型中,当嵌入水印消息时,通过变成基本具有相同宽度的界限(这里它从“a”到“a+n”,或者从“b-n”到“b”)内的原始图像的灰度附近的灰度,能够减轻颜色的恶化。
改变后的灰度的界限可以不局限于此,可以是从“a-n”到“a+n”的范围,和从“a-m”到“a”的范围(这里0<m<t)。当在“0”嵌入消息时,从“a”到“b”的灰度值被变成从“a”到“a+n”的灰度值,从而靠相同的频率而存在,不过不是必须靠相同的频率而存在。
虽然关于灰度直方图的宽度值的左右移动说明了第一实施例,第一变型和第二变型,不过也可单独获得向右和向左移动的宽度值。例如,当向右和向左移动第一变型的“x”,以及第二变型的“n”时,即使它采用不同的值也无关紧要。
<第二实施例>
第一实施例,第一变型和第二变型说明如何通过抽取最频值的位置,抽取水印消息。第二实施例描述如何通过抽取未出现在该范围中,或者低于灰度直方图中的某一频率的频率,抽取水印消息。
图17是第二实施例中的数字水印嵌入前后的灰度直方图。
图17的曲线图1是字符1700的灰度直方图。在本实施例中,字符的灰度值由256级表示,黑灰度值被设置为“0”,白灰度值被设置为“255”。在图17的曲线图1中,该曲线图的左端表示灰度值“0”(黑),右端表示灰度值“255”(白)。
曲线图1中的从“a”到“b”的区间是嵌入水印消息的灰度值的区间(它表示为[a,b]),并且是最小值“a”和最大值“b”。可在满足下述条件表达式的范围中预先确定“a”和“b”0≤a<b≤200曲线图1中的“h”是[a,b]中的最高频率。“a”和“b”的值可由用户设置。
图17的曲线图2通过使灰度直方图的大于b的一部分灰度值变到[a,b]中,并用“k”校正[a,b]的所有频率,表示“0”被嵌入的情况。图17的曲线图3通过使[a,b]的所有灰度值变成大于b的某一值,并把[a,b]的频率设置为“0”,表示“1”被嵌入的情况。通过利用灰度直方图的某一灰度区间中的频率的大小,嵌入水印消息。例如,在“0”被嵌入的情况下,灰度直方图被校正,以致该区间中的频率变得大于“k”。在“1”被嵌入的情况下,灰度直方图被校正,以致该区间中的频率可被设置为“0”。
除了步骤S302、S306和S805之外,第二实施例中的结构和操作程序与第一实施例的相同。
图18是图解说明第二实施例中的步骤S302的操作程序的流程图。
在步骤S302e中,根据输入的文件图像数据,进行外切矩形(字符区)的抽取。
随后,计算每个抽取的字符的灰度直方图(步骤S302f)。
在步骤S302g中,根据计算的灰度直方图,计算从“a”到“b”的灰度值区间([a,b])中的最高频率h。可在满足下述表达式的范围中预先确定“a”和“b”。这些值可由用户确定。
0≤a<b≤200图19是图解说明第二实施例中的步骤S306的操作程序的流程图。
首先,在步骤S306o中,选择要嵌入的水印消息位。例如,在其被输入的情况下,“1”被分配给第一字符,如图24的例子(数字水印消息位)中所示。
在步骤S306p中,确定要嵌入的水印消息位是否为“0”。
如果在步骤S306p中确定水印消息位为“0”(步骤S306p中yes),那么处理进入步骤S306q。在步骤S306q,确定频率“h”是否小于预先定义的基准值“k”。频率“h”是[a,b]中的最高频率,并在步骤S302g中计算得到。基准值“k”为k>0,被用于数字水印的嵌入处理,还被用作数字水印消息的抽取的密钥消息。如果“h”小于基准值“k”(步骤S306q中yes),那么大于b的一部分灰度值被移向[a,b],[a,b]的所有频率被设置为“k”(步骤S306s)。处理随后返回图6。
如果确定水印消息位为“1”(步骤S306p中no),那么处理进入步骤S306r。在步骤S306r,确定频率“h”是否大于“0”。如果频率“h”大于“0”(步骤S306r中yes),那么[a,b]的灰度值被校正为大于“b”的值(步骤S306t)。处理随后返回图6。
图20是图解说明第二实施例中的步骤S805的操作程序的流程图。
首先,计算灰度直方图(步骤S805e)。根据灰度直方图,计算[a,b]中的最高频率“h”(步骤S805f)。
在步骤S805g中,确定计算的频率“h”是否小于“k×e”。如果“h”小于“k×e”(步骤S805g中yes),那么“1”被抽取为水印消息(步骤S805h)。处理随后返回图9。
另一方面,如果频率“h”不小于“k×e”(步骤S805g中no),那么“0”被抽取为水印消息(步骤S805i)。处理随后返回图9。“k”是抽取水印消息的基准值,即密钥消息。“k”可由用户利用键盘输入,或者可预先保存在存储装置中。“e”是常数并且满足0<e≤1。
在步骤S805g中,利用下面的公式可抽取水印消息。
Σi=abh(i)k×e×(b-a+1)]]> 为当[a,b]的所有频率被相加(求和)时的值。
<第三实施例>
受打印机或扫描仪的性能影响的文件图像的灰度值变浅或者全黑。于是,当在嵌入时计算的基准值被抽取时,它可能发生变化。从而,可能发生不能抽取正确的水印消息的情况。
于是,在第三和第四实施例中,不是利用在嵌入时计算的基准值来抽取水印消息,而是提出了不易受打印机或扫描仪的性能影响的水印嵌入和抽取方法。
在第三实施例中,利用两个字符的最频值的差值,而不是利用基准值来抽取水印消息。
图21图解说明第三实施例中的数字水印嵌入前后的字符。在本实施例中,利用两个字符嵌入水印消息。即,利用图21的组1的两个字符2100和2101嵌入水印消息“0”,利用组2的两个字符2102和2103嵌入水印消息“1”。
在水印消息“0”被嵌入的情况下(例如如组1中那样),第一字符2100的灰度直方图的最频值的位置被向左移动,第二字符2101的灰度直方图的最频值的位置被向右移动。
在水印消息“1”被嵌入的情况下(例如如组2中那样),第一字符2102的灰度直方图的最频值的位置被向右移动,第二字符2103的灰度直方图的最频值的位置被向左移动。
除了步骤S306和S805之外,第三实施例中的结构和操作程序与第一实施例的相同。
图22是图解说明第三实施例中的步骤S306的操作程序的流程图。在第三实施例中,由于依据两个字符的最频值的差值嵌入水印消息,因此本实施例中的步骤S306的输入由两个字符单元输入。
首先,在步骤S306u中,选择要嵌入的水印消息位。例如,在其作为水印消息被输入的情况下,“1”被分配给第一字符,如图24中所示(数字水印消息)。
在步骤S306v中,确定要嵌入的水印消息位是否为“1”。
如果确定水印消息位为“1”(步骤S306v中yes),那么处理进入步骤S306x。在步骤S306x中,第一字符的校正范围的所有灰度值被校正为“b”,从而最频值可被设置为“b”。随后,第二字符的校正范围的所有灰度值被校正为“a”,以致最频值可被设置成“a”(步骤S306z)。即使在扫描之后出现灰度值的差异,通过确定“差值(第一字符的最频值-第二字符的最频值)>0”,能够抽取水印消息“1”。处理随后返回图6。
如果确定水印消息位不为“1”(步骤S306v中no),那么处理进入步骤S306y。在步骤S306y中,第一字符的校正范围的所有灰度值被校正为“a”,从而最频值可被设置为“a”。随后,第二字符的校正范围的所有灰度值被校正为“b”,以致最频值可被设置成6“b”(步骤S306aa)。当抽取时,如果差值<0被满足,那么将确定水印消息“0”被嵌入。处理随后返回图6。
图23是图解说明第三实施例中的步骤S805的操作程序的流程图。
首先,计算选择的字符矩形的最频值(步骤S80j)。计算下一字符矩形的最频值(步骤S805k)。通过从第一字符的最频值中减去第二字符的最频值,计算第二矩形和下一(第二)字符矩形的最频值之间的差值(步骤S805l)。在步骤S805m中,确定在步骤S805l中计算的差值是否大于“0”。在差值大于“0”的情况下(步骤S805m中yes),“1”被抽取为水印消息(步骤S805n),处理返回图11。另一方面,在差值小于“0”的情况下(步骤S805m中no),“0”被抽取为水印消息(步骤S805o),处理返回图11。
本实施例中,由于并不利用嵌入设备一方设置的基准值来抽取水印消息,因此即使打印机或扫描仪的性能降低,也能够正确地抽取水印消息。
在第三实施例中,虽然利用两个字符的最频值的差值嵌入一位消息,不过也可利用两个字符的最频值之和来嵌入所述一位信息。作为利用两个字符的最频值之和嵌入水印消息的方法,在水印消息为“1”的情况下,第一字符的最频值和第二字符的最频值都被变成“b”。在水印消息为“0”的情况下,第一字符的最频值和第二字符的最频值都被变成“a”。作为抽取利用该方法嵌入的水印消息的方法,计算第一字符的最频值和第二字符的最频值之和。在所述总和大于2t的情况下,水印消息“1”被抽取,在所述总和小于2t的情况下,水印消息“0”被抽取。在使用两个字符的最频值之和的情况下,基准值被用于抽取。从而,能够比第一实施例更正确地抽取水印消息。
如果组合所述差值和总和,那么可在两个字符嵌入m位的多值,能够嵌入更多的消息。
<第四实施例>
在本实施例中,利用抽取设备一方计算的基准值,而不使用嵌入设备一方设置的基准值抽取水印消息。
本实施例中当嵌入水印消息时的结构和操作的所需程序与第一实施例的相同。例如,第一实施例,第一变型或第二变型中的任意一个足以嵌入本实施例的水印。
但是,当嵌入水印消息时,在第一实施例的步骤S306a中,数字水印消息被顺序嵌入选择的字符中。在本实施例中,如图24中的例子中所示,固定的消息位被嵌到第一行和第二行的字符中,从第三行嵌入数字水印消息位。当抽取水印消息时,使用该固定消息位来计算基准值“t”。
嵌入固定消息位的地方可以不是文件的头部,而是在文件的后面,或者也可以在其它地方被嵌入。虽然嵌入固定消息位的字符的数目不限制于文件的两行,不过当计算基准值时,最好是嵌入到一定数目的字符中。
除了第一实施例的步骤S805之外,本实施例中水印消息抽取时的结构和操作程序与第一实施例的相同。但是由于不同于水印消息的固定消息位被嵌入,因此必须获得和抽取在嵌入固定消息位的地方的消息。该消息可事先在嵌入设备和抽取设备之间共享消息,或者该消息可与文件图像无关地接收自嵌入设备一方。
图25是图解说明第四实施例中的步骤S805的操作程序的流程图。由于从图25的步骤S805a到步骤S805d的处理与第一实施例的图12相同,因此这里不再赘述。
在步骤S805p,根据抽取的固定消息位计算基准值“t”。下面参考图26更详细地说明步骤S805p。
首先,根据存在于文件的前两行中的字符,计算字符的最频值(步骤S805p1)。在水印被嵌入的情况下,固定消息位被嵌入所述前两行。计算其中嵌入“1”的字符的最频值的最小值“b1”(步骤S805p2)。计算其中嵌入“0”的字符的最频值的最大值“a1”(步骤S805p3)。随后,利用公式“t=(a1+b1)/2”计算基准值“t”(步骤S805p4)。可利用最频值的平均值设置“b1”和“a1”。处理随后返回图25。
在本实施例中,不使用嵌入设备一方计算的基准值,抽取设备一方重新计算基准值,利用新的基准值抽取水印消息。于是,即使打印机或扫描仪的性能降低,也能够正确地抽取水印消息。
在通过打印或扫描操作改变字符的灰度的情况下,在嵌入时计算的基准值将改变。本实施例的基准值是校正这种影响的值。
<其它实施例>
注意本发明可被应用于包括单个装置的设备或者包括多个装置的系统。
此外,可通过把实现前述实施例的功能的软件程序直接或间接地提供给系统或设备,利用系统或设备的计算机读取提供的程序代码,随后执行所述程序代码来实现本发明。这种情况下,只要系统或设备具有程序的功能,那么实现的最频值不必依赖于程序。
只要系统或设备具有程序的功能,那么可以任意形式,例如目标代码,由解释程序执行的程序,或者提供给操作系统的脚本数据来执行所述程序。
可被用于提供程序的存储介质的例子是软盘、硬盘、光盘、磁光盘、CD-ROM(光盘只读存储器)、CD-R(可记录的CD)、CD-RW(可重写的CD)、磁带、非易失性存储卡、ROM和数字通用视盘(例如DVD-ROM、DVD-R)。
就提供程序的方法来说,通过利用客户机计算机的浏览器,可使客户机计算机与因特网上的网站连接,本发明的计算机程序或者所述程序的可自动安装的压缩文件可被下载到诸如硬盘之类的记录介质上。此外,通过把构成所述程序的程序代码分成多个文件,并从不同的网站下载所述文件,可提供本发明的程序。换句话说,WWW(万维网)服务器可把由计算机实现本发明的功能的程序文件下载给多个用户。
还可对本发明的程序加密并将其保存在诸如CD-ROM之类的存储介质上,把该存储介质分发给用户,允许满足某些要求的用户通过因特网从网站下载解密密钥消息,并且允许用户利用所述密钥消息对加密程序解密,以致程序被安装在用户计算机中。
除了由计算机通过执行读取的程序来实现根据实施例的上述功能的情况之外,在计算机上运行的操作系统等可执行所有或部分的实际处理,以致上述实施例的功能可由该处理实现。
在程序被从存储介质读取之后,它可被写入插入计算机中的功能扩展卡中,或者被写入设置在与计算机连接的功能扩展单元中的存储器中。安装在功能扩展卡或功能扩展单元上的CPU等执行所有或者部分的实际处理,从而上述实施例的功能可由该处理实现。
由于在不脱离本发明的精神和范围的情况下,能够做出本发明的许多明显不同的实施例,因此除了如附加权利要求中限定的之外,本发明并不局限于其特定实施例。
权利要求
1.一种图像处理设备,包括输入文件图像的图像输入单元;从图像输入单元输入的文件图像抽取字符图像的抽取单元;和通过校正抽取单元抽取的字符图像的灰度值,嵌入水印消息的嵌入单元。
2.按照权利要求1所述的图像处理设备,其中嵌入单元通过把抽取单元抽取的字符图像的灰度值校正为大于基准值的第一预定值,或者小于基准值的第二预定值,嵌入水印消息。
3.按照权利要求2所述的图像处理设备,其中基准值由一个字符图像中的灰度值的最频值,或者文件图像的所有字符图像中的灰度值的最频值定义。
4.按照权利要求1所述的图像处理设备,其中嵌入单元通过确定文件图像中的两个或更多字符图像的灰度值之间的预定关系,嵌入水印消息。
5.按照权利要求1所述的图像处理设备,其中嵌入单元嵌入水印消息和预定消息,当抽取水印消息时,使用所述预定消息。
6.按照权利要求1所述的图像处理设备,还包括产生抽取单元抽取的字符图像的灰度直方图的产生单元。
7.其中按照权利要求1所述的图像处理设备,其中嵌入单元通过根据灰度值的最频值校正周围的灰度值,嵌入水印消息。
8.一种图像处理设备,包括输入带水印的文件图像的输入单元;获得输入单元输入的文件图像中的字符图像的最频值的分析单元;和通过比较字符图像的最频值和一预定值,抽取水印消息的抽取单元。
9.按照权利要求8所述的图像处理设备,其中字符图像的最频值是字符图像中的灰度值的最频值,预定值是以一个字符图像中的灰度值的最频值为基础,或者以文件图像中的所有字符图像的灰度值的最频值为基础的值。
10.按照权利要求8所述的图像处理设备,还包括产生字符图像的灰度直方图的产生单元。
11.一种图像处理方法,包括输入文件图像的图像输入步骤;从文件图像抽取字符图像的抽取步骤;和通过校正字符图像的灰度值,嵌入水印消息的嵌入步骤。
12.按照权利要求11所述的图像处理方法,其中嵌入步骤通过把字符图像的灰度值校正为大于基准值的第一预定值,或者小于基准值的第二预定值,嵌入水印消息。
13.按照权利要求11所述的图像处理方法,其中嵌入步骤通过确定文件图像中的两个或更多字符图像的灰度值之间的预定关系,嵌入水印消息。
14.按照权利要求11所述的图像处理方法,其中嵌入步骤嵌入水印消息和预定消息,当抽取水印消息时,使用所述预定消息。
15.按照权利要求11所述的图像处理方法,其中嵌入步骤通过校正灰度值的最频值的周围灰度值,嵌入水印消息。
16.一种图像处理方法,包括输入带水印的文件图像的输入步骤;获得文件图像中的字符图像的最频值的分析步骤;和通过比较最频值和一预定值,抽取水印消息的抽取步骤。
17.按照权利要求16所述的图像处理方法,其中灰度值是字符图像中的灰度值的最频值,预定值是以一个字符图像中的灰度值的最频值为基础,或者以文件图像中的所有字符图像的灰度值的最频值为基础的值。
18.一种用于实现按照权利要求11所述的图像处理方法的计算机程序。
19.一种保存按照权利要求18所述的程序的计算机可读存储介质。
20.一种用于实现按照权利要求16所述的图像处理方法的计算机程序。
21.一种保存按照权利要求20所述的程序的计算机可读存储介质。
全文摘要
本申请涉及图像处理设备、方法,计算机程序和计算机可读存储介质。提供一种消息处理设备,它包括输入文件图像的图像输入单元,从输入的文件图像抽取字符图像的抽取单元,和通过校正抽取的字符图像的灰度值,嵌入水印消息的嵌入单元。
文档编号G06T1/00GK1716310SQ20051008117
公开日2006年1月4日 申请日期2005年6月29日 优先权日2004年6月30日
发明者呂玲 申请人:佳能株式会社