欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種快速視差估計(jì)和運(yùn)動估計(jì)方法

文檔序號:7753195閱讀:134來源:國知局
專利名稱:一種快速視差估計(jì)和運(yùn)動估計(jì)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種多視點(diǎn)視頻信號的編碼技術(shù),尤其是涉及一種快速視差估計(jì)和運(yùn) 動估計(jì)方法。
背景技術(shù)
多視點(diǎn)彩色視頻是由處于空間不同位置的相機(jī)陣列拍攝同一場景得到的一組視 頻序列信號,是一種新型的具有立體感和交互操作功能的視頻。多視點(diǎn)視頻系統(tǒng)能讓用戶 自由地選擇不同視角觀看場景,可應(yīng)用于自由視點(diǎn)電視、立體電視和三維遠(yuǎn)程醫(yī)療等正在 興起的媒體業(yè)務(wù)。與普通單通道視頻信號相比,多視點(diǎn)彩色視頻信號具有更大的信號量。為 了有效存儲、傳輸多視點(diǎn)彩色視頻信號,并且在應(yīng)用中實(shí)現(xiàn)視點(diǎn)間自由切換以及用戶和系 統(tǒng)之間的交互操作,必須對多視點(diǎn)彩色視頻信號進(jìn)行高效的壓縮,以提高多視點(diǎn)彩色視頻 信號的編碼效率。多視點(diǎn)彩色視頻信號相關(guān)性除了存在于同一視點(diǎn)的不同時(shí)間域外,還存在于同一 時(shí)刻的不同視點(diǎn)間,因此,多視點(diǎn)彩色視頻信號的編碼技術(shù)分別采用視差估計(jì)和運(yùn)動估計(jì) 來消除視點(diǎn)間的空間冗余和時(shí)間上的冗余。由于結(jié)合了視差估計(jì)和運(yùn)動估計(jì),多視點(diǎn)彩色 視頻信號的編碼往往比單通道視頻信號的編碼具有更加復(fù)雜的預(yù)測編碼結(jié)構(gòu),其編碼算法 的復(fù)雜度也遠(yuǎn)遠(yuǎn)大于單通道視頻信號的編碼算法的復(fù)雜度。塊匹配法是常用的一種進(jìn)行視差估計(jì)和運(yùn)動估計(jì)的方法,其基本思想是將當(dāng)前編 碼幀分割成若干個(gè)塊,并假定塊內(nèi)所有像素的視差矢量或運(yùn)動矢量都是相同的,在參考幀 中按一定的匹配準(zhǔn)則尋找與當(dāng)前編碼幀中當(dāng)前編碼塊最為相似的塊,即率失真代價(jià)最小的 最佳匹配塊,從而在好的畫面質(zhì)量和碼率之間獲得平衡。視差估計(jì)是在不同視點(diǎn)的同一時(shí) 刻的圖像幀之間進(jìn)行塊匹配;而運(yùn)動估計(jì)則是在同一視點(diǎn)的不同時(shí)刻的圖像幀之間進(jìn)行塊 匹配,因此視差估計(jì)和運(yùn)動估計(jì)的過程大體相似。在多視點(diǎn)彩色視頻信號的編碼過程中,視 差估計(jì)和運(yùn)動估計(jì)通常占一個(gè)編碼器總運(yùn)算量的八成以上,其性能的優(yōu)劣直接影響到整個(gè) 多視點(diǎn)視頻系統(tǒng)的運(yùn)行效率和多視點(diǎn)彩色視頻信號的重構(gòu)質(zhì)量。在采用塊匹配法進(jìn)行視差 估計(jì)和運(yùn)動估計(jì)時(shí),全搜索法雖然能夠獲得非常高的搜索精度,但是其巨大的運(yùn)算量不利 于軟硬件的實(shí)現(xiàn)。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種在保證搜索精度的同時(shí),能夠大幅度提高 多視點(diǎn)視頻信號的編碼速度,且能夠有效降低計(jì)算復(fù)雜度的快速視差估計(jì)和運(yùn)動估計(jì)方法。本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案為一種快速視差估計(jì)和運(yùn)動估計(jì)方 法,將多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有幀分為Dl類幀和D2類幀兩類,其中,Dl類幀包括 多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有I幀和僅具有一個(gè)參考幀的P幀,對Dl類幀中的各個(gè)幀 進(jìn)行編碼時(shí)不采用快速視差估計(jì)和運(yùn)動估計(jì)方法;D2類幀包括多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有具有多個(gè)參考幀的B幀,對D2類幀中的各個(gè)幀進(jìn)行編碼時(shí)采用以下步驟進(jìn)行快速 視差估計(jì)或運(yùn)動估計(jì)①對于D2類幀,定義D2類幀中當(dāng)前正在編碼的幀為當(dāng)前編碼幀,定義當(dāng)前編碼幀 中當(dāng)前正在編碼的宏塊為當(dāng)前宏塊;②從當(dāng)前宏塊的左相鄰宏塊、上相鄰宏塊、左上邊相鄰宏塊和右上邊相鄰宏塊這 四個(gè)相鄰宏塊中選取出與當(dāng)前宏塊的邊緣屬性一致的相鄰宏塊,將這些選取出的相鄰宏塊 組成一個(gè)可選預(yù)測宏塊集,記為 C ,C = {MB I MB e (MBleft, MBup, MBup left, MBup righJ 且(EMB =E。umnt)},其中,MB表示可選預(yù)測宏塊集C中的可選預(yù)測宏塊,MBleft表示當(dāng)前宏塊的左 相鄰宏塊,MBup表示當(dāng)前宏塊的上相鄰宏塊,MBup left表示當(dāng)前宏塊的左上邊相鄰宏塊,MBup right表示當(dāng)前宏塊的右上邊相鄰宏塊,Emb表示可選預(yù)測宏塊MB的邊緣屬性,Ecurrent表示當(dāng) 前宏塊的邊緣屬性;③當(dāng)對當(dāng)前宏塊進(jìn)行視差估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視 差矢量的中值或均值作為當(dāng)前宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVP,然 后根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVp獲取當(dāng)前宏塊的視差矢量,記為DV,再根據(jù)當(dāng)前宏塊的 視差矢量DV獲取當(dāng)前宏塊的最優(yōu)視差矢量;具體包括以下步驟Al.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視差矢量的中值或均值作為當(dāng)前 宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVp ;Bi.根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVp進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù) 測視差矢量DVp為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第一搜索窗以 菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作 為當(dāng)前宏塊的視差矢量,記為DV ;Cl.判斷當(dāng)前宏塊的視差矢量DV的水平分量或垂直分量是否大于3個(gè)整像素,如 果是,則繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的視差矢量DV作為當(dāng)前宏塊的最優(yōu)視差矢量,并結(jié)束 對當(dāng)前宏塊的視差估計(jì);Dl.根據(jù)當(dāng)前宏塊的視差矢量DV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的視 差矢量DV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的視差矢量 DV為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第二搜索窗以菱形搜索法進(jìn) 行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏塊的 最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì),否則,以當(dāng)前宏塊的視差矢量DV為搜索中 心,再在當(dāng)前編碼幀的視點(diǎn)間參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素點(diǎn)進(jìn)行 搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏塊的最 優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第一搜索 窗;當(dāng)對當(dāng)前宏塊進(jìn)行運(yùn)動估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動 矢量的中值或均值作為當(dāng)前宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVP,然后 根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVp獲取當(dāng)前宏塊的運(yùn)動矢量,記為MV,再根據(jù)當(dāng)前宏塊的運(yùn) 動矢量MV獲取當(dāng)前宏塊的最優(yōu)運(yùn)動矢量;具體包括以下步驟A2.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動矢量的中值或均值作為當(dāng)前 宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVp ;
B2.根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVp進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù) 測運(yùn)動矢量MVp為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第一搜索窗以菱 形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為 當(dāng)前宏塊的運(yùn)動矢量,記為MV ;C2.判斷當(dāng)前宏塊的運(yùn)動矢量MV的水平分量或垂直分量是否大于3個(gè)整像素,如 果是,則繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的運(yùn)動矢量MV作為當(dāng)前宏塊的最優(yōu)運(yùn)動矢量,并結(jié)束 對當(dāng)前宏塊的運(yùn)動估計(jì);D2.根據(jù)當(dāng)前宏塊的運(yùn)動矢量MV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的運(yùn) 動矢量MV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的運(yùn)動矢量 MV為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第二搜索窗以菱形搜索法進(jìn)行 搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的最 優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì),否則,以當(dāng)前宏塊的運(yùn)動矢量MV為搜索中心, 再在當(dāng)前編碼幀的時(shí)域參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素點(diǎn)進(jìn)行搜索, 尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的最優(yōu)運(yùn)動 矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第一搜索窗。所述的步驟②中邊緣屬性是指采用邊緣檢測方法對幀進(jìn)行檢測時(shí),確定幀中各個(gè) 宏塊是否位于對象邊緣區(qū)域,將宏塊位于對象邊緣區(qū)域或不位于對象邊緣區(qū)域的特性稱為 邊緣屬性,當(dāng)宏塊位于對象邊緣區(qū)域時(shí)其邊緣屬性為1,當(dāng)宏塊不位于對象邊緣區(qū)域時(shí)其邊 緣屬性為0。所述的步驟③中預(yù)設(shè)的第一搜索窗為一個(gè)大小為(-8,+8)的搜索窗。所述的步驟③中預(yù)設(shè)的第二搜索窗為一個(gè)大小為(-32,+32)的搜索窗。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于利用了與當(dāng)前宏塊的邊緣屬性一致的相鄰宏 塊與當(dāng)前宏塊同屬同一對象的概率較大,因而其視差矢量或運(yùn)動矢量也較為一致的特點(diǎn), 用當(dāng)前宏塊的已編碼相鄰宏塊的視差矢量或運(yùn)動矢量來預(yù)測當(dāng)前宏塊的視差矢量或運(yùn)動 矢量,在此基礎(chǔ)上自適應(yīng)地減少了多視點(diǎn)視頻編碼過程中視差估計(jì)和運(yùn)動估計(jì)的搜索范 圍,從而達(dá)到了降低多視點(diǎn)視頻編碼的計(jì)算復(fù)雜度,提高多視點(diǎn)視頻編碼速度的目的;此 外,本發(fā)明方法對運(yùn)動劇烈的對象采用了精細(xì)搜索的策略,保證了編碼后重建視頻信號的 質(zhì)量。


