2

DCT(D iscrete C osine T转换)如何帮助压缩声音(或任何波状数据)?根据 DCT 变换,结果有 N 个输入值和 N 个输出值。压缩在哪里以及如何实现?

4

3 回答 3

7

DCT 不压缩。DCT 输出的大小与输入信号的大小相同。然而,DCT 所做的是压缩信号的能量。粗略地说,您最终会在频域中得到一小部分大系数和许多小系数。这种情况非常适合熵编码器,它可以去除 DCT 输出中的冗余,从而提供压缩。

于 2012-04-02T06:46:23.273 回答
2

想想序列 1,2,3,4,5,.. 它根本不会使用 LZ (zip) 进行压缩,因为它是零重复的。现在将序列编码为差异:1,1,1,1,1,... Zip 现在会将其压缩 99%。每个算法都能很好地检测到某种模式。DCT 有助于将数据编码为可良好压缩的格式。

于 2012-01-02T19:41:42.943 回答
0

IMO它是对以频率(频率+幅度+重复)形式呈现的输入(波)的某些值的重复的分析。例如,如果您在音频(低音)中有许多低噪声,则 DCT 将输出许多低频值(=相似值)(即考虑均衡器频带)。这可以用于任何压缩算法。而且 DCT 是无损和可逆的。

于 2011-04-25T07:52:26.340 回答