首页 / 专利库 / 视听技术与设备 / 视频编码层 / 一种网络带宽自适应的流媒体传输选择性丢帧方法

一种网络带宽自适应的流媒体传输选择性丢方法

阅读:63发布:2021-09-15

专利汇可以提供一种网络带宽自适应的流媒体传输选择性丢方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种网络带宽自适应的流媒体传输选择性丢 帧 方法,其特征在于:在流媒体 服务器 或网络中间应用层 节点 中发送一个视频序列的每一个GOP之前,根据GOP的播放时间间隔为其计算一个固定的发送 时间窗 口,每个GOP时间窗口由一个起始点和一个结束点所确定;采用TCP传输协议在一个GOP时间窗口内有选择地仅可靠传输该GOP所包含的部分或全部 视频帧 数据,其中被选择的视频帧的所有RTP包全部被传输,而未被选择的视频帧RTP包全部被丢弃。本发明方法复杂度低,实时性好,即使在网络带宽不匹配且随时间动态变化的情况下客户端也能够取得连贯、流畅和完整清晰画面的播放效果。本发明方法适用于MPEG系列和AVS等 视频编码 标准,可以广泛用于各种互联网流媒体服务器或网络中间应用层节点处的数据传输中。,下面是一种网络带宽自适应的流媒体传输选择性丢方法专利的具体信息内容。

1、一种网络带宽自适应的流媒体传输选择性丢方法,其特征在于:在流媒 体服务器或网络中间应用层节点中发送一个视频序列的每一个GOP之前,根据GOP 的播放时间间隔为其计算一个固定的发送时间窗口,每个GOP时间窗口由一个起始 点和一个结束点所确定;采用TCP传输协议在一个GOP时间窗口内有选择地仅可靠 传输该GOP所包含的部分或全部视频帧数据,其中被选择的视频帧的所有RTP包全 部被传输,而未被选择的视频帧RTP包全部被丢弃。
2、如权利要求1所述的网络带宽自适应的流媒体传输选择性丢帧方法,其特 征在于:在准备发送当前的GOP的第一个RTP包之前,首先根据上一个GOP的发送 情况来预测并初步确定当前GOP的选择性丢帧策略,如果当前时间未超过当前GOP 时间窗口的起始点,则设置不丢弃当前GOP中的任一视频帧;如果当前时间超过了 当前GOP时间窗口的起始点,且刚刚发送完毕的视频帧是一个I帧,则设置丢弃当 前GOP中的所有视频帧,如果当前时间超过了当前GOP时间窗口的起始点且刚刚发 送完毕的视频帧不是I帧,则设置丢弃当前GOP中的所有B帧。
3、按权利要求1或2所述的网络带宽自适应的流媒体传输选择性丢帧方法, 其特征在于:当使用TCP协议可靠发送当前GOP中每一个被选择视频帧的所有RTP 包完成之后,根据当前时间决定是否对当前GOP的选择性丢帧策略进行调整,如果 当前时间未超过当前GOP时间窗口的结束点,则不调整丢帧策略并按原定丢帧策略 继续发送下一个视频帧;如果当前时间超过了当前GOP时间窗口的结束点,则设置 丢弃当前GOP中后续所有的P帧和B帧,直接转入对下一个GOP中视频帧数据包的 发送。

说明书全文

技术领域

发明涉及互联网流媒体传输领域,特别是关于一种流媒体服务器和网络中间 应用层节点处的网络带宽自适应的流媒体传输选择性丢方法。

背景技术

