發布日期:2022-04-17 點擊率:91
0 引言 1.2 MP3解碼流程 哈夫曼解碼時,MP3的音頻數據將分為兩節(gxanule),這兩節在過程編解碼時相對獨立,每一節中可以解碼出576個PCM采樣數據,兩節可解出1152個采樣數據。從二進制101……碼流中得到我們所需要的信息的第一步就是解哈夫曼碼。解哈夫曼碼是一個查表過程,這576個值代表576個頻率線上的值,其在不同的塊中(如)有不同的含義,可根據不同的比例因子和頻帶查找相應的碼表并解出576個值。
近年來,電子技術的迅猛發展,使得嵌入式系統在越來越廣泛的領域得到應用。嵌入式系統平臺的功能也越來越強大,復雜度也越來越高,同時對其開發的難度和要求也越來越高。在開發過程中需要將應用軟件和系統軟件作為一個整體考慮,而且軟件和硬件的聯系也更加密切。所以,嵌入式系統的開發是一個復雜的過程。隨著嵌入式系統性能的大幅度提高,老式的GPS導航儀已開始向嵌入式方向發展。嵌入式GPs導航儀已越來越便攜,功能越來越強大,語音導航和媒體功能已成為嵌入式GPS導航儀的一大突出的亮點。所以,MP3音頻解碼與播放技術現已成為嵌入式GPS導航系統中的一項基本技術。MP3的全稱是MPEG Audio Layer 3,是目前流行的一種音頻編碼方案。它是1992年制定的MPEG-1標準的一部分,MPEG標準由系統、視頻和伴音三部分組成。其中伴音標準共分三層,MP3作為其中的第三層,是運算復雜度最高而壓縮效果最好的一層。比起傳統的CD格式來,其音效已相差無幾,但數據量卻不及CD的十分之一。同時,MP3播放器的便攜性和續航能力都比CD有大幅度的提高。MP3最初應用于數字音頻廣播以及數字電視伴音等;之后,隨著其流行程度的提高,在其他場合,尤其是互聯網音樂和便攜式娛樂設備上也開始大量使用MP3格式;現在,幾乎所有便攜式語音導航設備都采用MP3作為其音頻媒體格式。本文主要介紹了基于ARM核心的嵌入式GPS導航系統平臺下MP3音頻文件的解碼技術。以便利用自行設計的方案在Windows CE.NET系統下運用三星公司S3C2410平臺,從而實現MP3的解碼播放功能。
1 MP3解碼原理
1.1 MP3的文件格式
MP3文件由數量不等且相互獨立的幀(frame)組成,每個幀包含1152個采樣信息,一個MP3每幀包含幀頭、錯誤校驗、音頻數據和輔助數據四部分。圖1所示是MP3的幀結構示意圖。MP3文件的最后128字節通常包含有ID3v1標簽,并附加有用戶定制的文件附加內容,如歌曲名稱、演唱者、風格說明等。
原始PCM(脈沖編碼調制)音頻數據在經過壓縮編碼之后將得到MP3碼流,MP3解碼就是把MP3碼流恢復成原始的PCM數據。MP3數據以幀為單位,解碼應首先根據同步信息及錯誤校驗CRC模塊找出MP3幀在碼流中的位置,并由此確定幀頭、CRC校驗、音頻數據及輔助數據的所在位置。
圖2所示是MP3的解碼流程,它主要包括哈夫曼解碼、反量化、反重排序、立體聲解碼、混疊消除、IMDCT、頻率反轉補償、子帶合成濾波等。圖2中的預處理的作用是讀取頭部數據并將需要的信息按結構存放起來,以便后續解碼。
反量化過程就是根據反量化公式和幀邊信息來對于長塊、短塊和混合塊采用不同的反量化公式,以恢復576條頻率線的真實值。反重排序的作用是為了讓MP3編碼器使霍夫曼編碼更加有效率,而對某些塊進行重排序。立體聲解碼部分的功能是在兩個音頻通道非獨立編碼時,進行立體聲解碼。
混疊消除是為了避免兩個相鄰子頻帶之間的混疊,而在解碼過程中進行的混疊消除。IMDCT的作用首先是對長塊進行18點到36點的IMDCT變換,并對短塊進行3個G點到12點的IMDCT變換;其次是根據塊類型的不同,分別使用不同的窗類型進行加窗。同時把這36個值的前半部分與上一幀的后半部分相疊加。而把當前塊的后半部分存儲起來用于和下一塊疊加。頻率反轉補償是在進入下一步之前對多項濾波器組進行的頻率反轉補償,即對奇數子帶的奇數時間樣點取反。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV