在10月份的会议中,也接收了几个有关色度模式编码的几个提案,下面将详细讲述在VTM3.0版本上色度模式编码的流程。
色度分量的预测过程和亮度不太一样。首先是构建色度的预测模式候选列表,VTM3.0中是8个模式,分别有几部分组成,然后是根据RD check对这8个候选模式进行选择,最后把选择的最优模式按照特定的熵编码方式进行编码。
一.色度候选模式列表的构建:
可以看到,前面四个是默认的候选模式,然后是三个LM模式,最后是DM模式。其中,MDLM_L_IDX是只使用左相邻参考像素的LM模式,MDLM_L_IDX是只使用上相邻参考像素的LM模式,也是10月份的会议采纳的技术。DM_CHROMA_IDX即是色度块对应亮度块的最优预测模式,由于在VTM3.0中亮度和色度是独立预测的,所以一个色度块可能对应好几个亮度块,所以10月份会议决定DM模式指的是色度块对应亮度块范围内中心位置的预测模式,如下图所示,蓝色方框即表示当前色度块对应的亮
度范围。如果DM模式与前面四种默认模式有重复时,则将其用模式66替代。
二.对8个候选模式的RD CHECK
(1)先进行粗糙的SATD检测:
对VER,HOR,LM_L,LM_T,DC(角度模式和MDLM)这5种模式提前进行残差的(预测值与原始值之间)SATD检测,根据SATD的结果从小到大排序,将SATD最大的两种模式去掉(即这两种模式不进行Rdcost检测);
对PLANAR,DM,LM(非角度模式和LM)不进行提前的SATD检测,直接进行Rdcost检测;
(2)在第一步的基础上,将剩余的6种模式进行Rdcost检测,选择代价最小的最优模式;
三.最优色度预测模式的熵编码
模式 | 编码比特 | 使用的上下文模型 |
DM | 0 | ctx1 |
LM | 10 | ctx1,cxt2 |
LM_L | 1110 | ctx1,ctx2,cxt3,ctx3 |
LM_T | 1111 | ctx1,ctx2,cxt3,ctx3 |
PLANAR | 11000 | ctx1,ctx2,cxt3,旁路 |
HOR | 11001 | ctx1,ctx2,cxt3,旁路 |
VER | 11010 | ctx1,ctx2,cxt3,旁路 |
DC | 11011 | ctx1,ctx2,cxt3,旁路 |
从上面这个表格可以看出编码DM使用的比特最少,LM其次,编码planar等默认模式使用的比特最多,说明DM被选中的概率应该是最大的,那几个默认模式被选中的概率是相对来说比较小的。