简析H264编码中的GOP

1.什么是GOP

GOP即Group of Pictures,意思是画面组,一个GOP就是一组连续的画面。

2.实际例子

假设有一个视频,每秒25帧,帧与帧之间的间隔为40ms,那如果10分钟总的帧数就是25*60*10,如此多的帧在实际压缩的时候就非常困难,GOP的处理方式就是将这些帧进行分组。

分组按照帧的相关性进行,例如视频中人物主要有看望远镜和敲键盘两个动作,就可以把他们分为两组,看望远镜的为一组,敲键盘的为一组。虽然看望远镜的帧观看的视角会不一样,敲键盘也有抬起和按下不同的动作,但是每个组中帧的大部分内容都是相同的。一个group其实就是描述一个图像目标的细微差别,在同一个组中的视频帧是强相关的,不同组中的帧则相关性非常小。

简析H264编码中的GOP_第1张图片

由于GOP中帧与帧的差别特别小,在进行编码压缩的时候,数据量就小了很多。比如上面看望远镜的那一组,每一帧的背景是一样的,只是看望远镜的姿势、角度不同,在进行计算的时候完全可以把他们的背景用一张图表示。看望远镜的人物也是有相同部分的,比如每一帧中的头发是几乎一样的,只是身体略有不同,望远镜的角度略有不同,在计算的时候我们只需要将这些差值进行存储。由此,可以发现,每一组GOP只需要存很少的数据,就可以将所有帧还原回来。虽然不是100%还原,因为H264本来就是有损压缩。

你可能感兴趣的:(简析H264编码中的GOP)