CN105430407A - 应用于h.264到hevc转码的快速帧间模式决策方法 - Google Patents
应用于h.264到hevc转码的快速帧间模式决策方法 Download PDFInfo
- Publication number
- CN105430407A CN105430407A CN201510881394.0A CN201510881394A CN105430407A CN 105430407 A CN105430407 A CN 105430407A CN 201510881394 A CN201510881394 A CN 201510881394A CN 105430407 A CN105430407 A CN 105430407A
- Authority
- CN
- China
- Prior art keywords
- hevc
- macro block
- skip
- pattern
- inter
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
应用于H.264到HEVC转码的快速帧间模式决策方法。根据H.264码流信息以及HEVC帧间编码单元(Coding?Unit,CU)不同深度的预测模式信息,对于HEVC不同深度层次的CU采取不同的快速帧间模式决策方法。对于深度为0、1层的CU,使用分类器处理H.264码流解码得到的信息,并计算分别用于Skip模式判定和CU划分的决策阈值。首先根据Skip模式判定阈值对CU进行提前Skip模式判决,然后预测CU是否要向下一层子CU划分。该方法结合了CU划分分布的统计特征以及H.264的码流信息,可以提前地判定Skip模式,有效地预测CU的划分是否应当终止或者继续划分,从而对四叉树进行有效的剪枝和跳过不必要的编码分支。该方法可显著减少H.264到HEVC转码过程中帧间编码的计算复杂度。
Description
技术领域
本发明涉及视频数据的转码,具体地指一种基于Fisher线性分类器的H.264到HEVC转码方法,用于将H.264/AVC标准的视频数据转码为HEVC标准的视频数据。
背景技术
MPEG和ITU两大国际组织在2013年正式发布了HEVC新一代数字视频编解码标准,以适应高质量视频应用的发展。HEVC使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,有效地提高了视频编码效率。HEVC将宏块的大小从H.264的16×16扩展到了64×64,并采用了四叉树结构的图像划分方式,这种划分方式可以获得比H.264/AVC更好的压缩效率。同时,HEVC还采用了更加灵活的编码结构来提高编码效率,但由于需要对每一种尺寸的编码单元(CodingUnit,CU)、预测单元(PredictionUnit,PU)和变换单元(TransformUnit,TU)都要通过率失真优化(Rate-DistortionOptimization,RDO)计算得出最优的划分,使得编码器的计算复杂度大幅提升。目前网络上现存的大多数视频主要是基于H.264标准进行压缩编码的,为了减少视频传输的网络带宽及存储空间,需要将现存的H.264编码视频码流转换为HEVC视频码流,以进一步对视频进行压缩。由于HEVC采用了预测加变换的混合编码框架,其编码结构和H.264有部分相似性,如果能够利用H.264解码的码流信息来提前预测CU的划分方式,那么就可以对四叉树进行剪枝,略过一部分的RDO过程,这样可以有效地降低编码器的复杂度。
HEVC的测试软件(HEVCTestModel,HM)所采用的CU的大小为64×64、32×32、16×16和8×8,分别对应CU的深度层次为0、1、2、3。其中深度层次为0的CU记为LCU(LargestCodingUnit,LCU),深度层次为3的CU记为SCU(SmallestCodingUnit,SCU),而在H.264的测试软件(JointModel,JM)所采用的宏块大小为16×16和8×8。在HEVC帧间编码中,对于深度层次为0和1的CU,其大小并不存在于H.264的宏块结构中。而对于深度层次为2和3的CU,H.264拥有和HEVC一样的分块大小。因此对于这两类不同的深度层次,本发明将其分为两部分进行帧间模式决策加速,这样有助于进行码流信息的相关性映射。HM的编码器采用递归的方式对LCU进行划分,对于每一层的CU都要利用基于RDO的预测来决定PU和TU的划分,其中TU的划分也采用了四叉树的划分方式,在帧间编码中,它允许变换块的大小根据运动补偿块的大小进行自适应的调整。
为了减少递归划分所带来的多余的计算,现有的一些方案针对CU的划分进行了一系列的优化:例如
文献1(参见蒋炜.H.264到HEVC视频转码技术研究[D].浙江大学,2013.)提出了基于统计分析和基于区域特征分析的快速帧间转码算法。该文献首先根据HEVC码流中Skip模式与H.264码流中各种模式的统计映射关系对Skip模式进行提前判决,然后利用预测单元对应编码区域内宏块编码比特数的统计特性,对其分割模式进行了快速选择;基于区域特征分析则利用了了编码比特数和编码复杂度之间的关系,通过比较平均编码比特数和分割阈值来确定重编码的复杂度,该研究对于Skip模式的提前判定使用了统计分析的方法,因此基于部分序列统计结果设定的阈值通用性有一定的限制。
文献2(参见PeixotoE,MacchiavelloB,deQueirozR,etal.FastH.264/AVCtoHEVCtranscodingbasedonmachinelearning[C]//TelecommunicationsSymposium(ITS),2014International.IEEE,2014:1-4.)统计了码流信息的相关性,引入了线性判别函数(LinearDiscriminantFunction,LDF),在HEVC重编码阶段利用码流信息作为特征,选取视频的一小段组成训练样本集,根据LDF来计算后续视频帧CU划分的判定阈值,在预测模式搜索过程之前直接判定CU是否进行划分,加速模式决策。由于Skip模式在CU不划分的最优模式中比例较高,该方法未充分考虑与Skip相关特征的选取,因此BD-rate上升的幅度较大。
发明内容
本发明的目的在于提供一种H.264到HEVC转码的快速帧间模式决策方法。
首先对HEVC中深度为0和1的CU的预测模式分布情况进行统计,判断对模式决策优化的可行性。通过统计分析,当QP为22时,对于运动比较平缓的视频序列,深度为0时CU最优模式为Skip模式的比例在25%~45%,深度为1时CU最优模式为Skip模式的比例在30%~50%。而对于运动比较剧烈的视频序列,CU最优模式为Skip模式的比例则只有20%左右。随着量化参数(QuantizationParameter,QP)的增大,视频编码的细节处理也随之变的粗糙,Skip模式被决定为最优模式的比例不断增加,在QP为37时运动平缓的视频中,Skip模式的比例都在70%以上。因此在CU深度为0和1时,首先提前判断该CU是否为Skip模式,然后对CU的继续划分进行预测,而在CU深度为2和3时,则根据码流信息进行模式映射,减少模式搜索范围。
为达到上述目的,本发明的给出的技术方案概括为:首先使用JM解码器对原始码流进行解码,在解码过程中提取后续转码所需的码流信息,并得到解码后视频序列。在HEVC重编码时使用Fisher分类器进行在线学习,计算出一定数量帧的Skip以及CU划分的权值向量和阈值,并根据编码进度进行更新。对于深度为0和1的CU,分别对Skip和CU划分进行测试,如果测试结果大于计算得到的阈值,则当前深度的CU被直接判定为Skip模式或是直接划分到下一层的子CU。对于深度为2和3的CU,提取H.264码流信息中的划分模式,根据H.264对应宏块的划分模式来减少HEVC重编码过程中的模式搜索范围。
具体说,本发明技术方案包括以下步骤:
步骤S1:基于H.264通用的测试平台JM,对输入码流进行解码,提取所需码流信息,同时得到解码后的视频序列。具体提取的码流信息在下面列出,以下特征值计算中出现的n为HEVC当前层CU包含H.264对应宏块个数。
步骤S1.1对于Skip模式提前判定选取如下特征:
a)HEVC与H.264对应的Skip和Inter16×16模式个数。根据对应宏块对其进行累计:
其中Skipi为对应的第i个宏块是否为Skip或Inter16×16模式,表示如下:
b)HEVC与H.264对应的帧内(Intra)模式个数。该部分模式包括所有帧内划分模式,根据对应宏块对其进行累计:
其中Intrai为对应的第i个宏块是否为Intra模式,表示如下:
c)HEVC与H.264对应的帧间(Inter)16×16大小模式个数。该部分模式包括Inter(16×8,8×16),根据对应宏块对其进行累计:
其中Inter0i为对应的第i个宏块是否为第一类Inter模式(16×8,8×16),表示如下:
d)HEVC与H.264对应的帧间8×8大小模式个数。该部分模式包括Inter(8×8,8×4,4×8,4×4),根据对应宏块对其进行累计:
其中Inter1i为对应的第i个宏块是否为第二类Inter模式(8×8,8×4,4×8,4×4),表示如下:
e)HEVC与H.264对应的宏块运动矢量残差(MotionVectorDifference,MVD)的方差。在最优模式被判定为Skip模式时,MVD为0,因此在Skip提前判定中对其求方差来确定其离散程度:
Fmvd=D(MVDx)+D(MVDy)
其中D(MVDx)和D(MVDy)是MVD的x轴方向和y轴方向分量的方差;
f)HEVC与H.264对应的宏块残差系数为0的个数。当残差系数为0时可以在一定程度上反映Skip模式,该特征累计残差系数为0的宏块个数:
其中Resi为对应的第i个宏块的残差是否为0,表示如下:
g)HEVC中CU对应的H.264所有宏块的平均编码比特数;
其中Biti为对应的第i个宏块的编码比特数。
步骤S1.2对于判定CU划分选取如下特征:
a)HEVC与H.264对应的宏块是否存在Skip或Inter16×16模式。遍历所有对应的宏块对其进行存在判定:
其中Skipi计算方法同步骤S1.1中的a);
b)HEVC与H.264对应宏块是否存在帧内预测模式。该部分模式包括所有帧内划分模式,遍历对应宏块对其进行存在判定:
其中Intrai计算方法同1.1中的b;
c)HEVC与H.264对应宏块是否存在帧间16×16大小的模式。该部分模式包括Inter(16×8,8×16),遍历对应宏块对其进行存在判定:
其中Inter0i计算方法同步骤S1.1中的c);
d)HEVC与H.264对应宏块是否存在帧间8×8大小的模式。该部分模式包括Inter(8×8,8×4,4×8,4×4),遍历对应宏块对其进行存在判定:
其中Inter1i计算方法同步骤S1.1中的d);
e)HEVC与H.264对应宏块的运动矢量(MotionVector,MV)的方差。MV可以在一定程度上表现出当前宏块的运动情况,由于HEVC的CU包含多个宏块,因此需要对MV求方差来确定其离散程度:
Fmv=D(MVx)+D(MVy)
其中D(MVx)和D(MVy)是MV的x和y分量的方差;
f)HEVC与H.264对应宏块运动矢量残差的方差。MVD在CU划分中可以对MV起到辅助作用,计算方法同步骤S1.1中的e);
g)HEVC与H.264对应宏块非零DCT系数的数量。DCT的低频系数代表了图像的背景、轮廓,而DCT的高频系数则代表了图像的边缘和细节信息,需累计非零DCT系数的个数:
其中DCTi为对应的第i个宏块的残差是否不为0,表示如下:
h)HEVC与H.264对应宏块cbp系数为0的数量。cbp描述了亮度信号Y和色度信号U、V分量的残差系数的编码状态,可以指导宏块的编码情况,并且与Skip模式有一定的相关性,当cbp为0时宏块几乎不继续划分,该特征需累计cbp系数为0的个数:
其中cbpi为对应的第i个宏块的cbp系数是否为0,表示如下:
对于上述所有特征,MV和MVD基于4×4大小宏块进行提取,其余特征对应的码流信息则按照16×16大小宏块进行提取。除去上述两种判定所用特征中的a、b、c、d以及步骤S1.2中的g),余下的特征都需要统计两类:1.当前层CU的统计结果;2.子层的4个CU的统计结果中最大值所在CU与其对角CU的统计结果差值。
步骤S2:设定HM编码配置文件中的IntraPeriod,在对每个IntraPeriod周期中的视频帧进行转码时,选取该IntraPeriod中前面的部分帧作为训练帧,余下的帧作为测试帧进行加速转码,在进行加速转码时以IntraPeriod为周期进行分类阈值的更新。
步骤S3:在训练帧中根据编码结果处理码流信息后进行归类,按照深度0或1各构建4类训练样本集,分为Skip、Non-Skip、Split、Non-Split,其中Skip和Non-Skip用于Skip提前判定,Split和Non-Split用于CU划分判定。在当前IntraPeriod中的训练样本集构建完成之后,对每两类训练样本集C1和C2(Skip64和Non-Skip64,Skip32和Non-Skip32,Non-Split64和Split64,Non-Split32和Split32,共计四组)使用Fisher分类器计算权值向量(和),然后根据权值向量计算原始阈值Thorig(ThorigSkip64、ThorigSkip32、ThorigSplit64、ThorigSplit32)。在两类样本数据量相差过大时,由分类阈值取值不当而引起的不利效果会很明显,因此需要对原始阈值Thorig进行偏移得到最终阈值Th(ThSkip64、ThSkip32、ThSplit64和ThSplit32):
其中k的值由以下公式求得:
其中m的值根据Thorig小数点后第二个不为0的位进行设置,以Thorig=0.000742为例,m=5。
步骤S4:在测试帧中处理码流信息后构建测试样本集XTest,如果当前CU的深度为0或1,判断是否大于ThSkip。如果大于的话,当前CU直接选择Skip模式为最优模式。否则,继续进行CU划分判定,判断是否大于ThSplit,如果大于的话直接划分到下一层子CU,否则该CU进行当前层的模式搜索,若当前层最佳预测模式为Intra模式则继续划分,否则CU划分终止。
步骤S5:在测试帧中,如果当前CU的深度为2或3,提取H.264对应宏块的预测模式信息,以H.264划分结果来缩小模式搜索范围,根据映射得到的划分模式,对该模式、AMP划分模式以及更大划分模式进行搜索。
本发明的以上技术方案为实现发明任务体现出的贡献性的关键技术要点体现在以下:
(1)、本发明对不同深度的CU采取了对应的预测方式以保证预测的正确率,并将码流信息进行处理,作为特征使用Fisher分类器进行分类判定。首先根据Skip模式的分布特点,对深度为0和1的CU进行提前Skip检测。然后对判定为非Skip模式的CU进行划分判断,省去了大量的RDO计算,有效的对CU的四叉树进行剪枝。
(2)、本发明考虑了视频图像的场景变换,设置IntraPeriod来确定分类阈值的有效性,对其进行实时的更新,确保分类结果的准确性。考虑到不同QP下的图像细节变化,根据分类时样本个数的不同进行相应的阈值偏移。
由于采用上述技术方案,本发明具有以下有益效果:本发明综合利用了转码中原始码流的可用信息,可以有效地提前判定Skip模式,并预测CU是否进行划分。因此可以在保证图像质量的情况下,显著提高H.264到HEVC帧间转码效率。
附图说明
图1是本发明实例测试HEVC码流中当前深度预测单元最佳模式为Skip模式时不同QP下深度0和1的分布比例。
图2是本发明H.264到HEVC的快速转码框图。
图3是本发明H.264到HEVC的快速转码模式决策流程图。
具体实施方式
本发明根据H.264码流信息以及HEVC帧间编码单元(CodingUnit,CU)不同深度的预测模式信息,对于HEVC不同深度层次的CU采取不同的快速帧间模式决策方法。对于深度为0、1层的CU,使用分类器处理H.264码流解码得到的信息,并计算分别用于Skip模式判定和CU划分的决策阈值。首先根据Skip模式判定阈值对CU进行提前Skip模式判决,然后预测CU是否要向下一层子CU划分。对于深度为2、3层的CU根据H.264的码流信息进行映射,确定模式搜索的范围。对于深度为0和1层的CU,如果在提前Skip模式判决中判定为Skip模式,则当前CU其他的模式搜索过程将被跳过。如果判定不为Skip模式,则进行当前CU划分判定,若结果大于分类器计算得到的阈值,说明当前编码的CU需要继续划分。对于这样的CU,当前层的模式搜索过程将被跳过,直接划分到下一层。对于深度为2和3层的CU,基于H.264对应宏块的模式,增加与其对应的非对称划分(AsymmetricMotionPartition,AMP)和Merge模式的预测。该方法结合了CU划分分布的统计特征以及H.264的码流信息,可以提前地判定Skip模式,有效地预测CU的划分是否应当终止或者继续划分,从而对四叉树进行有效的剪枝和跳过不必要的编码分支。该方法可显著减少H.264到HEVC转码过程中帧间编码的计算复杂度。
以下结合附图所示实施例对本发明作进一步的说明。
实施例1
首先对HEVC中深度为0和1的CU的预测模式分布情况进行统计,判断对模式决策优化的可行性。如图1所示,通过统计分析,当QP为22时,对于运动比较平缓的视频序列,深度为0时CU最优模式为Skip模式的比例在25%~45%,深度为1时CU最优模式为Skip模式的比例在30%~50%。而对于运动比较剧烈的视频序列,CU最优模式为Skip模式的比例则只有20%左右。随着量化参数(QuantizationParameter,QP)的增大,视频编码的细节处理也随之变的粗糙,Skip模式被决定为最优模式的比例不断增加,在QP为37时运动平缓的视频中,Skip模式的比例都在70%以上。因此在CU深度为0和1时,首先提前判断该CU是否为Skip模式,然后对CU的继续划分进行预测,而在CU深度为2和3时,则根据码流信息进行模式映射,减少模式搜索范围。
如图2、图3所示,具体实施方法过程为:步骤1:基于H.264通用的测试平台JM,对输入码流进行解码,提取所需码流信息,将结果保存到文本中,同时得到解码后的视频序列。具体提取的码流信息在下面列出,以下特征值计算中出现的n为HEVC当前层CU包含H.264对应宏块个数。
步骤1.1:对于Skip模式提前判定选取了如下特征:
a)HEVC与H.264对应的Skip和Inter16×16模式个数。根据对应宏块对其进行累计:
Fmode1=Σi∈nSkipi(1)
其中Skipi为对应的第i个宏块是否为Skip或Inter16×16模式,表示如下:
b)HEVC与H.264对应的帧内模式个数。该部分模式包括所有帧内划分模式,根据对应宏块对其进行累计:
Fmode2=Σi∈nIntrai(3)
其中Intrai为对应的第i个宏块是否为Intra模式,表示如下:
c)HEVC与H.264对应的帧间16×16大小模式个数。该部分模式包括Inter(16×8,8×16),根据对应宏块对其进行累计:
Fmode3=Σi∈nInter0i(5)
其中Inter0i为对应的第i个宏块是否为第一类Inter模式(16×8,8×16),表示如下:
d)HEVC与H.264对应的帧间8×8大小模式个数。该部分模式包括Inter(8×8,8×4,4×8,4×4),根据对应宏块对其进行累计:
Fmode4=Σi∈nInter1i(7)
其中Inter1i为对应的第i个宏块是否为第二类Inter模式(8×8,8×4,4×8,4×4),表示如下:
e)HEVC与H.264对应的宏块运动矢量残差MVD的方差:
Fmvd=D(MVDx)+D(MVDy)(9)
其中D(MVDx)和D(MVDy)是MVD的x轴方向和y轴方向分量的方差;
f)HEVC与H.264对应的宏块残差系数为0的个数:
FRes=Σi∈nResi(10)
其中Resi为对应的第i个宏块的残差是否为0,表示如下:
g)HEVC中CU对应的H.264所有宏块的平均编码比特数:
其中Biti为对应的第i个宏块的编码比特数。
步骤1.2:对于判定CU划分选取了如下特征:
a)HEVC与H.264对应的宏块是否存在Skip或Inter16×16模式。遍历所有对应的宏块对其进行存在判定:
其中Skipi根据公式(2)计算;
b)HEVC与H.264对应宏块是否存在帧内预测模式。该部分模式包括所有帧内划分模式,遍历对应宏块对其进行存在判定:
其中Intrai根据公式(4)计算;
c)HEVC与H.264对应宏块是否存在帧间16×16大小的模式。该部分模式包括Inter(16×8,8×16),遍历对应宏块对其进行存在判定:
其中Inter0i根据公式(6)计算;
d)HEVC与H.264对应宏块是否存在帧间8×8大小的模式。该部分模式包括Inter(8×8,8×4,4×8,4×4),遍历对应宏块对其进行存在判定:
其中Inter1i根据公式(8)计算;
e)HEVC与H.264对应宏块的运动矢量MV的方差:
Fmv=D(MVx)+D(MVy)(17)
其中D(MVx)和D(MVy)是MV的x和y分量的方差;
f)HEVC与H.264对应宏块运动矢量残差的方差,根据公式(9)计算;
g)HEVC与H.264对应宏块非零DCT系数的数量:
FDCT=Σi∈nDCTi(18)
其中DCTi为对应的第i个宏块的残差是否不为0,表示如下:
h)HEVC与H.264对应宏块cbp系数为0的数量:
Fcbp=Σi∈ncbpi(20)
其中cbpi为对应的第i个宏块的cbp系数是否为0,表示如下:
对于上述所有特征,MV和MVD基于4×4大小宏块进行提取,其余特征对应的码流信息则按照16×16大小宏块进行提取。除去上述两种判定所用特征中的a、b、c、d,余下的特征都需要统计两类:1.当前层CU的统计结果;2.子层的4个CU的统计结果中最大值所在CU与其对角CU的统计结果差值。
步骤2:根据选取的视频序列,此处以标准测试序列BQTerrace为例,设定HM编码配置文件中的IntraPeriod为32,在对每个IntraPeriod周期中的视频帧进行转码时,选取该IntraPeriod周期内的第2~12帧作为训练帧,余下的13~32帧作为测试帧,在进行加速转码时以IntraPeriod为周期进行分类阈值的更新。
步骤3:基于HEVC通用的测试平台HM,对JM解码后的视频序列进行重编码,在对每一帧进行编码前判断当前帧的POC,若POC与32求余结果为0,则按照HM原有流程进行编码,并初始化训练样本集,若POC与32求余结果落在区间1~11,则转步骤3。否则转步骤4。
步骤4:在训练帧中根据编码结果处理码流信息后进行归类,按照深度0或1各构建4类训练样本集,分为Skip、Non-Skip、Split、Non-Split,其中Skip和Non-Skip用于Skip提前判定,Split和Non-Split用于CU划分判定。
步骤4.1:在当前IntraPeriod中的训练样本集构建完成之后对每两类训练样本集C1和C2(Skip64和Non-Skip64,Skip32和Non-Skip32,Non-Split64和Split64,Non-Split32和Split32,共计四组)使用Fisher分类器首先求取两类的类内离散度矩阵Sw1和Sw2:
其中n1和n2为两类的样本数目,和为两类的均值列向量,按照公式(24)和(25)计算:
其中d为类的样本维数;
步骤4.2:在求得类内离散度矩阵之后按公式(26)计算最佳投影方向,得到权值向量(和):
其中Inv()是矩阵求逆,Sw为总类内离散度矩阵,Sw=Sw1+Sw2;
步骤4.3:根据以上步骤获得的权值向量按照公式(27)计算原始阈值
其中是权值向量的转置;
步骤4.4:当两类样本数据量相差过大时,由分类阈值取值不当而引起的不利效果会很明显,因此按公式(28)对原始阈值Thorig进行偏移得到最终阈值Th(ThSkip64、ThSkip32、ThSplit64和ThSplit32):
其中k的值则由n1和n2的比例决定,具体参照公式(29):
其中m的值根据Thorig小数点后第二个不为0的位进行设置,以Thorig=0.000742为例,m=5。
步骤5:递归编码LCU的各个子CU,对于一个编码单元,判断其深度。如果深度为0,转步骤6。如果深度为1,转步骤7。否则转步骤8。
步骤6:在测试帧中处理码流信息后构建测试样本集XTest1和XTest2,当前CU的深度为0,判断是否大于ThSkip64。如果大于的话,当前CU直接选择Skip模式为最优模式。否则,继续进行CU划分判定,判断是否大于ThSplit64,如果大于的话直接划分到下一层子CU,不对当前层CU进行模式预测搜索过程,否则该CU进行当前层基于RDO的模式预测搜索后,若当前层最佳预测模式为Intra模式则继续划分,否则CU划分终止。
步骤7:在测试帧中处理码流信息后构建测试样本集XTest3和XTest4,当前CU的深度为1,判断是否大于ThSkip32。如果大于的话,当前CU直接选择Skip模式为最优模式。否则,继续进行CU划分判定,判断是否大于ThSplit32,如果大于的话直接划分到下一层子CU,不对当前层CU进行模式预测搜索过程,否则该CU进行当前层基于RDO的模式预测搜索,根据公式(3)得到的结果,当Fmode2<7则不进行Intra模式预测,若当前层最佳预测模式为Intra模式则继续划分,否则CU划分终止。步骤8:对于深度为2和3的CU,提取H.264对应宏块的预测模式信息,以H.264划分结果来缩小模式搜索范围,根据映射得到的划分模式,对该模式以及更大划分模式进行搜索,包括对应的AMP模式,Merge2N×2N(Skip)和Inter2N×2N。
Claims (2)
1.一种应用于H.264到HEVC转码的快速帧间模式决策方法,其特征在于,首先使用JM解码器对原始码流进行解码,在解码过程中提取后续转码所需的码流信息,并得到解码后视频序列;在HEVC重编码时使用Fisher分类器进行在线学习,计算出一定数量帧的Skip以及CU划分的权值向量和阈值,并根据编码进度进行更新。对于深度为0和1的CU,分别对Skip和CU划分进行测试,如果测试结果大于计算得到的阈值,则当前深度的CU被直接判定为Skip模式或是直接划分到下一层的子CU;对于深度为2和3的CU,提取H.264码流信息中的划分模式,根据H.264对应宏块的划分模式来减少HEVC重编码过程中的模式搜索范围。
2.如权利要求1所述的应用于H.264到HEVC转码的快速帧间模式决策方法,其特征在于,包括以下步骤:
步骤S1:基于H.264通用的测试平台JM,对输入码流进行解码,提取所需码流信息,同时得到解码后的视频序列;具体提取的码流信息在下面列出,以下特征值计算中出现的n为HEVC当前层CU包含H.264对应宏块个数;
步骤S1.1对于Skip模式提前判定选取如下特征:
a)HEVC与H.264对应的Skip和Inter16×16模式个数;根据对应宏块对其进行累计:
其中Skipi为对应的第i个宏块是否为Skip或Inter16×16模式,表示如下:
b)HEVC与H.264对应的帧内(Intra)模式个数;该部分模式包括所有帧内划分模式,根据对应宏块对其进行累计:
其中Intrai为对应的第i个宏块是否为Intra模式,表示如下:
c)HEVC与H.264对应的帧间(Inter)16×16大小模式个数;该部分模式包括Inter(16×8,8×16),根据对应宏块对其进行累计:
其中Inter0i为对应的第i个宏块是否为第一类Inter模式(16×8,8×16),表示如下:
d)HEVC与H.264对应的帧间8×8大小模式个数;该部分模式包括Inter(8×8,8×4,4×8,4×4),根据对应宏块对其进行累计:
其中Inter1i为对应的第i个宏块是否为第二类Inter模式(8×8,8×4,4×8,4×4),表示如下:
e)HEVC与H.264对应的宏块运动矢量残差(MotionVectorDifference,MVD)的方差;在最优模式被判定为Skip模式时,MVD为0,因此在Skip提前判定中对其求方差来确定其离散程度:
Fmvd=D(MVDx)+D(MVDy)
其中D(MVDx)和D(MVDy)是MVD的x轴方向和y轴方向分量的方差;
f)HEVC与H.264对应的宏块残差系数为0的个数;当残差系数为0时可以在一定程度上反映Skip模式,该特征累计残差系数为0的宏块个数:
其中Resi为对应的第i个宏块的残差是否为0,表示如下:
g)HEVC中CU对应的H.264所有宏块的平均编码比特数;
其中Biti为对应的第i个宏块的编码比特数;
步骤S1.2对于判定CU划分选取如下特征:
a)HEVC与H.264对应的宏块是否存在Skip或Inter16×16模式;遍历所有对应的宏块对其进行存在判定:
其中Skipi计算方法同步骤S1.1中的a);
b)HEVC与H.264对应宏块是否存在帧内预测模式;该部分模式包括所有帧内划分模式,遍历对应宏块对其进行存在判定:
其中Intrai计算方法同1.1中的b;
c)HEVC与H.264对应宏块是否存在帧间16×16大小的模式;该部分模式包括Inter(16×8,8×16),遍历对应宏块对其进行存在判定:
其中Inter0i计算方法同步骤S1.1中的c);
d)HEVC与H.264对应宏块是否存在帧间8×8大小的模式;该部分模式包括Inter(8×8,8×4,4×8,4×4),遍历对应宏块对其进行存在判定:
其中Inter1i计算方法同步骤S1.1中的d);
e)HEVC与H.264对应宏块的运动矢量(MotionVector,MV)的方差;MV可以在一定程度上表现出当前宏块的运动情况,由于HEVC的CU包含多个宏块,因此需要对MV求方差来确定其离散程度:
Fmv=D(MVx)+D(MVy)
其中D(MVx)和D(MVy)是MV的x和y分量的方差;
f)HEVC与H.264对应宏块运动矢量残差的方差;MVD在CU划分中可以对MV起到辅助作用,计算方法同步骤S1.1中的e);
g)HEVC与H.264对应宏块非零DCT系数的数量;DCT的低频系数代表了图像的背景、轮廓,而DCT的高频系数则代表了图像的边缘和细节信息,需累计非零DCT系数的个数:
其中DCTi为对应的第i个宏块的残差是否不为0,表示如下:
h)HEVC与H.264对应宏块cbp系数为0的数量;cbp描述了亮度信号Y和色度信号U、V分量的残差系数的编码状态,可以指导宏块的编码情况,并且与Skip模式有一定的相关性,当cbp为0时宏块几乎不继续划分,该特征需累计cbp系数为0的个数:
其中cbpi为对应的第i个宏块的cbp系数是否为0,表示如下:
对于上述所有特征,MV和MVD基于4×4大小宏块进行提取,其余特征对应的码流信息则按照16×16大小宏块进行提取;除去上述两种判定所用特征中的a、b、c、d以及步骤S1.2中的g),余下的特征都需要统计两类:1.当前层CU的统计结果;2.子层的4个CU的统计结果中最大值所在CU与其对角CU的统计结果差值;
步骤S2:设定HM编码配置文件中的IntraPeriod,在对每个IntraPeriod周期中的视频帧进行转码时,选取该IntraPeriod中前面的部分帧作为训练帧,余下的帧作为测试帧进行加速转码,在进行加速转码时以IntraPeriod为周期进行分类阈值的更新;
步骤S3:在训练帧中根据编码结果处理码流信息后进行归类,按照深度0或1各构建4类训练样本集,分为Skip、Non-Skip、Split、Non-Split,其中Skip和Non-Skip用于Skip提前判定,Split和Non-Split用于CU划分判定;在当前IntraPeriod中的训练样本集构建完成之后,对每两类训练样本集C1和C2(Skip64和Non-Skip64,Skip32和Non-Skip32,Non-Split64和Split64,Non-Split32和Split32,共计四组)使用Fisher分类器计算权值向量然后根据权值向量计算原始阈值Thorig(ThorigSkip64、ThorigSkip32、ThorigSplit64、ThorigSplit32);在两类样本数据量相差过大时,由分类阈值取值不当而引起的不利效果会很明显,因此需要对原始阈值Thorig进行偏移得到最终阈值Th(ThSkip64、ThSkip32、ThSplit64和ThSplit32):
其中k的值由以下公式求得:
其中m的值根据Thorig小数点后第二个不为0的位进行设置,以Thorig=0.000742为例,m=5;
步骤S4:在测试帧中处理码流信息后构建测试样本集XTest,如果当前CU的深度为0或1,判断是否大于ThSkip;如果大于的话,当前CU直接选择Skip模式为最优模式;否则,继续进行CU划分判定,判断是否大于ThSplit,如果大于的话直接划分到下一层子CU,否则该CU进行当前层的模式搜索,若当前层最佳预测模式为Intra模式则继续划分,否则CU划分终止;
步骤S5:在测试帧中,如果当前CU的深度为2或3,提取H.264对应宏块的预测模式信息,以H.264划分结果来缩小模式搜索范围,根据映射得到的划分模式,对该模式、AMP划分模式以及更大划分模式进行搜索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510881394.0A CN105430407B (zh) | 2015-12-03 | 2015-12-03 | 应用于h.264到hevc转码的快速帧间模式决策方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510881394.0A CN105430407B (zh) | 2015-12-03 | 2015-12-03 | 应用于h.264到hevc转码的快速帧间模式决策方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430407A true CN105430407A (zh) | 2016-03-23 |
CN105430407B CN105430407B (zh) | 2018-06-05 |
Family
ID=55508295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510881394.0A Expired - Fee Related CN105430407B (zh) | 2015-12-03 | 2015-12-03 | 应用于h.264到hevc转码的快速帧间模式决策方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105430407B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681808A (zh) * | 2016-03-16 | 2016-06-15 | 同济大学 | 一种scc帧间编码单元模式的快速决策方法 |
CN106210721A (zh) * | 2016-07-05 | 2016-12-07 | 中南大学 | 一种hevc快速码率转码方法 |
CN106454342A (zh) * | 2016-09-07 | 2017-02-22 | 中山大学 | 一种视频压缩编码的帧间模式快速选择方法及系统 |
CN106888379A (zh) * | 2017-01-13 | 2017-06-23 | 同济大学 | 应用于h.264到hevc的帧间快速视频转码方法 |
CN107018412A (zh) * | 2017-04-20 | 2017-08-04 | 四川大学 | 一种基于关键帧编码单元划分模式的dvc‑hevc视频转码方法 |
CN107197251A (zh) * | 2017-06-27 | 2017-09-22 | 中南大学 | 一种新视频编码标准的基于分层b帧的帧间模式快速选择方法及装置 |
CN107404648A (zh) * | 2017-08-24 | 2017-11-28 | 中南大学 | 一种基于hevc的视频多路转码方法 |
CN107454425A (zh) * | 2017-08-26 | 2017-12-08 | 同济大学 | 一种scc帧内编码单元候选预测模式缩减方法 |
CN108259918A (zh) * | 2016-12-29 | 2018-07-06 | 北京金山云网络技术有限公司 | 一种编码单元模式决策方法及装置 |
CN108702505A (zh) * | 2017-12-14 | 2018-10-23 | 北京金山云网络技术有限公司 | 一种编码单元划分决策方法、装置、编码器及存储介质 |
CN108737841A (zh) * | 2017-04-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
CN108769696A (zh) * | 2018-06-06 | 2018-11-06 | 四川大学 | 一种基于Fisher判别式的DVC-HEVC视频转码方法 |
CN109274965A (zh) * | 2018-11-27 | 2019-01-25 | 广东工业大学 | Hevc中基于像素值统计特性的快速预测模式选择方法 |
CN109688414A (zh) * | 2018-12-19 | 2019-04-26 | 同济大学 | 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法 |
CN109862354A (zh) * | 2019-02-18 | 2019-06-07 | 南京邮电大学 | 一种基于残差分布的hevc快速帧间深度划分方法 |
CN111279698A (zh) * | 2017-10-27 | 2020-06-12 | 华为技术有限公司 | 图像编码的非对称划分装置和方法 |
CN111432221A (zh) * | 2020-03-31 | 2020-07-17 | 华侨大学 | 一种基于信息复用的hevc多描述视频编码 |
WO2020227911A1 (zh) * | 2019-05-10 | 2020-11-19 | 上海德衡数据科技有限公司 | 一种hevc视频序列编解码加速方法 |
CN112422973A (zh) * | 2020-10-28 | 2021-02-26 | 西安万像电子科技有限公司 | 编码方法及装置 |
CN114449278A (zh) * | 2020-11-06 | 2022-05-06 | 北京大学 | 基于信息重用的任意比率下采样转码方法和装置 |
CN114710666A (zh) * | 2022-06-01 | 2022-07-05 | 深圳比特微电子科技有限公司 | 一种编码模式的选择方法、装置 |
WO2023024115A1 (zh) * | 2021-08-27 | 2023-03-02 | Oppo广东移动通信有限公司 | 编码方法、解码方法、编码器、解码器和解码系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120106622A1 (en) * | 2010-11-03 | 2012-05-03 | Mediatek Inc. | Method and Apparatus of Slice Grouping for High Efficiency Video Coding |
US20130034150A1 (en) * | 2011-08-05 | 2013-02-07 | Texas Instruments Incorporated | Systems and methods for multimedia data encoding and decoding |
CN103475880A (zh) * | 2013-09-11 | 2013-12-25 | 浙江大学 | 一种基于统计分析的由h264到hevc低复杂度视频转码方法 |
CN103796023A (zh) * | 2014-03-05 | 2014-05-14 | 武汉拓宝电子系统有限公司 | 基于h.264/avc宏块结构及纹理的h.265/hevc转码方法及转码器 |
CN104394409A (zh) * | 2014-11-21 | 2015-03-04 | 西安电子科技大学 | 基于空域相关性的hevc预测模式快速选择方法 |
-
2015
- 2015-12-03 CN CN201510881394.0A patent/CN105430407B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120106622A1 (en) * | 2010-11-03 | 2012-05-03 | Mediatek Inc. | Method and Apparatus of Slice Grouping for High Efficiency Video Coding |
US20130034150A1 (en) * | 2011-08-05 | 2013-02-07 | Texas Instruments Incorporated | Systems and methods for multimedia data encoding and decoding |
CN103475880A (zh) * | 2013-09-11 | 2013-12-25 | 浙江大学 | 一种基于统计分析的由h264到hevc低复杂度视频转码方法 |
CN103796023A (zh) * | 2014-03-05 | 2014-05-14 | 武汉拓宝电子系统有限公司 | 基于h.264/avc宏块结构及纹理的h.265/hevc转码方法及转码器 |
CN104394409A (zh) * | 2014-11-21 | 2015-03-04 | 西安电子科技大学 | 基于空域相关性的hevc预测模式快速选择方法 |
Non-Patent Citations (1)
Title |
---|
蒋炜,田翔,陈耀武: "H.264到HEVC的低复杂度视频转码算法", 《浙江大学学报(工学版)》 * |
Cited By (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105681808A (zh) * | 2016-03-16 | 2016-06-15 | 同济大学 | 一种scc帧间编码单元模式的快速决策方法 |
CN106210721B (zh) * | 2016-07-05 | 2017-11-21 | 中南大学 | 一种hevc快速码率转码方法 |
CN106210721A (zh) * | 2016-07-05 | 2016-12-07 | 中南大学 | 一种hevc快速码率转码方法 |
CN106454342A (zh) * | 2016-09-07 | 2017-02-22 | 中山大学 | 一种视频压缩编码的帧间模式快速选择方法及系统 |
CN106454342B (zh) * | 2016-09-07 | 2019-06-25 | 中山大学 | 一种视频压缩编码的帧间模式快速选择方法及系统 |
CN108259918A (zh) * | 2016-12-29 | 2018-07-06 | 北京金山云网络技术有限公司 | 一种编码单元模式决策方法及装置 |
CN108259918B (zh) * | 2016-12-29 | 2020-12-25 | 北京金山云网络技术有限公司 | 一种编码单元模式决策方法及装置 |
CN106888379A (zh) * | 2017-01-13 | 2017-06-23 | 同济大学 | 应用于h.264到hevc的帧间快速视频转码方法 |
CN106888379B (zh) * | 2017-01-13 | 2019-07-05 | 同济大学 | 应用于h.264到hevc的帧间快速视频转码方法 |
CN107018412B (zh) * | 2017-04-20 | 2019-09-10 | 四川大学 | 一种基于关键帧编码单元划分模式的dvc-hevc视频转码方法 |
CN107018412A (zh) * | 2017-04-20 | 2017-08-04 | 四川大学 | 一种基于关键帧编码单元划分模式的dvc‑hevc视频转码方法 |
US10841583B2 (en) | 2017-04-21 | 2020-11-17 | Tencent Technology (Shenzhen) Company Limited | Coding unit depth determining method and apparatus |
CN108737841A (zh) * | 2017-04-21 | 2018-11-02 | 腾讯科技(深圳)有限公司 | 编码单元深度确定方法及装置 |
CN107197251B (zh) * | 2017-06-27 | 2019-08-13 | 中南大学 | 一种新视频编码标准的基于分层b帧的帧间模式快速选择方法及装置 |
CN107197251A (zh) * | 2017-06-27 | 2017-09-22 | 中南大学 | 一种新视频编码标准的基于分层b帧的帧间模式快速选择方法及装置 |
CN107404648B (zh) * | 2017-08-24 | 2019-12-03 | 中南大学 | 一种基于hevc的视频多路转码方法 |
CN107404648A (zh) * | 2017-08-24 | 2017-11-28 | 中南大学 | 一种基于hevc的视频多路转码方法 |
CN107454425B (zh) * | 2017-08-26 | 2019-10-18 | 同济大学 | 一种scc帧内编码单元候选预测模式缩减方法 |
CN107454425A (zh) * | 2017-08-26 | 2017-12-08 | 同济大学 | 一种scc帧内编码单元候选预测模式缩减方法 |
CN111279698B (zh) * | 2017-10-27 | 2022-08-19 | 华为技术有限公司 | 图像编码的非对称划分装置和方法 |
CN111279698A (zh) * | 2017-10-27 | 2020-06-12 | 华为技术有限公司 | 图像编码的非对称划分装置和方法 |
CN108702505A (zh) * | 2017-12-14 | 2018-10-23 | 北京金山云网络技术有限公司 | 一种编码单元划分决策方法、装置、编码器及存储介质 |
US11375192B2 (en) | 2017-12-14 | 2022-06-28 | Beijing Kingsoft Cloud Network Technology Co., Ltd. | Coding unit division decision method and device, encoder, and storage medium |
CN108769696A (zh) * | 2018-06-06 | 2018-11-06 | 四川大学 | 一种基于Fisher判别式的DVC-HEVC视频转码方法 |
CN109274965B (zh) * | 2018-11-27 | 2021-07-20 | 广东工业大学 | Hevc中基于像素值统计特性的快速预测模式选择方法 |
CN109274965A (zh) * | 2018-11-27 | 2019-01-25 | 广东工业大学 | Hevc中基于像素值统计特性的快速预测模式选择方法 |
CN109688414A (zh) * | 2018-12-19 | 2019-04-26 | 同济大学 | 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法 |
CN109862354A (zh) * | 2019-02-18 | 2019-06-07 | 南京邮电大学 | 一种基于残差分布的hevc快速帧间深度划分方法 |
CN109862354B (zh) * | 2019-02-18 | 2023-02-10 | 南京邮电大学 | 一种基于残差分布的hevc快速帧间深度划分方法 |
WO2020227911A1 (zh) * | 2019-05-10 | 2020-11-19 | 上海德衡数据科技有限公司 | 一种hevc视频序列编解码加速方法 |
US11212518B2 (en) | 2019-05-10 | 2021-12-28 | Shanghai Data Center Science Co., Ltd | Method for accelerating coding and decoding of an HEVC video sequence |
CN111432221A (zh) * | 2020-03-31 | 2020-07-17 | 华侨大学 | 一种基于信息复用的hevc多描述视频编码 |
CN112422973A (zh) * | 2020-10-28 | 2021-02-26 | 西安万像电子科技有限公司 | 编码方法及装置 |
CN114449278A (zh) * | 2020-11-06 | 2022-05-06 | 北京大学 | 基于信息重用的任意比率下采样转码方法和装置 |
CN114449278B (zh) * | 2020-11-06 | 2023-07-18 | 北京大学 | 基于信息重用的任意比率下采样转码方法和装置 |
WO2023024115A1 (zh) * | 2021-08-27 | 2023-03-02 | Oppo广东移动通信有限公司 | 编码方法、解码方法、编码器、解码器和解码系统 |
CN114710666A (zh) * | 2022-06-01 | 2022-07-05 | 深圳比特微电子科技有限公司 | 一种编码模式的选择方法、装置 |
CN114710666B (zh) * | 2022-06-01 | 2022-09-02 | 深圳比特微电子科技有限公司 | 一种编码模式的选择方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105430407B (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105430407A (zh) | 应用于h.264到hevc转码的快速帧间模式决策方法 | |
CN1130921C (zh) | 对视频信息预测编码的方法和装置 | |
CN103959794B (zh) | 基于约束偏移补偿和环路滤波来编码和解码图像的方法、及其设备 | |
TWI597969B (zh) | 視訊解碼裝置 | |
CN102187656B (zh) | 像素预测值生成顺序自动生成方法、图像编码方法、图像解码方法、其装置 | |
CN103546749B (zh) | 利用残差系数分布特征和贝叶斯定理优化hevc残差编码的方法 | |
US8285064B2 (en) | Method for processing images and the corresponding electronic device | |
JP5421757B2 (ja) | 画像符号化装置 | |
CN101009833A (zh) | 为可变块尺寸的运动估计确定编码模式的方法和设备 | |
KR20080090937A (ko) | 미분 방정식을 이용한 인트라 예측 부호화, 복호화 방법 및장치 | |
US20200053368A1 (en) | Method and apparatus for encoding a video | |
CN103533355B (zh) | 一种hevc快速编码方法 | |
JP2013518453A (ja) | 各色平面について別個のビデオ・エンコーダ、ビデオ・デコーダ、ビデオ・エンコード方法およびビデオ・デコード方法 | |
CN106888379B (zh) | 应用于h.264到hevc的帧间快速视频转码方法 | |
KR101033769B1 (ko) | 영상 데이터의 인트라 예측 모드 결정 방법 | |
CN104883566B (zh) | 一种适用于hevc标准的帧内预测块大小划分的快速算法 | |
CN104320657A (zh) | Hevc无损视频编码的预测模式选择方法及相应的编码方法 | |
CN101438597A (zh) | 图像数据压缩装置、压缩方法及程序、以及图像数据恢复装置、恢复方法及程序 | |
CN106791828A (zh) | 基于机器学习的高性能视频转码方法及其转码器 | |
CN109510987A (zh) | 编码树节点划分方式的确定方法、装置及编码设备 | |
CN105120262A (zh) | 图像解码装置 | |
CN103888763A (zh) | 一种基于hevc的帧内编码方法 | |
CN118741133A (zh) | 编码和解码图像 | |
JP4600997B2 (ja) | 符号化方式変換装置 | |
CN110290382A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180605 Termination date: 20201203 |