亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種實現(xiàn)回聲消除的方法、系統(tǒng)及設(shè)備的制作方法

文檔序號:7647351閱讀:290來源:國知局
專利名稱:一種實現(xiàn)回聲消除的方法、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及音頻處理技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)回聲消除的方法、系統(tǒng)及設(shè)備。
背景技術(shù)
在Windows XP系統(tǒng)中,實現(xiàn)了回聲消除的解決方案。
所謂回聲消除,是指系統(tǒng)的音頻輸入設(shè)備在進行音頻錄入時,錄入的音頻信號源可能有兩個一個是原本需要錄入的音頻信號,一個是本地音頻輸出設(shè)備輸出的音頻信號,在這種情況下,兩個音頻信號源的存在使得音頻輸出設(shè)備播放的音頻存在回聲,還可能出現(xiàn)音頻信號的共振,從而減弱音頻播放的效果。為了避免這種現(xiàn)象,需要將音頻輸出設(shè)備輸出的音頻信號在音頻輸入設(shè)備側(cè)消除,使音頻輸入設(shè)備錄入的音頻信號源只有原本需要錄入的音頻信號。
例如,在用戶A與用戶B使用即時通信工具進行語音聊天時,用戶A通過本地的音頻輸入設(shè)備(Microphone1)錄入的語音數(shù)據(jù)到達用戶B所在終端的音頻輸出設(shè)備(Speaker2),此時,若不進行回音消除,該語音數(shù)據(jù)會被用戶B所在終端的音頻輸入設(shè)備(Microphone2)錄入,那么,此時用戶A從本地的音頻輸出設(shè)備(Speaker1)聽到的不僅是用戶B的說話內(nèi)容,他還聽到了剛才自己所說的話。同樣,在用戶A這一側(cè)若不進行回音消除,用戶B也會聽到自己之前所說的話。所以,為了使用戶A和用戶B都只聽到對方的語音內(nèi)容,而不會聽到自己之前所說的話,需要在兩側(cè)實現(xiàn)回音消除,即將Speaker1輸出的音頻信號在Microphone1消除,將Speaker2輸出的音頻信號在Microphone2消除。
已經(jīng)實現(xiàn)的回聲消除的解決方案是在音頻輸出設(shè)備的設(shè)備驅(qū)動上加載一個過濾驅(qū)動(Filter Driver1),在系統(tǒng)的音頻輸入設(shè)備(Microphone)的設(shè)備驅(qū)動上加載另一個回聲消除過濾驅(qū)動(Filter Driver2),音頻輸出設(shè)備進行放音時,F(xiàn)ilter Driver1將音頻輸出設(shè)備輸出的音頻數(shù)據(jù)截取出來,并將截取的音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的Filter Driver2,F(xiàn)ilter Driver2利用回聲消除算法,將該音頻數(shù)據(jù)進行消除。
下面結(jié)合現(xiàn)有的實現(xiàn)音頻播放的系統(tǒng)模塊圖,如圖1所示,對上述方案的具體實現(xiàn)流程進行說明,如圖2所示系統(tǒng)需要放音時,音頻播放程序(Audio Player)從音頻文件中讀取原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給音頻處理模塊進行音頻處理,該音頻處理模塊包括標(biāo)準(zhǔn)音頻處理模塊(DirectSound)和音頻混合模塊(Kmixer);音頻混合模塊(Kmixer)輸出的音頻數(shù)據(jù)到達過濾驅(qū)動模塊(Filter Driver),該模塊一面將接收到的音頻數(shù)據(jù)發(fā)送給音頻設(shè)備驅(qū)動(USBAudio),一面將接收到的音頻數(shù)據(jù)拷貝一份并送入音頻輸入設(shè)備的回聲消除模塊;音頻設(shè)備驅(qū)動(USBAudio)將過濾驅(qū)動模塊(Filter Driver)送來的音頻數(shù)據(jù)拆分打包成USB包數(shù)據(jù),并將該USB包數(shù)據(jù)發(fā)送給USB傳輸控制模塊(USBD)。同時,在音頻輸入設(shè)備這一端,回聲消除模塊利用回聲消除算法將過濾驅(qū)動模塊(Filter Driver)送來的音頻數(shù)據(jù)進行回聲消除;USB傳輸控制模塊(USBD)將接收到的USB包數(shù)據(jù)通過USB總線發(fā)送給物理的音頻輸出設(shè)備,由該設(shè)備進行放音。
在現(xiàn)有方案中,由于一些原因,比如音頻設(shè)備驅(qū)動進行了升級,新升級的設(shè)備驅(qū)動對數(shù)據(jù)輸出進行了保護處理或其他處理,使得我們無法通過在音頻設(shè)備驅(qū)動上加載過濾驅(qū)動來獲得音頻數(shù)據(jù),并將該數(shù)據(jù)送入音頻輸入設(shè)備的回聲消除模塊,那么在音頻輸入設(shè)備端,由于得不到音頻數(shù)據(jù),就無法完成回聲消除。

