公开/公告号CN103118241A
专利类型发明专利
公开/公告日2013-05-22
原文格式PDF
申请/专利权人 金三立视频科技(深圳)有限公司;
申请/专利号CN201210043367.2
发明设计人 李力;
申请日2012-02-24
分类号H04N7/18(20060101);H04L29/06(20060101);H04L29/08(20060101);
代理机构44275 深圳市博锐专利事务所;
代理人张明
地址 518000 广东省深圳市宝安区龙华街道办清华路西南侧胜立工业园J栋1至5层
入库时间 2024-02-19 19:06:55
法律状态公告日
法律状态信息
法律状态
2017-01-04
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N7/18 变更前: 变更后: 申请日:20120224
专利权人的姓名或者名称、地址的变更
2016-01-06
授权
授权
2013-06-19
实质审查的生效 IPC(主分类):H04N7/18 申请日:20120224
实质审查的生效
2013-05-22
公开
公开
【技术领域】
本发明涉及一种基于3G网络的移动视频监控流媒体传输自适应调整算法。
【背景技术】
随着各类互联网络的迅速兴起和广泛应用,从网络数据服务上传和下载数据信息的业务日益增加。移动监控设备通常采用3G网络传输数据,而随着移动监控产品的普及,3G网络的带宽瓶颈问题日益凸显,终端设备流媒体传输属于上传动作,虽然3G网络下载速度日益攀升,但是由于上传下载的不对称性,上传速度勉强支持分辨率CIF、码率256Kps的实时流媒体传输。视频监控对网络的实时性和稳定性要求很高,而3G网络容易受到外部环境影响,产生波动,影响实时流媒体数据传输。
【发明内容】
本发明的目的在于有效克服上述技术的不足,提供一种基于3G网络的移动视频监控流媒体传输自适应调整算法,本发明依据3G网络实时状态,对移动监控设备的实时编码方式进行调整,来保证网络的畅通和用户监控画面的流畅。
本发明的技术方案是这样实现的:其改进之处在于,它包括以下步骤:
a)设置网络监听参数,利用套接口选项SO_SNDBUF设置套接口发送缓冲区大小为buf,利用套接口选项SO_SNDLOWAT设置套接口发送低潮为buf/2,另外设置网络良好等级值GOOD_CONDITION与网络恶劣等级值BAD_CONDITION;
b)获取3G网络状态,poll套接口是否可写即可判断3G网络状态,如果套接口不可写,则表示套接字缓冲区数据的消费速度跟不上生产速度,即网络状态堵塞,则进入步骤c;如果套接口可写,表示网络状态良好,则进入步骤e;标准流媒体的帧率为25帧,即平均40ms发送一次数据,考虑到发送动作消耗的时间,设置超时时间长为5-20ms,来避免多余的循环,节省CPU资源;
c)验证数据是否为关键帧,若该数据为关键帧,则进入步骤e,若该数据非关键帧,则直接进入步骤d;
d)丢弃步骤c中的非关键帧数据;
e)记录网络状态,如果套接口可写,即网络状态良好,则将网络良好计数nGood加1,将网络拥堵计数nBad置0;如果套接口不可写,即网络状态拥堵,则将网络良好计数nGood置0,将网络拥堵计数nBad加1;
f)判断网络状态是否达到调整编码参数条件:
将将网络良好计数nGood与网络良好等级值GOOD_CONDITION进行对比,如果nGood>=GOOD_CONDITION,则提高编码参数等级;
将网络拥堵计数nBad与网络恶劣等级值BAD_CONDITION进行对比,如果nBad>=BAD_CONDITION,则降低编码参数等级;
g)调整编码参数,当网络环境良好时,采用慢恢复,提高编码参数等级,每次提升额度为码率等级加1;当网络环境拥塞时,需大幅降低码率,降低编码参数等级,故每次降低额度为码率等级减半;
h)重置网络状态记录,将网络良好计数nGood清零,将网络拥堵计数nBad清零,重复步骤b至步骤h。
所述步骤b中,设置的超时时间长为10ms。
所述步骤f中,码率参数等级总共分为8种,其对应的码率及帧率满足下表:
所述步骤g中,调整编码参数暂存在内存中,不直接写入设备flash。本发明的有益效果在于:其一、本发明可以允许3G网络的速度在较大范围内波动,而不会造成网络拥堵,用户监控画面出现花屏和卡住的现象;当网络环境变差时,降低编码参数等级,保证监控视频流畅性,当网络环境恢复时,提高编码参数等级,保证画面清晰度,甚至在非常恶劣的网络环境下,使用最低的编码方式来保证用户监控画面不会卡住;其二、本发明通过统计数据来判断、来动态调整设备的编码参数,使得设备对当前的网络能力作出一个及时反应,减轻网络的负载,然后根据数据的重要性选择是否丢弃该数据,以达到改善当前网络环境,消除拥塞的效果。
【附图说明】
图1为本发明流程图。
【具体实施方式】
下面结合附图和实施例对本发明作进一步的描述。
参照图1所示,本发明揭示的基于3G网络的移动视频监控流媒体传输自适 应调整算法,它包括以下步骤:
a)设置网络监听参数,利用套接口选项SO_SNDBUF设置套接口发送缓冲区大小为buf,利用套接口选项SO_SNDLOWAT设置套接口发送低潮为buf/2;缓冲区越大越好,大的缓冲区能够抵消到小幅的网络波动,另外设置网络良好等级值GOOD_CONDITION与网络恶劣等级值BAD_CONDITION;
b)获取3G网络状态,poll套接口是否可写即可判断3G网络状态,如果套接口不可写,则表示套接字缓冲区数据的消费速度跟不上生产速度,即网络状态堵塞,则进入步骤c;如果套接口可写,表示网络状态良好,则进入步骤e;标准流媒体的帧率为25帧,即平均40ms发送一次数据,考虑到发送动作消耗的时间,设置超时时间长为10ms,来避免多余的循环,节省CPU资源;
c)验证数据是否为关键帧,若该数据为关键帧,则进入步骤e,若该数据非关键帧,则直接进入步骤d;
d)丢弃步骤c中的非关键帧数据;H264中的关键帧可以单独解码出一张图片,而非关键帧需要依赖它之前的关键帧进行解码,所以关键帧不能丢弃,非关键帧可以丢弃;
e)记录网络状态,如果套接口可写,即网络状态良好,则将网络良好计数nGood加1,将网络拥堵计数nBad置0;如果套接口不可写,即网络状态拥堵,则将网络良好计数nGood置0,将网络拥堵计数nBad加1;
f)判断网络状态是否达到调整编码参数条件:
将将网络良好计数nGood与网络良好等级值GOOD_CONDITION进行对比,如果nGood>=GOOD_CONDITION,则提高编码参数等级;
将网络拥堵计数nBad与网络恶劣等级值BAD_CONDITION进行对比,如果nBad>=BAD_CONDITION,则降低编码参数等级;
g)调整编码参数,当网络环境良好时,采用慢恢复,提高编码参数等级,每次提升额度为码率等级加1;当网络环境拥塞时,需大幅降低码率,降低编码参数等级,故每次降低额度为码率等级减半;码率参数等级总共分为8种,每种等级的帧率与码率见下表:
并且,因为在此算法中的调整编码码率动作调用相当频繁,所以调整编码参数不应直接写入设备flash,只暂存在内存中;
h)重置网络状态记录,将网络良好计数nGood清零,将网络拥堵计数nBad清零,重复步骤b至步骤h。
移动监控设备在采用3G网络传输数据时,若受到外部影响,会产生波动,从而影响了实时流媒体数据的传输,通过上述步骤,当网络拥堵即网络环境变差时,则降低码率参数等级,如上表所示,码率等级降低,那么帧率与码率则相应降低,从而保证监控视频的流畅性,当网络良好即网络环境恢复时,则提高码率参数等级,从而保证画面的清晰度。在非常恶劣的网络环境下时,使用最低的编码方式来保证用户监控画面不会卡住。
以上所描述的仅为本发明的较佳实施例,上述具体实施例不是对本发明的限制。在本发明的技术思想范畴内,可以出现各种变形及修改,凡本领域的普通技术人员根据以上描述所做的润饰、修改或等同替换,均属于本发明所保护的范围。
机译: 基于改进的模糊逻辑的DASH自适应算法的媒体流媒体DASH设备及方法
机译: 车辆控制系统的自适应调整涉及外部数据处理设备中的处理/覆盖参数/参数字段/算法部分,将处理或覆盖的参数或算法传输到控制设备
机译: 基于多径的块传输系统和自适应流媒体服务的流式传输方法