h264 为什么说 slice 的解码只用到本slice内的数据,以减少错误扩散,然后又说p_slice依赖I_slice, 这不是自相矛盾么?找了两本书,都是雷同的解释,果然天下文章一大抄,连出书的都抄。
h264:设片(slice)的目的是为了限制误码的扩散和传输,应使编码片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去
P宏块利用前面已编码图象作为参考图象进行帧内预测
帮忙解释一下,到底是人家书本抄错了,还是我理解有误。
话说提个问题怎么就没有合适的问题标签呢?
https://www.jianshu.com/p/c38506f50eb7
不懂,但是我看了截图 感觉书上的描述没有问题 说的也很清晰,我是这样理解的:
slice是片,P_slice 包含了I宏块和P宏块,P宏块根据I宏块做预测,P宏块的依赖是本slice中的其他宏块 范围没有超出slice
不同slice之间是隔离的,所以没有矛盾之处
这样设片的确限制了误码的扩散和传输,比如当前slice中的I宏块有误码,仅仅扩散到该slice中的P宏块的预测结果
而其他slice中的P宏块也是根据其他slice中的I宏块预测,因此当前slice中的误码限制在了当前片 ,没有扩散到其他片
恩 就是这样吧
另外好像截图中只是说P宏块利用已编码图像作为参考,同时P片中可包含I宏块和P宏块,也没有说个数限制 因此推测P片中可能会包含多个I宏块和多个P宏块,也许其中的P宏块不止是利用同一片中的其他I宏块,同样也利用同一片下其他已编码的P宏块作为参考,