专利名称:数据流拆分的制作方法
数据流拆分
本发明涉及一种用于将数据流拆分(spl i t)成分组的方法和设备,所 述数据流包括视频单元和非视频单元。此外,本发明还涉及一种用于执行 该方法的计算机程序, 一种包含该计算机程序的记录载体, 一种包含了用 于将数据流拆分成分组的设备的发射机,以及一种用于传送包含在数据流 中的视频单元和非视频单元的方法。
家庭网络将个人计算机、电话和消费类电子设备连接在了一起。 一般 来说,敷设电缆是不受欢迎的,因此,无线网络和设备正在日益普及。无 线介质的一个缺点是其对传输条件非常敏感。当网络带宽减小并且不足以 传送整个流时,分组将会丢弃,并且其对例如所显示的视频和音频的影响 有可能是非常有害的。为了减少乃至完全消除所有这些非预期的影响,目 前已经提议了不同的技术来尝试控制被丟弃的部分。这其中的一种用于处
理视频流的技术是名为I帧延迟(IFD: I-Frame Delay)的网络调度技术 (参见"Adaptive Scheduling of MPEG Video Frames during Real-Time Wireless Video Streaming", S. Kozlov、 P. van der Stok和J". Lukkien, Proceedings of WoWMoM, 2005年6月13—16日)。当检测到可用带宽不 足以传送整个视频流时,IFD将会丢弃视频帧。这种丢弃处理是以一种首 先丢弃最不重要的帧(B帧)的方式进行的,由此极大减小了否则会丢失 (部分)更重要的帧(I帧和P帧)而导致在接收端出现的伪像(artifact). 但是,在消费类电子设备中,通常有与视频流相关联的音频。 一种简 单的解决方案是以与视频流分离的方式发送音频流,并且仅仅对视频流应 用诸如IFD之类的技术。由于人们对音频伪像更为敏感,因此在传输过程 中,与视频流相比,音频将被给予更高的优先级。但是,如果多媒体内容 是经由DVB之类的广播进入家中的,那么所使用的流通常是MPEG-2传输 流,在这种传输流中,音频和视频单元是与某些其他系统数据复用在一起 的。在经由家中网络进行流式传输之前将这个广播传输流解复用成音频和 视频基本流,要求在家庭网关中有更强的处理能力,此外还会丢失附加信 息(例如字幕)。因此,最好在没有解复用的情况下直接经由家庭网络来 对该传输流执行流式传输。由此,本发明的一个目的是克服上述限制。
这个目标是通过将所述数据流拆分成只包含视频单元或是只包含非 视频单元的分组来实现的。
数据流包含了采用典型的复用流结构交织在一起的视频单元和非视 频单元,非视频单元例如是音频和数据单元。由此,通过将流式传输的数 据流拆分成只包含视频单元或是只包含非视频单元的分组,可以单独处理
相应的单元。这样一来,所显示的视频流可以通过IFD来增强,而不会导 致在音频流上产生任何音频伪像。本发明的实现仅仅涉及在数据流发射机 上进行改动;并且可以使用标准的接收机。
本发明的要点是将数据流拆分成比常规分组更小的分组的见解和实 现。这样则可以产生包含视频单元或是包含非视频单元的分组,并且这些 分组可以单独处理。此外,属于不同视频帧的不同视频单元同样是分离的, 以便供IFD使用。
上述目标还可以通过一种用于将数据流拆分成分组的设备来实现,其 中所述数据流包括视频单元和非视频单元。该目标还可以通过一种用于执 行该方法的计算机程序、 一种包含计算机程序的记录介质, 一种包含了用 于将所述数据流拆分成分组的设备的发射机,以及一种用于传送包含在数 据流中的视频单元和非视频单元的方法来实现。
在本发明的优选实施例中,用于拆分所述数据流的方法包括如果在 当前单元和前一个单元中只有一个单元^_视频单元,则将当前单元分配给 新分组。
复用数据流是在由视频、音频和数据单元组成的流中接收的。如果当 前单元或前一个单元是视频单元,那么通过将当前单元指派给新的分组, 可以开始这个新的分組,由此可以从非视频单元中拆分或者分离视频单 元。
在本发明的另 一个优选实施例中,用于拆分所述数据流的方法包括 如果已经分配给前一个分组的单元数量等于一个预置数量,则将当前单元 分配给新的分组。
在分组交换网络中,其中规定了可以经由网络接口传送的最大分组大 小。在以太网上,最大分组大小是1500字节。当使用RTP(实时传输协 议)之类的协议执行流式传输时,这时可以规定如何将大小都等于188字 节的传输数据流分组化为RTP单元。传统的方式是获取7个传输流单元, 并且将其封装到一个单独的RTP分组中,由此使净荷大小为1316字节。 通过在已被分配给前一个分组的单元数量等于预置数量的情况下将当前 单元分配给新的分组,可以永远都不超出最大分组大小。
在本发明的另一个优选实施例中,用于拆分所述数据流的方法包括 如果当前单元和前一个单元都是视频单元,但是属于不同的视频帧,则将 当前单元分配给新的分组。
该分组可以包括属于若干个帧的单元,举例来说,如果在已拆分的数 据流上应用IFD,那么在同一时间有可能丢弃多个帧中的一部分,由此将 会导致潜在的视频伪像。通过将属于不同帧的视频单元指派给不同的分 组,可以消除这种风险。
在附加权利要求中列举了本发明的其他特征和优点,其公开将会在这 里引入作为参考,并且现在会将读者引向该公开。
现在将参考附图来举例描述本发明的优选实施例,其中
图1显示的是应用了根据本发明的拆分方法之后的数据流以及分组 边界的三个实例;
图2示意性显示了分别使用RTP发送器和TCP发送器的发送器解决方案。
本发明的不同实施例都是可行的。首先描述的是使用RTP (实时传输 协议)协议来进行流式传输的实施例。根据现有技术,典型的方式是将数 据流拆分成包含7个传输流单元、例如视频(V)、音频(A)和数据(D) 单元的RTP分组(参见1,图1 )。这种拆分方案的问题是在应用IFD的 时候(对于IFD,可以参见"Adaptive Scheduling of MPEG Video Frames during Real-Time Wireless Video Streaming", S. Kozlov、 P. van der Stok和J. Lukkien, Proceedings of WoWMoM, 2005年6月13-16日) 将会丢弃整个RTP分组;以及在给出了将音频和视频分组交织在一起的典 型复用传输流结构的情况下,丟弃RTP分组的处理有可能还会丟弃音频和 数据。此外,多个帧中的某些部分可以包含在一个RTP分组中;因此,在 同一时间有可能会丢弃多个帧(重要和不重要的帧)。应该指出的是,图 1中用于视频单元的项目Vl-V4意味着它们属于不同的视频帧1-4。
因此,如下所述,需要一种不同的拆分方案。在拆分过程中,如果满 足以下的任何一个准则,则将当前单元分配给新的分组(换句话说,前一
个RTP分组将被完结)
1. 如果在当前单元和前一个单元中只有一个单元是视频单元。
2. 如果已被分配给前一个分组的单元数量等于某个预置数量。
3. 如果当前单元和前一个单元都是视频单元,但是它们属于不同的 视频帧。
在图1的RTP范例中,数据流已经根据拆分方案而被拆分成了九个 RTP分组。在这里将会评论所进行的拆分中的三个拆分(3, 5和7),以 便描述拆分方案中的每一个准则。在拆分(3 ),当前单元是视频单元VI , 并且前一个单元是音频单元A,由此拆分是根据第一准则进行的。这样一 来,音频单元A将会结束前一个分组(在本范例中,该分组只包含一个单 元),并且视频单元VI将会开始一个新的分组。简单地通过读取存储了 PID (分组标识符)的每一个单元的传输流报头,可以确定传输流单元是 视频、音频还是数据类型。
在该数据流中,后续的八个单元全都是视频单元VI,并且第二准则 表明,如果已经分配给前一个分组的单元数量等于某个预置数量,在该例 中为8,将会执行拆分(5),并且当前单元将被分配给新的分组。由此, 前一个视频单元VI将会结束前一个分组,并且当前视频单元VI将会开始 新的分组(在本范例中,该分组只包含一个视频单元)。由此,这些分组 永远都不会包含七个以上的单元。
在拆分(7 ),当前单元V4和前一个单元V3都是视频单元,但是它们 属于不同的视频帧3和4,因此,在这里根据第三准则而进行了拆分.这 样一来,视频单元V3将会结束前一个分组,并且视频单元V4将会开始新 的分组。通过扫描视频单元净荷内部的MPEG图像报头(picture header ), 可以确定视频单元是否开始了一个新帧。此外,该图像报头还给出了关于 所述帧的重要性的信息U、 P或B帧)。
根据本发明的拆分方案的结果是包含了非视频分組或视频分组的RTP 分组。在视频分组的情况下,在一个帧中只有某些部分将会包含在一个 RTP分组内部。这同样意味着RTP分组将被递送,并且这些分组的平均大 小要小于七个传输流单元。由于分组较小,因此,这样做将会导致网络资 源的使用效率较低,并且由此会在传输过程中导致产生一定开销。出于效 率方面的原因,RTP分组应该尽可能大,由此通常没有理由过早终结 (finalize )分组。而本发明建议的则是使用必须将所要处理的视频单元 与非视频单元相分离的IFD。
一种用于增大分组的平均大小以及由此减小开销的方法是如果非视 频单元与I帧视频单元彼此相邻,则将其封装在一起。由于这二者全都是 以最高优先级来进行处理的,因此,这些分组将不会被丢弃。在图1中, 对于RTP,如果V1是I帧并且其后跟随了视频帧A,那么可以消除V1与 A之间的拆分。
然后,因为拆分方案而导致产生的RTP分组可被标记,并且馈送到 IFD调度器。在图2中显示了 RTP发射机18的一种实施方式。在这里可 以标识若干个部分
1. 从文件或是从广播中读取传输流的TS (传输流)读取器10
2. 使用上述拆分方案而将传输流拆分成RTP分组并构造RTP报头的 TS RTP拆分器和标记器12。此外,它还会将最终得到且包含非视频或视 频单元的RTP分组标记为非视频帧(音频或数据)或视频帧(更具体地说 是将其标记为B、 P或I帧)。
3. 使用正确定时来向IFD调度器16发送RTP分组的RTP发送器14。
4. 经由无线网络来发送分组并且在必要时根据IFD算法来执行丢弃 处理的IFD调度器16。当网络带宽不足时,IFD将会使用附着于分组的标 记来确定丢弃哪些分组。非视频分組永远都不会被丢弃,由此避免产生音 频伪像以及系统数据丢失。
实际上,IFD调度器16可以放置在RTP发送器14之前,这与TCP发
射机的范例是相同的(参见下文)。
本发明的另一个实施例使用了 TCP协议来执行流式传输。TCP的优点 是其独立于网络拓朴(有线/无线跳变)在发送机与接收机之间提供拥塞 控制机制和关于链路带宽的端到端反馈。在TCP之上,可以实现基于HTTP 的流式传输。而其缺点则是并未考虑实时要求。在分组丢失时,由于TCP 重传机制,所述流会在可以(例如从文件)停止输入的时候减慢,或者如 果不能停止所述流(例如实况广播),那么緩存将会溢出,并且将会发生 导致产生伪像的损失。在图2中显示了所提出的TCP发射机28。它包括 以下組件
1. TS (传输流)读取器20
2. TS TCP拆分器+标记器22。该组件与图2中的TS RTP拆分器相似, 其较大的不同之处是该组件可以产生大于七个传输流单元(参见图1中的 TCP范例)的组块,这是因为TCP会自动将大组块拆分成较小分组。
3, IFD调度器24。该调度器将会使用恰当定时来将分组置于发送緩
存器中。此外,如果緩存器变满(指示网络带宽不足),那么它还会通过
从緩存器中丢弃帧来应用IFD。
4. TCP发送器。该组件尝试尽可能快地使用TCP将发送緩存器中的 分组发送到网络。
在这里需要指出的是IFD调度器24的位置,其中该位置与RTP解决 方案中的位置是不同的。这因为这些帧必须在进入TCP (TCP发送器26) 之前被丢弃,否则TCP将会清求重传被丢弃的帧,那么丢弃处理将会亳无 帮助。当发生网络拥塞时,TCP发送器26将会减慢,由此导致发送緩存 器变满。这时,IFD调度器24可以检测到这种情况,并且丢弃这些帧。
RTP拆分器12和TCP拆分器22包括一个解析器和一个緩存器(未显 示)。该拆分器12、 22将会解析输入的传输单元,以便了解它是视频还非 视频,以及发现视频帧边界,并将输入的传输单元存入緩存器。该緩存器 则应该足够大,以便最大保持七个传输流单元。
此外还应该指出的是,由于没有触及基本的IFD调度算法,因此,在 同时支持传输流流式传输和基本流流式传输的系统中可以使用IFD调度 器实施方式。而后者则尤其有益于DVD内容的流式传输(在解复用成视频 和音频基本流之后)。
应该指出的是,上述实施例是对本发明进行例证,而不是对其进行限 制,在不脱离附加权利要求范围的情况下,本领域技术人员能够设计出众 多的替换实施例。本发明并不局限于使用IFD,举例来说,它还可以结合 除IFD之外的其他网络调度技术而在需要将视频单元与非视频单元相分 离的所有应用中使用.在权利要求中,置于括号之间的任何参考符号不应 该解释成是对权利要求进行限制。单词"包括"并不排除除了权利要求所 列举的部件或步骤之外的其他部件或步骤的存在。位于部件前方的单词 "一,,或"一个"并未排除多个此类部件的存在。
权利要求
1.一种用于将数据流拆分成分组的方法,所述数据流包括视频单元和非视频单元,该方法包括-将所述数据流拆分成只包含视频单元或者只包含非视频单元的分组。
2. 根据权利要求l的方法,其中,拆分所述数据流包括如果在当前单元和前一个单元中只有一个单元是视频单元,则将当前单元分配给新 的分组。
3. 根据权利要求l的方法,其中,拆分所述数据流包括如果已经分配给前一个分组的单元数量等于预置数量,则将当前单元分配给新的分 组。
4. 根据权利要求l的方法,其中,拆分所述数据流包括如果当前单元和前一个单元都是视频单元,但却属于不同的视频桢,则将当前单元 分配给新的分组。
5. 根据权利要求l的方法,其中,数据流包括MPEG传输流。
6. 根据权利要求l的方法,其中,该分组是RTP或TCP类型。
7. —种计算机程序,其中该程序使得能够执行根据权利要求1 - 6中任一权利要求的方法。
8. —种记录载体,其中包含了如权利要求7所述的计算机程序.
9. 一种用于将数据流拆分成分组的设备,所迷数据流包括视频单元和非视频单元,其中该设备被安排用来将所述数据流拆分成只包含视频单 元或者只包含非视频单元的分组。
10. 根据权利要求9的设备,其中,拆分所述数据流包括如果在当前单元和前一个单元中只有一个单元是视频单元,则将当前单元分配给新 的分组。
11. 根据权利要求9的设备,其中,拆分所述数据流包括如果已经分配给前一个分组的单元数量等于预置数量,则将当前单元分配给新的分 组。
12. 根据权利要求9的设备,其中,拆分所述数据流包括如果当前单元和前一个单元都是视频单元,但却属于不同的视频帧,则将当前单元 分配给新的分组。
13. —种发射机,包含根据权利要求9的用于将数据流拆分成分组的设备,以及用于传送所述分组的装置。
14. 一种用于传送包含在数据流中的视频单元和非视频单元的方法, 该方法包括 将所述数据流拆分成只包含视频单元或者只包含非视频单元的分组; 传送所述分组。
全文摘要
本发明涉及一种用于将数据流拆分成只包含视频单元或是只包含非视频单元的分组,以便能在不产生任何音频伪像的情况下使用IFD来更好地增强所显示的视频流的方法。本发明的要点是将数据流拆分成比常规分组更小的分组的见解和实现。这样则可以产生包含视频单元或是包含非视频单元的分组,并且对视频单元来说,分组仅仅属于一个视频帧。
文档编号H04N7/24GK101346995SQ200680048947
公开日2009年1月14日 申请日期2006年12月20日 优先权日2005年12月23日
发明者E·布兰德斯马, I-C·康 申请人:皇家飞利浦电子股份有限公司