許志強(qiáng),李庚欣,王云麗,廖蓉暉,楊龍劍
(1.中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041;2.中國人民解放軍31006部隊(duì),北京 100840;3.火箭軍裝備部項(xiàng)目管理中心,北京 100085)
目前,數(shù)字語音通信已經(jīng)廣泛應(yīng)用于通訊、多媒體網(wǎng)絡(luò)以及各種消費(fèi)類產(chǎn)品等諸多領(lǐng)域。與模擬語音通信相比,數(shù)字語音通信具有抗干擾能力強(qiáng),且噪音不積累,便于處理、變換、存儲,易于集成,使通信設(shè)備微型化、輕量化,易于加密處理且保密性好等優(yōu)點(diǎn)[1]。但數(shù)字語音通信對同步要求高,當(dāng)數(shù)字語音傳輸過程中發(fā)生失步時(shí)[2],通信雙方的語音數(shù)據(jù)會發(fā)生不規(guī)律的跳變,這將在語音通信中出現(xiàn)大量噪音,極大影響用戶體驗(yàn)。針對數(shù)字語音通信中因失步而產(chǎn)生的噪音,目前處理方案有使用噪聲消除算法消除噪音[3-5],或如圖1所示接收方通過失步檢測算法檢測到失步后發(fā)起重新啟動通信流程或重新同步的方法來消除噪音。
圖1 目前數(shù)字語音通信的噪音消除方法示意
目前的噪音消除方法雖然能在產(chǎn)生噪音后通過重啟通信流程或重新同步的方式消除噪音,但由于在失步檢測過程和重啟通話流程或重新同步過程中接收端將接收到的已失步的噪音數(shù)據(jù)進(jìn)行解碼播放,用戶會聽到刺耳的噪音,同時(shí)目前的噪音消除方法通過重啟通信流程的方式來消除噪音,重啟通信流程時(shí)間過長會導(dǎo)致通信中斷,極大影響用戶體驗(yàn)。
針對目前的噪音消除方法存在接收端可以聽到噪音且消除噪音的方法會導(dǎo)致通信中斷的問題,本文提出一種數(shù)字語音通信噪音消除和語音恢復(fù)方法,可以應(yīng)用于各種數(shù)字語音通信系統(tǒng)中,能夠完全消除數(shù)字語音通信中因失步導(dǎo)致接收端聽到的噪音,并具有語音恢復(fù)功能。與目前的數(shù)字語音通信噪音消除方法相比,本文提出的方法通過對接收端語音數(shù)據(jù)進(jìn)行緩存、通道切換處理,使得接收方完全聽不到噪音。同時(shí),該方法具有語音同步判決功能,判決同步后快速恢復(fù)正常通信,極大的提升了用戶體驗(yàn)。
本文提出的數(shù)字語音通信噪音消除和語音恢復(fù)方法技術(shù)方案由語音數(shù)據(jù)緩存、語音通道切換、語音同步判決3個模塊組成,正常語音通信過程中接收到的待播放的語音數(shù)據(jù)經(jīng)過語音數(shù)據(jù)緩存模塊后進(jìn)行播放,當(dāng)檢測到失步時(shí),語音同步判決模塊控制語音通道切換模塊將待播放的噪音數(shù)據(jù)切換為舒適靜音,有必要時(shí)也可以切換為提示音、舒適音樂等,同時(shí)發(fā)起重新同步流程,由于語音數(shù)據(jù)緩存時(shí)間大于失步檢測時(shí)間,即使出現(xiàn)失步而引起噪音,語音接收端完全不會聽到噪音。當(dāng)語音同步判決模塊判決語音同步后,通知語音通道切換模塊將語音通道切換為語音數(shù)據(jù)通道,恢復(fù)正常通話。本技術(shù)方案各模塊關(guān)系圖如圖2所示。
圖2 噪音消除和語音恢復(fù)方法各模塊組成
語音數(shù)據(jù)緩存模塊需在語音通信前配置數(shù)據(jù)類型和數(shù)據(jù)緩存時(shí)間,根據(jù)配置參數(shù)在語音通信中實(shí)現(xiàn)語音數(shù)據(jù)輸入和數(shù)據(jù)緩存功能。目前數(shù)字語音通信中常用的數(shù)據(jù)傳輸類型有:1位串行數(shù)據(jù)流、8位并行數(shù)據(jù)流、16位并行數(shù)據(jù)流。語音數(shù)據(jù)緩存模塊為這三種數(shù)據(jù)類型均留有數(shù)據(jù)輸入接口,只需配置適合當(dāng)前數(shù)字語音通信的數(shù)據(jù)傳輸類型即可。
語音數(shù)據(jù)進(jìn)入語音數(shù)據(jù)緩存模塊后,根據(jù)緩存區(qū)內(nèi)數(shù)據(jù)緩存時(shí)間先將語音數(shù)據(jù)緩存,實(shí)現(xiàn)一段固定時(shí)間的語音數(shù)據(jù)緩存。語音數(shù)據(jù)緩存的示意圖如圖3所示。
通信雙方正常通話時(shí),語音通道切換模塊輸出緩存后待解碼的語音數(shù)據(jù)解碼后接收端聽到正常語音。當(dāng)檢測到失步后,語音通道切換模塊實(shí)現(xiàn)語音通道切換,語音通道切換時(shí)可根據(jù)語音同步判決模塊的控制切換為舒適靜音、提示音或舒適音樂,舒適靜音、提示音、舒適音樂預(yù)先存放在FLASH或文件中,由語音通道切換模塊讀取數(shù)據(jù)。語音通道切換的示意如圖4所示。
圖3 語音數(shù)據(jù)緩存
圖4 語音通道切換
當(dāng)檢測到失步后,語音同步判決模塊通知啟動重新同步流程,同時(shí)控制語音通道切換模塊將語音通道切換為舒適靜音,同時(shí)啟動同步判決時(shí)間超時(shí)定時(shí)器,若在設(shè)定的同步判決時(shí)間定時(shí)器超時(shí)的這段時(shí)間內(nèi)沒有再檢測到失步,則判決為語音已同步,控制語音通道切換模塊切換為語音數(shù)據(jù)通道,恢復(fù)正常語音;若在設(shè)定的同步內(nèi)再次檢測到失步,則重啟設(shè)定的同步判決時(shí)間超時(shí)定時(shí)器,待語音同步判決模塊判決為語音同步后,控制語音通道切換模塊切換為語音數(shù)據(jù)通道,恢復(fù)正常語音。語音同步判決模塊的處理流程圖如圖5所示。
噪音消除和語音恢復(fù)方法的應(yīng)用場景圖如圖6所示,數(shù)字語音通信設(shè)備1(以下簡稱“設(shè)備1”)和數(shù)字語音通信設(shè)備2(以下簡稱“設(shè)備2”)間可以進(jìn)行實(shí)時(shí)數(shù)字語音通信,設(shè)備1為語音發(fā)送端,設(shè)備2為語音接收端。設(shè)備1的語音數(shù)據(jù)經(jīng)過編碼發(fā)送,經(jīng)通信傳輸線路發(fā)送至設(shè)備2,設(shè)備2中嵌入了本設(shè)計(jì),設(shè)置接收端語音數(shù)據(jù)輸入方式為1位串行數(shù)據(jù)流,數(shù)據(jù)緩存時(shí)間為40 ms,同步判決超時(shí)定時(shí)器超時(shí)時(shí)間為1 s。
圖5 語音同步判決模塊處理流程
圖6 噪音消除和語音恢復(fù)方法應(yīng)用示意
若通話正常,設(shè)備2的接收端收到正常的通話語音;若通話中出現(xiàn)失步,失步檢測模塊可以在20 ms內(nèi)檢測到失步,噪音消除和語音恢復(fù)裝置將接收端語音通道切換為舒適靜音數(shù)據(jù)通道,同時(shí)通知啟動重新同步流程并啟動語音同步判決模塊判決是否同步,若連續(xù)1 s內(nèi)沒有檢測到失步,則判決為語音已同步,將接收端語音通道切換為語音數(shù)據(jù)通道,恢復(fù)語音通信,此時(shí)基本不會影響正常通話;若1 s內(nèi)檢測到失步,則重啟同步判決超時(shí)定時(shí)器,待判決為同步后將接收端語音通道切換為語音數(shù)據(jù)通道,恢復(fù)語音通信。在整個失步過程中,由于數(shù)據(jù)緩存時(shí)間40 ms大于失步檢測時(shí)間20 ms,接收方完全不會聽到噪音,提升了通話中發(fā)生失步后的用戶體驗(yàn)。
本文提出的數(shù)字語音通信中噪音消除和語音恢復(fù)方法,可以完全消除通話過程中因失步而產(chǎn)生的噪音,并具有語音恢復(fù)功能,極大的提高了用戶體驗(yàn),此外該設(shè)計(jì)方案簡單易用,在各種數(shù)字語音通信系統(tǒng)中均可使用。本設(shè)計(jì)方案支持多種數(shù)據(jù)傳輸類型,也支持根據(jù)實(shí)際需求設(shè)置數(shù)據(jù)緩存時(shí)間,可直接嵌入到現(xiàn)有的數(shù)字語音通信系統(tǒng)中,方便用戶使用。同時(shí)不會影響原數(shù)字語音通信系統(tǒng)的正常使用,具有較好的實(shí)用性。