一、引言
目前,語(yǔ)音信號壓縮技術(shù)發(fā)展十分迅速,出現了很多高效率的語(yǔ)音壓縮編碼方法。以語(yǔ)音信號壓縮的國際標準G.729為例,它可將經(jīng)過(guò)采樣的64kb/s語(yǔ)音信號高保真地壓縮到8kb/s,但其模型編碼算法的運算量很大。同時(shí)又要求對語(yǔ)音信號進(jìn)行實(shí)時(shí)采樣實(shí)時(shí)壓縮處理,這樣對數據采集和處理系統提出了更高的要求。
針對上述的問(wèn)題通常的解決方法有三種:
第一種方法是使用嵌入式處理器(比如凌陽(yáng)SPCE061A芯片)構成嵌入式語(yǔ)音系統實(shí)現語(yǔ)音處理壓縮功能。該方法設計簡(jiǎn)單,價(jià)格便宜,使用方便靈活。但語(yǔ)音處理能力有限。只有在數據量不大、處理系統不繁忙的情況下,這種方法才有效。
第二種方法是使用FPGA/CPLD構成片上系統實(shí)現實(shí)時(shí)語(yǔ)音壓縮處理。該方法開(kāi)發(fā)周期短,利用重配置可以減少硬件的開(kāi)銷(xiāo)。但在比較低的取樣速率時(shí)和有很高復雜度的軟件問(wèn)題的情況下,FPGA實(shí)現很困難。
第三種方法是使用通用數字信號處理器(DSP)強大的數據處理能力,由于DSP采用內部多總線(xiàn)結構,使數據的存儲和指令的執行更加快捷。最重要的一點(diǎn)是,DSP具有快速的指令周期,如TMS320系列己經(jīng)從第一代的200ns降低到現在的5ns(1600MIPS)以下,如此高的運算速度使其可以滿(mǎn)足許多實(shí)時(shí)處理的需要。
二、實(shí)時(shí)語(yǔ)音壓縮的原理
在電話(huà)通信中,語(yǔ)音信號的編碼方式一般為PCM(Pulse Code Modulation)編碼。由于需要采集、存儲、傳輸和處理的音頻數據量極大,只有進(jìn)行壓縮后才能正常進(jìn)行傳輸和存儲。目前,用于語(yǔ)音壓縮編碼的算法有ADPCM,CELP,RPE—LTP,LPC,MBE,PW1,MELP等。其中最常用的是u/A律壓縮解壓。
u/A律壓縮解壓編碼是國際電報電話(huà)協(xié)會(huì )(CCITT)最早推出的G711語(yǔ)音壓縮解壓編碼的一種格式的主要內容。其中歐洲和中國等國家采用A律壓縮解壓編碼,美國和日本采用u律壓縮解壓編碼?,F在介紹A律的資料較多,所以本實(shí)例著(zhù)重介紹u律壓縮解壓算法。
所謂u律壓縮就是壓縮器的壓縮特性具有如下關(guān)系的壓縮律:
у=ln(1+ux)/ ln(1+u) 0≤x≤1
式中 у——歸一化的壓縮器輸出電壓,
即 у=壓縮器輸出電壓/壓縮器可能的最大輸出電壓
x——歸一化的壓縮器輸出電壓,
即 x=壓縮器輸出電壓/壓縮器可能的最大輸出電壓
u——壓擴參數,表示壓縮的程度。
在使用u律的處理過(guò)程為:壓縮和解壓,壓縮是指在發(fā)送端對輸入信號進(jìn)行壓縮處理,再均勻量化,相當于非均勻量化;解壓是在接收端進(jìn)行相應的解壓處理,以恢復原始信號。
圖1是DSP硬件實(shí)現數據壓縮解壓的簡(jiǎn)單流程。
圖 1 數據壓縮解壓流程
經(jīng)過(guò)壓縮的采樣信號,按8位二進(jìn)制編碼,編碼表如下:
Biased Input Values
Compressed Code Word
Chord
Step
Bit: 12 11 10 9 8 7 6 5 4 3 2 1 0
Bit: 6 5 4 3 2 1 0
0 0 0 0 0 0 0 1 a b c d x
0 0 0
a b c d
0 0 0 0 0 0 1 a b c d x x
0 0 1
a b c d
0 0 0 0 0 1 a b c d x x x
0 1 0
a b c d
0 0 0 0 1 a b c d x x x x
0 1 1
a b c d
0 0 0 1 a b c d x x x x x
1 0 0
a b c d
0 0 1 a b c d x x x x x x
1 0 1
a b c d
0 1 a b c d x x x x x x x
1 1 0
a b c d
1 a b c d x x x x x x x x
1 1 1
a b c d
8位碼有三部分組成:極性碼(0:負極性信號;1:正極性信號)、段落碼、電平碼。
U率解壓編碼表與編碼表左右相反。U律編碼= 極性碼(musign)+段落碼(muchord)+電平碼(mustep),算法如下:
muchord = (19- T|EXP)<<4 = 190 - (T|EXP)*16 + 10H;
musign = (AH * (-1)) << 7 = (AH * FFFFH)*128 = AH * (FFFFH * 128) = AH * (FFFFH << 7) = AH * FF80H
mustep = (((|int| + 33) << (T|EXP)) << -26 ) -10H
三、實(shí)時(shí)語(yǔ)音壓縮的硬件部分設計
實(shí)時(shí)語(yǔ)音壓縮的硬件電路框圖如圖1所示。本系統實(shí)現的是ITU-T的G711國際標準建議mu律PCM的語(yǔ)音處理過(guò)程。通過(guò)TCL320AD50對話(huà)筒輸入或聲卡輸出的語(yǔ)音進(jìn)行壓縮,錄入的數據存儲在數據空間0x2000~0xa000。
圖2、實(shí)時(shí)語(yǔ)音壓縮的硬件電路框圖
四、實(shí)時(shí)語(yǔ)音壓縮的軟件部分設計
一旦完成了正確的硬件連接,接下來(lái)就可以進(jìn)行軟件編程調試了。要完成的工作包括:
(1)TMS320VC5416串口的初始化。首先將DSP串口1復位,再對串口1的16個(gè)寄存器進(jìn)行編程,使DSP串口工作在以下?tīng)顟B(tài):以SPI模式運行,每幀一段,每段一個(gè)字,每字16位,采樣率發(fā)生器由DSP內部產(chǎn)生,幀同步脈沖低電平有效,并且幀同步信號和移位時(shí)鐘信號由外部產(chǎn)生。
(2)AD50初始化。該初始化操作過(guò)程包括通過(guò)TMS320VC5416的同步串口發(fā)送兩串16位數字信息到AD50。第一串為0000 0000 0000 0001B,最低有效位(bits0)說(shuō)明下一個(gè)要傳輸的數據字屬于二次通信。第二個(gè)數據值用來(lái)對AD50的4個(gè)數據寄存器的某一個(gè)進(jìn)行配置。
Bits15~11位為0,Bits10~8位為所選寄存器地址值,Bits7~0位為所選中寄存器的編程值。4個(gè)用戶(hù)可編程寄存器的描述如下:R1中包含模擬輸入通道選擇,硬件 / 軟件編程方式選擇;R2進(jìn)行單機 / 從機工作和電話(huà)模式選擇;R3控制帶從機個(gè)數選擇;R4用來(lái)設置模擬信號可編程放大增益和A/D、D/A轉換頻率。其它兩個(gè)寄存器R5、R6是廠(chǎng)家留著(zhù)測試用的,用戶(hù)不可以對其編程。我們在以下例程中對4個(gè)可編程寄存器編程,使AD50C工作在以下?tīng)顟B(tài):選擇INP/INM為工作模擬輸入,15+1位ADC和15+1位DAC模式,不帶從機,采樣頻率為8KHz,模擬信號輸入和輸出放大增益均為0dB。
(3)用戶(hù)代碼的編寫(xiě)。完成對音頻信號采集
圖3、實(shí)時(shí)語(yǔ)音壓縮的軟件電路框圖
五、程序運行的結果
下面圖3為壓縮前的原始信號“喂,喂”,而圖4為T(mén)LC320AD50C與TMS320VC5416組成的數據采集系統對壓縮前的原始信號“喂,喂”的采集結果。
圖4、壓縮前的原始信號“喂,喂”
圖5、壓縮后的語(yǔ)音信號“喂,喂”
經(jīng)過(guò)對壓縮前后的語(yǔ)音信號對比分析,TLC320AD50C可以對語(yǔ)音信號進(jìn)行無(wú)失真壓縮。
七、結束語(yǔ)
本文以TMS320VC5416與TLC320AD50C為例,詳細介紹了AD50與DSP串口通信的硬件接口及軟件實(shí)現。從實(shí)驗結果我們可以發(fā)現TLC320AD50C可以對語(yǔ)音信號進(jìn)行無(wú)失真采樣,完全能滿(mǎn)足后續語(yǔ)音信號處理的要求,并且與DSP接口簡(jiǎn)單,高性能,低功耗,已成為當前語(yǔ)音處理的主流產(chǎn)品。廣泛適用于音頻處理,語(yǔ)音增強,語(yǔ)音安全,回聲抵消,VoIP等電話(huà)或語(yǔ)音應用中。
本文作者創(chuàng )新點(diǎn)::基于DSP的實(shí)時(shí)語(yǔ)音壓縮解壓的算法很多,其中u/A律壓縮解壓編碼是最常用的形式。介紹A律的資料較多,但是u律的幾乎沒(méi)有。本文就是介紹u律壓縮解壓算法。通過(guò)實(shí)驗,壓縮的語(yǔ)音信號解壓能夠很好的自然度和可懂性。實(shí)驗結果能夠達到預期的目標。
參考文獻
[1]TMs32oc54xDsP Applications Guide.Texas Instuments, 1999
[2]TMS320C54xDSPEnhancedPeripherals.TexasInstuments, 1999
[3]戴明禎,周建江.TMS320C54X DSP結構、原理及應用. 北京;北京航空航天大學(xué)出版社,2001
[4]高浩,須文波 基于DSP改進(jìn)的MBE語(yǔ)音算法的研究 北京;微計算機信息(嵌入式與SOC片上系統)2005年12期85頁(yè)