媒体流处理的制作方法

文档序号:7943056阅读:176来源:国知局
专利名称:媒体流处理的制作方法
技术领域
本发明总体涉及处理和产生包括具有所分配的时间戳的媒体帧在内的媒体流。
背景技术
通过预测可以利用时间和空间冗余,从而使对视频以及其它类型的媒体和多媒体 的紧凑表示成为可能。例如,像素预测是诸如H. 26UH. 263.MPEG-4以及H. 264等视频编码 标准的重要部分。在H. 264中利用了三种像素预测方法,即帧内预测、帧间预测以及双向预 测。帧内预测提供了由当前帧的先前解码像素对当前像素块进行空间预测。帧间预测利用 先前解码的帧中相应但移位的像素块来给出当前像素块的时间预测。双向预测给出两个帧 间预测的加权平均。因此,帧内预测帧不依赖于视频流中的任何先前帧,而帧间预测帧(包 括那些双向预测的帧间预测帧),利用来自视频流中的一个或多个其它参考帧的运动补偿。具有媒体播放器的用户终端仅仅能够在帧内预测帧处开始解码和呈现媒体数据。 为了能够调收(time-in)视频流而没有太长延时,通常周期性地发送帧内预测帧。然而,帧 内预测帧与帧间预测帧相比,在比特的数量上通常更大,从而显著地增加了视频流中的开 销。典型地,视频流的媒体帧及其携带帧的数据包在流中聚集在一起。例如,在系统前 向纠错(FEC)的情况下,携带帧的数据包聚集至不同的FEC块中,并与修复信息一起发送。 在解码顺序下,这样的FEC块应从帧内预测帧开始,从而差错不会在FEC块间传播。这也避 免了较长的调收时间,即FEC调收应与帧内预测帧调收对齐。图1示意了这样的将帧16、22- 、32-;34划分至FEC块10、20、30中。在图中,1222、 1332分别表示FEC块20、30序号2和3的初始帧内预测帧。Pij 16,24,26,34表示FEC块 10,20,30序号i的帧间预测帧j。FEC块20的每个媒体帧2246具有对应的时间戳40,定 义了 FEC块20中媒体的呈现或播放时间调度。目前,对于传统编码序列的平均调收时间是1. 5XFEC块大小。首先,必须等待整 个FEC块,以能够执行FEC解码。每个FEC块具有单个帧内预测帧,还需要平均等待额外的 半个FEC ±夬,以获得帧内预测帧。这是因为在FEC块开始之后进行调收,由于帧间预测帧 的时间预测属性,在后续FEC块的下一个帧内预测帧前,阻止解码器和媒体播放器开始解 码和呈现媒体数据。在图1的上部分,用户终端在帧间预测帧P23和P24之间调收流1。这意味着用户 终端将仅仅接收当前FEC块20的帧间预测帧1^4至&7。因此,用户终端在可以发起媒体播 放之前,必须等待接收到下一 FEC块30的帧内预测帧1332,这在图1的下部分进行了示例 说明。用户终端在可以对包执行解码之前,还需要等待整个FEC块。这是因为FEC块中稍 后的数据包被用于修复较早的包,并且不希望在每次出现可修复的差错时暂停。该图通过 指示调收以及指示在缓存整个FEC块后接着进行播放来对此进行表示。但是,因为用户终 端没有正确接收到FEC块20的先前帧12、P21至P23,因此将不能使用接收到的帧间预测帧 24 至
现在利用当前实施的技术,可以对数据包进行交织。在该情况下,可以将FEC块 10,20的初始帧内预测帧12、22放至FEC块10、20的末尾,这在图2中进行了示意。图2与 图1相比,各个FEC块10、20、30内媒体帧的顺序12-16、22_26、32_36已进行了交换。在与图1中相同的发送顺序下的时间点调收,用户终端现在将接收到帧间预测帧 P21至P23,以及当前FEC块20的帧内预测帧12。因此,FEC块20的一部分是可解码的。然而,该交织将部分调收延时向序列中移动了一小段距离。因此,播放帧12、P21 > P22>P23,就好像调收位于FEC块20的起始。然而,因为没有接收到FEC块20的下四帧P24至 P27,在本例中,将显示帧P23,直至可以播放来自下一 FEC块30的第9帧1332。结果,将P23 的媒体数据显示很长的一段时间,这变得在视觉上对用户没有吸引力。当调收FEC块的末 尾时,该问题将进一步加剧,意味着连续呈现中的延时可以很大,直至FEC块的长度。

发明内容
本发明实施例克服了现有技术配置中的上述以及其它缺点。一般目的在于提供一种媒体帧的流,允许根据不同的呈现时间调度来对媒体帧进 行替换处理。通过由所附专利权利要求所限定的实施例来满足该目的以及其它目的。简要地,实施例涉及产生包括多个媒体帧的流。这些媒体帧中的每一个具有对应 的所分配的缺省时间戳。这些缺省时间戳根据缺省呈现时间调度,定义媒体帧的媒体数据 的呈现时间。对流中多个媒体帧中的至少一部分分配至少一个对应的替换时间戳。这些替 换时间戳根据至少一个替换呈现时间调度,定义媒体帧的媒体数据的替换呈现时间。当将流中的媒体数据组织成不同的帧分组时,尤其是在帧分组中以分层帧发送顺 序来组织媒体帧时,使用替换时间戳尤其具有优势。当在该帧分组中的中间位置调收流时 (即丢失帧分组的至少一个或多个媒体帧),即使不在帧分组的开始调收,替换时间戳也可 以用于实现高效的数据处理。在该情况下,针对所调收的帧分组接收到的媒体帧的替换时 间戳用于确定这些媒体帧的媒体数据的替换呈现时间调度。因此,通过根据替换时间戳而 不是传统的缺省时间戳来执行媒体呈现,可以使由于所丢失的分组的一个或多个媒体帧所 导致的在媒体呈现中的任何间隙的影响降低,或甚至不存在。实施例还涉及用于产生和处理流的媒体帧的设备以及涉及这样的流。


