專利名稱:運動矢量搜索范圍的自適應(yīng)確定方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼器,尤其涉及一種運動矢量搜索范圍的自適應(yīng)確定方法。
下一代視頻壓縮方法與傳統(tǒng)的視頻壓縮方法的主要不同之處在于,它采用基于4×4塊的轉(zhuǎn)換與編碼,并基于塊進行運動估計和運動補償。
然而,盡管下一代視頻壓縮方法在性能上優(yōu)于視頻標(biāo)準(zhǔn)化方法,但當(dāng)編碼器為可變塊決定運動矢量時存在問題,運動矢量估計的復(fù)雜性大大增加了。
本發(fā)明的另一目標(biāo)在于提供一種運動矢量搜索范圍的自適應(yīng)確定方法,這種方法通過由與當(dāng)前塊相鄰的塊的運動矢量估計搜索范圍,能夠在不影響壓縮效率的情況下大大減小運動矢量估計的復(fù)雜性。
本發(fā)明的另一目標(biāo)在于提供一種運動矢量搜索范圍的自適應(yīng)確定方法,這種方法通過由與當(dāng)前塊相鄰的塊的運動矢量估計搜索范圍,從而大大減小采用H.26L方法的編碼器的復(fù)雜性。
根據(jù)本發(fā)明的目的,為了實現(xiàn)這些或其它優(yōu)點,正如這里所實施并加以詳細(xì)說明的,提供了一種運動矢量搜索范圍的自適應(yīng)確定方法,包括如下步驟確定與一個特定塊相鄰的塊的運動矢量值;在所確定的相鄰塊運動矢量值的基礎(chǔ)上,確定該特定塊的運動矢量搜索范圍。
為了實現(xiàn)上述目標(biāo),本發(fā)明提供了一種運動矢量搜索范圍的自適應(yīng)確定方法,包括以下步驟確定與運動矢量待定的塊相鄰的塊的運動矢量值;在所確定的相鄰塊運動矢量值的基礎(chǔ)上,確定該運動矢量待定的塊的運動矢量搜索范圍。
為了實現(xiàn)上述目標(biāo),本發(fā)明提供了一種運動矢量搜索范圍的自適應(yīng)確定方法,包括以下步驟確定與運動矢量待定的一個特定塊相鄰的塊的運動矢量值;在所確定的相鄰塊運動矢量值的基礎(chǔ)上,確定該特定塊的局部運動矢量的最大范圍值;定義該特定塊的運動矢量的最小值;對局部運動矢量的最大范圍值和所定義的運動矢量最小值進行比較,以計算最大值,并將計算出的最大值確定為該特定塊的運動矢量最大搜索范圍值;將該特定塊的運動矢量最大搜索范圍值以及用戶預(yù)先定義的搜索范圍值之中的最小值確定為該特定塊的運動矢量的最終最大搜索范圍值。
為了實現(xiàn)上述目標(biāo),本發(fā)明提供了一種視頻編碼器的運動矢量估計中的運動矢量搜索范圍自適應(yīng)確定方法,包括以下步驟確定與運動矢量待定的塊相鄰的塊的水平方向和垂直方向運動矢量值;在相鄰塊的運動矢量值的基礎(chǔ)上,確定該特定塊在水平方向和垂直方向上的局部運動矢量最大范圍值;定義該特定塊在水平方向和垂直方向上的運動矢量最小值;對所確定的局部運動矢量最大范圍值和所定義的運動矢量最小值進行比較,從而計算最大值,并將計算出的最大值確定為該特定塊的運動矢量值最大搜索范圍值;將該特定塊的運動矢量最大搜索范圍值以及用戶預(yù)先定義的搜索范圍值之中的最小值確定為該特定塊最終的運動矢量最大搜索范圍值。
由以下的詳細(xì)說明,結(jié)合附圖,可以更清楚地理解本發(fā)明的上述及其它目標(biāo)、特征、方面和優(yōu)點。
優(yōu)選實施例說明以下結(jié)合附圖對本發(fā)明做詳細(xì)說明。
以下參照
圖1和圖2對根據(jù)本發(fā)明實施例的運動矢量搜索范圍自適應(yīng)確定方法進行說明,該方法在相鄰塊的運動矢量值的基礎(chǔ)上估計塊的運動矢量搜索范圍,從而能夠大大減小運動矢量估計的復(fù)雜性,能夠在不影響壓縮效率的情況下大大減小運動矢量估計的復(fù)雜性,以便提供基于實時的運動圖像服務(wù),還能夠減小采用H.26L方法的編碼器的復(fù)雜性。特別地,本發(fā)明以H.26L視頻壓縮方法為例進行詳細(xì)說明。
首先,在H.26L視頻壓縮方法中,編碼器去除時間和空間冗余信息,從而傳輸解碼所需的時間和空間壓縮信息和附加信息。在這種視頻壓縮方法中,解碼器執(zhí)行與編碼器相反的操作。
此外,本發(fā)明提供了一種方法,由相鄰塊的信息適應(yīng)性地估計運動矢量搜索范圍,從而在不影響壓縮效率的情況下大大減小了編碼器的復(fù)雜性。
具體而言,本發(fā)明提供了一種方法,在當(dāng)前塊(即,運動矢量待定的塊)的運動矢量與先前編碼的相鄰塊的運動矢量高度相關(guān)這一特點的基礎(chǔ)之上,能夠有效地確定當(dāng)前塊的運動矢量搜索范圍。
圖1顯示的是根據(jù)本發(fā)明的運動矢量待定的塊和相鄰塊。
如圖1所示,假定‘E’為當(dāng)前塊,即運動矢量待定的塊,‘A’、‘B’和‘C’是相鄰于塊E的4×4塊。相鄰塊A的水平方向(x)和垂直方向(y)的運動矢量值用MVAx,MVAy來表示,相鄰塊B的水平方向(x)和垂直方向(y)的運動矢量值用MVBx,MVBy來表示,相鄰塊C的水平方向(x)和垂直方向(y)的運動矢量值用MVCx,MVCy來表示。
也就是說,確定運動矢量待定的塊的運動矢量搜索范圍包括如下幾個步驟確定與運動矢量待定的塊相鄰的塊的運動矢量值;在所確定的相鄰塊的運動矢量值的基礎(chǔ)上,確定運動矢量待定的塊的運動矢量搜索范圍。
圖2顯示的是根據(jù)本發(fā)明的運動矢量待定的塊的運動矢量搜索范圍自適應(yīng)確定方法的流程圖。
如圖2所示,確定運動矢量搜索范圍的方法包括第一步驟(S21)確定與運動矢量待定的塊E相鄰的塊A、B、C在水平方向(x)和垂直方向(y)上的運動矢量值(MVAx,MVAy),(MVBx,MVBy)以及(MVCx,MVCy);第二步驟(S22)由相鄰塊A、B、C在水平方向(x)和垂直方向(y)上的運動矢量值來確定局部運動矢量在水平方向(x)和垂直方向(y)上的最大范圍值(max_MVEx,max_MVEy);第三步驟(S23)定義塊E在水平方向(x)和垂直方向(y)上的運動矢量最小值;第四步驟(S24)將所定義的運動矢量最小值和所確定的局部運動矢量最大范圍值之中的最大值確定為塊E在水平方向(x)和垂直方向(y)上的運動矢量最大搜索范圍值;第五步驟(S25)最后將所確定的運動矢量最大范圍值以及用戶先前定義的搜索范圍值之中的最小值確定為塊E最終的運動矢量最大搜索范圍值。在此,用戶定義的搜索范圍值是用戶在編碼器中定義的搜索范圍值。
下面結(jié)合圖1對有關(guān)于確定運動矢量待定的塊的運動矢量搜索范圍的方法做出詳細(xì)說明。
首先,確定與運動矢量待定的特定塊E相鄰的塊A、B、C在水平方向(x)和垂直方向(y)上的運動矢量值(MVAx,MVAy),(MVBx,MVBy)以及(MVCx,MVCy)。
也就是說,與一般的壓縮方法一樣,在H.26L壓縮方法中,在估計塊E的運動矢量之前確定相鄰于塊E的4×4塊A、B、C在水平方向(x)和垂直方向(y)的運動矢量。塊A、B、C在水平方向(x)和垂直方向(y)的運動矢量(MVAx,MVAy),(MVBx,MVBy)以及(MVCx,MVCy)可通過視頻壓縮方法中眾所周知的運動估計來獲得(S21),因此,省略了其詳細(xì)說明。
此后,由相鄰塊A、B、C在水平方向(x)和垂直方向(y)的運動矢量值確定塊E在水平方向(x)和垂直方向(y)的局部運動矢量的最大范圍值(max_MVEx,max_MVEy)。也就是說,塊E在水平方向(x)和垂直方向(y)的局部運動矢量的最大范圍值(max_MVEx,max_MVEy)被確定為根據(jù)公式(1)計算出的相鄰塊A、B、C在水平方向(x)和垂直方向(y)的各個運動矢量的絕對值中的最大值。
Max_MVEx=max(abs(MVAx),max(abs(MVBx),abs(MVCx))Max_MVEy=max(abs(MVAy),max(abs(MVBy),abs(MVCy))----------(1)其中max(u,v)指是的‘u’和‘v’中的最大值,abs(.)指的是絕對值函數(shù)(S22)。
同時,關(guān)于公式(1)確定的塊E的局部運動矢量最大范圍,如果塊E的運動與相鄰塊的大不相同,那就會出現(xiàn)嚴(yán)重的運動矢量錯誤。為了避免這一錯誤,利用局部運動的統(tǒng)計特性,通過公式(2)來確定塊E在水平方向(x)和垂直方向(y)的運動矢量最小范圍值(ki;(kx,ky))(S23)。 ai=abs(MVAi)+abs(MVBi)+abs(MVCi)其中‘i’指的是塊的水平方向(x)和垂直方向(y),input_search_range指的是用戶指定的搜索范圍。
其后,由公式(3)確定運動矢量待定的塊E在水平方向(x)和垂直方向(y)的運動矢量最大搜索范圍。也就是說,把根據(jù)公式(1)計算出來的塊E局部運動矢量最大范圍值乘以2所得的值(2×max_MVEi)以及根據(jù)公式(2)計算的最小范圍值(ki)進行比較,把最大值確定為塊E在水平方向(x)和垂直方向(y)的運動矢量最大搜索范圍(local_search_rangei)(S24)。
local_search_rangex=max(kx,2×max_MVEx)local_search_rangey=max(ky,2×max_MVEy)-----------(3)這時,可能會出現(xiàn)錯誤,即根據(jù)公式(3)計算確定的運動矢量搜索范圍(local_search_rangei)設(shè)置得比用戶定義的搜索范圍(input_search_range)大。為了避免這一錯誤,最終由公式(4)來確定塊E的運動矢量最大搜索范圍值(new_search_rangei)new_search_rangex=min(input_search_range,local_search_rangex)new_search_rangey=min(input_search_range,local_search_rangey) (4)其中‘i’代表x,y。
如上所述,本發(fā)明的運動矢量搜索范圍自適應(yīng)確定方法有很多優(yōu)越性。
也就是說,與運動矢量待定的塊相鄰的塊的運動矢量值一經(jīng)確定,那么在所確定的相鄰塊的運動矢量值的基礎(chǔ)上確定運動矢量待定的塊的運動矢量搜索范圍。因此,對于基于實時的運動圖像服務(wù),運動矢量估計的復(fù)雜性可以大大減小。
此外,由于先確定與運動矢量待定的塊相鄰的塊的運動矢量值,然后在所確定的運動矢量值的基礎(chǔ)上確定運動矢量待定的塊的運動矢量搜索范圍,這樣在不影響壓縮效率的情況下大大減小了運動估計的復(fù)雜性。
而且,由于先確定與運動矢量待定的塊相鄰的塊的運動矢量值,然后在所確定的運動矢量值的基礎(chǔ)上確定運動矢量待定的塊的運動矢量搜索范圍,從而大大減小了采用H.26L方法的編碼器的復(fù)雜性。也就是說,在采用H.26L視頻壓縮方法的數(shù)字視頻播放器中可以執(zhí)行高速編碼,這樣數(shù)字視頻播放器的性能就能得到改進。尤其是通過將本發(fā)明應(yīng)用于需要低比特率或高速處理的壓縮編碼方法中,就能夠達到上述效果。
在本發(fā)明中,對于將該運動矢量搜索范圍確定方法應(yīng)用于H.26L視頻壓縮方法已經(jīng)做出了說明,但本發(fā)明的運動矢量搜索范圍確定方法也適用于各種視頻壓縮方法,如MPEG-4和H.263也能獲得相同效果。
在不脫離本發(fā)明的精神或本質(zhì)特征的情況下,本發(fā)明可以實施為多種形式,還應(yīng)該理解,除非另外特別說明,以上實施例不限于上述的任何細(xì)節(jié),而應(yīng)在權(quán)利要求所限定的精神和范圍內(nèi)廣義地解釋,因此,所附的權(quán)利要求涵蓋所有落在權(quán)利要求的界限或其等同物內(nèi)的變化和改進。
權(quán)利要求
1.一種運動矢量搜索范圍的自適應(yīng)確定方法,包括如下步驟確定與一個特定塊相鄰的塊的運動矢量值;以及在所確定的相鄰塊運動矢量值的基礎(chǔ)上確定所述特定塊的運動矢量搜索范圍。
2.一種運動矢量搜索范圍的自適應(yīng)確定方法,包括如下步驟確定與運動矢量待定的塊相鄰的塊的運動矢量值;以及在所確定的相鄰塊運動矢量值的基礎(chǔ)上確定所述運動矢量待定的塊的運動矢量搜索范圍。
3.根據(jù)權(quán)利要求2所述的方法,其中,在確定相鄰塊的運動矢量值的步驟中,確定相鄰塊的水平方向和垂直方向運動矢量值。
4.根據(jù)權(quán)利要求3所述的方法,其中,確定運動矢量待定的塊的運動矢量搜索范圍這一步驟就是,在相鄰塊的水平方向和垂直方向運動矢量值的基礎(chǔ)上,確定運動矢量待定的塊在水平方向和垂直方向上的局部運動矢量的最大范圍值。
5.根據(jù)權(quán)利要求4所述的方法,其中,確定運動矢量待定的塊,即運動矢量待定塊的運動矢量搜索范圍的步驟包括定義運動矢量待定塊在水平方向和垂直方向上的各個運動矢量最小值;以及將所確定的局部運動矢量最大范圍值和所定義的運動矢量最小值中的最大值確定為運動矢量待定塊在水平方向和垂直方向上的運動矢量最大搜索范圍值。
6.根據(jù)權(quán)利要求5所述的方法,其中,確定運動矢量待定塊的運動矢量搜索范圍的步驟包括將所確定的運動矢量待定塊的水平方向和垂直方向運動矢量最大搜索范圍值和用戶預(yù)先定義的搜索范圍值中的最小值確定為運動矢量待定塊的最終運動矢量最大搜索范圍值。
7.根據(jù)權(quán)利要求2所述的方法,其中,確定運動矢量待定的塊,即運動矢量待定塊的運動矢量搜索范圍的步驟包括確定與運動矢量待定塊相鄰的塊的水平方向和垂直方向運動矢量值;在相鄰塊的運動矢量值的基礎(chǔ)上,確定運動矢量待定塊在水平方向和垂直方向上的局部運動矢量的最大范圍值;確定運動矢量待定塊在水平方向和垂直方向上的運動矢量的最小值;將所確定的局部運動矢量最大范圍值以及所定義的運動矢量最小值之間的最小值確定為運動矢量待定塊在水平方向和垂直方向上的運動矢量最大搜索范圍值;以及將運動矢量待定塊的運動矢量最大搜索范圍值以及用戶定義的搜索范圍值之間的最小值確定為運動矢量待定塊最終的運動矢量最大搜索范圍值。
8.根據(jù)權(quán)利要求7所述的方法,其中,利用下面的公式,對相鄰塊水平方向和垂直方向運動矢量值進行比較,把比較結(jié)果值中的最大值確定為運動矢量待定塊在水平方向x和垂直方向y上的局部運動矢量的最大范圍值max_MVEx=max(abs(MVAx),max(abs(MVBx),abs(MVCx))max_MVEy=max(abs(MVAy),max(abs(MVBy),abs(MVCy))其中,max_MVEx是水平方向局部運動矢量的最大范圍值,max_MVEy是垂直方向局部運動矢量的最大范圍值,MVAx,MVAy,MVBx,MVBy和MVCx,MVCy是相鄰塊在水平方向和垂直方向上的運動矢量值,max(u,v)是‘u’和‘v’中的最大值,abs(.)是絕對值函數(shù)。
9.根據(jù)權(quán)利要求7所述的方法,其中,由下面的公式確定運動矢量的定義最小值 ai=abs(MVAi)+abs(MVBi)+abs(MVCi)其中,‘i’是塊的水平方向x和垂直方向y,input_search_range是用戶定義的搜索范圍。
10.根據(jù)權(quán)利要求7所述的方法,其中,確定運動矢量待定的塊在水平方向和垂直方向上的運動矢量最大范圍值的步驟包括第一步驟將所確定的局部運動矢量最大范圍值與定義的運動矢量最小值進行比較,把計算出的最大值確定為運動矢量搜索范圍值local_search_rangei;以及第二步驟通過公式new_search_rangei=min(input_search_range,local_search_rangei),最終把所確定的運動矢量搜索范圍值local_search_rangei以及用戶定義的運動矢量范圍值input_search_rangei中的最小值確定為運動矢量最大搜索范圍值new_search_rangei,其中,‘i’代表塊的水平方向x和垂直方向y。
11.根據(jù)權(quán)利要求10所述的方法,其中,被確定為運動矢量搜索范圍值的最大值是由下面的公式確定的local_search_rangex=max(kx,常數(shù)×max_MVEx)local_search_rangey=max(ky,常數(shù)×max_MVEy)其中,max_MVEx是運動矢量待定的塊在水平方向上的運動矢量最大范圍值,max_MVEy是運動矢量待定的塊在垂直方向上的運動矢量最大范圍值,kx是運動矢量待定的塊在水平方向上的運動矢量最小范圍值,ky是運動矢量待定的塊在垂直方向上的運動矢量最小范圍值。
12.根據(jù)權(quán)利要求11所述的方法,其中,所述的常數(shù)是‘2’。
13.根據(jù)權(quán)利要求2所述的方法,其中,與運動矢量待定的塊相鄰的塊是4×4塊。
14.一種運動矢量搜索范圍的自適應(yīng)確定方法,包括下列步驟確定與運動矢量待定的特定塊相鄰的塊的運動矢量值;在所確定的相鄰塊運動矢量值的基礎(chǔ)上,確定所述特定塊的局部運動矢量的最大范圍值;確定所述特定塊的運動矢量最小值;對所確定的局部運動矢量值最大范圍值和所定義的運動矢量最小值進行比較,從而計算一個最大值,并將計算出的最大值確定為所述特定塊的運動矢量最大搜索范圍值;以及將所述特定塊的運動矢量最大搜索范圍值以及用戶預(yù)先定義的搜索范圍值之中的最小值確定為所述特定塊的最終運動矢量最大搜索范圍值。
15.根據(jù)權(quán)利要求14所述的方法,其中,所述特定塊的運動矢量是特定塊在水平方向和垂直方向上的運動矢量,所述相鄰塊的運動矢量是相鄰塊在水平方向和垂直方向上的運動矢量。
16.根據(jù)權(quán)利要求14所述的方法,其中,通過下面的公式,對相鄰塊的水平方向和垂直方向運動矢量值進行比較,并把比較結(jié)果值中的最小值確定為所述特定塊在水平方向x和垂直方向y上的局部運動矢量的最大范圍值max_MVEx=max(abs(MVAx),max(abs(MVBx),abs(MVCx))max_MVEy=max(abs(MVAy),max(abs(MVBy),abs(MVCy))其中,max_MVEx是特定塊在水平方向上的局部運動矢量最大范圍值,max_MVEy是特定塊在垂直方向的局部運動矢量最大范圍值,MVAx,MVAy,MVBx,MVBy以及MVCx,MVCy是相鄰塊在水平方向和垂直方向上的運動矢量值,max(u,v)是‘u’和‘v’中的最大值,abs(.)是絕對值函數(shù)。
17.據(jù)權(quán)利要求14所述的方法,其中,所定義的運動矢量最小值是由下面的公式確定的 ai=abs(MVAi)+abs(MVBi)+abs(MVCi)其中,‘i’是塊的水平方向x和垂直方向y,input_search_range是用戶定義的搜索范圍。
18.根據(jù)權(quán)利要求14所述的方法,其中,確定所述特定塊在水平方向和垂直方向上的運動矢量最大范圍值的步驟包括第一步驟將所確定的局部運動矢量最大范圍值與定義的運動矢量最小值進行比較,把計算出的最大值確定為所述特定塊的運動矢量搜索范圍值local_search_rangei;以及第二步驟通過公式new_search_rangei=min(input_search_range,local_search_rangei),最終把所確定的運動矢量搜索范圍值local_search_rangei以及用戶定義的運動矢量范圍值input_search_rangei中的最小值確定為所述特定塊的運動矢量最大搜索范圍值new_search_rangei,其中,‘i’代表塊的水平方向x和垂直方向y。
19.根據(jù)權(quán)利要求18所述的方法,其中,被確定為運動矢量搜索范圍值的最大值是由下面的公式確定的local_search_rangex=max(kx,常數(shù)×max_MVEx)local_search_rangey=max(ky,常數(shù)×max_MVEy)其中,max_MVEx是特定塊在水平方向上的運動矢量最大范圍值,max_MVEy是特定塊在垂直方向上的運動矢量最大范圍值,kx是特定塊在水平方向上的運動矢量最小范圍值,ky是特定塊在垂直方向上的運動矢量最小范圍值。
20.根據(jù)權(quán)利要求19所述的方法,其中,所述的常數(shù)是‘2’。
21.根據(jù)權(quán)利要求15所述的方法,其中,所述的相鄰塊是與運動矢量待定塊相鄰的4×4塊。
22.在視頻編碼器的運動矢量估計中,一種運動矢量搜索范圍的自適應(yīng)確定方法,包括以下步驟確定與運動矢量待定的塊相鄰的塊在水平方向和垂直方向上的運動矢量值;在所確定的相鄰塊運動矢量值的基礎(chǔ)上,確定該特定塊在水平方向和垂直方向上的局部運動矢量的最大范圍值;定義該特定塊在水平方向和垂直方向上的運動矢量最小值;比較所確定的局部運動矢量最大范圍值和所定義的運動矢量最小值,從而計算一個最大值,將計算出的最大值確定為該特定塊的運動矢量最大搜索范圍值;以及將所確定的特定塊的運動矢量最大搜索范圍值以及用戶預(yù)先定義的搜索范圍值之中的最小值確定為特定塊最終的運動矢量最大搜索范圍值。
全文摘要
公開了一種運動矢量搜索范圍的自適應(yīng)確定方法,其中,運動矢量待定塊的相鄰塊的運動矢量值確定后,在所確定的相鄰塊的運動矢量值的基礎(chǔ)上,確定該特定塊的運動矢量搜索范圍。所以,對于基于實時的運動圖像服務(wù),本發(fā)明能夠大大減小運動矢量估計的復(fù)雜性,而且可以在不影響壓縮效率的情況下大大減小運動矢量估計的復(fù)雜性。
文檔編號H04N7/32GK1436002SQ0310156
公開日2003年8月13日 申請日期2003年1月14日 優(yōu)先權(quán)日2002年1月26日
發(fā)明者洪民哲 申請人:Lg電子株式會社