编解码学习笔记(三):Mpeg系列——Mpeg 1和Mpeg 2

时间:2022-10-28 17:11:01

MPEG是Moving Picture Experts Group的简称。这个名字本来的含义是指一个研究视频和音频编码标准的小组。现在我们所说的MPEG泛指又该小组制定的一系列视频编码标准。该小组于 1988年组成,至今已经制定了MPEG-1、MPEG-2、MPEG-3、MPEG-4、MPEG-7等多个标准,MPEG-21正在制定中。

MPEG到目前为止已经制定并正在制定以下和视频相关的标准:

  • MPEG-1: 第一个官方的视訊音訊压缩标准,随后在Video CD中被采用,其中的音訊压缩的第三级(MPEG-1 Layer 3)简称MP3, 成为比较流行的音訊压缩格式。
  • MPEG-2: 广播质量的视訊、音訊和传输协议。被用于無線數位電視-ATSC、DVB以及ISDB、数字卫星电视(例如DirecTV)、 数字有线电视信号,以及DVD视频光盘技术中。
  • MPEG-3: 原本目标是为高解析度电视(HDTV)设计,随后發現MPEG-2已足夠HDTV應用,故 MPEG-3的研發便中止。
  • MPEG- 4:2003 年发布的视訊压缩标准,主要是扩展MPEG-1、MPEG-2等標準以支援視訊/音訊物件(video/audio "objects")的編碼、3D內容、低位元率編碼(low bitrate encoding)和數位版權管理(Digital Rights Management),其中第10部分由ISO/IEC和ITU-T联合发布,称为H.264/MPEG-4 Part 10。参见H.264。
  • MPEG-7:MPEG-7并不是一个视訊压缩标准,它是一个多媒体内容的描述标准。
  • MPEG-21:MPEG-21是一个正在制定中的标准,它的目标是为未来多媒体的应用提供一个完整的平台。

  媒体codec在于MPEG-1,MPEG-2,MPEG-4,如上图所示。

图中名称解释:在图中DVD地球人都知道,何为DVB?

DVB:数字视频广播(DVB, Digital VideoBroadcasting),是由“DVB Project”维护的一系列为国际所承认的数字电视公开标准。DVB系统传输方式有如下几种:

·        卫星电视(DVB-S 及 DVB-S2)

·        有线电视(DVB-C)

·        无线电视(DVB-T)

·        手持地面无线(DVB-H)

这些标准定义了传输系统的物理层与数据链路层。设备通过同步并行接口(synchronous parallel interface, SPI),同步串行接口(synchronous serial interface, SSI),或异步串行接口(asynchronousserial interface, ASI)与物理层交互。数据以MPEG-2传输流的方式传输,并要求符合更严格的限制(DVB-MPEG)。对移动终端即时压缩传输数据的标准(DVB- H)目前正处于测试之中。

这些传输方式的主要区别在于使用的调制方式,因为不同它们应用的频率带宽的要求不同。利用高频载波的DVB-S使用QPSK调制方式,利用低频载波的DVB-C使用QAM-64 调制方式,而利用VHF 及 UHF载波的DVB-T使用COFDM调制方式。

除音频与视频传输外,DVB也定义了带回传信道(DVB-RC)的数据通信标准(DVB-DATA)。

DVB的codec,视频为:MPEG-2,MPEG-4 AVC;音频为:MP3,AC-3,AAC,HE-AAC。

MPEG-1

  MPEG-1作为ISO/IEC11172正式发布。

  MPEG-1较早的视频编码,质量比较差,主要用于 CD-ROM 存储视频,国内最为大家熟悉的就是 VCD(Video CD),他的视频编码就是采用 MPEG-1。它是为CD光盘介质定制的视频和音频压缩格式。一张70分钟的CD光盘传输速率大约在1.4Mbps。而 MPEG-1采用了块方式的运动补偿、离散余弦变换(DCT)、量化等技术,并为1.2Mbps传输速率进行了优化。MPEG-1 随后被Video CD采用作为内核技术。MPEG-1的输出质量大约和传统录像机VCR,信号质量相当,这也许是Video CD在发达国家未获成功的原因。

  MPEG-1音频分三层,就是MPEG-1 Layer I, II, III,其中第三层协议也就是MPEG- 1 Layer 3,简称MP3。MP3目前已经成为广泛流传的音频压缩技术。

