一种基于JPEG2000的多尺度拉普拉斯金字塔水印方法与流程

文档序号:12126058阅读:306来源:国知局
一种基于JPEG2000的多尺度拉普拉斯金字塔水印方法与流程

本发明属于计算机信息安全领域。用于图像版权保护,数据安全,以及安全的隐蔽通信。



背景技术:

当今时代,数字多媒体的爆炸式增长,特别是流媒体与图形图像更得到急速的传播。然而,多媒体技术在给社会带来进步的同时,由于数字媒体在网络上的存储,传播等变得更加方便及易于获取,盗版以及篡改等未被授权的复制等非法使用,也使得多媒体的知识产权保护异常的迫在眉睫。数字水印技术的出现于发展,毫无疑问成为版权保护的理想途径。

数字多媒体数据希望能够在匮乏的空间和日益紧张的带宽内存储与传输高清高品质的图像,并在不同的不可预见的即时应用场景下,获得在分辨率或质量上满足差异化的重构图像。早期的JPEG图像压缩标准不足以满足新时期涌现出来的新需求,JPEG2000图像压缩标准也因此顺应而生。JPEG2000具有渐进传输特性,在网络中传输时,这种支持多分辨率表示的特性,包含了不同尺度的信息。一次压缩,却可以解压出满足不同需求的多分辨图像,同时应对不同分辨率需求的应用和适配差异化的目标设备。遗憾的是,目前鲜有成熟实用的多尺度水印算法。虽然有相关文献分析了关于JPEG2000质量可伸缩对于鲁棒性水印的影响,但并不适用于分辨率可伸缩的码流。部分基于JPEG2000的多尺度水印算法只能嵌入伪随机序列,需要通过判定相似度并且设定相应阈值来确定水印是否存在,这样的算法水印可辨识性弱。



技术实现要素:

本发明的目的是针对上述问题提供一种基于JPEG2000的多尺度拉普拉斯金字塔水印方法。

为实现本发明所述目的,本发明提供一种基于JPEG2000的多尺度拉普拉斯金字塔水印方法,其特征在于,该方法包括:

水印嵌入流程:将水印图像按拉普拉斯金字塔变换分解后采用三值抖动调制方法嵌入到经过预处理、小波变换、量化、分块与奇异值分解后的JPEG2000图像中,并进行EBCOT编码,得到含水印的JPEG2000图像;

水印提取流程:对嵌入水印的图像进行解码后一方面通过奇异值分解与三值抖动调制方法得到水印的位平面信息,继而重建水印的拉普拉斯金字塔并通过拉普拉斯金字塔逆变换重构原始水印,另一方面进行小波逆变换并进行后处理,得到具有不同分辨率的JPEG2000图像。

所述水印嵌入流程包括下列步骤:

11)将水印图像按拉普拉斯金字塔变换分解成尺寸各异的三层图像G2、L1和L0,作为双精度存储L1和L0,并分别对G2、L1和L0进行三值(-1,0,1)位平面分解;

12)预处理JPEG2000图像,将JPEG2000图像中的各个分量的动态范围调整为标准动态范围,得到预处理过的JPEG2000图像;

13)对步骤12)中得到的预处理过的JPEG2000图像进行3级小波变换,分解产生LH,HL和HH的3个高频分量LHj,HLj和HHj以及LL的1个低频分量LL0,其中j=1,2,3,LL0即为原始图像;

14)分量的系数矩阵被称为子带,对步骤13)中得到的LHj,HLj和HHj以及LL0所对应的子带,根据其动态范围选择量化步长Δ进行量化,得到量化后的JPEG2000图像;

15)根据步骤14)中得到的量化后的JPEG2000图像选择嵌入子带;

16)对步骤15)中得到的嵌入子带中的每个2×2子块进行奇异值分解,取出每个子块中的第一个奇异值采用三值抖动调制的方法嵌入水印比特,得到嵌入水印比特后的子带;

17)将步骤16)中得到的嵌入水印比特的子带进行EBCOT两级编码,第—级是多通道编码,以上下文的二元算术编码为基础;第二级是在第一级编码的基础上进行分层处理、打包操作并最终封装成码流得到嵌入水印后的JPEG2000图像。

所述拉普拉斯金字塔变换包括构造高斯金字塔和变换高斯金字塔为拉普拉斯金字塔。

所述构造高斯金字塔具体为:记水印图像为G0,作为高斯金字塔的底层,高斯金字塔的第1层图像为Gl,w为一个二维的可分离的窗口函数,即低通滤波器;利用w对Gl进行缩放,确保图像缩放后的色彩变化不产生接缝效应,继而形成了包含G0,G1...Gn各层的高斯金字塔,其中G0为塔底,Gn为顶层塔尖。

