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