当前位置: 首页 > 专利查询>南京大学专利>正文

一种监控视频发送端视频编码流速控制的方法技术

技术编号:23861300 阅读:59 留言:0更新日期:2020-04-18 14:00
本发明专利技术公开了一种监控视频发送端视频编码流速控制的方法,主要步骤包括:(1)收集视频发送场景网络实时可用带宽数据集;(2)利用真实带宽数据构建监控视频发送端的仿真训练环境,训练环境根据真实带宽数据实时决定监控视频发送的最高可用带宽,作为视频的发送速率,并接收深度强化学习模型选择的码率调整编码器的编码码率;(3)构建基于信赖域的连续动作输出深度强化学习模型,并利用仿真环境训练该模型;(4)将训练好的模型放进监控视频集成到真实环境中交互,进行线上训练优化;(5)将优化好的深度学习模型集成到监控视频发送端,进行发送端编码器的编码码率决策。本发明专利技术利用深度强化学习解决了监控视频发送端的编码流速控制问题。

A method of video coding flow rate control in video transmitter

【技术实现步骤摘要】
一种监控视频发送端视频编码流速控制的方法
本专利技术涉及实时视频传输领域,尤其涉及监控视频监控端的视频编码流速控制的方法。
技术介绍
监控视频通常在实时性、流畅度以及视频画面质量等方面都具有较高的要求。然而在实际的监控环境中,从监控视频的采集端到以监控室为例的接收端,视频的传输往往会经过较为复杂的网络环境,复杂的网络环境会导致带宽受限和时延波动的情况发生,从而影响监控视频播放端(接收端)的实时性、流畅度和清晰度。为了保证监控视频的传输效果和提升监控视频的观看体验,需要对监控视频传输过程中所有环节都进行有针对性的优化,特别是视频发送端的编码流速控制部分。监控视频发送端需要精确的编码流速控制,其主要的原因在于:一方面,监控视频的发送速率是由复杂的网络环境所决定的,具有变化迅速和难以预测等特征;另一方面,监控视频发送端视频采集后的编码阶段的速率是可以通过人为调整编码器编码参数进行控制的,视频的发送过程中,从视频编码器编码到码流通过网络发送的过程中间往往会经过一个视频发送缓冲区来保证视频发送的流畅度,视频发送缓冲区的消耗速度是由网络实时可用带宽也就是实际的发送速率决定的,视频发送缓冲区的增加速度是由编码器的编码码率所决定的,因此会出现视频编码码率和视频发送速率出现不匹配的问题。如果监控视频发送端的编码速率和视频的发送速率不匹配,就可能导致视频发送端的视频发送缓冲区溢出或者“饥饿”的现象。视频发送缓冲区溢出即为视频缓冲区里的视频帧数已经达到了该缓冲区的容量上限,如果想再存储编码器编码后的视频帧,则需要将最早进入该缓冲区的视频帧清除出去,导致视频传输过程中的“丢帧现象”。另一方面,视频发送缓冲区的饥饿现象主要是视频发送缓冲区变空,往往是由视频编码的码率长期低于视频发送的实时可用带宽造成的,这说明了视频发送的过程中带宽的利用率过低,浪费了大量的可用带宽资源,同时监控视频接收端的视频清晰度也还有进一步提升的空间。因此,监控视频发送端的视频编码流速控制主要想达到的目的就是使得监控视频编码器的编码速率和视频发送速率相匹配,当实时可用带宽较大的时候,说明视频发送的速率较大,可以适当地提升视频编码器的编码速率;当实时可用带宽下降时,则视频发送速率降低,应当及时降低编码器的编码速率,避免视频发送缓冲区出现溢出而导致视频丢帧现象发生。要实现上述的速率匹配最直观的方式是需要提前预知下一个时刻视频发送的实时可用带宽,然后根据预测的实时可用带宽的水平调整下个时刻编码器的编码速率。然而在实际的环境中,由于实际可用带宽的变化通常没有规律可言,对下一个时刻的实际可用带宽的估计是相当困难的,因此只能通过观察视频发送过程中的一些能够测量到的特征参数来对当前传输环境进行粗略估计,根据观测到的特征参数来选择下一个时刻的编码器编码码率。通过能够测量到的特征参数来进行速率匹配的难点在于如何根据测量到的参数准确判断当前的视频发送环境的特征,特别是当前网络的实时可用带宽。
技术实现思路
针对上述监控视频发送时的码率控制问题,本专利技术提出了一种基于深度强化学习的监控视频发送端视频编码流速控制方法。本专利技术采用的技术方案如下:一种监控视频发送端视频编码流速控制的方法,包括如下步骤:步骤1,利用等间隔采样的方式收集实际传输环境的真实带宽变化数据,制作用于训练的视频发送场景网络实时可用带宽数据集;步骤2,利用步骤1中收集到的真实带宽数据构建监控视频发送端的仿真训练环境,训练环境根据真实带宽数据实时决定监控视频发送的最高可用带宽作为视频发送速率,并接收深度强化学习模型选择的码率设定为编码器下个时间段的编码码率;步骤3,构建基于信赖域的连续动作输出深度强化学习模型,设计模型训练需要的目标奖励函数,利用步骤2中的仿真训练环境训练该模型;模型以步骤2中的仿真训练环境输出的各项数据作为输入,选择下一时刻监控视频发送端的编码码率,训练模型的目标是最大化设定的目标奖励函数;步骤4,将步骤3中训练好的模型集成到真实环境中进行交互,进行线上训练优化;步骤5,将优化好的深度强化学习模型集成到监控视频发送端,进行发送码率的选择。进一步地,所述步骤1中,真实带宽变化数据包括监控视频发送时的实时可用带宽变化数据以及现有公开的带宽变化数据集。其中,监控视频发送时的实时可用带宽数据为:设定不同的时间间隔采样收集的视频发送的网络可用带宽。进一步地,所述步骤2中,构建监控视频发送端的仿真训练环境,具体过程为:步骤21,构建视频编码器仿真模块,视频编码器仿真模块的输入为监控视频的一些固定编码参数,包括视频的帧率、视频图像组的大小、以及选择的视频编码码率;视频编码器仿真模块的输出为一个视频帧的数据量大小;根据输入的固定编码参数,一个视频帧的数据量大小是利用均匀分布来决定:其中,sample()操作表示从一个概率分布中采样,U(a,b)表示在区间[a,b]上的均匀分布;视频编码器仿真模块将按照视频的帧率决定的帧间隔定时向视频发送缓冲区仿真模块中的缓冲区中加入大小为FS的视频帧;步骤22,构建视频发送缓冲区仿真模块,该模块的主体为一个仿真的视频发送缓冲区,需要指定该缓冲区所能容纳的最大帧数,当缓冲区满时如果从编码器仿真模块有新到来的视频帧,则需要清除此缓冲区中现存的最早进入的视频帧,将新到来的视频帧加入到缓冲区中;步骤23,构建视频网络传输仿真模块,视频网络传输仿真模块的输入为步骤1中所获得的实际传输环境的真实带宽变化数据,并将可用带宽作为视频发送的速率从视频发送缓冲区仿真模块中的视频发送缓冲区消耗视频帧;如果在Δt时间间隔里可用带宽维持在BW,则在Δt的时间间隔里经过网络传输出去的总数据量D为:D=Δt*BW则缓冲区中应当被清除出区的帧的总数数据量大小为D。进一步地,所述步骤3中,构建基于信赖域的连续动作输出深度强化学习模型,具体实现过程为:步骤31,将步骤2中仿真训练环境的输出处理为深度强化学习模型的输入,处理的主要过程为:首先分别将历史k个时间节点的各个参数进行归一化,包括编码器的编码码率、视频发送缓冲区的长度,视频发送缓冲区的变化值,视频历史发送平均速率;然后将上述参数归一化的值存放在一个输入矩阵state矩阵中;步骤32,搭建基于信赖域的连续动作输出深度强化学习模型的神经网络部分,包括深度神经网络actor和深度神经网络critic,分别搭建并构建两个深度神经网络的训练优化目标,即各自的loss函数;步骤33,设计训练基于信赖域的连续动作输出深度强化学习模型的奖励函数,奖励函数对于使视频发送缓冲区维持在正常水平的编码器码率选择动作,以及使编码器码率保持稳定的选择动作,给予较高奖励值,对造成视频发送缓冲区长度脱离正常水平的动作给予低的奖励值;步骤34,将步骤31的矩阵state矩阵输入到步骤32的网络actor和网络critic中,进行神经网络的前向计算,得到网络actor和网络critic的输出,然后根据神经网络的输出得到下一个时刻的视频编码本文档来自技高网
...

