View Full Version : Ordered Dither plugin for Avisynth?
pandy
19th October 2006, 03:17
Hi, is there any chance to make some kind of regular pattern dither for reducing banding effect?
I think that this kind of dither can be properly encoded by MPEG-2 or MPEG-4 encoder.
I know that plugin named BlockBuster have this feature but i think on specialized plugin similar to GradFun2DB...
AFAIK there is also special kind of dithering - "Albie" optimized for interlace displays.
TIA
Trixter
19th October 2006, 04:29
Hi, is there any chance to make some kind of regular pattern dither for reducing banding effect?
I think that this kind of dither can be properly encoded by MPEG-2 or MPEG-4 encoder.
No, your best bet is to let the encoder perform the dithering itself. CCE SP has this as an option ("Dithered Quantization"), and other encoders may have this as well. If you dither yourself before feeding it to the encoder, there will be severe consequences (such as screwing up the motion, or having the motion screw up the dither).
Mug Funky
19th October 2006, 04:34
1 bit dither should be fine... i second this request. perhaps gradfun could be modified to do this, too?
remember motion estimation in an encoder is done on quantized frames. the dither will be gone from the reference frame, and uniform dither on the current frame isn't really going to change ME decisions in a bad way.
besides, CCE's "dithered quantization" does just the same thing, only it probably does it in 10 bit yuv.
pandy
19th October 2006, 15:24
No, your best bet is to let the encoder perform the dithering itself. CCE SP has this as an option ("Dithered Quantization"), and other encoders may have this as well. If you dither yourself before feeding it to the encoder, there will be severe consequences (such as screwing up the motion, or having the motion screw up the dither).
I dont have encoder for HD signals with dither....
If dither is stationary (from energy point of view) there no motion problem. Sa not random but stationary dither with tightly concentrated energy from DCT point of view.
I tested few methods and seem that stationary dithering can be compressed by freeware encoders, i also reduce number of colors on planes Cb and Cr with ordered ditehr (lack of tool to add ordered dither wihtout reducing numbers of colors) and results from eye point of view was nice - (FFT of this pictures was clear, dither energy tightly concentrated on few points thus no reducing in DCT)
pandy
19th October 2006, 15:30
1 bit dither should be fine... i second this request. perhaps gradfun could be modified to do this, too?
remember motion estimation in an encoder is done on quantized frames. the dither will be gone from the reference frame, and uniform dither on the current frame isn't really going to change ME decisions in a bad way.
besides, CCE's "dithered quantization" does just the same thing, only it probably does it in 10 bit yuv.
So probably kind of gradfun + new dither which stationary (grid?) + maybe modified QM and... regularity of dither should be good compressible...
Main problem is recognize banding area, recreate lost bits (10/8.2 vs 8 bits) and stationary dither/noiseshape.
Trixter
19th October 2006, 15:35
besides, CCE's "dithered quantization" does just the same thing, only it probably does it in 10 bit yuv.
Which is really where it should be done, IMO. Doing so with a 10-bit DCT means you remove the posturization without touching the quality of the image too much.
pandy
19th October 2006, 18:24
Which is really where it should be done, IMO. Doing so with a 10-bit DCT means you remove the posturization without touching the quality of the image too much.
Can You recomend similar in functionality encoders for h.264 HP@L4.1 and h.262 MP@HL (with price less than 1k$ or even beter freeware)?
foxyshadis
19th October 2006, 18:38
So probably kind of gradfun + new dither which stationary (grid?) + maybe modified QM and... regularity of dither should be good compressible...
Main problem is recognize banding area, recreate lost bits (10/8.2 vs 8 bits) and stationary dither/noiseshape.
What kind of dither are we talking about? Encoding eats debanding for lunch. Even if you ran it in a dither pattern, it still gets eaten because it's extremely low amplitude+high frequency. BlockBuster works through encoding because it's a much higher amplitude noise, and even then it's usually smeared unless you're making very high birate encodes.
The only way it won't be is if you use a flatter matrix and steal from the more important lower frequencies; ie, introduce a lot of ringing and possibly blocking.
Question is, what are you trying to do? Encode files for standalone playback, for friends, for business distribution?
Can You recomend similar in functionality encoders for h.264 HP@L4.1 and h.262 MP@HL (with price less than 1k$ or even beter freeware)?
Akupenguin has indicated that he may do this for x264 in the future. Otherwise, the options are mainconcept and ateme, afaik. (Nero removed the feature from its implementation of Ateme's.)
pandy
20th October 2006, 02:43
The only way it won't be is if you use a flatter matrix and steal from the more important lower frequencies; ie, introduce a lot of ringing and possibly blocking.
Yes, i know it... but with regular pattern which should be very well compressible this should be no problem...
Maybe some qm with "hole" for some freq?
Question is, what are you trying to do? Encode files for standalone playback, for friends, for business distribution?
some private use... some testing areas...
Akupenguin has indicated that he may do this for x264 in the future. Otherwise, the options are mainconcept and ateme, afaik. (Nero removed the feature from its implementation of Ateme's.)
Hm... mainconcept don't work, have it, use it, swear it...
Mug Funky
20th October 2006, 06:03
hmm... i wonder how useful a noiseshaped dither would be if it did it's noise shaping based on a CQM the user inputs? ie put the dither in the higher numbers.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.