基于多級dct的dwt-svd魯棒水印方法
【專利摘要】本發明涉及一種基于多級DCT的DWT-SVD魯棒水印方法。本發明方法包括水印嵌入方法和水印提取方法。水印嵌入方法首先對原始圖像進行離散小波變換,之后將其低頻子帶分塊并對每小塊進行多級離散余弦變換,然后將待嵌入水印進行混沌加密,選擇每小塊多級DCT系數組成新矩陣,并將加密后的水印嵌入到該新矩陣的奇異值矩陣中。水印提取方法是水印嵌入方法的逆過程,包括提取加密水印,并利用密鑰對水印進行解密和恢復。本發明方法結合DWT、SVD在數字水印方面的優勢,利用多級DCT的能量集中特性,獲得了更多數值較大的數據,提高了水印的嵌入容量,并且依然保持了魯棒性較好的特點,較好的解決了水印容量和魯棒性之間的矛盾。
【專利說明】基于多級DCT的DWT-SVD魯棒水印方法
【技術領域】
[0001]本發明屬于信息安全的【技術領域】,特別涉及一種基于多級離散余弦變換(DCT)的離散小波變換和奇異值分解(DffT-SVD)魯棒水印方法。
【背景技術】
[0002]數字水印技術因其在版權保護和內容認證等方面的重要應用價值,已成為信息隱藏技術的一個研究熱點。數字水印技術通過將數字、序列號、文字、圖像標志等信息嵌入到媒體中,在嵌入過程中對載體進行盡量小的修改,以達到最強的魯棒性,當嵌入水印后的媒體受到攻擊后仍然可以恢復水印或者檢測出水印的存在。隱形水印隨著信息安全需求的飛速發展,正在得到越來越多研究者的關注。
[0003]DffT (離散小波變換)域水印算法對有損壓縮和高頻濾波具有較好的抗攻擊性,而且小波分解后的低頻子帶集中了圖像的大部分能量,是魯棒水印嵌入的合適位置。因此基于DWT的數字水印算法受到了廣泛關注。為了克服小波變換不具有幾何不變性的缺點,研究學者利用SVD (奇異值分解)抵抗幾何攻擊良好的特性,將其引入數字水印領域。
[0004]目前,圖像水印的容量和魯棒性之間的矛盾是數字水印研究中依然未能很好解決的問題。現有的大多數穩健水印算法只考慮了魯棒性,而犧牲了水印容量,因此對該類算法的大規模實際推廣造成不利影響。本方法利用多級DCT (離散余弦變換)的“能量集中特性”,從而獲得更多數值較大的數據,為增加水印嵌入容量提供了保證,并結合DWT以及SVD在數字水印方面的優勢,較好的解決了魯棒性和水印容量之間的矛盾。
【發明內容】
[0005]本發明的目的就是針對現有穩健水印技術存在的問題,提出了一種基于多級DCT的DWT-SVD魯棒水印方法。
[0006]本發明方法包括水印嵌入方法和水印提取方法。水印嵌入方法首先對原始圖像進行離散小波變換(DWT),之后將其低頻子帶分塊并對每小塊進行多級離散余弦變換(多級DCT),然后將待嵌入水印進行混沌加密,最后選擇每小塊多級DCT系數組成新矩陣,并將加密后的水印嵌入到該新矩陣的奇異值矩陣中。水印提取方法是水印嵌入方法的逆過程,包括提取加密水印,并利用密鑰對水印進行解密和恢復。
[0007]水印嵌入方法的具體步驟是:
[0008]步驟1:獲取正方形的原始載體圖像I (M,M),M是圖像的行和列,對進行一級離散小波變換(DWT),得到低頻子帶LL,其矩陣大小為尋X尋,將其低頻子帶LL劃分為互不重疊的nXn個大小為mXm的子塊,η是m的整數倍,nxm=^,最終得到每小塊子矩陣。
[0009]步驟2:對待嵌入的水印W采用logistic映射混沌模型進行混沌加密得到加密后水印Wtl,記映射初值為Xtl,混沌系數μ e (3.5699,4],然后將加密后的水印按行排成一列,將初值Xtl和μ當作密鑰,缺少任何一個參數或者參數不正確,都無法解密。[0010]步驟3:對每小塊子矩陣進行一次離散余弦變換(DCT),然后選擇每小塊變換系數矩陣的左上角矩陣再次進行離散余弦變換,然后選擇每小塊二級變換系數矩陣的左上角矩陣組成新矩陣B。
[0011]步驟4:對新矩陣B進行奇異值分解(SVD):B = U1S1V1'得到矩陣U1J1和S1,將\矩陣添加到奇異值矩陣S1上,并對S1進行奇異值分解(SVD) =S^aff0 = U2S2V21,得到矩陣U2、V2和S2,a為隱藏添加系數,由B* = U1S2V11得到變換矩陣B'
[0012]步驟5:采用B = B*對矩陣B更新,然后將B中的系數還原到步驟3中每小塊二級變換系數矩陣中,進行二級離散余弦逆變換,得到嵌入水印后的低頻子帶,再進行離散小波逆變換,得到嵌入水印的圖像,U2、V2和S1保留當作密鑰K,用于水印的提取。
[0013]水印提取方法的具體步驟是:
[0014]步驟a:對嵌入水印的圖像進行一級離散小波變換,將低頻子帶LL進行η X η分塊,得到每小塊子矩陣。
[0015]步驟b:對每小塊子矩陣進行一次離散余弦變換,然后選擇離散余弦變換系數矩陣的左上角矩陣再次進行離散余弦變換,分別提取出每小塊二級離散余弦系數矩陣的左上角矩陣組成新矩陣B'
[0016]步驟C:對矩陣B”進行奇異值分解:B# = U1iVV1'用S/和密鑰K計算出矩陣E
=U2S/V2T,最后計算需要提取的水印
【權利要求】
1.基于多級DCT的DWT-SVD魯棒水印方法,包括水印嵌入方法和水印提取方法,其特征在于: 所述的水印嵌入方法的具體步驟是: 步驟1:獲取正方形的原始載體圖像I(M,M),M是圖像的行和列,對進行一級離散小波變換,得到低頻子帶LL,其矩陣大小為尋X爺,將其低頻子帶LL劃分為互不重疊的nXn個大小為mXm的子塊,η是m的整數倍,《xm =尋,最終得到每小塊子矩陣; 步驟2:對待嵌入的水印W采用logistic映射混沌模型進行混沌加密得到加密后水印W0,記映射初值為Xtl,混沌系數μ e (3.5699,4],然后將加密后的水印按行排成一列,將初值Xtl和μ當作密鑰,缺少任何一個參數或者參數不正確,都無法解密; 步驟3:對每小塊子矩陣進行一次離散余弦變換,然后選擇每小塊變換系數矩陣的左上角矩陣再次進行離散余弦變換,然后選擇每小塊二級變換系數矩陣的左上角矩陣組成新矩陣B ; 步驟4:對新矩陣B進行奇異值分解:B = U1S1V11,得到矩陣U1J1和S1,將Wtl矩陣添加到奇異值矩陣S1上,并對S1進行奇異值分解=S1+ Qff0 = U2S2V21,得到矩陣U2、V2和S2, α為隱藏添加系數,由B* = U1S2V/得到變換矩陣B* ; 步驟5:采用B = B*對矩陣B更新,然后將B中的系數還原到步驟3中每小塊二級變換系數矩陣中,進行二級離散余弦逆變換,得到嵌入水印后的低頻子帶,再進行離散小波逆變換,得到嵌入水印的圖像I*,U2、V2和S1保留當作密鑰K,用于水印的提取; 所述的水印提取方法的具體步驟是: 步驟a:對嵌入水印的圖像I*進行一級離散小波變換,將低頻子帶LL進行nXn分塊,得到每小塊子矩陣; 步驟b:對每小塊子矩陣進行一次離散余弦變換,然后選擇離散余弦變換系數矩陣的左上角矩陣再次進行離散余弦變換,分別提取出每小塊二級離散余弦系數矩陣的左上角矩陣組成新矩陣; 步驟c:對矩陣進行奇異值分解:B# = U1iS2iV1*1 ;用S2*和密鑰K計算出矩陣E =U2S/V2T,最后計算需要提取的水印ft沖=1(£-5 )對提取出的水印進行混沌解密即可a恢復真實的水印。
【文檔編號】G06T1/00GK103955879SQ201410146118
【公開日】2014年7月30日 申請日期:2014年4月11日 優先權日:2014年4月11日
【發明者】葉學義, 鄧猛, 惠舒云, 汪云路, 陳華華 申請人:杭州電子科技大學