Dirac - A Video Codec

Created by the British Broadcasting Corporation.


dirac::WaveletTransform Class Reference

A class to do wavelet transforms. More...

#include <wavelet_utils.h>

Collaboration diagram for dirac::WaveletTransform:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Member Functions

Private Attributes

Classes


Detailed Description

A class to do forward and backward wavelet transforms by iteratively splitting or merging the lowest frequency band.


Constructor & Destructor Documentation

dirac::WaveletTransform::WaveletTransform ( int  d = 4,
WltFilter  f = DAUB9_7 
)

virtual dirac::WaveletTransform::~WaveletTransform (  )  [virtual]

dirac::WaveletTransform::WaveletTransform ( const WaveletTransform cpy  )  [private]


Member Function Documentation

void dirac::WaveletTransform::Transform ( const Direction  d,
PicArray pic_data,
CoeffArray coeff_data 
)

Transforms the data to and from the wavelet domain.

Parameters:
d the direction of the transform
pic_data the data to be transformed
coeff_data array that holds the transform coefficient data

SubbandList& dirac::WaveletTransform::BandList (  )  [inline]

const SubbandList& dirac::WaveletTransform::BandList (  )  const [inline]

void dirac::WaveletTransform::SetBandWeights ( const float  cpd,
const FrameSort fsort,
const ChromaFormat cformat,
const CompSort  csort,
const bool  interlace 
)

Sets perceptual weights for the subbands. Takes into account both perceptual factors (weight noise less at higher spatial frequencies) and the scaling needed for the wavelet transform.

Parameters:
cpd perctual factor - the number of cycles per degree
fsort the frame sort (I, L1 or L2)
cformat the chroma format
csort the component type (Y, U or V)
interlace Interlaced coding flag

WaveletTransform& dirac::WaveletTransform::operator= ( const WaveletTransform rhs  )  [private]

float dirac::WaveletTransform::PerceptualWeight ( float  xf,
float  yf,
CompSort  cs 
) [private]


Member Data Documentation

SubbandList dirac::WaveletTransform::m_band_list [private]

int dirac::WaveletTransform::m_depth [private]

WltFilter dirac::WaveletTransform::m_filt_sort [private]

VHFilter* dirac::WaveletTransform::m_vhfilter [private]


The documentation for this class was generated from the following file:

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.