Log in

View Full Version : Do any hybrid wavelet codecs exist?


trbarry
14th March 2004, 14:36
I think I read somewhere that wavelets are now very good for compressing still pictures but maybe when you add motion motion compensation a block based (WM9/H264/MPEG-4/DCT) codec works better. So wavelets have a harder problem on things like p-frames and b-frames.

Are there any codecs that just use wavelets for the I-frames but some MPEG-4-like compression for everything else? It would maybe seem to make a good compromise.

Just curious.

- Tom

Tommy Carrot
14th March 2004, 18:00
Keyframes has very little significance in the overall quality, so it wouldn't make a big difference. I wouldn't say wavelet is not suited for video encoding, just perhaps more difficult to make it usable, but the potential is bigger. Rududu is pretty close to mpeg4, and there is a rumor that the next generation standard beyond the h.264 will be based on wavelets.

Joe Fenton
14th March 2004, 20:36
From what I understand, wavelets aren't used (much) for video because the transform is too computationally expensive. There is no "fast" version of the wavelet transform as there is for the DCT. This isn't much of a problem for small frame sizes (320x240), but a HUGE problem for larger frame sizes (640x480 or bigger).

There are several versions of the wavelet transform these days, some being faster than others. That and the increase in computer horsepower has lead to several wavelet codecs appearing in recent times. One here on Doom9 being the Rududu codec.

d'Oursse
14th March 2004, 23:49
Originally posted by Joe Fenton
From what I understand, wavelets aren't used (much) for video because the transform is too computationally expensive. There is no "fast" version of the wavelet transform as there is for the DCT. This isn't much of a problem for small frame sizes (320x240), but a HUGE problem for larger frame sizes (640x480 or bigger).

There are several versions of the wavelet transform these days, some being faster than others. That and the increase in computer horsepower has lead to several wavelet codecs appearing in recent times. One here on Doom9 being the Rududu codec.

There exists a fast wavelet transform (it is Mallat who has found it).

For a good tutorial on wavelets, look at here :

http://cas.ensmp.fr/~chaplais/Wavetour_presentation/Wavetour_presentation_US.html

MfA
15th March 2004, 00:03
Wavelets arent really slow, but they are slower ... for various reasons block transforms will almost always be faster.

d'Oursse
15th March 2004, 00:11
just for a mathematical reason perhaps ? The complexity of fft is (in 1D) Nlog2(N). if you use "blocks" (in 1D), if N=8*M, then the complexity is M*8*log2(8)=N*3<Nlog2(N) if N is >8

Manao
15th March 2004, 00:37
The next generation of codec may be based on wavelets, there was a calling for a draft.

However, the results from research teams ( meaning, codec maintly non usable, perhaps no container at all... ) are still 0.5 under H264, PSNR wise. I have no other measurement of quality, since they only use PSNR for codec performance measurement. And H264 is not fully develop : look at the quality that an MPEG-4 based codec as XviD can output in comparison to its beginning, and you can infer that H264 hasn't yet showed all is potential.

