发明内容
本发明是针对上述课题进行的,目的在于提供一种兼容JPEG2000编码标准、具有分辨率和质量可伸缩性的水印方法。
本发明提供一种与JPEG2000一体化的可伸缩图像水印方法,其特征在于,包括:水印嵌入方法;和水印提取方法,其中,水印嵌入方法包括以下步骤:步骤一,整数小波变换,读取需要在载体图像中嵌入的水印图像M,对该水印图像M进行三级整数可逆小波分解,得到小波域水印标识符;步骤二,Arnold变换,将小波域水印标识符的三层子带分别进行秘钥为k1、k2和k3的图像二维Arnold变换,得到加密后的小波域水印标识符W,变换公式如下: 式中,i=1、2或3,ki取正整数,(x,y){x,y∈{0,1,2,......,M-1}}是水印图像M的像素坐标,(x',y')是加密后的小波域水印标识符的像素坐标;步骤三,排序分层,对加密后的小波域水印标识符W进行zigzag扫描,对加密后的小波域水印标识符W构造成按重要性递减排序的内嵌水印W*,该内嵌水印W*与JPEG2000分辨率渐进数据单元相对应;步骤四,H×H分块,使用JPEG2000编码器对载体图像进行量化,对量化后的载体图像的三个子带都进行H×H不重复分块,得到相应的若干H×H子块A;步骤五,奇异值分解,对每个H×H子块A进行奇异值分解:
式中,U和V是H阶正交矩阵,S是H阶奇异值矩阵,S上的对角线满足:δ1≥δ2≥…δr≥δr1≥…δM≥0,r=rank(A);步骤六,强度及差值运算,将奇异值矩阵S进行强度运算Qij=round(Sij(1,1)/q),式中Sij(1,1)是第(i,j)个选取子块的奇异值矩阵Sij的第一个奇异值,q是嵌入强度,round是四舍五入运算,对奇异值矩阵进行差值运算Dij=abs(Qij-fix(Sij(1,1)/q)),式中abs是绝对值运算,fix是向下取整运算;步骤七,嵌入内嵌水印W*,对于内嵌水印W*最内的层次l层,若W*(i×M/2l+j)=0,而Qij为奇数,式中W*(i×M/2l+j)是内嵌水印W*的第i行第j列的值,或W*(i×M/2l+j)=1,而Qij为偶数,按照下列公式修改Qij: 否则Q'ij=Qij,重复上述步骤将内嵌水印W*的其他两个层次也嵌入载体图像相应的子带中;步骤八,修改奇异值运算,计算Δx=Q'ij·q-Sij(1,1),将计算出的Δx加到第(i,j)个选取子块的奇异值矩阵Sij的第一个奇异值Sij(1,1)上,得到修改后的奇异值矩阵S’;步骤九,奇异值分解逆运算,作变换A'=US'VT,得到每个H×H子块A嵌入内嵌水印W*后所对应的矩阵A’;步骤十,EBCOT编码,将所有的矩阵A’放回原来的码块中对应的位置,用JPEG2000编码器完成EBCOT编码,输出嵌入水印的码流,得到嵌入水印后的JPEG2000图像,
水印提取方法包括以下步骤:步骤一,H×H分块,使用JPEG2000编码器对嵌入水印后的JPEG2000图像进行逆熵解码,将编码后的JPEG2000图像的每个子带都分成H×H子块A*;步骤二,奇异值分解,将每个H×H子块A*都进行奇异值分解A*=US*VT,得到奇异值矩阵S*;步骤三,强度运算,根据嵌入强度q,进行强度运算步骤四,提取各层次水印信息,对于l层水印,按照下列公式提取水印信息W*'(i×M/2l+j): 按照上述方法提取其他两个层次的水印信息;步骤五,反置乱,将步骤四提取的水印信息的三层子带按照秘钥k1、k2和k3进行反置乱;步骤六,逆小波变换,对反置乱后的水印信息进行逆小波变换,得到重构后的水印图像和去除水印的载体图像,完成水印的提取。
本发明所提供的与JPEG2000一体化的可伸缩图像水印方法,还可以具有这样的特征,还包括:水印检测方法,该水印检测方法包括以下步骤:步骤一,维度提升运算,将提取的水印图像按照下列公式进行双线性内插维度提升运算,将水印图像提升至原始的水印大小M×M,得到升维度水印W'l:
f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i,j+1)+uvf(i+1,j+1)式中,f(i,j)是提取的水印图像在(i,j)处的像素值,像素值f(i,j)的双线性内插值f(i+u,j+u)由提取的水印图像中(i,j)、(i,j+1)、(i+1,j)、(i+1,j+1)四个像素的值决定;步骤二,相关运算,将升维度水印W'l与原始水印W作相关运算: 步骤三,构造归一化相关值,对于分辨率可伸缩的渐进传输,构造归一化相关值:NC=α1NC1+α2NC2+......+αlNCl,其中NCi是根据i级分辨率解码图像检测得到的相关值,α1+α2+......+αl=1,且α1>α2>......>αl,若相关值大于设定的检测阈值,则认为水印存在。
发明的作用与效果
本发明所提供的与JPEG2000一体化的可伸缩图像水印方法,由于应用具有内嵌结构的单水印进行全精度信息隐藏,并结合奇异值分解,增强分辨率可伸缩算法的鲁棒性,因此可以很好地兼容JPEG2000标准的可伸缩框架,使得该图像水印方法具有质量和分辨率双重可伸缩性能。该图像水印方法与JPEG2000编解码框架一体化,具有系统性和实用性的特点。
具体实施方式
以下结合附图,对本发明所提供的与JPEG2000一体化的可伸缩图像水印方法作详细阐述。
<实施例>
与JPEG2000一体化的可伸缩图像水印方法包括水印嵌入方法、水印提取方法和水印检测方法。
图1是水印嵌入流程图。
如图1所示,水印嵌入方法包括以下步骤:
S-1,整数小波变换,读取需要在载体图像中嵌入的水印图像M,对该水印图像M进行三级整数可逆小波分解,得到小波域水印标识符;
S-2,Arnold变换,将小波域水印标识符的三层子带分别进行秘钥为k1、k2和k3的图像二维Arnold变换,得到加密后的小波域水印标识符W,变换公式如下:
式中,i=1、2或3,ki取正整数,(x,y){x,y∈{0,1,2,......,M-1}}是水印图像M的像素坐标,(x',y')是加密后的小波域水印标识符的像素坐标;
S-3,排序分层,对加密后的小波域水印标识符W进行zigzag扫描,对加密后的小波域水印标识符W构造成按重要性递减排序的内嵌水印W*,使该内嵌水印W*与JPEG2000分辨率渐进数据单元数据量比例相对应;
S-4,H×H分块,使用JPEG2000编码器对载体图像进行量化,对量化后的载体图像的三个子带都进行H×H不重复分块,得到相应的若干H×H子块A;
S-5,奇异值分解,对每个H×H子块A进行奇异值分解:
式中,U和V是H阶正交矩阵,S是H阶奇异值矩阵,S上的对角线满足:δ1≥δ2≥…δr≥δr1≥…δM≥0,r=rank(A);
S-6,强度及差值运算,将奇异值矩阵S进行强度运算Qij=round(Sij(1,1)/q),式中Sij(1,1)是第(i,j)个选取子块的奇异值矩阵Sij的第一个奇异值,q是嵌入强度,round是四舍五入运算,
对奇异值矩阵进行差值运算Dij=abs(Qij-fix(Sij(1,1)/q)),式中abs是绝对值运算,fix是向下取整运算;
S-7,嵌入内嵌水印W*,对于内嵌水印W*最内的层次l层,若W*(i×M/2l+j)=0,而Qij为奇数,式中W*(i×M/2l+j)是内嵌水印W*的第i行第j列的值,或W*(i×M/2l+j)=1,而Qij为偶数,按照下列公式修改Qij:
否则Q'ij=Qij,
重复上述步骤将内嵌水印W*的其他两个层次也嵌入载体图像相应的子带中;
S-8,修改奇异值运算,计算Δx=Q'ij·q-Sij(1,1),将计算出的Δx加到第(i,j)个选取子块的奇异值矩阵Sij的第一个奇异值Sij(1,1)上,得到修改后的奇异值矩阵S’;
S-9,奇异值分解逆运算,作变换A'=US'VT,得到每个H×H子块A嵌入内嵌水印W*后所对应的矩阵A’;
S-10,EBCOT编码,将所有的矩阵A’放回原来的码块中对应的位置,用JPEG2000编码器完成EBCOT编码,输出嵌入水印的码流,得到嵌入水印后的JPEG2000图像。
图2是水印提取流程图。
如图2所示,水印提取方法包括以下步骤:
S-11,H×H分块,使用JPEG2000编码器对嵌入水印后的JPEG2000图像进行逆熵解码,将编码后的JPEG2000图像的每个子带都分成H×H子块A*;
S-12,奇异值分解,将每个H×H子块A*都进行奇异值分解A*=US*VT,得到奇异值矩阵S*;
S-13,强度运算,根据嵌入强度q,进行强度运算
S-14,提取各层次水印信息,对于l层水印,按照下列公式提取水印信息W*'(i×M/2l+j):
按照上述方法提取其他两个层次的水印信息;
S-15,反置乱,将步骤四提取的水印信息的三层子带按照相应的秘钥k1、k2和k3进行反置乱;
S-16,逆小波变换,对反置乱后的水印信息进行逆小波变换,得到重构后的水印图像和去除水印的载体图像,完成水印的提取。
对于用JPEG2000无损压缩模式压缩图像和没有外在附加攻击的情况下,可以无失真地提取出内嵌水印。
对于不完全数据解码的水印,采用归一化加权内插升维度相关运算来进行水印检测。水印检测方法包括以下步骤:
S-17,维度提升运算,将提取的水印图像按照下列公式进行双线性内插维度提升运算,将水印图像提升至原始的水印大小M×M,得到升维度水印W'l:
f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i,j+1)+uvf(i+1,j+1)
式中,f(i,j)是提取的水印图像在(i,j)处的像素值,像素值f(i,j)的双线性内插值f(i+u,j+u)由提取的水印图像中(i,j)、(i,j+1)、(i+1,j)、(i+1,j+1)四个像素的值决定;
S-18,相关运算,将升维度水印W'l与原始水印W作相关运算:
S-19,构造归一化相关值,对于分辨率可伸缩的渐进传输,构造归一化相关值:
NC=α1NC1+α2NC2+......+αlNCl,其中NCi是根据i级分辨率解码图像检测得到的相关值,α1+α2+......+αl=1,且α1>α2>......>αl,
若相关值大于设定的检测阈值,则认为水印存在。
实施例的作用与效果
根据本实施例所提供的与JPEG2000一体化的可伸缩图像水印方法,由于应用具有内嵌结构的单水印进行全精度信息隐藏,并结合奇异值分解,将水印信息嵌入奇异值矩阵的最大奇异值上,增强了分辨率可伸缩算法的鲁棒性,因此可以很好地兼容JPEG2000标准的可伸缩框架,使得该图像水印方法具有质量和分辨率双重可伸缩性能。该图像水印方法与JPEG2000编解码框架一体化,具有系统性和实用性的特点。
另外,在水印受到攻击无法完整提取的情况下,采用归一化加权内插进行升维度操作,构造归一化相关值来进行水印检测,因此可以实现分辨率可伸缩编解码模式的水印渐进检测。
以上实施例仅为本发明的优选方案,并不用于限制本发明的保护范围。