姜 峰,姜 東,劉 芳
(中國科學院微電子研究所,北京100029)
H.264/AVC視頻壓縮標準與早期視頻編碼標準(如MPEG-4,H.263 等)相比,具有更優異的壓縮性能[1-4]。H.264標準中采用了多種新技術提高編碼效率,例如多參考幀預測、1/4像素精度的運動補償、自適應環路去塊濾波等。其中多參考幀的使用提高了最匹配編碼塊的搜索概率,因而對于整體編碼效率的提升有很大貢獻。幾個參考幀共同用于運動估計和運動補償,在編碼端和解碼端分別存儲多個參考幀。根據碼流中指定的存儲管理操作在解碼端重現編碼端設置的參考幀,通過提高運動估計時最佳匹配的檢索概率來提升壓縮效率。
本文提出了一種新型多參考幀預測方法——基于擴展幀的多參考幀預測:根據已解碼幀預測或插入一幀新的數據作為后續圖像的參考幀。這樣就提高了原始序列的時域分辨率,使后續編碼圖像和參考圖像更加接近,進而提高了運動估計的精確性,提升了編碼性能。
在 MPEG-4[5],H.263[6]和 H.264/AVC 中,使用了時域直接(direct)模式來提高B幀圖像的編碼效率,時域直接模式不需要傳輸運動矢量,而是通過雙向預測的后向參考幀的共同位置塊得到運動矢量[7-9]。如圖1,假設目標物體勻速運動,通過前向、后向參考幀中共同位置(co-located)塊的運動矢量可以得到當前塊的運動矢量,而不需要編碼該運動矢量。用List0和List1來索引雙向預測的參考幀。前向、后向運動矢量可以通過如下公式得到


圖1 B幀圖像的直接模式
因此,壓縮比特流中不需要傳輸任何運動矢量的信息。解碼端使用與編碼端相同的算法便可恢復出當前塊的運動矢量。對于一些特別情況如未覆蓋的圖像邊界、重疊塊等,運動矢量設為零[6]。
這種方法大大節省了傳輸運動矢量的信息量進而占據了B幀編碼的絕大部分。統計結果表明,約40%~50%塊的編碼模式為直接(direct)模式。
受B幀直接預測模式的啟發,筆者提出一種新的多參考幀預測方法——基于擴展幀的多參考幀預測。
類似B幀直接(direct)預測模式,可以采取時域上直接預測模式擴展或插入一個新的參考幀,用做后續圖像的參考幀。與B幀圖像直接模式不同的是,擴展幀預測只從已有幀中擴展一幀新的數據作為參考幀序列中進行運動估計時額外可選的一幀參考數據,在碼流中仍然需要傳輸運動矢量信息。將編碼流程進行修改后可以得到使用擴展幀預測的編碼器原理圖(見圖2)。

圖2 編碼端的擴展幀預測
在解碼端采取相同的方法可以得到使用擴展幀預測的解碼器原理圖(見圖3)。

圖3 解碼端的擴展幀預測
基于擴展幀的多參考幀預測方法主要包括以下幾個步驟:首先,進行運動矢量的預處理,由于一些運動矢量不能反映實際的運動情況,所以首先對運動矢量進行濾波;然后,使用處理后的運動矢量擴展出新的一個參考幀;最后,將新的擴展參考幀插入在參考幀列表中進行運動估計。
多數視頻編碼標準中,運動估計過程力求得到最小誤差(如SAD,MSE)的最小化,雖然這樣減少了傳輸碼流的比特率,卻并不能完全反映實際的幀間運動情況,尤其是運動非常劇烈的視頻序列。同時,編碼端過于復雜的運動估計會在解碼端引起很大的計算開銷。所以,為更加充分利用碼流中傳輸的運動信息,以獲得高質量的擴展幀或插入幀,對運動矢量信息進行一次預處理。
對于一些運動矢量非常大的序列,可以使用平滑濾波濾除異常的運動矢量,平滑濾波器不局限于中值濾波器,如圖4所示,最簡單常用的是中值濾波器,通過相鄰的8個運動矢量得到當前的運動矢量MVi,j。即


圖4 運動矢量的中值濾波
擴展或插入一幀新的參考幀有不同的幾種實現方法,包括使用兩個參考幀的直接插入法,使用一個參考幀的直接擴展法和使用兩個參考幀的直接擴展法。插入的一幀位于可選的兩個參考幀中間。和插入幀相比擴展幀將更接近于相鄰的P幀,得到更好的運動估計的結果。本文主要介紹兩種基于擴展幀的多參考幀預測的實現方法:
1)基于假設的直接擴展法
如前所述,擴展幀將被放在參考幀序列中作為可選的新的參考幀,擴展幀越接近當前幀則越利于運動估計。基于這樣的假設,可以得到直接擴展法如圖5所示,擴展幀的運動矢量的計算,首先找到共同位置塊,由共同位置塊的運動矢量進而得到歸一化的運動矢量MV1和MV2。則擴展幀的運動矢量的計算公式為

