代码之家  ›  专栏  ›  技术社区  ›  Spencer Ruport

高压缩视频中显示的块的原因/使用/原因是什么?

  •  2
  • Spencer Ruport  · 技术社区  · 15 年前

    耐心点,因为我对压缩算法没有太多的研究,所以这对你们中的一些人来说可能是显而易见的。当一些流媒体视频开始出现延迟时,我一直注意到这一点。我只是在审视这个问题时才意识到我很好奇:

    Twitter image encoding challenge

    我说的不是像素本身,而是压缩产生的网格状布局。这意味着什么样的算法或技术?你能告诉我什么?

    3 回复  |  直到 15 年前
        1
  •  3
  •   Erich Mirabal    15 年前

    看看这篇维基百科文章 MPEG-2 . 引用其中一部分:

    简单地说,原始帧由8个像素块划分为8个像素。每个块中的数据通过离散余弦变换进行转换。结果是一个8乘8的系数矩阵。转换将空间变化转换为频率变化,但不会更改块中的信息;通过应用反余弦变换可以精确地重新创建原始块。

    换句话说,您看到的类似网格的结构是这个DCT应用于8x8像素块的直接效果。

        2
  •  2
  •   David Cournapeau    15 年前

    块的基本原理与位置/频率权衡有关。图像在光谱域压缩前被分为若干块。( DCT )从而使因压缩而产生的文物更具局限性。在标准的jpeg中,这些块在整个图片上的大小是恒定的。对于更新的格式,如JPEG2000,这些块使用小波来适应图片。我不熟悉视频格式的细节,但基本原理是一样的。

    这与音频编码(mp3)的现象是相同的:您不需要计算整个音频文件的频谱,而是将文件分成几个样本的一些部分(对于44.1 kHz信号,通常是几百个)。同样,如果压缩数据(网络、损坏的文件)损坏,您将听到由于缺少窗口而产生的噪音。

        3
  •  1
  •   Louis Davis    15 年前