彭婭利,白天蕊
(西南交通大學 信息科學與技術學院,四川 成都 610031)
DWT域數字水印算法的FPGA實現
彭婭利,白天蕊
(西南交通大學 信息科學與技術學院,四川 成都 610031)
根據離散小波變換原理的特點,提出了一種基于DWT域的數字水印算法,并用FPGA硬件實現其中關鍵部分的DWT變換。詳細介紹了相關模塊的設計和時序,并對整個系統進行了綜合仿真,驗證了設計的正確性。分析與仿真結果表明,與軟件實現相比,用FPGA實現水印算法具有高速實時處理的優點。
DWT;數字水印;FPGA
隨著計算機網絡和通信技術的飛速發展,數字媒體(包括數字圖像、數字視頻、數字音頻)已得到了廣泛的應用,隨之而來的數字媒體的信息安全、知識產權保護和認證等問題也變得日益突出。數字水印作為傳統加密方法的有效補充手段,是一種可以在開放的網絡環境下保護版權和認證來源以及完整性的新技術[1]。
根據水印的實現過程,圖像水印算法可分為空域算法和變換域算法。空域算法是通過直接改變原始圖像的像素值來嵌入水印,通常具有較快的速度,但魯棒性差,且水印容量也會受到限制;變換域算法是通過改變某些變換系數來嵌入水印,通常具有很好的魯棒性和不可見性,其實現一般基于圖像變換(如 DCT、DFT、DWT等)。大多數水印算法采用軟件實現,軟件實現具有易于應用、升級和適應性較好等特點,但存在速度受限、難以滿足實時處理的問題。而采用硬件實現則可以克服這些問題。本文基于上述考慮,利用FPGA設計了基于DWT(Discrete Wavelet Transform)域的數字水印算法,其中提升小波變換是該數字水印方案的關鍵單元之一,采用硬件描述語言Verilog HDL對算法進行描述,并用Model-Sim完成了功能和時序仿真。
1987年,Mallat將計算機視覺領域的多分辨思想引入了小波分析,提出了多分辨分析MRA(Multi-resolution Analysis)的理論,并給出了數學描述和一種子帶濾波器的離散小波變換與重構算法——Mallat算法。在圖像處理領域,需要處理的通常是二維圖形。因此,將Mallat算法擴展到二維空間,適當地選取一組行和列變換正交的小波系數,對圖像(或分解后的低頻子圖)分別進行行變換和列變換。然后,根據后續的具體應用對N次分解所得的圖像在不同的分辨率下進行分析、處理或數據壓縮。二維Mallat算法的結構如圖1所示。
首先,用濾波器組g(n)和 h(n)對圖像的每一行信號進行濾波和2抽取,然后用相同的濾波器組對所得結果的每一列再次進行濾波和2抽取。這樣,原始圖像就被分解成為 4個子帶圖像,分別表示為 LL、LH、HL和HH。其中,LL為水平和垂直方向的低通信號;LH為水平方向低通,垂直方向高通;HL為水平方向高通,垂直方向低通;HH為水平和垂直方向的高通信號。

圖1 二維Mallat算法的結構框圖
相對于Mallat算法而言,提升算法[2]是一種更快更有效的小波變換方法,標準的提升算法包含分裂(Split)、預測(Prediction)、更新(Update)三個步驟。分裂是將輸入數據分為偶數序列和奇數序列兩個部分;預測是用分裂的偶數序列預測奇數序列,得到的預測誤差為變換的高頻分量;更新是由預測誤差來更新偶數序列,得到變換的低頻分量。提升算法的結構框圖如圖2所示,其提升實現過程由式(1)和式(2)表示,其中濾波系數 α=-1/2,β=1/4。

圖2 提升算法的結構框圖

本文將采用5/3小波濾波器來實現小波變換。
由于圖像數據是有限長的,因此離散小波變換必須對圖像數據進行邊界延拓,在做小波提升算法時,同樣需要對其邊界數據進行延拓,以保證邊緣數據的正確。基于資源消耗和功耗的考慮,這里采用內嵌對稱延拓提升算法[3-4],將延拓的過程融合到提升變換過程中。精簡后的內嵌延拓方式如圖3所示,其中Xn表示圖像數據,dn表示高頻分量,cn表示低頻分量。

圖3 內嵌延拓方式
基于小波的圖像水印算法有很多,本文采用LSB方法[5]直接將水印信號嵌入到經過小波變換的子圖中,這里所用到的水印信號是由線性移位寄存器產生的m序列。圖像經過小波變換后,低頻子帶 LL表示為 L(n),數字水印序列設為a(n),在低頻子帶中嵌入水印序列,算法如下:

其中α為常數,當水印序列為“1”時,對子帶數據加 α;當水印序列為“0”時,對子帶數據減α。
整個設計過程的核心為提升小波變換的FPGA的實現。根據二維小波變換的特點,將總體設計分為水平一維DWT單元、垂直一維DWT單元、外部存儲單元和控制單元。總體設計框圖如圖4所示。

