1

请解释一下,libjpeg中的技术-scans文件如何

4

1 回答 1

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 使用文件来指定它们。

于 2015-06-13T04:50:48.480 回答