一种视频传输控制方法及系统的制作方法

文档序号:7744370阅读:160来源:国知局
专利名称:一种视频传输控制方法及系统的制作方法
技术领域
本发明涉及视频传输技术领域,具体地说,是一种视频传输控制方法及系统。

背景技术
在当前的因特网上,传输实时视频信息仍然面临巨大的挑战。传统的因特网提供的是一种尽力而为(Best-effort)的通信服务,网络将尽力传输所有的通信数据,但不提供任何服务质量(QoS,Quality of Service)的保证。为保障实时视频数据传输,学术界在视频传输的QoS领域已经开展了大量的研究工作,并且IETF(Internet Engineering Task Force,互联网任务组)提出了综合服务、差别服务、多协议标记交换、流量工程等QoS技术解决方案。但由于QoS是端到端的问题,涉及到全网,单靠一个或几个环节不能从根本上解决问题。于是,人们也开始考虑如何在应用层加入重传等机制来提供一定的视频质量保证,但并没有取得很好的效果。到目前为止,视频传输的QoS问题也还没有得到很好的解决。
除了为网络增加更好的QoS保障机制之外,人们也在不断的深入研究视频压缩的方法,以希望能够找到对网络友好的新的视频编码方法,H.264/AVC便是在这种背景下诞生的。它是由ISO/IEC(International Organization forStandardization/International Electrotechnical Commission,国际标准化组织/国际电工委员会)和ITU-T(International Telecommunication Union-Telecommunication Standardization,国际电信联盟-电信标准部)联手制定的,具有很高的编码效率,而且码流结构网络适应性强,增加了差错恢复能力,能够很好地适应因特网和无线网络的应用。H.264/AVC标准只规定了编码器的标准输出码流,并没有说明具体实现。如何高效的实现H.264/AVC的编码器已经成为目前的研究热点,不过目前的方法主要集中在如何根据视频流的特点更好地压缩视频上,并没有把实时的网络信息考虑进去。
综上可见,目前视频的传输机制与视频编码过程的研究是相对独立的,并没能有机的结合起来。


发明内容
本发明要解决的技术问题是提供一种视频传输控制方法及系统,不需要改造现有的网络条件,就可以很好地改善实时视频质量,提高视频传输中的服务质量,实现面向普通用户的广泛的视频质量保障。
为了解决上述技术问题,本发明提供了一种视频传输控制方法,包括 在视频传输过程中,收集网络实时状况及视频状态信息,并将收集到的信息进行规格化处理; 根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率; 根据计算得到的视频编码率对视频进行编码压缩处理,并将压缩处理后的视频进行传输。
进一步地,所述网络实时状况包括时延、抖动和丢包率;所述收集网络实时状况通过获取RTCP流中的反馈信息来实现。
进一步地,在等待RTCP流中的反馈信息的过程中,将视频的每个关键帧与下一个关键帧之间的所有帧组成一组,计算并保存每组视频的视频质量值SSIM;获取RTCP流中的反馈信息后,根据反馈中的网络状态信息计算每组视频的估计视频质量,所述估计视频质量由以下公式计算
其中,εd=1/100,εj=1/20,εl=256,每组视频的视频质量值SSIM为该组内所有帧视频质量值的平均值,delay、jitter、lost分别对应时延、抖动、丢包率三个网络状况参数。
进一步地,将收集到的信息进行规格化处理包括 将每一个输入的实数值x分割为N个取值位于0~1之间的输出,计算第n个输出的值使用的公式如下

其中,丢包率不需要规格化,N与bn根据输入数据的分布特征指定,对于时延,N取为4,bn依次为0.7、3.6、7.3、100;对于抖动,N取为4,bn依次为1.38、4.6、13.9、20;对于帧复杂度,N取为8,bn依次为15000、25000、35000、45000、55000、70000、90000、120000;r为输入数据可能的取值范围。
进一步地,所述根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率的方法为 将规格化后的网络及视频状态信息输入到增强学习中的Actor-Critic模型,Actor-Critic模型中的Critic根据所输入的规格化后的网络及视频状态信息采用预测函数Value(x)预测视频质量,Critic将预测的视频质量与环境反馈的视频质量的误差反馈给Actor-Critic模型中的Actor,并根据环境反馈的视频质量更新预测函数; Actor根据所输入的规格化后的网络及视频状态信息计算得到视频编码率,根据C ritic输出的预测误差更新选取动作的策略。
进一步地,所述Actor根据所输入的规格化后的网络及视频状态信息计算得到视频编码率、根据C ritic输出的预测误差更新选取动作的策略具体包括 系统运行过程中,首先在时刻t-1时Actor根据所输入的规格化后的网络及视频状态信息通过μ(x)函数和σ(x)函数分别估计视频编码率的均值与标准差,然后使用服从均值为μ(x)、标准差为σ(x)的高斯分布随机数生成器来产生视频编码率; 所述Actor根据Critic输出的预测误差修正均值μ(x)和标准差σ(x),修正公式为 Δμ=(at-1-μt-1)δ ; Δσ=[(at-1-μt-1)2-σt-12]δ 其中,at-1是时刻t-1时Actor的输出的动作值,μt-1与σt-1分别为时刻t-1时的输出值均值与标准差的预测值,δ为Critic给Actor的反馈。
进一步地,所述Critic给Actor的反馈δ通过以下公式获得 δ=rt-1+γValuet-Valuet-1; 其中rt-1是时刻t-1的动作所收到的环境反馈的视频质量,γ是一个学习参数。
进一步地,采用三个神经网络分别用来拟合Critic中的Value(x)、Actor中的μ(x)和σ(x),三个网络的输入均为规格化之后的网络及视频状态信息;每个网络有一个隐层,隐层由三个神经元组成;输出层有一个输出神经元,网络中的每个神经元的门限函数使用的是可微的sigmoid函数,公式如下 其中wi与xi分别为神经元的第i个输入的权值与输入值,三个网络的所有权值都初始化为[-0.1,0.1]之间的随机值。
进一步地,所述网络里的每一个权值w采用的更新规则公式如下 wt=wt-1+Δw Δw=αet-1Δo, 其中Δo为神经网络的输出与实际值的误差,

为输出对该权值的偏导数,α为学习速率,et为w在时刻t时的eligibility trace值,λ为TD(λ)中的值。
本发明还提供了一种视频传输控制系统,包括 状态收集模块,用于收集网络以及视频状态信息; 规格化模块,用于对所述状态收集模块收集到的网络以及视频状态信息进行规格化处理; 参数学习模块,用于根据所述规格化模块处理后的网络以及视频状态信息以及视频环境反馈的视频质量的结果动态的调整智能控制核心的参数并输出,从而使得智能控制核心能更好的适应目前的环境状态; 视频控制模块,用于根据所述规格化模块处理后的网络以及视频状态信息和所述参数学习模块输出的参数产生符合当前环境状态的最优的视频编码码率; 视频编码模块,用于根据视频控制模块产生的视频编码码率对原始的视频图像进行编码处理。
本发明在不需要改造现有网络的条件下,尤其是不需改造现有网络上的核心设备的条件下,就可以很好的改善实时视频质量,因此本发明规避了改造现有网络的风险,能够快速部署和实施,实现面向普通用户的广泛的视频质量保障。



图1是本发明的视频传输控制方法的流程图; 图2是本发明的实现视频传输控制方法的智能控制核心的原理图; 图3是本发明的视频传输控制系统的系统架构图。

