[]
        
(Showing Draft Content)

CSJ2K.j2k.quantization.dequantizer.StdDequantizer

StdDequantizer Class

This class implements a scalar dequantizer with deadzone. The output can be either integer ('int') or floating-point ('float') data. The dequantization step sizes and other parameters are taken from a StdDequantizerParams class, which inherits from DequantizerParams.

       <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>When reversible quantization is used, this class only converts between
       the sign-magnitude representation and the integer (or eventually
       fixed-point) output, since there is no true quantization.</p><p>The output data is fixed-point two's complement for 'int' output and
       floating-point for 'float' output. The type of output and the number number
       of fractional bits for 'int' output are defined at the constructor. Each
       component may have a different number of fractional bits.</p><p>The reconstruction levels used by the dequantizer are exactly what is
       received from the entropy decoder. It is assumed that the entropy decoder
       always returns codewords that are midways in the decoded intervals. In this
       way the dequantized values will always lie midways in the quantization
       intervals.</p>
Inheritance
StdDequantizer
Namespace: CSJ2K.j2k.quantization.dequantizer
Assembly: C1.WPF.PdfViewer.4.6.2.dll
Syntax
public class StdDequantizer : Dequantizer, CBlkWTDataSrcDec, InvWTData, MultiResImgData

Constructors

Name Description
StdDequantizer(CBlkQuantDataSrcDec, int[], DecoderSpecs)

Initializes the source of compressed data. And sets the number of range bits and fraction bits and receives the parameters for the dequantizer.

Methods

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).

       <p>The returned code-block may be progressive, which is indicated by
       the 'progressive' variable of the returned 'DataBlk' object. If a
       code-block is progressive it means that in a later request to this
       method for the same code-block it is possible to retrieve data which is
       a better approximation, since meanwhile more data to decode for the
       code-block could have been received. If the code-block is not
       progressive then later calls to this method for the same code-block
       will return the exact same data values.</p><p>The data returned by this method is always a copy of the internal
       data of this object, if any, and it can be modified "in place" without
       any problems after being returned. The 'offset' of the returned data is 
       0, and the 'scanw' is the same as the code-block width. See the
       'DataBlk' class.</p>
getFixedPoint(int)

Returns the position of the fixed point in the output data for the specified component. 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. If the output data is 'float' then 0 is always returned.

       <p><u>Note:</u> Fractional bits are no more supported by JJ2000.</p>
getInternCodeBlock(int, int, int, SubbandSyn, DataBlk)

Returns the specified code-block in the current tile for the specified component (as a reference or copy).

       <p>The returned code-block may be progressive, which is indicated by
       the 'progressive' variable of the returned 'DataBlk'
       object. If a code-block is progressive it means that in a later request
       to this method for the same code-block it is possible to retrieve data
       which is a better approximation, since meanwhile more data to decode
       for the code-block could have been received. If the code-block is not
       progressive then later calls to this method for the same code-block
       will return the exact same data values.</p><p>The data returned by this method can be the data in the internal
       buffer of this object, if any, and thus can not be modified by the
       caller. The 'offset' and 'scanw' of the returned data can be
       arbitrary. See the 'DataBlk' class.</p>