AVFoundation 入門

AV Foundation 是 OSX 系統和 iOS 系統中用於處理基於時間的媒體數據的高級 objectivec 框架,其設計過程高度依賴多線程機制,充分利用了多核硬件優點,大量使用 Block 和 GCD 機制。AVFoundation 能與高層級框架無縫銜接,也能提供低層級框架的功能和性能。算法

1. AVFoundation 核心功能

AVFoundation 提供的核心功能以下所示多線程

  • 音頻播放和記錄——AVAudioPlayer 和 AVAudioRecorder
  • 媒體文件檢查——AVMetadataItem
  • 視頻播放——AVPalyer 和 AVPlayerItem
  • 媒體捕捉——AVCaptureSession
  • 媒體編輯
  • 媒體處理——AVAssetReader、AVAssetWriter

2. 數字媒體

2.1 數字媒體採樣

將現實世界的模擬信號轉換爲可以被計算機存儲和傳輸的數字信號,須要通過模擬-數字轉換過程,也稱爲採樣。數字化採樣有兩種方式,一種是時間採樣,即捕捉一個信號週期內的變化,一種是空間採樣,通常用於圖片數字化和其餘可視化媒體內容數字化上,它對一個圖片在必定分辨率下捕捉其亮度和色度,進而建立出由該圖片的像素點數據所構成的數字化結果。視頻既有空間屬性又有時間屬性,因此數字化時均可以使用。框架

2.2 音頻採樣

對於一個音頻,麥克風負責將物理振動轉化爲相同頻率和振幅的電流信號,以後經過線性脈衝編碼調製(LPCM)進行編碼。LPCM 採樣或測量一個固定的音頻信號,其週期率被稱爲採樣率。採樣頻率達到奈奎斯特頻率(採樣對象最高頻率的 2 倍)時便可準確表現原始信號的信息。另外一方面編碼字節數(也稱位元深度)表現了採樣精度,如位元深度爲 8 位的編碼可以提供 256 個離散級別的數據,CD 音質位元深度爲 16。性能

3. 數字媒體壓縮

原始、未壓縮的數字化媒體數據須要大量的存儲空間,所以須要進行壓縮。編碼

3.1 色彩二次抽樣

因爲人類的眼睛對亮度的敏感度高於顏色的敏感度,所以能夠大幅下降存儲在每一個像素中的顏色信息,而不至於圖片質量嚴重受損,這一過程稱爲色彩二次採樣。線程

視頻數據都使用 YCbCr 顏色模式,也稱爲 YUV 模式,與 RGB 視頻信號傳輸相比,它最大的優勢在於只需佔用極少的頻寬。其中 「Y」 表示明亮度(Luminance或Luma),也就是灰階值;而 「U」 和 「V」 表示的則是色度。設計

色彩二次抽樣一般用一個三分比值表示,J:a:b(例如4:2:2),形容一個以J個像素寬及兩個像素高的概念上區域:cdn

J:水平抽樣參照(概念上區域的寬度)。一般爲4 a:在J個像素第一行中的色度抽樣數目(Cr, Cb) b:在J個像素第二行中的額外色度抽樣數目(Cr, Cb)視頻

下面是抽樣示意圖對象

image

4:4:4 比例下全綵色信息均可被保存,在 4:2:2 比例下色彩信息爲每兩個水平像素的平均值,在 4:2:0 比例下色彩信息爲水平和垂直 4 個像素的平均值。

3.2 編解碼器壓縮

編解碼器使用高級壓縮算法對須要保存或發送的音頻或視頻數據進行壓縮和編碼,同時能夠將壓縮文件解碼成適合播放和編輯的媒體資源文件。編解碼器分無損壓縮和有損壓縮,zip 和 gzip 就是無損壓縮。

3.3 視頻編解碼器

AVFoundation 只提供 H.264 和 Apple ProRes 兩種媒體類型的支持,但 iOS 只支持 H.264。

3.3.1 H.264

H.264 規範是 Motion Picture Experts Group(MPEG)定義的 PMEG-4 的一部分,與其餘 MPEG 壓縮同樣,H.264 經過下面兩個維度來壓縮視頻文件尺寸:

  • 空間:壓縮獨立視頻幀,被稱爲幀內壓縮
  • 時間:以組爲單位壓縮視頻幀冗餘數據,稱爲幀間壓縮

幀內壓縮經過消除包含在每一個獨立視頻幀內的色彩及結構中的冗餘信息來進行壓縮,所以能夠在不下降圖片質量狀況下儘量縮小尺寸,這一過程建立的幀稱爲 I-frames。

幀間壓縮將不少幀組合爲一組圖片(簡稱 GOP),對於 GOP 所存在的時間維度的冗餘能夠被消除。GOP 存儲三種不一樣類型的幀:

  • I-frames:關鍵幀,建立完整圖片所須要的全部數據,尺寸大但解壓快
  • P-frames:預測幀,基於最近的 I-frames 或 P-frames 的可預測圖片進行編碼獲得
  • B-frames:雙向幀,基於使用以前和以後的幀信息編碼獲得的幀,解壓過程費時

3.4 音頻解碼器

AVFoundation 普遍使用 AAC(高級音頻編碼) 做爲音頻解碼器,它是 H.264 標準相應的音頻處理方式,優於 MP3 格式。

相關文章
相關標籤/搜索