劉 侃
[摘要]H.264編碼多應用于移動設備以及移動設備要求低分辨率視頻的特性,要求在MPEG2向H.264轉碼的過程中,在保持高效率的同時對視頻降低分辨率。在MPEG2到H.264的轉碼過程進行分析基礎上,提出一種可以降低視頻分辨率的快速轉碼算法。通過利用決策樹僅對一個視頻塊進行運動估計的方法,提高降低分辨率后轉碼的效率。能夠在大幅度降低計算復雜度的同時,實現(xiàn)從MPEG2到H.264的降低分辨率轉換。實驗結果表明,在基本保持圖像質量的基礎上,轉碼的時間縮短近60%。
[關鍵詞]MPEG-2H.264轉碼分辨率機器學習決策樹
中圖分類號:P391.41文獻標識碼:A文章編號:1671-7597(2009)1210075-01
一、引言
H.264編解碼標準在MPEG-2標準基礎上,除了應用在像DVD和數(shù)字電視這樣對視頻質量要求較高和有較高比特率的領域,同時也越來越多的應用在需要低比特率和低分辨率的移動設備的視頻處理。然而,這樣多領域的應用導致同樣編碼的視頻無法在所有平臺上使用,為了能夠兼容移動終端的應用,視頻必須在低比特率以及低分辨率的條件下編碼。由于應用設備的多樣性以及這些設備不同的硬件條件,不可能對視頻進行預編碼以應用于所有這些設備。所以為了使這些設備硬件得到最大利用以及為每一種應用輸出適合的視頻碼流,視頻的轉碼就成為必要。
本文提出了一種通過應用機器學習的方法從而在對MPEG2向H.264轉碼的同時降低分辨率的快速轉碼算法。
二、轉碼實現(xiàn)
(一)降低空間分辨率
空間分辨率減少轉碼的關鍵問題是H.264宏塊模式選擇的確定。有別于以前需要評估所有的宏塊選擇方式然后從中選出最優(yōu)的方式,本文提出的算法能夠直接確定宏塊模式。雖然可以降低到任意分辨率,但是以2為因子的降低即降低一半分辨率能使宏塊選擇的信息得到最充分最有效率的應用。下文討論了在水平和垂直方向縮小一半分辨率的方法。輸入域里的四個宏塊對應到了輸出域的一個宏塊。分辨率降低時的編碼模式可以利用MPEG-2里的所有宏塊信息確定。為了降低分辨率,需要通過之前MPEG-2編碼中的四個宏塊來確定轉碼后的H.264的一個宏塊。
降低視頻分辨率時的宏塊模式選擇能通過兩種方式確定:1.利用4個MPEG-2的宏塊來確定一個H.264的宏塊模式;2.為每一個MPEG-2宏塊確定一個對應的H.264宏塊,然后再用這四個H.264宏塊確定一個H.264宏塊。前一種方法被稱為輸入域的模式減少轉碼,后一種稱為輸出域的模式減少轉碼。本文主要在輸入域的轉碼上進行討論。
(二)輸入域的模式減少轉碼
輸入的MPEG-2視頻被解碼并且其中的宏塊信息被記錄下來,然后H.264的編碼過程就可以利用這些信息得到加速和效率的提升。這種方法的關鍵思想就是減少四個MPEG-2宏塊中的信息來得到一個同等的并且是縮小分辨率的H.264宏塊,然后通過減少的輸入信息來快速確定H.264編碼時的宏塊模式選擇。一系列的信息在解碼時被記錄下來,這些信息有:宏塊編碼模式、編碼塊類型(CBPC)、宏塊殘差的均值和方差(以4x4的子宏塊分別計算,共16個均值和方差)。這些保存下來的信息會被一種機器學習的方法讀入并且建立起一棵H.264宏塊選擇的決策樹。
決策樹通過分析一系列樣本數(shù)據(jù)生成樹枝和節(jié)點。節(jié)點表示變量,而樹枝表示可能的變量值。當決策樹不止一層時,節(jié)點就代表基于不同變量所做出的決策。在數(shù)據(jù)分類過程中,節(jié)點表示分類,樹枝表示判別分類的特征依據(jù)。通過決策樹,可以將輸入的樣本分為其中的一類。訓練集由高碼率的MPEG-2序列組成,不包括B幀。決策集由MPEG-2碼流解碼后,H.264重新編碼得到。在H.264編碼過程中,量化參數(shù)為25,使用RD優(yōu)化得到宏塊編碼模式。大量實驗表明,一個好的訓練集的圖像區(qū)域從平坦到高細節(jié)都有分布,較好的樣本序列如花或乒乓球。最終的目標就是生成單一決策樹,可以對任何MPEG-2視頻轉碼。
圖1就是一棵利用機器學習建立起來的H.264宏塊模式選擇的決策樹,如圖所示,通過決策樹,H.264的宏塊模式可以通過一些簡單的if-else語句很快的計算出來,這樣可以極大的減少編碼的時間。
圖1H.264模式選擇決策樹
三、實驗結果和分析
論文以DELL 8核服務器為測試平臺,對標準的測試序列進行了轉碼。測試序列參數(shù):分辨率704x576,碼率8lVlb/s,幀率25,轉碼前后保持參數(shù)不變。
利用本文提出算法的轉碼器與參考轉碼器的比較,在轉碼質量沒有明顯降低的情況下,比特率和所用時間都得到下降。
四、結論
本文針對目前轉碼器的不足,提出一種降低分辨率的MPEG2到H.264的快速轉碼算法,利用MPEG-2解碼得到的運動補償殘差、MB模式、編碼塊模式(CBPC)直接映射成H.264的宏塊模式,大大降低了轉碼復雜度,同時保證了轉碼的靈活性。從實驗結果可以看出本文算法相對傳統(tǒng)轉碼算法效率大大提高,而轉碼后圖像質量幾乎沒有下降,為轉碼工作提供了一種新的思路。
參考文獻:
[1](美)T.D.Nguyen等,高效的MPEG-4 to H.264/AVC轉碼[J].ETRI Journal,Volume 29,Number 6,December 2007,pp.826-828.
[2](美)A.Vetro等,空間降低分辨率的轉碼器復雜度分析[J].IEEE Tra
nsactions on Consumer Electronics,Vol.48,Issue 3,Aug 2002,pp.515- 521.
[3]陳春雁、王繼成,H.264中基于多分辨率高效幀間預測算法[J].計算機工程與應用,2007,43(1):83-85.
[4]孟慶磊、姚春蓮、宋建斌等,一種面向H.264/AVC的快速幀內預測選擇算法[J].北京航空航天大學學報,2007,33(2).
[5]陳功、黃祥林、沈蘭蓀,MPEG-2與MPEG-4問轉碼的關鍵技術研究與實現(xiàn)[J].電路與系統(tǒng)學報,2005,10(2):22-26.