HEVC Intra流程

HEVC标准中CU和TU采用的是四叉树的划分方式,HM的代码中采用的是4叉树的深度遍历,如下图所示

trace HM8.0的代码可以得到下面的图,每一层前面两个-

TEncCu::xCompressCU
-- TEncCu::xCompressCU
---- TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
---- TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
---- TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU
------ TEncCu::xCompressCU


所以一个64x64的CU,如果进行深度为四的划分的话,一共会形成一颗4^0+4^1+4^2+4^3=85个CU,深度遍历四叉树的每个节点,计算出四叉树上每个节点的权重,即当前CU的RDCost。如果当前CU的所有划分的RDCost之和要小于不划分的RDCost,则当前CU在编码的时候不做划分。通过这个算法,计算出使整个64x64的RDCost最小的划分路径,用于编码。

对于TU也采用和CU类似的四叉树递归。


每一个CU的Intra预测都使用35中预测方式,但是在HM中使用了MPM快速算法,对所有35中预测进行HAD估算出代价以后,选出几种可能的预测进行RDO,然后选择一个最佳的预测算法,这样大大减少了RDO的次数。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值