H.264视频数据组织结构-GOP图像组和组中3类不同的图像帧
前言
-----------------------
H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整的图像帧X,随后的Y帧就不编码全部图像,只写入与X帧的差别,这样Y帧的大小就只有完整帧的1/10或更小!Y帧之后的Z帧如果变化不大,我们可以继续以参考Y的方式编码Z帧,这样循环下去。这段图像我们称为一个GOP图像组(GOP图像组就是有相同特点的一段数据),也就是对这个图像生成一个完整帧X1,随后的图像就参考X1生成,只写入与X1的差别内容。当某个图像与之前的图像变化很大,无法参考前面的帧来生成,那我们就结束上一个GOP图像组,开始下一段GOP图像组。
在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。
H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。
----------------------