CN111031387A - 一种监控视频发送端视频编码流速控制的方法 - Google Patents
一种监控视频发送端视频编码流速控制的方法 Download PDFInfo
- Publication number
- CN111031387A CN111031387A CN201911145837.4A CN201911145837A CN111031387A CN 111031387 A CN111031387 A CN 111031387A CN 201911145837 A CN201911145837 A CN 201911145837A CN 111031387 A CN111031387 A CN 111031387A
- Authority
- CN
- China
- Prior art keywords
- video
- rate
- encoder
- sending end
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 45
- 238000004088 simulation Methods 0.000 claims abstract description 44
- 230000002787 reinforcement Effects 0.000 claims abstract description 30
- 230000009471 action Effects 0.000 claims abstract description 20
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 16
- 238000005070 sampling Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000009827 uniform distribution Methods 0.000 claims description 6
- 238000013135 deep learning Methods 0.000 claims description 5
- 238000009826 distribution Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 4
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000013136 deep learning model Methods 0.000 abstract 1
- 230000000694 effects Effects 0.000 description 2
- 235000003642 hunger Nutrition 0.000 description 2
- 230000037351 starvation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440218—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44227—Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种监控视频发送端视频编码流速控制的方法,主要步骤包括:(1)收集视频发送场景网络实时可用带宽数据集;(2)利用真实带宽数据构建监控视频发送端的仿真训练环境,训练环境根据真实带宽数据实时决定监控视频发送的最高可用带宽,作为视频的发送速率,并接收深度强化学习模型选择的码率调整编码器的编码码率;(3)构建基于信赖域的连续动作输出深度强化学习模型,并利用仿真环境训练该模型;(4)将训练好的模型放进监控视频集成到真实环境中交互,进行线上训练优化;(5)将优化好的深度学习模型集成到监控视频发送端,进行发送端编码器的编码码率决策。本发明利用深度强化学习解决了监控视频发送端的编码流速控制问题。
Description
技术领域
本发明涉及实时视频传输领域,尤其涉及监控视频监控端的视频编码流速控制的方法。
背景技术
监控视频通常在实时性、流畅度以及视频画面质量等方面都具有较高的要求。然而在实际的监控环境中,从监控视频的采集端到以监控室为例的接收端,视频的传输往往会经过较为复杂的网络环境,复杂的网络环境会导致带宽受限和时延波动的情况发生,从而影响监控视频播放端(接收端)的实时性、流畅度和清晰度。为了保证监控视频的传输效果和提升监控视频的观看体验,需要对监控视频传输过程中所有环节都进行有针对性的优化,特别是视频发送端的编码流速控制部分。
监控视频发送端需要精确的编码流速控制,其主要的原因在于:一方面,监控视频的发送速率是由复杂的网络环境所决定的,具有变化迅速和难以预测等特征;另一方面,监控视频发送端视频采集后的编码阶段的速率是可以通过人为调整编码器编码参数进行控制的,视频的发送过程中,从视频编码器编码到码流通过网络发送的过程中间往往会经过一个视频发送缓冲区来保证视频发送的流畅度,视频发送缓冲区的消耗速度是由网络实时可用带宽也就是实际的发送速率决定的,视频发送缓冲区的增加速度是由编码器的编码码率所决定的,因此会出现视频编码码率和视频发送速率出现不匹配的问题。
如果监控视频发送端的编码速率和视频的发送速率不匹配,就可能导致视频发送端的视频发送缓冲区溢出或者“饥饿”的现象。视频发送缓冲区溢出即为视频缓冲区里的视频帧数已经达到了该缓冲区的容量上限,如果想再存储编码器编码后的视频帧,则需要将最早进入该缓冲区的视频帧清除出去,导致视频传输过程中的“丢帧现象”。另一方面,视频发送缓冲区的饥饿现象主要是视频发送缓冲区变空,往往是由视频编码的码率长期低于视频发送的实时可用带宽造成的,这说明了视频发送的过程中带宽的利用率过低,浪费了大量的可用带宽资源,同时监控视频接收端的视频清晰度也还有进一步提升的空间。
因此,监控视频发送端的视频编码流速控制主要想达到的目的就是使得监控视频编码器的编码速率和视频发送速率相匹配,当实时可用带宽较大的时候,说明视频发送的速率较大,可以适当地提升视频编码器的编码速率;当实时可用带宽下降时,则视频发送速率降低,应当及时降低编码器的编码速率,避免视频发送缓冲区出现溢出而导致视频丢帧现象发生。
要实现上述的速率匹配最直观的方式是需要提前预知下一个时刻视频发送的实时可用带宽,然后根据预测的实时可用带宽的水平调整下个时刻编码器的编码速率。然而在实际的环境中,由于实际可用带宽的变化通常没有规律可言,对下一个时刻的实际可用带宽的估计是相当困难的,因此只能通过观察视频发送过程中的一些能够测量到的特征参数来对当前传输环境进行粗略估计,根据观测到的特征参数来选择下一个时刻的编码器编码码率。通过能够测量到的特征参数来进行速率匹配的难点在于如何根据测量到的参数准确判断当前的视频发送环境的特征,特别是当前网络的实时可用带宽。
发明内容
针对上述监控视频发送时的码率控制问题,本发明提出了一种基于深度强化学习的监控视频发送端视频编码流速控制方法。
本发明采用的技术方案如下:
一种监控视频发送端视频编码流速控制的方法,包括如下步骤:
步骤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中,构建基于信赖域的连续动作输出深度强化学***均速率;然后将上述参数归一化的值存放在一个输入矩阵state矩阵中;
步骤32,搭建基于信赖域的连续动作输出深度强化学习模型的神经网络部分,包括深度神经网络actor和深度神经网络critic,分别搭建并构建两个深度神经网络的训练优化目标,即各自的loss函数;
步骤33,设计训练基于信赖域的连续动作输出深度强化学***的编码器码率选择动作,以及使编码器码率保持稳定的选择动作,给予较高奖励值,对造成视频发送缓冲区长度脱离正常水平的动作给予低的奖励值;
步骤34,将步骤31的矩阵state矩阵输入到步骤32的网络actor和网络critic中,进行神经网络的前向计算,得到网络actor和网络critic的输出,然后根据神经网络的输出得到下一个时刻的视频编码器编码码率,并计算步骤33中构建的奖励函数,最后根据奖励函数的值和两个神经网络的输出计算其对应的训练优化目标,进行神经网络的反向传播更新神经网络参数,并设定神经网络输出得到的编码器编码码率为新的编码器编码码率,编码码率将会影响下一个时刻的矩阵state;
步骤35,重复步骤34,直到所得到的奖励函数不再上升。
进一步地,所述步骤5中将步骤4优化好的深度强化学习模型集成到监控视频发送端,只需要将模型中的网络actor部署到发送端即可,其具体过程为:
步骤51,在监控视频发送端部署所选深度学习框架的轻量级运行环境;
步骤52,将步骤4优化好的深度强化学习模型中的网络actor转换成移动轻量级的模型;
步骤53,利用步骤51中配置好的运行环境调用步骤52中生成的移动轻量级模型进行前向计算,得到应当选择的码率,设定编码器的编码码率,并依据步骤4的方式直接从***中收集特征参数并计算矩阵satte,将新的矩阵state作为轻量级模型的输入继续计算下一个时刻的编码器码率,重复此交互过程。
本发明在大量实际传输环境的带宽变化数据基础上,利用深度强化学习来解决监控视频发送端的编码流速控制问题。为了达到最佳的控制效果,一方面,本发明选用了目前比较前沿的基于信赖域的强化学习方法;另一方面,为了保证编码流速控制的反应速度和流速控制的连续变化范围,本发明选取了连续动作输出的强化学习模型,连续动作输出的模型可以直接输出选择的码率值而非事先设定的码率档次。其次,本发明在大量的数据支持下在仿真环境中训练好深度强化模型之后,进一步将模型部署到实际***进行模型的线上优化训练,在保证模型的泛化能力的前提下又提升了模型在特定实际场景中的表现。
附图说明
图1为本发明方法的流程图;
图2为视频发送端仿真环境的示意图;
图3为基于信赖域的连续动作输出深度强化学习模型。
具体实施方式
下面将结合附图及具体实施例对本发明进行详细描述。
本实施例的一种监控视频发送端视频编码流速控制方法如图1所示,具体包括如下步骤:
步骤1,利用等间隔采样的方式收集监控视频发送时的实时可用带宽变化数据以及收集现有公开的带宽变化数据集,制作用于训练的视频发送场景网络实时可用带宽数据集.
设定采样的时间tsample为150ms,若公开的数据集中采样时间不是150ms,可以统一修改成150ms,网络带宽数据的被存储在若干文本文件当中,文本文件的每一行有两个数值,其中第1个数值表示当前的时间戳,时间戳从0开始,以tsample为间隔递增,第2个数值表示当前时间的可用带宽数值,两个数值之间以制表符分隔。设定不同的时间间隔采样收集视频发送的网络可用带宽,其目的是模拟各个变化速度的网络带宽,增加数据多样性。
步骤2,利用步骤1中收集到的真实带宽数据构建监控视频发送端的仿真训练环境:
步骤21,构建视频编码器仿真模块。视频编码器的仿真模块输入为监控视频的一些固定编码参数,视频的帧率(FR)为25FPS、视频图像组的大小(GOP)为3s对应为75帧、以及选择的视频编码码率(BR),视频编码码率参数由步骤32中构建的actor网络输出计算得到,为视频编码流速控制的直接控制量。视频编码器仿真模块的输出主要为一个视频帧的数据量大小(FS)。利用均匀分布来决定,在本实施例中为:
其中,sample()操作表示从一个概率分布中采样,U(a,b)表示在区间[a,b]上的均匀分布,当选择的视频编码码率的单位为Mbps时,FS的单位为MB。
步骤22,构建视频发送缓冲区仿真模块。视频发送缓冲区主要的功能是维护一个先进先出的视频帧队列,该队列中的每个视频帧将会有对应的帧数据量大小信息(FS),指定缓冲区所能容纳的最大帧数为125帧,对应的视频时长为5s,当队列满时如果从编码器仿真模块有新到来的视频帧,则需要清除此队列中现存的最早进入的视频帧,将新到来的视频帧加入到队列中。
步骤23,构建视频网络传输仿真模块。视频网络传输仿真模块的输入的为步骤1中所获得的存储网络实时可用带宽数据的文本文件中读取的时间戳和带宽值的数据,将当前带宽值作为从当前时间戳到下一个时间戳之间的发送速率从视频发送缓冲区仿真模块中的视频发送缓冲区消耗视频帧;如果在Δt时间间隔里可用带宽维持在BW,本实施例中Δt为150ms,在此间隔里经过网络传输出去的总数据量D为:
D=0.15*BW
则应当从视频发送缓冲区尾依次消耗视频帧直到被消耗的视频帧的数据量之和达到D。
步骤3构建基于信赖域的连续动作输出深度强化学习模型,并利用仿真训练环境训练该模型:
步骤31,将步骤2中仿真训练环境的输出处理为深度强化学***均速率TH(单位:Mbps);一共4个特征参数则会有8个数值。然后将上述归一化的值存放在一个输入state矩阵中,state矩阵的每一列为一个长度为2的向量,一共有4列代表了上述的四个特征参数,所以state矩阵维度为2×4。
步骤32,使用现有流行的深度学习框架tensorflow搭建基于信赖域的连续动作输出深度强化学习模型的神经网络部分,actor网络和critic网络分别搭建,并构建自己的训练优化目标,即各自的loss函数,本实施例中采用了当前比较流行的基于信赖域的深度强化学习模型PPO(Proximal Policy Optimization Algorithms),actor网络和critic网络具体的loss函数均参考了PPO方法,actor网络和critic网络均为隐藏层包含了256个神经元的单层全连接网络,actor网络的输出用了tanh激活函数和softplus激活函数,critic网络的输出使用了线性激活函数。
步骤33,设计训练基于信赖域的连续动作输出深度强化学习模型的奖励函数,奖励函数的目的主要是考虑了模型的选择是否能维持视频发送缓冲区合适范围以及是否尽量保持了和上次选择一致,奖励函数的具体形式为:
其中,BR,lastBR分别是本次决策所选择的码率和上次决策所选择的码率,BL是本次决策后,下次决策时观测到的视频发送缓冲区长度,单位已经从视频帧数换算成对应的时间长度。
步骤34,将步骤31的state矩阵输入到步骤32的actor网络和critic网络中,进行神经网络的前向计算,得到actor网络和critic网络的输出,然后从由actor网络输出的均值和方差构建的正态分布中采样得到下一个时刻的视频编码器编码码率,并计算步骤33中构建的奖励函数,最后根据奖励函数的值和两个神经网络的输出计算其对应的训练优化目标,进行神经网络的反向传播更新神经网络参数,并将神经网络输出得到的编码器编码码率作为为新的编码器编码码率,编码码率将会影响下一个时刻的state矩阵。
步骤35,重复步骤34,每次决策的时间间隔为1s,直到所得到的奖励函数不再上升。
步骤4,将步骤3中训练好的模型集成到真实***中进行交互,整体流程和步骤3保持一致,区别是步骤32和33的构建部分不再需要,直接沿用步骤3中的深度强化学习模型和奖励函数,其他不同的是,每隔1s直接从真实***中采集步骤31所述的四个特征参数,组成state矩阵作为神经网络的训练输入,得到新选择的编码码率后,直接将其设为***编码器的编码码率。
步骤5,将优化好的深度强化学习模型集成到监控视频发送端,进行发送码率的选择:
步骤51,在监控视频发送端部署所选深度学习框架的轻量级运行环境,本实施例选择了tensorflow作为深度学习框架,则需要编译tensorflow-lite移动端部署的静态库,编译好后部署在监控视频发送端可直接调用。
步骤52,将步骤4优化好的深度强化学习模型中的actor网络转换成tensorflow-lite模型。
步骤53,利用步骤51中配置好的tensorflow-lite静态库调用步骤52中生成的tensorflow-lite模型进行前向计算,得到应当选择的码率,设定编码器的编码码率,并依据步骤4的方式直接从***中收集特征参数计算state矩阵,每隔1s计算新的state矩阵作为轻量级模型的输入计算下一个时刻的编码器码率,重复此交互过程。
Claims (6)
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中所获得的实际传输环境的真实带宽变化数据,并将可用带宽作为视频发送的速率从视频发送缓冲区仿真模块中的视频发送缓冲区消耗视频帧;如果在Δt时间间隔里可用带宽维持在BW,则在Δt的时间间隔里经过网络传输出去的总数据量D为:
D=Δt*BW
则缓冲区中应当被清除出区的帧的总数数据量大小为D。
5.根据权利要求1所述的一种监控视频发送端视频编码流速控制的方法,其特征在于,所述步骤3中,构建基于信赖域的连续动作输出深度强化学习模型,具体实现过程为:
步骤31,将步骤2中仿真训练环境的输出处理为深度强化学***均速率;然后将上述参数归一化的值存放在一个输入矩阵state矩阵中;
步骤32,搭建基于信赖域的连续动作输出深度强化学习模型的神经网络部分,包括深度神经网络actor和深度神经网络critic,分别搭建并构建两个深度神经网络的训练优化目标,即各自的loss函数;
步骤33,设计训练基于信赖域的连续动作输出深度强化学***的编码器码率选择动作,以及使编码器码率保持稳定的选择动作,给予较高奖励值,对造成视频发送缓冲区长度脱离正常水平的动作给予低的奖励值;
步骤34,将步骤31的矩阵state矩阵输入到步骤32的网络actor和网络critic中,进行神经网络的前向计算,得到网络actor和网络critic的输出,然后根据神经网络的输出得到下一个时刻的视频编码器编码码率,并计算步骤33中构建的奖励函数,最后根据奖励函数的值和两个神经网络的输出计算其对应的训练优化目标,进行神经网络的反向传播更新神经网络参数,并设定神经网络输出得到的编码器编码码率为新的编码器编码码率,编码码率将会影响下一个时刻的矩阵state;
步骤35,重复步骤34,直到所得到的奖励函数不再上升。
6.根据权利要求5所述的一种监控视频发送端视频编码流速控制的方法,其特征在于,所述步骤5中将步骤4优化好的深度强化学习模型集成到监控视频发送端,只需要将模型中的网络actor部署到发送端即可,其具体过程为:
步骤51,在监控视频发送端部署所选深度学习框架的轻量级运行环境;
步骤52,将步骤4优化好的深度强化学习模型中的网络actor转换成移动轻量级的模型;
步骤53,利用步骤51中配置好的运行环境调用步骤52中生成的移动轻量级模型进行前向计算,得到应当选择的码率,设定编码器的编码码率,并依据步骤4的方式直接从***中收集特征参数并计算矩阵satte,将新的矩阵state作为轻量级模型的输入继续计算下一个时刻的编码器码率,重复此交互过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911145837.4A CN111031387B (zh) | 2019-11-21 | 2019-11-21 | 一种监控视频发送端视频编码流速控制的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911145837.4A CN111031387B (zh) | 2019-11-21 | 2019-11-21 | 一种监控视频发送端视频编码流速控制的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111031387A true CN111031387A (zh) | 2020-04-17 |
CN111031387B CN111031387B (zh) | 2020-12-04 |
Family
ID=70206094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911145837.4A Active CN111031387B (zh) | 2019-11-21 | 2019-11-21 | 一种监控视频发送端视频编码流速控制的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031387B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970539A (zh) * | 2020-08-19 | 2020-11-20 | 赵蒙 | 基于深度学***台 |
CN112468808A (zh) * | 2020-11-26 | 2021-03-09 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112911408A (zh) * | 2021-01-25 | 2021-06-04 | 电子科技大学 | 基于深度学习的智能视频码率调整及带宽分配方法 |
WO2021143344A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京达佳互联信息技术有限公司 | 码率决策模型训练方法以及电子设备 |
CN114039870A (zh) * | 2021-09-27 | 2022-02-11 | 河海大学 | 基于深度学习的蜂窝网络中视频流应用实时带宽预测方法 |
CN115086667A (zh) * | 2022-07-26 | 2022-09-20 | 香港中文大学(深圳) | 一种基于自适应学习的实时视频传输方法 |
CN118042069A (zh) * | 2024-04-11 | 2024-05-14 | 深圳市慧明捷科技有限公司 | 一种网络会议视频码流自适应传输方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331717A (zh) * | 2015-06-30 | 2017-01-11 | 成都鼎桥通信技术有限公司 | 视频码率自适应调整方法及发送端设备 |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及*** |
CN108494772A (zh) * | 2018-03-25 | 2018-09-04 | 上饶市中科院云计算中心大数据研究院 | 模型优化、网络入侵检测方法及装置和计算机存储介质 |
US20190190965A1 (en) * | 2010-12-03 | 2019-06-20 | Intouch Technologies, Inc. | Systems and methods for dynamic bandwidth allocation |
CN109947567A (zh) * | 2019-03-14 | 2019-06-28 | 深圳先进技术研究院 | 一种多智能体强化学习调度方法、***及电子设备 |
CN109982118A (zh) * | 2019-03-27 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 一种视频码率自适应调整方法、装置及电子设备 |
US20190258929A1 (en) * | 2015-11-12 | 2019-08-22 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
CN110351561A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 一种用于视频编码优化的高效强化学习训练方法 |
CN110351555A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 基于强化学习的多遍历视频编码码率分配与控制优化方法 |
CN110430398A (zh) * | 2019-08-06 | 2019-11-08 | 杭州微帧信息科技有限公司 | 一种基于强化学习的视频编码分布式方法 |
-
2019
- 2019-11-21 CN CN201911145837.4A patent/CN111031387B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190190965A1 (en) * | 2010-12-03 | 2019-06-20 | Intouch Technologies, Inc. | Systems and methods for dynamic bandwidth allocation |
CN106331717A (zh) * | 2015-06-30 | 2017-01-11 | 成都鼎桥通信技术有限公司 | 视频码率自适应调整方法及发送端设备 |
US20190258929A1 (en) * | 2015-11-12 | 2019-08-22 | Deepmind Technologies Limited | Asynchronous deep reinforcement learning |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及*** |
CN108494772A (zh) * | 2018-03-25 | 2018-09-04 | 上饶市中科院云计算中心大数据研究院 | 模型优化、网络入侵检测方法及装置和计算机存储介质 |
CN110351561A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 一种用于视频编码优化的高效强化学习训练方法 |
CN110351555A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 基于强化学习的多遍历视频编码码率分配与控制优化方法 |
CN109947567A (zh) * | 2019-03-14 | 2019-06-28 | 深圳先进技术研究院 | 一种多智能体强化学习调度方法、***及电子设备 |
CN109982118A (zh) * | 2019-03-27 | 2019-07-05 | 北京奇艺世纪科技有限公司 | 一种视频码率自适应调整方法、装置及电子设备 |
CN110430398A (zh) * | 2019-08-06 | 2019-11-08 | 杭州微帧信息科技有限公司 | 一种基于强化学习的视频编码分布式方法 |
Non-Patent Citations (2)
Title |
---|
XU ZHANG: "Improving Cloud Gaming Experience through Mobile Edge Computing", 《IEEE》 * |
ZHIYUAN XU: "Experience-driven Networking:A Deep Reinforce Learning based Approach", 《IEEE》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021143344A1 (zh) * | 2020-01-16 | 2021-07-22 | 北京达佳互联信息技术有限公司 | 码率决策模型训练方法以及电子设备 |
CN111970539A (zh) * | 2020-08-19 | 2020-11-20 | 赵蒙 | 基于深度学***台 |
CN111970539B (zh) * | 2020-08-19 | 2021-04-16 | 深圳天使无忧科技开发有限公司 | 基于深度学***台 |
CN112468808A (zh) * | 2020-11-26 | 2021-03-09 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112468808B (zh) * | 2020-11-26 | 2022-08-12 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112911408B (zh) * | 2021-01-25 | 2022-03-25 | 电子科技大学 | 基于深度学习的智能视频码率调整及带宽分配方法 |
CN112911408A (zh) * | 2021-01-25 | 2021-06-04 | 电子科技大学 | 基于深度学习的智能视频码率调整及带宽分配方法 |
CN114039870A (zh) * | 2021-09-27 | 2022-02-11 | 河海大学 | 基于深度学习的蜂窝网络中视频流应用实时带宽预测方法 |
CN114039870B (zh) * | 2021-09-27 | 2022-12-09 | 河海大学 | 基于深度学习的蜂窝网络中视频流应用实时带宽预测方法 |
CN115086667A (zh) * | 2022-07-26 | 2022-09-20 | 香港中文大学(深圳) | 一种基于自适应学习的实时视频传输方法 |
CN115086667B (zh) * | 2022-07-26 | 2022-11-18 | 香港中文大学(深圳) | 一种基于自适应学习的实时视频传输方法 |
CN118042069A (zh) * | 2024-04-11 | 2024-05-14 | 深圳市慧明捷科技有限公司 | 一种网络会议视频码流自适应传输方法及*** |
CN118042069B (zh) * | 2024-04-11 | 2024-06-28 | 深圳市慧明捷科技有限公司 | 一种网络会议视频码流自适应传输方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111031387B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031387B (zh) | 一种监控视频发送端视频编码流速控制的方法 | |
WO2022028304A1 (zh) | 一种多媒体数据处理方法、装置、设备及可读存储介质 | |
CN110460880B (zh) | 基于粒子群和神经网络的工业无线流媒体自适应传输方法 | |
CN112291620A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN113242469A (zh) | 一种自适应视频传输配置方法和*** | |
CN103108257A (zh) | 一种用于嵌入式终端改善流媒体播放质量的方法及*** | |
CN112954385A (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
Xiao et al. | DeepVR: Deep reinforcement learning for predictive panoramic video streaming | |
CN115022684B (zh) | 一种quic协议下基于深度强化学习的视频流自适应传输方法 | |
CN113132765A (zh) | 码率决策模型训练方法、装置、电子设备及存储介质 | |
Feng et al. | Vabis: Video adaptation bitrate system for time-critical live streaming | |
Sun et al. | Optimal strategies for live video streaming in the low-latency regime | |
CN111740925A (zh) | 一种基于深度强化学习的Coflow调度方法 | |
CN114726799B (zh) | 拥塞控制智能体的训练方法、拥塞控制方法及装置 | |
CN103428107A (zh) | 一种基于缓存下溢概率估计的自适应码流切换方法及*** | |
CN116320620A (zh) | 基于个性化联邦强化学习的流媒体比特率自适应调整方法 | |
CN114040257A (zh) | 一种自适应视频流传输播放方法、装置、设备及存储介质 | |
CN116455820A (zh) | 基于拥塞规避的多传输路径调整***及方法 | |
Kim et al. | HTTP adaptive streaming scheme based on reinforcement learning with edge computing assistance | |
CN114629797B (zh) | 带宽预测方法、模型生成方法及设备 | |
CN115834924A (zh) | 面向交互式视频的松耦合编码码率-传输速率调节方法 | |
Zhang et al. | Cache-enabled adaptive bit rate streaming via deep self-transfer reinforcement learning | |
CN113645487B (zh) | 码率自适应分配方法 | |
Liu et al. | Throughput Prediction-Enhanced RL for Low-Delay Video Application | |
Meng et al. | Fastconv: Fast learning based adaptive bitrate algorithm for video streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |