專利名稱:在線性預(yù)測(cè)分析中確定isf參數(shù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編解碼壓縮的方法,特別是涉及一種在音頻/語音編碼中進(jìn)行線性預(yù)測(cè)分析時(shí)確定ISF參數(shù)的方法。
背景技術(shù):
如圖1所示,在現(xiàn)有的基于線性預(yù)測(cè)分析的音頻/語音編碼中,線性預(yù)測(cè)分析模塊的輸入信號(hào)是語音/音頻信號(hào),輸出信號(hào)是線性預(yù)測(cè)系數(shù),用于提取輸入信號(hào)的線性預(yù)測(cè)系數(shù);線性預(yù)測(cè)系數(shù)編碼模塊將線性預(yù)測(cè)系數(shù)轉(zhuǎn)化成ISF參數(shù),用于進(jìn)一步參數(shù)編碼,是整個(gè)編碼流程中重要的一部分;ISF編碼和量化模塊的輸入信號(hào)是ISF參數(shù),輸出信號(hào)是ISF參數(shù)的量化值,用于將輸入的ISF參數(shù)進(jìn)行編碼和量化,作為編碼碼流的一部分。
現(xiàn)有的線性預(yù)測(cè)編碼(AMR-WB和AMR-WB+)都包含線譜對(duì)(LineSpectral Frequency LSF或Immittance Spectral Frequency ISF)的計(jì)算和量化。輸入語音或者音頻信號(hào)的線性預(yù)測(cè)(Linear Prediction,LP)譜的信息幾乎都是在描述ISF的幾個(gè)比特中體現(xiàn)。
現(xiàn)有的將線性預(yù)測(cè)系數(shù)轉(zhuǎn)化成ISF參數(shù)的方法如圖2所示。包括如下步驟。用輸入的線性預(yù)測(cè)系數(shù)求出多項(xiàng)式系數(shù)并構(gòu)成一個(gè)切比雪夫多項(xiàng)式。然后再用格型搜索法求這個(gè)多項(xiàng)式的根所在區(qū)間,最后在這個(gè)區(qū)間進(jìn)行線性插值,將插值得到的結(jié)果進(jìn)行反余弦計(jì)算得到最終根。在下一步里對(duì)求得的ISF參數(shù)進(jìn)行量化,成為語音/音頻碼流的一部分。
這種方法的不足之處在于格型搜索根的過程中存在大量的乘法,以及在最后進(jìn)行反余弦求ISF過程中引入了反余弦這類費(fèi)時(shí)的計(jì)算。如果采用查表的方法,將會(huì)使精度受到損失。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,它操作簡單,可以直接快速的得到ISF參數(shù)。
為解決上述技術(shù)問題,本發(fā)明的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法是采用如下技術(shù)方案實(shí)現(xiàn)的,首先用迭代法求得多項(xiàng)式系數(shù),然后運(yùn)用求根的方法搜索根所在區(qū)間,直接得到ISF參數(shù)。
在現(xiàn)有的線性預(yù)測(cè)系數(shù)編碼和量化的方法中,ISF的計(jì)算需要進(jìn)行936次乘法、8次除法以及8次反余弦運(yùn)算(可以用查表方法代替)。采用本發(fā)明的方法后僅需要進(jìn)行平均392次乘法、24次除法運(yùn)算。其中,除法運(yùn)算可以用查表的方法較好的近似,而不影響最后輸出根的位置。(用查表和牛頓迭代法取代除法以后,平均用433次乘法)。由于平均乘法數(shù)目大大降低,所以運(yùn)算速度提高,可以直接快速的得到ISF參數(shù)。
本發(fā)明的方法操作步驟簡單,節(jié)省了53.7%的乘法,得到的ISF參數(shù)精度與現(xiàn)有的方法基本相當(dāng),根的誤差都在0.01%之下。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明 圖1是現(xiàn)有的基于線性預(yù)測(cè)分析的音頻/語音編碼流程圖; 圖2是現(xiàn)有的線性預(yù)測(cè)系數(shù)編碼流程圖; 圖3是本發(fā)明的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法流程圖; 圖4是本發(fā)明的用求根法搜索根所在區(qū)間的第一種實(shí)施例的流程圖; 圖5是本發(fā)明的用求根法搜索根所在區(qū)間的第二種實(shí)施例的流程圖。
具體實(shí)施例方式 如圖3所示,本發(fā)明的確定ISF參數(shù)的方法是,在用迭代法求得多項(xiàng)式的系數(shù)以后,可以分別采用兩種不同的運(yùn)用求根的方法(結(jié)合圖4、5所示)搜索根所在的區(qū)間和線性插值的方法直接并快速的求得ISF參數(shù)。
采用迭代法求多項(xiàng)式系數(shù)的方法是,假設(shè)輸入的線性預(yù)測(cè)系數(shù)記為a1,a2,...,a16,則相應(yīng)的LP多項(xiàng)式是 從式(1)可以得到兩個(gè)復(fù)多項(xiàng)式 f′1=A(z)+z-16A(z-1) (2) f′2=A(z)-z-16A(z-1) 這兩個(gè)方程的根都在單位圓上(即模為1)。此時(shí)去除在-1和1上的根,因?yàn)樗鼈儾话€性預(yù)測(cè)系數(shù)的任何信息,可以得到如下新的復(fù)多項(xiàng)式 f1(z)=f′1(z)(3) f2(z)=f′2(z)/(1-z-2) 將這些多項(xiàng)式展開,可以得到一系列系數(shù),在這里記做r0,r1,...,r8。那么式(2)、式(3)的兩個(gè)多項(xiàng)式可以展開為具有如下形式的多項(xiàng)式 R(z)=r8z16+r7z15+...+r1z9+r0z8+r1z7+...+r8(4) 由于根都在單位圓上,那么可以將根表示成如下,i=1,...,8,除以z8這個(gè)與根無關(guān)的項(xiàng)并用z=ejω代入,則有 G(ω)=2r8cos8ω+2r7cos7ω+...2r1cosω+r0(5) 至此,問題變成求式(2)、式(5)的根。
本發(fā)明的用求根法搜索根所在區(qū)間可以采用多種不同的方法實(shí)現(xiàn)。
在圖4所示的第一種實(shí)施方式中,設(shè)定第一個(gè)根的初始值后,進(jìn)行Newton-Chebyshev(牛頓-切比雪夫方法)根搜索,再進(jìn)行線性插值求根,初始化下一個(gè)根的搜索起始點(diǎn),繼續(xù)進(jìn)行Newton-Chebyshev根搜索。
在圖5所示的第二種實(shí)施方式中,它與第一種實(shí)施方式的區(qū)別是進(jìn)行Newton-Chebyshev根搜索后,不進(jìn)行線性插值求根,直接初始化下一個(gè)根的搜索起始點(diǎn)。
需要說明的是上面所述的Newton-Chebyshev根搜索方法作為實(shí)施例只是進(jìn)行根搜索方法中的一種。具體實(shí)施時(shí),首先,將整個(gè)角度軸ω分成314份,在每個(gè)區(qū)間里,其余弦值都設(shè)定為區(qū)間中點(diǎn)的余弦值。從第一個(gè)根開始搜索,用如下的算式進(jìn)行計(jì)算根的迭代值 ωk+I=ωk-G(ωk)/G′(ωk)(6) 其中k為迭代次數(shù),G(ωk)和G′(ωk)都是用Chebyshev(切比雪夫)多項(xiàng)式求得的函數(shù)。當(dāng)k=0,1時(shí),兩次迭代以后,能夠得到根的大概位置。再找到根所在的區(qū)間,進(jìn)行線性插值則可以得到根的位置。(圖4所示的第一種實(shí)施方式);或者,當(dāng)k=0,1,2時(shí),經(jīng)過三次迭代,所得到的迭代值則是根的位置,即直接得到根的位置。(圖5所示的第二種實(shí)施方式)。
當(dāng)搜索到一個(gè)根的時(shí)候,可以通過如下的方法來確定下一個(gè)根搜索的起始點(diǎn)位置。假設(shè)上一個(gè)根(第i個(gè))用β表示,那么下一個(gè)根的起始位置可以簡單的用估計(jì),其中di是一個(gè)經(jīng)驗(yàn)值,每一個(gè)根都有不同的經(jīng)驗(yàn)值。然而,對(duì)于G函數(shù),如果ω0i+1落在一個(gè)導(dǎo)數(shù)較小(絕對(duì)值)的區(qū)域,那么Newton(牛頓)方法無法收斂到真實(shí)根的附近,因此需要一個(gè)修整過程
完成初始值的確定以后,總計(jì)重復(fù)進(jìn)行7次根搜索和下一個(gè)初始值的確定步驟即可全部確定根的位置。
在本發(fā)明中用求根的方法搜索根所在的位置,除了上述的實(shí)施例外,還可以采用其它的求根的方法來搜索根所在區(qū)間,例如二分法,Chord(喬德)迭代法,Secant(斯坎特)迭代法等等,以及兩種以上求根的方法混合使用來求根;或者用其他分割角度軸的方法,例如分成不同的份數(shù)。
本發(fā)明對(duì)音頻/語音的編碼流程中的線性預(yù)測(cè)系數(shù)編碼和量化進(jìn)行了改進(jìn),可以直接且快速地得到ISF參數(shù),適用于音頻/語音編碼。
權(quán)利要求
1.一種在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,首先用迭代法求得多項(xiàng)式系數(shù),其特征在于然后運(yùn)用求根的方法搜索根所在區(qū)間,直接得到ISF參數(shù)。
2.根據(jù)權(quán)利要求1所述的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,其特征在于所述用求根的方法搜索根所在區(qū)間的方法是初始化后進(jìn)行Newton-Chebyshev根搜索,整個(gè)角度軸ω被分成314份,在每個(gè)區(qū)間里,其余弦值都設(shè)定為區(qū)間中點(diǎn)的余弦值,從第一個(gè)根開始搜索,用如下的算式進(jìn)行計(jì)算根的迭代值
ωk+1=ωk-G(ωk)/G′(ωk)
其中k為迭代次數(shù);G(ωk)和G′(ωk)是用Chebyshev多項(xiàng)式求得的函數(shù)值。
3.根據(jù)權(quán)利要求1所述的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,其特征在于所述的迭代次數(shù)k=0,1;經(jīng)兩次迭代以后,得到根的大概位置;再找到根所在的區(qū)間,進(jìn)行線性插值則得到根的位置。
4.根據(jù)權(quán)利要求1所述的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,其特征在于所述的迭代次數(shù)k=0,1,2;經(jīng)過三次迭代,直接得到根的位置。
5.根據(jù)權(quán)利要求1至4中任何一項(xiàng)所述的在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,其特征在于
當(dāng)搜索到一個(gè)根后,確定下一個(gè)根搜索的起始點(diǎn)位置的方法是假設(shè)上一個(gè)根用β表示,那么下一個(gè)根的起始位置用估計(jì),其中di是一個(gè)經(jīng)驗(yàn)值;
對(duì)于G函數(shù),如果ω0i+1落在一個(gè)導(dǎo)數(shù)較小的區(qū)域時(shí),按下式進(jìn)行修整
完成初始值的確定以后,重復(fù)進(jìn)行7次根搜索和下一個(gè)初始值的確定即可全部確定根的位置。
全文摘要
本發(fā)明公開了一種在線性預(yù)測(cè)分析中確定ISF參數(shù)的方法,用迭代法求得多項(xiàng)式系數(shù)后,運(yùn)用求根的方法搜索根所在區(qū)間,直接得到ISF參數(shù)。本發(fā)明對(duì)音頻/語音的編碼流程中的線性預(yù)測(cè)系數(shù)編碼和量化進(jìn)行了改進(jìn),操作簡單,可以直接且快速地得到ISF參數(shù),適用于音頻/語音編碼。
文檔編號(hào)G10L19/12GK101149927SQ20061011615
公開日2008年3月26日 申請(qǐng)日期2006年9月18日 優(yōu)先權(quán)日2006年9月18日
發(fā)明者黃鶴云, 林福輝 申請(qǐng)人:展訊通信(上海)有限公司