首页> 中国专利> 码率自适应模型的训练、视频码率自适应方法及装置

码率自适应模型的训练、视频码率自适应方法及装置

摘要

本公开关于一种码率自适应模型的训练、视频码率自适应方法及装置。码率自适应模型的训练方法包括:从网络状态池中选择网络状态作为第一训练环境;通过码率自适应模型在第一训练环境中进行码率决策,将得到的码率决策轨迹数据作为第一轨迹;基于第一轨迹对码率自适应模型的参数进行调整,得到码率自适应模型的第一更新模型;从网络状态池中再次选择网络状态作为第二训练环境;通过第一更新模型在第二训练环境中进行码率决策,将得到的码率决策轨迹数据作为第二轨迹;基于第二轨迹对第一更新模型的参数进行调整,得到码率自适应模型的第二更新模型。本公开的码率自适应模型的训练方法可使得码率自适应模型适应各种个性化网络。

著录项

  • 公开/公告号CN114885215A

    专利类型发明专利

  • 公开/公告日2022-08-09

    原文格式PDF

  • 申请/专利号CN202210470786.8

  • 发明设计人 孙立峰;周超;黄天驰;

    申请日2022-04-28

  • 分类号H04N21/462(2011.01);H04N21/458(2011.01);G06K9/62(2022.01);

  • 代理机构北京铭硕知识产权代理有限公司 11286;北京铭硕知识产权代理有限公司 11286;

  • 代理人王皎彤;曾世骁

  • 地址 100084 北京市海淀区清华园

  • 入库时间 2023-06-19 16:19:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-25

    授权

    发明专利权授予

  • 2022-08-26

    实质审查的生效 IPC(主分类):H04N21/462 专利申请号:2022104707868 申请日:20220428

    实质审查的生效

  • 2022-08-09

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及视频技术领域。更具体地,本公开涉及一种码率自适应模型的训练方法及装置、以及一种视频码率自适应方法及装置。

背景技术

互联网视频使用多种不同的方式传输视频流。在相关技术中,在视频点播场景下,采用自适应码率(Adaptive Bitrate Streaming,简称ABR)架构来达到高视频质量,同时避免不间断的卡顿事件。传统的自适应码率视频流框架由视频客户端和视频服务器组成。视频将被实现切成多个视频块,同时转码为多个档位放置在服务器上。视频客户端依次从视频服务器下载视频块。同时,自适应码率算法根据过去测量的吞吐量和当前缓冲区利用率选择具有适当码率级别的下一个视频块。

在相关技术中,主流的自适应码率算法一般由启发式算法和基于学习的算法组成。其中,启发式算法根据具有领域知识的特征做出决策,例如,吞吐量测量、缓冲区占用率或预定义的模型。相反,基于学习的自适应码率算法则将过程建模为马尔可夫决策过程(Markov Decision Process,简称MDP),并使用深度强化学习从零开始训练一个策略使其能够适应各种网络情况。

然而在真实场景中,当今的互联网网络状态不仅是多样的,而且每个场景拥有独特性。例如,不同用户的地理环境和网络类型对其感受到的网络分布都有很大影响。现有的自适应码率算法无法快速适应与训练集中的网络场景显著不同的这种个性化网络状态。

发明内容

本公开的示例性实施例在于提供一种码率自适应模型的训练方法及装置、以及一种视频码率自适应方法及装置,以至少解决相关技术中的码率自适应模型的训练的问题、视频码率自适应的问题,也可不解决任何上述问题。

根据本公开的示例性实施例,提供一种码率自适应模型的训练方法,包括:从网络状态池中选择网络状态作为第一训练环境;通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹;基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型;从所述网络状态池中再次选择网络状态作为第二训练环境;通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹;基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。

可选地,所述训练方法还包括:响应于接收到视频播放请求,基于所述第二更新模型和回退策略对所述视频进行码率自适应决策,并且基于码率自适应决策结果播放所述视频;将播放所述视频时的网络状态加入到所述网络状态池中得到更新后的网络状态池;将播放所述视频的码率决策轨迹数据作为第三轨迹;从所述更新后的网络状态池中选择网络状态作为第三训练环境;通过虚拟播放器在所述第三训练环境下回放所述视频;将回放所述视频的码率决策轨迹数据作为第四轨迹;基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整,其中,所述第一训练环境、所述第二训练环境和所述第三训练环境是随机选择的网络状态。

可选地,基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整,包括:使用强化学习算法基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

