public abstract class SynWTFilter extends Object implements WaveletFilter, Markers
The length of the output signal is always the sum of the length of the low-pass and high-pass input signals.
All synthesis wavelet filters should follow the following conventions:
The synthetize method may seem very complicated, but is designed to minimize the amount of data copying and redundant calculations when used for block-based or line-based wavelet transform implementations, while being applicable to full-frame transforms as well.
SynWTFilterInt,
SynWTFilterFloatWT_FILTER_FLOAT_CONVOL, WT_FILTER_FLOAT_LIFT, WT_FILTER_INT_LIFTCOC, COD, COM, CRG, EOC, EPH, EPH_LENGTH, ERS_SEG_SYMBOLS, ERS_SOP, MAX_COMP_BITDEPTH, MAX_LPPM, MAX_LPPT, PLM, PLT, POC, PPM, PPT, PRECINCT_PARTITION_DEF_SIZE, QCC, QCD, RCOM_GEN_USE, RGN, RSIZ_BASELINE, RSIZ_ER_FLAG, RSIZ_ROI, SCOX_HOR_CB_PART, SCOX_PRECINCT_PARTITION, SCOX_USE_EPH, SCOX_USE_SOP, SCOX_VER_CB_PART, SIZ, SOC, SOD, SOP, SOP_LENGTH, SOT, SQCX_EXP_MASK, SQCX_EXP_SHIFT, SQCX_GB_MSK, SQCX_GB_SHIFT, SQCX_NO_QUANTIZATION, SQCX_SCALAR_DERIVED, SQCX_SCALAR_EXPOUNDED, SRGN_IMPLICIT, SSIZ_DEPTH_BITS, TLM| Constructor and Description |
|---|
SynWTFilter() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
synthetize_hpf(Object lowSig,
int lowOff,
int lowLen,
int lowStep,
Object highSig,
int highOff,
int highLen,
int highStep,
Object outSig,
int outOff,
int outStep)
Reconstructs the output signal by the synthesis filter, recomposing the
low-pass and high-pass input signals in one output signal.
|
abstract void |
synthetize_lpf(Object lowSig,
int lowOff,
int lowLen,
int lowStep,
Object highSig,
int highOff,
int highLen,
int highStep,
Object outSig,
int outOff,
int outStep)
Reconstructs the output signal by the synthesis filter, recomposing the
low-pass and high-pass input signals in one output signal.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetAnHighNegSupport, getAnHighPosSupport, getAnLowNegSupport, getAnLowPosSupport, getDataType, getImplType, getSynHighNegSupport, getSynHighPosSupport, getSynLowNegSupport, getSynLowPosSupport, isReversible, isSameAsFullWTpublic abstract void synthetize_lpf(Object lowSig, int lowOff, int lowLen, int lowStep, Object highSig, int highOff, int highLen, int highStep, Object outSig, int outOff, int outStep)
The input low-pass (high-pass) signal resides in the lowSig array. The index of the first sample to filter (i.e. that will generate the first (second) output sample). is given by lowOff (highOff). This array must be of the same type as the one for which the particular implementation works with (which is returned by the getDataType() method).
The low-pass (high-pass) input signal can be interleaved with other signals in the same lowSig (highSig) array, and this is determined by the lowStep (highStep) argument. This means that the first sample of the low-pass (high-pass) input signal is lowSig[lowOff] (highSig[highOff]), the second is lowSig[lowOff+lowStep] (highSig[highOff+highStep]), the third is lowSig[lowOff+2*lowStep] (highSig[highOff+2*highStep]), and so on. Therefore if lowStep (highStep) is 1 there is no interleaving. This feature allows to filter columns of a 2-D signal, when it is stored in a line by line order in lowSig (highSig), without having to copy the data, in this case the lowStep (highStep) argument should be the line width of the low-pass (high-pass) signal.
The output signal is placed in the outSig array. The outOff and outStep arguments are analogous to the lowOff and lowStep ones, but they apply to the outSig array. The outSig array must be long enough to hold the low-pass output signal.
lowSig - This is the array that contains the low-pass input
signal. It must be of the correct type (e.g., it must be int[] if
getDataType() returns TYPE_INT).lowOff - This is the index in lowSig of the first sample to
filter.lowLen - This is the number of samples in the low-pass input
signal to filter.lowStep - This is the step, or interleave factor, of the low-pass
input signal samples in the lowSig array. See above.highSig - This is the array that contains the high-pass input
signal. It must be of the correct type (e.g., it must be int[] if
getDataType() returns TYPE_INT).highOff - This is the index in highSig of the first sample to
filter.highLen - This is the number of samples in the high-pass input
signal to filter.highStep - This is the step, or interleave factor, of the
high-pass input signal samples in the highSig array. See above.outSig - This is the array where the output signal is placed. It
must be of the same type as lowSig and it should be long enough to
contain the output signal.outOff - This is the index in outSig of the element where to put
the first output sample.outStep - This is the step, or interleave factor, of the output
samples in the outSig array. See above.public abstract void synthetize_hpf(Object lowSig, int lowOff, int lowLen, int lowStep, Object highSig, int highOff, int highLen, int highStep, Object outSig, int outOff, int outStep)
The input low-pass (high-pass) signal resides in the lowSig array. The index of the first sample to filter (i.e. that will generate the first (second) output sample). is given by lowOff (highOff). This array must be of the same type as the one for which the particular implementation works with (which is returned by the getDataType() method).
The low-pass (high-pass) input signal can be interleaved with other signals in the same lowSig (highSig) array, and this is determined by the lowStep (highStep) argument. This means that the first sample of the low-pass (high-pass) input signal is lowSig[lowOff] (highSig[highOff]), the second is lowSig[lowOff+lowStep] (highSig[highOff+highStep]), the third is lowSig[lowOff+2*lowStep] (highSig[highOff+2*highStep]), and so on. Therefore if lowStep (highStep) is 1 there is no interleaving. This feature allows to filter columns of a 2-D signal, when it is stored in a line by line order in lowSig (highSig), without having to copy the data, in this case the lowStep (highStep) argument should be the line width of the low-pass (high-pass) signal.
The output signal is placed in the outSig array. The outOff and outStep arguments are analogous to the lowOff and lowStep ones, but they apply to the outSig array. The outSig array must be long enough to hold the low-pass output signal.
lowSig - This is the array that contains the low-pass input
signal. It must be of the correct type (e.g., it must be int[] if
getDataType() returns TYPE_INT).lowOff - This is the index in lowSig of the first sample to
filter.lowLen - This is the number of samples in the low-pass input
signal to filter.lowStep - This is the step, or interleave factor, of the low-pass
input signal samples in the lowSig array. See above.highSig - This is the array that contains the high-pass input
signal. It must be of the correct type (e.g., it must be int[] if
getDataType() returns TYPE_INT).highOff - This is the index in highSig of the first sample to
filter.highLen - This is the number of samples in the high-pass input
signal to filter.highStep - This is the step, or interleave factor, of the
high-pass input signal samples in the highSig array. See above.outSig - This is the array where the output signal is placed. It
must be of the same type as lowSig and it should be long enough to
contain the output signal.outOff - This is the index in outSig of the element where to put
the first output sample.outStep - This is the step, or interleave factor, of the output
samples in the outSig array. See above.Copyright © 2015. All rights reserved.