用于提供特技播放服务的方法和装置的制作方法

文档序号:7915607阅读:146来源:国知局
专利名称:用于提供特技播放服务的方法和装置的制作方法
技术领域
与示范性实施例一致的装置和方法涉及一种用于提供特技播放(trick play)服务的方法和装置,且更具体地,涉及一种用于在超文本传输协议(HTTP)适应的流传输(HAS)架构中提供特技播放服务的方法和装置,HAS架构用于根据流环境的变化来适应地流传输媒体数据。
背景技术
通过网络发送媒体数据的方法的例子包括下载方法和流方法。在流方法中,服务器实时地发送媒体数据,而客户端实时地再现所接收的媒体数据。在下载方法中,客户端是在从服务器完全地接收媒体数据之后才再现媒体数据。

根据流方法,通过在服务器和客户端之间建立的逻辑信道来实时地发送、接收和播放媒体数据。

发明内容
解决方案—个或多个不范性实施例提供了 一种用于在超文本传输协议(HTTP)适应的流传输(HAS)架构中提供特技播放服务的方法和装置,HAS架构用于根据流环境的变化来适应地流传输媒体数据;及一种计算机可读记录媒介,在上面记录了用于执行所述方法的计算机程序。有益效果根据示范性实施例,可以在HTTP适应的流传输(HAS)架构中提供特技播放服务,HAS架构用于根据流环境的变化来适应地流传输媒体数据。因为服务器120与正常速度播放的数据分离地提供特技播放数据,所以客户端130可以在正常速度播放模式和特技播放模式之间有效地变换播放速度。在通过使用多流(multiple stream)来提供特技播放服务的方法中,因为服务器120提供对应于各种特技播放速度的特技播放数据,所以客户端130可以有效地变换特技播放速度。在通过使用帧范围询问来提供特技播放服务的方法和通过使用虚拟流来提供特技播放服务的方法中,因为服务器120只保留对应于2x特技播放速度的特技播放数据,所以可以节约存储器空间且可以提供各种特技播放速度的特技播放服务。在通过使用具有分层结构的多流来提供特技播放服务的方法中,因为预定的特技级中包括的帧不重复存在于另一特技级中,所以可以节约存储器空间且可以以各种特技播放速度提供特技播放服务。同样,因为考虑诸如网络带宽的特技播放环境而从高特技级到低特技级逐渐地执行特技播放,所以可以适应于特技播放环境而提供特技播放服务。在通过改变帧率来提供特技播放服务的方法中,因为服务器120除了关于最大特技播放速度的信息之外,还向客户端130提供关于帧率和帧类型的信息,所以可以不解析从服务器120发送的整个特技播放数据而向客户端130提供关于帧率和帧类型的信息,且客户端130可以通过仅仅变换所提供的帧率来有效地以各种特技播放速度提供特技播放服务。


