專利名稱:一種h.264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種H. 264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法,屬于視頻編碼技術(shù)。
背景技術(shù):
由于H. 264編碼中運(yùn)動(dòng)估計(jì)計(jì)算量在編碼器總的計(jì)算量中占到很大比重,達(dá)到 70%-80%,因此運(yùn)動(dòng)估計(jì)的改進(jìn)可以大大提高編碼器的效率。H. 264采用的是1/4像素精度的運(yùn)動(dòng)估計(jì),因?yàn)閷?shí)際中,超過1/8像素后,通過繼 續(xù)提高像素精度來提高編碼性能的效果已經(jīng)不明顯了。隨著大量高效的整像素運(yùn)動(dòng)估計(jì)快 速搜索算法的應(yīng)用,實(shí)際的整像素搜索點(diǎn)的數(shù)目只需10個(gè)左右即可,而這就使得1/4像素 運(yùn)動(dòng)估計(jì)的計(jì)算量在整個(gè)運(yùn)動(dòng)估計(jì)計(jì)算量中的比重越來越大,因此提高1/4像素運(yùn)動(dòng)估計(jì) 的效率可以有效減少編碼的計(jì)算量。1/4像素全搜索算法就是從整像素點(diǎn)到1/2像素點(diǎn),再到1/4像素點(diǎn)搜索逐步細(xì) 化的過程,而它的每一步搜索都是從該步的搜索起點(diǎn)開始,把它8個(gè)方向的像素點(diǎn)都進(jìn)行 SAD的計(jì)算,而實(shí)際上,這8個(gè)方向的像素點(diǎn)的概率是不一樣的,有些甚至是無效的計(jì)算,并 且往往有一種情況就是經(jīng)過1/4像素精度的全搜索之后,最佳匹配點(diǎn)卻仍是最初搜索的起 點(diǎn),這樣實(shí)際上浪費(fèi)了 16個(gè)像素點(diǎn)SAD值的計(jì)算。全搜索算法存在大量的不必要的計(jì)算, 消耗了大量的計(jì)算時(shí)間,降低了運(yùn)動(dòng)估計(jì)的效率。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供能夠有效提高了視頻編碼效率又較好的保持 了圖像質(zhì)量的一種H. 264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案
一種H. 264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法,其特征在于所述方法的步驟如下
(一)首先計(jì)算第一搜索起點(diǎn)0周圍菱形的4個(gè)1/4像素點(diǎn)的SAD值,然后將它們與所 述第一搜索起點(diǎn)0的SAD值進(jìn)行比較,具有最小SAD值的點(diǎn)為最優(yōu)點(diǎn);
當(dāng)最優(yōu)點(diǎn)為所述第一搜索起點(diǎn)0,則搜索結(jié)束;得到最優(yōu)1/4像素點(diǎn);否則進(jìn)行下述第 (二)步;
(二)比較所述第一搜索起點(diǎn)0周圍8個(gè)相鄰的整像素點(diǎn)的SAD值,其中SAD值最小的 那個(gè)整像素點(diǎn)為次優(yōu)點(diǎn)L ;
(1)當(dāng)所述次優(yōu)點(diǎn)L位于以所述第一搜索起點(diǎn)0為中心的正方形的4個(gè)角時(shí),所要進(jìn)一 步搜索的3個(gè)1/2像素點(diǎn)位于“L”型或倒“L”型的3個(gè)頂點(diǎn)上;
取所述次優(yōu)點(diǎn)L所在的位置點(diǎn)為第二搜索起點(diǎn),即所述4個(gè)角中的一個(gè)整像素點(diǎn); 再搜索位于“L”型或倒“L”型3個(gè)頂點(diǎn)上的3個(gè)1/2像素點(diǎn)的SAD值,然后比較它們 的SAD值,求出其最小值,得到最優(yōu)1/2像素點(diǎn);
(2)當(dāng)所述次優(yōu)點(diǎn)L位于以所述第一搜索起點(diǎn)0為中心的正方形的4個(gè)邊的中點(diǎn)時(shí),所 要進(jìn)一步搜索的3個(gè)1/2像素點(diǎn)位于一條直線上;
3取所述次優(yōu)點(diǎn)L所在的位置點(diǎn)為第三搜索起點(diǎn),再搜索位于所述一條直線上的3個(gè)1/2 像素點(diǎn),然后計(jì)算它們的SAD值,求出其最小值,得到最優(yōu)1/2像素點(diǎn);
(三)以上述第(二)步中的第(1)步和第(2)步中得到的最優(yōu)1/2像素點(diǎn)為第四搜索起 點(diǎn),采用菱形搜索法搜索1/4像素點(diǎn),比較所述最優(yōu)1/2像素點(diǎn)周圍4個(gè)1/4像素點(diǎn)的SAD 值,得到1/4最優(yōu)像素點(diǎn)。本發(fā)明的有益效果是減少了搜索像素點(diǎn)的個(gè)數(shù),搜索點(diǎn)的個(gè)數(shù)共有11個(gè),遠(yuǎn)遠(yuǎn)低 于1/4像素全搜索的17個(gè)像素點(diǎn),提高了運(yùn)動(dòng)估計(jì)的速度,大大減少了編碼時(shí)間,從而既提 高了視頻編碼效率,又較好地保持了圖像的質(zhì)量。
圖1是本發(fā)明所述搜索方法算法的示意圖2-1和圖2-2是本發(fā)明搜索1/2像素點(diǎn)時(shí)的示意圖; 圖3是本發(fā)明的流程圖。在圖1和圖2中,“〇”為整像素點(diǎn),“Δ”為1/2像素點(diǎn),“
”為1/4像素點(diǎn)。
具體實(shí)施例方式實(shí)施例(參見圖3): 本實(shí)施例的步驟如下
(一)如圖1所示,首先計(jì)算第一搜索起點(diǎn)0周圍菱形的4個(gè)1/4像素點(diǎn)i、n、m、ir的 SAD值,然后將它們與第一搜索起點(diǎn)0的SAD值進(jìn)行比較,具有最小SAD值的點(diǎn)為最優(yōu)點(diǎn),當(dāng) 最優(yōu)點(diǎn)是第一搜索起點(diǎn)0,則搜索結(jié)束,得到最優(yōu)1/4像素點(diǎn);否則進(jìn)行下述第(二)步。
(二)比較第一搜索起點(diǎn)0周圍8個(gè)相鄰的整像素點(diǎn)錢、錢、錢、、K、V7、H1、//2的 SAD值,找到SAD值最小的那個(gè)像素點(diǎn),記為次優(yōu)點(diǎn)£。 (1)當(dāng)次優(yōu)點(diǎn)L位于以第一搜索起點(diǎn)0為中心的正方形的四個(gè)角時(shí),即像素點(diǎn)珥、 螞、蠔、螞(見圖2-1),此時(shí)要搜索的3個(gè)1/2像素點(diǎn)位于“L”型或倒“L”型的3個(gè)頂點(diǎn)上; 當(dāng)次優(yōu)點(diǎn)L為餌,則搜索的1/2像素點(diǎn)為1、2、8,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)L為叢,則搜索的1/2像素點(diǎn)為2、3、4,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)L為叢,則搜索的1/2像素點(diǎn)為4、5、6,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)L為^ ,則搜索的1/2像素點(diǎn)為6、7、8,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
(2)當(dāng)次優(yōu)點(diǎn)L位于以第一搜索起點(diǎn)0為中心的正方形的4個(gè)邊的中心點(diǎn)時(shí),即像素點(diǎn) m W2 (見圖2-2),此時(shí)要搜索的3個(gè)1/2像素點(diǎn)位于一條直線上;
當(dāng)次優(yōu)點(diǎn)L為坧,則搜索的丨/2像素點(diǎn)為1、2、3,然后計(jì)算它們的SAD值,求出其最小
4者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)!^為蠔,則搜索的像素點(diǎn)為5、6、7,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)L為巧,則搜索的1/2像素點(diǎn)為7、8、1,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
當(dāng)次優(yōu)點(diǎn)L為&則搜索的像素點(diǎn)為3、4、5,然后計(jì)算它們的SAD值,求出其最小 者,得到最優(yōu)1/2像素點(diǎn);然后進(jìn)入下述第(三)步;
(三)以上述第(二)步得到的最優(yōu)1/2像素點(diǎn)為第四搜索起點(diǎn),利用菱形搜索算法,進(jìn) 行搜索,得到最優(yōu)的1/4像素點(diǎn);例如,如圖2-1和圖2-2中假定第(二)步得到的最優(yōu)1/2 像素點(diǎn)為點(diǎn)7,其菱形搜索算法中的四個(gè)1/4像素點(diǎn)為a、b、c、d,然后分別計(jì)算它們的SAD 值,比較得到具有最小SAD值的點(diǎn)即為最優(yōu)1/4像素點(diǎn)。
權(quán)利要求
1. 一種H. 264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法,其特征在于所述方法的步驟如下(一)首先計(jì)算第一搜索起點(diǎn)0周圍菱形的4個(gè)1/4像素點(diǎn)的SAD值,然后將它們與所 述第一搜索起點(diǎn)0的SAD值進(jìn)行比較,具有最小SAD值的點(diǎn)為最優(yōu)點(diǎn);當(dāng)最優(yōu)點(diǎn)為所述第一搜索起點(diǎn)0,則搜索結(jié)束;得到最優(yōu)1/4像素點(diǎn);否則進(jìn)行下述第 (二)步;(二)比較所述第一搜索起點(diǎn)0周圍8個(gè)相鄰的整像素點(diǎn)的SAD值,其中SAD值最小的 那個(gè)整像素點(diǎn)為次優(yōu)點(diǎn)L ;(1)當(dāng)所述次優(yōu)點(diǎn)L位于以所述第一搜索起點(diǎn)0為中心的正方形的4個(gè)角時(shí),所要進(jìn)一 步搜索的3個(gè)1/2像素點(diǎn)位于“L”型或倒“L”型的3個(gè)頂點(diǎn)上;取所述次優(yōu)點(diǎn)L所在的位置點(diǎn)為第二搜索起點(diǎn),即所述4個(gè)角中的一個(gè)整像素點(diǎn);再搜索位于“L”型或倒“L”型3個(gè)頂點(diǎn)上的3個(gè)1/2像素點(diǎn)的SAD值,然后比較它們 的SAD值,求出其最小值,得到最優(yōu)1/2像素點(diǎn);(2)當(dāng)所述次優(yōu)點(diǎn)L位于以所述第一搜索起點(diǎn)0為中心的正方形的4個(gè)邊的中點(diǎn)時(shí),所 要進(jìn)一步搜索的3個(gè)1/2像素點(diǎn)位于一條直線上;取所述次優(yōu)點(diǎn)L所在的位置點(diǎn)為第三搜索起點(diǎn),再搜索位于所述一條直線上的3個(gè)1/2 像素點(diǎn),然后計(jì)算它們的SAD值,求出其最小值,得到最優(yōu)1/2像素點(diǎn);(三)以上述第(二)步中的第(1)步和第(2)步中得到的最優(yōu)1/2像素點(diǎn)為第四搜索起 點(diǎn),采用菱形搜索法搜索1/4像素點(diǎn),比較所述最優(yōu)1/2像素點(diǎn)周圍4個(gè)1/4像素點(diǎn)的SAD 值,得到1/4最優(yōu)像素點(diǎn)。
全文摘要
本發(fā)明公開了一種H.264編碼運(yùn)動(dòng)估計(jì)中的快速搜索方法,其包括以下步驟(一)首先計(jì)算第一搜索起點(diǎn)O周圍的4個(gè)1/4像素點(diǎn)的SAD值,比較得出SAD值最小的點(diǎn),記為最優(yōu)點(diǎn);(二)當(dāng)?shù)?一)步中的最優(yōu)點(diǎn)不是第一搜索起點(diǎn)O,則比較第一搜索起點(diǎn)O周圍8個(gè)鄰近的整像素點(diǎn),將SAD值最小的點(diǎn)記為次優(yōu)點(diǎn);根據(jù)次優(yōu)點(diǎn)的不同方位,確定1/2像素點(diǎn)的預(yù)測(cè)方向,然后計(jì)算具有最小SAD值的1/2像素點(diǎn);(三)以求得的1/2像素點(diǎn)為第四搜索起點(diǎn),采用菱形搜索法,求得最優(yōu)的1/4像素點(diǎn)。本發(fā)明依據(jù)搜索起點(diǎn)周圍的像素點(diǎn)具有不同概率的特點(diǎn),確定了分像素的搜索方向,大大減少了搜索的像素?cái)?shù),提高了H.264中運(yùn)動(dòng)估計(jì)的效率。
文檔編號(hào)H04N7/26GK102123284SQ20111006547
公開日2011年7月13日 申請(qǐng)日期2011年3月18日 優(yōu)先權(quán)日2011年3月18日
發(fā)明者劉立國(guó), 劉立松, 李俊紅, 柳香, 段勝業(yè), 郭蔚, 陳高天, 黃麗霞 申請(qǐng)人:河北師范大學(xué)