幀的概念:
音頻的幀的概念沒有視頻幀那么清晰,幾乎所有視頻編碼格式都可以簡單的認(rèn)為一幀就是編碼后的一副圖像。
但音頻幀跟編碼格式相關(guān),它是各個(gè)編碼標(biāo)準(zhǔn)自己實(shí)現(xiàn)的。因?yàn)槿绻訮CM(未經(jīng)編碼的音頻數(shù)據(jù))來說,它根本就不需要幀的概念,根據(jù)采樣率和采樣精度就可以播放了。比如采樣率為44.1HZ,采樣精度為16位的音頻,你可以算出bitrate(比特率)是44100*16kbps,每秒的音頻數(shù)據(jù)是固定的44100*16/8 字節(jié)。
amr幀比較簡單,它規(guī)定每20ms的音頻是一幀,每一幀音頻都是獨(dú)立的,有可能采用不同的編碼算法,以及不同的編碼參數(shù)。
mp3幀較為復(fù)雜一點(diǎn),包含了更多的信息,比如采樣率,比特率,等各種參數(shù)。
采樣率:
采樣頻率是指將模擬聲音波形進(jìn)行數(shù)字化時(shí),每秒鐘抽取聲波幅度樣本的次數(shù)。
正常人聽覺的頻率范圍大約在20Hz~20kHz之間,根據(jù)奈奎斯特采樣理論,為了保證聲音不失真,采樣頻率應(yīng)該在40kHz左右。常用的音頻采樣頻率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采樣頻率,還可以達(dá)到DVD的音質(zhì)。
采樣精度:每次采集數(shù)據(jù)的位數(shù)。
通道數(shù):存在幾路音頻。
比特率:針對(duì)編碼格式,表示壓縮編碼后每秒的音頻數(shù)據(jù)量大小。
時(shí)間戳和播放時(shí)間:
1 、AAC
(一個(gè)AAC原始幀包含一段時(shí)間內(nèi)1024個(gè)采樣及相關(guān)數(shù)據(jù))。
對(duì)采樣率為44.1kHz的AAC音頻進(jìn)行解碼時(shí),一幀的解碼時(shí)間須控制在23.22毫秒內(nèi)。
音頻幀的播放時(shí)間=一個(gè)AAC幀對(duì)應(yīng)的采樣樣本的個(gè)數(shù)/采樣頻率(單位為s)
一幀 1024個(gè) sample。采樣率 Samplerate 44100Hz,每秒44100個(gè)sample, 所以根據(jù)公式音頻幀的播放時(shí)間=一個(gè)AAC幀對(duì)應(yīng)的采樣樣本的個(gè)數(shù)/采樣頻率
當(dāng)前AAC一幀的播放時(shí)間是= 1024*1000/44100= 22.32ms(單位為ms)
2 、MP3
mp3 每幀均為1152個(gè)字節(jié), 則:
frame_duration = 1152 * 1000 / sample_rate
例如:sample_rate = 44100HZ時(shí),計(jì)算出的時(shí)長為26.122ms,這就是經(jīng)常聽到的mp3每幀播放時(shí)間固定為26ms的由來。