图像压缩算法

这篇具有很好参考价值的文章主要介绍了图像压缩算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里说​十种常用的图像压缩算法

数据压缩是保留相同或绝大部分数据前提下减小文件大小的过程。它的原理是消除不必要的数据或以更高效的格式重新组织数据。在进行数据压缩时,你可以选择使用有损方法或无损方法。有损方法会永久性地擦除掉一些数据,而无损方法则能保证持有全部的数据。使用哪类方法取决于你要让你的文件保持多大的精准度。

本文会为你介绍6种不同的无损数据压缩算法,以及4种基于深度学习的图像/视频压缩算法。

六款无损数据压缩算法

无损压缩算法通常被用于归档或其他高保真目的。这些算法能够让你在确保文件可被完整恢复的同时减少文件大小。有很多种无损压缩算法供你选择。下面介绍6种常用的算法。

1.LZ77

LZ77算法发布于1977年。作为很多其他无损压缩算法的基础,它使用了“滑动窗口”的概念。在这个概念中,LZ77管理了一个字典。该字典使用三元组的方式:

  • 偏移量(Offset):短语起始处于文件开头之间的距离

  • 行程长度(Run length):组成短语的字符数

  • 偏离字符:表明新短语的标记符,匹配结束后,前向缓冲区中的第一个符号

当文件被解析时,字典会被实时更新以反映最新的压缩数据和大小。举个例子,如果一个文件包含字符串"abbadabba",那么被压缩到字典中的项就是"abb(0,1,'d')(0,3,'a')"。你可以看下下表的拆解过程:

图像压缩算法,人工智能,人工智能

这个例子中,被压缩后的数据并不比初始数据小多少。但一般情况下,当文件很长时,这种压缩效果就会显现出来。

2. LZR

LZR由Michael Rodeh于1981年提出,它是在LZ77的基础上发展而来。这个算法目标是成为LZ77的一个线性时间替换算法,但编码后Udell指针可能指向文件的任意偏移量,意味着需要耗费可观的内存,因此表现不如LZ77。

3. LZSS

LZSS,全称Lempel-Ziv-Storer-Szymanski,于1982年提出。它也是旨在提升LZ77的一个算法。它引入了一个方法能够检测是否真的减少了文件大小。如果未能起到压缩效果,就保持原来的输入格式。LZSS还移除了对偏离字符的使用,只使用<偏移量,长度>对。这个压缩算法广泛用于归档格式,如RAR以及网络数据的压缩。

4. DEFLATE

DEFLATE算法于1993年提出。作者是Phil Katz。该算法结合了LZ77或LZSS预处理器与霍夫曼编码。霍夫曼编码是1952年提出的诉法。它是一种熵编码,主要基于字符出现频度分配编码。

5. LZMA

LZMA算法,全称是Lempel-Ziv Markov chain Algorithm(LZMA),于1998年提出,是LZ77的改进版,旨在实现.7z格式的7-ZIp文件归档。它使用链式压缩方法,在比特而非字节级别上应用修改后的LZ77算法。该压缩算法的输出稍后被算数编码进行处理以便后续进一步压缩。根据具体的实现不同,可能会引入其他的压缩步骤。

6. LZMA2

LZMA2算法于2009年提出,是LZMA的改良版。它提升了LZMA在多线程能力上的性能以及提升了处理不可压缩类型数据的表现。

四种基于深度学习的图像/视频压缩算法

除了上面介绍的静态压缩算法,还有基于深度学习的压缩算法可供选择。

1. 基于多层感知机的压缩算法

多层感知机(Multi-Layer Perceptron,MLP)技术使用多层神经元来获取、处理以及输出数据。它能够被应用到数据降维任务和数据压缩。首个基于MLP的算法于1988年被提出,目前已经被应用到:

  • 二进制编码——标准的双符号编码

  • 量化——限制从连续集到离散集的输入

  • 特定领域内的转换——像素级的数据变更

MLP算法利用分解神经网络上一步的输出来确定最佳的二进制码组合。后面,使用预测技术优化这个方法。预测技术能够通过反向传播基于相邻数据来提升数据准确度。

2. DeepCoder -- 基于视频压缩的深度神经网络

DeepCoder是一个基于卷积神经网络(CNN)的框架,它是传统视频压缩技术的替代。该模型为预测信号和残留信号使用单独的CNN。它使用标量量化技术和一个传统的文件压缩算法——霍夫曼编码——将编码特征映射到一个二进制流中。一般认为,该模型的性能要优于著名的H.264/AVC视频编码规范。

3. 基于CNN的压缩算法

CNN是分层的神经网络,通常用于图像识别和特征检测。当应用到压缩时,这些神经网络使用卷积操作来计算相邻像素点之间的相关性。CNN展示出了比基于MLP算法更好的压缩结果,提升了超分辨率下的性能以及减少了伪影。另外,基于CNN的压缩还提升了JPEG图像的品质,因为它减少了峰值信噪比(PSNR)和结构相似性(SSIM)。基于CNN的压缩通过使用熵估计法还实现了HEVC的性能。

4. 基于生成式对抗网络(GAN)的压缩算法

