jp2codec.entropy.decoder
Class EntropyDecoder

java.lang.Object
  extended by jp2codec.wavelet.synthesis.MultiResImgDataAdapter
      extended by jp2codec.entropy.decoder.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 Summary
protected  CodedCBlkDataSrcDec src
          The bit stream transport from where to get the compressed data (the source)
 
Fields inherited from class jp2codec.wavelet.synthesis.MultiResImgDataAdapter
mressrc, tIdx
 
Constructor Summary
EntropyDecoder(CodedCBlkDataSrcDec src)
          Initializes the source of compressed data.
 
Method Summary
 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 jp2codec.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, toString, wait, wait, wait
 
Methods inherited from interface jp2codec.quantization.dequantizer.CBlkQuantDataSrcDec
getCodeBlock, getInternCodeBlock, getNumCodeBlocks
 
Methods inherited from interface jp2codec.wavelet.synthesis.MultiResImgData
getCompHeight, getCompImgHeight, getCompImgWidth, getCompSubsX, getCompSubsY, getCompWidth, getHeight, getImgHeight, getImgULX, getImgULY, getImgWidth, getNumComps, getNumTiles, getNumTiles, getTile, getTileIdx, getTileOff, getULX, getULY, getWidth, nextTile, setTile
 

Field Detail

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.

Specified by:
getSubbandTree in interface InvWTData
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.

Specified by:
getPartitionULX in interface InvWTData
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.

Specified by:
getPartitionULY in interface InvWTData
Returns:
The vertical coordinate of the origin of the cell and code-block partitions, with respect to the canvas origin, on the reference grid.