楊會云,張有會,王志巍,趙 金,霍利嶺,劉晨光
(1.河北師范大學 數學與信息科學學院,河北 石家莊 050016;2.石家莊第二十三中學,河北 石家莊 050011)
H.264/AVC是由ITU-T視頻編碼專家組和ISO/IEC運動圖像專家組組成的聯合視頻專家組JVT制定的新一代視頻編碼標準[1]。與以往的標準相比,本標準在相同碼率情況下,峰值信噪比和可視質量獲得了較好的性能[2],但也增加了復雜度,影響了其實時應用。
幀內預測是H.264/AVC標準的一個重要組成部分,充分利用了圖像的空間相關性,提高了壓縮效率[3-4]。為達到高效的編碼性能,H.264/AVC使用率失真優化(Rate Distortion Optimization,RDO)[5]模型選擇最佳編碼模式。由于幀內預測模式較多,為選擇一個預測模式,需計算592個RDO值,使其具有很高的復雜度。為降低復雜度,人們提出了很多優化算法[6-8]。
筆者則提出一種基于某方向上像素差分和的塊平坦性及紋理方向估算的快速H.264/AVC幀內預測算法(以下簡稱新算法)。實驗結果表明在PSNR和碼率變化極小的情況下編碼速度有顯著提高。
在H.264/AVC編碼標準中,為提高幀內圖像編碼效率,采用幀內預測技術。根據圖像的空間相關性,利用當前塊左邊和上邊的像素值對當前塊進行預測[9-10](見圖1),對實際值和預測值的差值進行編碼,大大節省了圖像幀的比特數。

圖1 宏塊預測
H.264/AVC提供了4種幀內預測方式[11-12],分別為4×4 亮度塊預測(Intra_4×4)、8×8 色度塊預測(Intra_chroma)、16×16 亮度塊預測(Intra_16×16)和 PCM 預測(I_PCM)。Intra_4×4適合紋理細節較多的圖像塊,有9種預測模式,其中包括8種方向性預測模式(見圖2)和1種均值預測模式。Intra_16×16適合較平坦的塊,有4種預測模式,其中包括3種方向性預測模式(見圖3)和1種均值預測模式。Intra_chroma預測方式與 Intra_16×16相似。I_PCM預測模式直接傳輸圖像樣值,無須進行預測。


為獲取最佳的預測效果,JVT提供的參考程序采用全搜索算法對各宏塊進行模式搜索,對結果進行比較。全搜索算法能獲得最優的壓縮效果,但其搜索模式總數達到了 M8×(M4×16+M16)[11-12],共 592 個,其中 M8=4,M4=9,M16=4,分別代表 8×8 色度塊、Intra_4×4 和 Intra_16×16 的預測模式個數。這意味著要得到一個塊的最佳模式需計算592個RDO值,可見其算法復雜度之高。
紋理特征是圖像的重要特征之一,其本質是刻畫像素鄰域灰度空間的分布規律[2]。圖像的紋理特征[13]可用方向性、規則性、粗糙度和凹凸性等特性描述。其中方向性是指其灰度在一定方向上的變化所呈現的一致性和均勻性,從視覺上看近似條紋狀。按方向性可將紋理劃分為水平、垂直和斜向等。
由第2節可知,H.264/AVC的預測模式除DC模式外都具有方向性。如果能對塊的紋理性進行預判,即判斷出塊是否有明顯的紋理及其大致紋理方向,便可排除可能性小的模式,僅對可能性大的模式進行RDO計算,降低算法復雜度。
基于此,針對H.264/AVC的4種預測方式中對預測算法改進影響較大的Intra_4×4模式和Intra_16×16模式,提出一種新的基于紋理特性的預測算法。算法分兩部分:一部分為類型判定,利用16×16塊在不同方向上間隔一定臂長L下的像素差分和[13]的差來判斷宏塊是否有明顯紋理,即是否平坦,若平坦只進行Intra_16×16塊的預測,否則只進行Intra_4×4塊的預測;另一部分為預測模式選擇,利用4×4塊差分和的大小判斷紋理方向,根據紋理方向選擇預測方向。考慮色度塊的模式選擇較簡單,在此僅研究亮度塊的模式選擇。
具體過程為:將0~π內角度量化為多個角度方向θ(θi∈{0°,45°,90°,135°}),以 w×w(w 取值 16 或 4)塊中每個像素點O(x,y)為中心,按一定臂長L在中心點兩側沿θi方向各選一點作差分;遍歷整個塊,求方向θi上塊的差分和;比較各方向差分和,如果各差分和之間差別較小則判定宏塊較平坦,否則非平坦。對非平坦塊,進行Intra_4×4模式預測,其差分和最小的塊對應的方向即為其紋理方向。其中每一方向上中心點兩側像素點的選取如下:
計算相對O點的偏移量Tx和Ty

