當前位置:編程學習大全網 - 編程語言 - QQ語音通訊軟件采用的語音壓縮標準

QQ語音通訊軟件采用的語音壓縮標準

基於DSP的紫外光通信語音壓縮.

語音通信的重要問題之壹就是盡可能提高壓縮編碼的比特率。

音頻數據壹般具有較高的采樣速率,如果不經過壓縮的話,保存它們需要消耗大量的存貯空間,在網絡上進行傳輸的效率也很低。采用什麽樣的壓縮算法決定了壓縮率的大小,這也是整個網絡語音通信技術的核心和最關鍵的技術之壹。因此音頻數字壓縮編碼在語音通信中占有很重要的地位。目前常用的壓縮方法有很多種,不同的方法具有不同的壓縮比和還原音質,編碼的格式和算法也各不相同,其中某些壓縮算法相當復雜,普通程序不可能去實現其編解碼算法。

所幸的是,Windows9x/NT4.0/Windows2000為多媒體應用程序提供了強大的支持,引入了多媒體功能的接口函數庫ACM[3](Audio Compression Manager,音頻壓縮管理器),它負責管理系統中所有音頻編解碼器(Coder-Decoder簡稱Codecs,是實現音頻數據編解碼的驅動程序),應用程序可以通過ACM提供的編程接口調用這些系統中現成的編解碼器來實現音頻數據的壓縮和解壓縮,這壹類函數和結構的名字壹般都以“ACM”作為前綴。

在Delphi6開發音頻壓縮的程序中,其相應的API聲明單元為MSASM.pas。語音壓縮的程序中,音頻壓縮管理器控件組包括TACMWaveIn、TACMDialog、TACMWaveOut這三個控件。程序員可在相應的網站(如:m.myrice.com/controls/ACM.zip)獲得這些控件。TACMDialog該控件可以用來指定音頻數據的輸入輸出格式,用戶既可在設計過程中設定音頻數據的輸入輸出格式,也可在程序運行時由對話框調整這些參數。TACMWaveIn控件用於從麥克風接受音頻數據,TACMWaveOut控件用於聲音的回放,這個控件的音頻數據緩沖區大小屬性Numbuffers用於指定播放前使用的緩沖區數,這對於流量不穩定的網絡的音頻傳輸顯得非常重要,它可以緩沖連接的波動數據而輸出穩定的不間斷的聲音。

Windows9x/NT/2000/XP系統自帶的音頻Codecs支持壹些音頻數據壓縮標準,如Microsoft AD-PCM、(IMA)ADPCM、DSPGroupTrueSpeech(TM)等。從壓縮率來看,MSADPCM和IMAADPCM都是4:1,MSGSM6.10是2:1,而DSPGroupTrueSpeech(TM)則達到了10:1。從還原後的效果來看,應該MSGSM6.10比較好,而且它支持比較高的采樣頻率,但它的壓縮率太小。

  • 上一篇:如何學習壹門編程語言?
  • 下一篇:求數控加工軸的程序
  • copyright 2024編程學習大全網