【技术保护点】
1.一种监控视频发送端视频编码流速控制的方法,其特征在于,包括如下步骤:/n步骤1,利用等间隔采样的方式收集实际传输环境的真实带宽变化数据,制作用于训练的视频发送场景网络实时可用带宽数据集;/n步骤2,利用步骤1中收集到的真实带宽数据构建监控视频发送端的仿真训练环境,训练环境根据真实带宽数据实时决定监控视频发送的最高可用带宽作为视频发送速率,并接收深度强化学习模型选择的码率设定为编码器下个时间段的编码码率;/n步骤3,构建基于信赖域的连续动作输出深度强化学习模型,设计模型训练需要的目标奖励函数,利用步骤2中的仿真训练环境训练该模型;模型以步骤2中的仿真训练环境输出的各项数据作为输入,选择下一时刻监控视频发送端的编码码率,训练模型的目标是最大化设定的目标奖励函数;/n步骤4,将步骤3中训练好的模型集成到真实环境中进行交互,进行线上训练优化;/n步骤5,将优化好的深度强化学习模型集成到监控视频发送端,进行发送码率的选择。/n

【技术特征摘要】
1.一种监控视频发送端视频编码流速控制的方法,其特征在于,包括如下步骤:
步骤1,利用等间隔采样的方式收集实际传输环境的真实带宽变化数据,制作用于训练的视频发送场景网络实时可用带宽数据集;
步骤2,利用步骤1中收集到的真实带宽数据构建监控视频发送端的仿真训练环境,训练环境根据真实带宽数据实时决定监控视频发送的最高可用带宽作为视频发送速率,并接收深度强化学习模型选择的码率设定为编码器下个时间段的编码码率;
步骤3,构建基于信赖域的连续动作输出深度强化学习模型,设计模型训练需要的目标奖励函数,利用步骤2中的仿真训练环境训练该模型;模型以步骤2中的仿真训练环境输出的各项数据作为输入,选择下一时刻监控视频发送端的编码码率,训练模型的目标是最大化设定的目标奖励函数;
步骤4,将步骤3中训练好的模型集成到真实环境中进行交互,进行线上训练优化;
步骤5,将优化好的深度强化学习模型集成到监控视频发送端,进行发送码率的选择。


