《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于FPGA和DSP的印刷品數(shù)字水印檢測器的設計
基于FPGA和DSP的印刷品數(shù)字水印檢測器的設計
粟 海,,堯德中,,龐小虎
摘要: 采用高端CMOS圖像傳感器進行圖像采集,基于DCT和M序列算法實現(xiàn)數(shù)字水印提取,,基于FPGA采用DA算法實現(xiàn)二維DCT變換,。與基于PC機和掃描儀的印刷品數(shù)字水印檢測設備相比,大大提高了圖片數(shù)字水印檢測的速度,,實現(xiàn)了印刷品數(shù)字水印的快速檢測,。
關鍵詞: DSP FPGA 數(shù)字水印
Abstract:
Key words :

  摘 要: 采用高端CMOS圖像傳感器進行圖像采集,基于DCT和M序列算法實現(xiàn)數(shù)字水印" title="數(shù)字水印">數(shù)字水印提取,,基于FPGA" title="FPGA">FPGA采用DA算法實現(xiàn)二維DCT變換,。與基于PC機和掃描儀的印刷品數(shù)字水印檢測設備相比,大大提高了圖片數(shù)字水印檢測的速度,,實現(xiàn)了印刷品數(shù)字水印的快速檢測,。
  關鍵詞: 數(shù)字水印 檢測 CMOS DCT FPGA


  數(shù)字水印技術是近年來發(fā)展起來的一種信息隱藏技術,可以用于網(wǎng)絡多媒體文件的版權保護,、印刷品的防偽等,。早期的圖像數(shù)字水印技術是對圖像進行空域處理。這種方法魯棒性較差,,經(jīng)過一些常用的信號算法處理后,,水印信息難以保存。有人提出了在頻域里添加水印的方法,,使水印具有一定的魯棒性,,如Cox提出的基于擴頻通信思想的數(shù)字水印算法。我國在數(shù)字水印方面的研究始于1999年,,之后,,數(shù)字水印很快成為了信息安全領域的熱點問題,產生了基于DCT(Discrete Cosine Transformation)變換,、小波變換,、維納濾波等具有交叉技術特點的水印算法。目前,,諸多的數(shù)字水印技術都是基于網(wǎng)絡傳輸,,針對印刷品數(shù)字水印的研究還處于起步階段。傳統(tǒng)的印刷品數(shù)字水印系統(tǒng)采用掃描儀進行圖像采集并且基于PC機實現(xiàn)算法,。此種方案速度慢,、體積大、難以投入實用,。本文采用高端CMOS圖像傳感器采集圖像,,基于DCT變換和相關算法,結合可編程邏輯器件FPGA和數(shù)字信號處理器DSP" title="DSP">DSP,,實現(xiàn)了印刷品數(shù)字水印的快速檢測,。
1 基本原理
1.1 色彩空間的選擇
  本系統(tǒng)中含有數(shù)字水印的印刷品由計算機生成,通過激光打印機打印,再由CMOS傳感器采集,。整個過程中,,圖像信號經(jīng)歷了DAC變換和ADC變換,并且在不同設備上傳輸,。為了保證圖像的失真最小,,必須選擇一種獨立于設備的色彩空間來表示圖像,。本系統(tǒng)采用CIE-XYZ色彩空間,。XYZ顏色模型將彩色光表示為:
  C=X(x)+Y(y)+Z(z)
  其中,x,、y,、z是XYZ色彩空間的基色量,X,、Y,、Z為三色比例系數(shù)。
1.2 水印的添加和提取
  所要添加的水印信息可以是一段長度為n的由“-1”和“1”表示的二進制數(shù)碼{ki},,如:-1-1-1-1-1-1-1-1 1 1 1 1 1 1 1 1 -1-1-1-1-1-1-1-1,。將ki與偽隨機序列M序列按位與,具體實現(xiàn)是ki序列長度取M序列長度的整數(shù)倍,,從而得到一個具有良好自相關特性的序列,,這就是水印hi。宿主圖像可以是任意一幅色彩豐富的彩色圖片,。首先,,將宿主圖像轉化為CIE-XYZ色彩空間方式,取出亮度分量,,將其進行16×16 DCT變換,,選出每個塊的前10個較大的DCT系數(shù)Wi;然后將hi序列按照如下公式計算得到加有水印的DCT系數(shù)序列:
  Wi′=Wi(1+аhi)
  其中,,a控制了水印的強度,。最后對處理過的DCT系數(shù)進行反DCT變換后與圖像的另外兩個基色量合成并打印,即可得到添加了水印的圖像,。
  水印的提取過程與水印的添加過程大體相反,。為了保證圖像的大小與原圖相同,將一幅含有水印的印刷品在合適的燈光照明和適當?shù)奈锞嘞?,通過高端CMOS圖像傳感器及其外圍電路采集到存儲器,,將圖像從RGB空間轉換為CIE-XYZ空間,提取其中的亮度分量,;然后對其進行16×16 DCT變換,,選取前10個較大的DCT系數(shù),用已知hi序列與之進行相關運算,。由于經(jīng)M序列調制的hi具有很好的自相關特性,,當圖像中含有水印時,,相關運算的值超過一定的閾值即表示此圖像含有水印,反之則表示這幅圖片中不含有水印信息,。通過上述方法,,可以在需要受到保護的圖像中添加水印信息,然后用本論文闡述的機讀設備進行檢測,,從而將不受保護的圖像檢測出來,。對于含有水印信息圖像的復制印刷品,由于其水印能量被削弱,,因此檢測得出的相關值偏低,,也能將其淘汰。經(jīng)試驗得出,,正品的相關值都在40%以上,,而正品的復制品都在15%以下,不含水印信息的相同印刷品的相關值都在10%以下,。
  數(shù)字水印系統(tǒng)原理如圖1所示,。


