蘇鵬濤,田 澤,劉逸涵
(1. 中國航空工業西安航空計算技術研究所, 陜西 西安, 710068;2.集成電路與微系統設計航空科技重點實驗室, 陜西 西安, 710068)
自人類誕生起,如何保護、傳遞和使用重要信息就始終被關注。最早被提出的解決方案是加密處理[1],但由于加密后的信息與普通信息有較大差別,造成秘密信息容易暴漏,提高被破解的概率[2]。信息隱藏技術則是將秘密信息內嵌在非密信息中,使不知情者無法察覺秘密信息的存在[3]。1996年劍橋大學召開的第一屆國際信息隱藏學術研討會(First International Workshop on Information Hiding)標志著信息隱藏學的誕生。
隨著互聯網的普及,越來越多的信息通過圖片和視頻的方式傳遞,如何將重要信息嵌入視頻并借助互聯網進行傳輸,不僅能提高秘密信息的傳播范圍,同時也能借助互聯網內龐大的非密數據有效隱藏秘密信息。
大多數視頻在編碼為標準NTSC/PAL格式時,由于顯示屏幕在切換數據時,色度數據在經過視頻格式編碼器的低通濾波器時會產生模糊(blurring)和振鈴(ringing)現象,通過使用alpha混合,控制該濾波器的開關沿的陡峭程度,就能有效改善模糊和振鈴現象[4]。因此,本文提出了一種基于alpha疊加的視頻信息隱藏算法,能夠對內嵌在像素RGB值的隱藏信息進行操作以實現秘密信息的編解碼,該算法實現原理簡單,可隱藏的數據量大,密文和密鑰可分開存儲,有較好的應用前景。
Alpha疊加也稱為alpha混合,用來將顯示屏中的某些色度屬性漸變成其他色度屬性,常用于同一屏幕內視頻信號的疊加。Alpha的取值范圍是(0,1),顯示控制邏輯通過公式(1.1)的轉換公式來實現alpha混合,其中data_out表示疊加后的色度值,gra表示背景色度值,win表示疊加色度值。
dataout=alpha0×gra+alpha1×win1+…+alphan×winn
(1)
需要注意,背景和疊加窗口的alpha值之和不要求為1,以只疊加一個窗口為例,當alpha0=0且alpha1=1時,輸出色度為win,當alpha0=1且alpha1=0時,輸出色度為gra,其他情況下背景和窗口將按照比例進行疊加。
根據alpha疊加的原理,可以將秘密信息隱藏在gra和win的像素信息中,通過alpha控制實現信息的隱藏和恢復。該信息隱藏算法能夠兼容灰度視頻和彩色視頻,對視頻的色度位寬也無要求,其實現原理如圖1所示。

圖1 信息隱藏原理
以常見的24位色(R8G8B8)視頻為例,信息加密的步驟如下:①在正常視頻中我們選取人眼容易忽略的區域作為隱藏信息的窗口區域;②將部分隱藏信息寫入窗口視頻像素點的RGB像素值最低兩位;③將該區域內源視頻像素點的RGB像素值的最低兩位也進行修改,嵌入剩余的隱藏信息,④記錄該窗口的位置信息和開窗時間。
秘密信息的解碼過程,步驟為:①根據窗口位置和開窗時間將窗口視頻與正常視頻進行疊加;②通過alpha 屬性序列恢復秘密信息視頻片段;③通過掩碼方式丟棄非密信息位,恢復秘密信息。
該信息隱藏算法將秘密信息植入非密視頻的靜態背景中,可根據視屏中人物和場景的變化而動態調整加密窗口的位置和加密時間,將視頻疊加需要配置的alpha屬性值、疊加窗口位置和疊加時間作為密鑰,具有很高的保密性。
同時,該算法可以根據視頻色度的位寬來調整加密信息的位寬,當視頻色度的位寬較小(如16位色R5G6B5)時加密位只取3位(R1G1B1),當視頻色度的位寬較大(如30位色R10G10B10)時加密位可以增加為8位(R3G2B3),選取兩位G分量主要是由于人眼對綠色分量的敏感度高。
此外,該算法為了避免潛在信息竊取者發現秘密信息所處的視頻區域,采用了視頻復制的方式將源視頻進行拷貝,假設兩份視頻分別為Video1和Video2,將兩部分秘密信息分別隱藏在Video1和Video2的疊加窗口數據中,傳輸秘密信息時只需將Video1和Video2分別傳輸給信息使用者,并將密鑰(alpha屬性值、疊加窗口位置和疊加時間)以配置程序的方式對視頻進行加載,再以掩碼形式丟棄非密視頻數據,就能完成隱藏數據的恢復。
正常視頻的幀速率一般在30Hz以上,假設疊加窗口的規模為64x64像素點,則在幀速率為30Hz情況下每秒24位色視頻可傳輸的隱藏數據量Q為:
Q=30×64×64=120 KB
假設一部視頻時長30min,則能夠傳輸秘密信息超過210MB,目前主流VESA視頻的幀速率基本都在60Hz以上,因此該隱藏算法具有很高的數據傳輸率。
本算法可以采用ECC校驗實現隱藏數據的檢錯和糾錯,假設按照每64bit隱藏數據生成一個8bit校驗數據的規則,其中bit0、bit1、bit2、bit4、bit8、bit16、bit32、bit64均為校驗位,將生成的校驗數據拼接在隱藏數據尾部內部,校驗位生成規則如圖2所示:

