專利名稱:確定運動矢量的方法
技術領域:
本發(fā)明涉及用于根據(jù)從圖像序列中取出的一幅圖像的塊或對象的圖像數(shù)據(jù)來確定運動矢量的方法。本發(fā)明還涉及一種包括用于確定從圖像序列中取出的一幅圖像的塊或對象的運動矢量的確定器的顯示設備,并涉及一種包括用于確定從圖像序列中取出的一幅圖像的塊或對象的運動矢量的軟件代碼部分的計算機程序產品。
大量的圖像處理應用需要根據(jù)圖像數(shù)據(jù)來確定運動矢量。在諸如MPEG或H.261的視頻編碼框架中,運動矢量用確定從一個圖像到另一個圖像的運動(或者對象位移)的運動矢量來表示。運動矢量的確定能夠例如用于運動補償預測編碼。因為一幅圖像中的一個畫面一般很類似于其之前畫面的位移拷貝,所以將所確定的運動矢量數(shù)據(jù)與關于實際圖像及其預測之間的、在像素或DCT域中的差異信息一起編碼允許大大降低編碼信號中的時間冗余。
用于運動矢量估計的其它例子包括估計圖像片段(對象)的運動模型的方法,其中運動矢量的分量于是包含該運動模型的參數(shù)。
用來根據(jù)圖像數(shù)據(jù)估計或確定運動矢量的現(xiàn)有技術通常應用某種塊匹配算法(BMA),其中一幅圖像被分解成固定或可變尺寸的塊。同樣,圖像能夠按照其顯著對象而不是它的塊(對象片段)來分解,從而接下來的描述同樣很好地對代替塊的對象有效。對于當前圖像的每個塊,搜索前一幅圖像中類似的塊,其中應用一個相似度度量來識別與當前塊最類似的前一個塊。與為之確定了最高相似度的前一幅圖像的塊相關聯(lián)的運動矢量于是表示與當前塊的各像素相關聯(lián)的運動矢量。注意,當計算該相似度度量時,不必評估將被比較的兩個塊的所有像素。例如,能夠對塊進行空間子采樣,從而為了相似度度量的評估只考慮兩個塊的每個第k個像素。
在通常的塊匹配中,運動估計器被用于計算一幅圖像中的每個像素塊的位移矢量,這通常是通過一個候選矢量組中選擇將匹配標準最小化的那個矢量。于是該矢量是對應于圖像的相關塊的運動矢量。在本發(fā)明的概念內,“運動”可以是任意類型的位移,它包含例如實際運動(例如在一個顯示圖像內運動的一個或多個對象),但是也包含圖像的放大或縮小(圖像變大或變小)或攝影機移動,在這種情況下,圖像作為一個整體在攝影機的框內移動。在本發(fā)明的概念內,運動矢量包括從任何方法得到的對對應于塊或對象的運動或位移數(shù)據(jù)的任意估計,其中基于數(shù)據(jù)已知的多個圖像構造一個或多個另外的圖像。對所述運動矢量進行估計,以預測所述另外的圖像內的塊或對象的位置或其它參數(shù)。這樣方法的一個例子例如是視頻格式轉換,在該方法中,通過使用例如畫面內插和/或去隔行而從一種視頻格式(格式A,源格式)的視頻數(shù)據(jù)得出另一種視頻格式(格式B,目標格式)的視頻數(shù)據(jù)。在這種方法中,運動矢量可以被用來基于一種已知視頻格式(源格式)的已知數(shù)據(jù)來對于塊或對象估計另一種視頻格式(目標格式)的所述塊或對象的數(shù)據(jù)。將注意到,使用畫面內插從已知圖像(畫面內插)構造新的圖像,但是使用去隔行不改變已知的圖像,但是掃描行上數(shù)據(jù)的分布改變。在這樣的視頻轉換方法中使用被分配給塊的矢量簡化計算,并且例如使得能夠壓縮數(shù)據(jù)。另一個例子是用于立體視頻的所謂的“視差估計(disparity estimation)”,其中在代表兩個立體視圖的兩個圖像的基礎上估計局部深度。在這樣的實施例中,矢量能夠被分配給這樣的塊或對象,其中矢量使得能夠在已知圖像的基礎上預測其它圖像(例如經內插或去隔行的圖像或者在一個立體圖像對內的由于3D效果而稍稍位移的圖像)中的所述塊的其它參數(shù)的位置。
盡管本發(fā)明有其它可能的應用,但是本發(fā)明尤其對于“經典的”運動矢量有用,即基于多個先前圖像來預測塊或對象的運動矢量,以便構造一個(或一系列)隨后的圖像。
盡管塊運動矢量的使用通常是有用的策略,但是可能出現(xiàn)偽像,例如在對象的邊界周圍或當對象覆蓋字幕的時候就會出現(xiàn)偽像。
而且,在塊匹配算法中的一個關鍵性的參數(shù)是塊尺寸。該參數(shù)確定所估計的矢量場的分辨率和用于圖像中的噪聲和周期性結構的估計器的靈敏度。結果,最佳的塊尺寸是一種折衷。一方面,小的塊尺寸造成存在噪聲的運動矢量和對周期性結構的高靈敏度,而另一方面,大的塊造成較差的矢量分辨率。較差的矢量分辨率產生其中對象邊界僅能夠被粗略近似的矢量場,從而造成使用這些運動矢量的應用中的塊狀偽像。
本發(fā)明的一個目的是提供一種如開頭段落中描述的那種類型的改進的方法、設備以及計算機程序產品。
為此,按照本發(fā)明的方法的特征在于對于一個塊或對象,按照劃分標準和像素信息的比較,將像素分為兩組或多于兩組,并且對于塊或對象內的每一組確定一個運動矢量,并且對應的運動矢量被分配給該塊并被應用到塊內的對應各組的像素。
在本發(fā)明的概念中,所述組或塊被根據(jù)該組內的像素中的信息和劃分標準的比較分為兩組或多于兩組。結果,像素組和塊之間的關系(即哪些像素屬于塊中的哪一組)是從比較中得出的,即不是固定的(這是例如當把一個塊劃分為多個相等部分時的情況)。后者將簡單地表示塊尺寸降低,也就是使用更小的塊。在本發(fā)明的概念內,基于劃分標準和像素信息之間的比較將一個塊劃分為組。
按照本發(fā)明的方法允許使用更大的塊尺寸,同時還實現(xiàn)更好的矢量分辨率。試驗也已經表明減少了偽像。
所述分離標準可以是一個與像素信息內容無關的簡單標準。這樣的簡單標準的一個例子是固定閾值強度,例如把每一塊劃分為兩組,第一組包括具有低于最大亮度值的特定百分比(例如50%)的亮度值的像素,第二組包括具有高于所述閾值的亮度值的像素。
但是,所述劃分標準優(yōu)選地基于塊內的像素信息內容。這樣的標準的例子例如是將塊劃分為兩組,其中所述標準是一個平均強度,或者在平均顏色點周圍的顏色點區(qū)域。這樣的劃分標準是優(yōu)選的,因為它產生更好的效果,同時它造成在所有區(qū)域內分配多于一個矢量的可能性,而不管這些區(qū)域的亮度級。
在優(yōu)選實施例中,塊或對象被分為四組或更少的組,優(yōu)選地是兩組。盡管在本發(fā)明的最寬概念內,一個塊或一個對象可以被劃分為任意數(shù)量的組,但是較小的組數(shù)量(四個或更少,并優(yōu)選地是兩組)是優(yōu)選的。在大多數(shù)情況下,另外劃分為多于四組、并通常甚至劃分為多于兩組,只是帶來較小的改善,或者甚至造成有噪聲的矢量估計,同時使該方法復雜化。
在優(yōu)選實施例中,所述劃分標準是對于塊內像素的平均亮度值。這已經證明是一種有用并簡單的標準。這可以是平均亮度值,即所有亮度值的總和與像素數(shù)的商,或者是中間亮度值,即50%的像素具有高于該值的亮度值并且50%具有低于或等于所述亮度值的亮度值。
在優(yōu)選實施例中,在估計了構成塊的各組的運動矢量之后、在運動矢量之間進行比較,并且如果多個組的運動矢量之間的差小于一個閾值,則平均運動矢量被計算出來并被分配給所述多個組。劃分成組的措施提供了一種改進的方法。但是,如果塊被劃分為多個組,同時實際上該塊只包括一個對象(并且從而只有一個運動矢量是適合的那個),則將塊分解為兩個或多于兩組將造成所計算的運動矢量之間的小的差異。運動矢量的計算通常是一個近似過程,并且在有限數(shù)量像素上進行,從而有一個誤差邊際。如果在所計算的運動矢量之間的差小于一個閾值(例如在運動矢量的計算中的誤差邊際),則很可能該差異是由于近似或計算的不精確而造成的。在這樣的情況下,將相同的運動矢量分配給相關組并且選擇所找到的運動矢量的平均值是有用的。
參照以下描述的實施例,本發(fā)明的這些和其它方面將很明顯并將被闡明。
在附圖中
圖1A到1C示出了表示不同類型的運動或位移的不同圖像序列。
圖2示出了背景上的一個旋轉的輪子。
圖3借助于流程圖示出了按照本發(fā)明的示例方法的不同步驟。
各圖并沒有按比例畫出。通常,圖中相同的部件用相同的附圖標記表示。
圖1A到1C很簡要地說明了一幅圖像的或一幅圖像之內的不同運動或位移。
在圖1A中示出了一個圖像序列,其中一個對象(一只鳥的很簡化的圖像)相對于背景運動。從序列的頭兩幅圖像能夠建立一個運動矢量(在中間圖像中的箭頭),它能夠用于預測隨后圖像中該對象(鳥)的位置。
圖1B示出了攝影機在鳥上放大的動作。同樣使用該序列的頭兩個圖像(或通常更多數(shù)量的先前圖像),可以將一個運動矢量(其能夠更一般地稱為位移矢量)分配給每個塊或對象,從而預測在該序列內的隨后圖像上的對象或塊的位置。運動矢量可以被分配給圖像的塊或對象,并且可以在先前圖像中的信息的基礎上被計算,以預測序列內的隨后的(或者如果該方法用于例如內插多個“中間”的圖像)(一個或多個)圖像中的所述塊或對象的位置。
圖1C示出了攝影機移動,該攝影機關于圖像移動。同樣使用該序列的頭兩個圖像(或通常更多數(shù)量的先前圖像),可以將一個運動矢量(其能夠更一般地稱為位移矢量)分配給每個塊或對象,從而預測在該序列內的隨后圖像上的對象或塊的位置,當然在這種情況下,這對隨后鏡頭中再次出現(xiàn)的圖像的那些部分成立,而對新的部分則不成立。應該提到,即使對于簡單的攝影機移動(比如掃描水平線),塊或對象的矢量對于不同的對象也可以是不同的,這取決于例如它們與攝影機相對的位置,例如對象是在圖像的前景還是背景中。對象也可以隨著攝影機位置改變而變形(因為對象的不同部分與攝影機相對不同地定位)。
在本發(fā)明的概念內,從而“運動矢量”將被寬泛地解釋為表示一組參數(shù),以便預測一個對象或塊的任何變換,諸如例如一個簡單的平移T(見例如圖1A,對于該情況,簡單地加上一個矢量就足夠了)、一個旋轉R(對于該情況,將矩陣與一個旋轉矩陣相乘就足夠了)、放大(矩陣相乘,例如見圖1B)或變形(于是將需要更復雜的矩陣)或這種平移、旋轉放大和/或變形的任意組合。能夠使用預測來基于在先前圖像中可獲得的信息預測后續(xù)圖像中的塊對象的位置。
通常塊匹配運動估計器(BMA)用于計算圖像中每個像素塊的運動矢量,這一般是通過從候選矢量組中選擇那個將匹配標準最少化的矢量。于是該矢量是對應于圖像的相關塊的運動矢量。
例如US 5072293公開了一種這樣的BMA,其中根據(jù)一個3D鄰域的預測被用作運動矢量估計的候選矢量。該組候選運動矢量包括對運動矢量的空間(2D)和時間(1D)預測,其中對于每個塊遞歸地確定最好的矢量。該技術是遞歸的,因為對應于當前圖像n的一個塊的該組候選運動矢量中的至少一個候選運動矢量取決于圖像n(空間預測)或前一圖像n-1(時間預測)中的其它塊的已經確定的運動矢量。
圖2示出了一個相對于星星背景旋轉的輪子。輪子旋轉,而星星具有固定位置。
在一個(塊匹配或任意類型的)運動估計器中,試圖將前一個(或下一個,或二者)圖像的位移部分與當前圖像的固定部分相匹配。在我們用于闡述本發(fā)明的例子中,估計器使用例如絕對差和(SAD)作為匹配標準SAD(C→,X→,n)=]]>Σx→∈B(X→)|F(x→-C→,n-1)-F(x→,n)|,---(1)]]>其中 是待測候選矢量,矢量 表示塊 的位置, 是亮度信號,并且n是畫面或場編號。在輸出處得到的運動矢量(每塊一個矢量)是給出最低SAD值的候選矢量。上面的運動估計器的質量主要由產生候選矢量的方式確定。在本發(fā)明公開內容中,我們不涉及這種選擇。使用完全搜索、三步驟搜索、一次一個的搜索或3D遞歸搜索塊匹配器能獲得良好的結果(取決于應用)。所謂的分級運動估計器方法也是可能的,其中傳統(tǒng)上該方法首先對相對較大的塊(例如32×32像素)估計運動矢量,其后大塊被分割為較小的塊(例如4個16×16像素),并且大塊的運動矢量被轉移到下一個分級層,即大塊的運動矢量被用作較小塊的運動矢量的計算的起點。按照本發(fā)明的方法能夠用于分級運動估計器方法,于是其中兩個(或多于兩個,取決于劃分標準)運動矢量被轉移到下一個分級層。
在任意這種塊匹配(或任意匹配)算法中的關鍵性參數(shù)是塊尺寸。該參數(shù)確定所估計的矢量場的分辨率和估計器對噪聲和圖像中的周期性結構的靈敏度。結果,最佳的塊尺寸是一種折衷。一方面,小的塊尺寸造成有噪聲的運動矢量和對周期性結構的高靈敏度,而另一方面,小的塊尺寸造成較差的矢量分辨率。較差的矢量分辨率產生這樣的矢量場其中對象邊界只能被粗略近似,從而造成使用這些運動矢量的應用中的塊狀偽像。
如果選擇一個相對較大的塊或對象,比如圖2中示意性地用虛線矩形表示的塊或對象,所得到的運動矢量將偏離目標。如果運動矢量(它可以是一個旋轉矩陣)的計算接近于輪子的真實旋轉,則運動矢量對于星星是錯的,如果發(fā)現(xiàn)運動矢量接近于零(對星星是正確的),則所預測的運動矢量對輪子是偏離目標的。任何平均值對輪子和星星都是偏離目標的。通過使用更小的塊尺寸,比如示意性在圖2的下半部分中表示的那樣,對于圖的大部分,該問題被減輕了,但是以降低所預測的(一個或多個)運動矢量的精度為代價。即使是這樣,即使對于小的塊尺寸(比如例如用矩形21表示的)仍出現(xiàn)相同的問題。本發(fā)明旨在提供解決或至少減輕該問題的方法。
為此,修改匹配標準,并且基于修改后的標準,每個塊分配多于一個矢量。
按照本發(fā)明的方法特征在于對于一個塊或對象,像素被按照劃分標準和像素信息的比較劃分為兩組或多于兩組,并且對于塊或對象中的每一組確定一個運動矢量,并且對應的運動矢量被分配給該塊并被應用到該塊內的對應各組的像素?;镜牧私馐牵绻谝粋€塊或對象內有對之來說運動矢量的最佳預測不同的像素組,則通過比較像素信息與劃分標準,可以在像素信息的基礎上在各組之間進行劃分,此后對于每個組確定一個運動矢量,并且對應的運動矢量被分配給每組內的像素。
為了闡明本發(fā)明,我們將描述一個按照本發(fā)明的示例運動估計器,其中每個塊被分解為兩組像素,同時估計器將一個運動矢量分配給這兩組,即每塊2個矢量。
塊 中的像素的平均像素值可以按照如下方式定義Av(X→,n)=1/NΣx→∈B(X→)F(x,n→),---(2)]]>其中N是 中的像素數(shù)量。在該例子中, 將例如是一個對象或一個n×m尺寸的矩形內的像素,例如n和m在4和32之間,例如16×16。
現(xiàn)在,我們定義一起形成塊 的兩組像素 Ga(X→)={x→∈B(X→)|F(x→,n)>Av(X→,n)}---(3)]]>即塊 內的具有大于該平均亮度值的亮度值的那些像素,以及Gb(X→)={x→∈B(X→)|F(x→,n)≤Av(X→,n)}---(4)]]>即具有等于或小于該平均亮度值的亮度值的那些像素。在所提出的估計器中,現(xiàn)在對每個組 計算運動矢量Da和Db,從而Da是將組Ga中的像素的SADa最小化的候選矢量SADa(C→,X→,n)=]]>Σx→∈Ga(X→)|F(x→-C→,n-1)-F(x→,n)|,---(5)]]>
而Db是將組Gb中的像素的SADb最小化的候選矢量SADb(C→,X→,n)=]]>Σx→∈Gb(X→)|F(x→-C→,n-1)-F(x→,n)|,---(6)]]>運動矢量Da和Db被分配給塊 從而一個矢量場對圖像中的每一塊得到兩個運動矢量。更準確地說,對于塊中的具有大于平均亮度的亮度值的像素,它們應用Da,而對其它像素應用Db。在該給定的例子中,例如平均亮度值被用作劃分標準。即使是這樣基于平均亮度值簡單地劃分為兩組仍將形成兩組,一組主要包括低強度像素(比如星星),另一組主要包括與輪子相關聯(lián)的像素。兩個所預測的運動矢量于是接近于輪子和星星的正確值,并且被分配給不同的組,從而將給出更好的結果。一個不同的劃分標準將是中間亮度值,其也將導致良好的結果。
使用中間亮度值具有這樣的優(yōu)點即各組總是包括50%的像素,從而包括統(tǒng)計上相對較大數(shù)量的像素。完全有可能將塊劃分為更多組,并且它們不必具有相等的尺寸。在本例中例如劃分成三組,一組具有小于平均亮度值的0.5倍的亮度值,一組具有平均亮度值的0.5倍和1.5倍之間的亮度值,一組具有大于平均亮度值的1.5倍的亮度值,這可能在某種條件下給出更好的結果。
圖3借助于流程圖示出按照本發(fā)明的一個示例方法的不同步驟。在第一步驟31中,得到關于塊B(X)內的像素的亮度值的信息。第一步驟31后面跟隨著步驟32,其中劃分標準被限定為例如平均像素值,或者如果劃分標準已知,則計算對應于劃分標準的值(例如平均亮度值)。步驟32后面跟隨著步驟33,其中限定塊B(X)內的各組,即通過比較像素信息與劃分標準,計算哪些像素屬于哪個組,在該例子中,例如基于像素的亮度值和平均亮度值之間的差的符號來限定一個像素是否屬于一個組或另一組。步驟33后面跟隨著步驟34,其中對于每一組(在該例子中是對于兩組)確定運動矢量。為了確定運動矢量,在本發(fā)明內可以使用任何已知的確定方法。使用完全搜索、三步驟搜索、一次一個的搜索或者3D遞歸搜索塊匹配器(取決于應用)能夠實現(xiàn)良好的結果。其中確定運動矢量的步驟的后面可選地跟隨著步驟35,其中將運動矢量之間的差與一個閾值作比較,以及如果該差小于一個閾值,則將一個平均運動矢量用于兩個組。最后在步驟36中,將運動矢量分配給塊B(X),從而矢量場得到兩個運動矢量,并將所述矢量場的其中一個矢量應用到像素(Da應用到組Ga,Db應用到組Gb)。
本發(fā)明也涉及一種顯示設備,其包括用于確定從一個圖像序列中取得的圖像的塊或對象的運動矢量的確定器,其特征在于該確定器包括一個劃分器,用于按照劃分標準與像素信息的比較而將一個像素塊或對象劃分為兩組或更多組,該確定器隨后為該塊或對象內的每一組確定一個運動矢量,并且該確定器包括一個分配器來將對應的運動矢量分配給該塊,以用于應用到該塊內的對應各組的像素。
本發(fā)明還涉及一種計算機程序產品,其包括用于按照本發(fā)明的最廣意義上的方法(以及在任何實施例中,特別是在優(yōu)選實施例中)確定從一個圖像序列中取得的圖像的塊或對象的運動矢量的軟件代碼部分。
在本發(fā)明的概念中,“確定器”、“劃分器”、“分配器”應被寬泛地理解,并且單獨或組合地包括例如任何硬件(比如確定器、劃分器、分配器)、被設計來執(zhí)行所述確定、劃分、分配的任何電路或子電路、被設計或編程來執(zhí)行所述確定、劃分、分配的任意軟件(計算機程序或子程序或計算機程序集或程序代碼)以及執(zhí)行這些功能的硬件和軟件的任意組合,而不限制為以下給出的示例性實施例。
對本領域技術人員來說,本發(fā)明顯然不由這里特別示出和描述的內容所限制。本發(fā)明存在于每個新穎特征和每種特征組合中。權利要求中的附圖標記不限制其保護范圍。“包括”一詞和它的同義詞不排除與權利要求中所列出的那些不同的元件的存在。元件之前的冠詞“一個”不排除多個這種元件的存在。
已經按照各具體實施例描述了本發(fā)明,它們對本發(fā)明僅僅是說明性的,而不應理解為限制本發(fā)明。本發(fā)明可以用硬件、固件或軟件或它們的組合來實現(xiàn)。其它實施例在所附權利要求書的范圍內。
權利要求
1.一種用于根據(jù)從圖像序列中取得的一幅圖像的塊或對象的圖像數(shù)據(jù)來確定運動矢量的方法,其特征在于按照劃分標準(Av(X,n))和像素信息(F(x,n))的比較對于一個塊(B(X))或對象將像素劃分(33)為兩組或多于兩組(Ga,Gb),并且對于該塊(B(X))或對象內的每組(Ga,Gb)確定一個運動矢量(Da,Db),并且將對應的運動矢量(Da,Db)分配給該塊(B(X))并應用到該塊內的對應各組(Ga,Gb)的像素。
2.如權利要求1所要求保護的方法,其特征在于,每塊中的組的數(shù)量等于或小于四。
3.如權利要求1所要求保護的方法,其特征在于,每塊中的組的數(shù)量是二。
4.如權利要求1所要求保護的方法,其特征在于,所述劃分標準(Av(X,n))是基于所述塊(B(X))內的像素的信息內容(F(x,n))確定的。
5.如權利要求4所要求保護的方法,其特征在于,所述劃分標準是所述組內的像素的平均亮度值。
6.如權利要求4所要求保護的方法,其特征在于,所述劃分標準是所述組內的像素的中間亮度值。
7.如權利要求1所要求保護的方法,其特征在于將為不同組確定的運動矢量之間的差與一個閾值作比較,并且如果該差小于該閾值,則用所述運動矢量的組合替換對應的各運動矢量。
8.一種包括一個用于確定從圖像序列中取得的一幅圖像的塊或對象的運動矢量的確定器的顯示設備,其特征在于該確定器包括一個劃分器,用于按照劃分標準和像素信息的比較將一個像素塊或對象劃分為兩組或多于兩組,該確定器隨后為該塊或對象內的每一組確定一個運動矢量,并且該確定器包括一個分配器以將對應的運動矢量分配給該塊,以用于應用到該塊內的對應各組的像素。
9.一種可直接加載到數(shù)字計算機的內部存儲器中的計算機程序產品,包括當所述產品運行在一個計算機上時執(zhí)行權利要求1的各步驟的各軟件代碼部分。
全文摘要
在一個用于根據(jù)從圖像序列中取得的一幅圖像的塊或對象的圖像數(shù)據(jù)來確定運動矢量的方法中,一個像素塊(B(X))或對象被劃分(33)為在該塊(B(X))或對象內的兩組或多于兩組(G
文檔編號H04N5/14GK1762160SQ200480006843
公開日2006年4月19日 申請日期2004年3月11日 優(yōu)先權日2003年3月14日
發(fā)明者G·德哈安 申請人:皇家飛利浦電子股份有限公司