2.根据权利要求1所述的一种监控视频发送端视频编码流速控制的方法,其特征在于,所述步骤1中,真实带宽变化数据包括监控视频发送时的实时可用带宽变化数据以及现有公开的带宽变化数据集。


3.根据权利要求2所述的一种监控视频发送端视频编码流速控制的方法,其特征在于,所述步骤1中,监控视频发送时的实时可用带宽数据为:设定不同的时间间隔采样收集的视频发送的网络可用带宽。


4.根据权利要求1所述的一种监控视频发送端视频编码流速控制的方法,其特征在于,所述步骤2中,构建监控视频发送端的仿真训练环境,具体过程为:
步骤21,构建视频编码器仿真模块,视频编码器仿真模块的输入为监控视频的一些固定编码参数,包括视频的帧率、视频图像组的大小、以及选择的视频编码码率;视频编码器仿真模块的输出为一个视频帧的数据量大小;根据输入的固定编码参数,一个视频帧的数据量大小是利用均匀分布来决定:



其中,sample()操作表示从一个概率分布中采样,U(a,b)表示在区间[a,b]上的均匀分布;视频编码器仿真模块将按照视频的帧率决定的帧间隔定时向视频发送缓冲区仿真模块中的缓冲区中加入大小为FS的视频帧;
步骤22,构建视频发送缓冲区仿真模块,该模块的主体为一个仿真的视频发送缓冲区,需要指定该缓冲区所能容纳的最大帧数,当缓冲区满时如果从编码器仿真模块有新到来的视频帧,则需要清除此缓冲区中现存的最早进入的视频帧,将新到来的视频帧加入到缓冲区中;
步骤23,构建视频网络传输仿真模块,视频网络传输仿真模块的输入为步骤1中所获得的实际传输环境的真实带宽变化数据,并将可用带宽作为视频发送的速率从视频发送缓冲区仿...

【专利技术属性】
技术研发人员:张旭赵阳超马展
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1