亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

抖動(dòng)緩沖器的制作方法

文檔序號(hào):7863800閱讀:167來(lái)源:國(guó)知局
專利名稱:抖動(dòng)緩沖器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及抖動(dòng)緩沖器。特別地,本發(fā)明涉及從發(fā)送器發(fā)送實(shí)時(shí)通信事件數(shù)據(jù)到接收器的抖動(dòng)緩沖器。
背景技術(shù)
在實(shí)時(shí)通信事件中,如音頻或視頻呼叫,發(fā)送器可以通過(guò)通信信道發(fā)送數(shù)據(jù)給接收器。通信信道可以存在于多個(gè)不同的可能的網(wǎng)絡(luò)中的一個(gè)(或多個(gè))中。例如,通信信道可存在于互聯(lián)網(wǎng)上或如移動(dòng)電信網(wǎng)絡(luò)的無(wú)線網(wǎng)絡(luò)上。不利地,當(dāng)數(shù)據(jù)(可以數(shù)據(jù)分組的形式被發(fā)送)通過(guò)通信信道發(fā)送,該數(shù)據(jù)可能被延遲或損壞。當(dāng)數(shù)據(jù)通過(guò)通信信道發(fā)送,可采用多種技術(shù)處理數(shù)據(jù)的延遲或損壞。
作為一個(gè)示例,抖動(dòng)緩沖器可以被用在接收器,以消除實(shí)時(shí)通信事件中數(shù)據(jù)發(fā)送延遲的變化的影響。盡管存在數(shù)據(jù)分組傳播延遲(稱為抖動(dòng))的隨機(jī)變化,但這仍然增加了在接收器實(shí)現(xiàn)數(shù)據(jù)的連續(xù)回放的可能性。抖動(dòng)緩沖器被放置在接收器,并被用于在接收器開始回放之前累積一些數(shù)據(jù)分組,從而引入額外的延遲(抖動(dòng)緩沖器延遲)到通信事件, 以幫助容納數(shù)據(jù)分組傳播延遲抖動(dòng)。在通信事件期間,所述抖動(dòng)緩沖器可根據(jù)在數(shù)據(jù)分組傳播延遲中的變化來(lái)調(diào)整其延遲。所述抖動(dòng)緩沖器也可以對(duì)發(fā)自發(fā)送器并且亂序地到達(dá)接收器的數(shù)據(jù)進(jìn)行排序,以使得數(shù)據(jù)分組可以以正確的順序在接收器回放。抖動(dòng)緩沖器也可以丟棄遲到的數(shù)據(jù)分組,即在實(shí)時(shí)通信事件中被安排從接收器的抖動(dòng)緩沖器中播放的時(shí)間之后到達(dá)抖動(dòng)緩沖器的數(shù)據(jù)分組。
抖動(dòng)緩沖器狀態(tài)描述了抖動(dòng)緩沖器的當(dāng)前條件,并且可以包括,例如,抖動(dòng)緩沖器延遲、抖動(dòng)緩沖器大小和/或抖動(dòng)緩沖器可用空間的指示。抖動(dòng)緩沖器延遲可以表示為一定量的時(shí)間,例如,若干秒(或更常見的是,毫秒)或多個(gè)內(nèi)容幀,例如,音頻或視頻數(shù)據(jù)的內(nèi)容幀。抖動(dòng)緩沖器大小和抖動(dòng)緩沖器可用空間可表示為數(shù)據(jù)的量,例如多個(gè)比特、字節(jié)或分組。
可以根據(jù)多個(gè)權(quán)衡來(lái)控制抖動(dòng)緩沖器延遲,包括I.抖動(dòng)緩沖器延遲和遲到數(shù)據(jù)分組的數(shù)量(即在從實(shí)時(shí)通信事件中被安排從接收器的抖動(dòng)緩沖器中播放的時(shí)間之后到達(dá)抖動(dòng)緩沖器的數(shù)據(jù)分組的數(shù)量)之間的權(quán)衡。雖然更高的抖動(dòng)緩沖器延遲減少了遲到數(shù)據(jù)分組的數(shù)量,但所導(dǎo)致的回放延遲的增加,可對(duì)實(shí)時(shí)通信的交互產(chǎn)生不利影響。因此,抖動(dòng)緩沖器延遲可以與遲到數(shù)據(jù)分組的數(shù)量相平衡。在這種方式中,如果用于通信事件的通信信道的情況變化,以使得遲到數(shù)據(jù)分組的數(shù)據(jù)量變化, 可控制所述抖動(dòng)緩沖器延遲以平衡遲到數(shù)據(jù)分組的數(shù)量的變化。
2.抖動(dòng)緩沖器延遲調(diào)整和引入到所接收的信號(hào)中的修正量之間的權(quán)衡。抖動(dòng)緩沖器延遲的增加或減少意味著部分信號(hào)在接收器比預(yù)定播放地更慢或更快,這會(huì)導(dǎo)致質(zhì)量的下降。然而,必要時(shí)調(diào)整抖動(dòng)緩沖器延遲,這仍然是有利的,所以抖動(dòng)緩沖器的調(diào)整可以與引入到所接收的信號(hào)中的修正量相平衡。
在這種方式中,接收器可以控制使用在通信事件中的抖動(dòng)緩沖器延遲。
本發(fā)明人已經(jīng)認(rèn)識(shí)到,在實(shí)時(shí)通信事件中數(shù)據(jù)被處理用于發(fā)送到抖動(dòng)緩沖器的方式和抖動(dòng)緩沖器狀態(tài)是彼此鏈接的。此外,本發(fā)明人已經(jīng)認(rèn)識(shí)到,基于抖動(dòng)緩沖器狀態(tài)控制處理參數(shù)是有利的,所述處理參數(shù)描述在實(shí)時(shí)通信事件中,數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到接收器的抖動(dòng)緩沖器。同樣的,基于處理參數(shù)控制抖動(dòng)緩沖器狀態(tài)是有利的,所述處理參數(shù)在實(shí)時(shí)通信事件中被用于處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器。在某些實(shí)施例中,處理參數(shù)和抖動(dòng)緩沖器狀態(tài)可被聯(lián)合確定。
根據(jù)本發(fā)明的第一方面,提供了一種從發(fā)送器發(fā)送實(shí)時(shí)通信事件數(shù)據(jù)到接收器的抖動(dòng)緩沖器的方法,該方法包括聯(lián)合確定(i)至少一個(gè)處理參數(shù),所述處理參數(shù)描述數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動(dòng)緩沖器,以及(ii)抖動(dòng)緩沖器控制信息,用于指示接收器如何控制抖動(dòng)緩沖器狀態(tài);發(fā)送抖動(dòng)緩沖器控制信息到接收器;根據(jù)所確定的至少一個(gè)處理參數(shù)處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器;并且從發(fā)送器發(fā)送處理后的數(shù)據(jù)到接收器的抖動(dòng)緩沖器。
可在發(fā)送器中執(zhí)行所述聯(lián)合確定,并且發(fā)送抖動(dòng)緩沖器控制信息到接收器的步驟可包括從發(fā)送器向接收器發(fā)送抖動(dòng)緩沖器控制信息。或者,可在控制節(jié)點(diǎn)執(zhí)行所述聯(lián)合確定,并且發(fā)送抖動(dòng)緩沖器控制信息到接收器的步驟可包括從控制節(jié)點(diǎn)向接收器發(fā)送抖動(dòng)緩沖器控制信息,并且所述方法可以進(jìn)一步包括從控制節(jié)點(diǎn)向發(fā)送器發(fā)送至少一個(gè)處理參數(shù)的指示。
有利的是,所述(多個(gè))處理參數(shù)和抖動(dòng)緩沖器控制信息被聯(lián)合確定。當(dāng)已處理的數(shù)據(jù)被發(fā)送到抖動(dòng)緩沖器,這允許數(shù)據(jù)以適于抖動(dòng)緩沖器狀態(tài)的方式(根據(jù)處理參數(shù))被處理。
所述至少一個(gè)處理參數(shù)可包括影響已處理數(shù)據(jù)隨后在接收器如何被處理以便在接收器播放的任何參數(shù)。例如,所述至少一個(gè)處理參數(shù)可包括以下至少一個(gè)(i)編碼比特率,在數(shù)據(jù)的處理期間,數(shù)據(jù)以該編碼比特率被編碼,( )前向糾錯(cuò)(FEC)深度,(iii)分組延遲,以及(iv)交織延遲。
在一些實(shí)施例中,在下列約束中所述(多個(gè))處理參數(shù)被確定從而控制所發(fā)送的數(shù)據(jù)的至少一個(gè)質(zhì)量參數(shù)根據(jù)抖動(dòng)緩沖器控制信息指示的抖動(dòng)緩沖器的所述狀態(tài),所發(fā)送的數(shù)據(jù)可從接收器的抖動(dòng)緩沖中恢復(fù)。并且其中所發(fā)送的數(shù)據(jù)的所述至少一個(gè)質(zhì)量參數(shù)包括以下至少一個(gè)(i)編碼質(zhì)量、( )比特率、以及(iii)防止分組丟失的魯棒性。
在一些實(shí)施例中,所述方法進(jìn)一步包括確定至少一個(gè)處理參數(shù)的調(diào)整后的版本; 根據(jù)至少一個(gè)處理參數(shù)的調(diào)整后的版本確定抖動(dòng)緩沖器調(diào)整后的狀態(tài),所述抖動(dòng)緩沖器調(diào)整后的狀態(tài)適于接收已被處理的數(shù)據(jù);并且從發(fā)送器向接收器發(fā)送指示抖動(dòng)緩沖器的調(diào)整后的狀態(tài)的額外的抖動(dòng)緩沖器狀態(tài)信息,其中,根據(jù)至少一個(gè)處理參數(shù)的調(diào)整后的版本,數(shù)據(jù)被處理以從發(fā)送器發(fā)送到抖動(dòng)緩沖器。有利的是,在這些實(shí)施例中,額外的抖動(dòng)緩沖器狀態(tài)信息允許根據(jù)發(fā)送器中使用的(多個(gè))處理參數(shù)來(lái)控制抖動(dòng)緩沖器狀態(tài)。在這種方式下, 可控制所述抖動(dòng)緩沖器狀態(tài)以適于(多個(gè))處理參數(shù),在發(fā)送器中使用所述處理參數(shù)以處理數(shù)據(jù),用于在實(shí)時(shí)通信事件中向所述抖動(dòng)緩沖器發(fā)送所述數(shù)據(jù)。此外,確定至少一個(gè)處理參數(shù)調(diào)整后的版本的步驟可以包括確定根據(jù)至少一個(gè)處理參數(shù)調(diào)整后的版本處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器將導(dǎo)致好處。所述好處可以是,例如,所發(fā)送的數(shù)據(jù)的編碼質(zhì)量、 所發(fā)送的數(shù)據(jù)的比特率、所發(fā)送的數(shù)據(jù)防止分組丟失的魯棒性、或在接收器減少的回放延遲。
在一些實(shí)施例中,處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器的步驟包括了編碼所述數(shù)據(jù),并且所述至少一個(gè)處理參數(shù)包括編碼所述數(shù)據(jù)的編碼比特率。該方法可進(jìn)一步包括從抖動(dòng)緩沖器控制信息中確定抖動(dòng)緩沖器的大小或抖動(dòng)緩沖器中的可用空間,其中,基于所確定的抖動(dòng)緩沖器的大小或抖動(dòng)緩沖器中的可用空間,確定所述編碼比特率。該方法可進(jìn)一步包括確定是抖動(dòng)緩沖器還是用于實(shí)時(shí)通信事件的通信信道為從發(fā)送器向接收器發(fā)送數(shù)據(jù)的發(fā)送路徑的瓶頸,其中,基于是抖動(dòng)緩沖器還是通信信道為所發(fā)送數(shù)據(jù)的發(fā)送路徑中的瓶頸的確定,可以確定所述編碼比特率。
在一些實(shí)施例中,所處理的數(shù)據(jù)包括數(shù)據(jù)分組流,并且處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器的步驟包括生成與數(shù)據(jù)分組的至少一個(gè)有關(guān)的糾正數(shù)據(jù)單元,并且所述至少一個(gè)處理參數(shù)包括糾正深度,所述糾正深度設(shè)置了數(shù)據(jù)分組流中被允許與糾正數(shù)據(jù)單元中的一個(gè)相關(guān)的最老的和最新的數(shù)據(jù)分組之間的最大允許位移。所述方法可以進(jìn)一步包括從抖動(dòng)緩沖器控制信息中確定抖動(dòng)緩沖器延遲,其中,確定所述糾正深度,從而依賴于所確定的抖動(dòng)緩沖器延遲控制通過(guò)使用糾正數(shù)據(jù)單元在接收器中恢復(fù)所發(fā)送的數(shù)據(jù)分組所引起的延遲。例如,使用糾正數(shù)據(jù)單元在接收器處恢復(fù)所發(fā)送的數(shù)據(jù)分組所引起的延遲, 可對(duì)應(yīng)于所確定的抖動(dòng)緩沖器延遲。在一個(gè)示例中,所述糾正數(shù)據(jù)單元是前向糾錯(cuò)數(shù)據(jù)單元,并且糾正深度是前向糾錯(cuò)深度。
在一些實(shí)施例中,所述數(shù)據(jù)包括數(shù)據(jù)單元流,并且處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器的步驟包括將數(shù)據(jù)單元分組為數(shù)據(jù)分組以用于發(fā)送,并且所述至少一個(gè)處理參數(shù)包括分組延遲,所述分組延遲設(shè)置了數(shù)據(jù)單元分組為數(shù)據(jù)分組所導(dǎo)致的數(shù)據(jù)單元的最大允許延遲。抖動(dòng)緩沖器控制信息可確定抖動(dòng)緩沖器延遲,其中,確定所述分組延遲依賴于所確定的抖動(dòng)緩沖器延遲。例如,分組延遲可以被確定以使得它對(duì)應(yīng)于所確定的抖動(dòng)緩沖器延遲。
在一些實(shí)施例中,所述數(shù)據(jù)包括數(shù)據(jù)單元流,處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器的步驟可以包括交織至少一些數(shù)據(jù)單元以用于發(fā)送,并且所述至少一個(gè)處理參數(shù)可以包括交織延遲,所述交織延遲設(shè)置了交織所述數(shù)據(jù)單元所導(dǎo)致的數(shù)據(jù)單元的最大允許延遲。抖動(dòng)緩沖器控制信息可確定抖動(dòng)緩沖器延遲,其中,確定所述交織延遲依賴于所確定的抖動(dòng)緩沖器延遲。例如,交織延遲可以被確定以使得它對(duì)應(yīng)于所確定的抖動(dòng)緩沖器延遲。
抖動(dòng)緩沖器狀態(tài)可包括以下至少一個(gè)(i)抖動(dòng)緩沖器大小,( )抖動(dòng)緩沖器延遲,以及(iii)抖動(dòng)緩沖器中的可用空間。抖動(dòng)緩沖器狀態(tài)可以是抖動(dòng)緩沖器的當(dāng)前狀態(tài), 或抖動(dòng)緩沖器的將來(lái)狀態(tài)。
所述聯(lián)合確定(i)至少一個(gè)處理參數(shù),所述處理參數(shù)描述數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動(dòng)緩沖器,以及(ii)抖動(dòng)緩沖器控制信息,用于指示接收器如何控制抖動(dòng)緩沖器狀態(tài)的步驟可以連續(xù)地或周期性地在實(shí)時(shí)通信事件期間執(zhí)行。
根據(jù)本發(fā)明的第二方面,提供了一種發(fā)送器,用于發(fā)送實(shí)時(shí)通信事件數(shù)據(jù)到接收器的抖動(dòng)緩沖器,所述發(fā)送器包括確定裝置,用于聯(lián)合確定(i)至少一個(gè)處理參數(shù),所述處理參數(shù)描述數(shù)據(jù)是如何被處理以從發(fā)送器發(fā)送到抖動(dòng)緩沖器,以及(ii)抖動(dòng)緩沖器控制信息,用于指示接收器如何控制抖動(dòng)緩沖器狀態(tài);處理裝置,用于根據(jù)所確定的至少一個(gè)處理參數(shù)處理數(shù)據(jù)以從發(fā)送器發(fā)送到抖動(dòng)緩沖器;以及發(fā)送裝置,用于將抖動(dòng)緩沖器控制信息發(fā)送到接收器,并且用于從發(fā)送器向接收器的抖動(dòng)緩沖器發(fā)送處理后的數(shù)據(jù)。
根據(jù)本發(fā)明的第三方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,用于從發(fā)送器發(fā)送實(shí)時(shí)通信事件數(shù)據(jù)到接收器的抖動(dòng)緩沖器,該計(jì)算機(jī)程序產(chǎn)品被實(shí)現(xiàn)在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上,并被配置為當(dāng)在處理器上執(zhí)行時(shí),進(jìn)行此處描述的方法的步驟。


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