專利名稱:圖像壓縮處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像壓縮處理方法,也就是從一些編碼方法中選出一種對每一幅圖像或圖像的宏塊進行編碼。
這種圖像處理方法尤其與MPEG2壓縮方法有關(guān)。雖然本發(fā)明并不僅限于這種形式的壓縮,但在以后的描述中,我們主要指MPEG2壓縮方法。
以下描述的是這種壓縮的原理,基于這一點,就要指明針對每一宏塊圖像所選的編碼方法。
在MPEG2標準中,有可能從包含在逐行方式的576線每線720點的一幅圖像開始。在隔行方式中,這幅圖像包含兩幀,每幀288線,同樣,每線720點。
每幅圖像都被分成宏塊,每個宏塊由一個16×16的亮度點的方陣組成。也就是說每個宏塊由4個8×8的亮度方陣構(gòu)成。每4個亮度塊與2個色度塊有關(guān)(在4.2.0格式中),每一個色度塊是8×8點。其中一塊表示色差即紅色色度信號Cr,另一塊表示色差即藍色色度信號Cb。在4.2.2格式中,每個亮度宏塊對應(yīng)4個8×8的色度塊,2個塊表示藍色色度,2塊表示紅色色度。在4.4.4格式中,每個亮度分量和色度分量包含有4個8×8的塊。
在
圖1所示的4個8×8的亮度塊,參考10代表這個塊,8×8的色度塊12和14分別代表藍色和紅色色度塊。這是用4.2.0標準表示一個宏塊。
每一個塊用一種叫做離散余弦變換表示為DCT的變換編碼,它可把亮度塊變換(例如)成代表空間頻率的系數(shù)塊。如圖2所示,源塊16轉(zhuǎn)換成一個8×8的系數(shù)塊18。塊18左上角20對應(yīng)空間零頻率(塊的均值),水平頻率向右表示增加,如箭頭22表示,同樣,垂直頻率從上向下增加,如箭頭24表示。
對每一個宏塊,必須要選擇編碼的類型或者“內(nèi)部編碼”或者“內(nèi)插編碼”。內(nèi)部編碼指對圖像的源塊進行DCT變換;內(nèi)插編碼指對表示源塊與預(yù)測塊差異的一個塊,或者是上一幅圖像或下一幅圖像的預(yù)測塊進行DCT變換。
選擇是部分地依賴于宏塊所屬的圖像類型。圖像有三種類型第一種是所謂的I或稱內(nèi)部類型,對所有宏塊都用內(nèi)部編碼。
第二種類型是P或稱預(yù)測類型。在這種圖像中,對宏塊的編碼可用內(nèi)部編碼也可用內(nèi)插編碼。如果對P型圖像使用內(nèi)插編碼,是對這幅圖象的當(dāng)前塊與前面的I型或P型圖像產(chǎn)生的預(yù)測塊的差異進行DCT變換。
第三種圖像稱之為B或雙向類型。對宏塊也可用內(nèi)插編碼或內(nèi)部編碼。內(nèi)插編碼也是對當(dāng)前塊與預(yù)測塊的差異進行DCT變換。這個預(yù)測塊可由前向圖像,或后向圖像,或兩者均可(雙向的預(yù)測)產(chǎn)生。這就有可能對所稱的前向或后向預(yù)測圖像僅是I或P圖像之一。
圖3所示的一序列圖像組成一組稱為圖像組(GOP),它包含12幅圖像。第1個為I圖像,后面11個為B和P圖像,按以下順序B,B,P,B,B,P,B,B,P,B,B。
在預(yù)測的圖像(從其他的圖像推導(dǎo))中,對宏塊的運動估計以及其后的運動補償都要被編碼。這是因為圖像間和幀之間的運動,有可能使宏塊在不同的位置被定位。運動補償能根據(jù)已知插值模式(通常稱為預(yù)測模式)計算出預(yù)測宏塊,這個宏塊在給定編碼模式時可作為源塊的預(yù)測塊被確切地估計出來。然后,對這個宏塊使用同樣的編碼模式,再由計算選擇編碼模式的程序決定保留或刪除。
在隔行掃描中,每幅圖像由2幅連續(xù)的幀組成,奇數(shù)幀和偶數(shù)幀。需要確定DCT變換是逐行使用還是對每一幀分別使用。這是因為,根據(jù)圖像的運動或圖像的結(jié)構(gòu),這兩種編碼結(jié)果是不相同的依賴于變換是對整個圖象或者每一幀。
這種選擇如圖4a和4b所示。在圖4a中所示一幅隔行圖象的宏塊28由奇數(shù)幀的行301,303,…3015和偶數(shù)幀的行302,304,…3016組成。圖4a是對整幅圖像作DCT變換。每一個宏塊28的四個塊281,282,283,284不重新排列就被變換,對它們進行編碼就組成宏塊28。對線301到308變換是為塊281和282,對線308到3016變換是為塊283和284。
另一方面,圖4b表示分別對奇數(shù)幀和偶數(shù)幀進行的變換。塊321和322對應(yīng)的是奇數(shù)幀,323和324對應(yīng)偶數(shù)幀1因此,塊321就包含線301,303,…3015,塊323和324包含線302,304,…3016。
圖5所示的圖表是圖像壓縮或視頻壓縮過程中所進行的各種操作。每一幅輸入的數(shù)字圖像簡稱為40,把它分成8×8的塊,這個8×8的塊送到設(shè)備42用來選擇是內(nèi)部編碼還是內(nèi)插編碼。如果是內(nèi)部編碼,這個塊就送到DCT變換設(shè)備44。如果是內(nèi)插編碼,這一塊就要與減法器46相減,減法器46得出的是該塊與由時間預(yù)測設(shè)備48預(yù)測得出的塊的差異。
經(jīng)過DCT變換44后,量化50被執(zhí)行,得到量化系數(shù)根據(jù)VLC變量編碼或固定長度52編碼。這些系數(shù)的編碼就在編碼器52輸出得到并直接送入到一個緩沖存儲器54,它的輸出就是編碼輸出56。為了避免塊緩沖存儲器54飽和或下溢,調(diào)節(jié)器60用來調(diào)節(jié)量化器50。
為了能夠進行時間預(yù)測,量化器50的輸出連接到用于逆量化Q-1的設(shè)備62的輸入,設(shè)備62的輸出送入到進行逆余弦變換DCT-1的設(shè)備的輸入。設(shè)備64的輸出在塊的編碼是內(nèi)插編碼時被直接傳送到圖像存儲器66,這由設(shè)備68決定。如果設(shè)備68決定是內(nèi)部編碼,設(shè)備64的輸出就要通過加法器70與48得出的時間預(yù)測宏塊相加,并且從加法器70輸出傳送到圖像存儲器66。存儲器66保留解碼的圖像。
內(nèi)插圖像和內(nèi)插幀的運動由設(shè)備72估計。它一方面接收從圖像存儲器66的信息,另一方面接收來自構(gòu)造這些塊的設(shè)備40的輸出信息。因此,可以看到時間預(yù)測器48能夠很好地運轉(zhuǎn),一方面是基于圖像存儲器66,另一方面是基于運動估計器72。
編碼或二進制序列52的計算量是由從運動估計器72得來的運動矢量、編碼的DCT系數(shù)、宏塊的頭信息以及由設(shè)備74產(chǎn)生的MPEG2編碼信息確定的。這個編碼信息與MPEG2的信號指令有關(guān),即稱之為宏塊線的頭信息(或“切片”),GOP的圖像的頭信息以及序列的頭信息被編碼。
對于I型圖像,編碼方式必須在幀方式內(nèi)部編碼或圖像方式內(nèi)部編碼之間選擇。這種選擇是在對宏塊的行為分析的基礎(chǔ)上得來,一般有較好的結(jié)果。
對于P型和B型圖像,將要做的決定的數(shù)量就要多一些。
一個P型宏塊可根據(jù)8種基本模式來編碼
-內(nèi)部;幀DCT,-內(nèi)部;圖像DCT,-無運動補償(noMC);幀DCT,-無運動補償(noMC);圖像DCT,-有運動補償;由前面的幀預(yù)測;幀DCT,-有運動補償;由前面的幀預(yù)測;圖像DCT,-有運動補償;由前一圖像預(yù)測;幀DCT,-有運動補償;由前一圖像預(yù)測;圖像DCT。
對于B型圖像,可能有14種基本的編碼模式,它們是2種內(nèi)部編碼模式,4種具有由P型圖像決定的運動補償?shù)哪J?,另外,?種基于后續(xù)預(yù)測圖像的相似編碼模式和4種雙向模式,即為-由后續(xù)幀預(yù)測;幀DCT,-由后續(xù)幀預(yù)測;圖像DCT,-由后續(xù)圖像預(yù)測;幀DCT,-由后續(xù)圖像預(yù)測;圖像DCT,-幀方式雙向預(yù)測;幀DCT,-幀方式雙向預(yù)測;圖像DCT,-圖像方式雙向預(yù)測;幀DCT,-圖像方式雙向預(yù)測;圖像DCT。
要注意的是,到目前為止,對P型和B型圖像選擇各種模式所使用的標準能得到各種質(zhì)量的結(jié)果。
本發(fā)明能保證以相對恒定的質(zhì)量傳輸P型和B型圖像。
本發(fā)明亦能用比已知的處理方法所得到的圖像更好的性/價比傳輸圖像。
為了達到這個目的,本發(fā)明采用的壓縮處理所具有的特點是,對每一個宏塊,根據(jù)所有模式或某些模式進行試驗編碼,對每個試驗編碼的編碼花費和(或)質(zhì)量因子是確定的,所選擇的編碼模式是編碼花費值和(或)質(zhì)量因子的函數(shù)。
術(shù)語“編碼花費”指的是每個編碼所使用的比特數(shù)。
從另一方面講,選擇編碼方式并不是基于對宏塊內(nèi)部的分析基礎(chǔ)之上(象前面所說的情況),而是通過試驗所有編碼可能性(或部分),保留得到最好結(jié)果的模式。只要它能減少編碼花費,或者能得到最好的圖像質(zhì)量,當(dāng)然更好地是,它傳遞了編碼花費和圖像質(zhì)量之間的最好的兼顧。
每幅圖像的質(zhì)量因子由源宏塊與解碼的宏塊之間的比較得到的。解碼的宏塊對應(yīng)于受到一試驗編碼且然后被解碼的宏塊。
在一個實施例中,平均質(zhì)量因子是由通過一個光滑的時間窗得到的一系列預(yù)測圖像來確定,并且,選擇了一編碼類型,該編碼類型傳遞的質(zhì)量因子與平均質(zhì)量因子最接近。
在另一個實施例中,對每一個宏塊,每個編碼類型都有一個編碼花費,保證最小花費的編碼類型的質(zhì)量因子與平均質(zhì)量因子相比較,如果相應(yīng)的質(zhì)量因子至少等于平均質(zhì)量因子加上一個增加量,那么要選擇傳遞最小花費的編碼類型。
本發(fā)明的壓縮處理可用于MPEG的視頻壓縮(MPEG1,MPEG2,MPEG4)或與其類似情況的各種應(yīng)用中,尤其可用于演播室的錄音記錄或磁帶記錄。例如它也可用于攝像機中的實時編碼。
本發(fā)明的試驗結(jié)果證明,對同樣的圖像質(zhì)量,本發(fā)明的壓縮方法比傳統(tǒng)的壓縮方法少使用約25%的比特數(shù)。
本發(fā)明其他的優(yōu)點和特怔在一些具體地描述中可明顯地體現(xiàn)出來。這些描述將參照后面的附圖來說明-圖1到圖5,前面已經(jīng)描述,講的是MPEG2壓縮原理。
-圖6和圖7是解釋本發(fā)明壓縮處理的某些方面的圖。
在以下將舉例描述壓縮的例子,對每一宏塊,所有的編碼模式都要考慮(即對于I型圖象的2種可能模式,對于P型圖像的8種基本模式,對于B型圖像的14種基本模式)。對這些模式中的每一種模式,都要試驗編碼,因此,隨后確定以下參數(shù)-編碼一宏塊的編碼花費C,也就是在試驗編碼的結(jié)果中包含的比特數(shù)。
-重構(gòu)宏塊的質(zhì)量因子MB_Quality。如何確定這個質(zhì)量因子將在后面描述。
-用Seq.Quality表示的暫時均值,其是一幅圖像或一系列圖像的質(zhì)量因子MB_Quality的暫時均值。已知這個參數(shù)能夠在當(dāng)一種編碼模式的質(zhì)量因子MB_Quality快要超過Seq.Quality的值時,限制這種模式的編碼過度花費。
-一個門限,用overC表示,它取決于所考慮的圖像的類型(I,P或B型),表示為提高宏塊的質(zhì)量因子所容許的編碼的過度花費。對于I型圖像的容許過度花費overC比用于P或B型圖像的容許過度花費大。
質(zhì)量因子MB_Quality是由要編碼的源宏塊與它的對于一種編碼模式的重構(gòu)副本相比較得出的。在圖像信噪比PSNR準則下,對源亮度象素點與重構(gòu)象素之間的點差異的平方求和(Sum),然后MB_Quality的值計算如下MB_Quality=-10log10(Sum/Lum),其中,Lum=255*255*256=16646400在信噪比SNR(信號與噪音比)準則下,參數(shù)Sum由同樣的方法得到,Lum指的是源亮度塊256象素點的和,這時的MB_Quality為MB_Quality=-10Log10(Sum/Lum)因此,差異越小,質(zhì)量因子越大。
舉例說明,如果知道編碼模式的最小花費Cmin,那么,就可以計算出最小花費時宏塊的質(zhì)量因子MB_QualityCmin。
然后,我們確定是否另一種編碼模式(它是先驗的)需要一個編碼過度花費(與Cmin相比),看它能否使MB_Quality的增加在可容許的范圍之內(nèi)。
為了達到這個目的,就要把MB_QualityCmin與Seq.Quality相比較,這個Seq.Quality是一組指定的預(yù)測圖像的質(zhì)量因子的序列方式的均值,例如是20。
如果MB_QualityCmin≥Seq.Quality+overMB_Quality,在公式中的overMB_Quality指的是序列方式得到的質(zhì)量因子可容許的增加值。這樣,就可選擇能夠達到最小花費Cmin的編碼模式,因為在最小花費之上有足夠大的選擇范圍。
這種情況發(fā)生在圖像的弱的紋理區(qū)域內(nèi)(很少的信息被編碼)和(或)那些時間預(yù)測有很好的質(zhì)量的圖像中。
如果MB_QualityCmin<Seq.Quality (1),也就是說,如果最小花費得到的質(zhì)量不足,那么,就可接受最大容許過度花費。
另一方面,在其他情況下,即Seq.Quality≤MB_QualityCmin<Seq.Quality+overMB_Quality (2),時就會容許一個小于over(的過度花費,這個過度花費由下式得到的因子S來加權(quán)。S=1-MB_QualityCmin-Seq.QualitoverMB_Quality......(3)]]>。也就是一個編碼的過度花費over是可容許的。overC′=overC×S (4)要注意的是,在以上提到的其他情況下,即MB_QualityCmin≥Seq.Quality+overMB_Quality和在MB_QualityCmin<Seq.Quality時,因子S的值可能為0和1。也就是公式(3)的值為負時,S為0,公式(3)的值大于1時,S為1。
在這些情況下,因子S可由圖6表示。它描述了整體部分。
當(dāng)可能的編碼花費overC或over被確定時,就可得到最好的編碼花費/MB_Quality對。為了達到這個目的,必須實現(xiàn)以下內(nèi)容MB_Qualityi與MB_QualityCmin相比較。MB_Qualityi是試驗編碼模式的質(zhì)量因子,它的秩為i。
如果MB_Qualityi=MB_QualityCmin,我們保留這個編碼,它傳遞最小花費Cmin。
如果MB_Qualityi<MB_QualityCmin,我們也采用這種傳遞最小花費的編碼模式。
另一方面,如果MB_Qualityi>MB_QualityCmin,我們通過以下的參數(shù)來選擇編碼方式di=Ci-[Cmin+overC.(MB_Qualityi-MB_QualityCmin)] (5)在這個公式中,Ci是試驗編碼中當(dāng)前宏塊的花費,over是可容許的過度花費(由over_C和S決定)。
di表示的是當(dāng)前宏塊的花費與最大可能花費的差距。
要選擇傳遞最小的di值的編碼模式。
這個準則可由圖7來表示。它也描述了所有情況。在這幅圖中,質(zhì)量因子MB_Quality是沿橫坐標作圖的,當(dāng)前宏塊的花費Ci是沿縱坐標作圖的,值Cmin對應(yīng)于原點。直線80代表相對應(yīng)MB_Quality的最大可增加花費。從另一方面講,不選擇在80線之上的花費/MB_Quality對(已考慮了參數(shù)over_C和S)。
本過程使用的參數(shù)Seq.Quality,可通過推理計算得出,并且只在解碼器建立起穩(wěn)態(tài)時使用。也就是除瞬態(tài)之外,例如超過一個序列的第50個或第100個編碼圖像,或當(dāng)編碼器設(shè)置為運行,或在檢測“轉(zhuǎn)換”(序列轉(zhuǎn)換或圖像轉(zhuǎn)換)后。在編碼過程中,在瞬態(tài)時,參數(shù)S取為1,overC=overC;即任何過度花費都限制在overC之內(nèi)。檢測“轉(zhuǎn)換”是一種信息,可由圖像編碼器的某個部分組成一個塊傳遞出去。這個部分就是運動估計器。
到目前所描述的過程為止,所有的編碼模式都嘗試過了。在簡單的變化中,為了減少計算量,所能試的可能編碼模式更有限。例如,不需要根據(jù)一幀或一幅圖像的DCT變換選擇參數(shù),因此,只用傳統(tǒng)的方式選擇編碼模式。如果宏塊的行為信息可估計出來,當(dāng)宏塊的圖像間的行為信息小于幀間的行為信息,就選擇圖像間的DCT變換,反之,選擇幀間DCT變換。
用這種方式,用于選擇其他模式的計算量就減少了,這時因為可選擇的編碼模式的數(shù)目相應(yīng)減半。
在上例中,沒有用試驗編碼來確定是在圖像間還是在幀間實現(xiàn)DCT變換。對于I型圖像,用傳統(tǒng)方式確定編碼模式,對P型圖像,基本編碼模式可減為4種,對于B型圖像,基本編碼模式可減為7種。
本發(fā)明當(dāng)然不受上例所描述的情況的限制。尤其是,不局限于基本編碼模式。它包含任何其他的編碼類型,例如,象對MPEG2標準的P型圖像的“雙優(yōu)”編碼模式。
權(quán)利要求
1.一種用于每一宏塊的圖像壓縮處理方法,其中每個圖像宏塊經(jīng)受從幾種編碼類型中選擇的一種進行編碼,其特征在于為了對每個宏塊選擇編碼類型,通過試驗編碼為每個編碼類型確定花費(Ci)和/或質(zhì)量因子(MB_Quality),該編碼類型的選擇是花費和質(zhì)量因子的函數(shù)。
2.如權(quán)利要求1的方法,其特征在于每個宏塊的質(zhì)量因子是由源宏塊和對應(yīng)于經(jīng)過試驗編碼的該宏塊的被解碼的宏塊之間的比較確定的。
3.如權(quán)利要求1或2的方法,其特征在于編碼類型的選擇是保證最小花費的一選擇。
4.如權(quán)利要求1到3中的任何一項方法,其特征在于平均質(zhì)量因子(Seq.Quality)是由包含在一個光滑的時間窗內(nèi)的一系列預(yù)測圖像來確定,并且選擇一種編碼類型,所述的編碼類型傳遞的質(zhì)量因子(MB_Quality)與平均質(zhì)量因子最接近。
5.如前所述權(quán)利要求中的任何一項的方法,其特征在于對每個宏塊,為每個編碼類型確定一個編碼花費,保證最小花費(Cmin)的編碼類型的質(zhì)量因子(MB_QualityCmin)與平均質(zhì)量因子(Seq.Quality)相比較,該平均質(zhì)量因子是在包含在一個光滑的時間窗中的一系列預(yù)測圖像之上確定的,如果相應(yīng)的質(zhì)量因子至少等于平均質(zhì)量因子(Seq.Quality)加上一個增加量(overMB_Quality),則要選擇傳遞最小花費的編碼類型。
6.如權(quán)利要求5的方法,其特征在于如果用于保證最小花費(Cmin)編碼類型的質(zhì)量因子(MB_QualityCmin)小于平均質(zhì)量因子(Seq.Quality),則選擇這樣一種編碼類型,該編碼類型使得編碼過度花費不超過一個特定的值(overC),同時保證質(zhì)量因子的增加在可容許的范圍內(nèi)。
7.如權(quán)利要求6的方法,其特征在于用于加權(quán)過度花費(overC)的因子S由下式確定S=1-MB_QualityCmin-Seq.QualitoverMB_Quality,]]>如果上式的值為負,則加權(quán)系數(shù)保持為0;若上式的值大于1,則加權(quán)系數(shù)保持為1。
8.如權(quán)利要求6或7的方法,其特征在于編碼類型是通過最小化由下式定義的帶符號的參數(shù)di決定di=Ci-[Cmin+overC.(MB_Qualityi-MB_QualityCmin)]Ci是試驗編碼的花費,Cmin是所有試驗編碼模式中的最小花費,MB_Qualityi是試驗編碼的質(zhì)量因子,MB_QualityCmin是對應(yīng)于最小花費的試驗編碼模式的質(zhì)量因子。
9.如前所述權(quán)利要求中的任何一項的方法,其特征在于壓縮是MPEG類型,更好是MPEG2類型。
10.如權(quán)利要求9的方法,其特征在于對I,P和B型圖像的宏塊選擇編碼類型。
11.如權(quán)利要求9的方法,其特征在于用于P和B型圖像的編碼類型而不用于I型圖像的編碼類型。
12.如權(quán)利要求11的方法,其特征在于為確定是在幀宏塊還是圖像宏塊上使用余弦變換,在編碼之前要確定一個與宏塊有關(guān)的參數(shù),并且,選擇的變換類型是這個參數(shù)的函數(shù)。
全文摘要
本發(fā)明設(shè)計圖像壓縮處理方法。從一些編碼方法中選出一種對每一幅圖像或圖像的宏塊進行編碼。為對圖像宏塊選擇編碼類型,通過試驗編碼為每個編碼類型i確定花費(C
文檔編號G06T9/00GK1250318SQ99119220
公開日2000年4月12日 申請日期1999年8月26日 優(yōu)先權(quán)日1998年8月28日
發(fā)明者皮埃爾·呂埃羅, 多米尼克·托羅 申請人:湯姆森多媒體公司