wavelet compression function in Matlab?

Hello,
I am looking for a wavelet compression function in Matlab.
From the help on  "wdencmp" in Matlab ( i  copied part of the help on
wdencmp below), it seems the right function i am looking for.. However, from
the output it returned, output XC has the same size as input X.  I was
confused, if it is compression, isnot XC supposed to be smaller in size than
input X?  maybe I miss something here??

"[XC,CXC,LXC,PERF0,PERFL2] =
    WDENCMP('gbl',X,'wname',N,THR,SORH,KEEPAPP)
    returns a de-noised or compressed version XC of input
    signal X (1-D or 2-D) obtained by wavelet coefficients
    thresholding using global positive threshold THR."

Any info is greatly appreciated!
looking forward to your reply:)
yan



0
Yan
9/4/2003 5:15:09 PM
comp.compression 4666 articles. 0 followers. Post Follow

4 Replies
1162 Views

Similar Articles

[PageSpeed] 1

Yan Yu <yanyu_1997@yahoo.com> wrote:
> Hello,
> I am looking for a wavelet compression function in Matlab.
> From the help on  "wdencmp" in Matlab ( i  copied part of the help on
> wdencmp below), it seems the right function i am looking for.. However, from
> the output it returned, output XC has the same size as input X.  I was
> confused, if it is compression, isnot XC supposed to be smaller in size than
> input X?  maybe I miss something here??
> 
> "[XC,CXC,LXC,PERF0,PERFL2] =
>    WDENCMP('gbl',X,'wname',N,THR,SORH,KEEPAPP)
>    returns a de-noised or compressed version XC of input
>    signal X (1-D or 2-D) obtained by wavelet coefficients
>    thresholding using global positive threshold THR."

"Compression" has another meaning in signal processing.  It refers to a
particular non-linear process that reduces higher amplitude components
more than lower amplitude components.  For example, the transform
function of A-law compression is:

        1 + log A.|x|
g(x) = --------------- sgn(x)
          1 + log A

	- Kevin.

0
Kevin
9/5/2003 2:24:06 AM
Hi,

> I am looking for a wavelet compression function in Matlab.
> From the help on  "wdencmp" in Matlab ( i  copied part of the help on
> wdencmp below), it seems the right function i am looking for.. However, from
> the output it returned, output XC has the same size as input X.  I was
> confused, if it is compression, isnot XC supposed to be smaller in size than
> input X?  maybe I miss something here??

Even better, if you just count the number of bits required to represent
the wavelet transformed data exactly again, as to allow to reconstruct the
original one by one, you would even find that the wavelet transformer output
requires *more* bits than the original.

Now, how does that work? 

The reason why wavelets are a good candidate for compression is that this
transformation is suitable for removing redundance in the input data that
can then be conveniently removed by standard compression techniques (e.g.
arithmetic coding).

Greetings,
	Thomas
0
Thomas
9/5/2003 8:07:27 AM
Thanks a lot for the explanation!
so in Matlab, there is no wavelet compression function, by "compression" 
in the sense that it reduces the coding size?
thanks,
yan


Thomas Richter wrote:
> Hi,
> 
> 
>>I am looking for a wavelet compression function in Matlab.
>>From the help on  "wdencmp" in Matlab ( i  copied part of the help on
>>wdencmp below), it seems the right function i am looking for.. However, from
>>the output it returned, output XC has the same size as input X.  I was
>>confused, if it is compression, isnot XC supposed to be smaller in size than
>>input X?  maybe I miss something here??
> 
> 
> Even better, if you just count the number of bits required to represent
> the wavelet transformed data exactly again, as to allow to reconstruct the
> original one by one, you would even find that the wavelet transformer output
> requires *more* bits than the original.
> 
> Now, how does that work? 
> 
> The reason why wavelets are a good candidate for compression is that this
> transformation is suitable for removing redundance in the input data that
> can then be conveniently removed by standard compression techniques (e.g.
> arithmetic coding).
> 
> Greetings,
> 	Thomas


0
Yan
9/5/2003 7:47:48 PM
Hi,

> Thanks a lot for the explanation!
> so in Matlab, there is no wavelet compression function, by "compression" 
> in the sense that it reduces the coding size?

I don't know Matlab good enough to answer that question, sorry. But you
could check whether MatLab supports any kind of "entropy coding" function.
If not, then the answer is "no". If yes, then combine that with wavelet
transformation and you already have a simple coder.

Greetings,
	Thomas
0
Thomas
9/8/2003 8:35:21 AM
Reply: