??? 摘? 要: 研究了G.729編碼流說話人識(shí)別" title="說話人識(shí)別">說話人識(shí)別算法,提出了一種使用固定碼書增益作為判決參數(shù)的G.729靜音幀判決方法。將這一方法應(yīng)用于低復(fù)雜度的G.729編碼流說話人識(shí)別,去除壓縮語音數(shù)據(jù)中的靜音幀從而提高識(shí)別率。
??? 關(guān)鍵詞: 編碼流? 說話人識(shí)別? G.729? 靜音幀
?
??? 因特網(wǎng)已經(jīng)迅速成為了承載著話音、視頻、數(shù)據(jù)的全球化的通信網(wǎng)絡(luò)。在這些業(yè)務(wù)中,近年來最重要的趨勢無疑是迅速增長的VoIP(Voice over IP)服務(wù)。隨著VoIP電話業(yè)務(wù)的持續(xù)增長,越來越需要針對VoIP提供的各種交互式語音服務(wù)的實(shí)時(shí)在線說話人識(shí)別系統(tǒng)[1]。而且,安全司法部門迫切需要實(shí)時(shí)地對特定說話人進(jìn)行識(shí)別。更準(zhǔn)確地說,實(shí)時(shí)、針對大量用戶的在線說話人識(shí)別系統(tǒng)相對于高延遲的離線說話人系統(tǒng)具有更廣泛的應(yīng)用前景,適合多種實(shí)際應(yīng)用環(huán)境[2]。
??? 然而,傳統(tǒng)的自動(dòng)說話人識(shí)別方法(ASR)不能直接應(yīng)用于實(shí)時(shí)的VoIP通話中,這是因?yàn)锳SR是建立在處理未經(jīng)壓縮的語音波形(PCM)之上的,但是語音在IP網(wǎng)絡(luò)中傳輸時(shí)絕大多數(shù)情況下都是以編碼壓縮形式傳輸。在發(fā)送端,為了減少傳輸?shù)臄?shù)據(jù)量,發(fā)送者使用語音壓縮標(biāo)準(zhǔn)對語音進(jìn)行壓縮;在接收端,在應(yīng)用傳統(tǒng)的說話人識(shí)別方法之前必須對壓縮話音進(jìn)行解壓縮以獲得原始語音波形的近似。由于這一過程具有很長的時(shí)間和系統(tǒng)資源消耗,這種處理方式很不適合同時(shí)監(jiān)控大量話路的VoIP設(shè)備組件或網(wǎng)絡(luò)嗅探器。
??? Motorola公司項(xiàng)目研究人員M. Petracca、A. Servetti和J.C. De Martin對在壓縮語音上實(shí)現(xiàn)低復(fù)雜度的說話人識(shí)別進(jìn)行了一系列試驗(yàn)性的研究[1,3,4]。他們的目的是,不經(jīng)解碼語音數(shù)據(jù)流,直接提取與說話人相關(guān)的壓縮編碼" title="壓縮編碼">壓縮編碼參數(shù),實(shí)現(xiàn)識(shí)別模型的建立和說話人的識(shí)別,從而節(jié)約重要的系統(tǒng)資源,在VoIP設(shè)備組件或網(wǎng)絡(luò)嗅探器上進(jìn)行實(shí)時(shí)的說話人識(shí)別。參考文獻(xiàn)[1]給出了該方法在各種編碼器下的識(shí)別性能,且在給出的大多數(shù)語音壓縮算法下得到了很好的識(shí)別效果。但是,對于VoIP中廣泛應(yīng)用的碼激勵(lì)線性預(yù)測壓縮算法(G.729標(biāo)準(zhǔn))其識(shí)別效果卻不是很好,對14個(gè)說話人進(jìn)行閉集識(shí)別,分析10秒、20秒、30秒的話音,系統(tǒng)的識(shí)別率只有77.0%、83.1%、87.7%。
??? 本文應(yīng)用參考文獻(xiàn)[1,3,4]給出的低復(fù)雜度編碼流說話人識(shí)別方法設(shè)計(jì)了G.729編碼流識(shí)別算法" title="識(shí)別算法">識(shí)別算法,在十個(gè)說話人內(nèi)進(jìn)行閉集識(shí)別,分析10秒、20秒、30秒的話音,系統(tǒng)的識(shí)別率分別為72.3%、80.0%、86.9%??紤]到該方法是基于編碼壓縮參數(shù)的統(tǒng)計(jì)量的,而靜音幀的存在會(huì)影響統(tǒng)計(jì)量的收斂速度并且會(huì)引入噪音,從而影響統(tǒng)計(jì)量的結(jié)果。針對這一問題,本文嘗試去除壓縮語音數(shù)據(jù)幀中的靜音幀以提高系統(tǒng)的識(shí)別率。為了在編碼流中準(zhǔn)確地檢測出靜音幀,本文統(tǒng)計(jì)了G.729壓縮語音中靜音幀和語音幀在各個(gè)編碼參數(shù)上的統(tǒng)計(jì)特征,發(fā)現(xiàn)靜音幀與語音幀的固定碼書增益數(shù)值大小相差很大。在這一發(fā)現(xiàn)之上,提出一種以固定碼書增益均值乘以比率系數(shù)作為閾值的靜音幀、語音幀選擇方法。將這一方法用于G.729編碼流識(shí)別算法中,分析10秒、20秒、30秒的話音,系統(tǒng)的識(shí)別率由72.3%、80.0%、86.9%提高到79.2%、89.2%、90.8%,同時(shí)識(shí)別所需的時(shí)間也得到了一定的縮短。
1 G.729編碼流識(shí)別算法概述
1.1 編碼流語音特征
??? 由于語音處理中主要的特征變化比較緩慢,語音信號(hào)通常以10~25ms間隔進(jìn)行參數(shù)化處理。對單個(gè)說話人提取出的特征向量通??梢钥醋魇沁B續(xù)密度分布的取樣。不同說話人的分布在整個(gè)說話人空間內(nèi)是交疊的,但理想的情況下不同說話人之間又是可分的,這使得說話人識(shí)別成為可能。例如,代表著重音和音調(diào)信息的基音頻率變化范圍很大,但是一個(gè)人在一定的時(shí)段內(nèi)基音頻率的平均值是與所說文本無關(guān)的確定值[5]。
??? 本文的假設(shè)是:在足夠長的語音時(shí)段內(nèi),比特流中的編碼參數(shù)值包含著可以區(qū)分不同說話人的特征。對G.729編碼參數(shù)的分析可以看到,這些參數(shù)確實(shí)可以看作是說話人的特征。例如自適應(yīng)碼書標(biāo)號(hào)幾乎同基音頻率成線性關(guān)系,并且與基音頻率具有近乎相同的分布。
??? 本文選擇表征聲道特征的前五級LSP參數(shù)、激勵(lì)特征的自適應(yīng)碼書標(biāo)號(hào)、增益能量的自適應(yīng)碼書增益和固定碼書增益作為識(shí)別特征參數(shù)[6]。
1.2 說話人特征描述
??? 本文選擇標(biāo)準(zhǔn)差" title="標(biāo)準(zhǔn)差">標(biāo)準(zhǔn)差(δ)和偏度(Skewness)作為說話人識(shí)別參數(shù)的統(tǒng)計(jì)特征描述。標(biāo)準(zhǔn)差和偏度的定義如下:
??? 
??? 
??? 標(biāo)準(zhǔn)差反映總體的相對離散程度;偏度是描述變量取值分布對稱性的統(tǒng)計(jì)量,偏度的絕對值越大變量的分布形態(tài)偏移程度也越大。
??? 為了更有效地利用標(biāo)準(zhǔn)差和偏度統(tǒng)計(jì)量來進(jìn)行識(shí)別,必須知道統(tǒng)計(jì)量在多長的統(tǒng)計(jì)時(shí)間內(nèi)可以穩(wěn)定下來,即根據(jù)該統(tǒng)計(jì)量得到的識(shí)別結(jié)果在多長時(shí)間穩(wěn)定可靠。根據(jù)統(tǒng)計(jì)量穩(wěn)定下來的最短時(shí)間來確定分析時(shí)間,避免由于統(tǒng)計(jì)時(shí)間過短使得獲取的統(tǒng)計(jì)值不穩(wěn)定或者由于統(tǒng)計(jì)時(shí)間過長造成不必要的識(shí)別延遲。因此,必須統(tǒng)計(jì)說話人語音在開始部分的統(tǒng)計(jì)量與整段語音之間的關(guān)系隨時(shí)間的變化情況。圖 1給出了1~130秒自適應(yīng)碼書標(biāo)號(hào)的標(biāo)準(zhǔn)差和偏度與長時(shí)語音(半小時(shí)的語音)的方差和偏度之間的比率。
?

