视频编码原理

YUV

  • 摄像头图像传感器接受外界的光线
  • A/D转换,将图像信息转换为了数字信号,得到RAW数据
  • 经过ISP处理,对图像进行白平衡、色彩校正、黑电平、降噪、滤波等操作得到最接近现实的RGB图像
  • 由于人类的眼睛对图像亮度的敏感度更高,对色度的敏感度较低,所以可以适当的舍弃色度信息,达到减少空间的效果,一张YUV420的图片,抛弃色度信息后,大小变成RGB图像的一半。
  • YUV数据的不同存储方式,形成了不同的帧格式,如plane,package。平面模式是先存储Y数据,称为Y平面,接着存储UV数据,成为UV平面。package是yuv数据混合存储。plane和package的概念同样适用在RGB数据上。

H.264/AVC

  • 将视频数据进行存储时,即使是 YUV 数据,占用的空间也非常惊人,所以需要对视频数据进一步的压缩。所以有了 h264,h265 等等。

  • 在 h264 之前,有两个机构都推出的视频压缩编码的标准,分别是 ITU 和 ISO,ITU推出了 H.261 H.262 H.263,ISO 推出了 MPEG-1 MPEG-2,为了能够统一的使用最后两个组织一起推出了 H.264 MPEG-4 AVC,后来有了 H.265 MPEG-4 HEVC

  • 压缩编码从多个角度进行

    • 空间冗余:变换、预测
    • 时间冗余:帧间预测、运动补偿
    • 图像构造冗余:轮廓编码、区域分割
    • 知识冗余:知识编码
    • 视觉冗余:非线性量化、位分配

空间冗余

  • 一张图片划分成一个个的小方块,小方块内的像素内容通常是高度相似的,可以通过少量的像素推测出其他像素的值,这就是帧内预测。
  • 在H264中,宏块的大小通常为 4x4 - 16x16,仅保存宏块的第一行和第一列的像素数据,通过不同的预测方式计算剩余的像素点的值。
  • 一共有9中预测方式,分别是:垂直、水平、DC(上方和左侧像素的平均值)、左上对角、左模式、上模式、右上对角模式、右模式、下模式
  • 通过这种方式,减少了空间上的冗余,使得压缩比可以达到 8:1
  • 经过上面的压缩过后,会经过量化处理,图像中的主要轮廓、纹理等细节信息都包含在低频成分中,通过量化计算舍弃高频成分中的部分信息,使得数据更加的紧凑
  • 空间冗余主要是在I帧中进行的

时间冗余

P帧

  • 通常情况下,两帧图像的大部分内容都是相同的,这时候只需要计算两帧图像之间的差异即可
  • 假设一个在桌上运动的球,在30帧的视频中,两帧之间的时间间隔是 33 毫秒,这两个图像中背景桌子是不变的,只有小球在运动,则可以理解为宏块在某个方向上移动了一段距离
  • 使用运动估计算法得到当前帧与参考帧之间的运动关系,得到运动矢量
  • 运动补偿是将像素位置根据运动矢量进行计算移动到运动后的位置
  • 计算当前帧与参考帧之间的差异,得到残差值
  • 运动矢量和残差值共同组成了P帧的主要信息
  • 三种帧间预测模式:帧间跳过、单向预测、双向预测

B帧

  • 包含两IP帧两个方向上的运动矢量和残差值,数据量进一步减少

图像构造冗余、知识冗余、视觉冗余

  • 各种算法,如余弦变换、熵编码等

统计冗余

  • 熵编码,是一种无损压缩,原理就是用较短的编码来表示常见的符号,用较长的编码来表示罕见的符号,总体上减少编码的长度。

H.265/HEVC

  • h265 大体原理与 h264 相似
  • 提供了帧内预测模式-35种
  • 9种帧间预测模式
  • 更高的比特深度、更好的残差处理、更精确的运动估计
  • 更大的宏块,支持最大 64x64 的宏块划分,大大提高了压缩比
  • 在大块相似的区域,如背景会使用大的宏块,变化剧烈区域会使用小的宏块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值