由Tx和Ty可分別確定相對O點的兩個偏移點的灰度值,分別記為 P(x+Tx,y+Ty),P(x-Tx,y-Ty)。 遍歷該塊,求方向為θi的絕對差分和

依次求取各方向上的 S[θi],比較各 S[θi],找出最小的S[θi]對應的方向 θi即為當前塊紋理方向,即

由以上討論可知,對較平坦的宏塊,像素的灰度較接近,相鄰像素的灰度絕對差較小,其各個方向上的絕對差分和的差異性較小;對非平坦宏塊,其在紋理方向上的絕對差分和較小,其他方向特別是與紋理方向垂直的方向上的絕對差分和則很大,不同方向上的絕對差分和的差異性較大。
圖4為foreman序列第0幀中兩種類型的宏塊,圖右側為平坦塊,左側為非平坦塊,表1為圖4中對應塊的最大、最小絕對差分和及其差值(其中臂長L=1,方向為0°,45°,90°,135°的 4 個方向)。

由表1可見,平坦塊對應的最大差小,非平坦塊對應的最大差較大。基于以上分析,以各方向絕對差分和的最大差作為判定宏塊是否平坦的依據是可行的。因此算法可以此作為依據選取合適的閾值對宏塊進行類型判定。

表1 塊的最大、最小差分和以及最大差
利用前述差分和同樣可以對塊紋理方向進行估計。對一紋理塊來說,沿其紋理方向上的各像素值比較相似,故其差分和較小,而其他方向特別是與紋理方向垂直的方向上各像素值差異較大,其差分和會較大。因此,認為宏塊各方向上差分和的最小值對應的方向為紋理的大致方向。
為此,計算 4 個方向(0°,45°,90°,135°)上臂長為 L(L=1)的塊的差分和,比較4個方向差分和的大小,并選出最小差分和,記錄其方向,該方向即為當前塊紋理方向。利用此方向對塊進行模式選擇。
圖5為foreman序列第0幀中典型的135°和水平紋理的圖像塊。表2是圖5中各圖像塊對應的4個方向差分和,由表可見最小差分和對應的方向即為塊紋理方向。


