MPEGl和MPEG2数字视频编码标准

余年寄山水
611次浏览
2021年02月22日 20:28
最佳经验
本文由作者推荐

-

2021年2月22日发(作者:普通高中学业水平测试)


MPEGl



MPEG2


数字视频编码标准








本文的 目的在于给出有关


MPEGl



MPE G2


视频编码算


法及标准的概述、以及它们在视频通信中的作用 。论文的正


文是这样安



排的:首先回 顾了与


MPEG


视频压缩标准有关


的那 些基本概念和技术:接着较详细地叙述了


MPEGl



MPEG2


的视频编码算法;最



后的内容为标准中与其应用有


关的一些特征。



MPEG


视频压缩算法的基本原理





一般


说来 ,


在帧内以及帧与帧之间,


众多的视频序列均包含很

< p>



的统计冗余度和主观冗余度。视频源码的最终 目标是:通过


挖掘



统计冗余度和主观 冗余度,来降低存储和传送视频信


息所需的比特



率;并采用嫡编码技术,以便编制出“最小


信息组”一个实用的



编码方案,是在编码特性


(


具有足够质


量的高压缩


)


与实施复杂 性



之间的一种折衷。


对于

< p>
MPEG



缩算法的开发来讲,计及到这些标



准的寿命周期应考虑到


现代超大规模集成 电路技术的能力,这一点



是最重要的。



根据应用的要求,我们 也许会想到视频数据的“无损失”编




和“有损失”编码“无损失”编码的目的在于:在保持


原图像质




(


即解码后的图像质量等同于编 码前的图像质量


)


情况下,来减



少需要存储和传送的图像或视频数据。与此


相反,

< br>“有损失”编码



技术


(


该技术跟


MPEG



l



MPEG2


视频标准未来的应用有 关


)


的目的是,去符合给定的存储和


传送比特串。重要的一些应用包



括;利用限定的带宽或很


窄的带宽,通过通信频道采传送视频信



息 ;有效地存储视


频信息。在这些应用中,高的视频压缩是以降低



视频质量


的办法来实施的,


即跟编码以 前的原始图像相比,


解码后




图像


“客观”


质量有所降低

< br>(


也就是取原始图像和再现图像之



的均方差,作为评定客观图像质量的标准


)


频道的目标比


特率越低;那么视频所必须进行的压缩率就越大,通常可察


觉的编码人工



产物也越多。有损失编码技 术的最终目的是:


在指定的目标比特串



条件下,获取最佳的图像标准。这里


应服从“客观”或“主观”上


的最佳标准。这里应该指出,


图像的降级程度

< p>
(


指客观降低以及可



察 觉到的人工产物的数



)


取决于压缩技 术的复杂性——对于结构



简单的画面和视

频活动少的图像来讲,就是采用简单的压缩技术,



也许能


获得根本不带可察觉人工产物的良好的再现图像



(A)MPEG


视频编码器源模式





MPEG


数字视频编码技术实质上是


一种统计方法。在时间和空



间方向上,视频列通常包含统


计冗余度。


MP EG


压缩技术所依赖的



基本统计特性 为像素


之间


(interpel)


的相 关性,


这里包含这样一个



设想:


即在各连


续帧之间存在简单的相关性平移运动。这里假定:



一个特


殊画面上的像素量值,


可以


(


采用帧内编码技术


)< /p>


根据同帧




近 像素来加以预测,或者可以


(


采用帧间技术

)


根据附件帧中




像素来加以预测。直觉告诉我们:在某些场合,如一个


视频序列镜

< p>


头变化时,各附近帧中像素之间的时间相关性


就 很小,甚至消失



—这时,该视频镜头就成为一组无相关


牲的静止画面的组合。在



这种情况下,可采 用帧内编码技


术来开发空间相关性,来实现有效



的数据压缩,


MPEG



缩 算法采用离散余弦变换


(DCT)


编码技



术,以


8


×


8


像素的


画面块为单位,有效地开发同一面面各附近像



索之间的空


间相关性。然而,若附近帧中各 像素间具有较大的相关




时,也就是 说两个连续帧的内容很相似或相同时,就可以采


用应



用时间预测


(


帧间的运动补偿预测


)


的帧间


DPCM


编码


技术。在多




M PEG


视频编码方案中,若将时间运动补偿


预测路剩余空间信息



的变换码自适应地结合起来,就能实


现数据的高压缩


