ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-02-05 20:34:46  阅读:280  来源: 互联网

标签:编码 系数 视频 图像 宏块 基本概念 冗余


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

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


一、多媒体技术基本

1、图像的色彩模型

图像的彩色模型

  1. 彩色模型又叫做颜色空间
  2. 在多媒体系统中,必然涉及到用不同的色彩模型表示图像的颜色。

二、 静态图像压缩技术

图像压缩编码

有损压缩编码

  1. 变换编码

    离散余弦变换

在这里插入图片描述

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

离散小波

离散博立叶

  1. 混合编码

    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]

在这里插入图片描述

在这里插入图片描述

MPEG

H.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)

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

  1. 码率
  2. 重建图像的质量
  3. 编码/解码延时
  4. 错误修复能力
  5. 算法复杂程度

视频编码基本概念 :https://github.com/chensongpoixs/cvideo_codec

标签:编码,系数,视频,图像,宏块,基本概念,冗余
来源: https://blog.csdn.net/Poisx/article/details/122792757

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有