專利名稱:用于處理多個設(shè)備使用的音頻流的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及處理音頻流,更具體地涉及處理多方使用的音頻流。
背景技術(shù):
有許多系統(tǒng)被用來向多方傳送音頻信號。在一個實例中,普通老式電
話業(yè)務(wù)(POTS)被用來將音頻信號從一方傳送到另一方。隨著電話會議 的出現(xiàn),多于兩方(其中每一方在不同的位置)可以利用POTS來參與電 話會議。在另一實例中,互聯(lián)網(wǎng)被用來向多方傳送音頻信號。用來在多方 之間實時地傳輸音頻信號的互聯(lián)網(wǎng)的使用常常被稱為基于互聯(lián)網(wǎng)協(xié)議的語 音(VoIP)。
發(fā)明內(nèi)容
用于處理多個設(shè)備使用的音頻流的方法和裝置檢測與多個設(shè)備中的每 —個相對應(yīng)的聲音水平(sound level);基于與多個設(shè)備中的每一個相對 應(yīng)的聲音水平,從多個設(shè)備中選擇一組被選擇的設(shè)備;將與被選擇的一組 設(shè)備相關(guān)聯(lián)的多個音頻流混合并形成混合后的多個音頻流;并向未被選擇 的設(shè)備傳輸混合后的多個音頻流。
附圖被并入本說明書并構(gòu)成本說明書的一部分,其示出并說明了用于 處理多個設(shè)備使用的音頻流的方法和裝置的一個實施例。 在附圖中,
圖1是示出其中實現(xiàn)了用于處理多個設(shè)備使用的音頻流的方法和裝置 的環(huán)境的圖2是示出其中實現(xiàn)了用于處理多個設(shè)備使用的音頻流的方法和裝置
4的一個實施例的簡化框圖3是示出根據(jù)用于處理多個設(shè)備使用的音頻流的方法和裝置的一個 實施例的系統(tǒng)的簡化框圖4是示出根據(jù)用于處理多個設(shè)備使用的音頻流的方法和裝置的一個 實施例的系統(tǒng)的簡化框圖5是根據(jù)用于處理多個設(shè)備使用的音頻流的方法和裝置的一個實施 例的功能圖;并且
圖6是根據(jù)用于處理多個設(shè)備使用的音頻流的方法和裝置的一個實施 例的功能圖。
具體實施例方式
下面對用于處理多個設(shè)備使用的音頻流的方法和裝置的詳細(xì)描述參考 了附圖。該詳細(xì)描述不是意圖限制用于處理多個設(shè)備使用的音頻流的方法 和裝置。而是,由所附權(quán)利要求和等同物來限定用于處理多個設(shè)備使用的 音頻流的方法和裝置的范圍。本領(lǐng)域技術(shù)人員將認(rèn)識到,可能有許多其它 根據(jù)本發(fā)明的實現(xiàn)方式。
對設(shè)備的提及包括臺式計算機、便攜式計算機、個人數(shù)字助理、視頻 電話、固定電話、蜂窩電話和能夠接收/發(fā)送電子信號的設(shè)備。
對音頻信號的提及包括表示模擬音頻信號的數(shù)字音頻信號和/或模擬音 頻信號。
圖1是示出其中實現(xiàn)了用于處理多個設(shè)備使用的音頻流的方法和裝置 的環(huán)境的圖。該環(huán)境包括電子設(shè)備110 (例如,被配置以作為客戶端設(shè)備 的計算平臺,如計算機、個人數(shù)字助理等等)、用戶接口 115、網(wǎng)絡(luò)120 (例如,局域網(wǎng)、家庭網(wǎng)絡(luò)、互聯(lián)網(wǎng))和服務(wù)器130 (例如,被配置以作 為服務(wù)器的計算平臺)。
在一實施例中,使一個或多個用戶接口 115組件與電子設(shè)備IIO組成 整體(例如,鍵區(qū)和視頻顯示屏輸入和輸出接口在如個人數(shù)字助理的同一 殼體中)。在其它實施例中, 一個或多個用戶接口 115組件(例如,鍵 盤,諸如鼠標(biāo)、軌跡球等的點選設(shè)備)、麥克風(fēng)、揚聲器、顯示屏、相機在物理上與電子設(shè)備110分離,并通常被耦合到電子設(shè)備110。在一實施
例中,用戶利用接口 115來訪問和控制存儲在通過網(wǎng)絡(luò)120所耦合的電子 設(shè)備IIO、服務(wù)器130或遠(yuǎn)程存儲設(shè)備(未示出)中的內(nèi)容和應(yīng)用。
根據(jù)本發(fā)明,以下選擇性地控制遠(yuǎn)程設(shè)備的實施例由電子設(shè)備110、 服務(wù)器130中的電子處理器來執(zhí)行,或者由電子設(shè)備IIO和服務(wù)器130中 的處理器一起工作來實現(xiàn)。服務(wù)器130在圖1中被示出為單個計算平臺, 但在其它實例中是充當(dāng)服務(wù)器的兩個或更多個互連計算平臺。
圖2是示出其中實現(xiàn)了用于處理多個設(shè)備使用的音頻流的方法和裝置 的示例性體系結(jié)構(gòu)的簡化框圖。示例性體系結(jié)構(gòu)包括多個電子設(shè)備202、 服務(wù)器設(shè)備210和網(wǎng)絡(luò)201,網(wǎng)絡(luò)201連接電子設(shè)備202到服務(wù)器210并 將各個電子設(shè)備202相互連接。多個電子設(shè)備202的每一個被配置為包括 耦合到電子處理器208的諸如隨機存取存儲器之類的計算機可讀介質(zhì) 209。處理器208執(zhí)行存儲在計算機可讀介質(zhì)209中的程序指令。在一實 施例中,唯一用戶經(jīng)由參考圖1所描述的接口 115來操作每個電子設(shè)備 202。
服務(wù)器設(shè)備130包括耦合到計算機可讀介質(zhì)212的處理器211。在一 實施例中,服務(wù)器設(shè)備130被耦合到一個或多個另外的外部或內(nèi)部設(shè)備, 例如(不限于)諸如數(shù)據(jù)庫240的次級(secondary)數(shù)據(jù)存儲元件。
在一實例中,處理器208和211由加利福尼亞州圣克拉拉的Intel公司 制造。在其它實例中,使用其它的微處理器。
在一實施例中,多個客戶端設(shè)備202和服務(wù)器210包括定制應(yīng)用用來 處理多個設(shè)備使用的音頻流的指令。在一實施例中,多個計算機可讀介質(zhì) 209和212部分地包含定制應(yīng)用。另外,多個客戶端設(shè)備202和服務(wù)器210 被配置為接收和發(fā)送供定制應(yīng)用所使用的電子消息。類似地,網(wǎng)絡(luò)210被 配置為發(fā)送定制應(yīng)用所使用的電子消息。
一個或多個用戶應(yīng)用被存儲在介質(zhì)209、介質(zhì)212中,或者單個用戶 應(yīng)用被部分存儲在一個介質(zhì)209中并被部分存儲在介質(zhì)212中。在一實例 中,基于對供利用下述實施例所確定的多個設(shè)備使用的音頻流的處理,使 所存儲的用戶應(yīng)用可定制,而不管存儲位置。圖3是示出其中實現(xiàn)了用于處理多個設(shè)備使用的音頻流的方法和裝置
的示例性體系結(jié)構(gòu)的簡化框圖。在一實施例中,系統(tǒng)300包括服務(wù)器310 和設(shè)備320、 322、 324、 326、 328和330。另外,每一個設(shè)備被配置為與 服務(wù)器300交互。在其它實施例中,在系統(tǒng)300中可以使用任意數(shù)目的設(shè) 備。
在一實施例中,服務(wù)器310包括選擇模塊312和混合模塊314。選擇 模塊310被配置為基于從每個相應(yīng)設(shè)備接收到的音頻信號來識別設(shè)備 320、 322、 324、 326、 328和330。另外,混合模塊314被配置為處理多 個音頻信號流,其中每個音頻信號對應(yīng)于不同的設(shè)備。
在一實施例中,設(shè)備324、 326和328分別包括混合模塊332、 334和 336。在其它實施例中,任意數(shù)目的設(shè)備也可以包括本地混合模塊。
在一實施例中,N個音頻流可以基于服務(wù)器側(cè)和客戶端側(cè)這兩側(cè)的混 合、通過混合模塊而被混合,其中N等于被選擇的設(shè)備的數(shù)目。在一實施 例中,通過選擇模塊312來選擇這些設(shè)備。在一實施例中,服務(wù)器310輔 助音頻流在設(shè)備320、 322、 324、 326、 328和330中的傳輸,其中每個設(shè) 備參與實時多媒體會話。在一實施例中,服務(wù)器310接收來自被選擇的源 設(shè)備的實時傳輸協(xié)議(RTP)流。接著,服務(wù)器310混合來自根據(jù)選擇模 塊314實現(xiàn)的選擇算法所獲得的被選擇源設(shè)備的K個音頻流,其中K等于 被選擇的源設(shè)備的數(shù)目。接著,服務(wù)器310向每個未被選擇的設(shè)備發(fā)送混 合后的音頻流。每個被選擇的設(shè)備一次接收K-l個音頻流,其中K-l個音 頻流表示來自其它被選擇的源設(shè)備的音頻流而排除在本地被選擇源設(shè)備上 所捕獲的音頻流。每個被選擇的源設(shè)備能夠混合和播放K-l個音頻流。
在一個示例中,選擇模塊312選擇設(shè)備324、 326和328作為提供音頻 流的被選擇的源設(shè)備。在一實施例中,各個設(shè)備324、 326和328也實現(xiàn) 語音活動檢測(VAD)機制,以使得當(dāng)被選擇的設(shè)備缺乏要傳輸?shù)囊纛l信 號時,音頻分組不從被選擇設(shè)備傳輸。在一實例中,音頻信號的缺乏對應(yīng) 于與被選擇設(shè)備相關(guān)聯(lián)的參與者不說話或不產(chǎn)生聲音。
在一實施例中,對音頻信號的混合是既在服務(wù)器310處也在設(shè)備 320、 322、 324、 326、 328和330之間完成的。在另一實施例中,對音頻信號的混合是在設(shè)備320、 322、 324、 326、 328和330處完成的。在另一 實施例中,對音頻信號的混合是在服務(wù)器310處完成的。
圖4示出了系統(tǒng)400的一個實施例。在一實施例中,系統(tǒng)400包含在 服務(wù)器130中。在另一實施例中,系統(tǒng)400包含在電子設(shè)備110中。在另 一實施例中,系統(tǒng)400包含在電子設(shè)備110和服務(wù)器130兩者中。
在一實施例中,系統(tǒng)400包括選擇模塊410、混合模塊420、存儲模 塊430、接口模塊440和控制模塊450。
在一實施例中,控制模塊450與選擇模塊410、混合模塊420、存儲 模塊430和接口模塊440進(jìn)行通信。在一實施例中,控制模塊350協(xié)調(diào)選 擇模塊410、混合模塊420、存儲模塊430和接口模塊440之間的任務(wù)、 請求和通信。
在一實施例中,選擇模塊410確定選擇哪些設(shè)備將它們的音頻信號與 其它的設(shè)備共享。在一實施例中,監(jiān)控并比較每個設(shè)備的音頻信號以確定 選擇哪些設(shè)備。
在一實施例中,設(shè)(s[n]L-o,...,w為輸入語音信號幀并表示來自設(shè)備的 音頻信號。當(dāng)前幀的能量E由下式計算
五=
(式i)
20
每個設(shè)備可以計算與每個相應(yīng)音頻信號相關(guān)聯(lián)的能量。在一實施例
中,E1和E2分別表示兩個相連接的幀的能量。
E= (El+E2) /2 (式2) 在一實施例中,值E被以兩字節(jié)寫入到RTP頭部擴展中。 來自所有接收到的N個音頻流的RTP分組可以被確定以獲得所有設(shè)
備的當(dāng)前幀的平均E。
在一實施例中,揚聲器活動度量-慢慢地適應(yīng),以使得底部分配 (floor allocation)比較優(yōu)美并允許平滑的變換(transition)。在一實施例
中,"依賴于當(dāng)前和過去的分組的E。例如,P被如下地在新近過去的窗
口 W中計算。
8"=丄X《 (式3)
這里 表示當(dāng)前時間。在一實施例中,W被設(shè)為3秒。
在一實施例中,^被選擇模塊410用來選擇設(shè)備以傳輸它們各自的音 頻信號。例如,與超過閾值的yff相關(guān)聯(lián)的設(shè)備被選擇。在另一示例中,與 排在所有設(shè)備中的前三的-相關(guān)聯(lián)的設(shè)備被選擇。
在一實施例中,選擇K個設(shè)備來將它們各自的音頻信號傳輸給其它設(shè) 備。在一實施例中,特定的K個設(shè)備對應(yīng)于來自所有設(shè)備的最大/ 。在一 實施例中,特定的K個設(shè)備是通過互相比較它們的/ 值來獲得的。此算法 的偽代碼如下。
掃描N個音頻流的RTP分組以獲取
比較所有的艮wv
選擇與K個最大-對應(yīng)的K個設(shè)備號碼 如果(既有服務(wù)器側(cè)混合又有設(shè)備側(cè)混合){
將K個被選擇的音頻流混合并向每個未被選擇的設(shè)備發(fā)送混合后的音 頻流。
否則,如果(設(shè)備混合)
向每個未被選擇的設(shè)備重新分配K個被選擇的音頻流。
除了其自己的音頻流以外,向每個被選擇的設(shè)備重新分配K-l個被選 擇的音頻流。
保證每個參與者都能夠聽見其它參與者的所有有意義的聲音并且不被 打斷(平滑地切換麥克風(fēng))。例如(K=3),如果三個揚聲器正在發(fā)聲, 則它們將被自動選擇作為當(dāng)前活躍的揚聲器,即使第四揚聲器的y5大于三 個活躍揚聲器中的一個。第四揚聲器直到三個揚聲器中的一個停止談話才 能加入談話。
在一實施例中,混合模塊420被配置為選擇性地將多個音頻流混合成 音頻分組。另外,混合模塊420也被配置為選擇性地將音頻分組轉(zhuǎn)換為音頻流。
在一實施例中,存儲模塊430存儲音頻信號。在一實施例中,音頻信 號被通過系統(tǒng)400來接收和/或發(fā)送。
在一實施例中,接口模塊440檢測來自其它設(shè)備的音頻信號并向其它 設(shè)備傳輸音頻信號。在另一實施例中,接口模塊440傳輸與音頻信號相關(guān) 的信息。
圖4中的系統(tǒng)400是以示例性的目的示出的,并且僅僅是用于處理多 個設(shè)備使用的音頻流的方法和裝置的一個實施例。另外的模塊可以被加入 系統(tǒng)400中而不脫離用于處理多個設(shè)備使用的音頻流的方法和裝置的范 圍。類似地,模塊可以被組合或刪除而不脫離用于處理多個設(shè)備使用的音 頻流的方法和裝置的范圍。
圖5示出了在服務(wù)器側(cè)和/或設(shè)備側(cè)混合處混合音頻流。在一實施例 中,音頻服務(wù)器312接收來自所有設(shè)備320、 322、 324、 326、 328和330 的音頻流。在一實施例中,通過選擇模塊410,從設(shè)備320、 322、 324、 326、 328和330的一些中選擇活躍音頻流。在來自所選擇的設(shè)備的音頻流 被混合后,混合后的音頻流被傳輸?shù)轿幢贿x擇的設(shè)備。
系統(tǒng)500包括抖動緩沖器502、 504和506;解碼器512、 514和 516;緩沖器522、 524和526;混合模塊420;和編碼器530。在一實施例 中,音頻分組到達(dá)抖動緩沖器502、 504和506中的一個,然后由解碼器 512、 514和516中的一個解碼成音頻幀。在一實施例中,經(jīng)解碼的音頻幀 被附到參與者音頻緩沖器隊列。
在一實施例中,流1、 2和3中的每一個表示從被選擇的設(shè)備捕獲的 音頻數(shù)據(jù)。
在一實施例中,緩沖器522、 524和526中的每一個被標(biāo)注上相應(yīng)的 RTP時間戳。在一實施例中,音頻分組到達(dá)中的抖動由適應(yīng)性抖動緩沖算 法來補償。適應(yīng)性抖動緩沖算法獨立地作用于每個抖動緩沖器。觸發(fā)混合 程序的定時器間隔被基于抖動延遲估計而縮短或延長。在一實施例中,在 每一個幀大小的間隔處,定時器觸發(fā)程序,該程序?qū)碜院线m的輸入緩沖 器的音頻采樣混合成組合音頻幀。在一實施例中,這種混合發(fā)生在混合模塊420內(nèi)。
該組合音頻幀被利用音頻編碼器530來編碼。經(jīng)編碼的音頻數(shù)據(jù)被分 組并被發(fā)送至未被選擇的設(shè)備。
圖6示出了在設(shè)備處的混合。系統(tǒng)600包括抖動緩沖器602、 604和 606;解碼器612、 614和616;緩沖器622、 624和626;混合模塊420; 和揚聲器輸出緩沖器630。在一實施例中,音頻分組到達(dá)抖動緩沖器 602、 604和606中的一個,然后由解碼器612、 614和616中的一個解碼 成音頻幀。在一實施例中,經(jīng)解碼的音頻幀被附到參與者音頻緩沖器隊 列。
在一實施例中,緩沖器622、 624和626中的每一個被標(biāo)注上相應(yīng)的 RTP時間戳。在一實施例中,音頻分組到達(dá)中的抖動由適應(yīng)性抖動緩沖算 法來補償。適應(yīng)性抖動緩沖算法獨立地作用于每個抖動緩沖器。觸發(fā)混合 程序的定時器間隔被基于抖動延遲估計而縮短或延長。在一實施例中,在 每一個幀大小的間隔處,定時器觸發(fā)程序,該程序?qū)碜院线m的輸入緩沖 器的音頻采樣混合成組合音頻幀。在一實施例中,這種混合發(fā)生在混合模 塊420內(nèi)。
該組合音頻幀被發(fā)送到揚聲器輸出緩沖器630以供在設(shè)備處回放。 前面對本發(fā)明的具體實施例的描述是為了說明和描述的目的而給出 的。本發(fā)明可以被應(yīng)用到各種其它應(yīng)用中。
前面的描述并不意圖是詳盡的或?qū)⒈景l(fā)明限制為所公開的精確實施 例,根據(jù)上面的教導(dǎo)自然可以有很多修改和變體。所選擇和描述的實施例 是為了說明本發(fā)明的原理及其實際應(yīng)用,從而使得本領(lǐng)域技術(shù)人員可以最 好地利用本發(fā)明和各種實施例(考慮適合于特定用途的各種修改)。希望 本發(fā)明的范圍由所附權(quán)利要求及其等同物來限定。
權(quán)利要求
1.一種方法,包括檢測與多個設(shè)備中的每一個相對應(yīng)的聲音水平;基于與所述多個設(shè)備中的每一個相對應(yīng)的所述聲音水平,從所述多個設(shè)備中選擇一組被選擇的設(shè)備;將與所述一組被選擇的設(shè)備相關(guān)聯(lián)的多個音頻流混合并形成混合后的多個音頻流;并且向未被選擇的設(shè)備傳輸所述混合后的多個音頻流。
2. 如權(quán)利要求1所述的方法,還包括將所述聲音水平與閾值水平進(jìn)行 比較。
3. 如權(quán)利要求2所述的方法,其中所述閾值水平是預(yù)定的水平。
4. 如權(quán)利要求1所述的方法,其中所述多個設(shè)備中的每一個的聲音水 平依賴于與相應(yīng)設(shè)備相關(guān)聯(lián)的聲音分組相對應(yīng)的能量。
5. 如權(quán)利要求4所述的方法,其中所述能量也依賴于多個聲音分組。
6. 如權(quán)利要求5所述的方法,其中所述多個聲音分組中的各個分組在 時間上彼此相鄰,并且其中所述多個聲音分組形成時間窗口 。
7. 如權(quán)利要求1所述的方法,還包括,向所述一組被選擇的設(shè)備中的 特定一個設(shè)備傳輸被修改的混合后的多個音頻流,其中所述被修改的混合 后的多個音頻流包括除了與所述特定一組被選擇的設(shè)備相關(guān)聯(lián)的音頻流之 外的與音頻流相關(guān)聯(lián)的所述混合后的多個音頻流。
8. 如權(quán)利要求1所述的方法,其中所述多個設(shè)備多于2個設(shè)備。
9. 如權(quán)利要求1所述的方法,其中所述多個設(shè)備多于所述一組被選擇 的設(shè)備。
10. —種方法,包括; 識別多個設(shè)備;監(jiān)控多個設(shè)備中的每一個的聲音水平;基于所述多個設(shè)備中的每一個的聲音水平,從所述多個設(shè)備選擇一組 設(shè)備;將與所述一組設(shè)備中的每一個相關(guān)聯(lián)的多個音頻流混合,并形成混合后的多個音頻流;并且向所述一組設(shè)備之外的設(shè)備傳輸所述混合后的多個音頻流;
11. 如權(quán)利要求11所述的方法,還包括將所述聲音水平與閾值水平進(jìn) 行比較。
12. 如權(quán)利要求11所述的方法,其中所述一組設(shè)備包括預(yù)定數(shù)目的設(shè)備。
13. 如權(quán)利要求11所述的方法,還包括向所述一組設(shè)備中的特定一個 設(shè)備發(fā)送被修改的混合后的多個音頻流,其中所述被修改的混合后的多個 音頻流包括除了與所述特定一組設(shè)備相關(guān)聯(lián)的音頻流之外的與音頻流相關(guān) 聯(lián)的所述混合后的多個音頻流。
14. 如權(quán)利要求11所述的方法,其中所述混合發(fā)生在所述一組設(shè)備中 的一個設(shè)備處。
15. 如權(quán)利要求11所述的方法,其中所述混合發(fā)生在耦合到所述一組 設(shè)備中的一個設(shè)備的服務(wù)器處。
16. —種系統(tǒng),包括接口模塊,被配置為監(jiān)控來自多個設(shè)備的聲音水平; 選擇模塊,被配置為基于所述聲音水平從所述多個設(shè)備中選擇一組設(shè) 備以傳輸音頻信號;并且混合模塊,被配置為混合與所述一組設(shè)備相對應(yīng)的多個音頻流。
17. 如權(quán)利要求16所述的系統(tǒng),還包括被配置為存儲所述多個音頻流 的存儲模塊。
18. 如權(quán)利要求18所述的系統(tǒng),其中接口模塊還被配置為向所述一組 設(shè)備之外的設(shè)備傳輸混合后的音頻流。
全文摘要
用于處理多個設(shè)備使用的音頻流的方法和裝置檢測與多個設(shè)備的每一個相對應(yīng)的聲音水平;基于與多個設(shè)備的每一個相對應(yīng)的聲音水平,從多個設(shè)備中選擇一組被選擇的設(shè)備;將與被選擇的一組設(shè)備相關(guān)聯(lián)的多個音頻流混合并形成混合后的多個音頻流;并向未被選擇的設(shè)備傳輸混合后的多個音頻流。
文檔編號G06F17/00GK101553801SQ200780008761
公開日2009年10月7日 申請日期2007年5月1日 優(yōu)先權(quán)日2006年5月1日
發(fā)明者宋旭東, 杜武平 申請人:網(wǎng)訊公司