图4-7 运动估计的全局搜索块匹配 实际上,在做运动估计和运动补偿时,是以16×16的块(称宏块)逐个进行的,如图4-6所示 ,这是将当前帧划分为N×N(16×16)的块。对每一块在过去帧中范围为
的范围内进行搜索,以求得最优匹配,从而得到运动矢量的估值(dx,dy)。衡量匹配好坏 的准则可以是均方误差最小准则。搜索方法可以是全局搜索法,即对搜索范围内的每一点都 计算均方误差,选最小值即对应最优匹配,如图4-7所示。
5 JPEG标准
JPEG是Joint Photographic Experts Group的缩写,主要用于计算机静止图像的压缩,在用 于活动图像时,其算法仅限于帧内,便于编辑。
采用JPEG标准可以得到不同压缩比的图像,在使图像质量得到保证的情况下,可以从每个像 素24bit减到每个像素1bit甚至更小。
JPEG标准所根据的算法是基于DCT(离散余弦变换)和可变长编码。系统框图如图4-8所示, 从图中可见,JPEG的关键技术有变换编码、量化、差分编码、运动补偿、霍夫曼编码和游程 编码等。
图4-8 JPEG系统框图 6 H.261标准 JPEG算法的原理是利用单帧内的空间相关性,减小空间冗余度,这种方式称为帧内编码。我 们知道电视图像(包括各种活动图像)各个连续帧之间也有很大的相关性,称为时间相关性。
为了进一步提高图像压缩比,要设法减小时间冗余度,这种编码方式称为帧间编码。H.261 是用于会议电视的国际标准,既采用了帧内编码,又采用了帧间编码,因此它的压缩比大致 是JPEG的三倍。 H.261标准用于音象业务的码率是p×64kbps(p=1,2…,30)。用于电视电话时p=1或2,用 于电视会议时p≥6。这种标准具有最小延迟实时对话的能力。
图4-9是H.261编码器的原理框图。从编码器中看到,它有一个和解码器一样的过程,解出 的图像放在运动补偿 预测器(存储器)中形成过去帧,它的输出和当前帧一起加到“运动估计”,求得的运动矢 量一方面经VLC送到复用器中去,另一方面加到运动补偿预测器中,使之产生估计帧(对当前 帧),它和当前帧相减即求得差值,这个差值经DCT和Q、VLC也送到复用器中去。
图4-9 H.261编码器的原理框图 在进行帧间编码时,编码器和解码器必须使用相同的预测器,否则两者会脱轨。为了获得重 建图像,被量化以后的系数要用一个反量化器和反余弦变换(IDCT)来处理,为防止编码器和 解码器慢慢漂移分离,必须对误差的平均值加以严格规定,即使如此,仍然要周期地使用帧 内编码,使解码器处于一个已知状态。
运动补偿单元使帧间差最小,从而减少所需传输码率。搜索窗的大小在水平和垂直方向上都 是±15个采样值。通常只对亮度信号作运动估计,但运动补偿不仅作用于亮度,也作用于色 度(亮度象素位移的一半)。
图4-10画出了解码器的框图。被压缩的数据送入缓冲器,然后作可变长度解码,解码器余 下的 部分相似于编码器的后端,仅有的区别是不再需要运动估计。运动矢量和其它附带的信息是 直接从可变长解码器的输出得到的。
在编码器的输出端有缓冲器(Buffer),这是因为编码过程产生的比特率不是 恒定的,它取决于运动序列中各点的图像统计特征。在图像的“简单”部分允许节省一些比 特,而在“复杂”的部分要多花一些比特。对于每一个编码图像,比特的数目也允许变更。 但是在传输网络中的数据的比特率又必须是恒定的,所以在视频编码器的输出端必须有数据 缓冲器来提供平滑的作用。相反的,在解码器要以非恒定的速率来利用接收到的信息,所以 也要包含一个解码器的缓冲器。 图4-10 H.261的解码器框图 在传输中,帧频的长期平均值是CIF的标准值,但是在短的时间间隔内帧频会有一定变化。
表4-2 CIF和QCIF格式
| 格 式 |
CIF |
QCIF |
| 信号分量 |
行数/帧 |
象素数/行 |
行数/帧 |
象素数/行 |
| 亮度(Y) |
288 |
360(352) |
144 |
180(176) |
| 色度(Cb) |
144 |
180(176) |
72 |
90(88) |
| 色度(Cr) |
144 |
180(176) |
72 |
90(88) |
注:CIF和QCIF帧频是每秒30帧。
H.261的一幅图像是由块(Block)组成宏块(Macroblock),宏块组成图像组(GO B),图像组组 成图像,如图4-11所示。 两种格式的码率为:CIF:15~2Mbps QCIF:128kbps 7 MPEG- 1和MPEG-2标准 MPEG(Moving Picture Expert Group)意思是“运动图像专家组”。这个专家组的任务 是为了对数字存储媒质、电视广播、通信等方面的运动图像和伴音给出一种通用的编码 方法 。符合这种编码方法的运 MPEG用句法规定了一个层次性的结构,共分六层。这六层是图像序列(Video Sequence)-图像组(Group of Picture)-图像(Picture)-宏块条(Silce)- 宏块(Macroblock )-块(Block)。 一个图像包含亮度阵列和色度阵列。在MPEG- 1中亮度和色度的格式是4∶2∶0,而在MPEG-2 中,除这一格式外,还允许有4∶2∶2及4∶4∶4。
六个层次有其不同的功能,如表4-3所示。
表4-3 MPEG-1/-2规定的层次功能
| 语法规定的层次 |
功 能 |
语法规定的层次 |
功 能 |
| 序列层(Sequence layer) |
随机存取段落 |
宏块条层(Slice layer) |
重新同步单元 |
| 图像组层(Group of picture layer) |
随机存取视频单元 |
宏块层(Macroblock layer) |
运动补偿单元 |
| 图像层(Picture layer) |
基本编码单元 |
块层(Block layer) |
DCT单元 |
所谓4∶2∶0是指在垂直方向每隔一行去除一行色度信号。
7.2 MPEG-1和MPEG-2中三种类型图像
MPEG在利用块匹配运动补偿来减小时间冗余度时,不仅用上一帧的图像预测当前图像, 而且也使用下一帧图像预测当前图像,即双向预测,这是和H.261标准有重要区别的地方。 因此 ,MPEG-1和2中有三种类型图像,即I、B、P三种,如图4-12所示。
I帧是帧内编码,P帧是正向预测,如图4-13所示,通过正向预测得到的图。B帧是双向预测图 ,如图4-14所示。由于B帧不能作其他图像的基准,所以对B帧编码校粗(步长较大),需要比特数比预测图P少。
7.3 MPEG- 1的视频压缩编码
MPEG-1中视频编码的关键压缩技术和H.261一样,仍是DCT、运动补偿和Huffman编码。编码 器和解码器的原理框图也和H.261没有区别。
MPEG-1的信源输入格式是SIF(Source Input Format)。CCIR601格式的信源要转换成SIF后进 入MPEG- 1编码器,解码器输出也是SIF格式,显示时要经内插,扩充为CCIR601格式。PAL/NT SC都作如此处理。SIF格式如表4-4所示。
表4-4 SIF(525/625)格式
| 信号分量 |
行数/帧 |
象素数/行 |
| 亮度(Y) |
240/288 |
352 |
| 色度(Cb) |
120/144 |
176 |
| 色度(Cr) |
120/144 |
176 |
图4-15所示为MPEG-1视频编码器。图中和H.261不同的部分是有二组运动补偿和存储器, 并有相应的转换开关。这是因为MPEG- 1有B图像要处理。开关有4种状态,‘0’是针对帧内 编码,“2”或“3”是用上一帧图像(经S2的虚线a/c)或用下一帧图像(经S2的实线 d/b) ,“4”是用了上一帧和下一帧两幅图像(经S2的实线b和实线c),这时候要相应产生2 个运 动矢量。
7.4 MPEG- 2视频压缩编码
研究制定MPEG标准是为了使应用于数字存储媒体、电视广播、通信等方面的运动图像和 伴音 有一种通用的编码方法。使用这个标准意味着运动图像可以作为一种计算机数据来处理 ,并且能够存储在各种各样的存储器中,也可以在现有的或未来的网络中传送和接收,还可以在现在的或将来的广播信道中广播。
这个标准的应用很广泛,覆盖了从电视电话到高清晰度电视。
(1)划分为不同的“Profile”和“Level”(“类”和“级”)。由于想使这个标准适用于各种不同的应用,而各种应用在码率、分辨力、图像质量和服务方面要求又各不相同,所以希望这个标准要有通用性。在这个标准产生的过程中,考虑了各种应用的不同要求,开发了必要的算法,并且把它们集中成为一种单一的句法。正因为如此,这个标准使得各种不同应用 的码 流之间可以灵活地相互改变。
既要使句法有通用性,又不能要求具体的解码器全面满足整个句法的需要,那样具体的解码器就太复杂了。为了解决通用性和特殊性的矛盾,设想将整个ISO/IEC的句法分成子集,这样分的子集就称为Profile,我们称之为“类”。这个“类”规定的子集还觉得太大,有必要再分得细一些。例如图像的尽寸有小的,有大的,大的可大到
,实际上不会有一个解码器能够处理这么大的动态范围的图像,因此,在Profile中又规定了“level”,称为级。
ISO/IEC13818-2(即MPEG-2视频)规定了5个类和4个级如表4-5所示。
表4-5 MPEG- 2的Profile和Level
| 类级 |
Simple Profile |
Main
Profile |
SNR
Scalable
Profile |
Spstially
Scalable
Profile |
High
Profile |
| High Level |
|
√ |
|
|
√ |
| High-1440 Level |
|
√ |
|
√ |
√ |
| Main Level |
√ |
√ |
√ |
|
√ |
| Low Level |
|
√ |
√ |
注:Main Profile(主类):图像质量合乎一定要求,允许有一定损伤,不具有可分级性;
Simple Profile (简化类):如Main Profile相同,只是不用B帧,这是为了节约RAM;
SNR Scalable Profile(信噪比可选类):比Main Profile改进之处是信噪比可分级;
Spatially Scalable Profile(空间尺寸可选类):空间分辨率方面也可分级;
HIgh Profile(高质量类):支持4∶2∶2并全面可分级(宏块的组成是:4个Y块+2个Cb块 +2个Cr块);
Low Level(低级):类似H.261中的CIF格式;
Wain Level(主级):相应于普通电视;
High 1440 Level(高1440级):大致相当于具有每行1440个采样的HDTV;
High Level(高级):大致相当于每行1920个采样的HDTV。
MPEG-2格式经常用级和类的缩写表示,如:MP@ML是指主类和主级,目前用于普通数字电视 、卫星、电缆、广播的DVB标准就是用这一格式。
(2)MPEG-2的编解码器和MPEG-1的异同。
①MPEG-1只处理逐行扫描的电视图像而MPEG-2既处理逐行扫描也处理隔行扫描,因此编码器中要有场/帧决策的功能;
②DCT有二种: 帧DCT或场DCT;
③运动估计有四种:场预测、帧预测、双场预测和16×8的运动补偿;
④压缩编码方式均采用运动检测补偿、DCT、量化、霍夫曼编码、游程编码和VLC等。
7.5 MPEG-2系统
MPEG-2系统的作用如图4-16所示。它有以下几个任务:
(1)对音频、视频、数据、控制等基本比特流起系统复用的作用。
(2)提供用于恢复时间基准的时间标志,缓冲器初始化和管理,音频和视频的解码时间,显示时间。
(3)给解码器提供一种信息(PSI),使之更容易和更迅速地找到所需节目。
(4)给误差恢复,有条件接入,随机接入,数字存储控制提供支持。
视频或音频编码器的输出被打成PES(Packetised Elementary Streanis),然后在PS复用器中被组合成PS(Program Stream)或在TS复用器中被组成成TS(Transport Strea m),前者用于相对无误差的环境,后者用于有噪声媒质。