首页> 中国专利> 二值图像中数字水印的嵌入、提取方法和装置

二值图像中数字水印的嵌入、提取方法和装置

摘要

本发明公开了一种二值图像中数字水印的嵌入方法,该方法为:将二值图像的部分或全部划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;将所述第一数字序列分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;使用基于量化表的量化方法,将待嵌入水印信号嵌入到所述第二数字序列中,得到第三数字序列;对所述第三数字序列进行逆哈达玛变换得到第四数字序列,根据该第四数字序列确定每个图像块中需要改变颜色的像素点个数,在所述每个图像块中选择相应个数的像素点,并改变所选择像素点的颜色。采用本发明,嵌入水印的图像视觉效果良好,能够抵抗打印复印和扫描攻击。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-22

    未缴年费专利权终止 IPC(主分类):G06T 1/00 专利号:ZL2007101216427 申请日:20070911 授权公告日:20101013

    专利权的终止

  • 2022-06-28

    专利权的转移 IPC(主分类):G06T 1/00 专利号:ZL2007101216427 登记生效日:20220616 变更事项:专利权人 变更前权利人:北京大学 变更后权利人:北京大学 变更事项:地址 变更前权利人:100871 北京市海淀区颐和园路5号 变更后权利人:100871 北京市海淀区颐和园路5号 变更事项:专利权人 变更前权利人:北大方正集团有限公司 北京北大方正电子有限公司 变更后权利人:新方正控股发展有限责任公司 北京北大方正电子有限公司

    专利申请权、专利权的转移

  • 2010-10-13

    授权

    授权

  • 2008-04-09

    实质审查的生效

    实质审查的生效

  • 2008-02-13

    公开

    公开

说明书

技术领域

本发明涉及数字水印技术领域,尤其涉及二值图像中数字水印的嵌入、提取方法和装置。

背景技术

数字化网络技术的飞速发展对多媒体的版权保护与内容鉴别提出了新的更高的要求,数字水印技术就是应这种要求而逐步发展起来的。所谓数字水印(Digital Watermarking)就是利用人类视觉或者听觉的不敏感性往多媒体数据(如图像、音频、视频等数字信号)中添加某些冗余信息以达到信息隐藏的目的,从而可以对著作权声明、许可使用条件等进行知识产权保护。发展数字水印技术的原动力是为多媒体数据提供版权保护,但事实上数字水印在电子数据的真伪鉴别、数字产品的隐含标注以及网络的秘密通信中也有非常重要的应用。

数字水印技术从上世纪九十年代初诞生以后,近十几年的时间得到了长足和迅猛的发展。关于灰度图像、音频和视频水印技术的研究方兴未艾并取得了很好的成果。但是关于二值图像,尤其是二值文本图像的数字水印技术的研究还刚刚起步,特别是涉及二值文本图像在被打印(以及打印后的若干次复印)后以纸介质形式进行传播的消息源头追踪、版权保护的研究还处于空白。另外,随着数字化技术的迅猛发展,将文本文件在电子格式和打印格式之间进行转换变得非常容易,打印复印和扫描已成为目前文本文件进行复制和传播的普遍方式。而通常的,将电子格式的文本文件进行打印时,首先是通过打印控制器将文本文件转化成二值黑白图像然后以点阵的形式输入到打印机内;另外,将纸介质的文档文件通过扫描仪扫描到计算机内转换成电子格式也是以二值图像的方式存在的。因此设计并实现用于二值图像(特别是二值文本图像)的能够抵抗打印复印和扫描攻击的数字水印技术是必要也是重要的。

