当前位置: 代码迷 >> 综合 >> 第十三章 MPEG-2(第一部分)
  详细解决方案

第十三章 MPEG-2(第一部分)

热度:25   发布时间:2023-12-09 21:26:32.0

MPEG-2扩展了MPEG-1,涵盖了一个更广泛的应用。在阅读本章之前应该复习MPEG-1的内容来巩固MPEG的基础。

基本应用旨在定义处理所有比特率4~9Mbps广播质量视频的数字传输。但是MPEG-2对其它的应用非常有用,如HDTV,现在支持的码率为1.5~60Mbps。

MPEG-2是一个ISO标准(ISO/IEC 13818),包括下面11个部分:

系统                                 ISO/IEC 13818-1

视频                                 ISO/IEC 13818-2

音频                                 ISO/IEC 13818-3

一致性测试                     ISO/IEC 13818-5

软件仿真                         ISO/IEC 13818-5

DSM-CC扩展                 ISO/IEC 13818-6

高级音频编码                 ISO/IEC 13818-7

RTI扩展                          ISO/IEC 13818-9

DSM-CC一致性             ISO/IEC 13818-10

IPMP                                ISO/IEC 13818-11

和MPEG-1一样,压缩比特流隐含定义了解压缩算法。在国际标准的范围内,压缩算法每个厂商有别。数字存储媒介命令与控制(DSM-CC)扩展(ISO/IEC 13818-6)是一个为开发MPEG-2流控制通道相关的工具套件。除了提供VCR类型的特性,如快进,倒退,暂停等之外,它可以用于一个广泛的其它目的,如分组数据传输。DSM-CC工作于连接下一代分组网络,和互联网协议如,RSVP,RTSP,RTP和SCP一起工作。

事实接口(RTI)扩展(ISO/IEC 13818-9)定义一个通用的接口,通过它,终端设备生厂商和网络运营商可以设计。RTI为在实时输入解码器端的一个MPEG-2系统流指定一个传输字节模型,而MPEG-2系统定义了一个理想的字节传输方案。

IPMP(知识产权管理与保护)是一个数字版权管理(DRM)标准,符合MPEG-4 IPMP扩展规范。而不是一个完整的系统,而是一个提供各种功能的框架。


音频概述

除了非后向兼容的音频扩展(ISO/IEC 13818-7)之外,MPEG-2支持多达5个全带宽通道兼容MPEG-1的编码。它也扩展MPEG-1音频编码到1/2采样速率(16kHz,22.5kHz和24kHz),为的是每通道的比特率在64kbps或以下时提高质量。

MPEG-2.5是一个非官方的,而是通用的,扩展了MPEG-2的音频容量。它加入了采样率为8kHz,11.025kHz和12kHz。


视频概述

对于MPEG-2,模型指定语法(即,算法),级别指定多种参数(分辨率,帧率,比特率等等)。主模型@主级的目标是SDTV应用,而主模型@高级则是针对HDTV的应用。


级别

MPEG-2支持4个级别,它指定给定模型的分辨率,帧率,编码的比特率等。


低级(LL)

MPEG-1约束参数比特流(CPB),支持最高352×288,30帧/秒。最高比特率是4Mbps。


主级(ML)

MPEG-2约束参数比特流(CPB),支持最高720×576,30帧/秒,旨在SDTV的应用。最高比特率可达15~20Mbps。


高级-1440

这一级支持高达高1440×1088,60帧/秒,旨在HDTV的应用。最高比特率可达60~80Mbps。


高级(HL)

高级支持高达高1920×1088,60帧/秒,旨在HDTV的应用。最高比特率可达80~100Mbps。


模型

MPEG-2支持6种模型,它指定使用哪种编码语法(算法)。表13.1~13.8显示了允许的多种级别和模型的组合。


简单模型(SP)

不带B帧的主模型,旨在软件应用和可能的数字有线电视。


主模型(MP)

被大部分MPEG-2解码器芯片支持,它应该满足90%的消费类SDTV和HDTV应用。典型的分辨率如表13.6所示。


多视图模型(MVP)

通过使用存在的MPEG-2工具,它可以两个角度差别很小并指向同一场景的摄像机进行视频编码。


4:2:2(422P)

以前叫做“演播室模型”,这个模型使用4:2:2YCbCr代替4:2:0,在主级,提高的最大比特率高达50Mbps(高级是300Mbps)。它被加入支持专业视频SDTV和HDTV需求。


SNR和空间模型