??? 從圖1中可以清楚地看到,40秒后標(biāo)準(zhǔn)差就收斂了,而偏度在120秒后才收斂。這一結(jié)果很重要,因?yàn)樵?20秒后就不需要觀察統(tǒng)計(jì)量來反映出真實(shí)的說話人身份(需要統(tǒng)計(jì)模型),而在20~40秒間就可以獲得足夠多的信息來區(qū)分不同的說話人。
1.3 說話人區(qū)分性和特征參數(shù)選擇" title="參數(shù)選擇">參數(shù)選擇
1.3.1 說話人區(qū)分性
??? 通常用來估計(jì)參數(shù)的說話人識(shí)別性能的指標(biāo)是該參數(shù)的說話人集間和集內(nèi)標(biāo)準(zhǔn)差的比值,這一比值被稱為F-ratio。參考文獻(xiàn)[3]對GSM AMR壓縮編碼參數(shù)的F-ratio進(jìn)行了計(jì)算,選擇F-ratio最大的幾個(gè)參數(shù)的統(tǒng)計(jì)量進(jìn)行識(shí)別,發(fā)現(xiàn)該方法并沒有取得很好的效果。這一試驗(yàn)說明在編碼流說話人識(shí)別中,不能單一地以F-ratio的大小作為標(biāo)準(zhǔn)對編碼參數(shù)進(jìn)行選擇。
??? 另一個(gè)衡量參數(shù)的說話人區(qū)分性能的方法是觀察一對選擇參數(shù)在一定時(shí)間段內(nèi)不同說話人的散點(diǎn)圖。圖2給出了說話人A和B在5秒、10秒、20秒、30秒以LSPq-1標(biāo)準(zhǔn)差和LSPq-2標(biāo)準(zhǔn)差為坐標(biāo)的二維散點(diǎn)圖。
??? 從圖2中可以看到,隨著分析時(shí)長的變大,同一說話人數(shù)據(jù)點(diǎn)的散布越來越小。在5秒和10秒的短時(shí)分析下存在一定的重疊現(xiàn)象,而在20秒、30秒的長時(shí)分析下,很明顯不同說話人的數(shù)據(jù)點(diǎn)是分離的。該結(jié)果表明,可以使用編碼參數(shù)的統(tǒng)計(jì)量的歐氏距離來區(qū)分不同的說話人。
?

