CN103024375B - 一种基于双目恰可觉察失真的立体图像半脆弱水印方法 - Google Patents

一种基于双目恰可觉察失真的立体图像半脆弱水印方法 Download PDF

Info

Publication number
CN103024375B
CN103024375B CN201210461409.4A CN201210461409A CN103024375B CN 103024375 B CN103024375 B CN 103024375B CN 201210461409 A CN201210461409 A CN 201210461409A CN 103024375 B CN103024375 B CN 103024375B
Authority
CN
China
Prior art keywords
pixel
wat
coordinate position
org
image block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201210461409.4A
Other languages
English (en)
Other versions
CN103024375A (zh
Inventor
蒋刚毅
王晶
郁梅
骆挺
邵枫
彭宗举
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ningbo University
Original Assignee
Ningbo University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ningbo University filed Critical Ningbo University
Priority to CN201210461409.4A priority Critical patent/CN103024375B/zh
Publication of CN103024375A publication Critical patent/CN103024375A/zh
Application granted granted Critical
Publication of CN103024375B publication Critical patent/CN103024375B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

本发明公开了一种基于双目恰可觉察失真的立体图像半脆弱水印方法,首先提取左右图像的定位水印;然后根据左图像双目恰可觉察失真值确定定位水印在左图像的嵌入比特位置,进而将左右图像的定位水印分层嵌入左图像;最后利用离散余弦变换和JPEG量化压缩将右图像恢复信息嵌入到右图像,而对于左图像,则将遮挡暴露区域压缩后的恢复信息嵌入到左图像,优点是本方法充分利用了左右图像的匹配特性,使得篡改的立体图像恢复的质量得到了进一步的提高,实验结果表明,本方法不仅能够准确地实现篡改区域的定位,而且能根据左右图像的关系及恢复信息对篡改区域的内容进行恢复。

Description

一种基于双目恰可觉察失真的立体图像半脆弱水印方法
技术领域
本发明涉及一种数字水印技术,尤其是涉及一种基于双目恰可觉察失真的立体图像半脆弱水印方法。
背景技术
立体图像/视频由于能够给人们带来更加真实的场景感受而深受欢迎,同时市场的应用需求也推动着立体图像/视频技术的快速发展。随着计算机和网络技术的不断进步,攻击者能够较容易地对多媒体内容进行复制、修改、编辑和存储等操作,使得这些高端资源的内容受到质疑。如何对立体图像/视频内容的认证已成为一个亟待解决的问题。
数字水印技术作为一种信息隐藏技术为多媒体内容认证提供了新的解决方法。针对内容认证的数字水印技术分为脆弱的和半脆弱的两类:脆弱水印能够检测任何对图像完整性的破坏,而半脆弱水印能够容忍一定程度的有益图像处理操作;半脆弱水印技术对非恶意的图像处理操作(如大于70%的JPEG压缩、浓度小于5%的椒盐噪声和浓度不大于0.5%的高斯白噪声等)具有鲁棒性,而对恶意篡改操作(如图像剪切、图像拼接、旋转和小于70%的JPEG压缩等)具有脆弱性。在实际应用中,往往需要能够有效区分有益图像处理与恶意篡改的半脆弱水印方法。
近年来,基于内容认证的平面图像水印方法受到了国内外学者的广泛关注。Lee提出一种平面图像的脆弱水印方法,其将图像高五位信息生成恢复水印存储两次,并将图像的定位及恢复水印嵌入在低三位,在恢复的过程中能够恢复原来的高五位信息,影响图像的透明性。Tasi提出一种基于小波变换域的半脆弱水印方法,此方法中恢复水印只存储一次,降低了图像恢复的能力,同时,定位和恢复水印嵌入的幅度较大,造成图像的透明性较差。
立体水印方法在立体图像的版权保护和完整性认证两个方面有一定的发展。Lee等人提出了一种基于绘制的水印方法实现三维图像内容的版权保护,该方法能够容忍绘制过程中所产生的一定程度的失真。Campisi等人提出了一种基于水印技术的图像编码方法,以实现立体图像的安全保护。Zhou针对版权保护提出了一种基于超混沌离散系统的立体图像零水印方法,该方法对加噪、滤波、压缩、剪切等各种攻击能够表现出较强的鲁棒性。Luo提出了一种立体图像水印方法,其使用离散余弦变换从而达到版权保护的目的。然而,以上所述的立体数字水印方法存在以下问题:一方面,它们主要集中于鲁棒性水印技术的研究,半脆弱水印方法及其应用的研究较为罕见;另一方面,由于它们未能充分挖掘人类视觉感知特性,因此图像透明性有待进一步提高。
发明内容
本发明所要解决的技术问题是提供一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其在保证立体图像质量保持不变或变化不大的前提下,能够有效地保护图像内容真实性及完整性,能够有效地提高图像的透明性,并且能够很好地实现透明性、对偶然攻击的鲁棒性与对恶意攻击脆弱性三者之间的平衡。
本发明解决上述技术问题所采用的技术方案为:一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于包括以下步骤:
①在水印嵌入端,将待嵌入水印的立体图像记为{Sorg(m,n)},将{Sorg(m,n)}的视差图像记为{Dorg(m,n)},将{Sorg(m,n)}的左图像记为{Lorg(m,n)},将{Sorg(m,n)}的右图像记为{Rorg(m,n)},其中,{Sorg(m,n)}、{Dorg(m,n)}、{Lorg(m,n)}和{Rorg(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Sorg(m,n)表示{Sorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Dorg(m,n)表示{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Lorg(m,n)表示{Lorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Rorg(m,n)表示{Rorg(m,n)}中坐标位置为(m,n)的像素点的像素值;
②以两种图像块划分方式将{Lorg(m,n)}和{Rorg(m,n)}分别划分成多个图像块,第一种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块记为其中,第二种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lorg(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rorg(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 ≤ x ≤ M 8 , 1 ≤ y ≤ N 8 ;
③对{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块分别进行奇异值分解,生成{Lorg(m,n)}中的每个第一图像块的特征信息和{Rorg(m,n)}中的每个第一图像块的特征信息,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1;
然后根据{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块的特征信息产生{Sorg(m,n)}的定位水印,记为{Worg(m,n)},其中,{Worg(m,n)}的分辨率为M×N,Worg(m,n)表示{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值;
④根据{Dorg(m,n)}获取{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像,记为{GBJND(m,n)},其中,{GBJND(m,n)}的分辨率为M×N,GBJND(m,n)表示{GBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值;
⑤根据{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中的所有像素点分为三类,并分别确定三类像素点待嵌入水印比特位的具体位置,然后将定位水印{Worg(m,n)}嵌入{Lorg(m,n)}中;
⑥对{Rorg(m,n)}中的每个第二图像块进行压缩编码,生成第一恢复信息用水印,然后将该第一恢复信息用水印嵌入{Rorg(m,n)}中;
⑦根据{Dorg(m,n)}将{Lorg(m,n)}分成可匹配和不可匹配两类区域,然后对不可匹配区域进行压缩编码,生成第二恢复信息用水印,再将该第二恢复信息用水印嵌入{Lorg(m,n)}中;
1)在水印提取端,将待提取水印的立体图像记为{Swat(m,n)},将{Swat(m,n)}的视差图像记为{Dwat(m,n)},将{Swat(m,n)}的左图像记为{Lwat(m,n)},将{Swat(m,n)}的右图像记为{Rwat(m,n)},其中,{Swat(m,n)}、{Dwat(m,n)}、{Lwat(m,n)}和{Rwat(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Swat(m,n)表示{Swat(m,n)}中坐标位置为(m,n)的像素点的像素值,Dwat(m,n)表示{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Lwat(m,n)表示{Lwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Rwat(m,n)表示{Rwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
2)以两种图像块划分方式将{Lwat(m,n)}和{Rwat(m,n)}划分成多个图像块,第一种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块记为其中, 第二种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lwat(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rwat(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 ≤ x ≤ M 8 , 1 ≤ y ≤ N 8 ;
3)根据{Dwat(m,n)}获取{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像,记为{HBJND(m,n)},其中,{HBJND(m,n)}的分辨率为M×N,HBJND(m,n)表示{HBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值;
4)根据{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中的所有像素点分为三类,并分别确定三类像素点待提取水印比特位的具体位置,然后从{Swat(m,n)}中提取出嵌入的定位水印,记为{Wwat(m,n)},其中,{Wwat(m,n)}的分辨率为M×N,Wwat(m,n)表示{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
5)对{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块进行奇异值分解,生成{Lwat(m,n)}中的每个第一图像块的特征信息和{Rwat(m,n)}中的每个第一图像块的特征信息,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1;
然后根据{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块的特征信息产生{Swat(m,n)}的定位水印,记为其中,的分辨率为M×N,表示中坐标位置为(m,n)的像素点的像素值;
6)计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},然后根据{Ewat(m,n)}生成{Lwat(m,n)}的定位图像和{Rwat(m,n)}的定位图像,分别记为{ELwat(i,j)}和{ERwat(i,j)},其中,{Ewat(m,n)}的分辨率为M×N,Ewat(m,n)表示{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值,{ELwat(i,j)}和{ERwat(i,j)}的分辨率为 ELwat(i,j)表示{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值,ERwat(i,j)表示{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值;
7)根据{Lwat(m,n)}的定位图像{ELwat(i,j)}确定{Lwat(m,n)}的篡改类型,如果{Lwat(m,n)}为恶意篡改图像,则判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点;
根据{Rwat(m,n)}的定位图像{ERwat(i,j)}确定{Rwat(m,n)}的篡改类型,如果{Rwat(m,n)}为恶意篡改图像,则判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息。
所述的步骤③的具体过程为:
③-1、对{Lorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UL和VL;对{Rorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UR和VR
③-2、判断{Lorg(m,n)}中的每个第一图像块奇异值分解后得到的U矩阵UL中的左上角值是否大于V矩阵VL中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
判断{Rorg(m,n)}中的每个第一图像块的U矩阵UR中的左上角值是否大于V矩阵VR中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
③-3、令{Worg(m,n)}表示{Sorg(m,n)}的定位水印,将{Worg(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块;
然后对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将{Worg(m,n)}中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中, mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
再将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、{Worg(m,n)}中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点和{Worg(m,n)}中坐标位置为第二坐标位置(i″,j″)的第一图像块中的第二行第二列的像素点。
所述的步骤④的具体过程为:
④-1、获取{Rorg(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgorg(m,n)}和{ehorg(m,n)},其中,{bgorg(m,n)}和{ehorg(m,n)}的分辨率均为M×N,bgorg(m,n)表示{bgorg(m,n)}中坐标位置为(m,n)的像素点的像素值,ehorg(m,n)表示{ehorg(m,n)}中坐标位置为(m,n)的像素点的像素值;
④-2、根据{Dorg(m,n)}、{bgorg(m,n)}和{ehorg(m,n)}中的每个像素点的像素值,计算{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为GBJND(m,n), G BJND ( m , n ) = T C , lim ( m , n ′ ) × ( 1 - ( n r ( m , n ′ ) T C , lim ( m , n ′ ) ) λ ) 1 / λ , 其中,n′=n+Dorg(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dorg(m,n)个像素点获得,TC,lim(m,n′)表示{Lorg(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgorg(m,n′))+K(bgorg(m,n′))×ehorg(m,n′),TC(bgorg(m,n′))表示令右图像在给定bgorg(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgorg(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgorg(m,n′))=-10-6×10.7×bgorg(m,n′)2+32×bgorg(m,n′)+0.07,bgorg(m,n′)表示{bgorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehorg(m,n′)表示{ehorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rorg(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数;
④-3、根据{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像{GBJND(m,n)}。
所述的步骤⑤的具体过程为:
⑤-1、计算{GBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ和δ, μ = 1 M × N Σ m = 1 M Σ n = 1 N G BJND ( m , n ) , δ = 1 M × N Σ m = 1 M Σ n = 1 N ( G BJND ( m , n ) - μ ) 2 ;
⑤-2、根据μ和δ将{Lorg(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入对应的水印比特位,第二类像素点的像素值的b2比特位上嵌入对应的水印比特位,第三类像素点的像素值的b3比特位上嵌入对应的水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位;
⑤-3、根据{Lorg(m,n)}中的每个像素点被确定的待嵌入水印比特位的具体位置,将确定的具体位置处的比特值更换为{Worg(m,n)}中对应的水印比特值,实现{Worg(m,n)}的嵌入;对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则该像素点的像素值的b1比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值。
所述的步骤⑤-2的具体过程为:
A1、根据μ和δ,计算{Lorg(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a和b,a=μ-δ,b=μ+δ;
B1、比较{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b的大小,对{Lorg(m,n)}中的每个像素点进行归类,对于{GBJND(m,n)}中坐标位置为(m,n)的像素点,判断GBJND(m,n)≥b是否成立,如果GBJND(m,n)≥b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入对应的水印比特位;如果GBJND(m,n)≥b不成立,则再判断a<GBJND(m,n)<b是否成立,如果a<GBJND(m,n)<b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入对应的水印比特位;如果a<GBJND(m,n)<b不成立,则再判断GBJND(m,n)≤a是否成立,如果GBJND(m,n)≤a成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入对应的水印比特位。
所述的步骤⑥的具体过程为:
⑥-1、对{Rorg(m,n)}中的每个第二图像块中的每个像素点的高六位比特位的值进行离散余弦变换,得到{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数,然后利用JPEG量化表对{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数进行量化;
⑥-2、对{Rorg(m,n)}中的每个第二图像块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Rorg(m,n)}中的每个第二图像块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式;
⑥-3、以二进制表示{Rorg(m,n)}中的每个第二图像块的前8个离散余弦变换系数,得到{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位,由{Rorg(m,n)}中的所有第二图像块对应的所有水印比特位组成一个第一恢复信息用水印;
⑥-4、对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,将{Rorg(m,n)}中位置坐标为(x,y)的第二图像块的坐标位置(x,y)在密钥K3和密钥K4下进行Torus二维坐标置换映射得到映射后的第三坐标位置和第四坐标位置记为(x',y')和(x″,y″),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,x″=(x×K4)mod(M/8)+1,y″=(y×K4)mod(N/8)+1,其中,mod为取模运算符号,K1≠K2≠K3≠K4,K3∈[0,100],K4∈[0,100];
⑥-5、将{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位的值赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第三坐标位置的第二图像块中的每个像素点的像素值的b1比特位,及对应赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第四坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第一恢复信息用水印嵌入{Rorg(m,n)}中;对于{Rorg(m,n)}中位置坐标为(x,y)的第二图像块对应的64个水印比特位的值一一对应地赋值给坐标位置为(x',y')的第二图像块中的64个像素点的像素值的b1比特位,并将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x″,y″)的第二图像块中的64个像素点的像素值的b0比特位。
所述的步骤⑦的具体过程为:
⑦-1、根据{Dorg(m,n)}中的每个像素点的像素值,确定{Lorg(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,判断{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值Dorg(m,n)是否为255,如果是,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,否则,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点;
然后确定{Lorg(m,n)}中的每个第二图像块为不可匹配块或可匹配块,对于{Lorg(m,n)}中坐标位置为(x,y)的第二图像块判断中是否存在不可匹配像素点,如果存在,确定为不可匹配块并归为不可匹配区域,否则,确定为可匹配块并归为可匹配区域;
⑦-2、对{Lorg(m,n)}中的每个不可匹配块中的每个像素点的高四位比特位进行离散余弦变换,得到{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数,然后利用JPEG量化表对{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数进行量化;
⑦-3、对{Lorg(m,n)}中的每个不可匹配块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式;
⑦-4、以二进制表示{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,得到{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位,由{Lorg(m,n)}中的所有不可匹配块对应的所有水印比特位组成一个第二恢复信息用水印;
⑦-5、对{Lorg(m,n)}中的每个不可匹配块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置,假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置记为(x*,y*),x*=(x×K3)mod(M/8)]+1,y*=(y×K3)mod(N/8)]+1,其中,mod为取模运算符号;
⑦-6、将{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位的值赋值给坐标位置为每个不可匹配块的坐标位置映射后得到的第五坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第二恢复信息用水印嵌入{Lorg(m,n)}中;假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x*,y*)的第二图像块中的64个像素点的像素值的b0比特位。
所述的步骤3)的具体过程为:
3)-1、获取{Rwat(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgwat(m,n)}和{ehwat(m,n)},其中,{bgwat(m,n)}和{ehwat(m,n)}的分辨率均为M×N,bgwat(m,n)表示{bgwat(m,n)}中坐标位置为(m,n)的像素点的像素值,ehwat(m,n)表示{ehwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
3)-2、根据{Dwat(m,n)}、{bgwat(m,n)}和{ehwat(m,n)}中的每个像素点的像素值,,计算{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为HBJND(m,n), H BJND ( m , n ) = T C , lim ( m , n &prime; ) &times; ( 1 - ( n r ( m , n &prime; ) T C , lim ( m , &prime; ) ) &lambda; ) 1 / &lambda; , 其中,n′=n+Dwat(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dwat(m,n)个像素点获得,TC,lim(m,n′)表示{Lwat(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgwat(m,n′))+K(bgwat(m,n′))×ehwat(m,n′),TC(bgwat(m,n′))表示令右图像在给定bgwat(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgwat(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgwat(m,n′))=-10-6×10.7×bgwat(m,n′)2+32×bgwat(m,n′)+0.07,bgwat(m,n′)表示{bgwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehwat(m,n′)表示{ehwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rwat(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数;
3)-3、根据{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lwat(m,n)}的全局双目恰可觉察失真图像{HBJND(m,n)}。
所述的步骤4)的具体过程为:
4)-1、计算{HBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ′和δ′, &mu; &prime; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N H BJND ( m , n ) , &delta; &prime; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N ( H BJND ( m , n ) - &mu; &prime; ) 2 ;
4)-2、根据μ′和δ′将{Lwat(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入有水印比特位,第二类像素点的像素值的b2比特位上嵌入有水印比特位,第三类像素点的像素值的b3比特位上嵌入有水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位;
4)-3、根据{Lwat(m,n)}中的每个像素点被确定的待提取水印比特位的具体位置,将确定的具体位置处的比特值提取出,实现嵌入的定位水印{Wwat(m,n)}的提取;对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则提取出该像素点的像素值的b1比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
所述的步骤4)-2的具体过程为:
A2、根据μ′和δ′,将{Lwat(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a′和b′,a′=μ′-δ′,b′=μ′+δ′;
B2、比较{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b′的大小,对{Lwat(m,n)}中的每个像素点进行归类,对于{HBJND(m,n)}中坐标位置为(m,n)的像素点,判断HBJND(m,n)≥b′是否成立,如果HBJND(m,n)≥b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入有水印比特位;如果HBJND(m,n)≥b′不成立,则再判断a′<HBJND(m,n)<b′是否成立,如果a′<HBJND(m,n)<b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入有水印比特位;如果a′<HBJND(m,n)<b′不成立,则再判断HBJND(m,n)≤a′是否成立,如果HBJND(m,n)≤a′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入有水印比特位。
所述的步骤5)的具体过程为:
5)-1、对{Lwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为ULwat和VLwat;依次对{Rwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为URwat和VRwat
5)-2、判断{Lwat(m,n)}中的每个第一图像块的U矩阵ULwat中的左上角值是否大于V矩阵VLwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
判断{Rwat(m,n)}中的每个第一图像块的U矩阵URwat中的左上角值是否大于V矩阵VRwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
5)-3、令表示{Swat(m,n)}的定位水印,将划分成个互不重叠的尺寸大小为2×2的第一图像块;
然后对中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中, mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
再将{Lwat(m,n)}中的每个第一图像块的特征信息的值赋值给中对应坐标位置的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中的每个第一图像块的特征信息的值分别赋值给中对应坐标位置的第一图像块中的第一行第二列的像素点、中对应坐标位置映射后的第一坐标位置的第一图像块中的第二行第一列的像素点、中对应坐标位置映射后的第二坐标位置的第一图像块中的第二行第二列的像素点,得到对于{Lwat(m,n)}和{Rwat(m,n)}中坐标位置为(i,j)的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点、中坐标位置为第二坐标位置(i″,j″)的第一图像块中的第二行第二列的像素点。
所述的步骤6)的具体过程为:
6)-1、计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},将{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值记为Ewat(m,n), E wat ( m , n ) = | W wat ( m , n ) - W wat t ( m , n ) | , 其中,“||”为取绝对值符号;
6)-2、将{Ewat(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Ewat(m,n)}中坐标位置为(i,j)的第一图像块记为BEwat(i,j),其中,
6)-3、将{Ewat(m,n)}中的每个第一图像块的坐标位置在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置,将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i',j'),将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K2下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中,mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
6)-4、根据{Ewat(m,n)}中的每个第一图像块中的每个像素点的像素值生成{Lwat(m,n)}的定位图像{ELwat(i,j)}和{Rwat(m,n)}的定位图像{ERwat(i,j)},具体过程为:
A6、如果{Ewat(m,n)}中坐标位置为(i,j)的第一图像块BEwat(i,j)中第一行第一列的像素点的像素值为0,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为0,然后判断BEwat(i,j)中第一行第二列的像素点的像素值是否为0,如果是,则将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1,如果BEwat(i,j)中第一行第一列的像素点的像素值为1,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为1,然后执行步骤B6;
B6、如果{Ewat(m,n)}中坐标位置为第一坐标位置(i′,j′)的第一图像块BEwat(i′,j′)中第一行第一列的像素点的像素值为0,则判断BEwat(i′,j′)中第二行第一列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i′,j′)中第一行第一列的像素点的像素值为1,则执行步骤C6;
C6、如果{Ewat(m,n)}中坐标位置为第二坐标位置(i″,j″)的第一图像块BEwat(i″,j″)中第一行第一列的像素点的像素值为0,则判断BEwat(i″,j″)中第二行第二列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i″,j″)中第一行第一列的像素点的像素值为1,则将{ERwat(i,j)}中坐标位置为(i,j)的的像素点的像素值ERwat(i,j)赋值为1。
所述的步骤7)的具体过程为:
7)-1、计算{ELwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ELwat(i,j)}中错误的像素点的个数与{ELwat(i,j)}中像素点的总数的比率,记为ρl,再计算{ELwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δl,其中,对于{ELwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)为1,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点;
计算{ERwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ERwat(i,j)}中错误的像素点的个数与{ERwat(i,j)}中像素点的总数的比率,记为ρr,再计算{ERwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δr,其中,对于{ERwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)为1,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点;
7)-2、判断ρl的值是否大于0且δl的值是否大于设定的阈值T,如果ρl的值大于0且δl的值大于设定的阈值T,则认为{Lwat(m,n)}为恶意篡改图像,否则,认为{Lwat(m,n)}为非恶意篡改图像;
判断ρr的值是否大于0且δr的值是否大于设定的阈值T,如果ρr的值大于0且δr的值大于设定的阈值T,则认为{Rwat(m,n)}为恶意篡改图像,否则,认为{Rwat(m,n)}为非恶意篡改图像;
7)-3、如果{Rwat(m,n)}为恶意篡改图像,则判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息,具体过程为:
A7、判断{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)是否为1,如果ERwat(i,j)为1,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改;
B7、在{Rwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4)×4,j-mod(j-1,4)×4),并假设在{Rwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块则将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100];
C7、令 判断{ERwat(i,j)}中坐标位置为的像素点的像素值是否为1,如果是,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的第一恢复信息用水印遭到篡改,然后将找出的第二图像块的坐标位置(x,y)在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,记为(x″,y″),x″=(x×K4)mod(M/8)+1,y″=(y×K4)mod(N/8)+1,再执行步骤E7,否则,执行步骤D7;其中,K1≠K2≠K3≠K4,K4∈[0,100];
D7、提取{Rwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b1比特位中的64个第一恢复信息用水印比特位,将这64个第一恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8;
E7、提取{Rwat(m,n)}中坐标位置为(x″,y″)的第二图像块中的每个像素点的像素值的b0比特位中的64个第一恢复用水印比特位,将这64个第一恢复信息用水印比特以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8;
7)-4、如果{Lwat(m,n)}为恶意篡改图像,则根据{Dwat(m,n)}中的每个像素点的像素值,确定{Lwat(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)为255,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)不为255,确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点,然后判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,再根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点,具体过程为:
F7、判断{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)是否为1,如果ELwat(i,j)为1,则认为{Lwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改;
G7、在{Lwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4),j-mod(j-1,4)),并假设在{Lwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号;
H7、判断找出的第二图像块中是否存在不可匹配像素点,如果是,则确定为不可匹配块,然后执行步骤I7,否则,确定为可匹配块,然后执行步骤J7;
I7、将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,然后提取{Lwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b0比特位中的64个第二恢复用水印比特位,将这64个第二恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Lwat(m,n)}中坐标位置为(x,y)的第二图像块的第二恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Lwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第二恢复信息用水印比特位的值为1或0,的尺寸大小为8×8,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100];
J7、根据{Lwat(m,n)}中遭到篡改的第一图像块得到遭到篡改的四个像素点的坐标位置,在{Rwat(m,n)}中找出中的每个遭到篡改的像素点对应的最佳匹配点,并将在{Rwat(m,n)}中找到的四个最佳匹配点的像素值一一对应地赋值给中的每个遭到篡改的像素点,其中,{Rwat(m,n)}中的最佳匹配点的寻找过程为:如果中遭到篡改的像素点在{Lwat(m,n)}中的坐标位置为(m,n),则根据{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n),确定{Lwat(m,n)}中坐标位置为(m,n)的像素点在{Rwat(m,n)}中对应的最佳匹配点的坐标位置为(m,n+Dwat(m,n))。
与现有技术相比,本发明的优点在于:
1)本发明方法利用人眼双目视觉感知的掩蔽特性,以右图像为参考图像,根据视差及右图像得到左图像中的每个像素点的全局恰可觉察失真值,然后对左图像中的每个像素点进行归类进而嵌入定位水印,从而大大提高了定位水印的鲁棒性。
2)本发明方法通过分析立体图像之间的冗余与匹配特性,在恢复水印的嵌入过程中,对于右图像,将恢复信息压缩嵌入到右图像中,对于左图像,将不可匹配区域的恢复信息压缩嵌入到左图像中,从而减少了恢复水印的容量,大大提高了嵌入水印的立体图像的透明性。
3)本发明方法在篡改图像恢复过程中,对于右图像利用恢复水印恢复篡改区域的图像,对于左图像,则利用视差及遮挡暴露区域的恢复水印进行篡改区域内容的恢复,使篡改立体图像的恢复质量得到了大大的提高。
4)本发明方法定义错误像素与篡改像素的标准,并统计两者所占的比率,通过错误像素率和篡改像素率分别与设定阈值的比较来区分恶意攻击和非恶意攻击,实现了对攻击类型的分类,使本发明方法具有更广泛的实用性。
5)本发明方法能够区分攻击类型,对恶意攻击篡改检测率较高,由于利用了立体图像关系恢复水印,因此能够有效提高篡改区域的恢复质量。
附图说明
图1a为“Akko_kayo”原始立体图像的左图像;
图1b为“Akko_kayo”原始立体图像的右图像;
图2为“Akko_kayo”原始立体图像的左图像中的每个像素点的全局双目恰可觉察失真值扩大10倍后的全局双目恰可觉察失真图像;
图3a为嵌入水印后的“Akko_kayo”立体图像的左图像;
图3b为嵌入水印后的“Akko_kayo”立体图像的右图像;
图4a为对嵌入水印后的“Akko_kayo”立体图像的左图像进行剪切攻击的图像;
图4b为对嵌入水印后的“Akko_kayo”立体图像的右图像进行剪切攻击的图像;
图5a为对嵌入水印后的“Akko_kayo”立体图像的左图像进行剪切攻击的定位图像;
图5b为对嵌入水印后的“Akko_kayo”立体图像的右图像进行剪切攻击的定位图像;
图6a为对嵌入水印后的“Akko_kayo”立体图像的左图像进行剪切篡改处恢复内容的全局图像;
图6b为对嵌入水印后的“Akko_kayo”立体图像的右图像进行剪切篡改处恢复内容的全局图像;
图7a为“Akko_kayo”原始立体图像的左图像剪切位置的部分图像内容的放大图;
图7b为遭到攻击的“Akko_kayo”立体图像的左图像的剪切篡改处部分恢复内容的放大图;
图7c为“Akko_kayo”原始立体图像的右图像剪切位置的部分图像内容的放大图;
图7d为遭到攻击的“Akko_kayo”立体图像的右图像的剪切篡改处部分恢复内容的放大图;
图8a为对嵌入水印后的“Akko_kayo”立体图像的左图像进行拼接攻击的图像;
图8b为对嵌入水印后的“Akko_kayo”立体图像的右图像进行拼接攻击的图像;
图9a为对嵌入水印后的“Akko_kayo”立体图像的左图像进行拼接攻击的定位图像;
图9b为对嵌入水印后的“Akko_kayo”立体图像的右图像进行拼接攻击的定位图像;
图10a为“Akko_kayo”原始立体图像的左图像拼接位置的图像内容的放大图;
图10b为遭到攻击的“Akko_kayo”立体图像的左图像的拼接篡改处恢复内容的放大图;
图10c为“Akko_kayo”原始立体图像的右图像拼接位置的图像内容的放大图;
图10d为遭到攻击的“Akko_kayo”立体图像的右图像的拼接篡改处恢复内容的放大图;
图11a为“Akko_kayo”原始立体图像的左图像拼接位置的部分图像内容的放大图;
图11b为遭到攻击的“Akko_kayo”立体图像的左图像的拼接篡改处的部分恢复内容局部放大图;
图11c为“Akko_kayo”原始立体图像的左图像拼接位置的部分图像内容的放大图;
图11d为遭到攻击的“Akko_kayo”立体图像的右图像的拼接篡改处的部分恢复内容局部放大图;
图12为本发明方法获取立体图像的右图像的定位图像的流程框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
由于嵌入水印后的立体图像最终是通过人眼进行感知的,因此为了在保持立体图像在感知质量不变或变化不大的前提下,本发明提出了一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其利用立体图像的关系,在已有的双目恰可觉察失真(BinocularJust-Noticeable-Difference,BJND)模型的基础上在立体图像的左图像中嵌入定位水印,从而使水印的透明性、对偶然攻击的鲁棒性和对恶意攻击的脆弱性达到了很好的平衡。
本发明提出的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其包括以下步骤:
①在水印嵌入端,将待嵌入水印的立体图像记为{Sorg(m,n)},将{Sorg(m,n)}的视差图像记为{Dorg(m,n)},将{Sorg(m,n)}的左图像图像记为{Lorg(m,n)},将{Sorg(m,n)}的右图像记为{Rorg(m,n)},其中,{Sorg(m,n)}、{Dorg(m,n)}、{Lorg(m,n)}和{Rorg(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Sorg(m,n)表示{Sorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Dorg(m,n)表示{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Lorg(m,n)表示{Lorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Rorg(m,n)表示{Rorg(m,n)}中坐标位置为(m,n)的像素点的像素值。
在本实施例中,采用标准的立体测试图像“Akko_kay”作为原始立体图像,立体图像包括左图像和右图像,“Akko_kay”的左图像和右图像的分辨率为640×480。图1a和图1b分别给出了“Akko_kay”的左图像和右图像。
②以两种图像块划分方式将{Lorg(m,n)}和{Rorg(m,n)}分别划分成多个图像块,第一种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块记为其中, 第二种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lorg(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rorg(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 &le; x &le; M 8 , 1 &le; y &le; N 8 .
③对{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块分别进行奇异值分解,生成{Lorg(m,n)}中的每个第一图像块的特征信息和{Rorg(m,n)}中的每个第一图像块的特征信息,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1。
然后根据{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块的特征信息产生{Sorg(m,n)}的定位水印,记为{Worg(m,n)},其中,{Worg(m,n)}的分辨率为M×N,Worg(m,n)表示{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值。
在此具体实施例中,步骤③的具体过程为:
③-1、依次对{Lorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UL和VL;依次对{Rorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UR和VR
③-2、依次判断{Lorg(m,n)}中的每个第一图像块奇异值分解后得到的U矩阵UL中的左上角值是否大于V矩阵VL中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;对于判断奇异值分解后得到的U矩阵UL中的左上角值是否大于V矩阵VL中的左上角值,如果是,将的特征信息的值置为1,否则,将的特征信息的值置为0。
依次判断{Rorg(m,n)}中的每个第一图像块的U矩阵UR中的左上角值是否大于V矩阵VR中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;对于判断奇异值分解后得到的U矩阵UL中的左上角值是否大于V矩阵VL中的左上角值,如果是,将的特征信息的值置为1,否则,将的特征信息的值置为0。
③-3、令{Worg(m,n)}表示{Sorg(m,n)}的定位水印,将{Worg(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块。
然后对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将{Worg(m,n)}中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中, mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100],在本实施例中,取K1=7,K2=29。
再将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、{Worg(m,n)}中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点和{Worg(m,n)}中坐标位置为第二坐标位置(i″,j″)的第一图像块中的第二行第二列的像素点。
④根据{Dorg(m,n)}获取{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像,记为{GBJND(m,n)},其中,{GBJND(m,n)}的分辨率为M×N,GBJND(m,n)表示{GBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值。
在此具体实施例中,步骤④的具体过程为:
④-1、获取{Rorg(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgorg(m,n)}和{ehorg(m,n)},其中,{bgorg(m,n)}和{ehorg(m,n)}的分辨率均为M×N,bgorg(m,n)表示{bgorg(m,n)}中坐标位置为(m,n)的像素点的像素值,ehorg(m,n)表示{ehorg(m,n)}中坐标位置为(m,n)的像素点的像素值。
④-2、根据{Dorg(m,n)}、{bgorg(m,n)}和{ehorg(m,n)}中的每个像素点的像素值,计算{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为GBJND(m,n), G BJND ( m , n ) = T C , lim ( m , n &prime; ) &times; ( 1 - ( n r ( m , n &prime; ) T C , lim ( m , n &prime; ) ) &lambda; ) 1 / &lambda; , 其中,n′=n+Dorg(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dorg(m,n)个像素点获得,TC,lim(m,n′)表示{Lorg(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgorg(m,n′))+K(bgorg(m,n′))×ehorg(m,n′),TC(bgorg(m,n′))表示令右图像在给定bgorg(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgorg(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgorg(m,n′))=-10-6×10.7×bgorg(m,n′)2+32×bgorg(m,n′)+0.07,bgorg(m,n′)表示{bgorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehorg(m,n′)表示{ehorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rorg(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数,在本实施例中,λ的值设为1.5。
④-3、根据{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像{GBJND(m,n)}。图2给出了“Akko_kayo”原始立体图像的左图像中的每个像素点的全局双目恰可觉察失真值扩大10倍后的全局双目恰可觉察失真图像;在图2中,像素值越大表示人眼越敏感,像素值越小表示人眼越不敏感。
⑤根据{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中的所有像素点分为三类,并分别确定三类像素点待嵌入水印比特位的具体位置,然后将定位水印{Worg(m,n)}嵌入{Lorg(m,n)}中。
在此具体实施例中,步骤⑤的具体过程为:
⑤-1、计算{GBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ和δ, &mu; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N G BJND ( m , n ) , &delta; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N ( G BJND ( m , n ) - &mu; ) 2 .
⑤-2、根据μ和δ将{Lorg(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入对应的水印比特位,第二类像素点的像素值的b2比特位上嵌入对应的水印比特位,第三类像素点的像素值的b3比特位上嵌入对应的水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位。
在此,像素点分类的具体过程为:
A1、根据μ和δ,计算{Lorg(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a和b,a=μ-δ,b=μ+δ。
B1、比较{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b的大小,对{Lorg(m,n)}中的每个像素点进行归类,对于{GBJND(m,n)}中坐标位置为(m,n)的像素点,判断GBJND(m,n)≥b是否成立,如果GBJND(m,n)≥b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入对应的水印比特位;如果GBJND(m,n)≥b不成立,则再判断a<GBJND(m,n)<b是否成立,如果a<GBJND(m,n)<b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入对应的水印比特位;如果a<GBJND(m,n)<b不成立,则再判断GBJND(m,n)≤a是否成立,如果GBJND(m,n)≤a成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入对应的水印比特位。
⑤-3、根据{Lorg(m,n)}中的每个像素点被确定的待嵌入水印比特位的具体位置,将确定的具体位置处的比特值更换为{Worg(m,n)}中对应的水印比特值,实现{Worg(m,n)}的嵌入;对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则该像素点的像素值的b1比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值。
⑥依次对{Rorg(m,n)}中的每个第二图像块进行压缩编码,生成第一恢复信息用水印,然后将该第一恢复信息用水印嵌入{Rorg(m,n)}中。
在此具体实施例中,步骤⑥的具体过程为:
⑥-1、依次对{Rorg(m,n)}中的每个第二图像块中的每个像素点的高六位比特位的值进行离散余弦变换,得到{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数,然后利用JPEG量化表对{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数进行量化。
⑥-2、对{Rorg(m,n)}中的每个第二图像块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Rorg(m,n)}中的每个第二图像块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式。
⑥-3、以二进制表示{Rorg(m,n)}中的每个第二图像块的前8个离散余弦变换系数,即一个十进制数用八个比特位表示,得到{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位,由{Rorg(m,n)}中的所有第二图像块对应的所有水印比特位组成一个第一恢复信息用水印。
⑥-4、对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,将{Rorg(m,n)}中位置坐标为(x,y)的第二图像块的坐标位置(x,y)在密钥K3和密钥K4下进行Torus二维坐标置换映射得到映射后的第三坐标位置和第四坐标位置记为(x',y')和(x″,y″),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,x″=(x×K4)mod(M/8)+1,y″=(y×K4)mod(N/8)+1,其中,mod为取模运算符号,K1≠K2≠K3≠K4,K3∈[0,100],K4∈[0,100],在本实施例中,取K3=11,K4=17。
⑥-5、将{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位的值赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第三坐标位置的第二图像块中的每个像素点的像素值的b1比特位,及对应赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第四坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第一恢复信息用水印嵌入{Rorg(m,n)}中;对于{Rorg(m,n)}中位置坐标为(x,y)的第二图像块对应的64个水印比特位的值一一对应地赋值给坐标位置为(x',y')的第二图像块中的64个像素点的像素值的b1比特位,并将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x″,y″)的第二图像块中的64个像素点的像素值的b0比特位。
图3b给出了嵌入第一恢复信息用水印后的“Akko_kayo”立体图像的右图像,嵌入水印后,“Akko_kayo”立体图像的右图像的峰值信噪比PSNR为42.28dB,表明嵌入水印后的立体图像与原始立体图像十分相似,嵌入水印的立体图像透明性很好。
⑦根据{Dorg(m,n)}将{Lorg(m,n)}分成可匹配和不可匹配两类区域,然后对不可匹配区域进行压缩编码,生成第二恢复信息用水印,再将该第二恢复信息用水印嵌入{Lorg(m,n)}中。
图3a给出了嵌入定位水印与第二恢复信息用水印后的“Akko_kayo”立体图像的左图像,嵌入水印后,“Akko_kayo”立体图像的左图像的峰值信噪比PSNR为40.21dB,表明嵌入水印后的立体图像与原始立体图像十分相似,水印信息的隐藏性很好。
在此具体实施例中,步骤⑦的具体过程为:
⑦-1、根据{Dorg(m,n)}中的每个像素点的像素值,依次确定{Lorg(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,判断{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值Dorg(m,n)是否为255,如果是,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,否则,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点。
然后依次确定{Lorg(m,n)}中的每个第二图像块为不可匹配块或可匹配块,对于{Lorg(m,n)}中坐标位置为(x,y)的第二图像块判断中是否存在不可匹配像素点,如果存在,确定为不可匹配块并归为不可匹配区域,否则,确定为可匹配块并归为可匹配区域。
⑦-2、对{Lorg(m,n)}中的每个不可匹配块中的每个像素点的高四位比特位进行离散余弦变换,得到{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数,然后利用JPEG量化表对{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数进行量化。
⑦-3、对{Lorg(m,n)}中的每个不可匹配块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式。
⑦-4、以二进制表示将{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,即一个十进制数用八个比特位表示,得到{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位,由{Lorg(m,n)}中的所有不可匹配块对应的所有水印比特位组成一个第二恢复信息用水印。
⑦-5、对{Lorg(m,n)}中的每个不可匹配块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置,假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置记为(x*,y*),x*=(x×K3)mod(M/8)]+1,y*=(y×K3)mod(N/8)]+1,其中,mod为取模运算符号,在本实施例中,取K3=11。
⑦-6、将{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位的值赋值给坐标位置为每个不可匹配块的坐标位置映射后得到的第五坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第二恢复信息用水印嵌入{Lorg(m,n)}中;假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x*,y*)的第二图像块中的64个像素点的像素值的b0比特位。
1)在水印提取端,将待提取水印的立体图像记为{Swat(m,n)},将{Swat(m,n)}的视差图像记为{Dwat(m,n)},将{Swat(m,n)}的左图像记为{Lwat(m,n)},将{Swat(m,n)}的右图像记为{Rwat(m,n)},其中,{Swat(m,n)}、{Dwat(m,n)}、{Lwat(m,n)}和{Rwat(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Swat(m,n)表示{Swat(m,n)}中坐标位置为(m,n)的像素点的像素值,Dwat(m,n)表示{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Lwat(m,n)表示{Lwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Rwat(m,n)表示{Rwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
在本实施例中,为了说明本发明方法对剪切攻击和拼接攻击后的认证效果以及对篡改图像进行篡改内容得到的恢复图像的质量,分别对嵌入水印后的立体图像进行160×160大小的剪切攻击和拼接攻击,图4a给出了嵌入水印后的“Akko_kayo”立体图像的左图像进行剪切攻击的图像,图4b给出了嵌入水印后的“Akko_kayo”立体图像的右图像进行剪切攻击的图像;图8a给出了嵌入水印后的“Akko_kayo”立体图像的左图像进行拼接攻击的图像,图8b给出了嵌入水印后的“Akko_kayo”立体图像的右图像进行拼接攻击的图像。
2)以两种图像块划分方式将{Lwat(m,n)}和{Rwat(m,n)}划分成多个图像块,第一种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块记为其中, 第二种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lwat(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rwat(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 &le; x &le; M 8 , 1 &le; y &le; N 8 .
3)根据{Dwat(m,n)}获取{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lwat(m,n)}的全局双目恰可觉察失真图像,记为{HBJND(m,n)},其中,{HBJND(m,n)}的分辨率为M×N,HBJND(m,n)表示{HBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值。
在此具体实施例中,步骤3)的具体过程为:
3)-1、获取{Rwat(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgwat(m,n)}和{ehwat(m,n)},其中,{bgwat(m,n)}和{ehwat(m,n)}的分辨率均为M×N,bgwat(m,n)表示{bgwat(m,n)}中坐标位置为(m,n)的像素点的像素值,ehwat(m,n)表示{ehwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
3)-2、根据{Dwat(m,n)}、{bgwat(m,n)}和{ehwat(m,n)}中的每个像素点的像素值,,计算{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为HBJND(m,n), H BJND ( m , n ) = T C , lim ( m , n &prime; ) &times; ( 1 - ( n r ( m , n &prime; ) T C , lim ( m , &prime; ) ) &lambda; ) 1 / &lambda; , 其中,n′=n+Dwat(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dwat(m,n)个像素点获得,TC,lim(m,n′)表示{Lwat(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgwat(m,n′))+K(bgwat(m,n′))×ehwat(m,n′),TC(bgwat(m,n′))表示令右图像在给定bgwat(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgwat(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgwat(m,n′))=-10-6×10.7×bgwat(m,n′)2+32×bgwat(m,n′)+0.07,bgwat(m,n′)表示{bgwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehwat(m,n′)表示{ehwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rwat(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数,在本实施例中,λ的值设为1.5。
3)-3、根据{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lwat(m,n)}的全局双目恰可觉察失真图像{HBJND(m,n)}。
4)根据{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中的所有像素点分为三类,并分别确定三类像素点待提取水印比特位的具体位置,然后从{Swat(m,n)}中提取出嵌入的定位水印,记为{Wwat(m,n)},其中,{Wwat(m,n)}的分辨率为M×N,Wwat(m,n)表示{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
在此具体实施例中,步骤4)的具体过程为:
4)-1、计算{HBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ′和δ′, &mu; &prime; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N H BJND ( m , n ) , &delta; &prime; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N ( H BJND ( m , n ) - &mu; &prime; ) 2 .
4)-2、根据μ′和δ′将{Lwat(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入有水印比特位,第二类像素点的像素值的b2比特位上嵌入有水印比特位,第三类像素点的像素值的b3比特位上嵌入有水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位。
在此,对{Lwat(m,n)}中的像素点的分类过程为:
A2、根据μ′和δ′,将{Lwat(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a′和b′,a′=μ′-δ′,b′=μ′+δ′。
B2、比较{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b′的大小,对{Lwat(m,n)}中的每个像素点进行归类,对于{HBJND(m,n)}中坐标位置为(m,n)的像素点,判断HBJND(m,n)≥b′是否成立,如果HBJND(m,n)≥b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入有水印比特位;如果HBJND(m,n)≥b′不成立,则再判断a′<HBJND(m,n)<b′是否成立,如果a′<HBJND(m,n)<b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入有水印比特位;如果a′<HBJND(m,n)<b′不成立,则再判断HBJND(m,n)≤a′是否成立,如果HBJND(m,n)≤a′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入有水印比特位。
4)-3、根据{Lwat(m,n)}中的每个像素点被确定的待提取水印比特位的具体位置,将确定的具体位置处的比特值提取出,实现嵌入的定位水印{Wwat(m,n)}的提取;对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则提取出该像素点的像素值的b1比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
5)对{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块进行奇异值分解,生成{Lwat(m,n)}中的每个第一图像块的特征信息和{Rwat(m,n)}中的每个第一图像块的特征信息,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1。
然后根据{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块的特征信息产生{Swat(m,n)}的定位水印,记为其中,的分辨率为M×N,表示中坐标位置为(m,n)的像素点的像素值。
在此具体实施例中,步骤5)的具体过程为:
5)-1、依次对{Lwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为ULwat和VLwat;依次对{Rwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为URwat和VRwat
5)-2、依次判断{Lwat(m,n)}中的每个第一图像块的U矩阵ULwat中的左上角值是否大于V矩阵VLwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;对于{Lwat(m,n)}中坐标位置为(i,j)的第一图像块判断其U矩阵ULwat中的左上角值是否大于V矩阵VLwat中的左上角值,如果是,则将的特征信息的值置为1,否则,将的特征信息的值置为0。
依次判断{Rwat(m,n)}中的每个第一图像块的U矩阵URwat中的左上角值是否大于V矩阵VRwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;对于{Rwat(m,n)}中坐标位置为(i,j)的第一图像块判断其U矩阵URwat中的左上角值是否大于V矩阵VRwat中的左上角值,如果是,则将的特征信息的值置为1,否则,将的特征信息的值置为0。
5)-3、令表示{Swat(m,n)}的定位水印,将划分成个互不重叠的尺寸大小为2×2的第一图像块。
然后对中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中, mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100],在本实施例中,取K1=7,K2=29。
再将{Lwat(m,n)}中的每个第一图像块的特征信息的值赋值给中对应坐标位置的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中的每个第一图像块的特征信息的值分别赋值给中对应坐标位置的第一图像块中的第一行第二列的像素点、中对应坐标位置映射后的第一坐标位置的第一图像块中的第二行第一列的像素点、中对应坐标位置映射后的第二坐标位置的第一图像块中的第二行第二列的像素点,得到对于{Lwat(m,n)}和{Rwat(m,n)}中坐标位置为(i,j)的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点、中坐标位置为第二坐标位置(i″,j″)的第一图像块中的第二行第二列的像素点。
6)计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},然后根据{Ewat(m,n)}生成{Lwat(m,n)}的定位图像和{Rwat(m,n)}的定位图像,分别记为{ELwat(i,j)}和{ERwat(i,j)},其中,{Ewat(m,n)}的分辨率为M×N,Ewat(m,n)表示{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值,{ELwat(i,j)}和{ERwat(i,j)}的分辨率为 ELwat(i,j)表示{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值,ERwat(i,j)表示{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值。
在此具体实施例中,步骤6)的具体过程为:
6)-1、计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},将{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值记为Ewat(m,n), E wat ( m , n ) = | W wat ( m , n ) - W wat t ( m , n ) | , 其中,“||”为取绝对值符号。
6)-2、将{Ewat(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Ewat(m,n)}中坐标位置为(i,j)的第一图像块记为BEwat(i,j),其中, 1 &le; j &le; N 2 .
6)-3、将{Ewat(m,n)}中的每个第一图像块的坐标位置在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置,将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i',j'),将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K2下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i″,j″),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i″=(i×K2)mod(M/2)+1,j″=(j×K2)mod(N/2)+1,其中,mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100],在本实施例中,取K1=7,K2=29。
6)-4、根据{Ewat(m,n)}中的每个第一图像块中的每个像素点的像素值生成{Lwat(m,n)}的定位图像{ELwat(i,j)}和{Rwat(m,n)}的定位图像{ERwat(i,j)},具体过程为:
A6、如果{Ewat(m,n)}中坐标位置为(i,j)的第一图像块BEwat(i,j)中第一行第一列的像素点的像素值为0,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为0,然后判断BEwat(i,j)中第一行第二列的像素点的像素值是否为0,如果是,则将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1,如果BEwat(i,j)中第一行第一列的像素点的像素值为1,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为1,然后执行步骤B6;
B6、如果{Ewat(m,n)}中坐标位置为第一坐标位置(i′,j′)的第一图像块BEwat(i′,j′)中第一行第一列的像素点的像素值为0,则判断BEwat(i′,j′)中第二行第一列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i′,j′)中第一行第一列的像素点的像素值为1,则执行步骤C6;
C6、如果{Ewat(m,n)}中坐标位置为第二坐标位置(i″,j″)的第一图像块BEwat(i″,j″)中第一行第一列的像素点的像素值为0,则判断BEwat(i″,j″)中第二行第二列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i″,j″)中第一行第一列的像素点的像素值为1,则将{ERwat(i,j)}中坐标位置为(i,j)的的像素点的像素值ERwat(i,j)赋值为1。
图12给出了{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值的获取过程。图5a给出了对图4a进行剪切攻击的定位图像,篡改的像素点的检测率是100%,定位精度较高,图5b给出了对图4b进行剪切攻击的定位图像,篡改的像素点的检测率是99.16%,定位精度较高,图9a给出了对图8a进行拼接攻击的定位图像,篡改的像素点的检测率是99.56%,图9b给出了对图8b进行拼接攻击的定位图像,篡改的像素点的检测率是99.17%,定位精度较高。
7)根据{Lwat(m,n)}的定位图像{ELwat(i,j)}确定{Lwat(m,n)}的篡改类型,如果{Lwat(m,n)}为恶意篡改图像,则依次判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点;
根据{Rwat(m,n)}的定位图像{ERwat(i,j)}确定{Rwat(m,n)}的篡改类型,如果{Rwat(m,n)}为恶意篡改图像,则依次判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息。
在此具体实施例中,步骤7)的具体过程为:
7)-1、计算{ELwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ELwat(i,j)}中错误的像素点的个数与{ELwat(i,j)}中像素点的总数的比率,记为ρl,再计算{ELwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δl,其中,对于{ELwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)为1,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点。
计算{ERwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ERwat(i,j)}中错误的像素点的个数与{ERwat(i,j)}中像素点的总数的比率,记为ρr,再计算{ERwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δr,其中,对于{ERwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)为1,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点。
7)-2、判断ρl的值是否大于0且δl的值是否大于设定的阈值T,如果ρl的值大于0且δl的值大于设定的阈值T,则认为{Lwat(m,n)}为恶意篡改图像,否则,认为{Lwat(m,n)}为非恶意篡改图像。
根据判断ρr的值是否大于0且δr的值是否大于设定的阈值T,如果ρr的值大于0且δr的值大于设定的阈值T,则认为{Rwat(m,n)}为恶意篡改图像,否则,认为{Rwat(m,n)}为非恶意篡改图像。
在本实施例中,通过大量实验验证当阈值T的值为0.7时能够取得很好的效果,因此取T的值为0.7。
7)-3、如果{Rwat(m,n)}为恶意篡改图像,则依次判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息,具体过程为:
A7、判断{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)是否为1,如果ERwat(i,j)为1,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改。
B7、在{Rwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4)×4,j-mod(j-1,4)×4),并假设在{Rwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块则将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100],在本实施例中,取K3=11。
C7、令 判断{ERwat(i,j)}中坐标位置为的像素点的像素值是否为1,如果是,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的第一恢复信息用水印遭到篡改,然后将找出的第二图像块的坐标位置(x,y)在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,记为(x″,y″),x″=(x×K4)mod(M/8)+1,y″=(y×K4)mod(N/8)+1,再执行步骤E7,否则,执行步骤D7;其中,K1≠K2≠K3≠K4,K4∈[0,100],在本实施例中,取K4=17。
D7、依次提取{Rwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b1比特位中的64个第一恢复信息用水印比特位,将这64个第一恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8。
E7、依次提取{Rwat(m,n)}中坐标位置为(x″,y″)的第二图像块中的每个像素点的像素值的b0比特位中的64个第一恢复用水印比特位,将这64个第一恢复信息用水印比特以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8。
图6a给出了对图5a进行剪切篡改处恢复内容后的全局图像,图像的峰值信噪比PSNR为38.25dB;图6b给出了对图5b进行剪切篡改处恢复内容后的全局图像,图像的峰值信噪比PSNR为38.73dB;为了更加有效地评价篡改后图像的恢复质量,分别将原始立体图像的左图像篡改位置的局部图和嵌入水印后的左图像篡改处内容的局部图放大显示,图7a给出了“Akko_kayo”原始立体图像左图像同图4a进行剪切篡改攻击剪切位置相同的部分图像内容的放大图,图7b为图4a剪切篡改处恢复内容后剪切位置的部分图像内容的放大图,图7c给出了“Akko_kayo”原始立体图像的右图像同图4b进行剪切篡改攻击剪切位置相同的部分图像内容的放大图,图7d为图4b剪切篡改处恢复内容后剪切位置的部分图像内容的放大图,比较图7a与图7b及图7c与图7d可知,篡改攻击后的图像内容的恢复质量较好。
7)-4、如果{Lwat(m,n)}为恶意篡改图像,则根据{Dwat(m,n)}中的每个像素点的像素值,依次确定{Lwat(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)为255,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)不为255,确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点,然后依次判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,再根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点,具体过程为:
F7、判断{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)是否为1,如果ELwat(i,j)为1,则认为{Lwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改。
G7、在{Lwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4),j-mod(j-1,4)),并假设在{Lwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号。
H7、判断找出的第二图像块中是否存在不可匹配像素点,如果是,则确定为不可匹配块,然后执行步骤I7,否则,确定为可匹配块,然后执行步骤J7。
I7、将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,然后依次提取{Lwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b0比特位中的64个第二恢复用水印比特位,将这64个第二恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Lwat(m,n)}中坐标位置为(x,y)的第二图像块的第二恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Lwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第二恢复信息用水印比特位的值为1或0,的尺寸大小为8×8,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100],在本实施例中,取K3=11。
J7、根据{Lwat(m,n)}中遭到篡改的第一图像块得到遭到篡改的四个像素点的坐标位置,在{Rwat(m,n)}中找出中的每个遭到篡改的像素点对应的最佳匹配点,并将在{Rwat(m,n)}中找到的四个最佳匹配点的像素值一一对应地赋值给中的每个遭到篡改的像素点,其中,{Rwat(m,n)}中的最佳匹配点的寻找过程为:如果中遭到篡改的像素点在{Lwat(m,n)}中的坐标位置为(m,n),则根据{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n),确定{Lwat(m,n)}中坐标位置为(m,n)的像素点在{Rwat(m,n)}中对应的最佳匹配点的坐标位置为(m,n+Dwat(m,n)),然后将{Rwat(m,n)}中坐标位置为(m,n+Dwat(m,n))的像素点的像素值Rwat(m,n+D(m,n))赋值给{Lwat(m,n)}中坐标位置为(m,n)的像素点。
为了更加有效地评价篡改后图像的恢复质量,分别将原始立体图像的左图像篡改位置的局部图和嵌入水印后的左图像篡改处内容的局部图放大显示,图10a给出了“Akko_kayo”原始立体图像左图像同图8a进行拼接篡改攻击拼接位置相同的部分图像内容的放大图,图10b给出了对图8a进行拼接攻击篡改位置恢复内容后的局部图像,图10c给出了“Akko_kayo”原始立体图像右图像同图8b进行拼接篡改攻击拼接位置相同的部分图像内容的放大图,图10d给出了对图8b拼接攻击篡改位置恢复内容后的局部图像,为了进一步有效地评价篡改后图像的恢复质量,分别将图10a、10b、10c、10d取相同大小位置相同的部分放大并显示,图11a给出了从10a中取出的部分图像内容的放大图,图11b给出了从10b中取出的部分图像内容的放大图,图11c给出从10c中取出的部分图像内容的放大图,图11d给出了从10d中取出的部分图像内容的放大图,比较图11a与图11b及图11c与图11d可知,篡改攻击后的图像内容与原始图像十分相似,篡改后图像内容恢复的质量较好。

Claims (11)

1.一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于包括以下步骤:
①在水印嵌入端,将待嵌入水印的立体图像记为{Sorg(m,n)},将{Sorg(m,n)}的视差图像记为{Dorg(m,n)},将{Sorg(m,n)}的左图像记为{Lorg(m,n)},将{Sorg(m,n)}的右图像记为{Rorg(m,n)},其中,{Sorg(m,n)}、{Dorg(m,n)}、{Lorg(m,n)}和{Rorg(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Sorg(m,n)表示{Sorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Dorg(m,n)表示{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Lorg(m,n)表示{Lorg(m,n)}中坐标位置为(m,n)的像素点的像素值,Rorg(m,n)表示{Rorg(m,n)}中坐标位置为(m,n)的像素点的像素值;
②以两种图像块划分方式将{Lorg(m,n)}和{Rorg(m,n)}分别划分成多个图像块,第一种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块记为其中,第二种划分方式:将{Lorg(m,n)}和{Rorg(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lorg(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rorg(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 &le; x &le; M 8 , 1 &le; y &le; N 8 ;
③对{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块分别进行奇异值分解,生成{Lorg(m,n)}中的每个第一图像块的特征信息和{Rorg(m,n)}中的每个第一图像块的特征信息,将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1;
然后根据{Lorg(m,n)}和{Rorg(m,n)}中的每个第一图像块的特征信息产生{Sorg(m,n)}的定位水印,记为{Worg(m,n)},其中,{Worg(m,n)}的分辨率为M×N,Worg(m,n)表示{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值;
所述的步骤③的具体过程为:
③-1、对{Lorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UL和VL;对{Rorg(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为UR和VR
③-2、判断{Lorg(m,n)}中的每个第一图像块奇异值分解后得到的U矩阵UL中的左上角值是否大于V矩阵VL中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
判断{Rorg(m,n)}中的每个第一图像块的U矩阵UR中的左上角值是否大于V矩阵VR中的左上角值,如果是,将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
③-3、令{Worg(m,n)}表示{Sorg(m,n)}的定位水印,将{Worg(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块;
然后对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对{Worg(m,n)}中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将{Worg(m,n)}中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i”,j”),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i”=(i×K2)mod(M/2)+1,j”=(j×K2)mod(N/2)+1,其中,mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
再将{Lorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rorg(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给{Worg(m,n)}中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、{Worg(m,n)}中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点和{Worg(m,n)}中坐标位置为第二坐标位置(i”,j”)的第一图像块中的第二行第二列的像素点;
④根据{Dorg(m,n)}获取{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像,记为{GBJND(m,n)},其中,{GBJND(m,n)}的分辨率为M×N,GBJND(m,n)表示{GBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值;
⑤根据{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中的所有像素点分为三类,并分别确定三类像素点待嵌入水印比特位的具体位置,然后将定位水印{Worg(m,n)}嵌入{Lorg(m,n)}中;
⑥对{Rorg(m,n)}中的每个第二图像块进行压缩编码,生成第一恢复信息用水印,然后将该第一恢复信息用水印嵌入{Rorg(m,n)}中;
⑦根据{Dorg(m,n)}将{Lorg(m,n)}分成可匹配和不可匹配两类区域,然后对不可匹配区域进行压缩编码,生成第二恢复信息用水印,再将该第二恢复信息用水印嵌入{Lorg(m,n)}中;
1)在水印提取端,将待提取水印的立体图像记为{Swat(m,n)},将{Swat(m,n)}的视差图像记为{Dwat(m,n)},将{Swat(m,n)}的左图像记为{Lwat(m,n)},将{Swat(m,n)}的右图像记为{Rwat(m,n)},其中,{Swat(m,n)}、{Dwat(m,n)}、{Lwat(m,n)}和{Rwat(m,n)}的分辨率为M×N,1≤m≤M,1≤n≤N,Swat(m,n)表示{Swat(m,n)}中坐标位置为(m,n)的像素点的像素值,Dwat(m,n)表示{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Lwat(m,n)表示{Lwat(m,n)}中坐标位置为(m,n)的像素点的像素值,Rwat(m,n)表示{Rwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
2)以两种图像块划分方式将{Lwat(m,n)}和{Rwat(m,n)}划分成多个图像块,第一种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块记为其中,第二种划分方式:将{Lwat(m,n)}和{Rwat(m,n)}分别划分成个互不重叠的尺寸大小为8×8的第二图像块,将{Lwat(m,n)}中坐标位置为(x,y)的第二图像块记为将{Rwat(m,n)}中坐标位置为(x,y)的第二图像块记为其中, 1 &le; x &le; M 8 , 1 &le; y &le; N 8 ;
3)根据{Dwat(m,n)}获取{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像,记为{HBJND(m,n)},其中,{HBJND(m,n)}的分辨率为M×N,HBJND(m,n)表示{HBJND(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值;
4)根据{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中的所有像素点分为三类,并分别确定三类像素点待提取水印比特位的具体位置,然后从{Swat(m,n)}中提取出嵌入的定位水印,记为{Wwat(m,n)},其中,{Wwat(m,n)}的分辨率为M×N,Wwat(m,n)表示{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
5)对{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块进行奇异值分解,生成{Lwat(m,n)}中的每个第一图像块的特征信息和{Rwat(m,n)}中的每个第一图像块的特征信息,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块奇异值分解后生成的特征信息记为其中,的值为0或1;
然后根据{Lwat(m,n)}和{Rwat(m,n)}中的每个第一图像块的特征信息产生{Swat(m,n)}的定位水印,记为其中,的分辨率为M×N,表示中坐标位置为(m,n)的像素点的像素值;
所述的步骤5)的具体过程为:
5)-1、对{Lwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为ULwat和VLwat;依次对{Rwat(m,n)}中的每个第一图像块进行奇异值分解,得到各自对应的U矩阵和V矩阵,分别记为URwat和VRwat
5)-2、判断{Lwat(m,n)}中的每个第一图像块的U矩阵ULwat中的左上角值是否大于V矩阵VLwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
判断{Rwat(m,n)}中的每个第一图像块的U矩阵URwat中的左上角值是否大于V矩阵VRwat中的左上角值,如果是,则将对应的第一图像块的特征信息的值置为1,否则,将对应的第一图像块的特征信息的值置为0;
5)-3、令表示{Swat(m,n)}的定位水印,将划分成个互不重叠的尺寸大小为2×2的第一图像块;
然后对中的每个第一图像块的坐标位置在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置,对中的每个第一图像块的坐标位置在密钥K2下进行Torus二维坐标置换映射得到映射后的第二坐标位置,将中的坐标位置(i,j)在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置记为(i',j')和(i”,j”),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i”=(i×K2)mod(M/2)+1,j”=(j×K2)mod(N/2)+1,其中,mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
再将{Lwat(m,n)}中的每个第一图像块的特征信息的值赋值给中对应坐标位置的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中的每个第一图像块的特征信息的值分别赋值给中对应坐标位置的第一图像块中的第一行第二列的像素点、中对应坐标位置映射后的第一坐标位置的第一图像块中的第二行第一列的像素点、中对应坐标位置映射后的第二坐标位置的第一图像块中的第二行第二列的像素点,得到对于{Lwat(m,n)}和{Rwat(m,n)}中坐标位置为(i,j)的第一图像块,将{Lwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息的值赋值给中坐标位置为(i,j)的第一图像块中的第一行第一列的像素点,将{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的特征信息值分别赋值给中坐标位置为(i,j)的第一图像块中的第一行第二列的像素点、中坐标位置为第一坐标位置(i',j')的第一图像块中的第二行第一列的像素点、中坐标位置为第二坐标位置(i”,j”)的第一图像块中的第二行第二列的像素点;
6)计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},然后根据{Ewat(m,n)}生成{Lwat(m,n)}的定位图像和{Rwat(m,n)}的定位图像,分别记为{ELwat(i,j)}和{ERwat(i,j)},其中,{Ewat(m,n)}的分辨率为M×N,Ewat(m,n)表示{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值,{ELwat(i,j)}和{ERwat(i,j)}的分辨率为ELwat(i,j)表示{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值,ERwat(i,j)表示{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值;
7)根据{Lwat(m,n)}的定位图像{ELwat(i,j)}确定{Lwat(m,n)}的篡改类型,如果{Lwat(m,n)}为恶意篡改图像,则判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点;
根据{Rwat(m,n)}的定位图像{ERwat(i,j)}确定{Rwat(m,n)}的篡改类型,如果{Rwat(m,n)}为恶意篡改图像,则判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息。
2.根据权利要求1所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤④的具体过程为:
④-1、获取{Rorg(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgorg(m,n)}和{ehorg(m,n)},其中,{bgorg(m,n)}和{ehorg(m,n)}的分辨率均为M×N,bgorg(m,n)表示{bgorg(m,n)}中坐标位置为(m,n)的像素点的像素值,ehorg(m,n)表示{ehorg(m,n)}中坐标位置为(m,n)的像素点的像素值;
④-2、根据{Dorg(m,n)}、{bgorg(m,n)}和{ehorg(m,n)}中的每个像素点的像素值,计算{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lorg(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为GBJND(m,n), G BJND ( m , n ) = T C , lim ( m , n &prime; ) &times; ( 1 - ( n r ( m , n &prime; ) T C . lim ( m , n &prime; ) ) &lambda; ) 1 / &lambda; , 其中,n′=n+Dorg(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dorg(m,n)个像素点获得,TC,lim(m,n′)表示{Lorg(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgorg(m,n′))+K(bgorg(m,n′))×ehorg(m,n′),TC(bgorg(m,n′))表示令右图像在给定bgorg(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgorg(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgorg(m,n′))=-10-6×10.7×bgorg(m,n′)2+32×bgorg(m,n′)+0.07,bgorg(m,n′)表示{bgorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehorg(m,n′)表示{ehorg(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rorg(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数;
④-3、根据{Lorg(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lorg(m,n)}的全局双目恰可觉察失真图像{GBJND(m,n)}。
3.根据权利要求2所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤⑤的具体过程为:
⑤-1、计算{GBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ和δ, &delta; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N ( G BJND ( m , n ) - &mu; ) 2 ;
⑤-2、根据μ和δ将{Lorg(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入对应的水印比特位,第二类像素点的像素值的b2比特位上嵌入对应的水印比特位,第三类像素点的像素值的b3比特位上嵌入对应的水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位;
⑤-3、根据{Lorg(m,n)}中的每个像素点被确定的待嵌入水印比特位的具体位置,将确定的具体位置处的比特值更换为{Worg(m,n)}中对应的水印比特值,实现{Worg(m,n)}的嵌入;对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则该像素点的像素值的b1比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值更换为{Worg(m,n)}中坐标位置为(m,n)的像素点的像素值。
4.根据权利要求3所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤⑤-2的具体过程为:
A1、根据μ和δ,计算{Lorg(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a和b,a=μ-δ,b=μ+δ;
B1、比较{GBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b的大小,对{Lorg(m,n)}中的每个像素点进行归类,对于{GBJND(m,n)}中坐标位置为(m,n)的像素点,判断GBJND(m,n)≥b是否成立,如果GBJND(m,n)≥b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入对应的水印比特位;如果GBJND(m,n)≥b不成立,则再判断a<GBJND(m,n)<b是否成立,如果a<GBJND(m,n)<b成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入对应的水印比特位;如果a<GBJND(m,n)<b不成立,则再判断GBJND(m,n)≤a是否成立,如果GBJND(m,n)≤a成立,则确定{Lorg(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入对应的水印比特位。
5.根据权利要求3所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤⑥的具体过程为:
⑥-1、对{Rorg(m,n)}中的每个第二图像块中的每个像素点的高六位比特位的值进行离散余弦变换,得到{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数,然后利用JPEG量化表对{Rorg(m,n)}中的每个第二图像块的64个离散余弦变换系数进行量化;
⑥-2、对{Rorg(m,n)}中的每个第二图像块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Rorg(m,n)}中的每个第二图像块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式;
⑥-3、以二进制表示{Rorg(m,n)}中的每个第二图像块的前8个离散余弦变换系数,得到{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位,由{Rorg(m,n)}中的所有第二图像块对应的所有水印比特位组成一个第一恢复信息用水印;
⑥-4、对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,对{Rorg(m,n)}中的每个第二图像块的坐标位置在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,将{Rorg(m,n)}中位置坐标为(x,y)的第二图像块的坐标位置(x,y)在密钥K3和密钥K4下进行Torus二维坐标置换映射得到映射后的第三坐标位置和第四坐标位置记为(x',y')和(x”,y”),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,x”=(x×K4)mod(M/8)+1,y”=(y×K4)mod(N/8)+1,其中,mod为取模运算符号,K1≠K2≠K3≠K4,K3∈[0,100],K4∈[0,100];
⑥-5、将{Rorg(m,n)}中的每个第二图像块对应的64个水印比特位的值赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第三坐标位置的第二图像块中的每个像素点的像素值的b1比特位,及对应赋值给坐标位置为{Rorg(m,n)}中的每个第二图像块的坐标位置映射后得到的第四坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第一恢复信息用水印嵌入{Rorg(m,n)}中;对于{Rorg(m,n)}中位置坐标为(x,y)的第二图像块对应的64个水印比特位的值一一对应地赋值给坐标位置为(x',y')的第二图像块中的64个像素点的像素值的b1比特位,并将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x”,y”)的第二图像块中的64个像素点的像素值的b0比特位。
6.根据权利要求5所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤⑦的具体过程为:
⑦-1、根据{Dorg(m,n)}中的每个像素点的像素值,确定{Lorg(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lorg(m,n)}中坐标位置为(m,n)的像素点,判断{Dorg(m,n)}中坐标位置为(m,n)的像素点的像素值Dorg(m,n)是否为255,如果是,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,否则,确定{Lorg(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点;
然后确定{Lorg(m,n)}中的每个第二图像块为不可匹配块或可匹配块,对于{Lorg(m,n)}中坐标位置为(x,y)的第二图像块判断中是否存在不可匹配像素点,如果存在,确定为不可匹配块并归为不可匹配区域,否则,确定为可匹配块并归为可匹配区域;
⑦-2、对{Lorg(m,n)}中的每个不可匹配块中的每个像素点的高四位比特位进行离散余弦变换,得到{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数,然后利用JPEG量化表对{Lorg(m,n)}中的每个不可匹配块的64个离散余弦变换系数进行量化;
⑦-3、对{Lorg(m,n)}中的每个不可匹配块的64个量化后的离散余弦变换系数进行Zigzag扫描形成一行,然后选取{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,其中,每个量化后的离散余弦变换系数为十进制形式;
⑦-4、以二进制表示{Lorg(m,n)}中的每个不可匹配块的前8个量化后的离散余弦变换系数,得到{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位,由{Lorg(m,n)}中的所有不可匹配块对应的所有水印比特位组成一个第二恢复信息用水印;
⑦-5、对{Lorg(m,n)}中的每个不可匹配块的坐标位置在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置,假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第五坐标位置记为(x*,y*),x*=(x×K3)mod(M/8)]+1,y*=(y×K3)mod(N/8)]+1,其中,mod为取模运算符号;
⑦-6、将{Lorg(m,n)}中的每个不可匹配块对应的64个水印比特位的值赋值给坐标位置为每个不可匹配块的坐标位置映射后得到的第五坐标位置的第二图像块中的每个像素点的像素值的b0比特位,完成将第二恢复信息用水印嵌入{Lorg(m,n)}中;假设{Lorg(m,n)}中坐标位置为(x,y)的第二图像块为不可匹配块,则将对应的64个水印比特位的值一一对应地赋值给坐标位置为(x*,y*)的第二图像块中的64个像素点的像素值的b0比特位。
7.根据权利要求1所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤3)的具体过程为:
3)-1、获取{Rwat(m,n)}的背景亮度图像和边缘强度图像,分别记为{bgwat(m,n)}和{ehwat(m,n)},其中,{bgwat(m,n)}和{ehwat(m,n)}的分辨率均为M×N,bgwat(m,n)表示{bgwat(m,n)}中坐标位置为(m,n)的像素点的像素值,ehwat(m,n)表示{ehwat(m,n)}中坐标位置为(m,n)的像素点的像素值;
3)-2、根据{Dwat(m,n)}、{bgwat(m,n)}和{ehwat(m,n)}中的每个像素点的像素值,,计算{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,将{Lwat(m,n)}中坐标位置为(m,n)的像素点的全局双目恰可觉察失真值记为HBJND(m,n), H BJND ( m , n ) = T C , lim ( m , n &prime; ) &times; ( 1 - ( n r ( m , n &prime; ) T C . lim ( m , n &prime; ) ) &lambda; ) 1 / &lambda; , 其中,n′=n+Dwat(m,n),坐标位置为(m,n′)的像素点为通过坐标位置为(m,n)的像素点在水平方向上向右移动Dwat(m,n)个像素点获得,TC,lim(m,n′)表示{Lwat(m,n)}中坐标位置为(m,n′)的像素点的对比度掩蔽效应的最大失真阈值,TC,lim(m,n′)=TC(bgwat(m,n′))+K(bgwat(m,n′))×ehwat(m,n′),TC(bgwat(m,n′))表示令右图像在给定bgwat(m,n′)的情况下引发感知差异的最小噪声幅值,K(bgwat(m,n′))表示依据主观实验结果建立的增大因子拟合函数,K(bgwat(m,n′))=-10-6×10.7×bgwat(m,n′)2+32×bgwat(m,n′)+0.07,bgwat(m,n′)表示{bgwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,ehwat(m,n′)表示{ehwat(m,n)}中坐标位置为(m,n′)的像素点的像素值,nr(m,n′)表示{Rwat(m,n)}中坐标位置为(m,n′)的像素点上的噪声幅值,λ表示控制主观亮度掩蔽对实验结果影响的参数;
3)-3、根据{Lwat(m,n)}中的每个像素点的全局双目恰可觉察失真值,生成{Lwat(m,n)}的全局双目恰可觉察失真图像{HBJND(m,n)}。
8.根据权利要求1或7所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤4)的具体过程为:
4)-1、计算{HBJND(m,n)}中的所有像素点的全局双目恰可觉察失真值的全局平均值和全局标准差值,分别记为μ′和δ′, &delta; &prime; = 1 M &times; N &Sigma; m = 1 M &Sigma; n = 1 N ( H BJND ( m , n ) - &mu; &prime; ) 2 ;
4)-2、根据μ′和δ′将{Lwat(m,n)}中的所有像素点分为三类,并确定第一类像素点的像素值的b1比特位上嵌入有水印比特位,第二类像素点的像素值的b2比特位上嵌入有水印比特位,第三类像素点的像素值的b3比特位上嵌入有水印比特位,其中每个像素点的像素值用二进制表示时,其比特位从低位到高位依次为b0、b1、b2、b3、b4、b5、b6、b7,即b0表示最低位;
4)-3、根据{Lwat(m,n)}中的每个像素点被确定的待提取水印比特位的具体位置,将确定的具体位置处的比特值提取出,实现嵌入的定位水印{Wwat(m,n)}的提取;对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,假设该像素点为第一类像素点,则提取出该像素点的像素值的b1比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第二类像素点,则该像素点的像素值的b2比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值,假设该像素点为第三类像素点,则该像素点的像素值的b3比特位上的值作为{Wwat(m,n)}中坐标位置为(m,n)的像素点的像素值。
9.根据权利要求8所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤4)-2的具体过程为:
A2、根据μ′和δ′,将{Lwat(m,n)}中的非敏感区域与较敏感区域的分割阈值及较敏感区域与敏感区域的分割阈值,分别记为a′和b′,a′=μ′-δ′,b′=μ′+δ′;
B2、比较{HBJND(m,n)}中的每个像素点的全局双目恰可觉察失真值与b′的大小,对{Lwat(m,n)}中的每个像素点进行归类,对于{HBJND(m,n)}中坐标位置为(m,n)的像素点,判断HBJND(m,n)≥b′是否成立,如果HBJND(m,n)≥b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于敏感区域,并将该像素点归为第一类像素点,同时确定该像素点的像素值的b1比特位上嵌入有水印比特位;如果HBJND(m,n)≥b′不成立,则再判断a′<HBJND(m,n)<b′是否成立,如果a′<HBJND(m,n)<b′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于较敏感区域,并将该像素点归为第二类像素点,同时确定该像素点的像素值的b2比特位上嵌入有水印比特位;如果a′<HBJND(m,n)<b′不成立,则再判断HBJND(m,n)≤a′是否成立,如果HBJND(m,n)≤a′成立,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点属于非敏感区域,并将该像素点归为第三类像素点,同时确定该像素点的像素值的b3比特位上嵌入有水印比特位。
10.根据权利要求1所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤6)的具体过程为:
6)-1、计算{Wwat(m,n)}与的差图像,记为{Ewat(m,n)},将{Ewat(m,n)}中坐标位置为(m,n)的像素点的像素值记为Ewat(m,n), E wat ( m , n ) = | W wat ( m , n ) - W wat t ( m , n ) | , 其中,“||”为取绝对值符号;
6)-2、将{Ewat(m,n)}划分成个互不重叠的尺寸大小为2×2的第一图像块,将{Ewat(m,n)}中坐标位置为(i,j)的第一图像块记为BEwat(i,j),其中, 1 &le; j &le; N 2 ;
6)-3、将{Ewat(m,n)}中的每个第一图像块的坐标位置在密钥K1和密钥K2下分别进行Torus二维坐标置换映射得到映射后的第一坐标位置和第二坐标位置,将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K1下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i',j'),将{Ewat(m,n)}中的第一图像块BEwat(i,j)的坐标位置(i,j)在密钥K2下进行Torus二维坐标置换映射得到映射后的第一坐标位置记为(i”,j”),i'=(i×K1)mod(M/2)+1,j'=(j×K1)mod(N/2)+1,i”=(i×K2)mod(M/2)+1,j”=(j×K2)mod(N/2)+1,其中,mod为取模运算符号,K1≠K2,K1∈[0,100],K2∈[0,100];
6)-4、根据{Ewat(m,n)}中的每个第一图像块中的每个像素点的像素值生成{Lwat(m,n)}的定位图像{ELwat(i,j)}和{Rwat(m,n)}的定位图像{ERwat(i,j)},具体过程为:
A6、如果{Ewat(m,n)}中坐标位置为(i,j)的第一图像块BEwat(i,j)中第一行第一列的像素点的像素值为0,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为0,然后判断BEwat(i,j)中第一行第二列的像素点的像素值是否为0,如果是,则将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1,如果BEwat(i,j)中第一行第一列的像素点的像素值为1,则将{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)赋值为1,然后执行步骤B6;
B6、如果{Ewat(m,n)}中坐标位置为第一坐标位置(i′,j′)的第一图像块BEwat(i′,j′)中第一行第一列的像素点的像素值为0,则判断BEwat(i′,j′)中第二行第一列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i′,j′)中第一行第一列的像素点的像素值为1,则执行步骤C6;
C6、如果{Ewat(m,n)}中坐标位置为第二坐标位置(i”,j”)的第一图像块BEwat(i″,j″)中第一行第一列的像素点的像素值为0,则判断BEwat(i″,j″)中第二行第二列的像素点的像素值是否为0,如果是,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为0,否则,将{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)赋值为1;如果BEwat(i″,j″)中第一行第一列的像素点的像素值为1,则将{ERwat(i,j)}中坐标位置为(i,j)的的像素点的像素值ERwat(i,j)赋值为1。
11.根据权利要求10所述的一种基于双目恰可觉察失真的立体图像半脆弱水印方法,其特征在于所述的步骤7)的具体过程为:
7)-1、计算{ELwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ELwat(i,j)}中错误的像素点的个数与{ELwat(i,j)}中像素点的总数的比率,记为ρl,再计算{ELwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δl,其中,对于{ELwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)为1,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ELwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ELwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点;
计算{ERwat(i,j)}中错误的像素点的个数与篡改的像素点的个数,然后计算{ERwat(i,j)}中错误的像素点的个数与{ERwat(i,j)}中像素点的总数的比率,记为ρr,再计算{ERwat(i,j)}中篡改的像素点的个数与错误的像素点的个数的比率,记为δr,其中,对于{ERwat(i,j)}中坐标位置为(i,j)的像素点,确认其是否为错误的像素点及是否为篡改的像素点的过程为:如果{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)为1,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点;如果{ERwat(i,j)}中坐标位置为(i,j)的像素点为错误的像素点,且以该错误的像素点为中心的周围8邻域内还有两个错误的像素点,则确定{ERwat(i,j)}中坐标位置为(i,j)的像素点为篡改的像素点;
7)-2、判断ρl的值是否大于0且δl的值是否大于设定的阈值T,如果ρl的值大于0且δl的值大于设定的阈值T,则认为{Lwat(m,n)}为恶意篡改图像,否则,认为{Lwat(m,n)}为非恶意篡改图像;
判断ρr的值是否大于0且δr的值是否大于设定的阈值T,如果ρr的值大于0且δr的值大于设定的阈值T,则认为{Rwat(m,n)}为恶意篡改图像,否则,认为{Rwat(m,n)}为非恶意篡改图像;
7)-3、如果{Rwat(m,n)}为恶意篡改图像,则判断{ERwat(i,j)}中的每个像素点的像素值,确定{Rwat(m,n)}中遭到篡改的第一图像块,然后根据遭到篡改的第一图像块在{Rwat(m,n)}中找出对应的第二图像块,再获取找出的第二图像块的第一恢复信息,具体过程为:
A7、判断{ERwat(i,j)}中坐标位置为(i,j)的像素点的像素值ERwat(i,j)是否为1,如果ERwat(i,j)为1,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改;
B7、在{Rwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4)×4,j-mod(j-1,4)×4),并假设在{Rwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块则将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100];
C7、令判断{ERwat(i,j)}中坐标位置为的像素点的像素值是否为1,如果是,则认为{Rwat(m,n)}中坐标位置为(i,j)的第一图像块的第一恢复信息用水印遭到篡改,然后将找出的第二图像块的坐标位置(x,y)在密钥K4下进行Torus二维坐标置换映射得到映射后的第四坐标位置,记为(x”,y”),x”=(x×K4)mod(M/8)+1,y”=(y×K4)mod(N/8)+1,再执行步骤E7,否则,执行步骤D7;其中,K1≠K2≠K3≠K4,K4∈[0,100];
D7、提取{Rwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b1比特位中的64个第一恢复信息用水印比特位,将这64个第一恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8;
E7、提取{Rwat(m,n)}中坐标位置为(x”,y”)的第二图像块中的每个像素点的像素值的b0比特位中的64个第一恢复用水印比特位,将这64个第一恢复信息用水印比特以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Rwat(m,n)}中坐标位置为(x,y)的第二图像块的第一恢复信息,记为中中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Rwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第一恢复信息用水印比特位的值为1或0,的尺寸大小为8×8;
7)-4、如果{Lwat(m,n)}为恶意篡改图像,则根据{Dwat(m,n)}中的每个像素点的像素值,确定{Lwat(m,n)}中的每个像素点为不可匹配像素点或为可匹配像素点,对于{Lwat(m,n)}中坐标位置为(m,n)的像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)为255,则确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为不可匹配像素点,如果{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n)不为255,确定{Lwat(m,n)}中坐标位置为(m,n)的像素点为可匹配像素点,然后判断{ELwat(i,j)}中每个像素点的像素值,确定{Lwat(m,n)}中遭到篡改的第一图像块,再根据遭到篡改的第一图像块在{Lwat(m,n)}中找出对应的第二图像块,当找出的第二图像块为不可匹配块时,获取找出的第二图像块的第二恢复信息,当找出的第二图像块为可匹配块时,在{Rwat(m,n)}中寻找与遭到篡改的第一图像块中的每个像素点对应的最佳匹配点,再将找到的四个最佳匹配点的像素值一一对应地赋值给遭到篡改的第一图像块中的每个像素点,具体过程为:
F7、判断{ELwat(i,j)}中坐标位置为(i,j)的像素点的像素值ELwat(i,j)是否为1,如果ELwat(i,j)为1,则认为{Lwat(m,n)}中坐标位置为(i,j)的第一图像块遭到篡改;
G7、在{Lwat(m,n)}中找出遭到篡改的第一图像块所在的第二图像块,假设遭到篡改的第一图像块在所在的第二图像块中的坐标位置为(i-mod(i-1,4),j-mod(j-1,4)),并假设在{Lwat(m,n)}中找出的第二图像块为坐标位置为(x,y)的第二图像块其中,x=mod(i,4)+1,y=mod(j,4)+1,mod为取模运算符号;
H7、判断找出的第二图像块中是否存在不可匹配像素点,如果是,则确定为不可匹配块,然后执行步骤I7,否则,确定为可匹配块,然后执行步骤J7;
I7、将找出的第二图像块的坐标位置(x,y)在密钥K3下进行Torus二维坐标置换映射得到映射后的第三坐标位置,记为(x',y'),x'=(x×K3)mod(M/8)+1,y'=(y×K3)mod(N/8)+1,然后提取{Lwat(m,n)}中坐标位置为(x',y')的第二图像块中的每个像素点的像素值的b0比特位中的64个第二恢复用水印比特位,将这64个第二恢复信息用水印比特位以每8个为一组,以十进制表示每组的数,得到8个数,再将这8个数作为前8个数并且依次在末尾添加56个零形成一个1行64列的数组,然后进行逆Zigzag扫描,最后对逆Zigzag扫描得到的8×8矩阵进行反JPEG量化并进行反离散余弦变换,获得{Lwat(m,n)}中坐标位置为(x,y)的第二图像块的第二恢复信息,记为中坐标位置与遭到篡改的第一图像块中的每个像素点在所在的第二图像块中的坐标位置对应的四个像素点的像素值依次对应地赋值给{Lwat(m,n)}中坐标位置为(i,j)的第一图像块中的四个像素点,其中,第二恢复信息用水印比特位的值为1或0,的尺寸大小为8×8,mod为取模运算符号,K1≠K2≠K3,K3∈[0,100];
J7、根据{Lwat(m,n)}中遭到篡改的第一图像块得到遭到篡改的四个像素点的坐标位置,在{Rwat(m,n)}中找出中的每个遭到篡改的像素点对应的最佳匹配点,并将在{Rwat(m,n)}中找到的四个最佳匹配点的像素值一一对应地赋值给中的每个遭到篡改的像素点,其中,{Rwat(m,n)}中的最佳匹配点的寻找过程为:如果中遭到篡改的像素点在{Lwat(m,n)}中的坐标位置为(m,n),则根据{Dwat(m,n)}中坐标位置为(m,n)的像素点的像素值Dwat(m,n),确定{Lwat(m,n)}中坐标位置为(m,n)的像素点在{Rwat(m,n)}中对应的最佳匹配点的坐标位置为(m,n+Dwat(m,n))。
CN201210461409.4A 2012-11-15 2012-11-15 一种基于双目恰可觉察失真的立体图像半脆弱水印方法 Expired - Fee Related CN103024375B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210461409.4A CN103024375B (zh) 2012-11-15 2012-11-15 一种基于双目恰可觉察失真的立体图像半脆弱水印方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210461409.4A CN103024375B (zh) 2012-11-15 2012-11-15 一种基于双目恰可觉察失真的立体图像半脆弱水印方法

Publications (2)

Publication Number Publication Date
CN103024375A CN103024375A (zh) 2013-04-03
CN103024375B true CN103024375B (zh) 2015-08-05

Family

ID=47972449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210461409.4A Expired - Fee Related CN103024375B (zh) 2012-11-15 2012-11-15 一种基于双目恰可觉察失真的立体图像半脆弱水印方法

Country Status (1)

Country Link
CN (1) CN103024375B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103325084B (zh) * 2013-06-27 2016-03-16 宁波大学 一种基于联合恰可觉察失真的立体图像脆弱水印方法
CN109191427B (zh) * 2018-07-24 2020-09-22 中国传媒大学 基于双目抑制的dwt域亮度掩蔽模型构建方法及装置
CN109064377B (zh) * 2018-07-24 2023-03-31 中国传媒大学 立体图像水印嵌入系统、提取系统及嵌入方法、提取方法
CN109285146B (zh) * 2018-08-30 2021-12-10 南京邮电大学 基于恰可觉察失真的全参考图像质量评价方法
CN110782412B (zh) * 2019-10-28 2022-01-28 深圳市商汤科技有限公司 图像处理方法及装置、处理器、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073980A (zh) * 2011-01-06 2011-05-25 哈尔滨工程大学 基于压缩感知理论的交互支持双水印生成与检测方法
CN102413327A (zh) * 2011-11-10 2012-04-11 中山大学深圳研究院 一种基于压缩传感的半脆弱水印的视频篡改检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401223B2 (en) * 2008-10-20 2013-03-19 Virginia Venture Industries, Llc Embedding and decoding three-dimensional watermarks into stereoscopic images

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073980A (zh) * 2011-01-06 2011-05-25 哈尔滨工程大学 基于压缩感知理论的交互支持双水印生成与检测方法
CN102413327A (zh) * 2011-11-10 2012-04-11 中山大学深圳研究院 一种基于压缩传感的半脆弱水印的视频篡改检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向立体视频的自适应数字水印算法;朱仲杰等;《中国图象图形学报》;20070131;第12卷(第1期);P68-72 *

Also Published As

Publication number Publication date
CN103024375A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
Kumar et al. Image transformation technique using steganography methods using LWT technique
CN103024375B (zh) 一种基于双目恰可觉察失真的立体图像半脆弱水印方法
CN102103738B (zh) 数字图像篡改内容可恢复的变容量水印生成与认证方法
CN102903075B (zh) 基于图像特征点全局校正的鲁棒水印方法
CN102880998B (zh) 水印图像的提取方法
CN108650491A (zh) 一种面向监控系统的视频水印检测方法
CN100452823C (zh) 抗打印扫描大容量有意义数字水印实现方法
Wandji et al. Detection of copy-move forgery in digital images based on DCT
Zhou et al. Binocular visual characteristics based fragile watermarking scheme for tamper detection in stereoscopic images
CN102880997B (zh) 水印图像的嵌入和提取方法
CN103854249A (zh) 基于局部指数矩特征的数字图像水印方法
Chennamma et al. A comprehensive survey on image authentication for tamper detection with localization
CN1241389C (zh) 多媒体产品中面向对象的自同步水印检测方法
CN107346528A (zh) 一种基于双图可逆脆弱水印的图像篡改检测方法
CN105741222B (zh) 一种基于像素子集嵌入率估计的隐写信息定位方法
Lee et al. Stereoscopic watermarking by horizontal noise mean shifting
CN103325084B (zh) 一种基于联合恰可觉察失真的立体图像脆弱水印方法
CN1246779C (zh) 小波域混沌半脆弱数字水印嵌入与提取方法
CN103810668A (zh) 一种基于奇异值分解的双彩色图像盲水印方法
Wu et al. A novel active image authentication scheme for block truncation coding
Luo et al. Stereo image watermarking scheme for authentication with self-recovery capability using inter-view reference sharing
CN1297938C (zh) 用于在从源图像导出的图像中插入和检测水印的方法和设备
CN1975780A (zh) 基于支持向量机的鲁棒性数字水印嵌入和检测方法
CN1584929A (zh) 基于图像连通性的自适应同步水印方法
Pan et al. A lossless watermarking scheme for halftone image authentication

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150805

Termination date: 20181115

CF01 Termination of patent right due to non-payment of annual fee