CN104320656B - x265编码器中帧间编码模式快速选择方法 - Google Patents
x265编码器中帧间编码模式快速选择方法 Download PDFInfo
- Publication number
- CN104320656B CN104320656B CN201410603770.5A CN201410603770A CN104320656B CN 104320656 B CN104320656 B CN 104320656B CN 201410603770 A CN201410603770 A CN 201410603770A CN 104320656 B CN104320656 B CN 104320656B
- Authority
- CN
- China
- Prior art keywords
- mode
- value
- distortion costs
- rate distortion
- encoder
- 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
本发明提供了一种x265编码器中帧间编码模式快速选择方法,该方法首先采用工具软件分析x265编码器中耗时模块或函数,然后针对耗时部分进行具体的优化工作,在保证性能的前提下采用快速算法或者结构调整来达到速度的提升,优化内容包括:SKIP模式的提前检测、以SATD Cost(哈达玛变换后再绝对值求和)代替RD Cost(率失真优化得到的值)作为层内模式选择的标准。对于x265编码器,本发明能够实现高清视频序列实时编码,性能与原来非实时编码相比峰值信噪比下降0.03dB。
Description
技术领域
本发明涉及视频编码技术领域,具体地,涉及一种基于新一代视频编码标准HighEfficiency Video Coding(HEVC),对实用编码器x265进行加速优化,实现了高清视频序列的实时编码。
背景技术
视频压缩已经是我们生活中必不可少的家庭娱乐之一,如果没有它的存在,那么我们将活在一个全球范围内只有几十个电视频道的世界里,放在眼下那简直是无法想象的。HEVC是新一代的视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video CodingExperts Group(VCEG)开始制定。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟的正式标准。HEVC被认为不仅提升图像质量,同时也能达到H.264/MPEG-4AVC两倍压缩率(等同于同样画面质量下比特率减少了50%)。HEVC压缩方案可以使1080P视频内容时的压缩效率提高50%左右,这就意味着视频内容的质量将上升许多,而且可以节省下大量的网络带宽,对于消费者而言,我们可以享受到更高质量的4K视频、3D蓝光、高清电视节目内容。
作为新一代视频编码标准,HEVC(H.265)仍然属于预测加变换的混合编码框架。然而,相对于H.264,H.265在很多方面有了革命性的变化。在H.265中,将宏块的大小从H.264的16×16扩展到了64×64,以便于高分辨率视频的压缩。同时,采用了更加灵活的编码结构来提高编码效率,包括编码单元、预测单元和变换单元。为了得到最好编码性能,所有CU将被递归遍历来找出最佳编码模式,这个过程中率失真优化(RDO)技术将被采用来得到最佳的性能,但是这将代来极大的计算复杂度。对于帧间编码来说,它允许变换块的大小根据运动补偿块的大小进行自适应的调整;对于帧内编码来说,它允许变换块的大小根据帧内预测残差的特性进行自适应的调整。自适应样点补偿在编解码环路内,位于去块滤波之后,通过对重建图像的分类,对每一类图像像素值加减一个偏移,达到减少失真的目的,从而提高压缩率,减少码流。当前芯片架构已经从单核性能逐渐往多核并行方向发展,因此为了适应并行化程度非常高的芯片实现,HEVC/H265引入了很多并行运算的优化思路,增加了Tile划分,用垂直和水平的边界将图像划分为一些行和列,划分出的矩形区域为一个Tile,每一个Tile包含整数个最大编码单元,Tile之间可以互相独立,以此实现并行处理,并且采用了Wavefront Parallel Processing(WPP)。
x265是一个支持HEVC标准,并且仍在不断发展的编码器项目。在H.264标准时代,诞生于开源社区的x264编码器经过多年的开发,逐渐成为了最好的视频编码器。与x264一样,x265也诞生于开源社区,目前其源代码托管在bitbucket上。x265编码器基于JCT-VC组织推出的参考编码器HM,并且吸收了x264编码器的很多优点,包括自适应量化,码率控制等方面。x265采用单指令多数据和多媒体扩展指令技术,并且支持帧级并行和WPP并行。
x265编码器的目标,正如其开发团队声明的那样,成为拥有最高的性能和最高的压缩效率的最好的开源H.265/HEVC编码器。目前的x265编码器仍然在进行不断的更新,即便尚未开发完成,x265在编码速度上也已经远远超过了JCT-VC组织推出的参考编码器HM。可以预见,x265将成为HEVC标准未来大规模推广应用的实际编码器。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种x265编码器中帧间编码模式快速选择方法,该方法采用简化的参量代替RdCost来进行模式决定,从而可以减少RDO的次数,对Skip模式的提前判决。
为实现以上目的,本发明所述x265编码器中帧间编码模式快速选择方法,包括如下步骤:
步骤1:计算Merge模式的MergeSatdCost(哈达玛代价值)及Skip模式的SkipRdCost(率失真代价值);
步骤2:根据周围信息预测得到当前块的RdCost:PredRdCost(预测的率失真代价值);
步骤3:若SkipRdCost<θ*PredRdCost,其中:θ为权重因子,则判定为SKIP模式,并转到步骤7,否则转到步骤4;
步骤4:计算Inter模式和Intra_in_inter模式的SatdCost(哈达玛代价值);
步骤5:从Merge、Inter、Intra_in_inter中选择SatdCost最小的模式做一次RDO(率失真优化)得到其RdCost(率失真代价值),并与SkipRdCost进行比较,选择最小者作为当前层的最优模式;若SKIP为最优模式则转步骤7,否则转步骤6;
步骤6:CU(编码单元)向下划分,进行下一层的模式选择;
步骤7:CU终止向下划分。
优选地,所述步骤1中,计算Merge模式的MergeSatdCost及Skip模式的SkipRdCost过程不用做Merge模式的RDO来得到MergeRdCost。
优选地,所述步骤2中,根据周围信息预测得到当前块的RdCost:PredRdCost,相邻的CU具有一定的相关性,这种相关性不止体现在相邻CU的层次深度信息中,也体现在其RdCost的值之间,所以用已编码的相邻CU的RdCost信息来提前判决出SKIP模式。
优选地,所述步骤3中,比较步骤1计算得到的SkipRdCost与步骤2预测得到的当前块的PredRdCost值的大小,若SkipRdCost<θ*PredRdCost,则判定为SKIP模式并终止CU向下划分,否则进入步骤4;θ为权重因子,实验中取0.9。
优选地,所述步骤4中,只需计算Inter模式和Intra_in_inter模式的SatdCost而不用计算其RdCost,从而可以不用进入RDO环路,减少计算量。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的方法能够通过对Skip模式的提前判断及用SatdCost代替RdCost作为层内其余模式选择的标准,有效的减少了RDO的次数,使编码速度得到了大幅提高。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为x265原始编码器各部分复杂度占编码器的百分比;
图2是本发明改进的x265编码器编码单元模式判定流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,帧间预测RDO部分约占总编码时间48%,其中:Merge模式RDO约占该部分55%、普通Inter模式RDO占其中45%以上、Skip模式所占比例很小;运动估计部分约占总编码时间的25%,其中:运动估计约占该部分50%、运动补偿和亚像素部分各约占其中25%;帧内预测RDO和Intra_in_inter两部分各约占总编码时间6%左右,滤波部分约占编码时间10%,其余未统计部分约占总编码时间11%。
如图2所示,本实施例提供一种x265编码器中帧间编码模式快速选择方法,具体实施步骤如下:
步骤1:计算Merge模式的MergeSatdCost及Skip模式的SkipRdCost;
步骤2:根据周围信息预测得到当前块的RdCost:PredRdCost;
步骤3:若SkipRdCost<θ*PredRdCost,其中:θ为权重因子,则判定为SKIP模式,并转到步骤7,否则转到步骤4;
步骤4:计算Inter模式和Intra_in_inter模式的SatdCost;
步骤5:从Merge、Inter、Intra_in_inter中选择SatdCost最小的模式做一次RDO得到其RdCost,并与SkipRdCost进行比较,选择最小者作为当前层的最优模式;若SKIP为最优模式则转步骤7,否则转步骤6;
步骤6:CU向下划分,进行下一层的模式选择;
步骤7:CU终止向下划分。
以上流程中,首先计算出Merge、Inter、Intra_in_inter模式各自的SatdCost,而不是RdCost,也就是说并没有经过RDO环路,比较三者的SatdCost值,选最小者对应的模式做一次RDO得到其RdCost,最后与Skip模式的RdCost进行比较,选取最小者作为本层的最优模式。
在本实施例中,首先对x265编码器原始复杂度分析,主要对编码器的以下几个部分进行时间测试:
帧间预测RDO(包含Merge模式、Skip模式和普通Inter模式的RDO)、帧内预测RDO、Intra_in_inter模式、运动估计(包含整像素和亚像素运动估计及运动补偿)、去块滤波和自适应样点补偿。
本实施例中,相邻的CU具有一定的相关性,这种相关性不止体现在相邻CU的层次深度信息中,也体现在其RdCost的值之间,所以可以用已编码的相邻CU的RdCost信息来提前判决出Skip模式;SKIP模式提前判断算法如下:
Step 1:找到当前编码CU所在的LCU的4个相邻LCU:L(左邻LCU)、U(上邻LCU)、L-U(左上邻LCU)、R-U(右上邻LCU);
Step 2:计算相邻LCU中与当前编码CU同等大小的CU的RdCost平均值,记为avgCostNeigh;
Step 3:计算当前LCU中与当前编码CU同等大小的已编码CU的RdCost平均值,记为avgCostCU;
Step 4:计算预测RdCost值,记为predRdCost,
PredRdCost=0.6*avgCostCU+0.4*avgCostNeigh;
Step 5:计算SkipRdCost,如果SkipRdCost<θ*PredRdCost,则跳过剩下的层内模式划分,认为Skip模式为层内最优模式。
本实施例中:对层内模式选择用SatdCost代替RdCost作为选择标准,从而有效的减少RDO的次数,具体的:
(1)、根据计算出Merge、Inter、Intra_in_inter模式的SatdCost,三者中选择出最小的SatdCost的模式并做一次RDO得到其RdCost;
(2)、将上步中得到的RdCost与SkipRdCost比较,取值最小的作为本层的最优模式。
进一步的,用SatdCost代替RdCost作为CU模式判定的标准,对帧间预测RDO次数的减少,RdCost定义如下:
rdcost=SSEluma+ωchroma·SSEchroma+λ·Bmode (1)
式中:Bmode表示给定模式下所产生的编码比特数,SSEluma和SSEchroma分别表示原始图像亮度和色度与重建图像亮度和色度的均方差,ωchroma表示色度块的权重因子,λ表示拉格朗日算子。
由于计算RdCost所用时间相当大,占整个编码器的48%,所以有必要用简化的参量代替它来进行模式的选择,SatdCost作为模式选择标准即能保证性能几乎不变,又能大大减少运算量;SatdCost定义如下:
satdcost=satdmode+λsatd·Bsatd (2)
式中:satdmode表示原始CU与预测CU块间的satd值,Bsatd表示编码当前CU所要的比特数。
本发明基于x265软件编码器0.8版本faster配置,对帧间编码模式进行快速选择,对于高清视频编码从非实时加速到实时编码;首先采用工具软件分析x265编码器中耗时模块或函数,然后针对耗时部分进行具体的优化工作,研发重点是在保证性能的前提下采用快速方法或者结构调整来达到速度的提升,优化内容包括:SKIP模式的提前检测、以SATDCost(哈达玛变换后再绝对值求和)代替RD Cost(率失真优化得到的值)作为层内模式选择的标准。
本发明对帧间编码模式进行快速选择,在DELL PRECISION T5610 10核工作站上对于高清视频编码从非实时编码20帧每秒加速到实时编码37帧每秒,性能与原来非实时编码相比峰值信噪比下降0.03dB。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (7)
1.一种x265编码器中帧间编码模式快速选择方法,其特征在于,包括如下步骤:
步骤1:计算Merge模式的哈达玛代价值及Skip模式的率失真代价值;
步骤2:根据周围信息预测得到当前块的率失真代价值,即 预测的率失真代价值;
步骤3:若Skip模式的率失真代价值<θ*预测的率失真代价值,其中:θ为权重因子,则判定为SKIP模式,并转到步骤7,否则转到步骤4;
步骤4:计算Inter模式和Intra_in_inter模式的哈达玛代价值;
步骤5:从Merge、Inter、Intra_in_inter中选择哈达玛代价值最小的模式做一次率失真优化得到其率失真代价值,并与Skip模式的率失真代价值进行比较,选择最小者作为当前层的最优模式;若SKIP为最优模式则转步骤7,否则转步骤6;
步骤6:编码单元向下划分,进行下一层的模式选择;
步骤7:编码单元终止向下划分。
2.根据权利要求1所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述步骤1中,计算Merge模式的哈达玛代价值及Skip模式的率失真代价值过程,不用做Merge模式的率失真优化来计算Merge模式的率失真代价值。
3.根据权利要求1所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述步骤2中,根据周围信息预测得到当前块的率失真代价值,即 预测的率失真代价值,相邻的编码单元具有一定的相关性,这种相关性不止体现在相邻编码单元的层次深度信息中,也体现在其率失真代价值的值之间,所以用已编码的相邻编码单元的率失真代价值信息来提前判决出SKIP模式。
4.根据权利要求3所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述用已编码的相邻编码单元的率失真代价值信息来提前判决出SKIP模式,具体步骤为:
Step 1:找到当前编码单元所在的最大编码单元的4个相邻最大编码单元:左邻最大编码单元、上邻最大编码单元、左上邻最大编码单元、右上邻最大编码单元;
Step 2:计算相邻最大编码单元中与当前编码单元同等大小的编码单元的率失真代价值平均值,记为avgCostNeigh;
Step 3:计算当前最大编码单元中与当前编码单元同等大小的已编码单元的率失真代价值平均值,记为avgCostCU;
Step 4:计算预测率失真代价值,记为predRdCost,
PredRdCost=0.6*avgCostCU+0.4*avgCostNeigh;
Step 5:计算Skip模式的率失真代价值SkipRdCost,如果该Skip模式的率失真代价值SkipRdCost<θ*预测的率失真代价值PredRdCost,则跳过剩下的层内模式划分,认为Skip模式为层内最优模式。
5.根据权利要求1-4任一项所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述步骤3中,比较步骤1计算得到的Skip模式的率失真代价值与步骤2预测得到的当前块的预测的率失真代价值的大小,若Skip模式的率失真代价值<θ*预测的率失真代价值,则判定为SKIP模式并终止编码单元向下划分,否则进入步骤4。
6.根据权利要求1-4任一项所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述步骤4中,只需计算Inter模式和Intra_in_inter模式的哈达玛代价值而不用计算其率失真代价值,从而不用进入率失真优化环路,减少计算量。
7.根据权利要求6所述的一种x265编码器中帧间编码模式快速选择方法,其特征在于,所述方法中:用哈达玛代价值代替率失真代价值作为编码单元模式判定的标准,对帧间预测率失真优化次数的减少,哈达玛代价值SatdCost定义如下:
satdcost=satdmode+λsatd·Bstad
式中:satdmode表示原始编码单元与预测编码单元块间的哈达玛变换后再绝对值求和,Bsatd表示编码当前编码单元所要的比特数,λ表示拉格朗日算子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603770.5A CN104320656B (zh) | 2014-10-30 | 2014-10-30 | x265编码器中帧间编码模式快速选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410603770.5A CN104320656B (zh) | 2014-10-30 | 2014-10-30 | x265编码器中帧间编码模式快速选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104320656A CN104320656A (zh) | 2015-01-28 |
CN104320656B true CN104320656B (zh) | 2019-01-11 |
Family
ID=52375817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410603770.5A Active CN104320656B (zh) | 2014-10-30 | 2014-10-30 | x265编码器中帧间编码模式快速选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104320656B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104902271B (zh) * | 2015-05-15 | 2017-12-29 | 腾讯科技(北京)有限公司 | 预测模式选择方法及装置 |
CN106454342B (zh) * | 2016-09-07 | 2019-06-25 | 中山大学 | 一种视频压缩编码的帧间模式快速选择方法及系统 |
CN110139099B (zh) * | 2019-04-08 | 2023-01-06 | 中南大学 | 基于预编码和编码satd值加权的帧间预测模式选择方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103796023A (zh) * | 2014-03-05 | 2014-05-14 | 武汉拓宝电子系统有限公司 | 基于h.264/avc宏块结构及纹理的h.265/hevc转码方法及转码器 |
CN103873861A (zh) * | 2014-02-24 | 2014-06-18 | 西南交通大学 | 一种用于hevc的编码模式选择方法 |
CN103974063A (zh) * | 2013-01-28 | 2014-08-06 | 乐金电子(中国)研究开发中心有限公司 | 一种深度模型的编解码方法及视频编解码器 |
CN104023233A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种hevc快速帧间预测方法 |
-
2014
- 2014-10-30 CN CN201410603770.5A patent/CN104320656B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984521A (zh) * | 2012-12-12 | 2013-03-20 | 四川大学 | 基于时域相关性的高性能视频编码帧间模式判决方法 |
CN103974063A (zh) * | 2013-01-28 | 2014-08-06 | 乐金电子(中国)研究开发中心有限公司 | 一种深度模型的编解码方法及视频编解码器 |
CN103873861A (zh) * | 2014-02-24 | 2014-06-18 | 西南交通大学 | 一种用于hevc的编码模式选择方法 |
CN103796023A (zh) * | 2014-03-05 | 2014-05-14 | 武汉拓宝电子系统有限公司 | 基于h.264/avc宏块结构及纹理的h.265/hevc转码方法及转码器 |
CN104023233A (zh) * | 2014-06-24 | 2014-09-03 | 华侨大学 | 一种hevc快速帧间预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104320656A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104602011B (zh) | 图像解码装置 | |
CN103561263B (zh) | 基于运动矢量约束和加权运动矢量的运动补偿预测方法 | |
CN103248893B (zh) | 从h.264/avc标准到hevc标准的快速帧间转码方法及其转码器 | |
CN104601998B (zh) | 用于对图像编码的设备 | |
CN101385347B (zh) | 视频帧内预测编码/解码的装置与方法 | |
CN103209324B (zh) | 一种施加边缘补偿的方法 | |
CN104038764B (zh) | 一种h.264到h.265的视频转码方法及转码器 | |
CN105409215B (zh) | 深度预测模式选择方法及装置 | |
WO2011088594A1 (en) | Video encoder, video decoder, method for video encoding and method for video decoding, separately for each colour plane | |
KR20140027483A (ko) | 화상 부호화 장치, 화상 복호 장치, 화상 부호화 방법 및 화상 복호 방법 | |
CN102196256A (zh) | 一种视频编码方法及装置 | |
CN102065298A (zh) | 高性能宏块编码实现方法 | |
CN102196272B (zh) | 一种p帧编码方法及装置 | |
CN104811729B (zh) | 一种视频多参考帧编码方法 | |
CN107258081A (zh) | 对使用非正方形分割编码视频数据的优化 | |
CN104320656B (zh) | x265编码器中帧间编码模式快速选择方法 | |
CN101742301B (zh) | 一种块模式编码方法及装置 | |
CN103442229A (zh) | 适用于hevc标准的编码器中sao模式判决的比特率估计方法 | |
CN103747272B (zh) | 用于hevc的残余四叉树编码的快速变换方法 | |
CN107613300A (zh) | 一种快速的hevc帧内预测编码方法 | |
CN101262607B (zh) | 二重预测视频编解码方法和装置 | |
CN102196258B (zh) | 一种i帧编码方法及装置 | |
CN102387358A (zh) | 帧内宏块编码方法、解码方法及其编码器、解码器 | |
Chen et al. | Fast Motion Estimation Algorithm Based on H. 264 | |
KR20120138426A (ko) | 교차 삽입법을 이용한 향상된 움직임 백터 예측 방법 및 장치 |
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 |