許志強,李庚欣,王云麗,廖蓉暉,楊龍劍
(1.中國電子科技集團公司第三十研究所,四川 成都 610041;2.中國人民解放軍31006部隊,北京 100840;3.火箭軍裝備部項目管理中心,北京 100085)
目前,數字語音通信已經廣泛應用于通訊、多媒體網絡以及各種消費類產品等諸多領域。與模擬語音通信相比,數字語音通信具有抗干擾能力強,且噪音不積累,便于處理、變換、存儲,易于集成,使通信設備微型化、輕量化,易于加密處理且保密性好等優點[1]。但數字語音通信對同步要求高,當數字語音傳輸過程中發生失步時[2],通信雙方的語音數據會發生不規律的跳變,這將在語音通信中出現大量噪音,極大影響用戶體驗。針對數字語音通信中因失步而產生的噪音,目前處理方案有使用噪聲消除算法消除噪音[3-5],或如圖1所示接收方通過失步檢測算法檢測到失步后發起重新啟動通信流程或重新同步的方法來消除噪音。

圖1 目前數字語音通信的噪音消除方法示意
目前的噪音消除方法雖然能在產生噪音后通過重啟通信流程或重新同步的方式消除噪音,但由于在失步檢測過程和重啟通話流程或重新同步過程中接收端將接收到的已失步的噪音數據進行解碼播放,用戶會聽到刺耳的噪音,同時目前的噪音消除方法通過重啟通信流程的方式來消除噪音,重啟通信流程時間過長會導致通信中斷,極大影響用戶體驗。
針對目前的噪音消除方法存在接收端可以聽到噪音且消除噪音的方法會導致通信中斷的問題,本文提出一種數字語音通信噪音消除和語音恢復方法,可以應用于各種數字語音通信系統中,能夠完全消除數字語音通信中因失步導致接收端聽到的噪音,并具有語音恢復功能。與目前的數字語音通信噪音消除方法相比,本文提出的方法通過對接收端語音數據進行緩存、通道切換處理,使得接收方完全聽不到噪音。同時,該方法具有語音同步判決功能,判決同步后快速恢復正常通信,極大的提升了用戶體驗。
本文提出的數字語音通信噪音消除和語音恢復方法技術方案由語音數據緩存、語音通道切換、語音同步判決3個模塊組成,正常語音通信過程中接收到的待播放的語音數據經過語音數據緩存模塊后進行播放,當檢測到失步時,語音同步判決模塊控制語音通道切換模塊將待播放的噪音數據切換為舒適靜音,有必要時也可以切換為提示音、舒適音樂等,同時發起重新同步流程,由于語音數據緩存時間大于失步檢測時間,即使出現失步而引起噪音,語音接收端完全不會聽到噪音。當語音同步判決模塊判決語音同步后,通知語音通道切換模塊將語音通道切換為語音數據通道,恢復正常通話。本技術方案各模塊關系圖如圖2所示。

圖2 噪音消除和語音恢復方法各模塊組成
語音數據緩存模塊需在語音通信前配置數據類型和數據緩存時間,根據配置參數在語音通信中實現語音數據輸入和數據緩存功能。目前數字語音通信中常用的數據傳輸類型有:1位串行數據流、8位并行數據流、16位并行數據流。語音數據緩存模塊為這三種數據類型均留有數據輸入接口,只需配置適合當前數字語音通信的數據傳輸類型即可。
語音數據進入語音數據緩存模塊后,根據緩存區內數據緩存時間先將語音數據緩存,實現一段固定時間的語音數據緩存。語音數據緩存的示意圖如圖3所示。
通信雙方正常通話時,語音通道切換模塊輸出緩存后待解碼的語音數據解碼后接收端聽到正常語音。當檢測到失步后,語音通道切換模塊實現語音通道切換,語音通道切換時可根據語音同步判決模塊的控制切換為舒適靜音、提示音或舒適音樂,舒適靜音、提示音、舒適音樂預先存放在FLASH或文件中,由語音通道切換模塊讀取數據。語音通道切換的示意如圖4所示。

圖3 語音數據緩存

圖4 語音通道切換
當檢測到失步后,語音同步判決模塊通知啟動重新同步流程,同時控制語音通道切換模塊將語音通道切換為舒適靜音,同時啟動同步判決時間超時定時器,若在設定的同步判決時間定時器超時的這段時間內沒有再檢測到失步,則判決為語音已同步,控制語音通道切換模塊切換為語音數據通道,恢復正常語音;若在設定的同步內再次檢測到失步,則重啟設定的同步判決時間超時定時器,待語音同步判決模塊判決為語音同步后,控制語音通道切換模塊切換為語音數據通道,恢復正常語音。語音同步判決模塊的處理流程圖如圖5所示。
噪音消除和語音恢復方法的應用場景圖如圖6所示,數字語音通信設備1(以下簡稱“設備1”)和數字語音通信設備2(以下簡稱“設備2”)間可以進行實時數字語音通信,設備1為語音發送端,設備2為語音接收端。設備1的語音數據經過編碼發送,經通信傳輸線路發送至設備2,設備2中嵌入了本設計,設置接收端語音數據輸入方式為1位串行數據流,數據緩存時間為40 ms,同步判決超時定時器超時時間為1 s。

圖5 語音同步判決模塊處理流程

圖6 噪音消除和語音恢復方法應用示意
若通話正常,設備2的接收端收到正常的通話語音;若通話中出現失步,失步檢測模塊可以在20 ms內檢測到失步,噪音消除和語音恢復裝置將接收端語音通道切換為舒適靜音數據通道,同時通知啟動重新同步流程并啟動語音同步判決模塊判決是否同步,若連續1 s內沒有檢測到失步,則判決為語音已同步,將接收端語音通道切換為語音數據通道,恢復語音通信,此時基本不會影響正常通話;若1 s內檢測到失步,則重啟同步判決超時定時器,待判決為同步后將接收端語音通道切換為語音數據通道,恢復語音通信。在整個失步過程中,由于數據緩存時間40 ms大于失步檢測時間20 ms,接收方完全不會聽到噪音,提升了通話中發生失步后的用戶體驗。
本文提出的數字語音通信中噪音消除和語音恢復方法,可以完全消除通話過程中因失步而產生的噪音,并具有語音恢復功能,極大的提高了用戶體驗,此外該設計方案簡單易用,在各種數字語音通信系統中均可使用。本設計方案支持多種數據傳輸類型,也支持根據實際需求設置數據緩存時間,可直接嵌入到現有的數字語音通信系統中,方便用戶使用。同時不會影響原數字語音通信系統的正常使用,具有較好的實用性。