一种基于HEVC标准下提高视频转码速率的实现方法与流程

文档序号:12498262阅读:300来源:国知局
一种基于HEVC标准下提高视频转码速率的实现方法与流程

本发明涉及一种视频转码技术,特别是一种基于HEVC标准下提高视频转码速率的实现方法。



背景技术:

高效视频编码(High Efficiency Video Coding,HEVC)是由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)联合制定的新一代视频编码标准。作为H.264的继任者,HEVC克服了H.264的宏块机制在处理高清视频上的缺陷,它更适合处理高清视频,是未来很长一段时间内的主流编码标准,并将在视频电话、视频会议和网络流媒体视频点播方面有着广泛的应用前景。随着科学技术的进步,网络视频播放平台已经不局限于传统的个人计算机,手机、iPad等移动终端也占据很大的比重,同时受到不同场景下网络带宽的限制因素等等,导致了市场目前对视频转码的迫切需求。

一般来说,视频转码主要有:比特率转码、分辨率转码、视频编码格式转换等。针对比特率转码来说,国外对转码最早的研究就是从降低原始压缩码流的比特率开始,目的在不改变分辨率的基础上,拥有低复杂度和高质量输出的情况下降低码率。最直接的方法是像素域级联结构(CPDT),这个结构很简单,无错误传播,但是它的计算量十分复杂,很难实时转码,且运动重估计时会有信息丢失,视频质量也会随之下降。目前比特率转码的转码结构主要分为两大类:开环结构和闭环结构。开环转码不需要运动估计、DCT/IDCT变换,效率很高,但是存在误码扩散,其有效解决方法为采用帧内块刷新结构,增加编码宏块数量。闭环结构增加了算法复杂度以及存储,可以得到较为理想的图像质量。根据纹理数据处理方式,又可以分为:像素域级联转码和DCT域转码。像素域级联结构,它是部分解码和部分编码的组合,比较复杂,而像素域快速级联转码结构是通过对原始码流的预测残差作运动补偿得到的预测残差,DCT/IDCT运算能偶减少一半。而DCT域的转码结构(DDT)中,当运动矢量为0或8的倍数时,DCT域运动补偿不需要做任何运算。对于低速运动或静止的视频系列,DDT计算量更小,但由于一些其他因素导致该结构的应用也受到限制。本发明基于最新的视频压缩标准HEVC,主要针对上述降分辨率转码中的闭环结构进行速度优化。在将一个高比特率的输入视频流解码,之后利用更大的量化参数(QP)将重建序列重新编码成较低码率视频流的过程中,我们利用原始输入视频流中编码单元(CU)划分模式的信息,通过已经受到大量训练的朴素贝叶斯分类器,从而提前判断再次编码时编码单元(CU)的划分模式,减少RDcost的计算量,从而在保证视频质量的同时大大减少转码的时间。



技术实现要素:

本发明主要是在HEVC标准内,利用机器学习,通过原始码流信息和前一帧信息减少再编码时CU划分模式的判断,从而减少计算量,因此能够有效地提高视频转码的速度和效率。

一种基于HEVC标准下提高视频转码速率的实现方法,包括以下步骤:

步骤1,在将高比特率的原始视频流按照QP1解码成视频序列过程中提取原始视频流对应帧相关编码单元划分信息;

步骤2,在将解码后的视频序列按照QP2再编码成为低比特率的视频流过程中提取存储的时域前一帧编码后的相关编码单元划分信息;

步骤3,将步骤1和步骤2中获取的划分信息作为特征输入已经训练完毕的对应朴素贝叶斯分类器,获得训练结果;

步骤4,若训练结果为1,则对当前帧编码单元继续划分;若训练结果为0,当前帧编码单元停止划分;

其中,相关编码单元为对应帧中位置以及大小相同的编码单元;

其中,QP1<QP2

本发明与现有技术相比,具有以下优点:

(1)本发明利用了原始码流的先验信息,相比于其他只是在编码端判断CU划分的方法,更加快速和有效;

(2)本发明不仅利用原始码流信息,同时结合了时域相邻帧的CU划分信息,使得训练结果更加科学全面;