表2 塊差分和
新算法中,引入兩個閾值Kmin和Kmax判定宏塊的類型。計算4個方向的絕對差分和,在宏塊類型選擇中,將3.2節中最大差分別與閾值Kmin和Kmax比較,若小于Kmin判定為平坦宏塊,采用16×16塊預測;若大于Kmax判定為非平坦宏塊,采用4×4塊預測;否則,按H.264標準算法計算。對判定為Intra_4×4預測的塊,同樣計算4個方向絕對差分和,選擇最小差分和對應的方向為該4×4塊紋理方向,將與此方向對應的模式及其相鄰的兩個模式加上DC模式共4個模式作為候選預測模式,進行RDO計算,從中選出最佳模式。
兩個閾值的選擇對編碼的性能影響很大。經過大量實驗,取Kmax=500,Kmin=300獲得的效果較好。
新算法具體步驟如下:1)獲取16×16宏塊的亮度數據,設定兩個閾值Kmax和Kmin。2)計算4個方向的絕對差分和,并計算最大差分和Maxdiff與最小差分和Mindiff及其差值 diff。 3)若 diff
為了驗證本算法的性能,基于JVT提供的參考軟件JM14.2對全搜索算法進行了改進,并作了大量測試與全搜索算法比較。
測試環境如下:編碼配置中,幀率為30 f/s(幀/秒),全I幀序列,每個標準測試圖像序列測100幀,RDO使能,CAVLC使能;硬件配置采用Inter Pentium Dual T23901.86 GHz和2.0 Gbyte RAM。
表3是所選11個QCIF標準視頻序列在L=1和L=2時的新算法與全搜索算法的測試結果比較。結果獲取采用對各個視頻序列進行大量測試取平均值的方法。L=1時各項指標的平均值為:PSNRY降低了0.06 dB,速度提高了38.94%,碼率提高了1.63%。L=2時各項指標平均值為:PSNRY降低了0.07 dB,速度提高了40.79%,碼率提高了2.01%。
從表3可以看出,由于本算法充分考慮了宏塊本身的特性,在進行預測前對宏塊特性預判,避免了全搜索算法的窮舉搜索方式,降低了復雜度,節省了時間。同時,試驗對各測試序列的PSNR值的影響非常小,對視頻序列的視覺影響極小。
分析了宏塊紋理特征與候選預測模式的關系,對于紋理特征明顯的宏塊,直接從兩種預測模式(Intra_16×16和Intra_4×4)中選取一種,從而避免對每一個宏塊都進行兩種模式的預測。對于那些特征不明顯的宏塊,則用標準算法進行判斷,以保證用最佳的模式來編碼。并且對Intra_4×4模式利用紋理方向預測來排除可能性小的預測模式。試驗證明,在PSNR和碼率變化很小的情況下,提高了編碼速度。

表3 QCIF標準視頻序列測試結果(以全搜索算法為基準)
文中對宏塊模式判定使用雙閾值,閾值大小將會直接影響編碼性能,而紋理復雜度不同的視頻差分和的差別也很大,在下一步工作中將考慮采用自適應的閾值,來代替本文中的固定值。
[1]ITU-T Recommendation H.264&ISO/IEC 14496-10 (MPEG-4)AVC,Advanced video coding for generic audiovisual services[S].version 3.2005.
[2]滑斌杰,張有會,王志巍,等.一種快速H.264/AVC塊幀內預測模式選擇算法[J].微計算機應用,2009,30(4):12-17.
[3]王超,于洪珍,厲丹,等.H.264幀內預測編碼的優化與實現[J].電視技術,2009,33(12):21-23.
[4]王海勇,孫雁飛,吳啟宗.H.264編碼中幀內預測算法研究[J].電視技術,2009,33(8):11-12.
[5]SULLIVAN G,WIEGAND T.Rate distortion optimization for video compression[J].IEEE Signal Processing Magazine,1998(15):74-90.
[6]KIM J,JEONG J.Fast intra-mode decision in H.264 video coding using simple directional masks[J].Proceedings of SPIE,2005,5960:1071-1079.
[7]畢厚杰.新一代視頻壓縮編碼標準——H.264/AVC[M].北京:人民郵電出版社,2005:210-218.
[8]PAN F,LIN X,RAHARDJA S,et al.A directional field based fast intra mode decision algorithm for h.264 video coding[C]//Proc.IEEE International Conference on Multimedia and Expo.Taipei,China:IEEE Press,2004,2:1147-1150.
[9]曾煥強,蔡燦輝.H.264/AVC快速幀內預測模式選擇算法[J].中國圖象圖形學報,2007,12(2):189-194.
[10]賈克斌,謝晶,方晟.一種基于自相關法的H.264/AVC高效幀內壓縮算法[J].電子學報,2006,34(1):152-154.
[11]WIEGAND T,SULLIVAN G,BJNTEGAARD G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.
[12]RICHARDSON I E G.H.264 and MPEG4 video compression:video coding for next generation multimedia[M].Aberdden,UK:John Wiley and Sons,2003.
[13]黃坤,李見為,吳心紅.一種求取指紋圖像方向的方法[J].計算機工程,2007,33(5):166-167.