H.264/AVC视频编解码技术概念与实现
第二集:主流视频编码标准的技术发展
主流视频编码标准的发展 组织 制定标准 时间 CCITT(ITU-T前身) H.261 1988 ISO/IEC – MPEG MPEG-1 1991 ISO+CCITT → JPEG JPEG 1992 ITU-T + MPEG MPEG-2 1994 ITU-T H.263 1995 MPEG MPEG-4 1999 ITU-T+MPEG H.264/MPEG-4 AVC 2003 H.265/HEVC 2013 主流视频编码标准的发展
H.264 / MPEG-4 AVC H.265/HEVC 20133 主流视频编码标准的发展
Google: VP8/VP9 Microsoft: VC-1 国产自主标准:AVS/AVS+/AVS2 其他常见的视频编码标准格式
一、H.261标准 第一种采用“块结构的混合编码”方案的编码标准 目的:视频会议、可视电话等低码率视频图像传输 数据格式:公共中间格式(Common Intermediate Format, CIF) 各国电视制式不统一,无法互通 在使用H.261进行编码之前,首先转换为CIF格式然后再编码 每一帧分辨率(亮度): CIF: 352 X 288 QCIF: 176 X 144 一、H.261标准
H.261编码/解码系统结构
H.261信源编码器 帧内编码/帧间编码判定:根据帧间相关性判定;相关性高使用帧间编码, 相关性低使用帧内编码; 帧间编码/运动估计:使用以宏块为基础的运动补偿预测编码;当前宏块 从参考帧中查找最佳匹配宏块,并计算其相对偏移量(Vx, Vy)作为运动矢 量;编码器使用DCT、量化编码当前宏块和预测宏块的残差信号; 帧内编码:帧内编码直接使用DCT编码8×8像素值 环路滤波器:实际上是一个数字低通滤波器,滤除不必要的高频信息, 以消除方块效应; H.261信源编码器
H.261复合编码器 帧层:由帧首和块组数据构成;帧首包括 帧起始码( PSC)、帧计数码( TR)、帧 类型( PTYPE)等; 块组层:由块组首和宏块数据组成;块组 首包括组起始码( GBSC)、块组编号码 ( GN)、块组量化步长等; 宏块层:由宏块首和块数据构成;宏块首 包括宏块地址码、宏块类型、宏块量化步 长、运动矢量数据、编码模式等; 块层:包括每个8×8块的DCT系数按之字 形扫描后的熵编码码流,以块结束符结尾。 H.261复合编码器
二、H.263标准 H.263相对于H.261的改进: H.263支持的图像格式 运动矢量:相对于H.261对每一个MB分配一个运动矢量,H.263支持每一个 8×8块各自使用一个运动矢量; MV精度:相对于H.261只支持整数像素运动搜索,H.263的精度为1/2像素; 双向预测模式:H.263支持B帧,使用前后双向预测模式 熵编码采用算术编码算法,运算复杂度高,可显著降低码率 H.263支持的图像格式 图像格式 Sub-QCIF QCIF CIF 4CIF 16CIF 分辨率(亮度) 128×96 176×144 352×288 704×576 1480×1152 二、H.263标准
三、MPEG-1标准 B P …… 作用:在CD/VCD介质中存储音视频信息 码率:1.2~1.5Mb/s 图像类型:支持I、B、P帧类型 I帧:帧内编码帧,采用帧内编码,可作为P/B帧的参考帧; P帧:前向预测帧,采用帧间编码,以I/P帧作为参考帧; B帧:双向预测帧,参考前后两个方向的参考帧; 图像显示顺序: I B P …… 三、MPEG-1标准
MPEG-1码流结构 总体结构上,MPEG-1与H.261类似,采 用分层的码流结构 条带层可以有效防止编码错误在一帧内 扩散 MPEG-1码流结构
四、MPEG-2标准 MPEG-2的码流层次:共分为三层: 档(Profile)和级(Level) 基本流:ES,由视频编码的视频基本流和音频编码的音频基本流构成 打包基本流:PES,为音视频ES分别打包 传输流、节目流:TS/PS,若干个PES进行复用后输出,分别用于传输和存储 档(Profile)和级(Level) 按照使用的编码工具共定义了5个Profile(SP/MP/SNP/SSP/HP) 按照视频分辨率定义了4个级别(LL/ML/H1440/HL) MPEG-2格式支持逐行或隔行扫描视频,使用基于帧或场的编码 四、MPEG-2标准
MPEG-2 es流的结构 MPEG-2的ES流结构类似于MPEG-1,也分为图像序列层、图像组、图像、 片、宏块和块层: 图像序列层:包括若干GOP,序列头包含起始码和序列参数等; 图像组(GOP)层:包括若干图像,GOP头包括起始码、GOP标识等; 图像层:包括若干个Slice,图像头中包括起始码和图像参数等; 片(Slice)层:最小的同步单位,包括若干宏块,Slice头中包括起始码、 片地址、量化步长等信息; 宏块(Macroblock)层:由4个亮度块和2个色度块组成,宏块头包括地址、 类型、MV等信息 MPEG-2 es流的结构
五、MPEG-4标准 与前任MPEG-1和MPEG-2相比,MPEG-4更注重多媒体系统的交互性、 灵活性和可扩展性;
下集预告:H.264视频编码标准简介