目前关于这一方向的研究还不多,其主要成果可以分为两大类,一是基于底纹的技术,二是基于文字特征的技术。比如说在中国专利“一种在文本文档中嵌入及检测数字水印的方法和装置,专利号200510125727.3.”中给出了一种基于底纹的二值文本图像的信息隐藏方法。该专利中,作者们设计了几种不同的点阵模式分别代表不同的水印信息,然后以适当的方式将水印信息以点阵的形式平铺在整个二值文档上。这种方法的优点是水印量大并可以抵抗若干次复印,缺点是浪费油墨从而成本较高并且视觉效果不美观,在某些情况下还可能影响文件的阅读。另外,在中国专利“一种文档加密方法,专利号200510093364.X.”中给出了一种基于文字特征的二值文本图像的信息隐藏方法。该专利通过修改某些文字的特征(比如说笔画的位置)达到可以识别的两种模式(比如说上移某个笔画代表1,下移某个笔画代表0)从而实现水印嵌入。和基于底纹的技术相比较,嵌入水印后的文档看上去要整洁的多,但是嵌入的水印信息量小而且对于某些改动后的文字由于其整体框架产生了变化,从而其视觉效果非常不好。另外这种方法在本质上还不是一种盲的水印算法。还有就是,该算法在水印提取时需要进行字符切分和OCR识别,我们知道目前的OCR技术并不能保证百分百的识别率,所以这也影响了最后的水印提取效率。

通过对以上方法的研究发现,现有的用于二值图像的数字水印嵌入方法都不能同时满足下述的要求:

(1)可以抵抗打印复印和扫描攻击;

(2)能够使嵌入水印的图像保持良好的视觉效果;

(3)水印检测时做到盲提取。

发明内容

本发明提供一种二值图像中数字水印的嵌入、提取方法和装置,用以解决现有技术中用于二值图像的数字水印嵌入方法不能同时满足抵抗打印复印和扫描攻击、保持良好的视觉效果和水印提取时可以做到盲提取的问题。

本发明提供一种二值图像中数字水印的嵌入方法,该方法包括以下步骤:

A.将二值图像的部分或全部划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;

B.将所述第一数字序列分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;

C.使用基于量化表的量化方法,将待嵌入水印信号嵌入到所述第二数字序列中,得到第三数字序列;

D.对所述第三数字序列进行逆哈达玛变换得到第四数字序列,根据该第四数字序列确定步骤A中每个图像块中需要改变颜色的像素点个数,在所述每个图像块中选择相应个数的像素点,并改变所选择像素点的颜色。

本发明提供一种二值图像中数字水印的提取方法,该方法包括以下步骤:

A.将嵌入水印信号的二值图像,按照与所述水印嵌入相同的方式划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;

B.将所述第一数字序列,按照与所述水印嵌入相同的方式进行分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;

C.根据所述水印嵌入中使用的基于量化表的量化方法,从所述第二数字序列中获得水印信号。

本发明提供一种实现数字水印嵌入的装置,该装置包括:

分组单元,用于将二值图像的部分或全部划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;

变换单元,用于将所述第一数字序列分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;

量化单元,用于使用基于量化表的量化方法,将待嵌入水印信号嵌入到所述第二数字序列中,得到第三数字序列;

嵌入单元,用于对所述第三数字序列进行逆哈达玛变换得到第四数字序列,根据该第四数字序列确定分组单元划分的每个分组中需要改变颜色的像素点个数,在所述每个分组选择相应个数的像素点,并改变所选择像素点的颜色。

本发明提供一种数字水印的提取装置,该装置包括:

分组单元,用于将嵌入水印信号的二值图像,按照与所述水印嵌入相同的方式划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;

变换单元,用于将所述第一数字序列,按照与所述水印嵌入相同的方式进行分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;

提取单元,用于根据所述水印嵌入中使用的基于量化表的量化方法,从所述第二数字序列中获得水印信号。

采用本发明,可以成功实现数字水印在二值图像的嵌入和提取,嵌入水印后的图像的视觉效果良好,并且能够抵抗打印复印和扫描攻击,另外水印提取时不需要原始图像参与。因此,本方法是一种高鲁棒性的盲水印算法,可以用于重要文档的信息隐藏、消息源头追踪和版权保护等。

附图说明

图1A为本发明中在二值图像中嵌入水印的流程图;

图1B为本发明中在二值图像中提取水印的流程图;

