一种jpeg图像自嵌入数字水印的生成及认证方法

文档序号:7749836阅读:197来源:国知局
专利名称:一种jpeg图像自嵌入数字水印的生成及认证方法
技术领域
本发明属于图像安全认证技术领域,特别涉及一种JPEG图像自嵌入数字水印的 生成及认证方法。
背景技术
随着计算机网络技术的飞速发展与信息媒体的数字化,数字产品的内容保护问题 显得尤为重要,而近年来发展起来的脆弱性水印技术为数字产品的内容保护提供了技术保 障。脆弱性水印属于数字水印的一个分支,除了具有水印的基本特征,如不可感知性、安全 性等,还具有检测篡改的能力,并且水印的提取不需要原始图像。目前对该领域的研究主要 包括脆弱性水印、半脆弱性水印、自嵌入水印等几个层次,而自嵌入水印是将图像本身作为 水印嵌入到图像中的技术,这不仅可以对图像的内容进行验证,而且可以部分恢复被篡改 或剪贴的区域。当然,不可能将完整的图像内容信息嵌入到图像本身。因此,为了降低图像 的内容信息,要么使用有损压缩(比如JPEG压缩),要么只保留图像的重要信息,如边缘 fn息等。目前现有的自嵌入水印使用类似于JPEG压缩过程的算法,其基本原理是将图像 按8X8大小进行分块,对每块执行如下操作先进行DCT变换,然后对DCT系数按50%的 质量因子进行量化,最后将量化后的系数按给定的位图矩阵进行编码并将之保存到相应块 的最不重要信息位(Least Significant Bit,LSB)中。这样的水印方案由于使用了位图矩 阵,对于那些DCT系数值的比特位数大于位图矩阵中相应的比特位时,恢复后的图像就会 造成失真现象,因此只能对某些特定的图像进行操作,同时只限于使用小于等于50%的质 量因子对DCT系数进行量化。所以,在实际应用当中受到一定的限制。

