一种在二值图像上嵌入水印以及提取水印的方法

文档序号:7913443阅读:504来源:国知局
专利名称:一种在二值图像上嵌入水印以及提取水印的方法
技术领域
本发明涉及一种插入以及提取水印的方法,尤其涉及一种在二值图像上插入以及提取水印的方法。
背景技术
随着计算机网络和多媒体系统的快速发展,数字媒体(数字音频、数字图像、数字视频)被广泛应用,数字媒体的版权保护和完整性保护也成为一个亟待解决的问题。数字水印技术是解决该问题的有效方法之一。数字水印是将与数字媒体内容相关或不相关的一些标示信息直接嵌入到数字媒体内容当中,但不影响原内容的价值,并不能被人的知觉系统觉察或注意到。通过这些隐蔽在数字媒体内容中的信息,可以达到确认内容创建者、购买者,或者内容是否真实完整的目的。
目前提出的数字水印算法大都针对音频、视频、彩色图像和灰度图像等数字媒体。然而,能满足上述要求的针对二值图像(如地图、工程图纸、条形码、签名及传真文档等)的数字水印算法却很少见到。由于二值图像结构上的特殊性,已有的针对彩色或灰度图像的各种水印算法很难直接应用到二值图像。因为,对二值图像像素的修改很容易被检测到。目前已有的算法(见参考文献)鲁棒性不强,且嵌入水印后图像视觉效果不好。可对比的技术文献有以下四篇1.M.Y.Wu and J.H.Lee.“A Novel Data Embedding Method for Two-ColorFacsimile Image”in“Proceedings of International Symposium on MultimediaInformation Processing,”Tai-wan,R.O.C,December 1998。
2.H.C.Wang,C.Y.Lin,C.C.Huang,“Data Hiding in a binary image by themodified digital halftoning techniques,proceedings”,“1999Conference onComputer Vision,Graphics and Image Processing”,pp.183-190,Tanpei,Taiwan,August,1999。
3.Yu-Yuan Chen,Hsiang-Kuang Pan,and Yu-Chee Tseng,,“A Secure DataHiding Scheme for Two-Color Image”,in“IEEE Symp.on Computers andCommunications”,2000。
4.Yu-Chee Tseng,,Hsiang-Kuang Pan,“Data Hiding in 2-Color Images”,“IEEE TRANSACTIONS ON COMPUTERS”,VOL.51,NO.7,JULY 2002。

