视频传输过程的码率控制方法与流程

文档序号:13481936阅读:766来源:国知局

本发明涉及视频播放领域,具体涉及一种视频传输过程的码率控制方法。



背景技术:

随着对视频播放要求越来越高,传统流媒体系统采用缓存帧的方法来克服信道变化等原因造成的不稳定性,缓存帧用一定的时延来换取视频的流畅性。在信号条件变差时,缓冲区发生下溢,则暂停媒体播放,缓冲后继续播放,但该方法容易造成视频播放的中断,且很难保证视频传输的实时性,影响用户的观看体验。

针对上述问题,专利文件201310006416.x公开了一种无线网络下视频实时传输的码率平滑方法,通过周期性的统计视频帧的传输时延,当传输时延变小时,通过快进调小播放缓存;当传输时延变大时,通过慢放调大播放缓存,所述快进和慢放的调整步长由传输时延变化、播放缓存深度以及时间戳信息共同决定。该方法在实际操作中,通过调节播放速度的25%变化幅度来调整缓存区大小,然而,播放速度25%的变化导致画面和声音的非正常状态较大影响了用户的体验。



技术实现要素:

本发明的目的在于提出一种视频传输过程的码率控制方法,首先预测一下时间段的传输时延,并根据该传输时延设于的具体区间位置设置不同处理方法,从而保证整体视频传输码率的稳定和平滑,且有效缩小播放延时。

为实现上述目的,本发明所采用的技术方案是一种视频传输过程的码率控制方法,所述方法包括以下步骤:

s1、根据缓冲区当前时段传输时延和上一时段传输时延的大小比对,预测下一时段传输时延的变化情况;若预测的下一时段传输时延在第一预设范围区间,则至步骤s2;如不在第一预设范围区间但在第二预设范围区间,所述第二预设范围区间包含第一预设范围区间,则至步骤s3;

s2、根据预测的缓冲区下一时段传输时延与当前时段的传输时延的大小关系,调整读出缓冲区数据的速度;

s3、根据预测的缓冲区下一时段传输时延与当前时段的传输时延的大小关系,相应调整编码器中下一时段i帧图像处理的强度。

进一步的,所述缓冲区为环形缓冲区。

进一步的,所述步骤s1中的预设范围的上限为当前时段的帧传输时延值与该传输时延值的10%的加和数值,下限为当前时段的帧传输时延值与该传输时延的10%的相减数值。

此时,所述步骤s2具体包括:

s2.1、预测的缓冲区下一时段传输时延大于当前时段的传输时延,即网络传输速度减缓,则读出缓冲区数据的速度放慢;

s2.2、预测的缓冲区下一时段传输时延小于当前时段的传输时延,即网络传输速度加快,则读出缓冲区数据的速度加快。

进一步的,所述步骤s2.1中所述读出缓冲区数据的放慢速度和加快速度具体为:按照时间戳播放速度的20%的范围内变化,即放慢速度下限为时间戳播放速度的80%,上限为时间戳播放速度;加快速度下限为时间戳播放速度,上限为时间戳播放速度的120%。

在另一个优选方案中,所述步骤s1中的第二预设范围区间上限为当前时段的帧传输时延值与该传输时延值的30%的加和数值,下限为当前时段的帧传输时延值与该传输时延的30%的相减数值;

则不在第一预设范围区间且在第二预设范围区间内的部分包括两个范围区间,一个上限为当前时段的帧传输时延值与该传输时延值的30%的加和数值,下限为当前时段的帧传输时延值与该传输时延值的10%的加和数值;另一个上限为当前时段的帧传输时延值与该传输时延的10%的相减数值,下限为当前时段的帧传输时延值与该传输时延的30%的相减数值。

此时,所述步骤s3具体包括:

s3.1、预测的缓冲区下一时段传输时延大于当前时段的传输时延,即网络传输速度减缓,则编码器的图像处理模块将下一时段i帧的图像降低噪声操作的滤波强度、降低边缘增强操作的处理强度和/或增强图像的压缩量,以降低下一时段i帧的传输码率;

s3.2、预测的缓冲区下一时段传输时延小于当前时段的传输时延,即网络传输速度加快,则编码器的图像处理模块将下一时段i帧的图像增强噪声操作的滤波强度、增加边缘增强操作的处理强度和/或减少图像的压缩量,以提高下一时段i帧的图像质量。

