G711(PCM/PCMA/PCMU),G721,G723,G729等 音訊編解碼

desaco發表於2018-12-18

 G711,G721,G723音訊編解碼,G729音訊庫,Android G711(PCMA/PCMU)、G726、PCM音訊轉碼到AAC,ffmpeg接收g723音訊流,Android G726語音編解碼庫+除燥音演算法,g729音訊編解碼靜態庫,G723 G729 Gsm iLBC PCM audio,g723原始碼詳細分析-17-舒適噪聲解碼,g729轉換成mp3格式(音樂)等。
 採用EasyAACEncoder 此是EasyDarwin開源流媒體服務團隊整理、開發的一款音訊轉碼到AAC的工具庫,目前支援G711a/G711u/G726/PCM等音訊格式的轉碼,跨平臺,支援Windows(32&64)/Linux(32&64)/ARM各平臺。
 aac編碼部分採用的是業界公認的faac庫,EasyAACEncoder- https://github.com/EasyDarwin/EasyAACEncoder
 Android G711(PCMA/PCMU)、G726、PCM音訊轉碼到AAC-https://github.com/ssyandroid/AACEncode
 ffmpeg接收g723音訊流-https://blog.csdn.net/zhuxian2009/article/details/51286058
Android 上可用的G726編解碼庫,除去雜聲- https://download.csdn.net/download/orient1860/7691019

  G.723.1是一個資料通訊標準,以8kHz的速率取樣,每秒可以對5.3或6.3千位的資料進行壓縮的16位脈衝編碼調製(PCM)方式。編碼在30毫秒的幀中完成。超前時間是7.5毫秒,所以總延遲時間是37.5毫秒。壓縮率達到12比1。它與語音觸發檢測(VAD)共同提供了非常窄的訊號頻寬。
  G.723.1為多通道操作提供全工和半工傳輸能力,這在綜合處理數字訊號的多媒體系統中是非常有用的。在語音通訊領域,音訊質量要比那些由更好的魯棒性多媒體數字訊號編碼器提供如G.711等的方式低。也許正是因為這些,G.723.1標準被其它網際網路使用者語音傳輸協議做取代。

-- G.711和G.729協議
G.711 C++原始碼- http://download.csdn.net/download/orient1860/7691041 
AndroidJNI入門之G.711音訊編解碼- http://download.csdn.net/detail/chezi008/9777122
  G.711和G.729協議是兩對用於語音壓縮的編碼方案,兩者具有一些相似之處,但不同於完全自由使用的G.711,使用G.729是需要付費的,而且,對於使用G.729的情況,CPU佔有時間大約為G.711的4倍,因此大多數情況下,G.711的使用要廣泛於G.729,但G.729也有其獨特的優秀之處,G.729佔用頻寬小,使用普通編碼的語音通訊需要佔用64Kbps的頻寬,而G.729僅僅需要8Kbps。
  G.711也稱為PCM(脈衝編碼調製),是ITU-T訂定出來的一套語音壓縮標準,主要用於電話。它主要用脈衝編碼調製對音訊取樣,取樣率為8k每秒。它利用一個 64Kbps 未壓縮通道傳輸語音訊號。起壓縮率為1:2,即把16位資料壓縮成8位。G.711是主流的波形聲音編解碼器。G.711 標準下主要有兩種壓縮演算法:U-law algorithm和A-law algorithm,其中,後者是特別設計用來方便計算機處理的。
  G.729編碼方案是電話頻寬的語音訊號編碼的標準,對輸入語音性質的模擬訊號用8kHz取樣,16位元線性PCM量化。G.729A是ITU最新推出的語音編碼標準G.729的簡化版本。G.729協議使用的演算法是共軛結構的算術碼本激勵線性預測(CS-ACELP),它基於CELP編碼模型。由於G.729編解碼器具有很高的語音質量和很低的延時,被廣泛地應用在資料通訊的各個領域,如VoIP和H.323網上多媒體通訊系統等。
  G.729協議編解碼演算法:電話線路上的模擬語音訊號,經話路頻寬濾波(符合ITU-T G.712建議)後,被8kHz取樣,量化成16bit線性PCM數字訊號輸入到編碼器。該編碼器是基於線性預測分析合成技術,儘量減少實際語音與合成語音之間經聽覺加權後差分訊號的能量為準則來進行編碼的。編碼器的其主要部分有:線性預測分析和LPC係數的量化、開環基音週期估計、自適應碼本搜尋、固定碼本搜尋和碼本增益量化。
  G.729解碼演算法:G.729的解碼也是按幀進行的,主要是對符合G.729協議的碼流進行解碼,得到相應的引數,根據語音產生的機理,合成語音。解碼過程主要分為:引數解碼;後濾波處理。並且具有線性預測分析和LPC係數的量化、開環基音週期估計、自適應碼本搜尋、固定碼本搜尋、碼本增益量化的特點。
  首先解碼得到線譜對引數,並將線譜對引數轉換為線性預測係數。然後解碼出基音週期,獲得自適應碼本向量V(n)。解碼出固定碼本向量的四個脈衝的位置和符號,計算出固定碼本向量c(n)。解碼出固定本預測增益gc和固定碼本增益,接著得到激勵訊號。最後將激勵訊號輸入到線性預測合成濾波器中,計算出重構語音。
  後濾波處理主要是自適應後濾波。自適應後置濾波器是由三個濾波器級連而成:長時後置濾波器Hp(z),短時後置濾波器Hf(z),頻譜傾斜補償濾波器Ht(z),後面接著進行一個自適應增益控制過程。後置 濾波器的係數每一個子幀更新一次。後置濾波能夠有效地改善合成出的語音質量。
 

相關文章