[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Opendivx] wavelets



No joking. The problem is that the work is not easy :-)
For example, there are many postprocessing filters, but only a few can be
implemented in realtime (all the POCS-projection onto convex sets, for
example; regularization- based filters, or the wonderful coding-recoding
dct filter are not realtime)
There is a lot of work on better dct coding;
for example:
- an algorithm that builds directly a postprocessed idct:
http://citeseer.nj.nec.com/details/wu98additive.html (very good artiocle
by the wonderful Gersho)
- enhanced dct coding, spreading error:
http://sipi.usc.edu/~ortega/Thesis.html
http://www-ise.Stanford.EDU/class/ee392c/demos/kesavan/
http://www-ise.Stanford.EDU/class/ee392c/demos/anna_alvin_gomata/
- pocs postprocess:
http://www.en.polyu.edu.hk/~enyhchan/c_98csvt.ps
http://www-ise.Stanford.EDU/class/ee392c/demos/galo/
http://www.en.polyu.edu.hk/~enyhchan/c_97spl.ps

Motion estimation:
http://www.eurasip.org/eusipco96/abstract/all.htm#me_9
it is easy to see why motion estimation is important; if you get
"near perfect" matches you end up with a differential image with very high
frequency content and difficult to dct encode. Since P and B (predicted)
images are the majority, it is important to code efficiently those. In my
experiments, I discovered that it's better to start with a very high
quality I frame, and adapt the motion estimation algorithm of the encoder
depending on the image content (also see:
http://www.research.ibm.com/journal/rd/434/gonzales.html)

Preprocessing:
anisotropic diffusion is the most common method:
http://vision.ece.ucdavis.edu/ftp/cipic/reports/92/02/demo/node3.html
also:
http://vision.ece.ucdavis.edu/scripts/reportPage?95-04
There is not much research on using motion to do preprocessing (apart some
expert that says that's not good, but that applys only to best match
motion estimation). You need to use a robust optical flow estimator, and
use the motion vectors from the optical field to do directional smooting
using anisotropic diffusion.

Iterative encoding: let's say that you have all the time you want to do
the encoding. You do:
1- estimate scene changes
2- extract subscenes between changes
3- encode them with different encoding parameters, choosing the result
with the lowest total error.
(this is done by some high end compression bureaus, I know that one of
them are using a Maspar MPP parallel machine)
As you see, it's a lot of work. But if you use all of them you can get
around 50% (I think something more, thanks to the sinergy between
preprocessing and motion estimation).
ciao
						Carlo Daffara

On Thu, 1 Feb 2001, John Funnell wrote:

> Carlo, thanks for your enlightening post:
> one thing... your percentages, when multiplied come to around 54% (I assume
> you're meaning bitrates).  So, equivalent quality in half the size?  This
> would incredible if we could do this :-)
> 


_______________________________________________
Opendivx mailing list
[email protected]
http://lists.projectmayo.com/mailman/listinfo/opendivx


Reply To Poster

Local References / HOW-TO / FAQs