專利名稱:視頻運(yùn)動估計方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)字視頻處理技術(shù)領(lǐng)域,特別涉及一種利用基于塊匹配搜索順序的運(yùn)動矢量場的時空相關(guān)性來進(jìn)行運(yùn)動估計的方法。
背景技術(shù):
一直以來,運(yùn)動估計技術(shù)被廣泛地應(yīng)用于視頻壓縮編碼以及數(shù)字視頻格式轉(zhuǎn)換等領(lǐng)域。為了盡可能減少傳送給定圖像質(zhì)量的數(shù)字視頻數(shù)據(jù)所需要的帶寬,多種不同的視頻壓縮算法已經(jīng)被開發(fā)用于壓縮視頻數(shù)據(jù)。幾個多媒體技術(shù)規(guī)范委員會已經(jīng)建立并提出了用于編碼/壓縮音頻和視頻數(shù)據(jù)的標(biāo)準(zhǔn)。這當(dāng)中,廣為人知并被廣泛接受的國際標(biāo)準(zhǔn)是由運(yùn)動圖像專家組(MPEG)提供的,包括MPEG-1和MPEG-2標(biāo)準(zhǔn)等。
視頻編碼方法主要包括幀內(nèi)壓縮和幀間壓縮,其中幀間壓縮是其壓縮比的主要來源,因此現(xiàn)有的視頻壓縮標(biāo)準(zhǔn)(MPEG1/2/4、H.261/3等等。)大多采用基于運(yùn)動估計的幀間壓縮方案。其原理就是先將當(dāng)前幀分成若干大小相同的塊,然后對每個塊(當(dāng)前塊)在參考幀一定大小的窗口內(nèi)搜索與之最相似的匹配塊。當(dāng)前塊和匹配塊的位置差稱為運(yùn)動矢量、像素差稱為殘差塊。由于殘差塊中接近0的像素很多,通過DCT變換、量化、熵編碼,就可以大幅度提高壓縮比。在上述過程中,運(yùn)動估計就是搜索最佳匹配塊的環(huán)節(jié)。顯然,運(yùn)動估計不僅最費(fèi)時,而且直接影響壓縮效率,是視頻壓縮的關(guān)鍵和瓶頸。
掃描格式轉(zhuǎn)換是當(dāng)前網(wǎng)絡(luò)環(huán)境下的計算視頻、高清晰度電視和傳統(tǒng)電視存在的共同問題,掃描格式需要在不同制式之間進(jìn)行轉(zhuǎn)換。解交織是實踐中對所有掃描格式進(jìn)行轉(zhuǎn)換的一項基本要求。已經(jīng)提出了許多解交織的算法,包括有簡單的空間解交織的方法和高級的運(yùn)動補(bǔ)償解交織的方法。運(yùn)動補(bǔ)償解交織的關(guān)鍵技術(shù)是運(yùn)動估計,運(yùn)動估計的復(fù)雜度和性能將直接決定運(yùn)動補(bǔ)償解交織的復(fù)雜度和性能。解交織技術(shù)同視頻壓縮編碼技術(shù)對運(yùn)動估計的要求有所不同,它更強(qiáng)調(diào)運(yùn)動矢量符合物體的真實運(yùn)動。
現(xiàn)有的許多運(yùn)動估計的方法都存在著一些缺陷計算量過大,實現(xiàn)的代價大,比如全搜索算法;假設(shè)誤差曲面的單調(diào)性,極容易陷入局部最優(yōu),比如一些經(jīng)典的塊匹配方法,如三步法。最重要的是,這些運(yùn)動估計的方法都不能很好地描述物體的真實運(yùn)動。
專利號為01801368.6的發(fā)明專利公開了一種運(yùn)動估計的方法,該方法首先為當(dāng)前像素塊確定一組候選矢量,然后選擇最優(yōu)候選矢量作為搜索的起點,在預(yù)定區(qū)域搜索得到最后的運(yùn)動矢量。專利號為01100544.0的專利公開了另一種運(yùn)動估計的方法,這種方法首先為當(dāng)前搜索塊確定一個最優(yōu)的搜索起點,然后采用菱形搜索,并自適應(yīng)地終止搜索過程。這兩種方法都采用固定的從上到下地從左到右的順序進(jìn)行塊匹配搜索,利用這種順序下的運(yùn)動矢量場的相關(guān)性來減少運(yùn)動估計的計算量和提高搜索速度和準(zhǔn)確性。這兩種方法的候選矢量的個數(shù)和位置都是固定的,對估計出的運(yùn)動矢量不再進(jìn)行處理。采用固定順序進(jìn)行塊匹配搜索并不能充分利用運(yùn)動矢量空間的相關(guān)性,運(yùn)動估計的性能在圖像空間的分布也不平均。
發(fā)明內(nèi)容
本發(fā)明的目的就是針對現(xiàn)有技術(shù)存在的缺陷或不足,提供一種利用基于塊匹配搜索順序的運(yùn)動矢量場的時空相關(guān)性,來進(jìn)行運(yùn)動估計的方法。采用該方法估計出的運(yùn)動矢量可以更好地描述物體的真實運(yùn)動。
該方法包括以下步驟(a)基于塊匹配搜索的順序,根據(jù)當(dāng)前塊附近幾個塊的運(yùn)動矢量并采用一種更新機(jī)制來確定一組候選矢量;(b)對每一個所述候選矢量,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差;同時計算當(dāng)前像素塊和參考幀中相同位置像素塊的誤差,選取以上誤差值最小的矢量作為運(yùn)動矢量;(c)對估計出的運(yùn)動矢量進(jìn)行中值濾波來平滑矢量場。當(dāng)然,步驟(b)中表示當(dāng)前像素塊匹配參考幀中相同位置像素塊的運(yùn)動矢量可以作為步驟(a)中又一個候選矢量,再同時計算這些候選矢量對應(yīng)的匹配誤差。
步驟(a)中塊匹配搜索的順序可以是從上到下地從左到右、從下到上地從左到右、從上到下地從右到左、從下到上地從右到左;從上到下交替地從左到右和從右到左、從下到上交替地從左到右和從右到左;從四周到中央。
步驟(a)包含如下步驟(1)根據(jù)塊匹配搜索的順序選擇兩個按照匹配搜索的順序已經(jīng)處理過的塊的運(yùn)動矢量、一個未經(jīng)處理的塊的運(yùn)動矢量一共三個矢量作為初步確定的候選矢量。兩個已經(jīng)處理的塊選擇和當(dāng)前塊水平相鄰和垂直相鄰的塊;一個未經(jīng)處理的塊選擇當(dāng)前塊45度對角線方向的塊。(2)按照一種更新機(jī)制對初步確定的候選矢量進(jìn)行更新。
步驟(2)中的更新機(jī)制就是首先對初步確定的候選矢量中的兩個按照匹配搜索的順序已經(jīng)處理過的塊的運(yùn)動矢量按照交替的順序選擇其中的一個。然后,在一個預(yù)定范圍的矢量空間內(nèi),隨機(jī)地選擇一個矢量,并把這個矢量加到被選中進(jìn)行更新的那一個初步確定的候選矢量上,形成更新后的矢量。這個更新后的矢量和初步確定的候選矢量中未更新的其它兩個一起構(gòu)成一組候選矢量。
步驟(2)中的更新機(jī)制又可以是按照遺傳算法對初步確定的候選矢量進(jìn)行更新,更新的結(jié)果就是一組候選矢量。
步驟(b)中計算誤差包含如下步驟(1)擴(kuò)大待處理的當(dāng)前幀/場的像素塊和通過候選矢量匹配對應(yīng)的參考幀的像素塊的邊界,并對其進(jìn)行亞采樣;(2)對經(jīng)亞采樣后的塊像素,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差。
步驟(b)中計算誤差又可以不進(jìn)行亞采樣,直接計算當(dāng)前像素塊和其匹配的參考像素塊的誤差。
步驟(b)中計算當(dāng)前像素塊和其匹配的參考像素塊的誤差值的一種減少計算量的簡單實現(xiàn)包含以下步驟(1)對當(dāng)前像素塊相應(yīng)數(shù)目的像素求和;(2)對參考幀像素塊相應(yīng)數(shù)目的像素求和;(3)對上述兩個和求絕對差,就得到運(yùn)動估計誤差。當(dāng)然,也可以直接計算這些像素的SAD值作為運(yùn)動估計的誤差。
步驟(c)包括如下步驟(1)對塊運(yùn)動矢量的水平和垂直分量分別采用3*3的2維中值濾波;(2)對中值濾波輸出的結(jié)果進(jìn)行處理中值濾波輸出的水平分量和垂直分量構(gòu)成的運(yùn)動矢量,如果這個矢量不是參與中值濾波的8個當(dāng)前塊相鄰塊運(yùn)動矢量中的任何一個,取原先當(dāng)前塊的運(yùn)動矢量作為輸出,否則取中值濾波的結(jié)果作為輸出。
該發(fā)明可以對各種格式的視頻信號進(jìn)行運(yùn)動估計。特別地,該發(fā)明適用于對數(shù)字高清晰度電視信號進(jìn)行運(yùn)動估計。
對大多數(shù)圖像而言,運(yùn)動的物體通常比塊要大,而且運(yùn)動的物體具有慣性,這就意味著運(yùn)動矢量場在時間上和空間上有很大的相關(guān)性。利用這種相關(guān)性可以更快、更準(zhǔn)地找到匹配塊,大大降低計算量。一般塊匹配算法的搜索順序是從上到下地從左到右,該發(fā)明可以采用許多其它的搜索順序,并基于搜索順序來選擇候選矢量,可以更準(zhǔn)確地估計運(yùn)動,從而使估計出的運(yùn)動矢量更接近物體的真實運(yùn)動。運(yùn)動估計中,計算匹配誤差是計算量最大的部分,該發(fā)明提供了一個簡單高效的實現(xiàn)方法,大大減小了計算量,降低了實現(xiàn)代價。該發(fā)明對估計出的矢量場進(jìn)行平滑處理,可以利用相鄰塊的運(yùn)動矢量對因為光照或噪聲引起的運(yùn)動估計的錯誤進(jìn)行修正,提高了運(yùn)動估計的準(zhǔn)確性,并使運(yùn)動矢量場更好地描述物體的真實運(yùn)動。
圖1是塊匹配搜索順序的一個示意圖;圖2是塊匹配搜索順序的另一示意圖;圖3是塊匹配搜索順序的又一示意圖;圖4是圖2中搜索順序下的一個候選矢量示意圖;圖5是圖2中搜索順序下的另一候選矢量示意圖;圖6是擴(kuò)大塊邊界進(jìn)行亞采樣的示意圖;圖7是一種中值濾波前的運(yùn)動矢量場的示意圖;圖8是一種中值濾波后的運(yùn)動矢量場的示意圖。
具體實施例方式
圖1是傳統(tǒng)的采用從左到右地從上到下的順序?qū)Ξ?dāng)前幀/場的塊進(jìn)行塊匹配搜索來估計運(yùn)動矢量。
圖2是采用從上到下地交替地從左到右和從右到左的順序?qū)Ξ?dāng)前幀/場的塊進(jìn)行塊匹配搜索來估計運(yùn)動矢量。
圖3是采用從四周到中央的順序?qū)Ξ?dāng)前幀/場的塊進(jìn)行塊匹配搜索來估計運(yùn)動矢量。
圖4說明了圖2搜索順序下一種候選矢量的選取。圖中黑色的塊表示當(dāng)前像素塊,畫有斜線的塊的運(yùn)動矢量是候選矢量。對于從左到右進(jìn)行搜索的像素塊,三個候選矢量分別是當(dāng)前塊正左相鄰塊的運(yùn)動矢量、當(dāng)前塊正上相鄰塊的運(yùn)動矢量、當(dāng)前塊右下45度對角線方向上一個塊的運(yùn)動矢量。
圖5說明了圖2搜索順序下另一種候選矢量的選取。圖中黑色的塊表示當(dāng)前像素塊,畫有斜線的塊的運(yùn)動矢量是候選矢量。對于從右到左進(jìn)行搜索的像素塊,三個候選矢量分別是當(dāng)前塊正右相鄰塊的運(yùn)動矢量、當(dāng)前塊正上相鄰塊的運(yùn)動矢量、當(dāng)前塊左下45度對角線方向上一個塊的運(yùn)動矢量。
基于塊匹配搜索順序選擇候選矢量,可以利用之前已經(jīng)處理過的塊的運(yùn)動矢量,這可以使得運(yùn)動估計搜索的起點更準(zhǔn)確,加快了搜索的速度,減少了搜索的計算量;基于搜索順序的來選擇候選矢量可以更好、更充分地利用運(yùn)動矢量場的時空相關(guān)性,使得運(yùn)動估計的性能在空間的分布更平均,提高視覺效果。
圖6說明了擴(kuò)大塊邊界進(jìn)行亞采樣。粗實線包圍的塊是原始的塊,粗虛線包圍的是擴(kuò)大邊界的塊?!跏窃枷袼?,■是亞采樣選擇的用于運(yùn)動估計誤差計算的像素。在擴(kuò)大的塊上進(jìn)行運(yùn)動估計,可以使運(yùn)動估計的結(jié)果更加準(zhǔn)確,并可以減少塊效應(yīng);亞采樣可以減少用于運(yùn)動估計誤差計算的像素,減少計算量,亞采樣的采樣結(jié)構(gòu)可以有多種選擇。
圖7說明了中值濾波前的運(yùn)動矢量場。圖中粗實線包圍的區(qū)域就是進(jìn)行2維3*3中值濾波的區(qū)域??梢钥闯霎?dāng)前塊的運(yùn)動矢量因為光照或噪聲等原因,它的運(yùn)動矢量是不正確的。
圖8說明了中值濾波后的運(yùn)動矢量場。可以看出中值濾波根據(jù)運(yùn)動矢量場的空間相關(guān)性,利用鄰近塊的矢量糾正了當(dāng)前塊的運(yùn)動矢量,提高了運(yùn)動估計的性能,并使得運(yùn)動矢量可以更好地描述物體的真實運(yùn)動。
本發(fā)明具體方法首先是根據(jù)從上到下交替地從左到右和從右到左的塊匹配搜索順序選擇已經(jīng)處理的和當(dāng)前塊水平相鄰和垂直相鄰的兩個塊的運(yùn)動矢量、一個未經(jīng)處理的當(dāng)前塊45度對角線方向的塊的運(yùn)動矢量(如圖4或圖5)作為初步確定的候選矢量;對初步確定的候選矢量中的兩個按照匹配搜索的順序已經(jīng)處理過的塊的運(yùn)動矢量按照交替的順序選擇其中的一個并在一個預(yù)定范圍的矢量空間內(nèi)隨機(jī)地選擇一個矢量,把這個矢量加到被選中的那一個需要進(jìn)行更新的初步確定的候選矢量上,形成更新后的矢量。這個更新后的矢量和初步確定的候選矢量中未更新的其它兩個一起構(gòu)成一組候選矢量。然后對每一個候選矢量,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差,同時計算當(dāng)前像素塊和參考幀中相同位置像素塊的誤差,把具有最小誤差值的矢量確定為運(yùn)動矢量。誤差值可以通過計算這些像素的SAD來得到,SAD最小的被確定為運(yùn)動矢量。最后對估計出的塊運(yùn)動矢量的水平和垂直分量分別采用3*3的2維中值濾波,如果中值濾波輸出的水平分量和垂直分量構(gòu)成的運(yùn)動矢量不是參與中值濾波的8個當(dāng)前塊相鄰塊運(yùn)動矢量中的任何一個,取原先當(dāng)前塊的運(yùn)動矢量作為輸出,否則取中值濾波的結(jié)果作為輸出,中值濾波處理前后的矢量場如圖7和圖8所示。
權(quán)利要求
1.視頻運(yùn)動估計方法,其特征在于該方法包括以下步驟(a)基于塊匹配搜索的順序,根據(jù)當(dāng)前塊附近幾個塊的運(yùn)動矢量并采用一種更新機(jī)制來確定一組候選矢量;(b)對每一個所述候選矢量,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差,同時計算當(dāng)前像素塊和參考幀中相同位置像素塊的誤差,選取以上誤差值最小的矢量作為運(yùn)動矢量;(c)對估計出的運(yùn)動矢量進(jìn)行中值濾波來平滑矢量場。
2.如權(quán)利要求1所述的視頻運(yùn)動估計方法,其特征在于步驟(a)的方法是首先根據(jù)塊匹配搜索的順序選擇兩個已經(jīng)處理過的塊的運(yùn)動矢量、一個未經(jīng)處理的塊的運(yùn)動矢量一共三個矢量作為初步確定的候選矢量,然后按照一種更新機(jī)制對初步確定的候選矢量進(jìn)行更新。
3.如權(quán)利要求1所述的視頻運(yùn)動估計方法,其特征在于步驟(b)中計算誤差的方法是擴(kuò)大待處理的當(dāng)前幀/場的像素塊和對應(yīng)的參考幀的像素塊的邊界,并對其進(jìn)行亞采樣,然后對經(jīng)亞采樣后的塊像素,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差。
4.如權(quán)利要求1所述的視頻運(yùn)動估計方法,其特征在于步驟(b)中計算誤差就是直接計算當(dāng)前像素塊和其匹配的參考像素塊的誤差。
5.如權(quán)利要求1所述的視頻運(yùn)動估計方法,其特征在于步驟(c)是首先對塊運(yùn)動矢量的水平和垂直分量分別采用3*3的2維中值濾波,然后根據(jù)中值濾波輸出的結(jié)果進(jìn)行處理,如果中值濾波輸出的水平分量和垂直分量構(gòu)成的運(yùn)動矢量不是參與中值濾波的8個當(dāng)前塊相鄰塊運(yùn)動矢量中的任何一個,取原先當(dāng)前塊的運(yùn)動矢量作為輸出,否則取中值濾波的結(jié)果作為輸出。
6.如權(quán)利要求2所述的視頻運(yùn)動估計方法,其特征在于塊匹配搜索的順序可以是從上到下地從左到右、從下到上地從左到右、從上到下地從右到左、從下到上地從右到左;從上到下交替地從左到右和從右到左、從下到上交替地從左到右和從右到左;從四周到中央。
7.如權(quán)利要求2所述的視頻運(yùn)動估計方法,其特征在于所述的兩個已經(jīng)處理的塊選擇和當(dāng)前塊水平相鄰和垂直相鄰的塊;所述的一個未經(jīng)處理的塊選擇當(dāng)前塊45度對角線方向的塊。
8.如權(quán)利要求2所述的視頻運(yùn)動估計方法,其特征在于所述的更新機(jī)制就是首先對初步確定的候選矢量中的兩個按照匹配搜索的順序已經(jīng)處理過的塊的運(yùn)動矢量按照交替的順序選擇其中的一個;然后在一個預(yù)定范圍的矢量空間內(nèi),隨機(jī)地選擇一個矢量并把這個矢量加到被選中進(jìn)行更新的那一個初步確定的候選矢量上,形成更新后的矢量,這個更新后的矢量和初步確定的候選矢量中未更新的其它兩個一起構(gòu)成一組候選矢量。
9.如權(quán)利要求2所述的視頻運(yùn)動估計方法,其特征在于所述的更新機(jī)制是按照遺傳算法對初步確定的候選矢量進(jìn)行更新,更新的結(jié)果就是一組候選矢量。
10.如權(quán)利要求3或4所述的視頻運(yùn)動估計方法,其特征在于計算當(dāng)前像素塊和其匹配的參考像素塊的誤差值方法是首先對當(dāng)前像素塊相應(yīng)數(shù)目的像素求和,然后對參考幀像素塊相應(yīng)數(shù)目的像素求和,再對上述兩個和求絕對差,就得到運(yùn)動估計誤差。
全文摘要
本發(fā)明涉及一種利用基于搜索模式的運(yùn)動矢量場的時空相關(guān)性來進(jìn)行運(yùn)動估計的方法。本發(fā)明包括以下步驟基于塊匹配搜索的順序,根據(jù)當(dāng)前塊附近幾個塊的運(yùn)動矢量并采用一種更新機(jī)制來確定一組候選矢量;對每一個所述候選矢量,計算當(dāng)前像素塊和其匹配的參考像素塊的誤差;計算當(dāng)前像素塊和參考幀中相同位置像素塊的誤差;把具有最小誤差值的矢量確定為運(yùn)動矢量;對估計出的運(yùn)動矢量進(jìn)行中值濾波來平滑矢量場。本發(fā)明運(yùn)算量小,實現(xiàn)代價低,提高了運(yùn)動估計的準(zhǔn)確性,使運(yùn)動矢量場更好地描述物體的真實運(yùn)動。
文檔編號H04N7/26GK1444406SQ0311513
公開日2003年9月24日 申請日期2003年1月24日 優(yōu)先權(quán)日2003年1月24日
發(fā)明者王維東, 陳濤, 張明, 謝磊 申請人:杭州國芯科技有限公司