sparse image representation via combined transforms - Convex ...
sparse image representation via combined transforms - Convex ... sparse image representation via combined transforms - Convex ...
42 CHAPTER 3. IMAGE TRANSFORMS AND IMAGE FEATURES Fralick developed a fast algorithm that would take N log 2 N − 3N/2 + 4 multiplications and 3N/2(log 2 N − 1) + 2 additions; when N = 8, their algorithm would take 16 multiplications and 26 additions. This is a significant reduction in complexity. In 1984, Wang [139] gave an algorithm that would take N(3/4log 2 N − 1) + 3 multiplications and N(7/4log 2 N − 2) + 3 additions; when N = 8, this is 13 multiplications and 29 additions. Also in 1984, Lee [92] introduced an algorithm that would take N/2log 2 N multiplications and 3N/2log 2 N −N +1 additions; when N = 8, this is 12 multiplications (one less than 13) and 29 additions. Algorithm # of Multiplications # of Additions Definition N 2 N(N − 1) {64} {56} Chen, Smith and N log 2 N − 3N/2+4 3N/2(log 2 N − 1) + 2 Fralick, 1977 [28] {16} {26} Wang, 1984 [139] N(3/4log 2 N − 1) + 3 N(7/4log 2 N − 2) + 3 {13} {29} Lee, 1984, [92] N/2log 2 N 3N/2log 2 N − N +1 {12} {29} Duhamel, 1987 [62] 2N − log 2 N − 2 Not Applicable (theoretical bound) {11} Table 3.3: Number of multiplications and additions for various fast one-D DCT/IDCT algorithms. The number in {·}is the value when N is equal to 8. The overall complexity of the DCT arises from two parts: multiplicative complexity and additive complexity. The multiplicative complexity is the minimum number of nonrational multiplications necessary to perform DCTs. The additive complexity, correspondingly, is the minimum number of additions necessary to perform DCTs. Since it is more complex to implement multiplications than additions, it is more important to consider multiplicative complexity. In 1987, Duhamel [62] gave a theoretical bound on the 1-D N-point DCT: it takes at least 2N − log 2 N − 2 multiplications. In 1992, Feig and Winograd [67] extended this result to an arbitrary dimensional DCT with input sizes that are powers of two. Their conclusion is that for L-dimensional DCTs whose sizes at coordinates are 2 m 1 , 2 m 2 ,... ,2 m L,withm 1 ≤ m 2 ≤ ...m L , the multiplicative complexity is lower bounded by 2 m 1+m 2 +...+m L−1 (2 mL+1 − m L − 2). When L = 1, this result is the same as Duhamel’s result [62]. In image coding, particularly in JPEG, 2-D DCTs are being used. In 1990, Duhamel
3.1. DCT AND HOMOGENEOUS COMPONENTS 43 and Guillemot [61] derived a fast algorithm for the 2-D DCT that would take 96 multiplications and more than 454 additions for an 8 × 8 block. In 1992, Feig and Winograd [66] proposed another algorithm that would take 94(< 96) multiplications and 454 additions for an 8 × 8 block. They also mentioned that there is an algorithm that would take 86 (< 94) multiplications, but it would take too many additions to be practical. In practical image coding/compression, a DCT operator is usually followed by a quantizer. Sometimes it is not necessary to get the exact values of the coefficients; we only need to get the scaled coefficients. This leads to a further saving in the multiplicative complexity. In [66], Feig and Winograd documented a scaled version of DCT that would take only 54 multiplications and 462 additions. Moreover, in their fast scaled version of the 2-D DCT, there is no computation path that uses more than one multiplication. This makes parallel computing feasible. 3.1.3 Discrete Sine Transform As for the DCT, the output of the 1-D discrete sine transform (DST) is the inner product of the 1-D signal and the equally sampled sine function. The sampling frequencies are also equally spaced in the frequency domain. Again, there are four types of DST. More specifically, if we let X = {X[l] :l =0, 1, 2,... ,N − 1} be the signal sequence, and denote the DST of X by Y = {Y [k] :k =0, 1, 2,... ,N − 1}, we have Y [k] = N−1 ∑ l=0 S N (k, l)X[l], k =0, 1, 2,... ,N − 1, where S N (k, l),k,l =0, 1, 2,... ,N − 1, are values of sine functions. For the four types of DST, let b k := { √2 1 if k =0or N, 1 if k =1,... ,N − 1; (3.12)
- Page 21 and 22: List of Figures 2.1 Shannon’s sch
- Page 23 and 24: A.3 Edgelet transform of the wood g
- Page 25 and 26: Nomenclature Special sets N .......
- Page 27 and 28: List of Abbreviations BCR .........
- Page 29 and 30: Chapter 1 Introduction 1.1 Overview
- Page 31 and 32: Chapter 2 Sparsity in Image Coding
- Page 33 and 34: 2.1. IMAGE CODING 5 INFORMATION SOU
- Page 35 and 36: 2.1. IMAGE CODING 7 2.1.2 Source an
- Page 37 and 38: 2.1. IMAGE CODING 9 x ✲ T y ERROR
- Page 39 and 40: 2.1. IMAGE CODING 11 where Q stands
- Page 41 and 42: 2.2. SPARSITY AND COMPRESSION 13 Pr
- Page 43 and 44: 2.2. SPARSITY AND COMPRESSION 15 av
- Page 45 and 46: 2.2. SPARSITY AND COMPRESSION 17 wi
- Page 47 and 48: 2.2. SPARSITY AND COMPRESSION 19 lo
- Page 49 and 50: 2.3. DISCUSSION 21 tail compact. Th
- Page 51 and 52: 2.4. PROOF 23 The index l does not
- Page 53 and 54: Chapter 3 Image Transforms and Imag
- Page 55 and 56: 27 Some of the figures show the bas
- Page 57 and 58: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 59 and 60: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 61 and 62: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 63 and 64: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 65 and 66: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 67 and 68: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 69: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 73 and 74: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 75 and 76: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 77 and 78: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 79 and 80: 3.1. DCT AND HOMOGENEOUS COMPONENTS
- Page 81 and 82: 3.2. WAVELETS AND POINT SINGULARITI
- Page 83 and 84: 3.2. WAVELETS AND POINT SINGULARITI
- Page 85 and 86: 3.2. WAVELETS AND POINT SINGULARITI
- Page 87 and 88: 3.2. WAVELETS AND POINT SINGULARITI
- Page 89 and 90: 3.2. WAVELETS AND POINT SINGULARITI
- Page 91 and 92: 3.2. WAVELETS AND POINT SINGULARITI
- Page 93 and 94: 3.3. EDGELETS AND LINEAR SINGULARIT
- Page 95 and 96: 3.4. OTHER TRANSFORMS 67 uncertaint
- Page 97 and 98: 3.4. OTHER TRANSFORMS 69 Chirplets
- Page 99 and 100: 3.4. OTHER TRANSFORMS 71 Folding. A
- Page 101 and 102: 3.4. OTHER TRANSFORMS 73 We can app
- Page 103 and 104: 3.5. DISCUSSION 75 give only a few
- Page 105 and 106: 3.7. PROOFS 77 the ijth component o
- Page 107 and 108: 3.7. PROOFS 79 Similarly, we have [
- Page 109 and 110: Chapter 4 Combined Image Representa
- Page 111 and 112: 4.2. SPARSE DECOMPOSITION 83 interi
- Page 113 and 114: 4.3. MINIMUM l 1 NORM SOLUTION 85 l
- Page 115 and 116: 4.4. LAGRANGE MULTIPLIERS 87 ρ( x
- Page 117 and 118: 4.5. HOW TO CHOOSE ρ AND λ 89 3 (
- Page 119 and 120: 4.6. HOMOTOPY 91 A way to interpret
3.1. DCT AND HOMOGENEOUS COMPONENTS 43<br />
and Guillemot [61] derived a fast algorithm for the 2-D DCT that would take 96 multiplications<br />
and more than 454 additions for an 8 × 8 block. In 1992, Feig and Winograd [66]<br />
proposed another algorithm that would take 94(< 96) multiplications and 454 additions for<br />
an 8 × 8 block. They also mentioned that there is an algorithm that would take 86 (< 94)<br />
multiplications, but it would take too many additions to be practical.<br />
In practical <strong>image</strong> coding/compression, a DCT operator is usually followed by a quantizer.<br />
Sometimes it is not necessary to get the exact values of the coefficients; we only need<br />
to get the scaled coefficients. This leads to a further saving in the multiplicative complexity.<br />
In [66], Feig and Winograd documented a scaled version of DCT that would take only 54<br />
multiplications and 462 additions. Moreover, in their fast scaled version of the 2-D DCT,<br />
there is no computation path that uses more than one multiplication. This makes parallel<br />
computing feasible.<br />
3.1.3 Discrete Sine Transform<br />
As for the DCT, the output of the 1-D discrete sine transform (DST) is the inner product<br />
of the 1-D signal and the equally sampled sine function. The sampling frequencies are<br />
also equally spaced in the frequency domain. Again, there are four types of DST. More<br />
specifically, if we let<br />
X = {X[l] :l =0, 1, 2,... ,N − 1}<br />
be the signal sequence, and denote the DST of X by<br />
Y = {Y [k] :k =0, 1, 2,... ,N − 1},<br />
we have<br />
Y [k] =<br />
N−1<br />
∑<br />
l=0<br />
S N (k, l)X[l], k =0, 1, 2,... ,N − 1,<br />
where S N (k, l),k,l =0, 1, 2,... ,N − 1, are values of sine functions. For the four types of<br />
DST, let<br />
b k :=<br />
{<br />
√2 1<br />
if k =0or N,<br />
1 if k =1,... ,N − 1;<br />
(3.12)