Embedded zerotrees of wavelet transforms: Difference between revisions

Content deleted Content added
typo
C. Scanning order for coefficients: syntax and link to existing wikipedia page
 
(24 intermediate revisions by 10 users not shown)
Line 1:
{{Short description|Lossy image compression algorithm}}
'''Embedded Zerotrees''' of '''Wavelet transforms''' ('''EZW''') is a lossy [[image compression]] [[algorithm]]. At low bit rates, i.e. high compression ratios, most of the coefficients produced by a [[Sub-band coding|subband transform]] (such as the [[wavelet transform]])
'''Embedded zerotrees of wavelet transforms''' ('''EZW''') is a lossy [[image compression]] [[algorithm]]. At low bit rates, i.e. high compression ratios, most of the coefficients produced by a [[Sub-band coding|subband transform]] (such as the [[wavelet transform]]) will be zero, or very close to zero. This occurs because "real world" images tend to contain mostly low frequency information (highly correlated). However where high frequency information does occur (such as edges in the image) this is particularly important in terms of human perception of the image quality, and thus must be represented accurately in any high quality coding scheme.
 
By considering the transformed coefficients as a [[Tree (graph theory)|tree]] (or trees) with the lowest frequency coefficients at the root node and with the children of each tree node being the spatially related coefficients in the next higher frequency subband, there is a high probability that one or more subtrees will consist entirely of coefficients which are zero or nearly zero, such subtrees are called '''zerotrees'''. Due to this, we use the terms node and coefficient interchangeably, and when we refer to the children of a coefficient, we mean the child coefficients of the node in the tree where that coefficient is located. We use '''children''' to refer to directly connected nodes lower in the tree and '''descendants''' to refer to all nodes which are below a particular node in the tree, even if not directly connected.
Line 28:
(5) Adaptive multilevel arithmetic coding which is a fast and efficient method for entropy coding strings of symbols.
 
== Embedded Zerotreezerotree Waveletwavelet Codingcoding ==
 
=== A. Encoding a coefficient of the significance map ===
In a significance map, the coefficients can be representingrepresented by the following four different symbols. With using these symbols to represent the image information, the coding will be less complicationcomplicated.
 
==== 1. Zerotree root ====
Line 37:
 
==== 2. Isolated zero ====
If the magnitude of a coefficient that is lesslower than a threshold T, but it still has some significant descendants, then this coefficient is called isolated zero.
 
==== 3. Positive significant coefficient ====
Line 46:
 
=== B. Defining threshold ===
The threshold usingused above can be defined as the type belowfollows.
 
==== 1. Initial threshold T<sub>0</sub>:, (Assumeassuming C<sub>max</sub> is the largest coefficient.): ====
<span>[[File:Threshold-0119.png|126x126px]]</span>
 
==== 2. Threshold T<sub>i</sub> is iteratively reduced to half of the value of the previous threshold.: ====
[[File:Threshold-01192.png|frameless|133x133px]]
 
==== 1. Initial threshold T<sub>0</sub>: (Assume C<sub>max</sub> is the largest coefficient.) ====
<span>[[File:Threshold-0119.png|126x126px]]</span>
==== 2. Threshold T<sub>i</sub> is reduced to half of the value of the previous threshold. ====
[[File:Threshold-01192.png|frameless|133x133px]]
=== C. Scanning order for coefficients ===
'''[[Raster scanningscan]]''' is theused rectangularin patterna of image capture and reconstruction. Using this scanning on EZW transform is to perform scanning the coefficients inway such way that no childchildren nodenodes isare scanned before itstheir parent nodenodes. Also, all positionscoefficients in a given subband are scanned before itthose movesof to the next subband.
 
=== D. Two-pass bitplane coding ===
 
==== (1) Refinement pass (or subordinate pass) ====
This determine that if the coefficient is in the internalinterval [Ti, 2Ti). And Aa refinement bit is coded for each significant coefficient.
 
In this method, it will visit the significant coefficients according to the magnitude and raster order within subbands.
Line 64 ⟶ 66:
==== (2) Significant pass (or dominant pass) ====
This method will code a bit for each coefficient that is not yet be seen as significant. Once a determination of significance has been made, the significant coefficient is included in a list for further refinement in the refinement pass. And if any coefficient already known to be zero, it will not be coded again.
 
== Example ==
<pre>
DCT data ZeroTree scan order (EZW)
63 -34 49 10 7 13 -12 7 A B BE BF E1 E2 F1 F2
-31 23 14 -13 3 4 6 -1 C D BG BH E3 E4 F3 F4
15 14 3 -12 5 -7 3 9 CI CJ DM DN G1 G2 H1 H2
-9 -7 -14 8 4 -2 3 2 CK CL DO DP G3 G4 H3 H4
-5 9 -1 47 4 6 -2 2 I1 I2 J1 J2 M1 M2 N1 N2
3 0 -3 2 3 -2 0 4 I3 I4 J3 J4 M3 M4 N3 N4
2 -3 6 -4 3 6 3 6 K1 K2 L1 L2 O1 O2 P1 P2
5 11 5 6 0 3 -4 4 K3 K4 L3 L4 O3 O4 P3 P4
 
