Package jj2000.j2k.wavelet
Interface WaveletFilter
-
- All Known Implementing Classes:
AnWTFilter
,AnWTFilterFloat
,AnWTFilterFloatLift9x7
,AnWTFilterInt
,AnWTFilterIntLift5x3
,SynWTFilter
,SynWTFilterFloat
,SynWTFilterFloatLift9x7
,SynWTFilterInt
,SynWTFilterIntLift5x3
public interface WaveletFilter
This interface defines how a wavelet filter implementation should present itself. This interface defines only the commonalities between the analysis and synthesis filters. The AnWTFilter and SynWTFilter classes provide the specifics of analysis and synthesis filters.Both analysis and filters must be able to return the extent of the negative and positive support for both synthesis and analysis sides. This simplifies the sue of some functionalities that need extra information about the filters.
- See Also:
AnWTFilter
,SynWTFilter
-
-
Field Summary
Fields Modifier and Type Field Description static int
WT_FILTER_FLOAT_CONVOL
The ID for floatring-poitn convolution implementationsstatic int
WT_FILTER_FLOAT_LIFT
The ID for floating-point lifting spteps implementationsstatic int
WT_FILTER_INT_LIFT
The ID for integer lifting spteps implementations
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getAnHighNegSupport()
Returns the negative support of the high-pass analysis filter.int
getAnHighPosSupport()
Returns the positive support of the high-pass analysis filter.int
getAnLowNegSupport()
Returns the negative support of the low-pass analysis filter.int
getAnLowPosSupport()
Returns the positive support of the low-pass analysis filter.int
getDataType()
Returns the type of data on which this filter works, as defined in the DataBlk interface.int
getImplType()
Returns the implementation type of this filter, as defined in this class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL.int
getSynHighNegSupport()
Returns the negative support of the high-pass synthesis filter.int
getSynHighPosSupport()
Returns the positive support of the high-pass synthesis filter.int
getSynLowNegSupport()
Returns the negative support of the low-pass synthesis filter.int
getSynLowPosSupport()
Returns the positive support of the low-pass synthesis filter.boolean
isReversible()
Returns the reversibility of the filter.boolean
isSameAsFullWT(int tailOvrlp, int headOvrlp, int inLen)
Returns true if the wavelet filter computes or uses the same "inner" subband coefficient as the full frame wavelet transform, and false otherwise.
-
-
-
Field Detail
-
WT_FILTER_INT_LIFT
static final int WT_FILTER_INT_LIFT
The ID for integer lifting spteps implementations- See Also:
- Constant Field Values
-
WT_FILTER_FLOAT_LIFT
static final int WT_FILTER_FLOAT_LIFT
The ID for floating-point lifting spteps implementations- See Also:
- Constant Field Values
-
WT_FILTER_FLOAT_CONVOL
static final int WT_FILTER_FLOAT_CONVOL
The ID for floatring-poitn convolution implementations- See Also:
- Constant Field Values
-
-
Method Detail
-
getAnLowNegSupport
int getAnLowNegSupport()
Returns the negative support of the low-pass analysis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the low-pass analysis filter in the negative direction
-
getAnLowPosSupport
int getAnLowPosSupport()
Returns the positive support of the low-pass analysis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the low-pass analysis filter in the positive direction
-
getAnHighNegSupport
int getAnHighNegSupport()
Returns the negative support of the high-pass analysis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the high-pass analysis filter in the negative direction
-
getAnHighPosSupport
int getAnHighPosSupport()
Returns the positive support of the high-pass analysis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the high-pass analysis filter in the positive direction
-
getSynLowNegSupport
int getSynLowNegSupport()
Returns the negative support of the low-pass synthesis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the low-pass synthesis filter in the negative direction
-
getSynLowPosSupport
int getSynLowPosSupport()
Returns the positive support of the low-pass synthesis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the low-pass synthesis filter in the positive direction
-
getSynHighNegSupport
int getSynHighNegSupport()
Returns the negative support of the high-pass synthesis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the high-pass synthesis filter in the negative direction
-
getSynHighPosSupport
int getSynHighPosSupport()
Returns the positive support of the high-pass synthesis filter. That is the number of taps of the filter in the negative direction.A MORE PRECISE DEFINITION IS NEEDED
- Returns:
- The number of taps of the high-pass synthesis filter in the positive direction
-
getImplType
int getImplType()
Returns the implementation type of this filter, as defined in this class, such as WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL.- Returns:
- The implementation type of this filter: WT_FILTER_INT_LIFT, WT_FILTER_FLOAT_LIFT, WT_FILTER_FLOAT_CONVOL.
-
getDataType
int getDataType()
Returns the type of data on which this filter works, as defined in the DataBlk interface.- Returns:
- The type of data as defined in the DataBlk interface.
- See Also:
DataBlk
-
isReversible
boolean isReversible()
Returns the reversibility of the filter. A filter is considered reversible if it is suitable for lossless coding.- Returns:
- true if the filter is reversible, false otherwise.
-
isSameAsFullWT
boolean isSameAsFullWT(int tailOvrlp, int headOvrlp, int inLen)
Returns true if the wavelet filter computes or uses the same "inner" subband coefficient as the full frame wavelet transform, and false otherwise. In particular, for block based transforms with reduced overlap, this method should return false. The term "inner" indicates that this applies only with respect to the coefficient that are not affected by image boundaries processings such as symmetric extension, since there is not reference method for this.The result depends on the length of the allowed overlap when compared to the overlap required by the wavelet filter. It also depends on how overlap processing is implemented in the wavelet filter.
- Parameters:
tailOvrlp
- This is the number of samples in the input signal before the first sample to filter that can be used for overlap.headOvrlp
- This is the number of samples in the input signal after the last sample to filter that can be used for overlap.inLen
- This is the lenght of the input signal to filter.The required number of samples in the input signal after the last sample depends on the length of the input signal.- Returns:
- true if the overlaps are large enough and correct processing is performed, false otherwise.
-
-