【音視頻】音視頻入門基礎

1、音視頻學習路線

對於音視頻來說,通常包括以下4個方面的知識: 

  • 採集:把視頻、聲音從設備上抽樣採集;
  • 渲染:即播放展示;
  • 處理:包括去噪、回聲消除、混音、特效、轉場等;
  • 傳輸:上傳、直播;

下面先來了解音視頻的基本知識

2、音視頻封裝格式

我們日常所看到的音頻視頻的後綴格式,比如mp3、avi、rmvb等,它們其實是音視頻的封裝格式,也就是說,把音頻、視頻打包成一個統一約定的格式文件,類似於word文檔後綴是.word一樣;只不過,由於約定的組織、公司標準以及算法側重點不同,目前有比較多的封裝格式。

(1)音頻格式

  • mp3:  MPEG 移動圖像專家組出品的格式,使用最爲廣泛,有損壓縮格式,壓縮比例較高,通常是4到10倍左右的壓縮比;
  • wmv:微軟以及IBM聯合出品的格式,最接近無損的格式,體積較大,通常用於專業電影音樂錄製;
  • aac: 由杜比實驗室聯合其他公司推出的格式,採用了更高效的編碼算法,壓縮比例比MP3更高,通常可以達到18:1,而音質也沒差,反而更好,所以也被廣泛應用;

(2)視頻格式

這裏列出常用的幾種:

格式名稱

提出組織

提出時間

特點

mov

apple

1991

蘋果專屬格式,對其他系統播放器兼容不友好

rmvb

Real Network

1997

針對不同的網絡傳輸速率而提供不同的壓縮比率,具有體積小,傳輸效率高等優點;

avi

微軟

1992

算法簡單,缺點是體積大

mkv

Matroska

2002

最有包容性的格式,可以容納無限量、多種不同類型編碼的視頻音頻;

wmv

微軟

2003

微軟的專用格式,兼容性也不是很好

Mp4

MPEG

1998

最常用的有損壓縮格式,好處是通用性強,體積小,但壓縮後有損失

3、音視頻編碼格式

所謂編碼:就是通過特定的壓縮技術,把某種音頻、視頻格式文件轉成另一個音頻、視頻格式,一般是從大體積文件壓到小體積文件,然後便於存儲和傳輸;

(1)視頻編碼

可以分爲3個體系格式:

  • MPEG : 運動圖像專家組的縮寫,是由ISO(國際標準組織機構)下屬組織,由300多個分別來自IBM、NEC 等大企業專家工程師組成的組織,這個組織推出了視頻以及音頻的格式,比如VCD、DVD都是分別對應之格式MPEG1、MEPG2;他們提出了MPEG Audio Layer 1/2、MPEG Audio Layer 3(mp3)、MPEG-2 AAC 、MPEG-4 AAC等標準;
  • H.26x 系列: 由ITU 主導的,側重於網絡傳輸,但它只推出視頻編碼的格式,目前包括H.261 ~ H.265;應用最廣泛的是H.264, H.265 於2012年推出,還處於小規模應用界面;
  • AVS :  我國自主研發的編碼協議,目前推出都第一代以及第二代,更多閱讀。AVS1與H.264 性能相近,而AVS2 則對標參考了H.265,性能相同;國家之所以推出這個自主協議,是因爲H.264/5 的專利許可策略過於苛刻,付費商用不合理,並且容易受到美國製約;所以出於專利限制與信息安全角度,AVS 有重要意義,目前已經在我國的電視廣播上廣泛應用;

(2)音頻編碼

與上面音頻封裝格式一樣,常用的有3種: 

  • AAC: 性價比最高的有損壓縮格式;
  • MP3: 利用人耳對高頻信號不敏感的特性,大幅度壓縮高頻信號,小壓縮低頻信號,從而得到較好的壓縮比;
  • AC3: 有損編碼格式,被廣泛應用於5.1 聲道,對音樂的立體效果呈現能力強,被廣泛應用於DVD唱片以及電影院;

4、音視頻鏈路理解

4.1 採集

採集從2個方面收集數據: 

  • 聲音: 麥克風,需要知道:聲道,採樣率,通道號,位寬等參數,輸出的音頻文件格式是PCM;
  • 視頻: 採集工具是攝像頭,輸出的視頻格式是NV21,NV12,I420等;

(1)採樣率

學過電子的同學可能知道,我們數字上把一個信號量是否可以連續劃分爲模擬信號以及數字信號,模擬信號就是在一個時間段內變化是連續的一個信號,所有的物理量都可以用模擬信號來表示,比如聲音、光、溫度、壓力以及位移等。

 

那麼這裏,對於聲音來說,我們需要把這種物理量轉換成模擬信號,然後轉爲數字信號纔可以在計算機上傳輸。

由於模擬信號是連續的,所以我們需要以一定的區間間隔來採集,這個過程就叫採樣。

而根據奈奎斯特的抽樣定理,只要採樣的頻率不低於最高音頻頻率的2倍,就可以無損還原原來音頻信號.

 

通常人耳能聽到頻率範圍大約在20Hz~20kHz之間的聲音,爲了保證聲音不失真,採樣頻率應在40kHz以上。常用的音頻採樣頻率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。

 

(2)位寬

上圖中,每一個紅色點的採樣點都需要一個數值來表示,那麼這個數值的上限範圍是多少呢? 則是可以自定義的,這個值就叫位寬。位寬越高,可表示的範圍就越大,那麼音頻信號被還原的就會越清晰,當然,對應的數據量也隨之增大。

常用的位寬是 8bit 以及 16bit;

(3)聲道

看過3D電影的都知道,聲音是立體的,如果是單音響發出的聲音,就叫單聲道;雖然聲音內容不變,但整體體驗是欠佳的;而聲音是可以疊加的,所以,人們經過研究發現,多個不同音響從不同位置發出來的聲音疊加起來,整體立體效果是更好的。

所以,聲道數就代表着發出聲音的揚聲器數量。

常見聲道有單聲道、立體聲道、4聲道、5.1聲道、7.1聲道等;

  • 單聲道:一個揚聲器;
  • 立體聲道:左右對稱的兩個揚聲器,左右聲道;
  • 4聲道:規定了4個發音點,分別是前左、前右、後左、後右,聽衆在中間;
  • 5.1 聲道: 基於4聲道變化,分別是左聲道、右聲道、左環繞、右環繞,中置聲道,以及中間增加低音效果;
  • 7.1 聲道: 在5.1 聲道基礎上,增加中左中右兩個發音點;

4.2 渲染

渲染解決的是如何把上面採集到的數據展示出來,讓用戶聽到看到的問題;

不同系統提供了不同的解決方案,對於移動終端來說:

Android:ImageView,SurfaceView,TextureView,OpenGL 等
iOS: CoreGraphics,OpenGL 等

可以看到OpenGL是跨平臺的解決方案。

4.3 處理

處理針對圖片、音頻以及視頻有不同的處理方式,下面列出主要的方式以及開源庫

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章