图2为本发明实施例一中的二值文本图像;

图3为本发明实施例一中的字符切分结果示意图;

图4为本发明实施例一中字符切分后的分组示意图;

图5为本发明实施例一中嵌入水印信息后的图像;

图6A为本发明实施例一中对未嵌入水印信息的图像的局部放大;

图6B为本发明实施例一中对嵌入水印信息的图像的局部放大;

图7为本发明实施例一中对嵌入水印信息的图像打印后通过扫描得到的灰度图像;

图8为本发明实施例一中对图7通过二值化得到的二值图像;

图9为本发明实施例一中对图8进行水印提取时字符切分的结果示意图;

图10为本发明实施例一中对图9中图像块进行分组的示意图;

图11为本发明实施例一中对嵌入水印信息的图像的一次复印件进行扫描和二值化得到的图像;

图12为本发明实施例一中对嵌入水印信息的图像的二次复印件进行扫描和二值化得到的图像;

图13为本发明实施例一中对嵌入水印信息的图像的三次复印件进行扫描和二值化得到的图像;

图14为本发明实施例二中的二值文本图像;

图15为本发明实施例二中嵌入水印信息后的图像;

图16为本发明实施例二中对嵌入水印信息的图像的打印件通过扫描和二值化得到的二值图像;

图17为本发明实施例二中对嵌入水印信息的图像的一次复印件进行扫描和二值化得到的图像;

图18为本发明实施例二中对嵌入水印信息的图像的二次复印件进行扫描和二值化得到的图像;

图19为本发明实施例二中对嵌入水印信息的图像的三次复印件进行扫描和二值化得到的图像;

图20为本发明实施例三中的二值印章图像;

图21为本发明实施例三中进行图像分组的示意图;

图22为本发明实施例三中嵌入水印信息后的图像;

图23为本发明实施例三中对嵌入水印信息的图像的打印件通过扫描和二值化得到的二值图像;

图24为本发明实施例三中对嵌入水印信息的图像的一次复印件进行扫描和二值化得到的图像;

图25为本发明实施例三中对嵌入水印信息的图像的二次复印件进行扫描和二值化得到的图像;

图26为本发明实施例提供的水印嵌入装置;

图27为本发明实施例提供的水印提取装置。

具体实施方式

为了能够抵抗打印复印和扫描攻击,使嵌入水印的图像保持良好的视觉效果,以及在水印检测时做到盲提取,本发明提供一种二值图像中数字水印的嵌入方法和一种二值图像中数字水印的提取方法,其中,数字水印的嵌入方法的具体流程如下,参见图1A:

步骤101:获取二值图像S1;

步骤102:将二值图像S1或S1的子集,即S1的部分或全部划分为多个图像块,根据每个图像块所包含的黑色像素点个数得到第一数字序列S2;

步骤103:将第一数字序列S2分组,对每个分组中的数据进行哈达玛(Hadamard)变换,得到每个分组对应的第二数字序列S2H;

步骤104:使用基于量化表量化的方法,将待嵌入水印信号嵌入到第二数字序列中,即根据待嵌入水印信号和预先设定的量化表,将第二数字序列中的数据进行数值转换,得到第三数字序列S2HW;

步骤105:对所述第三数字序列进行逆哈达玛变换得到第四数字序列S2W;

步骤106:根据所述第四数字序列确定步骤102中每个图像块中需要改变颜色的像素点个数;

步骤107:通过在所述每个图像块中选择相应个数的像素点,并改变所选择像素点的颜色,来实现水印嵌入。

数字水印的提取方法的具体流程如下,参见图1B:

步骤111:获取嵌入水印信号的二值图像;

步骤112:将嵌入水印信号的二值图像,按照与水印嵌入相同的方式,划分为多个图像块,根据每个图像块所包含黑色像素点的个数得到第一数字序列;

步骤113:将第一数字序列,按照与水印嵌入相同的方式进行分组,对每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;

