0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

運(yùn)用菱形十字搜索算法提高快速運(yùn)動(dòng)估計(jì)算法的性能

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-01-15 08:10 ? 次閱讀

引言

H.264采用了減少視頻圖像各幀間冗余度的運(yùn)動(dòng)估計(jì)算法。運(yùn)動(dòng)估計(jì)算法傳統(tǒng)的有全搜索(FS)、三步搜索(TSS)、新三步搜索(NTSS)、四步搜索(FSS)等;常用的是鉆石搜索(DS)和非對(duì)稱十字交叉多層次六邊形格點(diǎn)運(yùn)動(dòng)搜索算法(UMHexagonS)。運(yùn)動(dòng)估計(jì)是整個(gè)視頻編碼中運(yùn)算量最大的模塊,可占整個(gè)軟件編碼器運(yùn)算量的70%以上。因此視頻系統(tǒng)中編碼器的復(fù)雜部分取決于運(yùn)動(dòng)估計(jì)算法體系結(jié)構(gòu)的復(fù)雜性。

1 運(yùn)動(dòng)估計(jì)算法分析

1.1 鉆石搜索(DS)算法

DS算法即鉆石搜索算法,被MPEG-4國(guó)際標(biāo)準(zhǔn)采用并收入驗(yàn)證模型VM(Verification Model)中,是MPEG-4建議采用的快速運(yùn)動(dòng)估計(jì)算法。 DS算法采用了兩種搜索模板,分別是有9個(gè)檢測(cè)點(diǎn)的大模板和有5個(gè)檢測(cè)點(diǎn)的小模板。搜索時(shí)先用大模板LDSP在搜索區(qū)域中心及周圍8個(gè)點(diǎn)處進(jìn)行匹配計(jì)算,當(dāng)最小塊誤差出現(xiàn)在中心點(diǎn)處時(shí),將大模板LDSP換為SDSP,再進(jìn)行匹配計(jì)算,這時(shí)5個(gè)點(diǎn)中的MBD(Minimum Block Distortion)即為最優(yōu)匹配點(diǎn);否則,改變中心位置,仍用LDSP重復(fù)計(jì)算。

1.2 菱形十字搜索(DCS)算法

菱形十字搜索算法(DCS)算法是在DS算法基礎(chǔ)上改進(jìn)而來(lái),DCS的匹配模板是建立在兩種不同的搜索模板之上的,即大菱形十字型(LDCSP)和小菱形十字型(SDCSP),如圖1所示。其中,十字型可以對(duì)應(yīng)于實(shí)際的運(yùn)動(dòng)的矢量分布,而交叉型則是為了加速搜索效果。

運(yùn)用菱形十字搜索算法提高快速運(yùn)動(dòng)估計(jì)算法的性能

DCS算法在進(jìn)行運(yùn)動(dòng)估計(jì)匹配運(yùn)算時(shí),有三種可能的情況:

(1)若MBD點(diǎn)位于LDCSP中心位置,說(shuō)明圖像是靜止的,DCS算法一步結(jié)束;

(2)若MBD點(diǎn)位于LDCSP小十字位置,說(shuō)明圖像的運(yùn)動(dòng)較小,則在此基礎(chǔ)上按照SDCSP模板反復(fù)進(jìn)行交叉搜索。

(3)若MBD點(diǎn)位于LDCSP大十字位置,說(shuō)明圖像的運(yùn)動(dòng)較大,則在此基礎(chǔ)上按照LDCSP模板反復(fù)進(jìn)行交叉搜索。

由此可以看出,DCS算法的優(yōu)點(diǎn)是,可以根據(jù)圖像的運(yùn)動(dòng)類型(如上述三種情況),白適應(yīng)選擇下一步相應(yīng)的搜索模板,使搜索與圖像內(nèi)容有關(guān)(基于內(nèi)容的搜索),從而得到較好的搜索效果;DCS算法的搜索并不一定要經(jīng)歷模板由大到小的必然過(guò)程,有時(shí)一步即可完成搜索;用DCS搜索時(shí),十字形模板對(duì)應(yīng)于實(shí)際的運(yùn)動(dòng)矢量分布,交叉形模板則有準(zhǔn)確性“聚焦”特性,這從本質(zhì)上體現(xiàn)了DCS是粗定位和準(zhǔn)確定位的有效結(jié)合。

