图片在现代社会无处不在,尤其是在互联网上。为了合理节省计算机空间,图片压缩技术成为了必不可少的工具。本文将探讨现有各种压缩技术的手段和压缩技术成熟的今日有哪些发展前景。

图片压缩技术的目的是在最大化减小图片大小的同时,最大可能保留原本图片的样貌,并在运行时间方面做出权衡。在不牺牲过多可视质量的情况下能够显著地减小图片文件的大小。

常见的图像冗余与压缩减少的信息

要做到压缩时图片尽量不失真,图像处理时会消除冗余信息和不可感知的细节。

  1. 编码冗余 也称信息熵冗余,是对事件集合(如灰度值)分配码字时,不充分利用事件的概率时会出现的冗余类型,对大多数图像来说,结果自然是某些灰度要比其他灰度更可能出现(即多数图像的直方图是不均匀的)。编码冗余常用于黑白漫画等颜色较少的图像。此类冗余中常见有霍夫曼编码技术。霍夫曼编码的基本原理是使用变长编码表对源符号(如文件中的一个字母)进行编码,根据山农第一定理,要求一次只能编码一个信源符号。其中变长编码表是通过一种评估来源符号出现概率的方法得到的,出现概率高的字母使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。

  2. 无关信息和结构冗余 两者的压缩手段不尽相同但思路相近,结构冗余会使图像中存在很强的纹理结构或自相似性。被人类视觉系统忽视或与期望用途无关的信息被称之无关信息。此类冗余的压缩会导致定量的信息丢失,因此这种信息的去除通常称为量化。为一种不可逆操作。保真度准则

  3. 时间冗余和空间冗余 绝大多数图像中的区域由许多灰度或颜色都相同的邻近像素组成的区域,形成了一个性质类似的集合块,这些像素相互之间具有空间上的强相关性,在图像中就表现为空间冗余。时间冗余在空间冗余的基础上延展了时间元素,空间冗余从单张图像转换为序列图像(电视图像、运动图像)表示中经常包含的冗余。图像序列中两幅相邻的图像有较大的相关,这反映为时间冗余。常用技术有颜色量化,零树压缩,区域编码技术等。

图像压缩流程

尽管图像算法不同,现今的压缩流程步骤却大同小异,形成了一套非常完善的现代体系。首先采样将原始图像的像素数目减少,以降低文件大小。其次使用数学算法对图像进行压缩编码。量化将像素值舍入到最接近的整数,以减少需要存储的数据量。使用数据压缩算法对图像数据进行压缩,以进一步减小文件大小。再依照参考原始图像的采样率和编码方式,重构压缩后的图像。最后根据需要,对图像进行重新压缩,以达到所需的压缩比率。

图像压缩算法差异

以图像格式压缩算法 JPEG 和 PNG 为例,JPEG 采用基于离散余弦变换 (DCT) 的压缩算法。JPEG 将一帧完整的图片切割为 8*8 大小的小块,被切割的这些小块在 JPEG 压缩的过程中被当作最小处理单元。对每个小块进行 DCT 变换[ 离散余弦变换公式(DCT):F(u,v) = 1/4C(u)C(v) * Σx=0..7 Σy=0..7 f(x,y)cos((2x+1)uπ/16)cos((2y+1)vπ/16)],然后将变换系数量化并编码成二进制数据。此外,JPEG 还使用了色度子采样和哈夫曼编码技术来进一步压缩图像数据。

PNG 是一种无损压缩格式,它采用基于 LZ77 算法的压缩技术。PNG 压缩算法通过使用 LZ77 算法对图像中的重复数据进行压缩,并使用 Zlib 进行数据压缩和解压缩。此外,PNG 还使用了差分编码和滤波器技术来进一步减少图像数据的冗余。

总结而言,JPEG 的压缩率通常在 10:1 以上,压缩后的图像会出现失真、锯齿等有损压缩会出现的问题。PNG 的压缩率通常在 3:1 至 5:1 之间,可以保持图像的原始质量和透明度。

