PDA

View Full Version : Compression for Motion Vectors


nilgosavi
24th November 2005, 08:25
I am working on building a video codec but am having trouble with unrealistically large total motion vector data which is written. This is after using an arithmetic encoder for encoding the motion vectors. Is there some other processing that I can do before sending the motion vectors to the arith coder, which might compress them further. Your help in this would be really appreciated.

Hellworm
24th November 2005, 13:33
You can try to detect groups of mvs that are nearly the same and pack them together as objects with own tables.

MfA
24th November 2005, 21:35
Are you using full search based only on SAD? R/D optimized search tends to smooth out the motion considerably, in a pinch you can simply add a penalty to the difference measure depending on the difference of the MV with it's neighbours.

How are you determining the probabilities for the MV outliers for the arithmetic coding BTW?

Manao
24th November 2005, 23:40
nilgosavi : instead of coding the MV itself, code the difference between the MV and the median of the vectors of the TOP / TOP-RIGHT / LEFT macroblocks. Since the MV field is supposed to be rather smooth, it should help.

bergi
25th November 2005, 12:08
Some time ago someone here in the forum had the idea of wavelets for motion vectors but many people thought it's a hype about wavelets. I think it's a good idea. If you have adaptive block sizes there isn't a better way than a haar wavelet transform.