1.3.2? 特征參數(shù)選擇
??? 參考文獻(xiàn)[3]使用了一種集合排除方法對每個(gè)特征的識(shí)別性能進(jìn)行排序。該方法假設(shè)一個(gè)特征集的識(shí)別性能是與使用這個(gè)集所造成的錯(cuò)誤率成反比的。算法的步驟如下:假設(shè)開始時(shí)特征的數(shù)目為N,計(jì)算這N個(gè)特征集的每個(gè)N-1個(gè)特征的子集的識(shí)別率。找到具有最高識(shí)別率的子集,則未包括的那個(gè)特征就被確定為這N個(gè)特征中識(shí)別效果最差的特征,下一次特征排序過程中排除這個(gè)特征。這一過程直到所有的特征都被排除出集合外才結(jié)束,特征的識(shí)別性能的排序就是特征被排除出集合的次序的倒序。
??? 本文使用該特征參數(shù)選擇方法在一個(gè)訓(xùn)練數(shù)據(jù)集下根據(jù)訓(xùn)練集下的識(shí)別率進(jìn)行參數(shù)選擇,將訓(xùn)練集中取得最高識(shí)別率的特征參數(shù)選擇作為特征參數(shù)選擇的結(jié)果進(jìn)行識(shí)別。
1.4 說話人識(shí)別方法
??? 識(shí)別是基于1.1節(jié)中選擇的壓縮編碼參數(shù)的標(biāo)準(zhǔn)差和偏度進(jìn)行的。首先計(jì)算每個(gè)說話人在訓(xùn)練集中120秒的統(tǒng)計(jì)量作為參考值,然后以同樣的方法計(jì)算待測試集的統(tǒng)計(jì)量。計(jì)算待識(shí)別說話人特征統(tǒng)計(jì)量與每個(gè)說話人參考統(tǒng)計(jì)量之間的歐氏平方根距離,與待識(shí)別說話人統(tǒng)計(jì)量具有最小距離的參考說話人作為識(shí)別結(jié)果。
??? 參考文獻(xiàn)[4]把經(jīng)過實(shí)驗(yàn)得出的標(biāo)準(zhǔn)差(δ)和偏度Skewness(ξ)的線性組合作為判決式,即:
??? 
??? 式中,d(a,b)是a與b之間的歐氏平方根距離,X是待分類說話人向量,Yi是第i個(gè)說話人參考向量,α是實(shí)驗(yàn)得到的比例系數(shù)(α=0.48),
是待分類說話人第i個(gè)說話人參考向量經(jīng)過特征參數(shù)選擇后被選中的編碼參數(shù)標(biāo)準(zhǔn)差組成的向量,
是待分類說話人第i個(gè)說話人參考向量經(jīng)過特征參數(shù)選擇后被選中的編碼參數(shù)標(biāo)準(zhǔn)差組成的向量。
1.5 實(shí)驗(yàn)結(jié)果
??? 本文使用863語料庫,在10個(gè)說話人中進(jìn)行閉集識(shí)別,每個(gè)說話人26段語音,用G.729編碼器壓縮編碼模擬實(shí)際的VoIP聲碼器。其中每個(gè)人的13段語音作為訓(xùn)練數(shù)據(jù)進(jìn)行1.3.2節(jié)中的特征參數(shù)選擇,再使用選擇的參數(shù)在其余的10人共130段語音中進(jìn)行識(shí)別性能的測試。
1.5.1 特征選擇實(shí)驗(yàn)
??? 使用1.1節(jié)中所選的8個(gè)壓縮編碼參數(shù)的標(biāo)準(zhǔn)差和偏度共16個(gè)統(tǒng)計(jì)量作為初始特征集,采用1.4節(jié)中介紹的識(shí)別方法,使用1.3.2中介紹的特征參數(shù)選擇方法在30秒的話音統(tǒng)計(jì)中得到特征統(tǒng)計(jì)量識(shí)別性能的排序如表1所示,相應(yīng)的識(shí)別率如表2所示。
?

