国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng)的制作方法

      文檔序號:7761240閱讀:412來源:國知局
      專利名稱:壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及壓縮編碼方法、解碼解壓方法、裝置和通信系 統(tǒng)。
      背景技術(shù)
      隨著通信系統(tǒng)的快速發(fā)展,通信業(yè)務(wù)類型和業(yè)務(wù)量日益增長,通信系統(tǒng)中需要進(jìn) 行傳輸?shù)臄?shù)據(jù)量也急劇增加,為了滿足通信業(yè)務(wù)激增的需要,需要通過對通信信號和數(shù)據(jù) 進(jìn)行壓縮來節(jié)省網(wǎng)絡(luò)資源。語音、音頻、圖像和視頻信號都是最常見的通信系統(tǒng)中進(jìn)行傳輸?shù)亩嗝襟w信源,因 為這些多媒體信源自身都具有較強(qiáng)的相關(guān)性和統(tǒng)計(jì)特性,并且已經(jīng)具有了較好的數(shù)學(xué)和物 理模型,因而具有了很好的數(shù)據(jù)壓縮算法,可以將原始多媒體數(shù)據(jù)壓縮到原來的幾十分之 一的范圍內(nèi),大大的提高了信道利用率并減低了設(shè)備和運(yùn)營成本。然而,由于一般數(shù)據(jù)不具 備多媒體信源高度的相關(guān)性和統(tǒng)計(jì)特性,所以針對語音、音頻、圖像和視頻信號有效地壓縮 編碼方法無法直接用于一般數(shù)據(jù)的壓縮,所以需要專門針對一般數(shù)據(jù)進(jìn)行壓縮編碼。在一般數(shù)據(jù)進(jìn)行壓縮編碼時(shí),現(xiàn)有技術(shù)首先需要將輸入的一幀原始數(shù)據(jù)分解成第 一子集和第二子集,一方面,利用第一子集數(shù)據(jù)估計(jì)第二子集數(shù)據(jù),得到第二子集數(shù)據(jù)的估 值,然后由第二子集減去得到的第二子集的估值得到一組誤差數(shù)據(jù);另一方面,第一子集數(shù) 據(jù)經(jīng)過一個(gè)導(dǎo)數(shù)編碼器處理得到子集尾數(shù)和子集指數(shù),以及反映第一子集編碼信息的子集 導(dǎo)數(shù)及子集霍夫曼(Huffman)表,而誤差數(shù)據(jù)經(jīng)過另一個(gè)導(dǎo)數(shù)編碼器處理得到誤差尾數(shù)和 誤差指數(shù),以及反映誤差數(shù)據(jù)編碼信息的誤差導(dǎo)數(shù)及誤差Huffman表;其中,子集導(dǎo)數(shù)、子 集Huffman表、誤差導(dǎo)數(shù)和誤差Huffman表決定了表示一組浮點(diǎn)數(shù)據(jù)需要的最少存儲(chǔ)量,所 以,頭信息編碼器需要將將子集導(dǎo)數(shù)、子集Huffman表、誤差導(dǎo)數(shù)及誤差Huffman表和來自 反映編碼器編碼設(shè)置的編碼參數(shù)組合成頭信息,然后由格式化模塊將頭信息、子集尾數(shù)、子 集指數(shù)、誤差尾數(shù)和誤差指數(shù)按照一定的格式組合成編碼數(shù)據(jù)幀,形成壓縮數(shù)據(jù)輸出。解碼 解壓流程為上述的逆過程,在此不再贅述。在對現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)采用了同一 算法對第一子集數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,其壓縮比不夠高。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng),可以具有更高 的壓縮比。一種壓縮編碼方法,包括分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼, 所述誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編 碼;
      5
      將數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀。
      一種解碼解壓方法,包括對編碼幀進(jìn)行解封裝,以得到數(shù)據(jù)熵編碼和誤差熵編碼;分別對所述數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮 編碼;分別對所述數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解 碼解壓誤差;對解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。一種解碼解壓方法,包括對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼;分別對所述二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得到二級誤 差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;分別對所述數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解 碼解壓誤差;對二級誤差、解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。一種壓縮編碼器,包括壓縮編碼單元,用于分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編 碼和誤差壓縮編碼,所述誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;熵編碼單元,用于分別對壓縮編碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行 熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編碼;封裝單元,用于將熵編碼單元得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成 編碼幀。一種解碼解壓器,包括第一解封單元,用于對編碼幀進(jìn)行解封裝,以得到數(shù)據(jù)熵編碼和誤差熵編碼;第一熵解碼單元,用于分別對第一解封單元得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行 熵解碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼;第一解碼解壓單元,用于分別對第一熵解碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮 編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第一重構(gòu)單元,用于對第一解碼解壓單元得到的解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn) 行相加,得到重構(gòu)數(shù)據(jù)。一種解碼解壓器,包括第二解封單元,用于對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤 差熵編碼;第二熵解碼單元,用于分別對第二解封單元得到的二級誤差熵編碼、數(shù)據(jù)熵編碼 和誤差熵編碼進(jìn)行熵解碼,得到二級誤差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;第二解碼解壓單元,用于分別對第二熵解碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮 編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第二重構(gòu)單元,用于對第二熵解碼單元得到的二級誤差,以及第二解碼解壓單元 得到的解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。
      一種通信系統(tǒng),包括本發(fā)明實(shí)施例提供的任一種壓縮編碼器和任一種解碼解壓
      明實(shí)施例將壓縮編碼算法分成兩級進(jìn)行,第一級是對原始數(shù)據(jù)進(jìn)行壓縮編 碼,第二級是對在第一級壓縮編碼時(shí)所產(chǎn)生的誤差進(jìn)行壓縮編碼,然后再分別對這兩級壓 縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,由于本方案對數(shù)據(jù)進(jìn)行了多次壓 縮編碼,所以相對于現(xiàn)有技術(shù)只進(jìn)行一次壓縮編碼而言,可以達(dá)到較高的壓縮比,而且,由 于在本方案中,除了對原始數(shù)據(jù)進(jìn)行壓縮編碼外,還特別對第一級壓縮編碼時(shí)所產(chǎn)生的誤 差進(jìn)行了壓縮編碼,并分別對壓縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼, 所以相對于現(xiàn)有技術(shù)而言,可以提高壓縮質(zhì)量。


      為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于 本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他
      的附圖。
      圖Ia是本發(fā)明實(shí)施例一提供的壓縮編碼方法的流程圖Ib是一個(gè)原始數(shù)據(jù)的概率分布實(shí)例圖Ic是圖Ib所對應(yīng)的誤差數(shù)據(jù)的概率分布實(shí)例圖Id是一個(gè)4比特編碼時(shí)數(shù)據(jù)壓縮編碼中16個(gè)碼字概率分布的實(shí)例圖
      圖Ie是一個(gè)4比特編碼時(shí)誤差壓縮編碼中16個(gè)碼字概率分布的實(shí)例圖
      圖2是本發(fā)明實(shí)施例二提供的解碼解壓方法的流程圖3a是一段原始數(shù)據(jù)的實(shí)例圖3b是圖3a所對應(yīng)的誤差數(shù)據(jù)的實(shí)例圖3c是圖3a所對應(yīng)的重構(gòu)數(shù)據(jù)的實(shí)例圖3d是圖3a所對應(yīng)的二級誤差的實(shí)例圖3e是圖3a所對應(yīng)的二級誤差的概率分布實(shí)例圖3f是本發(fā)明實(shí)施例三提供的壓縮編碼方法的流程圖4是本發(fā)明實(shí)施例四提供的解碼解壓方法的流程圖5a是壓縮編碼器的原理框圖5b是解碼解壓器的原理框圖5c是編碼幀結(jié)構(gòu)和編碼比特流的示意圖6a是壓縮編碼器的原理框圖6b是解碼解壓器的原理框圖6c是編碼幀結(jié)構(gòu)和編碼比特流的示意圖7a是本發(fā)明實(shí)施例提供的壓縮編碼器的結(jié)構(gòu)示意圖7b是本發(fā)明實(shí)施例提供的壓縮編碼器的另一結(jié)構(gòu)示意圖8是本發(fā)明實(shí)施例提供的解碼解壓器的結(jié)構(gòu)示意圖9是本發(fā)明實(shí)施例提供的解碼解壓器的另一結(jié)構(gòu)示意圖。
      具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng)。以下分別 進(jìn)行詳細(xì)說明。實(shí)施例一、本實(shí)施例將從壓縮編碼器的角度進(jìn)行描述。一種壓縮編碼方法,包括分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓 縮編碼和誤差壓縮編碼,其中,誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;分別對 數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編碼;將數(shù)據(jù)熵編碼 和誤差熵編碼進(jìn)行幀封裝以形成編碼幀。如圖Ia所示,具體流程可以如下101、分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編 碼。其中,誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差,具體可以如下(1)對原始數(shù)據(jù)進(jìn)行壓縮編碼,得到壓縮后的數(shù)據(jù),在本發(fā)明實(shí)施例中稱之為數(shù)據(jù) 壓縮編碼。對原始數(shù)據(jù)進(jìn)行壓縮編碼時(shí),具體可以根據(jù)應(yīng)用系統(tǒng)對壓縮性能和成本的要 求采用不同的方法,比如可以采用算法簡單的波形編碼方法,可以采用算法比較復(fù)雜的 預(yù)測和變換算法,或者,還可以采用壓縮比較高但算法比較復(fù)雜的矢量量化(VQ,Vector Quantization)卞法,等等;其中,波形編碼方法可以包括脈沖編碼調(diào)制(PCM,Pulse Code Modulation)或自 適應(yīng)差分脈沖編碼調(diào)制(ADPCM,Adaptive Differential Pulse CodeModulation)等;預(yù) 測可以包括線性預(yù)測(LP,Linear Prediction)等,變換可以包括小波變換(WT,Wavelet Transform)變換或離散余弦變換(DCT, DiscreteCosine Transform)變換等。(2)對數(shù)據(jù)壓縮編碼進(jìn)行解碼解壓,得到解壓解壓后的數(shù)據(jù),在本發(fā)明實(shí)施例中稱 為解碼解壓數(shù)據(jù);比如,具體可以采用波形解碼方法、預(yù)測和變換算法、或矢量量化方法對數(shù)據(jù)壓縮 編碼進(jìn)行解碼解壓。需說明的是,所采用的解碼解壓算法應(yīng)該與步驟(1)中所采用的壓縮編碼算法相 對應(yīng),比如,如果在步驟(1)中,采用波形編碼方法對原始數(shù)據(jù)進(jìn)行壓縮編碼,則此時(shí)需要 采用波形解碼方法對數(shù)據(jù)壓縮編碼進(jìn)行解碼解壓;又比如,如果在步驟(1)中,采用矢量量 化方法對原始數(shù)據(jù)進(jìn)行壓縮編碼,則此時(shí)需要采用矢量量化方法對數(shù)據(jù)壓縮編碼進(jìn)行解碼 解壓,依此類推。另外,還需說明的是,本發(fā)明實(shí)施例所說的“解碼解壓”指的是解編碼解壓縮,它與 在編碼器中的“壓縮編碼”相對應(yīng),二者正好是相反的處理過程。在編碼算法或編碼器(比 如本發(fā)明實(shí)施例中所說的壓縮編碼器)中,“壓縮編碼”實(shí)際有兩含義,即“壓縮”和“編碼”;時(shí)的正向信號處理和多余度的消除等,而“編碼”可能包 括量化、以及量化之后的等長編碼和不等長編碼(即熵編碼)等。而在解碼算法或解碼器 (比如本發(fā)明實(shí)施例中所說的解碼解壓器)中,處理過程與壓縮編碼正好相反,因此“解碼 解壓”實(shí)際包括“解碼”,即等長或不等長的解碼以及反量化處理等;“解壓”實(shí)際是指時(shí)域、 頻域或時(shí)頻同時(shí)的反向信號處理的過程。為了描述方便,在本發(fā)明實(shí)施例中,均將上述解 碼和解壓過程則統(tǒng)稱為解碼解壓,并將通過該解碼解壓過程所得到的數(shù)據(jù)稱為解碼解壓數(shù) 據(jù)。(3)計(jì)算原始數(shù)據(jù)與解碼解壓數(shù)據(jù)之間的誤差,得到誤差數(shù)據(jù);(4)對誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到壓縮編碼后的誤差數(shù)據(jù),在本實(shí)施例中稱之為 誤差壓縮編碼。例如,可以采用算法簡單的標(biāo)量量化(SQ,Scalar Quantization)方法,比如非均 勻量化編碼算法對誤差數(shù)據(jù)進(jìn)行壓縮編碼。這是因?yàn)?,在?shí)際應(yīng)用中,誤差數(shù)據(jù)的分布一般是非均勻分布的,參見圖Ib和圖 Ic,圖Ib是一個(gè)原始數(shù)據(jù)的概率分布實(shí)例圖,而圖Ic則是它所對應(yīng)的誤差數(shù)據(jù)的概率分布 實(shí)例圖,可見,誤差數(shù)據(jù)只有在一個(gè)較窄的觀測范圍內(nèi)(0附近)才具有較大的分布百分比, 即誤差數(shù)據(jù)的概率分布是非常不等概的分布,因此在此對誤差數(shù)據(jù)進(jìn)行壓縮編碼時(shí)最好采 用非均勻量化編碼算法,比如Lloyd-Max非均勻標(biāo)量量化算法。步驟101中所產(chǎn)生的數(shù)據(jù)壓縮編碼和誤差壓縮編碼也同樣具有較強(qiáng)不等概性,所 謂的不等概性,指的是概率分布不均等,參見圖Id和圖le,其中,圖Id是一個(gè)4比特編碼時(shí) 數(shù)據(jù)壓縮編碼中16個(gè)碼字概率分布的實(shí)例圖,而圖Ie則是一個(gè)4比特編碼時(shí)誤差壓縮編 碼中16個(gè)碼字概率分布的實(shí)例圖;可以看出,數(shù)據(jù)壓縮編碼和誤差壓縮編碼的碼字出現(xiàn)的 概率是不均等的,因此,可以采用熵編碼對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行進(jìn)一步的壓 縮,即執(zhí)行步驟102。102、分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,得到熵編碼后的數(shù)據(jù)壓縮 編碼和熵編碼后的誤差壓縮編碼,在本發(fā)明實(shí)施例中分別稱為數(shù)據(jù)熵編碼和誤差熵編碼;例如,可以采用霍夫曼(Huffman)編碼、和/或算術(shù)編碼、和/或其他不等長編碼 算法分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼。需說明的是,熵編碼是一種無失真的編碼,而步驟101中所提供的壓縮編碼方式 則是一種有失真的編碼,在此不再贅述。103、將數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀。需說明的是,當(dāng)壓縮編碼器和解碼解壓器工作在固定模式時(shí),編碼幀中可以不需 要幀頭信息;但是,如果壓縮編碼器和解碼解壓器工作在時(shí)變的模式時(shí),編碼幀中需要攜帶 幀頭信息,該幀頭信息攜帶當(dāng)前編碼幀的編碼模式。進(jìn)一步的,在編碼幀中攜帶幀頭時(shí),根據(jù)具體的應(yīng)用需求,該幀頭信息還可以攜帶 幀長、編碼速率和量化編碼表格等信息,在此不再贅述。由上可知,本實(shí)施例將壓縮編碼算法分成兩級進(jìn)行,第一級是對原始數(shù)據(jù)進(jìn)行壓 縮編碼,第二級是對在第一級壓縮編碼時(shí)所產(chǎn)生的誤差進(jìn)行壓縮編碼,然后再分別對這兩 級壓縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,由于本方案對數(shù)據(jù)進(jìn)行了多 次壓縮編碼,所以相對于現(xiàn)有技術(shù)只進(jìn)行一次壓縮編碼而言,可以達(dá)到較高的壓縮比;進(jìn)
      9一步的,在本方案中,除了對原始數(shù)據(jù)進(jìn)行壓縮編碼外,還特別對第一級壓縮編碼時(shí)所產(chǎn)生 的誤差進(jìn)行了壓縮編碼,并分別對壓縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編 碼,所以相對于現(xiàn)有技術(shù)而言,可以提高壓縮質(zhì)量。實(shí)施例二、本實(shí)施例將從解碼解壓器的角度進(jìn)行描述。與實(shí)施例一相應(yīng)的,本發(fā)明實(shí)施例還提供一種解碼解壓方法,包括對編碼幀進(jìn)行 解封裝,以得到數(shù)據(jù)熵編碼和誤差熵編碼;分別對數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得 到數(shù)據(jù)壓縮編碼和誤差壓縮編碼;分別對所得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼 解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;對解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到 相加后的數(shù)據(jù),在發(fā)明實(shí)施例中稱為重構(gòu)數(shù)據(jù)。參見圖2,具體流程可以如下201、對編碼幀進(jìn)行解封裝,得到數(shù)據(jù)熵編碼和誤差熵編碼;例如,如果編碼幀中不包括幀頭信息,則將編碼幀分解為數(shù)據(jù)熵編碼和誤差熵編 碼。比如,可以根據(jù)預(yù)置信息對編碼幀進(jìn)行分解,得到數(shù)據(jù)熵編碼和誤差熵編碼。如果編碼幀中包括幀頭信息,則將編碼幀分解為幀頭信息、數(shù)據(jù)熵編碼和誤差熵 編碼。比如,可以先獲取幀頭信息,然后根據(jù)幀頭信息對編碼幀進(jìn)行分解,得到數(shù)據(jù)熵編碼 和誤差熵編碼。其中,幀頭信息攜帶當(dāng)前編碼幀的編碼模式;當(dāng)然,根據(jù)具體的應(yīng)用需求, 該幀頭信息還可以攜帶幀長、編碼速率和量化編碼表格等信息,參見實(shí)施例一,在此不再贅 述。202、分別對數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮 編碼;例如,具體可以采用Huffman解碼、和/或算術(shù)解碼、和/或其他不等長編碼算法 分別對步驟201中得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼。需說明的是,這里所采用的熵解碼算法需要與熵編碼算法相對應(yīng),比如,如果在進(jìn) 行熵編碼時(shí)采用的是Huffman編碼,則進(jìn)行熵解碼時(shí)需要采用Huffman解碼,依此類推。其 中,具體采用何種算法的指示信息可以攜帶在幀頭信息中,或者通過預(yù)置信息進(jìn)行指定。如 果該指示信息攜帶在幀頭信息中,則具體實(shí)施時(shí),可以根據(jù)幀頭信息分別對數(shù)據(jù)熵編碼和 誤差熵編碼進(jìn)行熵解碼;如果是通過預(yù)置信息進(jìn)行指定,則具體實(shí)施時(shí),可以根據(jù)預(yù)置信息 分別對數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼。203、分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解 碼解壓誤差;例如,具體可以采用波形解碼方法、預(yù)測和變換算法、或矢量量化方法對數(shù)據(jù)壓縮 編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù);相應(yīng)的,可以采用非均勻量化解碼算法對誤差壓縮 編碼進(jìn)行解碼解壓,得到解碼解壓誤差。需說明的是,這里所采用的解碼解壓算法需要與壓縮編碼時(shí)所采用壓縮編碼算法 相對應(yīng),比如,如果在進(jìn)行壓縮編碼時(shí)采用的是波形編碼方法,則進(jìn)行解碼解壓時(shí)需要采用 波形解碼方法,依此類推。其中,具體采用何種算法的指示信息可以攜帶在幀頭信息中,或 者通過預(yù)置信息進(jìn)行指定。如果該指示信息攜帶在幀頭信息中,則具體實(shí)施時(shí),可以根據(jù) 幀頭信息分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓;如果是通過預(yù)置信息進(jìn)行指定,則具體實(shí)施時(shí),可以根據(jù)預(yù)置信息分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓。204、對解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。由上可知,本實(shí)施例提供了與實(shí)施例一相對應(yīng)的解碼解壓方法,可見,本實(shí)施例可 以實(shí)現(xiàn)與實(shí)施例一同樣的有益效果,即相對于現(xiàn)有技術(shù)而言,可以達(dá)到較高的壓縮比,以及 較高的壓縮質(zhì)量。實(shí)施例三、實(shí)施例一所提供的壓縮編碼方法是一種有失真的壓縮編碼方法,為了進(jìn)一步提高 壓縮編碼的質(zhì)量,在本實(shí)施例中,提供了一種無失真的壓縮編碼方法。參見圖3a、圖3b、圖3c、圖3d和圖3e,其中,圖3a為一段原始數(shù)據(jù)的實(shí)例圖,圖3b 是該原始數(shù)據(jù)所對應(yīng)的誤差數(shù)據(jù)的實(shí)例圖,圖3c經(jīng)過實(shí)施例二所提供的解碼解壓方法得 到的重構(gòu)數(shù)據(jù)的實(shí)例圖,而圖3d則顯示了原始數(shù)據(jù)與重構(gòu)數(shù)據(jù)的差值,這個(gè)差值就是在壓 縮編碼過程中所產(chǎn)生的總體誤差,這里可以稱其為二級誤差,為了進(jìn)一步提高壓縮質(zhì)量,可 以對該二級誤差再進(jìn)行一次壓縮,即在實(shí)施例一的基礎(chǔ)上,該壓縮編碼方法還可以包括對誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓誤差;計(jì)算誤差數(shù)據(jù)與解碼解壓誤 差之間的誤差,得到二級誤差;對該二級誤差進(jìn)行熵編碼,得到二級誤差熵編碼;則相應(yīng)的,此時(shí)步驟103具體為將數(shù)據(jù)熵編碼、誤差熵編碼和二級誤差熵編碼進(jìn) 行幀封裝以形成編碼幀。參見圖3f,該無失真的壓縮編碼方法的具體流程可以如下301、分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編 碼,其中,誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;具體可參見實(shí)施例一,在此 不再贅述。302、對誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓誤差;需說明的是,這里所采用的解碼解壓算法應(yīng)該與對誤差數(shù)據(jù)進(jìn)行壓縮編碼時(shí)所采 用的壓縮編碼算法相對應(yīng)。303、計(jì)算誤差數(shù)據(jù)與解碼解壓誤差之間的誤差,得到二級誤差;由于誤差數(shù)據(jù)是對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差,所以計(jì)算誤差數(shù)據(jù)與解 碼解壓誤差之間的誤差即可得到在壓縮編碼過程中所產(chǎn)生的總體誤差,即二級誤差。304、分別對二級誤差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,得到二級誤差 熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼,具體可采用的熵編碼算法可參見實(shí)施例一,在此不再贅 述。305、將數(shù)據(jù)熵編碼、誤差熵編碼和二級誤差熵編碼進(jìn)行幀封裝以形成編碼幀。由上可知,本實(shí)施例除了可以實(shí)現(xiàn)實(shí)施例一所描述的有益效果之外,進(jìn)一步的,還 可以對在進(jìn)行第二次壓縮編碼(即對在第一級壓縮編碼時(shí)所產(chǎn)生的誤差進(jìn)行壓縮編碼)時(shí) 所產(chǎn)生的誤差作進(jìn)一步的熵編碼,從而相對于實(shí)施例一而言,可以進(jìn)一步提高壓縮質(zhì)量,實(shí) 現(xiàn)無失真壓縮。實(shí)施例四、本發(fā)明實(shí)施例將從解碼解壓器的角度進(jìn)行描述。與實(shí)施例三相應(yīng)的,本實(shí)施例提供一種解碼解壓方法,包括對編碼幀進(jìn)行解封 裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼;分別對二級誤差熵編碼、數(shù)據(jù)熵編碼
      11和誤差熵編碼進(jìn)行熵解碼,得到二級誤差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;分別對該數(shù)據(jù)壓 縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;對二級誤差、解 碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。參見圖4,具體流程可以如下401、對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼;例如,如果編碼幀中不包括幀頭信息,則將編碼幀分解為二級誤差熵編碼、數(shù)據(jù)熵 編碼和誤差熵編碼;如果編碼幀中包括幀頭信息,則將編碼幀分解為幀頭信息、二級誤差熵 編碼、數(shù)據(jù)熵編碼和誤差熵編碼。其中,幀頭信息攜帶當(dāng)前編碼幀的編碼模式,當(dāng)然,根據(jù)具體的應(yīng)用需求,該幀頭 信息還可以攜帶幀長、編碼速率和量化編碼表格等信息,參見實(shí)施例一,在此不再贅述。402、分別對二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得到二級誤 差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;例如,具體可以采用Huffman解碼、和/或算術(shù)解碼、和/或其他不等長編碼算法 分別對該二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼。需說明的是,這里所采用的熵解碼算法需要與熵編碼算法相對應(yīng),比如,如果在進(jìn) 行熵編碼時(shí)采用的是Huffman編碼,則進(jìn)行熵解碼時(shí)需要采用Huffman解碼,依此類推。其 中,具體采用何種算法的指示信息可以攜帶在幀頭信息中,或者通過預(yù)置信息進(jìn)行指定。如 果該指示信息攜帶在幀頭信息中,則具體實(shí)施時(shí),可以根據(jù)幀頭信息分別對二級誤差熵編 碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼;如果是通過預(yù)置信息進(jìn)行指定,則具體實(shí)施時(shí), 可以根據(jù)預(yù)置信息分別對二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼。403、分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解 碼解壓誤差;例如,具體可以采用波形解碼方法、預(yù)測和變換算法、或矢量量化方法對數(shù)據(jù)壓縮 編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù);相應(yīng)的,可以采用非均勻量化解碼算法對該誤差壓 縮編碼進(jìn)行解碼解壓,得到解碼解壓誤差。需說明的是,這里所采用的解碼解壓算法需要與壓縮編碼時(shí)所采用壓縮編碼算法 相對應(yīng),比如,如果在進(jìn)行壓縮編碼時(shí)采用的是波形編碼方法,則進(jìn)行解碼解壓時(shí)需要采用 波形解碼方法,依此類推。其中,具體采用何種算法的指示信息可以攜帶在幀頭信息中,或 者通過預(yù)置信息進(jìn)行指定。如果該指示信息攜帶在幀頭信息中,則具體實(shí)施時(shí),可以根據(jù) 幀頭信息分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓;如果是通過預(yù)置信息進(jìn)行指 定,則具體實(shí)施時(shí),可以根據(jù)預(yù)置信息分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓。404、對二級誤差、解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。需說明的是,如果是無失真的壓縮編碼,則此時(shí)得到的重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)相同, 如果是有失真的壓縮編碼,則此時(shí)得到的重構(gòu)數(shù)據(jù)與原始數(shù)據(jù)會(huì)存在少許誤差。由上可知,本實(shí)施例提供了與實(shí)施例三相對應(yīng)的解碼解壓方法,可見,本實(shí)施例可 以實(shí)現(xiàn)與實(shí)施例三同樣的有益效果,即相對于現(xiàn)有技術(shù)而言,可以達(dá)到較高的壓縮比,以及 較高的壓縮質(zhì)量,而且,相對于實(shí)施例二而言,也可以進(jìn)一步提高壓縮質(zhì)量。根據(jù)前面實(shí)施例所描述的方法,以下將在實(shí)施例五和實(shí)施例六中舉例作進(jìn)一步詳 細(xì)說明。
      實(shí)施例五、在本實(shí)施例中,將對有失真的壓縮編碼方法(實(shí)施例一和二)作進(jìn)一步詳細(xì)說明。參見圖5a和圖5b,其中,圖5a為壓縮編碼器的原理框圖,該壓縮編碼器包括數(shù)據(jù) 壓縮編碼模塊A501、壓縮編碼器的數(shù)據(jù)解碼解壓模塊A502、壓縮編碼器的加法器A503、誤 差壓縮編碼模塊A504、誤差熵編碼模塊A505、數(shù)據(jù)熵編碼模塊A506和幀封裝模塊A507 ;圖 5b為解碼解壓器的原理框圖,該解碼解壓器包括幀解封模塊B501、誤差熵解碼模塊B502、 數(shù)據(jù)熵解碼模塊B503、誤差解碼解壓模塊B504、解碼解壓器的數(shù)據(jù)解碼解壓模塊B505和解 碼解壓器的加法器B506。為了描述方便,在本實(shí)施例中,以編碼幀中包括了幀頭信息為例進(jìn)行說明,另外, 在本實(shí)施例中,設(shè)定數(shù)據(jù)壓縮編碼模塊A501采用了 ADPCM編碼算法,誤差壓縮編碼模塊 A504采用Lloyd-Max非均勻標(biāo)量量化算法,誤差熵編碼模塊A505和數(shù)據(jù)熵編碼模塊A506 采用Huffman編碼算法,而數(shù)據(jù)解壓解碼模塊B505則對應(yīng)地采用了 ADPCM解碼算法,誤差 解碼解壓模塊B504對應(yīng)地采用Lloyd-Max非均勻標(biāo)量量化算法,誤差熵解碼模塊B502和 數(shù)據(jù)熵解碼模塊B503對應(yīng)地采用Huffman解碼算法,則該壓縮編碼器和解碼解壓器的處理 流程如下(一)壓縮編碼器步驟1、數(shù)據(jù)壓縮編碼模塊A501采用ADPCM編碼算法對原始數(shù)據(jù)S進(jìn)行壓縮編碼, 得到數(shù)據(jù)壓縮編碼Sc,將數(shù)據(jù)壓縮編碼Sc輸送給壓縮編碼器的數(shù)據(jù)解碼解壓模塊A502和 數(shù)據(jù)熵編碼模塊A506 ;其中,原始數(shù)據(jù)S可以是任意來源和任意類型的數(shù)據(jù),比如一般的數(shù)據(jù)序列、采樣 通信信號、采樣時(shí)間序列、語音信號、音頻信號等。步驟2、壓縮編碼器的數(shù)據(jù)解碼解壓模塊A502采用ADPCM解碼算法對數(shù)據(jù)壓縮編 碼Sc進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)S’,然后將解碼解壓數(shù)據(jù)S’發(fā)送給壓縮編碼器的加 法器A503。步驟3、壓縮編碼器的加法器A503計(jì)算原始數(shù)據(jù)S與解碼解壓數(shù)據(jù)S’之間的誤 差,即將原始數(shù)據(jù)S減去解碼解壓數(shù)據(jù)S’,得到誤差數(shù)據(jù)R1,然后將誤差數(shù)據(jù)R1發(fā)送給誤差 壓縮編碼模塊A504。步驟4、誤差壓縮編碼模塊A504采用Lloyd-Max非均勻標(biāo)量量化算法對誤差數(shù)據(jù) R1進(jìn)行壓縮編碼,得到誤差壓縮編碼R1C,然后將誤差壓縮編碼R1C發(fā)送給誤差熵編碼模塊 A505。步驟5、誤差熵編碼模塊A505采用Huffman編碼算法對誤差壓縮編碼R1C進(jìn)行熵 編碼,得到誤差熵編碼Rie,然后將誤差熵編碼Rie發(fā)送給幀封裝模塊A507。步驟6、數(shù)據(jù)熵編碼模塊A506采用Huffman編碼算法對數(shù)據(jù)壓縮編碼Sc進(jìn)行熵編 碼,得到數(shù)據(jù)熵編碼Se,然后將數(shù)據(jù)熵編碼Se發(fā)送給幀封裝模塊A507。步驟6與步驟2 5的執(zhí)行不分先后。步驟7、幀封裝模塊A507將誤差熵編碼R^和數(shù)據(jù)熵編碼Se組合,再加上幀頭信 息Hi,輸出完整的編碼幀,從而形成編碼比特流Bp其中,幀頭信息Hi攜帶當(dāng)前編碼幀的 編碼模式;當(dāng)然,根據(jù)具體的應(yīng)用需求,該幀頭信息還可以攜帶幀長、編碼速率和量化編碼 表格等信息。
      13
      參見圖5c,該圖為編碼幀結(jié)構(gòu)和編碼比特流的示意圖。其中,編碼比特流B1包括 多個(gè)編碼幀編碼幀i_l、編碼幀i和編碼幀i+Ι,等等,而編碼幀則包括幀頭信息、數(shù)據(jù)熵編 碼Se和誤差熵編碼Rie。該編碼比特流B1根據(jù)實(shí)際應(yīng)用的需求,即可以送入信道進(jìn)行傳輸,也可以存入存 儲(chǔ)介質(zhì)中。(二)解碼解壓器步驟1、幀解封模塊B501從編碼比特流B1中接收到編碼幀后,將編碼幀分解為幀 頭信息、誤差熵編碼Rie和數(shù)據(jù)熵編碼Se,然后將誤差熵編碼Rie發(fā)送給誤差熵解碼模塊 B502,將數(shù)據(jù)熵編碼Se發(fā)送給數(shù)據(jù)熵解碼模塊B503。 步驟2、誤差熵解碼模塊B502采用Huffman解碼對誤差熵編碼Rp進(jìn)行熵解碼,得 到誤差壓縮編碼R1C,然后將誤差壓縮編碼R1C發(fā)送給誤差解碼解壓模塊B504。數(shù)據(jù)熵解碼模塊B503采用Huffman解碼對數(shù)據(jù)熵編碼Se進(jìn)行熵解碼,得到數(shù)據(jù) 壓縮編碼Sc,然后將數(shù)據(jù)壓縮編碼Sc發(fā)送給解碼解壓器的數(shù)據(jù)解碼解壓模塊B505。步驟3、誤差解碼解壓模塊B504采用Lloyd-Max非均勻標(biāo)量量化算法對誤差壓縮 編碼R1C進(jìn)行解碼解壓,得到解碼解壓誤差R1',然后將解碼解壓誤差R1'發(fā)送給解碼解壓器 的加法器B506 ;解碼解壓器的數(shù)據(jù)解碼解壓模塊B505采用ADPCM解碼算法對數(shù)據(jù)壓縮編碼Sc 進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)S’,然后將解碼解壓數(shù)據(jù)S’發(fā)送給解碼解壓器的加法器 B506。步驟4、解碼解壓器的加法器B506對解碼解壓數(shù)據(jù)S’和解碼解壓誤差R1'進(jìn)行相 加,得到重構(gòu)數(shù)據(jù)Siv需說明的是,以上僅僅以編碼幀中包括幀頭信息為例進(jìn)行說明,編碼幀中不包括 幀頭信息的處理流程與此類似,具體可參見前面實(shí)施例,在此不再贅述。由上可知,本實(shí)施例將壓縮編碼算法分成兩級進(jìn)行,第一級是對原始數(shù)據(jù)S進(jìn)行 壓縮編碼,第二級是對在第一級壓縮編碼時(shí)所產(chǎn)生的誤差數(shù)據(jù)R1進(jìn)行壓縮編碼,然后再分 別對這兩級壓縮編碼得到的數(shù)據(jù)壓縮編碼Sc和誤差壓縮編碼R1C進(jìn)行熵編碼,由于本方案 對數(shù)據(jù)進(jìn)行了多次壓縮編碼,所以相對于現(xiàn)有技術(shù)只進(jìn)行一次壓縮編碼而言,可以達(dá)到較 高的壓縮比,而且,由于在本方案中,除了對原始數(shù)據(jù)S進(jìn)行壓縮編碼外,還特別對第一級 壓縮編碼時(shí)所產(chǎn)生的誤差數(shù)據(jù)R1進(jìn)行了壓縮編碼,并分別對壓縮編碼得到的數(shù)據(jù)壓縮編碼 Sc和誤差壓縮編碼R1C進(jìn)行熵編碼,所以相對于現(xiàn)有技術(shù)而言,可以提高壓縮質(zhì)量。實(shí)施例六、在本實(shí)施例中,將對無失真的壓縮編碼方法(實(shí)施例三和四)作進(jìn)一步詳細(xì)說明。參見圖6a和圖6b,其中,圖6a為壓縮編碼器的原理框圖,該壓縮編碼器與實(shí)施例 五中的壓縮編碼器相比,多了與二級誤差相關(guān)的幾個(gè)模塊壓縮編碼器的誤差解碼解壓模 塊A608、壓縮編碼器的第二加法器A609和二級誤差熵編碼模塊A610;即本實(shí)施例的壓縮編 碼器可以包括數(shù)據(jù)壓縮編碼模塊A601、壓縮編碼器的數(shù)據(jù)解碼解壓模塊A602、壓縮編碼器 的第一加法器A603、誤差壓縮編碼模塊A604、誤差熵編碼模塊A605、數(shù)據(jù)熵編碼模塊A606、 幀封裝模塊A607、壓縮編碼器的誤差解碼解壓模塊A608、壓縮編碼器的第二加法器A609和 二級誤差熵編碼模塊A610。圖6b為解碼解壓器的原理框圖,該解碼解壓器包括幀解封模塊B601、誤差熵解碼模塊B602、數(shù)據(jù)熵解碼模塊B603、解碼解壓器的誤差解碼解壓模塊B604、 解碼解壓器的數(shù)據(jù)解碼解壓模塊B605、解碼解壓器的加法器B606和二級誤差熵解碼模塊 B607。為了描述方便,在本實(shí)施例中,以編碼幀中包括了幀頭信息為例進(jìn)行說明,另外, 在本實(shí)施例中,設(shè)定數(shù)據(jù)壓縮編碼模塊A601采用了 ADPCM編碼算法,誤差壓縮編碼模塊 A604采用Lloyd-Max非均勻標(biāo)量量化算法,誤差熵編碼模塊A605和數(shù)據(jù)熵編碼模塊A606 采用Huffman編碼算法,而數(shù)據(jù)解壓解碼模塊B605則對應(yīng)地采用了 ADPCM解碼算法,誤 差解碼解壓模塊B604對應(yīng)地采用Lloyd-Max非均勻標(biāo)量量化算法,二級誤差熵解碼模塊 B607、誤差熵解碼模塊B602和數(shù)據(jù)熵解碼模塊B603對應(yīng)地采用Huffman解碼算法,則該壓 縮編碼器和解碼解壓器的處理流程如下(一)壓縮編碼器步驟1、數(shù)據(jù)壓縮編碼模塊A601采用ADPCM編碼算法對原始數(shù)據(jù)S進(jìn)行壓縮編碼, 得到數(shù)據(jù)壓縮編碼Sc,將數(shù)據(jù)壓縮編碼Sc輸送給壓縮編碼器的數(shù)據(jù)解碼解壓模塊A602和 數(shù)據(jù)熵編碼模塊A606 ;其中,原始數(shù)據(jù)S可以是任意來源和任意類型的數(shù)據(jù),比如一般的數(shù)據(jù)序列、采樣 通信信號、采樣時(shí)間序列、語音信號、音頻信號等。步驟2、數(shù)據(jù)解碼解壓模塊A602采用ADPCM解碼算法對數(shù)據(jù)壓縮編碼Sc進(jìn)行解 碼解壓,得到解碼解壓數(shù)據(jù)S’,然后將解碼解壓數(shù)據(jù)S’發(fā)送給壓縮編碼器的第一加法器 A603。步驟3、壓縮編碼器的加法器A603計(jì)算原始數(shù)據(jù)S與解碼解壓數(shù)據(jù)S’之間的誤 差,即將原始數(shù)據(jù)S減去解碼解壓數(shù)據(jù)S’,得到誤差數(shù)據(jù)R1,然后將誤差數(shù)據(jù)R1發(fā)送給誤差 壓縮編碼模塊A604和第二加法器A609。步驟4、誤差壓縮編碼模塊A604采用Lloyd-Max非均勻標(biāo)量量化算法對誤差數(shù)據(jù) R1進(jìn)行壓縮編碼,得到誤差壓縮編碼R1C,然后將誤差壓縮編碼R1C發(fā)送給誤差熵編碼模塊 A605和壓縮編碼器的誤差解碼解壓模塊A608 ;步驟5、壓縮編碼器的誤差解碼解壓模塊A608采用Lloyd-Max非均勻標(biāo)量量化算 法對誤差壓縮編碼R1C進(jìn)行解碼解壓,得到解碼解壓誤差R1',然后將解碼解壓誤差R1'發(fā)送 給第二加法器A609。步驟6、第二加法器A609將誤差數(shù)據(jù)R1減去解碼解壓誤差R1',得到二級誤差R2, 然后將二級誤差R2發(fā)送給二級誤差熵編碼模塊A610。步驟7、二級誤差熵編碼模塊A610采用Huffman編碼算法對二級誤差R2進(jìn)行熵編 碼,得到二級誤差熵編碼R2e,然后將二級誤差熵編碼R2e發(fā)送給幀封裝模塊A607。步驟8、誤差熵編碼模塊A605采用Huffman編碼算法對誤差壓縮編碼R1C進(jìn)行熵 編碼,得到誤差熵編碼Rie,然后將誤差熵編碼Rie發(fā)送給幀封裝模塊A607。步驟9、數(shù)據(jù)熵編碼模塊A606采用Huffman編碼算法對數(shù)據(jù)壓縮編碼Sc進(jìn)行熵編 碼,得到數(shù)據(jù)熵編碼Se,然后將數(shù)據(jù)熵編碼Se發(fā)送給幀封裝模塊A607。步驟6與步驟2 5的執(zhí)行不分先后。步驟7、幀封裝模塊A607將二級誤差熵編碼R2e、誤差熵編碼R^和數(shù)據(jù)熵編碼Se 組合,再加上幀頭信息Hi,輸出完整的編碼幀,從而形成編碼比特流Bp
      參見圖6c,該圖為編碼幀結(jié)構(gòu)和編碼比特流的示意圖。其中,編碼比特流B1包括 多個(gè)編碼幀編碼幀i_l、編碼幀i和編碼幀i+Ι,等等,而編碼幀則包括幀頭信息、數(shù)據(jù)熵編 碼Se、誤差熵編碼Rie和二級誤差熵編碼R2e。該編碼比特流B1根據(jù)實(shí)際應(yīng)用的需求,即可以送入信道進(jìn)行傳輸,也可以存入存 儲(chǔ)介質(zhì)中。(二)解碼解壓器步驟1、幀解封模塊B601從編碼比特流B1中接收到編碼幀后,將編碼幀分解為幀 頭信息、二級誤差熵編碼R2e、誤差熵編碼Rie和數(shù)據(jù)熵編碼Se,然后將二級誤差熵編碼R2e 發(fā)送給二級誤差熵解碼模塊B607,將誤差熵編碼Rie發(fā)送給誤差熵解碼模塊B602,將數(shù)據(jù) 熵編碼Se發(fā)送給數(shù)據(jù)熵解碼模塊B603。步驟2、二級誤差熵解碼模塊B607采用Huffman解碼對二級誤差熵編碼R2e進(jìn)行 熵解碼,得到二級誤差R2,然后將二級誤差R2發(fā)送給解碼解壓器的加法器B606。誤差熵解碼模塊B602采用Huffman解碼對誤差熵編碼Rp進(jìn)行熵解碼,得到誤差 壓縮編碼RlC,然后將誤差壓縮編碼R1C發(fā)送給誤差解碼解壓模塊B604。數(shù)據(jù)熵解碼模塊B603采用Huffman解碼對數(shù)據(jù)熵編碼Se進(jìn)行熵解碼,得到數(shù)據(jù) 壓縮編碼Sc,然后將數(shù)據(jù)壓縮編碼Sc發(fā)送給數(shù)據(jù)解碼解壓模塊B605。步驟3、誤差解碼解壓模塊B604采用Lloyd-Max非均勻標(biāo)量量化算法對誤差壓縮 編碼R1C進(jìn)行解碼解壓,得到解碼解壓誤差R1',然后將解碼解壓誤差R1'發(fā)送給解碼解壓器 的加法器B606 ;數(shù)據(jù)解碼解壓模塊B605采用ADPCM解碼算法對數(shù)據(jù)壓縮編碼Sc進(jìn)行解碼解壓, 得到解碼解壓數(shù)據(jù)S’,然后將解碼解壓數(shù)據(jù)S’發(fā)送給解碼解壓器的加法器B606。步驟4、解碼解壓器的加法器B606對二級誤差R2、解碼解壓數(shù)據(jù)S’和解碼解壓誤 差R1'進(jìn)行相加,得到重構(gòu)數(shù)據(jù)Sr2。由上可知,本實(shí)施例除了可以實(shí)現(xiàn)實(shí)施例五所描述的有益效果之外,進(jìn)一步的,還 可以對二級誤差作進(jìn)一步的熵編碼,從而相對于實(shí)施例五而言,可以進(jìn)一步壓縮質(zhì)量,實(shí)現(xiàn) 無失真壓縮。實(shí)施例七、為了更好地實(shí)施以上方法,本發(fā)明實(shí)施例還相應(yīng)地提供一種壓縮編碼器,如圖7a 所示,該壓縮編碼器包括壓縮編碼單元701、熵編碼單元702和封裝單元703 ;壓縮編碼單元701,用于分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮 編碼和誤差壓縮編碼,其中,誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;熵編碼單元702,用于分別對壓縮編碼單元701得到的數(shù)據(jù)壓縮編碼和誤差壓縮 編碼進(jìn)行熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編碼;例如,可以采用Huffman編碼、和/或算術(shù) 編碼、和/或其他不等長編碼算法分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼。封裝單元703,用于將熵編碼單元702得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封 裝以形成編碼幀。需說明的是,當(dāng)壓縮編碼器和解碼解壓器工作在固定模式時(shí),編碼幀中可以不需 要幀頭信息,但是,當(dāng)壓縮編碼器和解碼解壓器工作在時(shí)變的模式時(shí),編碼幀中必須攜帶幀 頭信息,該幀頭信息攜帶當(dāng)前編碼幀的編碼模式,當(dāng)然,根據(jù)具體的應(yīng)用需求,該幀頭信息息。所以,封裝單元703,還用于將幀頭信 息,以及熵編碼單元702得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀。參見圖7b,其中,壓縮編碼單元701可以包括數(shù)據(jù)壓縮編碼子單元7011、數(shù)據(jù)解碼 解壓子單元7012、計(jì)算子單元7013和誤差壓縮編碼子單元7014 ;數(shù)據(jù)壓縮編碼子單元7011,用于對原始數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼; 比如,可以采用波形編碼方法、預(yù)測和變換算法或VQ方法對原始數(shù)據(jù)進(jìn)行壓縮編碼,等等;數(shù)據(jù)解碼解壓子單元7012,用于對數(shù)據(jù)壓縮編碼子單元7011得到的數(shù)據(jù)壓縮編 碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù);計(jì)算子單元7013,用于計(jì)算原始數(shù)據(jù)與數(shù)據(jù)解碼解壓子單元7012得到的解碼解 壓數(shù)據(jù)之間的誤差,得到誤差數(shù)據(jù);誤差壓縮編碼子單元7014,用于對計(jì)算子單元7013得到的誤差數(shù)據(jù)進(jìn)行壓縮編 碼,得到誤差壓縮編碼;例如,可以采用SQ方法對誤差數(shù)據(jù)進(jìn)行壓縮編碼等。以上壓縮編碼器可以實(shí)現(xiàn)有失真的壓縮編碼,即該壓縮編碼器為有失真的壓縮編 碼器,進(jìn)一步的,還可以實(shí)現(xiàn)無失真的壓縮編碼,則此時(shí)需要在該有失真的壓縮編碼器中增 加相應(yīng)的單元,以對二級誤差進(jìn)行處理,從而構(gòu)成無失真的壓縮編碼器;如下如圖7b所示,該壓縮編碼器還可以包括誤差解碼解壓單元704和運(yùn)算單元705 ;誤差解碼解壓單元704,用于對壓縮編碼單元701得到的誤差壓縮編碼進(jìn)行解碼 解壓,得到解碼解壓誤差;比如,具體可以用于對誤差壓縮編碼子單元7014得到的誤差壓 縮編碼進(jìn)行解碼解壓,得到解碼解壓誤差。運(yùn)算單元705,用于計(jì)算誤差數(shù)據(jù)與誤差解碼解壓單元704得到的解碼解壓誤差 之間的誤差,得到二級誤差;則此時(shí),熵編碼單元702,還用于對運(yùn)算單元705得到的二級誤差進(jìn)行熵編碼,得 到二級誤差熵編碼;例如,可以采用Huffman編碼、和/或算術(shù)編碼、和/或其他不等長編碼 算法對二級誤差進(jìn)行熵編碼。封裝單元703,還用于將熵編碼單元702得到的數(shù)據(jù)熵編碼、誤差熵編碼和二級誤 差熵編碼進(jìn)行幀封裝以形成編碼幀。以上各個(gè)單元的具體實(shí)施可參見前面實(shí)施例,在此不再贅述。需說明的是,在具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體實(shí)現(xiàn),也可以作為 若干個(gè)實(shí)體實(shí)現(xiàn),比如,參見實(shí)施例五和實(shí)施例六,壓縮編碼單元701可以由數(shù)據(jù)壓縮編碼 模塊、數(shù)據(jù)解碼解壓模塊、加法器(實(shí)施例五中的壓縮編碼器的加法器或?qū)嵤├械牡?一加法器)和誤差壓縮編碼模塊組成,熵編碼單元702則可以由數(shù)據(jù)熵編碼模塊和數(shù)據(jù)熵 編碼模塊組成,而封裝單元703則由幀封裝模塊來實(shí)現(xiàn),誤差解碼解壓單元704作為誤差解 碼解壓模塊,運(yùn)算單元705由實(shí)施例六中的第二加法器來實(shí)現(xiàn),等等,具體的實(shí)現(xiàn)形式可以 根據(jù)實(shí)際需求進(jìn)行設(shè)定。由上可知,本實(shí)施例提供的壓縮編碼器的壓縮編碼單元701可以將壓縮編碼算法 分成兩級進(jìn)行,第一級是對原始數(shù)據(jù)進(jìn)行壓縮編碼,第二級是對在第一級壓縮編碼時(shí)所產(chǎn) 生的誤差進(jìn)行壓縮編碼,然后再由熵編碼單元702分別對這兩級壓縮編碼得到的數(shù)據(jù)壓縮 編碼和誤差壓縮編碼進(jìn)行熵編碼,由于本方案對數(shù)據(jù)進(jìn)行了多次壓縮編碼,所以相對于現(xiàn) 有技術(shù)只進(jìn)行一次壓縮編碼而言,可以達(dá)到較高的壓縮比,而且,由于在本方案中,壓縮編
      17碼單元701除了可以對原始數(shù)據(jù)進(jìn)行壓縮編碼之外,還特別對第一級壓縮編碼時(shí)所產(chǎn)生的 誤差進(jìn)行了壓縮編碼,并由熵編碼單元702分別對壓縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓 縮編碼進(jìn)行熵編碼,所以相對于現(xiàn)有技術(shù)而言,可以提高壓縮質(zhì)量。實(shí)施例八、相應(yīng)的,針對有失真的壓縮編碼器,本發(fā)明實(shí)施例還提供了一種解碼解壓器,如圖 8所示,該解碼解壓器包括第一解封單元801、第一熵解碼單元802、第一解碼解壓單元803 和第一重構(gòu)單元804 ;第一解封單元801,用于對編碼幀進(jìn)行解封裝,以得到數(shù)據(jù)熵編碼和誤差熵編碼;第一熵解碼單元802,用于分別對第一解封單元801得到的數(shù)據(jù)熵編碼和誤差熵 編碼進(jìn)行熵解碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼;第一解碼解壓單元803,用于分別對第一熵解碼單元802得到的數(shù)據(jù)壓縮編碼和 誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第一重構(gòu)單元804,用于對第一解碼解壓單元803得到的解碼解壓數(shù)據(jù)和解碼解 壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。需說明的是,這里所采用的解碼解壓算法、以及熵解碼算法需要與壓縮編碼時(shí)所 采用壓縮編碼算法、以及熵編碼算法相對應(yīng),比如,如果在進(jìn)行壓縮編碼時(shí)采用的是波形編 碼方法,則進(jìn)行解碼解壓時(shí)需要采用波形解碼方法,如果在進(jìn)行熵編碼時(shí)采用的是Huffman 編碼,則在進(jìn)行熵解碼時(shí)需要采用Huffman解碼,依此類推。以上各個(gè)單元的具體實(shí)施可參見前面實(shí)施例,在此不再贅述。需說明的是,在具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體實(shí)現(xiàn),也可以作為 若干個(gè)實(shí)體實(shí)現(xiàn),比如,參見實(shí)施例五,第一解封單元801可以由幀解封模塊來實(shí)現(xiàn),第一 熵解碼單元802可以由誤差熵解碼模塊和數(shù)據(jù)熵解碼模塊組成,第一解碼解壓單元803可 以由數(shù)據(jù)解碼解壓模塊和誤差解碼解壓模塊責(zé)成,而第一重構(gòu)單元?jiǎng)t由加法器來實(shí)現(xiàn),等 等,具體的實(shí)現(xiàn)形式可以根據(jù)實(shí)際需求進(jìn)行設(shè)定。由上可知,本實(shí)施例提供的解碼解壓器的第一解封單元801可以將編碼幀分解成 數(shù)據(jù)熵編碼和誤差熵編碼,由第一熵解碼單元802分別對數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵 解碼以得到解碼解壓數(shù)據(jù)和解碼解壓誤差,然后由第一解碼解壓單元803分別對解碼解壓 數(shù)據(jù)和解碼解壓誤差進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差,最后由第一重構(gòu) 單元804對解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行組合,以實(shí)現(xiàn)數(shù)據(jù)的重構(gòu),由于該解碼解壓 器與實(shí)施例七中的有失真的壓縮解碼器相對應(yīng),所以可以實(shí)現(xiàn)與實(shí)施例七同樣的有益效 果,即相對于現(xiàn)有技術(shù)而言,可以達(dá)到較高的壓縮比,以及較高的壓縮質(zhì)量。實(shí)施例九、相應(yīng)的,針對無失真的壓縮編碼器,本發(fā)明實(shí)施例還提供了一種解碼解壓器,如圖 9所示,該解碼解壓器包括第二解封單元901、第二熵解碼單元902、第二解碼解壓單元903 和第二重構(gòu)單元904 ;第二解封單元901,用于對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼 和誤差熵編碼;第二熵解碼單元902,用于分別對第二解封單元901得到的二級誤差熵編碼、數(shù)據(jù) 熵編碼和誤差熵編碼進(jìn)行熵解碼,得到二級誤差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;
      第二解碼解壓單元903,用于分別對第二熵解碼單元902得到的數(shù)據(jù)壓縮編碼和 誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第二重構(gòu)單元904,用于對第二熵解碼單元903得到的二級誤差,以及第二解碼解 壓單元903得到的解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。需說明的是,這里所采用的解碼解壓算法、以及熵解碼算法需要與壓縮編碼時(shí)所 采用壓縮編碼算法、以及熵編碼算法相對應(yīng),比如,如果在進(jìn)行壓縮編碼時(shí)采用的是波形編 碼方法,則進(jìn)行解碼解壓時(shí)需要采用波形解碼方法,如果在進(jìn)行熵編碼時(shí)采用的是Huffman 編碼,則在進(jìn)行熵解碼時(shí)需要采用Huffman解碼,依此類推。以上各個(gè)單元的具體實(shí)施可參見前面實(shí)施例,在此不再贅述。需說明的是,在具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體實(shí)現(xiàn),也可以作為 若干個(gè)實(shí)體實(shí)現(xiàn),比如,參見實(shí)施例六,第二解封單元901可以由幀解封模塊來實(shí)現(xiàn),第二 熵解碼單902可以由二級誤差熵解碼模塊、誤差熵解碼模塊和數(shù)據(jù)熵解碼模塊組成,第二 解碼解壓單元903可以由數(shù)據(jù)解碼解壓模塊和誤差解碼解壓模塊責(zé)成,而第二重構(gòu)單元 904則由加法器來實(shí)現(xiàn),等等,具體的實(shí)現(xiàn)形式可以根據(jù)實(shí)際需求進(jìn)行設(shè)定。由上可知,本提供的解碼解壓器的第二解封單元901可以將編碼幀分解成二級誤 差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼,由第二熵解碼單元902分別對二級誤差熵編碼、數(shù)據(jù) 熵編碼和誤差熵編碼進(jìn)行熵解碼以得到二級誤差、解碼解壓數(shù)據(jù)和解碼解壓誤差,然后由 第二解碼解壓單元903分別對解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行解碼解壓,得到解碼解壓 數(shù)據(jù)和解碼解壓誤差,最后由第二重構(gòu)單元904對二級誤差、解碼解壓數(shù)據(jù)和解碼解壓誤 差進(jìn)行組合,以實(shí)現(xiàn)數(shù)據(jù)的重構(gòu),由于該解碼解壓器與實(shí)施例七中的無失真的壓縮解碼器 相對應(yīng),所以可以實(shí)現(xiàn)與實(shí)施例七同樣的有益效果,即相對于現(xiàn)有技術(shù)而言,可以達(dá)到較高 的壓縮比,以及較高的壓縮質(zhì)量,而且,相對于實(shí)施例八所提供的解碼解壓器而言,本實(shí)施 例所提供的解碼解壓器可以具有更高壓縮質(zhì)量,實(shí)現(xiàn)無失真壓縮編碼。實(shí)施例十、相應(yīng)地,本發(fā)明實(shí)施例還提供一種通信系統(tǒng),包括本發(fā)明實(shí)施例提供的任一種壓 縮編碼器和解碼解壓器;即該通信系統(tǒng)可以包括有失真的壓縮解碼器和其相對應(yīng)的解碼解 壓器,或者,該通信系統(tǒng)也可以無失真的壓縮解碼器和其相對應(yīng)的解碼解壓器,具體可參見 前面實(shí)施例,在此不再贅述。本發(fā)明實(shí)施例所提供的壓縮編碼器和解碼解壓器可以應(yīng)用面向通信的數(shù)據(jù)壓縮 和傳輸系統(tǒng)中,也可以應(yīng)用在面向存儲(chǔ)的數(shù)據(jù)壓縮系統(tǒng)中。其中,面向通信的數(shù)據(jù)壓縮和傳輸系統(tǒng)包括通過各類信道和網(wǎng)絡(luò)的遠(yuǎn)程數(shù)據(jù)通 信,比如數(shù)據(jù)通信、文件傳輸、語音通信、音頻通信等;通過近程和系統(tǒng)內(nèi)部的數(shù)據(jù)通信,比 如通用公共無線接口中的數(shù)據(jù)傳輸和拉遠(yuǎn)等;通過設(shè)備內(nèi)或板內(nèi)模塊之間的數(shù)據(jù)傳輸,比 如模擬信號轉(zhuǎn)數(shù)字信號/數(shù)字信號轉(zhuǎn)模擬信號(AD/DA,Analog to Digital/Digital to Analog)變換器與其它部件的數(shù)據(jù)交換等。面向存儲(chǔ)的數(shù)據(jù)壓縮系統(tǒng)可以包括數(shù)據(jù)的高效存儲(chǔ)、數(shù)字媒體存儲(chǔ)、數(shù)字圖書館寸。由上可知,本實(shí)施例提供的通信系統(tǒng)中的壓縮編碼器可以將壓縮編碼算法分成兩 級進(jìn)行,第一級是對原始數(shù)據(jù)進(jìn)行壓縮編碼,第二級是對在第一級壓縮編碼時(shí)所產(chǎn)生的誤
      19差進(jìn)行壓縮編碼,然后再分別對這兩級壓縮編碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行 熵編碼,由于本方案對數(shù)據(jù)進(jìn)行了多次壓縮編碼,所以相對于現(xiàn)有技術(shù)只進(jìn)行一次壓縮編 碼而言,可以達(dá)到較高的壓縮比,而且,由于在本方案中,壓縮編碼器除了對原始數(shù)據(jù)進(jìn)行 壓縮編碼外,還特別對第一級壓縮編碼時(shí)所產(chǎn)生的誤差進(jìn)行了壓縮編碼,并分別對壓縮編 碼得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,所以相對于現(xiàn)有技術(shù)而言,可以提高 壓縮質(zhì)量。進(jìn)一步的,由于可以將本發(fā)明實(shí)施例提供的通信系統(tǒng)應(yīng)用在面向通信的數(shù)據(jù)壓縮 和傳輸系統(tǒng)中或面向存儲(chǔ)的數(shù)據(jù)壓縮系統(tǒng)中,所以可以提高面向通信的數(shù)據(jù)壓縮和傳輸系 統(tǒng)或面向存儲(chǔ)的數(shù)據(jù)壓縮系統(tǒng)的處理性能,即,如果將本發(fā)明實(shí)施例提供的通信系統(tǒng)應(yīng)用 在面向通信的數(shù)據(jù)壓縮和傳輸系統(tǒng)中,則可以提高通信信號和數(shù)據(jù)的傳輸效率,提高信道 的利用率,從而降低運(yùn)營成本;如果將本發(fā)明實(shí)施例提供的通信系統(tǒng)應(yīng)用在面向存儲(chǔ)的數(shù) 據(jù)壓縮系統(tǒng)中,則可以提高通信信號和數(shù)據(jù)的存儲(chǔ)效率,提高存儲(chǔ)設(shè)備利用率,從而降低系 統(tǒng)和設(shè)備的硬件成本。本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可 以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存 儲(chǔ)介質(zhì)可以包括只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。以上對本發(fā)明實(shí)施例所提供的壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng)進(jìn) 行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施 例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的一般技術(shù)人 員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
      及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明 書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
      權(quán)利要求
      一種壓縮編碼方法,其特征在于,包括分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼,所述誤差數(shù)據(jù)為對所述原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;分別對所述數(shù)據(jù)壓縮編碼和所述誤差壓縮編碼進(jìn)行熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編碼;將所述數(shù)據(jù)熵編碼和所述誤差熵編碼進(jìn)行幀封裝以形成編碼幀。
      2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓 縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼包括對原始數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼; 對數(shù)據(jù)壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù); 計(jì)算原始數(shù)據(jù)與解碼解壓數(shù)據(jù)之間的誤差,得到誤差數(shù)據(jù); 對誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到誤差壓縮編碼。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對原始數(shù)據(jù)進(jìn)行壓縮編碼包括 采用波形編碼方法、預(yù)測和變換算法、或矢量量化方法對原始數(shù)據(jù)進(jìn)行壓縮編碼;則相應(yīng)的,所述對數(shù)據(jù)壓縮編碼進(jìn)行解碼解壓包括采用波形解碼方法、預(yù)測和變換算 法、或矢量量化方法對數(shù)據(jù)壓縮編碼進(jìn)行解碼解壓。
      4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述對誤差數(shù)據(jù)進(jìn)行壓縮編碼包括 采用非均勻量化編碼算法對誤差數(shù)據(jù)進(jìn)行壓縮編碼。
      5.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,所述分別對數(shù)據(jù)壓縮編碼和 誤差壓縮編碼進(jìn)行熵編碼包括采用霍夫曼Huffman編碼分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼;和/或, 采用算術(shù)編碼分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼。
      6.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其特征在于,還包括 所述編碼幀中還包括幀頭信息,所述幀頭信息攜帶當(dāng)前編碼幀的編碼模式。
      7.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括 所述幀頭信息還攜帶幀長、編碼速率和量化編碼表格。
      8.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括對誤差壓縮編碼進(jìn)行解碼解壓, 得到解碼解壓誤差;計(jì)算誤差數(shù)據(jù)與解碼解壓誤差之間的誤差,得到二級誤差; 對所述二級誤差進(jìn)行熵編碼,得到二級誤差熵編碼;則相應(yīng)的,所述將數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀具體為將數(shù)據(jù) 熵編碼、誤差熵編碼和二級誤差熵編碼進(jìn)行幀封裝以形成編碼幀。
      9.一種解碼解壓方法,其特征在于,包括對編碼幀進(jìn)行解封裝,得到數(shù)據(jù)熵編碼和誤差熵編碼;分別對所述數(shù)據(jù)熵編碼和所述誤差熵編碼進(jìn)行熵解碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮 編碼;分別對所述數(shù)據(jù)壓縮編碼和所述誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解 碼解壓誤差;對所述解碼解壓數(shù)據(jù)和所述解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。
      10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述編碼幀中還包括幀頭信息,則所述 對編碼幀進(jìn)行解封裝,得到數(shù)據(jù)熵編碼和誤差熵編碼具體為將編碼幀分解為幀頭信息、數(shù)據(jù)熵編碼和誤差熵編碼。
      11.一種解碼解壓方法,其特征在于,包括對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼; 分別對所述二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解碼,得到二級誤差、數(shù) 據(jù)壓縮編碼和誤差壓縮編碼;分別對所述數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解 壓誤差;對二級誤差、解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。
      12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述編碼幀中還包括幀頭信息,則所述 對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼具體為將編碼幀分解為幀頭信息、二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵編碼。
      13.—種壓縮編碼器,其特征在于,包括壓縮編碼單元,用于分別對原始數(shù)據(jù)和誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和 誤差壓縮編碼,所述誤差數(shù)據(jù)為對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差;熵編碼單元,用于分別對壓縮編碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編 碼,得到數(shù)據(jù)熵編碼和誤差熵編碼;封裝單元,用于將熵編碼單元得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀。
      14.根據(jù)權(quán)利要求13所述的壓縮編碼器,其特征在于,所述壓縮編碼單元包括 數(shù)據(jù)壓縮編碼子單元,用于對原始數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼;數(shù)據(jù)解碼解壓子單元,用于對數(shù)據(jù)壓縮編碼子單元得到的數(shù)據(jù)壓縮編碼進(jìn)行解碼解 壓,得到解碼解壓數(shù)據(jù);計(jì)算子單元,用于計(jì)算原始數(shù)據(jù)與數(shù)據(jù)解碼解壓子單元得到的解碼解壓數(shù)據(jù)之間的誤 差,得到誤差數(shù)據(jù);誤差壓縮編碼子單元,用于對計(jì)算子單元得到的誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到誤差壓 縮編碼。
      15.根據(jù)權(quán)利要求13或14所述的壓縮編碼器,其特征在于,還包括誤差解碼解壓單元 和運(yùn)算單元;誤差解碼解壓單元,用于對壓縮編碼單元得到的誤差壓縮編碼進(jìn)行解碼解壓,得到解 碼解壓誤差;運(yùn)算單元,用于計(jì)算誤差數(shù)據(jù)與誤差解碼解壓單元得到的解碼解壓誤差之間的誤差, 得到二級誤差;所述熵編碼單元,還用于對運(yùn)算單元得到的二級誤差進(jìn)行熵編碼,得到二級誤差熵編碼;所述封裝單元,還用于將熵編碼單元得到的數(shù)據(jù)熵編碼、誤差熵編碼和二級誤差熵編 碼進(jìn)行幀封裝以形成編碼幀。
      16.一種解碼解壓器,其特征在于,包括第一解封單元,用于對編碼幀進(jìn)行解封裝,以得到數(shù)據(jù)熵編碼和誤差熵編碼; 第一熵解碼單元,用于分別對第一解封單元得到的數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行熵解 碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼;第一解碼解壓單元,用于分別對第一熵解碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼 進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第一重構(gòu)單元,用于對第一解碼解壓單元得到的解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相 加,得到重構(gòu)數(shù)據(jù)。
      17.—種解碼解壓器,其特征在于,包括第二解封單元,用于對編碼幀進(jìn)行解封裝,得到二級誤差熵編碼、數(shù)據(jù)熵編碼和誤差熵 編碼;第二熵解碼單元,用于分別對第二解封單元得到的二級誤差熵編碼、數(shù)據(jù)熵編碼和誤 差熵編碼進(jìn)行熵解碼,得到二級誤差、數(shù)據(jù)壓縮編碼和誤差壓縮編碼;第二解碼解壓單元,用于分別對第二熵解碼單元得到的數(shù)據(jù)壓縮編碼和誤差壓縮編碼 進(jìn)行解碼解壓,得到解碼解壓數(shù)據(jù)和解碼解壓誤差;第二重構(gòu)單元,用于對第二熵解碼單元得到的二級誤差,以及第二解碼解壓單元得到 的解碼解壓數(shù)據(jù)和解碼解壓誤差進(jìn)行相加,得到重構(gòu)數(shù)據(jù)。
      18.—種通信系統(tǒng),其特征在于,該通信系統(tǒng)包括權(quán)利要求13至14所述的任一種壓縮 編碼器和權(quán)利要求16所述的解碼解壓器,或者,該通信系統(tǒng)包括權(quán)利要求15所述的壓縮編 碼器和權(quán)利要求17所述的解碼解壓器。
      全文摘要
      本發(fā)明公開了一種壓縮編碼方法、解碼解壓方法、裝置和通信系統(tǒng)。本發(fā)明技術(shù)方案采用分別對原始數(shù)據(jù),以及對原始數(shù)據(jù)進(jìn)行壓縮編碼所產(chǎn)生的誤差數(shù)據(jù)進(jìn)行壓縮編碼,得到數(shù)據(jù)壓縮編碼和誤差壓縮編碼,然后分別對數(shù)據(jù)壓縮編碼和誤差壓縮編碼進(jìn)行熵編碼,得到數(shù)據(jù)熵編碼和誤差熵編碼,最后將數(shù)據(jù)熵編碼和誤差熵編碼進(jìn)行幀封裝以形成編碼幀;相對于現(xiàn)有技術(shù)而言,采用該方案可以提高壓縮比和壓縮質(zhì)量。
      文檔編號H04N7/64GK101945286SQ20101029861
      公開日2011年1月12日 申請日期2010年9月29日 優(yōu)先權(quán)日2010年9月29日
      發(fā)明者劉怡, 周佳, 夏玉潔, 夏雨, 鐘政良, 馬鴻飛 申請人:上海華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1