視頻圖像的運(yùn)動(dòng)矢量大部分為零矢量或運(yùn)動(dòng)很小的矢量。運(yùn)動(dòng)矢量為零的塊稱為靜止塊;運(yùn)動(dòng)矢量很小的塊(以搜索窗口中心為圓心,兩像素為半徑的圓內(nèi))稱為準(zhǔn)靜止塊:而其他的稱為運(yùn)動(dòng)塊。如果有超過(guò)80%運(yùn)動(dòng)矢量很小的塊可被看作靜止或準(zhǔn)靜止塊。因此,可設(shè)一個(gè)閥值T,當(dāng)運(yùn)動(dòng)矢量的值小于T時(shí),可用SDCSP搜索法直接進(jìn)行精確定位,找出最優(yōu)點(diǎn);當(dāng)運(yùn)動(dòng)矢量的值大于T時(shí),可用LDCSP搜索算法找出最優(yōu)點(diǎn)。

運(yùn)動(dòng)矢量空間域的預(yù)測(cè)方式有運(yùn)動(dòng)矢量中值預(yù)測(cè)、空間域的上層塊模式運(yùn)動(dòng)矢量;在時(shí)間域的預(yù)測(cè)方式有前幀對(duì)應(yīng)塊運(yùn)動(dòng)矢量預(yù)測(cè)和時(shí)間域的鄰近參考幀運(yùn)動(dòng)矢量預(yù)測(cè)。本文采用運(yùn)動(dòng)矢量中值預(yù)測(cè)方式。根據(jù)與當(dāng)前E塊相鄰的左邊A塊,上邊B塊和右上邊C塊的運(yùn)動(dòng)矢量,取中值作為當(dāng)前塊的預(yù)測(cè)運(yùn)動(dòng)矢量。如圖2所示。

運(yùn)用菱形十字搜索算法提高快速運(yùn)動(dòng)估計(jì)算法的性能

設(shè)當(dāng)前要編碼塊E的運(yùn)動(dòng)矢量為MVp。如果運(yùn)動(dòng)矢量的值MVp≥T,則與E塊相鄰的各塊間運(yùn)動(dòng)的相關(guān)性較高,表明該區(qū)域的變化比較平緩;如果運(yùn)動(dòng)矢量的值MVp

3 自適應(yīng)運(yùn)動(dòng)估計(jì)算法

結(jié)合上述DCS算法和閾值的確定,可采取先對(duì)視頻圖像的運(yùn)動(dòng)塊進(jìn)行閾值的判斷,再根據(jù)判斷結(jié)果進(jìn)行最佳匹配塊的搜索。具體搜索步驟描述如下:

Step 1:判斷當(dāng)前塊運(yùn)動(dòng)矢量MVp和閾值確大小。若MVp≥T,則進(jìn)入Step 2;若MVp

Step 2:用LDCSP在搜索區(qū)域中心及周圍8個(gè)點(diǎn)進(jìn)行匹配運(yùn)算,然后判斷,找出MBD點(diǎn)。若MBD點(diǎn)位于中心點(diǎn),說(shuō)明宏塊是靜止的,DCS算法一步結(jié)束,得到最優(yōu)匹配塊;否則進(jìn)行Step 3。

Step 3:若MBD點(diǎn)為L(zhǎng)DCSP模版的小十字處,以該點(diǎn)為中心構(gòu)建SDCSP進(jìn)行匹配計(jì)算,若MBD點(diǎn)位于中心點(diǎn),所得MBD點(diǎn)為所求。否則,進(jìn)入Step 4。

Step 4:若MBD點(diǎn)為L(zhǎng)DCSP模版的大十字處,以該點(diǎn)為中心構(gòu)建LCSP進(jìn)行匹配計(jì)算,進(jìn)入step 2。

Step 5:用LDCSP在搜索區(qū)域中心及周圍5個(gè)點(diǎn)進(jìn)行匹配運(yùn)算,然后判斷,找出MBD點(diǎn)。若MBD點(diǎn)位于中心點(diǎn),所得MBD點(diǎn)為所求;否則繼續(xù)Step 5。

算法流程圖如圖3所示。

運(yùn)用菱形十字搜索算法提高快速運(yùn)動(dòng)估計(jì)算法的性能

實(shí)驗(yàn)結(jié)果及說(shuō)明

用搜索時(shí)間和PSNR值兩個(gè)指標(biāo)來(lái)驗(yàn)證DCS的性能。本節(jié)實(shí)驗(yàn)用到的所有視頻文件均為QCIF(Quartet commonintermediate format)格式。實(shí)驗(yàn)以主頻1.8GHz的PC機(jī)上運(yùn)行的VisualC++6.0為平臺(tái)。測(cè)試對(duì)象為:missa、salesman、news、grandmother、foreman、carphone、claire,搜索范圍為16×16的矩形框,量化范圍為2~12,測(cè)試序列中每幀圖像的大小為176×144。

4.1 搜索時(shí)間的比較

