專利名稱:應(yīng)用Golomb-Rice編碼法的DCT壓縮法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是國際申請(qǐng)日為2002年6月17日、中國專利申請(qǐng)?zhí)枮?2816802X、題為“應(yīng)用Golomb-Rice編碼法的DCT壓縮法”的專利申請(qǐng)的分案申請(qǐng)。
背景技術(shù):
I.發(fā)明領(lǐng)域本發(fā)明涉及圖形處理與壓縮,尤其涉及應(yīng)用Golomb-Rice的DCT系數(shù)編碼法。
II.相關(guān)技術(shù)說明在數(shù)字信號(hào)處理的一般規(guī)范內(nèi),數(shù)字圖片處理具有顯著的地位。在數(shù)字圖片處理技術(shù)與科學(xué)中,人的視覺的重要性頗引人關(guān)注。在視頻信號(hào)收發(fā)領(lǐng)域中,諸如投影電影,正對(duì)圖像壓縮技術(shù)進(jìn)行各種改進(jìn)。許多現(xiàn)有的和提議的視頻系統(tǒng)都利用了數(shù)字編碼技術(shù),包括圖形編碼、圖像恢復(fù)與圖像特征選擇。圖像編碼表示試圖以有效的方式發(fā)送數(shù)字通信信道的圖片,盡量用少的位以減小所需的帶寬,同時(shí)使畸變保持在一定極限之內(nèi)。圖像恢復(fù)是復(fù)原目標(biāo)的真實(shí)圖像。經(jīng)通信信道發(fā)送的編碼圖像會(huì)被各種因素畸變,劣化源由從目標(biāo)形成圖像而引起。特征選擇指某些圖片屬性的選擇,這類屬性為在更廣泛范圍內(nèi)的識(shí)別、分類與判斷所需。
數(shù)字電影等視頻的數(shù)字編碼,是一個(gè)得益于圖像壓縮技術(shù)改進(jìn)的領(lǐng)域。數(shù)字圖像壓縮一般分為兩類無損法和有損法。無損圖像恢復(fù)時(shí)不損失任何信息。有損法涉及某些信息不可挽回的損失,具體視壓縮比、壓縮算法質(zhì)量與算法實(shí)施情況而定。通常,為達(dá)到經(jīng)濟(jì)的數(shù)字電影法所期望的壓縮比,就考慮有損壓縮法。為實(shí)現(xiàn)數(shù)字電影質(zhì)量水平,壓縮法應(yīng)提供目視無損水平的性能。因此,雖然壓縮處理存在數(shù)學(xué)上的信息損失,但在正常觀看條件下,觀眾應(yīng)該看不出該損失造成的圖像畸變。
對(duì)其它應(yīng)用即電視系統(tǒng)已開發(fā)出諸現(xiàn)有的數(shù)字圖像壓縮技術(shù),這類技術(shù)對(duì)原來的應(yīng)用雖然作出了設(shè)計(jì)上的折衷,但并未滿足電影放映所需的質(zhì)量要求。
數(shù)字電影壓縮技術(shù)應(yīng)提供看電影的人以前經(jīng)歷過的觀看質(zhì)量。數(shù)字電影的觀看質(zhì)量最好要超過高質(zhì)量的發(fā)行電影拷貝的質(zhì)量,同時(shí)壓縮技術(shù)應(yīng)具有可實(shí)踐的高編碼效率。按本文規(guī)定,編碼效率指壓縮圖像質(zhì)量達(dá)到某一定性水平所需的位速率。而且,系統(tǒng)與編碼技術(shù)應(yīng)具有適應(yīng)不同格式的內(nèi)在靈活性而且是經(jīng)濟(jì)的,即小規(guī)模而有效的譯碼器或編碼器處理。
現(xiàn)有的許多壓縮技術(shù)雖具有高的壓縮水平,但會(huì)造成視頻信號(hào)的質(zhì)量劣化。通常,傳遞壓縮信息的技術(shù)要求壓縮信息以恒定位速率傳遞。
既能提供高壓縮水平又可對(duì)視頻信號(hào)保持期望質(zhì)量水平的一種壓縮技術(shù),應(yīng)用了自適應(yīng)定尺寸的編碼“離散余弦變換(DCT)”系數(shù)數(shù)據(jù)塊與分塊,該技術(shù)下稱“自適應(yīng)塊尺寸離散余弦變換(ABSDCT)法。題為“Adaptive BlockSize Image Compression Method and System”的美國專利NO.5,021,891揭示了該技術(shù)。該專利已轉(zhuǎn)讓給本發(fā)明的受讓人,通過引用包括在這里。題為“Adaptive Block Size Image Compression Method and System”的美國專利NO.5,107,345也揭示了DCT技術(shù),該專利已轉(zhuǎn)讓給本發(fā)明受讓人,通過引用包括在這里。另外,題為“Adaptive Block Size Image Compression Methodand System”的美國專利NO.5,452,104還討論了ABSDCT技術(shù)與“差分象限樹變換”技術(shù)的組合使用,該專利也已轉(zhuǎn)讓給本發(fā)明受讓人,通過引用包括在這里。這些專利所揭示的系統(tǒng)應(yīng)用了所謂的“幀內(nèi)”編碼法,圖像數(shù)據(jù)的各幀編碼時(shí)與任何其它幀的內(nèi)容無關(guān)。應(yīng)用ABSDCT技術(shù),可實(shí)現(xiàn)的數(shù)據(jù)率能從每秒15億位減到每秒0.5億位,看不出像質(zhì)劣化。
ABSDCT技術(shù)可壓縮黑白或彩色圖像或者代表圖像的信號(hào)。彩色輸入信號(hào)可以是YIQ格式,Y是輝度或亮度樣本,I和Q位色度或彩色樣本,格式為4:4:4或另一種格式。也可應(yīng)用其它已知的格式,如YUV、YCbCr或RGB格式。由于眼睛對(duì)彩色的空間靈敏度低下,大多數(shù)研究表明,沿水平與垂直方向把彩色分量的副樣本減小到1/4是合適的,因而視頻信號(hào)可用四個(gè)亮度分量和兩個(gè)色度分量表示。
應(yīng)用ABSDCT,一般把視頻信號(hào)分成若干像素塊來處理。對(duì)每一塊,把亮度與色度分量傳到塊交織器,例如可把16×16(像素)塊送到塊交織器,后者排列或組織各16×16塊內(nèi)的圖像樣本,產(chǎn)生數(shù)據(jù)塊和合成分塊以作離散余弦變換(DCT)分析。DCT操作器是一種把時(shí)空取樣的信號(hào)轉(zhuǎn)換成用頻率表示的方法。轉(zhuǎn)換成頻率表示后,DCT技術(shù)已被證明適合極高的壓縮水平,因?yàn)樵O(shè)計(jì)的量化器可以利用圖像的頻率分布特性。在一實(shí)施例中,一個(gè)16×16DCT用于第一排序,四個(gè)8×8DCT用于第二排序,16個(gè)4×4DCT用于第三排序,62個(gè)2×2DCT用于第四排序。
DCT操作減少了視頻源固有的空間冗余度。在DCT之后,大部分視頻信號(hào)能量易集中于少數(shù)DCT系數(shù)。為減少DCT系數(shù)間的冗余度,可應(yīng)用附加變換,即“差分象限樹變換(DQT)”。
對(duì)16×16塊和各分塊,分析DCT系數(shù)值和DQT值(若僅用DQT)確定塊或分塊編碼所需的位數(shù),然后選用要求最少位數(shù)編碼的塊或分塊組合代表圖像段。例如,可選擇兩個(gè)8×8分塊、六個(gè)4×4分塊和八個(gè)2×2分塊代表該圖像段。
接著,正確地依次持選擇的塊或分塊組合排成16×16塊。然后,DCT/DQT系數(shù)值經(jīng)歷頻率加權(quán)、量化和編碼(如可變長度編碼)、準(zhǔn)備傳輸。上述ABSDCT技術(shù)雖然便于執(zhí)行,但運(yùn)算量很大,故實(shí)施該技術(shù)的硬件難以密集化。
可變長度編碼法一直以連續(xù)長度與尺寸的形式實(shí)施。其它壓縮法如“聯(lián)合照相專家組(JPEG)”或“活動(dòng)圖片專家組(MPEG-2)”,都對(duì)整個(gè)處理的塊尺寸應(yīng)用了普通的Z字形掃描法。但應(yīng)用ABSDCT,則根據(jù)數(shù)據(jù)塊內(nèi)的變化生成不同的塊尺寸。有些編碼法如Huffman碼,包括一連串零再接一非零系數(shù)。然而,當(dāng)源碼元概率為2的負(fù)冪時(shí),Huffman編碼更優(yōu)。不過在連續(xù)長度/尺寸對(duì)情況下,碼元概率很少為2的負(fù)冪。
再者,Huffman編碼還要求存貯預(yù)計(jì)算碼字的碼簿,而碼簿的規(guī)模很大,最長的碼字很長,故對(duì)連續(xù)長度/尺寸對(duì)碼元用Huffman編碼,效率并不高。
發(fā)明內(nèi)容
描述一種以無損方式碼量化DCT系數(shù)的連續(xù)長度與幅度以實(shí)現(xiàn)壓縮的設(shè)備與方法。具體地說,量化后用Golomb-Rice編碼法對(duì)DCT系數(shù)的零連續(xù)與非零幅度都編碼。發(fā)現(xiàn)利用數(shù)據(jù)指數(shù)分布的方法如Golomb-Rice編碼法,可實(shí)現(xiàn)比其它方法更高的編碼效率。
本發(fā)明是一種基于質(zhì)量的圖像壓縮系統(tǒng)與方法,應(yīng)用了離散余弦變換系數(shù)數(shù)據(jù)自適應(yīng)定尺寸的塊和分塊以及基于質(zhì)量的量化穩(wěn)定系數(shù)。像素?cái)?shù)據(jù)塊被輸入編碼器,后者包括一塊尺寸指定(BSA)元件,把輸入的像素塊分割后作處理。塊尺寸指定基于輸入塊和再細(xì)分塊的變化。通常,將變化較大的區(qū)域細(xì)分成較小的塊,而變化較小的區(qū)域不再細(xì)分,使塊與分塊的平均值落入不同的預(yù)定范圍內(nèi)。這樣,根據(jù)其平均值,首先按其標(biāo)稱值修改塊的變化閾值,然后將塊的變化與閾值比較,若變化大于閾值,再細(xì)分該塊。
將塊尺寸指定供給變換元件,后者把像素?cái)?shù)據(jù)換成頻域數(shù)據(jù)。只對(duì)通過塊尺寸指定選擇的塊和分塊變換,然后經(jīng)量化與串行化對(duì)變換數(shù)據(jù)標(biāo)定。變換數(shù)據(jù)的量化基于某個(gè)像素亮度,諸如調(diào)節(jié)反差、系數(shù)計(jì)數(shù)、速率畸變、塊尺寸指定密度的定標(biāo)系數(shù)和/或過去的定標(biāo)系數(shù)。Z字串行化基于對(duì)同一值建立可能的最長連續(xù)長度,然后用可變長度編碼器編碼數(shù)據(jù)流以供傳輸。應(yīng)用了基于指數(shù)分布的編碼法,如Golomb-Rice編碼。具體而言,對(duì)表示零的數(shù)據(jù)確定零連續(xù)長度。Golomb參數(shù)的函數(shù),而余數(shù)被編碼為零連續(xù)長度,Golomb參數(shù)和窗的函數(shù)。編碼的窗與余數(shù)串接。對(duì)表示非零的數(shù)據(jù),把非零數(shù)據(jù)編碼為非零數(shù)據(jù)值及其符號(hào)的函數(shù)。編碼的數(shù)據(jù)經(jīng)傳輸信道送給譯碼器,像素?cái)?shù)據(jù)重建后供顯示。
因此,一實(shí)施例的一個(gè)方面不要求先驗(yàn)碼生成。
一實(shí)施例的另一個(gè)方面不要求存貯使用的內(nèi)容廣泛的碼簿。
一實(shí)施例的又一個(gè)方面減小了硬件實(shí)現(xiàn)所需的尺寸。
一實(shí)施例再一個(gè)方面實(shí)現(xiàn)了高編碼效率。
一實(shí)施例還有一個(gè)方面利用了DCT數(shù)據(jù)的指數(shù)分布。
附圖簡介通過下面結(jié)合附圖所作的詳述,本發(fā)明的諸特征與優(yōu)點(diǎn)就更清楚了,圖中用相同的標(biāo)號(hào)標(biāo)識(shí)對(duì)應(yīng)的物件,其中
圖1是圖像壓縮與處理系統(tǒng)中編碼器部分的框圖;圖2是圖像壓縮與處理系統(tǒng)中譯碼器部分的框圖;圖3是基于變化的塊尺寸指定涉及的處理步驟的流程圖;圖4a示出DCT系數(shù)矩陣中零連續(xù)長度Y分量的指數(shù)分布;圖4b示出DCT系數(shù)矩陣中零連續(xù)長度Cb分量的指數(shù)分布;圖4c示出DCT系數(shù)矩陣中零連續(xù)長度Cr分量的指數(shù)分布;圖5a示出DCT系數(shù)矩陣中幅度大小Y分量的指數(shù)分布;圖5b示出DCT系數(shù)矩陣中幅度大小Cb分量的指數(shù)分布;圖5c示出DCT系數(shù)矩陣中幅度大小Cr分量的指數(shù)分布;圖6示出Golomb-Rice編碼過程;和圖7示出Golomb-Rice編碼設(shè)備。
較佳實(shí)施例的詳細(xì)描述為利于數(shù)字信號(hào)純屬并分享相應(yīng)的好處,一般必須應(yīng)用某種信號(hào)壓縮形式。為實(shí)現(xiàn)得到圖像的高度壓縮,保持圖像的高質(zhì)量也很重要。再者,在許多場合中,密集的硬件實(shí)施還期望著運(yùn)算效率。
在詳述本發(fā)明一實(shí)施例之前,應(yīng)該理解,本發(fā)明的應(yīng)用并不限于下面描述或圖示諸元件的結(jié)構(gòu)與安排的細(xì)節(jié),本發(fā)明具有其它諸實(shí)施例的功能并以各種方式實(shí)施。還應(yīng)明白,本文使用的術(shù)語出于描述目的,不可視為限制。
一實(shí)施例一個(gè)方面應(yīng)用的圖像壓縮,基于離散余弦變換(DCT)技術(shù),諸如在1999年11月8日提交的題為“Contrast Sensitive Variance Based AdaptiveBlock Size DCT Image Compression”的共同待批美國專利申請(qǐng)連續(xù)號(hào)09/436,085所揭示的技術(shù),該申請(qǐng)已轉(zhuǎn)讓給本申請(qǐng)受讓人,通過引用包括在這里。2000年1月28日提交的題為“Quality Based Image Compression”的共同待批美國專利申請(qǐng)09/494,192,描述了應(yīng)用DCT的圖像壓縮與解縮系統(tǒng),該申請(qǐng)已轉(zhuǎn)讓給本申請(qǐng)受讓人,通過引用包括在這里。通常,準(zhǔn)備以數(shù)字域處理的圖形,其像素?cái)?shù)據(jù)被分成不重疊塊的陣列,尺寸為N×N,可對(duì)每一塊作二維DCT由下式定義X(k,l)=α(k)β(l)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塊內(nèi)位置(m,n)處的像素,而X(k,l)為相應(yīng)的DCT系數(shù)。
因像素值非負(fù)數(shù),故DCT分量X(0,0)總是正數(shù),通常具有最大能量。其實(shí)對(duì)典型的圖像而言,大部分變換能量集中在分量X(0,0)周圍,這一能量壓縮特性使DCT技術(shù)成為如此受人關(guān)注的壓縮方法。
該圖像壓縮技術(shù)運(yùn)用反差自適應(yīng)編碼進(jìn)一步減小位速率。據(jù)觀察,大多數(shù)自然的圖像由變化相對(duì)慢的平坦區(qū)和目標(biāo)邊界域高反差結(jié)構(gòu)等忙碌區(qū)組成。反差自適應(yīng)編碼法利用這一因素,對(duì)忙碌區(qū)分配更多的位,對(duì)不忙碌區(qū)分配較少的位。
反差自適應(yīng)方法應(yīng)用幀內(nèi)編碼(空間處理),不用幀間編碼(時(shí)空處理)。幀間編碼除了處理電路更復(fù)雜外,還要求多個(gè)幀緩沖器。在許多場合中,實(shí)際實(shí)施要求降低復(fù)雜性。幀內(nèi)編碼還適合使時(shí)空編碼法效能低下的場合,如可將每秒24幀的影片歸入這一類,因?yàn)闄C(jī)械快門造成的積分時(shí)間相對(duì)短,引起更高度的時(shí)間混淆。對(duì)于不穩(wěn)定的迅速移動(dòng),設(shè)想的幀間相關(guān)性被破壞。在涉及50HZ和60HZ兩種電力線頻率時(shí),幀內(nèi)編碼還更易標(biāo)準(zhǔn)化。目前電視信號(hào)以50HZ或60HZ發(fā)射,應(yīng)用數(shù)字方式的幀內(nèi)法能適應(yīng)50HZ與60HZ兩種操作,通過平衡幀速率與空間分辨率,甚至還適合每秒24幀的影片。
出于圖像處理目的,對(duì)分為不重疊塊陣列的像素?cái)?shù)據(jù)作DCT操作。注意,雖然這里討論的塊尺寸為N×N,但可以設(shè)想出使用各種塊尺寸,例如可使用N×M塊的尺寸,N與M均為整數(shù),而且M大于或小于N。另一要點(diǎn)是可將塊分成至少一層分塊,如N/ixN/i、N/ixN/j、N/ixM/j等,i和j均為整數(shù)。再者,這里討論的示例性塊尺寸是16×16像素塊,帶相應(yīng)的DCT系數(shù)的塊與分塊。還可設(shè)想出各種其它整數(shù),諸如使用奇偶整數(shù)值,例如9×9。
圖1和2示出的圖像處理系統(tǒng)100,結(jié)合了可配置串行化器的理念。該系統(tǒng)100包括壓縮接收視頻信號(hào)的編碼器104。壓縮信號(hào)用傳輸信道或物理媒體108發(fā)送,被譯碼器112接收,后者把收到的編碼數(shù)據(jù)譯碼成圖像樣本再顯示。
圖像一般被分成像素塊作處理。彩色信號(hào)用RGB/YC1C2轉(zhuǎn)換器116從RGB空間轉(zhuǎn)換到Y(jié)C1C2空間,Y是輝度或亮度分量,C1與C2為色度或彩色分量。由于眼睛對(duì)彩色的空間靈敏度低下,故許多系統(tǒng)在水平與垂直方向把C1與C2分量的亞取樣減到1/4。但亞取樣并非必需。在某些場合如涉及“數(shù)字電影”的場合中,4:4:4格式的全分辨率圖像極為有用或者是必需的。兩種可能的YC1C2表示法是YIQ和YUV表示法,二者為本領(lǐng)域熟悉。還可應(yīng)用YUV表示法的變型,即YCbCr,這可進(jìn)一步分為奇偶分量。因而在一實(shí)施例中,使用了表示法Y-偶、Y-奇、Cb-偶、Cb-奇、Cr-偶、Cr-奇。
在一較佳實(shí)施例中,處理每個(gè)奇偶y、Cb與Cr分量,不作亞取樣,因而向編碼器104輸入16×16像素塊的六個(gè)分量。為了說明,示出Y偶分量的編碼器104,對(duì)Y奇分量和奇偶C6與Cr分量同樣使用編碼器。編碼器104包括塊尺寸指定元件120,執(zhí)行塊尺寸指定以供視頻壓縮,并根據(jù)塊中圖像的感性特征決定對(duì)16×16塊的塊分解。根據(jù)16×16塊內(nèi)的活動(dòng)性,塊尺寸指定以象限樹方式把各16×16塊細(xì)分成更小的塊,如8×8、4×4和2×2。塊尺寸指定元件120生成稱為PQR數(shù)據(jù)的象限樹數(shù)據(jù),長度為1~21位。因此,若塊尺寸指定決定要?jiǎng)澐忠?6×16塊,就設(shè)置PQR數(shù)據(jù)的R位,后接Q數(shù)據(jù)對(duì)應(yīng)于四個(gè)劃分的8×8塊的四個(gè)附加位。若塊尺寸指定塊定細(xì)分任一8×8塊,則對(duì)各細(xì)分的8×8塊添加P數(shù)據(jù)的四個(gè)附加位。
現(xiàn)參照?qǐng)D3,該流程圖詳細(xì)示出了塊尺寸指定元件120的操作。塊變化被用作決定的細(xì)分塊的量度。在步驟202開始,讀出像素的一個(gè)16×16塊。在步驟204,計(jì)算該塊的變化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塊內(nèi)第i行第j列的像素。在步驟206,若塊的平均值在兩預(yù)定值之間,就先修改變化閾值T16。得出新閾值T’16,再將塊變化與新閾值T’16比較。
若變化v16不大于閾值T16,則在步驟208把16×16塊的起始地址寫入暫存器,并將PQR數(shù)據(jù)的R位置0,表示不細(xì)分該16×16塊。于是算法讀像素下一個(gè)16×16塊。若變化v16大于閾值T16,則在步驟210把PQR數(shù)據(jù)的R位置1,表示要將該16×16塊細(xì)分成四個(gè)8×8塊。
如步驟212所示,四個(gè)8×8塊i=1:4連續(xù)考慮再細(xì)分。在步驟214,算出各8×8塊的變化v8i。在步驟216,若塊的平均值在兩預(yù)定值之間,就先修改變化閾值T8,得出新閾值T’8,然后將塊變化與該新閾值比較。
若變化v8i不大于閾值T8,則在步驟218把8×8塊的起始地址寫入暫存器,相應(yīng)的Q位Qi置0。然后,處理下一8×8塊。若變化v8i大于閾值T8,則在步驟220將相應(yīng)的Q位Qi置1,表示要將該8×8塊細(xì)分成四個(gè)4×4塊。
如步驟222所示,考慮四個(gè)4×4塊ji=1:4再細(xì)分。在步驟224,算出各4×4塊的變化v4ij。在步驟226,若該塊的平均值在兩預(yù)定值之間,先修改變化閾值T4,得出新閾值T’4,再將塊變化與該新閾值比較。
若變化V4ij不大于閾值T4,則在步驟228寫4×4塊的地址,相應(yīng)的P位Pij置0,再處理下一4×4塊。若變化v4ij大于閾值T4,則在步驟230將相應(yīng)的P位Pij置1,表示要把該4×4塊細(xì)分成四個(gè)2×2塊。此外,將四個(gè)2×2塊的地址寫入暫存器。
閾值T16、T8與T4為預(yù)定常數(shù)。這就是硬判斷。另外,可實(shí)行自適應(yīng)或軟判斷,例如軟判斷根據(jù)2N×2N塊的平均像素值改變諸變化的閾值,其中N可以是8、4或2,從而把平均像素值的函數(shù)用作閾值。
為了說明,看下列實(shí)例。對(duì)16×16、8×8和4×4塊,分別設(shè)Y分量的預(yù)定變化閾值為50、1100和880,換言之,T16=50,T8=1100,T4=880。設(shè)平均值范圍為80和100。假定對(duì)16×16塊算出的變化為60。因60大于T16,而平均值90在80與100之間,故將16×16塊細(xì)分成四個(gè)8×8分塊。假定對(duì)8×8塊算出的變化為1180、935、980與1210,因兩個(gè)8×8塊的變化超出78,故將這兩塊再細(xì)分,得出總共八個(gè)4×4分塊。最后,假定八個(gè)4×4塊的變化為620、630、670、610、590、525、930與690,相應(yīng)的平均值為90、120、110、115,因第一個(gè)4×4塊的平均值在(80,100)范圍內(nèi),其閾值應(yīng)減小到T’4=200,這小于880,故除了第七4×4塊以外,也要細(xì)分該4×4塊。
注意,對(duì)亮度分量Y奇和色度分量Cb-偶、Cb-奇、Cr-偶與Cr-奇,可用類似方法指定塊尺寸。色度分量以水平、垂直兩種方法取1分之一。
另須注意,雖然把塊尺寸指定描述為自上而下的方式,其中首先評(píng)估最大的塊(本例為16×16),但可以換用自下而上的方式,即首先評(píng)估最小的塊(本例為2×2)。
再回看圖1,PQR數(shù)據(jù)與選擇塊的地址一起送到DCT元件124,后者用PQR數(shù)據(jù)對(duì)選擇的塊執(zhí)行合適尺寸的離散余弦變換,只是選擇的塊需作DCT處理。
圖像處理系統(tǒng)100還包括減少DCT諸DC系數(shù)之間冗余度的DQT元件128。DC系數(shù)位于各DCT塊的左上角,一般比AC系數(shù)大,尺寸差異造成難以設(shè)計(jì)出有效率的可變長度編碼器,故減小DC系數(shù)之間的冗余度是有利的。
DQT元件對(duì)DC系數(shù)執(zhí)行二維DCT,一次取2×2。從4×4塊內(nèi)的2×2塊開始,對(duì)四個(gè)DC系數(shù)作二維DCT,這種2×2DCT稱為差分象限樹變換,或四個(gè)DC系數(shù)的DQT。接著,用DQT系數(shù)與一8×8塊內(nèi)三個(gè)鄰近DC系數(shù)一起計(jì)算下一層DQT。最后,用一16×16塊內(nèi)四個(gè)8×8塊的DC系數(shù)計(jì)算DQT。這樣在16×16塊內(nèi),有一個(gè)真實(shí)的DC系數(shù),其余都是對(duì)應(yīng)于DCT和DQT的AC系數(shù)。
對(duì)量化器設(shè)置變換系數(shù)(DCT與DQT兩種)作量化。在一實(shí)施例中,DCT系數(shù)利用頻率加權(quán)掩碼(FWM)和量化標(biāo)定系數(shù)作量化。FWM是一張與輸入DCT系數(shù)塊同尺寸的頻率權(quán)重表,頻率加權(quán)對(duì)不同的DCT系數(shù)加不同的權(quán)重。加權(quán)設(shè)計(jì)成強(qiáng)調(diào)人的視覺或光學(xué)系統(tǒng)對(duì)其頻率分量更敏感的輸入樣本,不注重視覺或光學(xué)系統(tǒng)對(duì)其頻率分量不大敏感的樣本。加權(quán)法還可根據(jù)視距等因素來設(shè)計(jì)。
權(quán)重按經(jīng)驗(yàn)數(shù)據(jù)選擇。在國際標(biāo)準(zhǔn)組織于1994年發(fā)布的題為“DigitalCompression and encoding of continuous-tone still image-part1Requirements and guidelines”的ISO/IEC ITC1CD10918中,揭示了對(duì)8×8DCT系數(shù)設(shè)計(jì)加權(quán)掩碼的方法,通過引用包括在這里。一般設(shè)計(jì)兩個(gè)FWM,一個(gè)用于亮度分量,一個(gè)用于色度分量。通過取1/10和對(duì)8×8塊內(nèi)插16×16,得到塊尺寸2×2、4×4的FWM表,標(biāo)定系數(shù)控制了量化系數(shù)的質(zhì)量與位速率。
這樣,各DCT系數(shù)按下式量化DCTq(i,j)=[8*DCT(i,j)fwm(i,j)*q±12]]]>式中DCT(i,j)是輸入DCT系數(shù),fwm(i,j)是頻率加權(quán)掩碼,q為標(biāo)定系數(shù),DCTq(i,j)為量化的系數(shù)。注意,根據(jù)DCT系數(shù)的符號(hào),大括號(hào)里的第一項(xiàng)作四舍五入。DQT系數(shù)還用適當(dāng)?shù)募訖?quán)掩碼量化,不過可對(duì)各Y、Cb與Cr分量應(yīng)用多張表或掩碼。
然后,用量化器130或標(biāo)定系數(shù)元件對(duì)像素?cái)?shù)據(jù)和頻率加權(quán)掩碼塊標(biāo)定。DCT系數(shù)量化將其大部分減為零而導(dǎo)致壓縮。在一實(shí)施例中,有32個(gè)對(duì)應(yīng)于平均位速率的標(biāo)定系數(shù)。與MPEG2等其它壓縮法不同,平均位速率的控制基于處理圖像的質(zhì)量而不是目標(biāo)位速率與緩沖器狀態(tài)。
為進(jìn)一步提高壓縮,把量化的系數(shù)送到掃描串行化器134,后者掃描量化系數(shù)塊,產(chǎn)生串行化的量化系數(shù)流??蓱?yīng)用Z字形掃描、列掃描或行掃描。還可選用若干不同的Z字形掃描圖案及其圖案。一較佳技術(shù)對(duì)Z字形掃描應(yīng)用8×8塊尺寸。量化系數(shù)的Z字形掃描改善了遇到零值連續(xù)大的機(jī)會(huì),而這種零連續(xù)本身具有遞減的概率,可用Huffman碼有效地編碼。
串行化、量化的系數(shù)流被送到可變長度編碼器138。Z編碼器在零與非零系數(shù)之間分離量化系數(shù),參照?qǐng)D6作詳述。在一實(shí)施例中,應(yīng)用了Golomb-Rice編碼法,有利于編碼指數(shù)分布的非負(fù)整數(shù)。應(yīng)用Golomb碼對(duì)指數(shù)分布狀變量提供更短長度碼,對(duì)壓縮更佳。
在Golomb編碼連續(xù)長度中,Golomb碼被非負(fù)整數(shù)m參數(shù)化,如給出參數(shù)m,正整數(shù)n的Golomb編碼表示為一元碼的商n/m后接用修改二元碼表示的余數(shù),若該余數(shù)小于2[log2m]-m,它為[log2m]位長,否則為[log2m]位長。Golomb-Rice編碼是Golomb編碼的特殊情況,參數(shù)m表示為m=2K。在此情況下,通過將參數(shù)n的二進(jìn)制表示右移K位得到商n/m,而n/m的余數(shù)用n的最低K位表示。因此,Golomb-Rice碼是兩者的串接。Golomb-Rice編碼法可對(duì)兩側(cè)幾何形狀(指數(shù))分布的正負(fù)兩種整數(shù)編碼,公式如下
Pα(x)=cα|x|(1)式(1)中,α是表征X概率衰落的參數(shù),C為歸一化常數(shù)。因p。(X)是單調(diào)的,故可看出,整數(shù)值序列應(yīng)滿足pα(xi=0)≥pα(xi=-1)≥pα(xi=+1)≥pα(xi=-2)≥… (2)如圖4a~4c和5a~5c所示,量化的DCT系數(shù)矩陣中的零連續(xù)與幅度都具有指數(shù)分布,圖中示出的分布基于來自實(shí)際圖像的數(shù)據(jù)。圖4a示出零連續(xù)長度與相對(duì)頻率的Y分量分布400,同樣地,圖4b和4c示出零連續(xù)長度與相對(duì)頻率410和420的Cb與Cr分量分布。圖5a示出幅度大小與相對(duì)頻率的Y分量分布,同樣地,圖5b和5c分別示出幅度大小與相對(duì)頻率510和520的Cb與Cr分量分布。注意,在圖5a~5c中,圖表示DCT系數(shù)大小的分布。每個(gè)大小代表一系數(shù)值范圍,例如四的大小值的范圍為{-15,-14,……-8,8,……14,15},共16個(gè)值。同樣地,+的大小值的范圍為{-1023,-1022,……,-512,512,……,1022,1023},共1024個(gè)值。從圖4a~4c和5a~5c可以看出,連續(xù)長度和幅度大小都具有指數(shù)分布。幅度的實(shí)際分布適合公式(3)p(Xk,l)=2λ2exp{-2λ|Xk,l|},k,l≠0...(3)]]>式(3)中,XK,l代表沿垂直與水平維度分別對(duì)應(yīng)于頻率K與l的DCT系數(shù),而均值μx=1/2λ,]]>變化σx2=12λ.]]>因而在處理DCT中的數(shù)據(jù)時(shí),以所述方式應(yīng)用Golomb-Rice編碼法更佳。
雖然下面描述圖像數(shù)據(jù)壓縮,但諸實(shí)施例同樣適用于壓縮音頻數(shù)據(jù)的實(shí)施例。壓縮圖像數(shù)據(jù)時(shí),圖像或視頻信號(hào)可以是例如RGB或YIQ或YUV或YCbCr分量,具有線性或?qū)?shù)編碼像素值。
圖6示出零與非零系數(shù)的編碼過程600。當(dāng)掃描DCT矩陣時(shí),零與非零系數(shù)被分別處理并分開(604)。對(duì)零數(shù)據(jù),確定零連續(xù)長度(608)。注意,連續(xù)長度為正整數(shù)。例如,若求出連續(xù)長度為n,則確定Golomb參數(shù)m(612)。在一實(shí)施例中,Golomb參數(shù)定為連續(xù)長度的函數(shù)。在另一實(shí)施例中,由式(4)確定Golomb參數(shù)(m)m=[log2n] (4)另一方法是用計(jì)數(shù)器或寄存器統(tǒng)計(jì)連續(xù)長度的長度和有關(guān)的Golomb參數(shù)(616)。為編碼零連續(xù)長度n,對(duì)商作編碼(620)。在一實(shí)施例中,商被定為零連續(xù)長度和Golomb參數(shù)的函數(shù)。在另一實(shí)施例中,商(Q)由式(5)確定Q=[n/2m] (5)在一實(shí)施例中,商Q以一元碼編碼,要求Q+1位。接著,對(duì)余數(shù)編(624)。在一實(shí)施例中,余數(shù)被編碼為連續(xù)長度與商的函數(shù)。在另一實(shí)施例中,用式(6)確定余數(shù)(R)R=n-2mQ(6)在一實(shí)施例中,余數(shù)R以m位二進(jìn)制碼編碼。之后確定商Q與余數(shù)R,將Q與R的代碼串接起來(628),代表零連續(xù)長度n的總碼。
非零函數(shù)也用Golomb-Rice編碼。因系數(shù)幅度可正可負(fù),故必須使用符號(hào)位并編碼給定幅度的絕對(duì)值。給出的非零函數(shù)的幅度為x,可把該幅度表示為幅度絕對(duì)值與符號(hào)的函數(shù)。因此,可用式(7)把幅度表示為y 相應(yīng)地,非零系數(shù)值有選擇地用計(jì)數(shù)器或寄存器統(tǒng)計(jì)(632)。然后,判斷該幅度大于還是等于零(636),若是,把該值編碼為給出值的二倍(640);若不是,則把該值編碼為小于絕對(duì)值二倍的值(644)。還可應(yīng)用其它映射方法,關(guān)鍵在于不要求區(qū)分值符號(hào)的額外位。
編碼公式(7)表示的幅度,造成x的正值為偶整數(shù),負(fù)值變成奇整數(shù)。而且,該映射法把x的概率指定保留在式(2)中。式(7)所示的編碼法,其優(yōu)點(diǎn)是可避免用符號(hào)位代表正負(fù)數(shù)。映射后,以對(duì)零連續(xù)同樣的方式對(duì)y編碼,操作一直連續(xù)到當(dāng)前塊中掃描了所有的系數(shù)。
重要的是,雖然本發(fā)明諸實(shí)施例把系數(shù)值和連續(xù)長度定為式(1)~(7)的函數(shù),但不一定應(yīng)用精密的公式(1)~(7)。利用Golomb-Rice編碼和DCT系數(shù)的指數(shù)分布,可更有效地壓縮音像數(shù)據(jù)。
由于編碼后的零連續(xù)與非零幅度區(qū)分不出,故必需應(yīng)用固定長度的專用前綴碼來標(biāo)志第一零連續(xù)的出現(xiàn)。在遇到一非零幅度后,通常在塊中會(huì)遇到全零,此時(shí)使用塊結(jié)束(EOB)碼而不用Golomb-Rice碼更有效。EOB碼仍可選為專用固定長度碼。
根據(jù)式(1)或(3),DCT系數(shù)矩陣中幅度或連續(xù)長度的概率分布用α或λ參數(shù)化,這意味著若出現(xiàn)不是一特定DCT系數(shù)塊的范圍,就可提高編碼效率,于是可使用一合適的Golomb-Rice參數(shù)編碼有關(guān)量。在一實(shí)施例中,對(duì)每個(gè)連續(xù)長度與幅度大小值用計(jì)數(shù)器或寄存器來計(jì)算各自累計(jì)值和相應(yīng)的該值出現(xiàn)次數(shù)。例如,若存貯累計(jì)值與累計(jì)元件數(shù)的寄存器分別為Rrl與Nrl,則下面的式(6)可用作編碼連續(xù)長度的Rice-Golomb參數(shù)[log2RrlNrl]...(6)]]>對(duì)幅度可應(yīng)用類似方法。
回過來再看圖1,編碼器104生成的壓縮圖像信號(hào),可用緩沖器142暫存,然后用傳輸信道108發(fā)送給譯碼器112。傳輸信道108可以是物理媒體,如磁學(xué)或光學(xué)存貯裝置,或是有線或無線傳輸處理或設(shè)備。含塊尺寸指定信息的PQR數(shù)據(jù)也送到譯碼器112(圖2),后者包括緩沖器164和可變長度譯碼器168,譯碼器168對(duì)連續(xù)長度值和非零值譯碼,其操作方式與圖6所述譯碼器相似但相反。
可變長度譯碼器168的輸出供給逆串行化器172,后者按采用的掃描法排列諸系數(shù)。例如,若應(yīng)用混合的Z字形掃描、垂直掃描和水平掃描,逆串行化器172就根據(jù)應(yīng)用的掃描類型正確地重排諸系數(shù)。逆串行化器172接收PQR數(shù)據(jù),幫助將諸系數(shù)正確地排列成一合成系數(shù)塊。
由于使用了量化器標(biāo)定系數(shù)和頻率加權(quán)掩碼,為使處理恢復(fù)原狀,把合成塊送給逆量化器174。
若應(yīng)用了差分象限樹變換,則把系數(shù)塊送到IPQT元件186,后接IDCT元件190,否則直接送到IDCT元件190。IDQT和IDCT元件186與190對(duì)系數(shù)作逆變換,產(chǎn)生像素?cái)?shù)據(jù)塊。然后該像素?cái)?shù)據(jù)必須內(nèi)插轉(zhuǎn)換成RGB形式,再存貯起來供將來顯示。
圖7示出一Golomb-Rice編碼設(shè)備700,該設(shè)備較佳地執(zhí)行圖6所述的過程。確定器704確定連續(xù)長度(n)和Golomb參數(shù)(m)?;蛘邔?duì)每個(gè)連續(xù)長度與幅度大小值用計(jì)數(shù)器或寄存器708計(jì)算各自的累計(jì)值和相應(yīng)的該值出現(xiàn)的次數(shù)。編碼器712將商(Q)編碼為連續(xù)長度和Golomb參數(shù)的函數(shù)。在另一實(shí)施例中,編碼器712還把非零數(shù)據(jù)編碼為非零數(shù)據(jù)值及其符號(hào)的函數(shù)。Q值與R值用串接器716串接。
作為舉例,結(jié)合本文揭示的諸實(shí)施例描述的諸示例性邏輯塊、流程圖和步驟,可用硬軟件實(shí)現(xiàn),包括專用集成電路(ASIC)、可編程邏輯裝置、分立門或晶體管邏輯、諸如寄存器與FIFD等分立硬件元件、執(zhí)行固件指令組的處理器、任一普通可編程軟件與處理器或它們的任何組合。處理器以微處理器有利,但也可以是任一普通處理器、控制器、微控制器或狀態(tài)機(jī)。軟件可駐留于RM、閃光天存儲(chǔ)器、ROM、寄存器、硬盤、可卸盤、CD-ROM、DVD-ROM或本領(lǐng)域已知的任何其它形式的存貯媒體。
前述諸較佳實(shí)施例供本領(lǐng)域技術(shù)人員制作或應(yīng)用本發(fā)明,對(duì)這些實(shí)施例的各種修正對(duì)他們是顯而易見的,本文限定的一般原理可應(yīng)用于其它實(shí)施例而無須應(yīng)用創(chuàng)造才智。因此,本發(fā)明并不限于本文所示的諸實(shí)施例,而是負(fù)荷本文揭示的原理與新特征最廣泛的范圍。
本發(fā)明的其它特征和優(yōu)點(diǎn)在下面的權(quán)利要求中提出。
權(quán)利要求
1.一種在數(shù)字影院系統(tǒng)中壓縮數(shù)字圖像的方法,所述圖像包括被分離成彩色分量的像素?cái)?shù)據(jù),其特征在于,該方法包括以下操作讀取像素?cái)?shù)據(jù)的一組彩色分量;生成塊尺寸指定,將該組像素彩色分量分成像素?cái)?shù)據(jù)分塊;把所述像素?cái)?shù)據(jù)分塊變換成相應(yīng)的頻域表述;和把頻域表述換算成數(shù)據(jù)流,其中的換算操作基于與像質(zhì)相關(guān)的品質(zhì)量度;把來自所述數(shù)據(jù)流的至少一組數(shù)據(jù)編成用一16×16塊表示的數(shù)據(jù);把16×16數(shù)據(jù)組分成用四個(gè)8×8塊表示的組;對(duì)四個(gè)8×8數(shù)據(jù)塊的每一塊作串行化;和用指數(shù)分布對(duì)串行化數(shù)據(jù)作連續(xù)長度編碼。
2.如權(quán)利要求1所述的方法,其特征在于,所述連續(xù)長度編碼是累計(jì)值和特定值相應(yīng)出現(xiàn)次數(shù)的函數(shù)。
3.如權(quán)利要求1所述的方法,其特征在于,用下式確定連續(xù)長度碼[log2Rr1Nr1]]]>式中,Rrl是諸元的累計(jì)值,Nrl是該特定值相應(yīng)出現(xiàn)的次數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,換算操作還包括向所述像素?cái)?shù)據(jù)分塊提供頻率加權(quán)的掩碼,使頻率加權(quán)掩碼強(qiáng)調(diào)人的視覺系統(tǒng)更敏感的圖像部分,而不重視人的視覺系統(tǒng)不大敏感的圖像部分。
5.如權(quán)利要求1所述的方法,其特征在于,變換操作執(zhí)行離散余弦變換。
6.如權(quán)利要求1所述的方法,其特征在于,變換操作執(zhí)行離散余弦變換,然后是差分象限樹變換(Differential Quad-tree Transform)。
7.一種在數(shù)字影院系統(tǒng)中壓縮數(shù)字圖像的設(shè)備,所述圖像包括像素?cái)?shù)據(jù),所述像素?cái)?shù)據(jù)分離成諸彩色分量,其特征在于,該設(shè)備包括以下操作讀取一組像素?cái)?shù)據(jù)彩色分量的裝置;生成一塊尺寸指定以把該組像素的彩色分量分成像素?cái)?shù)據(jù)分塊的裝置;把像素?cái)?shù)據(jù)分塊變換成頻域表述的裝置;和把頻域表述換算成數(shù)據(jù)流的裝置,其中,換算操作基于與圖像質(zhì)量相關(guān)的品質(zhì)量度;把至少一組來自數(shù)據(jù)流的數(shù)據(jù)編成可用16×16塊表示的數(shù)據(jù)的裝置;把該組16×16數(shù)據(jù)分成可用四個(gè)8×8塊表示的組的裝置;使四個(gè)8×8數(shù)據(jù)塊的每一塊串行化的裝置;和用指數(shù)分布對(duì)串行化數(shù)據(jù)作連續(xù)長度編碼的裝置。
8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述連續(xù)長度編碼是累計(jì)值和特定值相應(yīng)出現(xiàn)次數(shù)的函數(shù)。
9.如權(quán)利要求7所述的設(shè)備,其特征在于,用下述公式來確定連續(xù)長度碼,[log2Rr1Nr1]]]>式中,Rrl是諸元的累計(jì)值,Nrl是該特定值相應(yīng)出現(xiàn)的次數(shù)。
10.如權(quán)利要求7所述的設(shè)備,其特征在于,換算裝置還包括向所述像素?cái)?shù)據(jù)分塊提供頻率加權(quán)掩碼的裝置,使頻率加權(quán)掩碼強(qiáng)調(diào)人的視覺系統(tǒng)更敏感的圖像部分,而不重視人的視覺系統(tǒng)不大敏感的圖像部分。
11.如權(quán)利要求7所述的設(shè)備,其特征在于,變換裝置配置成執(zhí)行離散余弦變換。
12.如權(quán)利要求7所述的設(shè)備,其特征在于,變換操作執(zhí)行離散余弦變換接著作差分象限樹變換。
13.如權(quán)利要求7所述的設(shè)備,其特征在于,還包括統(tǒng)計(jì)尺寸值和這些值在串行化數(shù)據(jù)中相應(yīng)出現(xiàn)次數(shù)的裝置。
全文摘要
提出一種對(duì)量化頻率表示的數(shù)據(jù)編碼的設(shè)備與方法(600),所述數(shù)據(jù)包括零和表示非零的數(shù)據(jù)。對(duì)表示零的數(shù)據(jù),確定零連續(xù)長度。把Golomb參數(shù)定為該零連續(xù)長度的函數(shù),商編碼為零連續(xù)長度和Golomb參數(shù)的函數(shù),余數(shù)編碼為零連續(xù)長度、Golomb參數(shù)和商的函數(shù)。編碼的商與余數(shù)串接。對(duì)表示非零的數(shù)據(jù),把非零數(shù)據(jù)編碼為該非零數(shù)據(jù)值及其符號(hào)的函數(shù)。
文檔編號(hào)H04N7/30GK1893659SQ20061010136
公開日2007年1月10日 申請(qǐng)日期2002年6月17日 優(yōu)先權(quán)日2001年6月29日
發(fā)明者K·蒂亞加拉簡 申請(qǐng)人:高通股份有限公司