40

我想知道是否有人有数据压缩算法列表。我对数据压缩基本上一无所知,我希望更多地了解不同的算法,看看哪些是最新的,并且还没有在很多 ASIC 上开发。

我希望实现一个数据压缩 ASIC,它独立于传入的数据类型(音频、视频、图像等)

如果我的问题过于开放,请告诉我,我会修改。谢谢

4

5 回答 5

43

那里有大量的压缩算法。您在这里需要的是无损压缩算法。无损压缩算法压缩数据,以便可以将其解压缩以准确实现压缩前给出的内容。相反的是有损压缩算法。有损压缩可以从文件中删除数据。PNG 图像使用无损压缩,而 JPEG 图像可以并且经常使用有损压缩。

一些最广为人知的压缩算法包括:

ZIP 档案使用 Huffman 编码和 LZ77 的组合来提供快速的压缩和解压缩时间以及相当好的压缩比。

LZ77 几乎是 RLE 的一种通用形式,它通常会产生更好的结果。

霍夫曼允许重复最多的字节代表最少的位数。想象一个看起来像这样的文本文件:

aaaaaaaabbbbbcccdd

Huffman 的典型实现将产生以下映射:

Bits Character
   0         a
  10         b
 110         c
1110         d

所以文件会被压缩成这样:

00000000 10101010 10110110 11011101 11000000
                                       ^^^^^
                              Padding bits required

18 字节下降到 5。当然,表必须包含在文件中。该算法适用于更多数据:P

Alex Alllain 有一篇关于 Huffman Compression Algorithm 的好文章,以防 Wiki 不够用。

随时询问更多信息。这个话题非常广泛。

于 2013-05-09T19:45:19.443 回答
5

我的论文A Survey Of Architectural Approaches for Data Compression in Cache and Main Memory Systems此处为永久链接)回顾了许多压缩算法以及在现代处理器中使用它们的技术。它审查了研究级和商业级压缩算法/技术,因此您可能会发现尚未在 ASIC 中实现的一种。

于 2015-06-12T12:34:47.040 回答
5

以下是一些无损算法(可以使用这些算法完美恢复原始数据):

  • 霍夫曼编码
  • LZ78(和 LZW 变体)
  • LZ77
  • 算术编码
  • 推论
  • 部分匹配的预测 (ppm)

许多众所周知的格式,如 png 或 gif,都使用这些格式的变体或组合。

另一方面,也有有损算法(牺牲准确性来压缩数据,但通常效果很好)。最先进的有损技术结合了差分编码、量化和 DCT 等思想。

要了解有关数据压缩的更多信息,我推荐https://www.elsevier.com/books/introduction-to-data-compression/sayood/978-0-12-809474-7。这是一个非常容易理解的介绍文本。第 3 版以 pdf 形式在线发布。

于 2018-02-06T23:24:56.577 回答
4

周围有大量的数据压缩算法。如果您正在寻找百科全书式的东西,我推荐Salomon 等人的《数据压缩手册》,它与您可能获得的一样全面(并且也有关于数据压缩原理和实践的好章节) .

我最好的猜测是,基于 ASIC 的压缩通常是为特定应用程序实现的,或者作为 SoC 的专用元件,而不是作为独立的压缩芯片。我也怀疑寻找“最新和最伟大”的压缩格式是否是这里的方法——我希望标准化、成熟度和针对特定目的的适用性更为重要。

于 2013-05-09T23:47:05.607 回答
0

LZW 或 Lempel Ziv 算法是一种很好的无损算法。这里的伪代码:http: //oldwww.rasip.fer.hr/research/compress/algorithms/fund/lz/lzw.html

于 2013-05-09T19:20:14.827 回答