一種基于DSP平臺的快速H.264編碼算法的設(shè)計
2.2 編碼器編碼流程
本文引用地址:http://www.ex-cimer.com/article/84083.htm如圖4所示為H.264編碼器主流程。對輸入的一幀圖像首先進行單元劃分:以宏塊為基本單元進行劃分,再由若干宏塊在組合成Slice,由Slice再組合成Slice Group,這樣每個宏塊所屬的Slice和Slice Group也就確定了。再判斷輸入的一幀圖像是I-Frame還是P-Frame。在以上工作完成后,也就可以對每個宏塊進行編碼了。在對每個宏塊都編碼完成后,還需要對重構(gòu)圖像進行1/4象素精度插值處理、參考幀緩沖區(qū)插入處理等工作。至此,編碼一幀的工作才算完成。
3 運動估計模式快速率失真決策
為了減少圖像序列的時間冗余,達到更好壓縮效果的目的,H.264/AVC編碼方案采用運動補償技術(shù)和預(yù)測。即由先前已編碼的一個或多個幀產(chǎn)生當前編碼幀的一種預(yù)測模式,然后再進行預(yù)測編碼。且采用了一種可變塊尺寸的運動預(yù)測模式,亮度塊尺寸的范圍從16×16變化到4×4,其中包含很多可選模式,形成了一種樹形結(jié)構(gòu)的運動預(yù)測。對于I幀(包含幀內(nèi)4×4、幀內(nèi)16×16),對P幀(包含幀內(nèi)4×4、幀內(nèi)16×16、SKIP模式、幀間16×16、幀間16×8、幀間8×16、幀間8×8、幀間8×4、幀間4×8)同時還為P幀和B幀提供了特殊的SKIP模式,總共11種模式。這些可選模式的存在使得編碼方式更加靈活,編碼精度相對于固定尺寸塊預(yù)測要高很多。然而,可選的幀問預(yù)測模式增加了,必然會使得運算復(fù)雜度增加,因此有必要采用一種高效的決策方法來選取塊尺寸組合方式,使得編碼效率和編碼質(zhì)量均佳。
3.1 拉各朗日代價函數(shù)
引入拉各朗日代價函數(shù)如下:
其中D表示重構(gòu)恢復(fù)圖像相對于原始圖像間的失真;R(si,m)表示對宏塊編碼后數(shù)據(jù)及相關(guān)參數(shù)在碼流中所占用的比特數(shù),一般由編碼統(tǒng)計得到,但對于SKIP模式,比特數(shù)默認為1比特;λ表示模式選擇時所使用的拉各朗日乘積因子。
對于運動估計,可使用拉各朗日代價函數(shù)作為選擇運動矢量的判決標準。根據(jù)式(1)得到對一個采樣塊si進行ME判決的代價函數(shù)為下:
該式返回產(chǎn)生最小代價值的最佳匹配運動矢量mi,其中M指各種可能編碼模式的集合,m為當前選定模式,式(2)中R(si,m)是運動矢量(mx,my)所要傳輸(按熵編碼)的比特數(shù)。D(si,m)表示對圖像宏塊的預(yù)測誤差,對于該預(yù)測誤差的計算有兩種方案:當預(yù)測誤差選擇是絕對誤差時用(SAD)表示,如式(3);當預(yù)測誤差選擇是平方差時,則用SSD表示,如式(4)中:
其中A為當前編碼宏塊。在使用多參考幀進行運動估計時,mi表示所選用的最佳參考幀。在進行運動搜索時,對塊si先是進行整象素精度的運動搜索,以取式(1)最小值為匹配標準,得到整象素精度最佳匹配點后,以同樣的方法進行1/2,1/4象素精度的匹配搜索。同時在多個參考幀內(nèi)作同樣的操作,將所得的函數(shù)代價進行比較得到最小值,也就找到了s,塊的最佳匹配的運動矢量mi。
3.2 快速預(yù)測模式判斷算法
快速算法相對于拉各朗日代價函數(shù)算法,可分以下兩步實現(xiàn):
(1)以基于預(yù)測模式的方式計算代價函數(shù)J,但是這里采用簡化的計算方法,對每一種采樣模式進行分行交錯隔點采樣,如對8×8塊內(nèi)象素進行下采樣,采樣如圖5所示。
然后對采樣點計算SAD,記做SADi。僅對采樣點計算的拉各朗日代價函數(shù)如下:
J=[SAD(si,m)+λ?R(si,m)]
先對上述各種模式分別計算代價函數(shù)J,然后選擇代價最小的3種模式構(gòu)成候選模式集。
(2)對步驟(1)所得到的候選模式集中每個模式,按照式(1),通過計算基于率失真的代價來實現(xiàn)基于RDO的模式選擇,也即C值最小的模式作為最終預(yù)測模式。
4 測試結(jié)果與結(jié)論
目前,基于DM6446平臺上設(shè)計的以上H.264編碼器系統(tǒng)己基本完成,我們選擇了幾個常見的視頻對該編碼器進行了性能測試,測試數(shù)據(jù)如表1所示。數(shù)據(jù)表明本H.264編碼器能夠正常工作,且表現(xiàn)出較好的壓縮性能。當然該編碼器只實現(xiàn)了H.264協(xié)議的基本檔次的部分,而且尚未進行更專門的優(yōu)化過程,而協(xié)議的其他部分,由于其復(fù)雜性,則需要進行進一步研究,沿著這個方向,視頻還可以進一步壓縮。
評論