一种基于机器学习的内容自适应视频编码方法技术

技术编号:23992116 阅读:57 留言:0更新日期:2020-04-29 16:39
本发明专利技术公开了一种基于机器学习的内容自适应视频编码方法。它具体包括如下步骤:(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数。本发明专利技术的有益效果是:可自适应决定编码参数,输出图像质量比较一致的视频流,具有较低计算复杂度,并能够方便地应用于现有的视频编码框架中。

A content adaptive video coding method based on machine learning

【技术实现步骤摘要】
一种基于机器学习的内容自适应视频编码方法
本专利技术涉及视频编码相关
,尤其是指一种基于机器学习的内容自适应视频编码方法。
技术介绍
对于目前的视频文件转码需求,为了能在带宽受限和控制成本条件下提供更好的视频观看体验,OTT分发平台一般会根据通用编码配置表(或称为编码阶梯表),或者自定义配置模板,对每个源视频编码产生多个分辨率和码率组合的版本,然后根据用户带宽和播放终端选择合适的版本。这样的编码配置表只考虑了网络状况和终端播放器限制,而没有考虑视频特性。不同类别的视频,内容复杂度差别会很大。例如体育赛事等较高复杂度的视频,编码配置的码率可能偏低;而对于动画片等低复杂度的视频,编码配置的码率可能偏高,造成带宽浪费。这种方式最直接的结果就是用户终端看到的视频质量不一致。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种视频质量较为一致的基于机器学习的内容自适应视频编码方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于机器学习的内容自适应视频编码方法,具体包括如下步骤:(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数。本方法由分析器和预测器两个核心组成,其中分析器用于决定编码帧型、统计每帧的图像信息(包括分辨率、I/P/B帧型、复杂度信息等);预测器根据场景信息和编码统计信息,结合用户设定参数,使用预先训练好的网络模型,进而输出实际编码参数;用户只需要设定所需的分辨率和所要求的图像质量级别,本方法即可自适应决定编码参数,输出图像质量比较一致的视频流。本方法采用恒定码率因子方法(CRF,ConstantRateFactor),并用户自定义参数,基于机器学习方法来决定编码参数,具有较低计算复杂度,并能够方便地应用于现有的视频编码框架中。作为优选,在步骤(1)中,构建数据集的具体操作方法如下:(11)根据实际应用场景,筛选高质量的素材,并将素材按场景划分为编码单元;(12)按照固定编码参数模板,对每个场景按照三种分辨率,每种分辨率按照CRF值从12到40,步长为1的设定进行编码,统计得到每种情况下的复杂度信息、质量分数、码率,并记录相应编码参数为分辨率、帧率、CRF值,其中:质量分数采用VMAF,复杂度信息是指I/P/B帧对应的SATD平均值;(13)由于VMAF计算质量分数时对分辨率不敏感,需要对其进行修正。作为优选,在步骤(13)中,修正方法如下:对CRF值小于29的样点,计算质量分数时在CRF=29时的质量分数基础时进行缩小,即乘以一个0到1的系数α,VMAF质量分数为Score,修正后为Score’,修正公式为:Score’=Score[CRF=29]+(Score-Score[CRF=29])*α。作为优选,在步骤(2)中,训练模型的具体操作方法如下:(21)由构建数据集的信息可知,将特征分量分别标记为satd_I、satd_P、satd_B、size、fps、score,即分别表示为I帧SATD平均、P帧SATD平均值、B帧SATD平均值、分辨率、帧率、质量分数值;(22)如果某些场景中,随着CRF设定参数的不同,质量分数score变化很小,那么剔除掉这部分数据;(23)输出变量为CRF,选择网络模型,选择合适的迭代步长和次数,并根据迭代训练结果做适当调整,最终保存这个网络模型参数。作为优选,在步骤(21)中,由于同一个片段具有相同的分辨率和帧率,考虑到将输入变量归一化,并简化计算量,将特征分量改为input_I、input_P、input_B、score_N,size=width*height,其中:作为优选,在步骤(23)中,假设迭代次数上限为CntMax,迭代步长为Step,步长下限为StepMin,误差下限值为ErrMin,迭代训练方法如下:(231)初始化迭代次数和迭代步长;(232)进行迭代训练,迭代次数加1,与迭代次数上限进行比较,如果大于迭代次数上限则结束迭代训练;否则进入到下一步;(233)每100次迭代训练记录误差Err,与误差下限值进行比较,如果小于误差下限值则结束迭代训练;否则进入到下一步;(234)计算前一次误差ErrPre与当前误差ErrCur的差值Res=ErrPre-ErrCur,与误差下限值进行比较,如果大于误差下限值则返回到步骤(232);否则进入到下一步;(235)缩小迭代步长Step=0.8*Step,与步长下限进行比较,如果大于步长下限则返回到步骤(232);否则结束迭代训练。作为优选,在步骤(3)中,实际分析预测的具体操作方法如下:(31)根据用户设定的分辨率和帧率输入图像序列;(32)将待编码图像序列在缓冲队列中填满NUM帧;(33)检查上一次缓冲队列中是否发生场景切换,即noChange是否为1,如果noChange=0,表示上一次缓冲队列中已经发生场景切换,则执行步骤(36);如果noChange=1,表示上一次缓冲队列中没有发生场景切换;(34)检测本次缓冲队列中是否发生场景切换,如果未发生,则UseId=NUM-1,noChange=1;如果发生场景切换,则记录场景切换点SceneId,UseId=SceneId-1,noChange=0;(35)处理单元[0,UseId]使用上一次的编码参数,并执行步骤(38);(36)noChange=0表明本次缓冲队列与上次没有联系,检测本次缓冲队列中是否发生场景切换;如果未发生场景切换,则UseId=NUM-1,noChange=1;如果发生场景切换,则记录场景切换点SceneId,UseId=SceneId-1,noChange=0;(37)对处理单元[0,UseId]进行预测编码参数;(38)对处理单元[0,UseId]进行实际编码,并保存此次的编码参数;(39)由于已经编码了UseId帧,需要在缓冲队列中填满NUM帧。作为优选,在步骤(37)中,预测编码参数的具体操作方法如下:(371)对处理单元[0,UseId]内的图像序列,按帧计算SATD值,并根据帧型I/P/B分别统计其平均值为satd_I、satd_P、satd_B;(372)根据用户设定的分辨率、帧率、质量分数,计算得到input_I、input_P、input_B、score_N;(373)将以上四个特征值作为输入,使用事先训练好的网络模型,预测得到CRF_predict;(374)如果预测值CRF_predict不在预设范围[CRF_min,本文档来自技高网...

【技术保护点】
1.一种基于机器学习的内容自适应视频编码方法,其特征是,具体包括如下步骤:/n(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;/n(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;/n(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数。/n

【技术特征摘要】
1.一种基于机器学习的内容自适应视频编码方法,其特征是,具体包括如下步骤:
(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;
(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;
(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数。


2.根据权利要求1所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(1)中,构建数据集的具体操作方法如下:
(11)根据实际应用场景,筛选高质量的素材,并将素材按场景划分为编码单元;
(12)按照固定编码参数模板,对每个场景按照三种分辨率,每种分辨率按照CRF值从12到40,步长为1的设定进行编码,统计得到每种情况下的复杂度信息、质量分数、码率,并记录相应编码参数为分辨率、帧率、CRF值,其中:质量分数采用VMAF,复杂度信息是指I/P/B帧对应的SATD平均值;
(13)由于VMAF计算质量分数时对分辨率不敏感,需要对其进行修正。


3.根据权利要求2所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(13)中,修正方法如下:对CRF值小于29的样点,计算质量分数时在CRF=29时的质量分数基础时进行缩小,即乘以一个0到1的系数α,VMAF质量分数为Score,修正后为Score’,修正公式为:
Score'=Score[CRF=29]+(Score-Scare[CRF=29])*α。


4.根据权利要求2所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(2)中,训练模型的具体操作方法如下:
(21)由构建数据集的信息可知,将特征分量分别标记为satd_I、satd_P、satd_B、size、fps、score,即分别表示为I帧SATD平均、P帧SATD平均值、B帧SATD平均值、分辨率、帧率、质量分数值;
(22)如果某些场景中,随着CRF设定参数的不同,质量分数score变化很小,那么剔除掉这部分数据;
(23)输出变量为CRF,选择网络模型,选择合适的迭代步长和次数,并根据迭代训练结果做适当调整,最终保存这个网络模型参数。


5.根据权利要求4所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(21)中,由于同一个片段具有相同的分辨率和帧率,考虑到将输入变量归一化,并简化计算量,将特征分量改为input_I、input_P、input_B、score_N,size=width*height,其中:














6.根据权利要求4所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(23)中,假设迭代次数上限为CntMax,迭代步长为Step,步长下限为StepMin,误差下限值为ErrMin,迭代训练方法如下:
(231)初始化迭代次数和迭代步长;
(232)进行迭代训练,迭代次数加1,与迭代次数上...

【专利技术属性】
技术研发人员:王建伟万俊青谢亚光
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:浙江;33

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

1