jj2000.j2k.quantization.dequantizer
Class StdDequantizerParams

java.lang.Object
  |
  +--jj2000.j2k.quantization.dequantizer.DequantizerParams
        |
        +--jj2000.j2k.quantization.dequantizer.StdDequantizerParams

public class StdDequantizerParams
extends DequantizerParams

This class holds the parameters for the scalar deadzone dequantizer (StdDequantizer class) for the current tile. Its constructor decodes the parameters from the main header and tile headers.

See Also:
StdDequantizer

Field Summary
 int[][] exp
          The quantization step "exponent" value, for each resolution level and subband, as it appears in the codestream.
 float[][] nStep
          The quantization step for non-reversible systems, normalized to a dynamic range of 1, for each resolution level and subband, as derived from the exponent-mantissa representation in the codestream.
 
Constructor Summary
StdDequantizerParams()
           
 
Method Summary
 int getDequantizerType()
          Returns the type of the dequantizer for which the parameters are.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

exp

public int[][] exp
The quantization step "exponent" value, for each resolution level and subband, as it appears in the codestream. The first index is the resolution level, and the second the subband index (within the resolution level), as specified in the Subband class. When in derived quantization mode only the first resolution level (level 0) appears.

For non-reversible systems this value corresponds to ceil(log2(D')), where D' is the quantization step size normalized to data of a dynamic range of 1. The true quantization step size is (2^R)*D', where R is ceil(log2(dr)), where 'dr' is the dynamic range of the subband samples, in the corresponding subband.

For reversible systems the exponent value in 'exp' is used to determine the number of magnitude bits in the quantized coefficients. It is, in fact, the dynamic range of the subband data.

In general the index of the first subband in a resolution level is not 0. The exponents appear, within each resolution level, at their subband index, and not in the subband order starting from 0. For instance, resolution level 3, the first subband has the index 16, then the exponent of the subband is exp[3][16], not exp[3][0].

See Also:
Subband

nStep

public float[][] nStep
The quantization step for non-reversible systems, normalized to a dynamic range of 1, for each resolution level and subband, as derived from the exponent-mantissa representation in the codestream. The first index is the resolution level, and the second the subband index (within the resolution level), as specified in the Subband class. When in derived quantization mode only the first resolution level (level 0) appears.

The true step size D is obtained as follows: D=(2^R)*D', where 'R=ceil(log2(dr))' and 'dr' is the dynamic range of the subband samples, in the corresponding subband.

This value is 'null' for reversible systems (i.e. there is no true quantization, 'D' is always 1).

In general the index of the first subband in a resolution level is not 0. The steps appear, within each resolution level, at their subband index, and not in the subband order starting from 0. For instance, if resolution level 3, the first subband has the index 16, then the step of the subband is nStep[3][16], not nStep[3][0].

See Also:
Subband
Constructor Detail

StdDequantizerParams

public StdDequantizerParams()
Method Detail

getDequantizerType

public int getDequantizerType()
Returns the type of the dequantizer for which the parameters are. The types are defined in the Dequantizer class.

Specified by:
getDequantizerType in class DequantizerParams
Returns:
The type of the dequantizer for which the parameters are. Always Q_TYPE_SCALAR_DZ.
See Also:
Dequantizer