通过参照附图来详细描述示范性实施例,以上和/或其它方面将变得更加明了,其中图I是依据示范性实施例的用于提供特技播放服务的系统的框图;图2是依据示范性实施例的提供特技播放服务的方法的流程图;图3是示出依据示范性实施例的特技播放数据的图;图4是示出依据示范性实施例的、包含用于识别特技播放数据的类型信息的媒体 呈现描述(MPD)的图;图5是依据示范性实施例的、包括I巾贞(intra(I)-frame内部巾贞)的、用于以2的倍数为单位的特技播放的特技播放数据的结构图。图6是用于描述依据示范性实施例的、通过使用多流来提供特技播放服务的方法的图;图7和8是示出依据示范性实施例的、通过使用多流来提供特技播放服务的方法的MPD的图;图9是用于描述依据示范性实施例的、通过使用帧范围询问来提供特技播放服务的方法的图;图10是依据示范性实施例的、用于执行通过使用帧范围询问来提供特技播放服务的方法的MP4文件的结构图;图11是用于描述依据示范性实施例的、通过使用虚拟流来提供特技播放服务的方法的图;图12A是用于描述依据示范性实施例的、通过使用具有分层结构并包括内部帧的多流来提供特技播放服务的方法的图;图12B是用于描述依据示范性实施例的、通过使用具有分层结构并包括内部帧和中间帧的多流来提供特技播放服务的方法的图;图13是用于描述依据示范性实施例的、在服务器通过使用具有分层结构的多流来提供特技播放服务的方法的图;图14是用于描述依据示范性实施例的、在客户端通过使用具有分层结构的多流来提供特技播放服务的方法的图;图15和16A是依据示范性实施例的、示出通过使用具有分层结构的多流来提供特技播放服务的方法的MPD的图;图16B是示出依据示范性实施例的、通过使用具有分层结构的多流来提供特技播放服务的方法的、用于识别特技级和帧率的MPD的图;图17是依据示范性实施例的、用于从运动图像专家组(MPEG) TS中检测I帧的传输流(TS)包的结构图;图18是用于描述依据示范性实施例的、形成用于从MPEG TS中检测I帧的TS包的方法的图;图19是依据示范性实施例的从MPEG TS中检测I帧的方法的流程图;图20是依据示范性实施例的、用于从MPEG TS检测I帧的MP4文件的结构图;图21是用于描述依据示范性实施例的、通过变换帧率来提供特技播放服务的方法的概念图;图22是用于描述依据示范性实施例的、在服务器和客户端通过改变帧率来提供特技播放服务的方法的图;图23是依据示范性实施例的、通过变换帧率来提供特技播放服务的方法的MPD的图式;图24是示出依据示范性实施例的、通过变换帧率来提供特技播放服务的方法的 MPD的图;图25是依据示范性实施例的服务器的框图;以及图26是依据示范性实施例的客户端的框图。
具体实施例方式根据示范性实施例的一方面,提供了一种在服务器的提供特技播放服务的方法,该方法包括产生包含关于至少一片特技播放数据(one piece of trick play data)的信息的媒体呈现描述(MPD)文件;向客户端发送该MPD文件;并响应于客户端基于MPD文件的请求,向客户端发送所述至少一片特技播放数据。所述MPD文件可以包含识别所述至少一片特技播放数据是用于特技播放的数据的类型信息。可以基于最大特技播放速度来确定所述至少一片特技播放数据的数目,且所述至少一片特技播放数据可以包括一个或多个片段,通过将媒体内容以预定比特率编码成与预定特技播放速度对应的帧并基于时间划分已编码的帧来产生所述片段。所述Mro文件可以包含关于所述预定的特技播放速度的信息,及关于基于时间来划分并产生的、要以预定的特技播放速度来专门播放的所述一个或多个片段的统一资源定位符(URL)的信息。所述MPD文件可以包含关于与2x特技播放速度对应的特技播放数据(物理地存在于服务器中)的信息,及关于与2x之外的播放速度对应的至少一片特技播放数据(虚拟地存在于服务器中)的信息,且所述方法还可以包括在客户端基于所述MPD文件的请求下,从与2x特技播放速度对应的特技播放数据提取与2x之外的播放速度对应的至少一片特技播放数据。可以通过基于包括帧位置和尺寸的索引文件使用公共网关接口(CGI)程序来执行与2x之外的播放速度对应的所述至少一片特技播放数据的提取。可以基于特技级的最大深度来确定所述至少一片特技播放数据的数目,所述至少一片特技播放数据可以包括一个或多个片段,通过以预定的比特率将媒体内容编码成对应于预定特技级的帧并基于时间划分已编码的帧来产生所述一个或多个片段,该预定的特技级可以对应于分层结构且可以是基于特技级的最大深度的至少一个特技级之一,可以基于最大特技播放速度来确定特技级的最大深度,且预定特技级中包括的帧可以不在另一特技级重复存在。所述MPD文件可以包含关于所述预定的特技级的信息,及关于基于时间划分并产生的并对应于预定的特技级的一个或多个片段的URL的信息,且可以使用基于时间划分并产生的一个或多个片段将所述预定的特技级描述为包含关于至少一种特技播放速度的信
肩、O所述MPD文件还可以包含关于帧率、帧类型和最大特技播放速度中至少一者的信息,帧率可以指示在客户端每秒要播放的帧数,而帧类型可以指示所述至少一片特技播放数据是仅包括内部帧还是包含内部帧和中间帧。根据另一示范性实施例的一方面,提供了一种在客户端提供特技播放服务的方法,该方法包括接收包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;并基于该MPD文件从服务器接收该至少一片特技播放数据。 所述MPD文件可以包含识别所述至少一片特技播放数据是用于特技播放的数据的类型信息。可以基于最大特技播放速度来确定所述至少一片特技播放数据的数目,且所述至少一片特技播放数据可以包括一个或多个片段,通过以预定比特率将媒体内容编码成与预定特技播放速度对应的帧并基于时间划分已编码的帧来产生所述片段。所述Mro文件可以包含关于所述预定的特技播放速度的信息,及关于基于时间来划分并产生的、要以预定的特技播放速度来专门播放的所述一个或多个片段的统一资源定位符(URL)的信息。所述MPD文件可以包含关于与2x特技播放速度对应的特技播放数据(物理地存在于服务器中)的信息,及关于与2x之外的播放速度对应的至少一片特技播放数据(虚拟地存在于服务器中)的信息,且从服务器接收所述至少一片特技播放数据的步骤可以包括从服务器接收与2x之外的播放速度对应的至少一片特技播放数据,其在服务器响应于客户端基于所述MPD文件的请求而从与2x特技播放速度对应的特技播放数据中被提取。在服务器可以通过使用基于包括帧位置和尺寸的索引文件的公共网关接口(CGI)程序来从与2x特技播放速度对应的特技播放数据提取与2x之外的播放速度对应的所述至少一片特技播放数据。可以基于特技级的最大深度来确定所述至少一片特技播放数据的数目,所述至少一片特技播放数据可以包括一个或多个片段,通过以预定的比特率将媒体内容编码成对应于预定特技级的帧并基于时间划分已编码的帧来产生所述一个或多个片段,该预定的特技级可以对应于分层结构且可以是基于特技级的最大深度的至少一个特技级之一,可以基于最大特技播放速度来确定特技级的最大深度,且预定特技级中包括的帧可以在另一特技级中不重复存在。所述MPD文件可以包含关于所述预定的特技级的信息,及关于基于时间划分并产生的并对应于预定的特技级的一个或多个片段的URL的信息,且可以将所述预定的特技级描述为使用基于时间划分并产生的多个片段来包含关于至少一种特技播放速度的信息。从服务器接收所述至少一片特技播放数据的步骤可以包括为了支持基于客户端的请求的预定特技播放速度,从服务器接收与每一特技级对应的至少一片特技播放数据。所述方法还可以包括将所述至少一片特技播放数据再排列成播放时间的顺序。
所述MPD文件还可以包含关于帧率、帧类型和最大特技播放速度中至少一者的信息,帧率可以指示在客户端每秒要播放的帧数,而帧类型可以指示所述至少一片特技播放数据是仅包括内部巾贞还是包括内部巾贞和中间中贞。所述方法还可以包括将帧率变换成与所述预定的特技播放速度对应的每秒的帧数。所述方法还可以包括基于帧率来播放所述至少一片特技播放数据。根据另一示范性实施例的一方面,提供一种计算机可读记录媒介,在上面记录了用于执行上面的方法的计算机程序。根据另一不范性实施例的一方面,提供了一种服务器,包括信息产生单兀,产生包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;信息发送单元,向客户端发送所述MPD文件;及特技播放数据发送单元,响应于客户端基于所述MPD文件的请 求,向客户端发送所述至少一片特技播放数据。根据另一示范性实施例的一方面,提供了一种客户端,包括信息接收单元,接收包含关于所述至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;及特技播放数据接收单元,基于所述MPD文件从服务器接收所述至少一片特技播放数据。根据另一示范性实施例的方面,提供了一种在编码器提供特技播放服务的方法,该方法包括根据与媒体呈现描述(MPD)文件中包含的信息对应的预定的产生方法从媒体内容产生至少一片特技播放数据,MPD文件被发送至客户端且客户端基于其来请求所述至少一片特技播放数据。根据另一不范性实施例的一方面,提供了一种系统,包括编码器,从媒体内容产生至少一片特技播放数据;及服务器,其包括信息产生单元,产生包含关于所述至少一片特技播放数据的信息的媒体呈现描述(MPD)文件,信息发送单元,向客户端发送所述MPD文件,及特技播放数据发送单元,响应于客户端基于所述MPD文件的请求,向客户端发送所述至少一片特技播放数据。在下文中,将参照附图详细描述示范性实施例。在所述图中,相似的参考数字表示相似的元件且为了说明的清楚性,可以夸大元件的尺寸或厚度。诸如“……中至少一者”的表达当位于一列元素之后时,修饰的是整列元素,而不是修饰该列的单个元素。图I是依据示范性实施例的用于提供特技播放服务的系统100的框图。参照图1,系统100包括编码器110、服务器120和客户端130。编码器110通过在预定比特率将输入媒体内容编码成帧来产生特技播放数据。当产生特技播放数据时,编码器110可以通过使用仅仅内部帧或使用内部帧和中间帧来编码媒体内容。内部(I)帧是通过使用仅仅对应帧的信息来编码成的帧。中间帧是使用对应帧和其它帧的信息来编码成的帧,且包括预测(P)帧和双向(B)帧。编码器110在播放开始点通过使用I帧来编码特技播放数据。虽然可以理解,可以通过使用任何比特率来编码特技播放数据,但是可以以低比特率来编码特技播放数据。特技播放数据指特技播放轨道或特技播放流。特技播放数据提供“快进”和“快退”操作性能中至少一个。编码器110可以包含于服务器120之内或可以物理地与服务器120分离。编码器110可以通过使用相同的媒体内容来产生至少一片特技播放数据,且根据提供特技播放服务的各个方法,所产生的特技播放数据的片数可以变化。例如,在依据示范性实施例的、通过使用多流来提供特技播放服务的方法中,可以基于最大特技播放速度来确定特技播放数据的片数。在这种情况下,如果最大特技播放速度是16x且以2的倍数的单位来提供特技播放服务,则该特技播放数据的片数是4且该特技播放数据包括一片与2x特技播放速度对应的特技播放数据、一片与4x特技播放速度对应的特技播放数据、一片与8x特技播放速度对应的特技播放数据和一片与16x特技播放速度对应的特技播放数据。以下多流指至少一片特技播放数据。在依据示范性实施例的、通过使用帧范围询问来提供特技播放服务的方法中,特技播放数据可以是一片与2x特技播放速度对应的特技播放数据。一旦客户端130请求从服务器120接收包括帧位置和尺寸的索引文件,就从与2x特技播放速度对应的特技播放数据中提取与2x之外的播放速度对应的特技播放数据。
在依据示范性实施例的、通过使用虚拟流来提供特技播放服务的方法中,特技播放数据可以是一片与2x特技播放速度对应的特技播放数据。响应于客户端130的请求,通过使用服务器120的基于包括帧位置和尺寸的索引文件的公共网关接口(CGI)程序,从与2x特技播放速度对应的特技播放数据中提取与2x之外的播放速度对应的特技播放数据。以下虚拟流指至少一片与2x之外的播放速度对应的特技播放数据。在依据示范性实施例的、通过使用具有分层结构的多流来提供特技播放服务的方法中,可以基于特技级的最大深度来确定特技播放数据的片数。基于最大特技播放速度来确定特技级的最大深度。例如,如果最大特技播放速度是16x且以2的倍数的单位来提供特技播放服务,则特技级的最大深度是4且特技播放数据的片数是4。特技播放数据的四片对应于特技级TL1、TL2、TL3和TL4。以下,具有分层结构的多流指与每一特技级对应的至少一片特技播放数据。在依据示范性实施例的、通过变换帧率来提供特技播放服务的方法中,特技播放数据可以是一片与2x特技播放速度对应的特技播放数据。在客户端130可以通过变换与2x特技播放速度对应的特技播放数据的帧率来支持2x之外的播放速度。将参照图5到24来详细描述以上五种提供特技播放服务的示范性方法。服务器120从编码器110接收至少一片特技播放数据,和在这种情况下的关于特技播放数据的信息。虽然可以理解另一示范性实施例不限于此,且可以使用任何方法来描述关于特技播放数据的信息,但是可以将关于特技播放数据的信息描述为媒体呈现描述(MPD)文件。所述关于特技播放数据的信息可以包括,例如特技播放数据的比特率、标识符、统一资源定位符(URL)模板等中至少一者,且将在下面参照图4来详细描述。客户端130从服务器120接收包含关于特技播放数据的信息的MPD文件,并基于该MPD文件向服务器120请求至少一片特技播放数据。在通过使用多流来提供特技播放服务的方法中,客户端130从至少一片特技播放数据中请求与所要求的特技播放速度对应的一片特技播放数据。在通过使用帧范围询问来提供特技播放服务的方法中,客户端130参考可以包含于所述MPD文件中的索引文件的URL来接收该索引文件,并基于该索引文件来请求包括与所要求的特技播放速度对应的帧的特技播放数据。在通过使用虚拟流来提供特技播放服务的方法中,客户端130从至少一片虚拟特技播放数据中请求与所要求的特技播放速度对应的一片虚拟特技播放数据。在通过使用具有分层结构的多流来提供特技播放服务的方法中,为了支持所要求的特技播放速度,客户端130请求与每一特技级对应的至少一片特技播放数据。下面将参照图12A到16B来详细描述与特技级对应的且支持所要求的特技播放速度的特技级的数目和特技播放数据的片数。在通过变换帧率来提供特技播放服务的方法中,客户端130请求与默认的播放速度(例如2x)对应的一片特技播放数据。客户端130可以通过变换帧率来支持该默认的播放速度之外的播放速度。如果客户端130请求服务器120发送至少一片特技播放数据,则服务器120向客 户端130发送所请求的特技播放数据。可以通过使用超文本传输协议(HTTP)来请求并发送所述MPD文件和所述特技播
特技播放数据可以以预定的比特率将媒体内容编码成与预定特技播放速度对应的帧,且可以包括基于时间来划分并产生的多个片段的至少一个。也就是,作为由编码器110执行的编码的结果而产生的特技播放数据可以包括基于时间划分的至少一个片段。月艮务器120可以将所述媒体内容划分成多个片段以分别地发送所述片段,而不是将所述媒体内容编码成一个流以连续地发送该流。可以以诸如10秒或20秒的预定的时间的单位来划分所述媒体内容,且如此可以产生出至少一个片段。可以基于图片组(GOP)来设置用于划分的时间。与一个或多个GOP的图片对应的媒体数据可以被设置成一个片段。因为基于时间来划分特技播放数据,所以可以更加有效地提供特技播放服务。例如,当开始流传输时,服务器120发送2x特技播放数据的与从O秒到20秒的时间对应的片段。然后,如果20秒后客户端130请求4x特技播放数据,则服务器120可以发送4x特技播放数据的与从20秒到40秒的时间对应的片段。因为基于时间将特技播放数据划分成多个片段,所以即使在执行特技播放流传输的同时,一旦客户端130请求,也可以发送不同特技播放数据的片段。根据示范性实施例,可以在用于根据流环境的变化来适应地流传输媒体数据的HTTP适应的流传输(HAS)架构中提供特技播放服务。因为服务器120从正常速度播放数据分离地提供特技播放数据,所以客户端130可以在正常速度播放模式和特技播放模式之间有效地变换播放速度。在通过使用多流来提供特技播放服务的方法中,因为服务器120提供与各种特技播放速度对应的特技播放数据,所以客户端130可以有效地变换特技播放速度。在通过使用帧范围询问来提供特技播放服务的方法和通过使用虚拟流来提供特技播放服务的方法中,因为服务器120仅保留与2x特技播放速度对应的特技播放数据,所以可以节约存储器空间且可以以各种特技播放速度提供特技播放服务。在通过使用具有分层结构的多流来提供特技播放服务的方法中,因为预定的特技级中包括的帧不重复存在于另一特技级中,所以可以节约存储器空间且可以以各种特技播放速度提供特技播放服务。同样,因为考虑诸如网络带宽的特技播放环境而从高特技级到低特技级逐渐地执行特技播放,所以可以适应于特技播放环境而提供特技播放服务。在通过变换帧率来提供特技播放服务的方法中,因为服务器120除了关于最大特技播放速度的信息之外,还向客户端130提供关于帧率和帧类型的信息,所以可以不解析从服务器120发送的整个特技播放数据而向客户端130提供关于帧率和帧类型的信息,且客户端130可以通过仅仅变换所提供的帧率来有效地以各种特技播放速度提供特技播放服务。图2是依据示范性实施例的提供特技播放服务的方法的流程图。参照图2,在操作230中,服务器210产生包含关于至少一片特技播放数据的信息的MPD文件。该关于特技播放数据的信息可以包括,例如特技播放数据的比特率、类型、标识符、URL模板等等中至少一者。在操作240中,客户端220向服务器210请求包含关于特技播放数据的信息的MPD文件,并从服务器210接收所请求的MPD文件。在操作250中,客户端220请求服务器210发送至少一片所述特技播放数据。客户端220参考包含关于特技播放数据的信息的所述MPD文件来选择与所要求的特技播放速度 对应的至少一片特技播放数据,向服务器210请求所选择的特技播放数据,并从服务器210接收所请求的特技播放数据。可以通过使用HTTP来请求并发送所述MPD文件和所述特技播放数据,虽然可以理解,另一示范性实施例不限于此,且可以使用另一协议。图3是示出依据示范性实施例的特技播放数据的图。参照图3,服务器120可以包括通过以多个不同比特率编码媒体内容而产生的多片媒体数据310和320。如图示,服务器120还包括至少一片特技播放数据330。例如,"TrackN (轨道N)”可以指特技播放数据330。同样,特技播放数据330可以包括通过基于时间来划分特技播放数据330而产生的至少一个片段。在本示范性实施例中,“SliceN-1.as”、“SliceN-2. as” 和 “SliceN-3. as” 指特技播放数据 330 的片段。同样,服务器120可以包含客户端130用于访问特技播放数据330的信息340。例如,信息340可以包括作为关于特技播放数据330的信息的“MainMeta. xml”文件和作为特技播放数据330的首标信息的“HeadN. ref”文件。在图3中,“Headl. ref ”可以指“Trackl(轨道I)”的首标文件而“Head2. ref ”可以指“Track2 (轨道2)”的首标文件。“MainMeta. xml”文件是MPD文件。该MPD文件可以由客户端130基于包含关于所述媒体内容的信息的、依据开放IPTV论坛(OIPF)标准的内容访问描述符(CAD)文件来获得,虽然可以理解另一示范性实施例不限于此。例如,根据另一示范性实施例,客户端130通过直接请求服务器120而不参考CAD文件来获得所述MH)文件。同样,可以理解,例如在首标包含于特技播放数据330中的情况下可以省略“Headl. ref”和“Head2. ref”文件。服务器120可以包括至少一片特技播放数据330且根据提供特技播放服务的各个方法,特技播放数据330的片段相应变化。图4是示出依据示范性实施例的、包含用于识别特技播放数据的类型信息的MPD的图。参照图4,该MPD包括关于特技播放数据的URL的模板标签、用于定义首标的位置的标签和用于定义多片媒体数据和至少一片特技播放数据的轨道标签。“URLTemplate(URL模板)”标签定义特技播放数据的URL信息的公共片段。例如,如果 http: //asexample. com/vod/movies/18888/Tracks/SeR {TrackID} - ISeRmentIDl. as是URL模板,则可以通过将至少一片特技播放数据的标识符和特技播放数据的至少一个片段的标识符替代为“TrackID (轨道ID)”和“SegmentID (片段ID)”来定义特技播放数据的 URL。“RefDataURL (参考数据URL)”标签定义特技播放数据的首标的URL。多个“Track (轨道)”标签用于定义通过编码媒体内容以具有不同比特率质量而产生的多片媒体数据、和至少一片特技播放数据。每一“Track”标签包括“ID”属性、“Type(类型)”属性、“Bitrate (比特率)”属性、“StartTime (开始时间)”属性、“SegmentDuration(片段持续时间)”属性、“SegmentStartID (片段开始ID)”属性和“SegmentCount (片段计数)”属性。在下文中,将基于用于定义特技播放数据的“ Track”标签来描述每一属性。“ID”属性定义该特技播放数据的名称且可以是该特技播放数据的标识符。“Type”属性定义该特技播放数据的类型。关于该特技播放数据,可以将用于从音频数据、视频数 据、音频/视频数据和特技播放数据中识别出该特技播放数据的信息定义为“Type”属性。可以通过使用诸如“I-Frame (I-帧)”和“Trick Play (特技播放)”的各种类型的信息来描述用于识别该特技播放数据的信息。“Bitrate”属性定义该特技播放数据的比特率,“StartTime”属性定义用于指定该特技播放数据的开始时间的时间戳,“SegmentDuration”属性定义该特技播放数据中包括的片段的持续时间,而“SegmentStartID”属性定义最初开始的片段的号码且定义该特技播放数据中包括的至少一个片段的标识符。“SegmentCount”属性定义该特技播放数据中包括的片段的总数。虽然在图4中没有示出,“Segment (片段)”标签是“Track”标签的子标签。如果该特技播放数据包括通过以预定的比特率编码媒体内容并基于时间划分已编码的媒体内容而产生的至少一个片段,则可以定义每一片段。在“5叩1^社”标签中,“1社如111(整型数)”属性定义对应片段的号码,而“5丨&代111116(开始时间)”标签属性定义对应片段的开始时间。另外,“Duration (持续时间)”标签定义对应片段的持续时间,而“url ”标签定义对应片段的URL。可以理解在另一示范性实施例中,例如如果可以从“Track”标签的其它属性中推断出关于该特技播放数据中包括的至少一个片段的信息,则可以省略“Segment”标签。在这种情况下,如果关于该特技播放数据中包括的至少一个片段的信息可以从“Track”标签的 “ StartT ime ”、“ SegmentStart ID,,、“ SegmentDurat ion ” 和 “ SegmentCount,,属性中推断出来,则在MPD中可以不包括“Segment”标签。同样,例如如果在“URLTemplate”标签中定义了预定的模板,且通过用已定义的预定模板替换该特技播放数据的标识符和该特技播放数据中包括的至少一个片段的标识符来推断片段的URL,则可以省略“Segment”标签的“url”属性。图5是依据示范性实施例的、包括I帧的、用于以2的倍数的单位的特技播放的特技播放数据的结构图。参照图5,为了允许通过仅使用该特技播放数据来解码该特技播放数据,该特技播放数据由I帧形成。如果以2的倍数的单位来执行特技播放,则该用于各种特技播放的特技播放数据包括当帧数(或帧率)减半时的与所期望的特技播放速度对应的I帧。
例如,与2x特技播放速度对应的第一特技播放数据510通过每2秒提取一帧作为I帧而形成,而解码器每2秒特技播放与2x特技播放速度对应的一帧。与4x特技播放速度对应的第二特技播放数据520可以通过将与2x特技播放速度对应的特技播放数据510的帧率减半来形成。与8x特技播放速度对应的第三特技播放数据530可以通过将与4x特技播放速度对应的特技播放数据520的帧率减半来形成。与16x特技播放速度对应的第四特技播放数据540可以通过将与8x特技播放速度对应的特技播放数据530的帧率减半来形成。同样,可以通过调节帧率来形成与小数的倍数(例如2. 5x)的特技播放速度对应的特技播放数据。同时,虽然在图5中没有示出,但是也可以通过使用除I帧之外的中间帧来编码特技播放数据。该中间帧可以包括B帧和P帧中至少一者。在这种情况下,可以通过使用至少一个I帧来编码在播放开始时间的特技播放数据。

图6是用于描述依据示范性实施例的、通过使用多流来提供特技播放服务的方法的图。在本示范性实施例中,至少一片特技播放数据支持不同的特技播放速度。参照图 6, “Stream_segment0_2x. ts, Stream_segemntl_2x. ts,...” 是 2x 特技播放数据,uStream_segment0_4x. ts, Stream_segmentl_4x. ts, ...” 是 4x 特技播放数据,"Stream_segment0_8x. ts, Stream_segmentl_8x. ts, ...” 是 8x 特技播放数据,而 “Stream_segment0_16x. ts, Stream_segmentl_16x. ts,…”是16x特技播放数据。在这种情况下,基于最大特技播放速度来确定该特技播放数据的片数。相应地,在图6中该特技播放数据的片段是4。MPD文件包含关于该特技播放数据的信息。客户端130向服务器120请求与所要求的特技播放速度对应的一片特技播放数据。由于该一片特技播放数据包括基于时间划分和产生的至少一个片段,所以客户端130根据时间流从服务器120接收该对应特技播放数据的至少一个片段。图7和8是示出依据示范性实施例的、通过使用多流来提供特技播放服务的方法的MPD的图。在本示范性实施例中,仍可以用“AlternatePlayoutRate (可替换播放速度)”属性来定义与特技播放数据对应的特技播放速度,虽然可以理解该属性的名称可以改变。参照图7 和 8, “〈AlternatePlayoutRate>2〈/AlternatePlayoutRate>”指示对应的特技播放数据是2x 特技播放数据。“<AlternatePlayoutRate>4〈/AlternatePlayoutRate〉”指示对应的特技播放数据是4x特技播放数据。图9是用于描述依据示范性实施例的、通过使用帧范围询问来提供特技播放服务的方法的图。参照图9,在通过使用帧范围询问来提供特技播放服务的方法中,服务器120包括与2x特技播放速度对应的一片特技播放数据、和包括帧位置和尺寸的索引文件。客户端130可以参考包含于MPD文件中的该索引文件的URL来从服务器120接收该索引文件。客户端130从服务器120接收该索引文件并通过使用该索引文件来请求包括与所要求的特技播放速度对应的帧的特技播放数据。客户端130通过向服务器120发送包含要请求的帧的位置和尺寸的HTTP范围询问(或HTTP范围请求)来请求包括与所要求的特技播放速度对应的帧的特技播放数据。在HTTP的“Content Range (内容范围)”字段描述该帧的位置,而在HTTP的“Content Length (内容长度)”字段描述该帧的尺寸。服务器120基于包括帧位置和尺寸的HTTP范围询问来形成作为特技播放数据的帧,并通过使用HTTP范围响应(或HTTP部分响应)来向客户端130发送对应的特技播放数据。虽然在本示范性实施例中,通过使用HTTP来识别并发送所述帧,但是可以理解,另一示范性实施例不限于此,且可以使用另一协议。图10是依据示范性实施例的、用于执行通过使用帧范围询问来提供特技播放服务的方法的MP4文件的结构图。MP4文件是国际标准化组织/国际电工技术委员会联合技术委员会I (IS0/IECJTC I)的运动图像专家组(MPEG) -4第14部分的视频压缩编码标准文件,且也被称作MP4 容器。MP4文件的默认扩展名是“.mp4”。参照图10,MP4文件中每一片特技播放数据对应于该MP4文件的一个轨道。每一轨道的“trak”盒包括该特技播放数据的元数据。服务器120可以包括与2x特技播放速度对应的一片特技播放数据和与正常播放速度对应的媒体数据。基于时间划分并产生的每一片段包括“moof (Movie Fragment电影碎片)”盒和“mdat (media data媒体数据)”盒。“moof”盒包含片段的元数据而“mdat”盒包含与该片段对应的媒体内容。客户端130 通过使用该 MP4 文件的“Trak(container for an individual trackor stream单个轨道或流容器)”盒或“Traf (track reference container轨道参考容器)”盒来描述与所要求的特技播放速度对应的帧的位置信息,并请求包括与所期望的特技播放速度对应的帧的特技播放数据。可以通过使用HTTP来识别并发送所述帧,虽然可以理解另一示范性实施例不限于此而可以使用另一协议。图11是用于描述依据示范性实施例的、通过使用虚拟流来提供特技播放服务的方法的图。参照图11,在通过使用虚拟流来提供特技播放服务的方法中,服务器120包括与2x特技播放速度对应的一片特技播放数据,和包含帧的位置和尺寸的索引文件。同样,MPD文件可以包含关于与2x特技播放速度对应的特技播放数据(物理地存在于服务器120中)的信息,和关于与2x之外的播放速度对应的至少一片特技播放数据(虚拟地存在于服务器120中)的信息。客户端130从所述至少一片虚拟的特技播放数据中请求与所期望的特技播放速度对应的一片虚拟特技播放数据(例如Trick_segment0_4x. as)。服务器120通过使用基于包括帧位置和尺寸的索引文件的服务器120的CGI程序,从与2x特技播放速度对应的特技播放数据中提取与2x之外的播放速度对应的特技播放数据。服务器120向客户端130发送所提取的特技播放数据。在本示范性实施例中,在服务器120通过使用基于索引文件的CGI程序来提取所期望的帧,虽然可以理解另一示范性实施例不限于此而可以使用另一程序。图12A是用于描述依据示范性实施例的、通过使用具有分层结构并包括内部帧的多流来提供特技播放服务的方法的图。参照图12A,在通过使用具有分层结构的多流来提供特技播放服务的方法中,基于特技级的最大深度(或特技级的最大数目)来确定特技播放数据的片数。基于最大特技播放速度来确定所述特技级的最大深度。在示范性公式I中,将Lmax定义为特技级的最大深度,而将Rmax定义为最大特技播放速度数学图I[数学I]Lmax = Iog2(Rmax)例如,如果最大特技播放速度是16x且以2的倍数的单位来提供特技播放服务,则特技级的最大深度是4且特技播放数据的片数是4。该四片特技播放数据对应于特技级TL1、TL2、TL3 和 TL4。与每一特技级对应的特技播放数据对应于每一特技播放速度。但是,包含在与每一特技级对应的特技播放数据中的帧不重复存在于另一特技级中。例如,如果最大特技播放速度是16x,以2的倍数的单位来提供特技播放服务,且通过使用I帧来编码该特技播放数据,则与特技级TL4对应的特技播放数据包括与16x特技播放速度对应的I帧10、18和116,而与特技级TL3对应的特技播放数据包括与16x特技播放速度对应的I帧之外的与8x特技播放速度对应的I帧14和112。与特技级TL2对应的特技播放数据包括与8x特技播放速度对应的I帧之外的与4x特技播放速度对应的I帧12、16、IlO和114。与特技级TLl对应的特技播放数据包括与4x特技播放速度对应的I帧之外的与2x特技播放速度对应的I帧II、13、15、17、19、111、113和115。在示范性公式2中,El,η定义每一特技级的帧索引,η=0,I, 2,"·Ν1,而NI指示该特技播放数据的帧的总数。数学图2[数学2]
权利要求
1.一种在服务器提供特技播放服务的方法,该方法包括 产生包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件; 向客户端发送该MPD文件;以及 响应于客户端基于该MPD文件的请求,向客户端发送所述至少一片特技播放数据。
2.如权利要求I的方法,其中MPD文件包含识别所述至少一片特技播放数据是用于特技播放的数据的类型信息。
3.如权利要求I的方法,其中 基于最大特技播放速度来确定所述至少一片特技播放数据的数目;且所述至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定的特技播放速度对应的帧并基于时间划分已编码的帧来产生的一个或多个片段。
4.如权利要求3的方法,其中MPD文件包含关于预定的特技播放速度和基于时间划分并产生的、要以预定的特技播放速度来专门播放的一个或多个片段的一个或多个统一资源定位符(URL)的信息。
5.如权利要求3的方法,其中 MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;而 帧类型指示该至少一片特技播放数据是包括仅仅内部帧,还是包括内部帧和中间帧。
6.如权利要求I的方法,其中 MPD文件包含关于与预定的特技播放速度对应的、物理地存在于服务器中的特技播放数据的信息,和关于与预定的特技播放速度之外的播放速度对应的、虚拟地存在于服务器中的至少一片特技播放数据的信息;且 该方法还包括响应于客户端基于该MPD文件的请求,从与预定的特技播放速度对应的特技播放数据中提取与预定的特技播放速度之外的播放速度对应的至少一片特技播放数据。
7.如权利要求6的方法,其中预定的特技播放速度是2x特技播放速度。
8.如权利要求6的方法,其中提取与预定的特技播放速度之外的播放速度对应的至少一片特技播放数据的步骤包括使用基于包括帧位置和尺寸的索引文件的公共网关接口(CGI)程序来提取与预定的特技播放速度之外的播放速度对应的至少一片特技播放数据。
9.如权利要求6的方法,其中 MPD文件还包括关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是内部帧和中间帧。
10.如权利要求I的方法,其中 基于特技级的最大深度来确定该至少一片特技播放数据的数目; 该至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定的特技级对应的帧并基于时间划分已编码帧来产生的一个或多个片段; 该预定的特技级与分层的结构对应,且是基于特技级的最大深度的至少一个特技级之 基于最大特技播放速度来确定特技级的最大深度;且该预定的特技级中包括的帧不重复存在于该至少一个特技级中的另一特技级中。
11.如权利要求10的方法,其中 MPD文件包含关于预定的特技级和基于时间划分并产生的且与预定的特技级对应的一个或多个片段的URL的信息;且 使用基于时间来划分并产生的一个或多个片段,该关于预定的特技级的信息包括关于至少一种特技播放速度的信息。
12.如权利要求10的方法,其中 MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是包括内部帧和中间帧。
13.如权利要求I的方法,其中 该至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定特技播放速度对应的帧并基于时间划分已编码的帧来产生的一个或多个片段; 该MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是包括内部帧和中间帧。
14.一种在客户端提供特技播放服务的方法,该方法包括 接收包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;并 基于该MPD文件来从服务器接收该至少一片特技播放数据。
15.如权利要求14的方法,其中MPD文件包含识别该至少一片特技播放数据是用于特技播放的数据的类型信息。
16.如权利要求14的方法,其中 基于最大特技播放速度来确定所述至少一片特技播放数据的数目;且所述至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定的特技播放速度对应的帧并基于时间划分已编码的帧来产生的一个或多个片段。
17.如权利要求16的方法,其中该MPD文件包含关于预定的特技播放速度和基于时间划分并产生的、要以预定的特技播放速度来专门播放的一个或多个片段的一个或多个统一资源定位符(URL)的信息。
18.如权利要求16的方法,其中 该MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 其中帧率指示客户端每秒要播放的帧数;而 帧类型指示该至少一片特技播放数据是包括仅仅内部帧,还是包括内部帧和中间帧。
19.如权利要求14的方法,其中 该MPD文件包含关于与预定的特技播放速度对应的、物理地存在于服务器中的特技播放数据的信息,和关于与预定的特技播放速度之外的播放速度对应的、虚拟地存在于服务器中的至少一片特技播放数据的信息;且 从服务器接收该至少一片特技播放数据的步骤包括从服务器接收与预定的特技播放速度之外的播放速度对应的至少一片特技播放数据,其是由服务器响应于客户端基于该MPD文件的请求而从与预定的特技播放速度对应的特技播放数据中提取出来的。
20.如权利要求19的方法,其中预定的特技播放速度是2x特技播放速度。
21.如权利要求19的方法,其中由服务器使用基于包括帧位置和尺寸的索引文件的公共网关接口(CGI)程序来从与预定的特技播放速度对应的特技播放数据中提取与预定的特技播放速度之外的播放速度对应的至少一片特技播放数据。
22.如权利要求19的方法,其中 MPD文件还包括关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是包括内部帧和中间帧。
23.如权利要求14的方法,其中 基于特技级的最大深度来确定该至少一片特技播放数据的数目; 该至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定的特技级对应的帧并基于时间划分已编码帧来产生的一个或多个片段; 该预定的特技级与分层的结构对应,且是基于特技级的最大深度的至少一个特技级之 基于最大特技播放速度来确定特技级的最大深度;且 该预定的特技级中包括的帧不重复存在于该至少一个特技级中的另一特技级。
24.如权利要求23的方法,其中 该MPD文件包含关于预定的特技级和基于时间划分并产生的且与预定的特技级对应的一个或多个片段的一个或多个URL的信息;且 使用基于时间来划分并产生的一个或多个片段,该关于预定的特技级的信息包括关于至少一种特技播放速度的信息。
25.如权利要求24的方法,其中从服务器接收该至少一片特技播放数据的步骤包括为了支持基于客户端的请求的预定的特技播放速度,从服务器接收与每一特技级对应的至少一片特技播放数据。
26.如权利要求23的方法,还包括按播放时间的顺序重排列该至少一片特技播放数据。
27.如权利要求23的方法,其中 MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是包括内部帧和中间帧。
28.如权利要求14的方法,其中 该至少一片特技播放数据包括通过以预定的比特率将媒体内容编码成与预定特技播放速度对应的帧并基于时间划分已编码的帧来产生的一个或多个片段; 该MPD文件包含关于帧率、帧类型和最大特技播放速度中至少一者的信息; 帧率指示客户端每秒要播放的帧数;且 帧类型指示该至少一片特技播放数据包括仅仅内部帧,还是包括内部帧和中间帧。
29.如权利要求28的方法,还包括将帧率变换成与预定的特技播放速度对应的每秒的帧数。
30.如权利要求28的方法,还包括基于帧率来播放该至少一片特技播放数据。
31.一种服务器,包括 信息产生单元,产生包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件; 信息发送单元,向客户端发送该MPD文件;及 特技播放数据发送单元,响应于客户端基于该MPD文件的请求而向客户端发送该至少一片特技播放数据。
32.—种客户端,包括 信息接收单元,接收包含关于该至少一片特技播放数据的信息的媒体呈现描述(MPD)文件 '及 特技播放数据接收单元,基于该MPD文件而从服务器接收该至少一片特技播放数据。
33.一种在编码器提供特技播放服务的方法,该方法包括 根据预定的产生方法来从媒体内容中产生与媒体呈现描述(MPD)文件中包含的信息对应的至少一片特技播放数据,该MPD文件被发送至客户端且客户端基于其来请求该至少一片特技播放数据。
34.—种系统,包括 编码器,从媒体内容中产生至少一片特技播放数据;及 服务器,其包括 信息产生单元,产生包含关于该至少一片特技播放数据的信息的媒体呈现描述(MPD)文件, 信息发送单元,向客户端发送该MPD文件;和 特技播放数据发送单元,响应于客户端基于该MPD文件的请求而向客户端发送该至少一片特技播放数据。
35.如权利要求34的系统,还包括客户端,客户端包括 信息接收单元,接收包含关于该至少一片特技播放数据的信息的MPD文件;和 特技播放数据接收单元,基于MPD文件来从服务器接收该至少一片特技播放数据。
36.一种计算机可读记录媒介,在上面记录了用于执行权利要求I的方法的计算机程序。
37.一种计算机可读记录媒介,在上面记录了用于执行权利要求14的方法的计算机程序。
38.一种计算机可读记录媒介,在上面记录了用于执行权利要求33的方法的计算机程序。
全文摘要
本发明提供了一种用于在超文本传输协议(HTTP)适应的流传输(HAS)架构中提供特技播放(trick play)服务的方法和装置,该HAS架构用于根据流环境的变化来适应地流传输媒体数据。在服务器的该方法包括产生包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;向客户端发送该MPD文件;并响应于客户端基于该MPD文件的请求,向客户端发送该至少一片特技播放数据。在客户端的该方法包括接收包含关于至少一片特技播放数据的信息的媒体呈现描述(MPD)文件;并接收基于该MPD文件从服务器接收该至少一片特技播放数据。
文档编号H04L12/20GK102859933SQ201080061417
公开日2013年1月2日 申请日期2010年11月12日 优先权日2009年11月13日
发明者权五埙, 河昊振, 张冠华, 崔馨铎, 金善勃, 琴智恩, 任成彬 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1