欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

主流视频编码压缩技术基本概念(一)

发布时间:2024/3/12 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 主流视频编码压缩技术基本概念(一) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

主流视频编码压缩技术基本概念(一)

    • 一、多媒体技术基本
      • 1、图像的色彩模型
    • 二、 静态图像压缩技术
    • 三、视频编码压缩技术基础
      • 有冗余就有可压缩的数据
      • 图像通用格式


一、多媒体技术基本

1、图像的色彩模型

图像的彩色模型

  • 彩色模型又叫做颜色空间
  • 在多媒体系统中,必然涉及到用不同的色彩模型表示图像的颜色。
  • 二、 静态图像压缩技术

    图像压缩编码

    有损压缩编码

  • 变换编码

    离散余弦变换

  • 或称为DCT变换(Discreate Cosine Transform)简言之、DCT变换可以将8行8列的数组(或矩阵)变换成另外一个8行8列的数组(或矩阵)直流系数(DC)黑色区域是的数据称为直流系数,或叫做直流分量,也叫做低频分量;在DCT变换后的64个系数中,低频分量包含了图像亮度的主要信息。交流系数 (AC)灰色区域的数据称为交流系数、或叫做交流分量,灰色区域叫做中频分量,白色区域叫做高频分量;

    离散小波

    离散博立叶

  • 混合编码

    JPEG编码

    JPEG编码的具体步骤

    量化

    量化表中数除以DCT系数矩阵 得到量化后的DCT系数矩阵

    DCT系数矩阵/量化系数

  • DC系数及AC系数编码DC系数编码DC系数反映了8X8数据块的主要信息(平均亮度),一般与相邻块有较大的相关性。所以对DC系数作差分编码,即用前一个数据块的DC系数作为当前块的预测值,再计算当前块的实际值与预测值的差值,最后对这个差值进行 <font color='red'> Huffman编码</font>。AC系数编码AC系数经过Z型排列后,更有可能出现连续的0组成的字符串,从而对其进行<font color='red'>行程编码</font>将有有利于压缩。行程编码 例子编码前:00000000000000202000000000007000000000000000000编码后:[14,0][1,2][1,0][1,2][8,0][1,7][17,0]

    MPEGH.264

    无损压缩编码(统计编码)

    Huffman编码

    行程编码

    LZW编码

    算术编码

    三、视频编码压缩技术基础

    有冗余就有可压缩的数据

    1. 空间冗余: 这是图像数据中经常存在的一种冗余,在同一幅图像中,规则物体和规则背景的表面物理特性具有相关性,这是相关性的光成像结构在数字化图像中就表现为空间冗余。2. 时间冗余:这是序列图像和语言数据中经常包含的冗余,图像序列中的两幅相邻的图像之间有较大的相关性,这反映为时间冗余3. 视觉冗余:人类视觉系统并不是对任何图像的变化都很敏感,人眼对于图像的注意是非均匀的。实际上,人类视觉系统一般分辨能力约为64灰度等级,而一般图像量化采用256灰度等级,这类冗余我们称为视觉冗余。

    图像通用格式

    CIF(Common Intermediate Format, 通用中间格式)CIF格式是基于YCrCb的彩色模式。CIF格式规定图像的亮度分量Y的横向像素为<font color='red'>352</font>个,纵向像素为288个。图像色度分量Cr、Cb的纵横像素数为亮度分量的一半。电视图像的纵横比为3:4, 与常规电视屏幕尺寸比例一致。像素的纵横比为:像素纵横比=纵:横= 3/288: 4/352 = 11:12通常,视频编码算法把输入的CIF格式的视频分成一系列以'块' 为基础的层次结构,分别为四个层次:图像(Picture)块组(GOB)宏块(MB)块(Block)

    图像宏块与块说明在视频编码过程中,为了使算法出来单元高效处理,通常把每帧图像分成宏块及块。例子(CIF图像):每帧图像有12个块组每个块组有33个宏块每个宏块有6个子块(4个亮度块、2个色度块)宏块是运动补偿(视频编码关键技术)的基本单位。

    压缩原理与步骤

    时域模型

    消除连续视频帧之间的冗余

    残差(图像):当前帧与参考帧相减得到的图像;

    MPEG-4以及H.264中,预测帧一般采用当前的之前或之后的一帧作为参考预测帧。

    利用运动补偿技术来降低预测帧与当前帧的差别。

    时域模型的输出是当前帧与预测帧相减得到的残差图像以及运动模型

    参数(如运动矢量)

    空域模型

    目的是消除图像或残差图像的空域相关性,将其转换成一种便于熵编码的格式。实际的空域模型分成三个部分变换:消除数据相关性量化:降低变换域数据精度重新排序:对数据重新排序,将重要的数据集中到一起。在MPEG-4及H.264编码压缩方式中,编码器对残差图像进行频域变换(DCT)、量化之后作为空域模型的输出。

    编码过程中,需要消除相邻帧之间的时域信息冗余,即仅仅传输相邻帧之间对应宏块的差值(残差图像).

    差值(残差图像)不是前后两帧对应像素的直接相减的差值,而是需要在前帧(参考帧)内,对应于后帧的宏块位置的附近区域内;

    搜索知道一个最匹配的宏块(最相似的宏块,甚至能找到完全相同的宏块)

    并得到宏块在水平及垂直方向上的位移(运动矢量)

    然后传送这个两个宏块之间的差值以及运动矢量。

    运动估计

    概念运动估计(Motion Estimation, ME)就是搜索最佳匹配块的过程,或者说是寻找最优的运动向量的过程。基本思想将图像序列的帧分成多个宏块对每个宏块在参考帧的某个给定搜索范围内,根据一定的匹配准则找出与当前块最相似的块,即最佳匹配块;匹配块与当前块的相对位移即为运动矢量(Motion Vecotrs, MV)

    视频图像编码压缩技术的评价准则

  • 码率
  • 重建图像的质量
  • 编码/解码延时
  • 错误修复能力
  • 算法复杂程度
  • 视频编码基本概念 :https://chensongpoixs.github.io/cvideo_codec/

    总结

    以上是生活随笔为你收集整理的主流视频编码压缩技术基本概念(一)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。