步骤114:根据水印嵌入中使用的基于量化表量化的方法,从第二数字序列中获得水印信号。

下面结合附图对本发明作进一步的说明:

一、水印嵌入过程:

1、给定长度为(2N-1)M的待嵌入水印信号W={wi,j},其中wi,j=0或者1,指标i∈{1,2,...,M}和j∈{1,2,...,2N-1}。本实施例中取M=8和N=2,从而水印长度为24比特;

2、将由图2所示的一幅二值图像S1(它显示的是一段小四号中文楷体文字)进行字符切分,确定出141个字符图像块,其中每个图像块包含1个文字(如图3所示,注意这里去掉了包含黑色像素点特别少的汉字“一”和标点符号);然后按顺序将四个图像块看作一组并记前32组为

T1,T2,......,T32

于是如图4所示,我们便将二值图像S1的一个子集S1′划分成了32组

S1′=T1UT2U......UT32

3、计算上一步得到的每个分组中所包含的黑色像素点的个数,得到数字序列

S2=(S21,S22,......,S232)。

4、将数字序列S2分成8组,每组包含4个数据

(S21,S22,S23,S24),

(S25,S26,S27,S28),

............                          

(S229,S230,S231,S232)。

5、将步骤4中的每组数据作Hadamard变换得到数字序列S2H:

(S2H1,S2H2,S2H3,S2H4),

(S2H5,S2H6,S2H7,S2H8),

............

(S2H29,S2H30,S2H31,S2H32)。

这里使用阶数为4的Hadamard变换。其具体的公式是

S2H4k+1=S24k+1+S24k+2+S24k+3+S24k+4

S2H4k+2=S24k+1-S24k+2+S24k+3-S24k+4

S2H4k+3=S24k+1+S24k+2-S24k+3-S24k+4

S2H4k+4=S24k+1-S24k+2-S24k+3+S24k+4

其中,k∈{0,1,......,7}。

6、对由步骤5得到的Hadamard变换后的S2H的交流系数

(S2H2,S2H3,S2H4),

(S2H6,S2H7,S2H8),

.............

(S2H30,S2H31,S2H32)

根据水印信号W使用基于量化表的奇偶量化的方法进行水印嵌入,得到嵌入水印后的数字序列S2HW:

(S2HW2,S2HW3,S2HW4),

(S2HW6,S2HW7,S2HW8),

............

(S2HW30,S2HW31,S2HW32)。

就是说根据量化表中的量化系数K(K>0)使得:

其中指标j∈{2,3,4}和k∈{0,1,......,7}。本实施例中K=2800。显而易见,我们有

|S2HW4k+j-S2H4k+j|≤K。

7、我们将由步骤5得到的Hadamard变换后的S2H的直流系数

S2H1,S2H5,......,S2H29

调整为

S2HW1,S2HW5......,S2HW29

使得因此以及步骤6所引数字信号S2的改变尽可能的小。就是使得对信号S2HW

(S2HW1,S2HW2,S2HW3,S2HW4),

(S2HW5,S2HW6,S2HW7,S2HW8),

(S2HW29,S2HW30,S2HW31,S2HW32)

作逆Hadamard变换后得到包含水印的信号S2W

(S2W1,S2W2,S2W3,S2W4),

(S2W5,S2W6,S2W7,S2W8),

.............

(S2W29,S2W30,S2W31,S2W32)

相对于原始信号S2的改变尽可能的小。具体的说就是选择S2HW4k+1使得每个分组信号

(S24k+1,S24k+2,S24k+3,S24k+4)

的改变量的绝对值的最大值

max(|S2W4k+1-S24k+1|,|S2W4k+2-S24k+2|,|S2W4k+3-S24k+3|,|S2W4k+4-S24k+4|)达到最小。这只需要选择

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mrow><msubsup><mi>&Delta;</mi><mi>k</mi><mi>max</mi></msubsup><mo>+</mo><msubsup><mi>&Delta;</mi><mi>k</mi><mi>min</mi></msubsup></mrow><mn>2</mn></mfrac><mo>,</mo></mrow>

其中Δkmax是下述四个数的最大值,Δkmin是下述四个数的最小值。

-((S2HW4k+2-S2H4k+2)+(S2HW4k+3-S2H4k+3)+(S2HW4k+4-S2H4k+4)),

-(-(S2HW4k+2-S2H4k+2)+(S2HW4k+3-S2H4k+3)-(S2HW4k+4-S2H4k+4)),

-((S2HW4k+2-S2H4k+2)-(S2HW4k+3-S2H4k+3)-(S2HW4k+4-S2H4k+4)),

-(-(S2HW4k+2-S2H4k+2)-(S2HW4k+3-S2H4k+3)+(S2HW4k+4-S2H4k+4))。

这里Hadamard逆变换的公式为

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub></mrow><mn>4</mn></mfrac><mo>,</mo></mrow>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub></mrow><mn>4</mn></mfrac><mo>,</mo></mrow>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub></mrow><mn>4</mn></mfrac><mo>,</mo></mrow>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>=</mo><mfrac><mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>+</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub></mrow><mn>4</mn></mfrac><mo>.</mo></mrow>

注意到

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo></mrow>

<mfrac><mrow><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>)</mo></mrow></mrow><mn>4</mn></mfrac>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>=</mo></mrow>

<mfrac><mrow><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>)</mo></mrow></mrow><mn>4</mn></mfrac>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>=</mo></mrow>

<mfrac><mrow><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>)</mo></mrow></mrow><mn>4</mn></mfrac>

<mrow><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>=</mo></mrow>

<mfrac><mrow><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>3</mn></mrow></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>HW</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>H</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mn>4</mn></mrow></msub><mo>)</mo></mrow></mrow><mn>4</mn></mfrac>

于是不难得到,对于任何j∈{1,2,3,4}和k∈{0,1,......,7}

<mrow><mo>|</mo><msub><mrow><mi>S</mi><mn>2</mn><mi>W</mi></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mrow><mi>S</mi><mn>2</mn></mrow><mrow><mn>4</mn><mi>k</mi><mo>+</mo><mi>j</mi></mrow></msub><mo>|</mo><mo>&le;</mo><mfrac><mrow><msubsup><mi>&Delta;</mi><mi>k</mi><mi>max</mi></msubsup><mo>-</mo><msubsup><mi>&Delta;</mi><mi>k</mi><mi>min</mi></msubsup></mrow><mn>8</mn></mfrac><mo>&le;</mo><mfrac><mi>K</mi><mn>2</mn></mfrac><mo>.</mo></mrow>

这说明上述过程引起的每个信号S2i的改变都不会超过量化系数K的一半。

8、根据上一步得到的数字序列S2W可以得到原始信号S2所需要的改变量信号ΔS2=(ΔS21,ΔS22,......,ΔS232),其中

ΔS2i=round(S2Wi-S2i),

这里函数round(x)表示与x最靠近的整数。

9、根据上一步得到的改变量信号ΔS2来翻转二值图像S1的若干个像素点以实现水印嵌入。就是说当ΔS2i>0时则在分组Ti中选择ΔS2i个白色像素点将其翻转为黑色;当ΔS2i<0时则在分组Ti中选择ΔS2i个黑色像素点将其翻转为白色;当ΔS2i=0时不对分组Ti作任何操作。这就完成了水印嵌入,图5是嵌入水印后的二值图像。

二、水印提取过程:

1、对获取的如图8所示的嵌入水印的二值图像S1进行字符切分,确定出141字符个图像块,其中每个图像块包含1个文字,如图9所示;然后按顺序将四个图像块看作一组并记前32组为

T1,T2,......,T32

于是如图10所示,我们便将二值图像S1的一个子集S1′划分成了32组

S1′=T1UT2U......UT32

2、计算上一步得到的每个分组中所包含的黑色像素点的个数,得到数字序列

S2=(S21,S22,......,S232)。

3、将数字序列S2分成8组,每组包含4个数据