?

?
??? 從表 1、表 2中可以看出,當(dāng)特征統(tǒng)計(jì)量個(gè)數(shù)為10時(shí),系統(tǒng)有最高的識(shí)別率。此時(shí)選擇的識(shí)別參數(shù)為LSPq-1、LSPq-2、LSPq-3、LSPq-4、Adaptive cbk idx、Fixed cbk gain的標(biāo)準(zhǔn)差和LSPq-1、LSPq-2、Adaptive cbk idx、Adaptive cbk gain的偏度。
1.5.2 識(shí)別性能實(shí)驗(yàn)
??? 使用1.5.1節(jié)實(shí)驗(yàn)中選擇的10個(gè)特征統(tǒng)計(jì)量在測試集上進(jìn)行識(shí)別,表 3給出了該方法在10秒、20秒、30秒話音統(tǒng)計(jì)下的識(shí)別率。
?

?
2 靜音幀選擇
??? 由1.5節(jié)中的實(shí)驗(yàn)結(jié)果可見,未改進(jìn)的G.729編碼流說話人識(shí)別方法的識(shí)別性能并不理想,尤其在分析時(shí)間較短的情況下(10秒、20秒)。參考文獻(xiàn)[1]給出的系統(tǒng)在14個(gè)說話人內(nèi)進(jìn)行閉集識(shí)別,使用的編碼參數(shù)為LSP參數(shù)的前三級、自適應(yīng)碼書標(biāo)號(hào)、相關(guān)自適應(yīng)碼書標(biāo)號(hào)、第一子幀和第二子幀的增益,統(tǒng)計(jì)量選取的是離散系數(shù)和偏度,分析10秒、20秒、30秒的話音,系統(tǒng)的識(shí)別率也只有77.0%、83.1%、87.7%。然而,G.729壓縮標(biāo)準(zhǔn)在VoIP中使用廣泛,許多公司的VoIP設(shè)備使用的都是該聲碼器[2]??紤]編碼流說話人識(shí)別方法是基于壓縮編碼參數(shù)的統(tǒng)計(jì)特征,而靜音幀的存在會(huì)影響統(tǒng)計(jì)量的收斂速度并且會(huì)引入噪音從而影響統(tǒng)計(jì)量的結(jié)果。本文采用靜音幀選擇的方法去除靜音幀以提高系統(tǒng)的識(shí)別性能。
2.1 靜音幀的編碼參數(shù)統(tǒng)計(jì)分析
??? 對于靜音段的檢測,比較有效的語音短時(shí)特征有:短時(shí)平均能量和短時(shí)平均過零率[7]。在編碼流無法得到語音的波形,如果采用傳統(tǒng)的方法獲得會(huì)造成很大的計(jì)算復(fù)雜度。為了在編碼流進(jìn)行靜音幀檢測,本文分析了G.729壓縮編碼參數(shù)在靜音幀、語音幀中的分布特性以區(qū)分靜音幀。
??? 本文統(tǒng)計(jì)了自適應(yīng)碼書標(biāo)號(hào)、自適應(yīng)碼書增益和固定碼書增益在靜音幀和語音幀中的統(tǒng)計(jì)分布,發(fā)現(xiàn)固定碼書增益在靜音幀和語音幀中的數(shù)值分布有很好的可分性。對一段30秒的語音進(jìn)行人工的靜音、語音分割,得到21.2秒的靜音數(shù)據(jù)和8.8秒的語音數(shù)據(jù),分別對靜音、語音數(shù)據(jù)進(jìn)行G.729編碼壓縮得到2120幀靜音和880幀語音,統(tǒng)計(jì)靜音幀和語音幀的固定碼書增益大小的分布情況,結(jié)果分別如圖3、圖4所示。為了更好地示意,將語音幀中固定碼書增益大于200的幀的固定碼數(shù)增益值賦值為200。
?

