原文轉貼自
speech codec (G.711, G.723, G.726, G.729, iLBC)
各種各樣的編解碼在各種網域得到廣泛的應用,下面就把各種codec的壓縮率進行一下比對,不正確之處望各位同行指正。
Speech codec:
現主要有的speech codec 有: G.711, G.723, G.726 , G.729, ILBC
QCELP, EVRC, AMR, SMV
主要的audio codec 有:
real audio, AAC, AC3, MP3, WMA, SBC等,各種編解碼都有其應用的重點網域。
本文主要對speech codec相關指標進行總結:
ITU 推出G.7XX家族的speech codec, 目前廣泛應用的有:G.711,G.723, G.726, G.729. 每一種又有很多分支,如G.729就有g.729A, g.729B and g.729AB
G.711:
G.711就是語音模擬訊號的一種非線性量化,細分有二種:G.711 A-law and G.711 u-law.不同的國家和地方都會選取一種作為自己的標准. G.711 bitrate 是64kbps. 詳細的資料可以在ITU 上下到相關的spec,下面主要列出一些效能參數:
G.711(PCM方式:PCM=脈碼調制:Pulse Code Modulation)
• 取樣率:8kHz
• 資訊量:64kbps/channel
• 理論延遲:0.125msec
• 品質:MOS值4.10
G.723.1:
G.723.1是一個雙速率的語音編碼器,是 ITU-T建議的應用于低速率多媒體服務中語音或其他聲訊訊號的壓縮算法;
其目標應用系統包括H.323、H.324等多媒體通訊系統,目前該算法已成為IP電話系統中的必選算法之一;編碼器的幀長為30ms,還有7.5ms的前瞻,編碼器的算法延時為37.5ms;編碼器首先對語音訊號進行傳統電話頻寬的濾波(基于G.712),再對語音訊號用傳統8000-Hz速率進行取樣(基于G.711),并變換成16 bit線性PCM碼作為該編碼器的匯入;
在解碼器中對匯出進行逆作業來重搆語音訊號;高速率編碼器使用多脈衝最大似然量化(MP-MLQ),低速率編碼器使用代數碼激勵線性預測(ACELP)方法,編碼器和解碼器都必須支援此兩種速率,并能夠在幀間對兩種速率進行轉換;
此系統同樣能夠對音樂和其他聲訊訊號進行壓縮和解壓縮,但它對語音訊號來說是最優的;釆用了執行不連續傳送的靜音壓縮,這就意味着在靜音期間的位元流中加入了人為的聲音雜訊。除了預留頻寬之外,這種技朮使發信機的數據機保持連續工作,并且避免了載波訊號的時通時斷。
G.726:
G.726有四種碼率:, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (ADPCM),最為常用的方式是 32 kbit/s,但由于其只是 G.711速率的一半,所以可將網路的可利用空間增加了一倍。G.726具體規定了一個 64 kbpsA-law 或 µ-law PCM 訊號是如何被轉化為40, 32, 24或16 kbps 的 ADPCM 通道的。在這些通道中,24和16 kbps 的通道被用于數字電路倍增裝置(DCME)中的語音傳送,而40 kbps 通道則被用于 DCME 中的資料解調訊號(尤其是4800 kbps 或更高的數據機)。
G.726 encoder 匯入一般都是G.711 encoder的匯出:64kbps A-law or u-law.其算法實質就是一個ADPCM,自適應量化算法。
G.729:
G..729語音壓縮編譯碼算法
釆用算法是共軛架構的代數碼激勵線性預測(CSACELP),是基于CELP編碼模型的算法;能夠實現很高的語音品質(長話音質)和很低的算法延世;算法幀長為10ms,編碼器含5ms前瞻,算法延時15ms;其重建語音品質在大多數工作環境下等同于32kb/s的ADPCM(G.726),MOS分大于4.0;編碼時匯入16bitPCM語音訊號,匯出2進位位元流;譯碼時匯入為2進位位元流,匯出16bitPCM語音訊號;在語音訊號8KHz取樣的基礎上,16bit線性PCM后進行編碼,壓縮后資料速率為8Kbps;具有相當于16:1的壓縮率。
G.729家族在目前的VOIP得到廣泛的應用,且相關分支較多,可以直接從ITU網上得到source code 和相關文件。
G.729(CS-ACELP方式:Conjugate Structure Algebraic Code Excited Linear Prediction)
• 取樣率:8kHz
• 資訊量:8kbps/channel
• 幀長:10msec
• 理論延遲:15msec
• 品質:MOS值3.9
iLBC(internet low bitrate codec):
是全球著名語音引擎提供商Global IP Sound開發,它是低位元率的編碼解碼器,提供在丟包時具有的強大的健壯性。iLBC 提供的語音音質等同于或超過 G.729 和 G.723.1,并比其他低位元率的編碼解碼器更能阻止丟包。iLBC 以13.3 kb/s (每幀30毫秒)和15.2 kb/s (每幀20毫秒)速度執行,很適合撥號連線。
iLBC的主要優勢在于對丟包的處理能力。iLBC獨立處理每一個語音包,是一種理想的分封交換網路語音編解碼。在正常情況下,iLBC會記錄下目前資料的相關參數和激勵訊號,以便在之后的資料丟失的情況下進行處理;在目前資料接收正常而之前資料包丟失的情況下,iLBC會對目前解碼出的語音和之前模擬生成的語音進行平滑處理,以消除不連貫的感覺;在目前資料包丟失的情況下,iLBC會對之前記錄下來的激勵訊號作相關處理并與隨機訊號進行混合,以得到模擬的激勵訊號,從而得到交替丟失語音的模擬語音。總的來說,和標准的低位速率編解碼相比,iLBC使用更多自然、清晰的元素,精確的模仿出初始語音訊號,被譽為更適合分封交換網路使用的可獲得高語音品質的編解碼。
此外,大部分標准的低位速率編解碼,如G.723.1和G.729,僅對300Hz——3400Hz的頻率範圍進行編碼。在這個頻率範圍裡,用G.711編解碼所達到的語音品質,就是傳統PSTN網路進行語音通話的效果。
iLBC充分利用了0——4000Hz的頻率頻寬進行編碼,擁有超清晰的語音品質,這大大超出傳統300Hz——3400Hz的頻率範圍。
廣受歡迎的Skype網路電話的核心技朮之一就是iLBC語音編解碼技朮,Global IP Sound稱該編碼器語音品質優于PSTN,而且能忍受高達30%的封包損失。
總的來說,在相同的分封交換通訊條件下,iLBC的語音品質效果比G.729、G.723.1以及G.711更好,音響更加圓潤飽滿,且丟包率越高,iLBC在語音品質上的優勢就越明顯!
目前,在國際市場上已經有很多VoIP的裝置和應用廠商把iLBC集成到他們的產品中。如:Skype, Nortel等。在國內市場上,目前尚無VoIP廠家正式推出支援“iLBC”的閘道裝置,迅時公司率先推出支援“iLBC”的中繼閘道和IAD裝置。
更多資料你鏈結:
www.itu.int
http://www.ilbcfreeware.org/documentation.html#presentations
http://itbbs-arch.pconline.com.cn/topic.jsp?tid=2648071
http://bbs.sdgb.cn/ShowThread.aspx?PostID=11843
http://en.wikipedia.org/wiki/G.726
http://www.itu.int/rec/T-REC-G.726/e
留言列表