问题标签 [data-compression]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3548 浏览

java - 将高分辨率图像转换为低分辨率

我正在媒体管理器上做一个网络项目。我上传了高分辨率图片,需要将这些图片转换为低分辨率,以便将生成的图片压缩成更小的尺寸。使用 Java 怎么可能?

如果可能,请发布源代码。

谢谢,纳文

0 投票
6 回答
1330 浏览

compression - 数据压缩

我有一个任务以某种方式压缩股票市场数据......数据在一个文件中,其中每天的股票价值在一行中给出,依此类推......所以它是一个非常大的文件。

例如,
123.45
234.75
345.678
889.56
......

现在的问题是如何使用 Huffman 或算术编码或 LZ 编码等标准算法压缩数据(也就是减少冗余)......哪种编码最适合这类数据??......

我注意到,如果我获取第一个数据,然后考虑每个连续数据之间的差异,差异值会有很多重复......这让我想知道是否首先获取这些差异,找到它们的频率和概率,然后使用霍夫曼编码将是一种方式??...

我是对的吗?...谁能给我一些建议。

0 投票
3 回答
2772 浏览

python - 解析大型压缩xml文件,python

这是尝试解析用 bz2 压缩的 xml 文件的代码。不幸的是,它失败并显示一条消息:

TypeError: Parse() argument 1 must be string or read-only buffer, not bz2.BZ2File

有没有办法即时解析压缩的 bz2 xml 文件?

注意p.Parse(file.read())这里不是一个选项。我想解析一个大于可用内存的文件,所以我需要一个流。

0 投票
1 回答
130 浏览

data-compression - 压缩文件

我有一个 X 字节文件。例如,我想将其压缩为 32Kb 的块。有没有我可以这样做的库?

我在 Delphi 中使用了 Zlib,但我只能在新的压缩文件中压缩一个完整的文件。

很多,佩德罗

0 投票
7 回答
46313 浏览

encryption - 如何计算位串的近似熵?

有没有标准的方法来做到这一点?

谷歌搜索—— “近似熵”位——发现了多篇学术论文,但我只想找到一段伪代码,为给定的任意长度的位串定义近似熵。

(如果说起来容易做起来难,并且取决于应用程序,我的应用程序涉及 16,320 位加密数据(密文)。但加密是一个谜题,并不是不可能破解的。我想我先检查一下熵,但不容易找到一个好的定义。所以这似乎是一个应该在 StackOverflow 上的问题!也欢迎从哪里开始解密 16k 随机看似位的想法......)

另请参阅此相关问题:
熵的计算机科学定义是什么?

0 投票
5 回答
3811 浏览

c++ - 具有随机数据访问的压缩向量/数组类

我想制作“压缩数组”/“压缩向量”类(详情如下),它允许以或多或少的恒定时间进行随机数据访问。

“或多或少恒定时间”意味着虽然元素访问时间不是恒定的,但当我接近数组的某个点时它不应该继续增加。即容器不应该做更多的计算(例如“再次解压缩所有内容以获取最后一个元素”和“几乎什么都不做以获得第一个元素”)来获取一个元素。可以通过将数组拆分为压缩数据块来实现。即访问一个元素应该采取“平均时间”+- 一些偏差。我可以说我希望最好情况下的访问时间和最坏情况下的访问时间相对接近平均访问时间。

我有哪些选择(合适的算法/已经可用的容器——如果有的话)?

集装箱详情:

  1. 容器充当相同元素的线性数组(例如 std::vector)
  2. 一旦容器被初始化,数据是不变的,永远不会改变。容器需要提供只读访问。
  3. 容器的行为应该像 array/std::vector - 即通过 operator[] 访问的值,有 .size() 等。
  4. 如果我能把它做成模板类就好了。
  5. 对数据的访问应该或多或少是固定时间的。我不需要每个元素都具有相同的访问时间,但我不应该解压缩所有内容来获取最后一个元素。

使用示例:
对数据进行二分搜索。

数据细节:
1. 数据是结构体,主要由浮点数和一些整数组成。浮点数比整数多。没有字符串。
2.数组中不可能有很多相同的元素,所以简单的索引数据是不可能的。
3. 一个元素的大小小于 100 字节。
4. 每个容器的总数据大小在几千字节到几兆字节之间。
5. 数据不是稀疏的——它是连续的元素块,它们都被分配,没有“空槽”。

与未压缩的数组表示相比,压缩的目标是减少块占用的内存量,同时保持某种合理的读取访问性能,并允许将元素随机访问为数组。即数据应该在内部以压缩形式存储,并且我应该能够访问它(只读),就好像它是 std::vector 或类似容器一样。

想法/意见?

0 投票
1 回答
236 浏览

algorithm - 是否存在将 Aleph-Null 集中的任何数字转换为可能的最小可计算数字的算法?

可能重复:
编程逻辑:找到一个大数的最小方程。

我正在寻找一种算法,该算法将从 Aleph-Null 集合中获取任意数字(所有正整数)(可能绝对巨大)并尝试将其简化为可计算数(如果可计算数占用的空间小于它试图表示的整数值)(特别是不是浮点数)。涉及 tetration/hyperoperators 将是最佳的。

有谁知道这样的事情是否存在?今天早上我环顾四周,但找不到任何东西。C# 代码将是最佳的,但实际上,它可以是任何语言

编辑:编程逻辑:找到大数的最小方程:http : //mrob.com/pub/ries/index.html看起来很有希望,但我想知道它处理大数的效果如何,以及它是否能够实现超算子。我会尝试一下。

0 投票
8 回答
5678 浏览

c++ - 矩阵压缩方法

在我一直在处理的应用程序中,我必须通过套接字发送一个 256 x 256 矩阵。我正在为在集群上运行的海上系统模拟器开发可视化客户端,该矩阵是表示海洋表面当前状态的高度图。

这是一个实时应用程序,所以速度是必须的。而且,使用 256 x 256 的浮点矩阵,我必须每秒发送 256 KB 的数据,以满足 256 KB/秒的带宽要求。

这很多,至少对于我的应用程序而言。

所以,我的问题是,在通过套接字发送之前压缩这个矩阵有什么好的方法吗?而且,如果有这样的方法,我可以期望减少多少操作系统?

由于我的矩阵代表一个连续的表面,有损压缩方法对我来说不是问题。我最关心的是压缩率、压缩所花费的时间,以及最后是否已经为 C++ 实现了这种方法。

0 投票
6 回答
3963 浏览

c - C中的二进制数组压缩

我在c中有二进制数组,我想压缩数组,请建议我压缩二进制数组的算法。我使用了 Lempel-Ziv-Welch (LZW) 算法,但它不适合我,因为我的数据中没有重复。

0 投票
7 回答
958 浏览

algorithm - Terra 压缩是可能的吗?如果有,请解释并提供样品

通过使用复杂的数学公式/算法,长 Ascii 字符串文本可能会或可能不会被压缩并压缩为哈希类型的 ascii“校验和”。就像可以压缩的空气一样。

要将兆字节的 ascii 文本压缩成 128 字节左右,通过改组,然后从第一个到最后一个轮流混合单个“字节”的新“模式”。当我们解压它时,首先提取最后一个字符,然后我们使用公式和从最后一个到第一个的顺序键继续解压。顺序键以及最后一个和第一个字节必须准确知道,包括完全更新的最终编译字符串,以及被压缩的字节总数。

这是我正在考虑的 terra 压缩。这可能吗?你能解释一下例子吗。我正在研究这个理论,这是我自己的想法。