名词解释
场和帧:视频的一场或一帧可用来产生一个编码图像。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。
宏块、片::一个编码图像通常划分成若干宏块组成,一个宏块由一个16×16亮度像素和附加的一个8×8 Cb和一个8×8 Cr彩色像素块组成。每个图象中,若干宏块被排列成片的形式。
I片只包含I宏块,P片可包含P和I宏块,而B片可包含B和I宏块。
I宏块利用从当前片中已解码的像素作为参考进行帧内预测。
P宏块利用前面已编码图象作为参考图象进行帧内预测,
一个帧内编码的宏块可进一步作宏块的分割:即16×16、16×8、8×16或8×8亮度像素块(以及附带的彩色像素);如果选了8×8的子宏块,则可再分成各种子宏块的分割,其尺寸为8×8、8×4、4×8或4×4亮度像素块(以及附带的彩色像素)。
B宏块则利用双向的参考图象(当前和未来的已编码图象帧)进行帧内预测。
档次和级
H.264规定了三种档次,每个档次支持一组特定的编码功能,并支持一类特定的应用。
1)基本档次:利用I片和P片支持帧内和帧间编码,支持利用基于上下文的自适应的变长编码进行的熵编码(CAVLC)。主要用于可视电话、会议电视、无线通信等实时视频通信;
2)主要档次:支持隔行视频,采用B片的帧间编码和采用加权预测的帧内编码;支持利用基于上下文的自适应的算术编码(CABAC)。主要用于数字广播电视与数字视频存储;
3)扩展档次:支持码流之间有效的切换(SP和SI片)、改进误码性能(数据分割),但不支持隔行视频和CABAC。主要用于网络的视频流,如视频点播
图3为H.264各个档次具有的不同功能,可见扩展档次包括了基本档次的所有功能,而不能包括主要档次的。每一档次设置不同参数(如取样速率、图像尺寸、编码比特率等),得到编解码器性能不同的级。
H.264/AVC的结构
编码数据格式
H.264支持4:2:0的逐行或隔行视频的编码和解码。
参考图像
可从一组前面或后面已编码图像中选出一个或两个与当前最匹配的图像作为帧间编码间的参数图像,H.264中最多可从15个参考图像中进行选择,选出最佳的匹配图像。对于P片中帧间编码宏块可从表“0”中选择参数图像;对于B片中的帧间编码宏块和宏块分割的预测,可从表“0”和“1”中选择参考图像。
片和片组
片
一个视频图像可编码成一个或更多个片,每片包含整数个宏块(MB),即每片至少一个MB,最多时每片包含整个图像的宏块。
设片的目的是为了限制误码的扩散和传输,使编码片相互间是独立的。某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。
编码片共有5种不同类型,I片、P片、B片外,还有SP片和SI片。其中SP(切换P)是用于不同编码流之间的切换。
片和片组
片组
片组是一个编码图象中若干MB的一个子集,它可包含一个或若干个片。在一个片组中,每片的MB按光栅扫描次序被编码,如果每幅图象仅取一个片组,则该图象中所有的MB均按光栅扫描次序被编码。
还有一种片组,叫灵活宏块次序(FMO),它可用灵活的方法,把编码MB序列映射到解码图象中MB的分配用MB到片组之间的映射来确定,它表示每一个MB属于哪个片组。表1 为MB到片组的各种映射类型。
http://download.csdn.net/detail/aoliaoaoao/4981727
http://download.csdn.net/detail/aoliaoaoao/4983918