專利名稱:針對塊集合的編碼選擇運動矢量的方法與設備的制作方法
技術領域:
本發(fā)明涉及一種針對圖像壓縮領域的運動的分級估計的方法。該方法可以在劃分成塊并表示所謂原始分辨率的圖像中,針對塊集合來選擇運動矢量。
背景技術:
本發(fā)明的環(huán)境是壓縮,具體是基于逐塊(blockwise)編碼方案的MPEG-2、MPEG-4類型的視頻壓縮,第2或第10篇。這些壓縮方案基于被稱作宏塊的基本實體進行操作。以下,術語塊可以指定較小塊的任何尺寸的組,并且因此,具體地,其可以指定宏塊。然而,在使用由塊所描述的運動矢量場的任何視頻編碼方案中均可以實現本發(fā)明。
在圖像壓縮領域,內部運動矢量針對利用視頻信號的時間冗余,以于對其進行壓縮。因此,原理是預測圖像的內容,然后僅對在該預測中得到的誤差進行編碼。MPEG標準實現了圖像的運動補償技術,以便于將時間冗余的降低最優(yōu)化。然后,要區(qū)分幾個步驟運動估計、運動補償以及編碼。如上文所示,本發(fā)明涉及運動估計。
作為通用規(guī)則,無法通過單個矢量對視頻序列中的運動進行建模。因此,圖像的每一個宏塊與運動提示(cue)相關聯。運動估計操作可以在參考圖像中確定宏塊,所述宏塊與要編碼的宏塊最相似。該搜索算法不是標準化的,并且其效率對于編碼器的性能及其復雜性具有根本影響。
最常用的方法是塊匹配通過在參考圖像搜索區(qū)域中所測試的矢量,將宏塊與所指向的宏塊相比較。在MPEG-2規(guī)范的情況下,利用半個像素的精確度來確定該矢量。從象素值之間的差值絕對值之和的觀點,基于最小化差值的宏塊、以下的復制(dubbed)失真以及矢量場的編碼的可能成本來進行選擇。由于以原始分辨率對整個圖像進行搜索,該方法在計算時間方面成本較高。此外,估計處理是單一分辨率的,其通常收斂到與提供失真/編碼成本折衷的函數的局部最小值相對應的矢量場。
發(fā)明內容
本發(fā)明提出了一種運動估計方法,其不會引起上述所提到的缺點。因此,由于達到了接近全局最小值的最小值,根據本發(fā)明的運動估計方法可以得到要求較少計算時間以及較少編碼成本的運動估計。
本發(fā)明涉及一種運動的分級估計方法,其用于針對從被劃分為塊的原始圖像的塊集合,從多個運動矢量中選擇運動矢量,所述方法包括計算步驟,用于針對每一個運動矢量,計算塊集合的能量函數,所述計算步驟實現了適于塊集合尺寸計算的拉格朗日約束條件的子步驟;以及選擇步驟,用于選擇使所述塊集合上的能量函數最小化的運動矢量。
具體地,通過采用基于塊集合的分析,本發(fā)明提出的寬尺度方法可以進行更全局地分析。使用適于塊集合的尺寸的拉格朗日約束條件可以減少計算量。
根據本發(fā)明的實施例,計算步驟實現了對于低分辨率圖像的失真計算的子步驟,所述低分辨率圖像與塊集合相對應,并且通過利用基于原始圖像的分辨率降低的子步驟來獲得。
由于僅對低分辨率的圖像計算失真,利用多分辨率方法進行補充的寬尺度方法使得計算量可以進一步減少。
在另一個實施例中,將在分辨率降低的子步驟中所使用的系數用于計算拉格朗日約束條件的子步驟中。
在該情況下,則拉格朗日約束條件適合作為用于產生低分辨率圖像的濾波器的特征函數。
根據本發(fā)明的實施例,通過向被稱作當前運動矢量的塊集合的相鄰的塊集合提供運動矢量,對遞減尺寸的塊集合序列迭代地重復該方法,在包括相鄰塊集合的較大尺寸的塊集合的之前迭代中,選擇所述當前運動矢量。
該多尺度、迭代分級的方法可以比利用單尺度和/或單分辨率方法達到更接近全局最小值的局部最小值,因此,具體地,最優(yōu)化了塊集合的編碼成本。具體地,對于尺寸越來越小的塊集合進行本發(fā)明的迭代,可以最優(yōu)化整個圖像的最小值的確定。于是,獲得局部最小值的可能性較小。
根據本發(fā)明的實施例,對于n次迭代,塊集合的遞減尺寸是2n×2n塊。
對于將塊具體地分為宏塊的MPEG編碼,本實施例尤其有用的,所述宏塊還可以組合在一起,具體地,可以組成2n×2n的塊組。例如,迭代的起始塊集合可以是要編碼的圖像中最大可能尺寸2n的塊,序列中接下來的集合的尺寸是2n-1等。根據本發(fā)明的方法,則針對尺寸2n的集合選擇運動矢量,所述尺寸2n的集合與接下來的迭代中的四個尺寸2n-1的集合相對應。然后,根據本發(fā)明,針對每一個尺寸2n-1的集合確定運動矢量。此后,通過常規(guī)的掃描對這些集合進行遍歷(traversed),例如,從左到右和從上到下。然后,依次是尺寸2n-2的集合等等。
根據本發(fā)明的實施例,利用降低分辨率的子步驟所得到的圖像的尺寸是在塊集合的序列中的隨后塊集合的尺寸。
本發(fā)明還設計用于實現之前所描述的方法的設備。
本發(fā)明還涉及一種通過實現根據本發(fā)明方法而獲得壓縮的圖像。
通過閱讀多個實施例的描述,本發(fā)明的其它特點和優(yōu)點將更加顯而易見,所述描述通過參考以下附圖給出,其中圖1是根據本發(fā)明的設備的圖示。
圖2a至圖2c表示多尺度結構。
圖3示出了針對塊集合B的本發(fā)明的操作方式。
圖4a至圖4c表示多分辨率結構。
圖5表示與用于計算編碼成本的塊相鄰的塊。
具體實施例方式
如圖1所示,根據本發(fā)明的設備100包括計算模塊102,用于針對每一個運動矢量,對于原始圖像101的塊集合108計算能量函數105。然而,對于同一塊集合的多個運動矢量來計算能量函數,為了清楚,通過單個參考數字105表示所述能量函數。因此,作為能量函數的多個值,存儲所參考的105,作為被評估的運動矢量。
具體地,為了產生運動估計,因此尋求識別每一個塊集合108的運動場。針對當前圖像的每一個塊集合108,尋求在限制其編碼成本的同時,提供對于當前塊集合108的較好預測的運動矢量。為此,確定能量函數105,按常規(guī)將其分解為兩項一項關于時間預測量的測量,以及另一項關于運動的編碼成本。
傳統(tǒng)地,對于當前圖像的塊b,與時間預測質量的測量相關的能量以運動補償誤差作為基礎。使用被稱作SAD的差值的絕對值之和,其計算如下SADb(u)=∑|Icurrent(x,y)-Iref(x+ux,y+uy)|其中,Icurrent是當前圖像,Iref是參考圖像,(x,y)是象素的地址,(ux,uy)是運動矢量u的分量。
根據MPEG規(guī)范,根據以下等式確定關于編碼成本的能量Cb(u)=λ.R(u-mb)其中,λ是拉格朗日加權系數、R(...)是針對矢量mb的編碼成本函數,所述運動矢量可以用作針對塊b的矢量編碼的預測。例如,可以計算mb,用作其周圍的三個矢量的中值矢量。
因此,運動估計問題可以處理為將以下函數最小化的問題Σb⋐Icurrent(SADb(u)+Cb(u))]]>對于全體塊的計算要求大量的計算,如以前所述,所述計算無法達到接近全局最小值的最小值,尤其是對于編碼成本而言。
為了避免這些缺點,本發(fā)明使用了多尺度方法。如圖2b和2c所示,在尺度k>0,塊集合B包含尺度k=0的2k×2k塊b N×N。
如圖3所示,以給定尺度k將塊集合B的相鄰塊表示為Ni(i=1,...,8)。塊集合B和Ni的每一個都具有矢量。將B的尺度為0、尺寸為N×N的塊表示為bi,并且其尺度為0、尺寸為N×N的相鄰塊表示為ni。
根據本發(fā)明,針對塊集合執(zhí)行最小化,并且有利地,之后以較小尺度進行運動矢量的其它選擇,因此,從最大尺度到尺度0執(zhí)行能量函數的最小化。于是,以給定尺度所得到的運動場用作針對下一個尺度的初始化。為了以給定尺度對圖像進行最小化,例如,原理在于逐一地采用塊集合,利用從左到右和從上到下的掃描,并且針對每一個塊集合選擇矢量,所述矢量提供了能量函數的最小值。
將矢量u分配給塊集合,這對于塊集合自身具有影響,并且,由于針對給定塊集合的運動矢量的編碼,使用了相鄰塊集合的運動矢量,因此還對于相鄰的塊集合具有影響。因此,能量函數的計算任務可以評價該影響,并且將其最小化。
另一方面,將與能量函數中的運動編碼成本相對應的項復制到隨后的環(huán)境能量(contextual energy)中。該能量考慮到針對所處理的塊集合的編碼成本及其相鄰塊的編碼成本。
因此,參考圖3,針對矢量u的塊集合B的環(huán)境能量等于ECBk(u)=Σi=1K×KCbi(u)+Σi=14K+4Cni(Vni/u)]]>其中,Vn是塊n的矢量Cb(x)是針對矢量x的塊bB的編碼成本,按照以下形式表示Cb(x)∶Cb(x)=λ.R(x-mb)Cn(x/u)是針對矢量x的塊nN的編碼成本,所述矢量x已知塊集合B的矢量是u,按照以下形式表示Cn(x/u)Cn(x/u)=λ.R(x-mn(u)),其中,mn(u)是塊n的預測器運動矢量,所述塊n已知塊集合B的矢量是u。
針對包括在塊集合B中的塊bK+1與bK×K,運動矢量是u。因此,對于這些塊,Cb(u)=λ.R(0)與u無關。
對于從n1到n3K+2和n4K+4的塊,運動矢量與u無關。具體地,如標準中所定義以及在圖5中陰影線所示,針對塊b的其三個相鄰塊不包含u,或者一個包含u且另兩個包含同一個矢量v。因此,通過運動矢量的定義,三個的中值與v相對應。
因此,得到以下結果ECBk(u)=γ+Σi=1KCbi(u)+Σi=3K+34K+3Cni(Vni/u)]]>其中,γ與u無關。
可以將等式的各項進行如下更清晰地的表示Cbi(u)=λ.R(u-VN2)CbK-1(u)=λ.R(u-VN2)CbK(u)=λ.R(u-med(u,VN2,VN3))]]>Cn3K+3(u)=λ.R(VN6-med(VN6,VN4,u))Cn3K+4(u)=λ.R(VN7-u)Cn4K+2(u)=λ.R(VN7-u)Cn4K+3(u)=λ.R(VN7-med(VN7,u,VN5))]]>最終得到 因此,由于其與矢量u無關,對于每一個尺度,僅計算一次系數λ。不需要計算γ,由于該項與u無關。因此,與所測試的運動矢量無關,僅上述等式之和的右側部分發(fā)生變化。因此,本發(fā)明可以減小要執(zhí)行的計算量。因此,與運動矢量的編碼相關的能量的計算實現了對拉格朗日約束條件λ的計算,所述拉格朗日約束條件λ針對塊集合的尺寸所確定,即,在所考慮的尺度。
對于與單個塊相對應的最小尺度,即k=0,環(huán)境能量表達為以下形式ECB0(u)=λ.R(u-med(VN4,VN2,VN3))+R(VN5-med(u,VN3,VN9))+R(VN6-med(VN12,VN4,u))+R(VN7-med(VN76,u,VN5))=λ.ecB0(u)]]>另一方面,理論上,關于運動補償誤差的能量是塊集合B的尺度0的所有塊的SAD之和。為了減少計算負擔,本發(fā)明執(zhí)行了多分辨率方法。于是,針對當前圖像并且針對參考圖像,構建來自原始圖像的不同分辨率的圖像。注意,當對于多個分辨率迭代地重復本發(fā)明時,構建了圖像的多分辨率金字塔。如圖4所示,在該金字塔中,圖4b或圖4c中k級的尺寸為N×N的塊與圖4a中0級的尺寸為N×N的一組2k×2k的塊相對應。因此,可以使用尺度0的塊集合與尺度k的N×N塊相匹配。
為了實現對于不同分辨率圖像的失真的計算,計算模塊102與計算子模塊110合作,所述計算子模塊用于計算與塊集合108相對應并且利用子模塊109的作用得到的圖像106的失真104,所述子模塊109用于基于原始圖像101來降低分辨率。
例如,通過至少對塊集合108進行低通濾波而得到較低分辨率的圖像106,其來自原始分辨率的圖像101,然后進行系數為2的二次抽樣。因此,例如,在較低分辨率的圖像中的尺寸為N×N的塊與在原始分辨率101的圖像中尺寸為N×N的塊集合108相對應。
具體地,如圖4所示,這種情況與以下情況相對應分辨率的降低使得滿足塊集合108的尺寸通過分辨率的降低而縮小,從而等于塊集合的尺寸序列中的下一個尺寸。這種尺寸序列用于迭代地重復根據本發(fā)明的方法。
本發(fā)明提出針對兩個分辨率釋放所獨立獲得的失真之間的連接,以便于將對較低分辨率的圖像進行的計算用于原始分辨率的計算。
因此,根據本發(fā)明,關于差值的絕對值之和,在較低分辨率的圖像的尺寸為N×N的塊的SAD與原始分辨率圖像中的尺寸為N×N的塊的SAD之和之間,發(fā)現了近似關系,所述在較低分辨率的圖像的尺寸為N×N的塊與原始分辨率圖像中的塊集合相對應。
認為用于SAD的計算中的圖像信號x是根據高斯分布的不相關信號。
x~N(μ,σ)假設根據低通濾波而產生的信號y是線性的,則根據該信號的二次抽樣得到的信號與以下的統(tǒng)計特性不相關y~N(μ,Σi,jα2(i,j)σ)]]>其中,α(i,j)構成了用于構建低分辨率圖像的低通濾波器的系數。通過示例,濾波器可以如下α(0,0)=0.0625 α(0,1)=0.125 α(0,2)=0.0625α(1,0)=0.125 α(1,1)=0.25 α(1,2)=0.125α(2,0)=0.0625 α(2,1)=0.125 α(2,2)=0.0625于是,通過以下公式,可以認為給定分辨率k塊的SAD與較高分辨率k-1的相對應塊的SAD相關(Σi,jα2(i,j)4).SADk(u/2k)≈ΣmSADmk-1(u/2k-1)]]>迭代地應用,則對于較低分辨率圖像的尺寸為N×N的塊的SAD的計算可以根據以下公式,近似與在原始尺寸的圖像中相對應的尺寸N×N的塊的SAD之和(Σi,jα2(i,j)4)k.SADk(u/2k)≈ΣmSADm0(u)]]>,其中SAD°是原始分辨率圖像上的塊的SAD。
系數4來自于以下事實給定分級的塊在較低分級上具有四個相對應的塊。
設備包括用于選擇最小化能量函數的第一運動矢量的模塊,通過計算與運動的編碼成本相對應以及與所述塊集合的運動補償誤差相對應的能量之和來獲得所述第一運動矢量。
于是,針對塊集合B的矢量u是使以下函數最小化的運動矢量(Σi,jα2(i,j)4)k.SADk(u/2k)+λ.ecB0(u)]]>因此,具體地,最優(yōu)矢量的搜索在于搜索最小化以下函數的矢量SADk(u/2k)+λk.ecBk(u)其中λk=λ(Σi,jα2(i,j)4)k]]>因此,在計算子模塊103中計算與λk相對應的拉格朗日約束條件113,有利地,所述計算子模塊接收用于產生較低分辨率圖像106的濾波器的系數112。因此,由于可以首先以較大的尺度執(zhí)行能量函數的最小化,適于塊集合的尺寸的拉格朗日約束條件113的這種新形式使得計算量大為簡化,同時確保達到接近圖像的全局最小值的最小值,然后,當對于塊集合的一些尺寸迭代地重復根據本發(fā)明的方法時,對于越來越小的尺寸柵格執(zhí)行能量函數的最小化。根據本發(fā)明,有利地,針對較低分辨率的塊集合的圖像的塊集合的每一個尺寸來計算失真。這可以顯著地減少計算量。
然后,通過對于塊集合的遞減尺寸序列來迭代地重復根據本發(fā)明的方法,本發(fā)明可以基于粗尺度而保證最優(yōu)化,例如,第n次迭代的尺寸為2n×2n。使用因果掃描對每一個集合進行遍歷。
本發(fā)明不局限于所描述的實施例,并且本領域的技術人員將認識到存在各種可選實施例。
權利要求
1.一種運動的分級估計方法,用于針對被劃分成塊的原始圖像(101)的塊集合(108),從多個運動矢量中選擇運動矢量(111),所述方法包括計算步驟(102),用于針對每一個運動矢量,計算塊集合(108)的能量函數(105),所述計算步驟(102)實現了適于塊集合(108)的尺寸的拉格朗日約束條件(113)的計算子步驟(103),選擇步驟(107),用于選擇使所述塊集合(108)的能量函數(105)最小化的運動矢量(111)。
2.根據權利要求1所述的方法,其中計算步驟(102)實現了對于較低分辨率的圖像(106)的失真(104)的計算子步驟(110),所述較低分辨率的圖像與塊集合(108)相對應,并且利用基于原始圖像(101)的分辨率(109)的降低子步驟來獲得。
3.根據權利要求2所述的方法,其中,在分辨率(109)的降低子步驟中所使用的系數(112)用于拉格朗日約束條件(113)的計算子步驟(103)中。
4.根據權利要求1至3之一所述的方法,通過向塊集合的相鄰塊集合提供稱作當前運動矢量的運動矢量,對于遞減尺寸的塊集合序列迭代地重復所述方法,在包括相鄰塊集合的較大尺寸的塊集合的之前迭代中,選擇所述當前運動矢量。
5.根據權利要求4所述的方法,其中,對于第n次迭代,塊集合(108)的遞減的尺寸是2n*2n塊。
6.根據權利要求4或5所述的方法,其中,利用分辨率(109)的降低子步驟所獲得的圖像(106)的尺寸是塊集合序列中隨后的塊集合的尺寸。
7.一種圖像編碼方法,其特征在于,其包括根據權利要求1所述的方法的分級運動估計階段。
8.一種用于運動的分級估計的設備(100),用于針對被劃分為塊的原始圖像(101)的塊集合(108),從多個運動矢量中選擇運動矢量(111),所述設備(100)包括計算模塊(102),用于針對每一個運動矢量來計算塊集合(108)的能量函數(105),所述計算模塊(102)實現了計算子模塊(103),用于計算適于塊集合(108)的尺寸的拉格朗日約束條件(113),選擇模塊(107),用于選擇使所述塊集合(108)的能量函數(105)最小化的運動矢量。
9.根據權利要求8所述的設備(100),其中,計算模塊(102)實現了計算子模塊(110),用于計算較低分辨率的圖像(106)的失真(104),所述較低分辨率的圖像與塊集合(108)相對應,并且利用用于基于原始圖像(101)而降低分辨率(109)的子模塊來得到。
10.根據權利要求6或7所述的設備,包括用于選擇運動矢量(111)的裝置,通過向塊集合的相鄰塊集合提供被稱作當前運動矢量的運動矢量,迭代地重復選擇遞減尺寸的塊集合序列的運動矢量(111),在包括相鄰塊集合的較大尺寸的塊集合的之前迭代,選擇所述當前運動矢量。
11.根據權利要求10所述的設備,其中當第n次迭代時,塊集合(108)的遞減的尺寸是2n*2n的塊。
12.根據權利要求10或11所述的設備,其中,在用于降低分辨率(109)的子模塊中所獲得的圖像(106)的尺寸是塊集合序列中隨后的塊集合的尺寸。
全文摘要
本發(fā)明涉及一種針對運動的分級估計的方法和設備,其目的是針對被劃分為塊的原始圖像(101)的塊集合(108),從多個運動矢量中選擇運動矢量(111)。針對每一個運動矢量,執(zhí)行對于塊集合(108)的能量函數(105)的計算(102)。該計算(102)實現適于塊集合(108)的尺寸的拉格朗日約束條件(113)的計算子步驟(103)。通過最小化所述塊集合(108)的能量函數(105),執(zhí)行運動矢量(111)的選擇(107)。
文檔編號H04N7/26GK1719899SQ20051008218
公開日2006年1月11日 申請日期2005年7月4日 優(yōu)先權日2004年7月6日
發(fā)明者皮埃爾·魯埃洛, 愛德華·弗朗索瓦, 菲利普·薩蒙 申請人:湯姆森許可貿易公司