Motion Codecs


by Abraham Macías Paredes


SourceForge.net Logo

Under the name of "Motion Codecs" I have tried to make lossless windows codecs that compress motion (not only every frame separately).
The logic is very easy. One frame normaly differs only a little from the previous so the actual frame minus the previous frame may result many zeroes. And the zeroes can be compressed more than other number.

The bad size is that this is not allways true, and this frames can't be compressed very much. So only fixed images composed videos or animation movies ("cartoons") can be compressed better with those codecs.

These codecs have been done using the huffyuv codec like a skeleton.

Predictor codec
This codec uses the "predictor" algorithm as decribed in the RFC 1978.
Is a fast lossless codec but with very little compression.

Mhuffyuv codec

This codec is a modification of the original huffyuv codec to use "motion".

Direccional codec
This codec uses the "direccional" algorithm described here.


Comparative Chart:

The test video has been created from http://www.biteycastle.com/biteyWindow.htm (a flash animation called bitey of brackenwood) and a shareware version of ADShareit SWF to Video Converter. Only a few seconds of the start of the movie were used and with no sound.

CODEC
FILE SIZE
RAR COMPRESSED
CorePNG
30 MB
29.3 MB
CamStudio
31.8 MB
31.4 MB
AVIzlib
36.5 MB
34.6 MB
Direccional
47.5 MB
26.9 MB
MindVid
59.4 MB
27 MB
VBLE
71.2 MB
28.7 MB
Predictor
86.6 MB
22.8 MB
AVImszh
91.5 MB
32.5 MB
LOCO Codec
101 MB
36.8 MB
mhuffyuv
120 MB
34.3 MB
PICVIDEO Lossless JPEG
125 MB
25.6 MB
huffyuv
148 MB
36.9 MB


As you can see the best compression ratio was with codecs using the zlib. My next step will be create a new format applying the improvements of the direccional codec to the predictor codec in order to archieve a fast codec with a good compression ratio. And then I will try to use the Motion Compensation of the mpeg video with the direccional codec or the predictor with improvements (the best of the two).


NOTES: