【问题标题】:Windowing and lossless compression开窗和无损压缩
【发布时间】:2013-11-17 00:27:19
【问题描述】:

我正在研究 FLAC 的工作原理,尽管我的问题适用于任何无损编解码器。

我想知道如果原始信号乘以一个不是矩形的窗口,编解码器怎么可能是无损的。

我认为这个操作会修改我们不想改变的流。

我知道矩形窗口的光谱响应很糟糕(正弦波,有很多波瓣),但是,有什么问题?我们不想干扰音频流,通过乘以不同于 1 的值,我们会这样做。

谢谢。

【问题讨论】:

    标签: audio flac lossless-compression lossless


    【解决方案1】:

    当您想要将信号从时域转换到频域时,可以应用窗口函数。如果您正在处理大量数据,则可以应用一个窗口来最大限度地减少频谱泄漏的影响。

    如果您还引入了所谓的重叠,您可以使用(对称)窗口并将其应用于音频块。通常使用 50% 的重叠。这意味着前一个块的最后 50% 被添加到下一个块的前 50%。这是一个无损操作。

    【讨论】:

    • 但是我为什么要担心频谱泄漏呢?在那个窗口阶段,我只想切流,不是吗?
    • 时间和频率之间的变换(很可能使用快速傅里叶变换,FFT)假设您的输入信号是周期性的。大多数信号不符合这一点(完美的相位对齐和周期性),因此我们通过应用窗口来“欺骗”以最大限度地减少这种影响。
    • 谢谢。我理解你所说的,对于某些应用程序(如模拟/数字转换),我觉得这完全合乎逻辑。然而,正如我到目前为止所研究的那样,我们在成帧阶段想要的是切割信号以获得伪平稳、更可编辑和可预测的流。我认为使用矩形窗口会是一个更合理的选择,因为我们担心的不是频率,而是时域。我反思的错误在哪里?再次感谢。
    • 网上有多个页面比我在这里能更好地描述频谱泄漏,for example this blog post。如果您将信号分成块后的所有处理都是在 时域 中执行的,那么您只需要跟踪不同处理块之间的初始状态。但是因为您将在您的块上执行频域处理,所以您必须担心频率,因此可能首选窗口。
    • 抱歉 - 为什么 flac 完全依赖 FFT?可以?音频信号通过 ADC(模数转换)以获得 PCM 表示,所有这些都在时间空间中。 FFT 将用于过滤问题,但据我所知,不用于在时域中编码音频数据。所以没有窗口。
    猜你喜欢
    • 1970-01-01
    • 2014-09-28
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2023-03-16
    相关资源
    最近更新 更多