一种抗打印扫描图文混合的数字水印嵌入与提取方法
【专利摘要】本发明提出了一种图文混合的数字水印嵌入以及提取方法。该方法不仅可以对单独的图像以及单独的文本信息嵌入水印,还可以对图像和文本混合的信息嵌入水印。该方法提出了一种基于空间域的数字水印算法,针对抗打印扫描攻击具有很强的鲁棒性。除此之外,该方法提出了可调节变量的概念实现了数字水印信息的顺序嵌入与提取,并且具备较大的水印容量。
【专利说明】一种抗打印扫描图文混合的数字水印嵌入与提取方法
【技术领域】
[0001]本发明涉及计算机信息安全、版权保护领域,尤其涉及一种抗打印扫描的图文混和的数字水印嵌入与提取算法。
【背景技术】
[0002]近年来网络的飞速发展有效的提高了信息的共享以及传播,但因此带来的信息安全以及版权保护问题越来越严重。数字水印技术能够提供信息的隐藏以及版权保护的功能。数字水印技术是指使用信号处理技术在数字化的多媒体数据中嵌入隐蔽的标记,这种标记通常是不可见的,只有通过专用的检测器或阅读器才能提取。相对于对原始文档的直接拷贝,打印扫描后的文档与原始版本产生了较大的变化,因而提取水印的难度更高,因此抗打印扫描特性是一个良好的数字水印技术应当具备的特性。
[0003]现有的数字水印方法只是在单纯的进行文本水印或者单纯的图像水印,但是很多情况下文字和图形是混合在一起的,因此对图文混合的数字水印技术提出了迫切的需求。
【发明内容】
[0004]本发明提出了一种抗打印扫描的图文混合数字水印嵌入与提取方法,该方法计算量小,执行速度快,并且具有顺序嵌入水印以及提取水印的优点,具有很高的抗打印扫描特性,鲁棒性良好,该方法主要包含三个模块:版式分析、文本水印嵌入与提取以及图像水印嵌入提取。
[0005](I)版式分析
[0006]通过对图像中信息的样式进行分析,分离信息中的文本与图片,从而为嵌入水印和提取水印信息做准备。并将嵌入水印的文本与图片信息按照原先的版式合成。
[0007](2)文本水印的嵌入与提取
[0008]针对(I)中分离所得的文本信息,嵌入或提取水印。
[0009](3)图像水印嵌入与提取
[0010]针对(I)中分离所得图片信息,嵌入或提取水印。
[0011]为了更加清晰的描述实施过程,下面做如下定义:
[0012]CSet:嵌入字符集,从文本图像信息的开始处选取连续的2N个字符作为嵌入字符集。N为水印长度
[0013]A1:表示在CSet中第i个字符组的黑点数,字符组是指按照顺序将CSet中的字符每两个分为一组,每一组称为一个字符组。
[0014]χ:字符集平均黑点数,即又=ES1Ai /N
tool 5] η:可调节变量,其初始值等于字符集的平均黑点数。
[0016]K:量化步长是一个经验值
[0017]A1 1:嵌入水印后第i个字符的黑点数。[0018]P:嵌入水印后的字符的平均黑点数。
【专利附图】
【附图说明】
[0019]图1是本发明的水印嵌入实施流程图
[0020]图2是本发明的水印提取实施流程图
[0021]图3是本发明的版式分析流程图
[0022]图4是本发明文本水印嵌入流程图
[0023]图5是本发明的文本水印提取流程图
[0024]图6是本发明的各个模块之间关系示意图
[0025]图7是本发明中可翻转点数说明图
【具体实施方式】
[0026]下面描述该方法的具体实施流程,为了更加清晰的描述实施流程,下面分水印嵌入过程和水印提取过程两部分进行描述,由于抗打印扫描的图像水印算法较多,本发明中对图像水印算法没有做具体的要求,故在此不再详细描述:
[0027]水印嵌入过程,图1是该过程的流程图:
[0028](I)对图文混合图像进行版式分析,分别分离出图片以及文本;对具体的版式分析算法描述如下:
[0029]a)读取需要嵌入水印的图文混合图像,并根据图像信息生成一个二维数组pnBinary,数组的长度与图片长边的像素数相同,数组的宽度与图片短边像素数相同。
[0030]b)图像二值化,对图像进行逐个像素点的扫描,假设(i,j)表示第i行,第j列的像素,R(i,j)、G(i,j)和B(i,j)分别是该像素的红分量、绿分量和蓝分量,计算三个分量的平均值即(R(i,j)+G(i,j)+B(i,j))/3。判断该平均值与二值化门限值α的大小,若大于等于 α,贝丨J pnBinary (i, j) = 255 ;小于 α 则设置 pnBinary (i, j) = O ;
[0031]c)对图像进行边缘检测,利用基于搜索的一阶Roberts Cross边缘算子检测方法,计算每个像素的Roberts算子数值RC(i,j).假如RC(i,j)大于等于边缘检测门限值β,认为该像素点(i,j)即为边缘像素,并赋值pnBinary (i, j) = -1 ;否则,认为该像素不是边缘像素,pnBinary (i, j)不变。
[0032]d)统计c)中得到的连通区域内像素点的个数,假如像素个数大于门限值Y则认为该区域是图片,记录该区域的位置。
[0033]e)按照d)中得到的图片区域的位置,到源图像相应位置提取图片。保存图片信息,以及剩余的文本信息。
[0034]经过版式分析之后非文本的区域(例如图片,表格等)都被当作图片进行处理。
[0035](2)对(I)中分离出的文本图像信息进行字符切分,本专利的算法保证了不需要针对全部的文本图像字符进行切分,只需要切分前2N个字符即可,这样也提高了算法整体的速度和效率。字符切分的工作如下:
[0036]a)首先对文本图像在X和Y轴上面分别进行垂直和水平投影,并且记录在水平和垂直方向上面的每一行和每一列第一个黑色像素点的纵坐标和横坐标。
[0037]b)针对第一步中记录的每一行和每一列的黑色像素点的坐标的位置,利用水平分段的起始位置和结束位置,和垂直方向上面的分段起始和结束位置,来粗略的划分每一行的字符。此时得到的字符可能是无效的,例如“川”被划分成了 3段,并且还包含一些水印容量小的标点符号。
[0038]c)把上面得到的粗略切分的字符按照每一行存储到容器中,利用汉字的长宽比例(介于0.88-2.1之间)来进行字符的合并,针对每一行取容器中的第一个字符,首先判断它是否在这个比例之中。如果不在这个比例中,并且它是一行中的末尾字符,则去除。否则分析与它紧邻着的下一个字符的特征。如果当前字符和它紧邻的下一个字符合并成新的字符符合比例,则认为这是一个字符。否则将其与其后两个字符合并,并且检验合并后的字符比例。如果第一个字符符合比例,则也有可能是一个正确的字符切分开的,按照上面的步骤,进行和紧邻的第二个,第三个矩形合并,并进行判断。
[0039]d)针对c)中获得的真准切分的字符,删除不适合嵌入水印的标点符号,例如“……”和“一”,然后对3中获得的精确切分的字符进行去噪,去除黑点数目少的个别字符,得到满足嵌入条件的精确的字符切分结果。
[0040]以上步骤是针对投影后每一行做的切分,在切分的过程中用计数变量mark来记录以上四步获得的有效字符的个数。如果mark等于2N则跳出字符切分,后续的字符不再进行切分。
[0041](3)把(2)中得到的2N个有效字符当作嵌入字符集CSet,将相邻的两个字符作为一个字符组,统计 每个字符组的可翻转点数目和位置,可翻转点数目见图6,计算嵌入字符集的平均黑点数X = ES1Ai/N。
[0042](4)分析每组字符的可嵌入性。嵌入O时,需要使得字符组i在翻转后的黑点数A1 i与可调节变量%的商,即¥|/^为量化步长K的偶数倍,并且取与初始黑点总数Ai最
接近的A' it)嵌入I时,需要使得¥/%为K的奇数倍,并且取与Ai最接近的A' it)
[0043](5)调节可调节变量,使得每个字符组都可以双向嵌入,即每个字符组既可以嵌入O又可以嵌入I。
[0044](6)根据步骤3中得到的每个字符组的可翻转点的位置,以及步骤3、4中得到的每个字符组需要的可翻转点的数目,进行像素翻转,得到嵌入水印后的图像。
[0045](7)计算嵌入水印的字符集在翻转后的平均黑点数又然后计算最后使用的可调
节变量VX与Χ?的商,得到调整系数h,.即h = @/x'。输出嵌入时使用的量化步长K、调整系数h。
[0046](8)对⑴中分离所得的图像信息嵌入水印
[0047](9)按照(I)中记录的图像所在位置,将嵌入水印信息的文本图像与图片图像进行合成。
[0048]水印提取过程,图2是该过程的流程图:
[0049](I)扫面文本图片混合信息,进行版式分析,分别提取文本与图片信息。并保存相应的图像。
[0050](2)对⑴中提取的文本图像进行字符切分,获取嵌入水印的字符。
[0051](3)统计嵌入了水印的每个字符组的黑点数A',嵌入了水印的所有字符的平均黑点数又"然后根据嵌入时保存的量化步长K和调整系数h计算每个字符组嵌入比特的值。计算的公式为:3' = 47(又'*11*1<)若距&'最近的整数为偶数,就认为该字符嵌入的是O,否则认为嵌入的是I。
[0052](4)顺序提取水印,获取水印信息。
[0053](5)对⑴中得到的图片信息进行水印提取。
【权利要求】
1.一种抗打印扫描图文混合数字水印嵌入与提取方法,以文本和图像数字水印为基础,利用版式分析,达到了对图文混合的信息进行水印的嵌入和提取;本方法主要由以下三部分内容构成,即(I)版式分析、(2)文本水印嵌入和提取(3)图像水印嵌入及提取。
2.根据权利要求1所述的算法内容,版式分析算法主要是将信息中的文本与图片分离出来,并记录位置信息,分别保存分离开的文本以及图片信息。其主要过程为:首先对图文混合的图像信息进行二值化,然后利用边缘检测算法,找到每个封闭的区域,然后统计每个区域内的像素数。通过比较区域内的像素数和给定的阀值,判断是否为非文本的对象,记录非文本对象的位置,到源文件中提取非文本对象。
3.根据权利要求1中所述的算法内容,文本水印嵌入算法的实施过程如下: a)对版式分析中分离得到的文本图像进行字符切分,从文本的开始处安行对文本进行字符切分,对每行切分后的字符按照汉字的比例进行合并,除去噪音以及不适合嵌入水印的字符,筛选有效的前2N(N为水印长度)个字符作为嵌入字符集,并对嵌入字符集分组,统计每个字符组的黑点数和可翻转点个。计算字符集平均黑点数又,初始化可调节变量爲; b)分析每个字符组的可嵌入性,调节可调节变量,使得每个字符组都可以双向嵌入。 c)顺序嵌入水印,并计算嵌入水印后的字符集的平均黑点数又',然后计算可调节变量两与P的商,得到调整系数h,即h = %/又' d)保存嵌入时使用的量化步长K、调整系数h。 e)对b)分离得到的图像信息嵌入水印,将嵌入水印的文本以及图片信息合成。
4.根据权利要求1中所述的算法内容,抗打印扫描的图文混合数字水印提取算法的具体实施流程如下: a)对扫描的文本图像信息进行版式分析,将文本和图片分离,分别保存成图像信息,为水印提取工作做准备; b)对文本图像信息进行字符切分,获取前2N个有效字符作为提取字符集; c)统计嵌入了水印的每个字符组的黑点数A',嵌入了水印的所有字符组的平均黑点数又'然后根据嵌入时保存的量化步长K和调整系数h计算每个字符嵌入比特的值。计算的公式为:a' = AVCXi * h * K)若距a'最近的整数为偶数,就认为该字符嵌入的是O,否则认为嵌入的是I ; d)按照每个字符所嵌入的比特在水印中的位置排列从每个字符中提取的比特值,得到提取的水印。 e)对图像信息中的水印信息进行提取。
【文档编号】G06T1/00GK103985078SQ201410204072
【公开日】2014年8月13日 申请日期:2014年5月14日 优先权日:2014年5月14日
【发明者】张茹, 刘建毅, 陈康康, 周飞, 朱建尧, 宋玲娓, 钮心忻 申请人:北京邮电大学