所述变换高斯金字塔为拉普拉斯金字塔具体为:水印图像通过高斯金字塔变换生成各层图像G0,G1...Gn;使用插值方法对各层图像Gl进行填充,得到扩张后的图像Gl',Gl'与Gl-1大小相等,其中第l层图像则被表示为Ll;由L0,L1...Ln构成的金字塔即为拉普拉斯金字塔。

所述预处理JPEG2000图像具体为:将JPEG2000图像中的所有分量进行直流电平平移,即对所有分量减去2p-1,其中p由JPEG2000图像内在的数据决定。

所述选择嵌入子带具体为:将G2的高4位平面的比特作为水印的掩码信息嵌入到原始图像LL0,其低4位平面作为水印的掩码信息分别嵌入LH1和HL1中;L1的高4位平面的比特嵌入到HL2,其低4位平面的比特嵌入LH2中;而L0的高4位平面的比特嵌入到HL3,其低4位平面的比特嵌入到LH3

所述采用三值抖动调制的方法嵌入水印比特具体为:f为待量化的数据,Δ为量化步长,ω为待嵌入的水印比特,f'为量化调制后输出的含水印系数,量化步长Δ将分布的系数区间分隔为不连续的A、B、C区间集合,-1调制到A区间,0绑定B区间,1绑定C区间,当ω=-1时,f'落于与原始值距离最近的A区间的某一子区间的中点;当ω=0时,f'落于与原始值距离最近的B区间的某一子区间的中点;当ω=1时,f'落于与原始值距离最近的C区间的某一子区间的中点。

所述水印提取流程包括下列步骤:

21)EBCOT解码嵌入水印后的JPEG2000图像,得到特定子带数据;

22)判断步骤21)中解码的图像是否含有水印,若是则对得到的特定子带的每个2×2子块进行奇异值分解,并采用三值抖动调制方法提取每个子块中的第一个奇异值中水印比特,得到水印图像的所有位平面;若否则进入步骤25);

23)根据步骤22)中得到的所有位平面重建拉普拉斯金字塔的G2、L1和L0

24)对步骤23)中重建的拉普拉斯金字塔从顶到底开始逐层递推,得到水印图像G0

25)对解码后的JPEG2000图像依次进行反量化、小波逆变换和JPEG2000后处理,得到具有不同分辨率的JPEG2000图像。

所述提取每个子块中的第一个奇异值中水印比特具体为:判断f'所在区间,若其处在A区间,则ω=-1;若处在B区间则ω=0,若处在C区间则ω=1。

与现有技术相比,本发明具有以下有益效果:

(1)本发明在充分研究JPEG2000的渐进传输特性的前提下,结合拉普拉斯金字塔变换的多尺度分析的特性,利用奇异值分解的内在稳定性,提出并实现了一套性能良好的匹配该静止图像压缩标准的多尺度灰度盲水印算法,达到了对原图码流的层层保护的效果,实现了一种能兼容JPEG2000标准渐进传输特性的、对整幅图像加以保护的水印技术。

(2)本发明的水印算法具有良好的不可见性和较强的抗攻击能力,并能够实现对敏感信息的隐蔽通信、数字图像的数字版权保护、证件的真査伪鉴别等功能,具有一定的实用价值。

(3)本发明通过对水印图像进行拉普拉斯金字塔和多值的位平面水解,实现了嵌入水印容量显著增加

(4)本发明充分利用三值抖动调制的原理,实现了多尺度水印的盲检测。

(5)本发明的算法水印嵌入、提取模块和编码过程的各个模块是独立运行的,减少了各模块之间的互相影响。

(6)本发明将水印算法直接应用于压缩域,避免了二次压缩造成图像质量的损失,也节省了逆变换所消耗的资源。

附图说明

图1为本发明的水印嵌入流程图;

图2为本发明的水印提取流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示为本发明提出的水印嵌入方法的流程:

(11)水印比特的生成:将待嵌入的水印图像按拉普拉斯金字塔变换分解。由于图像的拉普拉斯金字塔变换以高斯金字塔作为基础,因此先对水印图像进行高斯金字塔分解:设原图像记作G0,这也是高斯金字塔的底层(第0层),对输入G0进行平滑的高斯滤波;接着完成隔行隔列的下采样操作,进而输出高斯金字塔的第一层;同样对第一层做类似的操作输出第二层,以此类推,各层构成图像的高斯金字塔。

高斯金字塔的构造过程如下:首先,假设高斯金字塔的第l层图像为Gl,w是一个二维的可分离的窗口函数,实际是一个低通滤波器。利用窗口函数对Gl进行缩放,并且确保了图像缩放后的色彩变化不会产生接缝效应。这样就形成了完整的高斯金字塔,G0,G1…Gn就是其中各层图像。其中G0为完全与原图像等同的金字塔的底层,而顶层塔尖则表示为Gn