加入SNR可扩展性和/或空间可扩展性。


高模型(HP)

目标针对专业视频HDTV应用。

 


级别

模型

不可扩展

可扩展

简单模型

主模型

多视图模型

4:2:2模型

SNR模型

空间模型

高模型

高级

-

-

-

-

高级-1440

-

-

-

-

主级

-

低级

-

-

-

-

-


 

表13.1    MPEG-2可接受的级别和模型的组合

 


约束

模型

不可扩展

可扩展

简单模型

主模型

多视图模型

4:2:2模型

SNR模型

空间模型

高模型

色度格式

4:2:0

4:2:0

4:2:0

4:2:0或4:2:2

4:2:0

4:2:0

4:2:0或4:2:2

图像类型

I,P

I,P,B

I,P,B

I,P,B

I,P,B

I,P,B

I,P,B

可扩展模式

-

-

时空

-

SNR

SNR或时空

SNR或时空

帧内DC预测(比特数)

8,9,10

8,9,10

8,9,10

8,9,10,11

8,9,10

8,9,10

8,9,10,11

序列可扩展性扩展

图像空间可扩展性扩展

图像时间可扩展性扩展

重复第一场

约束

非约束

约束

非约束


 

表13.2    一些MPEG-2的模型约束

 


 


级别

最大数量的层数

模型

SNR

空间

多视图

高级

所有层(基本+增强)

-

-

3

2

空间增强层

1

0

SNR增强层

1

0

时空辅助层

0

1

高级-1440

所有层(基本+增强)

-

3

3

2

空间增强层

1

1

0

SNR增强层

1

1

0

时空辅助层

0

0

1

主级

所有层(基本+增强)

2

-

3

2

空间增强层

0

1

0

SNR增强层

1

1

0

时空辅助层

0

0

1

低级

所有层(基本+增强)

2

-

-

2

空间增强层

0

0

SNR增强层

1

0

时空辅助层

0

1


 

表13.3    MPEG-2可扩展模型的允许层数量

 


模型

模型

模型@级别的基本解码器

基本层

增强层1

增强层2

SNR

4:2:0

SNR,4:2:0

-

MP@same level

空间

4:2:0

SNR,4:2:0

-

MP@same level

4:2:0

空间,4:2:0

-

MP@(level - 1)

4:2:0

SNR,4:2:0

空间,4:2:0

4:2:0

空间,4:2:0

SNR,4:2:0

4:2:0或4:2:2

-

-

HP@same level

4:2:0

SNR,4:2:0

-

4:2:0或4:2:2

SNR,4:2:0

-

4:2:0

空间,4:2:0

-

HP@(level - 1)

4:2:0或4:2:2

空间,4:2:2

-

4:2:0

SNR,4:2:0

空间,4:2:0或4:2:2

4:2:0或4:2:2

SNR,4:2:2

空间,4:2:2

4:2:0

空间,4:2:0

SNR,4:2:0或4:2:2

4:2:0

空间,4:2:2

SNR,4:2:2

4:2:2

空间,4:2:2

SNR,4:2:2

多视图

4:2:0

时空,4:2:0

-

MP@same level


 

表13.4一些MPEG-2视频解码器需要的多种模型

 


级别

空间分辨率层

参数

模型

简单

多视图

4:2:2

SNR/空间

高级

增强

每行采样点数

-

1920

1920

1920

-

1920

每帧行数

1088

1088

1088

1088

每秒帧数

60

60

60

60

每行采样点数

-

-

1920

-

-

960

每帧行数

1088

576

每秒帧数

60

30

高级-1440

增强

每行采样点数

-

1440

1440

-

1440

1440

每帧行数

1088

1088

1088

1088

每秒帧数

60

60

60

60

每行采样点数

-

-

1440

-

720

720

每帧行数

1088

576

576

每秒帧数

60

30

30

主级

增强

每行采样点数

720

720

720

720

720

720

每帧行数

576

576

576

608

576

576

每秒帧数

30

30

30

30

30

30

每行采样点数

-

-

720

-

-

352

每帧行数

576

288

每秒帧数

30

30

低级

增强

每行采样点数

-

352

352

-

352

-

每帧行数

288

288

288

每秒帧数

30

30

30

每行采样点数

-

-

352

-

-

-

每帧行数

288

每秒帧数

30


注:

       1.上面的级别和模型原始指定的每帧行数是最大1152行,改变到每帧1088行。

 

表13.5    MPEG-2的分辨率和时空参数上限

在单层或SNR可扩展编码模型中的情况下,使用“增强层”参数。

 


 


级别

最高比特率(Mbps)

典型有效分辨率

帧速率(Hz)2

23.976p

24p

25p

29.97p

30p

50p

59.94p

60p

25i

29.97i

30i

高级

80

(高级模型为100)

(4:2:2模型为300)

1920×10801

×

×

×

×

×

 

 

 

×

×

×

高级-1440

60

(高级模型为80)

1280×720

×

×

×

×

×

×

×

×

 

 

 

1440×10801

×

×

×

×

×

 

 

 

×

×

×

主级

15

(高级模型为20)

(4:2:2模型为50)

352×480

×

×

 

×

×

 

×

×

 

×

×

352×576

 

×

×

 

 

×

 

 

×

 

 

544×480

×

×

 

×

×

 

×

×

 

×

×

544×576

 

×

×

 

 

×

 

 

×

 

 

640×480

×

×

 

×

×

 

×

×

 

×

×

704×480,704×576

×

×

 

×

×

 

×

×

 

×

×

720×480,720×576

 

×

×

 

 

×

 

 

×

 

 

低级

4

320×240

×

×

 

×

×

 

×

×

 

×

×

352×240

×

×

 

×

×

 

×

×

 

×

×

352×288

 

×

×

 

 

×

 

 

×

 

 


注:

1.       对于隔行扫描图像,视频编码系统需要有效扫描行的数目是32的倍数,逐行扫描图像是16的倍数。所以,对于1080-行的隔行扫描格式,视频编码器和解码器真正使用的是1088行。额外的8行是“虚设”行,没有内容,设计者选择特定应用的虚设数据。额外的8行通常是编码图像的最后8行。这些虚设行不携带有用的数据,但加了一点传送需要的数据。

2.       p = 逐行扫描;I = 各行扫描。

表13.6    MPEG-2主模型级别和分辨率的例子

 


 


级别

空间分辨率层

模型

简单

多视图

SNR/空间

4:2:2

高级

增强

-

62.668800

62.668800

-

62.668800(4:2:2)

83.558400(4:2:0)

62.668800

-

-

62.668800

-

14.745600(4:2:2)

19.660800(4:2:0)

-

高级-1440

增强

-

47.001600

47.001600

47.001600

47.001600(4:2:2)

62.668800(4:2:0)

-

-

-

47.001600

10.368000

11.059200(4:2:2)

14.745600(4:2:0)

-

主级

增强

10.368000

10.368000

10.368000

10.368000

11.059200(4:2:2)

14.745600(4:2:0)

11.059200

-

-

10.368000

-

3.041280(4:2:0)

-

低级

增强

-

3.041280

3.041280

3.041280

-

-

-

 

3.041280

 

-

-


 

表13.7    MPEG-2 Y采样率(M采样点/秒)上限

在单层或SNR可扩展编码模型中的情况下,使用“增强层”参数。

 


级别

模型

不可扩展

可扩展

简单

多视图

4:2:2

SNR/空间

高级

-

80

130(两层)

80(基本层)

300

-

100(所有层)

80(中+基本层)

25(基本层)

高级-1440

-

60

100(两层)

60(基本层)

-

60(所有层)

40(中+基本层)

15(基本层)

80(所有层)

60(中+基本层)

20(基本层)

主级

15

15

25(两层)

5(基本层)

50

15(两层)

10(基本层)

20(所有层)

15(中+基本层)

4(基本层)

低级

-

4

8(两层)

4(基本层)

-

4(两层)

3(基本层)

 


 

表13.8    MPEG-2比特率(Mbps)上限


可扩展性

MPEG-2 SNR,空间和高框架支持4种可扩展性模式操作。这些模式将MPEG-2视频分成几层,目的是为视频数据确定优先级。由于效率下降大概2dB(即大概需要多30%的比特数),所以可扩展性通常不使用。


SNR可扩展性

这种模式的目标是需要多级质量级别的应用。所有层都有相同的空间分辨率。基本层提供基本视频质量。增强层通过提供基本层的精细DCT系数数据来提高视频质量。


空间可扩展性

有用的联播,每个层有一个不同的空间分辨率。基本层提供了基本空间分辨率和时间速率。增强层使用对基本层空间内插来提高空间分辨率。例如,基本层可能使用352×240的视频分辨率,而增强层被用来生成704×480的视频分辨率。


时间可扩展性

