The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B7. Beijing 2008
DWT
P (P=9 in
signal at
or a high-
/2
/2
(8)
d,j-i( n ’ k )
input signal
the filtering
(9)
. We
ring if b is
boundary
extension,
padding,
e shows the
and the
6
The output values are computed by performing the inner
products of the accessed pixel and the filter kernel coefficients
(h and g). An indirect address table is designed to store the
address of the input signals at different level. The width of table
for a data sequence is w=l+K 0 -l, where / is the maximum length
of the data sequence, K 0 is the width of the filter kernel. Figure
6 shows the indirect address table (/=16, K 0 =5).
f 0
\T
0
nr
4
5 6 7 8
i
0
Ï
2 1
LU
3 ]
LiJ
5 6 7 8
Figure 8. Grouping
0
I
2
3
4
5
6
T
1
T
3
Y
5 1
6
T
1
T
3
m
0
T
0 1
F I 8 I 9~
ED
I io!
11 12
0
0
0
14 13
Figure 6. The indirect address table
The texture is organized with each row holding boundary
extension, a and b values for one particular level of DWT.
Inside each texel, channel R stores the indirect address of pixel
with boundary extended. Channels G and B store a and b
respectively.
The 2D inverse DWT can be achieved by applying ID inverse
DWT horizontally and then vertically. Let («)| and
\y'j_ x («)} be the low-pass and high-pass signal at level j-1. The
reconstruction of |/l (>?)} is given by
Aj(n) = Yj h '^ À j-^ n ~ + Hs'( k )r'j-^ - k) ^
k k
2) Upsampling and boundary extension as in figure 9.
1
2
3
4
—4
1
0
3
4
3
5 6 7 8
H PI II 11 El
B Q H B H
Figure 9. Upsampling and boundary extension
3) Interleaving two groups of signal as in figure 10.
Figure 10. Interleaving
where h (k) and g\k) are low-pass and high-pass
reconstruction filters respectively. Similar to the forward DWT,
(10) can be rewritten as
Once the indirect address table is ready, values in the next level
can be reconstructed by convolution. Note that low-frequency
elements must be multiplied to the low-pass reconstruction filter,
while high-frequency elements must be multiplied to high-pass
reconstruction.
¿j( n ) = 2X-.
k
where f Z j_ x (j%k) returns the corresponding data in the up-
sampled boundary-extended signal at level j-1. Express the ID
inverse DWT to the form of signal input and output:
input:
Output:
Figure 7. Mapping to the base position in ID invert DWT
1) Halve the input signal as in figure 8.
Now we get the method to realize the DWT on one image, but
remote sensing image fusion has to deal with two images (the
case that the number of images is more than two is based on the
case of two images, so this paper analyses two images fusion),
the storage and management of the intermediate data is the key
point.
This paper set a FBO for each of the image to be fused. Two
texture objects are bind to the FBO of the first image:
m_fbortl[0] and m_fbortl[l], the binding points are set to
GLCOLORATT ACHMENTOEXT and
GLCOLORATTACHMENT1 EXT. When DWT applied to
the first image at level 1, the destination buffer is first set to
GL COLOR ATTACHMENT 1 EXT, and load the image data
to texture m_fbortl[l] which is bind to
GLCOLORATT ACHMENT 1 EXT; then set the destination
buffer to GLCOLORATTACHMENTOEXT, perform the
horizontal ID DWT fragment shader and store the result to
texture m_fbortl[0]. Then set the destination buffer to
GLCOLORATTACHMENTIEXT, perform the vertical ID
DWT fragment shader and store the result to texture
m_fbortl[l]. At level 2, the source data is the data in texture
m_fbortl[l], the destination buffer of horizontal ID DWT is set
to GL COLOR ATTACHMENTO EXT and then the vertical
is set to GL COLOR ATTACHMENTI EXT. So the result of
the 2D DWT is stored in m_fbortl[l] too. Because the 2D
DWT is achieved by exchanging the buffers twice at each level,