用AMBE-1000實現的語音分組技術
1 概述
隨著信息技術的不斷發展和完善,信息的快速傳遞在生產和生活中顯得越來越重要。在各種信息傳遞方式中,語音的互通占據著重要的位置。最為大家熟知的是以PCM編碼方式傳送語音的普通電話業務,實時性強、語音質量高,占據著語音通話業務的主體。但近年來隨著IP電話的普及和網絡技術的發展,另一種語音處理技術越來越為人們所熟悉,那就是語音分組技術。語音分組是指將語音信號轉化為一定長度和速率的數字化語音包,采用存儲轉發的方法并以包的形式進行交換和傳輸。它隨著互聯網的普及,尤其是IP電話的普及而得到越來越多應用。但由于互聯網不能對傳輸帶寬提供保證,因此,語音包在其傳輸過程中就會產生延遲、抖動、包丟失等影響語音質量的因素。直到近年來由于低速率編解碼算法的出現和軟硬件性能的提高,人們才注意到分組語音技術的商業價值,并投入開發力量。
早期分組語音技術的應用大都采用軟件實現。近年來,隨著大規模集成電路的飛速發展,硬件價格大幅度下降,從而出現了許多用硬件實現分組語音的產品。硬件具有對數據處理速度快,可處理大量數據的特點,所以使用硬件實現分組語音可以很好地處理延遲、抖動、回聲抑制等問題,從而得到良好的音質。采用硬件實現分組語音的另一個優點是:在一個硬件電路中可以實現多種壓縮標準的分組語音,能很靈活地適應不同網絡環境下的多個語音終端的互通。
本文著重介紹采用一種專用的DSP芯片AMBE-1000實現語音分組的方法,并用這種方法實現了鐵路站場中的信號作業電話。由此可以看出,分組語音技術在一些專門領域應用的廣闊空間。
2 AMBE-1000簡介
AMBE-1000是Digital Voice Systems公司的語音編解碼芯片,用來實現雙工的語音壓縮/解壓縮功能,能實現低傳輸速率下高質量的通話。它采用先進的AMBE壓縮算法,壓縮速率最低可達2.4Kb/s目前,這種算法以其能實現的低傳輸速率和高通話質量而在世界范圍內得到了廣泛應用,甚至用在下一代移動通信系統中。具體來說,AMBE-1000具有如下獨特之處:
*低硬件成本和高通話質量;
*無需外圍輔助設備;
*比特差錯和背景噪聲良好的魯棒性;
*可變傳輸速率2.4Kb/s~9.6Kb/s;
*可自動插入舒適噪聲;
*可選的串行和并行接口;
*自帶回聲抑制功能;
*DTMF信號的檢測與產生;
*低功耗。
我們用這個芯片實現語音的分組化。最基本的應用可由圖1表示。
在實際應用中,語音壓縮數據要在信道中傳輸,須加入信道接口,完成對語音壓縮數據的加工、打包。最常用的接口一般可用單片機來實現。AMBE-1000的設計也使它很容易和單片機交換數據。AMBE-1000和單片機之間的數據接口有串行接口和并行接口,通信方式是主動方式還是被動方式,取決于可采集數據的信號是否由AMBE自身全部給出。我們采用并行數據線接口,AMBE-1000設為被動工作方式。此時當其RX_DI端輸入8kHz取樣的語音數據(16位線性編碼,8位A率或8位U率編碼)時,在其數據線上會得到周期性的壓縮語音數據(周期20ms,長度6字節,可達到2.4Kb/s的傳輸速率)。其控制線和數據線時序關系如圖2所示。
LOOP:JNB EPR,$
READ:MOV R0,#34
MOV R1,#30H
LL:MOVXA,@DPTR(DPTR:AMBE的地址)
MOV @R1,,A
INC R1
JB OBE,$
DJNZ R0,LL
SJMP LOOP
AMBE-1000作為解碼器的寫時序與讀時序類似,可根據DPE(Decoder Packet Ready)和IBF(Input Buffer Full)信號編寫相應程序。
從AMBE-1000輸出的語音數據有固定的幀格式,每一幀有34字節數據,除去幀頭,有24字節語音數據。在20ms周期內,若24字節數據全部被填滿,則其傳輸速率為9.6Kb/s。若設傳輸速率為2.4Kb/s,則24字節語音數據格式中只有6字節語音數據,其余被0填充。我們用這6字節數據作為一帖,再加上幀頭(包括同步碼、地址碼、類型碼、校驗碼等),便可實現分組語音。
3 應用實例
AMBE-1000讀寫一幀數據所需的時間遠小于20ms。也就是說在20ms時間內,除了讀1幀或寫1幀數據外,處理器還有大量的時間做其它的事。這使人們有可能在半雙工的低速信道內實現全雙工的語音通話。圖3為以AMBE-1000為核心實現的鐵路站場信號作業電話示意圖。
圖3中,用戶線接口及PSTN接口均以AMBE為核心。每一個終端可通過總線的PSTN接口接入PSTN電話網;各個電話終端可通過總線互通,但每一時刻只能有一個終端接入PSTN。終端的硬件構成如圖4所示。
由電話接口完成用戶話機模擬信號的二、四線轉換;由編解碼器完成對模擬語音信號的數字化,并進行A率(U率)PCM編碼;由AMBE-1000對PCM語音信號壓縮并分組,實現分組語音;由單片機對分組語音進行打包,最后送入485總線進行傳輸。由于是多個終端,在軟件中需引入令牌機制,以防止沖突。軟件工作流程如圖5所示。
結語
就功能來說,AMBE-1000是一款優秀的語音壓縮處理器;就其能達到的最低壓縮速率來看,已達到了世界先進水平,而且能夠保證高質量的通話質量。這使得它在世界范圍內得到了廣泛應用;但其壓縮算法為非標準算法,致使由AMBE-1000構成的語音處理系統只能用在某些專用網上。即使如此,它仍不失為在語音處理領域一款優秀的處理器。
評論