H.264的基本概念

来源:互联网 发布:天海佑希 知乎 编辑:程序博客网 时间:2024/06/05 14:37
图像,,
1). frame;逐行扫描图像
2). field:隔行扫描图像,偶数行成为顶场行,奇数行称为为底场行,所有顶场行称为顶场,同样所有底场行称为底场。
3). pictue:场和帧都可认为是图像
       顶底场分别编码,对应位置的宏块叫做宏块对。顶场对已编码的顶/底场预测编码。底场一般对顶场预测编码.
 
IDR帧与I帧的区别:
因为264采用了多帧预测,就有可能在display orderI帧后的P会参考I帧前的帧,这样在random access时如果只找I帧,随后的帧的参考帧可能unvailableIDR就是这样一种特殊的I帧,把它定义为确保后面的P一定不参考其前面的帧,可以放心地random access
IDR的出现其实是相当于向解码器发出了一个清理reference buffer的信号吧,上面说前于这一帧的所有已编码帧不能为inter做参考帧了。
 
I帧和P帧的概念比较好懂,B帧的概念有些模糊,只知道加了B帧图像质量会更好,请问对B帧该怎么理解?
帧在 MPEG-4 中有四种参考模式,如果是同时参考前后的画面压缩,则记录的是 (前画面pixel  + 后画面 pixel )/2 的差值,也就是「前后画面的平均」的差值。所以记录的差值个数和帧一样,只有一个,没有增加。而因为 B 帧位于前后画面的中间,以「前后画面的平均」,也就是「前后画面的中间值」来作为预测数值(预测 B 帧的 pixel 数值为多少?如果有误差,再记录差值),这样这个预测数值会比单独使用前一个画面来预测,更接近目前真正的 B 帧的数值,可想而知,如此所需要记录的差值就会很小甚至可以根本不用记录,所以便可以省下很多的 bits,提高压缩率。
除了压缩率以外,帧对画质的影响也是有的,因为 B 帧这种参考前后画面的特性,等于有内插(interpolation)的效果,所以可以减少噪讯。
图像,场,帧
一个视频图像可编码成一个或更多个片,每片包含整数个宏块(MB),即每片至少一个MB,最多时每片包含整个图像的宏块。总之,一幅图像中每片的宏块数不一定固定。
设片的目的是为了限制误码的扩散和传输,应使编码片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。
编码片共有种不同类型,除已讲过的片、片、片外,还有SP 片和SI 片。其中SP(切换P)是用于不同编码流之间的切换;它包含/宏块。它是扩展档次中必须具有的切换,它包含了一种特殊类型的编码宏块,叫做SI 宏块,SI 也是扩展档次中的必备功能。
片组是一个编码图象中若干MB 的一个子集,它可包含一个或若干个片。
在一个片组中,每片的MB 按光栅扫描次序被编码,如果每幅图象仅取一个片组,则该图象中所有的MB 均按光栅扫描次序被编码(除非使用ASO,即任意的片次序,即一个编码帧中的片之后可跟随任一解码程序的片)。
还有一种片组,叫灵活宏块次序(FMO),它可用灵活的方法,把编码MB 序列映射到解码图象中MB 的分配用MB 到片组之间的映射来确定,它表示每一个MB 属于哪个片组。
原创粉丝点击