20期PHP线上班
首页 >常见问题 > 正文

图像文件一般利用什么冗余进行压缩

原创2022-07-26 11:46:51498 关注公众号:每天精选资源文章推送

图像文件一般利用编码冗余、像素间冗余和心理视觉冗余进行压缩。数据冗余是数字图像压缩的主要问题,在数字图像压缩中,可以确定三种基本的数据冗余并加以利用:编码冗余、像素间冗余和心理视觉冗余;当这三种冗余中的一种或多种得到减少或消除时, 就实现了数据压缩(减少表示给定信息量所需的数据量)。

本教程操作环境:windows7系统、Dell G3电脑。

图像压缩所解决的问题是尽量减少表示数字图像时所需要的数据量,减少数据量的基本原理的除去其中多余的数据。

1. 基础介绍

图像压缩模型:主要介绍对信号源的编码和解码,对传输过程的信号道不讨论。

在这里插入图片描述

数据压缩指减少表示给定信息量所需的数据量。

数据是信息传送的手段。对相同数量的信息可以以不同数量的数据表示。

信息:用来表示图像本身的信息。

数据冗余是数字图像压缩的主要问題。如果n1和n2代表两个表示相同信息的数据集合中所携载信息单元的数量,则第一个数据集合(用n1表示的集合)的相对数据冗余RD可以定义为:

在这里插入图片描述

这里C通常称为压缩率,定义为:

在这里插入图片描述

在数字图像压缩中,可以确定三种基本的数据冗余并加以利用:编码冗余、像素间冗余和心理视觉冗余。当这三种冗余中的一种或多种得到减少或消除时, 就实现了数据压缩。

2. 编码冗余

对于图像来说,可以假设一个离散随机变量表示图像的灰度级,并且每个灰度级(rk)出现的概率为pr

在这里插入图片描述

这里L是灰度级数,nk是第k个灰度级在图像中出现的次数, n是图像中的像素总数。如果用于表示每个rk值的比特数为 l(rk),則表达每个像素所需的平均比特数为:

在这里插入图片描述

就是说,将表示每个灰度级值所用的比特数和灰度级出现的概率相乘,将所得乘积相加后得到不同灰度级值的平均码字长度。如果某种编码的平均比特数越接近熵,則编码冗余越小。

【注】

:它定义了观察单个信源输出得到的平均信息量

在这里插入图片描述

例如:

在这里插入图片描述

原图像的熵为:2.588

采用自然二进制编码,平均长度为;3

如果使用表中编码2,平均比特数为:

在这里插入图片描述

实现编码压缩,pr(rk)与 l(rk)这两个函数乘反比。也就是说,某灰度rk出现的概率pr(rk)越大,编码长度 l(rk)应该就越小,就能减小平均比特数使其接近于熵。如下图:

1.png

3. 像素间冗余

像素间冗余是一种与像素间相关性有直接联系的数据冗余。

对于一张静态图片,存在空间冗余(几何冗余),这是由于在一张图片中单个像素对图像的视觉贡献常常是冗余的,可借助其相邻像素的灰度值进行推断。

对于连续图片或视频,还会存在时间冗余(帧间冗余),大部分相邻图片间的对应点像素都是缓慢过度的。

2.png

3. 心理视觉冗余

心理视觉冗余与实在的视觉信息相关,它是因人而异的,不同的人对于同一张照片产生的心理视觉冗余是不同的。去除心理视觉冗余数据必然导致定量信息的损失,并且该视觉信息损失是不可逆转的操作。就好比一张图像(无法放大)比较小时,人眼是无法直接判断出其分辨率,为了压缩图像的数据量,可以去除一些人眼无法直接观察出的信息,但当其放大时,没有去除心理视觉冗余的图像将和去除心理视觉冗余的图像产生明显差别。

3.png

图C说明充分利用人类视觉系统特性的量化过程可以大大改善时图像的表现效果.尽管这种量化过程的压缩率还是只有2: 1,为减少假轮廓而增加了额外的开销,但减少了讨厌的顆粒状纹路.产生这种结果所使用的方法是改进的灰度级(IGS)量化方法.下表对这种方法进行了说明.先由当前的8位灰度级值和前面产生的4位最低有效位构成一个初始值为零的和.如果当前值的4位最高有效位为1111,則用0000与其相加。将得到的和的4个最高有效位的值作处编码像素值.

在这里插入图片描述

4. 保真度准则

4.1 客观保真度准则

当信息损失的程度可以表示成初始图像或输入图像以及先被压缩而后被解压缩的输出图像的函数时,就说这个函数是基于客观保真度准则的。

  1. 均方根误差(rms)
    两幅图的总体误差
    在这里插入图片描述
    其中,f(x,y)表示输入图像,f尖(x,y)表示对输入图像压缩然后解压缩得到的估计量或近似值
    两幅图的均方根误差;
    在这里插入图片描述
  2. 均方信噪比
    在这里插入图片描述

4.2 主观保真度准则

主观评估是通过向典型的观察者显示典型的解压缩图像并将他们的评估结果进行平均得到的。
在这里插入图片描述

更多相关知识,请访问常见问题栏目!

以上就是图像文件一般利用什么冗余进行压缩的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

  • 相关标签:图像压缩 编码冗余
  • 推荐:PHP从基础到实战教程视频

    相关文章

    相关视频


    专题推荐

    视频教程分类