CN106162167B - 基于学习的高效视频编码方法 - Google Patents
基于学习的高效视频编码方法 Download PDFInfo
- Publication number
- CN106162167B CN106162167B CN201510137157.3A CN201510137157A CN106162167B CN 106162167 B CN106162167 B CN 106162167B CN 201510137157 A CN201510137157 A CN 201510137157A CN 106162167 B CN106162167 B CN 106162167B
- Authority
- CN
- China
- Prior art keywords
- coding
- coding unit
- unit
- mode
- depth
- 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.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
基于学习的高效视频编码方法采用高效视频编码器编码视频序列,提取每个编码单元块对应的特征向量;将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,建立学习模型。在高效视频编码器中进行编码单元尺寸的选择过程加入早期终止策略结构,首先执行直接模式和融合模式当前块,提取对应的当前编码对应的特征向量。将特征向量输入已学习好了的学习机模型,输出预测值,按照对应早期终止策略结构执行当前编码单元尺寸。直至编码树单元中所有的编码单元层都编码完成;重复执行直至所有视频帧中编码树单元都编码完成。因此,能够根据率失真代价以及计算复杂度对应输出最优的编码过程,提高分类器的学习和分类性能,进而提高视频编码的编码效率。
Description
技术领域
本发明涉及图像信号处理方法,特别是涉及一种高效的基于学习的高效视频编码方法。
背景技术
由于能够提供更好的感知质量和更逼真的视觉体验,高清(High Definition,HD)与超高清(Ultra High Definition)视频越来越流行并受到人们的喜爱。这些高清和超高清视频具有广阔的应用市场,包括高清电视广播、MAX电影、沉浸式视频通信、网络视频点播以及高清视频监控等。然而,由于高清与超高清视频具有更高的清晰度和视频帧率,视频数据量也极具增加。例如,一个8K×4K@120帧每秒的高清/超高清视频具有11.5GB每秒的视频原始数据,将其有效的存储和传输就需要非常高效的视频压缩。为了有效的解决高清视频的压缩问题,视频编码联合工作组(Joint Collaborative Team on Video Coding,JCT-VC)提出了高效视频编码(High Efficiency Video Coding,HEVC)标准。相比于H.264/AVC标准的高档次(high profile)在相同视觉质量的前提下降低50%的码率,即压缩比提高一倍。高效视频编码HEVC引入了多种先进的编码技术,包括灵活的四叉树块分割模式,35种帧内预测模式,离散正弦变换,以及复杂的插值和滤波技术等等。这些相关编码技术有效提高了视频压缩效率,然而极大地增加了编码复杂度,包括计算复杂度、CPU消耗、内存访问消耗、电池消耗等,不利于高清和超高清的实时性应用。
高效视频编码HEVC中的编码树单元结构(Coding Tree Unit,CTU)类似于H.264/AVC中的宏块的概念。CTU包含一个亮度块(Coding Tree Block,CTB)和若干色度块,以及若干语法元素。每个亮度块CTB根据视频内容包含一个编码单元(Coding Unit,CU)或被分割为多个编码单元。高效视频编码HEVC中每个编码单元的尺寸支持8×8、16×16、32×32和64×64,亮度块CTB中的编码单元分割样例如图1所示,Depth 0至Depth 4分别表示64×64至8×8的编码单元尺寸。此外,每个编码单元又可进一步分为不同模式和尺寸的预测单元(Prediction Unit,PU),其中,包括SKIP、MERGE模式、8种帧间模式以及2种帧内模式。最后,每个预测单元PU又将采用不同尺寸的变换单元(TransformUnit,TU)进行变换编码。高效视频编码HEVC中编码单元、预测单元和变换单元是层次递归关系,每个编码单元、预测单元和变换单元层次都有多个模式,而各个层的最佳的模式主要通过计算率失真代价(Rate-Distortion Cost)得到,即选择率失真代价最小的模式为最佳模式。然而,这就需要计算所有的层次和模式的率失真代价并比较以获得最佳模式,非常耗时,计算复杂度非常高。
由此,众多研究人员提出了针对高效视频编码HEVC的低复杂度优化方法。如通过预测已编码片(Slice)或者编码单元来预测当前编码单元所在的编码片的编码单元的深度范围,对于预测范围之外的不进行测试从而降低计算复杂度。又如人利用运动的差异化信息作为主要特征,通过相邻编码单元块以及当前编码单元块的运动差异来决策当前编码单元是否分割。又有则利用率失真代价,不同深度层、以及相邻编码单元的模式相关性进行帧内编码单元深度的预测。机器学习是人工智能、模式识别以及信号处理中的热点,通过学习的方式给予有效的最优解。研究人员也将学习的相关算法应用于视频编码。如将归一化的率失真代价等作为特征量,输入支持向量机(Support Vector Machine,SVM)实现其有效模式分类问题。同时由于误分类导致的率失真增加也被考虑了。因此有利用后向传播神经网络(Back Propagation Neural Network,BPNN)解决视频编码中的模式分类问题。此外,决策树(Decision Tree)等被用于H.264/AVC及其立体视频编码中的模式分类,如将SKIP模式为最佳模式的块区分取来进行早期终止模式选择过程。这些算法主要用于H.264/AVC的编码优化,难以简单移植到高效视频编码HEVC中。
针对基于机器学习的高效视频编码优化,有提出基于加权的SVM进行编码单元分割与不分割的早期终止算法,其中对特征选取进行了优化,同时,率失真代价参与并作为SVM离线学习的加权信息。因此,有利用了MPEG-2以及H.264/AVC视频流中的码流信息进行HEVC的CU模式预测。与此同时,统计阈值加入进来,对预测不准确的情况进行进一步筛选。总体上,已有的基于机器学习的编码单元模式预测方法非常依赖于特征选择以及学习机的分类精度,一旦预测不准确将导致巨大的压缩效率下降。同时,传统方法一旦确定,难以通过参数调整实现编码效率、计算复杂度的转换,由此难以适用于不同视频***的编码要求。
发明内容
基于此,有必要提供一种高效的基于学习的高效视频编码方法。
一种基于学习的高效视频编码方法,包括以下步骤:
步骤110、采用高效视频编码器编码视频序列,提取每个编码单元块对应的特征向量;
步骤120、将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型;
步骤130、在高效视频编码器中进行编码单元尺寸的选择过程加入早期终止策略结构,其中,在每个编码单元深度层i,首先执行直接模式(SKIP模式)和融合模式(MERGE模式)当前块,提取与步骤110对应的当前编码对应的特征向量;
步骤140、将步骤130中的特征向量输入已学习好了的学习机模型,输出预测值,若预测值为不分割,则执行并测试当前编码单元尺寸,同时跳过分割编码单元尺寸的测试与编码;若预测值为分割,则跳过测试当前编码单元尺寸,直接执行分割的编码尺寸的测试与编码;若为不确定,则测试当前编码单元尺寸,然后测试分割的编码单元尺寸;
步骤150、重复步骤130和步骤140直至编码树单元中所有的编码单元层都编码完成;
步骤160、重复步骤130-步骤150直至所有视频帧中编码树单元都编码完成。
在其中一个实施例中,所述特征向量包括当前编码单元块的特征、运动信息、上下文信息、量化参数等以及最佳编码单元尺寸。
在其中一个实施例中,所述当前编码单元块的特征包括编码块标识位xCBF_Meg(i)、率失真代价值xRD_Meg(i)、失真xD_Meg(i)以及编码比特数xBit_Meg(i);其中,i为当前编码单元的深度;
所述运动信息的计算公式为xMV_Meg(i)=|MVx|+|MVy|,其中MVx和MVy分别表示运动和垂直运动幅度,i为当前编码单元的深度。
将视频分块模式的时间、空间的率失真代价以及编码单元深度作为当前编码单元深度决策的特征量,分别记为xNB_RD(i)和xCU_depth(i);其中,率失真代价xNB_RD(i)为相邻左边和上边编码单元的率失真代价值的评价值;编码单元深度xCU_depth(i)为相邻编码单元的平均深度;
通过以下公式计算得到:
其中dj是左边和上边编码单元中以4×4块为单元的深度值,NLFT(i)和NABV(i)为左边和上边编码单元中4×4块个数。
在其中一个实施例中,所述将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型的步骤包括:
将特征矢量输入m个二值输出的学习机,学习机通过已学习的模型,输出预测值Oi,+1或-1,其中i表示学习机的标号,为1至m;
对m个输出Oi进行融合,得到最终输出为QALL;
其中,TA和TB为0至m的两个阈值。
在其中一个实施例中,还包括将特征输入分类器,所述分类器将根据当前视频内容特性和已学的模型参数做出预测A(+1)、B(-1)或C(U不确定);
当预测为A,则将直接模式Dn作为最佳模式,则只执行Dn;
当预测为B,则将容错模式Pn+1作为为最佳模式,则只执行Pn+1;
当预测为C,则表示不确定Dn或Pn+1,则执行Dn和4个Pn+1。
在其中一个实施例中,误预测导致的率失真代价的增加量可以表示为:
ΔηRD(i)=ΔηnS→S(i)×pBA(i)+ΔηS→nS(i)×pAB(i);
其中pBA(i)=NBA,1(i)/NALL(i),pAB(i)=NAB,2(i)/NALL(i)是分割(B)与不分割(A)的错误预测率,NBA,1(i)和NAB,2(i)分别为一号分类器中B误预测为A的样本个数,2号分类器中A误预测为B的样本个数,NALL(i)为第i层编码单元需要进行预测的样本个数,其中NALL(1)即为整个图像的编码单元个数;
分割与不分割优化后的计算复杂度计算为
ΔT(i)=ΔTS(i)×qS,1(i)+ΔTnS(i)×qnS,2(i);
其中ΔTS(i)和ΔTnS(i)分别为在编码单元深度层i中,通过分割与不分割的预测而导致的计算复杂度降低百分比,ΔTS(i)=1-TS(i)/TALL(i),ΔTnS(i)=1-TnS(i)/TALL(i),其中TS(i)、TnS(i)和TALL(i)分别为分割、不分割以及原操作的计算复杂度;
根据所述误预测导致的率失真代价的增加量和所述分割与不分割优化后的计算复杂度设定目标函数;
所述目标函数表示为
其中,ΔηT,i为压缩效率降低百分比,xi和yi是第i层三值输出分类器的两个模型参数,表示为WA(j,i)和WB(j,i)分别表示第i层编码单元中第j个分类器中正、负样本的权重值。
在其中一个实施例中,还包括对配置学习参数和学习模式设置最优学习参数;
对若干测试序列中的部分视频帧,采用高效视频编码统计得到ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)和ΔηnS→S(i),并拟合得到参数bi、ai、ti、Bi、Ai、ui、vi和Ti,
给定ΔηT,i即可采用最小二乘法得到参数λi,再将λi带入公式
可以计算得到xi和yi,最终根据
得到WA(j,i)/WB(j,i)的比率,作为学习机的训练参数,其中,ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)、ΔηnS→S(i)、bi、ai、ti、Bi、Ai、ui、vi、Ti、xi和yi均为中间参数。
在其中一个实施例中,所述学习机的训练方式包括在线方式和离线方式。
在其中一个实施例中,所述在线方式包括对n帧视频采用原始HM模型编码,输出面向每一类编码单元深度i的学习机的特征矢量Xi以及每个编码单元的最佳分块模式Y;
将Xi和Y输入支持向量机学习机训练;
将训练好的支持向量机学习机用于视频帧编码中的编码单元深度预测。
在其中一个实施例中,所述离线方式包括选取若干特定序列和每个序列的若干帧,采用原始HM模型进行编码,输出这些已编码视频帧中面向每一类编码单元深度i的学习机的特征矢量Xi以及每个编码单元的最佳分块模式Y;
将Xi和Y输入支持向量机学习机训练;
将训练好的支持向量机学习机用于视频序列、视频帧的编码与编码单元深度预测。
上述基于学习的高效视频编码方法通过设定不同的分类精度的分类器,并建立早期终止策略结构。该早期终止策略结构可以通过调整输出的比例转换变为传统若干种经典的决策结构。因此,可以根据实际需求和分类器的特性进行切换。针对提取的特征向量预先学习好的学习机模型能够对应输出预测值,根据预测值选择不同的编码模式。即能够根据高效视频编码中的率失真代价以及计算复杂度对应输出最优的编码过程,从而提高分类器的学习和分类性能,进而提高视频编码的编码效率。
附图说明
图1为基于学习的高效视频编码方法的流程图;
图2为编码树单元中编码单元的分割模式图;
图3为编码树单元编码过程示意图;
图4为编码单元决策分割示意图;
图5(a)为递归的编码单元尺寸决策过程Pn(i)结构图之一;
图5(b)为递归的编码单元尺寸决策过程Pn(i)结构图之一;
图5(c)为递归的编码单元尺寸决策过程Pn(i)结构图之一;
图5(d)为递归的编码单元尺寸决策过程Pn(i)结构图之一;
图6为三输出分类器流程图;
图7为ΔηT,i配置情况下的平均计算复杂度降低与码率增加的曲线图;
图8为在线方式训练示意图;
图9为离线方式训练示意图。
具体实施方式
如图1所示,为基于学习的高效视频编码方法的流程图。
一种基于学习的高效视频编码方法,包括以下步骤:
步骤110、采用高效视频编码器编码视频序列,提取每个编码单元块对应的特征向量。
所述特征向量包括当前编码单元块的特征、运动信息、上下文信息、量化参数等以及最佳编码单元尺寸。
当前编码单元块的特征包括编码块标识位xCBF_Meg(i)、率失真代价值xRD_Meg(i)、失真xD_Meg(i)以及编码比特数xBit_Meg(i);其中,i为当前编码单元的深度。
运动信息的计算公式为xMV_Meg(i)=|MVx|+|MVy|,其中MVx和MVy分别表示运动和垂直运动幅度,i为当前编码单元的深度。
具体的,当前编码单元的信息,主要包括采用SKIP模式和MERGE模式编码当前编码单元过程的输出信息,包括编码块标识位(Coded Block Flag,标识编码残差系数个数)、率失真代价值、失真以及编码比特数,这四个信息分别表示为xCBF_Meg(i)、xRD_Meg(i)、xD_Meg(i)、xBit_Meg(i),其中i为当前编码单元的深度,为0、1、2、3。此外,还有一个SKIP标记位是编码后的输出信息位、0或1,记为xSKIP(i)。
运动信息主要用来表征当前编码单元的运动剧烈程度,一般运动剧烈比较大的概率采用小尺寸的编码单元,即分割的概率较高。本实施例中采用merge模式编码后的运动矢量表征当前编码单元的运动,具体计算为xMV_Meg(i)=|MVx|+|MVy|,其中MVx和MVy分别表示运动和垂直运动幅度。
由于视频的分块模式通常具有较强的时、空间相关性,由此,时、空间的率失真代价以及编码单元深度作为当前编码单元深度决策的特征量,分别记为xNB_RD(i)和xCU_depth(i)。本实施例中,xNB_RD(i)为相邻左边和上边编码单元的率失真代价值的评价值;xCU_depth(i)为相邻编码单元的平均深度,通过以下公式计算得到
其中,dj是左边和上边编码单元中以4×4块为单元的深度值,NLFT(i)和NABV(i)为左边和上边编码单元中4×4块个数。
编码当前编码单元的量化参数,记为xQP,通常量化参数越大,当前编码单元更有可能采用较大的块进行编码。
本实施例中列举的以上特征量是主要特征量,包括但不限定于以上内容,此外也可以对其中进行删减。
步骤120、将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型。
请结合图6。具体的,三值输出分类器由m(m>=2)个二值输出的分类器组成,结构如图5所示,这些二值输出分类器可以是公知的支持向量机、神经网络学习机或贝叶斯分类器等。最后,通过一个合并单元将不同的输出结果融合,形成三值输出,分别为正(+1)、负(-1)以及不确定(U),分别对应于图5(d)中的A、B和C,融合方式具体表示为。
其中TA和TB为0至m的两个阈值,当TA=m,则图5(d)中的A为0,当TB=0则三输出分类器的B为0,TA=m同时TB=0,则输出C为100%。若TA<TB,则C输出为0。实际操作中,一般TA>TB。
一个三值输出的分类器可以有m个不同学习机组成,也可以由同一个学习机但参数和学习方式不同组成,或者是不同学习机同时不同参数组成。本实施例中,采用多个支持向量机,不同的加权系数,m=2,TA=2,TB=1。
本实施例中采用了支持向量机学习机,训练过程可分为两大类,离线方式和在线方式。
如图8所示,为在线方式训练示意图。
在线方式中,通过对n帧视频采用原始HM模型编码,输出面向每一类编码单元深度i的学习机的特征矢量Xi(包含上述的9个特征量)以及每个编码单元的最佳分块模式Y,将Xi和Y输入支持向量机学习机训练,然后将训练好的支持向量机学习机用于后续视频帧编码中的编码单元深度预测;该方式中每编码一个序列都需要重新训练。
如图9所示,为离线方式训练示意图。
离线方式中,选取若干特定序列和每个序列的若干帧,采用原始HM模型进行编码,输出这些已编码视频帧中面向每一类编码单元深度i的学习机的特征矢量Xi(包含上述的9个特征量)以及每个编码单元的最佳分块模式Y,将Xi和Y输入支持向量机学习机训练。然后将训练好的支持向量机学习机用于其他视频序列、视频帧的编码与编码单元深度预测。该方式可以按照需要进行训练视频的选择以及训练更新。
步骤130、在高效视频编码器中进行编码单元尺寸的选择过程加入早期终止策略结构,其中,在每个编码单元深度层i,首先执行SKIP模式和MERGE模式当前块,提取与步骤110对应的当前编码对应的特征向量。
在高效视频编码器HEVC视频编码中,每一个图像由一些列的CTU组成,其中的编码树单元中获得最终的编码单元分割与不分割的决策不是一个单独的二值判断问题,而且由多个判断问题组成。在高效视频编码器HEVC编码中,每个64x64的编码树单元亮度单元将首先采用64x64的编码单元尺寸编码,计算率失真代价;然后,将其分割为4个32x32的编码单元尺寸,分别计算4个单元的率失真代价。在此过程中,每个32x32的编码单元尺寸又会分割为4个16x16的尺寸编码单元,依次递归,直到8x8的编码单元单元。如图3所示,其中Dn表示编码当前编码单元并计算率失真代价,n为0、1、2、3分别对应编码尺寸64x64至8x8尺寸,Pn(i)则为递归的编码单元尺寸决策过程,i为四个子块的索引号。最后,从小尺寸的编码单元依次向上递归,与上一层的比较率失真代价,代价小的定为更好的模式选择;依次递归、并比较到最后,由此得到编码树单元的最优编码单元尺寸分割方式。
在编码单元尺寸选择过程中,选择当前编码单元尺寸或者更小的4个编码单元尺寸可以定义为一个分与不分的问题。由此,整个编码树单元的编码单元尺寸决策问题可以描述为一下3个层次的二值决策问题。如图4所示,64x64或4个32x32的选择可以定义为一个分与不分的二值决策问题,需要一个分类器,定义为L1第一层;然后,对于第二次,将有4个分与不分的问题,由此需要4个分类器(L2);类似的,第三层需要16个分类器。这些分类器,同一层属于同一个属性的分类器,可以一个分类器多次使用或者多个相同的分类器。
由于图3中的Pn(i)结构是个递归结构,在不同层次重复出现,由此为了方便起见,我们采用Pn(i)结构的优化来描述整个编码单元尺寸决策过程的优化。
针对图3中的Pn(i),在高效视频编码器HEVC的校验模型(即原始的视频编码器)中可以描述为由一个Dn和4个Pn+1(i)组成,其流程为如图5(a)的顺序执行结构,该结构的优点是选择最佳模式编码效率高,缺点是有大量非必要的计算,计算复杂度极高。这个过程中,由于最佳模式会选择Dn或者4个Pn+1,是二选一的过程。
由此多个预测结构,图5(b)为其中一个早期终止方案,在做完Dn之后,采用一个预测分类器,预测当前最佳模式并判断是否跳过执行后续的Pn+1,由此降低计算复杂度。然而该方法对所有的块都要执行Dn操作,对于选择Pn+1为最佳模式显然浪费不必要的。
由此,提出早期终止方案如图5(c)所示,即当执行Dn和Pn+1前首先通过分类器预测当前的最佳模式,如果是Dn,则设为Y并只执行Dn,否则设为N并执行Pn+1。该结构的优点是只要预测准确,没有额外的计算代价;缺点是非常依赖于分类器的预测精度,一旦预测不够准确,将会导致较大的压缩效率下降。
为此,提出了如图5(d)所示,分类器将根据当前视频内容特性做出预测A、B或C,对于A,即预测Dn为最佳模式,则只执行Dn;对于B则预测Pn+1为最佳模式,则只执行Pn+1;对于C则表示不确定Dn或Pn+1,则执行Dn和4个Pn+1。该结构非常灵活,具有多个优势:由于可以通过分类算法以及参数调整分类器中的ABC三个输出项,由此,当A和B为0,C为100%时,该结构可转换为图5(a),具有最高的压缩效率最大复杂度。当B为0时,则该结构变为图5(b);最后,当C为0时,则该结构转换为图5(c)所示结构。该结构可以通过调整A、B、C实现编码效率与计算复杂度的转换,其编码效率以及编码复杂度介于结构图5(a)和图5(c)之间,可按照实际应用***需求调整。
步骤140、将步骤130中的特征向量输入已学习好了的学习机模型,输出预测值,若预测值为不分割,则执行并测试当前编码单元尺寸,同时跳过分割编码单元尺寸的测试与编码;若预测值为分割,则跳过测试当前编码单元尺寸,直接执行分割的编码尺寸的测试与编码;若为不确定,则测试当前编码单元尺寸,然后测试分割的编码单元尺寸。
步骤150、重复步骤130和步骤140直至编码树单元中所有的编码单元层都编码完成。
步骤160、重复步骤130-步骤150直至所有视频帧中编码树单元都编码完成。
基于学***均深度。
通过以下公式计算得到:
其中dj是左边和上边编码单元中以4×4块为单元的深度值,NLFT(i)和NABV(i)为左边和上边编码单元中4×4块个数。
所述将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型的步骤包括:
将特征矢量输入m个二值输出的学习机,学习机通过已学习的模型,输出预测值Oi,+1或-1,其中i表示学习机的标号,为1至m。
对m个输出Oi进行融合,得到最终输出为QALL;
其中,TA和TB为0至m的两个阈值。
学习机为支持向量机,但加权参数不同。优选的,m设为2,TA=2,TB=1。
基于学习的高效视频编码方法还包括将特征输入分类器,所述分类器将根据当前视频内容特性和已学的模型参数做出预测A(+1)、B(-1)或C(U不确定)。
当预测为A,则将直接模式Dn作为最佳模式,则只执行Dn。
当预测为B,则将容错模式Pn+1作为为最佳模式,则只执行Pn+1。
当预测为C,则表示不确定Dn或Pn+1,则执行Dn和4个Pn+1。
基于学习的高效视频编码方法还包括对配置学习参数和学习模式设置最优学习参数。
对若干测试序列中的部分视频帧,采用高效视频编码统计得到ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)和ΔηnS→S(i),并拟合得到参数bi、ai、ti、Bi、Ai、ui、vi和Ti。
给定ΔηT,i即可采用最小二乘法得到参数λi,再将λi带入公式
可以计算得到xi和yi,最终根据
得到WA(j,i)/WB(j,i)的比率,作为学习机的训练参数,其中,ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)、ΔηnS→S(i)、bi、ai、ti、Bi、Ai、ui、vi、Ti、xi和yi均为中间参数。
具体的,在三值输出的支持向量机学习机训练过程中,需要为两个支持向量机学习机配置合理的参数,已达到最佳的预测效果。本实施例中主要通过调节支持向量机学习机中的加权系数WA和WB,来调整训练过程。WA和WB分别表示样本中正、负样本的重要性,越大表示越容易被分为该类,错误接受率将增大,错误拒绝率将减少。这些错误分类或预测的结果将导致最终编码的编码效率和计算复杂度的编码。
定义ΔηS→nS(i)为采用不分割模式编码那些选择分割模式为最佳模式的编码单元所引起的率失真代价的增加量,可表示为ΔηS→nS(i)=(1-JnS(i)/JBest(i))×100%,其中i为编码单元决策层,i∈{1,2,3}、JnS(i)和JBest(i)分别表示采用不分割模式和最佳模式编码当前编码单元时的率失真代价。同样,定义ΔηnS→S(i)为采用分割模式编码那些选择不分割模式为最佳模式的编码单元所引起的率失真代价的增加量,可表示为ΔηnS→S(i)=(1-JS(i)/JBest(i))×100%,其中JS(i)是采用分割模式编码当前编码单元的率失真代价。由此,每一层编码单元的决策过程中,由于误预测导致的率失真代价的增加量可以表示为:
ΔηRD(i)=ΔηnS→S(i)×pBA(i)+ΔηS→nS(i)×pAB(i);
其中pBA(i)=NBA,1(i)/NALL(i),pAB(i)=NAB,2(i)/NALL(i)是分割(B)与不分割(A)的错误预测率,NBA,1(i)和NAB,2(i)分别为一号分类器中B误预测为A的样本个数,2号分类器中A误预测为B的样本个数,NALL(i)为第i层编码单元需要进行预测的样本个数,其中NALL(1)即为整个图像的编码单元个数。
定义qS,1(i)=NS,1(i)/NALL(i)为被三值输出的分类器预测为分割的百分比,定义qnS,2(i)=NnS,2(i)/NALL(i)为预测为不分割的百分比,其中NS,1(i)和NnS,2(i)分别为三值输出分类器中分类器1和2分别预测的分割和不分割的样本个数。由此,通过分割与不分割优化后的计算复杂度可以计算为
ΔT(i)=ΔTS(i)×qS,1(i)+ΔTnS(i)×qnS,2(i);
其中ΔTS(i)和ΔTnS(i)分别为在编码单元深度层i中,通过分割与不分割的预测而导致的计算复杂度降低百分比,ΔTS(i)=1-TS(i)/TALL(i),ΔTnS(i)=1-TnS(i)/TALL(i),其中TS(i)、TnS(i)和TALL(i)分别为分割(跳过Dn操作),不分割(省略4个Pn+1操作),以及原操作(Dn和4个Pn+1都执行)的计算复杂度。
针对BQMall、FourPeople等5个不同测试序列的20帧进行编码和统计,将上述参数拟合为
其中bi、ai、ti、Bi和Ai为拟合参数;
其中ui、vi和Ti为拟合参数,这些拟合参数将随着选择的测试序列、编码帧数等不同,而有所变化。此外,ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)和ΔηnS→S(i)也可以通过对部分测试序列的编码而统计得到。
在本实施例中,上述拟合参数如下表:
其中R2表示拟合精度,越接近于1越好。
由此为了得到最优化的性能,设立目标函数,即在率失真代价增加有限的条件下,最小化编码器的计算复杂度1-ΔT(i),可表示为
其中,ΔηT,i为压缩效率降低百分比,xi和yi是第i层三值输出分类器的两个模型参数,表示为WA(j,i)和WB(j,i)分别表示第i层编码单元中第j个分类器中正、负样本的权重值。上述问题转化为:
对上述公式分别对xi、yi和λi求偏导,并将其设为0,得到
求解上述公式,可以得到:
在本实施例中,只有λi和ΔηT,i为参数,其他系数均为已知的常数,虽然无法显性表示,但只要给定一个ΔηT,i就可以通过公知最小二乘法等方法得到对应的λi,再将λi带入公式,可以计算得到xi和yi,最终得到WA(j,i)/WB(j,i)的比率,作为支持向量机学习机的训练参数。
基于上述所有实施例,采用高效视频编码器的参考软件平台HM12.0验证上述基于学习的高效视频编码方法。配置信息包括低延时B帧档次,编码序列第一帧为I帧,其余帧为P帧,编码单元尺寸支持64×64至8×8,运动估计范围为64,其他参数为默认参数。编码实验在电脑上实施。
编码验证实验分为两部分,首先编码5个测试序列Basketballpass(416×240),Partyscene(832×480),Johnny(1280×720),Kimono(1920×1080),Traffic(2560×1600),采用不同的用户配置参数ΔηT,i,分别可以表示为{0.1%,0.1%,0.1%},{0.3%,0.3%,0.3%},{0.5%,0.5%,0.5%},{0.7%,0.7%,0.7%},记为Para_111,Para_333,Para_555和Para_777。此外,{0.3%,0.2%,0.1%},{0.6%,0.4%,0.2%},{0.9%,0.6%,0.3%},记为Para_321,Para_642,Para_963,并由此得到训练参数WA和WB训练学习机,然后将学习机用于编码过程中编码单元深度预测。
如图7所示为采用优化后的编码器编码5个视频与优化前的编码器编码视频的编码效率和计算复杂度对比,Y轴位计算复杂度的节省度,X轴位后话后相比于优化前的码率的增加百分比,由图可知,在不同配置参数ΔηT,i的调节下,平均计算复杂度可以降低42%~56%。
此外,采用参数Para_642训练学***台HM可降低计算复杂度28.82%至70.93%,平均51.45%,平均BDPSNR和BDBR分别为-0.061dB和1.98%,与原HM的压缩效率基本一致。从压缩效率和计算复杂度上由于目前先进的三个方案ShenEVIP,ShenTMM和XiongTMM。
如下表,为编码效率和计算复杂度对比:
在上述所有实施例中采用的由两个支持向量学习机组成一个三值输出的学习机,其中的学习机可以替换为其他类型的学习机,如贝叶斯、神经网络、决策树等,同时学习机的数量可以多于2个。此外三值输出的学习机既可以由多个二值输出学习机组成,也可以由一个多分类学习机直接实现。
输入学习机的特征向量包括,但不局限于上述实施例中提到的四类,还可包括图像纹理边缘、亮度等等;同时,本发明中的特征量可以具有多种表现形式,如当前编码单元块的特征、运动信息计算为xMV_Meg(i)=|MVx|+|MVy|、上下文信息、量化参数等以及最佳编码单元尺寸等,实际可以采用其他的表现形式来替换。
基于学习的分类方法用于编码单元深度的决策,以降低编码中的模式选择复杂度。实际视频编码过程中具有多种类似于编码的那样尺寸/深度选择的“多选一”的过程,除编码单元深度决策外,还有预测单元模式选择预测单元,变换单元模式选择变换单元,多参考帧选择,运动估计等过程,均可采用上述实施例中基于学习的分类方法,解决相关“多选一”的问题。
上述基于学习的高效视频编码方法通过设定不同的分类精度的分类器,并建立早期终止策略结构。该早期终止策略结构可以通过调整输出的比例转换变为传统若干种经典的决策结构。因此,可以根据实际需求和分类器的特性进行切换。针对提取的特征向量预先学习好的学习机模型能够对应输出预测值,根据预测值选择不同的编码模式。即能够根据高效视频编码中的率失真代价以及计算复杂度对应输出最优的编码过程,从而提高分类器的学习和分类性能,进而提高视频编码的编码效率。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种基于学习的高效视频编码方法,包括以下步骤:
步骤110、采用高效视频编码器编码视频序列,提取每个编码单元块对应的特征向量;
步骤120、将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型;
步骤130、在高效视频编码器中进行编码单元尺寸的选择过程加入早期终止策略结构,其中,在每个编码单元深度层i,当前编码单元块首先执行SKIP模式和MERGE模式,提取与步骤110对应的当前编码单元块对应的特征向量;
步骤140、将步骤130中的特征向量输入已学习好了的学习机模型,输出预测值,若预测值为不分割,则执行并测试当前编码单元尺寸,同时跳过分割编码单元尺寸的测试与编码;若预测值为分割,则跳过测试当前编码单元尺寸,直接执行分割的编码尺寸的测试与编码;若为不确定,则测试当前编码单元尺寸,然后测试分割的编码单元尺寸;
步骤150、重复步骤130和步骤140直至编码树单元中所有的编码单元层都编码完成;
步骤160、重复步骤130-步骤150直至所有视频帧中编码树单元都编码完成;
所述步骤120,将提取的特征向量与最佳编码单元尺寸输入三值输出的学习机,配置学习参数和学习模式,建立学习模型的步骤包括:
将特征矢量输入m个二值输出的学习机,学习机通过已学习的模型,输出预测值Oi,+1或-1,其中i表示学习机的标号,为1至m;
对m个输出Oi进行融合,得到最终输出为QALL;
其中,TA和TB为0至m的两个阈值。
2.根据权利要求1所述的基于学习的高效视频编码方法,其特征在于,所述特征向量包括当前编码单元块的特征、运动信息、上下文信息、量化参数等以及最佳编码单元尺寸。
3.根据权利要求2所述的基于学习的高效视频编码方法,其特征在于,所述当前编码单元块的特征包括编码块标识位xCBF_Meg(i)、率失真代价值xRD_Meg(i)、失真xD_Meg(i)以及编码比特数xBit_Meg(i);其中,i为当前编码单元的深度;
所述运动信息的计算公式为xMV_Meg(i)=|MVx|+|MVy|,其中MVx和MVy分别表示运动和垂直运动幅度,i为当前编码单元的深度;
将视频分块模式的时间、空间的率失真代价以及编码单元深度作为当前编码单元深度决策的特征量,分别记为xNB_RD(i)和xCU_depth(i);其中,率失真代价xNB_RD(i)为相邻左边和上边编码单元的率失真代价值的评价值;编码单元深度xCU_depth(i)为相邻编码单元的平均深度;
通过以下公式计算得到:
其中dj是左边和上边编码单元中以4×4块为单元的深度值,NLFT(i)和NABV(i)为左边和上边编码单元中4×4块个数。
4.根据权利要求1所述的基于学习的高效视频编码方法,其特征在于,还包括将特征输入分类器,所述分类器将根据当前视频内容特性和已学的模型参数做出预测A、B或C;其中A表示正,B表示负,C表示不确定;
当预测为A,则将直接模式Dn作为最佳模式,则只执行Dn;
当预测为B,则将容错模式Pn+1作为为最佳模式,则只执行Pn+1;
当预测为C,则表示不确定Dn或Pn+1,则执行Dn和4个Pn+1。
5.根据权利要求4所述的基于学习的高效视频编码方法,其特征在于,误预测导致的率失真代价的增加量可以表示为:
ΔηRD(i)=ΔηnS→S(i)×pBA(i)+ΔηS→nS(i)×pAB(i);
其中ΔηnS→S(i)为采用分割模式编码选择不分割模式为最佳模式的编码单元所引起的率失真代价的增加量,ΔηS→nS(i)为采用不分割模式编码选择分割模式为最佳模式的编码单元所引起的率失真代价的增加量,pBA(i)=NBA,1(i)/NALL(i),pAB(i)=NAB,2(i)/NALL(i)是分割B与不分割A的错误预测率,NBA,1(i)和NAB,2(i)分别为一号分类器中B误预测为A的样本个数,2号分类器中A误预测为B的样本个数,NALL(i)为第i层编码单元需要进行预测的样本个数,其中NALL(1)即为整个图像的编码单元个数;
分割与不分割优化后的计算复杂度计算为
ΔT(i)=ΔTS(i)×qS,1(i)+ΔTnS(i)×qnS,2(i);
其中ΔTS(i)和ΔTnS(i)分别为在编码单元深度层i中,通过分割与不分割的预测而导致的计算复杂度降低百分比,ΔTS(i)=1-TS(i)/TALL(i),ΔTnS(i)=1-TnS(i)/TALL(i),其中TS(i)、TnS(i)和TALL(i)分别为分割、不分割以及原操作的计算复杂度;
根据所述误预测导致的率失真代价的增加量和所述分割与不分割优化后的计算复杂度设定目标函数;
所述目标函数表示为
其中,ΔηT,i为压缩效率降低百分比,xi和yi是第i层三值输出分类器的两个模型参数,表示为WA(j,i)和WB(j,i)分别表示第i层编码单元中第j个分类器中正、负样本的权重值。
6.根据权利要求4所述的基于学习的高效视频编码方法,其特征在于,还包括对配置学习参数和学习模式设置最优学习参数;
对若干测试序列中的部分视频帧,采用高效视频编码统计得到ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)和ΔηnS→S(i),并拟合得到参数bi、ai、ti、Bi、Ai、ui、vi和Ti,
给定ΔηT,i即可采用最小二乘法得到参数λi,再将λi带入公式
可以计算得到xi和yi,最终根据得到WA(j,i)/WB(j,i)的比率,作为学习机的训练参数,其中,ΔTnS(i)、ΔTS(i)、ΔηS→nS(i)、ΔηnS→S(i)、bi、ai、ti、Bi、Ai、ui、vi、Ti、xi和yi均为中间参数,h1(i),h2(i),k1(i),k2(i)均为已知常数。
7.根据权利要求1所述的基于学习的高效视频编码方法,其特征在于,所述学习机的训练方式包括在线方式和离线方式。
8.根据权利要求7所述的基于学习的高效视频编码方法,其特征在于,所述在线方式包括对n帧视频采用原始HM模型编码,输出面向每一类编码单元深度i的学习机的特征矢量Xi以及每个编码单元的最佳分块模式Y;
将Xi和Y输入支持向量机学习机训练;
将训练好的支持向量机学习机用于视频帧编码中的编码单元深度预测。
9.根据权利要求7所述的基于学习的高效视频编码方法,其特征在于,所述离线方式包括选取若干特定序列和每个序列的若干帧,采用原始HM模型进行编码,输出这些已编码视频帧中面向每一类编码单元深度i的学习机的特征矢量Xi以及每个编码单元的最佳分块模式Y;
将Xi和Y输入支持向量机学习机训练;
将训练好的支持向量机学习机用于视频序列、视频帧的编码与编码单元深度预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510137157.3A CN106162167B (zh) | 2015-03-26 | 2015-03-26 | 基于学习的高效视频编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510137157.3A CN106162167B (zh) | 2015-03-26 | 2015-03-26 | 基于学习的高效视频编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106162167A CN106162167A (zh) | 2016-11-23 |
CN106162167B true CN106162167B (zh) | 2019-05-17 |
Family
ID=57340278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510137157.3A Active CN106162167B (zh) | 2015-03-26 | 2015-03-26 | 基于学习的高效视频编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106162167B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10382770B2 (en) * | 2017-02-06 | 2019-08-13 | Google Llc | Multi-level machine learning-based early termination in partition search for video encoding |
CN106713929B (zh) * | 2017-02-16 | 2019-06-28 | 清华大学深圳研究生院 | 一种基于深度神经网络的视频帧间预测增强方法 |
CN108737841B (zh) * | 2017-04-21 | 2020-11-24 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
CN107690069B (zh) * | 2017-08-28 | 2021-01-01 | 中国科学院深圳先进技术研究院 | 一种数据驱动的级联视频编码方法 |
US11436471B2 (en) * | 2017-10-13 | 2022-09-06 | Panasonic Intellectual Property Corporation Of America | Prediction model sharing method and prediction model sharing system |
KR102535361B1 (ko) | 2017-10-19 | 2023-05-24 | 삼성전자주식회사 | 머신 러닝을 사용하는 영상 부호화기 및 그것의 데이터 처리 방법 |
CN108012150B (zh) * | 2017-12-14 | 2020-05-05 | 湖南兴天电子科技有限公司 | 视频帧间编码方法及装置 |
CN111742553A (zh) * | 2017-12-14 | 2020-10-02 | 交互数字Vc控股公司 | 用于视频压缩的基于深度学习的图像分区 |
CN108200442B (zh) * | 2018-01-23 | 2021-11-12 | 北京易智能科技有限公司 | 一种基于神经网络的hevc帧内编码单元划分方法 |
CN108174208B (zh) * | 2018-02-12 | 2020-05-12 | 杭州电子科技大学 | 一种基于特征分类的高效视频编码方法 |
CN108495129B (zh) * | 2018-03-22 | 2019-03-08 | 北京航空航天大学 | 基于深度学习方法的块分割编码复杂度优化方法及装置 |
CN108924558B (zh) * | 2018-06-22 | 2021-10-22 | 电子科技大学 | 一种基于神经网络的视频预测编码方法 |
EP3743855A1 (en) * | 2018-09-18 | 2020-12-02 | Google LLC | Receptive-field-conforming convolution models for video coding |
CN109089114B (zh) * | 2018-09-28 | 2022-01-28 | 河海大学 | 一种复杂度自适应的虚拟现实设备的屏幕内容编码方法 |
CN109769119B (zh) * | 2018-12-18 | 2021-01-19 | 中国科学院深圳先进技术研究院 | 一种低复杂度视频信号编码处理方法 |
CN110072119B (zh) * | 2019-04-11 | 2020-04-10 | 西安交通大学 | 一种基于深度学习网络的内容感知视频自适应传输方法 |
CN110401834B (zh) * | 2019-08-06 | 2021-07-27 | 杭州微帧信息科技有限公司 | 一种基于深度学习的自适应视频编码方法 |
CN111083480B (zh) * | 2019-12-10 | 2022-11-04 | 四川新视创伟超高清科技有限公司 | 一种基于cpu的8k超高清视频高速编码方法 |
CN111988628B (zh) * | 2020-09-08 | 2023-10-17 | 福州大学 | 基于强化学习的vvc的快速帧内编码方法 |
CN114584771B (zh) * | 2022-05-06 | 2022-09-06 | 宁波康达凯能医疗科技有限公司 | 一种基于内容自适应的帧内图像编码单元划分方法与*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217663A (zh) * | 2008-01-09 | 2008-07-09 | 上海华平信息技术股份有限公司 | 用于编码器的图像像素块编码模式的快速选择方法 |
CN102387356A (zh) * | 2010-09-06 | 2012-03-21 | 索尼公司 | 图像处理设备和方法 |
CN103517069A (zh) * | 2013-09-25 | 2014-01-15 | 北京航空航天大学 | 一种基于纹理分析的hevc帧内预测快速模式选择方法 |
WO2015034061A1 (ja) * | 2013-09-06 | 2015-03-12 | 三菱電機株式会社 | 動画像符号化装置、動画像トランスコード装置、動画像符号化方法、動画像トランスコード方法及び動画像ストリーム伝送システム |
-
2015
- 2015-03-26 CN CN201510137157.3A patent/CN106162167B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217663A (zh) * | 2008-01-09 | 2008-07-09 | 上海华平信息技术股份有限公司 | 用于编码器的图像像素块编码模式的快速选择方法 |
CN102387356A (zh) * | 2010-09-06 | 2012-03-21 | 索尼公司 | 图像处理设备和方法 |
WO2015034061A1 (ja) * | 2013-09-06 | 2015-03-12 | 三菱電機株式会社 | 動画像符号化装置、動画像トランスコード装置、動画像符号化方法、動画像トランスコード方法及び動画像ストリーム伝送システム |
CN103517069A (zh) * | 2013-09-25 | 2014-01-15 | 北京航空航天大学 | 一种基于纹理分析的hevc帧内预测快速模式选择方法 |
Non-Patent Citations (1)
Title |
---|
Fast transrating for high efficiency video coding based on machine learning;Yun Zhang,Sam Kwong,Xu Wang,Hui Yuan,Zhaoqing Pan;《2013 IEEE International Conference on Image Processing》;20140213;第26卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106162167A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106162167B (zh) | 基于学习的高效视频编码方法 | |
CN105306947B (zh) | 基于机器学习的视频转码方法 | |
CN103873861B (zh) | 一种用于hevc的编码模式选择方法 | |
Jin et al. | CNN oriented fast QTBT partition algorithm for JVET intra coding | |
CN106454342B (zh) | 一种视频压缩编码的帧间模式快速选择方法及*** | |
CN104378643B (zh) | 一种3d视频深度图像帧内预测模式选择方法及*** | |
CN106131546B (zh) | 一种提前确定hevc合并和跳过编码模式的方法 | |
CN110198444A (zh) | 视频帧编码方法、视频帧编码设备及具有存储功能的装置 | |
CN111654698B (zh) | 一种针对h.266/vvc的快速cu分区决策方法 | |
CN108737841A (zh) | 编码单元深度确定方法及装置 | |
CN107371022A (zh) | 应用于hevc医学影像无损编码的帧间编码单元快速划分方法 | |
CN111355956A (zh) | 一种hevc帧内编码中基于深度学习的率失真优化快速决策***及其方法 | |
CN107852492A (zh) | 用于对图像进行编码和解码的方法和设备 | |
CN108769696A (zh) | 一种基于Fisher判别式的DVC-HEVC视频转码方法 | |
CN103313058B (zh) | 针对芯片实现的hevc视频编码多模块优化方法和*** | |
CN109040764A (zh) | 一种基于决策树的hevc屏幕内容帧内快速编码算法 | |
CN106937116A (zh) | 基于随机训练集自适应学习的低复杂度视频编码方法 | |
CN110049338A (zh) | 基于多层次分类的hevc快速帧间编码方法 | |
CN107690069B (zh) | 一种数据驱动的级联视频编码方法 | |
Chen et al. | A novel fast intra mode decision for versatile video coding | |
CN110213584A (zh) | 基于纹理复杂度的编码单元分类方法和编码单元分类设备 | |
CN108200431A (zh) | 一种视频编码码率控制帧层比特分配方法 | |
CN108989799A (zh) | 一种编码单元参考帧的选择方法、装置及电子设备 | |
CN103888770B (zh) | 一种基于数据挖掘的高效自适应的视频转码*** | |
CN109361920A (zh) | 一种面向多场景的自适应决策树选择的帧间快速预测算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |