【秒懂音視頻開發】03_重識音頻


我們平時在互聯網上聽到的聲音,都是先經過錄制后,再傳輸到互聯網上的。比如歌曲、電影、主播等的聲音。

PCM

錄音的原理可以簡單理解為:把聲源的振動記錄下來,需要時再讓某個物體按照記錄下來的振動規律去振動,就會產生與原來一樣的聲音。

記錄

重現

如何把聲音(聲源的振動)記錄下來呢?聲音屬於模擬信號,但更便於計算機處理和存儲的是數字信號(二進制編碼),所以需要將模擬信號(Analog Signal)轉成數字信號(Digital Signal)后進行存儲。這一過程,我們可以稱之為:音頻數字化。

模擬信號與數字信號的比喻

模擬信號與數字信號的轉換

將音頻數字化的常見技術方案是脈沖編碼調制PCM,Pulse Code Modulation),主要過程是:采樣 → 量化 → 編碼。

模擬信號轉數字信號

模擬信號轉數字信號

采樣

模擬信號的波形是無限光滑的,可以看成由無數個點組成,由於存儲空間是相對有限的,數字編碼過程中,必須要對波形的點進行采樣。采樣(Sampling):每隔一段時間采集一次模擬信號的樣本,是一個在時間上將模擬信號離散化(把連續信號轉換成離散信號)的過程。

采樣率

每秒采集的樣本數量,稱為采樣率(采樣頻率,采樣速率,Sampling Rate)。比如,采樣率44.1kHz表示1秒鍾采集44100個樣本。

采樣定理

根據采樣定理(奈奎斯特–香農采樣定理,Nyquist-Shannon sampling theorem)得知:只有當采樣率高於聲音信號最高頻率的2倍時,才能把采集的聲音信號唯一地還原成原來的聲音。人耳能夠感覺到的最高聲音頻率為20000Hz,因此為了滿足人耳的聽覺要求,需要至少每秒進行40000次采樣(40kHz采樣率)。這就是為什么常見的CD的采樣率為44.1kHz。電話、無線對講機、無線麥克風等的采樣率是8kHZ。

量化

量化(Quantization):將每一個采樣點的樣本值數字化。

位深度

位深度(采樣精度,采樣大小,Bit Depth):使用多少個二進制位來存儲一個采樣點的樣本值。位深度越高,表示的振幅越精確。常見的CD采用16bit的位深度,能表示65536(216)個不同的值。DVD使用24bit的位深度,大多數電話設備使用8bit的位深度。

不同采樣率、位深度對比

編碼

編碼:將采樣和量化后的數字數據轉成二進制碼流。

其他概念

聲道(Channel)

單聲道產生一組聲波數據,雙聲道(立體聲)產生兩組聲波數據。

采樣率44.1kHZ、位深度16bit的1分鍾立體聲PCM數據有多大?

  • 采樣率 * 位深度 * 聲道數 * 時間
  • 44100 * 16 * 2 * 60 / 8 ≈ 10.34MB

1分鍾10.34MB,這對於大部分用戶來說是不能接受的。要想在不改變音頻時長的前提下,降低音頻數據的大小,只有2種方法:降低采樣指標、壓縮。降低采樣指標是不可取的,會導致音頻質量下降,用戶體驗變差,因此專家們研發了各種壓縮方案。

比特率

比特率(Bit Rate),指單位時間內傳輸或處理的比特數量,單位是:比特每秒(bit/s或bps),還有:千比特每秒(Kbit/s或Kbps)、兆比特每秒(Mbit/s或Mbps)、吉比特每秒(Gbit/s或Gbps)、太比特每秒(Tbit/s或Tbps)。

采樣率44.1kHZ、位深度16bit的立體聲PCM數據的比特率是多少?

  • 采樣率 * 位深度 * 聲道數
  • 44100 * 16 * 2 = 1411.2Kbps

通常,采樣率、位深度越高,數字化音頻的質量就越好。從比特率的計算公式可以看得出來:比特率越高,數字化音頻的質量就越好。

信噪比

信噪比(Signal-to-noise ratio,SNR,S/N,訊噪比),指信號與噪聲的比例,用於比較所需信號的強度與背景噪聲的強度,以分貝(dB)為單位。

位深度限制了信噪比的最大值,它們的關系如下表所示。

位深度 信噪比
4 24.08
8 48.16
11 66.22
12 72.24
16 96.33
18 108.37
20 120.41
24 144.49
32 192.66
48 288.99
64 385.32

音頻的編碼與解碼

編碼(Encode)

PCM數據可以理解為是:未經壓縮的原始音頻數據,體積比較大,為了更便於存儲和傳輸,一般都會使用某種音頻編碼對它進行編碼壓縮,然后再存成某種音頻文件格式

編碼

壓縮分為無損壓縮和有損壓縮。

  • 無損壓縮
    • 解壓后可以完全還原出原始數據
    • 壓縮比,體積
  • 有損壓縮
    • 解壓后不能完全還原出原始數據,會丟失一部分信息
    • 壓縮比,體積
    • 壓縮比越大,丟失的信息就越多,還原后的信號失真就會越大
    • 一般是通過舍棄原始數據中對人類聽覺不重要的部分,達成壓縮成較小文件的目的
  • 壓縮比 = 未壓縮大小 / 壓縮后大小

解碼(Decode)

當需要播放音頻時,得先解碼(解壓縮)出PCM數據,然后再進行播放。

解碼

常見的音頻編碼和文件格式

需要注意的是:音頻文件格式並不等於音頻編碼。比如:

  • WAV只是一種文件格式,並不是一種編碼

  • FLAC既是一種文件格式,又是一種編碼

