1、多媒体技术基础(第3版)第12章 MPEG视像,张奇复旦大学 计算机科学技术学院 2011年5月,2018年9月21日,第12章 MPEG视像,2/46,第12章 MPEG视像目录,12.1 视像数据的冗余12.2 视像数据的速率12.2.1 BT.601视像数据速率12.2.2 VCD视像的压缩比12.2.3 DVD视像的压缩比12.3 MPEG-1视像12.3.1 视像数据的压缩算法12.3.2 帧内图像I的压缩编码算法12.3.3 预测图像P的压缩编码算法12.3.4 双向预测图像B的压缩编码算法12.3.5 帧图像的编排顺序12.3.6 视像数据流的结构,12.4 MPEG-2视像12
2、.4.1 视像编码器和解码器12.4.2 视像数据位流的结构12.4.3 视像质量可变编码12.5 MPEG-4 Visual视像12.5.1 MPEG-4 Visual简介12.5.2 视像对象的编码与解码概要12.5.3 可视对象的层次结构,2018年9月21日,第12章 MPEG视像,3/46,第12章 MPEG视像,MPEG视像MPEG视像是指使用MPEG视像标准压缩和解压缩的电视图像现有的MPEG视像标准包括MPEG-1 Video,MPEG-2 Video,MPEG-4 Visual和MPEG-4 AVC / H.264。这些视像标准有许多共同之处,基本概念类似,数据压缩和编码方法
3、基本相同,它们的核心技术都是采用以图像块作为基本单元的变换、量化、移动补偿、熵编码等技术,在保证图像质量的前提下获得尽可能高的压缩比本章将介绍MPEG视像标准1压缩视像数据的基本原理和方法,对最近几年开发的MPEG-4 AVC / H.264标准将在第13章中作较详细的介绍,2018年9月21日,第12章 MPEG视像,4/46,12.1 视像数据的冗余,视像数据存在的冗余时间冗余(temporal redundancy) 与时间相关的冗余:在某个时间间隔上出现场景相同或基本相同的连续帧时,帧与帧之间存在大量的冗余数据空间冗余(spatial redundancy)与空间位置有关的冗余:在单帧
4、图像中,相邻像素的值常有相同或变化不大的情况,可用较少数据表达结构冗余(structural redundancy) 图像自身构造的冗余:若从宏观上来看一帧图像,有些图像存在相同或类似的结构,如用地板图案构成的图像视觉冗余(vision redundancy)与视觉系统有关的冗余:对图像的亮度变化敏感而对颜色变化不敏感,对剧烈变化区域敏感而对缓慢变化区域不敏感,对图像的亮度和颜色的分辨率都存在极限,2018年9月21日,第12章 MPEG视像,5/46,12.1 视像数据的冗余(续),知识冗余(knowledge redundancy)与知识有关的冗余:在单帧图像中含有为人熟知的知识,称为先验
5、知识。例如,正面人头像有相对固定的结构,眼睛下方是鼻子,鼻子下方是嘴,嘴和鼻子均位于脸的中线上。这类规律性的结构往往不会改变或变化不大,而用传统方式录制的视像数据中存在许多重复的数据知识是某个感兴趣领域中的实事、概念和关系(6) 数据冗余(data redundancy)数据本身的冗余:视像数据本身存的冗余,2018年9月21日,第12章 MPEG视像,6/46,12.2 视像数据的速率,12.2.1 BT.601视像数据速率使用4:2:2采样格式,亮度信号Y的采样频率为13.5 MHz,色差信号Cr和Cb的采样频率为6.75 MHz,每个样本的精度为10位,视像数据速率为(1) 亮度(Y)8
6、58样本/行525行/帧30帧/秒10位/样本135兆位/秒(NTSC)864样本/行625行/帧25帧/秒10位/样本135兆位/秒(PAL)(2) Cr (R-Y)429样本/行525行/帧30帧/秒10位/样本68兆位/秒(NTSC)432样本/行625行/帧25帧/秒10位/样本68兆位/秒(PAL)(3) Cb (B-Y)429样本/行525行/帧30帧/秒10位/样本68兆位/秒(NTSC)432样本/行625行/帧25帧/秒10位/样本68兆位/秒(PAL)总计:27兆样本/秒10位/样本 = 270兆位/秒,2018年9月21日,第12章 MPEG视像,7/46,12.2 视像
7、数据的速率(续1),实际上,在荧光屏上实际显示的有效图像的数据传输率并没有那么高,其中,(1) 亮度(Y)720样本/行480行/帧30帧/秒10位/样本 104兆位/秒(NTSC)720样本/行576行/帧25帧/秒10位/样本 104兆位/秒(PAL)(2) 色差(Cr,Cb)2360样本/行480行/帧30帧/秒10位/样本 104兆位/秒(NTSC)2360样本/行576行/帧25帧/秒10位/样本 104兆位/秒(PAL)总计: 207兆位/秒(Mb/s)如果每个样本的采样精度由10位降为8位,彩色数字电视信号的数据传输率就降为166 Mb/s,2018年9月21日,第12章 MPE
8、G视像,8/46,12.2 视像数据的速率(续2),12.2.2 VCD视像的压缩比压缩比的概念压缩比是数据压缩程度的一种度量方法,其值等于压缩前的数据大小与压缩后的数据大小之比。例如,把一幅原来为1 MB的图像压缩成128 KB,其压缩比就是10241024/1281024 = 81。VCD盘要求的压缩比使用Video-CD存储器早期的数据传输率为1.4112 Mb/s,分配给电视信号的数据传输率为1.15 Mb/s,这就意味着MPEG视像编码器输出的数据速率要达到1.15 Mb/s如果存储166 Mb/s的数字电视信号就需要对它进行高度压缩,压缩比高达166/1.15 144:1。,201
9、8年9月21日,第12章 MPEG视像,9/46,12.2 视像数据的速率(续3),NTSC和PAL的数据传输率MPEG-1视像压缩技术不能达到这样高的压缩比。为此首先把NTSC和PAL数字电视转换成公用中分辨率格式(CIF)的数字电视,子采样使用4:2:0或4:1:1时,这种格式就相当于家用录像系统(VHS)的质量,于是彩色数字电视的数据传输率就要减小到,3522403081.5 30 Mb/s (NTSC)3522882581.5 30 Mb/s (PAL)VCD视像的压缩比把这种彩色数字电视信号存储到CD盘上所需要的压缩比为30/1.15 26:1。这是MPEG-1技术能够获得的压缩比,
10、2018年9月21日,第12章 MPEG视像,10/46,12.2 视像数据的速率(续4),12.2.3 DVD视像的压缩比DVD盘要求的压缩比DVD-Video存储器的数据传输率可达到10.08 Mb/s以上,一张4.7 GB的单面单层DVD盘要存放133分钟的电视节目,按照视像数据的平均数据传输率为4.1 Mb/s来计算,压缩比就要求达到166/4.10 40:1NTSC和PAL的数据传输率如果视像的子采样使用4:2:0格式,每个样本的精度为8位,视像数据传输率就减小到124 Mb/s,即7204803081.5 124 Mb/s (NTSC)7205762581.5 124 Mb/s (
11、PAL)DVD视像的压缩比使用DVD-Video来存储72048030或72057625的数字视像所需要的压缩比为124/4.1 30:1,2018年9月21日,第12章 MPEG视像,11/46,12.3 MPEG-1视像,12.3.1 视像数据的压缩算法MPEG-1视像(MPEG-1 Video)456压缩视像数据的基本方法可以归纳成两个要点在空间方向上,采用与JPEG类似的算法来去掉空间冗余数据在时间方向上,采用移动补偿(motion compensation)算法来去掉时间冗余数据MPEG专家组为此开发了两项重要技术定义了视像数据的结构定义了三种类型的图像,2018年9月21日,第12
12、章 MPEG视像,12/46,12.3 MPEG-1视像(续1),视像数据结构把视像片段看成由一系列静态图像(picture)组成的视像序列(sequence)把视像序列分成许多像组(group of picture,GOP)把像组中的每一帧图像分成许多像片(slice),每个像片由16行组成把像片分成16行16像素/行的宏块(macroblock,MB)把宏块分成若干个8行8像素/行的图块(block),见图12-1(a)使用子采样格式为4:2:0时,一个宏块由 4个亮度(Y)图块和两个色度图块(Cb和Cr)组成,见图12-1(b),2018年9月21日,第12章 MPEG视像,13/46,
13、12.3 MPEG-1视像(续2),(a) 视像数据的组织,(方框中的数字为图块编号)(b) 宏块的结构(4:2:0),图12-1 视像数据结构,2018年9月21日,第12章 MPEG视像,14/46,12.3 MPEG-1视像(续3),三种类型的图像(见图12-2) MPEG专家组定义了三种类型的图像,然后采用三种不同的算法分别对它们进行压缩帧内图像I (intra- picture),简称为I图像或I帧(I-picture / I-frame)包含内容完整的图像,用于为其他帧图像的编码和解码作参考,因此也称为关键帧 预测图像P (predicted picture),简称为P图像或P帧(
14、P-picture / P-frame)指以在它之前出现的帧内图像I作参考图像的图像,对预测图像P进行编码就是对它们之间的差值进行编码,2018年9月21日,第12章 MPEG视像,15/46,12.3 MPEG-1视像(续4),双向预测图像B (bidirectionally-predictive picture ),也称双向插值图像B(bidirectionally-interpolated picture),简称为B图像或B帧(B-picture/B-frame) 以在它之前和之后的帧图像(I和P)作参考的图像,对B进行编码就是对帧内图像I和预测图像P的差值分别进行编码,图12-2 MP
15、EG专家组定义的三种图像,2018年9月21日,第12章 MPEG视像,16/46,12.3 MPEG-1视像(续5),12.3.2 帧内图像I的压缩编码算法不参照过去的帧和将来的帧,采用与JPEG类似的压缩算法以减少空间的冗余数据,见图12-3如果视像是用RGB空间表示的视像,则首先把它转换成YCrCb空间表示的视像每个图像平面分成88像素的图块,对每个图块进行离散余弦变换(DCT),变换后产生的交流分量系数经过量化之后按照Zig-zag的形状排序。DCT得到的直流分量系数经过量化之后用差分脉冲编码(DPCM),交流分量系数用行程长度编码RLE,然后再用霍夫曼(Huffman)编码或者用算术
16、编码,2018年9月21日,第12章 MPEG视像,17/46,12.3 MPEG-1视像(续6),图12-3 帧内图像I的压缩编码算法框图3,2018年9月21日,第12章 MPEG视像,18/46,12.3 MPEG-1视像(续7),12.3.3 预测图像P的压缩编码算法 (1) 算法原理预测图像P的编码以宏块(MB)为基本编码单元,一个宏块定义为像素的图块,一般取1616预测图像P使用两种类型的参数表示当前要编码的图像宏块与参考图像的宏块之间的差值宏块的移动矢量(motion vector, MV),见图12-4,图12-4 移动矢量的概念,2018年9月21日,第12章 MPEG视像,
17、19/46,12.3 MPEG-1视像(续8),(2)求解差值的方法(见图12-5)假设编码宏块MPI是参考宏块MRJ的最佳匹配块,它们的差值就是这两个宏块中相应的像素值之差对所求得的差值进行彩色空间转换,然后使用4:1:1或4:2:0格式采样。对采样得到的Y,Cr和Cb分量值,仿照JPEG压缩算法对差值进行编码对计算出的移动矢量进行DCT变换和霍夫曼编码(3)求解移动矢量的方法在求两个宏块差值之前,需要找出预测编码图像中的编码宏块相对于参考图像中的参考宏块所移动的距离和方向,即移动矢量求解移动矢量的方法见图12-6,2018年9月21日,第12章 MPEG视像,20/46,12.3 MPEG
18、-1视像(续9),图12-5 预测图像P的压缩编码算法框图3,2018年9月21日,第12章 MPEG视像,21/46,12.3 MPEG-1视像(续10),图12-6 移动矢量的算法框图,2018年9月21日,第12章 MPEG视像,22/46,12.3 MPEG-1视像(续11),最佳匹配:编码宏块MPI(如f(x, y)是参考宏块MRJ(如g(x, y)的最佳匹配是指这两个宏块之间的差值最小以绝对值(absolute difference,AE)最小作为匹配判据,有些学者提出了以均方误差(mean-square error,MSE)最小作为匹配判据,也有些学者提出以平均绝对帧差(mean
19、 of the absolute frame difference,MAD)最小作为匹配判据,其中,dx和dy分别是参考宏块MRJ的移动矢量d(dx, dy) 在x和y方向上的移动矢量,2018年9月21日,第12章 MPEG视像,23/46,12.3 MPEG-1视像(续12),(4)搜索算法为减少搜索次数,现在已开发出许多简化算法用来寻找最佳宏块,下面介绍其中三种 二维对数搜索法(2D-logarithmic search) 匹配判据:MSE为最小搜索策略:沿着最小失真方向搜索搜索方法:见图12-7 在搜索时,每移动一次就检查5个搜索点如果最小失真在中央或在边界,就减少搜索点之间的距离在这
20、个例子中,步骤1,2,5得到的近似移动矢量d为(i,j-2)、(i,j-4)、(i+2,j-4)、(i+2,j-5)和(i+2,j-6),最后得到的移动矢量为d(i+2,j-6),2018年9月21日,第12章 MPEG视像,24/46,12.3 MPEG-1视像(续13),图12-7 二维对数搜索法,2018年9月21日,第12章 MPEG视像,25/46,12.3 MPEG-1视像(续14),三步搜索法(three-step search)这种搜索法与二维对数搜索法很接近在开始搜索时,搜索点离中心点(i,j)很远第一步,测试8个搜索点,见图12-8。在这个例子中,点(i+3,j-3)作为第
21、一个近似的移动矢量d1第二步,搜索点偏离(i+3,j-3)较近,找到的点假定为(i+3,j-5)第三步给出了最后的移动矢量为d(i+2,j-6)注:本例采用MAD作为匹配判据,2018年9月21日,第12章 MPEG视像,26/46,12.3 MPEG-1视像(续15),图12-8 三步搜索法,2018年9月21日,第12章 MPEG视像,27/46,12.3 MPEG-1视像(续16),对偶搜索法(conjugate search)使用MAD作为匹配判据,搜索方法见图12-9在第一次搜索时,通过计算点(i-1,j)、(i,j)和(i+1,j)处的MAD值来决定i方向上的最小失真如果计算结果表
22、明点(i+1,j)处的MAD为最小,就计算点(i+2,j)处的MAD,并从(i,j),(i+1,j)和(i+2,j)的MAD中找出最小值按这种方法一直进行下去,直到在i方向上找到最小MAD值及其对应的点在整个MPEG图像压缩过程中,寻找最佳匹配宏块要占据相当多的计算时间,匹配得越好,重构的图像质量越高,2018年9月21日,第12章 MPEG视像,28/46,12.3 MPEG-1视像(续17),图12-9 对偶搜索法,2018年9月21日,第12章 MPEG视像,29/46,12.3 MPEG-1视像(续18),12.3.4 双向预测图像B的压缩编码算法对在它前后帧的像素值之差进行编码,见图
23、12-10。具体计算方法与预测图像P的算法类似双向预测图像B不传播编码误差三种图像压缩性能比较帧内图像I、预测图像P和双向预测图像B经过压缩后的大小见表12-2从表中可以看到,帧内图像I的数据量最大,而双向预测帧图像B的数据量最小,2018年9月21日,第12章 MPEG视像,30/46,12.3 MPEG-1视像(续19),图12-10 双向预测图像B的压缩编码算法框图3,2018年9月21日,第12章 MPEG视像,31/46,12.3 MPEG-1视像(续20),12.3.5 帧图像的编排顺序MPEG-1编码器允许选择帧内图像I出现的频率和位置。通常的频率为2 Hz在两帧图像I之间或在图
24、像I和P之间选择图像B的数目图像I、P和B的数目主要是根据节目的内容来确定。例如对于快速运动的图像,帧内图像I的频率可以选择高一些,双向预测图像B的数目可以选择少一些对于慢速运动的图像,帧内图像I的频率可以低一些,而双向预测图像B的数目可以选择多一些,这样可保证视像的质量。一个I、P和B的典型编排顺序见图12-11编码参数:I的距离N=15,P的距离M=3在视像解码时,因B需I和P做参考,故在解码之前需重新组织帧图像数据流的输入顺序,其方案见图12-12,2018年9月21日,第12章 MPEG视像,32/46,12.3 MPEG-1视像(续21),图12-11 MPEG帧图像的编排示例,图1
25、2-12 MPEG帧图像和视像流的顺序,2018年9月21日,第12章 MPEG视像,33/46,12.3 MPEG-1视像(续22),12.3.6 视像数据流的结构数据位流的组织关系到如何设计解码器,如无统一规范,设计的解码器就不能通用按层次结构组织,一个视像序列(video sequence)分成6层,见图12-13(1) 序列层(sequence)(2) 像组层(group of pictures,GOP)(3) 图像层(picture)(4) 像片层(slice)(5) 宏块层(macroblock,MB)(6) 图块(block)层,2018年9月21日,第12章 MPEG视像,34
26、/46,12.3 MPEG-1视像(续23),图12-13 MPEG-1视像序列的结构,2018年9月21日,第12章 MPEG视像,35/46,12.4 MPEG-2视像,MPEG-2视像MPEG-2视像标准7是MPEG-1视像标准的扩展版本,在全面继承MPEG-1视像数据压缩算法基础上,增添了许多新的语法结构和算法,用于支持顺序扫描和隔行扫描NTSC、PAL、SECAM和HDTV格式的视像视像的实时传输为适应各种不同的应用,MPEG-2视像标准定义了多种视像质量可变的编码方式,2018年9月21日,第12章 MPEG视像,36/46,12.4 MPEG-2视像(续1),12.4.1 视像编
27、码器和解码器MPEG-2视像编码器和解码器的结构框图见图12-14,原理上与MPEG-1的编码和解码结构基本相同编码系统见图12-14(a) “ME(移动估算器)”用于计算移动矢量,找出最佳匹配宏块 “内置解码器”用于产生预测图像,它的输入包括移动矢量、量化DCT系数和用于控制数据速率的量化参数控制信号输入视像和预测图像通过“(加法器)”产生预测误差,经过“DCT(余弦变换)”和“Q(量化)”之后送给“VLE(可变长度编码器)”,移动矢量也送到“VLE”,它们在“VLE”经过编码和复合之后送到传输媒体或存储媒体“量化参数控制”信号可改变视像质量和数据速率编码系统见图12-14(b),2018年
28、9月21日,第12章 MPEG视像,37/46,12.4 MPEG-2视像(续2),图12-14 MPEG-2编码器与解码器的结构框图8,2018年9月21日,第12章 MPEG视像,38/46,12.4 MPEG-2视像(续3),图12-14 MPEG-2编码器与解码器的结构框图8,2018年9月21日,第12章 MPEG视像,39/46,12.4 MPEG-2视像(续4),12.4.2 视像数据位流的结构结构与MPEG-1视像数据位流的结构类似以子采样4:2:0为例的结构见图12-15一个视像序列分成G个视像组(GOP)每个组包含P帧图像(picture)每帧图像分成S条像片(slice)
29、每条像片分成M个宏块(macroblock)每个宏块包括4个88的亮度(Y)图块和2个88的色度(Cb, Cr)图块,2018年9月21日,第12章 MPEG视像,40/46,12.4 MPEG-2视像(续5),图12-15 MPEG-2视像数据位流结构(子采样为4:2:0),2018年9月21日,第12章 MPEG视像,41/46,12.4 MPEG-2视像(续6),12.4.3 视像质量可变编码优点:可提供不同等级的视像服务质量,以适应不同应用缺点:增加了编码和解码的复杂性,降低了压缩效率视像可变编码采用分层编码技术(layered coding),通常分成基层编码(base-layer
30、coding)或称低层编码(lower-level coding):编码、传输和解码可单独进行增强层编码(enhancement-layer coding)或称高层编码(upper-level coding):编码、传输和解码要依赖基层或先前的增强层才能完成MPEG-2视像标准支持的可变编码方式,主要包括信噪比可变(SNR Scalability)编码:针对需要多种视像质量的应用,使用增强层编码提供比较高的信噪比空间分辨率可变(Spatial Scalability)编码:针对需要同时广播多种空间分辨率视像的应用,用增强层编码提供比较高的空间分辨率时间分辨率可变(Temporal Scalab
31、ility)编码:针对从远程通信到HDTV以及需要有立体感视像的应用数据分割(Data Partitioning)编码:针对有两个信道传输视像数据位流的应用,它将量化的DCT系数进行分割,编码后分别送到不同的信道混合可变(Hybrid Scalability)编码:组合以上三种增强层编码中的任何两种编码,可获得不同性能的视像,2018年9月21日,第12章 MPEG视像,42/46,12.5 MPEG-4 Visual视像,MPEG-4 Visual是什么视像压缩编码技术,试图提供的数据率为小于64 kbps、64384 kbps和0.3844 Mbps标准号:ISO/IEC 14496-2
32、Part 21999年发布的可视对象编码标准;2004年发布了第3版应用目标自然对象编码:自然对象编码包括形状编码(shape coding)、纹理编码(texture coding)、移动编码(motion coding)和精灵编码(sprite coding)合成对象编码:合成对象编码包括图形编码、人的面部活动和身体动作等的编码 合成-自然对象混合编码(SNHC),2018年9月21日,第12章 MPEG视像,43/46,12.5 MPEG-4 Visual视像(续),涉及自然视像的类型Simple Profile (主要用于移动通信和因特网的简单型)Advanced Simple Pro
33、file (主要用于发行影视的高级简化型)Main Profile (主要用于影视广播的主流型)Core Profile (主要用于需要互动服务的核心型)注:其中的高级简化型(ASP)是前几年用得较多的视像类型编码原理和方法在文献10中做了详细介绍执行该标准并不太难,更困难的是MPEG-4 Visual标准之外的技术,如如何从场景中抽出各种对象AVC/H.264标准受重视它的某些性能优于MPEG-4 Visual的自然视像编码,因此最近几年开发MPEG-4 Visual编码器的兴趣已经下降,但还没有迹象表明MPEG-4 Visual要终止,2018年9月21日,第12章 MPEG视像,44/4
34、6,第12章 MPEG视像参考文献和站点,The MPEG Home Page, http:/www.chiariglione.org/mpeg/,MPEG Industry Forum, http:/www.m4if.org/tutorials.phpA Beginners Guide for MPEG-2 Standard, http:/www.fh-friedberg.de/fachbereiche/e2/telekom-labor/zinke/mk/mpeg2beg/beginnzi.htmISO/IEC. CD 11172-2,Coding of Moving Pictures an
35、d Associated Audio For Digital Storage Media at up to about 1.5 Mb/s,12/6/1991Didier Le Gall. MPEG: A Video Compression Standard for Multimedia Applications, Communications of the ACM,Vol.34,No.4,Apr.1991CCITT Recommendation. H.261,Video Codec for Audiovisual Service at p64 Kb/s, Aug.1990ISO/IEC 138
36、18-2, Information Technology - Generic Coding of Moving Pictures and Associated Audio Information: Video, Recommendation ITU-T H.262 (1995 E)P.N. Tudor,MPEG-2 VIDEO COMPRESSION,http:/www.bbc.co.uk/rd/pubs/papers/paper_14/paper_14.shtml,2018年9月21日,第12章 MPEG视像,45/46,第12章 MPEG视像参考文献和站点(续),A Mayer, H Li
37、nder. A Survey of Adaptive Layered Video Multicast using MPEG-2 Streams. http:/www.telenor.no/fou/prosjekter/broadwan/BROADWAN_CD/Publications/Mayer_ISTMWSummit2005_alvm.pdf,IST Mobile and wireless summit, Dresden, 20-22 June 2005Special Issue on Object-based Video Coding and Description,IEEE Transa
38、ctions On Circuits And Systems For Video Technology, Vol. 9, No. 8, December 1999, J. Liang,ENSC 424 Multimedia Communications Engineering, Simon Fraser University,2005A. Hallapuro and M. Karczewicz, Low complexity transform and quantization Part 1: Basic Implementation, JVT document JVT-B038.doc, F
39、ebruary 2002-01-14P. List, A. Joch, J. Lainema, G. Bjntegaard, and M. Karczewicz, Adaptive deblocking filter, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp. 614-619, 2003Bart Masschelein, Jiangbo Lu and Iole Moccagatta, Overview of International Video Coding Standards, (preceding H.264/AVC), 2007 IEEE International Conference on Consumer Electronics (ICCE)用C语言写的MPEG-1源程序:http:/www.cs.cornell.edu/dali/,END,第12章 MPEG视像,