发明内容
本发明的目的是提供一种在二值图像上插入以及提取水印的方法。该方法改善了嵌入水印后图像的视觉效果,同时该算法的鲁棒性也得到增强。
为了达到上述目的,本发明采用如下技术方案一种在二值图像上嵌入水印的方法,包括以下步骤a.对二值图像提取边缘,用一个3×3的窗口从左到右,从上到下扫描全图像,用“1”表示黑像素,“0”表示白像素,对于3×3的窗口内如果像素性质不同(即有黑像素,又有白像素),且窗口的中心像素值为1,则确定该窗口的中心点是图像的边缘点,其余情况均不是边缘点;记录下这些边缘点,水印的嵌入都在边缘点进行;b.对边缘点进行分析,计算出可修改像素的优先级,以边缘点为中心,在3×3窗口内按照黑白像素的分布将边缘点分为4个优先级;c.将二值图像置乱,将数字二值图像视为一个矩阵,黑点为1,白点为0,应用Arnold变换进行图像置乱,基于位置的图像置乱的Arnold变换可写为 其中x、y∈(0,1,2,...,N-1),表示某一像素点的坐标,x′、y′为变换后的坐标,,而N是图像矩阵的阶数;d.水印预处理,在插入水印之前,对水印进行预处理,由于水印也为数字二值图像,也可将其视为一个矩阵,用卷积码对水印进行编码,即使用卷积码的生成矩阵乘以水印的数字图像矩阵;e.在置乱的二值图像中嵌入水印图像,首先将置乱的二值图像分割成互不相交的M×M大小的子块,M的取值与水印的数据量大小有关,设二值图像大小为N×N,水印图像经卷积编码后大小为I×I,则 由于置乱后的二值图像被分成I2个所述M×M的子块,正好与水印编码后形成的I×I矩阵一一对应,每一个所述M×M的子块对应I×I水印矩阵相应位置上的点;如果该水印点为0,则在所述M×M的子块中嵌入0,若所述M×M子块内黑像素的点的数目为偶数,则不做任何修改;若所述M×M子块内黑像素的点的数目为奇数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;如果该水印点为1,则在所述M×M的子块中嵌入1,若所述M×M子块内黑像素的点的数目为奇数,则不做任何修改;若所述M×M子块内黑像素的点的数目为偶数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;所有水印信息嵌入完成后,再对图像进行Arnold反变换,得到嵌入水印后的图像。
一种提取水印的方法,提取按照权利要求1所述的方法嵌入的水印,包括以下步骤a′.将嵌入水印的二值图像进行Arnold变换,使用的公式与嵌入该水印时步骤c使用的公式相同,将置乱后的二值图像划分若干互不相交的M×M子块,M的取值与嵌入该水印时M的取值相同,每个M×M的子块可提取一位水印信息,总共可提取I2为水印信息,I与嵌入水印时水印的大小I相同;b′.对每一M×M子块,如果子块内黑像素的点的数目为奇数,则提取的水印信息为1;如果子块内黑像素的点的数目为偶数,则提取的水印信息为0;提取出的水印信息组成一个I×I的矩阵,该矩阵是嵌入的水印信息经卷积码编码后的矩阵;c′.使用Viterbi算法对I×I的水印矩阵进行译码,得到一个 的矩阵,既是要提取的水印矩阵。
由于采用了上述技术方案,本发明的在二值图像上插入以及提取水印的方法首先将水印信号进行卷积编码,然后嵌入到被保护的二值图像中,提取水印后,经Viterbi译码,得到水印信号,由于Viterbi算法具有较强的纠错能力,使该方法的水印图像在经过一些通用的几何变形操作后仍能够提取出一个可信赖的水印信号。


图1是本发明的在二值图像上插入水印的方法的流程图;图2是本发明的在二值图像上提取水印的方法的流程图;图3是3×3窗口的优先级边缘特征示意图;图4是Vierbi译码算法对于(2,1,2)卷积码在L=5时的网格图;图5一二值图像的原始情况图;图6是对图5的二值图像所提取的边缘图像;图7是一水印图像;图8是图7的水印图像经卷积后得到的图像;图9是图5的二值图像插入图7的水印后的图像;图10是图9与图5的绝对误差图象;图11是不经处理直接提取的水印图象;图12是图5加水印后的图像经线性插值放大后提取的水印图像;图13是图5加水印后的图像经线性插值缩小后提取的水印图像;图14是图5加水印后的图像经一次裁剪的图像;图15是从图14提取的水印图像;图16是图5加水印后的图像经二次裁剪的图像;图17是从图16提取的水印图像;图18图5加水印后的图像加入椒盐噪声后的图像;图19是从图18提取的水印图像。
具体实施例方式
下面结合附图和实施例来进一步说明本发明的技术方案。
图1是本发明的在二值图像上插入水印的方法的流程图,如图1所示,本发明的在二值图像上插入水印的方法包括以下步骤a.对二值图像提取边缘,用一个3×3的窗口从左到右,从上到下扫描全图像,用“1”表示黑像素,“0”表示白像素,对于3×3的窗口内如果像素性质不同(即有黑像素,又有白像素),且窗口的中心像素值为1,则确定该窗口的中心点是图像的边缘点,其余情况均不是边缘点;记录下这些边缘点,水印的嵌入都在边缘点进行。上述实施例中,使用的是一个3×3的窗口来扫描全图像,也可以使用一个5×5或一个7×7的窗口来进行扫描,但使用3×3的窗口是最方便的。图5是一个二值图像的原始图像,图6是按照上述实施例所述的使用3×3窗口提取边缘点后得到的图像。
b.对边缘点进行分析,计算出可修改像素的优先级,以上述实施例中的3×3窗口为例,以边缘点为中心,在3×3窗口内按照黑白像素的分布将边缘点分为4个优先级。图3是3×3窗口的优先级边缘特征示意图,若该中心边缘点水平或垂直的两点是黑像素,如图3的(a),(b)所示的情况,则设该中心边缘点的可修改优先级为1级;如中心边缘点与其它两点黑像素构成45度或135度斜边缘,如图3的(c),(d)所示的情况,则设该中心边缘点的可修改优先级为2级;如果边缘分布如图(e),(f),(g),(h)所示的情况,则中心边缘点可修改优先级为3级;如边缘分布如图(i),(j),(k),(1)所示,则中心边缘点可修改优先级为4级,其中灰色的点表示可由白变黑。
c.将二值图像置乱,置乱算法可作为密钥用在水印的嵌入和提取算法中。置乱的目的有两个(1)将图像中可修改的像素均匀分布在图像的每一部分;(2)增加算法的保密性。将置乱后的图像进一步分割成许多大小相同的子块,每个子块嵌入一位水印信息。将数字二值图像视为一个矩阵,黑点为1,白点为0,应用Arnold变换进行图像置乱,基于位置的图像置乱的Arnold变换可写为 其中x、y∈(0,1,2,...,N-1),表示某一像素点的坐标,x′、y′为变换后的坐标,,而N是图像矩阵的阶数;d.水印预处理,在插入水印之前,对水印进行预处理,由于水印也为数字二值图像,也可将其视为一个矩阵,用卷积码对水印进行编码,即使用卷积码的生成矩阵乘以水印的数字图像矩阵。卷积编码中,本组的校验元不仅与本组的信息元有关,而且还与以前的各时刻输入至编码器的信息组有关。在卷积码译码过程中,不仅从此时刻收到的码组中提取译码信息,而且还要利用以前或以后各时刻收到的码组中提取有关信息。以(2,1,2)卷积码为例,它的生成矩阵是G(D)=(1+D+D2,1+D2),1表示当前的输入,D表示前一个时间段的输入,D2表示前两个时间段的输入。如输入序列M=(0010100001),则由(2,1,2)编码器输出的码序列C=(00,00,11,10,00,10,11,00,00,11)。
本实施例中,采用上述(2,1,2)卷积码及其生成矩阵,当然也可采用其他形式的卷积码。由于采用(2,1,2)卷积码,本实施例中,需要插入的水印应符合长宽之比为2∶1,即水印是一个 矩阵,这样,在经(2,1,2)卷积码编码后,可将水印变成一个I×I的数字矩阵。
图7是一个水印的原始图像,图8是该水印采用上述实施例所述的(2,1,2)卷积码编码后的图像。
e.在置乱的二值图像中嵌入水印图像,首先将置乱的二值图像分割成互不相交的M×M大小的子块,M的取值与水印的数据量大小有关,设二值图像大小为N×N,水印图像经卷积编码后大小为I×I,则 由于M采用了上述取值方法,通过计算可知,一个N×N的水印图像可以分成I2块,正好与编码后的水印矩阵内点的数目相等,因此可以做到每一子块对应一个水印矩阵中的点。
由于置乱后的二值图像被分成I2个所述M×M的子块,正好与水印编码后形成的I×I矩阵一一对应,每一个所述M×M的子块对应I×I水印矩阵相应位置上的点;如果该水印点为0,则在所述M×M的子块中嵌入0,若所述M×M子块内黑像素的点的数目为偶数,则不做任何修改;若所述M×M子块内黑像素的点的数目为奇数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;如果该水印点为1,则在所述M×M的子块中嵌入1,
若所述M×M子块内黑像素的点的数目为奇数,则不做任何修改;若所述M×M子块内黑像素的点的数目为偶数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;所有水印信息嵌入完成后,再对图像进行Arnold反变换,得到嵌入水印后的图像。
为了达到较好的效果,二值图像的边长至少为水印图像的边长的6倍,即N≥6I。
图9是图5的二值图像插入图7的水印后的图像;图10是图9与图5的绝对误差图象。
图2是本发明的在二值图像上提取水印的方法的流程图,包括以下步骤a′.将嵌入水印的二值图像进行Arnold变换,使用的公式与嵌入该水印时步骤c使用的公式相同,将置乱后的二值图像划分若干互不相交的M×M子块,M的取值与嵌入该水印时M的取值相同,每个M×M的子块可提取一位水印信息,总共可提取I2为水印信息,I与嵌入水印时水印的大小I相同;b′.对每一M×M子块,如果子块内黑像素的点的数目为奇数,则提取的水印信息为1;如果子块内黑像素的点的数目为偶数,则提取的水印信息为0;提取出的水印信息组成一个I×I的矩阵,该矩阵是嵌入的水印信息经卷积码编码后的矩阵;c′.使用Viterbi算法对I×I的水印矩阵进行译码,得到一个 的矩阵,既是要提取的水印矩阵。Viterbi算法是一种最大似然译码算法,编码器从全为0的S0状态时所输出的码序列,称为结尾卷积码序列。因此,当送完L段信息序列后,还必须在送入m段全0序列。图4是Vierbi译码算法对于(2,1,2)卷积码在L=5时的网格图。如图4所示,图中实线表示输入为0,虚线表示输入为1。S0S1S2S3表示的时编码器的4种状态。该实施例采用的是Viterbi的硬判决,对于(2,1,2)卷积码,每个状态的入度为2,如当前时刻的状态S0它接受由前一时刻S0S2状态转入的分支值(00)(11)。设前一时刻S0S2所经过的路径分别为path1、path3,最小海明距离分别为d1、d3。将输入的值与(00)(11)比较,所得的距离为D1、D3,选择d1+D1、d3+D3中小的一个值给d1,当前选择的路径就是海明距离小的那条路径,更新path1的值。其他三条路径的选择同样。当全部输入完毕后,从四条路径中选取一条海明距离最小的即为所要的路径,该路径上的值就是译码值。
由于Viterbi算法具有较强的纠错能力,使该方法的水印图像在经过一些通用的几何变形操作后仍能够提取出一个可信赖的水印信号。
图11是不经处理直接提取的水印图象;图12是图5加水印后的图像经线性插值放大后提取的水印图像;图13是图5加水印后的图像经线性插值缩小后提取的水印图像。比较这3张图可知,由于使用了Viterbi算法,对于几何变形操作后所提取的水印仍是可以辨认的。
下面再几个例子来进一步说明本发明的在二值图像上嵌入水印以及提取水印的方法具有较强的纠错能力和鲁棒性。
图14是图5加水印后的图像经一次裁剪的图像;图15是从图14提取的水印图像。
图16是图5加水印后的图像经二次裁剪的图像;图17是从图16提取的水印图像。
图18图5加水印后的图像加入椒盐噪声后的图像;图19是从图18提取的水印图像。
从上述3个例子可以看出,本发明的在二值图像上嵌入水印以及提取水印的方法具有较强的抗干扰的能力,在加入噪声的情况下仍可以提取出一个较清晰,可信赖的水印。
本发明与现有技术比较有以下优点对二值图像的边缘点进行分析与分类,计算边缘点的可修改优先级别,水印嵌入时优先考虑级别高的点;这样保证了嵌入水印后的二值图像失真度最小;水印的提取过程不需要任何原图像信息;用Vierbi译码算法使得水印的提取具有很强的纠错能力,该技术在水印的保密性与鲁棒性方面均有显著的提高。
权利要求
1.一种在二值图像上嵌入水印的方法,包括以下步骤a.对二值图像提取边缘,用一个3×3的窗口从左到右,从上到下扫描全图像,用“1”表示黑像素,“0”表示白像素,对于3×3的窗口内如果像素性质不同(即有黑像素,又有白像素),且窗口的中心像素值为1,则确定该窗口的中心点是图像的边缘点,其余情况均不是边缘点;记录下这些边缘点,水印的嵌入都在边缘点进行;b.对边缘点进行分析,计算出可修改像素的优先级,以边缘点为中心,在3×3窗口内按照黑白像素的分布将边缘点分为4个优先级;c.将二值图像置乱,将数字二值图像视为一个矩阵,黑点为1,白点为0,应用Arnold变换进行图像置乱,基于位置的图像置乱的Arnold变换可写为x′y′=1112xy(modN)]]>其中x、y∈(0,1,2,...,N-1),表示某一像素点的坐标,x′、y′为变换后的坐标,,而N是图像矩阵的阶数;d.水印预处理,在插入水印之前,对水印进行预处理,由于水印也为数字二值图像,也可将其视为一个矩阵,用卷积码对水印进行编码,即使用卷积码的生成矩阵乘以水印的数字图像矩阵;e.在置乱的二值图像中嵌入水印图像,首先将置乱的二值图像分割成互不相交的M×M大小的子块,M的取值与水印的数据量大小有关,设二值图像大小为N×N,水印图像经卷积编码后大小为I×I,则M=取整 由于置乱后的二值图像被分成I2个所述M×M的子块,正好与水印编码后形成的I×I矩阵一一对应,每一个所述M×M的子块对应I×I水印矩阵相应位置上的点;如果该水印点为0,则在所述M×M的子块中嵌入0,若所述M×M子块内黑像素的点的数目为偶数,则不做任何修改;若所述M×M子块内黑像素的点的数目为奇数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;如果该水印点为1,则在所述M×M的子块中嵌入1,若所述M×M子块内黑像素的点的数目为奇数,则不做任何修改;若所述M×M子块内黑像素的点的数目为偶数,则按照步骤b中所定的优先级,在优先级最高的点中选择一个并修改极性;所有水印信息嵌入完成后,再对图像进行Arnold反变换,得到嵌入水印后的图像。
2.如权利要求1所述的在二值图像上嵌入和提取水印的方法,其特征在于,所述步骤a提取二值图像边缘点时,可以使用一个5×5的窗口或一个7×7的窗口。
3.如权利要求1所述的在二值图像上嵌入和提取水印的方法,其特征在于,所述水印为一矩形,长是其宽的2倍,为一 矩阵。
4.如权利要求1或3所述的在二值图像上嵌入和提取水印的方法,其特征在于,所述步骤d水印预处理,采用(2,1,2)卷积码对水印进行编码,它的生成矩阵是G(D)=(1+D+D2,1+D2),1表示当前的输入,D表示前一个时间段的输入,D2表示前两个时间段的输入,与所述 的水印数字矩阵相乘后形成一I×I的矩阵。
5.如权利要求1或3所述的在二值图像上嵌入和提取水印的方法,其特征在于,所述二值图像的边长至少为所述水印图像的边长的6倍,即N≥6I。
6.一种提取水印的方法,提取按照权利要求1所述的方法嵌入的水印,包括以下步骤a′.将嵌入水印的二值图像进行Arnold变换,使用的公式与嵌入该水印时步骤c使用的公式相同,将置乱后的二值图像划分若干互不相交的M×M子块,M的取值与嵌入该水印时M的取值相同,每个M×M的子块可提取一位水印信息,总共可提取I2为水印信息,I与嵌入水印时水印的大小I相同;b′.对每一M×M子块,如果子块内黑像素的点的数目为奇数,则提取的水印信息为1;如果子块内黑像素的点的数目为偶数,则提取的水印信息为0;提取出的水印信息组成一个I×I的矩阵,该矩阵是嵌入的水印信息经卷积码编码后的矩阵;c′.使用Viterbi算法对I×I的水印矩阵进行译码,得到一个 的矩阵,既是要提取的水印矩阵。
全文摘要
一种在二值图像上嵌入水印的方法,包括以下步骤a.对二值图像提取边缘;b.对边缘点进行分析,计算出可修改像素的优先级;c.将二值图像置乱;d.对水印信号进行卷积编码;e.在置乱的二值图像中嵌入水印图像。一种提取水印的方法,包括以下步骤a′.将嵌入水印的二值图像进行置乱并分块;b′.对每一子块提取一位水印信息;c′.对水印矩阵进行Viterbi译码,得到要提取的水印。本发明的方法对二值图像的边缘点计算可修改优先级别,水印嵌入时优先考虑级别高的点,可使嵌入水印后的二值图像失真度最小;本发明在二值图象中嵌入一个有意义的水印信号,且水印的提取过程不需要任何原图像信息;同时本发明的方法使水印的保密性与鲁棒性方面均有显著提高。
文档编号H04N5/913GK1567353SQ0312929
公开日2005年1月19日 申请日期2003年6月13日 优先权日2003年6月13日
发明者黄继风, 林家骏, 戴蒙, 何孝富 申请人:上海师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1