H.264 是一次概念的革新,它打破常规,
完全没有 I 帧、P帧、B 帧的概念,也没有 IDR帧的概念。对于 H.264中出现的一些概念从大到小排序依次是:
序列、图像、片组、片、NALU、宏块、亚宏块、块、像素。这里有几点值得说明:
(1)、在 H.264协议中 图像是个集合概念,顶 场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于H.264 协议来说,我们平常所熟悉的那些称呼,例如: I 帧、P 帧、B帧等等,实际上都是我们把图像这个概念具体化和细小化了。我们 在 H.264里提到的“帧”通常就是指不分场的图像;
(2)、如果 不采用FMO(灵活宏块排序) 机制,则 一幅图像只有一个片组;
(3)、如果 不使用多个片,则一个片组只有一个片;
(4)、如果 不采用DP( 数据分割)机制,则 一个片就是一个NALU, 一个 NALU 也就是一个片。
(1)、在 H.264协议中 图像是个集合概念,顶 场、底场、帧都可以称为图像(本文图像概念时都是集合概念)。因此我们可以知道,对于H.264 协议来说,我们平常所熟悉的那些称呼,例如: I 帧、P 帧、B帧等等,实际上都是我们把图像这个概念具体化和细小化了。我们 在 H.264里提到的“帧”通常就是指不分场的图像;
(2)、如果 不采用FMO(灵活宏块排序) 机制,则 一幅图像只有一个片组;
(3)、如果 不使用多个片,则一个片组只有一个片;
(4)、如果 不采用DP( 数据分割)机制,则 一个片就是一个NALU, 一个 NALU 也就是一个片。
(5)、以上所述的
片和 NALU的大小关系并不是抽象概念上的从属关系。从概念的
从属关系上来看,
NALU其实
又是片的一个集合概念,例如:标准“表7-1”中nal_unit_type 值为 5 的 NALU 包括
I 片或者 SI片。
一幅图像根据组成它的片类型来分,可以分为标准
“表7-5”中的 8种类型。我们平常应用中所最常见到的
其实是这些类型的特例。例如:
我们平常所谓的“I帧”和“IDR 帧”,其实是
primary_pic_type 值为 0的图像,我们平常所谓的“
P帧”其实是 primary_pic_type 值为 1的图像的特例,
我们平常所谓的“B帧”其实是 primary_pic_type 值为 2的图像的特例。
一幅图像根据概念来分可以