專利名稱:數(shù)字圖象壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字圖象的壓縮方法,其特點(diǎn)是以一種漸進(jìn)的方式將壓縮后的圖象數(shù)據(jù)按照多個(gè)質(zhì)量層次進(jìn)行存儲(chǔ)和傳輸。
大家都知道,在基本的JPEG方法中,圖象通常被轉(zhuǎn)化成亮度/色度的格式,表示為YUV或YCbCr。其中,Y稱為主要色彩分量或是亮度分量;U和V或Cb和Cr稱為次要色彩分量或色度分量。次要色彩分量的數(shù)量通常可以減少,通過對一組象素值進(jìn)行平均得到。然后每個(gè)分量的數(shù)據(jù)被分塊處理,每個(gè)塊進(jìn)行離散余弦變換(DCT),之后,每個(gè)塊中的所有DCT系數(shù)被量化,(即除以一個(gè)事先定好的量化系數(shù)并圓整為整數(shù)),對量化后的系數(shù)再根據(jù)條件概率,采用哈夫曼編碼或是算術(shù)編碼方法進(jìn)行編碼。一個(gè)通用的JPEG文件頭里包括壓縮參數(shù)、量化表及熵編碼表,以便解碼程序能進(jìn)行逆向操作。
JPEG除了基本方法外,還有若干可選的擴(kuò)展方法,其中一種是漸進(jìn)模式,它能夠支持實(shí)時(shí)的圖象傳輸。在漸進(jìn)模式中,DCT系數(shù)可以按照對圖象的多次掃描進(jìn)行分段傳送。每增加一段數(shù)據(jù),解碼器就能產(chǎn)生更高質(zhì)量等級的一個(gè)圖象版本。然而,在大多數(shù)實(shí)現(xiàn)中,每個(gè)質(zhì)量等級使用的象素?cái)?shù)目都是相同的。
盡管JPEG和JPEG2000有著非常廣泛的應(yīng)用,但這兩種方法都存在著缺點(diǎn)。JPEG壓縮的主要問題是壓縮率一般、有方塊效應(yīng)以及較差的漸進(jìn)傳輸質(zhì)量。在JPEG中,為了達(dá)到理想壓縮率,一個(gè)關(guān)鍵操作就是對DCT系數(shù)進(jìn)行量化。量化系數(shù)較小時(shí)壓縮率較低,而當(dāng)量化系數(shù)較大時(shí)又會(huì)帶來方塊效應(yīng),即在重建的圖象上能夠看到方塊的邊緣。使用JPEG壓縮方法,圖象質(zhì)量不能隨著壓縮率的提高漸進(jìn)的下降,因此一個(gè)漸進(jìn)解碼的JPEG圖象在它的全部層次被解碼完之前是不能產(chǎn)生滿意的觀看效果的。
JPEG2000是為克服JPEG的一些缺點(diǎn)而設(shè)計(jì)的,JPEG2000使用了小波變換,它能隨著壓縮率的提高更加細(xì)膩的變化。然而,JPEG2000也帶來了較高的計(jì)算復(fù)雜性。JPEG2000使用的漸進(jìn)的方式中,無論是編碼還是解碼都需要過大的計(jì)算量。JPEG2000中的小波變換雖然改善了隨著壓縮率提高而變壞的圖象質(zhì)量,但它并未從根本上改進(jìn)圖象壓縮率,以至于圖象質(zhì)量較好時(shí),其壓縮率和JPEG大致相當(dāng)。而且,JPEG2000使用的基于上下文預(yù)測的算術(shù)編碼沒有利用圖象中各彩色分量高度相關(guān)這一特性。
因此,對于現(xiàn)有的圖象壓縮技術(shù)來說,仍然存在著改善的余地。大家都期待著能出現(xiàn)一個(gè)更好的變換以達(dá)到更快的執(zhí)行速度和更高的壓縮率,也期待著擁有一個(gè)更有效率、質(zhì)量更好的漸進(jìn)壓縮方法。最后,我們還看到一個(gè)可以改進(jìn)的地方,即在上下文預(yù)測中利用色彩相關(guān)性,并為YUV空間之外的色彩空間提供一個(gè)壓縮方法。
實(shí)現(xiàn)上述目的的技術(shù)方案一種數(shù)字圖象的壓縮方法,把一個(gè)圖象的數(shù)字表示壓縮成一個(gè)一維碼流,圖象的數(shù)字表示包含一個(gè)二維象素?cái)?shù)組,其中每個(gè)象素都和一個(gè)主要色帶及次要色帶相聯(lián)系,其中把圖象表示成一系列的質(zhì)量逐漸遞減的質(zhì)量等級,其中,較高質(zhì)量等級包含的數(shù)據(jù)比較低質(zhì)量等級要多,減少較高的質(zhì)量等級的色帶數(shù)目或減少較高的質(zhì)量等級象素的個(gè)數(shù)即可得到較低的質(zhì)量等級;按照各個(gè)質(zhì)量等級來表示一個(gè)圖象,所述圖象包括一個(gè)基本質(zhì)量等級圖象和差分圖象;某一個(gè)質(zhì)量等級的差分圖象是由兩個(gè)圖象做差分得到,一個(gè)圖象是這個(gè)等級的真實(shí)圖象,另一個(gè)圖象是把在較低質(zhì)量等級的重建圖象進(jìn)行放大得到;通過一個(gè)過程把基本質(zhì)量等級圖象和差分圖象表示成整數(shù)值,這個(gè)過程包括先將圖象變換成與已知函數(shù)相聯(lián)系的一組系數(shù),然后用量化值對這組系數(shù)集合進(jìn)行量化并圓整到整數(shù)值;編碼對應(yīng)于最低質(zhì)量等級和差分圖象的整數(shù)值,用無損排序統(tǒng)計(jì)編碼方法使整數(shù)值的數(shù)字表示產(chǎn)生一個(gè)一維的碼流。
確定重建圖象的方法包括把量化過的系數(shù)和量化值相乘進(jìn)行反量化;進(jìn)行和已知函數(shù)相聯(lián)系的逆變換產(chǎn)生一個(gè)重建表示。
本發(fā)明數(shù)字圖象的壓縮方法主要應(yīng)用于三色圖象,圖象由主要色彩分量和次要彩色分量表示,每個(gè)色彩分量都由一個(gè)二維象素?cái)?shù)組表示。多色彩空間,如RGB空間和YUV亮度/色度彩色空間都在考慮之列,當(dāng)處于RGB空間時(shí),主要色彩成分是指綠色,次要色彩成分是指紅色和藍(lán)色;當(dāng)處于YUV空間時(shí),主要色彩成分是指亮度,次要色彩成分是指色度。
所述質(zhì)量等級序列包括第一個(gè)質(zhì)量等級,其中每一個(gè)象素都包含所有色彩成分;第二個(gè)質(zhì)量等級,其中每一個(gè)象素都包含主要色彩成分和一個(gè)次要色彩成分;第三個(gè)質(zhì)量等級,其中每個(gè)象素都包含一個(gè)主要色彩成分,并且其數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四個(gè)質(zhì)量等級,其中每個(gè)象素都只包含一個(gè)色彩成分,且主要色彩成分的數(shù)量是次要色彩成分?jǐn)?shù)量的兩倍;第五個(gè)質(zhì)量等級源自第一個(gè)質(zhì)量等級,通過把兩個(gè)方向都除以一個(gè)整數(shù)比例因子,減少其水平方向和垂直方向的象素?cái)?shù)目;第六個(gè)質(zhì)量等級源自第四個(gè)質(zhì)量等級,其中每個(gè)象素包含主要色彩成分和一個(gè)次要色彩成分;第七個(gè)質(zhì)量等級來源于第四個(gè)質(zhì)量等級,其中每個(gè)象素都包含一個(gè)主要色彩成分,并且其數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍。
基本質(zhì)量等級圖象和差分圖象被轉(zhuǎn)化成一組與已知函數(shù)相聯(lián)系的系數(shù)。在典型的實(shí)現(xiàn)過程中,最低質(zhì)量等級圖象和差分圖象在變換前被分塊。在傳統(tǒng)的JPEG方法中,采用的是離散余弦變換。本發(fā)明中,采用的變換方法是離散小波余弦變換(DWCT),這種變換將離散余弦變換的頻域特點(diǎn)和空域變換(如哈爾小波變換)的多分辯率特征結(jié)合起來的二維變換,二維變換的過程包括在做變換之前,把最低質(zhì)量等級的數(shù)據(jù)及差分圖象分解成M×M的方塊,M是2的整數(shù)冪;若一個(gè)大小為J×K的塊,J和K都不是2的整數(shù)冪,首先要把它補(bǔ)成一個(gè)M×M的方塊,可通過在J×K的原始塊中補(bǔ)充新元素實(shí)現(xiàn),以便變換后,系數(shù)集合中至多有J×K個(gè)非零值;二維變換包括對二維數(shù)組做一個(gè)行方向的一維變換,再對這個(gè)數(shù)組做一個(gè)列方向上的一維變換;應(yīng)用的一維變換是基于離散余弦變換和一個(gè)排列函數(shù)采用遞歸方式定義的,變換的輸出元素可分為偶數(shù)元素和奇數(shù)元素,偶數(shù)元素包括變換的輸入數(shù)據(jù)中的較低質(zhì)量等級的表示。DWCT不但比傳統(tǒng)的小波變換速度更快,而且和以往使用的變換相比,能產(chǎn)生更緊湊的數(shù)據(jù)分布。DWCT系數(shù)使用量化表中指定的值進(jìn)行量化,并圓整到整數(shù)。
基本質(zhì)量等級和差分圖象的量化系數(shù)以一種無損的排列統(tǒng)計(jì)編碼方法來進(jìn)行壓縮,這種排列統(tǒng)計(jì)編碼方法包括量化系數(shù)的上下文預(yù)測、排序以及熵編碼,其中上下文預(yù)測過程中,把每個(gè)系數(shù)的值由相鄰象素系數(shù)值來預(yù)測,各個(gè)色彩分量分別進(jìn)行預(yù)測對于主要色彩成分,上下文包括一個(gè)位置索引和主要色彩象素的相鄰系數(shù);對于第一個(gè)次要色彩成分,上下文包括一個(gè)位置索引、本色帶內(nèi)的相鄰系數(shù)以及位于相同位置的主要色帶內(nèi)的系數(shù);對于第二個(gè)次要色彩成分,上下文包括一個(gè)位置索引,本色帶內(nèi)的相鄰系數(shù)以及位于相同位置上的主要色帶系數(shù)和第一個(gè)次要色帶系數(shù)。
在上述上下文預(yù)測方法中,按照在數(shù)組里的位置將量化系數(shù)分為四組第一組包含對應(yīng)于最低位置索引的第零個(gè)系數(shù);第二組包括除去第一組數(shù)據(jù)之外的第一行的所有數(shù)據(jù);第三組包括除去第一組數(shù)據(jù)外的所有第一列數(shù)據(jù);第四組包括所有剩余系數(shù);每一組的上下文都不同。
排序操作是把二維數(shù)組排列成一維數(shù)組,為了使數(shù)據(jù)間的相關(guān)性達(dá)到最大,使用了一種四叉樹排序方法,在這種四叉樹排序方法中,二維系數(shù)數(shù)組被分成4個(gè)相等的區(qū)域,分別是左上、右上、左下和右下,每一個(gè)區(qū)域又被分成左上、右上、左下和右下四個(gè)相同大小的子區(qū)域,這種過程不斷重復(fù),直至每個(gè)子區(qū)域都只包含一個(gè)象素為止。在量化或上下文預(yù)測之前要做好排序,而所有相關(guān)數(shù)據(jù)例如系數(shù),量化表和上下文的映射關(guān)系也要被保留。
最后,再對這種經(jīng)過上下文預(yù)測和排序的數(shù)據(jù)值進(jìn)行熵編碼(如算術(shù)編碼),熵編碼過程是把圖象的數(shù)字表示壓縮成一個(gè)碼流,數(shù)字表示包含一個(gè)二維的象素?cái)?shù)組,其中每個(gè)象素都包含一個(gè)主要色彩成分和次要色彩成分,熵編碼過程中要用的概率表由上下文預(yù)測方法形成。
上述數(shù)字圖象的解壓縮方法包括如下步驟
恢復(fù)壓縮中使用的上下文預(yù)測概率表;對碼流進(jìn)行解碼,恢復(fù)對應(yīng)于基本質(zhì)量等級圖象和差分圖象的整數(shù)值;調(diào)整順序,把解碼完的整數(shù)排列成一個(gè)二維數(shù)組形式;把對應(yīng)于基本質(zhì)量等級和差分圖象的每一個(gè)解碼系數(shù)同量化值相乘;做與已知函數(shù)相聯(lián)系的逆變換重建基本質(zhì)量等級和差分圖象的數(shù)字表示;把位于較低質(zhì)量等級的圖象擴(kuò)大至下一個(gè)較高的質(zhì)量等級;在一個(gè)給定的質(zhì)量等級,把差分圖象和擴(kuò)大至這個(gè)等級的圖象相加得到這個(gè)等級的一個(gè)重建的數(shù)字表示。
解碼過程基本是編碼的逆過程,產(chǎn)生重建圖象。
上述數(shù)字圖象的解壓縮方法中,與已知函數(shù)相聯(lián)系的逆變換是把頻域變換特點(diǎn)和多分辯率變換特征相結(jié)合的一個(gè)變換,該變換是在一個(gè)反離散余弦變換和一個(gè)排列函數(shù)的基礎(chǔ)上進(jìn)行遞歸定義,其中,逆變換的輸入數(shù)據(jù)被分成了偶數(shù)元素和奇數(shù)元素,偶數(shù)元素包含此變換的輸入數(shù)據(jù)中的較低級別的表示。
質(zhì)量等級通過亞采樣序列來實(shí)現(xiàn),在一個(gè)采樣序列中,采樣數(shù)據(jù)的長度是遞減的,采樣數(shù)據(jù)表示包括一個(gè)二維的象素?cái)?shù)組,其中,每一個(gè)象素都有主要色彩成分和次要色彩成分,這個(gè)序列包括如下特定序列第一種采樣表示,每個(gè)象素都具有所有的色彩成分;第二種采樣表示,每個(gè)象素都具有主要色彩成分和一個(gè)次要色彩成分;第三種采樣表示,每個(gè)象素都有一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四種采樣表示源于第一種采樣表示,不過它二維數(shù)組的維數(shù)除以了一個(gè)整數(shù)比例因子,在水平和垂直方向上相應(yīng)減少了象素的數(shù)目;第五種采樣方法源自第四種采樣表示,每一個(gè)象素都包含主要色彩成分和一個(gè)次要色彩成分;第六種采樣表示源自第四種采樣表示,每個(gè)象素都包含一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍。
質(zhì)量等級也可通過另一種亞采樣序列來實(shí)現(xiàn),在該采樣序列中,采樣數(shù)據(jù)的長度是遞減的,采樣數(shù)據(jù)表示包括一個(gè)二維的象素?cái)?shù)組,其中,每一個(gè)象素都有主要色彩成分和次要色彩成分,這個(gè)序列包括如下特定序列第一種采樣表示,每個(gè)象素都具有所有的色彩成分;第二種采樣表示,每個(gè)象素都具有主要色彩成分和一個(gè)次要色彩成分;第三種采樣表示,每個(gè)象素都有一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四種采樣表示,每個(gè)象素包含一個(gè)色彩分量,且主要色彩分量的數(shù)量是次要色彩分量數(shù)量的兩倍。
采用上述技術(shù)方案,本發(fā)明突出的技術(shù)進(jìn)步在于1、把圖象表示成一系列的質(zhì)量逐漸遞減的質(zhì)量等級,采用較高質(zhì)量等級用對相鄰的較低質(zhì)量等級的差來進(jìn)行表示,每個(gè)差分圖象只包含對應(yīng)于較低質(zhì)量等級的數(shù)據(jù)增量,因而,能夠以漸進(jìn)的方式將圖象按照多個(gè)亞采樣質(zhì)量等級的形式存儲(chǔ)。按照本發(fā)明壓縮的圖象能夠通過計(jì)算機(jī)網(wǎng)絡(luò)或是因特網(wǎng)進(jìn)行傳輸,從而實(shí)現(xiàn)漸進(jìn)的觀看和下載。更有,一個(gè)瀏覽器能夠在某個(gè)指定的質(zhì)量等級觀看一幅圖象,而對高于此質(zhì)量等級的數(shù)據(jù)忽略不管。2、差分圖象以相鄰較低等級的重建圖象為基礎(chǔ)得到,避免了誤差的積累,圖象質(zhì)量更高。3、采用離散小波余弦變換(DWCT),將離散余弦變換的頻域特點(diǎn)和空域變換(如哈爾小波變換)的多分辯率特征結(jié)合起來,DWCT不但比傳統(tǒng)的小波變換速度更快,而且和以往使用的變換相比,能產(chǎn)生更緊湊的數(shù)據(jù)分布。4、由于漸進(jìn)、連續(xù)變化是一幅畫面的普遍規(guī)律,圖象要素的前、后、左右具有極強(qiáng)的相關(guān)性。本發(fā)明抓住這一主要特征,在上下文預(yù)測過程中,把每個(gè)系數(shù)的值由相鄰象素系數(shù)值來預(yù)測和各個(gè)色彩分量分別進(jìn)行預(yù)測,以及在排序操作中采用四叉樹排序方法,數(shù)據(jù)間的相關(guān)性大大提高。據(jù)此,圖象數(shù)據(jù)的壓縮比可大大提高,能充分、有效地節(jié)省存儲(chǔ)空間或傳輸資源。
本發(fā)明中提出的壓縮數(shù)字圖象的方法以一種漸進(jìn)的方式把圖象表示成多個(gè)亞采樣質(zhì)量等級,這樣做能夠避免誤差的積累。在本申請中,只討論了對靜止圖象作處理的方法。因?yàn)闊o論何種視頻序列里的每幀圖象都可以看作是靜止圖象,所以這種方法也能夠?qū)σ曨l圖象應(yīng)用。本方法處理的圖象主要為三色圖象一個(gè)主要色彩分量(用P表示)以及次要色彩分量(表示為S和Q)。當(dāng)然,本方法同樣也能擴(kuò)展到對單色圖象或是多色圖象作處理。P、S和Q分量可以分別對應(yīng)RGB色彩空間的G(綠色)、R(紅色)和B(藍(lán)色)分量,也可以分別對應(yīng)YUV亮度/色度彩色空間的Y、U和V分量。典型情況下,此數(shù)據(jù)壓縮方法的輸入是一個(gè)二維象素?cái)?shù)組,其中每個(gè)象素都包含三種色彩分量元素,而輸出是壓縮數(shù)據(jù)的一維碼流。
本發(fā)明中提出的壓縮方法能以軟件形式運(yùn)行于通用的計(jì)算機(jī)處理單元(CPU)或數(shù)字信號(hào)處理器(DSP),也能以硬件形式在VLSI芯片上實(shí)現(xiàn),或是在軟、硬件的結(jié)合環(huán)境中實(shí)現(xiàn)。在軟件中實(shí)現(xiàn)時(shí),用于實(shí)現(xiàn)壓縮方法的計(jì)算機(jī)指令存儲(chǔ)在CPU或是DSP的內(nèi)存中,這樣,此處使用的裝置一詞或指具有預(yù)編指令的專用硬件裝置,或指通用計(jì)算機(jī)和具有存儲(chǔ)指令的內(nèi)存器,或指專用硬件和計(jì)算機(jī)的結(jié)合裝置。壓縮后的圖象可以保存在內(nèi)存中,或供以后恢復(fù)及在監(jiān)視器上做顯示之用,或供在內(nèi)部網(wǎng)及外部網(wǎng)如因特網(wǎng)做傳輸之用。
圖1給出了使用本發(fā)明方法對圖象數(shù)據(jù)進(jìn)行壓縮的一個(gè)大致流程。在亞采樣階段110,一個(gè)原始圖象被分解成為多個(gè)質(zhì)量等級,從最高的質(zhì)量等級開始,到最低質(zhì)量等級為止。最高質(zhì)量等級也稱為壓縮質(zhì)量等級(CQS),最低質(zhì)量等級即基本質(zhì)量等級也稱為亞采樣質(zhì)量等級(SQS)?;举|(zhì)量等級SQS的圖象數(shù)據(jù)最先輸出,接著是下一個(gè)質(zhì)量等級的數(shù)據(jù),直至CQS的數(shù)據(jù)被輸出為止。
差分模塊120給出了差分形式的亞采樣圖象,以便每個(gè)差分圖象都只包含在前一個(gè)較低質(zhì)量等級基礎(chǔ)上增加的數(shù)據(jù)。差分模塊包含模塊125至170,用來確定一個(gè)亞采樣圖象和一個(gè)參考圖象之間的差,首先在鄰近的較低質(zhì)量等級上得到一個(gè)重建的亞采樣圖象,然后對此重建圖象進(jìn)行放大得到一個(gè)參考圖象,接著求得當(dāng)前亞采樣圖象和參考圖象之間的差。象下面將要詳細(xì)描述的那樣,重建圖象是通過下面的流程得到的,首先對亞采樣圖象進(jìn)行變換(130)和量化操作(140),這兩個(gè)過程會(huì)造成損失,然后再通過反量化模塊(150)和反變換模塊(160)來恢復(fù)圖象。差分模塊120的輸出是量化后的基本質(zhì)量等級數(shù)據(jù)和量化后的差分圖象。
量化后的基本圖象和差分圖象被無損的排序統(tǒng)計(jì)編碼模塊轉(zhuǎn)化成壓縮碼流。排序統(tǒng)計(jì)編碼模塊包括一個(gè)上下文預(yù)測模塊185,一個(gè)排序模塊190(它將二維數(shù)組轉(zhuǎn)化成一維數(shù)組),還有一個(gè)無損熵編碼模塊195,如算術(shù)編碼。解壓方法基本上是如圖2所示的壓縮過程的逆過程,下面也會(huì)詳細(xì)的討論到。
在具體實(shí)施過程中,亞采樣模塊110總共定義了7個(gè)亞采樣等級(也稱7種采樣表示),不同的亞采樣序列都有類似的定義。這7個(gè)亞采樣等級設(shè)為0至6,0代表最高的質(zhì)量等級,6則是最低質(zhì)量等級。每一個(gè)等級數(shù)字表示對圖象數(shù)據(jù)進(jìn)行一種特定的亞采樣操作。
0級亞采樣表示(也稱第一種采樣表示)為4∶4∶4,即原始圖象根本就沒有進(jìn)行亞采樣。所有的象素都保留有P、S、Q分量元素,如表1所示。
表1 0級亞采樣4∶4∶4
1級亞采樣表示(也稱第二種采樣表示)為4∶2∶2,主要分量P沒有進(jìn)行亞采樣,只有S和Q分量被亞采樣。這種采樣等級里共有6種模式,如下表2-7所示。
表2 1級亞采樣4∶2∶2 模式1
4∶2∶2亞采樣方式中的第一種模式和在電視標(biāo)準(zhǔn)(如NTSC和PAL)及運(yùn)動(dòng)圖象傳輸標(biāo)準(zhǔn)MPEG2中使用的亞采樣方法相同。在表中,“x“表示一個(gè)去掉的分量元素。在如表3所示的第二種模式中,S和Q分量呈對角排列,以便S分量和Q分量中,無論沿水平方向還是沿垂直方向的間隔都是均勻的。模式2是1級采樣中首選的亞采樣模式。
表3 1級采樣4∶2∶2亞采樣模式2
模式3和模式2有少許不同,即S和Q的位置進(jìn)行互換。如表4所示。
表4 1級采樣4∶2∶2亞采樣模式3
第4種模式是模式1的轉(zhuǎn)置,即水平方向間隔。
表5 1級采樣4∶2∶2亞采樣模式4
模式5、模式6和模式1、模式4有少許不同,即S和Q的位置發(fā)生了交換。
表6 1級采樣4∶2∶2亞采樣模式5
表7 1級采樣4∶2∶2亞采樣模式6
二級亞采樣表示(也稱第三種采樣表示)為4∶2∶0,主要分量P依然全部保留,只對S和Q進(jìn)行亞采樣。通過在不同的位置對S和Q進(jìn)行采樣,也會(huì)產(chǎn)生許多種模式。本文只列舉其中5種最有用的模式。
表82級采樣4∶2∶0亞采樣模式1
模式1和MPEG2及JPEG標(biāo)準(zhǔn)中使用的YUV 4∶2∶0格式類似。這種模式中,每4個(gè)含有P元素的象素分享一對S和Q元素,它們位于4個(gè)P象素的中心。在第二種模式中,S和Q分量是不重合的。它們呈對角排列,分別由不同的P象素?fù)碛?,如?所示
表9 2級采樣4∶2∶0亞采樣模式2
其它的三種模式都是模式2的變體,只不過S和Q分布在不同的位置而已。如表10-12所示。
表102級采樣4∶2∶0亞采樣模式3
表112級采樣4∶2∶0亞采樣模式4
表122級采樣4∶2∶0亞采樣模式5
3級亞采樣(也稱第四種采樣表示)稱為貝葉模式,它是圖象傳感器技術(shù)中的一種常見采樣格式。它包括4種模式,每個(gè)模式都定義了一種特定的彩色分量結(jié)構(gòu)。如表13所示,在第一種模式中,每個(gè)象素只包含一個(gè)色彩分量元素。主要色彩分量元素的數(shù)目是次要色彩分量元素?cái)?shù)目的兩倍。
表133級采樣貝葉亞采樣模式1
貝葉模式的其它形式僅僅將分量的位置進(jìn)行了重排。如下表14-16所示。
表143級采樣貝葉亞采樣模式2
表153級采樣貝葉亞采樣模式3
表163級采樣貝葉亞采樣模式4
四級亞采樣(也稱第五種采樣表示)中,象素的數(shù)目被減少了。如果每個(gè)象素顯示的尺寸都保持相同,則四級采樣中,圖象顯示的整個(gè)尺寸將較?。幌喾?,如果顯示的圖象尺寸沒有減少,那么說明每個(gè)象素在圖象中占用的區(qū)域?qū)⑤^大。色彩分量在零級采樣4∶4∶4模式中進(jìn)行了表示。在四級亞采樣中,一個(gè)具有M×N個(gè)象素的原始圖象IM×N首先分別在水平方向和垂直方向縮小成大小為m×n的圖象Im×n,其中m=(M+L-1)/L,n=(N+L-1)/L.
然后,使用4∶4∶4格式來表示Im×n。大多數(shù)情況下,L為2或3。
許多算法都可按照比例因子L對圖象IM×N在水平方向和垂直方向分別縮小,包括簡單采樣、雙線性縮放以及雙立方縮放,當(dāng)然不僅僅局限于這些算法。簡單采樣縮放法在每個(gè)L×L個(gè)的塊中按照均勻間隔保留一個(gè)象素,而其它的縮放法則是根據(jù)鄰域象素計(jì)算出一個(gè)象素值來代表L×L的象素塊。雙線性縮放法按照水平、垂直坐標(biāo)的一個(gè)線性函數(shù)在一個(gè)新位置插入象素值。函數(shù)的系數(shù)或者事先定好,或者根據(jù)鄰域的已知象素值估計(jì)。同樣的,在雙立方縮放法中,插值函數(shù)是水平坐標(biāo)和垂直坐標(biāo)的立方函數(shù)。
五級亞采樣(也稱第六種采樣表示)中,一個(gè)大小為M×N的圖象IM×N根據(jù)一個(gè)尺度因子在水平和垂直方向分別縮小成一個(gè)大小為m×n的圖象Im×n,并按4∶2∶2格式進(jìn)行亞采樣。同樣的,六級亞采樣中,圖象根據(jù)尺度因子L在水平方向和垂直方向分別縮小,并按照4∶2∶0格式進(jìn)行亞采樣。在一個(gè)壓縮圖象的多尺度表示中,同一個(gè)尺度因子L,例如等于2或3,將用于四級至六級亞采樣方式中,因此,四至六級采樣方式會(huì)得到同樣的象素?cái)?shù)目。
縮小和放大算法經(jīng)常成對應(yīng)用,表示為(Lx↓,Lx↑),其中L是尺度因子,Lx則定義了一個(gè)縮放算法。如何優(yōu)化的選擇縮放算法取決于圖象數(shù)據(jù)的特征。由于是成對出現(xiàn)的,因此同一個(gè)L既用于縮小算法(Lx↓),又用于放大算法(Lx↑)。對一幅圖象的某些色帶或是全部色帶進(jìn)行縮放操作,一般基于上述的亞采樣模式。亞采樣模式?jīng)Q定以何種亞采樣等級對這幅圖象進(jìn)行亞采樣。
為了形成一個(gè)亞采樣圖象序列,首先,原始圖象I必須屬于以上描述的零級、一級、二級和三級亞采樣級別中的一種。對4∶4∶4模式的圖象按照比例因子2僅沿水平方向?qū)V色帶或RB色帶進(jìn)行縮小,就得到了4∶2∶2模式的一個(gè)圖象。這個(gè)沿水平方向的縮小操作由2x↓算法來執(zhí)行。對于4∶4∶4模式和4∶2∶2模式來說,其YUV色帶和RGB色帶在垂直方向的大小是一樣的。同樣,對4∶2∶2模式的圖象按照比例因子2僅沿垂直方向?qū)V色帶或是RB色帶進(jìn)行縮小即可得到4∶2∶0模式的圖象。對一個(gè)4∶2∶0模式的圖象的P分量圖象在水平方向或是垂直方向做縮小可得到貝葉格式圖象,這種情況下,不能在兩個(gè)方向同時(shí)做縮小操作。
設(shè)G是圖象I的原始尺度表示。I可看作在零級亞采樣時(shí)獲得的亞采樣圖象,表示為IG。對于IG,我們采用Lx↓算法進(jìn)行亞采樣獲得IG+1;對于IG+1,我們再次采用算法Lx↓進(jìn)行亞采樣獲得IG+2,依次類推,直至我們到達(dá)了亞采樣質(zhì)量等級S。按照這種方法我們獲得了一個(gè)亞采樣圖象序列IG{IG,IG+1,…IS}。顯然,SQS值S不可能比原始的圖象等級G小。
例如,假設(shè)G=2,S=4。I2是4∶2∶0格式圖象。那么從IG,我們使用簡單采樣算法把I2降低成一種貝葉模式I3,如表13-16所示。我們也使用給定的算法2x↓將I2的P分量縮小,把I2減少成I4,形成了一個(gè)尺寸較小的4∶4∶4格式圖象。當(dāng)然,也可以通過使用給定算法2x↓對I0的所有彩色色帶做采樣而直接得到I4。
貝葉格式中的各彩色分量不在同一位置上。當(dāng)把一種貝葉格式圖象亞采樣成一種更低級別的圖象格式時(shí),需要認(rèn)真考慮象素的排列。因此,接下來的兩種采樣序列特別有用序列I{0,1,2,4,5,6}序列II{0,1,2,3}對于值小于3的SQS來說,序列I和序列II都可以使用。對于SQS值等于3的值來說,應(yīng)使用序列II。對于SQS值大于3的值來說,應(yīng)使用序列I。在序列II里,一級采樣和二級采樣首選簡單采樣縮放法。在序列I里,3級采樣將被跳過以免產(chǎn)生位置空缺問題。對于序列I可以使用更復(fù)雜的采樣方法。
對于序列I和序列II,差分圖象序列有著不同的定義。在序列II的情況下,亞采樣序列包括{I0,I1,I2,I3}的一個(gè)子集。當(dāng)使用簡單采樣縮放法進(jìn)行亞采樣時(shí),IS+1很明顯是IS的一個(gè)子集,S=0,1,2。IS和IS+1的差圖象DS可定義為包含于IS中但不包含于IS+1中的多余象素或是色帶元素。因而,DS可以寫為Dk=Ik-Ik+1,k=0,1,2,為方便起見,令D3=I3。這樣,我們就能獲得一個(gè)差分亞采樣圖象序列{D0,D1,D2,D3}.
在序列I的情況下,亞采樣序列包括{I0,I1,I2,I4,I5,I6}的一個(gè)子集。為了獲得差分圖象,我們將圖象從較低質(zhì)量級別放大到較高質(zhì)量級別。例如,我們使用給定的算法2x↑來放大I4的P分量從而獲得一個(gè)較高級別的圖象J2.。同樣,我們使用給定算法2x↑將Ik的S分量和Q分量放大以獲得更高級別圖象Jk-1,k=6,5,2,1。然后級別k的差分圖象可定義為Dk=Ik-Jk,k=0,1,2,4,5.
令D6=I6,即可給出差分采樣圖象序列{D0,D1,D2,D4,D5,D6}.
序列I中的差分方法也可應(yīng)用于序列II中。
根據(jù)本發(fā)明技術(shù),除了上述的差分采樣圖象序列外,在圖1中120模塊里產(chǎn)生的差分圖象還采用了另外一種形式。上面描述的差分表示有一個(gè)缺點(diǎn)即會(huì)從最低質(zhì)量等級到較高質(zhì)量等級的過程中傳播誤差。為了在當(dāng)前的差分步驟中避免誤差的累積,用來相減的參考圖象由重建圖象代替,重建圖象由較低質(zhì)量級別的數(shù)據(jù)恢復(fù)。
我們在這里只考慮序列I的情況。序列II的情況更簡單,能對它做類似的處理。給定一個(gè)SQS S和一個(gè)CQS C,首先得到其采樣序列{IC,IC+1,…,IS}?;举|(zhì)量等級圖象IS要經(jīng)過變換模塊130和量化模塊140做有損處理。變換模塊130可以象JPEG或JPEG2000方法那樣分別使用離散余弦變換或是小波變換。在本申請中,變換模塊130可以使用一個(gè)新的離散余弦小波變換,在下面有詳細(xì)定義。
通過對上述有損過程進(jìn)行逆操作來重建圖象IS,我們可以得到GS??偟膩碚fGS和IS是不同的,因?yàn)槟K130和模塊140都是有損的。使用一個(gè)給定的算法Lx↑,我們可將GS放大到一個(gè)較高質(zhì)量級別(S-1)上,并獲得HS-1。然后我們能夠從下式獲得DS-1DS-1=IS-1-HS-1(1)DS-1經(jīng)過變換并已被量化。令D’S-1表示經(jīng)過變換且經(jīng)過量化的DS-1。
執(zhí)行模塊130和140的逆向過程,重建D’S-1,我們得到GS-1。同樣,GS-1和DS-1也不同?;贕S-1和HS-1,我們可以從下式重建IS-1FS-1=GS-1+HS-1(2)
上式中,F(xiàn)S-1是在(S-1)級別上對原始圖象IS-1的一個(gè)近似。注意FS-1和IS-1之間的差異與DS-1和GS-1之間的差異相同,都能夠防止從S級別開始的錯(cuò)誤傳遞?,F(xiàn)在,使用給定的2x↑算法,我們把FS-1放大到一個(gè)較高級別(S-1)上,并獲得HS-2。然后我們從下式獲得DS-2DS-2=IS-2-HS-2現(xiàn)在對DS-2做變換以及量化得到D’S-2,由D’S-2得到GS-2。這個(gè)過程一直繼續(xù)直至在最高質(zhì)量等級C的差分圖象DC被確定、被變換、被量化為止。圖象Hk和上面定義的Jk不同的地方在于Hk是用較低級別的變換以及量化之后的有損數(shù)據(jù)重建出來的,而Jk是用較低質(zhì)量等級圖象Ik+1放大得到的。
以上描述的計(jì)算方法在圖1中由流程圖表示。減法模塊125計(jì)算亞采樣圖象和重建的放大圖象之間的差異,后者由等式(1)中的(S-1)等級清楚的給出。量化模塊140的輸出D’既傳遞給排序統(tǒng)計(jì)編碼模塊180,又傳遞給反量化模塊150以獲得差圖象。反變換模塊160的輸出是數(shù)值G,它是對D’的重建。如等式(2)中所示,在等級(S-1)下,加法模塊165把重建的差圖象G和由相鄰較低等級放大而成的圖象H相加。對于基本質(zhì)量等級S有DS=IS和HS=0,流程圖描述了整個(gè)差分過程,這個(gè)過程中產(chǎn)生了一個(gè)經(jīng)過變換和量化的圖象序列{D’S,D’S-1,…D’C}。
變換模塊130使用標(biāo)準(zhǔn)變換如離散余弦變換(DCT)、小波變換(WT)或其它變換得到變換系數(shù)。在本發(fā)明中,一種新穎的變換離散余弦小波變換(DWCT)被使用于變換模塊中。DWCT變換把哈爾(小波)變換的空域特點(diǎn)和DCT的頻域特點(diǎn)結(jié)合了起來。
在下面公式中,粗體字母例如X或Y用來表示一個(gè)矢量。腳標(biāo)用來表示矢量的維數(shù)。XN表示一個(gè)有N個(gè)元素的矢量,它的第n個(gè)元素表示為XN[n]。圓括號(hào)()用來包含一個(gè)函數(shù)的變量(如f(x)),方括號(hào)[]用來包含一個(gè)矢量元素的序號(hào)(如X[n])。我們用F(X)表示一種線性變換,它也可以表示成一個(gè)矩陣乘法FX,其中F是變換F的矩陣形式。
若XN=[x0,x1,…,xN-1]T和YN=[y0,y1,…,yN-1]T是兩個(gè)具有N個(gè)元素的矢量,那么插入函數(shù)Interleave(XN,YN)會(huì)產(chǎn)生一個(gè)具有2N個(gè)元素的矢量Interleave(XN,YN)=[x0,y0,x1,y1,…,xN-1,yN-1]T.
給定一個(gè)矢量XN=[x0,x1,…,xN-1]T,一個(gè)大小為N的交換函數(shù)TN(XN)有如下矩陣形式的定義TN(XN)=TNXN,TN(XN)=TN([x0,x1,…,xN-1]T)=[x0,x2,…,xN-2,xN-1,…,x3,x1]T.
其中,TN為某矩陣,TN(XN)是可逆的。
DWCT是遞歸定義的,為了說明DWCT和前面使用的DCT及小波變換之間的聯(lián)系,首先提供一個(gè)DCT的遞歸定義。對于一個(gè)2維矢量X2,DCT變換C2(X2)定義為 N維矢量XN的DCT,其中N是2的整數(shù)冪,表示為YN=CN(XN)=CNXN,此處,CN定義了一個(gè)尺寸為N的一維DCT,EN/2和ON/2定義為EN/2[n]=Y(jié)N[2n] ON/2[n]=Y(jié)N[2n+1],n=0,1,…,N/2-1.以及YN=Interleave(EN/2,ON/2).
維數(shù)為N的DCT可基于維數(shù)為N/2的DCT形式來遞歸定義EN/2=CN/2(UN/2)=CN/2UN/2,QN/2=CN/2(VN/2)=CN/2(VN/2),ON/2[n]=QN/2[n]+QN/2[n+1],n=0,1,…,N/2-1其中UN/2[n]=(XN[n]+XN[N-n-1])/2,n=0,1,...,N/2-1,]]>VN/2[n]=(XN[n]-Xn[N-n-1])/(22cos[(2n+1)π/2N]),n=0,1,...,N/2-1,]]>注意,QN/2是一個(gè)只有N/2個(gè)元素的矢量。為了簡化運(yùn)算,QN/2可以擴(kuò)展至N/2+1個(gè)元素,且QN/2[N/2]=0。很明顯的,EN/2[n]、QN/2[n]及CN都由較低維數(shù)N/2的DCTs來定義。
通過上述遞歸定義得到的DCT核CN不是標(biāo)準(zhǔn)的。為了獲得標(biāo)準(zhǔn)的DCT核,即給定維數(shù)N的標(biāo)準(zhǔn)非遞歸定義的DCT,只要將CN的第一行乘以 即可。
哈爾變換(HT)也可以遞歸定義。對于一個(gè)二維矢量X2,H2(X2)和DCT是一樣的 一個(gè)N維矢量XN的HT表示為YN=HN(XN)=HNXN,此處HN定義了一個(gè)尺寸為N的一維HT,EN/2和ON/2的定義為EN/2[n]=Y(jié)N[2n] ON/2[n]=Y(jié)N[2n+1],n=0,1,…,N/2-1.其中YN=Interleave(EN/2,ON/2).
尺寸為N的HT可基于尺寸為N/2的HTs遞歸定義EN/2=HN/2(UN/2)=HN/2UN/2,ON/2=VN/2其中UN/2[n]=(XN[2n]+XN[2n+1])/2,n=0,1,...,N/2-1,]]>VN/2[n]=(XN[2n]-XN[2n+1])/(2),n=0,1,...,N/2-1,]]>很明顯,EN/2和HN由較低階N/2的HTs定義。
和DCT的遞歸定義一樣,上面得到的HT的核HN也不是標(biāo)準(zhǔn)的,將HN的第一行乘上 即得到給定維數(shù)N的標(biāo)準(zhǔn)HT。
本發(fā)明提出的一維DWCT也是遞歸定義的。首先,尺寸為2的DWCT W2(X2)的定義和DCT及HT相同Y2=W2(X2)=C2(X2)=H2(X2)=W2X2=1112-12X2.....(3)]]>下一步,尺寸為N的DWCT可定義為(N是2的整數(shù)冪)YN=WN(XN)=WNXN(4)兩個(gè)矢量EN/2和ON/2定義為EN/2[n]=Y(jié)N[n],ON/2[n]=Y(jié)N[N+n],n=0,1,…,N/2-1.其中YN=EN/2ON/2...........(5)]]>盡管我們?yōu)榱朔奖愫虳CT、HT比較,仍把EN/2和ON/2稱為偶數(shù)部分和奇數(shù)部分,實(shí)際上在DWCT中,偶數(shù)部分和奇數(shù)部分是分離的,并沒有交叉存放。
現(xiàn)在尺寸為N的DWCT可以在尺寸為N/2的DWCTs的基出上遞歸定義EN/2=WN/2(UN/2)=WN/2UN/2(6)QN/2=CN/2(VN/2)=CN/2VN/2(7)ON/2[n]=QN/2[n]+QN/2[n+1] n=0,1,…,N/2-1 (8)其中UN/2[n]=(ZN[n]+ZN[N-n-1])/2]]>=(XN[2n]+XN[2n+1])/2,n=0,1,...,N/2-1,.....(9)]]>VN/2[n]=(ZN[n]-ZN[N-n-1])/(22cos[(2n+1)π/2N])]]>=(XN[2n]-XN[2n+1])/(22cos[(2n+1)π/2N])n=0,1,...,N/2-1,...(10)]]>ZN=TN(XN)=TN(XN)同樣的,我們?nèi)约僭O(shè)QN/2[N/2]=0。
在DCT和HT的遞歸定義中,此處定義的DWCT的核WN是沒有標(biāo)準(zhǔn)化的。在WN的首行乘上 即能得到一個(gè)標(biāo)準(zhǔn)的DWCT核。當(dāng)然,DWCT變換并不是一定需要標(biāo)準(zhǔn)化。在下面進(jìn)一步的討論中,對量化模塊150中使用的量化值的選擇需要考慮DWCT是否是標(biāo)準(zhǔn)的。
雖然WN(XN)看來有點(diǎn)象復(fù)合函數(shù)CN(TN(XN)),但實(shí)際上是有區(qū)別的。TN(XN)僅僅改變在尺寸為N時(shí)XN的數(shù)據(jù)次序,而WN(XN)在每一次遞歸操作中都改變數(shù)據(jù)的次序。從另一角度來看,從DWCT基于DCT和一個(gè)排列函數(shù)進(jìn)行定義這種意義上來說,DWCT可以看作是DCT的一個(gè)變形。排列函數(shù)不能改變輸入的值,只能改變其次序。
離散小波余弦變換因等式(6)、(7)和(9)而得名。在等式(6)和(9)中定義的DWCT的偶數(shù)部分EN/2和哈爾變換的偶數(shù)部分是相同的。等式(7)中奇數(shù)部分ON/2是基于DCT定義的。因此DWCT和HT不同的地方僅僅在于奇數(shù)部分,奇數(shù)部分對應(yīng)于高頻信息。矢量YN的元素被作為DWCT系數(shù)。實(shí)際上,DWCT系數(shù)可以來自于HT系數(shù),只是在其奇數(shù)部分對應(yīng)的有一些附加計(jì)算。因此DWCT也是數(shù)據(jù)的一種多分辨率表示,數(shù)據(jù)的偶數(shù)部分包含輸入數(shù)據(jù)的較低質(zhì)量級別表示。通常意義來說,DWCT是一種小波變換,因?yàn)槊恳淮芜f歸中DWCT都被當(dāng)作一個(gè)經(jīng)過比例操作的哈爾變換。最終的結(jié)果是一個(gè)緊湊的表示,其中最低級別的系數(shù)具有圖象的大部分信息。
這里定義的DWCT是針對來自于重建數(shù)據(jù)的差分圖象而言的,DWCT可以在任何數(shù)據(jù)壓縮方法中應(yīng)用。例如,在不同的數(shù)據(jù)壓縮方法中,如在JPEG或是JPEG2000中,DCT或小波變換分別用DWCT來代替。
顯然,WN(XN)的逆變換存在,而且可以證明,對于某大小為M×N的矩陣WN,下式成立WN(XN)=WNXN以等式(3)中的定義為起始點(diǎn),按照DWCT的遞歸定義能夠獲得任何維數(shù)N的變換形式WN(XN)(N是2的整數(shù)冪),下面討論N=4時(shí)的情形。對一個(gè)矢量X4應(yīng)用等式(9)和(10)可以得到兩個(gè)長度為2的矢量。按照等式(3)給出的W2定義以及等式(5)-(8),可以得到Y(jié)4,根據(jù)等式(4),Y4是對原始矢量X4施用理想DWCT后的結(jié)果。對于一般的N=2n,等式(9)和(10)不斷進(jìn)行重復(fù)估值直至得到長度為2的2n-1個(gè)矢量為止。實(shí)際上,等式(3)-(10)的遞歸定義在每次計(jì)算DWCT變換矩陣時(shí)都需要估計(jì)。另外,變換矩陣WN也能按照等式(4)從原始矢量XN開始,按照N值不斷算出并將值保存下來以做下一步的計(jì)算。遞歸定義的好處是可以應(yīng)用于任何N值。DWCT逆變換的遞歸定義表示為IDWCT,因?yàn)樗械牡仁蕉际蔷€性的,可由等式(3)-(10)推導(dǎo)出來。另外,在某些實(shí)現(xiàn)過程中,逆變換也能夠直接從前向變換中計(jì)算出來并保存下來。
數(shù)組XN×M(N=2n,M=2m)的二維DWCT可以定義為ZN×M={WM{WN(XN×M)}T}T首先對這個(gè)二維數(shù)組的行做變換,即將每一行都當(dāng)作一個(gè)一維矢量;然后對數(shù)組的列做變換,把每一列也當(dāng)作一個(gè)一維矢量。對每一個(gè)色帶分別做DWCT。即每一個(gè)彩色分量都被作為一個(gè)單色色帶被抽取出來,然后對每一個(gè)這樣的色帶分別做DWCT。
當(dāng)圖象的長度不是2的冪時(shí),根據(jù)本發(fā)明,將使用一種低頻擴(kuò)展算法。首先考慮一維情況。若矢量XL={x0,x1,…,xL-1}T,其中,2n-1<L<2n,那么其后將被增添2n-L個(gè)元素xL,xL+1,…,xN-1,擴(kuò)展成一個(gè)新的矢量XN,其尺寸為N=2n。這些新添加的元素可以取任意值,因?yàn)樗鼈冏詈髸?huì)被解碼器丟掉。目前的低頻擴(kuò)展是為了選擇xL,xL+1,…,xN-1的值對XN做DWCT變換,實(shí)際上只有L個(gè)非零系數(shù)有用。
考慮XN的DWCT逆變換XN=XLX(N-L)=WN-1(ZN)=WN-1ZN=WLxLWLx(N-L)W(N-L)xLW(N-L)x(N-L)ZLZ(N-L)]]>把Z(N-L)置為0,下列等式的結(jié)果為XL=wLxLZL,或者 ZL=wLxL-1XLX(N-L)=w(N-L)xLZL=w(N-L)xLwLxL-1XL在上述等式中,X(N-L)的是對原始數(shù)據(jù)XL的一個(gè)低頻擴(kuò)展。在二維情況時(shí),先考慮變換圖象的列矢量,再考慮行矢量(對圖象進(jìn)行轉(zhuǎn)置)。在二維情況下,設(shè)一個(gè)塊大小為J×K,J和K都不是2的整倍數(shù),那么行和列都需要添加元素,使得在變換后的系數(shù)塊中至多有J×K個(gè)非零值。同樣的規(guī)則也適用于其他的變換如DCT、傅立葉變換或小波變換。
為了減小DWCT的計(jì)算量,原始圖象應(yīng)分解成塊,對每一個(gè)塊做DWCT,而不是對整個(gè)圖象做DWCT。我們先考慮一維情況,首先選擇一個(gè)塊尺寸M=2m,然后把給定的矢量XL分解為(L+M-1)/M個(gè)塊。最后一個(gè)塊中可能只有一部分是原始數(shù)據(jù),在這種情況下要使用上述的低頻擴(kuò)展方法來填充塊的剩余部分。二維情況下的擴(kuò)展可以直接把圖象分為大小為M×M個(gè)象素的塊。所有的色帶都要進(jìn)行塊分解操作,以便于所有的色帶圖象都能夠擁有相同的重疊的塊邊界。為了獲得比較好的結(jié)果,典型的塊大小至少是8,雖然塊的尺寸可以選擇的更大一些,但在DWCT的實(shí)際操作中,8×8或16×16的塊大小才是較為合理的。并且,隨著塊尺寸的增加,對計(jì)算資源的要求也會(huì)顯著增加。傳統(tǒng)的小波變換經(jīng)常會(huì)使用較大的塊尺寸,為了得到最好的質(zhì)量甚至把整個(gè)圖象作為一個(gè)大塊?,F(xiàn)存的DWCT的一個(gè)優(yōu)點(diǎn)是不需要使用最大的塊尺寸,而保持小波變換的優(yōu)點(diǎn)。
將一個(gè)圖象分為若干塊的過程同樣也可應(yīng)用于130模塊選用其它變換算法。根據(jù)圖1的流程圖,圖象在進(jìn)入130模塊前需要分塊,以便于變換模塊130和量化模塊140是對塊進(jìn)行操作。在差分模塊120的循環(huán)過程中,一幅被分塊的圖象在經(jīng)過模塊160的逆變換后又合并成一幅圖象。
在量化模塊140中,塊的每一個(gè)系數(shù)都要用量化值進(jìn)行量化,并將結(jié)果圓整到最接近的整數(shù),從而得到定點(diǎn)數(shù)據(jù)。量化值要根據(jù)應(yīng)用的要求來選擇。一個(gè)M×M的圖象塊的DWCT或是其它變換會(huì)產(chǎn)生一個(gè)M×M的系數(shù)塊。如上所述,塊也可能是整個(gè)圖象。對一個(gè)塊做量化的量化值的集合構(gòu)成了一個(gè)量化系數(shù)塊,稱為量化表。表17中是一個(gè)量化塊的結(jié)構(gòu)。表17 量化系數(shù)
例如,設(shè)Q(x,y)是選擇的量化表,C(x,y)是一個(gè)圖象塊的DWCT系數(shù),則量化過程可表達(dá)如下D(x,y)=[C(x,y)/Q(x,y)]其中[X]表示把數(shù)字X圓整到一個(gè)整數(shù)。
量化系數(shù)Q(x,y)的值決定了變換系數(shù)的存儲(chǔ)精度,最高的精度是變換前的數(shù)據(jù)精度。隨著選擇的Q(x,y)的值的提高,每個(gè)系數(shù)存儲(chǔ)的位數(shù)變少。一個(gè)簡便規(guī)則是對于一個(gè)大小為N×N的變換,Q(x,y)的最小實(shí)際值是N。如果使用了一個(gè)非標(biāo)準(zhǔn)化的變換,量化表的第一行Q(0,y)的值也要經(jīng)過相應(yīng)的調(diào)整,以補(bǔ)償變換的第一行沒有標(biāo)準(zhǔn)化帶來的影響。在某些情況下,對于一個(gè)給定圖象會(huì)使用一個(gè)固定數(shù)目的量化表,以便一個(gè)不同的系數(shù)塊可以使用一個(gè)不同的量化表。對于和最高頻率系數(shù)對應(yīng)的系數(shù)塊來說,需要有較大的量化值,例如,可以使用500左右的值。
在反量化模塊150中,整數(shù)值和量化表中的值相乘。反量化模塊150逆向使用量化表。
在排序統(tǒng)計(jì)編碼模塊180中,每個(gè)塊的量化系數(shù)按以下三個(gè)步驟以無損形式編碼上下文預(yù)測185、排序190以及熵編碼195。
傳統(tǒng)的上下文預(yù)測方法可以在模塊185中應(yīng)用。根據(jù)本發(fā)明,有一種改進(jìn)的上下文預(yù)測方法,它使用了一種每一個(gè)色帶以及每一個(gè)系數(shù)都不相同的上下文。對于主要色彩部分P,上下文包括在同一個(gè)塊中的鄰域系數(shù)。對于第一個(gè)次要色帶S,上下文包括同一塊內(nèi)的鄰域系數(shù)以及對應(yīng)到主要色帶上的相同位置的系數(shù)。對于第二個(gè)次要色帶Q來說,上下文包括在同一塊中的鄰域系數(shù)以及對應(yīng)到前兩個(gè)色帶塊上的具有相同位置的系數(shù)。
索引值為0的系數(shù)有著不同的預(yù)測方法,它的預(yù)測值一般是相鄰塊中索引值為0的系數(shù),以及位于主要色帶或是次要色帶中的相同位置系數(shù)。任何階數(shù)的上下文都可以使用,然而,一般都使用二階或是三階。一個(gè)三階上下文由三個(gè)系數(shù)C1,C2,和C3組成,它們來自同一個(gè)塊或是不同塊。一個(gè)二階上下文只包含C1和C2。下面描述的上下文是三階的。二階上下文通過去掉一個(gè)系數(shù)即可得到,這個(gè)系數(shù)通常是上下文里相關(guān)性最弱的一個(gè)。
一個(gè)塊里的系數(shù)可以分為4組,每組的上下文按不同的規(guī)則形成0組0組只包含(0,0)位置的系數(shù)。
1組1組包含第一行除了系數(shù)(0,0)之外的系數(shù)。這組系數(shù)可表示為(0,i),i>0。
2組2組包含第一列中除了系數(shù)(0,0)之外的系數(shù),表示為(j,0),j>0。
3組3組包含所有剩余的系數(shù),表示為(i,j),i>0,j>0。
1組中的主要色彩系數(shù)P0,i(i>0)的上下文由位于同一行且在P0,i之前的3個(gè)系數(shù)構(gòu)成Ck=P0,i-k,k=1,2,3.
如果C3或C2處于塊外部,那么上下文僅由C1構(gòu)成。同樣的,一個(gè)系數(shù)Pj,0在2組中的上下文由同一列上的位于Pj,0之前的3個(gè)系數(shù)構(gòu)成。如果C3或C2在塊的外部,那么上下文也僅由C1構(gòu)成。一個(gè)系數(shù)Pj,i在3組的上下文由位于Pj,i的左上方的3個(gè)鄰域系數(shù)構(gòu)成。
C1=Pj,i-1,C2=Pj-1,i, C3=Pj-1,i-1.
在一個(gè)塊內(nèi),0組、1組、2組和3組的系數(shù)位置由圖3表示。
系數(shù)(0,0)的上下文有不同的構(gòu)成方法。首先,來自主要色帶中不同塊的所有系數(shù)(0,0)都被集合在一起構(gòu)成了一個(gè)索引圖象。這個(gè)索引圖象可以象一個(gè)正常的主要色帶圖象的一個(gè)塊那樣被處理,對這個(gè)索引圖象施用DWCT可以得到一個(gè)系數(shù)塊。1組、2組和3組用上述的上下文進(jìn)行預(yù)測。對于一個(gè)具有H位精度的圖象來說,(0,0)位置的系數(shù)用常量2H-1預(yù)測。
1組中,次要色帶的一個(gè)系數(shù)S0,i(i>0)的上下文由同一行內(nèi)位于S0,i之前的2個(gè)系數(shù)以及對應(yīng)的主要色帶系數(shù)P0,i構(gòu)成。
C1=P0,i,C2=S0,i-1,C3=S0,i-2如果C3位于塊外部,那么上下文僅由C1和C2構(gòu)成。同樣,2組內(nèi)的系數(shù)Sj,0的上下文由同一列內(nèi)位于Sj,0之前的兩個(gè)系數(shù)和對應(yīng)的主要色帶系數(shù)P0,i構(gòu)成。
C1=Pj,0,C2=S0,i-1,C3=S0,i-2如果C3位于塊外部,那么上下文僅包含C1和C2。3組內(nèi)系數(shù)Sj,i的上下文由位于Sj,i左上方的兩個(gè)鄰域系數(shù)和對應(yīng)的主要色帶系數(shù)構(gòu)成Pj,i。
C1=Pj,i,C2=Sj,i-1,C3=Sj-1,i,次要色帶S的系數(shù)(0,0)的上下文的構(gòu)成和主要色帶的系數(shù)(0,0)的上下文構(gòu)成類似。首先,來自次要色帶各個(gè)不同塊的所有系數(shù)(0,0)集結(jié)在一起構(gòu)成一個(gè)索引圖象。這個(gè)索引圖象和一個(gè)普通的次要色帶塊一樣處理,對這個(gè)索引圖象做DWCT產(chǎn)生一個(gè)系數(shù)塊。對于次要色帶使用上述上下文對1組、2組和3組進(jìn)行預(yù)測。精度為H的圖象使用一個(gè)常量2H-1來預(yù)測系數(shù)(0,0)。
1組中的第三個(gè)色帶系數(shù)Q0,i(i>0)的上下文由同一行內(nèi)位于S0,i之前的系數(shù)以及對應(yīng)的第一個(gè)色帶系數(shù)P0,i和第二個(gè)色帶系數(shù)S0,i構(gòu)成。
C1=P0,i,C2=S0,i,C3=Q0,i-1,同樣的,2組中的系數(shù)Qj,0的上下文由同一列內(nèi)位于Qj,0之前的系數(shù)以及對應(yīng)的第一個(gè)色帶系數(shù)Pj,0和第二個(gè)色帶系數(shù)Sj,0構(gòu)成。
C1=Pj,0,C2=Sj,0,C3=Qj-1,0,3組里的系數(shù)Qj,i的上下文由位于Qj,i左方的鄰域系數(shù)以及對應(yīng)的第一個(gè)色帶系數(shù)Pj,i和第二個(gè)色帶系數(shù)Sj,i構(gòu)成。
C1=Pj,i,C2=Sj,i,C3=Qj,i-1,第三個(gè)色帶的系數(shù)(0,0)的上下文的形成和上面描述的第一個(gè)色帶和第二個(gè)色帶的(0,0)系數(shù)的上下文形成類似。
除了由鄰域象素的上下文,DWCT塊中的每一個(gè)系數(shù)的位置也能構(gòu)成一個(gè)上下文。位置上下文表示成C0。
注意一個(gè)圖象的色帶在某個(gè)質(zhì)量級別,例如在4級的貝葉采樣模式下,是不在同一位置上的。在這種情況下,某種色彩分量的一個(gè)象素在其它色彩分量的同一位置找不到一個(gè)對應(yīng)的象素,這可能導(dǎo)致色彩塊不統(tǒng)一,甚至可能導(dǎo)致塊尺寸不相同。塊尺寸問題可以這樣處理,即在為次要色彩產(chǎn)生上下文時(shí)只使用位于左上角的主要系數(shù)的子塊?;蛘?,忽略未對準(zhǔn)問題。此外,此處描述的上下文預(yù)測方法能夠應(yīng)用于任何數(shù)據(jù)壓縮方法。例如,目前的上下文預(yù)測方法可以和與JPEG或是JPEG2000等類似的方法中的熵編碼模塊結(jié)合起來使用。
象素上下文和位置上下文一起為概率模型構(gòu)成一個(gè)完整的上下文。這個(gè)完整的上下文表示為C3C2C1C0。對某一個(gè)系數(shù)X,條件概率P(C3C2C1C0|X)用來在195模塊中對系數(shù)X進(jìn)行編碼。在實(shí)際應(yīng)用中,出于計(jì)算復(fù)雜度的考慮,可以將上下文的最大階數(shù)從4降到3或是2。
為了進(jìn)行有效編碼,在排序模塊190中,二維的象素?cái)?shù)組映射成一個(gè)一維序列。在圖1的流程圖中,排序緊跟著上下文預(yù)測。另外,一旦所有相關(guān)數(shù)據(jù)如系數(shù)、量化表和上下文的映射關(guān)系被保存好,排序就可以在量化和上下文預(yù)測之前進(jìn)行操作了。傳統(tǒng)的排序方法包括在JPEG中使用的zig-zag排序。本發(fā)明定義了另一種排序方法四叉數(shù)排序,由于DWCT把最重要的系數(shù)放置在二維數(shù)組的左上角,因此這種排序方法特別適用于變換后的數(shù)據(jù)。首先,如表18所示,每個(gè)塊都被分為相等大小的4個(gè)區(qū)(PRs),每個(gè)區(qū)都被標(biāo)上了一個(gè)數(shù)字以表示其被訪問的先后順序。
表18優(yōu)先級區(qū)
4個(gè)數(shù)據(jù)區(qū)里,標(biāo)有0的區(qū)域具有最高的優(yōu)先級,標(biāo)有3的區(qū)域具有最低的優(yōu)先級。在碼流中,首先是0區(qū)的數(shù)據(jù),其次是1區(qū)的數(shù)據(jù),接著才是2區(qū)數(shù)據(jù)和3區(qū)數(shù)據(jù)。
運(yùn)用上述的相同方法,每一個(gè)區(qū)域都能進(jìn)一步分成更小的優(yōu)先順序子區(qū)域。這個(gè)過程不斷重復(fù)直至區(qū)域尺寸達(dá)到1×1個(gè)象素大小。表19中顯示了一個(gè)大小為16×16的塊的排序結(jié)果。同樣的方法可以用于任意大小的塊。
表19塊系數(shù)的四叉樹排序
排序模塊的輸出包括一個(gè)表,這個(gè)表顯示了上面圖示中的一維數(shù)組里的系數(shù)順序和二維象素位置之間的相互關(guān)系。
數(shù)據(jù)壓縮方法的最后一步是熵編碼模塊195?;谠?85模塊中確定的上下文產(chǎn)生的條件概率,對經(jīng)過排序、量化的系數(shù)進(jìn)行熵編碼??梢圆捎萌魏我环N無損編碼方法,但優(yōu)先使用算術(shù)編碼。標(biāo)準(zhǔn)的算術(shù)編碼方法在由Mark Nelson和Jean-Loup Gailly合著的參考書籍TheData Compression Book(M & T Books,1995)中有詳細(xì)描述。
要編碼的系數(shù)X的條件概率P(C3C2C1C0|X)首先由一個(gè)先驗(yàn)的常量表進(jìn)行初始化,然后隨特定圖象的積累概率統(tǒng)計(jì)進(jìn)行更新。注意C0是由排序模塊產(chǎn)生的一維數(shù)組的位置索引。若X不在預(yù)測表C3C2C1C0中,則預(yù)測階數(shù)減為3,預(yù)測表C2C1C0被檢驗(yàn)。若X在預(yù)測表C2C1C0中,那么使用概率P(C2C1C0|X)來編碼X。否則,階次降為2,并檢驗(yàn)二階表C1C0。這個(gè)過程一直持續(xù)到階數(shù)為1為止。如果X仍然不在預(yù)測表C0中,那么為所有不在預(yù)測表C3C2C1C0、C2C1C0、C1C0及C0中的值假設(shè)一個(gè)均勻的概率,并按此概率對X編碼。
需要被編碼的值稱為一個(gè)字符。不同階數(shù)的預(yù)測表是不相關(guān)的,它們不包含共同的字符。例如,如果X不在預(yù)測表C3C2C1C0中,那么我們將階數(shù)從4降到3后,在計(jì)算它的字符概率時(shí),所有C3C2C1C0中的字符應(yīng)從預(yù)測表C2C1C0中移走。同樣,若我們將階數(shù)從3降到2(因?yàn)閄不在預(yù)測表C2C1C0中),在計(jì)算它的字符概率時(shí),所有包含于C3C2C1C0和C2C1C0的字符都應(yīng)從預(yù)測表C1C0中移走。在編碼過程中,每個(gè)條件概率都用出現(xiàn)次數(shù)來表示。每次編碼某個(gè)值時(shí),對應(yīng)這個(gè)值的出現(xiàn)次數(shù)都要被更新。
編碼模塊是一個(gè)產(chǎn)生碼流的過程,編碼后的碼流可以進(jìn)行有效的存儲(chǔ)或是在計(jì)算機(jī)網(wǎng)絡(luò)上進(jìn)行有效的傳輸。碼流包括首先是對應(yīng)于基本質(zhì)量等級的編碼系數(shù),接著是對應(yīng)于差分圖象的編碼系數(shù)。另外,碼流可能包括通用的頭信息,例如文件大小、色彩數(shù)目、采樣數(shù)目以及這個(gè)文件的排列信息,如一個(gè)塊序列索引、使用方法的標(biāo)識(shí),如變換和編碼、指定的量化表以及可選的概率表等。
如圖2所示,一個(gè)解壓縮過程基本上是對壓縮過程中的每一步進(jìn)行逆操作,并在最后重建圖象。解壓縮過程需要能夠訪問用來熵編碼的概率表。雖然概率表可以作為頭信息的一部分存儲(chǔ),可是它們一般都很大。所以,在模塊210中概率預(yù)測表由模塊185中使用的一個(gè)類似的上下文預(yù)測過程來產(chǎn)生。然而,上下文預(yù)測過程使用了鄰域象素的信息。循環(huán)280表示的解壓縮過程的一部分,在不同的象素位置循環(huán)操作,逐步建造概率表,循環(huán)280是排序統(tǒng)計(jì)編碼的逆過程。在熵解碼模塊,碼流被恢復(fù)成量化后的變換系數(shù)。逆排序模塊230把一維系數(shù)數(shù)組映射回二維數(shù)組。反量化模塊使用一個(gè)逆反量化表還原量化數(shù)據(jù)。逆變換模塊260把反量化后的數(shù)據(jù)變換成象素值。注意模塊250和260正好使用和差分模塊120的循環(huán)中的模塊150和160中相同的操作過程。
如圖2所示,重新合并過程290去掉了差分模塊120的影響。逆變換模塊260輸出的一個(gè)差分圖象序列,從基本質(zhì)量等級圖象GS開始,表示為{GS,GS-1,…GC},由于經(jīng)歷了有損變換的緣故,此處的G’s和原始圖象IS并不完全相同。GS擴(kuò)大產(chǎn)生一個(gè)更高階圖象HS-1。重建的FS-1,是對IS-1的近似,根據(jù)等式(2)FS-1=GS-1+HS-1獲得。圖象FS-1擴(kuò)大至下一級圖象HS-2,這個(gè)過程不斷重復(fù)直至最高質(zhì)量等級圖象的數(shù)據(jù)被恢復(fù)出來。根據(jù)正常定義HS=0,如圖2的流程圖中描述的合并過程290,其中,如等式(2)所示,加法模塊265將重建的差分圖象G和從較低等級擴(kuò)大得到的圖象H相加。
然而,不一定非要將存于壓縮數(shù)據(jù)中的最高質(zhì)量等級的圖象重建出來。如果由應(yīng)用環(huán)境指定的顯示質(zhì)量等級(DQS),是一種比圖象存儲(chǔ)的質(zhì)量等級還要低的質(zhì)量等級,那么只要恢復(fù)對應(yīng)于DQS等級的差值即可。在這種情況下,圖2中的流程需要改變,以便于從模塊210至260的差分圖象G能夠一次獲得,并在位于下一個(gè)質(zhì)量等級的差分圖象進(jìn)行逆變換前加到前面的擴(kuò)大圖象上。這種方式下,在任何下一個(gè)更高質(zhì)量等級要求的信息被計(jì)算前,所有用來在一個(gè)給定質(zhì)量等級上顯示的圖象要被確定好。
因此,根據(jù)以上步驟,一個(gè)壓縮的圖象能夠通過計(jì)算機(jī)網(wǎng)絡(luò)或是因特網(wǎng)以漸進(jìn)的方式進(jìn)行觀看、下載或是傳輸。更有,瀏覽器能夠在一個(gè)指定的質(zhì)量等級進(jìn)行圖象顯示,而無須理會(huì)對應(yīng)于更高質(zhì)量等級的任何數(shù)據(jù)。
雖然數(shù)字圖象壓縮過程已經(jīng)按指定的采樣定義、變換和排序步驟進(jìn)行了描述,這個(gè)描述僅僅只是本發(fā)明申請的一個(gè)例子而已。對于本發(fā)明技術(shù)的各種變形和修正都將認(rèn)為屬于本發(fā)明發(fā)明的范疇。
本發(fā)明方法可以通過軟件、專用硬件或是軟、硬件結(jié)合來實(shí)現(xiàn)。
權(quán)利要求
1.一種數(shù)字圖象的壓縮方法,把一個(gè)圖象的數(shù)字表示壓縮成一個(gè)一維碼流,圖象的數(shù)字表示包含一個(gè)二維象素?cái)?shù)組,其中每個(gè)象素都和一個(gè)主要色帶及次要色帶相聯(lián)系,其特征在于把圖象表示成一系列的質(zhì)量逐漸遞減的質(zhì)量等級,其中,較高質(zhì)量等級包含的數(shù)據(jù)比較低質(zhì)量等級要多,減少較高的質(zhì)量等級的色帶數(shù)目或減少較高的質(zhì)量等級象素的個(gè)數(shù)即可得到較低的質(zhì)量等級;按照各個(gè)質(zhì)量等級來表示一個(gè)圖象,所述圖象包括一個(gè)基本質(zhì)量等級圖象和差分圖象;某一個(gè)質(zhì)量等級的差分圖象是由兩個(gè)圖象做差分得到,一個(gè)圖象是這個(gè)等級的真實(shí)圖象,另一個(gè)圖象是把在較低質(zhì)量等級的重建圖象進(jìn)行放大得到;通過一個(gè)過程把基本質(zhì)量等級圖象和差分圖象表示成整數(shù)值,這個(gè)過程包括先將圖象變換成與已知函數(shù)相聯(lián)系的一組系數(shù),然后用量化值對這組系數(shù)集合進(jìn)行量化并圓整到整數(shù)值;編碼對應(yīng)于最低質(zhì)量等級和差分圖象的整數(shù)值,用無損排序統(tǒng)計(jì)編碼方法使整數(shù)值的數(shù)字表示產(chǎn)生一個(gè)一維的碼流。
2.根據(jù)權(quán)利要求1所述數(shù)字圖象的壓縮方法,其特征在于確定重建圖象的方法包括把量化過的系數(shù)和量化值相乘進(jìn)行反量化;進(jìn)行和已知函數(shù)相聯(lián)系的逆變換產(chǎn)生一個(gè)重建表示。
3.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于當(dāng)處于RGB空間時(shí),主要色彩成分是指綠色,次要色彩成分是指紅色和藍(lán)色;當(dāng)處于YUV空間時(shí),主要色彩成分是指亮度,次要色彩成分是指色度。
4.根據(jù)權(quán)利要求1所述數(shù)字圖象的壓縮方法,其特征在于質(zhì)量等級序列包括第一個(gè)質(zhì)量等級,其中每一個(gè)象素都包含所有色彩成分;第二個(gè)質(zhì)量等級,其中每一個(gè)象素都包含主要色彩成分和一個(gè)次要色彩成分;第三個(gè)質(zhì)量等級,其中每個(gè)象素都包含一個(gè)主要色彩成分,并且其數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四個(gè)質(zhì)量等級,其中每個(gè)象素都只包含一個(gè)色彩成分,且主要色彩成分的數(shù)量是次要色彩成分?jǐn)?shù)量的兩倍;第五個(gè)質(zhì)量等級源自第一個(gè)質(zhì)量等級,通過把兩個(gè)方向都除以一個(gè)整數(shù)比例因子,減少其水平方向和垂直方向的象素?cái)?shù)目;第六個(gè)質(zhì)量等級源自第四個(gè)質(zhì)量等級,其中每個(gè)象素包含主要色彩成分和一個(gè)次要色彩成分;第七個(gè)質(zhì)量等級來源于第四個(gè)質(zhì)量等級,其中每個(gè)象素都包含一個(gè)主要色彩成分,并且其數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍。
5.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于得到與已知函數(shù)相聯(lián)系的一組系數(shù)的方法是應(yīng)用一個(gè)結(jié)合了頻域特征和多分辯率特征的二維變換,二維變換的過程包括在做變換之前,把最低質(zhì)量等級的數(shù)據(jù)及差分圖象分解成M×M的方塊,M是2的整數(shù)冪;若一個(gè)大小為J×K的塊,J和K都不是2的整數(shù)冪,首先要把它補(bǔ)成一個(gè)M×M的方塊,可通過在J×K的原始塊中補(bǔ)充新元素實(shí)現(xiàn),以便變換后,系數(shù)集合中至多有J×K個(gè)非零值;二維變換包括對二維數(shù)組做一個(gè)行方向的一維變換,再對這個(gè)數(shù)組做一個(gè)列方向上的一維變換;應(yīng)用的一維變換是基于離散余弦變換和一個(gè)排列函數(shù)采用遞歸方式定義的,變換的輸出元素可分為偶數(shù)元素和奇數(shù)元素,偶數(shù)元素包括變換的輸入數(shù)據(jù)中的較低質(zhì)量等級的表示。
6.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于無損排序統(tǒng)計(jì)編碼方法包括量化系數(shù)的上下文預(yù)測、排序以及熵編碼,其中上下文預(yù)測按照各個(gè)色帶分別操作對于主要色彩成分,上下文包括一個(gè)位置索引和主要色彩象素的相鄰系數(shù);對于第一個(gè)次要色彩成分,上下文包括一個(gè)位置索引、本色帶內(nèi)的相鄰系數(shù)以及位于相同位置的主要色帶內(nèi)的系數(shù);對于第二個(gè)次要色彩成分,上下文包括一個(gè)位置索引,本色帶內(nèi)的相鄰系數(shù)以及位于相同位置上的主要色帶系數(shù)和第一個(gè)次要色帶系數(shù);上下文預(yù)測將量化系數(shù)分為四組第一組包含對應(yīng)于最低位置索引的第零個(gè)系數(shù);第二組包括除去第一組數(shù)據(jù)之外的第一行的所有數(shù)據(jù);第三組包括除去第一組數(shù)據(jù)外的所有第一列數(shù)據(jù);第四組包括所有剩余系數(shù)。每一組的上下文都不同;排序操作是把二維數(shù)組排列成一維數(shù)組,排列包括把一個(gè)二維數(shù)組分成4個(gè)大小相等區(qū)域,并設(shè)定訪問順序是左上、右上、左下和右下,并不斷對每一個(gè)區(qū)域重復(fù)分區(qū)直至區(qū)域大小為1×1個(gè)象素為止;熵編碼過程是把圖象的數(shù)字表示壓縮成一個(gè)碼流,數(shù)字表示包含一個(gè)二維的象素?cái)?shù)組,其中每個(gè)象素都包含一個(gè)主要色彩成分和次要色彩成分,熵編碼過程中要用的概率表由上下文預(yù)測方法形成。
7.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于數(shù)字圖象的解壓縮方法包括如下步驟恢復(fù)壓縮中使用的上下文預(yù)測概率表;對碼流進(jìn)行解碼,恢復(fù)對應(yīng)于基本質(zhì)量等級圖象和差分圖象的整數(shù)值;調(diào)整順序,把解碼完的整數(shù)排列成一個(gè)二維數(shù)組形式;把對應(yīng)于基本質(zhì)量等級和差分圖象的每一個(gè)解碼系數(shù)同量化值相乘;做與已知函數(shù)相聯(lián)系的逆變換重建基本質(zhì)量等級和差分圖象的數(shù)字表示;把位于較低質(zhì)量等級的圖象擴(kuò)大至下一個(gè)較高的質(zhì)量等級;在一個(gè)給定的質(zhì)量等級,把差分圖象和擴(kuò)大至這個(gè)等級的圖象相加得到這個(gè)等級的一個(gè)重建的數(shù)字表示。
8.根據(jù)權(quán)利要求7所述數(shù)字圖象的解壓縮方法,其特征在于與已知函數(shù)相聯(lián)系的逆變換是把頻域變換特點(diǎn)和多分辯率變換特征相結(jié)合的一個(gè)變換,該變換是在一個(gè)反離散余弦變換和一個(gè)排列函數(shù)的基礎(chǔ)上進(jìn)行遞歸定義,其中,逆變換的輸入數(shù)據(jù)被分成了偶數(shù)元素和奇數(shù)元素,偶數(shù)元素包含此變換的輸入數(shù)據(jù)中的較低級別的表示。
9.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于質(zhì)量等級通過亞采樣序列來實(shí)現(xiàn),在一個(gè)采樣序列中,采樣數(shù)據(jù)的長度是遞減的,采樣數(shù)據(jù)表示包括一個(gè)二維的象素?cái)?shù)組,其中,每一個(gè)象素都有主要色彩成分和次要色彩成分,這個(gè)序列包括如下特定序列第一種采樣表示,每個(gè)象素都具有所有的色彩成分;第二種采樣表示,每個(gè)象素都具有主要色彩成分和一個(gè)次要色彩成分;第三種采樣表示,每個(gè)象素都有一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四種采樣表示源于第一種采樣表示,不過它二維數(shù)組的維數(shù)除以了一個(gè)整數(shù)比例因子,在水平和垂直方向上相應(yīng)減少了象素的數(shù)目;第五種采樣方法源自第四種采樣表示,每一個(gè)象素都包含主要色彩成分和一個(gè)次要色彩成分;第六種采樣表示源自第四種采樣表示,每個(gè)象素都包含一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍。
10.根據(jù)權(quán)利要求1或者2所述數(shù)字圖象的壓縮方法,其特征在于質(zhì)量等級通過亞采樣序列來實(shí)現(xiàn),在一個(gè)采樣序列中,采樣數(shù)據(jù)的長度是遞減的,采樣數(shù)據(jù)表示包括一個(gè)二維的象素?cái)?shù)組,其中,每一個(gè)象素都有主要色彩成分和次要色彩成分,這個(gè)序列包括如下特定序列第一種采樣表示,每個(gè)象素都具有所有的色彩成分;第二種采樣表示,每個(gè)象素都具有主要色彩成分和一個(gè)次要色彩成分;第三種采樣表示,每個(gè)象素都有一個(gè)主要色彩成分,且主要色彩成分的數(shù)量是每一個(gè)次要色彩成分?jǐn)?shù)量的4倍;第四種采樣表示,每個(gè)象素包含一個(gè)色彩分量,且主要色彩分量的數(shù)量是次要色彩分量數(shù)量的兩倍。
全文摘要
本發(fā)明涉及一種對圖象的數(shù)字表示進(jìn)行壓縮的方法,以一種漸進(jìn)方式把圖象存儲(chǔ)為多個(gè)采樣質(zhì)量等級,較高的質(zhì)量等級只需包含在相鄰的較低質(zhì)量等級基礎(chǔ)上遞增的部分即可,每個(gè)質(zhì)量等級上的數(shù)據(jù)都要經(jīng)過變換、量化和熵編碼,本發(fā)明中提供的離散小波余弦變換結(jié)合了離散余弦變換的頻域變換特征和小波變換的空域變換特點(diǎn),采樣質(zhì)量等級序列為圖象提供了一種多分辯率的表示方式,本發(fā)明還提出了一種新穎的上下文選擇方法對不同的色彩成分和不同位置的系數(shù)進(jìn)行不同的處理,在互連網(wǎng)上可以對在一個(gè)給定質(zhì)量等級的圖象以漸進(jìn)的模式進(jìn)行解壓縮,并獲得漸進(jìn)的下載和傳輸效果。
文檔編號(hào)H04N1/41GK1374789SQ0210479
公開日2002年10月16日 申請日期2002年2月20日 優(yōu)先權(quán)日2001年2月21日
發(fā)明者胡笑平 申請人:胡笑平