專利名稱:基于存儲器的用于圖象壓縮vlsi結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及圖象處理和計算機圖形學領(lǐng)域。特別說,本發(fā)明涉及執(zhí)行圖象處理和壓縮的結(jié)構(gòu)和方法。
在小型或者便攜設(shè)備諸如數(shù)字照相機中,圖象壓縮的目標是減少數(shù)據(jù)的存儲器和處理需求而仍能保持可接受的畫面質(zhì)量。當存儲器和處理需求減少時,照相機的總功率消耗也減少,因為執(zhí)行處理的VLSI(超大規(guī)模集成)芯片更緊密。用于傳輸或存儲靜止圖象或運動視頻的位速率的減少也加快攝取圖象的過程,然后下載它們到PC(個人計算機)或其它更復(fù)雜的數(shù)據(jù)處理系統(tǒng)。
不論是由諸如VLSI等硬件還是由軟件執(zhí)行的圖象壓縮技術(shù)都可以歸類到“有損失”或“無損失”中的一類。對于無損失壓縮,壓縮前的原來圖象可以在壓縮圖象被解壓縮時精確恢復(fù)。因此,壓縮比依賴于圖象的平均信息量的無損失技術(shù)達不到高壓縮比,而且因為它們保存原來圖象信息的高百分比,所以計算開銷昂貴。與此相反,有損失壓縮只提供原來圖象的近似。這樣,對于有損失壓縮,可以達到較大壓縮比,但是與無損失技術(shù)相比,圖象質(zhì)量有損失。一種這樣的有損失技術(shù)稱為“預(yù)測編碼”(也稱為數(shù)字脈沖編碼調(diào)制(DPCM),其在該技術(shù)中公知),該技術(shù)通過線性結(jié)合已經(jīng)處理的相鄰象素的屬性而預(yù)測后繼象素的值。把原來圖象象素和相應(yīng)預(yù)測的象素之間的差定義為誤差象素。該誤差象素被量化,然后二進制編碼。常規(guī)做法是,與編碼截然不同執(zhí)行量化,這使得處理電路或軟件算法復(fù)雜。
實現(xiàn)這種計算上強化的技術(shù)與適用于希望圖象壓縮的數(shù)字照相機和便攜、小型設(shè)備的電路數(shù)目相比要求更多的VISI電路。這樣,需要較簡單的結(jié)構(gòu)來執(zhí)行這些技術(shù),同時節(jié)省工耗及保持該種壓縮技術(shù)的準確性。
公開了一種圖象壓縮裝置,它包括提供量化代碼的第一查閱表、提供代碼長度的第二查閱表、和為索引這些查閱表而產(chǎn)生地址的預(yù)測編碼電路。
本發(fā)明的方法和裝置的目的、特征和優(yōu)點從下述說明中可明顯看出,其中
圖1是本發(fā)明的一個實施例的方框圖;圖2是根據(jù)本發(fā)明的第二實施例的方框圖;圖3是根據(jù)本發(fā)明的第三實施例的圖;圖4是本發(fā)明的一個實施例的系統(tǒng)圖。
現(xiàn)在參考
本發(fā)明的示范性實施例。提供示范性實施例來說明本發(fā)明的方面,而不應(yīng)該理解為限制本發(fā)明的范圍。示范性實施例的說明主要參考方框圖或流程圖進行。至于流程圖,在流程圖中的每一框既表示一個方法步驟,也表示執(zhí)行該方法步驟的裝置元件。根據(jù)實施情況,相應(yīng)裝置元件可以以硬件、軟件、固件或其組合配置。
圖1是本發(fā)明的一個實施例的方框圖。
圖1表示基于表查閱的圖象壓縮系統(tǒng)。圖1可以幾種方式與現(xiàn)有技術(shù)圖象壓縮系統(tǒng)區(qū)別。首先,使用一個特殊的預(yù)測編碼或自適應(yīng)去相關(guān)電路,第二,使用查閱表以集成方式執(zhí)行量化和二進制編碼?,F(xiàn)有技術(shù)系統(tǒng)不使用集成的量化和編碼查閱表,也不使用基于查閱表的預(yù)測編碼,其在后面說明。圖1的裝置在下述一點極具優(yōu)點,即可以使用RAM(隨機存取存儲器)實現(xiàn)查閱表,這樣比使用電路的現(xiàn)有技術(shù)系統(tǒng)較便宜和較少功耗。雖然圖1表示查閱表壓縮的一種實現(xiàn),但它僅是一個例子。熟悉本技術(shù)領(lǐng)域的人可以容易地使查閱表的結(jié)構(gòu)適應(yīng)任何圖象或數(shù)據(jù)壓縮系統(tǒng)。
圖1表示作為輸入的象素數(shù)據(jù)Pi,它起源于圖象攝取設(shè)備的縮放設(shè)備或其它部件或為傳遞圖象信息而配置的端口。象素數(shù)據(jù)Pi表示與定義在執(zhí)行壓縮的圖象中的一個象素相關(guān)的一個或多個數(shù)值。它可能是表示顏色諸如R(紅)、G(綠)和B(蘭)色級(color plane)分量的單一值或一組這樣的值。通常,每一Pi是一個象素“分量”(R,G或B),并與相鄰分量插在一起而形成單一屏幕可表示的RGB混合象素。當圖象最后輸出到顯示器或打印機時通常實現(xiàn)象素分量的混合。
表示為8位無符號數(shù)值的每一Pi輸入到差分電路100。差分電路100計算在前一預(yù)測象素分量P’i-1和原來象素分量Pi之間的差。差分電路100產(chǎn)生和提供一個9位的帶符號數(shù)值Δ=Pi-P’i-1作為輸出,它在預(yù)測編碼和圖象壓縮技術(shù)中稱為“誤差”或Δ(delta)值。下面將要討論到,每一象素分量Pi具有由預(yù)測編碼電路提供的前一預(yù)測象素分量P’i-1。前一預(yù)測象素分量P’i-1供給差分電路為將來下一象素分量Pi使用。
通過以線性組合關(guān)聯(lián)先前訪問的相鄰象素分量來產(chǎn)生預(yù)測象素分量Pi’。在預(yù)測編碼中,可以使用任何數(shù)目的相鄰象素分量來預(yù)測象素分量值。例如,一維預(yù)測編碼或者取北鄰(同一列,前一行),或者取西鄰(同一行,前一列)。二維預(yù)測編碼包括例如既有北鄰也有西鄰的象素。圖1的實施例表示基于西鄰象素的一維預(yù)測編碼。
預(yù)測編碼電路10如下操作。差分電路100產(chǎn)生Δ,它為表示Pi和P’i-1之間差的一個9位帶符號數(shù)值。這一“誤差”值Δ用作對查閱表(LUT)110的一個地址。LUT110是一個計算逆量化值的查閱表。LUT110既可存儲量化值,也可存儲對給定Δ或誤差的逆量化值。LUT110輸出一個“恢復(fù)的”誤差值Δ’,用于圖1所示誤差恢復(fù)電路。
由LUT110輸出的恢復(fù)誤差值Δ’是量化和逆量化兩者的結(jié)果。例如,誤差值Δ=96可以具有12的量化值。該量化值12在逆量化時將產(chǎn)生例如為98的恢復(fù)誤差Δ’。正是該量化損失便利了壓縮。用以編輯查閱表的量化公式可以產(chǎn)生許多值,諸如96以及98,它們都映射到一個量化值12。當逆量化時,值12在上面的例子里總產(chǎn)生逆量化值98,而不管“12”是從量化誤差值96還是98得出。
這一誤差由于量化誤差值到一個較小的數(shù)值集合,有可能傳播到象素的整行,除非應(yīng)用恢復(fù)機構(gòu)。誤差恢復(fù)電路15尋求減少誤差的傳播,這通過為未來預(yù)測的象素分量反饋和相加前一預(yù)測象素分量值與將來恢復(fù)誤差值Δ’而實現(xiàn)。
求和電路160把恢復(fù)的誤差Δ’與前一預(yù)測象素P’i-1相加在一起。該和輸入到寄存器組170,它存儲和保持值Δ’+P’i-1,直到下一Δ’準備好被相加。前一預(yù)測象素分量P’i-1也輸入到差分電路100以便從實際象素分量Pi中減去。由求和電路160和寄存器組組成的誤差恢復(fù)電路15基本上是解壓縮或正向圖象壓縮處理的逆。因此,代替取原來輸入象素分量值用于預(yù)測計算,而使用解壓縮的(逆量化的)象素分量計算下一后繼預(yù)測值。這模擬發(fā)生在接收機側(cè)的(亦即在解壓縮期間)預(yù)測。作為其結(jié)果,使每一分量的量化誤差保持局部化在該特定象素上。
如前所述,預(yù)測編碼電路10為每一象素分量Pi產(chǎn)生一個誤差值Δ。使用第二LUT120以集成方式執(zhí)行量化和編碼。例如,再次假定Δ=96可以具有量化值12。LUT120將存儲全范圍的可能的Δ值作為地址,以索引量化的值及其鍵字(編碼的)。
第三LUT130存儲長度信息,并在假定8位象素分量下使用4位提供每一碼字的大小。由LUT120提供的碼字是為一個特定誤差值Δ的量化值的一個二進制編碼的等值。通過使用來自LUT130的大小信息和由LUT120提供的二進制碼字,打包電路150可以為把數(shù)據(jù)傳輸給其它部件或設(shè)備而安排和排序碼字。由打包器電路發(fā)出的碼字包含表示一個壓縮圖象的足夠信息,并可以在后來被解壓縮以恢復(fù)作為為整個圖象的Pi值集合被送往預(yù)測編碼電路的原來攝取的圖象的稍微修改后的版本。
在圖1的例子中,利用使用西鄰象素分量的一維預(yù)測編碼。這樣,一個特定行j的正好是第一的象素分量P1沒有前一預(yù)測象素分量P0′,因為對于P1沒有西鄰。因此,應(yīng)該把每行的第一象素P1直接提供給打包電路不加改變地編碼。為便利這一操作,多路轉(zhuǎn)換器140為一行中P1后的所有象素選擇由LUT120提供的碼字,而在正好是第一的象素分量要被編碼時選擇P1。由多路轉(zhuǎn)換器140選擇的值,無論是來自LUT120的碼字,還是P1,都由打包電路150打包。下面的表1表示為一行作為例子的頭4個象素分量P1、P2、P3和P4的值。表1
第一象素分量P1具有值96。把0值從寄存組170供給差分電路100,寄存器組170在操作一個新象素行時清除。這樣,對于第一象素的每一值,Δ、Δ′和P’i-1也是96。P′在i=2之前實際不輸出。
下一象素分量P2具有值13。Δ是P2-P′1=13-96=-83。Δ′是逆量化值,它將值-83估計為例如-84。P′2是Δ′+P′1=-84+96=12。以類似方式,可以得到對于i=3,4等等的所示值。
在另一可選的實施例中,可以使用二維預(yù)測編碼代替一維編碼。二維預(yù)測編碼既使用北鄰象素,也使用西鄰象素,雖然查閱表方法類似,但是反饋電路將變化。這樣的二維預(yù)測編碼系統(tǒng)表示在下面的圖5中。
執(zhí)行上述計算的預(yù)測編碼電路10的優(yōu)點在于使用查閱表,亦即LUT110。這樣的查閱表通過與ASICs和其它專門的更為復(fù)雜的電路功能組合而大大簡化了預(yù)測編碼電路。LUT110可以由兩列組成,如下表2所示表2
因此LUT110可以是一個簡單的可尋址存儲器,諸如RAM,其使用值Δ作為查閱相應(yīng)值Δ′的一個地址。這樣的RAM查閱表與量化和逆量化電路相比不貴,傳統(tǒng)上使用后者來執(zhí)行同樣的功能。在諸如使用便攜數(shù)字照相機攝取靜止圖象的應(yīng)用中,可以預(yù)先編輯好量化和逆量化,而且為所有攝取的圖象使用同樣的數(shù)值表。
另外,圖1所示圖象壓縮裝置進一步的優(yōu)點在于,避免了復(fù)雜的二進制/碼字編碼過程。在二進制/碼字編碼中,數(shù)值以某一二進制形式表示,諸如1的補,還被進一步使用一種編碼方案諸如著名的Huffman編碼加以編碼。這樣的編碼逐位執(zhí)行,于是可能使用用CMOS實現(xiàn)的鎖存器和邏輯門。甚至比二進制/碼字編碼更復(fù)雜的是量化過程。量化包括映射第一組數(shù)值到一個較小數(shù)值組。在圖象壓縮中,按照各種公式實現(xiàn)量化,這些公式盡管可以很容易由數(shù)據(jù)處理系統(tǒng)計算,但是對于小型、便攜成像系統(tǒng)過于復(fù)雜。成像系統(tǒng),諸如數(shù)字照相機,需要能夠計算表示視覺響應(yīng)等的公式,它們可能在數(shù)學上相當嚴格的。照相機不僅必須計算涉及誤差或者Δ值x和量化值y這樣的公式,而且它應(yīng)該以迅速而有效的方式即時(on-the-fly)這樣做,使得壓縮要快??焖賶嚎s允許數(shù)字照相機快拍下一照片,亦即攝取下一圖象,不至延遲太多。重復(fù)一遍,盡管計算機系統(tǒng)可能以其處理能力和或許專用視頻壓縮芯片在短時間內(nèi)壓縮圖象,但是數(shù)字照相機,如果它要便攜且成本高效的話,則不太可能這樣做。于是,圖象壓縮靜止照相機的焦點應(yīng)該減少處理步驟的數(shù)目和復(fù)雜性。根據(jù)本發(fā)明的各種實施例及其修改方案,一個預(yù)編輯的查閱表可以實現(xiàn)這一目的。
圖2是根據(jù)本發(fā)明的第二實施例的方框圖。
圖2表示執(zhí)行圖象壓縮的流水線結(jié)構(gòu)。圖1所示預(yù)測編碼電路10優(yōu)選有目的地對象素的一個“分量”(R,G或B)工作。在這一方面,圖2表示一個第一預(yù)測編碼電路210,它類似于圖1的預(yù)測編碼電路10,并在象素的R或者紅顏色級分量上操作。類似地,所示第二預(yù)測編碼電路220在G或者綠顏色級分量上操作,所示第三預(yù)測編碼電路230在象素的B或者蘭顏色級分量上操作。在該實施例中,提供多路轉(zhuǎn)換器205選擇在其上放置輸入象素分量的3條輸出線中的一條。使用兩條選擇線,TAG1和TAG0,來使用兩位標簽信息,相應(yīng)確定分量路由。下面將會討論,象素分量的排序?qū)⒃试S它們在解壓縮期間恰當混合。另外,該實施例保證為每一顏色分量分別執(zhí)行預(yù)測編碼。從紅誤差值預(yù)測紅誤差值,從綠誤差值預(yù)測綠誤差值,等等。這在預(yù)測時通過匹配“顏色”幫助預(yù)測編碼發(fā)生。如果有單獨的R、G和B傳感器用于檢測不同的象素分量,則可以避免多路轉(zhuǎn)換器。優(yōu)點是,這樣的系統(tǒng)能夠同時處理多于一個的分量。每一預(yù)測編碼電路210、220和230都能夠訪問單一組LUT,第一LUT"f"240和第二LUT"長度"250。如在圖1中所述,LUT240是一個RAM或其它存儲器查閱表,它接受由預(yù)測編碼電路產(chǎn)生的誤差值作為索引地址。使用該地址,預(yù)編輯的LUT240能夠提供碼字等值,它隱含一個兩步驟的量化和編碼過程。LUT250為每一索引地址提供為打包電路指示每一碼字總位數(shù)的長度信息。索引地址是由預(yù)測編碼電路提供的一個誤差值。
另一可選的方案是,每一預(yù)測編碼電路可以配置為同時索引LUT240以及LUT250,使得對單一象素的顏色級分量的處理不需要流水線處理,而可以以真正并行方式發(fā)生。這一點是可能的,因為在大多數(shù)傳統(tǒng)的圖象感測中,當感測時給R、G和B分量分配一個偶數(shù)位數(shù)。在不是這種情況的系統(tǒng)中,可以修改該并行結(jié)構(gòu),使之包括具有3個單獨子表的LUT,每一分量一個,或者這些分量可以轉(zhuǎn)變?yōu)榫哂邢嗟任粩?shù)。然而,例如對于產(chǎn)生8位R、8位G和8位B分量的成象系統(tǒng),長度為2N+1-1的單一表足以為所有可能的誤差值(在范圍-255到+255內(nèi))提供碼字。對長度LUT,同樣的原則適用。
雖然每一顏色級分量不需單獨的表,但是重要的是為每一分量誤差值確定該值是表示傳感器攝取還是輸入的R、G或B分量。希望知道這一點,以便在再現(xiàn)該象素和給顯示器、打印機或其它輸出設(shè)備光柵輸出,以及為在攝取設(shè)備自身上存儲時,可以把R、G和B分量正確混合而組成該象素的最終顏色強度。例如,如果使用蘭色(B)分量值來預(yù)測紅色(R),則在解壓縮時得到的混合顏色或許不正確地表示圖象的原來顏色。為保證恰當組合,打包器可以使用伴隨由每一預(yù)測編碼電路提供的誤差值的“TAG(標簽)”信息,以任意希望的順序排列R、G和B碼字。這些TAG信息(TAG0和TAG1)只是標識R、G或B的兩位序列,在LUT的輸出端不加改變通過。TAG信息最初可以被剝離并沿單獨的信號線通過,以便不使索引處理復(fù)雜化。
在一個實施例中,當象素從圖象傳感器前向送出時,這些象素的排序遵照一種特定的模式,諸如拜爾(Bayer)模式,其在該技術(shù)中公知,表示如下
上面作為示例的拜爾模式表示每一偶數(shù)行僅由交替的紅象素(R)和綠象素(G1-偶數(shù)行綠)組成,它們分別加00(R)和01(G)標簽,以便由打包器識別。類似地,奇數(shù)行僅由交替的G2和B象素組成,它們類似地分別加10(G2-奇數(shù)行綠)和11(B)標簽。打包單元交替地打包偶數(shù)行中的R和G1象素的碼字,奇數(shù)行中的G2和B的碼字。標簽用以標識碼字的顏色。該標簽實際上不包括在打包的位流中。注意在奇數(shù)行和偶數(shù)行中的綠象素被不同處理,因此,它們分別標識為G1和G2,所加標簽為01和10。
圖2的并行結(jié)構(gòu)通過僅使用兩張一組的表來處理所有3種顏色級分量而充分地使用基于LUT的圖象壓縮的優(yōu)點。這種預(yù)測編碼圖象壓縮方案的一個特征是無顏色變換。該方案不依賴于某個特定顏色空間。由于數(shù)字照相機的成像傳感器在R、G、B分量原理上工作,因此,圖象壓縮可以對R、G、B執(zhí)行,不變換為任何其它顏色分量格式,例如像YUV(Y-亮度,U-顏色,V-色度)或CMYK(青,洋紅,黃,黑)。
圖3是根據(jù)本發(fā)明的第三實施例的圖。
圖3是一個圖象攝取設(shè)備的內(nèi)部圖象處理和壓縮部件的方框圖。傳感器300,諸如CMOS或CCD傳感器,產(chǎn)生象素分量,它們是來自某些圖象源的顏色/強度值。由傳感器300產(chǎn)生的10位象素值送往攝取接口310。在數(shù)字照相機應(yīng)用中的傳感器300通常檢測來自一個區(qū)域或者位置的一次“感測”的R、G或B分量中的一個。這些分量當為顯示或輸出而再現(xiàn)時可以插在一起,形成高階(16位,24位等)組合象素。攝取接口310攝取由CMOS傳感器產(chǎn)生的圖象并為帶有單個象素的象素添加標識顏色分量的標簽。這些標簽每一個為兩位,例如對R(紅)、G1(偶數(shù)行綠)、G2(奇數(shù)行綠)、B(蘭)象素分別為00、01、10和11。
象素的排序和G1和G2的關(guān)聯(lián)性已在上面相對于圖2和相關(guān)說明部分說明。通常在任何CMOS(互補硅金屬氧化物)或CCD(電荷耦合器件)傳感器中,在傳感器平面中的某些象素單元或許對發(fā)光條件不能恰當響應(yīng)。其結(jié)果,從這些單元產(chǎn)生的象素值可能有缺點。這些象素稱為“死象素”?!跋笏卮妗眴卧?15使用在該行中緊接各死象素前的一個有效象素代替各死象素。
RAM表316包括死象素的行和列索引,它們是由傳感器供給的。RAM表316幫助確定死象素相對于所攝取的圖象的位置??s展和灰度系數(shù)校正模塊325是基于表查閱的變換器,用以例如通過插值變換來自傳感器的每一原來的10位(標以10b)象素為一個8位象素值。在這一結(jié)構(gòu)中,縮展和灰度系數(shù)校正被集成到單一表查閱操作中。需要灰度系數(shù)校正來獲得在輸出顯示設(shè)備中正確的顏色亮度和對比度。RAM表326伴隨縮展和灰度系數(shù)校正模塊325,并包含縮展表的項。對于每一顏色級,有(210=)1024個8位的項。
接著,使用空間縮放單元327縮小原來圖象。如果原來圖象大小是M×N,則2∶1的縮放操作把圖象大小縮小為M/2×N/2,而4∶1的縮放操作縮小為M/4×N/4。這允許壓縮過大的圖象。RAM328伴隨空間縮放單元327,用于在縮放操作期間中間存儲。例如,4∶1縮放可以通過連續(xù)兩次2∶1縮放操作而實現(xiàn)。
象素分量數(shù)據(jù)一旦被縮放,它便被送到DPCM單元330和平均信息量(entropy)編碼器335。DPCM單元330和平均信息量編碼器335比現(xiàn)有技術(shù)成像系統(tǒng)中的要簡單得多,因為RAM332和RAM334包含4種信息,足夠執(zhí)行量化和二進制編碼。縮放的象素數(shù)據(jù)被送往DPCM單元330和平均信息量編碼器335以產(chǎn)生誤差值,然后被打包為碼字(參考圖1的詳細說明)。平均信息量編碼器335雖然以一個單獨的方塊表示,但是實際上不與DPCM單元330分開,相反由于表查閱而集成在一起。使用具有量化和碼字信息的RAM332和具有碼字長度的RAM334以允許數(shù)據(jù)打包單元340正確地安排可能為可變長(3-16位)的碼字數(shù)據(jù)到字節(jié)單元中。數(shù)據(jù)打包單元340類似圖1中的打包電路150。數(shù)據(jù)打包單元340產(chǎn)生16位碼字數(shù)據(jù)并將其送往DMA控制器。DMA控制器可為各種目的諸如統(tǒng)計、或傳感器對準等而接收來自縮展和灰度系數(shù)校正模塊325的縮展數(shù)據(jù)、來自象素代替單元315的象素代替數(shù)據(jù)和來自DPCM單元330的9位量化數(shù)據(jù)。這一數(shù)據(jù)應(yīng)該具有一致的長度,以便總線360可以傳輸其它通過該總線連接的單元、模塊和設(shè)備請求的數(shù)據(jù)。重要的是,DMA控制器350還以正確的內(nèi)部地址恰當準備要通過總線360傳遞的來自數(shù)據(jù)打包單元340的打包的碼字數(shù)據(jù),以使正確的數(shù)據(jù)到達正確的目的地??偩€技術(shù)、尋址協(xié)議和DMA控制器在系統(tǒng)設(shè)計中公知,可以容易地修改/特制以適應(yīng)希望的應(yīng)用。
每一RAM表316、326、328、332和334可以直接與總線360通信,以便能夠加載它們的數(shù)據(jù),然后如果希望的話加以修改。通過預(yù)加載數(shù)據(jù)到這些表中,特別是為量化和編碼,極大減少用于數(shù)學計算的內(nèi)部電路,并可以用較低成本的存儲器單元代替。
圖4是本發(fā)明的一個實施例的系統(tǒng)圖。
圖示的是一個計算機系統(tǒng)410,它可以是任何連接在照相機430上的通用或?qū)S糜嬎慊驍?shù)據(jù)處理機器,諸如PC(個人計算機)。照相機430可以是數(shù)字照相機、數(shù)字視頻攝像機、或任何圖象攝取設(shè)備或成像系統(tǒng),用于攝取物體440的傳感器圖象?;旧?,被攝取的圖象由圖象壓縮電路432壓縮,以便它們可以高效存儲在圖象存儲器單元434中,圖象存儲器單元434可以是ROM、RAM或其它存儲設(shè)備例如固定盤。在大多數(shù)數(shù)字照相機中,圖象首先被存儲,然后被下載。這允許照相機430很快攝取下一物體而無附加延遲。
本發(fā)明的該實施例的圖象處理操作如下。首先,圖象壓縮表,如果尚未編輯,使用計算機系統(tǒng)410進行編輯。使用諸如PentiumTM(Intel公司的一種產(chǎn)品)的處理器412和用于存儲/加載指令地址和結(jié)果數(shù)據(jù)的諸如RAM的存儲器411實現(xiàn)按照希望的量化公式或方法的圖象壓縮表的編輯。用于編輯圖象壓縮表的應(yīng)用可以是從一個以諸如C++的語言書寫的源程序編譯的可執(zhí)行文件。該可執(zhí)行文件的指令與計算量化的誤差值、碼字等值和索引這些和其它值到一張表的指令對,它們可以存儲到磁盤418或者存儲器411中。十分明顯,具有本技術(shù)領(lǐng)域普通技能的人能編程一個計算機器來編輯該圖象壓縮表。
計算機系統(tǒng)410具有系統(tǒng)總線413,它便利從處理器和存儲器到連接到I/O總線415的橋414或反方向的信息傳輸。I/O總線415連接各種I/O設(shè)備,諸如顯示適配器416、磁盤418和I/O端口417,例如串行端口。本發(fā)明可以使用I/O設(shè)備、總線和橋的多種組合,所示組合僅僅表示這些可能組合中的一種。
圖象壓縮表一旦被編輯,則可通過I/O端口417發(fā)送,并加載到圖象壓縮電路432中,作為由圖象壓縮電路432使用的RAM或存儲器。該表一旦加載,則在其后可由圖象壓縮電路432使用。
當一個圖象,例如物體440的一個圖象,被傳感器攝取時,傳感器為每一象素攝取R、G和B分量中的一個分量,然后把這些象素值發(fā)送到圖象壓縮電路432。圖象壓縮電路432包括IC和其它部件,它們執(zhí)行諸如預(yù)測編碼的圖象壓縮方案。圖象壓縮電路432根據(jù)預(yù)測編碼公式計算初始誤差值,然后為該誤差值查閱相應(yīng)的量化誤差值和碼字等值,并將其存儲到圖象存儲器單元434中。通過查閱圖象壓縮表中的數(shù)值,計算量化和逐位編碼的步驟不需要由照相機執(zhí)行。由于避免了用于執(zhí)行量化和編碼誤差值的附加電路,照相機的總成本減少。一旦所有象素分量被處理,則照相機430可以攝取下一圖象。當用戶或應(yīng)用希望/請求下載圖象時,作為打包數(shù)據(jù)(碼字)存儲在圖象存儲器單元中的壓縮圖象從圖象存儲器單元434傳輸?shù)絀/O端口417。I/O端口417使用所示總線橋?qū)哟谓Y(jié)構(gòu)(I/O總線415到橋414到系統(tǒng)總線413)臨時存儲碼字象素到存儲器411或者可選地存儲到磁盤418。
壓縮圖象由合適的應(yīng)用軟件(或硬件)解壓縮,它可以使用處理器為其執(zhí)行。由于圖象壓縮表在計算機系統(tǒng)上編輯,因此它可以被反過來重新應(yīng)用來“查閱”相應(yīng)于碼字的實際誤差值。該誤差值用于逆預(yù)測編碼(或其它相應(yīng)圖象解壓縮方案)來產(chǎn)生解壓縮的圖象450。然后使用顯示適配器416把解壓縮的圖象450可見地描繪在計算機可能連接的監(jiān)視器420上。如前所述,解壓縮的圖象可以具有使用插值方法組合R、G和B值在一起的象素,從而可以產(chǎn)生較高位分辨率圖象。
提供在這里說明的示范性實施例僅為表示本發(fā)明的原理,而不應(yīng)該理解為限制本發(fā)明的范圍。更確切說,本發(fā)明的原理可以應(yīng)用于一個廣闊范圍的系統(tǒng)以獲得這里敘述的優(yōu)點和其它優(yōu)點,以及滿足其它目的。
權(quán)利要求
1.一種圖象壓縮裝置,包括第一查閱表,配置為由單一地址索引時提供量化代碼;第二查閱表,配置為由所述單一地址索引時提供所述代碼的長度;以及連接到所述第一查閱表和所述第二查閱表的預(yù)測編碼電路,所述預(yù)測編碼電路產(chǎn)生所述單一地址。
2.根據(jù)權(quán)利要求1的裝置,其中,所述預(yù)測編碼電路配置為接收作為輸入的象素分量值,所述輸入引起所述預(yù)測編碼單元產(chǎn)生所述單一地址。
3.根據(jù)權(quán)利要求2的裝置,其中,所述預(yù)測編碼電路包括一個差分電路,所述差分電路配置為通過求所述輸入象素值和一個預(yù)測象素值的差而產(chǎn)生所述單一地址。
4.根據(jù)權(quán)利要求3的裝置,另外包括連接到所述差分電路的第三查閱表,所述第三查閱表由所述單一地址索引,給所述預(yù)測編碼電路提供逆量化代碼。
5.根據(jù)權(quán)利要求1的裝置,另外包括連接到所述第一查閱表和所述第二查閱表的輸出端的打包器電路,所述打包器電路配置為安排所述大小信息和所述量化代碼到一個單一數(shù)據(jù)單元中。
6.根據(jù)權(quán)利要求4的裝置,其中,所述預(yù)測編碼電路包括連接到所述第三查閱表的誤差恢復(fù)電路,所述誤差恢復(fù)電路配置為接收所述逆量化代碼。
7.根據(jù)權(quán)利要求6的裝置,其中,所述誤差恢復(fù)電路包括求和電路,所述求和電路配置為把所述逆量化代碼與前一預(yù)測的象素分量加在一起。
8.根據(jù)權(quán)利要求7的裝置,包括連接到所述求和電路的寄存器組,所述寄存器組配置為保持所述求和電路的輸出。
9.一個圖象壓縮裝置,包括第一查閱表,配置成為每一地址提供一個量化的代碼;第二查閱表,配置成為所述每一地址提供所述量化代碼的大小信息;與所述第一查閱表和所述第二查閱表通信的第一預(yù)測編碼電路,所述第一預(yù)測編碼電路給所述第一查閱表和所述第二查閱表提供地址,所述地址是響應(yīng)為在其紅顏色級分量中的一個象素的誤差值的信號;與所述第一查閱表和所述第二查閱表通信的第二預(yù)測編碼電路,所述第二預(yù)測編碼電路給所述第一查閱表和所述第二查閱表提供地址,所述地址是響應(yīng)為在其綠顏色級分量中的一個象素的誤差值的信號;以及與所述第一查閱表和所述第二查閱表通信的第三預(yù)測編碼電路,所述第三預(yù)測編碼電路給所述第一查閱表和所述第二查閱表提供地址,所述地址是響應(yīng)為在其蘭顏色級分量中的一個象素的誤差值的信號。
10.根據(jù)權(quán)利要求9的圖象壓縮裝置,包括一個多路轉(zhuǎn)換器,其配置為對所述圖象壓縮裝置的一個給定輸入選擇使用所述預(yù)測編碼電路的哪一個。
11.一個成像系統(tǒng),包括配置為接收被攝取圖象的象素分量的圖象壓縮電路,所述圖象壓縮電路通過使用查閱表實現(xiàn)量化和編碼;以及連接到所述圖象壓縮電路以從其接收被壓縮圖象的圖象存儲器單元。
12.根據(jù)權(quán)利要求11的系統(tǒng),其中,所述圖象壓縮電路和所述圖象存儲器單元配置在圖象攝取設(shè)備內(nèi)。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中,所述圖象攝取設(shè)備用于連接到一個計算機系統(tǒng),所述計算機系統(tǒng)配置為顯示所述圖象,和配置為給所述查閱表提供數(shù)據(jù)。
全文摘要
討論了一個圖象壓縮裝置,它包括提供量化代碼的第一查閱表(120),提供該代碼長度的第二查閱表(130),和產(chǎn)生為索引這些查閱表(120,130)的地址的預(yù)測編碼電路(10)。
文檔編號G06T9/00GK1272930SQ98808706
公開日2000年11月8日 申請日期1998年6月5日 優(yōu)先權(quán)日1997年6月30日
發(fā)明者T·阿查亞 申請人:英特爾公司