福建福州羅源建設(shè)局網(wǎng)站搜狗收錄提交入口

大家好,歡迎來到停止重構(gòu)的頻道。
上期我們討論了視頻的相關(guān)概念,本期我們討論音頻的相關(guān)概念。
包括采樣率、碼率、單雙聲道、音頻幀、編碼格式等概念。
這里先拋出一個關(guān)于無損音頻的問題。
為什么48KHz采樣率的.mp3不是無損音樂 ,而48KHz采樣率的.wav、.flac音頻是無損的呢?
音頻相關(guān)概念我們按這樣的順序分類討論:
1、 音頻采樣的概念
2、 單個音頻幀的概念
3、 多個音頻幀的概念
音頻采樣的概念
相關(guān)概念有:采樣、位深度、聲道、采樣率。
與視頻不同的是,音頻的最小單位不是一幀,而是一個采樣。
采樣是當(dāng)前一刻聲音的聲音樣本,樣本需要經(jīng)過數(shù)字轉(zhuǎn)換才能存儲為樣本數(shù)據(jù)。

數(shù)字轉(zhuǎn)換時會根據(jù)位深度轉(zhuǎn)換,位深度就是存儲單個樣本數(shù)據(jù)的大小,位深度越大,記錄的樣本數(shù)據(jù)精度就越高。
網(wǎng)絡(luò)視頻、音頻文件一般位深度為16bit,常用位深度還有8bit、24bit等。
這里需要一提的是,位深度越大雖然意味著聲音還原度越高,但是過高的位深度,如32bit、64bit float或以上,可能需要特殊的軟件和硬件設(shè)備才能播放。

接下來是聲道,音頻有單聲道、雙聲道、立體聲等。
每個聲道的聲音樣本都會單獨記錄,一般雙聲道的采樣數(shù)是單聲道的兩倍,多聲道同理。
多個聲道的樣本數(shù)據(jù)一般會按聲道排列順序記錄,播放時,程序會根據(jù)排列順序?qū)⒙曇粲貌煌膿P聲器播放。

而采樣率是采樣的頻率,與視頻的幀率類似,是一秒鐘對聲音的采樣個數(shù),如果是雙聲道,那么1秒采樣的個數(shù)是采樣率的兩倍,多聲道同理。
普遍認(rèn)為,流暢且不失真的音頻,要求采樣率達(dá)到40KHz以上,這個采樣率是人類聽覺頻率上限的兩倍,一般CD品質(zhì)音頻的采樣率是44.1KHz,網(wǎng)絡(luò)視頻、視頻文件一般是48KHz。

不過,某些具體場景可能會降低采樣率要求,如語音通話、監(jiān)控攝像頭等,這些場景下,音頻采樣率一般只有8KHz,這個頻率雖然聽音樂是一種折磨,會一卡一卡的,但是對聽清別人說話倒是一點問題沒有。
單個音頻幀的概念
這里我們理解為什么存在音頻幀就可以了。
理論上,音頻并不需要音頻幀的概念,因為音頻采樣數(shù)據(jù)和采樣率已經(jīng)可以把音頻播放描述清楚了。
但是音視頻文件播放時,為了保證音視頻同步,程序需要根據(jù)每幀的播放時間戳進(jìn)行有序播放。
但是每個音頻采樣數(shù)據(jù)太小了,如果每個采樣數(shù)據(jù)都記錄播放時間戳的話,那么就得不償失了。畢竟一個時間戳數(shù)據(jù)的大小比一個音頻采樣數(shù)據(jù)都大,所以就有了音頻幀的概念。
音頻幀實際上就是把一小段時間的音頻采樣數(shù)據(jù)打包起來,如每20ms的音頻采樣數(shù)據(jù)合并成一幀。
這里的具體時間間隔是具體編碼碼格式?jīng)Q定的,一般不需要特別關(guān)心。

多個音頻幀的概念
多個音頻幀的概念有播放時間戳PTS、碼率、編碼格式。與
視頻幀一樣,每一幀音頻幀也會記錄播放時間戳PTS,程序播放時會根據(jù)播放時間戳PTS播放音頻幀。
音頻幀的播放是比較特別的,因為一幀音頻包含的是一小段時間的音頻采樣,所以實際上音頻幀的播放時間戳只是這一小段音頻的開始播放時間,里面的采樣數(shù)據(jù)會根據(jù)采樣頻率連續(xù)播放。

同時音頻也有碼率,也就是常聽到的音頻比特率,碼率就是一秒鐘的數(shù)據(jù)量大小。
在不壓縮的情況下,音頻碼率的大小=采樣率*位深度聲*道數(shù)。

接下來是編碼格式,編碼格式實際上是壓縮數(shù)據(jù)的方式,常用的編碼格式有wav、mp3、aac等,音頻編碼格式有有損、無損壓縮之分。

這里可以解釋開篇的問題了,為什么采樣參數(shù)相同的mp3和wav文件會有不同的音質(zhì),這實際上是編碼格式的問題。
mp3、aac這些編碼格式是有損壓縮,其中mp3支持的最大碼率是320Kbps,而wav編碼格式是無損壓縮,雖然壓縮后的碼率可能會比降低,但是它在播放時能無損還原采樣數(shù)據(jù)。
最后值得一提的是,在網(wǎng)絡(luò)音頻文件、音頻直播時,需要考慮限制碼率,限制碼率的目的是為了限制數(shù)據(jù)量的大小,避免帶寬、流量等問題。
音頻編碼格式一般采用aac,音頻碼率一般設(shè)置為128Kbps就可以了。
總結(jié)
以上是音頻的基礎(chǔ)概念,音頻在很多介紹中都不會說到音頻幀,因為普通的視頻編輯場景是用不到的,但是在音視頻處理中音頻幀的概念是十分重要的,不然會出現(xiàn)很多問題,如音頻重編碼重采樣后,出現(xiàn)卡頓、音頻播放過快等問題。
介紹完了音頻和視頻的基礎(chǔ)概念,后面我們會介紹關(guān)于音視頻處理、識別的一些軟件和框架。