專利名稱:一種bmp圖像的數(shù)字水印處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種BMP圖像的數(shù)字水印處理系統(tǒng),屬于計算機(jī)應(yīng)用技術(shù)領(lǐng)域。
背景技術(shù):
隨著多媒體處理技術(shù)及網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的數(shù)字產(chǎn)品在網(wǎng)絡(luò)上方便地發(fā)布、傳播。多媒體及通信技術(shù)帶來方便的同時,同樣會帶來一些負(fù)面作用。例如,一些個人或團(tuán)體在未經(jīng)許可的情況下就對作品進(jìn)行非法拷貝、傳播及出售有版權(quán)保護(hù)的數(shù)字產(chǎn)品, 從而極大損害了版權(quán)所有者及廠商的利益;此外數(shù)字產(chǎn)品還常常用于司法取證當(dāng)中,這時就需要保證數(shù)字產(chǎn)品的完整性和真實性,如果被不法分子通過技術(shù)手段對數(shù)字內(nèi)容(音頻、 視頻、圖像等)進(jìn)行篡改、偽造等將會妨害司法的公正。因此,如何通過信息安全手段有效保護(hù)數(shù)字產(chǎn)品成為業(yè)界亟需解決的問題。在這種迫切需求的推動下,數(shù)字水印嵌入技術(shù)應(yīng)運而生。傳統(tǒng)的數(shù)字水印嵌入方式是對需要進(jìn)行防偽處理的數(shù)字產(chǎn)品通過計算機(jī)軟件處理來實現(xiàn)的,在傳播過程中增加了許多不確定的因素,不能保證數(shù)字產(chǎn)品的原始性和完整性。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種BMP圖像的數(shù)字水印處理系統(tǒng),適用于需要進(jìn)行版權(quán)保護(hù)的BMP圖像和確保司法取證真實性與完整性的BMP圖像;系統(tǒng)是采用Altera Cyclone II EP2C70系列FPGA作為主控芯片、SD卡作為存儲介質(zhì)的便攜裝置式數(shù)字水印處理系統(tǒng),解決脫離PC機(jī)環(huán)境下對原始獲得的數(shù)字圖像即時進(jìn)行水印嵌入的難題。本發(fā)明采用的技術(shù)方案是BMP圖像的數(shù)字水印處理系統(tǒng)由中央處理模塊FPGA
I、JTAG接口2、SDRAM存儲器3、Flash存儲器4、SD卡接口 5和LED指示燈6組成;中央處理模塊FPGA 1由Nios II處理器7、數(shù)字水印處理模塊8、JTAG控制器10、SDRAM控制器
II、三態(tài)橋控制器12、SD卡控制器13、PIO控制器14組成;各個組件通過數(shù)據(jù)總線9采用常規(guī)連接接在一起JTAG接口 2、SDRAM存儲器3、Flash存儲器4、SD卡接口 5和LED指示燈6采用常規(guī)連接方式分別和JTAG控制器10、SDRAM控制器11、三態(tài)橋控制器12、SD卡控制器13、PIO控制器14連接。所述的數(shù)字水印處理模塊8由DCT2變換模塊15、BMP水印嵌入模塊16、IDCT2變換模塊17組成;DCT2變換模塊15與BMP水印嵌入模塊16連接,BMP水印嵌入模塊16與 IDCT2變換模塊17連接,DCT2變換模塊15和IDCT2變換模塊17接在數(shù)據(jù)總線9上,各個模塊間采用常規(guī)方式連接。所述的二維DCT變換、二維IDCT變換用Verilog HDL語言進(jìn)行編寫,封裝成組件模塊,用自定義指令的方式通過數(shù)據(jù)總線對各組件進(jìn)行連接,以實現(xiàn)各個不同模塊的協(xié)同工作。其他所有外設(shè)都是通過數(shù)據(jù)總線9與Nios II處理器7相連接;數(shù)據(jù)總線9是一種協(xié)議簡單的片內(nèi)總線;總線接口分為兩類主端口和從端口,主端口是一個主控接口,從端口是一個從控端口,主端口具有與其相接的數(shù)據(jù)總線控制權(quán);從端口控制數(shù)據(jù)總線的從讀和從寫;傳輸結(jié)構(gòu)有數(shù)據(jù)總線從讀、數(shù)據(jù)總線帶一個延遲狀態(tài)從讀、數(shù)據(jù)總線從寫和數(shù)據(jù)總線帶一個延遲狀態(tài)從寫。所有外設(shè)的接口與數(shù)據(jù)總線時鐘同步;系統(tǒng)配備有JTAG接口 2,可以使用USB_ Blaster數(shù)據(jù)線將本處理系統(tǒng)與個人計算機(jī)連接。本系統(tǒng)采用Altera Cyclone II EP2C70系列FPGA作為主控芯片,是整個系統(tǒng)的核心;SDRAM存儲模塊是用來運行程序的存儲芯片;Flash存儲模塊是用來固化核心程序的存儲芯片;SD卡接口模塊是數(shù)字產(chǎn)品的輸入、輸出通道,可以接入通用的SD卡、Mini SD卡、 Micro SD卡,同時,Mini SD卡、Micro SD卡需要使用相應(yīng)的卡套支持。所述的BMP圖像數(shù)字水印處理系統(tǒng)的處理方法首先在SD卡中建立三個文件夾, 分別命名為Input_Files、Output_Files和water ;分別用于存放原始圖像、已嵌入水印信息的圖像和需要嵌入的水印圖像;開機(jī)后BMP圖像的數(shù)字水印處理系統(tǒng)自動加載固化在 Flash存儲器4中的程序,硬件程序通過三態(tài)橋控制器12和數(shù)據(jù)總線9加載到Nios II處理器7中,形成系統(tǒng)的硬件架構(gòu);軟件程序通過三態(tài)橋控制器12、數(shù)據(jù)總線9和SDRAM控制器11加載到SDRAM存儲器3中運行;程序讀取SD卡中存儲的原圖像數(shù)據(jù),通過SD卡控制器13、數(shù)據(jù)總線9和SDRAM控制器11緩存到SDRAM存儲器3中;然后將圖像數(shù)據(jù)通過SDRAM 控制器11和數(shù)據(jù)總線9送入數(shù)字水印處理模塊8中處理;再將含水印信息的BMP圖像數(shù)據(jù)通過數(shù)據(jù)總線9和SDRAM控制器11緩存到SDRAM存儲器3中;最后將圖像數(shù)據(jù)通過SDRAM 控制器11、數(shù)據(jù)總線9和SD卡控制器13回寫到SD卡接口 5中的SD卡里,存儲已經(jīng)嵌入水印信息的BMP圖像;存儲完畢后,Nios II處理器7通過數(shù)據(jù)總線9向PIO控制器14發(fā)送指令,使LED指示燈6亮起,表明BMP圖像的數(shù)字水印處理完成。所述的數(shù)字水印處理模塊8針對BMP格式圖像水印嵌入方法是 第一步將BMP格式彩色圖像的R、G、B三個分量分解出來; 第二步提取三個分量的低3位低2位和低3位數(shù)據(jù);
第三步將提取出的3、2、3位數(shù)據(jù)重新組合成一個Sbits的數(shù)組,構(gòu)成一幅灰度圖像; 第四步每8X8個圖像數(shù)據(jù)進(jìn)行二維DCT變換得到相對應(yīng)的頻域系數(shù)矩陣; 第五步將每4個水印數(shù)據(jù)依次疊加到頻域系數(shù)矩陣中的4個中頻系數(shù)上,再對嵌入后的系數(shù)矩陣進(jìn)行二維IDCT變換得到已經(jīng)嵌入水印信息的圖像矩陣,構(gòu)成一幅含水印信息的灰度圖像;
第六步將含水印信息的灰度圖像按每一個Sbits數(shù)組拆分出3、2、3位數(shù)據(jù),重新再替換回R、G、B三個分量中的低3位低2位和低3位,即得到含水印信息的彩色M位BMP圖像。本發(fā)明的有益效果
1、針對BMP格式圖像數(shù)據(jù)量以及二維DCT變換和二維IDCT變換運算量都很大的特點, 本發(fā)明中將二維DCT變換和二維IDCT變換用Verilog HDL語言進(jìn)行編寫,封裝成硬件組件模塊,用自定義指令的方式通過數(shù)據(jù)總線對各軟硬件組件進(jìn)行連接,以實現(xiàn)各個軟硬件模塊的實時協(xié)同工作。這種軟硬件協(xié)同工作方式較純軟件方式能更高效地進(jìn)行大數(shù)據(jù)量運算,從而提高數(shù)字水印處理系統(tǒng)的處理效率。
2、系統(tǒng)采用SD卡接口,可以方便及時的對需要防偽處理的數(shù)字圖像產(chǎn)品進(jìn)行輸入和輸出,系統(tǒng)開機(jī)即自動完成對BMP圖像的數(shù)字水印處理,使水印處理更加方便、快捷。3、該系統(tǒng)能對原始獲得的數(shù)字圖像即時進(jìn)行水印嵌入處理,解決脫離PC機(jī)環(huán)境下對數(shù)字圖像進(jìn)行水印嵌入的難題。因此本發(fā)明提供了一種采用SD卡作為存儲介質(zhì)的便攜裝置式數(shù)字水印處理系統(tǒng),該系統(tǒng)能對原始獲得的數(shù)字圖像即時進(jìn)行水印嵌入處理,從而有效縮短數(shù)字圖像產(chǎn)品公開前的傳播路徑,減少數(shù)字產(chǎn)品被篡改的幾率。
圖1為本發(fā)明的系統(tǒng)原理示意框圖2為本發(fā)明中數(shù)字水印處理模塊的原理示意框圖; 圖3為本發(fā)明的數(shù)據(jù)總線與外設(shè)的連接結(jié)構(gòu)示意圖; 圖4為本發(fā)明中數(shù)字水印處理方法中BMP圖像嵌入水印的工作流程示意圖。圖中1-中央處理模塊FPGA、2_JTAG接口、3-SDRAM存儲器、4-Flash存儲器、 5-SD卡接口、6-LED指示燈、7-Nios II處理器、8-數(shù)字水印處理模塊、9-數(shù)據(jù)總線、10-JTAG 控制器、11-SDRAM控制器、12-三態(tài)橋控制器、13-SD卡控制器、14-PI0控制器、15-DCT2變換模塊、16-BMP水印嵌入模塊、17-IDCT2變換模塊。
具體實施例方式如圖1所示,所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),BMP圖像的數(shù)字水印處理系統(tǒng)由中央處理模塊FPGA 1、JTAG接口 2、SDRAM存儲器3、Flash存儲器4、SD卡接口 5和 LED指示燈6組成,中央處理模塊FPGA 1由Nios II處理器7、數(shù)字水印處理模塊8、JTAG 控制器10、SDRAM控制器11、三態(tài)橋控制器12、SD卡控制器13、PI0控制器14組成;各個組件通過數(shù)據(jù)總線9采用常規(guī)連接接在一起JTAG接口 2、SDRAM存儲器3、Flash存儲器4、 SD卡接口 5和LED指示燈6采用常規(guī)連接方式分別和JTAG控制器10、SDRAM控制器11、三態(tài)橋控制器12、SD卡控制器13、PIO控制器14連接。如圖2所示,所述的數(shù)字水印處理模塊8由DCT2變換模塊15、BMP水印嵌入模塊 16、IDCT2變換模塊17組成;DCT2變換模塊15與BMP水印嵌入模塊16連接,BMP水印嵌入模塊16與IDCT2變換模塊17連接,DCT2變換模塊15和IDCT2變換模塊17接在數(shù)據(jù)總線 9上,各個模塊間采用常規(guī)方式連接。針對BMP格式圖像的數(shù)據(jù)量、二維DCT變換、二維IDCT變換運算量大的特點,本發(fā)明中將二維DCT變換、二維IDCT變換用Verilog HDL語言進(jìn)行編寫,封裝成硬件組件模塊, 用自定義指令的方式通過數(shù)據(jù)總線對各軟硬件組件進(jìn)行連接,以實現(xiàn)各個軟硬件模塊的實時協(xié)同工作。這種軟硬件協(xié)同工作方式較純軟件方式能更高效地進(jìn)行大數(shù)據(jù)量運算,從而提高數(shù)字水印處理系統(tǒng)的處理效率。如圖3所示,本發(fā)明的數(shù)據(jù)總線與外設(shè)的連接結(jié)構(gòu)。所有外設(shè)都是通過數(shù)據(jù)總線與Nios II處理器相連接,本發(fā)明中的數(shù)據(jù)總線9是一種協(xié)議較為簡單的片內(nèi)總線。總線接口分為兩類主端口和從端口。主端口是一個主控接口,從端口是一個從控端口,主端口具有與其相接的數(shù)據(jù)總線控制權(quán),從端口控制數(shù)據(jù)總線的從讀和從寫。本發(fā)明用到的傳輸結(jié)構(gòu)有數(shù)據(jù)總線從讀、數(shù)據(jù)總線帶一個延遲狀態(tài)從讀、數(shù)據(jù)總線從寫和數(shù)據(jù)總線帶一個延遲狀態(tài)從寫。所有外設(shè)的接口與數(shù)據(jù)總線時鐘同步,不需要復(fù)雜的握手和應(yīng)答機(jī)制,簡化了數(shù)據(jù)總線的時序行為,而且便于集成高速外設(shè)。所有的信號都是高電平或低電平有效,便于信號在總線中高速傳輸。在數(shù)據(jù)總線中,由數(shù)據(jù)選擇器決定哪個信號驅(qū)動哪個外設(shè),因此外設(shè)即使在未被選中時也不需要將輸出置為高阻態(tài)。本發(fā)明中外設(shè)的地址、數(shù)據(jù)和控制信號使用分離的、專用的端口。外設(shè)不需要識別地址總線周期和數(shù)據(jù)總線周期,也不需要在未被選中時使輸出無效。本發(fā)明配備有JTAG接口 2,可以使用USB_Blaster數(shù)據(jù)線將本處理系統(tǒng)與個人計算機(jī)連接。借助個人計算機(jī)中安裝的相關(guān)開發(fā)環(huán)境,能夠根據(jù)市場需求及時更新處理系統(tǒng)中的核心程序。本發(fā)明使用前,首先在SD卡中建立三個文件夾,分別命名為Input_Fi 1 es、 Output_Files和water ;分別用于存放原始圖像、已嵌入水印信息的圖像和需要嵌入的水印圖像。開機(jī)后系統(tǒng)自動加載固化在Flash存儲器4中的程序,硬件程序通過三態(tài)橋控制器12和數(shù)據(jù)總線9加載到Nios II處理器7中,形成系統(tǒng)的硬件架構(gòu);軟件程序通過三態(tài)橋控制器12、數(shù)據(jù)總線9和SDRAM控制器11加載到SDRAM存儲器3中運行。程序讀取SD 卡中存儲的原圖像數(shù)據(jù),通過SD卡控制器13、數(shù)據(jù)總線9和SDRAM控制器11緩存到SDRAM 存儲器3中;然后將圖像數(shù)據(jù)通過SDRAM控制器11和數(shù)據(jù)總線9送入數(shù)字水印處理模塊8 中處理;再將含水印信息的BMP圖像數(shù)據(jù)通過數(shù)據(jù)總線9和SDRAM控制器11緩存到SDRAM 存儲器3中;最后將圖像數(shù)據(jù)通過SDRAM控制器11、數(shù)據(jù)總線9和SD卡控制器13回寫到 SD卡接口 5中的SD卡里,存儲已經(jīng)嵌入水印信息的BMP圖像。存儲完畢后,Nios II處理器7通過數(shù)據(jù)總線9向PIO控制器14發(fā)送指令,使LED指示燈6亮起,表明BMP圖像的數(shù)字水印處理完成。如圖4所示數(shù)字水印處理模塊針對BMP格式圖像水印嵌入方法是 第一步將BMP格式彩色圖像的R、G、B三個分量分解出來;
第二步提取三個分量的低3位低2位和低3位數(shù)據(jù);
第三步將提取出的3、2、3位數(shù)據(jù)重新組合成一個Sbits的數(shù)組,構(gòu)成一幅灰度圖像; 第四步每8X8個圖像數(shù)據(jù)進(jìn)行二維DCT變換得到相對應(yīng)的頻域系數(shù)矩陣; 第五步將每4個水印數(shù)據(jù)依次疊加到頻域系數(shù)矩陣中的4個中頻系數(shù)上,再對嵌入后的系數(shù)矩陣進(jìn)行二維IDCT變換得到已經(jīng)嵌入水印信息的圖像矩陣,構(gòu)成一幅含水印信息的灰度圖像;
第六步將含水印信息的灰度圖像按每一個Sbits數(shù)組拆分出3、2、3位數(shù)據(jù),重新再替換回R、G、B三個分量中的低3位低2位和低3位,即得到含水印信息的彩色M位BMP圖像。其中,DCT變換的全稱是離散余弦變換(Discrete Cosine Transform),是數(shù)碼率壓縮常用的一個變換編碼方法。它是先將整個圖像分成NXN的像素塊,然后對N
N像素塊逐一進(jìn)行DCT變換。其中N是像素塊的水平、垂直像素數(shù),一般取N=8。N大于8時效率增加不多而復(fù)雜性大為增加。二維DCT變換就是對8 χ 8 二維像素塊進(jìn)行離散余弦變換處理,先對每行進(jìn)行變換,然后對每列進(jìn)行變換,得到的是一個8 S的變換系數(shù)矩陣。其中(0,0)位置的元素是直流分量,矩陣中的其他元素根據(jù)其位置不同表示不同頻率的交流分量。并且左上角部分為低頻系數(shù),中間部分為中頻系數(shù),右下角為高頻系數(shù)。低頻系數(shù)集中了圖像的大部分能量,無法保證水印信息的不可見性,圖像會明顯失真。高頻系數(shù)容易受到攻擊,因此本發(fā)明將水印信息嵌入在中頻系數(shù)當(dāng)中。對于分辨率為8X8的圖像來說,略力是圖像坐標(biāo)為(i,j)點的像素值;7(",v) 為變換后頻域矩陣(u,ν)點的值。首先把構(gòu)造的灰度圖像分割成(Z1ZS)X(Z2ZS)個8x8 的圖像塊,再將這些圖像塊進(jìn)行二維DCT變換;水印信息與二維DCT變換后的中頻系數(shù)替換后,再對(不/8>'(12/8 )個8x8系數(shù)矩陣進(jìn)行二維IDCT變換。二維DCT和二維IDCT的定
義分別為式1、式2所示。式1
/ 、 ι W、a f .、 (2+0 減 (2j + l) νπ
y (μ,Vj = -C(u)l.(ν)21 χ(ι‘i) cos ——77——cos-----]
^ -0 J'43IDIw
C (u ), C (ν) = 2 ,當(dāng) u,ν = O; C (w), C (ν) = 1,其他。
式2
4i-0 3 Jl1010
(:(O, C (J) = 2-“2,當(dāng) i, j. = 0; C(i),C(j) = 1,其他 ο
本發(fā)明是通過具體實施過程進(jìn)行說明的,在不脫離本發(fā)明范圍的情況下,還可以對本發(fā)明進(jìn)行各種變換及等同代替,因此,本發(fā)明不局限于所公開的具體實施過程,而應(yīng)當(dāng)包括落入本發(fā)明權(quán)利要求范圍內(nèi)的全部實施方案。
權(quán)利要求
1.一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于BMP圖像的數(shù)字水印處理系統(tǒng)由中央處理模塊FPGA、JTAG接口、SDRAM存儲器、Flash存儲器、SD卡接口和LED指示燈組成,中央處理模塊FPGA由Nios II處理器、數(shù)字水印處理模塊、JTAG控制器、SDRAM控制器、 三態(tài)橋控制器、SD卡控制器、PIO控制器組成,各個組件通過數(shù)據(jù)總線采用常規(guī)連接接在一起JTAG接口、SDRAM存儲器、Flash存儲器、SD卡接口和LED指示燈采用常規(guī)連接方式分別和JTAG控制器、SDRAM控制器、三態(tài)橋控制器、SD卡控制器、PIO控制器連接。
2.根據(jù)權(quán)利要求1所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于所述的數(shù)字水印處理模塊由DCT2變換模塊、BMP水印嵌入模塊、IDCT2變換模塊組成;DCT2變換模塊與BMP水印嵌入模塊連接,BMP水印嵌入模塊與IDCT2變換模塊連接,DCT2變換模塊和 IDCT2變換模塊接在數(shù)據(jù)總線上,各個模塊間采用常規(guī)方式連接。
3.根據(jù)權(quán)利要求2所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于二維DCT變換、二維IDCT變換用Verilog HDL語言進(jìn)行編寫,封裝成組件模塊,用自定義指令的方式通過數(shù)據(jù)總線對各組件進(jìn)行連接。
4.根據(jù)權(quán)利要求2所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于所有外設(shè)都是通過數(shù)據(jù)總線與Mos II處理器相連接;所有外設(shè)的接口與數(shù)據(jù)總線時鐘同步。
5.根據(jù)權(quán)利要求2所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于數(shù)據(jù)總線是一種協(xié)議簡單的片內(nèi)總線,總線接口分為兩類主端口和從端口 ;主端口是一個主控接口,從端口是一個從控端口,主端口具有與其相接的數(shù)據(jù)總線控制權(quán);從端口控制數(shù)據(jù)總線的從讀和從寫;用到的傳輸結(jié)構(gòu)包括數(shù)據(jù)總線從讀、數(shù)據(jù)總線帶一個延遲狀態(tài)從讀、數(shù)據(jù)總線從寫和數(shù)據(jù)總線帶一個延遲狀態(tài)從寫。
6.根據(jù)權(quán)利要求1或者2所述的一種BMP圖像的數(shù)字水印處理系統(tǒng),其特征在于系統(tǒng)配備有JTAG接口,可以使用USB_Blaster數(shù)據(jù)線將本處理系統(tǒng)與個人計算機(jī)連接。
全文摘要
本發(fā)明涉及一種BMP圖像的數(shù)字水印處理系統(tǒng),屬于計算機(jī)應(yīng)用技術(shù)領(lǐng)域;BMP圖像的數(shù)字水印處理系統(tǒng)由中央處理模塊FPGA、JTAG接口、SDRAM存儲器、Flash存儲器、SD卡接口和LED指示燈組成,中央處理模塊FPGA由NiosII處理器、數(shù)字水印處理模塊、JTAG控制器、SDRAM控制器、三態(tài)橋控制器、SD卡控制器、PIO控制器組成,各個組件通過數(shù)據(jù)總線采用常規(guī)連接接在一起;JTAG接口、SDRAM存儲器、Flash存儲器、SD卡接口和LED指示燈采用常規(guī)連接方式分別和JTAG控制器、SDRAM控制器、三態(tài)橋控制器、SD卡控制器、PIO控制器連接。本發(fā)明處理速度快、體積小巧、簡單便攜,便于及時對獲取到的原始圖像信息進(jìn)行版權(quán)保護(hù)處理。
文檔編號G06T1/00GK102402779SQ20111039811
公開日2012年4月4日 申請日期2011年12月5日 優(yōu)先權(quán)日2011年12月5日
發(fā)明者何鑫亮, 李勃, 李玉惠, 羅成緒, 郝世博 申請人:昆明理工大學(xué)