為了時(shí)間測(cè)試的準(zhǔn)確性,測(cè)試時(shí)采用的是VC++提供的兩個(gè)精確時(shí)間函數(shù):QueryPerformanceFrequency()和OuerPerformanceCounter()精度對(duì)標(biāo)準(zhǔn)測(cè)試序列missa、salesman、news、grandmother、foreman、carphone進(jìn)行精確測(cè)定,得表1(數(shù)據(jù)均為三次測(cè)量所求得的平均值)。

從表1可知:a.FS搜索效果最佳,但耗時(shí)太長(zhǎng);DS算法有較大改進(jìn),可以實(shí)現(xiàn)實(shí)時(shí)壓縮;DCS比DS,運(yùn)行時(shí)間都有不同程度的減少,故DCS算法在搜索速度有優(yōu)勢(shì)。b.從單個(gè)序列來(lái)看,DCS算法對(duì)missa和salesman時(shí)間優(yōu)化最為顯著,分別只占FS算法的7.42%、7.50%和DS算法的98.17%、97.49%;對(duì)carphone序列的搜索速度也有很大優(yōu)化,占FS搜索算法的7.97%和DS算法的97.82%。綜合視頻特性可知:DCS算法針對(duì)運(yùn)動(dòng)平緩的視頻對(duì)象搜索速度優(yōu)化明顯。

4.2 信噪比的比較

對(duì)標(biāo)準(zhǔn)測(cè)試序列claire和carphone序列進(jìn)行測(cè)定,計(jì)算PSNR得表2。

運(yùn)用菱形十字搜索算法提高快速運(yùn)動(dòng)估計(jì)算法的性能

表2中FS的平均PSNR最高,達(dá)到42.38,但搜索時(shí)間最長(zhǎng);DS的PSNR最低,為42.31,而DCS為42.35,高于DS算法,且僅低于FS算法0.03dB。從單個(gè)序列來(lái)看,DCS算法對(duì)claire的優(yōu)化程度最大,超過(guò)了FS的PSNR值,說(shuō)明DCS算法身體靜止僅面部表情運(yùn)動(dòng)特點(diǎn)視頻適用。用DCS算法計(jì)算得到的carphone的PSNR值雖然低于FS算法,但高于DS算法;missa序列的DCS算法的PSNR值和FS、DS法的相差不大。故DCS算法在搜索速度、圖像質(zhì)量上均有保證。

5 結(jié)束語(yǔ)

