文章目录
前言
本文将从H264的发展历史开始,详细介绍H264编码的原理以及涉及的知识点,作为个人学习的总结。
一、H264概述
对于未入门的人可能会对命名有点疑惑,比如对于H.264, 还会看到有些标签还写成MPEG-4/AVC,这是什么原因呢?
可以简单理解为视频编码格式的制定主要有两大门派,本来H.26X系统由ITU-T主导开发, MPEG系列由ISO主导开发,然后两大门派合作开发了H.264 和H.265 , H.264,H.265是ITU组织对着两种编码格式的命名, MPEG-4/AVC ,MPEG-4/HEVC是ISO组织对这两种编码格式的命名。以下的图片展示了视频编码格式的发展。
二、H264压缩码率和GOP
压缩比和码率设置
原始YUV数据像素格式为YUV420,分辨率为640x480,帧率为15帧,计算得到原始视频数据码流为55Mbps左右,而H264建议的码流大小为500kbps,结果显示,H264压缩比达到1/100左右!
具体码流大小的设定可参考声网的技术文档,如下图,链接声网文档资料
GOP和I帧,P帧,B帧
GOP即Group of picture(图像组),可以理解为GOP是一组连续的图像,并且他们之间相关性很大,在一组GOP中包含I帧,B帧和P帧。
对每一帧的类型又可以划分为:
·I帧:关键帧,采用帧内压缩技术。
·P帧:向前参考帧,在压缩时,只参考前面已经处理的帧。采用帧压缩技术。大小大约为I帧的一半。
·B帧:双向参考帧,在压缩时,它即参考前而的帧,又参考它后面的帧。采用帧间压缩技术。大小约为I帧大小的1/4。
短视频采用很多b帧和p帧,I帧很少,相应的GOP序列很长,这就是在弱网络环境下依然可以播放流畅的原因。