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