本發(fā)明涉及用于管理媒體流在可變網(wǎng)絡(luò)情況下的發(fā)送的裝置和方法。
背景技術(shù):
:多媒體內(nèi)容在互聯(lián)網(wǎng)上的實(shí)時(shí)流式傳輸近年來已變成越來越常見的應(yīng)用。大范圍的多媒體應(yīng)用(諸如點(diǎn)播TV、直播TV觀看、視頻會(huì)議、網(wǎng)絡(luò)會(huì)議、視頻電話、互聯(lián)網(wǎng)協(xié)議電話(VoIP)以及許多其他應(yīng)用)依靠端對(duì)端流式傳輸解決方案。不像可以首先被“非實(shí)時(shí)”獲取再稍后觀看或播放的“下載的”媒體文件,流式傳輸媒體應(yīng)用需要媒體源對(duì)媒體信號(hào)編碼并且在網(wǎng)絡(luò)上向媒體接收器發(fā)送媒體信號(hào),該媒體接收器必須實(shí)時(shí)解碼并播放媒體信號(hào)。互聯(lián)網(wǎng)協(xié)議語音和視頻(VVoIP)電話特別需要以及時(shí)的方式接收并解碼VVoIP包,使得可以以最小的延遲播放語音和視頻。然而,差帶寬可用性會(huì)導(dǎo)致VVoIP包遲到,這引起播放語音和視頻中的不期望延遲或丟失。在這種情況下,會(huì)降低語音和視頻多媒體的質(zhì)量,使得VVoIP電話使用更少的網(wǎng)絡(luò)帶寬,這可以幫助包更快速地穿過網(wǎng)絡(luò)??捎玫木W(wǎng)絡(luò)帶寬會(huì)根據(jù)兩個(gè)呼叫者之間的路徑而變化。例如,如果VVoIP電話正在已連接到移動(dòng)網(wǎng)絡(luò)的移動(dòng)裝置上進(jìn)行,則可用帶寬將根據(jù)移動(dòng)網(wǎng)絡(luò)覆蓋范圍、移動(dòng)小區(qū)中的用戶數(shù)量、離基站的距離等而變化。類似地。連接到WiFi網(wǎng)絡(luò)的裝置還會(huì)由于連接到接入點(diǎn)的用戶數(shù)量、WiFi信號(hào)強(qiáng)度等而經(jīng)歷可變的帶寬可用性。一些裝置還可以在移動(dòng)網(wǎng)絡(luò)與WiFi之間切換它們的網(wǎng)絡(luò)連接。由此,可用于VVoIP電話的帶寬會(huì)變化。可用帶寬的減少可能使得VVoIP電話的質(zhì)量劣化。帶寬可能在VVoIP期間減少,這會(huì)使得VVoIP包在網(wǎng)絡(luò)中的某點(diǎn)處排隊(duì)。如上所述,這可能在由接收者接收這些包時(shí)導(dǎo)致延遲并由此引起這些包中的音頻和視頻媒體的播出的不期望延遲。網(wǎng)絡(luò)中的包的大積聚可能最終導(dǎo)致掉話。由此,期望調(diào)整VVoIP電話的傳輸特性(諸如比特率)使得可以在存在可用帶寬減少時(shí)維持電話。當(dāng)存在可用帶寬的增大時(shí),期望調(diào)整VVoIP電話的傳輸特性使得以最佳音頻和視頻質(zhì)量進(jìn)行呼叫,這會(huì)提高用戶的電話體驗(yàn)。估計(jì)網(wǎng)絡(luò)的可用帶寬的一種方法是將探測(cè)包發(fā)送到網(wǎng)絡(luò)中且測(cè)量在接收裝置處接收這些包時(shí)的延遲。Ribeiro等人在“pathChirp:EfficientAvailableBandwidthEstimationforNetworkPaths”(2003年)詳細(xì)說明了一種這樣的探測(cè)方法。用這種傳統(tǒng)探測(cè)方法的問題是通過使網(wǎng)絡(luò)劣化來檢測(cè)網(wǎng)絡(luò)帶寬。探測(cè)包本身使用網(wǎng)絡(luò)帶寬,由此探測(cè)會(huì)使VVoIP電話的質(zhì)量劣化,特別是在可用網(wǎng)絡(luò)帶寬已有限時(shí)。因此,需要一種估計(jì)網(wǎng)絡(luò)的可用帶寬且有效調(diào)整VVoIP流(或任何其他類型的媒體流)的傳輸特性以提供具有可能的最佳質(zhì)量的流的更有效的方法。技術(shù)實(shí)現(xiàn)要素:根據(jù)公開的第一方面,提供了一種在網(wǎng)絡(luò)上從發(fā)送裝置向接收裝置發(fā)送視頻包流的方法,所述方法包括以下步驟:向所述接收裝置發(fā)送音頻包流;根據(jù)與在所述接收裝置處接收所述音頻包流關(guān)聯(lián)的一個(gè)或更多個(gè)度量確定網(wǎng)絡(luò)帶寬的測(cè)度;以及根據(jù)所確定的測(cè)度啟用視頻包流。啟用步驟可以包括根據(jù)所述測(cè)度確定所述網(wǎng)絡(luò)的所述帶寬是否足以支持所述視頻包流,以及如果是,則啟用所述視頻包流。所述視頻包流可以以可用于所述發(fā)送裝置的最低視頻質(zhì)量來啟用。所述方法還可以包括以下步驟:根據(jù)所確定的測(cè)度調(diào)整所述視頻包流的傳輸比特率。所述方法還可以包括以下步驟:如果所述測(cè)度指示足夠的可用網(wǎng)絡(luò)帶寬,則提高所述音頻包流的所述傳輸比特率;以及繼提高所述音頻流的所述比特率之后重新確定所述測(cè)度,并且如果所述測(cè)度指示足夠的可用網(wǎng)絡(luò)帶寬,則執(zhí)行所述啟用。所述方法還可以包括以下步驟:重新確定所述測(cè)度;以及如果重新確定的測(cè)度指示所述音頻流和視頻流的所述傳輸比特率大于所述網(wǎng)絡(luò)帶寬,則僅降低所述視頻流的所述傳輸比特率。所述方法還可以包括以下步驟:根據(jù)所述測(cè)度確定過載帶寬;以及使所述視頻流的所述傳輸比特率降低所述過載帶寬。所述方法還可以包括以下步驟:確定網(wǎng)絡(luò)帶寬與音頻流和視頻流的傳輸比特率之間的差,其中,將視頻流的傳輸比特率降低所述差。所述方法還可以包括以下步驟:重新確定所述測(cè)度;以及如果重新確定的測(cè)度指示所述音頻流和視頻流的所述傳輸比特率大于所述網(wǎng)絡(luò)帶寬,則僅停用所述視頻流的所述傳輸。所述一個(gè)或更多個(gè)度量可以包括網(wǎng)絡(luò)延遲的測(cè)度,所述延遲包括從所述發(fā)送裝置在所述接收裝置處接收第一音頻包花費(fèi)的第一時(shí)間。延遲還可以包括從所述接收裝置在所述發(fā)送裝置處接收第二音頻包花費(fèi)的第二時(shí)間。所述方法還可以包括以下步驟:在接收裝置處:從發(fā)送裝置接收音頻包流;確定與接收音頻包流關(guān)聯(lián)的一個(gè)或更多個(gè)度量;以及向發(fā)送裝置發(fā)送所確定的度量。所述方法還可以包括以下步驟:發(fā)送用于測(cè)試所述網(wǎng)絡(luò)的所述可用帶寬的一個(gè)或更多個(gè)探測(cè)包,其中,所述探測(cè)包包括從所述音頻包流復(fù)制的數(shù)據(jù)。所述方法還可以包括以下步驟:根據(jù)所確定的測(cè)度將所述網(wǎng)絡(luò)分類為良好、差或正常狀態(tài)。所述方法還可以包括以下步驟:如果所述網(wǎng)絡(luò)狀態(tài)被分類為良好,則提高所述視頻包流的傳輸比特率或啟用所述視頻包流,或者如果所述網(wǎng)絡(luò)狀態(tài)被分類為差,則降低所述視頻包流的所述傳輸比特率或停用所述視頻包流。所述方法還可以包括以下步驟:在啟用所述視頻包流的所述步驟之前且如果所述網(wǎng)絡(luò)被分類為良好,則增大所述音頻包流的所述傳輸比特率的提高率;以及以所述提高率提高所述音頻包流的所述傳輸比特率。根據(jù)公開的第二方面,提供了一種估計(jì)用于包括發(fā)送裝置和接收裝置的網(wǎng)絡(luò)的可用帶寬的方法,方法包括以下步驟:在網(wǎng)絡(luò)上向接收裝置傳輸媒體包流,媒體包包括用于在接收裝置處流式傳輸媒體的媒體數(shù)據(jù);在網(wǎng)絡(luò)上傳輸一個(gè)或更多個(gè)探測(cè)包,以測(cè)試網(wǎng)絡(luò)的可用帶寬,其中,探測(cè)包包括媒體包流的復(fù)制數(shù)據(jù);以及在探測(cè)包的傳輸期間根據(jù)與在接收裝置處接收媒體包流關(guān)聯(lián)的一個(gè)或更多個(gè)度量確定網(wǎng)絡(luò)帶寬可用性的測(cè)度。探測(cè)包可以為來自媒體包流的包的復(fù)制。所述方法還可以包括以下步驟:如果測(cè)度指示足以劣化媒體流的質(zhì)量的可用帶寬的減少,則停止探測(cè)包的傳輸。所述方法還可以包括以下步驟:如果測(cè)度指示足夠的可用帶寬,則提高用于媒體流的傳輸比特率。傳輸比特率的所述提高可以包括啟用視頻流。探測(cè)包可以以規(guī)律時(shí)間間隔來傳輸,其中,如果測(cè)度指示足以劣化媒體流的質(zhì)量的網(wǎng)絡(luò)帶寬的減少,則減少時(shí)間間隔之間的時(shí)間量。根據(jù)公開的第三方面,提供了一種用于在網(wǎng)絡(luò)上向接收裝置傳輸視頻包流的發(fā)送裝置,所述發(fā)送裝置包括:收發(fā)器,該收發(fā)器被構(gòu)造成向所述接收裝置發(fā)送音頻包流;帶寬估計(jì)器,該帶寬估計(jì)器被構(gòu)造成根據(jù)與在所述接收裝置處接收所述音頻包流關(guān)聯(lián)的一個(gè)或更多個(gè)度量確定網(wǎng)絡(luò)帶寬的測(cè)度;以及控制器,該控制器被構(gòu)造成根據(jù)所確定的測(cè)度啟用音頻包流的傳輸。所述控制器還可以被構(gòu)造成根據(jù)所述測(cè)度確定所述網(wǎng)絡(luò)的所述帶寬是否足以支持所述視頻包流,并且如果足以,則啟用所述視頻包流。所述控制器還可以被構(gòu)造成以可用于所述發(fā)送裝置的最低視頻質(zhì)量來啟用。所述控制器還可以被構(gòu)造成根據(jù)所確定的測(cè)度調(diào)整所述視頻包流的傳輸比特率。所述控制器還可以被構(gòu)造成如果所述測(cè)度指示足夠的可用網(wǎng)絡(luò)帶寬,則提高所述音頻包流的所述傳輸比特率;并且所述帶寬估計(jì)器被構(gòu)造成繼提高所述音頻流的所述比特率之后重新確定所述測(cè)度,并且如果所述測(cè)度指示足夠的可用網(wǎng)絡(luò)帶寬,則啟用所述視頻包流。所述帶寬估計(jì)器可以被構(gòu)造成重新確定所述測(cè)度;并且所述控制器可以被構(gòu)造成如果所述所重新確定的測(cè)度指示所述音頻流和視頻流的所述傳輸比特率大于所述網(wǎng)絡(luò)帶寬,則僅停用所述視頻流的所述傳輸。所述控制器可以被構(gòu)造成確定網(wǎng)絡(luò)帶寬與音頻流和視頻流的傳輸比特率之間的差;并且將視頻流的傳輸比特率降低所述差。所述控制器可以被構(gòu)造成根據(jù)所述測(cè)度確定過載帶寬;并且使所述視頻流的所述傳輸比特率降低所述過載帶寬。帶寬估計(jì)器可以被構(gòu)造成重新確定所述測(cè)度;并且如果重新確定的測(cè)度指示所述音頻流和視頻流的所述傳輸比特率大于所述網(wǎng)絡(luò)帶寬,則僅停用所述視頻流的所述傳輸。所述一個(gè)或更多個(gè)度量可以包括網(wǎng)絡(luò)延遲的測(cè)度,所述延遲包括從所述發(fā)送裝置在所述接收裝置處接收第一音頻包花費(fèi)的第一時(shí)間。延遲還可以包括從所述接收裝置在所述發(fā)送裝置處接收第二音頻包花費(fèi)的第二時(shí)間。收發(fā)器還可以被構(gòu)造成從接收裝置接收度量。所述收發(fā)器還可以被構(gòu)造成傳輸用于測(cè)試所述網(wǎng)絡(luò)的所述可用帶寬的一個(gè)或更多個(gè)探測(cè)包,其中,所述探測(cè)包包括從所述音頻包流復(fù)制的數(shù)據(jù)??刂破骺梢员粯?gòu)造成根據(jù)所確定的測(cè)度將所述網(wǎng)絡(luò)分類為良好、差或正常狀態(tài)??刂破骺梢员粯?gòu)造成如果所述網(wǎng)絡(luò)狀態(tài)被分類為良好,則提高所述視頻包流的傳輸比特率或啟用所述視頻包流,或者如果所述網(wǎng)絡(luò)狀態(tài)被分類為差,則降低所述視頻包流的所述傳輸比特率或停用所述視頻包流。控制器可以被構(gòu)造成在啟用所述視頻包流的所述步驟之前且如果所述網(wǎng)絡(luò)被分類為良好,則增大所述音頻包流的所述傳輸比特率的提高率;以及以所述提高率提高所述音頻包流的所述傳輸比特率。根據(jù)公開的第四方面,提供了一種估計(jì)用于包括發(fā)送裝置和接收裝置的網(wǎng)絡(luò)的可用帶寬的發(fā)送裝置,裝置包括:收發(fā)器,該收發(fā)器被構(gòu)造成在網(wǎng)絡(luò)上向接收裝置傳輸媒體包流,媒體包包括用于在接收裝置處流式傳輸媒體的媒體數(shù)據(jù);控制器,該控制器被構(gòu)造成使得收發(fā)器在網(wǎng)絡(luò)上傳輸一個(gè)或更多個(gè)探測(cè)包,以測(cè)試網(wǎng)絡(luò)的可用帶寬,其中,探測(cè)包包括媒體包流的復(fù)制數(shù)據(jù);以及帶寬估計(jì)器,該帶寬估計(jì)器被構(gòu)造成在探測(cè)包的傳輸期間根據(jù)與在接收裝置處接收媒體包流關(guān)聯(lián)的一個(gè)或更多個(gè)度量確定網(wǎng)絡(luò)帶寬可用性的測(cè)度。探測(cè)包可以為來自媒體包流的包的復(fù)制??刂破骺梢员粯?gòu)造成如果探測(cè)包的傳輸期間測(cè)度指示足以劣化媒體流的質(zhì)量的可用帶寬的減少,則停止探測(cè)包的傳輸??刂破骺梢员粯?gòu)造成如果探測(cè)包的傳輸期間測(cè)度指示足夠的可用帶寬,則提高用于媒體流的傳輸比特率。傳輸比特率的所述提高可以包括啟用視頻流。探測(cè)包可以以規(guī)律時(shí)間間隔來傳輸,并且控制器可以被構(gòu)造成如果在探測(cè)包的傳輸期間測(cè)度指示足以劣化媒體流的質(zhì)量的網(wǎng)絡(luò)帶寬的減少,則減少時(shí)間間隔之間的時(shí)間量。根據(jù)公開的第五方面,提供了一種定義上述裝置的計(jì)算機(jī)程序代碼,借此可以制造裝置。根據(jù)公開的第六方面,提供了一種非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上面存儲(chǔ)有計(jì)算機(jī)可讀指令,當(dāng)該計(jì)算機(jī)可讀指令在用于生成集成電路的表現(xiàn)的計(jì)算機(jī)系統(tǒng)處處理時(shí),使得所述計(jì)算機(jī)系統(tǒng)生成上述裝置的顯示。根據(jù)公開的第七方面,提供了一種用于執(zhí)行上述方法的計(jì)算機(jī)程序代碼。根據(jù)公開的第八方面,提供了一種非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上面存儲(chǔ)有計(jì)算機(jī)可讀指令,當(dāng)該計(jì)算機(jī)可讀指令在計(jì)算機(jī)系統(tǒng)處執(zhí)行時(shí),使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行上述方法。附圖說明現(xiàn)在將參照附圖以示例的方式來描述本發(fā)明,在附圖中:圖1示出了發(fā)送裝置和接收裝置的示例;圖2描繪了估計(jì)網(wǎng)絡(luò)延遲的處理;以及圖3a-圖3b示出了調(diào)整VVoIP流的示例流程圖。具體實(shí)施方式提出以下描述,以使得本領(lǐng)域任意技術(shù)人員能夠進(jìn)行并使用本發(fā)明,并且以下描述在特定應(yīng)用的場境中提供。對(duì)所公開實(shí)施方式的各種修改將對(duì)本領(lǐng)域技術(shù)人員容易地清晰。這里所定義的一般原理可以在不偏離本發(fā)明的精神和范圍的情況下應(yīng)用于其他實(shí)施方式和應(yīng)用。由此,本發(fā)明不旨在限于所示的實(shí)施方式,而是符合與這里所公開的原理和特征一致的最寬范圍。圖1描繪了發(fā)送裝置10,該發(fā)送裝置10可以為能夠生成基于包的數(shù)據(jù)的任何合適裝置,諸如計(jì)算機(jī)、智能電話、IP電話等。發(fā)送裝置10包括用于連接到通信網(wǎng)絡(luò)12(諸如互聯(lián)網(wǎng)或其他基于包的網(wǎng)絡(luò))的收發(fā)器11。發(fā)送裝置10可以經(jīng)由收發(fā)器11向通信網(wǎng)絡(luò)12發(fā)送數(shù)據(jù)包和/或從通信網(wǎng)絡(luò)12接收數(shù)據(jù)包。發(fā)送裝置10包括用于對(duì)要在通信網(wǎng)絡(luò)12上發(fā)送到接收裝置20的媒體進(jìn)行編碼的編碼器13。例如,編碼器13可以根據(jù)OPUSWB編解碼器對(duì)音頻數(shù)據(jù)編碼并根據(jù)h.264編解碼器對(duì)視頻數(shù)據(jù)編碼。可以使用其他音頻和視頻編解碼器。經(jīng)編碼的媒體可以在封包器16處封包。媒體可以根據(jù)例如實(shí)時(shí)傳輸協(xié)議(RTP)標(biāo)準(zhǔn)來封包??梢允褂闷渌袷?。然后,封包后的媒體可以提供給收發(fā)器11,以在網(wǎng)絡(luò)12上發(fā)送給接收裝置20。接收裝置20包括用于從網(wǎng)絡(luò)12接收包的收發(fā)器21。包被提供給緩沖器22,該緩沖器22可以為能夠根據(jù)包中的媒體數(shù)據(jù)的播出順序?qū)ΠM(jìn)行排序的抖動(dòng)緩沖器。該順序可以由各包中所含有的序號(hào)或時(shí)間戳來指示。解碼器23按由緩沖器22提供給解碼器23的順序解碼包,以形成媒體流。解碼器23根據(jù)由編碼器13使用的編解碼器對(duì)包解碼。媒體消費(fèi)方24接收解碼后的媒體流以播放。發(fā)送裝置10包括用于估計(jì)網(wǎng)絡(luò)12的可用帶寬的帶寬估計(jì)器14。所估計(jì)的帶寬可以用于從發(fā)送裝置10到接收裝置20的路徑、從接收裝置20到發(fā)送裝置10的路徑或這兩個(gè)路徑。質(zhì)量控制器15可以根據(jù)所估計(jì)的網(wǎng)絡(luò)12的帶寬調(diào)整用于媒體流的參數(shù)。例如,基于來自帶寬估計(jì)器14的帶寬估計(jì),質(zhì)量控制器15可以使用用于在編碼器13處編碼媒體的參數(shù)(例如,編解碼器、編解碼器模式、像素分辨率、幀率、音頻比特率等)。在另一個(gè)示例中,還可以調(diào)整用于在封包器16處封包編碼后媒體的參數(shù)(例如,包尺寸、包結(jié)構(gòu)等)??梢愿淖兙幋a器13和封包器16參數(shù),以使得改變媒體流的傳輸比特率。由此,可以通過選擇用于編碼器13和封包器16的合適參數(shù)來控制媒體流的傳輸比特率。接收裝置20也可包括帶寬估計(jì)器25,該帶寬估計(jì)器25可以具有與發(fā)送裝置10的帶寬估計(jì)器14類似的功能。帶寬估計(jì)器14和帶寬估計(jì)器25可以在它們之間共享信息(諸如下面描述的測(cè)度)以確定網(wǎng)絡(luò)帶寬的估計(jì)。在優(yōu)選實(shí)施方式中,裝置10和裝置20為VVoIP電話的參與方,并且要編碼、封包并發(fā)送的媒體可以為音頻和/或視頻媒體數(shù)據(jù)。媒體流可以由兩個(gè)包流組成:(i)用于音頻數(shù)據(jù)的流和(ii)用于視頻數(shù)據(jù)的流。質(zhì)量控制器15可以選擇性地啟用/停用流并調(diào)整流的質(zhì)量,使得可以維持VVoIP,并且以可能的最佳質(zhì)量來維持。例如,如果網(wǎng)絡(luò)帶寬低,則質(zhì)量控制器15可以停用視頻流,使得可以維持音頻流。在VVoIP電話期間,可以給予維持流中的一個(gè)超過其他流(例如,音頻超過視頻)的優(yōu)先權(quán),以維持該電話。帶寬估計(jì)器14可以基于源于流中的一個(gè)(音頻或視頻)的度量估計(jì)網(wǎng)絡(luò)12的帶寬。優(yōu)選地,因?yàn)橐纛l流使用比視頻流少的帶寬且因?yàn)橐纛l流可能對(duì)于維持電話比視頻流更必要(即,音頻流可以具有比視頻流高的優(yōu)先權(quán)),所以基于音頻流來估計(jì)帶寬。如下面更詳細(xì)提及的,可以基于使用音頻流估計(jì)的網(wǎng)絡(luò)帶寬來調(diào)整視頻流的傳輸。例如,如果根據(jù)音頻流確定有低帶寬可用,則可以臨時(shí)暫停視頻流。當(dāng)根據(jù)音頻流確定更大的帶寬可用性時(shí),然后可以重新啟用視頻流。下面是可以如何使用音頻流估計(jì)網(wǎng)絡(luò)的帶寬的一些示例。還可以使用利用來自音頻流的包估計(jì)網(wǎng)絡(luò)帶寬的其他方法。帶寬估計(jì)器14可以使用與從發(fā)送裝置10到接收裝置20的音頻流的包關(guān)聯(lián)的特定參數(shù)來確定網(wǎng)絡(luò)帶寬的估計(jì)。還可以使用從接收裝置20到發(fā)送裝置10的音頻流。例如,網(wǎng)絡(luò)帶寬可以使用以下測(cè)度中的一個(gè)或組合來估計(jì):1)網(wǎng)絡(luò)延遲。高網(wǎng)絡(luò)延遲值可以指示大量包可以積累在網(wǎng)絡(luò)中的裝置或裝置網(wǎng)絡(luò)驅(qū)動(dòng)器中。這可以是例如因?yàn)榘l(fā)送裝置10以可能導(dǎo)致包的積壓的高于網(wǎng)絡(luò)12可用帶寬的比特率發(fā)送包。網(wǎng)絡(luò)延遲值指示包從發(fā)送裝置10行進(jìn)到接收裝置20和/或從接收裝置20到發(fā)送裝置10花費(fèi)的時(shí)間。圖2描繪了可以如何測(cè)量網(wǎng)絡(luò)延遲的一個(gè)示例。包240和包241可以為用于在發(fā)送裝置10與接收裝置20之間發(fā)送音頻的包(例如,RTP包)。包240和包241可以含有以下信息中的一個(gè)或更多個(gè):本地包生成時(shí)間(LPGT)和/或遠(yuǎn)程包生成時(shí)間(RPGT)和/或包空閑時(shí)間(PIT)。當(dāng)裝置10和裝置20在通信時(shí),例如在VVoIP電話期間,對(duì)于電話發(fā)送的各音頻包可以包含LPGT信息,該信息對(duì)于包240為T0。當(dāng)在裝置20處接收包240時(shí),測(cè)量接收的時(shí)間點(diǎn)(T1),并且當(dāng)裝置20發(fā)送下一包241時(shí),在接收到最后一個(gè)包240的時(shí)間與當(dāng)前包241的發(fā)送時(shí)間(T2)之間經(jīng)過的時(shí)間并入包241中作為PIT(即,在圖2中所示的示例中PIT=T2-T1)。最后接收的包240在裝置10處的包生成時(shí)間(即,T0)被包括在包241中。然后,裝置10可以根據(jù)包241中的信息將往返旅行的網(wǎng)絡(luò)延遲估計(jì)為:網(wǎng)絡(luò)延遲=包241接收的時(shí)間(T3)-RPGT(T0)-PIT(T2-T1)因此,網(wǎng)絡(luò)延遲=(T1-T0)+(T3-T2),該延遲為在往返行程內(nèi)網(wǎng)絡(luò)上傳輸花費(fèi)的時(shí)間。網(wǎng)絡(luò)延遲值可能受諸如裝置10與裝置20之間的網(wǎng)絡(luò)中的網(wǎng)絡(luò)網(wǎng)關(guān)的數(shù)量的因素影響。這些網(wǎng)關(guān)對(duì)網(wǎng)絡(luò)延遲的影響通常可以為恒定的。為了考慮由網(wǎng)關(guān)引起的延遲,可以采取若干網(wǎng)絡(luò)延遲測(cè)量(例如,在75至125之間,并且優(yōu)選地為大約100),然后可以確定若干最小延遲值(例如,四個(gè)最低值)的平均值。所確定的值可以提供由兩個(gè)方向上的網(wǎng)關(guān)引起的平均往返行程延遲。該平均值的一半可以用于估計(jì)由單個(gè)方向(假定延遲同樣沿兩個(gè)方向)上的網(wǎng)關(guān)引起的延遲。由此,對(duì)于隨后測(cè)量的網(wǎng)絡(luò)延遲值,減半的平均值可以用作從隨后測(cè)量的網(wǎng)絡(luò)延遲值減去的固定值,以考慮由網(wǎng)關(guān)引起的延遲。2)包接收間隙。包接收間隙可以指示連續(xù)的包流在網(wǎng)絡(luò)中丟失或卡住的時(shí)間。這可能打斷例如VVoIP電話,如果包接收間隙值高,則該電話可能掉話。無論何時(shí)包接收間隙高時(shí)都維持VVoIP電話的一種方式是使發(fā)送裝置降低傳輸比特率,使得包可以到達(dá)接收裝置,并且可以維持電話。在音頻流期間,接收裝置20可以期望在某些時(shí)候接收包作為流的一部分。例如,包可以含有應(yīng)以特定順序和/或在特定時(shí)間在接收裝置20處播放的音頻的一部分。期望接收包與實(shí)際接收該包之間經(jīng)過的時(shí)間可以指示包接收間隙。另選地,包接收間隙可以通過計(jì)數(shù)接收裝置20處的音頻播放器(該音頻播放器可以以規(guī)則間隔需要音頻包)在實(shí)際接收到音頻包之前請(qǐng)求用于播放音頻的包的次數(shù)來指示。當(dāng)使用該方法時(shí),可以加強(qiáng)接收間隙估計(jì),以考慮可變包尺寸的影響以及從抖動(dòng)緩沖器播出的丟失包的沖擊。例如,如果來自音頻播放器的播出請(qǐng)求為每20ms一次(因?yàn)?,例如期望的基礎(chǔ)/默認(rèn)包尺寸為20ms)且接收含有100ms音頻數(shù)據(jù)的大包,那么在100ms持續(xù)時(shí)間內(nèi)五個(gè)播出請(qǐng)求還可以發(fā)生,這將引起五的錯(cuò)誤包接收間隙。包接收間隙的更準(zhǔn)確測(cè)度可以通過將播出請(qǐng)求的數(shù)量除以包尺寸且將所獲得的值乘以播出請(qǐng)求之間的時(shí)間量(在上述示例中為20ms)來提供。還可以通過將丟失的包的比例考慮在內(nèi)來增強(qiáng)包接收間隙測(cè)度。例如,可以根據(jù)預(yù)定持續(xù)時(shí)間(例如,一秒)內(nèi)未從抖動(dòng)緩沖器播出的包的比例來確定丟失的包的比例。比例值(在該值加一之后)可以乘以準(zhǔn)確的包接收間隙,以提供包接收間隙的更加準(zhǔn)確的測(cè)度。該包接收間隙可以基于接收的包的類型來確定。例如,在一些語音通信系統(tǒng)中,可以在靜寂時(shí)段期間定期(例如,每160ms)發(fā)送靜寂包(例如,靜寂描述符(SID)包)。由此,靜寂可能不適于在網(wǎng)絡(luò)情況快速變化時(shí)測(cè)量包接收間隙。由此,在一些場景中,可以對(duì)于僅含有音頻數(shù)據(jù)的包估計(jì)包接收間隙。3)包丟失。該測(cè)度指示指定時(shí)間段期間網(wǎng)絡(luò)中包的丟失百分比。4)網(wǎng)絡(luò)抖動(dòng)。該測(cè)度指示接收連續(xù)包之間的時(shí)間變化。變化可能由網(wǎng)絡(luò)擁塞、時(shí)間漂移、路徑變化等來引起。網(wǎng)絡(luò)抖動(dòng)的告知指示接收到較混亂的包。5)突發(fā)丟失。該測(cè)度指示包的丟失與預(yù)定數(shù)量的良好包的連續(xù)接收的開始之間的時(shí)間段中的包的數(shù)量。測(cè)度1-5中的每個(gè)可以基于音頻流的包由發(fā)送裝置10和/或接收裝置20整體或部分測(cè)量。發(fā)送裝置10可以從網(wǎng)絡(luò)統(tǒng)計(jì)報(bào)告接收或?qū)С鲇糜跍y(cè)度1-5中的一個(gè)或更多個(gè)的值,該報(bào)告可以編譯且從接收裝置20(例如,由帶寬估計(jì)器25)發(fā)送。由帶寬估計(jì)器14確定的帶寬估計(jì)可以使用上述測(cè)度1至5中的一個(gè)或任意組合。當(dāng)組合測(cè)度時(shí),各測(cè)度可以被不同的加權(quán),以反映網(wǎng)絡(luò)帶寬如何顯著地影響該測(cè)度。例如,網(wǎng)絡(luò)帶寬可以對(duì)網(wǎng)絡(luò)延遲測(cè)度具有比其他測(cè)度更顯著的效果,因此網(wǎng)絡(luò)延遲測(cè)度可以提供有更高的權(quán)重。由此,在確定組合測(cè)度時(shí)適當(dāng)?shù)丶訖?quán)各測(cè)度可以提供網(wǎng)絡(luò)帶寬的更快且更準(zhǔn)確的反映,并且允許質(zhì)量控制器15快速調(diào)整媒體流的傳輸參數(shù)。各測(cè)度(或測(cè)度的組合)的值可以提供網(wǎng)絡(luò)帶寬的估計(jì)。當(dāng)網(wǎng)絡(luò)的帶寬增大或減小時(shí),各值(或值的組合)可以對(duì)應(yīng)地變化,以指示網(wǎng)絡(luò)的帶寬的增大或減小。在優(yōu)選示例中,帶寬估計(jì)器14根據(jù)上述測(cè)度1)-5):網(wǎng)絡(luò)延遲、包接收間隙、包丟失、網(wǎng)絡(luò)抖動(dòng)以及突發(fā)丟失導(dǎo)出網(wǎng)絡(luò)帶寬的測(cè)度。該導(dǎo)出的測(cè)度可以稱為帶寬因子(BWF)。BWF可以基于測(cè)度1)至5)的加權(quán)和。各個(gè)測(cè)度可以具有不同的權(quán)重。表1中示出如何加權(quán)各測(cè)度的一個(gè)示例。其他權(quán)重是可能的。測(cè)度(Pi)權(quán)重因子(Wi)1)網(wǎng)絡(luò)延遲(P0)0.702)包接收間隙(P1)0.103)包丟失(P2)0.054)網(wǎng)絡(luò)抖動(dòng)(P3)0.105)突發(fā)丟失(P4)0.05表1以下算式是如何使用測(cè)度1)-5)和權(quán)重因子計(jì)算BWF的示例:其中,n為測(cè)量編號(hào),k為測(cè)度的數(shù)量,Wi為第i個(gè)測(cè)度的權(quán)重因子,并且Pi(n)為用于第i個(gè)測(cè)度的值。BWF可以以其他合適的方式來計(jì)算。Pi(n)可以為用于第i個(gè)測(cè)度的量化值。各測(cè)度可以被不同地量化為反映所測(cè)量值在估計(jì)網(wǎng)絡(luò)的帶寬中的意義。例如,當(dāng)提供用于網(wǎng)絡(luò)延遲的值時(shí),如果測(cè)量到短的延遲值,則因?yàn)榫W(wǎng)絡(luò)的帶寬被認(rèn)為良好,所以零量化可以應(yīng)用于與該短延遲時(shí)間關(guān)聯(lián)的值。然而,如果測(cè)量到長的延遲時(shí)間(這指示網(wǎng)絡(luò)的帶寬變差),那么可以向與該長延遲時(shí)間關(guān)聯(lián)的值提供大量化,以提供差網(wǎng)絡(luò)條件的夸大表達(dá)。這可以允許系統(tǒng)對(duì)帶寬劣化更快進(jìn)行反應(yīng)并調(diào)整??捎脦捒梢愿鶕?jù)測(cè)度而被分類為不同的狀態(tài)。例如,低BWF值(例如,在第一閾值以下的值)可以指示網(wǎng)絡(luò)12中有大量額外帶寬可用于支持具有比當(dāng)前媒體流高的傳輸比特率。由此,網(wǎng)絡(luò)帶寬的狀態(tài)可以由于低BWF值而被分類為良好。高BWF值(例如,在第二閾值以上的值)可以指示網(wǎng)絡(luò)中對(duì)于當(dāng)前媒體流不具有足夠的帶寬。網(wǎng)絡(luò)帶寬的狀態(tài)可以由于高BWF值而被分類為差。在高值與低值之間的BWF值(例如,第一閾值與第二閾值之間的值)可以指示帶寬對(duì)于當(dāng)前媒體流是足夠的。網(wǎng)絡(luò)帶寬的狀態(tài)可以由于這種BWF值而被分類為正常。在示例中,BWF值可以在從最小值0至最大值1000范圍內(nèi)。如果BWF值小于100,那么網(wǎng)絡(luò)可以被分類為良好。如果BWF值大于200,那么網(wǎng)絡(luò)可以被分類為差。如果BWF值在100至200之間,那么網(wǎng)絡(luò)可以被分類為正常??梢允褂闷渌线m的值和范圍?;诰W(wǎng)絡(luò)的狀態(tài)(即,帶寬),質(zhì)量控制器15可以調(diào)整VVoIP流的傳輸。例如,如果網(wǎng)絡(luò)狀態(tài)為良好,那么質(zhì)量控制器15可以提高VVoIP傳輸?shù)谋忍芈省H绻W(wǎng)絡(luò)狀態(tài)差,那么質(zhì)量控制器可以降低VVoIP傳輸?shù)谋忍芈?。如果網(wǎng)絡(luò)的狀態(tài)正常,則質(zhì)量控制器15可以不執(zhí)行任何調(diào)整。在差狀態(tài)下,可以降低VVoIP的傳輸比特率,使得網(wǎng)絡(luò)的狀態(tài)至少為正常。這可以通過估計(jì)傳輸比特率大于網(wǎng)絡(luò)帶寬的帶寬量(這里還稱為過載帶寬)并使VVoIP流的傳輸比特率降低過載帶寬來實(shí)現(xiàn)。優(yōu)選地,減小視頻流(如果啟用)的帶寬,而不是減小音頻流的帶寬。在一個(gè)示例中,可以根據(jù)BWF值和視頻流的當(dāng)前帶寬來估計(jì)過載帶寬??梢酝ㄟ^將視頻帶寬乘以BWF/BWF_Max來估計(jì)過載帶寬,其中,BWF_Max為最大BWF值(例如,在上述示例值中為1000)。然后,可以使視頻帶寬減小所估計(jì)的過載帶寬。在良好狀態(tài)下,可以通過提高流的質(zhì)量來提高VVoIP的傳輸比特率。例如,如果當(dāng)前媒體流僅包括音頻流,那么音頻流的質(zhì)量可以被提高到最佳可用音頻質(zhì)量。如果網(wǎng)絡(luò)在音頻質(zhì)量提高之后仍然處于良好狀態(tài)(即,BWF在第一閾值以下),那么可以以視頻流的最低可用質(zhì)量來啟用視頻流。如果網(wǎng)絡(luò)仍然處于良好狀態(tài),則可以逐漸提高視頻流的質(zhì)量,直到狀態(tài)變?yōu)檎;虿?。如下面更詳?xì)描述的,可以使用探測(cè)頻繁測(cè)試并驗(yàn)證網(wǎng)絡(luò)的狀態(tài)。通常在監(jiān)測(cè)BWF值的同時(shí)提高傳輸比特率允許在未不利地影響VVoIP電話的情況下,比特率提高到對(duì)于網(wǎng)絡(luò)的可用帶寬足夠的水平。相反,如果傳輸比特率提高太快,那么可能結(jié)果是在帶寬估計(jì)器14能夠確定網(wǎng)絡(luò)帶寬對(duì)于較高傳輸比特率是否足夠之前傳輸比特率大于網(wǎng)絡(luò)帶寬。由此,傳輸比特率的逐漸提高可以是有利的。然而,逐漸提高傳輸比特率是緩慢的過程,因此裝置10無法足夠快地反應(yīng)以適當(dāng)適應(yīng)于網(wǎng)絡(luò)帶寬的變化,適當(dāng)適應(yīng)使得可以快速且適當(dāng)調(diào)整VVoIP流。下面討論通過有效使用探測(cè)包來確定網(wǎng)絡(luò)中多少帶寬可用的方法。在傳統(tǒng)系統(tǒng)中,發(fā)送探測(cè)包以測(cè)試可用帶寬涉及發(fā)送包括垃圾數(shù)據(jù)或不需要數(shù)據(jù)的探測(cè)包。然而,在本公開中,探測(cè)包可以為來自媒體(音頻和/或視頻)流的復(fù)制包。網(wǎng)絡(luò)12可以為有損耗的,因此來自媒體流的一些包可能在網(wǎng)絡(luò)12中丟失且永不到達(dá)接收裝置20。這可能引起要在接收裝置20處播放的媒體的質(zhì)量劣化。由此,當(dāng)探測(cè)時(shí),優(yōu)選的是探測(cè)包為來自媒體流的包的復(fù)制包。探測(cè)包還可以為用于媒體包的前向糾錯(cuò)(FEC)包。通過發(fā)送復(fù)制媒體或FEC包,接收裝置20可以接收有用數(shù)據(jù)而不是垃圾或不需要的數(shù)據(jù)。當(dāng)接收裝置10接收到復(fù)制包時(shí),其可以檢查之前是否通過媒體流接收到相同的包。如果之前接收了相同的包,則可以丟棄復(fù)制包。如果之前未經(jīng)由媒體流接收相同的包(即,因?yàn)樵摪褋G失或延遲),那么復(fù)制包被置于抖動(dòng)緩沖器中以代替丟失的包。由此,通過將復(fù)制包或FEC包用作探測(cè)包,可以減輕網(wǎng)絡(luò)中的包丟失并提高要播放的媒體的質(zhì)量。質(zhì)量控制器15可以發(fā)起探針包發(fā)送。寬帶估計(jì)器14可以在發(fā)送期間監(jiān)測(cè)網(wǎng)絡(luò)12的帶寬。如果在探測(cè)期間檢測(cè)到的帶寬有足夠的劣化,則可以停止探測(cè)。寬帶的劣化指示網(wǎng)絡(luò)帶寬對(duì)于媒體流的當(dāng)前傳輸比特率是足夠的但沒有太多可用于提高傳輸比特率的額外帶寬,因此不調(diào)整媒體流。如果探測(cè)期間帶寬沒有足夠的劣化,那么質(zhì)量控制器15可以提高媒體流的質(zhì)量。這可以涉及提高媒體流的質(zhì)量或如果媒體流停用則可以啟用媒體流或如果已啟用媒體流則提高媒體流的質(zhì)量。探測(cè)包的傳輸比特率指示在沒有媒體流的顯著劣化的情況下可以使用多少帶寬。由此,媒體流的傳輸速率可以在不影響媒體流的質(zhì)量的情況下被安全地增大多達(dá)與探測(cè)包的傳輸比特率相同的量。探測(cè)包的傳輸比特率可以基于之前的探測(cè)而自身調(diào)整。例如,如果一個(gè)或更多個(gè)之前探測(cè)未指示網(wǎng)絡(luò)帶寬的任何顯著劣化,那么可以提高用于探測(cè)包的傳輸比特率,這可以允許更快速地提高媒體流的傳輸比特率。然而,如果之前探測(cè)指示網(wǎng)絡(luò)帶寬的劣化,用于隨后探測(cè)傳輸?shù)膫鬏敱忍芈士梢越档突蛑刂脼槟J(rèn)最小值。探測(cè)包的傳輸可以以規(guī)律的時(shí)間間隔來進(jìn)行。如果在探測(cè)期間檢測(cè)到帶寬的足夠劣化,則可以增加到下一探測(cè)為止的時(shí)間。因?yàn)榘l(fā)送探測(cè)包需要網(wǎng)絡(luò)帶寬,所以媒體流的質(zhì)量可能每次執(zhí)行探測(cè)時(shí)受影響(即使探測(cè)可以有助于減輕包丟失)。由此,通過延長檢測(cè)帶寬劣化時(shí)探測(cè)間隔之間的時(shí)間,可以減小媒體流的質(zhì)量的波動(dòng)。圖3a-圖3b是詳細(xì)說明了如何響應(yīng)于所檢測(cè)帶寬來調(diào)整媒體流(包括音頻流和視頻流)且如何利用探測(cè)來調(diào)整帶寬的示例的流程圖。在步驟301處,估計(jì)網(wǎng)絡(luò)的帶寬??梢岳缤ㄟ^確定BWF(如上所述)來估計(jì)帶寬。在步驟302處,根據(jù)所估計(jì)的帶寬對(duì)網(wǎng)絡(luò)的狀態(tài)進(jìn)行分類(如上所述)。如果狀態(tài)被分類為良好,則處理移到步驟303。如果狀態(tài)本分類為正常,那么不執(zhí)行調(diào)整或探測(cè),并且處理移回步驟301。如果狀態(tài)被分類為差,那么處理移至圖3b的步驟321。在步驟303處,確定視頻流是否適于最佳可用質(zhì)量。如果不,那么處理移至步驟304,在步驟304處,提高音頻流的質(zhì)量。然后,處理移回步驟301。音頻的質(zhì)量可以經(jīng)由步驟301、步驟302、步驟303以及步驟304的循環(huán)逐漸提高到最佳質(zhì)量。另選地,可以快速而不是逐漸提高音頻流的質(zhì)量,使得音頻流的質(zhì)量立即或在一個(gè)或兩個(gè)循環(huán)之后提高到最佳可用質(zhì)量。如果緊接快速提高音頻流的質(zhì)量之后網(wǎng)絡(luò)的狀態(tài)變?yōu)檎;虿?,那么質(zhì)量的提高率可以切換回逐漸提高(圖3a中未示出該步驟)。如果/當(dāng)音頻流適應(yīng)于最佳可用質(zhì)量,那么處理移至步驟305。當(dāng)音頻流適于最佳可用質(zhì)量時(shí),開啟探測(cè)定時(shí)器(附圖中未示出該步驟)。當(dāng)探測(cè)定時(shí)器上的時(shí)間到達(dá)探測(cè)擊發(fā)閾值FT時(shí),探測(cè)開始。探測(cè)擊發(fā)閾值FT最初可以為預(yù)定值,然后被調(diào)整(如下面進(jìn)一步描述的)。在步驟305處,遞增探測(cè)定時(shí)器PF。在該示例中,將探測(cè)定時(shí)器遞增自從最后通過步驟305起經(jīng)過的時(shí)間量。然而,探測(cè)時(shí)間可以基于時(shí)間(例如,每秒)或以每播放請(qǐng)求計(jì)數(shù)(如上面關(guān)于包接收間隙描述的)或以任何其他合適的時(shí)間測(cè)度來遞增。在步驟306處,檢查探測(cè)定時(shí)器,以探測(cè)定時(shí)器是否達(dá)到探測(cè)擊發(fā)閾值FT。擊發(fā)閾值FT=ηt,其中,t為預(yù)定的時(shí)間大致數(shù)(例如,六秒),并且η為最初可以被設(shè)置為一的擊發(fā)系數(shù)。例如,如果t=6s且η=1,那么FT=6s,并且探測(cè)將為從開始探測(cè)定時(shí)器開始或從最末探測(cè)結(jié)束時(shí)開始的6秒。如果PF未達(dá)到FT,那么處理回到步驟301。如果PF達(dá)到FT,那么處理移至步驟307。在步驟307處,開始探測(cè)包的發(fā)送或如果已開始探測(cè)包的發(fā)送則該發(fā)送繼續(xù)。探測(cè)包在預(yù)定持續(xù)時(shí)間PDT(例如,六秒)內(nèi)傳輸。探測(cè)包以預(yù)定初始帶寬來發(fā)送。初始探測(cè)帶寬BWP可以等于以最低可接受質(zhì)量MIN_V_BW發(fā)送視頻流所需的帶寬。在步驟308處,確定PT是否大于FT+PDT。如果否,那么探測(cè)仍然在進(jìn)行中,并且處理移回步驟301。如果是,那么在預(yù)定持續(xù)時(shí)間內(nèi)的探測(cè)已結(jié)束,并且處理移至步驟309。如果處理到達(dá)該步驟,那么網(wǎng)絡(luò)的狀態(tài)(參見步驟302)在探測(cè)持續(xù)時(shí)間PDT期間不變差。由此,這指示網(wǎng)絡(luò)具有足夠帶寬以較高比特率發(fā)送媒體流。在步驟309處,將擊發(fā)系數(shù)η重置為它的初始值(因?yàn)槿缦滤?,如果處理在某時(shí)移至步驟323,則擊發(fā)系數(shù)η可能已變化)。在步驟310處,檢查是否啟用了視頻流。如果未啟用視頻流,則處理移至步驟311,在步驟311處,開啟視頻流。在開啟視頻流之后,處理移回步驟301。優(yōu)選地,視頻流video_bw的初始傳輸比特率與探測(cè)帶寬BWp相同。如果啟用了視頻流,那么處理移至步驟312,在步驟312處,提高視頻流的質(zhì)量。優(yōu)選地,提高視頻流的質(zhì)量,使得傳輸比特率video_bw提高了與探測(cè)帶寬BWp相同的量。在步驟313處,BWp預(yù)定比特率值被遞增。由此,如果網(wǎng)絡(luò)狀態(tài)對(duì)于下一帶寬估計(jì)仍然良好,則用于下一探測(cè)的傳輸比特率將較高。BWp可以增大至最大探測(cè)帶寬,該最大探測(cè)帶寬可以等于可用于媒體流的最大傳輸比特率??梢愿鶕?jù)以下算式來增大BWp:BWp(n)=BWp(n-1)+預(yù)定比特率,其中,n為測(cè)量編號(hào)。然后,處理返回到步驟301。圖3b示出了從步驟303(該步驟為網(wǎng)絡(luò)的狀態(tài)被分類為差)開始的處理。當(dāng)網(wǎng)絡(luò)被分類為差時(shí),用于探測(cè)包的傳輸比特率可以被重置于最小BWp值(附圖中未示出該步驟)。在步驟321處,確定探測(cè)包的發(fā)送當(dāng)前是否在進(jìn)行中。如果否,則處理移至步驟324。如果是,則處理移至步驟322,在步驟322處,停止探測(cè)包的發(fā)送。在步驟323處,使擊發(fā)系數(shù)η遞增預(yù)定值y(例如,y=0.3)。每次未完成探測(cè)持續(xù)時(shí)間時(shí)(即,在探測(cè)期間網(wǎng)絡(luò)的狀態(tài)被分類為差),將η遞增y。由此,在步驟323處,η被設(shè)置為η(n)=η(n-1)+y,其中,n為測(cè)量編號(hào)。這具有在網(wǎng)絡(luò)的狀態(tài)在連續(xù)探測(cè)傳輸期間被檢測(cè)為差時(shí)延長探測(cè)傳輸之間的間隔的效果。然后,處理返回到步驟301。在步驟324處,確定是否啟用了視頻流。如果是,那么處理移至步驟326。如果否,那么處理移至步驟325,在步驟325處,將音頻流的質(zhì)量降低預(yù)定減少量,以降低音頻流的傳輸比特率。然后,處理移回步驟301。處理可以依次通過步驟301、302、321、324以及325,以降低音頻流的質(zhì)量,直到網(wǎng)絡(luò)狀況被分類為正?;蛄己脼橹?。在步驟326處,確定(步驟301處估計(jì)的)網(wǎng)絡(luò)帶寬是否大于以最低質(zhì)量(MIN_V-BW)保持視頻流而且以最高可用質(zhì)量保持音頻流所需的最小帶寬。如果否,那么處理移至步驟327,在步驟327處,停止視頻流。如果是,那么處理移至步驟328,在步驟328處,使視頻流的質(zhì)量降低音頻流和視頻流的當(dāng)前傳輸比特率與所確定的網(wǎng)絡(luò)帶寬之間的差。例如,可以如上所述使視頻流的帶寬減小所估計(jì)的過載帶寬。處理在步驟327和328之后移回步驟301。如上所述,帶寬優(yōu)選地使用源于媒體流的傳輸?shù)臏y(cè)度(諸如BWF)來估計(jì)。當(dāng)媒體流僅包括音頻流(即,視頻流關(guān)閉)時(shí),帶寬使用作為音頻流的一部分發(fā)送的包來估計(jì)。然后,該所估計(jì)的帶寬用于確定是否應(yīng)啟動(dòng)視頻流(即,是否應(yīng)從零提高視頻流的傳輸比特率)。由此,可以根據(jù)已在音頻流上發(fā)送的包確定網(wǎng)絡(luò)帶寬是否還將適于發(fā)送視頻流。因此,不需要發(fā)送用于確定網(wǎng)絡(luò)的帶寬是否適于支持視頻流的單獨(dú)或額外包。因此,更有效地使用網(wǎng)絡(luò)帶寬。網(wǎng)絡(luò)帶寬的可用性還可以通過發(fā)送探測(cè)包來確定,該探測(cè)包包括媒體數(shù)據(jù)或FEC數(shù)據(jù)或可以為已發(fā)送的包的復(fù)制。因?yàn)樘綔y(cè)包內(nèi)的數(shù)據(jù)可以用于接收裝置,所以這提供了一種使用帶寬來探測(cè)(而不是發(fā)送具有垃圾數(shù)據(jù)的探測(cè)包)的更有效方式。由此,與發(fā)送具有垃圾數(shù)據(jù)的探測(cè)包相比,在接收裝置處播放的媒體的質(zhì)量可以通過發(fā)送具有復(fù)制數(shù)據(jù)或FEC數(shù)據(jù)的探測(cè)包而更高。圖1的裝置被示出為包括若干功能塊。這僅是示意性的且不旨在定義這種實(shí)體的不同邏輯元件之間的嚴(yán)格劃分。各功能塊可以以任意合適的方式來提供。通常,上述功能、方法、技術(shù)或部件中的任意一個(gè)可以在軟件、固件、硬件(例如,固定邏輯電路)或其任意組合中實(shí)施。術(shù)語“模塊”、“功能”、“部件”、“元件”、“單元”、“塊”以及“邏輯”在這里可以用于總體表示軟件、固件、硬件或其任意組合。在軟件實(shí)施的情況下,模塊、功能、部件、元件、單元、塊或邏輯表示在處理器上執(zhí)行時(shí)執(zhí)行指定任務(wù)的程序代碼。這里所述的算法和方法可以由執(zhí)行使得處理器執(zhí)行算法/方法的代碼的一個(gè)或更多個(gè)處理器來執(zhí)行。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例包括隨機(jī)存儲(chǔ)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、光盤、閃存、硬盤存儲(chǔ)器以及可以將磁、光以及其他技術(shù)用于存儲(chǔ)指令或可以由機(jī)器訪問的其他數(shù)據(jù)的其他存儲(chǔ)裝置。如這里所用的術(shù)語計(jì)算機(jī)程序代碼和計(jì)算可讀質(zhì)量提及用于處理器的任意類型的可執(zhí)行代碼,該代碼包括以機(jī)器語言、解釋語言或腳本語言表達(dá)的代碼??蓤?zhí)行代碼包括二進(jìn)制代碼、機(jī)器代碼、字節(jié)代碼、定義集成電路的代碼(諸如硬件描述語言或網(wǎng)絡(luò)列表)以及以編程語言代碼(諸如C、Java或OpenCL)表達(dá)的代碼??蓤?zhí)行代碼例如可以為任意類型的軟件、固件、腳本、模塊或庫,它們?cè)诒辉谔摂M器或其他軟件環(huán)境處適當(dāng)執(zhí)行、處理、解釋、編譯并執(zhí)行時(shí),使得支持可執(zhí)行代碼的計(jì)算機(jī)系統(tǒng)的處理器執(zhí)行由代碼執(zhí)行的任務(wù)。處理器、計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)可以為具有處理能力使得可以執(zhí)行指令的任意種類的裝置、機(jī)器或?qū)S秒娐坊蚱渚奂虿糠帧L幚砥骺梢詾槿我夥N類的通用或?qū)S锰幚砥?,諸如CPU、GPU、片上系統(tǒng)、狀態(tài)機(jī)、媒體處理器、專用集成電路(ASIC)、可編程邏輯陣列、現(xiàn)場可編程門陣列(FPGA)等。計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)可以包括一個(gè)或更多個(gè)處理器。定義集成電路的代碼可以以任意方式(包括作為網(wǎng)絡(luò)列表、用于構(gòu)造可編程芯片的代碼以及作為定義任意級(jí)的集成電路的硬件描述語言(包括作為寄存器傳送級(jí)(RTL)代碼、作為高級(jí)電路表示(諸如Verilog或VHDL)以及作為低級(jí)電路表示(諸如OASIS和GDSII)))來定義集成電路。當(dāng)在被構(gòu)造成生成集成電路的顯示的適當(dāng)裝配的計(jì)算機(jī)系統(tǒng)處處理時(shí),定義集成電路的代碼可以使得計(jì)算機(jī)系統(tǒng)生成由代碼表達(dá)的集成電路的顯示。這種計(jì)算機(jī)系統(tǒng)可以使得例如通過提供用于控制被構(gòu)造成制造集成電路或制造集成電路的中間表達(dá)(諸如光刻掩膜)的輸出來生成集成電路的顯示。邏輯上定義集成電路的更高級(jí)表示(諸如RTL)可以在計(jì)算機(jī)系統(tǒng)處處理,該計(jì)算機(jī)系統(tǒng)被構(gòu)造成在為了生成由表示這樣定義的集成電路的顯示而包括電路元件的定義和用于組合這些元件的規(guī)則的軟件環(huán)境的場境中生成集成電路的顯示。與通常軟件在計(jì)算機(jī)系統(tǒng)處執(zhí)行以便定義機(jī)器的情況相同,為了使被構(gòu)造成生成集成電路的顯示的計(jì)算機(jī)系統(tǒng)執(zhí)行定義集成電路的代碼以便生成該集成電路的顯示,可以需要一個(gè)或更多個(gè)中間用戶步驟(例如,提供命令、變量等)。申請(qǐng)人在此孤立地公開了這里所述的各獨(dú)立特征和兩個(gè)或更多個(gè)這種特征的任意組合,達(dá)到這種特征或組合能夠鑒于本領(lǐng)域技術(shù)人員的普通常識(shí)整體基于本規(guī)范而進(jìn)行的程度,不管這種特征或特征的組合是否解決這里所公開的任何問題。鑒于上述描述,對(duì)本領(lǐng)域技術(shù)人員將顯然的是,可以在本發(fā)明的范圍內(nèi)進(jìn)行各種修改。當(dāng)前第1頁1 2 3