五張圖表明不一樣的階段:html
截取一個音頻片斷ide
對音頻振幅進行採樣編碼
若干次橫向均份量化3d
對音頻高度進行量化code
若干次縱向均分orm
對片斷進行編碼cdn
將量化的音頻信息進行二進制轉化視頻
數字信號轉化htm
在二進制1
位置時進行發聲blog
一個振幅高度採樣用多少位(bit)存放。一般是16位(bit)
在音頻中,每秒採集的高度信息次數。8k、16k、32k、44.1k、48k
不一樣的編碼方式有不一樣的採樣率,好比AAC
使用的是44.1k採樣率。
單聲道,雙聲道,多聲道
採樣率×採樣大小×聲道數
AAC
編碼壓縮後能夠大概128kb/s,AAC HE V2
編碼能夠達到32kb/s。
消除冗餘數據
關於冗餘信息:
一個聲音會掩蓋另外一個聲音(圖中橫向爲頻率,總想爲分貝)。
紅色聲源
會掩蓋其餘紫色聲源
而沒法掩蓋綠色聲源
白色區域
雖然在人耳聽覺範圍以內,可是因爲音量不夠,也是聽不到的。
當一個高分貝的聲音出現時,其先後必定時間內的低分貝聲音會被遮蔽
該圖橫向爲毫秒,縱向爲分貝
哈夫曼無損編碼
常見的音頻編解碼器:OPUS、ACC、Vorbis、Speex、iLBC、AMR、G.711
當前十分流行的音頻編解碼器。內部具備基於口(速度快)、耳(高保真)兩個編解碼模型。
也是一種流行的音頻編解碼器。具備高保真的特性,因爲RTMP協議的支持性良好,主要應用於直播業務中。
在AAC與OPUS以前的主流音頻編解碼器。包括迴音消除,降噪等等輔助模塊。
固話的編解碼器
網上的測評結果中:OPUS>ACC>Vorbis
上圖中橫軸是音頻編碼碼率,縱軸是音頻頻帶信息。從圖中咱們能夠得到以下幾方面信息。
(1)對於固定碼率的編碼標準,如G.711或者G.722,圖中採用單點表示,說明這兩個編碼標準是固定碼率編碼標準。其餘如Opus、Speex,它們的曲線是連續的,說明這類編碼標準是可變碼率的編碼標準。
(2)從頻帶方面看,G.7十一、G.72二、AMR和iLBC等標準適用於narrowband(8khz採樣率)和wideband(16khz採樣率)範圍,針對普通的語音通話場景。AAC和MP3適用於fullband(48khz採樣率)範圍,針對特殊的音樂場景。而Opus適用於整個頻帶,能夠進行最大範圍的動態調節,適用範圍最廣。
(3)從標準的收費狀況看,適用於互聯網傳輸的iLBC、Speex和Opus都是免費且開源的;適用於音樂場景的MP3和AAC,須要license受權,並且不開源。
取代MP3格式
MP3使用的是MPEG-2編解碼規範的有損壓縮。 而AAC使用的是MPEG-4規範,壓縮率更高,損耗更小。
AAC LC
、AAC HE V1
、AAC HE V2
對應關係以下所示
低複雜度,碼流128kb/s
在
AAC LC
的基礎上增長了SBR(Spectral Band Replication)
,碼流64kb/s左右
SBR指的是頻段複製
簡要敘述一下,音樂的主要頻譜集中在低頻段,高頻段幅度很小,但很重要,決定了音質。
SBR把頻譜切割開來,下降低頻波段的採樣率以減小文件大小,提升高頻波段的採樣率以提升音質。
在
AAC HE V1
的基礎上增長了Parametric Stereo)
,碼流32kb/s左右
PS指的是參數立體聲
原來的立體聲文件文件大小是一個聲道的兩倍。
可是兩個聲道的聲音存在某種類似性,根據香農信息熵編碼定理,相關性應該被去掉才能減少文件大小。因此PS技術存儲了一個聲道的所有信息,而後,花不多的字節用參數描述另外一個聲道和它不一樣的地方。
Audio Data Interchange Format 音頻數據交換格式
這種格式的特徵是能夠肯定的找到這個音頻數據的開始,不需進行在音頻數據流中間開始的解碼,即它的解碼必須在明肯定義的開始處進行。故這種格式經常使用在磁盤文件中。
Audio Data Transport Stream 音頻數據傳輸流
種格式的特徵是它的每一幀頭部都包含一個同步字,解碼能夠在這個流中任何位置開始。它的特徵相似於mp3數據流格式。
簡單說,ADTS能夠在任意幀解碼,也就是說它每一幀都有頭信息。ADIF只有一個統一的頭,因此必須獲得全部的數據後解碼。
目前通常編碼後的和抽取出的都是ADTS格式的音頻流。
兩者的頭部信息以及組織結構也有區別,具體能夠參閱《AAC幀格式及編碼介紹》
Libfdk_AAC > ffmpeg AAC > libfaac > libvo_aacenc
其中最經常使用的是Libfdk_AAC
1. 判斷文件格式,肯定爲ADIF或ADTS。
2. 若爲ADIF,解ADIF頭信息,跳至第6步。
3. 若爲ADTS,尋找同步頭。
4. 解ADTS幀頭信息。
5. 如有錯誤檢測,進行錯誤檢測。
6. 解塊信息。
7. 解元素信息。