[XviD-devel] Idea for encoding iframes (or images for that matter)

Ricardo Garcia rick_g22 at yahoo.com
Sat Aug 7 20:09:08 CEST 2004


Hi again. 

I have a few ideas in my mind about encoding.

Warning: wacko scientist talk below. Research in Image Processing
recommended.

The ideas are about making quadtree encodings for I-frames (or who
knows, B-frames too, and maybe implement a mixture of both,
N-dimensional encoding after processing all frames, who knows?).

But I have to know if it would be MPEG4 compatible (in theory i hope it
is, because I read that MPEG4 is extendable - or was that H.264? Argh
can't remember). or the heck if it works we could .

My idea is that a greyscale block could be also seen as a 3D plane in
space. The average value would be the center of mass of the finite
plane. However, we can define a perpendicular vector coming from that
center, and so we can rotate the plane in 3D to approximate our image.

A simple gradient could be stored with just 2 vectors. 

Now,
Split the square in quadrants, and re-calculate the center of mass and
rotation for each, storind their difference to the quadtree.  

Repeat the recursion until you get to pixel resolution. 

Actually, it would be done backwards. Start with 2x2 areas, calculate
the vectors, recalculate in pyramid scheme, and once you get the
definition pyramid (quadtree actually), calculate the diference as i
explained at first.

I really don't know if wavelets do something like this, I just know
that they split the image in frequency-scale quadrants, and re-apply
recursively to the upper half.

Does anybody know if my idea has been already
implemented/tested/reported as complete failure?

Well, at least I know that it "looks" faster than applying DCT, or full
wavelets. What do you think?

One idea would be having for the "global" plane, two vectors (one x,
one y - or maybe one x-y) for bending and twisting the image plane. The
vectors could be the coefficients for wavelets or polynomials,
whatever. So we could start with a *simple* profile for this, and later
other guys (codecs) could improve their analysis and provide more
efficient vectors.

If anybody is interested in the idea, he's free to try it and publish
the codec as open source (GPL or LGPL, LPGL preferredly ;-) ).

Anyway, this is the reason why i was interested in the "how it works"
algorithm of divx/xvid.

What do you think?


		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail 


More information about the XviD-devel mailing list