除了上述两种分别为最常用有损压缩和无损压缩图片格式。视频作为由一系列静止图片的快速连续播放组成的集合体,通过每秒播放数十张或数百张静态图像,用户可以看到连续的动态画面。因此,视频可以看作是图片的一种扩展形式,同时也包含了图片的元素,如分辨率、色彩、对比度等,在网络上,视频和图片都是通过图像文件格式进行存储和传输。但由于视频流是由一系列的图像帧构成,因此需要使用额外的技术来去除冗余数据,如丢帧等。为了保证视频的连续性和流畅性,还需要使用一些额外的计算机技术格式和公式算法。如空间域抽样,时域差分编码,运动补偿预测,频域变换。

其中 Compu Serve 公司所拥有的 GIF 图形交换格式,有着动态图片的极其特殊的表现形式,也是最复杂的一种图像文件格式。用于以超文本标志语言(Hypertext Markup Language)方式显示索引彩色图像,其特殊性使之在互联网和其他在线服务系统上得到广泛应用。但同时也因复杂性限制了图像。一张 GIF 图的大小最多为 64K*64K 像素,位深 1-8bit,单色透明,由一个最多 256 种颜色的调色板实现。因此对于灰度图像而言,相对其他图像的表现力较好。

压缩技术前景与方向

科技的发展方向往往与需求和目标相同,如前文所述,压缩的目标大致分为压缩率、速度和保真度。

  • 保真度方面,无损压缩一直在利用 Huffman 编码、算术编码、预测编码等减少编码时间和计算复杂度方面进行进一步优化。2015 年九月比利时鲁汶大学的博士后研究员 Jon Sneyers 宣布了一种新的无损图像格式 FLIF,支持渐进交错形式。[ Fridrich J, Goljan M, Du R. Lossless data embedding for all image formats[C]//Security and Watermarking of Multimedia Contents IV. International Society for Optics and Photonics, 2002, 4675: 572-584.]
  • 小波变换压缩 通过利用图像中的频域信息进行压缩的技术,该新技术近期的研究重点主要是优化压缩算法以及在处理大规模图像数据时的性能问题。
  • 基于最新热门人工智能所诞生的生成对抗网络 (Generative Adversarial Network, GAN)、稀疏表示 (Sparse Representation)、插值算法等技术新创造出的超分辨率技术 是一种将低分辨率图像转换为高分辨率图像的技术。
  • 深度学习压缩 使用神经网络自动提取和重建图像特征的手段,通过卷积神经网络 (CNN) 自动编码器 (AE) 已经获得了很好的效果,不需要人为指定压缩参数,具有自适应和适应性强的优点,并正在成为未来研究的热点。例如,Google 提出的“Guetzli”算法就是一种基于深度学习的图像压缩算法。该算法可以实现更高的压缩率和更高的保真度,与 JPEG 相比可以减少 20%-30% 的文件大小,同时保持更高的图像质量。

总的来说,随着互联网的普及和发展,图片压缩技术越来越重要。在不影响图片质量的前提下,尽可能减小图片文件的大小,成为了压缩技术的目标。常见的图像冗余包括编码冗余、无关信息和结构冗余、时间冗余和空间冗余。压缩技术的流程包括采样、压缩编码、量化、数据压缩和解压缩,以及重构压缩后的图像。不同的压缩算法之间存在差异,如 JPEG 采用 DCT 压缩算法,而 PNG 采用基于 LZ77 算法的压缩技术。未来,压缩技术的发展方向主要是在保真度、速度和压缩率方面进行优化,新技术如小波变换压缩、超分辨率技术、深度学习压缩等也带来了更多可能性。

图片压缩技术:效果、手段与未来趋势

原文地址: https://www.cveoy.top/t/topic/oR3c 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录