Log in

View Full Version : Adaptive Deblocking


Forteen88
15th August 2009, 16:06
Of course you can disable inloop deblocker. Many Blu-rays disable that because they blur too much.
I wouldn't disable it (because then macroblocking may occur more often), but --deblocking -3:-3
is quite good for sharper picture in HD-resolutions, but not that prone to macroblocking. Of course, it's depending on the source, if it's cartoon/anime, then the default x264-deblocking (0:0) is pretty good.

kolak
17th August 2009, 15:06
I wouldn't disable it (because then macroblocking may occur more often), but --deblocking -3:-3
is quite good for sharper picture in HD-resolutions, but not that prone to macroblocking. Of course, it's depending on the source, if it's cartoon/anime, then the default x264-deblocking (0:0) is pretty good.

I use very low deblocking settings (-5, -6) or even off. If you have high bitrate than you don't need deblocking filter on.
Sony's encoder Blu-code has a nice option, which automatically changes strenght of the deblocking filter- it works very well. It also tries to have it off for sharper picture.


Andrew

buzzqw
17th August 2009, 15:34
Sony's encoder Blu-code has a nice option, which automatically changes strenght of the deblocking filter- it works very well. It also tries to have it off for sharper picture.

that's a good suggestion for x264 developer ;)

BHH

kolak
17th August 2009, 21:38
that's a good suggestion for x264 developer ;)

BHH

I've already mentioned it some time ago and Dark Shikari is aware of it. He didn't like to much, I think it does work quite well :)


Andrew

Dark Shikari
17th August 2009, 21:59
I've already mentioned it some time ago and Dark Shikari is aware of it. He didn't like to much, I think it does work quite well :)


AndrewThere's no point in adaptive deblocking unless you can come up with a good algorithm to choose deblocking strengths.

And I haven't heard any suggestions yet... :p

LoRd_MuldeR
17th August 2009, 22:07
And I haven't heard any suggestions yet... :p

You didn't have a look at Blu-code's ASM code yet? Or was their adaptive deblocking algorithm simply too bad? ;)

shon3i
17th August 2009, 23:32
Well i don't know for other encoders but Ateme have such great adaptive deblocker i ever seen. General thing is that original sharpness is still there. With x264, i never sucess to find golden middle, because it is video or too blurry or blocks are visible. With MC i got that -1,-1 keep original sharpnes but is still wrose than Ateme's -2, MC's -2,-2 or -2,-+x produce almost same behavior as x264

kolak
17th August 2009, 23:46
There's no point in adaptive deblocking unless you can come up with a good algorithm to choose deblocking strengths.

And I haven't heard any suggestions yet... :p

I'm not good enough :)

Blu-code applies 6,6 for black video for example- I don't think their algorithm is very sophisticated.
Overall it almost doesn't use deblocking filter at all!


Andrew

popper
18th August 2009, 00:31
There's no point in adaptive deblocking unless you can come up with a good algorithm to choose deblocking strengths.

And I haven't heard any suggestions yet... :p

"tries to have it off for sharper picture." i thought the porn industry were all using AVC HD for sharper pictures these days :devil:

back to the good algorithm for a adaptive deblocking problem.


the paper from Sang-Hee Park, Suryanto, Hyo-Kak Kim, and Sung-Jea Ko,
at Korea University,
Department of Electrical Engineering,
Anam-Dong Sungbuk-Ku,
Seoul 136-317,
Korea
gives an interesting Abstract http://www.sfcc.re.kr/Attachment/%5B4%5DIntJour115.pdf
and gives you visual references as to the problems, and they say "we have tested our proposed algorithm using H.263 video and JPEG image, it can also be applied to any image or video coded by block-based codecs."

its odd, given its not just an H.264 problem, but it seems theres been very little real OSS test code written and tryed for suitability on this adaptive deblocking problem so far, at least that i could find.

popper
18th August 2009, 02:29
http://alexandria.tue.nl/extra2/200610818.pdf
Video Enhancement Using Content-adaptive
Least Mean Square Filters

wide range
of video enhancement tasks.

it seems interesting if you potentially try and use and modify were required the Chrominance Resolution options presented but do not do the actual final 'Up-conversion' parts as the end result, yet take them into consideration and use it for the actual picture enhancement and collecting measurements For classification it might be a good thing to test out for picture improvements at both higher and lower bitrates too...

