[]
This class provides default implementation of the methods in the 'InvWT' interface. The source is always a 'MultiResImgData', which is a multi-resolution image. The default implementation is just to return the value of the source at the current image resolution level, which is set by the 'setImgResLevel()' method.
<p>This abstract class can be used to facilitate the development of other
classes that implement the 'InvWT' interface, because most of the trivial
methods are already implemented.</p><p>If the default implementation of a method provided in this class does
not suit a particular implementation of the 'InvWT' interface, the method
can be overriden to implement the proper behaviour.</p><p>If the 'setImgResLevel()' method is overriden then it is very important
that the one of this class is called from the overriding method, so that
the other methods in this class return the correct values.</p>
This class implements the InverseWT with the full-page approach for int and float data.
<p>The image can be reconstructed at different (image) resolution levels
indexed from the lowest resolution available for each tile-component. This
is controlled by the setImgResLevel() method.</p><p>Note: Image resolution level indexes may differ from tile-component
resolution index. They are indeed indexed starting from the lowest number
of decomposition levels of each component of each tile.</p><p>Example: For an image (1 tile) with 2 components (component 0 having 2
decomposition levels and component 1 having 3 decomposition levels), the
first (tile-) component has 3 resolution levels and the second one has 4
resolution levels, whereas the image has only 3 resolution levels
available.</p><p>This implementation does not support progressive data: Data is
considered to be non-progressive (i.e. "final" data) and the 'progressive'
attribute of the 'DataBlk' class is always set to false, see the 'DataBlk'
class.</p>
This abstract class extends the WaveletTransform one with the specifics of inverse wavelet transforms.
<p>The image can be reconstructed at different resolution levels. This is
controlled by the setResLevel() method. All the image, tile and component
dimensions are relative the the resolution level being used. The number of
resolution levels indicates the number of wavelet recompositions that will
be used, if it is equal as the number of decomposition levels then the full
resolution image is reconstructed.</p><p>It is assumed in this class that all tiles and components the same
reconstruction resolution level. If that where not the case the
implementing class should have additional data structures to store those
values for each tile. However, the 'recResLvl' member variable always
contain the values applicable to the current tile, since many methods
implemented here rely on them.</p>
This class provides a default implementation for the methods of the 'MultiResImgData' interface. The default implementation consists just in returning the value of the source, where the source is another 'MultiResImgData' object.
<p>This abstract class can be used to facilitate the development of other
classes that implement 'MultiResImgData'. For example a dequantizer can
inherit from this class and all the trivial methods do not have to be
reimplemented.</p><p>If the default implementation of a method provided in this class does
not suit a particular implementation of the 'MultiResImgData' interface,
the method can be overriden to implement the proper behaviour.</p>
This class represents a subband in a tree structure that describes the subband decomposition for a wavelet transform, specifically for the syhthesis side.
<p>The element can be either a node or a leaf of the tree. If it is a node
then ther are 4 descendants (LL, HL, LH and HH). If it is a leaf there are
no descendants.</p><p>The tree is bidirectional. Each element in the tree structure has a
"parent", which is the subband from which the element was obtained by
decomposition. The only exception is the root element which has no parent
(i.e.it's null), for obvious reasons.</p>
This class inherits from the synthesis wavelet filter definition for int data. It implements the inverse wavelet transform specifically for the 5x3 filter. The implementation is based on the lifting scheme.
<p>See the SynWTFilter class for details such as normalization, how to
split odd-length signals, etc. In particular, this method assumes that the
low-pass coefficient is computed first.</p>
This class extends ModuleSpec class for synthesis filters specification holding purpose.
This abstract class defines methods to transfer wavelet data in a code-block by code-block basis, for the decoder side. In each call to 'getCodeBlock()' or 'getInternCodeBlock()' a new code-block is returned. The code-blocks are returned in no specific order.
<p>This class is the source of data, in general, for the inverse wavelet
transforms. See the 'InverseWT' class.</p>
This interface extends the WaveletTransform with the specifics of inverse wavelet transforms. Classes that implement inverse wavelet transfoms should implement this interface.
<p>This class does not define the methods to transfer data, just the
specifics to inverse wavelet transform. Different data transfer methods are
envisageable for different transforms.</p>
This interface extends the MultiResImgData interface with the methods that are necessary for inverse wavelet data (i.e. data that is the source to an inverse wavlet trasnform).
This interface defines methods to access image attributes (width, height, number of components, etc.) of multiresolution images, such as those resulting from an inverse wavelet transform. The image can be tiled or not (i.e. if the image is not tiled then there is only 1 tile). It should be implemented by all classes that provide multi-resolution image data, such as entropy decoders, dequantizers, etc. This interface, however, does not define methods to transfer image data (i.e. pixel data), that is defined by other interfaces, such as 'CBlkQuantDataSrcDec'.
<p>This interface is very similar to the 'ImgData' one. It differs only by
the fact that it handles multiple resolutions.</p><p>Resolution levels are counted from 0 to L. Resolution level 0 is the
lower resolution, while L is the maximum resolution level, or full
resolution, which is returned by 'getMaxResLvl()'. Note that there are L+1
resolution levels available.</p><p>As in the 'ImgData' interface a multi-resolution image lies on top of a
canvas. The canvas coordinates are mapped from the full resolution
reference grid (i.e. resolution level 'L' reference grid) to a resolution
level 'l' reference grid by '(x_l,y_l) =
(ceil(x_l/2^(L-l)),ceil(y_l/2^(L-l)))', where '(x,y)' are the full
resolution reference grid coordinates and '(x_l,y_l)' are the level 'l'
reference grid coordinates.</p><p>For details on the canvas system and its implications consult the
'ImgData' interface.</p><p>Note that tile sizes may not be obtained by simply dividing the tile
size in the reference grid by the subsampling factor.</p>