在Evolution of JPEG上研究这份文件时,我在上述文件的第7.3节中遇到了“八法则”。
尽管使用SmartScale扩展引入了1到16的其他块大小,超出原始JPEG标准中的固定大小8,但事实仍然是8的块大小仍然是默认值,而所有其他-size DCT参考标准8x8 DCT进行缩放。
“八大法则”解释了为什么大小8是DCT大小的正确默认值和参考值。
我的问题是
从历史上看,是否进行了一项研究,评估了样本中的大量图像,得出 8x8 图像块包含足够的冗余数据以支持使用DCT的压缩技术的结论?由于8M(4Kx4K)等超大图像在大多数数字图像/视频中迅速成为常态,这种假设是否仍然有效?
将宏块限制为8x8的另一个历史原因是,对于较大的宏块,计算上禁止的图像数据大小。使用现代超标量体系结构(例如CUDA),限制不再适用。
早期存在类似的问题 - 1,2和3。但他们都没有打扰任何关于这个神秘的基本“八强的法律”的细节/链接/参考。
<子> 1.原始研究的参考/摘录/细节将受到高度赞赏,因为我想用具有非常大尺寸图像的现代数据集重复它以测试8x8宏块的最佳有效性。 子>
<子> 2.如果最近进行了类似的研究,也欢迎提及它。 子>
<子> 3.我做了解SmartScale是controversial。没有任何明显的潜在好处 1 ,充其量它与jpeg标准 2 的其他向后兼容扩展相当。我的目标是了解选择8x8作为DCT块大小(在jpeg图像压缩标准中)的原始原因是否仍然相关,因此我需要知道八个的定律是什么。 子>
答案 0 :(得分:2)
我的理解是,八法则只是一个幽默的参考,基线JPEG算法规定8x8是唯一的块大小。
P.S。换句话说,“八法则”是一种通过引入历史视角来解释为什么“所有其他尺寸的DCT按照8x8 DCT进行缩放”的方式 - 缺乏对任何其他尺寸的支持在原始标准及其实际实施中。
接下来要问的问题是:为什么八? (请注意,尽管这是一个有效的问题,但这不是本讨论的主题,即使历史上选择了另一个值,例如“十大法则”或“三十二法则”,这仍然是相关的。)这个问题的答案是:因为问题的计算复杂性增长为O(N^2)
(除非采用FCT类算法,其增长速度慢O(N log N)
但在嵌入式平台的原始硬件上更难实现,因此有限的适用性),因此较大的块尺寸很快变得不切实际。这就是选择8x8的原因,它足够小,可以在各种平台上实用,但又足够大,可以对不同频率的量化级别进行非常粗略的控制。
由于该标准已明显划伤,整个生态圈很快就会发展,包括针对8x8优化的实施,作为其唯一支持的块大小。一旦生态圈到位,就不可能在不破坏现有实施的情况下改变块大小。由于这是非常不受欢迎的,因此对DCT /量化参数的任何调整都必须与仅8x8解码器保持兼容。我认为这种考虑必须是所谓的“八大法则”。
虽然不是专家,但我看不到更大的块大小有多大帮助。首先,一个块中的动态值范围将平均增加,需要更多位来表示它们。其次,从“全部”(由块表示)到“像素”的频率的相对量化必须保持不变(毕竟由人类感知偏差决定),量化将变得更平滑,这就是全部,并且对于相同的压缩级别,潜在的质量提升可能不明显。