亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

小波變換系統(tǒng),方法和計算機程序產(chǎn)品的制作方法

文檔序號:7857520閱讀:217來源:國知局

專利名稱::小波變換系統(tǒng),方法和計算機程序產(chǎn)品的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)壓縮,特別是利用小波壓縮數(shù)據(jù)。
背景技術(shù)
:視頻“編譯碼器”(壓縮器/解壓縮器)用于通過圖像質(zhì)量、處理器需求(即,成本/功率消耗)、和壓縮率(即,所得的數(shù)據(jù)率)之間的平衡降低數(shù)據(jù)通信流所需的數(shù)據(jù)速率。目前可用的壓縮方法提供了不同的權(quán)衡范圍,產(chǎn)生了多種編譯碼器形式,其中,每一種形式被優(yōu)化以滿足一種特定應(yīng)用需要?,F(xiàn)有技術(shù)圖1示出了當前可用的各種不同壓縮算法之間權(quán)衡的一個例子100。如圖所示,這些壓縮算法包括基于小波的編譯碼器102,和包括各種不同MPEG視頻分布形成的基于DCT的編譯碼器104。2D和3D小波是基于DCT的編譯碼算法的目前可供選擇的方法。由于小波的合意的圖像質(zhì)量和靈活的壓縮率,一直受到高度關(guān)注,促使JPEG委員會采用小波算法作為它的JPEG2000靜止圖像標準。不幸的是,大多數(shù)小波裝置使用需要大量處理能力的、有關(guān)DCT選擇的、十分復雜的算法。此外,小波存在著臨時壓縮的獨特復雜問題,使得3D小波特別困難。由于這些原因,小波從來就沒有提供過優(yōu)于MPEG之類的大容量工業(yè)標準編譯碼,因此,僅被一些特定的應(yīng)用領(lǐng)域采用。因此,需要有一種針對三個主要市場分割的、優(yōu)化為低功率和低成本的、商業(yè)可行的3D小波裝置。例如,小型攝像機獲得了越來越廣泛的使用,并且具有數(shù)字處理信號的顯著優(yōu)點。例如,在一些國家,蜂窩電話市場增長最快的部分是具有圖像和視頻片斷剪輯能力的電話。大多數(shù)數(shù)字照相機具有視頻片斷剪輯特征。在移動無線手持電話市場中,這些靜止圖像和短視頻片斷的傳輸需要更大的來自裝置電池的容量?,F(xiàn)有的視頻編碼標準和數(shù)字信號處理器對蓄電池的要求更高。另一個新的應(yīng)用是允許觀看者暫停實況TV轉(zhuǎn)播和錄制電視節(jié)目過后觀看編程的個人錄像機(PVR)。這些裝置使用數(shù)字硬盤存儲,以記錄視頻,并且需要對來自電纜的模擬視頻信號的視頻壓縮。為了提供畫中畫和邊看邊錄像之類的特征,這些單元需要多個視頻壓縮編碼器。另一個日益增長的應(yīng)用領(lǐng)域是用于監(jiān)視和保安視頻的數(shù)字攝像機(DVR)。也需要壓縮編碼來存儲每個信道的輸入視頻。為了利用方便、靈活的數(shù)字網(wǎng)絡(luò)傳輸體系結(jié)構(gòu),必須在攝像機中數(shù)字化視頻信號。即使使用老式的多路復用錄像體系結(jié)構(gòu),也需要多個信道壓縮編碼器。當然,還有許多其它市場可以從為了低功率和低成本優(yōu)化的商業(yè)可用的3D小波實施得到利益。經(jīng)驗表明,可以將考慮為2維平面上的函數(shù)的圖像很好地建立成一個多項式模型,大多數(shù)點是平滑的,只有一些點是相對孤立的點和線(邊緣)特異性??梢杂?維域類似地建立視頻片斷的模型。對于大多數(shù)圖像和視頻,從線性多項式模型產(chǎn)生的RMS(均方根)余量在5%左右,而對于二次多項式模型是2%左右。近似模擬這些函數(shù)(圖像和視頻)的常用方案包括以下步驟1)可逆地變換函數(shù),使得可以將變換的系數(shù)分割成“子頻帶”,2)量化除了“低通”子頻帶之外的所有子頻帶(即,降低除了“低通”子頻帶之外的所有子頻帶的精度),3)對量化的系數(shù)使用逆變換,從而重構(gòu)一個近似于原始函數(shù)的的函數(shù)。一種好的方案使用一種將函數(shù)的低級多項式內(nèi)容投射到非量化“低通”子頻帶的變換。這種方案最好也在其它子頻帶中產(chǎn)生零或非常小的值。因此,非低通子頻帶的后續(xù)量化將不會顯著地改變用足夠低級的多項式建模的函數(shù)的變換,并且對于原始函數(shù)的近似重構(gòu)也將非常好。實現(xiàn)的真實性使得變換的函數(shù)中的值僅僅依賴于原始函數(shù)域中的一些點的小的鄰域中的值,是最好不過的了。這是JPEG和MPEG標準中8×8塊的目的之一。在這些規(guī)定中,鄰域是重合的,或不相交的,將圖像域分割成多個各具有明顯邊界的不相交鄰域。在這些邊界上,從量化得到的近似可能不好(眾所周知的離散傅立葉變換中的“Gibbs效應(yīng)”),在重構(gòu)、近似圖像中導致顯著的“編塊(blocking)”人工效應(yīng)物。作為一種具有小鄰域?qū)傩缘淖儞Q種類,盡管具有重疊的鄰域,小波變換還是受到了大量的注意。與JPEG/MPEG的DCT相比,在把函數(shù)主要投射到低通子頻帶方面,一些小波變換做得更好。此外,一些小波變換(不需要是相同的小波變換)對計算強度的要求更小。但是,鄰域重疊在數(shù)據(jù)處理、存儲器利用、和存儲帶寬方面帶來了重要的實施問題。它仍然可用于“編塊”域,恢復它們的邊界和靠近這些邊界的近似結(jié)果。在域邊界變換存在的問題是,以一個邊界點為中心的鄰域不在這個邊界點所屬的域塊中。如具體結(jié)合在各種JPEG和MPEG標準中的,對于這一問題的慣用方法是對稱地反射跨越邊界的塊中的域值,以在需要的鄰域上建立“有效”值和有效函數(shù)。除非這個有效函數(shù)在鄰域上是一個常數(shù),否則它將具有從不連續(xù)一階導數(shù)產(chǎn)生的尖端或拐點。這種不連續(xù)性不能通過低級多項式很好地建模,從而反映在量化后仍然在大的非低通子頻帶系數(shù)中。較大的量化誤差導致邊界上增大的近似誤差。FPEG2000標準1)中規(guī)定的一種變換是方程式#1.1和1.2中所示的可逆5-3變換。方程式#1.1和1.2方程式1.1方程式1.2由于這些方程式是整數(shù)對整數(shù)的映射表并且容易回解得到Y(jié),因此,這種變換是可逆的,并且逆變換嚴格地一位對一位地產(chǎn)生輸入Y。見方程式#2.1和2.2。方程式2.1和2.2方程式2.1方程式2.2從這些方程式可以清楚地看到Y(jié)2n+1是在(2n+1)的二階導數(shù)的一半的負數(shù)的估計值;并且,如果在(2n+1)可以用一階多項式很好地近似表示函數(shù),那么Y2n+1近似為零。floor括號內(nèi)常量相加的目的是要從估計值中除去任何DC偏壓。小波中未校正偏壓容易導致重構(gòu)數(shù)據(jù)中的振蕩誤差,表現(xiàn)為水平或垂直條紋之類的固定圖形噪聲。有幾種估算和校正偏壓的可能方法,JPEG2000標準中選擇了其中一種方法。如果圖像的正確邊界在點2N-1,那么由于需要的值X2N不可用,所以不能計算方程式#1.1。JPEG2000需要通過用正對稱開拓函數(shù)來處理這種情況,從而使用X2N=X2N-2。將其代入方程式#1.1,得到方程式#1.1ext。方程式#1.1ext<math><mrow><mo>=</mo><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub></mrow></math>方程式1.1ext這產(chǎn)生了一個與作為內(nèi)部點的二階導數(shù)的負數(shù)的一半的估計值相反的一階導數(shù)的估計值Y2N-1。此外,可以清楚地看到,僅通過使用三個截然不同的點,而不是使用兩個點,才能夠獲得二階導數(shù)的估計值。由于僅有這些點是可用于逆步驟的點,所以需要將上升項中需要的兩點限制到帶有偶數(shù)指數(shù)的X。最靠近的侯選指數(shù)是2N-4。特別是在方程式#1.2和2.1中可以看到,5-3小波濾波器的FPEG-2000公式包括計算內(nèi)的常數(shù)1或2的加法,以及其它限制。當實現(xiàn)計算的最大速度和效率時,這些加法和其它限制可能需要總計算負擔的很大一部分,并且造成性能顯著降低。
發(fā)明內(nèi)容提供了一種壓縮數(shù)據(jù)的系統(tǒng)、方法、和計算機程序產(chǎn)品。首先,接收一個插值公式。將這個插值公式用于壓縮數(shù)據(jù)。在使用中,在需要的數(shù)據(jù)值是難于得到的情況下,確定插值公式是否需要至少一個數(shù)據(jù)值。如果是這種情況,那么執(zhí)行外推運算以產(chǎn)生需要的難于得到的數(shù)據(jù)值。在一個實施例中,插值公式可以是小波濾波器的一個組成部分。作為另一種選擇,可以選擇用多相濾波器替代小波濾波器。在另一個實施例中,可以將多個數(shù)據(jù)值分割成多個變化范圍。從而,通過僅利用一個變化范圍內(nèi)的數(shù)據(jù)值,可以減少涉及到插值公式的計算量。在又一個實施例中,可以量化數(shù)據(jù)值。在這個實施例中,可以通過減少數(shù)據(jù)值的量,減少與熵編碼有關(guān)的計算量。可以在涉及到數(shù)據(jù)值的量化運算過程中,減少數(shù)據(jù)值的量。在再一個實施例中,可以減少與將數(shù)據(jù)值重構(gòu)到預定數(shù)據(jù)范圍有關(guān)的計算量??梢酝ㄟ^僅執(zhí)行一個單獨的裁減運算而減少這種計算量。在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括Y2N+1=(X2N+1+)-(X2N+)在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括在一個實施例中,小波濾波器包括插值公式,包括(X2N+1+)=Y(jié)2N+1+(X2N+)提供了另一種壓縮數(shù)據(jù)的系統(tǒng)和方法。首先,在一個單獨的裝置中接收數(shù)據(jù)。利用這個單獨裝置給這個數(shù)據(jù)編碼,以產(chǎn)生第一格式的第一壓縮數(shù)據(jù)。此外,利用該單獨裝置轉(zhuǎn)換第一壓縮數(shù)據(jù)的代碼,以產(chǎn)生第二格式的第二壓縮數(shù)據(jù)。在一個實施例中,編碼可以實時發(fā)生。此外,代碼轉(zhuǎn)換可以離線進行。在另一個實施例中,可以代碼轉(zhuǎn)換第一壓縮數(shù)據(jù)以產(chǎn)生第二格式的第二壓縮數(shù)據(jù),以便使第二壓縮數(shù)據(jù)適合于匹配耦合到該單獨裝置的通信網(wǎng)的能力。作為一種選擇,可以利用第一編碼器進行編碼。此外,可以利用解碼器和第二編碼器進行代碼轉(zhuǎn)換。此外,第一格式可以包括基于小波的格式。此外,第二格式可以包括基于DCT的格式。在一個特別的實施例中,第二格式可以包括MPEG格式。提供了利用在一個單獨集成電路上的多個編碼器壓縮數(shù)據(jù)的另一種系統(tǒng)和方法。首先,在一個單獨集成電路中接收數(shù)據(jù)。然后,利用結(jié)合在該單獨集成電路上的多個編碼器對數(shù)據(jù)編碼。在一個實施例中,可以利用單獨集成電路上的多個信道給數(shù)據(jù)編碼。此外,可以將數(shù)據(jù)編碼成基于小波的格式。提供了用于壓縮數(shù)據(jù)的又一種單獨模塊系統(tǒng)和方法。在使用中,利用一個單獨模塊接收光子。然后,利用單獨模塊輸出代表光子的壓縮數(shù)據(jù)。作為一種選擇,可以將壓縮數(shù)據(jù)編碼成基于小波的格式。此外,可以以模擬方式進行有關(guān)編碼的變換運算。單獨模塊可以進一步包括成像器?,F(xiàn)有技術(shù)圖1示出了當前可用的各種壓縮算法之間的權(quán)衡的例子;圖2示出了根據(jù)一個實施例的用于壓縮/解壓縮數(shù)據(jù)的構(gòu)架;圖3示出了根據(jù)一個實施例的用于壓縮/解壓縮數(shù)據(jù)的方法;圖4示出了對其執(zhí)行圖3的方法的數(shù)據(jù)結(jié)構(gòu);圖5示出了根據(jù)一個實施例的壓縮/解壓縮數(shù)據(jù)的方法;圖6示出了根據(jù)一個實施例的用于壓縮數(shù)據(jù)的系統(tǒng);和圖7示出了利用一個單獨集成電路上的多個編碼器壓縮數(shù)據(jù)的系統(tǒng)。具體實施例方式圖2示出了根據(jù)一個實施例的壓縮/解壓縮數(shù)據(jù)的構(gòu)架200。構(gòu)架200中包括編碼器部分201和解碼器部分203,二者共同構(gòu)成了“編碼解碼器(codec)”。編碼器部分201包括用于壓縮數(shù)據(jù)以存儲在文件208中的變換模塊202,量化器204,和熵編碼器206。為了執(zhí)行文件208的解壓縮,解碼器部分203包括用于解壓縮數(shù)據(jù)以便使用(即,在視頻數(shù)據(jù)情況下,為了觀看,等等)的逆變換模塊214,去量化器212,和熵解碼器210。在使用中,變換模塊202為解相關(guān),對多個像素(在視頻數(shù)據(jù)情況下)進行可逆變換,這個可逆變換通常是線性的。接下來,量化器204實施變換值的量化,然后,熵編碼器206負責量化的變換系數(shù)的熵編碼。圖3示出了根據(jù)一個實施例的壓縮/解壓縮數(shù)據(jù)的方法300。在一個實施例中,本方法300可以在圖2的變換模塊202的設(shè)備環(huán)境下,并且以它執(zhí)行可逆變換的方式進行。但是,應(yīng)當注意,可以在任何希望的設(shè)備環(huán)境下實現(xiàn)方法300。在操作302中,接收(即,從存儲器識別和檢索,等等)用于壓縮數(shù)據(jù)的插值公式。在本說明書的環(huán)境下,數(shù)據(jù)可以是任何能夠被壓縮的數(shù)據(jù)。此外,插值公式可以包括任何使用插值法(即,小波濾波器)的公式。在操作304中,在需要的數(shù)據(jù)值是難于得到的情況下,確定插值公式是否需要至少一個數(shù)據(jù)值。這種數(shù)據(jù)值可以包括上述數(shù)據(jù)的任何子集。由于是難于得到的,需要的數(shù)據(jù)值可能是不存在的,超范圍的,等等。然后,執(zhí)行外推運算,以產(chǎn)生需要的難于得到的數(shù)據(jù)值。見操作306。外推公式可以包括任何使用外推法的公式。通過這種方案,增強了數(shù)據(jù)的壓縮。圖4示出了在其上執(zhí)行方法300的數(shù)據(jù)結(jié)構(gòu)400。如圖所示,在變換過程中,通過插值公式可以獲得涉及多個數(shù)據(jù)值402的“最佳適合(bestfit)”401。注意圖3的方法300的操作302。如果確定數(shù)據(jù)值402中的一個是難于得到的(見404),那么可以使用外推公式產(chǎn)生這個難于得到的數(shù)據(jù)值。以下參考圖5說明有關(guān)上述技術(shù)的示例的更可選的細節(jié)。圖5示出了根據(jù)一個實施例的壓縮/解壓縮數(shù)據(jù)的方法500。作為一種選擇,本方法500可以在圖2的變換模塊202的環(huán)境下,并且以它進行可逆變換的方式進行。但是,應(yīng)當注意,可以在任何希望的環(huán)境下實現(xiàn)方法500。方法500提供了一種產(chǎn)生用作小波濾波器對的邊緣濾波器的技術(shù)。首先,在操作502中,分析小波方案以確定小波濾波器逼近的偏導數(shù)。接下來,在操作504中,根據(jù)小波濾波器的特性和一些可用抽樣,選擇用于外推法的多項式的階數(shù)。然后,利用選擇的多項式階數(shù)導出每個小波濾波器的外推公式。見操作506。在操作508,利用具有每種情況下的可用抽樣的外推公式導出特定的邊緣小波情況。見利用Vandermonde矩陣求解系數(shù)的一種可選方法的附件A。此外,以下更詳細地說明有關(guān)示例外推公式的附加可選信息以及相關(guān)信息。為了從左面逼近Y2N-1,從左面適配一個二次多項式。利用可用值近似計算在2N-1的二階導數(shù)的一半的負值,產(chǎn)生方程式#1.1R。見一種可以確定這種外推二次多項式的方式的附件A。方程式#1.1R方程式1.1R當點是最右面的一個的時候,可以用方程式#1.1R代替方程式1.1(見
背景技術(shù)
部分)??梢酝ㄟ^移位相加完成明顯的乘以3。除以3則更為復雜一些。對于最右面的指數(shù)是2N-1的這種情況,利用方程式#1.2計算Y2N-2不成問題(見
背景技術(shù)
部分)。在最右面的點的指數(shù)是偶數(shù)(即,2N)的情況下,方程式#1.1沒有問題,但是方程式#1.2涉及到丟失值。這里的目的是要僅利用以前相關(guān)例子中計算的奇數(shù)指數(shù)的Y,即Y1和Y3,從偶數(shù)X減去Y的估計值。如上所述,這個需要的在指數(shù)2N的估計值可以通過線性外推法獲得。方程式#1.2R給出了適合的公式。方程式#1.2R方程式1.2R對應(yīng)的情況應(yīng)用在左邊界。使用類似的邊緣濾波器,只不過是從右面(內(nèi)部)進行需要的外推,而不是從左面。在這種情況下,方程式#1.1.L和1.2.L代表了適合的濾波器。方程式#1.1.L和1.2.L方程式1.1.L方程式1.2.L通過回代,可以獲得這些外推邊界濾波器的原始變換濾波器的逆變換濾波器??梢栽谂c使用前向邊界濾波器完全相同的環(huán)境中,用逆變換邊界濾波器代替標準濾波器。方程式#2.1.Rinv,2.2.Rinv,2.1.L.inv,和2.2.L.inv代表了這些濾波器。方程式#2.1.Rinv,2.2.Rinv,2.1.L.inv,和2.2.L.inv方程式2.1.Rinv方程式2.2.Rinv方程式2.1.L.inv方程式2.2.L.inv因此,一個實施例可以利用5-3濾波器的再形成,從而避免了現(xiàn)有技術(shù)的附加步驟,同時保留了濾波器的實際屬性。例如,見方程式#3.1,3.1R,3.2,3.2L。方程式#3.1,3.1R,3.2,3.2L方程式3.1Y2N+1=(X2N+1+)-(X2N+)方程式3.1R方程式3.2方程式3.2L在形成方程式中,用1/2的偏移或偏壓計算特定的系數(shù),以便避免上述加法。應(yīng)當注意,盡管在形成方程式中,出現(xiàn)了許多1/2的加法,但是,在計算中不需要實際執(zhí)行這些加法。在方程式#3.1和3.1R中,可以看到1/2的加法作用被抵消,因此,不需要將它們應(yīng)用到輸入數(shù)據(jù)??梢詫A括號中的項(Y0+)看成是實際計算、并且作為系數(shù)存儲、傳遞到小波變換金字塔的下一級的量的名稱。如上面的情況一樣,可以在以下的方程式#4.2,4.2L,4.1,4.1R中重新構(gòu)成JPEG-2000逆濾波器的公式。方程式#4.2,4.2L,4.1,4.1R方程式4.2方程式4.2L方程式4.1(X2N+1+)=Y(jié)2N+1+(X2N+)方程式4.1R從這里可以看到,用作對逆計算的輸入的值是與方程式#3.1~3.2L中的前向計算中產(chǎn)生的相同項,并且不需要實際計算1/2的修正。以這種方式,減少了小波變換計算中執(zhí)行的算術(shù)運算的總量。可選特征以下說明可以在圖2-5的系統(tǒng)和方法的環(huán)境下使用的附加可選特征和技術(shù)。應(yīng)當注意,提出的附加特征只是為了舉例說明的目的,而不能解釋為任何方式的限制。此外,這些特征可以獨立于上述圖2-5的系統(tǒng)和方法實現(xiàn)。一般可選特征在使用中,變換模塊(即,例如,見圖2的變換模塊202)可以利用小波金字塔,這個小波金字塔起到將圖像分割成近似覆蓋一個倍頻程(octave)(即,系數(shù)2)的子帶的濾波器組的作用。在每個倍頻程,具有對應(yīng)于水平、垂直、和方格特征的三個子帶。在一個實施例中,金字塔一般可以是三到五層深度,覆蓋著相同數(shù)量的倍頻程。如果原始圖像是完全平滑的,那么小波系數(shù)的幅度迅速減小。圖像可以具有2/3的Holder系數(shù),這個系數(shù)大致表示圖像具有一個導數(shù)的2/3。如果將小波系數(shù)以絕對值的降序排列,那么可以看到這些絕對值如同N-s一樣降低,其中N是序列中的位置,s是圖像的平滑度。在形成小波金字塔之后,可以通過量化器(即,例如,圖2的量化器204,等等)定標(量化)小波系數(shù),以獲得與觀看條件和人類視覺對比靈敏度曲線(CSF)一致的結(jié)果。通過說明人類視覺系統(tǒng)(HVS)的特性,可以大大減少用于編碼色度子帶的比特數(shù)。為了提供可以在最小硅面積需求中實現(xiàn)的快速算法,可以避免使用傳統(tǒng)的算術(shù)編碼器。例如,如上所述,可以避免占用很大硅面積的乘法運算。此外,這種算法可以具有運行的各個元件的很好的“快速路徑”。編譯碼器可以使用兩個交疊視頻幀的畫面組(GOP),邊界的邊緣濾波器,中間場圖像壓縮和塊壓縮結(jié)構(gòu)。小的單獨芯片的實現(xiàn)可以如下面表1中所示。表1■一種實現(xiàn)可以使用短小波基數(shù)(2-6個小波),短小波基數(shù)特別適合于致力于量化以匹配HVS的自然場景圖像??梢岳孟嗉雍鸵莆煌瓿蓪崿F(xiàn)。對于每個場景,可以使用從在水平方向上使用五個濾波器和在垂直方向上使用三個濾波器得到的Mallat金字塔。這產(chǎn)生了具有雙值系數(shù)的濾波器,在低通濾波器中是兩個系數(shù),在小波濾波器中是二、四、或六個系數(shù)(導致十二個小波子帶)。在塊和圖像邊界附近,可以使用改進的邊緣濾波器,以便利用實際圖像值。產(chǎn)生的視頻金字塔可以具有一系列的零,以及一系列的非零。因此,可以通過查閱表有效地進行編碼?!隽硪环N解決方案可以使用經(jīng)過3D小波金字塔的運動圖像壓縮,代替在MPEG之類的方法中的運動補償搜索。可以將時間方向的變換壓縮應(yīng)用到四個場景的GOP??梢詫杉墪r間金字塔用作與空間金字塔的張量積。可以在精密級使用線性邊緣濾波器,和在粗糙級使用改進的Haar濾波器,導致四個時間子帶。壓縮這些時間子帶的每一個?!隹梢詫⑻幚矸纸獬?掃描線的塊的處理,每個掃描線具有32個像素。這有助于將RAM需求減少到ASIC本身中可以放置RAM的點。這減少了芯片數(shù)量,并且簡化了RAM帶寬需求的滿足。壓縮處理可以一個條紋接一個條紋地進行(每個條紋兩個通道)。一個“條紋”是8像素高和畫面的整個寬度?!鲇忠粋€實施例可以使用小波系數(shù)的量化取得壓縮的進一步改進。量化的分母是2的冪,使得能夠通過移位實現(xiàn)。量化可以是指一種將比例因數(shù)分配給每個子帶,將子帶中的每個系數(shù)乘以對應(yīng)的比例因數(shù),和將定標系數(shù)固定到一個整數(shù)的處理過程。組合濾波器作為另一種選擇,可以有選擇地用多相濾波器替代小波濾波器。在一個實施例中,這種替代可以在數(shù)據(jù)壓縮/解壓縮系統(tǒng)的變換模塊(即,見圖2的變換模塊202和/或逆變換模塊214)中發(fā)生。當然,這種特征可以獨立于這里所述的各種其它特征實現(xiàn)。以下說明有關(guān)本可選特征的更多的示例信息。在本實施例中,在視頻壓縮編譯碼器的設(shè)計中,可以將常規(guī)(即,有限脈沖響應(yīng)(FIR))信息放棄或平滑濾波器的使用與小波信息保留濾波器組合。FIR濾波器與小波濾波器的區(qū)別在于,常規(guī)FIR濾波器是單獨使用,而小波濾波器總是以互補對偶的形式出現(xiàn)。此外,小波變換中的FIR濾波器不必如同多相濾波器組一樣彼此有關(guān)。視頻壓縮可以在一個三步處理過程中執(zhí)行;有時可以增加其它步驟,但是,如前所述,三個主要階段是變換,量化,和熵編碼。像通常實踐中一樣,這些操作一般僅在量化過程中放棄信息。實際上,如果刪除這個操作,可以取得無損壓縮方法。但是,無損壓縮限于比有損壓縮更小的壓縮率,有損壓縮利用了人類視覺系統(tǒng),并且在譯碼結(jié)果中放棄了不能造成視覺差別或可忽略視覺差別的信息。一類具有可接受結(jié)果的有時可放棄的視覺信息是圖像的微小細節(jié)。盡管視頻壓縮中使用的大多數(shù)變換處理過程能夠通過量化步驟放棄微小細節(jié)信息,但是,它們這樣做時,比直接低通濾波器實現(xiàn)的效率低,并且視覺忠實性低。一種實現(xiàn)平滑濾波器的方式是使用FIR結(jié)構(gòu)。一種實現(xiàn)平滑濾波器的替代方式是使用無限脈沖響應(yīng)(IIR)結(jié)構(gòu)。當要改變圖像或數(shù)據(jù)序列的大小時,可以使用由有關(guān)的FIR濾波器組成的多相濾波器組(PFB)。這種方法通過放棄一些細節(jié)和產(chǎn)生進一步處理的相對更小的圖像來處理圖像。多相濾波器組包括一組共享相同的帶寬、或頻率選擇性性質(zhì),但是產(chǎn)生在原始抽樣上或之間的不同位置上插入的像素的FIR濾波器。例如,可以使用多相濾波器組將一個圖像(即,視頻的一幀)減小到其原始寬度的2/3。它是通過計算每個原始像素之間的中途插入的像素,計算原始位置上平滑的像素,然后,在產(chǎn)生的像素流中每隔兩個像素保留一個,而減小圖像的寬度的。通過這種方法,可以省略計算不要保留的像素,導致一個減小圖像尺寸的更為有效的方法??梢匀菀椎貙⑦@種處理過程一般化到其它有理數(shù)分數(shù)大小改變。以這種方式,多相濾波器組可以平滑地放棄少量的微小細節(jié),用小于一(1)的系數(shù)縮小圖像。因數(shù)可以大于1/2。本實施例通過利用多相濾波器作為基于小波的圖像壓縮處理過程的第一階段,將平滑細節(jié)放棄的優(yōu)點與小波變換編碼的畫面質(zhì)量組合到一起。通過使用這種組合,可以將來自使用多相濾波器組的最微小細節(jié)以及代表它們所需的比特的平滑、高質(zhì)量、無人除去的優(yōu)點,增加到來自使用小波變換作為圖像和視頻壓縮的基礎(chǔ)的快速有效計算和高視覺質(zhì)量的已知優(yōu)點。在本方法的第一實施例中,可以首先在一個方向上,一般是水平方向上,對圖像使用多相濾波器組,然后,在用慣用方式量化和熵編碼之前,將小波變換應(yīng)用到圖像。在本方法的第二實施例中,可以在一個特定方向上第一小波操作之前,在該方向上應(yīng)用多相濾波器,但是,也可以在其它方向上小波操作之后。在又一個實施例中,可以在數(shù)個方向上的每個方向上第一小波操作之前,但是也可以在其它方向上的小波操作之后,在該方向上應(yīng)用多相濾波器。在至少一些小波或DCT變換階段之前應(yīng)用有損濾波步驟的本方法具有幾種優(yōu)點。例如,可以設(shè)計諸如FIR或多相設(shè)計之類的、不限于以小波方式發(fā)揮作用的濾波器,以便獲得更高的質(zhì)量和更小的人為因素??梢詫⑿〔V波器設(shè)計成將信息分裂成兩個部分而不放棄信息的對偶形式。在變換操作之前而不是在其之后應(yīng)用有損濾波器,意味著可以在較少的數(shù)據(jù)上操作變換計算,從而花費的時間較少,并且在計算時進行的中間存儲較少。由于變換一般占壓縮處理過程的相當大的部分,所以,這種減少導致整個壓縮處理過程的速度和效率顯著提高。利用堆的稀疏小波變換作為又一個選擇,可以通過減少數(shù)據(jù)值的量而減少與熵編碼相關(guān)的計算量。在一個實施例中,這種減少可以發(fā)生在數(shù)據(jù)壓縮/解壓縮系統(tǒng)的量化器中(即,見圖2的量化器204)。當然,這種特征可以獨立于這里所述的各種其它特征實現(xiàn)。以下說明有關(guān)本可選特征的更多的示例信息。在本實施例中,可以利用堆作為譯碼操作中的一種操作,從而準備在計算后續(xù)步驟中使用。從附錄B可以看到更多的有關(guān)堆的信息。提供所謂的矩陣數(shù)據(jù)的稀疏表示,在科學計算領(lǐng)域中是已知的。普通矩陣被表示為作為矩陣元的數(shù)字的完整陣列;這叫作“稠密”表示。一些程序包在“稀疏矩陣”上存儲、轉(zhuǎn)換、和操作,在稀疏矩陣中,不一個接一個明顯地表示零項,而是隱含地表示。一種這樣的“稀疏”表示是零串(zero-run)編碼,在零串編碼中用一同出現(xiàn)的零的計數(shù)代表零。這個計數(shù)本身可以是零(當兩個非零值相鄰時),1(一個孤立的零值),或更大。但是,如果視頻數(shù)據(jù)不是矩陣,那么一般不能對它們進行矩陣運算(即,乘法、倒轉(zhuǎn)、特征值分解,等等)。可以提取稀疏矩陣計算的基礎(chǔ)原理并轉(zhuǎn)化到視頻變換。簡單地講,一個堆是由一個對偶的陣列構(gòu)成的;每個對偶給出了一個非零項的普通數(shù)據(jù)中的地址(或偏移)以及該項的值。地址或偏移是經(jīng)過排序的,從而通過橫越堆和考慮到非零元在完整數(shù)據(jù)集中的位置而對堆中的非零元進行運算,可以從一端到另一端橫越整個數(shù)據(jù)集。堆是專門設(shè)計的,以便能夠在使用相同的運算立即對數(shù)個數(shù)據(jù)項并行進行數(shù)據(jù)處理的計算機(即,SIMD處理器)上有效地實現(xiàn),和在使得控制的條件轉(zhuǎn)移花費比較高的計算機上實現(xiàn)。這些處理器共同使用,以處理視頻和聲頻,并且有時被稱為“媒體處理器(mediaprocessor)”。當需要對兩個都是稀疏的數(shù)據(jù)集進行某種運算時,產(chǎn)生了在稠密地表示數(shù)據(jù)時不會出現(xiàn)的問題。即,“何時數(shù)據(jù)項彼此重合?”在對表示為堆的兩個數(shù)據(jù)集進行操作時,識別重合數(shù)據(jù)集的基本操作叫作“匹配和歸并(matchandmerge)”。在一個人橫越兩個堆時,他或她在開始之后的每個操作,可以從每個堆獲得一個地址,和剛剛對其產(chǎn)生了輸出值的地址。為了發(fā)現(xiàn)可以對其產(chǎn)生一個值的下一個地址,可以尋找用輸入堆表示的兩個地址的最小值。如果兩個堆的這個地址是一致的,那么每個堆有一個可用的數(shù)據(jù)項,并且可以對兩個值執(zhí)行運算以產(chǎn)生希望的結(jié)果。然后,可以前進到兩個堆的下一個項。如果兩個堆中的下一個地址是不同的,那么在一個堆(一個數(shù)據(jù)集)中存在一個非零值,而在另一個數(shù)據(jù)集(由堆隱含表示的)中存在一個零值;那么可以對該一值和零進行運算,產(chǎn)生一個值。作為選擇,如果當一個輸入是零時執(zhí)行操作一產(chǎn)生零,那么沒有值產(chǎn)生。在任何一種情況下,都可以僅在具有最小值地址的堆上前進到下一項。將結(jié)果值放置到輸出位置,稠密陣列(通過每當?shù)刂繁灰粋€以上的地址超前時寫入顯現(xiàn)的零)或輸出堆中。如上所述,小波變換包括在一維或多維中,對一組數(shù)據(jù)重復地使用小波濾波器對。對于視頻壓縮,可以使用2-D小波變換(水平和垂直)或3-D小波變換(水平,垂直,和時間)。視頻壓縮器中變換階段的意圖是要通過利用畫面或序列中的局部類似性和圖形,將源畫面的能量或信息集中到一種盡可能緊密的形式。沒有一種壓縮器可以壓縮所有可能的輸入;可以將壓縮器設(shè)計為能夠?qū)Α暗湫偷摹陛斎牒芎玫毓ぷ鳎⑶液雎运鼈儾荒軌嚎s“隨機”或“病態(tài)的”輸入。當變換工作正常,并且將畫面信息集中到很少幾個變換系數(shù)時,剩余的系數(shù)之間有許多零。如上所述,量化結(jié)果也是視頻壓縮器的一個階段。在這個階段中,用零表示接近零的計算值。有時希望在小波變換的計算過程中量化計算的系數(shù),而不是或附加地量化最終變換結(jié)果。所以可能在一些小波系數(shù)數(shù)據(jù)中得到許多零,并且這可能發(fā)生在需要對數(shù)據(jù)進行更多的計算時。此外,當一個人譯碼壓縮圖像或視頻以顯示它的時候,他或她可以從熵編碼有效系數(shù)恢復用于顯示的完全填滿的圖像。第一譯碼步驟,即熵代碼譯碼,的典型輸出是一組中間帶有大量默認為零的無效系數(shù)的有效系數(shù)。當發(fā)生這種情況時,將帶有許多零的稠密數(shù)據(jù)轉(zhuǎn)換成稀疏表示是十分有價值的;可以通過如上所述地堆疊數(shù)據(jù)進行轉(zhuǎn)換。堆表示組成一系列零的代表,但經(jīng)常存儲地址或偏移,而不是系列長度(地址的差)。這使得能夠更快地處理二者,以建立堆,并且在以后將堆擴展成稠密表示。在譯碼的情況下,數(shù)據(jù)不是稠密形式,并且直接在熵解碼器中構(gòu)造堆更為自然。小波變換的處理存在幾種容易受堆疊處理影響的情況。注意下面的表2表2■解壓縮,兩個帶堆疊■解壓縮,一個帶堆疊■解壓縮,輸入堆疊和輸出稠密■壓縮,輸入稠密和輸出堆疊下面考慮一個例子譯碼一個壓縮的視頻幀,其中編碼處理已經(jīng)導致許多系數(shù)被量化成零。解壓縮的第一階段撤銷非零系數(shù)的熵編碼或位編碼,給出值和幀中每個值的位置。這正好是在一個堆中表示的信息,并且很容易用一個堆來存儲它,而不是立即通過顯式地填充所有間隔的零值將它擴展成稠密表示。在這個階段,已經(jīng)準備好要通過逆小波變換中運算的系數(shù)。逆變換的最終結(jié)果是準備用于顯示的解壓縮圖像;它極少是稀疏的。(如每個階段一樣)逆小波變換的第一階段是從系數(shù)數(shù)據(jù)的兩個區(qū)或“帶”提取數(shù)據(jù),然后將它們組合成一個中間帶的濾波器計算,中間帶將在同一處理過程的以后階段中使用。在這個第一階段,兩個帶的數(shù)據(jù)是稀疏的,并且在堆中表示。一個人也可以在一個堆中產(chǎn)生這個階段的輸出,從而他或她不需填充零。下面的表3的計算對“帶”堆P1和P2執(zhí)行,在新的堆R中產(chǎn)生它的結(jié)果,并且對來自兩個帶的系數(shù)對執(zhí)行濾波器計算步驟W(p,q)。表3whilenotbothEOF(P1),EOP(P2){I1=0;I2=0;guard(P1.index≤P2.index,Pile_Read(P1,I1));guard(P1.index≥P2.index,Pile_Read(P2,I2));Conditional_Append(R,true,W(I1,I2));};Destroy_Pile(P1);Destroy_Pile(P2);應(yīng)當注意,上述計算仍然能夠展開以便并行運算,如附錄B中所示。通過將稀疏表示,堆,用作具有許多零值的中間結(jié)果,可以減少計算小波變換花費的時間。這種方法提高了基于小波的圖像壓縮和視頻壓縮產(chǎn)品的性能和計算效率。變換范圍限制作為又一種選擇,可以減少與將數(shù)據(jù)值重構(gòu)到預定的數(shù)據(jù)范圍內(nèi)相關(guān)的計算量。這種計算可以通過僅執(zhí)行一個單獨裁減運算減少。在一個實施例中,這種減少可以發(fā)生在數(shù)據(jù)壓縮/解壓縮系統(tǒng)的去量化器模塊中(即,見圖2的去量化器212)。當然,這個特征可以獨立于這里所述的各種其它特征實現(xiàn)。以下說明有關(guān)本可選特征的更多的示例信息。在數(shù)字圖像壓縮和數(shù)字視頻壓縮方法中,將圖像(或幀)表示為數(shù)字的陣列,每個數(shù)字代表一個區(qū)的亮度,或一個區(qū)中一個特定顏色(例如,紅色)的量。這些區(qū)稱為像素,并且將數(shù)字稱為抽樣或組成值。圖像壓縮或視頻壓縮是利用許多不同方法進行的。如上所述,這些方法中的許多包括作為一個步驟的變換計算通過一個算術(shù)運算序列,將代表圖像的抽樣陣列變換成稱為系數(shù)的不同的數(shù)字陣列,系數(shù)包含圖像的信息,但是并不一一單獨地對應(yīng)于小區(qū)的亮度或顏色。盡管變換包含相同的圖像信息,但是這種信息以有利于壓縮方法的進一步運算的方式分布在數(shù)字之間。當要重放通過這種方法壓縮的圖像或幀時,必須隨壓縮數(shù)據(jù)解壓縮。這通常包括,作為一個步驟的,計算采用一個系數(shù)陣列和產(chǎn)生一個抽樣陣列的逆變換。圖像或幀的抽樣通常用短長度的整數(shù)代表,一般用8個二進制位代表。一個8位數(shù)字僅可以代表256個不同值,并且在這些應(yīng)用中,一般將這些值考慮為從零到255(包括零和255)的整數(shù)范圍。許多標準和操作條件設(shè)置了比這更為嚴格的范圍。例如,在CCIR-601(ITU-RBT.601-4)中,將像素分量(Y,U,V)抽樣值規(guī)定到比更小的范圍。更具體地講,將屏幕的照亮部分中的流明Y分量有效范圍規(guī)定為在[16,235]內(nèi),色度分量U,V范圍限制在[16,240]范圍內(nèi)。超出這些范圍的值可能具有不是亮度的意義,例如,指示同步事件。圖像和視頻壓縮方法可以劃分成兩個范疇,無損和有損壓縮。無損壓縮方法的操作方式是要從解壓縮產(chǎn)生與用于壓縮的值完全相同的值。對于這些方法,由于輸出占據(jù)了與輸入相同的數(shù)字范圍,因此沒有范圍問題。但是,有損壓縮產(chǎn)生只是預期近似于原始輸入的,而不是與之每位都匹配的,解壓縮輸出。通過利用這種自由度輕微地改變圖像,有損方法可以產(chǎn)生更大的壓縮率。在有損壓縮方法的解壓縮部分中,并不保證計算的抽樣與對應(yīng)的原始抽樣相同,因此,不保證占據(jù)相同的值范圍。因此,為了滿足圖像標準的范圍條件,必須包括將計算的值限制或剪裁到規(guī)定范圍的步驟。執(zhí)行這個剪裁步驟的直接方式如下對于每個計算的抽樣s,測試是否s>max(最大值),如果是,那么設(shè)置s=max;測試是否s<min(最小值),如果是,那么設(shè)置s=min。執(zhí)行這個步驟的另一種方式使用在某種計算平臺上發(fā)現(xiàn)的MAX和MIN算子;然后對每個抽樣進行兩個運算。所示的兩個方式,和許多其它方式,都要比諸如加法和減法之類的簡單算術(shù)運算執(zhí)行更多的計算。由于可以對圖像或幀中的每個抽樣值(每個像素)獨立地執(zhí)行這種處理過程,因此,它是解壓縮方法中的計算的重要部分。應(yīng)當注意,對于在一般情況下處于需要的范圍內(nèi)的幾乎所有計算的抽樣,兩種測試都會失敗,因此,必須計算兩種測試。上述變換計算通常具有以下的性質(zhì)產(chǎn)生的系數(shù)中的一個代表整個幀的或幀的一個有效部分的(MPEG術(shù)語中的一個塊)的總亮度。這個系數(shù)叫作“DC系數(shù)”。由于計算變換的方式,改變DC系數(shù)將以相同的方式、與進行的選擇成正比地改變它的幀或塊中的所有抽樣的值。因此,例如,可以通過剛好在計算逆變換之前,將適當選擇的常數(shù)加到塊的DC系數(shù),將塊中的每個抽樣的值增加相同的量。在其上執(zhí)行壓縮方法的計算引擎通常具有帶有飽和性質(zhì)的算術(shù)指令當計算一個結(jié)果時,如果它超過其容器的代表范圍(對于8位量,是),那么裁減結(jié)果以便能夠在該范圍內(nèi)。例如,如果將飽和減法指令給予值4和9,那么要裁減以取代結(jié)果(4-9=)-5,并返回結(jié)果0。同樣,飽和加法指令250+10將會產(chǎn)生結(jié)果255。以下說明在許多壓縮方法中,從譯碼到適當限度得到的裁減像素分量值的低價方式。本實施例通過對部分的值加上一個偏差值,僅剩下MAX/MIN算子中的一個,而執(zhí)行兩個使用飽和算術(shù)的裁減中的一個。詳細地參考一個例子,當需要的范圍是[llim,ulim]=[16,240]時,見表4。表41.將偏差加到每個塊中的DC系數(shù),這在變換濾波器之后導致每個部分偏移負16(一般,-llim)。代價每個塊或幀一次算術(shù)運算。2.保證逆變換的最終算術(shù)步驟在零飽和(裁減)。代價在大多數(shù)計算引擎上不用進行。3.間隔224(一般,ulim-llim),應(yīng)用MAX運算。代價每個抽樣一次MAX運算。4.利用ADD(加)16(一般,llim)消除偏差。由于正好在MAX之前,所以不能溢流。在飽和算術(shù)時,不需要進行。代價每個抽樣一次ADD?,F(xiàn)在可以看到,必要的范圍限制的計算代價可以從每抽樣兩次MAX/MIM運算,減少到每塊一次ADD,每抽樣一次MAX,和每抽樣一次簡單ADD。在某些計算引擎上,例如,EQUATORMAP-CA處理器上,使用本方法獲得的節(jié)省遠大于上述看到的節(jié)省。在這些引擎上,可以將數(shù)個抽樣組合在一個字中,并同時運算。但是,這些分塊運算限于處理器的某些部分,并且在壓縮應(yīng)用中可以是性能的極限資源。在這樣的一個引擎上,上述步驟4中的ADD不能溢流的事實具有重大意義。步驟4不需要使用特定的分區(qū)ADD,但是,可使用普通ADD以便如同分區(qū)一樣立即對數(shù)個抽樣運算。這種普通運算使用沒有高度負載的處理器的部分,并且可以溢流,或在其它必要分區(qū)運算的同時執(zhí)行,導致計算逆變換中時間的顯著節(jié)省。圖6示出了根據(jù)一個實施例的、用于壓縮數(shù)據(jù)的系統(tǒng)600。作為一種選擇,系統(tǒng)600可以在前面提出的上述概念的環(huán)境下實現(xiàn)。但是,當然,系統(tǒng)600可以在任何希望的環(huán)境下實現(xiàn)。系統(tǒng)600包括一個包含在單獨裝置604上的編碼器602,用于編碼數(shù)據(jù)以產(chǎn)生第一格式的第一壓縮數(shù)據(jù)。此外,代碼轉(zhuǎn)換器606包含在與編碼器602相同的單獨裝置604上,用于代碼轉(zhuǎn)換第一壓縮數(shù)據(jù),以產(chǎn)生第二格式的第二壓縮數(shù)據(jù)。在使用中,在單獨裝置604中接收數(shù)據(jù)。利用單獨裝置604編碼這個數(shù)據(jù),以產(chǎn)生第一格式的第二壓縮數(shù)據(jù)。此外,利用單獨裝置604代碼轉(zhuǎn)換第一壓縮數(shù)據(jù)以產(chǎn)生第二格式的第二壓縮數(shù)據(jù)。在一個實施例中,編碼可以實時進行。此外,代碼轉(zhuǎn)換可以離線進行。在另一個實施例中,可以代碼轉(zhuǎn)換第一壓縮數(shù)據(jù),以產(chǎn)生第二格式的第二壓縮數(shù)據(jù),從而使得第二壓縮數(shù)據(jù)能夠適合于匹配耦合到單獨裝置604的通信網(wǎng)的能力。作為一種選擇,編碼可以利用第一編碼器執(zhí)行。此外,代碼轉(zhuǎn)換可以利用一個解碼器和一個第二編碼器進行,如圖6中所示。第一格式也可以包括基于小波的格式。此外,第二格式可以包括基于DCT的格式。在一個具體的實施例中,第二格式可以包括MPEG格式。以下說明有關(guān)附加可選特征的更多的示例信息。如上所述,存在著數(shù)種利用圖像和視頻序列的通信模式。除了直接實時觀看之外,人可以捕獲圖像或視頻序列,并且在緊接著捕獲之后或延遲到更為有利的時間的以后時間中發(fā)送它。此外,視頻序列的接收可以像看電視那樣觀看但是不存儲視頻的實時模式進行,或存儲序列以便過后觀看的另一種模式進行。除了其它組合之外,這些不同選擇組合成三種使用情況。這三種情況是1.上述的視頻電話或畫面電話操作,其中發(fā)射機和接收機都實時操作。這需要所有壓縮、編碼、和譯碼都以視頻捕獲的速度實時進行,并且需要傳輸信道攜帶全速率壓縮視頻。2.流式操作,在流式操作中,實時地在源或網(wǎng)絡(luò)中捕獲和存儲視頻,并且在接收機觀看。這需要實時譯碼,但是允許在傳輸之前用一段時間處理序列。這種模式至少需要從網(wǎng)絡(luò)到接收機的傳輸信道,以攜帶全速率的壓縮視頻。此外,對于大多數(shù)傳輸信道,接收機必須緩存一定數(shù)量的序列,以便在傳輸速率出現(xiàn)變化時,保持平穩(wěn)的播放。3.消息發(fā)送或文件傳輸(messagingorFile-transfer)模式,在這種模式中,捕獲視頻并且存儲在源,非實時地傳送到接收機,并且存儲在接收機以便以后播放。這種模式允許在不能攜帶全速率實時視頻的傳輸信道上操作,并且允許接收者重放、暫停、和控制經(jīng)歷。可以將捕獲和用一種格式壓縮的圖像或視頻轉(zhuǎn)換到另一種格式。這種操作稱為代碼轉(zhuǎn)換。在最壞的情況下,這是通過將輸入格式解壓縮成滿畫面或視頻,然后以希望的輸出格式壓縮而進行的。對于許多格式對,可以使用比這種最壞情況的方法更便宜的方法。在諸如國際蜂窩電話網(wǎng)之類的許多網(wǎng)絡(luò)中,不同用戶可能更喜歡或需要不同格式的圖像或視頻。例如,即使由于MPEG-4標準提供了多種外形、大小、速率、和其它參數(shù)的選擇,所有用戶都擁護該標準,就是這種情況。由于這個和其它原因,有時希望發(fā)送和接收裝置能夠協(xié)商在一個特定傳輸中使用哪種格式。在最簡單的情況中,每個裝置提供一個它能夠處理的格式的列表,并且都從列表的交集中選擇一個可以共同接受的格式。存在著更為復雜的協(xié)商形式,但是,總體效果是相同的發(fā)送者僅知道在連接開始之后發(fā)送的格式。當需要代碼轉(zhuǎn)換作為連接的一個部分時,可以在始發(fā)裝置或某個中間位置上執(zhí)行它。一些網(wǎng)絡(luò)可以提供代碼轉(zhuǎn)換服務(wù)作為網(wǎng)絡(luò)操作的一個部分,以便在完全不同的本機性能的裝置之間提供相互的通信。這將有助于保持復雜性,因此移動單元的成本較低。由于上述視頻數(shù)據(jù)率和傳輸信道速率之間的完全不同,所以用下述新的模式操作可能是有利的。裝置捕獲視頻,使用下述低復雜性壓縮方法實時壓縮它,并且存儲壓縮的視頻序列。然后,在以后的時間,裝置可以將視頻序列代碼轉(zhuǎn)換成接收方或網(wǎng)絡(luò)可以接受的格式。這允許低功率操作、長電池壽命、和裝置中更簡單的電路,并且兼顧了與網(wǎng)絡(luò)格式標準的完全兼容性。這種操作類型的一個優(yōu)點是靈活性實時壓縮的選擇不限制裝置能夠與之直接通信的接收機的范圍。如上所述,可以在傳送呼叫時協(xié)商傳輸格式。由于裝置不需要每一個都具有廣闊優(yōu)化的實時實現(xiàn),所以裝置可以用這種方式支持更廣的格式范圍。上述操作類型的另一個優(yōu)點是代碼轉(zhuǎn)換不需要操作在視頻捕獲的速度,而是可以匹配于通常是非常低的傳輸網(wǎng)的速度。較低的速度代碼轉(zhuǎn)換操作又能夠在比標準實時壓縮使用的更小和消耗更低功率的電路中進行。因此,降低了裝置的總功率消耗、電池壽命、復雜性、和成本。這種操作類型的又一個優(yōu)點是能夠?qū)D像和視頻的傳輸從白天電話價格之類的高成本的時間推遲到晚間價格的較低成本(或當前蜂窩電話定價方案,甚至免費)的時間。由于是除時間之外的因素,傳輸在另外的時間具有較低的價格。例如,蜂窩電話在返回到其本地時比在“漫游”時費用低。上述推遲傳輸不需要裝置的用戶采取任何推遲行動。裝置能夠根據(jù)它具有的有關(guān)費用和時間表的信息,自動地確定傳輸?shù)臅r間。因此,保留了用戶便利性。當然,感覺到一些消息具有比其它消息更高的急迫性;用戶可以容易地指定是否要推遲傳輸和推遲多長時間。當非實時發(fā)送圖像和視頻時,裝置的用戶可能在傳輸正在進行時,或進入呼叫要到達時,或由于某種其它原因連接要斷開時,進行呼叫。計算機組網(wǎng)領(lǐng)域中的人們都知道,提供使得中斷的傳送能夠恢復,而不必重新發(fā)送已經(jīng)成功地傳送的信息部分的信息。這種可中斷傳送可以允許擱置一個呼叫之類的故意中斷和斷線之類的意外中斷。接收裝置不需要具有存儲整個視頻序列的能力。轉(zhuǎn)換代碼源裝置可以發(fā)送到一個流式接收機,包括比發(fā)送機更簡單和更小能力的接收機。這使得能夠容易地將先進的代碼轉(zhuǎn)換裝置使用到現(xiàn)有裝置的網(wǎng)絡(luò)中。標準圖像和視頻格式提供了錯誤檢測,錯誤糾正,和猝發(fā)錯誤控制方法。通過代碼轉(zhuǎn)換到這些標準格式,裝置可以在使用低復雜性和低功率捕獲壓縮方法的同時,充分地利用標準錯誤恢復特征。可以將使用低復雜性實時處理捕獲感興趣的信號,然后在晚些時間將其代碼轉(zhuǎn)換成更適合于發(fā)送的格式的思想應(yīng)用到除圖像和視頻之外的信號、和除無線發(fā)送之外的用途、以及除移動個人設(shè)備之外的裝置。例如,軍用智能傳感、紅外遙感、望遠鏡頻譜、射電望遠鏡信號、SETI信道、生化測量、地震信號、和許多其它應(yīng)用都可以從這個基本方案獲益。圖7示出了利用一個單獨集成電路704(即,ASIC)上的多個編碼器702壓縮數(shù)據(jù)的系統(tǒng)700。作為一種選擇,系統(tǒng)700可以在上述概念的環(huán)境下實現(xiàn)。當然,系統(tǒng)700也可以在任何希望的環(huán)境中實現(xiàn)。如圖所示,第一編碼器結(jié)合在單獨集成電路704上,用于編碼第一組信號。此外,第二編碼器結(jié)合在與第一編碼器同一個單獨集成電路704上,用于編碼第二組數(shù)據(jù)。當然,為了類似的目的,可以將更多的編碼器結(jié)合在單獨集成電路704上。在使用中,在單獨集成電路中接收數(shù)據(jù)。然后,利用多個結(jié)合在單獨集成電路上的編碼器給數(shù)據(jù)編碼。在一個實施例中,可以利用單獨集成電路上的多個信道給數(shù)據(jù)編碼。此外,可以將數(shù)據(jù)編碼成基于小波的格式。許多視頻壓縮應(yīng)用更好的是通過包含多個編碼或譯碼階段的ASIC服務(wù)。一個例子是個人錄像機(PVR)或數(shù)字錄像機(DVR)的范疇,例如,TiVo和ReplayTV的產(chǎn)品,其中壓縮和解壓縮的處理必須同時執(zhí)行。另一個例子是視頻監(jiān)視錄像機,其中來自攝像機的許多視頻信號必須一同多路傳輸、壓縮、和記錄。將數(shù)個壓縮電路放置在一個單獨ASIC上,或?qū)嚎s和解壓縮電路組合在一個單獨ASIC上,提供了直接和間接的優(yōu)點。直接優(yōu)點包括減少的封裝數(shù),減少的插腳數(shù),降低的功率消耗,和減小的電路板面積。所有這些優(yōu)點對降低產(chǎn)品成本作出了貢獻。間接優(yōu)點包括可以將視頻部分和多路傳輸電路結(jié)合在同一芯片上,進一步減少了插腳數(shù)和電路板面積。現(xiàn)有多種需要比慣用和標準壓縮方法少得多的電路來實現(xiàn)的壓縮方法,例如,參考圖2-5所述的,由DropletTechnology,Inc.開發(fā)的算法。由于它們優(yōu)越的設(shè)計,現(xiàn)在可以將多個這種先進的壓縮方法的例子集成到一個單獨ASIC或其它集成電路中。進一步提供了另一個壓縮數(shù)據(jù)的單獨模塊系統(tǒng)和方法。在使用中,利用一個單獨模塊接收光子。然后,利用單獨模塊輸出代表光子的壓縮數(shù)據(jù)。作為一種選擇,可以將壓縮數(shù)據(jù)編碼成基于小波的格式。此外,與編碼相關(guān)的變換運算可以用模擬方法進行。單獨模塊可以進一步包括成像器。本實施例可以用于構(gòu)造成像器陣列,即CMOS或CCD照相機或其它裝置,以幫助捕獲和傳送壓縮數(shù)字視頻的整個處理。直接數(shù)字化的圖像和視頻占用許多位;這在壓縮圖像和視頻以便存儲、傳輸、和其它用途中是共同的。已知有幾種基本壓縮方法,和這些方法的許多專用改進。一般方法可以用三段式處理來表示其特征變換、量化、和熵編碼。視頻壓縮器中變換階段的意圖是要通過利用畫面或序列中的局部類似性和圖形,將源畫面的能量或信息集中成一種盡可能緊湊的形式。本實施例對于“典型的”輸入十分有效,并且忽略它們不能壓縮“隨機的”或“病態(tài)的”輸入。許多圖像壓縮和視頻壓縮方法,例如,JPEG[1],MPEG-2[2]和MPEG-4[4],使用離散余弦變換(DCT)作為變換階段。一些較新的圖像壓縮和視頻壓縮方法,例如,JPEG-2000[3]和MPEG-4結(jié)構(gòu)[4],使用各種小波變換作為變換階段。小波變換包括在一維或多維中對一組數(shù)據(jù)重復使用小波濾波器對。對于圖像壓縮,可以使用2-D小波變換(水平和垂直);對于視頻,可以使用3-D小波變換(水平,垂直,和時間)。小波濾波器對處理圖像(或圖像的一部分),以產(chǎn)生兩個圖像,每個圖像一般為輸入大小的一半,可以將一個看成是“低通”或平均或模糊的,而另一個是“高通”或詳細或邊緣。保持輸入畫面中的全部信息,并且(在許多情況下)可以從變換的圖像對完全地重構(gòu)原始畫面。一個小波濾波器對一般在一維,即水平、垂直、或時間(跨越幀的時間序列),處理圖像。全小波變換是由在數(shù)維中連續(xù)使用的一系列這些步驟構(gòu)成的。一般,不是早先步驟的所有結(jié)果都要受到以后步驟的處理;有時保持高通圖像而不進一步過濾。照相機在其心臟部分具有一個成像器裝置某種響應(yīng)和記錄光的變化的強度和顏色以便以后顯示和其它用途的裝置。當今數(shù)字靜止照相機和視頻攝像機的通用成像裝置是CCD和CMOS。這兩種成像裝置都把對應(yīng)于光的電荷累積在每個像素;它們的不同在于它們傳送和讀出電荷量的方式。CMOS(“互補金屬氧化物半導體”)成像器是較新的技術(shù),并且可以比CCD更便宜地制造。CMOS成像器的一個關(guān)鍵優(yōu)點是,成像器芯片的處理十分類似于數(shù)字邏輯芯片的處理。這使得它能夠更容易地在同一芯片上包括控制和其它功能。但是,這兩種芯片在最低一級都必須由模擬電路建造以測量代表看到的光量的模擬電荷或電壓或電流。CMOS成像器在結(jié)構(gòu)上與DRAM(“動態(tài)隨機存取存儲器”)十分相似,并且沿著跨越陣列的金屬跡線的格柵將像素中代表看到的光量的電荷傳送到陣列的邊緣。這種讀出方法是存儲芯片的標準慣例,并且在工業(yè)中得到廣泛的應(yīng)用。CCD成像器盡管是一種較老的技術(shù),但是得到廣泛的應(yīng)用并且提供了較低的噪聲和較好的靈敏度。CCD(“電荷耦合器件”)通過將代表像素中看到的光的電荷以組桶式(bucket-brigade)方式從一個單元傳送到另一個單元,而將其傳送到陣列邊緣。CMOS成像器或CCE成像器與數(shù)字存儲裝置的不同之處在于,傳送到陣列邊緣的電荷不僅代表“0”或“1”比特,而且代表亮度值的范圍。因此,需要模/數(shù)轉(zhuǎn)換。在這種轉(zhuǎn)換之前,放大信號;經(jīng)常要受到其它處理,以消除芯片制造和操作中的誤差和可變性。一個共同的步驟是“相關(guān)復式抽樣(correlateddoublesampling)”,在“相關(guān)復式抽樣”中,提取黑暗抽樣,并作為電路的這個部分的泄漏電流的測量值存儲,并且從圖像抽樣中減去以降低噪聲圖。模擬處理在差動放大器中進行,差動放大器是一種主要響應(yīng)其輸入之間的差的電路,而不是響應(yīng)二者中任何一個的絕對大小的電路。在光捕獲與存儲的數(shù)字圖像之間的處理鏈中的某個點,必須將信號從模擬(電荷、電壓、或電流)代表轉(zhuǎn)換成數(shù)字代表。由于一個人可以選擇在處理鏈中早一些或遲一些進行模/數(shù)轉(zhuǎn)換,因此,他或她具有以模擬或數(shù)字形式進行總體處理的某些階段的選擇自由。在一些裝置中,作為小波的一個步驟的小波濾波器對是由相鄰和附近像素值的十分簡單的加法和減法集合構(gòu)成的。例如,稱為“Haar小波”的可用濾波器對只是下面方程式#1.1H和1.2H中的和與差。方程式#1.1H和1.2HLn=X2n+X2n+1方程式1.1HHn=X2n-X2n+1方程式1.2H這從輸入圖像“X”的相同兩個抽樣產(chǎn)生了一個“高”變換圖像和一個“低”變換圖像。也可以使用其它小波濾波器;一些十分復雜,但是一些就像進行幾個Haar步驟、將它們加在一起、和用常量給它們定標一樣簡單。例如,JPEG2000標準[1]中規(guī)定的變換之一是前面方程式#1.1和1.2中提出的可逆5-3變換??梢钥吹剑麄€小波濾波器對進行5次加法/減法運算,和兩次定標運算;在連續(xù)的模擬域中,不出現(xiàn)向下取整運算(flooroperation)。這又造成可以通過差動放大器(用于加法或減法)容易和自然地完成模擬值的相加,和用常量定標成為對于模擬信號的所有運算中最容易的運算,僅需要一兩個電阻器。相反,在數(shù)字域中值的求和需要每位一個加法器邏輯電路,加上一個進位鏈;用一些特定常量定標比較容易,但是一般定標在數(shù)字邏輯電路中并不便宜。由于CMOS和CCD成像器現(xiàn)在是用差動放大器建造的,以便放大和減去來自芯片上像素抽樣的噪聲,所以在數(shù)/模轉(zhuǎn)換之前很容易在芯片上進行某些處理步驟。進行這些步驟要在芯片上增加一些模擬電路,但是,可以是少量的電路。這又造成在小波變換的一些裝置中,包括那些優(yōu)選的裝置,計算的第一步驟是開銷最大的。這是由于頭幾個步驟中的每個步驟減少了要在以后的階段中處理的圖像量;不需要進一步處理每個濾波器階段輸出的“高通”圖像。因此,在進行模/數(shù)轉(zhuǎn)換之前,在模擬中執(zhí)行第一步驟或頭幾個步驟可以顯著減少數(shù)字處理,因為僅有“低通”圖像必須進行數(shù)字處理??梢酝ㄟ^減少數(shù)字電路的數(shù)量,從而減少它占據(jù)的芯片面積,或通過較慢地運行數(shù)字電路,從而降低器功率消耗和熱量產(chǎn)生,而獲得利益??梢岳肈CT執(zhí)行圖像或視頻壓縮的變換階段;這種處理將圖像變換成光譜,光譜的連續(xù)抽樣代表了圖像中一定范圍的空間頻率的內(nèi)容。DCT的一些實現(xiàn)使用了Haar步驟,并且這些步驟也可以以模擬方式進行而受益。在小波變換中,通??梢杂嬎闼綖V波器對作為第一步驟。這似乎也便于模擬過濾。在進行第一垂直濾波器步驟之前,可以進行兩個水平步驟,并且也是以模擬方式更為便利。垂直濾波器步驟需要同時存在垂直相鄰的像素。在慣用圖像掃描光柵次序中,這些像素出現(xiàn)的時間間隔(線時間間隔)大。但是,在CMOS成像器之類的芯片成像器中,考慮重新排列掃描次序從而使得數(shù)個線一同出現(xiàn),并且可以在第一水平濾波器步驟之前或之后,也用模擬方式進行垂直濾波器步驟,是合理的。捕獲彩色圖像的成像器芯片一般將彩色濾波器放置在每個像素之前,限定它對紅、綠、或藍中的一個作出響應(yīng)。這些濾波器排列成一種圖形,以便能夠在圖像的每一處相鄰地抽樣所有三種顏色。但是,數(shù)字視頻標準寧愿使用不是RGB分量的排列。更廣泛使用的是YUV,或YCbCr,其中Y分量代表黑白亮度或“流明”,U和V分量代表藍或紅與流明之間的色差。這種表示方法的原因是人類視覺響應(yīng)允許C分量中較低的清晰度,因此允許圖像的較小的數(shù)字代表。YUV代表也便于壓縮。彩色圖像芯片有時提供電路以模擬地(在轉(zhuǎn)換之前)或數(shù)字地(在轉(zhuǎn)換之后)進行將RGB像素值變換成YUV值的運算??梢杂脭?shù)種方式中的任何一種方式,將顏色轉(zhuǎn)換與小波濾波器步驟組合。例如,模擬彩色轉(zhuǎn)換可以在第一模擬小波濾波器步驟之前;在這種情況下,小波濾波器在全帶寬Y分量,或半帶寬U和V分量上工作。作為選擇,可以將小波濾波器應(yīng)用于R,G,和B分量,首先從成像器陣列,接下來彩色轉(zhuǎn)換到Y(jié)UV;在這種情況下,濾波器對三個全帶寬分量信號操作。在另一種排列中,可以完全取消慣用的彩色轉(zhuǎn)換步驟,并且將RGB分量提供到小波變換。存在有數(shù)種作為它們的操作的一部分而完成到Y(jié)UV的轉(zhuǎn)換的小波變換的版本。在這種排列中,為了不凈增加模擬電路、減少數(shù)字電路、和與數(shù)字小波壓縮處理十分清潔的連接,用進行第一小波步驟的模擬電路代替進行彩色轉(zhuǎn)換的模擬電路。因此,顯示了如何通過結(jié)合初始小波濾波器步驟的模擬計算,使得壓縮數(shù)字視頻捕獲子系統(tǒng)更為有效。對于單色成像器可以做到這一點,并且可以用數(shù)種方式與彩色數(shù)字成像器的彩色轉(zhuǎn)換階段組合。這種方法改進了基于小波的圖像壓縮和視頻壓縮產(chǎn)品的性能和計算效率。盡管上面說明了各種實施例,但是,應(yīng)當知道它們僅是通過舉例說明的方式提出的,而不是要限制本發(fā)明。因此,優(yōu)選實施例的寬度和范圍不受上述任何示例實施例的限制,而是應(yīng)當僅根據(jù)下面的權(quán)利要求及其等價物定義。附錄A對于二次方程可以有三個數(shù)據(jù)值[X2N-1X2N-2X2N-4],并且需要三個系數(shù);<math><mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>a</mi><mn>0</mn></msub></mtd><mtd><msub><mi>a</mi><mn>1</mn></msub></mtd><mtd><msub><mi>a</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msup><mi>x</mi><mn>0</mn></msup></mtd></mtr><mtr><mtd><msup><mi>x</mi><mn>1</mn></msup></mtd></mtr><mtr><mtd><msup><mi>x</mi><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>=</mo><msub><mi>a</mi><mn>0</mn></msub><mo>+</mo><msub><mi>a</mi><mn>1</mn></msub><mi>x</mi><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><msup><mi>x</mi><mn>2</mn></msup></mrow></math>二次導數(shù)一半的負值可能是所以可能僅對a2感興趣。在這種情況下,找到二次方程更為簡單<math><mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>0</mn></msub></mtd><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>1</mn></msub></mtd><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>2</mn><mi>N</mi><mo>)</mo></mrow><mn>0</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>2</mn><mi>N</mi><mo>)</mo></mrow><mn>1</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>2</mn><mi>N</mi><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>=</mo><msub><mover><mi>a</mi><mo>~</mo></mover><mn>0</mn></msub><mo>+</mo><msub><mover><mi>a</mi><mo>~</mo></mover><mn>1</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>2</mn><mi>N</mi><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub><msup><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>2</mn><mi>N</mi><mo>)</mo></mrow><mn>2</mn></msup></mrow></math>由于<math><mrow><msub><mi>a</mi><mn>2</mn></msub><mo>=</mo><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub></mrow></math>可以解帶有Vandermonde類型系數(shù)矩陣的三個線性方程。<math><mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>0</mn></msub></mtd><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>1</mn></msub></mtd><mtd><mrow><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub></mrow></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>0</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mn>0</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>4</mn><mo>)</mo></mrow><mn>0</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>1</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mn>1</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>4</mn><mo>)</mo></mrow><mn>1</mn></msup></mtd></mtr><mtr><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mn>2</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>2</mn><mo>)</mo></mrow><mn>2</mn></msup></mtd><mtd><msup><mrow><mo>(</mo><mo>-</mo><mn>4</mn><mo>)</mo></mrow><mn>2</mn></msup></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>4</mn></mrow></msub></mtd></mtr></mtable></mfenced></mrow></math><math><mrow><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>0</mn></msub></mtd><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>1</mn></msub></mtd><mtd><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>4</mn></mrow></msub></mtd></mtr></mtable></mfenced><mfrac><mn>1</mn><mn>6</mn></mfrac><mfencedopen='['close=']'><mtable><mtr><mtd><mn>16</mn></mtd><mtd><mn>12</mn></mtd><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>12</mn></mtd><mtd><mo>-</mo><mn>15</mn></mtd><mtd><mo>-</mo><mn>3</mn></mtd></mtr><mtr><mtd><mn>2</mn></mtd><mtd><mn>3</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow></math>二次導數(shù)的負值的一半是<math><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mn>2</mn><msub><mi>a</mi><mn>2</mn></msub><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mn>2</mn><msub><mover><mi>a</mi><mo>~</mo></mover><mn>2</mn></msub><mo>=</mo><mo>-</mo><mfrac><mn>1</mn><mn>6</mn></mfrac><mfencedopen='['close=']'><mtable><mtr><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub></mtd><mtd><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>4</mn></mrow></msub></mtd></mtr></mtable></mfenced><mfencedopen='['close=']'><mtable><mtr><mtd><mn>2</mn></mtd></mtr><mtr><mtd><mo>-</mo><mn>3</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>=</mo><mo>-</mo><mfrac><mn>2</mn><mn>6</mn></mfrac><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>+</mo><mfrac><mn>3</mn><mn>6</mn></mfrac><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>2</mn></mrow></msub><mo>-</mo><mfrac><mn>1</mn><mn>6</mn></mfrac><msub><mi>X</mi><mrow><mn>2</mn><mi>N</mi><mo>-</mo><mn>4</mn></mrow></msub></mrow></math>附錄B堆介紹當需要的算法具有窄的數(shù)據(jù)寬度、串行數(shù)據(jù)依賴性、或頻繁的控制語句(例如,“if”,“for”,“while”語句)時,對于高通量并行處理器難于編程。本實施例克服了所有這三個問題,單獨地或組合地。熵編碼應(yīng)用是一種具有所有三種類型的問題的重要的應(yīng)用類。并行處理有三種類型的可以在處理器中使用而產(chǎn)生良好效果的并行。1)第一種類型是由多個功能單元支持的,并且允許處理在每個功能單元中同時進行。超標量(super-scaler)處理器體系結(jié)構(gòu)和VLIW(超長指令字(VeryLongInstructionWord))處理器體系結(jié)構(gòu)允許在同一周期中將指令發(fā)送到數(shù)個功能單元中的每一個。在一般情況下,每種類型的功能單元的等待時間或完成時間都是不同的。最簡單的功能(例如,逐位AND)通常在一個單獨的周期中完成,而浮點加法功能可能要用3或更多的周期。2)第二種類型的并行處理是由各個功能單元的流水線操作支持的。例如,浮點加法可能要用3個周期完成,并且是在每個都需要1個周期的三個連續(xù)子功能中實現(xiàn)的。通過將流水線寄存器設(shè)置在子功能之間,可以在前一個浮點加法在第二子功能中開始的同一周期中,第二浮點加法在第一子功能中開始。通過這種措施,可以在每個周期中開始和完成一個浮點加法,盡管任何單個浮點加法需要3個周期來完成。3)可用第三種類型的并行處理是將一個字的不同字段分段用于相同計算的不同范例。例如,在一個32位處理器上可以將一個32位的字分割成4個8位的字段分段。如果數(shù)據(jù)項小到足以適合于8位,那么可以用同一單獨指令處理所有4個值。在每個單獨周期中,可以處理等于字段分段數(shù)乘以功能單元開始數(shù)的積的數(shù)量的數(shù)據(jù)項。循環(huán)展開有一種給多個和/或流水線的功能單元編程的慣用的一般方法找到同一計算的許多范例,和一同執(zhí)行來自每個范例的對應(yīng)運算。范例可以通過循環(huán)展開的技術(shù)或通過相同計算的某種其它源產(chǎn)生。盡管循環(huán)展開是一種通用的技術(shù),但是,一個特殊的例子有助于理解其好處。例如,考慮程序A)fori=0:1:255,{S(i)};其中體S(i)是依賴于i的運算序列{S1(i);S2(i);S3(i);S4(i);S5(i);},并且其中計算S(i)完全獨立于計算S(j),j≠i??梢圆患僭O(shè)運算S1(i);S2(i);S3(i);S4(i);S5(i);彼此獨立;而是相反,可以假設(shè)從一個運算到下一個運算的依賴關(guān)系禁止重新排序。也可以假設(shè)這些相同的依賴性需要直到前一個運算完成才能開始下一個運算。如果每個(流水線)運算需要兩個周期完成(即使每個周期流水線執(zhí)行單元可以產(chǎn)生一個新的結(jié)果),五個運算的序列需要10個周期完成。此外,循環(huán)轉(zhuǎn)移一般需要額外的3個周期,除非編程工具能夠使S4(i);S5(i);與轉(zhuǎn)移延遲重疊。如果重疊了轉(zhuǎn)移延遲,那么程序A)需要256/4*10=640周期完成,如果不重疊轉(zhuǎn)移延遲,那么需要256/4*13=832周期完成。程序B)forn=0:4:255,{S(n);S(n+1);S(n+2);S(n+3);}完全等價于程序A)。循環(huán)已經(jīng)被“展開”四次。這使昂貴的控制流改變數(shù)量減少了四倍。更為重要的是,它提供了給四個S(i)中的每一個的組成運算重新排序的機會。所以程序A)和B)等價于程序C)forn=0:4:255,{S1(n);S2(n);S3(n);S4(n);S5(n);S1(n+1);S2(n+1);S3(n+1);S4(n+1);S5(n+1);S1(n+2);S2(n+2);S3(n+2);S4(n+2);S5(n+2);S1(n+3);S2(n+3);S3(n+3);S4(n+3);S5(n+3);};利用以上有關(guān)依賴性和獨立性的假設(shè)集,可以建立等價的程序D)forn=0:4:255,{S1(n);S1(n+1);S1(n+2);S1(n+3);S2(n);S2(n+1);S2(n+2);S2(n+3);S3(n);S3(n+1);S3(n+2);S3(n+3);S4(n);S4(n+1);S4(n+2);S4(n+3);S5(n);S5(n+1);S5(n+2);S5(n+3);};S1(n);S1(n+1);可以在第一周期發(fā)布,S1(n+2);S1(n+3);可以在第二周期發(fā)布。S1(n);S1(n+1);將在第三周期的開始完成(過去了兩個周期),從而可以發(fā)布S2(n);S2(n+1);。如此地進行,可以在每個后續(xù)周期發(fā)布下兩個運算,從而可以在相同的10個周期中執(zhí)行整個體。程序D)在不到程序A)的四分之一的時間中運行。大多數(shù)并行處理器具有條件轉(zhuǎn)移指令,在指令本身與轉(zhuǎn)移實際發(fā)生的點之間需要數(shù)個延遲周期。在這個延遲周期中,可以執(zhí)行其它指令。只要足夠早地知道轉(zhuǎn)移條件,并且編譯器或其它編程工具在延遲期間支持指令的執(zhí)行,轉(zhuǎn)移只不過占用一個指令發(fā)布機會。當在循環(huán)的開始知道轉(zhuǎn)移條件(i=255)時,這種技術(shù)甚至可以應(yīng)用到程序A)。過多的展開將產(chǎn)生相反的結(jié)果。首先,一旦使用了所有發(fā)布機會(如在程序D)中),額外的展開不會進一步加速。其次,每個展開周期輪回一般需要額外的寄存器,以保存該特定輪回的狀態(tài)。如果需要的寄存器的總數(shù)超過了可用數(shù)量,那么必須將一些寄存器溢出到高速緩存器,然后在下一個循環(huán)輪回恢復。需要發(fā)布以支持溢出和重新裝載的指令延長了程序時間,最終在循環(huán)展開時并不會使速度加快。最后的結(jié)論是——存在著一個循環(huán)最佳展開次數(shù)。展開包含異常處理的循環(huán)現(xiàn)在考慮程序A’)fori=0:1:255,{S(i);ifC(i)thenT(I(i))};其中C(i)是某種僅依賴于S(i)的稀少真實(例如,64分之一)的異常條件,T(I(i))是某種冗長異常處理,例如,1024次運算。I(i)是通過異常處理所需的S(i)計算的信息。為了舉例說明,讓我們假設(shè)T(I(i))平均在程序A)中給每個循環(huán)輪回增加16次運算,這是一個超過循環(huán)主體中4次運算的量。這個稀少但是冗長的異常處理是一種共同的編程問題。如何能夠處理這一問題而不失去展開的好處?受保護指令一種措施是通過使用受保護指令,這是一種可以在許多處理器上使用的設(shè)備。受保護指令將一個Boolean值規(guī)定為一個附加操作數(shù),其意義是指令總是占據(jù)預期的功能單元,但是如果保護失敗,那么禁止結(jié)果的保留。在執(zhí)行if-then-else中,將保護用作if條件。then子句的指令受if條件的保護,而else子句的指令受if條件的否定的保護。在任何一種情況下,兩個子句都要執(zhí)行。then子句的結(jié)果僅更新保護為真的實例,else子句的結(jié)果僅更新保護為假的實例。所有實例都執(zhí)行兩個子句的指令,容忍這個懲罰,這個懲罰不是控制流中條件改變所需的流水線延遲損失。如同在程序A)中,如果保護是壓倒性的真實的,并且else子句很大,那么受保護措施受到大的懲罰。在這種情況下,所有實例都要受到大的else子句懲罰,盡管只有很少的實例受到它的影響。如果要使運算S受到條件C的保護,那么可以如下編程guard(C,S);第一展開可以將程序A)展開到程序D’)forn=0:4:255,{S1(n);S1(n+1);S1(n+2);S1(n+3);  S2(n);S2(n+1);S2(n+2);S2(n+3);  S3(n);S3(n+1);S3(n+2);S3(n+3);  S4(n);S4(n+1);S4(n+2);S4(n+3);  S5(n);S5(n+1);S5(n+2);S5(n+3);  ifC(n)thenT(I(n));  ifC(n+1)thenT(I(n+1));<!--SIPO<DPn="35">--><dpn="d35"/>  ifC(n+2)thenT(I(n+2));  ifC(n+3)thenT(I(n+3)); };給予上述示例參數(shù),在77%的循環(huán)輪回中將不執(zhí)行T(I(n)),在21%的循環(huán)輪回中執(zhí)行一次T(I(n)),僅在2%的循環(huán)輪回中執(zhí)行一次以上的T(I(n))。顯然,插入T(I(n)),T(I(n+1)),T(I(n+2))和T(I(n+3))的運算僅得到很少的好處。堆處理一種新的可供選擇的方法是堆處理。堆是一般存儲在RAM中的相繼存儲對象。堆的意圖是要相繼地寫入,并且隨后從開始相繼地讀出。對于堆對象定義了多種方法。為了在并行處理環(huán)境下實踐堆及其方法,需要它們的實現(xiàn)是幾個順列(不轉(zhuǎn)移到子例程的)代碼的指令。也需要這種順列代碼不包含轉(zhuǎn)移指令。以下說明這種方法的實現(xiàn)。這種實現(xiàn)有可能使得堆是新穎和有價值的。1)通過Create_Pile(P)方法建立堆。這分配存儲區(qū)和初始化內(nèi)態(tài)變量。2)對堆寫入的初始方法是Conditional_Append(pile,condition,record)。這種方法在并且僅在條件為真時,將record(記錄)添加到堆pile。3)當堆已經(jīng)完全寫入時,通過Rewind_Pile(P)方法準備讀出。這調(diào)節(jié)內(nèi)部變量,從而使讀出從首先寫入的記錄開始。4)方法EOF(P)產(chǎn)生一個指示是否已經(jīng)讀出了堆的所有記錄的布爾值。5)方法Pile_Read(P,record)從堆P讀出下一順序的record。6)方法Destroy_Pile(P)通過解除所有其狀態(tài)變量的分配,廢棄堆P。利用堆分裂條件處理現(xiàn)在可以憑借堆P將程序D’)變換成程序E’)。Create_Pile(P);  forn=0:4:255,{S1(n);S1(n+1);S1(n+2);S1(n+3);  S2(n);S2(n+1);S2(n+2);S2(n+3);<!--SIPO<DPn="36">--><dpn="d36"/>  S3(n);S3(n+1);S3(n+2);S3(n+3);  S4(n);S4(n+1);S4(n+2);S4(n+3);  S5(n);S5(n+1);S5(n+2);S5(n+3);  Conditional_Append(P,C(n),I(n));  Conditional_Append(P,C(n+1),I(n+1));  Conditional_Append(P,C(n+2),I(n+2));  Conditional_Append(P,C(n+3),I(n+3));  };  Rewind(P);  whilenotEOF(P){  Pile_Read(P,I);  T(I);  };  Destroy_Pile(P);程序E’)通過將異常計算T所需的信息I存儲在堆P上操作。只是寫入了對應(yīng)于異常條件C(n)的I記錄,從而P中的I記錄的數(shù)量(例如,16)大大少于原始程序A)中的循環(huán)輪回的數(shù)量(例如,256)。然后,一個分離的while循環(huán)讀一遍堆P,執(zhí)行所有異常計算T。由于P僅包含C(n)為真的情況的記錄I,所以,僅有這些情況被處理。第二循環(huán)比第一循環(huán)稍微棘手一些,因為第二循環(huán)while的輪回數(shù)量,在本例中平均為16,是不確定的。因此,需要while循環(huán)而不是for循環(huán),當EOF方法指示已經(jīng)從堆讀出了所有記錄時,while循環(huán)終止。如前面斷言和下面要說明的,可以順列和沒有轉(zhuǎn)移地實現(xiàn)Conditional_Append方法調(diào)用。這意味著第一循環(huán)仍然以一種有效的方式展開,幾乎沒有徒然的發(fā)布機會。展開第二循環(huán)在程序E’)中不展開第二循環(huán),并且仍然是效率低下的。但是,可以憑借四個堆P1,P2,P3,P4將程序E’)變換成程序F’)。結(jié)果是F’)展開兩個循環(huán),并帶來了效率的提高。Create_Pile(P1);Create_Pile(P2);Create_Pile(P3);Create_Pile(P4);  forn=0:4:255,{S1(n);S1(n+1);S1(n+2);S1(n+3);  S2(n);S2(n+1);S2(n+2);S2(n+3);  S3(n);S3(n+1);S3(n+2);S3(n+3);  S4(n);S4(n+1);S4(n+2);S4(n+3);  S5(n);S5(n+1);S5(n+2);S5(n+3);  Conditional_Append(P1,C(n),I(n));  Conditional_Append(P2,C(n+1),I(n+1));  Conditional_Append(P3,C(n+2),I(n+2));  Conditional_Append(P4,C(n+3),I(n+3));  };  Rewind(P1);Rewind(P2);Rewind(P3);Rewind(P4);  whilenotallEOP(Pi){  Pile_Read(P1,I1);Pile_Read(P2,I2);  Pile_Read(P3,I3);Pile_Read(P4,I4);  guard(notEOF(P1),S);T(I1);  guard(notEOF(P2),S);T(I2);  guard(notEOF(P3),S);T(I3);  guard(notEOF(P4),S);T(I4);  };  Destroy_Pile(P1);Destroy_Pile(P2);Destroy_Pile(P3);Destroy_Pile(P4);程序F’)是帶有展開的第二循環(huán)的程序E’)。展開是通過將程序E’)的單獨堆分割成四個堆完成的,四個堆中的每一個都可以彼此獨立地處理。程序F’)中的第二循環(huán)的每個輪回處理來自這四個堆中的每一個的一個記錄。由于每個記錄是獨立地處理的,所以可以給每個T的運算插入3個其它T的運算。必須改進while循環(huán)的控制,以循環(huán)到所有堆被處理。并且,由于一般不會在同一循環(huán)輪回中完成所有堆,所以必須保護while循環(huán)中的T。每當兩個堆中的記錄數(shù)量彼此大不相同時效率有所降低,但是堆包含類似數(shù)量的記錄的可能性大(巨量定律)。當然,可以遞歸地使用這種堆技術(shù)。如果T本身包含一個冗長的條件子句T’,那么可以用一些附加堆將T’分離出第二循環(huán),并且展開第三循環(huán)。許多實際應(yīng)用具有數(shù)個這種嵌套異常子句。實現(xiàn)堆處理堆對象及其方法的實現(xiàn)必須保持簡單,以便滿足上述實現(xiàn)標準。a)除了Create_Pile和Destroy_Pile之外,方法實現(xiàn)必須是很少的直接插入代碼的指令。b)實現(xiàn)應(yīng)當不包含轉(zhuǎn)移指令。其要點是,一個堆是由一個在RAM中分配的線性陣列和指針,index,組成的,index的當前值是要讀出或?qū)懭氲南乱粋€記錄的位置。陣列的寫入大小,sz,是一個其值是堆的寫入過程中index的最大值的指針。EOF方法可以作為直接插入條件(sz≤index(指數(shù)))實現(xiàn)。指針基數(shù)(base)是一個指向在堆中寫入的第一位置的值。它是通過Create_Pile方法設(shè)定的。Conditional_Append方法將record復制到在index值開始的堆陣列。然后,將index遞增一個是0或記錄的大小(sz_record)的計算量。由于參數(shù)condition具有一個表示真(true)的值1,或一個表示假(false)的值0,所以可以如下計算index而無需轉(zhuǎn)移index=index+condition*sz_record;當然,這種計算有許多變化,它們中的許多不包括乘以變量的給定特定值。也可以利用保護如下計算它guard(condition,index=index+sz_record);應(yīng)當注意,將記錄復制到堆,而無需考慮condition。如果condition是false,那么用下一個記錄覆蓋這個記錄;如果condition是true,那么緊接著當前記錄寫入下一個記錄。這個下一個記錄可以是或可以不是被其后的記錄覆蓋的記錄本身。結(jié)果,一般最好盡可能少地寫入堆,即使這意味著要在讀出和處理記錄時重新計算一些(冗余的)數(shù)據(jù)。Rewind方法是通過sz_index;index=base;實現(xiàn)的。這個操作記錄為了EOF方法寫入的數(shù)據(jù)量,然后,將index重置到開始。Pile_Read方法將(長度sz_record的)堆的下一部分復制到I并且遞增index。index=index+sz_record;Destroy_Pile方法解除分配給Pile的存儲位置。所有這些方法(除了Create_Pile和Destroy_Pile之外)可以用很少幾個直接插入指令實現(xiàn),并且無需轉(zhuǎn)移。因此,堆處理允許在存在轉(zhuǎn)移的情況下,循環(huán)的展開,并結(jié)果提高了性能。這種技術(shù)特別允許冗長異常子句的并行執(zhí)行。其代價是需要向/從RAM寫入和重新讀出最為適度量的數(shù)據(jù)。權(quán)利要求1.一種壓縮數(shù)據(jù)的方法,包括接收插值公式;在需要的數(shù)據(jù)值難于得到的情況下,通過插值公式確定是否需要至少一個數(shù)據(jù)值;和執(zhí)行外推運算以產(chǎn)生需要的難于得到的數(shù)據(jù)值;其中利用插值公式壓縮數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其中插值公式是小波濾波器的分量。3.根據(jù)權(quán)利要求1所述的方法,進一步包括將多個數(shù)據(jù)值劃分成多個變化范圍。4.根據(jù)權(quán)利要求3所述的方法,進一步包括通過僅使用一個變化范圍內(nèi)的數(shù)據(jù)值減少涉及插值公式的計算量。5.根據(jù)權(quán)利要求2所述的方法,進一步包括有選擇地用多相濾波器替代小波濾波器。6.根據(jù)權(quán)利要求1所述的方法,進一步包括量化數(shù)據(jù)值。7.根據(jù)權(quán)利要求6所述的方法,進一步包括通過減少數(shù)據(jù)值的量,減少與熵編碼相關(guān)的計算量。8.根據(jù)權(quán)利要求7所述的方法,其中在涉及數(shù)據(jù)值的量化運算的過程中減少數(shù)據(jù)值的量。9.根據(jù)權(quán)利要求7所述的方法,其中利用堆減少數(shù)據(jù)值的量。10.根據(jù)權(quán)利要求1所述的方法,進一步包括減少有關(guān)將多個數(shù)據(jù)值重構(gòu)到一個預定數(shù)據(jù)范圍的計算的量。11.根據(jù)權(quán)利要求10所述的方法,其中通過僅執(zhí)行一個單獨裁減操作來減少計算。12.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括一個插值公式,包括13.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括Y2N+1=(X2N+1+1/2)-(X2N+1/2)。14.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括15.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括16.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括17.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括18.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括19.根據(jù)權(quán)利要求2所述的方法,其中小波濾波器包括插值公式,包括(X2N+1+1/2)=Y(jié)2N+1+(X2N+1/2)。20.一種壓縮數(shù)據(jù)的計算程序產(chǎn)品,包括用于接收插值公式的計算機代碼;在所需數(shù)據(jù)值難于得到的情況下,用于確定插值公式是否需要至少一個數(shù)據(jù)值的計算機代碼;和用于執(zhí)行外推運算以產(chǎn)生需要的難于得到的數(shù)據(jù)值的計算機代碼;其中將插值公式用于壓縮數(shù)據(jù)。21.一種壓縮數(shù)據(jù)的系統(tǒng),包括邏輯電路,用于分析小波方案以確定小波濾波器逼近的偏導數(shù);根據(jù)小波濾波器的特性和可用抽樣的數(shù)量選擇多項式階數(shù);利用選擇的多項式階數(shù)導出每個小波濾波器的外推公式;和通過每種情況中的可用抽樣,利用外推公式,導出特定邊緣小波情況。22.一種壓縮數(shù)據(jù)的方法,包括在一個單獨裝置中接收數(shù)據(jù);利用該單獨裝置編碼數(shù)據(jù)以產(chǎn)生第一格式的第一壓縮數(shù)據(jù);和利用該單獨裝置對第一壓縮數(shù)據(jù)進行轉(zhuǎn)換代碼,以產(chǎn)生第二格式的第二壓縮數(shù)據(jù)。23.根據(jù)權(quán)利要求22所述的方法,其中編碼是實時發(fā)生的。24.根據(jù)權(quán)利要求22所述的方法,其中代碼轉(zhuǎn)換是離線發(fā)生的。25.根據(jù)權(quán)利要求22所述的方法,其中對第一壓縮數(shù)據(jù)進行轉(zhuǎn)換代碼,以產(chǎn)生第二格式的第二壓縮數(shù)據(jù),從而使第二壓縮數(shù)據(jù)適合于匹配耦合到單獨裝置的通信網(wǎng)的能力。26.根據(jù)權(quán)利要求22所述的方法,其中編碼是利用第一編碼器進行的。27.根據(jù)權(quán)利要求26所述的方法,其中代碼轉(zhuǎn)換是利用解碼器和第二編碼器進行的。28.根據(jù)權(quán)利要求22所述的方法,其中第一格式包括基于小波的格式。29.根據(jù)權(quán)利要求22所述的方法,其中第二格式包括基于DCT的格式。30.根據(jù)權(quán)利要求29所述的方法,其中第二格式包括一種MPEG格式。31.一種壓縮數(shù)據(jù)的單獨裝置,包括配備在單獨裝置上的編碼器,用于對數(shù)據(jù)編碼以產(chǎn)生第一格式的第一壓縮數(shù)據(jù);和與編碼器配備在同一單獨裝置上的代碼轉(zhuǎn)換器,用于代碼轉(zhuǎn)換第一壓縮數(shù)據(jù)以產(chǎn)生第二格式的第二壓縮數(shù)據(jù)。32.根據(jù)權(quán)利要求31所述的單獨裝置,其中編碼是實時發(fā)生的。33.根據(jù)權(quán)利要求31所述的單獨裝置,其中代碼轉(zhuǎn)換是離線發(fā)生的。34.根據(jù)權(quán)利要求31所述的單獨裝置,其中對第一壓縮數(shù)據(jù)進行代碼轉(zhuǎn)換以產(chǎn)生第二格式的第二壓縮數(shù)據(jù),從而使第二壓縮數(shù)據(jù)適合于匹配耦合到單獨裝置的通信網(wǎng)的能力。35.根據(jù)權(quán)利要求31所述的單獨裝置,其中編碼是利用第一編碼器進行的。36.根據(jù)權(quán)利要求35所述的單獨裝置,其中代碼轉(zhuǎn)換是利用解碼器和第二編碼器進行的。37.根據(jù)權(quán)利要求31所述的單獨裝置,其中第一格式包括基于小波的格式。38.根據(jù)權(quán)利要求31所述的單獨裝置,其中第二格式包括基于DCT的格式。39.根據(jù)權(quán)利要求38所述的單獨裝置,其中第二格式包括MPEG格式。40.一種利用單獨集成電路上的多個編碼器壓縮數(shù)據(jù)的方法,包括在一個單獨集成電路中接收數(shù)據(jù);利用結(jié)合在單獨集成電路上的多個編碼器編碼數(shù)據(jù);41.根據(jù)權(quán)利要求40所述的方法,其中數(shù)據(jù)是利用單獨集成電路上的多個信道編碼的。42.根據(jù)權(quán)利要求40所述的方法,其中將數(shù)據(jù)編碼成基于小波的格式。43.一種壓縮數(shù)據(jù)的單獨集成電路,包括配備在單獨集成電路上的第一編碼器,用于編碼第一數(shù)據(jù)集;和與第一編碼器配備在同一單獨集成電路上的第二編碼器,用于編碼第二數(shù)據(jù)集。44.根據(jù)權(quán)利要求43所述的單獨集成電路,其中數(shù)據(jù)是利用單獨集成電路上的多個信道編碼的。45.根據(jù)權(quán)利要求43所述的單獨集成電路,其中將數(shù)據(jù)編碼成基于小波的格式。46.一種利用一個單獨模塊壓縮數(shù)據(jù)的方法,包括利用單獨模塊接收光子;和利用單獨模塊輸出代表光子的壓縮數(shù)據(jù)。47.根據(jù)權(quán)利要求46所述的單獨模塊,其中將壓縮數(shù)據(jù)編碼成基于小波的格式。48.根據(jù)權(quán)利要求47所述的單獨模塊,其中與編碼相關(guān)的變換運算是以模擬方式進行的。49.根據(jù)權(quán)利要求46所述的單獨模塊,其中單獨模塊包括一個成像器。全文摘要一種用于壓縮數(shù)據(jù)的系統(tǒng)、方法、和計算機產(chǎn)品。首先,接收一個插值公式。利用這個插值公式壓縮數(shù)據(jù)。在使用中,當所需數(shù)據(jù)值難于得到的情況下,確定插值公式是否需要至少一個數(shù)據(jù)值。如果是這種情況,執(zhí)行外推公式,以產(chǎn)生所需的難于得到的數(shù)據(jù)值。文檔編號H04N7/26GK1663257SQ0381409公開日2005年8月31日申請日期2003年4月17日優(yōu)先權(quán)日2002年4月19日發(fā)明者克拉西米爾·科拉羅夫,威廉·C·林奇,史蒂文·E·桑德斯,托馬斯·A·達爾博內(nèi)申請人:德國普萊特科技公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1