MPEG-1有下面几个部分:

  • 第一部分(Part 1):系统;
  • 第二部分(Part 2):视频;
  • 第三部分(Part 3):音频;定义level1,level2,level3,并在MPEG-2中定义了扩展。
  • 第四部分(Part 4):一次性测试;
  • 第五部分(Part 5):参考软件;

MPEG-1的缺点:

  • 1个音频压缩系统限于两个通道(立体声)
  • 没有为隔行扫描视频提供标准化支持,且压缩率差
  • 只有一个标准化的“profile” (约束参数比特流), 不适应 更高分辨率的视频。MPEG - 1可以支持4k的视频,但难以提供更高分辨率的视频编码并且标识硬件的支持能力。
  • 支持只有一个颜色空间,4:2:0。

MPEG-2

MPEG-2内容介绍

  MPEG-2作为ISO/IEC 13818正式发布,通常用来为广播信号提供视频和音频编码,包括卫星电视、有线电视等。MPEG-2经过少量修改后,也成为DVD产品的内核技术。

  MPEG-2有11部分,具体如下:

第一部(Part 1):系统-描述视频和音频的同步和多路技术

  正式名称是 ISO/IEC 13818-1或 ITU-T中的H.222.0

  MPEG-2的系统描述部分(第1部分)定义了传输流,它用来一套在非可靠介质上传输数字视频信号和音频信号的机制,主要用在广播电视领域。

  定义了两个不同但相关的容器格式,MPEG transport stream和MPEG program stream,也就是图中的TS和PS。MPEG传输流(TS)为携带可损数字视频和音频,媒体流的开始和结束可以不标识出来,就像广播或者磁带,其中的 例子包括ATSC,DVB,SBTVD 和HDV。MPEG-2系统还定义了MPEG节目流(PS),它为以文件为基础的媒体设计一个容器格式,用于 硬盘驱动器,光盘 和闪存。

   MPEG-2 PS(节目流)是为在存储介质保存视频信息而开发的。 MPEG-2 TS(传输流)是为在网络传输视频信息而开发的。目前,MPEG-2 TS最广泛地应用是DVB系统。TS流与PS流的区别在于TS流的包结构是固定度的,而PS流的包结构是可变长度。 PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误 码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一 PS包的同步信息丢失,接收机无法确定下一包的同步位置,就会造 成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS码流;而在信道环境较好,传输误码较低时,一般采用PS码流由于 TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包格。