再一个优选方案中,所述方法还包括步骤s4,所述步骤s1中还包括当前时段的帧传输延时不在第二预设范围区间,则至步骤s4;

s4、预测的缓冲区下一时段传输时延小于第二预设范围的下限时,即网络传输速度非常缓慢,则编码器的图像处理模块将下一时段i帧的图像增强噪声操作的滤波强度、降低边缘增强操作的处理强度和/或增强图像的压缩量;同时缓冲区丢弃非关键帧p帧,降低下一时段i帧的传输码率;预测的缓冲区下一时段传输时延大于第二预设范围的下限时,读出缓冲区数据的速度加快,且加快上限为时间戳播放速度的120%。

进一步的,所述步骤s4中缓冲区丢弃非关键帧p帧具体为:从环形缓冲区的读指针部分开始丢弃非关键帧p帧,直到遇到i帧就停止丢帧,再将新来的数据帧增加进入缓冲区。

为进一步缩短数据传输时延,所述步骤s4中还包括:

在缓冲区预设一个最大距离阈值,当预测的缓冲区下一时段传输时延小于第二预设范围的下限时,且缓冲区累积的数据包超过最大距离阈值,读指针自动跳过最大距离阈值,跳到其后的i关键帧。

本发明首先预测一下时间段的传输时延,并根据该传输时延设于的具体区间位置设置不同处理方法,从而保证整体视频传输码率的稳定和平滑,且有效缩小播放延时。具体的,预测下一时段传输时延在变化范围较小(即第一预设范围)内,通过调整读出缓冲区数据的速度来控制码率传输,该读出缓冲区数据的速度快慢即为播放时间的快慢,而在变化范围较小的区间内,该调整是人眼无法察觉到的。预测下一时段传输时延在变化范围较大(即第二预设范围区间)内,通过调整编码器的图像处理和压缩量来实现关键帧i帧的传输码流,该调整在网络传输速度慢时,牺牲一些图像质量已达到传输平滑顺畅的目的。预设下一时段传输时延在变化范围最大(即不在第二预设范围区间)时,在网络传输速度慢时,结合图像处理及其压缩量,丢弃非关键帧p帧或者跳过最大距离阈值,以达到传输平滑顺畅。

附图说明

图1为本发明视频传输过程的码率控制方法的实施方式的示意图;

图2为本发明视频传输过程的码率控制方法中步骤s2的一种实施方式的示意图;

图3为本发明视频传输过程的码率控制方法中步骤s3的一种实施方式的示意图;

图4为本发明视频传输过程的码率控制方法中步骤s4的一种实施方式的示意图;

图5为步骤s4中当网络传输状态较差时进行的缓存跟进示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面参考附图对本发明的实施例进行描述。参见图1,一种视频传输过程的码率控制方法,所述方法包括:

s1、根据缓冲区当前时段传输时延和上一时段传输时延的大小比对,预测下一时段传输时延的变化情况;若预测的下一时段传输时延在第一预设范围区间,则至步骤s2;如不在第一预设范围区间但在第二预设范围区间,所述第二预设范围区间包含第一预设范围区间,则至步骤s3;

需要说明的是,为保证有效准确的传输时延预测,本发明方法对缓冲区视频帧的传输时延周期进行统计,针对上一个时段的传输时延,当前传输时延变小,则说明网络状况较好;而当前传输时延变大,则说明网络状况较差。还需要说明的是,本发明统计一个时段视频帧的传输时延所采用的方法为现有技术,在此不做过多描述。

s2、根据预测的缓冲区下一时段传输时延与当前时段的传输时延的大小关系,调整读出缓冲区数据的速度;

s3、根据预测的缓冲区下一时段传输时延与当前时段的传输时延的大小关系,相应调整编码器中下一时段i帧图像处理的强度。

在上述基础方案的基础上,本发明视频传输过程的码率控制方法在一个具体的实施方案中,如图2所示,所述步骤s1中的第一预设范围的上限为当前时段的帧传输时延值td_current与该传输时延值td_current的10%的加和数值,下限为当前时段的帧传输时延值td_current与该传输时延td_current的10%的相减数值;即[td_current-10%td_current,td_current+10%td_current]。

此时,步骤s2具体包括:

s2.1、预测的缓冲区下一时段传输时延td_next大于当前时段的传输时延td_current,即td_next>td_current+10%td_current,网络传输速度减缓,则读出缓冲区数据的速度放慢;

