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:
    MultiResImgData, MultiResImgDataAdapter
    • Field Detail

      • OPT_PREFIX

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

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

      • EntropyDecoder

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

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