4.系统的复用
多个信号在同1个信道传输而不相互干扰,称为多路复用。如果将第一层的多个多路复用器先分别进行单节目传输复用,而后再进行第二层的多节目
传输复用,就形成了双层复用。图8是系统双层复用原理图。由图可见,编码器不仅有视频编码器和音频编码器,还有系统编码器。第一层的每个多路单节目传输复
用器输入信号有:ITU -R.601标准数字视频,如视频帧顺序为 I1B2B3 P4B5B6 P7B8B9
I10;AES/EBU数字音频数据;节目专用信息PSI及系统时钟STC
1-N等控制信号。其中视频编码器、音频编码器和数据提供给系统编码器的是基本流ES,视频ES的帧顺序为I1P4B2B3P7B5B6I10B8B9。
经过系统编码器加入PTS及DTS,并分别打包成视频PES、音频PES,数据本身提供的就是PES。PSI插入数据流,数据加密将有关的调用权、编码密
钥通过条件收视表插入MPEG-2 TS
,并将传输复用器从STC导出的PCR插入相应区段。这些视频PES、音频PES、数据PES及PSI,经过加入PID及PCR的传输复用器后,将输入基
本流ES分割成传输包片段,并为每个片段配备1个数据头(Header),就形成了一系列的TS包。然后,通过各个不同性质的数据流的数据包交织后,输出
MPEG-2 TS,其包含相应传输系统解码器所需要的所有数据。这样,从第一层的N个单节目复用器输出N股MPEG-2
TS,通过各自的传输链路输入第二层多路多节目传输复用器。从N路MPEG-2 TS中提取出N个PCR,从而再生出STC
1-N,最后产生出N个第二层多路多节目传输复用器用的新PCR。多节目传输复用器的任务是在分析的基础上,对多套节目复用合成,对数据包时标更新。因
为,MPEG只允许1个TS只能有1张节目源结合表PAT,多节目传输复用器需要对PSI表进行分析,以便建立对新数据流适用的PAT,修正有关数据包中
的时间标志,完成时标更新。经过第二层多节目传输复用器复用后,输出MPEG-2
TS,可以继续通过传输链路传输到解复用器,也可以采用误码保护编码、信道编码、调制技术后,通过卫星、有线电视、地面无线电视传输。例如,将第二层多节
目传输复用的MPEG-2
TS,经过QPSK信道调制上卫星,地面用户通过数字电视接收机的QPSK解调器、解复用器、解码器直接接收;有线电视台前端将卫星下行信号先后经过解调
器、解复用器、再复用器、QAM电缆调制器后,馈送至有线电视网,用户数字电视接收机通过QAM电缆解调器、解复用器、解码器接收;地面无线电视台将接收
的卫星信号先后经过解调器、解复用器、再复用器、COFDM电缆调制器后,馈送至地面发射台发射,用户可通过数字电视接收机的COFDM解调器、解复用
器、解码器接收。由上述可明白:
1)数据流的分割
将1个数据流逐段分割成多个数据包,便利于不同数据流的数据包交织。
2)节目最小组合
1个电视节目是由多个不同性质的数据流的ES组成的,1个电视节目的最小组合为1个视频流,1个音频流, 1个带字母、字符的数据流(Tele text),其它信息业务数据流。
3)PS与TS区别
节目流PS只能由1套节目的ES组成,传输流TS一般由多套节目的ES组成。由于在说明TS的基本流时标时,总是针对某1节目而言,因此TS选择了节目时钟基准PCR的概念,而不是系统时钟基准SCR。
5.系统的解码
由前述,MPEG-2系统要解决的问题是:
1)系统的复用与解复用
MPEG-2采用时分多路复用技术,让多路信号在同一信道上占用不同的时隙进行存储和传输,以提高信道利用率。
2)声音图像要同步显示
由于时分多路复用中的位时隙、路时隙、帧之间具有严格的时间关系,这就是同步。区分各路信号以此为据。为了恢复节目,先对ES进行解码。声
音、图像信号的重现需要同步显示,从而要求收发两端数据流要达到同步。为此,MPEG-2系统规范通过在数据中插入时间标志来实现:SCR或PCR为重建
系统时间基准的绝对时标;在有效PS和TS产生前,已插入PES的DTS和PTS为解码和重现时刻的相对时标。
3)解码缓存器无上下溢
MPEG-2系统是由视音频编码器、编码缓存器、系统编码器及复用器、信道网络编解码器及存储环境编解码器、系统解码器及解复用器、解码缓
存器和视音频解码器构成。其中,编码缓存器和解码缓存器延迟是可变的;信道网络编解码器及存储环境编解码器和从视/音频编码器输入到视音频解码器输出,延
迟是固定的。这表明,输入视/音频编码器的数字图像和音频取样,经过固定的、不能变的点到点延迟后,应该精确地同时出现在视音频解码器的输出端。编码及解
码缓存器的可变延迟的范围就应该受到严格限制,使解码缓存器无上、下溢。
为了解决复用、同步、无溢出问题,需要定义1个系统目标解码器(STD-System Target
Decoder)模型。用于解释传输流TS解码并恢复基本流ES时的过程;用于在复用器数据包交织时确定某些时间的边界条件。因此,每个相应的MPEG-
2 TS必须借助于专门的解码器模型来解码。图9为TS的系统目标解码器模型。
STD与实际解码器的主要差别是:STD对数据流的操作是瞬时完成的,无须时间延迟。而实际解码器是有延迟的。于是,可以利用这个差别,根
据STD设计解码器的缓存器的容量。例如,PAL制视频图像每隔1/25
s解码出1帧,压缩视频以4Mb/s码率到达视频解码器。要完全移走1帧图像,视频解码器比STD的时间要延迟1/25 s
,其缓存器容量要比STD规定容量大4Mb/s×1/25s =
0.16Mb。相对于STD,视频解码及显示有延迟,音频解码及显示也应延迟同样的时间,以便视音频正确同步。
要防止STD上溢或下溢,首先要确定解码延迟时间。为此,就要找出第一个DTS字段值与起始SCR字段值的差值。这个差值指出解码器第一个
I帧在复用数据流第一个SCR字段的最后1个字节之后的解码的时刻。利用I帧和P帧编码时间和显示时间的不同时性,计算出PTS与DTS之时间差,从而确
定P帧在重新排序缓存器中存储的时间,或P帧在重新排序缓存器中停留多长时间后开始解码。只要在解码器开始解码前,完全传送完1个存取单元,就不会产生下
溢。若每个存取单元在解码前瞬时的缓存器最大充满度与STD数据流缓存器容量大小比较适配,就不会产生上溢。
由图9可见,MPEG-2
TS包含N个ES的数据。按照PID值,根据ES的性质是视频的还是音频的或系统的,通过换向器,将每个相关数据包切换到相应路径,并分别传送给各个传输
缓存器(TB-Transport
Buffer)。如视频ES输入到传输缓存器TB-1,音频ES输入到传输缓存器TB-N,PSI输入到系统缓存器SB-PSI.从STD输入端传送到
TB或SB是瞬时的。
TB的容量略大于2个传输流包的相应长度,MPEG规定为512
B。有利于较高复用器码率与较低解码存储器存取速度相适应,因缓存器读出采用较低的ES速率就可以实现。之所以要采用ES速率,是因为要降低解码硬件对处
理器支持的PSI信息分析的复杂性,从而规定缓存器读出速度最大不超过传输速率0.2%。视频基本数据流从TB-1输出时,由于包头再也不能识别TS数据
包结构,并已去除了全部相关传输记录信息,同时误差指示器查询可能有的包误差。因此,要抛弃PES包头,并将所有存储在TB-1中的PES包的净负荷数据
全部送到主存储器1,以便为解码器1提供数据。净负荷数据从TB-1传送到主存储器1是瞬时完成的。
DTS标明从STD的ES解码缓存器移走存取单元全部数据的时刻。对输入到主存储器1-N的所有存取单元的数据,都必须在DTS规定的瞬时
移走。解码器1-N及系统信息解码器的解码是瞬时完成的。顺便说明的是:传输数据包的同时,应将误差信息传送给解码器,以便对数据内容解扰,至于对内容的
进一步解码,已不是传输解码器的事情。数据解压缩、显示单元重建及在正确的显示时间显示已同步的序列,是解码系统的任务。
PTS标明STD出现显示单元(PU-Presentation Unit)的时间,显示之前,I帧和P帧需要经过重新排序缓存器的延迟。
节目专用信息PSI包括节目源结合表PAT(PID=0)、条件接收表CAT(PID=1)、节目源映射表PMT。由于PSI的数据量比较
小,系统缓存器SB-PSI的规模限制在1536B。到达系统信息解码器的PSI传输流,在该解码器中检查所期望节目的相关信息。解码器通过PSI表了解
来自数据流的哪些数据包,即数据中哪些PID应继续传送,其余不期望的节目数据包可忽略。显然,存储在节目源映射表PMT中的PID值,是用于检测TS内
所需要的数据包的。(未完待续)
二、MPEG-2的编码
编码是MPEG-2标准的核心内容之一,其涉及到MPEG-2视频流层结构、MPEG-2帧间编码结构、MPEG-2的类与级、MPEG-2运动估值等技术。
1. MPEG-2视频流层结构
为了便利于误码处理、随机搜索及编辑,MPEG-2用句法定义了1个层次性结构,用于表示视频编码数据。MPEG-2具体的视频流层结构如
图10所示:将MPEG-2视频流分为图像序列层(VSL-Video Sequence Layer)、图像组层 (GOPL-Group of
Pictures Layer)、图像层(PL-Picture Layer)、宏块条层(SL-Slice
Layer)、宏块层(ML-Macroblock Layer)、块层(BL-Block Layer)共6个部分,每层都有确定的功能与其对应。
1) 图像序列层(VSL)
VSL是由数据头及一系列图像组(GOP)组成的视频数据包,具体是指一整个要处理的连续图像。用于定义整个视频序列结构,可采用逐行或隔
行两种扫描方式。其中,数据头给出了有关图像水平大小、垂直大小、宽高比、帧速率、码率、视频缓存校验器的大小、量化矩阵、层号(Layer-id)、分
级法(Scalable mode)等,为解码提供了重要依据。
2) 图像组层(GOPL)
GOPL是图像序列层中若干图像组的1组图像,由数据头和若干幅图像组成,用于支持解码过程中的随机存取功能。图像分组是从有利于随机存取
及编辑出发的,不是MPEG-2结构组成的必要条件,可在分组与否之间灵活选择。其中,数据头给出了图像编码类型、码表选择、图像组头部开始码、视频磁带
记录时间及控制码、涉及B帧处理的closed GOP、broken link。为了给编辑数据流提供接入点,第1个总是I帧。
3)图像层(PL)
PL由数据头和1帧图像数据组成,是图像组层若干幅图像中的1幅,包含了1幅图像的全部编码信息。MPEG-2图像扫描可有逐行或隔行两种
方式:当为逐行时,图像为逐帧压缩;当为隔行时,图像为逐场或逐帧压缩,即在运动多的场景采用逐场压缩,在运动少的场景采用逐帧压缩。
因为,从整个帧中去除的空间冗余度比从个别场中去除得多。其中,数据头提供的基本部分有头起始码、图像编号的时间基准、图像(I,B,P)
帧类型、视频缓存检验器延迟时间等,扩展部分有图像编码扩展、图像显示扩展、图像空间分级扩展、图像时间分级扩展等。其中,基本部分由MPEG-1及
MPEG-2共用,扩展部分由MPEG-2专用。
一幅视频图像是由亮度取样值和色度取样值组成的,而亮度与色度样值比例的大小是由取样频率之比决定的。在MPEG-2中,亮度与色度之间的比例格式有4:2:0(或4:0:2)、4:2:2、4:4:4三种。
4) 宏块条层(SL)
SL由附加数据和一系列宏块组成,其最小长度 = 1个宏块,当长度 =
图像宽度时,就成了MPEG-2层面中最大宏块条长度。为了隐匿误差,提高图像质量,将图像数据分成由若干个宏块或宏块条组成的一条条位串。一旦某宏块条
发生误差,解码器可跳过此宏块条至下一宏块条的位置,使下一宏块条不受有误差而无法纠正的宏块条的影响,一个位串中的宏块条越多,隐匿误差性能就越好。为
此,附加数据部分定义了宏块条在整个图像中的位置、默认的全局量化参数、变量优先切换点(PBP-Priority Break
Point)。其中,PBP用于指明数据流在何处分开,解码器要在两个数据流的恰当点处切换,以保证读取完整、正确的解码信息,确保解码完整无误。注意,
在离散余弦反变换(IDCT-Inverse Discrete Cosine Transform)时,SL可提供重新同步功能。
5) 宏块层(ML)
ML是宏块条层中一系列宏块中的1块,由附加数据、亮度块和色度块共同组成。其中,亮度为16×16像素块,称为宏块。宏块是码率压缩中运
动补偿的基本单元,由4个8×8像素块构成,用于消除P图像与B图像之间的时间冗余度。色度块由多少个8×8像素块构成,取决于亮度与色度之间取样频率的
比例格式。如MPEG-2有4:2:0、4:2:2、4:4:4三种宏块结构,取样结构如图11所示。图中4:2:0是由4个8×8亮度(Y)像素块、2
个8×8红色(Cr)像素块及0个8×8兰色(Cb)像素块构成的,或4:0::2是由4个8×8亮度(Y)像素块、0个8×8红色(Cr)像素块及2个
8×8兰色(Cb)像素块构成的,4:2:0与4:0:2是交替进行的,使垂直分解力降低(类似4:1:1使水平分解力降低),只含有1/4的色度信息。
4:2:2是由4个8×8亮度(Y)像素块、2个8×8红色(Cr)像素块及2个8×8兰色(Cb)像素块构成的,只含有1/2的色度信息。4:4:4是
由4个8×8亮度(Y)像素块、4个8×8红色(Cr)像素块及4个8×8兰色(Cb)像素块构成的,是全频宽YCrCb视频。宏块层ML包含P帧及B帧
的运动矢量(MV-Motion
Vectors)。附加数据包含的信息有:表明宏块在宏块条层中位置的宏块地址、说明宏块编码方法及内容的宏块类型、宏块量化参数、区别运动矢量类型及大
小、表明以场离散余弦变换(DCT- Discrete Cosine Transform)还是以帧DCT进行编码的DCT类型。
6) 块层(BL)
BL是只包含1种类型像素的8×8像素块,即是单一的8×8亮度(Y)像素块,或是单一的8×8红色(Cr)像素块,或是单一的8×8兰色
(Cb)像素块。它是提供DCT系数的最小单元,即其功能是传送直流分量系数和交流分量系数。若需要对宏块进行DCT,也要先将宏块分成像素块后再进行。
2. MPEG-2帧间编码结构
为了在高效压缩编码的条件下、获得可随机存取的高压缩比、高质量图像,MPEG定义了I、P、B三种图像格式,分别简称为帧内图
(Intra Picture)、预测图(Predicted Picture)及双向图(Bidirec tional
Picture),即I图、P图及B图,用于表示1/30s时间间隔的帧序列画面。因为,要满足随机存取的要求,仅利用I图本身信息进行帧内编码就可以
了;要满足高压缩比和高质量图像的要求,单靠I图帧内编码还不行,还要加上由P图和B图参与的帧间编码,以及块匹配运动补偿预测,即用前一帧图像预测当前
图像的因果预测和用后一帧图像预测当前图像的内插预测。这就要求帧内编码与帧间编码平衡,因果预测与内插预测间的平衡。平衡的结果是随机存取的高压缩比、
高质量图像的统一。图12是MPEG-2帧间编码结构图,其中:
1) 帧内编码图(ICP)
I图为不要基准图像编码作为基准所产生的图像,称为帧内编码图(ICP-Intra Coded
Pictures)。特点是:数据量最大;帧内中等程度压缩;无运动预测,可采用自相关性,即帧内相邻像素、相邻行的亮度、色度信号都具有渐变的空间相关
性,可作静止图像处理,无条件传送;图像可随机进入压缩图像数据序列,进行编码。
2) 预测编码图(PCP)
P图是以最近的上一个I图或P图为基准进行运动补偿预测所产生的图像,称为预测编码图(PCP-Predictive Coded
Pictures)。P图的特点是:本身是前I图或P图的前向预测(FP-Forward
Prediction)结果,也是产生下一个P图的基准图像;高编码效率,与I图相较,可提供更大的压缩比;前一个P图是下一个P图补偿预测的基准,如果
前者存在误码,则后者会将编码误差积累起来、传播下去。
3) 双向预测编码图(BPCP)
目前对B图有两种趋同的理解:其一,B图是同时以前面的I图或P图和后面的P图或I图为基准进行运动补偿预测所产生的图像,称为双向预测编
码图(BPCP-Bidirectional Predictive Coded
Picture)。前面的I图或P图代表“过去信息”,后面的P图或I图代表“未来信息”,由于同时使用了“过去”和“未来”两种信息,所以称为双向预
测。其二,由于帧序列相邻帧画面间的运动部分具有连续到时间相关性,可将当前画面看成是前一画面某一时刻图像的位移,当然位移方向及幅值在帧内各处未必相
同,只要用前面最近时刻的I图或P图及代表运动的位移信息,便可预测出当前图像,称为前向预测(FP)。根据某时刻的图像及反映位移信息的运动矢量,预测
出某时刻以前的图像,以便预测出前一帧中没有显露而现在出现的信息,称为后向预测(BP-Backword
Prediction)。B图是将前向预测(FP)与后向预测(BP)同时使用并取其平均值后所产生的图像,称为双向预测图或平均值预测图。
由图12可见,一个GOP由I为起始的一串IBP帧组成,GOP的长度是前一个I帧到下一个I帧之前的B帧之间的间隔,如
I1B2B3P4B5B6P7B8B9I10中从I1到B9就是GOP的长度。GOP越长,MPEG-2编码越有效,而数据流的编辑及组接越困难。一般,
最多由12帧组成。基准帧重复频率的不同,可提供不同的输出码率。GOP的结构随码率变化而不同,如码率大于40Mbps时,帧重复方式为只有I帧,
GOP最短,具有高效率的优点;码率为15-40Mbps时,帧重复方式为IB,GOP较短;码率小于15
Mbps时,帧重复方式为IBP或IBBP,GOP较长,有延迟,影响存取速度。总之,图像质量随着码率10-50
Mbps的升高而提高,随着帧重复方式I-IB-IBBP使GOP变长而增长。尽管帧重复方式可以是IP,IB,IBP,IBBP,甚至是只有I帧,但针
对不同的应用及码率,有不同的GOP结构:新闻编采,码率18Mbps,采用IB帧的GOP结构;节目分配,码率20Mbps,采用IBBP帧的GOP结
构;存档,码率30Mbps,采用IB帧的GOP结构:后期制作,码率50Mbps,采用I帧GOP结构。图13表示了GOP与图像质量的关系及应用,图
中编码规则是:I帧4:2:2 @ ML
MPEG速率为40-50Mbps;IBIBIB序列速率为25-30Mbps;长GOPIBP序列速率为12-18 Mbps。
系统对B帧像素不编码、不传送、不作为预测基准。仅在解码时,用双向预测的插值法建立,如I1与P4之间的B2、B3帧由I1和P4加权内插而建立。B帧像素块数据中,仅携带着为每个像素块设置的“运动
3.MPEG-2视频压缩基础
码率压缩要从视觉对象、视觉生理、视觉心理3个方面入手,研究符合于人类视觉规律的视觉模型。由于视觉心理是1个很复杂的问题,难以得到其规律。因此,码率压缩只能在利用图像信号的统计特性和人类眼睛的视觉特性的基础上来进行。
1) 利用图像信号的统计特性进行压缩
同一帧电视图像中相邻像素之间的幅度值相近,即同一行上的相邻像素之间幅值相近,相邻行之间同样位置上的像素幅值相近,体现了电视图像的空
间冗余度;相邻两帧电视图像同一位置上像素幅度值相近,体现了电视图像的时间(动态)冗余度,如图14所示。另外,每个像素所用bits数的多少表示了比
特结构,多用的比特数为冗余量,体现了静态(比特结构)冗余度。
因此,为了清楚地了解空间冗余度、时间冗余度和静态冗余度三者之间的关系,可以通过图15所示的电视图像信息的三维表示来说明。需要指出的
是采用运动补偿(MC)去除时间冗余度要进行160亿次的算术运算;采用离散余弦变换(DCT)和游程长度编码(RLC)去除空间冗余度要进行20亿次的
算术运算;采用可变长度编码(VLC)去除静态(比特结构)冗余度要象“Morse
Code”那样进行比特匹配。MPEG压缩算法如图16所示。为了减少计算量,最佳算法的探讨及其标准化是很重要的。
2) 利用人眼的视觉特性进行压缩
人眼对构成图像的不同频率成分、物体的不同运动程度等具有不同的敏感度,这是由人眼的视觉特性所决定的,如人的眼睛含有对亮度敏感的柱状细
胞1.8亿个,含有对色彩敏感的椎状细胞0.08亿个,由于柱状细胞的数量远大于椎状细胞,所以眼睛对亮度的敏感程度要大于对色彩的敏感程度。据此,可控
制图像适合于人眼的视觉特性,从而达到压缩图像数据量的目的。例如,人眼对低频信号的敏感程度大于对高频信号的敏感程度,可用较少的bit数来表示高频信
号;人眼对静态物体的敏感程度大于对动态物体的敏感程度,可减少表示动态物体的bit数;人眼对亮度信号的敏感程度大于对色度信号的敏感程度,可在行、帧
方向缩减表示色度信号的bit数;人眼对图像中心信息的敏感程度大于对图像边缘信息的敏感程度,可对边缘信息少分配bit数;人眼对图像水平向及垂直向信
息敏感于倾斜向信息,可减少表示倾斜向信息高频成分的bit数等。在实际工作中,由于眼睛对亮度、色度敏感程度不一样,故可将其分开处理。
为此,将单元分量RGB改变为YUV(或YCrCb)全分量。在编码时强调亮度信息,可去掉一些色度信息,如4:4:4变为4:2:2,码率由270Mbps降低到180Mbps。
由上述可见,电视系统存在着冗余信息,在传输图像信息之前,只要将这些冗余信息去除,就可以实现适度的压缩。由于去除这些冗余信息对图像质
量无影响,故称其为“无损压缩”。如,从视频信号中去除同步信息。无损压缩的压缩比不高,压缩能力有限。为了提高压缩比,MPEG标准采用了对图像质量有
损伤的“有损压缩”技术。
4. MPEG-2视频编码方式
为了提高压缩比及图像质量,MPEG-2视频编码采用运动补偿预测(时间预测+内插)消除时间冗余和不随时间变化的图像细节;采用二维
DCT(图像像素+量化传输系数)分解相邻像素,消除观众不可见、不重要的图像细节;采用熵值编码(已量化参数+编码参数的熵),使bit数减少到理论上
的最小值。对以上3种压缩技术,作如下说明:
1)运动补偿预测
将存储器中前一图像帧的重建图像中相应的块按编码器端求得的运动矢量进行位移,这就是运动补偿过程。为了压缩视频信号的时间冗余度
(Temporal Redundancy),MPEG采用了运动补偿预测(Motion Compensated
Prediction),图17是其运动处理过程示意图。运动补偿预测假定:通过画面以一定的提前时间平移,可以局部地预测当前画面。这里的局部意味着在
画面内的每个地方位移的幅度和方向可以是不相同的。采用运动估值的结果进行运动补偿,以便尽可能地减小预测误差。运动估值包括了从视频序列中提取运动信息
的一套技术,该技术与所处理图像序列的特点决定着运动补偿性能的优劣。与画面16×16像素宏块相关的运动矢量支持接收机解码器中的运动补偿预测。所谓预
测,实际上是由前一(n-1)图像帧导出当前(n)图像帧所考虑像素的预测值,而后由运动矢量编码传输n帧的实际像素值与其预测值之间的差值。例如,设宏
块为M×N的矩形块,将图17中的n-1帧的宏块与n帧的宏块进行比较。这实际上是一个如图18所示的进行宏块匹配的运动补偿过程,即将n帧中16×16
像素的宏块与n-1帧中限定搜索区(SR)内全部16×16像素的宏块进行比较。若n-1帧图像亮度信号为f n -1 (i ,
j),n帧图像亮度信号为f n (i , j),其中(i ,
j)为n帧的M×N宏块的任意位置,并将n帧中的一个M×N的宏块看作是从n-1帧中平移而来的,而且规定同一个宏块内的所有像素都具有同样的位移值
(k,l)
。这样,通过在n-1帧限定搜索区(SR)内进行搜索,总可以搜索到某一宏块,使得该宏块与n帧中要匹配的宏块的差值的绝对值达到最小,并得到运动矢量的
运动数据,在n-1帧和运动数据的控制下,获得n帧的一个相应的预测值。照此办理,直到n帧的M×N宏块的任意位置(i ,
j)的像素全部通过n-1帧的像素预测出来。即n帧与n-1帧的相关函数F(k , l)的绝对值表示为 :
式(1)表明要匹配的宏块已经匹配,并得到水平及垂直位移为(k ,
l)的运动矢量的运动数据。通过匹配不仅将传输的差值减到最小,而且补偿了匹配对象在图像中的位移,这就是运动补偿。为了改善预测效果,可以采用场预测。
由于在电视图像连续帧之间有较大程度的共同性,即时间冗余度,多数图像之间差值极小,尤其是在大多数时间传输小范围内的值时,采用运动补偿预测可使码率明
显降低。在接收端的解码器中以同样的运动补偿预测重现预测值,重现预测值加上差值就得到像素的原幅值。图
19是基本MPEG视频编码器框图,图中虚线左边为运动补偿预测编码所需要的基本功能器件。其中固定存储器存储n-1帧的复原数据,将其与n帧数据一同送
入运动补偿参数估值器,估值后就可以得到运动矢量的数据。用运动矢量数据和n-1帧的复原数据去控制用于块匹配的可变存储器,将n帧的当前像素值预测出
来。这里,预测是按帧差仅有1帧进行的,实际上MPEG-1和MPEG-2可以当前帧之前若干帧的某一帧为基准进行预测。值就得到像素的原幅值。图
19是基本MPEG视频编码器框图,图中虚线左边为运动补偿预测编码所需要的基本功能器件。其中固定存储器存储n-1帧的复原数据,将其与n帧数据一同送
入运动补偿参数估值器,估值后就可以得到运动矢量的数据。用运动矢量数据和n-1帧的复原数据去控制用于块匹配的可变存储器,将n帧的当前像素值预测出
来。这里,预测是按帧差仅有1帧进行的,实际上MPEG-1和MPEG-2可以当前帧之前若干帧的某一帧为基准进行预测。
需要说明的是:MPEG定义了基于帧、基于场及双场的图像预测,也定义了16×8的运动补偿。
MPEG-2:有逐行扫描方式,可以采用基于帧的图像预测;有隔行扫描方式,也可以采用基于场的图像预测。因此,MPEG-2编码器要对每
个图像先判断是帧模式压缩还是场模式压缩。在隔行扫描方式下:运动少的场景时,采用基于帧的图像预测,因为基于帧的图像两相邻行间几乎没有位移,帧内相邻
行间相关性强于场内相关性,从整个帧中去除的空间冗余度比从个别场中去除得多;剧烈运动的场景时,采用基于场的图像预测,因为基于帧的相邻两行间存在1场
延迟时间,相邻行像素间位移较大,帧内相邻行间相关性会有较大下降,基于场的图像两相邻行间相关性强于帧内相邻行间相关性,在1帧内,场间运动有很多高频
分量,从场间去除的高频分量比从整个帧中去除的多。由上述可见,选择基于帧的图像预测还是基于场的图像预测的关键是行间相关性。所以,在进行DCT之前,
要作帧DCT编码或场DCT编码的选择,对16×16
的原图像或亮度进行运动补偿后所获得的差值作帧内相邻行间和场内相邻行间相关系数的计算。若帧内相邻行间相关系数大于场内相邻行间相关系数,就选择帧
DCT编码,反之选场DCT编码。帧DCT编码与场DCT编码如图20所示。(未完待续)
2)二维DCT
MPEG采用了Ahmed N.等人于1974年提出的离散余弦变换(DCT-Discrete Cosine
Transform)压缩算法,降低视频信号的空间冗余度(Spatial
Redundancy)。因为静态图像和预测误差信号两者具有非常高的空间冗余度,为降低空间冗余度最广泛地采用的频率域分解技术就是DCT。DCT将运
动补偿误差或原画面信息块转换成代表不同频率分量的系数集。这有两个优点:其一,信号常将其能量的大部分集中于频率域的1个小范围内,这样一来,描述不重
要的分量只需要很少的比特数;其二,频率域分解映射了人类视觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求。视频信号的频谱线在0-6MHz
范围内,而且1幅视频图像内包含的大多数为低频频谱线,只在占图像区域比例很低的图像边缘的视频信号中才含有高频的谱线。因此,在视频信号数字处理时,可
根据频谱因素分配比特数:对包含信息量大的低频谱区域分配较多的比特数,对包含信息量低的高频谱区域分配较少的比特数,而图像质量并没有可察觉的损伤,达
到码率压缩的目的。然而,这一切要在低熵(Entropy)值的情况下,才能达到有效的编码。能否对一串数据进行有效的编码,取决于每个数据出现的概率。
每个数据出现的概率差别大,就表明熵值低,可以对该串数据进行高效编码。反之,出现的概率差别小,熵值高,则不能进行高效编码。视频信号的数字化是在规定
的取样频率下由A/D转换器对视频电平转换而来的,以256层或1024层表示输入视频信号的幅度,每个像素的视频信号幅度随着每层的时间而周期性地变
化。每个像素的平均信息量的总和为总平均信息量,即熵值。由于每个视频电平发生几乎具有相等的概率,所以视频信号的熵值很高,如图21所示。
熵值是一个定义码率压缩率的参数,视频图像的压缩率依赖于视频信号的熵值,在多数情况下视频信号为高熵值,要进行高效编码,就要将高熵值变为低熵值。怎样
变成低熵值呢?这就需要分析视频频谱的特点。由图22视频频谱分析可见:大多数情况下,视频频谱的幅度随着频率的升高而降低。其中低频频谱在几乎相等的概
率下获得0到最高的电平。与此相对照,高频频谱通常得到的是低电平及稀少的高电平。显然,低频频谱具有较高的熵值,高频频谱具有较低的熵值。据此,可对视
频的低频分量和高频分量分别处理,获得高频的压缩值。
由上述可见,码率压缩基于如图23所示的变换编码和熵值编码两种算法。前者用于降低熵值,后者将数据变为可降低比特数的有效编码方式。在
MPEG标准中,变换编码采用的是DCT,变换过程本身虽然并不产生码率压缩作用,但是变换后的频率系数却非常有利于码率压缩。实际上压缩数字视频信号的
整个过程分为块取样、DCT、量化、编码4个主要过程进行,如图24所示。首先在时间域将原始图像分成N(水平)×N(垂直)取样块,根据需要可选择4×
4、4×8、8×8、8×16、16×16等块,考虑到消除数据相关性及计算复杂度的恰当的折衷,图中选择了8×8像素块。这些8×8取样的像素块代表了
原图像各像素的灰度值,其范围在139-163之间,并依序送入DCT编码器,以便将取样块由时间域转换为频率域的DCT系数块。DCT系统的转换分别在
每个取样块中进行,这些块中每个取样是数字化后的值,表示一场中对应像素的视频信号幅度值。式(2)和(3)分别为2维DCT正变换及反变换公式:
例如,当u,v = 0
时,离散余弦正变换(DCT)后的系数若为F(0,0)