用于视频编码的具有反馈控制的速率控制机器学习模型制造技术

技术编号:38332966 阅读:37 留言:0更新日期:2023-07-29 09:15
用于对包括视频帧序列的视频进行编码的方法、系统和装置,包括在计算机存储介质上编码的计算机程序。在一个方面,一种方法包括,对于视频帧中的一个或多个:获得视频帧的特征嵌入;使用速率控制机器学习模型处理特征嵌入,以便为多个量化参数值中的每一个生成相应的得分;使用得分选择量化参数值;确定表示(i)视频帧的编码表示和(ii)每个先前视频帧的编码表示所需的累积数据量;基于累积数据量,确定满足视频帧的反馈控制标准;更新所选择的量化参数值;以及使用编码模型处理视频帧以生成视频帧的编码表示。频帧的编码表示。频帧的编码表示。

【技术实现步骤摘要】
【国外来华专利技术】用于视频编码的具有反馈控制的速率控制机器学习模型
[0001]相关申请的交叉引用
[0002]本申请要求2020年11月3日提交的序列号为63/109,270的美国专利申请的优先权,其全部内容通过引用结合于此。

技术介绍

[0003]本说明书涉及使用机器学习模型处理数据。
[0004]机器学习模型接收输入并基于接收到的输入生成输出,例如预测输出。一些机器学习模型是参数模型,并基于接收的输入和模型的参数的值生成输出。
[0005]一些机器学习模型是采用多层模型来为接收到的输入生成输出的深度模型。例如,深度神经网络是包括输出层和一个或多个隐藏层的深度机器学习模型,每个隐藏层对接收的输入应用非线性变换以生成输出。

技术实现思路

