`
xpp02
  • 浏览: 1013826 次
社区版块
存档分类
最新评论

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解码过程得出以上结论的。如果某些部分有点错误,请大家指正。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics