欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

計算每個流的可用帶寬和比特流協(xié)調(diào)的發(fā)送多數(shù)據(jù)流的數(shù)據(jù)通信方法和系統(tǒng)的制作方法

文檔序號:7742503閱讀:426來源:國知局
專利名稱:計算每個流的可用帶寬和比特流協(xié)調(diào)的發(fā)送多數(shù)據(jù)流的數(shù)據(jù)通信方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于數(shù)據(jù)通信的方法和系統(tǒng),更具體而言,涉及一種用于通過網(wǎng)絡(luò)發(fā)送多個數(shù)據(jù)流的方法和系統(tǒng),以及一種用于接收上述所發(fā)送的數(shù)據(jù)的方法和系統(tǒng)。此外,本發(fā)明還涉及一種存儲計算機(jī)程序的計算機(jī)可讀存儲介質(zhì),當(dāng)該計算機(jī)程序在計算機(jī)上運(yùn)行時,其控制計算機(jī)執(zhí)行前述的數(shù)據(jù)發(fā)送和接收方法。
背景技術(shù)
近年來用于數(shù)據(jù)通信的電信網(wǎng)在數(shù)量、范圍、和用戶數(shù)量上已經(jīng)有了極大的增加。先前,在這種電信網(wǎng)上進(jìn)行的大部分?jǐn)?shù)據(jù)通信的一個特征是這些數(shù)據(jù)基本上是“基于消息”的?!盎谙ⅰ钡囊馑际悄切┰诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)形成了例如電子郵件消息、在傳送過程中的文件、或在客戶機(jī)-服務(wù)器系統(tǒng)之間傳遞的其他應(yīng)用數(shù)據(jù)的一部分。這種“基于消息”的數(shù)據(jù)的一個主要特征是它不是特別地時間關(guān)鍵性的,時間關(guān)鍵性是指為了使數(shù)據(jù)有用,數(shù)據(jù)必須在某個傳輸時間內(nèi)到達(dá)接收機(jī)終端。相反地,倘若數(shù)據(jù)在一個合理的時間量內(nèi)到達(dá)了接收機(jī),則其仍然是對最終用戶有用的。先前巳知的這種“基于消息”的數(shù)據(jù)的實(shí)例例如是標(biāo)準(zhǔn)電子郵件和使用文件傳送協(xié)議(FTP)傳送的文件。
新近,注意力已經(jīng)從數(shù)據(jù)通信網(wǎng)發(fā)送傳統(tǒng)的基于消息的數(shù)據(jù)的能力轉(zhuǎn)移到了能夠以連續(xù)數(shù)據(jù)流從發(fā)射機(jī)向接收機(jī)發(fā)送數(shù)據(jù)的網(wǎng)絡(luò)和相關(guān)設(shè)備。這種數(shù)據(jù)的價值常常是時間關(guān)鍵性,因?yàn)榫W(wǎng)絡(luò)必須盡可能平滑和快速地把數(shù)據(jù)從發(fā)射機(jī)傳送至接收機(jī)終端,最好避免重發(fā)數(shù)據(jù)的需要。接下來根據(jù)圖1描述在現(xiàn)有技術(shù)中巳知的這種數(shù)據(jù)流式傳輸系統(tǒng)的一個實(shí)例。
通常,將被流式傳輸?shù)臄?shù)據(jù)是多媒體數(shù)據(jù),諸如音頻和視頻數(shù)據(jù)。該音頻和視頻數(shù)據(jù)可能來自實(shí)況視聽廣播,諸如新聞或體育事件,或者可能來源于,例如,當(dāng)用戶選擇時允許他們根據(jù)他們的選擇觀看電視節(jié)目和電影的視頻點(diǎn)播服務(wù)。然而,無論該數(shù)據(jù)的來源是什么,相應(yīng)的音頻和視頻饋送數(shù)據(jù)必須首先被適當(dāng)?shù)剡M(jìn)行數(shù)字編碼,以便將該音頻和視頻數(shù)據(jù)信號壓縮成一個適合于在網(wǎng)絡(luò)上傳輸?shù)拇笮?。通常,依照不同的MPEG標(biāo)準(zhǔn)的其中之一來執(zhí)行音頻和視頻編碼。
在對音頻和視頻數(shù)據(jù)編碼之后,將已編碼的數(shù)據(jù)傳遞到網(wǎng)絡(luò)服務(wù)器,在網(wǎng)絡(luò)服務(wù)器中,數(shù)據(jù)在通過網(wǎng)絡(luò)傳輸至客戶機(jī)之前被存儲在獨(dú)立的音頻緩沖器和視頻緩沖器中。
在進(jìn)行緩沖之后,如下述更詳細(xì)的論述,數(shù)據(jù)通過網(wǎng)絡(luò)被發(fā)送,并且由接收機(jī)接收,其中該數(shù)據(jù)在解碼之前被緩沖。在接收機(jī)中由一個適當(dāng)?shù)慕獯a器執(zhí)行解碼,并且將所解碼的數(shù)據(jù)發(fā)送給在該接收機(jī)上運(yùn)行的應(yīng)用程序用以再現(xiàn)。
當(dāng)前使用的最普遍的網(wǎng)絡(luò)類型中的一種當(dāng)然是那些構(gòu)成因特網(wǎng)的網(wǎng)絡(luò),并且其使用網(wǎng)際協(xié)議(IP)在網(wǎng)絡(luò)的網(wǎng)絡(luò)層以IP數(shù)據(jù)報的形式傳送數(shù)據(jù)。由傳送層協(xié)議(傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報協(xié)議(UDP))提供通過網(wǎng)絡(luò)層的數(shù)據(jù)傳送。TCP和UDP都是本領(lǐng)域中已知的,并且在例如Tannenbaum A.S.,“計算機(jī)網(wǎng)絡(luò)”第三版,Prentice Hall,PP521-542頁中有所描述。
UDP已經(jīng)被經(jīng)常用于通過網(wǎng)絡(luò)的流式數(shù)據(jù)服務(wù),并且尤其是用于流式音頻和視頻數(shù)據(jù)。然而,UDP是一種無連接傳輸協(xié)議,并因此不提供服務(wù)質(zhì)量控制機(jī)制,也不能夠允許為一個用戶保證特別的服務(wù)質(zhì)量。此外,將UDP用于流式數(shù)據(jù)導(dǎo)致了其它的問題,因?yàn)樗偸且韵嗤膫鬏斔俾拾l(fā)送出數(shù)據(jù),而不考慮網(wǎng)絡(luò)擁塞狀態(tài),這很容易導(dǎo)致分組丟失,并由此丟失數(shù)據(jù)。也就是說,當(dāng)對流式數(shù)據(jù)使用UDP時,那么如果發(fā)生網(wǎng)絡(luò)擁塞,則UDP繼續(xù)以相同的傳輸速率發(fā)送數(shù)據(jù)分組,從而助長了該網(wǎng)絡(luò)擁塞。在沒有用于減輕網(wǎng)絡(luò)擁塞的機(jī)制的最壞情況下,結(jié)果可能是丟失多數(shù)或全部數(shù)據(jù)流分組。
通過使用TCP作為網(wǎng)絡(luò)傳輸協(xié)議可以略微緩解上述與使用UDP進(jìn)行流式數(shù)據(jù)傳輸相關(guān)聯(lián)的問題。TCP是一種面向連接的協(xié)議,其把分組確認(rèn)提供至發(fā)送終端,該發(fā)送終端允許對數(shù)據(jù)的傳輸速率增加控制量。更特別地,TCP包括一個解決網(wǎng)絡(luò)擁塞的傳輸速率控制算法,如在上述536至539頁描述的。TCP傳輸控制算法是已知的“加法的-增加-乘法的-減少(additive-increase-multiplicative-decrease)”類型的算法,其中一旦達(dá)到基本的閾值傳輸速率,則傳輸速率以一種加法方式,逐個分組地增加,直到發(fā)生分組丟失為止,于是傳輸速率隨后以一種乘法的方式減少,例如,將傳輸速率減半。因此當(dāng)發(fā)生分組丟失時,TCP傳輸速率算法通過減少數(shù)據(jù)流的傳輸速率來考慮網(wǎng)絡(luò)擁塞,但是減少的乘法性意味著通過網(wǎng)絡(luò)的數(shù)據(jù)吞吐量的變化會是相當(dāng)高的。圖2圖解說明了一個使用TCP的數(shù)據(jù)吞吐量的實(shí)例,由此將領(lǐng)會到數(shù)據(jù)傳輸速率可以相對于時間產(chǎn)生相當(dāng)大的變化。使用TCP時在傳輸速率中相對高的變化量意味著它不是特別地適合于流式數(shù)據(jù)應(yīng)用,其中,優(yōu)選的是相對于時間平滑變化的穩(wěn)定狀態(tài)傳輸速率。
當(dāng)將要同時發(fā)送兩個或更多包含相關(guān)數(shù)據(jù)(諸如音頻和視頻數(shù)據(jù))的數(shù)據(jù)流時,與對流式數(shù)據(jù)使用TCP導(dǎo)致的數(shù)據(jù)傳輸速率的頻繁變化相關(guān)的問題更加復(fù)雜化。在這種情況下,當(dāng)使用TCP并且以在獨(dú)立的數(shù)據(jù)流中傳輸音頻和視頻數(shù)據(jù)作為例子,由于音頻流是通過與視頻流分離的TCP連接發(fā)送的,于是每個相應(yīng)的連接將應(yīng)用它自己的傳輸速率控制算法,而不考慮另一個流的傳輸速率。最終的結(jié)果是,經(jīng)過一段時間,通過網(wǎng)絡(luò)的音頻流的數(shù)據(jù)吞吐量變得基本上與視頻流的相同,然而實(shí)際上對于大多數(shù)的視聽源來說,通常每單位時間發(fā)送的視頻數(shù)據(jù)比音頻數(shù)據(jù)要多得多。通過TCP如此獲得的在音頻流與視頻流之間的傳輸速率相等可以在接收機(jī)中具有這樣的效果,即,影響數(shù)據(jù)的適當(dāng)再現(xiàn),由于因?yàn)檫@兩個類型的數(shù)據(jù)不是分別以與音頻數(shù)據(jù)和視頻數(shù)據(jù)的產(chǎn)生比率相匹配的速率發(fā)送的,通常有足夠的音頻數(shù)據(jù)存儲在接收機(jī)音頻緩沖器中用于由視聽?wèi)?yīng)用程序再現(xiàn),但是同時在接收機(jī)視頻緩沖器中沒有如音頻數(shù)據(jù)一樣足夠的視頻數(shù)據(jù)用于再現(xiàn)。
由于對每個相應(yīng)的流應(yīng)用各自的傳輸速率控制算法,尤其是由于標(biāo)準(zhǔn)TCP傳輸速率控制算法的乘法性減少的性質(zhì),產(chǎn)生了進(jìn)一步的問題。考慮獨(dú)立于視頻流通過TCP連接發(fā)送音頻流,而其中視頻流也使用TCP發(fā)送的情況。通常,如先前所解釋的,每個連接的平均吞吐量將基本相同,但是由于當(dāng)在其中一個流中出現(xiàn)分組丟失時,傳輸速率會乘法性地減小,在任何特定的時刻在兩個流各自的傳輸速率之間實(shí)際上可能存在很大的差異。這些在兩個流之間的傳輸速率的潛在大的短期變化向數(shù)據(jù)傳輸引入了不確定性,并可能導(dǎo)致接收機(jī)中數(shù)據(jù)緩沖器的問題,因?yàn)槌霈F(xiàn)臨時的大的差異時,音頻緩沖器例如可能充滿并溢出從而丟失數(shù)據(jù),但是相應(yīng)的視頻緩沖器可能已經(jīng)被清空,由此阻止了AV再現(xiàn)的發(fā)生。此外,在這些流之間數(shù)據(jù)傳輸速率的潛在臨時性大差異可能經(jīng)常擾亂這兩種類型的數(shù)據(jù)適當(dāng)再現(xiàn)所需的傳輸速率比率,從而導(dǎo)致類似于如先前所解釋的后續(xù)解碼再現(xiàn)的問題。
先前已經(jīng)通過對每個流使用無連接UDP協(xié)議,并且簡單地以合適的傳輸速率發(fā)送每個流以保持這些流之間正確的數(shù)據(jù)比率,解決了由于對多個數(shù)據(jù)流應(yīng)用TCP傳輸速率控制算法而導(dǎo)致的上述問題。但是,如先前所討論的,UDP沒有考慮網(wǎng)絡(luò)擁塞和其后的由于這種擁塞而引起的數(shù)據(jù)丟失來控制傳輸速率。因此,仍然需要一種能夠保持每個流的數(shù)據(jù)正確比率和傳輸速率穩(wěn)定性的傳輸速率控制方法和系統(tǒng),該方法和系統(tǒng)同時還考慮到由網(wǎng)絡(luò)擁塞引起的問題。

發(fā)明內(nèi)容
本發(fā)明通過提供一種數(shù)據(jù)傳輸方法和系統(tǒng)解決上述問題,在該方法和系統(tǒng)中網(wǎng)絡(luò)服務(wù)器使用一個考慮了不同的因素(例如可能的網(wǎng)絡(luò)擁塞)而導(dǎo)出的傳輸速率公式,計算可用于多個數(shù)據(jù)流傳輸?shù)目倐鬏斔俾?。該服?wù)器隨后以相應(yīng)的數(shù)據(jù)傳輸比特率發(fā)送多個數(shù)據(jù)流,控制這些流的各自的數(shù)據(jù)傳輸速率,以使得比特率的總和小于或等于所計算的總的可用速率,同時通過在多個流之間協(xié)調(diào)比特率,維持在這些流之間適當(dāng)?shù)膫鬏斔俾省_@具有為每個數(shù)據(jù)流提供平滑穩(wěn)定狀態(tài)傳輸速率同時在每一個流中維持將要發(fā)送的不同類型數(shù)據(jù)的適當(dāng)比率的效果。
鑒于上述目的,根據(jù)本發(fā)明的第一方面,提供了一種通過網(wǎng)絡(luò)傳輸數(shù)據(jù)方法,包括以下步驟使用一個傳輸速率公式計算用于數(shù)據(jù)傳輸?shù)目倐鬏斔俾?;以至少兩個獨(dú)立的數(shù)據(jù)流的形式把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)以傳送到接收機(jī),每一個數(shù)據(jù)流以各自的數(shù)據(jù)傳輸比特率發(fā)送數(shù)據(jù);以及控制數(shù)據(jù)流的至少一個子集的相應(yīng)數(shù)據(jù)傳輸速率,以在所述流之間協(xié)調(diào)比特率;其中每個數(shù)據(jù)流的相應(yīng)傳輸速率的總和基本上等于或小于所計算的總傳輸速率。
根據(jù)本發(fā)明的第二方面,還提供了一種用于通過網(wǎng)絡(luò)傳輸數(shù)據(jù)的系統(tǒng),包括傳輸速率計算裝置,用于使用一個傳輸速率公式來計算數(shù)據(jù)傳輸?shù)目倐鬏斔俾?;?shù)據(jù)流傳輸裝置,用于以至少兩個獨(dú)立的數(shù)據(jù)流的形式把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)以傳送到接收機(jī),每一個數(shù)據(jù)流以各自的數(shù)據(jù)傳輸比特率發(fā)送數(shù)據(jù);以及數(shù)據(jù)流控制裝置,用于控制數(shù)據(jù)流的至少一個子集的相應(yīng)數(shù)據(jù)傳輸速率,以在所述流之間協(xié)調(diào)比特率;其中該數(shù)據(jù)流控制裝置可進(jìn)一步操作以將每一個數(shù)據(jù)流的相應(yīng)傳輸速率的總和控制得基本上等于或小于所計算的總傳輸速率。
通過使用一個用于計算可用的總傳輸速率的傳輸速率公式,本發(fā)明提供的優(yōu)點(diǎn)在于在為多個數(shù)據(jù)流計算總的可用帶寬時,可以考慮網(wǎng)絡(luò)擁塞和由此導(dǎo)致的分組丟失。此外,通過把每一個數(shù)據(jù)流的相應(yīng)傳輸速率控制在所計算的總的可用帶寬內(nèi),通過在所計算的總的可用帶寬內(nèi)協(xié)調(diào)各個流之間的比特率,可以控制在每一個流中發(fā)送的數(shù)據(jù)比率。這具有以適于在每一個流之間保持?jǐn)?shù)據(jù)比率的速率來提供每一個數(shù)據(jù)流的平滑穩(wěn)定狀態(tài)傳輸速率的效果。
優(yōu)選地,每一個數(shù)據(jù)流中的數(shù)據(jù)是相關(guān)的,因?yàn)?,例如,可能希望同時在接收機(jī)再現(xiàn)或使用該數(shù)據(jù)。在優(yōu)選實(shí)施例中,其中一個流中的數(shù)據(jù)是音頻數(shù)據(jù),而另一個流中的數(shù)據(jù)是視頻數(shù)據(jù)。
此外,優(yōu)選地控制這些數(shù)據(jù)流的數(shù)據(jù)傳輸速率,以便防止接收機(jī)中的數(shù)據(jù)緩沖器以一個過大的速率進(jìn)行填充,所述接收機(jī)接收數(shù)據(jù)流中的數(shù)據(jù)。通過以這種方式控制相應(yīng)的傳輸速率,可以防止接收機(jī)中的數(shù)據(jù)緩沖器溢出而導(dǎo)致數(shù)據(jù)丟失。
此外,優(yōu)選地,本發(fā)明進(jìn)一步被設(shè)置為從接收機(jī)接收反饋數(shù)據(jù),該反饋數(shù)據(jù)至少表示接收機(jī)接收的每一個流中所發(fā)送的數(shù)據(jù)的解碼速率,并且隨后響應(yīng)于至少作為接收機(jī)解碼速率的函數(shù)的所接收數(shù)據(jù),控制各個數(shù)據(jù)流的至少一個子集的數(shù)據(jù)傳輸速率。通過從接收機(jī)接收這種信息,可以進(jìn)一步動態(tài)控制每一個流各自的傳輸速率,不僅為了保持穩(wěn)定狀態(tài)傳輸速率和保持相應(yīng)的數(shù)據(jù)比率,而且為了遠(yuǎn)程控制接收機(jī)終端中的數(shù)據(jù)緩沖器的狀態(tài),以便保證沒有因緩沖器溢出而丟失分組。
在優(yōu)選實(shí)施例中,計算總傳輸速率以給出通過網(wǎng)絡(luò)的平均數(shù)據(jù)吞吐量,該數(shù)據(jù)吞吐量近似于使用傳輸控制協(xié)議而獲得的吞吐量,這具有以下優(yōu)點(diǎn),即本發(fā)明變得TCP友好(TCP-friendly),因?yàn)樗档土朔纸M丟失比率并改善了帶寬的利用,以及對網(wǎng)絡(luò)上競爭TCP連接的公平性。
優(yōu)選地,本發(fā)明可進(jìn)一步被設(shè)置為從所述接收機(jī)中接收反饋數(shù)據(jù),該反饋數(shù)據(jù)表示往返時間(RTT)、丟失率值、和/或接收機(jī)的接收速率值中的一個或更多個,此外還計算作為由反饋數(shù)據(jù)所指示的一個或更多個所接收的值的函數(shù)的總傳輸速率。往返時間是數(shù)據(jù)從發(fā)射機(jī)傳送到接收機(jī)并返回到發(fā)射機(jī)所需時間的度量,而丟失率值是網(wǎng)絡(luò)中所丟失的要發(fā)送到接收機(jī)的數(shù)據(jù)量的度量。接收速率值是在往返時間內(nèi)由接收機(jī)接收到的比特數(shù)。
通過提供從接收機(jī)到服務(wù)器的反饋,可以向服務(wù)器提供最新信息,該信息例如表示網(wǎng)絡(luò)上導(dǎo)致分組丟失的擁塞情況。服務(wù)器則能夠根據(jù)網(wǎng)絡(luò)的當(dāng)前狀態(tài),計算總的可用傳輸速率,從而優(yōu)化傳輸流的傳輸速率。
此外,根據(jù)本發(fā)明的第三方面,進(jìn)一步提供了一種存儲計算機(jī)程序的計算機(jī)可讀存儲介質(zhì),當(dāng)該計算機(jī)程序在計算機(jī)上運(yùn)行時,其控制該計算機(jī)執(zhí)行根據(jù)本發(fā)明第一方面的方法。
優(yōu)選地,該計算機(jī)可讀存儲介質(zhì)可以是光盤、磁盤、磁光盤、固態(tài)計算機(jī)存儲器、或任何其它適合的數(shù)據(jù)存儲介質(zhì)中的任何一種。
根據(jù)本發(fā)明的第四方面,還提供了從網(wǎng)絡(luò)接收數(shù)據(jù)的方法,該數(shù)據(jù)已經(jīng)根據(jù)本發(fā)明的第一或第二方面發(fā)送,該方法包括以下步驟接收至少兩個獨(dú)立的數(shù)據(jù)流,所述每一個數(shù)據(jù)流以各自的數(shù)據(jù)傳輸速率傳輸;將每一個流中所接收的數(shù)據(jù)傳遞到各自的數(shù)據(jù)緩沖器,以在其中進(jìn)行緩沖;計算表示所接收數(shù)據(jù)的一個或更多個特征的一個或更多個數(shù)量值;以及將所計算的數(shù)量值發(fā)送到發(fā)射機(jī),以用于計算從那里發(fā)送的數(shù)據(jù)的總傳輸速率。
通過發(fā)送表示所接收數(shù)據(jù)的特征的數(shù)量值,可以考慮當(dāng)前的網(wǎng)絡(luò)狀態(tài),更精確地計算發(fā)射機(jī)的可用于傳輸?shù)目倐鬏斔俾省?br> 優(yōu)選地,在第四方面中,本發(fā)明被進(jìn)一步設(shè)置為在每一個緩沖器中以各自的解碼速率對數(shù)據(jù)進(jìn)行解碼,其中將各自的數(shù)據(jù)解碼速率作為所計算的數(shù)量值中的至少一個發(fā)送到發(fā)射機(jī)。
通過把每一個接收機(jī)緩沖器中的數(shù)據(jù)解碼速率是多少傳送到發(fā)射機(jī),發(fā)射機(jī)可以進(jìn)一步控制每一個流的數(shù)據(jù)傳輸速率,以保證在該接收機(jī)中的數(shù)據(jù)緩沖器不被填滿,因此數(shù)據(jù)不會因此而丟失。
根據(jù)本發(fā)明的第五方面,還提供了一種用于從網(wǎng)絡(luò)接收數(shù)據(jù)的系統(tǒng),該數(shù)據(jù)已經(jīng)根據(jù)本發(fā)明的第一或第二方面發(fā)送,該系統(tǒng)包括數(shù)據(jù)接收裝置,用于接收至少兩個獨(dú)立的數(shù)據(jù)流,所述每一個數(shù)據(jù)流以各自的數(shù)據(jù)傳輸速率傳輸;至少兩個數(shù)據(jù)緩沖器,這些數(shù)據(jù)緩沖器被設(shè)置為從各自接收的數(shù)據(jù)流中接收數(shù)據(jù)到其中;計算裝置,用于計算表示所接收數(shù)據(jù)的一個或更多個特征的一個或更多個數(shù)量值;以及數(shù)據(jù)傳輸裝置,用于把所計算的數(shù)量值發(fā)送到發(fā)射機(jī),以用于計算從那里發(fā)送的數(shù)據(jù)的總傳輸速率。
在本發(fā)明的第五方面中,提出了與先前在第四方面所描述的相同的特征和優(yōu)點(diǎn)。
此外,根據(jù)本發(fā)明的第六方面,還提供了一種存儲計算機(jī)程序的計算機(jī)可讀存儲介質(zhì),當(dāng)該計算機(jī)程序在計算機(jī)上運(yùn)行時,其控制該計算機(jī)執(zhí)行根據(jù)本發(fā)明的第四方面的方法。如在第三方面一樣,根據(jù)本發(fā)明第六方面的存儲介質(zhì)可以實(shí)現(xiàn)為磁盤、光盤、磁光盤、固態(tài)計算機(jī)存儲器等中的任何一種或更多種。


