Skip to content

語音編碼格式完整比較

語音編碼器(Codec, Coder-Decoder)把類比語音變成數位資料。不同 Codec 就是在位元率、延遲、音質、運算量這幾件事之間做取捨——選哪個,直接關係到通話品質和頻寬成本。

G.711:基準參考

概述

G.711 是 ITU-T 定義的最基礎語音編碼標準,也是 PSTN 的原生編碼格式。它採用 PCM(Pulse Code Modulation)技術,以 8 kHz 取樣率、8 bits 量化產生 64 kbps 的位元流。

兩種壓縮律

特性A-law(PCMA)u-law(PCMU)
RTP Payload Type80
使用地區歐洲、亞洲(含台灣)北美、日本
動態範圍較大(13 段線性近似)較小(15 段線性近似)
小訊號品質略優略劣
量化位元8 bits(13 bit 線性映射)8 bits(14 bit 線性映射)

G.711 頻寬需求雖然最高,卻一直沒退場,原因很實際:它幾乎沒有演算法延遲(只有取樣延遲),音質接近原始語音,又不用付授權費。區域網路頻寬夠的話它仍是首選,跟 PSTN 互通時也免轉碼,延遲和複雜度都少一截。

技術參數

參數數值
位元率64 kbps
取樣率8000 Hz
頻率範圍300-3400 Hz
演算法延遲0.125 ms(1 個取樣)
框架大小無固定框架(通常 20ms 打包)
MOS 分數4.1-4.3
運算複雜度極低

G.723.1:極低位元率

概述

G.723.1 是為低頻寬場景設計的編碼器,提供兩種位元率模式。它是 H.323 多媒體會議系統的強制 Codec 之一。

技術參數

參數高位元率模式低位元率模式
位元率6.3 kbps5.3 kbps
演算法MP-MLQACELP
框架大小30 ms30 ms
Look-ahead7.5 ms7.5 ms
演算法延遲37.5 ms37.5 ms
MOS 分數3.93.7

G.723.1 有幾個明顯的短處:框架是 30ms(不是常見的 20ms),基礎延遲就偏高,再加上 look-ahead,單次編碼延遲達 37.5ms;加上它有專利授權費,現代 VoIP 系統已經很少用它了。

G.729:低頻寬主流

概述

G.729 是企業 VoIP 中最常用的低頻寬 Codec,以 8 kbps 提供接近 G.711 的語音品質。它使用 CS-ACELP(Conjugate-Structure Algebraic-Code-Excited Linear Prediction)演算法。

變體

變體位元率說明
G.7298 kbps完整版
G.729A(Annex A)8 kbps降低複雜度版,品質略降
G.729B(Annex B)VAD/CNG靜音偵測 + 舒適噪音
G.729AB8 kbps + VADA + B 功能組合

技術參數

參數數值
位元率8 kbps
取樣率8000 Hz
頻率範圍300-3400 Hz
框架大小10 ms
Look-ahead5 ms
演算法延遲15 ms
MOS 分數3.9-4.0
運算複雜度中等(約 20 MIPS)

授權方面,G.729 的核心專利從 2017 年起陸續過期,現在多數實作都不用再付授權費了;不過部分硬體設備的 G.729 通道還是以授權方式賣,買之前確認一下。

G.722:寬頻語音(HD Voice)

概述

G.722 是第一個被廣泛部署的寬頻語音 Codec,取樣率從 8 kHz 提升到 16 kHz,頻率範圍擴展到 7 kHz,提供明顯優於窄頻 Codec 的語音清晰度。

技術參數

參數數值
取樣率16000 Hz
頻率範圍50-7000 Hz
演算法Sub-band ADPCM
框架大小無固定(通常 20ms)
演算法延遲1.5 ms
MOS 分數4.5+
運算複雜度

三種模式

模式位元率語音子帶輔助資料子帶
Mode 164 kbps48 kbps16 kbps
Mode 256 kbps48 kbps8 kbps
Mode 348 kbps48 kbps0 kbps

G.722 在 SDP 裡有個有名的坑:它的 RTP Payload Type 是 9,但因為歷史因素,SDP 中 G.722 的時脈率被標成 8000 Hz(RFC 3551 這麼規定),實際取樣率卻是 16000 Hz。這就是所謂的「G.722 時脈率錯誤」,而所有實作至今都照著這個「將錯就錯」的慣例走。

Opus:新世代全能 Codec

概述

Opus 是由 IETF 標準化(RFC 6716)的現代音訊 Codec,結合了 SILK(語音)和 CELT(音樂)兩種演算法,支援極寬的位元率範圍和多種應用場景。它是 WebRTC 的強制 Codec。

技術參數