通过结合附图参考下面的描述,可以最佳地理解本实施例及其目的以及优势,其 中,图1示意性地示出了根据现有技术的媒体帧的流的发送和呈现。图2示意性地示出了采用交织媒体帧的媒体帧的流的发送和呈现。图3是示出了根据实施例的产生媒体帧的流的方法的流程图。图4示意性地示出了根据实施例的采用替换时间戳的媒体帧的流的发送和呈现。图5示意性地示出了根据另一实施例的采用替换时间戳的媒体帧的流的发送和 呈现。图6是示出了根据实施例的用于产生媒体帧的流的设备的示意框图。
图7是示出了根据实施例的处理媒体帧的流的方法的流程图。图8是示出了图7中的流处理方法的附加可选步骤的流程图。图9是示出了图7中的流处理方法的附加可选步骤的流程图。图10是示出了图7中的流处理方法的附加可选步骤的流程图。图11是示出了图7中的流处理方法的附加可选步骤的流程图。图12是根据本实施例的用于处理媒体帧的流的设备的示意框图;以及图13是可以在其中实现实施例的无线通信系统的一部分的示意概要图。
具体实施例方式在附图中,对于相应的或相似的元素将采用相同的参考符号。实施例涉及包括携带媒体帧的数据包在内的媒体流的产生以及使用。如现有技术 所知,该媒体帧或更准确地说携带媒体帧的媒体数据的数据包包含所分配的时间戳。在解 码以及呈现或播放期间使用这些时间戳,以定义媒体的呈现或播放顺序和时间。在现有技 术配置中,每个媒体帧具有单个时间戳,定义该媒体帧的媒体的呈现时间。本发明的实施例采取了截然不同的方法,对媒体流中的至少某些媒体帧分配替换 时间戳。作为结果,这些媒体帧中的每一个具有多个所分配的时间戳,定义媒体帧中媒体的 不同的呈现时间。因此,使用根据替换呈现时间调度定义呈现时间的至少一个替换时间戳, 来补充根据缺省呈现时间调度定义呈现时间的传统的缺省时间戳。如以下所公开,诸如媒体播放器、转码器等媒体处理终端可以将媒体流的替换时 间戳用于不同目的。媒体或多媒体数据指可以由内容提供商或服务器提供给媒体播放器来呈现数据 的任何数据。典型的优选示例包括视频数据和/或音频数据。媒体数据还可以是可伸缩视 频数据以及可以被处理并呈现以形成不同场景的富媒体的形式,包括可伸缩矢量图(SVG)。根据本实施例的媒体流包括多个媒体帧,每个媒体帧包括媒体数据。从而,该媒体 帧可以是携带视频数据的视频媒体帧。传统上将视频媒体帧分类为帧内预测帧(I帧)或 帧间预测帧,包括预测帧(P帧)以及双向预测帧(B帧)。媒体帧还可以是携带音频数据的 音频帧。在可伸缩视频数据的情况下,媒体帧可以与可伸缩视频数据的基本层相对应或携 带适用于基本层的附加增强层的数据。传统上,富媒体包括场景或随机访问点,以及所谓的 场景更新。因此,媒体帧还可以携带该场景数据或场景更新数据。图3是示出了根据实施例的产生媒体帧的流的方法的流程图。该方法从步骤Sl 开始,其中,提供多个媒体帧。在步骤Sl中提供帧可以通过从先前已经录入了媒体数据的 可访问媒体存储器取得帧的媒体数据来实现。可选地,从某些其它外部单元接收媒体帧,在 该外部单元中,已经存储、记录或产生了媒体数据。另一种可能性是实际创建媒体数据,诸 如记录视频序列或合成产生媒体数据。对在步骤Sl中提供的媒体帧分别分配了根据缺省呈现时间调度定义媒体帧的媒 体呈现时间的缺省时间戳。该缺省时间戳是分配给媒体帧的传统时间戳并在媒体处理(诸 如对媒体进行解码或呈现)期间使用。通常,媒体帧具有由缺省时间戳规定的所定义的呈 现顺序和时间。如现有技术所知,媒体帧的媒体数据可以装在一个数据包中,或按照发送顺序通常是连续的多个数据包中。在前一种情况下,在媒体帧和数据包之间具有一对一的关系,意 味着可以将对媒体帧分配的缺省时间戳看作被分配给携带媒体帧的数据的数据包,或反之 亦然。在后一种情况下,优选地,对携带媒体帧的数据的全部数据包分配该媒体帧的缺省时 间戳。因此,优选地,与单个媒体帧相关联的全部这些数据包包含相同的缺省时间戳的通 知。下面,将缺省或替换时间戳讨论为被分配给媒体帧。然而,如上所公开,这也涵盖对携 带媒体帧的数据的数据包分配缺省和替换时间戳。在可选的但是优选实施例中,所提供的具有缺省时间戳的媒体帧被组织到多个帧 分组之中。该帧分组包括流的多个媒体帧,优选地,由缺省时间戳定义的多个连续的媒体 帧。与媒体流相关联的在现有技术中所使用的该帧分组的非限定性示例是所谓的前向纠错 编码(FEC)块或组。在视频数据的情况下,该FEC块包括帧内预测帧,其后按照由缺省时间 戳定义的呈现顺序跟着多个帧间预测帧。FEC是一种对数据发送进行差错控制的系统,借助 该系统,在媒体数据中增加冗余,并且接收方可以利用冗余来纠正在数据发送和接收期间 发生的差错。优选地,按照分层帧发送顺序来组织属于帧分组(诸如FEC块)的媒体帧。在该情 况下,优选地,在发送顺序的末尾提供分层顶层帧,而在发送顺序的开始提供分层底层帧。 该帧发送顺序与由所分配的时间戳定义的媒体帧的呈现顺序不同,并且通常并不相关。在 图1所示的现有技术配置中,帧分组20的媒体帧22至沈的发送顺序与帧呈现顺序相符。 然而,在图2中,帧分组20的媒体帧22至沈的发送顺序基本上与由分配给媒体帧22至沈 的缺省时间戳40定义的呈现顺序相反。通常,通过交织实现的该分层帧发送顺序是优选 的,这是因为即使调收发生在FEC块20开始之后的某个位置,该分层帧发送顺序也允许调 收媒体播放器解码和呈现媒体数据22-26的至少一部分。因此,优选的实施方案提供了帧分组中的媒体帧的分层帧发送顺序,其中,最重要 的媒体帧在发送顺序的最后,最不重要的帧在发送顺序的开始。在视频媒体数据和使用FEC 块作为帧分组的情况下,分层的顶层帧(即FEC块的最重要的帧)通常是帧内预测帧。相 应地,分层的底层帧(即FEC块的最不重要的帧)通常是不作为媒体流中任何其它帧间预 测帧的参考帧的任何帧间预测帧。因此,没有其它帧间预测帧是基于这些最不重要的媒体 帧来进行预测的。作为结果,分层帧发送顺序优选地包括帧内预测帧在末尾,前面是用作 媒体流中至少一个其它帧间预测帧的参考帧的任何其它帧间预测帧,不作为媒体流中的任 何其它帧间预测帧的参考帧的任何帧间预测帧在发送顺序的开始。在可伸缩视频媒体的情况下,分层顶层帧可以是携带基本层的媒体数据的媒体 帧。分层上较不重要的帧可以是携带附加增强层的媒体帧。因此,这些较不重要的媒体帧 中的每一个提高了媒体流的帧率。上述给出的优选示例示出了通过将媒体帧的发送顺序与缺省呈现顺序基本反向 的反向交织。然而实施例不局限于该反向交织,任何类型的发送顺序以及交织都可以使用。 举例而言,如果在帧分组期间存在场景变化,在帧分组中可以提供一个以上帧内预测帧。在 该情况下,对于帧分组,可以将多个帧内预测帧放置在发送顺序的末尾。可选地,在呈现顺 序中,可以将帧内预测帧放置在场景之后。图1中的流产生方法的下一步骤S3对流中的至少一部分媒体帧的每个媒体帧分 别确定替换时间戳。这些替换时间戳根据替换呈现时间调度定义媒体帧的媒体替换呈现时间。因此,至少一部分媒体流具有至少两组根据不同呈现时间调度的时间戳。在步骤S3的实施例中,将替换时间戳确定为相对于分配给媒体帧的缺省时间戳 的对应的时间偏移。可选地,在步骤S3中,可以将替换时间戳确定为相对于另一媒体帧(尤 其是同一帧分组中的另一媒体帧)的呈现时间的对应的时间偏移。图4示出了该概念。在 图中,当前媒体分组20的每个媒体帧22至沈包括根据缺省呈现时间调度定义帧分组中的 媒体的呈现时间的对应的缺省时间戳40。媒体帧22至沈也包括对应的时间戳50。这些 替换时间戳50被定义为相对于根据分层帧发送顺序的帧分组20的第一媒体帧沈的时间 偏移。因此,分配给发送顺序中第一媒体帧沈的替换时间戳具有偏移值零。在发送顺序 中的下一媒体帧P26具有偏移值1,等等。如这里进一步描述的,这些偏移值可以用于提供 高效的流调收,而不具有与现有技术相关联的缺点。有利地,可以基于媒体帧的帧发送顺序来定义在步骤S3中对媒体帧确定的替换 时间戳。这在图4中作了进一步示出,其中,偏移的值(即替换时间戳50)取决于在FEC块 20的发送顺序中媒体帧22至沈的相对位置。在该示例性示例中,对于FEC块20中较晚发 送的媒体帧,偏移值50增加,最小的偏移值50被分配给FEC块的发送顺序中的第一个媒体 帧26。在前述中内容,对每个媒体帧分配了一替换时间戳。然而本实施例并不局限于此。 截然相反,可以对媒体流中的至少一部分媒体帧分配多个替换时间戳。这些多个替换时间 戳根据不同的替换时间调度,定义媒体帧中媒体的不同的替换呈现时间。例如,在进行调收 的情况下,为了减少如以下进一步所述的等待媒体呈现的起始的时段,每个媒体帧使用多 个替换时间戳的这种实施例是有优势的。返回图3,一旦诸如根据任何先前公开的任一实施例确定了替换时间戳,就将替换 时间戳分配给媒体流中的媒体帧。可以将替换时间戳分配给媒体流中的全部媒体帧,或仅 仅其中的一部分,分配给帧分组中的全部媒体帧或仅仅其中的一部分。对同一帧分组的媒 体帧分配的替换时间戳可以是不同的,或至少其中的一部分可以是相同的。方法以所产生的媒体流结束,在该媒体流中,每个媒体帧具有对应的缺省时间戳, 并且媒体帧的至少某些具有至少一个对应的所分配的替换时间戳。图6是用于产生媒体帧的流的流产生设备100的示意框图。流产生设备100包括 帧提供器120,被实现用于提供多个媒体帧,每个媒体帧具有对应的缺省时间戳。可以将帧 提供器120连接至记录或产生媒体帧的媒体的内部或外部媒体引擎170。可选地,帧提供器 120从流产生设备100的连接接收器110接收媒体帧(通常具有编码形式或作为未编码媒 体数据)。然后接收器110通过有线或无线通信,从通信系统中的外部终端接收媒体数据。 作为另一可选方案,帧提供器120可以从流产生设备100的连接帧存储器160取得媒体帧 或将被组织成媒体帧的媒体数据。流产生设备100优选地包括可选时间戳确定器140,确定媒体帧的替换时间戳。如 前所述,该时间戳确定器140可以将替换时间戳确定为相对于分配给媒体帧的缺省时间戳 的对应的时间偏移,或相对于流中另一媒体帧的呈现时间的时间偏移。可选地,时间戳确定 器140可以基于流产生设备100的发送器110向一个或多个用户终端发送媒体帧所用的相 对帧发送顺序,确定替换时间戳。时间戳确定器140可以针对应该分配以替换时间戳的每个媒体帧确定一个或多个替换时间戳。时间戳分配器130将所确定的替换时间戳分配给由帧提供器120提供的媒体帧的 至少一部分中的每个媒体帧。可以通过发送器110,将所形成的具有缺省时间戳和至少一个 替换时间戳的媒体帧直接发送给一个或多个外部单元,例如转码器、具有媒体播放器的用 户终端等。可选地,可以将所形成的媒体帧录入帧存储器160,以稍后获取并发送至外部单兀。可选帧组织器150在流产生设备100中实现,用于将所提供的以及所处理的媒体 帧组织成帧分组,例如FEC块。优选地,帧组织器150以分层帧发送顺序来组织帧分组中的 媒体帧,如前所述,分层的顶层帧在发送顺序的最后,分层的底层帧在发送顺序的开始。根据本实施例产生的媒体帧可以由发送器110以例如多播或广播发送来发送给 一个或多个用户终端。可选地,流产生设备100仅仅产生媒体流的媒体帧,而将媒体帧转发 给用户终端是由有线或无线通信系统的某些其它设备来实现的,流产生设备100可以在有 线或无线通信系统中实现。可以硬件、软件或硬件与软件的结合提供流产生设备100的单元110至140。有利 地,可以将流产生设备100布置在有线或优选地无线的基于射频的通信系统中。流产生设 备100可以构成内容提供器或服务器的一部分,或可以与之连接。图7是示出了根据本实施例的处理媒体流的媒体帧的方法的流程图。在该实施例 中,流包括多个帧分组(例如FEC块),每个帧分组包括多个媒体帧。媒体帧具有对应的缺 省时间戳,根据缺省呈现时间定义媒体帧的媒体数据的呈现时间。媒体帧的至少某些还包 括至少一个替换时间戳,每一个替换时间戳都如前所述。参考图4和图7,方法起始于步骤SlO中,该步骤涉及在帧分组20的中间点调收流 1。在下一步骤Sll中接收帧分组20的剩余帧122、P21至P23。如果根据现有技术使用缺省时间戳40来对媒体帧进行解码和呈现,那么将会发 生参考图2在背景技术中说明的问题。然而,在步骤S12中,使用接收到的媒体帧122、P21 至P23的替换时间戳50来确定替换呈现时间调度。因此,在该情况下,使用替换时间戳50, 而不仅仅是缺省时间戳40,来确定在定义媒体帧的对应的呈现时间时所使用的呈现时间调度。在图4的示例中,替换时间戳50采用时间偏移的形式,较晚发送的帧分组20的媒 体帧具有较大的偏移值。因此,对接收到的帧分组20的媒体帧I22、P21至P23分配了替换时 间戳值7、6、5和4。在步骤S12中,识别接收到的媒体帧I22、P21至P23的最小的替换时间戳 值,即在本情况中是4。下一步骤S13根据在步骤S12中基于替换时间戳确定的替换时间调度,来呈现接 收到的媒体帧I22、P21至p23。因此,在图4的示例中,呈现时间戳应该从时间戳序号5 = 1+4 开始。这导致与较早时间戳相对应的任何媒体被跳过。换言之,将图2的现有技术与图4 的实施例相比,在相同的播放时间开始呈现媒体帧122、P21至P23,但是使用的是不同的起始 时间戳,根据本实施例是5,而根据现有技术是1。在该实施例中,该替换时间调度提供了根 据第一帧分组20的时间戳5、6、7、8连续无中断地呈现媒体数据,接着平滑地继续呈现第二 帧分组30的媒体帧32、34,而没有任何中断或者在播放中推迟显示。这意味着,图4中的实施例解决了如图2中一旦开始呈现就会使一个媒体帧Pm推迟显示的问题。图4中的实施例向观看用户提供了一种在视觉上更加具有吸引力的解决方 案一旦媒体呈现开始,无需中断或不自然地推迟显示媒体数据。截然相反,呈现平滑地通 过当前帧分组20的媒体帧122、P21至P23,并进行至下一帧分组30的媒体帧13、P310图8是示出了图7中的处理方法的附加、可选步骤的流程图。方法从图7中的步骤 S12继续。下一步骤S20从接收到的当前帧分组20的媒体帧122、P21至Pu中识别起始帧。 在优选实施例中,帧分组20具有媒体帧22至沈的分层组织,其中,从解码角度而言最重要 的媒体帧在发送顺序中处于帧分组20的末尾。因此,通常将起始帧22识别为针对帧分组 20接收到的最后一帧12。一般地,起始帧22是媒体帧22,可以根据该帧开始解码而无需参 考流1中的任何其它帧。因此起始帧22可以是视频流1的帧内预测帧或者是可伸缩视频 流1中的基本层帧。可以基于包括在媒体帧22至沈(例如媒体帧22至沈的首部)中的 信息或者由媒体帧22至沈在帧分组20中的位置来识别起始帧22。方法继续值图7中的步骤13,在这一步,从起始帧开始呈现媒体帧,并根据替换呈 现时间调度进行呈现。参考图4和9,方法从图7中的步骤S13继续至图9中的步骤S30。步骤S30接收 随后的帧分组30的媒体帧I3、Pm至P37。然而,在步骤S31中,通常是根据缺省时间调度来 执行这些媒体帧13、P31至P37的呈现。因此,替换时间戳用于第一帧分组20的媒体帧12、 P21至P23,其中,调收在发送第一媒体帧P27之后发生。然而,对于随后的帧分组30,其全部 媒体帧13131至?37都被接收到并能进行解码和呈现,可以根据由缺省时间戳定义的缺省时 间调度来进行呈现。可选地,基于第一帧分组20的替换时间戳确定并被应用于帧分组20 的全部媒体帧12、P21至Pm的同一时间偏移也可以应用于随后的帧分组30的帧13、P31至 P370因此,接着,基于缺省时间戳以及所确定的时间偏移,定义这些随后的帧分组30的呈现 时间调度。优选地,对每个后续接收到的帧分组执行由步骤S30和S31定义的循环,通过线Ll 对此进行了说明。图10是示出了图7中的处理方法的附加、可选步骤的流程图。方法从图7中的步 骤Sll继续。在该实施例中,如结合图4所示意的,对于接收到的媒体帧中的至少一部分可 用的替换时间戳具有时间偏移的形式。下一步骤S40识别针对当前帧分组接收到的媒体帧 的时间偏移的最小偏移。接着,至少部分基于所识别的最小时间偏移,来确定帧分组的替换 呈现时间调度。在典型实施中,所识别的时间偏移确定帧分组的起始帧的呈现起始时间。因 此,所识别的时间偏移允许确定呈现起始帧的媒体数据的特定时间,例如,应由媒体播放器 发起帧分组的I帧。确定替换呈现时间调度的特殊实施例既使用替换时间戳又使用缺省时间戳来定 义替换呈现时间调度。举例并参考图4,接收到的当前帧分组20中的媒体帧I2、P21至Pu的 最小替换时间戳50是4。此时,可以将该值加至接收到的媒体帧12、P21至Pm的缺省时间 戳40,以获得定义媒体帧I2、P21至Pm的实际呈现时间的更新后的时间戳。因此,在该示例 性示例中,起始帧22将得到时间戳1+4 = 5,并且按照呈现顺序的其它随后的媒体帧P21至 P23得到时间戳6至8。因此,以时间戳5开始这些媒体帧12、P21至P23的呈现。图5示出了分配和使用替换时间戳的可选实施例。首先,该实施例示出了不是帧 分组20中的所有媒体帧22至沈都必须具有对应的替换时间戳。当使用替换时间戳以提供高效调收媒体流1时,在帧分组20的起始后紧接着调收而没有任何分配的替换时间戳时 发生的、将媒体帧中的一个的媒体数据显示几毫秒是可以接受的。因此,在帧分组20中用 户终端调收的越晚,现有技术的问题变得越严重。这意味着,优选地,将任何替换时间戳分 配给帧分组20的发送顺序中的至少最后几个媒体帧。然而,如果所有媒体帧或者至少帧分 组中的大部分具有对应的所分配的或相关联的时间戳,最能高效利用与调收相关联的替换 时间戳的良好效果。图5还示出了与图4中的实施例相比的另一差别。在图4中,帧分组20的每个媒 体帧22至沈具有唯一的替换时间戳50,该时间戳50是根据帧发送顺序基于帧分组20中 的媒体帧22至沈的相对位置定义的。实际上,媒体帧22至沈不一定具有唯一的替换时 间戳50。截然相反,帧分组20的媒体帧22至沈的至少两个可以具有相同的所分配的替换 时间戳50。在图5中,具有替换时间戳50的所有媒体帧12、P21至P24具有相同的时间戳值。 将图5中的情况与图4相比,在帧P24和P23之间调收媒体流1的用户终端将接收与图4中 相同的媒体帧I2、P21至P23。然而,最小的替换时间戳(即在该示例中的偏移值)是3而不 是4。因此,所计算的起始帧22的时间戳是1+3 = 4,表示起始时间戳实际上比图4中小1。 在图5中,由于分配相同的替换时间戳,因此在继续呈现来自下一帧分组30的媒体帧32、34 的媒体数据之前,媒体帧P23中的一个的媒体数据实际上将被显示两个呈现时刻。因此,与 图4相比,这提供的结果在某种程度上要差一些,但是与图2所示的相应的现有技术相比, 依然取得了显著的改善。因此,本实施例仅仅对某些媒体帧分配替换时间戳,并且对多个媒 体帧分配相同的替换时间戳,依然比现有技术有所改善。图11是示出了图7中的处理方法的替换、可选步骤的流程图。方法从图7的步骤 Sll继续。接着的附加步骤S50可应用于对媒体帧分配多个替换时间戳的情况。在该情况 下,步骤S50针对每个接收到的具有多个所分配的替换时间戳的媒体帧,识别要使用的替 换时间戳。此外,优选地,至少部分基于在帧分组中调收流的位置,执行步骤S50中的识别 过程。因此,如果调收在帧分组中发生的很早,在步骤S50中,针对媒体帧,识别对应的第一 个替换时间戳。然而,如果调收在帧分组中发生得较晚,那么优选地识别对应的第二个、不 同的替换时间戳。这允许用户终端针对当前情况识别最合适的替换时间戳的集合。作为结 果,与第二用户终端在媒体流的帧分组中的第二位置调收相比,典型地,第一用户终端在同 一帧分组中的第一位置调收将使用替换时间戳的另一集合。因此,优选地,用户终端使用包含在媒体帧中的信息(诸如媒体帧的缺省时间戳 或者其它信息)来确定媒体帧在帧分组的发送顺序中的位置。例如,携带媒体帧的数据包 可以包含首部信息,允许识别数据包的对应包数目。在步骤S50中,任何此类被包括的信息 都可以用来确定在帧分组中的调收位置,以及识别正确的替换时间戳。方法继续至图7中的步骤S12,在这里使用所识别的替换时间戳来确定所接收的 媒体数据的替换呈现调度。图12是用于处理媒体帧的设备200的实施例的示意图示。在图中,以具有媒体播 放功能的用户终端的形式非限制地示出了设备200。该用户终端200可以例如是无线通信 系统的便携式用户终端,诸如移动电话、个人数字助理、具有通信设备的膝上型电脑等。可 以从本发明受益的用户终端的其它示例包括计算机、游戏控制台、TV解码器以及其它适于处理和呈现媒体数据的设备。此外,设备200不一定必须是媒体呈现设备。截然相反,设备 200可以将这里所公开的替换时间戳用作其它处理目的。例如,适于接收经编码的媒体帧、 对其进行解码、接着重新编码媒体帧的转码器可以使用替换时间戳。设备200包括接收器210,用于接收媒体流的媒体帧。在实施例中,设备200在媒 体帧的帧分组的起始后的某处调收媒体流。因此,设备200不接收当前调收的帧分组的全 部媒体帧。设备200的调度确定器220使用对于帧分组的所接收的媒体帧的至少某些可用的 替换时间戳,来确定所接收的媒体的替换呈现时间调度。在第一实施方案中,调度确定器220从携带媒体帧的数据包中提取替换时间戳。 这意味着,替换时间戳被包括在携带媒体帧的相同数据包之中。在另一实施方案中,替换时 间戳是单独以信号发送的,即,不包括在携带媒体帧的数据包之中。例如,可以使用与涉及 将媒体数据转发至设备200的媒体会话相关的控制信道,来单独发送替换时间戳。这可以 通过将各替换时间戳与媒体帧或数据包的标识符或者可以应用替换时间戳的帧分组中的 帧位置的标识符相关联来实现。在这种情况下,设备200可以决定是否接收替换时间戳。这 意味着,例如通过已经调收至流中而不需要使用替换时间戳的设备200可以不考虑接收到 替换时间戳。因此,与将替换时间戳包含在所发送的媒体帧包的情况相比,所发送的媒体帧 包的总尺寸在某种程度上可以被保持得更小。还有另外一种可能性是在接收到媒体帧之前使用已经在设备200处提供的替换 时间戳。例如,可以在设备200的存储器沈0中对替换时间戳进行硬编码,或者例如在发起 或建立媒体会话时接收替换时间戳。如果典型地就每个帧分组的媒体帧的数目而言帧分组 具有定义好的大小,或者在帧分组中占据给定位置的媒体帧可以与在另一帧分组中占据同 样位置的另一媒体帧使用同样的替换时间戳,该实施例是可行的。参考图4,其中非限制地 示出帧分组20包括8个媒体帧22至沈。在该情况下,按照发送顺序,每个帧分组20、30中 的第一媒体帧26、36具有相同的替换时间戳,第二媒体帧具有相同的替换时间戳,以此类 推。在该情况下,优选地,设备200包括时间戳识别器250,用于识别至少一个替换时 间戳,以在确定所接收的数据的替换呈现时间调度时使用。优选地,时间戳识别器250识别 调收流发生在帧分组中的位置。优选地,基于该所识别的位置,确定多个硬编码的替换时间 戳或先前提供用以使用的替换时间戳。设备200典型地但如上所述并不是必须包括媒体播放器270,执行实际的媒体呈 现或播放。媒体播放器270包括或访问解码器275,以根据已知技术来对媒体帧和媒体数据 进行解码。经解码的媒体由媒体播放器270呈现,例如在包含在设备200中或与其连接的 显示屏280上显示。可选地,或附加的,音频形式的媒体可以通过包含在设备200之中或与 其连接的扬声器290来播放。可以在设备200中实现可选的帧识别器230,用于识别所调收的帧分组的呈现起 始帧。通常,基于包括在所接收的数据包中的信息(例如缺省时间戳)或由数据包携带的 标识媒体帧类型的信息(例如帧内预测帧或帧间预测帧)来识别该起始帧。媒体播放器 270以包含在所识别的起始帧中的数据,开始媒体呈现,接着根据由调度确定器220所确定 的替换呈现时间调度继续媒体呈现。
一旦呈现了当前帧分组的所有媒体数据,媒体播放器270就继续来自随后的帧分 组的媒体数据。然而,在该情况下,包括在所接收的媒体帧中的缺省时间戳可以用于这些后 续媒体帧,意味着媒体呈现根据缺省呈现时间调度继续进行。在将替换时间戳定义为相对于缺省时间戳的时间偏移的情况下,优选地,时间调 度确定器220基于分配给媒体帧的缺省时间戳以及替换时间戳来确定替换呈现时间调度。优选地,由设备200的偏移识别器240来识别确定所接收的媒体的起始呈现时间 所用的替换时间戳。优选地,针对当前帧分组,偏移识别器240识别出对正确接收并能够被 设备200解码的媒体帧所分配的最小偏移时间。调度确定器220利用该识别的最小偏移值, 可选地与缺省时间戳一起,来确定由媒体播放器270所使用的替换呈现时间调度。在所接收的媒体帧的至少某些具有多个所分配的替换时间戳的情况下,设备200 也可以使用上述时间戳识别器250。然后,时间戳识别器250如前所述优选地基于设备200 调收媒体流的位置,选择适用于当前情况的替换时间戳。可以硬件、软件或硬件与软件的结合提供设备200的单元210至250、270、275。以上主要结合使用替换时间戳来实现高效的调收以及媒体呈现而不长时间显示 或播放同一媒体数据描述了实施例。然而,这并不是受益于替换时间戳的唯一有优势的帧 处理。如上所述,当转码器设备没有正确接收到帧分组的全部媒体帧时,在媒体转码期间, 可以使用替换时间戳。此外,转码器设备可以使用替换时间戳来确定媒体的替换呈现时间 调度。在该情况下,转码器设备基本上可以以与这里如前所述的解码器一样的方式来使 用替换时间戳。例如,转码器设备可以利用替换时间戳,根据帧分组中调收的发生,来选择 呈现时间。相应地,转码器设备可以像编码器一样操作,例如,通过将帧分组中的媒体帧的 顺序反向,使最重要的帧在帧分组的末尾。然后,转码器设备根据媒体帧在帧分组中的位置 与帧分组的末尾之间的距离,对每个媒体帧分配替换时间戳,如时间戳偏移。使用替换时间戳的另一示例是当多种类型的媒体(例如,视频和音频媒体)一起 处理时。在该情况下,与携带音频帧的数据包相比,可能在单独的媒体流中单独的数据包中 发送视频帧。此外,视频帧通常具有缺省时间戳,与分配给音频帧的缺省时间戳是分开的。 可以结合视频帧、音频帧或者视频帧和音频帧使用替换时间戳,根据其它类型媒体(例如 音频)的已经接收到的媒体量来确定一种类型的媒体(例如视频)的媒体呈现时间调度, 或反之亦然。例如,可以基于接收到的音频数据的量,通过分配给视频帧的替换时间戳,来 确定视频数据的替换呈现时间调度。因此,如果设备接收了 1秒的音频,并且按照解码顺序 发送音频数据,那么设备确定,可以将视频推进对应于1秒的FEC块大小的时间戳偏移。接 着,设备使用该偏移(即替换时间戳)来调整视频,从而认为存在1秒的视频。另一示例 是,设备知道帧的时间戳与下一 FEC块的(按显示顺序的)起始帧的时间戳之间的距离的 情况。在该情况下,设备可以接收例如2秒的视频,并使用替换时间戳(如偏移),使得这2 秒的视频是当前FEC块的最后两秒,从而提供在FEC块边界上的平滑过渡。例如,还可以使用替换时间戳,来快进遍历流的媒体帧。例如,流的媒体数据的呈 现可以发生在缺省时间调度期间,在缺省时间调度中,根据缺省时间戳适时呈现所有媒体 帧。可选地,根据由替换时间戳定义的替换时间调度,来呈现流的媒体数据。在该情况下,如 由替换时间戳所定义的,实际上会跳过某些媒体帧,从而在流中选定的媒体帧之间“跳跃”,并忽略由其它被跳过的媒体帧所携带的媒体数据。可以将使用这里所公开的时间戳的替换集理解为,能够根据不同的呈现时间调 度,在多个时间点显示图像。当选择在快进时显示某个图像时,因此,可以选择有效时间跨 度最大的媒体帧。使用替换时间戳的另一示例是在媒体流中实现高效的导航。通过对媒体帧给予替 换时间戳,当导航至特定时间时,即使在快进期间,也不要求精确地在由时间戳所定义的这 些时间获取媒体帧。例如,不显示时刻10、20、30等等,而是可以更容易地解码媒体帧9、19、
29等等。图13是可以在其中实现实施例的无线通信系统500的一部分的示意概要图。通 信系统500包括一个或多个网络节点或基站400,向连接的用户终端200提供通信服务。具 体地,基站400传送携带具有所分配的缺省时间戳和如上公开的替换时间戳的数据包。基 站400包括或连接至包括上述以及在图6中所公开的流产生设备100在内的媒体服务器或 提供器300。可以以单播发送来发送媒体流,但是如在图中示意性示出的,通常以多播或广播 发送的形式来发送。本领域技术人员应当能够理解的是,可以在不背离由所附权利要求限定的范围的 情况下对本发明做出多种修改以及改变。
权利要求
1.一种产生媒体帧的流的方法,包括提供多个媒体帧,所述多个媒体帧中的每个媒体帧具有所分配的缺省时间戳,所述缺 省时间戳根据缺省呈现时间调度定义所述媒体帧的媒体的呈现时间;以及对所述多个媒体帧的至少一部分中的每个媒体帧,分配替换时间戳,所述替换时间戳 根据替换呈现时间调度定义所述媒体帧的所述媒体的替换呈现时间。
2.根据权利要求1所述的方法,还包括将所述多个媒体帧组织成帧分组,其中所述流 包括多个帧分组。
3.根据权利要求2所述的方法,其中,所述组织步骤包括以分层帧发送顺序,在所述 帧分组中组织所述多个媒体帧,使分层的顶层帧位于所述分层帧发送顺序的末尾,以及分 层的底层帧位于所述分层帧发送顺序的开始。
4.根据权利要求3所述的方法,其中,所述组织步骤包括以所述分层帧发送顺序,在 所述帧分组中组织所述多个媒体帧,使帧内预测帧位于所述分层帧发送顺序的末尾,之前 是用作所述多个帧的至少一个其它帧间预测帧的参考帧的所述多个媒体帧的任何帧间预 测帧,并且不用作所述多个帧的至少一个其它帧间预测帧的参考帧的所述多个媒体帧的任 何帧间预测帧位于所述分层帧发送顺序的开始。
5.根据权利要求1至4中任一项所述的方法,还包括针对所述多个媒体帧的所述至 少一部分中的每个媒体帧,将所述替换时间戳确定为相对于分配给所述媒体帧的所述缺省 时间戳的时间偏移。
6.根据权利要求1至4中任一项所述的方法,还包括针对所述多个媒体帧的所述至 少一部分中的每个媒体帧,将所述替换时间戳确定为相对于所述多个媒体帧中的另一媒体 帧的呈现时间的时间偏移。
7.根据权利要求1至6中任一项所述的方法,还包括针对所述多个媒体帧的所述至 少一部分中的每个媒体帧,根据与所述多个媒体帧相关联的帧发送顺序,基于所述媒体帧 的相对发送时间,确定所述替换时间戳。
8.一种用于产生媒体帧的流的设备,包括帧提供器,用于提供多个媒体帧,所述多个媒体帧中的每个媒体帧具有所分配的缺省 时间戳,所述缺省时间戳根据缺省呈现时间调度定义所述媒体帧的媒体的呈现时间;以及时间戳分配器,用于对所述多个媒体帧的至少一部分中的每个媒体帧,分配替换时间 戳,所述替换时间戳根据替换呈现时间调度定义所述媒体帧的所述媒体的替换呈现时间。
9.根据权利要求8所述的设备,还包括帧组织器,用于将所述多个媒体帧组织成帧分 组,其中,所述流包括多个帧分组。
10.根据权利要求9所述的设备,其中,所述帧组织器被配置为以分层帧发送顺序,在 所述帧分组中组织所述多个媒体帧,使分层的顶帧层位于所述分层帧发送顺序的末尾,以 及分层的底层帧位于所述分层帧发送顺序的开始。
11.根据权利要求8至10中任一项所述的设备,还包括时间戳确定器,用于针对所述 多个媒体帧的所述至少一部分中的每个媒体帧,将所述替换时间戳确定为相对于分配给所 述媒体帧的所述缺省时间戳的时间偏移。
12.根据权利要求8至10中任一项所述的设备,还包括时间戳确定器,用于针对所述 多个媒体帧的所述至少一部分中的每个媒体帧,将所述替换时间戳确定为相对于所述多个媒体帧中的另一媒体帧的呈现时间的时间偏移。
13.根据权利要求8至12中任一项所述的设备,还包括时间戳确定器,用于针对所述 多个媒体帧的所述至少一部分中的每个媒体帧,根据与所述多个媒体帧相关联的帧发送顺 序,基于所述媒体帧的相对发送时间,确定所述替换时间戳。
14.一种媒体帧流,包括多个媒体帧,其中,所述多个媒体帧中的每个媒体帧具有所分配的缺省时间戳,所述缺省时间戳根据缺省 呈现时间调度定义所述媒体帧的媒体的呈现时间;以及所述多个媒体帧的至少一部分中的每个媒体帧具有替换时间戳,所述替换时间戳根据 替换呈现时间调度定义所述媒体帧的所述媒体的替换呈现时间。
15.一种处理多个帧分组的流的媒体帧的方法,其中,所述帧分组包括多个媒体帧,每 个媒体帧具有缺省时间戳,所述缺省时间戳根据缺省呈现时间调度定义帧分组的所述多个 媒体帧的呈现时间,所述方法包括在所述多个帧分组中的一个帧分组的中间点调收所述流;接收所述中间点之后的所述帧分组的媒体帧;以及基于对所述帧分组可用的至少一个替换时间戳,针对所述接收到的媒体帧,确定替换 呈现时间调度。
16.根据权利要求15所述的方法,还包括在所述接收到的媒体帧中识别所述帧分组的呈现起始帧;以及根据所述替换呈现时间调度,从所述呈现起始帧开始呈现所述接收到的媒体帧。
17.根据权利要求16所述的方法,还包括根据至少一个后续帧分组的缺省呈现时间 调度,呈现所述流的所述至少一个后续帧分组的多个媒体帧。
18.根据权利要求15至17中任一项所述的方法,其中,所述确定步骤包括基于分配 给所述接收到的媒体帧的所述至少一个替换时间戳以及所述缺省时间戳,确定所述替换呈 现时间调度。
19.根据权利要求15至18中任一项所述的方法,其中,所述替换时间戳是时间偏移,并 且所述帧分组的所述多个帧的至少一部分具有对应的所分配的时间偏移,所述确定步骤包 括在所述接收到的媒体帧中识别最小时间偏移;以及基于所述最小时间偏移,确定所述替换呈现时间调度。
20.一种用于处理多个帧分组的流的媒体帧的设备,所述帧分组包括多个媒体帧,每个 媒体帧具有缺省时间戳,所述缺省时间戳根据缺省呈现时间调度定义帧分组的所述多个媒 体帧的呈现时间,所述设备包括接收器,用于接收所述帧分组的中间调收点之后的所述多个帧分组的帧分组的媒体 帧;以及调度确定器,用于基于对所述帧分组可用的至少一个替换时间戳,针对所述接收到的 媒体帧,确定替换呈现时间调度。
21.根据权利要求20所述的设备,还包括帧识别器,用于在所述接收到的媒体帧中识别所述帧分组的呈现起始帧;以及媒体播放器,用于根据所述替换呈现时间调度从所述呈现起始帧开始呈现所述接收到的媒体帧。
22.根据权利要求21所述的设备,其中,所述媒体播放器被配置为根据至少一个后续 帧分组的缺省呈现时间调度,呈现所述流的所述至少一个后续帧分组的多个媒体帧。
23.根据权利要求20至22中任一项所述的设备,其中,所述调度确定器被配置为基 于分配给所述接收到的媒体帧的所述至少一个替换时间戳以及所述缺省时间戳,确定所述 替换呈现时间调度。
24.根据权利要求20至23中任一项所述的设备,其中,所述替换时间戳是时间偏移, 并且所述帧分组的所述多个帧的至少一部分具有对应的所分配的时间偏移,所述设备还包 括偏移识别器,用于在所述接收到的媒体帧中识别最小时间偏移;其中,所述调度确定器 被配置为基于所述最小时间偏移,确定所述替换呈现时间调度。
全文摘要
通过提供具有对应的所分配的缺省时间戳(40)的多个媒体帧(22-26),来产生媒体帧(12-16、22-26、32-36)的流(1),所述缺省时间戳根据缺省呈现时间调度定义媒体帧(22-26)的媒体数据的呈现时间。对媒体帧(22-26)的至少一部分分配对应的替换时间戳(50)。这些替换时间戳(50)根据替换呈现时间调度定义媒体帧(22-26)的媒体数据的替换呈现时间。当在媒体帧(22-26)的帧分组(20)的中间位置调收流(1)时,可以利用替换时间戳(50)提供高效的媒体呈现,从而跳过帧分组(20)的某些媒体帧(22、24)。
文档编号H04L29/06GK102067551SQ200880129805
公开日2011年5月18日 申请日期2008年11月27日 优先权日2008年6月16日
发明者克林顿·普里德尔, 托比杰恩·埃纳尔松, 马格纳斯·威斯特兰德 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1