作者:admin [ 2010-3-28 22:43:29 ]
摘要:針對H.264視頻編碼在運(yùn)動估計定位及搜索時,現(xiàn)有算法普遍效率偏低、計算復(fù)雜度偏大的現(xiàn)狀,本文從H.264視頻編碼的基本原理和編碼過程入手,設(shè)計了在模式選擇時的過濾方法,從而實(shí)現(xiàn)新了對運(yùn)動估計算法的優(yōu)化,仿真試驗(yàn)結(jié)果表明了該優(yōu)化算法具有良好的搜索速度和準(zhǔn)確的搜索結(jié)果。 關(guān)鍵詞:H.264;視頻編碼;運(yùn)動估計算法;模式過濾優(yōu)化 1 引言 H.264是ITU-T渾和MPEG組聯(lián)合專家組JVT制定的目前最新的視頻編碼標(biāo)準(zhǔn),這一編碼標(biāo)準(zhǔn)可以獲得很高的編碼效率,尤其是在低碼率方面比MPEG-4有明顯的提高,非常適合低寬帶、高質(zhì)量網(wǎng)絡(luò)視頻應(yīng)用的需要。但是,H.264為了提高編碼效率,采用了許多高計算復(fù)雜度的算法,使得編解碼計算量很大,因此對軟硬件的要求甚高,同時也加大了編解碼的難度。因?yàn)樵谕ǔG闆r下,很多方法無法實(shí)現(xiàn)在有限硬件支持的條件下,使得編碼質(zhì)量達(dá)到最優(yōu)。 為了使H.264能比較容易的在低碼率高時性的應(yīng)用系統(tǒng)中實(shí)現(xiàn),必須對其編碼算法進(jìn)行優(yōu)化。對H264編碼器各個算法模塊進(jìn)行分析可以得出,運(yùn)動估計模塊的計算量占了整個編碼器運(yùn)算量的70%以上。因此,要對整個編碼器進(jìn)行優(yōu)化,運(yùn)動估計模塊應(yīng)作為首選。 2 研究背景 H.264在 進(jìn)行運(yùn)動估計時,首選進(jìn)行運(yùn)動矢量預(yù)測,預(yù)測后獲得初始運(yùn)動矢量,把這個初始的運(yùn)動矢量作為搜索中心進(jìn)行塊匹配搜索,收縮時采用全搜索算法,即給出搜索中 心周圍的一個范圍,對該范圍內(nèi)矩形區(qū)域內(nèi)的所有的點(diǎn),都要計算一次匹配結(jié)果,從中選出最佳匹配點(diǎn)作為整像素搜索的結(jié)果。H.264的全搜索算法,優(yōu)點(diǎn)是可以找到限定范圍內(nèi)的全局最優(yōu)匹配結(jié)果,運(yùn)動估計精度很高;其不足在于算法的復(fù)雜度太高,成為整個編碼體系中最為耗時的一部分,因此,在盡可能小的質(zhì)量損失前提下,提高運(yùn)動估計搜索速度,是對H264進(jìn)行優(yōu)化的關(guān)鍵。 當(dāng)前,對于H.264的視頻編碼運(yùn)動估計算法,研究并應(yīng)用的較為成熟的算法有很多,主要有三步查找算法、2D對數(shù)查找算法、新三步查找算法、四步查找算法、自適應(yīng)塊匹配算法,以及混合自適應(yīng)查找算法。 上述各種運(yùn)動估計算法,更多的是為低比特率視頻應(yīng)用服務(wù)的,因此除了考慮減少計算量從而進(jìn)行快速運(yùn)動估計外,他們更多的是考慮MSE性能,這是因?yàn)檫@些算法追求的目標(biāo)是誤差項(xiàng)盡可能小從而減少編碼的長度;從運(yùn)動分析的角度出發(fā),考慮的更多的是匹配的準(zhǔn)確性,從這個意義上講,基于CCF的 匹配準(zhǔn)則和基于像素差的匹配準(zhǔn)則更適合,盡管他們的計算量更大一些,另外,跟視頻壓縮比較起來,運(yùn)動分析的計算量要小一些,因此減少計算量是值得考慮的, 但是并不是考慮的重點(diǎn),典型的運(yùn)動估計算法解決方案通常采用減少搜索點(diǎn)以及設(shè)置閥值來降低計算的計算復(fù)雜度。經(jīng)過大量的試驗(yàn)數(shù)據(jù)統(tǒng)計,可以發(fā)現(xiàn)很多塊的模 式(尤其在H.264中)可以直接確定,這樣可以減少判斷塊的模式類型選擇的過程,因此,結(jié)合上述分析,本研究課題試圖提出一種在模式過濾基礎(chǔ)上的運(yùn)動估計算法,從而實(shí)現(xiàn)對傳統(tǒng)的H.264視頻編碼運(yùn)動估計算法的優(yōu)化。 3 優(yōu)化算法的實(shí)現(xiàn) 在標(biāo)準(zhǔn)的代碼中,有10個模式可供選擇,即SKIP,16×16,16×8,8×16,8×8,8×4,4×8,4×4,intra4×4和intra16×16。H.264在進(jìn)行模式選擇時,首先對當(dāng)前塊采用所有的模式進(jìn)行運(yùn)動估計,然后比較在每種模式下碼率的大小,碼率小的模式作為最終的選擇模式。該過程是一個非常繁瑣的搜索方法,它盲目的搜索了所有的候選模式,造成了冗余度很大的計算復(fù)雜度。 本研究課題所提出的對H.264進(jìn)行運(yùn)動估計編碼算法的思想是,對所有的候選模式進(jìn)行過濾,從而減少對運(yùn)動編碼模式定位搜索的耗時,因此該算法的關(guān)鍵是如何在10種模式中過濾出發(fā)生概率很小但又不影響編碼效果的模式。 3.1候選模式的過濾 在很多現(xiàn)實(shí)的應(yīng)用場合,尤其是視頻電話和視頻監(jiān)控系統(tǒng),其背景大部分都是靜止的,因此在視頻幀中有很多的8×8塊都可以認(rèn)為是靜止的。通過數(shù)據(jù)統(tǒng)計發(fā)現(xiàn),某一個8×8塊可以直接被判定為靜止塊,只要它的SAD8×8值小于某一閥值T1。經(jīng)過大量的視頻測試數(shù)據(jù)顯示,得到判斷一個8×8子塊為靜止的閥值T1為150-300??紤]到閥值越大,產(chǎn)生的誤差越大,因此取T1=150。即SAD8×8<T1,就可判斷該8×8塊為靜止塊。 經(jīng)過試驗(yàn)的進(jìn)一步發(fā)現(xiàn),塊的模式選擇跟一個宏塊中靜止的8×8塊個數(shù)密切相關(guān)。通過全搜索方法可獲得最佳塊模式在不同靜止8×8塊個數(shù)的條件下的累計概率,如表1所示,實(shí)際上,可以忽略那些概率小于0.1%的模式,因?yàn)樗鼈儗σ曨l編碼的質(zhì)量影響不大,但是經(jīng)過這些模式的排除卻極大地降低了計算的復(fù)雜度。 表1各種模式在不同靜止塊個數(shù)下的積累概率
結(jié)合上表的概率統(tǒng)計,可以在不同情況下采用下面的標(biāo)準(zhǔn)來過濾那些影響因素小的塊模式:用N記錄一個宏塊中SAD8×8<T1的個數(shù)。根據(jù)不同的N值可以直接過濾一下候選模式。如下所示,為基本的過濾原則: 如果N=4,那么SKIP,16×16和intra16×16模式為候選模式; 如果N=3,那么SKIP,16×16,16×8,8×16和intra16×16模式為候選模式; 如果N=2,那么SKIP,16×16,16×8,8×16,intra4×4和intra16×16模式為候選模式; 如果N=1,那么SKIP,16×16,16×8,8×16,8×8,intra4×4和intra16×16模式為候選模式。 3.2多層模式的過濾 從上面的分析可以發(fā)現(xiàn),在經(jīng)過候選模式的初步過濾之后,每一種情況下仍然有不止一種的塊模式可供選擇,如何在剩下的幾個模式中進(jìn)一步過濾,以最快的實(shí)現(xiàn)運(yùn)動估計定位搜索呢? 為了實(shí)現(xiàn)在初步過濾后剩下的多層模式中快速過濾定位運(yùn)動估計模式,需要引入一種信的運(yùn)動矢量預(yù)測值。在傳統(tǒng)的運(yùn)動估計中運(yùn)動矢量的預(yù)測值,通常是假設(shè)塊周圍的運(yùn)動矢量是一致和平滑的,因此對于某一個宏塊而言,它通常把周圍宏塊的運(yùn)動矢量、周圍運(yùn)動矢量的平均值或SAD值最小的宏塊的運(yùn)動矢量作為預(yù)測值。在很多視頻序列中,可以發(fā)現(xiàn)一個宏塊內(nèi)部的塊的運(yùn)動矢量更能夠提供一個好的預(yù)測值。例如,在一個宏塊中可以分割成4個8×8塊,而SAD值最大的那個8×8塊的運(yùn)動矢量可以很好的作為整個宏塊和包含該塊的上一層塊的運(yùn)動矢量的預(yù)測值,故該方法能夠很快的實(shí)現(xiàn)通過運(yùn)動矢量預(yù)測值實(shí)現(xiàn)對于多層模式的進(jìn)一步過濾。其優(yōu)越性尤其體現(xiàn)在當(dāng)塊周圍的運(yùn)動矢量場不是一個平滑區(qū)域的時候。 下面具體通過3個步驟來說明該過濾方法的有效性: 首先,對于在一個宏塊中SAD最大的那個8×8塊采用菱形搜索法得到其運(yùn)動矢量; 其次,把得到的運(yùn)動矢量作為包含該8×8塊的上層塊模式的運(yùn)動矢量預(yù)測值(PMV); 最后,定義一個該運(yùn)動矢量預(yù)測值和真實(shí)運(yùn)動矢量(MV)的差值(MD)公式: ; 上式中,PMVx和PMVy表示運(yùn)動矢量預(yù)測值PMV的x、y分量;MVx和MVy表示真實(shí)運(yùn)動矢量的x、y分量。 通過上式對MD進(jìn)行計算,并通過大量統(tǒng)計試驗(yàn)找出MD的概率分布區(qū)間,如下表2所示,從而完成進(jìn)一步的塊模式的過濾,進(jìn)而實(shí)現(xiàn)視頻編碼運(yùn)動估計的快速定位和搜索。 表2真實(shí)運(yùn)動矢量和預(yù)測值的差值MD的分布概率
通過對運(yùn)動矢量預(yù)測值和真實(shí)運(yùn)動矢量的差值MD的快速計算,利用差值MD作為進(jìn)一步過濾的閥值準(zhǔn)則,大大減少了編碼運(yùn)動估計模式判斷選擇的計算量,有效的提升了H.264視頻編碼的效率,有利于實(shí)現(xiàn)快速定位及搜索。 4 仿真分析 為了評價和衡量算法的優(yōu)越性,把該算法移植到JVT的參考代碼JM8.5版本中。采用一系列CIF(352×288)格式和代表不同運(yùn)動軌跡的視頻序列作為實(shí)驗(yàn)測試數(shù)據(jù),同時在試驗(yàn)中,量化參數(shù)QP設(shè)置為20,24,28,32、36和40。搜索范圍設(shè)置為[-16,15],并且只參考一個參考幀,在試驗(yàn)中采用了H.264中基準(zhǔn)的編碼部分并且保證視頻的輸入頻率為30fps;同時,采用峰值信噪比(PSNR)的變化、碼率(bitrate)和編碼的加速度作為實(shí)驗(yàn)的結(jié)果跟標(biāo)準(zhǔn)代碼的結(jié)果進(jìn)行比較。實(shí)驗(yàn)結(jié)果入表3所示: 表3模塊過濾算法仿真試驗(yàn)結(jié)果
從實(shí)驗(yàn)數(shù)據(jù)可以得出:同標(biāo)準(zhǔn)代碼的實(shí)驗(yàn)數(shù)據(jù)相比,視頻序列“akyio”、“news”和“M&D”中的峰值信噪比降低了0.065,同時碼率上升了0.90%,但是提升了63.41%的編碼加速度;另一方面,對于那些趨向于全局運(yùn)動的視頻序列包括“mobile”,和“flower”,提升了26.04%的編碼加速度,峰值信噪比降低了0.034,同時碼率上升了0.83%;而對于運(yùn)動幅度劇烈且雜亂的視頻序列“foreman”,峰值信噪比降低了0.086,同時碼率上升了4.84%,但是提升了46.33%的編碼加速度。 從上述實(shí)驗(yàn)數(shù)據(jù)看來,算法在視頻編碼的效果、碼率以及編碼速度之間取得了一個很好的折中,同時算法能夠適用于各種不同的視頻場合,尤其適用于那些背景變化幅度不大的視頻場景,比如視頻電話和視頻監(jiān)控等低碼率的應(yīng)用場合(尤其類似于視頻序列中的“news”和“akyio”),而對于那些空間相關(guān)性很強(qiáng)的視頻場合,算法提供的模式過濾方法也能提供很好的效果。 5 結(jié)語 本 論文對塊模式匹配的運(yùn)動估計算法進(jìn)行了改進(jìn),提出了一些傳統(tǒng)算法很少解決但在很大程度上影響運(yùn)動估計速度和性能的模式選擇方法,克服了現(xiàn)有的搜索方式存在 的通病——容易陷入局部最優(yōu)而得不到全局最優(yōu)的運(yùn)動矢量,這比現(xiàn)有的運(yùn)動估計算法更合理;同時,結(jié)合等級過濾塊模式的方法能夠更好的把點(diǎn)的匹配搜索與塊的 匹配搜索統(tǒng)一起來,因此既能夠兼顧全局又有效的提升了搜索精度和速度。仿真測試表明,本算法可獲得比一般的算法更小的匹配誤差和更快的搜索速度。
參考文獻(xiàn): [1] 畢厚杰. 新一代視頻壓縮編碼標(biāo)準(zhǔn)——H.264/AVC[M]. 北京: 人民郵電出版社, 2005. [2] T.Stockhammer, M.M.Hannuksela, T.Wiegand. H.264/AVC in wireless environments[J]. IEEE Trans. Circuits Syst. Video Technol., 2003, 13(1): 657-673. [3] H.Malvar, A.Hallapuro, M.Karczewicz, L.Kerofsky. Low-Complexity transform and quantization in H.264/AVC[J]. IEEE Trans. Circuits Syst.Video Technol., 2003, 16(3): 598-603. [4] 楊黎波. H.264視頻編碼快速算法研究[D]. 杭州: 浙江大學(xué), 2005. [5] 周敬利, 金毅, 余勝生等. 基于H.264/AVC視頻編碼技術(shù)的研究[J]. 華中科技大學(xué)學(xué)報(自然科學(xué)版), 2003, 31(8): 32-34. [6] Heng-Yao Lin, Yi-Chih Chao, Che-Hong Chen,et, al. Combined 2-D Transform and Quantization Architecture for H.264 Video Coders. IEEE., 2005, 1802-1805. |
|