as does the/his 'Least Mean Square' (LMS) optimisation idea's but it appears thats currently only really used in HW FPGA/ASIC! implimentations so far, although it seems it would/could be a very good thing to try out in finer grained SW optimisation options too!.. in combination with the above Chrominance Resolution options idea's , thats assuming OC parts of it re not already in there and fully SIMD optimised ;)

CruNcher
18th August 2009, 12:11
Well i don't know for other encoders but Ateme have such great adaptive deblocker i ever seen. General thing is that original sharpness is still there. With x264, i never sucess to find golden middle, because it is video or too blurry or blocks are visible. With MC i got that -1,-1 keep original sharpnes but is still wrose than Ateme's -2, MC's -2,-2 or -2,-+x produce almost same behavior as x264

Sharpness doesn't only have to come from the efficient use of the Deblocker ;)

dukey
21st August 2009, 13:13
There's no point in adaptive deblocking unless you can come up with a good algorithm to choose deblocking strengths.

And I haven't heard any suggestions yet... :p

something based on spatial resolution. You notice blocking in areas of low spatial resolution because it introduces mach banding, giving the appearence of detail where there should be none. In areas of high spatial resolution, you really don't notice blocking so much.

sonnati
21st August 2009, 16:59
Perhaps It could be possible to use the mb-tree related infos and the level of motion to apply an adaptive deblocking. More deblocking in high moving parts, less deblocking in static or still parts. I think On2 is implementing a similar approach in VP8.

Mr VacBob
21st August 2009, 17:31
mb-tree already does that by adjusting quantizers. Deblocking strength itself can only be adjusted per frame (or slice), but is already adaptive.

popper
21st August 2009, 17:34
something based on spatial resolution. You notice blocking in areas of low spatial resolution because it introduces mach banding, giving the appearence of detail where there should be none. In areas of high spatial resolution, you really don't notice blocking so much.

those PDF i already linked to above bring up several aspects of the "Spatial deblocking algorithm based on human
visual system."

and spatial de-interlacing, spatial resolution, Image Restoration, Spatial interpolation etc, have a read its interesting and seems to have lots of potential, as does classification-based data collection Least Mean Square (LMS) filtering for video resolution up-conversion, and/or enhancement etc, but thats for the test code to be written and tryed first and if found true, implemented were it helps later.

weather Spatial deblocking will prove an added improvement over Adaptive deblocking or a combination of both is the better quality V speed +size option, plus abstracts from all the above in different sections will become an improved option for both high bitrate HD and low bitrate SD Encoding, or even if anyone wants to try, iv no real idea.

MfA
21st August 2009, 23:09
The problem with deblocking is that the optimal deblocking for coding might not be the optimal deblocking for display (at least for some people). It's a pity the H.264 players don't have an option to have them be different.

benwaggoner
22nd August 2009, 01:01
The problem with deblocking is that the optimal deblocking for coding might not be the optimal deblocking for display (at least for some people). It's a pity the H.264 players don't have an option to have them be different.
It's designed to be an in-loop deblocker. We really don't want decoders to start messing with it.

LoRd_MuldeR
22nd August 2009, 01:27
It's designed to be an in-loop deblocker. We really don't want decoders to start messing with it.

As far as I understands he suggests that the deblocking strength can be controlled separately for the reference frames and for the final display output. Or in other words: The decoded frames are deblocked by an user-defined strength before they are displayed. At the same time decoded frames are deblocked by an encoder-defined strength before they are used as reference. I have no idea how useful that would be, but it certainly would increase the processing time needed for decoding, because all referenced frames would need to be deblocked twice...

Dark Shikari
22nd August 2009, 01:28
There is already an SEI that tells the decoder to display the frame before deblocking it...

MfA
22nd August 2009, 02:33
Yes, but it shouldn't be an encoder choice ... some people like more deblocking, some less.

nm
22nd August 2009, 11:02
Yes, but it shouldn't be an encoder choice ... some people like more deblocking, some less.
Well, if you implement deblocking in a decoder as LoRd_MuldeR described, deblocking strength for the showed frames can be controlled by the user. It's just less efficient.

Sagittaire
22nd August 2009, 12:08
I'm not good enough :)

Blu-code applies 6,6 for black video for example- I don't think their algorithm is very sophisticated.
Overall it almost doesn't use deblocking filter at all!


Andrew

You can make that with really better way, with AQ for example. Inloop is adaptative by definition in H264 standard. Good and simple idea can be inloop matrix like ateme have. It will be really simple to implement I think. Personaly I prefer lower inloop strenght for low quant and higher inloop for high quant even if I repeat that inloop is adaptative by itself for each quant level.