• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 一種印刷品數字水印檢測器的設計和實現

    一種印刷品數字水印檢測器的設計和實現

    作者: 時間:2012-02-03 來源:網絡 收藏

    隨著信息時代的到來,特別是Internet的普及,信息的安全保護問題日益突出。當前的信息安全技術基本上都以密碼學理論為基礎,無論是采用傳統的密鑰系統還是公鑰系統,其保護方式都是控制文件的存取,即將文件加密成密文,使非法用戶不能解讀最近幾年,許多研究人員放棄了傳統密碼學的技術路線,嘗試用各種信號處理方法對聲像數據進行隱藏加密,并將該技術用于制作多媒體的.(Digital Watermark)技術是指用信號處理的方法在化的多媒體數據中嵌入隱蔽的標記,這種標記通常是不可見的,只有通過專用的器或閱讀器才能提取。數字是信息隱藏技術的一個重要研究方向。本文采用高端CMOS圖像傳感器采集圖像,基于DCT變換和相關算法,結合可編程邏輯器件FPGA和數字信號處理器DSP,數字水印的快速。

    本文引用地址:http://www.czjhyjcfj.com/article/149791.htm

    1 基本原理

    1.1 色彩空間的選擇

    本系統中含有數字水印的由計算機生成,通過激光打印機打印,再由CMOS傳感器采集。整個過程中,圖像信號經歷了DAC變換和ADC變換,并且在不同設備上傳輸。為了保證圖像的失真最小,必須選擇一種獨立于設備的色彩空間來表示圖像。本系統采用CIE-XYZ色彩空間。XYZ顏色模型將彩色光表示為:

    C=X(x)+Y(y)+Z(z)

    其中,x、y、z是XYZ色彩空間的基色量,X、Y、Z為三色比例系數。

    1.2 水印的添加和提取

    所要添加的水印信息可以是一段長度為n的由-1和1表示的二進制數碼{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序列按位與,具體是ki序列長度取M序列長度的整數倍,從而得到一個具有良好自相關特性的序列,這就是水印hi.宿主圖像可以是任意一幅色彩豐富的彩色圖片。首先,將宿主圖像轉化為CIE-XYZ色彩空間方式,取出亮度分量,將其進行16×16 DCT變換,選出每個塊的前10個較大的DCT系數Wi;然后將hi序列按照如下公式計算得到加有水印的DCT系數序列:

    Wi′=Wi(1+аhi)

    其中,a控制了水印的強度。最后對處理過的DCT系數進行反DCT變換后與圖像的另外兩個基色量合成并打印,即可得到添加了水印的圖像。

    水印的提取過程與水印的添加過程大體相反。為了保證圖像的大小與原圖相同,將一幅含有水印的在合適的燈光照明和適當的物距下,通過高端CMOS圖像傳感器及其外圍電路采集到存儲器,將圖像從RGB空間轉換為CIE-XYZ空間,提取其中的亮度分量;然后對其進行16×16 DCT變換,選取前10個較大的DCT系數,用已知hi序列與之進行相關運算。由于經M序列調制的hi具有很好的自相關特性,當圖像中含有水印時,相關運算的值超過一定的閾值即表示此圖像含有水印,反之則表示這幅圖片中不含有水印信息。通過上述方法,可以在需要受到保護的圖像中添加水印信息,然后用本論文闡述的機讀設備進行,從而將不受保護的圖像檢測出來。對于含有水印信息圖像的復制印刷品,由于其水印能量被削弱,因此檢測得出的相關值偏低,也能將其淘汰。經試驗得出,正品的相關值都在40%以上,而正品的復制品都在15%以下,不含水印信息的相同印刷品的相關值都在10%以下。

    數字水印系統原理如圖1所示。

    1.3 算法在FPGA及DSP上的

    由于本文采用CMOS圖像傳感器所采集圖像的色彩空間屬于RGB空間,因此,必須先將其轉換為獨立于設備的CIE-XYZ空間,使后續處理得以繼續。

    FPGA(Field-Programmable Gate Array),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。

    本文所采用的數字水印算法包含了圖像的2-D DCT運算,計算量極大。為了保證計算的實時性,本文采用具有并行處理結構的FPGA實現。首先改進2-D DCT算法,使之適合FPGA的并行處理,常用的方法是將二維運算轉化為兩次一維運算。

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


    Ai(i=0,1,2,……,15)表示某一行某一像素的亮度值,xk表示余弦變換的多項式系數。對于式(8),宜采用16個相同的模塊進行并行運算,所得結果為Z0,Z1,Z2,……,Z15,然后將Zy帶入式(4),進行與上一步相同的運算,得出DCT系數的值。以上運算用按位與運算和加法運算,可以避免對乘法器資源的占用,而且可以用FPGA中的查找表(LUT)實現。在電路上可采用乒乓操作分時復用一維運算模塊,以提高器件的利用率。

    在得到圖片的DCT系數矩陣以后,取出每個16×16塊的前10個較大的DCT系數,形成一個一維序列,與前面提到的水印序列hi進行相關運算。相關運算值超過一個由試驗得出的閾值則表明檢測到水印。

    相關運算公式為:

    2 系統硬件

    數字水印檢測設備的硬件框圖如圖2所示。CMOS圖像傳感器是近年來發展迅猛的一種圖像傳感器,一些高端CMOS芯片所獲得的靜態圖片,其質量可與CCD媲美。本文采用Omnivision公司的高端CMOS芯片OV3610,它具有300萬像素點,能夠提供高品質的圖像。本文采用FPGA通過SCCB接口對OV3610芯片進行控制,采集圖像。SCCB接口是Omnivision公司開發的一種串行接口技術。它是一種串行接口總線,由時鐘信號、輸入數據、輸出數據組成。主機可以通過SCCB接口訪問CMOS傳感器的內部寄存器,從而控制CMOS的工作模式、輸出圖像的格式、圖像的增益、RGB各個分量的增益、曝光時間、曝光強度、圖像開窗等,使得到的圖像便于識別水印。圖像的讀取是由FPGA進行時序控制的,圖像的輸出接口包含了10位的圖像數據線和同步信號VSYNC、HSYNC、HREF.其中VSYNC信號進行幀同步,HSYNC信號進行行同步,HREF用于標志一行未傳輸完畢。時序如圖3所示。

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

    經過試驗得出圖4、圖5、圖6所示的仿真結果。該系統能夠穩定地檢測出含有水印的圖像和不含水印的圖像。對于含有水印的圖像復制品,可以通過設置恰當的閾值予以鑒別。一般含有水印的原始圖像的相關值處于一個平均值,而圖像復制品處于一個較低的平均值。該系統每次檢測耗時小于2秒,能夠進行水印的快速檢測。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 喀喇沁旗| 阿荣旗| 寿阳县| 前郭尔| 沅陵县| 民权县| 南陵县| 三明市| 琼中| 昌江| 海伦市| 陕西省| 恩平市| 荥经县| 天门市| 静宁县| 三江| 攀枝花市| 秦皇岛市| 永修县| 都兰县| 海兴县| 南澳县| 彰化县| 通榆县| 乐山市| 子洲县| 平阳县| 西平县| 天等县| 柯坪县| 鄱阳县| 金山区| 崇文区| 西昌市| 东乌珠穆沁旗| 淮北市| 霸州市| 浦江县| 涪陵区| 仪陇县|