jj2000.j2k.entropy.encoder
Interface CodedCBlkDataSrcEnc

All Superinterfaces:
ForwWTDataProps, ImgData
All Known Implementing Classes:
EntropyCoder

public interface CodedCBlkDataSrcEnc
extends ForwWTDataProps

This interface defines a source of entropy coded data and methods to transfer it in a code-block by code-block basis. In each call to 'getNextCodeBlock()' a new coded code-block is returned. The code-block are retruned in no specific-order.

This interface is the source of data for the rate allocator. See the 'PostCompRateAllocator' class.

For each coded-code-block the entropy-coded data is returned along with the rate-distortion statistics in a 'CBlkRateDistStats' object.

See Also:
PostCompRateAllocator, CBlkRateDistStats, EntropyCoder

Method Summary
 CBlkRateDistStats getNextCodeBlock(int c, CBlkRateDistStats ccb)
          Returns the next coded code-block in the current tile for the specified component, as a copy (see below).
 int getPPX(int t, int c, int r)
          Returns the width of a packet for the specified tile-component and resolution level.
 int getPPY(int t, int c, int r)
          Returns the height of a packet for the specified tile-component and resolution level.
 boolean precinctPartitionUsed(int c, int t)
          Returns true if the precinct partition is used for the specified component and tile, returns false otherwise
 
Methods inherited from interface jj2000.j2k.wavelet.analysis.ForwWTDataProps
getAnSubbandTree, getCbULX, getCbULY, isReversible
 
Methods inherited from interface jj2000.j2k.image.ImgData
getCompImgHeight, getCompImgWidth, getCompSubsX, getCompSubsY, getCompULX, getCompULY, getImgHeight, getImgULX, getImgULY, getImgWidth, getNomRangeBits, getNomTileHeight, getNomTileWidth, getNumComps, getNumTiles, getNumTiles, getTile, getTileCompHeight, getTileCompWidth, getTileHeight, getTileIdx, getTilePartULX, getTilePartULY, getTileWidth, nextTile, setTile
 

Method Detail

getNextCodeBlock

public CBlkRateDistStats getNextCodeBlock(int c,
                                          CBlkRateDistStats ccb)
Returns the next coded code-block in the current tile for the specified component, as a copy (see below). The order in which code-blocks are returned is not specified. However each code-block is returned only once and all code-blocks will be returned if the method is called 'N' times, where 'N' is the number of code-blocks in the tile. After all the code-blocks have been returned for the current tile calls to this method will return 'null'.

When changing the current tile (through 'setTile()' or 'nextTile()') this method will always return the first code-block, as if this method was never called before for the new current tile.

The data returned by this method is always a copy of the internal data of this object, if any, and it can be modified "in place" without any problems after being returned.

Parameters:
c - The component for which to return the next code-block.
ccb - If non-null this object might be used in returning the coded code-block in this or any subsequent call to this method. If null a new one is created and returned. If the 'data' array of 'cbb' is not null it may be reused to return the compressed data.
Returns:
The next coded code-block in the current tile for component 'c', or null if all code-blocks for the current tile have been returned.
See Also:
CBlkRateDistStats

getPPX

public int getPPX(int t,
                  int c,
                  int r)
Returns the width of a packet for the specified tile-component and resolution level.

Parameters:
t - The tile
c - The component
r - The resolution level
Returns:
The width of a packet for the specified tile- component and resolution level.

getPPY

public int getPPY(int t,
                  int c,
                  int r)
Returns the height of a packet for the specified tile-component and resolution level.

Parameters:
t - The tile
c - The component
r - The resolution level
Returns:
The height of a packet for the specified tile- component and resolution level.

precinctPartitionUsed

public boolean precinctPartitionUsed(int c,
                                     int t)
Returns true if the precinct partition is used for the specified component and tile, returns false otherwise

Parameters:
c - The component
t - The tile