發(fā)明內(nèi)容
本發(fā)明提供一種實現(xiàn)回聲消除的方法、系統(tǒng)及設(shè)備,用以解決現(xiàn)有技術(shù)中由于音頻輸出設(shè)備端無法將音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端,而使得音頻輸入設(shè)備端無法完成回聲消除的問題。
本發(fā)明提供一種實現(xiàn)回聲消除的方法,應(yīng)用于包括音頻設(shè)備驅(qū)動、總線控制模塊和音頻輸入設(shè)備的系統(tǒng)中,并且在所述音頻輸入設(shè)備端加載有回聲消除模塊,該方法包括以下步驟A.在音頻播放側(cè),總線控制模塊將音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,該模擬音頻輸出設(shè)備將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊;B.所述回聲消除模塊根據(jù)所述音頻數(shù)據(jù)進行回聲消除。
所述模擬音頻輸出設(shè)備由設(shè)備模擬開發(fā)構(gòu)架DSF組件構(gòu)成。
所述系統(tǒng)還包括音頻播放程序、標(biāo)準(zhǔn)音頻處理模塊、音頻混合模塊,并且所述系統(tǒng)分為應(yīng)用層、內(nèi)核層,所述音頻播放程序和所述標(biāo)準(zhǔn)音頻處理模塊位于所述系統(tǒng)的應(yīng)用層,所述音頻混合模塊、所述音頻設(shè)備驅(qū)動和所述總線控制模塊位于所述系統(tǒng)的內(nèi)核層,所述模擬音頻輸出設(shè)備包括數(shù)據(jù)分流組件和第一模擬組件,所述數(shù)據(jù)分流組件位于所述系統(tǒng)的內(nèi)核層,所述第一模擬組件位于所述系統(tǒng)的應(yīng)用層,在步驟A之前,該方法進一步包括A01.所述音頻播放程序從音頻文件中讀取原始音頻數(shù)據(jù),并將讀取的原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;所述標(biāo)準(zhǔn)音頻處理模塊將進行音頻處理后的數(shù)據(jù)發(fā)送給所述音頻混合模塊;A02.所述音頻混合模塊將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給音頻設(shè)備驅(qū)動;所述音頻設(shè)備驅(qū)動將所述音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給總線控制模塊;則步驟A包括A1.所述總線控制模塊將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給所述數(shù)據(jù)分流組件,該數(shù)據(jù)分流組件將所述數(shù)據(jù)發(fā)送給所述第一模擬組件,該第一模擬組件將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊。
所述系統(tǒng)還包括物理音頻輸出設(shè)備,所述模擬音頻輸出設(shè)備還包括第二模擬組件,該第二模擬組件位于所述系統(tǒng)的應(yīng)用層,在步驟A1中所述數(shù)據(jù)分流組件將所述數(shù)據(jù)發(fā)送給所述第一模擬組件時,該方法進一步包括所述數(shù)據(jù)分流組件將所述數(shù)據(jù)拷貝一份并發(fā)送給所述第二模擬組件,所述第二模擬組件將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將轉(zhuǎn)換后的原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;所述標(biāo)準(zhǔn)音頻處理模塊將進行音頻處理后的數(shù)據(jù)發(fā)送給所述音頻混合模塊;所述音頻混合模塊將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;所述音頻設(shè)備驅(qū)動將所述音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;所述總線控制模塊通過總線將所述數(shù)據(jù)發(fā)送給所述物理音頻輸出設(shè)備,所述物理音頻輸出設(shè)備進行音頻播放。
所述回聲消除模塊利用回聲消除算法將所述音頻數(shù)據(jù)進行回聲消除。
本發(fā)明提供一種實現(xiàn)回聲消除的系統(tǒng),該系統(tǒng)包括音頻設(shè)備驅(qū)動,用于將經(jīng)過音頻處理和打包處理的數(shù)據(jù)發(fā)送給總線控制模塊;總線控制模塊,用于將音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備;模擬音頻輸出設(shè)備,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊;音頻輸入設(shè)備,該設(shè)備加載有回聲消除模塊,用于將所述音頻數(shù)據(jù)進行回聲消除。
所述模擬音頻輸出設(shè)備由設(shè)備模擬開發(fā)構(gòu)架DSF組件構(gòu)成。
該系統(tǒng)進一步包括
音頻讀取模塊,用于從音頻文件中讀取原始音頻數(shù)據(jù),并將讀取的原始音頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊;標(biāo)準(zhǔn)音頻處理模塊,用于將音頻讀取模塊發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;音頻混合模塊,用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;則所述音頻設(shè)備驅(qū)動用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;則所述總線控制模塊用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給所述模擬音頻輸出設(shè)備;則所述模擬音頻輸出設(shè)備包括數(shù)據(jù)分流組件,用于接收所述總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
所述數(shù)據(jù)分流組件進一步用于將所述總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則所述模擬音頻輸出設(shè)備進一步包括第二模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;則所述標(biāo)準(zhǔn)音頻處理模塊還用于將第二模擬組件發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;則所述音頻混合模塊還用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;則所述音頻設(shè)備驅(qū)動還用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;
則所述總線控制模塊還用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給物理音頻輸出設(shè)備;則該系統(tǒng)進一步包括物理音頻輸出設(shè)備,用于接收到總線控制模塊發(fā)來的數(shù)據(jù)后進行音頻播放。
本發(fā)明提供一種音頻輸出設(shè)備,該設(shè)備包括模擬音頻輸出模塊,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
所述模擬音頻輸出模塊包括數(shù)據(jù)分流組件,用于接收總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
所述數(shù)據(jù)分流組件進一步用于將總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則所述模擬音頻輸出模塊進一步包括第二模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊。
本發(fā)明中,在音頻播放側(cè),總線控制模塊將音頻設(shè)備驅(qū)動輸出的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,模擬音頻輸出設(shè)備將接收到的數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊,然后,回聲消除模塊將接收到的音頻數(shù)據(jù)進行回聲消除。這樣,通過在音頻播放側(cè)增加模擬音頻輸出設(shè)備,并由模擬音頻輸出設(shè)備將轉(zhuǎn)換后的音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊,使得音頻輸入設(shè)備端的回聲消除模塊能夠獲得音頻輸出設(shè)備的音頻數(shù)據(jù),從而完成回聲消除。


圖1為現(xiàn)有技術(shù)中實現(xiàn)回聲消除的系統(tǒng)結(jié)構(gòu)圖;圖2為現(xiàn)有技術(shù)中實現(xiàn)回聲消除的方法流程圖;圖3為本發(fā)明實現(xiàn)回聲消除的系統(tǒng)結(jié)構(gòu)圖;圖4為本發(fā)明實現(xiàn)回聲消除的方法流程圖;圖5為本發(fā)明的系統(tǒng)結(jié)構(gòu)圖;圖6為本發(fā)明的設(shè)備結(jié)構(gòu)圖。
具體實施例方式
本發(fā)明提供一種實現(xiàn)回聲消除的方法,本方法中,在音頻播放側(cè),首先注冊安裝一個模擬音頻輸出設(shè)備,在播放音頻時,模擬音頻輸出設(shè)備可以將音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊,由回聲消除模塊完成回聲消除。
參見圖3,為本發(fā)明方法可以應(yīng)用的系統(tǒng)結(jié)構(gòu)圖,該系統(tǒng)分為三層應(yīng)用層、內(nèi)核層和物理層,每一層由不同的模塊組件構(gòu)成,實現(xiàn)不同的功能。該系統(tǒng)基于USB接口實現(xiàn),主要由五類組件構(gòu)成,分別是1.Microsoft操作系統(tǒng)標(biāo)準(zhǔn)組件,包括標(biāo)準(zhǔn)音頻處理模塊(DirectSound)、音頻混合模塊(Kmixer)、音頻設(shè)備的設(shè)備驅(qū)動(USBAudio)和USB傳輸控制模塊(USBD)。標(biāo)準(zhǔn)音頻處理模塊位于系統(tǒng)的應(yīng)用層,音頻混合模塊、音頻設(shè)備的設(shè)備驅(qū)動和USB傳輸控制模塊位于系統(tǒng)的內(nèi)核層;其中,標(biāo)準(zhǔn)音頻處理模塊和音頻混合模塊對原始音頻數(shù)據(jù)進行音頻處理,音頻設(shè)備的設(shè)備驅(qū)動將上述兩個模塊處理后的音頻數(shù)據(jù)拆分打包成USB包數(shù)據(jù),USB傳輸控制模塊再將USB包數(shù)據(jù)通過USB總線發(fā)送給模擬音頻輸出設(shè)備或物理音頻輸出設(shè)備;2.模擬音頻輸出設(shè)備;本發(fā)明中,在音頻播放側(cè),需要首先注冊安裝模擬音頻輸出設(shè)備,該設(shè)備具有與物理音頻輸出設(shè)備相同的接口。增加了模擬音頻輸出設(shè)備后,系統(tǒng)中存在兩種音頻輸出設(shè)備,一個是原有的物理音頻輸出設(shè)備,一個就是增加的模擬音頻輸出設(shè)備。
上述模擬音頻輸出設(shè)備可以是由DSF組件模擬形成的DSF模擬揚聲器(DSF Simulator Speaker),該DSF模擬揚聲器包括DSF運行支持組件(DSFRunTime)、數(shù)據(jù)分流組件(SoftUSB Audio Speaker)、DSF模擬的虛擬揚聲器組件(USB Speaker DSF Simulator)和音頻播放組件(Audio Player)。DSF運行支持組件和數(shù)據(jù)分流組件塊位于系統(tǒng)的內(nèi)核層,DSF模擬的虛擬揚聲器組件和音頻播放組件位于系統(tǒng)的應(yīng)用層。
具體的注冊安裝方法為安裝DSF RunTime組件后,系統(tǒng)中就會增加一個USB接口,安裝SoftUSB Audio Speaker、USB Speaker DSF Simulator和AudioPlayer組件后,系統(tǒng)便成功安裝了模擬音頻輸出設(shè)備DSF模擬揚聲器(DSFSimulator Speaker)。
DSF模擬揚聲器各個組件的主要功能為SoftUSB Audio Speaker,用于將USBD送來的USB包數(shù)據(jù)拷貝一份,將其中的一份USB包數(shù)據(jù)送給USBSpeaker DSF Simulator組件,將另一份USB包數(shù)據(jù)送給Audio Player組件;USBSpeaker DSF Simulator組件將接收到的USB包數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù)并將該數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊;Audio Player組件將接收到的USB包數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù)并將該數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊(DirectSound)。
3.物理音頻設(shè)備,包括物理音頻輸出設(shè)備(Speaker)和物理音頻輸入設(shè)備(USB Microphone),均位于系統(tǒng)的物理層;4.在物理音頻輸入設(shè)備端的回聲消除模塊,包括音頻過濾驅(qū)動控制模塊(Audio Filter Control)和音頻過濾驅(qū)動模塊(Audio Filter for AEC)。音頻過濾驅(qū)動控制模塊位于系統(tǒng)的應(yīng)用層,用于接收音頻輸出設(shè)備端的音頻數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給音頻過濾驅(qū)動模塊,音頻過濾驅(qū)動模塊加載在音頻輸入設(shè)備的設(shè)備驅(qū)動上,位于系統(tǒng)的內(nèi)核層,用于利用回聲消除算法進行回聲消除;5.音頻播放程序(Audio Player)和音頻錄制程序(Audio Capture),均位于系統(tǒng)的應(yīng)用層。
下面結(jié)合圖3所示的系統(tǒng)模塊圖,對上述方案的具體實現(xiàn)流程進行說明,如圖4所示步驟401在音頻播放側(cè),將模擬音頻輸出設(shè)備設(shè)置為音頻播放模塊,需要放音時,音頻播放程序從音頻文件中讀取原始音頻數(shù)據(jù),將該原始音頻數(shù)據(jù)發(fā)送給音頻處理模塊,該音頻處理模塊包括標(biāo)準(zhǔn)音頻處理模塊和音頻混合模塊;步驟402-403標(biāo)準(zhǔn)音頻處理模塊和音頻混合模塊對音頻播放程序送來的原始音頻數(shù)據(jù)進行音頻處理;步驟404音頻混合模塊輸出的音頻數(shù)據(jù)到達音頻設(shè)備驅(qū)動模塊,該模塊將音頻混合模塊送來的音頻數(shù)據(jù)拆分打包成USB包數(shù)據(jù),并將該USB包數(shù)據(jù)發(fā)送給USB傳輸控制模塊。
步驟405USB傳輸控制模塊根據(jù)步驟401中的設(shè)置,將接收到的USB包數(shù)據(jù)通過USB總線發(fā)送給模擬音頻輸出設(shè)備;步驟406模擬音頻輸出設(shè)備的SoftUSB Audio Speaker組件將USB傳輸控制模塊送來的USB包數(shù)據(jù)拷貝一份,將其中的一份USB包數(shù)據(jù)送給USBSpeaker DSF Simulator組件,將另一份USB包數(shù)據(jù)送給Audio Player組件;USB Speaker DSF Simulator組件將接收到的USB包數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù)并將該數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊,由回聲消除模塊利用回聲消除算法,將接收到的音頻數(shù)據(jù)進行回聲消除;Audio Player組件將接收到的USB包數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù)并將該數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊,由物理音頻輸出設(shè)備進行放音。
這里,模擬音頻輸出設(shè)備在將音頻數(shù)據(jù)送入回聲消除模塊的同時,還需要將原始音頻數(shù)據(jù)送入物理音頻輸出設(shè)備,是因為模擬音頻輸出設(shè)備的作用僅是獲得音頻數(shù)據(jù),并將音頻數(shù)據(jù)送入回聲消除模塊,而不具備實際意義上的音頻播放功能。
步驟407-411標(biāo)準(zhǔn)音頻處理模塊和音頻混合模塊對模擬音頻輸出設(shè)備的Audio Player組件送來的原始音頻數(shù)據(jù)進行音頻處理;音頻混合模塊輸出的音頻數(shù)據(jù)到達音頻設(shè)備驅(qū)動模塊,該模塊將音頻混合模塊送來的音頻數(shù)據(jù)拆分打包成USB包數(shù)據(jù),并將該USB包數(shù)據(jù)發(fā)送給USB傳輸控制模塊;USB傳輸控制模塊將接收到的USB包數(shù)據(jù)通過USB總線發(fā)送物理音頻輸出設(shè)備,該設(shè)備進行放音。
需要說明的是,在音頻播放側(cè),如果將物理音頻輸出設(shè)備設(shè)置為音頻播放模塊,則步驟405中USB傳輸控制模塊直接將接收到的USB包數(shù)據(jù)通過USB總線發(fā)送給物理音頻輸出設(shè)備,而不是模擬音頻輸出設(shè)備,由物理音頻輸出設(shè)備直接進行放音。
另外,在本發(fā)明中,我們的模擬音頻輸出設(shè)備是基于USB接口的。同樣,該模擬音頻輸出設(shè)備也可以是基于其它接口的,如基于PCI接口、1394接口等等。所不同的是,在基于其它接口時,由PCI傳輸控制模塊通過PCI總線將音頻設(shè)備驅(qū)動輸出的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,或者由1394傳輸控制模塊通過1394總線將音頻設(shè)備驅(qū)動輸出的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,我們將USB傳輸控制模塊、PCI傳輸控制模塊或1394傳輸控制模塊等統(tǒng)稱為總線控制模塊。
參見圖5,本發(fā)明還提供一種實現(xiàn)回聲消除的系統(tǒng),該系統(tǒng)包括音頻設(shè)備驅(qū)動501、總線控制模塊502、模擬音頻輸出設(shè)備503和音頻輸入設(shè)備504,其中,音頻設(shè)備驅(qū)動501,用于輸出經(jīng)過音頻處理和打包處理的數(shù)據(jù);總線控制模塊502,用于將音頻設(shè)備驅(qū)動輸出的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備;模擬音頻輸出設(shè)備503,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊;音頻輸入設(shè)備504,該設(shè)備上加載有回聲消除模塊5041,用于將所述音頻數(shù)據(jù)進行回聲消除。
模擬音頻輸出設(shè)備503由設(shè)備模擬開發(fā)構(gòu)架DSF組件構(gòu)成。
該系統(tǒng)進一步包括音頻讀取模塊505、標(biāo)準(zhǔn)音頻處理模塊506和音頻混合模塊507,其中,音頻讀取模塊505,用于從音頻文件中讀取原始音頻數(shù)據(jù),并將讀取的原始音頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊;標(biāo)準(zhǔn)音頻處理模塊506,用于將音頻讀取模塊發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;音頻混合模塊507,用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;則所述音頻設(shè)備驅(qū)動501用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;所述總線控制模塊502用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給所述模擬音頻輸出設(shè)備;則模擬音頻輸出設(shè)備503包括數(shù)據(jù)分流組件5031和第一模擬組件5032,其中,數(shù)據(jù)分流組件5031,用于接收所述總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件5032,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
數(shù)據(jù)分流組件5031進一步用于將所述總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則模擬音頻輸出設(shè)備503進一步包括第二模擬組件5033,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;則標(biāo)準(zhǔn)音頻處理模塊506還用于將第二模擬組件發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;音頻混合模塊507還用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;音頻設(shè)備驅(qū)動501還用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;總線控制模塊502還用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給物理音頻輸出設(shè)備;則該系統(tǒng)進一步包括物理音頻輸出設(shè)備508,用于接收到總線控制模塊發(fā)來的數(shù)據(jù)后進行音頻播放。
參見圖6,本發(fā)明還提供一種音頻輸出設(shè)備,可以應(yīng)用于實現(xiàn)回聲消除的系統(tǒng)中,該設(shè)備包括模擬音頻輸出模塊601,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
模擬音頻輸出模塊601包括數(shù)據(jù)分流組件6011和第一模擬組件6012,其中,數(shù)據(jù)分流組件6011,用于接收總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件6012,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
數(shù)據(jù)分流組件6011進一步用于將總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則模擬音頻輸出模塊601進一步包括第二模擬組件6013,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給發(fā)送給標(biāo)準(zhǔn)音頻處理模塊。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種實現(xiàn)回聲消除的方法,應(yīng)用于包括音頻設(shè)備驅(qū)動、總線控制模塊和音頻輸入設(shè)備的系統(tǒng)中,并且在所述音頻輸入設(shè)備端加載有回聲消除模塊,其特征在于,該方法包括以下步驟A.在音頻播放側(cè),總線控制模塊將音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,該模擬音頻輸出設(shè)備將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊;B.所述回聲消除模塊根據(jù)所述音頻數(shù)據(jù)進行回聲消除。
2.如權(quán)利要求1所述的方法,其特征在于,所述模擬音頻輸出設(shè)備由設(shè)備模擬開發(fā)構(gòu)架DSF組件構(gòu)成。
3.如權(quán)利要求1所述的方法,所述系統(tǒng)還包括音頻播放程序、標(biāo)準(zhǔn)音頻處理模塊、音頻混合模塊,并且所述系統(tǒng)分為應(yīng)用層、內(nèi)核層,所述音頻播放程序和所述標(biāo)準(zhǔn)音頻處理模塊位于所述系統(tǒng)的應(yīng)用層,所述音頻混合模塊、所述音頻設(shè)備驅(qū)動和所述總線控制模塊位于所述系統(tǒng)的內(nèi)核層,其特征在于,所述模擬音頻輸出設(shè)備包括數(shù)據(jù)分流組件和第一模擬組件,所述數(shù)據(jù)分流組件位于所述系統(tǒng)的內(nèi)核層,所述第一模擬組件位于所述系統(tǒng)的應(yīng)用層,在步驟A之前,該方法進一步包括A01.所述音頻播放程序從音頻文件中讀取原始音頻數(shù)據(jù),并將讀取的原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;所述標(biāo)準(zhǔn)音頻處理模塊將進行音頻處理后的數(shù)據(jù)發(fā)送給所述音頻混合模塊;A02.所述音頻混合模塊將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;所述音頻設(shè)備驅(qū)動將所述音頻數(shù)據(jù)進行打包處理,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;則步驟A包括A1.所述總線控制模塊將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給所述數(shù)據(jù)分流組件,該數(shù)據(jù)分流組件將所述數(shù)據(jù)發(fā)送給所述第一模擬組件,該第一模擬組件將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊。
4.如權(quán)利要求3所述的方法,所述系統(tǒng)還包括物理音頻輸出設(shè)備,其特征在于,所述模擬音頻輸出設(shè)備與所述物理音頻輸出設(shè)備具有相同的接口,所述模擬音頻輸出設(shè)備還包括第二模擬組件,該第二模擬組件位于所述系統(tǒng)的應(yīng)用層,在步驟A1中所述數(shù)據(jù)分流組件將所述數(shù)據(jù)發(fā)送給所述第一模擬組件時,該方法進一步包括所述數(shù)據(jù)分流組件將所述數(shù)據(jù)拷貝一份并發(fā)送給所述第二模擬組件,所述第二模擬組件將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將轉(zhuǎn)換后的原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;所述標(biāo)準(zhǔn)音頻處理模塊將進行音頻處理后的數(shù)據(jù)發(fā)送給所述音頻混合模塊;所述音頻混合模塊將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;所述音頻設(shè)備驅(qū)動將所述音頻數(shù)據(jù)進行打包處理,并將打包處理后的數(shù)據(jù)發(fā)送給所述總線控制模塊;所述總線控制模塊通過總線將所述數(shù)據(jù)發(fā)送給所述物理音頻輸出設(shè)備,所述物理音頻輸出設(shè)備進行音頻播放。
5.如權(quán)利要求1所述的方法,其特征在于,所述回聲消除模塊利用回聲消除算法將所述音頻數(shù)據(jù)進行回聲消除。
6.一種實現(xiàn)回聲消除的系統(tǒng),其特征在于,該系統(tǒng)包括音頻設(shè)備驅(qū)動,用于將經(jīng)過音頻處理和打包處理的數(shù)據(jù)發(fā)送給總線控制模塊;總線控制模塊,用于將音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備;模擬音頻輸出設(shè)備,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊;音頻輸入設(shè)備,該設(shè)備加載有回聲消除模塊,用于將所述音頻數(shù)據(jù)進行回聲消除。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述模擬音頻輸出設(shè)備由設(shè)備模擬開發(fā)構(gòu)架DSF組件構(gòu)成。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,該系統(tǒng)進一步包括音頻讀取模塊,用于從音頻文件中讀取原始音頻數(shù)據(jù),并將讀取的原始音頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊;標(biāo)準(zhǔn)音頻處理模塊,用于將音頻讀取模塊發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;音頻混合模塊,用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;則所述音頻設(shè)備驅(qū)動用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;則所述總線控制模塊用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給所述模擬音頻輸出設(shè)備;則所述模擬音頻輸出設(shè)備包括數(shù)據(jù)分流組件,用于接收所述總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)分流組件進一步用于將所述總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則所述模擬音頻輸出設(shè)備進一步包括第二模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給所述標(biāo)準(zhǔn)音頻處理模塊;則所述標(biāo)準(zhǔn)音頻處理模塊還用于將第二模擬組件發(fā)來的原始音頻數(shù)據(jù)進行音頻處理,并將進行音頻處理后的數(shù)據(jù)發(fā)送給音頻混合模塊;則所述音頻混合模塊還用于將標(biāo)準(zhǔn)音頻處理模塊發(fā)來的數(shù)據(jù)進行音頻處理,并將進行音頻處理后的音頻數(shù)據(jù)發(fā)送給所述音頻設(shè)備驅(qū)動;則所述音頻設(shè)備驅(qū)動還用于將音頻混合模塊發(fā)來的音頻數(shù)據(jù)進行打包,并將打包后的數(shù)據(jù)發(fā)送給所述總線控制模塊;則所述總線控制模塊還用于將所述音頻設(shè)備驅(qū)動發(fā)來的數(shù)據(jù)通過總線發(fā)送給物理音頻輸出設(shè)備;則該系統(tǒng)進一步包括物理音頻輸出設(shè)備,用于接收到總線控制模塊發(fā)來的數(shù)據(jù)后進行音頻播放。
10.一種音頻輸出設(shè)備,其特征在于,該設(shè)備包括模擬音頻輸出模塊,用于接收總線控制模塊發(fā)來的數(shù)據(jù),將該數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述模擬音頻輸出模塊包括數(shù)據(jù)分流組件,用于接收總線控制模塊發(fā)來的數(shù)據(jù),并將該數(shù)據(jù)發(fā)送給第一模擬組件;第一模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備的回聲消除模塊。
12.如權(quán)利要求11所述的設(shè)備,其特征在于,所述數(shù)據(jù)分流組件進一步用于將總線控制模塊發(fā)來的數(shù)據(jù)拷貝一份并發(fā)送給第二模擬組件;則所述模擬音頻輸出模塊進一步包括第二模擬組件,用于將所述數(shù)據(jù)轉(zhuǎn)換成原始音頻數(shù)據(jù),并將該原始音頻數(shù)據(jù)發(fā)送給標(biāo)準(zhǔn)音頻處理模塊。
全文摘要
本發(fā)明公開了一種實現(xiàn)回聲消除的方法,該方法為在音頻播放側(cè),總線控制模塊將音頻設(shè)備驅(qū)動輸出的數(shù)據(jù)發(fā)送給模擬音頻輸出設(shè)備,該模擬音頻輸出設(shè)備將所述數(shù)據(jù)轉(zhuǎn)換成音頻數(shù)據(jù),并將該音頻數(shù)據(jù)發(fā)送給音頻輸入設(shè)備端的回聲消除模塊;所述回聲消除模塊根據(jù)所述音頻數(shù)據(jù)進行回聲消除。本發(fā)明還公開了一種實現(xiàn)回聲消除的系統(tǒng)和設(shè)備。采用本發(fā)明,解決了音頻輸入設(shè)備的回聲消除模塊無法獲得音頻輸出設(shè)備輸出的音頻數(shù)據(jù),而無法完成回聲消除的問題。
文檔編號H04M9/08GK101014073SQ200710063878
公開日2007年8月8日 申請日期2007年2月13日 優(yōu)先權(quán)日2007年2月13日
發(fā)明者曹玉弟 申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1