作者:汪志兵;王文生;路羊;崔慧娟;唐昆
進一步提高視頻壓縮效率,將重疊塊運動預測補償與H.264視頻編碼框架中的可變大小塊運動預測相結(jié)合,根據(jù)不同塊的編碼模式,自適應調(diào)整重疊塊運動補償?shù)募訖?quán)系數(shù)。實驗結(jié)果表明,所提出的基于編碼模式的自適應重疊塊運動補償對于較復雜的序列,在較高目標碼率下,最大編碼增益可達0.21 dB,顯著提高了H.264的編碼效率。
隨著網(wǎng)絡和多媒體技術(shù)的發(fā)展,越來越多的數(shù)字視頻業(yè)務不斷涌現(xiàn)。H.264標準正是為適應各種業(yè)務增長對于運動圖像壓縮率的更高要求而制定的。在H.264中,引入了可變大小的塊運動預測、多幀預測、1/4像素插值等技術(shù),以進一步提高運動預測的精度,提高了視頻壓縮效率。
在高壓縮效率下,基于塊運動預測和補償(block motion compensation,BMC)的視頻壓縮算法會產(chǎn)生塊效應,嚴重影響了重建視頻的主觀質(zhì)量。在H.264中,在運動預測/補償環(huán)路中引入去除塊效應濾波器以降低塊效應的影響。另一方面,文證明了重疊塊運動補償(overlapped blockmotion compensation,OBMC)也是降低塊效應、提高預測精度的一種有效手段,并研究了最優(yōu)重疊塊匹配加權(quán)窗的系數(shù)設計方法。但以上算法尚未在重疊塊運動補償中有效利用H.264現(xiàn)有編碼框架中的多種預測模式,在H.264框架中引入重疊塊運動補償,可以進一步提高其編碼效率。
本文提出了一種基于編碼模式的自適應重疊塊運動補償算法。該算法根據(jù)周圍已編碼塊的編碼模式,自適應選擇加權(quán)系數(shù)提高當前編碼塊的運動預測精度。實驗結(jié)果表明,本算法在高碼率時,最大編碼增益可達0.21 dB,提高了H.264的編碼效率。
1 基于編碼模式的自適應重疊塊運動補償
文提出重疊塊運動補償提高了預測精度和編碼效率,并均衡了失真分布。在OBMC中,對于當前編碼塊,可以擁有多個備選運動矢量,包括其自身的運動矢量和周圍已編碼塊的運動矢量。通過引入一組加權(quán)系數(shù),對每個候選的運動預測塊加權(quán)得到最終的運動預測。
考慮到H.264中最基本的編碼單位是44,為了描述方便,本算法中的OBMC選擇的塊大小為44。在實際實現(xiàn)中,為了提高運算速度,可以針對不同的編碼模式采取相應的OBMC塊大小。對于當前幀內(nèi)每個塊,如圖1所示,其備選運動矢量集由其自身的運動矢量和周圍塊的運動矢量組成。令Bc表示當前編碼塊,Bi(i=1,2,3,4)表示其相鄰塊,相應的運動矢量為vc、vi。
如圖2所示,假設p表示當前編碼塊內(nèi)像素的坐標,表示該像素采用OBMC得到的運動預測值,則有
其中,fn-1(p)表示參考幀中位置p處的像素值,而ωc(p)、ωi(p),1≤i≤4分別表示OBMC的加權(quán)系數(shù),且應滿足以下約束
在對Bc塊進行編碼時,B2和B4塊的運動矢量有可能還未進行編碼(當B2、B4塊與Bc塊不在同一個宏塊中時)。此時為了保證編、解碼的同步,約定B2和B4的運動矢量設為vc。
由于塊Bi內(nèi)不同位置p的加權(quán)系數(shù)是不均勻的,它們的取值構(gòu)成加權(quán)矩陣Wi。Wi的設置在很大程度上影響了OBMC的編碼效率。文給出了若干Wi的選取方法,然而,它針對的是運動預測塊的劃分為固定的情況。
由于H.264中采取了可變大小塊運動預測,從定性上來看,劃分較小的運動預測塊所對應的運動矢量一般來說更加精確,也更能夠反映相鄰塊的運動趨勢?;谠摷僭O,屬于較小劃分的塊所對應的運動矢量,在OBMC中應被賦予更大的權(quán)重,以進一步提高OBMC的運動預測精度,提高編碼效率。
根據(jù)這一推論,本算法采用了一種基于編碼模式的自適應OBMC算法。對于當前編碼塊Bc的每個鄰近塊Bi,定義一個加權(quán)矩陣集合si,根據(jù)Bc和Bi的編碼模式,選取合適的加權(quán)矩陣Wi∈Si。也就是說,加權(quán)矩陣的選取策略取決于2個塊各自對應的編碼模式。例如,假設相鄰塊Bl對應的運動預測塊大小為88,當Bc的預測塊大小為1616,相應于v1的加權(quán)系數(shù)矩陣為W161,當Bc的預測塊大小為44時,相應于v1的加權(quán)系數(shù)矩陣為W41。加權(quán)矩陣的選擇策略應該保證對于加權(quán)矩陣中每個位置(m,n)的系數(shù),都有。在實際實現(xiàn)中,可以采用查找表來存儲選擇策略。同時,加權(quán)矩陣集合和相應的選擇策略可以通過對若干測試序列進行訓練而獲得。
在采用OBMC后,相應運動搜索的度量準則應進行相應的修正。在本文中,為了降低實現(xiàn)復雜度,對運動矢量的搜索不采取迭代的方法。此時,在進行運動搜索時,當前塊選取的運動矢量不僅決定了其自身的運動預測值,也會影響到其右邊及下邊塊的運動預測值(左邊及上邊塊的運動矢量已經(jīng)確定,不再進行考慮)。為了反映這種影響,將運動搜索的準則重新定義為
其中:第1項是當前塊的預測誤差的絕對誤差和;第2、3項反映了對右邊和下邊塊的預測誤差影響;第4項中bv為對運動矢量的編碼所需的速率。
2 實驗結(jié)果
本實驗采用H.264參考代碼JMl0.1作為仿真平臺,給出了各種CIF(common intermedia format)和QCIF(quarter common intermedia format)測試序列的測試結(jié)果。在本實驗中,編碼器設置為:率失真打開,參考幀數(shù)為1,可選的編碼模式為7,采取內(nèi)容自適應變長熵編碼編碼,運動搜索范圍為1616,每個幀組包括1個I幀和49個P幀,所有幀均采用相同的量化參數(shù)。
表1給出了各測試序列的QP設置分別為20、24、28、32時,峰值信噪比(peek signal noise ratio,PSNR)和碼率的對比。按照文提出的PSNR和碼率的插值算法,表2給出了對于不同測試序列本算法和標準的H.264壓縮效率的對比。從這些結(jié)果可以看出:采用OBMC的編碼增益隨著編碼速率的增加而提高。在高碼率時,最高編碼效率可提高0.21 dB。當編碼序列的運動比較復雜時,如Coastguard和Tempete序列,編碼增益也比較明顯。這種現(xiàn)象也符合上述對OBMC優(yōu)越性的分析。
表3給出了對Foreman序列進行QP=24編碼時,P幀各部分信息所占用比特數(shù)的對比??梢钥吹剑捎肙BMC算法明顯降低了編碼運動矢量信息和亮度殘差信息的速率。為了簡潔起見,沒有對色度信號的運動補償采用重疊塊模式,因此,表示色度殘差信號所需的碼率與原算法相當。
3 結(jié) 論
為了將OBMC與標準中的可變塊大小運動補償結(jié)合起來,提出了根據(jù)相鄰塊編碼模式選擇OBMC加權(quán)矩陣的算法。仿真試驗表明,OBMC的采用可帶來平均0.1 dB以上的編碼增益。對于高復雜度序列在高速率下的編碼,最高增益可達0.2 dB.
下一步將對加權(quán)系數(shù)矩陣的自適應進行研究,以進一步提高編碼效率。另外,并不是每個宏塊采用OBMC都可以帶來編碼增益??梢匝芯吭诤陦K級別引入一個標志,指示該宏塊是否采取OBMC。這種靈活性將進一步提高編碼效率。
責任編輯:gt
-
濾波器
+關(guān)注
關(guān)注
161文章
7924瀏覽量
179584 -
視頻
+關(guān)注
關(guān)注
6文章
1964瀏覽量
73318
發(fā)布評論請先 登錄
相關(guān)推薦
H.264標準詳細介紹
H.264碼流結(jié)構(gòu)pdf
基于Blackfin533的H.264編碼
H[1].264 Verilog H.264 的Verilog實現(xiàn)的opencore
H.265與H.264對比分析
請問怎樣實現(xiàn)H.264的量化?
h.264 standard pdf
基于FPGA的H.264去塊濾波系統(tǒng)的優(yōu)化設計
基于H.264 的子帶DCT快速算法
基于H.264的立體視頻編碼方法

基于H.264與AVC標準的幀內(nèi)預測算法

評論