1.一种迭代自适应可逆水印嵌入方法,其特征在于包括以下步骤:
第1步:对分辨率为N×M的载体图像I进行n1×m1不重叠分块,要求n1∈{1,2,…,N-1}且m1∈{1,2,…,M-1},将每个不重叠分块转换为矢量,并构造矢量集合S={s1,s2,…,si,…,sVs}, 进而根据辅助信息数据ρ的大小和负载数据β的大小确定矢量si调整平移量Pi,生成位置图压缩数据τ和辅助信息数据ρ,将ρ和τ进行串联构成附加数据α=ρ||τ,若自适应调整平移量选择方法失败,表明无法提供足够的嵌入容量,失败终止;
第2步:对于每个整数矢量si,经过均值调整整数变换 得到矢量 均
值调整整数变换可将 低Pi位比特位调整为一致,因此对于 仅需记录1次低Pi位比特位,而其它总共(n-1)Pi位比特位可用于水印嵌入,其中保留低Pi位比特位元素为记录元素,而其它元素称为冗余元素;
第3步:初始最低有效位缓冲空间ζ为空,使用附加数据α中的数据替换矢量 中冗余元素的最低有效位,若被替换冗余元素所在矢量的调整平移量Pi=0,则将被替换的最低有效位加入最低有效位缓冲空间ζ,将负载数据β和最低有效位缓冲空间ζ串联作为串联数据κ=β||ζ;
第4步:使用κ中数据替换所有平移量Pi≥1的矢量 冗余元素的最低有效位,但不包括已经被使用过最低有效位;
第5步:使用κ中剩余数据替换所有Pi≥2的矢量 中冗余元素的次低有效位,再替换所有Pi=3矢量 冗余元素的第3低有效位;
第6步:将每个矢量 还原为n1×m1的图像块,并按照si生成时的顺序重组所有图像块得到嵌入水印后的图像I′。
2.如权利要求1所述的一种迭代自适应可逆水印嵌入方法,其特征在于:第1步中辅助信息数据ρ设定为8个字节,即64bit,前4字节用于记录位置图压缩数据的长度len(τ),后4字节用于记录负载数据的长度len(β)。
3.如权利要求1所述的一种迭代自适应可逆水印嵌入方法,其特征在于:第1步中位置图压缩数据τ=JBIG(L0||L1||L2),即使用JBIG方法对位置图L0、L1和L2进行压缩得到的压缩数据,L0、L1和L2用来记录矢量集合S={s1,s2,…,si,…,sVs}中每个矢量si所对应的调整平移量Pi,具体的方法如式(14)所示式(14)中,Lj,i表示第j层位置图上的第i个元素,L0||L1||L2作为高 和宽的2值矩阵。
4.如权利要求1所述的一种迭代自适应可逆水印嵌入方法,其特征在于:在第2步中,均值调整整数变换具体方法如式(1)所示:0
式(1)中v=(v1,v2,...,vn)为n维整数矢量,P≥0为调整平移量,当P=0时,v=v,其中均值 由式(2)给出:P
对于v,仅需记录1次低P位比特位,而其它总共(n-1)P位比特位可用于水印嵌入,其中保留低P位比特位元素为记录元素,而其它元素称为冗余元素。
5.如权利要求1所述的一种迭代自适应可逆水印嵌入方法,其特征在于:在第1步中根据辅助信息数据ρ的大小和负载数据β的大小确定矢量si调整平移量Pi的具体方法为:第1.1步:初始化当前容量为Cs=0,Pi,1≤i≤Vs全置为0,用Ps指代上一次迭代过程中位置图压缩数据大小,将其初始为0,置整数矢量队列Q为空,统计每次迭代过程中要嵌入数据的初始大小Tot=len(ρ)+len(β);
1 2 3
第1.2步:对于矢量集合S中每个矢量si,分别使用均值调整整数变换F、F、F进行均值调整整数变换得到变换后矢量第1.3步:对于任意 P∈{1,2,3},若该矢量中的每个整数均不溢出,将矢量加入Q,对Q中所有矢量按调整后 对视觉质量的影响进行从小到大排序;
第1.4步:从Q首弹出 若P>Pi则更新si对应的均值调整整数变换的平移量Pi=P并更新si提供的嵌入容量Cs=Cs+(n1m1-1)×(P-Pi),否则不进行任何操作,直到Cs≥Tot或Q为空;
第1.5步:根据Pi生成位置图并压缩得到τ,更新此次迭代过程中要嵌入的数据大小Tot=Tot-Ps+len(τ),即为用新位置图压缩数据代替旧位置图压缩数据后的大小;
第1.6步:若Cs≥Tot,则输出所有的Pi结束;
第1.7步:若Q为空,则嵌入容量无法嵌入所有数据,输出嵌入容量后结束,反之则转第
1.4步。
6.如权利要求5所述的一种迭代自适应可逆水印嵌入方法,其特征在于:第1.3步按调整后 对视觉质量的影响进行排序具体的计算方法为是按调整前后矢量误差平方和进行计算,如式(10)所示:
7.与权利要求1可逆水印嵌入方法相对应的一种迭代自适应可逆水印提取方法,其特征在于包括以下步骤:第1步:对N×M载体图像I′进行n1×m1不重叠分块,将I′划分为不重叠的子图像块并构造整数矢量集合第2步:从矢量 中提取冗余元素的最低有效位直到提取出辅助信息数据ρ后,计算得到位置图压缩数据τ的长度len(τ)和负载数据β的长度len(β),并根据len(τ)继续提取出位置图压缩数据τ;
第3步:由τ得到3层位置图L0、L1和L2,由L0、L1和L2位置图确定所有的平移量Pi,同时根据提取出τ时的位置以及该位置之前满足Pi=0的矢量数量计算出记录的最低有效位长度len(ζ);
第4步:初始化比特数据流κ为空,依次提取所有满足Pi≥1的矢量中冗余元素最低有效位并加入κ,但不包括已经被提取过的最低有效位;
第5步:分别提取满足Pi≥2的矢量中冗余元素的次低有效位以及所有Pi=3的矢量中冗余元素的第3低有效位并加入κ,直到满足len(κ)=len(β)+len(ζ),根据len(β)与len(ζ)从κ中分离出β和ζ;
第6步:若 对应的Pi>0,则用该矢量中记录元素的最低Pi个有效位替换冗余元素的最低Pi个有效位,并进行均值调整整数变换的逆变换;
第7步:按照顺序使用ζ中的数据对满足Pi=0的矢量中冗余元素进行最低有效位替换;
第8步:将每个si还原为一个高n1宽m1的图像块,并按照 生成时的顺序重组所有图像块得到原始载体图像I。
8.如权利要求7所述的一种迭代自适应可逆水印提取方法,其特征在于:第3步由τ恢复为L0、L1和L2的具体方法为采用JBIG解压方法得到3层位置图L0、L1和L2的串联数据L0||L1||L2,将其作为高 和宽 的2值矩阵,然后按式(7)确定Pi
9.如权利要求7所述的一种迭代自适应可逆水印提取方法,其特征在于:第6步进行均值调整整数变换的具体方法为式(3),记为v=RP(vP):