專利名稱:可逆子波變換和嵌入代碼流處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)壓縮和解壓系統(tǒng)領(lǐng)域,更詳細地說,本發(fā)明涉及用來在壓縮/解壓系統(tǒng)中數(shù)據(jù)的無損耗和有損耗編碼和解碼的方法和裝置。
背景技術(shù):
數(shù)據(jù)壓縮是用于大量數(shù)據(jù)的存貯和傳送的一種極為有效的方法。例如,當壓縮被用來降低還原諸如一文件傳真?zhèn)魉椭惖膱D象所需的比特數(shù)時,傳送一圖象所需的時間急劇的減少。
在現(xiàn)有技術(shù)中存在有許多不同的數(shù)據(jù)壓縮技術(shù)。壓縮技術(shù)可分成二類主要的類型,有損耗編碼和無損耗編碼。有損耗編碼包含導(dǎo)致信息損耗的編碼,這就不能保證原始數(shù)據(jù)的理想的再現(xiàn)。有損耗壓縮的目的是以這樣一種方式來改變原始數(shù)據(jù)以使得它們不會不適宜或不會易被察覺。在無損耗壓縮中,所有信息均被保留并且數(shù)據(jù)以一種能夠理想再現(xiàn)的方式被壓縮。
在無損耗壓縮中,輸入符號或亮度數(shù)據(jù)被變換成輸出代碼字。該輸入可以包括圖象、聲頻、一維(即,數(shù)據(jù)空間地或時間地變化的數(shù)據(jù))、二維(即,在二個空間方向由(或一空間和一時間量綱)上數(shù)據(jù)變化)、或多維/多頻譜數(shù)據(jù)。如果壓縮成功,則該代碼字由比未編碼的輸入符號(或亮度數(shù)據(jù))所需的比特數(shù)要少的比特來表示。無損耗編碼方法包括編碼(即,Lempel-Ziv)、行程編碼、枚舉編碼和熵編碼的字典方法。在無損耗圖象壓縮中,壓縮是基于預(yù)測或上下文、插值編碼。用于傳真通信的JBIG標準和用于連續(xù)色調(diào)圖象的DPCM(差動脈沖編碼調(diào)制—在JPEG標準中的一種選擇)是用于圖象的無損耗壓縮的例子。在有損耗壓縮中,輸入符號或亮度數(shù)據(jù)在變換成輸出代碼字之前被量化。量化的意思是指保存數(shù)據(jù)的相關(guān)特征同時消除不重要的特征。在量化之前,有損耗壓縮系統(tǒng)通常使用一變換以提供能量壓縮。JPEG是用于圖象數(shù)據(jù)的有損耗編碼的例子。
近來圖象信號處理的發(fā)展集中趨向于發(fā)展高效率和精確的數(shù)據(jù)壓縮編碼形式。提出了各種變換或角錐信號處理的方式,包括多分辨(multiresolution)角錐處理和子波角錐處理。這些方式還稱之為副頻帶處理和分層處理。圖象數(shù)據(jù)的子波角錐處理是多分辨角錐處理的一特定形式,它可使用正交鏡象濾波器(QMFS)以產(chǎn)生一原始圖象的副頻帶分解。應(yīng)注意的是存在有非QMF的其它類型。對于子波處理的信息,請見Antonint,M.,等“Image Coding UsingWavelet Transform”,IEEE Transaction on Image Processing,Vol.1,No.2,1992.4.4;Shapiro,J.,“An Embedded Hierarchical ImageCoder Using Zerotrees of Wavelet Coefficients”,Proc.IEEE DateCompression Conference,pgs 214-223,1993。
與現(xiàn)有技術(shù)子波處理極為相關(guān)的一個問題是在進行處理時需要一個存貯所有數(shù)據(jù)的大存貯器。換句話說,在執(zhí)行子波處理中,在該數(shù)據(jù)執(zhí)行編碼之前所有的數(shù)據(jù)必須被檢驗。在這種情況中,直至最少一個充分的通過全部數(shù)據(jù)為止沒有數(shù)據(jù)輸出。事實上,子波處理典型地包含多重數(shù)據(jù)傳送。由于這個原因,通常需要一大存貯器。最好是利用子波處理,同時避免大存儲器的要求。另外,還期望執(zhí)行子波處理時僅一次通過該數(shù)據(jù)。
許多子波或副頻帶變換處理過程需要特殊范圍形式的濾波器。例如,低通和高通濾波器必須具有相同的長度、該系數(shù)的平方和必須為1、高通濾波器的時間和頻率必須與低通濾波相反等(見1991年5月公布的Lawton等人的美國專利No 5,014,134)。最好是允許濾波器的種類要寬一些。也就是,期望能提供使用的低通和高通濾波器不要求有相同的長度、其系數(shù)的平方和不需要為1、高通濾波器不要求是低通濾波器相反的時間和頻率的子波或副頻帶變換處理過程。
發(fā)明內(nèi)容
本發(fā)明是提供使用一種提供了良好能量壓縮變換的有損耗和無損耗壓縮。
描述了一種壓縮和減壓系統(tǒng)。該壓縮系統(tǒng)包括一將輸入數(shù)據(jù)編碼成一被壓縮的數(shù)據(jù)流的編碼器。該熵編碼器、即所說編碼器包括一可逆子波濾波器、一排序和造型機構(gòu)和一二進制熵編碼器、可逆子波濾波器將輸入數(shù)據(jù)變換為使用角錐介壓的系數(shù)。該排序和造型機構(gòu)從通過在該系數(shù)內(nèi)對該系數(shù)和二進制值排序的系數(shù)中產(chǎn)生一嵌入式代碼流。該二進制熵編碼器可使該嵌入式代碼流二進制熵編碼以產(chǎn)生被壓縮的數(shù)據(jù)流。
通過下面結(jié)合附圖對本發(fā)明的各種不同實施例的詳細說明將對本發(fā)明有更為全面的了解,但本發(fā)明并不局限于這些特定的實施例,這些實施例僅供解釋和理解而已。
圖1是本發(fā)明的編碼系統(tǒng)的編碼部分的一實施例的方框圖。
圖2是本發(fā)明系數(shù)數(shù)據(jù)排序和造型的一實施例的方框圖。
圖3A是一子波分解合成系統(tǒng)的方框圖。
圖3B是對于具有非重疊最小限度長度可逆濾波器濾波的情況下變換系統(tǒng)的前向和反向表達。
圖4是一2D可逆濾波器的另一可供選擇的實施例的方框圖。
圖5示出了一四級分解的結(jié)果。
圖6示出了在二個連續(xù)級之間的母體關(guān)系。
圖7是一三級角錐變換的方框圖。
圖8是一二維、二級變換的方框圖。
圖9是表示執(zhí)行一多分辨解壓的一維濾波器的方框圖。
圖10是一使用本發(fā)明的可逆子波的一系統(tǒng)的方框圖。
圖11是使用本發(fā)明的可逆子波的放大和分析系統(tǒng)的方框圖。
圖12A示出了在本發(fā)明中的系數(shù)尺寸。
圖12B是用于使用本發(fā)明的系數(shù)對準的頻段的乘法器的一實施例。
圖13是本發(fā)明的編碼過程的一實施例的流程圖。
圖14是本發(fā)明的詳碼過程的一實施例的流程圖。
圖15是本發(fā)明的造型過程的一流程圖。
圖16是本發(fā)明的前向子波濾波器的一實施例。
圖17是本發(fā)明的一反向子波濾波器的一實施例的方框圖。
圖18示出了不同變換的系數(shù)范圍。
圖19A和19B示出了使用查詢表的上下文模式的兩個實施例。
圖20示出子波分解級的一個實施例。
圖21示出了一編碼單元。
圖22示出了在TS-變換時的垂直通路。
圖23示出了緩沖和系數(shù)計算。
圖24A示出了一代碼流結(jié)構(gòu)的一個實施例。
圖24B示出了用于低分辨目標的一代碼流結(jié)構(gòu)的一個實施例。
圖25示出了在各系數(shù)(或象素)之間的相鄰關(guān)系。
圖26A-D示出了上下文模式的實施例。
圖27是本發(fā)明的上下文模式的一實施例的方框圖。
圖28是本發(fā)明的符號/數(shù)量單元的一實施例的方框圖。
圖29示出了用于一通過操作的被編碼數(shù)據(jù)存貯器的動態(tài)分配。
圖30示出一通道管理器的一個實施例。
圖31示出了在本發(fā)明中存貯器的利用。
圖32示出了在本發(fā)明中的一比特流。
圖33示出了一程序段的結(jié)構(gòu)。
圖34示出了目標器件相對一參量空間的關(guān)系曲線。
圖35A和35B示出了本發(fā)明的分析程序的不同的實施例。
具體實施例方式
現(xiàn)在介紹一種用來壓縮和解壓的方法和裝置。為了提供對本發(fā)明的徹底的了解,而陳述了諸如編碼器的類型、比特數(shù)、信號名稱等大量特殊的細節(jié)。但是,本技術(shù)領(lǐng)域的普通技術(shù)人員很清楚的是沒有這些特殊的細節(jié)也可以實施本發(fā)明。在另外的例子中,為了避免使本發(fā)明模糊不清,已知的結(jié)構(gòu)和裝置足以方框圖形式表示而不詳細說明。
被詳細說明的某些部分在下面是以在一計算機存貯器中的數(shù)據(jù)比特的操作的算法和符號表達式的形式來表示。數(shù)據(jù)處理技術(shù)領(lǐng)域中的某些技術(shù)人員利用這些算法說明和表達式作為手段來將他們的工作內(nèi)容最有效地傳送給該技術(shù)領(lǐng)域中的另外的技術(shù)人員。這里的一算法一般來說是想象為導(dǎo)致一所希望結(jié)果的步驟的一自相容順序。這些步驟是實際參量所需的實際的操作。通常,雖然并非是必然的,這些電或磁信號形式的參量可以被存貯、轉(zhuǎn)移、組合、比較以及其它的方式操作。主要為了共同使用的原因,有時將這些信號作為比特、數(shù)值、要素、符號、字符、術(shù)語、數(shù)等被證明是方便的。
但是,應(yīng)記住,所有這些以及類似的項是與適當?shù)膶嶋H量相關(guān)的并且僅僅是向這些量提供方便的標記而已、除非從下面的討論中另有明顯的特別地說明在整個本發(fā)明中可了解到相對于計算機系統(tǒng)或類似的電子計算裝置的動作和處理的討論所利用的諸如“處理”或“估算”或“計算”或“測定”或“顯示”等等,是將在計算機系統(tǒng)的寄存器或存貯器內(nèi)表示為物理(電)量的數(shù)據(jù)操作和轉(zhuǎn)換成在計算機的存貯器或寄存器內(nèi)或其它的這種信息存貯、傳輸或顯示裝置內(nèi)的其它類似地表示為物理量的數(shù)據(jù)。
本發(fā)明還涉及用來在其內(nèi)執(zhí)行該操作的裝置。這種裝置可針對特定目的而構(gòu)成,或者它可以包括由在該計算機內(nèi)存貯的計算機程序來選擇地激活或重新組合的一通用的計算機。在其內(nèi)所呈現(xiàn)的算法和顯示并不固有地涉及任何特定的計算機或其它的裝置??梢允褂镁哂懈鶕?jù)其內(nèi)所教導(dǎo)的程序的各種一般用途的機器,還可以證實為執(zhí)行所需的方法步驟構(gòu)成更為專業(yè)化的裝置則更為方便。在下面的說明中將會出現(xiàn)用于這些機器的各種所需的構(gòu)型。另外,本發(fā)明對涉及的任何特定程序語言不作描述。將會了解到各種程序語言可用作在其中描述本發(fā)明的教導(dǎo)的工具。
如下的術(shù)語被用于下面的說明中。對于這些不同的術(shù)語包括有一個定義。但是所提供的定義并不認為限于在該技術(shù)領(lǐng)域中已知術(shù)語的范圍。這些所提供的定久有助于對本發(fā)明的理解。比特有效位一種數(shù)表示,類似于符號數(shù)值,如果有的話具有標題比特、跟著有符號比特,跟著有尾部比特。相應(yīng)于這種表示以比特平面順序嵌入編碼。編碼單元 可按任意順序被共同編碼的系數(shù)單元。在一實施例中,一編碼單元包括有一個或多個以一矩形安排的樹。一編碼單元可包含有一完整圖象、一組圖象或另外的數(shù)據(jù)集。該編碼單元具有在緩沖器尺寸上為了計算一變換所必須的有效壓縮。另外,在一實施例中,在與前編碼單元的系數(shù)外側(cè)可以沒有任何內(nèi)容。但是,在一編碼單元之中或許多編碼單元之后熵代碼可被復(fù)位。該編碼單元不必隨機地可尋址。上下文模式相對于被編碼的與前比特的可利用信息給出有關(guān)與前比特的歷史地學(xué)習(xí)信息。這使得可以對熵編碼條件概率進行估算。樹該系數(shù)和象素是涉及在最高級子波分解的LL中的一單一系數(shù)。該系數(shù)量是若干級數(shù)的量。帶對于二維數(shù)據(jù)該系數(shù)和象素是涉及在最高級子波解壓的LL中系數(shù)的單一行或線。帶的規(guī)定類似于其它量綱數(shù)據(jù)的規(guī)定。分解級在該子波分解角錐中的一位置。嵌入量化 該量化被代碼流所蘊層。例如,如果重要級是按序安置,從最重要到最不重要,則通過該代碼流的簡單舍位來執(zhí)行量化。同樣的函數(shù)性可利用標記、標志、指針或其它的信號來獲得。熵編碼器 基于它的上下文來對當前比特編碼的一種裝置。對于當前比特(或多個比特)的最佳表達式該上下文允許概率估算。固定速率 保持一定的象素速率并具有有限的帶寬通路的一應(yīng)用或系統(tǒng)。這需要獲得局部的平均壓縮而不是全局的平均壓縮。例如MPEC。固定尺寸 具有一有限尺寸緩沖器的一應(yīng)用或系統(tǒng)。在這種情況中,獲得一全局的平均壓縮,即,一打印緩沖器。(一應(yīng)用可為固定速率和固定尺寸或二者之一)。固定長度 將數(shù)據(jù)的特定信息塊轉(zhuǎn)換為被壓縮數(shù)據(jù)的特定信息塊的一系統(tǒng),即,BTC。固定長度代碼適用于固定速率和固定尺寸應(yīng)用,但是,與可變速率系統(tǒng)比較其速率失真性能通常是低劣的。水平線上下文模式一種用于嵌入編碼器(在一實施中)的上下文模式,將其規(guī)定為本發(fā)明的一部分。標題 在比特有效位表達式中,該標題比特是自該最高有效位向上的數(shù)量比特并且包括第一非零比特。重疊變換 一種將單源取樣點分配給相同頻率的多個系數(shù)的變換。例如包括許多子波和重疊正交變換。累進 一種被排序的代碼流,使得來自可由多個數(shù)據(jù)提煉的被編碼數(shù)據(jù)的部分的相關(guān)被壓縮結(jié)果是可利用的。在某些實施例中,一代碼流由數(shù)據(jù)加深比特平面來排序,在這種情況中,它通常稱之為子波系數(shù)數(shù)據(jù)。角錐 分辨的順序性,每個較低的分辨是二個較大的一線性因素(在一面積中四個較大的因素)??赡孀儞Q 用整數(shù)運算所實施的有效變換,能實現(xiàn)精確的重建。S變換 帶有2抽頭的低通和2抽頭高通濾波器的一特殊可逆子波濾波器部分。尾部 在比特有效位表達式中,尾部比特是帶有比最高有效非零比特低的有效位的幅值比特。尾部信息 在一實施例中,對于在比特有效位表達式中所表示的一系數(shù)有四種可能狀態(tài)。它是系數(shù)和當前比特平面的函數(shù),并被用于水平線上下文模式。尾部連接 在一實施例中,取決于該尾部信息是否為零或非零的兩種狀態(tài)。
它被用于水平線上下文模式。TS-變換二—六變換,帶有2抽頭低通和6抽頭高通濾波器的一特殊子波濾波器部分。接合無損耗/有損耗 相同壓縮系統(tǒng)提供一可無損耗或有損耗重建的一編碼數(shù)據(jù)流。如在以下所述的本發(fā)明的情況中,這種代碼流可以無須對該編碼器置位或指示。視覺重要級 通過規(guī)定一個特定系統(tǒng),輸入數(shù)據(jù)(象素數(shù)據(jù)、系數(shù)、誤差信號等)被邏輯地分成具有相同視覺壓縮的組。例如,最高有效比特平面或若干比特平面可比較低平面更為視覺重要。低頻信息通常比高頻更為重要。本發(fā)明如下所述包括的“視覺有效位”的多數(shù)操作定義是相同于某些誤差量度而言的。但是,在視覺重要的系統(tǒng)定義中可插入較好的視覺量度。另外的數(shù)據(jù)類型具有另外的重要級,例如,音頻數(shù)據(jù)具有音頻重要級。子波濾波器 在子波變換中使用的高通和低通合成和分析濾波器。子波變換 利用“頻率”和“時間(或空間)”約束的變換。在所介紹的實施例中,是一包含一高通濾波器和一低通濾波器的變換。其結(jié)果系數(shù)是+中取=(臨界地濾除)并且該濾波器被利用于低通系數(shù)。
本發(fā)明提供了一種具有一編碼部分和一譯碼部分的壓縮/解壓系統(tǒng)。該編碼部分負責(zé)時輸入數(shù)據(jù)編碼以產(chǎn)生壓縮數(shù)據(jù),同時譯碼部分負責(zé)對被編碼的數(shù)據(jù)譯碼以產(chǎn)生原始輸入數(shù)據(jù)的重建的文本。該輸入數(shù)據(jù)可包括各種數(shù)據(jù)類型,諸如圖象(靜止的或視頻的)、音頻等。在一實施例中,該數(shù)據(jù)是數(shù)字信號數(shù)據(jù);但數(shù)字化的模擬數(shù)據(jù)文本數(shù)據(jù)格式和其它格式也是可以的。對于編碼部分和/或譯碼部分來說,該數(shù)據(jù)源可以是一存儲器或通道。
在本發(fā)明中,編碼部分和/或譯碼部分的部件可由諸如在一計算機系統(tǒng)中被使用硬件或軟件來實施,本發(fā)明提供了一種無損耗壓縮/解壓系統(tǒng)。
本發(fā)明還可被構(gòu)成能執(zhí)行有損耗壓縮/解壓的構(gòu)型。
圖1是該系統(tǒng)的編碼部分的一實施例的方框圖。應(yīng)注意的是該系統(tǒng)的譯碼部分以和該數(shù)據(jù)流動的相反順序工作。參見圖1,由子波變換部分102接收輸入圖象數(shù)據(jù)101。子波變換部分102的輸出被送到系數(shù)數(shù)據(jù)排序和造型部分103。響應(yīng)于自子波變換部分102的輸出,該排序/造型部分103產(chǎn)生至少一個由一熵編碼器104所接收的比特流。響應(yīng)于自排序/造型部分103的輸出,熵編碼器104產(chǎn)生代碼流107。
在一實施例中,該排序/造型部分103包括一符號/量值格式化學(xué)單元201和一接合空間/頻率上下文模式202,如圖2所示。在一實施例中,該接合空間/頻率上下文模式202包括一水平線上下文模式,如下所述。符號/量值單元201的輸入被送到子波變換代碼部分102的輸出。符號/量值單元201的輸出被送到接合空間/頻率上下文模式202。JSF上下文模式202的輸出被送到熵編碼器104的輸入以產(chǎn)生輸出代碼流107。
再參見圖1,在本發(fā)明中,如像下面所解釋的,接收圖象數(shù)據(jù)101和在子波變換部分102中利用可逆子波的變換編碼以產(chǎn)生表示該圖象的多分辨壓縮的一系列系數(shù)。本發(fā)明的可逆子波變換并不是復(fù)雜的計算。該變換可以用不帶有系統(tǒng)的誤差的軟件或硬件來完成。另外,對于能量壓縮和壓縮特性來說本發(fā)明的子波是極好的。這些系數(shù)由排序/造型部分103所接收。
該排序/造型部分103提供對系數(shù)的排序和造型。該系數(shù)排序提供一嵌入數(shù)據(jù)流。在編碼時間、傳送時間或譯碼時間該被嵌入的數(shù)據(jù)流允許一結(jié)果代碼流被量化。在一實施例中,排序/造型部分103將該系數(shù)排序并變換成符號一量值格式,并基于它的有效位(如下面將要說明的)使該格式化的系數(shù)服從于一嵌入造型方法。在一實施例中,該格式化系數(shù)服從于接合空間/頻率造型。
排序和造型的結(jié)果包括由熵編碼器所編碼的決定(或符號)。在一實施例中,所有決定均被送至一單一編碼器。在另一實施例中,通過有效位來標明這些決定,并且對于每個有效位電平的決定通過不同的(實際的或虛擬的)多個編碼器來處理。
參見圖2,來自JSF上下文模式202結(jié)果的比特流以利用熵編碼104的有效位的順序被編碼。在一實施例中,熵編碼器104包括一個或多個二進制熵編碼器。子波分解本發(fā)明利用可逆子波來開始執(zhí)行一圖象(以圖象數(shù)據(jù)方式)或另外的數(shù)據(jù)信的分解。在本發(fā)明中,一可逆子波變換包括一精確重建系統(tǒng)以整數(shù)算法進行的實施過程,這樣一具有整數(shù)系數(shù)的信號可被無損耗地復(fù)原。通過使用可逆子波,本發(fā)明能夠提供具有有限精度算法的無損耗壓縮。通過對圖象數(shù)據(jù)利用可逆子波變換的結(jié)果是一系列的系數(shù)。
本發(fā)明的可逆子波變換可使用一組濾波器來實施。在一實施例中,這些濾波器是二抽頭低通濾波器和六抽頭高通濾波器。在一實施例中,這些濾波器是僅使用加和減操作(加以硬件的比特位移)來實施的。另外,在本發(fā)明的一實施例中,利用該低通濾波器的結(jié)果高通濾波器產(chǎn)生它的輸出。所得結(jié)果的高通系數(shù)僅是大于象素深度的少數(shù)比特并且該低通系數(shù)與該象素深度相同。由于在一角錐分解中僅低通系數(shù)反復(fù)地被濾除,可以在多級分解中系數(shù)分辨力沒有增加。
在另外的實施例中,低通濾波器輸出系數(shù)的尺寸可增加,而不是高通濾波器輸出系數(shù)的尺寸增加。
一子波變換系統(tǒng)是由一對FIR分析濾波器h0(n),h1(n)和一對FIR綜合濾波器g0(n),g1(n)所規(guī)定。在本發(fā)明中,h0和g0是低通濾波器而g1和h1是高通濾波器。在圖3A中示出了該子波系統(tǒng)的方框圖。參見圖3A,一輸入信號X(n)被提供給分析濾波器h0和h1并且其輸出被+中?。?臨界地二次抽樣)以產(chǎn)生被變換的信號y0(n)和y1(n),分別作為低通(平滑)和高通(細節(jié))系數(shù)。該分析濾波器和它的相應(yīng)的抽選、或二次抽樣、字組構(gòu)成該子波變換系統(tǒng)的分析部分。該編碼器/譯碼器包括所有處理邏輯和在被變換范圍中的常規(guī)變換(即,斷定、量化、編碼等)。如圖3A所示的子波系統(tǒng)還包括一綜合部分,在該綜合部分中該被變換信號被由2向上取樣(即每一項之后插入一個零)并且隨后通過綜合濾波器g0(n)和g1(n)。該紙通(平滑)系數(shù)y0(n)通過低通綜合濾波器g0和該高通(細節(jié))系數(shù)y1(n)通過高通濾波器g1。濾波器g0(n)和g1(n)的輸出被組合以產(chǎn)生x(n)。
在某些實施例中執(zhí)行向下取樣和向上取樣,在另外的實施例中,由于不執(zhí)行向下取樣和向上取樣所以無需計算所使用的濾波器。
該子波系統(tǒng)可由Z變換項來描述,其中的X(Z)、X(Z)分別表示輸入和輸出信號,Y0(Z)、Y1(Z)是被低通和高通變換的信號,H0(Z)、H1(Z)是低通和高通分析濾波器和G0(Z)、G1(Z)是低通和高通綜合濾波器。如果在該變換范圍內(nèi)不存變更和量化,則在圖3中的輸出X(Z)由下式給出X^(Z)=12[H0(Z)G0(Z)+H1(Z)G1(Z)]X(Z)+]]>12[H0(-Z)G0(Z)+H1(-Z)G1(Z)]X(-Z)]]>在本發(fā)明中,稱之為“混疊”項的 (Z)的第二項被取消,這是因為該綜合濾波器是被分析濾波器的正交鏡所規(guī)定,也就是, 在該濾波器系數(shù)的項中, 因此,對于一正交鏡濾波器對,在變換之后,該輸出為X^(Z)=12[H0(Z)H1(-Z)-H1(Z)H0(-Z)]X(Z)]]>因此,在本發(fā)明的正交鏡系統(tǒng)中,該輸出僅由分析濾波器的項來決定。該子波變換是將在由用作輸入的濾波器所產(chǎn)生的輸出中遞舊地變換的信號被直接或非直接地被提供給該濾波器中。在所述的實施例中,僅僅低通變換分量y0(n)被遞舊地變換使得該系統(tǒng)是角錐形的。在圖6中示出了這樣一種角錐系統(tǒng)的例子。
Z變換是用來表示數(shù)據(jù)的硬件和/或軟件操作的一種簡便表示法。乘以Z-m模式則在硬件中延遲m時鐘周期,而在軟件中對第m5前面元件進行陣列存取。這種硬件的實施包括存貯器、管道級、移相器、寄存器等。
在本發(fā)明中,在乘以一常數(shù)一延遲項之后信號X(n)和X(n)是相同的,即Z變換的項中, (Z)=cZ-mX(Z)這稱之為一精確重建系統(tǒng)。因此,在本發(fā)明的一實施例中,最初應(yīng)用于輸入數(shù)據(jù)的子波變換是可精確地重建的。
使用哈達瑪(Hadamard)變換的本發(fā)明的一實施例是一精確重建系統(tǒng),它的標準形式如下面以Z范圍的表達式 在置換后,該輸出為X(Z)=Z-1X(Z),這是很清楚地一精確重建。對于哈達瑪變換的更詳細的情況請見Anil K.Jain,F(xiàn)undamentals of Image Processing,pg.155。
哈達瑪變換的可逆變型這里稱之為S變換。對于S變換的更詳細的情況,請參見A.and Pearlman,W.“Reversible Image Compressionvia Multiresolution Representation and Predictive Coding,”Dept.of Electrical,Computer and Systems Engineering,RenssealaerPolytechnic Institute,Troy,NY 1993。因為哈達瑪變換是一精確重建變換,下面的非標準變型(不同于利用固定系數(shù)的哈達瑪變換)也是一精確重建變換 給定的輸入信號的取樣為X0,X1,則這個系統(tǒng)S變換是實施一可逆變換,如像, 該S變換可由具有一普通標志n的輸出來定義,如下所示 應(yīng)注意的是在該變換系數(shù)尋址中的兩個系數(shù)是通過二次子取樣的結(jié)果。可逆變換和變型為 符號 表示下舍入或截尾并且有時稱之為底面函數(shù)。類似地,天棚函數(shù) 對最接近整數(shù)上舍入。
可以證實以下面方式實施可逆實際上僅是在近似于X(0)+X(1)的最低有效位中丟失信息。但由于X(0)+X(1)和X(0)-X(-1)的最低有效位是相同的,所以可從該高通輸出y1(0)復(fù)原。換句話說,X(0)=y(tǒng)0(0)+ (y1(0)+1)/2 X(1)=y(tǒng)0(0)- (y1(0)-1)/2
該S變換是使用最小長度可逆濾波器的非重疊變換。最小長度濾波器包括有一對濾波器,這兩個濾波器具有二個抽頭。最小長度變換不提供良好的能量壓縮。由于該濾波器的長度等于濾波器數(shù)所以最小長度濾波器實施一非重疊變換。重疊變換使用至少一個其長度大于濾波器數(shù)的濾波器。使用較長(不是最小長度)濾波器的重疊變換可提供較好的能量壓縮。本發(fā)明提供允許一重疊變換的非最小長度可逆濾波器。
精確重建系統(tǒng)的另一例子包括具有Z范圍定義的二/六(TS)變換, 在置換之后,該輸出為 (Z)=2Z-3X(Z),這是一精確重建變換。
該TS變換的合理的非標準變型包括 如果該信號的六個取樣為x(0)、x(1)、···、x(5),則由下式給出前三個低通系數(shù)y0(0)、y0(1)、y0(2)和第一個高通系數(shù)y1(0) y1(0)= (-(x(0)+x(1)))+8(x(2)-×(3))+(x(4)+x(5))/8 但是,該TS變換的有理非標準變型的直接的實施是不可逆的。下面的例子表示該實施是局部地非可逆的。作為用于全向情況的一個例子可建立一較長的數(shù)列。由于完成對y0(0)和y0(2)的計算因為-(X(0)+X(1))+(X(4)+X(5)≠-y0(0)+y0(2),這種使用局部信息的變換是不可逆的。
例如,如果x(0)=1,x(1)=1,x(2)=3,x(3)=1,x(4)=1,x(5)=1,則y0(0)= (1+1)/2 =1y0(1)= (3+1)/2 =2y0(2)= (1+1)/2 =1y1(0)= [-(1+1)+8(3-1)+(1+1)] /8= (-2+16+2)/8) =2和,如果x(0)=1,x(1)=2,x(2)=4,x(3)=1,x(4)=1,x(5)=1,則 y1(0)= [-(1+2)+8(4-1)+(1+1)] /8= (-3+24+2)/8) = 23/8 =2因為對于輸入x(0)···x(5)的兩種不同設(shè)置y0(0)、y0(1)、y0(2)和y1(0)是相同的,因為從輸入的兩種設(shè)置的局部信息中不可能確定給出的y0(0),···y1(0),所以該變換是不可逆的(應(yīng)注意的是使用來自所有系數(shù)的全局信息所提供的變換是不可逆的。)現(xiàn)在來考慮稱之為RTS變換的一可逆TS變換,它提供了一種不同的高通濾波操作。
如果x(0)、x(1)、x(2)、x(3)、x(4)、x(5)是該信號的六個取樣,則由下式給出前三個低通系數(shù)y0(0)、y0(1)、y0(2)和第一個高通系數(shù)y1(0),y0(0)= (x(0)+x(1))/2 y0(1)= (x(2)+x(3))/2 y0(2)= (x(4)+x(5))/2 y1(0)= (- (x(0)+x(1))/2 +4(x(2)-x(3))+ (x(4)+x(5))/2 +2)/4 = (-y0(0)+4(x(2)-x(3))+y0(2)+2)/4 因為x(2)-x(3)=y(tǒng)1(0)- -(y0(0)-y0(2)+2)/4 所以x(2)-x(3)是完全已知的。隨著y0(1)= x(2)+x(3))/2 and x(2)-x(3)和x(2)-x(3)如上所規(guī)定,由于x(0)+x(1)和x(0)-x(1)的最低有效位是相同的所以x(2)和x(3)可被復(fù)原。明確地說,讓d(0)=x(2)-x(3)=y(tǒng)1(0)- (-Y0(0)+y0(2)+2)/4 x(2)=y(tǒng)0(1)+ (d(0)+1)/2 x(3)=y(tǒng)0(1)+ (d(0)-1)/2 在該RTS變換的一實施例,以及該S變換的一實施例中,為了提供準確的加法,一被實施的除以8的操作變?yōu)橄瘸?然后除以4。應(yīng)注意數(shù)學(xué)式18(-1-Z-1+8Z-2-8Z-3+Z-4+Z-5+4)]]>和數(shù)學(xué)式14(12(-1-Z-1)+4(Z-2-Z-3)+12(Z-4+Z-5)+2)]]>當執(zhí)行無限精確運算時是相同的。理由是當用整數(shù)運算實際實施時第二等式明顯表示一可逆濾波器。結(jié)合圖16和17描述了低通濾波器和高通濾波器的硬件實施的例子。
應(yīng)注意的是S變換和RTS變換中該低通濾波器被實施以使輸入信號x(n)的范圍與輸出信號y0(n)是相同的。例如,如果該信號是-8比特圖象,則低通濾波器的輸出也是8比特的。由于在現(xiàn)有技術(shù)系統(tǒng)中輸出信號的范圍是大于輸入信號范圍的,所以對于低通濾波器被相繼應(yīng)用的一角錐系統(tǒng)來說是一重要的特性,從而使該濾波器難以連續(xù)應(yīng)用。另外,該低通濾波器僅具有兩個抽頭,使得它為一非重疊濾波器。如像后面所述,這個特性對于硬件實施是重要的。
在一更普通的格式中,該可逆TS變換是由一低通和一高通的兩個輸出的表達式來確定的
對于d(n)的表達式可以簡化并利用S(n)來寫出(由4的整除可通過向分子增加一個2來完成)其結(jié)果為 該可逆TS變換和反量為 其中P(n)必須首先被計算為 來自該低通濾波器的結(jié)果在高通濾波器中可被使用二次(在第一和第三項中)。因此,僅僅必須執(zhí)行二次其它的加法以得到該高通濾波器的結(jié)果。
除了可逆變換之外,該TS變換還是有效的變的。該TS變換(類似S變換)具有不增長的平滑輸出,即,如果該輸入信號是b比特深度,則為平滑輸出。這對于在下面部分中所定義的角維系統(tǒng)是有用的,在那里該平滑輸出被進一步分解。由于該變換的實施足以整數(shù)完成的因而不存在系統(tǒng)誤差,所以在一有損耗系統(tǒng)中所有誤差均可通過量化來控制。
在參與一子波變換的四個濾波器中,由于該低通綜合濾波器兼有被量化的系數(shù)并且還平滑人為因素所以該低通綜合濾波器是最重要的。實際上在本發(fā)明中引導(dǎo)去選擇用于低通綜合濾波器的相對長(六抽頭)和特別好特性的濾波器。應(yīng)注意的是在-QMF系統(tǒng)中,僅存在有兩個獨立的濾波器。
在本發(fā)明本可使用許多被重疊的、非最小長度可逆濾波器。圖3B示出了用于具有非重疊的最小長度可逆濾波器的變換系統(tǒng)的前向和反向的表示。例如,在本發(fā)明中可以使用下面的濾波器的類型。對于整數(shù)L≥Z,d(0)=x(2( L/2 +1))-x(2( L/2 +1)+1)和y0(0)= (x(0)+x(1))/2 y0(1)= (x(2)+x(3))/2 y0(L-1)= (x(2 (L-1)/2 )+x(2 (L-1)/2 +1))/2 和 該高通濾波器的長度為2L。如果L為奇數(shù),則該濾波器可接近于一對稱濾波器。如果ai、b、ci和k為整數(shù)并且K≤b時,則該濾波器是可逆的。如果ai、b、ci和K是2的冪(或2的冪的負數(shù)或計數(shù))時,則該濾波器的實施可被簡化。如果K=b(不管ai和ci的值),則該高通濾波器y1的輸出范圍最小。對于每個ai,如果精確地存在一個cj,這里ai=-cj,則該高通濾波器將不響應(yīng)于一固定輸入。如果ai=-cj,當j-(L-1)=i時,則該濾波器可接近于一對稱濾波器。
另外的有用的特性為 當m=1時該高通濾波器不響于一線性地變化的輸入而當m=2時不響應(yīng)于二次方變化的輸入,其中m為力矩條件。這個特性是RTS變換具有比S變換更好的能量壓縮的基本原因。
當濾波器必須滿足用于可逆性的最小約束時,對于不同的應(yīng)用,濾波器可被用于不滿足,滿足某些或全部滿足其它的特性。在某些實施例中,使用以下例子高通濾波器中的一個,這些濾波器以符號列于表中,表中列出了該濾波器合理變型的整數(shù)系數(shù),以避免使本發(fā)明難以理解。
1 1 -4 -4 16 -16 4 4 -1 -11 1 -3 -3 8 -8 3 3 -1 -1-1 -1 0 0 16 -16 0 0 1 1-1 -1 4 4 -16 -16 256 -256 16 16 -4 -4 1 13 3 -22 -22 128 -128 22 22 -3 -3最后的濾波器稱之為TT濾波器,它具有不響應(yīng)于三次方增長函數(shù)的特性。應(yīng)注意的是因為22=16+2×3和3=2+1,所以這個濾波器可以用總共7次相加和相減來實施。
在一實施例中,這些濾波器可被組合并應(yīng)用于一組,這樣以一種操作執(zhí)行水平和垂直通過。圖4示出了執(zhí)行該組合操作的濾波器。配置(a)示出了兩個分離的1-D可逆慮波器的使用,對于每個通過的1-D可逆濾波器包括有一個1-D濾波器和1-D舍入(rounding)。配置(b)示出了一個1-D濾波器401,后面跟著另一個1-D濾波器402,末尾帶有一舍入操作403。這種配置產(chǎn)生允許更好的舍入的更為精確的結(jié)果。
對于濾波器的所需要的精確的可逆要求可通過下面的表明加以緩解。高通系數(shù)以某種順序被編碼和譯碼。相應(yīng)于前面的被譯碼的高通系數(shù)的象素值是精確地已知,這樣它們可利用在當前的高通濾波器中。例如,當一光柵順序被使用時可利用下面的濾波器。 不需使用一單一固定高通濾波器??墒褂米赃m應(yīng)濾波器或可使用多級濾波器。在多級濾波器之中采用或選擇的所使用數(shù)據(jù)必須是限于在特殊的反向濾波器操作之前在該譯碼器中是可用的數(shù)據(jù)。
使用多級濾波器的一種方式是漸進地處理該高通系數(shù)。另外的高通濾波操作(Y1(0),Y1(2),Y1(4),···)可用一諸如RTS高通濾波器之類的一可逆濾波器首先被處理。因為輸入到該濾波器的重疊部分的精確值是已知的,所以剩余處理(Y1(1),Y1(3),Y1(5),···)可以使用高達六抽頭的非可逆濾波器。例如,任何如下的濾波器都可被使用。
-13-31-14-41-38-831-510-105-11-48 -8 4-1應(yīng)注意的是在某些實施例中不使用QMF濾波器。
在某些實施例中,高通濾波器可由一預(yù)測/插入操作來替代。一預(yù)測器/插入器可預(yù)言在一特定的預(yù)測/插入操作之前使用在譯碼器中的任何有用數(shù)據(jù)的一對輸入之間的差異。將該被預(yù)言的差異從輸入的實際差異中減去并輸出其結(jié)果。在一實施例中,現(xiàn)有技術(shù)預(yù)言方法被使用在DPCM中,漸進編碼或空間范圍編碼被使用。
在一實施例中可使用諸如形態(tài)學(xué)的濾波器(即,中點濾波器)之類的非線性濾波器。在一實施例中,該1,1濾用來連接一用于高通的不同的濾波器。這樣一種濾波器系統(tǒng)必須能夠傳送兩個象素之間的差異?;谌魏螖?shù)據(jù)該譯碼器具有可預(yù)測出其差異是什么的預(yù)言。一非線性形態(tài)學(xué)濾波器可用作估測。本發(fā)明計算在該窗口的因果例(Causal Side)所使用的實際象素的一象素的周圍的中點,并將其入該濾波器中。在該濾波器的非因果側(cè),低通系數(shù)被用來代替象素值。二維的子波分解利用本發(fā)明的低通和高通濾波器,執(zhí)行多分辨分解。分解的級數(shù)是變量并且可為任何數(shù),但當前的分解級數(shù)為從2至5級。
在諸如圖象的二維數(shù)據(jù)上執(zhí)行變換的最普通方式是分別地應(yīng)用一維濾波器來實現(xiàn)的,即,沿行然后沿列來變換。該分解的第一級導(dǎo)致系數(shù)的四個不同區(qū)域,稱之為LL、HL、LH和HH。代表相應(yīng)于應(yīng)用平滑和細節(jié)濾波器的底(L)和高(H)的字母分別由以上規(guī)定。因此,LL區(qū)包括在行和列兩個方向上來自該平滑濾波器的系數(shù)。以如圖5A-5D的格式來安置子波系數(shù)是普通常事。
在子波分解中的每個子組可被進一步被分解。最普通的方式是僅僅進一步分解該LL子組,但這可進行若干次。這樣一種多次分解被稱之為角錐分解(圖5A-5D)。名稱LL、LH、HL、HH和分解電平數(shù)表示每一分解。應(yīng)注意的是本發(fā)明的任一濾波器(S或TS)進行的角錐分解不增加該系數(shù)尺寸。
例如,如果可逆子波變換被遞歸地應(yīng)用于一圖象,則分解操作的第一級將使圖象有最良好的細節(jié),或分辨度。在第一分解級,該圖象被分解成四個子圖象(或子區(qū))。每個子區(qū)表示一空間頻率的區(qū)域。第一級子區(qū)標為LL0、LH0、HL0和HH0。分解該原始圖象的處理包括在水平和垂直方向上的二次子取樣,這就如象該輸入具有該圖象的象素(或系數(shù))的許多系數(shù)一樣,如圖5A所示那樣第一組子區(qū)LL0、LH0、HL0和HH0的每一個具有四分之一。
子區(qū)LL0包括同時發(fā)生的低頻水平和低頻垂直信息。在這個子區(qū)中典型地集中有該圖象能量的一大的部分。子區(qū)LH0包括低頻水平和高頻垂直信息(即,水平邊緣信息)。子區(qū)HL0包括高頻水平信息和低頻垂直信息(即,垂直邊緣信息)。子區(qū)HH0包括高頻水平信息和高頻垂直信息(即,結(jié)構(gòu)或?qū)蔷€邊緣信息)。
由分解前述級的低頻LL子區(qū)而產(chǎn)生隨后的第二、第三和第四較低分解級的每一個。如圖5B所示,第一級的子區(qū)LL0被分解以產(chǎn)生適中細節(jié)第二級的子區(qū)LL1、LH1、HL1和HH1。類似地,如圖5C所示,子區(qū)LL1被分解以產(chǎn)生第三級的粗的細節(jié)的子區(qū)LL2、LH2、HL2和HH2。另外,如圖5D所示,子區(qū)LL2被分解以產(chǎn)生第四級的較粗的細節(jié)的子區(qū)LL3、LH3、HL3和HH3。由于是二次子取樣,所示每個第二子區(qū)是原始圖象尺寸的十六分之一。在這個級上的每一子樣(即,象素)表示在相同位置上的原始圖象中的適中細節(jié)。類似地, 每個第三電平子區(qū)是原始圖象尺寸的1/64。在這個電平上的每一象素相應(yīng)于在相同位置上在該原始圖象中相對地粗的細節(jié)。另外,每個第四電平子區(qū)是該原始圖象的尺寸的1/256。
由于子取樣而使被分解的圖象實際上小于原始圖象,因而用來存貯原始圖象的相同存貯器可被用來存貯所有被分解的子區(qū)。換句話說,原始圖象和被分解子區(qū)LL0和LL1被拋棄并且在一第三電平分解中不被存貯。
雖然只示出了四個子區(qū)域分解級,但可根據(jù)一實際系統(tǒng)的需要而發(fā)展出更多的級。另外,也可以定義諸如DCT之類的其它變換或線性被隔開的子區(qū)、 不同的母體關(guān)系。
在一角錐分解中存在有一固有的和有用的用于子波系數(shù)的樹結(jié)構(gòu)。應(yīng)注意的是相應(yīng)于最后的分解級存在有一單一的LL子信息組。另一方面,隨著級數(shù)存在有一許多LH、HL和HH區(qū)。樹結(jié)構(gòu)規(guī)定了在較低分辨力上在一頻段上的一系數(shù)對在相同頻段上一系數(shù)的母體,涉及相同空間位置。圖6示出了兩個連續(xù)級之間的母體關(guān)系。
參見圖6,在A上的系數(shù)直接與B、C和D有母體關(guān)系,而且還與B、C和D有母體關(guān)系的系數(shù)也有母體關(guān)系。詳細地說,B與圍繞E的四個系數(shù)有母體關(guān)系和圍繞H的16個系數(shù)有母體關(guān)系等等。
多分辨力分解的過程可利用如圖7中所示的一濾波系統(tǒng)來執(zhí)行。一表示具有長度L的一維信號的輸入信號在通過單元703和705進行二次取樣之前由濾波器單元701和702進行低通和高通濾除。來自單元703的被子取樣的輸出信號在分別通過單元707和708被二次子取樣之前由單元705和706低通和高通濾除。在單元707和708的各自輸出端上呈現(xiàn)子區(qū)分量L和H。類似地,來自單元705的輸出信號在分別由單元711和712子取樣之前由單元709和710低通和高通濾除。在單元711和712各自的輸出端上呈現(xiàn)子區(qū)分量L和H。如上所述,使用于子區(qū)分解的本發(fā)明的一實施例的該濾器是用來將水平和垂直頻段分離成低頻和高頻段的數(shù)字正交鏡濾波器。
圖8示出二維、二級變換。圖9還示出了使用諸如在圖16和17中所示的一維濾波器來實施的二維、二級變換。該一維濾波器用于各種其它的場合 以避免由于子取樣所必須進行的計算。在一實施例中,一維濾波器共享低通和高通之間計算的計算結(jié)果。
因此,本發(fā)明提供了一種用于壓縮和解壓的系統(tǒng),在該系統(tǒng)中使用了非最小長度、重疊的可逆濾波器。圖10是這樣一種系統(tǒng)的一實施例的方框圖。參見圖10,開始就執(zhí)行分層分解。該分層分解的結(jié)果被送到用于壓縮的壓縮器。所執(zhí)行的壓縮包括向量量化、標量量化、零運行長度編碼、哈夫曼(Huffman)編碼、Tunstall等。該壓縮器壓縮數(shù)據(jù)的輸出表示該原始輸入數(shù)據(jù)的一被壓縮的文本。一解壓器可在未來的某時接收該數(shù)據(jù)并解壓該數(shù)據(jù)。本發(fā)明利用非最小類型、重疊可逆濾波器執(zhí)行一僅向分解以產(chǎn)生該原始數(shù)據(jù)的重建文本。應(yīng)注意的是該非最小長度、重疊可逆濾波器包括有非S變換濾波器。
本發(fā)明的可逆子波濾波器還可用于如圖11所示例子的分析和增強系統(tǒng)。參見圖11,在使用非最小長度、重疊可逆子波濾波器的輸出數(shù)據(jù)上執(zhí)行分層分解。該分析單元接收由該濾波器產(chǎn)生的系數(shù)并將它們分類到?jīng)Q定之中,即,僅提取相關(guān)的信息而不是編碼所有的系數(shù)。例如,在一文件歸檔系統(tǒng)中,可能僅利用最粗的低通子區(qū)來識別空白頁。另一個例子是僅使用來自一特定子區(qū)的高通信息在文本圖象和自然景色圖象之間進行識別。該分層分解可用于寄存多個圖象,這樣首先由粗的子區(qū)來進行粗的寄存。在另一實施例中,隨著反向分解該系數(shù)經(jīng)受放大或濾除。利用分層分解可執(zhí)行削尖、邊緣增溫、噪聲控制等。因此,本發(fā)明提供一種用于連接時間/空間和頻頻范圍和濾除/增強系統(tǒng)的子波變換。系數(shù)和比特平面的排序和造型在本發(fā)明中,作為子波分解的結(jié)果所產(chǎn)生的系數(shù)是熵編碼。在本發(fā)明中,該系數(shù)最初地經(jīng)受嵌入編碼,在嵌入編碼中該系數(shù)按視覺地有效順序排序,更為一般地,相應(yīng)于某誤差度量(即,失真度量)來排序。誤差或失真度量包括峰值誤差、和均方誤差(MSE)。另外,相對于數(shù)據(jù)庫查詢和定向(垂直、水平、對角線等),可被執(zhí)行的排序優(yōu)先給出比特有效位的空間位置。
執(zhí)行該數(shù)據(jù)的排序的產(chǎn)生代碼流的嵌入量化。在本發(fā)明中,所使用的二個排序系統(tǒng)是第一個用于對系數(shù)排序,第二個用于對在一系數(shù)之中的二進制值排序。本發(fā)明的排序產(chǎn)生一在由一二進制熵編碼器編碼之后的比特流。
在一實施例中,該系數(shù)排序和造型包括M-ary編碼。在另一實施例中,它可僅由區(qū)域嵌入而替代由比特嵌入。另外,對于無損耗編碼或單一品質(zhì)有損耗編碼(即,在該編碼器中被特定的量化),在該系數(shù)排序和造型中可使用非嵌入編碼。編碼單元在本發(fā)明中,以樹型設(shè)置為矩型的編碼單元對圖象等進行獨自地編碼。該編碼單元表示被編碼數(shù)據(jù)的最小單元(雖然存在有允許被譯碼的局部編碼單元的量化選擇)。在一編碼單元中的曾經(jīng)在存儲器中被緩沖的所有數(shù)據(jù)對該編碼器是可用的。
編碼單元的選擇是依從的實施的。該編碼單元可作為整個圖象(或其它數(shù)據(jù)組)或發(fā)明的單一樹或在它們之間的任何矩形而被規(guī)定。在一實施例中,一編碼單元的選擇可需在壓縮效能和存貯器使用之間取折衷的方案。
在一實施例中,在一編碼單元內(nèi)的所有系數(shù)在隨機存取存貯器中是可用的。因為在一編碼單元內(nèi)的所有系數(shù)在隨機存取存貯器中是可用的,所以在一編碼單元中在該系數(shù)之間的嵌入順序可以是任何任意的順序。這個順序?qū)幋a器和譯碼器來說是已知的。但由于熵編碼器是相對于這個順序,在壓縮中該順序有一有效的碰撞,因而應(yīng)慎重選擇。下面描述了一特定排序的實施例。造型在本發(fā)明中,接合空間/頻率造型壓縮和嵌入編碼系統(tǒng)用來對由本發(fā)明的子波變換所產(chǎn)生的系數(shù)編碼。該接合空間/頻率造型具有已知頻率頻段和鄰接象素(或數(shù)據(jù))二者的優(yōu)點。該接合空間/頻率造型的一實施例這里稱之為水平線造型。
該數(shù)據(jù)開始以符號數(shù)值格式被格式化,然后該數(shù)據(jù)基于有效位而被存貯。在另一實施例中,為了進一步減小存貯器工作空間,該系數(shù)可以數(shù)量/假數(shù)方式而不足以符號/數(shù)量方式被存貯。
在以相對于給出的有效度量存貯該數(shù)據(jù)之后,對該數(shù)據(jù)編碼。
假設(shè)一數(shù)字信號X(n),對于每個X(n)用精度R比特表示,然后本發(fā)明的嵌入編碼對該信號的每個X(n)的最高有效位比特(或比特)編碼,然后再對下一個有效位比特(或比特)編碼等等。例如,在可視的規(guī)定順序的情況中,一需要更好品質(zhì)的象素比在沿拐角或接近該邊緣(諸如某些醫(yī)學(xué)圖象)的中心處可受到編碼,這樣在該邊界象素的高階比特之前該中心象素的低階比特可被編碼。比特有效位表示在一實施例中,用于在一系數(shù)內(nèi)的二進制值的嵌入順序是利用比特平面。該系數(shù)以比特有效位表示來表達。比特有效位是一記號數(shù)量表示,其中該記號比特而不是最高有效位比特(MSB)是由第一非零數(shù)量比特編碼。
在以比特有效位形式表示的一數(shù)中存在有三種比特類型標題、尾部和記號。標題比特是從MSB到第一非零數(shù)量比特加第一非零比特的所有零比特。在比特平面出現(xiàn)的第一非零數(shù)量比特規(guī)定該系數(shù)的有效位。在第一非零數(shù)量比特到LSB之后是尾部比特。該記號比特簡單表示該記號。帶有作為MSB的非零比特的數(shù)僅有一個標題比特。零系數(shù)沒有尾部或記號比特。
在該值為非負整數(shù)的情況中,例如相對于象素的亮度所呈現(xiàn)的值的情況中,該順序可被用作為比特平面順序(即,從最高有效位到最低有效位比特平面)。在允許兩個解碼負整數(shù)的實施例中該記號比特的嵌入順序是與該整數(shù)的絕對值的第一非零比特相同的。因此,直至一非零比特被編碼為止不考慮該記號比較。例如,利用記號數(shù)量標記法,數(shù)-7的16比特為1000000000000111在一比特平面基底上,前十二個決策為“無意義”或零。第1個1比特出現(xiàn)在該第十三個決策上。接著,記號比特(“頁”)將被編碼。在該記號被編碼之后,尾部比特被處理。第十五和第十六個決策均為“1”。字數(shù)校直類似于FFT或DCT在不同子組中的系數(shù)表示不同的頻率。在該比特平面編碼之前相對于相互之間通過校直系數(shù)來執(zhí)行該量化。少量密集量化系數(shù)將朝向較近的比特平面(即向左位移)校直。因此,如果該流被舍住,則這些系數(shù)將具有比更多密集量化系數(shù)更多的比特來規(guī)定它們。
在一實施例中,為了在SNR或MSE項中的最佳比率失真特性而校直該系數(shù)。另外,該校直可允許該系數(shù)數(shù)據(jù)的-physchovisual量化。在該圖象品質(zhì)的演變上(或換句話是在速率-失真曲線上)該校直具有有效的碰撞,而在無損耗系統(tǒng)的最后壓縮比上具有可忽略不計的碰撞。
在二級TS變換分解中來自每個象素具有b比特的輸入圖象的各種系數(shù)的比特澤度由圖12示出。為了校直該系數(shù),將1HH系數(shù)尺寸用作參考,并且移位是相對這個尺寸給出的。表1示出了這種校直過程的一個例子。
表1 系數(shù)校正的例子,b=8
1-HH參考
x-HL或x-LH左3x-HL或x-LH左2x-HL或x-LH左1x-HL或x-LH無x-HL或x-LH右1應(yīng)注意的是符號比不是MSB并且由第1尾部比特編碼。重要的是校直簡單地控制該順序,該比特被送至熵編碼器。不執(zhí)行實際的填充、移位、存貯或額外的零比特的編碼。上下文模式下面介紹本發(fā)明所使用的水平線上下文模式的一實施例。該模式基于該系數(shù)的空間和頻譜的相關(guān)性而使用在一編碼單元內(nèi)的比特。該相鄰系數(shù)的可用的二進制數(shù)值和母體系數(shù)可用于建立上下文。但是該上下文是用來可譯碼的原因并且為了適應(yīng)系數(shù)是很小的數(shù)量。熵編碼在一實施例中,由本發(fā)明執(zhí)行的熵編碼是由二進制熵編碼器執(zhí)行的。在一實施例中,熵編碼器104包括一Q編碼器、一有限狀態(tài)機器編碼器、一高速并行編碼器等。一單一編碼器可用來產(chǎn)生一單一輸出代碼流。另外,多個(實際的或虛擬的)代碼器可用于產(chǎn)生多個(實際的或虛擬的)數(shù)據(jù)流。
在一實際例中,本發(fā)明的該二進制熵編碼器包括-Q編碼器。對于該Q編碼器的更多的情況請見Pennebaker,W.B.,et al“An Overview of the BasicPrinciples of the Q-Coder Adaptive Binary Arithmetie”,IBMJournal of Research and Dvelopment,Vol.32,pg.717-26,1988。在另一個實施例中,一二進制熵編碼器使用一QM編碼器(這種編碼器是公知的)和高效二進制熵編碼器。在具有很高概率變形的比特中它是特別有效的。該QM編碼器是用于JPEG和JBIG標準中。
該二進制熵編碼器包括一有限狀態(tài)機器(FSM)編碼器。
這樣一種編碼器提供來自一概率的轉(zhuǎn)換和提供一輸出到被壓縮的比特流。在一實施例中,一有限狀態(tài)機器編碼器利用表實施對譯碼器和編碼器的查找。各種概率估算方法都可用于這種有限狀態(tài)機器編碼器。對于概率接近于0.5來說壓縮是極好的。對于高地變形的概率的壓縮取決于所使用的查找表的尺寸。如像該QM編碼器,因為該決策是以出現(xiàn)的順序編碼的,所以與被嵌入的比特流一起它是有用的。因為該輸出是由一查找表規(guī)定的,所以不會存在用于“轉(zhuǎn)移”問題的可能性。實際上,與Q和QM編碼器不同,在被壓縮的輸出比特的編碼和形成之間存在有一最大的延遲。在一實施例中,本發(fā)明的有限狀態(tài)機器編碼器包括有一在美國專利NO.5,272,478(名稱為“用于熵編碼的方法和裝置”
公開日為1993年12月21日)中所指出的B編碼器。
在一實施例中,本發(fā)明的該二進制熵編碼器包括一高速并行編碼器。QM編碼器和FSM編碼器一次需要被編碼或被譯碼的1比特。該高速并行編碼器并行處理幾個比特。在一實施例中,該高速并行編碼器以VLSI硬件或多處理器計算機實施而不會犧牲壓縮特性。在本發(fā)明中可被使用的高速并行編碼器的一個實施例在美國專利NO 5,381,145(名稱為“用于數(shù)據(jù)的并行譯碼和編碼的方法和裝置”,
公開日為1995年1月10日)中被披露。
大多數(shù)的高效二進制熵編碼器通過基本的反饋環(huán)路來限制速率。該編碼器的輸出是多重可變長度編碼數(shù)據(jù)流。具有這種處理類型的一個問題是如何在一單一通道上傳送該數(shù)據(jù)。在美國專利NO.5,381,145中所披露的該高速并行編碼器與交叉存取這些編碼數(shù)據(jù)的方法一起解決這個問題。
在本發(fā)明中使用的上下文的大多數(shù)是固定概率的,構(gòu)成一有限狀態(tài)機器編碼器,例如B編碼器特別地有用。當一系統(tǒng)使用的概率接近0.5時,上述的高速并行編碼器和有限狀態(tài)機器編碼器具有比Q編碼的更高的效率。因此,它們在用本發(fā)明的上下文模式時具有潛在壓縮優(yōu)點。本發(fā)明的編碼和譯碼處理下面結(jié)合圖13-15的流程圖說明本發(fā)明的編碼和譯碼的一實施例。這些過程可由硬件或所帶軟件來完成。在任一種情況中,參照所制作的處理邏輯可表示另一種情況。
圖13示出了本發(fā)明的編碼過程的一實施例。參見圖13,通過所具有的處理邏輯對于一編碼單元獲取一摻入數(shù)據(jù)開始編碼處理(處理框1301)。接著,處理邏輯將可逆濾波器加到該編碼單元的輸入數(shù)據(jù)單元(處理框1302)。
判斷是否另一分解級是所希望的(處理框1303)。如果是,則處理邏輯將該可逆濾波器加到LL系數(shù)上(處理框1304),并且該處理環(huán)返回并在處理框1303中繼續(xù)進行處理。如果另一個分解級不是所希望的,則處理在處理框1305中繼續(xù)進行處理,在那里處理邏輯變換該系數(shù)為符號/數(shù)量形式。
在變換該系數(shù)為符號/數(shù)量形式之后,一比特平面變量S被設(shè)置為最高有效位比特平面(處理框1306)。然后,該處理邏輯隨意地初始化該熵編碼器(處理框1307)。
一旦該熵編碼器被初始化,處理邏輯用該上下文模式和熵編碼的該比特模擬每一系數(shù)的每一比特(處理框1308)。在熵編碼該比特之后,該數(shù)據(jù)被傳送或存貯(處理框1309)。
之后,判斷在該圖象中是否還存在有編碼單元(處理框1310)。如果還有編碼單元,則處理繼續(xù)到處理框1301。另一方面,如果沒有更多的處理單元,則處理結(jié)束。
圖14示出了本發(fā)有譯碼處理的一實施例。參見圖14,通過處理邏輯對于一編碼單元復(fù)原編碼數(shù)據(jù)而開始處理(處理框1401)。接著可逆S被置為最高有效位比特平面(處理框1402)。在設(shè)置該比特平面可逆S為最高有效位比特平面之后,處理邏輯隨著地初始化該熵編碼器(處理框1403)。
在該熵編碼器被初始化后,處理邏輯將每一系數(shù)的初始值設(shè)置為零(處理框1404)。然后處理邏輯用上下文模式和熵譯碼器模擬每一系數(shù)的每一比特(處理框1405)并且將系數(shù)轉(zhuǎn)換成用于濾除的適當形式(處理框1406)。該轉(zhuǎn)換可以從比特有效位轉(zhuǎn)換為2的補碼形式。之后,處理邏輯從分解的最高級將一反向濾波器加到該系數(shù)啟始(處理框1407)。
判斷是否所有的級被反向濾除(處理框1408)。如果所有的級未被反向濾波,則處理邏輯從下一個分解的最高級將反向濾波器加到該系數(shù)(處理框1409),并且在處理框1408繼續(xù)處理。如果所有的級均被反向濾除,則在處理框1410上繼續(xù)處理,在那里重建數(shù)據(jù)被存貯或被傳送。在存貯該被傳送的重建數(shù)據(jù)之后,判斷是否存在有更多的編碼單元(處理框1411)。如果存在有更多的編碼單元,處理環(huán)路返回并在處理框1401上繼續(xù)處理,在那里處理被反復(fù)進行。如果不存在更多的編碼單元,則處理結(jié)束。
圖15示出了根據(jù)本發(fā)明用于造型的處理的一實施例。參見圖15,通過向第一系數(shù)設(shè)置一系數(shù)變量而開始對于造型比特的處理(處理框1501)。然后判斷是否1C1>2s。如果是,處理繼續(xù)在處理框1503上進行,在那里利用對于尾部比特的該模式,處理邏輯編碼系數(shù)C的比特S并且繼續(xù)在處理框1508處理。用于尾部比特的模式可以是一固定的(非自適應(yīng)的)模式。如果C不大于2s,則處理繼續(xù)在處理框1504進行處理,在那里處理邏輯提供一用于標題比特的樣板(即,初始為0和第1為“1”比特)。在提供該樣板之后,處理邏輯編碼系數(shù)C的比特S(處理框1505)。可能的樣板如圖26A-C所示。如圖19A和19B中所示,樣板可用LUTs來實施。
接著,判斷是否系數(shù)C的比特S是通(on)(處理框1506)。如果系數(shù)C的比特S沒有on,則處理繼續(xù)在處理框1508進行處理。另一方面,如果系數(shù)C的比特X是on,則處理繼續(xù)在處理框1507進行處理,在那里處理邏輯編碼該符號比特。此后,處理繼續(xù)在處理框1508進行。
在處理框1508,判斷是否系數(shù)C是最后的系數(shù)。如果系數(shù)C不是最后的系數(shù),則處理繼續(xù)在處理框1509進行,在那里系數(shù)變量C被置為下一個系數(shù)并且處理繼續(xù)在處理框1502進。另一方面,如果系數(shù)是最后系數(shù),則處理在處理框1510進行處理,在那里判斷是否S是最后比特平面如果S不是最后比特平面,則比特平面變量S被遞減1(處理框1511),并且處理繼續(xù)在處理框1501進行。如果S是最后比特平面,則處理結(jié)束。本發(fā)明另外的實施例本發(fā)明可以由硬件和/或軟件來實施。本發(fā)明的一硬件實施需要子波濾波器,存貯器/數(shù)據(jù)流管理以提供用于該濾波器的數(shù)據(jù),一上下文模式以控制本發(fā)明的嵌入編碼,存貯器/數(shù)據(jù)流管理以提供用于該上下文模式的數(shù)據(jù),和一二進制熵編碼器。子波濾波器圖16示出了本發(fā)明的前向子波濾波器的一實施例。圖16中所示的子波濾波器容納有4個16比特2的補碼輸入象素,以x(2)-x(5)表示。
參看圖16,兩抽頭“11”低通濾波器使用一個16比特加法器1601。其輸出被分別稱之為S和D。使同移位一個比特方框1603使加法器的輸出(S)被舍位成16比特。通過將其17比特輸入向右移位一個比特,移位一個比特方框1603執(zhí)行除2功能。
6抽頭高通濾波器需要對-S0+4D1+S2進行計算。利用接收移位一個比特方框1603的輸出和Y0(0)的減法器1605計算函數(shù)S2-S0。利用減法器1602、移位2個比特方框1604和加法器1608計算4D1項。利用稱位兩個比特方框1604使由16比特減法器1602產(chǎn)生的輸出向左移位兩個位置,借此以使它的輸出被乘以4。方框1604的輸出由加法器1608加到2。注意,由于移位了兩個比特,所以,加法器1608可以通過布線加以替換。把加法器的4D1輸出加到減法器1605輸出端上的工作是由20比特加法器1606執(zhí)行的。使用移位2個比特方框1607將加法器1606的輸出舍位為18比特,通過將其20比特輸入向右移位兩個比特,移位兩個比特方框1607執(zhí)行除4的功能。
因此,(用于存貯暫時結(jié)果的非計數(shù)寄存器)所需的總的計算硬件是·1@ 16比特加法器,·2@ 16比特減法器,·3@ 19比特加法器。
注意,移位(和加法器1608)是利用諸如不需要任何邏輯關(guān)系的布線執(zhí)行的。
在另一個實施例中,對于輸入尺寸N來講,可以使用一個N比特加法器,兩個N比特減法器和一個(N+3)比特加法器。
由于這些加法器和減法器的硬件成本極低,因此如果需要的話,還可以同時使用一個濾波器。
注意,取代減去x(3)和x(2),可以計算x(4)-x(5)并保留其結(jié)果直到以后作為用于下一次移位或濾波器應(yīng)用的x(2)-x(3)需要時為止。兩個正向濾波器(或下面將要描述的反相濾波器)可以形成流水線配置,以實現(xiàn)較高的吞吐量。
反相子波濾波器示于圖17。利用減法器1701減去Y0(0)和Y0(2)的輸入。利用加法器1709將2加到減法器1701的輸出上。并利用移位兩個比特方框1702將相加的結(jié)果向右移位兩個比特。這就使減法器的輸出被除以4。減法是在移位2個比特方框1704的輸出和Y1(6)輸入之間進行的。輸入Y0(1)被移位一個比特方框1703向左移位一個比特,借此使該輸入乘以2。在Y0(1)被移位了一個比特(被乘以2)以后,移位值的LSB是取自減法器1704輸出的LSB并與來自移位一個比特方框1703的16比特輸出相組合以形成加法器1705和減法器1706的輸入。加法器1705和減法器1706的其它輸入是減法器1704的輸出。加法器1705和減法器1706的輸出。加法器1705和減法器1706的輸出接著被進行箝位。
可以選擇兩種箝位操作。在這兩種情況下,20比特值被移位一個比特(9除以2)成為一個19比特值。對于僅執(zhí)行無損耗壓縮的系統(tǒng)來講,可以輸出最低有效16比特(其余3比特被忽略掉)。在有損耗(或有損耗/無損耗)系統(tǒng)中,如果19比特值是負的,那么它被置為零,如果它大于216-1,則將被設(shè)置成216-1,否則可以輸出最低有效16比特。
對于尺寸為N個比特的輸入而言,可以使用一個N比特減法器,一個(N+1)比特加法器、一個(N+2)比特加法器、一個(N+3)比特加法器和一個(N+3)比特減法器,且箝位單元輸出N個比特。
在子波變換的一個實施例中,在變換中使用了Monte Carlo除法,其中使用了偽隨機發(fā)生器,并根據(jù)它的輸出結(jié)果,變換操作的結(jié)果或上或下來回滾動。只要譯碼器意識到這種滾動一直在執(zhí)行(即使用相同的隨機發(fā)生器,在相同的點開始),就可以使用這種工具。用于與子波濾波器相關(guān)的數(shù)據(jù)流管理的存儲器就用于本發(fā)明子波濾波器的存貯器和數(shù)據(jù)流管理而言,對于滿幀可以裝入存貯器的圖象存貯器/數(shù)據(jù)流管理不是一件困難的事情。即使是1024×1024的16比特醫(yī)學(xué)圖象(例如24兆字節(jié)規(guī)模),對于許多應(yīng)用來講,要求滿幀緩沖器也是合理的。對于較大的圖象(例如A4,400DPI4-彩色圖象的規(guī)模大約是50兆字節(jié)),也希望使用有限量行緩沖存貯器的子波變換。
注意,對于本發(fā)明的執(zhí)行一通過系統(tǒng)來講,滿幀緩沖器是不需要的。由于這一點,所需存貯器可以被減少100倍(和使用與大圖象相關(guān)的滿幀緩沖器相比)下面將描述本發(fā)明的一通過系統(tǒng)。
存儲在濾波緩沖器中的數(shù)據(jù)是一系列將被進行嵌入編碼和二進制熵編碼的系數(shù)。嵌入編碼使用上下文模型去配合水平(norizon)編碼的使用并提供適當序列的數(shù)據(jù)。所述上下文模型和存貯的管理模式一起工作。對于使用滿幀緩沖器的系統(tǒng)來講,以適當?shù)男蛄刑峁?shù)據(jù)是不困難的。
對于使用有限量工作區(qū)存貯器的系統(tǒng)來講,使用不同高度的變換以減少用于存貯所需的存貯器工作區(qū)行的數(shù)量。因此,如果遇到較寬的圖象,它就會被有效地壓縮在所分配的工作區(qū)存貯器內(nèi)。例如,可以垂直地使用S變換以減少行數(shù)。
存貯器需要對光柵(vaster)數(shù)據(jù)進行緩沖,從而能夠執(zhí)行子波變換。在某些應(yīng)用中,使這個存貯器最小化對于減少成本來講是非常重要的。下面來描述實現(xiàn)這一點的技術(shù)。
這里所描述的子波2-D變換的一個實施例是為一通執(zhí)行和受限存貯器應(yīng)用而設(shè)計的。在一個實施例中,為實現(xiàn)熵解壓而使用的子波變換僅僅是TS和S變換。在這個實施例中,具有4級相互獨立的熵解壓。在一個實施例中,使用S和TS變換執(zhí)行4級解壓。在一個實施例中,在水平(行方向)解壓過程中,完全使用TS變換,即形成TS-TS-TS-TS的水平解壓。在垂直(列方向)解壓過程中,以TS-TS-S-S形式執(zhí)行S變換和TS變換。除對存貯器應(yīng)用方面有重要影響以外,都使用低成本的S變換來取代兩個TS變換。為通常情況一樣,水平和垂直變換被交替使用(圖20)。
注意,S和TS變換的任意組合都可被用于執(zhí)行水平和垂直變換。注意,雖然變換的順序可以是混合的,但解碼器必須意識到這個順序并必須以全可逆的反相順序執(zhí)行相反的操作。
系教樹在熵系統(tǒng)中,可以使用樹結(jié)構(gòu)將系數(shù)分成多個組。每個樹的根是一個純的低通系數(shù)。圖6示出了變換后圖象一個純低通系數(shù)的樹結(jié)構(gòu)。對于諸如一個圖象的兩維信號來講,樹根具有3個“孩子”,其余節(jié)點中的每一個具有4個“孩子”。該樹不被分層地限定為兩維信號。例如,對于一維信號來講,樹根具有一個“孩子”,而非樹根的節(jié)點中的每一個具有兩個“孩子”。較高的維是由一維和二維情況得出的。
從示于圖7-9的濾波器的工作情況來看,其樹結(jié)構(gòu)是很明顯的。利用子取樣的一對濾波器的工作使得在前所描述的系數(shù)被涉及。
在一個實施例中,系數(shù)是在一個比特有效或比特平面嵌入系統(tǒng)中被編碼。由于該系數(shù)是從最高比特平面向最低比特平面進行編碼的,所以必須確定在數(shù)據(jù)中比特平面的數(shù)量。在本發(fā)明中,這是通過獲得根據(jù)數(shù)據(jù)計算的系數(shù)值的幅值上限或得自圖象深度或濾波器系數(shù)的幅值上限而實現(xiàn)的。例如,如果上限是149,那么就有8個有效比特和8個比特平面。由于軟件中的速度問題,可以不使用比特平面編碼。在另外一個實施例中,只有當系數(shù)變得和二進制數(shù)一樣有效時,才使用比特平面編碼。
在一個實施例中,本發(fā)明的水平上下文模型包括被饋入給二進制熵編碼器的子波系數(shù)比特有效嵌入編碼。上下文模型的替換一旦解壓被完成且數(shù)據(jù)系數(shù)被排序,本發(fā)明的上下文模型被用于對這些系數(shù)進行編碼。有各種各樣可以被使用的上下文模型,其決定以空間位置、級和/或比特位置為條件。該決定還可以在空間位置、級和/或比特位置方向與當前數(shù)據(jù)接近的先前譯碼的數(shù)據(jù)為條件。
下面是某些例子。最高有效尾部比特(和因此是最容易予側(cè)的)不同于尾部比特其余位的上下文。標題比特可以由與在同一變換級中空間接近在前系數(shù)有拳同一比特決定。類似地,用于有效系數(shù)的符號可以由在同一級中空間接近在前系數(shù)的符號或本源系數(shù)的符號來決定。
當對具有空間或多個分解結(jié)構(gòu)的圖象進行壓縮時,上下文模型的改進可能是非常重要的行繪圖或文本的灰度圖象是具有這兩種結(jié)構(gòu)的圖象的例子。對于使用規(guī)定峰值誤差去壓縮那些已經(jīng)被壓縮和解壓的文件來講,這種改進也是非常重要的。
當利用軟件執(zhí)行本發(fā)明時,由于所述比特需要決定狀態(tài)(例如每個首位),所以需要大量的時間去獲得與上下文相關(guān)的比特。在本發(fā)明的一個實施例中,通過使用查詢表(LUT)可以加速軟件的執(zhí)行。這避免了與用作上下文的北(N)西北(NW)、西(W)和西南(SW)等象素相關(guān)的單獨比特的提取操作。
圖19A和19B示出了本發(fā)明的與標題比特狀態(tài)相關(guān)的狀態(tài)機構(gòu)。參看圖19A,用于新母體的LUT1901被耦合到編碼/解碼方框1902。LUT1901被耦合以接收表示母體的比特、表示以上(NE)系數(shù),當前系數(shù)(E)和表示以下(S)系數(shù)的比特,在一個實施例中,本源輸入的當前輸入各自包括兩個比特。到LUT1901的其它輸入包括作為反饋的來自LUT1901所有或部份的上下文輸出和編碼/解碼方框1902的輸出。在一個實施例中,作為LUT1901上下文的10個比特輸出中的8個被反饋到LUT1901的輸入端上。
由于NE、E和S代表包括有與各種比特平面相關(guān)的信息的樣板信息的前沿,所以它們要被使用。注意,除了南(S)系數(shù)以外,西南(SE)系數(shù)也可以使用。
在一個實施例中,如果樣板位于編碼單元以外,那么可以利用來自當前象素的比特代替外部狀態(tài)比特。
圖19B示出了使用與同一母體相關(guān)的LUT的狀態(tài)機構(gòu)的狀態(tài)。在這種情況下,全部上下文被作為輸入反饋給LUT1903。
在利用光柵順序?qū)?shù)據(jù)進行處理的地方由于被用于產(chǎn)生最后上下文的同一個存貯器不再被重新裝載,所以,使用LUT減少了存貯器存取的數(shù)量。
為了減少LUT存貯器的規(guī)模,還可以利用僅處理其它條件的LUT的輸出通過ORing分別處理母體狀態(tài)。
可以用一個稍大的LUT表來最大程度地提供與下一個比特平面相關(guān)的狀態(tài)。另外一個較小的表用來提供來自當前上下文LUT的狀態(tài)信息并使之與來自下一個比特平面的新得到的數(shù)據(jù)相結(jié)合。如果在此時對一個樹進行編碼的話,這將是非常有用的。
如上面就本發(fā)現(xiàn)所述,“系數(shù)”可以被規(guī)定成表示決定因素為1的變換。在這種情況下,通過當?shù)透怕适橇銜r保留用于對低概率事件進行編碼所使用的空間使得代碼空間不會被浪費。但是,8比特系數(shù)仍被輸入并且產(chǎn)生一個8比特系數(shù)一個9比特系數(shù)。因此仍可以改善效率。所增加的低效率是由于可通過系數(shù)空間的旋轉(zhuǎn)而致。
應(yīng)當注意,變換操作的某些結(jié)果唯一的識別在計算中以使用的量,這發(fā)生在這些結(jié)果接近這些可能結(jié)果的范圍的邊界時。這樣的一個例子示于圖18,其中,μ代表低通而v代表高通。由于u和v的值不是獨立的,所以,在考慮到連接信息的情況下很容易對這些易進行熵編碼。為圖18所示,對于大多數(shù)低通值來講,這是由于用于高通的某些代碼空間未被使用的緣故。在很多應(yīng)用中,由于指定給這些不可能對的概率極低,所以,這也有一點優(yōu)異。但是,在某些應(yīng)用中,這可能有相當大的好處。為了加速操作,在LH,HL和HH系數(shù)之前應(yīng)當傳送更多的LL系數(shù)。這可以使得劃界更容易。
在某些實施例中,在每個編碼單元被編碼以后,一切都復(fù)位,當時第二個單元進行編碼時,統(tǒng)計量和概率被復(fù)位。在一個實施例中,某些或所有的統(tǒng)計量都被保留。然后這些統(tǒng)計量被作為一個后邊編碼單元開始編碼時的最初統(tǒng)計量在一個實施例中,該統(tǒng)計量可以被保留在第一或先前編碼單元編碼過程中的某一預(yù)定點處。例如,在第三比特平面編碼之后,對當前編碼單元進行編碼的所使用的統(tǒng)計量被保留并且用作對下一個編碼單元或以后的編碼單元開始編碼時的統(tǒng)計量。在另一個實施例中,評價所有圖象的分類并確定統(tǒng)計量的硬編碼組。然后,使用這些硬編碼統(tǒng)計量作為缺席規(guī)劃執(zhí)行編碼。在另外一個實施例中統(tǒng)計量被保留以用于每一個比特平面,從而當對處于另一個之中的類似比特平面進行編碼時使用這些統(tǒng)計量。
在一個實施例中,在第一個一比特之前沒有編碼。在系數(shù)中發(fā)生第一個一比特時,對符號進行編碼。雖然首位是一個從屬的圖象/區(qū)域,但對于不同的圖象和區(qū)域來講,尾部比特是更加唯一的。根據(jù)尾部比特距離最初一個比特(右標題比特內(nèi))有多遠,可以使用某些概率分類對尾部內(nèi)的比特進行編碼。在一個實施例中,利用包括0.7在內(nèi)的概率分類對系數(shù)內(nèi)的第一個尾部比特進行編碼,利用包括0.6在內(nèi)的概率分類對第二和第三尾部比特編碼,最后,利用包括0.5在內(nèi)的概率分類對第四和以后的尾部比特進行編碼。A執(zhí)行子波變換在一通過系統(tǒng)中,以執(zhí)行的子波變換是壓縮參數(shù)和所使用存貯器數(shù)量之間的拆衷方案。選擇編碼單元尺寸以用于具有最少解緩沖器的最少存貯器(假定以光柵順序傳送圖象)。子波變換的中間系數(shù)被存貯在同一個存貯器之內(nèi),以在適當時取代輸入。子波變換濾波器的選擇這里所描述的子波2-D變換被設(shè)計來用于一通完成和有限存貯器。共有四級單獨解壓。在水平解壓過程中,僅使用TS變換,即使形成TS-TS-TS-TS水平解壓。在垂直解壓中,使用S和TS兩種變換。且垂直解壓形成為TS-TS-S-S解壓。水平和垂直解壓交替使用。圖20示出了水平和垂直解壓。
除了在存貯器應(yīng)用方面的有效壓縮以外,在無損耗壓縮過程中使用低成本的S變換代替兩個TS變換。在最后兩次垂直通過中選擇使用S變換僅用于少量的存貯器。S變換的使用大約保留了系數(shù)緩沖器的32行(例如來自48行的16行以下)。注意,對所有的解壓使用TS變換并不是提供更好的壓縮性能。編碼單元的規(guī)定在一個實施例中,編碼單元是由樹的一行(LL系數(shù)或所有它們的下節(jié)點的一行)規(guī)定的。利用四級介壓,這意味著在空間域中,編碼單元是16行乘以圖象寬度。圖21示出了一個編碼單元。注意,圖21并沒有按比例去畫。級1方框是一個2-D介壓之后的圖象。為了重復(fù),名稱LL(低-低)、LH(低-高)、HL(高-低)和HH(高-高)被用于對子方框?qū)ぶ凡⒈惶峁┙o所有的級1-4方框。級2方框是在級1方框中子方框LL 2-D介壓的結(jié)果。類似的,方框3和4分別是在級2方框和級3方框中子方框LL 2-D介壓的結(jié)果。
編碼單元在級1中對于HH、HL和LH系數(shù)是8行高、在第二級中是4行高,在第三級中是2行高,而在第4級和LL子方框中則是一行,注意,當分解在每個步驟減少時,行的數(shù)量以及長度減半。在級4方框LL中的每個系數(shù)是一個樹的最高母體。緩沖和系數(shù)計算為了產(chǎn)生一個在圖21中所述的編碼單元,可以使用其尺寸為2.w.m的工作區(qū)緩沖器,其中,w是圖象的寬度,m是一個比特內(nèi)的最大系數(shù)尺寸。由于為垂直變換(即行方向上)通過所選擇的子波濾波器的特性,工作區(qū)存貯器的要求大約是18-20行。每次一行的計算所有的都是TS變換的每一個水平變換(即行方向上)的通過并用新的系數(shù)取代老的系數(shù)或象素。
頭兩遍垂直變換使用TS變換濾波器。由于是6抽頭高通濾波器,所以,在垂直通過中的每個高通系數(shù)取決于任一象素系數(shù)數(shù)據(jù)的6行。所產(chǎn)生的高通TS系數(shù)涉及到其下面4行用于重疊的頂部兩行。這示于圖22。參看圖22,該圖示出了一個編碼單元的垂直圖象段。該編碼單元的垂直圖象段是正在利用TS變換的水平通過進行變換的原始圖象的結(jié)果。這里示出了一個編碼單元垂直級1段并且是該圖象的第一個級2-D變換。通過利用TS變換執(zhí)行水平通過獲得垂直級1段。還示出了一個編碼單元的垂直級2段,該段是通過在兩維上對級1方框的LL子方框執(zhí)行TS變換而產(chǎn)生的。
應(yīng)當注意,由于TS變換是被4個象素(或系數(shù)覆蓋的,所以4行數(shù)據(jù)在編碼單元的末端處被保留下來,以備對下一個編碼單元的系數(shù)進行計算時加以使用。換言之,為了建立級1系數(shù),在頂部和底部需要兩個額外的象素行或左底部需要4個額外行。為了建立級2系數(shù),在頂部或底部需要2個額外的級1系數(shù)行或在底部需要4個。為了建立這些額外的級1系數(shù),在頂部和底部需要另外的兩個象素行或在底部需要4個。因此,每個編碼單元要跨躍28個垂直行。
但是重要的是,由于這些“額外”的級1系數(shù)將被用于當前編碼單元之下或之下的編碼單元,所以不需要額外的計算去產(chǎn)生它們。另外還應(yīng)當注意,由于只存貯級2系數(shù),所以只需要存貯器的20行。
最后兩個垂直通過是S變換,它在低通情況下沒有重疊,因此不需要額外的行。用于變換計算的存貯器有關(guān)尺寸方向給出的象素值或系數(shù)值是b比特(在-2b-1,···,0,···2b-1-1的范圍之內(nèi)),s變換和TS變換的平滑輸出S(.)也是b比特。換言之,它們與輸入具有相同范圍。但是,S變換和TS變換的一組細節(jié)輸出d(.)將利用b+1,b+2分別加以表示。
圖23示出了除編碼單元以外所需的某個行緩沖。灰色區(qū)域和箭頭是部份當前編碼單元的系數(shù),它們需要被保存在存貯器中以用于當前編輯。虛線箭頭是在編碼單元中計算系數(shù)所需的暫時系數(shù)。這此系數(shù)將被新的系數(shù)所改寫、實線箭頭表示這樣的系數(shù),即它們是當前編碼單元系數(shù)計算的付產(chǎn)品并被保留以作為下一個編碼單元的一部份。
這些系數(shù)的最后一級(級4)是所有4個子方框(LL.LH.HL.HH)中的單一一行。僅參看垂直變換,從級3到計算級4僅使用了S變換,所以,所有子方框在級3中僅需要系數(shù)的兩行。類似地,從級2到計算級3在計算級2中需要4行。所有的這些系數(shù)都是當前編碼單元的一部份。
為了計算級2和級1的垂直通過,使用TS變換。由于6抽頭高通重疊濾波器的重疊特性,這些級需要來自下一個編碼單元的數(shù)據(jù)。這些數(shù)據(jù)被用于計算當前編碼單元中的系數(shù)并被存貯起來以用于下一個編碼單元。
為了計算級2(LH.HH)中來自級1的高通子方框,需要12行(8行到4行來自下取樣,和4個額外行用于重疊)。這些行在圖23的級1(LL.HL)低通子方框中示出,其中8行是當前編碼單元的一部份,4行是下一個的一部分。
為了計算在級1(LL.LH)的低通子方框中的12行,需要從級0開始的24行,0在級0處的這24行能夠建立在級1的高通子方框中的10行(16行到8行來自下取樣,4個額外行用于重疊)。即使僅有8行需要用于當前編碼單元,但計算這所有10行并在級1處存貯它們是非常重要的。因此,只有4個用于重疊的額外行在級0處被保留下來。
對于可分離2-D變換來講,從象素深度b的圖象開始,在行和列二者的情況下,變換是TS,對于LL,HL,LH和HH子方框來講,系數(shù)范圍分別是b,b+2和b+4。在可分離2-D變換包括水平TS和垂直S變換的情況下,對于LL,HL,LH和HH來講,系數(shù)范圍分別是b,b+1,b+2和b+3。表2,3,4,5和6示出了與每個方框所需存貯器的計算。注意,該計算是根據(jù)與寬度為W的圖象相關(guān)的比特的尺寸而進行的,每個方框中的一個是表2一用于級0的存儲器成本
表3一用于級1的存貯器成本
表4一用于級2的存貯器成本
表5一用于級3的存貯器成本
表6一用于級4的存貯器成本
把上述所有的量相加等于(26b+55
)·W比特,約等于(26b+56)·W比特。大尺寸的兩行計算緩沖器,即b+4比特加上2·(b+4)·W比特導(dǎo)致了(28b+64)·W比特。例如,對于一個8比特512象素寬的圖象來講,需要147.456比特或約18K字節(jié)。
在一個實施例中,變換的規(guī)模是根據(jù)圖象的寬度和可以得到的存貯器的固定尺寸進行選擇的。換言之,一個特殊圖象可以被輸入到本發(fā)明的系統(tǒng)中,并且由于可獲得的變換存貯器的數(shù)量有限,所以解壓級的數(shù)量減少。如果可以獲得更多的存貯器,那么,解壓縮級的數(shù)量可以增加。注意,當系統(tǒng)正在接收圖象時,這種情況可能不斷發(fā)生。如果可以得到足夠的存貯器,則可以通過子波濾波器饋入LL系數(shù),以執(zhí)行附加級的解壓。注意,減少或增加級的數(shù)量這樣一個事實意味著分別減少或增加可以實現(xiàn)的壓縮的數(shù)量。B.本發(fā)明的嵌入順序代碼流的排序圖24A示出了代碼流的排序以及在編碼單元內(nèi)的排序。參看圖24A,在標題2401之后跟隨有從頂部到底部的編碼單元2402。在編碼單元內(nèi),LL系數(shù)2403不以光柵(行)順序進行編碼。在LL系數(shù)之后是從最高有效比特平面到最低有效比特平面的一次一個比特平面進行熵編碼的數(shù)據(jù)。然后在第二比特平面之前,來自每個系數(shù)的第一比特平面被進行編碼,等。系數(shù)的排列在本發(fā)明的一個實施例中,上下文模型使用一個非規(guī)格化的1+z-1低通濾波器。但是,該上下文模型可以使用諸如 的規(guī)格化濾波器。
為了使用規(guī)格化濾波器,可以在正向子波濾波器1600和上下文模型105之間使用一個排列單元以對來自非規(guī)格化濾波器的增加(或損失)的能量進行補償,這改善了壓縮。由于這種排列對于有損耗操作來講允許不均勻量化,所以,這種排列可以增強有損耗圖象重建的可視質(zhì)量。在一維情況下,來自該樹每一級的系數(shù)都將具有不同的排列(除數(shù)= 2、 4,乘數(shù)= 2、 1)。在兩維情況下,除數(shù)將是2、4、8、16,乘數(shù)將是8、4、2、1。
由于該排列僅用于類似于與編碼相關(guān)的二進制判定的分組,所以使用精確格式化的值不是很關(guān)鍵的。在解碼期間,排列必須被反相,所以需要乘法和除法,使用被平方的乘數(shù)/除數(shù)允許硬件更有效地執(zhí)行操作。當系數(shù)被平方時,所增加的減少有效零比特不必進行編碼。
系數(shù)排列可被用于調(diào)節(jié)和用于更好的非均勻量化。在(兩維信號)圖象的情況下,RTS變換的一個實施例通過把頻帶乘以圖28所示的數(shù)來排列系數(shù)。乘以這些數(shù)導(dǎo)致RTS變換非常接近TS變換的精確重建的子波。
該一通過實施例僅使用了就與濾波器配對有關(guān)的MSE而言是最佳的一個排列。表7示出了排列號。利用有效位對系數(shù)進行編碼,其中,第一比特平面是所有系數(shù)左邊最高量級的比特。在所述系數(shù)具有非零量級比特以前,用于每個系數(shù)的符號比特不被編碼。換言之,在第一個非零比特被編碼之后,立即對符號比特進行編碼。它的優(yōu)點在于對于任一具有零量級的系數(shù)而言,可以不必對符號比特編碼,并且在嵌入代碼流內(nèi)的符號比特的相關(guān)點前不必對符號比特進行編碼。對于一個象素深度為b的圖象而言,最大可能的系數(shù)幅值為2b+3-1,即數(shù)量為b+3比特。因此,每個系數(shù)都以b+3二進制判定進行編碼,并在需要時加上一個用于符號比特的附加的一個。
表7一系數(shù)排列
不同尺寸系數(shù)的排列被通知給編碼器和解碼器,并不在熵編碼器上進行有效壓縮。
還應(yīng)當注意,編碼單元每個方框的每個子方框都可能具有它自己可能的最大幅值范圍,這個范圍都要被通知給編碼器和解碼器。對于大多數(shù)子方框來講,具有一系列完整的決定性的二進制零值,為提高效率起見,這些零值都被熵編碼器忽略。
在每個比特平面期間的系數(shù)的處理順序是從低分辨率到高分辨率,從低頻到高頻。每個比特平面內(nèi)的系數(shù)編碼器是從高級(低分辨率,低頻)到低級)(高分辨率,高頻率),如下4-LL、4-HL、4-LH、4-HH、3-HL、3-LH、3-HH、2-HL、2-LH、2-HH、1-HL、1-LH、1-HH。
在每個子方框內(nèi),編碼按照光柵掃描順序。
注意,同一數(shù)據(jù)組的編碼單元可以具有不同的排列。在一個實施例中,排列可以被規(guī)定在諸如圖24A所示的標題2401中的標題內(nèi)。水平上下文模型圖25示出了與編碼單元每一系數(shù)相關(guān)的相系數(shù)。參看圖25,該圖利用非常明顯的圖表說明諸如N=北,NE=東北等注釋了相鄰系數(shù)。
由于給定了諸如圖25中的P這樣一個系數(shù)和一個當前比特平面,所以,在給定位平面之前,上下文模型可以使用來自所有編碼單元的任一信息。該信息的母體系數(shù)也被用于這個上下文模型。
不使用相鄰的或母體的系數(shù)值去確定與該系數(shù)的該比特相關(guān)的上下文,信一息被減少到這里被稱之為尾部信息的兩個比特。這個信息可以被存貯在存貯器中或根據(jù)鄰近的或母體系數(shù)不斷地進行計算。尾部信息涉及到第一個非零幅值比特是否被觀測到(即第一個“on-bit”是否被觀察到)以及在此之后大約有多少比特平面。表8描述了尾部信息比特表8-尾部信息的規(guī)定
根據(jù)2-比特尾部信息,尾部接通比特指出尾部信息是否為零。在一個實施例中,在2系數(shù)編碼之后,立即更新尾部信息和尾部接通比特。在另一個實施例中,較晚發(fā)生更新,以允許并行上下文產(chǎn)生。
作為一個例子,表9示出了尾部接通比特。作為比特平面的函數(shù),用于具有用二進制為下表示的幅值的系數(shù)(“*”的意思是無論它是0還是1”
表9-是否是與所舉例上下文系數(shù)相關(guān)的尾部信息的表
第三種上下文信息是符號比特。由于符號比特是在第一個on-bit(非零比特)之后立即編碼的。所以,該尾部信息表示所述符號信息是否是已知的。因此,除非該尾部信息不是零(符號重新調(diào)用有三種可能即正、負或未知),否則該符號比特不是信息上下文。
系統(tǒng)的上下文模型使用高達11個比特去描述上下文。這個數(shù)量并沒有完全被規(guī)定,實際上只使用了包括符號比特上下文在內(nèi)的1030或1031個上下文。每一個比特位置的意義取決于在前的二進制值。一個實施例遵循下述規(guī)則如果該系數(shù)的尾部接通比特是零(用于首比特),那么來自母體和W系數(shù)的尾部信息比特的1024個上下文分別是NW、N、NE、E、SW和S系數(shù)的尾部非零比特。在一個實施例中,適當?shù)木幋a被用于首比特。在某些實施例中,一個單一的上下文被用于提供首經(jīng)特的“運行編碼”。如果緊接著將被編碼的1 6個比特全都是首比特并且它們的N、S、E和W相鄰和所有的母體的尾部信息為零,那么將對一個單一的判定進行編碼。這個判定表明將被編碼的16個比特中的任一個是否有一個比特位于當前比特平面處。如果沒有這樣一個比特,那么可以忽略被一般編碼的16個判定。如果下一個16個系數(shù)中的任一個包含有它們的第一個有效比特,則對于每個比特使用一次16個判定。這種“向前看”導(dǎo)致了較少調(diào)用二進制熵編碼器,從而導(dǎo)致了較高的速度和較高的壓縮。
如果該系數(shù)的尾部接通比特是1(用于尾部比特),那么,三個上下文來自該系數(shù)的尾部信息比特)。如在前面的討論的,可以使用固定概率編碼。
如果該系數(shù)的該位是第一個非零幅值比特,那么該系數(shù)的符號比特在此后被立即編碼。與符號比特相關(guān)的上下文是來自N尾部比特和N符號比特的3個上下文,其中,如果N尾部比特是零,則N符號比特是未知的。如果N符號比特是未知的,利用概率0.5對符號進行編碼,否則該符號被自適應(yīng)編碼。
總之,建立了11個比特量以表示來自從同一編碼單元中的當前,相鄰和本源系數(shù)中可以獲得的信息的上下文。
圖26A-D示出了可以用于決定系數(shù)P狀態(tài)的因果和非因果系數(shù)。所以標準框中的每一個包括尾部比特和尾部信息的使用。當每個系數(shù)的尾部比特提供一個比特時,每個系數(shù)的尾部信息包括2個比特。在圖26A中,由標準框提供的比特總數(shù)是8。在圖26B和26C中,由標準框提供的比特總數(shù)是10。
附加比特可被用于決定系數(shù)P首比特的狀態(tài)。在一個實施例中,兩個附加的比特可以規(guī)定比特位置如下00 第一比特(MSB)和第二比特01 第三比特和第四比特10 第五比特和第六比特11 其它比特應(yīng)當注意,可以根據(jù)相鄰和母體系數(shù)來設(shè)計其它的標準框。另外,在一個實施例中,如果不是由比特平面定位的,那么用于決定系數(shù)P的系數(shù)是因果系數(shù)。
在一個實施例中,使用S變換母體而不是使用TS變換母體去決定狀態(tài)。這減少了通過在繼續(xù)為下一個編碼之前保留低通行去決定狀態(tài)所需的緩沖,它的缺點在于熵編碼的編碼器是重要的,而編碼器存貯器是不重要的。
注意,作為在上下文內(nèi)減少數(shù)據(jù)的結(jié)果,在具有更多的上下文去建立更多錯位數(shù)據(jù)和自適應(yīng)效率之間存在著拆衷。
在一個實施例中,那些不需要決定狀態(tài)的尾部比特不被進行(用于決定狀態(tài)的)緩沖。它們可以在被得到之后立即進行編碼。在這種情況下,通道管理器可以直接將所述比特傳送給通道。
在一個實施例中,不以和其它系數(shù)相同的方式對處于最低解壓級的系數(shù)進行編碼或根本不對它們進行編碼,這些系數(shù)可以使用諸如DPCM的預(yù)測編碼進行編碼。
對于尾部編碼比特來講,可以使用一次固定概率或自適應(yīng)。
就狀態(tài)決定而言,最后一個比特可以部份地根據(jù)第二到最后比特來決定狀態(tài)。另外,在第一個非零比特之后的比特可以根據(jù)它們距離第一個非零比特有多遠來決定狀態(tài)。
在一個實施例中,某些尾部比特被自適應(yīng)編碼。例如,當在系數(shù)9例如T=2、T=3)中的尾部比特少于T尾部比特時,就使用自適應(yīng)編碼。與這些比特相關(guān)的上下文包括在當前系數(shù)中的比特位置和任一先前編碼的尾部比特。這類似于Langdon就DPCM數(shù)據(jù)以教導(dǎo)的M進制的中心編碼(the M-ary coding ofcenter)。
在另一個實施例中,某些或全部數(shù)據(jù)都利用M進制的熵編碼器而不使用二進制熵編碼器進行編碼。M進制的編碼器包括Tunstall編碼器、固定霍夫曼編碼器和自適應(yīng)霍夫曼編碼器等。例如,一個霍夫曼編碼可被用于首比特。在另外一個不是同時對首比特和一個比特進行編碼的實施例中,使用優(yōu)先級編碼器來確定第一個非零比特的位置,然后利用二進制熵編碼器對用二進制表示位置的比特進行編碼。水平上下文模型。
本發(fā)明的上下文模型以方框圖的形式示于圖27。上下文模型2700包含有一個符號/幅值單元109(圖2)和三個用于對系數(shù)中的不同比特進行處理的單元。根據(jù)正在被編碼的比特,選擇上述三個單元之一??梢园ㄒ粋€開關(guān)以便于在硬件結(jié)構(gòu)單元中的轉(zhuǎn)換。這些單元包括首比特方框2701,符號比特方框2702和尾部比特方框2703。如上所述,首比特方框2701,符號比特方框2702和尾部比特方框2703分別構(gòu)型首比特、符號和尾部比特。這三個單元的輸出被傳送給熵編碼器104(圖4)。
編碼器包括可選擇控制,用于保留狀態(tài)(可選擇的)、提供最初狀態(tài)和復(fù)位編碼器(例如,在編碼單元結(jié)束處)。
除少數(shù)例外,上面以規(guī)定的上下文使用自適應(yīng)二進制角熵碼器。當N-tail-on=1時的首比特(該系數(shù)的尾部比特=0)和符號比特允許修改。
但是,taril-on=1之后的比特和N-tail-on=0時的符號比特是由一個固定源來構(gòu)型的。在這種情況下,不需要熵編碼器的自適應(yīng)特性。事實上,該自適應(yīng)特性可能是一個效率很差的壓縮源。對于下面的上下文,使用根據(jù)Q-編碼器狀態(tài)所描述的固定(無自適應(yīng))狀態(tài)。統(tǒng)計模型當N-taril-on=0(N系數(shù)的符號是未知的)時,上下文被用于對符號比特進行編碼,并且在固定Q-編碼器狀態(tài)0-概率近似為0.5處對上下文進行編碼。
在固定Q-編碼器狀態(tài)4-概率近似0.7處對第一非零(位P信息=1)比特編碼之后,上下文被用于對第一個二進制值進行編碼。
在固定Q-編碼器狀態(tài)3-概率近似為0.6處對第一個非零比特(尾部信息=2)進行編碼之后,上下文被有于對第二和第三個二進值進行編碼。
在固定Q-編碼器狀態(tài)0-概率近似為0.5處對第一個非零比特(尾部信息=3)進行編碼之后,上下文被用于對第四和以后的二進值進行編碼。
在某些實施例中,在每個編碼單元之后,熵編碼被復(fù)位,所以與允許去修改(例如用于對第一個on-bit之前的二進值進行編碼的)上下文有關(guān)的修改容量是非常重要的。為了保持這個最低容量,可以計算一組初始狀態(tài),以用于來自例如某個數(shù)據(jù)串的這些上下文。
下面的敘述假設(shè)該系數(shù)是18個比特,且數(shù)入數(shù)據(jù)必需經(jīng)過4級解壓。
符號/幅值單元109的一個實施例示于圖28,它被用于將輸入系數(shù)轉(zhuǎn)換成一個符號/幅值格式。符號/幅值單元109被耦合以接收該系數(shù)的18個比特,它包括反相器2801和多路轉(zhuǎn)換器(MUX)2802。符號/幅值單元109輸出(例如是5比特值的)有效指示、(例如是17個比特的)輸入系數(shù)的假設(shè)、輸入系數(shù)1的符號和例如是7個比特的來自計數(shù)器2804的索引。
MUX2802被耦合,以接收直接輸入給符號/幅值單元109的系數(shù)的17個比特和來自兩個反相器2801的17個比特的反相比特。根據(jù)在MUX2802選擇輸入端接收到的符號比特(系數(shù)比特17),兩個輸入端的正值被輸出以作為一個假數(shù))。編碼取舍二進制角錐編碼器被用于上下文和將要被編碼的比特。
對于利用比特平面編碼的比特平面,本發(fā)明使用了(以通用計算機為基礎(chǔ)的)保留進位形式計算,從而使得計算能夠以適于由比特平面快速編碼的數(shù)據(jù)格式進行。例如,在這樣一個執(zhí)行過程中,32個比特處理器可以同時計算在同一個比特平面內(nèi)的32個系數(shù)中每一個的一個比特,而不是全部系數(shù)中的一個。當利用比特平面進行編碼時,使用這樣一個實施例導(dǎo)致速度增加。
由于一個編碼單元同時被編碼且所有編碼單元內(nèi)的系數(shù)都駐留在存貯器內(nèi),所以,除了需要修改二進制熵編碼器以外,就不再需要利用存貯器去存貯上下文信息。例如,Q-編碼器需要保持與以有上下文有關(guān)的LPS(最低有效符號)二進制值以及用于被允許進行修改的每個上下文的當前狀態(tài)。由于Q-編碼器需要30種狀態(tài),所以,對于每個上下文來講需要6個比特(一個比特用于LSB,5個比特用于狀態(tài))。因此存貯器的存貯容量是1024×5=6150個比特。
注意,對于上述一通嵌入實施例來講不需要特殊的信號信息。如果壓縮級數(shù)是可變的,那么就需要至少標題信息的3個比特。沒有被計算在壓縮比特之內(nèi)的用于該實施例的標題如下· 寬度,2字節(jié)· 高度,2字節(jié)· 輸入圖象每個象素的比特,1字節(jié)存貯器管理對于在存貯器中存貯所有數(shù)據(jù)的系統(tǒng)或左通道中發(fā)送數(shù)據(jù)的系統(tǒng)來講,存在有關(guān)于在一通系統(tǒng)中編碼數(shù)據(jù)的存貯器管理問題。在一通系統(tǒng)中,編碼數(shù)據(jù)必需被存貯以使其能夠以嵌入因果方式被訪問,從而使得可以在不損失較高有效數(shù)據(jù)的情況下丟掉一些較低有效數(shù)據(jù)。由于編碼數(shù)據(jù)的長度是可變的,所以可以使用動態(tài)存貯器分配。
在本發(fā)明的一個實施例中,嵌入編碼方式使用18個比特平面,由此給數(shù)據(jù)指定18個有效級。一通系統(tǒng)中的順序是“嵌入因果關(guān)系”,即,對與一個比特平面相對應(yīng)的事件進行介碼不需要來自低順序比特平面的信息。在一個實施例中,在下一個樹的任一比特被編碼之前,來自該樹的所有比特被進行編碼,所以,不同有效級的比特不會被分開。對于那些不使用內(nèi)部狀態(tài)的編碼器而言,與霍夫曼編碼器類似,這不是問題。但是許多具有更好壓縮的復(fù)雜壓縮使用內(nèi)部狀態(tài)。
解決與這些編碼器相關(guān)的這個問題的途徑之一是使用18種不同的編碼器、設(shè)想是18個Q-編碼器芯片。在1992年3月17日授權(quán)的、發(fā)明名稱為“用于在記錄媒體上進行記錄的數(shù)據(jù)壓縮”的美國專利5,097,261(langdon)中描述了一種允許使用9個Q-編輯器芯片的技術(shù)。一種校好的方式是使用流水線編碼器利用諸如在1995年1月10日援權(quán)的、發(fā)明名稱為“用于數(shù)據(jù)并行介碼和編碼的方法和裝置”的美國專利5,381,145中描述的那種單一的實際編碼器執(zhí)行不同的虛擬編碼。在這種編碼器中,與每一個概率相關(guān)的多個比特產(chǎn)生器狀態(tài)中的每一個被指定給一部份數(shù)據(jù)。例如,18個狀態(tài)中的每一個被指定給與18個比特數(shù)據(jù)相關(guān)的特殊比特平面。在該編碼器中移位器內(nèi)的寄存器也被指定給每一部份數(shù)據(jù)。在該編碼器中,不執(zhí)行重疊,每一部份數(shù)據(jù)被簡單地構(gòu)成一個比特信息包。
在多個實際或虛擬編碼器中任一種的實施例中,存貯器被分配給每一部份數(shù)據(jù)。當壓縮完成時,得到一個表示所分配的存貯器以及所分配存貯內(nèi)容的一個鍵接表。
如果存貯器過溢,則存貯器分配程序安排使得比較重要的數(shù)據(jù)去重寫不太重要的數(shù)據(jù)。例如,一個數(shù)字數(shù)據(jù)的最低有效位可能被首先重寫。除了編碼數(shù)據(jù)以外,描述有多少存貯器波分配的信息也必須被存貯起來。
圖29示出了與三種有效級相關(guān)的動態(tài)存貯器分配單元的例子。為了避免使本發(fā)明難于理解,僅描述了三級,通過使用較大數(shù)量的級,諸如8,16或18級。寄存器文件(或其它存貯器)保持一個與第一有效級相關(guān)的指針,并保持一個用于指示下一自由存貯區(qū)分配的指針。該存貯器被分成固定尺寸的頁。
最初,指定給有效級的每一指針指示存貯器一頁的開始,而自由指針指示可以獲得的下一個存貯器頁。利用有效級識別的編碼數(shù)據(jù)被存貯在由相應(yīng)指針尋址的存貯器單元內(nèi)。然后指針增加到下一個存貯單元。
當指針到達與當前頁相關(guān)的最大值時,作為一個鍵接利用當前頁存貯在自由指針內(nèi)的下一個自由頁的起始地址。在一個實施例中,為此目的使用了一部份編碼數(shù)據(jù)存貯器或隔離存貯器或寄存器文件。當前指針被置于下一個自由頁。增加自由指針。這些步驟使得一個新的存貯器頁被分配給一個特定的有效級并提供對含有與公共有效級相關(guān)的數(shù)據(jù)的存貯器頁的鍵接,從而使得可以在解碼期間確定分配順序。
當存貯器內(nèi)的所有頁都處于使用之中,且存在有比存貯器內(nèi)最低有效數(shù)據(jù)更加有效的數(shù)據(jù)時,執(zhí)行存貯器的重新賦值。描述了三種這樣的賦值技術(shù)。在所有這三種情況下,指定給最低有效數(shù)據(jù)的存貯器被重新指定給較多有效數(shù)據(jù)并不再存貯更低的有效數(shù)據(jù)。
首先,最低有效數(shù)據(jù)當前正在使用的頁被簡單地指定給較高有效位的數(shù)據(jù)。由于最典型的熵編碼器使用初始狀態(tài)信息,所以在那一頁事先存貯的所有最低有效數(shù)據(jù)都被丟失了。
其次,最低有效數(shù)據(jù)當前正在使用的頁被指定給較高有效數(shù)據(jù),和先前情況不同,指針被置于該頁的末端,并且當較高有效數(shù)據(jù)被寫入該頁時,相應(yīng)的指針被減少。這有一個優(yōu)點,就是如果較高有效數(shù)據(jù)并不需要整個頁的話,那么就在該頁的開始處預(yù)先保留了最低有效數(shù)據(jù)。
第三,代替正在被重新指定最低有效數(shù)據(jù)的當前頁,可以重新指定最低有效數(shù)據(jù)的任一頁。這需要對與所有頁相關(guān)的編碼數(shù)據(jù)獨立編碼,這可以減少所實現(xiàn)的壓縮。它還需要識別與所有頁的起點相對應(yīng)的未編碼數(shù)據(jù)。由于最低有效數(shù)據(jù)的任一頁都可以被丟掉,所以可以在量化過程中獲得較大的靈活性。
在整個圖象區(qū)域內(nèi)實現(xiàn)固定壓縮速率的系統(tǒng)中,第三種方法可能是最具吸引力的。規(guī)定數(shù)量的存貯器頁可以被分配給圖象的一個區(qū)域。較低有效數(shù)據(jù)是否保留取決于在一個特定區(qū)域內(nèi)實現(xiàn)的壓縮。注意,如果無損耗壓縮需要的存貯數(shù)量少于指定的存貯數(shù)量,那么指定給一個區(qū)域的存貯器不可能全部被利用。在圖象區(qū)域上實現(xiàn)固定速率的壓縮能夠支持對圖象區(qū)的隨機存取。
當壓縮完成時,如果需要的話,可以按照有效的順序?qū)?shù)據(jù)傳送給一個通道或存貯器設(shè)備。各種鍵接和指針都得將不再需要,并且執(zhí)行多通譯碼。另外,對于一通譯碼來講,可以保持到與每個有效級相關(guān)的數(shù)據(jù)的指針。
在某些應(yīng)用中,不可能使用某些有效級。例如,一個16比特的壓縮器可以被用于一個12比特的醫(yī)學(xué)圖象,這樣,與比特平面15···12相對應(yīng)的有效級將不被使用。在具有大頁和很多未使用有效級的情況下,由于不必將存貯器分配給它們,所以(當該系統(tǒng)事先不知道某些級未被使用時)將造成存貯器的浪費。另外一種解決這個存貯器浪費的方法是使用一個小的存貯器(或寄存器)去保持與每個有效級相關(guān)的計數(shù)。該計數(shù)將對在任何其它判定發(fā)生以前發(fā)生的“無效”判定的數(shù)量進行跟蹤。相對于由未被使用有效級所使用的存貯器,存貯這些計數(shù)所需的存貯器必須被折衷選擇。
把數(shù)據(jù)從兩端寫入到每一頁的能力可被用于更好地利用在系統(tǒng)中可以獲得的存貯器總量。當所有的頁都被進行了分配時,在末端處具有足夠自由空間的任一頁被可以被分配以從其末端開始加以應(yīng)用。對于保持跟蹤能夠滿足兩頁數(shù)據(jù)的存貯單元的容量來講,使用一頁兩末端的能力必須平衡。注意,這不同于數(shù)據(jù)類型之一是無效的并應(yīng)簡單地加以重寫的情況。改進在一個實施例中,本發(fā)明提供了一種使用較小存貯緩沖器的無損耗壓縮。本發(fā)明能夠保留很多不同的應(yīng)用和設(shè)備環(huán)境。下面描述的技術(shù)所完成的各種特性可以使本發(fā)明的系統(tǒng)對于不同的應(yīng)用和目標設(shè)備變得更加靈活。注意,對于本發(fā)明來講,不必在編碼時對分解率、象素深度、隨機存取和量化等作出選擇。數(shù)據(jù)排列關(guān)于數(shù)據(jù)排列,就利用本發(fā)明的系統(tǒng)對圖象和系數(shù)數(shù)據(jù)進行排列方面可有一定數(shù)量的選擇。如在下面將要詳細描述的,這種選擇包括(不作為對本發(fā)明的限制)編碼單元的拼接、解壓級的數(shù)量、子波變換濾波器的選擇以及系數(shù)的校準。照此,這些中的每一個都應(yīng)當是用戶或系統(tǒng)設(shè)計者控制的參數(shù)。
如上所述,一個參數(shù)可以是編碼單元的拼裝。根據(jù)本發(fā)明的樹來規(guī)定所述編碼單元的高度和寬度。對于隨機存取而言,與每個編碼單元有關(guān)的編碼數(shù)據(jù)的起點可由代碼流中的指針或標記符或標題中的指針來指定。這將允許對不是圖象寬度的方框進行存取。
另外一個可以被控制的參數(shù)是解壓級的數(shù)量。根據(jù)較多的解壓級數(shù)可以導(dǎo)致較好壓縮這樣一個事實,改變解壓級的數(shù)量就是改變了壓縮性能。注意,當較多的級需要較多的行緩沖器時,解壓級數(shù)的變化也會影響存貯器的要求。對于企圖達到低于全分辨率的分辨率來講,可能需要較多的級。例如,如果原始圖象是2000dpi,那么就需要5級解壓去實現(xiàn)的62dpi。這允許在沒有解壓和子取樣的情況下在一個監(jiān)視器上進行接近實際尺寸的將被顯示的高分辨率掃描。
用于在每一級中水平和垂直通過的子波變換濾波器的類型也是不同的。這允許不同的存貯器要求和壓縮性能。注意,系數(shù)的尺寸不隨級數(shù)的增加而增加。另外,由于子波變換是一個順序N變換,并且當級數(shù)增加時只有少量的數(shù)據(jù)被變換,所以,多于較多級來講只有少量的計算量。用于嵌入代碼流的目標設(shè)備對于一個特定的壓縮代碼流來講,可能有很多應(yīng)用目標??梢灾竿羞@樣一個代碼流,它可以利用較低的分辨率和全象素深度被傳送給監(jiān)視器,還可以指望有這樣一個指針,它具有全分辨率和較低的象素深度,另外,可以指望一個具有有限通道的固定速率實時設(shè)備或固定尺寸的有限存貯器設(shè)備??赡苄枰嗤拇a流以保留以有這些需要。圖34概括地示出了一個單一應(yīng)用可以服務(wù)的相關(guān)設(shè)備特性。變換成譯碼代碼流分析程序編碼和解碼器具有足夠速度并具有足夠帶寬的本發(fā)明的系統(tǒng)能夠從解壓后的圖象中提取所需的數(shù)據(jù)。另外,編碼器可以建立一個供上述設(shè)備中一個設(shè)備使用的代碼流。在編碼器處,一個圖象可被以傳統(tǒng)方式進行量化或下取樣。
但是,本發(fā)明的優(yōu)點在于對于上述在一設(shè)備來講,不必解壓就可以在變換和解碼之前建立起一個可被分析的代碼流。這種分析程序示于圖35A和B。參看圖35A,分析程度方框3501接收無損耗比特流量并產(chǎn)生有損耗比特流。參看圖35B,分析程序方框3502接收有損耗比特流,并產(chǎn)生另一個有損耗比特流。但是,圖35B所示輸出和輸入之間的關(guān)系表明本發(fā)明具有等冪關(guān)系,這在后面祥要祥述。注意,在分析程序方框3501和3502的情況下,作為輸入所接收的數(shù)據(jù)比特速率大于正在被輸出的數(shù)據(jù)比特速率。低分辨率、高象素深度的嵌入目標如果一個目標是一個低分辨率、高象素深度的嵌入目標,那么這種應(yīng)用假設(shè)該目標設(shè)備所具有的空間分辨率低于可以獲得但需要全象素深度的目標設(shè)備。監(jiān)視器是低分辨率、高象素深度嵌入目標的例子。使用圖24A所示的代碼流,在需要時一比特平面被譯碼以用作較高級系數(shù)。這要求分析程序樣每一個比特平面截短。為協(xié)助該分析程序,每個編碼單元的每個比特平面都具有表明可以發(fā)生截短的位置的標記符或指針。在這種實施例中,如果需要一個以上的目標分辨率,那么就需要多個標記符或指針。比特平面被進行單獨編碼,所以,熵編碼器可以被復(fù)位以用于下一個比特平面。
另一種途徑是嵌入諸如圖24B所示的不同數(shù)據(jù)。參看圖24B,每個編碼單元內(nèi)的目標分辨率系數(shù)在剩余高分辨率系數(shù)之前被首先編碼。在這種情況下,每個編碼單元僅需要一個截斷且熵編碼器不再需復(fù)位。標記符或指針可以表示所希望的截斷點。高分辨率、低象素深度嵌入目標如果一個目標是一個高分辨率、低象素深度的嵌入目標,那么這個應(yīng)用假定該目標設(shè)備需要可以獲得的全部分辨率,特別是它不能使用全象素深度。高分辨率、低象素深度嵌入目標的例子包括低檔打印機和標準的監(jiān)視器(當圖象是高于每個平面8比特時)。圖24A所示的代碼流是按著這個順序嵌入的、每個編碼單元在正確數(shù)量比特平面的一個點處被截斷,并根據(jù)量化系數(shù)執(zhí)行變換。在系數(shù)深度和象素深度之間具有直接的關(guān)系。標記符或指針可以表示所希望的截斷點。
另外,如果代碼流被如圖24B所示的嵌入,那么就要使用兩個標記符或指針去表示截斷,一個用于表示低分辨率比特平面,一個用于表示高分辨率比特平面。兩組比特平面被獨立編碼的允許熵編碼器被復(fù)位。
另一種辦法就是為根據(jù)低分辨率、高象素深度嵌入目標所述的對部份或所有低分辨率系數(shù)進行解碼和對來自高分辨率系數(shù)的某些可能的數(shù)據(jù)進行介碼。然后如下所述地執(zhí)行插值子波變換。固定速率嵌入目標如果該目標是一個固定速率嵌入目標,這個應(yīng)用假設(shè)在使用約束通道的同時,必需保持實時恒定象素輸出。在這種情況下,在適當?shù)臅r刻(最小壓縮速率)就會局部地具有某個最大代碼流數(shù)據(jù)速率。為了實現(xiàn)這個目的,首先根據(jù)在目標設(shè)備中可以得到的緩沖器的數(shù)量選擇編碼單元。這規(guī)定了一個局部區(qū)域在此區(qū)域上可以實現(xiàn)平均壓縮速率。然后具有多于允許數(shù)據(jù)的每一編碼單元被截斷。
注意,如果代碼流數(shù)據(jù)速率不超過最大通道代寬,那么圖象被無損耗的復(fù)原。這并不適用于任一其它固定速率系統(tǒng)。固定尺寸嵌入目標如果該目標是一個固定尺寸嵌入目標,那么這個應(yīng)用假設(shè)壓縮圖象數(shù)據(jù)可以獲得固定尺寸的幀緩沖器。與固定速率應(yīng)用不同,這需要在整個圖象上、而不是局部上平均的最小壓縮速率。當然,這是可以使用固定速率方法,但所使用的平均這個概念是整體而不是局部的,由此可以得到更好的比特分配和圖象質(zhì)量。
在含有整個圖象的編碼單元中,截斷緩沖器的過溢數(shù)據(jù)是不重要的。如果編碼單元少于整個圖象并且所有的編碼單元都被截短成相同數(shù)量的比特,那么就不能保證這個截斷唯一地刪除了最不重要的級。一個簡單的方法就是在記錄時間(或后邊的分析時間)處記錄下編碼比特的數(shù)量,每一個重要的級都將這些數(shù)量分配給與每一編碼單元、全局編址首部或二者有關(guān)的代碼流。該記錄可使用一簡單的計數(shù)器進行。這些數(shù)量被記錄在標題段并能被用于決定在變換或存貯時如何去截斷每一個編碼單元。標題含有一個重要級和它的相應(yīng)比特數(shù)量。標題還可以包含與每個包含在所述代碼流中的編碼單元相關(guān)的這個信息。當決定在什么地方截斷時,在每個編碼單元上執(zhí)行的效果是相同的。例如,如果由于存貯器限制,它決定丟棄一個或1/2個重要級, 那么來自每個編碼單元的一個或1/2重要級將被丟棄。這就允許以唯一的方式在編碼單元的兩端執(zhí)行截斷。
在編碼時間實現(xiàn)固定尺寸壓縮的圖象。存貯器被合成用于多個重要級的多個段。如果存貯器將要過溢,那么利用較重要的數(shù)據(jù)重寫不必太重要的數(shù)據(jù)。
注意,如果壓縮數(shù)據(jù)沒有溢出存貯緩沖器,那么將無損耗地復(fù)原所述圖象。這不同于其它任何固定尺寸系統(tǒng)。利用子波變換插入子波可被用于將圖象插入到較高的分辨率中。和雙三次樣條技術(shù)(bi-Cubic Speie)相比較其結(jié)果是相當明顯的。如果壓縮數(shù)據(jù)已處于子波系數(shù)的形式,那么,與插入相關(guān)的有效附加計算少于雙三次樣條。
可以獲得N級所有系數(shù)都被解壓的圖象。通過填入零或某些其它的方法建立一個新的最低有效級,然后執(zhí)行N+1級子波重新,可以獲得原始圖象2∶1插入方案的一個新圖象。
這種方法也可被該系統(tǒng)所使用,在該系統(tǒng)中,有多個目標設(shè)備,用于嵌入代碼流,特別是用于高分辨率,低象素深度的目標設(shè)備。編碼單元被截短,因此僅具有低分辨率系數(shù)(或僅具有低分辨率系數(shù)或少數(shù)幾個比特的某些或全部高分辨率系數(shù))。該系數(shù)被裝入較高分辨率并執(zhí)行重建。使用通道在一個數(shù)據(jù)在通道內(nèi)傳送而不是存貯在存貯器中并且使用存貯器固定尺寸頁(但每個有效級僅需要一頁)的系統(tǒng)中,當存貯器的頁是滿的時,數(shù)據(jù)在通道內(nèi)被傳送,并且數(shù)據(jù)一旦被傳送,存貯器單元就可被重新使用。在某些應(yīng)用中,存貯器的頁尺寸可以是通道中使用的數(shù)據(jù)信息包的尺寸,也可以是信息包的尺寸的倍數(shù)。
在某些通信系統(tǒng)中,例如在ATM(異步傳輸模式)的通信系統(tǒng)中,可以將優(yōu)先權(quán)指定給信息包。ATM具有兩個優(yōu)先級主要和次要。如果可以獲得足夠的帶寬,僅傳送次要信息包。一個閥值可被用于確定哪一個有效級是主要的,哪個是次要的。另外一種方法是使用一個位于解碼器內(nèi)的閾值不去傳送其有效級低于該閾值的有效級。
由此,本發(fā)明存貯管理器的一個實施例控制在固定尺寸存貯器內(nèi)壓縮數(shù)據(jù)的存貯。即存貯管理器將壓縮數(shù)據(jù)分成不重要程度的級。當存貯器被充滿時,利用比較重要的數(shù)據(jù)去覆蓋不太重要的數(shù)據(jù)。
為了管理使用有限量緩沖存貯器(例如,固定速率)的通道,在本發(fā)明的一個實施例中,如果可以獲得足夠的帶寬,所有的數(shù)據(jù)都將被傳送,否則丟掉不太重要的數(shù)據(jù)并僅傳送比較重要的數(shù)據(jù)。
圖30示出了一個使用通道管理器的系統(tǒng)。參看圖30,子波變換3001產(chǎn)生多個系數(shù)。這些系數(shù)承受上下文模型3002的處理。上下文模型3002被耦合到包括緩沖存儲器的通道管理器3003。通道管理器3003被耦合到有限帶寬通道3004。
通道管理器3003控制數(shù)據(jù)向通道3004輸出的速度。當其緩沖存貯器接收到數(shù)據(jù)時,通道管理器3003確定數(shù)據(jù)量是否大于通道3004的帶寬。如果該數(shù)據(jù)量不大于所述帶寬,則通道管理器3003輸出所有的數(shù)據(jù)。另一方面,若緩沖存貯器接收的數(shù)據(jù)量大于所述通道帶寬,那么通道管理器3003丟掉其緩沖存貯器內(nèi)的信息,從而與通道3004的帶寬相匹配。
通道3004將它的帶寬表示給通道管理器3003。在另一個實施例中,通道管理器3003可以根據(jù)通過通道3004傳送預(yù)定數(shù)據(jù)單元(例如信息包)時占據(jù)通道3004的時間量來動態(tài)地確定通道3004的帶寬。即,如果需要,該帶寬可作動態(tài)處理。
在一個實施例中,通道管理器3003基于被分成多個塊(taile)(或頻帶)的一個圖進行工作。即和其中分塊(tiling)和重要性稍微相互有些獨立的固定尺寸存貯管理器相比較,這是一個“在重要程度上塊優(yōu)先”的方案。每個塊被單獨編碼,并被分成重要級和固定尺寸頁。因此,與每個塊相關(guān)的所有編碼數(shù)據(jù)都被一起分組。每個塊中的編碼數(shù)據(jù)都被加有重要級的標記。
在一個實施例中,通道管理器3403中的緩沖存貯器是通道信息包尺寸的至少兩倍(或約三倍)并且對于一個塊來講,該倍數(shù)(可能是4倍)大于所期望壓縮數(shù)據(jù)的尺寸。
緩沖存儲器的固定的最大量被指定給一個塊。該最大量與該通道的帶寬相匹配。緩沖存貯器被分成固定尺寸段,并在需要時加以分配。若存貯器占用達到了能夠允許的最大值,這些段如在固定尺寸存貯器系統(tǒng)中的管理一樣被重新指定。
圖31示出了緩沖存儲器占用的一個例子。參看圖31,環(huán)形緩沖存儲器具有多個被分成用于通道輸入/輸出的多個固定尺寸信息包3102的固定尺寸段3101。如所示,不同的數(shù)據(jù)塊可以占用存貯器的相同數(shù)據(jù)色。在一個實施例中,不同的塊表示不同的重要級。當使用緩沖器空間的信息包尺寸量時,通道管理器3103將輸出數(shù)據(jù)的上下文模型指示給通道3104(圖30)。如所示,塊N-2和塊N-1的一部份將作為當前信息包而被輸出。由此,存貯器的信息包尺寸量被分配和保存,以和通道的帶寬相匹配。
若緩沖器沒有被充滿,多余的存貯器可被用于未來的塊、在一個實施例中,為了在對于一個與下一信息組相對的壓縮區(qū)域來講是很困難的起點處避免明顯的塊邊界,下一個塊僅使用了剩余存貯器的某些部份(1/2,1/3等)。
在數(shù)據(jù)只能在某個時間周期內(nèi)進行傳送的場合可以使用本發(fā)明的通道管理器。使用這種通道管理器,由于數(shù)據(jù)是在其重要性的基礎(chǔ)上被嵌入的,數(shù)據(jù)傳送是在考慮到復(fù)雜性的時間周期內(nèi)發(fā)生的。通道管理器的另一實施例本發(fā)明通道管理器的一個目的就是要使用最小存貯器。在一個實施例中,通道管理器不包含緩沖存儲器,下述內(nèi)容可被使用與每個編碼單元相關(guān)的,與每個比特平面相關(guān)的,與每個頻率相關(guān)的,與每個空間單元相關(guān)的。
在一個實施例中,在每個頻帶的起點,編碼器被復(fù)位(或被置成公知狀態(tài))。在一個實施例中,如果需要減少頻帶存貯器,那么該頻帶包括與四級介壓相關(guān)的16行。
圖32示出了使用上述方法的比特流。參看圖32,比特流被分成作為通道信息包的固定尺寸段,盤扇區(qū)等是用于該通道的緩沖器的適當量。注意,該判定可以不多于編碼期間的邏輯判定。如果需要,編碼器可以不使用緩沖而輸出。每個固定尺寸段包括該段中最重要數(shù)據(jù)的一個指示。
圖33示出了一個段的結(jié)構(gòu)。參看圖33,與每個段相關(guān)的比特位包括,編碼數(shù)據(jù)3301,運行指針或ID3302以及該段中最重要數(shù)據(jù)3303。在一個實施例中,比特段3303包括2到5個比特。如果最重要級為0(最重要的一個),那么, 緊跟在該段最后M比特的一個指針,它告訴級0的數(shù)據(jù)在該段的哪個位置開始。注意,數(shù)據(jù)的第一段可能都是編碼數(shù)據(jù),因而就不再需要額外的開銷。
類似于在JPEG標準中所使用的,可以利用再開始標記來識別與每個頻帶相關(guān)的起點。但是,所使用的標記是那些在編碼期間最不經(jīng)常發(fā)生的符號。
現(xiàn)在再來考慮圖31。假設(shè)僅對那些重要級(恐怕僅是最重要級)進行介壓。介壓從第一段開始。對于第二段,檢查“在段中最重要數(shù)據(jù)的級”并且恐怕在該段中包括的最重要級低于正在被介壓的級的整個段都可以被跳過。對于第三段,指針被用于獲得頻帶2的起點,并可以開始對頻帶2進行介壓。
注意,為了保證能夠獲得該段中所有的最有效數(shù)據(jù),可以要求對整個段進行介壓。特別是當一個以上的頻帶落入在該段之中的時候。
通過有選擇地僅對預(yù)定數(shù)量的有效頻帶進行介壓,可以獲得一個予展圖象。當數(shù)據(jù)處于嵌入形式并需要無損耗數(shù)據(jù)的有損耗版本時,這可能是個優(yōu)點。
根據(jù)所要求的存取和量化可能性以及對整個頻帶解壓所需時間是否是重要的,在該段末端處可選指針或ID包含·用于固定尺寸存貯器管理的下一段指針。
·與該段有關(guān)的一個ID或被包含頻帶的ID(支持通道量化,例如用于表示段2是否被忽略)。
·與該段包含數(shù)據(jù)相關(guān)的不同頻帶的數(shù)量(或者用于表示含有多于兩個段的頻帶的至少一個比特1。
與512×16象素的頻帶相關(guān)的附加開銷的例子是具有2∶1無損耗壓縮的8比特圖象以及512個字節(jié)的段尺寸。注意,一個頻帶通常被壓縮成8個段。對于重要級來講,使用5個比特特征。假設(shè)指針處于字節(jié)邊界上,則使用9比特指針。因此,共有占總數(shù)0.15%的49個加比特時(32K壓縮位+49)。近似無損耗近似無損耗的一個概念就是在重建象素值的過程中以絕對誤差為基礎(chǔ)。因此,在具有絕對誤差為1自勺近似無損耗壓縮圖象中,可以保證在該介壓圖象中的象素值與原始值的差異不會多于象素值的一個單元。這是一個與圖象的象素深度和動態(tài)范圍無關(guān)的絕對限定。在某些適當?shù)募僭O(shè)之下,對這樣一個系統(tǒng)明顯的和最佳的是保持壓縮/介壓部份的無損耗并使用一個預(yù)處理和后處理方案去實現(xiàn)近似無損耗在這個執(zhí)行方案中采取了這種方法。
通過把每個2e+1連續(xù)整數(shù)變換成它們的中值整數(shù)這樣一種量化方法來實現(xiàn)具有絕對誤差為e的近似無損耗圖象。假如,誤差等于3,象素值被量化,0到6被變換成3,7到13被變換到10等等。量化圖象本身不適宜以變換為基礎(chǔ)的系統(tǒng)。因此,它被逯一地(無損耗)變換成被稱之為淺圖象的較低動態(tài)范圍或深度的圖象、這是通過把所述中值(代表值)變換成保持所述順序的連續(xù)整數(shù)進行的。數(shù)學(xué)上給出的象素值X被量化成g(x)=( +1)e把代表值逐一變換成淺圖象值是P(x)=- 把線圖象值變換成代表值的相反逐一變換是P-1(x)=e·(x+1)
在所淺圖象值(p(x))進行變換之前的量化(q(x))是預(yù)處理操作,這個操作進行無損耗壓縮。從淺圖象值到代表值的變換形成了后處理操作,該操作遵循無損耗解壓。
可以使用變換域量化。通過多級變換,很多系數(shù)會受到峰值誤差擴散的影響,很容易確定峰值誤差對于那些沒有“孩子”的高通濾波系數(shù)的影響。
下面來考慮一個將要利用最大峰值誤差±2E進行編碼的一維信號。它可以通過把最細微的高通系數(shù)量化成±2E來實現(xiàn)。對于兩維信號來講,由于應(yīng)用于兩個高通濾波器,所以,最細微的HH系數(shù)可以被量化成±4E。
使用輸入圖象量化的另一方面是控制對熵編碼器的判定。一個例子如下對于每個系數(shù)來講,如果把該系數(shù)設(shè)置為零不會使在受那個系數(shù)影響的任一象素中的誤差超過最大誤差,則該系數(shù)被設(shè)置為零。在某些執(zhí)行過程中,只有一些特定的系數(shù),恐怕只有那些沒有“子”的AC系數(shù)才會被進行測試。系數(shù)可以被認為具有其中每次只考慮一個的渴望(greedy)策略。另外一些策略考慮把系數(shù)分成多個小組且將該組最大可能的子集選擇為零。
如上所述,通過嵌入功能實現(xiàn)量化并使其最佳化,從而使其能根據(jù)諸如RMSE的量化量度標準使其性能最佳。在一個實施例中,執(zhí)行各種系數(shù)的量化,以根據(jù)人類可視系統(tǒng)改進其結(jié)果。在這種情況下,需要對嵌入方案作少量改動。例如,通過乘以因數(shù)2使系數(shù)移位從而改變他們之間的關(guān)系的(或表示在諸如灰度碼的不同類型計數(shù)系統(tǒng)中的數(shù)量。
本發(fā)明的壓縮子波系統(tǒng)在圖象編輯期間是非常有用的。在現(xiàn)有技術(shù)中,針對全分辨率打印圖象的應(yīng)用圖象處理功能是非常耗時的并使交互處理非常困難。
在一個實施例中,如果一個圖象編輯系統(tǒng)保存了一些被壓縮的塊,那么它將非常迅速地對標度表示執(zhí)行一個操作(非常低通)以使用戶進行評價。由于只需要根據(jù)所顯示的象素進行操作,所以這可以很迅速地加以執(zhí)行。由于實際上的全分辨率象素影響輸出,所以這只是一個近似的最后結(jié)果。因此,用戶應(yīng)迅速將攝像機移到該圖象的各個部份(恐怕是某些電文)。如果用戶這樣作了,那么圖象編輯系統(tǒng)將施加一個操作給圖象的那一部份。為便于此,要存貯一個樹,該樹包含有壓縮系數(shù)和信息,將對該信息進行處理操作且該信息還將被使用。
在一個實施例中,重新規(guī)定重要級以允許在規(guī)定的窗口內(nèi)執(zhí)行無損耗壓縮,而有損耗壓縮用于其余的圖象。所述窗口是由用戶固定或選擇的。應(yīng)當有不同重要程度的多個窗口。在一個實施例中,盡管即使是對于兩象素級也可能具有更好的具體值,但所述窗口只有48×48個字區(qū)那么大。
有關(guān)該點的可能用途是衛(wèi)星成象。其中,衛(wèi)星使用數(shù)據(jù)方面的無損耗窗口,所以利用JPEG人工制品不會使統(tǒng)計研究陷入困難,但有損耗壓縮允許比利用無損耗壓縮所能達到的更寬的領(lǐng)域。
在一個實施例中,用戶在一個圖象上給出一個任意的邏輯框,并規(guī)定在該邏輯框內(nèi)數(shù)據(jù)的相對重要程度,一旦這個邏輯框被繪出,軟件就增加該邏輯框的尺寸,使其增大到滿足所需約束的最小尺寸,且該最小尺寸包含用戶邏輯框。文件標題將包含有關(guān)所使用邏輯框的信息和重復(fù)程度的信息。當開始進行編碼和譯碼時,編碼器和譯碼器將對重要邏輯框中的系數(shù)提供更多的分辨率。對于衛(wèi)星成像的情況,重要窗口可能要被預(yù)先規(guī)定。冪等運算對于無損耗壓縮器來講,通常一個重要的運算是DCDCI=DCI,其中I是圖象,C是壓縮運算指令,D是介壓運算指令。在本發(fā)明中,當數(shù)據(jù)被壓縮成X比特而后被介壓時,它們將能夠被重新壓縮成X比特并且有原來的X比特。對于嵌入系統(tǒng)存在有一個非常好的冪等方案。在一個實施例中,一個被壓縮成X比特而后被介壓再被重新壓縮成Y比特(Y<X)的圖象和該原始圖象被壓縮成Y比特相同。
由于壓縮和處理使圖象從原始圖象漂移,可以這一點是非常重要的。如果壓縮器是冪等的,那么,多個有損耗壓縮的介壓周期就不會影響數(shù)據(jù)。在本發(fā)明中,有多少次數(shù)據(jù)以相同的速率被壓縮和介壓是無關(guān)緊要的。另外,對需要進一步量化的分析程序的有損耗輸入所產(chǎn)生的結(jié)果與使用無損耗輸入的結(jié)果相同。因此本發(fā)明包括以變換為基礎(chǔ)的等冪系統(tǒng),該系統(tǒng)包括一個子波變換,一個上下文模型、一個熵編碼器,所以,系數(shù)被按順序描述和存貯,因此,刪除信息不能改變與當前系數(shù)有關(guān)的描述。應(yīng)用本發(fā)明具有一定數(shù)量的用途,其中的一些作為例子在下面描述。特別是一些具有高分辨率和深象素的尖端應(yīng)用和某些人工所不能及的應(yīng)用使用本發(fā)明。本發(fā)明可以在具有更加有限的帶寬、數(shù)據(jù)存貯和顯示能力的應(yīng)用也可以使用相同壓縮數(shù)據(jù)的同時,使尖端應(yīng)用保持高質(zhì)量環(huán)境中的最高質(zhì)量。這是一種獨立存在、通常為諸如粗略瀏覽(web browser)等現(xiàn)代成像應(yīng)用所需的設(shè)備。
對于醫(yī)學(xué)成象來講,本發(fā)明在深象素圖象(每象素10個比特到16個比特)方面的優(yōu)良的無損耗壓縮性能是很理想的。除無損耗壓縮以外,本發(fā)明是一個純的有損耗壓縮器,沒有如以信息組為基礎(chǔ)的壓縮器那樣很多的人工仿真。使用本發(fā)明得到的有損耗人工仿真往往沿著形狀的緣,在這里,它們經(jīng)常被人關(guān)于視系統(tǒng)的可視掩膜現(xiàn)象掩蔽起來。
本發(fā)明可以被用于予壓(pre-press)生產(chǎn)中,在這種生產(chǎn)中,圖象往往具有非常高的分辨率和很高的象素深度。利用本發(fā)明的角錐解壓,一個予壓操作員很容易根據(jù)圖象的較低分辨率有損耗方案(在監(jiān)視器上)執(zhí)行圖象的處理操作。當滿足某些條件時一可以根據(jù)無損耗方案執(zhí)行某些操作。
本發(fā)明還應(yīng)用于電報傳真中,其中沒有壓縮情況下需要的變換時間太長。本發(fā)明允許利用不同的空間和象素分辨率從傳真機中輸出非常好的圖象。由于在這種情況下傳送時間是非常重要的,所以,本發(fā)明的插入特性是很有用的。
本發(fā)明可以用于需要壓縮的圖象檔案系統(tǒng)中,以特別用于增加存貯容量。由于該系統(tǒng)可以被在帶寬、存貯及顯示方面具有不同資源的系統(tǒng)所訪問,所以本發(fā)明的設(shè)備單獨輸出是很有用的。另外,本發(fā)明的順序傳送能力對于瀏覽是很有用的。最后,利用本發(fā)明可以提供圖象擋案系統(tǒng)中輸出設(shè)備所需的無損耗壓縮。
本發(fā)明無損耗或高質(zhì)量有損耗數(shù)據(jù)流中分級順序特性使其能夠很理想地用于worl wide web/特別是用于設(shè)備獨立性、順序傳送、高質(zhì)量和公開標準必不可少的場合。
本發(fā)明可用于衛(wèi)星圖象,特別是那些深象素高分辨率的圖象。另外,衛(wèi)星成像具有有限帶寬的通道。本發(fā)明允許靈活性,并且當利用它的順序傳送質(zhì)量時,它可以允許人去瀏覽和預(yù)先觀看。
如果該有用頻帶溢出則諸如ATM網(wǎng)絡(luò)的“固定速率”的被限的帶寬應(yīng)用需要減少數(shù)據(jù)的方式。但是,如果存在有足夠的帶寬(或壓縮是足夠地高)時則不存在質(zhì)量惡化。反之,如果該存貯器已裝滿則在計算機和其它成象裝置中所存貯的如象有限存貯器幀所應(yīng)用的“固定尺寸”需要減少數(shù)據(jù)的方式。再一次,對于可無損耗地被壓縮進入正確存貯器數(shù)的圖象將沒有惡化。
本發(fā)明的被嵌入的代碼流適用于這種應(yīng)用。對于一有損耗圖象的傳送或存貯來說,該嵌入含蓄的允許該代碼流被調(diào)整或被舍位。如果無需調(diào)整或舍位,則該圖象達到無損耗。
總之,本發(fā)明提供了一種單一的連續(xù)色調(diào)圖象壓縮系統(tǒng)。本發(fā)明的系統(tǒng)是具有相同代碼流的無損耗和有損耗的系統(tǒng)并且使用的量化被嵌入(不言而諭是通過代碼流)。該系統(tǒng)還被角錐化、被累加、提供一用于內(nèi)插的裝置、和被簡化的實施。因而,本發(fā)明提供了一種多方面均適應(yīng)的“獨立裝置”壓縮系統(tǒng)。
被統(tǒng)一的有損耗和無損耗的系統(tǒng)是非常有用的系統(tǒng)。不僅是相同系統(tǒng)能夠具有目前技術(shù)水平的有損耗和無損耗的壓縮性能,而且相同的代碼也同樣如此。在編碼、代碼流的存貯或傳送期間、或譯碼時,該應(yīng)用可判定保持一圖象無損耗代碼或?qū)⑺嵛怀蔀橐挥袚p耗文本。
通過本發(fā)明所提供的有損耗壓縮是通過嵌入量化來實現(xiàn)的。也就是該代碼流包括了該量化。該實際的量化(或視覺的重要)水平可以是該譯碼器或該傳送通道的函數(shù)而未必是該編碼器的函數(shù)。如果該帶寬、存貯、和顯示手段允許時,該圖象被無損耗地復(fù)原。反之,該圖象僅需要和由更多限制手段一樣的量化。
在本發(fā)明中所使用的子波被角錐化,其中通過該圖象的兩個系數(shù)來執(zhí)行分解而不需不同的圖象來執(zhí)行。這比分層分解更為特殊。對于用于在低分辨裝置瀏覽或顯示圖象的必須略圖的應(yīng)用來說,本發(fā)明的角錐本質(zhì)是理想的。
在本發(fā)明中使用的嵌入是累進的,特別是通過比特平面,即跟隨出徂人比特的MSB累進。該空間和子波范圍二者均可被累加地壓縮,雖然本發(fā)明的累加上具體為在子波范圍內(nèi)。對于諸如打印之類的具有空間分辨但較低象素分辨的應(yīng)用來說,在本發(fā)明中該比特的累加排序是理想的。具有相同代碼流的這些特征是有用的。
本發(fā)明的該結(jié)構(gòu)的一個優(yōu)點是它提供了一用于插入的計算地有效模式。如果要求較高的分辨,則來自該有用子波系數(shù)的高通過系數(shù)可被插入并可執(zhí)行本發(fā)明的反向子波。這種方法與雙重立方仿樣(bi-cubic spline)可直觀的競爭但這小于在本發(fā)明的變換情況下的計算的強度。
本發(fā)明等冪的意思是一圖象可以一有損耗形式被解壓并重新壓縮為相同的代碼流。這個優(yōu)點允許在具有瀏覽、濾除、或編輯的應(yīng)用中多次壓縮和解壓循環(huán)。
本發(fā)明涉及在軟件和硬件二方面的簡單實施。該子波變換可用四種加/減操作計算機和用于每個高通、低通系數(shù)對的某些位移。用一簡單的“上下文模式”和一二進制“熵編碼器”執(zhí)行該嵌入和編碼。該熵編碼器可用有限狀態(tài)機構(gòu)或并行編碼器來實施。
雖然在閱讀了前面的說明之后對于本領(lǐng)域的技術(shù)人員來說對本發(fā)明的許多變化和變型毫不懷疑地是顯而易見的,但也很清楚的是由實例所表示和描述的特定實施例并不意味著僅區(qū)限于這種方式。因此,最佳實施例的詳細說明并不意味著對該權(quán)利要求范圍的限定,權(quán)利要求中所述的僅是有關(guān)本發(fā)明所必需的特征。
權(quán)利要求
1.一種以用于在一通道上傳送的壓縮數(shù)據(jù)流對輸入數(shù)據(jù)進行編碼的編碼器,其特征在于,所述熵編碼器包括一用來將輸入數(shù)據(jù)變換為多個系數(shù)的可逆子波濾波器;連接到該可逆子波濾波器用來在諸如所產(chǎn)生的一比特流之類的多個系數(shù)上執(zhí)行嵌入編碼的一嵌入編碼器;連接到該嵌入編碼器用來在該比特流上執(zhí)行熵編碼以產(chǎn)生編碼數(shù)據(jù)的一熵編碼器;一用來控制在一固定尺寸存貯器中存貯的被壓縮數(shù)據(jù)的通道管理器,該存貯器管理器將被壓縮數(shù)據(jù)分成多個重要級,并且進一步其中該通道管理器傳送的所有充分的帶寬里的數(shù)據(jù)是有用數(shù)據(jù),否則較少或重要數(shù)據(jù)被丟棄并且僅傳送較重要的數(shù)據(jù)。
2.如權(quán)利要求1的編碼器,其特征在于,該通道管理器動態(tài)地確定該通道的帶寬。
3.如權(quán)利要求1的編碼器,其特征在于,該數(shù)據(jù)被分割成多個尾部,并且每個尾部被分別地編碼和由重要級分成固定尺寸頁。
4.如權(quán)利要求1的編碼器,其特征在于,該通道管理器進一步包括一緩沖存貯器。
5.如權(quán)利要求4的編碼器,其特征在于,該編碼器是具有多個固定尺寸段的環(huán)形緩沖存貯器,這樣作為每個固定尺寸段輸出的數(shù)據(jù)被完全地被分配。
6.如權(quán)利要求5的編碼器,其特征在于,該信息包尺寸與該通道帶寬相匹配。
7.一種以在一通道上被傳送的壓縮數(shù)據(jù)流對輸入數(shù)據(jù)進行編碼的編碼器,其特征在于,所述的熵編碼器包括一用來將輸入數(shù)據(jù)變換成多個系數(shù)的可逆子波濾波器;一連接到該可逆子波濾波器用來在諸如一所產(chǎn)生的比特流的多個系數(shù)上執(zhí)行嵌入編碼的嵌入編碼器;一連接到該嵌入編碼器用來在該比特流上執(zhí)行熵編碼以產(chǎn)生編碼數(shù)據(jù)的熵編碼器;和連接到該熵編碼器以將該數(shù)據(jù)分割成固定尺寸段的一通道管理器,其中每個固定尺寸段包括有在該段中的該最重要數(shù)據(jù)的一指示。
8.如權(quán)利要求7的編碼器,其特征在于,每一段包括被編碼數(shù)據(jù)、一隨意的指針和在這一段中的最重要數(shù)據(jù)的級。
9.如權(quán)利要求7的編碼器,其特征在于。每一區(qū)域的開始點是利用重新啟動標記識別的。
10.如權(quán)利要求8的編碼器,其特征在于,該隨意指針可包括用于固定尺寸存貯器管理的下一段指針。
11.如權(quán)利要求8的編碼器,其特征在于,該隨意的指針包括一用于該段的ID。
12.如權(quán)利要求8的編碼器,其特征在于,該隨意指針指明該段包括的若干不同區(qū)域。
13.如權(quán)利要求8的編碼器,其特征在于,該隨意指針包括一個指明多于二段所含有的區(qū)域的比特。
14.一種用來將輸入數(shù)據(jù)編碼為壓縮數(shù)據(jù)流的編碼器,其特征在于,所述編碼器包括一用來利用具有一可變級數(shù)的角錐分解將該輸入數(shù)據(jù)變?yōu)槎鄠€系數(shù)的可逆子波濾波器;一連接到該可逆子波濾波器的具有一固定尺寸的存貯器,其中在多個系數(shù)的分解期間該可逆子波濾波器使用該存貯器存貯信息;一連接到該可逆子波濾波器和該固定尺寸存貯器、基于該存貯器的固定尺寸去選擇該級數(shù)的控制機構(gòu);一連接到該可逆子波濾波器和固定尺寸存貯器的排序和造型機構(gòu),所述排序和造型機構(gòu)響應(yīng)于多個系數(shù)產(chǎn)生一嵌入數(shù)據(jù)流,其中該排序和造型對多個系數(shù)排序并對多個系數(shù)的每一個進行二進制值排序;和一連接到該排序和造型機構(gòu)可對嵌入代碼流進行二進制熵編碼以產(chǎn)生壓縮數(shù)據(jù)的二進制熵編碼器。
15.一種使用一嵌入代碼流的方法,其特征在于,包括識別一目標裝置去接收在一嵌入代碼流中的數(shù)據(jù);對每個比特平面譯碼以提供該目標裝置數(shù)據(jù),所述譯碼步驟包括為了維持該目標裝置數(shù)據(jù)而在該嵌入代碼流中舍位每一比特平面的步驟。
16.如權(quán)利要求15的方法,其特征在于,每個比特平面基于在每個編碼單元中表示舍位可能出現(xiàn)的位置的一指示而被舍位。
17.如權(quán)利要求16的方法,其特征在于,該指示包括一標識符。
18.如權(quán)利要求16的方法,其特征在于,該指示包括一指針。
19.如權(quán)利要求15的方法,其特征在于,基于指明的每個編碼單元中指明舍位可能出現(xiàn)的位置的多個指示中的一個來對每個比特平面舍位,所述舍位步驟進一步包括基于該目標裝置選擇多個指示中的一個的步驟。
20.如權(quán)利要求15的方法,其特征在于,舍位步驟包括對來自嵌入代碼流的在每個編碼單元中被單獨地編碼的目標分辨力系數(shù)舍位。
21.如權(quán)利要求15的方法,其特征在于,該目標裝置包括一低分辨、高象素深度嵌入目標以便在需要實現(xiàn)該目標裝置的全象素深度和低空間分辨時作為若干較高級系數(shù)的譯碼的評碼步驟。
22.如權(quán)利要求15的方法,其特征在于,該目標裝置包括一高分辨力、低象素深度嵌入目標和在一比特平面數(shù)時舍位每個編碼單元并且逆子波變換每個編碼單元的未舍位數(shù)據(jù)以完成該目標裝置的低象素深度和高空間分辨。
23.如權(quán)利要求15的方法,其特征在于,進一步包括步驟基于在該目標裝置中的有用緩沖的數(shù)而選擇編碼單元;和用多于有用緩沖的數(shù)據(jù)舍位每個編碼單元。
24.如權(quán)利要求15的方法,其特征在于,舍位步驟進一步包括有步驟檢測舍位每個編碼單元的均勻總數(shù);舍位每個編碼單元中的至少一最重要級的一部分。
25.如權(quán)利要求24的方法,其特征在于,舍位步驟是使用在顯示重要級信息的該代碼的一標題的信息來執(zhí)行的。
26.如權(quán)利要求24的方法,其特征在于,舍位步驟是使用為了在該代碼流中的每個編碼單元而顯示的重要級信息的該代碼的一標題中的信息來執(zhí)行的。
27.如權(quán)利要求24的方法,其特征在于,各步驟是在編碼時間之后執(zhí)行的。
全文摘要
一種以用于在一通道上傳送的壓縮數(shù)據(jù)流對輸入數(shù)據(jù)進行編碼的編碼器,其特征在于,所述熵編碼器包括:一用來將輸入數(shù)據(jù)變換為多個系數(shù)的可逆子波濾波器;連接到該可逆子波濾波器用來在諸如所產(chǎn)生的一比特流之類的多個系數(shù)上執(zhí)行嵌入編碼的一嵌入編碼器;連接到該嵌入編碼器用來在該比特流上執(zhí)行熵編碼以產(chǎn)生編碼數(shù)據(jù)的一熵編碼器;一用來控制在一固定尺寸存貯器中存貯的被壓縮數(shù)據(jù)的通道管理器,該存貯器管理器將被壓縮數(shù)據(jù)分成多個重要級,并且進一步其中該通道管理器傳送的所有充分的帶寬里的數(shù)據(jù)是有用數(shù)據(jù),否則較少或重要數(shù)據(jù)被丟棄并且僅傳送較重要的數(shù)據(jù)。
文檔編號H04N7/24GK1390044SQ0114378
公開日2003年1月8日 申請日期2001年12月21日 優(yōu)先權(quán)日1995年6月30日
發(fā)明者A·贊迪, E·L·許瓦茲, M·J·戈米什, M·波利克 申請人:株式會社理光