圖4 總體設計框圖
二維提升式小波變換可以分解為兩個一維小波變換,先進行行方向的離散小波變換,再進行列方向離散小波變換,這樣就可以完成二維提升式小波變換。在本設計中采用的是并行的二維提升離散小波變換,根據提升式小波變換的特點,當列變換處理完三行數據后,即可以進行行方向的變換。因此可以根據二維小波變換[6]這個特點,使用四行緩存來緩存列方向小波變換后的系數。在第三行緩存存滿后就開始從左向右進行“行方向”小波變換。因為在進行行方向小波變換的同時,仍然在進行列方向的小波變換,所以需要第四行緩存繼續緩存列方向變換得到的小波系數以避免數據的丟失。通過以上的處理,實現了并行的二維離散小波變換,極大地提高了小波變換的速度。在這整個架構包含了列方向小波變換模塊及其控制模塊、行方向小波變換模塊及其控制模塊,以及用于緩存一維小波系數的緩存組。其中列方向變換模塊在列方向變換控制模塊的控制下,從系統外部讀入影像數據進行列方向小波變換處理,并根據列變換的控制信號將處理后得到的小波高、低頻系數存儲到系統內部緩存中。行方向變換模塊在行方向變換控制模塊的控制下,從緩存器中取出列方向小波變換處理后的小波系數,進行行方向小波變換處理,得到二維小波變換后的LL、LH、HL、HH小波系數,最后輸出到系統外。
在變換過程中,首先對圖像數據進行行方向的一維提升式小波變換,將變換后的數據存放在存儲器或臨時寄存器中,行方向變換結束后,再對該存儲器中的數據進行列方向變換。這里使用的是FIFO存儲器。FIFO是一種先進先出的存儲器,就好像一個單向管道,數據只能按照固定的方向從管道一頭進來,再按照相同的方向從管道另一頭出去,最先進來的數據必定最先出去。
控制單元接收外部控制信號(芯片使能、數據時鐘等),由內部計數器進行計時、產生水平一維DWT單元、垂直一維 DWT單元和存儲單元的控制信號(模塊使能、起始終止信號等),對外部數據或前一級的LL輸出數據進行鎖存、處理、緩沖、輸出等操作。
在整個電路設計過程中,采用Verilog HDL語言對二維小波變換結構進行了RTL設計,并且采用ModelSim仿真對設計進行驗證,其結果與 Matlab仿真結果一致,說明二維提升小波變換結構的正確。圖5為α=2時嵌入水印后的圖片和算法仿真結果。由圖可知,嵌入水印后對圖的影響不大,基本不能被人的眼睛所感知。但當α>8時,圖像質量還是有了一定的影響,這是因為LL子帶包含了圖像的主要信息。

圖5 α=2時嵌入水印后的圖片和算法仿真結果
本文實現了一種基于DWT域的數字水印算法,其中DWT變換算法的實現是該設計中數字水印方案的關鍵算法之一。采用ModelSim仿真對設計進行驗證,其結果與Matlab仿真結果一致,說明了該設計的正確性。實驗結果表明,該方案利用FPGA實現水印算法比用軟件實現法速度更快,性能更穩定。
[1]COX I J,MILLER M L,BLOOM J A.數字水印[M].王穎,黃志蓓,譯.北京:電子工業出版社,2003.
[2]SWELDENS W.The lifting scheme:a construction of second generation wavelets[J].SIAM J Math Anal,1997,29(2):511-546.
[3]喬世杰,王國裕.離散小波變換的 VLSI實現[J].微電子學,2001,31(2):143-145.
[4]張波.基于提升小波變換的圖像數字水印算法IP核的研究與設計[D].成都:西南交通大學,2009.
[5]鐘樺,張小華,焦李成.數字水印與圖像認證:算法及應用[M].西安:西安電子科技大學出版社,2006.
[6]劉軍偉.基于FPGA的數字水印算法的設計和實現[D].成都:電子科技大學,2005.
Implementation of DWT domain digital watermarking algorithm based on FPGA
Peng Yali,Bai Tianrui
(School of Information Science&Technology,Southwest Jiaotong University,Chengdu 610031,China)
In this paper,a digital watermarking algorithm based on DWT domain is presented,and the DWT transform,which is the key part of the digital watermarking.The design and time sequence of the module structure are described in detail.The design is verified the correctness after simulation and synthesis.The analysis and simulation results show that FPGA-based digital watermarking algorithm implementation method has the advantage of high speed real-time processing over the software-based watermarking algorithm.
DWT;digital watermarking;FPGA
TP332.1
A
1674-7720(2011)02-0055-03
2010-10-13)
彭婭利,女,1982年生,碩士研究生,主要研究方向:集成電路設計,圖像處理。
白天蕊,女,1963年生,副教授,碩士研究生導師,主要研究方向:數字集成電路設計,圖像處理。