CN111901642B - 基于强化学习的实时视频码率自适应调控方法与系统 - Google Patents
基于强化学习的实时视频码率自适应调控方法与系统 Download PDFInfo
- Publication number
- CN111901642B CN111901642B CN202010762530.5A CN202010762530A CN111901642B CN 111901642 B CN111901642 B CN 111901642B CN 202010762530 A CN202010762530 A CN 202010762530A CN 111901642 B CN111901642 B CN 111901642B
- Authority
- CN
- China
- Prior art keywords
- network
- video
- code rate
- model
- training
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000002787 reinforcement Effects 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 66
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 238000012856 packing Methods 0.000 claims abstract description 5
- 230000003044 adaptive effect Effects 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 8
- 210000002569 neuron Anatomy 0.000 claims description 6
- 230000003938 response to stress Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 4
- 230000033228 biological regulation Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 230000006978 adaptation Effects 0.000 description 9
- 238000003062 neural network model Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000004088 simulation Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001276 controlling effect Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011084 recovery 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- 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
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于强化学习的实时视频码率自适应调控方法,包括以下步骤:将采集的图像进行编码获得二进制视频流;将二进制视频流打包成当前网络传输协议对应的数据包;对数据包进行解析和视频解码播放,并反馈当前网络的网络QoS参数和播放状态;根据当前网络的网络QoS参数和播放状态进行码率自适应算法模型训练,得到下一个时刻视频块的比特率;根据下一个时刻视频块的比特率进行视频编码比特率的调整。本发明还提供了一种采用基于强化学习的实时视频码率自适应调控方法的系统。通过上述方案,本发明具有逻辑简单、提升了用户QoE和网络利用率等优点。
Description
技术领域
本发明涉及实时视频通信技术领域,尤其是基于强化学习的实时视频码率自适应调控方法与系统。
背景技术
近年来,网络视频尤其是实时网络视频迎来了爆发式的流量增长,给IP网络带来了巨大的传输压力。在实时网络视频应用中,典型的如视频通话、云游戏、云虚拟现实等,视频在发送端实时采集、压缩和编码,并通过互联网流化传输到接收端。而传输中网络丢包、延迟、拥塞等问题仍然是影响用户享受高质量视频流服务的庞大阻力,如何设计合理的码率自适应技术成为当前解决此问题的重要手段。
目前,现有技术中广泛部署和应用的码率自适应算法包括GCC(GoogleCongestion Control)、BBR(Bottleneck Bandwidth and Round-trip propagationtime)。上述码率自适应算法通常包括拥塞检测、慢启动和快速恢复,使用底层的拥塞控制信号指导上层视频码率的动态调整。
另外,由于实时视频流要求将延迟限制在毫秒级,现有基于HTTP的视频流系统,如HLS(HTTP Live Streaming)和DASH(Dynamic Adaptive Streaming over HTTP),均使用块级(chunk-level)的媒体切分颗粒度,需要提前准备的视频片段,引入了额外延迟,不适合实时视频流。因此,传统的基于缓冲区、基于速率甚至基于学习的HTTP协议码率自适应算法不适合视频通话、云游戏、云VR等低延迟/实时视频场景。
在现有的主流的实时流媒体系统中,视频会话建立后,视频服务器首先将压缩视频流传输到流媒体服务器,随后流媒体服务器将视频流转发到客户端。客户端定期将其播放状态和当前网络服务质量(Quality of Service,QoS)参数返回给流媒体服务器。流媒体服务器使用码率自适应算法,将目标比特率输出到视频服务器进行视频码率调整。这些码率自适应算法通常使用各种不同的输入(如播放状态和网络QoS参数)来改变未来视频流的比特率。在这种实时流媒体系统中,客户端需要立即播放接收到的视频最新帧,以保证实时交互。为了满足低延迟的需求,当客户端在一段时间内没有收到新的视频帧时,会请求流媒体服务器强制编码出瞬时解码刷新(Instantaneous Decoding Refresh,IDR)或随机访问帧,以便重新开始新的图像组(Group of Pictures,GoP)。
码率自适应算法生成的控制策略严重影响视频流性能。对于实时交互方案,用户的体验质量(Quality of Experience,QoE)很大程度上取决于视频的流化传输性能。现有的ABR(可用比特率:available bit-rate)算法面临着多个主要现实挑战。在这些算法中,仅考虑网络QoS参数来生成控制策略(例如GCC仅考虑延迟和丢包率以执行拥塞控制和码率自适应),但无法在不同网络中获得一致的用户QoE。
现有算法主要是采用启发式算法,对底层网络的了解和学习非常有限,故而需要不断调整视频码率以避免视频卡顿和提高视频质量。当没有网络拥塞发生时,他们通过以保守步长不断提高比特率以实现更高的视频质量。一旦出现网络拥塞或者比特率调整超过了可用带宽,视频流化性能就会急剧下降,码率自适应算法需要将视频比特率降低到非常低的水平。随后网络状况变好时,视频比特率将以较低水平开始,触发另一轮保守的比特率增长。由于现有算法(例如GCC)不了解底层网络,因此往往会陷入这种恶性循环中,导致网络利用率较低的同时,用户QoE也非常差。
因此,急需要提出一种逻辑简单、提升了用户QoE和网络利用率的基于强化学习的实时视频码率自适应调控方法与系统,以克服了传统算法的局限性,并提高了比特率自适应的性能。
发明内容
针对上述问题,本发明的目的在于提供一种基于强化学习的实时视频码率自适应调控方法与系统,本发明采用的技术方案如下:
基于强化学习的实时视频码率自适应调控方法,包括以下步骤:
将采集的图像进行编码获得二进制视频流;
将二进制视频流打包成当前网络传输协议对应的数据包;
对数据包进行解析和视频解码播放,并反馈当前网络的网络QoS参数和播放状态;
根据当前网络的网络QoS参数和播放状态进行码率自适应算法模型训练,得到下一个时刻视频块的比特率;
根据下一个时刻视频块的比特率进行视频编码比特率的调整。
进一步地,所述码率自适应算法模型采用DQN框架、Q-Learning框架、A3C框架其中之一进行训练所得。
优选地,所述网络QoS参数包括往返时间、接收比特率、丢包率、重发包计数;且所述播放状态包括已接收帧率、最大接收帧间隔和最小接收帧间隔。
优选地,所述码率自适应算法模型采用A3C框架训练所得,所述A3C框架包括行动者网络和评论家网络,且码率自适应算法模型训练包括以下步骤:
获取当前的播放与网络状态S0;
利用行动者网络对当前的播放与网络状态S0做出应激反应;并且利用评论家网络对当前的播放与网络状态S0进行评分,根据应激反应和评分得到网络修正因子;
根据网络修正因子求得行动者网络和评论家网络的任一神经元的修正梯度;
采用离线或离线-在线进行训练,以得到码率自适应算法模型。
进一步地,所述采用离线或离线-在线进行训练,均包括以下步骤:
利用学习代理以适配当前网络的比特率进行视频流传输;
利用当前网络向学习代理提供网络QoS参数和播放状态的两类状态St;
利用当前网络向学习代理奖励Rt,并利用奖励Rt构建用户QoE参数函数,求得下一动作的比特率。
更进一步地,所述学习代理采用数个,且还包括有一中央学习代理;数个所述学习代理对A3C框架进行独立训练,并得到元组(St,At,Rt);将所述元组(St,At,Rt)汇总至中央学习代理并进行模型参数更新。
更进一步地,所述离线训练还包括以下步骤:
利用初始阶段的码率自适应算法模型作为动态调控视频的编码码率;
采用码率自适应算法模型的码率决策及决策后产生的状态集对模型进行循环更新。
进一步地,所述离线-在线训练,包括以下步骤:
步骤S1,判断训练的码率自适应算法模型的模型数据库是否为空,若是,则采用离线训练所得的默认模型进行码率决策,所述默认模型中含有离线训练所得的预训练模型;否则,进入步骤S2;
步骤S2,利用码率决策及决策后产生的状态集对当前的网络模式进行判断,所述码率决策及决策后产生的状态集包括平均码率和码率方差;若当前的网络模式的平均码率和码率方差未大于预设的阀值,则继续采用默认模型进行码率决策;否则,进入步骤S3;
步骤S3,判断模型数据库是否有匹配当前网络的模型,若有,则读取对应的模型;否则,进入步骤S4;
步骤S4,采用当前网络的码率决策及决策后产生的状态集对默认模型进行更新,直至网络QoS参数的最大值大于预设的阀值。
一种采用基于强化学习的实时视频码率自适应调控方法的系统,包括:
视频服务器,将采集的图像进行编码获得二进制视频流,
流服务器,与视频服务器连接,用于将视频服务器编码的二进制视频流打包成当前网络传输协议对应的数据包;
以及播放终端,与流服务器连接,对数据包进行解析和视频解码播放,并反馈当前网络的网络QoS参数和播放状态;
所述播放终端向流服务器反馈网络QoS参数和播放状态;所述流服务器根据当前网络的网络QoS参数和播放状态进行码率自适应算法模型训练,得到下一个时刻视频块的比特率;
所述视频服务器根据下一个时刻视频块的比特率进行视频编码比特率的调整。
与现有技术相比,本发明具有以下有益效果:
(1)本发明巧妙地加入了ARS码率自适应算法来确定下一个时刻视频块的比特率,以调整视频服务器的视频编码比特率,提高了比特率自适应的性能,提升了用户QoE和网络利用率;
(2)本发明巧妙地采用网络QoS参数的往返时间、接收比特率、丢包率、重发包计数等,播放状态的已接收帧率、最大接收帧间隔和最小接收帧间隔等。随后将当前的网络状态输入到神经网络模型中,经过计算和处理,输出下一时刻最适合的视频码率,并由此调控视频的编码码率。同时,此刻得到的视频码率将对下一时刻的网络状态产生影响。
(3)本发明巧妙地采用A3C框架,基于以往经历的视频流化经验,使用无监督的强化学习方法,对神经网络模型进行训练和更新,以生成数据驱动的最优码率自适应算法;
(4)本发明不仅支持单纯离线训练生成通用的码率自适应算法模型,还支持离线与训练-在线微调两阶段训练方法,在线训练出针对当前的底层网络状况与会话承载的视频特征的优化码率自适应算法,进一步提升用户QoE等性能;
综上所述,本发明具有逻辑简单、提升了用户QoE和网络利用率等优点,在实时视频通信技术领域具有很高的实用价值和推广价值。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需使用的附图作简单介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对保护范围的限定,对于本领域技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明的系统结构示意图。
图2为本发明的ARS控制器中码率自适应示意图。
图3为本发明的ARS训练框架图。
图4为本发明的A3C网络示意图。
图5为本发明的离线训练流程示意图。
图6为本发明的神经网络模型训练算法示例图。
图7为本发明的在线学习流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更为清楚,下面结合附图和实施例对本发明作进一步说明,本发明的实施方式包括但不限于下列实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例
如图1至图7所示,本实施例提供了基于强化学习的实时视频码率自适应调控方法与系统,其中,本实施例的系统采用TCP或UDP协议实施端到端的实时视频传输过程,该系统包括视频服务器、流媒体服务器和播放终端。其中,视频服务器通过图像采集和编码实时产生二进制视频流。流服务器用于将二进制视频流打包流化为符合传输协议的数据包,并通过转发器经网络发送给播放终端。播放终端收到数据包后进行解析和视频解码播放,呈现给用户。此外,此ARS系统还将ARS控制器集成到流媒体服务器,该控制器接收网络情况/播放状态,并执行码率自适应算法。播放终端定期将收集到的播放状态和网络情况发送给流媒体服务器中的ARS控制器。ARS控制器使用ARS码率自适应算法来确定下一个时刻视频块的比特率,并将该目标比特率输出到视频服务器中进行视频编码比特率的调整。在本实施例中,ARS控制器也可以继承到其他设备,如播放终端中,进行工作。这种情况下,播放终端就不需要将播放状态和网络情况反馈回流媒体服务器,而是直接将目标比特率传回流媒体服务器和视频服务器中。
在本实施例中,ARS控制器内的码率自适应操作原理如图2所示。ARS控制器自动监控用户的历史网络状态集,状态成员包括网络QoS和播放状态的两类状态St。例如,网络QoS参数包括往返时间(Round Trip Time,RTT)、接收比特率、丢包率、重发包计数等,播放状态包括已接收帧率、最大接收帧间隔和最小接收帧间隔等。随后将当前的网络状态输入到神经网络模型中,经过计算和处理,输出下一时刻最适合的视频码率,并由此调控视频的编码码率。同时,此刻得到的视频码率将对下一时刻的网络状态产生影响。需要说明的是:调控视频的编码码率的决策可采用不同的方法,例如输出可选码率档次中的一个码率档次,或输出与当前视频编码码率的改变量,用以在当前码率基础上施加加减乘除运算得到下一时刻的码率等。例如,{-4000,-2000,-1000,-500,+0,+100,+200,+300,+400}kbps和{x0.7,x0.8,x0.9,x(1-packetLossRate),+0,+100+200,+300+400}kbps两种都可以作为码率决策集。码率决策集(即动作集)的构造可以遵循加性增加乘性减少(Additive IncreaseMultiplicative Decrease,AIMD)分布的原则,与TCP拥塞控制原则保持一致,也可以采用其他构造方式。这里AIMD在网络良好时线性增加比特率,而在网络出现拥塞时按倍数减少比特率。该动作集的范围和粒度可根据用户网络的平均带宽等实际因素进行调整下一时刻并不代表一个具体的时间,其指代计算得到视频码率之后的未来某一时刻或一段时间,例如将当前秒计算出来的码率应用于下一秒,或将当前秒计算出来的码率应用于后面10秒等。
在本实施例中,ARS系统采用强化学习工具来训练和优化神经网络模型,从而生成最佳码率自适应算法。ARS在强化学习框架中支持多种不同的训练算法,例如DQN(Deep Q-learning Network),Q-Learning和A3C(Asynchronous Advantage Actor-Critic)框架。我们以最新的行动者-批评家方法A3C为例,该方法涉及两个神经网络,即行动者网络和评论家网络,如图4所示。输入A3C的数据为统计得到的用户当前的播放与网络状态S0。该播放与网络状态S0表示可能从用户端统计到的所有播放与网络状态,其可根据不同的业务替换以达到最好的效果,例如延迟、丢包率、接收视频的帧率、视频比特率的数据集合等。行动者网络(Actor)针对当前的网络状态做出应激反应(Action),在当前网络状态下,评论家网络(Critic)针对当前Actor网络做出的应激反应Action计算出一个评分(Reward),并综合Reward和Action能够算出网络修正因子,并进一步计算出对于Actor网络和Critic网络各神经元的修正梯度。应明白,A3C网络可以替换为任意的无监督学习网络,例如DQN网络等。
另外,本实施例的ARS支持单纯离线训练码率自适应算法模型,也支持使用离线-在线两阶段训练方法。对于离线-在线两阶段训练方法,可以使用单纯离线训练的方法生成一个或多个码率自适应算法模型,而在在线训练阶段对这些算法模型不断进行微调,使其更适合当前的网络状况及会话承载的视频特征。
在一个实施例中,离线训练和在线训练过程都可以分为三个关键步骤:
第一步,每个播放终端用作学习代理,针对上下文环境采取动作At,即以特定比特率进行视频流传输。
第二步,环境向学习代理提供包括网络QoS和播放状态的两类状态St。
第三步,环境将给学习代理提供奖励Rt,学习代理基于该奖励Rt来决定下一个动作At+1,以保持改进奖励Rt的提升。ARS中Rt构造为能够反映用户QoE的函数,而此QoE目标综合权衡多种性能指标,例如最大化视频质量(例如最高平均比特率),最小化视频卡顿事件(即接收帧速率小于发送帧速率的场景),保持视频质量平滑度(即避免频繁的比特率波动),以及最小化视频延迟(即最小的交互延迟)。动作执行频率限制为一个GoP持续时间或一秒内,以支持对网络变化做出快速反应。动作的决策是根据由神经网络表示的控制策略做出,仅通过“原始”观测值(即状态)映射为下一个时刻的码率自适应决策。
另外,为了加快训练速度,ARS可以使用多个学习代理并发训练一个神经网络模型,如图3所示。各学习代理在自己的当前网络情况下,独立经历视频流化过程,产生的元组(St,At,Rt)汇总到中央学习代理中进行模型参数更新计算,并将结果反馈给各学习代理进行神经网络模型的更新。对于离线训练阶段,用以联合训练同一个神经网络模型的多个学习代理可以自由选择;而对于在线训练阶段,由于需要以离线训练出的神经网络模型为基础,针对特定网络状况和承载视频特征进行模型微调训练,所以需要选择经历相似网络状况和承载视频特征的学习代理进行并发加速训练。
在一个实施例中,为了进一步提高离线模型的训练速度,在离线的简单模拟环境中训练码率自适应算法模型,该模拟环境忠实模拟视频流化的全过程,最终获得状态数据。离线训练的流程图如图5所示。在模型初始化之后,将初始模型应用于训练模拟环境,对深度学习模块的选择码率产生影响,同时模拟不同用户的在线训练过程。具体地,在开始模拟后,模拟多个用户在不同网络环境下观看不同的视频,并由当前的深度学习模型统一调控视频的编码码率,例如用户A当前的延迟为100ms,用户B当前的延迟为5ms,使用同一模型,用户A根据深度学习模块算出的最适合码率为1Mbps,用户B根据深度学习模块算出的最适合码率为5Mbps,则针对分别用户A和用户B下一时刻应使用的编码码率应为1Mbps和5Mbps。随后记录每个时刻的网络状态和视频编码码率,将每个用户的网络状态和视频编码码率数据集记录下来,当网络状态集的个数满足预设值时,将数据集打包,传递给统一的训练模块进行模型训练,同时训练后的模型会对每个用户的视频编码码率的调控决策产生不同的影响。用户状态模拟方法应包括所有的通过模拟不同网络环境下观看视频获得统计数据的方法。应明白,图5中用户数为3名用户,但用户的数量不是固定的。例如,可取64名用户,则传入模型训练模块的数据包个数为64。另一方面,数据集大小的预设值也随需求而变。例如,当数据集内有50个网络状态集时,将数据集打包,传递给统一的训练模块进行模型训练。
在一个实施例中,采用A3C神经网络训练算法对上述码率自适应算法模型进行训练,如图6所示。为生成码率自适应算法,学习代理传递历史数秒内的状态值输入到输入到一个包含16个神经元的RNN层中,并通过ReLU激活操作后,结果输入到一个有32个神经元的隐藏层进行softmax激活操作。评论家网络使用同样的神经网络结构,但它的输出是一个线性的神经元,不包含任何的激活函数。此A3C算法是一种策略梯度方法,基本思想是通过观察策略执行的轨迹估计期望总奖励的梯度。最终,学习代理基于训练好的策略选择决策行动,表示为πθ(St,At)。
在本实施例中,模型训练完成之后,存储模型,使用者判断模型是否达到预期要求,若模型已达到目标则终止训练;若模型未达到预期要求,则继续训练模型。此预期要求以接收视频的比特率及抖动、丢包率、帧率及抖动等因子构成的QoE模型作为评价标准。模型训练的具体预期要求指标应根据设置的目标需求而定,例如要求模拟用户观看视频,网络状况恶劣时达到1小时之内没有卡顿,网络状况好时码率能迅速提升。同时针对具体的存储模型,应支持不同格式的深度学习模型应用。
另外,考虑到离线训练存在模拟环境与实际环境可能不符,训练样本有限,以及模型泛化带来性能损失等问题,ARS系统对离线训练好的模型进行实际视频流化和播放环境的在线训练和微调,使其更适合于当前的底层网络状况与会话承载的视频特征。图7为在线学习的码率自适应流程示意图。开启在线学习功能后,一方面,ARS对初始一段时间收集到的状态集应用默认模型做码率自适应决策,即动态调控视频的编码码率。默认模型包括预训练模型以及保存在服务器或客户端上的模型。其中,预训练模型通过离线训练阶段得到。同时,保存在客户端与服务器上的模型来源并不唯一,包括只经过初始化的模型、只经过预训练的模型、经过在线训练的模型等。另一方面,ARS记录状态集和码率决策结果到缓存中,在一段时间之后,将包含用户的状态集及决策选择的码率的一批“状态-决策记录对”作为是否更新模型的依据。其中,“状态-决策记录对”的缓存大小固定,在提供模型更新依据后会整体清除数据内容,等待下一批状态-决策记录对的填入。需要说明的是:本实施例不限制一批状态-决策记录对的大小,应根据具体需求而定。针对随后的收集到状态集,ARS在线学习码率自适应算法模型的流程更改为:
第一步,先判断用以存储训练好模型的模型数据库是否为空:若为空,则继续使用预训练的默认模型进行码率决策,并将该默认模型存储到模型数据库中;若不为空,转到下一步。
第二步,根据缓存中的所有“状态-决策记录对”判断网络模式是否发生改变:若未发生改变,则继续使用上次使用的已有模型进行码率决策;如发生改变,转到下一步。判断网络模式发生改变的依据包括,“状态-决策记录对”缓存中计算所有记录的平均码率、码率方差等网络状况指标的值改变超过一定阈值。
第三步,判断模型数据库中是否有匹配当前网络状况的模型:若有匹配的模型,则从模型数据库中读取对应模型,并应用此模型进行码率决策;若没有匹配的模型,转到下一步。应明白,模型数据库中不仅存储训练好的在线模型,还包括与之匹配的网络模式的映射关系,该映射关系可以是映射表,也可以是数学函数关系。“匹配”定义为能够根据网络状况指标找出对应的模型,而网络状况可以用平均码率、码率方差等显示指标表征,也可以用更复杂的聚类等学习的方法进行隐式表征,其为现有常规手段,在此就不予赘述。
第四步,开启训练模块,在“已有模型”基础上使用新一批“状态-决策记录对”对该模型的网络参数进行更新,更新后形成新模型。随后应用此新模型进行码率决策,待播放终端收集一批足够的“状态-决策记录对”后,学习代理判断是否需要更新此新模型。更新模型的指标并不唯一,例如着重于视频的流畅度、着重于视频的画质,具体的标准需根据需求而改变。应明白,“已有模型”可以指预训练的离线模型,也可以是数据库中已经存储的在线模型。
第五步,不断循环训练和模型更新过程,并监视模型更新过程中码率自适应决策取得的性能,直到该模型达到性能要求后,停止此训练过程,转到下一步。“达到性能要求”可以定义为获得的QoE值随学习样本增长的曲线达到局部最大值,并且此值已经大于预设阈值时,也可以定义为其他方式。
第六步,将训练好的新模型存入模型数据库中:由于模型数据库一般是有限大小的,当模型数据库已满时,新模型用于替换已储存的模型,替换规则不唯一,可以是替换最早时间的模型,也可以是替换相似网络状况映射的较差性能模型;否则,直接存储到模型数据库中。
在本实施例中,以上过程中得到的新的用户网络状态集与码率决策结果将被不断记录到缓存中,形成新的一批“状态-决策记录对”。另外,应当注意,本文描述的一种或多种方法可以在任何深度强化学习网络算法中实现和/或执行。并且将在ARS系统中使用的神经网络不限于本文讨论的组成形式。
上述实施例仅为本发明的优选实施例,并非对本发明保护范围的限制,但凡采用本发明的设计原理,以及在此基础上进行非创造性劳动而作出的变化,均应属于本发明的保护范围之内。
Claims (6)
1.基于强化学习的实时视频码率自适应调控方法,其特征在于,包括以下步骤:
将采集的图像进行编码获得二进制视频流;
将二进制视频流打包成当前网络传输协议对应的数据包;
对数据包进行解析和视频解码播放,并反馈当前网络的网络QoS参数和播放状态;
根据当前网络的网络QoS参数和播放状态进行码率自适应算法模型训练,得到下一个时刻视频块的比特率;
根据下一个时刻视频块的比特率进行视频编码比特率的调整;所述码率自适应算法模型采用DQN框架、Q-Learning框架、A3C框架其中之一进行训练所得;所述码率自适应算法模型采用A3C框架训练所得,所述A3C框架包括行动者网络和评论家网络,且码率自适应算法模型训练包括以下步骤:
获取当前的播放与网络状态S0;
利用行动者网络对当前的播放与网络状态S0做出应激反应;并且利用评论家网络对当前的播放与网络状态S0进行评分,根据应激反应和评分得到网络修正因子;
根据网络修正因子求得行动者网络和评论家网络的任一神经元的修正梯度;
采用离线或离线-在线进行训练,以得到码率自适应算法模型;所述采用离线或离线-在线进行训练,均包括以下步骤:
利用学习代理以适配当前网络的比特率进行视频流传输;
利用当前网络向学习代理提供网络QoS参数和播放状态的两类状态St;
利用当前网络向学习代理奖励Rt,并利用奖励Rt构建用户QoE参数函数,求得下一动作的比特率。
2.根据权利要求1所述的基于强化学习的实时视频码率自适应调控方法,其特征在于,所述网络QoS参数包括往返时间、接收比特率、丢包率、重发包计数;且所述播放状态包括已接收帧率、最大接收帧间隔和最小接收帧间隔。
3.根据权利要求1所述的基于强化学习的实时视频码率自适应调控方法,其特征在于,所述学习代理采用数个,且还包括有一中央学习代理;数个所述学习代理对A3C框架进行独立训练,并得到元组(St,At,Rt);将所述元组(St,At,Rt)汇总至中央学习代理并进行模型参数更新。
4.根据权利要求3所述的基于强化学习的实时视频码率自适应调控方法,其特征在于,所述离线训练还包括以下步骤:
利用初始阶段的码率自适应算法模型作为动态调控视频的编码码率;
采用码率自适应算法模型的码率决策及决策后产生的状态集对模型进行循环更新。
5.根据权利要求4所述的基于强化学习的实时视频码率自适应调控方法,其特征在于,所述离线-在线训练,包括以下步骤:
步骤S1,判断训练的码率自适应算法模型的模型数据库是否为空,若是,则采用离线训练所得的默认模型进行码率决策,所述默认模型中含有离线训练所得的预训练模型;否则,进入步骤S2;
步骤S2,利用码率决策及决策后产生的状态集对当前的网络模式进行判断,所述码率决策及决策后产生的状态集包括平均码率和码率方差;若当前的网络模式的平均码率和码率方差未大于预设的阀值,则继续采用默认模型进行码率决策;否则,进入步骤S3;
步骤S3,判断模型数据库是否有匹配当前网络的模型,若有,则读取对应的模型;否则,进入步骤S4;
步骤S4,采用当前网络的码率决策及决策后产生的状态集对默认模型进行更新,直至网络QoS参数的最大值大于预设的阀值。
6.一种采用权利要求1~5任一项所述的基于强化学习的实时视频码率自适应调控方法的系统,其特征在于,包括:
视频服务器,将采集的图像进行编码获得二进制视频流,
流服务器,与视频服务器连接,用于将视频服务器编码的二进制视频流打包成当前网络传输协议对应的数据包;
以及播放终端,与流服务器连接,对数据包进行解析和视频解码播放,并反馈当前网络的网络QoS参数和播放状态;
所述播放终端向流服务器反馈网络QoS参数和播放状态;所述流服务器根据当前网络的网络QoS参数和播放状态进行码率自适应算法模型训练,得到下一个时刻视频块的比特率;
所述视频服务器根据下一个时刻视频块的比特率进行视频编码比特率的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762530.5A CN111901642B (zh) | 2020-07-31 | 2020-07-31 | 基于强化学习的实时视频码率自适应调控方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010762530.5A CN111901642B (zh) | 2020-07-31 | 2020-07-31 | 基于强化学习的实时视频码率自适应调控方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111901642A CN111901642A (zh) | 2020-11-06 |
CN111901642B true CN111901642B (zh) | 2022-09-30 |
Family
ID=73183066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010762530.5A Active CN111901642B (zh) | 2020-07-31 | 2020-07-31 | 基于强化学习的实时视频码率自适应调控方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111901642B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911408B (zh) * | 2021-01-25 | 2022-03-25 | 电子科技大学 | 基于深度学习的智能视频码率调整及带宽分配方法 |
CN113014968B (zh) * | 2021-02-24 | 2022-02-08 | 南京大学 | 一种基于强化学习的多用户动态码率视频传输方法及系统 |
CN113037648B (zh) * | 2021-03-10 | 2022-07-12 | 首都师范大学 | 数据传输方法及装置 |
CN114024906B (zh) * | 2021-10-13 | 2022-06-17 | 北京邮电大学 | 优化视频传输用户体验质量的流量控制方法、装置和系统 |
CN114040230B (zh) * | 2021-11-08 | 2024-03-29 | 北京达佳互联信息技术有限公司 | 视频码率确定方法、装置、电子设备及其存储介质 |
CN114040257B (zh) * | 2021-11-26 | 2023-06-13 | 深圳大学 | 一种自适应视频流传输播放方法、装置、设备及存储介质 |
CN114363677A (zh) * | 2021-12-02 | 2022-04-15 | 深圳市新田科技有限公司 | 基于深度学习的移动网络视频码率实时调整方法和装置 |
CN114173185B (zh) * | 2021-12-03 | 2022-12-13 | 东北大学 | 一种基于IPv6的360度视频自适应传输方法 |
CN114501083A (zh) * | 2022-02-07 | 2022-05-13 | 北京百度网讯科技有限公司 | 码率调节方法、装置、设备、介质及程序产品 |
CN114945080A (zh) * | 2022-04-11 | 2022-08-26 | 深圳市爱为物联科技有限公司 | 一种基于自适应网络等复杂场景录像播放的方法 |
CN115022684B (zh) * | 2022-05-27 | 2023-08-04 | 西安交通大学 | 一种quic协议下基于深度强化学习的视频流自适应传输方法 |
CN114827301B (zh) * | 2022-06-06 | 2023-08-29 | 广州市百果园信息技术有限公司 | 一种数据传输仿真方法、装置、设备及存储介质 |
CN115052182B (zh) * | 2022-06-27 | 2023-07-21 | 重庆邮电大学 | 基于队列学习和超分辨率的超高清视频传输系统与方法 |
CN115086667B (zh) * | 2022-07-26 | 2022-11-18 | 香港中文大学(深圳) | 一种基于自适应学习的实时视频传输方法 |
CN115695390B (zh) * | 2022-09-23 | 2024-03-05 | 昆明理工大学 | 一种基于移动边缘计算的矿山安全监控系统海量视频数据自适应流方法 |
CN115834924B (zh) * | 2022-11-02 | 2024-05-14 | 华中科技大学 | 面向交互式视频的松耦合编码码率-传输速率调节方法 |
CN115766583A (zh) * | 2022-11-14 | 2023-03-07 | 北京邮电大学 | 基于强化学习的多路径tcp拥塞控制方法和装置 |
CN118575443A (zh) * | 2022-12-30 | 2024-08-30 | 汉熵通信有限公司 | 基于对称密钥的数据加密方法、数据解密方法、装置和存储介质和电子设备 |
CN117979050B (zh) * | 2024-04-01 | 2024-07-12 | 深圳市创百智能科技有限公司 | 一种直播视频数据优化录制存储方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198042A (zh) * | 2007-12-26 | 2008-06-11 | 广东威创视讯科技股份有限公司 | 视频编码的码率控制方法及视频数据的发射设备 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
CN103888846A (zh) * | 2014-03-04 | 2014-06-25 | 浙江大学 | 基于QoE的无线视频流业务自适应速率控制方法 |
CN106488175A (zh) * | 2015-08-26 | 2017-03-08 | 重庆西线科技有限公司 | 一种视频传输方法 |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
CN108391143A (zh) * | 2018-04-24 | 2018-08-10 | 南京邮电大学 | 一种基于q学习的无线网络视频传输自适应控制方法 |
CN109413448A (zh) * | 2018-11-05 | 2019-03-01 | 中山大学 | 基于深度强化学习的移动设备全景视频播放系统 |
CN110351555A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 基于强化学习的多遍历视频编码码率分配与控制优化方法 |
CN111083535A (zh) * | 2019-12-26 | 2020-04-28 | 天翼物联科技有限公司 | 视频数据传输码率自适应方法、系统、装置和存储介质 |
-
2020
- 2020-07-31 CN CN202010762530.5A patent/CN111901642B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101198042A (zh) * | 2007-12-26 | 2008-06-11 | 广东威创视讯科技股份有限公司 | 视频编码的码率控制方法及视频数据的发射设备 |
CN102802089A (zh) * | 2012-09-13 | 2012-11-28 | 浙江大学 | 一种基于体验质量预测的移动视频码率调整方法 |
CN103888846A (zh) * | 2014-03-04 | 2014-06-25 | 浙江大学 | 基于QoE的无线视频流业务自适应速率控制方法 |
CN106488175A (zh) * | 2015-08-26 | 2017-03-08 | 重庆西线科技有限公司 | 一种视频传输方法 |
CN108063961A (zh) * | 2017-12-22 | 2018-05-22 | 北京联合网视文化传播有限公司 | 一种基于强化学习的自适应码率视频传输方法以及系统 |
CN110351555A (zh) * | 2018-04-03 | 2019-10-18 | 朱政 | 基于强化学习的多遍历视频编码码率分配与控制优化方法 |
CN108391143A (zh) * | 2018-04-24 | 2018-08-10 | 南京邮电大学 | 一种基于q学习的无线网络视频传输自适应控制方法 |
CN109413448A (zh) * | 2018-11-05 | 2019-03-01 | 中山大学 | 基于深度强化学习的移动设备全景视频播放系统 |
CN111083535A (zh) * | 2019-12-26 | 2020-04-28 | 天翼物联科技有限公司 | 视频数据传输码率自适应方法、系统、装置和存储介质 |
Non-Patent Citations (1)
Title |
---|
《强化学习在自适应视频码率控制算法中的应用》;肖强 等;《小型微型计算机系统》;20200415;第41卷(第2期);252-258 * |
Also Published As
Publication number | Publication date |
---|---|
CN111901642A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111901642B (zh) | 基于强化学习的实时视频码率自适应调控方法与系统 | |
US11509703B2 (en) | System and method for widescale adaptive bitrate selection | |
KR102472155B1 (ko) | 피어 투 피어(Peer to peer, P2P) 네트워크에서 스트리밍 콘텐츠를 방송하는 방법 | |
US8346959B2 (en) | Client-controlled adaptive streaming | |
CN112291620A (zh) | 视频播放方法、装置、电子设备及存储介质 | |
CN108063955B (zh) | 基于状态机的动态自适应视频传输的码率切换方法 | |
KR101982290B1 (ko) | 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법 | |
CN109413456B (zh) | 一种面向基于http的动态自适应流媒体多假设码率自适应系统及方法 | |
CN107707937A (zh) | 基于hls协议的时移优化方法及系统 | |
CN111314022B (zh) | 一种基于强化学习和喷泉码的屏幕更新传输方法 | |
CN112954385A (zh) | 一种基于控制论和数据驱动的自适应分流决策方法 | |
WO2021097865A1 (zh) | 面向多人互动直播的自适应码率调节方法 | |
WO2017084277A1 (zh) | 在线媒体服务的码流自适应方法及系统 | |
Sadat et al. | QoE-aware multi-source video streaming in content centric networks | |
Tian et al. | Deeplive: QoE optimization for live video streaming through deep reinforcement learning | |
CN113014968A (zh) | 一种基于强化学习的多用户动态码率视频传输方法及系统 | |
Koffka et al. | A DASH Survey: the ON-OFF Traffic Problem and Contemporary Solutions | |
Kim et al. | Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming | |
CN110381036A (zh) | 一种用于dash流媒体的tcp拥塞控制方法 | |
Altamimi et al. | Client-server cooperative and fair DASH video streaming | |
Park et al. | Client-side rate adaptation scheme for HTTP adaptive streaming based on playout buffer model | |
Meng et al. | Fastconv: Fast learning based adaptive bitrate algorithm for video streaming | |
Khan et al. | Performance of Q-Learning algorithms in DASH | |
Sasabe et al. | Proxy caching mechanisms with quality adjustment for video streaming services | |
Hao et al. | Buffer Displacement Based Online Learning Algorithm For Low Latency HTTP Adaptive 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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20201106 Assignee: Beijing Wanhui Yunshi Intelligent Technology Co.,Ltd. Assignor: CHENGDU YUNGE ZHILI TECHNOLOGY Co.,Ltd. Contract record no.: X2024980004587 Denomination of invention: A real-time video rate adaptive control method and system based on reinforcement learning Granted publication date: 20220930 License type: Exclusive License Record date: 20240418 |