[]
This is the abstract class from which all dequantizers must inherit. This class has the concept of a current tile and all operations are performed on the current tile.
<p>This class provides default implemenations for most of the methods
(wherever it makes sense), under the assumption that the image and
component dimensions, and the tiles, are not modifed by the dequantizer. If
that is not the case for a particular implementation then the methods
should be overriden.</p><p>Sign magnitude representation is used (instead of two's complement) for
the input data. The most significant bit is used for the sign (0 if
positive, 1 if negative). Then the magnitude of the quantized coefficient
is stored in the next most significat bits. The most significant magnitude
bit corresponds to the most significant bit-plane and so on.</p><p>The output data is either in floating-point, or in fixed-point two's
complement. In case of floating-point data the the value returned by
getFixedPoint() must be 0. If the case of fixed-point data the number of
fractional bits must be defined at the constructor of the implementing
class and all operations must be performed accordingly. Each component may
have a different number of fractional bits.</p>
public abstract class Dequantizer : MultiResImgDataAdapter, CBlkWTDataSrcDec, InvWTData, MultiResImgData
Name | Description |
---|---|
Dequantizer(CBlkQuantDataSrcDec, int[], DecoderSpecs) | Initializes the source of compressed data. |
Name | Description |
---|---|
OPT_PREFIX | The prefix for dequantizer options: 'Q' |
rb | The "range bits" for each transformed component |
src | The entropy decoder from where to get the quantized data (the source). |
utrb | The "range bits" for each un-transformed component |
Name | Description |
---|---|
CbULX | Returns the horizontal code-block partition origin. Allowable values are 0 and 1, nothing else. |
CbULY | Returns the vertical code-block partition origin. Allowable values are 0 and 1, nothing else. |
ParameterInfo | Returns the parameters that are used in this class and implementing classes. It returns a 2D String array. Each of the 1D arrays is for a different option, and they have 3 elements. The first element is the option name, the second one is the synopsis and the third one is a long description of what the parameter is. The synopsis or description may be 'null', in which case it is assumed that there is no synopsis or description of the option, respectively. Null may be returned if no options are supported. |
Name | Description |
---|---|
getCodeBlock(int, int, int, SubbandSyn, DataBlk) | Returns the specified code-block in the current tile for the specified component, as a copy (see below).
|
getFixedPoint(int) | Returns the position of the fixed point in the specified component, or equivalently the number of fractional bits. This is the position of the least significant integral (i.e. non-fractional) bit, which is equivalent to the number of fractional bits. For instance, for fixed-point values with 2 fractional bits, 2 is returned. For floating-point data this value does not apply and 0 should be returned. Position 0 is the position of the least significant bit in the data. |
getInternCodeBlock(int, int, int, SubbandSyn, DataBlk) | Returns the specified code-block in the current tile for the specified component (as a reference or copy).
|
getNomRangeBits(int) | |
getSynSubbandTree(int, int) | Returns the specified synthesis subband tree |
nextTile() | Advances to the next tile, in standard scan-line order (by rows then columns). An NoNextElementException is thrown if the current tile is the last one (i.e. there is no next tile).
|
setTile(int, int) | Changes the current tile, given the new indexes. An IllegalArgumentException is thrown if the indexes do not correspond to a valid tile.
|