jpeg - JPEG 品质因数压缩
问题描述
JPEG 图像的 DCT 值以步长的倍数为中心(步长取决于压缩的质量因子)。
如果对 JPEG 图像执行右下循环移位circshift(lenaJPG,[1,1]);)
,则 DCT 值不再以步骤为中心。为什么会这样?
我猜问题是我不明白 JPEG 如何基于 QF 进行压缩。
我的猜测是 DCT 值不再是“离散”的原因,因为它们不是 16 的倍数(对于 QF=50),是 JPEG 压缩将 DCT 值四舍五入到最接近的 16 倍数; 但是,当对移位的图像进行 DCT 时,形成每个 8x8 块的余弦波与压缩图像的块不同。
这是怎么回事?应用移位时压缩是否丢失?我完全错了吗?
解决方案
我完全错了吗?
是的。
JPEG 中没有质量因素。一些编码器具有选择量化表的质量设置。
在 DCT 之后,将值四舍五入到最接近的整数,而不是 16 的倍数。然后将 DCT 值除以量化表中的相应值。