H264学习(一)之前几种编码介绍

本文深入探讨视频编码原理,包括时间、空间及视觉冗余的概念,介绍H.261、H.263、MPEG-2等标准的发展历程与关键技术,如帧内与帧间预测、变换编码和熵编码等。

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

视频编码

  1. 时间冗余 :相邻视频帧之间的内容相似,存在运动关系
  2. 空间冗余:视频中某一帧内部的相邻像素存在相似性
  3. 编码冗余:视频中不同数据出现的概率不同(熵编码)
  4. 视觉冗余:人眼对视频系统中不同方面的敏感度不同


机构

ITU-T 下属 VCEG 视频编码专家组 H.264

ISO MPEG MPEG4

JVC 前两家联合


编码方式

  • 基于波形的编码 MPEG-2 H.264
  • 基于内容的编码:MPEG-4

编码技术

    • 预测编码:传输预测像素值与实际像素值之差,利用时间或空间相邻像素之间较强的相关性
    • 帧内预测:预测值与实际值位于同一帧内,用于消除图像的空间冗余。压缩效率较低,独立帧编码
    • 帧间预测:实际值位于当前帧,预测值位于参考帧,用于消除图像的时间冗余,压缩效率较高,P B有可能采用帧间编码,也可以是帧内编码
  • 变换编码:将像素由空间域变化成频域,,针对变换系数进行编码
    • 正交变换:DCT变换、KL变换
  • 熵编码:利用信源的统计特性进行压缩编码
    • 常用方法:变长编码、算数编码

编码发展


其他还有google:VP8/Vp9

微软 VC-1

国产自主标准 AVS/AVS+/AVS2


H.261信源编码器

  1. 帧内编码/帧间编码判定:根据帧间相关性判定,相关性高使用帧间编码,相关性低使用帧内编码
    1. The prediction error (INTER mode) or the input picture (INTRA mode) is subdivided into 8 pel by 8 line blocks which
      are segmented as transmitted or non-transmitted.不论是帧间还是帧内,注意帧间编码输入的是预测残差,分为8*8的块, Further, four luminance blocks and the two spatially corresponding colour difference blocks are combined to form a macroblock 四个亮度块和两个色度块组成一个宏块(4:1:1)
  1. 帧间编码/运动估计
    1. 每一个宏块接受一个运动矢量,每个运动矢量的垂直和水平分量有一个不超过+-15的整数值
    2. 这个矢量用于宏块中的四个亮度块,对矢量的两个分量区1/2,后,也用于宏块中的两个色度块
    3. 运动矢量的分量取正值,表示预测的形成取自从前一帧图像的像素
  2. 帧内编码
  3. 环路滤波器:数字低通滤波器,滤除不必要的高频信息,消除方块效应
    1. 二维空间滤波器FIL 使用于8*8的块
    2. 滤波器可以分为一维垂直和水平函数,

H.261复合编码器

  1. picture->group of blocks (GOB)->macroblock(MB)->block
  2. picture layer :picture header 后面跟着GOBS数据,picture start code (PSC 20 bits),Temporal reference (TR) (5 bits),Type information (PTYPE) (6 bits),Extra insertion information (PEI) (1 bit),Spare information (PSPARE) (0/8/16 . . . bits)
  3. 详见H261编码规范


H263标准

  • H263对于H261的改进
    • 运动矢量:相对于H261对每一个MB分配一个运动矢量,H263支持每一个8*8块各自使用的一个运动矢量
    • MV精度:相对于H261只支持整数像素运动搜索,H263精度为1/2像素
    • 双向预测模式:H263支持B帧,使用前后双向预测
    • 熵编码采用算术编码,运算复杂度高,降低码率
  • H263支持的图像格式
    • sub-QCIF QCIF CIF 4CIF 16CIF(1480*1152)CIF是一种中间格式 H261支持QCIF CIF
  • H263和H264编码性能比较
    • 在输出码率大致相等的情况下,分析H263和H264编码的信噪比SNR
    • 在具有相同编码信噪比SNR的情况下,分析H263和H264的输出码率

MPEG2标准

  • MPEG-2码流层次,共分为三层:
    • 基本流:ES
    • 打包基本流:PES 对视音频ES分别打包
    • 传输流 节目流:TS/PS
  • profile和llevel
    • 按照使用的编码工具不同,定义了5个profile
    • 按照视频分辨率定义了4个级别
  • 支持逐行或隔行扫描视频,使用基于帧或场的编码
  • MPEG-2的ES流结构类似于MPEG-1 分为图像序列层(若干GOP)、图像组(GOP)、图像层(若干slice)、片(slice)、宏块(macroblock由亮度块和色度块组成)和块层(亮度块和色度块)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值