具体实施例方式 下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图1所示,本发明的视频传输控制方法包括以下步骤 步骤101在视频传输过程中,收集网络实时状况及视频状态信息,并将收集到的信息进行规格化处理; 步骤102根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率; 步骤103根据计算得到的视频编码率对视频进行编码压缩处理,并将压缩处理后的视频进行传输。
具体地说明如下 本发明将视频处理过程中实际视频场景的复杂度、传输网络中的实时时延、时延抖动以及丢包情况综合起来考虑,充分发掘蕴涵于这些状态信息之间的因果联系,以便找到每种状态下最优的视频编码方法,从而能够有的放矢地去调整控制视频编码器的编码过程,以保障在有限的条件下能够提供给用户最好的视觉体验。
本发明从增强学习的角度来刻画分析视频通信过程,可以描述为视频终端系统处于一个动态的网络与视频环境下,可以通过调整视频编码过程来获得一定质量的用户侧视频质量。这样可以发现,视频终端系统即为增强学习中的Agent,网络与视频的实时状况可以作为环境的状态(State),调整视频编码过程是本系统可能的动作(Action),而用户侧的视频质量则是本系统所得到的奖励(Reward)。视频终端系统的任务就是通过不断的尝试来学习最优的视频调整策略,使得用户侧视频质量的期望值最大化。
本发明由三个依次相继的过程组成,它们依次是网络以及视频状态收集过程、智能控制核心的学习过程和视频编码的调整过程。
(1)网络以及视频状态收集。本发明的目的是根据实时的网络以及视频状况来动态的调整视频的编码过程,从而使得接收侧用户能够收看到质量最好的实时视频图像。网络的实时状况可以通过其时延、抖动以及丢包率等参数来刻画;视频的实时状况则包含视频源本身的状态与接收到视频的质量两个方面。在实际应用中,实时视频流是通过RTP(Real-time Transport Protocol)传输的,与RTP数据通道对应有一个控制通道RTCP(Real-time Transport ControlProtocol)流,它用来控制RTP的传输以及反馈RTP流的统计信息,如RTP包的时延、抖动等。本发明使用RTCP中的反馈信息作为网络情况的评估,这样无需额外的探测包,对网络造成的负担更小。视频源本身的实时状态通过帧复杂度来描述,这个指标刻画了每个帧相对的复杂度,比如相对于上一帧变化的多少、位移的大小等,复杂度高的帧可以得到更多的比特位,而复杂度低的则只能获得较少的比特位。由于视频发送端与接收端都没有足够的信息来评估接收到视频的质量,因此视频质量的评估采用了在发送端估计的方式。综合考虑实时性要求以及评估可靠性两个方面,视频质量的估计公式如下

其中SSIM(Structural Similarity)是基于结构失真的视频质量评价方法计算出的编码后的视频质量值;delay、jitter、lost分别对应时延、抖动、丢包率三个网络状况参数,εd、εj与εl则反映了三个参数对视频质量的相对影响大小。经过对视频传输过程的分析可以发现,视频质量随着上述三个参数的增大而变坏,而且时延、抖动、丢包的影响依次增大;另外通过对现实各种网络中视频传输质量的统计分析,本发明发现三个参数的常数部分取值如上述公式所示时可以最好的预估实际的视频质量。
本发明采用以下的策略来收集上述的网络和视频状态信息。在等待RTCP信息反馈的时间内,将这段时间内的视频帧分组,每个关键帧与下一个关键帧之间的所有帧组成一组,该组的帧复杂度定义为组内所有帧复杂度的平均值,而SSIM值定义为所有帧SSIM值的平均值;每组视频的帧复杂度与SSIM值都将保存下来以备后续操作使用。当RTCP反馈到达的时候,根据反馈中的网络状态信息以及保存的每组视频帧的SSIM值,通过上述公式计算每组视频的奖励值(即接收到的视频质量)。以上策略综合考虑了学习速度与正确性的问题。首先将视频分组,每组数据都会用于更新学习过程,可以为智能控制核心的学习过程提供更多的数据;另外,在H.264编码的过程中,两个关键帧之间的每个帧会引用之前的关键帧及它之前的帧,从而实现更高的视频压缩率,因此以关键帧为边界来分隔视频组是合理的,其中帧的平均复杂度与SSIM值也是有一定物理意义的。
(2)智能控制核心学习。网络自适应智能控制系统的核心实现架构如图2所示。该控制核心接受时延、抖动、丢包率三个网络信息以及帧复杂度这个视频信息作为当前环境的状态输入,输出在这些输入状态下应该使用的视频编码码率。其主要框架使用了增强学习中的AHC(Adaptive Heuristic Critic)模型(或称为Actor-Critic模型),其中Actor负责产生当前状态条件下的一个动作,Critic则负责学习预测当前状态条件下可能得到的奖励,图中的Value(x)即为Critic对环境奖励进行预测的函数。学习过程中,Critic接受环境的奖励反馈,更新Value(x),并将奖励预测误差以外界反馈的形式交给Actor模块,用于指导Actor纠正选取动作的策略。本发明中,Value(x)依据Q-learning更新规则进行学习,Actor则采用Gaussian ASLA(all solid-state laser annealing)动作函数来实现,Actor与Critic都使用BP(Back-Propagation)神经网络来进行泛化的工作。另外,由于状态数据各自的取值范围差异性很大,在使用之前需要进行规格化处理。下面将分别介绍各个环节的实现细节。
本发明使用如下的方法来进行规格化操作,每一个输入的实数值x都被分割为N个取值位于0~1之间的输出,计算第n个输出的值使用的公式如下

