專利名稱:用于估計基于混合塊的運動的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于為了壓縮運動圖片而估計運動的裝置和方法,更具體地,涉及用完全/快速搜索運動估計算法和內(nèi)插來在塊內(nèi)估計運動的裝置和方法。
背景技術(shù):
運動圖片原本包括時間冗余、空間冗余、以及代碼冗余,所以通過充分利用這些冗佘可以改善運動圖片的可壓縮性。通常地,運動估計算法用來消除時間冗余;離散余弦變換(DCT)用來消除空間冗余;而可變長度編碼用來消除碼間概率相關(guān)。
作為一種運動估計算法,塊匹配算法被大多數(shù)標(biāo)準(zhǔn)運動圖片壓縮方法如H.261/262/263、MPEG-1、MPEG-2、MPEG-4等采用。塊匹配算法將當(dāng)前幀分為幾個塊(下文中稱為“參考塊”),并在先前幀的預(yù)定區(qū)域(下文中稱為“搜索區(qū)域”)中搜索與參考塊最相似的塊(下文中稱為“匹配塊”),從而結(jié)合參考塊計算搜索到的塊的運動矢量。這樣僅發(fā)送運動矢量和參考塊與匹配塊之間的像素值差。
這里,平方差的和(SSD)、絕對差的和(SAD)、平均絕對差(MAD)、均方誤差(MSE)等可以用于搜索與參考塊“最相似”的匹配塊。通常地,塊匹配算法使用通過沒有復(fù)用器的簡單硬件組件就可以實現(xiàn)的SAD。該SAD可以表示為如下的方程(1)。
(1)SAD(u,v)=Σi=1NΣj=1M|R(i,j)-S(i+u,j+v)|,]]>-p≤u,v<p
其中,N×M表示參考塊的大小,R(i,j)表示位于參考塊的第i行和第j列的像素,而S(i,j)表示位于搜索區(qū)域的第i行和第j列的像素。
這里,運動矢量由SAD(u,v)具有最小值時的(u,v)坐標(biāo)定義,即,下述方程(2)。
(2)(u,v)=min{SAD(u,v)}此外,塊匹配算法被分為完全搜索算法和快速搜索算法。
完全搜索算法為了搜索參考塊的匹配塊而對搜索區(qū)域的整個區(qū)域施加SAD運算。完全搜索算法具有運算數(shù)目隨著要壓縮的運動圖片的大小的增加和幀發(fā)送速度的增加而增加的問題。
就是說,當(dāng)如圖1所示對應(yīng)于參考塊的意味著在搜索區(qū)域內(nèi)的容許位移的運動矢量在x和y軸上都從(-p)延伸到(p-1)時,要對一個參考塊施加完全搜索算法需要執(zhí)行4p2次SAD運算。
此外,當(dāng)包括在一幀內(nèi)的參考塊的數(shù)量是n并且?guī)?秒的幀發(fā)送速度是f時,則應(yīng)該每幀執(zhí)行4p2×n×f次SAD運算。同樣,當(dāng)參考塊包括N×M個像素時,要分別執(zhí)行4p2×n×f×N×M次減法、絕對值運算和加法。
例如,當(dāng)在屏幕包括720×480個像素;幀發(fā)送速度是30幀/秒;參考塊包括16×16個像素;并且P圖片的運動矢量在x和y軸上都從-32延伸到31的情況下執(zhí)行完全搜索算法時,則分別執(zhí)行4.25×1010次減法、絕對值運算以及加法。
為了補充必須執(zhí)行大量運算的完全搜索算法,已經(jīng)提出了快速搜索算法。該快速搜索算法可以分為選擇性搜索算法和像素子采樣算法。
選擇性搜索算法使用SAD運算的數(shù)目隨著運動矢量變得遠離匹配塊而按比例增加的算法。在選擇性搜索算法中,結(jié)合預(yù)定的起始位置選擇幾個搜索位置,并計算搜索位置的SAD。然后,相對于具有最小SAD的搜索位置選擇下一個搜索位置。這樣的選擇性搜索算法包括三步搜索(TSS)、對數(shù)搜索(LS)、共軛搜索(CS)、菱形搜索(CS,diamond search)、梯度搜索(GS)等。
在所有像素被移動了相同的距離的假設(shè)下,像素子采樣塊匹配算法使用包括在參考塊中的部分像素來計算SAD,并以彼此比較SAD,從而計算運動矢量。
因為只比較部分包括在搜索區(qū)域中的塊或部分包括在參考塊中的像素,所以快速搜索算法具有減少運算量的優(yōu)點。但是,并不是總能實現(xiàn)快速搜索算法的前述假設(shè)。也就是說,在快速搜索算法中,可能對應(yīng)于SAD的局部極小值,不是關(guān)于匹配塊的整個搜索區(qū)域,而是關(guān)于匹配塊的局部搜索區(qū)域,來計算運動矢量,使得降低了算法的性能。此時,如果對搜索區(qū)域的所有搜索位置施加快速搜索算法,則很難進入局部極小。但是,即使對搜索區(qū)域的所有搜索位置施加快速搜索算法,因為僅對參考塊中的部分像素進行相互比較,所以在參考塊包括水平和垂直線性圖像的情況下仍舊降低了算法的性能。
發(fā)明內(nèi)容
本發(fā)明的說明性的、非限制性的實施例克服了上述缺點和其它的沒有在上面描述的缺點。同樣,不要求本發(fā)明克服上述缺點,并且本發(fā)明的說明性的、非限制性的實施例可能沒有克服上述問題中的任何一個。
因此,本發(fā)明的一個方面是提供一種估計運動的裝置和方法,其中減少了運算量,并且與快速搜索算法相比更精確地搜索了匹配塊。
通過提供一種估計關(guān)于形成幀的多個子塊的運動的方法,可以實現(xiàn)本發(fā)明的前述和/或其它方面,該方法包括從多個子塊之中選擇預(yù)定數(shù)目的完全搜索塊,并將除完全搜索塊之外的其它子塊視為快速搜索塊;用完全搜索運動估計算法來計算完全搜索塊的運動矢量;基于所計算的完全搜索塊的運動矢量來通過內(nèi)插計算快速搜索塊的第一運動矢量;以及用第一運動矢量所指示的塊位置作為起始位置,用快速搜索運動估計算法來計算快速搜索塊的第二運動矢量。
根據(jù)本發(fā)明的一方面,將完全搜索塊選擇為彼此遠離。
通過提供一種估計關(guān)于形成幀的多個子塊運動的方法,可以實現(xiàn)本發(fā)明的前述和/或其它方面,該方法包括對該多個子塊之中選擇出的預(yù)定數(shù)量的采樣塊施加完全搜索運動估計算法,并計算采樣塊的運動矢量;以及對除采樣塊之外的其它子塊施加快速搜索運動估計算法,并以距相鄰采樣塊的運動矢量所指示的塊位置預(yù)定距離遠的起始位置為基礎(chǔ)來計算除采樣塊之外的其它子塊的運動矢量。
根據(jù)本發(fā)明的一方面,上述距離與被施加快速搜索運動估計算法的子塊和相鄰采樣塊之間的距離成正比。
根據(jù)本發(fā)明的一方面,上述起始位置包括基于采樣塊的運動矢量通過內(nèi)插而計算的除采樣塊之外的其它子塊的運動矢量所指示的塊位置。
根據(jù)本發(fā)明的一方面,采樣塊被選擇為彼此相距預(yù)定的距離。
通過提供一種估計關(guān)于形成幀的多個子塊的運動的方法,可以實現(xiàn)本發(fā)明的前述和/或其它方面,該方法包括對該多個子塊中選擇出的預(yù)定數(shù)目的采樣塊施加完全搜索運動估計算法,并計算采樣塊的運動矢量;基于采樣塊的運動矢量,通過內(nèi)插來計算除采樣塊之外的其它子塊的第一運動矢量;以及對除采樣塊之外的其它子塊施加快速搜索運動估計算法,并以第一運動矢量所指示的塊位置為基礎(chǔ)來計算除采樣塊之外的其它子塊的第二運動矢量。
通過提供一種包括存儲第一幀的第一存儲器和存儲第二幀的第二存儲器的裝置,可以實現(xiàn)本發(fā)明的前述和/或其它方面,該裝置包括采樣部分,其在第一幀的子塊之中選擇預(yù)定數(shù)目的采樣塊;完全搜索部分,其將第二幀視為搜索區(qū)域,通過對采樣塊施加完全搜索運動估計算法,來計算采樣部分所選擇的采樣塊的運動矢量;內(nèi)插部分,其基于采樣塊的運動矢量,通過內(nèi)插來計算除采樣塊之外的其它子塊的第一運動矢量;以及快速搜索部分,其以第一運動矢量所指示的第二幀中的塊位置為基礎(chǔ),通過對除采樣塊之外的個子塊施加快速搜索運動估計算法,來計算除采樣塊之外的其它子塊的第二運動矢量。
通過提供一種包括存儲第一幀的第一存儲器和存儲第二幀的第二存儲器的裝置,可以實現(xiàn)本發(fā)明的前述和/或其它方面,該裝置包括精確搜索部分,其通過將第二幀視為搜索區(qū)域來對第一幀的子塊中預(yù)定數(shù)目的采樣塊施加完全搜索運動估計算法,并計算每個采樣塊的運動矢量;以及迅速搜索部分,其以距相鄰采樣塊的運動矢量所指示的塊位置預(yù)定距離遠的起始位置為基礎(chǔ),對除采樣塊之外的其它子塊施加快速搜索運動估計算法,并計算除采樣塊之外的其它子塊的運動矢量。
根據(jù)本發(fā)明的一方面,以被施加快速搜索運動估計算法的子塊和相鄰采樣塊之間的位移為基礎(chǔ)來選擇起始位置。
根據(jù)本發(fā)明的一方面,迅速搜索部分包括內(nèi)插部分,其基于采樣塊的運動矢量通過內(nèi)插來計算除采樣塊之外的其它子塊的估計運動矢量,并用估計運動矢量所指示的塊位置作為起始位置。
根據(jù)本發(fā)明的一方面,采樣塊被選擇為彼此相距預(yù)定距離。
根據(jù)本發(fā)明的一方面,該裝置還包括延遲第一幀以作為第二幀存儲到第二存儲器中的幀延遲器。
通過結(jié)合附圖對示范實施例進行的以下描述,本發(fā)明的上述和/或其它方面將變得明顯和更容易理解,其中圖1是示出完全搜索算法的參考塊和搜索區(qū)域的視圖;圖2是根據(jù)本發(fā)明的示范實施例的運動估計裝置的方框圖;圖3是根據(jù)本發(fā)明的示范實施例的運動估計方法的流程圖;圖4是示出形成第一幀的子塊的布置和第二幀的搜索區(qū)域的視圖;圖5是示出根據(jù)完全搜索算法的完全搜索塊的運動矢量場和根據(jù)內(nèi)插的快速搜索塊的估計運動矢量場的視圖。
具體實施例方式
現(xiàn)在將對本發(fā)明的示范實施例進行詳細的討論,在附圖中示出了本發(fā)明的例子,其中相同的附圖標(biāo)記始終表示相同的元件。為了通過結(jié)合
本發(fā)明,下面描述示范實施例。
圖2是根據(jù)本發(fā)明的示范實施例的運動估計裝置的方框圖。
如圖2所示,運動估計裝置包括第一存儲器10、第二存儲器20、精確搜索部分30、迅速搜索部分40、以及壓縮部分50。
第一存儲器10存儲要壓縮的第一幀的像素值,而第二存儲器20存儲提供了形成第一幀的子塊的搜索區(qū)域的第二幀的像素值。這里,第二幀可以是當(dāng)前的第一幀的前一幀。因此,第二存儲器20可以還包括用以延遲幀的幀延遲器60。
精確搜索部分30對形成第一幀的子塊之中預(yù)定數(shù)目的采樣塊(下文中稱為“完全搜索塊”)施加完全搜索運動估計方法(下文中稱為“完全搜索算法”),從而計算運動矢量。優(yōu)選地,完全搜索塊被彼此隔開,并以規(guī)則的間隔布置。
精確搜索部分30可以包括采樣部分31和完全搜索部分32。
采樣部分31選擇性地對形成來自第一存儲器1的第一幀的子塊之中預(yù)定數(shù)目的完全搜索塊進行采樣。
完全搜索部分32使用來自第二存儲器20的至少一部分第二幀作為搜索區(qū)域,并通過對完全搜索塊施加完全搜索算法來計算運動矢量,從而將所計算的運動矢量輸出到迅速搜索部分40。
迅速搜索部分40對除完全搜索塊之外的其它子塊(下文中稱為“快速搜索塊”)施加快速搜索運動估計方法(下文中稱為“快速搜索算法”)。
此時,施加了快速搜索算法的前述快速搜索塊的“起始位置”被選擇為在由與對應(yīng)的快速搜索塊相鄰的完全搜索塊的運動矢量所指示的塊位置附近。
與在其中計算最佳運動矢量的完全搜索塊相鄰的快速搜索塊的匹配塊可能在該完全搜索塊的運動矢量所指示的塊位置附近。因此,當(dāng)通過用相鄰?fù)耆阉鲏K的運動矢量附近的塊位置作為起始位置而對完全搜索塊施加快速搜索算法的時候,迅速搜索到最佳匹配塊。
通過對完全搜索塊的運動矢量施加快速搜索塊和相鄰?fù)耆阉鲏K之間的位移,可以設(shè)定快速搜索算法的起始位置。
可替換地,以完全搜索塊的運動矢量為基礎(chǔ),通過采用內(nèi)插,可以估計相鄰快速搜索塊的運動矢量,從而將運動矢量設(shè)置為起始位置。也就是說,以匹配塊為基礎(chǔ)來估計通過內(nèi)插計算的快速搜索塊的第一運動矢量,從而通過用估計位置作為起始位置可以施加快速搜索算法。
為此,迅速搜索部分40包括內(nèi)插部分41和快速搜索部分42。
內(nèi)插部分41使用精確搜索部分30計算的完全搜索塊的運動矢量來施加內(nèi)插,并基于快速搜索塊的匹配塊來估計第一運動矢量。這里,根據(jù)快速搜索塊的運動矢量的數(shù)目,內(nèi)插可以分為最近相鄰內(nèi)插、雙線性內(nèi)插、立方卷積內(nèi)插、B-樣條(B-spline)內(nèi)插等。
快速搜索部分42用由內(nèi)插部分41計算的第一運動矢量所指示的塊位置作為起始位置來施加快速搜索算法,從而計算第二運動矢量。
可替換地,“起始位置”可以被選擇為位于距完全搜索塊的運動矢量所指示的塊位置預(yù)定距離遠的一個塊位置。這里,預(yù)定距離被設(shè)定為與快速搜索塊和相鄰?fù)耆阉鲏K之間的距離成正比。
參考圖2,壓縮部分50檢測參考塊和匹配塊之間的像素值之差,并發(fā)送所有子塊的運動矢量。
圖3是根據(jù)本發(fā)明的示范實施例的運動估計方法的流程圖。
在下文,將參考圖3描述圖2的運動估計裝置的操作。
首先,當(dāng)在操作S1依次輸入第二幀和第一幀的時候,第一存儲器10存儲第一幀,而第二存儲器20存儲被延遲了第一幀的處理時間的第二幀。
在操作S2,采樣部分31選擇在形成第一幀的多個子塊之中預(yù)定數(shù)目的完全搜索塊,并將所選擇的完全搜索塊輸出到完全搜索部分32。
在操作S3,完全搜索部分32通過對來自第二存儲器20的第二幀的搜索區(qū)域施加完全搜索算法來計算指示每個完全搜索塊的匹配塊的運動矢量。
圖4是示出了形成第一幀的子塊的布置和第二幀的搜索區(qū)域的視圖。
參考圖4,由以規(guī)則的間隔布置的采樣部分31選擇完全搜索塊。這里,當(dāng)增加了完全搜索塊的數(shù)目的時候,增加了具有最佳匹配塊的子塊的數(shù)目,但是增加了運算量。因此,塊的數(shù)目應(yīng)當(dāng)考慮運算量來適當(dāng)?shù)卮_定。
第二幀包括具有預(yù)定大小的搜索區(qū)域??梢詫⑺阉鲄^(qū)域的大小擴展到整個第二幀,但是優(yōu)選地,考慮運算量而限制到合適的大小。
在操作S4,內(nèi)插部分41基于完全搜索塊的運動矢量通過使用內(nèi)插來估計/計算快速搜索塊的第一運動矢量。
圖5是示出了根據(jù)完全搜索算法的完全搜索塊的運動矢量場和根據(jù)內(nèi)插的快速搜索塊的估計運動矢量場的視圖。
參考圖5,完全搜索部分32計算每個完全搜索塊的運動矢量fMV。此外,內(nèi)插部分41基于完全搜索塊的運動矢量fMV通過采用內(nèi)插來估計快速搜索塊的運動矢量iMV。
在操作S5,快速搜索塊42通過用所估計的快速搜索塊的運動矢量所指示的塊位置作為起始位置而對每個快速搜索塊施加快速搜索算法。這樣,第一幀的每個子塊的運動矢量被完全計算,并被輸出到壓縮部分50。
在操作S6,壓縮部分50檢測子塊和匹配塊之間的像素值的差,并將其與運動矢量一起輸出,從而完成了壓縮。
因此,在前述的實施例中,與傳統(tǒng)地使用一個快速搜索算法時相比,更精確地搜索了匹配塊。因此,即使會少量增加運算量,與傳統(tǒng)地使用一個完全搜索算法時相比,也急劇地降低了運算量。
如上所述,根據(jù)本發(fā)明的實施例,相對于運算量的精確度方面,急劇地改善了匹配塊的估計。
盡管已經(jīng)示出和描述了本發(fā)明的幾個實施例,本領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離本發(fā)明的原理和精神的情況下,可以對這些實施例進行改變,本發(fā)明的范圍由所附權(quán)利要求以及其等同物限定。
權(quán)利要求
1.一種估計形成幀的多個子塊的運動的方法,該方法包括選擇該多個子塊中預(yù)定數(shù)目的子塊作為完全搜索塊,并選擇該多個子塊中除完全搜索塊的子塊之外的其它子塊作為快速搜索塊;通過執(zhí)行完全搜索運動估計算法來計算完全搜索塊的運動矢量;基于所計算的完全搜索塊的運動矢量,通過內(nèi)插來計算快速搜索塊的第一運動矢量;以及用第一運動矢量指示的塊位置作為起始位置,通過執(zhí)行快速搜索運動估計算法來計算快速搜索塊的第二運動矢量。
2.如權(quán)利要求1所述的方法,其中完全搜索塊被選擇為彼此不相鄰。
3.一種估計形成幀的多個子塊的運動的方法,該方法包括對該多個子塊之中選擇出的預(yù)定數(shù)量的采樣塊施加完全搜索運動估計算法,并計算每個采樣塊的運動矢量;以及對該多個子塊中除采樣塊之外的其它子塊施加快速搜索運動估計算法,并以位于距相鄰采樣塊的運動矢量所指示的塊位置預(yù)定距離遠的起始位置為基礎(chǔ)來計算每個其它子塊的運動矢量。
4.如權(quán)利要求3所述的方法,其中預(yù)定距離與被施加快速搜索運動估計算法的子塊和相鄰采樣塊之間的距離成正比。
5.如權(quán)利要求3所述的方法,其中起始位置包括基于采樣塊的運動矢量通過內(nèi)插而計算的其它子塊的運動矢量所指示的塊位置。
6.如權(quán)利要求3所述的方法,其中采樣塊被選擇為彼此相距預(yù)定的距離。
7.一種估計形成幀的多個子塊的運動的方法,該方法包括對該多個子塊之中選擇出的預(yù)定數(shù)目的采樣塊施加完全搜索運動估計算法,并計算每個采樣塊的運動矢量;基于采樣塊的運動矢量,通過內(nèi)插來計算該多個子塊中除采樣塊之外的每個其它子塊的第一運動矢量;以及對除采樣塊之外的其它子塊施加快速搜索運動估計算法,并以第一運動矢量所指示的塊位置為基礎(chǔ)來計算除采樣塊之外的每個其它子塊的第二運動矢量。
8.一種裝置,包括存儲第一幀的第一存儲器和存儲第二幀的第二存儲器;采樣部分,其選擇第一幀中預(yù)定數(shù)目的子塊作為采樣塊;完全搜索部分,其將第二幀視為搜索區(qū)域,通過對采樣塊施加完全搜索運動估計算法,來計算采樣部分所選擇的每個采樣塊的運動矢量;內(nèi)插部分,其基于采樣塊的運動矢量,通過內(nèi)插來計算該多個子塊中除采樣塊之外的每個其它子塊的第一運動矢量;以及快速搜索部分,其以第一運動矢量所指示的第二幀中的塊位置為基礎(chǔ),通過對除采樣塊之外的每個子塊施加快速搜索運動估計算法,來計算除采樣塊之外的每個其它子塊的第二運動矢量。
9.一種裝置,包括存儲第一幀的第一存儲器和存儲第二幀的第二存儲器;精確搜索部分,其通過將第二幀視為搜索區(qū)域來對第一幀的子塊中預(yù)定數(shù)目的采樣塊施加完全搜索運動估計算法,并計算每個采樣塊的運動矢量;以及迅速搜索部分,其以位于距相鄰采樣塊的運動矢量所指示的塊位置預(yù)定距離遠的起始位置為基礎(chǔ),對該多個子塊中除采樣塊之外的每個其它子塊施加快速搜索運動估計算法,并計算除采樣塊之外的每個其它子塊的運動矢量。
10.如權(quán)利要求9所述的裝置,其中以被施加快速搜索運動估計算法的子塊和相鄰采樣塊之間的位移為基礎(chǔ)來選擇起始位置。
11.如權(quán)利要求9所述的裝置,其中迅速搜索部分包括內(nèi)插部分,該內(nèi)插部分基于采樣塊的運動矢量,通過內(nèi)插來計算除采樣塊之外的每個其它子塊的估計運動矢量,并且用估計運動矢量所指示的塊位置作為起始位置。
12.如權(quán)利要求9所述的裝置,其中采樣塊被選擇為彼此相距預(yù)定距離。
13.如權(quán)利要求8所述的裝置,還包括延遲第一幀以作為第二幀而存儲到第二存儲器中的幀延遲器。
14.如權(quán)利要求9所述的裝置,還包括延遲第一幀以作為第二幀而存儲到第二存儲器中的幀延遲器。
全文摘要
一種估計形成幀的多個子塊的運動的方法,該方法包括從多個子塊之中選擇預(yù)定數(shù)目的完全搜索塊,并將除完全搜索塊之外的其它子塊作為快速搜索塊;用完全搜索運動估計算法計算完全搜索塊的運動矢量;基于所計算的完全搜索塊的運動矢量,通過內(nèi)插來計算快速搜索塊的第一運動矢量;以及用第一運動矢量指示的塊位置作為起始位置,來通過快速搜索運動估計算法計算快速搜索塊的第二運動矢量。這樣,本發(fā)明提供了用于估計運動的裝置和方法,其中減少了運算量,并且與快速搜索算法相比更精確地搜索了匹配塊。
文檔編號H04N7/26GK1713731SQ200510077980
公開日2005年12月28日 申請日期2005年6月16日 優(yōu)先權(quán)日2004年6月16日
發(fā)明者河泰鉉 申請人:三星電子株式會社