编解码格式 -- H264

本文详细介绍了H264编解码原理,包括时间、空间、视觉和编码冗余的压缩原因,以及帧、场、片、宏块等概念。还探讨了H264的分层结构、SPS、PPS、NALU和网络传输格式,强调了其在网络传输中的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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(Picture Parameter Set )

描述一个序列中某一幅图像或者某几幅图像的参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值