libjpeg 中的渐进式 JPEG

Posted

技术标签:

【中文标题】libjpeg 中的渐进式 JPEG【英文标题】:Progressive JPEG in libjpeg 【发布时间】:2016-12-29 16:27:57 【问题描述】:

我想知道如何使用 libjpeg 进行渐进式压缩。特别是,如何仅使用光谱选择或逐次逼近,或两者兼而有之(完全进展)。 据我所知,有参数SsSe(光谱选择带的开始/结束)和AhAl(逐次逼近的高/低位位置)-这些参数的设置值决定使用哪种方法?

【问题讨论】:

【参考方案1】:

因为我不使用 LIBJPEG,所以我一般可以使用 JPEG。

使用的方法由使用的 FRAME 类型决定。 SS、SE、AH 和 AL 参数用于 SCAN。一帧由多次扫描组成。

SCAN 的 SS 和 SE 参数表示被编码的 DCT 系数的范围。 AH 和 AL 参数的范围为 0-13。因此,理论上您可以对单个组件进行 14 * 64 = 896 次扫描。

查看 LIBJPEG 手册,看起来这是通过在“j_compress_ptr”结构中设置扫描序列来完成的。他们还提到了一个用于设置它的函数“jpeg_simple_progression()”。

【讨论】:

以上是关于libjpeg 中的渐进式 JPEG的主要内容,如果未能解决你的问题,请参考以下文章

PHP Imagick 类 - 将 JPEG 转换为渐进式 JPEG?隔行不工作

渐进式jpeg(progressive jpeg)图片及其相关

GD 可以在渐进式 JPEG 中选择隔行扫描的深度吗?

将上传的 JPEG 转换为渐进式并在 PHP 中上传到服务器

渐进式加载-基础讲解

渐进式加载-基础讲解