1.3 算法在FPGA及DSP上的實現(xiàn)
  由于本文采用CMOS圖像傳感器所采集圖像的色彩空間屬于RGB空間,因此,,必須先將其轉換為獨立于設備的CIE-XYZ空間,,使后續(xù)處理得以繼續(xù)。
  本文所采用的數(shù)字水印算法包含了圖像的2-D DCT運算,,計算量極大,。為了保證計算的實時性,本文采用具有并行處理結構的FPGA實現(xiàn),。首先改進2-D DCT算法,,使之適合FPGA的并行處理,常用的方法是將二維運算轉化為兩次一維運算,。

  因此,,二維DCT運算可由兩個一維運算得到,并且,,公式中的余弦值可以事先計算好并做為運算參數(shù)保存,。一維運算的實現(xiàn)采用了DA(Distributed Arithmetic)算法進一步提高運算速度,具體原理如下:


  Ai(i=0,,1,,2,……,,15)表示某一行某一像素的亮度值,,xk表示余弦變換的多項式系數(shù)。對于式(8),宜采用16個相同的模塊進行并行運算,,所得結果為Z0,,Z1,Z2,,……,,Z15,然后將Zy帶入式(4),,進行與上一步相同的運算,,得出DCT系數(shù)的值。以上運算用按位與運算和加法運算,,可以避免對乘法器資源的占用,,而且可以用FPGA中的查找表(LUT)實現(xiàn),。在電路設計上可采用乒乓操作分時復用一維運算模塊,,以提高器件的利用率。
  在得到圖片的DCT系數(shù)矩陣以后,,取出每個16×16塊的前10個較大的DCT系數(shù),,形成一個一維序列,與前面提到的水印序列hi進行相關運算,。相關運算值超過一個由試驗得出的閾值則表明檢測到水印,。
  相關運算公式為:
  
2 系統(tǒng)硬件
  數(shù)字水印檢測設備的硬件框圖如圖2所示。CMOS圖像傳感器是近年來發(fā)展迅猛的一種圖像傳感器,,一些高端CMOS芯片所獲得的靜態(tài)圖片,,其質量可與CCD媲美。本文采用Omnivision公司的高端CMOS芯片OV3610,,它具有300萬像素點,,能夠提供高品質的圖像。本文采用FPGA通過SCCB接口對OV3610芯片進行控制,,采集圖像,。SCCB接口是Omnivision公司開發(fā)的一種串行接口技術。它是一種串行接口總線,,由時鐘信號,、輸入數(shù)據(jù)、輸出數(shù)據(jù)組成,。主機可以通過SCCB接口訪問CMOS傳感器的內部寄存器,,從而控制CMOS的工作模式、輸出圖像的格式,、圖像的增益,、RGB各個分量的增益、曝光時間、曝光強度,、圖像開窗等,,使得到的圖像便于識別水印。圖像的讀取是由FPGA進行時序控制的,,圖像的輸出接口包含了10位的圖像數(shù)據(jù)線和同步信號VSYNC,、HSYNC、HREF,。其中VSYNC信號進行幀同步,,HSYNC信號進行行同步,HREF用于標志一行未傳輸完畢,。時序如圖3所示,。

 


  本文采用容量為256K×16bit的SRAM作為DCT系數(shù)的存儲體。要完全存儲DCT變換的數(shù)據(jù)是不可能的,。因此,,F(xiàn)PGA計算出的DCT系數(shù)并不能完全存儲,也沒有必要,。因為水印是添加在每個16×16塊的前10個系數(shù)里,,因此只需保存每個塊的前10個系數(shù),3145728像素圖片產生的水印信息只有120KB,。待FPGA完成圖片的DCT計算后,,DSP得到運算完畢信號,從SRAM中取出DCT系數(shù),,進行相關運算,。如果運算結果超過事先設定的閾值,則認為該圖片存在水印,,反之為不含水印,。檢測結果通過系統(tǒng)控制器在點陣液晶屏顯示,并且觸發(fā)語音報警器,,實現(xiàn)語音報警,。此外,該系統(tǒng)還具有與PC機的通信能力,,能夠通過RS232接口從PC機下載新的水印信息,,因此便于水印的更新。要檢測含有不同水印信息的圖片只需下載不同的水印信息即可,。

 


  經(jīng)過試驗得出圖4,、圖5、圖6所示的仿真結果,。該系統(tǒng)能夠穩(wěn)定地檢測出含有水印的圖像和不含水印的圖像,。對于含有水印的圖像復制品,,可以通過設置恰當?shù)拈撝涤枰澡b別。一般含有水印的原始圖像的相關值處于一個平均值,,而圖像復制品處于一個較低的平均值,。該系統(tǒng)每次檢測耗時小于2秒,能夠進行水印的快速檢測,。
參考文獻
1 Cox I J,,Killian J,Leighton F T etc al.Secure spread spec-trum watermarking for multimedia[J].IEEE Trans Image Pro-cessing,,1997,;6(12):1673~1687
2 LiHui,Xu Taiyuan.The Application of Electronic Watermark in Presswork Anti-Imitations.JESTC,,2004,;2(1):72~75
3 阮秋琦.數(shù)字圖像處理.北京:電子工業(yè)出版社,2001
4 孫兆林.MATLAB6.X圖像處理.北京:清華大學出版社,,2002
5 宋玉杰,,劉瑞禎,譚鐵牛等.數(shù)字水印技術在印刷品防偽中的應用.中國圖像圖形學報,,2001,;6(5)
6 孟 兵,,周良柱,,萬建偉.基于維納濾波的數(shù)字水印算法.計算機工程與應用,2000

此內容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權禁止轉載,。