Terka
15th December 2009, 14:49
Hi again,
what about to limit the temporal deinterlace by the spatial following way:
lets have an edge in progressive picture:
ooooo
xxxxx
if a row is missing at the edge,
the spatial deint puts in missing line either the o or the x (or some mix)
the temporal deint does some filtering.
what about limit the missing pixel by threshold:
(2 condition with OR logic)
temp - o < threshold
or
temp - x < threshold
if the condition is FALSE, use the x or o where the difference is lower.
(comparing different lines)
Didée
15th December 2009, 19:58
Isn't Yadif doing something vaguely similar during the spatio-temporal check (which decides whether the initial interpolation is reasonable or out-of-bounds) ?
Consider the worst case scenario: a (progressive) source has absolutely no lowpass filter applied before interlacing, and you have a small 1-pixel detail:
progressive:
.. .. ..
10 10 10 \
99 99 99
10 10 10 /
.. .. ..
after interlacing:
.. .. ..
10 10 10 |
10 10 10 |
.. .. ..
In this worst case, the spatial hint is completely useless - the spatial hint says that this area is totally flat. Of course those "99" signal peaks are supposed to be there, but even if a temporal filter would suggest to put in those 99's, any spatial hinting would forbid to do so. It gets somewhat less dramatic when the source has been lowpassed before interlacing, but the basic problem is always the same: In the general case, a spatial check is not sufficient.
Regarding threshold leeway, there's the old circle of problems:
a) Hard threshold system: (thresh = fixed value)
a1) Rather low differences may already be too much (if the area is truly flat), while
a2) somewhat bigger thresholds still may be too small for detailed areas
(If [small value] ?= too big +and+ [big value] ?= too small, obviously there's a problem)
b) Adaptive threshold system: (make thresh relative to local min-max values)
Adaptiveness is a good idea: use small thresh for flat areas, and big thresh for detailed areas.
Here, the problem is that the available data about local min-max is not sufficient: in the above example, the local min-max is exactly zero, making the adaptive principle totally fail in this case.
(Again, in the general case) - When relying on spatial checking, it is only possible to do a partial reconstruction of the missing data. A full reconstruction is unlikely. If you only have a partial reconstruction, the missing part means that the result will show bOb-BoB-bOb ... a bobby result, again.
If the source has had a sufficiently strong lowpass before interlacing, then most of these problems hardly do matter. But then, if the lowpass was strong enough, then everything is rather easy, and the existing Yadif & Co. are already doing a pretty good job. For those easy cases, the existing solutions are sufficient. For the harder cases, the methods that failed in the past will still fail today.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.