專利名稱:一種實現(xiàn)開環(huán)基音搜索的方法和裝置的制作方法
技術領域:
本發(fā)明涉及語音編碼技術,特別是涉及一種實現(xiàn)開環(huán)基音搜索的方法和裝置。
背景技術:
基音周期是指人發(fā)音時聲帶振動的周期?;糁芷谑钦Z音編碼中一個重要的問題,其準確性將直接影響到語音編碼器的編碼質(zhì)量和效率。準確的基音周期性分析,可以在語音編碼過程中有效的去除冗余,降低編碼的比特數(shù),實現(xiàn)低比特率高質(zhì)量語音編碼。
為了準確地確定基音周期,目前存在多種相關的基音檢測算法。比如,在時域的角度,傳統(tǒng)的算法中包括基于平均幅度差函數(shù)(AMDF)的基音估計算法和基于短時自相關函數(shù)(ACF)的基音檢測算法。又如,在頻域的角度,存在一種頻域基音周期估計方案,用于多帶激勵語音編碼算法(MBE),這種基音周期估計算法采用閉環(huán)分析合成方法,匹配信號頻域波形,得到最優(yōu)基音周期估計。
在實際應用中,基于時域的基音搜索算法由于其算法簡單,性能較好而得到廣泛應用。例如在當前的寬帶語音編碼標準AMR-WB+中,采取了時域改進的短時自相關函數(shù)(ACF)基音檢測算法。AMR-WB+采用了加權相關函數(shù)法進行基音周期的搜索,其具體實現(xiàn)過程主要包括如下幾個處理過程信號預處理過程、開環(huán)基音搜索過程、閉環(huán)基音搜索過程。
其中,在開環(huán)基音搜索過程中,AMR-WB+使用了傳統(tǒng)的時域相關函數(shù)來得到基音周期。其采用的相關函數(shù)計算公式為 參見公式1.1,corr表示相關函數(shù)值,s(n)為感知加權后的語音信號,delay表示搜索中的語音基音周期候選值,T0表示當相關函數(shù)最大值對應的delay值。利用公式1.1計算出的相關函數(shù)反應了子幀長度為64個采樣點的信號序列s(n)以及延遲delay的信號序列s(n-delay)的相似程度,求取corr最大值對應的T0則得到了在開環(huán)基音搜索過程中的基音周期值。
由于人聲并非完美的周期性信號,并且語音信號受到聲道共振峰以及外界噪聲等各種干擾,導致直接采用上述相關函數(shù)得出的基音周期會有一定的偏差,經(jīng)常會出現(xiàn)倍周期問題和基音平滑性問題。其中, 對于倍周期問題,參見圖1A,在理想情況下,輸入的語音信號為標準的周期性信號,基音周期候選值delay為T0,2T0,3T0,相關函數(shù)都相同,均為相關函數(shù)最大值corrmax。但是參見圖1B,由于實際的語音信號并不是標準的周期性信號,則會出現(xiàn)真實的基音周期為T0,但利用上述公式1.1得到的基音周期為3T0,從而出現(xiàn)倍周期問題。
對于基音平滑性問題,在語音信號的濁音段,相鄰幀的基音周期變化是有限的。通常來說,相鄰兩濁音幀信號的基音周期變化不超過10%,幾乎沒有超過25%的情況。因此,在基音周期的搜索過程中,必須考慮基音平滑性問題,防止噪聲或其它情況影響相鄰幀的基音周期發(fā)生較大變化。
在目前,AMR-WB+中采用了對相關函數(shù)加權的方式來解決倍周期問題和基音平滑性問題。也就是說,在上述公式1.1中乘以一個加權函數(shù),即 其中,s(n)表示輸入預處理后的語音信號,delay表示搜索中的語音短基音周期候選值,w(delay)表示以delay為變量的加權函數(shù),該加權函數(shù)即是將式(1.1)中相關函數(shù)的公式再乘以加權函數(shù)w(delay)。
其中,加權函數(shù)w(delay)分為兩個部分,表示如下 w(delay)=w1(delay)wn(delay) (1.4) 其中w1(delay)設置為 w1(delay)=cw(delay)(1.5),用于解決倍周期問題; wn(delay)設置為 其中,cw(delay)表示上述加權函數(shù),而Told表示過去5幀中基音周期的平均值,而v代表了加權函數(shù)中對開環(huán)增益的判斷,v設置為 其中,gain表示開環(huán)增益,增益計算公式為 由以上描述可以看出,在現(xiàn)有技術中,為了解決倍周期和基音周期平滑性問題,必須對自相關函數(shù)計算出的每一個自相關函數(shù)值均進行加權處理,然而,對于實際的語音信號,并不是所有自相關函數(shù)值對應的基音周期候選值均存在倍周期問題,并且,基音周期候選值中往往存在遠離真實基音周期的候選值,這樣,現(xiàn)有技術盲目地對每一個自相關函數(shù)值均進行加權處理,則會無謂地增加開環(huán)基音搜索過程的復雜性。
另外,在現(xiàn)有技術中,在開環(huán)基音搜索過程中,計算基音周期的自相關函數(shù)為非歸一化的自相關函數(shù),如公式1.1中所示的然而,由于開環(huán)基音搜索過程的主要目的是為閉環(huán)基音搜索過程確定更為精細的基音周期的搜索范圍,但在閉環(huán)基音搜索過程中,對于搜索得到的最佳延遲判別式為其中,x(n)為目標信號,而yk(n)為一定延遲的上一幀激勵。公式1.9體現(xiàn)的是延遲信號與目標信號的最小均方差準則。這樣,在開環(huán)基音搜索過程中,使用非歸一化的自相關函數(shù)則不能更好地符合后續(xù)閉環(huán)基音搜索過程中要求的最小均方差準則,從而導致開環(huán)基音搜索過程確定的基音周期偏差較大,大大降低了開環(huán)基音搜索的效率。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種實現(xiàn)開環(huán)基音搜索的方法,本發(fā)明的另一目的在于提供一種實現(xiàn)開環(huán)基音搜索的裝置,以便于降低開環(huán)基音搜索過程的復雜性。
為了達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的 一種實現(xiàn)開環(huán)基音搜索的方法,該方法包括 計算語音信號的自相關函數(shù); 根據(jù)自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考; 根據(jù)當前的基音周期全局參考確定語音信號的基音周期。
所述計算語音信號的自相關函數(shù)的步驟具體為計算語音信號歸一化的自相關函數(shù)。
所述計算歸一化的自相關函數(shù)的步驟具體為計算其中M為子幀的幀長,corr為歸一化的自相關函數(shù)值,s(n)為感知加權后的語音信號,delay為搜索中的語音基音周期候選值。
所述確定當前的基音周期全局參考的步驟具體為根據(jù)自相關函數(shù)的計算結(jié)果得到最佳基音周期候選值;根據(jù)所得到的最佳基音周期候選值判斷在當前幀是否可以確定可靠的基音周期全局參考,如果是,則將所得到的最佳基音周期候選值確定為當前的基音周期全局參考,否則,判斷在前幀確定的基音周期全局參考是否已失效,如果已失效,則確定當前的基音周期全局參考為零,如果未失效,則將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考。
在判斷出未失效后,并在將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考之前,進一步包括判斷前一幀和當前幀的連續(xù)兩幀自相關函數(shù)最大值是否小于設定的門限值,如果是,則確定當前的基音周期全局參考為零,否則,繼續(xù)執(zhí)行所述的將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考的步驟。
所述根據(jù)自相關函數(shù)的計算結(jié)果得到最佳基音周期候選值的步驟具體為根據(jù)自相關函數(shù)的計算結(jié)果,在基音搜索周期的上下限區(qū)間內(nèi)選取最大的多個自相關函數(shù)值及其對應的基音周期候選值;對所選取的自相關函數(shù)值序列進行加權處理,根據(jù)加權處理后的自相關函數(shù)值序列得到最佳基音周期候選值。
所述對所選取的自相關函數(shù)值進行加權處理的步驟具體為對所選取的每一個基音周期候選值,判斷該基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于預先設置的門限值,如果是,則對所選取基音周期候選值對應的自相關函數(shù)值進行固定加權,否則,不對該基音周期候選值對應的自相關函數(shù)值進行固定加權。
在進行加權處理后,并在得到最佳基音周期候選值之前,進一步包括對加權處理后的自相關函數(shù)值序列進行去除倍周期處理; 則根據(jù)去除倍周期處理后的自相關函數(shù)值序列得到所述的最佳基音周期候選值。
所述進行去除倍周期處理得到最佳基音周期候選值的步驟具體為對所選取的每一個基音周期候選值對應的自相關函數(shù)進行縮放處理,根據(jù)縮放處理后的自相關函數(shù)值得到當前待定的最佳基音周期候選值,判斷當前的自相關函數(shù)最大值對應的基音周期候選值是否為當前待定的最佳基音周期候選值的加倍,如果是,將當前待定的最佳基音周期候選值確定為所述的最佳基音周期候選值,否則,將當前的自相關函數(shù)最大值對應的基音周期候選值確定為所述的最佳基音周期候選值。
在進行縮放處理前,進一步包括將當前自相關函數(shù)最大值對應的基音周期候選值設定為當前待定的最佳基音周期候選值; 所述根據(jù)縮放處理后的自相關函數(shù)值得到待定的最佳基音周期候選值的步驟具體為依次考察每一個選取的基音周期候選值,如果當前考察的基音周期候選值小于當前待定的最佳基音周期候選值,且當前考察的基音周期候選值對應的自相關函數(shù)值大于縮放處理前自相關函數(shù)的最大值除以縮放因子,則將當前考察的基音周期候選值設定為當前待定的最佳基音周期候選值。
所述對所選取的每一個基音周期候選值對應的自相關函數(shù)進行縮放處理的步驟具體為對所選取的每一個基音周期候選值,判斷該基音周期候選值是否大于設定的門限值,如果是,則將該基音周期候選值對應的自相關函數(shù)值除以較大的縮放因子,否則,將該基音周期候選值對應的自相關函數(shù)值除以較小的縮放因子。
所述判斷在當前幀是否可以確定可靠的基音周期全局參考的步驟具體為 判斷當前的自相關函數(shù)最大值對應的基音周期侯選值是否為最佳基音周期候選值的加倍,且所得到的最佳基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于設定門限值,如果當前的自相關函數(shù)最大值對應的基音周期侯選值不為最佳基音周期候選值的加倍且所述差值小于設定門限值,則確定在當前幀可以確定可靠的基音周期全局參考; 或,判斷在當前的自相關函數(shù)值序列中,自相關函數(shù)最大值與其他任意一個自相關函數(shù)值之間的差值是否大于設定門限值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考; 或,判斷在當前的基音周期候選值序列中,是否存在為最佳基音周期候選值加倍的一個或多個基音周期候選值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考; 或,判斷在前幀確定的基音周期全局參考是否為當前所確定的最佳基音周期候選值的加倍,且當前的自相關函數(shù)最大值是否大于設定的門限值,如果是加倍且大于所述門限值,則確定在當前幀可以確定可靠的基音周期全局參考。
所述根據(jù)當前的基音周期全局參考確定語音信號的基音周期的步驟具體為判斷所得到的最佳基音周期候選值與當前的基音周期全局參考之間的差值是否小于設定的門限值,如果是,則將最佳基音周期候選值確定為所述語音信號的基音周期; 或,判斷在自相關函數(shù)值序列中,當前的自相關函數(shù)最大值是否小于設定的門限值,如果是,則將當前自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期; 所述根據(jù)當前的基音周期全局參考確定語音信號的基音周期的步驟具體為 根據(jù)基音周期全局參考確定基音周期確定參考值,在當前的基音周期候選值序列中,選取與基音周期確定參考值之間的差值最小的基音周期候選值,將所選取的基音周期候選值對應的自相關函數(shù)值加倍,從自相關函數(shù)值序列中選取當前的自相關函數(shù)最大值,將所選取的自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期。
所述根據(jù)基音周期全局參考確定基音周期確定參考值的步驟具體為 判斷所確定的基音周期全局參考是否不為零,如果是,則將基音周期全局參考確定為基音周期確定參考值,否則,判斷上一個不為零的基音周期全局參考是否已失效,如果已失效,則將基音周期確定參考值確定為零,如果未失效,則將上一個不為零的基音周期全局參考確定為所述的基音周期確定參考值。
一種實現(xiàn)開環(huán)基音搜索的裝置,該裝置包括自相關函數(shù)計算單元、基音周期全局參考計算單元和基音周期確定單元,其中, 自相關函數(shù)計算單元,計算語音信號的自相關函數(shù),將自相關函數(shù)的計算結(jié)果輸出至基音周期全局參考計算單元; 基音周期全局參考計算單元,根據(jù)接收到的自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考,將所確定的當前的基音周期全局參考輸出至基音周期確定單元; 基音周期確定單元,根據(jù)接收到的當前的基音周期全局參考,確定語音信號的基音周期。
所述自相關函數(shù)計算單元,計算歸一化的自相關函數(shù),將歸一化自相關函數(shù)的計算結(jié)果輸出至基音周期全局參考計算單元; 所述基音周期全局參考計算單元,根據(jù)歸一化自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考。
所述基音周期全局參考計算單元,對接收到的自相關函數(shù)值中較大的多個自相關函數(shù)值進行加權處理,根據(jù)加權處理后的自相關函數(shù)值序列得到最佳基音周期候選值,根據(jù)最佳基音周期候選值確定當前的基音周期全局參考。
所述基音周期全局參考計算單元,對接收到的自相關函數(shù)值中較大的多個自相關函數(shù)值進行去除倍周期處理,根據(jù)去除倍周期處理后的自相關函數(shù)值序列得到最佳基音周期候選值,根據(jù)最佳基音周期候選值確定當前的基音周期全局參考。
由此可見,本發(fā)明具有以下優(yōu)點 1、對于本發(fā)明所采用的自相關函數(shù),存在以下兩個優(yōu)點 (a)最大化該自相關函數(shù)值從而得到的基音周期候選值,該候選值同解于追求原始信號與延遲信號的誤差的最小均方差標準求解得到的基音周期候選值,從統(tǒng)計意義上講比較精確,并且與閉環(huán)基音搜索中的整數(shù)基音搜索相一致; (b)該自相關函數(shù)是一個規(guī)一化的自相關函數(shù),并且通過對自相關函數(shù)值的分類分析解決倍周期問題,以及對基音周期平滑性進行加權和判斷語音的周期性強弱并最終確定基音周期。
2、在本發(fā)明中,設定基音周期全局參考軌跡作為基音周期全局變化的量度,從而可平滑基音周期。
3、采用分類的基音周期分析,針對信號自適應的確定基音周期。
4、在計算自相關函數(shù)值后,本發(fā)明沒有針對所有的自相關函數(shù)值進行后續(xù)的一系列處理,比如,消除倍周期處理和基音周期平滑性處理等,而是選取了其中對于確定基音周期最為有利的部分自相關函數(shù)值,這樣,則極大簡化了處理過程,降低了開環(huán)基音搜索過程中的算法運算復雜度和存儲開銷,簡化了開環(huán)基音搜索過程。
圖1A是標準周期信號的相關函數(shù)曲線圖。
圖1B是實際語音信號的相關函數(shù)曲線圖。
圖2是在本發(fā)明中實現(xiàn)開環(huán)基音搜索的裝置的結(jié)構(gòu)示意圖。
圖3是在本發(fā)明實施例中實現(xiàn)開環(huán)基音搜索過程的流程圖。
圖4是在本發(fā)明實施例中確定當前的基音周期全局參考的流程圖。
圖5是在本發(fā)明實施例中去除倍周期影響的流程圖。
具體實施例方式 本發(fā)明提出了一種實現(xiàn)開環(huán)基音搜索的方法,其核心思想是計算語音信號的自相關函數(shù);根據(jù)自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考;根據(jù)當前的基音周期全局參考確定語音信號的基音周期。
相應的,本發(fā)明還提出了一種實現(xiàn)開環(huán)基音搜索的裝置。圖2是在本發(fā)明中實現(xiàn)開環(huán)基音搜索的裝置的結(jié)構(gòu)示意圖。參見圖2,在本發(fā)明中,實現(xiàn)開環(huán)基音搜索的裝置包括自相關函數(shù)計算單元、基音周期全局參考計算單元和基音周期確定單元,其中, 自相關函數(shù)計算單元,計算語音信號的自相關函數(shù),將自相關函數(shù)的計算結(jié)果輸出至基音周期全局參考計算單元; 基音周期全局參考計算單元,根據(jù)接收到的自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考,將所確定的當前的基音周期全局參考輸出至基音周期確定單元; 基音周期確定單元,根據(jù)接收到的當前的基音周期全局參考,確定語音信號的基音周期。
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結(jié)合附圖及具體實施例對本發(fā)明作進一步地詳細描述。
圖3是在本發(fā)明實施例中實現(xiàn)開環(huán)基音搜索過程的流程圖。參見圖2和圖3,利用本發(fā)明裝置,本發(fā)明方法實現(xiàn)開環(huán)基音搜索的過程包括以下步驟 步驟301設置歸一化的自相關函數(shù)。
為了使開環(huán)基音搜索過程更好地符合后續(xù)閉環(huán)基音搜索過程中要求的最小均方差準則,在本步驟301中,較佳地,可以設置歸一化的自相關函數(shù),并可以通過如下公式2.1來表示 其中,M為子幀的幀長,corr表示規(guī)一化的相關函數(shù)值,s(n)為感知加權后的語音信號,delay表示搜索中的語音基音周期候選值。式(2.1)是根據(jù)最小均方誤差的準則來確定的,推導的過程如下 輸入語音信號以及延遲的語音信號的最小均方誤差計算如下 其中,error表示輸入語音信號與延遲信號的均方誤差值,gain表示開環(huán)的增益,s(n)為感知加權后的語音信號,delay表示搜索中的語音基音周期候選值。
求解式(2.2)的最小值,令delay恒定,求解最佳的開環(huán)增益值gain。令求解得 將式(2.3)的結(jié)果代入式(2.2),得到 (2.4)式可以轉(zhuǎn)化為
式(2.5)即為本方案中相關函數(shù)的判定準則。而在后面的閉環(huán)基音搜索判別式中,如式(1.9)所示對比該式與式(2.5),發(fā)現(xiàn)兩者具有相似之處兩式都采用能量作為分母進行規(guī)一化,從而保證可以為閉環(huán)基音搜索提供更為精細的搜索范圍。
步驟302自相關函數(shù)計算單元根據(jù)公式2.1計算語音信號歸一化的自相關函數(shù)值。
步驟303自相關函數(shù)計算單元在基音搜索周期的上下限區(qū)間內(nèi)選取較大的多個自相關函數(shù)值及其對應的基音周期候選值。
這里,考慮到語音的連續(xù)性,并為了降低運算的復雜度,在本步驟303中,較佳地,可以不選取所計算出的所有自相關函數(shù)值及其對應的基音周期候選值中,而是只選取出在基音搜索周期的上下限區(qū)間內(nèi)選取較大的多個自相關函數(shù)值及其對應的基音周期候選值。其中,所選取的個數(shù)可以根據(jù)實際應用來確定,比如,選取最大的6個自相關函數(shù)值及其對應的基音周期候選值。
執(zhí)行到本步驟,則得到了一個所選取長度的自相關函數(shù)值序列及其對應的基音周期候選值序列。
步驟304自相關函數(shù)計算單元將所選取的較大的多個自相關函數(shù)值及其對應的基音周期候選值輸出至基音周期全局參考計算單元。
步驟305基音周期全局參考計算單元根據(jù)接收到的自相關函數(shù)值及其對應的基音周期候選值確定當前的基音周期全局參考。
對于語音信號,特別是濁音部分信號,相鄰幀的基音周期的變化很小,通常變化不會超過10%。針對此種情況,本發(fā)明中提出基音周期全局參考(global_pitch)的概念,該全局參考其主要目的在于在參考前一幀或前幾幀的基音周期上確定當前幀的基音周期,從而避開噪聲以及聲道特性對基音周期估計造成的干擾。在本方案中,基音周期全局參考的判斷依據(jù)即為自相關函數(shù)值降序序列以及其對應的基音周期候選值序列。
圖4是在本發(fā)明實施例中確定當前的基音周期全局參考的流程圖。參見圖4,本步驟305的具體實現(xiàn)過程主要包括 步驟401根據(jù)自相關函數(shù)的計算結(jié)果,即所選取的自相關函數(shù)值及其對應的基音周期候選值,得到最佳基音周期候選值。
這里,在本步驟401中,可以通過得到最佳基音周期候選值的過程解決倍周期問題和基音平滑性問題。
本步驟401的具體實現(xiàn)過程包括 首先,針對基音周期平滑性問題進行加權處理。
預先對所選取的自相關函數(shù)值序列進行降序排列。對所選取的每一個基音周期候選值,判斷該基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于預先設置的門限值,如果是,則對所選取基音周期候選值對應的自相關函數(shù)值進行固定加權,否則,不對該基音周期候選值對應的自相關函數(shù)值進行固定加權。并且,加權后,可以重新對當前的自相關函數(shù)值序列進行降序排列,并同步地移動自相關函數(shù)值對應的基音周期候選值序列。
其次,去除倍周期影響。
圖5是在本發(fā)明實施例中去除倍周期影響的流程圖。參見圖5,在步驟401中,實現(xiàn)去除倍周期影響的過程包括以下步驟 步驟501將當前自相關函數(shù)最大值對應的基音周期候選值設定為當前待定的最佳基音周期候選值。
步驟502判斷在當前的基音周期候選值序列中,是否存在未被考察的基音周期候選值,如果是,則執(zhí)行步驟503,否則,執(zhí)行步驟508。
步驟503選擇一個未被考察的基音周期候選值,判斷該基音周期候選值是否大于設定的門限值,如果是,則執(zhí)行步驟504,否則,執(zhí)行步驟505。
步驟504將該基音周期候選值對應的自相關函數(shù)值除以較大的縮放因子1,執(zhí)行步驟506。
步驟505將該基音周期候選值對應的自相關函數(shù)值除以較小的縮放因子2。
步驟506判斷該當前考察的基音周期候選值是否小于當前待定的最佳基音周期候選值,且該當前考察的基音周期候選值對應的自相關函數(shù)值是否大于縮放處理前自相關函數(shù)的最大值除以縮放因子,如果均是,則執(zhí)行步驟507,否則,直接返回步驟502。
步驟507將該當前考察的基音周期候選值設定為當前待定的最佳基音周期候選值,返回步驟502。
步驟508判斷當前的自相關函數(shù)最大值對應的基音周期候選值是否為該當前待定的最佳基音周期候選值的加倍,如果是,則執(zhí)行步驟509,否則,執(zhí)行步驟510。
步驟509將該當前待定的最佳基音周期候選值確定為所述的最佳基音周期候選值,結(jié)束當前流程。
步驟510將當前的自相關函數(shù)最大值對應的基音周期候選值確定為所述的最佳基音周期候選值。
至此,則得到了步驟401中所述的最佳基音周期候選值。
步驟402根據(jù)所得到的最佳基音周期候選值判斷在當前幀是否可以確定可靠的基音周期全局參考,如果是,則執(zhí)行步驟403,否則,執(zhí)行步驟404。
這里,所述的判斷在當前幀是否可以確定可靠的基音周期全局參考的實現(xiàn)方式包括但不限于 方式一、判斷當前的自相關函數(shù)最大值對應的基音周期侯選值是否為最佳基音周期候選值的加倍,且所得到的最佳基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于設定門限值,如果當前的自相關函數(shù)最大值對應的基音周期侯選值不為最佳基音周期候選值的加倍且所述差值小于設定門限值,則確定在當前幀可以確定可靠的基音周期全局參考。
方式二、判斷在當前的自相關函數(shù)值序列中,自相關函數(shù)最大值與其他任意一個自相關函數(shù)值之間的差值是否大于設定門限值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考; 方式三、判斷在當前的基音周期候選值序列中,是否存在為最佳基音周期候選值加倍的一個或多個基音周期候選值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考。
方式四、判斷在前幀確定的基音周期全局參考是否為當前所確定的最佳基音周期候選值的加倍,且當前的自相關函數(shù)最大值是否大于設定的門限值,如果是加倍且大于所述門限值,則確定在當前幀可以確定可靠的基音周期全局參考。
在本步驟402中,當確定在當前幀可以確定可靠的基音周期全局參考時,則意味著可以確定新的基音周期全局參考,即執(zhí)行后續(xù)步驟403;如果不能確定,則意味著要在當前幀延續(xù)前面可靠的基音周期全局參考,即執(zhí)行后續(xù)步驟404。
步驟403將所得到的最佳基音周期候選值確定為當前的基音周期全局參考,結(jié)束當前流程。
步驟404判斷在前幀確定的基音周期全局參考是否已失效,如果已失效,則執(zhí)行步驟405,如果未失效,則執(zhí)行步驟406。
這里,可以預先設置基音周期全局參考軌跡可以保持的幀數(shù),比如可以保持三幀,那么,所述判斷在前幀確定的基音周期全局參考是否已失效則是判斷在前幀確定的基音周期全局參考所保持的幀數(shù)是否已超過了三幀,如果是,則確定已失效,否則,確定未失效。
這里,如果在前幀確定的基音周期全局參考已失效,則意味著該語音片斷并不是濁音,并不具備較好的基音周期連續(xù)性,即執(zhí)行后續(xù)步驟405。
步驟405確定當前的基音周期全局參考為0,結(jié)束當前流程。
步驟406判斷前一幀和當前幀的連續(xù)兩幀自相關函數(shù)最大值是否小于設定的門限值,如果是,則轉(zhuǎn)向執(zhí)行步驟405,否則,執(zhí)行步驟407。
步驟407將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考。
至此,則實現(xiàn)了圖3中步驟305所述的確定當前的基音周期全局參考的過程。
步驟306基音周期全局參考計算單元將所確定的當前基音周期全局參考輸出至基音周期確定單元。
步驟307基音周期確定單元根據(jù)接收到的當前的基音周期全局參考,最終確定語音信號的基音周期。
這里,在最終確定基音周期時,可以分三種情況來考慮 (1)根據(jù)最佳基音周期候選值與當前的基音周期全局參考是否比較接近來確定。
在此種情況下,基音周期全局參考是由當前幀的最佳基音周期候選值來確定的,如果該兩者比較接近,說明最佳基音周期候選值判定可靠,因此可以直接輸出最佳基音周期值作為基音周期,并且,也說明當前幀確定的最佳基音周期候選值滿足了基音周期平滑性的依據(jù),但是只是因為噪聲,聲道干擾等各種干擾,該基音周期候選值對應的自相關函數(shù)值偏小,不足以確定可靠的基音周期全局參考,這樣當前幀將延續(xù)上一幀的全局基音周期參考。相應的,本步驟307的具體實現(xiàn)過程包括 判斷所得到的最佳基音周期候選值與當前的基音周期全局參考之間的差值是否小于設定的門限值,即判斷兩者是否比較接近,如果是,則將最佳基音周期候選值確定為所述語音信號的基音周期。
(2)根據(jù)當前自相關函數(shù)最大值的大小來確定。
在這種情況下,語音段信號的相關程度比較小,不易判斷出明顯的基音周期,此時當前的基音周期搜索沒有實際意義,只是為后來的閉環(huán)基音搜索提供一個最大程度去除長時相關性的參考。因而在這種情況下可以直接輸出自相關函數(shù)最大值對應的基音周期搜索候選值作為基音周期。相應的,本步驟307的具體實現(xiàn)過程包括 判斷在自相關函數(shù)值序列中,當前的自相關函數(shù)最大值是否小于設定的門限值,如果是,則將當前自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期。
(3)根據(jù)是否無法明顯判斷基音周期來確定。
在此種情況下,引入一個基音周期確定參考值(trkp)的概念,該值用來對最后的基音周期的確定起到參考的作用。
首先確定基音周期確定參考值(trkp),該值確定的過程為判斷所確定的基音周期全局參考是否不為零,如果是,則將基音周期全局參考確定為基音周期確定參考值,否則,判斷上一個不為零的基音周期全局參考是否已失效,如果已失效,則將基音周期確定參考值確定為零,如果未失效,則將上一個不為零的基音周期全局參考確定為所述的基音周期確定參考值。
然后,根據(jù)所確定的基音周期確定參考值(trkp),最終確定基音周期,其實現(xiàn)過程包括在當前的基音周期候選值序列中,選取與基音周期確定參考值之間的差值最小的基音周期候選值,將所選取的基音周期候選值對應的自相關函數(shù)值加倍,從自相關函數(shù)值序列中選取當前的自相關函數(shù)最大值,將所選取的自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期。
至此,則實現(xiàn)了在開環(huán)基音搜索過程中確定基音周期的過程。
需要說明的是,本發(fā)明實現(xiàn)開環(huán)基音搜索的方法和裝置可以應用于任意一種語音編解碼器中。
總之,以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種實現(xiàn)開環(huán)基音搜索的方法,其特征在于,該方法包括
計算語音信號的自相關函數(shù);
根據(jù)自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考;
根據(jù)當前的基音周期全局參考確定語音信號的基音周期。
2.根據(jù)權利要求1所述的方法,其特征在于,所述計算語音信號的自相關函數(shù)的步驟具體為計算語音信號歸一化的自相關函數(shù)。
3.根據(jù)權利要求2所述的方法,其特征在于,所述計算歸一化的自相關函數(shù)的步驟具體為計算其中M為子幀的幀長,corr為歸一化的自相關函數(shù)值,s(n)為感知加權后的語音信號,delay為搜索中的語音基音周期候選值。
4.根據(jù)權利要求1所述的方法,其特征在于,所述確定當前的基音周期全局參考的步驟具體為根據(jù)自相關函數(shù)的計算結(jié)果得到最佳基音周期候選值;根據(jù)所得到的最佳基音周期候選值判斷在當前幀是否可以確定可靠的基音周期全局參考,如果是,則將所得到的最佳基音周期候選值確定為當前的基音周期全局參考,否則,判斷在前幀確定的基音周期全局參考是否已失效,如果已失效,則確定當前的基音周期全局參考為零,如果未失效,則將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考。
5.根據(jù)權利要求4所述的方法,其特征在于,在判斷出未失效后,并在將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考之前,進一步包括判斷前一幀和當前幀的連續(xù)兩幀自相關函數(shù)最大值是否小于設定的門限值,如果是,則確定當前的基音周期全局參考為零,否則,繼續(xù)執(zhí)行所述的將在前幀確定的基音周期全局參考確定為當前的基音周期全局參考的步驟。
6.根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)自相關函數(shù)的計算結(jié)果得到最佳基音周期候選值的步驟具體為根據(jù)自相關函數(shù)的計算結(jié)果,在基音搜索周期的上下限區(qū)間內(nèi)選取最大的多個自相關函數(shù)值及其對應的基音周期候選值;對所選取的自相關函數(shù)值序列進行加權處理,根據(jù)加權處理后的自相關函數(shù)值序列得到最佳基音周期候選值。
7.根據(jù)權利要求6所述的方法,其特征在于,所述對所選取的自相關函數(shù)值進行加權處理的步驟具體為對所選取的每一個基音周期候選值,判斷該基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于預先設置的門限值,如果是,則對所選取基音周期候選值對應的自相關函數(shù)值進行固定加權,否則,不對該基音周期候選值對應的自相關函數(shù)值進行固定加權。
8.根據(jù)權利要求6所述的方法,其特征在于,在進行加權處理后,并在得到最佳基音周期候選值之前,進一步包括;對加權處理后的自相關函數(shù)值序列進行去除倍周期處理;
則根據(jù)去除倍周期處理后的自相關函數(shù)值序列得到所述的最佳基音周期候選值。
9.根據(jù)權利要求8所述的方法,其特征在于,所述進行去除倍周期處理得到最佳基音周期候選值的步驟具體為對所選取的每一個基音周期候選值對應的自相關函數(shù)進行縮放處理,根據(jù)縮放處理后的自相關函數(shù)值得到當前待定的最佳基音周期候選值,判斷當前的自相關函數(shù)最大值對應的基音周期候選值是否為當前待定的最佳基音周期候選值的加倍,如果是,將當前待定的最佳基音周期候選值確定為所述的最佳基音周期候選值,否則,將當前的自相關函數(shù)最大值對應的基音周期候選值確定為所述的最佳基音周期候選值。
10.根據(jù)權利要求9所述的方法,其特征在于,在進行縮放處理前,進一步包括將當前自相關函數(shù)最大值對應的基音周期候選值設定為當前待定的最佳基音周期候選值;
所述根據(jù)縮放處理后的自相關函數(shù)值得到待定的最佳基音周期候選值的步驟具體為依次考察每一個選取的基音周期候選值,如果當前考察的基音周期候選值小于當前待定的最佳基音周期候選值,且當前考察的基音周期候選值對應的自相關函數(shù)值大于縮放處理前自相關函數(shù)的最大值除以縮放因子,則將當前考察的基音周期候選值設定為當前待定的最佳基音周期候選值。
11.根據(jù)權利要求9所述的方法,其特征在于,所述對所選取的每一個基音周期候選值對應的自相關函數(shù)進行縮放處理的步驟具體為對所選取的每一個基音周期候選值,判斷該基音周期候選值是否大于設定的門限值,如果是,則將該基音周期候選值對應的自相關函數(shù)值除以較大的縮放因子,否則,將該基音周期候選值對應的自相關函數(shù)值除以較小的縮放因子。
12.根據(jù)權利要求4所述的方法,其特征在于,所述判斷在當前幀是否可以確定可靠的基音周期全局參考的步驟具體為
判斷當前的自相關函數(shù)最大值對應的基音周期侯選值是否為最佳基音周期候選值的加倍,且所得到的最佳基音周期候選值與在前幀確定的基音周期全局參考之間的差值是否小于設定門限值,如果當前的自相關函數(shù)最大值對應的基音周期侯選值不為最佳基音周期候選值的加倍且所述差值小于設定門限值,則確定在當前幀可以確定可靠的基音周期全局參考;
或,判斷在當前的自相關函數(shù)值序列中,自相關函數(shù)最大值與其他任意一個自相關函數(shù)值之間的差值是否大于設定門限值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考;
或,判斷在當前的基音周期候選值序列中,是否存在為最佳基音周期候選值加倍的一個或多個基音周期候選值,如果是,則確定在當前幀可以確定可靠的基音周期全局參考;
或,判斷在前幀確定的基音周期全局參考是否為當前所確定的最佳基音周期候選值的加倍,且當前的自相關函數(shù)最大值是否大于設定的門限值,如果是加倍且大于所述門限值,則確定在當前幀可以確定可靠的基音周期全局參考。
13.根據(jù)權利要求1至12中任意一項所述的方法,其特征在于,所述根據(jù)當前的基音周期全局參考確定語音信號的基音周期的步驟具體為判斷所得到的最佳基音周期候選值與當前的基音周期全局參考之間的差值是否小于設定的門限值,如果是,則將最佳基音周期候選值確定為所述語音信號的基音周期;
或,判斷在自相關函數(shù)值序列中,當前的自相關函數(shù)最大值是否小于設定的門限值,如果是,則將當前自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期;
14.根據(jù)權利要求1至12中任意一項所述的方法,其特征在于,所述根據(jù)當前的基音周期全局參考確定語音信號的基音周期的步驟具體為
根據(jù)基音周期全局參考確定基音周期確定參考值,在當前的基音周期候選值序列中,選取與基音周期確定參考值之間的差值最小的基音周期候選值,將所選取的基音周期候選值對應的自相關函數(shù)值加倍,從自相關函數(shù)值序列中選取當前的自相關函數(shù)最大值,將所選取的自相關函數(shù)最大值對應的基音周期候選值確定為所述語音信號的基音周期。
15.根據(jù)權利要求14所述的方法,其特征在于,所述根據(jù)基音周期全局參考確定基音周期確定參考值的步驟具體為
判斷所確定的基音周期全局參考是否不為零,如果是,則將基音周期全局參考確定為基音周期確定參考值,否則,判斷上一個不為零的基音周期全局參考是否已失效,如果已失效,則將基音周期確定參考值確定為零,如果未失效,則將上一個不為零的基音周期全局參考確定為所述的基音周期確定參考值。
16.一種實現(xiàn)開環(huán)基音搜索的裝置,其特征在于,該裝置包括自相關函數(shù)計算單元、基音周期全局參考計算單元和基音周期確定單元,其中,
自相關函數(shù)計算單元,計算語音信號的自相關函數(shù),將自相關函數(shù)的計算結(jié)果輸出至基音周期全局參考計算單元;
基音周期全局參考計算單元,根據(jù)接收到的自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考,將所確定的當前的基音周期全局參考輸出至基音周期確定單元;
基音周期確定單元,根據(jù)接收到的當前的基音周期全局參考,確定語音信號的基音周期。
17.根據(jù)權利要求16所述的裝置,其特征在于,所述自相關函數(shù)計算單元,計算歸一化的自相關函數(shù),將歸一化自相關函數(shù)的計算結(jié)果輸出至基音周期全局參考計算單元;
所述基音周期全局參考計算單元,根據(jù)歸一化自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考。
18.根據(jù)權利要求16所述的裝置,其特征在于,所述基音周期全局參考計算單元,對接收到的自相關函數(shù)值中較大的多個自相關函數(shù)值進行加權處理,根據(jù)加權處理后的自相關函數(shù)值序列得到最佳基音周期候選值,根據(jù)最佳基音周期候選值確定當前的基音周期全局參考。
19.根據(jù)權利要求16或18所述的裝置,其特征在于,所述基音周期全局參考計算單元,對接收到的自相關函數(shù)值中較大的多個自相關函數(shù)值進行去除倍周期處理,根據(jù)去除倍周期處理后的自相關函數(shù)值序列得到最佳基音周期候選值,根據(jù)最佳基音周期候選值確定當前的基音周期全局參考。
全文摘要
本發(fā)明公開了一種實現(xiàn)開環(huán)基音搜索的方法和裝置。該裝置包括自相關函數(shù)計算單元、基音周期全局參考計算單元和基音周期確定單元。該方法包括計算語音信號的自相關函數(shù);根據(jù)自相關函數(shù)的計算結(jié)果確定當前的基音周期全局參考;根據(jù)當前的基音周期全局參考確定語音信號的基音周期。本發(fā)明降低了開環(huán)基音搜索過程中的算法運算復雜度和存儲開銷。
文檔編號G10L19/00GK101149924SQ20061013970
公開日2008年3月26日 申請日期2006年9月18日 優(yōu)先權日2006年9月18日
發(fā)明者胡瑞敏, 霖 劉, 楊玉紅, 勇 張, 王庭紅, 馬付偉 申請人:華為技術有限公司, 武漢大學