10年季后赛太阳vs马刺:[原创] Skip宏块与Direct预测模式浅析

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 21:07:23

[原创] Skip宏块与Direct预测模式浅析

对于我来说,这个是一个老问题了。以前蓝风车专门给我讲解,我都没搞懂(真有点对不起蓝风车的细心教诲哈。呵呵~~~)。今天终于弄清楚了,特此总结出来,请大家指正。               

=================================================================================               

B_Skip类型宏块(200503版标准,表7-14最后一行):         无像素残差,无运动矢量残差(MVD)。解码时,通过Direct预测模式(时间或空间)计算出前、后向MV后,直接利用前、后向MV得到像素预测值。像素重构值=像素预测值        

B_Direct_16*16类型宏块(200503版标准,表7-14第一行):有像素残差,无运动矢量残差(MVD)。解码时,通过Direct预测模式(时间或空间)计算出前、后向MV后,利用前、后向MV得到像素预测值。然后,像素重构值=像素预测值+像素残差解码值      

P_Skip类型宏块(200503版标准,表7-13最后一行):          也就是COPY宏块。无像素残差,无运动矢量残差(MVD)。直接利用预测MV得到像素预测值。像素重构值=像素预测值        



【特别说明】:

1、有残差就有CBP(表示残差编码状态,详见BBS中我的帖子“CBP详解”),反过来没有残差当然就没有CBP;      
2、请一定不要把 Direct 类型宏块、Skip 类型宏块、Direct 预测模式这三个混淆了。B_Skip 类型宏块(大小为16*16)、B_Direct_8*8 类型块(大小为 8*8)和B_Direct 类型宏块(大小为 16*16)都采用的是 Direct预测模式;
3、关于时间和空间的Direct 预测模式,请大家参考标准文档的8.4.1.2小节;
4、与本论坛另一篇帖子“请问Skipped Macroblock是什么意思? ”参照学习;
5、我是跟踪JM86解码过程得出以上结论的。如果某些部分有点错误,请大家指正。