编解码格式 -- H264

H264MPEG编解码格式历史对应关系H264编解码原理视频数据能被大量压缩的原因H264视频编码常见名词帧(frame)场(field)片(slice)宏块(macro block)序列(GOP)序列参数集 SPS(Sequence Parameter Set )图像参数集 PPS(Picture Parameter Set )参考帧H264数据层级的关系SPS、PPS和视频数据间的关系H264的分层结构H264的主要目标H264的规格(profile)H264的等级(level)帧间(intra)预测和
摘要由CSDN通过智能技术生成


MPEG编解码格式

历史

ITU-T制定的编解码标准是H.xxx。
而MPEG制定的编解码标准是MPEG-x。
后面两个组织从H262/MPEG-2开始统一制定标准,但是在自己标准中延续自己组织的命名。
在这里插入图片描述

对应关系

组织 标准 标准 标准
ITU-T H.262 H.264 H.265
ISO MPEG-2 MPEG-4 AVC HEVC
!!注意:
常说的MPEG-4指的是MPEG-4 part2,而AVC是MPEG-4 part10(MPEG-4 part的扩展),两者是不同的。

H264编解码原理

视频数据能被大量压缩的原因

主要有以下四点:

  • 时间冗余:视频相邻的两帧之间内容相似,存在运动关系
  • 空间冗余:视频的某一帧内部的相邻像素存在相似性
  • 视觉冗余:观众的视觉系统对视频中不同的部分敏感度不同
  • 编码冗余:视频中不同数据出现的概率不同

H264视频编码常见名词

帧(frame)

  1. 帧是指一副图像的一场或一帧可用来产生一个编码图像。
  2. 帧有以下几种类型:
    I帧:能够独立完成编解码的视频帧
    P帧:参考此帧之前的帧进行编解码的视频帧
    B帧:参考此帧前后的帧进行编解码的视频帧

场(field)

  1. 在早期电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场(Top field, Bottom field)。
  2. 根据编码单位分为帧编码和场编码。
    在帧编码中,参考单位为帧图像,采用帧运动补偿,两个场是联合编码;
    在场编码中,参考单位为场图像,采用场运动补偿,两个场分别编码。
    以下是逐行扫描和隔行扫描的数据存储方式:
    在这里插入图片描述

片(slice)

  1. 每帧图像(frame)被编码成一个或多个片。一个片通常被打包进一个NALU中。
  2. 片分为I片、B片、P片、SP片(按照不同参考帧重构出相同的图像帧,用于不同编码码流间的切换)和SI片(特殊类型的编码宏块)。
    I片:只包含I宏块,只能帧内预测。
    P片:只包含P宏块和I宏块,可以帧内预测和帧间预测。
    B片:只要包含B宏块,可以帧内预测和帧间预测。
    SP片:包含P宏块,有可能有I宏块,用于不同编码流之间进行切换。
    SI片:包含SI宏块(一种特殊类型的帧内编码宏块),用于不同编码流之间进行切换。
    
  3. 片的目的是为了限制误码的扩散和传输,使同一帧图像的编码片间是独立的。
    帧内某片的预测不能以其它片中的宏块为参考图像,这样某一片中的预测误差才不会传播到其它片中去。(??)

宏块(macro block)

  1. 宏块是H.264编码的基本单位,一个片通常划分成若干宏块组成。一个宏块由一个16×16像素点组成。
  2. 分为I、P、B宏块:
    I 宏块 : 利用从 当前片中已解码的像素 作为参考进行帧内预测。
    (也就是不能取其它片中的已解码像素作为参考进行帧内预测)
    P宏块: 利用 前面已编码图象 作为参考图象进行 帧间预测。
    B宏块: 利用 双向的参考图象(前面帧和后面帧)进行帧间预测。

序列(GOP)

  1. 序列是指一组内容差异不大的图像编码后生成的一串数据流。
    何为内容差异不大?
    -->相邻的几幅图像,(数量上)只有 10% 以内的像素有差别,且亮度差值变化不超过2%,而色度差值的变化只有1%以内
    
  2. 一个序列的第一个图像通常为IDR图像(立即刷新图像)

序列参数集 SPS(Sequence Parameter Set )

描述一个连续编码视频序列的参数。
如标识符 seq_parameter_set_id、帧数及POC的约束、参考帧数目、分辨率、帧率和帧场编码模式选择标识等等。

图像参数集 PPS

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值