本文轉載自:adolph_lu 的音視頻基礎知識---音頻編碼格式
一、為什么要進行音頻編碼
音頻編碼的主要作用是將音頻采樣數據(PCM 等)壓縮成為音頻碼流,從而降低音頻的數據量,偏於存儲和傳輸,跟視頻編碼的作用類似。
二、PCM是什么
PCM(Pulse Code Modulation)稱為脈沖編碼調制,就是音頻的裸數據格式。
三、音頻基本概念
采樣頻率
單位時間內對模擬信號的采樣次數。采樣頻率越高,聲音的還原就越真實越自然,當然數據量就越大。采樣率根據使用類型不同大概有以下幾種:
- 8khz:電話等使用,對於記錄人聲已經足夠使用。
- 22.05khz:廣播使用頻率。
- 44.1khz:音頻CD。
- 48khz:DVD、數字電視中使用。
- 96khz-192khz:DVD-Audio、藍光高清等使用。
采樣精度常用范圍為 8bit-32bit,而 CD 中一般都使用 16bit。
采樣位數
采樣位數,也稱量化級、樣本尺寸、量化數據位數,指每個采樣點能夠表示的數據范圍,它以位(Bit)為單位。采樣位數通常有 8bits 或 16bits 兩種,采樣位數越大,所能記錄聲音的變化度就越細膩,相應的數據量就越大。8 位字長量化(低品質)和 16 位字長量化(高品質),16 bit 是最常見的采樣精度。
聲道數
聲道數是指支持能不同發聲的音響的個數,它是衡量音響設備的重要指標之一。
量化
將采樣后離散信號的幅度用二進制數表示出來的過程稱為量化。(日常生活所說的量化,就是設定一個范圍或者區間,然后看獲取到的數據在這個條件內的收集出來)。
編碼
采樣和量化后的信號還不是數字信號,需要將它轉化為數字編碼脈沖,這一過程稱為編碼。模擬音頻進采樣、量化和編碼后形成的二進制序列就是數字音頻信號。
PCM
PCM(Pulse Code Modulation),即脈沖編碼調制,對聲音進行采樣、量化過程,未經過任何編碼和壓縮處理。
比特率
比特率(也稱位速、比特率),是指在一個數據流中每秒鍾能通過的信息量,代表了壓縮質量。比如 MP3 常用碼率有 128kbit/s、160kbit/s、320kbit/s 等等,越高代表着聲音音質越好。
比特率 = 采樣率 × 采樣深度 × 通道數。比如 采樣率 = 44100,采樣深度 = 16,通道 = 2 的音頻的的比特率就是 44100 * 16 * 2 = 1411200 bps。
有損壓縮和無損壓縮
有損壓縮就是通過刪除一些已有數據中不太重要的數據來達到壓縮目的。
無損壓縮就是通過優化排列方式來達到壓縮目的。
大概可以這樣去看:有損壓縮就像我們在一篇文章中刪除一些不重要的助詞,達到目的,解壓縮后,已刪除的內容無法恢復;而無損則是通過排版方式達到的,解壓縮之后,還能獲得完整的PCM數據。
常用音頻編碼格式
(1)WAV
PCM(脈沖編碼調制)是 Pulse Code Modulation 的縮寫。WAV 編碼的一種實現(有多種實現方式,但是都不會進行壓縮操作)就是在 PCM 數據格式的前面加上 44 字節,分別用來描述 PCM 的采樣率、聲道數、數據格式等信息。
特點:音質非常好,大量軟件都支持。
適用場合:多媒體開發的中間文件、保存音樂和音效素材。
(2)MP3(有損)
MP3 具有不錯的壓縮比,使用 LAME 編碼(MP3 編碼格式的一種實現)的中高碼率的 MP3 文件,聽感上非常接近源 WAV 文件,當然在不同的應用場景下,應該調整合適的參數以達到最好的效果。
特點:音質在 128Kbit/s 以上表現還不錯,壓縮比比較高,大量軟件和硬件都支持,兼容性好。
適用場合:高比特率下對兼容性有要求的音樂欣賞。
(3)AAC(有損)
AAC 是新一代的音頻有損壓縮技術,它通過一些附加的編碼技術(比如 PS、SBR 等),衍生出了 LC-AAC、HE-AAC、HE-AAC v2 三種主要的編碼格式。
LC-AAC 是比較傳統的 AAC,相對而言,其主要應用於中高碼率場景的編碼(≥80Kbit/s);
HE-AAC(相當於AAC+SBR)主要應用於中低碼率場景的編碼(≤80Kbit/s);
而新近推出的 HE-AAC v2(相當於AAC+SBR+PS)主要應用於低碼率場景的編碼(≤48Kbit/s)。事實上大部分編碼器都設置為 ≤48Kbit/s 自動啟用 PS 技術,而 >48Kbit/s 則不加PS,相當於普通的 HE-AAC。
特點:在小於 128Kbit/s 的碼率下表現優異,並且多用於視頻中的音頻編碼。
適用場合:128Kbit/s 以下的音頻編碼,多用於視頻中音頻軌的編碼。
(4)Ogg(有損)
Ogg 是一種非常有潛力的編碼,在各種碼率下都有比較優秀的表現,尤其是在中低碼率場景下。Ogg 除了音質好之外,還是完全免費的,這為 Ogg 獲得更多的支持打好了基礎。Ogg 有着非常出色的算法,可以用更小的碼率達到更好的音質,128Kbit/s 的 Ogg 比 192Kbit/s 甚至更高碼率的 MP3 還要出色。但目前因為還沒有媒體服務軟件的支持,因此基於 Ogg 的數字廣播還無法實現。Ogg 目前受支持的情況還不夠好,無論是軟件上的還是硬件上的支持,都無法和 MP3 相提並論。
特點:可以用比 MP3 更小的碼率實現比 MP3 更好的音質,高中低碼率下均有良好的表現,兼容性不夠好,流媒體特性不支持。
適用場合:語音聊天的音頻消息場景。
(5)APE(無損)
APE 是流行的數字音樂無損壓縮格式之一,因出現較早,在全世界特別是中國大陸有着廣泛的用戶群。與 MP3 這類有損壓縮格式不可逆轉地刪除(人耳聽力不敏感的)數據以縮減源文件體積不同,APE 這類無損壓縮格式,是以更精煉的記錄方式來縮減體積,還原后數據與源文件一樣,從而保證了文件的完整性。
APE 由軟件 Monkey's audio 壓制得到,開發者為 Matthew T. Ashland,源代碼開放,因其界面上有只 “猴子” 標志而出名。相較同類文件格式 FLAC,ape 有查錯能力但不提供糾錯功能,以保證文件的無損和純正;其另一個特色是壓縮率約為 55%,比 FLAC 高,體積大概為原 CD 的一半,便於存儲。
APE 作為一種無損壓縮音頻格式,通過 Monkey's Audio 這個軟件可以將龐大的 WAV 音頻文件壓縮為 APE,,體積雖然變小了,但音質和原來一樣。通過 Monkey's Audio 解壓縮還原以后得到的 WAV 文件可以做到與壓縮前的源文件完全一致。所以 APE 被譽為“無損音頻壓縮格式”,Monkey''s Audio 被譽為“無損音頻壓縮軟件”。
簡單來講,APE 壓縮與 WinZip 或 WinRAR 這類專業數據壓縮軟件壓縮原理類似,只是 APE 等無損壓縮數字音樂之后的 APE 音頻文件是可以直接被播放的。APE 的壓縮速率是動態的,壓縮時只壓縮可被壓縮部分,不能被壓縮的部分還是會保留下來。
(6)FLAC(無損)
FLAC 中文可解釋為無損音頻壓縮編碼。FLAC 是一套著名的自由音頻壓縮編碼,其特點是無損壓縮。不同於其他有損壓縮編碼如 MP3 及 AAC,它不會破壞任何原有的音頻資訊,所以可以還原音樂光盤音質。2012 年以來它已被很多軟件及硬件音頻產品(如 CD 等)所支持.
FLAC 與 MP3 不同,MP3 是音頻壓縮編碼,但 FLAC 是無損壓縮,也就是說音頻以 FLAC 編碼壓縮后不會丟失任何信息,將 FLAC 件還原為 WAV 文件后,與壓縮前的 WAV 文件內容相同。這種壓縮與 ZIP 的方式類似,但 FLAC 的壓縮比率大於 ZIP 和 RAR,因為 FLAC 是專門針對 PCM 音頻的特點設計的壓縮方式。而且可以使用播放器直接播放 FLAC 壓縮的文件,就象通常播放你的 MP3 文件一樣(近幾年已經有許多汽車播放器和家用音響設備支持 FLAC,在 FLAC 的網站上你可以找到這些設備廠家的鏈接)。