在该步骤中,网络传输速度减缓,将读出缓冲区数据的速度放慢,即缓冲区的播放缓存调大,从而避免缓冲区播控造成视频中断。该处所述速度放慢具体为,按照时间戳播放速度v_normal的20%的范围内变化,放慢速度下限为时间戳播放速度的80%,上限为时间戳播放速度,即速度变化范围为[80%v_normal,v_normal]。

s2.2、预测的缓冲区下一时段传输时延td_next小于当前时段的传输时延td_current,即td_next<td_current-10%td_current,网络传输速度加快,则读出缓冲区数据的速度加快。

在该步骤中,网络传输速度加快,将读出缓冲区数据的速度加快,即缓冲区的播放缓存调小,从而减小传输时延。该处所述速度加快具体为,按照时间戳播放速度v_normal的20%的范围内变化,加快速度下限为时间戳播放速度,上限为时间戳播放速度的120%,即速度变化范围为[v_normal,120%v_normal]。

本发明视频传输过程的码率控制方法在另一个具体的实施方案中,图3所示,所述步骤s1中的第二预设范围的上限为当前时段的帧传输时延值td_current与该传输时延值td_current的30%的加和数值,下限为当前时段的帧传输时延值td_current与该传输时延td_current的30%的相减数值;即[td_current-30%td_current,td_current+30%td_current]。由于预测的下一时段传输时延不在第一预设范围,且在第二预设范围区间内,则预测的下一时段传输时延包括两个范围区间,一个上限为当前时段的帧传输时延值与该传输时延值的30%的加和数值,下限为当前时段的帧传输时延值与该传输时延值的10%的加和数值,即[td_current+10%td_current,td_current+30%td_current];另一个上限为当前时段的帧传输时延值与该传输时延的10%的相减数值,下限为当前时段的帧传输时延值与该传输时延的30%的相减数值,[td_current-30%td_current,td_current-10%td_current]。

此时,步骤s3具体包括

s3.1、当预测的缓冲区下一时段传输时延td_next大于当前时段的传输时延td_current,即网络传输速度减缓,则编码器的图像处理模块将下一时段i帧的图像降低噪声操作的滤波强度、降低边缘增强操作的处理强度和/或增强图像的压缩量,以降低下一时段i帧的传输码率;

s3.2、预测的缓冲区下一时段传输时延td_nextt小于当前时段的传输时延td_current,即网络传输速度加快,则编码器的图像处理模块将下一时段i帧的图像增强噪声操作的滤波强度、增加边缘增强操作的处理强度和/或减少图像的压缩量,以提高下一时段i帧的图像质量。

图4示出了本发明视频传输过程的码率控制方法的又一个实施方式,在该实施方案中,所述步骤s1中还包括当前时段的帧传输延时不在第二预设范围区间,则还包括步骤s4。在上述的技术方案基础上,该实施方式的当前时段的帧传输时延td_current>td_current+30%td_current,或者td_current<td_current-30%td_current。

s4、预测的缓冲区下一时段传输时延td_next小于第二预设范围的下限时,即td_current(td_next)<td_current-30%td_current,此时预测网络传输速度非常缓慢,则编码器的图像处理模块将下一时段i帧的图像增强噪声操作的滤波强度、降低边缘增强操作的处理强度和/或增强图像的压缩量;同时缓冲区丢弃非关键帧p帧,降低下一时段i帧的传输码率。预测的缓冲区下一时段传输时延td_next大于第二预设范围的下限时,即td_current(td_next)>td_current+30%td_current,读出缓冲区数据的速度加快,且加快上限为时间戳播放速度的120%。

需要说明的是,本发明所述的缓冲区为环形缓冲区,所述步骤s4中缓冲区丢弃非关键帧p帧具体为:从环形缓冲区的读指针部分开始丢弃非关键帧p帧,直到遇到i帧就停止丢帧,再将新来的数据帧增加进入缓冲区。

再进一步的优选方案中,所述步骤s4中还包括:

如图5所示,在缓冲区预设一个最大距离阈值d_max,当预测的缓冲区下一时段传输时延td_next小于第二预设范围的下限时,且缓冲区累积的数据包超过最大距离阈值d_max,读指针自动跳过最大距离阈值d_max,跳到其后的i关键帧。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备可以是个人计算机,服务器,或者网络设备等执行各个实施例或者实施例的某些部分所述的方法。

以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1