專利名稱:以無損的方式編碼數(shù)字圖像數(shù)據(jù)的設(shè)備和方法
背景技術(shù):
1.發(fā)明領(lǐng)域本發(fā)明涉及圖像處理和壓縮。更具體地說,本發(fā)明涉及頻率領(lǐng)域中對視頻圖像和音頻信息的無損編碼。
2.相關(guān)技術(shù)描述在一般的數(shù)字信號處理的原理中,數(shù)字圖片處理占有很重要的地位。人類視覺感知的重要性極大地激勵了對本領(lǐng)域以及數(shù)字圖片處理科學(xué)的興趣和進(jìn)展。在發(fā)送及接收視頻信號的領(lǐng)域中,例如用于投影影片及電影,已對圖像壓縮技術(shù)做了多種改進(jìn)。許多目前的或者提議的視頻系統(tǒng)使用數(shù)字編碼技術(shù)。該領(lǐng)域的這些方面包括圖像編碼、圖像復(fù)原以及圖像特征選擇。圖像編碼表示試圖將圖片以有效的方式在數(shù)字通信信道上發(fā)射,使用盡可能少的位以最小化所要求的帶寬,與此同時,將失真維持在一定的限度內(nèi)。圖像復(fù)原表示努力恢復(fù)目標(biāo)的真實(shí)圖像的工作。編碼后的圖像在通信信道上發(fā)射會由于多種因素而失真。在從目標(biāo)創(chuàng)建圖像時,就可能產(chǎn)生失真源。特征選擇是指選擇圖片的某些屬性。這些屬性可能是識別、分類以及寬泛內(nèi)容中的判決所要求的。
對于視頻的數(shù)字編碼,例如在數(shù)碼相機(jī)中進(jìn)行的,是一個受益于改進(jìn)的圖像壓縮技術(shù)的領(lǐng)域。數(shù)字圖像壓縮一般可以分成兩類無損方法和有損方法。無損圖像可以不丟失任何信息而被恢復(fù)。有損方法會導(dǎo)致一些信息不可恢復(fù)地丟失,這要根據(jù)壓縮率、壓縮算法的質(zhì)量以及算法的實(shí)施。通常,有損壓縮的方法考慮獲得經(jīng)濟(jì)的數(shù)字影院所期望的壓縮率。為了達(dá)到數(shù)字影院的質(zhì)量等級,該壓縮方法需要提供視覺無損的性能等級。這樣,盡管壓縮處理仍會導(dǎo)致信息的數(shù)學(xué)丟失,但是由這種丟失而引起的圖像失真在一般的觀賞環(huán)境下是不會被觀賞者所察覺的。
現(xiàn)存的數(shù)字圖像壓縮技術(shù)已被發(fā)展用于其它應(yīng)用,即電視系統(tǒng)。這些技術(shù)已經(jīng)設(shè)計為兼顧適合于所需的應(yīng)用,卻沒有滿足用于影院表現(xiàn)所需要的質(zhì)量要求。
數(shù)字影院壓縮技術(shù)需要提供看電影者之前已經(jīng)體驗(yàn)過的視覺質(zhì)量。理想地,數(shù)字影院的視覺質(zhì)量要試圖超越高質(zhì)量的發(fā)行影印的影片。同時,壓縮技術(shù)應(yīng)該具有實(shí)用的高編碼效率。如這里所定義的,編碼效率是指壓縮圖像質(zhì)量滿足某一質(zhì)量標(biāo)準(zhǔn)所需要的比特率。更進(jìn)一步,該系統(tǒng)和編碼技術(shù)需要內(nèi)置足夠的靈活性以容納不同的格式,并且還應(yīng)該是經(jīng)濟(jì)的,也就是,一種小大小并且有效的解碼器或者編碼器處理。
許多現(xiàn)存的壓縮技術(shù)可提供顯著的壓縮程度,但是會導(dǎo)致視頻信號質(zhì)量的下降。一般而言,用于發(fā)送壓縮的信息的技術(shù)要求壓縮的信息以恒定的比特率被發(fā)送。
一種能提供顯著的壓縮程度并保持期望的視頻信號質(zhì)量水平的壓縮技術(shù)使用編碼的離散余弦變換(DCT)系數(shù)數(shù)據(jù)的自適應(yīng)大小的塊和子塊。該技術(shù)下面就稱為自適應(yīng)塊大小離散余弦變換(ABSDCT)方法。該技術(shù)在美國專利號5,021,891中公開,題為“自適應(yīng)塊大小圖像壓縮方法及系統(tǒng)”(“AdaptiveBlock SizeImage Compression Method And System”),轉(zhuǎn)讓給本申請的受讓人并通過引用結(jié)合于此。DCT技術(shù)還在美國專利No.5,107,345中公開,題為“自適應(yīng)塊大小圖像壓縮方法及系統(tǒng)”(“Adaptive Block Size Image CompressionMethod And System”),轉(zhuǎn)讓給本申請的受讓人并通過引用結(jié)合于此。此外,使用ABSDCT技術(shù)和差分四叉樹變換技術(shù)的結(jié)合在美國專利No.5,452,104中公開,題為“自適應(yīng)塊大小圖像壓縮方法及系統(tǒng)”(“Adaptive Block Size ImageCompression Method And System”)同樣轉(zhuǎn)讓給本申請的受讓人并通過引用結(jié)合于此。這些專利中公開的系統(tǒng)使用稱之為“幀內(nèi)”編碼的方法,該方法中圖像數(shù)據(jù)的每一幀的編碼不考慮任何其它幀的內(nèi)容。使用ABSDCT技術(shù),達(dá)到的數(shù)據(jù)速率可從每秒15億比特左右降至大約每秒5000萬比特,而圖像質(zhì)量卻不出現(xiàn)可識別的下降。
ABSDCT技術(shù)可用于壓縮黑白或彩色圖像,或者是表示圖像的信號。彩色輸入信號可以是YIQ格式,其中Y是亮度,或輝度采樣而I和Q是色度或彩色采樣,對于每一個為4∶4∶4或者其他格式。也可以使用其它已知的格式比如YUV、YCbCr或RGB格式。由于眼睛對于色彩的空間靈敏度較低,多數(shù)的研究結(jié)果表明在垂直和水平方向上對彩色分量取4倍因子的子采樣是合理的。因而,一個視頻信號可是用4個亮度采樣和兩個色度采樣來表示。
使用ABSDCT,一個視頻信號一般將被分成像素塊以進(jìn)行處理。對于每個塊,亮度和色度分量被送到一塊大小分配元件,或者一塊交錯器。例如,一16×16(像素)的塊被呈現(xiàn)給該塊交錯器,塊交錯器在每個16×16塊中排列或組織圖像采樣以產(chǎn)生用于離散余弦變換(DCT)分析的數(shù)據(jù)塊和合成的子塊。DCT操作是將時間和空間采樣的信號轉(zhuǎn)換成同一信號的頻率表示的一種方法。通過轉(zhuǎn)換成頻率表示,DCT技術(shù)表現(xiàn)出了允許很高程度的壓縮,因?yàn)榱炕骺梢栽O(shè)計成利用圖像的頻率分布特性。在一個較佳實(shí)施例中,一個16×16DCT被應(yīng)用于第一次排序,4個8×8DCT被應(yīng)用于第二排序,16個4×4DCT被應(yīng)用于第三排序而64個2×2DCT被應(yīng)用于第四排序。
DCT操作降低了視頻源中固有的空間冗余。在進(jìn)行DCT之后,大多數(shù)的視頻信號能量將集中到少數(shù)幾個DCT參數(shù)上。附加變換,差分四叉樹變換,可用于降低DCT參數(shù)中的冗余。
對于16×16塊和每一個子塊,分析DCT參數(shù)值和DQT值(如果使用DQT)以確定編碼該塊或子塊所要求的比特的數(shù)量。然后,選擇要求最少數(shù)量的比特來實(shí)現(xiàn)編碼的塊或子塊的組合來表示圖像分段。例如,2個8×8子塊、6個4×4子塊和8個2×2子塊可被選擇用于表示圖像分段。
選擇的塊或子塊的組合然后被適當(dāng)?shù)嘏帕械揭粋€16×16塊中。DCT/DQT參數(shù)值可能經(jīng)過頻率加權(quán)、量化和編碼(比如可變長度編碼)以準(zhǔn)備用于傳送。盡管上述的ABSDCT技術(shù)表現(xiàn)得相當(dāng)之好,但它的計算強(qiáng)度大。
另外,盡管使用ABSDCT是視覺無損的,但是它有時希望以精確地和其編碼一樣的方式來恢復(fù)數(shù)據(jù)。例如,用于控制和存檔要求以能精確恢復(fù)到原來的域中的方式來壓縮數(shù)據(jù)。
傳統(tǒng)的,用于圖像的無損壓縮系統(tǒng)包括預(yù)測器,預(yù)測器估計將要進(jìn)行編碼的當(dāng)前像素的值。剩余項(xiàng)像素作為真實(shí)和預(yù)測的像素之間的方差而被獲得。剩余項(xiàng)像素接下來被進(jìn)行熵編碼并保存或進(jìn)行發(fā)送。由于預(yù)測除去了像素之間的關(guān)聯(lián),剩余項(xiàng)像素具有降低的動態(tài)范圍,該動態(tài)范圍為特征雙邊指數(shù)(拉普拉斯)分布。因此該壓縮。對于剩余項(xiàng)的壓縮的量同時取決于預(yù)測和后來的編碼方法。大多數(shù)通常使用的預(yù)測方法為差分脈沖編碼調(diào)制(DPCM)以及它的變種如自適應(yīng)DPCM(ADPCM)。
使用基于像素的預(yù)測所帶來的一個問題是剩余項(xiàng)仍然具有很高的能量。這是由于在預(yù)測過程中,實(shí)際上僅使用很小數(shù)量的相鄰的像素。因此,在改進(jìn)基于像素的預(yù)測方案的編碼效率方面還有很大的空間。
發(fā)明概述本發(fā)明的實(shí)施例描述了一種以無損的方式進(jìn)行數(shù)字圖像和視頻數(shù)據(jù)編碼以實(shí)現(xiàn)壓縮的系統(tǒng)。該系統(tǒng)是混合式的,意謂該系統(tǒng)具有以有損的方式壓縮所述數(shù)據(jù)的一部分以及以無損的方式壓縮余項(xiàng)數(shù)據(jù)的另一部分。對于有損部分,該系統(tǒng)使用自適應(yīng)塊大小離散余弦變換(ABSDCT)算法。該ABSDCT系統(tǒng)壓縮所述數(shù)據(jù)并提供高視覺質(zhì)量和高壓縮比率。余項(xiàng)圖像作為源圖像和從所述ABSDCT系統(tǒng)中解壓縮得到的圖像的方差被獲得。該余項(xiàng)使用Golomb-Rice編碼算法進(jìn)行無損編碼。由于基于視覺的自適應(yīng)塊大小和對于DCT系數(shù)的量化,剩余項(xiàng)具有很低的能量,這樣就提供了較好的整體無損壓縮比率。
該ABSDCT系統(tǒng)在影院質(zhì)量上能實(shí)現(xiàn)高壓縮比率。由于它是基于塊的,它能比其他任何基于像素的方案更好地去除像素之間的相關(guān)性。因此它在這里將要描述的無損系統(tǒng)中用作預(yù)測器。結(jié)合該預(yù)測器增加一個無損編碼系統(tǒng)就形成一個混合無損壓縮系統(tǒng)。需要注意的是,該系統(tǒng)能夠壓縮靜止的圖像和運(yùn)動的圖像。如果是靜止的圖像,僅有該ABSDCT壓縮數(shù)據(jù)和熵編碼的剩余項(xiàng)數(shù)據(jù)被用作壓縮輸出。對于運(yùn)動的序列,會做一個判決以確定是使用幀內(nèi)還是幀間壓縮。例如,如果f(t)表示時刻t的圖像幀,F(xiàn)(t)和F(t+Δt)分別表示在時刻t和t+Δt圖像幀的DCT。注意,Δt表示兩個連續(xù)幀之間的時間間隔。
本發(fā)明是體現(xiàn)在一個允許以精確地和編碼數(shù)據(jù)相同的方式來恢復(fù)數(shù)據(jù)的壓縮數(shù)據(jù)的裝置及方法中。實(shí)施例包括一進(jìn)行幀內(nèi)編碼、幀間編碼或者兩者混合的系統(tǒng)。該系統(tǒng)是基于質(zhì)量的系統(tǒng),使用離散余弦變換系數(shù)數(shù)據(jù)的自適應(yīng)大小的塊和子塊。一個像素數(shù)據(jù)塊被輸入到一個編碼器。該編碼器包括一個塊大小分配(BSA)元件,其將輸入的像素塊進(jìn)行分段以用于處理。塊大小的分配是基于輸入塊和進(jìn)一步分割的子塊的方差。通常,方差較大的區(qū)域被分割成更小的塊,而方差較小的區(qū)域不再進(jìn)行子分割,倘著塊和子塊的平均值落入不同的預(yù)先確定的范圍中。這樣,首先塊的方差門限根據(jù)它的平均值從它的標(biāo)稱值進(jìn)行修改,接下來塊的方差值與該門限值進(jìn)行比較,如果方差值大于門限值,則該塊進(jìn)行子分割。
塊大小分配被提供給一變換元件,它將像素數(shù)據(jù)變換成頻域數(shù)據(jù)。該變換僅在通過塊大小分配選擇的塊和子塊上進(jìn)行。對于AC元件,變換數(shù)據(jù)接下來通過量化和串行化來進(jìn)行定標(biāo)。變換數(shù)據(jù)的量化是基于圖像質(zhì)量度量,例如調(diào)整對比度的標(biāo)度因子、系數(shù)計數(shù)、碼率失真,塊大小分配密度和/或以前的標(biāo)度因子。串行化,例如Z字形掃描,是基于建立對于同一值的最長的可能的游程長度。數(shù)據(jù)流接下來由可變長度編碼器進(jìn)行編碼以準(zhǔn)備用于傳送。編碼可以是Huffman編碼,或者是基于指數(shù)分布的編碼,比如Golomb-Rice編碼。
使用諸如ABSDCT的混合壓縮系統(tǒng),可作為像素或者DCT值的良好的預(yù)測器。因此它能得到比任何使用基于像素的預(yù)測更高的無損壓縮比率。有損部分提供數(shù)字影院質(zhì)量的結(jié)果,即壓縮產(chǎn)生的一個文件是視覺無損的。對于無損部分,不同于Huffman編碼,Golomb-Rice編碼不要求生成任何先驗(yàn)編碼。因此,它不需要像Huffman編碼那樣保存一個大容量的編碼本。這樣就能更有效率地使用芯片的資源,因此,用硬件實(shí)現(xiàn)的芯片大小可以縮小。另外,Golomb-Rice編碼比Huffman編碼實(shí)現(xiàn)起來更加簡單。而且,由于DCT參數(shù)或剩余項(xiàng)具有自然的指數(shù)分布的特性,Golomb-Rice編碼比Huffman編碼實(shí)現(xiàn)更高的編碼效率。更進(jìn)一步,由于壓縮系統(tǒng)的有損部分在塊的子分割中使用視覺重要信息,在剩余項(xiàng)編碼中會繼承內(nèi)容模型。這一點(diǎn)很重要,因?yàn)檫@樣就不需要額外的存儲寄存器來收集用于剩余項(xiàng)編碼的相關(guān)內(nèi)容數(shù)據(jù)。由于不使用任何的運(yùn)動估計,該系統(tǒng)實(shí)現(xiàn)起來也非常簡單。
提出一種用于無損壓縮和編碼表示圖像信息的信號的裝置和方法。表示圖像信息的信號被壓縮以創(chuàng)建壓縮版本的圖像。圖像的壓縮版本被量化,并創(chuàng)建該一個有損版本的圖像。壓縮版本的圖像同樣進(jìn)行串行化以創(chuàng)建一個串行化的、量化的、壓縮的版本的圖像。該版本的圖像接下來被解壓縮,并確定源圖像和解壓縮版本之間的區(qū)別,并創(chuàng)建一個剩余項(xiàng)版本的圖像。有損版本的圖像和余項(xiàng)版本的圖像可被分開地輸出或者組合地輸出,其中將解壓縮的有損版本的圖像和剩余項(xiàng)版本的圖像相結(jié)合就實(shí)質(zhì)上與源圖像相同。
提出了一種無損壓縮和編碼表示圖像信息的信號的方法。生成一個有損數(shù)據(jù)文件和一個剩余項(xiàng)壓縮數(shù)據(jù)文件。當(dāng)有損數(shù)據(jù)文件和余項(xiàng)壓縮數(shù)據(jù)文件被組合時,創(chuàng)建一個實(shí)質(zhì)上與源數(shù)據(jù)文件一致的無損數(shù)據(jù)文件。
因而,一個實(shí)施例的一個方面提供一種有效提供無損壓縮的設(shè)備和方法。
一個實(shí)施例的另一個方面以有益于控制和存檔的目的來無損壓縮數(shù)字圖像和音頻信息。
一個實(shí)施例的又一方面提供一種基于幀間的無損壓縮系統(tǒng)。
一個實(shí)施例的再一方面提供一種基于幀內(nèi)的無損壓縮系統(tǒng)。
附圖概述本發(fā)明的特征和優(yōu)勢將會通過下面結(jié)合附圖所作的詳細(xì)描述后邊的更明顯,在附圖中,相同的標(biāo)號始終標(biāo)示相同的特征,其中
圖1一個圖像壓縮和處理系統(tǒng)中的編碼部分的框圖;圖2是一個圖像壓縮和處理系統(tǒng)中的解碼部分的框圖;圖3圖示了涉及在基于方差的塊大小分配的處理步驟的流程圖;圖4a圖示了DCT系數(shù)矩陣中Y分量游程長度的指數(shù)分布;圖4b圖示了DCT系數(shù)矩陣中Cb分量游程長度的指數(shù)分布;圖4c圖示了DCT系數(shù)矩陣中Cr分量游程長度的指數(shù)分布;圖5a圖示了Y分量幅度大小或DCT系數(shù)矩陣中Y分量幅度大小的指數(shù)分布;圖5b圖示了Cb分量幅度大小或DCT系數(shù)矩陣中Cb分量幅度大小的指數(shù)分布;圖5b圖示了Cr分量幅度大小或DCT系數(shù)矩陣中Cr分量幅度大小的指數(shù)分布;圖6圖示了Golomb-Rice編碼處理;圖7圖示了用于Golomb-Rice編碼的設(shè)備;圖8圖示了編碼DC分量值的處理;圖9圖示了用于無損壓縮的設(shè)備;以及圖10圖示了混合無損壓縮的方法。
較佳實(shí)施例詳述為了實(shí)現(xiàn)數(shù)字信號的數(shù)字傳輸并利用其優(yōu)勢,通常需要使用一些形式的信號壓縮。當(dāng)在一個結(jié)果圖像中實(shí)現(xiàn)高壓縮比率時,維持圖像的高質(zhì)量也同樣重要。并且,用于微型硬件實(shí)現(xiàn)時還期望其計算效率,這在很多應(yīng)用中是很重要的。
在詳細(xì)解釋本發(fā)明的一個實(shí)施例之前,需要理解本發(fā)明并不限于應(yīng)用于在下面的描述中說明的或者在附圖中圖示的詳細(xì)結(jié)構(gòu)和對于部件的安排。本發(fā)明能用于其他實(shí)施例并以不同的方式實(shí)現(xiàn)。同樣,需要理解這里使用的措辭和術(shù)語是為了描述的目的而不應(yīng)該被視為限制。
一個實(shí)施例中的一個方面使用的圖像壓縮是基于離散余弦變換(DCT)技術(shù),例如未決的美國專利申請“對比度敏感的基于方差的自適應(yīng)塊大小DCT圖像壓縮”(“Contrast Sensitive Variance Based Adaptive Block Size DCTImage Compression”)中所公開的,序列號為No.09/436,085,提交于1999年11月8日,轉(zhuǎn)讓給本申請的受讓人并通過引用結(jié)合于此。使用DCT的圖像壓縮和解壓縮系統(tǒng)在共同待決的美國專利“基于質(zhì)量的圖像壓縮”(“Quality BasedImage Compression”)中描述,序列號為No.09/494,192,提交于2000年1月28日,轉(zhuǎn)讓給本申請的受讓人并通過引用結(jié)合于此。通常,一個在數(shù)字領(lǐng)域中進(jìn)行處理的圖像由分割成互不重疊的塊的一個矩陣的像素數(shù)據(jù)組成,大小為N×N。在每一個塊上可進(jìn)行兩維的DCT。該兩維的DCT由下列關(guān)系定義X(k,l)=α(k)-β(k)N*MΣm=0N-1Σn=0N-1x(m,n)cos[(2m+1)πk2N]cos[(2n+1)πl2N],0≤k,l≤N-1]]>其中 以及x(m,n)是在一個N×M塊中在位置(m,n)上的像素,而X(k,l)是對應(yīng)的DCT系數(shù)。
由于像素值是非負(fù)值,DCT分X(0,0)一直是正的并且一般具有大部分的能量。實(shí)際上,對于典型的圖像,大部分的變換能量集中在分量X(0,0)的周圍。這種能量壓縮的特性使DCT技術(shù)成為一種具有吸引力的壓縮方法。
該圖像壓縮技術(shù)使用對比度自適應(yīng)編碼來實(shí)現(xiàn)進(jìn)一步的比特率的降低。通過觀察發(fā)現(xiàn)大多數(shù)自然圖像由相對緩慢變化的平滑區(qū)域和諸如目標(biāo)邊界和高對比度紋理的繁變區(qū)域組成。對比度自適應(yīng)編碼方案利用此點(diǎn)給繁變區(qū)域分配較多的位而向不太繁忙的區(qū)域分配較少的位。
對比度自適應(yīng)方法使用幀內(nèi)編碼(空間處理)而不是幀間編碼(空間-時間處理)。幀間編碼固有地要求更為復(fù)雜的處理電路,還要求多個幀緩沖區(qū)。在許多應(yīng)用中,實(shí)際實(shí)現(xiàn)中需要降低復(fù)雜度。幀內(nèi)編碼在能使空間-時間編碼方案失效及表現(xiàn)很差的環(huán)境中也能使用。例如,由于機(jī)械快門使積分時間相對較短,每秒24幀的電影就能分入這一類。較短的積分時間允許更高程度的時域混疊。對于快速的運(yùn)動,由于它變成急動的,因而破壞了對于幀與幀之間相關(guān)性的假設(shè)。當(dāng)同時使用50Hz和60Hz的電源線頻率時,幀內(nèi)編碼還易于進(jìn)行標(biāo)準(zhǔn)化。電視現(xiàn)在就是以50Hz或者60Hz進(jìn)行發(fā)送的。使用幀內(nèi)編碼,作為數(shù)字方案能適應(yīng)50Hz以及60Hz的操作,或者通過相對于空間分辨率對幀速率折衷甚至能適應(yīng)每秒24幀的電影。
為了圖像處理,DCT操作是在分割成一個矩陣中的互不重疊的塊的像素數(shù)據(jù)上進(jìn)行的。需要注意,盡管這里討論的塊的大小是N×N,可以預(yù)見多種塊大小都是可以使用的。例如,可以使用N×M的塊大小,其中N和M是整數(shù)并且M可以大于或者小于N。另一個重要的方面是該塊可以分割成至少一層子塊,例如N/i×N/i、N/i×N/j、N/i×M/j等等,其中i和j是整數(shù)。另外,這里討論的示范塊大小是一個具有對應(yīng)的DCT塊和子塊的16×16像素塊。還可以預(yù)見各種其他整數(shù)例如兩個偶數(shù)或者兩個奇數(shù)都可以使用,比如9×9。
圖1和2圖示了一個結(jié)合可配置串行器概念的圖像處理系統(tǒng)100。圖像處理系統(tǒng)100包括壓縮所接收的視頻信號的編碼器104。壓縮的信號使用傳輸信道或物理媒體108發(fā)送,并由解碼器112接收。解碼器112將接收的編碼數(shù)據(jù)解碼成圖像樣本,圖像樣本接下來可能被展示。
通常,一個圖像被分成多個像素塊以進(jìn)行處理。一個色彩信號可使用RGB到Y(jié)C1C2轉(zhuǎn)換器116從RGB空間轉(zhuǎn)化到Y(jié)C1C2空間,其中Y是亮度或者輝度分量,而C1和C2是色度,或色彩分量。因?yàn)檠劬τ谏实牡涂臻g敏感度,許多系統(tǒng)在水平和垂直方向上用4倍因子來子采樣C1和C2分量。然而,子采樣是不需要的。一個完整分辨率的圖像,即所知的4∶4∶4格式,可能在一些應(yīng)用比如所稱的“數(shù)字影院”中非常有用或者是必須的。兩種可能的YC1C2表示是,YIQ表示和YUV表示,兩者都是業(yè)內(nèi)所熟知的。也可以使用YVU表示的一種變化即所稱的YCbCr。這可以進(jìn)一步分成奇偶分量。因而,在一個實(shí)施例中使用Y-偶、Y-奇、Cb-偶、Cb-奇、Cr-偶、Cr-奇來表示。
在一個較佳實(shí)施例中,處理奇偶Y、Cb和Cr分量中的每一個而不進(jìn)行子采樣。這樣,一個16×16像素塊的6個分量中的每一個的輸入被提供給編碼器104。為了說明,圖示了用于Y-偶分量的編碼器104。類似的編碼器被用于Y-奇分量,和奇偶Cb和Cr分量。編碼器104包括塊大小分配器120,它進(jìn)行塊大小的分配以準(zhǔn)備用于視頻壓縮。該塊大小分配器120基于該塊中的圖像的可感知特征確定對16×16塊的分解。塊大小分配將每個16×16塊子分割成更小的塊,比如8×8、4×4和2×2,該分割是以一種根據(jù)16×16塊中的活動性的四叉樹形式。塊大小分配器120生成四叉樹數(shù)據(jù),稱為PQR數(shù)據(jù),其長度可在1至21比特之間。這樣,如果塊大小分配確定一個16×16塊需要分割,則設(shè)置R位PQR數(shù)據(jù)并在其后加上4位附加的Q數(shù)據(jù),4位Q數(shù)據(jù)對應(yīng)于分成的4個8×8塊。如果塊大小分配確定任何8×8塊需要進(jìn)行子分割,則對于每個進(jìn)行子分割的8×8塊再增加4位P數(shù)據(jù)。
現(xiàn)在參考圖3,提供了詳細(xì)表示塊大小分配元件120的操作的流程圖。塊的方差被視為判決是否子分割一個塊時的度量。從步驟202開始,讀取一個16×16的像素塊。在步驟204,計算16×16塊的方差v16,其方差用下式計算var=1N2Σi=0N-1Σj=0N-1xi,j2-(1N2Σi=0N-1Σj=0N-1xi,j)2]]>其中N=16,而xi,j是N×N塊中位于ith行jth列的像素。在步驟206,首先如果塊的平均值在兩個預(yù)先確定的值之間,則修改方差門限T16以提供新的方差門限T’16。接下來塊方差和新的門限T’16進(jìn)行比較。
如果方差v16不大于門限T16,則在步驟208,16×16塊的起始地址被寫入臨時存儲器,而R位PQR數(shù)據(jù)被設(shè)置為0以表示該16×16塊沒有被子分割。該算法接下來讀取下一個16×16的像素塊。如果方差v16大于門限T16,則在步驟210,R位的PQR數(shù)據(jù)被設(shè)置為1以表示該16×16塊被子分割為4個8×8塊。
這4個8×8塊,i=1∶4,考慮可能會進(jìn)行進(jìn)一步的子分割,如步驟212所示。對于每一個8×8塊,在步驟214中計算方差v8i。在步驟216中,首先如果塊的平均值在兩個預(yù)先確定的值之間則修改方差門限T8以提供一個新的門限T’8,接下來塊方差與新的門限進(jìn)行比較。
如果方差v8i不大于門限T8,則在步驟218,8×8塊的起始地址被寫入臨時存儲器,而對應(yīng)的Q位,Qi被設(shè)置為0。然后處理下一個8×8塊。如果方差v8i大于門限T8,則在步驟220,對應(yīng)的Q位,Qi被設(shè)置為1以表示該8×8塊將被子分割成4個4×4塊。
這4個4×4塊,ji=1∶4,考慮可能會進(jìn)行進(jìn)一步的子分割,如步驟222所示。對于每一個4×4塊,在步驟224中計算方差v8ij。在步驟226中,首先如果塊的平均值在兩個預(yù)先確定的值之間則修改方差門限T4以提供一個新的門限T’4,接下來塊方差與新的門限進(jìn)行比較。
如果方差v4ij不大于門限T4,則在步驟228,該4×4塊的首地址被寫入,且對應(yīng)的P位,Pij被設(shè)置為0。然后處理下一個4×4塊。如果方差v4ij大于門限T4,則在步驟230中,對應(yīng)的P位,Pij被設(shè)置為1以表示該4×4塊將被進(jìn)一步子分割成4個2×2塊。另外,這4個2×2塊被寫入臨時存儲器中。
門限T16、T8和T4可以是預(yù)先確定的常量。這稱為硬判決。或者,也可以使用自適應(yīng)或者軟判決。例如,軟判決根據(jù)2N×2N塊的平均像素值來改變用于方差的門限,其中N可為8、4或2。這樣,平均像素值的函數(shù)可被用作為門限。
為了說明,考慮以下的例子。將預(yù)先確定的用于Y分量的方差門限設(shè)為50、1100和880,分別用于16×16,8×8和4×4的塊。換句話說,T16=50,T8=1100而T4=880。將平均值的范圍設(shè)為80到100。假設(shè)計算出16×16塊的方差為60。由于60大于T16,而平均值90在80到100之間,該16×16塊被子分割成4個8×8子塊。假設(shè)計算出的8×8塊的方差為1180、935、980和1210。由于兩個8×8塊的方差超過了T8,這兩個塊將進(jìn)一步被子分割以生成總共8個4×4子塊。最后,假設(shè)8個的4×4塊的方差為620、630、670、610、590、525、930和690,對應(yīng)的平均值為90、120、110、115。由于第一個4×4子塊的平均值落在范圍(80,100)之內(nèi),它的門限值將被降低為T’4=200,比880要小。所以,該4×4子塊和第七個4×4子塊子塊一樣將進(jìn)行子分割。
注意,類似的處理將被用于分配亮度分量Y-奇以及色彩分量Cb和Cr的塊大小。彩色分量可以水平地、垂直地進(jìn)行一抽選,或者兩者皆是。
另外,需要注意盡管塊大小分配被描述成一個自頂向下的方法,即最大的塊(本例子中是16×16)首先進(jìn)行估計,使用自底向上的方法也是可以的。自底向上的方法將首先估計最小的塊(本例子中是2×2)。
回到圖1,PQR數(shù)據(jù)連同所選擇的塊的地址被提供給DCT元件124。DCT元件124使用PQR數(shù)據(jù)在選擇的塊上進(jìn)行適當(dāng)大小的離散余弦變換。僅僅選擇的塊需要進(jìn)行DCT處理。
圖像處理系統(tǒng)100還包括DQT元件128用于降低DCT的DC系數(shù)中的冗余。DC系數(shù)位于每一個DCT塊的左上角。通常,與AC系數(shù)比較,DC系數(shù)比較大。由于大小上的方差使得很難設(shè)計出一個有效的可變長度編碼器。因此,降低DC系數(shù)中的冗余是有益的。
DQT元件128在DC系數(shù)上進(jìn)行2-D的DCT,每次2×2。起始于4×4塊中的2×2塊,一個2-D的DCT在4個DC系數(shù)上進(jìn)行。該2-D的DCT稱為4個DC系數(shù)的差分四元樹變換,或者DQT。接下來,該DQT的DC系數(shù)以及8×8塊中的三個相鄰的DC系數(shù)被用于計算下一級別的DQT。最后,16×16塊中的4個8×8塊的DC系數(shù)被用于計算DQT。這樣,在一個16×16塊中,只有一個真正的DC而其他都是對應(yīng)與DCT和DQT的AC系數(shù)。
變換系數(shù)(DCT和DQT)被提供給量化器進(jìn)行量化。在一個較佳實(shí)施例中,DCT系數(shù)使用頻率加權(quán)掩碼(FWMs)和一個量化標(biāo)度因子進(jìn)行量化。FWM是輸入DCT系數(shù)塊在同一維上的頻率權(quán)重的表。頻率權(quán)重對于不同的DCT系數(shù)應(yīng)用不同的權(quán)重。權(quán)重被設(shè)計成對具有人類視覺或者光學(xué)系統(tǒng)敏感的頻率內(nèi)容的輸入樣本進(jìn)行加強(qiáng),而削弱對人類視覺或者光學(xué)系統(tǒng)不具有敏感的頻率內(nèi)容的輸入樣本。權(quán)重也可以基于諸如觀看距離等等的因素而設(shè)計。
權(quán)重的選擇是基于經(jīng)驗(yàn)數(shù)據(jù)。一種設(shè)計用于8×8DCT系數(shù)的權(quán)重掩碼的方法在ISO/IEC JTC1 CD 10918,“連續(xù)色調(diào)靜止圖像的數(shù)字壓縮和編碼第一部分要求和指導(dǎo)方針”(“Digital compression and encoding ofcontinuous-tone still images-part 1Requirements and guidelines”),國際標(biāo)準(zhǔn)組織,1994,通過引用結(jié)合于此。通常,設(shè)計兩個FWMs,一個用于亮度分量而另一個用于色度分量。用于塊大小為2×2、4×4的FWM表通過對用于8×8塊表抽選獲得而用于16×16表通過對8×8塊表的內(nèi)插而獲得。標(biāo)度因子控制量化的系數(shù)的質(zhì)量和比特率。
這樣,每個DCT系數(shù)按照下列關(guān)系進(jìn)行量化 其中DCT(i,j)是輸入的DCT系數(shù),fwm(i,j)是頻率加權(quán)掩碼,q是標(biāo)度因子,而DCTq(i,j)是經(jīng)量化的系數(shù)。注意,根據(jù)DCT系數(shù)的符號,括號中的第一項(xiàng)向上或向下進(jìn)行取整。DCT系數(shù)也使用合適的權(quán)重掩碼進(jìn)行量化。然而,可以使用多個表或者屏蔽,并應(yīng)用到Y(jié)、Cb和Cr分量。
在框130,AC值接下來被從DC值中分離出來并分開進(jìn)行處理。對于DC元素,對于每一段的第一DC分量值被編碼。每一段的每一個后來的DC分量值然后被表示為它和它前面的DC分量之間的方差,并被編碼,如框134。對于無損編碼,每一段的起始DC分量值和差值使用結(jié)合圖6、8所示的Golomb-Rice進(jìn)行編碼,如框138。使用Golomb-Rice編碼連續(xù)的DC分量值之間的差值有利于使DC分量值的微分趨向于具有雙邊指數(shù)分布。數(shù)據(jù)接下來被使用緩存器142臨時存儲,并然后通過傳輸信道108傳送或發(fā)送給解碼器112。
圖8圖示了編碼DC分量值的處理。該處理可同樣用于靜止圖像、視頻圖像(比如,但不限于運(yùn)動圖像或者高分辨率電視)和音頻。給出數(shù)據(jù)中的一段,如步驟804,該段的第一DC分量值被取回,如步驟808。該第一DC分量值然后被編碼,如步驟812。不同于AC分量值,DC分量值不需要進(jìn)行量化。在一個實(shí)施例中,不管塊大小分配的失效而對于一個16×16塊使用單一的值。可以預(yù)見任何固定大小的塊,比如8×8或4×4,或者任何由塊大小分配定義的可變塊大小都可以使用。第二,或者然后,取回一給定段的DC分量值,如步驟816。第二DC分量值與第一DC分量值進(jìn)行比較,其差值,或者剩余項(xiàng)被編碼,如步驟820。這樣,第二DC分量值進(jìn)需要被表示為其與第一值之間的差值。該處理對于每一個段的DC分量值都重復(fù)一遍。這樣,進(jìn)行查詢,步驟824確定是否到達(dá)了段的尾部(最后的塊以及最后的DC值)。如果不是則至步驟828,取回下一個段的DC值,如步驟816并重復(fù)上述處理。如果是則至步驟832,取回下一個段,如步驟804并重復(fù)該處理直到該文件中所有的幀以及所有幀中的所有段都處理過為止。
對于DC分量值的無損編碼的目的是生成具有低方差的余項(xiàng)值。使用DCT,DC系數(shù)分量值貢獻(xiàn)了最大的像素能量。因此,通過不量化DC分量值而降低剩余項(xiàng)的方差。
對于AC分量,數(shù)據(jù)塊和頻率加權(quán)掩碼接下來由量化器146或者標(biāo)度因子元件進(jìn)行定標(biāo)。DCT系數(shù)的量化使它們中的一大部分降低為0從而達(dá)到壓縮的效果。在一個較佳實(shí)施例中,有32個對應(yīng)于平均比特率的標(biāo)度因子。不同于諸如MPEG2等的其他壓縮方法,平均比特率的控制是基于處理的圖像的質(zhì)量而不是目標(biāo)比特率以及緩存的狀態(tài)。
為了進(jìn)一步增加壓縮,量化的系數(shù)被提供給掃描串行器150。掃描串行器150掃描量化的系數(shù)塊以產(chǎn)生量化系數(shù)的串行流。Z字形掃描、列掃描或者行掃描都可以使用。可以選擇多種不同的Z字形掃描方式以及非Z字形掃描的方式。一種較佳的技術(shù)使用8×8塊用于Z字形掃描。對于量化系數(shù)的Z字形掃描增加了遇到大的0值游程的可能性。這種0游程固有地具有遞減的概率,并可用Huffman編碼進(jìn)行有效的編碼。
串行的、量化的AC系數(shù)流被提供給可變長度編碼器154。AC分量值可使用Huffman編碼或Golomb-Rice編碼進(jìn)行編碼。對于DC分量值,使用Golomb-Rice編碼。游程長度編碼器分開了0系數(shù)和非0的系數(shù),并在圖6中詳細(xì)描述。在一個實(shí)施例中,使用Golomb-Rice編碼。Golomb-Rice編碼能有效編碼具有指數(shù)分布的非負(fù)整數(shù)。使用Golomb編碼進(jìn)行壓縮能更佳地提供較短長度的編碼用于指數(shù)分布的變量。
在Golomb編碼游程長度中,Golomb碼由非負(fù)整數(shù)m進(jìn)行系數(shù)化。例如,給出一個系數(shù)m,正整數(shù)n的Golomb編碼由以一元碼形式的商n/m加上修改的二進(jìn)制碼的余數(shù)來表示,如果余數(shù)小于等于 ,則其長度為 位,否則長度為 。Golomb-Rice編碼是Golomb編碼的一種特殊形式,其中系數(shù)m表示為m=2k。在這種情況下,商n/m通過將二進(jìn)制表示的整數(shù)n向右移k位而獲得。這樣,Golomb-Rice碼是兩者的串接。Golomb-Rice編碼能用于編碼具有雙邊幾何(指數(shù))分布的正的或者是負(fù)的整數(shù),該分布表示為pα(x)=cα|x|(1)在(1)中,α是表示概率x的衰減的特征系數(shù),而c是標(biāo)準(zhǔn)化常量。由于P。(x)是單調(diào)的,可見一系列的整數(shù)值應(yīng)該滿足pα(xi=0)≥pα(xi=-1)≥pα(xi=±1)≥pα(xi=-2)≥... (2)如圖4a,4b,4c和5a,5b,5c所示,量化的DCT系數(shù)矩陣中的0游程和幅度都具有指數(shù)分布。這些圖中所示的分布是基于來自真實(shí)圖像的數(shù)據(jù)。圖4a圖示了0游程長度相對于相關(guān)頻率的Y分量分布400。類似的,圖4b和4c分別圖示了0游程長度相對于相關(guān)頻率的Cb和Cr分量分布410和420。圖5a圖示了幅度大小相對于相關(guān)頻率的Y分量分布500。類似的,圖5b和5c分別圖示了幅度大小相對于相關(guān)頻率的Cb和Cr分量分布510和520。注意在圖5a,5b和5c的曲線表示DCT系數(shù)大小的分布。每個大小表示一個系數(shù)值的范圍。例如,大小值為4具有范圍為{-15,-14,...-8,8...,14,15},共有16個值。類似的,大小值為10具有范圍為{-1023,-1022,...,-512,512,...,1022,1023}一共1024個位。從圖4a,4b,4c,5a,5b和5c中可見,游程長度和幅度大小都具有指數(shù)分布。所示的幅度的實(shí)際分布可用下列方程擬合
p(Xk,l)=2λ2exp{-2λ|Xk,l|},k,l≠0---(3)]]>在(3)中,Xk,l表示對應(yīng)與垂直方向上頻率為k和水平方向上頻率為l的DCT系數(shù),而均值μx=12λ,]]>方差σ2=12λ.]]>因而,以所述的形式使用Golomb-Rice編碼來進(jìn)行DCT中的數(shù)據(jù)處理更為理想。
盡管下面的描述是結(jié)合圖像數(shù)據(jù)的壓縮,這些實(shí)施例同樣可用于壓縮音頻數(shù)據(jù)的實(shí)施例。在圖像數(shù)據(jù)的壓縮中,圖像或視頻數(shù)據(jù)可能是,例如,RGB或YIQ或YUV或具有線性或?qū)?shù)編碼的像素值分量的YCbCr。
圖6圖示了編碼0和非0系數(shù)的處理600。當(dāng)DCT矩陣被掃描時,0和非0系數(shù)被分開地處理并被分離,如步驟604。對于0數(shù)據(jù),確定0游程的長度,如步驟608。注意游程長度是正整數(shù)。例如,如果游程長度為n,則Golomb系數(shù)m被確定,如步驟612。在一個實(shí)施例中,Golomb系數(shù)被確定為游程長度的函數(shù)。在另一個實(shí)施例中,Golomb系數(shù)(m)由下式(4)確定 可任選地,游程長度的長度和相關(guān)的Golomb系數(shù)由計數(shù)器或者寄存器進(jìn)行計數(shù),如步驟616。為了編碼0的游程長度n,對商進(jìn)行編碼,如步驟620。在一個實(shí)施例中,該商被確定為0的游程長度和Golomb系數(shù)的函數(shù)。在另一個實(shí)施例中,商(Q)由下式(5)確定 在一個實(shí)施例中,商Q被編碼為一元碼,需要Q+1位。接下來,對余數(shù)進(jìn)行編碼,如步驟624。在一個實(shí)施例中,余數(shù)被編碼作為運(yùn)行函數(shù)和商的函數(shù)。在另一個實(shí)施例中,余數(shù)(R)使用下式(6)確定R=n-2mQ (6)在一個實(shí)施例中,余數(shù)R編碼為m位的二進(jìn)制編碼。然后,確定商Q和余數(shù)R,串接Q和R的編碼,如步驟628以表示用于0的游程長度n的整體編碼。
非0系數(shù)也使用Golomb-Rice進(jìn)行編碼。由于系數(shù)幅度可以是正的或是負(fù)的,就需要使用一個符號位并對給出的幅度的絕對值進(jìn)行編碼。給出的非0系數(shù)的幅度為x,其幅度可表示為該絕對值和該符號的函數(shù)。因而,該幅度可使用下式(7)表示為y
因而,非0系數(shù)的值也可以任選地由計數(shù)器或寄存器進(jìn)行計數(shù),如步驟632。接下來在步驟636中確定該幅度是否大于等于0。如果是,在步驟640其值被編碼為兩倍于給出的值。如果不是,在步驟644該值被編碼為一個其絕對值兩倍減1的值??梢灶A(yù)見其他映射方案也可以使用。其關(guān)鍵是不需要額外的用于區(qū)分該值的符號位。
用等式(7)進(jìn)行的幅度編碼,其結(jié)果為正的x值變成偶整數(shù)而負(fù)的x值變成奇整數(shù)。進(jìn)一步,該映射保留了(2)式中的x的概率分布。使用(7)式說明的編碼的優(yōu)點(diǎn)是可以避免使用符號位為來表示正數(shù)和負(fù)數(shù)。在映射之后,y以和用于0游程同樣的形式進(jìn)行編碼。處理繼續(xù)進(jìn)行直到當(dāng)前塊中的所有系數(shù)都被掃描。
需要重點(diǎn)指出,盡管本發(fā)明的實(shí)施例中將系數(shù)和游程長度的值確定為等式(1)-(7)的函數(shù),并不需要使用確切的等式(1)-(7)。這是利用了Golomb-Rice編碼和DCT系數(shù)的指數(shù)分布來做到對于圖像和音頻數(shù)據(jù)更為有效的壓縮。
由于在編碼之后0游程無法從非0幅度中區(qū)別出來,就需要使用固定長度的特殊的前綴編碼來標(biāo)記出現(xiàn)的第一個0游程。通常在計算完一個塊中非0的幅度以后再計算所有的0。在一些情況下,使用稱為塊結(jié)尾(EOB)碼可能比使用Golomb-Rice碼更有效。EOB碼也可以是一個特殊的固定長度的碼。
按照等式(1)或(3),DCT系數(shù)矩陣的幅度或游程長度的概率分布由α或λ進(jìn)行系數(shù)化。其表示了對于出現(xiàn)在特定的DCT系數(shù)塊下的內(nèi)容的編碼的效率可得到改善。接下來可使用合適的Golomb-Rice系數(shù)對感興趣的量(quantity ofinterest)進(jìn)行編碼。在一個實(shí)施例中,計數(shù)器和寄存器被用于每一個游程長度和幅度值以計算分別的累積值和該值出現(xiàn)的對應(yīng)次數(shù)。例如,如果寄存器用于保存累積值而累積的元素數(shù)量分別為Rr1和Nr1,下式(6)可被用作Rice-Golomb系數(shù)來編碼該游程長度 類似的處理可用于幅度。
剩余項(xiàng)像素通過首先使用ABSDCT解碼器解壓縮該壓縮的數(shù)據(jù),再將它從源數(shù)據(jù)中減去來產(chǎn)生。剩余項(xiàng)的動態(tài)范圍越小,壓縮的比例就越高。由于壓縮是基于塊的,剩余項(xiàng)也是以塊為基礎(chǔ)的。一個熟知的事實(shí)是剩余項(xiàng)像素具有雙邊指數(shù)分布,中心通常為0。由于Golomb-Rice碼對于此類數(shù)據(jù)更佳,Golomb-Rice編碼處理被用于壓縮剩余項(xiàng)數(shù)據(jù)。然而,由于沒有游程長度需要進(jìn)行編碼,不需要特殊碼。進(jìn)一步,不需要EOB編碼。這樣,壓縮數(shù)據(jù)包括兩個分量。一個分量是來自有損壓縮器而另一個是來自無損壓縮器。
在編碼運(yùn)動序列時,也可以利用時間相關(guān)性。為了完全利用時間相關(guān)性,首先估計由于運(yùn)動而造成的像素移位,然后進(jìn)行運(yùn)動補(bǔ)償預(yù)測以獲得剩余項(xiàng)像素。由于ABSDCT進(jìn)行自適應(yīng)塊大小編碼,塊大小信息可替換地用作由運(yùn)動而引起的移位的度量。為了進(jìn)一步簡化,不使用場景變化檢測。作為替代,對于序列中的每一個幀首先獲得幀內(nèi)壓縮數(shù)據(jù)。接下來基于幀到幀的基礎(chǔ)生成當(dāng)前幀DCT和前面幀DCT之間的差值。這由美國專利申請序列號No.09/877,578進(jìn)一步描述,提交于2001年6月7日,通過引用結(jié)合于此。這些DCT域中的剩余項(xiàng)使用Huffman和Golomb-Rice編碼處理進(jìn)行編碼。最終的壓縮輸出對應(yīng)于每幀使用的比特的數(shù)量最小的那一個。
該無損壓縮算法是一個混合方案,它可以通過去掉其中的無損部分來適應(yīng)再利用或編碼轉(zhuǎn)換。這樣,使用ABSDCT最大化像素在空間領(lǐng)域中的相關(guān)性,能使剩余項(xiàng)像素與那些使用預(yù)測方案的像素相比較具有較低的方差。整體系統(tǒng)的有損部分允許用戶實(shí)現(xiàn)需要的用于分配的質(zhì)量和數(shù)據(jù)速率而不需要借助于幀間處理,從而消除了與運(yùn)動有關(guān)人為隱影干擾并顯著地降低了實(shí)施的復(fù)雜度。這在分發(fā)用于數(shù)字影院應(yīng)用的程序中顯得尤其重要,因?yàn)閴嚎s材料的有損部分的分配要求較高等級的質(zhì)量。
圖9圖示了混合無損編碼設(shè)備900。圖10圖示了可運(yùn)行在該設(shè)備上的處理。源數(shù)字信息904保存在存儲設(shè)備中,或者被發(fā)射。圖9中的許多元件在圖1和2中詳細(xì)描述。數(shù)據(jù)幀被發(fā)送到壓縮器908,壓縮器908包括塊大小分配元件912、DCT/DQT變換元件916和量化器920。在對數(shù)據(jù)執(zhí)行DCT/DQT后,該數(shù)據(jù)被轉(zhuǎn)換到頻域。在一個輸出端922,數(shù)據(jù)由量化器920量化并傳送到輸出端924,輸出端924包括存儲器和/或交換機(jī)。上面所描述的所有處理是在幀內(nèi)的基礎(chǔ)上的。
量化器的輸出也被發(fā)送到解壓縮器928。解壓縮器928進(jìn)行壓縮器處理的撤銷操作,通過反量化器932,和IDQT/IDCT 936,連同按照由BSA定義的PQR數(shù)據(jù)的知識。解壓縮器940的結(jié)果被提供給減法器944與源數(shù)據(jù)進(jìn)行比較。減法器944可以是多種元件,比如差分器,計算剩余項(xiàng)像素作為每個塊未壓縮的和經(jīng)壓縮解壓縮后的像素的差值。另外,差分器可獲得DCT域中的剩余項(xiàng)用于每個塊的有條件的幀間編碼。解壓縮數(shù)據(jù)和源數(shù)據(jù)之間的比較結(jié)果948就是像素剩余項(xiàng)文件。也就是說,結(jié)果948表示經(jīng)過壓縮和解壓縮后的數(shù)據(jù)的丟失。這樣,源數(shù)據(jù)就等于輸出922與結(jié)果948的組合。結(jié)果948接下來被串行化952并被Huffman和/或Golomb Rice編碼956,并被提供作為第二輸出960。Huffman和/或Golomb Rice編碼器956是一種形式的熵編碼器,其使用Golomb Rice編碼對剩余項(xiàng)像素進(jìn)行編碼。基于用于每個幀的最少比特來判決以確定是使用幀內(nèi)還是幀間編碼。使用Golomb Rice編碼剩余項(xiàng)能提高整個系統(tǒng)的壓縮比率。
這樣,該無損的、幀間輸出是兩組數(shù)據(jù)的組合或混合,即有損的、高質(zhì)量的圖像文件(922,或A)和剩余項(xiàng)文件(960,或C)。
也可以使用幀間編碼。量化器的輸出被發(fā)送到存儲器964,一起發(fā)送的還有對于BSA的知識。在獲得了一幀的有效數(shù)據(jù)后,減法器966將保存的幀964和下一個幀968進(jìn)行比較。其差值生成一個DCT剩余項(xiàng)970,該剩余項(xiàng)接下來進(jìn)行串行化和/或Golomb-Rice編碼974,以向輸出924提供第三輸出數(shù)據(jù)組976。這樣,就編譯了幀間無損文件B和C。這樣,可基于大小的考慮選擇組合(A+C或B+C)。進(jìn)一步,為了編輯的目的,可能需要一個純的幀間輸出。
回到圖1,編碼器104生成的壓縮圖像信號可使用緩存142臨時保存,然后使用傳輸信道108發(fā)送給解碼器112。傳輸信道108可為物理媒體,比如磁或光存儲設(shè)備,或者是有線或無線的傳輸處理或設(shè)備。包括塊大小分配信息的PQR數(shù)據(jù)也被提供給解碼器112(圖2)。解碼器112包括緩存164和可變長度解碼器168,編碼器168解碼游程長度和非0值??勺冮L度解碼器168以和圖6中描述的類似但是相反的方式進(jìn)行操作。
可變長度解碼器168的輸出被提供給反串行化器172,按照使用的掃描方案排列系數(shù)。例如,如果混合使用了Z字形掃描、垂直掃描和水平掃描,反向串行化器172將使用其知曉的所使用的掃描類型來合適地重排列系數(shù)。反串行化器173接收PQR數(shù)據(jù)來幫助正確地將系數(shù)排列到合成的系數(shù)塊中。
合成的塊被提供給反量化器174,用于撤銷使用量化器標(biāo)度因子和頻率加權(quán)掩碼的處理。
如果應(yīng)用了差分四叉樹變換,系數(shù)塊接下來被提供給IDQT元件186,接著為IDCT元件190。否則,系數(shù)塊被直接提供給IDCT元件190。IDQT元件186和IDCT元件190反變換系數(shù)以生成像素數(shù)據(jù)塊。像素數(shù)據(jù)接下來必須進(jìn)行內(nèi)插,變換到RGB形式,并保存用于以后的顯示。
圖7圖示了用于Golomb-Rice編碼的設(shè)備700。圖7的設(shè)備較佳地實(shí)施了圖6中描述的處理。確定器704確定游程長度(n)和Golomb系數(shù)(m)。或者,計數(shù)器或寄存器708被用于每一個游程長度和幅度大小值以分別計算累積值和出現(xiàn)該值的對應(yīng)次數(shù)。編碼器712編碼商(Q)作為游程長度和Golomb系數(shù)的函數(shù)。該編碼器712還編碼剩余數(shù)(R)作為游程長度、Golomb系數(shù)和商的函數(shù)。在其他實(shí)施例中,編碼器712還編碼非0數(shù)據(jù)作為非0數(shù)據(jù)值和該非0數(shù)據(jù)值的符號的函數(shù)。串接器716用于串接Q值和R值。
作為例子,這里公開的實(shí)施例相關(guān)的各種圖示的邏輯框圖、流程圖和步驟可以以硬件或軟件來實(shí)現(xiàn)或執(zhí)行,用專用集成電路(ASIC)、可編程邏輯設(shè)備、離散門或晶體管邏輯、離散硬件部件,例如寄存器和FIFO,執(zhí)行一組固件指令的處理器、任何傳統(tǒng)的可編程軟件和處理器、或它們的組合。處理器較佳的是微處理器,但也可以是任何傳統(tǒng)處理器、控制器、微控制器或狀態(tài)機(jī)。軟件可保存在RAM存儲器、快閃存儲器、ROM存儲器、寄存器、硬盤、可移動磁盤、CDROM、DVD-ROM或任何業(yè)內(nèi)熟知的其他形式的存儲媒體。
前面描述的較佳實(shí)施例是提供給熟悉本領(lǐng)域的人員來完成或使用本發(fā)明的。對于熟悉本領(lǐng)域的人員來說,對于這些實(shí)施例的多種改變是顯而易見的,而這里所定義的一般原理可應(yīng)用于其他實(shí)施例而不需要進(jìn)行創(chuàng)造性地勞動。所以,本發(fā)明不應(yīng)該被這里所示的實(shí)施例所限,而應(yīng)該符合這里所公開的原理和創(chuàng)造性特征的最寬的范圍。
本發(fā)明的其他特征和優(yōu)勢在權(quán)利要求中說明。
權(quán)利要求
1.一種無損壓縮并編碼表示圖像的信號的方法,該方法包括生成一有損壓縮數(shù)據(jù)文件;生成一剩余項(xiàng)壓縮數(shù)據(jù)文件;以及組合所述有損數(shù)據(jù)文件和所述剩余項(xiàng)數(shù)據(jù)文件以創(chuàng)建一無損數(shù)據(jù)文件,其中所述無損數(shù)據(jù)文件與所述源數(shù)據(jù)文件實(shí)質(zhì)上一致。
2.如權(quán)利要求1所述的方法,其特征在于所述有損壓縮數(shù)據(jù)文件和所述剩余項(xiàng)壓縮數(shù)據(jù)文件是在幀內(nèi)或幀間的基礎(chǔ)上生成的。
3.如權(quán)利要求1所述的方法,其特征在于所述生成方法使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
4.如權(quán)利要求1所述的方法,其特征在于所述生成方法使用Golomb-Rice編碼技術(shù)。
5.一種無損壓縮并編碼表示圖像的信號的設(shè)備,該設(shè)備包括生成一有損壓縮數(shù)據(jù)文件的裝置;生成一剩余項(xiàng)壓縮數(shù)據(jù)文件的裝置;以及組合所述有損數(shù)據(jù)文件和所述剩余項(xiàng)數(shù)據(jù)文件以創(chuàng)建一無損數(shù)據(jù)文件的裝置,其中所述無損數(shù)據(jù)文件與所述源數(shù)據(jù)文件實(shí)質(zhì)上一致。
6.如權(quán)利要求5所述的設(shè)備,其特征在于生成所述有損壓縮數(shù)據(jù)文件的裝置和生成所述剩余壓縮數(shù)據(jù)文件的裝置是以幀內(nèi)或幀間為基礎(chǔ)生成的。
7.如權(quán)利要求5所述的設(shè)備,其特征在于所述生成裝置使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
8.如權(quán)利要求5所述的設(shè)備,其特征在于所述生成裝置使用Golomb-Rice編碼技術(shù)。
9.一種無損壓縮并編碼表示圖像的信號的方法,該方法包括壓縮所述表示圖像的信號并創(chuàng)建所述圖像的壓縮版本;量化所述圖像的壓縮版本并由此創(chuàng)建所述圖像的有損版本;串行化所述經(jīng)量化的壓縮版本的圖像并由此創(chuàng)建所述圖像的經(jīng)串行化的量化的壓縮版本;解壓縮所述圖像的壓縮版本;確定所述圖像和所述解壓縮版本之間的方值并由此創(chuàng)建所述圖像的剩余項(xiàng)版本;以及輸出所述圖像的有損版本和剩余項(xiàng)版本,其中所述圖像的有損版本和所述圖像的剩余項(xiàng)版本的組合實(shí)質(zhì)上與所述源圖像一致。
10.如權(quán)利要求9所述的方法,其特征在于所述無損壓縮是在幀間的基礎(chǔ)上。
11.如權(quán)利要求9所述的方法,其特征在于所述壓縮方法使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
12.如權(quán)利要求9所述的方法,其特征在于所述串行化方法使用Golomb-Rice編碼技術(shù)。
13.一種無損壓縮并編碼表示圖像的信號的方法,所述圖像包括多個幀,該方法包括壓縮第一幀并由此創(chuàng)建所述圖像的壓縮版本;量化所述圖像的壓縮版本并由此創(chuàng)建所述圖像的有損版本;串行化所述經(jīng)量化的壓縮的圖像版本并由此創(chuàng)建所述圖像的經(jīng)串行的量化的壓縮的圖像版本;壓縮表示所述圖像的信號的第二幀;確定所述圖像的第一幀和第二幀之間的差值并由此創(chuàng)建所述圖像的剩余項(xiàng)版本;以及輸出所述圖像的有損版本和剩余項(xiàng)版本,其中所述圖像的有損版本和所述圖像的剩余項(xiàng)版本的組合實(shí)質(zhì)上與所述源圖像一致。
14.如權(quán)利要求13所述的方法,其特征在于所述無損壓縮是在幀間的基礎(chǔ)上進(jìn)行。
15.如權(quán)利要求13所述的方法,其特征在于所述壓縮方法使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
16.如權(quán)利要求13所述的方法,其特征在于所述串行化方法使用Golomb-Rice編碼技術(shù)。
17.一種無損壓縮并編碼表示圖像的信號的設(shè)備,該設(shè)備包括壓縮所述表示圖像的信號并由此創(chuàng)建所述圖像的壓縮版本的裝置;量化所述圖像的壓縮版本并由此創(chuàng)建所述圖像的有損版本的裝置;串行化所述經(jīng)量化的壓縮的圖像版本并由此創(chuàng)建所述圖像的串行化的經(jīng)量化的壓縮的版本的裝置;解壓縮所述圖像的壓縮版本的裝置;確定所述圖像和所述解壓縮版本之間的差值并由此創(chuàng)建所述圖像的剩余項(xiàng)版本的裝置;以及輸出所述圖像的有損版本和剩余項(xiàng)版本的裝置,其中所述圖像的有損版本和所述圖像的剩余項(xiàng)版本的組合實(shí)質(zhì)上與所述源圖像一致。
18.如權(quán)利要求17所述的設(shè)備,其特征在于所述無損壓縮是在幀間的基礎(chǔ)上進(jìn)行。
19.如權(quán)利要求17所述的設(shè)備,其特征在于所述壓縮裝置使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
20.一種無損壓縮并編碼表示圖像的信號的設(shè)備,所述圖像包括多個幀,該方法包括壓縮第一幀并由此創(chuàng)建所述圖像的壓縮版本的裝置;量化所述圖像的壓縮版本并由此創(chuàng)建所述圖像的有損版本的裝置;串行化所述經(jīng)量化的壓縮的圖像版本并由此創(chuàng)建所述圖像的串行化的經(jīng)量化的壓縮版本的裝置;壓縮表示所述圖像的信號的第二幀的裝置;確定所述圖像的第一幀和第二幀之間的差值并由此創(chuàng)建所述圖像的剩余項(xiàng)版本的裝置;以及輸出所述圖像的有損版本和剩余項(xiàng)版本的裝置,其中所述圖像的有損版本和所述圖像的剩余項(xiàng)版本的組合實(shí)質(zhì)上與所述源圖像一致。
21.如權(quán)利要求20所述的設(shè)備,其特征在于所述無損壓縮是在幀間的基礎(chǔ)上進(jìn)行。
22.如權(quán)利要求20所述的設(shè)備,其特征在于所述壓縮裝置使用了組合離散余弦變換(DCT)和離散四叉樹變換(DQT)技術(shù)。
全文摘要
提出一種無損壓縮并編碼表示圖像信息的信號的方法(900)。生成有損壓縮數(shù)據(jù)文件(922)和剩余項(xiàng)壓縮數(shù)據(jù)文件(960)。當(dāng)有損壓縮數(shù)據(jù)文件和剩余項(xiàng)壓縮文件組合時,創(chuàng)建一個實(shí)質(zhì)上與源數(shù)據(jù)文件一致的無損數(shù)據(jù)文件。
文檔編號H03M7/30GK1549988SQ02817150
公開日2004年11月24日 申請日期2002年7月2日 優(yōu)先權(quán)日2001年7月2日
發(fā)明者V·R·拉維德蘭, V R 拉維德蘭, K·塞亞加拉簡, 羌永, J·拉特澤爾, 卦蠖 , S·A·莫利, 莫利 申請人:高通股份有限公司