HEVC模式选择过程
HEVC通过遍历候选模式获得最佳的预测模式,过程如下(LCU:64X64,SCU:8X8):
1.当前编码单元尺寸上进行帧内模式的率失真代价计算,遍历不同的模式,得到其代价最小的预测模式;
2.将当前尺寸分割成4个更小的CU尺寸,并进行第一步的计算;
3.判断,若当前块尺寸大于SCU,则转到步骤2;若等于8X8的尺寸,直接跳到第4步;
4.对所有划分方式进行率失真的比较,选出最优划分方式,存储其率失真代价最小的情况。
HEVC帧内编码
就是一个递归的过程,首先CTU进行帧内编码的模式搜索,计算出相应的率失真代价RD cost_1,然后把CTU划分为四个子CU,对每一个子CU按照之前对CTU预测得到的模式来进行计算率失真代价RD cost_2。
比较二者的值,若RD cost_1<RD cost_2,则当前CU不进行划分,反之,则将当前CU划分为4个子CU。
同理,对每一个子CU进行相同的操作,直至CU分割到8X8。
对于CU的尺寸大于8X8时,PU的尺寸和CU相同。
当CU的尺寸等于8X8时,存在8X8和4X4两种PU尺寸。
因此一个64X64的CU,如果进行深度为4的划分话,一共会形成85个CU,深度遍历四叉树的每个节点,计算出四叉树上每个节点的权重,即当前CU的RD cost。
若当前CU的所有划分的RD cost之和小于不划分的RD cost,则当前CU在编码的时候进行划分。
通过这个算法,计算出使整个64X64的RD cost最小的划分路径,用于编码。