Technology -scans file in Libjpeg

162 views Asked by At

Please explain, how does the technology -scans file in libjpeg

1

There are 1 answers

0
user3344003 On

In progressive JPEG encoding there is a practically infinite number of possibilities on how the image can be encoded. The amount of complexity is so great that it does not lend itself to parameter passing or command line arguments. LibJpeg allows you to specify a file to indicate how this is done.

In sequential JPEG, each component is encoded in a single scan. A scan can contain multiple components, in which case it is "interleaved".

In progressive JPEG, each component is encoded in 2 or more scans. As in sequential JPEG, a scan may or may not be interleaved.

The DCT produces 64 coefficients. The first is referred to as the "DC" coefficient. The others are the "AC" coefficients.

A progressive scan can divide the DCT data up in two wages. 1. By coefficient range (aka spectral selection). This can be either the DC coefficient or a range of contiguous AC coefficients. (You must send some DC data before sending any AC). 2. Sending the bits of the coefficients in different scans (calls successive approximation)

Your choices in a scan are then: 1. Which components 2. Spectral selection (0 or a range within 1 .. 63) 3. Successive approximation (a range within 0 .. 13)

There are semantic rules as well. You must have a DC scan for each component before an AC scan. You cannot send any data twice.

If you have a grayscale image (one component), you could send the image in as many as 64*14 =896 separate scans or as few as two.

There are so many choices that Libjpeg uses a file to specify them.