嵌入式GPS語(yǔ)音導航系統中MP3的解碼與播放
近年來(lái),電子技術(shù)的迅猛發(fā)展,使得嵌入式系統在越來(lái)越廣泛的領(lǐng)域得到應用。嵌入式系統平臺的功能也越來(lái)越強大,復雜度也越來(lái)越高,同時(shí)對其開(kāi)發(fā)的難度和要求也越來(lái)越高。在開(kāi)發(fā)過(guò)程中需要將應用軟件和系統軟件作為一個(gè)整體考慮,而且軟件和硬件的聯(lián)系也更加密切。所以,嵌入式系統的開(kāi)發(fā)是一個(gè)復雜的過(guò)程。隨著(zhù)嵌入式系統性能的大幅度提高,老式的GPS導航儀已開(kāi)始向嵌入式方向發(fā)展。嵌入式GPs導航儀已越來(lái)越便攜,功能越來(lái)越強大,語(yǔ)音導航和媒體功能已成為嵌入式GPS導航儀的一大突出的亮點(diǎn)。所以,MP3音頻解碼與播放技術(shù)現已成為嵌入式GPS導航系統中的一項基本技術(shù)。MP3的全稱(chēng)是MPEG Audio Layer 3,是目前流行的一種音頻編碼方案。它是1992年制定的MPEG-1標準的一部分,MPEG標準由系統、視頻和伴音三部分組成。其中伴音標準共分三層,MP3作為其中的第三層,是運算復雜度最高而壓縮效果最好的一層。比起傳統的CD格式來(lái),其音效已相差無(wú)幾,但數據量卻不及CD的十分之一。同時(shí),MP3播放器的便攜性和續航能力都比CD有大幅度的提高。MP3最初應用于數字音頻廣播以及數字電視伴音等;之后,隨著(zhù)其流行程度的提高,在其他場(chǎng)合,尤其是互聯(lián)網(wǎng)音樂(lè )和便攜式娛樂(lè )設備上也開(kāi)始大量使用MP3格式;現在,幾乎所有便攜式語(yǔ)音導航設備都采用MP3作為其音頻媒體格式。本文主要介紹了基于A(yíng)RM核心的嵌入式GPS導航系統平臺下MP3音頻文件的解碼技術(shù)。以便利用自行設計的方案在Windows CE.NET系統下運用三星公司S3C2410平臺,從而實(shí)現MP3的解碼播放功能。
1 MP3解碼原理
1.1 MP3的文件格式
MP3文件由數量不等且相互獨立的幀(frame)組成,每個(gè)幀包含1152個(gè)采樣信息,一個(gè)MP3每幀包含幀頭、錯誤校驗、音頻數據和輔助數據四部分。圖1所示是MP3的幀結構示意圖。MP3文件的最后128字節通常包含有ID3v1標簽,并附加有用戶(hù)定制的文件附加內容,如歌曲名稱(chēng)、演唱者、風(fēng)格說(shuō)明等。
1.2 MP3解碼流程
原始PCM(脈沖編碼調制)音頻數據在經(jīng)過(guò)壓縮編碼之后將得到MP3碼流,MP3解碼就是把MP3碼流恢復成原始的PCM數據。MP3數據以幀為單位,解碼應首先根據同步信息及錯誤校驗CRC模塊找出MP3幀在碼流中的位置,并由此確定幀頭、CRC校驗、音頻數據及輔助數據的所在位置。
圖2所示是MP3的解碼流程,它主要包括哈夫曼解碼、反量化、反重排序、立體聲解碼、混疊消除、IMDCT、頻率反轉補償、子帶合成濾波等。圖2中的預處理的作用是讀取頭部數據并將需要的信息按結構存放起來(lái),以便后續解碼。
評論