jj2000.j2k.entropy.decoder
Class EntropyDecoder

java.lang.Object
  |
  +--jj2000.j2k.wavelet.synthesis.MultiResImgDataAdapter
        |
        +--jj2000.j2k.entropy.decoder.EntropyDecoder
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 Summary
static char OPT_PREFIX
          The prefix for entropy decoder optiojns: 'C'
private static java.lang.String[][] pinfo
          The list of parameters that is accepted by the entropy decoders.
protected  CodedCBlkDataSrcDec src
          The bit stream transport from where to get the compressed data (the source)
 
Fields inherited from class jj2000.j2k.wavelet.synthesis.MultiResImgDataAdapter
mressrc, tIdx
 
Constructor Summary
EntropyDecoder(CodedCBlkDataSrcDec src)
          Initializes the source of compressed data.
 
Method Summary
static java.lang.String[][] getParameterInfo()
          Returns the parameters that are used in this class and implementing classes.
 int getPartitionULX()
          Returns the horizontal coordinate of the origin of the cell and code-block partition, with respect to the canvas origin, on the reference grid.
 int getPartitionULY()
          Returns the vertical coordinate of the origin of the cell and code-block partition, with respect to the canvas origin, on the reference grid.
 SubbandSyn getSubbandTree(int t, int c)
          Returns the subband tree, for the specified tile-component.
 
Methods inherited from class jj2000.j2k.wavelet.synthesis.MultiResImgDataAdapter
getCompHeight, getCompImgHeight, getCompImgWidth, getCompSubsX, getCompSubsY, getCompWidth, getHeight, getImgHeight, getImgULX, getImgULY, getImgWidth, getNumComps, getNumTiles, getNumTiles, getTile, getTileIdx, getTileOff, getULX, getULY, getWidth, nextTile, setTile
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

OPT_PREFIX

public static final char OPT_PREFIX
The prefix for entropy decoder optiojns: 'C'

pinfo

private static final java.lang.String[][] pinfo
The list of parameters that is accepted by the entropy decoders. They start with 'C'.

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

getSubbandTree

public SubbandSyn getSubbandTree(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.

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.

getPartitionULX

public int getPartitionULX()
Returns the horizontal coordinate of the origin of the cell and code-block partition, with respect to the canvas origin, on the reference grid. Allowable values are 0 and 1, nothing else.
Returns:
The horizontal coordinate of the origin of the cell and code-block partitions, with respect to the canvas origin, on the reference grid.

getPartitionULY

public int getPartitionULY()
Returns the vertical coordinate of the origin of the cell and code-block partition, with respect to the canvas origin, on the reference grid. Allowable values are 0 and 1, nothing else.
Returns:
The vertical coordinate of the origin of the cell and code-block partitions, with respect to the canvas origin, on the reference grid.

getParameterInfo

public static java.lang.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.