


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、AAC解碼算法原理詳解原作者:龍帥此文章為提供,未經站長授權,嚴禁轉載,但歡迎鏈接到此地址。本文詳細介紹了符合ISO/IEC13818-7(MPEG2AACaudiocodec),ISO/IEC14496-3(MPEG4AudioCodecAACLowComplexit硼彳亍壓縮的的AACt頻的解碼算法。1、程序系統結構下面是AACM碼流程圖:AAC解碼流程圖?在主控模塊開始運行后,主控模塊將AAC比特流的一部分放入輸入緩沖區,通過查找同步字得到一幀的起始,找到后,根據ISO/IEC13818-7所述的語法開始進行NoislessDecoding(無噪解碼),無噪解碼實際上就是哈夫曼解碼,通過
2、反量化(Dequantize)、聯合立體聲(JointStereo),知覺噪聲替換(PNS,瞬時噪聲整形(TNS,反離散余弦變換(IMDCT,頻段復制(SBR這幾個模塊之后,得出左右聲道的PC恤流,再由主控模塊將其放入輸出緩沖區輸出到聲音播放設備。2. 主控模塊主控模塊的主要任務是操作輸入輸出緩沖區,調用其它各模塊協同工作。其中,輸入輸出緩沖區均由DSP®制模塊提供接口。輸出緩沖區中將存放的數據為解碼出來的PChM據,代表了聲音的振幅。它由一塊固定長度的緩沖區構成,通過調用DSP空制模塊的接口函數,得到頭指針,在完成輸出緩沖區的填充后,調用中斷處理輸出至I2S接口所連接的音頻ADW片
3、(立體聲音頻DAC»DirectDrive耳機放大器)輸出模擬聲音。3. 同步及元素解碼同步及元素解碼模塊主要用于找出格式信息,并進行頭信息解碼,以及對元素信息進行解碼。這些解碼的結果用于后續的無噪解碼和尺度因子解碼模塊。AAC的音頻文件格式有以下兩種:ADIF:AudioDatalnterchangeFormat音頻數據交換格式。這種格式的特征是可以確定的找到這個首頻數據的開始,不需進行在首頻數據流中間開始的解碼,即它的解碼必須在明確定義的開始處進行。故這種格式常用在磁盤文件中。ADTSAudioDataTransportStream音頻數據傳輸流。這種格式的特征是它是一個有同步字
4、的比特流,解碼可以在這個流中任何位置開始。它的特征類似于mp3數據流格式。AAC的ADIF格式見下圖:?3.1ADIF的組織結構AAC的ADTS勺一般格式見下圖:3.2ADTS的組織結構圖中表示出了ADTS-幀的簡明結構,其兩邊的空白矩形表示一幀前后的數據。ADIF和ADTS勺header是不同的。它們分別如下所示:?3.3ADIF的頭信息3.4ADTS的固定頭信息?dts的可變頭信息?3.5幀同步幀同步目的在于找出幀頭在比特流中的位置,13818-7規定,aacADTSB式的幀頭為12比特的“111111111111'.3.6頭信息解碼ADTS勺頭信息為兩部分組成,其一為固定頭信息,
5、緊接著是可變頭信息。固定頭信息中的數據每一幀都相同,而可變頭信息則在幀與幀之間可變。3.7元素信息解碼在AAC中,原始數據塊的組成可能有六種不同的元素。它們分別是SCE:SingleChannelElement單通道元素。單通道元素基本上只由一個ICS組成。一個原始數據塊最可能由16個SCEffl成。CPE:ChannelPairElement雙通道元素,由兩個可能共享邊信息的ICS和一些聯合立體聲編碼信息組成。一個原始數據塊最多可能由16個SCEffl成。CCE:CouplingChannelElement藕合通道元素。代表一個塊的多通道聯合立體聲信息或者多語種程序的對話信息。LFE:Low
6、FrequencyElement低頻元素。包含了一個加強低采樣頻率的通道。DSE:DataStreamElement數據流元素,包含了一些并不屆于音頻的附加信息。PCE:ProgramConfigElement程序配置元素。包含了聲道的配置信息。它可能出現在ADIF頭部信息中。FIL:FillElement填充元素。包含了一些擴展信息。如SBR動態范圍控制信息等。3.8處理流程(1).判斷文件格式,確定為ADIF或ADTS.若為ADIF,解ADIF頭信息,跳至第6步。(3) .若為ADTS尋找同步頭。(4) .解ADTSM頭信息。(5) .若有錯誤檢測,進行錯誤檢測。(6) .解塊信息。(7)
7、 .解元素信息。無噪聲解碼無噪編碼就是哈夫曼編碼,它的作用在于進一步減少尺度因子和量化后頻譜的冗余,即將尺度因子和量化后的頻譜信息進行哈夫曼編碼。全局增益編碼成一個8位的無符號整數,第一個尺度因子與全局增益值進行差分編碼后再使用尺度因子編碼表進行哈夫曼編碼。后續的各尺度因子都與前一個尺度因子進行差分編碼。量化頻譜的無噪編碼有兩個頻譜系數的劃分。其一為4元組和2元組的劃分,另一個為節劃分。對前一個劃分來說,確定了一次哈夫曼表查找出的數值是4個還是2個。對后一個劃分來說,確定了應該用哪一個哈夫曼表,一節中含有若十的尺度因子帶并且每節只用一個哈夫曼表。4.1分段無噪聲編碼將輸入的1024個量化頻譜系
8、數分為幾個段(section),段內的各點均使用同一個哈夫曼表,考慮到編碼效率,每一段的邊界最好同尺度因子帶的邊界重合。所以每一段必段傳送信息應該有:段長度,所在的尺度因子帶,使用的哈夫曼表。4.2分組和交替分組是指忽略頻譜系數所在窗,將連續的,具有相同尺度因子帶的頻譜系數分為一組放在一起,共享一個尺度因子從而得到更好的編碼效率。這樣做必然會引起交替,即本來是以c組窗尺度因子帶系數索引為順序的系數排列,變為將尺度因子帶同的系數放在一起:c組尺度因子帶窗系數索引這樣就引起了相同窗的系數的交替。4.3大量化值的處理大量化值在AAC中有兩種處理方法:在哈夫曼編碼表中使用escape標志或使用脈沖es
9、cape方法。前者跟mp3編碼方法相似,在許多大量化值出現時采用專門的哈夫曼表,這個表暗示了它的使用將會在哈夫曼編碼后面跟跟一對escape值及對值的符號。在用脈沖escape方法時,大數值被減去一個差值變為小數值,然后使用哈夫曼表編碼,后面會跟一個脈沖結構來幫助差值的還原。無噪解碼的流程圖如下:無噪聲解碼流程圖尺度因子解碼及逆景化在aac編碼中,逆量化頻譜系數是由一個非均勻量化器來實現的,在解碼中需進行其逆運算。即保持符號并進行4/3次籍運算。在頻域調整量化噪聲的基本方法就是用尺度因子來進行噪聲整形。尺度因子就是一個用來改變在一個尺度因子帶的所有的頻譜系數的振幅增益值。使用尺度因子這種機制是
10、為了使用非均勻量化器在頻域中改變量化噪聲的比特分配。5.1尺度因子帶(scalefactor-band)頻率線根據人耳的聽覺特性被分成多個組,每個組對應若十個尺度因子,這些組就叫做尺度因子帶。為了減少信息含有短窗的邊信息,連續的短窗可能會被分為一組,即將若十個短窗當成一個窗口一起傳送,然后尺度因子將會作用到所有分組后的窗口去。5.2反量化公式:x_invquant=sign(x_quant)*|x_quant|A(4/3)其中x_invquant表示反量化的結果sign(x)表示取x的符號A表示籍運算5.3應用尺度因子公式:x_rescal=x_invquant*gaingain=2A(0.2
11、5*(sf-SF_OFFSET)其中x_rescal為應用了尺度因子公式之后的值gain為一個增益sf為尺度因子值SF_OFFSET一個常數,設為1006、聯合立體聲解碼聯合立體聲有兩種,M/Sstereo(中間旁道立體聲)和intensitystereo(強度立體聲)6.1M/Sstereo在M_S體聲模式中,傳送的是規格化的中間/旁邊聲道的信息,計算公式如下:其中,r表小轉換后的左右聲道值m表示中間聲道值s表示旁邊聲道值?6.2Intensitystereo在強度立體聲模式中,左聲道傳的是幅值,右聲道的scalefactor傳的是立體聲的位置is_pos。如果僅在一個指定了common_w
12、indoW/1的CP的右通道中指定哈夫曼表為INTENSITY_HC或INTENSITY_HCB2則解碼時使用強度立體聲模式。其計算公式如下:is_pos+=dpcm_is_posscale=invert_intensity*0.5A(0.25*ispos)r_spec=scale*l_spec從完全備份中還原從完全備份中還原數據庫非常簡單,在9.3.2節中會詳細地is_pos是右聲道傳送的scalefactordpcm_is_pos是上一個is_pos,初值為0scale為強度因子invert_intensity為是否反轉哈夫曼表(表14和表15)這個變量由ms_used指定,關系為:inv
13、ert_intensity=1-2*ms_used,另夕卜,當ms_mask_present為0時,invert_intensity恒為1。6.3處理流程聯合立體聲解碼流程圖7、PNSPNS(PerceptualNoiseSubstitution)知覺噪聲替換模塊是一種以參數編碼的方式模擬噪聲的模塊。在判別出音頻值中的噪聲后,將些噪聲不進行量化編碼,而是采用一些參數告訴解碼器端這是某種噪聲,然后解碼器端將會對這些噪聲用一些隨機的編碼來制造出這一類型的噪聲。在具體操作上,PNS莫塊對每個尺度因子帶偵測頻率4kHz以下的信號成分。如果這個信號既不是音調,在時間上也無強烈的能量變動,就被認為是噪聲信
14、號。其信號的音調及能量變化都在心理聲學模型中算出。在解碼中,如果發現使用了哈夫曼表13(NOISE_HCB)則表明使用了PNS由于M/S立體聲解碼與PNSW碼互斥,故可以用參數ms_used來表明是否兩個聲道都用同樣的PNS如果ms_used參數為1,則兩個聲道會用同樣的隨機向量來生成噪聲信號。PNS的能量信號用noise_nrg來表示,如果使用了PNS則能量信號將會代替各自的尺度因子來傳送。噪聲能量編碼同尺度因子一樣,采用差分編碼的方式。第一個值同樣為全局增益值。它同強度立體聲位置值及尺度因子交替地放在一起,但對差分解碼來說乂彼此忽略。即下一個噪聲能量值以上一個噪聲能量值而不是強度立體聲位置
15、或尺度因子為標準差分解碼。隨機能量將會在一個尺度因子帶內產生noise_nrg所計算出的平均能量分布。7.1處理流程PNS解碼流程圖8、TNSTNS瞬態噪聲整形用于控制一個轉換窗口內的瞬時噪聲形態。它是用一個對單個通道的濾波過程來實現的。傳統的變換編碼方案常常遇到信號在時域變化非常劇烈的問題,特別是語音信號,這個問題是因為量化后的噪聲分布雖然在頻率域上得到控制,但在時域上卻以一個常數分布在一個轉換塊內。如果這種塊中信號變化得很劇烈卻乂不轉向一個短塊去,那這個常數分布的噪聲將會被聽到。TNS的原理利用了時域和頻域的二元性和LPC(線性預測編碼)的時頻對稱性,即在其中的任意一個域上做編碼與在另一域
16、上做預測編碼等效,也就是說,在一個域內做預測編碼可以在另一域內增加其解析度。量化噪聲產生是在頻域產生的,降低了時域的解析度,故在這里是在頻域上做預測編碼。在AACplus中,由于基于AACprofileLC,故TNS的濾波器階數被限制在12階以內。8.1處理流程TNS解碼流程圖9.IMDCT將音頻數據從頻域轉換到時域的過程主要是由將頻域數據填入一組IMDCT8波器來實現的。在進行IMDCEE換后,輸出數值經過加窗,疊加,最后得到時域數值。9.1IMDCT公式for0<=n<N其中n為采樣點索引值i為窗索引值k為頻譜系數索引值N為窗函數的長度,全為短窗N=256,其余情況為2048n
17、0=(N/2+1)/29.2塊型由于長塊的頻域分辨率較高而短塊的時域分辨率較高,故長塊較適合相對平穩的時域信號,而短塊較適合變化相對較快的時域信號。長塊長度為2048個點,短塊長度為256個點。9.3加窗AAC用到兩種窗函數,分別為Kaiser-Bessel類(KBD)窗和正弦窗。KBD®如下所示:其定義為:?for0<=n<=N/2其中使用KBD®時,window_shape為1正弦窗如下所示:其定義為使用正弦窗時,window_shape為0另定義:對應于四種不同的窗序歹0分別進行不同的加窗變換:1. )僅有長塊:window_shape為1:window_
18、shape為0:加窗后,時域信號可用w(n)表示為:2. )長開始塊:window_shape為1:window_shape為0:加窗后,時域信號可用w(n)表示為:3. )只有短塊:window_shape為1:window_shape為0:加窗后,時域信號可用w(n)表示為:2. )長結束塊:window_shape為1:window_shape為0:加窗后,時域信號可用w(n)表示為:9.4覆蓋疊加在加窗完成后得到的時域信號值z經過前后窗相互疊加計算,得出最后的PCM值:術語說明AAC:AdvancedAudioCoding高級音頻編碼AACLC:AACwithLowComplexityAAC勺低復雜度配置AACplus:也叫HE-AAC,AAC+,MPEG4AACLCSBR模塊后形成的一個aac版本MPEGMotionPictureExpertGroupIMDCT反離散余弦變換ADIF:AudioDataInterchangeFormat音頻數據交換格式ADTSAudioDataTransportStream音頻數據傳輸流SCE:SingleCh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 糧食產業鏈韌性及其空間演化規律的研究
- 中國古代詩詞欣賞與解讀課程教案
- 持續評估與反饋機制在集團化辦學效提升中的作用
- 雪兒作文500字(11篇)
- 高技術行業對就業市場的影響與挑戰
- 全球能源轉型趨勢對學科布局的影響
- 提升中醫醫院服務能力的設施改造方案
- 2025年小學語文期末考試試題及答案
- 2025年歷史文化與現代文明的交融能力綜合考試試卷及答案
- 2025年能源與動力工程師考試試題及答案
- 第五單元《面積》(教學設計)-【大單元教學】三年級數學下冊同步備課系列(人教版)
- 閱讀認知策略的跨學科研究框架構建
- 摜蛋考試試題及答案
- GA/T 2159-2024法庭科學資金數據清洗規程
- DB63-T 2129-2023 鹽湖資源開發標準體系
- 企業風險管理-戰略與績效整合(中文版-雷澤佳譯)
- 業務學習踝關節骨折
- 實景演出制作合同協議
- 迅鐳激光切割機操作培訓
- JJF 2241-2025電子停車計時收費表校準規范
- 人文關懷示范病房工作分享課件
評論
0/150
提交評論