Log in

View Full Version : Deblocking/Deringing JPEG decoder?


benwaggoner
29th November 2011, 19:52
I've got a JPEG image sequence to use as a source for something.

But the quality isn't great, with some deblocking and deringing artifacts I'd like to clear up.

I've tried BlindPP and other "dumb" deblocking filters, and they tend to kill detail on the text I'm trying to get ringing away from.

Does anyone know of a functional JPEG decoder that'll do QP-adaptive deblocking and deringing? A good one should be able to outperform one that only gets to know where the block boundaries are.

And if such a beast doesn't exist, anyone have some tips to make the existing filters work better.

Reimar
29th November 2011, 22:32
If libavcodec exports it, e.g. MPlayer's -vf (f|u|)spp should use the Qp values.
However so far it only supports "normalizing" MPEG-1, MPEG-2, H.264 and VP6-style Qp values, JPEG might not necessarily fit into any of these and thus using the Qp values might actually even give worse results than just a fixed value on the command-line...

CruNcher
30th November 2011, 16:49
i didn't tried SPP for a long time indeed but most of the time i use http://avisynth.org.ru/unblock/unblock.html it is just awesome visualy though it also has the speed deficiency like spp (it's really sad that never anyone invested the time to speed it upt) i also use it for my fast GPU upscaling as pre process it never let me down visualy :)
the avisynth scripts that use the normal H.264 based deblocking (by manao) are all to aggressive for me visually even @ low quants they blur to fast imho never had this issue with unblock in high motion it looks like the camera motion blur you wont notice it, especialy on very fine detailed blocked stuff like hair it does a amazing job :) (but yeah it's damn slow)
Though i might be the only one on Doom9 that still finds VC-1 very exciting in certain visual areas (Psy implementation) compared to even x264 ;)

benwaggoner
6th December 2011, 22:34
How is it on deringing? It seems like deringing is the real challenge, and sadly often needed. My source's source had a lot of fine text and lines, which have quite a lot of ringing artifacts in the output. And since ringing looks a lot like detail, conventional preprocessing techniques tend to kill the detail I'm trying to preserve before they get rid of the artifact I don't!

Nice to hear someone is still enjoying VC-1! Have you played with the dynamic resizing stuff for Smooth Streaming? It makes VC-1 very competitive to dynamic streaming targeting software decoders.

*.mp4 guy
7th December 2011, 00:13
If you look at the math, deringing is borderline impossible. That is why it's always tackled with thresholded blurs, deblocking is similarly impossible, but its easier to cheat because blocky partitions are usually fairly empty, the failure doesn't matter. When you get stuff such as old school mpeg2 that sometimes has heavy blocking while still being detailed, the limits of deblocking are more clearly seen.

dukey
7th December 2011, 01:42
u should deblock only in areas of low spatial resolution