學(xué)生做的網(wǎng)站成品網(wǎng)絡(luò)客服
一、實(shí)驗(yàn)?zāi)康?/h2>
了解AAC音頻格式,掌握AAC音頻解碼的原理,并實(shí)現(xiàn)將AAC格式的音頻解碼為PCM
二、實(shí)驗(yàn)原理
音頻編解碼的主要對(duì)象是音樂和語音,音頻的編解碼格式可分為無壓縮的格式、無損壓縮格式、有損音樂壓縮格式、有損語音壓縮格式和合成算法。本實(shí)驗(yàn)中使用的AAC格式屬于有損音樂壓縮格式。音頻編解碼的目的是減少傳輸?shù)男畔⒘亢蜏p少儲(chǔ)存的信息。
音頻的編解碼的格式分類
無壓縮的格式(PCM,WAV…)
無損壓縮格式(APE,FLAC,LPAC,WMA_LS…)
有損音樂壓縮格式(AAC,AACPlus,AC3,DTS,ATRAC,MP3,WMA,OGG,RA…)
有損語音壓縮格式(AMR, GSM, LPC, SPEEX, CELP, G.7XX, ADPCM,…)
合成算法(MIDI,TTS)
AAC高級(jí)音頻編解碼(Advanced Audio Coding)
最初是基于MPEG-2的音頻編碼技術(shù),目的是取代MP3格式。2000年,MPEG-4標(biāo)準(zhǔn)出臺(tái),AAC重新集成了其它技術(shù)(PS,SBR),為區(qū)別于傳統(tǒng)的MPEG-2 AAC,故含有SBR或PS特性的AAC又稱為MPEG-4 AAC。
AAC是新一代的音頻有損壓縮技術(shù),它通過一些附加的編碼技術(shù)(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三種主要的編碼。其中LC-AAC就是比較傳統(tǒng)的AAC,相對(duì)而言,主要用于中高碼率(>=80Kbps),HE-AAC(相當(dāng)于AAC+SBR)主要用于中低碼(<=80Kbps),而新近推出的HE-AACv2(相當(dāng)于AAC+SBR+PS)主要用于低碼率(<=48Kbps)。事實(shí)上大部分編碼器設(shè)成<=48Kbps自動(dòng)啟用PS技術(shù),而>48Kbps就不加PS,就相當(dāng)于普通的HE-AAC。
HE:“High Efficiency”(高效性)。HE-AAC v1(又稱AACPlusV1,SBR),用容器的方法實(shí)現(xiàn)了AAC(LC)+SBR技術(shù)。SBR其實(shí)代表的是Spectral Band Replication(頻段復(fù)制)。
音樂的主要頻譜集中在低頻段,高頻段幅度很小,但很重要,決定了音質(zhì)。如果對(duì)整個(gè)頻段編碼,若是為了保護(hù)高頻就會(huì)造成低頻段編碼過細(xì)以致文件巨大;若是保存了低頻的主要成分而失去高頻成分就會(huì)喪失音質(zhì)。
SBR把頻譜切割開來,低頻單獨(dú)編碼保存主要成分,高頻單獨(dú)放大編碼保存音質(zhì),“統(tǒng)籌兼顧”了,在減少文件大小的情況下還保存了音質(zhì),完美的化解這一矛盾。
HEv2:用容器的方法包含了HE-AAC v1和PS技術(shù)。PS指“parametric stereo”(參數(shù)立體聲)。原來的立體聲文件文件大小是一個(gè)聲道的兩倍。但是兩個(gè)聲道的聲音存在某種相似性,根據(jù)香農(nóng)信息熵編碼定理,相關(guān)性應(yīng)該被去掉才能減小文件大小。所以PS技術(shù)存儲(chǔ)了一個(gè)聲道的全部信息,然后,花很少的字節(jié)用參數(shù)描述另一個(gè)聲道和它不同的地方。
AAC編解碼特點(diǎn)
(1)AAC是一種高壓縮比的音頻壓縮算法,但它的壓縮比要遠(yuǎn)超過較老的音頻壓縮算法,如AC-3、MP3等。并且其質(zhì)量可以同未壓縮的CD音質(zhì)相媲美。
(2)同其他類似的音頻編碼算法一樣,AAC也是采用了變換編碼算法,但AAC使用了分辨率更高的濾波器組,因此它可以達(dá)到更高的壓縮比。
(3)AAC使用了臨時(shí)噪聲重整、后向自適應(yīng)線性預(yù)測(cè)、聯(lián)合立體聲技術(shù)和量化哈夫曼編碼等最新技術(shù),這些新技術(shù)的使用都使壓縮比得到進(jìn)一步的提高。
(4)AAC支持更多種采樣率和比特率、支持1個(gè)到48個(gè)音軌、支持多達(dá)15個(gè)低頻音軌、具有多種語言的兼容能力、還有多達(dá)15個(gè)內(nèi)嵌數(shù)據(jù)流。
(5)AAC支持更寬的聲音頻率范圍,最高可達(dá)到96kHz,最低可達(dá)8KHz,遠(yuǎn)寬于MP3的16KHz-48kHz的范圍。
(6)不同于MP3及WMA,AAC幾乎不損失聲音頻率中的甚高、甚低頻率成分,并且比WMA在頻譜結(jié)構(gòu)上更接近于原始音頻,因而聲音的保真度更好。專業(yè)評(píng)測(cè)中表明,AAC比WMA聲音更清晰,而且更接近原音。
(7)AAC采用優(yōu)化的算法達(dá)到了更高的解碼效率,解碼時(shí)只需較少的處理能力。
MPEG-4 AACLC解碼器的基本框圖
在主控模塊開始運(yùn)行后,主控模塊將AAC比特流的一部分放入輸入緩沖區(qū),通過查找同步字得到一幀的起始。
找到后,開始進(jìn)行無噪解碼,無噪解碼實(shí)際上就是哈夫曼解碼,它的作用在于進(jìn)一步減少尺度因子和量化后頻譜的冗余,即將尺度因子和量化后的頻譜信息進(jìn)行哈夫曼編碼。
通過反量化、
聯(lián)合立體聲、
知覺噪聲替換、
瞬時(shí)噪聲整形、
反離散余弦變換、
頻段復(fù)制,這幾個(gè)模塊之后,
得出左右聲道的PCM碼流,再由主控模塊將其放入輸出緩沖區(qū)輸出到聲音播放設(shè)備。
程序流程
程序流程設(shè)計(jì)中首先要打開/創(chuàng)建輸入和輸出的文件,接著進(jìn)行aac解碼并將解碼后的數(shù)據(jù)保存到pcm文件,最后關(guān)閉文件即可。
三、操作現(xiàn)象
實(shí)驗(yàn)設(shè)備
本實(shí)驗(yàn)所需硬件為實(shí)驗(yàn)板、仿真器和電源。
硬件連接
(1)連接仿真器和電腦的USB接口。
(2)將撥碼開關(guān)撥到DEBUG模式01111,連接實(shí)驗(yàn)箱電源,撥動(dòng)電源開關(guān)上電。
軟件操作
導(dǎo)入工程,選擇Demo文件夾下的對(duì)應(yīng)工程
編譯工程,生成可執(zhí)行文件
將CCS連接實(shí)驗(yàn)箱并加載程序
點(diǎn)擊運(yùn)行程序
運(yùn)行程序后,Console 窗口會(huì)打印信息。
大概等待5分鐘,編碼完成。
可看到工程目錄下的song.aac文件解碼生成的song.pcm文件。
可播放song.pcm,具體操作步驟如下:
(1)打開軟件后,點(diǎn)擊“文件->導(dǎo)入->原始數(shù)據(jù)”,
(2)選擇工程目錄下的song.pcm文件,數(shù)據(jù)配置如圖,
(3)導(dǎo)入數(shù)據(jù)后,點(diǎn)擊綠色剪頭即可播放音頻數(shù)據(jù)。
(4)對(duì)比后可發(fā)現(xiàn)其效果與AAC原文件播放內(nèi)容一致。
實(shí)驗(yàn)結(jié)束后,先點(diǎn)擊黃色按鈕暫停程序運(yùn)行,再點(diǎn)擊紅色按鈕退出CCS與實(shí)驗(yàn)箱的連接,最后實(shí)驗(yàn)箱斷電即可。