?

??? 從圖 3、圖 4中可以清楚地看到,靜音幀固定碼書增益的值要遠(yuǎn)遠(yuǎn)小于語音幀固定碼書增益值,可以考慮使用固定碼書增益的數(shù)值來作為靜音幀判斷的標(biāo)準(zhǔn)。
2.2 靜音幀的判斷方法
??? 由于不同的語音信號(hào)的能量之間的差異,固定碼書增益的大小也會(huì)隨之變化。因此,固定地選取一個(gè)判決門限作為靜音幀和語音幀的判決標(biāo)準(zhǔn)是不合理的。本文先計(jì)算待識(shí)別說話人所有壓縮數(shù)據(jù)幀的平均固定碼書增益
乘以比例系數(shù)(β)的值作為判決門限,第i幀的靜音判決式如下:
??? 
式中,bi表示第i幀是否是靜音幀,通過實(shí)驗(yàn)得到,當(dāng)β=0.5時(shí),判決得到很好的效果。
3 加入靜音幀選擇的說話人識(shí)別實(shí)驗(yàn)
??? 將本文給出的靜音幀選擇方法應(yīng)用于本文給出的G.729編碼流說話人識(shí)別算法,去除靜音幀。在與1.5.2節(jié)中同樣的特征參數(shù)選擇和測試集合下,分析10秒、20秒、30秒的話音,對比未使用幀選擇方法的識(shí)別結(jié)果如表 4所示。圖 5為對比未使用靜音幀選擇方法的性能分析圖。
?

