專利名稱:減少視頻數(shù)據(jù)的通信延遲的制作方法
減少視頻數(shù)據(jù)的通信延遲
背景技術(shù):
很多人正在購買高密度電視(HDTV)并正在其HDTV上觀看高密度(HD)視頻。當(dāng)通過具有寬帶寬的很好地提供的網(wǎng)絡(luò)來傳送HD視頻數(shù)據(jù)時,個人能夠具有良好的HD視頻的觀看體驗,所述寬帶寬能夠容易地適應(yīng)與HD視頻數(shù)據(jù)相關(guān)聯(lián)的高比特率。然而,越來越需要通過受約束網(wǎng)絡(luò)來傳送HD視頻,例如,該受約束網(wǎng)絡(luò)通常與家、小型辦公室或衛(wèi)星辦公室相關(guān)聯(lián)。通過受約束網(wǎng)絡(luò)來傳送HD視頻的延遲能夠到達約一秒。在過去,一個解決方案是預(yù)先獲取先前記錄的HD視頻。然而,用戶正在開始通過受約束網(wǎng)絡(luò)來實時地請求HD視頻。由于實時地請求HD視頻,所以預(yù)先獲取HD視頻不是選擇。此外,一秒左右的延遲在兩個端點交互地相互傳送HD視頻(在本文中也稱為“會議”)時是不可接受的。
被結(jié)合到具體實施方式
中并構(gòu)成其一部分的附圖舉例說明本發(fā)明的各種實施例并連同說明一起用于解釋以下討論的原理
圖1描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的系統(tǒng)的方框圖。圖2描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的另一系統(tǒng)的方框圖, 其中調(diào)制解調(diào)器緩沖器從路由器接收數(shù)據(jù)。圖3描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的設(shè)備的方框圖。圖4描繪根據(jù)一個實施例的減少視頻數(shù)據(jù)的通信延遲的方法的流程圖。圖5描繪使用視頻會議的根據(jù)一個實施例的用于減少視頻的通信延遲的系統(tǒng)。不應(yīng)將在本簡要說明中所提及的附圖理解為按比例繪制,除非具體地說明。
具體實施例方式現(xiàn)在將對本主題的各種實施例更詳細(xì)地進行參考,在附圖中舉例說明了本主題的示例。雖然在本文中討論了各種實施例,但應(yīng)理解的是其并不意圖局限于這些實施例。相反,提出的實施例意圖覆蓋替換、修改和等價物,所述替換、修改和等價物可以被包括在由所附權(quán)利要求定義的各種實施例的精神和范圍內(nèi)。此外,在實施例的以下說明中,闡述許多特定細(xì)節(jié)是為了提供本主題的實施例的透徹理解。然而,可以在沒有這些特定細(xì)節(jié)的情況下實施實施例。在其它情況中,未詳細(xì)地描述眾所周知的方法、程序、組件和電路以免不必要地使所述實施例的方面含糊難懂。如從以下討論顯而易見的,除非具體地另外說明,應(yīng)認(rèn)識到遍及本具體實施方式
, 利用諸如“監(jiān)視”、“估計”、“調(diào)整”、“提供”、“計算”、“確定”、“通信”、“傳送”、“接收”、“去除”、 “存儲”、“設(shè)置”、“初始化”等等的術(shù)語的討論指的是計算機系統(tǒng)或電子計算設(shè)備的動作和過程。計算機系統(tǒng)或類似電子計算設(shè)備操縱被表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)并將其變換成類似地被表示為計算機系統(tǒng)存儲器或寄存器或其它此類信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其它數(shù)據(jù)。本主題的某些實施例還非常適合于使用諸如例如光學(xué)和虛擬計算機的其它計算機系統(tǒng)。
各種研究已表明,遞送HD視頻方面的約束的主要來源之一是由于將視頻數(shù)據(jù)遞送到視頻接收機的數(shù)據(jù)路徑中的調(diào)制解調(diào)器緩沖器而引起的分組延遲和溢出損失。調(diào)制解調(diào)器緩沖器通常用來減少分組丟棄并改善網(wǎng)絡(luò)利用率;然而,調(diào)制解調(diào)器緩沖器能夠甚至在不存在溢出的情況下引入相當(dāng)大的延遲,例如,大約一秒。雖然在調(diào)制解調(diào)器緩沖器的上下文中描述了本文的許多實施例,但可以將任何的一個或多個實施例與能夠引入延遲或能夠溢出或其組合的任何類型的網(wǎng)絡(luò)緩沖器一起使用。圖1描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的系統(tǒng)的方框圖。系統(tǒng) 100描繪了視頻傳送機110、調(diào)制解調(diào)器緩沖器130、網(wǎng)絡(luò)145以及視頻接收機150。視頻傳送機110和視頻接收機150可以是電子設(shè)備,諸如膝上型計算機、臺式計算機或個人數(shù)字助理(PDA)。根據(jù)一個實施例,電子設(shè)備可以是視頻傳送機110和視頻接收機150兩者。具有傳送機110和接收機150的兩個電子設(shè)備能夠相互傳送和接收視頻數(shù)據(jù)。例如,這兩個電子設(shè)備可以是彼此相交互的Skype "<或Google 聊天端點。視頻接收機150可以具有HD顯不器。根據(jù)一個實施例,調(diào)制解調(diào)器緩沖器130和視頻接收機150與諸如通常在家中或小型企業(yè)中使用的網(wǎng)絡(luò)的受約束網(wǎng)絡(luò)相關(guān)聯(lián)??梢酝ㄟ^受約束網(wǎng)絡(luò)從調(diào)制解調(diào)器緩沖器 130向視頻接收機150傳送視頻數(shù)據(jù)。調(diào)制解調(diào)器包括緩沖器130 (也稱為“調(diào)制解調(diào)器緩沖器”),接收到的數(shù)據(jù)能夠被臨時地存儲在其中,直至以先進先出方式從調(diào)制解調(diào)器緩沖器130去除該數(shù)據(jù)并將其傳送到視頻接收機150。特別地,電纜、數(shù)字訂戶線路(DSL)或微波存取全球互通(WiMax)可以提供調(diào)制解調(diào)器緩沖器130與視頻接收機150之間的連接性。根據(jù)一個實施例,調(diào)制解調(diào)器緩沖器130大得足以對于給定的調(diào)制解調(diào)器排出速率(drain rate)140而保證高利用率。例如,當(dāng)調(diào)制解調(diào)器緩沖器130的占用率是低的時, 能夠?qū)崿F(xiàn)低延遲,但是當(dāng)調(diào)制解調(diào)器緩沖器130的占用率是高的時,延遲能夠達到一秒的水平。按照慣例,視頻傳送機和視頻接收機都不具有關(guān)于調(diào)制解調(diào)器緩沖器的占用率或排出速率的信息。因此,根據(jù)一個實施例,基于從調(diào)制解調(diào)器緩沖器130去除數(shù)據(jù)的速率140 (也稱為“調(diào)制解調(diào)器排出速率”)的估計來調(diào)整數(shù)據(jù)被傳送到調(diào)制解調(diào)器緩沖器130的速率 120 (也稱為“傳輸速率”)使得傳輸速率120不超過調(diào)制解調(diào)器排出速率140。根據(jù)一個實施例,基于在少量視頻幀周期中傳送的許多分組的平均值來計算傳輸速率120。根據(jù)另一實施例,基于調(diào)制解調(diào)器緩沖器130的占用率(也稱為“調(diào)制解調(diào)器緩沖器占用率”)的估計來調(diào)整數(shù)據(jù)被傳送到調(diào)制解調(diào)器緩沖器130的速率120,以減少調(diào)制解調(diào)器緩沖器累積的概率。因此,根據(jù)各種實施例,能夠控制視頻數(shù)據(jù)的傳輸速率120以減少視頻數(shù)據(jù)的通信延遲。各種研究已表明,遞送HD視頻方面的約束的主要來源之一是由于將視頻數(shù)據(jù)遞送到視頻接收機的數(shù)據(jù)路徑中的網(wǎng)絡(luò)緩沖器而引起的分組延遲和溢出損失。網(wǎng)絡(luò)緩沖器通常用來減少分組丟棄并改善網(wǎng)絡(luò)利用率;然而,網(wǎng)絡(luò)緩沖器能夠甚至在不存在溢出的情況下引入相當(dāng)大的延遲,例如,大約一秒。網(wǎng)絡(luò)緩沖器的示例特別地包括調(diào)制解調(diào)器緩沖器、 路由器緩沖器和“業(yè)務(wù)成形”緩沖器。路由器緩沖器可以存在于網(wǎng)絡(luò)路由器中?!皹I(yè)務(wù)成形” 緩沖器可以以軟件方式存在,諸如Linux 聯(lián)網(wǎng)堆棧。雖然在調(diào)制解調(diào)器緩沖器的上下文中描述了本文的許多實施例,但可以將任何的一個或多個實施例與能夠引入延遲或能夠溢出或其組合的任何類型的網(wǎng)絡(luò)緩沖器一起使用。
圖1描繪從一個視頻傳送機110接收數(shù)據(jù)的調(diào)制解調(diào)器緩沖器130。然而,調(diào)制解調(diào)器緩沖器130可以從不止一個源接收數(shù)據(jù)。圖2描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的另一系統(tǒng)200的方框圖,其中,調(diào)制解調(diào)器緩沖器230從路由器260接收數(shù)據(jù)。系統(tǒng)200描繪了視頻傳送機210、數(shù)據(jù)源270、路由器沈0、調(diào)制解調(diào)器緩沖器230、網(wǎng)絡(luò)對5、視頻接收機250以及數(shù)據(jù)接收機四0。數(shù)據(jù)源270和數(shù)據(jù)接收機290是可選的。根據(jù)一個實施例,路由器260是服務(wù)質(zhì)量(QOS)路由器沈0。根據(jù)一個實施例,路由器260從多個源210、270接收數(shù)據(jù)。視頻傳送機210、數(shù)據(jù)源270、視頻接收機250和數(shù)據(jù)接收機290可以是電子設(shè)備,諸如膝上型計算機、臺式計算機或PDA。視頻接收機250可以具有HD顯示器。根據(jù)一個實施例,視頻傳送機210、數(shù)據(jù)源270、路由器沈0以及調(diào)制解調(diào)器緩沖器230與受約束網(wǎng)絡(luò)相關(guān)聯(lián),所述受約束網(wǎng)絡(luò)諸如通常在家中或小型企業(yè)中使用的網(wǎng)絡(luò)。特別地,電纜、DSL或WiMax可以提供調(diào)制解調(diào)器緩沖器230和接收機250、290之間的連接性。來自兩個源210、270的數(shù)據(jù)通過路由器沈0、調(diào)制解調(diào)器緩沖器230和網(wǎng)絡(luò)245被傳送到接收機250J90。視頻傳送機210將視頻數(shù)據(jù)傳送到視頻接收機250。數(shù)據(jù)源270 將可以是也可以不是視頻數(shù)據(jù)的數(shù)據(jù)傳送到數(shù)據(jù)接收機四0。例如,數(shù)據(jù)源270可以將網(wǎng)頁上傳至作為web服務(wù)器的數(shù)據(jù)接收機四0。視頻傳送機210以一個傳輸速率220來傳送視頻數(shù)據(jù)且數(shù)據(jù)源270以另一傳輸速率280來傳送數(shù)據(jù)。來自視頻傳送機210的視頻數(shù)據(jù)被傳送至視頻接收機250且來自數(shù)據(jù)源270的數(shù)據(jù)被傳送至數(shù)據(jù)接收機四0。根據(jù)一個實施例,調(diào)制解調(diào)器排出速率240是從調(diào)制解調(diào)器緩沖器230接收數(shù)據(jù)的總速率。例如,調(diào)制解調(diào)器排出速率240可以包括從調(diào)制解調(diào)器緩沖器230去除數(shù)據(jù)(無論哪個源210、270將其傳送)的速率。按照慣例,諸如視頻傳送機、數(shù)據(jù)源、路由器、視頻接收機和數(shù)據(jù)接收機的電子設(shè)備不具有關(guān)于調(diào)制解調(diào)器緩沖器的占用率或排出速率的信息。如本文中所述,諸如視頻傳送機或數(shù)據(jù)源的數(shù)據(jù)源、視頻接收機、路由器和調(diào)制解調(diào)器緩沖器按照慣例不知道調(diào)制解調(diào)器緩沖器的占用率或排出速率。因此,參考圖1和2, 根據(jù)一個實施例,估計調(diào)制解調(diào)器排出速率140J40,并調(diào)整向調(diào)制解調(diào)器緩沖器130、230 傳送視頻數(shù)據(jù)的速率120、220以便不超過調(diào)制解調(diào)器排出速率140、240的估計從而減少視頻數(shù)據(jù)的通信延遲。根據(jù)一個實施例,如將變得更加顯而易見的,將視頻數(shù)據(jù)的傳輸速率 120,220調(diào)整為不超過基于調(diào)制解調(diào)器排出速率140J40的估計所計算的允許傳輸速率。 如將變得更加顯而易見的,可以將各種方法用于估計調(diào)制解調(diào)器排出速率140440。能夠在各個時間點估計調(diào)制解調(diào)器排出速率140J40,并且能夠調(diào)整傳輸速率 120、220。例如,能夠周期性地估計調(diào)制解調(diào)器排出速率140、240并調(diào)整傳輸速率120、220。 在特定示例中,在視頻數(shù)據(jù)的傳輸期間能夠至少兩次執(zhí)行估計和調(diào)整。在另一示例中,能夠連續(xù)地執(zhí)行估計和調(diào)整。更具體地,能夠例如使用諸如移動平均值的統(tǒng)計分析連續(xù)地監(jiān)視關(guān)于調(diào)制解調(diào)器排出速率140、240的信息。如果統(tǒng)計分析指示調(diào)制解調(diào)器排出速率的當(dāng)前估計與調(diào)制解調(diào)器排出速率140340的新估計之間的差在統(tǒng)計上是顯著的,則能夠基于調(diào)制解調(diào)器排出速率140440的新估計來調(diào)整傳輸速率120、220。此外,根據(jù)一個實施例,可以將調(diào)制解調(diào)器排出速率140440的估計用于確定用于調(diào)整傳輸速率120、220的程度。例如,如果與20%比較調(diào)制解調(diào)器排出速率140J40的估計增加了 50%,則傳輸速率120、220增加更多。在另一示例中,如果與50%比較調(diào)制解調(diào)器排出速率140 J40的估計減少了 75%,則傳輸速率120、220減少更多。各種實施例被用于估計調(diào)制解調(diào)器排出速率140440。例如,特別地,如將變得更加顯而易見的,可以將諸如時間戳的分組分散(dispersion)或定時數(shù)據(jù)用于估計調(diào)制解調(diào)器排出速率140J40。如本文所述,根據(jù)一個實施例,分組分散用來估計調(diào)制解調(diào)器排出速率140440 (在本文中稱為“分散實施例”)。例如,仍參考圖1和2,能夠使用數(shù)據(jù)的量除以時間來估計調(diào)制解調(diào)器排出速率140440。根據(jù)一個實施例,如將變得更加顯而易見的,在計算分組分散時使用每個視頻分組突發(fā)生成的不止一個分組。更具體地,假設(shè)視頻數(shù)據(jù)的幀導(dǎo)致七個分組的突發(fā),并且那七個分組在調(diào)制解調(diào)器緩沖器130、230中。根據(jù)一個實施例,分組分散是被從調(diào)制解調(diào)器緩沖器130、230連續(xù)地去除的分組之間的時間量。例如,如果在時間tl去除第一分組,在時間t2去除第二分組并在時間t3去除第三分組,則第一和第二分組之間的分散是時間t2和時間tl之間的差dl 且第二和第三分組之間的分散是時間t3和時間t2之間的差d2。在用于視頻幀的七個分組的突發(fā)的示例中,在從調(diào)制解調(diào)器緩沖器130、230去除七個分組的七個時間tl t7之間將存在六個差dl d6。根據(jù)一個實施例,能夠通過用平均分散除以平均分組大小來估計調(diào)制解調(diào)器排出速率140J40。在這種情況下,可以通過用時間tl t7之間的差dl d6 的平均值除以七個分組的平均大小來估計調(diào)制解調(diào)器排出速率140、對0。通常,接收機150、250不直接觀察時間tl t7。然而,接收機150、250能夠使用各分組的接收時間來近似時間tl t7。使用各分組的接收時間來近似時間tl t7 —般地是準(zhǔn)確的,因為附加的顯著分散是不太可能的。此外,在的確發(fā)生附加的顯著分散的罕見情況下,能夠統(tǒng)計地控制附加分散。在一個實施例中,視頻傳送機110、210生成視頻分組并記錄每個視頻分組的序號和以字節(jié)為單位的大小。視頻傳送機110、210還記錄指示分組突發(fā)的序號范圍。根據(jù)一個實施例,特別地,將實時傳輸協(xié)議(RTCP)報告用于確定分組接收時間、序號范圍和視頻分組大小。例如,視頻接收機150、250向視頻傳送機110、210發(fā)回包括每個接收到的視頻分組的接收狀態(tài)和時間的擴展RTCP分組。視頻傳送機110、210然后使用接收狀態(tài)來確定接收到的分組的突發(fā),以及使用接收時間來估計例如本文所述的時間tl t7。在另一實施例中,路由器260監(jiān)視視頻分組流并針對每個視頻分組例如在本地存儲器中記錄實時傳輸協(xié)議(RTP)序號和以字節(jié)為單位的大小。路由器260還記錄指示被發(fā)送到調(diào)制解調(diào)器緩沖器230的分組突發(fā)的序號范圍。視頻接收機250向視頻傳送機210發(fā)回包括接收狀態(tài)和接收到每個視頻分組的時間的擴展RTCP分組。路由器260使用接收狀態(tài)及其存儲的突發(fā)信息來確定接收到的分組的突發(fā),連同存儲的分組大小和接收時間一起來估計例如本文所述的時間tl t7。在另一實施例中,特別地,標(biāo)準(zhǔn)的而不是擴展的RTP控制協(xié)議(RTCP)報告用于確定分組接收時間、序號范圍和分組大小。例如,視頻傳送機210或路由器260記錄指示分組突發(fā)的序號范圍以及每個視頻分組的RTP序號和以字節(jié)為單位的大小。視頻接收機250向視頻傳送機210發(fā)回標(biāo)準(zhǔn)RTCP報告。視頻傳送機210或路由器沈0確定“部分丟失”字段是否指示沒有分組丟失,并且RTCP報告是否覆蓋單個突發(fā)中的分組。如果是這樣,則可以由路由器260或視頻傳送機110、210上的本地存儲的量來確定所發(fā)送的業(yè)務(wù)的量。由“NTP 時間戳”字段來估計用于七分組突發(fā)的結(jié)尾的時間“t7”,并由前一 RTCP報告的“NTP時間戳”字段來估計用于七分組突發(fā)的開始的時間“tl”。如能夠看到的,各種實施例使用每個視頻分組突發(fā)生成的不止一個RTCP分組作為確定分組分散的一部分。因此,如能夠看到的, 能夠?qū)⒎纸M分散信息用于估計調(diào)制解調(diào)器排出速率140、240。根據(jù)一個實施例,使用“定時數(shù)據(jù)”作為估計調(diào)制解調(diào)器排出速率140440的一部分。例如,使關(guān)于何時傳送或接收視頻數(shù)據(jù)的信息與分組時間戳或協(xié)議報告或其組合相關(guān)聯(lián)。協(xié)議報告的示例包括但不限于RTCP或RTP業(yè)務(wù)或報告。例如,根據(jù)一個實施例,使用往返時間來估計任一調(diào)制解調(diào)器排出速率140440。 更具體地,視頻傳送機110、210向視頻接收機150、250傳送分組。傳送分組的時間將被稱為分組傳輸時間。視頻接收機150、250接收分組。視頻接收機150、250接收到傳送的分組的時間將被稱為分組接收時間。視頻接收機150、250在其接收到分組時對視頻傳送機110、 210做出響應(yīng)。例如,視頻接收機150、250可以在其接收到分組時立即對視頻傳送機110、 210進行響應(yīng)。在另一示例中,視頻接收機150、250使用捎帶法(piggy lacking)進行響應(yīng)。視頻傳送機110、210接收視頻接收機150、250的響應(yīng)。該響應(yīng)包括視頻傳送機110、 210向視頻接收機150、250傳送分組的分組傳輸時間。視頻傳送機110、210接收到響應(yīng)的時間將被稱為“響應(yīng)接收時間”。根據(jù)一個實施例,可以通過從分組傳輸時間減去響應(yīng)接收時間來計算往返時間。根據(jù)一個實施例,使用單向延遲的變化來計算緩沖器占用率。例如,每個分組通常帶有與何時傳送分組相對應(yīng)的分組傳輸時間戳。對于使用RTP傳輸?shù)膶崟r會議應(yīng)用而言, 能夠用媒體重放時間戳來近似分組傳輸時間戳。接收機150、250能夠計算每個分組的分組接收時間與其分組傳輸時間戳之間的差以獲得單向延遲估計。根據(jù)一個實施例,具有顯著幅值的單向延遲的變化能夠用來管理緩沖器占用率。根據(jù)一個實施例,例如使用來自在路由器260處接收到的傳輸控制協(xié)議確認(rèn)(TCP ACK)的信息來計算往返時間。例如,假設(shè)使用以及時的方式自動地生成ACK分組的TCP實施方式,路由器260能夠從視頻傳送機210、270接收TCP ACK0可以通過從接收ACK時間減去最后TCP分組傳輸時間來估計往返時間。接收ACK時間是“響應(yīng)接收時間”的示例。最后TCP分組傳輸時間是分組傳輸時間的示例。根據(jù)另一實施例,使用來自雙向?qū)崟r傳輸協(xié)議(RTCP)業(yè)務(wù)的信息來計算往返時間。例如,存在于路由器260或視頻傳送機110、210處的邏輯可以監(jiān)視標(biāo)準(zhǔn)RTP或RTCP信息或其組合,以估計調(diào)制解調(diào)器排出速率140、240或調(diào)制解調(diào)器緩沖器占用率。更具體地, 可以將傳送RTP視頻分組的時間存儲在例如視頻傳送機110、210或路由器260上的本地存儲器中。繼續(xù)本示例,路由器260能夠接收視頻接收機150、250在接收到分組之后立即傳送的RTCP反饋。RTCP反饋將包括在RTCP報告中的“接收的擴展序號”字段中指定的RTP 序號。根據(jù)一個實施例,可以使用來自于來自RTCP報告的“接收的擴展序號”字段的值和傳送RTP視頻分組的時間來確定往返時間。傳送RTP視頻分組的時間和來自“接收的擴展序號”字段的值分別是分組傳輸時間和分組接收時間的示例。特別地,分組傳輸時間、分組接收時間、響應(yīng)接收時間、分組的大小是能夠在確定調(diào)制解調(diào)器排出速率時使用的定時數(shù)據(jù)信息的示例。如本文所述,分組可以是RTCP分組或
8TCP分組。如本文所述,特別地,可以從標(biāo)準(zhǔn)RTCP報告、擴展RTCP報告或從TCP分組獲得特別地諸如分組傳輸時間、分組接收時間、響應(yīng)接收時間、分組大小的信息,如本文所述。可以單獨地或相互組合地使用定時數(shù)據(jù)實施例和分散實施例。例如,定時數(shù)據(jù)實施例或分散實施例能夠提供足夠的信息來估計調(diào)制解調(diào)器排出速率或調(diào)制解調(diào)器緩沖器占用率。特別地,例如出于對結(jié)果進行交叉檢查的目的,可以相互結(jié)合地使用定時數(shù)據(jù)實施例和分散實施例二者。類似地,特別地,例如出于對結(jié)果進行交叉檢查的目的,可以一起使用調(diào)制解調(diào)器排出速率或調(diào)制解調(diào)器緩沖器占用率實施例。因此,可以使用本文所述的“定時數(shù)據(jù)”作為估計調(diào)制解調(diào)器排出速率140440的一部分。根據(jù)一個實施例,可以使用調(diào)制解調(diào)器緩沖器占用率作為調(diào)整傳輸速率的一部分。根據(jù)一個實施例,如將變得更加顯而易見的,可以使用調(diào)制解調(diào)器緩沖器占用率作為計算允許已調(diào)整傳輸速率(ATR)的一部分。參考圖1和2,根據(jù)一個實施例,調(diào)制解調(diào)器緩沖器占用率等于被注入到調(diào)制解調(diào)器緩沖器130、230中的數(shù)據(jù)的總量減去被排出和丟失的數(shù)據(jù)的量。因此,根據(jù)一個實施例,調(diào)制解調(diào)器緩沖器占用率能夠用來直接確定視頻通信的延遲。在一個實施例中,如將變得更加顯而易見的,使用緩沖器占用率來確定是否將調(diào)整傳輸速率120、220。在一個實施例中,如本文所述,通過調(diào)制解調(diào)器排出速率估計來間接地估計緩沖器占用率。根據(jù)一個實施例,可以使用如本文所述的定時數(shù)據(jù)或分組分散或其組合作為估計緩沖器的占用率的一部分。根據(jù)一個實施例,計算初始調(diào)制解調(diào)器排出速率。例如,參考圖1和2,將近傳送視頻數(shù)據(jù)流的開始和在調(diào)制解調(diào)器緩沖器130、230包含足夠量的數(shù)據(jù)之后,可以使用分散實施例或定時數(shù)據(jù)實施例來確定調(diào)制解調(diào)器排出速率的初始估計。更具體地,由于調(diào)制解調(diào)器130、230的輸入速率通常比調(diào)制解調(diào)器130、230的輸出速率大得多,所以諸如視頻傳送機110、210或數(shù)據(jù)源270的數(shù)據(jù)源可以在分組突發(fā)中傳送與數(shù)據(jù)的一個切片或一個幀相關(guān)聯(lián)的連續(xù)分組??梢岳缭谝曨l接收機150、250處測量與突發(fā)相關(guān)聯(lián)的分組的分散以估計初始調(diào)制解調(diào)器排出速率。根據(jù)一個實施例,假設(shè)調(diào)制解調(diào)器排出速率140440的初始估計為實際調(diào)制解調(diào)器排出速率140J40。根據(jù)一個實施例,使用調(diào)制解調(diào)器排出速率140 J40的該初始估計作為調(diào)制解調(diào)器排出速率140340的未來估計的上界。根據(jù)一個實施例,如果調(diào)制解調(diào)器排出速率140 J40的未來估計高于調(diào)制解調(diào)器排出速率140 J40的初始估計,則調(diào)制解調(diào)器排出速率140、240的更高未來估計替換調(diào)制解調(diào)器排出速率140、240的初始估計作為上界。根據(jù)一個實施例,使用調(diào)制解調(diào)器排出速率140440的估計作為調(diào)整視頻數(shù)據(jù)被傳送到調(diào)制解調(diào)器緩沖器130、230的傳輸速率120、220的一部分。例如,可以使用調(diào)制解調(diào)器排出速率140340的估計作為確定允許傳輸速率(ATR)的一部分。將傳輸速率120、220 調(diào)整為不超過允許傳輸速率(ATR)。例如,根據(jù)一個實施例,調(diào)整傳輸速率120、220,使得其不超過且保持少量地低于調(diào)制解調(diào)器排出速率140440的估計。通過保持傳輸速率120、 220在已調(diào)整傳輸速率以下,如將變得更加顯而易見的,允許調(diào)制解調(diào)器緩沖器積壓隨著時間的推移而完全排出。根據(jù)一個實施例,例如使用諸如下述算法1的算法來逐漸地調(diào)整用于各傳輸速率120、220的允許傳輸速率,從而不對關(guān)于調(diào)制解調(diào)器排出速率的新監(jiān)視信息反映過度。參考算法1,NATR代表從調(diào)整得到的新的允許傳輸速率,CATR代表當(dāng)前允許傳輸速率,EMDR代表調(diào)制解調(diào)器排出速率的估計,以及beta被設(shè)置為使得緩沖器累積能夠隨著時間的推移而排出的值。根據(jù)一個實施例,alpha是0.1與0.9之間的數(shù)。根據(jù)一個實施例,alpha是0. 2。根據(jù)一個實施例,beta是0. 95至0. 98之間的常數(shù)。NATR = (1 -alpha) XCATR+ ( EMDR *beta) Xalpha 算法 1
根據(jù)一個實施例,算法1提供利用率(beta接近于1)與快速排出速率(beta<<l)之間的權(quán)衡。根據(jù)一個實施例,使用調(diào)制解調(diào)器緩沖器占用率作為調(diào)整傳輸速率120、220的一部分。例如,可以通過將常數(shù)beta改變?yōu)榫彌_器占用率的函數(shù)來采用調(diào)制解調(diào)器緩沖器占用率的估計,從而自適應(yīng)地在調(diào)制解調(diào)器緩沖器占用率低時實現(xiàn)較高的調(diào)制解調(diào)器緩沖器利用率,并在調(diào)制解調(diào)器緩沖器占用率高時增加調(diào)制解調(diào)器排出速率。例如,如果如用“b” 表示的調(diào)制解調(diào)器緩沖器占用率的估計可能潛在地在W 1]的范圍內(nèi),其中,用于估計的調(diào)制解調(diào)器緩沖器占用率“b”的0的值指示調(diào)制解調(diào)器緩沖器是空的且用于估計的調(diào)制解調(diào)器緩沖器占用率“b”的1的值指示調(diào)制解調(diào)器緩沖器是滿的或溢出,則可以使用下述算法2來自適應(yīng)地在調(diào)制解調(diào)器緩沖器占用率低時增加調(diào)制解調(diào)器緩沖器利用率并在調(diào)制解調(diào)器緩沖器占用率高時增加調(diào)制解調(diào)器排出速率。NATR = (1 -alpha) XCATR + alphaX (EMDR*beta(b)) 算法 2
如算法2所描繪的,beta(b)是估計的調(diào)制解調(diào)器緩沖器占用率b的單調(diào)減函數(shù)。根據(jù)一個實施例,beta(b)是使用如下所述的算法3實現(xiàn)的 beta(b) = 1- b 算法 3
對于算法3而言,當(dāng)估計的調(diào)制解調(diào)器緩沖器占用率“b”是小的時,beta(b)將導(dǎo)致 1的值以提供高調(diào)制解調(diào)器緩沖器利用率,并且當(dāng)估計的調(diào)制解調(diào)器緩沖器占用率“b”接近于1時,beta(b)將促使調(diào)制解調(diào)器排出速率增加。還可以使用其它單調(diào)函數(shù)來計算 beta (b),諸如下述算法4
beta(b) = 0. 89 (1- sqrt (b)) +0.1 算法 4
根據(jù)用于算法4的一個實施例,beta(0)的計算提供0.99的值且beta(1)的計算提供 0. 1的值。根據(jù)一個實施例,可以將如在算法4中描繪的平方根函數(shù)用于比在算法3中描繪的線性函數(shù)更具侵略性地調(diào)整beta。根據(jù)一個實施例,算法1和2使用一階自動侵略實施方式來提供平滑濾波器。可以使用其它形式的平滑濾波器,諸如由以下算法5提供的窗口化。NATR (n) = 1/3 X ( EMDR (η) + EMDR (n_l) + EMDR (n_2)) 算法 5
參考圖2,如本文所述,根據(jù)一個實施例,調(diào)制解調(diào)器緩沖器230能夠從兩個數(shù)據(jù)源 210、270接收數(shù)據(jù)??梢砸圆煌膫鬏斔俾?20、280來傳送來自這兩個數(shù)據(jù)源210、270的數(shù)據(jù)。特別地,可以基于數(shù)據(jù)的類型或提供傳送的數(shù)據(jù)的數(shù)據(jù)源210、270的類型來將傳送的數(shù)據(jù)排列優(yōu)先級。例如,可以為來自視頻傳送機210的視頻數(shù)據(jù)提供比來自另一數(shù)據(jù)源 270的非視頻數(shù)據(jù)更高的優(yōu)先級。路由器260能夠使用分配的優(yōu)先級來確定各數(shù)據(jù)被傳送到調(diào)制解調(diào)器緩沖器230的順序。能夠基于優(yōu)先級來單獨地調(diào)整傳輸速率220J80。例如, 根據(jù)一個實施例,調(diào)整傳輸速率220J80,使得由路由器260從這兩個數(shù)據(jù)源210、270接收到的數(shù)據(jù)的傳輸速率220、280的總和不超過總的允許傳輸速率(ATR)。根據(jù)一個實施例,使用算法1、2或5中的任何一個計算的允許傳輸速率(ATR)被用作總允許傳輸速率(TATR)。
1
根據(jù)一個實施例,為用于視頻數(shù)據(jù)的傳輸速率220提供比用于非視頻數(shù)據(jù)的傳輸速率280更高百分比的總允許傳輸速率(ATR)。例如,可以將用于非視頻數(shù)據(jù)的傳輸速率 280調(diào)整為小delta (微量),并且可以將用于視頻數(shù)據(jù)的傳輸速率220 (TRVD)調(diào)整為不超過總允許傳輸速率(TATR)減去該小delta,如在以下算法6中所描繪的
TRVD = TATR - delta算法 6。因此,各種實施例非常適合于協(xié)作地調(diào)整用于多個數(shù)據(jù)源210、270的多個傳輸速率220J80。例如,如本文所述,自適應(yīng)地調(diào)整傳輸速率220J80,使得傳輸速率220J80的總和不超過總允許傳輸速率(TATR)。根據(jù)一個實施例,當(dāng)不在接收視頻數(shù)據(jù)時,為用于非視頻數(shù)據(jù)的傳輸速率280提供高百分比的調(diào)制解調(diào)器排出速率MO的估計。例如,當(dāng)調(diào)制解調(diào)器緩沖器230不在接收任何視頻數(shù)據(jù)時,可以將用于非視頻數(shù)據(jù)的傳輸速率280調(diào)整為總允許傳輸速率(TATR)減去小delta之間的差。然而,當(dāng)調(diào)制解調(diào)器緩沖器230正在從視頻傳送機210接收視頻數(shù)據(jù)時,如本文所述,使用算法2來調(diào)整傳輸速率220和觀0。根據(jù)各種實施例,數(shù)據(jù)源270能夠傳送數(shù)據(jù),因為數(shù)據(jù)源270的傳輸速率280被分配小的delta,而同時,能夠為視頻傳送機210的用戶提供高質(zhì)量觀看體驗,因為視頻傳送機210的傳輸速率220被基于總允許傳輸速率(TATR)減去小delta之間的差自適應(yīng)地調(diào)離
iF. ο根據(jù)一個實施例,使用常規(guī)QoS限制機制作為調(diào)整用于非視頻數(shù)據(jù)的傳輸速率 280的一部分以減少通信延遲。例如,如果數(shù)據(jù)源270以比由算法2中描繪的delta所分派的更高的速率來傳送非視頻數(shù)據(jù),則根據(jù)一個實施例,路由器260將丟棄來自非視頻數(shù)據(jù)的分組。假設(shè)數(shù)據(jù)源270正使用現(xiàn)代TCP實施方式,標(biāo)準(zhǔn)TCP控制機制將通過減小非視頻數(shù)據(jù)的傳輸速率280來對路由器沈0的分組丟棄作出反應(yīng)。然而,由于分組丟棄對于視頻數(shù)據(jù)而言是不可接受的,所以各種實施例允許調(diào)整視頻數(shù)據(jù)的傳輸速率220以降低丟棄視頻分組的概率。例如,如本文所述,基于調(diào)制解調(diào)器排出速率240的估計來確定新的已調(diào)整傳輸速率(ATR)。視頻傳送機210基于新的已調(diào)整傳輸速率(ATR)來調(diào)整傳輸速率220以降低視頻分組被丟棄的概率。雖然在僅一個視頻傳送機傳送視頻數(shù)據(jù)的上下文中描述了各種實施例,但各種實施例非常適合于協(xié)作地調(diào)整用于多個視頻傳送機的多個傳輸速率。能夠基于調(diào)制解調(diào)器排出速率的估計來調(diào)整多個視頻傳送機的傳輸速率。如本文所述,可以將如在算法1、2、5中描繪的允許傳輸速率(ATR)或如在算法6中描繪的視頻數(shù)據(jù)的傳送(TRVD)用于調(diào)整傳輸速率120、220、觀0。例如當(dāng)沒有一個數(shù)據(jù)源正在傳送非視頻數(shù)據(jù)時,可以使用ATR。當(dāng)任何數(shù)據(jù)源正在傳送非視頻數(shù)據(jù)時,可以使用TRVD和delta。例如,根據(jù)任何數(shù)據(jù)源是否正在傳送非視頻數(shù)據(jù),可以將來自多個視頻傳送機的視頻數(shù)據(jù)的傳輸速率調(diào)整為如在算法1、2、5中描繪的允許傳輸速率(ATR)的相等比例,或如在算法6中描繪的視頻數(shù)據(jù)的傳輸(TVRD)的相等比例。在另一示例中,兩個不同的視頻數(shù)據(jù)流可以具有不同的優(yōu)先級。在這種情況下, 可以將兩個視頻數(shù)據(jù)流的傳輸速率調(diào)整為不超過允許傳輸速率(ATR)的不同比例。例如, 可以將用于一個視頻流的傳輸速率A調(diào)整為不超過允許傳輸速率(ATR)的40%,而可以將用于第二視頻流的傳輸速率B調(diào)整為不超過允許傳輸速率(ATR)的60%。通過基于調(diào)制解調(diào)器排出速率的估計來自適應(yīng)地調(diào)整傳輸速率,例如使用允許傳輸速率(ATR),可以控制傳輸速率以降低調(diào)制解調(diào)器緩沖器將溢出從而引起視頻業(yè)務(wù)的延遲的概率。類似地,可以類似地將用于視頻數(shù)據(jù)的傳輸速率(TRVD)的各部分和delta的各部分分派給與例如路由器沈0 通信的多個視頻數(shù)據(jù)源和多個非視頻數(shù)據(jù)源??梢允褂帽挥糜谡{(diào)整傳輸速率120、220的各種實施例中的任何一個或多個作為調(diào)整傳輸速率觀0的一部分。在一個示例中,基于使用算法1、2或5基于調(diào)制解調(diào)器排出速率140340的估計計算的允許傳輸速率(ATR)來調(diào)整傳輸速率120、220??梢詫鬏斔俾?80調(diào)整為使用算法6基于調(diào)制解調(diào)器排出速率MO的估計計算的允許傳輸速率(ATR) 的小delta。圖3描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的設(shè)備300的方框圖。 可以與如所示的不同地布置圖3中的表示特征的方框,并且其能夠與本文所述的相比實現(xiàn)附加或更少的特征。此外,可以以各種方式將由圖3中的方框表示的特征組合??梢允褂糜布?、硬件和軟件、硬件和固件或其組合來實現(xiàn)設(shè)備300。設(shè)備300包括監(jiān)視信息接收機310 (也稱為“接收機”)、網(wǎng)絡(luò)緩沖器排出速率估計器320 (也稱為“估計器320”)、允許傳輸速率計算器322 (在本文中也稱為“計算器322”)、 允許傳輸速率提供器330 (也稱為“提供器”)以及可選地調(diào)制解調(diào)器緩沖器占用率估計器 325 (也稱為“估計器325”)。根據(jù)一個實施例,設(shè)備300包括調(diào)制解調(diào)器排出速率估計器320,但不包括調(diào)制解調(diào)器緩沖器占用率估計器325。根據(jù)另一實施例,設(shè)備300包括調(diào)制解調(diào)器緩沖器占用率估計器325,但不包括調(diào)制解調(diào)器排出速率估計器320。根據(jù)另一實施例,設(shè)備300包括兩個估計器320和325。將在圖1的上下文中描述設(shè)備300。監(jiān)視信息接收機310被配置為用于接收關(guān)于網(wǎng)絡(luò)緩沖器130的網(wǎng)絡(luò)緩沖器排出速率140的監(jiān)視信息。網(wǎng)絡(luò)緩沖器排出速率140是從網(wǎng)絡(luò)緩沖器130去除視頻數(shù)據(jù)的速率。網(wǎng)絡(luò)緩沖器排出速率估計器320被配置為用于基于監(jiān)視信息來估計網(wǎng)絡(luò)緩沖器排出速率140。允許傳輸速率計算器322被配置為用于基于網(wǎng)絡(luò)緩沖器排出速率140的估計來計算允許傳輸速率(ATR)。允許傳輸速率提供器330被配置為用于向視頻傳送機110提供允許傳輸速率(ATR)以將未來視頻數(shù)據(jù)的傳輸速率調(diào)整為不超過允許傳輸速率(ATR)。在設(shè)備300包括調(diào)制解調(diào)器緩沖器占用率估計器325的情況下, 調(diào)制解調(diào)器緩沖器占用率估計器325能夠使用由接收機310接收到的諸如分組分散或定時數(shù)據(jù)或其組合的信息來估計調(diào)制解調(diào)器緩沖器占用率。允許傳輸速率計算器322能夠使用諸如算法2的算法使用估計的調(diào)制解調(diào)器排出速率和估計的調(diào)制解調(diào)器緩沖器占用率來計算允許傳輸速率,其中,特別地,在算法2中描繪的beta(b)是使用算法3或4計算的。參考圖1和2,特別地,在圖3上描繪的設(shè)備300能夠存在于視頻傳送機110、210、 數(shù)據(jù)源270 (其可以也可以不傳送視頻數(shù)據(jù))、視頻接收機150、250、數(shù)據(jù)接收機四0 (其可以也可以不接收視頻數(shù)據(jù))或路由器260處。圖4描繪根據(jù)一個實施例的減少視頻數(shù)據(jù)的通信延遲的方法的流程圖。雖然在流程圖400中公開了特定操作,但此類操作是示例性的。也就是說,本發(fā)明的實施例非常適合于執(zhí)行各種其它操作或在流程圖400中敘述的操作的變化。應(yīng)認(rèn)識到可以按照與給出的不同的順序來執(zhí)行流程圖400中的操作,并且可以執(zhí)行流程圖400中的所有操作的一部分。在410處,該方法開始。在420處,調(diào)制解調(diào)器緩沖器從視頻傳送機接收當(dāng)前視頻數(shù)據(jù)。例如,參考圖1,假設(shè)視頻傳送機110向調(diào)制解調(diào)器緩沖器130傳送視頻數(shù)據(jù)。調(diào)制解調(diào)器緩沖器130從視頻傳送機110接收視頻數(shù)據(jù)。在430處,監(jiān)視關(guān)于調(diào)制解調(diào)器緩沖器的調(diào)制解調(diào)器排出速率的信息。調(diào)制解調(diào)器排出速率140是從調(diào)制解調(diào)器緩沖器130去除視頻數(shù)據(jù)的速率。例如,仍參考圖1,假設(shè)視頻數(shù)據(jù)幀導(dǎo)致七個分組的突發(fā)且那七個分組在調(diào)制解調(diào)器緩沖器130中。根據(jù)一個實施例,分組分散是被從調(diào)制解調(diào)器緩沖器130連續(xù)地去除的分組之間的時間量。例如,如果在時間tl去除第一分組,在時間t2去除第二分組并在時間t3去除第三分組,則第一和第二分組之間的分散是時間t2和時間tl之間的差dl且第二和第三分組之間的分散是時間t3 和時間t2之間的差d2。在用于幀的七個分組的示例中,將存在用于從調(diào)制解調(diào)器緩沖器去除七個分組的七個時間tl t7的六個差dl d6。差dl d6和七個分組的大小是關(guān)于調(diào)制解調(diào)器排出速率140的信息的示例。雖然在七個分組的上下文中描述了各種實施例, 但實施例非常適合于使用很少的分組,諸如六個分組。如本文所討論的,可以使用關(guān)于RTCP的實施例作為確定分組分散的一部分。監(jiān)視信息可以包括如本文所述的標(biāo)準(zhǔn)RTP信息、RTCP信息、其擴展、TCP信息或其組合以及用于獲得用于估計調(diào)制解調(diào)器排出速率MO的信息的反饋中的任何一個或多個。在440處,基于監(jiān)視信息來估計調(diào)制解調(diào)器排出速率。例如,參考圖1,存在于視頻接收機140處或視頻傳送機110處的設(shè)備300可以接收在操作430中監(jiān)視的關(guān)于調(diào)制解調(diào)器排出速率140的信息。設(shè)備300可以使用接收到的監(jiān)視信息來估計調(diào)制解調(diào)器排出速率 140。根據(jù)一個實施例,能夠通過用平均分散除以平均分組大小來估計調(diào)制解調(diào)器排出速率 140。在這種情況下,可以通過用時間tl t7之間的差dl d6的平均值除以七個分組的平均大小來估計調(diào)制解調(diào)器排出速率140。雖然在七個分組的上下文中描述了各種實施例, 但實施例非常適合于使用更多或更少的分組。例如,可以使用六個分組而不是七個分組。在450處,將視頻傳送機傳送未來視頻數(shù)據(jù)的傳輸速率調(diào)整為不超過基于調(diào)制解調(diào)器排出速率的估計計算的允許傳輸速率(ATR)。繼續(xù)本示例并參考圖1,設(shè)備300可以使用在操作440中確定的調(diào)制解調(diào)器排出速率140的估計來使用算法1計算允許傳輸速率 (ATR)0設(shè)備300可以使用諸如算法1 6的算法來計算允許傳輸速率(ATR)。設(shè)備300可以促使傳輸速率120被調(diào)整,使得傳輸速率120不超過允許傳輸速率(ATR)。例如,如果允許傳輸速率(ATR)是由視頻接收機150確定的,則視頻接收機150能夠?qū)⒃试S傳輸速率(ATR) 傳送至視頻傳送機110。視頻傳送機110能夠基于接收到的允許傳輸速率(ATR)來調(diào)整傳輸速率120。替換地,存在于視頻傳送機110處的設(shè)備300可以計算允許傳輸速率(ATR)。 在這種情況下,視頻傳送機110可以將傳輸速率120調(diào)整為不超過允許傳輸速率(ATR)。在460處,該方法結(jié)束。如本文所述,各種實施例允許在視頻數(shù)據(jù)的傳輸期間繼續(xù)監(jiān)視關(guān)于調(diào)制解調(diào)器排出速率140的信息,估計調(diào)制解調(diào)器排出速率140并基于允許傳輸速率(ATR)來調(diào)整傳輸速率120。各種實施例允許接收機150與視頻傳送機110之間的通信環(huán)。例如,可以將關(guān)于調(diào)制解調(diào)器排出速率140的信息從視頻接收機150傳送至視頻傳送機110。視頻傳送機110 可以基于接收到的信息來估計調(diào)制解調(diào)器排出速率140,基于調(diào)制解調(diào)器排出速率的估計來確定允許傳輸速率(ATR)并以被調(diào)整為不超過ATR的傳輸速率120來傳送視頻數(shù)據(jù)。替換地,視頻接收機150能夠估計調(diào)制解調(diào)器排出速率140并基于新的調(diào)制解調(diào)器排出速率 140的估計來確定ATR且將ATR傳送至視頻傳送機110。視頻傳送機110能夠以被調(diào)整為不超過其接收到的接收到的ATR的傳輸速率120來傳送視頻數(shù)據(jù)。雖然在單個數(shù)據(jù)源一視頻傳送機110 (圖1) 一的上下文中描述了以上示例,但如在圖2中描繪的,實施例非常適合于具有多個數(shù)據(jù)源210、270的系統(tǒng)200。例如,在家中的一個人能夠促使視頻被從視頻傳送機210傳送,而同一家中的另一個人可以促使網(wǎng)頁被從位于同一家中的另一數(shù)據(jù)源270上傳至諸如網(wǎng)站的數(shù)據(jù)接收機四0。將在流程圖300的上下文中描述如在圖2中描繪的具有多個數(shù)據(jù)源210、270的實施例。為了說明假設(shè)設(shè)備300 存在于路由器260處。在410處,該方法開始。在420處,調(diào)制解調(diào)器緩沖器從視頻傳送機接收當(dāng)前視頻數(shù)據(jù)。例如,假設(shè)視頻傳送機210通過路由器沈0向調(diào)制解調(diào)器緩沖器230傳送高清晰度視頻。調(diào)制解調(diào)器緩沖器 230從視頻傳送機260接收高清晰度視頻數(shù)據(jù)。在430處,監(jiān)視關(guān)于調(diào)制解調(diào)器緩沖器的調(diào)制解調(diào)器排出速率的信息。調(diào)制解調(diào)器排出速率240是從調(diào)制解調(diào)器緩沖器230去除數(shù)據(jù)的速率。例如,根據(jù)一個實施例,存在于路由器260處的路由器邏輯可以監(jiān)視如本文所述的標(biāo)準(zhǔn)RTP信息、RTCP信息、其擴展、 TCP信息或其組合以及如本文所述的用于獲得用于估計調(diào)制解調(diào)器排出速率MO的信息的反饋中的任何一個或多個。例如,并且如在本文中更詳細(xì)地描述的,路由器邏輯可以存儲路由器沈0向調(diào)制解調(diào)器緩沖器230傳送分組的分組傳輸時間。路由器260將接收與傳送的分組對應(yīng)的反饋,其包括視頻接收機250接收到分組的分組接收時間。分組傳送時間和分組接收時間是關(guān)于調(diào)制解調(diào)器排出速率MO的信息的示例。在本說明中,路由器邏輯和設(shè)備300存在于路由器260處。監(jiān)視信息的路由器邏輯可以是也可以不是設(shè)備300的一部分。例如,路由器邏輯可以存在于路由器260處,但不是設(shè)備300的一部分。替換地,路由器邏輯可以是設(shè)備300的一部分。在440處,基于監(jiān)視信息來估計調(diào)制解調(diào)器排出速率。繼續(xù)本示例,參考圖2,存在于路由器260處的設(shè)備300可以接收在操作430處監(jiān)視的關(guān)于調(diào)制解調(diào)器排出速率240的信息。設(shè)備300可以使用接收到的監(jiān)視信息來估計調(diào)制解調(diào)器排出速率M0。根據(jù)一個實施例,能夠通過用平均分散除以平均分組大小來估計調(diào)制解調(diào)器排出速率M0。在這種情況下,可以通過用時間tl t7之間的差dl d6的平均值除以七個分組的平均大小來估計調(diào)制解調(diào)器排出速率M0。雖然在七個分組的上下文中描述了各種實施例,但實施例非常適合于使用更多或更少的分組。例如,可以使用六個分組而不是七個分組。在450處,將視頻傳送機傳送未來視頻數(shù)據(jù)的傳輸速率調(diào)整為不超過基于調(diào)制解調(diào)器排出速率的估計計算的允許傳輸速率(ATR)。假設(shè)設(shè)備300存在于路由器260上,設(shè)備 300可以使用諸如算法1 6的算法基于調(diào)制解調(diào)器排出速率MO的估計來計算允許傳輸速率(ATR)。參考算法6,路由器260處的設(shè)備300可以使用本文所述的算法6來計算用于數(shù)據(jù)源270的第一允許傳輸速率和用于視頻傳送機210的第二允許傳輸速率。例如,特別地,用算法1、2或5中的任何一個或多個來確定總允許傳輸速率(ATR)??梢詫⑺惴?用于計算第一允許傳輸速率和第二允許傳輸速率??梢詫⒌谝辉试S傳輸速率設(shè)置為delta。 可以將第二允許傳輸速率設(shè)置為用于視頻數(shù)據(jù)的傳輸速率(TRVD),其為總允許傳輸速率(TATR)與delta之間的差。路由器260可以將相應(yīng)的第一和第二允許傳輸速率傳送至數(shù)據(jù)源270和視頻傳送機210。視頻傳送機210能夠?qū)⒁曨l數(shù)據(jù)的傳輸速率220調(diào)整為不超過第二允許傳輸速率。根據(jù)一個實施例,如本文所述,使用常規(guī)QoS限制機制作為將非視頻數(shù)據(jù)的傳輸速率280調(diào)整為不超過第一允許傳輸速率的一部分。在460處,該方法結(jié)束。雖然流程圖400的第二說明假設(shè)設(shè)備300存在于路由器260處,但在流程圖400 的第二說明中討論的各種實施例還非常適合于存在于其它位置上的設(shè)備300,特別地,諸如存在于視頻傳送機210、視頻接收機250上。例如,可以將關(guān)于調(diào)制解調(diào)器排出速率MO的信息傳送至設(shè)備300或在設(shè)備300處獲得,所述設(shè)備300存在于視頻傳送機210和數(shù)據(jù)源 270處。在另一示例中,可以將關(guān)于調(diào)制解調(diào)器排出速率240的信息傳送至視頻接收機250 或在視頻接收機250處獲得。如本文所述,各種實施例允許在視頻數(shù)據(jù)的傳輸期間繼續(xù)監(jiān)視關(guān)于調(diào)制解調(diào)器排出速率MO的信息,估計調(diào)制解調(diào)器排出速率240并調(diào)整傳輸速率220。圖5描繪根據(jù)一個實施例的用于減少視頻數(shù)據(jù)的通信延遲的系統(tǒng)500。根據(jù)一個實施例,圖5描繪用于特別地使用Skype "<或Google 聊天的兩個電子設(shè)備510和520之間的視頻會議的系統(tǒng)500。系統(tǒng)500包括兩個電子設(shè)備510和520,電子設(shè)備510和520兩者分別包括傳送機210A、210B和接收機250A、250B。該系統(tǒng)還包括路由器^0A、260B、調(diào)制解調(diào)器緩沖器230A、230B、網(wǎng)絡(luò)530、數(shù)據(jù)源270和數(shù)據(jù)接收機四0。數(shù)據(jù)源270、電子設(shè)備510、 路由器^OA和調(diào)制解調(diào)器緩沖器230A在網(wǎng)絡(luò)530的一側(cè),而電子設(shè)備520、路由器^OB和調(diào)制解調(diào)器緩沖器230A在網(wǎng)絡(luò)530的另一側(cè)。調(diào)制解調(diào)器緩沖器230A、230B包括用于數(shù)據(jù)流的兩個方向的兩個部分。例如,調(diào)制解調(diào)器緩沖器230A的第一部分被用于接收dl和 vl并傳送dl和v2。調(diào)制解調(diào)器緩沖器230A的第二部分被用于接收v2和傳送v2。路由器 260A.260B包括相應(yīng)的設(shè)備300A、300B。根據(jù)一個實施例,設(shè)備300A、300B是設(shè)備300 (圖 3)的示例。視頻傳送機210A、210B和視頻接收機250A、250B分別是在圖2中描繪的視頻傳送機210和視頻接收機250的示例。調(diào)制解調(diào)器緩沖器230A、230B是在圖2中描繪的調(diào)制解調(diào)器緩沖器230的示例。電子設(shè)備510和520能夠通過其相應(yīng)的路由器^0A、260B、調(diào)制解調(diào)器緩沖器 230A、230B和網(wǎng)絡(luò)530來相互傳送和發(fā)送數(shù)據(jù)V1、V2。例如,電子設(shè)備510能夠向電子設(shè)備 520傳送視頻vl且電子設(shè)備520能夠向電子設(shè)備510傳送視頻v2。根據(jù)一個實施例,可選數(shù)據(jù)源270通過路由器^OA和緩沖器230A將可選非視頻數(shù)據(jù)dl傳送至可選數(shù)據(jù)接收機 2900視頻vl是以傳輸速率220A傳送的,可選數(shù)據(jù)dl是以傳輸速率280傳送的,并且視頻 v2是以傳輸速率220B傳送的。本文所述的各種實施例被用于減少視頻數(shù)據(jù)的通信延遲。例如,假設(shè)數(shù)據(jù)源270 不在傳送數(shù)據(jù)dl,路由器^K)A、260B上的設(shè)備300A、300B能夠接收分組分散信息或時間數(shù)據(jù)信息或其組合,如本文所述,并估計相應(yīng)調(diào)制解調(diào)器緩沖器230A、230B的相應(yīng)的調(diào)制解調(diào)器排出速率M0A、240B或調(diào)制解調(diào)器緩沖器占用率。特別地,設(shè)備300A、300B能夠使用諸如算法1、2或5的算法基于調(diào)制解調(diào)器排出速率240AJ40B的估計來計算允許傳輸速率 (ATR)。如本文所述,如果數(shù)據(jù)源270正在傳送數(shù)據(jù)dl,則使用算法1、2或5計算的ATR可以用作總ATR,并且設(shè)備300A可以使用算法6來計算第一和第二允許傳輸速率。例如,設(shè)備 300A能夠?qū)⒂糜跀?shù)據(jù)源270的第一允許傳輸速率設(shè)置為等于delta并將用于電子設(shè)備510 的第二允許傳輸速率設(shè)置為等于如在算法6中描繪的TVRD。如本文所述,路由器^OA能夠使用常規(guī)QoS限制機制將數(shù)據(jù)源270的數(shù)據(jù)dl的傳輸速率280調(diào)整為不超過第一允許傳輸速率。路由器^OA能夠?qū)⒌诙试S傳輸速率傳送至電子設(shè)備510的傳送機210A。視頻傳送機210A能夠?qū)⑵鋫鬏斔俾?20A調(diào)整為不超過第二允許傳輸速率。雖然在路由器^0A、260B上描繪了設(shè)備300A、300B,其可以在其它地方。例如,特別地,接收機250A可以將諸如時間數(shù)據(jù)信息或分組分散信息的信息傳送至存在于電子設(shè)備520上而不是路由器^OB上的設(shè)備300??梢允褂糜嬎銠C可讀存儲介質(zhì)和存在于例如計算機系統(tǒng)或類似設(shè)備的計算機可讀存儲介質(zhì)中的計算機可執(zhí)行指令來實現(xiàn)本文所述的實施例中的任何一個或多個。計算機可讀存儲介質(zhì)可以是能夠在上面存儲指令的任何種類的存儲器。計算機可讀存儲介質(zhì)的示例包括但不限于盤、緊致盤(⑶)、數(shù)字多功能設(shè)備(DVD)、只讀存儲器(ROM)、閃存等。如上所述,在一個實施例中,將本發(fā)明的實施例的某些過程和操作實現(xiàn)為一系列指令(例如軟件程序),所述指令存在于計算機系統(tǒng)的計算機可讀存儲介質(zhì)內(nèi)且被計算機系統(tǒng)的處理器執(zhí)行。在被執(zhí)行時,指令促使計算機系統(tǒng)實現(xiàn)本發(fā)明的實施例的功能。根據(jù)一個實施例,計算機可讀存儲介質(zhì)具有存儲在其上面的用于促使計算機系統(tǒng)執(zhí)行減少視頻數(shù)據(jù)的通信延遲的方法的計算機可讀程序指令,其中,該方法包括在網(wǎng)絡(luò)緩沖器130處從第一傳送機110接收420視頻數(shù)據(jù);監(jiān)視430關(guān)于網(wǎng)絡(luò)緩沖器排出速率140和關(guān)于網(wǎng)絡(luò)緩沖器占用率的信息,其中,網(wǎng)絡(luò)緩沖器排出速率140是視頻數(shù)據(jù)被從網(wǎng)絡(luò)緩沖器130去除的速率,并且其中,網(wǎng)絡(luò)緩沖器占用率是存在于網(wǎng)絡(luò)緩沖器130中的數(shù)據(jù)的量; 以及通過向設(shè)備300提供監(jiān)視信息來降低網(wǎng)絡(luò)緩沖器130中網(wǎng)絡(luò)緩沖器累積的概率,設(shè)備 300基于監(jiān)視信息來計算用于第一傳送機110的允許傳輸速率。各種實施例允許在傳送高質(zhì)量視頻的同時監(jiān)視并控制通信延遲。RTCP的常規(guī)使用提供關(guān)于統(tǒng)計損失和粗粒延遲測量的信息。常規(guī)實施方式是僅根據(jù)損失率來調(diào)整比特率,這不保證低延遲。替代地,許多實施方式適合于通過反應(yīng)性地延遲重放時間線來增加延遲,導(dǎo)致高延遲的延長時段。擴展RTCP提供關(guān)于損失數(shù)據(jù)的更細(xì)粒的報告,但不提供避免延遲累積的機制。常規(guī)方法等到HD視頻數(shù)據(jù)的分組丟失,但是那時就太遲而不能提供高質(zhì)量觀看體驗。各種實施例甚至在其它并發(fā)業(yè)務(wù)(諸如大型文件傳輸)的情況下允許使用一般可用寬帶接入方法(諸如電纜或DSL)的低延遲高比特率視頻會議。根據(jù)一個實施例,設(shè)備300降低調(diào)制解調(diào)器溢出和高延遲的可能性。根據(jù)一個實施例,調(diào)整用于被調(diào)制解調(diào)器緩沖器接收到的數(shù)據(jù)的一個或多個傳輸速率主動地使調(diào)制解調(diào)器緩沖器溢出最小化并提供低延遲。各種實施例允許根據(jù)可觀察條件基于組件的清楚響應(yīng)來直接檢測違反行為。如本文所述,特別地,清楚響應(yīng)的示例包括TCP ACKS、雙向RTCP業(yè)務(wù)以及監(jiān)視的分散。如本文所述,特別地,可觀察條件的示例包括關(guān)于調(diào)制解調(diào)器排出速率的信息。各種實施例允許在不跟蹤或分配與任何實體相關(guān)聯(lián)的存儲器地址的情況下減少由于調(diào)制解調(diào)器緩沖器累積或溢出而引起的視頻數(shù)據(jù)的通信延遲,所述任何實體諸如傳送
16機、接收機、路由器或調(diào)制解調(diào)器緩沖器。例如,各種實施例允許基于調(diào)制解調(diào)器排出速率的估計來調(diào)整傳輸速率,其中,在不要求關(guān)于存儲器地址的信息的情況下估計調(diào)制解調(diào)器排出速率。各種實施例允許降低調(diào)制解調(diào)器緩沖器溢出的概率并因此減少通信延遲而不要求關(guān)于調(diào)制解調(diào)器緩沖器的大小的信息。已以各種組合描述了各種實施例。然而,可以將任何兩個或更多實施例組合。此夕卜,可以與任何其它實施例分開地使用任何實施例。因此描述了主題的示例實施例。雖然已經(jīng)以專用于結(jié)構(gòu)特征和/或方法動作的語言描述了本主題的各種實施例,但應(yīng)理解的是所附權(quán)利要求不一定局限于上述特定特征或動作。相反,上述特性特征和動作是作為實現(xiàn)權(quán)利要求的示例形式公開的。
權(quán)利要求
1.一種用于減少視頻數(shù)據(jù)的通信延遲的方法(400),該方法(400)包括在網(wǎng)絡(luò)緩沖器(130)處從視頻傳送機(110)接收(420)視頻數(shù)據(jù);監(jiān)視(430)關(guān)于網(wǎng)絡(luò)緩沖器(130)的網(wǎng)絡(luò)緩沖器排出速率(140)的信息,其中,網(wǎng)絡(luò)緩沖器排出速率(140)是從網(wǎng)絡(luò)緩沖器(130)去除視頻數(shù)據(jù)的速率;基于監(jiān)視信息來估計(440)網(wǎng)絡(luò)緩沖器排出速率(140);以及將視頻傳送機(110)傳送未來視頻數(shù)據(jù)的傳輸速率(120)調(diào)整(450)為不超過基于網(wǎng)絡(luò)緩沖器排出速率(140)的估計計算的允許傳輸速率(ATR)。
2.根據(jù)上述權(quán)利要求中的任一項所述的方法(400),其中信息的監(jiān)視(430)還包括監(jiān)視從網(wǎng)絡(luò)緩沖器(130)接收到的視頻數(shù)據(jù)的量和與視頻數(shù)據(jù)相關(guān)聯(lián)的分組之間的時間量;以及調(diào)制解調(diào)器排出速率(140)的估計(440)還包括至少部分地基于視頻數(shù)據(jù)的量和分組之間的時間量來估計調(diào)制解調(diào)器排出速率(140 )。
3.根據(jù)上述權(quán)利要求中的任一項所述的方法(400),其中信息的監(jiān)視(430)還包括至少監(jiān)視通過網(wǎng)絡(luò)緩沖器(130)來傳送視頻數(shù)據(jù)的分組所花費的時間量;以及調(diào)制解調(diào)器排出速率(140)的估計(440)還包括至少部分地基于估計所述時間量的變化來估計調(diào)制解調(diào)器排出速率(140 )。
4.根據(jù)上述權(quán)利要求中的任一項所述的方法(400),其中信息的監(jiān)視(430)還包括監(jiān)視與接收到的視頻數(shù)據(jù)的分組相關(guān)聯(lián)的往返時間;以及調(diào)制解調(diào)器數(shù)據(jù)速率(140)的估計(440)還包括至少部分地基于估計往返時間的變化來估計調(diào)制解調(diào)器排出速率(140 )。
5.一種用于減少視頻數(shù)據(jù)的通信延遲的設(shè)備(300),該設(shè)備包括處理器;監(jiān)視信息接收機(310),其被配置為用于接收關(guān)于網(wǎng)絡(luò)緩沖器(130)的網(wǎng)絡(luò)緩沖器排出速率(140)的監(jiān)視信息,其中,網(wǎng)絡(luò)緩沖器排出速率(140)是從網(wǎng)絡(luò)緩沖器(130)去除視頻數(shù)據(jù)的速率;網(wǎng)絡(luò)緩沖器排出速率估計器(320),其被配置為基于監(jiān)視信息來估計網(wǎng)絡(luò)緩沖器排出速率(140);允許傳輸速率計算器(322),其被配置為基于網(wǎng)絡(luò)緩沖器排出速率(140)的估計來計算允許傳輸速率(ATR);以及允許傳輸速率提供器(330),其被配置為用于向視頻傳送機(110)提供允許傳輸速率 (ATR)以將未來視頻數(shù)據(jù)的傳輸速率調(diào)整為不超過允許傳輸速率(ATR)。
6.根據(jù)上述權(quán)利要求中的任一項所述的設(shè)備(300),其中,設(shè)備(300)位于選自由視頻傳送機(110、210)、視頻接收機(150、250)和路由器(260)組成的組中的電子設(shè)備處。
7.根據(jù)上述權(quán)利要求中的任一項所述的設(shè)備(300),其中,設(shè)備(300)位于作為服務(wù)質(zhì)量(QOS)路由器的路由器(260)處。
8.根據(jù)上述權(quán)利要求中的任一項所述的設(shè)備(300),其中,所計算的允許傳輸速率 (ATR)是總允許傳輸速率(ATR),并且其中,允許傳輸速率提供器(330)進一步被配置為用于提供用于多個數(shù)據(jù)源(210、270)的多個新允許傳輸速率,其中,所述多個新允許傳輸速率(220,280)的總和不超過總允許傳輸速率(ATR)。
9.根據(jù)上述權(quán)利要求中的任一項所述的設(shè)備(300),其中,設(shè)備(300)還包括網(wǎng)絡(luò)緩沖器占用率估計器(325),其被配置為用于估計作為存在于網(wǎng)絡(luò)緩沖器(130)中的數(shù)據(jù)的量的網(wǎng)絡(luò)緩沖器占用率,并且其中,允許傳輸速率提供器(330)還被配置為通過將基于估計的網(wǎng)絡(luò)緩沖器占用率和調(diào)制解調(diào)器排出速率(140)的估計的允許傳輸速率提供給視頻傳送機 (110)來引起網(wǎng)絡(luò)緩沖器占用率累積的概率的降低。
10.根據(jù)上述權(quán)利要求中的任一項所述的設(shè)備(300),其中監(jiān)視信息接收機(310)還被配置為用于監(jiān)視從網(wǎng)絡(luò)緩沖器(230)接收到的視頻數(shù)據(jù)的量和與視頻數(shù)據(jù)相關(guān)聯(lián)的分組之間的時間量;以及調(diào)制解調(diào)器排出速率估計器(320)還被配置為用于至少部分地基于視頻數(shù)據(jù)的量和分組之間的時間量來估計調(diào)制解調(diào)器排出速率(240 )。
11.一種計算機可讀存儲介質(zhì),其具有存儲在其上的用于促使計算機系統(tǒng)執(zhí)行減少視頻數(shù)據(jù)的通信延遲的方法的計算機可讀程序指令,該方法包括在網(wǎng)絡(luò)緩沖器(130)處從第一傳送機(110)接收(420)視頻數(shù)據(jù);監(jiān)視(430)關(guān)于網(wǎng)絡(luò)緩沖器排出速率(140)和關(guān)于網(wǎng)絡(luò)緩沖器占用率的信息,其中,網(wǎng)絡(luò)緩沖器排出速率(140)是從網(wǎng)絡(luò)緩沖器(130)去除視頻數(shù)據(jù)的速率,并且其中,網(wǎng)絡(luò)緩沖器占用率是存在于網(wǎng)絡(luò)緩沖器(130)中的數(shù)據(jù)的量;以及通過向設(shè)備(300)提供監(jiān)視信息來減少網(wǎng)絡(luò)緩沖器(130)中的網(wǎng)絡(luò)緩沖器累積的概率,所述設(shè)備(300)基于監(jiān)視信息來計算用于第一傳送機(110)的允許傳輸速率。
12.根據(jù)上述權(quán)利要求中的任一項所述的計算機可讀存儲介質(zhì),其中,視頻數(shù)據(jù)的接收 (420)還包括從服務(wù)質(zhì)量(QOS)路由器(260)接收(420)視頻數(shù)據(jù)。
13.根據(jù)上述權(quán)利要求中的任一項所述的計算機可讀存儲介質(zhì)其中,所述方法還包括在網(wǎng)絡(luò)緩沖器(230 )處從第二傳送機(270 )接收第二數(shù)據(jù);以及其中,存在于路由器(260)處的設(shè)備(300)將作為允許傳輸速率(ATR)的小微量的第二傳輸速率(280 )提供給第二傳送機(270 ),并將被調(diào)整為允許傳輸速率(ATR)與所述小微量之間的差的第一傳輸速率(220)提供給第一傳送機(110)。
14.根據(jù)上述權(quán)利要求中的任一項所述的計算機可讀存儲介質(zhì),其中,視頻數(shù)據(jù)的接收還包括實時地接收視頻數(shù)據(jù)。
15.根據(jù)上述權(quán)利要求中的任一項所述的計算機可讀存儲介質(zhì),其中信息的監(jiān)視還包括監(jiān)視從網(wǎng)絡(luò)緩沖器(130)接收到的視頻數(shù)據(jù)的量和與該視頻數(shù)據(jù)相關(guān)聯(lián)的分組之間的時間量;以及網(wǎng)絡(luò)緩沖器占用率的估計還包括通過至少部分地基于視頻數(shù)據(jù)的量和分組之間的時間量估計網(wǎng)絡(luò)緩沖器占用率來確定分組分散。
全文摘要
根據(jù)一個實施例,在網(wǎng)絡(luò)緩沖器(130)處接收(420)來自視頻傳送機(110)的視頻數(shù)據(jù)。監(jiān)視(430)關(guān)于網(wǎng)絡(luò)緩沖器(103)的網(wǎng)絡(luò)緩沖器排出速率(14)的信息。網(wǎng)絡(luò)緩沖器排出速率(140)是從網(wǎng)絡(luò)緩沖器(130)去除視頻數(shù)據(jù)的速率?;诒O(jiān)視信息來估計(440)網(wǎng)絡(luò)緩沖器排出速率(140)。將視頻傳送機(110)傳送未來視頻數(shù)據(jù)的傳輸速率(120)調(diào)整(450)為不超過基于網(wǎng)絡(luò)緩沖器排出速率(140)的估計計算的允許傳輸速率(ATR)。
文檔編號H04N7/015GK102484695SQ200980161181
公開日2012年5月30日 申請日期2009年8月31日 優(yōu)先權(quán)日2009年8月31日
發(fā)明者J. 帕蒂 A., 譚 W-T. 申請人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)