[0006]本说明书总体上描述了一种视频压缩系统,其被实现为使用速率控制机器学习模型来执行视频编码的一个或多个位置处的一个或多个计算机上的计算机程序。
[0007]贯穿本说明书,可以以任何适当的量度单位,例如,作为比特数,来量度“数据量”(例如,表示视频帧的编码表示所需的数据量)。例如可以由视频压缩系统的用户指定用于表示编码视频的目标数据量。
[0008]根据第一方面,提供了一种由一个或多个数据处理装置执行的用于对包括视频帧序列的视频进行编码以生成每个视频帧的相应编码表示的方法,该方法包括,对于视频帧中的一个或多个:获得视频帧的特征嵌入;使用速率控制机器学习模型来处理包括视频帧的特征嵌入的输入,以生成多个可能的量化参数值中的每一个的相应得分;使用得分从多个可能的量化参数值中选择量化参数值;确定表示以下各项所需的累积数据量:(i)根据与所选择的量化参数值相关联的量化步长生成的视频帧的编码表示,以及(ii)该视频帧之前的每个视频帧的编码表示;基于累积数据量,确定满足视频帧的反馈控制标准;响应于确定满足反馈控制标准,更新所选择的量化参数值;以及根据与所选择的量化参数值相关联的量化步长,使用编码模型来处理视频帧,以生成视频帧的编码表示。
[0009]在一些实现方式中,由速率控制机器学习模型处理的输入还包括用于表示编码视频的目标数据量。
[0010]在一些实现方式中,视频帧的反馈控制标准指定目标值范围,并且其中确定满足视频帧的反馈控制标准包括:确定表示以下各项所需的累积数据量在反馈控制标准指定的目标值范围之外:(i)根据与所选择的量化参数值相关联的量化步长生成的视频帧的编码表示,以及(ii)该视频帧之前的每个视频帧的编码表示。
[0011]在一些实现方式中,响应于确定满足反馈控制标准来更新所选择的量化参数值包括:基于以下各项之间的差来确定对所选择的量化参数值的更新:(i)累积数据量,以及(ii)由视频帧的反馈控制标准指定的目标值范围的最近端点。
[0012]在一些实现方式中,响应于确定满足反馈控制标准来更新所选择的量化参数值包括:确定累积数据量大于由反馈控制标准指定的目标值范围的上端点;以及调整所选择的量化参数值以增加用于生成视频帧的编码表示的量化步长。
[0013]在一些实现方式中,响应于确定满足反馈控制标准来更新所选择的量化参数值包括:确定累积数据量小于由反馈控制标准指定的目标值范围的下端点;以及减小所选择的量化参数值,以减小用于生成视频帧的编码表示的量化步长。
[0014]在一些实现方式中,响应于确定满足反馈控制标准来更新所选择的量化参数值包括:识别一组候选量化参数值,其中该组候选量化参数值是具有最高得分的多个可能的量化参数值的真子集;以及从该组候选量化参数值中选择更新的量化参数值。
[0015]在一些实现方式中,使用得分从多个量化参数值中选择量化参数值包括:识别具有最高得分的多个可能的量化参数值的真子集;确定多个可能的量化参数值的真子集上的概率分布;以及根据多个可能的量化参数值的真子集上的概率分布来采样量化参数值。
[0016]在一些实现方式中,识别具有最高得分的多个可能的量化参数值的真子集包括:识别具有最高得分的预定义数量的多个可能的量化参数值。
[0017]在一些实现方式中,速率控制机器学习模型具有包括一个或多个循环(recurrent)神经网络层的神经网络架构。
[0018]在一些实现方式中,循环神经网络层包括一个或多个长短期记忆(LSTM)循环神经网络层。
[0019]在一些实现方式中,对于每个视频帧,由速率控制机器学习模型处理的输入还包括用于生成先前视频帧的编码表示的量化参数值。
[0020]在一些实现方式中,该方法还包括:基于视频帧的特征获得每个视频帧的相应初始特征嵌入;使用包括一个或多个自注意神经网络层的嵌入神经网络处理视频帧的初始特征嵌入,以生成每个视频帧的更新的特征嵌入;以及至少部分地基于由嵌入神经网络生成的视频帧的更新的特征嵌入,确定每个视频帧的相应特征嵌入。
[0021]在一些实现方式中,嵌入神经网络包括变换器神经网络。
[0022]在一些实现方式中,对于每个视频帧,每个视频帧的初始特征嵌入至少部分基于视频帧的噪声能量特征、视频帧的运动向量统计、或两者。
[0023]在一些实现方式中,对于每个视频帧,视频帧的特征嵌入至少部分地基于以下各项中的一项或多项:视频帧的帧索引、视频帧的帧类型、表示视频中先前视频帧的编码表示所需的数据量、以及表征以下各项之间的差的数据:(i)表示视频中该视频帧之前的每个视频帧的编码表示所需的累积数据量,以及(ii)用于表示编码视频的目标数据量。
[0024]根据另一方面,提供了一种由一个或多个数据处理装置执行的用于对包括视频帧序列的视频进行编码以生成每个视频帧的相应编码表示的方法,该方法包括,对于每个视频帧:获得该视频帧的特征嵌入;使用速率控制机器学习模型来处理包括视频帧的特征嵌入的输入,以生成多个可能的量化参数值中的每一个的相应得分;使用得分从多个可能的量化参数值中选择量化参数值;以及根据与所选择的量化参数值相关联的量化步长,使用编码模型来处理视频帧,以生成视频帧的编码表示;其中所述速率控制机器学习模型具有在一组训练示例上训练的多个模型参数,其中每个训练示例包括定义以下各项的数据:(i)训练视频的每个训练视频帧的相应特征嵌入,以及(ii)每个训练视频帧的相应目标量化参
数值。
[0025]在一些实现方式中,对于每个视频帧,由速率控制机器学习模型处理的输入还包括用于表示编码视频的目标数据量。
[0026]在一些实现方式中,在该组训练示例上训练速率控制机器学习模型包括,对于每个训练示例:使用速率控制机器学习模型来处理包括每个训练视频帧的相应特征嵌入的输入,以针对每个训练视频帧生成多个可能的量化参数值中的每一个的相应得分;以及对于每个训练视频帧,基于以下各项之间的误差来确定对速率控制机器学习模型的模型参数的当前值的更新:(i)为训练视频帧生成的多个可能的量化参数值的得分,以及(ii)训练视频帧的目标量化参数值。
[0027]在一些实现方式中,(i)为训练视频帧生成的多个可能的量化参数值的得分和(i本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种由一个或多个数据处理装置执行的用于对包括视频帧序列的视频进行编码以生成每个视频帧的相应编码表示的方法,所述方法包括,对于所述视频帧中的一个或多个视频帧:获得所述视频帧的特征嵌入;使用速率控制机器学习模型处理包括所述视频帧的特征嵌入的输入,以生成多个可能的量化参数值中的每一个的相应得分;使用所述得分从所述多个可能的量化参数值中选择量化参数值;确定表示(i)根据与所选择的量化参数值相关联的量化步长生成的所述视频帧的编码表示以及(ii)所述视频帧之前的每个视频帧的编码表示所需的累积数据量;基于所述累积数据量,确定满足所述视频帧的反馈控制标准;响应于确定满足所述反馈控制标准,更新所选择的量化参数值;以及根据与所选择的量化参数值相关联的量化步长,使用编码模型来处理所述视频帧,以生成所述视频帧的编码表示。2.根据权利要求1所述的方法,其中,由所述速率控制机器学习模型处理的所述输入还包括用于表示编码的视频的目标数据量。3.根据权利要求1

2中任一项所述的方法,其中,所述视频帧的反馈控制标准指定目标值范围,并且其中,确定满足所述视频帧的反馈控制标准包括:确定表示(i)根据与所选择的量化参数值相关联的量化步长生成的所述视频帧的编码表示以及(ii)所述视频帧之前的每个视频帧的编码表示所需的累积数据量在所述反馈控制标准所指定的目标值范围之外。4.根据权利要求3所述的方法,其中,响应于确定满足所述反馈控制标准来更新所选择的量化参数值包括:基于(i)累积数据量与(ii)由所述视频帧的反馈控制标准指定的目标值范围的最近端点之间的差,来确定对所选择的量化参数值的更新。5.根据权利要求3

4中任一项所述的方法,其中,响应于确定满足所述反馈控制标准来更新所选择的量化参数值包括:确定所述累积数据量大于由所述反馈控制标准指定的目标值范围的上端点;以及调整所选择的量化参数值以增大用于生成所述视频帧的编码表示的量化步长。6.根据权利要求3

4中任一项所述的方法,其中,响应于确定满足所述反馈控制标准来更新所选择的量化参数值包括:确定所述累积数据量小于由所述反馈控制标准指定的所述目标值范围的下端点;以及减小所选择的量化参数值以减小用于生成所述视频帧的编码表示的量化步长。7.根据前述任一项权利要求所述的方法,其中,响应于确定满足所述反馈控制标准来更新所选择的量化参数值包括:识别一组候选量化参数值,其中该组候选量化参数值是具有最高得分的所述多个可能的量化参数值的真子集;以及从该组候选量化参数值中选择更新的量化参数值。8.根据前述任一项权利要求所述的方法,其中,使用所述得分从所述多个量化参数值中选择量化参数值包括:
识别具有最高得分的所述多个可能的量化参数值的真子集;确定所述多个可能的量化参数值的所述真子集上的概率分布;以及根据所述多个可能的量化参数值的所述真子集上的所述概率分布来采样所述量化参数值。9.根据权利要求8所述的方法,其中,识别具有最高得分的所述多个可能的量化参数值的所述真子集包括:识别所述多个可能的量化参数值中具有最高得分的预定数量的可能的量化参数值。10.根据前述任一项权利要求所述的方法,其中,所述速率控制机器学习模型具有包括一个或多个循环神经网络层的神经网络架构。11.根据权利要求10所述的方法,其中,所述循环神经网络层包括一个或多个长短期记忆(LSTM)循环神经网络层。12.根据前述任一项权利要求所述的方法,其中,对于每个视频帧,由所述速率控制机器学习模型处理的输入还包括用于生成先前视频帧的编码表示的量化参数值。13.根据前述任一项权利要求所述的方法,还包括:基于视频帧的特征获得每个视频帧的相应初始特征嵌入;使用包括一个或多个自注意神经网络层的嵌入神经网络处理所述视频帧的初始特征嵌入以生成每个视频帧的更新的特征嵌入;以及至少部分地基于由所述嵌入神经网络生成的视频帧的更新的特征嵌入,确定每个视频帧的相应特征嵌入。14.根据权利要求13所述的方法,其中,所述嵌入神经网络包括变换器神经网络。15.根据权利要求13

14中任一项所述的方法,其中,对于每个视频帧,每个视频帧的所述初始特征嵌入至少部分基于所述视频帧的噪声能量特征、所述视频帧的运动向量统计、或两者。16.根据前述任一项权利要求所述的方法,其中,对于每个视频帧,所述视频帧的所述特征嵌入至少部分地基于以下各项中的一项或多项:所述视频帧的帧索引;所述视频帧的帧类型;表示视频中先前视频帧的编码表示所需的数据量;以及表征(i)表示视频中所述视频帧之前的每个视频帧的编码表示所需的累积数据量与(i...

【专利技术属性】
技术研发人员:顾晨杰毛宏自江劲涵陈诚韩敬宁C
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:

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

1