(3)本发明使用了朴素贝叶斯分类模型,模型直观简单,易于操作,同时效果也十分显著,可以对大量训练样本进行训练,从而比传统统计方法更加精确。

下面结合说明书附图对本发明作进一步描述。

附图说明

图1是HEVC全解全编转码流程图。

图2是本发明转码流程图。

图3 CU划分对应深度示意图。

图4分类器T0、T1、T2使用示意图。

图5是本发明的方法流程图。

具体实施方式

结合图5,一种基于HEVC标准下提高视频转码速率的实现方法,包括以下步骤:

步骤1,在将高比特率的原始视频流按照QP1解码成视频序列过程中提取原始视频流对应帧相关编码单元划分信息;

步骤2,在将解码后的视频序列按照QP2再编码成为低比特率的视频流过程中提取存储的时域前一帧编码后的相关编码单元划分信息;

步骤3,将步骤1和步骤2中获取的划分信息作为特征输入已经训练完毕的对应朴素贝叶斯分类器,获得训练结果;

步骤4,若训练结果为1,则对当前帧编码单元继续划分;若训练结果为0,当前帧编码单元停止划分;

其中,相关编码单元为对应帧中位置以及大小相同的编码单元;

其中,QP1<QP2

所述步骤1中提取原始码流对应帧相关编码单元(CU)划分信息,所述步骤2中提取存储的前一帧编码后的相关CU划分信息,将两个划分信息作为特征输入已经训练完毕的对应朴素贝叶斯分类器,得出类A,类B,根据分类进一步判断CU划分模式,从而减少再编码计算量,提高转码速度。

具体地,设ΔQP=QP2-QP1,表示视频原始码流量化参数为QP1,通过转码后的量化参数为QP2,且QP1<QP2,则量化参数变化量为ΔQP。针对此固定ΔQP,进行分类器训练。

训练视频样本要满足尽可能涵盖多种类型,包括低速运动,中速运动,高速运动,高分辨率,低分辨率等类型视频。例如可选ParkScene,BasketballDrill,BQMall,BQSquare,FourPeople;每段视频各选取50帧,且只选取P帧和B帧。

将训练视频样本由QP1的高比特率视频流转码为QP2的低比特率视频流,使用全解全编的转码方式,如图1。

所述的提取的朴素贝叶斯分类器训练样本视频的特征为:

ΔDepth_correspondingCU(以下简称ΔDc)

ΔDepth_timepreviousCU(以下简称ΔDt)

其中,correspondingCU表示在输入的原始视频流中与待处理CU相关性最强的CU,timepreviousCU表示在时域前一帧中与待处理CU相关性最强的CU,其中相关性最强CU表示对应帧(帧的编码序号相同)内的对应LCU中位置和大小相同的CU,可通过程序中uiAbsPartIdx大小来判断位置;ΔDepth表示计算该CU大小对应的深度与该CU中划分最深深度的差值。注:64*64大小的CU深度为0,32*32大小的CU深度为1,16*16大小的CU深度为2,8*8大小的CU深度为3(具体见图3)。

分类器训练结果类别:

A类:再编码端待处理CU的split-flag值为1,该CU继续划分;

B类:在编码端待处理CU的split-flag值为0,该CU停止划分。

分类器模型为朴素贝叶斯分类器,共有三个:T0,T1,T2。分别针对64*64,32*32,16*16三种大小的CU。

针对不同训练器进行训练:训练分类器T0,则提取训练视频中所有编码端64*64大小的CU所对应的特征和类别;同理,训练分类器T1,则提取训练视频中所有编码端32*32大小的CU所对应的特征和类别;训练分类器T2,则提取训练视频中所有编码端16*16大小的CU所对应的特征和类别进行训练。

训练好三个分类器后,按照图2所示流程进行转码,再编码时若该帧为I帧,不做处理,若为B帧或者P帧,按照不同CU大小,提取原始码流中信息(ΔDc)和时域前一帧信息(ΔDt),分别通过对应分类器(T0,T1,T2)分类,得出相应CU的预测split-flag值(简称pSF),便可直接判断CU划分情况而不用进行大量RDcost计算,具体判断流程见图4。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1