專利名稱:使音頻處理模塊同步的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本文涉及一種使音頻處理模塊同步的方法和系統(tǒng)。
背景技術(shù):
利用遺留計(jì)算裝置(Legacy computing device)來(lái)創(chuàng)建文檔、電子數(shù)據(jù)表和電子郵件。這些計(jì)算裝置提供單聲道聲音,主要利用所述聲音來(lái)指示系統(tǒng)事件的發(fā)生?,F(xiàn)在計(jì)算裝置還用來(lái)玩游戲、因特網(wǎng)上沖浪、收聽(tīng)音樂(lè)、觀看電影和類似用途。因此,常規(guī)的計(jì)算裝置提供多信道音頻能力。
參看圖1,展示根據(jù)常規(guī)技術(shù)計(jì)算機(jī)系統(tǒng)的音頻部分的方框圖。如圖1所描繪,計(jì)算機(jī)包含處理器110、存儲(chǔ)器120、音頻系統(tǒng)130和輸出裝置(例如,揚(yáng)聲器)140。音頻系統(tǒng)130通信地耦合在處理器110、存儲(chǔ)器120與輸出裝置140之間。
處理器110提供操作系統(tǒng)和一個(gè)或一個(gè)以上應(yīng)用程序。所述應(yīng)用程序的一者或一者以上可促使處理器110提供一個(gè)或一個(gè)以上聲音。處理器110向音頻系統(tǒng)130發(fā)布命令,所述命令含有將要播放的一個(gè)或一個(gè)以上波表在存儲(chǔ)器120中的位置(例如,地址)和將要用來(lái)播放聲音的參數(shù)。波表由聲音的一系列數(shù)字樣本組成。參數(shù)可包含將要從波表產(chǎn)生的聲音的頻率(例如,音調(diào))、描述隨著時(shí)間的過(guò)去聲音的振幅的包絡(luò)(例如,起聲、維持、衰落),和調(diào)制頻率的顫音。音頻系統(tǒng)130響應(yīng)于來(lái)自處理器110的命令而從存儲(chǔ)在存儲(chǔ)器120中的波表檢索一個(gè)或一個(gè)以上聲音。音頻系統(tǒng)130根據(jù)參數(shù)來(lái)處理聲音,藉此產(chǎn)生音頻數(shù)據(jù)。音頻系統(tǒng)130接著將音頻數(shù)據(jù)轉(zhuǎn)換為可在給定的輸出裝置(例如,揚(yáng)聲器)140上播放的模擬輸出。
預(yù)期計(jì)算機(jī)用戶將繼續(xù)需求用于傳遞高清晰度視頻、高清晰度音頻、流動(dòng)視頻、流動(dòng)音頻、多人游戲和/或其它隨選音頻和視頻內(nèi)容的改進(jìn)的音頻系統(tǒng)。因此,音頻系統(tǒng)需要提供不斷增強(qiáng)的音頻處理能力,同時(shí)使處理器利用和總線流通量最小化。因此,需要一種能夠處理來(lái)自復(fù)數(shù)個(gè)應(yīng)用程序的多個(gè)聲音的改進(jìn)的音頻系統(tǒng),所述聲音可在處理器利用減小、總線流通量的產(chǎn)生減小且等待時(shí)間縮短的情況下輸出到任何數(shù)目的輸出裝置。
發(fā)明內(nèi)容
本揭示案的實(shí)施例針對(duì)一種能夠處理來(lái)自復(fù)數(shù)個(gè)應(yīng)用程序的多個(gè)聲音的改進(jìn)的音頻系統(tǒng),所述聲音可在處理器利用減小、總線流通量的產(chǎn)生減小且等待時(shí)間縮短的情況下輸出到任何數(shù)目的輸出裝置。在一個(gè)實(shí)施例中,音頻系統(tǒng)包含復(fù)數(shù)個(gè)音頻處理模塊、時(shí)鐘管理器、抽樣率轉(zhuǎn)換器和緩沖器。音頻處理模塊通信地耦合到時(shí)鐘管理器和緩沖器。抽樣率轉(zhuǎn)換器通信地耦合到時(shí)鐘管理器和緩沖器。緩沖器為存儲(chǔ)由音頻處理模塊產(chǎn)生并消耗的音頻數(shù)據(jù)作準(zhǔn)備。時(shí)鐘管理器為確定每一音頻處理模塊的時(shí)鐘源作準(zhǔn)備。時(shí)鐘管理器也為將音頻處理模塊和抽樣率轉(zhuǎn)換器配置成每一音頻處理模塊的時(shí)鐘源的函數(shù)作準(zhǔn)備。當(dāng)?shù)谝慌c第二音頻處理模塊的時(shí)鐘源不同時(shí),所述抽樣率轉(zhuǎn)換器為使由第一音頻處理模塊產(chǎn)生的音頻數(shù)據(jù)的流速與由第二音頻處理模塊消耗的音頻數(shù)據(jù)的流速同步作準(zhǔn)備。
在另一實(shí)施例中,一種使音頻系統(tǒng)的音頻處理模塊同步的方法,包含當(dāng)一組音頻處理模塊利用共同的時(shí)鐘源時(shí),配置相關(guān)組的音頻處理模塊的第一者(例如,音頻硬件加速器)以便通過(guò)緩沖器將第一組音頻數(shù)據(jù)傳送到相關(guān)組的音頻處理模塊的第二者(例如,音頻硬件渲染器)。因此,當(dāng)發(fā)現(xiàn)兩個(gè)或兩個(gè)以上裝置具有相同時(shí)鐘源(例如,硬件時(shí)鐘)時(shí),軟件接著可回避在裝置之間引入速率控制或抽樣率轉(zhuǎn)換器以防止數(shù)據(jù)的下溢或溢出的需要。當(dāng)所述組音頻處理模塊不利用共同的時(shí)鐘源時(shí),所述方法包含配置相關(guān)組的音頻處理模塊的第一者以便將第一組音頻數(shù)據(jù)存儲(chǔ)在第一緩沖器中。抽樣率轉(zhuǎn)換器經(jīng)配置以便從第一緩沖器接收第一組音頻數(shù)據(jù),并將第二組音頻數(shù)據(jù)存儲(chǔ)在第二緩沖器中。抽樣率轉(zhuǎn)換器還經(jīng)配置以便使進(jìn)入第一緩沖器中的第一組音頻數(shù)據(jù)的流率與離開(kāi)第二緩沖器的第二組音頻數(shù)據(jù)的流率同步。相關(guān)組的音頻處理模塊的第二者經(jīng)配置以便當(dāng)所述組音頻處理模塊不利用共同的時(shí)鐘源時(shí)從第二緩沖器接收第二組音頻數(shù)據(jù)。
在另一實(shí)施例中,一種使音頻處理模塊同步的方法,包含當(dāng)相關(guān)組的音頻處理模塊共享共同的時(shí)鐘源時(shí)在第一模式下操作音頻系統(tǒng)。第一模式包含將由相關(guān)組的音頻處理模塊的第一者產(chǎn)生的音頻數(shù)據(jù)存儲(chǔ)在共享緩沖器中。第一模式進(jìn)一步包含從共享緩沖器接收由相關(guān)組的音頻處理模塊的第二者消耗的音頻數(shù)據(jù)。當(dāng)相關(guān)組的音頻處理模不共享共同的時(shí)鐘源時(shí),音頻系統(tǒng)在第二模式下操作。第二模式包含將由相關(guān)組的音頻處理模塊的第一者產(chǎn)生的音頻數(shù)據(jù)存儲(chǔ)在輸入緩沖器中,和從輸出緩沖器接收由相關(guān)組的音頻處理模塊的第二者消耗的音頻數(shù)據(jù)。第二模式進(jìn)一步包含使存儲(chǔ)在輸入緩沖器中的音頻數(shù)據(jù)的流率與從輸出緩沖器接收的音頻數(shù)據(jù)的流率同步。
在另一實(shí)施例中,一種計(jì)算裝置實(shí)施的音頻系統(tǒng)包含存儲(chǔ)器控制器集線器、處理器、主存儲(chǔ)器和音頻系統(tǒng)。處理器、主存儲(chǔ)器和音頻系統(tǒng)每一者通信地耦合到存儲(chǔ)器控制器集線器。音頻系統(tǒng)包含時(shí)鐘管理器、復(fù)數(shù)個(gè)音頻處理模塊、抽樣率轉(zhuǎn)換器和緩沖器。復(fù)數(shù)個(gè)音頻處理模塊通信地耦合到時(shí)鐘管理器和緩沖器。抽樣率轉(zhuǎn)換器通信地耦合到時(shí)鐘管理器和緩沖器。
本揭示案的實(shí)施例有利地允許音頻處理模塊充當(dāng)完全獨(dú)立的裝置。本揭示案的實(shí)施例有利地當(dāng)音頻處理模塊不共享共同的時(shí)鐘源時(shí)使音頻處理模塊同步。當(dāng)音頻處理模塊共享共同的時(shí)鐘源時(shí),本揭示案的實(shí)施例可排除使音頻處理模塊同步的開(kāi)銷。
附圖的圖式中以舉例的方式而不以限定的方式說(shuō)明本揭示案,附圖中相似參考標(biāo)號(hào)表示類似元件,且其中圖1展示根據(jù)現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)的音頻部分的方框圖。
圖2展示根據(jù)本揭示案的一個(gè)實(shí)施例電子音頻系統(tǒng)的方框圖。
圖3展示根據(jù)本揭示案的一個(gè)實(shí)施例包含一個(gè)或一個(gè)以上加速器和渲染器的音頻系統(tǒng)的方框圖。
圖4展示根據(jù)本揭示案的一個(gè)實(shí)施例包含一個(gè)或一個(gè)以上局域級(jí)(local stage)和一全局級(jí)(global stage)的音頻系統(tǒng)的方框圖。
圖5展示根據(jù)本揭示案的一個(gè)實(shí)施例使音頻處理模塊同步的方法的流程圖。
圖6展示用于實(shí)施本揭示案的實(shí)施例的示范性計(jì)算平臺(tái)。
具體實(shí)施例方式
現(xiàn)將詳細(xì)參照本揭示案的實(shí)施例,其實(shí)例在附圖中予以說(shuō)明。雖然將結(jié)合這些實(shí)施例來(lái)描述本揭示案,但應(yīng)了解,不希望它們將本揭示案限于這些實(shí)施例。相反,希望本揭示案涵蓋可包含在由所附權(quán)利要求書界定的本揭示案范圍內(nèi)的替代形式、修改和等效物。此外,在本揭示案的以下具體實(shí)施方式
中,陳述大量特定細(xì)節(jié)以便提供對(duì)本揭示案的徹底理解。然而,應(yīng)了解,可在沒(méi)有這些特定細(xì)節(jié)的前提下實(shí)踐本揭示案。在其它情況下,為了不會(huì)不必要地混淆本揭示案的各方面,并未詳細(xì)描述眾所周知的方法、程序、組件和電路。
參看圖2,展示根據(jù)本揭示案的一個(gè)實(shí)施例電子音頻系統(tǒng)200的方框圖。如圖2所描繪,音頻系統(tǒng)200耦合在一個(gè)或一個(gè)以上應(yīng)用程序(例如,音樂(lè)播放器、游戲和/或類似物)210、212、214與一個(gè)或一個(gè)以上輸出裝置(例如,揚(yáng)聲器、PCI控制器、USB控制器、火線控制器和/或類似物)290、292之間。通常,特定應(yīng)用程序210產(chǎn)生一個(gè)或一個(gè)以上聲音。所述聲音由音頻系統(tǒng)200處理并輸出到適當(dāng)?shù)妮敵鲅b置290。
音頻系統(tǒng)200包含復(fù)數(shù)個(gè)音頻處理模塊220、225、240、245、時(shí)鐘管理器260、抽樣率轉(zhuǎn)換器270和緩沖器280。音頻處理模塊220、225、240、245可通信地耦合到時(shí)鐘管理器260并耦合到緩沖器280。抽樣率轉(zhuǎn)換器270可通信地耦合到時(shí)鐘管理器260并耦合到緩沖器280。
在一個(gè)實(shí)施方案中,如下文參看圖3詳細(xì)描述,第一音頻處理模塊可為加速器模塊,且第二音頻處理模塊可為渲染器模塊。在另一實(shí)施方案中,如下文參看圖4詳細(xì)描述,第一音頻處理模塊可為局域極,且第二音頻處理模塊可為全局級(jí)。
一個(gè)或一個(gè)以上音頻處理模塊(例如,加速器模塊和渲染器模塊,或局域極和全局級(jí))220、245可彼此關(guān)聯(lián)以便處理由特定應(yīng)用程序210產(chǎn)生的聲音。當(dāng)相關(guān)的音頻處理模塊220、245正由于不同的時(shí)鐘源230、255而操作時(shí),音頻數(shù)據(jù)的產(chǎn)生和消耗的速率將不同。即使兩個(gè)音頻處理模塊220、245正由于以相同速率操作的不同的時(shí)鐘源而操作,也將存在某一偏差(例如,48.1KHz和47.9KHz)。當(dāng)音頻處理模塊220、245正由于相同的時(shí)鐘源230而操作時(shí),時(shí)鐘率準(zhǔn)確地匹配(例如,48KHz)。
根據(jù)本揭示案的實(shí)施例,時(shí)鐘管理器260將音頻處理模塊220、245和抽樣率轉(zhuǎn)換器270配置成音頻處理模塊220、245的每一者的時(shí)鐘源230、250的函數(shù)。如果相關(guān)的音頻處理模塊220、245共享共同的時(shí)鐘源230,那么音頻處理模塊220、245分別由時(shí)鐘管理器260配置以便在共享緩沖器282中存儲(chǔ)并檢索音頻數(shù)據(jù)。如果相關(guān)的音頻處理模塊220、245不由于共同的時(shí)鐘源230、255而操作,那么第一音頻處理模塊220由時(shí)鐘管理器260配置以便將其輸出音頻數(shù)據(jù)存儲(chǔ)在輸入緩沖器284中。第二音頻處理模塊245由時(shí)鐘管理器260配置以便從輸出緩沖器286接收音頻數(shù)據(jù)。抽樣率轉(zhuǎn)換器270由時(shí)鐘管理器260配置以便通過(guò)在音頻數(shù)據(jù)中插入和/或刪除額外樣本來(lái)修改音頻數(shù)據(jù),藉此使存儲(chǔ)在輸入緩沖器284中的音頻數(shù)據(jù)的流率與從輸出緩沖器286接收的音頻數(shù)據(jù)的流率同步。
或者,抽樣率轉(zhuǎn)換器270可通過(guò)監(jiān)控共享緩沖器的輸入指針和共享緩沖器的輸出指針來(lái)提供產(chǎn)生/消耗速率匹配。抽樣率轉(zhuǎn)換器270可視輸入和輸出指針值而定促使第一音頻處理模塊220和/或第二音頻處理模塊245加速或減速。因此,第二音頻處理模塊245的輸出率與第一音頻處理模塊220的輸入率匹配,使得兩者保持鎖定在同步狀態(tài)。
應(yīng)了解,在另一實(shí)施方案中,復(fù)數(shù)個(gè)音頻處理模塊220、225可產(chǎn)生對(duì)應(yīng)于每一音頻處理模塊220、225所接收聲音的音頻數(shù)據(jù)。單個(gè)音頻處理模塊245可消耗所述音頻數(shù)據(jù)。在另一實(shí)施方案中,單個(gè)音頻處理模塊220可產(chǎn)生對(duì)應(yīng)于接收到的一個(gè)或一個(gè)以上聲音的音頻數(shù)據(jù)。復(fù)數(shù)個(gè)音頻處理模塊240、245可消耗所述音頻數(shù)據(jù)。在又一實(shí)施方案中,第一復(fù)數(shù)個(gè)音頻處理模塊220、225可產(chǎn)生對(duì)應(yīng)于接收到的一個(gè)或一個(gè)以上聲音的音頻數(shù)據(jù)。第二復(fù)數(shù)個(gè)音頻處理模塊240、245可消耗所述音頻數(shù)據(jù)。
現(xiàn)參看圖3,其展示根據(jù)本揭示案的一個(gè)實(shí)施例包含一個(gè)或一個(gè)以上加速器320、325和渲染器340、345的音頻系統(tǒng)300的方框圖。如圖3所描繪,音頻系統(tǒng)300可耦合在一個(gè)或一個(gè)以上應(yīng)用程序310、315與一個(gè)或一個(gè)以上輸出裝置390之間。通常,特定應(yīng)用程序310產(chǎn)生一個(gè)或一個(gè)以上聲音。所述聲音由音頻系統(tǒng)300處理并輸出到適當(dāng)?shù)妮敵鲅b置390。
音頻系統(tǒng)300可包含復(fù)數(shù)個(gè)音頻處理模塊320、325、340、345、時(shí)鐘管理器360、抽樣率轉(zhuǎn)換器370和緩沖器380。音頻處理模塊的一者或一者以上可為加速器模塊320、325。音頻處理模塊的一者或一者以上可為渲染器模塊340、345。特定加速器模塊320通常與特定渲染器模塊340關(guān)聯(lián)以便處理來(lái)自特定應(yīng)用程序310的聲音。相關(guān)的加速器和渲染器模塊320、340可通信地耦合到時(shí)鐘管理器360和緩沖器380。抽樣率轉(zhuǎn)換器370可通信地耦合到時(shí)鐘管理器360和緩沖器380。
分別由相關(guān)的加速器和渲染器模塊320、340產(chǎn)生或消耗的音頻數(shù)據(jù)的流率是驅(qū)動(dòng)給定的模塊的時(shí)鐘的函數(shù)。每一相關(guān)的時(shí)鐘可來(lái)自不同的時(shí)鐘源330、350,或相關(guān)的時(shí)鐘的一者或一者以上可來(lái)自相同的時(shí)鐘源330。如果時(shí)鐘源330對(duì)于一組相關(guān)的加速器和渲染器模塊320、340來(lái)說(shuō)是相同的,那么所產(chǎn)生與所消耗的音頻數(shù)據(jù)的速率將相等。如果時(shí)鐘源330、350對(duì)于一組相關(guān)的加速器和渲染器模塊320、340來(lái)說(shuō)是不同的,那么所產(chǎn)生與所消耗的音頻數(shù)據(jù)的速率將不相等。即使兩個(gè)時(shí)鐘源330、350正以相同的頻率操作,也將存在操作頻率上的某一偏差,且因此相關(guān)的加速器和渲染器模塊320、340的產(chǎn)生和消耗的速率將不同。只有當(dāng)加速器和渲染器模塊320、340正由于相同的時(shí)鐘源330而操作時(shí),操作頻率才會(huì)匹配,且因此相關(guān)的模塊320、340之間的產(chǎn)生和消耗的速率也將匹配。
因此,時(shí)鐘管理器360將確定每一相關(guān)的加速器和渲染器模塊320、340的時(shí)鐘源330、350。在一個(gè)實(shí)施方案中,每一加速器和渲染器模塊320、340向時(shí)鐘管理器360登記全局唯一識(shí)別符(GUID)。每一GUID識(shí)別特定加速器或渲染器模塊的時(shí)鐘源。時(shí)鐘管理器360接著部分地基于相關(guān)的加速器模塊320的時(shí)鐘源330和相關(guān)的渲染器模塊340的時(shí)鐘源350來(lái)配置每一相關(guān)的加速器和渲染器模塊320、340以及抽樣率轉(zhuǎn)換器370。
當(dāng)發(fā)現(xiàn)相關(guān)的加速器和渲染器模塊320、340使用相同的時(shí)鐘源330(例如,48KHz)時(shí),時(shí)鐘管理器360配置加速器模塊320在第一模式下操作。在第一模式下,加速器模塊320將其音頻數(shù)據(jù)輸出到緩沖器382的共享部分。相關(guān)的渲染器模塊340經(jīng)配置以便從緩沖器382的共享部分接收其輸入音頻數(shù)據(jù)。因此,加速器模塊320將音頻數(shù)據(jù)直接輸出到緩沖器382的共享部分,渲染器模塊340從緩沖器382的共享部分消耗音頻數(shù)據(jù)。在第一模式下,加速器模塊320輸出音頻數(shù)據(jù)與渲染器模塊340輸入音頻數(shù)據(jù)之間的等待時(shí)間約為2ms或更少。在一個(gè)實(shí)施方案中,緩沖器382的共享部分可約為1-10KB。
當(dāng)相關(guān)的加速器和渲染器模塊320、340使用不同的時(shí)鐘源330、350時(shí),時(shí)鐘管理器360配置模塊320、340和抽樣率轉(zhuǎn)換器370在第二模式下操作。在第二模式下,相關(guān)的加速器模塊320經(jīng)配置以便將其音頻數(shù)據(jù)輸出到緩沖器384的輸入部分。相關(guān)的渲染器模塊340經(jīng)配置以便從緩沖器386的輸出部分接收其輸入音頻數(shù)據(jù)。抽樣率轉(zhuǎn)換器370經(jīng)配置以便將進(jìn)入緩沖器384的輸入部分的流率與離開(kāi)緩沖器386的輸出部分的流率匹配。因此,抽樣率轉(zhuǎn)換器370從緩沖器384的輸入部分檢索音頻數(shù)據(jù),且可引入和/或排除額外的數(shù)據(jù)樣本。抽樣率轉(zhuǎn)換器370接著將經(jīng)修改的音頻數(shù)據(jù)輸出到緩沖器386的輸出部分。因此,加速器模塊320的輸出率與渲染器模塊340的輸入率匹配,使得兩者保持鎖定在同步狀態(tài)。在第二模式下,當(dāng)利用抽樣率轉(zhuǎn)換時(shí),從加速器模塊320輸出音頻數(shù)據(jù)與渲染器模塊340進(jìn)行輸入之間的等待時(shí)間通常約為15-20ms。在一個(gè)實(shí)施方案中,緩沖器384、386的輸入部分和輸出部分每一者可約為100-200KB。
應(yīng)了解,音頻系統(tǒng)可實(shí)施在硬件、軟件、韌件或其組合中。舉例來(lái)說(shuō),加速器模塊、時(shí)鐘管理器和抽樣率轉(zhuǎn)換器可實(shí)施在軟件中。渲染器模塊可包含實(shí)施在軟件中的渲染器驅(qū)動(dòng)器和渲染器硬件(例如,編碼器/解碼器(CODEC))。緩沖器可實(shí)施在系統(tǒng)存儲(chǔ)器(例如,動(dòng)態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(DRAM))中。
盡管已參考音頻輸出流(例如,重播)描述了音頻系統(tǒng)300的操作,但應(yīng)了解,音頻系統(tǒng)300也可為處理輸入流(例如,記錄)作準(zhǔn)備。舉例來(lái)說(shuō),渲染器模塊(例如,CODEC)345可從輸入裝置(例如,麥克風(fēng))395接收模擬音頻信號(hào)。渲染器模塊345可將模擬音頻信號(hào)轉(zhuǎn)換成數(shù)字音頻數(shù)據(jù),數(shù)字音頻數(shù)據(jù)存儲(chǔ)在緩沖器380中。時(shí)鐘管理器360將加速器模塊325、渲染器模塊345、抽樣率轉(zhuǎn)換器370和緩沖器380配置成渲染器和加速器模塊325、345的時(shí)鐘源330、350的函數(shù)。如果渲染器和加速器模塊325、345不由于共同的時(shí)鐘源而操作,那么插入抽樣率轉(zhuǎn)換器以便使加速器與渲染器模塊325、345之間的數(shù)據(jù)的流率同步。加速器模塊325從緩沖器380接收音頻數(shù)據(jù),并根據(jù)給定的應(yīng)用程序315來(lái)處理所述音頻數(shù)據(jù)。接著通常將經(jīng)處理的音頻數(shù)據(jù)存儲(chǔ)在主存儲(chǔ)器中且/或存儲(chǔ)在大容量存儲(chǔ)裝置(例如,硬盤驅(qū)動(dòng)器)中供將來(lái)重播。
現(xiàn)參看圖4,展示根據(jù)本揭示案的一個(gè)實(shí)施例包含一個(gè)或一個(gè)以上局域級(jí)423、425和全局級(jí)427的音頻系統(tǒng)的方框圖。如圖4所描繪,音頻系統(tǒng)包含加速器模塊420、時(shí)鐘管理器460、抽樣率轉(zhuǎn)換器470、緩沖器480和渲染器(未圖示)。加速器模塊420包含一個(gè)或一個(gè)以上局域級(jí)423、425和全局級(jí)427。局域級(jí)423、425和全局級(jí)427每一者通信地耦合到時(shí)鐘管理器460和緩沖器480。抽樣率轉(zhuǎn)換器470通信地耦合到時(shí)鐘管理器460和緩沖器480。時(shí)鐘管理器460將局域級(jí)423、425、全局級(jí)427和抽樣率轉(zhuǎn)換器470配置成局域級(jí)423、425和全局級(jí)427的每一者的時(shí)鐘源的函數(shù)。
局域級(jí)423、425和全局級(jí)427的每一者向時(shí)鐘管理器460登記全局唯一識(shí)別符(GUID)。GUID識(shí)別每一局域級(jí)423、425和全局級(jí)427的時(shí)鐘的來(lái)源。此后,一個(gè)或一個(gè)以上局域級(jí)423、425從一個(gè)或一個(gè)以上應(yīng)用程序接收聲音,并產(chǎn)生對(duì)應(yīng)于一個(gè)或一個(gè)以上聲音的音頻數(shù)據(jù)。如果特定局域級(jí)423和全局級(jí)427共享共同的時(shí)鐘源,那么局域級(jí)423和全局級(jí)427分別由時(shí)鐘管理器460配置以便在緩沖器482的共享部分中存儲(chǔ)并檢索音頻數(shù)據(jù)。如果特定局域級(jí)423和全局級(jí)427由于不同的時(shí)鐘源而操作,那么時(shí)鐘管理器460配置局域級(jí)423以便將其音頻數(shù)據(jù)輸出到緩沖器484的輸入部分。全局級(jí)427經(jīng)配置以便從緩沖器486的輸出部分接收其輸入音頻數(shù)據(jù)。抽樣率轉(zhuǎn)換器470經(jīng)配置以便從緩沖器484的輸入部分接收音頻數(shù)據(jù)并引入且/或排除額外的數(shù)據(jù)樣本。抽樣率轉(zhuǎn)換器470接著將經(jīng)修改的音頻數(shù)據(jù)輸出到緩沖器486的輸出部分。因此,在局域級(jí)423與全局級(jí)427之間維持同步。
舉例來(lái)說(shuō),應(yīng)用程序(例如,視頻游戲)可以是產(chǎn)生復(fù)數(shù)個(gè)聲音(槍擊、尖叫、火車等)。對(duì)應(yīng)于應(yīng)用程序的特定局域級(jí)423將復(fù)數(shù)個(gè)聲音混合并將其輸出到緩沖器480。當(dāng)局域級(jí)423和全局級(jí)427不具有共同的時(shí)鐘源時(shí),抽樣率轉(zhuǎn)換器470使由局域級(jí)423產(chǎn)生的音頻數(shù)據(jù)的流率與由全局級(jí)427消耗的音頻數(shù)據(jù)的流率同步。否則,當(dāng)級(jí)423、427具有共同的時(shí)鐘源時(shí),在不需要同步的情況下,局域級(jí)423將音頻數(shù)據(jù)存儲(chǔ)在緩沖器482的共享部分中,且全局級(jí)427消耗所述音頻數(shù)據(jù)。全局級(jí)可提供對(duì)音頻數(shù)據(jù)的處理,例如混響。由全局級(jí)427輸出的音頻數(shù)據(jù)可存儲(chǔ)在緩沖器中供一個(gè)或一個(gè)以上渲染器模塊消耗。
在另一實(shí)例中,緩沖器480存儲(chǔ)由復(fù)數(shù)個(gè)局域級(jí)423、425的每一者產(chǎn)生并由全局級(jí)427消耗的音頻數(shù)據(jù)。當(dāng)一個(gè)或一個(gè)以上級(jí)不具有共同的時(shí)鐘源時(shí),抽樣率轉(zhuǎn)換器470使由局域級(jí)423、425產(chǎn)生的音頻數(shù)據(jù)的流率與由全局級(jí)427消耗的音頻數(shù)據(jù)的流率同步。否則,當(dāng)級(jí)423、425、427具有共同的時(shí)鐘源時(shí),在不需要同步的情況下,局域級(jí)423、425將音頻數(shù)據(jù)存儲(chǔ)在緩沖器480中,且全局級(jí)427消耗所述音頻數(shù)據(jù)。此后,全局級(jí)427將由每一局域級(jí)423、425產(chǎn)生的音頻數(shù)據(jù)混合在一起以產(chǎn)生供輸出(例如,由渲染器模塊進(jìn)行進(jìn)一步處理)的音頻數(shù)據(jù)。
盡管已參考音頻輸出流(例如,重播)描述了音頻系統(tǒng)的操作,但應(yīng)了解,音頻系統(tǒng)也可為處理輸入流(例如,記錄)作準(zhǔn)備。還應(yīng)了解,渲染器模塊還可包含一個(gè)或一個(gè)以上局域級(jí)和一全局級(jí)。
現(xiàn)參看圖5,展示根據(jù)本揭示案的一個(gè)實(shí)施例使音頻處理模塊同步的計(jì)算機(jī)實(shí)施的方法的流程圖。如圖5所描述,在510處,所述方法以每一音頻處理模塊(例如,加速器、渲染器、局域級(jí)、全局級(jí))向時(shí)鐘管理器登記開(kāi)始。登記過(guò)程包含識(shí)別每一音頻處理模塊的源時(shí)鐘。在一個(gè)實(shí)施方案中,例如,音頻處理模塊的每一者通過(guò)提供全局唯一識(shí)別符(GUID)向時(shí)鐘管理器登記。
在520處,時(shí)鐘管理器確定相關(guān)組的音頻處理模塊的時(shí)鐘是否來(lái)自相同時(shí)鐘源。在一個(gè)實(shí)施方案中,每一加速器和渲染器模塊的GUID識(shí)別其時(shí)鐘源。類似地,每一局域和全局級(jí)的GUID識(shí)別其源時(shí)鐘。
在530處,如果模塊由于相同的時(shí)鐘源而操作,那么時(shí)鐘管理器配置相關(guān)的音頻處理模塊在第一模式下操作。在一個(gè)實(shí)施方案中,相關(guān)的加速器模塊經(jīng)配置以便將其音頻數(shù)據(jù)輸出到緩沖器的共享部分。相關(guān)的渲染器模塊經(jīng)配置以便從緩沖器的共享部分檢索音頻數(shù)據(jù)。類似地,局域級(jí)經(jīng)配置以便將其音頻數(shù)據(jù)輸出到緩沖器的共享部分。全局級(jí)經(jīng)配置以便從緩沖器的共享部分檢索音頻數(shù)據(jù)。
如果音頻處理模塊由于不同的時(shí)鐘源而操作,那么本揭示案的時(shí)鐘管理器配置相關(guān)的音頻處理模塊和抽樣率轉(zhuǎn)換器在第二模式下操作。在540處,當(dāng)相關(guān)的音頻處理模塊不利用共同的時(shí)鐘源時(shí),產(chǎn)生音頻的音頻處理模塊經(jīng)配置以便通過(guò)緩沖器的輸入部分將其音頻數(shù)據(jù)傳送到抽樣率轉(zhuǎn)換器。在一個(gè)實(shí)施方案中,加速器模塊將音頻數(shù)據(jù)存儲(chǔ)在緩沖器的輸入部分中。類似地,當(dāng)局域和全局級(jí)不利用共同的時(shí)鐘源時(shí),局域級(jí)將音頻數(shù)據(jù)存儲(chǔ)在緩沖器的輸入部分中。
在550處,抽樣率轉(zhuǎn)換器經(jīng)配置以便使緩沖器的輸入與輸出部分之間的流率同步。在一個(gè)實(shí)施方案中,當(dāng)相關(guān)的加速器和渲染器模塊不利用共同的時(shí)鐘源時(shí),抽樣率轉(zhuǎn)換器從輸入緩沖器檢索音頻數(shù)據(jù)。抽樣率轉(zhuǎn)換器監(jiān)控加速器模塊的音頻數(shù)據(jù)產(chǎn)生的速率和渲染器模塊的消耗的速率,并引入且/或排除額外的數(shù)據(jù)樣本以便維持同步。類似地,抽樣率轉(zhuǎn)換器監(jiān)控局域級(jí)的音頻數(shù)據(jù)產(chǎn)生的速率和全局級(jí)的消耗的速率,并引入且/或排除額外的數(shù)據(jù)樣本以便維持同步。在引入且/或排除額外的數(shù)據(jù)樣本之后,抽樣率轉(zhuǎn)換器將音頻數(shù)據(jù)輸出到緩沖器的輸出部分。
在圖5的560處,消耗音頻數(shù)據(jù)的音頻處理模塊經(jīng)配置以便通過(guò)緩沖器的輸出部分從抽樣率轉(zhuǎn)換器接收音頻數(shù)據(jù)。在一個(gè)實(shí)施方案中,當(dāng)加速器和渲染器模塊不利用共同的時(shí)鐘源時(shí),相關(guān)的渲染器模塊從緩沖器的輸出部分接收音頻數(shù)據(jù)。類似地,當(dāng)局域和全局級(jí)不利用共同的時(shí)鐘源時(shí),全局級(jí)從緩沖器的輸出部分接收音頻數(shù)據(jù)。
現(xiàn)參看圖6,展示用于實(shí)施本揭示案的實(shí)施例的示范性計(jì)算平臺(tái)。盡管參考計(jì)算裝置進(jìn)行說(shuō)明,但應(yīng)了解,本發(fā)明實(shí)施例可實(shí)施在游戲控制臺(tái)、便攜式游戲系統(tǒng)、個(gè)人數(shù)字設(shè)備、組合式機(jī)頂盒/游戲控制臺(tái)、智能電話,或其它移動(dòng)電話、基于計(jì)算機(jī)的模擬器、便攜式娛樂(lè)中心,或產(chǎn)生聲音的類似裝置中。如圖6所描繪,示范性計(jì)算裝置包含處理器(CPU)610、存儲(chǔ)器控制器集線器(例如,北橋)615、主存儲(chǔ)器620、圖形處理器(GPU)625和輸入/輸出控制器集線器(例如,南橋)630。處理器610、圖形處理器625、主存儲(chǔ)器620和I/O集線器控制器集線器630可能通信地耦合到存儲(chǔ)器控制器集線器615?;蛘撸瑘D形處理器625可實(shí)施成存儲(chǔ)器控制器集線器615的組成部分(未圖示)。示范性計(jì)算裝置還可包含外圍組件,例如顯示器、鍵盤、定點(diǎn)裝置、大容量數(shù)據(jù)存儲(chǔ)裝置(一個(gè)或一個(gè)以上)、揚(yáng)聲器(一個(gè)或一個(gè)以上)和類似物,它們通過(guò)可適用的總線635-655(PCI總線、USB、火線、以太網(wǎng)、ISA總線等)而耦合到輸入/輸出控制器集線器630。
存儲(chǔ)器控制器集線器615為在處理器610、主存儲(chǔ)器620、圖形處理器625與輸入/輸出控制器集線器630之間傳輸信息和指令作準(zhǔn)備。輸入/輸出控制器集線器630為在存儲(chǔ)器控制器集線器615與由各種總線635-655連接的各種輸入/輸出裝置之間傳輸信息和指令作準(zhǔn)備。主存儲(chǔ)器620為存儲(chǔ)信息和指令作準(zhǔn)備。處理器610處理信息和指令,藉此提供操作系統(tǒng)和一個(gè)或一個(gè)以上應(yīng)用程序。類似地,圖形處理器處理信息和指令,藉此提供供顯示給用戶的視頻數(shù)據(jù)。
計(jì)算裝置進(jìn)一步包含根據(jù)本揭示案的上述實(shí)施例中的一者或一者以上的音頻系統(tǒng)660。在一個(gè)實(shí)施方案中,音頻系統(tǒng)660是輸入/輸出控制器集線器630的組成部分。音頻系統(tǒng)660包含一個(gè)或一個(gè)以上音頻處理模塊、時(shí)鐘管理器、抽樣率轉(zhuǎn)換器。每一音頻處理模塊可提供一個(gè)或一個(gè)以上功能,例如混合、多信道轉(zhuǎn)換(例如,立體聲、環(huán)繞聲)、三維位置計(jì)算(例如,與頭有關(guān)的轉(zhuǎn)移功能(head related transfer function),高度、方向等)和各種效果(例如,齊聲、混響、堵塞(obstruction)、阻塞(occlusion)、均衡、串音取消等)。
音頻系統(tǒng)660的時(shí)鐘管理器輪詢音頻處理模塊以確定每一模塊的時(shí)鐘的來(lái)源。此后,音頻處理模塊的一者或一者以上(例如,加速器、局域級(jí))可產(chǎn)生音頻數(shù)據(jù),同時(shí)一個(gè)或一個(gè)以上音頻處理模塊的(例如,加速器、局域級(jí)、渲染器、全局級(jí))消耗所述音頻數(shù)據(jù)。舉例來(lái)說(shuō),第一音頻處理模塊產(chǎn)生對(duì)應(yīng)于接收到的一個(gè)或一個(gè)以上聲音的音頻數(shù)據(jù)。第二音頻處理模塊消耗所述音頻數(shù)據(jù)。如果第一和第二音頻處理模塊共享共同的時(shí)鐘源,那么時(shí)鐘管理器配置第一音頻處理模塊以便將產(chǎn)生的音頻數(shù)據(jù)輸出到緩沖器的共享部分。時(shí)鐘管理器還配置第二音頻處理模塊以便從緩沖器的共享部分消耗音頻數(shù)據(jù)。如果第一和第二音頻處理模塊由于不同的時(shí)鐘源而操作,那么時(shí)鐘管理器配置第一音頻處理模塊以便將產(chǎn)生的音頻數(shù)據(jù)輸出到緩沖器的輸入部分。抽樣率轉(zhuǎn)換器由時(shí)鐘管理器配置以便從緩沖器的輸入部分檢索音頻數(shù)據(jù),并引入或排除額外的數(shù)據(jù)樣本以維持同步。抽樣率轉(zhuǎn)換器接著將音頻數(shù)據(jù)輸出到緩沖器的輸出部分。當(dāng)?shù)谝缓偷诙纛l處理模塊由于不同的時(shí)鐘源而操作時(shí),時(shí)鐘管理器還配置第二音頻處理模塊以便從緩沖器的輸出部分消耗音頻數(shù)據(jù)。
音頻系統(tǒng)660的緩沖器可實(shí)施在主存儲(chǔ)器(例如,共享存儲(chǔ)器訪問(wèn)(SMA))620中。緩沖器的共享部分可約為1-10KB(例如,64個(gè)樣本,其中每一樣本為24位),而輸入和輸出部分每一者可約為100-500KB。盡管將緩沖器描述為包括共享部分、輸入部分和輸出部分,但應(yīng)了解,根據(jù)音頻系統(tǒng)660的操作模式,所述緩沖器可實(shí)施成復(fù)數(shù)個(gè)分離的緩沖器或?qū)嵤┏杀粍澐值膯蝹€(gè)緩沖器。
盡管將音頻系統(tǒng)660描述為輸入/輸出控制器集線器630的組成部分,但應(yīng)了解,音頻系統(tǒng)660可耦合到為音頻系統(tǒng)660提供到達(dá)主存儲(chǔ)器620的直接連接的任何元件。音頻系統(tǒng)660也可實(shí)施成存儲(chǔ)器控制器集線器的組成部分。音頻系統(tǒng)660的實(shí)施也可分布在計(jì)算裝置的上文提及的元件的一者或一者以上之間。音頻系統(tǒng)660的實(shí)施也可分布在計(jì)算裝置的上文提及的元件的一者或一者以上之間,并實(shí)施在駐存在主存儲(chǔ)器620中且由處理器610、存儲(chǔ)器控制器集線器615和/或輸入/輸出控制器集線器執(zhí)行的信息和指令中。舉例來(lái)說(shuō),加速器模塊可實(shí)施在軟件(例如,信息和指令)中,時(shí)鐘管理器和抽樣率轉(zhuǎn)換器可實(shí)施成輸入/輸出控制器集線器630的組成部分,緩沖器可實(shí)施在主存儲(chǔ)器620中,且渲染器模塊可實(shí)施在音頻控制器中。
因此,存儲(chǔ)器控制器集線器615、圖形處理器625、輸入/輸出控制器集線器630和音頻系統(tǒng)660提供分布式處理平臺(tái)。音頻系統(tǒng)660通過(guò)卸載從處理器處處理并渲染的音頻效果來(lái)有利地增強(qiáng)計(jì)算裝置性能。此外,本揭示案的實(shí)施例有利地允許音頻處理模塊充當(dāng)完全獨(dú)立的裝置。本揭示案的實(shí)施例有利地當(dāng)音頻處理模塊不共享共同的時(shí)鐘源時(shí)使音頻處理模塊同步。當(dāng)音頻處理模塊共享共同的時(shí)鐘源時(shí),本揭示案的實(shí)施例可排除使音頻處理模塊同步的開(kāi)銷。
總之,本揭示內(nèi)容的一些實(shí)施例提供一種具有完全獨(dú)立的音頻處理模塊的音頻系統(tǒng)。所述音頻系統(tǒng)包含復(fù)數(shù)個(gè)音頻處理模塊、時(shí)鐘管理器、抽樣率轉(zhuǎn)換器和緩沖器。音頻處理模塊通信地耦合到時(shí)鐘管理器和緩沖器。抽樣率轉(zhuǎn)換器通信地耦合到時(shí)鐘管理器和緩沖器。緩沖器用于存儲(chǔ)由音頻處理模塊產(chǎn)生并消耗的音頻數(shù)據(jù)。時(shí)鐘管理器用于確定每一音頻處理模塊的時(shí)鐘源。時(shí)鐘管理器還用于將音頻處理模塊和抽樣率轉(zhuǎn)換器配置成每一音頻處理模塊的時(shí)鐘源的函數(shù)。當(dāng)?shù)谝慌c第二音頻處理模塊的時(shí)鐘源不同時(shí),抽樣率轉(zhuǎn)換器用于使由第一音頻處理模塊產(chǎn)生的音頻數(shù)據(jù)的流速與由第二音頻處理模塊消耗的音頻數(shù)據(jù)的流速同步。
為了說(shuō)明和描述的目的,已提供對(duì)本揭示內(nèi)容的特定實(shí)施例的以上描述。這些特定實(shí)施例并非意欲詳盡或?qū)⒈景l(fā)明限于所揭示的精確形式,且顯然依據(jù)上述教示可能作出許多修改和變化。選擇并描述所述實(shí)施例是為了最佳地解釋本揭示內(nèi)容的原理及其實(shí)際應(yīng)用,藉此使所屬領(lǐng)域的技術(shù)人員能夠最佳地利用本揭示內(nèi)容和各種實(shí)施例,并作出適于所預(yù)期的特定用途的各種修改。希望本發(fā)明范圍由所附權(quán)利要求書及其等效物界定。
權(quán)利要求
1.一種電子音頻系統(tǒng),其包括一緩沖器,其通信地耦合到一第一音頻處理模塊和一第二音頻處理模塊,用于存儲(chǔ)由所述第一音頻處理模塊產(chǎn)生并由所述第二音頻處理模塊消耗的音頻數(shù)據(jù);一時(shí)鐘管理器,其通信地耦合到所述第一和第二音頻處理模塊,用于確定所述第一音頻處理模塊的一第一時(shí)鐘源,用于確定所述第二音頻處理模塊的一第二時(shí)鐘源,且用于將所述第一和第二音頻處理模塊以及一抽樣率轉(zhuǎn)換器配置成所述第一時(shí)鐘源和所述第二時(shí)鐘源的一函數(shù);和所述抽樣率轉(zhuǎn)換器,其通信地耦合到所述緩沖器和所述時(shí)鐘管理器,用于當(dāng)所述第一時(shí)鐘源不同于所述第二時(shí)鐘源時(shí)使由所述第一音頻處理模塊產(chǎn)生的所述音頻數(shù)據(jù)的一第一流速與由所述第二音頻處理模塊消耗的所述音頻數(shù)據(jù)的一第二流速同步。
2.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊包括一加速器模塊;且所述第二音頻處理模塊包括一渲染器模塊。
3.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊包括一局域級(jí);且所述第二音頻處理模塊包括一全局級(jí)。
4.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊包括一第一加速器模塊;且所述第二音頻處理模塊包括一第二加速器模塊。
5.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊包括一第一局域級(jí);且所述第二音頻處理模塊包括一第二局域級(jí)。
6.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊共享一共同的時(shí)鐘源時(shí)將音頻數(shù)據(jù)存儲(chǔ)在所述緩沖器的一共享部分中;且所述第二音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊共享所述共同的時(shí)鐘源時(shí)從所述緩沖器的所述共享部分檢索音頻數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享一共同的時(shí)鐘源時(shí)將所述音頻數(shù)據(jù)存儲(chǔ)在所述緩沖器的一輸入部分中;所述抽樣率轉(zhuǎn)換器經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享所述共同的時(shí)鐘源時(shí)從所述輸入緩沖器檢索所述音頻數(shù)據(jù),通過(guò)插入或刪除一額外的樣本來(lái)修改所述音頻數(shù)據(jù),并將所述經(jīng)修改的音頻數(shù)據(jù)存儲(chǔ)在所述緩沖器的一輸出部分中;且所述第二音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享所述共同的時(shí)鐘源時(shí)從所述緩沖器的所述輸出部分檢索所述音頻數(shù)據(jù)。
8.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享一共同的時(shí)鐘源時(shí)將音頻數(shù)據(jù)存儲(chǔ)在所述緩沖器的一共享部分中;所述第二音頻處理模塊經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享所述共同的時(shí)鐘源時(shí)從所述緩沖器的所述共享部分檢索音頻數(shù)據(jù);且所述抽樣率轉(zhuǎn)換器經(jīng)配置以便當(dāng)所述第一和第二音頻處理模塊不共享所述共同的時(shí)鐘源時(shí),增大所述第一音頻處理模塊的一產(chǎn)生速率或減小所述第二音頻處理模塊的一消耗速率。
9.根據(jù)權(quán)利要求1所述的音頻系統(tǒng),其中所述第一音頻處理模塊的所述第一時(shí)鐘源是根據(jù)所述第一音頻處理模塊的一第一全局唯一識(shí)別符而確定;且所述第二音頻處理模塊的所述第二時(shí)鐘源是根據(jù)所述第二音頻處理模塊的一第二全局唯一識(shí)別符而確定。
10.一種用于使音頻處理模塊同步的方法,其包括登記復(fù)數(shù)個(gè)音頻處理模塊;確定一相關(guān)組的音頻處理模塊是否利用一共同的時(shí)鐘源;和配置所述相關(guān)組的音頻處理模塊中的一第一者,以便當(dāng)所述相關(guān)組的音頻處理模塊利用所述共同的時(shí)鐘源時(shí)通過(guò)一第一緩沖器將一第一組音頻數(shù)據(jù)傳送到所述相關(guān)組的音頻處理模塊中的一第二者。
11.根據(jù)權(quán)利要求10所述的方法,其進(jìn)一步包括配置所述相關(guān)組的音頻處理模塊中的所述第一者,以便當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí)將所述第一組音頻數(shù)據(jù)存儲(chǔ)在一第二緩沖器中;配置所述抽樣率轉(zhuǎn)換器以便當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí)從所述第二緩沖器接收所述第一組音頻數(shù)據(jù),將一第二組音頻數(shù)據(jù)存儲(chǔ)在一第三緩沖器,且使進(jìn)入所述第二緩沖器的所述第一組音頻數(shù)據(jù)的一流率與離開(kāi)所述第三緩沖器的所述第二組音頻數(shù)據(jù)的一流率同步;和配置所述相關(guān)組的音頻處理模塊中的所述第二者,以便當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí)從所述第三緩沖器接收所述第二組音頻數(shù)據(jù)。
12.根據(jù)權(quán)利要求11所述的方法,其中所述相關(guān)組的音頻處理模塊中的所述第一者產(chǎn)生所述第一組音頻數(shù)據(jù)作為接收到的一個(gè)或一個(gè)以上聲音的一函數(shù)。
13.根據(jù)權(quán)利要求11所述的方法,其中所述相關(guān)組的音頻處理模塊中的所述第二者執(zhí)行當(dāng)所述相關(guān)組的音頻處理模塊利用所述共同的時(shí)鐘源時(shí),渲染一重播信號(hào)作為所述第一組音頻數(shù)據(jù)的一函數(shù);和當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí),渲染所述重播信號(hào)作為所述第二組音頻數(shù)據(jù)的一函數(shù)。
14.根據(jù)權(quán)利要求11所述的方法,其中所述相關(guān)組的音頻處理模塊中的所述第二者執(zhí)行當(dāng)所述相關(guān)組的音頻處理模塊利用所述共同的時(shí)鐘源時(shí),記錄一輸入信號(hào)作為所述第一組音頻數(shù)據(jù)的一函數(shù);和當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí),記錄所述輸入信號(hào)作為所述第二組音頻數(shù)據(jù)的一函數(shù)。
15.根據(jù)權(quán)利要求11所述的方法,其中所述相關(guān)組的音頻處理模塊中的所述第一者處理所述第一組音頻數(shù)據(jù)。
16.根據(jù)權(quán)利要求11所述的方法,其中所述相關(guān)組的音頻處理模塊中的所述第二者執(zhí)行當(dāng)所述相關(guān)組的音頻處理模塊利用所述共同的時(shí)鐘源時(shí),處理所述第一組音頻數(shù)據(jù);和當(dāng)所述相關(guān)組的音頻處理模塊不利用所述共同的時(shí)鐘源時(shí),處理所述第二組音頻數(shù)據(jù)。
17.一種用于使音頻處理模塊同步的方法,其包括當(dāng)一相關(guān)組的音頻處理模塊共享一共同的時(shí)鐘源時(shí)在一第一模式下操作,其包括將由所述相關(guān)組的音頻處理模塊中的一第一者產(chǎn)生的音頻數(shù)據(jù)存儲(chǔ)在一共享緩沖器中;和從所述共享緩沖器接收由所述相關(guān)組的音頻處理模塊中的一第二者消耗的音頻數(shù)據(jù);和當(dāng)所述相關(guān)組的音頻處理模塊不共享一共同的時(shí)鐘源時(shí)在一第二模式下操作,其包括將由所述相關(guān)組的音頻處理模塊中的所述第一者產(chǎn)生的音頻數(shù)據(jù)存儲(chǔ)在一輸入緩沖器中;從一輸出緩沖器接收由所述相關(guān)組的音頻處理模塊中的所述第二者消耗的音頻數(shù)據(jù);和使存儲(chǔ)在所述輸入緩沖器中的音頻數(shù)據(jù)的一第一流率與從所述輸出緩沖器接收的音頻數(shù)據(jù)的一第二流率同步。
18.根據(jù)權(quán)利要求17所述的方法,其進(jìn)一步包括確定每一音頻處理模塊的一時(shí)鐘源。
19.根據(jù)權(quán)利要求18所述的方法,其中所述確定每一音頻處理模塊的一時(shí)鐘源包括輪詢每一音頻處理模塊;和接收每一音頻處理模塊的所述時(shí)鐘源的一識(shí)別符。
20.根據(jù)權(quán)利要求17-19中任一權(quán)利要求所述的方法,其中所述同步包括從所述輸入緩沖器接收所述音頻數(shù)據(jù);在所述音頻數(shù)據(jù)中插入或刪除一額外的樣本以產(chǎn)生經(jīng)修改的音頻數(shù)據(jù);將所述經(jīng)修改的音頻數(shù)據(jù)存儲(chǔ)在所述輸出緩沖器中。
21.一種計(jì)算裝置,其包括一存儲(chǔ)器控制器集線器;一處理器,其通信地耦合到所述存儲(chǔ)器控制器集線器;一主存儲(chǔ)器,其通信地耦合到所述存儲(chǔ)器控制器集線器;和一音頻系統(tǒng),其通信地耦合到所述存儲(chǔ)器控制器集線器,所述音頻系統(tǒng)包括一時(shí)鐘管理器;復(fù)數(shù)個(gè)音頻處理模塊,其通信地耦合到所述時(shí)鐘管理器;一抽樣率轉(zhuǎn)換器,其通信地耦合到所述時(shí)鐘源;和一緩沖器,其通信地耦合到所述復(fù)數(shù)個(gè)音頻處理模塊和所述抽樣率轉(zhuǎn)換器。
22.根據(jù)權(quán)利要求21所述的計(jì)算裝置,其中所述時(shí)鐘管理器和所述抽樣率轉(zhuǎn)換器由存儲(chǔ)在所述主存儲(chǔ)器中并由所述處理器處理的信息和指令實(shí)施。
23.根據(jù)權(quán)利要求21或權(quán)利要求22所述的計(jì)算裝置,其中所述復(fù)數(shù)個(gè)音頻處理模塊中的至少一者是所述存儲(chǔ)器控制器集線器的一組成部分。
24.根據(jù)權(quán)利要求21-23中任一權(quán)利要求所述的計(jì)算裝置,其進(jìn)一步包括通信地耦合到所述存儲(chǔ)器控制器集線器的一輸入/輸出控制器集線器,其中所述復(fù)數(shù)個(gè)音頻處理模塊中的至少一者是所述輸入/輸出控制器集線器的一組成部分。
25.根據(jù)權(quán)利要求21-24中任一權(quán)利要求所述的計(jì)算裝置,其中所述緩沖器構(gòu)建在所述主存儲(chǔ)器中。
全文摘要
本發(fā)明提供一種具有完全獨(dú)立的音頻處理模塊的音頻系統(tǒng)。所述音頻系統(tǒng)包含復(fù)數(shù)個(gè)音頻處理模塊、一時(shí)鐘管理器、一抽樣率轉(zhuǎn)換器和一緩沖器。所述音頻處理模塊通信地耦合到所述時(shí)鐘管理器和所述緩沖器。所述抽樣率轉(zhuǎn)換器通信地耦合到所述時(shí)鐘管理器和所述緩沖器。所述緩沖器用于存儲(chǔ)由所述音頻處理模塊產(chǎn)生并消耗的音頻數(shù)據(jù)。所述時(shí)鐘管理器用于確定每一音頻處理模塊的時(shí)鐘源。所述時(shí)鐘管理器還用于將所述音頻處理模塊和所述抽樣率轉(zhuǎn)換器配置成每一音頻處理模塊的所述時(shí)鐘源的一函數(shù)。當(dāng)一第一與第二音頻處理模塊的所述時(shí)鐘源不同時(shí),所述抽樣率轉(zhuǎn)換器用于使由所述第一音頻處理模塊產(chǎn)生的音頻數(shù)據(jù)的一流速與由所述第二音頻處理模塊消耗的音頻數(shù)據(jù)的一流速同步。
文檔編號(hào)H03H17/06GK1934646SQ200580009383
公開(kāi)日2007年3月21日 申請(qǐng)日期2005年4月12日 優(yōu)先權(quán)日2004年4月14日
發(fā)明者斯蒂芬·G·霍姆斯 申請(qǐng)人:輝達(dá)公司