專利名稱:視頻會議速率匹配的制作方法
視頻會議速率匹配
背景技術(shù):
視頻會議中的速率匹配是改善視頻會議性能的過程。在一些場合中,經(jīng)由因特網(wǎng)連接的視頻會議客戶端可能具有波動的帶寬量,而位于企業(yè)內(nèi)聯(lián)網(wǎng)上的其他客戶端具有穩(wěn)定的帶寬量。該因特網(wǎng)客戶端可能不能如內(nèi)聯(lián)網(wǎng)客戶端那樣接收到同樣質(zhì)量的視頻流,所以視頻會議系統(tǒng)可能會被迫將所有參與者的視頻質(zhì)量降低到最低性能客戶端所能處理的水平。即,該系統(tǒng)會迫使內(nèi)聯(lián)網(wǎng)客戶端妥協(xié)并犧牲其能力,且僅在帶有低分辨率和低幀率體驗(yàn)的低比特率數(shù)據(jù)流上編碼/接收。比如,對于內(nèi)聯(lián)網(wǎng)客戶端能夠以每秒30幀(fps)的幀率在VGA分辨率(每幀 640x480像素)下進(jìn)行編碼并回放。內(nèi)聯(lián)網(wǎng)客戶端可能僅能夠以15fps速率在CIF分辨率 (320x240)下進(jìn)行編碼和接收。傳統(tǒng)的對策是強(qiáng)迫每個(gè)客戶端在較低的CIF分辨率下編碼和接收,或者使視頻會議系統(tǒng)丟棄來自VGA分辨率流的替換幀。
發(fā)明內(nèi)容
可提供視頻會議速率匹配。此概述被提供以簡化形式介紹概念的選擇,該簡化概念將在接下來的“詳細(xì)描述”中被進(jìn)一步描述。此概述并不意在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不是意在用于確定所要求保護(hù)的主題的范圍??商峁┮曨l會議速率匹配。視頻會議服務(wù)器可從視頻會議的客戶端處接收到視頻源流。該服務(wù)器可分析每個(gè)客戶端的能力并基于它們的能力選擇視頻流來發(fā)送給每個(gè)客戶端。比如,能夠編碼和解碼高清晰度視頻流的客戶端可能提供三個(gè)源視頻流——高清晰度流、中等清晰度流和低清晰度流。該服務(wù)器可僅發(fā)送低分辨率流給具有低可用帶寬量的客戶端。該服務(wù)器可將中等清晰度流發(fā)送給另一客戶端,該另一客戶端具有用于高清晰度流的足夠的帶寬但缺乏編碼高清晰度流的能力。上述簡要描述和接下來的詳細(xì)描述提供了示例且僅作為說明性的。因此,上述簡要描述和接下來的詳細(xì)描述不應(yīng)該被視為限制性的。此外,除了此處所闡明的那些之外還可提供其他特征或變型。例如,各實(shí)施例可涉及在詳細(xì)描述中描述的各種特征組合和子組
I=I O
相應(yīng)附圖,其被并入本文并組成本公開的一部分,示出本發(fā)明的各種實(shí)施例。在這些附圖中圖1是操作環(huán)境的框圖;圖2A-2C是例示使用不同幀類型的的視頻流編碼算法的示圖;圖3例示視頻會議速率匹配的示圖;圖4是用于 在視頻會議中提供速率匹配的方法的流程圖;圖5是用于在圖4所述方法中為客戶端選擇數(shù)據(jù)流的子程序的流程圖;以及圖6是包括計(jì)算設(shè)備的系統(tǒng)的框圖。具體實(shí)施 方式以下詳細(xì)描述參考各附圖。只要可能,就在附圖和以下描述中使用相同的附圖標(biāo)記來指示相同或類似的元件。盡管可能描述了本發(fā)明的各實(shí)施例,但是修改、改編和其他實(shí)現(xiàn)也是可能的。例如,可對附圖中所示出的元件進(jìn)行置換、添加、或修改,并且可通過對所公開的方法置換、重新排序、或添加階段來修改此處所描述的方法。因此,以下詳細(xì)描述并不限制本發(fā)明。相反,本發(fā)明的正確范圍由所附權(quán)利要求書定義。提供了視頻會議速率匹配。根據(jù)本發(fā)明的實(shí)施例,可使用多比特率(MBR)方案來將與客戶端接收和處理數(shù)據(jù)的能力相一致的數(shù)據(jù)流送給客戶端。圖1是操作環(huán)境的框圖。該操作系統(tǒng)含有視頻會議環(huán)境100。視頻會議環(huán)境100 可包括經(jīng)由內(nèi)聯(lián)網(wǎng)網(wǎng)絡(luò)連接115所連接的內(nèi)聯(lián)網(wǎng)客戶端110和視頻會議服務(wù)器120。視頻會議環(huán)境100可以進(jìn)一步包括第一因特網(wǎng)客戶端130、第二因特網(wǎng)客戶端140、和第三因特網(wǎng)客戶端150。因特網(wǎng)客戶端的每一個(gè)可能經(jīng)由因特網(wǎng)160與視頻會議服務(wù)器120連接。 根據(jù)本發(fā)明的實(shí)施例,視頻會議服務(wù)器120、內(nèi)聯(lián)網(wǎng)客戶端110、第一因特網(wǎng)客戶端130、第二因特網(wǎng)客戶端140和第三因特網(wǎng)客戶端150可各自包括計(jì)算設(shè)備600——在下文參照圖 6更詳細(xì)描述。當(dāng)多個(gè)客戶端想要在彼此之間共享數(shù)據(jù)流的時(shí)候可以使用視頻會議環(huán)境100。每個(gè)客戶端可以連接到視頻會議服務(wù)器120。視頻會議服務(wù)器120可以維持關(guān)于哪些客戶端被連接以及每個(gè)客戶端的能力是什么的列表。根據(jù)本發(fā)明的實(shí)施例,視頻會議服務(wù)器120 可以定期更新客戶端能力的任何變化。比如,視頻會議服務(wù)器120可以分析內(nèi)聯(lián)網(wǎng)網(wǎng)絡(luò)連接115并確定內(nèi)聯(lián)網(wǎng)客戶端110可具有比以前確定的更多的帶寬可用。視頻會議服務(wù)器 120可以存儲用于助益數(shù)據(jù)共享的信息。視頻會議服務(wù)器120可以負(fù)責(zé)確定哪些客戶端可負(fù)責(zé)將數(shù)據(jù)流送到視頻會議服務(wù)器120,以及將數(shù)據(jù)流送出至每個(gè)連接的客戶端。每個(gè)客戶端可以對至少一個(gè)數(shù)據(jù)流編碼,以發(fā)送到視頻會議服務(wù)器120。比如,每個(gè)客戶端可能具有音頻/視頻輸入,諸如連接到客戶端的網(wǎng)絡(luò)攝像頭和/或麥克風(fēng)。輸入可用于生成視頻流(可能包括音頻)并在將該視頻流送至視頻會議服務(wù)器120之前對其進(jìn)行編碼。視頻會議服務(wù)器120可能從每一個(gè)客戶端接收到編碼流并決定哪些視頻流中繼到每個(gè)客戶端。比如,內(nèi)聯(lián)網(wǎng)客戶端110可能將視頻流編碼為包含人物實(shí)時(shí)講話的一系列視頻幀。視頻會議服務(wù)器120可能將該展示當(dāng)前講話者的編碼流從內(nèi)聯(lián)網(wǎng)客戶端110傳送到第一因特網(wǎng)客戶端130、第二因特網(wǎng)客戶端140和第三因特網(wǎng)客戶端150。視頻會議服務(wù)器 120可將編碼源流從第一因特網(wǎng)客戶端130、第二因特網(wǎng)客戶端140和第三因特網(wǎng)客戶端 150中的每一個(gè)傳送到內(nèi)聯(lián)網(wǎng)客戶端110以展示觀眾成員。圖2A-2C為圖示使用不同幀類型的視頻流編碼算法。視頻流可以被編碼為一系列視頻幀,其中每個(gè)幀可能包含單個(gè)圖像。每個(gè)幀可以用數(shù)比特?cái)?shù)據(jù)來表示。該視頻流可被編碼,以使得并不是每個(gè)幀中的每個(gè)比特?cái)?shù)據(jù)都需要被傳送來表示視頻流的源。不同的幀類型可以被用于編碼和/或壓縮視頻流。幀類型可能包含I-幀、P-幀和B-幀。I-幀表示幀內(nèi)幀,并且可包括可通過其自身解碼而不需要參考視頻流內(nèi)的其他幀的幀。P-幀代表預(yù)測幀,并且可通過參考視頻流序列內(nèi)的至少一個(gè)先前幀來解碼。B-幀代表雙向預(yù)測幀,并且可通過參考視頻流內(nèi)至少一個(gè)先前幀和至少一個(gè)后繼幀來解碼。圖2A包括I (內(nèi)幀幀)幀210。I-幀210可能不需要參考其他幀就能編碼,且可不依賴于任何其他幀而被解碼。I-幀能容許視頻流中的隨機(jī)訪問。I-幀可能在大小上是最大的幀且被最少地壓縮。圖2B包括P (預(yù)測)幀230。P-幀230可通過將先前幀220作為參考來編碼并只能在先前幀220可用的情況下才被正確地解碼。P幀230可以比I幀210更小且更被壓縮。 先前幀220可能包括I-幀和/或P-幀。圖2C包括B (雙向)幀250。B-幀250可通過使用來自先前幀240和下一幀260 的信息來編碼。如果先前幀240與下一幀260可用,則B-幀250可被正確地解碼。B幀250 可以比P-幀230和I-幀210更小且更被壓縮。通過使用不同的幀類型來編碼視頻流可以利用其中兩個(gè)相繼幀之間有大量相似度的源,以便減少需要被傳送到觀看客戶端的數(shù)據(jù)量。比如,內(nèi)聯(lián)網(wǎng)客戶端110可以編碼并傳輸站在靜態(tài)背景前講話的人的視頻流。由于講話的人不會移動很厲害,因此視頻流可以 P-幀來編碼,從而P-幀230可以僅包含代表與先前幀220相比的圖像中的變化的比特?cái)?shù)據(jù)。圖3是示出視頻會議速率匹配的示圖。如上參考圖1所述,視頻會議系統(tǒng)100可包含內(nèi)聯(lián)網(wǎng)客戶端110、視頻會議服務(wù)器120、第一因特網(wǎng)客戶端130和第二因特網(wǎng)客戶端 140。根據(jù)本發(fā)明的實(shí)施例,視頻會議系統(tǒng)100中的客戶端可能與不同的帶寬和/或不同的視頻編碼和/或解碼能力有關(guān)。視頻會議系統(tǒng)100中的每個(gè)客戶端可以向視頻會議服務(wù)器120注冊并建立至少一個(gè)能力,諸如可用帶寬、最大編碼分辨率、最大解碼分辨率和可用數(shù)據(jù)編碼和/或解碼算法。比如,內(nèi)聯(lián)網(wǎng)客戶端110可向視頻會議服務(wù)器120注冊并建立 2Mbps的可用帶寬,該可用帶寬具有在30fps下以VGA(640x480)分辨率編碼/解碼視頻流, 以及在15fps下以CIF (320x240)分辨率編碼/解碼視頻流的能力。第一因特網(wǎng)客戶端130 可向視頻會議服務(wù)器120注冊并建立150Kbps的可用帶寬,該可用帶寬具有在30fps下以 720p (1280x720)分辨率編碼/解碼視頻流,在30fps下以VGA (640x480)分辨率編碼/解碼視頻流,以及在15fps下以CIF(320x240)分辨率編碼/解碼視頻流的能力。第二因特網(wǎng)客戶端140可向視頻會議服務(wù)器120注冊并建立200Kbps的可用帶寬,該可用帶寬具有僅在 15fps下以CIF (320x240)分辨率編碼/解碼視頻流的能力。根據(jù)本發(fā)明的實(shí)施例,客戶端可能能夠編碼視頻流,他們可能不能解碼,反之亦然。比如,第二因特網(wǎng)客戶端140可能能夠接收并解碼VGA分辨率視頻流,但可能僅能可以編碼CIF視頻流。在這種情況下,內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130可能僅在VGA 分辨率下編碼單個(gè)視頻流,視頻會議服務(wù)器120可能將此視頻流傳送給第二因特網(wǎng)服務(wù)器 140。來自第二因特網(wǎng)服務(wù)器140的經(jīng)CIF分辨率編碼的視頻流可以繼續(xù)被傳送到以內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130。在視頻會議呼叫建立以及向視頻會議服務(wù)器120注冊每個(gè)客戶端的能力之后,視頻會議服務(wù)器120可能向彼此傳達(dá)編碼要求。比如,內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130可能被要求各自編碼兩個(gè)視頻流并將它們傳送給視頻會議服務(wù)器120-視頻流的第一版本可通過30fps下的VGA分辨率來編碼而視頻流的第二版本可通過15fps下的CIF分辨率來編碼。第二因特網(wǎng)服務(wù)器140可被要求通過15fps下的CIF分辨率來編碼一個(gè)視頻流。然后,視頻會議服務(wù)器120可能從每個(gè)客戶端接收到這些流,并基于每個(gè)客戶端注冊的和/或確定的能力,比如確定每個(gè)客戶端能解碼哪種編碼算法,來選擇至少一個(gè)接收到的視頻流來傳送到每個(gè)客戶端。比如,視頻會議服務(wù)器120能確定第二因特網(wǎng)客戶端 140只能解碼CIF分辨率視頻流,而內(nèi)聯(lián)網(wǎng)客戶端和第一因特網(wǎng)客戶端既能解碼VGA分辨率視頻流,也能解碼CIF分辨率視頻流。然后,視頻會議服務(wù)器120可以將從第二因特網(wǎng)客戶端140接收到的CIF視頻流傳送到內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130。視頻會議服務(wù)器120可以將從內(nèi)聯(lián)網(wǎng)客戶端110處接收到的VGA分辨率視頻流傳送給第一因特網(wǎng)客戶端,以及將來自內(nèi)聯(lián)網(wǎng)客戶端110的CIF流傳送給第二因特網(wǎng)客戶端140。類似地,視頻會議服務(wù)器120可以將來自第一因特網(wǎng)客戶端130的VGA分辨率視頻流發(fā)送到內(nèi)聯(lián)網(wǎng)客戶端110,以及將來自第一因特網(wǎng)客戶端130的CIF分辨率視頻流傳送給第二因特網(wǎng)客戶端 140。 視頻會議服務(wù)器120可以確定是否每個(gè)客戶端具有足夠的帶寬來接收視頻流,并且可以基于以上確定來選擇不同的流。根據(jù)本發(fā)明的進(jìn)一步實(shí)施例,視頻會議服務(wù)器120 和/或客戶端之一(諸如第一因特網(wǎng)客戶端130)可以定期重新評估可用帶寬的量。比如, 視頻會議服務(wù)器120可確定第一因特網(wǎng)客戶端130可用的帶寬從150Kbps下降到75Kbps, 并可以開始將來自內(nèi)聯(lián)網(wǎng)客戶端110的CIF分辨率視頻流而非VGA分辨率視頻流傳送給第一因特網(wǎng)客戶端130。視頻會議服務(wù)器120還可以定期地重新評估每個(gè)客戶端的編碼/解碼能力,并動態(tài)地改變每個(gè)客戶端的視頻流所要求的編碼算法。比如,第二因特網(wǎng)客戶端140可能是從內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130處接收CIF分辨率視頻流的唯一客戶端。如果第二客戶端140掉出視頻會議呼叫,則視頻會議服務(wù)器120可請求內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端停止編碼和傳送它們相應(yīng)視頻流的CIF分辨率版本。根據(jù)本發(fā)明的實(shí)施例,視頻會議服務(wù)器120可能指令與視頻會議呼叫相關(guān)的至少一個(gè)客戶端來編碼被確定為將由與視頻會議呼叫相關(guān)的其它客戶端使用的視頻流。比如, 視頻會議服務(wù)器120可以確定第二因特網(wǎng)客戶端140目前正在使用CIF編碼;視頻會議服務(wù)器120可以指令第一因特網(wǎng)客戶端130來編碼CIF分辨率流來傳送給視頻會議服務(wù)器 120,該CIF視頻流可被中繼給第二因特網(wǎng)服務(wù)器140。進(jìn)一步根據(jù)本發(fā)明的實(shí)施例,視頻會議服務(wù)器120可以在將視頻流發(fā)送給客戶端之前改變該視頻流。比如,內(nèi)聯(lián)網(wǎng)客戶端110能夠編碼并傳送720p、VGA和CIF分辨率下的視頻流,且具有大而穩(wěn)定的可用帶寬。第一因特網(wǎng)客戶端130可能能夠接收并編碼720p、 VGA和CIF分辨率下的視頻流,但是具有高度可變的可用帶寬量。當(dāng)?shù)谝灰蛱鼐W(wǎng)客戶端130 的可用帶寬減少時(shí),視頻會議服務(wù)器120可以將從內(nèi)聯(lián)網(wǎng)客戶端110中繼到第一因特網(wǎng)客戶端130的視頻流改變?yōu)樽钸m用于可用的帶寬量。比如,從最高的可用帶寬量到最低的可用帶寬量,視頻會議服務(wù)器可以使用以下邏輯1.傳送未經(jīng)改變的720p流,2.丟掉720p流的1個(gè)B幀,3.丟掉720p流的2個(gè)B幀,4.發(fā)送未經(jīng)改變的VGA流,
5.丟掉VGA流的1個(gè)B幀,6.丟掉VGA流的2個(gè)B幀,7.發(fā)送未經(jīng)改變的CIF流,8.丟掉CIF流的1個(gè)B幀,9.丟掉CIF流的2個(gè)B幀, 10.丟掉720p流的所有B幀和P幀(僅保留I幀),11.丟掉VGA流的所有B幀和P幀(僅保留I幀),以及12.丟掉CIF流的所有B幀和P幀(僅保留I幀)。發(fā)送給每個(gè)客戶端的流的選擇可取決于每個(gè)客戶端的觀看偏好以及客戶端的能力。比如,第一因特網(wǎng)客戶端130可以被配置為同時(shí)并排地觀看視頻會議系統(tǒng)100中的另外兩個(gè)參與者,而第二因特網(wǎng)客戶端140可以被配置為僅示出當(dāng)前演講者。在這個(gè)例子中, 視頻會議服務(wù)器可以將來自內(nèi)聯(lián)網(wǎng)客戶端110的VGA分辨率視頻流、以及來自第二因特網(wǎng)客戶端140的CIF分辨率視頻流發(fā)送給第一因特網(wǎng)客戶端130。當(dāng)這些客戶端均在視頻會議呼叫中講話時(shí),第二因特網(wǎng)客戶端140可以替換地從內(nèi)聯(lián)網(wǎng)客戶端110和第一因特網(wǎng)客戶端130處接收CIF分辨率視頻流。圖4是闡述根據(jù)本發(fā)明的實(shí)施例的方法400中涉及的一般階段的流程圖,該方法 400提供視頻會議速率匹配。方法400可以用以下參照圖6更詳細(xì)描述的計(jì)算設(shè)備600來實(shí)現(xiàn)。實(shí)現(xiàn)方法600的階段的方式將會在下文更詳細(xì)地描述。方法400可以始于起始框 410,并繼續(xù)到階段420,在那里計(jì)算設(shè)備600可注冊至少一個(gè)客戶端。比如,至少一個(gè)客戶端可以經(jīng)由網(wǎng)絡(luò)連接可操作地連接到計(jì)算設(shè)備600,且可請求參與由計(jì)算設(shè)備600主存的視頻會議呼叫。從階段420開始,方法400可以繼續(xù)到階段430,在那里計(jì)算設(shè)備600可以收集和 /或分析每個(gè)注冊的客戶端。比如,計(jì)算設(shè)備600可以確定每個(gè)客戶端可用的帶寬量。計(jì)算設(shè)備600還可以確定每個(gè)客戶端的數(shù)據(jù)處理能力,諸如視頻編碼和/或解碼能力和/或數(shù)據(jù)處理速度。視頻編碼和/或解碼能力可包括最大分辨率。從階段430開始,方法400可以繼續(xù)到階段440,在那里計(jì)算設(shè)備600從至少一個(gè)客戶端接收數(shù)據(jù)流。比如,計(jì)算設(shè)備600可以從源客戶端接收視頻流。每個(gè)客戶端可發(fā)送至少一個(gè)流,且每個(gè)客戶端可以操作地發(fā)送數(shù)據(jù)流的多個(gè)版本,諸如不同分辨率的視頻流。從階段440,方法400可以繼續(xù)到子程序450,在那里計(jì)算設(shè)備600可選擇數(shù)據(jù)流以傳送到至少一個(gè)客戶端。比如,計(jì)算設(shè)備600可以確定一個(gè)客戶端沒有足夠的帶寬來從第二客戶端處接收高分辨率版本的視頻流,且計(jì)算設(shè)備600可以選擇低分辨率版本的視頻流來傳送。關(guān)于子程序450的進(jìn)一步細(xì)節(jié)將會參考圖5在下文詳細(xì)描述。從子程序450開始,方法400可以繼續(xù)到階段460,在那里計(jì)算設(shè)備600可以將所選的流傳送到客戶端。比如,計(jì)算設(shè)備600可以通過網(wǎng)絡(luò)連接將接收自一個(gè)客戶端的視頻流中繼到第二客戶端。
從階段460開始,方法400可以繼續(xù)到階段470,在那里計(jì)算設(shè)備600可以確定客戶端的能力是否已經(jīng)改變。如果計(jì)算設(shè)備600確定客戶端的能力和/或系統(tǒng)的需求發(fā)生了變化,則方法400可返回子程序450,在那里計(jì)算設(shè)備600可能選擇不同版本的流來發(fā)送給客戶端。比如,計(jì)算設(shè)備600可以確定在視頻會議呼叫中僅有的使用CIF解碼的客戶端已經(jīng)脫離。然后,計(jì)算設(shè)備600可以要求視頻會議呼叫中的任何其他客戶端停止發(fā)送CIF編碼流。根據(jù)本發(fā)明的實(shí)施例,客戶端的可用帶寬可能降低,且客戶端可能將這件事通知計(jì)算設(shè)備600。計(jì)算設(shè)備600可能為這個(gè)客戶端選擇較低分辨率數(shù)據(jù)流和/或改變這個(gè)客戶端的當(dāng)前所選的數(shù)據(jù)流,以計(jì)及降低的帶寬。從階段470開始,方法400可能在階段480處結(jié)束。圖5是圖4所示方法中所用的用于為客戶端選擇數(shù)據(jù)流的子程序的流程圖。從階段440開始,計(jì)算設(shè)備600可以在階段510處進(jìn)入子程序450,在那里計(jì)算設(shè)備600可以收集至少一個(gè)客戶端的編碼和/或解碼能力。該至少一個(gè)客戶端可以包括諸如內(nèi)聯(lián)網(wǎng)客戶端 110之類的另一計(jì)算設(shè)備618。比如,計(jì)算設(shè)備600可以確定內(nèi)聯(lián)網(wǎng)客戶端110能在VGA和 CIF分辨率下編碼,以及在720p、VGA和CIF分辨率下解碼。從階段510開始,子程序450可以繼續(xù)到階段520,在那里計(jì)算設(shè)備600可以確定至少一個(gè)客戶端的可用帶寬量。比如,計(jì)算設(shè)備600可以確定內(nèi)聯(lián)網(wǎng)客戶端110具有 400Kbps可用來發(fā)送數(shù)據(jù)流,以及750Kbps可用來接收數(shù)據(jù)流。從階段520,子程序450可以繼續(xù)到階段530,在那里計(jì)算設(shè)備600可以選擇可用于客戶端的最高分辨率數(shù)據(jù)流。比如,第一因特網(wǎng)客戶端可傳送三個(gè)數(shù)據(jù)流給計(jì)算設(shè)備 600 :720p分辨率視頻流、VGA分辨率視頻流和CIF分辨率視頻流。計(jì)算設(shè)備可以首先選擇 720p分辨率視頻流來發(fā)送給內(nèi)聯(lián)網(wǎng)客戶端110。
從階段530開始,子程序450可以繼續(xù)到階段540,在那里計(jì)算設(shè)備600可以確定客戶端是否能夠處理所選數(shù)據(jù)流。比如,計(jì)算設(shè)備600可以確定內(nèi)聯(lián)網(wǎng)客戶端110能夠解碼所選擇的720p分辨率視頻流。在階段540,如果計(jì)算設(shè)備600確定客戶端不能處理所選視頻流,則子程序540可以返回階段530,在那里計(jì)算設(shè)備600可以選擇替換數(shù)據(jù)流,諸如 720p分辨率視頻流的VGA分辨率版本。在階段540,如果計(jì)算設(shè)備600確定客戶端能夠處理所選流,則子程序450可以繼續(xù)到階段550,在那里計(jì)算設(shè)備600可以確定客戶端是否具有足夠的帶寬可用于接收所選數(shù)據(jù)流,而沒有實(shí)質(zhì)的性能降級。比如,計(jì)算設(shè)備600可以確定客戶端具有700Kbps的可用帶寬,且其是足以實(shí)時(shí)接收并回放720p分辨率視頻流而在視頻中沒有任何跳躍和/或暫停的帶寬。如果在階段550計(jì)算設(shè)備600確定客戶端具有足夠帶寬用于所選流,則子程序450 會返回到方法400的階段460。在階段550,如果計(jì)算設(shè)備確定客戶端沒有足夠帶寬來接收并處理所選流,則子程序450可以繼續(xù)到階段560,在那里計(jì)算設(shè)備600可以在傳送流到客戶端之前改變所選流。 比如,計(jì)算設(shè)備600可以從視頻流中每秒移除至少一個(gè)B-幀來減少要傳送到客戶端的數(shù)據(jù)量。子程序450可以繼續(xù)到階段570,在那里計(jì)算設(shè)備600可以確定客戶端是否具有足夠帶寬來接收經(jīng)改變的數(shù)據(jù)流。如果客戶端仍然沒有足夠帶寬來接收經(jīng)改變的數(shù)據(jù)流,則子程序450可以返回階段530,在那里計(jì)算設(shè)備600可以選擇替換的數(shù)據(jù)流,諸如720p分辨率視頻流的VGA分辨率版本。根據(jù)本發(fā)明的實(shí)施例,計(jì)算設(shè)備60可以移除附加幀和/或移除不同類型的幀并在返回階段530之前確定帶寬限制是否得到了滿足。在階段550,如果計(jì)算設(shè)備確定客戶端有足夠的帶寬來接收并處理經(jīng)改變的數(shù)據(jù)流,則子程序450可以返回方法 400的階段460。根據(jù)本發(fā)明的實(shí)施例可以包括用于向多個(gè)客戶端提供數(shù)據(jù)的系統(tǒng)。該系統(tǒng)可包括存儲器存儲和耦合至該存 儲器存儲的處理單元。該處理單元可以可操作地接收數(shù)據(jù)流、分析與多個(gè)客戶端中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力、基于所分析的能力來選擇要發(fā)送給客戶端的數(shù)據(jù)流、以及將所選數(shù)據(jù)流傳送給客戶端。比如,數(shù)據(jù)流可是是視頻會議數(shù)據(jù)流, 且每個(gè)流可以與多個(gè)客戶端中的至少一個(gè)相關(guān)聯(lián)??蛻舳酥械闹辽僖粋€(gè)可以發(fā)送包括不同版本的數(shù)據(jù)流一諸如不同分辨率的視頻流一的多個(gè)數(shù)據(jù)流??蛻舳丝梢越?jīng)由諸如公司內(nèi)聯(lián)網(wǎng)和/或因特網(wǎng)之類的通信介質(zhì)來連接至系統(tǒng)。該系統(tǒng)可以操作地分析與多個(gè)客戶端中的至少一個(gè)相關(guān)聯(lián)的通信介質(zhì)的可用帶寬。該系統(tǒng)可以操作地分析與多個(gè)客戶端中的至少一個(gè)相關(guān)聯(lián)的數(shù)據(jù)處理能力,諸如視頻編碼和/或視頻解碼能力。該系統(tǒng)可以確定給定客戶端是否有能力解碼可用數(shù)據(jù)流,以及客戶端是否能按另一客戶端要求的算法編碼數(shù)據(jù)流。根據(jù)本發(fā)明另一個(gè)實(shí)施例可以包括用于向多個(gè)客戶端提供視頻流的系統(tǒng)。該系統(tǒng)可包括存儲器存儲和耦合至該存儲器存儲的處理單元。該處理單元可以操作地從多個(gè)客戶端中的每一個(gè)接收至少一個(gè)數(shù)據(jù)流、收集與多個(gè)客戶端中的每一個(gè)相關(guān)聯(lián)的視頻會議能力、根據(jù)所收集的與多個(gè)客戶端中的每一個(gè)相關(guān)聯(lián)的視頻會議能力來選擇要發(fā)送給多個(gè)客戶端中的每一個(gè)的至少一個(gè)數(shù)據(jù)流、以及將所選至少一個(gè)視頻流發(fā)送給多個(gè)客戶端中的每一個(gè)。該系統(tǒng)可以操作地從多個(gè)客戶端中的至少一個(gè)處接收至少一個(gè)第一視頻流和至少一個(gè)第二視頻流,其中至少一個(gè)第一視頻流包括至少一個(gè)第二視頻流的更高分辨率版本。比如,至少一個(gè)第一視頻流可包括在1280x720和/或640x480分辨率下編碼的視頻流,而至少一個(gè)第二視頻流可包括在320x240分辨率下編碼的視頻流。該系統(tǒng)可以進(jìn)一步操作地確定多個(gè)客戶端中的至少一個(gè)客戶端是否具有足夠的帶寬來接收包含至少一個(gè)第一視頻流的所有幀。響應(yīng)于確定多個(gè)客戶端中的至少一個(gè)客戶端具有足夠的帶寬來接收包含至少一個(gè)第一視頻流的所有幀,該系統(tǒng)可以將該至少一個(gè)第一視頻流不變地(unaltered)地發(fā)送給多個(gè)客戶端中的至少一個(gè)客戶端。如果多個(gè)客戶端中的至少一個(gè)客戶端沒有足夠的帶寬來接收包含至少一個(gè)第一視頻流的所有幀,則該系統(tǒng)可將至少一個(gè)第二較低分辨率視頻流發(fā)送給多個(gè)客戶端中的至少一個(gè)客戶端。根據(jù)本發(fā)明的實(shí)施例,如果多個(gè)客戶端中的至少一個(gè)客戶端沒有足夠的帶寬來接收包含至少一個(gè)第一視頻流的所有幀,則該系統(tǒng)可以在將至少一個(gè)第一視頻流發(fā)送給多個(gè)客戶端中的至少一個(gè)客戶端之前從視頻流中每秒移除至少一個(gè)幀。該系統(tǒng)可以操作地為多個(gè)客戶端中的每一個(gè)客戶端確定至少一個(gè)正在使用的視頻解碼算法和至少一個(gè)可用視頻編碼算法。該系統(tǒng)可以指令多個(gè)客戶端中的至少一個(gè)客戶端來關(guān)于與多個(gè)客戶端中的每一個(gè)相關(guān)聯(lián)的、被確定為正被多個(gè)客戶端中的至少一個(gè)使用的至少一個(gè)視頻編碼算法來編碼至少一個(gè)視頻流。比如,如果一個(gè)客戶端當(dāng)前使用CIF解碼來接收并處理視頻流,則該系統(tǒng)可以請求具有CIF編碼能力的至少一個(gè)其他客戶端來編碼并發(fā)送CIF編碼的視頻流到系統(tǒng)來中繼給CIF解碼客戶端。根據(jù)本發(fā)明的又一個(gè)實(shí)施例可包括用于提供視頻會議中的速率匹配的系統(tǒng)。該系統(tǒng)包括存儲器存儲和耦合至該存儲器存儲的處理單元。該處理單元可以操作地注冊經(jīng)由網(wǎng)絡(luò)連接設(shè)備操作地連接至系統(tǒng)的至少一個(gè)第一視頻會議客戶端和至少一個(gè)第二視頻會議客戶端、從至少一個(gè)第一視頻會議客戶端處接收多個(gè)視頻流、基于所確立的所述至少一個(gè)第二視頻會議客戶端的至少一個(gè)能力來確定至少一個(gè)第二視頻會議客戶端是否可接收至少一個(gè)第一視頻流,以及響應(yīng)于確定至少一個(gè)第二視頻會議客戶端可接收至少一個(gè)第一視頻流,在不需要系統(tǒng)解碼至少一個(gè)第一視頻流的情況下將至少一個(gè)第一視頻流發(fā)送給所述至少一個(gè)第二視頻會議客戶端。該系統(tǒng)可以操作地確立至少一個(gè)第一視頻會議客戶端和至少一個(gè)第二視頻會議客戶端的至少一個(gè)能力,其中該至少一個(gè)能力包括以下中的至少一個(gè)可用帶寬、最大編碼分辨率、以及最大解碼分辨率。多個(gè)視頻流可以包括至少一個(gè)第一視頻流和至少一個(gè)第二視頻流,其中至少一個(gè)第一視頻流包括高于至少一個(gè)第二視頻流的分辨率視頻流。該系統(tǒng)可以操作地確定至少一個(gè)第一視頻會議客戶端是否可解碼至少一個(gè)第一視頻流。根據(jù)本發(fā)明的實(shí)施例,該系統(tǒng)可以操作地確定至少一個(gè)第二視頻會議客戶端是否具有足夠的可用帶寬來在不從至少一個(gè)第一視頻流中丟棄至少一個(gè)B-幀的情況下接收所述至少一個(gè)第一視頻流。圖6是包括計(jì)算設(shè)備600的系統(tǒng)的框圖。根據(jù)本發(fā)明的一個(gè)實(shí)施例,上述存儲器存儲和處理單元可在諸如圖6的計(jì)算設(shè)備600的計(jì)算設(shè)備中實(shí)現(xiàn)。可使用硬件、軟件、或固件的任何合適的組合來實(shí)現(xiàn)該存儲器存儲和處理單元。例如,存儲器存儲和處理單元可用計(jì)算設(shè)備600或結(jié)合計(jì)算設(shè)備600的任何其他計(jì)算設(shè)備618來實(shí)現(xiàn)。根據(jù)本發(fā)明的各實(shí)施例,上述系統(tǒng)、設(shè)備和處理器是示例,而其他系統(tǒng)、設(shè)備和處理器可包括上述存儲器存儲和處理單元。此外,計(jì)算設(shè)備600可包括用于上述系統(tǒng)100的操作環(huán)境。系統(tǒng)100可以在其他環(huán)境中操作并且不限于計(jì)算設(shè)備600。參考圖6,根據(jù)本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)可包括諸如計(jì)算設(shè)備600的計(jì)算設(shè)備。 在基本配置 中,計(jì)算設(shè)備600可包括至少一個(gè)處理單元602和系統(tǒng)存儲器604。取決于計(jì)算設(shè)備的配置和類型,系統(tǒng)存儲器604可包括,但不限于,易失性存儲器(例如,隨機(jī)存取存儲器(RAM))、非易失性存儲器(例如,只讀存儲器(ROM))、閃存、或任何組合。系統(tǒng)存儲器 604可包括操作系統(tǒng)605、一個(gè)或多個(gè)編程模塊606,且可包括帶寬測量程序607。例如,操作系統(tǒng)605可適用于控制計(jì)算設(shè)備600的操作。在一個(gè)實(shí)施例中,編程模塊606可包括例如數(shù)據(jù)分析模塊和/或視頻會議服務(wù)器620。此外,本發(fā)明的各實(shí)施例可結(jié)合圖形庫、其他操作系統(tǒng)、或任何其他應(yīng)用程序來實(shí)踐,并且不限于任何特定應(yīng)用或系統(tǒng)。該基本配置在圖 6中由虛線608內(nèi)的那些組件示出。計(jì)算設(shè)備600可具有附加特征或功能。例如,計(jì)算設(shè)備600還可包括附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),諸如例如磁盤、光盤、或磁帶。這些附加存儲在圖6中由可移動存儲609和不可移動存儲610示出。計(jì)算機(jī)存儲介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)的信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器604、可移動存儲609和不可移動存儲610都是計(jì)算機(jī)存儲介質(zhì)(即,存儲器存儲)的示例。計(jì)算機(jī)存儲介質(zhì)可包括,但不限于,RAM、ROM、 電可擦除只讀存儲器(EEPROM)、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備、或可用于存儲信息并且可由計(jì)算設(shè)備600訪問的任何其它介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)可以是設(shè)備600的一部分。計(jì)算設(shè)備600還可具有諸如鍵盤、鼠標(biāo)、筆、聲音輸入設(shè)備、觸摸輸入設(shè)備等輸入設(shè)備612。還可包括諸如顯示器、揚(yáng)聲器、打印機(jī)等輸出設(shè)備614。上述設(shè)備是示例并且可使用其他設(shè)備。計(jì)算設(shè)備600還可包含可允許設(shè)備600諸如通過例如內(nèi)聯(lián)網(wǎng)或因特網(wǎng)的分布式計(jì)算環(huán)境中的網(wǎng)絡(luò)來與其他計(jì)算設(shè)備618通信的通信連接616。通信連接616是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常由諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)來體現(xiàn),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”可描述具有以對該信號中的信息編碼的方式設(shè)定或者改變的一個(gè)或多個(gè)特征的信號。作為示例而非限制,通信介質(zhì)可包括諸如有線網(wǎng)絡(luò)或直接線連接的有線介質(zhì),以及諸如聲學(xué)、射頻(RF)、紅外線和其他無線介質(zhì)的無線介質(zhì)。如此處所使用的術(shù)語“計(jì)算機(jī)可讀介質(zhì)“可以包括存儲介質(zhì)和通信介質(zhì)兩者。如上所述,多個(gè)程序模塊和數(shù)據(jù)文件可存儲在包括操作系統(tǒng)605的系統(tǒng)存儲器 604中。當(dāng)在處理單元602上執(zhí)行時(shí),編程模塊606 (例如,視頻會議服務(wù)器620)可執(zhí)行各過程,包括例如,如上所述的方法400的各階段中的一個(gè)或多個(gè)。前述過程是示例,并且處理單元602可執(zhí)行其他過程。根據(jù)本發(fā)明的各實(shí)施例可使用的其他編程模塊可包括電子郵件和聯(lián)系人應(yīng)用、文字處理應(yīng)用、電子表格應(yīng)用、數(shù)據(jù)庫應(yīng)用、幻燈片演示應(yīng)用、繪圖或計(jì)算機(jī)輔助應(yīng)用程序等。一般而言,根據(jù)本發(fā)明的各實(shí)施例,程序模塊可包括可執(zhí)行特定任務(wù)或可實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本發(fā)明的各實(shí)施例可用其他計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費(fèi)電子產(chǎn)品、小型機(jī)、大型計(jì)算機(jī)等。本發(fā)明的各實(shí)施例也可在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)踐。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備兩者中。此外,本發(fā)明的各實(shí)施例可在包括分立電子元件的電路、包含邏輯門的封裝或集成電子芯片、利用微處理器的電路中,或在包含電子元件或微處理器的單個(gè)芯片上實(shí)踐。本發(fā)明的各實(shí)施例還可使用能夠執(zhí)行諸如,例如,AND(與)、0R(或)和NOT(非)的邏輯運(yùn)算的其他技術(shù)來實(shí)踐,包括但不限于,機(jī)械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的各實(shí)施例可在通用計(jì)算機(jī)或任何其他電路或系統(tǒng)內(nèi)實(shí)踐。例如,本發(fā)明的各實(shí)施例可被實(shí)現(xiàn)為計(jì)算機(jī)過程(方法)、計(jì)算系統(tǒng)、或諸如計(jì)算機(jī)程序產(chǎn)品或計(jì)算機(jī)可讀介質(zhì)的制品。計(jì)算機(jī)程序產(chǎn)品可以是計(jì)算機(jī)系統(tǒng)可讀并且對用于執(zhí)行計(jì)算機(jī)過程的指令的計(jì)算機(jī)程序編碼的計(jì)算機(jī)存儲介質(zhì)。計(jì)算機(jī)程序產(chǎn)品還可以是計(jì)算系統(tǒng)可讀并且對用于執(zhí)行計(jì)算機(jī)過程的指令的計(jì)算機(jī)程序編碼的載體上的傳播信號。因此,本發(fā)明可在硬件和/或軟件(包括固件、常駐軟件、微碼等)中體現(xiàn)。換言之,本發(fā)明的各實(shí)施例可采用其上包含在供指令執(zhí)行系統(tǒng)使用或結(jié)合其使用的介質(zhì)中的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式。計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是可包含、存儲、通信、傳播、或傳輸程序供指令執(zhí)行系統(tǒng)、裝置、或設(shè)備使用或結(jié)合其使用的任何介質(zhì)。計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是,例如,但不限于,電、磁、光、 電磁、紅外、 或半導(dǎo)體系統(tǒng)、裝置、設(shè)備、或傳播介質(zhì)。更具體的計(jì)算機(jī)可讀介質(zhì)示例(非窮盡列表),計(jì)算機(jī)可讀介質(zhì)可包括以下具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M或閃存)、光纖、以及便攜式壓縮盤只讀存儲器(CD-ROM)。注意,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)甚至可以是其上打印程序的紙張或另一合適的介質(zhì),因?yàn)槌绦蚩山?jīng)由例如對紙張或其他介質(zhì)的光學(xué)掃描而電子地捕獲,隨后如有必要被編譯、解釋,或以其他合適的方式處理,并且隨后存儲在計(jì)算機(jī)存儲器中。以上參考根據(jù)本發(fā)明的各實(shí)施例的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的框圖和/或操作圖示描述了本發(fā)明的各實(shí)施例??蛑兴⒚鞯母鞴δ?動作可按不同于任何流程圖所示的次序出現(xiàn)。例如,取決于所涉及的功能/動作,連續(xù)示出的兩個(gè)框?qū)嶋H上可基本上同時(shí)執(zhí)行,或者這些框有時(shí)可按相反的次序來執(zhí)行。盡管描述了本發(fā)明的某些實(shí)施例,但是可存在其他實(shí)施例。此外,雖然本發(fā)明的各實(shí)施例被描述為與存儲在存儲器和其他存儲介質(zhì)中的數(shù)據(jù)相關(guān)聯(lián),但數(shù)據(jù)還可存儲在或讀取自其他類型的計(jì)算機(jī)可讀介質(zhì),諸如輔助存儲設(shè)備,像硬盤、軟盤、或CD-ROM,來自因特網(wǎng)的載波,或其他形式的RAM或ROM。此外,所公開的各方法的各階段可以任何方式來修改,包括通過對各階段重新排序和/或插入或刪除各階段,而不背離本發(fā)明。包括此處所包括的代碼中的版權(quán)在內(nèi)的所有權(quán)利都?xì)w屬于申請人并且是本申請人的財(cái)產(chǎn)。申請人保持并且保留此處所包括的代碼中的所有權(quán)利,并且授予僅關(guān)于所授權(quán)的專利的再現(xiàn)且未出于其他目的再現(xiàn)該材料的許可。 雖然本說明書包括各示例,但本發(fā)明的范圍由所附權(quán)利要求書來指示。雖然本說明書包括各示例,但本發(fā)明的范圍由所附權(quán)利要求書來指示。相反,上述具體特征和動作是作為本發(fā)明的各實(shí)施例的示例來公開的。
權(quán)利要求
1.一種用于向多個(gè)客戶端110,130,140,150提供數(shù)據(jù)的方法,所述方法包括接收440多個(gè)數(shù)據(jù)流310,320,330 ;分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力;基于所分析的至少一個(gè)能力來選擇450多個(gè)數(shù)據(jù)流310,320,330中的至少一個(gè)來發(fā)送給多個(gè)客戶端110,130,140,150中的至少一個(gè);以及將多個(gè)數(shù)據(jù)流310,320,330中所選的至少一個(gè)發(fā)送460給多個(gè)客戶端110,130,140, 150中的至少一個(gè)。
2.如權(quán)利要求1所述的方法,其特征在于,分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力包括分析與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)通信介質(zhì)的帶寬。
3.如權(quán)利要求2所述的方法,其特征在于,與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的所述至少一個(gè)通信介質(zhì)包括以下中的至少一個(gè)內(nèi)聯(lián)網(wǎng)和因特網(wǎng)160。
4.如權(quán)利要求1所述的方法,其特征在于,分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力包括分析與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的數(shù)據(jù)處理能力。
5.如權(quán)利要求1所述的方法,其特征在于,分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力包括確定510至少一個(gè)視頻解碼能力。
6.如權(quán)利要求1所述的方法,其特征在于,多個(gè)客戶端110,130,140,150中的至少一個(gè)與多個(gè)數(shù)據(jù)流310,320,330相關(guān)聯(lián),并且其中多個(gè)數(shù)據(jù)流310,320,330中的至少一個(gè)第一數(shù)據(jù)流包括多個(gè)數(shù)據(jù)流310,320,330中的至少一個(gè)第二數(shù)據(jù)流的較高分辨率版本。
7.如權(quán)利要求6所述的方法,其特征在于,分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力包括確定540多個(gè)客戶端110,130,140,150中的至少一個(gè)第二客戶端是否能解碼所述至少一個(gè)第一數(shù)據(jù)流。
8.如權(quán)利要求6所述的方法,其特征在于,分析430與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)能力包括確定550多個(gè)客戶端110,130,140,150中的至少一個(gè)第二客戶端是否具有足夠的帶寬來接收所述至少一個(gè)第一數(shù)據(jù)流。
9.一種存儲指令集的計(jì)算機(jī)可讀介質(zhì),所述指令集在被執(zhí)行時(shí)執(zhí)行用于向多個(gè)客戶端 110,130,140,150提供視頻流310,320,330的方法,所述方法由所述指令集來執(zhí)行,所述方法包括從多個(gè)客戶端110,130,140,150中的每一個(gè)接收440至少一個(gè)視頻流;收集430與多個(gè)客戶端110,130,140,150中的每一個(gè)相關(guān)聯(lián)的視頻會議能力;根據(jù)所收集的與多個(gè)客戶端110,130,140,150中的每一個(gè)相關(guān)聯(lián)的視頻會議能力來選擇450至少一個(gè)視頻流來發(fā)送給多個(gè)客戶端110,130,140,150中的每一個(gè);以及將所選至少一個(gè)視頻流來發(fā)送460給多個(gè)客戶端110,130,140,150中的每一個(gè)。
10.如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括從多個(gè)客戶端110, 130,140,150中的至少一個(gè)處接收440至少一個(gè)第一視頻流和至少一個(gè)第二視頻流,其中所述至少一個(gè)第一視頻流包括所述至少一個(gè)第二視頻流的較高分辨率版本。
11.如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括確定550多個(gè)客戶端110,130,140,150中的至少一個(gè)是否具有足夠的帶寬來接收包括至少一個(gè)第一視頻流的所有幀;以及響應(yīng)于確定多個(gè)客戶端110,130,140,150中的至少一個(gè)具有足夠的帶寬來接收包括所述至少一個(gè)視頻流的所有幀,將所述至少一個(gè)視頻流不變地發(fā)送給多個(gè)客戶端110,130, 140,150中的至少一個(gè)。
12.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括響應(yīng)于確定多個(gè)客戶端110,130,140,150中的至少一個(gè)不具有足夠的帶寬來接收包括所述至少一個(gè)第一視頻流的所有幀,將至少一個(gè)第二視頻流發(fā)送給多個(gè)客戶端110,130, 140,150中的至少一個(gè),其中所述至少一個(gè)第二視頻流包括所述至少一個(gè)第一視頻流的較低分辨率版本。
13.如權(quán)利要求11所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括響應(yīng)于確定多個(gè)客戶端110,130,140,150中的至少一個(gè)不具有足夠的帶寬來接收包括所述至少一個(gè)第一視頻流的所有幀,在將所述至少一個(gè)第一視頻流發(fā)送給多個(gè)客戶端 110,130,140,150中的至少一個(gè)之前,從視頻流每秒移除560至少一個(gè)幀。
14.如權(quán)利要求9所述的計(jì)算機(jī)可讀介質(zhì),其特征在于,進(jìn)一步包括為多個(gè)客戶端110,130,140,150中的至少一個(gè)確定至少一個(gè)正在使用的視頻解碼算法;為多個(gè)客戶端110,130,140,150中的至少一個(gè)確定與多個(gè)客戶端110,130,140,150中的至少一個(gè)相關(guān)聯(lián)的至少一個(gè)視頻編碼算法;以及指令多個(gè)客戶端110,130,140,150中的至少一個(gè)關(guān)于與多個(gè)客戶端110,130,140,150 中的至少一個(gè)相關(guān)聯(lián)的視頻編碼算法來編碼至少一個(gè)視頻流,所述視頻編碼算法被確定為正被多個(gè)客戶端110,130,140,150中的至少一個(gè)所使用。
15.一種用于提供視頻會議中的速率匹配的系統(tǒng),所述系統(tǒng)包括存儲器存儲;網(wǎng)絡(luò)連接設(shè)備;以及耦合至所述存儲器存儲的處理單元,其中所述處理單元操作用于注冊420經(jīng)由所述網(wǎng)絡(luò)連接設(shè)備連接到所述系統(tǒng)的至少一個(gè)第一視頻會議客戶端和至少一個(gè)第二視頻會議客戶端,其中操作地注冊所述至少一個(gè)第一視頻會議客戶端和所述至少一個(gè)第二視頻會議客戶端包括操作地確立430所述至少一個(gè)第一視頻會議客戶端和所述至少一個(gè)第二視頻會議客戶端的至少一個(gè)能力,其中所述至少一個(gè)能力包括以下中的至少一個(gè)可用帶寬、最大編碼分辨率和最大解碼分辨率;從所述至少一個(gè)第一視頻會議客戶端處接收440多個(gè)視頻流310,320,330,其中多個(gè)視頻流310,320, 330包括至少一個(gè)第一視頻流和至少一個(gè)第二視頻流,其中所述至少一個(gè)第一視頻流包括比所述至少一個(gè)第二視頻流更高的分辨率視頻流;基于所確立的至少一個(gè)第二視頻會議客戶端的至少一個(gè)能力來確定450所述至少一個(gè)第二視頻會議客戶端是否能接收所述至少一個(gè)第一視頻流,其中操作地確定所述至少一個(gè)第二視頻會議客戶端能接收所述至少一個(gè)第一視頻流包括操作地確定以下中的至少一個(gè)所述至少一個(gè)第二視頻會議客戶端是否能解碼所述至少一個(gè)第一視頻流,以及所述至少一個(gè)第二視頻會議客戶端是否具有足夠的帶寬可用于在不從所述至少一個(gè)第一視頻流中丟棄至少一個(gè)B-幀的情況下來接收所述至少一個(gè)第一視頻流;響應(yīng)于確定所述至少一個(gè)第二視頻會議客戶端能接收所述至少一個(gè)第一視頻流,在無需所述系統(tǒng)解碼所述至少一個(gè)第一視頻流的情況下將至少一個(gè)第一視頻流發(fā)送460給所述至少一個(gè)第二視頻會 議客戶端。
全文摘要
可提供視頻會議速率匹配。視頻會議服務(wù)器可能從視頻會議中的客戶端處接收到視頻源。該服務(wù)器可以分析每個(gè)客戶端的能力并基于它們的能力來選擇視頻流來傳送到每個(gè)客戶端。比如,能夠編碼與解碼高分辨率視頻流的客戶端可以提供三個(gè)源視頻流——高分辨率流、中等分辨率流和低分辨率流。該服務(wù)器可以僅傳送低分辨率流給具有低可用帶寬量的客戶端。該服務(wù)器可以將中等分辨率流傳送給另一客戶端,該另一客戶端具有足夠的帶寬量來接收高分辨率流,但缺乏解碼高分辨率流的能力。
文檔編號H04N7/15GK102246521SQ200980151554
公開日2011年11月16日 申請日期2009年11月9日 優(yōu)先權(quán)日2008年12月15日
發(fā)明者M·韓, M-C·李, T·摩爾 申請人:微軟公司