專利名稱:一種實現回聲消除的方法、系統及設備的制作方法
技術領域:
本發明涉及音頻處理技術領域,尤其涉及一種實現回聲消除的方法、系統及設備。
背景技術:
在Windows XP系統中,實現了回聲消除的解決方案。
所謂回聲消除,是指系統的音頻輸入設備在進行音頻錄入時,錄入的音頻信號源可能有兩個一個是原本需要錄入的音頻信號,一個是本地音頻輸出設備輸出的音頻信號,在這種情況下,兩個音頻信號源的存在使得音頻輸出設備播放的音頻存在回聲,還可能出現音頻信號的共振,從而減弱音頻播放的效果。為了避免這種現象,需要將音頻輸出設備輸出的音頻信號在音頻輸入設備側消除,使音頻輸入設備錄入的音頻信號源只有原本需要錄入的音頻信號。
例如,在用戶A與用戶B使用即時通信工具進行語音聊天時,用戶A通過本地的音頻輸入設備(Microphone1)錄入的語音數據到達用戶B所在終端的音頻輸出設備(Speaker2),此時,若不進行回音消除,該語音數據會被用戶B所在終端的音頻輸入設備(Microphone2)錄入,那么,此時用戶A從本地的音頻輸出設備(Speaker1)聽到的不僅是用戶B的說話內容,他還聽到了剛才自己所說的話。同樣,在用戶A這一側若不進行回音消除,用戶B也會聽到自己之前所說的話。所以,為了使用戶A和用戶B都只聽到對方的語音內容,而不會聽到自己之前所說的話,需要在兩側實現回音消除,即將Speaker1輸出的音頻信號在Microphone1消除,將Speaker2輸出的音頻信號在Microphone2消除。
已經實現的回聲消除的解決方案是在音頻輸出設備的設備驅動上加載一個過濾驅動(Filter Driver1),在系統的音頻輸入設備(Microphone)的設備驅動上加載另一個回聲消除過濾驅動(Filter Driver2),音頻輸出設備進行放音時,Filter Driver1將音頻輸出設備輸出的音頻數據截取出來,并將截取的音頻數據發送給音頻輸入設備的Filter Driver2,Filter Driver2利用回聲消除算法,將該音頻數據進行消除。
下面結合現有的實現音頻播放的系統模塊圖,如圖1所示,對上述方案的具體實現流程進行說明,如圖2所示系統需要放音時,音頻播放程序(Audio Player)從音頻文件中讀取原始音頻數據,并將該原始音頻數據發送給音頻處理模塊進行音頻處理,該音頻處理模塊包括標準音頻處理模塊(DirectSound)和音頻混合模塊(Kmixer);音頻混合模塊(Kmixer)輸出的音頻數據到達過濾驅動模塊(Filter Driver),該模塊一面將接收到的音頻數據發送給音頻設備驅動(USBAudio),一面將接收到的音頻數據拷貝一份并送入音頻輸入設備的回聲消除模塊;音頻設備驅動(USBAudio)將過濾驅動模塊(Filter Driver)送來的音頻數據拆分打包成USB包數據,并將該USB包數據發送給USB傳輸控制模塊(USBD)。同時,在音頻輸入設備這一端,回聲消除模塊利用回聲消除算法將過濾驅動模塊(Filter Driver)送來的音頻數據進行回聲消除;USB傳輸控制模塊(USBD)將接收到的USB包數據通過USB總線發送給物理的音頻輸出設備,由該設備進行放音。
在現有方案中,由于一些原因,比如音頻設備驅動進行了升級,新升級的設備驅動對數據輸出進行了保護處理或其他處理,使得我們無法通過在音頻設備驅動上加載過濾驅動來獲得音頻數據,并將該數據送入音頻輸入設備的回聲消除模塊,那么在音頻輸入設備端,由于得不到音頻數據,就無法完成回聲消除。
發明內容
本發明提供一種實現回聲消除的方法、系統及設備,用以解決現有技術中由于音頻輸出設備端無法將音頻數據發送給音頻輸入設備端,而使得音頻輸入設備端無法完成回聲消除的問題。
本發明提供一種實現回聲消除的方法,應用于包括音頻設備驅動、總線控制模塊和音頻輸入設備的系統中,并且在所述音頻輸入設備端加載有回聲消除模塊,該方法包括以下步驟A.在音頻播放側,總線控制模塊將音頻設備驅動發來的數據發送給模擬音頻輸出設備,該模擬音頻輸出設備將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊;B.所述回聲消除模塊根據所述音頻數據進行回聲消除。
所述模擬音頻輸出設備由設備模擬開發構架DSF組件構成。
所述系統還包括音頻播放程序、標準音頻處理模塊、音頻混合模塊,并且所述系統分為應用層、內核層,所述音頻播放程序和所述標準音頻處理模塊位于所述系統的應用層,所述音頻混合模塊、所述音頻設備驅動和所述總線控制模塊位于所述系統的內核層,所述模擬音頻輸出設備包括數據分流組件和第一模擬組件,所述數據分流組件位于所述系統的內核層,所述第一模擬組件位于所述系統的應用層,在步驟A之前,該方法進一步包括A01.所述音頻播放程序從音頻文件中讀取原始音頻數據,并將讀取的原始音頻數據發送給所述標準音頻處理模塊;所述標準音頻處理模塊將進行音頻處理后的數據發送給所述音頻混合模塊;A02.所述音頻混合模塊將進行音頻處理后的音頻數據發送給音頻設備驅動;所述音頻設備驅動將所述音頻數據進行打包,并將打包后的數據發送給總線控制模塊;則步驟A包括A1.所述總線控制模塊將所述音頻設備驅動發來的數據通過總線發送給所述數據分流組件,該數據分流組件將所述數據發送給所述第一模擬組件,該第一模擬組件將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊。
所述系統還包括物理音頻輸出設備,所述模擬音頻輸出設備還包括第二模擬組件,該第二模擬組件位于所述系統的應用層,在步驟A1中所述數據分流組件將所述數據發送給所述第一模擬組件時,該方法進一步包括所述數據分流組件將所述數據拷貝一份并發送給所述第二模擬組件,所述第二模擬組件將所述數據轉換成原始音頻數據,并將轉換后的原始音頻數據發送給所述標準音頻處理模塊;所述標準音頻處理模塊將進行音頻處理后的數據發送給所述音頻混合模塊;所述音頻混合模塊將進行音頻處理后的音頻數據發送給所述音頻設備驅動;所述音頻設備驅動將所述音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;所述總線控制模塊通過總線將所述數據發送給所述物理音頻輸出設備,所述物理音頻輸出設備進行音頻播放。
所述回聲消除模塊利用回聲消除算法將所述音頻數據進行回聲消除。
本發明提供一種實現回聲消除的系統,該系統包括音頻設備驅動,用于將經過音頻處理和打包處理的數據發送給總線控制模塊;總線控制模塊,用于將音頻設備驅動發來的數據發送給模擬音頻輸出設備;模擬音頻輸出設備,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊;音頻輸入設備,該設備加載有回聲消除模塊,用于將所述音頻數據進行回聲消除。
所述模擬音頻輸出設備由設備模擬開發構架DSF組件構成。
該系統進一步包括
音頻讀取模塊,用于從音頻文件中讀取原始音頻數據,并將讀取的原始音頻數據發送給標準音頻處理模塊;標準音頻處理模塊,用于將音頻讀取模塊發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;音頻混合模塊,用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;則所述音頻設備驅動用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;則所述總線控制模塊用于將所述音頻設備驅動發來的數據通過總線發送給所述模擬音頻輸出設備;則所述模擬音頻輸出設備包括數據分流組件,用于接收所述總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
所述數據分流組件進一步用于將所述總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則所述模擬音頻輸出設備進一步包括第二模擬組件,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給所述標準音頻處理模塊;則所述標準音頻處理模塊還用于將第二模擬組件發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;則所述音頻混合模塊還用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;則所述音頻設備驅動還用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;
則所述總線控制模塊還用于將所述音頻設備驅動發來的數據通過總線發送給物理音頻輸出設備;則該系統進一步包括物理音頻輸出設備,用于接收到總線控制模塊發來的數據后進行音頻播放。
本發明提供一種音頻輸出設備,該設備包括模擬音頻輸出模塊,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
所述模擬音頻輸出模塊包括數據分流組件,用于接收總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
所述數據分流組件進一步用于將總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則所述模擬音頻輸出模塊進一步包括第二模擬組件,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給標準音頻處理模塊。
本發明中,在音頻播放側,總線控制模塊將音頻設備驅動輸出的數據發送給模擬音頻輸出設備,模擬音頻輸出設備將接收到的數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊,然后,回聲消除模塊將接收到的音頻數據進行回聲消除。這樣,通過在音頻播放側增加模擬音頻輸出設備,并由模擬音頻輸出設備將轉換后的音頻數據發送給音頻輸入設備端的回聲消除模塊,使得音頻輸入設備端的回聲消除模塊能夠獲得音頻輸出設備的音頻數據,從而完成回聲消除。
圖1為現有技術中實現回聲消除的系統結構圖;圖2為現有技術中實現回聲消除的方法流程圖;圖3為本發明實現回聲消除的系統結構圖;圖4為本發明實現回聲消除的方法流程圖;圖5為本發明的系統結構圖;圖6為本發明的設備結構圖。
具體實施例方式
本發明提供一種實現回聲消除的方法,本方法中,在音頻播放側,首先注冊安裝一個模擬音頻輸出設備,在播放音頻時,模擬音頻輸出設備可以將音頻數據發送給音頻輸入設備端的回聲消除模塊,由回聲消除模塊完成回聲消除。
參見圖3,為本發明方法可以應用的系統結構圖,該系統分為三層應用層、內核層和物理層,每一層由不同的模塊組件構成,實現不同的功能。該系統基于USB接口實現,主要由五類組件構成,分別是1.Microsoft操作系統標準組件,包括標準音頻處理模塊(DirectSound)、音頻混合模塊(Kmixer)、音頻設備的設備驅動(USBAudio)和USB傳輸控制模塊(USBD)。標準音頻處理模塊位于系統的應用層,音頻混合模塊、音頻設備的設備驅動和USB傳輸控制模塊位于系統的內核層;其中,標準音頻處理模塊和音頻混合模塊對原始音頻數據進行音頻處理,音頻設備的設備驅動將上述兩個模塊處理后的音頻數據拆分打包成USB包數據,USB傳輸控制模塊再將USB包數據通過USB總線發送給模擬音頻輸出設備或物理音頻輸出設備;2.模擬音頻輸出設備;本發明中,在音頻播放側,需要首先注冊安裝模擬音頻輸出設備,該設備具有與物理音頻輸出設備相同的接口。增加了模擬音頻輸出設備后,系統中存在兩種音頻輸出設備,一個是原有的物理音頻輸出設備,一個就是增加的模擬音頻輸出設備。
上述模擬音頻輸出設備可以是由DSF組件模擬形成的DSF模擬揚聲器(DSF Simulator Speaker),該DSF模擬揚聲器包括DSF運行支持組件(DSFRunTime)、數據分流組件(SoftUSB Audio Speaker)、DSF模擬的虛擬揚聲器組件(USB Speaker DSF Simulator)和音頻播放組件(Audio Player)。DSF運行支持組件和數據分流組件塊位于系統的內核層,DSF模擬的虛擬揚聲器組件和音頻播放組件位于系統的應用層。
具體的注冊安裝方法為安裝DSF RunTime組件后,系統中就會增加一個USB接口,安裝SoftUSB Audio Speaker、USB Speaker DSF Simulator和AudioPlayer組件后,系統便成功安裝了模擬音頻輸出設備DSF模擬揚聲器(DSFSimulator Speaker)。
DSF模擬揚聲器各個組件的主要功能為SoftUSB Audio Speaker,用于將USBD送來的USB包數據拷貝一份,將其中的一份USB包數據送給USBSpeaker DSF Simulator組件,將另一份USB包數據送給Audio Player組件;USBSpeaker DSF Simulator組件將接收到的USB包數據轉換成音頻數據并將該數據發送給音頻輸入設備的回聲消除模塊;Audio Player組件將接收到的USB包數據轉換成原始音頻數據并將該數據發送給標準音頻處理模塊(DirectSound)。
3.物理音頻設備,包括物理音頻輸出設備(Speaker)和物理音頻輸入設備(USB Microphone),均位于系統的物理層;4.在物理音頻輸入設備端的回聲消除模塊,包括音頻過濾驅動控制模塊(Audio Filter Control)和音頻過濾驅動模塊(Audio Filter for AEC)。音頻過濾驅動控制模塊位于系統的應用層,用于接收音頻輸出設備端的音頻數據,并將該數據發送給音頻過濾驅動模塊,音頻過濾驅動模塊加載在音頻輸入設備的設備驅動上,位于系統的內核層,用于利用回聲消除算法進行回聲消除;5.音頻播放程序(Audio Player)和音頻錄制程序(Audio Capture),均位于系統的應用層。
下面結合圖3所示的系統模塊圖,對上述方案的具體實現流程進行說明,如圖4所示步驟401在音頻播放側,將模擬音頻輸出設備設置為音頻播放模塊,需要放音時,音頻播放程序從音頻文件中讀取原始音頻數據,將該原始音頻數據發送給音頻處理模塊,該音頻處理模塊包括標準音頻處理模塊和音頻混合模塊;步驟402-403標準音頻處理模塊和音頻混合模塊對音頻播放程序送來的原始音頻數據進行音頻處理;步驟404音頻混合模塊輸出的音頻數據到達音頻設備驅動模塊,該模塊將音頻混合模塊送來的音頻數據拆分打包成USB包數據,并將該USB包數據發送給USB傳輸控制模塊。
步驟405USB傳輸控制模塊根據步驟401中的設置,將接收到的USB包數據通過USB總線發送給模擬音頻輸出設備;步驟406模擬音頻輸出設備的SoftUSB Audio Speaker組件將USB傳輸控制模塊送來的USB包數據拷貝一份,將其中的一份USB包數據送給USBSpeaker DSF Simulator組件,將另一份USB包數據送給Audio Player組件;USB Speaker DSF Simulator組件將接收到的USB包數據轉換成音頻數據并將該數據發送給音頻輸入設備的回聲消除模塊,由回聲消除模塊利用回聲消除算法,將接收到的音頻數據進行回聲消除;Audio Player組件將接收到的USB包數據轉換成原始音頻數據并將該數據發送給標準音頻處理模塊,由物理音頻輸出設備進行放音。
這里,模擬音頻輸出設備在將音頻數據送入回聲消除模塊的同時,還需要將原始音頻數據送入物理音頻輸出設備,是因為模擬音頻輸出設備的作用僅是獲得音頻數據,并將音頻數據送入回聲消除模塊,而不具備實際意義上的音頻播放功能。
步驟407-411標準音頻處理模塊和音頻混合模塊對模擬音頻輸出設備的Audio Player組件送來的原始音頻數據進行音頻處理;音頻混合模塊輸出的音頻數據到達音頻設備驅動模塊,該模塊將音頻混合模塊送來的音頻數據拆分打包成USB包數據,并將該USB包數據發送給USB傳輸控制模塊;USB傳輸控制模塊將接收到的USB包數據通過USB總線發送物理音頻輸出設備,該設備進行放音。
需要說明的是,在音頻播放側,如果將物理音頻輸出設備設置為音頻播放模塊,則步驟405中USB傳輸控制模塊直接將接收到的USB包數據通過USB總線發送給物理音頻輸出設備,而不是模擬音頻輸出設備,由物理音頻輸出設備直接進行放音。
另外,在本發明中,我們的模擬音頻輸出設備是基于USB接口的。同樣,該模擬音頻輸出設備也可以是基于其它接口的,如基于PCI接口、1394接口等等。所不同的是,在基于其它接口時,由PCI傳輸控制模塊通過PCI總線將音頻設備驅動輸出的數據發送給模擬音頻輸出設備,或者由1394傳輸控制模塊通過1394總線將音頻設備驅動輸出的數據發送給模擬音頻輸出設備,我們將USB傳輸控制模塊、PCI傳輸控制模塊或1394傳輸控制模塊等統稱為總線控制模塊。
參見圖5,本發明還提供一種實現回聲消除的系統,該系統包括音頻設備驅動501、總線控制模塊502、模擬音頻輸出設備503和音頻輸入設備504,其中,音頻設備驅動501,用于輸出經過音頻處理和打包處理的數據;總線控制模塊502,用于將音頻設備驅動輸出的數據發送給模擬音頻輸出設備;模擬音頻輸出設備503,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊;音頻輸入設備504,該設備上加載有回聲消除模塊5041,用于將所述音頻數據進行回聲消除。
模擬音頻輸出設備503由設備模擬開發構架DSF組件構成。
該系統進一步包括音頻讀取模塊505、標準音頻處理模塊506和音頻混合模塊507,其中,音頻讀取模塊505,用于從音頻文件中讀取原始音頻數據,并將讀取的原始音頻數據發送給標準音頻處理模塊;標準音頻處理模塊506,用于將音頻讀取模塊發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;音頻混合模塊507,用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;則所述音頻設備驅動501用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;所述總線控制模塊502用于將所述音頻設備驅動發來的數據通過總線發送給所述模擬音頻輸出設備;則模擬音頻輸出設備503包括數據分流組件5031和第一模擬組件5032,其中,數據分流組件5031,用于接收所述總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件5032,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
數據分流組件5031進一步用于將所述總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則模擬音頻輸出設備503進一步包括第二模擬組件5033,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給所述標準音頻處理模塊;則標準音頻處理模塊506還用于將第二模擬組件發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;音頻混合模塊507還用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;音頻設備驅動501還用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;總線控制模塊502還用于將所述音頻設備驅動發來的數據通過總線發送給物理音頻輸出設備;則該系統進一步包括物理音頻輸出設備508,用于接收到總線控制模塊發來的數據后進行音頻播放。
參見圖6,本發明還提供一種音頻輸出設備,可以應用于實現回聲消除的系統中,該設備包括模擬音頻輸出模塊601,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
模擬音頻輸出模塊601包括數據分流組件6011和第一模擬組件6012,其中,數據分流組件6011,用于接收總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件6012,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
數據分流組件6011進一步用于將總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則模擬音頻輸出模塊601進一步包括第二模擬組件6013,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給發送給標準音頻處理模塊。
顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和范圍。這樣,倘若本發明的這些修改和變型屬于本發明權利要求及其等同技術的范圍之內,則本發明也意圖包含這些改動和變型在內。
權利要求
1.一種實現回聲消除的方法,應用于包括音頻設備驅動、總線控制模塊和音頻輸入設備的系統中,并且在所述音頻輸入設備端加載有回聲消除模塊,其特征在于,該方法包括以下步驟A.在音頻播放側,總線控制模塊將音頻設備驅動發來的數據發送給模擬音頻輸出設備,該模擬音頻輸出設備將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊;B.所述回聲消除模塊根據所述音頻數據進行回聲消除。
2.如權利要求1所述的方法,其特征在于,所述模擬音頻輸出設備由設備模擬開發構架DSF組件構成。
3.如權利要求1所述的方法,所述系統還包括音頻播放程序、標準音頻處理模塊、音頻混合模塊,并且所述系統分為應用層、內核層,所述音頻播放程序和所述標準音頻處理模塊位于所述系統的應用層,所述音頻混合模塊、所述音頻設備驅動和所述總線控制模塊位于所述系統的內核層,其特征在于,所述模擬音頻輸出設備包括數據分流組件和第一模擬組件,所述數據分流組件位于所述系統的內核層,所述第一模擬組件位于所述系統的應用層,在步驟A之前,該方法進一步包括A01.所述音頻播放程序從音頻文件中讀取原始音頻數據,并將讀取的原始音頻數據發送給所述標準音頻處理模塊;所述標準音頻處理模塊將進行音頻處理后的數據發送給所述音頻混合模塊;A02.所述音頻混合模塊將進行音頻處理后的音頻數據發送給所述音頻設備驅動;所述音頻設備驅動將所述音頻數據進行打包處理,并將打包后的數據發送給所述總線控制模塊;則步驟A包括A1.所述總線控制模塊將所述音頻設備驅動發來的數據通過總線發送給所述數據分流組件,該數據分流組件將所述數據發送給所述第一模擬組件,該第一模擬組件將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊。
4.如權利要求3所述的方法,所述系統還包括物理音頻輸出設備,其特征在于,所述模擬音頻輸出設備與所述物理音頻輸出設備具有相同的接口,所述模擬音頻輸出設備還包括第二模擬組件,該第二模擬組件位于所述系統的應用層,在步驟A1中所述數據分流組件將所述數據發送給所述第一模擬組件時,該方法進一步包括所述數據分流組件將所述數據拷貝一份并發送給所述第二模擬組件,所述第二模擬組件將所述數據轉換成原始音頻數據,并將轉換后的原始音頻數據發送給所述標準音頻處理模塊;所述標準音頻處理模塊將進行音頻處理后的數據發送給所述音頻混合模塊;所述音頻混合模塊將進行音頻處理后的音頻數據發送給所述音頻設備驅動;所述音頻設備驅動將所述音頻數據進行打包處理,并將打包處理后的數據發送給所述總線控制模塊;所述總線控制模塊通過總線將所述數據發送給所述物理音頻輸出設備,所述物理音頻輸出設備進行音頻播放。
5.如權利要求1所述的方法,其特征在于,所述回聲消除模塊利用回聲消除算法將所述音頻數據進行回聲消除。
6.一種實現回聲消除的系統,其特征在于,該系統包括音頻設備驅動,用于將經過音頻處理和打包處理的數據發送給總線控制模塊;總線控制模塊,用于將音頻設備驅動發來的數據發送給模擬音頻輸出設備;模擬音頻輸出設備,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊;音頻輸入設備,該設備加載有回聲消除模塊,用于將所述音頻數據進行回聲消除。
7.如權利要求6所述的系統,其特征在于,所述模擬音頻輸出設備由設備模擬開發構架DSF組件構成。
8.如權利要求6所述的系統,其特征在于,該系統進一步包括音頻讀取模塊,用于從音頻文件中讀取原始音頻數據,并將讀取的原始音頻數據發送給標準音頻處理模塊;標準音頻處理模塊,用于將音頻讀取模塊發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;音頻混合模塊,用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;則所述音頻設備驅動用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;則所述總線控制模塊用于將所述音頻設備驅動發來的數據通過總線發送給所述模擬音頻輸出設備;則所述模擬音頻輸出設備包括數據分流組件,用于接收所述總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
9.如權利要求8所述的系統,其特征在于,所述數據分流組件進一步用于將所述總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則所述模擬音頻輸出設備進一步包括第二模擬組件,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給所述標準音頻處理模塊;則所述標準音頻處理模塊還用于將第二模擬組件發來的原始音頻數據進行音頻處理,并將進行音頻處理后的數據發送給音頻混合模塊;則所述音頻混合模塊還用于將標準音頻處理模塊發來的數據進行音頻處理,并將進行音頻處理后的音頻數據發送給所述音頻設備驅動;則所述音頻設備驅動還用于將音頻混合模塊發來的音頻數據進行打包,并將打包后的數據發送給所述總線控制模塊;則所述總線控制模塊還用于將所述音頻設備驅動發來的數據通過總線發送給物理音頻輸出設備;則該系統進一步包括物理音頻輸出設備,用于接收到總線控制模塊發來的數據后進行音頻播放。
10.一種音頻輸出設備,其特征在于,該設備包括模擬音頻輸出模塊,用于接收總線控制模塊發來的數據,將該數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
11.如權利要求10所述的設備,其特征在于,所述模擬音頻輸出模塊包括數據分流組件,用于接收總線控制模塊發來的數據,并將該數據發送給第一模擬組件;第一模擬組件,用于將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備的回聲消除模塊。
12.如權利要求11所述的設備,其特征在于,所述數據分流組件進一步用于將總線控制模塊發來的數據拷貝一份并發送給第二模擬組件;則所述模擬音頻輸出模塊進一步包括第二模擬組件,用于將所述數據轉換成原始音頻數據,并將該原始音頻數據發送給標準音頻處理模塊。
全文摘要
本發明公開了一種實現回聲消除的方法,該方法為在音頻播放側,總線控制模塊將音頻設備驅動輸出的數據發送給模擬音頻輸出設備,該模擬音頻輸出設備將所述數據轉換成音頻數據,并將該音頻數據發送給音頻輸入設備端的回聲消除模塊;所述回聲消除模塊根據所述音頻數據進行回聲消除。本發明還公開了一種實現回聲消除的系統和設備。采用本發明,解決了音頻輸入設備的回聲消除模塊無法獲得音頻輸出設備輸出的音頻數據,而無法完成回聲消除的問題。
文檔編號H04M9/08GK101014073SQ200710063878
公開日2007年8月8日 申請日期2007年2月13日 優先權日2007年2月13日
發明者曹玉弟 申請人:北京中星微電子有限公司