基于机器学习的视频转码方法

文档序号:9551779阅读:779来源:国知局
基于机器学习的视频转码方法
【技术领域】
[0001] 本发明涉及视频转码,特别是涉及一种复杂度低、准确率高的基于机器学习的视 频转码方法。
【背景技术】
[0002] 高性能视频编码(HighEfficiencyVideoCoding)是目前最新的编码标准,其目 标是在现有标准H. 264/AVC的基础上,进一步改善率失真性能,即保证与H. 264/AVC相同的 视频质量条件下,减少约50%的码率。正是因为这样的目标和理想的率失真性能,越来越多 的学者对其进行研究。但是,在现实生活中一种码流往往要求被用于多种不同的设备和系 统中。那么,视频转码将是一个合适的解决方案。
[0003] 视频转码可以将一种视频流转化为另一种视频流。在这个过程中,码流中的许多 属性可能会随之改变,如帧率、分辨率和编码结构等。传统的视频转码器是将一个视频解 码器和另一个视频编码器进行级联,构成级联转码器,即先将输入的码流进行全解码,再将 解码后的视频文件重新进行编码以得到目标视频流。在这样的过程中,源视频流中的许多 有用信息被忽略,如运动矢量、分块类型等。而这些信息对于目标视频流的编码是非常有用 的,例如可以用来加快目标视频流的编码过程。同时,高性能视频编码(HEVC)为了获得较 好的率失真性能,采用了更为复杂的四叉树分块结构等,导致了较高的复杂度。
[0004] 在近些年,机器学习(MachineLearning)已被很多研究人员引入到视频编码或是 转码过程中,用来获取更好的率失真性能或是降低复杂度。例如,将视频编码过程中的模式 选择(ModeDecision)问题模型化为一个分类问题,以纹理信息(某区域内的像素值方差) 作为分类器的特征,用分类器代替率失真优化过程来加速帧内宏块(MacroBlock)的编码 过程。也有人提出了一种在空域内的从MPEG-2到H. 264/AVC的高效转码器,机器学习的工 具被用来探索H. 264/AVC中的宏块(MacroBlock)模式和MPEG-2中运动矢量残差之间的关 系。还有人首先分析了H. 264/AVC编码过程中的一系列特征,然后建立了基于这些特征统 计学习模型。通过离线学习方式得到的统计学习分类器加速H. 264/AVC编码过程中的运动 估计和模式选择。或者引入了 一种在线的机器学习方式来加速从MPEG-2到HEVC的转码过 程。首先在训练学习阶段,对输入的码流进行全解码并对解码后的视频进行全编码,同时在 这一过程中,从码流中提取相应的特征矢量和从HEVC编码的过程中提取视频帧分块数据。 然后,利用支持向量机(supportvectormachine,SVM)构建从特征矢量到视频帧分块数据 的模型。最后,在实际转码阶段,利用生成的模型实现快速转码。
[0005] 在现有技术中,大都采用统计阈值在快速编码或转码中实现提前终止来达到快速 编码或快速转码的目的,但是这些统计阈值是通过某些特定测试序列训练得到的统计经验 值,对于某些序列、某些场景可能是有效的,但是对于所有测试序列并非都有效;在现有方 法中,也有基于机器学习方法实现视频编码或是视频转码中的快速算法,但是这些方法都 只是将视频编码中的参数确定问题简单的模型化为分类问题,对于分类的准确率没有有效 的控制方案,即在复杂度和编码性能之间没有有效的平衡,而分类的准确率直接影响到最 终的编码性能。

【发明内容】

