| FazBrowse Wikipedia Viewer | Main Page | | |
| Viewing: https://en.wikipedia.org/wiki/Progressive_Graphics_File |
| Contents |
|---|
| Wavelet transform |
| Quantization |
| Coding |
| Comparison with other file formats |
| Available software |
PGF can operate at higher compression ratios without taking more encoding/decoding time and without generating the characteristic "blocky and blurry" artifacts of the original DCT-based JPEG standard. It also allows more sophisticated progressive downloads.[YrUrVr]=[1412141−100−11][RGB];[RGB]=[134−141−14−141−1434][YrUrVr]
The chrominance components can be, but do not necessarily have to be, down-scaled in resolution.
The color components are then wavelet transformed to an arbitrary depth. In contrast to JPEG 1992 which uses an 8x8 block-size discrete cosine transform, PGF uses one reversible wavelet transform: a rounded version of the biorthogonal CDF 5/3 wavelet transform. This wavelet filter bank is exactly the same as the reversible wavelet used in JPEG 2000. It uses only integer coefficients, so the output does not require rounding (quantization) and so it does not introduce any quantization noise.
After the wavelet transform, the coefficients are scalar-quantized to reduce the amount of bits to represent them, at the expense of a loss of quality. The output is a set of integer numbers which have to be encoded bit-by-bit. The parameter that can be changed to set the final quality is the quantization step: the greater the step, the greater is the compression and the loss of quality. With a quantization step that equals 1, no quantization is performed (it is used in lossless compression). In contrast to JPEG 2000, PGF uses only powers of two, therefore the parameter value i represents a quantization step of 2. Just using powers of two makes no need of integer multiplication and division operations.
The result of the previous process is a collection of sub-bands which represent several approximation scales. A sub-band is a set of coefficients — integer numbers which represent aspects of the image associated with a certain frequency range as well as a spatial area of the image.
The quantized sub-bands are split further into blocks, rectangular regions in the wavelet domain. They are typically selected in a way that the coefficients within them across the sub-bands form approximately spatial blocks in the (reconstructed) image domain and collected in a fixed size macroblock.
The encoder has to encode the bits of all quantized coefficients of a macroblock, starting with the most significant bits and progressing to less significant bits. In this encoding process, each bit-plane of the macroblock gets encoded in two so-called coding passes, first encoding bits of significant coefficients, then refinement bits of significant coefficients. Clearly, in lossless mode all bit-planes have to be encoded, and no bit-planes can be dropped.
Only significant coefficients are compressed with an adaptive run-length/Rice (RLR) coder, because they contain long runs of zeros. The RLR coder with parameter k (logarithmic length of a run of zeros) is also known as the elementary Golomb code of order 2.
There are several self-proclaimed advantages of PGF over the ordinary JPEG standard:
The author published libPGF via a SourceForge, under the GNU Lesser General Public License version 2.0. Xeraina offers a free Windows console encoder and decoder, and PGF viewers based on WIC for 32bit and 64bit Windows platforms. Other WIC applications including File Explorer are able to display PGF images after installing this viewer.
Digikam is a popular open-source image editing and cataloging software that uses libPGF for its thumbnails. It makes use of the progressive decoding feature of PGF images to store a single version of each thumbnail, which can then be decoded to different resolutions without loss, thus allowing users to dynamically change the size of the thumbnails without having to recalculate them again.Stamm, Christoph (2002). "PGF – A new progressive file format for lossy and lossless image compression" (PDF). Archived (PDF) from the original on 7 March 2007. Retrieved 12 April 2023.
| ISO, IEC, MPEG | |
|---|---|
| ITU-T, VCEG | |
| SMPTE | |
| TrueMotion and AOMedia | |
| Chinese Standard |
|
| Others |
| ISO, IEC, MPEG | |
|---|---|
| ITU-T | |
| IETF | |
| 3GPP | |
| ETSI | |
| Bluetooth SIG | |
| Chinese Standard |
|
| Others |
| IEC, ISO, IETF, W3C, ITU-T, JPEG | |
|---|---|
| Others |
| ISO, IEC | |
|---|---|
| ITU-T | |
| IETF | |
| SMPTE | |
| Others |
| View original on Wikipedia | Back | FazBrowse Home |