View Full Version : Is deblock and grain a tradeoff/compromise?


PuzZLeR
30th July 2007, 00:12
Hello again,

I understand that FGM is part of the H.264 standard. However, AFAIK, none of the most known implementations, including x264, have yet to support it.

Being from the DivX camp originally, even though it was a decoder feature, there was a grainy feel to the video that was encoded, which had its advantages and disadvantages.

I don’t know what’s better sometimes: the fact that DivX may be destroying your video, but just in the right places, so the decoding can rescue it and make it look nicer (which can be controversial IMHO). Or is it better that x264, and H.264 in general, deblocks and intelligently creates a slight blur to hide blockiness? This can be controversial too when in fact it creates fictional content, but at least it’s not reliant on special decoder features.

This deblocking is very similar to a “Smart Blur” feature in Adobe’s Photoshop. This filter would remove moiré and “waves” from scanned images and make the images come out looking sweet, even reducing file size, however it would eat some background details.

Don’t get me wrong. I did use terms like “smart” and “intelligently” but nevertheless, I find it somewhat tricky.

For example, the differences were incredibly noticeable when I encoded a soccer game with both x264 and DivX with the same bitrate (1350kbps).

With x264, the players, audience, ball, motion, etc came out looking considerably nicer, however the grass had a green “watery” look. With DivX, there was blockiness at times and some motion was “scratchy”, however the grass turf had that nice “grainy” quality, much closer to the feel and look of the source.

Could it be the deblocking standard of H.264 that seems to cancel out the grain factor in the process and implementations have yet to work this out?

I’ve tried settings to rectify this. I’ve used no-fast-pskip=1 with combinations of alpha and beta for the deblock filter. No luck. Still a “washed” look to the grass. Are there any settings that can help? I know there’s special decoder features that can do this, but I’m one that believes that most of the work should be done in the encoding phase.

Agree or disagree, I’d love to hear what the community has to say. Thanks for reading.

Sagittaire
30th July 2007, 00:36
I understand that FGM is part of the H.264 standard. However, AFAIK, none of the most known implementations, including x264, have yet to support it.

Ateme and Thomson implementation have FGM ...

With x264, the players, audience, ball, motion, etc came out looking considerably nicer, however the grass had a green “watery” look. With DivX, there was blockiness at times and some motion was “scratchy”, however the grass turf had that nice “grainy” quality, much closer to the feel and look of the source.

Grass is complex texture. AQ with texture masking can certainely help here. For exemple Mainconcept implementation have texture masking (AQ) and you can use use positive value (better quant for high complexity texture) or negative value (better quant for low complexity texture). Mainconcept implementation have "grain optimisation" setting too. Anyway the best HVS way is to use higher quant for complex texture ...

PuzZLeR
30th July 2007, 00:44
Bonjour Sagittaire,

This must be news then if Ateme supports FGM. Too bad at the consumer level you can only use Ateme through Nero Recode, which limits it somewhat...

As well, MainConcept did too many funny things to my PC. But maybe I can give it another shot.

You mentioned AQ with texture masking. Did you mean this is in the x264 implementation as well? Any settings I can try without raising bitrate too much or lowering quantizer?

Thanks.

CruNcher
30th July 2007, 12:42
http://www.yuvsoft.com/technologies/film_grain/index.html
Example of an FGM Algorithm by the MSU researchers :)
Research on Doom9 about (Grain,Noise,DeGrain,Regrain and it's impact on Metrics/HVS) can be found in the Avisynth forum

delacroixp
10th December 2007, 00:59
BREAKING NEWS ON H.264 (http://forums.divx.com/forum/viewTopic.php?id=4829)


Grass is complex texture.
AQ with texture masking can certainely help here. For exemple Mainconcept implementation have texture masking (AQ) and you can use positive value (better quant for high complexity texture) or negative value (better quant for low complexity texture).
Mainconcept implementation have "grain optimisation" setting too. Anyway the best HVS way is to use higher quant for complex texture ...

Since DivX have acquired Mainconcept it may be worth your while to give it whirl and improve your grassiness.


:):devil::D
Pascal

Sharktooth
11th December 2007, 04:13
not so new...
however, yes, DXN is jumping on the h.264 train. that will surely mean they have a good h.264 codec to start with :)