摘要:針對H.264/AVC空間分辨率縮減的視頻轉碼,提出一種基于線性回歸模型的運動矢量重估計算法。它利用原始視頻流的運動矢量與下采樣視頻流的運動矢量之間的相關性,運用線性回歸模型建模,得到下采樣視頻的運動矢量。仿真實驗結果表明:在保持率失真性能的同時,計算復雜度明顯降低。
關鍵詞:視頻轉碼;H.264;線形回歸模型;運動矢量重估計
中圖分類號:TP391 文獻標識碼:A
A Motion Vector Re-estimation Algorithm based on Linear Regression Model
YANG Gao-bo1, XIA Zhong-chao1, ZHANG Zhao-yang2, WANG Hui-qian1
(1.College of Computer and Communication, Hunan Univ, Changsha, Hunan410082, China;
2.Key Lab of Advanced Display and System Applications, Ministry of Education, Shanghai Univ, Shanghai 200072, China)
Abstract: For the spatial resolution reduction of H.264/AVC stream, a motion re-estimation algorithm based on linear regression model is proposed in this paper. It exploits the correlation between the motion vectors of original video stream and those of down-sampled video, which is modelled by linear regression model to obtain the estimated motion vectors. Experimental results demonstrate that the proposed approach can significantly reduce the computational complexity of the transcoder with only slight sacrifice of visual quality.
Key words: video transcoding;H.264/AVC;linear regression model;motion vector re-estimation
隨著網絡和多媒體通信的發展,不同網絡上各種視頻信息的交流需求在不斷增加。由于網絡和終端設備的多樣性,編碼得到的視頻流不一定是最優的。當在具有不同的信道特征的網絡上,向具有不同的計算和顯示能力的用戶終端傳輸視頻流時,必須根據用戶環境動態地調整視頻流。視頻轉碼通過改變視頻的碼率和空間分辨率等格式,使經過處理后的視頻流滿足傳輸信道和解碼器的特殊要求[1-2]。目前,空間分辨率縮減的轉碼技術研究已經較多,但大多數是針對MPEG-x視頻流。H.264/AVC是最新的視頻編碼標準,它采用了可變分塊大小運動估計,多種幀內預測模式以及多參考幀等新特征,具有編碼效率高和網絡適應性強等優點,正在得到廣泛地應用。因此,研究適合于H.264/AVC視頻流的空間分辨率縮減轉碼技術具有重要的意義。Zhang等[3]提出一種下采樣后快速模式匹配的算法,能節省轉碼的時間,但沒有處理8×4,4×8,4×4幀間模式,轉碼質量不高。Shen等[4] 提出了一種新的R-D模式優化選擇算法,能加快轉碼的速度,卻不能保證視頻的質量。Cock[5]等提出一種基于開環轉碼結構的低復雜度漂移誤差補償技術,但是計算復雜度高。
運動矢量重估計是H.264/AVC視頻空間分辨率縮減轉碼的關鍵因素之一。文獻已有少量同類的研究,但并不成熟。Shen等[6]提出通過對原始視頻流的運動矢量進行加權,但沒有對運動矢量的誤差進行補償,將可能產生塊效應的積累,嚴重影響視頻的質量。Shanableh等[7]提出直接利用原始視頻流運動矢量的中值或平均值,代替下采樣視頻流的運動矢量。它具有計算量小的優點,但是當某個塊的運動矢量明顯不同于周圍的塊時,將產生較大的誤差。
視頻轉換編碼的關鍵在于充分利用部分解碼輸入碼流過程中易于得到的運動矢量等信息,以降低轉碼過程的計算量[2]。考慮到原始視頻流的運動矢量與空間分辨率縮減后視頻流的運動矢量具有較強的相關性,本文提出了一種基于線性回歸模型的運動矢量重估計算法,根據原始視頻流的運動矢量得到下采樣視頻的運動矢量,適合于H.264空間分辨率縮減的視頻轉碼。
1. 轉碼器的體系結構
轉碼器的結構可以分為兩類:級聯像素域轉碼結構(CPDT)和DCT域轉碼結構(DDT)。相對DDT結構,CPDT具有結構靈活,漂移誤差小等特點[8]。本文采用CPDT實現H.264視頻流的空間分辨率轉碼,原理框圖如圖1所示。轉碼器由一個解碼器和一個編碼器級聯而成,即先對編碼碼流進行解碼,然后對重建視頻幀進行下采樣,再重新編碼。其中,基于線性回歸模型的運動矢量重估計是本文的核心。
對于H.264編碼器,運動估計占用了整個編碼過程約70%的運算量。因此,加快重編碼過程的運動估計成為提高轉碼速度的關鍵。原始視頻流的運動矢量與下采樣視頻流的運動矢量之間具有很強的相關性,為利用原始視頻流的運動矢量加快重編碼過程的運動估計提供了可能。此外,大量研究表明:解碼得到的宏塊編碼模式與率失真優化(RDO)算法得到的宏塊編碼模式的相關性不強,通過原始數據流運動信息確定宏塊編碼模式計算速度提高較小,而視頻質量影響較大[9]。本文主要針對運動矢量重估計展開研究,宏塊編碼模式的確定則使用標準的RDO方法。
圖1 空間分辨率轉碼結構
Fig.1 Framework of spatial resolution transcoding
視頻下采樣后的每個塊都對應原始視頻的一塊區域。圖2反應了下采樣前后視頻流的運動矢量之間的映射關系。其中,B表示下采樣圖像的某個分塊,R表示該塊在原始視頻圖像對應的區域,該區域由多個具有獨立運動矢量的分塊組成。H.264支持7種幀間預測模式,每種預測模式i都對應從塊Bi到區域Ri的映射。假設原始視頻數據流得到區域Ri的所有塊的運動矢量為vi=(x1,x2,…,xM),其中M代表Ri中塊的個數。假設通過RD優化算法得到塊Bi的運動矢量為yi,則待研究的轉碼就是要解決如何根據區域Ri的運動矢量vi得到塊Bi運動矢量yi的問題。
圖2 下采樣圖像和原始圖像運動適量對應關系Fig.2 Map of motion vectors between down sampling and original images
3. 運動矢量的合成和修正
基于H.264轉碼的運動矢量研究算法一般包含兩個步驟:第一,解碼原始的壓縮數據流,計算出運動矢量的估計值。第二,在一個較小的范圍內進行運動矢量的搜索和修正。運動矢量的估計值越準確,有助于減小搜索范圍,提高運動矢量修正的效率。
前文提到,原始視頻流的運動矢量與下采樣視頻流的運動矢量有很大的相關性。因此,需要通過一種模型表示這種相關性。文獻[10]將線性回歸模型運用在MPEG-4編碼端的運動估計過程中,文獻[11]將線性回歸模型應用在速率控制方面,都取得了較好的效果。本文提出利用線性回歸模型,進行視頻轉碼過程的運動矢量重估計。H.264有7種幀間預測模式,需要對每種預測模式分別建立線性回歸模型,該模型定義如下:
(1)
其中, , ,…, 為未知參數,可以從當前視頻序列采集數據對該模型進行訓練,得到相應的未知參數,從而支持該視頻序列的特征。方法如下:
1) 解碼原始的壓縮數據流,對其進行下采樣。
2) 開始階段用標準的H.264編碼方式和R-D優化算法對其進行重編碼,保存得到的所有塊的運動矢量,按照宏塊預測模式對其進行分類。i表示宏塊預測模式,Ni表示該預測模式的塊的個數,它們的運動矢量表示為:{yn, n = 1, 2,…, Ni}。
3) 找到2)中的所有塊在原始視頻圖像中的對應區域,用{xmn, m=1,2,…M, n=1, 2,…, Ni}表示它們對應的運動矢量。
4) 從上述方法獲取的數據Si={( xmn, yn), m=1,2,…M ,n = 1, 2, …, Ni }中選取N組數據S = {( xmn, yn), m=1,2,…M ,n = 1, 2, …, M}對預測模式為i的線性回歸模型進行訓練。
5)將N組數據對應的 的平均值確定為該預測模式下未知參數的值。
視頻的特征會影響N的取值,而N值的大小,又會影響運動估計的速度和準確性。通過實驗發現:當N取8時,能得到較好的實驗結果。將數據S = {( xmn, yn), m=1,2,…M ,n = 1, 2, …, M },應用在線性回歸模型(1)中可得:
(2)
根據式(2)可推導出:
(3)
(4)
(5)
每個線性回歸模型的運動矢量都對應兩個相互獨立的方向,例如: Y = (y1, y2), X = {(x1m, x2m), m=1,2,…,M},= {( ,), m=1,2,…,M },該模型對應2個線性方程,如下所示:
(6)
因此,對7種不同的預測模式及兩個相互獨立的方向需要分別建立線形回歸模型。將求得的參數保存在轉碼器的緩沖區中,利用線性回歸模型,后續幀在B塊的運動矢量可以通過以下步驟獲取:
1)確定該塊的預測模式i。
2)在原始視頻圖象中找到該塊對應的區域R,記錄該區域各塊的運動矢量。
3)將得到的運動矢量運用到預測模式為i的線性回歸模型中,求得B塊的運動矢量。
4)通過1/4像素精度,快速搜索算法來獲取最佳運動矢量。
4 實驗結果和分析
為了測試本文算法的性能,在以下實驗平臺進行了仿真實驗:Pentium(R) 4 CPU 3.00GHz 2.99GHz,504MB內存的PC機,程序運行環境:VC++ 6.0。輸入視頻流采用開源的H.264/AVC校驗模型JM8.6得到,編碼端的主要參數設置如表1所示。
視頻測試序列選取Mother Daughter, Foreman和Tempete (CIF格式),它們具有不同的運動復雜度。圖3列出了這3種視頻測試序列中的具有代表性的幀。
(a)Mother Daughter
(b) Foreman
(c) Tempete
圖 3 視頻測試序列
Fig.3Testing Sequences
將本文的方法(LRM)和下面3種方法進行比較:(1) BestRD:指重編碼過程中,按照H.264編碼標準直接進行CPDT,并使用R-D優化算法;(2) Benchmark:指重編碼過程中,仍然按照H.264編碼標準進行CPDT,但不使用R-D優化算法;(3)文獻[7]( AMV):利用原始視頻流運動矢量的平均值來替代下采樣視頻流的運動矢量。表2-4列出了對3個序列采用4種轉碼方法時的R-D結果和時間開銷。可以看出,使用BestRD方法具有最好的R-D性能,但同時它的耗時也是最多的。AMV方法耗時最少,但是R-D性能卻是最差的。本文算法的R-D性能和時間開銷介于二者之間,與理論分析結果一致。
以Foreman序列為例,圖4給出了分別采用上述4種方法時的R-D性能比較,圖5 則是它們的耗時比較。可以看出,本文提出的方法和Benchmark方法R-D性能相似,接近BestRD方法,較AMV方法有明顯的提高。同時,耗時只占BestRD方法的6.40%,Benchmark方法的8.33%,極大地降低了計算的復雜度。同時,在碼率變化時具有較穩定的性能。AMV方法比本文的方法要快一些,但R-D性能演示要差很多。總之,本文的方法維持在一個較小的率失真情況下, 計算效率有較大的提高。
圖 4Foreman 序列4種轉碼方法的R-D性能
Fig.4 R-D Capability Comparison among Four Transcoding Methods of Sequence Foreman
圖 5Foreman 序列4種轉碼方法的耗時比較圖
Fig.5 Comparison of Time Consumption among Four Transcoding Methods of Sequence Foreman
5 結束語
本文提出了一種基于線性回歸模型的運動矢量重估計算法,可根據原始視頻流的運動矢量得到下采樣視頻的運動矢量,適合于H.264空間分辨率縮減的視頻轉碼。實驗結果證明該算法對視頻質量所造成的損失較小,同時顯著地減小了轉碼過程的計算復雜度,有利于實時轉碼的實現。
參考文獻
[1]VETRO A, CHRISTOPOULOS C, SUN H F. Video transcoding architectures and techniques: an overview [J]. IEEE Signal Processing Magazine, 2003, 20(2): 18-29.
[2]楊高波,余圣發. 壓縮域的H.264視頻轉換編碼及其關
鍵技術分析[J]. 通信學報,2006,27(10): 124-131
YANG Gao-bo, XU Sheng-fa. Video transcoding for H.264 in the compressed domain and key techniques analysis[J]. Journal on Communications, 2006, 27(10): 124-131.
[3]ZHANG P, LU Y, HUANG Q M, GAO W. Mode mapping method for h.264/avc spatial downscaling transcoding[C]// Proc of IEEE International Conference on Image Processing. Singapore: IEEE Press, 2004,2781-2784.
[4]SHEN B, SETHI I K, VASUDEV B. Adaptive motion vector resampling for compressed video downscaling [J]. IEEE Transactions Circuits and Systems for Video Technology, 1999, 9(6): 929-936.
[5]COCK J D, NOTEBAERT S, VERMEIRSCH K, et al, Efficient spatial resolution reduction transcoding for H.264/AVC[C]// Proc of IEEE International Conference on Image Processing. San Diego: IEEE Press, 2008:1208-1211.
[6]SHEN H F, SUN X Y, WU F, et al. A fast downsizing video transcoder for h.264/avc with rate-distortion optimal mode decision[C]// Proc of IEEE International Conference on MultimediaExpo. Toronto: IEEE Press, 2006:2017-2020.
[7]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.
[8]XIN J, LIN C W, SUN M T. Digital video transcoding[J]. Proceedings of the IEEE, 2005, 93(1): 84-97.
[9]WANG J, YANG E H, YU X. An efficient motion estimation method for H.264-Based video transcoding with spatial resolution conversion[C]// Proc of IEEE International Conference on Multimedia Expo. Beijing, IEEE Press, 2007:444-447.
[10]KIM H S, CHUL L J, TAE P K. Motion estimation method using multiple linear regression model[C]// the International Society for Optical Engineering , San Jose: Society of Photo-Optical Instrumentation Engineers, 1997. 600-607.
[11]CHEN Z Z, NGI N K. Rate control for video coder employing adaptive linear regression bits modeling [J]. Signal Processing: Image Communication, 2007, 22(1): 19-38.