论文部分内容阅读
[摘要]简单介绍MPEG四种压缩标准及应用,重点介绍MPEG-2的组成。
[关键词]MPEG-2 帧内压缩 帧间压缩 图像组I帧 B帧P帧
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1120022-02
MPEG是活动图像专家组的缩写,成立于1988年,致力于系统标准的制定。
MPEG-1标准是用于存储媒体的活动图像和伴随音频的编码,即在数字存储介质中实现对活动图像和声音的压缩编码。主要是针对存储媒体的视频编码标准,在顾及图像质量和压缩比的情况下,考虑对图像序列要进行随机访问和编辑的方便,为此每秒至少要传送两个可独立编译码的I帧,以利于进行MPEG比特流的编辑和随机访问,码率可达1.5Mbps。MPEG-1所支持的输入图像格式是SIF格式。适用于VCD视频产品。MPEG-1不能提供分级编码,也不适合在传输条件差的环境中应用。音频部分只允许单声道和立体声,MPEG-1的音频Lcyer3简称MP3,广泛应用于网络交换音乐和编码。
MPEG-2标准是“活动图像及其伴音的通用编码”,该标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定,MPEG-2标准充分考虑对MPEG-1标准的兼容和对图像质量以及传输速率的多层次要求,具有可分级性、灵活性和广泛的适应性。编码码率从每秒3Mbps-1OOMbps,支持多声道的音频编码,适用于广播级的数字电视的编码和传送,认定为SDTV和HDTV的编码标准。
MPEG-4标准是基于对象的视音频编码标准,1999年5月形成国际标准。本意是制定低比特率的视音频压缩编码标准,如在电话线上传输视音频数据,它的视频码率覆盖范围为5kbps至5Mbps,音频码率覆盖范围为2Kbps至64kbps。
MPEG-7也称为多媒体内容描述接口,它不是信息压缩编码技术,而是一种多媒体内容描述标准,对多媒体信息进行标准化的描述,实现快速有效地搜索。MPEG-7是关于资料的数据。
一、MPEG-2组成部分
MPEG-2专门规定了多路节目的复用方式。MPEG-2标准目前分为9个部分:
(一)System:描述多个视频、音频和数据基本码流合成传输码流和节目码流的方式。
(二)Video:描述视频的编码方法。MPGE-2视频压缩的关键技术和视频流的结构与MPEG-1基本相同,但进行了扩展,适合各种扫描标准,直到HDTV。
(三)Audio:描述与MPEG-1音频标准反向兼容的音频编码方法。
(四)Compliance:描述测试一个编码的码流是否符合MPEG-2码流的方法。
(五)Software:描述了MPEG-2标准的第一、二、三部分的软件实现方法。
(六)DSM-CC(数字存储媒体命令与控制):描述交互式多媒体网络中服务器与用户间的会话信令集。
(七)规定不与MPEG-1音频反向兼容的多信道音频编码标准。
(八)10比特视频、现已停止。
(九)规定了传送码流和解码器之间的实时接口。
MPEG-2视频编码标准规定了若干个语法子集,称为“类”。按使用的编码工具的集合分成五个“类”(Profiles),简单“类”(Simple profile)使用最少的编码工具。主“类”(Main Profile)除使用所有简单类的编码工具外,还加入了一种双向预测的方法。信噪比可分级“类”(SNRS Scalable Profile)和空间可分级“类”(Spatially scalable Profj1e)将图像的编码信息分为基本信息层和一个或多个次要信息层。基本信息层包含对图像译码至关重要的信息,译码器根据基本信息即可进行译码,但图像质量较差。次要信息层中包含图像的细节,广播时对基本信息层加以较强的保护,使其具有较强的抗干扰能力,这样在近距离,可以同时接收到基本信息和次要信息,恢复出高质量的图像。而在远距离仍能收到基本信息,恢复出图像,不至造成解码中断,但图像质量要差些。高级“类”(High Profile)实际应用于比特率更高、要求更高的图像质量时使用,高级“类”中还提供同时处理色差信号的可能性。
由于处理图像的参数不同,同一类中按编码图像的格式大小分成四个“级”(Levels)。低级(Low Level),输入图像格式的像素是BT601标准格式的1/4,即352×288×25(PAL)代表图像帧频为每秒25帧,每帧图像的有效扫描行数为288行,每行的有效像素为352个或352×240×30(NTSC),相应编码最大输出码率为4Mbps。主级(Main Level),输入图像格式的像素符合BT601标准格式,即720×576×25或720×480×30。HDTV范围,输入图像格式的像素是BT601格式的4倍,其中1440高级(High1440 Level)的图像宽高比为4:3,是每行1440有效像素的高清晰度格式,图像格式为1440×1080。高级(High level),图像宽高比为16:9,输入图像格式为1920×1080,是高清晰度格式。
“类”规定了可以用哪些语法元素以及怎么用,而“级”则规定了所用语法元素的值可以怎么选取。“类”和“级”的若干组合构成MPEG-2视频编码标准在某种特定应用下的子集,对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定速率范围内的编码码流。在MPEG-2的五个“类”中,较高的“类”意味着采用较多的编码工具集,对编码图像进行更精细的处理,在相同比特率下将得到较好的图像质量,较高“类”的译码器也能译较低“类”方法编码的图像,即MPEG-2的“类”间后向兼容性。MPEG-2格式用“级”和“类”的缩写来表示。普通数字电视、卫星电缆广播的DVB标准是采用主“类”和主“级”MP@ML。高清电视HDTV是采用主“类”和高“级”MP@HL。
二、MPEG-2图像压缩
MPEG-2图像压缩是利用了图像的两种特性:空间相关性和时间相关性。
一帧图像内的任何一个场景都是由若干像素点构成的,因此一个像素通常与它周围的某些像素在亮度和色度上存在一定的关系,即空间的相关性。一个节目中的一个情节常常由若干帧连续图像组成的图像序列构成,一个图像序列中前后帧图像间也存在着一定的关系,即时间的相关性。两种相关性使图像中存在着大量冗余信息。去除这些冗余信息,只保留少量非相关信息进行传输,就可以节省传输带宽。接收机利用这些非相关信息,按照一定的译码算法,在保证一定图像质量的前提下恢复原始图像。一个好的压缩方法就是能最大限度去除图像信息中的冗余信息。
MPEG-2压缩是根据运动图像相邻帧之间有一定相似性的原则,通过帧间运动预测,参考相邻两帧相似情况,去掉与前一帧相同的数据只保留与前一帧不同的数据,这种相关帧压缩称为帧间压缩。为了在编码中实现最大的压缩比,MPEG-2中编码图像被分为三类帧,分别称为I帧,B帧和P帧。MPEG-2压缩是以GOP(图像组)为一个单元,由I帧、B帧和P帧构成。
I帧图像采用帧内编码方式,不使用运动补偿,只利用单帧图像内的空间相关性。主要用于接收机的初始化和信道的获取,以及节目的切换和插入。I帧称为参考帧,所谓参考帧就是其他帧都参考的起始帧,所以I帧是一个能够完全记载这一帧全部图像数据的帧,也称为全帧,其它的P、B帧都参考I帧来计算冗余数据。I帧图像的压缩倍数相对较低,是周期性出现在图像序列中的,出现的频率可由编码器决定。由于I帧不依赖于其它帧,是随机存取的切入点,同时是译码中的基准帧。
P帧和B帧图像采用帧间编码方式,同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,依据前面的I帧或P帧进行预测,P帧为向前预测帧,即数据与前一帧比较,去掉与前一帧相似的冗余数据而构成的帧,使用运动补偿算法进行压缩,因此压缩比要比I帧高,数据量平均只是I帧的1/3左右。P帧对前面的B帧和后继的P帧进行译码的基准帧,P帧本身是有误差的,如果P帧的前一个基准帧也是P帧,就会造成误差传播。B帧是基于内插重建的帧,它基于前后的两个I、P帧或P、P帧,B帧图像采用双向时间预测,根据与前后一帧图像的比较而得到的帧,数据量平均可以达到I帧的1/9左右。B帧本身不作为基准帧,因此可以在提供更高的压缩比的情况下不传播误差。P帧、B帧是不完全帧,它依靠I帧而成立,由于B帧图像采用了未来帧作为参考,因此MPEG-2编码的码流中图像帧的传输顺序和显示顺序是不同的。MPEG-2压缩是以GOP(图像组)为一个单元,一般情况下一帧组成一个数据包,第一帧为I帧,依次为一个P帧、2个B帧构成IPBBPBB…结构。
MPEG-2因为采用舍弃P帧和B帧冗余数据的预测帧相关压缩方式对视频图像有很好的压缩效果,在保证数字视频质量的前提下可实现20:l的压缩比,使数据量下降至1Mbyte/s(8Mbit/s)。这样1小时的视频节目只占用3.6Gbyte的数据存储空间。
MPEG-2的编码码流分为六个层次。依次为视频序列层(Seguence),图像组层(Group of Picture),图像层(Picture),像条层(slice),宏块层(Macro Block)和像块层(B1ock)。除宏块层和像块层外,上面四层都有相应的起始码(Start Code),可用于因误码或其它原因收发两端失误时,译码器重新捕捉同步。
1.序列层构成某路节目的图像序列,有表示开始的图像序列头和表示终止的图像终止码,是随机存取段落。序列起始码后的序列头中包含了图像尺寸,宽高比,图像速度等信息。
2.图像组层,一个图像组由相互间有预测和生成关系的一组I、P、B图像构成,第一帧图像总是I帧,其结构和长度均为可变。GOP有两个参数,即长度(N)和帧重复频率(M),GOP是随机存取的视频单位,GOP的长度是一个I帧到下一个I帧的间隔,这个长度是可变的,长GOP可以提供高的压缩比,但会造成随机存取的延迟,与误差的积累 (P帧的误差传播)。一般是一秒内有两个I帧,用来作为随机存取的入口。
3.图像层分为I、P、B三类是独立的显示单位,也是基本编码单位。在MPEG-2中,图像可以是逐行扫描,也可以是隔行扫描。不同于MPEG-1只是逐行扫描。PIC头中包含了图像编码的类型和时间参考信息。
4.像条层,一个像条层包括一定数量的宏块,是重新同步单位。像条层设置的目的是防止误码的扩散,当一个像条层出现误码时不影响后续的像条层译码。
5.宏块层,图像以亮度阵列被分成16×16的宏块,宏块是进行运动补偿的基本单位。MPEG-2定义了三种宏块结构,4:2:O宏块、4:2:2宏块和4:4:4宏块,分别代表构成一个宏块的亮度像块和色差像块的数量关系。4:2:O宏块包含四个8×8的亮度像块,两个8×8的色差像块(Cb和Cr色差像块各一个)。4:2:2宏块包含四个8×8亮度像块,四个8×8的色差像块(Cb、Cr色差像块各两个)。4:4:4宏块中包含四个8×8亮度像块,四个8×8Cb色差像块和四个8×8Cr色差像块。在进行视频编码前,分量信号R、G、B被变换为亮度信号Y、色差信号Cb和Cr形式。三种宏块结构实际上对应着三种亮度和色度的抽样方式。
6.像块层是离散余弦(DCT)变换的基本运算单元,包含亮度或色度。在4:2:0格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成一个Cb、Cr像块。在4:2:2格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成二个Cb、Cr像块。在4:4:4格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成四个Cb、Cr像块,相应的宏块结构正是以此为基础构成的。
在帧内编码的情况下,编码图像仅经过DCT、量化器和比特流编码器生成编码比特流,而不经过预测环处理。原始的图像抽样数据直接进行DCT变换。在帧间编码的情况下,原始图像首先与帧内存有的预测图像进行比较,计算出运动矢量,由此运动矢量和参考帧生成原始图像的预测图像,然后原始图像与预测图像差值所生成的差分图像数据进行DCT变换,再经过量化器和比特流编码器生成输出的编码比特流。帧内编码与帧间编码流程的区别在于是否经过预测环的处理。
MPEG-2视频图像压缩标准被广泛应用在广播电视节目的制作与传输。
[关键词]MPEG-2 帧内压缩 帧间压缩 图像组I帧 B帧P帧
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1120022-02
MPEG是活动图像专家组的缩写,成立于1988年,致力于系统标准的制定。
MPEG-1标准是用于存储媒体的活动图像和伴随音频的编码,即在数字存储介质中实现对活动图像和声音的压缩编码。主要是针对存储媒体的视频编码标准,在顾及图像质量和压缩比的情况下,考虑对图像序列要进行随机访问和编辑的方便,为此每秒至少要传送两个可独立编译码的I帧,以利于进行MPEG比特流的编辑和随机访问,码率可达1.5Mbps。MPEG-1所支持的输入图像格式是SIF格式。适用于VCD视频产品。MPEG-1不能提供分级编码,也不适合在传输条件差的环境中应用。音频部分只允许单声道和立体声,MPEG-1的音频Lcyer3简称MP3,广泛应用于网络交换音乐和编码。
MPEG-2标准是“活动图像及其伴音的通用编码”,该标准是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定,MPEG-2标准充分考虑对MPEG-1标准的兼容和对图像质量以及传输速率的多层次要求,具有可分级性、灵活性和广泛的适应性。编码码率从每秒3Mbps-1OOMbps,支持多声道的音频编码,适用于广播级的数字电视的编码和传送,认定为SDTV和HDTV的编码标准。
MPEG-4标准是基于对象的视音频编码标准,1999年5月形成国际标准。本意是制定低比特率的视音频压缩编码标准,如在电话线上传输视音频数据,它的视频码率覆盖范围为5kbps至5Mbps,音频码率覆盖范围为2Kbps至64kbps。
MPEG-7也称为多媒体内容描述接口,它不是信息压缩编码技术,而是一种多媒体内容描述标准,对多媒体信息进行标准化的描述,实现快速有效地搜索。MPEG-7是关于资料的数据。
一、MPEG-2组成部分
MPEG-2专门规定了多路节目的复用方式。MPEG-2标准目前分为9个部分:
(一)System:描述多个视频、音频和数据基本码流合成传输码流和节目码流的方式。
(二)Video:描述视频的编码方法。MPGE-2视频压缩的关键技术和视频流的结构与MPEG-1基本相同,但进行了扩展,适合各种扫描标准,直到HDTV。
(三)Audio:描述与MPEG-1音频标准反向兼容的音频编码方法。
(四)Compliance:描述测试一个编码的码流是否符合MPEG-2码流的方法。
(五)Software:描述了MPEG-2标准的第一、二、三部分的软件实现方法。
(六)DSM-CC(数字存储媒体命令与控制):描述交互式多媒体网络中服务器与用户间的会话信令集。
(七)规定不与MPEG-1音频反向兼容的多信道音频编码标准。
(八)10比特视频、现已停止。
(九)规定了传送码流和解码器之间的实时接口。
MPEG-2视频编码标准规定了若干个语法子集,称为“类”。按使用的编码工具的集合分成五个“类”(Profiles),简单“类”(Simple profile)使用最少的编码工具。主“类”(Main Profile)除使用所有简单类的编码工具外,还加入了一种双向预测的方法。信噪比可分级“类”(SNRS Scalable Profile)和空间可分级“类”(Spatially scalable Profj1e)将图像的编码信息分为基本信息层和一个或多个次要信息层。基本信息层包含对图像译码至关重要的信息,译码器根据基本信息即可进行译码,但图像质量较差。次要信息层中包含图像的细节,广播时对基本信息层加以较强的保护,使其具有较强的抗干扰能力,这样在近距离,可以同时接收到基本信息和次要信息,恢复出高质量的图像。而在远距离仍能收到基本信息,恢复出图像,不至造成解码中断,但图像质量要差些。高级“类”(High Profile)实际应用于比特率更高、要求更高的图像质量时使用,高级“类”中还提供同时处理色差信号的可能性。
由于处理图像的参数不同,同一类中按编码图像的格式大小分成四个“级”(Levels)。低级(Low Level),输入图像格式的像素是BT601标准格式的1/4,即352×288×25(PAL)代表图像帧频为每秒25帧,每帧图像的有效扫描行数为288行,每行的有效像素为352个或352×240×30(NTSC),相应编码最大输出码率为4Mbps。主级(Main Level),输入图像格式的像素符合BT601标准格式,即720×576×25或720×480×30。HDTV范围,输入图像格式的像素是BT601格式的4倍,其中1440高级(High1440 Level)的图像宽高比为4:3,是每行1440有效像素的高清晰度格式,图像格式为1440×1080。高级(High level),图像宽高比为16:9,输入图像格式为1920×1080,是高清晰度格式。
“类”规定了可以用哪些语法元素以及怎么用,而“级”则规定了所用语法元素的值可以怎么选取。“类”和“级”的若干组合构成MPEG-2视频编码标准在某种特定应用下的子集,对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定速率范围内的编码码流。在MPEG-2的五个“类”中,较高的“类”意味着采用较多的编码工具集,对编码图像进行更精细的处理,在相同比特率下将得到较好的图像质量,较高“类”的译码器也能译较低“类”方法编码的图像,即MPEG-2的“类”间后向兼容性。MPEG-2格式用“级”和“类”的缩写来表示。普通数字电视、卫星电缆广播的DVB标准是采用主“类”和主“级”MP@ML。高清电视HDTV是采用主“类”和高“级”MP@HL。
二、MPEG-2图像压缩
MPEG-2图像压缩是利用了图像的两种特性:空间相关性和时间相关性。
一帧图像内的任何一个场景都是由若干像素点构成的,因此一个像素通常与它周围的某些像素在亮度和色度上存在一定的关系,即空间的相关性。一个节目中的一个情节常常由若干帧连续图像组成的图像序列构成,一个图像序列中前后帧图像间也存在着一定的关系,即时间的相关性。两种相关性使图像中存在着大量冗余信息。去除这些冗余信息,只保留少量非相关信息进行传输,就可以节省传输带宽。接收机利用这些非相关信息,按照一定的译码算法,在保证一定图像质量的前提下恢复原始图像。一个好的压缩方法就是能最大限度去除图像信息中的冗余信息。
MPEG-2压缩是根据运动图像相邻帧之间有一定相似性的原则,通过帧间运动预测,参考相邻两帧相似情况,去掉与前一帧相同的数据只保留与前一帧不同的数据,这种相关帧压缩称为帧间压缩。为了在编码中实现最大的压缩比,MPEG-2中编码图像被分为三类帧,分别称为I帧,B帧和P帧。MPEG-2压缩是以GOP(图像组)为一个单元,由I帧、B帧和P帧构成。
I帧图像采用帧内编码方式,不使用运动补偿,只利用单帧图像内的空间相关性。主要用于接收机的初始化和信道的获取,以及节目的切换和插入。I帧称为参考帧,所谓参考帧就是其他帧都参考的起始帧,所以I帧是一个能够完全记载这一帧全部图像数据的帧,也称为全帧,其它的P、B帧都参考I帧来计算冗余数据。I帧图像的压缩倍数相对较低,是周期性出现在图像序列中的,出现的频率可由编码器决定。由于I帧不依赖于其它帧,是随机存取的切入点,同时是译码中的基准帧。
P帧和B帧图像采用帧间编码方式,同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,依据前面的I帧或P帧进行预测,P帧为向前预测帧,即数据与前一帧比较,去掉与前一帧相似的冗余数据而构成的帧,使用运动补偿算法进行压缩,因此压缩比要比I帧高,数据量平均只是I帧的1/3左右。P帧对前面的B帧和后继的P帧进行译码的基准帧,P帧本身是有误差的,如果P帧的前一个基准帧也是P帧,就会造成误差传播。B帧是基于内插重建的帧,它基于前后的两个I、P帧或P、P帧,B帧图像采用双向时间预测,根据与前后一帧图像的比较而得到的帧,数据量平均可以达到I帧的1/9左右。B帧本身不作为基准帧,因此可以在提供更高的压缩比的情况下不传播误差。P帧、B帧是不完全帧,它依靠I帧而成立,由于B帧图像采用了未来帧作为参考,因此MPEG-2编码的码流中图像帧的传输顺序和显示顺序是不同的。MPEG-2压缩是以GOP(图像组)为一个单元,一般情况下一帧组成一个数据包,第一帧为I帧,依次为一个P帧、2个B帧构成IPBBPBB…结构。
MPEG-2因为采用舍弃P帧和B帧冗余数据的预测帧相关压缩方式对视频图像有很好的压缩效果,在保证数字视频质量的前提下可实现20:l的压缩比,使数据量下降至1Mbyte/s(8Mbit/s)。这样1小时的视频节目只占用3.6Gbyte的数据存储空间。
MPEG-2的编码码流分为六个层次。依次为视频序列层(Seguence),图像组层(Group of Picture),图像层(Picture),像条层(slice),宏块层(Macro Block)和像块层(B1ock)。除宏块层和像块层外,上面四层都有相应的起始码(Start Code),可用于因误码或其它原因收发两端失误时,译码器重新捕捉同步。
1.序列层构成某路节目的图像序列,有表示开始的图像序列头和表示终止的图像终止码,是随机存取段落。序列起始码后的序列头中包含了图像尺寸,宽高比,图像速度等信息。
2.图像组层,一个图像组由相互间有预测和生成关系的一组I、P、B图像构成,第一帧图像总是I帧,其结构和长度均为可变。GOP有两个参数,即长度(N)和帧重复频率(M),GOP是随机存取的视频单位,GOP的长度是一个I帧到下一个I帧的间隔,这个长度是可变的,长GOP可以提供高的压缩比,但会造成随机存取的延迟,与误差的积累 (P帧的误差传播)。一般是一秒内有两个I帧,用来作为随机存取的入口。
3.图像层分为I、P、B三类是独立的显示单位,也是基本编码单位。在MPEG-2中,图像可以是逐行扫描,也可以是隔行扫描。不同于MPEG-1只是逐行扫描。PIC头中包含了图像编码的类型和时间参考信息。
4.像条层,一个像条层包括一定数量的宏块,是重新同步单位。像条层设置的目的是防止误码的扩散,当一个像条层出现误码时不影响后续的像条层译码。
5.宏块层,图像以亮度阵列被分成16×16的宏块,宏块是进行运动补偿的基本单位。MPEG-2定义了三种宏块结构,4:2:O宏块、4:2:2宏块和4:4:4宏块,分别代表构成一个宏块的亮度像块和色差像块的数量关系。4:2:O宏块包含四个8×8的亮度像块,两个8×8的色差像块(Cb和Cr色差像块各一个)。4:2:2宏块包含四个8×8亮度像块,四个8×8的色差像块(Cb、Cr色差像块各两个)。4:4:4宏块中包含四个8×8亮度像块,四个8×8Cb色差像块和四个8×8Cr色差像块。在进行视频编码前,分量信号R、G、B被变换为亮度信号Y、色差信号Cb和Cr形式。三种宏块结构实际上对应着三种亮度和色度的抽样方式。
6.像块层是离散余弦(DCT)变换的基本运算单元,包含亮度或色度。在4:2:0格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成一个Cb、Cr像块。在4:2:2格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成二个Cb、Cr像块。在4:4:4格式中,每四个Y信号的像块空间内的Cb、Cr样值分别构成四个Cb、Cr像块,相应的宏块结构正是以此为基础构成的。
在帧内编码的情况下,编码图像仅经过DCT、量化器和比特流编码器生成编码比特流,而不经过预测环处理。原始的图像抽样数据直接进行DCT变换。在帧间编码的情况下,原始图像首先与帧内存有的预测图像进行比较,计算出运动矢量,由此运动矢量和参考帧生成原始图像的预测图像,然后原始图像与预测图像差值所生成的差分图像数据进行DCT变换,再经过量化器和比特流编码器生成输出的编码比特流。帧内编码与帧间编码流程的区别在于是否经过预测环的处理。
MPEG-2视频图像压缩标准被广泛应用在广播电视节目的制作与传输。