音視頻開發學習筆記(一)----音頻基礎概念

文章目錄
前言
數字音頻
音頻編碼
WAV編碼
MP3編碼
AAC編碼
Ogg編碼
前言
   近一兩年直播、短視頻等可謂是異常火爆,隨着5G技術的逐漸普及,音視頻領域估計會迎來新一輪的爆發。對於移動開發者,音視頻開發技術也將是一個不可或缺的技能。正所謂「好記性不如爛筆頭」,作一些學習筆記仍是頗有必要的。算法

數字音頻
模擬信號要轉化爲數字信號一般要通過採樣、量化、編碼。學習

採樣
所謂採樣就是在時間軸上對信號進行數字化。根據奈奎斯特定理(也稱爲採樣定理):當採樣頻率大於信號中最高頻率的2倍時,採樣以後的數字信號能夠完整地保留原始信號中的信息。對於高質量的音頻信號,其頻率範圍(人耳可以聽到的頻率範圍)是20Hz~20kHz,因此採樣頻率通常爲44.1kHz,這樣就能夠保證採樣聲音達到20kHz也能被數字化,從而使得通過數字化處理以後,人耳聽到的聲音質量不會被下降。
量化
量化是指在幅度軸上對信號進行數字化。每個量化都是一個採樣。
編碼
所謂編碼,就是按照必定的格式記錄採樣和量化後的數字數據,好比順序存儲或壓縮存儲等。編碼涉及到不少種格式,一般所說的音頻的裸數據格式就是脈衝編碼調製(Pulse Code Modulation,PCM)數據。描述一段PCM數據通常須要如下幾個概念:量化格式(sampleFormat)、採樣率(sampleRate)、聲道數(channel)。而對於聲音格式,還有一個概念用來描述它的大小,稱爲數據比特率,即1秒時間內的比特數目,它用於衡量音頻數據單位時間內的容量大小。
計算通過壓縮的視頻輸出文件大小公式:
   (音頻編碼率(kbps)/8 + 視頻編碼率(kbps)/8)× 影片總長度(秒)/1024 = 文件大小(MB爲單位)編碼

計算不通過壓縮的聲音文件大小公式公式:
   採樣頻率(Hz)*採樣位數(bit)*聲道數=數據量(位/秒).net

圖象應該是,
    畫面尺寸(分辨率)*彩色位數(bit)*幀數 = 數據量(位/秒)orm

音頻編碼
   壓縮編碼的基本指標之一就是壓縮比,壓縮比一般小於1。壓縮算法包括有損壓縮和無損壓縮。壓縮編碼原理其實是壓縮掉冗餘信號,冗餘信號是指不能被人耳感知到的信號,包含人耳聽覺範圍以外的音頻信號以及被掩蔽掉的音頻信號等。而被掩蔽掉的音頻信號則主要是由於人耳的掩蔽效應,主要表現爲頻域掩蔽效應與時域掩蔽效應。視頻

   常見的壓縮算法有PCM、WAV、AAC、MP三、Ogg等。blog

WAV編碼
   WAV編碼不會進行壓縮操做。其有多種實現方式,其中一種就是在PCM數據格式的前面加上44字節,分別用來描述PCM的採樣率、聲道數、數據格式等信息。開發

   特色: 音質很是好,大量軟件都支持。
   適用場合 : 多媒體開發的中間文件、保存音樂和音效素材。直播

MP3編碼
   MP3具備不錯的壓縮比,聽感上比較接近源WAV文件。it

   特色: 音質在128Kbit/s以上表現還不錯,壓縮比比較高,大量軟件和硬件都支持,兼容性好。
   適用場合: 高比特率下對兼容性有要求的音樂欣賞。

AAC編碼
   AAC是新一代的音頻有損壓縮技術,它經過一些附加的編碼技術(好比PS、SBR等),衍生出了LC-AAC、HE-AAC、HE-AAC v2三種主要的編碼格式。

   特色:在小於128Kbit/s的碼率下表現優異,而且多用於視頻中的音頻編碼。
   適用場合:128Kbit/s如下的音頻編碼,多用於視頻中音頻軌的編碼。

Ogg編碼
   Ogg是一種很是有潛力的編碼,在各類碼率下都有比較優秀的表現,尤爲是在中低碼率場景下。Ogg除了音質好以外,仍是徹底免費的。Ogg有着很是出色的算法,能夠用更小的碼率達到更好的音質,128Kbit/s的Ogg比192Kbit/s甚至更高碼率的MP3還要出色。但目前由於尚未媒體服務軟件的支持,Ogg目前受支持的狀況還不夠好,不管是軟件上的仍是硬件上的支持,都沒法和MP3相提並論。

   特色:能夠用比MP3更小的碼率實現比MP3更好的音質,高中低碼率下均有良好的表現,兼容性不夠好,流媒體特性不支持。   適用場合:語音聊天的音頻消息場景。

相關文章
相關標籤/搜索