再对高斯金字塔进行处理,使用插值方法对图像Gl进行填充,得到扩张后的图像Gl',结果Gl'的尺寸与Gl-1完全等大小。另外,集群中第l层图像则被表示为Ll。由L0,L1…Ln构成的金字塔即为拉普拉斯金字塔。它的每一层图像是高斯金字塔本层图像与其高一图像经插值放大后图像的差。

根据以上理论,原始图像G0被分解为不同分辨率层次的3层图像G2、L1、L0。其中,第一层G1由G0经过多分辨率缩减得到,同理,第2层G2由G1变换而来。G1'由G1作插值运算得到,含G0的低频信息,G2'由G2作插值运算得到,含G1的低频信息,L0由G1'和G0作差值运算得到,L1由G1和G2'作差值运算得到。将L0和L1作为双精度矩阵存储,并分别对G2、L0和L1进行三值位平面分解。

(12)原始图像进行预处理:一幅图像,可能包含着一个或者多个分量,编码器希望输入的数据会对称于0值,因此把各个分量的动态范围调整为标准动态范围。如果分量样本是无符号数,那么其动态范围必定偏离原点0,因此需要将该样本进行直流电平平移,即用所有样本减去2p-1,其中p由图像内在的数据决定。

(13)分量间变换后再通过3级小波变换分解产生LH,HL及HH的3个高频系列,一个LL低频系列。

(14)量化:经过分量间和分量内的变换后,瓦片分量中的系数矩阵被称为子带,不同的子带的动态范围不同,故将选择不同的量化步长,以求更大的压缩率,量化步长的选取直接影响水印的不可见性和图像的质量。

(15)嵌入子带的选择:原始图像量化后,G2的高4位平面的比特作为水印的掩码信息嵌入到原始图像LL0,其低4位平面作为水印的掩码信息分别嵌入HL1和LH1中;L1的高4位平面的比特嵌入到HL2,其低4位平面的比特嵌入LH2中;而L0的高4位平面的比特嵌入到HL3,L0的低4位平面的比特嵌入到LH3

(16)嵌入子代的处理:对被嵌入的子带中的每个2*2子块进行奇异值分解,取出每个子块中的第一个奇异值采用三值抖动调制方法嵌入水印比特。具体三值抖动调制过程如下:假设输入f为待量化的数据,量化器量化步长取Δ,待嵌入的比特为ω,量化调制后输出为含水印系数f'。量化步长Δ将分布的系数区隔为不连续的A、B、C区间集合。遵循最近匹配量化的原则,并使得-1调制到A区间,0与B区间完成绑定,1与C区间绑定。当时ω=-1时,意味着调制后的输出系数f'落在与原始值距离最靠近的A区间集的某一子区间的中点处;类似地,当ω=0时,f'落在与原始值距离最近的B区间集的某一子区间的中点处;同理,当ω=1时,f'落在与原始值距离最靠近的C区间集的某一子区间的中点处。

(17)EBCOT编码:子带系数需要进行高效有序地组织,编码过程划分为两级:第—级编码(tier-1)是多通道编码,以上下文的二元算术编码为基础;第二级编码(tier-2)是在tier-1基础上进行分层(layer)处理、打包操作并最终封装成码流。

如图2所示为本发明提出的水印提取的流程:

(21)对接收到的含水印的JPGE2000格式的码流进行EBCOT解码,但并不执行逆量化,得出特定子带数据。

(22)判断图像是否有水印存在,若有水印存在,则对特定子带的每个2*2子块做奇异值分解操作,并采用三值抖动调制法提取出每个子块中的第一个奇异值中水印比特。说即根据含水印码流的小波系数所属的量化区间即可识别其相应位置的水印比特信息。至此得到了所有位平面。具体方法是:参数f被调制后,水印比特ω嵌入了量化结果f'中,提取水印比特时的原则就得根据系数所在的区间来判定:如果f'处在A区间集内,ω则对应着值为-1;如果f'落在B区间集内,则ω对应值为0;如果f'落在C区间集内,ω对应值是1。

(23)根据所得到的位平面可重建拉普拉斯金字塔的各层G2、L1和L0

(24)由拉普拉斯金字塔逆变换重构原始水印。高斯金字塔每层的恢复,需要从拉普拉斯金字塔的由顶到底开始逐层进行递推,最大尺寸则为原图像G0,即提取出水印图像。

(25)对EBCOT解码后的码流进行小波的逆变换,并进行后续的处理,产生不同分辨率的图像。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1