Log in

View Full Version : USE nnedi for deinterlace "temporal way"?


Terka
7th June 2008, 15:11
nnedi is only spatial its a pity, because if both spatial&temporal it will be great deinterlacer!
why not to try use it temporal way?
123456
x-x-x-x
-x-x-x-
x-x-x-x
-x-x-x-
nnedi proceeds first frame 1, than 2 ...
x-x-x-x
Nx-x-x-
x-x-x-x
Nx-x-x-

>lets transpose the clip -change temporal x spatial axis (like transpose in math or excel)
from:
x-x-x-x (1st row, 7 frames)
make:
x
-
x
-
x
-
x
(1st frame 7 rows)


..and this proceed by nnedi
x
N
x
N
and than back to :
xNxN.
first row finished. same for row nr. 2
the result can be then used with classical nnedi in final deint. method.

Didée
7th June 2008, 16:29
Swapping the dimensions wouldn't make much sense. There's no benefit to expect from using "edge directed interpolation" on the temporal axis. The "shape" of the signal on the temporal axis usually is flat. This very point is the reason why things like motion-compensating frame(N) to frame(N') do work at all: no fancy interpolation is needed (except for location), a plain copy operation is mostly sufficient.
For those regions where plain copying or similar linear methods don't work (hiding/revealing areas, rotations, shearing, etc.), e.d.i. interpolation is not-at-all suited to deliver the wished result. In particular if there is motion, then the data at a given area in your swapped-dimension space isn't even correlated (you'd need motion compensation to achieve correlation). Running an interpolator on not-correlated data is pretty much pointless.

Terka
8th June 2008, 08:58
Didee,

To be brief:
I know you are guru in this, but this time i want to try it. Is hard for me to explain the reason in english :(, so sorry i will not explain it. Maybe its worthless, maybe not. (You speak about mo-co. But the data for N and N' are not same. Missing lines are there.)

Thats why "try/error" method will answer.

Terka
8th June 2008, 09:50
could someone help me with the code-how to do the "line loop"?

Terka
12th June 2008, 12:23
It can be done with crop, adding frames to end and stackvertical, but its seems be too complicated/long code