其中N与bn根据输入数据的分布特征指定,r为输入数据可能的取值范围。考虑到以上提到的四个状态变量,因为丢包率的取值范围位于0~1之间,不需要规格化。其他三个状态变量使用上式进行规格化,对于时延,N取为4,bn依次为0.7、3.6、7.3、100;对于抖动,N取为4,bn依次为1.38、4.6、13.9、20;对于帧复杂度,N取为8,bn依次为15000、25000、35000、45000、55000、70000、90000、120000。时延与抖动的取值情况与实际网络中的四个典型网络的特征值相对应,帧复杂度则是考察了实际视频复杂度分布后的结果。这样经过规格化后共得到16个输出数据,加上丢包率,共有17个,分别对应于图2中的out1~out17。这17个数据用来描述系统所在环境的状态,作为Actor与Critic中拟合过程所使用的神经网络的输入,分别与图2中的Input1~Input17一一对应。
本发明使用如下的方法来进行学习更新Critic的过程。系统运行过程中,首先在时刻t-1时Actor选择一个码率,而后会收到环境的反馈奖励信息,此处即是校正后的视频质量信息。此时,Critic需要更新自己的奖励预测函数,本发明使用了Q-learning的规则。所谓Q-learning也就是说预测函数在时刻t-1时预则的偏差描述公式如下 δ=rt-1+γValuet-Valuet-1,其中rt-1是时刻t-1的动作所收到的奖励,是一个学习参数。上式的核心思想是使用预测函数当前的预测值来代替将来可以获得奖励的实际值,然后加上由时刻t-1到时刻t之间所得的奖励,就是时刻t-1时应该得到的奖励。随着学习过程的进行,Value(x)函数将逐步逼进于实际的奖励函数。
本发明使用如下的方法来进行学习更新Actor的过程。Actor的实现使用了Gaussian ASLA动作函数,在该实现方式中,需要一个μ(x)函数与σ(x)函数分别来估计输出值的均值与标准差,然后会使用服从均值为μ(x)、标准差为σ(x)的高斯分布随机数生成器来产生输出值,本文中的输出即为当前状态下的视频编码码率值,图2中显示了这种组织结构。μ(x)与σ(x)都是当前环境状态的函数,Actor的学习过程即是根据反馈值来不断更新纠正μ(x)与σ(x)的过程,其反馈值来至于Critic。由于Actor产生输出值(动作)的时候使用了高斯随机数发生器,因此μ(x)与σ(x)的更新规则与Critic中的Value(x)不同,使用了一种基于高斯分布的对数值的更新规则,具体规则公式如下 Δμ=(at-1-μt-1)δ ,其中at-1是时刻t-1时Actor的输出的动作值,μt-1 Δσ=[(αt-1-μt-1)2-σt-12]δ与σt-1为时刻t-1时的输出值均值与标准差的预测值,δ为Critic给Actor的反馈。采用这种更新规则,Actor将倾向于提高那些获得正反馈的动作被选择的概率,而降低那些获得负反馈的动作被选择的概率;随着学习过程的进行,μ(x)将趋近于最优的动作值,而σ(x)也将逐步减小,从而缩小可选的动作的范围。
本发明使用如下的方法来进行学习更新神经网络的过程。增强学习中面临的一个普遍问题就是泛化问题,即当Agent遇到一个以前没有遇到过的状态时如何处理。为了使Agent可以处理这些未遇到过的状态,Agent就需要有一定的泛化能力,函数拟合是一种流行的实现方式,其中神经网络应用的比较广泛。本发明中共使用了三个神经网络,如图2中所示,分别用来拟合Critic中的Value(x)、Actor中的μ(x)和σ(x)。三个网络的输入相同,都是规格化之后的环境的状态值,输入层共有17个输入单元,即图2中的Input1~Input17;每个网络有一个隐层(Hidden Layer),隐层有三个神经元组成,即图2中的Hide1~Hide3;输出层有一个输出神经元,即图2中的Out。网络中的每个神经元的门限函数使用的是可微的sigmoid函数,公式如下

