移動至接收裝置20再返回的時 間。如圖4中所示,數(shù)據(jù)包40和41可以是用于傳遞媒體流的數(shù)據(jù)包并且由傳送裝置10和 接收裝置20傳送,數(shù)據(jù)包40和41各自能夠具有包含在其內(nèi)的下列信息:本地數(shù)據(jù)包生成 時間(LPGT)和/或遠程數(shù)據(jù)包生成時間(RPGT)和數(shù)據(jù)包空閑時間(PIT)。
[0096] 當裝置10和20通信時,例如在VoIP呼叫期間,針對該呼叫而傳送的每個數(shù)據(jù)包 可以包含LPGT信息,針對數(shù)據(jù)包40來說其為T0。當在裝置20接收到數(shù)據(jù)包40時,測量接 收的時刻(T1)并且當裝置20發(fā)送下一數(shù)據(jù)包41時,在上一數(shù)據(jù)包40的接收時間和當前 數(shù)據(jù)包41的傳送時間(T2)之間經(jīng)過的時間作為PIT被并入到數(shù)據(jù)包41中。上次接收到 的數(shù)據(jù)包40在裝置10處的數(shù)據(jù)包生成時間(即,T0)被包括在數(shù)據(jù)包41中。裝置10然 后能夠根據(jù)數(shù)據(jù)包41中的信息來估計網(wǎng)絡(luò)延遲:
[0097] 網(wǎng)絡(luò)延遲=數(shù)據(jù)包接收到時間(T3)-RPGT_PIT
[0098] 網(wǎng)絡(luò)延遲值可以受到多種因素的影響,諸如裝置10和20之間的網(wǎng)絡(luò)中的網(wǎng)絡(luò)網(wǎng) 關(guān)的數(shù)量。這些網(wǎng)關(guān)對網(wǎng)絡(luò)延遲的影響通??梢允呛愣ǖ摹榱藢⒂删W(wǎng)關(guān)引起的延遲計入 在內(nèi),可以進行許多網(wǎng)絡(luò)延遲測量(例如,75和125之間并且優(yōu)選100左右),然后能夠確 定許多最小延遲值(例如,四個最小值)的平均值。所確定的平均值的一半能夠被用來估 計由網(wǎng)關(guān)引起的延遲。因此,對于接下來測量的網(wǎng)絡(luò)延遲值,取半的平均值能夠被用作從接 下來測量到的網(wǎng)絡(luò)延遲值中減去的固定值,以將由網(wǎng)關(guān)引起的延遲計入在內(nèi)。
[0099] 2)數(shù)據(jù)包接收間隙。數(shù)據(jù)包接收間隙能夠指示持續(xù)的數(shù)據(jù)包流丟失或在網(wǎng)絡(luò)中被 卡住。這可能導(dǎo)致例如斷開,如果數(shù)據(jù)包接收間隙值高,則語音通話中的間隙可能減小。每 當數(shù)據(jù)包接收間隙較高時,為了維持語音通話,傳送比特率能夠被降低使得數(shù)據(jù)包能夠到 達接收裝置20并且語音通話能夠被維持。
[0100] 在媒體流期間,接收裝置20可以期望在某些時刻接收數(shù)據(jù)包作為流的一部分。例 如,數(shù)據(jù)包可以包含應(yīng)當在接收裝置20處以某種次序和/或在某個時間播放的一部分媒 體。在期望接收數(shù)據(jù)包和實際接收到該數(shù)據(jù)包之間經(jīng)過的時間能夠指示該數(shù)據(jù)包接收間 隙。另選地,能夠通過計數(shù)媒體播放器(該媒體播放器可以每隔一定間隔請求媒體數(shù)據(jù)包) 在接收裝置20處在實際接收媒體數(shù)據(jù)包之前請求用于播放媒體的數(shù)據(jù)包的次數(shù)來指示數(shù) 據(jù)包接收間隙。
[0101] 3)數(shù)據(jù)包丟失。該測量指示經(jīng)過指定的時段在網(wǎng)絡(luò)中數(shù)據(jù)包的丟失百分比。
[0102] 4)網(wǎng)絡(luò)抖動。該測量指示在接收連續(xù)數(shù)據(jù)包之間的時間的變化。該變化可以由 網(wǎng)絡(luò)擁塞、時間漂移、路由變化等造成。高的網(wǎng)絡(luò)抖動值指示接收到較多個發(fā)生故障的數(shù)據(jù) 包。
[0103] 5)突發(fā)丟失。該測量指示在數(shù)據(jù)包的丟失和開始連續(xù)接收預(yù)定數(shù)目的良好數(shù)據(jù)包 之間的時間段中的數(shù)據(jù)包的數(shù)目。
[0104] 由質(zhì)量估計器14確定的質(zhì)量的測量可以利用上述測量1至5中的一種測量或任 意組合。當將測量組合時,各個測量可以被不同地加權(quán),來反映其在影響網(wǎng)絡(luò)的質(zhì)量方面的 作用。例如,較高的網(wǎng)絡(luò)延遲和數(shù)據(jù)包接收間隙值能夠更加清楚地指示糟糕的網(wǎng)絡(luò)狀況,因 此可以設(shè)有較高的權(quán)重。因此,當確定測量組合時對各個測量合適地進行加權(quán)能夠提供對 糟糕的網(wǎng)絡(luò)狀況的更快速更準確的反映,并且允許配置管理器15快速地調(diào)整媒體流的傳 送參數(shù)。
[0105] 各個測量(或測量組合)的值能夠提供網(wǎng)絡(luò)的質(zhì)量或能力的估計,而不提供明確 的帶寬估計。當網(wǎng)絡(luò)狀況變化時,值的變化能夠提供帶寬是增大還是減小的指示。根據(jù)值 的變化,能夠選擇新的配置。例如,如果測量指示帶寬已經(jīng)增加(例如,由于針對上述測量 1)至5)的各個測量或任意組合的所確定的值已經(jīng)增加),則配置管理器15能夠選擇新的 配置來使用其以高于當前配置的比特率傳送。
[0106] 由于測量1)至5)能夠使用當前媒體流的性能來確定質(zhì)量估計,因此測量能夠針 對當前網(wǎng)絡(luò)狀況提供當前利用的配置的合適性的指示。例如,如果當以BR^送時的測量指 示網(wǎng)絡(luò)有能力,則配置管理器15能夠?qū)魉捅忍芈试黾又罛R 6。當以BR6傳送時,測量可以 指示網(wǎng)絡(luò)中有較少或者沒有能力,因此配置管理器可以降回至BR 5。因此,通過使用上述測 量1)至5)中的一種測量或任意組合,能夠針對當前網(wǎng)絡(luò)狀況確定傳送比特率的合適性。
[0107] 所執(zhí)行的各個測量的值可以被不同地進行量化來反映所測量的值在影響網(wǎng)絡(luò)的 質(zhì)量方面的作用。例如,當提供針對網(wǎng)絡(luò)延遲的值時,如果測量到較短的延遲時間,則零量 化可以與該較短的延遲時間相關(guān)聯(lián)地被應(yīng)用于值,因為網(wǎng)絡(luò)的狀況被認為良好。然而,如果 測量到長的延遲時間,其指示網(wǎng)絡(luò)的狀況已經(jīng)變差,則較大的量化可以與該長的延遲時間 相關(guān)聯(lián)地被提供給該值,以提供較差網(wǎng)絡(luò)狀況的夸大的印象,這可以允許系統(tǒng)更快速地反 應(yīng)并適應(yīng)較差的網(wǎng)絡(luò)狀況。
[0108] 新配置的選擇能夠根據(jù)所測量的值。例如,如果傳送裝置10曾使用配置c6傳送并 且所測量的值相對較小,這表明網(wǎng)絡(luò)良好并且存在一些較多的可用帶寬,則配置管理器15 可以選擇配置(: 5來以稍高的比特率傳送。如果所測量的值曾相對較大,這表明網(wǎng)絡(luò)狀況不 好,并且配置管理器15可以根據(jù)該值恰當?shù)剡x擇配置。然后,下一質(zhì)量測量值可以提供可 用帶寬是高于還是低于新比特率的指示,并且配置管理器又能夠據(jù)此選擇配置。因此,通過 以這種方式周期性地確定網(wǎng)絡(luò)的質(zhì)量,能夠持續(xù)地調(diào)整傳送比特率。
[0109] 配置管理器15可以根據(jù)所測量的網(wǎng)絡(luò)質(zhì)量來選擇糾錯方案,以備當傳送媒體流 時使用。配置管理器15可以選擇諸如冗余方案(例如,RFC 2198)、前向糾錯(FEC)、重疊時 間戳校正(OTR)等的糾錯方案。合適方案的選擇可以根據(jù)實現(xiàn)各個方案所需的帶寬的量。 通常來說,諸如RFC 2198的冗余方案要求的帶寬比FEC小,而FEC要求的帶寬比CTR小。 因此,配置管理器優(yōu)先使用冗余方法,然后是FEC然后是OTR。如果冗余方案不受傳送裝置 10或接收裝置20的支持,則選擇FEC。如果冗余方案和FEC都不受裝置10和20的支持, 則選擇OTR。
[0110] 當實現(xiàn)糾錯方案時,該方案能夠根據(jù)網(wǎng)絡(luò)質(zhì)量的測量來配置。例如,冗余值(對于 FEC 2198)或跨度(對于FEC)能夠根據(jù)網(wǎng)絡(luò)質(zhì)量的測量來配置。當測量指示糟糕的網(wǎng)絡(luò)狀 況以及較多的數(shù)據(jù)包丟失時,冗余值和FEC跨度能夠與網(wǎng)絡(luò)質(zhì)量的丟失成比例地增加,這 樣能夠有更大的機會在接收裝置20恢復(fù)數(shù)據(jù)包。
[0111] 接收裝置20可以包括與傳送裝置10相同的特征和功能。裝置10和20能夠單獨 地或共同地確定質(zhì)量測量。裝置10和20還可以傳送網(wǎng)絡(luò)質(zhì)量估計或網(wǎng)絡(luò)參數(shù)來確定待用 于媒體流的配置。裝置10和20還可以單獨地或共同地協(xié)商來確定待用于媒體流的編解碼 器和數(shù)據(jù)包大小。
[0112] 另選地,接收裝置20可以不包括與傳送裝置10相同的特征和功能。例如,接收裝 置20可以不包括質(zhì)量估計器14或者可以不能解析所接收的網(wǎng)絡(luò)質(zhì)量估計。例如,在裝置 10和20之間的VoIP流的情況下,這可以導(dǎo)致當網(wǎng)絡(luò)的質(zhì)量變化時接收裝置20不能夠調(diào) 整其傳送比特率。然而,傳送裝置10的確包括質(zhì)量估計器14并且因此能夠估計網(wǎng)絡(luò)質(zhì)量。 基于由傳送裝置10進行的質(zhì)量估計,配置管理器能夠選擇具有適于當前估計的網(wǎng)絡(luò)質(zhì)量 的傳送比特率的一個或更多個編解碼器。然后,傳送裝置10能夠?qū)⒅甘具@些選擇的編解碼 器的信息發(fā)送到接收裝置20,以使得接收裝置20使用這些選擇的編解碼器中的一個編解 碼器。在初始呼叫建立期間或在呼叫期間的重新協(xié)商期間,傳送裝置10和接收裝置20彼 此發(fā)送受各個各自的裝置支持的編解碼器列表。傳送裝置10能夠造成接收裝置20基于網(wǎng) 絡(luò)質(zhì)量使用從受支持的編解碼器列表中選擇的其中一個編解碼器。因此,傳送裝置10能夠 造成接收裝置20根據(jù)在傳送裝置10處進行的質(zhì)量估計來調(diào)整其傳送比特率。
[0113] 在一個示例中,傳送裝置10和接收裝置20可以是能夠VoIP通信的裝置??梢杂?于VoIP通信的示例性編解碼器包括G722、G. 711 (ALaw、y law)、AMR WB (具有可變的模式 和相應(yīng)的比特率)、G. 729AB、G. 726-16、G. 726-24、G. 726-32、G. 726-40、G. 723. 1 (5. 3)、AMR NB (具有可變的模式和相應(yīng)的比特率)。
[0114] 根據(jù)本文所描述的示例配置的傳送裝置和接收裝置能夠被具體化為硬件、軟件或 硬件和軟件的任何合適的組合。本文所描述的示例的傳送裝置和接收裝置例如能夠包括, 用于在一個或更多個處理器(例如在CPU和/或GPU處)、和/或一個或更多個專用處理器 (例如ASIC)、和/或適于編程以提供數(shù)據(jù)處理系統(tǒng)的功能性的一個或更多個可編程處理器 (例如FPGA)、和/或包括一個或更多個專用的、可編程的和通用處理功能的異構(gòu)處理器處 執(zhí)行的軟件。在本文所描述的示例中,傳送裝置和接收裝置包括一個或更多個處理器和具 有存儲在其上的程序代碼的一個或更多個存儲器,數(shù)據(jù)處理器和存儲器例如以組合的方式 提供要求保護的數(shù)據(jù)處理系統(tǒng)和/或執(zhí)行要求保護的方法。
[01