Compression DCT压缩

Compression DCT压缩,compression,signal-processing,dct,Compression,Signal Processing,Dct,DCT(DiscreteCosineT转换)如何帮助压缩声音(或任何波形数据)?根据DCT变换,结果有N个输入值和N个输出值。压缩在何处实现以及如何实现?在我看来,这是对以频率(频率+振幅+重复)形式呈现的输入(波)某些值的重复进行的分析。例如,如果音频(低音)中有许多低噪声,则DCT将输出许多低频值(=类似值)(即,考虑均衡器频带)。这可以用于任何压缩算法。而且DCT是无损失的和可逆的。想想序列1,2,3,4,5,。。它根本不会使用LZ(zip)进行压缩,因为没有重复。现在将序列编码为差异:1

DCT(DiscreteCosineT转换)如何帮助压缩声音(或任何波形数据)?根据DCT变换,结果有N个输入值和N个输出值。压缩在何处实现以及如何实现?

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

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

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

Loseless?你能给我一些关于你写的算法的链接吗?也许这是有损的,但是如果你能把系数四舍五入,你可以压缩一点:我试过DCT。只是转换到频域,再转换到时域。最后的结果和原来的结果不一样……真奇怪!你看过这一页的底部了吗?有一个8x8位图的DCT?清楚的解释…简短而甜蜜的回答这个问题与编程没有直接关系;它更多的是关于信号处理和数学。因此,您应该考虑将其移动到OR或OR。