发明内容
为了克服上述现有技术的不足,本发明的目的在于提出一种JPEG图像自嵌入数 字水印的生成及认证方法,不仅不需要受限的位图矩阵,而且可以使用任何的质量因子进 行量化,不但能检测到图像被篡改或损坏的区域,而且可以恢复被保护图像丢失的信息。为了实现上述目的,本发明采用的技术方案如下一种JPEG图像自嵌入数字水印的生成方法,包括数字水印信号产生过程,数字水 印嵌入过程和数字水印提取过程。数字水印信号产生过程的具体方法如下A1.将一个JPEG图像分成四个8 X 8图像块,然后缩小为一个8 X 8图像块,对缩小 后的图像块进行DCT变换,并用质量因子为50的量化表对DCT系数进行量化;A2.对量化后的DCT系数用定长分组编码法编码,产生所述图像块的水印信号,再 对所有的图像块进行量化和编码;A3.每个8X8图像块的码长取40比特,对整幅图像的水印信号进行加密处理,产 生用于自嵌入的水印信号mi;
数字水印嵌入过程的具体方法如下将四个8X8块h的水印信息nii嵌入到另外 四个8X8图像块bi+p中,具体为,读取图像块bi+p的DCT系数,然后将水印mi嵌入到块bi+p 的低频DCT系数上,得到mi+p,其中,p表示块bi+p对块h的偏移距离,p为图像尺度的三分 之一,嵌入公式如下
Coef+1 If Coef > 0 and Mod{Coef, 2)关 m Coef = Coef -1 If Coef < 0 and Mod{Coef,( 1)
.Coef 其他其中,Coef为嵌入水印前图像块bi+p的DCT系数,Coef ‘为嵌入水印后bi+p的DCT 系数,Mod为取余运算;数字水印提取过程的具体方法如下读取含水印的JPEG图像的DCT系数,将DCT 系数以四个8X8图像块为单位提取水印,提取水印的步骤为B1.对含水印的DCT系数按如下公式提取水印,四个8X8图像块共提取40比特水 印信号m,nii = Mod (Coef',2) ;(2)B2.对提取的40比特水印叫进行分组解码,还原成DCT系数,再进行DCT反变换, 得到一个8X8的灰度图像。一种JPEG图像自嵌入数字水印的认证方法,包含篡改检测与修复过程,包括如下 步骤C1.读取等待认证的JPEG图像y的DCT系数,并将其划分成四个一组的8X8DCT ±夬,计为(31,(2,...,(^,从每四块8\8001系数的低频系数中提取水印111',对m'进行解密 后,得到原始嵌入的水印mi -Dyirri^ ;C2.缩小所述步骤C1划分的四个一组的8X8DCT块,得到图像块,对 每个<进行DCT变换,用质量因子为50的量化表对DCT系数进行量化,用定长分组编码法对 其编码,得到水印信号C3.比较嵌入后的水印mi+p和从图像DCT系数中提取的水印Wi 若力与叫+1)的差值 小于特定门限值,则认为块Ci和ci+p均未改动;反之,若&与mi+p的差值大于特定门限值, 则认为块Ci和ci+p中至少有一个被改动了 ;C4.若检测出块Ci有篡改,则对未被改动的块ci+p中的水印信息mi+p进行分组解 码,逆量化,和DCT反变换,近似地恢复被篡改过的图像块Ci。其中,定长分组编码法具体为将数值按它的绝对值的大小分成若干组,每组的 数据分成两个部分,第一部分是组号,第二部分是数值在组中的位置,即下标,对不同的组 号分配不同的码长来表示数值在表中的位置,然后根据不同的码长对该组内的数据进行编码。本发明与现有技术相比所具有的优点是(1)本发明采用定长分组编码法,与现有的等长编码相比较,在保证相同图像质量 的前提下,采用定长分组编码法的码长是等长编码码长的70%左右。如果平均到每个量化
5块,则采用分组编码法的码长比等长编码码长平均短20比特左右;(2)本发明不仅不需要受限的位图矩阵,而且可以使用任何的质量因子进行量 化;(3)本发明在进行完整性验证时不需要原始图像,不但能够对篡改区域进行精确 定位,而且能对篡改区域进行修复。


图1-1是本发明自嵌入数字水印的产生及嵌入示意图;图1-2是本发明自嵌入数字水印的篡改检测及修复流程图;图2是本发明自嵌入数字水印的篡改检测及修复具体实例示意图; 图3是定长分组编码法中的三位组号的分组编码表;图4是定长分组编码法中的二位组号的分组编码表。
具体实施例方式本发明的一种JPEG图像自嵌入数字水印的生成及认证方法,整体包括数字水印 的生成和数字水印的认证两大部分。JPEG图像自嵌入数字水印的生成方法,包括数字水印信号产生过程,数字水印嵌 入过程和数字水印提取过程。数字水印信号产生过程的具体方法如下A1.将一个JPEG图像分成四个8 X 8图像块,然后缩小为一个8 X 8图像块,对缩小 后的图像块进行DCT变换,并用质量因子为50的量化表对DCT系数进行量化;A2.对量化后的DCT系数用定长分组编码法编码,产生所述图像块的水印信号,再 对所有的图像块进行量化和编码;A3.每个8X8图像块的码长取40比特,对整幅图像的水印信号进行加密处理,产 生用于自嵌入的水印信号mi;数字水印嵌入过程的具体方法如下将四个8X8块h的水印信息nii嵌入到另外 四个8X8图像块bi+p中,具体为,读取图像块bi+p的DCT系数,然后将水印mi嵌入到块bi+p 的低频DCT系数上,得到mi+p,其中,p表示块bi+p对块bi的偏移距离,p为图像尺度的三分 之一,嵌入公式如下
Coef +1 If Coef > 0 and ModiCoef, Coef = Coef -1 If Coef < 0 and ModiCoef,( 1)
.Coef 其他其中,Coef为嵌入水印前图像块bi+p的DCT系数,Coef ‘为嵌入水印后bi+p的DCT 系数,Mod为取余运算;该方法相当于将40比特的数据嵌入到四个8X8的DCT块中,每个 8X8的DCT块只需嵌入10比特数据,实际平均只需改动5个DCT系数就可嵌入10比特数 据,因此,嵌入水印的图像失真度非常小,峰值信噪比大都在40左右。水印信号的产生及嵌 入示意图如图1-1所示。数字水印提取过程是嵌入算法的逆过程,具体方法如下读取含水印的JPEG图像的DCT系数,将DCT系数以四个8X8图像块为单位提取水印,提取水印的步骤为
Bi.对含水印的DCT系数按如下公式提取水印,四个8X8图像块共提取40比特水 印信号mi <formula>formula see original document page 7</formula>
B2.对提取的40比特水印Hii进行分组解码,还原成DCT系数,再进行DCT反变换, 得到一个8X8的灰度图像。JPEG图像自嵌入数字水印的认证方法,包含篡改检测与修复过程,流程参看图 1-2,包括如下步骤Cl.读取等待认证的JPEG图像y的DCT系数,并将其划分成四个一组的8X8DCT ±夬,计为(31,(2,...,(^,从每四块8\8001系数的低频系数中提取水印111',对m'进行解密 后,得到原始嵌入的水印<formula>formula see original document page 7</formula>
C2.缩小所述步骤Cl划分的四个一组的8X8DCT块,得到图像块C;,C2,...,C;,对
每个C;进行DCT变换,用质量因子为50的量化表对DCT系数进行量化,用定长分组编码法对 其编码,得到水印信号C3.比较嵌入后的水印mi+p和从图像DCT系数中提取的水印Wi 若力与叫+1)的差值 小于特定门限值,则认为块Ci和Ci+P均未改动;反之,若Wi与mi+p的差值大于特定门限值, 则认为块Ci和ci+p中至少有一个被改动了,具体需要参考mi+p和Wi的情况而定;C4.若检测出块Ci有篡改,可以对未被改动的块ci+p中的水印信息叫+1)进行分组 解码,逆量化,和DCT反变换,最终可以近似地恢复被篡改过的图像块Ci。本发明能够对攻击区域进行准确的定位,鉴于嵌入的水印信息位有限,修复的图 像为原图的缩小图像,从而也可以鉴别图像的真伪,同时原图的原貌也可以通过修复后的 缩小图像得知。下面以当前块Bl为例,详细说明如何判断Bl是否被篡改及其修复过程。 设远距离的4块图像为B2 (Bi和B2之间的距离为p,距离ρ —般为图像尺度的三分之一)。 假设Β0、Bi、Β2、Β3之间的关系如图2所示,即有如下关系BO的水印=Β3的内容(表示在BO的DCT系数中存放Β3的内容(指对Β3缩小后 按图1-1生成的水印比特流),以下同);B1的水印=BO的内容;Β2的水印=Bl的内容;Β3的水印=Β2的内容。则图像的检测及修复过程如下步骤1 按如下准则判断Bl是否被篡改如果Bl的内容与Β2的水印不一致(误差范围大于某个阈值),且Β2的内容与Β3 的水印一致,则说明Bl的内容损坏。如果Bl的水印与BO的内容不一致,且BO的LSB (最不重要信息位)与Β3的内容 一致,则说明Bl的水印损坏。步骤2 如果Bl的内容及水印均被篡改,则按如下方法进行修复(修复时作如下 假设如果某块的内容是好的,则它的水印也是好的,反之,如果某块的水印是好的,则它的内容也是好的)如果Bl的内容损坏,则利用B2的水印修复。由于本发明只修复缩小后的图像,因此如果Bl的水印损坏,则不加修复。由于B0、Bi、B2、B3之间的距离是p,因此,在实际应用中,被篡改的区域范围限制 在P之内。对于本发明来说,对图像的编码是最关键的一步,因为如果编码过长,必然增加嵌 入到图像的数据量,从而引起图像的失真,如果编码过短,则恢复出来的图像效果很差。本 发明采用定长分组编码法,具体是将数值按它的绝对值的大小分成若干组,每组的数据分 成两个部分,第一部分是组号,第二部分是数值在组中的位置,即下标。组号是由多位二进 制码组成,如用3位二进制码表示组号,则组号共有7个,分别是000,001,010,…,111。对 不同的组号,分配不同的码长来表示数值在表中的位置。对000组分配的码长是0位,它只 能对数据“0”编码,对001组分配的码长是1位,它能对数据“_1、1”编码,对010组的分配 码长是2位,它能对数据“_3、_2、2、3”进行编码,依次类推,对111组分配的码长是7位,它 能对数据“-127,…-64,64,…127”进行编码。用定长分组编码对数据编码,每个码有两部分组成组号加位置下标,组号是定长 的,位置下标是可变的,从上面的分析可知,绝对值越小的数,需要的码长越短,而绝对值越 大的数,需要的码位越多。这一特点与自嵌入水印的编码要求相符合。定长分组编码表的 构造如图3和图4所示。编码和解码的具体过程为对于三位或二位分组编码表,JPEG量化系数值χ的组内下标计算公式为
<formula>formula see original document page 8</formula>其中,η为组内编号。例如对某个JPEG量化系数值χ =-25,由于χ的值是-25, 属于第5组,组号为101,用公式(3)计算得到,-25在第5组下标的位置是第7个,下标编 码为00111,因此,对χ的分组编码为(101,00111)。如果某个系数的绝对值大于分组编码 表所能编码的范围(这种情况出现的概率不会超过5%,见上面论述),则用分组编码表所 能编码的最大值对其编码。解码时,计算JPEG量化系数值χ的公式如下
<formula>formula see original document page 8</formula>其中η为组号,y为组内的下标值。例如解码二进制比特流0110111101011101101101100011101101L···.如果确认是3位分组编码,则先抽取3比特数据011,得知组号值为η = 3,然后连 续提取后面的3个比特数据011,该值就是下标值y = 3,利用公式(4)计算出量化系数值 χ = -4。
如果确认是2位分组编码,则先抽取2比特数据01,得知组号值为η = 1,然后只 需提取后面的ι位比特数据1,该值就是下标值y = 1,利用公式(4)计算出量化系数值X =1。
按照这种方法解码,直至比特流全部解完为止。
权利要求
一种JPEG图像自嵌入数字水印的生成方法,包括数字水印信号产生过程,数字水印嵌入过程和数字水印提取过程,其特征在于,所述数字水印信号产生过程的具体方法如下A1.将一个JPEG图像分成四个8×8图像块,然后缩小为一个8×8图像块,对缩小后的图像块进行DCT变换,并用质量因子为50的量化表对DCT系数进行量化;A2.对量化后的DCT系数用定长分组编码法编码,产生所述图像块的水印信号,再对所有的图像块进行量化和编码;A3.每个8×8图像块的码长取40比特,对整幅图像的水印信号进行加密处理,产生用于自嵌入的水印信号mi;所述数字水印嵌入过程的具体方法如下将四个8×8块bi的水印信息mi嵌入到另外四个8×8图像块bi+p中,具体为,读取图像块bi+p的DCT系数,然后将水印mi嵌入到块bi+p的低频DCT系数上,得到mi+p,其中,p表示块bi+p对块bi的偏移距离,p为图像尺度的三分之一,嵌入公式如下其中,Coef为嵌入水印前图像块bi+p的DCT系数,Coef′为嵌入水印后bi+p的DCT系数,Mod为取余运算;所述的数字水印提取过程的具体方法如下读取含水印的JPEG图像的DCT系数,将DCT系数以四个8×8图像块为单位提取水印,提取水印的步骤为B1.对含水印的DCT系数按如下公式提取水印,四个8×8图像块共提取40比特水印信号mimi=Mod(Coef′,2);(2)B1.对提取的40比特水印mi进行分组解码,还原成DCT系数,再进行DCT反变换,得到一个8×8的灰度图像。FSA00000133502200011.tif
2.根据权利要求1所述的JPEG图像自嵌入数字水印的生成方法,其特征在于,所述定 长分组编码法将数值按它的绝对值的大小分成若干组,每组的数据分成两个部分,第一部 分是组号,第二部分是数值在组中的位置,即下标,对不同的组号分配不同的码长来表示数 值在表中的位置,然后根据不同的码长对该组内的数据进行编码。
3.—种JPEG图像自嵌入数字水印的认证方法,其特征在于,包含篡改检测与修复过 程,包括如下步骤C1.读取等待认证的JPEG图像y的DCT系数,并将其划分成四个一组的8 X 8DCT ±夬,计 为(31,(2,...,(^,从每四块8\8001系数的低频系数中提取水印111',对m'进行解密后,得到原始嵌入的水印%;C2.缩小所述步骤(1划分的四个一组的8\8001块,得到图像块<^,^2,...,4,对每个 <进行DCT变换,用质量因子为50的量化表对DCT系数进行量化,用定长分组编码法对其编 码,得到水印信号C3.比较嵌入后的水印mi+p和从图像DCT系数中提取的水印若w,与m1+p的差值小于特定门限值,则认为块Ci和ci+p均未改动;反之,若与mi+p的差值大于特定门限值,则 认为块Ci和ci+p中至少有一个被改动了 ;C4.若检测出块Ci有篡改,可以对未被改动的块ci+p中的水印信息mi+p进行分组解码, 逆量化,和DCT反变换,最终可以近似地恢复被篡改过的图像块Ci。
4.根据权利要求3任意一项所述的JPEG图像自嵌入数字水印的认证方法,其特征在 于,所述定长分组编码法将数值按它的绝对值的大小分成若干组,每组的数据分成两个部 分,第一部分是组号,第二部分是数值在组中的位置,即下标,对不同的组号分配不同的码 长来表示数值在表中的位置,然后根据不同的码长对该组内的数据进行编码。
全文摘要
本发明涉及图像安全认证技术领域,公开的是一种JPEG图像自嵌入数字水印的生成及认证方法将被保护的JPEG图像缩小四分之一,应用定长分组编码法对其进行编码,将编码作为水印嵌入到被保护图像的DCT系数低频分量上。如果对含水印的JPEG图像进行篡改、替换等恶意攻击,根据提取的水印与含水印的图像进行比对,就可精确地确定篡改区,并且可以近似地恢复出被篡改区域,恢复出的近似图像是原图像的四分之一。本发明在分析JPEG系数统计特性的基础上取得了很好的编码效果,不仅不需要受限的位图矩阵,而且可以使用任何的质量因子进行量化。
文档编号H04N7/26GK101835049SQ201010183658
公开日2010年9月15日 申请日期2010年5月24日 优先权日2010年5月24日
发明者黄继风 申请人:上海师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1