其中wi与xi分别为神经元的第i个输入的权值与输入值。本发明采用了使用三个神经网络来分别拟合三个函数的做法,在更新权值的时候三个函数不会互相干扰,更加有利于结果的拟合。三个网络的所有权值都初始化为[-0.1,0.1]之间的随机值。为了加快学习效率,并减少权值的误更新操作,本发明采用了带eligibility trace的更新方法,即只更新那些在计算过程中实际发生过作用的权值。这是增强学习领域应用比较广的有效方法,并且可以与TD(λ)配合使用。对于网络里的每一个权值w采用的更新规则公式如下

其中 为神经网络的输出与实际值的误差,

为输出对该权值的偏导数,α为学习速率,et为w在时刻t时的eligibility trace值,λ为TD(λ)中的值,反映了奖励分配策略。
在Value(x)的神经网络中,Δo即为上述中的δ;在μ(x)与σ(x)的神经网络中,Δo为上述中的Δμ与Δσ。在学习过程中,每一次更新时,网络的权值都采用上式的方法进行更新,这是一种比较流行的基于梯度下降的更新方式,有良好的理论背景支持,可以收敛至均方误差最小的解。
(3)视频编码调整。如上所述,本发明将每个关键帧与下一个关键帧之间的所有帧组成一组。当开始编码一个新的视频组的时候,使用上一视频组的帧复杂度来计算新的视频组所应该使用的视频码率,并调整视频编码器的目标输出码率为相应值。每组视频使用的视频编码码率都将保存下来以备更新操作使用。当RTCP反馈到达的时候,使用保存的信息以及网络状态信息更新图表1中的三个神经网络。网络更新结束后,修改三个神经网络当前网络状态,并计算新的视频编码码率,调整视频编码器的目标输出码率为相应值。
本发明的视频传输控制系统的系统架构如图3所示,本发明工作于应用层,通过在应用层调整参数来适应动态变化的网络与视频环境。本发明在不需要改造现有网络的条件下,尤其是不需改造现有网络上的核心设备的条件下,就可以很好的改善实时视频质量,因此本发明规避了改造现有网络的风险,能够快速部署和实施,实现面向普通用户的广泛的视频质量保障。因此,本系统的边界如图3中的A所示。
状态收集模块用于收集网络以及视频流的状态信息。网络状态信息可以通过监听RTCP流实现(如图3中的③所示),而视频状态信息则可以在视频编码过程中获得(如图3中的①所示),不过这里存在着两种状态信息不同步的问题。网络状态信息以RTCP反馈的形式收到,频率比较低;而与此同时,视频编码的频率很快。经过仔细的研究,本发明采用以下的策略来实现状态搜集模块。在等待RTCP信息反馈的时间内,将这段时间内的视频帧分组,每个关键帧与下一个关键帧之间的所有帧组成一组,该组的帧复杂度定义为组内所有帧复杂度的平均值,而SSIM值定义为所有帧SSIM值的平均值。每组视频的帧复杂度与SSIM值都将放到状态信息缓存中以备更新操作使用,如图3中②所示。当RTCP反馈到达的时候,根据反馈中的网络状态信息以及保存的每组的SSIM值,计算每组视频的奖励值。收集到的网络状态信息(如图3中的④)以及状态信息缓存中的视频状态信息(如图3中的⑤)都将传给规格化模块作进一步的加工处理。
规格化模块的作用是将取值及分布差异很大的各个状态值进行规格化处理,使它们的取值都处于比较一致的范围内,从而为其他模块提供一个一致的规格化的状态描述。本发明使用如下的方法来进行规格化操作,每一个输入的实数值x都被分割为N个取值位于0~1之间的输出,其中N根据输入数据的取值范围以及分布特征指定。考虑到时延、时延抖动和丢包率三个网络状态变量以及帧复杂度这个视频状态变量,因为丢包率的取值范围位于0~1之间,不需要规格化;时延与抖动进行规格化时的取值情况与实际网路中的四个典型网络的特征值相对应;帧复杂度规格化时则考察了实际视频帧复杂度分布后的结果。规格化结束后共得到17个取值位于0~1之间的规格化数据,它们一起描述了某一时刻的网络和视频的实时状态,将作为参数学习模块与视频控制模块的输入(如图3中的⑥与⑧)。
参数学习模块主要负责根据网络以及视频环境反馈的视频质量的结果动态的调整智能控制核心的参数,从而使得智能控制核心能更好的适应目前的环境状态,这是本发明中的系统具有在线学习与环境自适应能力的关键模块。该模块接受规格化模块输出的时延、抖动、丢包率三个网络信息以及帧复杂度这个视频信息作为当前环境的状态输入(如图3中的⑥),接受网络状态偏置后的SSIM值作为当前环境的奖励,从而调整相应的参数。其主要框架使用了增强学习中的AHC模型(或称为Actor-Critic模型),其中Actor负责产生当前状态条件下的一个动作,Critic则负责学习预测当前状态条件下可能得到的奖励。学习过程中,Critic接受环境的奖励反馈,使用Q-learning更新规则来调整对环境奖励的预测函数,并将奖励预测误差以外界反馈的形式交给Actor模块;Actor模块根据Critic提供的奖励反馈来更新动作的选取策略。若从Critic获得的奖励反馈为正时,即上一次选取的视频编码码率收到了比以往更好的视频质量,Actor就调整其内部参数提高该视频编码码率选中的概率;若奖励反馈为负,即上一次选取的视频编码码率取得了比以往要差的视频质量,Actor就调整其内部参数降低该视频编码码率选中的概率。参数学习模块更新后的内部参数会被视频控制模块用于视频编码码率的选择过程中(如图3中的⑦所示)。
视频控制模块负责产生符合当前环境状态的最优的视频编码码率。视频控制模块接受规格化模块输出的规格化后的状态数据以及参数学习模块更新后的内部参数(如图3中的⑦与⑧所示),参照当前状态,依据内部参数指定的策略选取适合于当前环境的合适的视频编码码率。视频控制模块在选择视频编码码率的时候需要考虑探索问题,即是去尝试新的视频编码码率,还是从过去的视频编码码率中选择,如果要尝试新的,采用怎样的策略。本发明使用的是随机选择的策略,选择过去视频编码码率的概率与该码率已知奖励成正比;而且有一定概率选择新的视频编码码率,选择某一新视频编码码率的概率与其附近码率值的已知奖励成正比。该随机选择策略的输入即为当前环境的各个状态值,使用的内部参数是由参数学习模块负责调整更新的。视频控制模块的输出值是当前状态下应使用的视频编码码率,将用于视频编码模块的编码过程中(如图3中的⑨所示)。
视频编码模块负责对原始的视频图像进行编码处理。视频编码模块接受视频控制模块输出的视频编码码率作为输入(如图3中的⑨所示),将该值作为视频编码器的目标编码码率,编码后的视频流将以RTP流的形式输出到网络中(如图3中的⑩所示)。
本发明的优点在于 一、本发明将实时视频通信中的各个因素综合起来考虑,即将视频处理过程中,实际视频场景的复杂度、传输网络中的实时时延、时延抖动以及丢包情况综合起来考虑,保障了实时处理的视频质量。而传统方法通常只考虑视频流的特点或网络状况中的一个,没有将两者有机的结合起来。
二、本发明提供了一种对视频通信中的各个因素进行规格化处理的方法,以便将这些取值范围差异很大的状态值以及奖励值映射到一致的范围内,从而更加有利于核心控制模块的学习与控制过程。
三、本发明分析出视频通信中的各因素与视频质量的关系,并使用机器学习领域著名的并已有较为成熟应用的增强学习算法来定量的学习刻画这一潜在的关系,并实现了实时的网络自适应的视频传输控制系统。使用本发明的系统和方法,可以根据所处的网络环境在线的学习改进,做到真正意义上的网络自适应,这是传统方法所不具备的优点。
四、本发明工作于应用层,它是一种动态适应环境来保证视频传输质量的系统和方法,过程简洁,适用面广,适用于所有实时视频传输的情况,使用本发明,可以根据所处的网络环境在线的学习改进,做到真正意义上的网络自适应,这是本发明特有的优点。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
权利要求
1.一种视频传输控制方法,其特征在于,包括
在视频传输过程中,收集网络实时状况及视频状态信息,并将收集到的信息进行规格化处理;
根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率;
根据计算得到的视频编码率对视频进行编码压缩处理,并将压缩处理后的视频进行传输。
2.根据权利要求1所述的视频传输控制方法,其特征在于,所述网络实时状况包括时延、抖动和丢包率;所述收集网络实时状况通过获取RTCP流中的反馈信息来实现。
3.根据权利要求2所述的视频传输控制方法,其特征在于,在等待RTCP流中的反馈信息的过程中,将视频的每个关键帧与下一个关键帧之间的所有帧组成一组,计算并保存每组视频的视频质量值SSIM;获取RTCP流中的反馈信息后,根据反馈中的网络状态信息计算每组视频的估计视频质量,所述估计视频质量由以下公式计算
其中,εd=1/100,εj=1/20,εl=256,每组视频的视频质量值SSIM为该组内所有帧视频质量值的平均值,delay、jitter、lost分别对应时延、抖动、丢包率三个网络状况参数。
4.根据权利要求3所述的视频传输控制方法,其特征在于,将收集到的信息进行规格化处理包括
将每一个输入的实数值x分割为N个取值位于0~1之间的输出,计算第n个输出的值使用的公式如下
其中,丢包率不需要规格化,N与bn根据输入数据的分布特征指定,对于时延,N取为4,bn依次为0.7、3.6、7.3、100;对于抖动,N取为4,bn依次为1.38、4.6、13.9、20;对于帧复杂度,N取为8,bn依次为15000、25000、35000、45000、55000、70000、90000、120000;r为输入数据可能的取值范围。
5.根据权利要求4所述的视频传输控制方法,其特征在于,所述根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率的方法为
将规格化后的网络及视频状态信息输入到增强学习中的Actor-Critic模型,Actor-Critic模型中的Critic根据所输入的规格化后的网络及视频状态信息采用预测函数Value(x)预测视频质量,Critic将预测的视频质量与环境反馈的视频质量的误差反馈给Actor-Critic模型中的Actor,并根据环境反馈的视频质量更新预测函数;
Actor根据所输入的规格化后的网络及视频状态信息计算得到视频编码率,根据Critic输出的预测误差更新选取动作的策略。
6.根据权利要求5所述的视频传输控制方法,其特征在于,所述Actor根据所输入的规格化后的网络及视频状态信息计算得到视频编码率、根据Critic输出的预测误差更新选取动作的策略具体包括
系统运行过程中,首先在时刻t-1时Actor根据所输入的规格化后的网络及视频状态信息通过μ(x)函数和σ(x)函数分别估计视频编码率的均值与标准差,然后使用服从均值为μ(x)、标准差为σ(x)的高斯分布随机数生成器来产生视频编码率;
所述Actor根据Critic输出的预测误差修正均值μ(x)和标准差σ(x),修正公式为
Δμ=(at-1-μt-1)δ

