[FFmpeg-devel] ZMBV Improved Motion Estimation
Kostya
kostya.shishkov
Thu May 8 08:42:54 CEST 2008
On Wed, May 07, 2008 at 10:27:13PM -0700, Mike Melanson wrote:
> Hi,
>
> I have been studying ZMBV (DosBox Capture Codec) for improvement
> opportunities. One of the first items I noticed was the motion
> estimator's block comparison function. Presently, the function XOR's 2
> blocks together bytewise and sums all XOR'd bytes, choosing the block
> with the lowest sum. This might help minimize error if the bytes in each
> block represented intensity levels. However, in this case, the bytes are
> palette indices and are more or less random numbers.
>
> I propose that it would be more effective to simply sum the number of
> bytes between 2 blocks that are different. I also obtained some hard
> numbers using FLI files (the -new files use the attached patch):
>
> $ dir *.avi
> 17104594 2008-05-07 21:44 zmbv-capcom.avi
> 16850122 2008-05-07 21:47 zmbv-capcom-new.avi
> 796366 2008-05-07 21:55 zmbv-crusher.avi
> 794910 2008-05-07 21:59 zmbv-crusher-new.avi
> 2364794 2008-05-07 21:53 zmbv-float.avi
> 2300892 2008-05-07 21:51 zmbv-float-new.avi
I remember I tested it on my favourite format (Sierra VMD) where XOR'ing
performed better but I'm not against any other metric.
Feel free to make more generic motion estimation too ;)
> --
> -Mike Melanson
More information about the ffmpeg-devel
mailing list