孟雷
摘 要:在H.264視頻編碼器幀內(nèi)預(yù)測(cè)模式下,為確定一個(gè)宏塊的幀內(nèi)預(yù)測(cè)模式,會(huì)帶來很大的運(yùn)算復(fù)雜度,基于圖像差分的幀間預(yù)測(cè)模式快速選擇算法,采用測(cè)定圖像序列平坦度的思想,能夠?qū)崿F(xiàn)快速幀間模式選擇??梢杂行p少模式搜索次數(shù)并能保證視頻編碼的質(zhì)量,從而可大幅度降低編碼時(shí)間和視頻壓縮的計(jì)算量,有效地減少了幀間模式選擇算法運(yùn)算復(fù)雜度,有利于實(shí)際應(yīng)用。
關(guān)鍵詞:H.264;圖像差分;模式選擇;邊緣信息;幀間預(yù)測(cè)
中圖分類號(hào):TP391.41 文獻(xiàn)標(biāo)識(shí)碼:A
Abstract:With the intra-frame prediction mode of H.264 video encoder,determining an intra-prediction mode of a macro block will bring great computational complexity.The paper proposes an efficient fast intra-prediction mode selection algorithm based on image difference.It adopts the idea of determination image sequence's flatness to achieve fast inter-frame mode selection.This algorithm can reduce the times of search mode effectively and ensure the quality of video encoding,which can greatly decrease the encoding time and the computation of video compression and reduce the computational complexity of the inter-frame mode selection algorithm.It is conducive to real-time application.
Keywords:H.264;image difference;mode selection;edge information;intra-prediction
1 引言(Introduction)
隨著移動(dòng)通信和網(wǎng)絡(luò)的發(fā)展,視頻通信成為了移動(dòng)通信的重要組成部分。視頻壓縮也制定了諸多標(biāo)準(zhǔn),H.264/AVC[1]是國(guó)際視頻編碼標(biāo)準(zhǔn)之一,其能有效地提高視頻編碼效率,并具有良好的網(wǎng)絡(luò)的適配性,其編碼算法可廣泛應(yīng)用視頻流媒體服務(wù)、數(shù)字電視、無線視頻通信、IP視頻會(huì)議和實(shí)時(shí)視頻監(jiān)控等領(lǐng)域,有著非常廣泛的應(yīng)用前景。
然而H.264/AVC在其良好性能提升的同時(shí),算法的復(fù)雜度也大大地增加了,給視頻通信帶來了困難,不利于實(shí)際應(yīng)用[2]。因此如何在保證幀間預(yù)測(cè)的編碼效率情況下,采用實(shí)用有效的算法來提高H.264預(yù)測(cè)幀的編碼速度,成為滿足實(shí)時(shí)視頻通信的要求的重要課題。通過分析研究H.264中的幀間模式選擇算法,本文提出一種能夠進(jìn)行快速幀間模式預(yù)測(cè)的基于圖像差分的選擇算法。通過仿真實(shí)驗(yàn),并與X264的測(cè)試結(jié)果進(jìn)行對(duì)比,結(jié)果表明,圖像差分快速算法可以在保證視頻編碼質(zhì)量并能有效地減少搜索模式數(shù),從而可大幅度降低編碼時(shí)間和視頻壓縮的計(jì)算量,可應(yīng)用于實(shí)際的視頻通信中。
2 H.264 幀間模式選擇算法(Intra-prediction mode
selection algorithm based on H.264)
最新的視頻編碼標(biāo)準(zhǔn)H.264與以往的編碼標(biāo)準(zhǔn)相比具有良好的編碼效率,例如,在相同的重建圖像質(zhì)量下,能夠比H.263、MPEG4等節(jié)約50%左右的碼率,這是因?yàn)镠.264標(biāo)準(zhǔn)引入了如統(tǒng)一的VLC符號(hào)編碼,高精度、多模式運(yùn)動(dòng)估計(jì)技術(shù)[3]。所謂多模式運(yùn)動(dòng)估計(jì)[4],就是將一個(gè)16×16宏塊劃分成16×16、16×8、8×16、8×8、8×4、4×8、4×4或者采用SKIP模式進(jìn)行運(yùn)動(dòng)估計(jì),如圖1所示。
編碼器遍歷所有的模式,以公式計(jì)算RDO[5](率失真)為判決依據(jù)來尋求最佳匹配塊,也就是在搜索范圍內(nèi)尋找使得公式達(dá)到最小值的參考幀中的宏塊。
式中,=為運(yùn)動(dòng)矢量,是拉格朗日(Lagrange)乘數(shù)因子,是個(gè)常數(shù)[6],和量化參數(shù)QP和待編碼塊的類型有關(guān),SAD為絕對(duì)誤差和,s表示原視頻信號(hào),c表示解碼視頻信號(hào),=為預(yù)測(cè)的運(yùn)動(dòng)矢量,R(m-P)為表示運(yùn)動(dòng)矢量差值所需的比特?cái)?shù)。
多模式運(yùn)動(dòng)估計(jì)能夠極大地提高了編碼的效率,但同時(shí)在進(jìn)行幀編碼時(shí),所有宏塊都要按照每一種模式分別計(jì)算一次率失真代價(jià),然后選中率失真代價(jià)最小的模式進(jìn)行編碼,這樣編碼器運(yùn)算的復(fù)雜性極大增加了[7]。由于視頻傳輸需要滿足實(shí)時(shí)性的要求,而H.264的編碼計(jì)算量又比MPEG-4、H.263等高出很多[8],成為了視頻編碼的瓶頸。因此,在盡可能小的質(zhì)量損失前提下,盡可能的減少宏塊做運(yùn)動(dòng)估計(jì)時(shí)的預(yù)測(cè)模式,成為了問題的關(guān)鍵,也是當(dāng)前研究的焦點(diǎn)。
3 基于圖像差分的快速模式選擇算法(Fast mode
selection algorithm based on image difference)
為了快速的確定當(dāng)前宏塊的最佳幀間預(yù)測(cè)模式,有效降低模式選擇時(shí)的運(yùn)算量,在這里提出利用當(dāng)前圖像和參考圖像匹配部分的差值分布來選擇最佳模式的算法。利用當(dāng)前視頻圖像信息和前幀視頻圖像的信息在時(shí)域上進(jìn)行分析、比較,前期只需要少量的計(jì)算便能確定一種預(yù)測(cè)模式,從而減少了幀間預(yù)測(cè)的計(jì)算量,同時(shí)還可以避免分析單個(gè)圖像無法包含序列運(yùn)動(dòng)特點(diǎn)的缺陷[9]。
3.1 算法改進(jìn)思想
采用測(cè)定圖像序列平坦度的思想實(shí)現(xiàn)快速幀間模式選擇。根據(jù)當(dāng)前圖像和參考圖像匹配部分的差值計(jì)算圖像的平坦程度,由差值的分布情況確定當(dāng)前宏塊的最佳幀間預(yù)測(cè)模式。
具體思路如下:
(1)搜索16×16宏塊的匹配塊,如果小于閾值則無需再分。
(2)否則將宏塊分為4×4的子塊,并計(jì)算差值分布。
(3)根據(jù)步驟(2)所得差值分布,來確定新的閾值。
(4)對(duì)得到的所有閾值進(jìn)行比較,選擇圖像的最佳預(yù)測(cè)模式。
3.2 算法的具體實(shí)現(xiàn)
(1)預(yù)設(shè)16×16模式的SAD值初始閾值。
(2)以當(dāng)前宏塊上方、右上、左邊宏塊的運(yùn)動(dòng)矢量mv0、mv1、mv2的均值為中心在參考幀中搜索最佳匹配塊和運(yùn)動(dòng)矢量mvp。
(3)計(jì)算絕對(duì)誤差和SAD,并同閾值進(jìn)行比較,若大于閾值則跳至(4);若小于閾值則宏塊采用16×16模式,并按如下公式更新閾值。
式中,為當(dāng)前宏塊的絕對(duì)誤差和SAD;為小于閾值宏塊的總的SAD之和;N為更新閾值的次數(shù);為新的閾值,為下一次判斷做準(zhǔn)備。
(4)計(jì)算當(dāng)前宏塊的殘差值并將殘差取絕對(duì)值,可以求得一個(gè)16×16的差值矩陣。然后把將差值矩陣劃分為16個(gè)4×4的子塊,并對(duì)子塊求殘差的均值(i=0—15),例如:。從而得到當(dāng)前宏塊的差值矩陣,當(dāng)前宏塊和匹配宏塊的差值分布情況便可以用差值矩陣表示。
(5)計(jì)算差值S的平均值,并求出圖像的分布特征值。搜索周圍宏塊中mvp的值與當(dāng)前宏塊最接近的塊,并計(jì)算該塊的分布特征值。
(6)計(jì)算閾值。考慮到差值分部還與幀間預(yù)測(cè)模式相關(guān),因此將其按照以下五類進(jìn)行樹狀精度劃分,用J來表示[10],若16×16模式,則J=1;若16×8和8×16模式,J=2;若8×8模式,J=4;若8×4和4×8模式,J=8;若4×4模式,J=16;閾值/J。
(7)確定最佳預(yù)測(cè)模式。以的預(yù)測(cè)模式8×8為例,其他模式算法類似。
如果C≤,則說明當(dāng)前宏塊比平坦,因此候選模式有8×8、16×8、8×16和16×16模式。如果C>,則說明當(dāng)前宏塊中的圖像細(xì)節(jié)比更多,需要選用更為細(xì)小的模式劃分,因此候選模式
在基于DM642的硬件平臺(tái)和ccs仿真環(huán)境下,對(duì)改進(jìn)后的算法和X264進(jìn)項(xiàng)仿真測(cè)試。得到表2的實(shí)驗(yàn)數(shù)據(jù)。
通過圖像序列的測(cè)試數(shù)據(jù)可以看出本文的算法相對(duì)于X264而言在PSNR和比特率幾乎不變的情況下,幀間預(yù)測(cè)的時(shí)間大大縮短。實(shí)驗(yàn)結(jié)果表明,該算法平均節(jié)省編碼時(shí)間達(dá)37%,有利于實(shí)時(shí)應(yīng)用;同時(shí)PSNR平均下降約0.16dB,不會(huì)影響主觀視覺效果。
4 結(jié)論(Conclusion)
研究H.264/AVC的幀間預(yù)測(cè)編碼模式的快速選擇算法,在保證編碼器視頻編碼質(zhì)量的同時(shí)對(duì)降低編碼器的運(yùn)算量和運(yùn)算復(fù)雜度,就有著非常重要的積極意義。本文提出的基于圖像差分的幀間宏塊模式快速選擇算法,根據(jù)當(dāng)前圖像和參考圖像匹配部分的差值計(jì)算圖像的平坦程度,由差值的分布情況確定當(dāng)前宏塊的最佳幀間預(yù)測(cè)模式。通過對(duì)改進(jìn)算法的仿真實(shí)驗(yàn),對(duì)比與X264的編碼時(shí)間,PSNR值等,表明采用本文算法后,在視頻圖像質(zhì)量基本上不變的情況下,運(yùn)算的復(fù)雜度大大降低,編碼器的編碼時(shí)間也大大地減少,有效地提高了視頻壓縮的編碼效率,有利于實(shí)際的應(yīng)用。
參考文獻(xiàn)(References)
[1] X-P.Xia,E-H.Liu,J-J.Qin.Improved SAP Based on Adaptive Directional Prediction for HEVC Lossless Intra Prediction[J].Visual Communication and Image Representation,2015,33(C):78-84.
[2] Jiang Wei,Chen Yaowu,Tian Xiang.Fast Transcoding from H.264 to HEVC Based on Region Feature Analysis[J].Multimedia Tools and Applications,2013,73(3):2179-2200.
[3] WU J J,et al.K-means-based Consensus Clustering:a Unified View[J].IEEE Transactions on Knowledge and Data Engineering,2015,27(1):155-169.
[4] 夏定元,周艷芬.復(fù)雜度可伸縮的幀間模式選擇[J].計(jì)算機(jī)應(yīng)用,2010,30(03):625-627.
[5] 周洪敏,龔建榮.視頻壓縮編碼的新發(fā)展——H.264[J].信息技術(shù),2005(09):91-93.
[6] 楊金,孫宇,孫世新.H.264可伸縮視頻編碼層間碼率控制算法[J].計(jì)算機(jī)應(yīng)用,2011,31(09):2457-2460.
[7] 蔣煒,田翔,陳耀武.H.264到HEVC的低復(fù)雜度視頻轉(zhuǎn)碼算法[J].浙江大學(xué)學(xué)報(bào)(工學(xué)版),2014,48(06):994-1003.
[8] 王啟文,黃樂軍.H.264中4×4塊的快速幀內(nèi)預(yù)測(cè)算法[J].計(jì)算機(jī)工程,2010,36(02):217-219.
[9] 畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)[M].北京:人民郵電出版社,2005.
[10] 孫力帆,普杰信.基于H.264的快速幀間模式選擇算法[J].計(jì)算機(jī)工程,2010,2(36):220-222.
[11] 蔣潔,等.利用平滑區(qū)域檢測(cè)的HEVC幀內(nèi)編碼快速算法[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,40(03):194-200.
[12] 周承濤.HEVC編碼快速算法關(guān)鍵技術(shù)研究[D].杭州:浙江大學(xué),2014.
作者簡(jiǎn)介:
孟 雷(1981-),男,碩士,講師.研究領(lǐng)域:數(shù)字圖像處理.