Class ArbROIMaskGenerator


  • public class ArbROIMaskGenerator
    extends ROIMaskGenerator
    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.

    See Also:
    ROIMaskGenerator, ArbROIMaskGenerator
    • Constructor Detail

      • ArbROIMaskGenerator

        public ArbROIMaskGenerator​(ROI[] rois,
                                   int nrc,
                                   Quantizer src)
        The constructor of the arbitrary mask generator
        Parameters:
        rois - The ROI info.
        nrc - The number of components
        src - The quantizer module
    • Method Detail

      • getROIMask

        public 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.

        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.

        Specified by:
        getROIMask in class ROIMaskGenerator
        Parameters:
        db - The data block that is to be filled with the mask
        sb - The root of the subband tree to which db belongs
        magbits - The max number of magnitude bits in any code-block
        c - The number of the component
        Returns:
        Whether or not a mask was needed for this tile
      • toString

        public String toString()
        This function returns the relevant data of the mask generator
        Overrides:
        toString in class Object
      • makeMask

        public void makeMask​(Subband sb,
                             int magbits,
                             int c)
        This function generates the ROI mask for one tile-component.

        Once the mask is generated in the pixel domain. it is decomposed following the same decomposition scheme as the wavelet transform.

        Specified by:
        makeMask in class ROIMaskGenerator
        Parameters:
        sb - The root of the subband tree used in the decomposition
        magbits - The max number of magnitude bits in any code-block
        c - component number