專利名稱:一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字視頻壓縮技術(shù),特別是一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法。
背景技術(shù):
在視頻編碼器的實(shí)現(xiàn)中,運(yùn)動(dòng)估計(jì)是整個(gè)編碼中的速度瓶頸之一。一個(gè)快速而高精確度的運(yùn)動(dòng)估計(jì)方法將大大降低實(shí)現(xiàn)平臺(tái)所需的單位時(shí)間所需要的指令周期(MIPS)。
傳統(tǒng)快速運(yùn)動(dòng)估計(jì)方法,如三步法(The three-step search,簡(jiǎn)稱TSS)的固定的搜索模式,其第一步過(guò)于粗糙,使得它可能很容易錯(cuò)誤地落到本地最小值中,對(duì)于那些小的運(yùn)動(dòng)矢量往往效果不太好。
再如鉆石搜索(Diamond Search,簡(jiǎn)稱DS)法以搜索模板形狀而得名,具有簡(jiǎn)單、魯棒、高效的特點(diǎn),是現(xiàn)有性能最優(yōu)的快速搜索算法之一。其基本思想是利用搜索模板的形狀和大小對(duì)運(yùn)動(dòng)估計(jì)算法速度及精度產(chǎn)生重要影響的特性。在搜索最優(yōu)匹配點(diǎn)時(shí),選擇小的搜索模板可能會(huì)陷入局部最優(yōu),選擇大的搜索模板則可能無(wú)法找到最優(yōu)點(diǎn)。因此DS算法針對(duì)視頻圖像中運(yùn)動(dòng)矢量的基本規(guī)律,選用了兩種形狀大小的搜索模板。
1、大鉆石搜索模板(Large Diamond Search Pattern,簡(jiǎn)稱LDSP),包含9個(gè)候選位置;2、小鉆石搜索模板(Small Diamond Search Pattern,簡(jiǎn)稱SDSP),包含5個(gè)候選位置。
DS算法搜索過(guò)程如下開(kāi)始階段先重復(fù)使用大鉆石搜索模板,直到最佳匹配塊落在大鉆石中心。由于LDSP步長(zhǎng)大,因而搜索范圍廣,可實(shí)現(xiàn)粗定位,使搜索不會(huì)陷于局部最小,當(dāng)粗定位結(jié)束后,可認(rèn)為最優(yōu)點(diǎn)就在LDSP周圍8個(gè)點(diǎn)所圍菱形區(qū)域中。然后再使用小鉆石搜索模板來(lái)實(shí)現(xiàn)最佳匹配塊的準(zhǔn)確定位,以不產(chǎn)生較大起伏,從而提高運(yùn)動(dòng)估計(jì)精度。但是,這種搜索方式仍然會(huì)產(chǎn)生有很多冗余。
如上所述,這些搜索方法都有各自的優(yōu)點(diǎn),但是都不能真正大幅度地提高在實(shí)際的芯片實(shí)現(xiàn)中的視頻編碼器性能。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法,主要解決現(xiàn)有三步法很容易錯(cuò)誤地落到本地最小值中而對(duì)于那些小的運(yùn)動(dòng)矢量往往效果不太好,以及鉆石搜索法會(huì)產(chǎn)生有很多冗余,以致于都不能真正大幅度地提高在實(shí)際的芯片實(shí)現(xiàn)中的視頻編碼器性能的技術(shù)問(wèn)題,并能運(yùn)用到實(shí)際手機(jī)視頻和其它應(yīng)用中。
為解決上述技術(shù)問(wèn)題,本發(fā)明是這樣實(shí)現(xiàn)的一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法,其特征是步驟如下
①根據(jù)SAD0的值來(lái)判斷是不是可以提前結(jié)束搜索THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可調(diào)的;如果SAD0<=THRESHOLD,其中那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為0;否則,進(jìn)行下一步;②用前一幀相應(yīng)位置的運(yùn)動(dòng)矢量做為預(yù)測(cè)點(diǎn)進(jìn)行運(yùn)動(dòng)預(yù)測(cè),如果當(dāng)前幀是GOP的第一個(gè)P幀,那么用(0,0)做預(yù)測(cè);選擇和SAD0比較最小的SAD的點(diǎn)作為真正的預(yù)測(cè)點(diǎn)SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,whereTHRESHOLD=-500+MAP(QP)*256,那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為預(yù)測(cè)的點(diǎn)的對(duì)應(yīng)的運(yùn)動(dòng)矢量;否則,進(jìn)行下一步;③以預(yù)測(cè)點(diǎn)為中心,用3×3十字搜索來(lái)進(jìn)行搜索直到minSAD落到十字的中心,從而得到整數(shù)運(yùn)動(dòng)矢量;④根據(jù)整數(shù)運(yùn)動(dòng)矢量對(duì)應(yīng)的點(diǎn),以及上一步得到的其周圍四個(gè)十字點(diǎn)的最小SAD值來(lái)預(yù)測(cè)半像素點(diǎn)的位置;SAD_halfpred=min(SAD[k]...),where k=0,..3;如果SAD_halfpred<minSAD,那么最后的運(yùn)動(dòng)矢量就是所預(yù)測(cè)的半像素所對(duì)應(yīng)的MV;否則,設(shè)整數(shù)運(yùn)動(dòng)矢量的值為最后的運(yùn)動(dòng)矢量;上述步驟中THRESHOLD閾值;QP量化步長(zhǎng);MAP(QP)基于量化步長(zhǎng)的函數(shù);ET提前終止;
SAD0零點(diǎn)的累積絕對(duì)誤差;GOP幀序列;SADpred預(yù)測(cè)點(diǎn)的累積絕對(duì)誤差;minSAD最小的累積絕對(duì)誤差;SAD_halfpred半像素點(diǎn)的累積絕對(duì)誤差。
該MAP函數(shù)如下表
藉由上述技術(shù)方案,本發(fā)明具有的技術(shù)效果是本發(fā)明方法大大減少了芯片視頻編碼器實(shí)現(xiàn)中運(yùn)動(dòng)估計(jì)的計(jì)算量,并大大降低了在實(shí)現(xiàn)中單位時(shí)間所需要的指令周期。在實(shí)現(xiàn)中的性能數(shù)據(jù)表明,在同等運(yùn)動(dòng)搜索精確度下,該方法對(duì)整數(shù)運(yùn)動(dòng)估計(jì)模塊的速度提升是典型的快速三步運(yùn)動(dòng)估計(jì)算法(TSS)的4-6倍,并超過(guò)了目前已知文獻(xiàn)所記載的最佳性能。另外,本發(fā)明方法中的半像素預(yù)測(cè)方法,大大提高了半像素部分運(yùn)動(dòng)估計(jì)的速度,并且免去了原來(lái)所需要的內(nèi)插和運(yùn)動(dòng)補(bǔ)償?shù)挠?jì)算量。
圖1是本發(fā)明方法的流程示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法,其特點(diǎn)是a.基于QP而設(shè)定ET閥值。
b.基于前一幀的運(yùn)動(dòng)矢量圖來(lái)做為當(dāng)前的預(yù)測(cè)。
c.用十字運(yùn)動(dòng)搜索尋找最匹配整數(shù)像素。
d.用十字周邊的最小累積絕對(duì)誤差(SAD)的整數(shù)和中心點(diǎn)做為半像素的預(yù)測(cè)。
請(qǐng)結(jié)合參閱圖1,以下是具體本發(fā)明方法步驟的描述1.零點(diǎn)ET根據(jù)SAD0的值來(lái)判斷是不是可以提前結(jié)束搜索THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可調(diào)的;如果SAD0<=THRESHOLD,其中那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為0;否則,進(jìn)行下一步;MAP(QP)函數(shù),僅作參考
2.運(yùn)動(dòng)預(yù)測(cè)和ET用前一幀相應(yīng)位置的運(yùn)動(dòng)矢量做為預(yù)測(cè)點(diǎn)進(jìn)行運(yùn)動(dòng)預(yù)測(cè),如果當(dāng)前幀是GOP的第一個(gè)P幀,那么用(0,0)做預(yù)測(cè);選擇和SAD0比較最小的SAD的點(diǎn)作為真正的預(yù)測(cè)點(diǎn)SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,where THRESHOLD=-500+MAP(QP)*256,那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為預(yù)測(cè)的點(diǎn)的對(duì)應(yīng)的運(yùn)動(dòng)矢量;否則,進(jìn)行下一步;3.3×3十字搜索以預(yù)測(cè)點(diǎn)為中心,用3×3十字搜索來(lái)進(jìn)行搜索直到minSAD落到十字的中心,從而得到整數(shù)運(yùn)動(dòng)矢量;4.半像素預(yù)測(cè)根據(jù)整數(shù)運(yùn)動(dòng)矢量對(duì)應(yīng)的點(diǎn),以及上一步得到的其周圍四個(gè)十字點(diǎn)的最小SAD值來(lái)預(yù)測(cè)半像素點(diǎn)的位置;SAD_halfpred=min(SAD[k]...),where k=0,..3;如果SAD_halfpred<minSAD,那么最后的運(yùn)動(dòng)矢量就是所預(yù)測(cè)的半像素所對(duì)應(yīng)的MV;否則,設(shè)整數(shù)運(yùn)動(dòng)矢量的值為最后的運(yùn)動(dòng)矢量。
綜上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用來(lái)限定本發(fā)明的實(shí)施范圍。即凡依本發(fā)明申請(qǐng)專利范圍的內(nèi)容所作的等效變化與修飾,都應(yīng)為本發(fā)明的技術(shù)范疇。
權(quán)利要求
1.一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法,其特征是步驟如下①根據(jù)SAD0的值來(lái)判斷是不是可以提前結(jié)束搜索THRESHOLD=-500+MAP(QP)*256,其中MAP(QP)是可調(diào)的;如果SAD0<=THRESHOLD,其中那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為0;否則,進(jìn)行下一步;②用前一幀相應(yīng)位置的運(yùn)動(dòng)矢量做為預(yù)測(cè)點(diǎn)進(jìn)行運(yùn)動(dòng)預(yù)測(cè),如果當(dāng)前幀是GOP的第一個(gè)P幀,那么用(0,0)做預(yù)測(cè);選擇和SAD0比較最小的SAD的點(diǎn)作為真正的預(yù)測(cè)點(diǎn)SADpred=min(SADpred,SAD0),如果SADpred<=THRESHOLD,whereTHRESHOLD=-500+MAP(QP)*256,那么終止搜索并把運(yùn)動(dòng)矢量設(shè)為預(yù)測(cè)的點(diǎn)的對(duì)應(yīng)的運(yùn)動(dòng)矢量;否則,進(jìn)行下一步;③以預(yù)測(cè)點(diǎn)為中心,用3×3十字搜索來(lái)進(jìn)行搜索直到minSAD落到十字的中心,從而得到整數(shù)運(yùn)動(dòng)矢量;④根據(jù)上一步整數(shù)運(yùn)動(dòng)矢量對(duì)應(yīng)的點(diǎn)的minSAD,以及上一步得到的其周圍四個(gè)十字點(diǎn)SAD[k]的最小SAD值來(lái)預(yù)測(cè)半像素點(diǎn)的位置;SAD_halfpred=min(SAD[k]...)其中k=0,..3;如果SAD_halfpred<minSAD,那么最后的運(yùn)動(dòng)矢量就是所預(yù)測(cè)的半像素所對(duì)應(yīng)的運(yùn)動(dòng)矢量;否則,設(shè)整數(shù)運(yùn)動(dòng)矢量的值為最后的運(yùn)動(dòng)矢量;上述步驟中THRESHOLD閾值;QP量化步長(zhǎng);MAP(QP)基于量化步長(zhǎng)的函數(shù);ET提前終止;SAD0零點(diǎn)的累積絕對(duì)誤差;GOP幀序列;SADpred預(yù)測(cè)點(diǎn)的累積絕對(duì)誤差;minSAD最小的累積絕對(duì)誤差;SAD_halfpred半像素點(diǎn)的累積絕對(duì)誤差。
2.根據(jù)權(quán)利要求1所述的用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法,其特征是該MAP函數(shù)如下表
。
全文摘要
本發(fā)明涉及數(shù)字視頻壓縮技術(shù),特別是一種用于視頻編碼器實(shí)現(xiàn)的快速十字運(yùn)動(dòng)估計(jì)方法。該方法包括基于量化步長(zhǎng)而設(shè)定提前終止閥值;基于前一幀的運(yùn)動(dòng)矢量圖來(lái)做為當(dāng)前的預(yù)測(cè);用十字運(yùn)動(dòng)搜索尋找最匹配整數(shù)像素;用十字周邊的最小累積絕對(duì)誤差的整數(shù)和中心點(diǎn)做為半像素的預(yù)測(cè)等步驟。它主要改進(jìn)現(xiàn)有快速運(yùn)動(dòng)估計(jì)方法的不足。比如,三步法很容易錯(cuò)誤地落到本地最小值中,以及鉆石搜索法的搜索方式有很多冗余等?;谶@些改進(jìn),該方法能夠真正大幅度地提高在實(shí)際的芯片實(shí)現(xiàn)中的視頻編碼器性能,并能運(yùn)用到實(shí)際手機(jī)視頻和其它應(yīng)用中。
文檔編號(hào)H04N7/26GK101031088SQ20061002424
公開(kāi)日2007年9月5日 申請(qǐng)日期2006年2月28日 優(yōu)先權(quán)日2006年2月28日
發(fā)明者丁亞強(qiáng), 林江, 林福輝 申請(qǐng)人:展訊通信(上海)有限公司