可选地,基于所述第一轨迹对所述码率自适应模型的参数进行调整,包括:使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。

可选地,基于所述第一轨迹对所述码率自适应模型的参数进行调整,包括:基于所述第一轨迹计算所述码率自适应模型的参数的梯度;基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

可选地,基于所述第二轨迹对所述第一更新模型的参数进行调整,包括:使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。

可选地,基于所述第二轨迹对所述第一更新模型的参数进行调整,包括:基于所述第二轨迹计算所述第一更新模型的参数的梯度;基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

可选地,所述码率自适应模型包括策略网络和评判网络。

根据本公开的示例性实施例,提供一种码率自适应方法,包括:获取当前网络状态;通过码率自适应模型确定当前网络状态对应的码率;基于确定的码率播放视频,其中,所述码率自适应模型是根据本公开的示例性实施例的码率自适应模型的训练方法训练得到的。

根据本公开的示例性实施例,提供一种码率自适应模型的训练装置,包括:第一环境选择单元,被配置为从网络状态池中选择网络状态作为第一训练环境;第一轨迹采样单元,被配置为通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹;第一调整单元,被配置为基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型;第二环境选择单元,被配置为从所述网络状态池中再次选择网络状态作为第二训练环境;第二轨迹采样单元,被配置为通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹;和第二调整单元,被配置为基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。

可选地,所述训练装置还包括:码率决策单元,被配置为响应于接收到视频播放请求,基于所述第二更新模型和回退策略对所述视频进行码率自适应决策,并且基于码率自适应决策结果播放所述视频;状态池更新单元,被配置为将播放所述视频时的网络状态加入到所述网络状态池中得到更新后的网络状态池;第三轨迹采样单元,被配置为将播放所述视频的码率决策轨迹数据作为第三轨迹;第三环境选择单元,被配置为从所述更新后的网络状态池中选择网络状态作为第三训练环境;第四轨迹采样单元,被配置为通过虚拟播放器在所述第三训练环境下回放所述视频,将回放所述视频的码率决策轨迹数据作为第四轨迹;和第三调整单元,被配置为基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整,其中,所述第一训练环境、所述第二训练环境和所述第三训练环境是随机选择的网络状态。

可选地,第三调整单元被配置为:使用强化学习算法基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

可选地,第一调整单元被配置为:使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。

可选地,第一调整单元被配置为:基于所述第一轨迹计算所述码率自适应模型的参数的梯度;基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

可选地,第二调整单元被配置为:使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。

可选地,第二调整单元被配置为:基于所述第二轨迹计算所述第一更新模型的参数的梯度;基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

可选地,所述码率自适应模型包括策略网络和评判网络。

根据本公开的示例性实施例,提供一种码率自适应装置,包括:网络状态获取单元,被配置为获取当前网络状态;码率确定单元,被配置为通过码率自适应模型确定当前网络状态对应的码率;和码率自适应单元,被配置为基于确定的码率播放视频,其中,所述码率自适应模型是根据本公开的示例性实施例的码率自适应模型的训练方法训练得到的。

根据本公开的示例性实施例,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的示例性实施例的码率自适应模型的训练方法、或者视频码率自适应方法。

根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使得电子设备执行根据本公开的示例性实施例的码率自适应模型的训练方法、或者视频码率自适应方法。

根据本公开的示例性实施例,提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,实现根据本公开的示例性实施例的码率自适应模型的训练方法、或者视频码率自适应方法。

本公开的实施例提供的技术方案至少带来以下有益效果:

针对每个用户的个性化网络能够快速更新自身策略,从而适应各种个性化网络。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。

图1示出本公开的示例性实施例可以应用于其中的示例性系统架构。

图2示出根据本公开的一个示例性实施例的码率自适应模型的训练方法的流程图。

图3示出根据本公开的另一示例性实施例的码率自适应模型的训练方法的流程图。

图4示出根据本公开的示例性实施例的码率自适应方法的流程图。

图5示出根据本公开的一个示例性实施例的码率自适应模型的训练装置的框图。

图6示出根据本公开的另一示例性实施例的码率自适应模型的训练装置的框图。

图7示出根据本公开的示例性实施例的码率自适应装置的框图。

图8是根据本公开的示例性实施例的电子设备800的框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。

