代码之家  ›  专栏  ›  技术社区  ›  Royi

DCT压缩-块大小,选择系数

  •  4
  • Royi  · 技术社区  · 16 年前

    我试图了解块大小的影响以及在DCT压缩中选择系数的最佳策略。 基本上我想问一下我在这里写了什么:

    Video Compression: What is discrete cosine transform?

    让我们假设最原始的压缩。制作图像块。在每个博客上执行DCT,并清零一些系数。

    据我所知,街区越小越好。 更小的块意味着像素更相关,因此DCT光谱中的能量更“紧凑”。在快速变化的图像(高频)中应该更加强调这一点。

    假设我们将系数的某个百分比归零,那么什么会产生最佳的图像质量,小的或大的块? 假设我们保持,10%,25%,50%,75%,你会说这是不同百分比的不同答案吗?

    另一个问题是如何选择不动的系数。 或者说我必须根据地点而不是能量做出决定。 你能从左上角拿个正方形吗? 我平均了DCT光谱中的许多块,得出的最好结论是从左上角取一个三角形。你怎么认为?

    希望我们能进行有效的讨论。

    1 回复  |  直到 16 年前
        1
  •  9
  •   metal    16 年前

    你问题的实质似乎是关于图像质量。关于这一主题已经有了大量的文献,其结果是图像质量很难确定。

    标准的数学误差测量,如信噪比(snr)和均方误差(mse),可以给出一个定量的答案,但众所周知,这些都与主观观察者的意见没有很好的关联,主观观察者的意见必须是我们的最终权威。没有其他方法,甚至那些建立在观察者的心理视觉模型上的方法(例如,S.A.Karunasekera和N.G.Kingsbury,一种基于人类视觉敏感性和IEEE Trans的图像中阻断伪影的畸变测量方法)。关于图像处理。第4卷,第6期,1995年6月,第713页,“724”;M.Miyahara、K.Kotani和V.R.Algazi,“图像编码的客观图像质量量表(PQS)”,IEEE Trans。1998年9月9日,第46卷第9期,第1215页“1226”,证明了自己比信噪比更好。

    此外,当您改变图像类型(线条绘制、卡通、照片、肖像等)时,某些类型的压缩失真会变得更加明显。在一幅图像中,蚊子的噪音可能令人讨厌,而楼梯的噪音可能是另一幅图像的罪魁祸首。

    简言之,对于你的问题,“什么样的图像质量最好?”

    也就是说,我们可以说一些与DCT相关的事情。作为三角形选择镜像,块DCT中的像素从左上角的锯齿形图案从低变化变为高变化[(0,0)->(0,1)->(1,0)->(2,0)->(1,1)->(0,2)->等]。像素越靠近左上角,其中包含的信息就越平滑[事实上,(0,0)dct值是整个块的平均值],距离该角越远,您将获得的“高频”细节就越多。越靠近图像的顶部和左侧,用DCT系数表示的水平和垂直细节就越多,而越靠近块的对角线,对角线细节就越多。

    简而言之,有损压缩通常需要丢弃一些眼睛无法察觉的“细节”。(丢弃“更平滑”的DCT值会导致严重失真。)丢弃的DCT值越多,压缩比就越大,但也会导致更大的失真。

    至于块大小,都要看情况而定。一个块中的方差和细节越多,丢弃系数所损失的就越多。一些压缩算法在同一图像中自适应地使用不同的块大小,使得高细节区域接收越来越小的块,而平滑区域接收越来越大的块。

    对于使用单个块大小的算法,8x8、16x16和32x32对于jpeg和mpeg等对象很常见。压缩它们所需的处理将小于自适应块大小,但一般来说,质量也会较低。

    推荐文章