(S21,S22,S23,S24),

(S25,S26,S27,S28),

............

(S229,S230,S231,S232)。

4、将步骤3中的每组数据作Hadamard变换得到数据S2H:

(S2H1,S2H2,S2H3,S2H4),

(S2H5,S2H6,S2H7,S2H8),

......

(S2H29,S2H30,S2H31,S2H32)。

5、对由步骤4得到的Hadamard变换后的S2H的交流系数

(S2H2,S2H3,S2H4),

(S2H6,S2H7,S2H8),

......

(S2H30,S2H31,S2H32)。

根据水印嵌入时使用的基于量化表的奇偶量化方法提取水印信息<mrow><mover><mi>W</mi><mo>~</mo></mover><mo>=</mo><mo>{</mo><msub><mover><mi>w</mi><mo>~</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>}</mo><mo>,</mo></mrow>其中指标i∈{1,2,...,M}和j∈{1,2,...,2N-1}。具体的说就是

量化系数K=2800。这就完成了水印提取。

下面简要的解释一下为什么本发明中的算法是空频域相结合的。注意到水印嵌入过程中,水印被嵌在了Hadamard变换的交流系数中从而是一种频率域水印嵌入方法。但是我们在水印嵌入之后又通过调节Hadamard变换的直流系数来控制空域信号S2的变化幅度。可以证明,空域信号S2的改变量ΔS2=(ΔS21,ΔS22,......,ΔS232)满足

<mrow><mo>|</mo><msub><mrow><mi>&Delta;S</mi><mn>2</mn></mrow><mi>k</mi></msub><mo>|</mo><mo>&le;</mo><mfrac><mi>K</mi><mn>2</mn></mfrac><mo>+</mo><mn>1</mn><mo>,</mo></mrow>

其中K是事先选定的量化系数。就是说每个分组内的黑点个数的改变量不会超过量化系数的一半加1。这样,我们就可以通过调节量化系数来达到控制空域信号S2和S1的变化幅度,从而达到保持嵌入水印后的二值图像的视觉效果的目的。

最后再通过几个实施例来说明本发明所述的在二值图像中嵌入水印和提取水印方法的鲁棒性。

实施例一:

对如图2所示的一幅中文楷体小四号字文本图像,我们使用本发明所述的方法对其嵌入24比特水印信息。水印嵌入的流程和所需的参数前面已经详述,这里不再重复。图5是嵌入水印后的图像,图6A和图6B是原始图像和嵌入水印图像的一个局部放大。可以看到,嵌入水印后的图像的视觉效果良好,很难看出字符被修改的痕迹,事实上嵌入水印的字符只是略微变粗或者变细,并不影响字符的整体框架。当图像被打印后,我们对纸介质的打印件通过扫描仪将其扫描到计算机内变为灰度图像格式的电子文件,如图7所示,然后将灰度图像二值化重新得到二值图像格式的文本图像,如图8所示。接着通过本发明中的水印算法提取水印,可以成功提取全部24比特的水印信息。

下面对打印后的纸介质文档复印,然后将复印件扫描到计算机内得到灰度图像,再对灰度图像二值化得到二值图像格式的文本图像,如图11所示。对于图11,我们可以使用水印提取算法成功提取全部24比特的水印信息。

接着,对一次复印的纸介质文档再次复印,然后通过扫描和二值化将其转化成如图12所示的二值图像,我们仍可以从中提取全部24比特的水印信息。

最后,对二次复印件再次复印,然后通过扫描和二值化将其转化成如图13所示的二值图像,本次水印提取时错了1个比特,成功提取了23比特的水印信息。

因此,本实施例中可以抵抗打印和两次复印。

实施例二:

对如图14所示的一幅中文宋体小四号字文本图像,我们使用本发明所述的方法对其嵌入24比特水印信息。水印嵌入的流程和所需的参数和上一实例相同,这里不再重复。图15是嵌入水印后的图像。然后将该图像打印扫描以及二值化重新得到二值图像格式的文本图像,如图16所示。通过水印提取算法可以从中成功提取全部24比特的水印信息。

