基于脆弱水印的錯誤檢測技術(shù)在H.264中的應(yīng)用
摘 要:針對H.264編碼比特流,本文提出了一種在壓縮比特流中使用脆弱水印技術(shù)來檢測傳輸中錯誤宏塊的檢測方案。在編碼端的DCT非零系數(shù)的最低有效位(LSB)以數(shù)字水印的形式嵌入特定的信息,然后在解碼端提取這些信息來判斷所接收的比特流是否出錯。
關(guān)鍵詞:錯誤檢測;脆弱水印;最低有效位;比特流
引言
在壓縮視頻流中,每個比特都是非常重要的,在傳輸過程中發(fā)生的錯誤會嚴重影響解碼后的視頻效果。所以,在所接收的視頻流中進行錯誤檢測在實際工作中是非常重要的。只有解碼器在所接收的比特流中檢測到誤碼,才能采用相應(yīng)的策略對它進行錯誤恢復和錯誤隱藏,因此,選擇一種行之有效的誤碼檢測方法是致關(guān)重要的。
數(shù)字水印技術(shù)在近年來發(fā)展很快,已發(fā)展出用于數(shù)據(jù)監(jiān)控的脆弱水印,以檢驗數(shù)據(jù)的完整性。本文提出了一種基于脆弱水印的錯誤檢測方法。
錯誤檢測方案
為了克服傳統(tǒng)檢測方法的不足,本文采用在編碼端嵌入水印信息的辦法,并使水印信息和視頻數(shù)據(jù)之間建立某些強制關(guān)系。如果在解碼時發(fā)現(xiàn)這些約定關(guān)系不被滿足,則可判斷接收到的數(shù)據(jù)遭到篡改,即發(fā)生傳輸錯誤。本文根據(jù)H.264的協(xié)議語句設(shè)計水印信息,并把水印信息嵌入到非零DCT系數(shù)中。
檢測原理
在H.264視頻壓縮標準中,一個宏塊的壓縮數(shù)據(jù)可以分為兩個部分。第一部分包括圖像頭、宏塊類型、幀內(nèi)預(yù)測模式以及運動矢量等;第二部分包括塊編碼模式(CBP,Coded Block Pattern)和該塊的所有DCT系數(shù)。如果第一部分數(shù)據(jù)發(fā)生錯誤,將對解碼端的圖像解碼過程造成非常嚴重的影響,甚至不能解碼。但值得慶幸的是,第一部分的數(shù)據(jù)與CBP數(shù)據(jù)在碼流中的比特數(shù)非常少,所以其發(fā)生錯誤的概率與DCT系數(shù)相比非常小。數(shù)字水印檢測技術(shù)正是針對每個DCT變換塊進行一些特殊處理,使編碼后的碼流數(shù)據(jù)攜帶一些特定的特征,即水印。而碼流中的這些特征對信道的干擾非常敏感,在信號傳輸過程中,即使遇到輕微的信道干擾,這些特征也會丟失。解碼端通過檢測解碼數(shù)據(jù)是否存在水印,就能達到錯誤檢測的目的。
圖1 嵌入水印流程圖
水印設(shè)計和嵌入位置
在編碼端,首先對每個DCT塊內(nèi)的非零系數(shù)的最低有效位進行判別,DCT塊經(jīng)過字變換(zia-zia)掃描之后,如果非零系數(shù)在偶數(shù)位置,則將最低有效位置0,即LSB=0;如果非零系數(shù)在奇數(shù)位置,則將最低有效位置1,即LSB=1。因為DCT系數(shù)中直流分量攜帶的信息量很大,如果對直流分量進行處理,將會導致圖像的PSNR值急劇下降,嚴重影響解碼后的圖像效果,所以,本文只對交流系數(shù)進行處理。在解碼端,對這些位置的交流系數(shù)進行檢查。在奇數(shù)位置,如果DCT系數(shù)為偶數(shù),則說明該編碼塊出錯;在偶數(shù)位置,如果DCT系數(shù)為奇數(shù),則說明該編碼塊出錯。其方法如下:
非零DCT交流系數(shù)在偶數(shù)位置時:
非零DCT交流系數(shù)在奇數(shù)位置時:
AC為DCT變換后的交流系數(shù),ACW為加載脆弱數(shù)字水印后的DCT交流系數(shù),為符號函數(shù)。本方案采用在最低有效位嵌入水印模式,因此不需要額外的比特進行編碼。圖1即為幀內(nèi)宏塊嵌入水印模式的流程圖。
由于H.264標準采用了幀內(nèi)和幀間預(yù)測來參與對某一宏塊的編解碼。為了保證編解碼端參與預(yù)測的數(shù)據(jù)一致性(因為解碼端不可能使用未嵌入水印的原始數(shù)據(jù)參與預(yù)測),避免數(shù)據(jù)失配造成圖像質(zhì)量惡化,水印嵌入操作必須放到運動補償循環(huán)內(nèi),即量化之后、熵編碼之前進行,如圖2所示。
圖2 數(shù)字水印檢測編碼器的實現(xiàn)流程圖
實驗結(jié)果
本文的編解碼系統(tǒng)以H.264的標準測試模型JM86為測試平臺,在編碼端加入了數(shù)字水印,加入起始點為DCT系數(shù)的第6個數(shù)。本文采用VCEG模擬信道傳輸模型來模擬碼流錯誤。
圖3為取標準測試集foreman.yuv的前30幀,在碼率為128Kbps、逐幀編碼條件下,對嵌入數(shù)字水印和未嵌入數(shù)字水印這兩種情況下在沒有傳輸錯誤時重建圖像PSNR值的對比圖。由圖可見,水印對圖像質(zhì)量的影響很小。
表1和表2為標準測試序列在不同編碼比特率下對兩種錯誤檢測方案的對比。每個序列選取30幀,圖像格式為QCIF(采樣比率為4:2:0)。首先用嵌入水印后的編碼器得到一個基準碼流,然后用VCEG模擬信道引入錯誤,最后在解碼端提取這些信息來判斷相應(yīng)的語法元素是否滿足語法結(jié)構(gòu)或約定關(guān)系。
由表1和表2可以看出,基于脆弱水印方法和基于語法的錯誤檢測相比,前者在付出較小的PSNR值代價的情況下,其錯誤檢測率提高了近一倍。但隨著編碼序列運動復雜度的增加,細節(jié)更多的情況下,數(shù)字水印的PSNR值會下降。
圖3 無錯情形下PSNR值對比
結(jié)語
通過對編碼端的非零DCT系數(shù)加入脆弱水印信息,形成傳輸數(shù)據(jù)與加入信息的特定強制關(guān)系,在解碼端校驗約定的強制關(guān)系來判斷數(shù)據(jù)的完整性這種錯誤檢測方法,相對基于語法的傳統(tǒng)錯誤檢測方法有更高的錯誤檢測率,而且這種檢測方法在傳輸比特流中不會增加額外的開銷而影響傳輸效率,但該方法的PSNR值會有少量降低,若從人眼視覺分辨能力考慮,少量的PSNR值降低不會影響視頻效果?!?/P>
參考文獻:
1畢厚杰,新一代視頻壓縮編碼標準-H264/AVC[M].人民郵電出版社,2005.
2 余兆明,查日勇等,圖像編碼標準袶.264技術(shù)[M].人民郵電出版社,2006.
3 范文杰,H.264數(shù)字視頻差錯控制技術(shù)的研究[D].成都,成都理工大學檔案館,2006.
評論