我试图了解块大小的影响以及在DCT压缩中选择系数的最佳策略。 基本上我想问一下我在这里写的内容:
Video Compression: What is discrete cosine transform?
让我们假设最原始的压缩。制作图像块。在每个博客上执行DCT并将一些系数归零。
根据我的理解,块越小越好。 较小的块意味着像素更相关,因此DCT光谱中的能量更“紧凑”。在快速变化的图像(高频)中应该更加强调。
假设我们将一定百分比的系数归零,什么会产生最佳图像质量,小块或大块? 假设我们保持10%,25%,50%,75%,你会说这是一个不同百分比的不同答案吗?
另一个问题是如何选择不受影响的系数。 我要说我必须根据地点而不是能源做出决定。 你会从左上角拿一个方格吗? 我已经在DCT频谱中平均了很多块,并得出结论最好的是从左上角取三角形。你觉得怎么样?
希望我们能够进行有效的讨论。
答案 0 :(得分:9)
您的问题的本质似乎是关于图像质量。关于该主题已经产生了大量文献,结果是图像质量难以确定。
标准的数学误差测量,如信噪比(SNR)和均方误差(MSE)可以给出定量答案,但众所周知,这些与主观观察者的观点并不相关,必须是我们的最终权威。没有其他方法,甚至那些基于观察者的心理视觉模型的方法(例如,SA Karunasekera和NG Kingsbury,“基于人类视觉灵敏度的图像中的伪像的失真度量”,IEEE Trans.on Image Proc.vol.4 1995年6月第6期,第713-724页;以及M. Miyahara,K。Kotani和VR Algazi,“用于图像编码的客观图像质量标度(PQS)”,IEEE Trans.on Comm.vol.46, 1998年9月第9期,第1215-1226页,证明自己比SNR更好。
此外,当您改变图像的类型(线条画,卡通,照片,肖像等)时,某些类型的压缩失真会变得更加明显。在一幅图像中,蚊子噪声可能令人反感,而楼梯噪音可能是另一幅图像的罪魁祸首。
简而言之,您的问题没有答案,“什么会带来最佳图像质量?”
话虽如此,我们可以说一些与DCT相关的事情。块的DCT中的像素从左上角[(0,0) - >(0,1) - >(1,0) - >的Z字形图案从低变化变为高变化。 ;(2,0) - >(1,1) - >(0,2) - >等等],作为三角形选择镜像。像素越接近左上角,其中包含的信息越平滑[实际上,(0,0)DCT值是整个块的平均值],离你越远,你越多,越多你会得到“高频率”的细节。越靠近图像的顶部和左侧,您将用DCT系数表示的水平和垂直细节越多,越接近块的对角线,您将拥有越多的对角线细节。
简而言之,有损压缩通常需要丢掉一些眼睛可能无法察觉的“细节”。 (丢掉“更平滑”的DCT值会导致严重的失真。)你扔掉的DCT值越多,你的压缩比就越大,但你所引起的失真也就越大。
至于块大小,一切都取决于。块中的方差和细节越多,丢失系数就会损失得越多。一些压缩算法在同一图像内自适应地使用不同的块大小,使得高细节区域接收越来越小的块,并且平滑区域接收越来越少的块。
对于使用单个块大小的算法,8x8,16x16和32x32常用于JPEG和MPEG。压缩它们所需的处理将小于自适应块大小,但质量通常也会较低。