各種語音編碼總結

2022-04-04 04:46:05 字數 4696 閱讀 2766

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.711

64 kbps

87.2 kbps

g.729

8 kbps

31.2 kbps

g.723.1

6.4 kbps

21.9 kbps

g.723.1

5.3 kbps

20.8 kbps

g.726

32 kbps

55.2 kbps

g.726

24 kbps

47.2 kbps

g.728

16 kbps

31.5 kbps

internet

話音分組傳輸技術

在ip網中傳輸層有兩個並列的協議:tcp和udp。

tcp是面向連線的,它提供高可靠性服務;ucp是無連線的,它提供高效率的服務。

高可靠性的tcp用於一次傳輸要交換大量報文的情況,高效率的udp用於一次交換少量的報文或實時性要求較高的資訊。

實時傳輸協議rtp提供具有實時特徵的、端到端的資料傳輸業務,可以用來傳送聲音和活**像資料,在這項資料傳輸業務中包含了裝載資料的識別符號、序列號、時戳以及傳送監視。通常rtp的協議資料單元是用udp分組來承載的。而且為了儘量減少時延,話音淨荷通常都很短。圖3表示乙個ip話音分組的結構,圖中 ip,udp和rtp的控制頭都按最小長度計算。 這種ip話音分組的開銷很大,約為66%~80%。於是有人提出了組合rtp分組的概念

採用這種組合復用方法的確可以大大提高傳輸效率,但是目前尚無標準。

如果支援rtp的網路能提供組播功能,則它也可用組播方式將資料送給多個目的使用者。

rtp 本身沒有提供任何確保及時傳送的機制,也沒有提供任何傳輸質量保證的機制,因而業務質量完全由下層網路的質量來決定。同時,rtp不保證資料報按序號傳送,即使下層網路提供可靠性傳送,也不能保證資料報的順序到達。包含在rtp中的序列號就是供接收方重新對資料報排序之用。

與rtp相配套的另乙個協議是rtcp協議。rtcp是rtp的控制協議,它用於監視業務質量並與正在進行的會話者傳送資訊。

因此,我們可以根據這個圖3計算出每路g.729編碼的頻寬佔用量:

頻寬占用=傳輸的總位元組數 / 傳輸的總時間

頻寬=(20byte(ip頭)+8byte(udp頭)+12byte(rtp頭)+20byte(資料))/20ms

=60byte/20ms

以上計算公式含義為:每20ms,需要傳輸的位元組數包括20個位元組的ip包頭,8個位元組的udp包頭,12各位元組的rtp包頭,20位元組的語音資料共60位元組,結果為:3 byte/ms=3000 byte/s=24000bit/s=24kbit/s。

因此,理論上g.729中每個資料報包含兩幀語音的編碼方式,占用頻寬24kbit/s,而又有封裝效率的估算公式為:

封裝效率=[(壓縮後的語音包× n × 幀長/ 8)] / [(壓縮後的語音包×n× 幀長/ 8 )+40] 。

n表示打進n個語音包。

以g.729信源編碼為例,如乙個rtp包打進乙個語音包,則實際傳送碼流為40kbit/s,時延約為 10 ms;

如打兩個語音包,則實際傳送碼流為24kbit/s,時延約為 20ms;

如打四個語音包,實際傳送碼流為16kbit/s,時延為40ms。

為保證編碼打包的時延,若將預設語音包的數量定為兩個,實際傳送碼流即為24kbit/s,而不是8kbit/s。

因此對於語音業務這類實時性要求非常高的業務,要保證語音的質量,根據itu-t標準語音的全程往返時延應當控制在450ms為宜,編碼打包後形成的單位碼流通常是在20kbit/s。

由以上論述我們知道,每路g.729編碼的ip語音占用約20kbit/s的頻寬,實際占用的總頻寬數=語音總路數*20kbit/s。

語音編譯碼方式及其所占用的頻寬的關係

語音編碼的頻寬和實際所占用的頻寬是不同的,語音編碼的頻寬是實際語音包的頻寬,而語音包在ip網路上傳輸時,還需要增加各種包頭,如rtp包頭、udp包頭、ip包頭。由於語音包本身很小,所以相對而言這些額外的頻寬是很可觀的。在下表中列出了各種編碼方式下的打包時長以及所對應的實際頻寬。

實際頻寬與語音編碼和打包時長的關係:

語音編譯碼        打包時長     語音資料頻寬     實際所佔頻寬

g.723.1(5.3k)       30ms        5.3k            5.3*(20+40)/20 =   16.2k 

g.723.1(5.3k)       60ms        5.3k            5.3*(40+40)/40 =   10.6k

g.723.1(6.3k)       30ms        6.3k            6.3*(24+40)/24 =   16.8k

g.723.1(6.3k)       60ms        6.3k            6.3*(48+40)/48 =   11.6k

g.729               20ms        8k              8*(20+40)/20 =   24k  

g.729               60ms        8k              8*(60+40)/60 =   13.3k

由上表可以很明顯的看出,打包時間越長,所占用的實際頻寬越小,但時延越大。

說明1、rtp包頭:12bytes   udp包頭:8bytes    ip包頭:20bytes。

2、表中的頻寬計算中沒有包含物理幀頭,需根據具體網路而定。

3、表中的頻寬計算中,沒有考慮靜音檢測。靜音檢測的效率按60%計算。

音訊:

名稱                取樣率           取樣精度                占用頻寬(kbps)

g.723.1

8k 16bit

5.3 ~ 6.3kbps

ilbc

8k 16bit

13.33 ~ 15.2kbps

ccitt a-law

8k 16bit

64 ~ 128kbps

影象解析度 —— 幀數

占用頻寬(kbps)

160 × 120 —— 5 ~ 30fps

20 ~ 100kbps

176 × 144 —— 5 ~ 25fps

20 ~ 110kbps

320 × 240 —— 5 ~ 30fps

40 ~ 200kbps

352 × 288 —— 5 ~ 25fps

40 ~ 220kbps

640 × 480 —— 5 ~ 30fps

120 ~ 1000kbps

720 × 576 —— 5 ~ 25fps

120 ~ 1500kbps

國際電信聯盟 g 系列典型語音壓縮標準的引數比較

演算法 型別

位元速率 (kbit/s)

演算法延時 (ms)

g.711

a-law / μ -law

64 0

g.722

sb-adpcm

64/56/48 0

g.723.1

mp-mlq/acelp

6.3/5.3

37.5

g.726

adpcm

16/24/32/40 0

g.727

embedded adpcm

16/24/32/40 0

g.728

ld-celp

16 < 2

g.729

cs-acelp

8 15

各種語音編碼總結

g.726有四種位元速率 32,24,16 kbit s adaptive differential pulse code modulation adpcm 最為常用的方式是 32 kbit s,但由於其只是 g.711速率的一半,所以可將網路的可利用空間增加了一倍。g.726具體規定了乙個 64 ...

各種語音編碼總結

g.726有四種位元速率 32,24,16 kbit s adaptive differential pulse code modulation adpcm 最為常用的方式是 32 kbit s,但由於其只是 g.711速率的一半,所以可將網路的可利用空間增加了一倍。g.726具體規定了乙個 64 ...

語音編碼標準

1.波形編碼 波形編碼是最簡單也是應用最早的語音編碼方法。最基本的一種就是pcm編碼,如g.711 建議中的a 律或 律。apcm dpcm和adpcm也屬於波形編碼的範疇,使用這些技術的標準有g.721 g.726 g.727 等。波形編碼具有實施簡單 效能優良的特點,不足是編碼頻寬往往很難再進一...