下面对打印后的纸介质文档复印,然后将复印件扫描以及二值化得到二值图像格式的文本图像,如图17所示。对于图17,我们可以使用水印提取算法成功提取全部24比特的水印信息。

接着,对一次复印的纸介质文档再次复印,然后通过扫描和二值化将其转化成如图18所示的二值图像,我们仍可以从中提取全部24比特的水印信息。

最后,对二次复印件再次复印,然后通过扫描和二值化将其转化成如图19所示的二值图像,本次水印提取时错了2个比特,成功提取了22比特的水印信息。

因此,本实施例中可以抵抗打印和两次复印。

实施例三:

对如图20所示的一幅印章图像(放大两倍显示,原始图像大小为1024×1024像素,原始图像显示大小为4.4cm×4.4cm),我们使用本发明所述的方法对其嵌入15比特水印信息。水印嵌入时首先将图像等分成20个扇形,每个扇形看成一组,于是将图20分成了20组,如图21所示,图中显示了第1组、第2组和第20组。然后计算每组中的黑点个数得到长度为20的一个数字信号,将该信号分组并对每组作四阶的Hadamard变换。接着按照本发明所述算法并使用奇偶量化进行水印嵌入,共嵌入了长度为20÷4×3=15比特的水印信息,其中量化系数K=1500。图22是嵌入水印后的图像。然后将该图像打印扫描,再作二值化得到如图23所示的二值图像。通过水印提取算法可以从中成功提取全部15比特的水印信息。

下面对打印后的纸介质文档复印,然后将复印件扫描以及二值化得到二值图像格式的印章图像,如图24所示。对于图24,我们可以使用水印提取算法成功提取全部15比特的水印信息。

接着,对一次复印的纸介质文档再次复印,然后通过扫描和二值化将其转化成如图25所示的二值图像,本次水印提取时错了3个比特,成功提取了12比特的水印信息。

因此,本实施例中可以抵抗打印和一次复印。

参见图26,本发明还提供一种实现数字水印嵌入的装置,该装置包括:分组单元2601,用于将二值图像的部分或全部划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;变换单元2602,用于将所述第一数字序列分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;量化单元2603,用于使用基于量化表的量化方法,将待嵌入水印信号嵌入到所述第二数字序列中,得到第三数字序列;嵌入单元2604,用于对所述第三数字序列进行逆哈达玛变换得到第四数字序列,根据该第四数字序列确定分组单元划分的每个分组中需要改变颜色的像素点个数,在所述每个分组选择相应个数的像素点,并改变所选择像素点的颜色。

量化单元2603包括:获取单元,用于获取待嵌入水印信号和所保存的奇偶量化表中的量化系数,该量化系数为大于零的数;第一转换单元,用于将所述第二数字序列的交流系数中的各个数据进行数值转换,转换方法为:如果与待转换数据对应的水印信号为1,则将所述数据转换为最接近本数据的量化系数的奇数倍;如果与待转换数据对应的水印信号为0,则将所述数据转换为最接近本数据的量化系数的偶数倍。

量化单元2603进一步包括:调整单元,用于将所述第二数字序列的直流系数中的各个数据进行数值转换,使得所述第四数字序列相对于所述第一数字序列的数据改变量的能量最小,所述数据改变量的能量为数据改变量的绝对值的最大值。

嵌入单元2604包括:逆变换单元,用于对所述第三数字序列进行逆哈达玛变换得到第四数字序列;个数确定单元,用于计算所述第四数字序列中的每个数据与所述第一数字序列中对应数据的差,将计算结果取整后作为分组中改变颜色像素点的个数;颜色改变单元,用于根据个数确定单元确定的个数改变分组中像素点的颜色,如果所述个数大于零,则在分组单元中划分的对应分组中选择相应个数的白色像素点,并将该像素点的颜色变为黑色;如果所述个数小于零,则在分组单元中划分的对应分组中选择相应个数的黑色像素点,并将该像素点的颜色变为白色。

