亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        線性預(yù)測技術(shù)在AAC時域噪聲整形模塊中的應(yīng)用

        2019-05-05 08:38:36張潔
        關(guān)鍵詞:時域音頻頻譜

        張潔

        (中國傳媒大學(xué) 信息與通信工程學(xué)院,北京 100024)

        1 引言

        MPEG-4 AAC是MPEG-2 AAC之后推出的一種先進的音頻信號編碼標(biāo)準(zhǔn),其最主要的特點為抗錯能力強。它可用于12kHz或24kHz采樣頻率和20-24kbit音頻。 通過MPEG-4 AAC和SBR(頻帶恢復(fù)技術(shù))的結(jié)合使用,壓縮比可以提高40%,同時保持音質(zhì),使其成為世界上最強大的壓縮技術(shù)之一。在48kbit速率下,聽者可以獲得與原信號相同的主觀音質(zhì)。

        MPEG-4 AAC采用模塊化方法,由一系列模塊構(gòu)成完整的系統(tǒng),并用標(biāo)準(zhǔn)化工具對各個模塊進行定義,因此在文獻(xiàn)中往往把“模塊(modular)”與“工具(tool)”看作是等價,具體編碼流程如圖1所示。

        MPEG-4 AAC中所處理的音頻信號數(shù)據(jù)為每幀1024點的PCM格式碼流[1]。由圖1框圖可以看出,時域上的信號數(shù)據(jù)流在進入音頻編碼器后被分成兩個路徑,一是通過心理聲學(xué)模型的計算得到后續(xù)編碼過程中所需的信掩比等參數(shù),并基于此確定變換塊的類型,另一路則通過濾波器組得到亞采樣頻譜。采樣頻譜經(jīng)強度立體聲編碼、長期預(yù)測編碼、聯(lián)合立體聲編碼等模塊處理后進入量化編碼階段,此時信號才真正得到大幅度的壓縮處理。碼流在量化過程中,基于心理聲學(xué)模型計算所得出的信掩比等參數(shù),計算得出縮放因子各自的最佳量化步長,使量化處理后的信號可聞失真達(dá)到最小[2],再通過無噪聲編碼模塊進行處理,便可得到編碼后的數(shù)據(jù)。

        圖1 MPEG-4 AAC編碼流程框圖

        本文主要針對編解碼系統(tǒng)中的時域噪聲整形(TNS)模塊進行研究,主要介紹TNS原理,LPC在TNS中的應(yīng)用及TNS模塊的軟件實現(xiàn)。

        2 時域噪聲整形

        2.1 掩蔽效應(yīng)與預(yù)回聲現(xiàn)象

        通過頻率位置映射的方法,人耳可實現(xiàn)對感知到的周圍聲音信號的頻譜分析。心理聲學(xué)方面的研究結(jié)果認(rèn)為,環(huán)境中的某一聲音信號是否能夠被人耳所感知,往往取決于聲音的頻率和強度這兩個方面。然而,這種感知并非是確定的,其還要受到所謂 “掩蔽效應(yīng) ”的影響。通俗來說,它指的是較“強”聲音信號周圍較“弱”的聲音很容易被人耳忽視,即被“掩蔽”掉。此時,“強”聲為掩蔽聲,而“弱”聲為被掩蔽聲。掩蔽效應(yīng)包括以下兩種:頻域掩蔽(同時掩蔽)和時域掩蔽(異時掩蔽)[3]。

        采用時間/頻域的編解碼的方法可以很好地降低音頻信號處理過程中幀間的相關(guān)性和部分冗余,有利于數(shù)據(jù)壓縮的實現(xiàn)。但這種方法很可能會引發(fā)量化噪聲在時域中的擴散,甚至超出信號的起始點,引發(fā)預(yù)回聲這一影響主觀音頻質(zhì)量的問題。預(yù)回聲現(xiàn)象產(chǎn)生的主要原因是:由時間分辨率不足引起的時域中量化噪聲的擴散[4]。尤其是當(dāng)時域中存在某一瞬態(tài)信號變換到頻域進行量化編碼時,量化噪聲將在變換后在整個變換塊范圍內(nèi)擴散開來,若此時量化噪聲不能有效地被信號掩蔽,則此時就會出現(xiàn)影響聲音質(zhì)量的預(yù)回聲。

        主觀音頻質(zhì)量的評估不僅會受到由量化噪聲產(chǎn)生的預(yù)回聲現(xiàn)象的影響,人耳本身所具有的時域掩蔽效應(yīng)也一樣起著一定程度的影響。研究指出,人耳本身所具有的前向掩蔽作用時間僅有約20ms,而后向掩蔽擁有約200ms的持續(xù)期,由于其較長的后向掩蔽時間,通??梢愿玫仄帘瘟炕肼暎瑥亩苊饬似鋵χ饔^音頻質(zhì)量評估的影響。所以在音頻編碼器的設(shè)計中我們通常不需要考慮這種情況。

        為了抑制預(yù)回聲的產(chǎn)生,我們通常從以下兩方面考慮:一是使總量化噪聲的最小化,二是對量化噪聲進行控制和整形處理,并將其與前向掩蔽效應(yīng)相結(jié)合,將量化噪聲控制在人耳可聞閾值以下,完成對預(yù)回聲的抑制作用。常用的預(yù)回聲抑制處理主要包括以下四種:(1)預(yù)回聲控制與比特池技術(shù)(2)自適應(yīng)窗切換技術(shù)(3)增益控制技術(shù)(4)時域噪聲整形技術(shù)[5]。

        本文所重點討論的TNS技術(shù)的出現(xiàn),在處理預(yù)回聲對主觀音頻質(zhì)量的影響這一問題上具有非常深遠(yuǎn)的意義,使AAC能夠達(dá)到壓縮率與音質(zhì)兼得的效果。

        2.2 時域噪聲整形的理論基礎(chǔ)

        由于具有相對穩(wěn)定的時域信號將在頻域中顯示出急劇變化,而在時域上具有劇烈變化部分的信號,對應(yīng)到頻域中一般呈現(xiàn)為較為平穩(wěn)。時域噪聲整形技術(shù)充分利用該原理,在平穩(wěn)變化的信號頻譜段,對信號的頻譜以幀為單位做線性預(yù)測,然后對預(yù)測殘差做編碼。

        TNS的提出基于如下考慮:

        (1)時域-頻域的對偶性:對于頻譜表現(xiàn)為“非平坦”的信號,編碼方式通常有兩種可以選擇,一是直接對頻譜值進行編碼,二是對時域信號進行線性預(yù)測編碼。因此針對時域上的“非平坦”(瞬態(tài))信號通常也就有兩種與之相對應(yīng)的方法:在時域中對信號直接進行編碼或在頻域上進行預(yù)測編碼。

        (2)基于線性預(yù)測編碼技術(shù)的噪聲整形:在時域上對音頻信號做前向預(yù)測編碼,可通過調(diào)整編碼器設(shè)計,使其量化誤差功率譜(PSD)與輸入信號的功率譜相適應(yīng)[6]。同樣在頻域上對信號做線性預(yù)測編碼,則可通過在解碼器的輸端調(diào)節(jié)量化誤差的時域形狀,可以達(dá)到適應(yīng)輸入信號的時域形狀的目的。通過以上方法將很大程度上把量化噪聲的時域形狀置于實際信號之下,有效解決了瞬時信號對主觀聲音質(zhì)量的影響的問題。

        2.3 時域噪聲整形在AAC編碼中作用

        時域噪聲整形模塊通常用于包含瞬時信號分量的音頻塊,以濾波器中的變換窗為基本單位,針對信號中每個變換窗的頻譜系數(shù)做相應(yīng)的濾波處理,通過計算每個比例因子頻帶的噪聲能量,并與該頻帶的掩蔽閾值進行比較,當(dāng)噪聲能量超過該頻帶的掩蔽閾值時,則進行時域噪聲整形。

        由MPEG-4 AAC編解碼器處理過程來看,整個編解碼過程是模塊化的[7]。其中時域噪聲整形模塊則可根據(jù)不同條件下的編碼進行選擇,并非編碼過程中所必須的。因此可以取同一段音頻,首先用編譯好的fdk-aac對其進行編碼,輸出后綴為.aac的音頻文件,再將fdk-aac中aacenc_tns.cpp中TNS處理模塊中返回值設(shè)為0,輸出不包含TNS模塊的aac格式音頻文件。為了驗證該處理方法能否得到一個不包含TNS且標(biāo)準(zhǔn)解碼器可解的音頻文件,首先可播放.aac音頻文件的播放器播放,可以成功播放出完整的文件,然后將編碼后的.aac文件作為標(biāo)準(zhǔn)解碼器的輸入,成功地輸出.wav文件且可用音樂播放器播放出完整音頻,即可以驗證該工程可行性。

        通過Matlab中audioread函數(shù),可以得到兩個aac格式音頻文件頻譜如圖2所示,其中,圖片上半部分是含有TNS模塊的fdk-aac編碼器輸出的信號頻譜,下半部分是不包含TNS處理過程得到的結(jié)果圖。從圖中波形可以明顯地看出,相對于不包含TNS模塊的編碼器得到的解碼音頻,包含TNS模塊的編碼器可以較好地將量化誤差控制在實際信號波形之下,避免了瞬時沖擊信號對音頻質(zhì)量的影響。

        由于不同信號的時域分布各不相同,因此TNS濾波器一定表現(xiàn)為時變,針對不同幀的信號,濾波器系數(shù)也表現(xiàn)為不相同的。所以碼流中就必須包含有TNS濾波器相關(guān)的一系列參數(shù)。濾波器系數(shù)的確定通常由Levinson-Durbin算法得出,預(yù)測增益的大小決定了是否在編碼過程中使用TNS濾波器[8]。在AAC編碼器中,當(dāng)前幀的頻譜可由當(dāng)前頻譜之前的兩幀預(yù)測得到,然后再求預(yù)測的殘差,最后對殘差進行編碼,具體步驟如下。

        圖2 編碼器中有(上圖)無(下圖)TNS模塊的對比分析

        (1)通過碼流中當(dāng)前幀之前的兩幀頻譜的重建信號預(yù)測當(dāng)前幀的頻譜;

        (2)殘差信號由當(dāng)前幀頻譜與預(yù)測頻譜相減得到;

        (3)對殘差信號進行量化處理;

        (4)反量化,并通過預(yù)測殘差和預(yù)測值通過一定的算法重建當(dāng)前幀的頻譜信號;

        (5)對預(yù)測器參數(shù)進行更新。

        3 線性預(yù)測編碼

        由于語音信號在某一較短時間內(nèi)表現(xiàn)為平穩(wěn)隨機信號,并且同一幀數(shù)據(jù)之間通常具有較大的相關(guān)性,通過前一個或多個信號對下一信號進行線性預(yù)測,然后對實際值和預(yù)測值的差值數(shù)據(jù)進行編碼,就可以很大程度上減少編碼后的碼位,以實現(xiàn)數(shù)據(jù)的壓縮編碼。

        在AAC編碼系統(tǒng)中,語音序列在通過改進離散余弦變換(MDCT)模塊進行加窗處理后,便可滿足以上條件,即可對其進行線性預(yù)測編碼(LPC)。

        3.1 線性預(yù)測的基本原理分析

        語音信號中,任何一個采樣值都可以通過它之前的p個采樣值的線性組合表示,即p階線性預(yù)測,其中每個系數(shù)的確定都遵循最小均方差準(zhǔn)則[9]。公式如下:

        (1)

        (1)式中,表示預(yù)測值,表示p階預(yù)測中的第i個系數(shù),預(yù)測誤差如下:

        (2)

        由最小均方差準(zhǔn)則,對預(yù)測誤差的均方差求的偏導(dǎo)數(shù),并令其為零,即:

        (3)

        將(2)代入(3):

        (4)

        其中:為自相關(guān)函數(shù)。因為預(yù)測誤差的功率可表示為:

        (5)

        將(2)代入(5),并用(4)推得的結(jié)果可得:

        (6)

        (4)與(6)結(jié)合在一起可以得到Y(jié)ule-Walker方程:

        (7)

        將(7)寫成矩陣形式:

        (8)

        該方程組中包含有p+ 1個未知數(shù),在自相關(guān)函數(shù)已知的條件下,可通過Levinson Durbin算法解出該方程組。

        Levinson Durbin算法的遞推關(guān)系如下:

        (9)

        其中kp為反射系數(shù)。

        3.2 語音信號的線性預(yù)測仿真分析

        為了驗證線性預(yù)測編碼過程所產(chǎn)生的效果,可簡單地通過Matlab中的lpc函數(shù)實現(xiàn)對語音信號的預(yù)測編碼。取一段語音信號,通過Matlab中的audioread函數(shù)讀取信號相關(guān)參數(shù),畫出原始信號波形如圖3.1中最上方圖片所示。取語音信號中的某一幀,波形如圖3中“a frame of data”所示。對該幀信號進行預(yù)測編碼并畫出預(yù)測編碼結(jié)果波形,如下圖中“predicted signal”波形所示,通過預(yù)測編碼前后比對,可以看出對于語音信號,通過預(yù)測編碼的方法得到的結(jié)果較為接近原始信號。

        圖3 線性預(yù)測編碼

        圖3.1中上中下分別表示為,上:原始信號波形,中:原始信號中的某一幀信號的波形,下:所選取信號經(jīng)過預(yù)測編碼得到的預(yù)測信號。

        在語音信號編碼算法中,如果通過直接編碼的方法對語音進行處理,會出現(xiàn)編碼所需的比特數(shù)大且速率高的問題。線性預(yù)測的方法較好的解決了這一問題且編碼效果較為理想。

        4 LPC在TNS編碼器中的具體應(yīng)用

        TNS的實現(xiàn)框圖如圖4所示。

        圖4 TNS模塊實現(xiàn)流程框圖

        由框圖可知時域噪聲整形模塊具體實現(xiàn)步驟如下:

        (1)TNS處理是否進行的判斷由心理聲學(xué)模型輸出的感知熵決定,如果超過閾則進行處理。

        (2)求出MDCT輸出信號的自相關(guān)函數(shù)R(i,k)及信號的功率PI。

        (3)對信號進行階數(shù)小于20的線性預(yù)測。由Levinson Durbin算法可得出反射系數(shù)k及預(yù)測誤差功率Pe。

        (4)若預(yù)測增益gain=PI/ Pe大于閾值t(標(biāo)準(zhǔn)推薦值t=1. 4),則進行TNS處理,否則跳過TNS模塊處理。

        (5)對反射系數(shù)進行量化和編碼處理,提供給解碼器中反TNS變換使用。

        (6)將反射系數(shù)中小于閾值p(標(biāo)準(zhǔn)推薦值p=0.1)的部分通過濾波器濾掉,剩下的反射系數(shù)的數(shù)量作為FIR預(yù)測誤差濾波器的階數(shù)。

        (7)FIR濾波器的系數(shù)將由剩余的反射系數(shù)得到,然后對信號進行濾波并將預(yù)測殘差進行編碼。

        5 TNS解碼器的軟件實現(xiàn)

        TNS解碼過程中所需要的一系列參數(shù)可通過tns_data()函數(shù)從碼流中解析出來,具體方法如圖5所示。

        圖5 TNS模塊中參數(shù)獲取

        其中所包含的主要參數(shù)定義如下:

        n_filt指每個幀內(nèi)tns濾波器的個數(shù);length指通過tns濾波器過濾的頻域系數(shù)的個數(shù);order表示tns濾波器階數(shù);由于瞬態(tài)信號通常是雙向的,所以tns濾波器便存在著方向的問題,通過direction表示濾波器方向,“0”為upward,“1”即為downward;coef_compress用于判斷noise shaping filter filt系數(shù)在最顯著位在傳輸中是否被省略,1表示被省略,0表示未被省略。

        TNS的解碼過程中,傳輸濾波器系數(shù)首先被解碼出來,并轉(zhuǎn)換成為有符號數(shù),通過反量化的方法將其轉(zhuǎn)換成為LPC系數(shù)。解碼過程的軟件代碼實現(xiàn)如下:

        /*TNSdecodingforonechannelandframe*/

        豐信農(nóng)業(yè)創(chuàng)始人、總經(jīng)理董金鋒在接受《中國農(nóng)資》記者采訪時表示,未來,農(nóng)業(yè)高質(zhì)量發(fā)展離不開農(nóng)服,農(nóng)業(yè)挖潛離不開農(nóng)服,農(nóng)服一定會成為農(nóng)業(yè)發(fā)展的一股洪流并將勢不可擋。農(nóng)服企業(yè)要聯(lián)系實際,不斷加強技術(shù)創(chuàng)新、組織創(chuàng)新、運營創(chuàng)新、服務(wù)創(chuàng)新,為現(xiàn)代農(nóng)業(yè)發(fā)展助力。

        tns_decode_frame()

        {

        for(w=0;w

        bottom=num_swb;

        for(f=0;f

        top=bottom;

        bottom=max(top-length[w][f],0);

        if(!tns_order)

        continue;

        tns_decode_coef(tns_order,coef_res[w]+3,coef_compress[w][f],

        coef[w][f],lpc[]);

        start=swb_offset[min(bottom,TNS_MAX_BANDS,max_sfb)];

        end=swb_offset[min(top,TNS_MAX_BANDS,max_sfb)];

        if((size=end-start)<=0)

        continue;

        if(direction[w][f]){

        inc=-1;start=end- 1;

        }else{

        inc=1;

        }

        tns_ar_filter(&spec[w][start],size,inc,lpc[],tns_order);

        }}}

        其中TNS_MAX_BANDS為一個常數(shù),其定義了TNS可以應(yīng)用的sfb的最大數(shù)目。常數(shù)TNS_MAX_ORDER定義了線性預(yù)測階數(shù)的最大可能值,其值依賴于AudioObjectType和窗長的參數(shù),如下表所示。

        表1 TNS_MAX_ORDER取值對照表

        6 總結(jié)

        MPEG-4 AAC是當(dāng)前使用較為廣泛的一種高質(zhì)量音頻編碼系統(tǒng),其主要特點包括:較高壓縮比,較好的音頻信號重建質(zhì)量,編解碼程序以模塊化的形式呈現(xiàn),靈活的參數(shù)配置。同時預(yù)測技術(shù)在音頻信號編碼器對于主觀質(zhì)量的提升具有非常顯著的效果,已被廣泛地應(yīng)用于多種音頻編解碼算法中。

        本文簡要介紹了MPEG-4 AAC編碼器的處理過程,TNS的基本原理、步驟以及其主要解決的問題,LPC基本原理和其在TNS模塊中的應(yīng)用,TNS模塊的軟件實現(xiàn)分析。

        猜你喜歡
        時域音頻頻譜
        一種用于深空探測的Chirp變換頻譜分析儀設(shè)計與實現(xiàn)
        必須了解的音頻基礎(chǔ)知識 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
        一種基于稀疏度估計的自適應(yīng)壓縮頻譜感知算法
        基于時域信號的三電平逆變器復(fù)合故障診斷
        基于Daubechies(dbN)的飛行器音頻特征提取
        電子制作(2018年19期)2018-11-14 02:37:08
        音頻分析儀中低失真音頻信號的發(fā)生方法
        電子制作(2017年9期)2017-04-17 03:00:46
        基于極大似然準(zhǔn)則與滾動時域估計的自適應(yīng)UKF算法
        基于時域逆濾波的寬帶脈沖聲生成技術(shù)
        Pro Tools音頻剪輯及修正
        人間(2015年8期)2016-01-09 13:12:42
        認(rèn)知無線電頻譜感知技術(shù)綜述
        中文字幕人妻熟在线影院| 国产精品黄页免费高清在线观看| 亚洲精品国产综合久久| 极品老师腿张开粉嫩小泬 | 欧美激情a∨在线视频播放| 国产69精品久久久久999小说| 无遮挡网站| 丰满人妻无套内射视频| 男女射黄视频网站在线免费观看| 亚洲中文字幕成人无码| 免费a级毛片在线观看| 99久久亚洲精品加勒比| 中文字幕精品一区二区三区av| 黑人巨大精品欧美| 青青草原综合久久大伊人| 国产成年无码V片在线| 久久国产精品99精品国产987| 日韩精品午夜视频在线| 国产乡下妇女做爰| 欧美国产日韩a在线视频| 国产激情久久久久久熟女老人| 日本高级黄色一区二区三区 | 婷婷久久久亚洲欧洲日产国码av| 久久中文字幕日韩无码视频| 亚洲av资源网站手机在线| 婷婷综合另类小说色区| 精品性高朝久久久久久久| 人妻av午夜综合福利视频| 日本一区二区偷拍视频| 极品粉嫩小仙女高潮喷水操av| 精品久久久久久无码专区| 久久人人爽人人爽人人片av麻烦| 亚洲综合久久1区2区3区| 全亚洲高清视频在线观看 | 国产精品女丝袜白丝袜美腿| 国产av一区二区三区天堂综合网| 99久久久无码国产aaa精品| 亚洲av乱码一区二区三区女同| 国产亚洲综合另类色专区| 亚洲av无码专区亚洲av网站| 国产av午夜精品一区二区入口|