劉 濤
(陜西國際商貿(mào)學(xué)院,陜西西安,712046)
小波變換是傅里葉變換中的特殊形式,它的優(yōu)點(diǎn)在于可以對(duì)一些數(shù)字信號(hào)比如上文提到的數(shù)字圖像或者音頻之類(在數(shù)學(xué)上可以看做是函數(shù))利用自身的變換特點(diǎn):平移、伸縮,發(fā)生尺度細(xì)化作用,就相當(dāng)于是一個(gè)掃描儀逐步對(duì)信號(hào)進(jìn)行掃描,精確到信號(hào)上的微小細(xì)節(jié),并且可以達(dá)到對(duì)信號(hào)低頻時(shí)候進(jìn)行頻率細(xì)分,高頻時(shí)候進(jìn)行時(shí)間細(xì)分的效果。對(duì)小波變換的研究已經(jīng)在全世界范圍內(nèi)應(yīng)用到了非常廣的領(lǐng)域內(nèi),例如信號(hào)接受處理、模式認(rèn)知、圖像識(shí)別、數(shù)字信息安全保護(hù)、還可以涉及到數(shù)學(xué)上的微積分方程數(shù)值解等等。
本文研究方向是通過小波變換當(dāng)中應(yīng)用最廣的Haar小波變換把宿主圖像分解,然后將保證信息安全的的數(shù)字水印信息通過算法嵌入到已分解好的宿主圖像中。
Step1:利用Logistic變換和Arnold變換先后對(duì)數(shù)字水印信息“JD"進(jìn)行之亂處理,先用Logistic變換對(duì)數(shù)字水印信息進(jìn)行一級(jí)置亂,接著用Arnold變換對(duì)數(shù)字水印信息進(jìn)行二級(jí)置亂,生成(0, 1)二值序列,這樣做的目的是為提高信息的安全性,增加信息被破解難度。
Step2:把宿主圖像分割成8*8的小圖像塊,目的是為了節(jié)省程序運(yùn)算時(shí)間以及運(yùn)算成本。接著利用Haar小波分別對(duì)8*8當(dāng)中的每一個(gè)小圖像塊做一級(jí)解構(gòu),同時(shí)分別把CD1這樣的高頻圖像提取出來。
Step3:利用Haar小波把Step2中提取出的高頻圖像再一次的解構(gòu),從而對(duì)角高頻圖像CD:同時(shí)選擇CD1 (1,1)和CD2 (1,2),這兩個(gè)位置是可以固定具體位置的系數(shù)。圖1為數(shù)字圖像高頻分解圖。
Step4:本文研究的創(chuàng)新之處是將數(shù)字水印信息通過算法嵌入到數(shù)字圖像的高頻子圖區(qū)域,并且不越位的將數(shù)字水印信息讀入,若計(jì)算機(jī)識(shí)別數(shù)字水印信息的讀入位置是0同時(shí)CD1(1,1)<CD2 (1,2)的時(shí)侯,則交換CD1 (1,1)和CD2 (1,2)位置;當(dāng)讀入位為1時(shí)候,并且CD1 (1,1)>CD2 (1,2)時(shí),則交換CD1(1,1)和CD2 (1,2)的位置。操作步驟具體為:
當(dāng)Vector=0,并且CD1 (1,1)<CD2 (1,2),則交換CD1 (1,1)和CD2 (1,2)位置;
如果 Vector=1,并且‘CD1 (1,1)>CD2 (1,2),則交換 CD1(1,1)和CD2 (1,2)位置。
然后根據(jù)CD1(1,1)和CD2(1,2)之間的差值的大小決定水印的嵌入;
如果CD1(1,1)-CD2(1,2)<k,則CD2(1,1)=CD2(1,1)+(k/2);CD2(1,2)= CD2(1,2)-(k/2);
如果CD2 (1,2)-CD2 (1,1)<k,則CD2 (1,2)= CD2 (1,1)-(k/2); CD2 (1,2)= CD2 (1,2)+ (k/2)。
Step5:按照上述的嵌入算法把水印嵌入后,還要對(duì)塊宿主圖像作用Haar小波的逆變換,從而達(dá)到重構(gòu),這就是8*8當(dāng)中的一小塊宿主圖像的數(shù)字水印完整的嵌入過程。
Step6:通過程序讓計(jì)算機(jī)自動(dòng)重復(fù)上述的流程,逐一完成8*8每一小塊圖像的數(shù)字水印嵌入,最終將數(shù)字水印信息嵌入整幅圖像當(dāng)中。
圖2 為數(shù)字水印信息嵌入到宿主圖像的整個(gè)流程。
本文將常用的實(shí)驗(yàn)的大小為512*512灰度數(shù)字圖像“boon"作為宿主圖像,水印信息為將大小為64*64的二值數(shù)字圖像“JD”作為待嵌入的數(shù)字水印信息,圖3展示。本文先對(duì)待嵌入的數(shù)字水印信息進(jìn)行Logistic變換一級(jí)置亂,使之成為一級(jí)加密水印,相當(dāng)于進(jìn)行了第一級(jí)加密,然后對(duì)一級(jí)置亂后的數(shù)字水印信息再利用Arnold變換對(duì)其進(jìn)行二級(jí)置亂,生成(0,1)二值序列,相當(dāng)于是二級(jí)加密,使其具有更高的安全性。通過算法利用用Haar小波將已分割成8*8的宿主圖像每一小塊圖像進(jìn)行了兩次的小波解構(gòu),在每一小塊的灰度圖像的高頻子帶區(qū)域?qū)崿F(xiàn)了數(shù)字水印信息的嵌入。這樣做的目的是利用了人類視覺獨(dú)有的特點(diǎn)使得在數(shù)字水印信息在宿主灰度圖像里具有更加理想的隱蔽性,從而達(dá)到與原灰度圖像極度相似的目標(biāo)。
Step1:把已嵌有數(shù)字水印信息的灰度圖像,再進(jìn)行8*8的減構(gòu)處理,這樣做的目的同樣是為了降低計(jì)算機(jī)的能耗,減少資源浪費(fèi),達(dá)到最優(yōu)。也為Step2做了鋪墊。
Step2:對(duì)已減構(gòu)好的每一小塊帶有數(shù)字水印信息的宿主圖像,提取出其高頻子帶,按照系數(shù)比較法,提取之亂后的數(shù)字水印信息。最終得到完整的一維向量。
Step3:對(duì)已提取出的一維向量,按照數(shù)字水印的信息置亂的逆過程,既先進(jìn)行Arnold變換恢復(fù),再進(jìn)行Logistic變換恢復(fù),從而得到最初的待嵌入的數(shù)字水印信息“JD”。
圖4為數(shù)字水印信息提取的流程圖。
圖4 水印信息提取流程圖
本文之所以選擇灰度宿主圖像的高頻子帶作為數(shù)字水印信息的的嵌入?yún)^(qū)域,這是結(jié)合了人類視覺特征,并且不斷優(yōu)化嵌入算法的結(jié)果,與以往把宿主圖像的低頻子帶作為水印信息嵌入?yún)^(qū)域有了很大的不同。同時(shí)也驗(yàn)證了結(jié)合Haar小波變換,定義小波系數(shù)和數(shù)字水印信息強(qiáng)度因子之間的關(guān)系,加密灰度宿主圖像的可行性,使得水印保密性大大加強(qiáng)。
[1]邸繼征.小波分析原理[M],科學(xué)出版社,2010.
[2]T.LeightonJ,Cox,J.Kilian.Securedia[C].IEEE Transaction on Imagespread spectrum Processing,1997.
[3]張小華,鐘樺,焦李成.數(shù)字水印與圖像認(rèn)證算法及應(yīng)用[M],西安電子科技大學(xué)出版社,2006.
[4]瓦爾納(David F.Walnut).小波分析導(dǎo)論[M].世界圖書出版社,2011.