專利名稱:選擇編碼模式的方法和設備的制作方法
技術領域:
本發明涉及從多個圖像壓縮編碼模式中,選擇分割為塊的圖像的塊的編碼模式的方法。方法由迭代選擇編碼模式組成,以致編碼一組塊,然后在所述的組塊的塊的子集上改進此選擇。此改進可在子集上迭代的再生它自己,然后處理。
背景技術:
因此,本發明的內容是基于MPEG2,MPEG4章節2或10類型的塊方法編碼方案的壓縮,特別是視頻壓縮。這些壓縮方案根據稱為宏塊的實體運行。在下面的描述中,術語塊可表示一組任何尺寸的較小的塊,因此特別的可表示宏塊。這些方案實現編碼決定方法,其目標是對各宏塊選擇表現最合適的編碼模式。此選擇可憑經驗做,就是說評估所有可能的模式,特別是計算編碼的成本和失真。然后選擇表現最好的比特率-失真折衷的編碼模式。已知的編碼決定方法運行在因果關系的方式中一旦做出關于宏塊的決定,繼續下一個宏塊。這是以圖像掃描的順序實現的。
那么已知的方法不考慮決定對將來宏塊的影響。這在表現不均勻度的整個圖像上選擇模式的映射上有負面的結果。
那么塊影響是可見的。因為在左到右和上到下掃描的情況中處于上面和到左的特殊情況中,宏塊的編碼成本通常非常依賴于鄰近宏塊的編碼模式,這也對編碼成本導致負面的結果。關于宏塊的決定可以是對此決定最好的,但因為它影響隨后的宏塊,它的結果對后面的宏塊可能是非最佳決定的選擇。可使用有幾個迭代的方法使得重新考慮前面做的決定成為可能。那么計算量是高的。此外,這些方法只是采用稱為隨機的張弛策略,它包括特別與視頻編碼不相容的計算量,使得避免對后面的宏塊的非最佳決定成為可能。
基于在一組宏塊上計算編碼方式的集合的其它方法預示考慮所有可能的編碼方式的組合,這在計算時間方面明顯的是非常昂貴的。
發明內容
本發明提出編碼決定方法,它不會出現上面提到的缺點。因此,根據本發明的編碼決定方法使得獲得相對于上面提到的常規解決方案更好質量的壓縮的圖像成為可能,同時優化編碼成本。
本發明涉及從多個分割為塊的圖像的壓縮編碼模式中,選擇編碼模式的方法,以致編碼包括在一組塊中的子集,此方法包括在一組塊上對各種編碼模式計算能量函數,存儲至少塊的子集的能量函數的計算元素,在一組塊上選擇編碼最小化能量函數的第一模式,在塊的子集上對各種編碼模式計算能量函數的步驟,使用存儲的塊的子集的計算元素并在鄰近的子集上執行估計與編碼的第一模式不同的編碼模式的模式成本,選擇在子集上最小化能量函數的第二編碼模式的步驟。
特別是,本發明提出的多尺度方法使用選擇一組塊的編碼模式,使得此后決定一組塊的子集的編碼模式。這能使得能在一組塊上做出均一的決定。此方法也使得在一組塊的能量函數上接近全局的最小值成為可能,因此,特別是,在一組塊上最佳化編碼成本。不言而喻第一和第二編碼模式是清楚的或同樣的,給出了一個和同樣的編碼模式能對一組塊或塊的子集最小化能量函數。
在實例中,一組塊是一組2n*2n塊,子集是一組2n-1*2n-1塊。
實例特別在圖像編碼的結構中是有利的,特別根據MPEG標準,其中,塊特別的組成宏塊,也特別組合在一起為2n*2n塊。
在實例中,四周鄰近是塊的子集下面和到右方的一組塊。
此實例特別在圖像編碼的結構中是有利的,特別根據MPEEG標準,其中為了編碼,塊從左到右和從上到下掃描。
在實例中,計算元素是各塊的子集的失真度和編碼成本。
此特征反映能量函數的性質為根據本發明所計算的。失真度表示在編碼的圖像和未編碼的原始圖像之間觀察到的誤差。編碼成本一般表示編碼圖像必須的比特數。存儲這些計算元素,使得能由計算宏塊子集的能量函數的步驟調用。
在實例中,選擇編碼模式的步驟包括選擇編碼模式的參數的子步驟。
此特征使得本發明的應用擴展到選擇特別的編碼模式的參數成為可能,例如選擇矢量。
在實例中,在一系列一組塊的子集上重復迭代根據本發明的方法。
對MPEG編碼此實例是特別有用的。例如一組塊在要編碼的圖像中可以有最大可能大小2n的塊。根據本發明的方法,那么選擇四個子集的編碼方法。大小2n-1的各子集成為一組塊,那么子集有大小2n-2如此等等。
本發明也涉及實現如上面描述的方法的設備。
本發明也涉及由根據本發明迭代實現的方法獲得的壓縮的圖像(從分割整個圖像為非常大的尺度的塊開始一典型的為128×128像元)。
從各種實例的描述中本發明其它的特征和優點成為明顯的,參考如下附圖作描述圖1根據本發明的設備的框圖;圖2a和圖2b呈現塊或宏塊的周圍近鄰在計算編碼成本中的作用;圖3說明本發明在一組宏塊上的運行的方式;圖4表示各尺度的能量函數;圖5a到圖5c說明在一組宏塊上操作根據本發明的方法。
具體實施例方式
如在圖1中表示的,根據本發明的設備100包括計算模塊102,在一組塊101上對每個編碼模式計算能量函數105。存儲器104使得存儲至少一個塊的子集109的能量函數105的計算元素103成為可能。
為了清楚的原因,對幾種編碼模式計算由單個參考數表示的能量函數105。因此,當存在許多能量函數的值時,存儲參考值105作為被評估的編碼模式。
設備100包括選擇編碼模式的模塊106,稱為第一編碼模式107,在一組塊101上最小化能量函數105。
編碼模式的選擇由搜尋一組編碼模式M和最小化能量函數105的相關的參數P組成,在公式中由E表示Minm,pE(M,P/Icur,Iref)其中Icur指定當前圖像,Iref指定作為時間預測的參考的圖像,M={m1,m2,...,mn}是一組N宏塊的的編碼模式,mi能從一組Q編碼模式中取它的準許的值T={t1,t2,...,tq},P是在各位置s與它的模式ms關聯的一組參數。這可能是內部編碼模式的空間預測的方向,或中間編碼模式的雙向權重系數的運動矢量的問題。
能量函數E是在一組塊上的基本函數之和。如前面描述的,這些基本函數依賴于塊的鄰近關系。
如在圖2a中表示的,在實現左到右和上到下掃描的編碼方案中,例如MPEG4章節10的編碼方案,在塊200上計算的基本函數依賴于在由塊201到204組成的鄰近關系中選擇的編碼模式。以互補的方式,如在圖2b中表示的,特別是,對塊206到209計算的各個基本函數依賴于塊205選擇的編碼模式。
那么基本函數之和可寫為E(M,P/Icur,Iref)=∑s∈S Es(ms,Ps(ms)/mr,Pr(mr),r∈Vs,Icur,Iref)其中S是圖像的N個宏塊的一組位置(或地點),Vs指出位置S的鄰近關系,例如在圖2a中的塊201到204。
函數Es可取幾種形式。在憑經驗的方法中,可以取以下的形式,用省略條件相關已簡化的符號Es(m)=D(m,P(m))+λ·C(m,P(m))其中D是測量的失真,C是測量的編碼成本,λ是確定的或計算的參數,常慣上作為塊的量化步長的函數。
由最小化上面的函數Es(m)的模式確定在一組塊上選擇第一編碼模式107。
對塊的每個子集和估算的每個模式存儲在圖1中的參考數103的計算元素D和C。根據本發明,存儲至少對必須選擇編碼模式112的子集109的塊的計算元素103。
因此,其后的設備100有處理塊組101的子集109的可能性。
那么它包括計算模塊108,用于在塊的子集109上對每個編碼模式m計算能量函數110。
其后的圖3說明本發明的運行方式。對一組塊301已選擇第一編碼模式。例如對4×4塊的子集309,此后計算能量函數110。例如,根據本發明的方法,也可選擇大小3×3和在圖3中表示為303,組301的任何其它子集。例如,也可在本發明中執行對3×2等的所有其它大小。
根據圖1,計算能量函數110的模塊108調用塊的子集109存儲的計算元素103。計算模塊108也包括估計模塊113,在子集的鄰近關系上估計不同于第一編碼模式107的編碼模式的成本。
根據圖3,子集的鄰近關系是由處于塊的子集309的底部和到右邊規定的鄰近關系。
特別是,如在圖2b中說明的,處于位置s的塊205的模式的變化也改變未來塊206到209的能量的變化。在公式中未來塊標志為Fs。如果在位置s,模式m用m'代替,從那里產生的能量的變化如下ΔE=Es(m',Ps(m'))-Es(m,Ps(m))+∑r∈Fs(Es(Er(mr,Pr(mr)/m',Ps(m'))-Er(mr,Pr(mr)/m,Ps(m)))前兩項表示根據過去的塊的能量函數的改變,第三項表示引起未來塊的能量函數的能量函數的變化。
在常規的單尺度因果關系的方法中,那么由測量宏塊的能量函數的改變影響編碼模式的選擇,就是說,不考慮未來塊上包括的能量變化的前兩項。
這對圖像分割為塊的小到中的量化步長是明顯的,可考慮對鄰近關系的更早期塊模式改變的塊的影響沒有承擔失真,但承擔編碼成本。特別是,在解量化后對小到中間范圍的量化步長重建的塊離原始圖像不是太遠。在此情況中,不需要重新計算失真。因此,對塊的每個子集,向前的最粗尺度計算每個模式的失真。在此情況中,存儲的計算元素103使得不必須重新計算它們,容易的調用表示失真D的計算元素103成為可能。
作為對塊的子集的工作和在子集中必須有同樣的模式的結果,不改變位于塊的子集中的塊的編碼成本。因此可以看到對給定的尺度,由塊的子集309的編碼模式的改變產生的編碼成本的變化只對位于子集309的鄰近關系302的塊是敏感的。因為只是塊的子集309的鄰近關系302的塊的編碼成本變化,這使得大大降低執行的計算量成為可能。子集內部的塊的其它編碼成本實際上存儲為前面看到的計算元素103的方式。特別是,參考圖3,編碼成本的常規計算給出上升到16+9的計算,因此本發明使得只執行9成為可能。
最后,設備包括模塊111,用于選擇由計算模塊108在子集109上計算的最小化能量函數110的編碼模式112。
根據本發明提出的多尺度方法,使得更容易的接近在圖像上優化編碼的方法成為可能。特別是,當用一組大尺度塊實現方法時,多尺度方法使得更有意義的平滑將所有的最小化的函數成為可能。
因此,對本方法來說,在一組起始塊的足夠高尺度上,函數成為凸起的,并容易地獲得到達全局的最小。
圖4說明在單維上計算的能量函數的簡單情況,沿橫坐標表示多個模式。因此,注意到在最小尺度的能量函數曲線403表現幾個最小值。因此,如果我們在能量函數最小化時從弱的初始化開始,我們落入本地最小值的風險。曲線402表示中間的尺度,除了全局最小值,中間的尺度表現較小顯著的本地最小值。曲線401表示最大的尺度,此曲線401只表現明確地獲得的一個最小值。如在此最后的圖中說明的一樣,為了在分割為塊的圖像上確定最好編碼模式的集合,特別是圖像的塊數,每塊的模式數,時空的預測空間,由發現能量函數最小值的配置,用幾個維數最小化能量函數是必須的。當使用因果關系的方法時,在最小的尺度,我們最終獲得給予的本地最小值,它可能與能量函數的全局最小值差得很多。因此,本發明使得接近編碼整個圖像的能量函數的最小化成為可能,因為規定一組塊作為整個圖像是可能的。
參考圖5,本發明方法的優點是,在塊的組和子集的多個尺度上重復迭代,使得在全部圖像上獲得優化的編碼模式集合。根據此迭代,前面步驟的子集成為下一步的一組,如此以往。有利的,最粗的尺度是整個圖像。
根據此迭代原理,在圖5a中由8×8塊的一組塊500表示的第一尺度上計算最小化的能量函數。對第一尺度,子集501到504有大小4×4。對在圖5b中表示的第二尺度,前面尺度的子集501到504,每一個都成為本發明實現方法的一組塊。現在子集是2×2塊的組505到520。最后在第三尺度,現在子集是塊521本身。因此,塊組合為2n×2n塊的子集的組。每個子集的塊都必須有相同的編碼模式。
本方法使得從粗的尺度承擔最優化成為可能。使用因果關系的尺度遍勵組中的每個子集。根據本發明,在給定的尺度k為各子集尋找產生最低能量的模式。例如,在圖5中,尺度k+1的組500用于確定產生尺度k的子集501到504等的每一個的最低能量的模式。一旦已處理尺度k,對于最低的尺度k-1,我們獲得了每一新組尺度k的模式的最初映射。對尺度k-1的各個子集,我們搜尋獲得最大能量下降的模式。一旦已處理尺度k-1,我們進入尺度k-2,連續下去直到尺度0,最后到單個塊構成子集的位置。
本發明也用于優化能量函數作為編碼模式的參數的函數。可考慮兩種方法。塊的各個子集的參數可以是不同的。因此,子集的編碼模式是具有塊的各個子集的運動矢量參數的中間模式。或我們運行于給定的參數P,用如在各尺度處理參數P的子集Ps的模式同樣的方式。
在兩種情況中,估計參數P,如果必要,以完全獨立的方式估計Pn。例如,在實現編碼決定設備前,在整個圖像上進行多尺度的運動估計是可能的。此解決方案比同時估計組Mn和Pn的解決方案有較少昂貴計算的優點。
本發明不限于描述的實例,本領域的技術人員認識到存在各種可選擇的實例,如設想計算鄰近關系塊的編碼成本的各種類型鄰近關系的可能性。也可注意到由精確的計算,或由使用已知的近似技術的近似計算可估計編碼成本。
權利要求
1.一種從多個分割為塊的圖像的壓縮編碼模式中選擇編碼模式(112)的方法,編碼包括在一組塊(101)中的塊的子集(109),方法包括步驟在一組塊(101)上為每一種編碼模式計算(102)能量函數(105);為至少塊子集(109)存儲(104)能量函數(105)的計算元素(103);在一組塊(101)上選擇(106)最小化能量函數(105)的第一編碼模式(107);在塊的子集(109)上為每一種編碼模式計算(108)能量函數(110),使用存儲的塊子集(109)的計算元素(103)計算能量函數,并在子集(109)的鄰近關系上執行與編碼的第一編碼模式不同的模式的編碼成本估計步驟(113);在子集(109)上選擇(111)最小化編碼能量函數(110)的第二編碼模式(112)。
2.根據權利要求1所述的方法,其特征在于一組塊(101)是一組2n*2n塊,子集(109)是一組2n-1*2n-1塊。
3.根據權利要求1或2所述的方法,其特征在于鄰近關系是在塊的子集(109)的下邊到右邊的一組塊(101)。
4.根據權利要求1到3之一所述的方法,其特征在于計算元素(103)是塊的每個子集(109)的編碼的失真和編碼成本。
5.根據權利要求1到4之一所述的方法,其特征在于選擇編碼模式的步驟包括選擇編碼模式的參數的子步驟。
6.根據權利要求1到5之一所述的方法,其特征在于在一系列組塊的子集上迭代的重復。
7.一種從包括在一組塊(101)中的塊的子集(109)的多個編碼模式中有效選擇編碼模式的設備,設備包括計算模塊(102),在一組塊(101)上對每個編碼模式計算能量函數(105);存儲器(104),存儲至少塊的子集(109)的能量函數(105)的計算元素(103);模塊(106),在一組塊(101)上選擇最小化能量函數(105)的第一編碼模式(107);計算模塊(108),在塊的子集(109)上對每個編碼模式計算能量函數(110),模塊(108),通過調用存儲的塊的子集(109)的計算元素(103)計算能量函數(110),并包括估計模塊(113),在子集(109)的鄰近關系上估計不同于第一編碼模式的編碼模式的編碼成本;模塊(111),在子集(109)上選擇最小化能量函數(110)的第二編碼模式(112)。
8.根據權利要求7所述的設備,其特征在于一組塊(101)是一組2n*2n塊,子集(109)是一組2n-1*2n-1塊。
9.根據權利要求7或8所述的設備,其特征在于鄰近關系是塊的子集(109)的下邊到右邊的一組塊。
10.根據權利要求7到9之一所述的設備,其特征在于計算元素(103)是每個塊的子集(109)的編碼失真和編碼成本。
11.根據權利要求7到10之一所述的設備,其特征在于選擇編碼模式的模塊中的至少一個包括選擇編碼模式的參數的子模塊。
12.一種實現多種編碼模式的編碼視頻圖像的方法,其特征在于包括根據權利要求1的方法選擇編碼模式的階段。
全文摘要
本發明涉及從包括在一組塊(101)中的塊的子集(109)的多個編碼模式中選擇編碼模式(112)的方法。在一組塊(101)上對各種編碼模式計算(102)能量函數(105),存儲至少塊子集(109)的能量函數(105)的計算元素(103)。在一組塊(101)上選擇(106)最小化能量函數(105)的第一編碼模式(107)。此后,使用存儲的塊子集(109)的計算元素(103)在塊的子集(109)上對各種編碼模式計算(108)能量函數(110),并在子集(109)的鄰近關系上執行與編碼的第一模式不同的編碼模式的模式成本的估計(113)。從而在子集(109)上最小化能量函數(110)的編碼模式的選擇。
文檔編號H03M7/30GK1719900SQ200510082188
公開日2006年1月11日 申請日期2005年7月1日 優先權日2004年7月6日
發明者愛德華·弗朗索瓦, 多米尼克·托羅, 阿內·洛雷特 申請人:湯姆森許可貿易公司