近年来,随着互联网与多媒体压缩等技术的快速发展,互联网流媒体应运而生。 流媒体技术使得音视频等媒体数据可以在基于IP协议的互联网中以一种“流”的 形式实时、连续和稳定地传播,即接收方几乎可以在发送方发送数据的同时便立即 开始一边接收数据一边进行播放,而不必等待所有数据全部下载到本地存储介质之 后再从头开始播放。
典型的流媒体系统由一个流媒体服务器,一个IP互联网络和一个流媒体客户 端所组成,并允许在传输链中添加其它的中间应用层节点,例如代理服务器或P2P (对等网络)中间节点等。如图1所示,在一个典型的流媒体服务器中,接收(读) 线程从实时视频编码器或预编码存储好的视频文件中,接收/读取媒体数据并打包 成RTP(实时传输协议)格式的数据包后,放入RTP循环缓冲区;发送线程从RTP 循环缓冲区中读取RTP包,并通过互联网将其发送至客户端(或中间节点)。在一 个典型的网络中间应用层节点中,发送线程从上游流媒体服务器(或其它中间节点) 接收RTP包并放入RTP循环缓冲区;发送线程从RTP循环缓冲区中读取RTP包并通 过互联网将其发送至客户端(或其它中间节点)。
流媒体传输具有实时性、连续性和数据依赖性等特点。实时性要求网络中传输 的各视频帧数据必须在特定的播放时限之前到达接收方;连续性要求各视频帧数据 必须按照一定的顺序进行播放。压缩的视频数据具有两种类型的数据依赖性:帧间 依赖要求接收方在解码一个优先级较低的视频帧之前必须已解码它所依赖的其它 优先级较高的视频帧;帧内依赖要求接收方最好在全部接收到组成一帧的所有数据 包之后再进行解码,否则会引起解码错误从而导致显示画面图像破碎等现象,甚至 可能引起解码器程序崩溃。
一个好的流媒体传输系统应能够满足上述这些特性所带来的相应要求。然而目 前的互联网还主要是一个“尽而为”的网络,其信道行为如带宽、时延和丢包率 等具有一定的动态性和不可预测性,无法提供流媒体传输所需要的服务质量(QoS) 保证。其中一个突出的问题就是存在于流媒体服务器和网络中间应用层节点的RTP 循环缓冲区处的上下两侧带宽(码率)不匹配。由于互联网中不同子网带宽的异构 性以及网络带宽的动态波动,当流媒体服务器或中间节点处的接收线程向RTP循环 缓冲区中写入数据的码率大于发送线程向下游节点转发数据的码率时,可能会导致 在该节点处随机性的RTP数据包丢失。如图2所示,当开始向下游节点发送第25 号RTP包时,当前节点正在接收从上游节点发来的第34号RTP包;如图3所示, 当向下游节点发送第25号RTP包结束时,从上游节点接收到的RTP包已经循环一 圈后开始接收第44号RTP包,将紧随当前RTP包之后尚未发送的第26号和第27 号RTP包覆盖,从而导致这两个RTP包无法正确发送至下游节点。此时如何选择下 一个需要发送的分组有两种方案:一是直接递增循环缓冲队列的指针并发送新近接 收到的第42号RTP分组;二是向后搜索并找到当前尚未被覆盖的最小序号(第28 号)RTP分组进行发送。然而无论采用哪种方案,都会导致下游节点接收到的分组 序列号不再连续,在方案一中丢失了第26-41号分组,在方案二中丢失了第26号 和第27号分组,即出现随机性的RTP数据包丢失。
上述随机性的RTP数据包丢失会给客户端解码器带来严重后果。例如一个I帧 或P帧中若干RTP包数据的丢失不仅会使得当前帧解码后的画面中出现赛克、图 像破碎等现象,而且会导致当前GOP(帧组)中后续所有P帧和B帧的解码都出现 类似情况,甚至可能导致解码器进程崩溃。为了解决这个问题,需要引入适当的适 应性传输控制机制。
常见的针对带宽不匹配问题的适应性传输控制机制主要有联播、转码和可伸缩 编码等。然而联播仅适用于服务器而无法用于中间节点,且无法实现任意码率的切 换;实时转码的计算复杂度较高,且涉及到对RTP包的重新组包和拆包等,大大增 加了应用程序管理的复杂性;可伸缩编码需要采用新的编码技术和标准,无法适用 于现有大量存在的非可伸缩性编码标准。

