專利名稱:獲取語音基本周期及編碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種語音編碼方法,特別是一種獲取語音基本周期及其編碼的方法。
因此,在電子產(chǎn)品的語音資料合成與壓縮等領(lǐng)域中,如何能抓住音調(diào)(基本周期)的本質(zhì),成為語音數(shù)據(jù)合成與壓縮的研究重點(diǎn),亦即,如何能掌握音調(diào)的改變。不過,由于語音本身為一種模擬信號(hào),在數(shù)字產(chǎn)品中如何能將語音的模擬信號(hào)數(shù)字化,并用最少的內(nèi)存空間來儲(chǔ)存,更成為工程師們研究的重點(diǎn)。通過取樣(sampling)將語音的模擬信號(hào)取樣為可數(shù)據(jù)化的數(shù)據(jù),再經(jīng)過分析處理,得到語音編碼的參數(shù),即可將語音數(shù)據(jù)數(shù)字化,而基本周期正是其中一項(xiàng)參數(shù)。
另外,為了要讓此數(shù)據(jù)化的語音數(shù)據(jù)能在信息處理設(shè)備間相互進(jìn)行數(shù)據(jù)的傳送,或在儲(chǔ)存時(shí)用較少的內(nèi)存空間,就必須將此語音數(shù)據(jù)進(jìn)行位編碼,即將每個(gè)語音參數(shù)以較少的位數(shù)來表示。不過,不論是做語音數(shù)據(jù)的編碼或壓縮,語音數(shù)據(jù)的基本周期都會(huì)有一個(gè)計(jì)算上的問題。即在計(jì)算時(shí),必須避免算出兩倍的基本周期,或1/2基本周期,以免影響譯碼或解壓縮后語音數(shù)據(jù)的品質(zhì)。
現(xiàn)有的技術(shù),對于語音數(shù)據(jù)的基本周期的獲取包括特別針對兩倍或1/2基本周期做校正的動(dòng)作,如果在線(on-line)進(jìn)行實(shí)時(shí)編碼操作,會(huì)有運(yùn)算量上的限制。另外,在計(jì)算基本周期時(shí),通常是取各段語音幀(frame)作分析,這些語音幀彼此是連續(xù)的語音段,并無重疊。
依據(jù)本發(fā)明所揭露的技術(shù),本發(fā)明提供一種獲取語音基本周期及編碼的方法,至少包下列步驟首先將語音信號(hào)通過一個(gè)低通濾波器(Low PassFilter),濾掉高頻信號(hào);其次將語音分為多個(gè)幀,利用AMDF(AbsoluteMagnitude Difference Function,絕對值差方函數(shù))對每個(gè)幀計(jì)算出一個(gè)語音的單位基本周期,每個(gè)幀的劃分,是在前一個(gè)單位基本周期計(jì)算出來后,平移單位基本周期長度而得,接著利用向前(Forward)追蹤方式修正兩倍、或1/2平均基本周期,即可得出一個(gè)準(zhǔn)確的單位基本周期;再將所得到的單位基本周期序列,以每個(gè)幀為單位,在一個(gè)幀長度內(nèi)的所有單位基本周期取一最佳值或平均值,而得到基本周期;之后只要將此準(zhǔn)確的基本周期進(jìn)行位編碼即可,編碼可按六位的方式進(jìn)行。
有關(guān)本發(fā)明的特征與實(shí)例附圖和最佳實(shí)施例詳細(xì)說明如下。
圖1為本發(fā)明獲取語音基本周期及編碼的方法流程圖;圖2為本發(fā)明單位基本周期的獲取方法示意圖;圖3為本發(fā)明的向前追蹤二倍、1/2倍基本周期的流程圖;圖4為本發(fā)明基本周期編碼示意圖;圖5為本發(fā)明基本周期Ti編獲取的流程圖;圖6為本發(fā)明具體實(shí)施例中的波形示意圖;圖7為圖6的波形經(jīng)一低通濾波器的前一千個(gè)取樣波形;圖8為本發(fā)明具體實(shí)施例中的基本周期獲取及向前追蹤的結(jié)果。
其次,先將經(jīng)取樣的語音分割成各段幀(步驟115),每一幀長度為M(以取樣頻率每秒8千次為例,約180個(gè)取樣點(diǎn));接著,計(jì)算每一個(gè)幀當(dāng)中的基本周期步驟120,在此,稱之為單位基本周期??衫肁MDF來找出每個(gè)幀中的單位基本周期(以下以Pi表示),其方程序如下AMDFi(k)=Σn=0M-1|x′(n)-x′(n-k)|]]>其中,M為語音幀長度,而i則為幀數(shù),亦即,某個(gè)計(jì)算中的幀,x’為第i個(gè)幀的語音數(shù)據(jù)。
其中,每個(gè)Pi即為使AMDF(k)為最小值的k值Pi=kof(mink(AMDF(k)))]]>如上所述,在取樣頻率為每秒8千次的狀況下,k值通常為20,21,…160等。
每一個(gè)幀都可以上述的計(jì)算方法計(jì)算出一個(gè)單位基本周期,然而,為了要能更準(zhǔn)確的計(jì)算出單位基本周期,使其變化較平緩且更具連續(xù)性,并有助于向前追蹤修正(步驟120),本發(fā)明在計(jì)算下一個(gè)單位基本周期時(shí),以逐步平移的方式來擷取下一個(gè)語音幀(步驟115)。其做法為,從第一個(gè)幀計(jì)算完單位基本周期后,下一個(gè)單位基本周期的幀獲取范圍,是將上一個(gè)幀向右平移Pi取樣點(diǎn)后所得,如圖2所示,其幀重疊了M-Pi個(gè)取樣點(diǎn)。通過每一次平移,即可得到單位基本周期P1,P2,…,Pn。將第一個(gè)幀(平移長度<=幀長度M)之內(nèi)所有的單位基本周期進(jìn)行平均即可得第一個(gè)幀的平均基本周期,設(shè)此值為P0。
每計(jì)算出一個(gè)單位基本周期后,即進(jìn)行向前追蹤(Forward Tracking)修正兩倍、或1/2倍基本周期(步驟130),來進(jìn)行確認(rèn)基本周期值的工作,其具體流程請參考圖3,步驟如下計(jì)算第一個(gè)幀的平均基本周期P0(步驟310);判斷是否為兩倍基本周期(步驟320);調(diào)整單位基本周期(步驟330);判斷是否為1/2基本周期(步驟340);調(diào)整單位基本周期(步驟350);是否為最后一個(gè)幀(步驟360);以及,下一個(gè)單位基本周期(步驟365)。
首先,先計(jì)算前幾個(gè)基本周期(第一個(gè)幀;基本周期長度的總和<幀長度)的基本周期平均值,設(shè)此平均值為P0(步驟310),此P0是平均基本周期的概略值,當(dāng)作向前追蹤的初值,若已知語音的平均基本周期概略范圍,則可將P0設(shè)成一個(gè)常數(shù)。接著,在步驟320與330當(dāng)中,從第1個(gè)單元基本周期P1開始,如果這個(gè)單位基本周期約等于上一個(gè)基本周期的兩倍,亦即,如果Pi>Pi-1*2-10(10是一經(jīng)驗(yàn)值)(步驟330),則依照下列算式調(diào)整單位基本周期Pi=k of min(AMDF(k),k=Pi/2-3~Pi/2+3)。其中,3是一經(jīng)驗(yàn)值。
接著,在步驟340與350當(dāng)中,如果這個(gè)單位基本周期約等于上一個(gè)單位基本周期的1/2,亦即,如果Pi<Pi-1/2+5(5是一經(jīng)驗(yàn)值)(步驟340),則依照下列算式調(diào)整單位基本周期Pi=k of min(AMDF(k),k=Pi*2-3~Pi*2+3)(步驟350)。其中,3是一經(jīng)驗(yàn)值。
接著,判斷是否為最后一個(gè)幀(步驟360),若是即可停止;如果不是,再繼續(xù)進(jìn)行下一個(gè)單位基本周期(步驟365)的向前追蹤。
由以上的向前追蹤,每個(gè)單位基本周期都以相同的方式做修正,然后回到步驟115,每個(gè)幀的擷取原則都與第2圖所示相同,以上一個(gè)向前追蹤修正后的單位基本周期,做為擷取下一個(gè)幀的平移長度,最后再做基本周期的擷取工作。
在圖1的步驟140當(dāng)中,由于已進(jìn)行過基本周期的修正過程,接著,即可擷取欲編碼的基本周期。請參考圖4,基本周期的編碼通常取一個(gè)固定長度(M)的幀(以取樣頻率每秒8千次為例,可取幀長度為20~25ms,亦即,160~200個(gè)取樣點(diǎn))為單位,即在每隔一個(gè)幀取一個(gè)基本周期值編碼,因?yàn)榉治龅恼Z音幀是每次位移一個(gè)單位基本周期,所以,在位移一個(gè)幀中,可有好幾個(gè)單位基本周期(Pi),此時(shí)每隔一個(gè)幀取一次的基本周期(Tj)即是從這幾個(gè)基本周期中擷取出來,并進(jìn)行編碼。其中,Tj可由下列步驟得出,請參考圖51、令N=0,i=1,j=1,k=0(步驟510)2、令N=N+Pi,k=k+1(步驟520)3、如果N>M,(步驟530)則計(jì)算Tj(步驟540)且令N=N-M,j=j(luò)+1,k=0(步驟550)其中Tj算法如下如口果k<=2,Tj=1kΣl=i-k+1iPl]]>如果k>2,Tj=Pi,當(dāng)Pi-1k-1Σl=i-k+1iPl|l≠d]]>有最小值,其中Pd=Pi,當(dāng)Pi-1kΣl=i-k+1iPl]]>有最大值4、令i=i+1(步驟560)5、如果i<n(全部單位基本周期數(shù))(步驟570)則回到2(步驟520)6、結(jié)束最后,進(jìn)入步驟150,編碼(Encoding)。如上所述,以取樣頻率為每秒8千次為例,基本周期值約在20~160取樣點(diǎn)之間,因此,可將基本周期以6bits進(jìn)行編碼。亦即,基本周期[64]={0,20,22,24,26,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,52,54,56,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,92,96,100,104,108,112,116,120,124,128,132,136,140,144,148,152,156,160};其中,0為保留的值。
圖6至圖8是語音/e/通過本發(fā)明所揭露的方法所獲得的處理結(jié)果,由此說明本發(fā)明的具體運(yùn)作。圖6是語音/e/的前1000個(gè)取樣波形,圖7是語音/e/經(jīng)過低通濾波后的前1000取樣波形,圖8為初步算出的單位基本周期值(o),與經(jīng)過向前追蹤修正后的單位基本周期值(x)及最后擷取出欲編碼的基本周期(□)(fundamental period)比較。
依據(jù)本發(fā)明所提供的技術(shù),本發(fā)明的語音基本周期參數(shù)獲取及編碼的方法,以脫機(jī)方式計(jì)算出語音的基本周期,因而無運(yùn)算量的限制,并以幀重疊方式,可準(zhǔn)確算出基本周期,有效避免兩倍、或1/2基本周期的問題,應(yīng)用在語音編碼或壓縮上可對提高語音譯碼或解壓縮后的品質(zhì)助益甚多。
雖然本發(fā)明通過前述的較佳實(shí)施例揭露如上,然其并非用以限定本發(fā)明,本行業(yè)的普通技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),可進(jìn)行各種輕易思及的變化和潤飾,因此本發(fā)明的專利保護(hù)范圍應(yīng)以權(quán)利要求書界定的為準(zhǔn)。
權(quán)利要求
1.一種語音基本周期參數(shù)獲取及編碼的方法,是通過脫機(jī)方式對該語音進(jìn)行取樣為一取樣語音,并通過將該取樣語音分割為多段長度相同的幀來計(jì)算該取樣語音的一個(gè)基本周期,其特征在于該方法至少包含下列步驟以一逐步平移的方式擷取該多段幀的每一段幀,并獲取該多段幀的多個(gè)單位基本周期;由每一段該幀內(nèi)的該多個(gè)單位基本周期中個(gè)別擷取一基本周期;以及將該基本周期編碼。
2.如權(quán)利要求1所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于在所述獲取該語音的該單位基本周期步驟之前,還包含下列步驟提供一低通濾波器,用以將高頻的信號(hào)進(jìn)行阻絕。
3.如權(quán)利要求1所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述的以逐步平移的方式擷取該下一段幀,是依據(jù)該第一段幀所計(jì)算出的該第一單位基本周期,向后平移該單位基本周期時(shí)間長而得,每一段該幀的選取方式相同。
4.如權(quán)利要求1或3所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述的獲取多個(gè)單位基本周期的步驟,還包含下列步驟擷取該取樣語音開始的一第一段幀,并計(jì)算該第一段幀的一第一單位基本周期;向前追蹤修正單位基本周期,是將該第一段幀所計(jì)算出的該第一單位基本周期向前追蹤修正一第一個(gè)兩倍基本周期與將該單元一第一個(gè)1/2倍基本周期,并重新計(jì)算該第一單位基本周期;以及以該逐步平移的方式擷取接續(xù)該第一段幀的一下一段幀,計(jì)算該多段幀的一下一個(gè)單位基本周期,重復(fù)此步驟至該多段幀的最后一段幀,以個(gè)別計(jì)算出每一個(gè)該單位基本周期。
5.如權(quán)利要求4所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述的單位基本周期的計(jì)算,是利用一絕對值差方函數(shù)處理該多段幀中的每一段該幀而得出該單元基本周期。
6.如權(quán)利要求4所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述的向前追蹤修正兩倍或1/2倍基本周期的步驟,還包含下列步驟計(jì)算該第一段幀的一平均基本周期;判斷下一個(gè)單位基本周期是否為該平均基本周期的兩倍,若是,則重新計(jì)算該單位基本周期;以及判斷該下一個(gè)單位基本周期是否為該平均基本周期之1/2倍,若是,則重新計(jì)算該單位基本周期。
7.如權(quán)利要求1所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述的將基本周期編碼的步驟,是將該基本周期以二進(jìn)制方式進(jìn)行編碼,如編為六位碼。
8.如權(quán)利要求1所述的語音基本周期參數(shù)獲取及編碼的方法,其特征在于所述語音的取樣頻率為每秒八千次。
全文摘要
本發(fā)明是一種獲取語音基本周期及編碼的方法,本發(fā)明以脫機(jī)的方式對語音進(jìn)行取樣,并計(jì)算經(jīng)取樣的語音的基本周期,首先提供一低通濾波器以濾掉高頻波,接著再將語音取樣并將經(jīng)取樣的語音分割成各段長度相同的幀,再以逐步平移的方式逐一計(jì)算每個(gè)幀的單位基本周期并做基本周期的二倍、1/2倍周期修正,以獲得準(zhǔn)確的單位基本周期;之后即可由單位基本周期序列擷取基本周期;最后再以二進(jìn)制方式進(jìn)行基本周期的編碼。
文檔編號(hào)G10L11/00GK1452158SQ0210558
公開日2003年10月29日 申請日期2002年4月17日 優(yōu)先權(quán)日2002年4月17日
發(fā)明者楊凰琳 申請人:無敵科技股份有限公司