d'Oursse
15th March 2004, 00:51
the problem with compression using wavelet transforms, Malvar transforms ,etc.. is that they produce images with lots of ringing, even if there is some improvements (see Malvar's papers, for example). Blocky effects are not present, but it remains ringing and blur.

RadicalEd
15th March 2004, 01:35
The factor not considered, of course, is that slight fluctuations in luminace or small distortions (i.e. ringing and especially blur) are far less distracting and noticable to the HVS than the sharp contrast between strongly quantized DCT blocks. The PSNR may be less than block based codecs, but that doesn't necessarily mean that the perceptual quality isn't a magnitude greater.

LigH
15th March 2004, 21:46
Even the Indeo codecs up from version 4 were told to be "hybrid wavelet" in John McGowan's AVI Overview:

http://www.jmcgowan.com/avicodecs.html#IV41

Atamido
16th March 2004, 23:20
I didn't notice any ringing on the samples that I viewed of Rududu. I wouldn't say that it looked better or worse, just different. The artifacts from it were different from what you see on the MPEG-4 based codecs. Very promising looking though.

MfA
17th March 2004, 05:47
Just came across Dirac (http://sourceforge.net/projects/dirac/). Pretty much an identical approach to Rududu, except open source.

Very interesting, it is from the BBC R&D department. Code looks nice ... although it will scare the typical C lovers, hell it even uses STL!

trbarry
17th March 2004, 14:35
That Dirac thing looks interesting.

And the reason I was asking about the hybrid codec was that if I-frames could be coded more efficiently with wavelets (vs current MPEG-4 DCT) then the economics would change slightly. It would be more efficient to use maybe a slightly higer percentage of I-frames, so the total improvement might be a bit higher than you would first think. But I'm only suggesting this based upon some casual comments I read that maybe wavelet encoding does not yet handle motion comp quite as well.

- Tom

MfA
17th March 2004, 17:42
"Standard" wavelets cant handle hard motion edges well because they cannot sparsely represent hard edges, and in real images the motion edges are hard. You can fudge them to make the result more amienable to wavelet coding, but that increases distortion. This isnt so much a problem with 8x8 MC though, so this should be able to beat MPEG-4 at least.

If you want to get the bitrate as low as possible though you need to handle the hard edges inherent in motion, no way around it.

cweb
30th April 2004, 19:21
Slashdot posted about Dirac today.

Here's a link to the BBC's own Dirac site:
http://www.bbc.co.uk/rd/projects/dirac/overview.shtml

and this is the Slashdot link:
http://developers.slashdot.org/article.pl?sid=04/04/30/1650234

They posted about an article on Dirac:


From BBCi: 'Dirac is a general-purpose video codec aimed at resolutions from QCIF (180x144) to HDTV (1920x1080) progressive or interlaced... Our algorithm seems to give a two-fold reduction in bit rate over MPEG-2 for high definition video (e.g. 1920x1080 pixels), its original target application. It has been further developed to optimise it for internet streaming resolutions.' http://www.ntk.net/2004/04/30/#TRACKING

Backwoods
2nd May 2004, 03:03
Are there samples anywhere?

kilg0r3
2nd May 2004, 13:28
Isn't rududu another option?

trbarry
2nd May 2004, 14:00
Does Rududu use wavelets for I-frames with block based motion comp?

- Tom

kilg0r3
2nd May 2004, 14:06
erm ???

Tommy Carrot
2nd May 2004, 14:08
Originally posted by trbarry
Does Rududu use wavelets for I-frames with block based motion comp?

- Tom

Rududu uses wavelet for all frames. I think it uses overlapped motion comp.

LigH
3rd May 2004, 09:05
Unfortunately, there seem to be only sources available:

http://sourceforge.net/projects/dirac

Would anyone like to build one?

dimzon
11th May 2004, 13:58
Originally posted by MfA
"Standard" wavelets cant handle hard motion edges well because they cannot sparsely represent hard edges, and in real images the motion edges are hard. You can fudge them to make the result more amienable to wavelet coding, but that increases distortion. This isnt so much a problem with 8x8 MC though, so this should be able to beat MPEG-4 at least.

If you want to get the bitrate as low as possible though you need to handle the hard edges inherent in motion, no way around it.

What does You think about using "Adamar transform" instead "Fourier transform"? 8 years ago i worked on image processing algorithms and "Adamar transform" was extremely faster than iDCT.
Fourier transform is splitting sourse to the sum of sinusoidal signal's
Adamar transform is splitting sourse to the sum of rectangular signal's

MfA
11th May 2004, 14:27
Hadamard is a replacement for the DCT, but not for wavelets. The small DCT blocktransforms as used in H.264 dont really suffer the problem. Small block transforms are pretty well adapted to DFDs, especially when you use block MC.

dimzon
11th May 2004, 15:09
Originally posted by MfA
Hadamard is a replacement for the DCT, but not for wavelets.
Yes, of couse! I think it's possible drammaticaly increase compression speed at same(or very close) quality!

d'Oursse
13th May 2004, 17:41
Originally posted by LigH
Unfortunately, there seem to be only sources available:

http://sourceforge.net/projects/dirac

Would anyone like to build one?
look here :

http://atlas2.tgv.net/~media-video/forum2/viewtopic.php?p=47158#47158

LigH
13th May 2004, 18:21
Not quite a VfW codec ... but, well - thank you for testing material! ;)

MfA
17th June 2004, 20:28
Qccpack recently gained a very advanced wavelet based coding method, RMWH (redundant-wavelet multihypothesis).

Should give significantly better results than Dirac (it has a better motion model, mesh based, and it uses multiple predictions just like H.264). Dunno if you could get it realtime though, the redundant wavelet transform really sucks up cycles.

P0l1m0rph1c
17th June 2004, 23:48
It could be even slower than Dirac? :rolleyes:

Mario Bros
18th June 2004, 17:06
RadGameTool's Bink Video codec also uses wavelet and DCT hybrid
technologies for compressing and it's speed is acceptable.
You can get more information at www.radgametools.com/bnkmain.htm