專利名稱:抖動緩沖器的制作方法
技術領域:
本發(fā)明涉及抖動緩沖器。特別地,本發(fā)明涉及從發(fā)送器發(fā)送實時通信事件數(shù)據(jù)到接收器的抖動緩沖器。
背景技術:
在實時通信事件中,如音頻或視頻呼叫,發(fā)送器可以通過通信信道發(fā)送數(shù)據(jù)給接收器。通信信道可以存在于多個不同的可能的網(wǎng)絡中的一個(或多個)中。例如,通信信道可存在于互聯(lián)網(wǎng)上或如移動電信網(wǎng)絡的無線網(wǎng)絡上。不利地,當數(shù)據(jù)(可以數(shù)據(jù)分組的形式被發(fā)送)通過通信信道發(fā)送,該數(shù)據(jù)可能被延遲或損壞。當數(shù)據(jù)通過通信信道發(fā)送,可采用多種技術處理數(shù)據(jù)的延遲或損壞。
作為一個示例,抖動緩沖器可以被用在接收器,以消除實時通信事件中數(shù)據(jù)發(fā)送延遲的變化的影響。盡管存在數(shù)據(jù)分組傳播延遲(稱為抖動)的隨機變化,但這仍然增加了在接收器實現(xiàn)數(shù)據(jù)的連續(xù)回放的可能性。抖動緩沖器被放置在接收器,并被用于在接收器開始回放之前累積一些數(shù)據(jù)分組,從而引入額外的延遲(抖動緩沖器延遲)到通信事件, 以幫助容納數(shù)據(jù)分組傳播延遲抖動。在通信事件期間,所述抖動緩沖器可根據(jù)在數(shù)據(jù)分組傳播延遲中的變化來調(diào)整其延遲。所述抖動緩沖器也可以對發(fā)自發(fā)送器并且亂序地到達接收器的數(shù)據(jù)進行排序,以使得數(shù)據(jù)分組可以以正確的順序在接收器回放。抖動緩沖器也可以丟棄遲到的數(shù)據(jù)分組,即在實時通信事件中被安排從接收器的抖動緩沖器中播放的時間之后到達抖動緩沖器的數(shù)據(jù)分組。
抖動緩沖器狀態(tài)描述了抖動緩沖器的當前條件,并且可以包括,例如,抖動緩沖器延遲、抖動緩沖器大小和/或抖動緩沖器可用空間的指示。抖動緩沖器延遲可以表示為一定量的時間,例如,若干秒(或更常見的是,毫秒)或多個內(nèi)容幀,例如,音頻或視頻數(shù)據(jù)的內(nèi)容幀。抖動緩沖器大小和抖動緩沖器可用空間可表示為數(shù)據(jù)的量,例如多個比特、字節(jié)或分組。
可以根據(jù)多個權(quán)衡來控制抖動緩沖器延遲,包括I.抖動緩沖器延遲和遲到數(shù)據(jù)分組的數(shù)量(即在從實時通信事件中被安排從接收器的抖動緩沖器中播放的時間之后到達抖動緩沖器的數(shù)據(jù)分組的數(shù)量)之間的權(quán)衡。雖然更高的抖動緩沖器延遲減少了遲到數(shù)據(jù)分組的數(shù)量,但所導致的回放延遲的增加,可對實時通信的交互產(chǎn)生不利影響。因此,抖動緩沖器延遲可以與遲到數(shù)據(jù)分組的數(shù)量相平衡。在這種方式中,如果用于通信事件的通信信道的情況變化,以使得遲到數(shù)據(jù)分組的數(shù)據(jù)量變化, 可控制所述抖動緩沖器延遲以平衡遲到數(shù)據(jù)分組的數(shù)量的變化。
2.抖動緩沖器延遲調(diào)整和引入到所接收的信號中的修正量之間的權(quán)衡。抖動緩沖器延遲的增加或減少意味著部分信號在接收器比預定播放地更慢或更快,這會導致質(zhì)量的下降。然而,必要時調(diào)整抖動緩沖器延遲,這仍然是有利的,所以抖動緩沖器的調(diào)整可以與引入到所接收的信號中的修正量相平衡。
在這種方式中,接收器可以控制使用在通信事件中的抖動緩沖器延遲。發(fā)明內(nèi)容
本發(fā)明人已經(jīng)認識到,在實時通信事件中數(shù)據(jù)被處理用于發(fā)送到抖動緩沖器的方式和抖動緩沖器狀態(tài)是彼此鏈接的。此外,本發(fā)明人已經(jīng)認識到,基于抖動緩沖器狀態(tài)控制處理參數(shù)是有利的,所述處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到接收器的抖動緩沖器。同樣的,基于處理參數(shù)控制抖動緩沖器狀態(tài)是有利的,所述處理參數(shù)在實時通信事件中被用于處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器。在某些實施例中,處理參數(shù)和抖動緩沖器狀態(tài)可被聯(lián)合確定。
根據(jù)本發(fā)明的第一方面,提供了一種從發(fā)送器發(fā)送實時通信事件數(shù)據(jù)到接收器的抖動緩沖器的方法,該方法包括在發(fā)送器接收來自接收器的抖動緩沖器狀態(tài)信息,所述抖動緩沖器狀態(tài)信息指示抖動緩沖器的狀態(tài)?;谒邮盏降亩秳泳彌_器狀態(tài)信息控制至少一個處理參數(shù),所述至少一個處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動緩沖器。根據(jù)所確定的至少一個處理參數(shù),處理數(shù)據(jù)以用于從發(fā)送器發(fā)送到抖動緩沖器。在實時通信事件中將處理后的數(shù)據(jù)從發(fā)送器發(fā)送到接收器的抖動緩沖器。
有利的是,基于在接收器的抖動緩存器的狀態(tài)控制(多個)處理參數(shù)。當已處理的數(shù)據(jù)被發(fā)送到抖動緩沖器,這允許數(shù)據(jù)以適于抖動緩沖器狀態(tài)的方式(根據(jù)處理參數(shù))被處理。
所述至少一個處理參數(shù)可包括影響已處理的數(shù)據(jù)隨后在接收器如何被處理以便在接收器播放的任何參數(shù)。例如,所述至少一個處理參數(shù)可包括以下至少一個(i)編碼比特率,在數(shù)據(jù)的處理期間,數(shù)據(jù)以該編碼比特率被編碼,(ii)前向糾錯(FEC)深度,(iii)分組延遲,以及(iv)交織延遲。
在一些實施例中,控制(多個)處理參數(shù)的步驟從而在以下約束內(nèi)控制所發(fā)送的數(shù)據(jù)的至少一個質(zhì)量參數(shù)根據(jù)抖動緩沖器狀態(tài)信息指示的所述抖動緩沖器的狀態(tài),所發(fā)送的數(shù)據(jù)能夠從所述接收器的抖動緩沖器中恢復。至少一個所發(fā)送的數(shù)據(jù)的質(zhì)量參數(shù)可以包括以下至少一個(i)編碼質(zhì)量、(ii)比特率、以及(iii)防止分組丟失的魯棒性。
在一些實施例中,所述方法進一步包括確定至少一個處理參數(shù)的調(diào)整后的版本; 根據(jù)至少一個處理參數(shù)的調(diào)整后的版本確定抖動緩沖器調(diào)整后的狀態(tài),所述抖動緩沖器調(diào)整后的狀態(tài)適于接收已被處理的數(shù)據(jù);并且從發(fā)送器向接收器發(fā)送指示抖動緩沖器的調(diào)整后的狀態(tài)的額外的抖動緩沖器狀態(tài)信息,其中,根據(jù)至少一個處理參數(shù)的調(diào)整后的版本,數(shù)據(jù)被處理以從發(fā)送器發(fā)送到抖動緩沖器。有利的是,在這些實施例中,額外的抖動緩沖器狀態(tài)信息允許根據(jù)發(fā)送器中使用的(多個)處理參數(shù)來控制抖動緩沖器狀態(tài)。在這種方式下, 可控制所述抖動緩沖器狀態(tài)以適于(多個)處理參數(shù),在發(fā)送器中使用所述處理參數(shù)以處理數(shù)據(jù),用于在實時通信事件中向所述抖動緩沖器發(fā)送所述數(shù)據(jù)。此外,確定至少一個處理參數(shù)的調(diào)整后版本的步驟可以包括確定根據(jù)至少一個處理參數(shù)的調(diào)整后版本處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器將導致好處。所述好處可以是,例如,所發(fā)送的數(shù)據(jù)的編碼質(zhì)量、 所發(fā)送的數(shù)據(jù)的比特率、所發(fā)送的數(shù)據(jù)防止分組丟失的魯棒性、或在接收器減少的回放延遲。
在一些實施例中,處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器的步驟包括編碼所述數(shù)據(jù),并且所述至少一個處理參數(shù)包括編碼所述數(shù)據(jù)的編碼比特率。該方法可進一步包括從抖動緩沖器控制信息中確定抖動緩沖器的大小或抖動緩沖器中的可用空間,其中,基于所確定的抖動緩沖器的大小或抖動緩沖器中的可用空間,控制所述編碼比特率。該方法可進一步包括確定是抖動緩沖器還是用于實時通信事件的通信信道為從發(fā)送器向接收器發(fā)送的數(shù)據(jù)的發(fā)送路徑的瓶頸,其中,基于是抖動緩沖器還是通信信道為所發(fā)送數(shù)據(jù)的發(fā)送路徑中的瓶頸的確定,可以控制所述編碼比特率。
在一些實施例中,所處理的數(shù)據(jù)包括數(shù)據(jù)分組流,并且處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器的步驟包括生成與數(shù)據(jù)分組的至少一個有關的糾正數(shù)據(jù)單元,并且所述至少一個處理參數(shù)包括糾正深度,所述糾正深度設置了數(shù)據(jù)分組流中被允許與糾正數(shù)據(jù)單元中的一個相關的最老的和最新的數(shù)據(jù)分組之間的最大允許位移。所述方法可以進一步包括從抖動緩沖器狀態(tài)信息中確定抖動緩沖器延遲,其中,控制所述糾正深度,從而依賴于所確定的抖動緩沖器延遲控制通過使用糾正數(shù)據(jù)單元在接收器中恢復所發(fā)送的數(shù)據(jù)分組所引起的延遲。例如,使用糾正數(shù)據(jù)單元在接收器處恢復所發(fā)送的數(shù)據(jù)分組所引起的延遲, 可對應于所確定的抖動緩沖器延遲。在一個示例中,所述糾正數(shù)據(jù)單元是前向糾錯數(shù)據(jù)單元,并且糾正深度是前向糾錯深度。
在一些實施例中,所述數(shù)據(jù)包括數(shù)據(jù)單元流,并且處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器的步驟包括將數(shù)據(jù)單元分組為數(shù)據(jù)分組以用于發(fā)送,并且所述至少一個處理參數(shù)包括分組延遲,所述分組延遲設置了數(shù)據(jù)單元分組為數(shù)據(jù)分組所導致的數(shù)據(jù)單元的最大允許延遲。該方法可以進一步包括從所述抖動緩沖器狀態(tài)信息確定所述抖動緩沖器的延遲,其中,控制所述分組延遲依賴于所確定的抖動緩沖器延遲。例如,分組延遲可以被控制以使得它對應于所確定的抖動緩沖器延遲。
在一些實施例中,所述數(shù)據(jù)包括數(shù)據(jù)單元流,處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動緩沖器的步驟可以包括交織至少一些數(shù)據(jù)單元以用于發(fā)送,并且所述至少一個處理參數(shù)可以包括交織延遲,所述交織延遲設置了交織所述數(shù)據(jù)單元所導致的數(shù)據(jù)單元的最大允許延遲。該方法可以進一步包括從抖動緩沖器狀態(tài)信息確定所述抖動緩沖器的延遲,其中,控制所述交織延遲依賴于所確定的抖動緩沖器延遲。例如,交織延遲可以被控制以使得它對應于所確定的抖動緩沖器延遲。
抖動緩沖器狀態(tài)可包括以下至少一個(i)抖動緩沖器大小,( )抖動緩沖器延遲,以及(iii)抖動緩沖器中的可用空間。抖動緩沖器狀態(tài)可以是抖動緩沖器的當前狀態(tài), 或抖動緩沖器的將來狀態(tài)。
接收抖動緩沖器狀態(tài)信息和控制至少一個處理參數(shù)的步驟可以連續(xù)地或周期性地在實時通信事件期間執(zhí)行。
根據(jù)本發(fā)明的第二方面,提供了一種發(fā)送器,用于發(fā)送實時通信事件數(shù)據(jù)到接收器的抖動緩沖器,所述發(fā)送器包括接收裝置,用于接收來自接收器的指示抖動緩沖器的狀態(tài)的抖動緩沖器狀態(tài)信息;控制裝置,用于基于所接收到的抖動緩沖器狀態(tài)信息控制至少一個處理參數(shù),所述至少一個處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動緩沖器;處理裝置,用于根據(jù)所確定的至少一個處理參數(shù),處理數(shù)據(jù)以用于從發(fā)送器發(fā)送到抖動緩沖器;以及發(fā)送裝置,用于在實時通信事件中將處理后的數(shù)據(jù)從發(fā)送器發(fā)送到接收器中的抖動緩沖器。
根據(jù)本發(fā)明的第三方面,提供了一種計算機程序產(chǎn)品,用于從發(fā)送器發(fā)送實時通信事件數(shù)據(jù)到接收器的抖動緩沖器,該計算機程序產(chǎn)品被實現(xiàn)在非瞬時計算機可讀介質(zhì)上,并被配置為當在發(fā)送器的處理器上執(zhí)行時,進行此處描述的方法的步驟。
為更好的理解本發(fā)明并且示出本發(fā)明是如何實施的,將以示例的形式參考附圖, 其中圖I示出了根據(jù)優(yōu)選實施例的通信系統(tǒng);圖2是根據(jù)優(yōu)選實施例的從發(fā)送器向接收器發(fā)送數(shù)據(jù)的第一過程的流程圖;圖3是一個曲線圖,示出在一個示例中的視頻幀的序列中的字節(jié)數(shù);圖4a示出了如何可以生成FEC數(shù)據(jù)單元的第一示例;圖4b示出了如何可以生成FEC數(shù)據(jù)單元的第二示例;圖4c示出了如何可以生成FEC數(shù)據(jù)單元的第三示例;圖5表示了根據(jù)優(yōu)選實施例的在通信系統(tǒng)中使用FEC所發(fā)送的數(shù)據(jù)流;圖6表示了根據(jù)優(yōu)選實施例的在通信系統(tǒng)中所發(fā)送的分組數(shù)據(jù)流;圖7表示了根據(jù)優(yōu)選實施例的在通信系統(tǒng)中所發(fā)送的交織數(shù)據(jù)流;圖8是根據(jù)優(yōu)選實施例的調(diào)整所述接收器的抖動緩沖器狀態(tài)的流程圖;圖9是根據(jù)優(yōu)選實施例的從發(fā)送器向接收器發(fā)送數(shù)據(jù)的第二過程的流程圖;以及圖10是根據(jù)優(yōu)選實施例的從發(fā)送器向接收器發(fā)送數(shù)據(jù)的第三過程的流程圖。
具體實施方式
現(xiàn)在將僅以示例的方式來描述本發(fā)明的優(yōu)選實施例。
參考圖1,現(xiàn)在描述根據(jù)優(yōu)選的實施例的通信系統(tǒng)100。該通信系統(tǒng)100包括發(fā)送器102和接收器108。發(fā)送器102包括用于處理數(shù)據(jù)的處理器104和用于存儲數(shù)據(jù)的存儲器106。接收器108包括用于處理數(shù)據(jù)的處理器110,用于存儲數(shù)據(jù)的存儲器112,和用于從發(fā)送器102接收數(shù)據(jù)的抖動緩沖器114。
在操作中,發(fā)送器102可(例如,使用處理器104)處理(例如,從存儲器106中檢索的)數(shù)據(jù)以形成數(shù)據(jù)流,所述數(shù)據(jù)流包括多個數(shù)據(jù)分組。之后,可在通信信道上穿過網(wǎng)絡向接收器108的抖動緩沖器114發(fā)送數(shù)據(jù)流。如上所述,在數(shù)據(jù)從抖動緩沖器輸出以用于在接收器108中處理(例如,使用處理器110)之前,該數(shù)據(jù)短時間內(nèi)被存儲在抖動緩沖器 (即“抖動緩沖器延遲”)。在接收器108中的處理可以包括從數(shù)據(jù)流中解分組和解碼數(shù)據(jù)。 該數(shù)據(jù)可以存儲在接收器108的存儲器112中,或從接收器108例如輸出到用戶。數(shù)據(jù)流中數(shù)據(jù)與發(fā)送器102的用戶和接收器108的用戶之間的實時通信事件(諸如語音呼叫或視頻呼叫)有關。
發(fā)送器102向接收器108發(fā)送數(shù)據(jù)的網(wǎng)絡可以是任何合適的、有能力提供合適的通信信道的網(wǎng)絡。該網(wǎng)絡可以是廣域網(wǎng)(WAN)或局域網(wǎng)(LAN)。作為示例,網(wǎng)絡可以是內(nèi)部網(wǎng),互聯(lián)網(wǎng)或諸如移動電話網(wǎng)絡的電話網(wǎng)絡。發(fā)送器102和接收器108可以被實現(xiàn)在通過網(wǎng)絡分別發(fā)送和接收數(shù)據(jù)流的任何合適的裝置或設備中。例如,發(fā)送器102和接收器108 可以被實現(xiàn)為用戶設備,諸如有能力連接到網(wǎng)絡的個人計算機或電話。
當抖動緩沖器114從發(fā)送器102接收到數(shù)據(jù)時,以及當數(shù)據(jù)從抖動緩沖器114中移除以在接收器108中處理時,抖動緩沖器114的狀態(tài)改變。抖動緩沖器114的狀態(tài)可由諸如抖動緩沖器114的延遲或114的大小的參數(shù)來描述。按照數(shù)據(jù)從發(fā)送器102接收開始直到移除以用于在接收器108中處理為止將在抖動緩沖器114中存儲的時間(所述抖動緩沖器延遲),或按照在抖動緩沖器114中的數(shù)據(jù)的內(nèi)容的幀的數(shù)目,或按照數(shù)據(jù)量,例如以存在于抖動緩沖器114的數(shù)據(jù)的比特數(shù)或字節(jié)數(shù)來計量,該參數(shù)描述了目前抖動緩沖器114 中的數(shù)據(jù)量。抖動緩沖器114的狀態(tài)也可描述抖動緩沖器114中的可用空間,所述可用空間被確定為抖動緩沖器114的最大所允許的大小減去抖動緩沖器114當前大小。
可以看出,抖動緩沖器114的狀態(tài)影響如何在接收器108接收數(shù)據(jù)。因此當抖動緩沖器114的狀態(tài)變化時,依照抖動緩沖器114的當前狀態(tài),改變處理數(shù)據(jù)以發(fā)送到接收器 108的方式可能是有利的。因此,本發(fā)明人已經(jīng)認識到,發(fā)送接收器108的抖動緩沖器狀態(tài) (例如,抖動緩沖器114當前的大小或延遲,以及抖動緩沖器114中的可用空間)到發(fā)送器 102,這是有利的,其中,可以基于抖動緩沖器114的狀態(tài)控制所述發(fā)送器的處理模塊的操作。
參照圖2,其中描述了從發(fā)送器102發(fā)送數(shù)據(jù)到接收器108的抖動緩沖器114的第一方法。在步驟S202中,發(fā)送器102接收來自接收器108的抖動緩沖器114的抖動緩沖器狀態(tài)信息(如圖I所示)。所述抖動緩沖器狀態(tài)信息指示抖動緩沖器114的當前狀態(tài),并且可以例如指示當前抖動緩沖器114的延遲或大小,并且還可以指示在抖動緩沖器114中的可用空間。抖動緩沖器狀態(tài)信息可以指示抖動緩沖器114的其他屬性,這在確定如何最好地處理數(shù)據(jù)以從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114中是有用的。
在步驟S204中,基于在步驟S202中接收到的抖動緩沖器信息控制發(fā)送器102的至少一個處理參數(shù)。所述(多個)處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114中。在步驟204中可以控制的可能的處理參數(shù)的示例包括編碼比特率、FEC深度、分組延遲和交織延遲,在下面更詳細地描述這些示例。對于本領域技術人員顯而易見的是,其它用于處理數(shù)據(jù)以從發(fā)送器102發(fā)送到接收器 108中的抖動緩沖器114中的處理參數(shù)可以此處給定的示例相類似的方式被控制。
在步驟S206中,根據(jù)在步驟204中確定的(多個)處理參數(shù),在發(fā)送器102處理數(shù)據(jù)以用于發(fā)送。所述數(shù)據(jù)可以被發(fā)送器102中的多個處理模塊處理。例如,可以存在編碼模塊、FEC模塊、分組模塊和交織模塊。每個模塊都可以根據(jù)在步驟S204中確定的(多個) 處理參數(shù)來操作。通過根據(jù)在步驟S204中確定的(多個)處理參數(shù)處理數(shù)據(jù),所述數(shù)據(jù)以適于根據(jù)抖動緩沖器114的狀態(tài)在所述抖動緩沖器114接收的方式被處理。
在步驟S208中,處理后的數(shù)據(jù)從發(fā)送器102發(fā)送到接收器108中的抖動緩沖器 114。所述數(shù)據(jù)通過網(wǎng)絡被發(fā)送,不利地,當發(fā)送時所述數(shù)據(jù)可能存在一些可變延遲或損壞。 如上所述,在接收器108處使用抖動緩沖器114有助于克服發(fā)送時數(shù)據(jù)的可變延遲和損壞引起的問題。
因此,存在如上所述的在實時的通信事件中從發(fā)送器102發(fā)送數(shù)據(jù)到接收器108 的方法,由此,基于在接收器108接收所述數(shù)據(jù)的抖動緩沖器114的狀態(tài),控制數(shù)據(jù)在發(fā)送器102被處理以發(fā)送到接收器108的方式。
所述當前抖動緩沖器狀態(tài)影響多個處理模塊的性能,所述多個處理模塊用于在實時通信事件中處理數(shù)據(jù)以發(fā)送到抖動緩沖器114,如下面舉例說明。
I.編碼器比特率發(fā)送器102可以包括在實時通信事件中編碼數(shù)據(jù)以發(fā)送到接收器108的處理模塊。所述處理模塊可在發(fā)送器102的硬件或軟件中實現(xiàn)(例如,在CPU104上執(zhí)行)??梢允褂萌魏魏线m的已知的編碼技術編碼所述數(shù)據(jù)。特定的編碼技術可適合于不同類型的數(shù)據(jù)。例如,如果所述數(shù)據(jù)包括來自發(fā)送器102的用戶的語音,則編碼技術可以包括特定的語音編碼器,用于編碼所述數(shù)據(jù)的語音部分。例如,也可以使用其他的編碼技術壓縮數(shù)據(jù)以發(fā)送到接收器108。使用編碼比特率處理所述數(shù)據(jù),使得編碼后的數(shù)據(jù)具有特定的編碼比特率。 通常較高的編碼率會導致更高質(zhì)量的信號,但需要通過通信信道發(fā)送更多的數(shù)據(jù)到接收器 108。
發(fā)送器102可基于要被發(fā)送的輸入信號,和/或基于數(shù)據(jù)要被發(fā)送的通信信道的條件來調(diào)整它的編碼比特率。例如,輸入信號可以是視頻信號,并且編碼器可以產(chǎn)生瞬時比特率中的突增(尖峰),如圖3所示。圖3示出的曲線圖表示一旦在發(fā)送器102編碼,視頻信號的每幀字節(jié)數(shù)??梢钥闯鰧τ诿總€視頻幀,編碼比特率是不相同的,并且特別地,一些視頻幀(例如幀號O和幀號100)以比其他視頻幀高得多的比特率被編碼。發(fā)生視頻信號的幀的比特率的變化,是因為不同的編碼技術被用于編碼不同的視頻幀。當輸入信號是音頻信號時,可會出現(xiàn)類似的情況。例如,當音頻或視頻信號的一部分獨立于先前已編碼的部分而進行編碼,那么編碼后的視頻或音頻幀的比特率通常是相對高的。這與其它可以使用差分編碼技術編碼的視頻或音頻幀形成鮮明對比,并且因此,那些其他的視頻或音頻幀的編碼比特率通常是相對低的。編碼比特率的突增的另一個示例是,當輸入信號的一部分依賴于先前已編碼的部分進行編碼,但使用了較少的有效比特率的差分編碼模式。在實施例中,當輸入信號是一個視頻信號,對于一些視頻幀中避免差分編碼是有利的(即使比特率增加),例如在所述輸入視頻信號的突然變化的情況下(例如視頻信號中場景變化),或當希望停止歸因于分組丟失的錯誤傳播效果。
編碼后的數(shù)據(jù)的瞬時比特率尖峰導致更大的數(shù)據(jù)分組和/或更大數(shù)量的數(shù)據(jù)分組,所述數(shù)據(jù)分組在實時通信事件中從發(fā)送器102發(fā)送到接收器108中的抖動緩沖器114。 這種數(shù)據(jù)量的增加,需被接收器108的抖動緩沖器114容納。如果所允許的最大抖動緩沖器的大小,例如以比特/字節(jié)或分組的數(shù)量來表示,比需要被放置在抖動緩沖器114中的數(shù)據(jù)量低,那么一些數(shù)據(jù)將被丟棄。這會導致在實時通信事件中通信系統(tǒng)100性能下降。
在另一種情況下,編碼后的數(shù)據(jù)中的瞬時比特率尖峰會導致所產(chǎn)生的數(shù)據(jù)分組的更高的傳播延遲。在這種情況下,在等待新的數(shù)據(jù)分組到達時,抖動緩沖器有足夠的較早數(shù)據(jù)用于播放是有利的。
根據(jù)圖2中所示的方法,發(fā)送器102的編碼模塊可以根據(jù)抖動緩沖器114的當前大小,或根據(jù)抖動緩沖器114當前可用的空間(即,最大允許大小減去當前大小)適配其編碼比特率。編碼比特率是在步驟S204中根據(jù)抖動緩沖器114的狀態(tài)進行控制的處理參數(shù)。 如果抖動緩沖器114的可用空間很小,那么,發(fā)送器102的編碼模塊的應避免要被發(fā)送到抖動緩沖器114的數(shù)據(jù)的比特率的突增。另一方面,在實時通信事件中的數(shù)據(jù)發(fā)送的瓶頸可以是發(fā)送器102和接收器108之間的通信信道(而不是抖動緩沖器114的可用空間)。在這種情況下,數(shù)據(jù)的比特率的增加可能會導致所產(chǎn)生的數(shù)據(jù)分組的傳播延遲增加,這是因為它們是通過通信信道發(fā)送的,同時在等待的新的分組到達時,抖動緩沖器114具有足夠的較早數(shù)據(jù)以提供用于播放(如抖動緩沖器114當前大小所指示)。在這種情況下,盡管有更高的傳播延遲,編碼器仍可增加所述比特率(基于抖動緩沖器114的當前大小的指示), 這是因為所述抖動緩沖器可繼續(xù)輸出它已經(jīng)收到的較早的數(shù)據(jù),所以在接收器108的數(shù)據(jù)的輸出中將沒有延遲,并且根據(jù)增加的比特率可以保持高的數(shù)據(jù)質(zhì)量。
因此,可以看出,可依賴于如在步驟中202中發(fā)送器102從接收器108所接收的抖動緩沖器狀態(tài)信息所指示的抖動緩沖器114的狀態(tài)控制用于編碼數(shù)據(jù)以從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114的編碼比特率。
2.前向糾錯在數(shù)據(jù)流中的數(shù)據(jù)可以被分成在發(fā)送器102和接收器108之間的通信信道上發(fā)送的數(shù)據(jù)分組。在理想的系統(tǒng)中,通信信道是無損的,使得從發(fā)送器102通過通信信道發(fā)送的每一個數(shù)據(jù)分組,都在接收器108的抖動緩沖器114被接收。然而,在真實的物理系統(tǒng)中,通信信道是有損耗的,意味著,所發(fā)送的一些數(shù)據(jù)分組將在通信信道上丟失,并因此將不在接收器108的抖動緩沖器114被接收。這是有害的。糾正方案可以用于幫助在接收器108中恢復至少一些丟失的數(shù)據(jù)分組。
作為示例,前向糾錯(FEC)是可以用來對抗通信信道中分組丟失的糾正方案。FEC 產(chǎn)生除了原始數(shù)據(jù)單元之外的冗余數(shù)據(jù)(諸如FEC數(shù)據(jù)單元),并且在通信信道上發(fā)送的數(shù)據(jù)流中包含F(xiàn)EC數(shù)據(jù)單元。發(fā)送原始的和冗余的FEC數(shù)據(jù)的FEC方案被稱為系統(tǒng)性FEC 方案。不發(fā)送原始數(shù)據(jù)的FEC方案被稱為非系統(tǒng)性方案。在后一種情況下,發(fā)送的數(shù)據(jù)的總量仍然是高于原始數(shù)據(jù)的量,以提供冗余。為了簡化,但不失一般性,我們在此討論系統(tǒng) FEC方案。冗余FEC數(shù)據(jù)單元可被放置在其自己的分組中,獨立于數(shù)據(jù)流中的數(shù)據(jù)分組??商鎿Q地,或另外地,F(xiàn)EC數(shù)據(jù)單元可被附加(或“捎帶”)到數(shù)據(jù)流中的原始數(shù)據(jù)分組。為了簡化,但不失一般性,我們在此討論獨立的原始的和FEC數(shù)據(jù)分組。當一些原始數(shù)據(jù)分組在通信信道上丟失,成功到達的FEC數(shù)據(jù)單元和成功到達的數(shù)據(jù)分組可以被用來恢復(至少一些)丟失的數(shù)據(jù)分組。也就是說,在接收器的解碼器看來,相比于通信信道的實際分組丟失,F(xiàn)EC減少了分組丟失。
圖4a, 4b和4c示出了如何生成FEC數(shù)據(jù)單元的三個示例。如圖4a中所示,FEC數(shù)據(jù)單元404可以生成為數(shù)據(jù)流中原始數(shù)據(jù)分組402的一個精確拷貝。通過將數(shù)據(jù)分組402 和FEC數(shù)據(jù)單元404 二者包括在數(shù)據(jù)流中,所述數(shù)據(jù)分組402中的數(shù)據(jù)被發(fā)送兩次。因此如果數(shù)據(jù)分組402在發(fā)送過程中丟失,但FEC數(shù)據(jù)單元404被成功地接收,則數(shù)據(jù)分組402中的數(shù)據(jù)可以被成功地在接收器(使用FEC數(shù)據(jù)單元404)恢復。如圖4b中所示,模塊408可用來生成FEC數(shù)據(jù)單元410,所述FEC數(shù)據(jù)單元410是以低比特率編碼的原始數(shù)據(jù)分組406 的拷貝。如果數(shù)據(jù)分組406在發(fā)送過程中丟失,但FEC數(shù)據(jù)單元410被成功地接收,則基于 FEC數(shù)據(jù)單元410,數(shù)據(jù)分組406中的數(shù)據(jù)可以至少部分地在接收器恢復。應當注意,如果數(shù)據(jù)分組402和406具有相同的大小(例如,相同的比特數(shù)),那么FEC數(shù)據(jù)單元410將具有比FEC數(shù)據(jù)單元404更小的大小(例如,更少的比特)。因此,雖然FEC數(shù)據(jù)單元404在數(shù)據(jù)分組402的恢復中比FEC數(shù)據(jù)單元410在數(shù)據(jù)分組406的恢復中更加有用,但生成如在圖4b中所示的FEC數(shù)據(jù)單元可以是有利的,這是因為FEC數(shù)據(jù)單元410比FEC數(shù)據(jù)單元 404在數(shù)據(jù)流的通信信道上使用了更少的可用比特率。如在圖4c中所示,混合模塊418可以用來從多個原始的數(shù)據(jù)分組中,例如,數(shù)據(jù)分組412,414和416中生成FEC數(shù)據(jù)單元420。有限域(伽羅華域)運算可被用于組合原始數(shù)據(jù)分組。例如,混合模塊418可確定應用到三個數(shù)據(jù)分組412,414和416的異或(XOR)函數(shù)的逐比特(bit-by-bit)結(jié)果,以生成FEC 數(shù)據(jù)單元420。在另一種方法中,通過使用伽羅華域GF(28)運算,數(shù)據(jù)分組412,414和416 逐字節(jié)相結(jié)合,以生成FEC數(shù)據(jù)單元420。在這個意義上,F(xiàn)EC數(shù)據(jù)單元420是原始數(shù)據(jù)分組412,414和416的組合或混合的結(jié)果。如果數(shù)據(jù)分組412,414和416的一個在發(fā)送過程中丟失,但其他兩個數(shù)據(jù)分組和FEC數(shù)據(jù)單元420被成功地接收到,則丟失的數(shù)據(jù)分組中的數(shù)據(jù)可以被成功地在接收器(使用其他兩個數(shù)據(jù)分組和FEC數(shù)據(jù)單元420)恢復。
因此可以看出,F(xiàn)EC數(shù)據(jù)單元可以許多不同的方式生成。不同的FEC方案描述了生成FEC數(shù)據(jù)單元的不同的方式。FEC方案可描述與FEC數(shù)據(jù)單元的生成有關的因素,諸如所生成的FEC數(shù)據(jù)單元的數(shù)量;哪些數(shù)據(jù)分組被用來生成FEC數(shù)據(jù)單元;如何發(fā)送FEC 數(shù)據(jù)單元(例如,作為單獨的分組,或通過將FEC數(shù)據(jù)單元附加到數(shù)據(jù)分組);以及FEC數(shù)據(jù)單元被放置在數(shù)據(jù)流中的何處。FEC方案的丟失恢復性能描述了 FEC方案使用FEC數(shù)據(jù)單元在接收器恢復丟失的數(shù)據(jù)分組的能力。
通常,數(shù)據(jù)流中的FEC數(shù)據(jù)單元數(shù)目的增加改進了 FEC方案的丟失恢復性能。然而,數(shù)據(jù)流中的FEC數(shù)據(jù)單元數(shù)目的增加帶來了比特率效率的成本。
FEC方案的丟失恢復性能在很大程度上取決于FEC開銷和FEC深度。
FEC開銷描述了相對于原始數(shù)據(jù)的量的冗余數(shù)據(jù)量(例如,相對于原始分組的數(shù)量的FEC包的數(shù)目)。更高的開銷通常會提高FEC方案的丟失恢復性能。在另一方面,更高的開銷帶來了比特率效率的成本。如果原始數(shù)據(jù)的編碼比特率保持不變,則冗余的增加導致總比特率的增加??商鎿Q地,如果總比特率受限制,則冗余的增加帶來原始數(shù)據(jù)數(shù)據(jù)的編碼比特率降低的代價。
FEC深度描述了可被FEC數(shù)據(jù)單元保護(即組合成FEC數(shù)據(jù)單元)的最舊的和最新的數(shù)據(jù)分組(包括二者)之間的位移。換句話說,它描述了可以組合成FEC數(shù)據(jù)單元的原始數(shù)據(jù)分組的最大數(shù)目。較高的深度提供了更多的針對FEC數(shù)據(jù)單元的數(shù)據(jù)分組的不同組合的可能性,從而實現(xiàn)例如對于不同的信道條件的FEC方案的更高靈活性。在一個極端的例子中,當FEC數(shù)據(jù)單元被限制為一個原始數(shù)據(jù)分組的拷貝,則較高的深度提供了原始數(shù)據(jù)分組的和它的拷貝(FEC數(shù)據(jù)單元)在時間上的更大獨立性的可能性。在突發(fā)性分組丟失的情況下,這是有利的,因為它最小化了通信信道上原始數(shù)據(jù)分組和拷貝(FEC數(shù)據(jù)單元)在突發(fā)中丟失的概率。
FEC深度與發(fā)送延遲有關。FEC數(shù)據(jù)單元組合了先前生成的原始數(shù)據(jù)分組,因此在發(fā)送器102沒有因使用FEC而引起的額外的算法延遲。然而,因為FEC數(shù)據(jù)單元的生成和發(fā)送晚于其所基于的數(shù)據(jù)分組,為了在接收器108重構(gòu)丟失的數(shù)據(jù)分組,我們假設了接收器108的延遲。這可在圖5所示的時序圖中看出。圖5示出數(shù)據(jù)流的三個數(shù)據(jù)分組(502, 504和506)被用來生成FEC數(shù)據(jù)單元508的情況。直到所有三個數(shù)據(jù)分組502,504和506 都已生成,才能生成FEC數(shù)據(jù)單元。因此,在發(fā)送器102處生成FEC數(shù)據(jù)單元508之前,數(shù)據(jù)分組502和504將從發(fā)送器102發(fā)送。因此,可以發(fā)送FEC數(shù)據(jù)單元508最早是緊接在數(shù)據(jù)分組506之后。在圖5中顯示了此場景。數(shù)據(jù)分組和FEC數(shù)據(jù)單元的發(fā)送需要一些有限的時間量。圖5描繪了發(fā)送期間數(shù)據(jù)分組502通過網(wǎng)絡在有損通信信道上的丟失(510)。但是,數(shù)據(jù)分組504和506與FEC數(shù)據(jù)單元508都成功地在接收器108接收。在接收器108,數(shù)據(jù)分組504和506與FEC數(shù)據(jù)單元508可以被用來恢復丟失的數(shù)據(jù)分組502。然而,丟失的數(shù)據(jù)分組502不能被恢復,直到所有三個(數(shù)據(jù)分組504和506和FEC數(shù)據(jù)單元508)都已在接收器108的抖動緩沖器114被接收。因此,如在圖5中所示,數(shù)據(jù)分組502的FEC恢復需要在接收器108應當接收到數(shù)據(jù)分組(如果它沒丟失)的時間與可以使用FEC數(shù)據(jù)單元508恢復所述數(shù)據(jù)分組的時間之間的延遲。如果用于數(shù)據(jù)流的延遲要求不滿足時,在接收器108,F(xiàn)EC數(shù)據(jù)單元508的到來之前,丟失的數(shù)據(jù)分組502將被聲明為不可解碼。這將很可能會導致FEC方案的性能顯著下降。
但是,在接收器108,這種延遲不必作為額外的延遲由FEC引入。例如,所需的延遲可能已經(jīng)存在于接收器108。接收器108的延遲的一個可能的原因是抖動緩沖器114的存在。如上所述,抖動緩沖器114引入了延遲到數(shù)據(jù)流中,以便減輕分組到達時間的隨機變化 (抖動)。如果在數(shù)據(jù)分組502即將從抖動緩沖器114(如果它未在發(fā)送過程中丟失)被輸出的時間之前,F(xiàn)EC數(shù)據(jù)單元508被接收,那么在接收器108有可能恢復數(shù)據(jù)分組502,而不用在抖動緩沖器114已經(jīng)引入的延遲之上引入任何額外的延遲。應選擇FEC深度以便保持丟失的數(shù)據(jù)分組和FEC數(shù)據(jù)單元之間的延遲,所述FEC數(shù)據(jù)單元可用來在接收器108恢復延遲要求內(nèi)丟失的數(shù)據(jù)分組。因此,對于實時數(shù)據(jù)發(fā)送(例如視頻呼叫或音頻呼叫),F(xiàn)EC 深度被設置為相對較低的數(shù)。
在發(fā)送器102處FEC方案在給定抖動緩沖器114的大小后可選擇可能的最高深度,而無需進一步增加(或最低限度的增加)接收器108的延遲。抖動緩沖器114的大小增加時,F(xiàn)EC深度會相應增加。當抖動緩沖器的大小減小時,F(xiàn)EC深度相應減少(或額外的延遲被引入接收器108,以應付FEC深度)。為了避免在后者的情況下的突然的FEC的性能下降,在響應于所期望的抖動緩沖器大小減少而減小FEC深度之前,抖動緩沖器114的大小應不被降低(或額外的延遲應被引入接收器以應付FEC深度)。
3.分組發(fā)送器102可包括用于將數(shù)據(jù)分組為數(shù)據(jù)分組以在實時通信事件中發(fā)送到接收器108 的處理模塊。該處理模塊可被實現(xiàn)在發(fā)送器102的硬件或軟件中(例如,在CPU 104上執(zhí)行)。用于將數(shù)據(jù)分成數(shù)據(jù)分組(例如數(shù)據(jù)分組的報頭的形式,以及其他類似的實施細節(jié)) 的協(xié)議,可以取決于數(shù)據(jù)要被發(fā)送的通信信道的性質(zhì),例如數(shù)據(jù)分組要被發(fā)送所通過的網(wǎng)絡的類型。
當編碼數(shù)據(jù)單元很小時,將它們放置到一個更大的數(shù)據(jù)分組用于發(fā)送,而不是使用單獨的小數(shù)據(jù)分組,這個是有利的。這減少了相關聯(lián)的分組報頭開銷。換句話說,因為較少的數(shù)據(jù)分組被發(fā)送,也就有更少的分組報頭,并且因此被發(fā)送的分組報頭數(shù)據(jù)的數(shù)量被減少。
圖6示出了一個示例,其中數(shù)據(jù)流的6個連續(xù)的數(shù)據(jù)單元602i到6026要從發(fā)送器 102發(fā)送到接收器108。在圖6中所示的示例中,數(shù)據(jù)單元在數(shù)據(jù)分組中被發(fā)送,從而在每個數(shù)據(jù)分組中三個數(shù)據(jù)單元被發(fā)送。也就是說,不是發(fā)送6個小的數(shù)據(jù)分組,其中每一個僅包含一個數(shù)據(jù)單元,而是只有兩個較大的數(shù)據(jù)分組被發(fā)送,例如,在圖6中所示的示例中, 兩個數(shù)據(jù)分組604和606從發(fā)送器102發(fā)送到接收器108。數(shù)據(jù)分組604包括前三個數(shù)據(jù)單元(數(shù)據(jù)單元1,2和3)并且數(shù)據(jù)分組606包括接下來的三個數(shù)據(jù)單元(數(shù)據(jù)單元4,5 和6)。12
雖然數(shù)據(jù)單元的這種分組降低了分組報頭開銷,但帶來了延遲的代價。我們稱此延遲為分組延遲。例如,在圖6所示的情況下,因為數(shù)據(jù)單元1,2和3都在數(shù)據(jù)分組604 — 起發(fā)送,所以數(shù)據(jù)單元3被生成之前,數(shù)據(jù)單元I還沒有被發(fā)送。這意味著,數(shù)據(jù)單元I在發(fā)送器102中被生成和在接收器108中被接收之間,比相應的數(shù)據(jù)單元3的延遲具有更高的延遲。分組延遲在圖6中被示作為如果每個數(shù)據(jù)單元被分開發(fā)送數(shù)據(jù)單元I將在接收器 108被接收的時間與數(shù)據(jù)分組604中的數(shù)據(jù)單元I被接收的時間之間的時間間隔。
然而,如果接收器108能容忍數(shù)據(jù)單元I的分組延遲,例如,如果直到數(shù)據(jù)分組604 在接收器108被接收,數(shù)據(jù)單元I才被要求在接收器108進行解碼和/或回放,那么分組延遲不成為數(shù)據(jù)單元在發(fā)送中的額外延遲/成本。這可以是由于在接收器108的抖動緩沖器延遲導致的情況。例如,抖動緩沖器114可以具有足夠的較早數(shù)據(jù)(數(shù)據(jù)流中在數(shù)據(jù)單元I 之前),以在數(shù)據(jù)分組604到達之前提供連續(xù)的解碼和/或回放。因此,抖動緩沖器114的狀態(tài),特別是當前的抖動緩沖器延遲會影響可以容忍的分組延遲的量。
實現(xiàn)在發(fā)送器102的分組方案使用在步驟S202中發(fā)送器102從接收器108接收的抖動緩沖器狀態(tài)信息來控制所發(fā)送的數(shù)據(jù)的分組延遲。例如,分組延遲可以被控制,使得在給定抖動緩沖器114的抖動緩沖器延遲的情況下,分組延遲被最大化,且不用進一步增加(或最低限度地增加)所發(fā)送的數(shù)據(jù)流的數(shù)據(jù)單元的總延遲。因此分組延遲可被控制, 使得其對應于抖動緩沖器114的延遲。這意味著,分組延遲可被控制為等于(或近似相等于)抖動緩沖器114的延遲。
4.交織發(fā)送器102可包括用于交織數(shù)據(jù)單元以在實時通信事件中發(fā)送到接收器108的處理模塊。該處理模塊可被實現(xiàn)在發(fā)送器102的硬件或軟件中(例如,在CPU 104上執(zhí)行)。用于交織數(shù)據(jù)單元的協(xié)議可以取決于數(shù)據(jù)要被發(fā)送的通信信道的性質(zhì),例如要發(fā)送已交織的數(shù)據(jù)單元所通過的網(wǎng)絡的類型。
交織用于以非順序的方式安排數(shù)據(jù)單元,以便分發(fā)并且最小化發(fā)送過程中的分組丟失的影響。交織降低了由于在數(shù)據(jù)流的發(fā)送過程中的分組丟失或分組丟失突發(fā)而引起的連續(xù)的數(shù)據(jù)單元沒有到達接收器108的概率。相比起丟失連續(xù)的數(shù)據(jù)單元,丟失非連續(xù)的數(shù)據(jù)單元通常會導致更少的數(shù)據(jù)流質(zhì)量下降。此外,交織增加了鄰近數(shù)據(jù)單元可用于隱蔽丟失的數(shù)據(jù)單元的概率,從而通常會導致較高的丟失單元的隱蔽質(zhì)量。交織可以用于形成數(shù)據(jù)分組時以及發(fā)送數(shù)據(jù)分組時。
在一個示例中,在發(fā)送數(shù)據(jù)分組時使用交織。圖7示出了 6個連續(xù)的數(shù)據(jù)單元, 其中每個單元被放置到單獨的數(shù)據(jù)分組(702i到7026)以用于從發(fā)送器102發(fā)送到接收器 108。在如上所述的其它實施例中,根據(jù)發(fā)送器102的分組方案,一個以上的數(shù)據(jù)單元可以分組到每個數(shù)據(jù)分組以用于發(fā)送。當沒有施加交織,數(shù)據(jù)分組702以順序{1,2,3,4,5,6} 發(fā)送,也就是連續(xù)的順序。在這種情況下,在發(fā)送過程中的丟失突發(fā)(連續(xù)的數(shù)據(jù)分組的丟失)導致數(shù)據(jù)流的連續(xù)的數(shù)據(jù)單元的丟失,其對于在接收器108接收的數(shù)據(jù)的質(zhì)量特別有害。
然而,當施加交織時,則數(shù)據(jù)分組的發(fā)送順序不是連續(xù)的數(shù)據(jù)單元順序。例如,圖 7示出的數(shù)據(jù)分組被發(fā)送的順序為{1,3,5,2,4,6}。在這種情況下,在發(fā)送過程中的丟失突發(fā)(連續(xù)的數(shù)據(jù)分組的丟失)可以導致數(shù)據(jù)流的非連續(xù)的數(shù)據(jù)單元丟失,其對于在接收器108接收的數(shù)據(jù)的質(zhì)量不是那么有害。例如,數(shù)據(jù)流中相鄰的數(shù)據(jù)單元可能會在接收器被正確地接收,其可用于隱蔽丟失的數(shù)據(jù)單元。
雖然交織降低了發(fā)送過程中的數(shù)據(jù)分組丟失的影響,但它帶來了延遲的代價。避免數(shù)據(jù)單元的連續(xù)的發(fā)送,意味著只有數(shù)據(jù)流中后面的數(shù)據(jù)單元被生成以及發(fā)送之后,前面的數(shù)據(jù)單元才被發(fā)送。在上面的示例中,只有在數(shù)據(jù)單元3和5被生成和發(fā)送之后,數(shù)據(jù)單元2才被發(fā)送。因此,在接收器108,在數(shù)據(jù)單元I之后不可立即提供數(shù)據(jù)單元2。為了便于在接收器108連續(xù)回放數(shù)據(jù)流,數(shù)據(jù)單元I可以慢慢播放直到接收到數(shù)據(jù)單元2,或以正常速度播放數(shù)據(jù)單元I但具有延遲的開始,或者使用其組合。在所有的情況下,交織需要接收器108中的播放時延遲,被稱為“交織延遲”。交織延遲在圖7中示為如果數(shù)據(jù)單元被連續(xù)發(fā)送數(shù)據(jù)單元2將在接收器108被接收的時間與由于數(shù)據(jù)分組的交織數(shù)據(jù)單元2被接收的時間之間的時間間隔。
然而,不必在接收器108處由于單獨交織而引入延遲。如上所述,由于抖動緩沖器 114,延遲可能已經(jīng)存在于接收器處。如果接收器108能容忍數(shù)據(jù)單元2的交織延遲,例如, 如果直到數(shù)據(jù)單元2在接收器108被接收,數(shù)據(jù)單元2才被要求在接收器108解碼和/或回放,那么交織延遲不成為數(shù)據(jù)單元的發(fā)送中的額外延遲/成本。這可以是由于在接收器 108的抖動緩沖器延遲導致的情況。例如,抖動緩沖器114可以具有足夠的較早數(shù)據(jù)(數(shù)據(jù)流中在數(shù)據(jù)單元2的前面),以在數(shù)據(jù)單元2到達接收器108之前提供連續(xù)的解碼和/或回放。因此,抖動緩沖器114的狀態(tài),特別是當前的抖動緩沖器延遲會影響可以容忍的交織延遲的數(shù)量。
實現(xiàn)在發(fā)送器102的交織方案使用在步驟S202中發(fā)送器102從接收器108接收的抖動緩沖器狀態(tài)信息來控制所發(fā)送的數(shù)據(jù)的交織延遲。例如,交織延遲可以被控制,使得在給定抖動緩沖器114的抖動緩沖器延遲的情況下,交織延遲被最大化,且不用進一步增加(或最低限度地增加)所發(fā)送的數(shù)據(jù)流的數(shù)據(jù)單元的總延遲。因此交織延遲可被控制, 使得其對應于抖動緩沖器114的延遲。這意味著,交織延遲可被控制為等于(或近似等于) 抖動緩沖器114的延遲。
在另一個示例中,在形成用于從發(fā)送器102發(fā)送到接收器108的數(shù)據(jù)分組時使用交織。多個已編碼的數(shù)據(jù)單元放入每個數(shù)據(jù)分組。讓我們考慮6個連續(xù)的數(shù)據(jù)單元1,2,3, 4,5,6以及其中數(shù)據(jù)單元的三個被分組到第一數(shù)據(jù)分組并且其他三個數(shù)據(jù)單元被分組到第二數(shù)據(jù)分組的情況。如果沒有被施加交織,則第一數(shù)據(jù)分組將包括前三個數(shù)據(jù)單元{1,2, 3}而第二數(shù)據(jù)分組將包括接下來的三個數(shù)據(jù)單元{4,5,6}。在這種情況下,在傳輸過程中的數(shù)據(jù)分組的丟失導致數(shù)據(jù)流的連續(xù)數(shù)據(jù)單元的的丟失,其對于在接收器108接收的數(shù)據(jù)的質(zhì)量特別有害。
然而,當實現(xiàn)交織時,第一數(shù)據(jù)分組可包括數(shù)據(jù)單元{1,3,5}而第二數(shù)據(jù)分組可包括數(shù)據(jù)單元{2,4,6}。在這種情況下,在傳輸過程中的數(shù)據(jù)分組的丟失導致數(shù)據(jù)流的不連續(xù)的數(shù)據(jù)單元的丟失,其對于在接收器108接收的數(shù)據(jù)的質(zhì)量不是那么有害。例如,數(shù)據(jù)流中相鄰的數(shù)據(jù)單元可能會在接收器被正確地接收,其可用于隱蔽丟失的數(shù)據(jù)單元。
在這個示例中,發(fā)送器102引入了分組和交織延遲的組合延遲。然而,如上所述, 如果由于抖動緩沖器114的延遲,這種組合延遲已經(jīng)存在于接收器,則它不會是額外的延遲。因此,交織延遲和分組延遲可以被一起控制,使得組合延遲(分組延遲+交織延遲)對應于在步驟S202中發(fā)送器102接收的抖動緩沖器狀態(tài)信息中所指示的抖動緩沖器114的延遲。
因此,存在上述的用于基于接收器108的抖動緩沖器114的狀態(tài)控制發(fā)送器102 的處理模塊的操作的方法。處理參數(shù)可被聯(lián)合控制。在這種方式中,基于抖動緩沖器114 的狀態(tài)控制描述如何處理數(shù)據(jù)以發(fā)送到接收器108的處理參數(shù),以使得最優(yōu)化對數(shù)據(jù)進行處理的方式,以適應抖動緩沖器114的狀態(tài)。
在上述的實施例中,抖動緩沖器114的狀態(tài)是抖動緩沖器114的當前狀態(tài)。在可替代的實施例中,指示給發(fā)送器102的抖動緩沖器的狀態(tài)可以是抖動緩沖器的未來狀態(tài), 其指示了當數(shù)據(jù)從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114時,抖動緩沖器在未來的某個時刻可能具有的狀態(tài)。
參照圖8,現(xiàn)在描述優(yōu)化在發(fā)送器102使用的處理參數(shù)與抖動緩沖器114的狀態(tài)之間的關系的另一種方法。
在步驟S802中,當處理數(shù)據(jù)以用于發(fā)送到接收器108時,對發(fā)送器102使用起來有利的處理參數(shù)被確定。基于如上所述的抖動緩沖器114的狀態(tài),這些處理參數(shù)可以是已經(jīng)確定的處理參數(shù)的調(diào)整版本??商鎿Q地,在步驟S802中,可以確定處理參數(shù)而不考慮抖動緩沖器114的狀態(tài)。如上所述,處理參數(shù)可以包括編碼比特率、FEC深度、分組延遲和交織延遲中的一個或更多。
在步驟S804中,使用在步驟S802中所確定的處理參數(shù)來確定的抖動緩沖器114 的狀態(tài),所述抖動緩沖器114的狀態(tài)適合于接收已根據(jù)步驟S802所確定的處理參數(shù)處理的數(shù)據(jù)。例如,如果編碼比特率增加,則抖動緩沖器114中可用的空間需要增加,以容納由于編碼比特率的增加而引起的要被發(fā)送的額外的數(shù)據(jù)。抖動緩沖器大小依賴數(shù)據(jù)編碼比特率的變化以及依賴于發(fā)送路徑上的瓶頸進行適配。如果抖動緩沖器中的可用空間是發(fā)送路徑中的瓶頸,那么抖動緩沖器114的當前大小應降低,以允許更多的數(shù)據(jù)在抖動緩沖器114被接收??商鎿Q地,如果通信信道是發(fā)送路徑中的瓶頸并且比特率的增加導致傳播延遲增加, 則抖動緩沖器114必須確保它具有足夠多的較早的數(shù)據(jù),以確保在等待新數(shù)據(jù)的同時連續(xù)回放。
作為另一個示例,如果被用來生成用于要發(fā)送的數(shù)據(jù)流的數(shù)據(jù)單元的FEC數(shù)據(jù)單元的FEC深度增加,則抖動緩沖器114的延遲可能需要增加,以使得在需要FEC數(shù)據(jù)單元以便糾正數(shù)據(jù)單元傳送中的錯誤之前,該FEC數(shù)據(jù)單元可在抖動緩沖器114被接收。作為另一個例子,如果分組延遲和交織延遲中一個或兩個增加,則抖動緩沖器114的延遲需要相應增加,以使得在數(shù)據(jù)單元被要求從抖動緩沖器114輸出之前,該數(shù)據(jù)單元在接收器108的抖動緩沖器114被接收。在步驟S804中確定的抖動緩沖器狀態(tài)被確定為優(yōu)化抖動緩沖器 114的操作以用于接收數(shù)據(jù),所述數(shù)據(jù)基于發(fā)送器102的處理參數(shù)而被處理。
在步驟S806中,在步驟S804中確定的抖動緩沖器狀態(tài)的指示從發(fā)送器102發(fā)送到接收器108。抖動緩沖器狀態(tài)可在發(fā)送數(shù)據(jù)的同時從發(fā)送器發(fā)送到接收器108,或者,抖動緩沖器狀態(tài)在發(fā)送數(shù)據(jù)之前從發(fā)送器發(fā)送到接收器108。抖動緩沖器狀態(tài)的指示的發(fā)送將需要從發(fā)送器102到接收器108的小量比特的發(fā)送,其可以在獨立的數(shù)據(jù)分組中發(fā)送,或捎帶到現(xiàn)有的從發(fā)送器102到接收器108的數(shù)據(jù)分組。
在步驟S808中,基于已接收到來自發(fā)送器102的抖動緩沖器狀態(tài)的指示,調(diào)整接收器108的抖動緩沖器114的狀態(tài)。這樣,抖動緩沖器114被置于適合(即優(yōu)化)接收從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114的數(shù)據(jù)的狀態(tài)。因此,當數(shù)據(jù)在發(fā)送器102 被處理(根據(jù)如上所述的處理參數(shù))并發(fā)送到接收器108的抖動緩沖器114時,則抖動緩沖器114處于適合接收該數(shù)據(jù)的狀態(tài)。
如上所述,F(xiàn)EC方案可發(fā)送關于所期望的FEC深度增加的信息,分組方案可發(fā)送關于所期望的分組延遲增加的信息,并且交織方案可發(fā)送有關所期望的連續(xù)數(shù)據(jù)單元分離度增加的信息。在這些情況下,為了實現(xiàn)更高的防止分組丟失的魯棒性,抖動緩沖器114應該增加其大小(即它的延遲)。一般地,發(fā)送器102可發(fā)送關于期望的抖動緩沖器大小(延遲)的增加或減少的信息到接收器108。
參照圖9,現(xiàn)在描述優(yōu)化在發(fā)送器102使用的處理參數(shù)與抖動緩沖器114的狀態(tài)之間的關系的另一種方法。在圖9中所示的方法中,處理參數(shù)(在發(fā)送器102使用以處理用于傳輸?shù)浇邮掌?08的數(shù)據(jù))和接收器108的抖動緩沖器114的狀態(tài)被聯(lián)合及自適應優(yōu)化。優(yōu)化(優(yōu)化手段)涉及的參數(shù)可以包括編碼質(zhì)量和比特率、防止分組丟失的魯棒性和延遲。
在步驟S902中,利用控制抖動緩沖器114狀態(tài)的抖動緩沖器控制信息聯(lián)合確定在發(fā)送器102中被使用以處理用于傳輸?shù)浇邮掌?08的抖動緩沖器114的數(shù)據(jù)的處理參數(shù)。處理參數(shù)與抖動緩沖器控制信息被一起確定,以使得它們對于彼此相互適應(或“優(yōu)化”)。因此,根據(jù)處理參數(shù)被處理的數(shù)據(jù)以這樣一種方式被處理其被優(yōu)化以通過抖動緩沖器114被接收,所述抖動緩沖器114在由抖動緩沖器控制信息所指示的抖動緩沖器狀態(tài)中操作。在發(fā)送器102執(zhí)行步驟S902中的聯(lián)合確定。
在步驟S904中,從發(fā)送器102發(fā)送抖動緩沖器控制信息到接收器108。抖動緩沖器控制信息可在與數(shù)據(jù)發(fā)送相同的時間從發(fā)送器發(fā)送到接收器108,或抖動緩沖器控制信息可在數(shù)據(jù)發(fā)送之前從發(fā)送器發(fā)送到接收器108。抖動緩沖器控制信息的發(fā)送,將需要從發(fā)送器102到接收器108的小量比特的發(fā)送,其可以在獨立的數(shù)據(jù)分組中發(fā)送,或捎帶到現(xiàn)有的從發(fā)送器102到接收器108的數(shù)據(jù)分組。
在步驟S906中,抖動緩沖器控制信息被用在接收器108以設置抖動緩沖器114的狀態(tài)。例如抖動緩沖器114的大小或延遲可以根據(jù)抖動緩沖器控制信息設置。在步驟S902 中,所述抖動緩沖器控制信息與所述處理參數(shù)被聯(lián)合確定。
在步驟S908中,發(fā)送器102使用在步驟S902中的確定的處理參數(shù)對數(shù)據(jù)進行處理。
在步驟S910中,已處理的數(shù)據(jù)從發(fā)送器102發(fā)送到接收器108的抖動緩沖器114。 如上所述,抖動緩沖器114處于適合接收已根據(jù)在步驟S902中確定的處理參數(shù)處理的數(shù)據(jù)的狀態(tài)。
在上所述的涉及圖9方法中,在發(fā)送器102執(zhí)行處理參數(shù)和抖動緩沖器控制信息的聯(lián)合確定,之后從發(fā)送器102發(fā)送抖動緩沖器控制信息到接收器108,使得抖動緩沖器 114的狀態(tài)可以被相應地設置。然而,在替代的實施例中,在接收器108執(zhí)行處理參數(shù)和抖動緩沖器控制信息的聯(lián)合確定,之后抖動緩沖器狀態(tài)的指示和/或所確定的處理參數(shù)的指示從接收器108發(fā)送到發(fā)送器102,使得發(fā)送器102可以相應地控制處理參數(shù)。
在其它實施例中,在控制節(jié)點(而不是發(fā)送器102和接收器108)執(zhí)行處理參數(shù)和抖動緩沖器控制信息的聯(lián)合確定,并且抖動緩沖器控制信息從控制節(jié)點發(fā)送到接收器108, 使得抖動緩沖器114的狀態(tài)可以被相應地設置,并且所確定的處理參數(shù)的指示可從控制節(jié)點發(fā)送到發(fā)送器102,使得發(fā)送器102可以使用所確定的處理參數(shù)來處理數(shù)據(jù)以發(fā)送到接收器108。
聯(lián)合確定處理參數(shù)和抖動緩沖器114的狀態(tài)是有利的,使得在發(fā)送器102的數(shù)據(jù)處理和接收器108的抖動緩沖器114的狀態(tài)相對于彼此優(yōu)化。
改進通信系統(tǒng)的操作的一種方式是發(fā)送器102發(fā)送控制信息到接收器108,其中, 所述接收器108基于所述控制信息控制抖動緩沖器114的狀態(tài)。這允許發(fā)送器102確定處理參數(shù),其利用處理參數(shù)處理數(shù)據(jù)以發(fā)送到接收器108,例如,以改善處理后的數(shù)據(jù)的質(zhì)量。 然后,基于處理參數(shù)確定抖動緩沖器114的狀態(tài)??稍诎l(fā)送器102確定抖動緩沖器狀態(tài),隨后發(fā)送到接收器108的控制信息包括抖動緩沖器114的確定狀態(tài)的指示。可替代地,從發(fā)送器102發(fā)送到接收器108的控制信息可包括(多個)處理參數(shù)的指示,所述(多個)處理參數(shù)用在發(fā)送器102處理實時通信事件數(shù)據(jù)以傳輸?shù)浇邮掌?08。在這種情況下,基于從發(fā)送器102接收到的處理參數(shù)的指示,接收器108確定抖動緩沖器114的狀態(tài)。
圖10是從發(fā)送器102發(fā)送實時通信事件數(shù)據(jù)到接收器108的過程的流程圖。在步驟S1002中,確定在發(fā)送器102中用以處理數(shù)據(jù)以發(fā)送到接收器108的抖動緩沖器114 的處理參數(shù)。處理參數(shù)以改進處理后的數(shù)據(jù)的質(zhì)量的方式被確定。
在步驟S1004中,從發(fā)送器102發(fā)送控制信息到接收器108。如上所述,控制信息可包括抖動緩存器114的狀態(tài)的指示和/或在步驟S1002中確定的處理參數(shù)的指示。控制信息可在與數(shù)據(jù)發(fā)送相同的時間從發(fā)送器102發(fā)送到接收器108,或控制信息可在數(shù)據(jù)發(fā)送之前從發(fā)送器102發(fā)送到接收器108。控制信息的發(fā)送,將需要從發(fā)送器102到接收器 108的小量比特的發(fā)送,其可以在獨立的數(shù)據(jù)分組中發(fā)送,或捎帶到現(xiàn)有的從發(fā)送器102到接收器108的數(shù)據(jù)分組。
在步驟S1006中,控制信息被用在接收器108以設置抖動緩沖器114的狀態(tài)。例如,根據(jù)所述控制信息可以設置抖動緩沖器114的大小或延遲。
在步驟S1008中,使用在步驟S1002中確定的處理參數(shù),在發(fā)送器102處理實時通信事件數(shù)據(jù)。
在步驟S1010中,從發(fā)送器102發(fā)送處理后的數(shù)據(jù)到接收器108的抖動緩沖器 114。如上所述,抖動緩沖器114將處于適合接收已根據(jù)步驟S1002中確定的處理參數(shù)處理的數(shù)據(jù)的狀態(tài)。
例如,發(fā)送器102可僅基于相應的處理模塊(例如,處理模塊的發(fā)送器和接收器部分的組合)的性能決定處理參數(shù)的最佳值,而不是聯(lián)合優(yōu)化處理參數(shù)與抖動緩沖114的狀態(tài)。例如,當在發(fā)送器102確定用于FEC方案的處理參數(shù),發(fā)送器102的FEC編碼器可決定增加FEC深度以改進數(shù)據(jù)流從傳輸過程的分組丟失中恢復的能力。接收器108的FEC解碼器將相應地增加它的延遲。如果抖動緩沖114的延遲低于新的FEC深度所對應的延遲,則在接收器108數(shù)據(jù)播放中存在問題。在現(xiàn)有技術的系統(tǒng)中,在FEC解碼器的新的延遲將被抖動緩沖器視為增加的延遲/抖動。然后抖動緩沖器將相應地調(diào)整延遲,但這種調(diào)整可能發(fā)生為時已晚或過快,并且在接收器108的信號播放質(zhì)量可能因此受到影響。然而,與此相反,根據(jù)上述的方法,在FEC深度的變化之前,發(fā)送器102中的FEC編碼器通知抖動緩沖器114,之后抖動緩沖器114有時間來為FEC延遲的變化做準備。在這種情況下,抖動緩沖器 114將為增加的延遲做準備,并且更慢地播放其內(nèi)容同時等待進一步的數(shù)據(jù)分組到達。這將改進在接收器108播放的信號的質(zhì)量。
如上所述的方法步驟(尤其是圖2、8、9和10中所示的方法步驟)可以實現(xiàn)為在發(fā)送器102和接收器108的硬件或軟件中。例如,其中的方法步驟是在軟件中執(zhí)行,它們可通過在發(fā)送器102和接收器108的處理裝置上執(zhí)行來自計算機程序產(chǎn)品的指令來實現(xiàn)。
上面描述的不同實施例的特征可以任何合適的方式被組合,這在本領域技術人員看來是顯而易見的。
此外,盡管本發(fā)明已參照優(yōu)選的實施例被特別的示出和描述,但是本技術領域的技術人員將會理解,可以在形式和細節(jié)上做出各種改變而不脫離所附權(quán)利要求中所定義的本發(fā)明的范圍。
權(quán)利要求
1.一種用于從發(fā)送器(102)發(fā)送實時通信事件數(shù)據(jù)到接收器(108)的抖動緩沖器(114)的方法,所述方法包括 在發(fā)送器(102)接收來自接收器(108)的指示抖動緩沖器(114)的狀態(tài)的抖動緩沖器狀態(tài)信息; 基于所接收到的抖動緩沖器狀態(tài)信息控制至少一個處理參數(shù),所述至少一個處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器(102)發(fā)送到抖動緩沖器(114); 根據(jù)所確定的至少一個處理參數(shù),處理數(shù)據(jù)以用于從發(fā)送器(102)發(fā)送到抖動緩沖器(114);并且 在實時通信事件中將處理的數(shù)據(jù)從發(fā)送器(102)發(fā)送到接收器(108)中的抖動緩沖器(114)。
2.根據(jù)權(quán)利要求I所述的方法,其中所述控制至少一個處理參數(shù)從而在以下約束內(nèi)控制所發(fā)送的數(shù)據(jù)的至少一個質(zhì)量參數(shù)根據(jù)抖動緩沖器狀態(tài)信息指示的所述抖動緩沖器(114)的狀態(tài),所發(fā)送的數(shù)據(jù)能夠從所述接收器(108)的抖動緩沖器(114)中恢復,并且其中所述至少一個所發(fā)送的數(shù)據(jù)的質(zhì)量參數(shù)包括以下至少一個(i)編碼質(zhì)量、( )比特率、以及(iii)防止分組丟失的魯棒性。
3.如前述任一項權(quán)利要求所述的方法,其中所述處理數(shù)據(jù)以從發(fā)送器(102)發(fā)送到抖動緩沖器(114)的步驟包括編碼數(shù)據(jù),并且其中所述至少一個處理參數(shù)包括編碼所述數(shù)據(jù)的編碼比特率, 其中該方法進一步包括以下至少一個 (i)確定所述抖動緩沖器(114)的大小或所述抖動緩沖器(114)中的可用空間,其中基于所確定的抖動緩沖器(114)的大小或所確定的抖動緩沖器(114)中的可用空間控制所述編碼比特率,以及 (ii)確定是所述抖動緩沖器(114)還是用于實時通信事件的通信信道為從所述發(fā)送器(102)到所述接收器(108)發(fā)送的數(shù)據(jù)的發(fā)送路徑的瓶頸,其中,基于是所述抖動緩沖器(114)還是所述通信信道為所發(fā)送的數(shù)據(jù)的發(fā)送路徑的瓶頸的確定,控制所述編碼比特率。
4.如前述任一項權(quán)利要求所述的方法,其中所述處理的數(shù)據(jù)包括數(shù)據(jù)分組的流,并且其中所述處理數(shù)據(jù)以從發(fā)送器(102)發(fā)送到抖動緩沖器(114)的步驟包括生成與數(shù)據(jù)分組的至少一個有關的糾正數(shù)據(jù)單元,并且其中,所述至少一個處理參數(shù)包括糾正深度,所述糾正深度設置了數(shù)據(jù)分組流中被允許與糾正數(shù)據(jù)單元中的一個相關的最老的和最新的數(shù)據(jù)分組之間的最大允許位移, 其中該方法進一步包括從所述抖動緩沖器狀態(tài)信息確定所述抖動緩沖器(114)的延遲,其中,控制所述糾正深度,從而依賴于所確定的抖動緩沖器(114)的延遲控制通過使用糾正數(shù)據(jù)單元在接收器恢復所發(fā)送的數(shù)據(jù)分組而引起的延遲,并且 其中,所述糾正數(shù)據(jù)單元是前向糾錯數(shù)據(jù)單元,并且糾正深度是前向糾錯深度。
5.如前述任一項權(quán)利要求所述的方法,其中所述數(shù)據(jù)包括數(shù)據(jù)單元的流,并且其中所述處理數(shù)據(jù)以從所述發(fā)送器(102)發(fā)送到所述抖動緩沖器(114)的步驟包括將所述數(shù)據(jù)單元分組為數(shù)據(jù)分組以用于發(fā)送,并且其中所述至少一個處理參數(shù)包括分組延遲,所述分組延遲設置了將所述數(shù)據(jù)單元分組為數(shù)據(jù)分組所導致的數(shù)據(jù)單元的最大允許延遲,并且 其中該方法進一步包括從所述抖動緩沖器狀態(tài)信息確定所述抖動緩沖器(114)的延遲,其中,控制所述分組延遲依賴于所確定的所述抖動緩沖器(114)的延遲。
6.如前述任一項權(quán)利要求所述的方法,其中所述數(shù)據(jù)包括數(shù)據(jù)單元的流,并且其中處理數(shù)據(jù)以從所述發(fā)送器(102)發(fā)送到所述抖動緩沖器(114)的步驟包括交織至少一些數(shù)據(jù)單元以用于發(fā)送,并且其中所述至少一個處理參數(shù)包括交織延遲,所述交織延遲設置了交織所述數(shù)據(jù)單元所導致的數(shù)據(jù)單元的最大允許延遲,并且 其中該方法進一步包括從抖動緩沖器狀態(tài)信息確定所述抖動緩沖器(114)的延遲,其中控制所述交織延遲依賴于所確定的所述抖動緩沖器(114)的延遲。
7.如前述任一項權(quán)利要求所述的方法,進一步包括 確定至少一個處理參數(shù)的調(diào)整后版本; 確定所述抖動緩沖器(114)的調(diào)整后狀態(tài),所述抖動緩沖器(114)的調(diào)整后狀態(tài)適于接收已根據(jù)至少一個處理參數(shù)的調(diào)整后版本處理的數(shù)據(jù);并且 從所述發(fā)送器(102)向所述接收器(108)發(fā)送指示所述抖動緩沖器(114)的調(diào)整后狀態(tài)的額外的抖動緩沖器狀態(tài)信息, 其中,根據(jù)至少一個處理參數(shù)的調(diào)整后版本,數(shù)據(jù)被處理以從所述發(fā)送器(102)發(fā)送到所述抖動緩沖器(114)。
8.如前述任一項權(quán)利要求所述的方法,其中所述抖動緩沖器狀態(tài)包括以下至少一個(i)抖動緩沖器(114)的大小,(ii )抖動緩沖器(114)的延遲,以及(iii)抖動緩沖器(114)中的可用空間。
9.一種用于發(fā)送實時通信事件數(shù)據(jù)到接收器(108)的抖動緩沖器(114)的發(fā)送器(102),所述發(fā)送器(102)包括 接收裝置,用于接收來自接收器(108)的指示抖動緩沖器(114)的狀態(tài)的抖動緩沖器狀態(tài)信息; 控制裝置,用于基于所接收到的抖動緩沖器狀態(tài)信息控制至少一個處理參數(shù),所述至少一個處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器(102)發(fā)送到抖動緩沖器(114); 處理裝置,用于根據(jù)所確定的至少一個處理參數(shù),處理數(shù)據(jù)以用于從發(fā)送器(102)發(fā)送到抖動緩沖器(114);以及 發(fā)送裝置,用于在實時通信事件中將處理的數(shù)據(jù)從發(fā)送器(102)發(fā)送到接收器(108)中的抖動緩沖器(I 14)。
10.一種用于從發(fā)送器(102)發(fā)送實時通信事件的數(shù)據(jù)到接收器(108)的抖動緩沖器(114)的計算機程序產(chǎn)品,該計算機程序產(chǎn)品被實現(xiàn)在非瞬時計算機可讀介質(zhì)上,并被配置為當在發(fā)送器(102)的處理器(104)上執(zhí)行時,執(zhí)行權(quán)利要求I到8中任一項的步驟。
全文摘要
用于從發(fā)送器發(fā)送實時通信事件數(shù)據(jù)到接收器的抖動緩沖器的方法、發(fā)送器和計算機程序產(chǎn)品。在發(fā)送器接收來自接收器的抖動緩沖器狀態(tài)信息,所述抖動緩沖器狀態(tài)信息指示抖動緩沖器的狀態(tài)?;谒邮盏降亩秳泳彌_器狀態(tài)信息控制至少一個處理參數(shù),所述至少一個處理參數(shù)描述在實時通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動緩沖器。根據(jù)所確定的至少一個處理參數(shù),處理數(shù)據(jù)以用于從發(fā)送器發(fā)送到抖動緩沖器。在實時通信事件中將處理后的數(shù)據(jù)從發(fā)送器發(fā)送到接收器的抖動緩沖器。
文檔編號H04L12/885GK102984090SQ20121041188
公開日2013年3月20日 申請日期2012年10月25日 優(yōu)先權(quán)日2011年10月25日
發(fā)明者R.瓦芬, M.尼爾森, S.V.安德森, A.杰費里默 申請人:斯凱普公司