本公开提出一种新的基于元强化学习的码率自适应(Adaptive BitRate,简称ABR)算法,该算法针对每个用户的个性化网络能够快速更新自身策略,从而适应各种个性化网络。该算法的构建可包括两个阶段,即,离线阶段和在线阶段。利用元强化学习在离线阶段学习具有各种网络条件的初始的元策略,并在在线阶段不断优化元策略,使之成为定制的码率自适应算法,从而可在个性化网络条件下做出决策。此外,在在线阶段还充分利用领域知识通过虚拟播放器来重放以前的网络体验,以帮助提高学习效率。

下面,将参照图1至图8具体描述根据本公开的示例性实施例的码率自适应模型的训练方法及装置、以及视频码率自适应方法及装置。

图1示出本公开的示例性实施例可以应用于其中的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息(例如,码率自适应模型的训练请求、视频播放请求、视频点播请求)等。终端设备101、102、103上可以安装有各种视频客户端应用。终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏并且能够进行音视频播放的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块(例如,用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上所安装的视频客户端应用提供支持的后台服务器。

需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如,用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本公开实施例所提供的码率自适应模型的训练方法、或者码率自适应方法通常由终端设备执行,但是也可由服务器执行,或者也可以由终端设备和服务器协作执行。相应地,码率自适应模型的训练装置、、或者码率自适应装置可设置在终端设备中、服务器中或者设置在终端设备和服务器两者中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本公开对此并无限制。

图2示出根据本公开的一个示例性实施例的码率自适应模型的训练方法的流程图。

参照图2,在步骤S201,从网络状态池中选择网络状态作为第一训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第一训练环境。也就是说,所述第一训练环境可以是随机选择的。此外,所述第一训练环境也可以是按照其他预定规则选择的。

这里,网络状态池中包括多种可作为训练环境的网络状态,网络状态池中的网络状态可以是真实的网络状态,也可以是合成的网络状态。

网络状态可包括视频质量、缓冲区占用、吞吐量、下载时间和响应时间等中的至少一个。网络状态可表示为序列的形式。例如,每个网络状态可表示视频质量、缓冲区占用、吞吐量、下载时间和响应时间等组成的序列。

在步骤S202,通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹。这里,所述码率自适应模型可以是神经网络模型。轨迹是指在所述第一训练环境中选择码率的轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第一轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,所述码率自适应模型可包括策略网络(即,Actor网络)和评判网络(即,Critic网络)。

这里,策略网络可输出离散的动作空间,动作空间指示在当前的网络状态下选择码率级别的概率。评判网络可输出单个标量,表示当前的网络状态的估计值。策略网络和评判网络都使用两个完全连接的层,其中,每个层有例如64个神经元,策略网络的输出激活函数为归一化指数函数(Softmax函数)。

在步骤S203,基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型。

在本公开的示例性实施例中,在基于所述第一轨迹对所述码率自适应模型的参数进行调整时,可使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。这里,元强化学习算法可以是例如,但不限于,最大熵强化学习算法。

在本公开的示例性实施例中,在基于所述第一轨迹对所述码率自适应模型的参数进行调整时,可首先基于所述第一轨迹计算所述码率自适应模型的参数的梯度,然后基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

在步骤S204,从所述网络状态池中再次选择网络状态作为第二训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第二训练环境。也就是说,所述第二训练环境可以是随机选择的。此外,所述第二训练环境也可以是按照其他预定规则选择的。

在步骤S205,通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第二轨迹可包括多条码率决策轨迹的数据。

在步骤S206,基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。

在本公开的示例性实施例中,在基于所述第二轨迹对所述第一更新模型的参数进行调整时,可使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。这里,元强化学习算法可以是例如,但不限于,最大熵强化学习算法。

在本公开的示例性实施例中,在基于所述第二轨迹对所述第一更新模型的参数进行调整时,可首先基于所述第二轨迹计算所述第一更新模型的参数的梯度,然后基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

图3示出根据本公开的另一示例性实施例的码率自适应模型的训练方法的流程图。码率自适应模型的训练可包括离线阶段和在线阶段。离线阶段可包括内循环阶段和外循环阶段。在离线阶段可执行图3中的步骤S301至步骤S306,在在线阶段可执行图3中的步骤S307至步骤S310。在内循环阶段可执行图3中的步骤S301至步骤S303,在外循环阶段可执行图3中的步骤S304至步骤S306。外循环阶段在内循环阶段的训练结果的基础上进一步训练,在线阶段在离线阶段的训练结果的基础上进一步训练。

参照图3,在步骤S301,从网络状态池中选择网络状态作为第一训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第一训练环境。也就是说,所述第一训练环境可以是随机选择的。此外,所述第一训练环境也可以是按照其他预定规则选择的。

这里,网络状态池中包括多种可作为训练环境的网络状态,网络状态池中的网络状态可以是真实的网络状态,也可以是合成的网络状态。

网络状态可包括视频质量、缓冲区占用、吞吐量、下载时间和响应时间等中的至少一个。网络状态可表示为序列的形式。例如,每个网络状态可表示视频质量、缓冲区占用、吞吐量、下载时间和响应时间等组成的序列。

在步骤S302,通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹。这里,所述码率自适应模型可以是神经网络模型。轨迹是指在所述第一训练环境中选择码率的轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第一轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,所述码率自适应模型可包括策略网络和评判网络。

这里,策略网络可输出离散的动作空间,动作空间指示在当前的网络状态下选择码率级别的概率。评判网络可输出单个标量,表示当前的网络状态的估计值。策略网络和评判网络都使用两个完全连接的层,其中,每个层有例如64个神经元,策略网络的输出激活函数为归一化指数函数(Softmax函数)。

在步骤S303,基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型。

在本公开的示例性实施例中,在基于所述第一轨迹对所述码率自适应模型的参数进行调整时,可使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。这里,元强化学习算法可以是例如,但不限于,最大熵强化学习算法。

在本公开的示例性实施例中,在基于所述第一轨迹对所述码率自适应模型的参数进行调整时,可首先基于所述第一轨迹计算所述码率自适应模型的参数的梯度,然后基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

在内循环阶段,对于每次更新,智能体首先从网络状态池中随机选择一个特定的网络条件作为训练环境,并根据所述码率自适应模型的当前策略在该训练环境中采样N条轨迹。然后采用最大熵强化学习方法基于采样得到的这N条轨迹对元模型(即,码率自适应模型)进行优化。

在步骤S304,从所述网络状态池中再次选择网络状态作为第二训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第二训练环境。也就是说,所述第二训练环境可以是随机选择的。此外,所述第二训练环境也可以是按照其他预定规则选择的。

在步骤S305,通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹。

在步骤S306,基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第二轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,在基于所述第二轨迹对所述第一更新模型的参数进行调整时,可使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。这里,元强化学习算法可以是例如,但不限于,最大熵强化学习算法。

在本公开的示例性实施例中,在基于所述第二轨迹对所述第一更新模型的参数进行调整时,可首先基于所述第二轨迹计算所述第一更新模型的参数的梯度,然后基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

在外循环阶段,每个智能体使用与第一更新模型对应的元策略从随机选择的训练环境中不断推出多条轨迹,并使用该多条轨迹计算第一更新模型的参数的梯度。随后,每个智能体将计算出的梯度发送给中央学习器。中央学习器最终合并梯度。最后,基于合并梯度对所述第一更新模型进行优化。

在步骤S307,响应于接收到视频播放请求,基于所述第二更新模型和回退策略对所述视频进行码率自适应决策,并且基于码率自适应决策结果播放所述视频。

在步骤S308,将播放所述视频时的网络状态加入到所述网络状态池中得到更新后的网络状态池。

在步骤S309,将播放所述视频的码率决策轨迹数据作为第三轨迹。

在步骤S310,从所述更新后的网络状态池中选择网络状态作为第三训练环境。

在步骤S311,通过虚拟播放器在所述第三训练环境下回放所述视频,并将回放所述视频的码率决策轨迹数据作为第四轨迹。

这里,可将从所述更新后的网络状态池中随机选择的网络状态作为所述第三训练环境。也就是说,所述第三训练环境可以是随机选择的网络状态。此外,所述第三训练环境也可以是按照其他预定规则选择的。

在步骤S312,基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

在本公开的示例性实施例中,在基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整时,可使用强化学习算法基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

在在线阶段,离线阶段训练得到的元模型(所述第二更新模型)将会事先被下发到用户端。随后用户端会根据元策略和当前个性化网络状态选择码率。具体地,当视频会话开始时,视频播放器从服务器接收经过训练的元模型。然后视频播放器结合与元模型对应的元策略和回退策略做出码率自适应决策。这样的混合决策可以保证视频播放器始终做出“安全”的决策。回退策略基于启发式算法,即在不发生暂停事件的情况下选择最大码率。完成视频播放任务后,将当前网络环境存入环境收集器中。随后,从环境收集器中随机抽样多个网络环境,并使用虚拟播放器在所述多个网络环境中依次播放上述视频,结合视频播放器播放视频的码率的轨迹和虚拟播放器播放视频的码率的轨迹完成进一步更新训练。

图4示出根据本公开的示例性实施例的码率自适应方法的流程图。图4中的码率自适应方法可用于播放视频或者视频点播的场景。

在步骤S401,获取当前网络状态。响应于接收到视频播放请求,获取当前网络状态。

在步骤S402,通过码率自适应模型确定当前网络状态对应的码率。这里,所述码率自适应模型是根据本公开的示例性实施例的码率自适应模型的训练方法训练得到的。例如,所述码率自适应模型可以是图2中训练得到的第二更新模型或图3中训练得到的第三更新模型。

在步骤S403,基于确定的码率播放视频。

以上已经结合图1至图4对根据本公开的示例性实施例的码率自适应模型的训练方法、视频码率自适应方法进行了描述。在下文中,将参照图5至图7对根据本公开的示例性实施例的码率自适应模型的训练装置及其单元、视频码率自适应装置及其单元进行描述。

图5示出根据本公开的一个示例性实施例的码率自适应模型的训练装置的框图。

参照图5,码率自适应模型的训练装置包括第一环境选择单元51、第一轨迹采样单元52、第一调整单元53、第二环境选择单元54、第二轨迹采样单元55和第二调整单元56。

第一环境选择单元51被配置为从网络状态池中选择网络状态作为第一训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第一训练环境。也就是说,所述第一训练环境可以是随机选择的。此外,所述第一训练环境也可以是按照其他预定规则选择的。

第一轨迹采样单元52被配置为通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹。这里,所述码率自适应模型可以是神经网络模型。轨迹是指在所述第一训练环境中选择码率的轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第一轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,所述码率自适应模型可包括策略网络和评判网络。

第一调整单元53被配置为基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型。

在本公开的示例性实施例中,第一调整单元53可被配置为:使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。

在本公开的示例性实施例中,第一调整单元53可被配置为:基于所述第一轨迹计算所述码率自适应模型的参数的梯度;基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

第二环境选择单元54被配置为从所述网络状态池中再次选择网络状态作为第二训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第二训练环境。也就是说,所述第二训练环境可以是随机选择的。此外,所述第二训练环境也可以是按照其他预定规则选择的。

第二轨迹采样单元55被配置为通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第二轨迹可包括多条码率决策轨迹的数据。

第二调整单元56被配置为基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。

在本公开的示例性实施例中,第二调整单元56可被配置为:使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。

在本公开的示例性实施例中,第二调整单元56可被配置为:基于所述第二轨迹计算所述第一更新模型的参数的梯度;基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

图6示出根据本公开的另一示例性实施例的码率自适应模型的训练装置的框图。

参照图6,码率自适应模型的训练装置包括第一环境选择单元61、第一轨迹采样单元62、第一调整单元63、第二环境选择单元64、第二轨迹采样单元65、第二调整单元66、码率决策单元67、状态池更新单元68、第三轨迹采样单元69、第三环境选择单元610、第四轨迹采样单元611和第三调整单元612。

第一环境选择单元61被配置为从网络状态池中选择网络状态作为第一训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第一训练环境。也就是说,所述第一训练环境可以是随机选择的。此外,所述第一训练环境也可以是按照其他预定规则选择的。

第一轨迹采样单元62被配置为通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹。这里,所述码率自适应模型可以是神经网络模型。轨迹是指在所述第一训练环境中选择码率的轨迹。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第一轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,所述码率自适应模型可包括策略网络和评判网络。

第一调整单元63被配置为基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型。

在本公开的示例性实施例中,第一调整单元63可被配置为:使用元强化学习算法基于所述第一轨迹对所述码率自适应模型的参数进行调整。

在本公开的示例性实施例中,第一调整单元63可被配置为:基于所述第一轨迹计算所述码率自适应模型的参数的梯度;基于所述码率自适应模型的参数的梯度对所述码率自适应模型的参数进行调整。

第二环境选择单元64被配置为从所述网络状态池中再次选择网络状态作为第二训练环境。这里,可将从所述网络状态池中随机选择的网络状态作为所述第二训练环境。也就是说,所述第二训练环境可以是随机选择的。此外,所述第二训练环境也可以是按照其他预定规则选择的。

第二轨迹采样单元65被配置为通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹。

第二调整单元66被配置为基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型。这里,码率决策轨迹数据可包括多条码率决策轨迹的数据,也就是说,第二轨迹可包括多条码率决策轨迹的数据。

在本公开的示例性实施例中,第二调整单元66可被配置为:使用元强化学习算法基于所述第二轨迹对所述第一更新模型的参数进行调整。

在本公开的示例性实施例中,第二调整单元66可被配置为:基于所述第二轨迹计算所述第一更新模型的参数的梯度;基于所述第一更新模型的参数的梯度对所述第一更新模型的参数进行调整。

码率决策单元67被配置为响应于接收到视频播放请求,基于所述第二更新模型和回退策略对所述视频进行码率自适应决策,并且基于码率自适应决策结果播放所述视频。

状态池更新单元68被配置为将播放所述视频时的网络状态加入到所述网络状态池中得到更新后的网络状态池。

第三轨迹采样单元69被配置为将播放所述视频的码率决策轨迹数据作为第三轨迹。

第三环境选择单元610被配置为从所述更新后的网络状态池中选择网络状态作为第三训练环境。

这里,可将从所述更新后的网络状态池中随机选择的网络状态作为所述第三训练环境。也就是说,所述第三训练环境可以是随机选择的网络状态。此外,所述第三训练环境也可以是按照其他预定规则选择的。

第四轨迹采样单元611被配置为通过虚拟播放器在所述第三训练环境下回放所述视频,将回放所述视频的码率决策轨迹数据作为第四轨迹。

第三调整单元612被配置为基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

在本公开的示例性实施例中,第三调整单元610可被配置为:使用强化学习算法基于所述第三轨迹和所述第四轨迹对所述第二更新模型的参数进行调整。

图7示出根据本公开的示例性实施例的码率自适应装置的框图。

参照图7,码率自适应装置包括网络状态获取单元71、码率确定单元72和码率自适应单元73。

网络状态获取单元71被配置为获取当前网络状态。

码率确定单元72被配置为通过码率自适应模型确定当前网络状态对应的码率。这里,所述码率自适应模型是根据本公开的示例性实施例的码率自适应模型的训练方法训练得到的。例如,所述码率自适应模型可以是图2中训练得到的第二更新模型或图3中训练得到的第三更新模型。

码率自适应单元73被配置为基于确定的码率播放视频。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

以上已经结合图5至图7对根据本公开的示例性实施例的码率自适应模型的训练装置进行了描述。接下来,结合图8对根据本公开的示例性实施例的电子设备进行描述。

图8是根据本公开的示例性实施例的电子设备800的框图。

参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器802执行时,执行根据本公开的示例性实施例的码率自适应模型的训练的方法。

在本公开的示例性实施例中,电子设备800可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备800并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。

在电子设备800中,处理器802可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。

处理器802可运行存储在存储器801中的指令或代码,其中,存储器801还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。

存储器801可与处理器802集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801和处理器802可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。

此外,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。

根据本公开的示例性实施例,还提供一种包括指令的计算机可读存储介质,例如包括指令的存储器801,上述指令可由装置800的处理器802执行以完成上述方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,实现根据本公开的示例性实施例的码率自适应模型的训练的方法。

以上已参照图1至图8描述了根据本公开的示例性实施例的码率自适应模型的训练方法及装置、以及视频码率自适应方法及装置。然而,应该理解的是:图5至图7中所示的码率自适应模型的训练装置及其单元、码率自适应装置及其单元可分别被配置为执行特定功能的软件、硬件、固件或上述项的任意组合,图8中所示的电子设备并不限于包括以上示出的组件,而是可根据需要增加或删除一些组件,并且以上组件也可被组合。

根据本公开的码率自适应模型的训练方法及装置,通过从网络状态池中选择网络状态作为第一训练环境,通过码率自适应模型在所述第一训练环境中进行码率决策,并将所述第一训练环境中的码率决策轨迹数据作为第一轨迹,基于所述第一轨迹对所述码率自适应模型的参数进行调整,得到所述码率自适应模型的第一更新模型,从所述网络状态池中再次选择网络状态作为第二训练环境,通过所述第一更新模型在所述第二训练环境中进行码率决策,并将所述第二训练环境中的码率决策轨迹数据作为第二轨迹,基于所述第二轨迹对所述第一更新模型的参数进行调整,得到所述码率自适应模型的第二更新模型,使得训练后的码率自适应模型可针对每个用户的个性化网络能够快速更新自身策略,从而适应各种个性化网络。

此外,根据本公开的码率自适应方法及装置,通过获取当前网络状态,通过根据本公开的码率自适应模型的训练方法训练得到的码率自适应模型确定当前网络状态对应的码率,基于确定的码率播放视频,可针对每个用户的个性化网络能够快速更新自身策略,从而适应各种个性化网络。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号