GAN属于神经网络的一种,它使用两个神经网络彼此竞争的方式来产生更精确的分析和预测。最早基于GAN的压缩算法于2017年被提出。这些算法的文件压缩比例是其他常见方法(如JPEG、WebP等)的2.5倍。你可以使用基于GAN的方法通过并行化处理来实现实时压缩。主要的原理是基于最相关的特征来压缩图片。当解码的时候,算法基于这些特征来重建图像。和基于CNN算法相比,基于GAN的压缩算法通过消除对抗损失能够产生更高品质的图像。

总结

压缩算法能够帮助你优化文件大小。不同的算法有不同的结果。本文简述了6种静态的无损压缩算法以及4种基于深度学习的压缩算法。当然,如果这些算法都不适用于你的场景,你可以查看这篇文章来寻找适合你场景的算法。算法有很多,总有一款适合你!

     whaosoft aiot http://143ai.com

 文章来源地址https://www.toymoban.com/news/detail-707974.html

到了这里,关于图像压缩算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【10个适合新手的人工智能项目 - 02】手写数字识别:使用Python和机器学习算法,编写一个手写数字识别程序,能够识别手写数字图像并将其转换为数字。

    为了编写一个手写数字识别程序,我们需要使用Python编程语言和一些机器学习算法。在这个项目中,我们将使用深度学习神经网络模型,它被广泛应用于图像识别任务。 以下是手写数字识别程序的基本步骤: 首先,我们需要一个数据集,用于训练和测试我们的模型。一个常

    2024年02月03日
    浏览(57)
  • 基于Solr的智能化人工智能与智能图像识别

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着人工智能技术的快速发展,人工智能与图像识别应用越来越广泛。在实际应用中,基于Solr的智能化人工智能与智能图像识别技术具有很高的实用价值和可行性。 1.2. 文章目的 本文旨在讲解如何基于Solr实现智能化人工智

    2024年02月07日
    浏览(68)
  • 【人工智能】大模型的本质:在超高维空间上对人类全部知识的高度压缩映射

    在计算机科学和人工智能领域,大模型成为了当前研究的热门话题之一。大模型通常指拥有上亿参数数量的深度神经网络模型。近年来,GPT-3等巨型自然语言处理模型的出现,引起了广泛的关注和探讨。本文将从理论和实践两个角度,详细介绍大模型的本质和应用。 大模型是

    2024年02月12日
    浏览(51)
  • Stable Diffusion人工智能图像合成

    AI 图像生成大有来头。新发布的开源图像合成模型称为Stable Diffusion,它允许任何拥有 PC 和像样的 GPU 的人想象出他们能想象到的几乎任何视觉现实。它几乎可以模仿任何视觉风格,如果你给它输入一个描述性的短语,结果就会像魔术一样出现在你的屏幕上。 一些艺术家 对这

    2024年02月09日
    浏览(48)
  • Bard:一个可以描述图像的人工智能

    Bard 是一个大型语言模型,可以对各种提示和问题进行交流和生成类似人类的文本。它接受了大量的文字和代码训练,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答你的问题。 Bard 还可以识别图像。它可以识别图像中的对象、场景和人物。它

    2024年02月17日
    浏览(45)
  • 人工智能在图像处理领域的应用

    随着科技的不断发展,人工智能(AI)逐渐成为当今社会的热点话题。人工智能正在逐渐渗透到人类生活的各个领域,改变着我们的生活方式和社会结构。在图像处理领域,人工智能的应用也越来越广泛,为图像处理带来了更高效、更准确的解决方案。本文将从图像分类、图

    2024年02月04日
    浏览(58)
  • Python人工智能应用--图像识别&&深度学习

    像素(缩写为px)是图像中的最小单位,由一个个小方格组成。 这些小方格都有一个固定的位置和颜色,共同决定了图像所呈现出来的样子。 这些小方格的行数与列数又被叫做分辨率。我们常说的某幅图像的分辨率是1280×720,指的就是这张图中的每一行都有1280个像素,每一列都

    2024年04月09日
    浏览(71)
  • 【人工智能Ⅱ】实验2:VGG图像分类

    实验2:VGG图像分类 一:实验目的与要求 1:掌握VGG网络的原理与结构。 2:学会利用VGG网络建立训练模型,并对模型进行评估。 3:学会使用VGG网络进行分类。 二:实验内容 1:用VGG网络对自选图像数据集进行多分类预测。 2:应用图像增强方法进行数据集的扩充。 3:调整

    2024年04月26日
    浏览(44)
  • 【人工智能图像补全复现】基于GAN的图像补全

    本文解析和实现论文Globally and Locally Consistent Image Completion中的相关方法。论文亮点在于使用全局(整张图片)和局部(缺失补全部分)两种鉴别器来训练,并运用GAN使生成图像在各个尺度的特征与真实图像匹配。 :GAN;图像补全;多种鉴别器训练 文章来源:SIGGRAPH 2

    2024年04月24日
    浏览(38)
  • AI人工智能课题:图像增强图像修复系统的设计与实现(基于百度智能云AI接口)

     博主介绍 :黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程,免费 项目配有对应开发文档、开题报告、任务书、

    2024年02月03日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包