專利名稱:語音編碼器中搜尋語音訊號的編碼向量的搜尋系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種編碼向量(Code-vector)的搜尋系統(tǒng)及其方法,特別是涉及一種于一語音編碼器(Speech encoder)中搜尋一語音訊號(Speechsignal)的一標的編碼向量的搜尋系統(tǒng)及其方法。
背景技術(shù):
已知自適應(yīng)性多重速率(Adaptive multi-rate,AMR)數(shù)字語音編碼標準是由第三代移動通訊伙伴合作計劃(Third generation partnershipproject,3GPP)所訂定。根據(jù)AMR標準規(guī)格3GPP TS 26.090,總共有八種低位語音編碼模式,分別為12.2kbps、10.2kbps、7.95kbps、7.40kbps、6.70kbps、5.90kbps、5.15kbps、以及4.75kbps。AMR標準采用的核心技術(shù)為代數(shù)激式線性預(yù)測(Algebraic code-excited linear-prediction,ACELP)。
請參閱圖1,圖1為已知ACELP語音編碼器10的示意圖。ACELP語音編碼器10包含一前置處理器(Pre-processor)12、一線性預(yù)估分析器(Linear predict analyzer)14、一自適應(yīng)性碼本搜尋器(Adaptive codebooksearch)16以及一代數(shù)碼本搜尋器(Algebraic codebook search)18。前置處理器12包含一高頻濾波器20。首先,一語音訊號s(n)輸入前置處理器12,并藉由前置處理器12中的高頻濾波器20來濾掉語音訊號s(n)的直流成份。之后,語音訊號s(n)再經(jīng)過線性預(yù)估分析器14,產(chǎn)生一激發(fā)訊號(Excitation signal)x(n)。激發(fā)訊號x(n)可經(jīng)由一周期性激發(fā)訊號以及一代數(shù)碼激發(fā)訊號合成產(chǎn)生。激發(fā)訊號x(n)先經(jīng)過自適應(yīng)性碼本搜尋器16,得到周期性激發(fā)訊號,并且經(jīng)由代數(shù)碼本搜尋器18,產(chǎn)生代數(shù)碼激發(fā)訊號。
在ACELP語音編碼器10中,代數(shù)碼本搜尋器18用以尋找一較佳的編碼向量ck以及其增益值gc,使得合成的語音訊號與標的訊號(Target signalx2的均方誤差εk為最小。均方誤差εk可經(jīng)由下列公式一計算得出
公式一ϵk=|(x2-gcH→·c→k)|2,]]>其中,公式一中的ck代表位于代數(shù)碼本中第k個編碼向量。根據(jù)AMR標準規(guī)格3GPP TS 26.090,較佳的編碼向量可產(chǎn)生較大的決策分數(shù)(Decisionscore)Ak。決策分數(shù)(Decision score)Ak可經(jīng)由下列公式二計算得出公式二Ak=(Ck)2EDK=(d→t·c→k)2c→kt·Φ→·c→k,]]>其中,d=ht*x2為標的訊號x2與線性預(yù)估濾波器脈沖響應(yīng)h(n)的相關(guān)函數(shù)(Correlation function),且Φ=ht*h為脈沖響應(yīng)h(n)的自相關(guān)函數(shù)(Auto-correlation function)。
由于代數(shù)碼本搜尋器18占了整個ACELP語音編碼器10大部分的計算量,所以許多文獻皆提出有效率的編碼向量搜尋方法,致力于簡化代數(shù)碼本搜尋的計算復(fù)雜度(Computing complexity),并且提升語音質(zhì)量(Speechquality),例如美國專利5,701,392、美國專利6,714,907、Hochong Park,“Efficient Codebook Search Method for EVRC Speech Codec”.IEEESignel Processing Letters,vol.7,no.1,2000、Hochong Park,Younchang Choi and Doyoon Lee,“Efficient Codebook Search Methodfor ACELP Speech Codecs”,IEEE,2002、...等。評估代數(shù)碼本搜尋的效能指針(Performance measurement)包含計算復(fù)雜度與語音質(zhì)量。在計算復(fù)雜度方面,可依據(jù)處理器計算ACELP語音編碼器10所需的時間來評估。在語音質(zhì)量方面,可依據(jù)語音質(zhì)量聽覺評價(Perceptual evaluation ofspeech quality,PESQ)值來評估。PESQ是由國際通訊協(xié)會(ITU-T)于規(guī)格ITU-T P.862中所訂定。PESQ使用客觀性評量的聽覺模型估計主觀性評量的MOS(Mean opinion score)值。PESQ值的范圍介于-0.5至4.5之間,PESQ值越高,表示語音質(zhì)量越好。
3GPP所訂定的AMR標準,其采用的代數(shù)碼本搜尋方法為最深樹狀搜尋法(Depth-first tree search)。該方法詳細描述于AMR標準規(guī)格3GPP TS26.090與美國專利公5,701,392中。
請參閱圖2,圖2為根據(jù)AMR標準的12.2kbps模式中,一編碼向量的脈沖位置分布圖。代數(shù)碼本中每一個編碼向量分別定義40個脈沖位置(Pulse position)并且包含10個脈沖(Pulse),其中脈沖位置以n表示,n=0,1,...,39,脈沖以Pi表示,i=0,1,...,9。如圖2所示,10個脈沖平均分布于5個軌道(Tt,t=0,1,...,4)的40個位置中。因此,每一個脈沖可能出現(xiàn)在其相對應(yīng)軌道的8個位置上。以脈沖P0為例,P0可能出現(xiàn)在軌道T0的n=0,5,10,15,20,25,30,35等8個位置上。代數(shù)碼本搜尋方法即由40個位置中搜尋出10個脈沖,以構(gòu)成較佳的編碼向量ck,使得決策分數(shù)Ak較大,亦即合成語音訊號與標的訊號的均方誤差εk較小。
請參閱圖3,圖3為已知技術(shù)根據(jù)AMR標準的最深樹狀搜尋法的流程圖。以12.2kbps模式為例,根據(jù)AMR標準,最深樹狀搜尋法包含下列步驟步驟S100開始搜尋。
步驟S102經(jīng)由下列公式三,計算每個脈沖位置的命中函數(shù)(Hitfunction)b(n);公式三b(n)=resLTP(n)Σi=039resLTP(i)resLTP(i)+d(n)Σi=039d(i)d(i),]]>n=0,1,2,.....,39;其中,resLTP(n)為脈沖位置n的長時預(yù)測剩余(Long-term predictionresidual)訊號,d(n)為脈沖位置n的標的訊號x2(n)與線性預(yù)估濾波器脈沖響應(yīng)h(n)的相關(guān)函數(shù);步驟S104設(shè)定脈沖P0的脈沖位置于最大b(n)值的脈沖位置;步驟S106設(shè)定脈沖P1的脈沖位置于脈沖P0所在軌道以外的其它四個軌道中,具有最大b(n)值的脈沖位置;步驟S108于脈沖P1的次一軌道與次二軌道,依據(jù)決策分數(shù)Ak,搜尋脈沖P2與P3的脈沖位置,舉例來說,若P1在軌道T4,則次一軌道即為軌道T0且次二軌道即為軌道T1,以下步驟依此類推;步驟S110于脈沖P3的次一軌道與次二軌道,依據(jù)決策分數(shù)Ak,搜尋脈沖P4與P5;步驟S112于脈沖P5的次一軌道與次二軌道,依據(jù)決策分數(shù)Ak,搜尋脈沖P6與P7;步驟S114于脈沖P7的次一軌道與次二軌道,依據(jù)決策分數(shù)Ak,搜尋脈沖P8與P9;步驟S116檢查是否已達到一預(yù)定搜尋次數(shù),若是,則進行步驟S118,若否,則回到步驟S106;步驟S118依據(jù)所搜尋的每一組脈沖(P0,...,P9)所構(gòu)成的編碼向量的決策分數(shù),選擇最佳的10個脈沖位置以決定一標的編碼向量;步驟S120結(jié)束搜尋。
如上所述,若預(yù)定搜尋次數(shù)定為四次,則AMR最深樹狀搜尋法共需搜尋4*(8*8+8*8+8*8+8*8)=1024次,以決定編碼向量。
請參閱圖4,圖4為已知技術(shù)的脈沖取代搜尋法(Pulse replacementsearch)的流程圖。脈沖取代搜尋法配合最深樹狀搜尋法可以改善編碼音質(zhì)。脈沖取代搜尋法包含下列步驟步驟S200開始搜尋。
步驟S202經(jīng)由上述最深樹狀搜尋法取得一預(yù)選編碼向量,并計算預(yù)選編碼向量的決策分數(shù);步驟S204計算預(yù)選編碼向量中每一個脈沖位置的貢獻分數(shù)(Contribution score);步驟S206選取預(yù)選編碼向量中,貢獻分數(shù)最低的脈沖位置以及其軌道;步驟S208由該軌道其它脈沖位置中,選擇一候選脈沖位置以暫代最低貢獻分數(shù)的脈沖位置,該候選脈沖位置所構(gòu)成的一候選編碼向量相較于該軌道其它脈沖位置具有較高決策分數(shù);步驟S210確認是否該候選編碼向量的決策分數(shù)低于預(yù)選編碼向量,若是,則以目前預(yù)選編碼向量為標的編碼向量,并進行步驟S216,若否,則進行步驟S212;步驟S212以該候選脈沖位置取代最低貢獻分數(shù)的脈沖位置,更新候選編碼向量為預(yù)選編碼向量;步驟S214檢查脈沖位置的取代次數(shù)是否達到一預(yù)定取代次數(shù),若是則進行步驟S216,若否,則回到步驟S204;步驟S216結(jié)束搜尋。
請參閱圖5,圖5為已知技術(shù)的次代數(shù)碼本搜尋法(Sub-codebook search)的流程圖。根據(jù)美國專利6,714,907,次代數(shù)碼本搜尋法包含下列步驟步驟S300開始搜尋。
步驟S302經(jīng)由最深樹狀搜尋法取得第一個次代數(shù)碼本的最佳預(yù)選編碼向量,并計算預(yù)選編碼向量的決策分數(shù);步驟S304經(jīng)由最深樹狀搜尋法取得下一個次代數(shù)碼本的最佳候選編碼向量,并計算候選編碼向量的決策分數(shù);步驟S306比較預(yù)選編碼向量的決策分數(shù)與候選編碼向量的決策分數(shù),并選出最佳的決策分數(shù)以及編碼向量;步驟S308確認是否為最后的次代數(shù)編碼,若是,則進行步驟S310,若否,則回到步驟S304;步驟S310對最佳碼本的編碼向量進行上述的脈沖置換法搜尋,以決定最后的編碼向量;步驟S312結(jié)束搜尋。
如上所述,由于代數(shù)碼本搜尋占了整個ACELP語音編碼器大部分的計算量。以AMR 12.2kbps模式為例,代數(shù)碼本搜尋器使用最深樹狀搜尋法占ACELP語音編碼器整體語音編碼約40%的計算量,總共使用了1024次搜尋以確保編碼語音質(zhì)量。因此,最深樹狀搜尋法為確保語音質(zhì)量而使用多次的搜尋,造成過高的計算量。然而,其它已知技術(shù),如脈沖取代搜尋法與次代數(shù)碼本搜尋法,都是基于最深樹狀搜尋法,雖可得到較佳編碼語音質(zhì)量,卻必須付出更高計算復(fù)雜度的代價。
發(fā)明內(nèi)容
因此本發(fā)明的主要目的在于提供一種于一語音編碼器中搜尋一語音訊號的編碼向量的搜尋系統(tǒng)及其方法,以解決上述問題。
本發(fā)明的一目的在于提供一種搜尋系統(tǒng)及其方法,用來于一語音編碼器(Spccch encoder)中搜尋一語音訊號(Speech signat)的一標的編碼向量(Target code-vector),以降低計算復(fù)雜度并確保語音質(zhì)量。
本發(fā)明的搜尋方法用以于一語音編碼器中,搜尋一語音訊號的一標的編碼向量。該語音訊號包含多個編碼向量,所述編碼向量分別定義出多個脈沖位置(Pulse position)并且包含多個脈沖(Pulse),每一脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi),所述脈沖位置分布于多個軌道(Track)上。本發(fā)明的搜尋方法包含下列步驟(a)計算每一脈沖位置的一相對應(yīng)命中函數(shù)(Hit function);(b)根據(jù)每一軌道中的脈沖位置個數(shù)與脈沖個數(shù),決定每一軌道中的多組脈沖組合(Pulse combination);(c)根據(jù)每一脈沖位置的相對應(yīng)命中函數(shù),計算每一脈沖組合的一相對應(yīng)組合命中函數(shù)(Combination hit function);(d)根據(jù)每一脈沖組合的相對應(yīng)組合命中函數(shù)大小,依序排列每一軌道中的脈沖組合,選擇每一軌道中具有最大組合命中函數(shù)的脈沖組合,以作為一相對應(yīng)預(yù)選脈沖組合(Default pulse combination),并將其它脈沖組合依大小次序排列成一次序串行;(e)根據(jù)每一軌道中的預(yù)選脈沖組合,形成一預(yù)選編碼向量(Defaultcode-vector),并計算預(yù)選編碼向量的一決策分數(shù)(Decision score);(f)根據(jù)次序串行的順序,選擇次一脈沖組合為一候選脈沖組合(Candidate pulse combination),以暫時替代候選脈沖組合相對應(yīng)軌道的預(yù)選脈沖組合,而形成一候選編碼向量(Candidate code-vector),并計算候選編碼向量的一決策分數(shù);以及(g)根據(jù)候選編碼向量以及預(yù)選編碼向量的決策分數(shù),進行一編碼向量更新程序,以決定出標的編碼向量。
因此,根據(jù)本發(fā)明的編碼向量搜尋方法,不僅可減少搜尋較佳編碼向量的次數(shù),進而降低計算復(fù)雜度,并且可產(chǎn)生較大的決策分數(shù)以縮小原始語音訊號與編碼語音訊號的誤差,進而確保語音質(zhì)量。
關(guān)于本發(fā)明的優(yōu)點與精神可以藉由以下結(jié)合附圖對本發(fā)明的詳述得到進一步的了解。
圖1為已知ACELP語音編碼器的示意圖。
圖2為根據(jù)AMR標準的12.2kbps模式中,一編碼向量的脈沖位置分布圖。
圖3為已知技術(shù)根據(jù)AMR標準的最深樹狀搜尋法的流程圖。
圖4為已知技術(shù)的脈沖取代搜尋法的流程圖。
圖5為已知技術(shù)的次代數(shù)碼本搜尋法的流程圖。
圖6為根據(jù)最深樹狀搜尋法,于各軌道中,依各脈沖位置的命中函數(shù)值大小排列的脈沖出現(xiàn)機率分布圖。
圖7為本發(fā)明的編碼向量的搜尋系統(tǒng)示意圖。
圖8為圖7中的第七裝置示意圖。
圖9為各脈沖位置的命中函數(shù)示意圖。
圖10為根據(jù)本發(fā)明的第一實施例,所有脈沖組合及其組合命中函數(shù)的示意圖。
圖11(A)為根據(jù)本發(fā)明的第一實施例所決定的預(yù)選脈沖組合示意圖。
圖11(B)為根據(jù)本發(fā)明的第一實施例所決定的次序串行示意圖。
圖12為根據(jù)本發(fā)明的第二實施例,所有脈沖組合及其組合命中函數(shù)的示意圖。
圖13(A)為根據(jù)本發(fā)明的第二實施例所決定的預(yù)選脈沖組合示意圖。
圖13(B)為根據(jù)本發(fā)明的第二實施例所決定的次序串行示意圖。
圖14為本發(fā)明的編碼向量的搜尋方法流程圖。
圖15為比較本發(fā)明的第一實施例、第二實施例與AMR標準的代數(shù)碼本搜尋方法的比較表。
附圖符號說明10ACELP語音編碼 12前置處理器14線性預(yù)估分析器16自適應(yīng)性碼本搜尋器18代數(shù)碼本搜尋器20高頻濾波器s(n)語音訊號x(n)激發(fā)訊號30搜尋系統(tǒng) 32第一裝置34第二裝置 36第三裝置38第四裝置 40第五裝置42第六裝置 44第七裝置46第一模塊 48第二模塊50第三模塊具體實施方式
請參閱圖6,圖6為根據(jù)最深樹狀搜尋法,在各軌道中,依各脈沖位置的命中函數(shù)值大小排列的脈沖出現(xiàn)機率分布圖。在圖6中,實驗語音的長度共616個語音幀(Speech frame),亦即12.32秒,且每個軌道各出現(xiàn)4928個脈沖。如圖6所示,在各軌道中當脈沖位置的命中函數(shù)值越大,脈沖出現(xiàn)在此脈沖位置的機率也越大。以軌道T0為例,脈沖位置的命中函數(shù)值最大時,脈沖出現(xiàn)的機率也最大(41.6%)。其次,隨脈沖位置的命中函數(shù)值減少,脈沖出現(xiàn)的機率也遞減。因此,本發(fā)明是根據(jù)各脈沖位置的命中函數(shù),來決定各脈沖位置組合的組合命中函數(shù),預(yù)測較佳的脈沖組合序列,以降低搜尋時的計算復(fù)雜度。
請參閱圖7,圖7為本發(fā)明的編碼向量的搜尋系統(tǒng)30示意圖。本發(fā)明的搜尋系統(tǒng)30用以于一語音編碼器(Speech encoder)(圖7中未顯示)中,搜尋一語音訊號(Speech signal)的一標的編碼向量(Targetcode-vector)。該語音訊號包含多個編碼向量,所述編碼向量分別定義出多個脈沖位置(Pulse position)并且包含多個脈沖(Pulse),每一脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi),所述脈沖位置分布于多個軌道(Track)上。搜尋系統(tǒng)30包含一第一裝置(Device)32、一第二裝置34、一第三裝置36、一第四裝置38、一第五裝置40、一第六裝置42以及一第七裝置44。
第一裝置32可以是一處理器(Processor)或一計算器(Calculator),主要是設(shè)計為用以計算每一脈沖位置的一相對應(yīng)命中函數(shù)(Hit function)。第二裝置34可以是一處理器或一控制器(Controller),主要是設(shè)計為根據(jù)每一軌道中的脈沖位置個數(shù)與脈沖個數(shù),用以決定每一軌道中的多組脈沖組合(Pulse combination)。第三裝置36可以是一處理器或一計算器,主要是設(shè)計為根據(jù)每一脈沖位置的相對應(yīng)命中函數(shù),用以計算每一脈沖組合的一相對應(yīng)組合命中函數(shù)(Combination hit function)。第四裝置38可以是一處理器或一控制器,主要是設(shè)計為根據(jù)每一所述脈沖組合的該相對應(yīng)組合命中函數(shù)大小,用以依序排列每一所述軌道中的所述脈沖組合,選擇每一所述軌道中具有最大組合命中函數(shù)的脈沖組合,以作為一相對應(yīng)預(yù)選脈沖組合(Default pulse combination),并將其它脈沖組合依大小次序排列成一次序串行。第五裝置40可以是一處理器或一計算器,主要是設(shè)計為根據(jù)每一軌道中的預(yù)選脈沖組合,用以形成一預(yù)選編碼向量(Defaultcode-vector),并計算預(yù)選編碼向量的一決策分數(shù)(Decision score)。第六裝置42可以是一處理器或一計算器,主要是設(shè)計為選擇次一脈沖組合為一候選脈沖組合(Candidate pulse combination),以暫時替代候選脈沖組合相對應(yīng)軌道的預(yù)選脈沖組合,而形成一候選編碼向量(Candidatecode-vector),并計算候選編碼向量的一決策分數(shù)。第七裝置44可以是一處理器或一控制器,主要是設(shè)計為根據(jù)候選編碼向量以及預(yù)選編碼向量的決策分數(shù),用以決定出標的編碼向量。
請參閱圖8,圖8為圖7中的第七裝置44示意圖。第七裝置44進一步包含一第一模塊(Module)46、一第二模塊48以及一第三模塊50。第一模塊46可以是一處理器或一控制器,主要是設(shè)計為用以判斷候選編碼向量的決策分數(shù)是否低于預(yù)選編碼向量的決策分數(shù)。第二模塊48可以是一處理器或一控制器,主要是設(shè)計為用以更新候選編碼向量為預(yù)選編碼向量。第三模塊50可以是一處理器或一控制器,主要是設(shè)計為用以檢查目前搜尋結(jié)果是否符合一預(yù)定搜尋條件。當目前搜尋結(jié)果符合預(yù)定搜尋條件時,搜尋系統(tǒng)30即以目前的預(yù)選編碼向量為標的編碼向量,并完成搜尋。
請參閱圖9、圖10、圖11(A)以及圖11(B),圖9為各脈沖位置的命中函數(shù)示意圖。圖10為根據(jù)本發(fā)明的第一實施例,所有脈沖組合及其組合命中函數(shù)的示意圖。圖11(A)為根據(jù)本發(fā)明的第一實施例所決定的預(yù)選脈沖組合示意圖。圖11(B)為根據(jù)本發(fā)明的第一實施例所決定的次序串行示意圖。于本發(fā)明的第一實施例中,組合命中函數(shù)系相對應(yīng)的脈沖組合中,每一脈沖位置的相對應(yīng)命中函數(shù)的總和。
根據(jù)本發(fā)明的第一實施例,以AMR 12.2kbps模式為例,脈沖位置分布系如圖2所示。根據(jù)上述本發(fā)明的編碼向量搜尋系統(tǒng)30,當語音編碼器接收一語音訊號時,搜尋系統(tǒng)30會開始搜尋該語音訊號的編碼向量。以下將以一個標的編碼向量的搜尋過程配合圖7以及圖8做說明。
第一裝置32先計算該編碼向量中每個脈沖位置的命中函數(shù)b(n),如圖9所示。第二裝置34根據(jù)各軌道的脈沖位置與脈沖個數(shù),決定所有軌道的脈沖組合。于AMR 12.2Kbps模式下,每個軌道皆具有兩個脈沖在八個可能脈沖位置上(可重復(fù)),因此每個軌道的脈沖位置組合共有C2(8+1)=36]]>種可能。例如,在軌道T0上,脈沖組合可能為脈沖位置組合(0,0)、(0,5)、(0,10)、(0,15)、(0,20)、(0,25)、...、(35,35)。第三裝置36根據(jù)每一脈沖位置的相對應(yīng)命中函數(shù),計算每一脈沖組合的一相對應(yīng)組合命中函數(shù)。舉例來說,脈沖組合(n1,n2)的組合命中函數(shù)值定義為其兩個位置的命中函數(shù)值相加,即b(n1)+b(n2)。如圖10所示,各脈沖組合的命中函數(shù)值標示于各脈沖組合的下方。以脈沖組合(0,0)為例,其組合命中函數(shù)值為b(0)+b(0)=8476。接著,當?shù)谒难b置38根據(jù)各脈沖組合的組合命中函數(shù),依序排列每一軌道中的脈沖組合時,各軌道中最大組合命中函數(shù)的脈沖組合分別為軌道T0的(25,25)、軌道T1的(1,1)、軌道T2的(7,7)、軌道T3的(33,33)以及軌道T4的(19,19)。上述五個脈沖組合即為預(yù)選脈沖組合,如圖11(A)所示。在此實施例中,其它脈沖組合依組合命中函數(shù)大小,排成一次序串行,該次序串行依序為(1,16)、(25,30)、(16,16)、...、(18,28)、(18,18),如圖11(B)所示。第五裝置40以預(yù)選脈沖組合構(gòu)成預(yù)選編碼向量(1,1,7,7,19,19,25,25,33,33),并計算預(yù)選編碼向量的決策分數(shù)AD。根據(jù)上述的次序串行,第六裝置42會選擇下一組脈沖組合(1,16)為候選脈沖組合,以暫代其對應(yīng)軌道T1的預(yù)選脈沖組合(1,1),而構(gòu)成候選編碼向量(1,7,7,16,19,19,25,25,33,33),并計算候選編碼向量的決策分數(shù)AC。接著,第七裝置44中的第一模塊46會確認候選編碼向量的決策分數(shù)AC是否低于預(yù)選編碼向量的決策分數(shù)AD,若是,表示候選脈沖組合(1,16)無法取代預(yù)選脈沖組合(1,1)以改善語音音質(zhì);若候選編碼向量的決策分數(shù)AC不低于預(yù)選編碼向量的決策分數(shù)AD,則第七裝置44中的第二模塊48會以候選脈沖組合(1,16)取代預(yù)選脈沖組合(1,1),更新預(yù)選編碼向量為(1,7,7,16,19,19,25,25,33,33)及更新決策分數(shù)AD為AC。最后,第七裝置44中的第三模塊50會檢查目前搜尋結(jié)果是否符合一預(yù)定搜尋條件,若是,則以目前的預(yù)選編碼向量為標的編碼向量,并完成搜尋。
在此實施例中,如圖11(B)所示,若搜尋至最后一組脈沖組合(18,18),則停止搜尋,并取得較佳決策分數(shù)的編碼向量。值得注意的是,雖然本實施例的預(yù)定搜尋條件為搜尋至次序串行中的最后一個脈沖組合為止,但為了降低搜尋時間,可減少搜尋部分脈沖組合。由圖6的實驗結(jié)果可以看出,當一脈沖位置的命中函數(shù)值太低時,脈沖出現(xiàn)于該脈沖位置的機率也很低。因此,在排序次序串行時,可只包含組合命中函數(shù)值較高的脈沖組合,以節(jié)省搜尋時間。換句話說,本發(fā)明可進一步設(shè)定一閾值(Threshold),若一脈沖組合的組合命中函數(shù)低于該閾值,則將該脈沖組合排除于次序串行。本發(fā)明亦可設(shè)定次序串行包含一預(yù)定數(shù)量的脈沖組合。例如,脈沖組合的組合命中函數(shù)低于閾值=5000,則不參與排序。又例如,次序串行僅包含35個脈沖組合,組合命中函數(shù)值較低的脈沖組合就不會列入次序串行。此外,預(yù)定搜尋條件可為一預(yù)定搜尋次數(shù)或一預(yù)定搜尋時間。
請參閱圖12、圖13(A)以及圖13(B),圖12為根據(jù)本發(fā)明的第二實施例,所有脈沖組合及其組合命中函數(shù)的示意圖。圖13(A)為根據(jù)本發(fā)明的第二實施例所決定的預(yù)選脈沖組合示意圖。圖13(B)為根據(jù)本發(fā)明的第二實施例所決定的次序串行示意圖。在本發(fā)明的第二實施例中,組合命中函數(shù)是相對應(yīng)的脈沖組合中,根據(jù)每一脈沖位置的相對應(yīng)命中函數(shù)大小所決定的次序組合。
根據(jù)本發(fā)明的第二實施例,以AMR 12.2kbps模式為例,脈沖位置分布系如圖2所示。第二實施例與第一實施例的主要差異在于組合命中函數(shù)的定義不同。在第一實施例中,脈沖組合的組合命中函數(shù)定義為其兩個位置的命中函數(shù)值相加。在此實施例中,脈沖組合的組合命中函數(shù)則為其兩個位置的命中函數(shù)值在該軌道中,所有命中函數(shù)值的次序組合。亦即,脈沖組合(n1,n2)的組合命中函數(shù)為8*0(b(n1))+0(b(n2)),其中0(b(n1))為表示脈沖位置n1于該軌道命中函數(shù)值的次序,b(n1)>=b(n2)。在此實施例中,命中函數(shù)值b(n1)或b(n2)越大,組合命中函數(shù)值越小,次序越先。如圖12所示,在軌道T0上,脈沖組合依序為(25,25)、(25,30)、(0,25)、...、(5,5)等,其中脈沖組合(25,25)的組合命中函數(shù)值為0、脈沖組合(25,30)的組合命中函數(shù)值為1,依此類推。因此,當?shù)谒难b置38根據(jù)各脈沖組合的組合命中函數(shù),依序排列每一軌道中的脈沖組合時,各軌道中最先位置命中函數(shù)的脈沖組合分別為軌道T0的(25,25)、軌道T1的(1,1)、軌道T2的(7,7)、軌道T3的(33,33)、以及軌道T4的(19,19)。上述五個脈沖組合即為預(yù)選脈沖組合,如圖13(A)所示。在此實施例中,其它脈沖組合依軌道位置依序排成一次序串行,如圖13(B)所示,該次序串行依序為(25,30)、(1,16)、(7,22)、(33,23)、(19,24)、(25,0)、(1,31)、(7,2)、...、(1,10)、(7,27)、(33,18)、(19,14)。值得注意的是,其它脈沖組合因命中函數(shù)值太低而不列入次序串行,以降低搜尋時間。相較于第一實施例,第二實施例因脈沖組合的組合命中函數(shù)定義不同,而有不同的次序串行。
請參閱圖14,圖14為本發(fā)明的編碼向量的搜尋方法流程圖。本發(fā)明亦提供一種搜尋方法,用以于一語音編碼器(Speech encoder)中,搜尋一語音訊號(Speech signal)的一標的編碼向量(Target code-vector)。該語音訊號包含多個編碼向量,所述編碼向量分別定義出多個脈沖位置(Pulseposition)并且包含多個脈沖(Pulse),每一脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi),所述脈沖位置分布于多個軌道(Track)上。本發(fā)明的搜尋方法包含下列步驟
步驟S400計算每一脈沖位置的一相對應(yīng)命中函數(shù)(Hit function);步驟S402根據(jù)每一軌道中的脈沖位置個數(shù)與脈沖個數(shù),決定每一軌道中的多組脈沖組合(Pulse combination);步驟S404根據(jù)每一脈沖位置的相對應(yīng)命中函數(shù),計算每一脈沖組合的一相對應(yīng)組合命中函數(shù)(Combination hit function);步驟S406根據(jù)每一脈沖組合的相對應(yīng)組合命中函數(shù)大小,依序排列每一軌道中的脈沖組合,選擇每一軌道中具有最大組合命中函數(shù)的脈沖組合,以作為一相對應(yīng)預(yù)選脈沖組合(Default pulse combination),并將其它脈沖組合依大小次序排列成一次序串行;步驟S408根據(jù)每一軌道中的預(yù)選脈沖組合,形成一預(yù)選編碼向量(Default code-vector),并計算預(yù)選編碼向量的一決策分數(shù)(Decisionscore);步驟S410根據(jù)次序串行的順序,選擇次一脈沖組合為一候選脈沖組合(Candidate pulse combination),以暫時替代候選脈沖組合相對應(yīng)軌道的預(yù)選脈沖組合,而形成一候選編碼向量(Candidate code-vector),并計算候選編碼向量的一決策分數(shù);以及步驟S412判斷候選編碼向量的決策分數(shù)是否低于預(yù)選編碼向量的決策分數(shù),若是,則進行步驟S416,若否,則進行步驟S414;步驟S414以候選脈沖組合取代候選脈沖組合相對應(yīng)軌道的預(yù)選脈沖組合,更新候選編碼向量為預(yù)選編碼向量;步驟S416檢查目前搜尋結(jié)果是否符合一預(yù)定搜尋條件,若是,則進行步驟S418,若否,則回到步驟S410;步驟S418以目前的預(yù)選編碼向量為標的編碼向量,并完成搜尋。
請參閱圖15,圖15為比較本發(fā)明的第一實施例、第二實施例與AMR標準的代數(shù)碼本搜尋方法的比較表。AMR標準搜尋1024次,第一實施例與第二實施例各搜尋脈沖組合35次。由實驗結(jié)果得知,原測試語音長度為12.32秒,AMR標準使用5.55秒編碼時間,本發(fā)明的第一實施例使用4.57秒編碼時間,本發(fā)明的第二實施例使用4.35秒編碼時間,因此本發(fā)明的第一實施例與第二實施例較AMR標準降低17.1%與22.7%的語音編碼執(zhí)行時間。而語音質(zhì)量PESQ值僅略為下降0.091與0.089,人耳并不易區(qū)分出差異。因此,本發(fā)明使用脈沖組合取代技術(shù),在兼顧語音質(zhì)量的前提下,有效地降低計算復(fù)雜度。
相較于已知技術(shù),根據(jù)上述的實驗結(jié)果,本發(fā)明不僅可減少搜尋較佳編碼向量的次數(shù),進而降低計算復(fù)雜度,并且可產(chǎn)生較大的決策分數(shù)以縮小原始語音訊號與編碼語音訊號的誤差,進而確保語音質(zhì)量。
藉由以上較佳具體實施例的詳述,是希望能更加清楚描述本發(fā)明的特征與精神,而并非以上述所披露的較佳具體實施例來對本發(fā)明的范疇加以限制。相反地,其目的是希望能涵蓋各種改變及相等性的安排于本發(fā)明的權(quán)利要求的范疇內(nèi)。
權(quán)利要求
1.一種搜尋方法,用來于一語音編碼器中搜尋一語音訊號的一標的編碼向量,該語音訊號包含多個編碼向量,所述編碼向量分別定義出多個脈沖位置并且包含多個脈沖,每一所述脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi),所述脈沖位置分布于多個軌道上,該搜尋方法包含下列步驟(a)計算每一所述脈沖位置的一相對應(yīng)命中函數(shù);(b)根據(jù)每一所述軌道中的脈沖位置個數(shù)與脈沖個數(shù),決定每一所述軌道中的多組脈沖組合;(c)根據(jù)每一所述脈沖位置的該相對應(yīng)命中函數(shù),計算每一所述脈沖組合的一相對應(yīng)組合命中函數(shù);(d)根據(jù)每一所述脈沖組合的該相對應(yīng)組合命中函數(shù)大小,依序排列每一所述軌道中的所述脈沖組合,選擇每一所述軌道中具有最大組合命中函數(shù)的脈沖組合,以作為一相對應(yīng)預(yù)選脈沖組合,并將其它脈沖組合依大小次序排列成一次序串行;(e)根據(jù)每一所述軌道中的該預(yù)選脈沖組合,形成一預(yù)選編碼向量,并計算該預(yù)選編碼向量的一決策分數(shù);(f)根據(jù)該次序串行的順序,選擇次一脈沖組合為一候選脈沖組合,以暫時替代該候選脈沖組合相對應(yīng)軌道的該預(yù)選脈沖組合,而形成一候選編碼向量,并計算該候選編碼向量的一決策分數(shù);以及(g)根據(jù)該候選編碼向量以及該預(yù)選編碼向量的決策分數(shù),進行一編碼向量更新程序,以決定出該標的編碼向量。
2.如權(quán)利要求1所述的搜尋方法,其中該編碼向量更新程序進一步包含下列步驟(g1)判斷該候選編碼向量的該決策分數(shù)是否低于該預(yù)選編碼向量的該決策分數(shù),若是,則進行步驟(g3),若否,則進行步驟(g2);(g2)以該候選脈沖組合取代該候選脈沖組合相對應(yīng)軌道的該預(yù)選脈沖組合,更新該候選編碼向量為該預(yù)選編碼向量;以及(g3)檢查目前搜尋結(jié)果是否符合一預(yù)定搜尋條件,若是,則以目前的該預(yù)選編碼向量為該標的編碼向量,并完成搜尋。
3.如權(quán)利要求1所述的搜尋方法,其中該組合命中函數(shù)相對應(yīng)的該脈沖組合中,每一所述脈沖位置的該相對應(yīng)命中函數(shù)的總和。
4.如權(quán)利要求1所述的搜尋方法,其中該組合命中函數(shù)相對應(yīng)的該脈沖組合中,根據(jù)每一所述脈沖位置的該相對應(yīng)命中函數(shù)大小所決定的次序組合。
5.如權(quán)利要求1所述的搜尋方法,其中該方法進一步設(shè)定一閾值,若一脈沖組合的該組合命中函數(shù)低于該閾值,則將該脈沖組合排除于該次序串行。
6.如權(quán)利要求1所述的搜尋方法,其中該次序串行包含一預(yù)定數(shù)量的脈沖組合。
7.如權(quán)利要求2所述的搜尋方法,其中該預(yù)定搜尋條件是一預(yù)定搜尋次數(shù)。
8.如權(quán)利要求2所述的搜尋方法,其中該預(yù)定搜尋條件是一預(yù)定搜尋時間。
9.一種搜尋系統(tǒng),用來在一語音編碼器中搜尋一語音訊號的一標的編碼向量,該語音訊號包含多個編碼向量,所述編碼向量分別定義出多個脈沖位置并且包含多個脈沖,每一所述脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi),所述脈沖位置分布于多個軌道上,該搜尋系統(tǒng)包含一第一裝置,該第一裝置用以計算每一所述脈沖位置的一相對應(yīng)命中函數(shù);一第二裝置,該第二裝置根據(jù)每一所述軌道中的脈沖位置個數(shù)與脈沖個數(shù),用以決定每一所述軌道中的多組脈沖組合;一第三裝置,該第三裝置根據(jù)每一所述脈沖位置的該相對應(yīng)命中函數(shù),用以計算每一所述脈沖組合的一相對應(yīng)組合命中函數(shù);一第四裝置,該第四裝置根據(jù)每一所述脈沖組合的該相對應(yīng)組合命中函數(shù)大小,用以依序排列每一所述軌道中的所述脈沖組合,選擇每一所述軌道中具有最大組合命中函數(shù)的脈沖組合,以作為一相對應(yīng)預(yù)選脈沖組合,并將其它脈沖組合依大小次序排列成一次序串行;一第五裝置,該第五裝置根據(jù)每一所述軌道中的該預(yù)選脈沖組合,用以形成一預(yù)選編碼向量,并計算該預(yù)選編碼向量的一決策分數(shù);一第六裝置,該第六裝置根據(jù)該次序串行的順序,用以選擇次一脈沖組合為一候選脈沖組合,以暫時替代該候選脈沖組合相對應(yīng)軌道的該預(yù)選脈沖組合,而形成一候選編碼向量,并計算該候選編碼向量的一決策分數(shù);以及一第七裝置,該第七裝置根據(jù)該候選編碼向量以及該預(yù)選編碼向量的決策分數(shù),用以決定出該標的編碼向量。
10.如權(quán)利要求9所述的搜尋系統(tǒng),其中該第七裝置進一步包含一第一模塊,該第一模塊用以判斷該候選編碼向量的該決策分數(shù)是否低于該預(yù)選編碼向量的該決策分數(shù);一第二模塊,該第二模塊用以更新該候選編碼向量為該預(yù)選編碼向量;以及一第三模塊,該第三模塊用以檢查目前搜尋結(jié)果是否符合一預(yù)定搜尋條件;其中,當目前搜尋結(jié)果符合該預(yù)定搜尋條件時,該搜尋系統(tǒng)即以目前的該預(yù)選編碼向量為該標的編碼向量,并完成搜尋。
11.如權(quán)利要求9所述的搜尋系統(tǒng),其中該組合命中函數(shù)是相對應(yīng)的該脈沖組合中,每一所述脈沖位置的該相對應(yīng)命中函數(shù)的總和。
12.如權(quán)利要求9所述的搜尋系統(tǒng),其中該組合命中函數(shù)是相對應(yīng)的該脈沖組合中,根據(jù)每一所述脈沖位置的該相對應(yīng)命中函數(shù)大小所決定的次序組合。
13.如權(quán)利要求9所述的搜尋系統(tǒng),其中于該系統(tǒng)中設(shè)定有一閾值,若一脈沖組合的該組合命中函數(shù)低于該閾值,則將該脈沖組合排除于該次序串行。
14.如權(quán)利要求9所述的搜尋系統(tǒng),其中該次序串行包含一預(yù)定數(shù)量的脈沖組合。
15.如權(quán)利要求10所述的搜尋系統(tǒng),其中該預(yù)定搜尋條件是一預(yù)定搜尋次數(shù)。
16.如權(quán)利要求10所述的搜尋系統(tǒng),其中該預(yù)定搜尋條件是一預(yù)定搜尋時間。
全文摘要
本發(fā)明提供一種搜尋方法,用以于一語音編碼器中,搜尋一語音訊號的一標的編碼向量。標的編碼向量定義出多個脈沖位置并且包含多個脈沖,每一脈沖可分配在位于該編碼向量的所述脈沖位置內(nèi)。所述脈沖位置分布于多個軌道上。搜尋方法包含下列步驟計算每一脈沖位置的一命中函數(shù);決定每一軌道中的多組脈沖組合;計算每一脈沖組合的一組合命中函數(shù);選擇每一軌道中具有最大組合命中函數(shù)的脈沖組合,以形成一預(yù)選編碼向量;形成一候選編碼向量;根據(jù)候選編碼向量以及預(yù)選編碼向量,進行一編碼向量更新程序,以決定出標的編碼向量。
文檔編號G10L19/12GK1811917SQ200510005828
公開日2006年8月2日 申請日期2005年1月27日 優(yōu)先權(quán)日2005年1月27日
發(fā)明者李升龍, 蔡憲明 申請人:廣達電腦股份有限公司