媒体流处置的制作方法
【专利摘要】本发明涉及:向媒体播放器(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.洛马, 陈琨, 李健 申请人:瑞典爱立信有限公司