这种模式允许从低时间速率迁移到较高时间速率系统。基本层提供基本的时间速率。增强层关联基本层使用时间预测。基本层和增强层可以融合产生全时间速率输出。所有层有相同的分辨率和色度格式。在增强层有错误的情况下,基本层可以被用来隐藏它。


数据分区

这种模式的目标是在ATM网络中信元丧失恢复能力。它将64个量化变换系数分成两组比特流。较高优先级的比特流包括重要的低频DCT系数和头和运动向量类的附属信息。一个低优先级的比特流携带高频DCT系数来增加细节。


传输流和程序流

MPEG-2系统标准指定两种方法来复合音频,视频和其它数据到一个合适的格式来传输和存储。

程序流 设计应用于较少出错的地方。它包含的音频,视频和数据流(也叫做比特流元素)复合到单个比特流。程序流,也就是每个元素流,可以是固定或可变的比特流。DVDs和SVCD使用程序流,在视频和音频流的私有数据流中携带DVD-和SVCD-特定数据。

传输流 使用长度为188字节的固定大小的分组,被设计用于那些数据容易出错的地方。也将所有音频,视频和数据流复合成单个比特流,可以携带多个程序流。ARIB,ATSC,DVB和开放式有线?标准使用传输流。

传输流 和程序流 都是基于一个通用的分组结构,以便于通用的解码器使用和转换。两种流被设计支持大量已知的和预期的应用,而保持灵活性。


视频编码层
YCbCr色度空间

MPEG-2使用YCbCr色度空间,支持4:2:0,4:2:2和4:4:4采样。选择4:2:2和4:4:4采样比4:2:0提高了色度分辨率,产生更好的图像质量。

MPEG-2的4:2:0采样结构如图3.8~3.10所示。4:2:2和4:4:4采样如图3.2和3.3所示。


编码图像类型

有3中类型的图像编码。I(帧内)图像是长或帧作为一个单独的静态图像编码的。在视频流中它们允许随机访问。如此,I图像每秒应该出现2次。I图像也应该出现在那些场景剪切的地方。

P(预测)图像是关于最近的I或P图像场或者帧的编码,产生前向预测处理,如图13.1所示。通过使用运动补偿,P图像比I同乡提供更多的压缩,它也作为B图像或将来P图像的参考。

B(双向)图像通过使用最近的过去或将来的I或P图像作为一个参考来进行场或帧编码,产生一个双向预测,如图13.1所示。B帧提供了最大的压缩率。并且通过平均两张图像降低了噪声。典型地,使用两张B图像来分开I或P图像。

D(DC)图像除了后向兼容MPEG-1的解码之外,在MPEG-2中不支持。

一个图像组(GOP)是一系列的一个或多个编码图像,旨在辅助随机访问和编辑。在编码过程中,GOP的值是可配置的。越小的GOP值,就有越好的运动响应(由于I图像彼此接近),但是较低的压缩率。

在编码的比特流中,一个GOP必须开始于一个I图像,可以跟随任何数量以任何顺序跟随I,P或B图像。在显示次序中,一个GOP必须开始预一个I或B图像,结束预一个I或P图像。所以,最小的GOP是一个I图像,而最大的没有限制。

每个GOP应该和其它任何GOP独立编码。然而这是不真实的,除非没有B图像先于第一个I图像,或者它们仅使用后向运动补偿。这导致了开放和封闭的GOP格式。一个封闭的GOP可以不使用前面的GOP图像的运动补偿。一个开放的GOP由断开连接标志 标识,指示在GOP头之后的第一个B图像(如果有)紧随在第一个I图像可能不能被正确的解码(这样不能被显示),由于因为编辑而使用于参考图像不可用的缘故。

 图13.1    MPEG-2 I,P和B帧

一些图像可以不按顺序序列发送,有解码器来完成并发插值处理和和图像重排列。箭头显示了帧间的有依赖性。

 


运动补偿

由于引入了场,所以MPEG-2的运动补偿更复杂。在一个宏块使用运动补偿被压缩之后,在参考宏块和编码宏块之间包含两个空间差异(运动向量),内容不同(误差项)。

两个主要的预测类型是场 和帧。场图像中,只有使用场预测。帧图像中,或者场,或者帧预测被使用(在宏块层次可选)。

MPEG-2的运动向量通常以半像素单位编码。MPEG-1同时支持半像素或全像素单位。


16×8运动补偿选项

每个宏块使用两个运动向量(B图像4个),一个是宏块的高16×8区域,另一个是宏块的低高16×8区域。它仅用于场图像。