第二部(Part 2):视频-视频压缩

  正式名称是 ISO/IEC 13818-2或 ITU-T H.262。

  提供隔行扫描和非隔行扫描视频信号的压缩编解码器。

  MPEG-2的第二部分即视频部分和MPEG-1类似,但是它提供对隔行扫描视频显示模式的支持(隔行扫描广泛应用在广播电视领域)。MPEG-2视频并没有对低位速率(小于1Mbps)进行优化,在 3Mbit/s及以上位速率情况下,MPEG-2明显优于MPEG-1。 MPEG-2向后兼容,也即是说,所有符合标准的MPEG-2解码器也能够正常播放MPEG-1视频流。

  MPEG-2技术也应用在了HDTV传输系统中。MPEG-2 不光运用于 DVD-Video ,现在大部 分 HDTV(高清电视)也采用 MPEG-2 编码,分辨率达到了 1920x1080。由于 MPEG-2 的普及,本来为 HDTV 准备 的 MPEG-3 最终宣告放弃。

  MPEG-2视频通常包含多个GOP(GroupOf Pictures),每一个GOP包含多个帧(frame)。帧的帧类(frame type)通常包括I-帧(I-frame)、P-帧(P-frame)和B-帧(B-frame)。其中I-帧采用帧内编码,P-帧采用前向估计,B- 帧采用双向估计。一般来说输入视频格式是25(CCIR标准)或者29.97(FCC)帧/秒。

  MPEG-2支持隔行扫描和逐行扫描。在逐行扫描模式下,编码的基本单元是帧。在隔行扫描模式下,基本编码可以是帧,也可以是场(field)。

  原始输入图像首先被转换到YCbCr颜色空间。其中Y是亮度,Cb和Cr是两个色度通道。 Cb指蓝色色 度,Cr指红色色度。对于每一通道,首先采用块分区,然后形成“宏块”(macroblocks),宏块构成了编码的基本单元。每一个宏块再分 区成8x8的小块。色度通道分区成小块的数目取决于初始参数设置。例如,在常用的4:2:0格式下,每个色度宏块只采样出一个小块,所以三个通道宏块能够 分区成的小块数目是4+1+1=6个。

  对于I-帧,整幅图像直接进入编码过程。对于P-帧和B-帧,首先做运动补偿。通常来说,由于相邻帧之间的相关 性很强,宏块可以在前帧和后帧中对应相近的位置找到相似的区域匹配的比较好,这个偏移量作为运动向量被记录下来,运动估计重构的区域的误差被送到编码器中编码。

  对于每一个8×8小块,离散余弦变换把图像从空间域转换到频域。得到的变换系数被量化并重新组织排列顺序,从而增加长零的可能性。之后做游程编码(run-length code)。最后作哈夫曼编码(Huffman Encoding)。

  I帧编码是为了减少空间域冗余,P帧和B帧是为了减少时间域冗余。

  GOP是由固定模式的一系列I帧、P帧、B帧组成。常用的结构由15个帧组成,具有以下形式 IBBPBBPBBPBBPBB。GOP中各个帧的比例的选取和带宽、图像的质量要求有一定关系。例如因为B帧的压缩时间可能是I帧的三倍,所以对于计算 能力不强的某些实时系统,可能需要减少B帧的比例。

  MPEG-2输出的比特流可以是匀速或者变速的。最大比特率,例如在DVD应用上,可达10.4 Mbit/s。如果要使用固定比特率,量化尺度就需要不断的调节以产生匀速的比特流。但是,提高量化尺度可能带来可视的失真效果。比如马赛克现象。

第三部(Part 3):音频-音频压缩

  MPEG-2的第三部分定义了音频压缩标准。MPEG-2 BC(Backwards compatible),后向兼容MPEG-1音频。该部分改进了MPEG-1的音频压缩,支持两通道以上的音频,可高达5.1多声道。MPEG-2音频 压缩部分也保持了向后兼容的特点(也称为MPEG - 2 BC),允许的MPEG - 1音频解码器解码两个主立体声组件。还定义音频MPEG-1 Layer I,II ,III额外的比特率和采样频率。

  例如mp2,是MPEG-1 Audio level 2,标准有:ISO/IEC 11172-3, ISO/IEC 13818-3。MPEG-1Layer II 定义在 ISO/IEC 11172-3,也就是MPEG-1的第三部分,在 ISO/IEC 13818-3,也就是MPEG-2的第3部分定义扩展。

第四部(Part 4):测试规范

  描述测试程序。

第五部(Part 5):仿真软件

  描述软件仿真系统。

第六部(Part 6):DSM-CC(Digital Storage Media Commandand Control)扩展

  描述DSM-CC(数字存储媒体命令及控制)扩展。

第七部(Part 7):Advanced Audio Coding (AAC)

  MPEG-2的第七部分定义了不能向后兼容的音频压缩(也成为MPEG-2 NBC)。也成为MPEG-2 NBC(not-backwards compatible MPEG-1Audio)。该部分提供了更强的音频功能。通常我们所说的MPEG-2 AAC指的就是这一部分。AAC即Advanced Audio Coding。 AAC是比以前的MPEG音频标准的效率,并在某个程度上没有它的前任MPEG-1 Layer3(MP3)复杂,它没有复杂的混合滤波器(hybrid filter bank)。它支持从1到48个通道,采样率从8-96千赫,多渠道,多语种和多节目(multiprogram)能力。AAC也在MPEG-4标准的第 3部分描述。

第八 部(Part 8):

   已取消。

第九部(Part 9):实时接口扩展

  实时接口扩展。

