馬 萌,劉續(xù)普
(上海海事大學 上海 200135)
近來數(shù)字多媒體接入設備,比如智能手機,平板電腦,有了很快的發(fā)展。隨著內(nèi)容呈現(xiàn)格式的增加,如何能將壓縮的視頻流在異構(gòu)網(wǎng)絡中不同發(fā)送和接受設備間轉(zhuǎn)換成了一個研究熱點[1]。
文中提出可以通過預測2個待選最佳預測運動向量作為EPZS快速運動估計的預測中心來提高預測的精準性,并根據(jù)當前宏塊對應轉(zhuǎn)碼前區(qū)域的宏塊運動矢量的一致性和視頻運動性自適應的調(diào)整搜索策略。結(jié)果顯示這個效果比傳統(tǒng)方式運動矢量合成算[2-4]相比有更好的視頻質(zhì)量,降低了轉(zhuǎn)碼的計算復雜度。
基于H.264編碼標準[5]的視頻轉(zhuǎn)碼今年來隨著H.264標準的普及開始成為近年來國內(nèi)外研究的熱點問題。H.264是一個面對未來IP和無線環(huán)境下的視頻壓縮標準,在視頻壓縮效率方面比目前所有的視頻壓縮標準都有顯著提高。由于運動估計和運動補償需要占用H.264編碼中60%的編碼時間,如果在轉(zhuǎn)碼中重新對宏塊進行運動矢量預測和修正,計算量太大,難以滿足實時性要求。為此,利用輸入碼流中的信息來減少計算量,是提高轉(zhuǎn)碼速度的有效途徑。在運動重估計算法的研究中,文獻[6]提出了一種新的運動矢量重估計的體系結(jié)構(gòu)AMVR-DIM。與傳統(tǒng)的運動矢量合成算法相比,該算法有效地提高了降采樣視頻轉(zhuǎn)碼中運動預測的精確性。這種方法引入了運動矢量的多樣性和宏塊重要性的概念用以控制宏塊編碼模式和搜索策略,由于使用了固定閾值來選擇宏塊的重編碼模式,在對一些視頻序列轉(zhuǎn)碼時,可能會造成碼流過大。本文基于AMVR-DIM架構(gòu)提出了新的視頻轉(zhuǎn)碼快速運動估計算法。
對于輸入碼流信息的運動合成算法,文中采用基于距離激勵的Alpha-均值濾波。Alpha-激勵均值濾波的特點是通過消除候選者中偏差過大的來預測。這個策略主要包含兩個階段。首先,通過由大到小整理所有候選的預測運動向量。其次,利用一個預先確定的加權(quán)因子α來決定是否消除候選運動向量的數(shù)目。這個Alpha-激勵均值濾波器的公式如下:
其中α在0到0.5之間;mvi代表第i個運動矢量;M是運動矢量的數(shù)目;代表了去最小的值。因為中值算法是所有傳統(tǒng)算法中進行下采樣轉(zhuǎn)碼效果最好的。從而利用Alpha-激勵均值濾波的概念來提高下采樣的精準度,將其作為從原始碼流中提取運動矢量合成最佳預測運動矢量的標準。
在 2:1的空間分辨率降尺度轉(zhuǎn)碼中,輸出圖像中每個目標宏塊由輸入圖像的 4個宏塊降采樣得到。一個目標宏塊的運動矢量多樣性特征是由與之對應的 4個原始宏塊MV之間的相互關系決定的,其分別對應于3種情況,具體如圖1所示。
1)4個MV大小方向完全一致,如圖1(a)所示,此時預測運動矢量直接可以作為當前宏塊的運動矢量,再進行小范圍運動求精搜索即可。
2)4個MV大小方向差別不大,即多樣性低,一致性高,如圖1(b)所示,可以在預測運動矢量周圍進行范圍較大的運動搜索。
3)4個MV大小和方向差別大,即多樣性高,一致性低,如圖1(c)。合成運動矢量較難準確預測轉(zhuǎn)碼后的運動矢量,如果直接使用該合成運動矢量,會造成較大的圖像矢量損失。此時,可以采用結(jié)合已轉(zhuǎn)碼碼流信息合成的另一備選預測運動矢量,利用下文采取的策略(自適應閾值)共同確定運動搜索的中心,并且加大運動搜索的區(qū)域,提高運動估計的準確性。
圖1 宏塊運動矢量間的差異性Fig.1 Difference of motion vector of macro block
本文采用方差作為一致性的測度因子
其中,
其中,mvi0,mvi1分別為第i個宏塊運動矢量的水平與垂直分量;與表示當前4個宏塊中mv的平均值 (水平與垂直分量)。
從已轉(zhuǎn)碼碼流中預測當前宏塊的最佳運動矢量可以選取H.264標準中幀間預測的方法,下面簡單介紹一下。
如圖2,E為當前宏塊或宏塊分割子宏塊。A、B、C分別為E的左、上、右上方的3個相對應塊。如果E的左邊不止一個分割,取其中最上的一個為 A;上方不止一個分割時,取最左邊一個為B。下面左側(cè)顯示所有分割有相同尺寸時的鄰近分割選擇。下面右側(cè)圖給出了不同尺寸時臨近分割的選擇。
圖2 已轉(zhuǎn)碼碼流的幀間預測合成備選運動矢量Fig.2 Motion vector candidate synthesizeusing inter-prediction of transcoded stream
其中:
1)傳輸分割不包括 16×8 和 8×16 時,MVp 為 A、B、C 分割MV的中值;
2)16×8分割,上面部分 MVp由 B預測,下面部分 MVp由A預測;
3)8×16分割,左面部分 MVp由 A預測,右面部分 MVp由C預測;
4)跳躍宏塊(skipped MB),同 1)。
如果右圖所示的已傳送塊不提供時 (如在當前片外),MVp選擇需重新調(diào)整。在解碼端,MVp以相同方式形成并加到 MVD上。對跳躍宏塊,不存在 MVD,運動補償宏塊也由MV直接生成。
依據(jù)此種H.264幀間預測方法從已轉(zhuǎn)碼碼流中預測最佳運動矢量,作為備選之一。
本論文共采用2個備選最佳預測中心,并通過宏塊運動矢量間的差異性等策略靈活選擇備選運動矢量,并作為EPZS的預測矢量,可以提高預測的精準度,從而使后面的率失真優(yōu)化計算量降低。
根據(jù)上下文分析,本文算法根據(jù)當前宏塊的Var的大小,將運動估計的搜索中心和搜索模式分為一下3中情況進行調(diào)整:
1)Var 2)Var>Div2,此時當前宏塊對應的轉(zhuǎn)碼前區(qū)域的運動矢量差別較大,合成的運動矢量無法準確預測當前宏塊的運動矢量。此時,根據(jù)本文策略,可以采取的方法為:將從轉(zhuǎn)碼前區(qū)域的運動矢量合成的備選運動矢量,以及從已轉(zhuǎn)碼碼流利用幀間預測得到的另一備選運動矢量共同作為快速運動估計算法EPZS的預測中心,替代原始EPZS的預測中心,進行EPZS快速運動估計,并利用了精細化搜索以及早停止。實驗證明這兩個備選的運動矢量作為預測中心較原始EPZS算法有更低的復雜度和更好的效率。 得到這兩個備選預測中心后,通過公式(3)獲得最佳預測中心,其中 m=[mx,my]T,p=[px,py]T是測試中的備選預測中心,x,y是空間位置坐標,λmotion是拉格朗日因子。 R(m-p)代表運動信息代價。 其中,SAD的計算是利用公式(4)得到,式中s代表輸入視頻信號,c代表解碼后的參考幀。 B=16,8,4 最后,對每個轉(zhuǎn)碼宏塊通過鉆石模板進行運動搜索,并利用上文提及的早停止策略。 3)Div1 本文選用了 2個自適應的閾值作為判別多樣性的高低的門限,如下所示: 其中, 表示一幀中所有塊的方差平均值;λ1,λ2是高低閾值的加權(quán)系數(shù),隨著視頻序列的不同而改變。在運動平緩的視頻序列中,一幀圖像中大部分宏塊變化很少,對這些宏塊使用傳統(tǒng)的運動矢量合成方法即可得到較好的預測。故可以利用較大的λ2抑制幀內(nèi)刷新等模式的使用,以避免造成編碼長度的冗余。相反,在運動劇烈的圖像中,由于大部分宏塊不適宜只用單一運動矢量來表示,可以通過改變λ1,λ2來降低預測模式中單個mv模式預測所占的比例,以提高預測的準確度。 本文宏觀算法流程如圖3所示。首先利用基于距離激勵的α均值濾波合成運動矢量一,作為備選預測中心之一;然后利用已轉(zhuǎn)碼碼流的臨近宏塊通過幀間預測得到另一個備選預測中心。再對當前宏塊對應的轉(zhuǎn)碼前區(qū)域進行多樣性分析,并根據(jù)當前幀的運動活躍因子調(diào)整運動矢量多樣性判別的閾值。最后由計算得到的當前宏塊多樣性因子和判斷閾值Div1,Div2,選擇合適的搜索中心和搜索策略。 圖3 快速運動估計算法流程Fig.3 Algorithm flow of fast motion estimation 本文在 P4 3.2 GHz、1G RAM、VC++2008的環(huán)境下進行轉(zhuǎn)碼測試。輸入碼流為使用JM12.0編碼 CIF尺寸的H.264碼流。采用simple profile編碼,IPPP……結(jié)構(gòu),幀間預測只采用了 P16×16模式,Q=28,幀率為 30 f/s。轉(zhuǎn)碼器使用 CPDT結(jié)構(gòu),轉(zhuǎn)碼后的分辨率降為QCIF尺寸。本文所采用的方法能夠達到與 DIM[6]相近的轉(zhuǎn)碼速率,在保持較高視頻質(zhì)量的同時能夠有效地控制比特率大小。 表1列舉了對不同視頻序列進行轉(zhuǎn)碼的平均信噪比及轉(zhuǎn)碼后的碼流大小。與傳統(tǒng)的運動矢量合成方法相比,DIM[6]算法的信噪比有所提高,但是也增加了碼流的長度。尤其是在平緩的視頻序列中,使用文獻[6]中的固定門限方法可能會帶來編碼長度的急劇上升。相比之下,本文提出的自適應閾值方法,更利于低帶寬情況下碼流的傳輸。 表1 不同測試序列的峰值信噪比與碼流長度的對比Tab.1 Performanceof PSNRand bitstreamof differenttestsequence 在運動劇烈的視頻序列中,本文算法在相近的碼率下得到了更高的信噪比。而對于平緩序列,本文算法能夠降低計算復雜度,以較小的圖像質(zhì)量損失換取了碼流長度 25%~50%的下降。 對于視頻空間分辨率下采樣轉(zhuǎn)碼,文中提出一種基于輸入碼流信息和已轉(zhuǎn)碼碼流信息并利用EPZS方法的快速運動估計算法。該算法利用輸入碼流的運動矢量來計算宏塊合成備選運動矢量一,利用已轉(zhuǎn)碼碼流信息合成備選預測運動矢量二,共同作為EPZS快速運動估計算法的2個預測中心。根據(jù)宏塊運動活躍性(利用輸入碼流的宏塊模式信息計算編碼幀的運動活躍性),自適應地選擇重編碼模式,在對多組視頻序列的H.264空間分辨率下采樣轉(zhuǎn)碼中獲得了較高的圖像質(zhì)量,并有效控制了碼流的大小。 [1]Xin J,Lin C W,Sun M T.Digital video transcoding[J].Proceedings of the IEEE,2005,93(1):84-97. [2]Ahmad I.Video transcoding:an overview of various techniques and research issues[J].IEEE Transactions on Multimedia,2005,7(5):793-804. [3]Bjork N,Christopoulos C.Transcoder architecture for video coding[J].IEEE Transactions on Consumer Electron,1998,44(2):88-98. [4]Shanableh T,Ghanbari M.Heterogeneous video transcoding to lower spatio-temporal resolutions and different encoding formats[J].IEEE Transactions on Multimedia,2000,2(2):101-110. [5]Wiegand T.Overview of the H.264/AVC video coding standard[J].IEEETrans.Circuits Syst Video Technol.,2003,13(7): 560-576. [6]Fung K T,Siu W C.Diversity and importance measures for video downscaling[C]//Proc.of IEEE International Conference on Acoustics, Speech and Signal Processing,2005:18-23.2.5 宏觀算法流程
3 實驗與仿真結(jié)果
4 結(jié)束語