图像文件一般利用什么冗余进行压缩
图像文件一般利用编码冗余、像素间冗余和心理视觉冗余进行压缩。数据冗余是数字图像压缩的主要问题,在数字图像压缩中,可以确定三种基本的数据冗余并加以利用:编码冗余、像素间冗余和心理视觉冗余;当这三种冗余中的一种或多种得到减少或消除时, 就实现了数据压缩(减少表示给定信息量所需的数据量)。
本教程操作环境: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)应该就越小,就能减小平均比特数使其接近于熵。如下图:
3. 像素间冗余
像素间冗余是一种与像素间相关性有直接联系的数据冗余。
对于一张静态图片,存在空间冗余(几何冗余),这是由于在一张图片中单个像素对图像的视觉贡献常常是冗余的,可借助其相邻像素的灰度值进行推断。
对于连续图片或视频,还会存在时间冗余(帧间冗余),大部分相邻图片间的对应点像素都是缓慢过度的。
3. 心理视觉冗余
心理视觉冗余与实在的视觉信息相关,它是因人而异的,不同的人对于同一张照片产生的心理视觉冗余是不同的。去除心理视觉冗余数据必然导致定量信息的损失,并且该视觉信息损失是不可逆转的操作。就好比一张图像(无法放大)比较小时,人眼是无法直接判断出其分辨率,为了压缩图像的数据量,可以去除一些人眼无法直接观察出的信息,但当其放大时,没有去除心理视觉冗余的图像将和去除心理视觉冗余的图像产生明显差别。
图C说明充分利用人类视觉系统特性的量化过程可以大大改善时图像的表现效果.尽管这种量化过程的压缩率还是只有2: 1,为减少假轮廓而增加了额外的开销,但减少了讨厌的顆粒状纹路.产生这种结果所使用的方法是改进的灰度级(IGS)量化方法.下表对这种方法进行了说明.先由当前的8位灰度级值和前面产生的4位最低有效位构成一个初始值为零的和.如果当前值的4位最高有效位为1111,則用0000与其相加。将得到的和的4个最高有效位的值作处编码像素值.
4. 保真度准则
4.1 客观保真度准则
当信息损失的程度可以表示成初始图像或输入图像以及先被压缩而后被解压缩的输出图像的函数时,就说这个函数是基于客观保真度准则的。
-
均方根误差(rms)
两幅图的总体误差:
其中,f(x,y)表示输入图像,f尖(x,y)表示对输入图像压缩然后解压缩得到的估计量或近似值
两幅图的均方根误差; -
均方信噪比
4.2 主观保真度准则
主观评估是通过向典型的观察者显示典型的解压缩图像并将他们的评估结果进行平均得到的。
更多相关知识,请访问常见问题栏目!
以上是图像文件一般利用什么冗余进行压缩的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

随着互联网的快速发展,图片处理在各种应用中扮演着重要的角色。而对于Java开发者来说,如何优化图片处理的性能是一个不可忽视的问题。本文将介绍一些优化图片处理性能的方法。首先,对于Java开发中的图片处理,我们可以考虑使用专门的图片处理库,例如JAI(JavaAdvancedImaging)和ImageIO。这些库提供了丰富的图片处理功能,并且经过了优化,

如何使用C++进行高效的图像重建和图像压缩?图像是我们日常生活中非常常见的一种媒介,而图像的处理对于许多应用来说至关重要。在图像处理中,图像重建和图像压缩是两个非常重要的环节。本文将介绍如何使用C++进行高效的图像重建和图像压缩。图像重建图像重建是指将一张过于模糊或者损坏的图像恢复到原本的清晰状态。常用的图像重建方法之一是使用卷积神经网络(Convoluti

如何实现C#中的图像压缩算法摘要:图像压缩是图像处理领域中的一个重要研究方向,本文将介绍在C#中实现图像压缩的算法,并给出相应的代码示例。引言:随着数字图像的广泛应用,图像压缩成为了图像处理中的重要环节。压缩能够减小存储空间和传输带宽,并能提高图像处理的效率。在C#语言中,我们可以通过使用各种图像压缩算法来实现对图像的压缩。本文将介绍两种常见的图像压缩算法:

jpeg是面向连续色调静止图像的压缩编码标准;其主要是采用预测编码、离散余弦变换以及熵编码的联合编码方式,以去除冗余的图像和彩色数据,属于有损压缩格式,它能够将图像压缩在很小的储存空间,一定程度上会造成图像数据的损伤。

如何优化C++开发中的图像压缩速度图像压缩是计算机图像处理中非常重要的一环。在实际应用中,往往需要将图像文件进行压缩以减小存储空间和传输成本。而在大规模的图像处理任务中,图像压缩的速度也是一个非常关键的指标。本文将介绍一些优化C++开发中图像压缩速度的方法和技巧。使用高效的压缩算法选择一个适合任务需求的高效压缩算法是提高图像压缩速度的重要因素之一。目前常用的

图像压缩是在储存和传输图像时常用的技术手段,它可以减小图像的存储空间,加快图像的传输速度。图像压缩的目标是尽可能地减小图像文件的大小,同时尽量保持图像的视觉质量,以便人眼能够接受。然而,在图像压缩过程中,常常会产生一定程度的失真。本文将讨论图像压缩中的失真控制问题,并提供一些具体的代码示例。JPEG压缩算法及其失真问题JPEG是一种常见的图像压缩标准,它采用

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

PHPZipArchive如何实现对压缩包中文件的图像压缩功能?引言:随着互联网的发展,图像在网页中的应用越来越广泛。为了提高网页加载速度和节省存储空间,对图像进行压缩是必不可少的一项工作。而使用PHP的ZipArchive类,我们可以方便地实现对压缩包中文件的图像压缩功能。本文将介绍如何使用该类来实现图像压缩。一、准备工作:在开始之前,确保你的PHP