CN105120291A - 一种基于方差的自适应快速视频编码方法 - Google Patents
一种基于方差的自适应快速视频编码方法 Download PDFInfo
- Publication number
- CN105120291A CN105120291A CN201510483491.4A CN201510483491A CN105120291A CN 105120291 A CN105120291 A CN 105120291A CN 201510483491 A CN201510483491 A CN 201510483491A CN 105120291 A CN105120291 A CN 105120291A
- Authority
- CN
- China
- Prior art keywords
- variance
- present frame
- value
- partition mode
- divide
- 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
本发明公开了一种基于方差的自适应快速视频编码方法,包括:计算当前帧CU的方差;根据当前帧CU的方差采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,得到率失真代价最小的PU划分模式以及CU不划分的最佳率失真代价;根据当前帧CU的方差采用基于方差的CU划分模式快速判决算法进行CU划分判决,确定率失真代价最小的CU划分模式;根据率失真代价最小的PU划分模式和CU划分模式进行编码。本发明采用了基于方差的PU划分模式快速判决算法以及基于方差的CU划分模式快速判决算法相结合来进行CU以及PU的划分模式选择,大大降低了编码复杂度,提高了编码速度,可广泛应用于视频编码领域。
Description
技术领域
本发明涉及视频编码领域,尤其是一种基于方差的自适应快速视频编码方法。
背景技术
HEVC(HighEfficiencyVideoCoding,高性能视频编码)是由ITU-T的VCEG(VideoCodingExpertsGroup)和ISO/IEC的MPEG(MovingPictureExpertsGroup)在2010年1月成立的视频编码联合组JCT-VC(JointCollaborativeTeamonVideoCoding)所制定的新一代视频编码标准。在2013年1月,HEVC正式成为最新的视频编码国际标准。
总体来说,相比于H.264/AVC视频编码标准,HEVC标准具有更加优秀的编码性能,可以在保持同等的主观视频质量的情况下,平均节省约50%的码率;但是,HEVC的编解复杂度也比H.264/AVC的编解码复杂度高出很多。因此,将HEVC标准应用于各种多媒体应用领域,可以降低成本,但是也存在着很大的挑战,特别是在实时应用以及移动视频方面。
HEVC作为H.264/AVC的下一代标准,仍然沿用了H.264/AVC基于块的混合编码框架,不同之处在于HEVC对于预测编码、变换编码、量化编码和熵编码进行了细致有效的改进,同时引入了新的视频编码技术,如图1所示。HEVC在编码过程中,输入图像会被划分为一系列的编码单元,对于每个编码单元,编码器会遍历所有可能的编码模式组合,期间会进行预测、变换量化和熵编码,以及相应的重建过程,直到选出率失真代价最小的编码模式组合,这个过程是通过对编码单元进行复杂的递归划分来完成的,也就是四分树(Quad-tree)的编码过程。另外,当每帧图像编码完成后,其重建图像会经过去块滤波和自适应样本偏置SAO(SampleAdaptiveOffset),从而进一步去除重建图像的失真。
然而使用新的编码技术,特别是四分树编码结构,极大地增加了HEVC的编码复杂度。与四分树的编码结构相匹配,HEVC引入了许多新的概念,包括编码树单元CTU(CodingTreeUnit)、编码单元CU(CodingUnit)、预测单元PU(PredictionUnit)和变换单元TU(TransformUnit)。其中,CTU四分树编码过程是HEVC编码器的主要编码过程,基本所有的HEVC编码模式都会在这个过程中确立。
在进行四分树编码时,HEVC编码器需要遍历编码单元四分树的所有可能结点,且对于每个结点,需要遍历所有可能的PU划分模式,如图2所示。而对于每种可能的PU划分模式,还需要遍历RQT(ResidueQuadtree,方形残差四叉树结构)的所有结点,整个遍历过程按照深度优先的方式进行的,往往需要通过函数的递归调用来实现。按照通常的编码设置,编码单元四分树的结点个数多达85个,每个结点需要检测的PU划分模式多达8种,而RQT的结点个数可以多达21个,因此编码单元四分树、PU划分模式和RQT形成了众多的编码模式组合。故要在四分树编码过程中,根据RDO(RateDistortionOptimization,率失真最优化块)选出最佳的编码模式组合,会消耗大量时间,使得将HEVC用于实时应用以及移动端时会遇到极大的挑战。
综上所述,业内亟需一种在基本保持视频压缩效率和编码质量的前提下降低编码复杂度和提高编码速度的视频编码方法。
发明内容
为了解决上述技术问题,本发明的目的是:提供一种编码复杂度低和编码速度快的,基于方差的自适应快速视频编码方法。
本发明解决其技术问题所采用的技术方案是:
一种基于方差的自适应快速视频编码方法,包括:
A、计算当前帧CU的方差;
B、根据当前帧CU的方差采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,得到率失真代价最小的PU划分模式以及CU不划分的最佳率失真代价;
C、根据当前帧CU的方差采用基于方差的CU划分模式快速判决算法进行CU划分判决,确定率失真代价最小的CU划分模式;
D、根据率失真代价最小的PU划分模式和CU划分模式进行编码。
进一步,所述步骤A,其具体为:
计算当前帧CU的方差,所述CU的方差的计算公式为:
其中,CU对应区域的大小为N×M,{pij|0≤i≤N-1,0≤j≤M-1,i∈Z,j∈Z}表示CU对应区域内的所有原始像素值,是CU对应区域内所有原始像素的均值,而v是CU对应区域内原始像素的方差。
进一步,所述步骤B,其包括:
B1、判断当前帧的编码配置是否为AI或AI10编码配置,若是,则执行步骤B2,反之,则执行步骤B3;
B2、判断当前帧是否满足CU需要划分的直接判断条件,若是,则跳至步骤B4,反之,则执行步骤B3,所述CU需要划分的直接判断条件为:
其中,vcur为当前帧CU的方差,β是第一自适应调整因子,vmax是当前帧CU的最大方差,bitdepth是编码器所使用的内部比特深度;
B3、采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价;
B4、直接判定当前帧CU需要进行划分,并递归遍历当前帧CU的子CU。
进一步,所述步骤B2,其包括:
B21、更新p的值为++p,所述p是前一帧四分树编码中所检测的CU总数;
B22、判断当前帧是否满足CU需要划分的直接判断条件,若是,则在更新q的值为++q后执行步骤B4,反之,则执行步骤B3,其中,q是前一帧四分树编码中满足CU需要划分的直接判断条件的CU总数。
进一步,所述第一自适应调整因子β的自适应调整方法为:
若q小于p的10%,则以当前帧四分树编码前一次自适应调整后的β值减去0.1所得的值作为当前CU的β值;
若q大于等于p的10%且小于等于p的15%,则当前CU的β值为当前帧四分树编码前一次自适应调整后的β值;
若q大于p的15%,则以当前帧四分树编码前一次自适应调整后的β值加上0.1所得的值作为当前CU的β值;
若β小于0.1,则将当前CU的β值设为0.1;
其中,第一自适应调整的因子β的初始值为1。
进一步,所述步骤B3,其包括:
B31、对SKIP模式进行测试,得到SKIP模式下的率失真代价;
B32、计算Part_Nx2N划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B34,反之,则执行步骤B33;
B33、对Part_Nx2N划分模式进行测试,得到Part_Nx2N划分模式下的率失真代价,然后执行步骤B34;
B34、计算Part_2NxN划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B36,反之,则执行步骤B35;
B35、对Part_2NxN划分模式进行测试,得到Part_2NxN划分模式下的率失真代价,然后执行步骤B36;
B36、对AMP模式进行测试,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价,所述AMP模式包括PART_nRx2N划分模式、PART_nLx2N划分模式、PART_2NxnU划分模式和PART_2NxnD划分模式。
进一步,所述给定的PU方差阈值为当前帧CU的方差的一半。
进一步,所述步骤C,其包括:
C1、判断当前帧CU的方差是否小于当前帧不划分CU的平均方差,若是,则执行步骤C2,反之,则执行步骤C4;
C2、更新m的值为++m,然后判断当前帧CU是否满足CU的划分判决条件,若是,则在更新n的值为++n后执行步骤C3,反之,则执行步骤C4,所述CU的划分判决条件为:
其中,是当前帧不划分CU的平均方差,而α是第二自适应调整因子,m是在前一帧的编码过程中CU方差小于的CU个数,n为在前一帧的编码过程中满足CU的划分判决条件的CU个数;
C3、根据设定的简化规则对当前帧CU的子CU遍历过程进行简化;
C4、求出当前帧CU所有子CU的最佳率失真代价总和,并判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU的最佳率失真代价总和,若是,则表明当前帧CU不需要划分,反之,则表明当前帧CU需要采用子CU对应的划分结构。
进一步,所述第二自适应调整因子α的自适应调整方法为:
若n小于m的70%,则以当前帧四分树编码前一次自适应调整后的α值减去0.5所得的值作为当前CU的α值;
若n大于等于m的70%且小于等于m的75%,则当前CU的α值为当前帧四分树编码前一次自适应调整后的α值;
若n大于m的75%,则以当前帧四分树编码前一次自适应调整后的α值加上0.5所得的值作为当前CU的α值;
若α小于1,则将当前CU的α值设为1;
其中,第二自适应调整的因子α的初始值为6。
进一步,所述步骤C3,其具体为:
根据A和L这两个分别位于当前帧CU正上方以及左边的CU的划分情况设置当前帧CU的简化遍历标志位bFast,然后对当前帧CU的子CU遍历过程进行简化:若A与L都不进行CU划分,则设置bFast为true,然后直接判定当前帧CU不需要划分,此时,不再遍历当前帧CU的子CU;若A与L中有一个CU不划分而另一个CU进行了划分,则设置bFast为false,然后判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么在仅将当前帧CU划分为4个子CU后停止遍历当前帧的子CU;若A与L都进行了划分,则设置bFast为false,然后递归遍历当前帧的子CU,并判断当前帧CU所有子CU的最佳率失真代价总和是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么当前帧CU采用子CU对应的划分结构。
本发明的有益效果是:基于预测编码的编码性能与图像的局部特征所存在的相关性,采用了基于方差的PU划分模式快速判决算法以及基于方差的CU划分模式快速判决算法相结合来进行CU以及PU的划分模式选择,先根据CU的方差以及PU的方差来***CU和PU的划分判决结果,大大减少了编码单元四分树结点、PU划分模式及RQT结点的遍历时间和遍历次数,在基本保持HEVC视频压缩效率和编码质量的前提下,大大降低了编码复杂度,提高了编码速度,能满足实时应用以及移动端的高要求。进一步,为AI和AI10编码配置专门提供了四分树编码中划分CU的***方法,进一步通过CU需要划分的直接判断条件降低编码的复杂度。进一步,增设了根据设定的简化规则对当前帧CU的子CU遍历过程进行简化的步骤,进一步降低CU划分模式的判决时间,编码速度更快。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1为HEVC视频编码标准的编码框架;
图2为HEVC视频编码标准的PU划分模式示意图;
图3为本发明一种基于方差的自适应快速视频编码方法的整体流程图;
图4为本发明步骤B的流程图;
图5为本发明步骤B2的流程图;
图6为本发明步骤B3的流程图;
图7为本发明步骤C的流程图;
图8为本发明实施例一两个物体的CU结构示意图;
图9为本发明实施例一基于方差的PU划分模式快速判决算法的流程图;
图10为本发明实施例一基于方差的自适应快速HEVC编码方法的流程图。
具体实施方式
参照图3,一种基于方差的自适应快速视频编码方法,包括:
A、计算当前帧CU的方差;
B、根据当前帧CU的方差采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,得到率失真代价最小的PU划分模式以及CU不划分的最佳率失真代价;
C、根据当前帧CU的方差采用基于方差的CU划分模式快速判决算法进行CU划分判决,确定率失真代价最小的CU划分模式;
D、根据率失真代价最小的PU划分模式和CU划分模式进行编码。
进一步作为优选的实施方式,所述步骤A,其具体为:
计算当前帧CU的方差,所述CU的方差的计算公式为:
其中,CU对应区域的大小为N×M,{pij|0≤i≤N-1,0≤j≤M-1,i∈Z,j∈Z}表示CU对应区域内的所有原始像素值,是CU对应区域内所有原始像素的均值,而v是CU对应区域内原始像素的方差。
参照图4,进一步作为优选的实施方式,所述步骤B,其包括:
B1、判断当前帧的编码配置是否为AI或AI10编码配置,若是,则执行步骤B2,反之,则执行步骤B3;
B2、判断当前帧是否满足CU需要划分的直接判断条件,若是,则跳至步骤B4,反之,则执行步骤B3,所述CU需要划分的直接判断条件为:
其中,vcur为当前帧CU的方差,β是第一自适应调整因子,vmax是当前帧CU的最大方差,bitdepth是编码器所使用的内部比特深度;
B3、采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价;
B4、直接判定当前帧CU需要进行划分,并递归遍历当前帧CU的子CU。
其中,选出CU不划分的最佳率失真代价的过程与选出率失真代价最小的PU划分模式的过程类似,选出CU不划分的最佳率失真代的过程为:编码器假定CU不进行划分,求出其在不同的预测模式下的率失真代价,从中选择最小的率失真代价作为CU不划分的最佳率失真代价;选出率失真代价最小的PU划分模式的过程为:编码器假定PU需要进行划分,求出其在不同的预测模式下的率失真代价,从中选择最小的率失真代价所对应的PU划分模式作为率失真代价最小的PU划分模式。
参照图5,进一步作为优选的实施方式,所述步骤B2,其包括:
B21、更新p的值为++p,所述p是前一帧四分树编码中所检测的CU总数;
B22、判断当前帧是否满足CU需要划分的直接判断条件,若是,则在更新q的值为++q后执行步骤B4,反之,则执行步骤B3,其中,q是前一帧四分树编码中满足CU需要划分的直接判断条件的CU总数。
其中,++p是指p自加1,++q是指q自加1。
进一步作为优选的实施方式,所述第一自适应调整因子β的自适应调整方法为:
若q小于p的10%,则以当前帧四分树编码前一次自适应调整后的β值减去0.1所得的值作为当前CU的β值;
若q大于等于p的10%且小于等于p的15%,则当前CU的β值为当前帧四分树编码前一次自适应调整后的β值;
若q大于p的15%,则以当前帧四分树编码前一次自适应调整后的β值加上0.1所得的值作为当前CU的β值;
若β小于0.1,则将当前CU的β值设为0.1;
其中,第一自适应调整的因子β的初始值为1。
由于四分树编码单元至少包括一个CU,因此当前帧四分树编码的过程会进行至少一次的β值自适应调整。
参照图6,进一步作为优选的实施方式,所述步骤B3,其包括:
B31、对SKIP模式进行测试,得到SKIP模式下的率失真代价;
B32、计算Part_Nx2N划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B34,反之,则执行步骤B33;
B33、对Part_Nx2N划分模式进行测试,得到Part_Nx2N划分模式下的率失真代价,然后执行步骤B34;
B34、计算Part_2NxN划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B36,反之,则执行步骤B35;
B35、对Part_2NxN划分模式进行测试,得到Part_2NxN划分模式下的率失真代价,然后执行步骤B36;
B36、对AMP模式进行测试,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价,所述AMP模式包括PART_nRx2N划分模式、PART_nLx2N划分模式、PART_2NxnU划分模式和PART_2NxnD划分模式。
进一步作为优选的实施方式,所述给定的PU方差阈值为当前帧CU的方差的一半。
参照图7,进一步作为优选的实施方式,所述步骤C,其包括:
C1、判断当前帧CU的方差是否小于当前帧不划分CU的平均方差,若是,则执行步骤C2,反之,则执行步骤C4;
C2、更新m的值为++m,然后判断当前帧CU是否满足CU的划分判决条件,若是,则在更新n的值为++n后执行步骤C3,反之,则执行步骤C4,所述CU的划分判决条件为:
其中,是当前帧不划分CU的平均方差,而α是第二自适应调整因子,m是在前一帧的编码过程中CU方差小于的CU个数,n为在前一帧的编码过程中满足CU的划分判决条件的CU个数;
C3、根据设定的简化规则对当前帧CU的子CU遍历过程进行简化;
C4、求出当前帧CU所有子CU的最佳率失真代价总和,并判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU的最佳率失真代价总和,若是,则表明当前帧CU不需要划分,反之,则表明当前帧CU需要采用子CU对应的划分结构。
其中,++m是指m自加1,++n是指n自加1。
进一步作为优选的实施方式,所述第二自适应调整因子α的自适应调整方法为:
若n小于m的70%,则以当前帧四分树编码前一次自适应调整后的α值减去0.5所得的值作为当前CU的α值;
若n大于等于m的70%且小于等于m的75%,则当前CU的α值为当前帧四分树编码前一次自适应调整后的α值;
若n大于m的75%,则以当前帧四分树编码前一次自适应调整后的α值加上0.5所得的值作为当前CU的α值;
若α小于1,则将当前CU的α值设为1;
其中,第二自适应调整的因子α的初始值为6。
由于四分树编码单元至少包括一个CU,因此当前帧四分树编码的过程会进行至少一次的α值自适应调整。
进一步作为优选的实施方式,所述步骤C3,其具体为:
根据A和L这两个分别位于当前帧CU正上方以及左边的CU的划分情况设置当前帧CU的简化遍历标志位bFast,然后对当前帧CU的子CU遍历过程进行简化:若A与L都不进行CU划分,则设置bFast为true,然后直接判定当前帧CU不需要划分,此时,不再遍历当前帧CU的子CU;若A与L中有一个CU不划分而另一个CU进行了划分,则设置bFast为false,然后判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么在仅将当前帧CU划分为4个子CU后停止遍历当前帧的子CU;若A与L都进行了划分,则设置bFast为false,然后递归遍历当前帧的子CU,并判断当前帧CU所有子CU的最佳率失真代价总和是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么当前帧CU采用子CU对应的划分结构。
下面结合说明书附图和具体实施例对本发明作进一步详细说明。
实施例一
参照图8、9和10,本发明的第一实施例:
在CTU的四分树编码过程中,HEVC编码器会根据RDO准则选出率失真代价最小的编码模式,从而可以更好地去除视频序列中的冗余数据,这就意味着CU的划分模式与PU的划分模式取决于其对应的编码效果。视频序列中的冗余数据是以时间冗余和空间冗余为主,而HEVC编码器通过对CU使用特定的PU划分模式,将帧内预测或帧间预测应用于PU上,从而去除时间冗余和空间冗余,也就是说CU与PU的编码效果在很大程度上取决于预测编码的性能。
根据预测编码的原理,可以知道其编码性能与图像的局部特征存在很大的相关性,因此对于某个深度的CU来说,应用特定的PU划分模式的编码效果与该CU以及各个PU的图像特征密切相关。而局部区域的方差可以在一定程度上反映CU以及PU的图像特征,也就是说方差与CU以及PU的划分模式选择存在着相关性。基于以上的相关性分析,本发明提出了基于方差的自适应快速视频编码算法,该算法包括两部分,分别是基于方差的CU划分模式快速判决算法与基于方差的PU划分模式快速判决算法。下面逐一对这两个算法及由这两个算法所组成的整体编码算法进行介绍。
(一)基于方差的CU划分模式快速判决算法
正如前面所提到的,CTU的四分树编码的主要目的是在保证图像失真不超过给定值的情况下,尽可能多地去除CTU对应的图像区域的冗余数据,尤其是时间冗余和空间冗余。
帧内预测是去除空间冗余的主要工具,而帧间预测则是去除时间冗余的主要工具,因此帧内预测和帧间预测也成了四分树编码所使用的主要编码工具,其编码性能可以在很大程度上影响四分树编码对于CU划分模式的判决。
帧内预测的基本原理是利用当前帧的已编码重建像素预测待编码的像素,传输或存储原始像素与该预测值的差值。而帧间预测的基本原理是利用已编码重建帧预测当前帧的待编码像素,传输或存储原始像素与该预测值的差值。因此通过应用帧内预测与帧间预测,就可以去除视频序列中的空间冗余与时间冗余。
然而,在基于块的混合编码框架中,帧内预测与帧间预测各存在一个默认的假定。帧内预测假定预测区域内的所有像素具有相同的纹理方向;帧间预测则假定预测区域内的所有像素都属于同一个物体,共享同一个运动矢量。在实际的四分树编码中,所有可能的结点所包含的区域不一定都满足这些假定,但对于那些满足这些假定的结点来说,预测编码可以获得很好的编码效果,可以认为不需要继续检测这些结点的子结点(也就是不需要对CU进行再划分);而对于那些不满足这些假定的结点来说,预测编码的编码效果非常差,可以直接判断这些结点必须划分,不需再检测这些结点。此外,还可以知道满足这些假定的结点往往具有很小的方差,而不满足这些假定的结点往往具有很大的方差,因此CU的方差与CU的划分判决具有相关性,可以根据CU的方差来预测CU的划分判决结果。
方差的计算可以使用CU对应区域的原始像素或者重建像素,为了避免重建像素所引入的失真,本实施例使用CU对应区域的原始像素计算其方差,如下公式(1)和(2)所示:
基于以上分析,本算法将根据CU的方差来***CU的划分判决,即若公式(3)成立,编码器将会认为该CU不需要进行划分,不再检测其子CU。
式(3)中,α的调整会在每帧的编码之前进行,假定m是在前一帧的编码过程中方差小于的CU个数,而n是在前一帧的编码过程中使得公式(3)成立的CU个数,α的初始值设为6。α的自适应调整算法如下:
1)如果n小于m的70%,α将会在前一次自适应调整的基础上减去0.5;
2)如果n大于m的75%,α将会在前一次自适应调整的基础上加上0.5;
3)如果α小于1,将α设为1。
在完成α的自适应调整后,需将m与n重置为0,并在当前帧的编码过程中会更新这两个值。另外,为了得到本算法会收集当前帧的前10个CTU四分树编码中不划分CU的方差,将这些方差的平均值作为
另外,本算法还为AI和AI10编码配置提供了相应的四分树编码中划分CU的***方法,如果公式(4)成立,将直接判断当前CU需要划分,不再对其进行检测。
vcur>vmax·β(4)
其中,vmax的取值如公式(5)所示:
在每帧编码之前,本算法会自适应调整β。假定p是前一帧四分树编码中检测的CU总数,q是前一帧四分树编码中满足公式(4)的CU总数,β的初始值为1,则β的自适应调整算法如下:
1)如果q小于p的10%,β将会在前一次自适应调整的基础上减去0.1;
2)如果q大于p的15%,β将会在前一次自适应调整的基础上加上0.1;
3)如果β小于0.1,将β设为0.1。
在每帧编码之前完成β的自适应调整后,将p和q重置为0,并在当前帧的四分树编码中更新这两个值。以上就是基于方差的CU划分判决快速算法。
(二)基于方差的PU划分判决快速算法
根据前面的分析,当PU划分模式可以使得CU内的所有PU都满足帧间预测的默认假定时,帧间预测在该PU划分模式下可以获得非常好的编码效果,即可以认为该PU划分模式就是最佳的划分模式,否则帧间预测在该PU划分模式下的编码效果非常差,即可以认为该PU划分模式不是最佳的划分模式。
而PU划分模式对应的PU的方差可以很好反映该PU划分模式是否满足帧间预测的假定。图8显示了包含两个物体A和B的CU,虚线表示两者的边界,假定A中的像素值均为a,B中的像素值均为b,可以知道Part_Nx2N的划分模式可以使得A与B都满足帧间预测的假定,此时两者的方差都为0,而Part_2NxN的划分模式则使得对应的PU都不满足帧间预测的假定,此时两个PU的方差都为0.25(a-b)2。因此如果PU的方差大于某个阈值(在本实施例中将该阈值设为CU方差的一半),可以认为对应的PU划分模式不是最佳的划分模式。
本算法将通过PU划分模式对应的PU方差来预测PU划分模式的判决结果,如图9所示。在检测PU划分模式的过程中,编码器首先计算当前CU的方差,然后测试SKIP模式(其中,SKIP模式采用Part_2N×2N划分模式的PU),得到SKIP模式对应的率失真代价。随后编码器先计算Part_Nx2N划分模式对应的两个PU的方差,如果这两者都不小于给定的PU方差阈值,就直接跳过Part_Nx2N划分模式的检测,否则将得到该划分模式下的率失真代价。接下来,编码器同样先计算Part_2NxN划分模式对应的两个PU的方差,如果两者都不小于给定的PU方差阈值,就直接跳过Part_2NxN划分模式的检测,否则得到该划分模式下的率失真代价。最后测试AMP模式,并从SKIP模式、Part_Nx2N划分模式、Part_2NxN划分模式和AMP模式中选出率失真代价最小的模式。
(三)基于方差的自适应快速视频编码算法
如图10所示,将上述两个算法结合起来,就是本发明所提出的基于方差的自适应快速视频编码算法,具体实现过程为:
首先当前帧的前10个CTU用于数据收集,而将后面的CTU应用于本算法。在CTU的四分树编码过程中,编码器先计算CU的方差。如果使用的是AI或AI10编码配置,则更新p的值,并检测其是否满足公式(4),如果满足,则更新q的值,直接判断当前CU需要划分,递归遍历其子CU;否则应用图9的流程,得到该CU不划分的最佳率失真代价。
接下来,如果编码器使用的是帧间编码配置,或者在AI或AI10编码配置中出现上述的公式(4)不满足的情况,则在应用PU划分模式快速判决算法得到该CU不划分的最佳率失真代价Rd后,测试CU的方差是否小于不划分CU的平均方差,如果不是,递归遍历其子CU,得到子CU对应的最佳率失真代价总和Jsub,如果Rd小于等于Jsub,判断该CU不需要划分,否则该CU采用子CU对应的划分结构。
如果CU的方差小于不划分CU的平均方差,则更新m的值,判断公式(3)是否成立,如果成立,更新n的值,假定A和L是位于该CU正上方和左边的同等大小的CU,如果A与L都不划分,设置bFast为true,否则设置bFast为false。如果bFast为true,则直接判断CU不划分,不再遍历子CU。如果bFast为false且A与L中有一个CU不划分,那么判断CU不划分的最佳率失真代价是否小于等于子CU不划分的最佳率失真代价总和,若不是,则仅将CU划分为4个子CU,不再遍历子CU,否则判断CU不需要划分并不再遍历子CU。如果bFast为false且A与L都进行了划分,那么递归遍历子CU,根据子CU的最佳率失真代价总和,判断该CU是否需要划分。
如果在更新m的值后,公式(3)不成立,则同样递归遍历子CU,根据子CU的最佳率失真代价总和,判断该CU是否需要划分。
实施例二
为了验证本发明所提出的算法性能,本发明基于HM16.0实现了所提出的算法,并且进行了大量的实验。本发明后续的所有实验都是在相同的实验环境下进行的,本发明的实验环境如下:
处理器:Intel(R)Core(TM)i7-2600CPU3.40GHz3.41GHz;
操作***:64位Windows7;
编码配置:CTC(CommonTestCondition)所指定的测试条件
本实施例通过将本发明所提出的算法的测试结果与HM16.0对应的测试结果进行比较,从而综合地评价算法的性能,实验数据如下表1、表2和表3所示(其中,表1、表2和表3中的视频类型和视频序列均来自HEVC标准所规定的测试条件)。
本发明使用CTC指定的三个评价指标来衡量算法的性能,如下公式(6)、公式(7)和公式(8)所示,
其中,Timeopt、Bitrateopt和PSNRopt分别是本发明所提出的算法所对应的编码速度、码率与信噪比PSNR,而Timeorg、Bitrateorg和PSNRorg分别是HM16.0所对应的编码速度、码率与信噪比PSNR。
表1列出了本发明的算法在AI与AI10编码配置下的实验结果。由该表可知,本发明的算法在AI编码配置下平均可以降低25.02%的编码复杂度,同时基本上和原来的编码器保持了同样的编码性能。在AI编码配置下,本发明的算法最高可以降低55.96%的编码复杂度,有效地优化了编码速度。而本发明的算法在AI10编码配置下平均可以降低25.14%的编码复杂度,且编码性能基本与原来编码器的一样,其中,最高可以降低56.13%的编码复杂度。特别的是,本发明的算法在AI和AI10编码配置下可以有效地优化高清以及超高清视频序列的编码速度。
表1算法在AI与AI10编码配置下的实验结果
而表2则列出了本发明的算法在RA与RA10编码配置下的实验结果。由RA编码配置的实验数据可知,本发明的算法平均可以降低34.37%的编码复杂度,而码率的增加远远不到1%,并且PSNR的变化基本可以忽略,本发明的算法最高可以降低53.93%的编码复杂度。从RA编码配置的数据可以看出,本发明的算法在该配置下对于超高清视频序列可以降低接近50%的编码复杂度。而本发明的算法在RA10编码配置下平均可以降低34.42%的编码复杂度,同时保持了与原来相当的编码性能,最高可以降低54.07%的编码复杂度。因此,与RA的编码配置类似,在RA10编码配置下,本发明的算法可以非常有效地优化超高清视频序列的编码速度。
表2算法在RA与RA10编码配置下的实验结果
表3列出了本发明的算法在LB与LB10编码配置下的实验结果。由该表的数据可知,本发明的算法在LB编码配置下平均可以降低37.10%的编码复杂度,同时保持了与原来相当的编码性能,最高可以降低57.11%的编码复杂度。类似地,本发明的算法可以非常有效地降低对于高清以及超高清视频序列的编码复杂度。而对于LB10编码配置,本发明的算法具有类似的实验结果。因此总体来说,在LB与LB10编码配置下,本发明的算法在保持与原来相当的编码性能的同时,可以非常有效地降低编码复杂度。
表3算法在LB与LB10编码配置下的实验结果
综上所述,本发明提出的算法可以在保持与原来HEVC编码基本一致的编码性能的同时,有效地降低了编码复杂度,特别适用于高清分辨率以上的视频序列。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种基于方差的自适应快速视频编码方法,其特征在于:包括:
A、计算当前帧CU的方差;
B、根据当前帧CU的方差采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,得到率失真代价最小的PU划分模式以及CU不划分的最佳率失真代价;
C、根据当前帧CU的方差采用基于方差的CU划分模式快速判决算法进行CU划分判决,确定率失真代价最小的CU划分模式;
D、根据率失真代价最小的PU划分模式和CU划分模式进行编码。
2.根据权利要求1所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤A,其具体为:
计算当前帧CU的方差,所述CU的方差的计算公式为:
其中,CU对应区域的大小为N×M,{pij|0≤i≤N-1,0≤j≤M-1,i∈Z,j∈Z}表示CU对应区域内的所有原始像素值,是CU对应区域内所有原始像素的均值,而v是CU对应区域内原始像素的方差。
3.根据权利要求1所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤B,其包括:
B1、判断当前帧的编码配置是否为AI或AI10编码配置,若是,则执行步骤B2,反之,则执行步骤B3;
B2、判断当前帧是否满足CU需要划分的直接判断条件,若是,则跳至步骤B4,反之,则执行步骤B3,所述CU需要划分的直接判断条件为:
其中,vcur为当前帧CU的方差,β是第一自适应调整因子,vmax是当前帧CU的最大方差,bitdepth是编码器所使用的内部比特深度;
B3、采用基于方差的PU划分模式快速判决算法进行PU划分模式检测,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价;
B4、直接判定当前帧CU需要进行划分,并递归遍历当前帧CU的子CU。
4.根据权利要求3所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤B2,其包括:
B21、更新p的值为++p,所述p是前一帧四分树编码中所检测的CU总数;
B22、判断当前帧是否满足CU需要划分的直接判断条件,若是,则在更新q的值为++q后执行步骤B4,反之,则执行步骤B3,其中,q是前一帧四分树编码中满足CU需要划分的直接判断条件的CU总数。
5.根据权利要求4所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述第一自适应调整因子β的自适应调整方法为:
若q小于p的10%,则以当前帧四分树编码前一次自适应调整后的β值减去0.1所得的值作为当前CU的β值;
若q大于等于p的10%且小于等于p的15%,则当前CU的β值为当前帧四分树编码前一次自适应调整后的β值;
若q大于p的15%,则以当前帧四分树编码前一次自适应调整后的β值加上0.1所得的值作为当前CU的β值;
若β小于0.1,则将当前CU的β值设为0.1;
其中,第一自适应调整的因子β的初始值为1。
6.根据权利要求3所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤B3,其包括:
B31、对SKIP模式进行测试,得到SKIP模式下的率失真代价;
B32、计算Part_Nx2N划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B34,反之,则执行步骤B33;
B33、对Part_Nx2N划分模式进行测试,得到Part_Nx2N划分模式下的率失真代价,然后执行步骤B34;
B34、计算Part_2NxN划分模式所对应的两个PU的方差,并判断这两个PU的方差是否均不小于给定的PU方差阈值,若是,则执行步骤B36,反之,则执行步骤B35;
B35、对Part_2NxN划分模式进行测试,得到Part_2NxN划分模式下的率失真代价,然后执行步骤B36;
B36、对AMP模式进行测试,选出率失真代价最小的PU划分模式及CU不划分的最佳率失真代价,所述AMP模式包括PART_nRx2N划分模式、PART_nLx2N划分模式、PART_2NxnU划分模式和PART_2NxnD划分模式。
7.根据权利要求6所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述给定的PU方差阈值为当前帧CU的方差的一半。
8.根据权利要求6所述的一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤C,其包括:
C1、判断当前帧CU的方差是否小于当前帧不划分CU的平均方差,若是,则执行步骤C2,反之,则执行步骤C4;
C2、更新m的值为++m,然后判断当前帧CU是否满足CU的划分判决条件,若是,则在更新n的值为++n后执行步骤C3,反之,则执行步骤C4,所述CU的划分判决条件为:
其中,是当前帧不划分CU的平均方差,而α是第二自适应调整因子,m是在前一帧的编码过程中CU方差小于的CU个数,n为在前一帧的编码过程中满足CU的划分判决条件的CU个数;
C3、根据设定的简化规则对当前帧CU的子CU遍历过程进行简化;
C4、求出当前帧CU所有子CU的最佳率失真代价总和,并判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU的最佳率失真代价总和,若是,则表明当前帧CU不需要划分,反之,则表明当前帧CU需要采用子CU对应的划分结构。
9.根据权利要求8所述一种基于方差的自适应快速视频编码方法,其特征在于:所述第二自适应调整因子α的自适应调整方法为:
若n小于m的70%,则以当前帧四分树编码前一次自适应调整后的α值减去0.5所得的值作为当前CU的α值;
若n大于等于m的70%且小于等于m的75%,则当前CU的α值为当前帧四分树编码前一次自适应调整后的α值;
若n大于m的75%,则以当前帧四分树编码前一次自适应调整后的α值加上0.5所得的值作为当前CU的α值;
若α小于1,则将当前CU的α值设为1;
其中,第二自适应调整的因子α的初始值为6。
10.根据权利要求8所述一种基于方差的自适应快速视频编码方法,其特征在于:所述步骤C3,其具体为:
根据A和L这两个分别位于当前帧CU正上方以及左边的CU的划分情况设置当前帧CU的简化遍历标志位bFast,然后对当前帧CU的子CU遍历过程进行简化:若A与L都不进行CU划分,则设置bFast为true,然后直接判定当前帧CU不需要划分,此时,不再遍历当前帧CU的子CU;若A与L中有一个CU不划分而另一个CU进行了划分,则设置bFast为false,然后判断当前帧CU不划分的最佳率失真代价是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么在仅将当前帧CU划分为4个子CU后停止遍历当前帧的子CU;若A与L都进行了划分,则设置bFast为false,然后递归遍历当前帧的子CU,并判断当前帧CU所有子CU的最佳率失真代价总和是否小于等于当前帧CU所有子CU不划分的最佳率失真代价总和,如果是,那么判定当前帧CU不需要划分,此时,不再遍历前帧CU的子CU,如果不是,那么当前帧CU采用子CU对应的划分结构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510483491.4A CN105120291B (zh) | 2015-08-07 | 2015-08-07 | 一种基于方差的自适应快速视频编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510483491.4A CN105120291B (zh) | 2015-08-07 | 2015-08-07 | 一种基于方差的自适应快速视频编码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105120291A true CN105120291A (zh) | 2015-12-02 |
CN105120291B CN105120291B (zh) | 2018-04-10 |
Family
ID=54668137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510483491.4A Expired - Fee Related CN105120291B (zh) | 2015-08-07 | 2015-08-07 | 一种基于方差的自适应快速视频编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105120291B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712648A (zh) * | 2018-04-10 | 2018-10-26 | 天津大学 | 一种深度视频快速帧内编码方法 |
CN111818332A (zh) * | 2020-06-09 | 2020-10-23 | 复旦大学 | 一种适用于vvc标准的帧内预测划分判决的快速算法 |
CN111918058A (zh) * | 2020-07-02 | 2020-11-10 | 北京大学深圳研究生院 | 硬件友好的帧内预测模式快速确定方法、设备及存储介质 |
CN112702598A (zh) * | 2020-12-03 | 2021-04-23 | 浙江智慧视频安防创新中心有限公司 | 基于位移操作进行编解码的方法、装置、电子设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008125058A (ja) * | 2006-11-13 | 2008-05-29 | Jiaotong Univ | 画像データスキップを使用するビデオコード化方法 |
CN101938657A (zh) * | 2010-10-07 | 2011-01-05 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
CN102404570A (zh) * | 2011-11-16 | 2012-04-04 | 浙江工业大学 | 基于率失真敏感度的多视点视频编码快速模式选择方法 |
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103888762A (zh) * | 2014-02-24 | 2014-06-25 | 西南交通大学 | 一种基于hevc标准的视频编码框架 |
EP2899974A1 (en) * | 2012-09-18 | 2015-07-29 | Nec Corporation | Video coding device, video coding method, and video coding program |
-
2015
- 2015-08-07 CN CN201510483491.4A patent/CN105120291B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008125058A (ja) * | 2006-11-13 | 2008-05-29 | Jiaotong Univ | 画像データスキップを使用するビデオコード化方法 |
TWI339073B (en) * | 2006-11-13 | 2011-03-11 | Univ Nat Chiao Tung | Video coding method using image data skipping |
CN101938657A (zh) * | 2010-10-07 | 2011-01-05 | 西安电子科技大学 | 高效视频编码中编码单元自适应划分方法 |
CN102404570A (zh) * | 2011-11-16 | 2012-04-04 | 浙江工业大学 | 基于率失真敏感度的多视点视频编码快速模式选择方法 |
EP2899974A1 (en) * | 2012-09-18 | 2015-07-29 | Nec Corporation | Video coding device, video coding method, and video coding program |
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103888762A (zh) * | 2014-02-24 | 2014-06-25 | 西南交通大学 | 一种基于hevc标准的视频编码框架 |
Non-Patent Citations (2)
Title |
---|
PINSON M H,,WOLF S: ""A new standardized method for objectively measuring video quality"", 《IEEE TRANSACTIONS ON BROADCASTING》 * |
斯晓华等: ""基于边缘建模的纹理深度联合快速三维编码"", 《计算机工程与应用》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108712648A (zh) * | 2018-04-10 | 2018-10-26 | 天津大学 | 一种深度视频快速帧内编码方法 |
CN108712648B (zh) * | 2018-04-10 | 2021-04-30 | 天津大学 | 一种深度视频快速帧内编码方法 |
CN111818332A (zh) * | 2020-06-09 | 2020-10-23 | 复旦大学 | 一种适用于vvc标准的帧内预测划分判决的快速算法 |
CN111918058A (zh) * | 2020-07-02 | 2020-11-10 | 北京大学深圳研究生院 | 硬件友好的帧内预测模式快速确定方法、设备及存储介质 |
CN111918058B (zh) * | 2020-07-02 | 2022-10-28 | 北京大学深圳研究生院 | 硬件友好的帧内预测模式快速确定方法、设备及存储介质 |
CN112702598A (zh) * | 2020-12-03 | 2021-04-23 | 浙江智慧视频安防创新中心有限公司 | 基于位移操作进行编解码的方法、装置、电子设备及介质 |
CN112702598B (zh) * | 2020-12-03 | 2024-06-04 | 浙江智慧视频安防创新中心有限公司 | 基于位移操作进行编解码的方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105120291B (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103997646B (zh) | 一种高清视频编码中快速帧内预测模式选择方法 | |
US8144770B2 (en) | Apparatus and method for encoding moving picture | |
EP2772057B1 (en) | Method and device for determining parameters for encoding or decoding of an image of a video sequence | |
CN107087200B (zh) | 针对高效率视频编码标准的跳过编码模式提前判决方法 | |
US20070098067A1 (en) | Method and apparatus for video encoding/decoding | |
CN102196256B (zh) | 一种视频编码方法及装置 | |
CN104243997B (zh) | 一种质量可分级hevc视频编码方法 | |
CN103873861A (zh) | 一种用于hevc的编码模式选择方法 | |
KR20050089090A (ko) | 인터프레임 인코딩을 위한 빠른 모드 결정 방법 | |
KR101737861B1 (ko) | 변환 깊이 기반 dct 사이즈 결정 장치 및 방법 | |
CN105120291A (zh) | 一种基于方差的自适应快速视频编码方法 | |
CN103118262B (zh) | 率失真优化方法及装置、视频编码方法及*** | |
CN112738511B (zh) | 一种结合视频分析的快速模式决策方法及装置 | |
CN103533355A (zh) | 一种hevc快速编码方法 | |
CN101569198A (zh) | 解码装置以及解码方法 | |
CN104853192A (zh) | 预测模式选择方法及装置 | |
JP2024501929A (ja) | 動画予測符号化の方法および装置 | |
CN104954787A (zh) | Hevc帧间预测模式选择方法及装置 | |
CN104333755A (zh) | HEVC中B帧的基于SKIP/Merge RD Cost的CU提前终止方法 | |
Li et al. | Fast depth intra coding based on spatial correlation and rate distortion cost in 3D-HEVC | |
US20130128954A1 (en) | Encoding method and apparatus | |
WO2024066649A1 (zh) | 一种视频处理方法及相关设备 | |
Chen et al. | A fast inter coding algorithm for HEVC based on texture and motion quad-tree models | |
WO2007139839A2 (en) | Methods and apparatuses for video compression intra prediction mode determination | |
CN101977317B (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 |
Granted publication date: 20180410 Termination date: 20210807 |
|
CF01 | Termination of patent right due to non-payment of annual fee |