Hi Stefan,
Nice Algorithm... it seems to fall into the class of 'median' style
non-linear filters. These are very important in the x2 upscalers used in
motion-adaptive deinterlacing in current mainstream Digital TV chips for flat
panel displays. There are quite a few variations (every firm has to come up
with their own to avoid the patents of other firms). The basic idea is just
the one you came up with though: don't just pick a 'dumb' spatial average
based on some signal theory that probably doesn't really apply too well to
images. Instead try to come up with a pixel that is reasonably
'typical' (close to the mean / median) of a small 'context' around the
sampling point.
For the same x2 special-case asd your algorithm there is also some very
interesting work based on ideas from some Sony researchers. Here you again
choose your weights dynamically based on context in which your new pixel
appears. However, the weight-selection function you use constructed by a
'learning' process. You 'train' your 'smart filter' on a huge set of training
data (upscaling downsampled video and trying to match the original as closely
as possible).
The results are sometimes eerily good!
The training approach (and the larger 3x3 'context' they use) allows them to
avoid certain kinds of artefact I (suspect) your technique might have in
common with median-like non-linear scaling filters. The usual complaint is a
tendency to optical 'fattening' of fine features. Median filters also tend
to be expensive (in HW) to get to work for fractional scale factors. Though
I suspect yours is quite 'friendly' in that regard.
Also, in fairness to the 'dumb' signal theory approach in the 'real world' you
*never* just apply a reconstruction filter alone. You always run some kind
of adaptive sharpening as well to steepen the otherwise unprettily 'flat'
transitions a linear reconstruction filter alone would give you. The
combined results can also be pretty good and the technique has the advantage
of robustness and that it is clean and efficient to implement in 'streaming'
1-pixel-per-cycle VLSI hardware.
cheers,
Andrew
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Mjpeg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users