This class provides default implementation for most of the methods /// (wherever it makes sense), under the assumption that the image, component /// dimensions, and the tiles, are not modifed by the quantizer. If it is not /// the case for a particular implementation, then the methods should be /// overriden.
/// ///Sign magnitude representation is used (instead of two's complement) for /// the output 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 M most significat bits. The rest of the bits (least /// significant bits) can contain a fractional value of the quantized /// coefficient. This fractional value is not to be coded by the entropy /// coder. However, it can be used to compute rate-distortion measures with /// greater precision.
/// ///The value of M is determined for each subband as the sum of the number /// of guard bits G and the nominal range of quantized wavelet coefficients in /// the corresponding subband (Rq), minus 1:
/// ///M = G + Rq -1
/// ///The value of G should be the same for all subbands. The value of Rq /// depends on the quantization step size, the nominal range of the component /// before the wavelet transform and the analysis gain of the subband (see /// Subband).
/// ///The blocks of data that are requested should not cross subband /// boundaries.
/// ///NOTE: At the moment only quantizers that implement the /// 'CBlkQuantDataSrcEnc' interface are supported.
/// ///This method gets the subband tree from the source and then /// calculates the magnitude bits for each leaf using the method /// calcSbParams(). /// ///