我想知道是否有人有数据压缩算法列表。我对数据压缩基本上一无所知,我希望更多地了解不同的算法,看看哪些是最新的,并且还没有在很多 ASIC 上开发。
我希望实现一个数据压缩 ASIC,它独立于传入的数据类型(音频、视频、图像等)
如果我的问题过于开放,请告诉我,我会修改。谢谢
我想知道是否有人有数据压缩算法列表。我对数据压缩基本上一无所知,我希望更多地了解不同的算法,看看哪些是最新的,并且还没有在很多 ASIC 上开发。
我希望实现一个数据压缩 ASIC,它独立于传入的数据类型(音频、视频、图像等)
如果我的问题过于开放,请告诉我,我会修改。谢谢
那里有大量的压缩算法。您在这里需要的是无损压缩算法。无损压缩算法压缩数据,以便可以将其解压缩以准确实现压缩前给出的内容。相反的是有损压缩算法。有损压缩可以从文件中删除数据。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 不够用。
随时询问更多信息。这个话题非常广泛。
我的论文A Survey Of Architectural Approaches for Data Compression in Cache and Main Memory Systems(此处为永久链接)回顾了许多压缩算法以及在现代处理器中使用它们的技术。它审查了研究级和商业级压缩算法/技术,因此您可能会发现尚未在 ASIC 中实现的一种。
以下是一些无损算法(可以使用这些算法完美恢复原始数据):
许多众所周知的格式,如 png 或 gif,都使用这些格式的变体或组合。
另一方面,也有有损算法(牺牲准确性来压缩数据,但通常效果很好)。最先进的有损技术结合了差分编码、量化和 DCT 等思想。
要了解有关数据压缩的更多信息,我推荐https://www.elsevier.com/books/introduction-to-data-compression/sayood/978-0-12-809474-7。这是一个非常容易理解的介绍文本。第 3 版以 pdf 形式在线发布。
周围有大量的数据压缩算法。如果您正在寻找百科全书式的东西,我推荐Salomon 等人的《数据压缩手册》,它与您可能获得的一样全面(并且也有关于数据压缩原理和实践的好章节) .
我最好的猜测是,基于 ASIC 的压缩通常是为特定应用程序实现的,或者作为 SoC 的专用元件,而不是作为独立的压缩芯片。我也怀疑寻找“最新和最伟大”的压缩格式是否是这里的方法——我希望标准化、成熟度和针对特定目的的适用性更为重要。
LZW 或 Lempel Ziv 算法是一种很好的无损算法。这里的伪代码:http: //oldwww.rasip.fer.hr/research/compress/algorithms/fund/lz/lzw.html