CN111083473A - 一种基于机器学习的内容自适应视频编码方法 - Google Patents

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

Info

Publication number
CN111083473A
CN111083473A CN201911382818.3A CN201911382818A CN111083473A CN 111083473 A CN111083473 A CN 111083473A CN 201911382818 A CN201911382818 A CN 201911382818A CN 111083473 A CN111083473 A CN 111083473A
Authority
CN
China
Prior art keywords
crf
score
satd
parameters
coding
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.)
Granted
Application number
CN201911382818.3A
Other languages
English (en)
Other versions
CN111083473B (zh
Inventor
王建伟
万俊青
谢亚光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN201911382818.3A priority Critical patent/CN111083473B/zh
Publication of CN111083473A publication Critical patent/CN111083473A/zh
Application granted granted Critical
Publication of CN111083473B publication Critical patent/CN111083473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

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

Description

一种基于机器学习的内容自适应视频编码方法
技术领域
本发明涉及视频编码相关技术领域,尤其是指一种基于机器学习的内容自适应视频编码方法。
背景技术
对于目前的视频文件转码需求,为了能在带宽受限和控制成本条件下提供更好的视频观看体验,OTT分发平台一般会根据通用编码配置表(或称为编码阶梯表),或者自定义配置模板,对每个源视频编码产生多个分辨率和码率组合的版本,然后根据用户带宽和播放终端选择合适的版本。这样的编码配置表只考虑了网络状况和终端播放器限制,而没有考虑视频特性。不同类别的视频,内容复杂度差别会很大。例如体育赛事等较高复杂度的视频,编码配置的码率可能偏低;而对于动画片等低复杂度的视频,编码配置的码率可能偏高,造成带宽浪费。这种方式最直接的结果就是用户终端看到的视频质量不一致。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种视频质量较为一致的基于机器学习的内容自适应视频编码方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于机器学习的内容自适应视频编码方法,具体包括如下步骤:
(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;
(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;
(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数。
本方法由分析器和预测器两个核心组成,其中分析器用于决定编码帧型、统计每帧的图像信息(包括分辨率、I/P/B帧型、复杂度信息等);预测器根据场景信息和编码统计信息,结合用户设定参数,使用预先训练好的网络模型,进而输出实际编码参数;用户只需要设定所需的分辨率和所要求的图像质量级别,本方法即可自适应决定编码参数,输出图像质量比较一致的视频流。本方法采用恒定码率因子方法(CRF,Constant Rate Factor),并用户自定义参数,基于机器学习方法来决定编码参数,具有较低计算复杂度,并能够方便地应用于现有的视频编码框架中。
作为优选,在步骤(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,其中:
Figure BDA0002342702870000031
Figure BDA0002342702870000032
Figure BDA0002342702870000033
Figure BDA0002342702870000034
作为优选,在步骤(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,CRF_max]中;那么,如果CRF_predict>CRF_max,那么CRF_predict=CRF_max;如果CRF_predict<CRF_min,那么CRF_predict=CRF_min;
(375)预测得到的CRF_predict,加上用户设定的分辨率、帧率参数,其他参数使用预设固定参数模板,即为编码参数。
本发明的有益效果是:可自适应决定编码参数,输出图像质量比较一致的视频流,具有较低计算复杂度,并能够方便地应用于现有的视频编码框架中。
附图说明
图1是本发明的方法框架图;
图2是网络模型图;
图3是迭代训练的方法流程图;
图4是实际分析预测的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
一种基于机器学习的内容自适应视频编码方法,具体包括如下步骤:
(1)构建数据集:选取不同素材的高质量视频,并以场景为单位,提取有效信息;构建数据集的具体操作方法如下:
(11)为使数据特性具有多样性,根据实际应用场景,筛选高质量的素材,涵盖体育、综艺、动漫、新闻、电影电视等内容,并将素材按场景划分为编码单元;
(12)按照固定编码参数模板(如HEVC的GOP/B帧/参考帧/CUsize/TUsize等),对每个场景按照三种分辨率(1920x1080,1280x720,720x480),每种分辨率按照CRF值从12到40,步长为1的设定进行编码,统计得到每种情况下的复杂度信息、质量分数、码率,并记录相应编码参数为分辨率、帧率、CRF值,其中:质量分数采用VMAF,复杂度信息是指I/P/B帧对应的SATD平均值;
(13)由于VMAF计算质量分数时对分辨率不敏感,例如在码率足够高时同一场景片段的1080p和720p的VMAF质量分数可能差不多,为使其不影响计算过程,需要对其进行修正。修正方法如下:对CRF值小于29的样点,计算质量分数时在CRF=29时的质量分数基础时进行缩小,即乘以一个0到1的系数α(本实施例中对1280x720分辨率时取α=0.6,对720x480时取α=0.4),VMAF质量分数为Score,修正后为Score’,修正公式为:
Score’=Score[CRF=29]+(Score-Score[CRF=29])*α;
最终形成10000+个场景片段,每个片段包括3*29=87个样本点。
(2)训练模型:使用机器学习方法训练预测模型,采用多层全连接神经网络,根据用户设定参数生成网络模型;训练模型的具体操作方法如下:
(21)由构建数据集的信息可知,将特征分量分别标记为satd_I、satd_P、satd_B、size、fps、score,即分别表示为I帧SATD平均、P帧SATD平均值、B帧SATD平均值、分辨率、帧率、质量分数值;
由于同一个片段具有相同的分辨率和帧率,考虑到将输入变量归一化,并简化计算量,将特征分量改为input_I、input_P、input_B、score_N,size=width*height,其中:
Figure BDA0002342702870000071
Figure BDA0002342702870000072
Figure BDA0002342702870000073
Figure BDA0002342702870000074
(22)如果某些场景中,随着CRF设定参数的不同,质量分数score变化很小,那么剔除掉这部分数据;视频序列中可能会出现纯色帧(如常见的场景切换时出现一段黑帧),这样的片段在参数设定不同时,输出也不会有明显变化。
(23)输出变量为CRF,选择网络模型,如图2所示,所以实施例中选择网络模型为(4,8,6,1),即:输入层有4个神经元,第一级隐藏层有8个神经元,第二级隐藏层有6个神经元,输出层有1个神经元;选择合适的迭代步长和次数,并根据迭代训练结果做适当调整,最终保存这个网络模型参数。假设迭代次数上限为CntMax,迭代步长为Step,迭代步长初始值为Step=0.1,步长下限为StepMin,误差下限值为ErrMin,实施例中参考数值CntMax=10000,StepMin=0.01,ErrMin=0.01,如图3所示,迭代训练方法如下:
(231)初始化迭代次数和迭代步长;
(232)进行迭代训练,迭代次数加1,与迭代次数上限进行比较,如果大于迭代次数上限则结束迭代训练;否则进入到下一步;
(233)每100次迭代训练记录误差Err,与误差下限值进行比较,如果小于误差下限值则结束迭代训练;否则进入到下一步;
(234)计算前一次误差ErrPre与当前误差ErrCur的差值Res=ErrPre-ErrCur,与误差下限值进行比较,如果大于误差下限值则返回到步骤(232);否则进入到下一步;
(235)缩小迭代步长Step=0.8*Step,与步长下限进行比较,如果大于步长下限则返回到步骤(232);否则结束迭代训练。
(3)实际分析预测:先将视频流缓冲一定帧数,并对缓冲视频帧提取复杂度信息,结合用户设定参数使用训练的网络模型,预测输出编码设定参数;实际分析预测的具体操作方法如下:
(31)根据用户设定的分辨率和帧率输入图像序列;输入图像序列是已经处理之后的图像序列,已经处理之后的图像序列是指将原始图像序列处理为编码器要求输出的分辨率和帧率。例如视频源为720P@50,用户设定为1080P@25,那么输入图像序列就是已经处理之后的1080P@25的图像序列。由于这里的分析是提取视频信息,不需要质量分数;在预测中需要质量分数。
(32)将待编码图像序列在缓冲队列中填满NUM帧(一般为2个GOP大小,本例中NUM=100);
(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]进行预测编码参数;预测编码参数的具体操作方法如下:
(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,CRF_max]中;那么,如果CRF_predict>CRF_max,那么CRF_predict=CRF_max;如果CRF_predict<CRF_min,那么CRF_predict=CRF_min;本实施例中CRF_min=20,CRF_max=40;
(375)预测得到的CRF_predict,加上用户设定的分辨率、帧率参数,其他参数使用预设固定参数模板,即为编码参数。
(38)对处理单元[0,UseId]进行实际编码,并保存此次的编码参数;
(39)由于已经编码了UseId帧,需要在缓冲队列中填满NUM帧。
本方法由分析器和预测器两个核心组成,并应用于如图1所示的编码框架中,其中分析器用于决定编码帧型、统计每帧的图像信息(包括分辨率、I/P/B帧型、复杂度信息等);预测器根据场景信息和编码统计信息,结合用户设定参数,使用预先训练好的网络模型,进而输出实际编码参数,视频编码器是通用的H.264或H.265编码器,不属于本发明的范围。用户只需要设定所需的分辨率和所要求的图像质量级别,本方法即可自适应决定编码参数,输出图像质量比较一致的视频流。本方法采用恒定码率因子方法(CRF,Constant RateFactor),并用户自定义参数,基于机器学习方法来决定编码参数,具有较低计算复杂度,并能够方便地应用于现有的视频编码框架中。

Claims (8)

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,其中:
Figure FDA0002342702860000021
Figure FDA0002342702860000022
Figure FDA0002342702860000023
Figure FDA0002342702860000024
6.根据权利要求4所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(23)中,假设迭代次数上限为CntMax,迭代步长为Step,步长下限为StepMin,误差下限值为ErrMin,迭代训练方法如下:
(231)初始化迭代次数和迭代步长;
(232)进行迭代训练,迭代次数加1,与迭代次数上限进行比较,如果大于迭代次数上限则结束迭代训练;否则进入到下一步;
(233)每100次迭代训练记录误差Err,与误差下限值进行比较,如果小于误差下限值则结束迭代训练;否则进入到下一步;
(234)计算前一次误差ErrPre与当前误差ErrCur的差值Res=ErrPre-ErrCur,与误差下限值进行比较,如果大于误差下限值则返回到步骤(232);否则进入到下一步;
(235)缩小迭代步长Step=0.8*Step,与步长下限进行比较,如果大于步长下限则返回到步骤(232);否则结束迭代训练。
7.根据权利要求5所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(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帧。
8.根据权利要求7所述的一种基于机器学习的内容自适应视频编码方法,其特征是,在步骤(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,CRF_max]中;那么,如果CRF_predict>CRF_max,那么CRF_predict=CRF_max;如果CRF_predict<CRF_min,那么CRF_predict=CRF_min;
(375)预测得到的CRF_predict,加上用户设定的分辨率、帧率参数,其他参数使用预设固定参数模板,即为编码参数。
CN201911382818.3A 2019-12-28 2019-12-28 一种基于机器学习的内容自适应视频编码方法 Active CN111083473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911382818.3A CN111083473B (zh) 2019-12-28 2019-12-28 一种基于机器学习的内容自适应视频编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911382818.3A CN111083473B (zh) 2019-12-28 2019-12-28 一种基于机器学习的内容自适应视频编码方法

Publications (2)

Publication Number Publication Date
CN111083473A true CN111083473A (zh) 2020-04-28
CN111083473B CN111083473B (zh) 2022-03-08

Family

ID=70318968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911382818.3A Active CN111083473B (zh) 2019-12-28 2019-12-28 一种基于机器学习的内容自适应视频编码方法

Country Status (1)

Country Link
CN (1) CN111083473B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901631A (zh) * 2020-07-30 2020-11-06 有半岛(北京)信息科技有限公司 一种直播视频的转码方法、装置、服务器和存储介质
CN112422967A (zh) * 2020-09-24 2021-02-26 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
WO2023134523A1 (zh) * 2022-01-14 2023-07-20 百果园技术(新加坡)有限公司 内容自适应视频编码方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103975601A (zh) * 2011-10-17 2014-08-06 谷歌公司 视频编码的速率-失真-复杂性优化
CN109286825A (zh) * 2018-12-14 2019-01-29 北京百度网讯科技有限公司 用于处理视频的方法和装置
US20190258902A1 (en) * 2018-02-16 2019-08-22 Spirent Communications, Inc. Training A Non-Reference Video Scoring System With Full Reference Video Scores
CN110248189A (zh) * 2019-06-14 2019-09-17 北京字节跳动网络技术有限公司 一种视频质量预测方法、装置和电子设备
CN110401834A (zh) * 2019-08-06 2019-11-01 杭州微帧信息科技有限公司 一种基于深度学习的自适应视频编码方法
CN110418177A (zh) * 2019-04-19 2019-11-05 腾讯科技(深圳)有限公司 视频编码方法、装置、设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103975601A (zh) * 2011-10-17 2014-08-06 谷歌公司 视频编码的速率-失真-复杂性优化
US20190258902A1 (en) * 2018-02-16 2019-08-22 Spirent Communications, Inc. Training A Non-Reference Video Scoring System With Full Reference Video Scores
CN109286825A (zh) * 2018-12-14 2019-01-29 北京百度网讯科技有限公司 用于处理视频的方法和装置
CN110418177A (zh) * 2019-04-19 2019-11-05 腾讯科技(深圳)有限公司 视频编码方法、装置、设备和存储介质
CN110248189A (zh) * 2019-06-14 2019-09-17 北京字节跳动网络技术有限公司 一种视频质量预测方法、装置和电子设备
CN110401834A (zh) * 2019-08-06 2019-11-01 杭州微帧信息科技有限公司 一种基于深度学习的自适应视频编码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱益中: "内容自适应编码的研究与应用实践", 《广播与电视技术》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901631A (zh) * 2020-07-30 2020-11-06 有半岛(北京)信息科技有限公司 一种直播视频的转码方法、装置、服务器和存储介质
CN112422967A (zh) * 2020-09-24 2021-02-26 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
CN112422967B (zh) * 2020-09-24 2024-01-19 北京金山云网络技术有限公司 视频的编码方法及装置、存储介质、电子设备
WO2023134523A1 (zh) * 2022-01-14 2023-07-20 百果园技术(新加坡)有限公司 内容自适应视频编码方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN111083473B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN111083473B (zh) 一种基于机器学习的内容自适应视频编码方法
US10666962B2 (en) Training end-to-end video processes
US20220030244A1 (en) Content adaptation for streaming
CN109862359B (zh) 基于分层b帧的码率控制方法、装置和电子设备
CN102833538B (zh) 多通路视频编码
CN103402099B (zh) 视频编码的图片级速率控制的方法和系统
US6408027B2 (en) Apparatus and method for coding moving picture
KR101823321B1 (ko) 적응적 비트레이트 스트리밍을 위해 적응적 양자화를 갖고 다수의 비디오 스트림들을 인코딩하는 시스템들 및 방법들
CN108495135B (zh) 一种屏幕内容视频编码的快速编码方法
CN111066326A (zh) 机器学习视频处理系统和方法
CN1575601A (zh) 采用清晰度增强技术的空间可缩放的压缩方案
CN111277826A (zh) 一种视频数据处理方法、装置及存储介质
CN110546953A (zh) 复杂度自适应单程转码与双程转码
US20080075164A1 (en) Motion picture encoding apparatus and method
US11330263B1 (en) Machine learning based coded size estimation in rate control of video encoding
CN110545418A (zh) 一种基于场景的自适应视频编码方法
Su et al. Machine learning accelerated transform search for AV1
US7480332B2 (en) Bit rate control method and apparatus for MPEG-4 video coding
JP3925866B2 (ja) 映像品質測定装置及び映像品質測定プログラム
US10616585B2 (en) Encoding data arrays
CN109219960B (zh) 视频编码质量平滑度的优化方法、装置、设备及存储介质
JP2000059792A (ja) 動画像信号の高能率符号化装置
JP2005516495A5 (zh)
CN112672157B (zh) 视频编码方法、装置、设备及存储介质
JP2007306277A (ja) 動画像符号化方法,装置,プログラムおよびその記録媒体

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