我一直在阅读有关H.264算法的大量论文(参见H.264 codec explained),并且所有这些论文都做出了某些假设,这使得理解算法变得不可能,例如Alexander Herman的H.264/MPEG-4 Advanced Video Coding
帧内预测通过使用帧中先前解码的数据来预测块的值。
但它没有解释预测是什么
是否有详细解释H.264的好文档?
答案 0 :(得分:5)
通过将预测与残差相结合来生成每个像素。
在帧内,通过将像素复制到该块的左侧或上方来进行方形像素块的预测。 (要复制的像素由比特流中的位指定 - 在某些模式下,预测由像素的滤波版本而不是直接复制形成。)
对于图像中的第一个块,没有先前解码的像素,因此预测值设置为128.
一旦进行了预测,就会在其中添加一个值(称为残差),以形成像素的最终值(假设关闭解块)。残差的值包含在比特流中(实际上是残差的变换版本,因为变换意味着需要更少的比特来编码残差)。
因此,总之,比特流首先指定一个数字,该数字表示用于复制/过滤先前解码的像素以形成预测的方法,以及另一组数字,用于指定要添加到此预测中的值以获得最终值像素。
目标是预测非常接近实际图像,因此需要在残差上花费很少的比特。