365beat-beat365官方网站手机版-365账号无法登陆

【译】十款性能最佳的压缩算法

数据压缩是保留相同或绝大部分数据前提下减小文件大小的过程。 它的原理是消除不必要的数据或以更高效的格式重新组织数据。在进行数据压

【译】十款性能最佳的压缩算法

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

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

6款无损数据压缩算法

无损压缩算法通常被用于归档或其他高保真目的。这些算法能够让你在确保文件可被完整恢复的同时减少文件大小。有很多种无损压缩算法供你选择。下面介绍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在多线程能力上的性能以及提升了处理不可压缩类型数据的表现。

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

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

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种基于深度学习的压缩算法。当然,如果这些算法都不适用于你的场景,你可以查看这篇文章来寻找适合你场景的算法。算法有很多,总有一款适合你!

原文地址:https://dzone.com/articles/crunch-time-10-best-compression-algorithms

← 上一篇: 为什么lol管泽元也在玩梦泪的梗,梦泪这么出圈嘛?
下一篇: Illustrator 教程,如何在 Illustrator 中创建和编辑图层? →

相关推荐

旧电脑重装系统推荐:流畅运行的最佳选择

旧电脑重装系统推荐:流畅运行的最佳选择

旧电脑重装系统推荐:流畅运行的最佳选择 随着科技的飞速发展,电脑的更新换代速度日益加快。然而,许多人在使用了一段时间的电脑后,往

2025国内最火的十部综艺节目 2025年热门综艺排行榜前十名→MAIGOO生活榜

2025国内最火的十部综艺节目 2025年热门综艺排行榜前十名→MAIGOO生活榜

2025国内最火的十部综艺节目排行榜,榜单主要依据AI大数据算法关于综艺的“热度、网络关注指数、主题契合程度、网络十大排行情况”等因素

《火影忍者手游》神秘面具男忍者之路价格一览

《火影忍者手游》神秘面具男忍者之路价格一览

t2627_2_2627_1:5.0 t1-t0:30.0 t2-t1:7.0 t3-t2:0.0 t4-t3:3.0 t5-t4:16.0 t6-t5:21.0 t7-t6:4.0 t8-t7:0.0 t9-t8:9.0 t10-t9:0.0 t11-t10:4.0 t12-t11:0.0 t13-t12:0.0 t14-t13:1.0 t15-t14:0.0 t16-t15

[耳机]用比较久的耳机的 异味如何清除?

[耳机]用比较久的耳机的 异味如何清除?

查看: 45131|回复: 19 [耳机] 用比较久的耳机的 异味如何清除? [复制链接] 5522348 5522348 当前离线 积分5 64 主题1418 帖子5 积分 初级会员 初级会员,

洋钱罐的贷款审核需要多长时间?发布时间:2024-12-30 16:49阅读:671

洋钱罐的贷款审核需要多长时间?发布时间:2024-12-30 16:49阅读:671

洋钱罐的贷款审核时间通常较快,大多数情况下可以在提交完整申请资料后的1至3个工作日内完成。用户提交申请后,系统会自动进行初步评估

今晚8点开抢!苹果iPhone 16系列首发抢购攻略来了:教你拿首批

今晚8点开抢!苹果iPhone 16系列首发抢购攻略来了:教你拿首批

快科技9月13日消息,今晚8点,iPhone 16系列将在苹果官网和各大电商平台开启预购,如果手速快就有机会抢到首批货,在9月20日(周五)发售当天