【音視頻】AMR-WB音頻在RTP協議和文件存儲中的格式


AMR-WB音頻在RTP協議和文件存儲中的格式

1. 什么是AMR-WB

​ 自適應多速率寬帶(AMR-WB)是一項專利寬帶語音音頻編碼標准,該標准基於自適應多速率編碼而開發。 與AMR-NB(NarrowBand)相比,AMR-NB的音頻帶寬通常為300-3400Hz。但是AMR-WB的帶寬達到了50-7000 Hz。從而提高了語音質量。 AMR-WB由諾基亞和VoiceAge開發。並且在 2000 年 12 月,3GPP選擇自適應多速率寬帶語音編碼 AMR-WB算法作為第三代移動通信(3G)系統使用的語音編解碼算法。

2. 什么是RTP

​ RTP全名是Real-time Transport Protocol(實時傳輸協議)。它是IETF提出的一個標准,對應的RFC文檔為RFC3550(RFC1889為其過期版本)。RFC3550不僅定義了RTP,而且定義了配套的相關協議RTCP(Real-time Transport Control Protocol,即實時傳輸控制協議)。RTP用來為IP網上的語音、圖像、傳真等多種需要實時傳輸的多媒體數據提供端到端的實時傳輸服務。RTP為Internet上端到端的實時傳輸提供時間信息和流同步,但並不保證服務質量,服務質量由RTCP來提供。

3. AMR-WB音頻如何在RTP中存儲

​ AMR-WB共有兩種模式,分別為節省帶寬模式和字節對齊模式。兩種模式的包結構有所不同。

3.1. 節省帶寬模式

3.1.1. 單通道單幀場景

16137202048073.png

CMR(codec mode request)占4bits,模式請求字段。CMR=15代表接收方不需要對數據進行編碼保留原樣即可。

The table of contents (ToC)占6bits,內容信息表。具體格式如下:

16137202124716.png

​ F為1代表此幀不是包中的最后一幀,后面還有其他幀。F為0代表此幀為最后一幀,單通道單幀場景下只有一個TOC,TOC中的F必定為0。

​ FT代表幀類型,根據RTP類型的不同,幀類型所對應的表也有所不同。上面的FT=4代表AMR-NB的幀類型為4,根據對應表為7.4kbits/s 。如果此包為20ms,那么可以計算7.4 * 1000 / 50 = 148,正好為SpeechData的長度。

​ Q代表此幀是否為好幀,1為好幀,0為壞幀。有時需要根據具體場景,決定是否需要保留壞幀。

16137202273453.png

3.1.2. 單通道多幀場景

16137202351830.png

​ 此包為AMR-WB的單通道多幀數據包。CMR為1,要求接收方的編碼器需要將編碼模式更改為AMR-WB 8.85 kbps。

16137202204958.png

​ 此包一共包括4幀。其中第一幀的TOC-FT=0,代表此幀為AMR-WB 6.60kbit/s。第二幀的TOC-FT=9,代表此幀為AMR-WB SID。第三幀的TOC-FT=15,代表此幀為No Data。第四幀的TOC-FT=1,代表此幀為AMR-WB 8.85kbit/s。前三幀的TOC-F均為1,最后一幀的TOC-F為0,代表第四幀為包內的最后一幀。四幀的Q值均為0,證明沒有壞幀。

​ 此包的Speech Data共有四幀四組,其中一組沒有長度:

​ 1. 第一組長度為 6.60 * 1000 / 50 = 132 bit。

​ 2. 第二組的長度根據 3GPP TS 26.201 文檔得知SID長度為40 bit。

​ 3. 第三幀因為FT = 15,代表No Data。故為0。

​ 4. 第四組長度為 8.85 * 1000 / 50 = 177 bit。

3.1. 字節對齊模式

​ 字節對齊模式的整體格式與節省帶寬相同,需要注意的是CMR、TOC、Speech Data各段長度需要按照字節對齊即可。此處舉一個單通道多幀的例子:

16137202481799.png

可以看到CMR,TOC和Speech Data之后都有按照字節對齊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM