一种网络自适应的流媒体服务质量控制方法及装置与流程

文档序号:13249950阅读:336来源:国知局
技术领域本发明涉及一种控制方法及装置,属于流媒体服务质量控制领域,具体涉及一种网络自适应的流媒体服务质量控制方法及装置。

背景技术:
帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(FramesPerSecond)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。帧数(fps)越高,所显示的动作就会越流畅。由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯的,此现象称之为视觉停留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速播放的。流媒体视频通信是网络多媒体应用的重要内容,流媒体业务的本身特性决定了流媒体视频传输对网络带宽、传输延时和丢包特性提出了较高的要求。然而,目前的IP网络采用“尽力而为”的方式提供服务,不能为视频传输提供服务质量保证。当前的网络特性不可避免地会带来传输差错,这种差错会导致视频重建质量的下降,并且差错会在时间域和空间域上传播,使得用户的主观感受质量进一步恶化。在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧。其中:I帧即Intra-codedpicture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码。P帧即Predictive-codedPicture(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码。B帧即Bidirectionallypredictedpicture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图像帧(I帧或P帧),也需要后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码,在视频编码序列中,GOP即Groupofpicture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离,如图1所示:一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧。所以在码率不变的前提下,GOP值越大,P、B帧的数量会越多,平均每个I、P、B帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,P、B帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP值也不宜设置过大。同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。媒体视频通信是网络多媒体应用的重要内容,流媒体业务的本身特性决定了流媒体视频传输对网络带宽、传输延时和丢包特性提出了较高的要求。然而,目前的IP网络采用“尽力而为”的方式提供服务,不能为视频传输提供服务质量保证。当前的网络特性不可避免地会带来传输差错,这种差错会导致视频重建质量的下降,并且差错会在时间域和空间域上传播,使得用户的主观感受质量进一步恶化。流媒体数据在传输过程中,由于网络传输过程中带宽的变化造成视频在传输过程中丢帧的现象比较频繁,这种情况在传统的视频传输中经常出现,每当遇到这种情况,就会看到视频播放过程中卡顿及花屏的情况出现。图2-3描述了网络丢包的情况发生时的状况,图2描述的是正常的视频片段传输顺序,图3描述的是在网络出现问题时丢包的情况。由于图3在传输过程中丢包比较严重,丢包率为33%,这种丢包情况会造成客户端在播放过程中出现花屏和卡顿的情况,影响直播过程中的观看体验。

技术实现要素:
本发明主要是解决现有技术所存在的当网络状况较差时,流媒体的服务质量较差,客户端在播放过程中容易出现花屏和卡顿等技术问题,提供了一种网络自适应的流媒体服务质量控制方法及装置。该方法及装置设置比较小的GOP的编码参数,并且采用主动丢包的处理过程,动态监测网络带宽,按照各种帧的重要性的程序,顺序丢弃B,P和I帧,减少了花屏出现的概率,在带宽不是特别小的情况下,基本上还能达到一个比较理想的观看效果。为了解决上述问题,根据本发明的一个方面,提供了一种网络自适应的流媒体服务质量控制方法,包括:实时监控步骤:在流媒体数据发送的过程中,实时监测当前待发送数据的数据量与当前带宽的适配情况,判断是否需要丢包;正常发送步骤:当获取到在当前网络状况下不需要丢包时,则按正常的发包流程发送所述待发送数据;丢包控制步骤,当获取到在当前网络状况下需要丢包时,执行以下子步骤:B帧丢弃子步骤,用于从待发送数据中丢掉B帧,并且当判断到剩余待发送数据量仍不满足带宽条件时,调用P帧丢弃子步骤;当判断到剩余待发送数据量满足带宽条件时,发送剩余待发送数据;P帧丢弃子步骤,用于以一个I帧为参照,丢掉该I帧前的若干个P帧数据,并且当判断到剩余待发送数据量仍不满足带宽条件时,调用I帧丢弃子步骤;当判断到剩余待发送数据量满足带宽条件时,发送剩余待发送数据;I帧丢弃子步骤,用于从待发送数据中丢掉I帧数据,并发送剩余待发送数据。优化的,上述的一种网络自适应的流媒体服务质量控制方法,采用0.5秒的GOP值编码待发送流媒体数据。优化的,上述的一种网络自适应的流媒体服务质量控制方法,所述P帧丢弃子步骤中,以画面组为单位按照P帧的出现顺序对画面组内的P帧进行重要性排序,其中,出现较早的P帧重要性大于出现较晚的P帧,并且采用迭代方式丢弃当前重要性最小的P帧,直至剩余数据量满足带宽需求。优化的,上述的一种网络自适应的流媒体服务质量控制方法,所述I帧丢弃子步骤中,在丢弃操作后,相邻两个剩余I帧之间丢弃的I帧数量相同。为了解决上述问题,根据本发明的另一个方面,提供了一种网络自适应的流媒体服务质量控制装置,包括:实时监控模块:在流媒体数据发送的过程中,实时监测当前待发送数据的数据量与当前带宽的适配情况,判断是否需要丢包;正常发送模块:当获取到在当前网络状况下不需要丢包时,则按正常的发包流程发送所述待发送数据;丢包控制模块,当获取到在当前网络状况下需要丢包时,调用以下单元:B帧丢弃单元,用于从待发送数据中丢掉B帧,并且当判断到剩余待发送数据量仍不满足带宽条件时,调用P帧丢弃单元;当判断到剩余待发送数据量满足带宽条件时,发送剩余待发送数据;P帧丢弃单元,用于以一个I帧为参照,丢掉该I帧前的若干个P帧数据,并且当判断到剩余待发送数据量仍不满足带宽条件时,调用I帧丢弃单元;当判断到剩余待发送数据量满足带宽条件时,发送剩余待发送数据;I帧丢弃单元,用于从待发送数据中丢掉I帧数据,并发送剩余待发送数据。优化的,上述的一种网络自适应的流媒体服务质量控制装置,用于编码待发送流媒体数据的编码装置采用0.5秒的GOP值编码待发送流媒体数据。优化的,上述的一种网络自适应的流媒体服务质量控制装置,所述P帧丢弃单元以画面组为单位按照P帧的出现顺序对画面组内的P帧进行重要性排序,其中,出现较早的P帧重要性大于出现较晚的P帧,并且采用迭代方式丢弃当前重要性最小的P帧,直至剩余数据量满足带宽需求。优化的,上述的一种网络自适应的流媒体服务质量控制装置,所述I帧丢弃单元中,在丢弃操作后,相邻两个剩余I帧之间丢弃的I帧数量相同。因此,本发明具有如下优点:本发明设置比较小的GOP的编码参数,并且采用主动丢包的处理过程,动态监测网络带宽,按照各种帧的重要性的程序,顺序丢弃B,P和I帧,减少了花屏出现的概率,在带宽不是特别小的情况下,基本上还能达到一个比较理想的观看效果。附图说明附图1是I、P、B帧示意图;附图2是正常的视频片段传输顺序。附图3是在网络出现问题时丢包的情况。附图4是本实施例的根据网络变化需要丢包时所做的处理描述过程示意图。具体实施方式下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。实施例:传统的数据传输对于丢包是出于被动的方式,对于丢包的情况无法控制,这就是我们平常在观看网络视频时经常会出现的花屏和卡顿的情况。本实施例考虑的是在相同网络环境下如何有效提高用户的观看体验,本实施例从下面两个方面来改善视频数据传输的处理:(1)减小编码的GOP值:由于网络丢包率比较高,所以我们在做编码时,采用比较小的GOP值,大约半秒的时间间隔,这种编码方法中视频I帧的数量相对比较多,当前一个包丢失时,客户端在解码时,在1秒之内很快就能找到下一个I帧,达到快速重建图象的目的,减少了花屏发生的频率。(2)根据网络的实时情况和I、P和B帧的相关性确定丢掉的情况:根据网络的实时情况动态调整发包的频率,在网络状况好的时候,就按正常的发包流程发送音视频数据。当监测到网络带宽突然变小时,这时就得根据既定的策略,即在当前的网络带宽条件下,让用户的观看尽可能的流畅,并减少花屏和卡顿出现的概率,动态调整丢包的情况。由于这是一种主动的丢包行为,所以可以根据当前带宽的情况决定丢包的情况,具体的处理过程如下所述:参照图2和图4所示,其中,图2为正常网络带宽条件下发包的顺序及发包的数量;图4为本实施例的丢包处理方式。本实施例是在计算了当前带宽的情况下,根据I、P和B帧的重要性选择比较均匀的丢包方式。这种丢包方式分为下面几种情况:1)计算当前网络条件下丢掉B帧时,I帧和P帧网络数据量是否满足带宽条件,如果满足,则丢掉相应的B帧。这种情况下,客户端的播放无论是流畅性和清晰度都还可以达到不错的观看效果。2)在丢掉B帧还不能满足带宽的前提下,以一个I帧为参照,丢掉I帧前面的P帧数据,至于丢掉P帧数据的数量,需要根据当前带宽的大小动态计算,如果这时能找到合适的I帧和P帧的数据量,可以按照当前的网络带宽发送相应的数据量。这种情况的播放需要根据丢掉的P帧的情况,如果丢掉的P帧数据不是特别多,还可以达到一个比较流畅的观看体验。当丢掉的I帧比较多时,这时观看比较卡顿了。3)在上面计算丢P帧还不能满足当前带宽的情况下,这时就只剩下I帧的数据,这时可以根据带宽情况计算需要发送的I帧的数据的大小了。这种情况下观看体会就是,I帧多,顿的情况就好一点,I帧少就特别顿。在丢弃P帧时,由于P帧是参照前面的I或P帧,在丢包处理中,我们将上面第1组GOP中的P帧按顺序编号,它们的重要性按顺序依次减小,在丢包时,我们就按它们的重要性按序号从大到小的顺序进行丢包。例如两个画面组内的帧序如下:IPPPPPPPIPPPPPP对上述第一个画面组“IPPPPPPP”内的P帧按顺序编号得到的编号如下:表1P帧重要性排序IPPPPPPP1234567在丢包时,首先丢掉7号P帧,再计算剩下的数据能否满足带宽要求,如果不满足,继续丢6号P帧,依次类推,直到满足合适的带宽需求。在丢掉所有的P帧之后的数据还不能满足带宽要求时,这时只剩下I帧,由于I帧是帧内压缩生成的,所以各个I帧的重要性是等同的,这时只需要根据带宽要求比较均匀的丢掉相应的帧即可。表2I帧发送序列及编号IIIIIIIII…I123456789…N例如,对于表2中的I帧带宽满足发送I帧时的发送顺序为:123456789......,需要丢I帧处理时,按带宽情况可能的顺序为:丢1个I帧时发送顺序为:13579......丢2个I帧时发送顺序为:147......本实施例的丢包处理是一种主动的丢包处理行为,在数据传输过程会实时监测网络带宽,并根据带宽情况对丢包做动态调整,以保证客户端在相同的带宽条件下达到最佳的播放体验。本实施例应用在与图3相同的网络环境下,其丢包率为33%。本实施例属于主动丢包的处理过程,在考虑丢包的情况时,设置比较小的GOP的编码参数,动态监测网络带宽,为了客户端有一个比较好的播放体验,在考虑了I帧,P帧和B帧的重要性及各帧所携带的数据信息,按照各种帧的重要性的程序,按B,P和I帧的顺序进行丢帧的处理,这种处理方式减少了花屏出现的概率,在带宽不是特别小的情况下,基本上还能达到一个比较理想的观看效果。本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1