新四季網

用於分組網絡上的流媒體的按需自適應比特率管理的製作方法

2023-10-07 02:38:34 1

用於分組網絡上的流媒體的按需自適應比特率管理的製作方法
【專利摘要】一種用於獲取要通過媒體網絡被傳送到終端的媒體數據並從該終端接收接收機報告以及使用來自接收機報告的信息估計網絡狀況的系統和方法。根據媒體網絡是否擁塞來確定數據路徑,其中,如果媒體網絡是擁塞的,則數據路徑是壓縮數據路徑,或者如果媒體網絡是不擁塞的,則數據路徑是直通數據路徑;並且通過所確定的數據路徑來提供媒體數據。
【專利說明】用於分組網絡上的流媒體的按需自適應比特率管理
[0001]相關申請的交叉引用
本申請要求通過引用結合到本文中的2011年6月10日提交的美國臨時申請N0.61/495, 949 「On-demand Adaptive Bitrate Management for Streaming Media overPacket Networks」 的權益。
【背景技術】
[0002]對於分組網絡上的流媒體而言,速率控制是必需的。在通過容量受限的共享鏈路(比如通過蜂窩網絡)來輸送類似於多媒體這樣的帶寬密集型內容方面的挑戰是通過用比特率(bitrate)管理器來調整比特率和媒體編碼方案而對網絡狀況(condition)的變化進行快速響應以優化用戶的觀看和收聽體驗。特別地,當通過不能提供必要吞吐量的連接來傳輸媒體流時,會出現一些不期望效果。例如,網絡緩衝器可溢出(overflow),導致引起亂碼(garbled)視頻或音頻重放(playback)的分組丟失,或者媒體播放器緩衝器可下溢(underflow),導致重放停頓(stall)。因此,常常將媒體壓縮以適應減小的連接帶寬。
[0003]傳統比特率管理器改變每個視頻幀,以使得編碼過程的輸出適合於可用於傳輸的帶寬。在此類系統中,由「壓縮」數據路徑來處理所有媒體幀。由於視頻編碼的有狀態(stateful)性質而需要壓縮數據路徑。也就是說,為了將輸出幀編碼,無論比特率如何,編碼器需要與正被使用的編解碼器(codec)算法相對應的處理狀態的活(live)歷史。該方法存在的問題是需要連續處理視頻(解碼、再編碼),即使不存在網絡退化。
【專利附圖】

