| java.lang.Object jj2000.j2k.codestream.reader.TagTreeDecoder
TagTreeDecoder | public class TagTreeDecoder (Code) | | This class implements the tag tree decoder. A tag tree codes a 2D
matrix of integer elements in an efficient way. The decoding
procedure 'update()' updates a value of the matrix from a stream of
coded data, given a threshold. This procedure decodes enough
information to identify whether or not the value is greater than
or equal to the threshold, and updates the value accordingly.
In general the decoding procedure must follow the same sequence
of elements and thresholds as the encoding one. The encoder is
implemented by the TagTreeEncoder class.
Tag trees that have one dimension, or both, as 0 are allowed for
convenience. Of course no values can be set or coded in such cases.
See Also: jj2000.j2k.codestream.writer.TagTreeEncoder |
Field Summary | |
protected int | h | protected int | lvls | protected int | treeS The tag tree state. | protected int | treeV The tag tree values. | protected int | w |
Constructor Summary | |
public | TagTreeDecoder(int h, int w) Creates a tag tree decoder with 'w' elements along the
horizontal dimension and 'h' elements along the vertical
direction. |
Method Summary | |
final public int | getHeight() Returns the number of leafs along the vertical direction. | public int | getValue(int m, int n) Returns the current value of the specified element in the tag
tree. | final public int | getWidth() Returns the number of leafs along the horizontal direction. | public int | update(int m, int n, int t, PktHeaderBitReader in) Decodes information for the specified element of the tree,
given the threshold, and updates its value. |
h | protected int h(Code) | | The vertical dimensions of the base level
|
lvls | protected int lvls(Code) | | The number of levels in the tag tree
|
treeS | protected int treeS(Code) | | The tag tree state. The first index is the level, starting at
level 0 (leafs). The second index is the element within the
level, in lexicographical order.
|
treeV | protected int treeV(Code) | | The tag tree values. The first index is the level,
starting at level 0 (leafs). The second index is the element
within the level, in lexicographical order.
|
w | protected int w(Code) | | The horizontal dimension of the base level
|
TagTreeDecoder | public TagTreeDecoder(int h, int w)(Code) | | Creates a tag tree decoder with 'w' elements along the
horizontal dimension and 'h' elements along the vertical
direction. The total number of elements is thus 'vdim' x
'hdim'.
The values of all elements are initialized to
Integer.MAX_VALUE (i.e. no information decoded so far). The
states are initialized all to 0.
Parameters: h - The number of elements along the vertical direction. Parameters: w - The number of elements along the horizontal direction. |
getHeight | final public int getHeight()(Code) | | Returns the number of leafs along the vertical direction.
The number of leafs along the vertical direction. |
getValue | public int getValue(int m, int n)(Code) | | Returns the current value of the specified element in the tag
tree. This is the value as last updated by the update() method.
Parameters: m - The vertical index of the element. Parameters: n - The horizontal index of the element. The current value of the element. See Also: TagTreeDecoder.update |
getWidth | final public int getWidth()(Code) | | Returns the number of leafs along the horizontal direction.
The number of leafs along the horizontal direction. |
update | public int update(int m, int n, int t, PktHeaderBitReader in) throws IOException(Code) | | Decodes information for the specified element of the tree,
given the threshold, and updates its value. The information
that can be decoded is whether or not the value of the element
is greater than, or equal to, the value of the
threshold.
Parameters: m - The vertical index of the element. Parameters: n - The horizontal index of the element. Parameters: t - The threshold to use in decoding. It must be non-negative. Parameters: in - The stream from where to read the coded information. The updated value at position (m,n). exception: IOException - If an I/O error occurs while readingfrom 'in'. exception: EOFException - If the ned of the 'in' stream isreached before getting all the necessary data. |
|
|