處理并發(fā)語音的制作方法
【專利說明】
【背景技術(shù)】
[0001]所公開的實施例通常涉及分布式客戶端-服務器計算機網(wǎng)絡系統(tǒng),并且具體涉及用于處理并發(fā)語音的系統(tǒng)和方法。每天,都會舉行成百上千的會議,特別是電話會議。不像那些現(xiàn)場會議,電話會議的出席者通常從不同地理位置參加并講話。但是,由于缺乏視覺線索和其他原因,電話會議的出席者更可能在同時或者大約同時講話,造成同時、并發(fā)或以其他方式重疊的講話。盡管增加了該重疊講話的可能性,電話會議的用戶仍舊期望他們與其他用戶通信是有序和有效的。
[0002]在會議系統(tǒng)中,當許多出席者在同時或大約同時講話時,講話者的講話可能在延長的時期內(nèi)不會被聽見,直到所有“早的”講話已被輸出。延長的延遲通常導致用戶挫折和混亂,因為講話者試圖再講一遍或者確定會議系統(tǒng)是否有錯誤或數(shù)據(jù)丟失。當講話頻繁被打斷時,該情形惡化,并且必須重復許多次才能被完全傳遞,降低了會議系統(tǒng)的有效性。
【發(fā)明內(nèi)容】
[0003]通過下面所述的所公開的系統(tǒng)和方法來減少或消除上述的用于處理并發(fā)語音的常規(guī)方法的問題。
[0004]在許多情形下,提供有選擇地消除并發(fā)語音但仍滿足用戶的使其講話被適當處理或傳遞的感知的系統(tǒng)和方法是有利的。特別是,基于一個或多個其他參與者的講話的屬性來有選擇地調(diào)整特定參與者的講話的輸出,可以增加會議系統(tǒng)的有效性,而沒有以串行先入先出方式廣播大量參與者講話的伴隨成本。
[0005]在一些實施例中,在服務器系統(tǒng)處執(zhí)行一種方法,該服務器系統(tǒng)具有一個或多個處理器和存儲器,所述存儲器存儲一個或多個程序,用于由所述一個或多個處理器執(zhí)行,以便執(zhí)行所述方法。所述方法包括:從會話的第一參與者接收語音數(shù)據(jù),從該會話的第二參與者接收語音數(shù)據(jù),以及輸出第一參與者的語音。所述方法進一步包括:當?shù)诙⑴c者的語音與第一參與者的語音的末端部分暫時重疊少于第一預定閾值量時,根據(jù)對該會話的參與者的語音的調(diào)整輸出第二參與者的語音,以及當?shù)诙⑴c者的語音與第一參與者的語音的末端部分暫時重疊多于該第一預定閾值量時,丟棄第二參與者的語音。在一些實施例中,所述方法可選地包括通過延遲第二參與者的語音的輸出而根據(jù)對該會話的參與者的語音的調(diào)整輸出第二參與者的語音。
[0006]根據(jù)一些實施例,一種計算機系統(tǒng)(例如客戶端系統(tǒng)或服務器系統(tǒng))包括一個或多個處理器、存儲器和一個或多個程序。所述一個或多個程序存儲在存儲器中并且被配置為由所述一個或多個處理器執(zhí)行且所述一個或多個程序包括用于執(zhí)行上述方法的操作的指令。根據(jù)一些實施例,一種非瞬時計算機可讀存儲介質(zhì)在其中存儲指令,當所述指令被一個或多個處理器執(zhí)行時,使得計算機系統(tǒng)(例如,客戶端系統(tǒng)或服務器系統(tǒng))執(zhí)行上述方法的操作。
【附圖說明】
[0007]為了更好理解所公開的實施例,下面應該參考實施例的描述,并且結(jié)合下面的附圖,在附圖中,相似的參考標記通篇指代對應的部件。
[0008]圖1是根據(jù)一些實施例圖示分布式客戶端-服務器系統(tǒng)的框圖。
[0009]圖2是根據(jù)一些實施例圖示客戶端系統(tǒng)的框圖。
[0010]圖3是根據(jù)一些實施例圖示服務器系統(tǒng)的框圖。
[0011]圖4包括根據(jù)一些實施例圖示用于處理并發(fā)語音的客戶端-服務器系統(tǒng)的流程圖。
[0012]圖5是根據(jù)一些實施例圖示處理并發(fā)語音的方法的流程圖。
[0013]圖6是根據(jù)一些實施例圖示處理并發(fā)語音的示例的框圖。
[0014]圖7是根據(jù)一些實施例圖示處理并發(fā)語音的第二示例的框圖。
[0015]圖8是根據(jù)一些實施例圖示處理并發(fā)語音的第三示例的框圖。
[0016]圖9是根據(jù)一些實施例圖示處理并發(fā)語音的第四示例的框圖。
[0017]圖10是根據(jù)一些實施例圖示處理并發(fā)語音的第五示例的框圖。
【具體實施方式】
[0018]將理解,盡管這里可以使用術(shù)語“第一”、“第二”等來描述各種元素,但是這些元素不應被這些術(shù)語所限制。這些術(shù)語只用于區(qū)分一個元素和另一個元素。例如,第一參與者可以被稱為第二參與者,并且類似地,第二參與者可以被稱為第一參與者,而不會改變描述的含義,只要所有并發(fā)的“第一參與者” 一致地被改名并且所有并發(fā)的“第二參與者” 一致地被改名。第一參與者和第二參與者都是參與者,但是他們不是相同的參與者。
[0019]這里使用的術(shù)語的目的僅僅是描述特定實施例的目的,而不旨在是對權(quán)利要求的限制。如實施例的描述和所附權(quán)利要求中所使用的,單數(shù)形式“一”旨在也包括多數(shù)形式,除非上下文另外明確指出。也將理解,這里使用的術(shù)語“和/或”指的是并且包括一個或多個相關(guān)聯(lián)的所列項目的任何和所有可能組合。還將理解,術(shù)語“包括”和/或“包含”,當在本說明書中使用時,規(guī)定所陳述的特征、整數(shù)、步驟、操作、元素和/或組件的存在,而不排除一個或多個其他特征、整數(shù)、步驟、操作、元素、組件和/或其組合的存在或添加。
[0020]如這里使用的術(shù)語“如果”可以被解釋為意味著“當……時”或“當”或“響應于確定”或“根據(jù)確定”或“響應于檢測”所陳述的條件前提為真,取決于上下文。類似地,短語“如果確定[所陳述的條件前提為真]”或“如果[所陳述的條件前提為真]”或“當[所陳述的條件前提為真]時”可以被解釋為意味著“當確定”或“響應于確定”或“根據(jù)確定”或“當檢測”或“響應于檢測”所陳述的條件前提為真,取決于上下文。
[0021]下面描述的實施例包括客戶端和服務器系統(tǒng),典型地在分布式客戶端-服務器系統(tǒng)中互操作,以及處理并發(fā)語音的對應方法,其中,并發(fā)語音的某些部分被丟棄,或者被調(diào)整,以便有效率且有效地處理并發(fā)語音。
[0022]圖1包括圖示用于處理并發(fā)語音的分布式客戶端-服務器系統(tǒng)100的框圖。分布式客戶端-服務器系統(tǒng)100包括一個或多個客戶端系統(tǒng)102 (其代表這里被稱為“客戶端102”)、一個或多個調(diào)度服務器系統(tǒng)106-A…106-N(其代表這里被稱為“調(diào)度服務器106”)以及用于將客戶端102連接到調(diào)度服務器106的通信網(wǎng)絡104。通信網(wǎng)絡104可選地包括因特網(wǎng)、一個或多個局域網(wǎng)(LAN)、一個或多個廣域網(wǎng)(WAN)、其他類型的網(wǎng)絡、或者這樣的網(wǎng)絡的組合。
[0023]客戶端102可選地包括瀏覽器150和/或會議應用108。在一些實施例中,會議應用108是瀏覽器150的一部分。在一些實施例中,瀏覽器150是通用因特網(wǎng)瀏覽器(有時被稱為web瀏覽器),具有用于與會議系統(tǒng)的其他用戶通信-音頻通信和/或視頻通信,例如語音的瀏覽器窗口。web應用用戶接口可選地使用由瀏覽器106呈現(xiàn)的超文本標記語言(HTML)或可擴展標記語言(XML)元素來實現(xiàn)??商鎿Q地,用戶與會議系統(tǒng)的其他用戶經(jīng)由單機會議應用108來通信。在用戶開始她與其他用戶經(jīng)由瀏覽器150或單機會議應用108的通信(音頻和/或視頻)之后,客戶端102經(jīng)由通信網(wǎng)絡104中繼語音數(shù)據(jù)一一在一些實施例中包括音頻和/或視頻信息(或其一部分)以及對應的元數(shù)據(jù)(例如時間戳、通信的長度、格式化數(shù)據(jù))一一到調(diào)度服務器106。在一些實施例中,調(diào)度服務器106處理語音數(shù)據(jù)并且可選地將語音數(shù)據(jù)發(fā)射到一個或多個其他調(diào)度服務器106以便并行或串行處理。一旦語音數(shù)據(jù)(包括音頻/視頻信息和對應元數(shù)據(jù))被一個或多個調(diào)度服務器106處理,其被發(fā)射回一個或多個客戶端102,其中,音頻和/或視頻通信(例如,一個或多個語音)被傳遞到其各自用戶。在一些實施例中,客戶端102是電話。在一些實施例中,調(diào)度服務器106是以軟件(例如,編程包)或硬件(例如,IC芯片)在客戶端102上實現(xiàn)的。在一些實施例中,例如,其中,調(diào)度服務器106在客戶端102上實現(xiàn),語音數(shù)據(jù)在客戶端102之間被發(fā)射,不通過中心化服務器。在一些實施例中,語音在一個客戶端102和另一客戶端102被不同地輸出,例如具有不同的延遲量,或者以不同的速度。
[0024]在一些實施例中,在客戶端102之間使用一致性算法以從客戶端102收集信息,諸如,哪個語音或其一部分在哪個客戶端102被傳遞或被忽略,以及在一個或多個特定客戶端102語音被延遲了多長時間。在一些實施例中,根據(jù)所收集的信息,一致性算法還向調(diào)度服務器106提供一個或多個調(diào)度選項(例如,客戶端反饋),可以提供若干客戶端102中的最好整體性能。在一些實施例中,一致性算法所收集的信息(包括調(diào)度選項)在它們被發(fā)射到調(diào)度服務器103之后,被存儲在調(diào)度參數(shù)130中,以用于未來語音調(diào)度。在一些實施例中,為了避免或最小化可能造成用戶混亂的在若干客戶端102處傳遞語音的方式之間的不同,根據(jù)一致性算法所提供的信息,調(diào)度服務器106動態(tài)地調(diào)整語音輸出。在一些實施例中,調(diào)度服務器106動態(tài)地調(diào)整語音輸出,使得客戶端102 (不斷地)收斂到一種狀態(tài),在此狀態(tài)下,至少在多于預定義數(shù)量的客戶端102處傳遞任一語音,或者在若干客戶端102處傳遞的語音大致相同(根據(jù)輸出速度或者語音的次序)。
[0025]在一些實施例中,調(diào)度服務器106包括前端服務器模塊120、音頻處理模塊122、視頻處理模塊124、語音識別模塊126、語音轉(zhuǎn)錄模塊128、調(diào)度參數(shù)130、輸出調(diào)度模塊132和輸出調(diào)整模塊134。在一些實施例中,前端服務器模塊120從一個或多個客戶端102接收語音數(shù)據(jù),將其中繼到音頻處理模塊122、視頻處理模塊124或二者。在一些實施例中,前端服務器模塊120還將從輸出調(diào)度模塊132或輸出調(diào)整模塊134接收到的輸出語音發(fā)射到一個或多個客戶端102用于傳遞。在一些實施例中,前端服務器模塊120還通過將其中的音頻/視頻信息轉(zhuǎn)換成可以易于被調(diào)度服務器106處理的格式而修改語音數(shù)據(jù)。音頻處理模塊122從語音數(shù)據(jù)中提取音頻信息,并可選地提取對應的元數(shù)據(jù),并且將其發(fā)射到輸出調(diào)度模塊132或語音識別模塊126。在一些實施例中,視頻處理模塊124從語音數(shù)據(jù)中提取視頻信息和對應的元數(shù)據(jù),并且可選地,將其發(fā)射到輸出調(diào)度模塊132或語音識別模塊126。在一些實施例中,音頻處理模塊122和視頻處理模塊124將音頻和/或視頻信息以及可選的對應元數(shù)據(jù)輸出到語音識別模塊126。在一些實施例中,語音識別模塊126使用(在硬件或軟件中實現(xiàn)的)語音識別技術(shù)來根據(jù)語音元數(shù)據(jù)識別音頻和/或視頻信息中的字母、單詞、短語、術(shù)語、句子、語音語氣或面部表情的改變等等。在一些實施例中,根據(jù)語音元數(shù)據(jù),語音轉(zhuǎn)錄模塊128將音頻信息和/或視頻信息的音頻部分轉(zhuǎn)錄成文本。調(diào)度參數(shù)130包括輸出調(diào)度信息,諸如語音分類、語音優(yōu)先級以及講話者角色。輸出調(diào)度模塊132接收音頻和/或視頻信息并且根據(jù)語音元數(shù)據(jù)和/或調(diào)度參數(shù)130在預定時間輸出語音??蛇x地,輸出調(diào)度模塊132至少部分基于從語音識別模塊126、語音轉(zhuǎn)錄模塊128和調(diào)度參數(shù)130接收到的信息來確定預定輸出時間。輸出調(diào)整模塊134可選地調(diào)整輸出語音,例如添加進一步的延遲、去除現(xiàn)有延遲、加長或縮短語音內(nèi)的暫停,以及使用一個或多個基音保持算法增加或減少語音速度。在一些實施例中,延遲語音是通過記錄語音并且在預定時間間隔后回放記錄的語音,可選地以比原始語音更快或更慢的速度,來獲取的。
[0026]在一些實施例中,當存在多個服務器系統(tǒng)(例如,調(diào)度服務器106-A…調(diào)度服務器106-N)時,來自客戶端102的語音數(shù)據(jù)或者其一部分被發(fā)射到兩個或更多的調(diào)度服務器106用于并行或串行處理和調(diào)度輸出。在一些實施例中,輸出調(diào)度模塊132 (例如,輸出調(diào)度模塊132-A…輸出調(diào)度模塊132N),在多個服務器系統(tǒng)內(nèi),互相通信以協(xié)調(diào)語音輸出。在一些實施例中,從客戶端102接收的語音數(shù)據(jù)被分成相等或不同長度的若干部分,并且相同語音的不同部分被發(fā)射到不同服務器