?

??? 靜音幀選擇的方法不僅可以提高系統(tǒng)的識(shí)別率還可以提高系統(tǒng)的識(shí)別速度,減少說話人識(shí)別所用的時(shí)間。使用微機(jī)配置為:CPU Pentium 4 2.8GHz、內(nèi)存512MB,在與1.5.2中同樣的實(shí)驗(yàn)條件下分析30秒的話音未使用幀選擇方法系統(tǒng)耗時(shí)175.9秒,而使用幀選擇方法系統(tǒng)耗時(shí)120.4秒,系統(tǒng)耗時(shí)較未使用幀選擇減少了31.5%。
??? 本文使用低復(fù)雜度壓縮域識(shí)別算法設(shè)計(jì)了G.729壓縮域說話人識(shí)別方法,并使用固定碼書增益作為判決參數(shù)設(shè)計(jì)了靜音幀判決方法,從而提高了系統(tǒng)的識(shí)別性能。實(shí)驗(yàn)結(jié)果表明,靜音幀選擇的方法不僅提高了系統(tǒng)的識(shí)別率還減少了識(shí)別所需的時(shí)間,收到了很好的實(shí)用效果。該靜音幀識(shí)別方法也可以運(yùn)用到G.729壓縮標(biāo)準(zhǔn)下的其他需要使用靜音判決的場合。
參考文獻(xiàn)
[1] PETRACCA M, SERVETTI A, DEMARTIN J C. Performance analysis of compressed-domain automatic speaker recognition as a function of speech coding technique and bit rate[C]//Proceedings of IEEE International Conference on Multimedia and Expo (ICME), Toronto, 2006:1393-1396.
[2] ?AGGARWAL C, OLSHEFSKI D, SAHA D, et al. CSR: speaker recognition from compressed VoIP packet stream[C]//Proc. IEEE Int. Conf. on Multimedia & Expo, Amsterdam, 2005: 970-973.
[3] ?PETRACCA M, SERVETTI A, DEMARTIN J C. Optimal selection of bitstream features for compressed-domain automatic speaker recognition[C]//Proc.14th European Signal Processing Conference, Florence, 2006.
[4] ?PETRACCA M, SERVETTI A, DEMARTIN J C. Low-complexity automatic speaker recognition in the compressed ?GSM-AMR domain[C] // Proc. IEEE Int. Conf. on Multimedia & Expo,Amsterdam, 2005: 662-665.
[5] ?MARKEL J D,DAVIS B.Text-independent speaker recognition from a large linguistically unconstrained time-spaced ?database[C] //IEEE Trans. Acoustics, Speech, and Signal Processing, 1979, 27(1):74-82.
[6]? ITU-T G.729-1998 Coding of speech at 8 kbit/s using conjugate-structure algbraic-code-excitedlinear prediction(CS-ACELP)[S]. Genevese:ITU-T,1998.1996.
[7] ?王炳錫.語音編碼[M].西安:西安電子科技大學(xué)出版社,2002.