本文從搜索時(shí)間和圖像質(zhì)量?jī)煞矫鎸?duì)各種塊匹配運(yùn)動(dòng)估計(jì)算法進(jìn)行了性能分析比較。實(shí)驗(yàn)結(jié)果表明,將菱形十字交叉搜索算法和閾值判斷結(jié)合,在搜索速度方面,有很大程度的優(yōu)化,而且能得到與FS、DS搜索算法相當(dāng)?shù)膱D像質(zhì)量。DCS算法針對(duì)運(yùn)動(dòng)平緩的視頻作用明顯,由此推知該算法適用于電視電話、遠(yuǎn)程教育等實(shí)時(shí)視頻壓縮。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    45

    文章

    3646

    瀏覽量

    134658
  • 視頻
    +關(guān)注

    關(guān)注

    6

    文章

    1947

    瀏覽量

    72944
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4615

    瀏覽量

    92992
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    結(jié)合遺傳分割的多分辨率預(yù)測(cè)匹配算法

    目.實(shí)驗(yàn)結(jié)果表明,該算法與經(jīng)典菱形搜索算法相比,搜索時(shí)間平均減少7.6m s,信噪比平均提高1.2dB【關(guān)鍵詞】:視頻壓縮;;遺傳
    發(fā)表于 04-24 09:53

    五種運(yùn)動(dòng)搜索算法簡(jiǎn)介

    (九)幀間編碼2:運(yùn)動(dòng)搜索算法簡(jiǎn)介
    發(fā)表于 07-17 15:09

    Viterbi搜索算法

    自然語(yǔ)言處理——65 Viterbi搜索算法
    發(fā)表于 04-14 11:44

    改進(jìn)的二進(jìn)制搜索算法原理是什么?有什么優(yōu)勢(shì)?

    改進(jìn)的二進(jìn)制搜索算法原理是什么?改進(jìn)的二進(jìn)制搜索算法有什么優(yōu)勢(shì)?
    發(fā)表于 05-20 07:12

    介紹一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法

    本文介紹了一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法。
    發(fā)表于 06-03 06:27

    方向性多層抽樣繼承排除全搜索算法

    運(yùn)動(dòng)估計(jì)是視頻壓縮中的關(guān)鍵技術(shù),是視頻編碼中的主要開(kāi)銷。全搜索算法是最簡(jiǎn)單可靠的塊匹配算法。本文在傳統(tǒng)全搜索算法的基礎(chǔ)上,提出一種方向性多層
    發(fā)表于 05-30 13:44 ?17次下載

    基于IBM CELL多核處理器的快速運(yùn)動(dòng)估計(jì)算法

    為了充分利用CELL BE 處理器SIMD 技術(shù)的數(shù)據(jù)并行處理能力,本文介紹一種運(yùn)動(dòng)估計(jì)算法,和已有的鉆石搜索算法(DS)相比該算法能夠?qū)崿F(xiàn)更精確的
    發(fā)表于 01-27 14:09 ?12次下載

    基于DSP技術(shù)的H.263視頻編碼協(xié)議算法

    摘 要:對(duì)H.263編碼原理進(jìn)行了簡(jiǎn)單介紹,對(duì)運(yùn)動(dòng)估值中幾種主要搜索算法性能進(jìn)行了分析比較,完成了H.263的運(yùn)動(dòng)圖象的編碼模擬,最后對(duì)其中的搜索
    發(fā)表于 03-03 22:36 ?25次下載

    一種改進(jìn)的快速搜索算法

    提出了一種基于預(yù)測(cè)的自適應(yīng)六邊形搜索方法,并將此算法與其他常用的快速運(yùn)動(dòng)估計(jì)算法進(jìn)行實(shí)驗(yàn)比較。實(shí)驗(yàn)結(jié)果表明:該
    發(fā)表于 07-02 15:53 ?19次下載

    H.264視頻壓縮快速運(yùn)動(dòng)估計(jì)算法 DCS算法

    H.264是現(xiàn)有最重要數(shù)據(jù)壓縮編碼國(guó)際標(biāo)準(zhǔn)之一。 快速運(yùn)動(dòng)估計(jì)算法一直是視頻壓縮中的研究熱點(diǎn)。本文針對(duì)一些快速估計(jì)算法過(guò)早確定了
    發(fā)表于 06-25 11:50 ?1773次閱讀
    H.264視頻壓縮<b class='flag-5'>快速</b><b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)算法</b> DCS<b class='flag-5'>算法</b>

    分?jǐn)?shù)像素快速塊匹配運(yùn)動(dòng)估計(jì)方法綜述

    介紹了 視頻壓縮 中分?jǐn)?shù)像素快速塊匹配運(yùn)動(dòng)估計(jì)的基礎(chǔ)原理,由于全搜索算法計(jì)算量很大,需要發(fā)展快速算法
    發(fā)表于 08-30 16:17 ?14次下載
    分?jǐn)?shù)像素<b class='flag-5'>快速</b>塊匹配<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)</b>方法綜述

    基于UMHexagonS的運(yùn)動(dòng)估計(jì)算法優(yōu)化

    針對(duì)UMHexagonS算法冗余搜索的問(wèn)題,使用大十字搜索判定結(jié)果,改進(jìn)原有的運(yùn)動(dòng)估計(jì)算法。改進(jìn)
    發(fā)表于 11-24 10:51 ?2次下載
    基于UMHexagonS的<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)算法</b>優(yōu)化

    一種基于H.264標(biāo)準(zhǔn)的快速運(yùn)動(dòng)估計(jì)算法

    搜索精度的情況,在原有基礎(chǔ)上,運(yùn)用菱形十字搜索算法(DCS)與閾值估計(jì)相結(jié)合的方法
    發(fā)表于 10-08 07:00 ?502次閱讀

    如何使用FPGA實(shí)現(xiàn)運(yùn)動(dòng)估計(jì)算法的設(shè)計(jì)

    為進(jìn)一步提高編碼效率,在研究菱形算法的基礎(chǔ)上,采用了“十字”形運(yùn)動(dòng)估計(jì)算法,設(shè)計(jì)了硬件電路,并用
    發(fā)表于 02-03 14:46 ?13次下載
    如何使用FPGA實(shí)現(xiàn)<b class='flag-5'>運(yùn)動(dòng)</b><b class='flag-5'>估計(jì)算法</b>的設(shè)計(jì)

    二分搜索算法運(yùn)用的框架套路

    。 但是前文總結(jié)的二分搜索代碼框架僅僅局限于「在有序數(shù)組中搜索指定元素」這個(gè)基本場(chǎng)景,具體的算法問(wèn)題沒(méi)有這么直接,可能你都很難看出這個(gè)問(wèn)題能夠用到二分搜索。 對(duì)于二分
    的頭像 發(fā)表于 08-25 16:06 ?1844次閱讀