專利名稱:音頻會議系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及由計算機工作站對從網(wǎng)絡上接收的多音頻數(shù)據(jù)流的處理。
一般情況下音頻信號是通過標準的模擬性質(zhì)的電話線路傳送的。但是,隨著裝備局部區(qū)域網(wǎng)絡(LAN局域網(wǎng))的地點的增多和多媒體通信重要性的增長,出現(xiàn)了相當大量的對使用局域網(wǎng)傳送音頻信號的興趣。這一工作在例如“局域計算機網(wǎng)絡”一書(由P.Ravasio、G.Hopkins、和N.Naffah編纂;North Holland出版社1982年版)中的兩篇文章有闡述,這兩篇文章是“使用局部區(qū)域網(wǎng)絡以傳送在線聲音”由D.Cohen撰寫,第13-21頁;以及“在以太網(wǎng)主干線上的音頻傳送”,作者為P.Ravasio、R.Marcogliese、及R.Novarese,第39-65頁。這樣一種方案的基本原理是第一終端或工作站以固定的采樣率(例如8kHz)對音頻輸入信號以數(shù)字方式進行采樣。然后把一系列樣本組合成一個數(shù)據(jù)包以便通過網(wǎng)絡發(fā)送到第二終端,該終端再把樣本送到揚聲器或類似的設備供重放之用,這同樣是以固定速率進行。
使用局域網(wǎng)以傳送音頻信號所帶來的問題之一是通過網(wǎng)絡的傳輸時間是變化的。這樣,在目標節(jié)點上數(shù)據(jù)包的到達既有延遲又不規(guī)則。如果這些數(shù)據(jù)包以不規(guī)則的方式重放,那末它對音頻信號的清晰度有極其不良的影響。因此,通過局域網(wǎng)發(fā)送音頻的方案需要在一定程度上使用在接收端的緩沖技術以吸收這些不規(guī)則性。必須注意避免在原始話頻信號和目標端音頻輸出之間引入過多的延遲,這將使自然交互雙向對話變得很困難(就象在越洋的常規(guī)長途電話中過多的延遲會令人非常討厭一樣)。在IBM技術公開公報36卷第4期,1993年4月,第255-257頁中有一篇文章題為“共享數(shù)據(jù)包網(wǎng)絡用的自適應性音頻重放算法”,作者為B.Aldred、R.Bowater、和S.Woodman中描述了一種系統(tǒng),在該系統(tǒng)中超過一定的最大允許時間限度以后到達的數(shù)據(jù)包將被取消。緩沖量的大小根據(jù)被取消的數(shù)據(jù)包的數(shù)量而自適應地予以控制(也可以用別的合適的關于其延遲到達的量度來控制)。如果被取消的數(shù)據(jù)包的數(shù)量大,緩沖的程度就增加,而當被取消的數(shù)據(jù)包數(shù)量小,緩沖程度也減小。緩沖的大小是通過暫時改變重放速率來改變的(這會影響音調(diào);一個不太被注意的技術將是檢測靜音的時間長度并根據(jù)其合適程度人為地增加或減少這一時間)。
和雙向或點對點的通信相反,另一個音頻通信的重要方面是牽涉到多點通信的會議通信。在傳統(tǒng)的模擬性質(zhì)的電話線路上實現(xiàn)音頻會議時,它要求每個會議參加者送出音頻信號到一個中心點。中心點把送來的各信號進行混合,可能還要調(diào)節(jié)不同的電平,然后把從所有參加者(從該特定節(jié)點來的信號除外)的信號的總和送到各個參加者。美國專利4650929號闡明了一種集中式視頻/音頻會議系統(tǒng),在該系統(tǒng)中每個人可以調(diào)節(jié)其它參加者的相對音量大小。
利用集中式混合的節(jié)點通常被稱為多點控制單元(MCU),這種用法已被轉到若干多媒體(音頻和視頻)工作站會議系統(tǒng)中。例如美國專利4710917說明了一種多媒體會議系統(tǒng),其中的每個參加者都把音頻發(fā)送到中心混合節(jié)點,并從那兒接收音頻信號。其它的多媒體會議系統(tǒng)在“分布式多方桌面會議系統(tǒng)MERMAID”一文中有說明,該文作者為K.Watabe、S.Sakata、R.Maeno、H.Fukuoka、及T.Ohmori,CSCW′90的第27-38頁(計算機支持的合作性工作會議論文集,1990年,洛杉磯),另一篇文章為“寬帶網(wǎng)絡中個人多媒體多點通信服務”,作者為E.Addeo、A.Gelman和A.Dayao,IEEE GLOBECOM,卷1,第53-57頁,1988年。
但是,利用集中式MCU或總和節(jié)點的方式存在幾個缺點。首先,大多數(shù)局域網(wǎng)的結構是基于同級對同級的安排(a peer to peer arrangement)的,因此沒有一個明顯的中心節(jié)點。此外,上面所說的系統(tǒng)完全依賴于指定的中心節(jié)點能連續(xù)可用這一條件才能運行會議。另外還可能有回聲抑制的問題(中心節(jié)點必須小心地不要把從某個將總和信號向它回放的節(jié)點上的音頻信號包括在內(nèi))。
這些問題可以用分布式音頻會議系統(tǒng)而得以避免,這個系統(tǒng)中的每個節(jié)點都從參加會議的每個節(jié)點接收獨立的音頻信號。美國專利5127001號說明了這樣一個分布式系統(tǒng),并且討論了由于數(shù)據(jù)包在網(wǎng)絡中傳遞的不同的轉移時間而引起的同步問題。美國專利5127001號通過對從各個源節(jié)點來的音頻數(shù)據(jù)包保持獨立的隊列來克服這一問題。這些方法可以有效地吸收到達時間的抖顫,就象上面所說的用于簡單的點到點通信中的方法一樣。在規(guī)定的時間段內(nèi)讀出一組音頻數(shù)據(jù)包,每個隊列取出一個數(shù)據(jù)包然后加在一起以供回放。
音頻會議系統(tǒng)所面臨的問題之一,象上面所提到的MERMAID系統(tǒng)所發(fā)現(xiàn)的,是在任何給定的時刻確定誰正在發(fā)言。美國專利4893326號說明了一種多媒體會議系統(tǒng),其中各工作站自動地檢測它的用戶是否正在發(fā)言。然后這一信息被送到一個中心控制節(jié)點,該節(jié)點則切換視頻使得每個與會者從它們的屏幕上看到當前的發(fā)言者。這樣的系統(tǒng)同時需要視頻和音頻的操作能力,并且還要依靠中心視頻切換節(jié)點,所以它不能用于全分布式系統(tǒng)。
在H.Tanigawa、T.Arikawa、S.Masaki和K.Shimamura等人在IEEE INFOCOM91會議錄,卷3、第1127-1134頁上發(fā)表的題為“個人多媒體-多點遠距會議系統(tǒng)”一文中描寫了一種分布式多媒體會議系統(tǒng)。這個系統(tǒng)為立體聲工作站提供了聲音定位功能,隨著含有會議參加者的視頻信號的窗口從右向左通過屏幕時,相應的音頻信號的視在源也作同樣的移動。這種方法可提供有限的協(xié)助以判別發(fā)言者。在日本專利摘要02-123886中敘述了一種更為復雜的措施,其中使用了條形圖來描述輸出話音的電平,并伴隨一個相鄰的含有音頻源的視頻的窗口。
由此可見,以前的技術敘述了多種不同的音頻會議系統(tǒng)。雖然常規(guī)的集中式電話音頻會議既已廣泛應用而且從技術角度來看又是很容易理解的,但是要在桌面系統(tǒng)的環(huán)境下提高音頻會議實施中的性能則還有許多工作要做。
因此,本發(fā)明將提供一種連接到網(wǎng)絡上的計算機工作站,它從網(wǎng)絡接收多個音頻輸入流,每個音頻流含有一個數(shù)字音頻樣本序列,此工作站包括用于把從各音頻輸入流來的數(shù)字音頻樣本存儲在獨立的隊列中的裝置;
用于形成含有從每個隊列來的一個數(shù)字音頻樣本的集合序列的裝置;
用于對數(shù)字音頻樣本的每個集合產(chǎn)生一個加權和的裝置,其中的每個音頻流都帶有一個加權參數(shù);
用于從加權和的序列產(chǎn)生音頻輸出的裝置;
其特征在于一種裝置,它響應于用戶的輸入,以便調(diào)節(jié)所述加權參數(shù)從而控制在多個音頻流的音頻輸出中的相對音量。
本發(fā)明認識到,作為在一個分布式網(wǎng)絡中提供的音頻會議系統(tǒng),這個網(wǎng)絡中的各個節(jié)點都從所有其它與會者接收獨立的音頻流,該系統(tǒng)自然容許額外的功能,這些功能在集中式會議系統(tǒng)中在過去只有在克服許多困難并在高昂代價下才能實現(xiàn)。特別是,每個用戶都可根據(jù)他個人的意愿調(diào)節(jié)所有其他與會者的相對音量。這可能是非常需要的,因為,例如他們需要集中注意會議的某一特定方面,或者因為語言上的問題(例如,可能有的人有濃重的口音使別人難以聽懂,或者會議上有同聲傳譯)。此外,即使在會議進行期間,系統(tǒng)也要響應用戶的輸入以改變不同與會者的相對音量。為了允許這種控制,輸入的音頻信號在被相應的音量控制系統(tǒng)加權之前仍保持獨立而根據(jù)它們的來源不同存放在不同的隊列中(隊列是邏輯上獨立的存儲器,盡管在物理上它們可以是相鄰的或組合在一起的)。只有在這樣以后它們才被合并在一起以產(chǎn)生最后的音頻輸出。因此本發(fā)明認為分布式音頻會議系統(tǒng)是特別適合于對相對音量提供獨立的控制。
工作站最好還能含有一種提供可視指示的裝置,它為每一個上述的音頻輸入流指明該輸入流當前是否處在靜音狀態(tài)。它可以克服音頻會議中一個公認的問題,即確定誰在發(fā)言。這種可視指示可以僅僅是某種形式的通/斷指示器,例如一個指示燈之類或其類似的東西,但在優(yōu)先實施例中,這是由一種能為每個上述的多音頻輸入流指明在該音頻流中的瞬時音量的顯示器來實現(xiàn)的。換句話說,該顯示器提供了有關的與會者的音量的完整的指示。音量輸出可根據(jù)對數(shù)字音頻樣本的連續(xù)的均方根值作計算而得到,或者如果處理能力有限,也可用簡單的算法,如利用在預定的樣本數(shù)中最大的數(shù)字音頻值來計算而得。一般說來,輸入的音頻數(shù)據(jù)以塊的形式到達。每個塊里含有預定數(shù)量的數(shù)字音頻樣本,而上述的可視指示對每個音頻數(shù)據(jù)塊作更新。因此,音量的數(shù)字一般是在每塊的基礎上作計算的。
上述的可視指示最好在其顯示的相鄰處還有該音頻輸入流的來源的一個視覺表示,例如一個視頻的或靜止的圖象。前一種圖象需要一個完整的多媒體會議網(wǎng)絡,而靜止圖象則可以在帶寬低得多的網(wǎng)絡上實現(xiàn),這種低帶寬網(wǎng)不能夠支持傳送視頻信號。這種可視指示不論其是靜止的或活動的,都可以使人們易于判別任何音頻源。
工作站最好還包括用于向用戶提供上述加權參數(shù)值的可視指示的裝置,這種裝置能對用戶用鼠標器調(diào)整上述加權參數(shù)的操作作出反應。這可以用滾動條或其類似指示來實現(xiàn),每個音頻輸入流有一個指示,并且位于該輸入流的輸出音量的可視指示的旁邊。更為方便的是計算機工作站還包括能禁止上述多個音頻輸入流中的任何一個音頻輸出的裝置。這樣,用戶就可以有效地擁有一整套對每個音頻輸入流作音量控制的裝置了。
本發(fā)明還提供了一種運行計算機工作站的方法,這種工作站接在網(wǎng)絡上以接收多個音頻輸入流,每個音頻流含有數(shù)字音頻樣本的序列,該方法包括下列各步驟把從每個音頻輸入流來的數(shù)字音頻樣本存儲在單獨的隊列中;
形成一個含有從每個隊列來的一個數(shù)字音頻樣本的集合的序列;
對每個數(shù)字音頻樣本的集合產(chǎn)生一個加權的和,每個音頻輸入流都附帶一個加權參數(shù);
從加權和的序列產(chǎn)生一個音頻輸出;
其特征在于,響應用戶輸入,調(diào)節(jié)上述加權參數(shù)以控制多個音頻流的音頻輸出中的相對音量。
本發(fā)明的一個實施例將結合例子并參考下列附圖而予以說明
圖1是計算機網(wǎng)絡的示意圖;
圖2是用于音頻會議的計算機工作站的簡化方塊圖;
圖3是圖2的計算機工作站的音頻適配卡的簡化方塊圖;
圖4是對輸入的音頻數(shù)據(jù)包所執(zhí)行的處理過程的流程圖;
圖5表示等待重放的輸入音頻數(shù)據(jù)包的隊列;
圖6是說明音頻適配卡上的數(shù)字信號處理器執(zhí)行的處理過程的流程圖;
圖7表明圖2的工作站向用戶呈示的典型的屏幕界面;
圖8是表明在圖2的工作站上運行的主要軟件的各組成部分的簡化方塊圖;
圖1表示在局部地區(qū)網(wǎng)絡(局域網(wǎng),LAN)2中鏈接在一起的計算機工作站A-E的示意圖。這些工作站正在參加一個多路徑的會議,這里的每個工作站都把自己的音頻信號廣播到會議的所有其它工作站。這樣,每個工作站都從所有其它的工作站接收獨立的音頻信號。圖1所示的網(wǎng)絡是一種令牌環(huán)網(wǎng)結構。在這種結構中有一個令牌在各工作站間輪轉。只有當前擁有令牌的那個工作站被允許向別的工作站發(fā)送報文。應該理解,一個報文環(huán)繞環(huán)網(wǎng)的物理傳輸時間是極其短促的。換句話說,例如A發(fā)送一個報文,則它幾乎是同時被所有其它終端所接收。這就是為什么令牌系統(tǒng)被用來防止由于兩個節(jié)點試圖同時發(fā)送報文而引起的干擾。
下面將要詳細說明,在局域網(wǎng)上單向的音頻通信需要的帶寬為64千赫。在圖1的會議中,每個節(jié)點要把它的音頻信號廣播給其余4個節(jié)點,這意味著總的帶寬要求為5×4×64千赫(1.28兆赫)。這個帶寬是很寬裕地處在標準的令牌環(huán)網(wǎng)的容量之內(nèi),因為它能支持4或16兆位每秒的傳輸率。但是要認識到,對于更大的會議則帶寬的要求將很快成為一個問題,盡管將來的網(wǎng)絡期望會提供更高的帶寬。
請注意,本發(fā)明可以在除了令牌環(huán)網(wǎng)以外的許多不同的網(wǎng)絡結構或配置上實現(xiàn),當然要考慮到為了支持音頻會議所需的有關帶寬、等待時間等等的技術要求是應該得到滿足的。
圖2是能夠用于圖1所示的網(wǎng)絡中的計算機系統(tǒng)的簡化示意圖。此計算機有一個系統(tǒng)單元10、一個顯示屏幕12、一個鍵盤14和一個鼠標器16。系統(tǒng)單元10包括微處理器22,半導體存儲器(ROM/RAM,只讀/隨機存儲器)24、以及傳送數(shù)據(jù)用的總線26。圖2中的計算機可以是任何常規(guī)的工作站,例如IBM的PS/2計算機。
圖2的計算機裝有兩塊適配卡。每一塊是令牌環(huán)網(wǎng)適配卡30。這塊卡加上所帶的軟件可以讓報文發(fā)送到圖1所示的令牌環(huán)網(wǎng)上或從網(wǎng)上接收報文。令牌環(huán)網(wǎng)卡的運行是眾所周知的,所以在這里不作詳細介紹。第二塊卡是音頻卡28,它接到一個話筒及一個揚聲器(未示出)以便作音頻的相應的輸入和輸出之用。
音頻卡的更加詳細的情況示于圖3中。所示出的并且是用在這個特定實施例中的卡是一種M-波卡,這種卡是IBM提供的,但也存在著別的可以完成模擬功能的卡。這塊卡有一個模數(shù)轉換器42用于把從所帶的話筒40來的輸入音頻信號數(shù)字化。模數(shù)轉換器連接到一個編碼譯碼器(CODEC)44,它以44.1千赫的采樣速率把輸入音頻信號采樣成16個二進位的樣本(相當于激光唱盤的標準采樣率/大小)。數(shù)字化后的樣本然后通過一個雙重緩沖器48送到卡上的數(shù)字信號處理器(DSP)46(即編碼譯碼器在從雙緩沖器的一半讀出前一個樣本的同時,把一個樣本裝入雙緩沖器的另一半)。數(shù)字信號處理器由存放在卡上的半導體存儲器52中的一個或多個程序控制。數(shù)據(jù)可以由數(shù)字信號處理器在PC的主總線上來回傳送。
需要重放的音頻信號由數(shù)字信號處理器從PC總線26接收,并經(jīng)過以從話筒輸入音頻的相反方式的處理。這就是說,輸出的音頻信號經(jīng)過數(shù)字信號處理器46和雙重緩沖器50而到編碼譯碼器44,從那兒再到數(shù)模轉換器54。最后送到揚聲器56或其它合適的輸出設備。
在特定的所示實施例中,數(shù)字信號處理器在程序控制下把從編碼譯碼器出來的樣本從44.1千赫的16位用標準的再采樣技術轉換成相當于CCITT(國際電報電話咨詢委員會)標準G.711的具有8千赫采樣率并在μ-規(guī)律標度(基本上是對數(shù)標度)上有8位的樣本的新的數(shù)字信號。這樣,傳送到工作站上以便向其它終端傳輸?shù)男盘柕目偟膸捠?4千赫。數(shù)字信號處理器對從PC接收來的輸入進行相反的轉換,即再次用已知的再采樣技術把8位8千赫的信號轉換成16位44.1千赫的信號。請注意,在這兩種采樣形式之間的轉換之所以需要,僅僅是由于對硬件的特定選擇,而對本發(fā)明并無直接的影響。因此,舉例來說,許多別的音頻卡含有對8千赫形式的內(nèi)在的支持,即編碼譯碼器可以按照G.711格式運行從而可在整個過程中都用8千赫的形式(另外的方案是在網(wǎng)絡傳輸中仍保留44.1千赫的樣本,不過這需要寬得多的帶寬和大大增加的處理速度使得這種方案不太可能實現(xiàn),除非有特殊的要求讓傳輸?shù)囊纛l信號具有激光唱片(CD)的質(zhì)量,對于一般的話音通信,G.711格式的64千赫的帶寬已經(jīng)足夠了)。
數(shù)據(jù)在音頻適配卡和工作站之間是以64字節(jié)的塊來傳送的即8毫秒的音頻數(shù)據(jù),用于以8千赫采樣率的8位數(shù)據(jù)。這樣,工作站只處理整塊的數(shù)據(jù),而工作站發(fā)送或接收的每個數(shù)據(jù)包一般包含單個的64字節(jié)的數(shù)據(jù)塊。將塊的大小選擇為64個字節(jié)是一種折衷,一方面要盡量減少系統(tǒng)的分組程度(granularity,它引起延遲),另一方面要在既考慮到工作站內(nèi)部處理又考慮到在網(wǎng)絡上傳輸?shù)那闆r下維持其效率。在別的系統(tǒng)中,舉例而言,32或128字節(jié)的塊大小也可能是合適的。
計算機工作站在傳輸音頻數(shù)據(jù)方面的運行在已有技術中是眾所周知的,所以這里不作詳細介紹。主要是,音頻卡或者從話筒接收模擬形式的信號、或者從別的諸如激光唱機這樣的音頻源接收一個輸入信號,并產(chǎn)生數(shù)字音頻數(shù)據(jù)塊。然后這些塊被傳送到工作站的主存儲器,再從那兒送到局域網(wǎng)適配卡(在某些結構中可以把數(shù)據(jù)塊直接從音頻適配卡傳送到局域網(wǎng)適配卡而不必經(jīng)過工作站的存儲器)。局域網(wǎng)適配卡產(chǎn)生含有數(shù)字音頻數(shù)據(jù)的數(shù)據(jù)包并加上報頭信息,它規(guī)定了源節(jié)點和目標節(jié)點,然后這個數(shù)據(jù)包就傳輸?shù)骄W(wǎng)上以便到達所需的接收節(jié)點。應該理解,在任何雙向或多路通信中,這個傳輸過程將在工作站上和下面敘述的接收過程同時執(zhí)行。
關于工作站接收音頻數(shù)據(jù)包的處理過程如圖4所示。每當一個新的數(shù)據(jù)包到達時(402步),局域網(wǎng)適配器就通知在工作站中的微處理器上執(zhí)行的程序,向程序提供判別數(shù)據(jù)包來源的信息。然后程序就把到來的64字節(jié)的音頻塊傳送到主存儲器中的隊列中(404步)。如圖5所示,在主存儲器500中的隊列實際上是含有從各個不同的源節(jié)點來的音頻塊的一組獨立的子隊列。因此,一個隊列含有從一個源節(jié)點來的音頻塊,另一個隊列含有從另一個源節(jié)點來的音頻塊,如此等等。在圖5中有3個子隊列501、502、503,分別來自源節(jié)點B、C、D的音頻數(shù)據(jù);子隊列的數(shù)量當然隨音頻會議中與會者的數(shù)量而變化。程序利用每個收到的數(shù)據(jù)包中關于判定源節(jié)點的信息以便把來到的音頻數(shù)據(jù)塊分配到正確的隊列中去。指針PB、PC和PD指明隊列末尾的位置并且在每當有新數(shù)據(jù)包加入后更新此位置。數(shù)據(jù)包從子隊列的底端處取走以便去作進一步的處理(如圖5中的“輸出”所示)。因此,圖5中的子隊列實際上就是標準的先進先出隊列,從而可以用常規(guī)的編程技術來實現(xiàn)。請注意,作為一直到現(xiàn)在所敘述的、對到來的音頻包的處理,除了支持多個(并行)隊列以外,都和現(xiàn)有技術方法完全類似,因此不論對個別的子隊列或對整體的綜合隊列,如果需要都可以使用等價的緩沖技術。
音頻適配卡上的數(shù)字信號處理器所執(zhí)行的操作示于圖6中。數(shù)字信號處理器以循環(huán)方式運行,每8毫秒處理一組新的音頻塊以便保證連續(xù)的音頻輸出信號。這樣,數(shù)字信號處理器每8毫秒就利用一次直接內(nèi)存訪問去從相應于不同節(jié)點的各個隊列中讀出一個音頻塊,即從如圖5所示的隊列B、C和D的底端讀出一個塊(602步,在此情況下M=3)。這些塊以表示相同的時間段而進行處理在最后輸出時它們將被加在一起以產(chǎn)生在那個時間段的單一的音頻輸出。因此,數(shù)字信號處理器有效地執(zhí)行了一種對多個音頻輸入流的數(shù)字混合功能。使用一個查閱表,在64字節(jié)的塊中的各別的樣本就從G.711格式(它主要是對數(shù)式的)轉換成為線性標度的(604步)。每個各別的樣本然后再乘以加權參數(shù)(606步)。對于每個收到的音頻數(shù)據(jù)流,另外還帶有一個單獨的加權參數(shù);即對于圖5中的三個子隊列,對從節(jié)點B來的音頻流有一個加權參數(shù),從節(jié)點C來的音頻流有一個,從節(jié)點D來的音頻流也有一個。這些加權參數(shù)用于控制從不同源來的音頻信號的相對音量。
數(shù)字信號處理器為每個音頻流保留一個運行著的(連續(xù)的)均方根(rms)值的記錄。一般情況下,這樣一個均方根值是為每個音頻數(shù)據(jù)塊(即每8毫秒)通過生成該塊中各個值的和及其平方的和而產(chǎn)生的。這個均方根值代表該各別的音頻輸入流的音量并用于向用戶提供有關音量的信息,這將在下面敘述。
一旦數(shù)字音頻樣本乘上適當?shù)募訖鄥?shù)以后,它們被加在一起(608步;請注意,這可以和606步的處理工作有效地并行發(fā)生)。這樣就產(chǎn)生了一個單一的數(shù)字音頻樣本的序列,它代表多個輸入音頻流的加權和。這個數(shù)字音頻樣本序列經(jīng)過再采樣成44.1千赫(610步,不過前面已經(jīng)說明,這是取決于硬件的,并不和本發(fā)明有直接的相關性),然后再送到編碼譯碼器(612步)以提供給揚聲器。
請注意,用于產(chǎn)生音量可調(diào)節(jié)的實際的數(shù)字信號處理器的處理工作和圖6所示的可以有某些變化,但其最終結果實際上是類似的。引入這些變化一般說來是為了最大程度地提高計算效率或減少對數(shù)字信號處理器的要求。例如,如果處理器的能力有限,則音量控制可以在從μ-規(guī)律轉換出來之時實現(xiàn)。這樣,在找到正確的查找值后(604步),其實際讀出值可以根據(jù)信號的音量是要比其正常值增加還是減小而把表格的位置提高或降低若干個預定位置而確定。在這種情況下,加權參數(shù)實際上就是調(diào)整查閱表上往上移或往下移的步數(shù)(顯然考慮到這一事實G.711格式根據(jù)原來的振幅是正還是負而將它們分開,而音量調(diào)節(jié)不能把一個(正或負)轉換成另一個)。上述途徑在計算上是簡單的,但它只能提供分級的而不是連續(xù)可調(diào)的音量控制。另一種可能的方法是對μ-規(guī)律的數(shù)字附加上音量控制值或加權參數(shù)的對數(shù)。這個方法利用對數(shù)加法以便在604步的標度轉換之前有效地執(zhí)行606步中的乘法,這種加法對大多數(shù)處理器來說在計算代價上要比乘法更便宜。然后其結果可以轉換回去成為線性標度(604步)以便和別的音頻流混合。這個方法確定可以作精細的音量控制,如果查閱表是足夠詳細的話(不過,請注意其輸出仍限制在16位),一般情況下,加權參數(shù)的對數(shù)可以從查閱表得到,或者也可以由控制應用程序提供已經(jīng)是對數(shù)的形式。當然,當音量被調(diào)節(jié)時,只需要計算一個新的對數(shù)值即可,但這種情況很可能是極少發(fā)生的。
類似地,如果能利用的處理能力不足以執(zhí)行連續(xù)的均方根值音量測量,那么也許可以每隔一個數(shù)據(jù)塊進行一次處理,或者另外的辦法是可以用較為簡單的計算算法,例如把相繼的樣本之間的差的絕對值相加。請注意,平均值的相加可以在604步之前(即在標度轉換之前)用對數(shù)加法進行。一個更加簡單的方法是直接使用任何一個音頻塊中最大的樣本值作為音量指示值。
圖7表示參加音頻會議的工作站用戶所看到的屏幕700。像前面的討論所說的,這包括接收三個不同的音頻數(shù)據(jù)流,當然本發(fā)明并不僅僅局限于三個與會者。圖7的屏幕用虛線分成三個區(qū)域701、702、703,每一區(qū)域表示一個與會者,但實際上這些虛線并不出現(xiàn)在屏幕上。與每個與會者相聯(lián)的是一個框724,里邊含有與會者的姓名(在我們的情況下就是B、C、D)。另外還有一個圖象窗口720,它可以用來包括一個聲音源的視頻圖象,它是隨音頻信號一起在網(wǎng)絡上傳送的,或者也可能是一個靜止的位圖(這可能是在會議開始時由音頻源提供的,也可能是已經(jīng)局部地存在于工作站中,并隨著對該與會者的姓名的響應而顯示出來)。對于與會者D,由于沒有可用的視頻信號或靜止圖象,所以顯示的是個空窗口。對在圖象窗口中選擇什么樣的顯示(空、靜止或視頻圖象)取決于工作站的硬件、網(wǎng)絡的帶寬、以及有關信息的可用性。
在圖象窗口下面是一個音量顯示721(一個音量單位表、VU表),它指示該音頻流的瞬時音量(由圖6中的塊608計算而得)。顯示中實線的長度說明了音頻流的音量。如果從該與會者處沒有音頻信號送來,則該實線的長度為零(即它就消失)。因此,用戶可以通過觀看誰的音量表是活動的來確定誰在會議上說話。
在音量顯示的下面是音量控制條722,它容許用戶調(diào)節(jié)該與會者的相對音量。其實現(xiàn)方法是讓用戶按下(音量控制)條的兩端中任何一端的“+”或“-”按鈕以便相應地增加或減少音量。這樣做具有相應地增加或減少數(shù)字混合中的加權參數(shù)的效果。在音量控制條中間的指示表明當前的音量設置(即當前的加權參數(shù)的值)。
最后,在姓名框724的邊上是靜音按鈕723。按下這個按鈕可交替地使該與會者的音頻輸出被禁止或被允許。當音頻輸出被禁止時,加權參數(shù)被置成零,而當輸出被允許時,加權參數(shù)恢復到以前的值(即由音量控制條所指示的值)。如果從某個與會者來的音頻在當前被禁止輸出時,則這種狀態(tài)用在靜音按鈕上疊加一個十字叉來表示(在圖7中所有三個音頻輸出當前都是被允許的)。注意在使用上述的數(shù)字信號處理器進行處理時,當靜音按鈕為通而音頻輸出被禁止時,則音量單位(VU)表將顯示零。如果需要的話,則更為直接的辦法是修改此系統(tǒng),使音量單位表改為顯示在音量輸出實際上是被允許時的那種情況下所產(chǎn)生的信號電平。
圖8顯示了為了向用戶提供圖7所示的用戶界面工作站所運行的主要的軟件組成部分。工作站被操作系統(tǒng)814所控制,這種操作系統(tǒng)可以是例如微軟公司所提供的窗口軟件Windows。在工作站上還存在著相應的通信軟件816以啟用局域網(wǎng)通信(在某些情況下通信軟件可以實際上包括在操作系統(tǒng)內(nèi))。操作系統(tǒng)和通信軟件通過設備驅動程序818而與兩個適配卡(即令牌環(huán)網(wǎng)卡和音頻適配卡)相互作用,這在本項技術中是熟知的。音頻的總體處理工作由應用程序810控制。這利用了應用支持層812,這一支持層是用Visual Basic(一種計算機語言)實現(xiàn)的,這種語言可從微軟公司得到。應用支持層的目的是方便應用程序的開發(fā),特別是牽涉到用戶界面的開發(fā),但當然也可以讓應用程序直接和操作系統(tǒng)一起工作。
應用程序根據(jù)已知的程序設計技術控制窗口框720的內(nèi)容。例如,利用Visual Basic所提供的功能可以被用在音量單位表上,這種語言可以有效地對與各表(meters)相關的所有圖形作出反應,對應用程序來說所需做的一切就是提供有關的數(shù)值。由于Visual Basic是中斷-驅動的,要完成上述工作是很容易的,只要讓數(shù)字信號處理器把一個音頻塊的輸出音量拷貝到工作站,然后調(diào)用中斷即可。中斷在應用程序中產(chǎn)生一個事件,向它通報新的輸出音量,這個音量值就可拷貝到音量單位表中。實際上,中斷被用來發(fā)出有關某一組音頻塊的整套音量讀數(shù)可被使用的信號,即對每個音頻流有一個音量讀數(shù)(請注意,數(shù)字信號處理器已為每個音頻塊執(zhí)行一次中斷,這與在該工作站上所產(chǎn)生的、以便在網(wǎng)絡上傳輸?shù)妮敵鲆纛l信號有關。)。與此相同,音量控制條722也是Visual Basic所提供的一個特點(被稱作“滾動條”)。Visual Basic負責與控制條相關的全部圖形,包括選擇器的位置,每當用戶調(diào)節(jié)它時,它就向應用程序傳送一個更新了的音量數(shù)值。然后應用程序可以把這個更新了的數(shù)值寫入數(shù)字信號處理器以據(jù)此改變音量。靜音按鈕723是另一個由Visual Basic提供的顯示功能,它允許對每個音頻流直接進行通/斷控制。請注意,每當靜音按鈕被啟動時,應用程序必須記住以前的加權參數(shù)值,使得靜音按鈕在下一次被按下時可以恢復這個值。
應該理解上述的用戶界面可以有許多變動方案。例如,音量單位表可以被分段,或用一個模擬電平表代替。一個更為簡單的方法是用一個通/斷指示器,它根據(jù)是否從某個與會者那里有音頻輸出而只是作顏色的改變。音量控制功能可以用一個度盤或推拉型滑桿電位器而不是用兩個按鈕來實現(xiàn)。靜音按鈕也可以和音量控制條合并在一起。這些變動對于熟悉編程技術的人來說都是在他們能力范圍之內(nèi)的。
雖然在上面敘述的系統(tǒng)中用戶實際上僅限于對每個音頻輸入流的音量控制,但在別的系統(tǒng)中可以向用戶提供更先進的控制,如頻率控制(即高音和低音調(diào)節(jié))。這可以由數(shù)字信號處理器對音頻信號在時間域用FIR或IIR濾波器做乘法而比較容易地實現(xiàn)。頻率控制可以用圖7中對音量控制條相類似的方式向用戶顯示,對頻率控制的改變將產(chǎn)生對FIR/IIR濾波器系數(shù)的相應改變。這些先進的控制隨著在網(wǎng)絡上傳輸?shù)囊纛l信號的質(zhì)量改進將變得更加需要,例如在那些使用G.721而不是G.711音頻傳輸標準的系統(tǒng)就是如此。
權利要求
1.一種計算機工作站,用于連接網(wǎng)絡并從網(wǎng)絡接收多個音頻輸入流,每個音頻流包括數(shù)字音頻樣本的序列,工作站包括用于在獨立的隊列中存儲從每個音頻輸入流來的數(shù)字音頻樣本的裝置;用于形成含有每個隊列的一個數(shù)字音頻樣本集合的序列的裝置;用于產(chǎn)生各數(shù)字音頻樣本的加權總和的裝置,每個音頻輸入流都伴隨著一個加權參數(shù);用于從加權總和的序列生成音頻輸出的裝置;其特征在于,具有這樣的裝置,它能響應用戶對調(diào)節(jié)上述加權參數(shù)的輸入以控制在多個音頻流的輸出范圍內(nèi)的相對音量。
2.如權利要求1所限定的計算機工作站,其特征在于還包括一種裝置,用于為上述的每個多音頻輸入流提供一個可視指示以表明該音頻輸入流當前是否處于靜音狀態(tài)。
3.如權利要求2所限定的計算機工作站,其特征在于,上述可視指示還為上述的各多音頻輸入流指明該音頻流的瞬時音量。
4.如權利要求2和3所限定的計算機工作站,其特征在于,該可視指示是在該音頻輸入流的聲源的一個可視表示的鄰近顯示的。
5.如權利要求3和4所限定的計算機工作站,其特征在于,對于每個上述的多音頻輸入流,它還包含能從其中的數(shù)字音頻樣本序列生成運行中的均方根值的裝置。
6.如權利要求2到5中任何一項所限定的計算機工作站,其特征在于,到來的音頻數(shù)據(jù)是以塊的形式到達,每塊含有預定數(shù)量的數(shù)字音頻樣本,且上述的可視指示對音頻數(shù)據(jù)的每一個新的塊進行更新。
7.如上述任何一項權利要求所限定的計算機工作站,其特征在于,它還包括禁止從上述的任何一個多音頻輸入流來的音頻輸出的裝置。
8.如上述任何一項權利要求所限定的計算機工作站,其特征在于,它還包括一種裝置,該裝置向用戶提供上述加權參數(shù)的值的可視指示,該裝置能響應用戶的調(diào)節(jié)上述加權參數(shù)的鼠標器的操作。
9.一種運行計算機工作站的方法,該工作站接到網(wǎng)絡上以接收多音頻輸入流,每個音頻流是一個數(shù)字音頻樣本的序列,上述方法包括下列步驟把從每個音頻輸入流來的數(shù)字音頻樣本存放到獨立的隊列中;形成一個含有從各隊列來的數(shù)字音頻樣本的集合的序列;對每個數(shù)字音頻樣本產(chǎn)生一個加權的和,每個音頻輸入流都帶一個相關聯(lián)的加權參數(shù);從加權和的序列生成一個音頻輸出;其特征在于,響應于用戶輸入,調(diào)節(jié)上述加權參數(shù)以控制多音頻流的音頻輸出范圍之內(nèi)的相對音量。
10.如權利要求9所限定的運行計算機工作站的方法,其特征在于還包括為上述音頻流中的每個多音頻輸入流提供一個瞬時音量的可視指示的步驟。
全文摘要
一種計算機工作站,在音頻會議中從網(wǎng)上接收多音頻輸入流,并將其存入不同隊列而保持獨立。取自各隊列的數(shù)字樣本送到音頻適配卡(28)供輸出。音頻適配卡上的數(shù)字信號處理器(46)使各音頻流乘以各自的加權參數(shù),再將其相加以供輸出,從而各音頻輸出流的相對音量可控。計算音量數(shù)據(jù)的每一塊的音量并向用戶顯示,使用戶可見到各音頻輸入流的獨立的音量。還向用戶提供各音頻輸入流的音量控制。
文檔編號G06F13/00GK1111775SQ9411907
公開日1995年11月15日 申請日期1994年12月14日 優(yōu)先權日1993年12月18日
發(fā)明者K·巴拉克勞, P·R·克里普斯, A·蓋 申請人:國際商業(yè)機器公司