參數數值
位元率6-510 kbps(可動態調整)
取樣率8/12/16/24/48 kHz
頻率範圍最高 20 kHz(全頻帶)
框架大小2.5/5/10/20/40/60 ms
演算法延遲5-66.5 ms(依配置)
通道數單聲道 / 立體聲 / 多通道
授權免授權費(BSD License)
MOS 分數4.5+(依位元率)

Opus 模式

模式適用場景特點
SILK 模式語音通話(位元率 < 12 kbps)語音優化,低延遲
CELT 模式音樂、高品質音訊(位元率 > 40 kbps)全頻帶,低延遲
混合模式中等位元率(12-40 kbps)結合兩者優點

Opus 的優勢

  • 動態位元率調整:根據網路狀況即時調整,無需重新協商
  • 前向錯誤更正(FEC):內建冗餘資料,抵抗丟包
  • 不連續傳輸(DTX):靜默期間不發送封包,節省頻寬
  • 無授權費:完全免費使用

AMR/AMR-WB

AMR(Adaptive Multi-Rate)

AMR 是 3GPP 行動通訊的標準語音 Codec:

模式位元率
AMR 12.212.2 kbps
AMR 10.210.2 kbps
AMR 7.957.95 kbps
AMR 7.47.4 kbps
AMR 6.76.7 kbps
AMR 5.95.9 kbps
AMR 5.155.15 kbps
AMR 4.754.75 kbps

AMR-WB(Wideband)

AMR-WB(也稱 G.722.2)是行動通訊的寬頻語音標準,VoLTE HD Voice 使用此 Codec:

參數數值
位元率6.6-23.85 kbps(9 種模式)
取樣率16000 Hz
頻率範圍50-7000 Hz
框架大小20 ms

完整對照表

Codec位元率 (kbps)取樣率 (Hz)頻率範圍 (Hz)演算法延遲 (ms)MOS封包頻寬* (kbps)授權費
G.711 u-law648000300-34000.1254.187.2免費
G.711 A-law648000300-34000.1254.187.2免費
G.723.15.3/6.38000300-340037.53.7/3.920.8/21.9有(已過期)
G.72988000300-3400153.931.2有(已過期)
G.72248/56/641600050-70001.54.587.2免費
Opus6-5108k-48k最高 200005-66.54.5+依設定免費
AMR4.75-12.28000300-3400253.5-4.0依模式
AMR-WB6.6-23.851600050-7000254.0-4.5依模式

*封包頻寬以 20ms 封包間隔 + IP/UDP/RTP 標頭計算(G.723.1 為 30ms)

頻寬需求詳細計算

以 20ms 封包間隔、Ethernet 傳輸為基準:

項目G.711G.729G.722Opus (16kbps)
語音負載160 B20 B160 B40 B
RTP Header12 B12 B12 B12 B
UDP Header8 B8 B8 B8 B
IP Header20 B20 B20 B20 B
Ethernet18 B18 B18 B18 B
每封包大小218 B78 B218 B98 B
每秒封包數50505050
單通話頻寬87.2 kbps31.2 kbps87.2 kbps39.2 kbps

一個好記的經驗法則:規劃頻寬時,在算出來的值上再多留 20-30% 餘裕,用來吸收 RTCP、信令和網路波動。以 G.711 為例,100 通並發大約要 11 Mbps(含餘裕)。

場景選擇建議

企業內部通話(LAN)

建議 Codec:G.722 或 G.711

理由:區域網路頻寬充裕,應優先選擇音質最佳的 Codec。G.722 提供 HD Voice 體驗,G.711 則具有最低延遲且無需轉碼。

遠端辦公 / WAN 通話

建議 Codec:Opus 或 G.729

理由:WAN 頻寬有限且不穩定。Opus 的動態位元率調整和 FEC 能有效適應網路波動。G.729 在低頻寬下提供可接受的品質。

客服中心外線

建議 Codec:G.711(PSTN 直連)或 G.729(SIP Trunk)

理由:與 PSTN 互通時使用 G.711 可避免轉碼。SIP Trunk 若線路數多,G.729 可大幅降低頻寬成本。

WebRTC 客服

建議 Codec:Opus

理由:Opus 是 WebRTC 的強制 Codec,瀏覽器原生支援,無需額外安裝。其動態位元率調整適合不穩定的網際網路環境。

錄音儲存

建議 Codec:G.711(品質優先)或 Opus(空間優先)

理由:錄音需考慮長期儲存成本。G.711 品質最佳但佔用空間大;Opus 可在低位元率下保持良好品質,大幅節省儲存空間。

最後提醒一件事:每轉碼一次,音質就掉一點。所以轉碼次數能少就少,最理想是端對端用同一種 Codec。規劃架構時,把 IP-PBX、SBC、SIP Trunk 和錄音系統各自支援的 Codec 清單先對一遍,盡量讓它們有交集,就能少轉幾次。

承暉資訊資源中心