下面结合具体实施例对本水印嵌入装置的工作流程进行说明:

步骤S01:水印嵌入装置的分组单元将由图2所示的二值图像S1进行字符切分并分组,根据每个分组包含的黑色像素点的个数,得到数字序列S2,具体同水印嵌入方法部分的步骤2-3;

步骤S02:水印嵌入装置的变换单元将数字序列S2进行分组,将每个分组中的数据作Hadamard变换得到数字序列S2H,具体同水印嵌入方法部分的步骤4-5;

步骤S03:水印嵌入装置的量化单元使用基于量化表的量化方法,将待嵌入水印信号嵌入到数字序列S2H中,得到数字序列S2HW;

具体的,量化单元中的获取单元获取待嵌入水印信号和所保存的奇偶量化表中的量化系数;第一转换单元根据水印信号对数字序列S2H的交流系数进行水印嵌入;调整单元调节数字序列S2H的直流系数,得到数字序列S2HW,具体同水印嵌入方法部分的步骤6-7;

步骤S04:水印嵌入装置的嵌入单元对数字序列S2HW进行逆哈达玛变换,根据变换后的数字序列改变像素点颜色实现水印嵌入;

具体的,嵌入单元中的逆变换单元对数字序列S2HW进行逆哈达玛变换得到数字序列S2W,根据S2W确定分组单元划分的每个分组中需要改变颜色的像素点个数,在所述每个分组选择相应个数的像素点,并改变所选择像素点的颜色,具体同水印嵌入方法部分的步骤8-9。

参见图27,本发明还提供一种数字水印的提取装置,该装置包括:

分组单元2701,用于将嵌入水印信号的二值图像,按照与水印嵌入相同的方式划分为至少两个图像块,根据每个图像块中的黑色像素点个数得到第一数字序列;变换单元2702,用于将所述第一数字序列,按照与所述水印嵌入相同的方式进行分组,对所述每个分组中的数据进行哈达玛变换,得到每个分组对应的第二数字序列;提取单元2703,用于根据所述水印嵌入中使用的基于量化表的量化方法,从所述第二数字序列中获得水印信号。

提取单元2703包括:计算单元,用于计算所述第二数字序列的交流系数中的每个数据与所述量化表中的量化系数的商并取整;水印确定单元,用于确定嵌入的水印信号值,如果计算单元的计算结果为奇数,则将对应的水印信号确定为1,如果计算单元的计算结果为偶数,则将对应的水印信号确定为0。

下面结合具体实施例对本水印提取装置的工作流程进行说明:

步骤S11:水印提取装置的分组单元将图5所示的嵌入水印信号的二值图像进行字符切分并分组,根据每个分组包含的黑色像素点的个数,得到数字序列S2,具体同水印提取方法部分的步骤1-2;

步骤S12:水印提取装置的变换单元将数字序列S2,按照与水印嵌入相同的方式进行分组,对每个分组中的数据进行哈达玛变换,得到数字序列S2H,具体同水印提取方法部分的步骤3-4;

步骤S13:水印提取装置的提取单元根据水印嵌入中使用的基于量化表的量化方法,从数字序列S2H中获得水印信号;

具体的,提取单元中的计算单元计算数字序列S2H的交流系数中的每个数据与量化表中的量化系数的商并取整;水印确定单元根据计算单元的计算结果确定嵌入的水印信号值,具体同水印提取方法部分的步骤5。

综上,本发明的有益效果在于:

采用本发明,可以成功实现数字水印在二值图像尤其是二值文本图像或者二值印章图像中的嵌入和提取,嵌入水印后的图像的视觉效果良好,并且能够抵抗打印复印和扫描攻击,另外水印提取时不需要原始图像参与。因此,本方法是一种高鲁棒性的盲水印算法,可以用于重要文档的信息隐藏、消息源头追踪和版权保护等,具有广泛的商业应用前景。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号