第十部(Part 10):DSM-CC一致性扩展

  DSM-CC一致性扩展。

第十一部(Part 11) :IP

  知识产权管理(IPMP)。XML定义在ISO/IEC23001-3。MPEG-2内核技术大约涉及640个专利,这些专利主要集中在20间公司和一间大学。

MPEG- 2音频

  MPEG- 2提供新的音频编码方式。在第3部分和第7部分介绍。

第三部分

  MPEG-2 BC (backward compatible with MPEG-1 audio formats),使用一半的取样速率处理低位速率的音频,(MPEG-1 Layer 1/2/3 LSF),多通道编码达到5.1个通道。

第七部分

  MPEG-2 NBC (Non-Backward Compatible),提供MPEG-2AAC,且不能向后兼容, 多通道编码达到 48个通道。

MPEG- 2 profile和level

  MPEG-2提供广泛的应用, 对于大部分的应用,即不现实的也过于昂贵,去支持整个标准,通常只支持子集,因此标准定义了profile和level来表示这些子集。profile定 义特性相关,例如压缩算法,色度格式等。level定义性能相关,例如最大比特率,最大帧大小等。一个应用程序应当通过profile和level来表示 他的能力。profile和level的组合构成MPEG-2视频编码标准在某种特定应用下的子集。对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定速率范围内的编码码流 。 例如一台DVD播放机可以说,它支持最多的主要profile和主要level(通常写为MP@ML)。

  MPEG-2主要的profile:

名称

英文

中文

图像编码类型

色度格式 YCbCr

长宽比

伸缩模式

SP

Simple Profile

简单类

I帧、P帧

4:2:0

4:3或16:9

 

MP

Main Profile

主类

I帧、P帧、B帧

4:2:0

4:3 或16:9

 

SNR

SNR Scalable profile

信噪比分层类

I帧、P帧、B帧

4:2:0

4:3 或16:9

信噪比可伸缩

Spatial

Spatially scalable profile

空间可分层类

I帧、P帧、B帧

4:2:0

4:3 或16:9

信噪比或空间可伸缩

442P

4:2:2 Profile

 

I帧、P帧、B帧

4:2:2

   

HP

High profile

高类

I帧、P帧、B帧

4:2:0或 4:2:2

4:3 或16:9

信噪比或空间可伸缩

  MPEG-2主要的level:

名称

英文

帧频

最大长×最大宽

每秒最大亮度样本 (约为高×宽×帧频率)

最大比特率 (Mbit/s)

LL

Low Level

23.976, 24, 25, 29.97, 30

352×288

3,041,280

4

ML

Main Level

23.976, 24, 25, 29.97, 30

720×576

10,368,000,例外为:HP中4:2:0为14,475,600,4:2:2为11,059,200

15

H-14

High-1440 level

23.976, 24, 25, 29.97, 30, 50, 59.94, 60

1440×1152

47,001,600,例外为:HP中4:2:0为62,668,800

60

HL

High level

23.976, 24, 25, 29.97, 30, 50, 59.94, 60

1920×1152

62,668,800,例外为:HP中4:2:0为83,558,400

80

组合例子

Profile @ Level

Resolution (px)

Framerate max. (Hz)

Sampling

Bitrate (Mbit/s)

Example Application

SP@LL

176 × 144

15

4:2:0

0.096

Wireless handsets

SP@ML

352 × 288

15

4:2:0

0.384

PDAs

320 × 240

24

MP@LL

352 × 288

30

4:2:0

4

Set-top boxes (STB)

MP@ML

720 × 480

30

4:2:0

15 (DVD: 9.8)

DVD, SD-DVB

720 × 576

25

MP@H-14

1440 × 1080

30

4:2:0

60 (HDV: 25)

HDV

1280 × 720

30

MP@HL

1920 × 1080

30

4:2:0

80

ATSC 1080i, 720p60, HD-DVB (HDTV).

(Bitrate for terrestrial transmission is limited to 19.39Mbit/s)

1280 × 720

60

422P@LL

   

4:2:2

   

422P@ML

720 × 480

30

4:2:2

50

