|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--jj2000.j2k.roi.encoder.ROIMaskGenerator | +--jj2000.j2k.roi.encoder.ArbROIMaskGenerator
This class generates the ROI bit-mask when, at least, one ROI is not rectangular. In this case, the fast ROI bit-mask algorithm generation can not be used.
The values are calculated from the scaling factors of the ROIs. The values with which to scale are equal to u-umin where umin is the lowest scaling factor within the block. The umin value is sent to the entropy coder to be used for scaling the distortion values.
ROIMaskGenerator
,
ArbROIMaskGenerator
Field Summary | |
private int[] |
maskLineHigh
The High frequency part of a mask line |
private int[] |
maskLineLow
The low frequency part of a mask line |
private int[] |
paddedMaskLine
A line or column of the mask with padding |
private boolean |
roiInTile
Flag indicating if any ROI was found to be in this tile |
private int[][] |
roiMask
The ROI mask for the current tile for all components |
private Quantizer |
src
The source of quantized wavelet transform coefficients |
Fields inherited from class jj2000.j2k.roi.encoder.ROIMaskGenerator |
nrc, rois, tileMaskMade |
Constructor Summary | |
ArbROIMaskGenerator(ROI[] rois,
int nrc,
Quantizer src)
The constructor of the arbitrary mask generator |
Method Summary | |
private void |
decomp(Subband sb,
int tilew,
int tileh,
int c)
This function decomposes the mask for a node in the subband tree. |
boolean |
getROIMask(DataBlkInt db,
Subband sb,
int magbits,
int c)
This functions gets a DataBlk the size of the current code-block an fills this block with the ROI mask. |
void |
makeMask(Subband sb,
int magbits,
int c)
This function generates the ROI mask for one tile-component. |
java.lang.String |
toString()
This function returns the relevant data of the mask generator |
Methods inherited from class jj2000.j2k.roi.encoder.ROIMaskGenerator |
getROIs, tileChanged |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private Quantizer src
private int[][] roiMask
private int[] maskLineLow
private int[] maskLineHigh
private int[] paddedMaskLine
private boolean roiInTile
Constructor Detail |
public ArbROIMaskGenerator(ROI[] rois, int nrc, Quantizer src)
rois
- The ROI info.nrc
- The number of componentssrc
- The quantizer moduleMethod Detail |
public boolean getROIMask(DataBlkInt db, Subband sb, int magbits, int c)
In order to get the mask for a particular Subband, the subband tree is traversed and at each decomposition, the ROI masks are computed.
The widths of the synthesis filters corresponding to the wavelet filters used in the wavelet transform are used to expand the ROI masks in the decompositions.
getROIMask
in class ROIMaskGenerator
db
- The data block that is to be filled with the masksb
- The root of the subband tree to which db belongsmagbits
- The max number of magnitude bits in any code-blockc
- The number of the component
public java.lang.String toString()
toString
in class java.lang.Object
public void makeMask(Subband sb, int magbits, int c)
Once the mask is generated in the pixel domain. it is decomposed following the same decomposition scheme as the wavelet transform.
makeMask
in class ROIMaskGenerator
sb
- The root of the subband tree used in the decompositionmagbits
- The max number of magnitude bits in any code-blockc
- component numberprivate void decomp(Subband sb, int tilew, int tileh, int c)
sb
- The subband that is to be used for the decompositiontilew
- The width of the current tiletileh
- The height of the current tilec
- component number
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |