技术 - 在Libjpeg中扫描文件

时间:2015-06-11 20:35:29

标签: jpeg libjpeg libjpeg-turbo

请解释一下,技术-scans如何在libjpeg

中归档

1 个答案:

答案 0 :(得分:1)

在渐进式JPEG编码中,对图像的编码方式几乎有无限多种可能性。复杂程度如此之高,以至于它不适合参数传递或命令行参数。 LibJpeg允许您指定一个文件来指示如何完成。

在连续JPEG中,每个组件都在单次扫描中进行编码。扫描可以包含多个组件,在这种情况下,它是“交错的”。

在渐进式JPEG中,每个组件都以2次或更多次扫描进行编码。与顺序JPEG一样,扫描可能会也可能不会交错。

DCT产生64个系数。第一个被称为“DC”系数。其他是“AC”系数。

逐行扫描可以将DCT数据分成两份工资。 1.按系数范围(又称光谱选择)。这可以是DC系数或一系列连续的AC系数。 (您必须在发送任何AC之前发送一些DC数据)。 2.在不同的扫描中发送系数的比特(称为逐次逼近)

您在扫描中的选择是: 1.哪些组件 2.光谱选择(0或范围在1 .. 63之间) 3.逐次逼近(范围在0 ... 13之内)

也有语义规则。在AC扫描之前,您必须对每个组件进行DC扫描。您不能两次发送任何数据。

如果你有一个灰度图像(一个组件),你可以发送多达64 * 14 = 896次单独扫描或少至两次的图像。

Libjpeg有很多选择使用文件来指定它们。