12

在研究这份关于JPEG 演变的文档时,我在上述文档的第 7.3 节中遇到了“八定律”。

尽管通过 SmartScale 扩展引入了从 1 到 16 的其他块大小,超出了原始 JPEG 标准中的固定大小 8,但事实仍然是块大小 8 仍将是默认值,并且所有其他大小的 DCT参考标准 8x8 DCT 进行缩放。

“<strong>八法则”解释了为什么尺寸 8 是 DCT 尺寸的正确默认值和参考值。

我的问题是

这个“八法则”究竟是什么?

  • 从历史上看,是否有一项研究评估了样本中的大量图像以得出8x8图像块包含足够的冗余数据以支持使用 DCT 的压缩技术的结论?随着 8M(4Kx4K)等非常大的图像尺寸迅速成为大多数数字图像/视频的标准,这种假设仍然有效吗?

  • 将宏块限制为 8x8 的另一个历史原因是较大宏块的计算量过高的图像数据大小。对于现代超标量架构(例如 CUDA),该限制不再适用。

之前存在类似的问题- 1、23但他们都不关心这个神秘的基本“八定律”的任何细节/链接/参考。


1. 原始研究的参考/摘录/细节将受到高度赞赏,因为我想用具有非常大尺寸图像的现代数据集重复它,以测试 8x8 宏块的有效性是最佳的。

2. 如果最近进行了类似的研究,也欢迎参考。

3. 我明白SmartScale有争议。没有任何明显的潜在好处1,它充其量只能与 jpeg 标准的其他向后兼容扩展2相媲美。我的目标是了解选择 8x8 作为 DCT 块大小(在 jpeg 图像压缩标准中)的原始原因是否仍然相关,因此我需要知道八的法则是什么。

4

1 回答 1

2

我的理解是,八定律只是对基线 JPEG 算法规定 8x8 作为其唯一块大小这一事实的幽默引用。

PS 换句话说,“八定律”是一种通过引入历史视角来解释“所有其他尺寸的 DCT 都参考 8x8 DCT 进行缩放”的方式——缺乏对任何其他尺寸的支持。原始标准及其事实上的实现

下一个要问的问题:为什么是八?(请注意,尽管这是一个有效的问题,但这不是当前讨论的主题,即使在历史上选择了另一个值,例如“十法则”或“三十二法则”,这仍然是相关的。)对此的回答是:因为问题的计算复杂度随着O(N^2)(除非采用 FCT 类算法,其增长速度较慢O(N log N)但更难在嵌入式平台的原始硬件上实现,因此适用性有限)而增长,因此较大的块大小很快成为不切实际的。这就是选择 8x8 的原因,它足够小,可以在各种平台上实用,但又足够大,可以对不同频率的量化水平进行不太粗略的控制。

由于该标准显然已经引起了人们的注意,整个生态圈很快就围绕它发展起来,包括针对 8x8 优化的实现作为其唯一支持的块大小。一旦生态圈到位,就不可能在不破坏现有实现的情况下更改区块大小。由于这是非常不可取的,因此对 DCT/量化参数的任何调整都必须与仅 8x8 的解码器保持兼容。我相信这个考虑一定是所谓的“八法则”。

虽然不是专家,但我看不出更大的块大小有多大帮助。首先,一个块中值的动态范围平均会增加,需要更多的位来表示它们。其次,从“所有”(由块表示)到“像素”的频率范围的相对量化必须保持不变(这毕竟是由人类感知偏差决定的),量化会变得更平滑一点,仅此而已,并且对于相同的压缩级别,潜在的质量提升可能不明显。

于 2013-08-17T12:27:43.510 回答