圖1為分層B幀預(yù)測編碼結(jié)構(gòu)圖;圖2為當(dāng)前宏塊及其相鄰宏塊的位置示意圖。
具體實(shí)施例方式以下結(jié)合附圖實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。將多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有幀分為Dl類幀和D2類幀兩類,其中,Dl類幀 包括多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有I幀和僅具有一個(gè)參考幀的P幀,對Dl類幀中的各 個(gè)幀進(jìn)行編碼時(shí)不采用快速視差估計(jì)和運(yùn)動估計(jì)方法;D2類幀包括多視點(diǎn)視頻預(yù)測編碼 結(jié)構(gòu)中的所有具有多個(gè)參考幀的B幀。圖1給出了一種典型的多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu),稱為分層B幀預(yù)測編碼結(jié)構(gòu)。在圖1中橫軸代表視點(diǎn)(View),縱軸代表時(shí)間(Time),圖1 為一個(gè)由8個(gè)視點(diǎn)組成的GOP (Group of Pictures,圖像組)長度為8的多視點(diǎn)視頻預(yù)測編 碼結(jié)構(gòu),圖1中有5個(gè)視點(diǎn)第TO時(shí)刻的5幀為Dl類幀,即第SO視點(diǎn)第TO時(shí)刻的幀內(nèi)編碼 幀IO幀,第S2、S4、S6和S7視點(diǎn)第TO時(shí)刻的只具有一個(gè)參考幀的幀間編碼幀PO幀;TO T7時(shí)刻各視點(diǎn)其余各幀均屬于D2類幀,它們都具有多個(gè)參考幀,可以采用視差補(bǔ)償預(yù)測也 可以采用運(yùn)動補(bǔ)償預(yù)測。本發(fā)明提出的一種快速視差估計(jì)和運(yùn)動估計(jì)方法適用于D2類幀, 對D2類幀中的各個(gè)幀進(jìn)行編碼時(shí)采用以下步驟進(jìn)行快速視差估計(jì)或運(yùn)動估計(jì)①對于D2類幀,定義D2類幀中當(dāng)前正在編碼的幀為當(dāng)前編碼幀,定義當(dāng)前編碼幀 中當(dāng)前正在編碼的宏塊為當(dāng)前宏塊。②從當(dāng)前宏塊的左相鄰宏塊、上相鄰宏塊、左上邊相鄰宏塊和右上邊相鄰宏塊這 四個(gè)相鄰宏塊中選取出與當(dāng)前宏塊的邊緣屬性一致的相鄰宏塊,將這些選取出的相鄰宏塊 組成一個(gè)可選預(yù)測宏塊集,記為 C,C = {MB I MB e (MBleft, MBup, MBup left, MBup righJ 且(Emb = Ecurrent)},其中,MB表示可選預(yù)測宏塊集C中的可選預(yù)測宏塊,MBlrft表示當(dāng)前宏塊的左相鄰 宏塊,MBup表示當(dāng)前宏塊的上相鄰宏塊,MBup left表示當(dāng)前宏塊的左上邊相鄰宏塊,MBup right 表示當(dāng)前宏塊的右上邊相鄰宏塊,Emb表示可選預(yù)測宏塊MB的邊緣屬性,Ecurrent表示當(dāng)前宏 塊的邊緣屬性。在此具體實(shí)施例中,當(dāng)前宏塊的左相鄰宏塊MBleft是指位于當(dāng)前宏塊的左側(cè)且與 當(dāng)前宏塊緊鄰的宏塊,當(dāng)前宏塊的上相鄰宏塊MBup是指位于當(dāng)前宏塊的正上方且與當(dāng)前宏 塊緊鄰的宏塊,當(dāng)前宏塊的左上邊相鄰宏塊MBup lrft是指位于當(dāng)前宏塊的左上方且與當(dāng)前 宏塊的左相鄰宏塊MBlrft和當(dāng)前宏塊的上相鄰宏塊MBup緊鄰的宏塊,當(dāng)前宏塊的右上邊相 鄰宏塊MBup Hght是指位于當(dāng)前宏塊的右上方且與當(dāng)前宏塊的上相鄰宏塊MBup緊鄰的宏塊, 圖2給出了當(dāng)前宏塊及其左相鄰宏塊MBlrft、上相鄰宏塊MBup、左上邊相鄰宏塊MBup Plrft和右 上邊相鄰宏塊MBup Hght的位置示意圖。如果當(dāng)前宏塊與其相鄰宏塊的邊緣屬性一致,則當(dāng) 前宏塊與該相鄰宏塊同屬同一對象的可能性較大,可以利用該已完成編碼的相鄰宏塊的視 差矢量和運(yùn)動矢量來估計(jì)當(dāng)前宏塊的視差矢量和運(yùn)動矢量,因此將與當(dāng)前宏塊邊緣屬性一 致的相鄰宏塊作為可選預(yù)測宏塊。在此具體實(shí)施例中,邊緣屬性是指采用邊緣檢測方法對幀進(jìn)行檢測時(shí),確定幀中 各個(gè)宏塊是否位于對象邊緣區(qū)域,將宏塊位于對象邊緣區(qū)域或不位于對象邊緣區(qū)域的特性 稱為邊緣屬性,當(dāng)宏塊位于對象邊緣區(qū)域時(shí)其邊緣屬性為1,當(dāng)宏塊不位于對象邊緣區(qū)域時(shí) 其邊緣屬性為0。在此,邊緣檢測方法可采用現(xiàn)有任意的邊緣檢測算法,在檢測過程中,如果 當(dāng)前宏塊的內(nèi)部包含了對象邊緣,則認(rèn)為當(dāng)前宏塊位于對象邊緣區(qū)域,否則認(rèn)為當(dāng)前宏塊 不位于對象邊緣區(qū)域。③當(dāng)對當(dāng)前宏塊進(jìn)行視差估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視 差矢量的中值或均值作為當(dāng)前宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVP,然 后根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVp獲取當(dāng)前宏塊的視差矢量,記為DV,再根據(jù)當(dāng)前宏塊的 視差矢量DV獲取當(dāng)前宏塊的最優(yōu)視差矢量;具體包括以下步驟Al.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視差矢量的中值或均值作為當(dāng)前 宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVP。Bi.根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVp進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù)測視差矢量DVp為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第一搜索窗以 現(xiàn)有的菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差 矢量作為當(dāng)前宏塊的視差矢量,記為DV。在此,預(yù)設(shè)的第一搜索窗采用一個(gè)較小的搜索窗, 如采用一個(gè)大小為(_8,+8)的搜索窗。Cl.判斷當(dāng)前宏塊的視差矢量DV的水平分量或垂直分量是否大于3個(gè)整像素,如 果是,則認(rèn)為當(dāng)前宏塊屬于運(yùn)動劇烈的對象區(qū)域,并繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的視差矢 量DV作為當(dāng)前宏塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì)。Dl.根據(jù)當(dāng)前宏塊的視差矢量DV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的視 差矢量DV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的視差矢量 DV為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第二搜索窗以現(xiàn)有的菱形搜 索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前 宏塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì),否則,以當(dāng)前宏塊的視差矢量DV為 搜索中心,再在當(dāng)前編碼幀的視點(diǎn)間參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素 點(diǎn)進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏 塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第 一搜索窗,預(yù)設(shè)的第二搜索窗采用一個(gè)較大的搜索窗,如采用一個(gè)大小為(-32,+32)的搜 索窗。當(dāng)對當(dāng)前宏塊進(jìn)行運(yùn)動估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動 矢量的中值或均值作為當(dāng)前宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVP,然后 根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVp獲取當(dāng)前宏塊的運(yùn)動矢量,記為MV,再根據(jù)當(dāng)前宏塊的運(yùn) 動矢量MV獲取當(dāng)前宏塊的最優(yōu)運(yùn)動矢量;具體包括以下步驟A2.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動矢量的中值或均值作為當(dāng)前 宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVP。B2.根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVp進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù) 測運(yùn)動矢量MVp為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第一搜索窗以現(xiàn) 有的菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢 量作為當(dāng)前宏塊的運(yùn)動矢量,記為MV。在此,預(yù)設(shè)的第一搜索窗采用一個(gè)較小的搜索窗,如 采用一個(gè)大小為(_8,+8)的搜索窗。C2.判斷當(dāng)前宏塊的運(yùn)動矢量MV的水平分量或垂直分量是否大于3個(gè)整像素,如 果是,則認(rèn)為當(dāng)前宏塊屬于運(yùn)動劇烈的對象區(qū)域,并繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的運(yùn)動矢 量MV作為當(dāng)前宏塊的最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì)。D2.根據(jù)當(dāng)前宏塊的運(yùn)動矢量MV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的運(yùn) 動矢量MV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的運(yùn)動矢量 MV為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第二搜索窗以現(xiàn)有的菱形搜索 法進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏 塊的最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì),否則,以當(dāng)前宏塊的運(yùn)動矢量MV為搜 索中心,再在當(dāng)前編碼幀的時(shí)域參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素點(diǎn)進(jìn) 行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的 最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第一搜索窗,預(yù)設(shè)的第二搜索窗采用一個(gè)較大的搜索窗,如采用一個(gè)大小為(-32,+32)的搜索窗。在本發(fā)明方法中,對于多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的Dl類幀,為確保其預(yù)測的準(zhǔn) 確性不采用本發(fā)明的快速運(yùn)動估計(jì)或視差估計(jì)方法,而直接采用現(xiàn)有技術(shù)。為了測試采用本發(fā)明的快速視差估計(jì)和運(yùn)動估計(jì)方法進(jìn)行多視點(diǎn)視頻編碼的有 效性,采用了如表1所示的測試環(huán)境。在Intel Core2 Duo 3.0 GHz, 3. 25 GB內(nèi)存的服務(wù) 器上,對Microsoft提供的“Breakdancers”和“Ballet”測試序列,根據(jù)JVT提出的多視點(diǎn) 視頻公共的測試環(huán)境,測試了 JMVM中采用全搜索的視差估計(jì)和運(yùn)動估計(jì)方法及本發(fā)明方 法進(jìn)行編碼的性能情況。表2給出了采用JMVM平臺對“Breakdancers”和“Ballet”測試序列進(jìn)行編碼時(shí) 采用全搜索的視差估計(jì)和運(yùn)動估計(jì)方法以及本發(fā)明方法對多視點(diǎn)視頻編碼的編碼速度提 升的情況。與采用全搜索的視差估計(jì)和運(yùn)動估計(jì)方法相比,采用本發(fā)明方法的編碼速度提 高了 20余倍,對其它多幅測試序列的測試結(jié)果表明采用本發(fā)明方法時(shí)的編碼速度提高了 15 30余倍。表3給出了采用全搜索的視差估計(jì)和運(yùn)動估計(jì)方法和本發(fā)明方法時(shí)的率失 真性能比較結(jié)果,從表3中可以看出,采用本發(fā)明方法的率失真性能和采用全搜索的視差 估計(jì)和運(yùn)動估計(jì)方法的率失真性能基本一樣,即本發(fā)明方法保證了搜索精度。表1測試環(huán)境 表2 “Breakdancers”和“Ballet”測試序列采用JMVM中全搜索的運(yùn)動估計(jì)和視
差估計(jì)方法以及本發(fā)明方法進(jìn)行多視點(diǎn)視頻編碼的編碼速度提升情況 表3采用JMVM中全搜索的運(yùn)動估計(jì)和視差估計(jì)方法和本發(fā)明方法的率失真性能 比較
權(quán)利要求
一種快速視差估計(jì)和運(yùn)動估計(jì)方法,其特征在于將多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有幀分為D1類幀和D2類幀兩類,其中,D1類幀包括多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有I幀和僅具有一個(gè)參考幀的P幀,對D1類幀中的各個(gè)幀進(jìn)行編碼時(shí)不采用快速視差估計(jì)和運(yùn)動估計(jì)方法;D2類幀包括多視點(diǎn)視頻預(yù)測編碼結(jié)構(gòu)中的所有具有多個(gè)參考幀的B幀,對D2類幀中的各個(gè)幀進(jìn)行編碼時(shí)采用以下步驟進(jìn)行快速視差估計(jì)或運(yùn)動估計(jì)①對于D2類幀,定義D2類幀中當(dāng)前正在編碼的幀為當(dāng)前編碼幀,定義當(dāng)前編碼幀中當(dāng)前正在編碼的宏塊為當(dāng)前宏塊;②從當(dāng)前宏塊的左相鄰宏塊、上相鄰宏塊、左上邊相鄰宏塊和右上邊相鄰宏塊這四個(gè)相鄰宏塊中選取出與當(dāng)前宏塊的邊緣屬性一致的相鄰宏塊,將這些選取出的相鄰宏塊組成一個(gè)可選預(yù)測宏塊集,記為C,C={MB|MB∈{MBleft,MBup,MBup_left,MBup_right}且(EMB=Ecurrent)},其中,MB表示可選預(yù)測宏塊集C中的可選預(yù)測宏塊,MBleft表示當(dāng)前宏塊的左相鄰宏塊,MBup表示當(dāng)前宏塊的上相鄰宏塊,MBup_left表示當(dāng)前宏塊的左上邊相鄰宏塊,MBup_right表示當(dāng)前宏塊的右上邊相鄰宏塊,EMB表示可選預(yù)測宏塊MB的邊緣屬性,Ecurrent表示當(dāng)前宏塊的邊緣屬性;③當(dāng)對當(dāng)前宏塊進(jìn)行視差估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視差矢量的中值或均值作為當(dāng)前宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVP,然后根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVP獲取當(dāng)前宏塊的視差矢量,記為DV,再根據(jù)當(dāng)前宏塊的視差矢量DV獲取當(dāng)前宏塊的最優(yōu)視差矢量;具體包括以下步驟A1.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的視差矢量的中值或均值作為當(dāng)前宏塊的預(yù)測視差矢量,記當(dāng)前宏塊的預(yù)測視差矢量為DVP;B1.根據(jù)當(dāng)前宏塊的預(yù)測視差矢量DVP進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù)測視差矢量DVP為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第一搜索窗以菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏塊的視差矢量,記為DV;C1.判斷當(dāng)前宏塊的視差矢量DV的水平分量或垂直分量是否大于3個(gè)整像素,如果是,則繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的視差矢量DV作為當(dāng)前宏塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì);D1.根據(jù)當(dāng)前宏塊的視差矢量DV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的視差矢量DV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的視差矢量DV為搜索起點(diǎn),再在當(dāng)前編碼幀的視點(diǎn)間參考幀中采用預(yù)設(shè)的第二搜索窗以菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì),否則,以當(dāng)前宏塊的視差矢量DV為搜索中心,再在當(dāng)前編碼幀的視點(diǎn)間參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素點(diǎn)進(jìn)行搜索,尋找具有最小率失真代價(jià)的視差矢量,將該尋找得到的視差矢量作為當(dāng)前宏塊的最優(yōu)視差矢量,并結(jié)束對當(dāng)前宏塊的視差估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第一搜索窗;當(dāng)對當(dāng)前宏塊進(jìn)行運(yùn)動估計(jì)時(shí),將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動矢量的中值或均值作為當(dāng)前宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVP,然后根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVP獲取當(dāng)前宏塊的運(yùn)動矢量,記為MV,再根據(jù)當(dāng)前宏塊的運(yùn)動矢量MV獲取當(dāng)前宏塊的最優(yōu)運(yùn)動矢量;具體包括以下步驟A2.將可選預(yù)測宏塊集C中所有可選預(yù)測宏塊的運(yùn)動矢量的中值或均值作為當(dāng)前宏塊的預(yù)測運(yùn)動矢量,記當(dāng)前宏塊的預(yù)測運(yùn)動矢量為MVP;B2.根據(jù)當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVP進(jìn)行粗搜索,具體過程為以當(dāng)前宏塊的預(yù)測運(yùn)動矢量MVP為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第一搜索窗以菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的運(yùn)動矢量,記為MV;C2.判斷當(dāng)前宏塊的運(yùn)動矢量MV的水平分量或垂直分量是否大于3個(gè)整像素,如果是,則繼續(xù)執(zhí)行,否則,將當(dāng)前宏塊的運(yùn)動矢量MV作為當(dāng)前宏塊的最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì);D2.根據(jù)當(dāng)前宏塊的運(yùn)動矢量MV進(jìn)行精細(xì)搜索,具體過程為判斷當(dāng)前宏塊的運(yùn)動矢量MV的水平分量或垂直分量是否大于1個(gè)整像素,如果是,則以當(dāng)前宏塊的運(yùn)動矢量MV為搜索起點(diǎn),再在當(dāng)前編碼幀的時(shí)域參考幀中采用預(yù)設(shè)的第二搜索窗以菱形搜索法進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì),否則,以當(dāng)前宏塊的運(yùn)動矢量MV為搜索中心,再在當(dāng)前編碼幀的時(shí)域參考幀中對該搜索中心的八鄰域范圍內(nèi)的8個(gè)整像素點(diǎn)進(jìn)行搜索,尋找具有最小率失真代價(jià)的運(yùn)動矢量,將該尋找得到的運(yùn)動矢量作為當(dāng)前宏塊的最優(yōu)運(yùn)動矢量,并結(jié)束對當(dāng)前宏塊的運(yùn)動估計(jì);其中,預(yù)設(shè)的第二搜索窗大于預(yù)設(shè)的第一搜索窗。
2.根據(jù)權(quán)利要求1所述的一種快速視差估計(jì)和運(yùn)動估計(jì)方法,其特征在于所述的步驟②中邊緣屬性是指采用邊緣檢測方法對幀進(jìn)行檢測時(shí),確定幀中各個(gè)宏塊是否位于對象邊 緣區(qū)域,將宏塊位于對象邊緣區(qū)域或不位于對象邊緣區(qū)域的特性稱為邊緣屬性,當(dāng)宏塊位 于對象邊緣區(qū)域時(shí)其邊緣屬性為1,當(dāng)宏塊不位于對象邊緣區(qū)域時(shí)其邊緣屬性為0。
3.根據(jù)權(quán)利要求2所述的一種快速視差估計(jì)和運(yùn)動估計(jì)方法,其特征在于所述的步驟③中預(yù)設(shè)的第一搜索窗為一個(gè)大小為(_8,+8)的搜索窗。
4.根據(jù)權(quán)利要求2所述的一種快速視差估計(jì)和運(yùn)動估計(jì)方法,其特征在于所述的步驟 ③中預(yù)設(shè)的第二搜索窗為一個(gè)大小為(-32,+32)的搜索窗。
全文摘要
本發(fā)明公開了一種快速視差估計(jì)和運(yùn)動估計(jì)方法,利用了與當(dāng)前宏塊的邊緣屬性一致的相鄰宏塊與當(dāng)前宏塊同屬同一對象的概率較大,因而其視差矢量或運(yùn)動矢量也較為一致的特點(diǎn),用當(dāng)前宏塊的已編碼相鄰宏塊的視差矢量或運(yùn)動矢量來預(yù)測當(dāng)前宏塊的視差矢量或運(yùn)動矢量,在此基礎(chǔ)上自適應(yīng)地減少了多視點(diǎn)視頻編碼過程中視差估計(jì)和運(yùn)動估計(jì)的搜索范圍,從而達(dá)到了降低多視點(diǎn)視頻編碼的計(jì)算復(fù)雜度,提高多視點(diǎn)視頻編碼速度的目的;此外,本發(fā)明方法對運(yùn)動劇烈的對象采用了精細(xì)搜索的策略,保證了編碼后重建視頻信號的質(zhì)量。
文檔編號H04N13/00GK101895749SQ201010217600
公開日2010年11月24日 申請日期2010年6月29日 優(yōu)先權(quán)日2010年6月29日
發(fā)明者姒越后, 蔣剛毅, 郁梅 申請人:寧波大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
横峰县| 韩城市| 壤塘县| 黔东| 娱乐| 林周县| 丰台区| 棋牌| 苍溪县| 宜兴市| 东方市| 五寨县| 江口县| 彩票| 商都县| 九江县| 自贡市| 疏勒县| 文化| 全州县| 乐安县| 闽侯县| 城口县| 汝州市| 于都县| 雷波县| 万载县| 韶山市| 资兴市| 北川| 兰溪市| 桑植县| 茂名市| 大厂| 麦盖提县| 滨州市| 锦屏县| 道真| 浦江县| 东安县| 仪陇县|