媒體流處置的制作方法
【專利摘要】本發明涉及:向媒體播放器(111)提供媒體段(21、22、23)序列以便相繼被取出,其中媒體段從媒體接收器(112)處接收的數據分組來生成,媒體接收器檢測某個媒體段(22)無法從所接收數據分組來恢復;以及生成要由媒體播放器取出的替代媒體段(22’)以代替某個媒體段。該信息還涉及對應媒體接收器(112)和對應計算機程序。
【專利說明】媒體流處置
【技術領域】
[0001]一般來說,本發明涉及廣播或多播媒體流播,以及具體來說,涉及處置傳輸不充分。
【背景技術】
[0002]自適應流播正成為重要內容流播技術。多種不同的HTTP流播技術存在,例如Apple 公司所提出的 HTTP 實況流播(HTTP Live Streaming, HLS)、Micrcosoft 平滑流播(ISM)以及3GPP所規定的MPEG DASH(其中縮寫詞DASH代表基于HTTP的動態自適應流播)。
[0003]自適應HTTP流播技術的共同原理在于,客戶端接收作為文件序列(或者作為字節范圍請求序列)的內容流,其將要經過解碼并且最終作為連續媒體流來播放。在所謂的清單文件(例如,在HLS的情況下采取用于存儲多媒體播放列表的所謂m3u或m3u8文件格式或者在Microsoft ISM的情況下采取ismc文件格式以及在DASH的情況下采取MPD文件格式)中描述文件序列的鏈接信息(URL)。
[0004]在通過多媒體廣播多播服務(MBMS)發送DASH內容(主要為媒體段)的情況下,客戶端接收媒體段的連續文件流,各媒體段包含唯一地址(URI)。
[0005]客戶端如清單文件中所述相繼取出媒體段(文件)。在文件下載期間,客戶端可估計可用鏈路比特率(下載速度)。取決于可用鏈路比特率與媒體的編碼比特率之間的差,客戶端可選擇適當質量表示(例如略低于所測量鏈路比特率)。
[0006]為了準備用于自適應HTTP流播的連續內容流,流在服務器側分段為多個媒體段(文件)。這些媒體段由客戶端作為獨立文件(相繼地)取出。客戶端照管以播放,以提供連續流播出。
[0007]—個問題涉及例如因服務器與客戶端之間的傳輸問題而不能在客戶端側來解碼的數據段的處置。如果例如按照IETF文獻RFC 3926 (標題為“FLUTE - File Delivery overUnidirect1nal Transport”,規定通過單向傳輸的對象(文件、目錄、剪輯、ESG等)的大規模可縮放可靠傳遞的協議)的接收器(這種接收器以下又稱作FLUTE或ALC/FLUTE接收器)不能恢復媒體段(例如,如果冗余數據不足以在接收器中執行前向糾錯),則接收器可丟棄整個媒體段。但是,在多播或單播傳輸中,不可能使客戶端請求丟失媒體段文件的第二傳輸。客戶端的媒體播放器(例如符合DASH或HLS的媒體播放器)可能只停止媒體播放,直至接收到預計媒體段。
【發明內容】
[0008]本發明的一個目的是在傳輸中斷或者不充分的情況下改進在媒體播放器的媒體顯示(或者播出)。
[0009]按照一個實施例,客戶端布置包括媒體接收器和媒體播放器。媒體接收器從媒體服務器接收數據分組(例如UDP分組)序列,并且從所接收數據分組的數據來生成多個連續媒體段,以便由媒體播放器相繼取出。在不能恢復媒體段(例如因傳輸問題)的情況下,媒體接收器提供將要提供給媒體播放器的替代段(又稱作啞媒體段),來代替不可恢復(預計)媒體段。
[0010]該客戶端布置能夠是單個物理裝置,或者備選地能夠包括若干通信上耦合的物理裝置。具體來說,該客戶端布置可包括與媒體接收器裝置耦合的媒體播放器裝置。
[0011]上述實施例的一個優點在于,能夠使媒體播放器保持播放,而無需進一步等待預計但丟失的數據。
[0012]在另一個實施例中,媒體接收器生成替代段,使得媒體播放器能夠在沒有進一步信息、例如沒有帶外傳輸的情況下使用這個段。另外,媒體接收器可確定將要插入替代段中的必要控制和解碼及播放時間相關信息(除了內容替代數據之外,例如預定義缺省數據(空數據或“啞內容”)),例如時間戳信息、計數器和/或(一個或多個)序列號。這個信息可從關聯到一個或多個先前媒體段的數據以及內部計算來得出。
[0013]內部計算可包括確定時間增量,并且將這個增量加入上一個有效媒體段的時間戳和/或通過確定(遞增)適當計數器和/或序列號)。
[0014]在另一個實施例中,接收器將一定量的替代數據插入替代媒體段中,使得替代媒體段的持續時間對應于不可恢復媒體段的計算和/或預計持續時間。另外,媒體播放器可將具有替代數據的一定數量的幀(例如空幀或“黑”幀)插入替代媒體段中,其中,幀數對應于不可恢復媒體段的持續時間。
[0015]在此外一個實施例中,如果接收器已經接收并且恢復下一個媒體段(在不可恢復媒體段之后),則接收器從不可恢復媒體段之前的媒體段(例如最后一個有效媒體段)以及所恢復的下一個媒體段的定時信息來確定媒體段持續時間(例如計算下一個媒體段的tfdt盒的時間值減去自最后一個有效媒體段的tfdt盒的時間值之間的時間差)。
[0016]在多個媒體段缺失的情況下,接收器可創建具有缺省媒體段持續時間的媒體段。如果在多個不可恢復媒體段之后正確地接收第一媒體段,則接收器修改最后一個替代媒體段,以調整段持續時間(例如,插入例如對應數量的空幀)。
[0017]在另一個實施例中,媒體接收器例如通過發送更新的所謂清單文件向媒體播放器提供信息,通知媒體播放器關于一個或多個不可恢復媒體段(帶外信息)。
[0018]在一個實施例中,信息包含重置時間戳和/或將下一個有效媒體段看作是流的第一段的請求。如果接收器已經接收到下一個媒體段(例如,單個媒體段缺失),則接收器可從替代媒體段之前的最后一個有效媒體段以及替代媒體段之后的第一媒體段的時間信息來確定所插入替代媒體段持續時間。
[0019]在一個實施例中,媒體接收器和媒體播放器通過HTTP協議進行通信。在此外一個實施例中,媒體播放器通過向媒體接收器發送HTTP請求(包含依照先前所接收的清單文件的URL地址)并且接收包含對應媒體段的對應HTTP響應,來取媒體段。
[0020]在一個實施例中,在媒體接收器從媒體服務器所接收的(UDP)數據分組關聯到多播或廣播接收。
[0021]本發明還涉及計算機程序,其中包括軟件代碼的部分,以便在由用戶裝置和接收方裝置的相應處理單元操作時實現上述方法。計算機程序能夠存儲在計算機可讀介質上。計算機可讀介質能夠是用戶裝置或接收方裝置中或者是位于外部的永久或可重寫存儲器。相應計算機程序還能夠例如經由電纜或無線鏈路作為信號序列傳遞給用戶裝置或接收方>J-U ρ?α裝直。
[0022]下面將描述本發明的詳細實施例,以便使技術人員全面完整地理解。但是,這些實施例是說明性的,而不是要進行限制。
【專利附圖】
【附圖說明】
[0023]圖1示出適合于分段流播的流播系統的示范框圖,
圖2示出分段媒體流,
圖3示出由媒體接收器所執行的主要處理步驟序列以及在媒體接收器與媒體播放器之間交換的消息,以及
圖4更詳細地示出HTTP流播系統的示范框圖。
【具體實施方式】
[0024]圖1示出示范媒體流播系統的框圖,示范媒體流播系統具有媒體服務器12和(例如由 所述服務器所服務的多個用戶中的)一個示范用戶裝置11。作為舉例,用戶裝置11包括媒體播放器111和媒體接收器112。
[0025]媒體播放器111能夠被看作是負責例如音頻媒體、視頻媒體或者音頻和視頻等的媒體流的播出的功能實體。此外,媒體播放器如先前所接收的清單文件中所述從媒體接收器相繼取媒體文件或段。媒體播放器能夠被看作是負責從媒體服務器12接收媒體段并且負責對應媒體內容的播出的功能實體。此外,從各文件,媒體播放器提取將要播出的內容或有效載荷數據以及用于控制播出的對應控制數據(媒體解碼相關參數)。
[0026]媒體接收器112對于由從媒體服務器12 (其可能例如通過上述MBMC向多個用戶裝置多播或廣播這類分組)所接收(例如通過無線電接口)的數據分組所包含的媒體段進行解碼。這種傳輸可通過基于消息的無連接協議、例如作為因特網協議族的成員之一的用戶數據報協議(UDP)來執行。
[0027]按照圖1的示例,媒體接收器112包括:媒體分組接收器(例如FLUTE接收器)1123,用于接收廣播或多播分組;解碼器1122,用于從所接收分組來生成媒體段或文件;以及替代插入電路1121,適合于通過替代段來替換不可恢復或損壞媒體段,如稍后更詳細論述。媒體段由媒體播放器通過對各文件的文件請求以及攜帶所請求文件的對應響應從媒體接收器連續取出。這種請求/響應機制可基于HTTP (例如HTTP請求/響應)或者基于任何其它適當協議(例如,在客戶端是單個用戶裝置的情況下的因特網協議)來實現。
[0028]圖2示出按照圖1的系統中使用的媒體流的分段。在服務器側,將媒體流分段為多個媒體段21、22、23。每段可包括一定播放時間、例如10秒的媒體數據。這些段經過編碼,并且例如通過如前面所述的UDP從服務器12傳送給一個或多個用戶裝置11。作為舉例,每段21、22、23包括多個幀211、212、213,例如視頻幀或音頻樣本。為了確保媒體內容的連續播出,媒體播放器111留意它具有用于播出的及時可用幀。此外,媒體播放器111例如通過HTTP請求及關聯HTTP響應從媒體接收器112相繼取作為獨立文件的媒體段,如先前所述并且如下圖3中進一步所示。媒體段可平均分割為從媒體服務器所接收的相同數量的多播/廣播(UDP)分組,使得例如在下一個媒體段開始時或者在當前媒體段接收完成時,接收器112能夠基于計數所接收多播/廣播分組來觸發事件。[0029]圖3示出用于由媒體播放器111來取出媒體段的示范方法。在媒體播出之前,媒體播放器11發送第一(HTTP)請求30,以獲得清單文件。媒體接收器又傳送所請求清單文件31。在第二請求32中,請求第一媒體段(例如圖2的媒體段21),媒體接收器又傳送包含第一媒體段的響應33。類似地,媒體播放器發出對下一段的請求34,以便接收包含下一段(例如段22)的下一個響應35。
[0030]如上所述,在文件下載期間,客戶端11可估計可用鏈路比特率(下載速度)。取決于可用鏈路比特率與媒體的編碼比特率之間的差,客戶端可選擇適當質量表示(例如略低于所測量鏈路比特率)。
[0031]在傳輸失真(例如在空中接口上)的情況下,接收器可能無法恢復媒體段(例如媒體段22),例如在所接收數據被破壞的情況下,使得不存在足夠信息來執行前向糾錯(FEC)。接收器則決定丟棄對應媒體段的數據,并且生成包含代替應當已經傳遞的數據的替代數據的替代段。因此,如果例如段22可能在媒體接收器中沒有正確恢復,則媒體接收器生成替代段22’,以便在對應響應35中轉發。
[0032]如同通常在多播或廣播傳輸中一樣,不可能使客戶端請求丟失媒體段文件的第二傳輸,這種方法允許使媒體播放器保持播放。雖然這種方法可能導致質量的(暫時)降低,但是它避免播出停止或者播出中止,并且因而顯著改進體驗質量。
[0033]在一個實施例中,單獨媒體解碼相關參數關聯到各媒體段。例如,在MPEG-TS的情況下,示范參數是:PCR(程序時鐘參考)、PTS(呈現時間戳)、DTS(解碼時間戳)和其它計數器,預計其單調增加。在基于ISOFF的媒體段的情況下,存在諸如軌道片段報頭(‘mfhd’)或者媒體解碼時間(‘tfdt’)中的片斷序列號之類的盒。為了正確播出替代有效載荷數據,媒體播放器需要關聯到這個段的對應媒體解碼相關參數。它不足以使接收器正好插入替代數據、例如無效或空數據(例如包含一定數量的零位或字節)來將內容媒體數據替換到具有正確和預計URI (文件名)的替代文件中。接收器此外還將適當解碼相關參數插入到替代文件中,使得媒體播放器具有充分控制信息來繼續播出替代有效載荷數據。換言之,接收器確定預計媒體解碼相關參數,并且將這種數據連同替代內容數據一起插入替代段中。
[0034]對于Apple HTTP實況創建,接收器可以只復制第一接收段文件作為啞段,因為其PCR和PTS小于后來接收的段,它在被插入時不會播出。
[0035]在一個實施例中,例如對于Apple HTTP實況流播解決方案,建議將啞媒體段插入m3u8播放列表中(表示修改或者新生成播放列表文件),并且使用EXT-X-DISCONTINUITYm3u8標簽來指示MPEG2-TS不連續性。這通知媒體播放器重置所有MPEG2-TS時間戳,并且將不連續性指示符之后的媒體段看作是流的第一段。如果接收器已經接收到下一個媒體段(單個媒體段缺失),則接收器從兩個媒體段的PCR/PTS來確定插入啞媒體段持續時間。
[0036]在一個實施例中,例如對于ALC/FLUTE接收器,提出重寫清單文件(m3u或m3u8文件)或者生成清單文件,因為在清單文件中必須存在至少兩個DISCONTINUITY標簽:第一啞段之前的一個標簽以及第一有效媒體段之前的一個標簽。對每個新媒體段,重寫任何現有m3u8清單文件(例如對每個新媒體段生成新的m3u8)。因此,客戶端必須知道所有m3u8文件,直到清單文件中不再列示啞段。ALC/FLUTE接收器可需要添加兩個以上DISCONTINUITY標簽。
[0037]在一個實施例中,例如對于DASH ISO FF文件,提出例如創建具有啞內容的新的基于ISOFF的媒體段。接收器例如對HLS確定待創建媒體段的URI。如果接收器已經接收下一個媒體段(例如,如果單個媒體段缺失),則接收器從下一個媒體段的tfdt盒減去來自最后正確接收的媒體段的tfdt盒的值,來確定實際所需媒體段持續時間。接收器按照幀速率描述來生成多個空幀。實際幀包含空數據,使得解碼器忽略該幀,但是保持解碼時間線。
[0038]如果多個媒體段缺失,則接收器可創建具有缺省媒體段持續時間的新ISOFF媒體段。在正確接收一個媒體段時,接收器可修改最后一個啞媒體段,以調整段持續時間。
[0039]圖4更詳細地示出示范流播系統的框圖。為了提供與先前附圖的一致性,具有基本上相似或兼容的功能的實體具有相似參考標號。該系統包括=MBMS客戶端應用,其由客戶端裝置11所包含;以及媒體服務器12,其實現為廣播多播服務中心(BM-SC),其能夠被看作是負責向多個用戶應用提供流播服務的功能實體。客戶端裝置11可能是通過無線電接口與網絡側的網關進行通信的移動用戶裝置。客戶端裝置可包括文件接收器112,其包括FLUTE接收器和(RAPTOR)(前向糾錯(FEC))解碼器。文件接收器112從媒體服務器12接收視頻數據分組(例如,通過H.248 MP和AAC,以每秒800千位的示范速率),并且生成將要存儲在文件系統113的媒體段或文件。實現為視頻播放器的媒體播放器111從文件系統相繼取出媒體文件供播出,如前面所述。此外,可提供接收報告單元114,其從與源塊差錯(其可能通過在FLUTE接收器評估分組差錯率的統計GUI來生成)有關的信息來生成接收報告。這類報告可按照面向連接的方式(例如通過HTTP)又提供回給媒體服務器。服務器12可包括:文件分區電路121,用于分段所接收媒體數據的媒體流;(FEC)編碼器122,用于生成媒體段;以及FLUT發送器,用于向FLUE接收器發送對應視頻分組。
【權利要求】
1.一種用于向媒體播放器(111)提供媒體段(21,22,23)序列以便相繼取出的方法,其中所述媒體段從媒體接收器(112)處接收的數據分組來生成,所述媒體接收器(112)執行下列步驟: -檢測某個媒體段(22)無法從所接收數據分組來恢復, -生成要由所述媒體播放器取出的替代媒體段(22’ )以代替所述某個媒體段。
2.如權利要求1所述的方法,還包括得到將要插入替代媒體段(22’)的內容替代數據供在所述媒體播放器播出,其中所述替代數據是預定義的和/或保持為存儲的、例如無效幀,或者從先前恢復的一個或多個媒體段來計算。
3.如權利要求2所述的方法,其中,所述替代媒體段(22’)還包括控制替代信息,所述控制替代信息包含用于所述內容替代數據的播出的解碼和播放時間相關信息,其中所述媒體接收器: -基于一個或多個先前解碼的媒體段(21)來確定所述控制替代信息,以及 -將所述控制替代信息連同所述內容替代數據一起插入所述替代媒體段(22’)中。
4.如權利要求1或者如以上權利要求中的任一項所述的方法,還包括確定時間增量,通過將增量加入所恢復媒體段的時間戳來生成新的時間值戳,并且將所述新的時間戳插入所述替代媒體段(22’)中。
5.如權利要 求1或者如以上權利要求中的任一項所述的方法,還包括實現所恢復媒體段的計數器值和/或序列號,并且將遞增計數器值和/或序列號插入所述替代媒體段(22’)中。
6.如權利要求1或者如以上權利要求中的任一項所述的方法,其中,所述接收器將一定量的內容替代數據插入所述替代媒體段中,使得所述替代媒體段(22’ )的持續時間對應于將要由所述替代媒體段(22’ )所替換的不可恢復媒體段(22)的計算和/或預計持續時間。
7.如以上權利要求中的任一項所述的方法,其中,所述媒體播放器將具有替代數據的一個或多個幀插入所述替代媒體段(22’)中。
8.如以上權利要求中的任一項所述的方法,還包括: -在接收一個或多個不可恢復媒體段(22)之后恢復另一媒體段(23),以及 -從所述不可恢復媒體段(22)前面的媒體段(21)和所述另一媒體段(23)的定時信息來確定所述媒體段持續時間,例如計算所述另一媒體段(23)中指示的時間值減去所述不可恢復媒體段(21)前面的所述媒體段的時間值之間的時間差。
9.如權利要求1或者如以上權利要求中的任一項所述的方法,其中,在多個連續媒體段尚未恢復或者缺失的情況下,所述媒體接收器執行: -創建具有缺省媒體段持續時間的多個對應替代媒體段,以及 -在多個媒體段之后的第一正確接收時,例如通過插入對應數量的無效幀,將另一替代媒體段修改成跟隨所述多個連續替代段,以調整所述段持續時間,使得所述替代媒體段的持續時間適合不可恢復或缺失媒體段。
10.如權利要求1或者如以上權利要求中的任一項所述的方法,其中,所述媒體接收器(112)例如通過發送已更新清單文件,向所述媒體播放器(111)提供信息,用于通知所述媒體播放器關于一個或多個不可恢復媒體段。
11.如以上權利要求中的任一項所述的方法,其中,所述信息包含重置時間戳和/或將下一個有效媒體段看作是所述流的第一段的請求。
12.如權利要求1或者如以上權利要求中的任一項所述的方法,其中,所述媒體接收器(112)和所述媒體播放器(111)通過HTTP協議進行通信。
13.如以上權利要求中的任一項所述的方法,其中,所述媒體播放器(111)通過向所述媒體接收器發送HTTP請求以接收包含所述媒體段的對應HTTP響應,來取出媒體段,所述HTTP請求包含按照先前所接收的清單文件的URL地址。
14.如以上權利要求中的任一項所述的方法,其中,所述媒體接收器(112)接收由媒體服務器(12)所廣播或單播的媒體數據分組,并且基于所接收數據分組來生成所述媒體段。
15.一種適合于向媒體播放器(111)提供媒體段(21,22,23)序列供播出媒體流的接收器裝置(11,112),包括 -接收器(1123),適合于接收關聯到所述媒體流的數據分組, -生成器(1121,1122),適合于生成將要由所述媒體播放器相繼取出的多個媒體段(21,22,23), 其中所述生成器還 適合檢測某個媒體段(22)無法從所接收數據分組來恢復,并且用于生成將要由所述媒體播放器取出的替代媒體段(22’ )以代替所述某個媒體段。
16.如以上權利要求中的任一項所述的接收器裝置,包括替代生成器(1121),其適合生成供所述媒體播放器播出的內容替代數據以及包含用于所述內容替代數據的播出的解碼和播放時間相關信息的控制替代數據。
17.如以上權利要求中的任一項所述的接收器裝置,還適合從一個或多個先前解碼的媒體段(21)來確定所述控制替代數據,并且將所述控制替代數據連同所述內容替代數據一起插入所述替代媒體段(22’)中。
18.—種可加載到關聯到接收器裝置的處理單元的計算機程序,所述計算機程序包括適合執行如以上權利要求1-14中的任一項所述的方法的代碼。
【文檔編號】H04N21/2343GK104041061SQ201280049762
【公開日】2014年9月10日 申請日期:2012年8月10日 優先權日:2011年8月10日
【發明者】T.洛馬, 陳琨, 李健 申請人:瑞典愛立信有限公司