| 三 视频编码层
视频编码层在原理上与MPEG2是一致的,采用变换编码,使用空间和时间预测的混合编码。图1是一个宏块的视频编码层的框图。总之图像划分成块,一个序列的第一个图像,即随机存取点,典型是帧内编码,帧内每个采样的预测只利用帧内已编码的空间相邻的采样,选择哪些相邻采样进行预测,以及如何预测,这些附加信息必须同时被传送到解码器同步处理。随机存取点之间的图像使用帧间编码。
为了实现下一块或下一个图像的预测,编码器包含一个解码器,对量化变换系数进行与解码器解码相同的反量化和反变换过程,导出解码预测残余,解码残余与预测相加,结果送到去块效应滤波器,产生解码视频输出。
1. 图像、帧和场
一个编码视频序列由连续的编码图像组成,编码图像可以是整个一帧图像,也可以是一场图像。H.264/AVC编码是基于几何概念的表示方法,而不是基于定时的概念。
2. YcbCr色度空间和4:2:0采样
人的视觉特性按照亮度和色度信息分别感知世界。视频的传输可以利用该特性减少色度信息传送。H.264/AVC目前采用与MPEG-2主类相同的4:2:0采样结构、8比特精度,高精度颜色和高比特精度的建议正在讨论中。
3. 宏块划分
每个视频图像帧或场都可以划分为固定大小的宏块,宏块是解码的基本模块单元,通常是一个16×16亮度像素和两个8×8彩色分量像素的长方型区域。所有宏块的亮度和色度采样在空间或时间上进行预测,对预测残余进行变换编码。
4. 像条和像条组
像条由宏块组成,像条是图像的子集,包含图像参数集,语法元素可以被分析,图像可以被独立解码。按照宏块映射表规定的顺序,在位流中安排宏块的传输顺序,而不是按光栅扫描顺序。
利用像条组的概念,H.264/AVC支持灵活宏块排序特性(FMO)。FMO改变了图像划分为像条和宏块的方式。每个像条组是多个宏块集合,通过宏块到像条组的影射表定义,该影射表在图像参数集中指定。每个宏块有一个像条组标识号,所有像条组标识号构成宏块到像条组影射表。每个像条组由一个或多个像条组成,因此像条是一个宏块序列,同一像条组中的宏块,按光栅顺序处理。
利用FMO,图像可以划分为许多宏块扫描图样,例如交织图样、点缀图样,一个或多个前景像条组、剩余像条组,或棋盘型图样影射等。每个像条组分别传送,后两种如图2所示,左边宏块到像条组的影射证明在关注局部型的编码应用中非常有用。右边宏块到像条组的影射证明适合保密型会议系统等应用。
无论是否使用FMO,H.264/AVC支持5种像条编码类型:
I像条:最简单的编码类型,所有的宏块不参考视频序列中其他的图像。
P像条:除了I像条编码类型外,P像条的部分宏块可以利用帧间预测,每个预测块至多可使用一个运动补偿预测信号。
B像条:除了P像条编码类型外,B像条的部分宏块可以利用帧间预测,每个预测块可使用两个运动补偿预测信号。
以上三种与以前的标准相似,主要是参考图像不同,其余两种像条类型是SP(切换P) SI(切换I),是新的类型,用于在不同位率编码码流之间进行有效切换。
SP像条: 称作切换P像条,能在不同编码图像之间有效地切换。
SI像条:称作切换I像条,允许SP像条的宏块完全匹配,达到随机读取数据进行解码和恢复错误的目的。
5. 宏块的编解码过程 |