專利名稱:圖象處理方法和設(shè)備、計(jì)算機(jī)程序、以及存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的領(lǐng)域本發(fā)明涉及一種具有在預(yù)定的編碼量之內(nèi)對(duì)圖象數(shù)據(jù)進(jìn)行壓縮編碼的功能的圖象處理設(shè)備。
本發(fā)明的背景傳統(tǒng)上,作為靜止圖象壓縮方案,在許多情況下都采用利用離散余弦變換的JPEG方案和采用利用小波變換的一種方案。這種類型的編碼方案是一種可變長(zhǎng)度的編碼方案,因而碼的量對(duì)于所要編碼的各個(gè)圖象是不同的。
根據(jù)作為一種內(nèi)部標(biāo)準(zhǔn)化方案的JPEG方案,對(duì)于一個(gè)圖象只能定義一個(gè)量化矩陣。因而,如果這種方案被應(yīng)用于在沒(méi)有預(yù)掃描的情況下不能對(duì)編碼量進(jìn)行調(diào)節(jié)且把碼存儲(chǔ)在一個(gè)有限的存儲(chǔ)器中的系統(tǒng),就可能發(fā)生存儲(chǔ)器的溢出。
為了防止這種情況,傳統(tǒng)的方案采用了其中當(dāng)實(shí)際的編碼量超過(guò)了一個(gè)期望的編碼量且在壓縮率改變時(shí)對(duì)原件進(jìn)行再讀取的一種方法、通過(guò)預(yù)掃描和再設(shè)定量化參數(shù)預(yù)先估計(jì)一個(gè)編碼量以調(diào)節(jié)該編碼量的一種方法等等。
作為采用預(yù)掃描的一種編碼量控制方案,例如,有在一個(gè)內(nèi)部緩存存儲(chǔ)器中存儲(chǔ)預(yù)壓縮的數(shù)據(jù)、對(duì)該數(shù)據(jù)進(jìn)行解壓縮、在改變壓縮參數(shù)使對(duì)其進(jìn)行完全壓縮、以及把所產(chǎn)生的數(shù)據(jù)輸出到一個(gè)外部存儲(chǔ)器的方案。在此情況下,完全壓縮中的壓縮率比在預(yù)壓縮時(shí)的壓縮率高。
已知的還有另一種方案,其中獲得對(duì)各個(gè)象素塊的一個(gè)可允許的編碼量,且通過(guò)對(duì)DCT系數(shù)進(jìn)行n次移動(dòng)而獲得的系數(shù)受到Huffman編碼以減小編碼量。這種移動(dòng)量n是從可允許的編碼量而確定的。
然而,傳統(tǒng)上,作為壓縮緩存器,需要容量比目標(biāo)壓縮容量大的壓縮緩存器,且不可避免地需要具有足以記錄原始圖象數(shù)據(jù)的來(lái)容量的一個(gè)緩存器,以防止中間緩存器的溢出。
另外,在重復(fù)編碼操作的該方法中,由于對(duì)于所有壓縮數(shù)據(jù)進(jìn)行解壓縮和再壓縮操作,不能期望連續(xù)處理的速度能夠提高。
本發(fā)明的概述本發(fā)明就是在考慮到上述現(xiàn)有技術(shù)而做出的,且本發(fā)明的目的是提供一種圖象處理設(shè)備-該設(shè)備能夠通過(guò)一次輸入圖象數(shù)據(jù)而有效地產(chǎn)生在一個(gè)設(shè)定的大小之內(nèi)的編碼數(shù)據(jù)、一種計(jì)算機(jī)程序、以及一種存儲(chǔ)介質(zhì)。
根據(jù)本發(fā)明,前述目的是通過(guò)提供一種圖象處理設(shè)備而實(shí)現(xiàn)的,該設(shè)備用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼,包括第一壓縮裝置,它能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù);第二壓縮裝置,它能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù)、對(duì)被第一壓縮裝置所壓縮的編碼數(shù)據(jù)進(jìn)行解碼、并對(duì)該數(shù)據(jù)進(jìn)行再壓縮;監(jiān)測(cè)裝置,用于在一個(gè)輸入頁(yè)的圖象數(shù)據(jù)被第一壓縮裝置所壓縮的同時(shí)對(duì)一個(gè)編碼數(shù)據(jù)進(jìn)行監(jiān)測(cè)并判定該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到一個(gè)預(yù)定的量;設(shè)定裝置,用于當(dāng)該監(jiān)測(cè)裝置探測(cè)到該編碼數(shù)據(jù)量已經(jīng)在該頁(yè)的壓縮期間達(dá)到該預(yù)定量時(shí)設(shè)定一個(gè)參數(shù)以增大第一和第二壓縮裝置中的一個(gè)壓縮率;以及,控制裝置,用于當(dāng)該參數(shù)被該設(shè)定裝置所改變時(shí),使該第二壓縮裝置對(duì)在該參數(shù)被改變之前由該第一壓縮裝置所產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、在第一壓縮裝置中的該參數(shù)被改變之后把該再編碼的數(shù)據(jù)作為編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、以及把在該參數(shù)被改變之后由第一編碼裝置產(chǎn)生的編碼數(shù)據(jù)作為隨后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
為了實(shí)現(xiàn)上述目的,本發(fā)明的圖象處理設(shè)備具有以下的設(shè)置。
從以下結(jié)合附圖所進(jìn)行的描述,本發(fā)明的其他特征和優(yōu)點(diǎn)將變得顯而易見(jiàn);在以下的附圖中,相同的標(biāo)號(hào)表示相同或類似的部分。
附圖的簡(jiǎn)要描述
圖1是框圖,顯示了根據(jù)第一實(shí)施例的一種圖象處理設(shè)備的設(shè)置;圖2是框圖,顯示了根據(jù)第二實(shí)施例的一種圖象處理設(shè)備的設(shè)置;圖3是簡(jiǎn)單地顯示第一實(shí)施例的處理的一個(gè)流程圖;圖4顯示了在第一實(shí)施例中在初始狀態(tài)下的一個(gè)編碼階段中存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖5顯示了在第一實(shí)施例中在一種編碼/再編碼階段中存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖6顯示了在第一實(shí)施例中在一種傳送階段中存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖7顯示了在第一實(shí)施例中在該傳送階段之后的一個(gè)編碼階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖8是流程圖,顯示了第一實(shí)施例中的處理的細(xì)節(jié);圖9顯示了在第一實(shí)施例的一種修正中在一種編碼/再編碼階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖10顯示了在第一實(shí)施例的該修正中在一種傳送階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖11顯示了在第一實(shí)施例的該修正中在該傳送碼階段之后這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖12是流程圖,顯示了在第二實(shí)施例中的一個(gè)處理過(guò)程;圖13顯示了在第二實(shí)施例中的初始狀態(tài)下在一個(gè)編碼階段中的存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖14顯示了在第二實(shí)施例的一個(gè)傳送階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖15顯示了在第二實(shí)施例中的一種編碼/再編碼階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖16顯示了在第二實(shí)施例中在該編碼/再編碼階段之后的一個(gè)編碼階段中這些存儲(chǔ)器的內(nèi)容和數(shù)據(jù)流;圖17是框圖,顯示了根據(jù)第三實(shí)施例的一個(gè)圖象處理設(shè)備的設(shè)置;
圖18是框圖,顯示了根據(jù)第四實(shí)施例的一種圖象處理設(shè)備的設(shè)置;圖19是框圖,顯示了應(yīng)用第三實(shí)施例的一種圖象處理設(shè)備的詳細(xì)設(shè)置;圖20顯示了第三實(shí)施例中在一個(gè)存儲(chǔ)器溢出時(shí)的一個(gè)場(chǎng)景表的內(nèi)容;圖21是曲線圖,顯示了第三實(shí)施例中的一個(gè)編碼量的過(guò)渡;圖22A至22D用于說(shuō)明用于在第三實(shí)施例中對(duì)直流成分進(jìn)行編碼的一種結(jié)構(gòu)的操作;圖23用于說(shuō)明第三實(shí)施例中用于對(duì)交流成分進(jìn)行處理的一種處理過(guò)程;圖24用于顯示用于DCT系數(shù)的一種之字形掃描;圖25用于顯示用于對(duì)交流成分進(jìn)行分類的一個(gè)表;圖26用于顯示具有運(yùn)行長(zhǎng)度和大小的將要被查詢的一個(gè)Huffman編碼表的部分;圖27是曲線圖,顯示了第二實(shí)施例中編碼處理與存儲(chǔ)器占用比值之間的關(guān)系。
最佳實(shí)施例的詳細(xì)描述以下結(jié)合附圖詳細(xì)描述本發(fā)明的實(shí)施例。
圖1是根據(jù)一個(gè)實(shí)施例的一種圖象處理設(shè)備100的一種功能框圖。
在此實(shí)施例中的圖象處理設(shè)備100包括用于從一個(gè)圖象掃描儀輸入一個(gè)圖象的一個(gè)輸入單元101。在此實(shí)施例中,具體地,采用用于連續(xù)地讀取圖象的掃描儀。然而,輸入單元101也可以借助頁(yè)描述語(yǔ)言渲染(rendering)而輸入圖象數(shù)據(jù),或讀取存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中的圖象文檔。在某些情況下,輸入單元101可以從一個(gè)網(wǎng)絡(luò)接收?qǐng)D象數(shù)據(jù)。
一個(gè)編碼單元102在幀(頁(yè))的情況下對(duì)輸入的圖象數(shù)據(jù)進(jìn)行編碼。要注意的是,在此實(shí)施例中,一種已知的JPEG編碼方案被用作編碼方案。另外,該圖象數(shù)據(jù)可以受到按照8×8象素的正交變換,且所產(chǎn)生的數(shù)據(jù)受到采用一個(gè)量化級(jí)(將要在后面描述)的量化處理和Huffman編碼處理。
一個(gè)第一存儲(chǔ)控制單元103和一個(gè)第二存儲(chǔ)控制單元105進(jìn)行控制,從而把從編碼單元102輸出的上述編碼數(shù)據(jù)(相同的編碼數(shù)據(jù))分別存儲(chǔ)在一個(gè)第一存儲(chǔ)器104和一個(gè)第二存儲(chǔ)器106中。在此情況下,第一存儲(chǔ)器104是用于保持最后確認(rèn)(壓縮在一個(gè)目標(biāo)數(shù)據(jù)量之內(nèi))的編碼數(shù)據(jù)的存儲(chǔ)器,以使該編碼數(shù)據(jù)能夠被輸出到一個(gè)網(wǎng)絡(luò)設(shè)備、圖象輸出設(shè)備、大體容量存儲(chǔ)設(shè)備、等等連接到圖1所示的基本設(shè)置的外部設(shè)備。第二存儲(chǔ)器106是一個(gè)工作存儲(chǔ)器,用于幫助進(jìn)行壓縮編碼,以形成第一存儲(chǔ)器中的編碼數(shù)據(jù)。
一個(gè)計(jì)數(shù)器107對(duì)編碼單元102所壓縮-編碼的圖象數(shù)據(jù)的數(shù)據(jù)量進(jìn)行計(jì)數(shù),并保持該計(jì)數(shù)值。計(jì)數(shù)器107還把計(jì)數(shù)結(jié)果輸出到一個(gè)編碼序列控制單元108,用于對(duì)一個(gè)編碼序列進(jìn)行控制。
編碼序列控制單元108按照頁(yè)對(duì)計(jì)數(shù)器107的計(jì)數(shù)值是否達(dá)到了一個(gè)設(shè)定值(目標(biāo)值)進(jìn)行探測(cè)。在探測(cè)到該計(jì)數(shù)值已經(jīng)達(dá)到(超過(guò))一頁(yè)的編碼數(shù)據(jù)長(zhǎng)度的該設(shè)定值時(shí),編碼序列控制單元108輸出一個(gè)控制信號(hào)給第一存儲(chǔ)控制單元103,從而放棄存儲(chǔ)在第一存儲(chǔ)器104中的數(shù)據(jù)。第一存儲(chǔ)控制單元103,通過(guò)根據(jù)這種控制信號(hào)而清除存儲(chǔ)器地址計(jì)數(shù)器或編碼數(shù)據(jù)管理表,而放棄存儲(chǔ)的數(shù)據(jù)。此時(shí),編碼序列控制單元108把計(jì)數(shù)器107清除至零(從輸入單元101連續(xù)地輸入數(shù)據(jù)),并還對(duì)編碼單元102進(jìn)行控制以便以更高的壓縮率對(duì)數(shù)據(jù)進(jìn)行編碼。即,編碼序列控制單元108進(jìn)行控制,以最終把通過(guò)在此設(shè)備中進(jìn)行編碼處理而產(chǎn)生的編碼數(shù)據(jù)的數(shù)據(jù)量減小至1/2。顯然,這種值可以被設(shè)定為1/2以外的任何值。
在壓縮率被改變之后獲得的編碼數(shù)據(jù)(一頁(yè)的(n-100)%部分)也通過(guò)第一和第二存儲(chǔ)控制單元103和105而被存儲(chǔ)在第一和第二存儲(chǔ)器104和106中。
另外,編碼序列控制單元108使第二存儲(chǔ)控制單元105讀出存儲(chǔ)在第二存儲(chǔ)器106中的編碼數(shù)據(jù)(一頁(yè)的(0-n)%部分),并把一個(gè)控制信號(hào)輸出到作為一個(gè)編碼數(shù)據(jù)轉(zhuǎn)換裝置的一個(gè)再編碼單元109,從而輸出該編碼數(shù)據(jù)。
再編碼單元109對(duì)輸入的編碼數(shù)據(jù)進(jìn)行解碼(只進(jìn)行熵解碼)并進(jìn)行再量化(刪除各個(gè)量化的值的較低的位)以減小數(shù)據(jù)量。再編碼單元109隨后再次進(jìn)行編碼處理(熵編碼)并以與編碼單元102的壓縮率相同的壓縮率輸出一個(gè)數(shù)據(jù)量至一個(gè)第二計(jì)數(shù)器110,編碼單元102的該壓縮率已經(jīng)被改變。
從這種再編碼單元109的輸出的編碼數(shù)據(jù)通過(guò)第一和第二存儲(chǔ)控制單元103和105而被存儲(chǔ)在第一和第二存儲(chǔ)器104和106中。
第二存儲(chǔ)控制單元105探測(cè)再編碼處理是否已經(jīng)結(jié)束。更具體地說(shuō),當(dāng)沒(méi)有需要讀出以進(jìn)行再編碼處理的數(shù)據(jù)時(shí),第二存儲(chǔ)控制單元105把再編碼處理的結(jié)束通知給編碼序列控制單元108。實(shí)際中,當(dāng)再編碼單元109進(jìn)行的處理和第二存儲(chǔ)控制單元105進(jìn)行的處理結(jié)束時(shí),編碼處理完成。
在再編碼處理完成時(shí),第二計(jì)數(shù)器110所獲得的計(jì)數(shù)值被加到計(jì)數(shù)器107所保持的計(jì)數(shù)值上。這種相加的結(jié)果表示了剛好在再編碼處理完成之后第一存儲(chǔ)器104中的數(shù)據(jù)量的和。即,當(dāng)對(duì)一個(gè)幀(頁(yè))的編碼處理被編碼單元102和再編碼單元109所完成時(shí),在上述相加之后第一計(jì)數(shù)器107中保持的計(jì)數(shù)值表示了當(dāng)該設(shè)備編碼了一幀數(shù)據(jù)(以下在以下描述)時(shí)所產(chǎn)生的數(shù)據(jù)的總量。
只要還有來(lái)自輸入單元101的應(yīng)該被編碼的數(shù)據(jù),編碼單元102就繼續(xù)進(jìn)行編碼處理,不論再編碼處理是否結(jié)束還是沒(méi)有結(jié)束。
第一計(jì)數(shù)器107的計(jì)數(shù)值是否已經(jīng)達(dá)到一個(gè)給定的設(shè)定值被反復(fù)地檢查,直到從輸入單元101輸入的1幀(頁(yè))圖象數(shù)據(jù)的編碼處理(編碼和再編碼)結(jié)束。上述的編碼/再編碼處理,是按照與這種操作所獲得的探測(cè)結(jié)果相應(yīng)的控制操作,而得到執(zhí)行的。
圖8是流程圖,顯示了圖1所示的設(shè)置中的處理的流程。為了描述的方便,將首先結(jié)合圖3的簡(jiǎn)化流程圖而描述這種處理。
如已經(jīng)描述的,本發(fā)明的圖象處理設(shè)備100用于把從諸如一個(gè)掃描儀的輸入單元101輸入的1幀(頁(yè))圖象數(shù)據(jù)壓縮-編碼成具有一個(gè)預(yù)定的數(shù)據(jù)量或更少的數(shù)據(jù)。為了實(shí)現(xiàn)這種編碼處理,該設(shè)備包括編碼單元102、再編碼單元109、第一存儲(chǔ)器104、第二存儲(chǔ)器106、等等,以及輸入單元101。編碼處理是通過(guò)根據(jù)圖3所示的流程圖而利用這些功能塊進(jìn)行的。
圖3的流程圖被大體分成以下三個(gè)處理階段(1)一個(gè)編碼階段,(2)一個(gè)編碼/再編碼階段,以及(3)一個(gè)傳送階段。
圖4至7可視且簡(jiǎn)單地顯示了圖象數(shù)據(jù)、編碼數(shù)據(jù)、等等數(shù)據(jù)流是如何被處理的以及它們是如何在各處理階段中被存儲(chǔ)在存儲(chǔ)器中的。
圖4顯示了與圖3的流程圖中的步驟S303和S305相應(yīng)的編碼階段的初始狀態(tài)。圖5顯示了與圖5中的步驟S305至S315相應(yīng)的編碼/再編碼階段的處理狀態(tài)。圖6顯示了與步驟S317相應(yīng)的傳送階段的處理狀態(tài)。圖7顯示了在傳送階段之后的編碼階段的處理狀態(tài)。以下描述各個(gè)階段。(編碼階段)1頁(yè)圖象數(shù)據(jù)的編碼處理開(kāi)始于編碼參數(shù)的初始化(步驟S301)。在此情況下,將要被設(shè)定的參數(shù)包括一個(gè)編碼數(shù)據(jù)量的上限(它由受到編碼處理的一個(gè)圖象的大小(即從輸入單元101讀取的一張紙的大小)唯一地確定),且施加于編碼單元102的一個(gè)量化級(jí)(Q1)得到設(shè)定(假定在此實(shí)施例中單元102采用了一種已知的JPEG編碼方案),等等。
在步驟S303,實(shí)際的編碼處理(基于8×8象素的JPEG壓縮)得到進(jìn)行,且第一計(jì)數(shù)器107對(duì)編碼數(shù)據(jù)的輸出的數(shù)據(jù)量進(jìn)行累積計(jì)數(shù)。
在步驟S305,檢查數(shù)據(jù)量的計(jì)數(shù)值是否已經(jīng)超過(guò)了上述上限。如果步驟S305為“否”,步驟S303的JPEG編碼處理繼續(xù)進(jìn)行。這是在初始狀態(tài)下的編碼階段。
從編碼單元102輸出的編碼數(shù)據(jù)被存儲(chǔ)在第一和第二存儲(chǔ)器104和106中,如圖4所示。被縱向的條所表示的區(qū)域表示了存儲(chǔ)的編碼。(編碼/再編碼階段)隨著編碼單元102進(jìn)行的一個(gè)編碼處理的進(jìn)行和數(shù)據(jù)量的計(jì)數(shù)值超過(guò)了檢測(cè)至上限,第一存儲(chǔ)器104中的編碼數(shù)據(jù)在步驟S307被放棄。另外,編碼單元102的量化級(jí)在步驟S309被改變至Q2。
編碼數(shù)據(jù)的數(shù)據(jù)量的計(jì)數(shù)值超過(guò)了設(shè)定的上限,表明在壓縮之后的數(shù)據(jù)量到達(dá)了一個(gè)目標(biāo)值之外。由于繼續(xù)利用相同的量化級(jí)進(jìn)行編碼處理已經(jīng)沒(méi)有用處,量化級(jí)被改變到量化級(jí)Q2-它的量化級(jí)比量化級(jí)Q1的大,從而進(jìn)一步減小數(shù)據(jù)量。
在量化級(jí)被改變之后,編碼單元102所進(jìn)行的編碼處理在步驟S311被恢復(fù),且編碼數(shù)據(jù)只被存儲(chǔ)在第二存儲(chǔ)器106中,如圖5所示。與這種操作同時(shí)地,步驟S313中的再編碼處理得到進(jìn)行。如果需要連續(xù)地處理多個(gè)頁(yè),步驟S311和S313的并行處理變?yōu)楸景l(fā)明的一個(gè)非常重要的特征。這使得可以高速地產(chǎn)生由一頁(yè)的(0-n)%部分(再編碼數(shù)據(jù))和(n-100)%部分(非再編碼數(shù)據(jù))構(gòu)成的編碼數(shù)據(jù)。在該再編碼處理中,已經(jīng)被存儲(chǔ)在第二存儲(chǔ)器106中的編碼數(shù)據(jù)被讀出,且再編碼單元109對(duì)該數(shù)據(jù)進(jìn)行再編碼并把編碼數(shù)據(jù)存儲(chǔ)在兩個(gè)存儲(chǔ)器104和106中。這種編碼處理和再編碼處理被連續(xù)進(jìn)行,直到縱向的條I所表示的所有碼都被再編碼。從再編碼單元109輸出的再編碼的數(shù)據(jù)是與這樣的編碼數(shù)據(jù)相同的編碼數(shù)據(jù),即該這樣的編碼數(shù)據(jù)是通過(guò)其量化級(jí)與在量化級(jí)被改變之后從編碼單元102輸出的編碼數(shù)據(jù)的量化級(jí)相同的編碼所獲得的。
更具體地說(shuō),在此再編碼處理中,通過(guò)對(duì)編碼數(shù)據(jù)進(jìn)行Huffman解碼,對(duì)所獲得的各個(gè)量化值進(jìn)行位移動(dòng)處理,從而獲得與通過(guò)用2n除各個(gè)值而獲得的結(jié)果相同的結(jié)果。在這種操作之后,再次進(jìn)行Huffman編碼。這種方法使得能夠進(jìn)行高速的再編碼處理,因?yàn)榱炕?jí)只由位移動(dòng)改變且不進(jìn)行逆正交變換或再次的正交變換。再編碼處理的結(jié)束在步驟S315被探測(cè)到。
由于在再編碼之后的數(shù)據(jù)量變得小于再編碼之前的編碼數(shù)據(jù)的數(shù)據(jù)量,再編碼的數(shù)據(jù)可被蓋寫到再編碼之前的碼所存儲(chǔ)到的存儲(chǔ)區(qū)上。在再編碼處理結(jié)束時(shí),縱向條I所表示的編碼數(shù)據(jù)的數(shù)據(jù)量被減小至圖6的傾斜條I所表示的編碼數(shù)據(jù)的數(shù)據(jù)量。
上述的步驟S307和S315是在編碼/再編碼階段中進(jìn)行的處理。(傳送階段)當(dāng)再編碼處理結(jié)束時(shí),在步驟S317進(jìn)行傳送處理。在此傳送處理中,如圖6所示,傾斜條II所表示的、在編碼/再編碼階段中只被存儲(chǔ)在第二存儲(chǔ)器106中的編碼數(shù)據(jù),被傳送到一個(gè)地址-在該地址數(shù)據(jù)與第一存儲(chǔ)器104中的由傾斜條I所表示的編碼數(shù)據(jù)相連接,并被存儲(chǔ)在該地址。同時(shí),傾斜條II所表示的編碼數(shù)據(jù)被傳送到第二存儲(chǔ)器106,以得到連接從而使傾斜條I所表示的編碼數(shù)據(jù)和傾斜條II所表示的編碼數(shù)據(jù)-它們散布在第二存儲(chǔ)器106中-被連續(xù)地存儲(chǔ)在第一存儲(chǔ)器104中。這種處理是在傳送階段中進(jìn)行的。
當(dāng)上述傳送階段結(jié)束時(shí),流程返回到步驟S303和S305的編碼階段以從編碼單元102輸出圖7中的傾斜條IV所表示的碼并把這些碼存儲(chǔ)在兩個(gè)存儲(chǔ)器104和106中。在此編碼階段,與初始狀態(tài)下的編碼階段(圖4)不同地,在利用編碼單元102的編碼數(shù)據(jù)中的量化級(jí)從Q1改變到Q2,且存儲(chǔ)在兩個(gè)存儲(chǔ)器104和106中的編碼數(shù)據(jù)是在各種階段中得到處理的一組碼。如果這些不同被忽略,剛好在傳送階段之后的編碼階段可被認(rèn)為是與在初始階段的編碼階段相同。
通過(guò)重復(fù)這三個(gè)階段,即編碼階段、編碼/再編碼階段、以及傳送階段,通過(guò)把1頁(yè)的圖象數(shù)據(jù)壓縮成一個(gè)設(shè)定的數(shù)據(jù)量或更少而獲得的碼可被存儲(chǔ)在第一存儲(chǔ)器中。另外,輸入單元101只繼續(xù)進(jìn)行輸入操作至一系列的操作的結(jié)束。即,一個(gè)圖象不需要被重新從頭輸入。
圖3所示的流程圖只描述了與圖4、5和6中所示的各個(gè)階段相應(yīng)的處理。然而,在實(shí)際中,1頁(yè)圖象數(shù)據(jù)的輸入在某些階段結(jié)束。根據(jù)輸入操作的結(jié)束所在的階段,隨后的處理略微有所不同。圖8的流程圖顯示了考慮到這點(diǎn)的處理的流程。圖8的流程圖是基于1頁(yè)圖象數(shù)據(jù)的輸入的完成與結(jié)合圖3描述的各種處理的關(guān)系。在此情況下,步驟S801、S803、S805和S807被加到圖3的流程圖上。
在步驟S801、S803和S805,檢查從輸入單元101輸入的1頁(yè)圖象數(shù)據(jù)是在編碼階段、編碼/再編碼階段、和傳送階段中被完成。
如果探測(cè)到1頁(yè)圖象數(shù)據(jù)的輸入在編碼階段和傳送階段中被完成(步驟S801和S805),流程進(jìn)行到步驟S807以結(jié)束對(duì)該頁(yè)的壓縮編碼處理。如果有將要隨后處理的1頁(yè)圖象數(shù)據(jù)或更多數(shù)據(jù),對(duì)該下一個(gè)1頁(yè)圖象數(shù)據(jù)的壓縮編碼處理得到開(kāi)始。如果沒(méi)有將要處理的數(shù)據(jù),一個(gè)中止?fàn)顟B(tài)得到設(shè)定。
如果在編碼/再編碼階段中探測(cè)到了1頁(yè)圖象數(shù)據(jù)的輸入的結(jié)束(步驟S803),編碼單元102的操作需要被停止,直到?jīng)]有需要被再編碼的圖象數(shù)據(jù)。因此,步驟S311中的編碼處理被通過(guò),且只有再編碼處理在步驟S313被繼續(xù)以把已經(jīng)被編碼單元102編碼的圖象數(shù)據(jù)壓縮到一個(gè)預(yù)定的編碼數(shù)據(jù)量之內(nèi)。如果隨后的傳送處理在所有再編碼處理都結(jié)束之后不被結(jié)束,則1頁(yè)圖象數(shù)據(jù)的整個(gè)編碼數(shù)據(jù)不在第一存儲(chǔ)器中被匯集,在1頁(yè)圖象數(shù)據(jù)的輸入結(jié)束之后再編碼處理和隨后的傳送處理必須被繼續(xù)進(jìn)行。在此情況下,如果在步驟S315探測(cè)到所有的再編碼處理都被結(jié)束,只存儲(chǔ)在第二存儲(chǔ)器106中的編碼數(shù)據(jù)在編碼/再編碼階段中被傳送到第一存儲(chǔ)器(步驟S317)。隨后,在步驟S805,1頁(yè)圖象數(shù)據(jù)的輸入的結(jié)束被探測(cè)到。流程隨后進(jìn)行到步驟S807。
以上的描述是對(duì)在此實(shí)施例中的操作和圖8中的操作進(jìn)行的。(存儲(chǔ)器存儲(chǔ)方法的修正)
圖9和10顯示了圖5和6的示意圖所表示的存儲(chǔ)器存儲(chǔ)方法的一種修正。
參見(jiàn)圖5的示意圖,在編碼/再編碼階段,從編碼單元102輸出的編碼數(shù)據(jù)只被存儲(chǔ)在第二存儲(chǔ)器106中。然而,如圖9所示,在編碼/再編碼階段,從編碼單元102輸出的編碼數(shù)據(jù)被直接存儲(chǔ)在第一和第二存儲(chǔ)器中。
當(dāng)從編碼單元102看時(shí),在任何階段中被編碼和輸出的數(shù)據(jù)被存儲(chǔ)在兩個(gè)存儲(chǔ)器中。與圖6的示意圖不同,在傳送階段中不需要進(jìn)行這些存儲(chǔ)器之間的數(shù)據(jù)傳送,如圖10所示。另外,根據(jù)這種修正,在該編碼/再編碼階段,編碼數(shù)據(jù)和再編碼數(shù)據(jù)按照它們被傳送的順序而被依次存儲(chǔ)在第一存儲(chǔ)器104中。因此,兩種類型的數(shù)據(jù)被混合。
在此修正中,為了解決這個(gè)問(wèn)題,編碼數(shù)據(jù)被分成一定的單元數(shù)據(jù),以作為文檔或包而得到管理。更具體地說(shuō),這樣的單元數(shù)據(jù)通過(guò)分別形成例如一個(gè)文檔管理表或包管理表而得到管理。
根據(jù)一種技術(shù),當(dāng)來(lái)自編碼單元102的數(shù)據(jù)將要被存儲(chǔ)在第一存儲(chǔ)器104中時(shí),從各適當(dāng)?shù)膯卧獢?shù)據(jù)的開(kāi)始處起,管理號(hào)被分配給圖象數(shù)據(jù)(例如,8×i(i=整數(shù)1,2,……)-行數(shù)據(jù),因?yàn)檎蛔儞Q的單位是8×8塊),且一個(gè)管理表被形成,該表能夠按照管理號(hào)的順序而存儲(chǔ)與相應(yīng)的管理號(hào)相應(yīng)的編碼數(shù)據(jù)的開(kāi)始地址和相應(yīng)的編碼數(shù)據(jù)量。
編碼單元102和再編碼單元109保持正在被處理的數(shù)據(jù)的管理號(hào)并根據(jù)該管理號(hào)把編碼數(shù)據(jù)的存儲(chǔ)開(kāi)始地址和編碼數(shù)據(jù)量寫入管理表。借助這種操作,即使編碼單元102和再編碼單元109所處理的編碼數(shù)據(jù)是被隨機(jī)地存儲(chǔ)的,該編碼數(shù)據(jù)也能夠通過(guò)按照管理號(hào)的順序?qū)芾肀磉M(jìn)行訪問(wèn)并根據(jù)開(kāi)始地址和此時(shí)讀出的編碼數(shù)據(jù)量,而從圖象的開(kāi)始處起被依次地從第一存儲(chǔ)器104讀出。這樣的管理機(jī)制將不再需要把一個(gè)圖象的連續(xù)的數(shù)據(jù)以連續(xù)的順序存儲(chǔ)在一個(gè)存儲(chǔ)器中。
圖10的示意圖中的傳送階段之后的編碼階段幾乎與上述的兩個(gè)編碼階段(圖4和7)相同,只是在第一存儲(chǔ)器中的碼的存儲(chǔ)開(kāi)始處略微不同于圖11所示的情況。因此,前述的描述和這種修正在重復(fù)這三個(gè)階段上是相同的。(第二實(shí)施例)以下結(jié)合圖2描述用于進(jìn)行表征本發(fā)明的編碼處理的第二基本設(shè)置。
圖2是框圖,顯示了根據(jù)第二實(shí)施例的一種圖象處理設(shè)備200。
圖象處理設(shè)備200與圖1的圖象處理設(shè)備100的一個(gè)大的不同,是用于首先進(jìn)行編碼的兩個(gè)編碼單元被彼此并聯(lián)。圖象處理設(shè)備200,通過(guò)使第一和第二編碼單元202和205同時(shí)對(duì)從輸入單元201輸入的圖象數(shù)據(jù)進(jìn)行編碼,而產(chǎn)生具有不同的壓縮率的兩種編碼數(shù)據(jù)。在此實(shí)施例中,同樣地,一種已知的JPEG編碼方案被用作一個(gè)編碼方案,圖象數(shù)據(jù)受到基于8×8象素的正交變換,且所產(chǎn)生的數(shù)據(jù)受到利用量化級(jí)(將要在后面描述)的量化和Huffman編碼處理的。
應(yīng)注意的是,第二實(shí)施例將示例性代表這樣的情況,即其中為第二編碼單元205設(shè)定了比第一編碼單元202高的一個(gè)壓縮率。更具體地說(shuō),設(shè)Q1為第一編碼單元202中的量化級(jí),且Q2(=2×Q1)是第二編碼單元205中的量化級(jí)。
從第一編碼單元202輸出的編碼數(shù)據(jù)通過(guò)一個(gè)第一存儲(chǔ)控制單元203而被存儲(chǔ)在一個(gè)第一存儲(chǔ)204中。此時(shí),一個(gè)第一計(jì)數(shù)器208對(duì)從第一編碼單元202輸出的編碼數(shù)據(jù)的數(shù)據(jù)量進(jìn)行計(jì)數(shù)并存儲(chǔ)該數(shù)據(jù)量,并將其輸出到一個(gè)編碼序列控制單元209。
被第二編碼單元205編碼的數(shù)據(jù)通過(guò)一個(gè)第二存儲(chǔ)控制單元206而被存儲(chǔ)在一個(gè)第二存儲(chǔ)器207中。此時(shí),一個(gè)第二計(jì)數(shù)器210對(duì)從第二編碼單元205輸出的編碼數(shù)據(jù)的數(shù)據(jù)量進(jìn)行計(jì)數(shù)并將其保持。當(dāng)存儲(chǔ)在第二存儲(chǔ)器207中的編碼數(shù)據(jù)被傳送到第一存儲(chǔ)204時(shí),第二計(jì)數(shù)器210把上述計(jì)數(shù)值傳送到第一計(jì)數(shù)器208。
當(dāng)?shù)谝挥?jì)數(shù)器208的計(jì)數(shù)值達(dá)到一個(gè)一定的設(shè)定值且計(jì)數(shù)器208正在計(jì)數(shù)從第一編碼單元202輸出的編碼數(shù)據(jù)的數(shù)據(jù)量時(shí),編碼序列控制單元209向第一存儲(chǔ)控制單元203輸出的控制信號(hào),從而象在第一實(shí)施例中那樣排放存儲(chǔ)在第一存儲(chǔ)204中的數(shù)據(jù)。
編碼序列控制單元209隨后把控制信號(hào)輸出至存儲(chǔ)器控制單元206和存儲(chǔ)器控制單元203,從而讀出存儲(chǔ)在第二存儲(chǔ)器207中的編碼數(shù)據(jù)并將其傳送到第一存儲(chǔ)204。結(jié)果,第二計(jì)數(shù)器210的計(jì)數(shù)值被傳送到第一計(jì)數(shù)器208,且該值作為第一計(jì)數(shù)器的計(jì)數(shù)值而被裝載(蓋寫)。
總之,由于第二計(jì)數(shù)器210的計(jì)數(shù)值代表了存儲(chǔ)在第二存儲(chǔ)器207中的編碼數(shù)據(jù)的數(shù)據(jù)量,可以認(rèn)為該計(jì)數(shù)值和編碼數(shù)據(jù)被直接復(fù)制到第一計(jì)數(shù)器和第一存儲(chǔ)器,而沒(méi)有改變它們的對(duì)應(yīng)值或數(shù)據(jù)。
另外,編碼序列控制單元209把控制信號(hào)輸出到第一編碼單元202和第二編碼單元205,以對(duì)數(shù)據(jù)進(jìn)行編碼從而減小數(shù)據(jù)量。
例如,第一編碼單元202和第二編碼單元205中的量化級(jí)S被加倍。結(jié)果,第一編碼單元202采用第二編碼單元205中的量化級(jí)Q2(=2×Q1),而第二編碼單元205在考慮到下一個(gè)溢出的情況下通過(guò)利用一個(gè)更大的量化級(jí)Q2×2而以高的壓縮率進(jìn)行編碼處理。
在此情況下,這兩個(gè)量化級(jí)之間的放大率被設(shè)定為2。但顯然,該放大率可被設(shè)定為任意的值。在量化級(jí)的切換時(shí)從各編碼單元202和205輸出的編碼數(shù)據(jù),通過(guò)相應(yīng)的存儲(chǔ)器控制單元203和206,而分別被存儲(chǔ)在相應(yīng)的存儲(chǔ)器204和207中。
編碼序列控制單元209把一個(gè)控制信號(hào)輸出至存儲(chǔ)器控制單元206,以讀出已經(jīng)被存儲(chǔ)在第二存儲(chǔ)器中的編碼數(shù)據(jù)并將其送到一個(gè)再編碼單元211。再編碼單元211,以與圖1中的再編碼單元109相同的方式,對(duì)該編碼數(shù)據(jù)進(jìn)行再編碼處理。
一個(gè)第三計(jì)數(shù)器212對(duì)從再編碼單元211輸出的數(shù)據(jù)的量進(jìn)行計(jì)數(shù)。第三計(jì)數(shù)器212剛好在再編碼處理被開(kāi)始之前被復(fù)位至零,并對(duì)再編碼處理期間的輸出數(shù)據(jù)的量進(jìn)行計(jì)數(shù)。在該再編碼處理完成時(shí),第三計(jì)數(shù)器212把所獲得的計(jì)數(shù)值傳送到第二計(jì)數(shù)器210。
第二計(jì)數(shù)器210,通過(guò)把傳送的數(shù)據(jù)量計(jì)數(shù)值和保持在第二計(jì)數(shù)器210中的計(jì)數(shù)值相加,而計(jì)算編碼數(shù)據(jù)和存儲(chǔ)在第二存儲(chǔ)器207中的再編碼數(shù)據(jù)的總數(shù)據(jù)量。即,存儲(chǔ)在存儲(chǔ)器207中的數(shù)據(jù)量與計(jì)數(shù)器210的計(jì)數(shù)值一致。
如果有來(lái)自輸入單元201的、將要被編碼的圖象數(shù)據(jù),兩個(gè)編碼單元202和205所進(jìn)行的編碼處理被繼續(xù)進(jìn)行,而不論再編碼處理是否被終止。計(jì)數(shù)器208的計(jì)數(shù)值是否達(dá)到了一個(gè)一定的設(shè)定值被反復(fù)地監(jiān)測(cè),直到對(duì)從輸入單元201輸入的1頁(yè)圖象數(shù)據(jù)的編碼處理(編碼和再編碼)完成。上述的編碼/再編碼處理根據(jù)與在此操作中獲得的探測(cè)結(jié)果相應(yīng)的控制操作而得到執(zhí)行。
圖12是顯示圖2所示的設(shè)置中的處理的流程圖。
如果有結(jié)合圖2描述的兩個(gè)編碼單元,1頁(yè)圖象數(shù)據(jù)根據(jù)圖12的流程圖而得到編碼。應(yīng)該注意的是,結(jié)合圖12所進(jìn)行的大部分描述都與結(jié)合圖8所進(jìn)行的描述類似(圖8是對(duì)其中采用一個(gè)編碼單元的情況的流程圖),且本領(lǐng)域的技術(shù)人員完全能夠從上述描述理解第二實(shí)施例的特征。因此,將分三個(gè)階段來(lái)描述該處理,就象其中采用一個(gè)編碼單元的情況那樣,且以下將主要描述與圖8的情況下不同點(diǎn)。
圖8的流程與本實(shí)施例的流程的最大不同,是步驟S317中的傳送處理被移到了步驟S307與步驟S309之間。即,可以認(rèn)為是把編碼/再編碼階段與傳送階段進(jìn)行了互換(除了步驟S307中的編碼數(shù)據(jù)的放棄處理之外)。
在步驟S301的初始化編碼參數(shù)中,量化級(jí)Q1和量化級(jí)(=2×Q1)分別被設(shè)定在第一編碼單元202和第二編碼單元205中。
在該編碼階段,步驟S801、S303和S305被重復(fù)地執(zhí)行。雖然步驟S801和S305中的處理與一個(gè)編碼單元的情況下的相同,只有步驟S303中的編碼處理不同,如圖13所示。
為了以步進(jìn)的方式增大所要存儲(chǔ)的編碼數(shù)據(jù)的壓縮率,以與最低壓縮率相應(yīng)的量化級(jí)Q1得到編碼的數(shù)據(jù),作為第一編碼數(shù)據(jù),被存儲(chǔ)在第一存儲(chǔ)204中,且以量化級(jí)Q2編碼的數(shù)據(jù)被存儲(chǔ)在第二存儲(chǔ)器中。
如果存儲(chǔ)在第一存儲(chǔ)204中的數(shù)據(jù)的數(shù)據(jù)量超過(guò)了一個(gè)設(shè)定的上限(步驟S305),保持在第一存儲(chǔ)204中的編碼數(shù)據(jù)立即被放棄(步驟S307),且被保持在第二存儲(chǔ)器207中的具有高壓縮率的編碼數(shù)據(jù)被傳送到第一存儲(chǔ)204(見(jiàn)圖14中的步驟S317)。這使得可以迅速地把第二種適當(dāng)?shù)暮蜻x編碼數(shù)據(jù)(它不超過(guò)該上限)存儲(chǔ)在第一存儲(chǔ)204中,而不用等到第一實(shí)施例中描述的第一再編碼處理的結(jié)束(圖1)。這是采用圖2所示的設(shè)置-它與圖1的設(shè)置相比具有兩個(gè)編碼單元-的一個(gè)最大的優(yōu)點(diǎn)。
該第二實(shí)施例是基于這樣的想法-即使具有相同的壓縮率的編碼數(shù)據(jù)處于兩個(gè)存儲(chǔ)器204和207中是無(wú)用的,因而其壓縮率比存儲(chǔ)在第一存儲(chǔ)204中的編碼數(shù)據(jù)的壓縮率高的編碼數(shù)據(jù)被存儲(chǔ)在第二存儲(chǔ)器207中。隨后的處理因而是根據(jù)這種想法進(jìn)行的。在第二存儲(chǔ)器207中的編碼數(shù)據(jù)至第一存儲(chǔ)204的傳送被完成之后(傳送階段),第二存儲(chǔ)器207中的編碼數(shù)據(jù)被再編碼,以保持其壓縮率增大了一個(gè)量化級(jí)的編碼數(shù)據(jù)。
更具體地說(shuō),如圖15所示,在傳送階段之后的編碼/再編碼階段,在再編碼之前,在兩個(gè)編碼單元202和205中設(shè)定的量化級(jí)Q1和Q2分別被改變至Q2和Q3(步驟S309)。如果1頁(yè)圖象數(shù)據(jù)被不停地連續(xù)輸入(步驟S803),作為輸入數(shù)據(jù)的隨后的圖象數(shù)據(jù)被其中設(shè)定了新的量化級(jí)的兩個(gè)編碼單元所編碼(步驟S311),且所產(chǎn)生的數(shù)據(jù)被分別存儲(chǔ)在相應(yīng)的存儲(chǔ)器204和207中。與上述編碼處理同時(shí)地,存儲(chǔ)在第二存儲(chǔ)器中的編碼數(shù)據(jù)(被傳送到第一存儲(chǔ)204中的數(shù)據(jù))被再編碼單元211所再編碼(步驟S313),以把該數(shù)據(jù)改變成具有其壓縮率比第一存儲(chǔ)器中的編碼數(shù)據(jù)的壓縮率高一個(gè)量化級(jí)的數(shù)據(jù),從而獲得以量化級(jí)Q3編碼的數(shù)據(jù)。該再編碼的數(shù)據(jù)隨后被存儲(chǔ)在第二存儲(chǔ)器207中。
在第二實(shí)施例中,象在第一實(shí)施例中一樣,在此再編碼處理中,通過(guò)對(duì)編碼數(shù)據(jù)進(jìn)行臨時(shí)Huffman解碼,對(duì)所獲得的每一個(gè)量化值進(jìn)行位移動(dòng)處理,從而獲得與通過(guò)用2n除各個(gè)值而獲得的結(jié)果相同的結(jié)果。在此操作之后,Huffman編碼被再次進(jìn)行。這種方法使得能夠進(jìn)行高速的再編碼處理,因?yàn)榱炕?jí)只通過(guò)位移動(dòng)而得到改變,且既不進(jìn)行反正交變換也不進(jìn)行再正交變換。
應(yīng)該注意的是,如果象第二實(shí)施例中那樣有兩個(gè)編碼單元,編碼數(shù)據(jù)和再編碼數(shù)據(jù)可被混合并存儲(chǔ)在第二存儲(chǔ)器207中,如圖15所示。因而,如上所述,編碼數(shù)據(jù)必須被分成一定的單元以作為文檔或包而在第二存儲(chǔ)器207中得到管理。為此,可提供與第一實(shí)施例的修正中相同的設(shè)置。
參見(jiàn)圖12,當(dāng)在步驟S315探測(cè)到再編碼處理的結(jié)束時(shí),流程移到編碼階段(步驟S801和S303)。應(yīng)該注意的是,在編碼/再編碼階段之后的編碼階段,保持在兩個(gè)存儲(chǔ)器204和207中的編碼數(shù)據(jù)的壓縮率和它們的編碼數(shù)據(jù)混合方式(地址)是不同的,如圖16所示。因而,如果將要被存儲(chǔ)在第一存儲(chǔ)204中的數(shù)據(jù)的量超過(guò)了一個(gè)設(shè)定值,被保持在第二存儲(chǔ)器207中的編碼數(shù)據(jù)(在水平帶VI+VIII所表示的區(qū)域中的碼)需要被傳送到第一存儲(chǔ)204??紤]到這些,編碼數(shù)據(jù)必須以文檔或包的形式在第一存儲(chǔ)204和第二存儲(chǔ)器207中得到管理。因而第一存儲(chǔ)204要求采用上述管理表的一種管理機(jī)制。
圖16中所示的編碼階段的狀態(tài)與編碼階段的初始狀態(tài)(圖13)相同,只是量化級(jí)和編碼數(shù)據(jù)的混合方式在再編碼處理之前和之后有不同。因此,通過(guò)重復(fù)該編碼階段、傳送階段、以及編碼/再編碼階段,通過(guò)把1頁(yè)圖象數(shù)據(jù)壓縮到一個(gè)設(shè)定的上限或較小而獲得的編碼數(shù)據(jù)可被可靠地存儲(chǔ)在第一存儲(chǔ)204中。
由于傳送階段和編碼/再編碼階段是與在第一實(shí)施例中的順序相反的順序進(jìn)行的,在圖8的傳送處理之后進(jìn)行的1頁(yè)圖象數(shù)據(jù)的輸入的結(jié)束的探測(cè)(步驟S805),是在幾乎與在編碼/再編碼階段(步驟S803)中進(jìn)行的1頁(yè)圖象數(shù)據(jù)的輸入的結(jié)束的探測(cè)相同的時(shí)序進(jìn)行的。這兩個(gè)探測(cè)操作,在功能上幾乎與步驟S805相同,且在時(shí)序上幾乎與步驟S803相同。這兩個(gè)步驟因而被結(jié)合成探測(cè)1頁(yè)圖象數(shù)據(jù)的輸入的結(jié)束的一個(gè)新的步驟。這種步驟被表示為步驟S1201。
在第一和第二實(shí)施例中,第一和第二存儲(chǔ)器被描述為在物理上不同的存儲(chǔ)器。這使得可以對(duì)這兩個(gè)存儲(chǔ)器獨(dú)立地進(jìn)行訪問(wèn)。這種優(yōu)點(diǎn)是本發(fā)明的一個(gè)特征。然而,本發(fā)明包括了其中第一和第二存儲(chǔ)器不是在物理上不同的存儲(chǔ)器的情況。假定與上述第一和第二存儲(chǔ)器對(duì)應(yīng)的兩個(gè)區(qū)在物理上的一個(gè)存儲(chǔ)器中得到了保證。在此情況下,從上述描述所顯而易見(jiàn)的是,第一和第二存儲(chǔ)器可以被該第一和第二存儲(chǔ)區(qū)所代替,因而本發(fā)明能夠用一個(gè)存儲(chǔ)器來(lái)實(shí)現(xiàn)。
如果上述的各個(gè)實(shí)施例用一個(gè)存儲(chǔ)器實(shí)現(xiàn),結(jié)合傳送階段描述的某些數(shù)據(jù)傳送操作變得不再必要。這些情況的每一個(gè)的細(xì)節(jié)是容易預(yù)期的,因而省略了對(duì)其的描述。當(dāng)上述兩個(gè)區(qū)彼此嚴(yán)格分開(kāi)并被采用時(shí),數(shù)據(jù)傳送處理是必要的并象在采用兩個(gè)物理上不同的存儲(chǔ)器的情況下那樣。然而,如果在這兩個(gè)區(qū)之間共享相同的數(shù)據(jù),則不需要數(shù)據(jù)傳送處理,且能夠?qū)崿F(xiàn)存儲(chǔ)容量的降低。
假定保持在第二存儲(chǔ)區(qū)中的編碼數(shù)據(jù)將要被傳送第一存儲(chǔ)區(qū)。在此情況下,可以通過(guò)只從第二存儲(chǔ)控制單元向第一存儲(chǔ)控制單元傳送兩段信息而實(shí)現(xiàn)與傳送該編碼數(shù)據(jù)相同的結(jié)果,該兩段信息即編碼數(shù)據(jù)的存儲(chǔ)的起始地址和其數(shù)據(jù)大小。
如果編碼數(shù)據(jù)以文檔或包的形式得到存儲(chǔ),將要在存儲(chǔ)器控制單元之間傳送的信息量略微增大;與編碼數(shù)據(jù)相關(guān)的管理表信息必須得到傳送。即使在此情況下,借助上述操作,也能夠獲得比通過(guò)傳送編碼數(shù)據(jù)高的效率。
如上所述,根據(jù)第一和第二實(shí)施例,一個(gè)設(shè)定的大小之內(nèi)的編碼數(shù)據(jù)可通過(guò)輸入一個(gè)圖象一次而被有效地產(chǎn)生。(第三和第四實(shí)施例的前提條件)在上述第一和第二實(shí)施例中,輸入圖象是單色還是彩色的圖象是沒(méi)有關(guān)系的。然而,如果輸入圖象是彩色圖象,可以進(jìn)行適合于彩色圖象的編碼。由于彩色圖象獲得了多個(gè)彩色分量,可以對(duì)各個(gè)彩色分量使用獨(dú)立的量化級(jí)。
圖17是第三實(shí)施例所應(yīng)用到的一個(gè)圖象處理設(shè)備100的功能框圖。這種設(shè)置與圖1所示的相同,只是加了一個(gè)選擇器111。相同的標(biāo)號(hào)表示相同的部分。然而,應(yīng)該注意的是,編碼單元102和再編碼單元109都是為編碼彩色圖象而設(shè)計(jì)的。假定第三實(shí)施例中的編碼單元102和再編碼單元109每一個(gè)都包括用于把輸入的彩色圖象數(shù)據(jù)臨時(shí)轉(zhuǎn)換成一個(gè)亮度信號(hào)和色差信號(hào)的轉(zhuǎn)換電路,并對(duì)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行壓縮編碼。作為亮度和色差信號(hào),可采用Y-Cr-Cb顏色空間或YIQ顏色空間中定義的信號(hào)。為了方便,在此實(shí)施例中,用Y表示亮度數(shù)據(jù),且色差信號(hào)用C1和C2表示。
以下描述總體設(shè)置。
圖象處理設(shè)備100包括用于從一個(gè)圖象掃描儀輸入圖象的輸入單元101。應(yīng)該注意的是,輸入單元101可以通過(guò)頁(yè)描述語(yǔ)言渲染輸入圖象數(shù)據(jù)或讀取存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中的圖象文檔。在某些情況下,輸入單元101可以從一個(gè)網(wǎng)絡(luò)接收?qǐng)D象數(shù)據(jù)。
編碼單元102對(duì)輸入的圖象數(shù)據(jù)進(jìn)行編碼。應(yīng)該注意的是,在此實(shí)施例中,一種已知的JPEG編碼方案被用作一個(gè)編碼方案。另外,該圖象數(shù)據(jù)受到基于8×8象素的正交變換,且所產(chǎn)生的數(shù)據(jù)受到利用一個(gè)量化級(jí)(將要在后面描述)的量化和Huffman編碼處理。
一個(gè)第一存儲(chǔ)控制單元103和第二存儲(chǔ)控制單元105進(jìn)行控制,從而把從編碼單元102輸出的上述編碼數(shù)據(jù)(相同的編碼數(shù)據(jù))分別存儲(chǔ)在一個(gè)第一存儲(chǔ)器104和一個(gè)第二存儲(chǔ)器106中。在此情況下,第一存儲(chǔ)器104是用于保持最后確認(rèn)(壓縮在一個(gè)目標(biāo)數(shù)據(jù)量之內(nèi))的編碼數(shù)據(jù)的存儲(chǔ)器,以使之能夠被輸出到一個(gè)網(wǎng)絡(luò)設(shè)備、圖象輸出設(shè)備、大容量存儲(chǔ)設(shè)備等等從外部與圖1所示的基本設(shè)置相連的設(shè)備。第二存儲(chǔ)器106是一個(gè)工作存儲(chǔ)器,用于幫助進(jìn)行壓縮編碼以形成第一存儲(chǔ)器中的編碼數(shù)據(jù)。
一個(gè)計(jì)數(shù)器107對(duì)編碼單元102所壓縮-編碼的圖象數(shù)據(jù)的數(shù)據(jù)量進(jìn)行計(jì)數(shù),并保持該計(jì)數(shù)值。計(jì)數(shù)器107還把計(jì)數(shù)結(jié)果輸出到一個(gè)編碼序列控制單元108,以對(duì)一個(gè)編碼序列進(jìn)行控制。
編碼序列控制單元108探測(cè)計(jì)數(shù)器107的計(jì)數(shù)值是否已經(jīng)達(dá)到一個(gè)設(shè)定值。在探測(cè)到該計(jì)數(shù)值已經(jīng)達(dá)到該設(shè)定值(超過(guò)目標(biāo)值)時(shí),編碼序列控制單元108把一個(gè)控制信號(hào)輸出到第一存儲(chǔ)控制單元103從而放棄存儲(chǔ)在第一存儲(chǔ)器104中的數(shù)據(jù)。第一存儲(chǔ)控制單元103,通過(guò)根據(jù)這種控制信號(hào)對(duì)存儲(chǔ)器地址計(jì)數(shù)器或編碼數(shù)據(jù)管理表進(jìn)行清除,而放棄所存儲(chǔ)的數(shù)據(jù)。此時(shí),編碼序列控制單元108把計(jì)數(shù)器107清除至零(從輸入單元101連續(xù)地輸入數(shù)據(jù)),并還對(duì)編碼單元102進(jìn)行控制以便以更高的壓縮率對(duì)數(shù)據(jù)進(jìn)行編碼。即,編碼序列控制單元108進(jìn)行控制以最終把該設(shè)備的編碼處理所產(chǎn)生的編碼數(shù)據(jù)的數(shù)據(jù)量減小至1/2。顯然,該值可以設(shè)定為1/2以外的一個(gè)任意的值。
在該壓縮率被改變之后獲得的編碼數(shù)據(jù)也通過(guò)第一和第二存儲(chǔ)控制單元103和105而被存儲(chǔ)在第一和第二存儲(chǔ)器104和106中。
進(jìn)一步地,編碼序列控制單元108使第二存儲(chǔ)控制單元105讀出存儲(chǔ)在第二存儲(chǔ)器106中的編碼數(shù)據(jù),并把一個(gè)控制信號(hào)輸出到作為一個(gè)編碼數(shù)據(jù)轉(zhuǎn)換裝置的一個(gè)再編碼單元109,從而輸出該編碼數(shù)據(jù)。
再編碼單元109對(duì)輸入的編碼數(shù)據(jù)進(jìn)行解碼并進(jìn)行再量化,以減小數(shù)據(jù)量。再編碼單元109隨后再次進(jìn)行編碼處理(熵編碼)并把具有與編碼單元102的壓縮率相同的壓縮率的一個(gè)數(shù)據(jù)量輸出到一個(gè)第二計(jì)數(shù)器110。,編碼單元102的該壓縮率已經(jīng)被改變。
從該再編碼單元109輸出的編碼數(shù)據(jù),通過(guò)第一和第二存儲(chǔ)控制單元103和105,而被存儲(chǔ)在第一和第二存儲(chǔ)器104和106中。
第二存儲(chǔ)控制單元105探測(cè)再編碼處理是否已經(jīng)終止。更具體地說(shuō),當(dāng)沒(méi)有需要讀出以進(jìn)行再編碼處理的數(shù)據(jù)時(shí),第二存儲(chǔ)控制單元105把再編碼處理的結(jié)束通知給編碼序列控制單元108。在實(shí)際中,編碼處理是當(dāng)再編碼單元109所進(jìn)行的處理以及第二存儲(chǔ)控制單元--05所進(jìn)行的讀出處理被終止時(shí)得到完成的。
當(dāng)再編碼處理完成時(shí),由第二計(jì)數(shù)器110獲得的計(jì)數(shù)值被加到被保持在計(jì)數(shù)器107中的計(jì)數(shù)值上。這種相加的結(jié)果表示了剛好在再編碼處理完成之后第一存儲(chǔ)器104中的數(shù)據(jù)量的和。即,當(dāng)對(duì)一幀的編碼處理被編碼單元102和再編碼單元109所完成時(shí),在上述相加之后被保持在第一計(jì)數(shù)器107中的計(jì)數(shù)值表示了當(dāng)該設(shè)備對(duì)一幀數(shù)據(jù)(將要在后面描述)進(jìn)行編碼時(shí)所產(chǎn)生的數(shù)據(jù)的總量。
編碼單元102連續(xù)地進(jìn)行編碼處理,只要有從輸入單元101來(lái)的、需要被編碼的圖象數(shù)據(jù),而不論再編碼處理是否被終止。
第一計(jì)數(shù)器107的計(jì)數(shù)值是否達(dá)到了一個(gè)給定的設(shè)定值被反復(fù)地檢查,直到從輸入單元101輸入的1頁(yè)圖象數(shù)據(jù)的編碼處理被終止。上述編碼/再編碼處理是根據(jù)與在此操作中獲得的探測(cè)結(jié)果相應(yīng)的控制操作而執(zhí)行的。
從編碼序列控制單元108輸出的切換信號(hào)被提供給選擇器111。選擇器111隨后在把將要編碼的數(shù)據(jù)送到再編碼單元109和將其不作任何改變地送回到存儲(chǔ)器控制單元103和105之間進(jìn)行切換。
與在上述第一實(shí)施例中一樣,這種設(shè)置中的處理內(nèi)容包括(1)一個(gè)編碼階段,(2)一個(gè)編碼/再編碼階段,以及(3)一個(gè)傳送階段。
把數(shù)據(jù)存儲(chǔ)到第一和第二存儲(chǔ)器中的處理與圖4至7中所顯示的相同。
第三實(shí)施例與第一和第二實(shí)施例的不同,在于將要被壓縮-編碼的一個(gè)圖象是彩色圖象。第三實(shí)施例涉及一種方法-該方法用于適應(yīng)其中第一計(jì)數(shù)器107計(jì)數(shù)了超過(guò)一個(gè)設(shè)定值的一個(gè)編碼量的情況。
雖然將要在后面詳細(xì)描述,如圖20所示,當(dāng)從一個(gè)輸入圖象的壓縮編碼開(kāi)始起編碼數(shù)據(jù)第一次以超過(guò)一個(gè)設(shè)定值的量被產(chǎn)生時(shí),編碼單元102繼續(xù)對(duì)數(shù)據(jù)進(jìn)行編碼,同時(shí)相對(duì)于色差數(shù)據(jù)C1和C2的交流分量(AC)把量化級(jí)增大至比初始狀態(tài)下的量化級(jí)更大的值。由于以初始狀態(tài)下的量化級(jí)進(jìn)行編碼的彩色圖象數(shù)據(jù)已經(jīng)被存儲(chǔ)在第二存儲(chǔ)器中,色差信號(hào)C1和C2的交流分量被選擇器111所選擇并被再編碼單元109所再編碼。所產(chǎn)生的數(shù)據(jù)隨后被存儲(chǔ)在第一和第二存儲(chǔ)器中。
如果判定該編碼量超過(guò)了該設(shè)定的值,用于亮度數(shù)據(jù)Y的一個(gè)交流分量AC的量化級(jí)根據(jù)圖20所示的表而被增大。
如上所述,該第三實(shí)施例能夠?qū)νㄟ^(guò)在DCT處理時(shí)選擇一個(gè)亮度數(shù)據(jù)或色差數(shù)據(jù)-量化級(jí)將要為其改變-并選擇一個(gè)交流或直流成分所產(chǎn)生的數(shù)據(jù)的編碼量進(jìn)行細(xì)調(diào),而不是簡(jiǎn)單地對(duì)所有彩色分量都增大量化級(jí)。
上述的描述是關(guān)于與第一實(shí)施例(圖1)相應(yīng)的第三實(shí)施例(圖17)的一個(gè)輪廓。與第二實(shí)施例(圖2)相應(yīng)的第四實(shí)施例具有象圖18所示的設(shè)置。圖18的設(shè)置與圖2的設(shè)置的不同,在于加了選擇器111。因此,其余的部分用相同的標(biāo)號(hào)表示。關(guān)于在其中所產(chǎn)生的數(shù)據(jù)的編碼量超過(guò)了一個(gè)設(shè)定值的情況下的處理內(nèi)容,數(shù)據(jù)被存儲(chǔ)在第一和第二存儲(chǔ)器中的方式與第二實(shí)施例中的相同。與第二實(shí)施例的不同,是量化級(jí)將要為其而被增大的一個(gè)目標(biāo)分量是根據(jù)圖20所示的情況而被確定的。
以下根據(jù)上述輪廓來(lái)詳細(xì)描述第三實(shí)施例的一個(gè)應(yīng)用例子。注意第四實(shí)施例(圖18)與第二實(shí)施例相同,只是所處理的是彩色圖象,且當(dāng)編碼量超過(guò)了一個(gè)設(shè)定值時(shí)量化級(jí)為其改變的分量與將要在以下描述的第三實(shí)施例中的那些分量相同。因此,對(duì)第四實(shí)施例的描述將被省略。(第三實(shí)施例)圖19是框圖,顯示了第三實(shí)施例所應(yīng)用于的一個(gè)數(shù)字圖象處理設(shè)備的設(shè)置。
參見(jiàn)圖19,標(biāo)號(hào)1000表示一個(gè)用于彩色圖象數(shù)據(jù)的輸入端口(表示圖象區(qū)信息和彩色圖象數(shù)據(jù))。如圖19所示,一個(gè)選擇器1023被連接到輸入端口1000。根據(jù)從一個(gè)主計(jì)算機(jī)輸出的打印數(shù)據(jù)(從一個(gè)操作面板(未顯示)選擇或根據(jù)輸入操作而自動(dòng)地選擇),選擇器1023選擇一個(gè)圖象掃描儀1020或一個(gè)渲染引擎1021。假定彩色圖象數(shù)據(jù)1031和1032和圖象區(qū)信息1033和1034(用于標(biāo)明各個(gè)象素是存在于一個(gè)字符/線圖象區(qū)還是半色調(diào)區(qū)中以及是彩色還是單色象素的信息)是從掃描儀和渲染引擎兩者輸出的。渲染引擎1021能夠根據(jù)打印數(shù)據(jù)(半色調(diào)圖象作為來(lái)自主計(jì)算機(jī)的圖象數(shù)據(jù)而被傳送,且字符/線圖象根據(jù)一個(gè)描繪命令而被描繪)。圖象掃描儀1020讀取一個(gè)原始圖象并表示根據(jù)讀取的圖象來(lái)判定該圖象是處于一個(gè)字符/線圖象區(qū)中還是在半色調(diào)區(qū)中以及是彩色還是單色圖象。因而假定圖象掃描儀1020包括用于產(chǎn)生這樣的圖象區(qū)信息的一個(gè)電路。
標(biāo)號(hào)1001表示了具有多個(gè)輸入圖象的行的一個(gè)行緩存器(其容量大得足以提取圖象塊);且1002表示與圖1的編碼單元102相應(yīng)的彩色圖象編碼器。然而,此實(shí)施例中的彩色圖象編碼器1002包括一個(gè)轉(zhuǎn)換電路,用于把輸入的彩色圖象數(shù)據(jù)臨時(shí)轉(zhuǎn)換成一個(gè)亮度信號(hào)和色差信號(hào),并對(duì)轉(zhuǎn)換的數(shù)據(jù)進(jìn)行壓縮-編碼。作為亮度和色差信號(hào),可采用在Y-Cr-Cb彩色空間或YIQ彩色空間中定義的信號(hào)。為了方便,在此實(shí)施例中,亮度數(shù)據(jù)用Y表示,且色差數(shù)據(jù)用C1和C2表示。
標(biāo)號(hào)1003表示用于臨時(shí)存儲(chǔ)編碼數(shù)據(jù)的一個(gè)內(nèi)部緩存器。
標(biāo)號(hào)1004表示一個(gè)外部存儲(chǔ)器(例如一個(gè)硬盤),用于存儲(chǔ)編碼的彩色圖象數(shù)據(jù);1005表示一個(gè)解碼緩存器,用于臨時(shí)存儲(chǔ)讀出的編碼圖象數(shù)據(jù)以對(duì)其進(jìn)行解碼;1006表示一個(gè)解碼器;1007表示一個(gè)行緩存器,用于臨時(shí)存儲(chǔ)解碼的圖象;且1008表示一個(gè)輸出端口,用于把存儲(chǔ)在輸出端口1008中的圖象輸出至與該端口相連的一個(gè)打印機(jī)單元1009。假定打印機(jī)單元1009包括一個(gè)轉(zhuǎn)換電路,用于把數(shù)據(jù)Y、C1和C2轉(zhuǎn)換成打印彩色分量Y、M和C(或Y、M、C和Bk)。另外,打印機(jī)單元1009不限于任何具體的打印方案。例如,可采用激光束打印機(jī)或用于排放墨滴的打印機(jī)。
標(biāo)號(hào)1010表示一個(gè)編碼量監(jiān)測(cè)單元,用于監(jiān)測(cè)存儲(chǔ)在一個(gè)內(nèi)部緩存器1003中的數(shù)據(jù)的編碼量;且1011表示一個(gè)碼轉(zhuǎn)換單元,用于進(jìn)行再編碼。
與圖17相關(guān)地,內(nèi)部緩存器1003被用作圖1中的第一和第二存儲(chǔ)器。另外,編碼序列控制單元108、第一計(jì)數(shù)器107、第二計(jì)數(shù)器110和選擇器111對(duì)應(yīng)于編碼量監(jiān)測(cè)單元1010,且再編碼單元109對(duì)應(yīng)于碼轉(zhuǎn)換單元1011。
彩色圖象編碼器1002把存儲(chǔ)在行緩存器1001中的圖象數(shù)據(jù)分成圖象塊-每一個(gè)圖象塊具有8×8象素的大小(每一個(gè)圖象塊不限于8×8象素并可具有M×M個(gè)象素),并在8×8象素的基礎(chǔ)上對(duì)彩色信息進(jìn)行編碼。一個(gè)彩色圖象借助離散余弦變換(JPEG)而得到編碼,而圖象區(qū)信息借助運(yùn)行長(zhǎng)度編碼(run-length encoding)而得到編碼。
圖象區(qū)信息被附在各個(gè)象素上。然而,當(dāng)要為各個(gè)8×8象素塊而借助DCT進(jìn)行數(shù)據(jù)處理時(shí),圖象區(qū)標(biāo)記被表示性地附在各個(gè)塊上。圖象區(qū)根據(jù)一個(gè)圖象的字符和照片區(qū)以及一個(gè)給予的區(qū)是彩色還是單色而被分類。然而,也可以采用其他方法,或者可以添加其他的部分。
編碼量監(jiān)測(cè)單元1010對(duì)彩色圖象編碼器1002所產(chǎn)生的數(shù)據(jù)的編碼量進(jìn)行監(jiān)測(cè)。當(dāng)預(yù)期該編碼量將超過(guò)一個(gè)設(shè)定量時(shí),編碼量監(jiān)測(cè)單元1010使編碼器1002以更高的編碼效率對(duì)隨后輸入的彩色圖象(以及屬性信息)進(jìn)行編碼,并還使碼轉(zhuǎn)換單元1011以更高的編碼效率對(duì)前面已經(jīng)編碼的數(shù)據(jù)進(jìn)行再編碼。
在此第三實(shí)施例中,為了在每次編碼量超過(guò)設(shè)定值使都逐漸地增大編碼效率,進(jìn)行了以下的操作。
如上所述,該第三實(shí)施例被適當(dāng)配置以對(duì)彩色圖象進(jìn)行編碼。彩色圖象數(shù)據(jù)是以顏色空間的形式而得到表示的,該空間由亮度數(shù)據(jù)Y和色差數(shù)據(jù)C1和C2定義。
當(dāng)在對(duì)一個(gè)給定頁(yè)的編碼開(kāi)始之后判定編碼單元102所產(chǎn)生的數(shù)據(jù)的編碼量已經(jīng)超過(guò)了一個(gè)目標(biāo)值時(shí),編碼量監(jiān)測(cè)單元1010(圖17中的編碼序列控制單元108)使得編碼單元102在把一個(gè)量化級(jí)設(shè)定在比之前更高的同時(shí)對(duì)色差數(shù)據(jù)C1和C2的通過(guò)正交變換而獲得的交流分量(AC)進(jìn)行編碼。借助這種操作,在判定編碼量已經(jīng)超過(guò)了目標(biāo)值之后被輸入的彩色圖象,以一個(gè)更高的壓縮率,得到了編碼。
另外,由于直到判定編碼量已經(jīng)超過(guò)了目標(biāo)值時(shí)被編碼的數(shù)據(jù)被存儲(chǔ)在第二存儲(chǔ)器中,再編碼單元109受到控制而只把編碼的色差數(shù)據(jù)C1和C2輸出至第二存儲(chǔ)控制單元105,且一個(gè)控制命令被發(fā)至選擇器111以把該數(shù)據(jù)輸出至再編碼單元109。另外,編碼序列控制單元108使得再編碼單元109在增大編碼的色差數(shù)據(jù)C1和C2的量化級(jí)的同時(shí)對(duì)它們進(jìn)行解碼并對(duì)它們的交流分量(AC分量)進(jìn)行編碼。再編碼的色差數(shù)據(jù)被存儲(chǔ)在第一存儲(chǔ)器104和第二存儲(chǔ)器106中。借助這種操作,即使在編碼量已經(jīng)超過(guò)目標(biāo)值之前被編碼的數(shù)據(jù)也能夠以一個(gè)高的壓縮率得到編碼。
總之,當(dāng)編碼量在輸入和編碼一個(gè)給定頁(yè)的彩色圖象數(shù)據(jù)時(shí)第一次超過(guò)了目標(biāo)值時(shí),色差數(shù)據(jù)C1和C2的交流分量以一個(gè)更高的量化級(jí)而被連續(xù)地編碼。
如果在上述處理期間編碼量再次超過(guò)了目標(biāo)值,亮度數(shù)據(jù)Y的交流分量被判定為一個(gè)目標(biāo)-量化級(jí)將要為其而改變。
以此方式,每次編碼量超過(guò)了目標(biāo)值時(shí),亮度數(shù)據(jù)Y和色差數(shù)據(jù)C1和C2的交流分量和直流成分的量化級(jí)都被改變(設(shè)定得更高)以逐漸地增大壓縮率。
因此,編碼序列控制單元108具有如圖20所示的場(chǎng)景表,并進(jìn)行控制以按照第一場(chǎng)景、第二場(chǎng)景、第三場(chǎng)景、……的順序增大壓縮率,場(chǎng)景的數(shù)目與對(duì)于一個(gè)給定的頁(yè)編碼量超過(guò)目標(biāo)值的計(jì)數(shù)次數(shù)相同。
因此,當(dāng)編碼量在對(duì)一個(gè)給定頁(yè)進(jìn)行編碼的過(guò)程中第一次超過(guò)目標(biāo)值時(shí),根據(jù)圖20所示的表,色差數(shù)據(jù)C1和C2的交流分量AC變?yōu)閷⒁贿x擇的目標(biāo)因而上述的處理得到進(jìn)行。
圖21是曲線圖,用于說(shuō)明編碼的進(jìn)行與存儲(chǔ)器的占用率之間的關(guān)系。以下結(jié)合圖21簡(jiǎn)要地描述一個(gè)操作序列。
參見(jiàn)圖21,在初始值(初始階段的編碼參數(shù))的條件下,在2/8的時(shí)間點(diǎn)編碼數(shù)據(jù)發(fā)生了溢出。根據(jù)本實(shí)施例,在此時(shí)間點(diǎn)之后,用于色差數(shù)據(jù)C1和C2的交流分量的量化級(jí)被增大,且彩色圖象數(shù)據(jù)被連續(xù)地編碼。對(duì)于已經(jīng)被編碼的數(shù)據(jù),數(shù)據(jù)的色差數(shù)據(jù)得到解碼,且用于交流分量的量化級(jí)被增大,從而開(kāi)始再編碼處理。
在3/8時(shí)刻,在判定編碼量已經(jīng)超過(guò)目標(biāo)值之前的再編碼處理被完成,且第一存儲(chǔ)器104的傳送處理得到完成。
在4/8時(shí)刻,編碼的數(shù)據(jù)再次溢出,因而再編碼處理被啟動(dòng)。由于該溢出是第二次溢出,亮度數(shù)據(jù)的交流分量根據(jù)圖20得到選擇并根據(jù)圖20所示的表而得到處理。在5/8時(shí)刻,再編碼處理終止,且傳送處理得到完成。
在8/8時(shí)刻,1頁(yè)圖象數(shù)據(jù)被完全編碼。
在上述情況下,在3/8時(shí)刻,編碼數(shù)據(jù)進(jìn)行了約25%。該值是借助壓縮率和再編碼時(shí)間而確定的。在一種實(shí)際的設(shè)備中,這樣的一個(gè)值需要作為一個(gè)設(shè)計(jì)參數(shù)即緩存存儲(chǔ)器的一個(gè)余量而得到保證。然而,該值不會(huì)變得非常大。如從圖21可見(jiàn),處理時(shí)間在編碼一個(gè)1頁(yè)圖象所需的時(shí)間內(nèi)結(jié)束。
如從上述描述可見(jiàn),在第三實(shí)施例中,由于色差數(shù)據(jù)和亮度數(shù)據(jù)的直流成分和交流分量可以被獨(dú)立地設(shè)定,用于亮度和色差數(shù)據(jù)的交流分量和直流分量的量化級(jí)的值被存儲(chǔ)在第一存儲(chǔ)器104中。
圖22A至22D用于說(shuō)明DCT系數(shù)的直流系數(shù)(DC系數(shù))。圖22B用于說(shuō)明DC系數(shù)編碼。經(jīng)歷了8×8象素DCT變換的DC系數(shù)值(圖22B中左上部的小正方形)與相鄰的塊的DC系數(shù)值之間的差被獲得并被進(jìn)行可變長(zhǎng)度編碼。
圖22A是顯示用于編碼的設(shè)置的框圖。一個(gè)差計(jì)算器1202計(jì)算一個(gè)DC系數(shù)1205與被一個(gè)塊延遲裝置1201所延遲的剛好在前面的一個(gè)塊的DC系數(shù)之間的差。該差值通過(guò)分組處理而被轉(zhuǎn)換成一個(gè)組號(hào)SSSS。
一個(gè)分組單元根據(jù)一個(gè)DC差值而確定附加的位的數(shù)目,如圖22C所示。該組號(hào)SSSS被一個(gè)一維Huffman編碼器1204根據(jù)圖22D所示的表而進(jìn)行Huffman編碼。
如從這些表可見(jiàn),隨著組號(hào)的減小,Huffman碼和附加位的數(shù)目減小(在某些情況下它們彼此相等)。
因而,當(dāng)該DC差值減小至1/2時(shí),組號(hào)減小一,且通過(guò)把一個(gè)Huffman碼和附加位相結(jié)合而獲得的可變長(zhǎng)度編碼部分減小1至2位。
圖24用于說(shuō)明對(duì)DC系數(shù)的交流系數(shù)(AC系數(shù))進(jìn)行編碼的一個(gè)方案。
交流系數(shù)1301按照一種之字形的順序而被重新排列。當(dāng)一個(gè)判定裝置1302判定到一個(gè)0時(shí),一個(gè)運(yùn)行長(zhǎng)度計(jì)數(shù)器1303計(jì)數(shù)相繼的0系數(shù)的數(shù)目(運(yùn)行長(zhǎng)度),并輸出一個(gè)運(yùn)行長(zhǎng)度NNNN 1306。對(duì)于0以外的一個(gè)系數(shù)值,一個(gè)分組裝置1304輸出一個(gè)組號(hào)1307和附加位1302,象在圖22A所示的情況中那樣。一個(gè)兩維Huffman編碼器1305,通過(guò)把運(yùn)行長(zhǎng)度NNNN和組號(hào)SSSS相結(jié)合,而進(jìn)行Huffman編碼(見(jiàn)圖23)。
如果運(yùn)行長(zhǎng)度NNNN超過(guò)了15,各表示一個(gè)16的運(yùn)行長(zhǎng)度的ZRL被輸出一個(gè)所需的數(shù)目。例如,一個(gè)35的運(yùn)行長(zhǎng)度被轉(zhuǎn)換成所要編碼的ZRL+ZRL+運(yùn)行長(zhǎng)度3。
另外,在最后一個(gè)有效系數(shù)(0以外的系數(shù))之后,EOB(塊的結(jié)束)被加上。
在此實(shí)施例中,8×8個(gè)塊受到DCT處理,之字形掃描以圖24所示的順序得到進(jìn)行。
圖26顯示了借助一個(gè)運(yùn)行長(zhǎng)度和大小而得到查詢的一個(gè)Huffman碼表的部分。
顯然,當(dāng)一個(gè)交流系數(shù)的值減小至1/2時(shí),組數(shù)減小1,且通過(guò)把一個(gè)Huffman碼和附加位相結(jié)合而獲得的可變長(zhǎng)度碼部分減小1或2位。
另外,由于系數(shù)值變?yōu)榱闱疫\(yùn)行長(zhǎng)度增大,將要編碼的主要符號(hào)的數(shù)目也減小。結(jié)果,碼的長(zhǎng)度進(jìn)一步地減小。
以下描述一種情況,其中一個(gè)指標(biāo)根據(jù)再編碼的起始點(diǎn)而被置于一個(gè)彩色信號(hào)選擇表中。
圖27是曲線圖,用于說(shuō)明編碼的進(jìn)程與存儲(chǔ)器占用率之間的關(guān)系。
參見(jiàn)圖27,在6/8時(shí)刻,對(duì)于一個(gè)初始值在量化級(jí)中發(fā)生了一個(gè)編碼溢出,且再編碼處理得到啟動(dòng)。另外,通過(guò)改變量化級(jí),編碼被繼續(xù)進(jìn)行。在此情況下,溢出發(fā)生在處理的結(jié)束附近的6/8時(shí)刻。因而,如果所有的彩色分量都被再編碼,編碼量將被減小至約1/2。即,預(yù)期編碼量將被過(guò)度地壓縮到一個(gè)預(yù)定的編碼量以下。因而,在此情況下,只有一個(gè)彩色選擇表中的色差數(shù)據(jù)的交流分量被再編碼,且編碼序列控制單元根據(jù)一個(gè)1頁(yè)圖象的處理量的計(jì)數(shù)而進(jìn)行指標(biāo)控制。這使得可以防止隨后的過(guò)度壓縮。(應(yīng)用例子)上述實(shí)施例是以用于通過(guò)圖象掃描儀讀取一個(gè)圖象的設(shè)備為例子的,且該設(shè)備的功能運(yùn)行已經(jīng)得到描述。該設(shè)備的多數(shù)功能(包括編碼處理)可借助計(jì)算機(jī)程序而得到實(shí)施,如上所述。
因而本發(fā)明可被應(yīng)用于在諸如個(gè)人計(jì)算機(jī)的一個(gè)通用圖象處理設(shè)備上運(yùn)行的一個(gè)應(yīng)用程序。當(dāng)本發(fā)明被應(yīng)用于一種應(yīng)用程序時(shí),可提供一個(gè)GUI以使用戶能夠例如指定作為壓縮源的圖象文檔并選擇一個(gè)目標(biāo)大小。該目標(biāo)值可由用戶任意設(shè)定。然而,用戶通過(guò)輸入一個(gè)數(shù)值來(lái)設(shè)定一個(gè)目標(biāo)值是麻煩的。因而較好的是使用戶能夠通過(guò)從一個(gè)考慮到原始大小和圖象質(zhì)量(例如高、中和低)的直觀的菜單來(lái)選擇并確定一個(gè)目標(biāo)值。
雖然量化級(jí)是以編碼單元中的一個(gè)編碼參數(shù)為例子而得到描述的,其他的參數(shù)也可得到采用,只要它們被用來(lái)防止當(dāng)壓縮率不同的數(shù)據(jù)被混合時(shí)在它們之間的圖象質(zhì)量的不一致性的加重。例如,在圖1所示的設(shè)置中,為了使來(lái)自再編碼單元109的再編碼的數(shù)據(jù)基本上與一個(gè)參數(shù)被改變之后來(lái)自編碼單元102的編碼數(shù)據(jù)相同,增大量化級(jí)的技術(shù)被優(yōu)選地得到采用,就象在上述實(shí)施例中那樣。
如上所述,根據(jù)第三和第四實(shí)施例,一個(gè)多值彩色圖象可在不進(jìn)行再輸入操作的的情況下在一個(gè)目標(biāo)大小之內(nèi)得到編碼,且該彩色圖象的圖象質(zhì)量的惡化能夠得到減小。
上述的實(shí)施例是以這樣的情況為例子的,即其中一個(gè)彩色圖象作為亮度和色差數(shù)據(jù)而得到壓縮-編碼。然而,用于表示彩色分量的彩色空間不限于亮度和色差。例如,可采用L*a*b*彩色空間。
雖然每次發(fā)生存儲(chǔ)器溢出時(shí)壓縮參數(shù)都被改變,優(yōu)選的是量化級(jí)在給予人的視覺(jué)難于區(qū)分的彩色分量的情況下得到增大。因此,優(yōu)選的是采用適合于一種彩色外觀模型的彩色空間,例如亮度和色差(色調(diào)和飽和)彩色空間,而不是RGB彩色空間。
如上所述,本發(fā)明還可借助在通用圖象處理設(shè)備上運(yùn)行的一個(gè)應(yīng)用程序而得到實(shí)施。因而本發(fā)明包括了該計(jì)算機(jī)程序。另外,一般地,該計(jì)算機(jī)程序通過(guò)諸如設(shè)置在該設(shè)備中的軟盤或CD-ROM的存儲(chǔ)介質(zhì)而被復(fù)制或安裝到該設(shè)備中,并得到執(zhí)行。因而,顯而易見(jiàn)的是,這樣的存儲(chǔ)介質(zhì)也被包括在本發(fā)明中。
在上述實(shí)施例中,圖象數(shù)據(jù)從掃描儀輸入。然而,本發(fā)明也可被應(yīng)用于在一個(gè)計(jì)算機(jī)上運(yùn)行的一種打印機(jī)驅(qū)動(dòng)器。假定本發(fā)明將要被應(yīng)用于該打印機(jī)驅(qū)動(dòng)器。在此情況下,當(dāng)將要打印的數(shù)據(jù)被從上一級(jí)的處理(一個(gè)應(yīng)用等)接收時(shí),該數(shù)據(jù)可被鑒別出是半色調(diào)圖象還是字符/線圖象,用于圖象區(qū)信息產(chǎn)生的設(shè)置可被省略或簡(jiǎn)化。
進(jìn)一步地,本發(fā)明可被應(yīng)用于一個(gè)計(jì)算機(jī)程序和適當(dāng)?shù)挠布?編碼電路等)的組合。
由于在不脫離本發(fā)明的精神或范圍的前提下可以作出本發(fā)明的許多非常不同的實(shí)施例,因而應(yīng)該理解的是,本發(fā)明不限于其具體的實(shí)施例,而只由所附的定標(biāo)書來(lái)限定。
權(quán)利要求
1.一種圖象處理設(shè)備,用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于第一壓縮裝置,它能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù);第二壓縮裝置,它能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù)、對(duì)所述第一壓縮裝置所壓縮的編碼數(shù)據(jù)進(jìn)行解碼、并對(duì)該數(shù)據(jù)進(jìn)行再壓縮;監(jiān)測(cè)裝置,用于在一個(gè)輸入頁(yè)的圖象數(shù)據(jù)被所述第一壓縮裝置所壓縮的同時(shí)對(duì)一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè)并判定該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到一個(gè)預(yù)定的量;設(shè)定裝置,用于當(dāng)所述監(jiān)測(cè)裝置在該頁(yè)的壓縮期間探測(cè)到該編碼數(shù)據(jù)量已經(jīng)達(dá)到該預(yù)定量時(shí)在所述第一和第二壓縮裝置中設(shè)定用于增大一個(gè)壓縮率的一個(gè)參數(shù);以及控制裝置,用于當(dāng)該參數(shù)被所述設(shè)定裝置所改變時(shí)使所述第二壓縮裝置對(duì)在該參數(shù)被改變之前由所述第一壓縮裝置所產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把該再編碼的數(shù)據(jù)作為在所述第一壓縮裝置中的該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把該參數(shù)被改變之后由所述第一壓縮裝置所產(chǎn)生的編碼數(shù)據(jù)作為后繼的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
2.根據(jù)權(quán)利要求1的設(shè)備,其特征在于當(dāng)所述第二壓縮裝置執(zhí)行再編碼時(shí),所述第一和第二壓縮裝置至少在一個(gè)間隔的一部分中同時(shí)工作。
3.根據(jù)權(quán)利要求1的設(shè)備,其特征在于該參數(shù)是定量處理中的一個(gè)量化級(jí)。
4.根據(jù)權(quán)利要求1的設(shè)備,其特征在于所述第一壓縮裝置所產(chǎn)生的該編碼數(shù)據(jù)被同時(shí)寫入到所述第一和第二存儲(chǔ)器中,且當(dāng)所述監(jiān)測(cè)裝置探測(cè)到該編碼數(shù)據(jù)量已經(jīng)達(dá)到該預(yù)定的數(shù)據(jù)量時(shí),所述控制裝置對(duì)所述第一存儲(chǔ)器進(jìn)行清除,使所述第二壓縮裝置對(duì)存儲(chǔ)在所述第二存儲(chǔ)器中的編碼數(shù)據(jù)進(jìn)行再編碼,并把該編碼數(shù)據(jù)存儲(chǔ)在所述第一存儲(chǔ)器中。
5.用于一種圖象處理設(shè)備的一種控制方法,該圖象處理設(shè)備用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于第一壓縮步驟,其中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠得到改變;第二壓縮步驟,其中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠得到改變、在第一壓縮步驟中被壓縮的編碼數(shù)據(jù)得到解碼、且該數(shù)據(jù)被再編碼;監(jiān)測(cè)步驟,用于在第一壓縮步驟中在一個(gè)輸入頁(yè)被壓縮的同時(shí)對(duì)一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè),并探測(cè)該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;設(shè)定步驟,用于當(dāng)在該監(jiān)測(cè)步驟中探測(cè)到該編碼數(shù)據(jù)量在該頁(yè)的壓縮期間已經(jīng)達(dá)到該預(yù)定量時(shí)設(shè)定用于增大第一和第二壓縮步驟中的一個(gè)壓縮率的一個(gè)參數(shù);以及控制步驟,用于當(dāng)該參數(shù)在該設(shè)定步驟中被改變時(shí)在第二壓縮步驟中對(duì)在該參數(shù)被改變之前在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把該再編碼的數(shù)據(jù)作為在第一壓縮步驟中該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把在該參數(shù)被改變之后在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為后繼的編碼數(shù)據(jù)存儲(chǔ)起來(lái)。
6.根據(jù)權(quán)利要求5的方法,其特征在于當(dāng)在第二壓縮步驟中執(zhí)行再編碼時(shí),第一和第二壓縮步驟至少在一個(gè)間隔的一部分被被同時(shí)執(zhí)行。
7.一種計(jì)算機(jī)程序,它起著用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼的一種圖象處理設(shè)備的功能,其特征在于包括用于第一壓縮步驟的程序碼,在第一壓縮步驟中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠得到改變;用于第二壓縮步驟的程序碼,在第二壓縮步驟中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠得到改變、在第一壓縮步驟中被壓縮的編碼數(shù)據(jù)得到解碼、且該數(shù)據(jù)被再編碼;用于監(jiān)測(cè)步驟的程序碼,該監(jiān)測(cè)步驟用于在第一壓縮步驟中在一個(gè)輸入頁(yè)被壓縮的同時(shí)對(duì)一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè),并探測(cè)該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;用于設(shè)定步驟的程序碼,該設(shè)定步驟用于當(dāng)在該監(jiān)測(cè)步驟中探測(cè)到該編碼數(shù)據(jù)量在該頁(yè)的壓縮期間已經(jīng)達(dá)到該預(yù)定量時(shí)設(shè)定用于增大第一和第二壓縮步驟中的一個(gè)壓縮率的一個(gè)參數(shù);以及用于控制步驟的程序碼,該控制步驟用于當(dāng)該參數(shù)在該設(shè)定步驟中被改變時(shí)在第二壓縮步驟中對(duì)在該參數(shù)被改變之前在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把該再編碼的數(shù)據(jù)作為在第一壓縮步驟中該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把在該參數(shù)被改變之后在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為后繼的編碼數(shù)據(jù)存儲(chǔ)起來(lái)。
8.根據(jù)權(quán)利要求7的程序,其特征在于當(dāng)在第二壓縮步驟中執(zhí)行再編碼時(shí),第一和第二壓縮步驟至少在一個(gè)間隔的一部分被被同時(shí)執(zhí)行。
9.一種存儲(chǔ)介質(zhì),其特征在于它存儲(chǔ)有權(quán)利要求所定義的計(jì)算機(jī)程序。
10.一種圖象處理設(shè)備,該圖象處理設(shè)備用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于第一和第二壓縮裝置,它們能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù);第三壓縮裝置,它能夠改變用于確定一個(gè)壓縮率的一個(gè)參數(shù),對(duì)所述第二壓縮裝置所壓縮的編碼數(shù)據(jù)進(jìn)行解碼、并對(duì)該數(shù)據(jù)進(jìn)行再編碼;設(shè)定裝置,用于設(shè)定使所述第二壓縮裝置的一個(gè)壓縮率比所述第一壓縮裝置的一個(gè)壓縮率高的不同的參數(shù);監(jiān)測(cè)裝置,用于在一個(gè)輸入頁(yè)的圖象數(shù)據(jù)被所述第一和第二壓縮裝置所壓縮的同時(shí)對(duì)所述第一壓縮裝置所產(chǎn)生的一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè),并探測(cè)該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定量;更新裝置,用于當(dāng)所述監(jiān)測(cè)裝置判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到該預(yù)定量時(shí),把所述第二壓縮裝置中設(shè)定的該參數(shù)更新為在該頁(yè)的壓縮期間中用于所述第一壓縮裝置的一個(gè)參數(shù),并更新所述第二壓縮裝置中的參數(shù)以進(jìn)一步增大所述第二壓縮裝置的該壓縮率;以及控制裝置,用于當(dāng)該參數(shù)被所述更新裝置所更新時(shí)使所述第三壓縮裝置對(duì)在該參數(shù)被改變之前由所述第二壓縮裝置所產(chǎn)生的該編碼數(shù)據(jù)進(jìn)行再編碼、把所述第二壓縮裝置產(chǎn)生的編碼數(shù)據(jù)作為在該參數(shù)被改變之后由所述第一壓縮裝置所產(chǎn)生的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把由所述第一壓縮裝置所產(chǎn)生的編碼數(shù)據(jù)作為后繼編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
11.根據(jù)權(quán)利要求10的設(shè)備,其特征在于其中所述第三壓縮裝置執(zhí)行再編碼時(shí),所述第三壓縮裝置和所述第一和第二壓縮裝置至少在一個(gè)間隔的一部分中同時(shí)操作。
12.用于一種圖象處理設(shè)備的一種控制方法,該圖象處理設(shè)備用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于包括第一和第二壓縮步驟,其中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠被改變;第三壓縮步驟,其中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠被改變、在第二壓縮步驟中被壓縮的編碼數(shù)據(jù)被解碼、且該數(shù)據(jù)被再編碼;設(shè)定步驟,用于設(shè)定不同的參數(shù)以使在第二壓縮步驟中的一個(gè)壓縮率比在該第一壓縮步驟中的一個(gè)壓縮率高;監(jiān)測(cè)步驟,用于在一個(gè)輸入頁(yè)的圖象數(shù)據(jù)在第一和第二壓縮步驟中被壓縮的同時(shí)對(duì)在第一壓縮步驟中產(chǎn)生的一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè),并探測(cè)該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;更新步驟,用于當(dāng)在該監(jiān)測(cè)步驟判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到了該預(yù)定量時(shí),把在第二壓縮步驟中設(shè)定的該參數(shù)更新為在該頁(yè)的壓縮期間在第一壓縮步驟中的一個(gè)參數(shù),并對(duì)在第二壓縮步驟中的該參數(shù)進(jìn)行更新以進(jìn)一步增大第二壓縮步驟中的該壓縮率;以及控制步驟,用于當(dāng)該參數(shù)在該更新步驟中得到更新時(shí),在第三壓縮步驟中對(duì)在該參數(shù)被改變之前在第二壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把在第二壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為在該參數(shù)被改變之后在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為后繼的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
13.根據(jù)權(quán)利要求12的設(shè)備,其特征在于當(dāng)所述第三壓縮裝置執(zhí)行再編碼時(shí),所述第三壓縮裝置和所述第一和第二壓縮裝置至少在一個(gè)間隔的一部分中同時(shí)操作。
14.一種計(jì)算機(jī)程序,它起著用于輸入圖象數(shù)據(jù)并對(duì)該數(shù)據(jù)進(jìn)行壓縮-編碼的一種圖象處理設(shè)備的功能,其特征在于包括用于第一和第二壓縮步驟的程序碼,在該第一和第二壓縮步驟中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠被改變;用于第三壓縮步驟的程序碼,在該第三壓縮步驟中用于確定一個(gè)壓縮率的一個(gè)參數(shù)能夠被改變、在第二壓縮步驟中被壓縮的編碼數(shù)據(jù)被解碼、且該數(shù)據(jù)被再編碼;用于設(shè)定步驟的程序碼,該設(shè)定步驟用于設(shè)定不同的參數(shù)以使在第二壓縮步驟中的一個(gè)壓縮率比在該第一壓縮步驟中的一個(gè)壓縮率高;用于監(jiān)測(cè)步驟的程序碼,該監(jiān)測(cè)步驟用于在一個(gè)輸入頁(yè)的圖象數(shù)據(jù)在第一和第二壓縮步驟中被壓縮的同時(shí)對(duì)在第一壓縮步驟中產(chǎn)生的一個(gè)編碼數(shù)據(jù)量進(jìn)行監(jiān)測(cè),并探測(cè)該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;用于更新步驟的程序碼,該更新步驟用于當(dāng)在該監(jiān)測(cè)步驟判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到了該預(yù)定量時(shí),把在第二壓縮步驟中設(shè)定的該參數(shù)更新為在該頁(yè)的壓縮期間在第一壓縮步驟中的一個(gè)參數(shù),并對(duì)在第二壓縮步驟中的該參數(shù)進(jìn)行更新以進(jìn)一步增大第二壓縮步驟中的該壓縮率;以及用于控制步驟的程序碼,該控制步驟用于當(dāng)該參數(shù)在該更新步驟中得到更新時(shí),在第三壓縮步驟中對(duì)在該參數(shù)被改變之前在第二壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把在第二壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為在該參數(shù)被改變之后在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并把在第一壓縮步驟中產(chǎn)生的編碼數(shù)據(jù)作為后繼的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
15.一種存儲(chǔ)介質(zhì),其特征在于它存儲(chǔ)有權(quán)利要求14所限定的計(jì)算機(jī)程序。
16.一種圖象處理設(shè)備,用于對(duì)由多個(gè)彩色分量組成的多電平彩色圖象數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于存儲(chǔ)裝置,用于存儲(chǔ)壓縮-編碼的數(shù)據(jù);第一壓縮-編碼裝置,它能夠改變與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù);第二壓縮-編碼裝置,它能夠改變與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù)、對(duì)由所述第一壓縮-編碼裝置所壓縮-編碼的該數(shù)據(jù)進(jìn)行解碼、并對(duì)該數(shù)據(jù)進(jìn)行再編碼;編碼量監(jiān)測(cè)裝置,用于對(duì)由所述第一壓縮-編碼裝置產(chǎn)生的一個(gè)編碼量進(jìn)行監(jiān)測(cè),并判定該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定量;參數(shù)設(shè)定裝置,用于當(dāng)所述編碼量監(jiān)測(cè)裝置判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到該預(yù)定量時(shí),確定一個(gè)彩色分量-所述第一和第二壓縮-編碼裝置中的量化級(jí)將要為該彩色分量而改變;以及控制裝置,用于當(dāng)所述參數(shù)設(shè)定裝置改變這些參數(shù)時(shí),使所述第二壓縮-編碼裝置對(duì)所述第一壓縮-編碼裝置在這些參數(shù)被改變之前所產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、把該再編碼的數(shù)據(jù)作為在所述第一壓縮-編碼裝置中的該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)在所述存儲(chǔ)裝置中、并使所述存儲(chǔ)裝置把所述第一壓縮-編碼裝置在該參數(shù)被改變之后所產(chǎn)生的編碼數(shù)據(jù)作為后繼編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
17.根據(jù)權(quán)利要求16的設(shè)備,其特征在于所述參數(shù)設(shè)定裝置進(jìn)一步判定用于一個(gè)交流分量和一個(gè)直流分量的量化級(jí)中的哪一個(gè)將要被改變。
18.根據(jù)權(quán)利要求17的設(shè)備,其特征在于該彩色分量是亮度信息和色差信息,且所述參數(shù)設(shè)定裝置,在每次所述編碼量監(jiān)測(cè)裝置判定該編碼量超過(guò)了一個(gè)預(yù)定的量時(shí),按照色差信息的一個(gè)交流分量、亮度信息的一個(gè)交流分量、一個(gè)色差數(shù)據(jù)的一個(gè)直流分量、以及亮度信息的一個(gè)直流分量的順序,增大一個(gè)量化級(jí)。
19.根據(jù)權(quán)利要求18的設(shè)備,其特征在于所述參數(shù)設(shè)定裝置通過(guò)查詢一個(gè)表而進(jìn)行設(shè)定,該表表示了所述編碼量監(jiān)測(cè)裝置判定該編碼量超過(guò)了該預(yù)定量的順序和相應(yīng)的設(shè)定內(nèi)容之間的關(guān)系。
20.用于一種圖象處理設(shè)備的一種控制方法,該圖象處理設(shè)備用于對(duì)由多個(gè)彩色分量組成的多電平彩色圖象數(shù)據(jù)進(jìn)行壓縮-編碼,其特征在于第一壓縮-編碼步驟,其中與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù)能夠得到改變;第二壓縮-編碼步驟,其中與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù)能夠得到改變、在所述第一壓縮-編碼步驟中被壓縮-編碼的數(shù)據(jù)得到解碼、且該數(shù)據(jù)被再編碼;編碼量監(jiān)測(cè)步驟,用于監(jiān)測(cè)在該第一壓縮-編碼步驟中產(chǎn)生的一個(gè)編碼量,并判定該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;參數(shù)設(shè)定步驟,用于當(dāng)在該編碼量監(jiān)測(cè)步驟判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到了該預(yù)定量時(shí),確定一個(gè)彩色分量-所述第一和第二壓縮-編碼步驟中的量化級(jí)將要為該彩色分量而改變;以及控制步驟,用于當(dāng)在所述參數(shù)設(shè)定步驟改變這些參數(shù)時(shí),在第二壓縮-編碼步驟中對(duì)在所述第一壓縮-編碼步驟在這些參數(shù)被改變之前所產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、在該存儲(chǔ)步驟中把該再編碼的數(shù)據(jù)作為在所述第一壓縮-編碼步驟中的該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并在該存儲(chǔ)步驟中把第一壓縮-編碼步驟在該參數(shù)被改變之后所產(chǎn)生的編碼數(shù)據(jù)作為后繼編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
21.一種計(jì)算機(jī)程序,它起著用于對(duì)由多個(gè)彩色分量構(gòu)成的多電平彩色圖象數(shù)據(jù)進(jìn)行壓縮-編碼的一種圖象處理設(shè)備的功能,其特征在于包括用于第一壓縮-編碼步驟的程序碼,在該第一壓縮-編碼步驟中與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù)能夠得到改變;用于第二壓縮-編碼步驟的程序碼,在該第二壓縮-編碼步驟中與一個(gè)量化級(jí)相關(guān)的一個(gè)參數(shù)能夠得到改變、在所述第一壓縮-編碼步驟中被壓縮-編碼的數(shù)據(jù)得到解碼、且該數(shù)據(jù)被再編碼;用于編碼量監(jiān)測(cè)步驟的程序碼,該編碼量監(jiān)測(cè)步驟用于監(jiān)測(cè)在該第一壓縮-編碼步驟中產(chǎn)生的一個(gè)編碼量,并判定該編碼數(shù)據(jù)量是否已經(jīng)達(dá)到了一個(gè)預(yù)定的量;用于參數(shù)設(shè)定步驟的程序碼,該參數(shù)設(shè)定步驟用于當(dāng)在該編碼量監(jiān)測(cè)步驟判定該編碼數(shù)據(jù)量已經(jīng)達(dá)到了該預(yù)定量時(shí),確定一個(gè)彩色分量-所述第一和第二壓縮-編碼步驟中的量化級(jí)將要為該彩色分量而改變;以及用于控制步驟的程序碼,該控制步驟用于當(dāng)所述參數(shù)設(shè)定步驟改變這些參數(shù)時(shí),在第二壓縮-編碼步驟中對(duì)所述第一壓縮-編碼步驟在這些參數(shù)被改變之前所產(chǎn)生的編碼數(shù)據(jù)進(jìn)行再編碼、在該存儲(chǔ)步驟中把該再編碼的數(shù)據(jù)作為在所述第一壓縮-編碼步驟中的該參數(shù)被改變之后的編碼數(shù)據(jù)而存儲(chǔ)起來(lái)、并在該存儲(chǔ)步驟中把第一壓縮-編碼步驟在該參數(shù)被改變之后所產(chǎn)生的編碼數(shù)據(jù)作為后繼編碼數(shù)據(jù)而存儲(chǔ)起來(lái)。
22.一種計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì),它存儲(chǔ)有權(quán)利要求21所限定的計(jì)算機(jī)程序。
全文摘要
本發(fā)明用于通過(guò)輸入圖象數(shù)據(jù)一次而有效地在一個(gè)設(shè)定的大小之內(nèi)產(chǎn)生編碼數(shù)據(jù)。為此,通過(guò)一個(gè)輸入單元而輸入的圖象被一個(gè)編碼單元所壓縮并被存儲(chǔ)在第一和第二存儲(chǔ)器中。一個(gè)第一計(jì)數(shù)器對(duì)其編碼量進(jìn)行計(jì)數(shù)。當(dāng)所產(chǎn)生的編碼數(shù)據(jù)的量達(dá)到一個(gè)預(yù)定大小時(shí),一個(gè)編碼序列控制單元對(duì)編碼單元和一個(gè)再編碼單元中的量化級(jí)進(jìn)行設(shè)定以增大壓縮率。另外,編碼序列控制單元對(duì)第一存儲(chǔ)器進(jìn)行清除,使再編碼單元對(duì)存儲(chǔ)在第二存儲(chǔ)器中的編碼數(shù)據(jù)進(jìn)行再編碼,并把所產(chǎn)生的數(shù)據(jù)存儲(chǔ)在第一存儲(chǔ)器中。由于編碼單元以設(shè)定的量化級(jí)繼續(xù)對(duì)數(shù)據(jù)進(jìn)行編碼,編碼數(shù)據(jù)從圖象的開(kāi)始被存儲(chǔ)在第一存儲(chǔ)器中。隨后,每當(dāng)存儲(chǔ)在第一存儲(chǔ)器中的數(shù)據(jù)量達(dá)到一個(gè)預(yù)定量時(shí),量化級(jí)都被增大,且處理得到重復(fù)。
文檔編號(hào)H04N7/26GK1392725SQ02122650
公開(kāi)日2003年1月22日 申請(qǐng)日期2002年6月18日 優(yōu)先權(quán)日2001年6月18日
發(fā)明者太田健一, 中山忠義, 大澤秀史, 加藤進(jìn)一, 伊藤直樹(shù) 申請(qǐng)人:佳能株式會(huì)社