音频的一维 DCT 中的高能量系数

信息处理 matlab 声音的 dct
2022-02-19 06:50:34

我一直在阅读一些关于 DCT 如何使用 2D 变换进行图像压缩的工作,但是我不知道这如何适用于使用 1D 变换的音频。

假设我有一个音频片段,我的意思是,一些单声道音频向量的样本。

Ai = [-0.0288,-0.0304,-0.0354,-0.0406,-0.0469,-0.0518,-0.0647,-0.0831 ...]

然后我在那个向量上计算一维 DCT。

R = dct(Ai)

结果将是这样的:

0.2143   -0.3158   -0.6354   -0.3877    0.5503    0.2330   -0.1690    0.0203

我应该如何解释这个结果?高能量系数是具有更大价值的吗?(我仍然是这方面的菜鸟)。第一个值是直流系数吗?是否有一种特殊的方式来读取矢量(之字形或其他东西)?

任何帮助将不胜感激,顺便说一句我正在使用matlab。谢谢

1个回答

当我们计算信号(向量)的一维 DCT 时,我们将得到相同长度的 DCT 系数。

其中的第一个值是直流系数,低频分量在开始,随着指数的增加,频率也增加。因此 DCT 系数中的最后一个值是最高频率(即 fs/2)。

之字形扫描在 2D DCT 中完成,以按频率递增顺序读取系数。但是在 1D DCT 中不需要 zig zag 扫描,因为它只包含一行(或 1 列),它已经按频率升序排列(从 Dc 值开始并以最大频率结束,即 fs/2)。