文獻標識碼: A
文章編號: 0258-7998(2015)01-0111-04
0 引言
隨著科技的飛速發(fā)展,視頻采集技術(shù)獲得了十分廣泛的應(yīng)用,。在工業(yè)自動化控制,、醫(yī)療器械、安防設(shè)備等領(lǐng)域都能看到視頻采集的身影[1-2],。然而在一些特殊的場合,,比如網(wǎng)絡(luò)視頻和視頻會議等,對于數(shù)據(jù)安全有較高的要求,。這就需要對傳輸?shù)囊曨l數(shù)據(jù)進行加密處理[3-7],。但是對于網(wǎng)絡(luò)視頻和視頻會議等對數(shù)據(jù)實時性要求非常高的應(yīng)用場合,由于其加密算法復(fù)雜并且數(shù)據(jù)運算量大,,顯然不符合實時性的要求,。因此,本文采用一種加密效果好并且易于實現(xiàn)的混沌貓映射算法來完成加密運算,,以滿足安全性和實時性的需要,。
視頻加密主要有兩種方法,一種是采用基于Linux操作系統(tǒng)下的C語言或MATLAB語言等軟件的方法加以實現(xiàn),,這種方法的特點是可移植性較好,,實現(xiàn)起來較為簡單方便。但這種方法是面向處理器的,,指令執(zhí)行采用的是串行操作的方式,,執(zhí)行速度相對較慢,,因而視頻信號處理的實時性也相對較差。另一種則是采用硬件描述語言的方法加以實現(xiàn),,這種方法是面向最基本的邏輯單元或門電路單元,,其主要特點是能夠充分利用FPGA的并行處理優(yōu)勢。但這種方法在通常情況下不支持對浮點數(shù)的運算和處理,,實現(xiàn)難度相對較大[7],。與靜止圖像加密的主要不同之處在于,對視頻信號處理和混沌加密的實時性具有很高的要求,。因此,,本文采用硬件描述語言和FPGA技術(shù)實現(xiàn)視頻數(shù)據(jù)的混沌加密。利用FPGA并行處理等優(yōu)良特性可以更好地將CCD攝像頭采集的模擬視頻信號轉(zhuǎn)化為數(shù)字視頻信號并完成對其加密等多個步驟,,從而最終完成對視頻的混沌加密,。實驗結(jié)果表明,該系統(tǒng)能同時滿足視頻采集的實時性和安全性這兩者的要求,。
1 視頻混沌加密原理
1.1 二維貓映射
貓映射最早由Arnold提出,,因為常用一張貓臉演示而得名。它是一種將明文置亂的加密方式,。二維貓映射的數(shù)學(xué)表達式如下:
式中(xn,,yn)是一幅N×N圖像的像素點位置,(xn+1,,yn+1)是原像素點坐標經(jīng)過貓映射變換之后所得到的新坐標,,N=240。A的兩個特征值,,其對應(yīng)的李氏指數(shù)
,,該映射是混沌的[6]。同時,,它符合混沌運動的兩個因素:拉伸和折疊。又由于det A=1,, 因此該二維的貓映射是保面積映射,。并且貓映射是一一映射,圖像中的一個像素點唯一地映射到另一個像素點中去,。
1.2 二維貓映射參數(shù)的選取
傳統(tǒng)的二維貓映射為了取得較好的加密效果,,需要對圖像進行多次的置亂,因此導(dǎo)致了加密系統(tǒng)的時間代價大,,效率低下,。多次置亂的加密公式如下:
A矩陣可以表示為:
P和P-1為互逆矩陣,?茲為一對角矩陣,,其數(shù)學(xué)表達式為:
將式(4)代入式(3)中,,得:
由上式可知,,多次A矩陣的貓映射加密相當于B矩陣的一次貓映射加密,相當于圖像完成了A矩陣的多次拉伸和折疊[7],。因貓映射加密具有周期性,,周期大小與圖像分辨率、矩陣中參數(shù)大小等有密切聯(lián)系[5],。因此,,選擇好矩陣中的參數(shù)可以令效果事半功倍。
因此在選擇參數(shù)時盡量選擇令加密圖像像素分布均勻的迭代次數(shù)n,,以達到最好的加密效果,。貓映射的周期M由圖像大小N以及貓映射矩陣中的參數(shù)所決定,因此,,通過MATLAB仿真來獲得加密周期M和最佳的加密參數(shù),。
選取矩陣A=1 2
3 7,當圖像大小為240×240時,,貓映射加密的周期為60,,不同迭代次數(shù)圖像的加密效果如圖1所示。
從仿真結(jié)果可知,,二維貓映射置亂的迭代次數(shù)并不是越大越好,,譬如A矩陣迭代20次之后,圖像中的信息能被肉眼所分辨,。而A矩陣的60次迭代之后圖像又被還原,。雖然A矩陣的5次迭代和55次迭代之后的加密圖像已經(jīng)都被完全打亂,但由于迭代次數(shù)過多會造成矩陣中的元素過大,,不便于計算,。因此本實驗采用的加密矩陣為:
式中B矩陣為貓映射加密的置亂矩陣,其效果相當于A矩陣的5次變換,。使用B矩陣對圖像置亂,,不但解決了視頻數(shù)據(jù)的安全性問題,更由于算法的簡單易于實現(xiàn),,可以很好地滿足視頻采集系統(tǒng)的實時性要求,。
2 FPGA采集系統(tǒng)的設(shè)計
本實驗采用的FPGA芯片是Xilinx公司VirtexⅡ Pro系列的XC2VP30。該FPGA芯片包含13 969個邏輯片,、428 Kb的分布式RAM,、136個乘法器單元、2 448 Kb的塊RAM,、8個數(shù)字時鐘管理模塊,、2個PowerPC核和8個G比特收發(fā)器。
2.1 FPGA采集系統(tǒng)概述
本文的采集系統(tǒng)由Xilinx公司的XUP Xilinx VirtexⅡ Pro開發(fā)板為核心開發(fā)平臺,、視頻采集子板VDEC1,、CCD攝像頭和LCD液晶顯示器組成,。其系統(tǒng)設(shè)計框圖如圖2所示。
2.2 FPGA采集系統(tǒng)流程
整個采集系統(tǒng)包括4個模塊:AD芯片初始化模塊,、ITU656解碼模塊,、緩存模塊和VGA顯示模塊[8]。4個模塊均由Verilog語言編寫,,在Xilinx公司的ISE開發(fā)環(huán)境下完成,。
系統(tǒng)上電之后,首先會由I2C初始化模塊進行ADV-7183B芯片的相關(guān)初始化,,包括ADV7183B采集數(shù)據(jù)后輸出的數(shù)據(jù)格式和相關(guān)制式的設(shè)置等,。初始化完成后,AD芯片采集到的數(shù)據(jù)會不斷地傳送到ITU656解碼模塊中,,解碼模塊判斷數(shù)據(jù)是否為有效數(shù)據(jù)的起始信號,,若為有效顯示數(shù)據(jù),則將該場的有效顯示數(shù)據(jù)進行顏色空間的轉(zhuǎn)換,,由YUV422格式轉(zhuǎn)換為能被顯示器識別的RGB格式,。然后由線緩存對每一行數(shù)據(jù)進行緩沖操作,若寫滿一行數(shù)據(jù)則切換另一個線緩存器,。利用乒乓操作對Block RAM組成的緩存進行讀寫操作,,不但很好地解決了異步時鐘下的數(shù)據(jù)存儲問題,而且避免了同時讀寫數(shù)據(jù)時造成的沖突,。從Block RAM中讀出的數(shù)據(jù)會被存儲到幀緩存中,,最后會將數(shù)據(jù)交由VGA控制模塊顯示到屏幕上[9]。視頻采集系統(tǒng)的流程圖如圖3所示,。
3 混沌貓映射的FPGA實現(xiàn)
完成視頻的采集和存儲之后,,需要對視頻數(shù)據(jù)進行加密。貓映射加密的實質(zhì)是對圖像的像素點進行置亂操作,,由于其易于實現(xiàn)的特點很好地滿足了視頻數(shù)據(jù)的實時性要求,,故貓映射加密是一種優(yōu)秀的視頻預(yù)加密方案。
在硬件的實現(xiàn)上,,需要對一幀完整的圖像數(shù)據(jù)的像素點進行置亂,,將原本順序存儲的像素點分別分配到貓映射后的地址。這個操作就需要一個模塊把原本遞增的地址變量轉(zhuǎn)化為貓映射后的地址變量,,再按照映射后的地址將像素值存入到幀緩存相應(yīng)的地址中。然而,,一維地址變量并不能直接進行貓映射的運算,,需要將其轉(zhuǎn)化為二維地址變量:
式中xaddr和yaddr為二維地址變量,saddr為一維地址變量,, cpixel為每行像素個數(shù),。
從第1節(jié)的結(jié)論可知,,選取的貓映射加密矩陣B為:
將矩陣B代入式(8)即可得到混沌貓映射后的二維地址。最后,,還需要將這個二維地址轉(zhuǎn)換為一維地址存入幀緩存中:
根據(jù)上述混沌貓映射的原理,,得視頻加密的實現(xiàn)框圖如圖4所示。
利用FPGA并行操作的優(yōu)點,,使地址的貓映射變換和視頻數(shù)據(jù)的解碼同時進行,,大大縮減了數(shù)據(jù)處理所消耗的時間。同時由解碼模塊向VGA控制器和貓映射地址變換器發(fā)出一個控制信號,,以確??刂菩盘柵c數(shù)據(jù)的同步性。
4 FPGA硬件實現(xiàn)結(jié)果
4.1 實驗結(jié)果波形分析
由于視頻的數(shù)據(jù)量較大,,因此,,本系統(tǒng)采用了采用240×240的分辨率和RGB656作為RGB數(shù)據(jù)的傳輸格式,采用RGB656降低了數(shù)據(jù)量的同時也保證了圖像的質(zhì)量,。實驗的最后,,采用了Xilinx公司的在線邏輯分析儀Chipscope進行了數(shù)據(jù)的仿真,視頻采集系統(tǒng)的數(shù)據(jù)仿真圖如圖5所示,。
4.2 硬件實驗結(jié)果
本實驗使用的采集系統(tǒng)由FPGA開發(fā)板,、視頻采集子板、CCD攝像頭三部分組成,。采集系統(tǒng)主要設(shè)置了兩個功能鍵,,由撥碼開關(guān)組成,開關(guān)一實現(xiàn)對視頻截取的功能,,開關(guān)二實現(xiàn)了視頻數(shù)據(jù)實時加密的功能,。攝像機獲取的原視頻圖像如圖6(a)所示,通過混沌貓映射后的視頻加密圖像如圖6(b)所示,。
5 結(jié)論
本文給出了基于FPGA和CCD攝像頭的視頻采集以及貓映射混沌加密系統(tǒng)的設(shè)計,,實驗結(jié)果表明,視頻數(shù)據(jù)通過混沌貓映射對像素的位置置亂,,隱藏了原視頻數(shù)據(jù)中的信息,,達到了較好的視頻加密效果。同時,,本實驗中采用了硬件描述語言,,可充分利用FPGA快速的并行處理特性,使得視頻數(shù)據(jù)的采集,、處理和加密能較好地滿足實時性的要求,。
參考文獻
[1] 左事君,劉新朝,何巧珍,,等.基于FPGA的高清視頻采集與顯示系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,,2011,37(6):56-58.
[2] 李昂,,宋海聲,,蘇小蕓.基于Android的視頻監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2012,,38(7):138-139,,143.
[3] 王亞民,鄧虎超.H.264標準中基于感知加密算法的視頻加密方案[J].電子技術(shù)應(yīng)用,,2012,,38(1):133-135,138.
[4] 丁瑋,,閆偉齊,,齊東旭.基于Arnold變換的數(shù)字圖像置亂技術(shù)[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2001,,13(4):338-341.
[5] 李廈.基于混沌映射的數(shù)字圖像置亂算法[D].哈爾濱:哈爾濱理工大學(xué),,2008.
[6] 禹思敏.混沌系統(tǒng)與混沌電路:原理、設(shè)計及其在通信中的應(yīng)用[M].西安:西安電子科技大學(xué)出版社,,2011.
[7] 李敬園.基于FPGA的視頻混沌加密技術(shù)研究[D].廣州:廣東工業(yè)大學(xué),,2013.
[8] Xilinx university program Virtex-II pro development system hardware reference manual[Z].2005.
[9] 向守坤,黃啟俊,,江冠群,,等.基于FPGA的ITU2R BT.656數(shù)字視頻轉(zhuǎn)換接口系統(tǒng)[J].電子測量技術(shù),2009,,32(4):113-117.