偶素运动补偿选项

这仅用于在帧的预测和参考场之间没有B图像的P图像。使用一个运动向量,两个运动向量只有一个小的差别。所有必要的预测由这些导出。


宏块

MPEG-2有3种类型的宏块可用。

4:2:0宏块(图13.2)包括4个Y块,1个Cb块和1个Cr块。块的组织如图中所示。

4:2:2宏块(图13.3)包括4个Y块,2个Cb块和2个Cr块。块的组织如图中所示。

4:4:4宏块(图13.4)包括4个Y块,4个Cb块和4个Cr块。块的组织如图中所示。

P帧中的宏块使用前面最近的I或P帧作为参考帧编码,产生2种可能的编码:

l        帧内编码:没有运动补偿

l        前向预测:前面最近的I或P帧作为参考

B帧中的宏块使用前面和将来最近的I和/或P帧作为参考帧编码,产生4种可能的编码:

l        帧内编码:没有运动补偿

l        前向预测:前面最近的I或P帧作为参考

l        后向预测:将来最近的I或P帧作为参考

l        双向预测:使用两个帧作为参考:前面最近的I或P帧作为参考和将来最近的I或P帧作为参考

 图13.2    MPEG-2的4:2:0宏块结构

 

 图13.3    MPEG-2的4:2:2宏块结构

 图13.4    MPEG-2的4:4:4宏块结构


I
宏块

I帧有10种类型的宏块,如表13.28所示。

如果表13.28中的[宏块量化]列为“1”,那么量化尺度被传送。对于其余的宏块类型,DCT校正使用前面的量化尺度值来编码。

如果表13.28中的[编码模式]列为“1”,那么6-比特的编码块模型被作为可变长编码传送。这告诉解码器4:2:0宏块的6个块中的哪个被编码(“1”),哪个没有被编码(“0”)。表13.33列举了码字分布的63种组合。当没有编码块时,就没有编码;它有宏块类型指示。对于4:2:2和4:4:4的宏块,分别有2个或6个额外的比特,被用来扩展编码块模型。


DCT

每个8×8的块(输入采样或者预测误差项)通过一个8×8的DCT(离散余弦变换)处理,产生一个8×8块的水平和垂直频率系数,如图7.56所示。

输入采样值是0~255,产生的DC系数的范围是0~2,048,AC系数的范围是-2,048~2,047。

由于空间和信噪比(SNR)的可扩展性,非帧内块(非帧内宏块中的块)也有可能。非帧内块的系数意味着采样值之间的差异,而并非实际样本值。它们通过从前面图像减去当前宏块运动补偿值得到。


量化

8×8块的频率系数被均匀量化,限制于可允许的数值范围。量化步距从量化矩阵和量化尺度导出,可能随不同系数而不同,在宏块之间改变。

因为人眼对大的亮度区域敏感,DC系数的量化步距大小可以选择8,9,10或11比特的精度。量化DC系数通过将DC系数除以8,4,2或1取最近整数得到。

AC系数使用两个量化矩阵来量化:一个用于帧内宏块,一个用于非帧内宏块。当使用4:2:2或4:4:4数据时,不同矩阵可以使用Y或CbCr数据。每个量化矩阵有一套默认的值,并可以覆盖。

如果表13.28中的[宏块量化]列有一个“1”,那么量化尺寸被传送。对于剩下的宏块类型,DCT校正使用先前的量化尺寸编码。


锯齿扫描

锯齿扫描,开始于DC分量,为了提高频率,产生一个量化频率系数分布的线性流,如图7.59和7.60所示。这将产生长游程的0系数。


DC系数量化编码

在DC系数量化之后,它们是无损编码。

如图13.2~13.4中宏块中的Y编码块顺序。块4的DC值是下一个宏块的块1的预测。在每个分片的开始处,无论一个宏块是否被跳过,或者是否一个非帧内宏块被编码,DC预测被置成128(8比特DC预测),256(9比特DC预测),512(10比特DC预测)或1024(11比特DC预测)。

每个Cb和Cr快的DC值使用前面宏块对应块的DC值作为预测。在每个分片的开始处,无论一个宏块是否被跳过,或者是否一个非帧内宏块被编码,DC预测被置成128(8比特DC预测),256(9比特DC预测),512(10比特DC预测)或1024(11比特DC预测)。

但是,一个通用的实现是复位DC预测值到0和而使帧内DC项的中心到0而不是灰度的50%电平。然后,解码器在量化器(它有一个可以被用来重构真确值混合器)中必须处理不同的帧内DC精度,而不是解析器(它通常不能接触数据,并且没有混合器)。