发明内容

针对上述问题,本发明的目的是提供一种网络带宽自适应的流媒体传输选择性 丢帧方法,使用本发明方法,实时性好且简单易行,即使在网络带宽不匹配且随时 间动态变化的情况下,客户端也能够取得连贯、流畅和完整清晰画面的播放效果。
为实现上述目的,本发明采取以下技术方案:一种网络带宽自适应的流媒体传 输选择性丢帧方法,其特征在于:在流媒体服务器或网络中间应用层节点中发送一 个视频序列的每一个GOP之前,根据GOP的播放时间间隔为其计算一个固定的发送 时间窗口,每个GOP时间窗口由一个起始点和一个结束点所确定;采用TCP传输协 议在一个GOP时间窗口内有选择地仅可靠传输该GOP所包含的部分或全部视频帧数 据,其中被选择的视频帧的所有RTP包全部被传输,而未被选择的视频帧RTP包全 部被丢弃。
在准备发送当前的GOP的第一个RTP包之前,首先根据上一个GOP的发送情况 来预测并初步确定当前GOP的选择性丢帧策略,如果当前时间未超过当前GOP时间 窗口的起始点,则设置不丢弃当前GOP中的任一视频帧;如果当前时间超过了当前 GOP时间窗口的起始点,且刚刚发送完毕的视频帧是一个I帧,则设置丢弃当前GOP 中的所有视频帧,如果当前时间超过了当前GOP时间窗口的起始点且刚刚发送完毕 的视频帧不是I帧,则设置丢弃当前GOP中的所有B帧。
当使用TCP协议可靠发送当前GOP中每一个被选择视频帧的所有RTP包完成之 后,根据当前时间决定是否对当前GOP的选择性丢帧策略进行调整,如果当前时间 未超过当前GOP时间窗口的结束点,则不调整丢帧策略并按原定丢帧策略继续发送 下一个视频帧;如果当前时间超过了当前GOP时间窗口的结束点,则设置丢弃当前 GOP中后续所有的P帧和B帧,直接转入对下一个GOP中视频帧数据包的发送。
本发明由于采取以上技术方案,因此其与其它解决网络带宽不匹配的流媒体传 输适应性控制机制相比,具有以下优点:1、本发明所提出的网络带宽自适应选择 性丢帧方法复杂度低,实时性好,可以实现任意码率的切换,且不需要改变流媒体 服务器和网络中间应用层节点中原有的缓冲区数据结构,简单易行,便于推广使用。 2、本发明由于按照GOP的播放时间约束和GOP内各视频帧的优先级进行选择性丢 帧,因此能够保证每一个视频帧所包含的所有RTP包要么全部安全送达接收端要么 全部被丢弃,且客户端所接收到的每一个视频帧都完整且能够正确解码,而不需要 依赖于任何已被选择丢弃的帧。3、本发明可以确保在带宽不匹配的情况下,虽然 客户端所观察到的播放帧率可能有所下降,但仍可以连续、流畅地继续播放,且每 一帧画面都仍然完整无损。本发明方法适用于MPEG系列和AVS等视频编码标准, 可以广泛用于各种互联网流媒体服务器或网络中间应用层节点处的数据传输中。
附图说明
图1是典型的流媒体系统结构示意图
图2是流媒体服务器或网络中间应用层节点发送和接收RTP包示意图
图3是流媒体服务器或网络中间应用层节点RTP包随机丢失示意图
图4是本发明提供的网络带宽自适应选择性丢帧方法的流程图

具体实施方式

下面结合附图和实施例,对本发明进行详细的描述。
本发明方法包括以下内容:当上下游网络带宽(码率)不匹配时,发送线程可 以有选择地丢弃部分优先级较低的视频帧不发送,从而保证能够利用有限的带宽资 源将其它具有较高优先级的视频帧在规定的时间内顺利发送至下游节点。被选择丢 弃的数据应该对已发送数据的正确解码不构成任何影响,从而使得客户端在仅接收 到部分数据的情况下也能够连续、顺畅地以完整、清晰的画面进行播放,虽然在部 分时间段帧率可能会有所下降。
本发明适用于以GOP(帧组)结构编码的视频编码标准,例如MPEG1、MPEG2、 MPEG4、H.264和AVS等。在基于GOP结构的视频编码标准中,每个GOP必须以一个 I帧开始,其后紧随一系列P帧和B帧。I帧为帧内编码,解码时不需要参考其它 任何帧;P帧为前向预测编码,解码时需要参考位于它之前的I帧或P帧;B帧为 双向预测编码,解码时需要参考位于它前后两侧的I帧或P帧。对于显示顺序为 “IBBPBBP…”形式的GOP,其传输和解码顺序为“IPBBPBB…”。当决定丢弃某个帧 时,该GOP中所有直接或间接依赖于该帧的其它帧也都必须被丢弃,否则会导致解 码器错误或失败。根据上述丢帧原则和帧间依赖关系,每一个B帧都可以随时丢弃; 当丢弃一个P帧时,当前GOP中按解码顺序位于该P帧之后的所有其它P帧和B帧 都应该丢弃;当丢弃一个I帧时,当前GOP中的所有其它帧也都应该丢弃。
在一个流媒体传输系统中,媒体数据在网络中的传输码率应尽可能与播放器消 耗这些数据的速率相一致。由于在流媒体系统中当客户端启动播放之后每一个视频 帧都必须在一个固定的时间点完成播放,因此播放器消耗(播放)一个GOP的时间 间隔是可以确定的。为此本发明选择让网络在一个GOP播放时间间隔内完成对该GOP 中所有视频帧数据的传输。如果由于带宽限制在规定时间内无法完成所有这些帧的 传输,则应选择丢弃部分帧,并在规定期限到达之后跳过当前GOP而直接进入对下 一个GOP的传输。
为了保证所有被选择发送的RTP包能够按顺序安全可靠到达接收端,本发明选 择采用TCP协议(传输控制协议)来发送这些分组。
本发明所提基于TCP传输协议和GOP时间窗口约束的网络自适应选择性丢帧方 法主要根据上一GOP的发送情况来预测当前GOP中的丢帧策略,并在发送当前GOP 中的每一帧之后再根据实际网络带宽吞吐量情况对当前GOP的丢帧策略进行适当调 整。如图3所示,该选择性丢帧方法的具体实施步骤如下:
S1.通过带外信号指令或检查相邻两个I帧的时间戳等方式来获取当前视频码 流的GOP播放时间间隔值。
S2.以当前时间为基准点,根据GOP播放时间间隔值计算后续各个GOP的发送 时间窗口的起始点和结束点。
S3.在准备发送一个GOP的I帧的第一个RTP分组之前,判断当前时间是否已 超过该GOP的时间窗口起始点:
S3.1.如果未超过,则采用TCP协议依次发送该GOP中的所有帧,包括I帧、 P帧和B帧的各个RTP包;
S3.2.否则进一步判断上一次刚发送完毕的帧是否I帧:
S3.2.1.如果是,则设置丢弃本GOP中所有帧,包括I帧、P帧和B帧;
S3.2.2.否则设置丢弃该GOP中所有B帧,采用TCP协议仅依次发送该GOP中 的I帧和后续所有P帧。
S4.在发送当前GOP中每一视频帧的所有RTP包结束之后,判断当前时间是否 已经超过该GOP的时间窗口结束点:
S4.1.如果未超过,则继续按步骤S3中所确定的丢帧策略采用TCP协议依次 发送下一个应该发送的视频帧;
S4.2.否则丢弃该GOP中后续所有的P帧和B帧,直接进入对下一个GOP的发 送。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