Farouk Kamoun: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Waacstats
Persondata
No edit summary
 
Line 1: Line 1:
{{refimprove|date=October 2010}}
I would like to introduce myself to you, I am Andrew and my wife doesn't like it at all. Her family life in Ohio. Doing ballet is some thing she would by no means give up. Credit authorising is exactly where my primary income arrives from.<br><br>Look at my blog post ... best psychic [[http://conniecolin.com/xe/community/24580 click through the next web page]]
{{Infobox file format
| name = PGF
| extension = <tt>.pgf</tt>
| mime =
| owner =  xeraina GmbH
| creatorcode =
| type = [[wavelet]]-based [[Raster graphics|bitmapped]] [[Graphics file format|image format]]
| container for =
| contained by =
| extended from =
| extended to =
}}
 
'''PGF''' ('''Progressive Graphics File''') is a [[wavelet]]-based [[Raster graphics|bitmapped]] [[Graphics file format|image format]] that employs [[lossless data compression|lossless]] and [[lossy data compression]]. PGF was created to improve upon and replace the [[JPEG]] format. It was developed at the same time as [[JPEG 2000]] but with a focus on speed over [[data compression ratio|compression ratio]].{{citation needed|date=October 2011}}
 
PGF can operate at higher compression ratios without taking more encoding/decoding time and without generating the characteristic "blocky and blurry" [[compression artifact|artifacts]] of the original [[Discrete cosine transform|DCT]]-based JPEG standard.<ref>{{cite web|url=http://www.libpgf.org/uploads/media/PGF_stamm_wscg02.pdf|title=PGF &ndash; A new progressive file format for lossy and lossless image compression|author=Christoph Stamm|accessdate=6 May 2010}}{{dead link|date=September 2012}}</ref> It also allows more sophisticated [[progressive download]]s.{{citation needed|date=October 2011}}
 
== Color models ==
PGF supports a wide variety of color models:{{citation needed|date=October 2011}}
* [[Grayscale]] with 1, 8, 16, or 31 bits per pixel
* [[Indexed color]] with palette size of 256
* [[RGB color model|RGB]] color image with 12, 16 (red: 5 bits, green: 6 bits, blue: 5 bits), 24, or 48 bits per pixel
* [[RGBA color space|ARGB]] color image with 32 bits per pixel
* [[Lab color space|L*a*b]] color image with 24 or 48 bits per pixel
* [[CMYK color model|CMYK]] color image with 32 or 64 bits per pixel
 
== Advantages ==
 
There are several claimed{{who|date=October 2011}} advantages of PGF over the ordinary JPEG standard:{{citation needed|date=October 2011}}
* '''Superior compression performance''': The image quality (measured in [[Peak signal-to-noise ratio|PSNR]]) for the same compression ratio is on average 3% better than the PSNR of JPEG. At lower bit rates (e.g. less than 0.25 bits/pixel for gray-scale images), PGF has a much more significant advantage over certain modes of JPEG: artifacts are less visible and there is almost no blocking. The compression gains over JPEG are attributed to the use of [[Discrete wavelet transform|DWT]].
* '''Multiple resolution representation''': PGF provides seamless compression of multiple image components, with each component carrying from 1 to 31 bits per component sample. With this feature there is no need for separately stored preview images ([[thumbnail]]s).
* '''Progressive transmission''' by resolution accuracy, commonly referred to as progressive decoding: PGF provides efficient codestream organizations which are progressive by resolution. This way, after a smaller part of the whole file has been received, it is possible to see a lower quality of the final picture, the quality can be improved monotonically getting more data from the source.
* '''Lossless and lossy compression''': PGF provides both lossless and lossy compression in a single compression architecture. Both lossy and lossless compression are provided by the use of a reversible (integer) wavelet transform.
* '''Side channel spatial information''': Transparency and alpha planes are fully supported
* '''ROI extraction''': Since version 5, PGF supports extraction of regions of interest ([[Region of interest|ROI]]) without decoding the whole image.
 
== Technical discussion ==
{{tone|section|date=October 2011}}
The aim of PGF is not only improved compression quality over JPEG but also adding (or improving) features such as scalability.
In fact, PGF's improvement in compression performance relative to the original JPEG standard is actually rather modest and should not ordinarily be the primary consideration for evaluating the design. Moreover, very low and very high compression rates (including lossless compression) are also supported in PGF. In fact, the ability of the design to handle a very large range of effective bit rates is one of the strengths of PGF. For example, to reduce the number of bits for a picture below a certain amount, the advisable thing to do with the first JPEG standard is to reduce the resolution of the input image before encoding it — something that is ordinarily not necessary for that purpose when using PGF because of its wavelet scalability properties.
 
The PGF process chain contains the following four steps:
* [[Color space]] transform (in case of color images)
* [[Discrete wavelet transform|Discrete Wavelet Transform]]
* [[Quantization (image processing)|Quantization]] (in case of lossy data compression)
* Hierarchical [[bit-plane]] [[run-length encoding]]
 
===Color components transformation===
 
Initially, images have to be transformed from the RGB [[color space]] to another color space, leading to three ''components'' that are handled separately. PGF uses a fully reversible modified [[YUV]] color transform. The transformation matrices are:
:<math>
\begin{bmatrix}
Y_r \\ U_r \\ V_r
\end{bmatrix}
= \begin{bmatrix}
\frac{1}{4} & \frac{1}{2} & \frac{1}{4} \\
1 & -1 & 0 \\
0 & -1 & 1
\end{bmatrix}
\begin{bmatrix}
R \\ G \\ B
\end{bmatrix}; \qquad \qquad
\begin{bmatrix}
R \\ G \\ B
\end{bmatrix}
= \begin{bmatrix}
1 & \frac{3}{4} & -\frac{1}{4} \\
1 & -\frac{1}{4} & -\frac{1}{4} \\
1 & -\frac{1}{4} & \frac{3}{4}
\end{bmatrix}
\begin{bmatrix}
Y_r \\ U_r \\ V_r
\end{bmatrix}
</math>
 
The [[chrominance]] components can be, but do not necessarily have to be, down-scaled in resolution.
 
===Wavelet transform===
 
The color components are then [[wavelet transform]]ed 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 [[Cohen-Daubechies-Feauveau wavelet|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.
 
===Quantization===
 
After the wavelet transform, the coefficients are scalar-[[Quantization (image processing)|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<sup>''i''</sup>. Just using powers of two makes no need of integer multiplication and division operations.
 
===Coding===
 
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|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 encoding|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<sup>''k''</sup>.
 
==Comparison with other file formats==
{{unreferenced section|date=October 2011}}
* '''[[JPEG 2000]]''' is slightly more space-efficient in handling natural images. The [[PSNR]] for the same compression ratio is on average 3% better than the PSNR of PGF. It has a small advantage in compression ratio but longer encoding and decoding times.
* '''[[Portable Network Graphics|PNG]]''' (Portable Network Graphics) is more space-efficient in handling images with many pixels of the same color.
 
==Patents==
The whole PGF technology has been built without any patented algorithm and technique and has been published by Dr. C. Stamm, one of the founders of xeraina, and therefore, is protected by copyright.{{citation needed|date=October 2011}}
 
==See also==
* [[PGF/TikZ]] - Graphic systems for TeX
*[[Comparison of graphics file formats]]
*Related [[graphics file formats]]
**[[ECW (file format)|ECW]]
**[[JPEG 2000]]
**[[JPEG XR]]
**[[JPEG]]
*[[Image file formats]]
*[[Image compression]]
 
==References==
{{reflist}}
 
==External links==
*[http://www.libpgf.org PGF Home Site]
{{Graphics file formats}}
{{Compression formats}}
{{Use dmy dates|date=October 2010}}
 
[[Category:Graphics file formats]]
[[Category:Open formats]]
[[Category:Image compression]]
[[Category:Image processing]]
[[Category:Wavelets]]

Latest revision as of 14:25, 7 April 2014

I would like to introduce myself to you, I am Andrew and my wife doesn't like it at all. Her family life in Ohio. Doing ballet is some thing she would by no means give up. Credit authorising is exactly where my primary income arrives from.

Look at my blog post ... best psychic [click through the next web page]