AC系数量化编码

在AC数据量化之后,它们的扫描顺序如图7.59或7.60所示,使用游程长度和电平编码。扫描开始于位置1,如图7.59和7.60所示,位置0的DC系数分开编码。

游程长度和电平点编码如表13.37和13.38所示。“s”位指示电平的符号;“0”是正,“1”是负。对于帧内块,或者使用表13.37或者使用表13.38,由比特流中的intra_vlc_format指定。对于非帧内块,仅使用表13.37。

对于游程电平复合没有在表13.37和13.38中显示,一个逃逸序列被使用,包含逃逸码(ESC),后跟随游程长度和电平码,由图13.39和13.40所示。

在最后的DCT系数完成编码以后,一个EOB码被加入,告诉解码器这个8×8块中已经不再有量化系数了。


P
宏块

由于额外增加了复杂的运动补偿,所以P帧有26种类型的宏块,如表13.29所示。

当在码流中的macroblock_address_increment参数大于1时,存在被忽略的宏块。对于P帧的场,解码器从相同优先级的场作为预测场,运动向量被置为0。对于P帧图像,解码器置运动向量预测为0,并置运动向量为0。

如果表13.29中的[marcoblock quant]列有一个“1”,量化尺度被传送。对于剩下的宏块类型,DCT校正使用之前的量化尺度被编码。

如果表13.29中的[motion forward]列有一个“1”,那么水平和垂直前向运动向量依次被传送。

如果表13.29中的[coded pattern]列有一个“1”,那么6-比特编码块模式被作为一个可变长度码被传送。这告诉解码器宏块中的哪6块被编码成(“1”),哪个没有编码成(“0”)。表13.33列举了63种可能组合的码字分布。当没有块别编码时,就没有编码;它由宏块类型指示。对于帧内编码宏块的P和B帧,块编码模式没有被传送,但是它的假设值是63(所有块被编码)。对于4:2:2和4:4:4宏块,分别有一个额外的2或6比特被用来扩展编码块模式。


DCT

帧内块的AC系数传输和I图像的方式一样。帧内块的DC系数传输方式不同;预测值被置为1,024,除非前面块是帧内编码的。

非帧内块系数表示了不同的采样值而不是真实的采样值。他们通过从当前图像中减去前面图像的运动补偿值得到。DC值没有预测。

输出采样值的范围是-255~+255,产生的AC参数范围是-2,000~+2,000。


量化

帧内块的量化方式和I图像一样。

非帧内块使用量化尺度和非帧内量化矩阵量化。AC和DC系数的量化方式相同。


帧内块编码

帧内块的编码和I图像的帧内块编码相同。DC系数的预测值是128的处理方法不相同,除非前面块是帧内编码。


非帧内块编码

块编码模式(CBP)被用来指定哪个块有不同的系数。这些编码和帧内块编码类似,除了DC系数和AC系数的编码方式相同之外。


B
宏块

由于额外增加了复杂的后向运动补偿,所以B帧有34种类型的宏块,如表13.30所示。

对于B图像的场,解码器从相同优先级的场作为预测场。预测的方向(前向,后向或双向)和前面宏块是一样的,运动向量的预测不受影响,运动向量采用适当的运动向量预测。

如果表13.30中的[marcoblock quant]列有一个“1”,量化尺度被传送。对于剩下的宏块类型,DCT校正使用之前的量化尺度被编码。

如果表13.30中的[motion forward]列有一个“1”,那么水平和垂直前向运动向量依次被传送。如果表13.29中的[motion backward]列有一个“1”,那么水平和垂直前向运动向量依次被传送。如果前向和后向运动类型同时存在,那么向量的传输顺序为:

水平前向

垂直前向

水平后向

垂直后向

如果表13.30中的[coded pattern]列有一个“1”,那么6-比特编码块模式被作为一个可变长度码被传送。这告诉解码器宏块中的哪6块被编码成(“1”),哪个没有编码成(“0”)。表13.33列举了63种可能组合的码字分布。当没有块别编码时,就没有编码;这由宏块类型指示。对于帧内编码宏块的P和B帧,块编码模式没有被传送,但是它的假设值是63(所有块被编码)。对于4:2:2和4:4:4宏块,分别有一个额外的2或6比特被用来扩展编码块模式。


编码
块DCT系数被发送到量化系数,编码的方式和P图像的方式一样。