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