本文的目的在于给出有关MPEGl和MPEG2视频编码算法及标准的概述、以及它们在视频通信中的作用。论文的正文是这样安 排的:首先回顾了与MPEG视频压缩标准有关的那些基本概念和技术:接着较详细地叙述了MPEGl和MPEG2的视频编码算法;最 后的内容为标准中与其应用有关的一些特征。
MPEG视频压缩算法的基本原理
一般说来,在帧内以及帧与帧之间,众多的视频序列均包含很 大的统计冗余度和主观冗余度。视频源码的最终目标是:通过挖掘 统计冗余度和主观冗余度,来降低存储和传送视频信息所需的比特 率;并采用嫡编码技术,以便编制出“最小信息组”一个实用的 编码方案,是在编码特性(具有足够质量的高压缩)与实施复杂性 之间的一种折衷。对于MPEG压缩算法的开发来讲,计及到这些标 准的寿命周期应考虑到现代超大规模集成电路技术的能力,这一点 是最重要的。 根据应用的要求,我们也许会想到视频数据的“无损失”编码 和“有损失”编码“无损失”编码的目的在于:在保持原图像质 量(即解码后的图像质量等同于编码前的图像质量)情况下,来减 少需要存储和传送的图像或视频数据。与此相反,“有损失”编码 技术(该技术跟MPEG—l和MPEG2视频标准未来的应用有关) 的目的是,去符合给定的存储和传送比特串。重要的一些应用包 括;利用限定的带宽或很窄的带宽,通过通信频道采传送视频信 息;有效地存储视频信息。在这些应用中,高的视频压缩是以降低 视频质量的办法来实施的,即跟编码以前的原始图像相比,解码后 的图像“客观”质量有所降低(也就是取原始图像和再现图像之间 的均方差,作为评定客观图像质量的标准)频道的目标比特率越低;那么视频所必须进行的压缩率就越大,通常可察觉的编码人工 产物也越多。有损失编码技术的最终目的是:在指定的目标比特串 条件下,获取最佳的图像标准。这里应服从“客观”或“主观”上 的最佳标准。这里应该指出,图像的降级程度(指客观降低以及可 察觉到的人工产物的数量)取决于压缩技术的复杂性——对于结构 简单的画面和视频活动少的图像来讲,就是采用简单的压缩技术, 也许能获得根本不带可察觉人工产物的良好的再现图像
(A)MPEG视频编码器源模式
MPEG数字视频编码技术实质上是一种统计方法。在时间和空 间方向上,视频列通常包含统计冗余度。MPEG压缩技术所依赖的 基本统计特性为像素之间(interpel)的相关性,这里包含这样一个 设想:即在各连续帧之间存在简单的相关性平移运动。这里假定: 一个特殊画面上的像素量值,可以(采用帧内编码技术)根据同帧 附近像素来加以预测,或者可以(采用帧间技术)根据附件帧中的 像素来加以预测。直觉告诉我们:在某些场合,如一个视频序列镜 头变化时,各附近帧中像素之间的时间相关性就很小,甚至消失 —这时,该视频镜头就成为一组无相关牲的静止画面的组合。在 这种情况下,可采用帧内编码技术来开发空间相关性,来实现有效 的数据压缩,MPEG压缩算法采用离散余弦变换(DCT)编码技 术,以8×8像素的画面块为单位,有效地开发同一面面各附近像 索之间的空间相关性。然而,若附近帧中各像素间具有较大的相关 性时,也就是说两个连续帧的内容很相似或相同时,就可以采用应 用时间预测(帧间的运动补偿预测)的帧间DPCM编码技术。在多 种MPEG视频编码方案中,若将时间运动补偿预测路剩余空间信息 的变换码自适应地结合起来,就能实现数据的高压缩(视频的 DPCM/DCT混合编码) 图1给出了一个画面的帕内像素问相关性特性的举例,这里采 用了一个非常简单,但很有价值的统计模式。这个假设的简单模式已包括了许多“典型”画面的一些基本的相关特性,也就是指相邻 像素间的高度相关性,以及随着像素间距的增大相关性的单值衰减 特性。我们以后将利用这一模式来展示变换区域编码的一些特性。 一些“典型”画面的像素间的空间相关性,是应用具有高度像素间相关性的AR(1)GaussMarkov画面模式来加以计算的。变量X和Y分别表示像素之间在画面水平和垂直方向上的距 离。
(B)二次取样和内插法
几乎所有本论文中所叙述的视频编码技术,在编码之前,均大 量地进行了二次取样和量化工序。二次取样的基本概念是想减少输 入视频的Dimension 水平Dimension和或垂直Dimension),并在进 行编码处理之前先对像素进行编号。值得注意的是:在有些应用场 合,在时间方向上也对视频进行二次取样,以便在编码之前降低帧 频。在接收机端,已解码图像是通过内插法来加以显示的。这一方 法可以认为是一种最简单的压缩技术,这种压缩技术利用了人眼特 有的生理特姓,因而去除了视频数据中的含有的主观冗余度—即 与色度信号的变化相比,人眼对亮度信号的变化更灵敏。故众多 MPEG编码方案首先将画面分成YUV与量信号(一个亮度分量和 二个色度分量)接着,相对于亮度分量,对色度分量进行二次取 样,对于一些特殊应用,有一个Y:U:V比率(即对于MPEG—2 标准,采用4:1:1或4:2:2.
(C)运动补偿预测
运动补偿预测是一个有力的工具,以便减小帧间的时间冗余 度;并作为用于时间DPCM编码的预测技术,这一工具在MPEGl 和MPEG2视频编码标准中得到广泛应用。运动补偿概念是以对视 频帧间运动的估算为基础的,也就是说,若视频镜头中所有物体均在空间上有一位移,那么用有限的运动参数(如对于像素的平移运 动,可用运动矢量来描述)来对帧间的运动加以描述。在这一简单 例子中,一个来自前编码帧的运动补偿预测像素,就能给出一个有效像素的最佳预测。通常,预测误差和运动矢量均传送至接收机。 然而,将一个运动信息对每一个编码画面像素进行编码,这既不值 得也没有这个必要。由于一些运动矢量之间的空间相关性通常较 高,有时可以这样认为:一个运动矢量代表一个相邻像素块的运 动。为了做到这一点,画面一般划分成一些不连接的像素块(在 MPEGl和MPEG2标准中一个像素块为16×16像素),对于每一个 这样的像素块,只对一个运动矢量进行估算、编码和传送(图2)。 在MPEG压缩算法中,运动补偿预测技术用来减少帧间的时间 冗余度,只对预测误差画面(原始画面与运动补偿预测画面之间的 差别)加以编码。总的来说,由于采用依据于前编码帧的预测,待编码的运动补偿帧间误差图像 中像素之间的相关性就差了。 用于运动补偿的块匹配法:在待编码的第N有效帧中,为每一个画面块估算一个运动矢量(mv)该运动矢量针对前已编码 的第N—l帧中同样大小的一个参照画面块。运动补偿预测误差是 这样计算的:在带有前帧参照块中运动飘移对应物的面面块中,减去一个像素。
(D)变换或编码
二十年来,人们已对变换编码进行了大量的研究,它已成为用 于静止画面编码和视频编码的一种非常流行的压缩方法。变换编码 的目的在于去掉帧内或帧间误差图像内容的相关性,对变换系数进 行编码,不是对画面的原始像素进行编码。为此,输入画面被分成 不连接的b像素的画面块(即N×N像素)。以一个线性、可分离的 和单元前向变换为基础,本变换可表示为一个矩阵操作,采用一个N×N变换矩阵A,采获取N×N变换系数C。 C=AbAt 这里AT表示变换矩阵A的一种移项式。注意:这种变换是可逆的, 原因是,采用线性和可分离的反向变换,可以再现原始的N×N个 b像素的画面块. b=AtCa 利用许多可能的方法,应用于较小的由8×8像素组成的画面 块的离散余弦变换(DCT)已成为一种最佳的变换,用于静止画面 和视频编码。事实上,由于基于DCT的方法具有较高的抗相关性 能,并能获得快速DCT算法,适用于实时应用,已在大多数画面 和视频编码标准中加以使用。VLSI技术的运行速率适合较广泛的 视频应用范围,故已商业化。 变换编码的主要目的是使尽量多的变换系数足够的小,使它仍 无效(从统计和主观测量角度来看)。同时,应尽量减小系数之间 的统计相关性,目的在于减少对剩余系数进行编码所需的比特数 量。 图3示出了帧内DCT系数8×8像素块的方差(能量),这里是 以图1中已讨论过的简单的统计模式设想为基础的。此处,每一个 系数的方差,表示了系数(大量帧的乎均值)的可变性。与方差大 的系数相比,方差小的系数在画面像素块再现时意义就不大了。如 图3中所示,一般来说,为了获得画面像素块的有用的近似再现, 只要将少量DCT系数传送给接收机就行。然而,那些最高有效位 DCT系数集中在左上角(低DCT系数),面随着距离的增加,系数 的有效牲就逐步下降。这意味着:与较低位的系数相比,较高位的 DCT系数在画面像素块再现时的重要性就差一些。采用运动补偿预测,DCT变换的结果是,使DCT定义域中的时间DPCM信号实现 筒单的再现—这实质上继承了这种相似的统计相关性,如以DCT 定义域中的这个DPCM信号来再现图2中的帧内信号(虽然能量有 所减少)—这就是为什么为了使帧间压缩获得成功MPEG算法要采用DCT编码的原因 图3图示了DCT系数的方差分布情况,典型地计算了大量的画 面块而获得的平均值。DCT系数方差计算是以图1中的统计模式为 基础的。U和V分别该8×8块中水平和垂直画面变换域变量。大 多数总方差集中在DCDC了系数周围(U=0,v=0) DCT跟离散傅里叶变换很接近,而认识到以下这点是重要的, 即可以对DCT系数加以频率说明,使其更接近于DFTo在画面块 内,低位的Dcr系数与较低的空间频率有关而高位的DCT系数 与较高的频率有关。这一特性在MPEG编码方案中被加以应用,以 便去除画面数据中所包含的主观冗余度,这一切是以人类视觉系统 标准为基础的。由于跟较高空间频率有关的再现误差比较,观众对 较低空间频率的再现误差更加敏感,故在给定比特率情况后,为了 要改进解码画面的视觉质量往往根据视觉(感觉量化)对系数进 行频率自适应加权(量化) 上述两种技术—时间运动补偿预测和变换域编码—的结 合,被认为是MPEG编码标准的关键点 MPEG算法的第三个特 点是这两种技术的处理是较小的画面块(典型情况是:在16×16 像素上进行运动补偿,在8×8像素上进行DCT编码)。由于这个原 因,MPEG编码算法通常又叫作基于画面块的DPCM/DCT混合算法.
MPEG-1:一个通用标准-一个应用于数字存储媒体
(最高速率达1.5Mb/s)的活动图像和伴音的编码标准
由MPEG—1开发出来的视频压缩技术的应用范围很广,包 括从CD—ROM上的交互系统,到电信网络上的视频传送 MPEG1视频编码标准被认为是一个通用标准。为了支持多种应用, 可有用户来规定多种多样的输人参数,包括灵活的图像尺寸和帧 频。MPEG推荐了一组系统规定的参数:每一个MPEG—l兼容解码器至少必须能够支持视频源参数,最佳可达电视标准:包括每行 最小应有720个像素,每个图像起码应有576行,每秒最少不低于 30帧,及最低比特率为1.86Mb/s,标准视频输入应包括非隔行扫 描视频图像格式。应该指出:但并不是说,MPEGl的应用就限制 于这一系统规定的参数组。 根据JPiG和H。261活动,已开发出MPEG—l视频算法。当 时的想法是:尽量保持与CCITT H.261标准的共同性,这样,支 持两个标准的做法就似乎可能。当然,MPEGl主要目标在于多媒 体CD—ROM的应用,这里需要由编码器和解码器支持的附加函数 牲。由MPEGl提供的重要特性包括:基于帧的视频随机存取,通 过压缩比特流的快进/快退搜索,视频的反向重放,及压缩比特流 的编辑能力。
(A)基本的MPEG—1帧间编码方案
基本MPEGl(及MPEG2)视频压缩技术的基础为:宏模块结 构、运动补偿及宏模块的有条件再补给。如图49所示,MPEG—1 编码算法以帧内编码模式(I图像)对视频序列的第一帧进行编码。 每一个下一帧采用帧间预测法(P图像)进行编码——仅仅采用来 自前面最近的已编码I或P帧的数据,来进行预测,MPEG—l算 法对基于画面块视频序列的帧加以处理。视频序列中的每一个彩色 输入帧被分割成多个非重迭的“宏模块”,如图4b所示。每一个宏 模块包含4个亮度块(Y1,Y2,Y3,Y4)及两个色度块(U,V), 每个宏模块的尺寸为8*8像素,这些数据块来自于亮度带和共址 的色度带。在Y:U:V亮度与色度像素之间的取样比为4:1:1 以最近的前帧为基础,采用运动补偿预测法来对P图像加以编 码。每一帧被分割成不连接的“宏模块”(MB)。 图4b对于每一个宏模块,对有关4个亮度块(Y 3,Y2,Y3, Y4)和两个彩色决(U,V)的信总均加以编码。每个包含8×8个 像素。 基本的混合型DPCM/DCT MPEGl编码器和解码器结构的方 块图示于图5之中。视频序列第1帧(I图像)以帧内(INTRA) 模式加以编码不参照任何一个过去帧或未来帧。在编码器处,DCT 被加到每一个8×8亮度块和色度块上,在DC了输出之后,该64个 DCT系数中的每一个系数被均匀量化(Q),在宏模块中被用来对 DCT系数进行量化的量化器步长,传送给接收机。‘量化之后,最低 位DO系数(DC系数)的处理方法跟保留(remaining)系数 (AC系数)的处理方法是不一样的,DC系数表示分量模块的平均 亮度,可用微分DC预测法对DC系数加以编码。保留DCT系数及 它们位置的非零量化器值被Z字形扫描,并采用可变长度编码 (VLC)表对其进行扫描宽度嫡编码。 图5一个基本混合型DC了/DPCM 编码器和解码器结构的方决图 图6中表示出了系数Z字形扫描的概念。因为要利用系数将这 个两维的画面信号变换成一个单维的比特流,故在量化DCT域二 维信号扫描之后,进行的是可变长度码—字分配工序。并沿着扫描 行和两个连续非零系数之间的距离(行程),对这些非零AC系数量 化器值(长度)加以检测。采用仅传送—个VLC码字的方法,对 每一个连续(行程、长度)对进行编码,Z字形扫描的目的在于: 在跟踪高频系数之前先去跟踪低频DCT系数(包含最大的能量) 图6在8×8块内,已量化DCT系数的Z字形扫描。仅仅对非 零量化DCT系数加以编码。图中指出了非零DCT系数可能的位置 Z字形扫描的做法要想做到按系数的有效性去跟踪DCT系数 参看图3,最低位的DCT系数(0,0)包含了这些决中的最大部分 的能量,这些能量集中在较低位的DCT系数周围 解码器执行反向操作,首先从比特流中提取可变长度编码字 (VLD)并加以解码,以便为每一个画面块获取非零DCT系数的位 置和量化器值。随着一个画面块所有非零DCT系数的再现(Q) 及随后获得的反DCT(DCT—1),就得到量化块像素值。通过对整 个比特流的处理,就对所有的画面块进行了解码,并加以了再现。 为了对P图像进行编码,前面的I图像的第N—l帧,存储在 设置在编码器和解码器内的帧存储器中。在宏模块中执行运动补偿 (MC)—对于即将进行编码的那个宏模块,在第N帧与第N—1 帧之间,仅对一个运动矢量进行估算。这些运动矢量被编码及传送 至接收机。运动补偿预测误差是这样计算的:即在带有前帧运动飘 移对应物的宏模块中减去一个像素。然后是将8×8DCT加入到包 含在该宏模块内的每一个8×8块中,接着是对DCT系数进行量化 (Q),并进行扫描宽度编码和炳编码(VLC)o这里需用一个视频缓 冲器;以确保编码器能产生一个常量的目标比特率输出。对于帧内 每一个宏模块来讲,量化步进(SZ)是可以调整的,以便获得给定 的目标比特率,并避免缓冲器出现溢流和下溢现象。 解码器采用反向处理,以便在接收机中再生第N帧的一个宏模 块。对包含在视频解码器缓冲器(VB)中的可变长度字(VLD) 进行解码之后,就能再现(Q和DCT—1操作)预测误差像素值。 来自包含在帧存储器(FS)中的前第N—1曲的运动补偿像素,被 加入到预测误差之中,以恢复第N帧的那一宏模块。 在图7a一图7d中9采用了一个典型的测试序列,描述了采用 运动补偿预测编码视频的好处,而该预测是以MPEG编码器中的前 第N—1再现帧为依据的。用7a示出在N时间上将要进行编码的一 个帧,图7b示出了在N—1时间上的再现帧,其存储在设置在编码器和解码器中的帧存储器(FS)内。采用编码器运动估算方法已对 图7b中所示的块运动矢量(mv,参照图2)加以估算,并能预测第 N帧中每个宏模块的平移运动的位移(参照第N—1帧)。图7b出 示了这个纯帧差信号(第N帧减去第N—1帧),若在编码过程根本 不采用运动补偿预测,那么就能获得这个帧差信号——即假定所有 运动矢量为零。图7d出示了:当采用图7b的运动矢量来进行预测 时的运动补偿帧差信号。很明显,跟图7c中的纯帧差编码相比,采 用运动补偿,大大减缩了这个将要被编码的残差信号。 图7:(a)在N时间上将要被编码的帧:(b)在P4—1时间上 的帧,用来预测第N帧的内容(注意:四面中所示的运动矢量,并 不是存储在编码器和解码器内的再现画面的一部分;(c)没采用运 动补偿所获取的预测误差画面——假设所有的运动矢量均为零; (d)若采用运动补偿预测,将要进行编码的预测误差画面.
(B)条件再补给
MPEG1编码算法所支持有一个基本特点是,如需要时(即与 前帧同一个宏模块相:比,宏模块内容已有变更时),可以在解码器 中更新宏模块的信息(条件宏模块再补给)在较低比特率要实行 规频序列的有效编码的关键,是选择合适的预测模式,以实现条件 再补给,MPEG标准主要区分有三种不同的宏模块编码类型(MB 类型): 跳跃MB:来自前帧的预测,运动矢量为零。根本无宏模块信息被进行编码,及被传送至接收机。 帧间MB:根据前帧,采用运动补偿预测。传送MB类型及MB 地址;如需要,也传送运动矢量、DCT系数及量化步长。 帧内MB:根本不采用来自前帧的预测(仅仅采用帧内预测) 仅仅向接收机传送MB类型、MB地址、DCT系数及量化步长。
(C)特殊的存储媒体功能
为了从存储媒体中存取视频,MPEG1视频压缩算法设计成能 支持一些重要功能,如随机存取有及快进(FF)和快倒(FR)重 放等功能。考虑到对存储媒体的需求比及进一步探索运动补偿和运 动内描的优越性,由MPEGl引入B图像(双向预测测/双向内扫图 像)概念。这一概念示于图8,对象为视频序列中的一组连接图像。 图像有三种类型:帧内图像(I图像)编码时,不参照视频序列中 的其它图像,已在图4中介绍过,I图像允许存取点进行随机存取, 并对比特流进行FF/FR功能,不过只能进行低压缩。帧内预测图 像(P图像)编码时要参照挨差最近的前一个已编码的I图像或P 图像,通常采用运动补偿,以提高编码效率。由于通常用P图像作 为参照物来预测未来帧或过去帧,故P图像不提供用于随机存取或 编辑的合适的存取点。双向预测/内描的图像(B图像)备用过去帧 和未来帧作为参照物。为了实现高压缩,可以依据挨得最近的过 去、未来的P图像或I,图像,来实施运动补偿。B图像本身永不会 当作参照物来加以使用。 图8在MPEGl视频序列中所采用的I图像(I)、P图像(P) 和B图像(B),依据两个最近的已编码帧(I图像或P图像)采用 运动补偿预测,可以对B图像进行编码。为了适应不同应用的需 求,视频序列内图像编码类型的安排具有灵活性。图中指出了预测 的方向。 使用者在安排视频序列中的图像类型时具有很大的灵活性,以 适应各种不同应用的需求。作为总的原则,仅仅采用I图像(IIIIII.....)编码的视频序列,具有最好的随机存取、FF/FR和编辑功 能,但只能实现低压缩。已编码的,带有一个常规修正的I图像及 无B图像的序列(即IPPPPPPIPPP......),能实现中度压缩,具有一定程度的随机存取及FF/FR功能。所有这三种图像类型的结合,能做到高压缩,具有较好的随机存取和FF/FR功能,但大大增加了编码延迟时间。这 一延迟也许在一些应用场合是不允许的,如视频电话、视频会议 。
(D)速率控制
MPEGl编码算法所支持的一个重要特点是,通过调节量化 DCT系数的量化器步长(sz)(见图5),为了满足特殊应用的要 求,可以调节比特率(因而也调节了再现视频信号的质量) DCT 系数的粗量化能对具有高的视频信号进行存储或传送,但会产生较 大的编码人工产物,这取决于量化等级 MPEGI标准允许编码器 为每一个已编码宏模块选择不同的量化器值——这样,可以对需要 改进画面质量的位置上分配比特,具有很大的灵活性。另外,还能 产生常量和变量比特率,用于压缩视频的存储或实时传送。 压缩的视频信息从实质上来讲本来就是可变的。通常是由连续 视频帧的变化的内容所引起的,必须对由编码器产生的可变比特流 缓冲于视频缓冲器中,如图5所示。进入到编码器VB的输入在时 间上是可变的,而输出是一个恒定比特流。在解码器,VB输入比 特流是恒定的,用于解码的输出是可变的 MPEG编码器和解码器 采用同样尺寸的缓冲器,以避免产生再现误差。 编码器中的速率控制算法,依据视频内容和活动程度,调节量 化器的步长(SZ),以保证视频缓冲器永不溢流——同时,应保持 缓冲器尽可能的满,以尽量提高画面质量。理论上讲,采用大的视 频缓冲器,可以避免缓冲器出现溢流现象。然而,除大型缓冲器价 格昂贵外,对于要求在编码器与解码器之间的延迟小的应用场合,大型缓冲器还存在另外一些缺点,如对话或视频的实时传送。如果 由于采用了视频缓冲器来产生一个恒定的比特率输出,编码器比特 流是平坦的,那么在编码处理跟在解码器视频再现时间之间就会引入一个延迟。通常,缓冲器越大,所引入的延迟时间越长 MPEG已规定了最小的视频缓冲器的尺寸,它需要获得所有解 码器运作的支持。该数值等同于VB尺寸的最大值,编码器用它来 产生比特流。然而,为了减少延迟或编码器的复杂性,在编码器选 择一个虚拟缓冲器尺寸值是可能的,该值比需要得到解码器支持的 最小VB尺才要小。在发送视频比特流之前,先将该虚拟缓冲器尺 才值传送给解码器。用于压缩视频的速率控制算法不属于MPEG—1标准,这就留给实施者去开发有效的战略方法。应着重指出:制造厂商以指定比特率去压缩视频所选择的速率控制算法的效率,对在解码器再现的 视频的可视质量有非常大的影响。
(E)隔行视频源的编码
用于MPEG—1的标准化视频输人格式是非隔行制。然而,对 MPEG1来讲,隔行彩色电视(525行,29.97帧/每秒及625行, 25帧/秒)编码是一个重要的应用。基于隔行源到逐行中间格式的 转换,MPEGl已对Rec.601数字彩色电视信号的编码提出一个建 议。从本质上讲,只对每一个隔行视频输入帧中的一个水平二次取 样场进行编码,即二次取样顶(top)场。在接收机,根据已解码的 和水乎内插的奇数场,采预测偶数场,加以显示。在编码之前所必 须的预处理及编码之后所需的后处理,均在MPEGl国际标准文件 的信息附录中有详细叙述.
MPEG2标准:用于活动图像和伴音的 通用编码
世界范围的MPEGl正在开发一个重要的及成功的视频编码标 准,有关产品不断增多,并开始商品化。成功的关键因素在于标准 的通用结构,能支持广泛的应用及应用的特别参数。然而,在1991 年,MPEG继续它的标准化努力,进入第二阶段(MPEG—2),为 MPEG—l最初没有包括在内或尚未想到的应用,提供了一种视频 编码方法。特别是,已对MPEG—2提出一个要求,即它所提供的 视频质量,不能低于NTSC/PAL,最高应可达到CCIR601质量。 正在出现的一些应用,如数字有线电视分配、通过ATM的网络数 据库业务、数字VTR应用以及卫星和地面数字广播分配等,由于 新的MPEG—2标准化阶段结果提高了图像质量,均能从中受益。 已与ITU—TSGl5专家组(ATM视频编码专题)联合,开展了研 究工作。1994年,发布了MPEG—2的草案国际标准(与ITU—T H.262建议书相同)该标准的技术规格打算应具有通用性—所以,该标准的目的在于,应有助于比特流在不同应用、传输和存储 媒体之间的互换。 从本质上说,MPEG—2可以视为是一组MPEG—1的最高级 编码标准,并设计或能向后跟MPEG—1相兼容—每一个MPEG —2兼容解码器能对有效的MPEG—1比特流进行解码。为了满足 多种不同应用的需求,许多视频编码算法被综合于单个句法之中。 为获得足够的性能和质量,MPEG—2已增添了新的编码特性,已 开发出来的预测模式,是为了支持隔行视频的有效编码。此外,还引进了可分等级的视频编码扩展,以提供另外的功能,如数字电视 和HDTV的嵌入式编码,没出现传输误差时质量的缓慢降低。 然而,整个句法的实施,对于大部分应用来讲也许是不实际 的,MPEG—2已引进了“型”和“层”的概念,来规定设备之间 的一致性,并不支持整个句法的实施。型和层提供了定义句法子集 的方法,以及对特殊比特流进行解码所需的解码器功能。表2和表 3中表明了这种概念。 作为一般法规,每一个型定义一组新的算法,作为最高级组加在下一个型中的算法上。层规定了参数的范围,在实施中得到支持 (即画面尺寸、帧频和比特率)主型(MAINProfile)的MPEG—2 核心算法的特点是,对于逐行和隔行视频源均为非可分等级编码。 并希望:大部分MPEG—2实施过程至少应符合位于主层(MAIN LEvel)的主型,该主型支持数字视频的非可分等级编码,并拥有近似的数字电视参数—最大的取样密度,每帧576行,每行720个取样;最高的帧频30帧/秒;最高的比特率15Mb/s。
(A)MPEG—2非可分等级编码模式
在主型中所定义的MPEG—2算法,是MPEG—I编码方案的 直接扩展,以适应隔行视频的编码,同时保留了MPEG—1所提供 的所有功能。与MPEG—1标准一样,MPEG—2编码算法的基础 为通用的混合DCT/DPCM编码方案,如图5所示,并并入了宏模 块结构、运动补偿和编码模式,以便执行宏模块的条件再补给。I图像、P图像和B图像的概念,在MPEG—2中全部保留,以获得有效的运动颈测及有助于随机存取功能的实现。注意: MPEG—2单型(SIMPLEFrofile)中所定义的算法9基本上跟主型中的算法相同,不一样的地方是,在编码器根本不存在B图像预测模式。故B图像解码所需要的额外的实施复杂性和另外的帧存储 器,对于MPEG—2解码器来说不必要的,而只要求MPEG—2解码器符合该单型就行。 场图像和帧图像:MPEG—2已介绍了帧图像和场图像的概念, 也介绍了特殊的帧预测和场预测模式,以适应逐行和隔行视频的编 码。对于隔行序列来讲,假设编码器输入是由一系列奇数(顶)场 和偶数(底)场所组成,而奇数场与偶数场在时间相隔—场的时 间。一帧中两场是分别编码的,在这种情况下,每一场被分离成相邻的不重叠的宏模块,并对场进行DCT处理。 另一种方法是,将两场看成为一帧(帧图像),与一般的逐行视频 序列编码相类似,一起进行编码。在这里,顶场和底场的连续行就简单地汇合组成帧。注意:在单一的视频序列中,帧图像和场图像 均能被使用 图9场图像概念和可能的场预测举例。顶场和底场是分别编码 的。采用以那个前编码顶场为依据的运动补偿场间预测,来对每一 个底场进行编码。而顶场编码采用的是运动补偿场间预测,依据是 前编码顶场或者是前编码底场。这一概念可以加以延伸,以并入B 图像。场和帧预测:MPEG—2已介绍了一些新的运动补偿场预测模 式,以便有效地对场图像和帧图像加以编码。图9中简单描述了这 种新概念的一个例子,这里出示的是一个隔行视频序列,只会有三 个场图像,不带B图像。在场预测中,是采用来自一个或多个前解码场的数据,来对每一场单独进行预测的,也就是说,对于顶场来 说,测是根据一个前解码顶场(采用运动补偿预测)或属于同一 图像的前解码底场来获取的。一般来说,若场间根本没有运动时,宁愿采用依赖于同一图像解码场的场间预测。采用哪一个参照场来 进行预测,这一信息随着比特流被发送出去。在场图像中,所有预测 均为场预测。 帧预测作出帧图像的预测,依据于一个或多个前解码帧。在帧 图像中,可以采用场预测,也可以采用帧预测;可以一个宏模块一个宏模块地,来选择所喜爱的那种预测模式。 然而必须值得,颈测所依赖的那些场和帧,它们本身也许曾作 为场图像或者帧像,已完成了解码工序 MPEG—2已介绍了一些新的运动补偿模式,以便有效地探索 场间的时间冗长余度,名称叫做“双主”(Dual Prime)预测,运动补 偿基于16×8画面块。这些方法的讨论已超出本文的范畴。色度格式:MPEG—2已规定了补充的Y:V:V亮度和色度二次取样比率格式,以促进最高视频质量需求的应用。除了已得到 MPEG—1所支持4:2:0格式外,MPEG—2的规格已扩展至4:2:2格式,符合演播全视频编码应用的要求.
(B)MPEG—2可分等级编码的扩展
MPEG—2已对可分级性方法进行了标准化,这些方法所支持 的应用范围,已超出基本主型编码算法所支持的应用范围。可分级 编码的目的在于,在不同业务之间能提供互操作性,能较灵活地支 持具有不同显示功能的各种接收机。有的接收机既没有能力或者也 不要求再现视频的全部清晰度,那么就可以只对分层比特流的子集 进行解码,以较低的空间或时间清晰度,或者较低的质量,来显示 视频图像。可分级编码的另一个重要目的是可提供分层视频比特 流,它适合用于按优先顺序的传输。这里主要的难点在于,在出现 额道误差情况下,如基于ATM传输网络中单元的丢失,或地面数 字广播的同频道干扰,这时如何可靠地来传送视频信号。 能灵活地支持多种清晰度,这一功能对于DHTV跟标准清晰度 电视(SDTV)相互配合运作来讲十分重要,这里问题是HDTV接 收机应跟SDTV产品相兼容。对HDTV源进行了可分级编码,就 能实现这一兼容性,这就能避免很浪费地将两个单独的比特流分别 地传输给HDTV和SDTV接收机。可分级编码的其它一些重要应 用,包括视频数据库浏览以及在多媒体环境中视频的多清晰度重 放。 图10显示了多级视频编码方案的一般原理。这里提供了两层, 每一层支持着一个不同级上的视频,即将输入视频信号降级成为一种较低清晰度视频(在空间上或时间上降低取样率),就能实现多 清晰度的显示。可对降低视频进行编码,进入基层比特流,这样也 降低了比特率。可用升级再现的基层视频(在空间上或时间上提高 取样率)来对原始输入视频信号加以预测。预测测误差经编码进入一 个增强层比特流。若接收机没能力或不需要显示视频信号的全部质量,那就可以只对基层比特流加以解码,以再现降级的视频信号。 这里着重指出:如只对较低比特率的基层进行解码,那么最高清晰度视频的显示,质量也可能有所降低。对于每一层均分配有一个合 适比特率的视频,可以对其进行可分级编码,以满足传输频道或存 储媒体对带宽的特殊需求。这一功能被认为对于浏览视频数据库和 经不同网络的视频传输等业务是有用的。 在MPEG—2的标准化阶段,发现下面的想法是不可能实现的, 去开发一个通用的可分级编码方案,以适应已想到的所有各种应用 的需求。有些应用被限制于低的装置复杂性,另外一些要求非常高 的编码效率。结果是MPEG—2已对三种可分级编码方案进行了标 准化:SNR(质量)可量测性、空间可量测性及时间可量测性—— 每一种方案的目标在于有助于满足特殊应用的需求。这些可分级性 方法可将算法扩展到主型定义的非可分级方案。可以将不同的可分 级姓方法结合于一个混合编码方案之中,也就是说,将空间可分级 性和时间可分级性方法结合于一个混合层编码方案之中,这样,拥 有不同空间清晰度和帧频的各种业务之间的互操体性就能得到支 持。将空间可分级性与SNR可分级性相结合,就能够获得HDTV 与SDTV业务之间的互操作性,并对频道误差有一定的恢复功能 MPEG—2句法最多可支持三个不同的可分级层。 空间可分级性已经开发完成,以便在接收机显示不同的空间清 晰度—从基层能够再现空间清晰度较低的视频,这一功能对于许 多应用均是有用的,包括对HDTV/TV系统采用嵌入式编码,这样 就允许从数字TV业务向具有较高空间清晰度的HDTV业务过渡。 这一算法的依据是用于逐行扫描画面编码的一种标准锥形方法,空 间可分级性能够灵活的支持很宽范围的空间清晰度,但给主要编码 方案增添了很大的装置复杂性。 SNR可分级性:该方法已基本开发成功,对于按优先排列传输 媒体来说,SNR可分级性能使视频质量下降时比较缓慢(质量可分级性),如果基层能避免受到传输误差的影响,那么只要对基层信 号加以解码,就能获得质量衰减缓慢的视频。用来实现质量缓慢衰 减的算法,它基于一种频率(DCT域)可分级性技术。图11中的 两个层以同样的空间清晰度对视频信号加以图编码,11a和图llb 示出了SNR可分级性编码器和解码器可能的实施方法。该方法的 实施,也就是主型MPEG—2的一种简明的扩展,能够获得极佳的 编码效率。 在基层,DCT系数被低级量化和发送,以便在低比特率情况下 来获取适中的图像质量。非量化DCT系数跟来自基层、量化步长 较小的量化系数之间存在差值,而增强层就对这一差值进行编码,加以发送。在解码器,通过对较低层和较高层比特流进行解码,就能再现最高质量的视频信号。利用这一方法,也可能在接收机中获取空间清晰度较低的视频 图像。如果解码器从基层比特流选用最低的N×N DCT系数,就可用非标准反向DCT系数(尺寸为N×N)来再现空间清断度已降低 了的视频图像。然而,这个最低层已降级的视频易于发生漂移现 象,这取决于编码器和解码器的操作运行。 已开发的时间可分级性方法的目的跟空间可分级性的相类似—具有一个适用于立体显示功能接收机的分层比特流,立体视频 就能得到支持。以由基层发送出来的、从对面观看到的编码图像为依据,来预测增强层的立体视频的一个图像(左视图像),这样就 实现了分层工序。当在ATM,地面广播或者磁记录环境中出现传输或频道误差 时,数据分配的作用在于促进误差隐蔽功能。由于这一做法完全可以作为任一单层编码方案的后处理和预处理技术采用,它与MPEG —2的标准化工作尚未正式完成,但在MPEG—2DIS文件的信息 附录中,已注明了有关这一做法的资料来源。该算法依赖于DCT 系数的分离,跟SNR可分类性方法相类似,与其它可分级编码方 案相比较,这一算法实施起来较为简单。为了提供误差保护,比特 流中的已编码DCT系数,在带有不同误差的两个层中被分离和发送。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。