(


视频的



DPCM/DCT


混合编码


)



1


给出了


一个画面 的帕内像素问相关性特性的举例,这里采



用了一


个非常简单,但很有价值的统计模式。这个假设的简单模式


已包括了许多“典 型”画面的一些基本的相关特性,也就是


指相邻



像素间的高度相关性,以及随着像素间距的增大相


关性的单值衰减

< p>


特性。我们以后将利用这一模式来展示变


换区域 编码的一些特性。



一些“典型”画面的像素间的空

< p>
间相关性,是应用具有高度像素间相关性的


AR(1)GaussMark ov


画面模式来加以计算的。变量


X



Y



别表示像素之间在画面水平和垂直 方向上的距



离。


< br>(B)


二次


取样和内插法





几乎所有本论文中所叙述的视频编 码技


术,在编码之前,均大



量地进行 了二次取样和量化工序。


二次取样的基本概念是想减少输



入视频的


Dimension


水平< /p>


Dimension


和或垂直


Dimen sion)



并在进



行编码处理之前先


对像素进行编号。值得注意的是:在有些应用场



合,在时


间方向上也对视频进行二次取样,以便在 编码之前降低帧



频。在接收机端,已解码图像是通过内插法来 加以显示的。


这一方



法可以认为是一 种最简单的压缩技术,这种压缩技


术利用了人眼特


< p>
有的生理特姓,因而去除了视频数据中的


含有的主观冗余度—即

< p>


与色度信号的变化相比,人眼对亮


度信号的变化 更灵敏。故众多



MPEG


编码方案首 先将画面


分成


YUV


与量信号


(


一个亮度分量和



二 个色度分量


)


接着,


相对于亮度分量, 对色度分量进行二次取



样,对于一些特


殊应用,有一个


Y



U



V


比率


(


即对于


MPEG



2


标准,采



4



1



1



4



2



2. (C


)运动补偿预测





运动补偿预


测是一个有力的工具,以便减小帧间的时间冗余



度;并作< /p>


为用于时间


DPCM


编码的预测技术,< /p>


这一工具在


MPEGl



MPEG2


视频编码标准中得到广泛应用。运动补偿概念是以


对视



频帧间运动的估算为基础的,也就是说,若视频 镜头


中所有物体均在空间上有一位移,


那么用有限的运动参数< /p>


(



对于像素的平移运

< br>


动,可用运动矢量来描述


)


来 对帧间的运


动加以描述。在这一简单



例子中,一个来自前编码帧的运


动补偿预测像素,


就能给出一个 有效像素的最佳预测。


通常,


预测误差和运动矢量均传送至接收 机。



然而,将一个运动


信息对每一个 编码画面像素进行编码,这既不值



得也没有

< br>这个必要。由于一些运动矢量之间的空间相关性通常较



高,


有时可以这样认为:一个运动矢量代表一个相邻像素块的运



动。为了做到这一点,画面一般划分成一些不连接的像素块


(< /p>




MPEGl



MPEG2


标准中一个像素块为


16


×


16


像素


)



对于每一个



这样的像素块,只对一个运动矢量进行估算、


编码和传送


(< /p>



2)





MPEG


压缩算法中,

< br>运动补偿预测技


术用来减少帧间的时间



冗余度,只对预测误差画面


(


原始画

< br>面与运动补偿预测画面之间的



差别

)


加以编码。总的来说,


由于采用依据于前编码帧的预测, 待编码的运动补偿帧间误


差图像



中像素之间的相关性就差了。



用于运 动补偿的块匹


配法:


在待编码的第


N< /p>


有效帧中,


为每一个画面块估算一个


运动 矢量


(mv)


该运动矢量针对前已编码



的第


N



l< /p>


帧中同样


大小的一个参照画面块。运动补偿预测误差是

< p>


这样计算的:


在带有前帧参照块中运动飘移对应 物的面面块中,减去一个


像素。



(D)


变换或编码





二十年来,


人们已对变换编码进


行了大量的研究,它已成为用



于静止画面编码和视频编码


的一种非常流行的压缩方法。变换编码



的目的在于去掉帧


内或帧间误差图像内容的 相关性,对变换系数进



行编码,


不是 对画面的原始像素进行编码。


为此,


输入画面被分成

< p>



连接的


b

< p>
像素的画面块


(



N


×


N


像素


)


。以一个线性、可分


离的


< br>和单元前向变换为基础,本变换可表示为一个矩阵操


作,


采用一个


N


×


N


变换矩阵


A



采获取


N


×


N


变换系数


C




C



AbAt


这里


AT


表示变换矩阵


A

< p>
的一种移项式。


注意:



种变换是可逆的,



原因是,采用线性和可分离的反向变换,< /p>


可以再现原始的


N


×

N




b


像素的画面块


. b=AtCa < /p>


利用许


多可能的方法,应用于较小的由


8


×


8


像素组成的画面

< br>


块的


离散余弦变换


(DCT)


已成为一种最佳的变换,用于静止画面



和视频编码。事实上,由于基于


DCT


的方法具有较高的抗< /p>


相关性



能,并能获得快速


DCT


算法,适用于实时应用,已


在大多数画面



和视频编码标准中加以使用。


VLSI< /p>


技术的运


行速率适合较广泛的



视频应用范围,故已商业化。



变换编


码的主要目的是使尽量多的变换系数足够的小,使它仍





(


从统计和主观 测量角度来看


)


。同时,应尽量减小系数之



的统计相关性,目的在于减少对剩余系数进行编码所需


的比特数



量。




3< /p>


示出了帧内


DCT


系数

< br>8


×


8


像素块的方



(


能量


)



这里是



以图


1


中已讨论过的简单的统计模式设想


为基础的。此处 ,每一个



系数的方差,表示了系数


(


大量帧


的乎均值


)

的可变性。与方差大



的系数相比,方差小的系数


在画面像素块再现时意义就不大了。如




3


中所示,一般


来说,为了获得画面像素块 的有用的近似再现,



只要将少



DCT


系数传送给接收机就行。


然而,


那些最高有效位



DCT

< br>系数集中在左上角


(



DCT< /p>


系数


)


,面随着距离的增加,系数



的有效牲就逐步下降。这意味着:与较低位的系数相比,较


高位的



DCT


系数在 画面像素块再现时的重要性就差一些。


采用运动补偿预测,


DC T


变换的结果是,使


DCT


定义域中< /p>


的时间


DPCM


信号实现



筒单的再现—这实质上继承了这种


相似的统计相关性 ,如以


DCT


定义域中的这个


DPC M


信号


来再现图


2

中的帧内信号


(


虽然能量有



所减少


)


—这就是为什

么为了使帧间压缩获得成功


MPEG


算法要采用

< p>
DCT


编码的


原因




3


图示了


DCT


系数的方差分布情况,典型地计算了


大量的画

< br>


面块而获得的平均值。


DCT


系数方差计算是以图


1


中的统计模式为



基础的。


U



V


分别该


8


×


8


块中水平和


垂直画面变换域变量。大



多数总方差集中在


DCDC


了系数


周围


(U



0



v



0) DC T


跟离散傅里叶变换很接近,


而认识到


以下这点是重要的,



即可以对


DCT


系数加以频率说明,使


其更接近于


DF To


在画面块



内,

< br>低位的


Dcr


系数与较低的空


间 频率有关而高位的


DCT


系数



与较高的频率有关。这一特


性在


MPEG


编码方案中被加以应用,以



便去除画面数 据中


所包含的主观冗余度,这一切是以人类视觉系统



标准为基


础的。


由于跟较高空间频率有关的再现 误差比较,


观众对




低空间频率的再现误差更加敏感,故在给定比特率情况后,


为了



要改进解码画面的视觉质量往往根据视觉


(


感觉量化


)


对系数进



行频率自适应加权


(


量化


)


上述两种技术—时间运


动补偿预测和变换域编码 —的结



合,被认为是


MPEG


编码


标准的关键点



MPEG


算法的第三个特


< p>
点是这两种技术的处


理是较小的画面块


(


典型情况是:



16


×


16


像素上进行运动


补偿,



8


×


8


像素上进行


DCT


编码


)< /p>



由于这个原



因,


MPEG


编码算法通常又叫作基于画面块的


DPCM/DCT


混合算法


.


MPEG-1


:一个通用标准


-


一个 应用于数字存储媒体




(最高速率达


1



5Mb



s)


的活动图像和伴音的编码标准


< /p>



MPEG



1


开发出来的视频压缩技术的应用范围很广,包





CD


< br>ROM


上的交互系统,到电信网络上的视频传送



MPEG1


视频编码标准被认为是一个通用标准。为了支持多


种应用,



可有用户来规定多种多样的输人参数 ,包括灵活


的图像尺寸和帧



频。


MPEG


推荐了一组系统规定的参数:


每一 个


MPEG



l


兼容解码器至少必须能够支持视频源参数,


最佳可达电视标准:包括每行



最小应有


720


个像素, 每个


图像起码应有


576


行,每秒最少 不低于



30


帧,及最低比特


率为


1



86Mb



s


,标准视频输入应包括非隔行扫



描视频图


像格式。应该指出:但并不是说,


MPEGl


的应用就限制




这一系统规定的参数组。



根据


JPiG



H



261


活动,已开


发出


MPEG



l

< br>视频算法。




时的想法是:


尽量保持与


CCITT


H



261


标 准的共同性,这样,支



持两个标准的做法就似乎


可能。当然,


MPEGl


主要目标在于多媒




CD


< p>
ROM


的应


用,这里需要由编码器和解码器支持的 附加函数



牲。由


MPEGl


提供的重要特性包括:


基于帧的视频随机存取,





压缩比特流的快进


/


快退搜索,


视频的反向重放,

及压缩比特




的编辑能力。



(A)


基本的


MPEG



1


帧间编码方案



基本


M PEGl(



MPEG2)


视频压缩技 术的基础为:宏模块结



构、


运动补偿 及宏模块的有条件再补给。


如图


49


所 示,


MPEG



1

< br>编码算法以帧内编码模式


(I


图像


)


对视频序列的第一帧进


行编码。



每一个下一帧采用帧间预测法


(P


图像


)


进行编码—


—仅仅采用来

< p>


自前面最近的已编码


I



P


帧的数据,


来进行


预测,


MPEG



l




法对基于画面块视频序列的帧加以处理。< /p>


视频序列中的每一个彩色



输入帧被分割 成多个非重迭的


“宏模块”


,如图


4b


所示。每一个宏



模块包含

< p>
4


个亮度块


(Y1



Y2



Y3



Y4)


及两个色度块


(U

< br>,


V)



每个宏模块的尺


寸为


8*8


像素, 这些数据块来自于亮度带和共址



的色度带。

< br>在


Y



U



V


亮度与色度像素之间的取样比为


4



1



1


以最


近的前帧为基础,采用运动补偿预测法来对


P


图像加以编



码。每一帧被 分割成不连接的“宏模块”


(MB)





4b


对于


每 一个宏模块,对有关


4


个亮度块


(Y 3



Y2



Y 3




Y4)


和两


个彩色决


(U


< br>V)


的信总均加以编码。


每个包含


8


×


8




像素。



基本的混合型


DPCM/DCT MPEGl


编码器和解码器结构的方



块图示于图


5


之中。视频序列第


1



(I


图像


)


以帧内


(INTRA)


模式加以编码不参 照任何一个过去帧或未来帧。在编码器


处,


DCT

< p>
被加到每一个


8


×


8


亮度块和色度块上,在


DC



输出之后,该


64




DCT


系数中的每一个系数被均匀量化


(Q )


,在宏模块中被用来对



DCT


系数进行量化的量化器步


长,传送给接收机。


‘量化之后,最低




DO


系数


(DC


系数


)


的处理方法跟保留


(remaining)


系数



(AC


系数

)


的处理方法是


不一样的,


DC< /p>


系数表示分量模块的平均



亮度,可用微 分


DC


预测法对


DC

< br>系数加以编码。保留


DCT


系数及



它们位


置的非零量化器值被


Z


字形扫描,并采用可变长度编码



(VLC )


表对其进行扫描宽度嫡编码。



图< /p>


5


一个基本混合型


DC

< br>了/


DPCM


编码器和解码器结构的方决图




6


中表示


出了系数


Z


字形扫描的概念。因为要利用系数将这


个两维


的画面信号变换成一个单维的比特流,故在量化


DC T


域二



维信号扫描之后,进行的是可 变长度码—字分配工序。并沿


着扫描



行和两个连续非零系数之间的距离


(


行程


)



对这些非


AC


系数量



化器值


(


长度


)


加以检测。


采用仅传送—个


VLC


码字的方法,对



每一个连续


(


行程 、长度


)


对进行编码,


Z



形扫描的目的在于:



在 跟踪高频系数之前先去跟踪低频


DCT


系数

(


包含最大的能量


)



6



8


×


8


块内,


已量化


DCT


系数的


Z


字形扫描。仅仅对非



零量化


DCT


系数加以编 码。


图中指出了非零


DCT


系数可能的 位置



Z


字形扫描的做法要

< p>
想做到按系数的有效性去跟踪


DCT


系数



参看图


3


,最低位< /p>



DCT


系数


( 0



0)


包含了这些决中的最大部分< /p>



的能量,这


些能量集中在较低位的


DCT


系数周围



解码器执行反向操


作,首先从比特流中提取可变长度编码字


< /p>


(VLD)


并加以解


码,以便为每一个画 面块获取非零


DCT


系数的位



置和量化


器值。


随着一个画面块所有非零


DCT


系数的再现


(Q)


及随后


获得的反


DCT(DCT



1)



就得到量化块像素值。


通过对整




比特 流的处理,就对所有的画面块进行了解码,并加以了再


现。


< /p>


为了对


P


图像进行编码,前面的


I


图像的第


N



l


帧,


存储在



设置在编码器和解码器内的帧存储器中。在宏模块


中执行运动补偿< /p>



(MC)


—对于即将进行编码的那个宏 模块,


在第


N


帧与第

< br>N



1


帧之间,仅对一个运动 矢量进行估算。


这些运动矢量被编码及传送


< br>至接收机。运动补偿预测误差


是这样计算的:即在带有前帧运动飘



移对应物的宏模块中


减去一个像素。然后是将


8


×


8DCT


加入到 包



含在该宏模块


内的每一个


8


×


8


块中,接着是对


DCT


系数进行量化



(Q)



并进行扫描宽度编码和炳编码


(VLC)o


这里需用一个视频缓


< br>冲器;以确保编码器能产生一个常量的目标比特率输出。对


于帧内



每一个宏模块来讲,


量化步进


(SZ)


是可以调整的,



便获得给 定



的目标比特率,并避免缓冲器出现溢流和下溢


现象。



解码器采用反向处理,以便在接收机中再生 第


N



的一个宏模


块。对包含在视频解码器缓冲器


(VB)


中的可变


长度字


(VLD)


进行解码之后,就能再现


(Q



DCT



1


操作


)< /p>


预测误差像素值。



来自包含在帧存储器


(FS)


中的前第


N

< br>—


1


曲的运动补偿像素,被


< /p>


加入到预测误差之中,以恢复第


N


帧的那 一宏模块。



在图


7a


一图


7d



9


采用了一个典型的测


试序列,描述了采用


< p>
运动补偿预测编码视频的好处,而该


预测是以


MP EG


编码器中的前




N



1


再现帧为依据的。



7a


示出在


N< /p>


时间上将要进行编码的一



个帧,图


7b


示出


了在


N< /p>



1


时间上的再现帧,其存储在设置在编 码器和解码


器中的帧存储器


(FS)


内 。采用编码器运动估算方法已对




7 b


中所示的块运动矢量


(mv


,参照图


2)


加以估算,并能预测


< p>


N


帧中每个宏模块的平移运动的位移

< p>
(


参照第


N


< p>
1



)




7b



< br>示了这个纯帧差信号


(



N


帧减去第


N



1< /p>



)


,若


在编码 过程根本



不采用运动补偿预测,那么就能获得这个

< p>
帧差信号——即假定所有



运动矢量为零。图


7d


出示了:当


采用图

7b


的运动矢量来进行预测



时的 运动补偿帧差信号。


很明显,跟图


7c


中的纯帧差编码相比,采



用运动补偿,大

大减缩了这个将要被编码的残差信号。




7



(a)



N


时间


上将要被编码的帧:


( b)



P4



1


时间上



的帧,用来预测第


N


帧的内容


(


注意:四 面中所示的运动矢量,并



不是存储在


编码器和解码器内的再现画面的一部分;


(c)


没采用运



动补


偿所获取的预测误差画面——假设所有 的运动矢量均为零;



(d)


若采用运 动补偿预测,将要进行编码的预测误差画面


. (B)


条件再补给





MPEG1


编码算法所支持有一个基 本特点


是,如需要时


(


即与

< p>


前帧同一个宏模块相:比,宏模块内容


已有变更 时


)



可以在解码器

< br>


中更新宏模块的信息


(


条件宏 模


块再补给


)


在较低比特率要实行



规频序列的有效编码的关

-


-


-


-


-


-


-


-