D1: pnzt p ttt tztt tttttptt (20 codes)
PNZT P(t) TTT TZTT TPTT (D1 by M-EZW, 16 codes)
PNZT P(t) Z(t) TZ(p) TPZ(p) (D1 by NM-EZW, 11 codes)
P N (t), P or N above zerotree scan
P N Z(t p), p=pair T, t=triple T, P/N + TT/TTT in D1 code
S1: 1010
D2: ztnp tttttttt
S2: 1001 10 (Shapiro PDF end here)
D3: zzzz zppnppnttnnp tpttnttttttttptttptttttttttptttttttttttt
S3: 1001 11 01111011011000
D4: zzzzzzztztznzzzzpttptpptpnptntttttptpnpppptttttptptttpnp
S4: 1101 11 11011001000001 110110100010010101100
D5: zzzzztzzzzztpzzzttpttttnptppttptttnppnttttpnnpttpttppttt
S5: 1011 11 00110100010111 110101101100100000000 110110110011000111
D6: zzzttztttztttttnnttt
( http://www.polyvalens.com/wavelets/ezw/ )
 
Detailed: (new S is first, other computed by before cycles)
s-step 1 21 321
val D1 S1 R1 D2 S2 R2 D3 S3. ... R3 ... D4,S4...
A 63 P 1 &gt;=48 56 Z .1 &gt;=56 60 Z ..1 &gt;=60 62
B -34 N 0 &lt;48 -40 T .0 &lt;40 -36 Z ..0 &lt;36 -36
C -31 IZ &lt;32 0 N 1. &gt;=24 -28 Z .1. &gt;=28 -30
D 23 T &lt;32 0 P 0. &lt;24 20 Z .1. &gt;=20 22
 
BE 49 P 1 &gt;=48 56 .0 &lt;56 52 Z ..0 &lt;52 50
BF 10 T &lt;32 0 P 0 &lt;12 10
BG 14 T &lt;32 0 P 1 &gt;=12 14
BH -13 T &lt;32 0 N 1 &gt;=12 -14
CI 15 T &lt;32 0 T &lt;16 0 P 1 &gt;=12 14
CJ 14 IZ &lt;32 0 T &lt;16 0 P 1 &gt;=12 14
CK -9 T &lt;32 0 T &lt;16 0 N 0 &lt;12 -10
CL -7 T &lt;32 0 T &lt;16 0 T &lt;8 0
DM 3 T &lt;16 0 T &lt;8 0
DN -12 T &lt;16 0 N 1 &gt;=12 -14
DO -14 T &lt;16 0 N 1 &gt;=12 -14
DP 8 T &lt;16 0 P &lt;12 10
 
E1 7 T &lt;32 0 .E,F,G,H(1,2,3,4)
E2 13 T &lt;32 0 .I,J,K(1,2,3,4)
E3 3 T &lt;32 0 .N,O,P(1,2,3,4)
E4 4 T &lt;32 0 .
J1 -1 T &lt;32 0 .
J2 47 P 0 &gt;48 40 1 &gt;=40 44 .
J3 -3 T &lt;32 0
J4 2 T &lt;32 0
 
D = dominant pass (P=positive, N=negative, T=ZeroTree, IZ=Izolated zero)
S = subordinate pass;
(R = back reconstructed value)
</pre>
 
==See also==
Line 69 ⟶ 135:
 
==References==
*{{cite Q|Q56883112}}
*Shapiro, J. M., {{doi-inline|10.1109/78.258085|EMBEDDED IMAGE CODING USING ZEROTREES OF WAVELET COEFFICIENTS}}. [[IEEE]] Transactions on Signal Processing, Vol. 41, No. 12 (1993), p.&nbsp;3445-3462.
 
==External links==
Line 75 ⟶ 141:
<!-- *https://web.archive.org/web/20071013231046/http://perso.orange.fr/polyvalens/clemens/clemens.html -->
 
*{{cite web |url=http://www.polyvalens.pagesperso-orange.frcom/clemensblog/wavelets/ezw/ezw.html |title=EZW encoding |author=Clemens Valens |date=2003-08-24 |access-date= |archive-url=https://web.archive.org/web/20090203181451/http://pagesperso-orange.fr:80/polyvalens/clemens/ezw/ezw.html |archive-date=2009-02-03 |url-02status=live }}
 
{{Compression methods}}
 
[[Category:Image compression]]
[[Category:Lossless compression algorithms]]
[[Category:Trees (data structures)]]
[[Category:WaveletsLossy compression algorithms]]
[[Category:LosslessData compression algorithms]]