音訊常見的波形編碼

2021-06-20 17:15:38 字數 1676 閱讀 3342

g.711是一種由國際電信聯盟(itu-t)訂定音訊編碼方式,又稱為itu-t g.711。

g.711使用64kbps的頻寬,可將14bits轉換成8bits。目前g.711有兩個編碼方式:一種是u-law又稱mu-law,主要運用於北美和日本;另一種是a-law,主要運用於歐洲和世界其他地區。其中,a-law編碼方式是為方便計算機處理而特別設計的。2023年3月國際電信聯盟正式發布了最新的寬頻語音編譯碼標準g.711.1。

前面部落格講過g711編碼,有兩種g711a/g711u,主要在安防中應用,是一幀波形編碼的音訊資料,只是將pcm壓縮一半資料量。一般g711,取樣率8000,通道數1。所以g711中1b就是乙個樣本資料。g711打包rtp非常簡單,只要在g711資料前加上rtp頭即可。g711沒有想aac那樣,按照幀一幀一幀傳送,而是設定乙個打包頻率,打包頻率有10ms,20ms,30ms,40ms 等。如40ms的打包頻率,1s打包25幀,1s需要傳送8000個樣本,所以一幀需要8000/25=320個樣本,rtp時間戳增量絕對值是320/8000s,協議要求以取樣率作為時鐘頻率,所以rtp時間戳為 (320/8000)*8000。

s8:     signed   8 bits,有符號字元 = char,          表示範圍 -128~127

u8:     unsigned 8 bits,無符號字元 = unsigned char,表示範圍 0~255

s16_le: little endian signed 16 bits,小端有符號字 = short,表示範圍 -32768~32767

s16_be: big endian signed 16 bits,大端有符號字 = short倒序(ppc),表示範圍 -32768~32767

u16_le: little endian unsigned 16 bits,小端無符號字 = unsigned short,表示範圍 0~65535

u16_be: big endian unsigned signed 16 bits,大端無符號字 = unsigned short倒序(ppc),表示範圍 0~65535

還有s24_le,s32_le等,都可以表示數字的方法,pcm都可以用這些表示。

上面這些值中,所有最小值-128, 0, -32768, -32768, 0, 0對應pcm描敘來說都是乙個值,表示最小值,可以量化到浮點-1。所有最大值也是乙個值,可以量化到浮點1,其他值可以等比例轉換。

pcmu應該是指無符號pcm:可以包括u8,u16_le,u16_be,...

pcma應該是指有符號pcm:可以包括s8,s16_le,s16_be,...

g721

g723

g726

g729

g.729標準制定是通過的8kbps的語音編碼協議,採用共軛結構的算術碼本激勵線性**cs-acelp演算法。

g.729系列主要有以下幾種:

g.729    ---  最基本的g.729 標準協議

g.729a  --- 對g.729 codec 一些演算法進行簡單處理,相當於降低了演算法的複雜度

g.729b  --- 加入了語音端點檢測模組,在編碼前對語音進行語音和靜默音進行檢測,然後分別對不同情況進行編碼

g.729ab --- 就是g.729a 中加入語音端點檢測演算法, 目前g.729ab 用得比較多,encoder 後,碼流中有三種資料塊: 語音(80bits), cng (16bits), dtx(0 bit).

幾種常見音訊編碼器的比較

常見的音訊編碼器 opus,aac,ogg,speex,ilbc,amr,g.711等。常見的音訊編碼器特性 opus 延遲小,壓縮率高,適合實時通訊,webrtc預設使用opus。aac 應用最廣泛的一款解碼器。ogg 收費的,應用不如前面2個應用廣泛 speex 在前面3個之前是應用廣泛的,因為...

MPEG音訊編碼

一.實驗原理 1.多項濾波器組 用來分割子帶,將pcm樣本變換到32個子帶的頻域訊號 2.量化編碼 1 比例因子的選取及編碼 對各個子帶每12個樣點進行一次比例因子計算。先定出12個樣點中絕對值的最大值。查比例因子表中比這個最大值大的最小值作為比例因子。用6位元表示。第2層的一幀對應36個子帶樣值,...

基於matlab的音訊波形實時採集顯示 v0 1

robj audiorecorder 44100,16,1 設定取樣頻率 取樣位數 通道數 recordblocking robj,1 採集初步資料 1s長度 rdata getaudiodata robj 獲取音訊資料 plot rdata 繪製波形 axis 1,44100,0.1,0.1 設定...