式中:TD1和TD1+TD2分別代表擴展幀與參考幀1和參考幀2之間的時域距離;MV是共同位置塊的運動矢量;MV1和MV2分別代表擴展幀與參考幀1和參考幀2之間的運動矢量。
2)使用反向運動矢量的直接擴展法
這種方法是使用共同位置塊的反向運動矢量得到擴展塊的運動矢量。如圖6虛線所示。擴展塊的運動矢量計算公式為


式中:TD1和TD2分別代表擴展幀與參考幀1和參考幀2之間的時域距離。MV是共同位置塊的運動矢量,MV1是由MV計算出的反向運動矢量。
需要注意的是使用此方法得到的運動矢量可能會出現如圖7所示的一些問題。

圖7 閉塞區域和未覆蓋區域
例如,擴展幀中的閉塞區域和未覆蓋區域。MV1和MV2分別代表指向前一參考幀的A塊和B塊的運動矢量,通過虛線所示的運動矢量反向以后得到擴展塊A’和B’。所以擴展幀中會出現一個未覆蓋的區域Ui,同時也會出現一些被覆蓋多次或閉塞的區域,例如Oi。本文對未覆蓋區域以及重疊、閉塞區域的情況進行了對應的特殊處理。針對未覆蓋區域,定義塊Ui代表參考幀t和擴展幀t+1中出現的未覆蓋區域,當F(t+1)中出現的Ui塊被編碼為intra類型時表明在F(t-1)中沒有對應的匹配塊。所以Ui是從F(t-1)到F(t+1)的未覆蓋域。因未覆蓋區域并沒有任何運動信息,可使用啟發式算法,如果像素源自Intra類型的塊并且沒有和其他塊進行運動補償,則可以得到它的表達式

因為該塊是intra類型編碼,則沒有相關運動信息,可得到其運動矢量為0的假設。因為閉塞的區域和重疊的區域經常出現在背景中,而背景往往是靜止的。所以將閉塞區域和重疊區域的個別塊的運動矢量設為0。針對閉塞區域,定義塊Oi表示在F(t+1),F(t-1)以及F(t)幀出現的閉塞區域。閉塞區域外的其他所有區域都可以使用運動補償。^I(p,t)沒有使用任何參考幀數據,這樣的閉塞的區域可采取共同位置像素給相應像素賦值。

針對擴展幀中運動補償后會出現一些重疊的區域,可將其表示為

綜上所述,可以得到所提出算法的流程如圖8所示。

圖8 擴展幀獲取算法流程
采用如下配置對本文提出算法進行測試:測試代碼H.264參考軟件JM12;測試序列foreman_qcif,silent_qcif,mobile_qcif和container_qcif;幀數為300幀;幀率為30 f/s(幀/秒);編碼幀格式為 I…14P;QP 值為24,28,32,36。
表1列出了本文算法與參考軟件JM12相比平均PSNR的提升以及比特率的節省。圖9是本文提出方法與H.264/AVC參考軟件的R-D性能的對比。可以看出,本文算法對于container,silent等運動不劇烈的序列的RD性能提升相比mobile等運動較為劇烈的視頻序列來說更加明顯,這表明在運動矢量的預處理上進行進一步優化是本文算法進一步提升的方向。

表1 與H.264參考軟件相比平均PSNR值提升和比特率的節省
本文提出了一種新型基于擴展幀的多參考幀預測方法,該算法提升了原圖像序列的時域分辨率,使得擴展幀與當前編碼幀更加接近,增大了運動估計中得到最佳匹配的概率。進而提升了編碼效率。測試結果表明,本文算法和H.264/AVC參考軟件相比獲得了PSNR值的提升和比特率的降低。測試序列的R-D性能均有顯著提高,尤其是對運動不劇烈的序列有明顯優勢。對于運動較為劇烈的序列,對本文擴展幀算法步驟做進一步優化,對運動矢量進行進一步歸類篩選后,將會得到更好的性能提升,這也是下一步工作的努力方向。

圖9 本文算法對幾種常用測試序列的R-D性能提升
[1]WIEGAND T,SULLIVAN G J,BJ?NTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(7):560-576.
[2]WENGER S.H.264/AVC over IP[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13:645-656.
[3]ITU-T.ITU-T Rec.H.264/ISO/IEC 14496-10 AVC[S].2003.
[4]袁曉雷,魏江,張鵬.嵌入式平臺H.264軟件解碼器的優化[J].電視技術,2010,34(5):36-39.
[5]ISO/IEC JTC1.Coding of audio and visual objects-part:2 visual[S].2000.
[6]ITU-T.Video coding for low bitrate communication[S].1998.
[7]FLIERL M,GIROD B.Generalized B pictures and the draft H.264/AVC video compression standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13:587-597.
[8]TOURAPIS A M,WU Feng,LI Shipeng.Direct macroblock coding for predictive(P)pictures in the H.264 standard[J].SPIE Visual Communications and Image Processing(VCIP),2004,5308:364-371.
[9]JI Xiangyang,LU Yan,ZHAO Debin,et al.Enhanced direct mode coding for bi-predictive pictures[C]//Proc.ISCAS 2004.[S.l.]:IEEE Press,2004:785-788.