[0006] 基于此,有必要一种复杂度低、准确率高的基于机器学习的视频转码方法。
[0007] -种基于机器学习的视频转码方法,包括以下步骤:
[0008] 将视频编码过程中的参数选择建立为分类问题,再将其模型化为若干个不同层次 的二进制分类器;
[0009] 从候选特征组合中选取代价值最大的特征集作为当前转码所用的最优特征集;
[0010] 训练转码阶段,依据从码流和原始编码过程中提取相应的特征矢量及最佳的编码 参数,并对特征矢量和最佳的编码参数构成的数据集合进行学习,获得相应的若干个不同 层次的分类器;
[0011] 预测转码阶段,根据当前编码单元的大小选择相应的分类器,再结合提取的特征 矢量,得到分类标签值和分类概率值,将所述分类概率值与相应的自适应阈值进行比较,判 断是否接受分类标签值,如果接受,则直接利用分类标签结果进行编码,否则采用原始率失 真代价函数遍历各种编码参数。
[0012] 在其中一个实施例中,所述原始编码过程中的参数选择问题模型化为若干个不同 层次的二进制分类器的步骤包括:
[0013] (1)编码单元层次:
[0014] 当判断编码单元大小为64X64是否需要继续分割时,定义为分类器#0 ;
[0015] 当判断编码单元大小为32X32是否需要继续分割时,定义为分类器#1 ;
[0016] 当判断编码单元大小为16X16是否需要继续分割时,定义为分类器#2 ;
[0017] (2)预测单元层次:
[0018]在编码单元大小为k时,ke{64X64,32X32,16X16,8X8},当遍历完预测单元 模式集合六1<后,判断是否需要遍历剩余预测单元模式集合心时,定义k= 64X64时为分类 器#3;k= 32X32时为分类器#4;k= 16X16时为分类器#5;k= 8X8时为分类器#6 ;
[0019] 预测单元模式集合Ak对应的预测单元模式为备选预测单元模式集合Ue{Merge/ SKIP, 2NX2N,2NXN,NX2N,NXN,2NXnD,2NXnU,nLX2N,nRX2N}中的一个或多个模式, 所述剩余预测单元模式集合Bk=U-Ak。
[0020] 在其中一个实施例中,所述从候选特征组合中选取代价值最大的特征集作为当前 转码中所用的最优特征集的步骤包括:
[0021 ] 获取所采用的Q个候选特征;
[0022] 计算从Q个候选特征选出K个特征的组合数C;
[0023] 从Q个候选特征中选取K个特征得到C种组合的特征集;
[0024] 遍历所述C种组合的特征集,并计算每个组合特征集下的代价值;
[0025] 选取代价值最大的特征集组合作为当前转码中所用的最优特征集。
[0026] 在其中一个实施例中,所述依据从码流和原始编码过程中提取相应的特征矢量及 最佳的编码参数,并对特征矢量和最佳的编码参数构成的数据集合进行学习,获得相应的 若干个不同层次的分类器的步骤还包括:
[0027] 提取当前编码单元和预测单元相应的特征矢量尸…/"1,ie{〇, 1,2, 3, 4, 5, 6}, 其中,F1表示第i个分类器的特征矢量,η表示特征的数量;
[0028] 提取编码过程中的最佳编码参数,所述最佳编码参数为当前的编码单元或遍历完 预测单元模式集合Ak是否继续向下一层分割或遍历剩余预测单元模式集合Bk作为真实值 g1,如果当前的编码单元或遍历完预测单元模式集合Ak不向下一层分割或不需要遍历剩余 预测单元模式集合Bk,则g1= -1 ;如果当前的编码单元或遍历完预测单元模式集合Ak向下 一层分割或需要遍历剩余预测单元模式集合氏,则g1= +1 ;
[0029] 将提取的特征矢量及对应的最佳编码参数构成的集合Si={F\g1}输入到机器学 习训练器中,得到相应的编码单元层次的分类器M。,ΜρM2和预测单元层次的分类器M3,M4, m5,m6〇
[0030] 在其中一个实施例中,所述根据当前编码单元的大小选择相应的分类器,再结合 提取的特征矢量,得到分类标签值和分类概率值,将所述分类概率值与相应的自适应阈值 进行比较,判断是否接受分类标签值,如果接受,则直接利用分类标签结果进行编码,否则 采用原始率失真代价函数遍历各种编码参数的步骤包括:
[0031] (1)编码初始化,深度D= 0,同时在D= 0时,k为64X64,D= 1时,k为32X32, D= 2 时,k为 16X16,D= 3 时,k为 8X8 ;
[0032] (2)如果D>3时,则结束当前最大编码单元编码,否则根据深度D大小决定编码单 元大小;
[0033] (3)若已有相应的编码信息,则更新概率阈值Θ#ΡΘD+3,否则设置初始的概率阈 值 9D和ΘD+3;
[0034] (4)根据编码单元的大小和编码单元的索引从对应位置码流和原始视频编码过程 中提取相应的特征矢量#和FD+3;
[0035](5)如果D= 3时,根据分类器和特征矢量FD+3计算分类值f(MD+3,FD+3),如果 f(MD+3,FD+3)> = 0,则分类标签L= 1,同时计算分类概率值P(L= +1 |FD+3),否则分类标 签L=-1,同时计算分类概率值P(L=-11FD+3);如果P(L=+11FD+3) >ΘD+3,则预测单元 层次遍历完预测单元模式集合Ak后继续遍历剩余的备选预测单元模式集合Bk;如果P(L =-1 |FD+3)>ΘD+3,则预测单元层次遍历完预测单元模式集合Ak后结束当前编码单元编码; 如果?仏=+1|#+3)彡0 [1+3或者?仏=-1|?[1+3)彡0[)+3采用率失真优化方式遍历全部的 备选预测单元模式集合U;之后按照编码单元的索引跳到第(5)步处理下一个D= 3的编 码块,若没有D= 3的编码块,则结束当前最大编码单元编码;
[0036](6)如果D〈3时,根据分类器和特征矢量FD计算分类值f(MD,FD),如果f(MD,FD) > =0,则分类标签L= 1,同时计算分类概率值P(L= +11FD),否则分类标签L= -1,同时计 算分类概率值P(L= -1|FD);
[0037] (7)如果?仏=+1|?[1)>0[1,则0 = 0+1,同时将当前编码单元向下一层分割为四 个大小相等的编码单元并标注索引为0、1、2、3,跳转到第(2)步依次按索引处理这四个编 码单元;
[0038](8)如果P(L= -11FD) >ΘD,则根据分类器和特征矢量FD+3计算分类值f(MD+3,FD+3), 如果f(MD+3,FD+3)> = 0,则分类标签L= 1,同时计算分类概率值P(L= +1 |FD+3);否则分类 标签
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1