【附圖說明】
[0004]圖1是示例性系統的框圖。
[0005]圖2是例示圖1的示例性系統的實施例的框圖。
[0006]圖3是例示圖2的示例性系統中的示例性通信流的功能圖。
[0007]圖4A例示指示其中將幀序列中的媒體數據從直通(pass-through)數據路徑切換至壓縮數據路徑的示例性幀序列。
[0008]圖4B例示指示其中將幀序列中的媒體數據從壓縮數據路徑切換至直通數據路徑的示例性幀序列。
[0009]圖5是表示用於選擇對於媒體數據的數據路徑的示例性方法的流程圖。
【具體實施方式】
[0010]現在將對示例性實施例進行詳細參考,並在附圖中例示其示例。在儘可能的情況下,貫穿附圖將使用相同的附圖標記來指代相同或類似部件。
[0011]根據即時網絡容量來調整流媒體會話的比特率能夠是通過無線分組網絡來輸送流媒體所需的關鍵功能。自適應(adaptive)比特率管理是使得能夠向終端的媒體播放器輸送自調整(self-adjusting)流或偽流會話到的綜合框架和方法。自適應比特率管理特別包括自適應比特率控制器,其主動監視自適應比特率管理器與終端之間的當前網絡擁塞水平。如果網絡是擁塞的,則自適應比特率管理器使用壓縮數據路徑來處理數據。經由壓縮數據路徑切換的媒體數據的比特率被降低至用以當在行動裝置的媒體播放器上播放媒體時避免停頓的水平。
[0012]另外,如果網絡是不擁塞的,則自適應比特率管理器經由直通數據路徑來切換媒體數據。經由直通數據路徑切換的媒體數據未被壓縮,由此相對於經由壓縮數據路徑切換的數據而言要求系統資源的最小限度的使用。直通數據路徑還因為其不在媒體流中產生任何知覺偽像(perceptual artifact)而是有利的。
[0013]能夠將自適應比特率管理應用於能夠被用於媒體傳輸並提供傳輸進度報告機制的所有媒體傳輸(或協議套(protocol suite))。傳輸進度報告能夠作為整體被應用於多媒體會話或單獨的多媒體流(音頻、視頻、文本等)。自適應比特率管理器能夠包括這樣的能力:向發送者提供將媒體時間信息映射到由接收器接收到的字節的方式,如在RTCP的情況下明示的那樣或者如在通過ACK分組的TCP情況下暗示的那樣。
[0014]圖1是示例性系統的框圖。示例性系統100能夠是通過網絡傳送數據分組的任何類型的系統。例如,示例性系統能夠包括通過網際網路訪問來自內容伺服器的流媒體數據的移動終端。示例性系統能夠特別包括終端102、網關104、一個或多個網絡106和110、自適應比特率管理器108以及一個或多個內容伺服器112-114。
[0015]終端102是硬體部件,其包括允許終端102傳送和接收與流媒體相對應的分組的軟體應用。終端102提供顯示器和一個或多個軟體應用,諸如媒體播放器,以便向終端102的用戶顯示流媒體。此外,終端102具有從網際網路請求和接收諸如流媒體的數據分組之類的數據分組的能力。例如,終端102能夠用向內容伺服器112-114發送請求數據以用於根據網頁的URL獲取其特定文件或對象數據,並且網頁的內容伺服器能夠查詢資料庫中的對象數據並將相應的響應數據發送到終端102。在一些實施例中,可通過自適應比特率管理器108來路由響應數據。
[0016]儘管終端102能夠是有線終端,但一些實施例可優選使用移動終端,因為移動終端更可能在將更多地受益於自適應比特率管理器的網絡中。該網絡連接與有線網絡連接相比趨向於不那麼穩定,這是因為比如移動終端的位置變化,在其中移動終端與網絡之間的數據速率傳輸能夠波動,且一些情況下這種波動相當劇烈。
[0017]網關104是將在一類型的網絡中提供的格式化數據轉換成另一類型的網絡所需的特定格式的設備。網關104例如可以是伺服器、路由器、防火牆伺服器、主機或代理伺服器。網關104具有這樣的能力:將從終端102接收到的信號變換成網絡106能夠理解的信號,且反之亦然。網關104可以能夠處理音頻、視頻以及T.120單獨或以任何組合形式的傳輸,並且能夠全雙工媒體轉換(translation)。
[0018]網絡106和110能夠包括廣域網(WAN)、區域網(LAN)或適合於諸如網際網路通信這樣的分組型通信的無線網絡的任何組合。此外,網絡106和110能夠包括用於在將分組傳送到其預定目的地之前存儲該分組的緩衝器。
[0019]自適應比特率管理器108是提供網關104與內容伺服器112-114之間的通信的伺服器。自適應比特率管理器108能夠通過根據自適應比特率管理器108與終端102之間的連接,即媒體網絡,來調整流媒體比特率,從而優化性能。自適應比特率管理器108包括壓縮路徑和直通路徑兩者。當網絡106擁塞時,使用壓縮路徑。自適應比特率管理器108如何確定網絡106是否擁塞在以下會詳細論述。否則,直通數據路徑被用來在不壓縮的情況下傳輸接收到的媒體。在一些實施例中,被提供給直通數據路徑的數據可經受無損壓縮。例如,可應用無損壓縮來將媒體流調整至一重放速率。以下會詳細論述壓縮路徑和直通路徑。
[0020]自適應比特率管理器108能夠具有一個或多個處理器和用於存儲程序指令的至少一個存儲器。處理器能夠是單個或多個微處理器、現場可編程門陣列(FPGA)或能夠執行特定指令集的數位訊號處理器(DSP)。能夠將計算機可讀指令存儲在有形非瞬時性計算機可讀介質上,諸如軟盤、硬碟、CD-ROM (壓縮盤-只讀存儲器)以及MO (磁光碟)、DVD-R0M (數字多功能盤-只讀存儲器)、DVD RAM (數字多功能盤-隨機存取存儲器)或半導體存儲器。備選地,能夠用硬體部件或硬體與軟體的組合來實現所述方法,例如,比如ASIC、專用計算機或通用計算機。
[0021]內容伺服器112-114是這樣的伺服器:其從終端102接收請求數據,相應地處理該請求數據並在一些實施例中通過自適應比特率管理器108向終端102返迴響應數據。例如,內容伺服器112-114能夠是web伺服器、企業伺服器或任何其他類型的伺服器。內容伺服器112-114能夠是負責從終端102接受請求(例如,HTTP、RTSP或能夠發起媒體會話的其他協議)並用流媒體來服務終端102的計算機或電腦程式。
[0022]圖2是例示圖1的示例性系統的實施例的框圖。終端102可特別包括媒體播放器202和緩衝器204。自適應比特率管理器108能夠特別地包括自適應比特率控制器206、緩衝器208、壓縮數據路徑210、媒體分組化(packetization)模塊212、直通數據路徑214以及媒體去分組化(de-packetization)模塊216。
[0023]媒體播放器202是用於播放包括視頻和/或音頻媒體文件的多媒體文件(諸如流媒體)的計算機軟體。媒體播放器202的此類流行示例能夠包括Microsoft Windows媒體播放器、Apple Quicktime播放器、RealOne播放器以及用於web嵌入式視頻的Adobe Flash插件。在一些實施例中,媒體播放器202使用編解碼器將流視頻或音頻解壓縮並將其在終端102的顯示器上重放。能夠將媒體播放器202用作獨立應用或嵌入網頁中以創建與HTML內容相交互的視頻應用。此外,媒體播放器202能夠以媒體接收器報告的形式向自適應比特率管理器108提供關於媒體接收的反饋。媒體接收器報告能夠包括關於用於RTP流會話的RTCP分組的信息以及關於用於偽流會話的TCP ACK的信息。
[0024]緩衝器204 (也稱為終端緩衝器204)是在將多媒體分組提供給媒體播放器202之前臨時存儲該多媒體分組的軟體程序和/或硬體設備。在一些實施例中,緩衝器204經由網絡106從自適應比特率管理器108接收多媒體分組。在一些實施例中,緩衝器204從除自適應比特率管理器108之外的設備接收多媒體分組。在接收多媒體分組(或者媒體剪輯(media clip)的部分,如果是偽流的話)之後,緩衝器204能夠將存儲的多媒體分組提供給媒體播放器202。儘管圖2例示終端緩衝器204和媒體播放器202是分立部件,但本領域技術人員將領會到終端緩衝器204能夠是媒體播放器202的一部分。此外,儘管圖2僅例示單個緩衝器,但本領域技術人員將領會到能夠存在多個緩衝器,例如用於音頻媒體分組的一個或多個緩衝器和用於視頻媒體分組的一個或多個緩衝器。
[0025]直通數據路徑214是將媒體去分組化模塊216耦合到媒體分組化模塊212的傳輸通道。被切換到直通數據路徑214的媒體數據在不經受任何壓縮的情況下被直接傳遞至媒體分組化模塊212。可將媒體數據從媒體分組化模塊212切換到直通數據路徑214。在一些實施例中,可將媒體數據從高速緩存器(未示出)切換到直通數據路徑214。
[0026]另外,在未示出的一些實施例中,當未檢測到網絡擁塞時,可將媒體數據直接從緩衝器208傳輸至直通數據路徑214,並且然後傳送到終端102。在本實施例中,當不存在網絡擁塞時,可將自適應比特率管理器108配置成使媒體數據繞過(bypass)媒體去分組化模塊216和媒體分組化模塊212。但是一旦檢測到網絡擁塞,就可將自適應比特率管理器108配置成通過媒體去分組化模塊216和媒體分組化模塊212來提供媒體數據。
[0027]壓縮數據路徑210包括音頻解碼器218、視頻解碼器220以及可變比特率編碼器222。當媒體數據的比特率高於網絡106的可用帶寬時,選擇壓縮數據路徑210。壓縮數據路徑210改變媒體數據的比特率,以使得其與由自適應比特率控制器206提供的最佳會話比特率匹配。壓縮數據路徑210被配置成將媒體數據以最佳會話比特率提供給媒體分組化模塊212。可將媒體數據從媒體去分組化模塊216切換到壓縮數據路徑210。另外,在一些實施例中,可將媒體數據從高速緩存器(未示出)切換至壓縮數據路徑210。
[0028]自適應比特率控制器206是從終端102周期性地接收諸如RTCP接收器報告或TCPACK之類的媒體接收器報告的軟體程序和/或硬體設備。自適應比特率控制器206被配置成控制是經由直通數據路徑214還是壓縮數據路徑210來切換數據。在自適應比特率控制器206進行路徑確定之後,其被配置成指令媒體去分組化模塊216將媒體數據切換至適當的數據路徑。如下面詳細地論述的,自適應比特率控制器206被配置成計算可在路徑確定過程中使用的一個或多個網絡狀態估計量(estimator)。
[0029]自適應比特率控制器206被配置成提供要在下一時段期間用於對待發送給終端102的多媒體數據進行編碼的最佳會話比特率。如果自適應比特率控制器206確定應經由壓縮數據路徑210來切換媒體數據,則將自適應比特率控制器206配置成提供最佳會話比特率和編碼參數以供在壓縮數據路徑210中使用。在一些實施例中,自適應比特率控制器206包括用於存儲當前和先前媒體接收器報告的緩衝器。為了計算最佳會話比特率,自適應比特率控制器206使用一個或多個網絡狀態估計量以便估計流媒體網絡的狀態並計算要在下一報告間隔中使用的最佳會話比特率。例如,這些網絡狀態估計量能夠估計媒體渡越時間(time in transit:MTT)、在終端102處接收到的比特率、往返時間估計(RTTE)以及分組丟失計數。自適應比特率控制器206能夠使用估計量的歷史和統計來實現不同的控制算法以計算最佳會話比特率。
[0030]網絡狀態估計量能夠提供用於估計在任何時間點網絡有多擁塞的信息。如下面參考圖3所論述的,網絡狀態估計量可被自適應比特率控制器206用來確定是應經由壓縮數據路徑210還是直通數據路徑214來切換媒體數據。能夠使用用於感測網絡擁塞的其他方法來判定何時在這些數據路徑之間進行切換。在一些實施例中,還可將自適應比特率控制器206配置成在確定將選擇哪個數據路徑時考慮網絡估計量隨時間推移的變化。
[0031]緩衝器208是在將媒體數據提供給媒體去分組化模塊216之前臨時存儲該媒體數據的軟體程序和/或硬體設備。在一些實施例中,緩衝器208經由網絡110從一個或多個內容伺服器112-114接收媒體數據。在一些實施例中,緩衝器208從除內容伺服器112-114之外的設備接收媒體數據。在一些實施例中,緩衝器208能夠包括多路分配器(未示出)以在將媒體中繼到可變比特率編碼器222之前分離音頻和視頻軌道(track)。
[0032]多媒體去分組化模塊216是從緩衝器208接收媒體數據的軟體程序和/或硬體設備。媒體去分組化模塊216被配置成將與以分組形式被接收到的媒體數據相關聯的分組以適當順序聚合。媒體去分組化模塊216被配置成根據從自適應比特率控制器206接收到的控制指令將媒體數據輸出到壓縮數據路徑210或直通數據路徑214。在一些實施例中,媒體去分組化模塊216被配置成監視媒體數據的幀類型。並且接收將媒體數據切換至不同的數據路徑的命令之後,在關鍵幀(例如,幀內編碼幀(Intra Frame))自動切換媒體數據,如以下詳細論述的那樣。
[0033]可變比特率編碼器222是從自適應比特率控制器206接收最佳會話比特率數據、編碼參數或兩者並向媒體分組化模塊212提供被以與由自適應比特率控制器206提供的最佳會話比特率相匹配的比特率進行編碼的音頻和/或視頻數據的軟體程序和/或硬體設備。可變比特率編碼器能夠特別地包括比特率分離器(splitter) 224、音頻編碼器226、視頻編碼8以及對於一些實施例而言還包括巾貞丟棄器(dropper) 230。
[0034]比特率分離器224是從自適應比特率控制器206接收最佳會話比特率數據並分配當在下一間隔期間對音頻和視頻媒體數據進行編碼時要被使用的最佳比特率的軟體程序和/或硬體設備。該分配使得用於所有軌道的比特率的總和在被組合時能夠基本上等於由自適應比特率控制器206所指定的最佳會話比特率。例如,該分配可基於預定分配、用戶偏好、最佳性能數據、相比於另一數據類型而言為一數據類型賦予特權(privileging)、要提供的音頻和視頻數據的量和/或上述各項的任何組合。例如,比特率分離器224可以如下方式對音頻質量賦予特權:如果指定了減小的比特率,則比特率分離器224能夠首先減小視頻比特率並儘可能多地推遲減小音頻比特率。
[0035]音頻編碼器226和視頻編碼器228是能夠從比特率分離器224 (或直接地從自適應比特率控制器206)接收其各自的比特率分配並提供被編碼成在下一報告間隔與其各自的比特率分配的比特率相匹配的輸出(outgoing)媒體數據的軟體程序和/或硬體設備。音頻編碼器226和視頻編碼器228都能夠從緩衝器208接收其各自的媒體數據並根據來自比特率分離器224的其各自比特率分配來輸出該媒體數據。在已針對音頻和視頻兩者確定比特率之後,每個編碼器的責任是在相應的媒體軌道中輸送最大質量。例如,音頻編碼器226能夠通過調整譜量化和截止頻率來產生可變比特率。此外,視頻編碼器228能夠例如通過調整離散餘弦變換(DCT)係數量化或通過引入幀丟棄來產生可變比特率。在必要時,能夠由幀丟棄器230來執行該幀丟棄。
[0036]幀丟棄器230是能夠在確定期望比特率小於質量閾值之後被觸發的軟體程序和/或硬體設備。該閾值能夠是編解碼器相關的,並且表示在其以下較粗量化的使用會導致圖像中的不可容忍偽像的比特率值。幀丟棄器230能夠基於期望視頻比特率和正在由視頻編碼器228產生的比特率來動態地確定幀丟棄率。為了補償編碼器輸出端處的視頻比特率的固有比特率波動,幀丟棄器230能夠通過使用覆蓋最近編碼幀的字節大小歷史的滑動窗口來動態地更新丟棄率。
[0037]媒體分組化模塊212是從壓縮數據路徑210或直通數據路徑214接收媒體數據並將此數據轉換成分組格式以輸送流會話的軟體程序和/或硬體設備。媒體分組化模塊212能夠為將通過單獨網絡信道來傳輸的視頻和音頻數據創建單獨的分組,或者在單個媒體流中將音頻和視頻組合。除載送音頻和媒體數據之外,媒體分組還能夠特別地包括用於標識內容類型的有效載荷型標識符、分組序列號、用於允許同步化和抖動(jitter)計算的時間戳以及輸送監視數據。此類數據稍後能夠在自適應比特率控制器206從終端102接收相應的媒體接收器報告時幫助自適應比特率控制器206確定由網絡提供的服務質量。當將此媒體數據轉換成分組格式時,媒體分組化216通過網絡106的網絡緩衝器232將媒體數據傳送到終端102的終端緩衝器204。另外,自適應比特率管理器108將已發送媒體分組的歷史保存在音頻和視頻軌道中。該歷史數據能夠特別地包括每個分組被發送的時間、序列號以及每個媒體分組的大小。
[0038]圖3是例示圖2的系統中的示例性通信流的功能圖。出於解釋該示例性實施例的目的,假設終端102已接收到所請求媒體數據分組的媒體數據中的至少一些。此外,假設媒體數據分組包括音頻和視頻媒體數據兩者。在接收分組之後,媒體播放器202向自適應比特率管理器108傳送(305)媒體接收器報告。
[0039]媒體接收器報告能夠是例如RTCP接收器報告或者在偽流的情況下是TCP ACK。RTCP是用於提供對於RTP流的質量控制信息的協議,諸如由自適應比特率管理器108的媒體分組化216提供的傳輸。更具體地,RTCP能夠在多媒體數據的輸送和封裝方面與自適應比特率管理器108的媒體分組化模塊212合作。在一些實施例中,媒體播放器202周期性地傳送RTCP接收器報告。RTCP接收器報告能夠提供關於正在由媒體分組化216提供的服務質量的反饋。
[0040]用於網際網路上的流媒體的最廣泛使用的方法是由傳輸控制協議(TCP)載送的基於HTTP的偽流。TCP實現其自己的一般(非媒體特定)分組化協議。TCP在內部使用ACK來提供關於接收到的TCP分組的反饋並因此提供傳輸流控制。在偽流的情況下,使用TPC ACK分組來更新先前所述的關鍵網絡估計量。
[0041]儘管使用TCP和RTP/RTCP作為示例性實施例來解釋自適應比特率控制方法,但本領域技術人員會領會到這種自適應比特率控制方法可應用於實現具有排序和定時信息的媒體傳輸和具有關於接收到的分組的信息(覆蓋排序、定時、丟失率等)的媒體傳輸反饋的功能的任何協議。
`[0042]此外,在一些流實施例中,媒體接收器報告能夠是具有音頻和視頻報告數據兩者的單個報告(當將音頻和視頻復用成單個流時),或者能夠被分離成多個報告(例如,諸如在其中RTP在單獨的流中載送音頻和視頻的RTCP情況下),例如,諸如用於音頻報告數據的接收器報告和用於視頻報告數據的另一接收器報告。媒體接收器報告數據能夠特別地包括關於終端102處最近接收到的媒體分組的序列號的數據、在媒體接收器報告中報告的由終端102接收的最後分組的時間戳、從該報告發送的比特數、往返時間以及丟失分組的數目。
[0043]在接收一個或多個接收器報告之後,自適應比特率控制器206能夠估計網絡的狀態以便確定是否在下一時段內更新會話比特率。自適應比特率控制器206能夠將新接收的接收器報告保存在累積歷史中並記錄一個或多個分組被接收的時間。為了估計網絡的狀態,自適應比特率控制器206能夠將來自接收到的媒體接收器報告的數據、由自適應比特率管理器108存儲的先前接收到的接收器報告以及由自適應比特率管理器108存儲的已發送媒體分組的歷史進行組合。自適應比特率控制器206能夠通過使用網絡狀態估計量針對流和偽流會話兩者估計以下示例性數據:
?媒體渡越時間(MTT),被計算為最近被發送媒體分組的時間戳與由在接收器報告中報告的播放器接收到的最後媒體分組的時間戳之間的差。對於偽流會話,自適應比特率管理器108執行附加步驟以計算MTT。例如,自適應比特率管理器108保持發送到播放器的媒體剪輯中的序列號和時間戳的表格。當接收到ACK時,自適應比特率管理器108能夠檢索對應於ACK中的字節序列號的時間戳。使用該時間戳,自適應比特率管理器能夠計算MTT ;
?接收到的比特率(「BRR」),被計算為:在當前和先前接收到的接收器報告之間接收到的比特,除以在這兩個接收器報告之間經歷的時間。通過對接收器報告中的序列號和存儲於自適應比特率管理器108處的已發送字節的歷史進行交叉參考來計算在接收器報告之間接收到的比特;
?往返時間估計(「RTTE」),其能夠通過對存儲於自適應比特率管理器108處的多個較低MTT值求平均來獲得。例如,可以通過對用於該流媒體網絡的所有存儲MTT值之中最低的3個MTT值求平均來計算RTTE。此外,自適應比特率管理器108能夠根據RTCP發送者報告內的數據來計算RTTE。儘管例示了這些示例性實施例,但能夠使用任何方法來估計對於流媒體網絡的往返時間;
?分組丟失計數(「PLC」),直接從媒體接收器報告捕捉。
[0044]自適應比特率控制器206能夠使用這些一個或多個網絡狀態估計量來確定用於下一間隔的所估計的網絡擁塞水平和會話比特率。如果網絡具有可忽略或低水平的網絡擁塞,則將自適應比特率控制器206配置成指令媒體去分組化模塊216經由直通數據路徑214來切換媒體數據。同樣地,如果網絡是擁塞的,則將自適應比特率控制器206配置成指令去分組化模塊經由壓縮數據路徑210來切換媒體數據。
[0045]自適應比特率控制器206被配置成允許從下一關鍵幀開始在壓縮數據路徑210與直通數據路徑214之間切換媒體數據,或者反之亦然。關鍵幀是在該處將解碼器或編碼器的狀態重置的特定類型的媒體幀。該關鍵幀(幀內編碼幀)是存儲全圖像的媒體幀。數據流中的其他幀可包括例如預測幀。預測幀存儲 從一個幀到下一個發生的變化,因此大大地減少所存儲的信息量。
[0046]在非關鍵幀(例如,預測幀)處將媒體數據切換至不同的數據路徑可導致媒體數據的破壞。因此,自適應比特率控制器206被配置成監視原始媒體數據流(例如,從內容伺服器112-114到達的)的幀類型。
[0047]備選地,媒體去分組化模塊216或一些其他模塊被配置成監視原始媒體流的幀類型。在接收到將媒體數據切換至不同數據路徑的命令之後,媒體去分組化模塊216在下一關鍵幀處自動地切換媒體數據。
[0048]圖4A例示指示其中將媒體數據從直通數據路徑214切換至壓縮數據路徑210的示例性幀序列。幀序列示出關鍵幀I1及其相關聯的預測幀P2-P7以及關鍵幀I8及其相關聯的預測幀匕-PM。自適應比特率控制器206在P4處檢測到網絡擁塞,然而,由於下一幀不是關鍵幀,所以直至I8之前不會經由壓縮數據路徑210來切換媒體數據。同樣地,圖4B例示指示其中將媒體數據從壓縮數據路徑210切換至直通數據路徑214的示例性幀序列。自適應比特率控制器206在P4處檢測到網絡擁塞已清除,然而,由於下一幀不是關鍵幀,所以直至I8之前不會經由直通數據路徑214來切換媒體數據。
[0049]返回參考圖3,自適應比特率控制器206通過將一個或多個網絡狀態估計量與相應的狀態閾值相比較來估計網絡擁塞以及因此媒體路徑選擇。該狀態閾值值間接地確定自適應比特率控制器206何時指令媒體去分組化模塊(310)經由壓縮數據路徑210來切換媒體(315)或經由直通數據路徑214來切換數據(320)。可由管理員來設定狀態閾值的值。在一些實施例中,可由自適應比特率控制器206來自動地確定狀態閾值的值。當與其相應的網絡狀態閾值相比較時,每個網絡狀態估計量都可用來確定經由哪個數據路徑來切換媒體數據。例如,可將MTT與MTT狀態閾值相比較,並且如果MTT在MTT狀態閾值以下,則可將自適應比特率控制器206配置成指令媒體去分組化模塊216從下一關鍵幀開始經由直通數據路徑214來切換要被傳送到終端102的媒體數據。如果MTT在MTT狀態閾值以上,則可將自適應比特率控制器206配置成指令媒體去分組化模塊216從下一關鍵幀開始經由壓縮數據路徑210來切換媒體數據。類似地,RTTE、PLC以及BRR網絡狀態估計量具有各自的RTTE.BRR以及PLC狀態閾值,其可用來確定是經由壓縮數據路徑210還是經由直通數據路徑214來切換媒體。
[0050]在一些實施例中,自適應比特率控制器206在確定網絡擁塞時考慮網絡狀態估計量如何隨時間而變。例如,能夠將自適應比特率控制器206配置成:如果MTT值已隨時間推移而減小,則指令去分組化模塊221將媒體數據從下一關鍵幀開始切換至直通數據路徑214。類似地,能夠將自適應比特率控制器206配置成:如果MTT值已隨時間推移而增加,則指令去分組化模塊221將媒體數據從下一關鍵幀開始切換至壓縮數據路徑226。
[0051]在一些實施例中,自適應比特率控制器206基於一個或多個網絡狀態估計量隨時間推移的變化和一個或多個網絡狀態閾值而指令媒體去分組化模塊216。例如,能夠將自適應比特率控制器206配置成:如果MTT值已隨時間推移而減小且MTT值在MTT狀態閾值以下,則指令去分組化模塊221從下一關鍵幀開始將媒體數據切換至直通數據路徑214。類似地,能夠將自適應比特率控制器206配置成:如果MTT值已隨時間推移而增加且MTT值在MTT狀態閾值以上,則指令去分組化模塊221將媒體數據從下一關鍵幀開始切換至壓縮數據路徑226。
[0052]在一些實施例中,自適應比特率控制器206可在壓縮數據路徑210與直通數據路徑214之間進行選擇,無論媒體去分組化模塊216從哪裡接收媒體數據。例如,媒體去分組化模塊216能夠直接從諸如內容伺服器112-114之類的HTTP伺服器接收媒體。備選地,媒體去分組化模塊216能夠從高速緩存器讀取媒體數據,其中,正被接收的媒體數據已被外部過程壓縮。在這種情況下,可將自適應比特率管理器108配置成在最小的資源利用情況下經由直通數據路徑214將已壓縮媒體數據輸送至媒體播放器。如果網絡狀況退化,則自適應比特率控制器206能夠在適當的時間切換至壓縮數據路徑210以進一步降低媒體比特率並避免重放停頓。因此,可根據需要使用用來壓縮視頻的資源來抵消退化的網絡狀況。
[0053]當通過壓縮數據路徑210來切換數據時,可使用在例如美國專利N0.7,991,904、美國專利申請公開N0.2011/0283012、美國專利N0.7,987, 285或美國專利申請公開N0.2011/0283015中描述的方法對媒體數據進行編碼,上述專利文獻全部通過引用而被結合入本文。然後將已編碼數據傳遞(325)至媒體分組化模塊212,其將已編碼數據轉換成分組格式以輸送流會話(330)。
[0054]在經由直通數據路徑214來切換媒體數據之後,在沒有任何壓縮的情況下將媒體數據直接傳遞至媒體分組化模塊212 (335)。媒體分組化模塊212將媒體數據轉換成分組格式以輸送流會話(330)。
[0055]另外,在未示出的一些實施例中,當未檢測到網絡擁塞時,自適應比特率管理器可將媒體數據從緩衝器208傳輸至直通數據路徑214,並且然後將該媒體數據傳送到終端102。因此,當不存在網絡擁塞時,媒體數據繞過媒體去分組化模塊216和媒體分組化模塊212。但是一旦檢測到網絡擁塞,自適應比特率管理器就被配置成通過媒體去分組化模塊216和媒體分組化模塊212來提供媒體數據。
[0056]圖5是表示用於選擇對於媒體數據的數據路徑的示例性方法的流程圖。參考圖5,本領域技術人員將很容易領會到能夠改變所示的規程以刪除步驟或進一步包括附加步驟。針對本示例性方法假設接收器報告包括關於音頻和視頻媒體數據兩者的數據。如果是偽流會話,則處理TCP ACK以獲得關於媒體傳輸進度的信息。當兩個類型都存在時,本領域技術人員將領會到接收器報告數據能夠包括音頻或視頻數據。在初始開始步驟之後,自適應比特率管理器(例如,自適應比特率管理器108)獲取(510)接收器報告數據,其能夠包括一個或多個接收器報告。該接收器報告數據能夠與在終端的媒體播放器處接收到的音頻和視頻媒體分組的質量和數量相關。接收器報告數據能夠特別地包括由終端接收到的最後分組的序列號、對應於此類分組的時間戳、發送的比特數、往返時間以及在從自適應比特率管理器到終端的傳輸期間丟失的分組數目。能夠通過從終端接收媒體接收器報告並通過使最後接收的媒體接收器報告的內容與存儲於自適應比特率管理器處的媒體分組的歷史互相關來獲取接收器報告數據。
[0057]儘管RTP和RTCP是多媒體應用可直接訪問的用戶級協議,但TCP通常是以應用可不具有其內部狀態的可見性的方式在內核空間(kernel space)中實現。為了克服這一點,能夠實現簡單內核級代理以生成應用級接收器報告並當在內核空間中接收到ACK分組時將其發送到自適應比特率管理器。
[0058]在獲取接收器報告數據之後,自適應比特率管理器確定一個或多個網絡狀態估計量(520)。在一些實施例中,為了確定一個或多個網絡狀態估計量,自適應比特率管理器能夠將來自從步驟505接收到的接收器報告數據的數據和由自適應比特率管理器存儲的先前接收到的接收器報告數據組合。所確定的一個或多個網絡狀態估計量能夠包括MTT、BRR、RTTE、PLC或其某個組合。在偽流會話中,要求額外步驟以計算MTT。自適應比特率管理器能夠保持被發送到媒體播放器的媒體剪輯中的序列號和時間戳的表格。在接收到TCP ACK之後,自適應比特率管理器能夠檢索對應於ACK中的字節序列號的時間戳,並且然後計算MTT。
[0059]在步驟530,自適應比特率管理器估計網絡是否是擁塞的。自適應比特率管理器通過將一個或多個網絡狀態估計量與相應的狀態閾值相比較來估計網絡擁塞。在一些實施例中,自適應比特率管理器還部分地基於一個或多個網絡狀態估計量隨時間推移的變化來估計網絡擁塞。
[0060]在步驟540中,自適應比特率管理器確定正確數據路徑(540)。根據存在的網絡擁塞的水平,自適應比特率管理器確定是應經由壓縮數據路徑(例如,壓縮數據路徑210)還是直通數據路徑(例如,直通數據路徑214 )來提供媒體數據。如果網絡是擁塞的,則自適應比特率管理器指示應經由壓縮數據路徑來提供媒體數據。同樣地,如果網絡是不擁塞的,則自適應比特率管理器指示應經由直通數據路徑來提供媒體數據。
[0061]在步驟550中,自適應比特率管理器將正確數據路徑與媒體數據正被傳遞的當前數據路徑相比較。如果正確數據路徑等於當前數據路徑,則不需要改變數據路徑。自適應比特率管理器然後繼續經由當前數據路徑來發送媒體直至其不再與指示的數據路徑匹配或者不存在要被傳送到終端的附加媒體。
[0062]如果當前數據路徑不同於正確數據路徑,則在步驟560中,自適應比特率管理器確定正被傳送的下一幀是否是關鍵幀。如果該幀不是關鍵幀,則自適應比特率管理器繼續使用當前數據路徑來發送媒體數據。如果下一幀是關鍵幀,則在步驟580中,自適應比特率管理器將當前數據路徑設置為用於下一幀的正確數據路徑,並且然後從關鍵幀開始使用新數據路徑來發送媒體數據(步驟590)。
[0063]可將本文公開的方法實現為電腦程式產品,即在諸如在機器可讀存儲設備或在傳播信號之類的信息載體中有形地實施以便由諸如可編程處理器、計算機或多個計算機之類的數據處理裝置執行或控制這些數據處理裝置的操作的電腦程式。電腦程式能夠以包括編譯或解釋語言的任何形式的程式語言來編寫,並且其能夠以任何形式來部署,包括作為獨立程序或作為模塊、部件、子例程或適合於在計算環境中使用的其他單元。電腦程式能被部署成在一個計算機上或在一個站點處或跨多個站點分布並被通信網絡互連的多個計算機上被執行。
[0064]在前述說明中,已參考特定示例性實施例描述了本公開。然而將顯而易見的是,可在不脫離如在隨後的權利要求中闡述的本公開的更寬精神和範圍的情況下做出各種修改和變化。因此本說明和附圖被認為是例示性而非限制性的。根據考慮本文公開的說明和實踐,本公開的其他實施例對於本領域技術人員而言可顯而易見。
【權利要求】
1.一種方法,包括: 獲取要通過媒體網絡被傳送到終端的媒體數據; 從所述終端接收接收機報告; 使用來自接收機報告的信息來估計網絡狀況; 根據媒體網絡是否擁塞來確定數據路徑,其中,如果媒體網絡是擁塞的,則數據路徑是壓縮數據路徑,或者如果媒體網絡是不擁塞的,則數據路徑是直通數據路徑;以及通過所確定的數據路徑來提供媒體數據。
2.根據權利要求1所述的方法,其中,媒體數據包括關鍵幀,並且從該關鍵幀開始通過所確定的路徑來提供媒體數據。
3.根據權利要求1所述的方法,還包括:使用一個接收機報告來確定網絡狀態估計量。
4.根據權利要求3所述的方法,其中,所述網絡狀態估計量是以下各項中之一: 媒體渡越時間; 接收到的比特率; 往返時間估計;以及 分組丟失計數。
5.根據權利要求3所述的方法,其中,使用來自接收機報告的信息來估計網絡擁塞包括:將網絡狀態估計量與相應的狀態閾值進行比較。
6.根據權利要求5所述的方法,其中,所述狀態閾值由伺服器自動確定。
7.一種存儲指令的非瞬時性計算機可讀介質,所述指令在被計算機執行時使得計算機執行方法,所述方法包括: 獲取要通過媒體網絡被傳送到終端的媒體數據; 從所述終端接收接收機報告; 使用來自接收機報告的信息來估計網絡狀況; 根據媒體網絡是否擁塞來確定數據路徑,其中,如果媒體網絡是擁塞的,則數據路徑是壓縮數據路徑,或者如果媒體網絡是不擁塞的,則數據路徑是直通數據路徑;以及通過所確定的數據路徑來提供媒體數據。
8.根據權利要求7所述的非瞬時性計算機可讀介質,其中,媒體數據包括關鍵幀,並且從該關鍵幀開始通過所確定的路徑來提供媒體數據。
9.根據權利要求7所述的非瞬時性計算機可讀介質,還包括指令,所述指令在被計算機執行時使得計算機執行所述方法,所述方法包括:使用一個接收機報告來確定網絡狀態估計量。
10.根據權利要求9所述的非瞬時性計算機可讀介質,其中,所述網絡狀態估計量是以下各項中之一: 媒體渡越時間; 接收到的比特率; 往返時間估計;以及 分組丟失計數。
11.根據權利要求9所述的非瞬時性計算機可讀介質,其中,使用來自接收機報告的信息來估計網絡擁塞包括:將網絡狀態估計量與相應的狀態閾值進行比較。
12.根據權利要求11所述的非瞬時性計算機可讀介質,其中,所述狀態閾值由伺服器自動確定。
13.—種系統,包括: 自適應比特率管理器,被配置成: 獲取要通過媒體網絡被傳送到具有媒體播放器的終端的媒體數據; 從所述終端接收接收機報告; 使用來自接收機報告的信息來估計網絡擁塞; 根據媒體網絡是否擁塞來確定數據路徑,其中,如果媒體網絡是擁塞的,則數據路徑是壓縮數據路徑,或者如果媒體網絡是不擁塞的,則數據路徑是直通數據路徑;以及 通過所確定的數據路徑來提供媒體數據。
14.根據權利要求13所述的系統,其中,媒體數據包括關鍵幀,並且從該關鍵幀開始通過所確定的路徑來提供媒體數據。
15.根據權利要求13所述的系統,其中,所述自適應比特率管理器還被配置成:使用一個接收機報告來確定網絡狀態估計量。
16.根據權利要求15所述的系統,其中,所述網絡狀態估計量是以下各項中之一: 媒體渡越時間; 接收到的比特率; 往返時間估計;以及` 分組丟失計數。
17.根據權利要求15所述的系統,其中,所述自適應比特率管理器被配置成:將網絡狀態估計量與相應的狀態閾值進行比較以使用來自接收機報告的信息來估計網絡擁塞。
18.根據權利要求17所述的系統,其中,所述自適應比特率管理器被配置成:自動確定狀態閾值。
【文檔編號】H04N21/2662GK103828324SQ201280038961
【公開日】2014年5月28日 申請日期:2012年6月8日 優先權日:2011年6月10日
【發明者】A.彭納, F.庫普曼斯, R.基德 申請人:茨特裡克斯系統公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