下面對常見的音頻編碼和文件格式做一個簡介,以后有需要時再進行詳細介紹。

名稱 無損壓縮 文件擴展名
Monkey's Audio ✔️ .ape
FLAC(Free Lossless Audio Codec) ✔️ .flac
ALAC(Apple Lossless Audio Codec) ✔️ .m4a/.caf
MP3(MPEG Audio Layer III) .mp3
WMA(Windows Media Audio) .wma
AAC(Advanced Audio Coding) .acc/.mp4/.m4a
Vorbis .ogg
Speex .spx
Opus .opus
Ogg .ogg
WAV(Waveform Audio File Format) .wav
AIFF(Audio Interchange File Format) .aiff、.aif

無損

Monkey's Audio

Monkey's Audio,是一種無損的音頻編碼和文件格式,文件擴展名為.ape,壓縮率一般在55%左右。

FLAC

FLAC(Free Lossless Audio Codec),是一種無損的音頻編碼和文件格式,文件擴展名為.flac。雖然壓縮率稍有不及Monkey's Audio,但FLAC技術更先進,占用資源更低,有更多的平台及硬件產品支持FLAC。

ALAC

ALAC(Apple Lossless Audio Codec),是由Apple開發的一種無損的音頻編碼,文件擴展名為.m4a.caf

有損

MP3

MP3(MPEG Audio Layer III),是非常流行的一種有損音頻編碼和文件格式,文件擴展名為.mp3

  • 第1版是:MPEG-1 Audio Layer III,屬於國際標准ISO/IEC 11172-3
  • 第2版是:MPEG-2 Audio Layer III,屬於國際標准ISO/IEC 13818-3
  • 第3版是:MPEG-2.5 Audio Layer III,並不是由MPEG官方開發的,不是公認的標准

WMA

WMA(Windows Media Audio),是由Microsoft開發的音頻編碼和文件格式,文件擴展名為.wma。包括4種類型:

  • WMA:原始的WMA編解碼器,作為MP3的競爭者,屬於有損音頻編碼
  • WMA Pro:支持更多聲道和更高質量的音頻,屬於有損音頻編碼
  • WMA Lossless:屬於無損音頻編碼
  • WMA Voice:屬於有損音頻編碼

AAC

AAC(Advanced Audio Coding),是由Fraunhofer IIS、杜比實驗室、AT&T、Sony、Nokia等公司共同開發的有損音頻編碼和文件格式,壓縮比通常為18:1。

AAC被設計為MP3格式的后繼產品,通常在相同的比特率下可以獲得比MP3更高的聲音質量,是iPhone、iPod、iPad、iTunes的標准音頻格式。

AAC編碼的文件擴展名主要有3種:

  • .acc:傳統的AAC編碼,使用MPEG-2 Audio Transport Stream(ADTS)容器
  • .mp4:使用了MPEG-4 Part 14的簡化版即3GPP Media Release 6 Basic(3gp6)進行封裝的AAC編碼
  • .m4a:為了區別純音頻MP4文件和包含視頻的MP4文件而由Apple公司使用的擴展名
    • Apple iTunes對純音頻MP4文件采用了.m4a文件擴展名
    • M4A的本質和音頻MP4相同,故音頻MP4文件可以直接更改文件擴展名為.m4a

Vorbis

Vorbis,是由Xiph.Org基金會開發的一種有損音頻編碼。通常以Ogg作為容器格式,所以常合稱為Ogg Vorbis,文件擴展名為.ogg

Speex

Speex,是由Xiph.Org基金會開發的一種有損音頻編碼和文件格式,文件擴展名為.spx

Opus

Opus,是由Xiph.Org基金會開發的一種有損音頻編碼和文件格式,文件擴展名為.opus。用以取代Vorbis和Speedx。經過多次盲聽測試,在任何給定的比特率下都比其他標准音頻格式具有更高的質量,包括MP3、AAC。

文件格式

Ogg

Ogg是一種多媒體文件格式,由Xiph.Org基金會所維護,可以納入各式各樣的音視頻編碼(音頻、視頻都可以),文件擴展名常為.ogg

Ogg常用的音頻編碼有:

  • 有損壓縮:Speex、Vorbis、Opus
  • 無損壓縮:FLAC
  • 未壓縮:PCM

WAV

WAV(Waveform Audio File Format),是由IBM和Microsoft開發的音頻文件格式,擴展名是.wav,通常采用PCM編碼,常用於Windows系統中。

WAV的文件格式如下圖所示,前面有44個字節的文件頭,緊跟在后面的就是音頻數據(比如PCM數據)。

WAV文件格式

WAV文件格式

  • NumChannels:聲道數
  • SampleRate:采樣率(Hz)
  • ByteRate:每秒多少個字節(Byte/s)
  • BitsPerSample:位深度

AIFF

AIFF(Audio Interchange File Format),由Apple開發的音頻文件格式,擴展名是.aiff.aif。跟WAV一樣,通常采用PCM編碼,常用於Mac系統中。

有損和無損

根據采樣率和位深度可以得知:相對於自然界的信號,音頻編碼最多只能做到無限接近,任何數字音頻編碼方案都是有損的,因為無法完全還原。目前能夠達到最高保真水平的就是PCM編碼,因此,PCM約定俗成叫做無損音頻編碼,被廣泛用於素材保存及音樂欣賞,CD、DVD以及常見的WAV文件中均有應用。

但並不意味着PCM就能夠確保信號絕對保真,PCM也只能做到最大程度的無限接近。我們習慣性的把MP3列入有損音頻編碼范疇,是相對於PCM編碼的。要做到真正的無損是困難的,就像用數字去表達圓周率,不管精度多高,也只是無限接近,而不是真正等於圓周率的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM