複製鏈接
請複製以下鏈接發送給好友

Amr

(自適應多碼率編譯碼器)

鎖定
Amr,自適應多碼率編譯碼器,是一種在較大數據傳輸速率範圍內的編譯碼器。
外文名
Amr
分    類
自適應多碼率編譯碼器
每秒產生的聲音位數
4750bits/s

Amr介紹

自適應多碼率編譯碼器是一種在較大數據傳輸速率範圍內的編譯碼器,AMR編解碼器也用在多種蜂窩系統中協調編譯碼器標準。
這裏都是針對AMR narrow-band (AMR-NB)進行討論

Amr編碼方式

Mode 0 - AMR 4.75 - Encodes at 4.75kbit/s
Mode 1 - AMR 5.15 - Encodes at 5.15kbit/s
Mode 2 - AMR 5.9 - Encodes at 5.9kbit/s
Mode 3 - AMR 6.7 - Encodes at 6.7kbit/s
Mode 4 - AMR 7.4 - Encodes at 7.4kbit/s
Mode 5 - AMR 7.95 - Encodes at 7.95kbit/s
Mode 6 - AMR 10.2 - Encodes at 10.2kbit/s
Mode 7 - AMR 12.2 - Encodes at 12.2kbit/s
8~15位一些 noise frames 和保留位的定義。

Amr對應幀的大小

CMR Mode Frame size (bytes)
0 AMR 4.75 13
1 AMR 5.15 14
2 AMR 5.9 16
3 AMR 6.7 18
4 AMR 7.4 20
5 AMR 7.95 21
6 AMR 10.2 27
7 AMR 12.2 32
我們來做一個簡單的計算,PCM16和AMR之間的轉換
Amr 一幀為20毫秒
AMR 4.75Kbits/s:
每秒產生的聲音位數 = 4750bits/s
每20ms幀佔用的位數 = 4750bits/s / 50frames/s = 95bits
每20ms幀佔用的字節數 = 95bits / 8bits/byte = 11.875bytes - 圓整到12字節,不足的補0
加上一個字節的幀頭,所以,20ms一幀的AMR: 12-bytes + 1-byte = 13-bytes
相反,轉換回來就成了
13-bytes * 50frames/s * 8bits/byte = 5200bits/s
注意,這裏兩個數值並不對應,是由於圓整地原因