專利名稱:一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信號解碼技術(shù)領(lǐng)域,特別是指一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置及方法。
背景技術(shù):
聲音是由振動而產(chǎn)生的一種波,傳統(tǒng)的聲音處理方法都是模擬方法,其一般過程是通過聲音錄入設(shè)備把聲音的振動轉(zhuǎn)化為電流,通過一定的模擬電路進行放大和處理,再經(jīng)磁設(shè)備記錄到磁帶上或送到音箱。傳統(tǒng)的模擬方法存在消除噪聲難、易失真、不易修改等缺點。數(shù)字化方法能有效的克服模擬方法的缺陷。
獲取數(shù)字化聲音的過程實際上就是聲音的模數(shù)轉(zhuǎn)換(D/A)過程,采樣頻率(Sampling Rate)和采樣大小(Sampling Size)是數(shù)字化錄音時的兩個基本指標(biāo)。采樣頻率是單位時間內(nèi)的采樣次數(shù),采樣頻率越大,采樣點之間的間隔越小,數(shù)字化得到的聲音就越逼真,但相應(yīng)的數(shù)據(jù)量就越大,處理起來就越困難。根據(jù)硬件的支持不同,采樣頻率可以從8KHz(8000次/s)到96KHz,44.1KHz就是通常所說的CD音質(zhì)的采樣頻率。采樣大小即是記錄每次采樣值大小的數(shù)值的位數(shù),決定采樣的動態(tài)變化范圍。采樣大小通常有8比特(bit)、16bit、24bit、32bit等。按8bit進行的采樣能描述2的8次方,即256種變化,按16bit進行采樣則能描述2的16次方,即65536種變化。
自適應(yīng)差分脈沖編碼調(diào)制(Adaptive Differential Pulse Code Modulation,ADPCM)是一種主要針對連續(xù)的波形數(shù)據(jù),通過保存波形變化的情況,實現(xiàn)描述整個波形的調(diào)制方法。IMA-ADPCM,是一種針對16bit,或者更高比特聲音波形數(shù)據(jù)的一種有損壓縮算法,它將聲音流中每次采樣的16bit數(shù)據(jù)以4bit存儲,所以壓縮比1∶4。而壓縮/解壓縮算法非常的簡單,所以是一種低空間消耗,高質(zhì)量聲音獲得的好途徑。
IMA-ADPCM解碼是一個連續(xù)的過程,它的解碼和歷史數(shù)據(jù)有關(guān)系,即當(dāng)解當(dāng)前位數(shù)據(jù)時,需要上一位數(shù)據(jù)的索引值(INDEX)參數(shù)和脈沖編碼調(diào)制(PCM)數(shù)值參數(shù)。圖1所示為現(xiàn)有技術(shù)的自適應(yīng)差分脈沖編碼調(diào)制解碼裝置的結(jié)構(gòu),IMA-ADPCM存儲單元101負(fù)責(zé)存儲由IMA-ADPCM編碼器進行編碼后的數(shù)據(jù),IMA-ADPCM解碼器102負(fù)責(zé)讀取IMA-ADPCM存儲單元101中的ADPCM數(shù)據(jù),并對ADPCM數(shù)據(jù)一位一位地進行解碼,每一位解碼出的PCM數(shù)據(jù)輸出到回放電路103中,由回放電路對PCM數(shù)據(jù)進行處理。
ADPCM解碼方法的流程如圖2所示,具體步驟如下步驟201、IMA-ADPCM解碼器讀取IMA-ADPCM存儲單元的ADPCM數(shù)據(jù);步驟202、IMA-ADPCM解碼器對讀取的ADPCM數(shù)據(jù)的第一位進行解碼,獲得INDEX參數(shù)和PCM數(shù)值參數(shù),并將PCM數(shù)據(jù)輸出到回放電路;步驟203~步驟204、IMA-ADPCM解碼器根據(jù)上一位的INDEX參數(shù)和PCM數(shù)值參數(shù)對當(dāng)前位的ADPCM數(shù)據(jù)進行解碼,并將PCM數(shù)據(jù)輸出到回放電路,然后循環(huán)執(zhí)行步驟203,直至該路ADPCM數(shù)據(jù)解碼完畢。
從以上技術(shù)方案可以看出,IMA-ADPCM解碼器在進行解碼時,必須根據(jù)上一位的INDEX參數(shù)和PCM數(shù)值才能解出當(dāng)前位的PCM數(shù)據(jù),所以IMA-ADPCM解碼器不能夠中途停止對ADPCM數(shù)據(jù)解碼。
另外,如果IMA-ADPCM解碼器對某路ADPCM數(shù)據(jù)解碼到中途時刻停止,再去解另外一路ADPCM數(shù)據(jù)時,前一路ADPCM數(shù)據(jù)的后續(xù)部分由于不能夠獲得歷史數(shù)據(jù)無法解碼。要解決這個問題現(xiàn)有技術(shù)中,只有通過多個IMA-ADPCM解碼器才能夠?qū)崿F(xiàn)對多路ADPCM數(shù)據(jù)的解碼,造成了設(shè)備的浪費,也增加了成本。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置及方法,使其能夠在解碼ADPCM數(shù)據(jù)中斷后,仍能繼續(xù)解碼這路ADPCM數(shù)據(jù)。
本發(fā)明提供的一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置包括第一存儲單元(101),用于存儲ADPCM數(shù)據(jù);解碼器(102),用于對來自第一存儲單元(101)的ADPCM數(shù)據(jù)進行解碼,然后將解碼后的數(shù)據(jù)傳送到回放電路(103)中;并在中途停止ADPCM數(shù)據(jù)解碼后,將當(dāng)前的解碼參數(shù)存儲到第二存儲單元(301)中;以及在重新解碼ADPCM數(shù)據(jù)之前,讀取第二存儲單元(301)中存儲的該ADPCM數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)對ADPCM數(shù)據(jù)進行解碼;回放電路(103),用于接收解碼器(102)解碼后的PCM數(shù)據(jù),并對PCM數(shù)據(jù)進行處理;第二存儲單元(301),用于存儲中途停止解碼的ADPCM數(shù)據(jù)的解碼參數(shù)。
上述第二存儲單元(301)可以為隨機訪問存儲器。
上述第二存儲單元(301)還可以為寄存器組。
較佳地,上述解碼參數(shù)為INDEX參數(shù)和PCM數(shù)值參數(shù)。
本發(fā)明提供的一種自適應(yīng)差分脈沖編碼調(diào)制解碼方法包括A、IMA-ADPCM解碼器對第一路ADPCM數(shù)據(jù)進行解碼;B、IMA-ADPCM解碼器中途停止對第一路ADPCM數(shù)據(jù)進行解碼后,將第一路ADPCM數(shù)據(jù)當(dāng)前的解碼參數(shù)存儲到存儲單元中;C、IMA-ADPCM解碼器在重新對第一路ADPCM數(shù)據(jù)進行解碼時,從存儲單元中讀取第一路ADPCM數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)繼續(xù)對第一路ADPCM數(shù)據(jù)進行解碼。
進一步地,上述步驟B后包括B1、IMA-ADPCM解碼器對除第一路ADPCM數(shù)據(jù)外的ADPCM數(shù)據(jù)進行解碼,并在中途停止解碼后將該ADPCM數(shù)據(jù)的解碼參數(shù)存儲到存儲單元中;上述步驟C后進一步包括IMA-ADPCM解碼器在重新對步驟B1中解碼的ADPCM數(shù)據(jù)進行解碼時,從存儲單元中讀取該ADPCM數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)繼續(xù)對該ADPCM數(shù)據(jù)進行解碼。
較佳地,上述解碼參數(shù)為INDEX參數(shù)和PCM數(shù)值參數(shù)。
從以上技術(shù)方案可以看出,本發(fā)明中,通過在自適應(yīng)差分脈沖編碼調(diào)制解碼裝置中增加一個存儲單元,用于存儲ADPCM數(shù)據(jù)的中途解碼參數(shù),實現(xiàn)了在IMA-ADPCM解碼器中以中斷的方式解碼ADPCM數(shù)據(jù);并進而通過在中途停止一路ADPCM數(shù)據(jù)后,對其它ADPCM數(shù)據(jù)進行解碼,實現(xiàn)了在一個IMA-ADPCM解碼器上同時解兩路或兩路以上的數(shù)據(jù)。
本發(fā)明的自適應(yīng)差分脈沖編碼調(diào)制解碼方法,通過在解完第一路ADPCM數(shù)據(jù)后,將該路數(shù)據(jù)的相關(guān)參數(shù)存儲到存儲單元中,在重新解該路ADPCM數(shù)據(jù)時,讀取在存儲單元中該路數(shù)據(jù)的相關(guān)參數(shù),根據(jù)讀取的相關(guān)參數(shù)對ADPCM數(shù)據(jù)進行解碼,實現(xiàn)了在IMA-ADPCM解碼器中以中斷的方式解碼ADPCM數(shù)據(jù);并進而通過在中途停止一路ADPCM數(shù)據(jù)后,對其它ADPCM數(shù)據(jù)進行解碼,實現(xiàn)了在一個IMA-ADPCM解碼器上同時解兩路或兩路以上的數(shù)據(jù)。
圖1為現(xiàn)有技術(shù)中的自適應(yīng)差分脈沖編碼調(diào)制解碼裝置圖;圖2為現(xiàn)有技術(shù)中自適應(yīng)差分脈沖編碼調(diào)制解碼方法的流程圖;圖3為本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼裝置圖;圖4為本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼方法的總體流程圖;
圖5為本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼方法具體實施例的流程圖。
具體實施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作進一步的詳細(xì)描述。
本發(fā)明的主要思想通過增加的存儲單元實現(xiàn)了對ADPCM數(shù)據(jù)中途解碼參數(shù)的暫存,在重新解碼該路ADPCM數(shù)據(jù)時,根據(jù)存儲單元中存儲的中途解碼參數(shù)繼續(xù)進行該路ADPCM數(shù)據(jù)的解碼。
圖3所示為本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼裝置圖。如圖3所示,圖中的301為存儲單元,當(dāng)IMA-ADPCM解碼器收到回放電路的停止解碼命令后,停止對第一路ADPCM數(shù)據(jù)的解碼,并將最后獲得的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元301中,然后讀取第二路ADPCM數(shù)據(jù)并進行解碼;當(dāng)IMA-ADPCM解碼器收到回放電路向其發(fā)送的,重新解第一路ADPCM數(shù)據(jù)的命令時,讀取存儲單元中存儲的該路ADPCM數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù),并根據(jù)讀取的兩個參數(shù)繼續(xù)對該路ADPCM數(shù)據(jù)進行解碼。其中,存儲單元301可以是隨機訪問存儲器(RAM),也可以是寄存器組。
本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼方法的總體流程圖如圖4所示,具體步驟如下步驟401、IMA-ADPCM解碼器對第一路ADPCM數(shù)據(jù)進行解碼;步驟402、IMA-ADPCM解碼器中途停止對第一路ADPCM數(shù)據(jù)進行解碼后,將第一路ADPCM數(shù)據(jù)當(dāng)前的解碼參數(shù)存儲到存儲單元中;步驟403、IMA-ADPCM解碼器在重新對第一路ADPCM數(shù)據(jù)進行解碼時,從存儲單元中讀取第一路ADPCM數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)繼續(xù)對第一路ADPCM數(shù)據(jù)進行解碼。
本發(fā)明自適應(yīng)差分脈沖編碼調(diào)制解碼方法的具體實施例為對兩路ADPCM數(shù)據(jù)進行解碼的實現(xiàn),如圖5所示,具體步驟如下
步驟501、IMA-ADPCM解碼器在收到來自回放電路的解碼命令后,從IMA-ADPCM數(shù)據(jù)存儲單元中讀取ADPCM1數(shù)據(jù),并對ADPCM1數(shù)據(jù)進行解碼;步驟502、IMA-ADPCM解碼器在收到來自回放電路的,要求其停止對ADPCM1數(shù)據(jù)解碼的命令后,將最后解碼出的ADPCM1數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元中;步驟503、IMA-ADPCM解碼器從IMA-ADPCM數(shù)據(jù)存儲單元中讀取ADPCM2數(shù)據(jù),并對ADPCM2數(shù)據(jù)進行解碼;步驟504、IMA-ADPCM解碼器在收到來自回放電路的,要求其停止ADPCM2數(shù)據(jù)解碼的命令后,將最后解碼出的ADPCM2數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元中;步驟505、IMA-ADPCM解碼器讀取ADPCM1的INDEX參數(shù)和PCM數(shù)值參數(shù),并根據(jù)這些參數(shù)對讀取的ADPCM1數(shù)據(jù)進行解碼;步驟506、IMA-ADPCM解碼器在收到來自回放電路的,要求其停止對ADPCM1數(shù)據(jù)解碼的命令后,將最后解碼出的ADPCM1數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元中;步驟507、IMA-ADPCM解碼器讀取ADPCM2的INDEX參數(shù)和PCM數(shù)值參數(shù),并根據(jù)這些參數(shù)對讀取的ADPCM2數(shù)據(jù)進行解碼;步驟508、IMA-ADPCM解碼器在收到來自回放電路的,要求其停止ADPCM2數(shù)據(jù)解碼的命令后,將最后解碼出的ADPCM2數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元中;步驟509、判斷是否完成某一路ADPCM數(shù)據(jù)或全部完成兩路ADPCM數(shù)據(jù)的解碼,如果完成,直接結(jié)束本流程;否則返回執(zhí)行步驟505;即在步驟508執(zhí)行完后,重復(fù)執(zhí)行步驟505至步驟508,直至完成某一路ADPCM數(shù)據(jù)或全部完成兩路ADPCM數(shù)據(jù)的解碼為止。
以上是對IMA-ADPCM解碼器對兩路ADPCM數(shù)據(jù)的解碼復(fù)用,IMA-ADPCM解碼器也可以對大于兩路的ADPCM數(shù)據(jù)進行解碼復(fù)用,在對N(N>2)路ADPCM數(shù)據(jù)進行解碼復(fù)用時,在上述步驟505之前,還對其余的第3路至第N路ADPCM數(shù)據(jù)進行解碼,并在中途停止解碼ADPCM數(shù)據(jù)后,將ADPCM數(shù)據(jù)的INDEX參數(shù)和PCM數(shù)值參數(shù)存儲到存儲單元中;而在上述步驟508之后,還對第3路至第N路的ADPCM數(shù)據(jù),依次進行讀取參數(shù)、讀取ADPCM數(shù)據(jù)并進行解碼和保存參數(shù)的流程,在執(zhí)行完第N路,即最后一路的讀取參數(shù)、接收數(shù)據(jù)進行解碼和保存參數(shù)的流程后,返回執(zhí)行步驟505。
以上是對本發(fā)明具體實施例的說明,在具體的實施過程中可對本發(fā)明的方法進行適當(dāng)?shù)母倪M,以適應(yīng)具體情況的具體需要。因此可以理解,根據(jù)本發(fā)明的具體實施方式
只是起示范作用,并不用以限制本發(fā)明的保護范圍。
權(quán)利要求
1.一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置,其特征在于,該裝置包括第一存儲單元(101),用于存儲自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù);解碼器(102),用于對來自第一存儲單元(101)的自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼,然后將解碼后的數(shù)據(jù)傳送到回放電路(103)中;并在中途停止自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)解碼后,將當(dāng)前的解碼參數(shù)存儲到第二存儲單元(301)中;以及在重新解碼自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)之前,讀取第二存儲單元(301)中存儲的該自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)對自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼;回放電路(103),用于接收解碼器(102)解碼后的脈沖編碼調(diào)制數(shù)據(jù),并對脈沖編碼調(diào)制數(shù)據(jù)進行處理;第二存儲單元(301),用于存儲中途停止解碼的自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)的解碼參數(shù)。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述的第二存儲單元(301)為隨機訪問存儲器。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述的第二存儲單元(301)為寄存器組。
4.根據(jù)權(quán)利要求1至3中任一權(quán)利要求所述的裝置,其特征在于,所述的解碼參數(shù)為索引值參數(shù)和脈沖編碼調(diào)制數(shù)值參數(shù)。
5.一種自適應(yīng)差分脈沖編碼調(diào)制解碼方法,其特征在于,該方法包括A、解碼器對第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼;B、解碼器中途停止對第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼后,將第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)當(dāng)前的解碼參數(shù)存儲到存儲單元中;C、解碼器在重新對第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼時,從存儲單元中讀取第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)繼續(xù)對第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟B后進一步包括B1、解碼器對除第一路自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)外的自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼,并在中途停止解碼后將該自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)的解碼參數(shù)存儲到存儲單元中;所述步驟C后進一步包括解碼器在重新對步驟B1中解碼的自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼時,從存儲單元中讀取該自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)的解碼參數(shù),并根據(jù)該解碼參數(shù)繼續(xù)對該自適應(yīng)差分脈沖編碼調(diào)制數(shù)據(jù)進行解碼。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述的解碼參數(shù)為索引值參數(shù)和脈沖編碼調(diào)制數(shù)值參數(shù)。
全文摘要
本發(fā)明公開了一種自適應(yīng)差分脈沖編碼調(diào)制解碼裝置,該裝置包括第一存儲單元,用于存儲ADPCM數(shù)據(jù);解碼器,用于對來自第一存儲單元的ADPCM數(shù)據(jù)進行解碼;并在中途停止ADPCM數(shù)據(jù)解碼后,將當(dāng)前的解碼參數(shù)存儲到第二存儲單元中;以及讀取第二存儲單元中存儲的該ADPCM數(shù)據(jù)的解碼參數(shù),然后根據(jù)該參數(shù)對ADPCM數(shù)據(jù)進行解碼;回放電路,用于接收解碼器解碼后的PCM數(shù)據(jù),并對PCM數(shù)據(jù)進行處理;第二存儲單元,用于存儲中途停止解碼的ADPCM數(shù)據(jù)的解碼參數(shù)。本發(fā)明還公開了一種自適應(yīng)差分脈沖編碼調(diào)制解碼方法。本發(fā)明中,通過在解碼裝置中增加用于存儲ADPCM數(shù)據(jù)的中途解碼參數(shù)存儲單元,實現(xiàn)了以中斷方式解碼ADPCM數(shù)據(jù),以及在一個IMA-ADPCM解碼器上同時解兩路或兩路以上的數(shù)據(jù)。
文檔編號H04B14/06GK1622470SQ200410102849
公開日2005年6月1日 申請日期2004年12月24日 優(yōu)先權(quán)日2004年12月24日
發(fā)明者程青云 申請人:北京中星微電子有限公司