專利名稱:用于通過分組網(wǎng)絡流傳送媒體的自適應比特率管理的制作方法
用于通過分組網(wǎng)絡流傳送媒體的自適應比特率管理對相關專利的交叉引用本申請要求于2007年7月10日提交的美國臨時申請?zhí)?0/948,917 "Adaptive Bitrate Management for Streaming Media over PacketNetworks,,的權益,在此將其弓|入
以供參考。
背景技術:
速率控制對于通過分組網(wǎng)絡的媒體流傳送(streaming)是至關重要的。通過容量 有限的共享鏈路來遞送帶寬密集的內(nèi)容(如多媒體)的挑戰(zhàn)在于通過調(diào)整比特率和媒體編 碼方案來快速響應網(wǎng)絡狀況(network conditions)的變化從而優(yōu)化用戶的視聽體驗。特 別地,當通過不能提供必要吞吐量的連接來傳輸固定比特率時,會出現(xiàn)若干不希望的效果。 例如,網(wǎng)絡緩沖器可能溢出(overflow),導致分組丟失,從而造成錯亂的視頻或音頻重放, 或者媒體播放器緩沖器可能下溢(underflow),導致重放停止。標準體已經(jīng)推薦了解決這些 問題的協(xié)議。因特網(wǎng)工程任務組(IETF)在RFC 3550中將RTCP規(guī)定為基本的構建塊來在 流傳送媒體中實施比特率/分組率控制。適于高容量網(wǎng)絡的RTCP的幾種擴展遵從這種最 初推薦。即使利用這些推薦的協(xié)議,通過無線網(wǎng)絡遞送多媒體會話可能也是特別有挑戰(zhàn)性 的,部分原因在于 標稱傳輸率的突然調(diào)整由于干擾、衰落等,3+G網(wǎng)絡即時(onthe fly)協(xié)商物 理層參數(shù)。標稱傳輸比特率可能改變10倍; 分組丟失由鏈路傳輸誤差或由網(wǎng)絡擁塞造成; 有效帶寬的減小無線鏈路是第2層的共享資源,具有MAC(媒體訪問控制)機 制和調(diào)度。這意味著在同一段中由其他無線終端提供的增加的負載可能減小終端將看到的 有效帶寬或容量;以及 有限容量可用容量通常是在傳統(tǒng)的有線線路互聯(lián)網(wǎng)接入技術中獲得的一小部 分,目前在傳統(tǒng)的有線線路互聯(lián)網(wǎng)接入技術中容量不是問題。固定的互聯(lián)網(wǎng)媒體會話通常 能夠向網(wǎng)絡提供250到400kbps之間的負載。盡管當前的3G蜂窩網(wǎng)絡能夠維持500kbps 及之上的吞吐量,無線多媒體會話的總比特率預算通常被保持在150kbps之下以確??煽s 放性。對于無線移動設備,在流媒體會話中提供良好體驗尤其困難,因為 不經(jīng)常的且不完整的網(wǎng)絡狀態(tài)信息。典型的無線媒體播放器支持RTCP接收方 報告,如RFC 3550中定義的,并且報告生成頻率是固定的。結果,在發(fā)送端獲得的網(wǎng)絡狀態(tài) 信息是有限的且零星的。在其分組流傳送服務規(guī)范中,3GPP推薦對基本IETF RTCP接收方 報告的幾種擴展(即RTCP擴展報告,或XR)。不幸的是,非常少的手機實施這些增強; 不同的媒體流被分開處理。盡管音頻流和視頻流這二者都通過相同的網(wǎng)絡鏈路 被傳輸,但是它們被RTCP分開處理。兩個RTCP報告均提供關于相同網(wǎng)絡的狀態(tài)信息,因此 是聯(lián)合分析;以及
4
可用的低比特率無線多媒體會話的比特率預算一般很低(低于150kbps)。音 頻和視頻比特率的調(diào)整對會話可以具有巨大的感知影響,并且甚至對于3G網(wǎng)絡,可用的總 網(wǎng)絡比特率可能遠在可接受的量之下。由于這些問題,對于無線網(wǎng)絡和無線移動設備來說, 難以建立一致的流媒體會話。
圖1是示例性系統(tǒng)的框圖。圖2是圖示出圖1的示例性系統(tǒng)的實施例的框圖。圖3是圖示出圖2的示例性系統(tǒng)中的示例性通信流的功能圖。圖4是表示用于處理RTCP分組的示例性方法的流程圖。圖5是表示用于處理最優(yōu)會話比特率數(shù)據(jù)的示例性方法的流程圖。
具體實施例方式現(xiàn)在將詳細參考與本發(fā)明一致的示例性實施例,其中本發(fā)明的示例在附圖中示 出。在任何可能的地方,相同的附圖標記在整個附圖中用于指代相同或相似的部分。根據(jù)瞬時網(wǎng)絡容量來調(diào)整流媒體會話的比特率可能是通過無線分組網(wǎng)絡遞送流 媒體所需的關鍵功能。自適應比特率管理是綜合的框架和方法,其實現(xiàn)了將自調(diào)整流會話 遞送到媒體播放器,例如像符合標準3GPP的媒體播放器。自適應比特率管理尤其包括自適 應比特率控制器和可變比特率編碼器,這二者使得自適應比特率管理具備對于音頻、視頻 和/或其他流同時實施聯(lián)合會話比特率管理的能力。圖1是示例性系統(tǒng)的框圖。示例性系統(tǒng)100可以是任何類型的通過網(wǎng)絡傳輸數(shù)據(jù) 分組的系統(tǒng)。例如,該示例性系統(tǒng)可以包括移動終端,其通過因特網(wǎng)訪問來自內(nèi)容服務器的 流媒體數(shù)據(jù)。該示例性系統(tǒng)尤其可以包括終端102、網(wǎng)關104、一個或多個網(wǎng)絡106、110、自 適應比特率管理器108以及一個或多個內(nèi)容服務器112-114。終端102是包括軟件應用的硬件部件,所述軟件應用允許終端102傳送和接收對 應于流媒體的分組。終端102提供顯示器和一個或多個軟件應用(諸如媒體播放器)以向 終端102的用戶顯示流媒體。此外,終端102具有向因特網(wǎng)請求并從因特網(wǎng)接收數(shù)據(jù)分組 (諸如流媒體的數(shù)據(jù)分組)的能力。例如,終端102可以通過其URL發(fā)送對于網(wǎng)頁的特定文 件或對象數(shù)據(jù)的請求數(shù)據(jù)到內(nèi)容服務器112-114,并且網(wǎng)頁的內(nèi)容服務器可以在數(shù)據(jù)庫中 查詢對象數(shù)據(jù)并且將對應的響應數(shù)據(jù)發(fā)送到終端102。在一些實施例中,響應數(shù)據(jù)可以通過 自適應比特率管理器108進行路由。雖然終端102可以是有線終端,但是本發(fā)明的一些實施例可能優(yōu)選使用移動終 端,因為移動終端更可能處于從自適應比特率管理器受益更多的網(wǎng)絡中。與有線網(wǎng)絡連接 相比,該網(wǎng)絡連接傾向于更不穩(wěn)定,因為例如移動終端的位置發(fā)生變化,其中在移動終端和 網(wǎng)絡之間的數(shù)據(jù)率傳輸可能在一些情況下相當劇烈地波動。網(wǎng)關104是將在一種類型的網(wǎng)絡中提供的格式化數(shù)據(jù)轉換為另一類型的網(wǎng)絡所 需的特定格式的設備。網(wǎng)關106例如可以是服務器、路由器、防火墻服務器、主機或代理服 務器。網(wǎng)關104具有將從終端102接收的信號轉換成網(wǎng)絡106能夠理解的信號并且反之亦 然的能力。網(wǎng)關104可以能夠單獨地或以任何組合處理音頻、視頻和T. 120傳輸,并且能夠進行全雙工媒體轉換。網(wǎng)絡106和110可以包括適于分組類型通信(諸如因特網(wǎng)通信)的無線網(wǎng)絡、廣 域網(wǎng)(WAN)或局域網(wǎng)(LAN)的任何組合。此外,網(wǎng)絡106和110可以包括用于在傳輸分組 到其預期目的地之前存儲分組的緩沖器。自適應比特率管理器108是提供網(wǎng)關104和內(nèi)容服務器112-114之間的通信的服 務器。自適應比特率管理器108可以通過根據(jù)自適應比特率管理器108和終端102之間的 連接(即媒體網(wǎng)絡)調(diào)整流媒體比特率來優(yōu)化性能。自適應比特率管理器108可以包括下 面進一步描述的優(yōu)化技術。內(nèi)容服務器112-114是接收來自終端102的請求數(shù)據(jù)、相應地處理請求數(shù)據(jù)并且 在一些實施例中通過自適應比特率管理器108向終端102返回響應數(shù)據(jù)的服務器。例如, 內(nèi)容服務器112-114可以是web服務器、企業(yè)服務器或者任何其他類型的服務器。內(nèi)容服 務器112-114可以是計算機或計算機程序,其負責接受來自終端102的請求(例如HTTP、 RTSP、或能夠啟動媒體會話的其他協(xié)議)并且向終端102提供流媒體。圖2是圖示出圖1的示例性系統(tǒng)的實施例的框圖。終端102尤其可以包括媒體播 放器202和緩沖器204。自適應比特率管理器108尤其可以包括自適應比特率控制器210、 緩沖器212、可變比特率編碼器214以及實時傳輸協(xié)議(RTP)分組化(packetization) 216。媒體播放器202是用于播放包括視頻和/或音頻媒體文件的多媒體文件(例如流 媒體)的計算機軟件。媒體播放器202的這種常見示例可以包括Microsoft Media Player、 Apple Quicktime Player和RealOnePlayer。在一些實施例中,媒體播放器202使用編解 碼器來解壓縮流視頻或音頻并且在終端102的顯示器上對其進行播放。媒體播放器202可 以用作獨立的應用或嵌入在網(wǎng)頁中以創(chuàng)建與HTML內(nèi)容交互的視頻應用。此外,媒體播放器 202可以通過發(fā)送RTCP接收方報告與自適應比特率管理器108通信。緩沖器204 (也稱為終端緩沖器204)是在將多媒體分組提供給媒體播放器202之 前臨時存儲多媒體分組的軟件程序和/或硬件設備。在一些實施例中,緩沖器204經(jīng)由網(wǎng)絡 106從自適應比特率管理器108接收多媒體分組。這些分組可以基于實時傳輸協(xié)議(RTP) 來配置。在一些實施例中,緩沖器204從除自適應比特率管理器108之外的設備接收多媒 體分組。一旦緩沖器204接收到多媒體分組,其就可以提供存儲的多媒體分組給媒體播放 器202。雖然圖2圖示出終端緩沖器204和媒體播發(fā)器202是分離的部件,但是本領域普通 技術人員將理解終端緩沖器204可以是媒體播放器202的一部分。此外,雖然圖2示出了 僅僅單個緩沖器,本領域普通技術人員將理解可以存在多個緩沖器,例如用于音頻媒體分 組的一個或多個緩沖器以及用于視頻媒體分組的一個或多個緩沖器。自適應比特率管理器108的自適應比特率控制器210是這樣的軟件程序和/或硬 件設備,其周期性地從終端102接收RTCP接收方報告并且提供在下一周期期間用于編碼要 發(fā)送到終端102的多媒體數(shù)據(jù)的最優(yōu)會話比特率。在一些實施例中,自適應比特率控制器 210包括用于存儲當前和先前的RTCP接收方報告的緩沖器。為了計算最優(yōu)會話比特率,自 適應比特率控制器210使用一個或多個網(wǎng)絡狀態(tài)估計器來估計流媒體網(wǎng)絡的狀態(tài)并且計 算要在下一 RTCP間隔中使用的最優(yōu)會話比特率。例如,這些網(wǎng)絡狀態(tài)估計器可以估計媒體 通過時間(mediatime in transit MTT)、終端102處接收的比特率、往返時間估計(RTTE) 以及分組丟失計數(shù)。自適應比特率控制器210可以使用估計器的歷史和統(tǒng)計來實施不同的控制算法以計算最優(yōu)會話比特率。此外,自適應比特率控制器210可以通過確定流媒體網(wǎng) 絡的穩(wěn)定性來更新最優(yōu)會話比特率。這可以通過檢查新計算的估計器是否符合一個或多個 穩(wěn)定性準則來完成。使用這些估計和穩(wěn)定性準則,自適應比特率控制器210可以確定對于 下一周期是要調(diào)整輸出比特率還是保持當前的輸出比特率不變。在該確定之后,自適應比 特率控制器210向可變比特率編碼器214提供最優(yōu)會話比特率值。自適應比特率管理器108的緩沖器212是在將媒體數(shù)據(jù)提供給可變比特率編碼器 214之前臨時存儲媒體數(shù)據(jù)的軟件程序和/或硬件設備。在一些實施例中,緩沖器212經(jīng)由 網(wǎng)絡110從一個或多個內(nèi)容服務器112-114接收媒體數(shù)據(jù)。在一些實施例中,緩沖器212 從除內(nèi)容服務器112-114之外的設備接收媒體數(shù)據(jù)。自適應比特率管理器108的可變比特率編碼器214是這樣的軟件程序和/或硬件 設備,其從自適應比特率控制器210接收最優(yōu)會話比特率數(shù)據(jù)并且向RFT分組化216提供 以匹配由自適應比特率控制器210提供的最優(yōu)會話比特率的比特率所編碼的音頻和/或視 頻數(shù)據(jù)??勺儽忍芈示幋a器尤其可以包括比特率分配器(splitter) 220、音頻編碼器220、 視頻編碼器224以及用于一些實施例的幀丟棄器(dropper) 226。比特率分配器220是從自適應比特率控制器210接收最優(yōu)會話比特率數(shù)據(jù)并且分 配當在下一間隔期間編碼音頻和視頻媒體數(shù)據(jù)時要使用的最優(yōu)比特率的軟件程序和/或 硬件設備。所述分配使得所有軌道在組合時的比特率的總和可以基本上等于自適應比特率 控制器210所指定的最優(yōu)會話比特率。例如,這種分配可以基于預定的分配、用戶偏好、最 優(yōu)性能數(shù)據(jù)、使一種類型的數(shù)據(jù)相比另一種具有特權(privilege)、要提供的音頻和視頻數(shù) 據(jù)的量和/或上述各項的任何組合。例如,比特率分配器220可以給予音頻質量以特權,使 得如果指定了降低的比特率,則比特率分配器220將首先降低視頻比特率并且盡可能地推 遲降低音頻比特率。音頻編碼器222和視頻編碼器224是從比特率分配器220接收它們相應的比特率 分配并且提供輸出媒體數(shù)據(jù)的軟件程序和/或硬件設備,所述輸出媒體數(shù)據(jù)被編碼成匹配 用于下一 RTCP間隔的它們相應的比特率分配的比特率。音頻編碼器222和視頻編碼器224 這二者都從緩沖器212接收它們相應的媒體數(shù)據(jù)并且根據(jù)來自比特率分配器220的其相應 的比特率分配來輸出該媒體數(shù)據(jù)。在為音頻和視頻這二者確定了比特率之后,每個編碼器 的職責是在對應的媒體軌道中遞送最高質量。例如,音頻編碼器222可以通過調(diào)整頻譜量 化和截止頻率來產(chǎn)生可變比特率。此外,視頻編碼器224例如可以通過調(diào)整離散余弦變換 (DCT)系數(shù)量化或通過引入幀丟棄來產(chǎn)生可變比特率。這種幀丟棄可以在需要時由幀丟棄 器226執(zhí)行。幀丟棄器226是在期望的比特率低于質量閾值時可以被觸發(fā)的軟件程序和/或硬 件設備。該閾值可以是編解碼器相關的,并且表示這樣的比特率值,在該比特率值之下使用 較粗的量化將導致圖像中不可忍受的偽像。幀丟棄器226可以基于期望的視頻比特率和由 視頻編碼器224生成的比特率而動態(tài)確定幀丟棄率。為了補償在編碼器輸出處的視頻比特 率的固有比特率波動,幀丟棄器226可以通過使用覆蓋最近編碼幀的字節(jié)長度歷史的滑動 窗來動態(tài)更新丟棄率。RTP分組化216是從音頻編碼器222和視頻編碼器224接收音頻和視頻媒體數(shù)據(jù) 并且將該數(shù)據(jù)轉換為分組格式的軟件程序和/或硬件設備。RTP定義了用于通過因特網(wǎng)遞
7送音頻和視頻的標準化分組格式。除了承載音頻和媒體數(shù)據(jù)之外,這些分組尤其還可以包 括用于識別內(nèi)容類型的有效載荷類型標識符、分組序列號、用于允許同步和抖動計算的時 間戳,以及遞送監(jiān)視數(shù)據(jù)。這種類型的數(shù)據(jù)隨后可以在自適應比特率控制器210從終端102 接收到對應的RTCP接收方報告時輔助自適應比特率控制器210確定網(wǎng)絡所提供的服務的 質量。在將該數(shù)據(jù)轉換為分組格式后,RTP分組化216通過網(wǎng)絡106的網(wǎng)絡緩沖器230將 該數(shù)據(jù)傳輸?shù)浇K端102的終端緩沖器204。此外,自適應比特率管理器108保存音頻和視頻 軌道中發(fā)送的RTP分組的歷史。該歷史數(shù)據(jù)尤其可以包括發(fā)送每個分組的時間、序列號以 及每個RTP分組的大小。圖3是圖示出圖2的系統(tǒng)中的示例性通信流的功能圖。為了解釋該示例性實施例, 假設終端102已經(jīng)接收到所請求的媒體數(shù)據(jù)包的媒體數(shù)據(jù)的至少一部分。此外,假設媒體 數(shù)據(jù)包包括音頻和視頻媒體數(shù)據(jù)這二者。在接收到分組后,媒體播放器202傳輸(302) RTCP 接收方報告到自適應比特率管理器108。RTCP是用于為RTP流提供質量控制信息的協(xié)議,所述RTP流諸如由自適應比特率 管理器108的RTP分組化216提供的傳輸。更具體而言,RTCP在對多媒體數(shù)據(jù)的遞送和打 包(package)過程中與自適應比特率管理器108的RTP分組化216合作。在一些實施例中, 媒體播放器202周期性地傳輸RTCP接收方報告。RTCP接收方報告可以提供關于正由RTP 分組化216提供的服務的質量的反饋。雖然RTP/RTCP被用作示例性實施例來解釋自適應 比特率控制方法,但是本領域普通技術人員將理解該自適應比特率控制方法適用于利用定 序(sequencing)和定時信息實現(xiàn)媒體傳輸以及利用關于所接收分組的信息實現(xiàn)媒體傳輸 反饋(覆蓋定序、定時、丟失率等)的功能的任何協(xié)議。此外,在一些實施例中,接收方報告可以是具有音頻和視頻報告數(shù)據(jù)這二者的單 個報告或者其可以被分成多個報告(諸如在RTCP的情況下),例如,諸如用于音頻報告數(shù)據(jù) 的接收方報告和用于視頻報告數(shù)據(jù)的另一接收方報告。接收方報告數(shù)據(jù)尤其可以包括關于 在終端102最近接收的RTP分組的序列號、在RTCP接收方報告中報告的由終端102接收的 最后分組的時間戳、從該報告發(fā)送的比特數(shù)、往返時間以及丟失的分組數(shù)的數(shù)據(jù)。在接收到接收方報告后,自適應比特率控制器210可以估計網(wǎng)絡狀態(tài)以確定是否 對于下一周期更新會話比特率。自適應比特率控制器210可以將新接收的接收方報告保存 在累積歷史中并且記錄接收到分組的時間。為了估計網(wǎng)絡狀態(tài),自適應比特率控制器210 可以組合來自所接收的RTCP接收方報告、由自適應比特率管理器108存儲的先前接收的 RTCP接收方報告以及由自適應比特率管理器108存儲的發(fā)送的RTP分組的歷史的數(shù)據(jù)。自 適應比特率控制器可以通過使用網(wǎng)絡狀態(tài)估計器來估計以下示例性數(shù)據(jù) 媒體通過時間(MTT),計算為最近發(fā)送的RTP分組的時間戳和在RTCP接收方報 告中報告的由播放器接收的最后RTP分組的時間戳之間的差; 接收的比特率,計算為在當前的和先前接收的RTCP接收方報告之間接收的比 特除以在這兩個接收方報告之間流逝的時間。接收方報告之間接收的比特通過將接收方 報告中的序列號與在自適應比特率管理器108存儲的發(fā)送的字節(jié)的歷史進行相互對照 (cross reference)來計算; 往返時間估計(RTTE),可 以通過對在自適應比特率管理器108存儲的多個較低 MTT值進行平均而獲得。例如,RTTE可以通過平均該流媒體網(wǎng)絡的所有存儲的MTT值當中的最低3個MTT值來計算。此外,自適應比特率管理器108可以根據(jù)RTCP發(fā)送方報告內(nèi)的 數(shù)據(jù)來計算RTTE。雖然示出了這些示例性實施例,但是任何方法都可以用于估計流媒體網(wǎng) 絡的往返時間;以及 分組丟失計數(shù),從RTCP接收方報告直接捕獲。自適應比特率控制器210可以使用這些估計來實施幾種不同的控制算法。例如, 流媒體穩(wěn)定性準則可以用于計算用于下一 RTCP間隔的會話比特率。自適應比特率控制器210使用穩(wěn)定性準則來確定流媒體網(wǎng)絡的穩(wěn)定性。雖然可以 使用任何數(shù)量的算法來確定穩(wěn)定性,但是一個示例性實施例將所估計的MTT與RTTE進行比 較。如果MTT和RTTE保持接近,則自適應比特率控制器210可以確定流媒體網(wǎng)絡可以正確 支持當前比特率。此外,通過比較接收的比特率與當前比特率會話,自適應比特率控制器 210可以確定網(wǎng)絡可以應對由自適應比特率管理器108施加的負載。自適應比特率控制器210使用這些估計和穩(wěn)定性準則來實施控制算法以用于發(fā) 現(xiàn)網(wǎng)絡容量并且相應地調(diào)整會話比特率。自適應比特率控制器210可以定義控制算法的變 化以在兩個不同的模式下操作(1)采集(acquisition)模式和(2)正常模式。雖然在這 個示例性實施例中示出了兩個模式,但是本領域普通技術人員將理解可以定義多個操作模 式。在正常模式下,自適應比特率控制器210在穩(wěn)態(tài)條件下操作,表明網(wǎng)絡保持或遞 增系統(tǒng)看到的有效容量。在一些實施例中,當工作在正常模式時,控制算法可以增加會話比 特率,而MTT不增加并且接收的比特率保持接近于當前會話比特率。當自適應比特率控制器210檢測到高分組丟失、MTT的突然增加和/或高于閾值 (MTT閾值)的MTT值時它通常觸發(fā)采集模式,所述閾值可以是固定值或者可以針對自適應 控制機制而動態(tài)獲得。一旦被觸發(fā),采集模式就將最優(yōu)會話比特率設置成某個值,諸如接收 的比特率或接收的比特率的一部分。因為接收的比特率可以是網(wǎng)絡在該特定時間點可以支 持的實際比特率的最好估計,所以自適應比特率管理器108將快速地返回到穩(wěn)定狀態(tài)。在 一些實施例中,新的會話比特率被簡單地設置為當前會話比特率的一部分。在該實施例中,雖然僅終端102被示出為與自適應比特率管理器108通信,但是本 領域普通技術人員將理解多個終端可以與自適應比特率管理器108通信,其中每個終端可 以位于基本不同的網(wǎng)絡環(huán)境中。這樣的環(huán)境可能顯著變化,因為能夠使用不同的底層無線 技術和固定網(wǎng)絡拓撲。因此,對于某些實施例,可能希望預先發(fā)現(xiàn)網(wǎng)絡環(huán)境的特性以便自動 地調(diào)整框架中的關鍵參數(shù)。例如,自適應比特率控制器210可以在多媒體會話的開始時將 MTT閾值設置為與RTTE有關的值。以此方式,系統(tǒng)可以嘗試遵循由自適應比特率控制器210 提供的一般穩(wěn)定性準則。如上所述,該穩(wěn)定性準則可以基于MTT和RTTE的比較,而與網(wǎng)絡 環(huán)境(事先未知)無關,鑒于實際網(wǎng)絡基礎設施類型很少能事先確定,這將是非常有利的。 在一些實施例中,最優(yōu)會話比特率可以通過確定MTT和RTTE之間的差并且根據(jù)該差來調(diào)整 會話比特率而更新。例如,該差越大,從當前會話比特率到最優(yōu)會話比特率的調(diào)整就越大。 在一些實施例中,用于這種確定的MTT可以基于MTT的一個或多個歷史值。使用控制算法計算如上所述的會話比特率,自適應比特率控制器210確定用于傳 輸媒體數(shù)據(jù)到終端102的最優(yōu)會話比特率。自適應比特率控制器210向可變比特率編碼器 214的比特率分配器220提供(304)最優(yōu)會話比特率數(shù)據(jù)。在接收到最優(yōu)會話比特率數(shù)據(jù)時,比特率分配器220在音頻和視頻流之間分配最優(yōu)會話比特率。例如,該分配可以基于預 定的分配,用戶偏好最優(yōu)性能數(shù)據(jù)、使一種數(shù)據(jù)相比另一種具有特權、要提供的音頻和視頻 數(shù)據(jù)的量、和/或上述各項的任何組合。例如,比特率分配器220可以給予音頻質量以特權, 使得如果指定了降低的比特率,則比特率分配器220將首先降低視頻比特率并且盡可能地 推遲降低音頻比特率。在將最優(yōu)會話比特率分成最優(yōu)音頻比特率和最優(yōu)視頻比特率之后,比特率分配器 向音頻編碼器222提供(306)最優(yōu)音頻比特率并且向視頻編碼器224提供(308)最優(yōu)視頻 比特率。在接收到它們相應的比特率時,音頻編碼器222和視頻編碼器224從緩沖器212接 收它們相應的媒體數(shù)據(jù)并且根據(jù)來自比特率分配器220的相應比特率分配來輸出它們相 應的音頻媒體數(shù)據(jù)和視頻媒體數(shù)據(jù)。在為視頻和音頻這二者都確定了比特率后,每個編碼 器的職責是通過保持所請求的比特率直到下一 RTCP間隔來在對應的媒體軌道中遞送最高 質量。例如,音頻編碼器222可以通過調(diào)整量化和截止頻率來產(chǎn)生可變比特率。此外,視頻 編碼器224可以例如通過調(diào)整離散余弦變換(DCT)系數(shù)量化或通過引入幀丟棄來產(chǎn)生可變 比特率。這種幀丟棄可以在需要時由幀丟棄器226執(zhí)行。在一些實施例中,編碼器的編碼 參數(shù)在它們從比特率分配器220接收到最優(yōu)比特率數(shù)據(jù)之前不被修改,其將在后續(xù)的RTCP 間隔中提供,因為編碼器222、224是比特率分配器220的從設備。在優(yōu)選幀丟棄的一些實施例中,視頻編碼器224可以在最優(yōu)會話比特率小于質量 閾值時向幀丟棄器226提供(310)視頻媒體數(shù)據(jù)。該閾值可以是編解碼器相關的,并且表 示這樣的比特率值,在該比特率值之下使用較粗的量化將導致圖像中不可忍受的偽像。當 幀丟棄被觸發(fā)時,幀丟棄器226可以基于期望的視頻比特率和視頻編碼器224生成的比特 率來動態(tài)確定幀丟棄率。為了補償在視頻編碼器224的輸出處的視頻比特率的固有比特 率波動,幀丟棄器226可以通過使用覆蓋最近編碼幀的字節(jié)長度歷史的滑動窗來動態(tài)更新 丟棄率。幀丟棄器226可以相應地丟棄幀以遞送最優(yōu)會話比特率。此外,在一些實施例 中,視頻編碼器224可以利用自適應比特率控制器210的網(wǎng)絡狀態(tài)估計器來以更有彈性的 (resilient)方式編碼視頻。在一些實施例中,視頻編碼器224可以將分組丟失信息與MTT 結合使用以確定是否應減小圖像組(GOP)值,從而增加在視頻流中每秒發(fā)送的I幀的數(shù)量。 在一些實施例中,如果不需要丟棄幀,則視頻編碼器224可以僅提供視頻媒體數(shù)據(jù)給RTP分 組化216。音頻編碼器222以及用于該實施例的幀丟棄器226將音頻媒體數(shù)據(jù)和視頻媒體 數(shù)據(jù)分別提供(312,314)給RTP分組化216。在接收到音頻媒體數(shù)據(jù)和視頻媒體數(shù)據(jù)時,RTP分組化216將該數(shù)據(jù)轉換成分組 格式。RTP定義用于通過因特網(wǎng)遞送音頻和視頻的標準化分組格式。在將該數(shù)據(jù)轉換為 分組格式時,RTP分組化216向網(wǎng)絡106的網(wǎng)絡緩沖器230傳輸(316)音頻和視頻媒體分 組。雖然僅示出了一個傳輸,但是本領域普通技術人員將理解傳輸316可以包括用于一個 或多個音頻媒體分組的單獨傳輸以及用于一個或多個視頻媒體分組的另一個傳輸。此外, 本領域普通技術人員將理解網(wǎng)絡106可以包括多個網(wǎng)絡,每個具有其自己的一個或多個緩 沖器。除了承載音頻和媒體數(shù)據(jù)之外,這些分組還尤其可以包括有效載荷類型標識符、分組 序列號、時間戳,以及遞送監(jiān)視數(shù)據(jù)。這種類型的數(shù)據(jù)隨后可以在自適應比特率控制器210 從終端102接收到RTCP接收方報告時輔助自適應比特率控制器210確定網(wǎng)絡所提供的服 務的質量。此外,自適應比特率管理器108還可以存儲發(fā)送的RTP分組的歷史,以使得其稍后可以相應地調(diào)整比特率。在接收到分組時,網(wǎng)絡106的網(wǎng)絡緩沖器230可以存儲這些分組,直到輪到這些分 組被提供給終端102。雖然僅示出了緩沖器230,但是本領域普通技術人員將會理解對于音 頻媒體分組和視頻媒體分組中的每一種而言可以存在一個或多個單獨的緩沖器。當輪到分 組時,網(wǎng)絡緩沖器230將這些分組傳輸(318)到終端緩沖器204。在接收到分組時,終端102的終端緩沖器204可以存儲這些分組,直到輪到這些分 組被提供給媒體播放器202。雖然僅示出了緩沖器230,但是本領域普通技術人員將會理解 對于音頻媒體分組和視頻媒體分組中的每一種而言可以存在一個或多個單獨的緩沖器。當 輪到分組時,緩沖器240將這些分組提供(320)到媒體播放器202。媒體播放器202進而可 以從分組中提取相關數(shù)據(jù)并且在后續(xù)的RTCP接收方報告中將該數(shù)據(jù)提供給自適應比特率 管理器108。圖4是表示用于處理RTCP分組的示例性方法的流程圖。參考圖4,本領域普通技 術人員將會理解,所示出的過程可以被更改以刪除步驟或進一步包括附加步驟。對于該示 例性方法假設RTCP分組包括與音頻和視頻媒體數(shù)據(jù)這二者有關的數(shù)據(jù)。雖然存在兩種類 型,但是本領域普通技術人員將會理解RTCP數(shù)據(jù)可以包括音頻或視頻數(shù)據(jù)。在最初的開始 步驟400之后,自適應比特率管理器獲得(402)RTCP數(shù)據(jù),其可以包括一個或多個RTCP接 收方報告。該RTCP數(shù)據(jù)可以與在終端的媒體播放器處接收的音頻和視頻媒體分組的質量 和數(shù)量有關。RTCP數(shù)據(jù)尤其可以包括由終端接收的最后分組的序列號、對應于這種分組的 時間戳、發(fā)送的比特數(shù)、往返時間以及在從自適應比特率管理器到終端的傳輸期間丟失的 分組數(shù)。RTCP數(shù)據(jù)可以通過從終端接收RTCP報告并且將最后接收的RTCP分組的內(nèi)容與在 自適應比特率管理器存儲的RTP分組的歷史進行互相關來獲得。在接收到RTCP數(shù)據(jù)后,自適應比特率管理器估計(404)流媒體網(wǎng)絡的網(wǎng)絡狀況。 為了估計網(wǎng)絡狀態(tài),自適應比特率管理器可以組合來自步驟402的所接收的RTCP數(shù)據(jù)以及 由自適應比特率管理器存儲的先前接收的RTCP數(shù)據(jù)的數(shù)據(jù)。自適應比特率控制器可以估 計MTT、接收的比特率、RTTE和分組丟失。自適應比特率管理器可以使用這些估計來實施幾 種不同的控制算法。在估計了網(wǎng)絡狀況后,自適應比特率管理器應用(406)穩(wěn)定性準則以確定流媒體 網(wǎng)絡的穩(wěn)定性。如果需要,穩(wěn)定性準則可以輔助調(diào)整比特率以試圖穩(wěn)定流媒體網(wǎng)絡,例如諸 如避免網(wǎng)絡中的緩沖器溢出以及終端處的下溢。雖然任何數(shù)量的算法可以用于確定穩(wěn)定性 準則,但是一個示例性實施例比較估計的MTT與估計的RTTE,這兩個都在步驟404中被估 計。如果MTT和RTTE保持接近,則自適應比特率管理器可以使用該比較來確定流媒體網(wǎng)絡 可以正確支持當前比特率。此外,通過比較所接收的比特率與當前比特率會話,自適應比特 率管理器可以確定流媒體網(wǎng)絡可以應對負載。在建立了穩(wěn)定性準則后,自適應比特率管理器基于估計步驟404和/或穩(wěn)定性準 則建立步驟406來確定(408)就當前比特流而言網(wǎng)絡是否穩(wěn)定。如果網(wǎng)絡是穩(wěn)定的,則自 適應比特率管理器通過保持或遞增當前的比特率而在穩(wěn)態(tài)條件下操作(410)。在一些實施 例中,最優(yōu)會話比特率可以通過確定MTT和RTTE之間的差并且根據(jù)該差調(diào)整會話比特率來 計算。例如,如果當前會話比特率小于設置的目標會話比特率,則如果MTT和RTTE的值可 比較(comparable)的話,自適應比特率管理器可以遞增最優(yōu)會話比特率。然后,自適應比
11特率管理器提供(416)用于傳輸媒體數(shù)據(jù)到終端的最優(yōu)會話比特率。在提供步驟416后, 該方法可以前進到結束418。如果確定網(wǎng)絡不穩(wěn)定,則自適應比特率管理器調(diào)整(412)比特率,使得自適應比 特率管理器可以達到穩(wěn)定狀態(tài)。例如,在一些實施例中,自適應比特率管理器可以使用從步 驟404接收的估計的比特率,因為在一些實施例中接收的比特率可以是網(wǎng)絡在該特定時間 點可以支持的實際比特率的最好估計。然后,自適應比特率管理器提供(416)用于傳輸媒 體數(shù)據(jù)到終端的最優(yōu)會話比特率。在提供步驟416后,該方法可以前進到結束418。圖5是表示用于處理最優(yōu)會話比特率數(shù)據(jù)的示例性方法的流程圖。參考圖5,本領 域普通技術人員將會理解,所示出的過程可以被更改以刪除步驟或進一步包括附加步驟。 對于該示例性方法假設音頻和視頻媒體數(shù)據(jù)這二者都存在。雖然存在兩種類型,但是本領 域普通技術人員將會理解可以存在音頻或視頻數(shù)據(jù)。在最初的開始步驟500后,自適應比 特率管理器獲得(502)用于傳輸媒體數(shù)據(jù)到終端的最優(yōu)會話比特率數(shù)據(jù)。在接收到最優(yōu)會話比特率數(shù)據(jù)時,自適應比特率管理器在音頻和視頻流之間分配 (504)最優(yōu)會話比特率,以產(chǎn)生最優(yōu)音頻比特流和最優(yōu)視頻比特流。例如,該分配可以基于 預定的分配、用戶偏好、最優(yōu)性能數(shù)據(jù)、使一種類型的數(shù)據(jù)相比另一種具有特權、要提供的 音頻和視頻數(shù)據(jù)的量、和/或上述各項的任何組合。例如,自適應比特率管理器可以給予音 頻質量以特權,使得如果指定了降低的比特率,則自適應比特率管理器可以首先降低視頻 比特率并且盡可能地推遲降低音頻比特率。自適應比特率管理器獲得(506)音頻和視頻媒體數(shù)據(jù)。在一些實施例中,獲得步 驟506可以在分配步驟504或獲得步驟502之前發(fā)生。在分配步驟504和獲得步驟506之 后,自適應比特率管理器根據(jù)在步驟504指定的它們相應分配的比特率來編碼(508)音頻 和視頻媒體數(shù)據(jù)。在根據(jù)分配的比特率來編碼音頻和視頻流后,自適應比特率管理器提供(510)編 碼的音頻和視頻媒體數(shù)據(jù)以傳輸?shù)浇K端。在一些實施例中,RTP分組化接收編碼的音頻和 視頻媒體數(shù)據(jù)并且將該數(shù)據(jù)轉換為分組格式。RTP定義標準化分組格式以用于通過因特網(wǎng) 遞送音頻和視頻。在將該數(shù)據(jù)轉換為分組格式時,RTP分組化然后可以向終端傳輸音頻和 視頻媒體分組。在提供編碼的音頻和視頻媒體數(shù)據(jù)后,該方法可以前進到結束512。本文所公開的方法可以被實施為計算機程序產(chǎn)品,即有形地包含在信息載體中例 如在機器可讀存儲設備中或在傳播信號中以供數(shù)據(jù)處理設備(例如可編程處理器、計算機 或多個計算機)執(zhí)行或控制數(shù)據(jù)處理設備的操作的計算機程序。計算機程序能夠以任何形 式的編程語言進行編寫,包括匯編或解釋語言,并且其能夠被部署成任何形式,包括如獨立 式程序或如模塊、部件、子例程或者其它適合用于計算環(huán)境的單元。計算機程序被部署成在 一個計算機上或在多個計算機上執(zhí)行,所述計算機位于一個站點或分布在多個站點上且由 通信網(wǎng)絡互連。在前面的說明書中,已經(jīng)參照特定的示例性實施例描述了本發(fā)明。然而,顯然的 是,在不偏離所附權利要求所闡述的本發(fā)明的較寬精神和范圍的情況下可以做出各種修改 和變化。說明書和附圖因而應被認為是說明性的而不是限制性的。通過考慮說明書和實踐 本文公開的本發(fā)明,本領域技術人員可以顯而易見本發(fā)明的其它實施例。
權利要求
一種方法,包括從終端接收接收方報告;至少部分基于接收方報告來估計媒體網(wǎng)絡的一個或多個網(wǎng)絡狀況;基于估計的一個或多個網(wǎng)絡狀況來確定最優(yōu)會話比特率;以及根據(jù)最優(yōu)會話比特率來向終端提供媒體數(shù)據(jù)。
2.權利要求1的方法,其中確定最優(yōu)會話比特率還包括 基于估計的一個或多個網(wǎng)絡狀況來建立穩(wěn)定性準則;確定媒體網(wǎng)絡的穩(wěn)定性;以及 基于穩(wěn)定性確定來提供最優(yōu)會話比特率。
3.權利要求2的方法,其中建立穩(wěn)定性準則還包括比較媒體通過時間和往返時間估計 以輔助穩(wěn)定性確定。
4.權利要求2的方法,其中建立穩(wěn)定性準則還包括比較接收的比特率與當前比特率會話。
5.權利要求2的方法,還包括當認為媒體網(wǎng)絡的穩(wěn)定性正常時保持或遞增當前比特率。
6.權利要求2的方法,還包括當網(wǎng)絡的穩(wěn)定性不正常時調(diào)整當前比特率。
7.權利要求1的方法,還包括在音頻媒體數(shù)據(jù)和視頻媒體數(shù)據(jù)之間分配最優(yōu)會話比特 率以產(chǎn)生最優(yōu)音頻比特率和最優(yōu)視頻比特率;并且根據(jù)最優(yōu)音頻比特率和最優(yōu)視頻比特率 來編碼音頻和視頻媒體數(shù)據(jù)。
8.權利要求7的方法,其中向終端提供媒體數(shù)據(jù)包括提供基于最優(yōu)音頻比特率和最優(yōu) 視頻比特率的編碼的音頻媒體數(shù)據(jù)和編碼的視頻媒體數(shù)據(jù)。
9.一種方法,包括從終端接收接收方報告;至少部分基于接收方報告來估計媒體網(wǎng)絡的一個或多個網(wǎng)絡狀況;基于所述估計來確定媒體網(wǎng)絡的穩(wěn)定性;基于所述確定來控制比特率;以及向編碼器提供比特率以根據(jù)提供的比特率來傳輸媒體數(shù)據(jù)。
10.權利要求9的方法,其中確定媒體網(wǎng)絡的穩(wěn)定性基于建立穩(wěn)定性準則。
11.權利要求10的方法,其中建立穩(wěn)定性準則還包括比較媒體通過時間和往返時間估 計以輔助穩(wěn)定性確定。
12.權利要求10的方法,其中建立穩(wěn)定性準則還包括比較接收的比特率與當前比特率 會話。
13.權利要求9的方法,其中控制比特率包括當認為媒體網(wǎng)絡的穩(wěn)定性正常時保持或 遞增當前比特率。
14.權利要求9的方法,其中控制比特率包括當認為網(wǎng)絡的穩(wěn)定性不正常時調(diào)整當前 比特率。
15.一種方法,包括 接收最優(yōu)會話比特率;在音頻和視頻媒體之間分配最優(yōu)會話比特率以產(chǎn)生最優(yōu)音頻比特率和最優(yōu)視頻比特率;根據(jù)最優(yōu)音頻比特率和最優(yōu)視頻比特率來編碼音頻和視頻媒體數(shù)據(jù);以及提供編碼的音頻和視頻數(shù)據(jù)以傳輸?shù)浇K端。
16.權利要求15的方法,還包括丟棄編碼的視頻數(shù)據(jù)的幀。
17.權利要求15的方法,其中在音頻和視頻媒體之間分配最優(yōu)會話比特率是基于使音 頻媒體或視頻媒體相比另一個具有特權。
18.一種系統(tǒng),包括具有媒體播放器的終端,被配置成提供接收方報告;自適應比特率管理器,被配置成接收所述接收方報告,至少部分基于接收方報告來估 計一個或多個網(wǎng)絡狀況,基于估計的一個或多個網(wǎng)絡狀況來確定最優(yōu)會話比特率,以及基 于最優(yōu)會話比特率來向終端提供媒體數(shù)據(jù)。
19.權利要求18的系統(tǒng),其中自適應比特率管理器還包括自適應比特率控制器,其用 于接收所述接收方報告以及計算最優(yōu)會話比特率。
20.權利要求19的系統(tǒng),其中自適應比特率管理器還包括編碼器,其用于獲得最優(yōu)會 話比特率、在音頻和視頻媒體之間分配最優(yōu)會話比特率以產(chǎn)生最優(yōu)音頻比特率和最優(yōu)視頻 比特率、根據(jù)最優(yōu)音頻比特率和最優(yōu)視頻比特率來編碼音頻和視頻數(shù)據(jù)、以及提供編碼的 音頻和視頻數(shù)據(jù)以傳輸?shù)浇K端。
21.一種存儲指令的計算機可讀存儲介質,所述指令當由計算機執(zhí)行時使得計算機執(zhí) 行用于處理接收方報告的方法,所述方法包括從終端接收接收方報告;至少部分基于接收方報告來估計媒體網(wǎng)絡的一個或多個網(wǎng)絡狀況;基于所述估計來確定媒體網(wǎng)絡的穩(wěn)定性;基于所述確定來控制比特率;以及向編碼器提供比特率以根據(jù)提供的比特率來傳輸媒體數(shù)據(jù)。
22.—種存儲指令的計算機可讀存儲介質,所述指令當由計算機執(zhí)行時使得計算機執(zhí) 行用于處理最優(yōu)會話比特率的方法,所述方法包括接收最優(yōu)會話比特率;在音頻和視頻媒體之間分配最優(yōu)會話比特率以產(chǎn)生最優(yōu)音頻比特率和最優(yōu)視頻比特率;根據(jù)最優(yōu)音頻比特率和最優(yōu)視頻比特率來編碼音頻和視頻媒體數(shù)據(jù);以及提供編碼的音頻和視頻數(shù)據(jù)以傳輸?shù)浇K端。
23.—種終端,包括緩沖器,接收由自適應比特率管理器通過媒體網(wǎng)絡傳輸?shù)拿襟w數(shù)據(jù)分組;以及媒體播放器,接收媒體數(shù)據(jù)分組并且向自適應比特率管理器提供接收方報告,所述自 適應比特率管理器接收所述接收方報告、至少部分基于接收方報告來估計媒體網(wǎng)絡的一個 或多個網(wǎng)絡狀況、基于估計的一個或多個網(wǎng)絡狀況來確定最優(yōu)會話比特率、以及根據(jù)最優(yōu) 會話比特率來向緩沖器提供媒體數(shù)據(jù)。
全文摘要
一種方法,包括從終端接收接收方報告;至少部分基于接收方報告來估計媒體網(wǎng)絡的一個或多個網(wǎng)絡狀況;基于估計的一個或多個網(wǎng)絡狀況來確定最優(yōu)會話比特率;以及根據(jù)最優(yōu)會話比特率來向終端提供媒體數(shù)據(jù)。
文檔編號H04L12/56GK101919212SQ200880106476
公開日2010年12月15日 申請日期2008年7月10日 優(yōu)先權日2007年7月10日
發(fā)明者A·彭納, F·布雷格, M·梅爾尼克, N·J·斯塔夫拉科斯 申請人:拜特移動網(wǎng)絡公司