[Ffmpeg-devel] improving encoding (possibly big perceptual gains)
Mon Jan 2 23:26:10 CET 2006
On Mon, Jan 02, 2006 at 01:56:59PM -0500, Rich Felker wrote:
> On Mon, Jan 02, 2006 at 07:37:40PM +0100, Michael Niedermayer wrote:
> > On Wed, Dec 28, 2005 at 04:09:32PM -0500, Rich Felker wrote:
> > > with all the recent discussions over improving lavc, i've got some
> > > ideas. mainly i'm worried that psnr is very misleading when trying to
> > > improve motion estimation decisions since often a particular motion
> > > vector will give better psnr but much worse actual quality due to loss
> > > of small detail and mud/blocking.
> > >
> > > because of this, i'd like to suggest that lavc be extended to measure
> > > the 'uqi' (universal [image] quality index) proposed by the paper at
> > > this site:
> > >
> > > http://www.cns.nyu.edu/~zwang/files/research/quality_index/demo_lena.html
> > >
> > > i think the images there speak for themselves regarding how stupid
> > > psnr is as a judge of quality.
> > >
> > > however, printing statistics isn't much use if you can't actually
> > > improve encoding. so the main idea is too add a *cmp function to
> > > measure the uqi and use this for motion estimation and optimal
> > > quantization and qprd, etc. maybe also the ratecontrol engine itself.
> > > this should do a much better job of telling when it's ok to use poor
> > > quantization, zero ac coeffs, etc. and when it will look like shit
> > > (like the last lena picture ;).
> > theres a problem with using this quality meassure for any decission,
> > look at it, it pretty much ignores brightness changes, not only will
> It doesn't. There are 3 factors: correlation, brightness, and
> contrast. If you think the brightness and/or contrast are weighted too
> low for use in encoding decisions you can apply an appropriate
> exponent to them.
Just a small comment: I don't think one measurement or the other will do
the trick. Having several available to choose from and use
simultaneously will IMO give the best results.
More information about the ffmpeg-devel