JEM中的色度模式总共有11种,包括5种传统预测模式和6种CCLM模式,其中6种CCLM模式又包括1种单模型CCLM(编号67)模式和5种多模型CCLM模式(编号68-72)。在色度预测的总函数中,遍历这11种模式,根据代价选择最优的一个。
1. 首先,为了加快RD cost的选择过程,我们先用69-72这四种MMLM模式对色度信号进行预测,从而计算简单的SATD,选择最小的一种模式进行后续的RD COST的比较,其他三种则排除;
2. 然后对剩余8种模式进行完整的RD Cost的比较;
2.1. 若是传统的预测模式(角度或者DC或者PLANAR),则按照相应的计算公式计算预测值;
2.2. 如果单模型CCLM,则使用当前块的相邻亮度采样(上相邻一行和左相邻一列)和色度采样计算参数a和b,然后按照线性模型用当前块的亮度采样预测色度采样;
2.3. 如果是多模型CCLM,则
2.3.1. 因为亮度块和色度块的大小不一致,所以先对亮度采样进行下采样,顺序为先对上相邻4行亮度分量进行下采样,再对左相邻4列亮度分量进行下采样,最后对当前块亮度分量进行下采样(还有68,69,70,71,72 MMLM模式之间的差异在于使用的下采样滤波器不一样,68使用默认的6抽头滤波器(67也是),69,70,71分别使用3种不同的2抽头滤波器,72使用4抽头滤波器);
2.3.2. 统计上相邻两行和左相邻两列的采样个数,并将相邻亮度采样和色度采样分别保存至LumaSamples和ChrmSamples(若采样个数少于4个,则a,b使用默认值0和512,inf和sup (用于当前亮度块的分组)分别为0和1023);
2.3.3. 计算相邻亮