• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于CABAC的HEVC信息隱藏算法

      2021-02-25 08:51:48王子曄封化民黃嘯晨魚海洋
      計算機(jī)應(yīng)用與軟件 2021年2期
      關(guān)鍵詞:后綴二進(jìn)制比特

      王子曄 封化民 劉 飚 黃嘯晨 魚海洋 葛 鴿

      1(西安電子科技大學(xué)通信工程學(xué)院 陜西 西安 710071)2(北京電子科技學(xué)院 北京 100070)

      0 引 言

      信息隱藏技術(shù)是指利用人類感知及數(shù)字媒體的冗余,將特定的秘密信息嵌入到指定的文本、圖像、音頻或視頻等數(shù)字化載體中。視頻資源是現(xiàn)今網(wǎng)絡(luò)上較為常見的一種多媒體資源,相比于圖像音頻等信息載體不但自身數(shù)據(jù)量大,而且具有更多的信息冗余。利用視頻作為信息隱藏載體數(shù)據(jù)可以實現(xiàn)較大的信息隱藏容量。隨著當(dāng)下視頻編碼技術(shù)日益革新,處理高清乃至超清分辨率視頻的需求日益增加,適用于處理高清視頻的高效率視頻編碼(H.265/HEVC)成為了當(dāng)下研究熱點。與此同時,基于H.265/HEVC視頻信息隱藏技術(shù)具有極大的開發(fā)價值,國內(nèi)外研究學(xué)者也相繼提出基于H.265/HEVC的視頻信息隱藏算法。

      根據(jù)視頻編碼的階段,現(xiàn)有基于H.265/HEVC視頻信息隱藏算法主要分為三類:(1) 基于預(yù)測階段的信息隱藏,其中包括幀內(nèi)預(yù)測和幀間預(yù)測,通過調(diào)整在預(yù)測過程中的相關(guān)參數(shù)可以完成秘密信息的嵌入;(2) 為基于變換與量化過程的信息隱藏,通過改變量化系數(shù)或整數(shù)變換后的DCT系數(shù)進(jìn)行信息隱藏;(3) 基于熵編碼的信息隱藏,利用熵編碼的性質(zhì)進(jìn)行信息隱藏。

      在基于幀內(nèi)預(yù)測的信息隱藏算法中,王家驥等[1]在總結(jié)H.264/AVC中基于幀內(nèi)預(yù)測的信息隱藏算法的基礎(chǔ)上,選取紋理復(fù)雜度較高的4×4亮度塊作為嵌入?yún)^(qū)域,建立拉格朗日率失真模型,選取對應(yīng)的幀內(nèi)編碼模式進(jìn)行嵌入,算法對視頻質(zhì)量影響較小。陳甬娜等[2]將相鄰的一對4×4編碼單元的預(yù)測模式編成一組,并改進(jìn)菱形編碼算法,將其應(yīng)用于模式調(diào)制和信息嵌入,算法在視頻碼率上升不明顯的情況下,較大地提升了嵌入容量。在基于幀間預(yù)測的信息隱藏算法中,李松斌等[3]結(jié)合HEVC編碼標(biāo)準(zhǔn)的特點,針對運動向量集合與對應(yīng)空間中點的性質(zhì)關(guān)系,建立映射,在此基礎(chǔ)上通過修改映射值完成信息隱藏,算法具有較高的嵌入率。Van等[4]通過修改運動向量差(MVD)和變換系數(shù)的語法元素進(jìn)行秘密信息的嵌入,算法具有低復(fù)雜度的優(yōu)點。

      在基于變換量化的信息隱藏算法中,Swati等[5]通過修改量化變換系數(shù)(QTC)進(jìn)行隱秘信息的嵌入,算法對視頻質(zhì)量影響較小但未考慮魯棒性問題。Elrowayati等[6]提出了一種基于BCH校正碼技術(shù)的信息隱藏技術(shù),并選擇量化DCT/DST系數(shù)作為嵌入目標(biāo),算法具有較高的魯棒性。

      在基于熵編碼的信息隱藏算法中,Jiang等[7]選擇基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)中二進(jìn)制化后的運動向量差語法元素作為嵌入目標(biāo),將信息嵌入到編碼末位中,信息嵌入沒有使編碼視頻產(chǎn)生比特率變化,但算法嵌入效率較低。此外,還有一些基于H.264/AVC編碼標(biāo)準(zhǔn)的熵編碼信息隱藏算法。Zou等[8]同樣選擇CABAC中二進(jìn)制化后的MVD語法元素作為嵌入載體。Xu等[9]選擇基于上下文的可變長度編碼(CAVLC)作為嵌入目標(biāo),通過調(diào)制拖尾系數(shù)完成信息嵌入,但算法對視頻質(zhì)量影響較大。

      在上述算法的基礎(chǔ)上,本文提出一種基于CABAC的HEVC信息隱藏算法,通過分析熵編碼過程中指數(shù)哥倫布編碼后綴與語法元素值的相關(guān)性,闡述使用指數(shù)哥倫布編碼后綴作為信息嵌入載體的可行性,并選擇語法元素abs_mvd_minus2經(jīng)過一階指數(shù)哥倫布編碼產(chǎn)生的后綴作為嵌入載體,結(jié)合矩陣編碼修改后綴值完成秘密信息的嵌入。實驗結(jié)果表明,算法對信息嵌入后視頻編碼重建圖像的主客觀質(zhì)量基本沒有影響,在減少了載體修改量的同時,得到了較大的嵌入容量和較高的嵌入效率。

      1 CABAC

      熵編碼是一種利用信源隨機(jī)過程統(tǒng)計特性的無損壓縮編碼方式,其位于編碼過程的最后一步,將視頻編碼過程中的語法元素映射成二進(jìn)制形式寫入比特流中。H.264/AVC采用基于上下文的可變長度編碼和CABAC兩種熵編碼方法,而H.265/HEVC采用唯一熵編碼方法CABAC[10]。相較于H.264編碼標(biāo)準(zhǔn),H.265中的CABAC在部分技術(shù)上進(jìn)行了改進(jìn),總體架構(gòu)并沒有變化。CABAC編碼流程主要分為三步:語法元素二進(jìn)制化、上下文建模與概率的自適應(yīng)更新和二進(jìn)制算術(shù)編碼。

      1.1 語法元素二進(jìn)制化

      二進(jìn)制化是指將預(yù)測、變換、量化階段產(chǎn)生的一系列語法元素映射為二進(jìn)制符號(bin)。與H.264相似,H.265中采用一元碼(U)、截斷一元碼(TR)、K階指數(shù)哥倫布編碼(EGK)和定長碼(FL)這幾種編碼方式完成語法元素的二進(jìn)制過程,具體取決于語法元素的類型和概率分布的特征[11]。實際編碼過程中,大部分語法元素的值為二進(jìn)制,不需要經(jīng)過二進(jìn)制化的步驟便可直接進(jìn)行算術(shù)編碼。

      1.2 上下文建模與概率的自適應(yīng)更新

      上下文建模為二進(jìn)制化后的語法元素值的每一個bin提供條件概率分布的估計[12],并通過之前處理的二進(jìn)制符號集合進(jìn)行概率模型的自適應(yīng)更新。上下文建模涉及到兩個主要參數(shù):MPS(最大概率符號)和δ(概率的狀態(tài)索引)。通過變量MPS和δ的值可以確定上下文模型的狀態(tài)以及更新方式。

      1.3 二進(jìn)制算術(shù)編碼

      算數(shù)編碼是一種基于區(qū)間的遞歸劃分的熵編碼方法[13]。首先將輸入符號映射到[0,1)區(qū)間,再根據(jù)符號概率劃分兩個子區(qū)間并根據(jù)輸入符號選取其中一個,不斷遞歸得到小區(qū)間,最后選取區(qū)間內(nèi)任意小數(shù)作為最終的編碼輸出。在二進(jìn)制算術(shù)編碼中,輸入符號僅有0和1兩種。在CABAC編碼過程中,根據(jù)編碼概率可將編碼分為兩類:常規(guī)編碼(概率由上下文模型得到),旁路編碼(等概率二進(jìn)制算術(shù)編碼)。

      2 基于CABAC的信息隱藏算法

      2.1 嵌入?yún)^(qū)域和載體的選擇

      在常規(guī)編碼中,算術(shù)編碼的編碼概率通過語法元素的上下文建模得到,并根據(jù)實際編碼值進(jìn)行更新。上下文概率模型在影響二進(jìn)制化后的語法元素的每個bin的同時,也會由于bin的改變而進(jìn)行自適應(yīng)更新。通過修改或插入bin值進(jìn)行信息隱藏會對同種語法元素編碼過程產(chǎn)生較大的影響[14]。因此難以通過修改常規(guī)編碼中的二進(jìn)制化后的語法元素值完成信息隱藏。而在旁路編碼中,算術(shù)編碼并未使用上下文模型與概率的自適應(yīng)更新,所有bin均以0.5的概率進(jìn)行編碼,二進(jìn)制化后的語法元素相互之間不會產(chǎn)生影響,因此可以選擇使用旁路編碼的語法元素完成信息嵌入。根據(jù)H.265標(biāo)準(zhǔn)[15],MVD的語法元素由前綴和后綴級聯(lián)而成,其后綴即MVD值大于等于2的部分用語法元素abs_mvd_minus2表示,采用旁路編碼模式完成熵編碼。文獻(xiàn)[7]指出,除了運動向量殘差的后綴值以外,大部分可修改的語法元素為flag類,用于表示編碼過程中的各類編碼標(biāo)志,強(qiáng)行修改會導(dǎo)致解碼器無法正常解碼。因此本文參照文獻(xiàn)[7],選擇二進(jìn)制化的MVD后綴(abs_mvd_minus2)作為嵌入?yún)^(qū)域。

      語法元素abs_mvd_minus2采用1階指數(shù)哥倫布編碼(EG1)完成二進(jìn)制化。指數(shù)哥倫布編碼分為前綴和后綴,在H.265中,階數(shù)大于0的指數(shù)哥倫布編碼結(jié)構(gòu)為[M個1][0][INFO],其中:

      (1)

      INFO=X+2K(1-2M)

      (2)

      編碼長度:

      CODELEN=2M+K+1

      (3)

      后綴長度:

      INFOLEN=M+K

      (4)

      式中:X表示非二進(jìn)制無符號整數(shù)值;K表示哥倫布編碼的階數(shù)。

      abs_mvd_minus2二進(jìn)制化后的編碼值如表1所示,括號內(nèi)為EG1編碼的后綴INFO。由式(1)、式(2)、式(4)可知,在編碼階數(shù)K固定的情況下,INFO值僅與語法元素數(shù)值X的大小有關(guān),但前綴M的編碼長度會影響后綴INFO的長度。因此,在保持INFO比特位數(shù)不變的情況下,通過修改INFO值進(jìn)行秘密信息的嵌入,在解碼時只會使解析出的語法元素的數(shù)值大小產(chǎn)生變化,不會產(chǎn)生EG1編碼前綴M與后綴INFO長度不對應(yīng)的情況,語法元素依舊可以被成功解析。與此同時,由于語法元素abs_mvd_minus2后續(xù)采用旁路編碼,每個二進(jìn)制符號以0.5的概率進(jìn)行獨立編碼,不采用上下文模型進(jìn)行概率更新,對其中單個EG1編碼進(jìn)行修改不會影響其他語法元素的編解碼過程。相對于傳統(tǒng)算法選擇的編碼末位[7],EG1編碼的后綴位具有更大的嵌入容量。因此本文算法選擇語法元素abs_mvd_minus2經(jīng)過EG1編碼后的后綴INFO作為嵌入載體,通過對INFO進(jìn)行比特位替換修改嵌入完成信息隱藏。

      表1 語法元素值及其EGK編碼值

      2.2 矩陣編碼

      矩陣編碼因為其較高的嵌入效率和較大的嵌入容量,在信息隱藏領(lǐng)域得到廣泛應(yīng)用。文獻(xiàn)[16]首先提出矩陣編碼的概念,文獻(xiàn)[17]改進(jìn)了矩陣編碼并應(yīng)用于離散余弦變換(DCT)后的交流系數(shù)中,通過修改編碼末位完成多位比特的信息嵌入,相較于同類實驗顯著提升了秘密信息的嵌入數(shù)量,并減少了載體修改量。矩陣編碼表現(xiàn)為元組(dmax,n,k),n=2k-1,意義為通過修改n比特載體信息中的dmax比特,完成最多k比特信息的嵌入。α=a1a2…an和β=b1b2…bk分別表示嵌入載體與待嵌入的秘密信息,具體嵌入步驟如下:

      (1) 計算散列值:

      (5)

      (2) 計算嵌入位置:

      s=f(α)⊕β

      (6)

      (3) 修改嵌入載體:

      (7)

      本文算法選擇語法元素abs_mvd_minus2經(jīng)過EG1編碼產(chǎn)生的后綴INFO作為嵌入載體,結(jié)合F5矩陣編碼方法,使用元組(dmax,n,k)=(1,3,2),通過修改載體信息中3比特位中的1位,完成2個比特的信息嵌入,在保證了嵌入容量的同時,減少了對載體的修改量,使算法具有較高的嵌入效率。

      3 算法實現(xiàn)

      3.1 信息嵌入算法

      算法采取二次編碼的方式,信息嵌入在CABAC熵編碼部分完成,具體步驟如下:

      (1) 為提高算法安全性,本文使用Logistic混沌序列對秘密信息進(jìn)行加密預(yù)處理,生成2n比特待嵌入二進(jìn)制序列M=(m1,m2,…,m2n),并將每兩個二進(jìn)制字符組成二進(jìn)制字符串Mi=m1im2i。

      (2) 進(jìn)行第一次編碼,提取所有語法元素abs_mvd_minus2經(jīng)過EG1編碼產(chǎn)生的后綴INFO的全部比特位,并保存為二進(jìn)制字符串α=a1a2…al。

      (4) 重復(fù)第3步,直至所有待嵌入信息嵌入完畢,得到修改后的二進(jìn)制字符串α′。

      (5) 進(jìn)行第二次編碼,將當(dāng)前進(jìn)行熵編碼的語法元素abs_mvd_minus2經(jīng)過EG1編碼得到的后綴INFO的比特位數(shù)記為n,按順序讀取α′中n比特二進(jìn)制字符并替換該INFO,將修改過的編碼重新寫入碼流進(jìn)行旁路編碼。重復(fù)該步驟,直至字符串α′替換完畢。

      3.2 信息提取算法

      算法信息提取過程在熵解碼部分完成,具體步驟如下:

      (1) 提取所有語法元素abs_mvd_minus2經(jīng)過EG1編碼產(chǎn)生的后綴INFO部分,并保存為二進(jìn)制字符串β=b1b2…bm。

      (3) 重復(fù)步驟(2),直至所有信息轉(zhuǎn)換完畢,最后對使用Logistic混沌序列加密過的信息進(jìn)行解密得到嵌入的秘密信息。

      4 實驗與分析

      實驗在VS2015上使用HEVC參考軟件HM16.9對本文算法進(jìn)行仿真分析,選取不同分辨率的官方測試序列(BasketballDrive,BQMall,Kimono,PeopleOnStreet,RaceHorses)進(jìn)行對比分析。編碼視頻幀序列結(jié)構(gòu)為IPPP…,量化參數(shù)為27,其余參數(shù)均使用默認(rèn)設(shè)置。編碼端輸入內(nèi)容為YUV測試序列和秘密信息,輸出內(nèi)容為編碼重建后的HEVC視頻序列和載密二進(jìn)制流,解碼端輸入內(nèi)容為二進(jìn)制流,輸出內(nèi)容為秘密信息及解碼視頻。

      4.1 主觀性分析

      為了主觀分析秘密信息對編碼重建視頻質(zhì)量的影響,圖1給出了秘密信息嵌入前后的第30幀的視頻編碼重建圖像。從主觀性角度分析,信息隱藏前后圖像差別很小,信息隱藏后并未對編碼重建后的HEVC視頻圖像造成明顯影響。

      圖1 嵌入前和嵌入后重建圖像對比

      4.2 客觀性分析

      為了客觀分析秘密信息嵌入前后對編碼重建后的HEVC視頻質(zhì)量的影響,本文選擇峰值信噪比(PSNR)、比特率(BR)、比特率變化率(BRI)對嵌入前后的視頻質(zhì)量進(jìn)行客觀評價。

      (8)

      式中:MSE表示原視頻圖像與編碼后視頻圖像之間的均方誤差。

      (9)

      式中:BR′和BR分別為信息隱藏前后的編碼比特率。

      圖2、圖3給出了在QP=22,27,32下,秘密信息嵌入前后,部分測試序列編碼后視頻的PSNR值隨比特率的變化折線圖??梢钥闯觯度肭昂蟮恼劬€圖基本重合,PSNR值隨比特率變化情況基本一致,視頻質(zhì)量未產(chǎn)生明顯變化。

      圖2 PSNR值隨比特率變化圖(RaceHorses)

      圖3 PSNR值隨比特率變化圖(BQMall)

      表2、表3給出量化參數(shù)QP=27時,在不同分辨率的測試序列下,本文算法在信息嵌入前后編碼重建視頻的PSNR、BR、BRI的數(shù)值對比??梢钥闯觯孛苄畔⒌那度氩]有使PSNR值產(chǎn)生明顯變化。與文獻(xiàn)[7]算法類似,本文算法并沒有引起信息嵌入前后的比特率變化。這是因為兩種算法均選擇在指數(shù)哥倫布編碼過程中進(jìn)行信息嵌入,僅對載體數(shù)據(jù)的部分比特位進(jìn)行修改,并沒有對編碼長度產(chǎn)生影響,不會產(chǎn)生額外的比特位。由于熵編碼是編碼過程的最后一步,語法元素abs_mvd_minus2經(jīng)過指數(shù)哥倫布編碼后通過旁路編碼寫入比特流中完成編碼,所有二進(jìn)制符號均以0.5的概率進(jìn)行編碼,信息熵公式如下:

      表2 PSNR測試結(jié)果對比

      表3 比特率及其變化率測試結(jié)果

      (10)

      式中:H表示信息熵值;Xi表示隨機(jī)變量,在本實驗中表示單個二進(jìn)制符號;P(Xi)表示每個二進(jìn)制字符的出現(xiàn)概率。信息嵌入后不會改變進(jìn)入比特流中的信息熵即平均信息量的大小。因此,使用本文算法進(jìn)行信息嵌入后不會改變編碼比特率,具有較好的客觀不可感知性。

      4.3 嵌入容量和嵌入效率分析

      本文采用嵌入容量和嵌入效率測試分析算法信息隱藏效果。嵌入效率表示修改單位載體后嵌入的信息量[18]:

      E=m/n

      (11)

      式中:m表示平均每個p幀嵌入的比特總數(shù);n表示平均每個p幀修改的比特總數(shù)。

      表4列出了當(dāng)量化參數(shù)QP=27時,部分序列使用本文算法進(jìn)行信息嵌入后平均每個p幀的秘密信息嵌入位數(shù),最大載體修改位數(shù)和嵌入效率。為方便進(jìn)行實驗對比,在統(tǒng)計嵌入容量時,本文算法設(shè)置與文獻(xiàn)[7]相同的閾值T,即選擇數(shù)值大于等于T的語法元素abs_mvd_minus2進(jìn)行信息嵌入。隨著閾值T的提升,本文算法相較于文獻(xiàn)[7]的嵌入容量提升比率也隨之提高。并且本文算法對載體修改量較少,具有較高的嵌入效率。這是由于本文算法選擇語法元素abs_mvd_minus2經(jīng)過EG1編碼產(chǎn)生的后綴INFO作為嵌入載體,相較于文獻(xiàn)[7]選擇的編碼末位具有更多的載體比特位。又因為矩陣編碼的引入,理論上,本文算法最多修改1個載體比特便可完成2比特信息嵌入,嵌入效率為2。在實際嵌入中,若嵌入信息與載體信息有較高的重合度,可以修改更少的載體比特,從而得到更高的嵌入效率。

      表4 本文與文獻(xiàn)[7]方法嵌入容量和嵌入效率測試結(jié)果對比

      為了進(jìn)一步評價本文算法的嵌入容量與嵌入效率,本文選擇最新的HEVC信息隱藏算法[19-20]與本文算法進(jìn)行對比。文獻(xiàn)[19]選擇修改PU分區(qū)模式進(jìn)行信息嵌入,并采用不同嵌入級別完成對不同分辨率視頻的信息隱藏,本文選擇其測試視頻分辨率范圍最廣且嵌入強(qiáng)度較高的算法的實驗結(jié)果進(jìn)行對比。文獻(xiàn)[20]選擇運動向量分量作為嵌入載體,同樣采用不同的嵌入強(qiáng)度進(jìn)行嵌入,本文選擇其中嵌入強(qiáng)度較高的結(jié)果進(jìn)行對比。如表5所示,在量化參數(shù)QP=32下,雖然本文算法在嵌入效率上略低于文獻(xiàn)[20]的算法,但在信息嵌入量上明顯優(yōu)于文獻(xiàn)[19]與文獻(xiàn)[20]的算法,這進(jìn)一步說明了本文算法較好地兼顧了嵌入容量和嵌入效率。

      表5 本文與文獻(xiàn)[19]、文獻(xiàn)[20]的算法測試結(jié)果對比

      5 結(jié) 語

      本文提出一種基于CABAC的HEVC信息隱藏算法。通過闡述兩種算術(shù)編碼的性質(zhì)以及指數(shù)哥倫布編碼的特點,分析了將語法元素abs_mvd_minus2經(jīng)過指數(shù)哥倫布編碼產(chǎn)生的后綴作為嵌入載體的可行性,并采用矩陣編碼的方法實現(xiàn)秘密信息的嵌入。為了保證算法的安全性,本文采用Logistic混沌加密完成對秘密信息的預(yù)處理。實驗結(jié)果表明,本文算法在主客觀上均有良好的不可感知性。與同類基于CABAC熵編碼的信息隱藏算法相比,本文算法在嵌入效率上較文獻(xiàn)[7]增加了1倍,在相同嵌入閾值下,嵌入容量也得到了大幅度提高。與其他類型的最新HEVC信息隱藏算法[19-20]相比,本文算法同樣在嵌入容量上得到了較大的提高,并較好地兼顧了嵌入效率。

      猜你喜歡
      后綴二進(jìn)制比特
      用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
      有趣的進(jìn)度
      二進(jìn)制在競賽題中的應(yīng)用
      比特幣還能投資嗎
      海峽姐妹(2017年10期)2017-12-19 12:26:20
      比特幣分裂
      比特幣一年漲135%重回5530元
      銀行家(2017年1期)2017-02-15 20:27:20
      河北霸州方言后綴“乎”的研究
      TalKaholic話癆
      說“迪烈子”——關(guān)于遼金元時期族名后綴問題
      一種基于后綴排序快速實現(xiàn)Burrows-Wheeler變換的方法
      长寿区| 蓬莱市| 准格尔旗| 屏东市| 长岛县| 南和县| 绥化市| 望都县| 青阳县| 德格县| 涟源市| 林芝县| 怀仁县| 刚察县| 和田县| 怀仁县| 涞水县| 和田县| 潢川县| 大化| 临夏市| 昌邑市| 英超| 工布江达县| 托克托县| 甘谷县| 杨浦区| 会东县| 汶上县| 天柱县| 锡林郭勒盟| 西充县| 同心县| 舒兰市| 凭祥市| 文登市| 安西县| 林甸县| 闽侯县| 阜新| 三河市|