通過下列參照附圖僅僅以示例性的方式給出的本發(fā)明優(yōu)選實(shí)施例的描述,本發(fā)明的其它特征和優(yōu)點(diǎn)將變得明顯,附圖中相同的標(biāo)號表示相同的部分,其中圖1是說明現(xiàn)有技術(shù)的多媒體流式系統(tǒng)的單元的示意框圖;圖2是說明使用現(xiàn)有技術(shù)的TCP協(xié)議的網(wǎng)絡(luò)的數(shù)據(jù)吞吐量的圖表;圖3是說明用于本發(fā)明的服務(wù)器和客戶機(jī)設(shè)備的布置的框圖;圖4是用于本發(fā)明實(shí)施例中的服務(wù)器設(shè)備中的主要單元的框圖;圖5是用于本發(fā)明實(shí)施例中的在客戶機(jī)設(shè)備中使用的功能單元的框圖;圖6是由本發(fā)明實(shí)施例中的服務(wù)器設(shè)備執(zhí)行的方法步驟的流程圖;圖7是由用于本發(fā)明實(shí)施例中的客戶機(jī)設(shè)備執(zhí)行的方法步驟的流程圖;圖8是說明用于本發(fā)明實(shí)施例中的丟失事件率(loss event rate)的計算所涉及的步驟的流程圖;圖9是在本發(fā)明實(shí)施例中使用的濾波系數(shù)的圖表;圖10是用于本發(fā)明實(shí)施例中的接收機(jī)設(shè)備中的濾波器單元的框圖;圖11是使用本發(fā)明實(shí)施例實(shí)現(xiàn)的多個數(shù)據(jù)流之一的通過網(wǎng)絡(luò)的數(shù)據(jù)吞吐量的圖表。
具體實(shí)施例方式
現(xiàn)在將參照圖3-11說明構(gòu)成本發(fā)明優(yōu)選實(shí)施例的各種單元的構(gòu)造和操作。應(yīng)當(dāng)注意,這里所說明的優(yōu)選實(shí)施例為本發(fā)明應(yīng)用到例如音頻和視頻數(shù)據(jù)的多媒體數(shù)據(jù)傳輸?shù)姆窍拗菩允纠景l(fā)明可以在幾乎任何通過網(wǎng)絡(luò)發(fā)送多個數(shù)據(jù)流的應(yīng)用中使用。
在圖3中說明了構(gòu)成本發(fā)明優(yōu)選實(shí)施例的兩個基本單元。這里,可以看出,提供了在其中設(shè)置有第一視頻緩沖器42和第二視頻緩沖器43的服務(wù)器40。第一視頻緩沖器42被設(shè)置為存儲已經(jīng)以第一視頻編碼速率進(jìn)行了編碼的編碼視頻數(shù)據(jù),而第二視頻緩沖器43被設(shè)置為存儲已經(jīng)以第二視頻編碼速率編碼的更多的編碼視頻數(shù)據(jù),其中該第二視頻編碼速率低于存儲在第一緩沖器42中的編碼視頻數(shù)據(jù)的編碼速率。應(yīng)當(dāng)注意存儲在兩個緩沖器42和43中的編碼視頻數(shù)據(jù)是從相同的原始視頻數(shù)據(jù)得到的,但是其僅僅是使用不同的編碼速率被編碼,以給出不同的編碼視頻數(shù)據(jù)。通常,由于用于生成存儲在第一緩沖器42中的編碼視頻數(shù)據(jù)的編碼速率更高,所以第一緩沖器42中的編碼視頻數(shù)據(jù)將比相應(yīng)的存儲在第二視頻緩沖器43中的以較低編碼速率編碼的編碼視頻數(shù)據(jù)更大。優(yōu)選地使用H.623編碼對視頻數(shù)據(jù)進(jìn)行編碼,盡管應(yīng)當(dāng)理解可以使用任何適合的視頻編碼技術(shù),例如MPEG等。
在服務(wù)器40中還提供了一個用于存儲編碼音頻數(shù)據(jù)的音頻數(shù)據(jù)緩沖器44。請注意,在優(yōu)選實(shí)施例中僅以單個編碼速率對音頻數(shù)據(jù)進(jìn)行編碼,因此僅需要單個音頻緩沖器。優(yōu)選地,使用AMR音頻編碼對音頻數(shù)據(jù)進(jìn)行編碼,盡管可以使用任何其它適合的音頻編碼技術(shù),例如MP3等。
除了服務(wù)器40之外,在該優(yōu)選實(shí)施例中還提供了一個客戶機(jī)計算機(jī)50,該客戶機(jī)計算機(jī)50包括視頻緩沖器52和音頻緩沖器54。視頻緩沖器52被設(shè)置為接收并存儲從服務(wù)器40接收到的編碼視頻數(shù)據(jù)。視頻緩沖器52存儲所接收的編碼視頻數(shù)據(jù),直到客戶機(jī)計算機(jī)中提供的視頻解碼器從視頻緩沖器52中取出編碼視頻數(shù)據(jù),用于解碼并再現(xiàn)其中被編碼的視頻信號。類似地,音頻緩沖器54接收從服務(wù)器40發(fā)送的編碼音頻數(shù)據(jù),對編碼音頻數(shù)據(jù)進(jìn)行緩沖,直到在客戶機(jī)計算機(jī)中提供的音頻解碼器從音頻緩沖器54中取出編碼音頻數(shù)據(jù),用于解碼并再現(xiàn)其中被編碼的音頻信號。
為了在服務(wù)器計算機(jī)和客戶機(jī)計算機(jī)之間提供數(shù)據(jù)通信,在服務(wù)器40和客戶機(jī)50之間提供第一用戶數(shù)據(jù)報協(xié)議(UDP)連接10,沿著該連接從服務(wù)器40發(fā)送編碼視頻數(shù)據(jù)。類似地,從服務(wù)器40到客戶機(jī)50還提供了第二UDP連接20,沿著該連接發(fā)送編碼音頻數(shù)據(jù)。由服務(wù)器以下面將說明的方式對各個UDP連接10和20的傳輸速率進(jìn)行控制。
除了在服務(wù)器和客戶機(jī)之間的UDP連接之外,為了能夠有效地控制兩個UDP連接10和20的傳輸速率,在優(yōu)選實(shí)施例中在客戶機(jī)和服務(wù)器之間建立傳輸控制協(xié)議(TCP)連接30,以用于主要從客戶機(jī)返回到服務(wù)器的控制消息的傳輸。稍后將討論通過TCP連接從客戶機(jī)發(fā)送到服務(wù)器的反饋數(shù)據(jù)的進(jìn)一步的細(xì)節(jié)。
現(xiàn)在轉(zhuǎn)至圖4,圖4以框圖的形式例示了在本發(fā)明優(yōu)選實(shí)施例中的服務(wù)器計算機(jī)40中所需的單元。應(yīng)當(dāng)注意圖4僅例示了本發(fā)明的操作所必需的那些服務(wù)器組件,而沒有例示服務(wù)器系統(tǒng)操作所需的那些其它單元,應(yīng)當(dāng)理解,預(yù)期的讀者是本領(lǐng)域的技術(shù)人員,他們可以識別出完全的操作需要哪些服務(wù)器系統(tǒng)的附加單元。
在優(yōu)選實(shí)施例中,服務(wù)器計算機(jī)40包括多媒體應(yīng)用控制器41,它被設(shè)置為接收編碼音頻數(shù)據(jù)和編碼視頻數(shù)據(jù),并如先前針對圖3所述的,在緩沖器42,43和44中緩沖接收到的數(shù)據(jù)。請注意為清楚起見,這些緩沖器未在圖4上顯示。多媒體應(yīng)用控制器41通過TCP連接30把控制消息發(fā)送到客戶機(jī)計算機(jī)50,并接收來自客戶機(jī)計算機(jī)50的控制消息。此外,多媒體應(yīng)用控制器從適當(dāng)?shù)木彌_器向網(wǎng)絡(luò)連接模塊47提供編碼視頻數(shù)據(jù)和編碼音頻數(shù)據(jù),該網(wǎng)絡(luò)連接模塊對數(shù)據(jù)進(jìn)行分組化,用于通過網(wǎng)絡(luò)向客戶機(jī)計算機(jī)進(jìn)行傳輸。因此,操作網(wǎng)絡(luò)連接模塊47以從多媒體應(yīng)用控制器接收編碼音頻和視頻數(shù)據(jù),把數(shù)據(jù)分組化成適合傳輸?shù)男问?,并分別以適當(dāng)?shù)陌l(fā)送速率以兩個相應(yīng)的UDP數(shù)據(jù)流將數(shù)據(jù)分組發(fā)送到網(wǎng)絡(luò)上。數(shù)據(jù)流的各個發(fā)送速率由發(fā)送速率計算器46根據(jù)稍后將討論的適合的傳輸速率公式計算。發(fā)送速率計算器46把為音頻和視頻數(shù)據(jù)流計算的發(fā)送速率傳遞到網(wǎng)絡(luò)連接模塊47,以把所計算的傳輸速率通知給網(wǎng)絡(luò)連接模塊47。在優(yōu)選實(shí)施例中,通過從客戶機(jī)計算機(jī)到多媒體應(yīng)用控制器的TCP連接,獲得在發(fā)送速率計算器46中計算的傳輸速率公式的輸入數(shù)據(jù),那些輸入數(shù)據(jù)通過網(wǎng)絡(luò)連接從多媒體應(yīng)用控制器傳遞到發(fā)送速率計算器。
進(jìn)一步提供了網(wǎng)絡(luò)控制器模塊48,以控制網(wǎng)絡(luò)連接47執(zhí)行適當(dāng)?shù)臄?shù)據(jù)分組化過程,以允許將音頻和視頻數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上。
此外,進(jìn)一步提供了作為存儲器等的重傳緩沖器49,其被設(shè)置為從網(wǎng)絡(luò)連接47接收數(shù)據(jù)分組以及適當(dāng)?shù)目刂菩盘?,并且如果網(wǎng)絡(luò)連接47必須重發(fā)緩沖分組時,緩沖其中所接收的數(shù)據(jù)分組。所發(fā)送的數(shù)據(jù)分組的緩沖和重傳與本發(fā)明無關(guān),因此沒有在這里闡述進(jìn)一步的細(xì)節(jié)。
盡管未在圖4中顯示,仍然應(yīng)當(dāng)注意服務(wù)器計算機(jī)40進(jìn)一步包括至少一個計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)存儲用于控制服務(wù)器計算機(jī)的操作以執(zhí)行本發(fā)明的計算機(jī)程序。該計算機(jī)可讀存儲介質(zhì)可以是任何已知的類型,并且特別地可以由光盤、磁盤、磁光盤、固態(tài)計算機(jī)存儲器、或任何其它適合的數(shù)據(jù)存儲介質(zhì)中的任何一個或其組合而形成。
圖5是本發(fā)明優(yōu)選實(shí)施例中所需的客戶機(jī)計算機(jī)50的功能單元的框圖。與服務(wù)器計算機(jī)40的說明相似,應(yīng)當(dāng)理解圖5沒有例示操作客戶機(jī)計算機(jī)50所需的所有單元,而僅例示了本發(fā)明優(yōu)選實(shí)施例的操作所需的那些功能塊單元。作為本領(lǐng)域技術(shù)人員的預(yù)期讀者,應(yīng)當(dāng)理解為了進(jìn)行完整的操作需要客戶機(jī)計算機(jī)的哪些附加單元。
在客戶機(jī)計算機(jī)50中提供了多媒體應(yīng)用控制器51,其對應(yīng)于服務(wù)器中提供的多媒體應(yīng)用控制器41。多媒體應(yīng)用控制器51提供了在客戶機(jī)計算機(jī)50中運(yùn)行的多媒體應(yīng)用的高級控制,并且通過由TCP連接30傳遞的控制消息與服務(wù)器中相應(yīng)的多媒體應(yīng)用控制器41進(jìn)行通信。類似地,多媒體應(yīng)用控制器51向構(gòu)成優(yōu)選實(shí)施例的客戶機(jī)計算機(jī)50的其它功能單元提供控制信號。
在客戶機(jī)計算機(jī)50中進(jìn)一步提供了網(wǎng)絡(luò)連接模塊57,其被設(shè)置為從網(wǎng)絡(luò)接收兩個或更多個數(shù)據(jù)流中的數(shù)據(jù)分組。與接收到的兩個或更多個數(shù)據(jù)流中的數(shù)據(jù)有關(guān)的控制信息被傳遞到用于計算數(shù)量值的量度計算器(metrics calculator)56,這些數(shù)量值表示接收到的數(shù)據(jù)流的某些特征,并且所計算的數(shù)量值被傳遞到反饋發(fā)射機(jī)58,用以作為控制消息通過TCP連接30在網(wǎng)絡(luò)上傳回。稍后將給出有關(guān)數(shù)量值計算的進(jìn)一步信息。
網(wǎng)絡(luò)連接57接收音頻和視頻數(shù)據(jù)流,并從每個流中的分組中提取編碼音頻和視頻數(shù)據(jù)。然后編碼音頻和視頻數(shù)據(jù)被傳遞給緩沖器控制器59,緩沖器控制器59把接收到的編碼音頻數(shù)據(jù)饋送到音頻緩沖器54,并把接收到的編碼視頻數(shù)據(jù)饋送到視頻緩沖器52。緩沖器控制器59進(jìn)一步被設(shè)置為監(jiān)測音頻緩沖器54和視頻緩沖器52的狀態(tài),以確定每個緩沖器有多滿,以及每個緩沖器清空的速率,該速率表示存儲在緩沖器中的數(shù)據(jù)的解碼速率。進(jìn)一步提供了音頻解碼器53,它可從音頻緩沖器54中讀取編碼音頻數(shù)據(jù),并對編碼音頻數(shù)據(jù)進(jìn)行解碼,以提供解碼音頻數(shù)據(jù)作為輸出。類似地,提供了視頻解碼器55,其從視頻緩沖器52取出編碼視頻數(shù)據(jù),并對編碼視頻數(shù)據(jù)進(jìn)行解碼以提供視頻輸出信號。
緩沖器控制器59在接收到與音頻和視頻緩沖器狀態(tài)有關(guān)的信息后,馬上將此信息傳遞到反饋發(fā)射機(jī),用以將其合并到通過TCP連接30傳回服務(wù)器計算機(jī)的控制消息中。
盡管未在圖5中顯示,應(yīng)當(dāng)注意客戶機(jī)計算機(jī)進(jìn)一步包括至少一個計算機(jī)可讀存儲介質(zhì),它存儲用于控制客戶機(jī)計算機(jī)的操作以執(zhí)行本發(fā)明的計算機(jī)程序。該計算機(jī)可讀存儲介質(zhì)可以是任何已知的類型,并特別地可以由光盤、磁盤、磁光盤、固態(tài)計算機(jī)存儲器、或任何其它適合的數(shù)據(jù)存儲介質(zhì)中的任何一種或其組合而形成。
已經(jīng)說明了構(gòu)成本發(fā)明的服務(wù)器設(shè)備和客戶機(jī)計算機(jī)設(shè)備的基本功能塊,現(xiàn)在將說明本發(fā)明優(yōu)選實(shí)施例的操作。
圖6是根據(jù)本發(fā)明優(yōu)選實(shí)施例的由服務(wù)器計算機(jī)40執(zhí)行的步驟的流程圖。首先,在步驟S2,發(fā)送速率計算器46為將要從服務(wù)器計算機(jī)40發(fā)送的所有各個數(shù)據(jù)流計算可用的總帶寬。該值total_rate表示傳輸速率的上限,當(dāng)每個獨(dú)立的數(shù)據(jù)流各自的傳輸速率相加在一起時,不能超過該上限。根據(jù)下列原理計算total_rate值。
典型地,當(dāng)前在互聯(lián)網(wǎng)中使用的先前的多媒體會議應(yīng)用是基于UDP傳輸協(xié)議的,這正如先前討論的,沒有提供服務(wù)質(zhì)量控制機(jī)制,并因此不能夠執(zhí)行諸如對例如網(wǎng)絡(luò)擁塞進(jìn)行補(bǔ)償所需的控制措施。因此,如上所述,當(dāng)出現(xiàn)網(wǎng)絡(luò)擁塞時競爭TCP連接減小它們的傳輸速率,而沒有任何的UDP通信速率減小。
為了避免此問題,在本發(fā)明中,采用擁塞控制方案增強(qiáng)了UDP音頻和視頻數(shù)據(jù)流,total_rate參數(shù)的計算構(gòu)成了該擁塞控制方案的一部分。更特別地,計算該參數(shù)total_rate以提供一個“TCP友好”的總傳輸速率,它是在時間上與通過TCP連接實(shí)現(xiàn)的吞吐量相類似的傳輸速率。
在優(yōu)選實(shí)施例中,使用已經(jīng)導(dǎo)出的傳輸速率公式計算總傳輸速率參數(shù)total_rate,以便對TCP連接在時間上的平均吞吐量建模,并由此計算總速率,以便提供TCP友好的傳輸速率。在優(yōu)選實(shí)施例中,我們使用下面的等式1中說明的傳輸速率公式bit_rate_stream=c(packet_medium_sizeRTTloss_rate)]]>等式1請注意,應(yīng)用到普遍存在的TCP連接的上述等式的來源可參見Floyd S.“在分組交換網(wǎng)絡(luò)中與多個擁塞網(wǎng)關(guān)的連接,第一部分單向通信(Connections with Multiple Congested Gateways in PacketSwitched Networks Part 1One Way Traffic)”,計算機(jī)通信評論(Computer Communications Review),1991年10月,卷21,第5期,30-47頁。
在上面的等式中,C是在0.87到1.31范圍內(nèi)的常數(shù),RTT是分組從一計算機(jī)通過網(wǎng)絡(luò)傳輸?shù)搅硪挥嬎銠C(jī),并返回所需的以秒為時間度量的往返時間,loss_rate是在接收機(jī)中丟失分組的度量,而packet_medium_size是作為計算對象將在流中發(fā)送的分組的平均大小。請注意稍后進(jìn)一步討論等式1的這些項(xiàng)以及如何計算它們以在傳輸速率公式中使用。
等式1給出了bit_rate_stream值,它是對當(dāng)前網(wǎng)絡(luò)狀態(tài)中能夠?qū)崿F(xiàn)單個TCP連接的平均帶寬的估計。然而,在優(yōu)選實(shí)施例中,我們不直接使用此估計作為流的總傳輸速率,而是將此bit_rate_stream值如下所示代入等式2中total_rate_stream=min(bit_rate_stream,2*receiving_rate_stream)等式2參數(shù)receiving_rate_stream是通過TCP連接從客戶機(jī)計算機(jī)接收到的,并且對應(yīng)于由客戶機(jī)接收到的在RTT秒內(nèi)計算的特定流的比特數(shù)量。
上述等式2給出了使單個UDP流表現(xiàn)TCP友好性時可用的總帶寬。但是,在本實(shí)施例中,我們關(guān)注于多個流的傳輸,因此必須對每個將要發(fā)送的數(shù)據(jù)流分別執(zhí)行上述計算。也就是說,對每個流(即優(yōu)選實(shí)施例中的音頻和視頻流)都依次應(yīng)用等式1和2,從而得到每個流的total_rate_stream值。這樣得到的每個流的各個值隨后被相加以給出total_rate值,該值是可用于所有的流以提供TCP友好性的總的可用帶寬,并由此考慮了可能的網(wǎng)絡(luò)擁塞。
在計算了可用的總傳輸速率之后,在步驟S4,服務(wù)器中的發(fā)送速率計算器46為每一個數(shù)據(jù)流計算各自的傳輸速率,即在優(yōu)選實(shí)施例中的音頻UDP流的傳輸速率(audio_rate)和視頻UDP流的傳輸速率(video_rate)。如下計算audio_rate和video_rate的值。
如先前參照圖3所述,音頻數(shù)據(jù)以與視頻數(shù)據(jù)分離的UDP流發(fā)送,其中視頻數(shù)據(jù)通過另外一個UDP流發(fā)送,因此存在兩個獨(dú)立的UDP連接,每一個UDP連接都用于一個流。雖然可以認(rèn)為每個流在競爭相同的網(wǎng)絡(luò)帶寬,但實(shí)際上不是這樣,因?yàn)椴豢赡茉谙嗤臅r刻發(fā)送視頻和音頻數(shù)據(jù)分組。因此,在兩個數(shù)據(jù)流是音頻和視頻流的情況下,先前計算的總發(fā)送比特率可以等于音頻發(fā)送比特率加上視頻發(fā)送比特率。此外,如將在下文中說明的,在優(yōu)選實(shí)施例中,服務(wù)器從客戶機(jī)接收關(guān)于視頻和音頻緩沖器狀態(tài)的信息,以及視頻和音頻分組解碼速率的信息。因此,可以控制音頻和視頻數(shù)據(jù)流的發(fā)送速率,以控制客戶機(jī)中的緩沖器的填充速率。其如下實(shí)現(xiàn)。
首先,定義參數(shù)filling_rate_audio和filling_rate_video,它們分別是接收機(jī)中的音頻和視頻緩沖器填充數(shù)據(jù)的速率。在本實(shí)施例中filling_rate_audio=audio_rate-decoding_audio_rate 等式3以及filling_rate_video=video_rate-decoding_video_rate 等式4假設(shè)需要控制接收機(jī)中的緩沖器以便以比率x∶y填充緩沖器,則x(filling_rate_audio)=y(tǒng)(filling_rate_video)等式5以及total_rate=audio_rate+video_rate等式6執(zhí)行適當(dāng)?shù)拇?,并分別解出audio_rate和video_rate,那么得出audio_rate=y(total_rate-decoding_video_rate)+x(decoding_audio_rate)x+y]]>等式7video_rate=x(total_rate-decoding_audio_rate)+y(decoding_video_rate)x+y]]>等式8這樣,從上述很明顯看出,可以依據(jù)在接收機(jī)中的各個音頻和視頻解碼速率,控制各個音頻發(fā)送速率和視頻發(fā)送速率,以協(xié)調(diào)一個流與另一個流之間的比特率。此外,應(yīng)當(dāng)注意到上述參數(shù)total_rate是先前應(yīng)用等式1和2計算出來的值,以給出可用于所有數(shù)據(jù)流傳輸?shù)目偟目捎脦?,即,total_rate=total_rate_stream_1+total_rate_stream_2+……+total_rate_stream_n其中,n是同時發(fā)送的數(shù)據(jù)流的數(shù)量。
返回到圖6,在計算了每個流的音頻和視頻發(fā)送速率之后,在步驟S6,服務(wù)器中的網(wǎng)絡(luò)連接47以計算的音頻和視頻發(fā)送速率,發(fā)送作為獨(dú)立的UDP數(shù)據(jù)流的音頻和視頻流。應(yīng)當(dāng)注意,當(dāng)連續(xù)發(fā)送音頻和視頻流時,圖6中的步驟雖然是順序地顯示的,但是實(shí)際上是并行執(zhí)行的,使得實(shí)際上一旦已經(jīng)計算出了音頻和視頻傳輸速率的新值,就立即更新音頻和視頻流的傳輸速率。但是,當(dāng)在執(zhí)行新的計算時,這些流繼續(xù)以先前計算的速率發(fā)送。
圖11說明了當(dāng)發(fā)送與由圖2中描繪的TCP連接發(fā)送的相同的數(shù)據(jù)時,根據(jù)本發(fā)明優(yōu)選實(shí)施例控制的一個數(shù)據(jù)流的測量的傳輸速率的曲線圖。從圖11中可以看出,在會話開始時在經(jīng)歷了初始的瞬態(tài)變化之后,流的傳輸速率穩(wěn)定了,并隨著時間的流逝以相對小的變化繼續(xù)。此外,當(dāng)與在圖2中顯示的TCP連接所經(jīng)歷的傳輸速率相比較時,將看到實(shí)現(xiàn)了一個幾乎與TCP相等的平均吞吐量,但是沒有由于TCP的乘法性減少控制算法所導(dǎo)致的大的傳輸速率變化。這種提供了針對時間的平滑傳輸速率的特性使得本發(fā)明特別適合用于發(fā)送需要連續(xù)流的數(shù)據(jù)。
在圖6的步驟S8中,服務(wù)器40從客戶機(jī)計算機(jī)50接收反饋數(shù)據(jù),該反饋數(shù)據(jù)在優(yōu)選實(shí)施例中是執(zhí)行步驟S2和S4的總傳輸速率和數(shù)據(jù)流傳輸速率計算所需的數(shù)據(jù)。具體而言,對每一個數(shù)據(jù)流,服務(wù)器接收數(shù)據(jù),該數(shù)據(jù)用于通知服務(wù)器當(dāng)前在客戶機(jī)正在經(jīng)歷的往返時間、在客戶機(jī)的分組丟失率、客戶機(jī)中音頻和視頻緩沖器各自的解碼速率、以及在客戶機(jī)的每個數(shù)據(jù)流的數(shù)據(jù)接收速率。這些數(shù)量值通過TCP連接從客戶機(jī)發(fā)送回服務(wù)器。
一旦已經(jīng)從客戶機(jī)接收到了更新的反饋數(shù)據(jù),該數(shù)據(jù)被傳遞到服務(wù)器中的發(fā)送速率計算器46,發(fā)送速率計算器再一次執(zhí)行步驟S2和S4的計算,將結(jié)果傳遞到網(wǎng)絡(luò)連接47,網(wǎng)絡(luò)連接發(fā)送具有新計算的發(fā)送速率的音頻和視頻流。該過程在客戶機(jī)會話期間持續(xù)。
現(xiàn)在將針對在圖7中闡明的客戶機(jī)計算機(jī)的操作,討論從客戶機(jī)計算機(jī)傳遞回服務(wù)器的數(shù)量值的計算。參照圖7,在步驟S1,客戶機(jī)計算機(jī)50中的網(wǎng)絡(luò)連接57接收作為通過網(wǎng)絡(luò)的各個UDP傳輸?shù)莫?dú)立的音頻和視頻數(shù)據(jù)流。如先前所述,網(wǎng)絡(luò)連接57解除來自各個UDP流的編碼音頻和視頻數(shù)據(jù)的分組化,并且將編碼視頻和音頻數(shù)據(jù)傳遞至緩沖器控制器59,用于緩沖和隨后的解碼。
由緩沖器控制器59接收的已編碼的音頻和視頻被分別存儲在音頻緩沖器54和視頻緩沖器52中。在步驟S3,緩沖器控制器59分別詢問音頻緩沖器54和視頻緩沖器52,以便確定每個緩沖器的狀態(tài)。特別地,緩沖器控制器確定關(guān)于每個緩沖器有多滿,以及音頻和視頻解碼器53和55分別以多快的速率對每個緩沖器中的編碼音頻和視頻信息進(jìn)行解碼的信息。這表示了音頻和視頻緩沖器將以多快的速度被各自的解碼器清空。一旦緩沖器控制器確定了每個緩沖器的狀態(tài),所確定的信息就被傳遞到反饋發(fā)射機(jī)58以封裝成一個控制消息,用以傳回服務(wù)器計算機(jī)40。
除了把編碼音頻和視頻數(shù)據(jù)傳遞到緩沖器控制器之外,網(wǎng)絡(luò)連接57還把與接收到的數(shù)據(jù)相關(guān)的信息傳遞到量度計算器56,以允許量度計算器56計算由反饋發(fā)射機(jī)58傳回服務(wù)器的定量的量度值。因此,在步驟S5,S7和S9,量度計算器分別為每個流計算往返時間(RTT)、丟失事件率、和每個流的接收數(shù)據(jù)速率,在服務(wù)器端需要所有這些數(shù)值作為等式l和2的輸入,用于計算每個數(shù)據(jù)流的可用傳輸速率。應(yīng)當(dāng)注意,為每個接收到的數(shù)據(jù)流分別計算這三個量度,以使得為每個接收到的數(shù)據(jù)流提供一組量度。接下來將依次討論這些數(shù)量值中的每一個的計算。
就RTT來說,如先前所述的,RTT是分組從一計算機(jī)通過網(wǎng)絡(luò)傳播到另外一計算機(jī)并返回所需時間的度量。因此,RTT是在客戶機(jī)計算機(jī)的量度計算器56中測量的某個值,但是為了防止振蕩,優(yōu)選地如下進(jìn)行計算RTT=0.2*RTTsample+0.8*RTTmean等式9RTTsample值是量度計算器最近測量的RTT的度量,而RTTmean值是所有先前RTT度量的均值。
在步驟S7中,量度計算器56計算在客戶機(jī)計算機(jī)處經(jīng)歷的每個流的丟失事件率。丟失事件率的計算是量度計算器56所要執(zhí)行的最復(fù)雜的計算,并且依賴于根據(jù)到達(dá)分組的序號檢測UPD流中丟失的分組。由網(wǎng)絡(luò)連接基于到達(dá)分組中分組序號的檢測來執(zhí)行此丟失分組的檢測,其中如果至少有三個具有高于期望分組的序號的分組到達(dá)了接收機(jī),而期望的分組還沒有到達(dá),那么該期望的分組被定義為丟失。因此,如果期望具有序號5的分組,則在隨后將要到達(dá)的分組是分組6、分組7、隨后是分組5的情況下,不把分組5定義為丟失。但是,如果接下來按順序到達(dá)的三個分組是分組7、分組8、和分組6,則因?yàn)榈竭_(dá)的三個分組中的每一個都具有高于期望分組5的序號,所以將分組5定義為丟失。
如上已經(jīng)規(guī)定了如何將分組定義為丟失,量度計算器隨后定義被稱為丟失事件的另一個現(xiàn)象。在優(yōu)選實(shí)施例中,丟失事件定義為在任何RTT度量中檢測到一個或更多個分組的丟失。因此,如果在任何特定的RTT度量中,序號為4、6、7、9、10、和11的分組到達(dá),則盡管分組5和8已經(jīng)丟失,實(shí)際上在所測量的特定RTT中僅存在一個丟失事件。此方法解決了在網(wǎng)絡(luò)中同時丟失多個分組的問題,而不會過度影響總丟失事件率的計算。
一旦如上所述檢測到丟失事件,在步驟S74,量度計算器56計算最近的丟失間隔,該丟失間隔是在當(dāng)前檢測的丟失事件和前一次檢測到的丟失事件之間接收到的分組數(shù)。量度計算器存儲最新計算的丟失間隔,以及n個最近計算的丟失間隔,用于應(yīng)用在加權(quán)濾波器中以給出平均丟失間隔值。如下計算該平均丟失間隔值。
參照圖9和10,圖10說明了構(gòu)成量度計算器和用于計算丟失率的一些功能單元。更具體而言,丟失事件檢測器562如前所述檢測丟失事件,并將最近計算的丟失間隔輸出至多個串聯(lián)丟失間隔緩沖器564中的第一個。當(dāng)一個新的丟失間隔被輸入至第一串聯(lián)緩沖器564時,保留在第一緩沖器中的前一次的丟失間隔值被移位至下一個緩沖器,后者中的值被移位至串聯(lián)緩沖器中的下一個緩沖器,等等,如在圖10中顯示。這樣,n個最近的丟失間隔值被存儲以用于計算平均丟失間隔值。每個存儲在移位緩沖器564中的丟失間隔值分別與時間加權(quán)丟失間隔系數(shù)A0至An相乘,這些時間加權(quán)丟失間隔系數(shù)被存儲在相應(yīng)的系數(shù)存儲器656中。根據(jù)圖9中顯示的時間加權(quán)系數(shù)函數(shù)導(dǎo)出系數(shù)A0到An各個值,這保證了平均丟失間隔的計算在更大程度上依賴于最近丟失間隔而不是根據(jù)先前計算存儲的歷史丟失間隔。應(yīng)用這種加權(quán)濾波器的目的是保證所計算的丟失事件率平滑地發(fā)生變化。
在加法器566中將加權(quán)丟失間隔計算的結(jié)果相加,將其結(jié)果傳遞至反相器(inverter)568以計算丟失率,該丟失率是由加法器566計算的平均丟失間隔的倒數(shù)。如先前所述,這樣計算的丟失率隨后被傳遞至反饋發(fā)射機(jī)58,用于傳輸?shù)椒?wù)器計算機(jī)。
量度計算器56還執(zhí)行對接收到的數(shù)據(jù)速率的計算,該接收到的數(shù)據(jù)速率是在RTT秒內(nèi)由客戶機(jī)在數(shù)據(jù)流中接收到的比特數(shù)量的直接度量。與在任何時間在每個流中接收到的數(shù)據(jù)量相關(guān)的信息從網(wǎng)絡(luò)連接57傳遞至量度計算器56,用于計算每個流的接收速率。如先前所述,隨后所計算的每個流的接收速率被傳遞至反饋發(fā)射機(jī)58,以傳輸回服務(wù)器計算機(jī)。
一旦反饋發(fā)射機(jī)58已經(jīng)從緩沖器控制器59和量度計算器56接收到所需的信息,它就將該信息分組化成適合于通過網(wǎng)絡(luò)以TCP連接30傳輸?shù)男问健?br> 應(yīng)當(dāng)注意,在圖7的流程圖中顯示的步驟S1到S13僅為了進(jìn)行說明,實(shí)際上客戶機(jī)計算機(jī)50可以以任何希望的順序執(zhí)行這些步驟中的任何一個或所有步驟。此外,還可以并行地執(zhí)行這些步驟中的若干個,例如由緩沖器控制器59執(zhí)行的音頻和視頻緩沖器的檢查和測量可以與由量度計算器56執(zhí)行的計算并行進(jìn)行。但是請注意,在優(yōu)選實(shí)施例中接收機(jī)必須已經(jīng)實(shí)際接收到了音頻和視頻數(shù)據(jù)流中的數(shù)據(jù),以得到計算發(fā)送回服務(wù)器計算機(jī)的數(shù)量值所需的信息。
在服務(wù)器中,由網(wǎng)絡(luò)控制器48和網(wǎng)絡(luò)連接47一起通過根據(jù)計算的速率把分組實(shí)際釋放到網(wǎng)絡(luò)上來控制每個流的實(shí)際傳輸速率。但是在優(yōu)選實(shí)施例中描述的音頻和視頻數(shù)據(jù)傳輸?shù)奶囟ㄇ闆r下,尤其對于視頻數(shù)據(jù),所計算的速率可能不能滿足所用的特定編碼速率的傳輸速率的需求。在此情況下,如果有跡象表明所計算的視頻流傳輸速率不得不下降,以使得以目前的視頻編碼速率不可能在視頻流中發(fā)送足夠的數(shù)據(jù)以防止接收機(jī)的視頻緩沖器被清空,則網(wǎng)絡(luò)控制器48控制網(wǎng)絡(luò)連接47采用來自低速率編碼視頻緩沖器43的編碼視頻數(shù)據(jù),該編碼視頻數(shù)據(jù)采用了更低的質(zhì)量進(jìn)行編碼,這更適合于以更低的計算傳輸速率通過網(wǎng)絡(luò)傳輸。在接收機(jī)中,將低率速編碼視頻數(shù)據(jù)置于視頻緩沖器中,并且視頻解碼器55檢測到該低編碼速率,并把它自己的解碼速率改變?yōu)榈退俾?,這減小了從視頻緩沖器中讀取視頻數(shù)據(jù)的速率。這樣的措施防止了視頻緩沖器被完全清空,從而使得能夠在客戶機(jī)計算機(jī)上連續(xù)進(jìn)行視頻再現(xiàn)。
應(yīng)當(dāng)注意到,由于本發(fā)明優(yōu)選實(shí)施例是致力于將音頻和視頻數(shù)據(jù)作為多個數(shù)據(jù)流發(fā)送的,則在優(yōu)選實(shí)施例中,用于設(shè)定每一個流各自的比特率的標(biāo)準(zhǔn)被選擇為反映音頻和視頻數(shù)據(jù)的特殊需要,因?yàn)樗仨氃诮邮諜C(jī)中被解碼以再現(xiàn)原始的音頻和視頻信號。但是,本發(fā)明不限于將音頻和視頻數(shù)據(jù)作為多個數(shù)據(jù)流進(jìn)行傳輸,實(shí)際上幾乎任何類型的需要以多個流發(fā)送的數(shù)據(jù)都可以利用本發(fā)明進(jìn)行發(fā)送。此外,取決于要對數(shù)據(jù)進(jìn)行的應(yīng)用來選擇在這些流之間協(xié)調(diào)比特率的特定標(biāo)準(zhǔn)。例如,可以設(shè)想本發(fā)明的其他實(shí)施例,其中數(shù)據(jù)以多個流被發(fā)送以便實(shí)現(xiàn)遠(yuǎn)距離控制,例如遙控一個在其上安裝了多個傳感器的遠(yuǎn)程運(yùn)輸工具。這樣的運(yùn)輸工具例如可以是配備了無線網(wǎng)絡(luò)連接的可潛水的海底探測運(yùn)輸工具等等。在這種情況下,可能需要多個數(shù)據(jù)流向潛艇的操縱單元提供操縱控制信息,并向各個傳感器提供傳感器控制信息。于是用于在這樣的數(shù)據(jù)流之間協(xié)調(diào)比特率的標(biāo)準(zhǔn)將不同于那些在本發(fā)明優(yōu)選實(shí)施例中與音頻和視頻數(shù)據(jù)傳輸相關(guān)的所要求的標(biāo)準(zhǔn),因此很明顯,為了控制協(xié)調(diào)一個數(shù)據(jù)流與另一個數(shù)據(jù)流之間的比特率所選的標(biāo)準(zhǔn)是由應(yīng)用決定的。
此外,對于在本發(fā)明中可以使用的總傳輸帶寬的計算,在優(yōu)選實(shí)施例中,我們使用了一種試圖模擬由標(biāo)準(zhǔn)TCP連接獲得的平均吞吐量的傳輸速率公式。但是,應(yīng)當(dāng)理解該特定的公式和使用該公式的原因都不是要限制本發(fā)明,實(shí)際上,可以使用任何合適的傳輸速率公式計算隨后用于計算各個流傳輸速率的可用的總傳輸速率。
更特別的并作為一個示例,在將通過一個因特網(wǎng)協(xié)議網(wǎng)絡(luò)進(jìn)行傳輸?shù)那闆r下,則可以使用其它提供TCP友好傳輸速率的傳輸速率公式,以替代在本特定實(shí)施例中使用的公式,在本領(lǐng)域中已知有各種其它TCP友好的公式。此外,當(dāng)使用需要不同的參數(shù)作為輸入的不同公式時,則應(yīng)當(dāng)將客戶機(jī)計算機(jī)設(shè)置用來計算和提供服務(wù)器所需要的任何參數(shù)。在不使用IP網(wǎng)絡(luò)的情況下,則所選擇的傳輸速率公式應(yīng)當(dāng)優(yōu)選地是對于使用在感興趣的特定網(wǎng)絡(luò)上的任何傳輸協(xié)議有意義的公式,并且其優(yōu)選地提供有意義的傳輸速率控制,以考慮例如網(wǎng)絡(luò)擁塞,以及所導(dǎo)致的分組丟失等等的因素。在本發(fā)明的其它實(shí)施例中,對于本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,哪些傳輸速率公式是適合的要取決于本發(fā)明的特定應(yīng)用領(lǐng)域。
接下來將說明另一個傳輸速率公式的示例,該傳輸速率公式可用于模擬TCP吞吐量,并提供如上所述的其他這樣的公式的示例。
以下給出的吞吐量等式是Reno TCP的吞吐量等式的稍微簡化的版本。在本發(fā)明中它可以替換等式1以計算每個流的傳輸速率。該吞吐量等式是X=sR*sqrt(2*b*p/3)+(t_RTO*(3*sqrt(3*b*p/8)*p*(1+32*p^2))).]]>等式10其中X是以字節(jié)/秒為單位的發(fā)送速率;s是以字節(jié)為單位的分組大??;R是以秒為單位的往返時間;p是丟失事件率,在O到1.0之間,為分組丟失事件數(shù)量與所發(fā)送分組數(shù)量之比;t_RTO是以秒為單位的TCP重傳超時值;以及b是由單個TCP確認(rèn)所確認(rèn)的分組數(shù)目。
如先前所述計算以上公式中使用的往返時間和丟失事件率。此外,我們可通過設(shè)定t_RTO=4*R來進(jìn)一步簡化以上計算。雖然可以對t_RTO進(jìn)行更精確的計算,但是通過現(xiàn)有的TCP實(shí)施方式,以當(dāng)前的設(shè)定值進(jìn)行的實(shí)驗(yàn)已經(jīng)獲得了合理的公平性。另一個可能性是設(shè)定t_RTO=max(4R,1秒),以與RTO的推薦最小值1秒相匹配。
在使用上述等式的本發(fā)明的實(shí)施例中,如先前所述,上述等式10簡單替代了在先前所述實(shí)施例中的等式1。其它的處理步驟基本上是相同的。
權(quán)利要求
1.一種通過網(wǎng)絡(luò)傳輸數(shù)據(jù)的方法,包括以下步驟使用一傳輸速率公式計算用于數(shù)據(jù)傳輸?shù)目倐鬏斔俾?;以至少兩個獨(dú)立的數(shù)據(jù)流把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上以傳輸?shù)浇邮諜C(jī),每一個所述數(shù)據(jù)流以各自的數(shù)據(jù)傳輸比特率發(fā)送數(shù)據(jù);以及控制所述各個數(shù)據(jù)流的至少一個子集的相應(yīng)數(shù)據(jù)傳輸速率,以在所述流之間協(xié)調(diào)比特率;其中每個數(shù)據(jù)流的相應(yīng)傳輸速率的總和基本上等于或小于所計算的總傳輸速率。
2.根據(jù)權(quán)利要求1的方法,其中控制所述數(shù)據(jù)流的數(shù)據(jù)傳輸速率,以防止所述接收機(jī)中的數(shù)據(jù)緩沖器溢出,所述接收機(jī)接收所述數(shù)據(jù)流中的數(shù)據(jù)。
3.根據(jù)權(quán)利要求1或2的方法,其中所述控制步驟進(jìn)一步包括從所述接收機(jī)中接收反饋數(shù)據(jù)的步驟;以及響應(yīng)于所接收的數(shù)據(jù),控制所述各個數(shù)據(jù)流的至少一個子集的數(shù)據(jù)傳輸速率。
4.根據(jù)權(quán)利要求3的方法,其中所接收的反饋數(shù)據(jù)至少表示所述接收機(jī)接收到的每個流中發(fā)送的數(shù)據(jù)的解碼速率;并進(jìn)一步控制所控制的數(shù)據(jù)流的傳輸速率,使該傳輸速率至少作為所述接收機(jī)的解碼速率的函數(shù)。
5.根據(jù)權(quán)利要求4的方法,其中在兩個數(shù)據(jù)流的情況下,根據(jù)下列等式控制各個傳輸速率sr_str_1=y(tr-dr_str2)+x(dr_str1)x+y]]>sr_str_2=x(tr-dr_str1)+y(dr_str2)x+y]]>其中相關(guān)的變量如下Sr_str_1第一數(shù)據(jù)流的發(fā)送速率;Sr_str_2第二數(shù)據(jù)流的發(fā)送速率;tr所計算的總傳輸速率;dr_str1第一數(shù)據(jù)流中的數(shù)據(jù)在接收機(jī)的解碼速率;dr_str2第二數(shù)據(jù)流中的數(shù)據(jù)在接收機(jī)的解碼速率;x在從第一數(shù)據(jù)流接收數(shù)據(jù)的接收機(jī)中的第一緩沖器的填充速率的系數(shù);以及y在從第二數(shù)據(jù)流接收數(shù)據(jù)的接收機(jī)中的第二緩沖器的填充速率的系數(shù)。
6.根據(jù)前述任一權(quán)利要求的方法,其中計算所述總傳輸速率以給出通過網(wǎng)絡(luò)的平均數(shù)據(jù)吞吐量,該數(shù)據(jù)吞吐量類似于使用傳輸控制協(xié)議(TCP)而獲得的數(shù)據(jù)吞吐量。
7.根據(jù)前述任一權(quán)利要求的方法,其中所述計算步驟進(jìn)一步包括以下步驟從所述接收機(jī)接收反饋數(shù)據(jù),該反饋數(shù)據(jù)表示往返時間值(RTT)、丟失率值、和/或所述接收機(jī)的接收速率值中的一個或更多個;以及計算所述總傳輸速率,所述總傳輸速率作為由所述反饋數(shù)據(jù)表示的一個或更多個所接收的值的函數(shù);其中所述往返時間是數(shù)據(jù)從一發(fā)射機(jī)傳送到所述接收機(jī)并回到所述發(fā)射機(jī)所需的時間的度量;所述丟失率值是發(fā)送到所述接收機(jī)的丟失的數(shù)據(jù)量的度量;而所述接收速率值是在所述往返時間內(nèi)接收到的比特數(shù)。
8.根據(jù)權(quán)利要求7的方法,其中根據(jù)下式計算所述總傳輸速率bit_rate_per_stream_x=c(data_medium_sizetRTTlossrate)]]>其中total_rate_stream_x=min(bit_rate_per_stream_x,2×Receiving_Rate_x)以及total_rate=total_rate_stream_1+total_rate_stream_2+.....+total_rate_stream_n其中x∈{1,2,.....n},data_medium_size是每個流通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)的平均大小的度量,c是在0.87≤c≤1.31范圍內(nèi)的一個常數(shù),n是將要發(fā)送的數(shù)據(jù)流的數(shù)量。
9.根據(jù)前述任一權(quán)利要求的方法,其中在兩個或更多個數(shù)據(jù)流的至少一個子集中發(fā)送的數(shù)據(jù)是相關(guān)的。
10.根據(jù)權(quán)利要求9的方法,其中所述數(shù)據(jù)流中的至少一個包含第一類型的實(shí)時數(shù)據(jù),并且所述數(shù)據(jù)流中的一個或更多個其它數(shù)據(jù)流包含與所述第一類型的所述數(shù)據(jù)相關(guān)的第二類型的實(shí)時數(shù)據(jù)。
11.一種在網(wǎng)絡(luò)上生成多個數(shù)據(jù)流的方法,包括根據(jù)權(quán)利要求1至10中的任意一個的數(shù)據(jù)傳輸方法。
12.一種用于通過網(wǎng)絡(luò)傳輸數(shù)據(jù)的系統(tǒng),其包括傳輸速率計算裝置,用于使用一傳輸速率公式來計算用于數(shù)據(jù)傳輸?shù)目倐鬏斔俾?;?shù)據(jù)流傳輸裝置,用于以至少兩個獨(dú)立的數(shù)據(jù)流把數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上以傳輸?shù)浇邮諜C(jī),每一個所述數(shù)據(jù)流以各自的數(shù)據(jù)傳輸比特率發(fā)送數(shù)據(jù);以及數(shù)據(jù)流控制裝置,用于控制各個數(shù)據(jù)流的至少一個子集的相應(yīng)數(shù)據(jù)傳輸速率,以在所述流之間協(xié)調(diào)比特率;其中該數(shù)據(jù)流控制裝置可進(jìn)一步操作,以使得每一個數(shù)據(jù)流的相應(yīng)傳輸速率的總和基本上等于或小于所計算的總傳輸速率。
13.根據(jù)權(quán)利要求12的系統(tǒng),其中所述數(shù)據(jù)流控制裝置被進(jìn)一步設(shè)置用來控制所述數(shù)據(jù)流的數(shù)據(jù)傳輸速率,以防止所述接收機(jī)中的數(shù)據(jù)緩沖器溢出,所述接收機(jī)接收所述數(shù)據(jù)流中的數(shù)據(jù)。
14.根據(jù)權(quán)利要求12或13中的任何一個的方法,進(jìn)一步包括數(shù)據(jù)接收裝置,用于從所述接收機(jī)中接收反饋數(shù)據(jù);其中所述數(shù)據(jù)流控制裝置被進(jìn)一步設(shè)置為響應(yīng)于所接收的數(shù)據(jù),控制各個數(shù)據(jù)流的至少一個子集的數(shù)據(jù)傳輸速率。
15.根據(jù)權(quán)利要求14的系統(tǒng),其中所接收的反饋數(shù)據(jù)至少表示所述接收機(jī)接收到的每個流中所發(fā)送的數(shù)據(jù)的解碼速率;并且所述數(shù)據(jù)流控制裝置被進(jìn)一步設(shè)置為控制所控制數(shù)據(jù)流的傳輸速率,使該傳輸速率至少作為所述接收機(jī)的解碼速率的函數(shù)。
16.根據(jù)權(quán)利要求15的系統(tǒng),其中在兩個數(shù)據(jù)流的情況下,根據(jù)下列等式控制各個傳輸速率sr_str_1=y(tr-dr_str2)+x(dr_str1)x+y]]>sr_str_2=x(tr-dr_str1)+y(dr_str2)x+y]]>其中相關(guān)的變量如下Sr_str_1第一數(shù)據(jù)流的發(fā)送速率;Sr_str_2第二數(shù)據(jù)流的發(fā)送速率;tr所計算的總傳輸速率;dr_str1第一數(shù)據(jù)流中的數(shù)據(jù)在接收機(jī)的解碼速率;dr_str2第二數(shù)據(jù)流中的數(shù)據(jù)在接收機(jī)的解碼速率;x在從第一數(shù)據(jù)流接收數(shù)據(jù)的接收機(jī)中的第一緩沖器的填充速率的系數(shù);以及y在從第二數(shù)據(jù)流接收數(shù)據(jù)的接收機(jī)中的第二緩沖器的填充速率的系數(shù)。
17.根據(jù)權(quán)利要求12至16中的任一權(quán)利要求的系統(tǒng),其中計算所述總傳輸速率以給出通過網(wǎng)絡(luò)的平均數(shù)據(jù)吞吐量,該數(shù)據(jù)吞吐量類似于使用傳輸控制協(xié)議(TCP)而獲得的數(shù)據(jù)吞吐量。
18.根據(jù)權(quán)利要求12至17中的任一權(quán)利要求的系統(tǒng),進(jìn)一步包括數(shù)據(jù)接收裝置,用于從所述接收機(jī)接收反饋數(shù)據(jù),該反饋數(shù)據(jù)表示往返時間值(RTT)、丟失率值、和/或所述接收機(jī)的接收速率值中的一個或更多個;并且其中所述傳輸速率計算裝置被進(jìn)一步設(shè)置用來計算所述總傳輸速率,所述總傳輸速率作為由該反饋數(shù)據(jù)所表示的一個或更多個所接收的值的函數(shù);其中所述往返時間是數(shù)據(jù)從一發(fā)射機(jī)傳送到所述接收機(jī)并回到所述發(fā)射機(jī)所需的時間的度量;所述丟失率值是發(fā)送到所述接收機(jī)的丟失的數(shù)據(jù)量的度量;而所述接收速率值是在所述往返時間內(nèi)接收到的比特數(shù)。
19.根據(jù)權(quán)利要求18的系統(tǒng),其中根據(jù)下式計算所述總傳輸速率bit_rate_per_stream_x=c(data_medium_sizetRTTlossrate)]]>其中total_rate_stream_x=min(bit_rate_per_stream_x,2×Receiving_Rate_x)以及total_rate=total_rate_stream_1+total_rate_stream_2+.....+total_rate_stream_n其中x∈{1,2,.....,n},data_medium_size是通過網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)的平均大小的度量,c是在0.87≤c≤1.31范圍內(nèi)的一個常數(shù),n是將要發(fā)送的數(shù)據(jù)流的數(shù)量。
20.根據(jù)權(quán)利要求12至19中的任一權(quán)利要求的系統(tǒng),其中在至少兩個或更多個數(shù)據(jù)流中發(fā)送的數(shù)據(jù)是相關(guān)的。
21.根據(jù)權(quán)利要求20的系統(tǒng),其中所述數(shù)據(jù)流中的至少一個包含第一類型的實(shí)時數(shù)據(jù),并且所述數(shù)據(jù)流中的一個或更多個其它數(shù)據(jù)流包含與所述第一類型的所述數(shù)據(jù)相關(guān)的第二類型的實(shí)時數(shù)據(jù)。
22.一種存儲計算機(jī)程序的計算機(jī)可讀存儲介質(zhì),當(dāng)該計算機(jī)程序在一計算機(jī)上運(yùn)行時,其控制該計算機(jī)執(zhí)行根據(jù)權(quán)利要求1至11中的任一權(quán)利要求的方法。
23.一種從網(wǎng)絡(luò)接收數(shù)據(jù)的方法,該數(shù)據(jù)已經(jīng)根據(jù)權(quán)利要求1至11中的任意一個所要求的傳輸方法發(fā)送,或者該數(shù)據(jù)已經(jīng)由權(quán)利要求12至21中的任意一個所要求的系統(tǒng)發(fā)送,該方法包括以下步驟接收至少兩個獨(dú)立的數(shù)據(jù)流,每一個所述數(shù)據(jù)流以各自的數(shù)據(jù)傳輸速率傳輸;將接收到的每一個數(shù)據(jù)流中的數(shù)據(jù)傳遞到各自的數(shù)據(jù)緩沖器,以在其中進(jìn)行緩沖;計算表示所接收的數(shù)據(jù)的一個或更多個特征的一個或更多個數(shù)量值;以及將所計算的數(shù)量值發(fā)送到一發(fā)射機(jī),以用于計算從該發(fā)射機(jī)發(fā)送的數(shù)據(jù)的總傳輸速率。
24.根據(jù)權(quán)利要求23的方法,進(jìn)一步包括以下步驟以相應(yīng)的解碼速率對每一個緩沖器中的數(shù)據(jù)進(jìn)行解碼,其中將所述各個數(shù)據(jù)解碼速率作為所計算的數(shù)量值中的至少一個發(fā)送到發(fā)射機(jī)。
25.根據(jù)權(quán)利要求23或24的方法,其中所述計算步驟進(jìn)一步包括計算往返時間值(RTT)、丟失率值、和/或接收速率值中的一個或更多個,作為所述一個或更多個數(shù)量值,其中所述往返時間是數(shù)據(jù)從一發(fā)射機(jī)傳送到所述接收機(jī)并回到所述發(fā)射機(jī)所需的時間的度量;所述丟失率值是發(fā)送到所述接收機(jī)的丟失的數(shù)據(jù)量的度量;而所述接收速率值是在所述往返時間內(nèi)由所述接收機(jī)接收到的比特數(shù)。
26.根據(jù)權(quán)利要求25的方法,其中使用n個最近丟失間隔的加權(quán)濾波計算丟失事件率,該丟失間隔為在兩個丟失事件之間接收到的數(shù)據(jù)輸出。
27.一種用于從網(wǎng)絡(luò)接收數(shù)據(jù)的系統(tǒng),該數(shù)據(jù)已經(jīng)根據(jù)權(quán)利要求1至11中的任意一個所要求的傳輸方法發(fā)送,或者該數(shù)據(jù)已經(jīng)由權(quán)利要求12至21中的任意一個所要求的傳輸系統(tǒng)發(fā)送,該系統(tǒng)包括數(shù)據(jù)接收裝置,用于接收至少兩個獨(dú)立的數(shù)據(jù)流,每一個所述數(shù)據(jù)流以各自的數(shù)據(jù)傳輸速率傳輸;至少兩個數(shù)據(jù)緩沖器,這些數(shù)據(jù)緩沖器被設(shè)置為從各自所接收的數(shù)據(jù)流中接收數(shù)據(jù)到其中;計算裝置,用于計算表示所接收的數(shù)據(jù)的一個或更多個特征的一個或更多個數(shù)量值;以及數(shù)據(jù)傳輸裝置,用于把所計算的數(shù)量值發(fā)送到一發(fā)射機(jī),以用于計算從該發(fā)射機(jī)發(fā)送的數(shù)據(jù)的總傳輸速率。
28.根據(jù)權(quán)利要求27的系統(tǒng),進(jìn)一步包括數(shù)據(jù)解碼裝置,用于以相應(yīng)的解碼速率對每一個緩沖器中的數(shù)據(jù)進(jìn)行解碼,其中將所述各個數(shù)據(jù)解碼速率作為所計算的數(shù)量值中的至少一個發(fā)送到所述發(fā)射機(jī)。
29.根據(jù)權(quán)利要求27或28的系統(tǒng),其中所述計算裝置可進(jìn)一步操作為計算往返時間值(RTT)、丟失率值、和/或接收速率值中的一個或更多個,作為所述一個或更多個數(shù)量值,其中所述往返時間是數(shù)據(jù)從一發(fā)射機(jī)傳送到所述接收機(jī)并回到所述發(fā)射機(jī)所需的時間的度量;所述丟失率值是發(fā)送到所述接收機(jī)的丟失的數(shù)據(jù)量的度量;而所述接收速率值是在所述往返時間內(nèi)由所述接收機(jī)接收到的比特數(shù)。
30.根據(jù)權(quán)利要求29的系統(tǒng),其中所述計算裝置進(jìn)一步包括一加權(quán)濾波器裝置,用于使用n個最近丟失間隔的加權(quán)濾波計算丟失事件率,該丟失間隔為在兩個丟失事件之間接收到的數(shù)據(jù)量。
31.一種存儲計算機(jī)程序的計算機(jī)可讀存儲介質(zhì),當(dāng)該計算機(jī)程序在一計算機(jī)上運(yùn)行時,其控制該計算機(jī)執(zhí)行權(quán)利要求23至26的方法。
全文摘要
公開了一種數(shù)據(jù)傳輸方法和系統(tǒng),其中使用一傳輸速率公式計算將要發(fā)送的每個數(shù)據(jù)流的可用網(wǎng)絡(luò)帶寬。然后以各自的比特率發(fā)送多個數(shù)據(jù)流,各個比特率的總和不大于數(shù)據(jù)流的數(shù)量與所計算的每個流的可用帶寬的乘積,但是在損失其他所發(fā)送的流的情況下,可以增加個別的數(shù)據(jù)流的速率。本發(fā)明特別用于流式多媒體中,并以適當(dāng)?shù)谋嚷蕦γ恳环N媒體的流式傳輸?shù)乃俾侍峁┛刂?。同時還公開了一種適合于接收該數(shù)據(jù)流的數(shù)據(jù)接收方法和系統(tǒng)。
文檔編號H04N7/52GK1557073SQ02818401
公開日2004年12月22日 申請日期2002年9月13日 優(yōu)先權(quán)日2001年9月21日
發(fā)明者愛德華·烏爾賽斯, 愛德華 烏爾賽斯, 大衛(wèi) 沃克, 馬滕·大衛(wèi)·沃克 申請人:英國電訊有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
错那县| 澎湖县| 通河县| 夹江县| 咸宁市| 古丈县| 黎平县| 台东市| 彭山县| 德昌县| 洛南县| 蒙阴县| 铅山县| 扎赉特旗| 土默特右旗| 东丰县| 灵武市| 台州市| 双鸭山市| 清苑县| 平湖市| 宁国市| 饶河县| 托克逊县| 莎车县| 麻栗坡县| 阿坝县| 金溪县| 红桥区| 合川市| 桦南县| 万州区| 喀什市| 湘潭县| 宜川县| 克山县| 本溪| 岳阳县| 平陆县| 松滋市| 芦溪县|