Δσ=[(at-1-μt-1)2-σt-12]δ
其中,at-1是时刻t-1时Actor的输出的动作值,μt-1与σt-1分别为时刻t-1时的输出值均值与标准差的预测值,δ为Critic给Actor的反馈。
7.根据权利要求6所述的视频传输控制方法,其特征在于,所述Critic给Actor的反馈δ通过以下公式获得
δ=rt-1+γValuet-Valuet-1;
其中rt-1是时刻t-1的动作所收到的环境反馈的视频质量,γ是一个学习参数。
8.根据权利要求7所述的视频传输控制方法,其特征在于,采用三个神经网络分别用来拟合Critic中的Value(x)、Actor中的μ(x)和σ(x),三个网络的输入均为规格化之后的网络及视频状态信息;每个网络有一个隐层,隐层由三个神经元组成;输出层有一个输出神经元,网络中的每个神经元的门限函数使用的是可微的sigmoid函数,公式如下
其中wi与xi分别为神经元的第i个输入的权值与输入值,三个网络的所有权值都初始化为[-0.1,0.1]之间的随机值。
9.根据权利要求7所述的视频传输控制方法,其特征在于,所述网络里的每一个权值w采用的更新规则公式如下
wt=wt-1+Δw
Δw=αet-1Δo,
其中Δo为神经网络的输出与实际值的误差,
为输出对该权值的偏导数,α为学习速率,et为w在时刻t时的eligibility trace值,λ为TD(λ)中的值。
10.一种视频传输控制系统,其特征在于,包括
状态收集模块,用于收集网络以及视频状态信息;
规格化模块,用于对所述状态收集模块收集到的网络以及视频状态信息进行规格化处理;
参数学习模块,用于根据所述规格化模块处理后的网络以及视频状态信息以及视频环境反馈的视频质量的结果动态的调整智能控制核心的参数并输出,从而使得智能控制核心能更好的适应目前的环境状态;
视频控制模块,用于根据所述规格化模块处理后的网络以及视频状态信息和所述参数学习模块输出的参数产生符合当前环境状态的最优的视频编码码率;
视频编码模块,用于根据视频控制模块产生的视频编码码率对原始的视频图像进行编码处理。
全文摘要
本发明公开了一种视频传输控制方法,包括在视频传输过程中,收集网络实时状况及视频状态信息,并将收集到的信息进行规格化处理;根据规格化后的网络及视频状态信息估计视频质量,计算视频编码率;根据计算得到的视频编码率对视频进行编码压缩处理,并将压缩处理后的视频进行传输。本发明在不需要改造现有网络的条件下,尤其是不需改造现有网络上的核心设备的条件下,就可以很好的改善实时视频质量,因此本发明规避了改造现有网络的风险,能够快速部署和实施,实现面向普通用户的广泛的视频质量保障。
文档编号H04L29/06GK101808244SQ201010131630
公开日2010年8月18日 申请日期2010年3月24日 优先权日2010年3月24日
发明者程渤, 刘传昌, 章洋, 陈俊亮, 杨加林 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1