Sony IMX using I-frame only, Broadcast "contribution" video (I&P only)

720 × 576

25

422P@H-14

1440 × 1080

30

4:2:2

80

Potential future MPEG-2-based HD products from Sony and Panasonic

1280 × 720

60

422P@HL

1920 × 1080

30

4:2:2

300

Potential future MPEG-2-based HD products from Panasonic

1280 × 720

60

MPEG- 2在DVD上的应用

DVD中采用了 MPEG-2标准并引入如下技术参数限制:
* 分辨率
o 720 x 480, 704 x 480, 352 x 480, 352 x 240 像素(NTSC制式)
o 720 x 576, 704 x 576, 352 x 576, 352 x 288 像素(PAL制式)
* 纵横比
o 4:3
o 16:9
* 帧率(帧播放速度)
o 59.94 场/秒,23.976帧/秒,29.97帧/秒(NTSC)
o 50 场/秒,25帧/秒(PAL)
* 视频+音频 比特率
o 平均最大缓冲区 9.8 Mbit/s
o 峰值 15 Mbit/s
o 最小值 300 Kbit/s
* YUV 4:2:0
* 字幕支持
* 内嵌字幕支持(NTSC only)
* 音频
o LPCM编码:48kHz或96kHz;16或24-bit;最多可达6声道
o MPEG Layer 2 (MP2):48 kHz,可达5.1声道
o 杜比数字-Dolby Digital(DD,也称为AC-3):48 kHz,32-448kbit/s,可达5.1声道
o 数字家庭影院系统-Digital Theater Systems (DTS):754 kbit/s或1510 kbit/s
o NTSC制式DVD必须包含至少一道LPCM或Dolby Digital
o PAL制式DVD必须包含至少一道MPEG Layer 2、LPCM或者Dolby Digital
* GOP结构
o 必须为GOP提供串行的头信息
o GOP最大可含帧数目:18 (NTSC) / 15 (PAL)

MPEG- 2在DVB上的应用

DVB-MPEG相关技术参数:
* 必须符合以下一种分辨率:
o 720 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 640 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 544 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 480 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 352 × 480 像素,24/1.001,24,30/1.001或30帧/秒
o 352 × 240 像素,24/1.001,24,30/1.001或30帧/秒
o 720 × 576 像素,25帧/秒
o 544 × 576 像素,25帧/秒
o 480 × 576 像素,25帧/秒
o 352 × 576 像素,25帧/秒
o 352 × 288 像素,25帧/秒

MPEG- 2和NTSC

必须符合以下一种分辨率:
o 1920 × 1080 像素,最多60帧/秒(1080i)
o 1280 × 720 像素,最多60帧/秒(720p)
o 720 × 576 像素,最多50帧/秒,25帧/秒(576i,576p)
o 720 × 480 像素,最多60帧/秒,30帧/秒(480i,480p)
o 640 × 480 像素,最多60帧/秒
注:1080i按 1920×1088像素编码,但是最后8行在显示时抛弃。

对YCbCr的补充资料

YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。右图为UV色版。

Y(Luma,Luminance)视讯,也就是灰阶值。UV 视作表示彩度的 C(Chrominance或Chroma)。主要的采样(subsample)格式有YCbCr 4:2:0、YCbCr 4:2:2、YCbCr 4:1:1和 YCbCr 4:4:4。YUV的表示法称为 A:B:C 表示法:

* 4:4:4 表示完全取样。
* 4:2:2 表示 2:1 的水平取样,没有垂直下采样。
* 4:2:0 表示 2:1 的水平取样,2:1 的垂直下采样。
* 4:1:1 表示 4:1 的水平取样,没有垂直下采样。

最常用Y:UV记录的比重通常 1:1 或2:1,DVD-Video 是以 YUV 4:2:0 的方式记录,也就是我们俗称的I420,YUV4:2:0 并不是说只有U(即 Cb), V(即 Cr)一定为 0,而是指U:V互相援引,时见时隐,也就是说对于每一个行,只有一个U或者V份量,如果一行是4:2:0的话,下一行就是4:0:2,再下一行是 4:2:0...以此类推。

以上来自wiki资料的整理。