圖2 隱藏信息的校驗位計算
恢復隱藏信息時,首先從每72位隱藏數據中提取bit0、bit1、bit2、bit4、bit8、bit16、bit32、bit64校驗位數據,然后根據余下的64位數據計算新的ECC校驗數據,并與原生成的ECC校驗數據進行異或,倘若兩個8bit校驗數據完全相同,則表示該隱藏數據無錯誤或存在無法判斷的錯誤;倘若異或結果有三位為1,則表示數據有一位錯誤并且該錯誤可糾正;倘若異或結果有一位為1,則表示原校驗數據出錯;其他情況表示出現了ECC校驗功能無法糾正的錯誤。
通過增加校驗功能,有效提高了算法的魯棒性,除了ECC校驗外,也可以采用奇偶校驗、CRC校驗等方式提高隱藏信息的可靠性。假設竊密者試圖篡改加密信息,則秘密信息將無法恢復出正確的校驗碼,也就失去了篡改的價值。
評價一種信息隱藏算法可以根據該算法對信息的隱藏程度來評判其隱藏性能,因此本文通過對隱藏數據前后同一幀圖像的人眼分析,和圖像均方根誤差和峰值信噪比分析[5],以及馬氏距離分析[6]這三種方式對該算法進行客觀的評價。
圖3為野生動物視頻的某幀圖像,圖4中在沙灘進行了視窗疊加,疊加窗口內畫面包含隱藏信息,疊加窗口用白色虛線包圍,兩幅圖像的區別人眼難以分辨。

圖3 原始奔馬圖像

圖4 隱藏信息的奔馬圖像
圖像均方根誤差(RMSE)和峰值信噪比(PSNR)是評價圖像失真程度的常用度量指標,設F(x,y)為原始圖像像素信息,F‘(x,y)為隱藏秘密信息后的圖像像素信息,奔馬圖像為24位色標準VESA格式800×600@60 Hz視頻,隱藏圖像和原始圖像的像素值誤差總和Err為:

則均方根誤差RMSE為:
設疊加窗口的大小為MxN,隱藏信息信息后圖像均方根信噪比SNR為:
由計算公式可知,圖像的均方根誤差越小和峰值信噪比越高,圖像失真越小,即秘密信息的隱藏效果越好。
奔馬視頻每幀均為標準VESA格式24位色圖像,選取大小分別為32×32、64×32、64×64和128×64的疊加窗口,計算隱藏信息后的奔馬視頻一幀圖像的均方根誤差和峰值信噪比。如表1所示,疊加窗口規模由32×32增加為128×64,圖像的RMSE和PSNR數值收斂。

(2)
分析連續四幀插入隱藏信息的圖像數據,疊加窗口大小均為64×64,計算四幅圖像與原始圖像的馬氏距離分別為0.96、0.88、1.02和0.93,均在圖像白噪聲的影響范圍之內,因此采用馬氏距離檢測的方式無法檢測出圖像是否隱藏秘密信息。

表1 隱藏信息后圖像的均方根誤差和峰值信噪比
信息隱藏作為一個開放的研究領域,隨著各學科研究人員的加入,關鍵問題逐一被解決,本文提出的基于alpha疊加的信息隱藏算法側重于算法隱蔽性、隱藏信息容量和算法魯棒性等指標,并采用人眼分析、圖像均方根誤差和峰值信噪比分析、以及馬氏距離分析三種方式對算法隱蔽性進行了評價,下一步的工作重點是在保證算法隱蔽性的前提下進一步
提高隱藏信息容量,提高算法性能。
[1] Kahn D. The History of Steganography. Lecture Notes in Computer Science 1174, Proceedings of Information Hiding: first intemational workshop, Cambridge, UK, May 30-Junel, 1996, Berlin: Springer -Veriag, 1996, pp: 1-5.
[2] J. Davis, J. MacLean; D, Dampier. Methods of information hiding and detection in file systems. 5th International Workshop on Systematic Approaches to Digital Forensic Engineering, Oakland, CA, United states, SADFE, 2010: 66-69.
[3] Petiteolas F, Anderson R, Kuhn M. Information hiding- a survey. Proc. IEEE, 1999, 87(8):1062-1078.
[4] Keith Jack. Video Demystified[M]. Fifth Edition. New York: Newnes, 2007.
[5] 章毓晉. 圖像處理和分析教程[M]. 北京:人民郵電出版社. 2009.
[6] Taguchi G. Jugulum R. The Mahalanobis-Taguchi Strategy: A Pattern Technology System[M]. New York: Wiley, 2002.