Class EntropyDecoder

All Implemented Interfaces:
CBlkQuantDataSrcDec, InvWTData, MultiResImgData
Direct Known Subclasses:
StdEntropyDecoder

public abstract class EntropyDecoder extends MultiResImgDataAdapter implements CBlkQuantDataSrcDec
This is the abstract class from which all entropy decoders must inherit. This class implements the 'MultiResImgData', therefore it has the concept of a current tile and all operations are performed on the current tile.

Default implementations of the methods in 'MultiResImgData' are provided through the 'MultiResImgDataAdapter' abstract class.

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 most significat bits. The most significant magnitude bit corresponds to the most significant bit-plane and so on.

See Also:
  • Field Details

    • OPT_PREFIX

      public static final char OPT_PREFIX
      The prefix for entropy decoder optiojns: 'C'
      See Also:
    • src

      protected CodedCBlkDataSrcDec src
      The bit stream transport from where to get the compressed data (the source)
  • Constructor Details

    • EntropyDecoder

      public EntropyDecoder(CodedCBlkDataSrcDec src)
      Initializes the source of compressed data.
      Parameters:
      src - From where to obtain the compressed data.
  • Method Details

    • getSynSubbandTree

      public SubbandSyn getSynSubbandTree(int t, int c)
      Returns the subband tree, for the specified tile-component. This method returns the root element of the subband tree structure, see Subband and SubbandSyn. The tree comprises all the available resolution levels.

      The number of magnitude bits ('magBits' member variable) for each subband is not initialized.

      Specified by:
      getSynSubbandTree in interface InvWTData
      Specified by:
      getSynSubbandTree in interface MultiResImgData
      Parameters:
      t - The index of the tile, from 0 to T-1.
      c - The index of the component, from 0 to C-1.
      Returns:
      The root of the tree structure.
    • getCbULX

      public int getCbULX()
      Returns the horizontal code-block partition origin. Allowable values are 0 and 1, nothing else.
      Specified by:
      getCbULX in interface InvWTData
    • getCbULY

      public int getCbULY()
      Returns the vertical code-block partition origin. Allowable values are 0 and 1, nothing else.
      Specified by:
      getCbULY in interface InvWTData
    • getParameterInfo

      public static String[][] getParameterInfo()
      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.
      Returns:
      the options name, their synopsis and their explanation, or null if no options are supported.