一种实时的纠删码编码冗余度动态调节方法,采用基于发送端的实时连续统计对网络状况做出准确判断并对短期内网络状况进行预测,并以此作为动态调节纠删码冗余度的依据。最终实现系统对网络丢包现象解耦的同时,减少冗余包对网络带宽的消耗,达到提高网络利用率和发送效率的目的。
【技术实现步骤摘要】
一种实时的纠删码编码冗余度动态调节方法
本专利技术属于视频传输
,具体涉及一种实时的纠删码编码冗余度动态调节方法。
技术介绍
实时流媒体视频传输中的前向纠错技术往往使用固定的编码冗余度,这使得进入网络的数据包数目成比例地大量增加。一些研究从H264编码的一组视频帧(GOP)的角度对视频数据进行纠删码编码。这种编码方案中纠删码冗余度一般是固定不变的,其中视频压缩编码属于帧间编码,进行纠删码编码时,位于同一组的编码帧会被重复编码,并且一组纠删码数据包中不会含有后续的视频帧数据,进而实现视频帧级别的编码,最终降低接收端组包过程产生的延迟。一些文献中参与纠删码编码的每组视频数据包包含当前帧和同一组相关的视频帧(GOP)中的所有之前的帧,按照固定的冗余度进行编码。一方面,同一组纠删码数据包中不会包含后续的视频帧,并且没有视频帧拆组包过程,因此不会因为等待后续数据包而产生延迟;另一方面,若因为数据包丢失导致某一组的视频帧不能被解码,能够通过下一组中相关的视频帧数据进行恢复。因为出现突发丢包时相邻数据包的丢失概率存在一定的关系,部分文献在前面工作的基础上,将冗余包的位置调整到每组数据包的中间,使得出现突发丢包时,被丢弃的包是冗余包的概率增加,从而使传输过程更加顺利。某些文献采取了措施:基于接收端反馈采用固定冗余度产生冗余包对纠删码数据包实际输出个数进行动态调整,但是存在缺点是由于网络状况的随机性接收端反馈延时会带来调整误差;另一些文献采取了措施:基于多接收端反馈采用固定冗余度产生冗余包,但缺点是计算复杂、编码过程耗费大量时间;还有一些文献采取了以下措施:基于接收端反馈依据量化参数调整冗余度方法,数据包个数固定,而缺点是依赖接收端的周期性反馈。
技术实现思路
针对上述提到的现有技术中的问题,提出一种实时的纠删码编码冗余度动态调节方法,其特征在于,包括:步骤1,生成视频序列,所述视频序列中包括多个的数据帧;步骤2,发送端传输视频序列;步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度;步骤4,接收端接收发送端传输的视频序列;步骤5,对网络传输状态进行性能分析。本专利技术实现了纠删码编码冗余度的更准确调节。与现有文献不同之处在于,本专利技术采用基于发送端的实时连续统计对网络状况做出准确判断并对短期内网络状况进行预测,并以此作为动态调节纠删码冗余度的依据。最终实现系统对网络丢包现象解耦的同时,减少冗余包对网络带宽的消耗,达到提高网络利用率和发送效率的目的。本专利技术实现了基于发送端依靠对丢包情况进行统计学运算进而对网络状况进行实时估计,与现有技术通过接收端反馈网络波动的方式不同,本专利技术在发送端对网络丢包状况进行统计,减少了因为接收端反馈过程带来的统计过程延迟。通过发送端统计丢包率可以在一个往返时延内得到数据包的传输结果,在丢包率统计周期结束时即得到丢包统计结果,而接收端需要额外的反馈与处理过程。另外,在线统计检验过程中通过滑动窗口的方式更新用于检验的均值与标准差,使统计过程更加及时。并且,相比于以视频帧为单位和编码后每组数据包总数不同的传输方式,通过定常速率的传输方式,可以实现数据包稳定高效的传输,一方面可以保证单位时间内进入网络的数据量保持恒定,另一方面降低因数据包发送间隔的不同而产生的延迟。对比现有方法,本专利技术与固定冗余度相比更加传输效率更高,并且与基于接收端反馈进行动态调节冗余度相比更灵活可靠传输更稳定。附图说明图1本专利技术方法流程图;图2数据包往返时延统计分布图。具体实施方式为了更好地理解本专利技术,下面结合附图参考实施例的描述,对本专利技术的系统进行进一步的说明。为了全面理解本专利技术,在以下详细描述中提到了众多具体细节。但是本领域技术人员应该理解,本专利技术可以无需这些具体细节而实现。在实施例中,不详细描述公知的方法、过程、组件,以免不必要地使实施例繁琐。参见图1-2所示,本专利技术提供了一种实时的纠删码编码冗余度动态调节方法,包括:步骤1,生成视频序列,所述视频序列中包括多个的数据帧;步骤2,发送端传输视频序列;步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度;步骤4,接收端接收发送端传输的视频序列;步骤5,对网络传输状态进行性能分析。优选地,其中,所述步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度,具体包括:步骤3-1,统计一段时间内N次连续的数据包网络往返时延,得到初始化的该段时间内数据包往返时延的平均值μRTT和标准差σRTT;步骤3-2,对该段时间内连续的数据包往返时延进行统计确定时延阈值λ′RTT=μRTT+2σRTr;步骤3-3,获取发送端传输当前的单个数据包往返时延λRTT;步骤3-4,将当前的数据包往返时延λRTT与通过对该包之前连续数据包的传输时延进行统计得到的时延阈值λ′RTT进行比较;若出现λRTT≥λ′RTT,则表示数据包往返时延过长,判定为该当前数据包在网络传输过程中丢失,记录一次丢包;若λRTT<λ′RTT,则表示数据包往返时延正常,使用滑动窗口的方式,设置窗口大小为M,每当得到新的数据包确认信息后,去掉窗口中最早的往返时延,将新的结果加入该窗口中,实现对数据包往返时延及数据包丢失情况的实时监测;步骤3-5,发送端根据公式(1),得到丢包率结果,其中Nsend和Nloss分别表示一个统计周期内发送的数据包总数和丢失的数据包个数,r表示丢包率;r=(Nsend-Nloss)/Nsend(1)步骤3-6,根据N次数据包传输丢包率的统计,得到该段时间内数据包丢包率的平均值μPLR和标准差σPLR;步骤3-7,计算纠删码编码冗余度调整的参考比率:rate=μPLR+3σPLR(2)步骤3-8,根据纠删码编码冗余度调整的参考比率rate,调整发送端纠删码编码冗余度,更新数据包个数与冗余包个数;步骤3-9,使用滑动窗口的方式,设置窗口大小为M,每当得到新的丢包率后,去掉窗口中最早的丢包率数据,将新的结果加入该窗口中,实现对网络状况的实时监测。优选地,其中,N=10。优选地,其中,窗口大小为M=10优选地,其中,统计周期为300ms。优选地,其中,所述步骤2,采用发送端采用定常速率输出传输所述视频序列。优选地,其中,所述采用发送端采用定常速率输出传输所述视频序列,具体包括:步骤2-1,预设标准包长为m;步骤2-2,获取一帧视频数据后,确定该视频帧的长度L;步骤2-3,判断视频帧的长度,若该视频帧的长度L大于标准包长m,则将该视频数据拆分为L/m份长度不超过L的视频数据包,并在视频数据包的包头中添加相应的拆组包控制信息;若该视频帧的长度L不大于标准包长m,则不进行拆分,使用一个视频数据包发送这些数据;步骤2-4,根据本文档来自技高网...
【技术保护点】
1.一种实时的纠删码编码冗余度动态调节方法,其特征在于,包括:/n步骤1,生成视频序列,所述视频序列中包括多个的数据帧;/n步骤2,发送端传输视频序列;/n步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度;/n步骤4,接收端接收发送端传输的视频序列;/n步骤5,对网络传输状态进行性能分析。/n
【技术特征摘要】
1.一种实时的纠删码编码冗余度动态调节方法,其特征在于,包括:
步骤1,生成视频序列,所述视频序列中包括多个的数据帧;
步骤2,发送端传输视频序列;
步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度;
步骤4,接收端接收发送端传输的视频序列;
步骤5,对网络传输状态进行性能分析。
2.根据权利要求1所述的方法,其中,所述步骤3,发送端对网络传输状态进行连续实时统计,实时动态地调节纠删码冗余度,具体包括:
步骤3-1,统计一段时间内N次连续的数据包网络往返时延,得到初始化的该段时间内数据包往返时延的平均值μRTT和标准差σRTT;
步骤3-2,对该段时间内连续的数据包往返时延进行统计确定时延阈值λ′RTT=μRTT+2σRTT;
步骤3-3,获取发送端传输当前的单个数据包往返时延λRTT;
步骤3-4,将当前的数据包往返时延λRTT与通过对该包之前连续数据包的传输时延进行统计得到的时延阈值λ′RTT进行比较;
若出现λRTT≥λ′RTT,则表示数据包往返时延过长,判定为该当前数据包在网络传输过程中丢失,记录一次丢包;
若λRTT<λ′RTT,则表示数据包往返时延正常,使用滑动窗口的方式,设置窗口大小为M,每当得到新的数据包确认...
【专利技术属性】
技术研发人员:高一凡,曹瑞娟,刘正,曾雷,王乐,曹志辉,
申请(专利权)人:北京创享苑科技文化有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。