本發(fā)明涉及數(shù)字信號處理技術(shù)領(lǐng)域,尤其是一種音頻信號分類方法和裝置。
背景技術(shù):
為了降低視頻信號存儲或者傳輸過程中占用的資源,音頻信號在發(fā)送端進行壓縮處理后傳輸?shù)浇邮斩耍邮斩送ㄟ^解壓縮處理恢復音頻信號。
在音頻處理應用中,音頻信號分類是一種應用廣泛而重要的技術(shù)。例如,在音頻編解碼應用中,目前比較流行的編解碼器是一種混合編解碼。這種編解碼器通常包含了一個基于語音產(chǎn)生模型的編碼器(如CELP)和一個基于變換的編碼器(如基于MDCT的編碼器)。在中低碼率下,基于語音產(chǎn)生模型的編碼器可以獲得較好的語音編碼質(zhì)量,但對音樂的編碼質(zhì)量比較差,而基于變換的編碼器能夠獲得較好的音樂編碼質(zhì)量,對語音的編碼質(zhì)量又比較差。因此,混合編解碼器通過對語音信號采用基于語音產(chǎn)生模型的編碼器進行編碼,對音樂信號采用基于變換的編碼器進行編碼,從而獲得整體最佳的編碼效果。這里,一個核心的技術(shù)就是音頻信號分類,或具體到這個應用,就是編碼模式選擇。
混合編解碼器需要獲得準確的信號類型信息,才能獲得最優(yōu)的編碼模式選擇。這里的音頻信號分類器也可以被大致認為是一種語音/音樂分類器。語音識別率和音樂識別率是衡量語音/音樂分類器性能的重要指標。尤其對于音樂信號,由于其信號特征的多樣/復雜性,對音樂信號的識別通常較語音困難。此外,識別延時也是非常重要的指標之一。由于語音/音樂特征在短時上的模糊性,通常需要在一段相對長的時間區(qū)間內(nèi)才能夠較準確的識別出語音/音樂來。一般來說,在同一類信號中段時,識別延時越長,識別越準確。但在兩類信號的過渡段時,識別延時越長,識別準確率反而降低。這在輸入是混合信號(如有背景音樂的語音)的情況下尤為嚴重。因此,同時兼具高識別率和低識別延時是一個高性能語音/音樂識別器的必要屬性。此外,分類的穩(wěn)定性也是影響到混合編碼器編碼質(zhì)量的重要屬性。一般來說,混合編碼器在不同類型編碼器之間切換時會產(chǎn)生質(zhì)量下降。如果分類器在同一類信號中發(fā)生頻繁的類型切換,對編碼質(zhì)量的影響是比較大的,這就要求分類器的輸出分類結(jié)果要準確而平滑。另外,在一些應用中,如通信系統(tǒng)中的分類算法,也要求其計算復雜度和存儲開銷要盡可能的低,以滿足商業(yè)需求。
ITU-T標準G.720.1包含有一個語音/音樂分類器。這個分類器以一個主參數(shù),頻譜波動方差var_flux,做為信號分類的主要依據(jù),并結(jié)合兩個不同的頻譜峰度參數(shù)p1,p2,做為輔助依據(jù)。根據(jù)var_flux對輸入信號的分類,是通過在一個FIFO的var_flux buffer中,根據(jù)var_flux的局部統(tǒng)計量來完成的。具體過程概述如下。首先對每一輸入音頻幀提取頻譜波動flux,并緩存在一個第一buffer中,這里的flux是在包括當前輸入幀在內(nèi)的最新的4幀中計算的,也可以有其它的計算方法。然后,計算包括當前輸入幀在內(nèi)的N個最新幀的flux的方差,得到當前輸入幀的var_flux,并緩存在第二buffer中。然后,統(tǒng)計第二buffer中包括當前輸入幀在內(nèi)的M個最新幀的var_flux中大于第一門限值的幀的個數(shù)K。如果K與M的比值大于一個第二門限值,則判斷當前輸入幀為語音幀,否則為音樂幀。輔助參數(shù)p1,p2主要用于對分類的修正,也是對每一輸入音頻幀計算的。當p1和/或p2大于某第三門限和/或第四門限時,則直接判斷當前輸入音頻幀為音樂幀。
這個語音/音樂分類器的缺點一方面對音樂的絕對識別率仍然有待提高,另一方面,由于該分類器的目標應用沒有針對混合信號的應用場景,所以對混合信號的識別性能也還有一定的提升空間。
現(xiàn)有的語音/音樂分類器有很多都是基于模式識別原理設計的。這類分類器通常都是對輸入音頻幀提取多個特征參數(shù)(十幾到幾十不等),并將這些參數(shù)饋入一個或者基于高斯混合模型,或者基于神經(jīng)網(wǎng)絡,或者基于其它經(jīng)典分類方法的分類器來進行分類的。
這類分類器雖然有較高的理論基礎(chǔ),但通常具有較高的計算或存儲復雜度,實現(xiàn)成本較高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種音頻信號分類方法和裝置,在保證混合音頻信號分類識別率的情況下,降低信號分類的復雜度。
第一方面,提供了一種音頻信號分類方法,包括:
根據(jù)當前音頻幀的聲音活動性,確定是否獲得當前音頻幀的頻譜波動并存儲于頻譜波動存儲器中,其中,所述頻譜波動表示音頻信號的頻譜的能量波動;
根據(jù)音頻幀是否為敲擊音樂或歷史音頻幀的活動性,更新頻譜波動存儲器中存儲的頻譜波動;
根據(jù)頻譜波動存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的統(tǒng)計量,將所述當前音頻幀分類為語音幀或者音樂幀。
在第一種可能的實現(xiàn)方式中,根據(jù)當前音頻幀的聲音活動性,確定是否獲得當前音頻幀的頻譜波動并存儲于頻譜波動存儲器中包括:
若當前音頻幀為活動幀,則將當前音頻幀的頻譜波動存儲于頻譜波動存儲器中。
在第二種可能的實現(xiàn)方式中,根據(jù)當前音頻幀的聲音活動性,確定是否獲得當前音頻幀的頻譜波動并存儲于頻譜波動存儲器中包括:
若當前音頻幀為活動幀,且當前音頻幀不屬于能量沖擊,則將當前音頻幀的頻譜波動存儲于頻譜波動存儲器中。
在第三種可能的實現(xiàn)方式中,根據(jù)當前音頻幀的聲音活動性,確定是否獲得當前音頻幀的頻譜波動并存儲于頻譜波動存儲器中包括:
若當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中。
結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,根據(jù)所述當前音頻幀是否為敲擊音樂,更新頻譜波動存儲器中存儲的頻譜波動包括:
若當前音頻幀屬于敲擊音樂,則修改頻譜波動存儲器中已存儲的頻譜波動的值。
結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,根據(jù)所述歷史音頻幀的活動性,更新頻譜波動存儲器中存儲的頻譜波動包括:
如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且前一幀音頻幀為非活動幀,則將頻譜波動存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù);
如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且當前音頻幀之前連續(xù)三幀歷史幀不全都為活動幀,則將當前音頻幀的頻譜波動修正為第一值;
如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且歷史分類結(jié)果為音樂信號且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式或第一方面的第四種可能的實現(xiàn)方式或第一方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,根據(jù)頻譜波動存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的統(tǒng)計量,將所述當前音頻幀分類為語音幀或者音樂幀包括:
獲得頻譜波動存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的均值;
當所獲得的頻譜波動的有效數(shù)據(jù)的均值滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
結(jié)合第一方面或第一方面的第一種可能的實現(xiàn)方式或第一方面的第二種可能的實現(xiàn)方式或第一方面的第三種可能的實現(xiàn)方式或第一方面的第四種可能的實現(xiàn)方式或第一方面的第五種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,該音頻信號分類方法還包括:
獲得當前音頻幀的頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;其中,頻譜高頻帶峰度表示當前音頻幀的頻譜在高頻帶上的峰度或能量銳度;頻譜相關(guān)度表示當前音頻幀的信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度;線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于存儲器中;
其中,所述根據(jù)頻譜波動存儲器中存儲的頻譜波動的部分或全部數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類包括:
分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
第二方面,提供了一種音頻信號的分類裝置,用于對輸入的音頻信號進行分類,包括:
存儲確認單元,用于根據(jù)所述當前音頻幀的聲音活動性,確定是否獲得并存儲當前音頻幀的頻譜波動,其中,所述頻譜波動表示音頻信號的頻譜的能量波動;
存儲器,用于在存儲確認單元輸出需要存儲的結(jié)果時存儲所述頻譜波動;
更新單元,用于根據(jù)語音幀是否為敲擊音樂或歷史音頻幀的活動性,更新存儲器中存儲的頻譜波動;
分類單元,用于根據(jù)存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的統(tǒng)計量,將所述當前音頻幀分類為語音幀或者音樂幀。
在第一種可能的實現(xiàn)方式中,所述存儲確認單元具體用于:確認當前音頻幀為活動幀時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
在第二種可能的實現(xiàn)方式中,所述存儲確認單元具體用于:確認當前音頻幀為活動幀,且當前音頻幀不屬于能量沖擊時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
在第三種可能的實現(xiàn)方式中,所述存儲確認單元具體用于:確認當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式或第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述更新單元具體用于若當前音頻幀屬于敲擊音樂,則修改頻譜波動存儲器中已存儲的頻譜波動的值。
結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式或第二方面的第三種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述更新單元具體用于:如果當前音頻幀為活動幀,且前一幀音頻幀為非活動幀時,則將存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù);或
如果當前音頻幀為活動幀,且當前音頻幀之前連續(xù)三幀不全都為活動幀時,則將當前音頻幀的頻譜波動修正為第一值;或
如果當前音頻幀為活動幀,且歷史分類結(jié)果為音樂信號且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式或第二方面的第三種可能的實現(xiàn)方式或第二方面的第四種可能的實現(xiàn)方式或第二方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述分類單元包括:
計算單元,用于獲得存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的均值;
判斷單元,用于將所述頻譜波動的有效數(shù)據(jù)的均值與音樂分類條件做比較,當所述頻譜波動的有效數(shù)據(jù)的均值滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
結(jié)合第二方面或第二方面的第一種可能的實現(xiàn)方式或第二方面的第二種可能的實現(xiàn)方式或第二方面的第三種可能的實現(xiàn)方式或第二方面的第四種可能的實現(xiàn)方式或第二方面的第五種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,該音頻信號分類裝置還包括:
參數(shù)獲得單元,用于獲得當前音頻幀的頻譜高頻帶峰度、頻譜相關(guān)度、濁音度參數(shù)和線性預測殘差能量傾斜度;其中,頻譜高頻帶峰度表示當前音頻幀的頻譜在高頻帶上的峰度或能量銳度;頻譜相關(guān)度表示當前音頻幀的信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度;濁音度參數(shù)表示當前音頻幀與一個基音周期之前的信號的時域相關(guān)度;線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
所述存儲確認單元還用于,根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于存儲器中;
所述存儲單元還用于,當存儲確認單元輸出需要存儲的結(jié)果時存儲所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
所述分類單元具體用于,分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀。
結(jié)合第二方面的第七種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述分類單元包括:
計算單元,用于分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
判斷單元,用于當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
第三方面,提供了一種音頻信號分類方法,包括:
將輸入音頻信號進行分幀處理;
獲得當前音頻幀的線性預測殘差能量傾斜度;所述線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
將線性預測殘差能量傾斜度存儲到存儲器中;
根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類。
在第一種可能的實現(xiàn)方式中,將線性預測殘差能量傾斜度存儲到存儲器中之前還包括:
根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述線性預測殘差能量傾斜度存儲于存儲器中;并在確定需要存儲時將將所述線性預測殘差能量傾斜度存儲于存儲器中。
結(jié)合第三方面的或第三方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量為預測殘差能量傾斜度部分數(shù)據(jù)的方差;所述根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類包括:
將預測殘差能量傾斜度部分數(shù)據(jù)的方差與音樂分類閾值相比較,當所述預測殘差能量傾斜度部分數(shù)據(jù)的方差小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
結(jié)合第三方面的或第三方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,該音頻信號分類方法還包括:
獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度和頻譜相關(guān)度,并存儲于對應的存儲器中;
其中,所述根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類包括:
分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
結(jié)合第三方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀包括:
分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
結(jié)合第三方面的或第三方面的第一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,該音頻信號分類方法還包括:
獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率,并存儲于對應的存儲器;
其中,所述根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類包括:
分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;
根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;所述統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
結(jié)合第三方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量包括:
獲得存儲的線性預測殘差能量傾斜度的方差;
獲得存儲的頻譜音調(diào)個數(shù)的均值;
根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀包括:
當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:
線性預測殘差能量傾斜度的方差小于第五閾值;或
頻譜音調(diào)個數(shù)的均值大于第六閾值;或
頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
結(jié)合第三方面或第三方面的第一種可能的實現(xiàn)方式或第三方面的第二種可能的實現(xiàn)方式或第三方面的第三種可能的實現(xiàn)方式或第三方面的第四種可能的實現(xiàn)方式或第三方面的第五種可能的實現(xiàn)方式或第三方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,獲得當前音頻幀的線性預測殘差能量傾斜度包括:
根據(jù)下列公式計算當前音頻幀的線性預測殘差能量傾斜度:
其中,epsP(i)表示當前音頻幀第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。
結(jié)合第三方面的第五種可能的實現(xiàn)方式或第三方面的第六種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率包括:
統(tǒng)計當前音頻幀在0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量作為頻譜音調(diào)個數(shù);
計算當前音頻幀在0~4kHz頻帶上頻點峰值大于預定值的頻點數(shù)量與0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。
第四方面,提供一種信號分類裝置,用于對輸入的音頻信號進行分類,其包括:
分幀單元,用于對輸入音頻信號進行分幀處理;
參數(shù)獲得單元,用于獲得當前音頻幀的線性預測殘差能量傾斜度;所述線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
存儲單元,用于存儲線性預測殘差能量傾斜度;
分類單元,用于根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類。
在第一種可能的實現(xiàn)方式中,信號分類裝置還包括:
存儲確認單元,用于根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述線性預測殘差能量傾斜度存儲于存儲器中;
所述存儲單元具體用于,當存儲確認單元確認需要確定需要存儲時將將所述線性預測殘差能量傾斜度存儲于存儲器中。
結(jié)合第四方面的或第四方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量為預測殘差能量傾斜度部分數(shù)據(jù)的方差;
所述分類單元具體用于將預測殘差能量傾斜度部分數(shù)據(jù)的方差與音樂分類閾值相比較,當所述預測殘差能量傾斜度部分數(shù)據(jù)的方差小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
結(jié)合第四方面的或第四方面的第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,參數(shù)獲得單元還用于:獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度和頻譜相關(guān)度,并存儲于對應的存儲器中;
所述分類單元具體用于:分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
第四方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述分類單元包括:
計算單元,用于分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
判斷單元,用于當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
結(jié)合第四方面的或第四方面的第一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述參數(shù)獲得單元還用于:獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率,并存儲于存儲器;
所述分類單元具體用于:分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
第四方面的第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述分類單元包括:
計算單元,用于獲得線性預測殘差能量傾斜度有效數(shù)據(jù)的方差和存儲的頻譜音調(diào)個數(shù)的均值;
判斷單元,用于當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:線性預測殘差能量傾斜度的方差小于第五閾值;或頻譜音調(diào)個數(shù)的均值大于第六閾值;或頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
結(jié)合第四方面或第四方面的第一種可能的實現(xiàn)方式或第四方面的第二種可能的實現(xiàn)方式或第四方面的第三種可能的實現(xiàn)方式或第四方面的第四種可能的實現(xiàn)方式或第四方面的第五種可能的實現(xiàn)方式或第四方面的第六種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述參數(shù)獲得單元根據(jù)下列公式計算當前音頻幀的線性預測殘差能量傾斜度:
其中,epsP(i)表示當前音頻幀第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。
結(jié)合第四方面的第五種可能的實現(xiàn)方式或第四方面的第六種可能的實現(xiàn)方式,在第八種可能的實現(xiàn)方式中,所述參數(shù)獲得單元用于統(tǒng)計當前音頻幀在0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量作為頻譜音調(diào)個數(shù);所述參數(shù)獲得單元用于計算當前音頻幀在0~4kHz頻帶上頻點峰值大于預定值的頻點數(shù)量與0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。
本發(fā)明實施例根據(jù)頻譜波動的長時統(tǒng)計量對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低;同時考慮聲音活動性和敲擊音樂的因素對頻譜波動進行調(diào)整,對音樂信號識別率更高,適合混合音頻信號分類。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為對音頻信號分幀的示意圖;
圖2為本發(fā)明提供的音頻信號分類方法的一個實施例的流程示意圖;
圖3為本發(fā)明提供的獲得頻譜波動的一個實施例的流程示意圖;
圖4為本發(fā)明提供的音頻信號分類方法的另一個實施例的流程示意圖;
圖5為本發(fā)明提供的音頻信號分類方法的另一個實施例的流程示意圖;
圖6為本發(fā)明提供的音頻信號分類方法的另一個實施例的流程示意圖;
圖7至圖10為本發(fā)明提供的音頻信號分類的一種具體分類流程圖;
圖11為本發(fā)明提供的音頻信號分類方法的另一個實施例的流程示意圖;
圖12為本發(fā)明提供的音頻信號分類的一種具體分類流程圖;
圖13為本發(fā)明提供的音頻信號的分類裝置一個實施例的結(jié)構(gòu)示意圖;
圖14為本發(fā)明提供的分類單元一個實施例的結(jié)構(gòu)示意圖;
圖15為本發(fā)明提供的音頻信號的分類裝置另一個實施例的結(jié)構(gòu)示意圖;
圖16為本發(fā)明提供的音頻信號的分類裝置另一個實施例的結(jié)構(gòu)示意圖;
圖17為本發(fā)明提供的分類單元一個實施例的結(jié)構(gòu)示意圖;
圖18為本發(fā)明提供的音頻信號的分類裝置另一個實施例的結(jié)構(gòu)示意圖;
圖19為本發(fā)明提供的音頻信號的分類裝置另一個實施例的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
數(shù)字信號處理領(lǐng)域,音頻編解碼器、視頻編解碼器廣泛應用于各種電子設備中,例如:移動電話,無線裝置,個人數(shù)據(jù)助理(PDA),手持式或便攜式計算機,GPS接收機/導航器,照相機,音頻/視頻播放器,攝像機,錄像機,監(jiān)控設備等。通常,這類電子設備中包括音頻編碼器或音頻解碼器,音頻編碼器或者解碼器可以直接由數(shù)字電路或芯片例如DSP(digital signal processor)實現(xiàn),或者由軟件代碼驅(qū)動處理器執(zhí)行軟件代碼中的流程而實現(xiàn)。一種音頻編碼器中,首先對音頻信號進行分類,對不同類型的音頻信號采用不同的編碼模式進行編碼后,再將編碼后碼流傳輸給解碼端。
一般的,音頻信號在處理時采用分幀的方式,每一幀信號代表一定時長的音頻信號。參考圖1,當前輸入的需要分類的音頻幀可以稱為當前音頻幀;當前音頻幀之前的任意一幀音頻幀可以稱為歷史音頻幀;按照從當前音頻幀到歷史音頻幀的時序順序,歷史音頻幀可以依次成為前一音頻幀,前第二幀音頻幀,前第三幀音頻幀,前第N幀音頻幀,N大于等于四。
本實施例中,輸入音頻信號為16kHz采樣的寬帶音頻信號,輸入音頻信號以20ms為一幀進行分幀,即每幀320個時域樣點。在提取特征參數(shù)前,輸入音頻信號幀首先經(jīng)降采樣為12.8kHz采樣率,即256采樣點每幀。后文中的輸入音頻信號幀均指降采樣后的音頻信號幀。
參考圖2,一種音頻信號分類方法的一個實施例包括:
S101:將輸入音頻信號進行分幀處理,根據(jù)當前音頻幀的聲音活動性,確定是否獲得當前音頻幀的頻譜波動并存儲于頻譜波動存儲器中,其中,頻譜波動表示音頻信號的頻譜的能量波動;
音頻信號分類一般按幀進行,對每個音頻信號幀提取參數(shù)進行分類,以確定該音頻信號幀屬于語音幀還是音樂幀,以采用對應的編碼模式進行編碼。一個實施例中,可以在音頻信號進行分幀處理后,獲得當前音頻幀的頻譜波動,再根據(jù)當前音頻幀的聲音活動性,確定是否將該頻譜波動存儲于頻譜波動存儲器中;另一個實施例中,可以在音頻信號進行分幀處理后,根據(jù)當前音頻幀的聲音活動性,確定是否將該頻譜波動存儲于頻譜波動存儲器中,在需要存儲時再獲得該頻譜波動并存儲。
頻譜波動flux表示信號頻譜的短時或長時能量波動,為當前音頻幀與歷史幀在中低頻帶頻譜上對應頻率的對數(shù)能量差的絕對值的均值;其中歷史幀指當前音頻幀之前的任意一幀。一個實施例中,頻譜波動為當前音頻幀與其歷史幀在中低頻帶頻譜上對應頻率的對數(shù)能量差的絕對值的均值。另一個實施例中,頻譜波動為當前音頻幀與歷史幀在中低頻帶頻譜上對應頻譜峰值的對數(shù)能量差的絕對值的均值。
參考圖3,獲得頻譜波動的一個實施例包括如下步驟:
S1011:獲得當前音頻幀的頻譜;
一個實施例中,可以直接獲得音頻幀的頻譜;另一個實施例中,獲得當前音頻幀任意兩個子幀的頻譜,即能量譜;利用兩個子幀的頻譜的平均值得到當前音頻幀的頻譜;
S1012:獲得當前音頻幀歷史幀的頻譜;
其中歷史幀指當前音頻幀之前的任意一幀音頻幀;一個實施例中可以為當前音頻幀之前的第三幀音頻幀。
S1013:計算當前音頻幀與歷史幀分別在中低頻帶頻譜上對應頻率的對數(shù)能量差的絕對值的均值,作為當前音頻幀的頻譜波動。
一個實施例中,可以計算當前音頻幀在中低頻帶頻譜上所有頻點的對數(shù)能量與歷史幀在中低頻帶頻譜上對應頻點的對數(shù)能量之間差值的絕對值的均值;
另一個實施例中,可以計算當前音頻幀在中低頻帶頻譜上頻譜峰值的對數(shù)能量與歷史幀在中低頻帶頻譜上對應頻譜峰值的對數(shù)能量之間差值的絕對值的均值。
中低頻帶頻譜,例如0~fs/4,或者0~fs/3的頻譜范圍。
以輸入音頻信號為16kHz采樣的寬帶音頻信號,輸入音頻信號以20ms為一幀為例,對每20ms當前音頻幀分別做前后兩個256點的FFT,兩個FFT窗50%重疊,得到當前音頻幀兩個子幀的頻譜(能量譜),分別記做C0(i),C1(i),i=0,1…127,其中Cx(i)表示第x個子幀的頻譜。當前音頻幀第1子幀的FFT需要用到前一幀第2子幀的數(shù)據(jù)。
Cx(i)=rel2(i)+img2(i)
其中,rel(i)和img(i)分別表示第i頻點FFT系數(shù)的實部和虛部。當前音頻幀的頻譜C(i)則由兩個子幀的頻譜平均得到。
一個實施例中,當前音頻幀的頻譜波動flux為當前音頻幀與其60ms前的幀在中低頻帶頻譜上對應頻率的對數(shù)能量差的絕對值的均值,在另一實施例中也可為不同于60ms的間隔。
其中C-3(i)表示當前當前音頻幀之前的第三歷史幀,即在本實施例中當幀長為20ms時,當前音頻幀60ms以前的歷史幀的頻譜。在本文中類似X-n()的形式,均表示當前音頻幀的第n歷史幀的參數(shù)X,當前音頻幀可省略下角標0。log(.)表示以10為底的對數(shù)。
在另一個實施例中,當前音頻幀的頻譜波動flux也可由下述方法得到,即,為當前音頻幀與其60ms前的幀在中低頻帶頻譜上對應頻譜峰值的對數(shù)能量差的絕對值的均值,
其中P(i)表示當前音頻幀的頻譜的第i個局部峰值能量,局部峰值所在的頻點即為頻譜上能量高于高低兩相鄰頻點上能量的頻點。K表示中低頻帶頻譜上局部峰值的個數(shù)。
其中,根據(jù)當前音頻幀的聲音活動性,確定是否將該頻譜波動存儲于頻譜波動存儲器中,可以用多種方式實現(xiàn):
一個實施例中,若音頻幀的聲音活動性參數(shù)表示音頻幀為活動幀,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。
另一個實施例中,根據(jù)音頻幀的聲音活動性和音頻幀是否為能量沖擊,確定是否將所述頻譜波動存儲于存儲器中。若音頻幀的聲音活動性參數(shù)表示音頻幀為活動幀,且表示音頻幀是否為能量沖擊的參數(shù)表示音頻幀不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲;另一個實施例中,若當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。例如,當前音頻幀為活動幀,且當前音頻幀、前一幀音頻幀和前第二幀音頻幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。
聲音活動性標識vad_flag表示當前輸入信號是活動的前景信號(語音,音樂等)還是前景信號靜默的背景信號(如背景噪聲,靜音等),由聲音活動性檢測器VAD獲得。vad_flag=1表示輸入信號幀為活動幀,即前景信號幀,反之vad_flag=0表示背景信號幀。由于VAD不屬本發(fā)明的發(fā)明內(nèi)容,VAD的具體算法在此不再詳述。
聲音沖擊標識attack_flag表示當前當前音頻幀是否屬于音樂中的一個能量沖擊。當當前音頻幀之前的若干歷史幀以音樂幀為主時,若當前音頻幀的幀能量較其之前第一歷史幀有較大躍升,且較其之前一段時間內(nèi)音頻幀的平均能量有較大躍升,且當前音頻幀的時域包絡較其之前一段時間內(nèi)音頻幀的平均包絡也有較大躍升時,則認為當前當前音頻幀屬于音樂中的能量沖擊。
根據(jù)所述當前音頻幀的聲音活動性,當當前音頻幀為活動幀時,才存儲當前音頻幀的頻譜波動;能夠降低非活動幀的誤判率,提高音頻分類的識別率。
當如下條件滿足時,attack_flag置1,即表示當前當前音頻幀為一個音樂中的能量沖擊:
其中,etot表示當前音頻幀的對數(shù)幀能量;etot-1表示前一音頻幀的對數(shù)幀能量;lp_speech表示對數(shù)幀能量etot的長時滑動平均;log_max_spl和mov_log_max_spl分別表示當前音頻幀的時域最大對數(shù)樣點幅度及其長時滑動平均;mode_mov表示信號分類中歷史最終分類結(jié)果的長時滑動平均。
以上公式的含義是,當當前音頻幀之前的若干歷史幀以音樂幀為主時,若當前音頻幀的幀能量較其之前第一歷史幀有較大躍升,且較其之前一段時間內(nèi)音頻幀的平均能量有較大躍升,且當前音頻幀的時域包絡較其之前一段時間內(nèi)音頻幀的平均包絡也有較大躍升時,則認為當前當前音頻幀屬于音樂中的能量沖擊。
對數(shù)幀能量etot,由輸入音頻幀的對數(shù)總子帶能量表示:
其中,hb(j),lb(j)分別表示輸入音頻幀頻譜中第j子帶的高低頻邊界;C(i)表示輸入音頻幀的頻譜。
當前音頻幀的時域最大對數(shù)樣點幅度的長時滑動平均mov_log_max_spl只在活動聲音幀中更新:
一個實施例中,當前音頻幀的頻譜波動flux被緩存在一個FIFO的flux歷史buffer中,本實施例中flux歷史buffer的長度為60(60幀)。判斷當前音頻幀的聲音活動性和音頻幀是否為能量沖擊,當當前音頻幀為前景信號幀且當前音頻幀及其之前的兩幀均未出現(xiàn)屬于音樂的能量沖擊,則將當前音頻幀的頻譜波動flux存儲于存儲器中。
在緩存當前當前音頻幀的flux之前,檢查是否滿足如下條件:
若滿足,則緩存,否則不緩存。
其中,vad_flag表示當前輸入信號是活動的前景信號還是前景信號靜默的背景信號,vad_flag=0表示背景信號幀;attack_flag表示當前當前音頻幀是否屬于音樂中的一個能量沖擊,attack_flag=1表示當前當前音頻幀為一個音樂中的能量沖擊。
上述公式的含義為:當前音頻幀為活動幀,且當前音頻幀、前一幀音頻幀和前第二幀音頻幀均不屬于能量沖擊。
S102:根據(jù)音頻幀是否為敲擊音樂或歷史音頻幀的活動性,更新頻譜波動存儲器中存儲的頻譜波動;
一個實施例中,若表示音頻幀是否屬于敲擊音樂的參數(shù)表示當前音頻幀屬于敲擊音樂,則修改頻譜波動存儲器中存儲的頻譜波動的值,將頻譜波動存儲器中有效的頻譜波動值修改為小于等于音樂閾值的一個值,其中當音頻幀的頻譜波動小于該音樂閾值時該音頻被分類為音樂幀。一個實施例中,將有效的頻譜波動值重置為5。即當敲擊聲響標識percus_flag被置為1時,flux歷史buffer中所有的有效緩沖數(shù)據(jù)均被重置為5。這里,有效緩沖數(shù)據(jù)等價于有效頻譜波動值。一般的,音樂幀的頻譜波動值較低,而語音幀的頻譜波動值較高。當音頻幀屬于敲擊音樂時,將有效的頻譜波動值修改為小于等于音樂閾值的一個值,則能提高該音頻幀被分類為音樂幀的概率,從而提高音頻信號分類的準確率。
另一個實施例中,根據(jù)當前音頻幀的歷史幀的活動性,更新存儲器中的頻譜波動。具體的,一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且前一幀音頻幀為非活動幀,則將頻譜波動存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù)。前一幀音頻幀為非活動幀而當前音頻幀為活動幀時,當前音頻幀與歷史幀的語音活動性不同,將歷史幀的頻譜波動無效化,則能降低歷史幀對音頻分類的影響,從而提高音頻信號分類的準確率。
另一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且當前音頻幀之前連續(xù)三幀不全都為活動幀,則將當前音頻幀的頻譜波動修正為第一值。第一值可以為語音閾值,其中當音頻幀的頻譜波動大于該語音閾值時該音頻被分類為語音幀。另一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且歷史幀的分類結(jié)果為音樂幀且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
如果當前音頻幀的flux被緩存,且前一幀音頻幀為非活動幀(vad_flag=0),則除被新緩存入flux歷史buffer的當前音頻幀flux以外,其余flux歷史buffer中的數(shù)據(jù)全部重置為-1(等價于將這些數(shù)據(jù)無效化)。
如果flux被緩存入flux歷史buffer,且當前音頻幀之前連續(xù)三幀不全都為活動幀(vad_flag=1),則將剛緩存入flux歷史buffer的當前音頻幀flux修正為16,即是否滿足如下條件:
若不滿足,則將剛緩存入flux歷史buffer的當前音頻幀flux修正為16;
如果當前音頻幀之前連續(xù)三幀都為活動幀(vad_flag=1),則檢查是否滿足如下條件:
若滿足,則將剛緩存入flux歷史buffer的當前音頻幀flux修正為20,否則不做操作。
其中,mode_mov表示信號分類中歷史最終分類結(jié)果的長時滑動平均;mode_mov>0.9表示信號處于音樂信號中,根據(jù)音頻信號的歷史分類結(jié)果將flux進行限制,以降低flux出現(xiàn)語音特征的概率,目的是提高判斷分類的穩(wěn)定性。
當當前音頻幀之前連續(xù)三幀歷史幀都為非活動幀,當前音頻幀為活動幀時,或當前音頻幀之前連續(xù)三幀不全都為活動幀,當前音頻幀為活動幀時,此時處于分類的初始化階段。在一個實施例中為了使分類結(jié)果傾向于語音(音樂),可以將當前音頻幀的頻譜波動修改為語音(音樂)閾值或接近于語音(音樂)閾值的數(shù)值。在另一個實施例中,如果當前信號之前的信號是語音(音樂)信號,則可以將當前音頻幀的頻譜波動修改為語音(音樂)閾值或接近于語音(音樂)閾值的數(shù)值以提高判斷分類的穩(wěn)定性。在另一個實施例中,為了使分類結(jié)果傾向于音樂,可以對頻譜波動進行限制,即可以修改當前音頻幀的頻譜波動使其不大于一個閾值,以降低頻譜波動判定為語音特征的概率。
敲擊聲響標識percus_flag表示音頻幀中是否有敲擊聲響存在。percus_flag置1表示檢測到敲擊聲響,置0則表示沒有檢測到敲擊聲響。
當當前信號(即包括當前音頻幀和其若干歷史幀在內(nèi)的若干最新的信號幀)在短時和長時均出現(xiàn)較尖銳的能量突起,且當前信號不具有明顯的濁音特征時,若當前音頻幀之前的若干歷史幀以音樂幀為主,則認為當前信號是一個敲擊音樂;否則,進一步的若當前信號的每個子幀均不具有明顯的濁音特征且當前信號的時域包絡較其長時平均也出現(xiàn)較明顯的躍升變化時,則也認為當前信號是一個敲擊音樂。
敲擊聲響標識percus_flag通過如下步驟獲得:
首先獲得輸入音頻幀的對數(shù)幀能量etot,由輸入音頻幀的對數(shù)總子帶能量表示:
其中,hb(j),lb(j)分別表示輸入幀頻譜第j子帶的高低頻邊界,C(i)表示輸入音頻幀的頻譜。
當滿足如下條件時,percus_flag置1,否則置0。
或
其中,etot表示當前音頻幀的對數(shù)幀能量;lp_speech表示對數(shù)幀能量etot的長時滑動平均;voicing(0),voicing-1(0),voicing-1(1)分別表示當前輸入音頻幀第一子幀和第一歷史幀的第一,第二子幀的歸一化開環(huán)基音相關(guān)度,濁音度參數(shù)voicing是通過線性預測分析得到的,代表當前音頻幀與一個基音周期之前的信號的時域相關(guān)度,取值在0~1之間;mode_mov表示信號分類中歷史最終分類結(jié)果的長時滑動平均;log_max_spl-2和mov_log_max_spl-2分別表示第二歷史幀的時域最大對數(shù)樣點幅度,及其長時滑動平均。lp_speech在每一活動聲音幀中進行更新(即vad_flag=1的幀),其更新方法為:
lp_speech=0.99·lp_speech-1+0.01·etot
以上兩式的含義為:當當前信號(即包括當前音頻幀和其若干歷史幀在內(nèi)的若干最新的信號幀)在短時和長時均出現(xiàn)較尖銳的能量突起,且當前信號不具有明顯的濁音特征時,若當前音頻幀之前的若干歷史幀以音樂幀為主,則認為當前信號是一個敲擊音樂,否則進一步的若當前信號的每個子幀均不具有明顯的濁音特征且當前信號的時域包絡較其長時平均也出現(xiàn)較明顯的躍升變化時,則也認為當前信號是一個敲擊音樂。
濁音度參數(shù)voicing,即歸一化開環(huán)基音相關(guān)度,表示當前音頻幀與一個基音周期之前的信號的時域相關(guān)度,可以由ACELP的開環(huán)基音搜索中獲得,取值在0~1之間。由于屬現(xiàn)有技術(shù),本發(fā)明不做詳述。本實施例中當前音頻幀的兩個子幀各計算一個voicing,求平均得到當前音頻幀的voicing參數(shù)。當前音頻幀的voicing參數(shù)也被緩存在一個voicing歷史buffer中,本實施例中voicing歷史buffer的長度為10。
mode_mov在每一活動聲音幀且在該幀之前已出現(xiàn)連續(xù)30幀以上的聲音活動幀時進行更新,更新方法為:
mode_mov=0.95·move_mov-1+0.05·mode
其中mode為當前輸入音頻幀的分類結(jié)果,二元取值,“0”表示語音類別,“1”表示音樂類別。
S103:根據(jù)頻譜波動存儲器中存儲的頻譜波動的部分或全部數(shù)據(jù)的統(tǒng)計量,將該當前音頻幀分類為語音幀或者音樂幀。當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足語音分類條件時,將所述當前音頻幀分類為語音幀;當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀。
此處的統(tǒng)計量為頻譜波動存儲器中存儲的有效的頻譜波動(即有效數(shù)據(jù))做統(tǒng)計操作得到的值,例如統(tǒng)計操作可以為平均值或者方差。下面實施例中的統(tǒng)計量具有類似的含義。
一個實施例中,步驟S103包括:
獲得頻譜波動存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的均值;
當所獲得的頻譜波動的有效數(shù)據(jù)的均值滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
例如,當所獲得的頻譜波動的有效數(shù)據(jù)的均值小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
一般的,音樂幀的頻譜波動值較小,而語音幀的頻譜波動值較大。因此可以根據(jù)頻譜波動對當前音頻幀進行分類。當然還可以采用其他分類方法對該當前音頻幀進行信號分類。例如,統(tǒng)計頻譜波動存儲器中存儲的頻譜波動的有效數(shù)據(jù)的數(shù)量;根據(jù)該有效數(shù)據(jù)的數(shù)量,將頻譜波動存儲器由近端到遠端劃分出至少兩個不同長度的區(qū)間,獲得每個區(qū)間對應的頻譜波動的有效數(shù)據(jù)的均值;其中,所述區(qū)間的起點為當前幀頻譜波動存儲位置,近端為存儲有當前幀頻譜波動的一端,遠端為存儲有歷史幀頻譜波動的一端;根據(jù)較短區(qū)間內(nèi)的頻譜波動統(tǒng)計量對所述音頻幀進行分類,若此區(qū)間內(nèi)的參數(shù)統(tǒng)計量足夠區(qū)分出所述音頻幀的類型則分類過程結(jié)束,否則在其余較長區(qū)間中最短的區(qū)間內(nèi)繼續(xù)分類過程,并以此類推。在每個區(qū)間的分類過程中,根據(jù)每一個區(qū)間對應的分類閾值,對所述當前音頻幀進行分類,將所述當前音頻幀分類為語音幀或者音樂幀,當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足語音分類條件時,將所述當前音頻幀分類為語音幀;當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀。
在信號分類后,可以對不同的信號采用不同的編碼模式進行編碼。例如,語音信號采用基于語音產(chǎn)生模型的編碼器(如CELP)進行編碼,對音樂信號采用基于變換的編碼器(如基于MDCT的編碼器)進行編碼。
上述實施例,由于根據(jù)頻譜波動的長時統(tǒng)計量對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低;同時考慮聲音活動性和敲擊音樂的因素對頻譜波動進行調(diào)整,對音樂信號識別率更高,適合混合音頻信號分類。
參考圖4,另一個實施例中,在步驟S102之后還包括:
S104:獲得當前音頻幀的頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度,將所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于存儲器中;頻譜高頻帶峰度表示當前音頻幀頻譜在高頻帶上的峰度或能量銳度;頻譜相關(guān)度表示信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度;線性預測殘差能量傾斜度表示線性預測殘差能量傾斜度表示輸入音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
可選的,在存儲這些參數(shù)之前,還包括:根據(jù)所述當前音頻幀的聲音活動性,確定是否將頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于存儲器中;如果當前音頻幀為活動幀,則存儲上述參數(shù);否則不存儲。
頻譜高頻帶峰度表示當前音頻幀頻譜在高頻帶上的峰度或能量銳度;一個實施例中,通過下列公式計算頻譜高頻帶峰度ph:
其中p2v_map(i)表示頻譜第i個頻點的峰度,峰度p2v_map(i)由下式得到
其中peak(i)=C(i),如果第i頻點是頻譜的局部峰值,否則peak(i)=0。vl(i)和vr(i)分別表示第i個頻點的高頻側(cè)和低頻側(cè)與之最臨近的頻譜局部谷值v(n)。
當前音頻幀的頻譜高頻帶峰度ph也被緩存在一個ph歷史buffer中,本實施例中ph歷史buffer的長度為60。
頻譜相關(guān)度cor_map_sum表示信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度,其通過以下步驟獲得:
首先獲得輸入音頻幀C(i)的去底頻譜C’(i)。
C'(i)=C(i)-floor(i)
其中,floor(i),i=0,1,…127,表示輸入音頻幀頻譜的譜底。
其中,idx[x]表示x在頻譜上的位置,idx[x]=0,1,…127。
然后在每兩個相鄰的頻譜谷值之間,求輸入音頻幀與之前一幀的去底頻譜的互相關(guān)cor(n),
其中,lb(n),hb(n)分別表示第n個頻譜谷值區(qū)間(即位于兩個相鄰得谷值之間的區(qū)域)的端點位置,即限定該谷值區(qū)間的兩個頻譜谷值的位置。
最后,通過下列公式計算輸入音頻幀的頻譜相關(guān)度cor_map_sum:
其中,inv[f]表示函數(shù)f的反函數(shù)。
線性預測殘差能量傾斜度epsP_tilt表示輸入音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度。可以通過下列公式計算獲得:
其中,epsP(i)表示第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。例如一個實施例中,n=15。
則步驟S103可以被以下步驟替代:
S105:分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值,運算操作可以包括求均值,求方差等操作。
一個實施例中,該步驟包括:
分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
一般的,音樂幀的頻譜波動值較小,而語音幀的頻譜波動值較大;音樂幀的頻譜高頻帶峰度值較大,語音幀的頻譜高頻帶峰度較小;音樂幀的頻譜相關(guān)度的值較大,語音幀的頻譜相關(guān)度值較小;音樂幀的線性預測殘差能量傾斜度的變化較小,而語音幀的線性預測殘差能量傾斜度的變化較大。而因此可以根據(jù)上述參數(shù)的統(tǒng)計量對當前音頻幀進行分類。當然還可以采用其他分類方法對該當前音頻幀進行信號分類。例如,統(tǒng)計頻譜波動存儲器中存儲的頻譜波動的有效數(shù)據(jù)的數(shù)量;根據(jù)該有效數(shù)據(jù)的數(shù)量,將存儲器由近端到遠端劃分出至少兩個不同長度的區(qū)間,獲得每個區(qū)間對應的頻譜波動的有效數(shù)據(jù)的均值、頻譜高頻帶峰度有效數(shù)據(jù)的均值、頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;其中,所述區(qū)間的起點為當前幀頻譜波動的存儲位置,近端為存儲有當前幀頻譜波動的一端,遠端為存儲有歷史幀頻譜波動的一端;根據(jù)較短區(qū)間內(nèi)的上述參數(shù)的有效數(shù)據(jù)的統(tǒng)計量對所述音頻幀進行分類,若此區(qū)間內(nèi)的參數(shù)統(tǒng)計量足夠區(qū)分出所述音頻幀的類型則分類過程結(jié)束,否則在其余較長區(qū)間中最短的區(qū)間內(nèi)繼續(xù)分類過程,并以此類推。在每個區(qū)間的分類過程中,根據(jù)每一個區(qū)間對應的分類閾值,對所述當前音頻幀進行分類,當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
在信號分類后,可以對不同的信號采用不同的編碼模式進行編碼。例如,語音信號采用基于語音產(chǎn)生模型的編碼器(如CELP)進行編碼,對音樂信號采用基于變換的編碼器(如基于MDCT的編碼器)進行編碼。
上述實施例中,根據(jù)頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的長時統(tǒng)計量對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低;同時考慮聲音活動性和敲擊音樂的因素對頻譜波動進行調(diào)整,根據(jù)當前音頻幀所處信號環(huán)境,對頻譜波動進行修正,提高分類識別率,適合混合音頻信號分類。
參考圖5,音頻信號分類方法的另一個實施例包括:
S501:將輸入音頻信號進行分幀處理;
音頻信號分類一般按幀進行,對每個音頻信號幀提取參數(shù)進行分類,以確定該音頻信號幀屬于語音幀還是音樂幀,以采用對應的編碼模式進行編碼。
S502:獲得當前音頻幀的線性預測殘差能量傾斜度;線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
一個實施例中,線性預測殘差能量傾斜度epsP_tilt可以通過下列公式計算獲得:
其中,epsP(i)表示第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。例如一個實施例中,n=15。
S503:將線性預測殘差能量傾斜度存儲到存儲器中;
可以將線性預測殘差能量傾斜度存儲到存儲器中。一個實施例中,該存儲器可以為一個FIFO的buffer,該buffer的長度為60個存儲單位(即可存儲60個線性預測殘差能量傾斜度)。
可選的,在存儲線性預測殘差能量傾斜度之前,還包括:根據(jù)所述當前音頻幀的聲音活動性,確定是否將線性預測殘差能量傾斜度存儲于存儲器中;如果當前音頻幀為活動幀,則存儲線性預測殘差能量傾斜度;否則不存儲。
S504:根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類。
一個實施例中,預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量為預測殘差能量傾斜度部分數(shù)據(jù)的方差;則步驟S504包括:
將預測殘差能量傾斜度部分數(shù)據(jù)的方差與音樂分類閾值相比較,當所述預測殘差能量傾斜度部分數(shù)據(jù)的方差小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
一般的,音樂幀的線性預測殘差能量傾斜度值變化較小,而語音幀的線性預測殘差能量傾斜度值變化較大。而因此可以根據(jù)線性預測殘差能量傾斜度的統(tǒng)計量對當前音頻幀進行分類。當然還可以結(jié)合其他參數(shù)采用其他分類方法對該當前音頻幀進行信號分類。
另一個實施例中,步驟S504之前還包括:獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度和頻譜相關(guān)度,并存儲于對應的存儲器中。則步驟S504具體為:
分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
進一步的,分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀包括:
分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
一般的,音樂幀的頻譜波動值較小,而語音幀的頻譜波動值較大;音樂幀的頻譜高頻帶峰度值較大,語音幀的頻譜高頻帶峰度較小;音樂幀的頻譜相關(guān)度的值較大,語音幀的頻譜相關(guān)度值較??;音樂幀的線性預測殘差能量傾斜度值變化較小,而語音幀的線性預測殘差能量傾斜度值變化較大。而因此可以根據(jù)上述參數(shù)的統(tǒng)計量對當前音頻幀進行分類。
另一個實施例中,步驟S504之前還包括:獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率,并存儲于對應的存儲器。則步驟S504具體為:
分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;
根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;所述統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
進一步的,分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量包括:獲得存儲的線性預測殘差能量傾斜度的方差;獲得存儲的頻譜音調(diào)個數(shù)的均值。根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀包括:
當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:
線性預測殘差能量傾斜度的方差小于第五閾值;或
頻譜音調(diào)個數(shù)的均值大于第六閾值;或
頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
其中,獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率包括:
統(tǒng)計當前音頻幀在0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量作為頻譜音調(diào)個數(shù);
計算當前音頻幀在0~4kHz頻帶上頻點峰值大于預定值的頻點數(shù)量與0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。一個實施例中,預定值為50。
頻譜音調(diào)個數(shù)Ntonal表示當前音頻幀中的0~8kHz頻帶上頻點峰值大于預定值的頻點個數(shù)。一個實施例中,可以通過如下方式獲得:對當前音頻幀,統(tǒng)計其在0~8kHz頻帶上頻點峰值p2v_map(i)大于50的個數(shù),即為Ntonal,其中,p2v_map(i)表示頻譜第i個頻點的峰度,其計算方式可以參考上述實施例的描述。
頻譜音調(diào)個數(shù)在低頻帶上的比率ratio_Ntonal_lf表示頻譜音調(diào)個數(shù)與低頻帶音調(diào)個數(shù)的比值。一個實施例中,可以通過如下方式獲得:對當前當前音頻幀,統(tǒng)計其在0~4kHz頻帶上p2v_map(i)大于50的個數(shù),Ntonal_lf。ratio_Ntonal_lf即為Ntonal_lf與Ntonal的比值,Ntonal_lf/Ntonal。其中,p2v_map(i)表示頻譜第i個頻點的峰度,其計算方式可以參考上述實施例的描述。另一個實施例中,分別獲得存儲的多個Ntonal的均值和存儲的多個Ntonal_lf的均值,計算Ntonal_lf的均值與Ntonal的均值的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。
本實施例中,根據(jù)線性預測殘差能量傾斜度的長時統(tǒng)計量對音頻信號進行分類,同時兼顧了分類的魯棒性和分類的識別速度,分類參數(shù)較少但結(jié)果較為準確,復雜度低、內(nèi)存開銷低。
參考圖6,音頻信號分類方法的另一個實施例包括:
S601:將輸入音頻信號進行分幀處理;
S602:獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
頻譜波動flux表示信號頻譜的短時或長時能量波動,為當前音頻幀與歷史幀在中低頻帶頻譜上對應頻率的對數(shù)能量差的絕對值的均值;其中歷史幀指當前音頻幀之前的任意一幀。頻譜高頻帶峰度ph表示當前音頻幀頻譜在高頻帶上的峰度或能量銳度。頻譜相關(guān)度cor_map_sum表示信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度。線性預測殘差能量傾斜度epsP_tilt表示線性預測殘差能量傾斜度表示輸入音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度。這幾個參數(shù)的具體計算方法參照前文實施例。
進一步的,可以獲得濁音度參數(shù);濁音度參數(shù)voicing表示當前音頻幀與一個基音周期之前的信號的時域相關(guān)度。濁音度參數(shù)voicing是通過線性預測分析得到的,代表當前音頻幀與一個基音周期之前的信號的時域相關(guān)度,取值在0~1之間。由于屬現(xiàn)有技術(shù),本發(fā)明不做詳述。本實施例中當前音頻幀的兩個子幀各計算一個voicing,求平均得到當前音頻幀的voicing參數(shù)。當前音頻幀的voicing參數(shù)也被緩存在一個voicing歷史buffer中,本實施例中voicing歷史buffer的長度為10。
S603:分別將所述頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于對應的存儲器;
可選的,在存儲這幾個參數(shù)之前,還包括:
一個實施例,根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述頻譜波動存儲頻譜波動存儲器中。若當前音頻幀為活動幀,則將當前音頻幀的頻譜波動存儲于頻譜波動存儲器中。
另一個實施例,根據(jù)音頻幀的聲音活動性和音頻幀是否為能量沖擊,確定是否將所述頻譜波動存儲于存儲器中。若當前音頻幀為活動幀,且當前音頻幀不屬于能量沖擊,則將當前音頻幀的頻譜波動存儲于頻譜波動存儲器中;另一個實施例中,若當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。例如,當前音頻幀為活動幀,且當前音頻幀其前一幀以及歷史第二幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。
聲音活動性標識vad_flag和聲音沖擊標識attack_flag的定義和獲得方式參照前述實施例的描述。
可選的,在存儲這些參數(shù)之前,還包括:
根據(jù)所述當前音頻幀的聲音活動性,確定是否將頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度存儲于存儲器中;如果當前音頻幀為活動幀,則存儲上述參數(shù);否則不存儲。
S604:分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值,運算操作可以包括求均值,求方差等操作。
可選的,在步驟S604之前,還可以包括:
根據(jù)所述當前音頻幀是否為敲擊音樂,更新頻譜波動存儲器中存儲的頻譜波動;一個實施例中,若當前音頻幀為敲擊音樂,將頻譜波動存儲器中有效的頻譜波動值修改為小于等于音樂閾值的一個值,其中當音頻幀的頻譜波動小于該音樂閾值時該音頻被分類為音樂幀。一個實施例中,若當前音頻幀為敲擊音樂,則將頻譜波動存儲器中有效的頻譜波動值重置為5。
可選的,在步驟S604之前,還可以包括:
根據(jù)當前音頻幀的歷史幀的活動性,更新存儲器中的頻譜波動。一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且前一幀音頻幀為非活動幀,則將頻譜波動存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù)。另一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且當前音頻幀之前連續(xù)三幀不全都為活動幀,則將當前音頻幀的頻譜波動修正為第一值。第一值可以為語音閾值,其中當音頻幀的頻譜波動大于該語音閾值時該音頻被分類為語音幀。另一個實施例中,如果確定當前音頻幀的頻譜波動存儲于頻譜波動存儲器中,且歷史幀的分類結(jié)果為音樂幀且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
例如,如果當前音頻幀前一幀為非活動幀(vad_flag=0),則除被新緩存入flux歷史buffer的當前音頻幀flux以外,其余flux歷史buffer中的數(shù)據(jù)全部重置為-1(等價于將這些數(shù)據(jù)無效化);如果當前音頻幀之前連續(xù)三幀不全都為活動幀(vad_flag=1),則將剛緩存入flux歷史buffer的當前音頻幀flux修正為16;如果當前音頻幀之前連續(xù)三幀都為活動幀(vad_flag=1),且歷史的信號分類結(jié)果長時平滑結(jié)果為音樂信號且當前音頻幀flux大于20,則將緩存的當前音頻幀的頻譜波動修改為20。其中,活動幀以及歷史的信號分類結(jié)果長時平滑結(jié)果的計算可以參考前述實施例。
一個實施例中,步驟S604包括:
分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
一般的,音樂幀的頻譜波動值較小,而語音幀的頻譜波動值較大;音樂幀的頻譜高頻帶峰度值較大,語音幀的頻譜高頻帶峰度較?。灰魳穾念l譜相關(guān)度的值較大,語音幀的頻譜相關(guān)度值較小;音樂幀的線性預測殘差能量傾斜度值較小,而語音幀的線性預測殘差能量傾斜度值較大。而因此可以根據(jù)上述參數(shù)的統(tǒng)計量對當前音頻幀進行分類。當然還可以采用其他分類方法對該當前音頻幀進行信號分類。例如,統(tǒng)計頻譜波動存儲器中存儲的頻譜波動的有效數(shù)據(jù)的數(shù)量;根據(jù)該有效數(shù)據(jù)的數(shù)量,將存儲器由近端到遠端劃分出至少兩個不同長度的區(qū)間,獲得每個區(qū)間對應的頻譜波動的有效數(shù)據(jù)的均值、頻譜高頻帶峰度有效數(shù)據(jù)的均值、頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;其中,所述區(qū)間的起點為當前幀頻譜波動的存儲位置,近端為存儲有當前幀頻譜波動的一端,遠端為存儲有歷史幀頻譜波動的一端;根據(jù)較短區(qū)間內(nèi)的上述參數(shù)的有效數(shù)據(jù)的統(tǒng)計量對所述音頻幀進行分類,若此區(qū)間內(nèi)的參數(shù)統(tǒng)計量足夠區(qū)分出所述音頻幀的類型則分類過程結(jié)束,否則在其余較長區(qū)間中最短的區(qū)間內(nèi)繼續(xù)分類過程,并以此類推。在每個區(qū)間的分類過程中,根據(jù)每一個區(qū)間區(qū)間對應的分類閾值,對所述當前音頻幀分類進行分類,當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
在信號分類后,可以對不同的信號采用不同的編碼模式進行編碼。例如,語音信號采用基于語音產(chǎn)生模型的編碼器(如CELP)進行編碼,對音樂信號采用基于變換的編碼器(如基于MDCT的編碼器)進行編碼。
本實施例中,根據(jù)頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的長時統(tǒng)計量進行分類,同時兼顧了分類的魯棒性和分類的識別速度,分類參數(shù)較少但結(jié)果較為準確,識別率較高且復雜度較低。
一個實施例中,在將上述頻譜波動flux、頻譜高頻帶峰度ph、頻譜相關(guān)度cor_map_sum和線性預測殘差能量傾斜度epsP_tilt存儲于對應的存儲器之后,可以根據(jù)存儲的頻譜波動的有效數(shù)據(jù)的數(shù)量,采用不同判斷流程進行分類。如果聲音活動性標識置為1,即當前音頻幀為活動聲音幀,則,檢查存儲的頻譜波動的有效數(shù)據(jù)的個數(shù)N。
存儲器中存儲的頻譜波動中有效數(shù)據(jù)的個數(shù)N的值不同,判斷流程也不同:
(1)參考圖7,若N=60,則分別獲得flux歷史buffer中全部數(shù)據(jù)的均值,記為flux60,近端30個數(shù)據(jù)的均值,記為flux30,近端10個數(shù)據(jù)的均值,記為flux10。分別獲得ph歷史buffer中全部數(shù)據(jù)的均值,記為ph60,近端30個數(shù)據(jù)的均值,記為ph30,近端10個數(shù)據(jù)的均值,記為ph10。分別獲得cor_map_sum歷史buffer中全部數(shù)據(jù)的均值,記為cor_map_sum60,近端30個數(shù)據(jù)的均值,記為cor_map_sum30,近端10個數(shù)據(jù)的均值,記為cor_map_sum10。并分別獲得epsP_tilt歷史buffer中全部數(shù)據(jù)的方差,記為epsP_tilt60,近端30個數(shù)據(jù)的方差,記為epsP_tilt30,近端10個數(shù)據(jù)的方差,記為epsP_tilt10。獲得voicing歷史buffer中數(shù)值大于0.9的數(shù)據(jù)的個數(shù)voicing_cnt。其中,近端為存儲有當前音頻幀對應的上述參數(shù)的一端。
首先檢查flux10,ph10,epsP_tilt10,cor_map_sum10,voicing_cnt是否滿足條件:flux10<10或epsPtilt10<0.0001或ph10>1050或cor_map_sum10>95,并且voicing_cnt<6,若滿足,則將當前音頻幀分類為音樂類型(即Mode=1)。否則,檢查flux10是否大于15且voicing_cnt是否大于2,或者flux10是否大于16,若滿足,則將當前音頻幀分類為語音類型(即Mode=0)。否則,檢查flux30,flux10,ph30,epsP_tilt30,cor_map_sum30,voicing_cnt是否滿足條件:flux30<13且flux10<15,或epsPtilt30<0.001或ph30>800或cor_map_sum30>75,若滿足,則將當前音頻幀分類為音樂類型。否則,檢查flux60,flux30,ph60,epsP_tilt60,cor_map_sum60是否滿足條件:flux60<14.5或cor_map_sum30>75或ph60>770或epsP_tilt10<0.002,并且flux30<14。若滿足,則將當前音頻幀分類為音樂類型,否則分類為語音類型。
(2)參考圖8,如果N<60且N>=30,則分別獲得flux歷史buffer,ph歷史buffer和cor_map_sum歷史buffer中近端N個數(shù)據(jù)的均值,記為fluxN,phN,cor_map_sumN,并同時得到epsP_tilt歷史buffer中近端N個數(shù)據(jù)的方差,記為epsP_tiltN。檢查fluxN,phN,epsP_tiltN,cor_map_sumN是否滿足條件:fluxN<13+(N-30)/20或cor_map_sumN>75+(N-30)/6或phN>800或epsP_tiltN<0.001。若滿足,則將當前音頻幀分類為音樂類型,否則為語音類型。
(3)參考圖9,如果N<30且N>=10,則分別獲得flux歷史buffer,ph歷史buffer和cor_map_sum歷史buffer中近端N個數(shù)據(jù)的均值,記為fluxN,phN和cor_map_sumN,并同時得到epsP_tilt歷史buffer中近端N個數(shù)據(jù)的方差,記為epsP_tiltN。
首先檢查歷史分類結(jié)果的長時滑動平均mode_mov是否大于0.8。若是,則檢查fluxN,phN,epsP_tiltN,cor_map_sumN是否滿足條件:fluxN<16+(N-10)/20或phN>1000-12.5×(N-10)或epsP_tiltN<0.0005+0.000045×(N-10)或cor_map_sumN>90-(N-10)。否則,獲得voicing歷史buffer中數(shù)值大于0.9的數(shù)據(jù)的個數(shù)voicing_cnt,并檢查是否滿足條件:fluxN<12+(N-10)/20或phN>1050-12.5×(N-10)或epsP_tiltN<0.0001+0.000045×(N-10)或cor_map_sumN>95-(N-10),并且voicing_cnt<6。如果滿足上面兩組條件中的任一組,則將當前音頻幀分類為音樂類型,否則為語音類型。
(4)參考圖10,如果N<10且N>5,則分別獲得ph歷史buffer,cor_map_sum歷史buffer中近端N個數(shù)據(jù)的均值,記為phN和cor_map_sumN.以及epsP_tilt歷史buffer中近端N個數(shù)據(jù)的方差,記為epsP_tiltN。同時獲得voicing歷史buffer中近端6個數(shù)據(jù)中數(shù)值大于0.9的數(shù)據(jù)的個數(shù)voicing_cnt6。
檢查是否滿足條件:epsP_tiltN<0.00008或phN>1100或cor_map_sumN>100,并且voicing_cnt<4。若滿足,則將當前音頻幀分類為音樂類型,否則為語音類型。
(5)如果N<=5,則以前一音頻幀的分類結(jié)果作為當前音頻幀的分類類型。
上述實施例為根據(jù)頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的長時統(tǒng)計量進行分類的一種具體分類流程,本領(lǐng)域技術(shù)人員可以理解的是,可以使用別的流程進行分類。本實施例中的分類流程可以應用在前述實施例中的對應步驟,例如作為圖2的步驟103、圖4的步驟105或者圖6中的步驟604的具體分類方法。
參考圖11,一種音頻信號分類方法的另一個實施例包括:
S1101:將輸入音頻信號進行分幀處理;
S1102:獲得當前音頻幀的線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率;
線性預測殘差能量傾斜度epsP_tilt表示輸入音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;頻譜音調(diào)個數(shù)Ntonal表示當前音頻幀中的0~8kHz頻帶上頻點峰值大于預定值的頻點個數(shù);頻譜音調(diào)個數(shù)在低頻帶上的比率ratio_Ntonal_lf表示頻譜音調(diào)個數(shù)與低頻帶音調(diào)個數(shù)的比值。具體計算參照前述實施例的描述。
S1103:分別將線性預測殘差能量傾斜度epsP_tilt、頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率存儲到對應的存儲器中;
當前音頻幀的線性預測殘差能量傾斜度epsP_tilt、頻譜音調(diào)個數(shù)各自被緩存入各自的歷史buffer中,本實施例中這兩個buffer的長度也均為60。
可選的,在存儲這些參數(shù)之前,還包括:根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率存儲于存儲器中;并在確定需要存儲時將將所述線性預測殘差能量傾斜度存儲于存儲器中。如果當前音頻幀為活動幀,則存儲上述參數(shù);否則不存儲。
S1104:分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;所述統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值,運算操作可以包括求均值,求方差等操作。
一個實施例中,分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量包括:獲得存儲的線性預測殘差能量傾斜度的方差;獲得存儲的頻譜音調(diào)個數(shù)的均值。
S1105:根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;
一個實施例中,該步驟包括:
當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:
線性預測殘差能量傾斜度的方差小于第五閾值;或
頻譜音調(diào)個數(shù)的均值大于第六閾值;或
頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
一般的,音樂幀的線性預測殘差能量傾斜度值較小,而語音幀的線性預測殘差能量傾斜度值較大;音樂幀的頻譜音調(diào)個數(shù)較多,而語音幀的頻譜音調(diào)個數(shù)較少;音樂幀的頻譜音調(diào)個數(shù)在低頻帶上的比率較低,而語音幀的頻譜音調(diào)個數(shù)在低頻帶上的比率較高(語音幀的能量主要集中在低頻帶上)。而因此可以根據(jù)上述參數(shù)的統(tǒng)計量對當前音頻幀進行分類。當然還可以采用其他分類方法對該當前音頻幀進行信號分類。
在信號分類后,可以對不同的信號采用不同的編碼模式進行編碼。例如,語音信號采用基于語音產(chǎn)生模型的編碼器(如CELP)進行編碼,對音樂信號采用基于變換的編碼器(如基于MDCT的編碼器)進行編碼。
上述實施例中,根據(jù)線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)的長時統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低。
一個實施例中,分別將線性預測殘差能量傾斜度epsP_tilt、頻譜音調(diào)個數(shù)Ntonal和頻譜音調(diào)個數(shù)在低頻帶上的比率ratio_Ntonal_lf存儲到對應的buffer后,獲得epsP_tilt歷史buffer中所有數(shù)據(jù)的方差,記為epsP_tilt60。獲得Ntonal歷史buffer中所有數(shù)據(jù)的均值,記為Ntonal60。獲得Ntonal_lf歷史buffer中所有數(shù)據(jù)的均值,并計算該均值與Ntonal60的比,記為ratio_Ntonal_lf60。參考圖12,根據(jù)如下法則進行當前音頻幀的分類:
如果聲音活動性標識為1(即vad_flag=1),即當前音頻幀為活動聲音幀,則,則檢查是否滿足條件:epsP_tilt60<0.002或Ntonal60>18或ratio_Ntonal_lf60<0.42,若滿足,則將當前音頻幀分類為音樂類型(即Mode=1),否則為語音類型(即Mode=0)。
上述實施例為根據(jù)線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率進行分類的一種具體分類流程,本領(lǐng)域技術(shù)人員可以理解的是,可以使用別的流程進行分類。本實施例中的分類流程可以應用在前述實施例中的對應步驟,例如作為圖5的步驟504或圖11步驟1105的具體分類方法。
本發(fā)明是一種低復雜度低內(nèi)存開銷的音頻編碼模式選擇方法。同時兼顧了分類的魯棒性和分類的識別速度。
與上述方法實施例相關(guān)聯(lián),本發(fā)明還提供一種音頻信號分類裝置,該裝置可以位于終端設備,或網(wǎng)絡設備中。該音頻信號分類裝置可以執(zhí)行上述方法實施例的步驟。
參考圖13,本發(fā)明一種音頻信號的分類裝置的一個實施例,用于對輸入的音頻信號進行分類,其包括:
存儲確認單元1301,用于根據(jù)所述當前音頻幀的聲音活動性,確定是否獲得并存儲當前音頻幀的頻譜波動,其中,所述頻譜波動表示音頻信號的頻譜的能量波動;
存儲器1302,用于在存儲確認單元輸出需要存儲的結(jié)果時存儲所述頻譜波動;
更新單元1303,用于根據(jù)語音幀是否為敲擊音樂或歷史音頻幀的活動性,更新存儲器中存儲的頻譜波動;
分類單元1304,用于根據(jù)存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的統(tǒng)計量,將所述當前音頻幀分類為語音幀或者音樂幀。當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足語音分類條件時,將所述當前音頻幀分類為語音幀;當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀。
一個實施例中,存儲確認單元具體用于:確認當前音頻幀為活動幀時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
另一個實施例中,存儲確認單元具體用于:確認當前音頻幀為活動幀,且當前音頻幀不屬于能量沖擊時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
另一個實施例中,存儲確認單元具體用于:確認當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊時,輸出需要存儲當前音頻幀的頻譜波動的結(jié)果。
一個實施例中,更新單元具體用于若當前音頻幀屬于敲擊音樂,則修改頻譜波動存儲器中已存儲的頻譜波動的值。
另一個實施例中,更新單元具體用于:如果當前音頻幀為活動幀,且前一幀音頻幀為非活動幀時,則將存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù);或,如果當前音頻幀為活動幀,且當前音頻幀之前連續(xù)三幀不全都為活動幀時,則將當前音頻幀的頻譜波動修正為第一值;或,如果當前音頻幀為活動幀,且歷史分類結(jié)果為音樂信號且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
參考圖14,一個實施例中,分類單元1303包括:
計算單元1401,用于獲得存儲器中存儲的頻譜波動的部分或全部有效數(shù)據(jù)的均值;
判斷單元1402,用于將所述頻譜波動的有效數(shù)據(jù)的均值與音樂分類條件做比較,當所述頻譜波動的有效數(shù)據(jù)的均值滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
例如,當所獲得的頻譜波動的有效數(shù)據(jù)的均值小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
上述實施例,由于根據(jù)頻譜波動的長時統(tǒng)計量對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低;同時考慮聲音活動性和敲擊音樂的因素對頻譜波動進行調(diào)整,對音樂信號識別率更高,適合混合音頻信號分類。
另一個實施例中,音頻信號分類裝置還包括:
參數(shù)獲得單元,用于獲得當前音頻幀的頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;其中,頻譜高頻帶峰度表示當前音頻幀的頻譜在高頻帶上的峰度或能量銳度;頻譜相關(guān)度表示當前音頻幀的信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度;線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
該存儲確認單元還用于,根據(jù)所述當前音頻幀的聲音活動性,確定是否存儲所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
該存儲單元還用于,當存儲確認單元輸出需要存儲的結(jié)果時存儲所述頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
該分類單元具體用于,分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀。當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足語音分類條件時,將所述當前音頻幀分類為語音幀;當頻譜波動的有效數(shù)據(jù)的統(tǒng)計量滿足音樂分類條件時,將所述當前音頻幀分類為音樂幀.
一個實施例中,該分類單元具體包括:
計算單元,用于分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
判斷單元,用于當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
上述實施例中,根據(jù)頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的長時統(tǒng)計量對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低;同時考慮聲音活動性和敲擊音樂的因素對頻譜波動進行調(diào)整,根據(jù)當前音頻幀所處信號環(huán)境,對頻譜波動進行修正,提高分類識別率,適合混合音頻信號分類。
參考圖15,本發(fā)明一種音頻信號的分類裝置的另一個實施例,用于對輸入的音頻信號進行分類,其包括:
分幀單元1501,用于對輸入音頻信號進行分幀處理;
參數(shù)獲得單元1502,用于獲得當前音頻幀的線性預測殘差能量傾斜度;其中,線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
存儲單元1503,用于存儲線性預測殘差能量傾斜度;
分類單元1504,用于根據(jù)存儲器中預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量,對所述音頻幀進行分類。
參考圖16,音頻信號的分類裝置還包括:
存儲確認單元1505,用于根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述線性預測殘差能量傾斜度存儲于存儲器中;
則該存儲單元1503具體用于,當存儲確認單元確認需要確定需要存儲時將將所述線性預測殘差能量傾斜度存儲于存儲器中。
一個實施例中,預測殘差能量傾斜度部分數(shù)據(jù)的統(tǒng)計量為預測殘差能量傾斜度部分數(shù)據(jù)的方差;
所述分類單元具體用于將預測殘差能量傾斜度部分數(shù)據(jù)的方差與音樂分類閾值相比較,當所述預測殘差能量傾斜度部分數(shù)據(jù)的方差小于音樂分類閾值時,將所述當前音頻幀分類為音樂幀;否則將所述當前音頻幀分類為語音幀。
另一個實施例中,參數(shù)獲得單元還用于:獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度和頻譜相關(guān)度,并存儲于對應的存儲器中;
則該分類單元具體用于:分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)所述有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
參考圖17,具體的,一個實施例中,分類單元1504包括:
計算單元1701,用于分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
判斷單元1702,用于當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
另一個實施例中,參數(shù)獲得單元還用于:獲得當前音頻幀的頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率,并存儲于存儲器;
則該分類單元具體用于:分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
具體的該分類單元包括:
計算單元,用于獲得線性預測殘差能量傾斜度有效數(shù)據(jù)的方差和存儲的頻譜音調(diào)個數(shù)的均值;
判斷單元,用于當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:線性預測殘差能量傾斜度的方差小于第五閾值;或頻譜音調(diào)個數(shù)的均值大于第六閾值;或頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
具體的,參數(shù)獲得單元根據(jù)下列公式計算當前音頻幀的線性預測殘差能量傾斜度:
其中,epsP(i)表示當前音頻幀第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。
具體的,該參數(shù)獲得單元用于統(tǒng)計當前音頻幀在0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量作為頻譜音調(diào)個數(shù);所述參數(shù)獲得單元用于計算當前音頻幀在0~4kHz頻帶上頻點峰值大于預定值的頻點數(shù)量與0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。
本實施例中,根據(jù)線性預測殘差能量傾斜度的長時統(tǒng)計量對音頻信號進行分類,同時兼顧了分類的魯棒性和分類的識別速度,分類參數(shù)較少但結(jié)果較為準確,復雜度低、內(nèi)存開銷低。
本發(fā)明一種音頻信號的分類裝置的另一個實施例,用于對輸入的音頻信號進行分類,其包括:
分幀單元,用于將輸入音頻信號進行分幀處理;
參數(shù)獲得單元,用于獲得當前音頻幀的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;其中,頻譜波動表示音頻信號的頻譜的能量波動,頻譜高頻帶峰度表示當前音頻幀的頻譜在高頻帶上的峰度或能量銳度;頻譜相關(guān)度表示當前音頻幀的信號諧波結(jié)構(gòu)在相鄰幀間的穩(wěn)定度;線性預測殘差能量傾斜度表示音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;
存儲單元,用于存儲頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
分類單元,用于分別獲得存儲的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度中有效數(shù)據(jù)的統(tǒng)計量,根據(jù)有效數(shù)據(jù)的統(tǒng)計量將所述音頻幀分類為語音幀或者音樂幀;其中,所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的有效數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值,運算操作可以包括求均值,求方差等操作。
一個實施例中,音頻信號的分類裝置還可以包括:
存儲確認單元,用于根據(jù)所述當前音頻幀的聲音活動性,確定是否存儲當前音頻幀的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度;
存儲單元,具體用于當存儲確認單元輸出需要存儲的結(jié)果時,存儲頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度。
具體的,一個實施例中,存儲確認單元根據(jù)所述當前音頻幀的聲音活動性,確定是否將所述頻譜波動存儲頻譜波動存儲器中。如果當前音頻幀為活動幀,則存儲確認單元輸出存儲上述參數(shù)的結(jié)果;否則輸出不需要存儲的結(jié)果。另一個實施例中,存儲確認單元根據(jù)音頻幀的聲音活動性和音頻幀是否為能量沖擊,確定是否將所述頻譜波動存儲于存儲器中。若當前音頻幀為活動幀,且當前音頻幀不屬于能量沖擊,則將當前音頻幀的頻譜波動存儲于頻譜波動存儲器中;另一個實施例中,若當前音頻幀為活動幀,且包含當前音頻幀與其歷史幀在內(nèi)的多個連續(xù)幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。例如,當前音頻幀為活動幀,且當前音頻幀其前一幀以及歷史第二幀都不屬于能量沖擊,則將音頻幀的頻譜波動存儲于頻譜波動存儲器中;否則不存儲。
一個實施例中,分類單元包括:
計算單元,用于分別獲得存儲的頻譜波動有效數(shù)據(jù)的均值,頻譜高頻帶峰度有效數(shù)據(jù)的均值,頻譜相關(guān)度有效數(shù)據(jù)的均值和線性預測殘差能量傾斜度有效數(shù)據(jù)的方差;
判斷單元,用于當下列條件之一滿足時,將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:所述頻譜波動有效數(shù)據(jù)的均值小于第一閾值;或者頻譜高頻帶峰度有效數(shù)據(jù)的均值大于第二閾值;或者所述頻譜相關(guān)度有效數(shù)據(jù)的均值大于第三閾值;或者線性預測殘差能量傾斜度有效數(shù)據(jù)的方差小于第四閾值。
當前音頻幀的頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的具體計算方式,可以參照上述方法實施例。
進一步的,該音頻信號的分類裝置還可以包括:
更新單元,用于根據(jù)語音幀是否為敲擊音樂或歷史音頻幀的活動性,更新存儲器中存儲的頻譜波動。一個實施例中,更新單元具體用于若當前音頻幀屬于敲擊音樂,則修改頻譜波動存儲器中已存儲的頻譜波動的值。另一個實施例中,更新單元具體用于:如果當前音頻幀為活動幀,且前一幀音頻幀為非活動幀時,則將存儲器中已存儲的除當前音頻幀的頻譜波動之外的其他頻譜波動的數(shù)據(jù)修改為無效數(shù)據(jù);或,如果當前音頻幀為活動幀,且當前音頻幀之前連續(xù)三幀不全都為活動幀時,則將當前音頻幀的頻譜波動修正為第一值;或,如果當前音頻幀為活動幀,且歷史分類結(jié)果為音樂信號且當前音頻幀的頻譜波動大于第二值,則將當前音頻幀的頻譜波動修正為第二值,其中,第二值大于第一值。
本實施例中,根據(jù)頻譜波動、頻譜高頻帶峰度、頻譜相關(guān)度和線性預測殘差能量傾斜度的長時統(tǒng)計量進行分類,同時兼顧了分類的魯棒性和分類的識別速度,分類參數(shù)較少但結(jié)果較為準確,識別率較高且復雜度較低。
本發(fā)明一種音頻信號的分類裝置的另一個實施例,用于對輸入的音頻信號進行分類,其包括:
分幀單元,用于對輸入音頻信號進行分幀處理;
參數(shù)獲得單元,用于獲得獲得當前音頻幀的線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率;其中,線性預測殘差能量傾斜度epsP_tilt表示輸入音頻信號的線性預測殘差能量隨線性預測階數(shù)的升高而變化的程度;頻譜音調(diào)個數(shù)Ntonal表示當前音頻幀中的0~8kHz頻帶上頻點峰值大于預定值的頻點個數(shù);頻譜音調(diào)個數(shù)在低頻帶上的比率ratio_Ntonal_lf表示頻譜音調(diào)個數(shù)與低頻帶音調(diào)個數(shù)的比值。具體計算參照前述實施例的描述。
存儲單元,用于存儲線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)和頻譜音調(diào)個數(shù)在低頻帶上的比率;
分類單元,用于分別獲得存儲的線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量;根據(jù)所述線性預測殘差能量傾斜度的統(tǒng)計量、頻譜音調(diào)個數(shù)的統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率,將所述音頻幀分類為語音幀或者音樂幀;所述有效數(shù)據(jù)的統(tǒng)計量指對存儲器中存儲的數(shù)據(jù)運算操作后獲得的數(shù)據(jù)值。
具體的,該分類單元包括:
計算單元,用于獲得線性預測殘差能量傾斜度有效數(shù)據(jù)的方差和存儲的頻譜音調(diào)個數(shù)的均值;
判斷單元,用于當當前音頻幀為活動幀,且滿足下列條件之一,則將所述當前音頻幀分類為音樂幀,否則將所述當前音頻幀分類為語音幀:線性預測殘差能量傾斜度的方差小于第五閾值;或頻譜音調(diào)個數(shù)的均值大于第六閾值;或頻譜音調(diào)個數(shù)在低頻帶上的比率小于第七閾值。
具體的,參數(shù)獲得單元根據(jù)下列公式計算當前音頻幀的線性預測殘差能量傾斜度:
其中,epsP(i)表示當前音頻幀第i階線性預測的預測殘差能量;n為正整數(shù),表示線性預測的階數(shù),其小于等于線性預測的最大階數(shù)。
具體的,該參數(shù)獲得單元用于統(tǒng)計當前音頻幀在0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量作為頻譜音調(diào)個數(shù);所述參數(shù)獲得單元用于計算當前音頻幀在0~4kHz頻帶上頻點峰值大于預定值的頻點數(shù)量與0~8kHz頻帶上頻點峰值大于預定值的頻點數(shù)量的比值,作為頻譜音調(diào)個數(shù)在低頻帶上的比率。
上述實施例中,根據(jù)線性預測殘差能量傾斜度、頻譜音調(diào)個數(shù)的長時統(tǒng)計量和頻譜音調(diào)個數(shù)在低頻帶上的比率對音頻信號進行分類,參數(shù)較少,識別率較高且復雜度較低。
上述音頻信號的分類裝置可以與不同的編碼器相連接,對不同的信號采用不同的編碼器進行編碼。例如,音頻信號的分類裝置分別與兩個編碼器連接,對語音信號采用基于語音產(chǎn)生模型的編碼器(如CELP)進行編碼,對音樂信號采用基于變換的編碼器(如基于MDCT的編碼器)進行編碼。上述裝置實施例中的各個具體參數(shù)的定義和獲得方法可以參照方法實施例的相關(guān)描述。
與上述方法實施例相關(guān)聯(lián),本發(fā)明還提供一種音頻信號分類裝置,該裝置可以位于終端設備,或網(wǎng)絡設備中。該音頻信號分類裝置可以由硬件電路來實現(xiàn),或者由軟件配合硬件來實現(xiàn)。例如,參考圖18,由一個處理器調(diào)用音頻信號分類裝置來實現(xiàn)對音頻信號的分類。該音頻信號分類裝置可以執(zhí)行上述方法實施例中的各種方法和流程。該音頻信號分類裝置的具體模塊和功能可以參照上述裝置實施例的相關(guān)描述。
圖19的設備1900的一個例子是編碼器。設備100包括處理器1910和存儲器1920。
存儲器1920可以包括隨機存儲器、閃存、只讀存儲器、可編程只讀存儲器、非易失性存儲器或寄存器等。處理器1920可以是中央處理器(Central Processing Unit,CPU)。
存儲器1910用于存儲可執(zhí)行指令。處理器1920可以執(zhí)行存儲器1910中存儲的可執(zhí)行指令,用于:
設備1900的其它功能和操作可參照上面圖3至圖12的方法實施例的過程,為了避免重復,此處不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
以上所述僅為本發(fā)明的幾個實施例,本領(lǐng)域的技術(shù)人員依據(jù)申請文件公開的可以對本發(fā)明進行各種改動或變型而不脫離本發(fā)明的精神和范圍。