2009-12-23 158 views
4

我想了解在DCT压缩中选择系数的块大小和最佳策略的效果。 基本上我要问什么,我在这里写下:DCT压缩 - 块大小,选择系数

Video Compression: What is discrete cosine transform?

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

据我了解,块越小越好。 小块意味着像素更相关,因此DCT频谱中的能量更“紧凑”。应该更加强调快速变化的图像(高频)。

假设我们将某些百分比的系数置零,那么会导致最佳图像质量,小块还是大块? 假设我们保留10%,25%,50%,75%,你会说这是另一个不同百分比的答案吗?

另一个问题是如何选择你保持不变的系数。我可以说,我必须根据位置而不是能量做出决定。 你会从左上角拿一个方格吗? 我已经在DCT光谱中取得了很多块的平均值,并且最好从左上角取一个三角形。你怎么看?

希望我们能有效的讨论。

回答

9

你的问题的本质似乎是关于图像质量。关于这个问题已经有了大量的文献,结果是图像质量很难确定。标准的数学误差测量,如信噪比(SNR)和均方误差(MSE)可以给出定量的答案,但众所周知,这些与主观观众意见不相关,这必须是我们的最终权力。没有其他方法,甚至那些建立在观看者的心理 - 视觉模型上的方法(例如SA Karunasekera和NG Kingsbury,“A distortion measure for block artifacts in images based on human visual sensitivity”,IEEE Trans.on Image Proc.vol.4 ,第6期,1995年6月,第713-724页;和M.Miyahara,K.Kotani和VRAlgazi,“Objective picture quality scale(PQS)for image coding,”IEEE Trans.on Comm.vol.46, No.9,1998年9月,第1215-1226页)已经证明自己比SNR更好。此外,当您改变图像类型(线条画,卡通,照片,人像等)时,某些类型的压缩失真变得更加明显。一幅图像中的蚊子噪音可能令人反感,而楼梯噪音可能是另一幅图像中的罪魁祸首。

简而言之,对于您的问题没有轻拍回答,“什么会导致最佳图像质量?”

这就是说,我们可以说一些关于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等格式是很常见的。压缩它们所需的处理将小于自适应块大小,但质量通常也会更低。

+0

感谢您的彻底解答。 当然,在我的问题中,我假设单块大小。 我不关心SNR/MSE。我只是想理解理论。 就我所见,块越小越好 - 因为较小的块通常意味着更容易压缩的相关像素(或者说,更好地通过更少的系数来定义)。我对这些假设是否正确? 只是为了平滑理论,然后理解特定图像的具体情况。 – Royi 2009-12-24 22:26:48

+0

一般而言,就相关性而言,较小的块更好,但如果它们太小,则压缩比将受到影响,因为您将无法从每个块中丢弃多个系数而不会造成严重失真。 – metal 2010-01-13 22:20:13

+1

+1哇!令人惊叹的答案。你甚至包括一篇相关的文章。 – 2012-06-28 16:20:24