Log in

View Full Version : Interlaced resizing


jpsdr
14th December 2010, 19:02
Hello.

How can i resize in interlaced mode ? Each field resized separately.
I've tryed AssumeFieldBased() followed by a PointResize(), but resize has been made on the whole frame, and not on each field.
So, i'm asking...

:thanks:

Gavino
14th December 2010, 19:17
Various ways, depending on speed and quality required, and whether you want separated fields or not at the end. Eg Bob(..., height=xxx) or any of the variants of 'nnedi'.

jpsdr
14th December 2010, 19:29
Aren't these filter made for deinterlacing ? This is absolutely not what i'm looking for.
I've take a look at the parameters of nnedi3_rpow, and nothing about resizing each frame independantly...
I want to resize an interlaced video, and result still interlaced.
Exemple for a 720x480 at 1280x720 will be : Each field create two 720x240 images, each one is resized independantly at 1280x360, and final frame reconstructed to 1280x720.

Didée
14th December 2010, 19:30
Read e.g. this thread (http://forum.doom9.org/showthread.php?t=88116). It starts about cropping, then turns to resizing.

jpsdr
14th December 2010, 19:45
Thanks.

Gavino
14th December 2010, 20:14
Aren't these filter made for deinterlacing ? This is absolutely not what i'm looking for.
I've take a look at the parameters of nnedi3_rpow, and nothing about resizing each frame independantly...
That's why I said "depending on requirements".
Both Bob and nnedi3_rpow produce progressive output, but each one does resize each field independently, adjusting for different alignment of top and bottom fields. If you want an interlaced result, you can reinterlace afterwards.

2Bdecided
15th December 2010, 15:13
Exemple for a 720x480 at 1280x720 will be : Each field create two 720x240 images, each one is resized independantly at 1280x360, and final frame reconstructed to 1280x720.That's not a very useful example because 1280x720 is never interlaced.

Cheers,
David.

sumawo13
16th December 2010, 03:26
Hello.

How can i resize in interlaced mode ? Each field resized separately.
I've tryed AssumeFieldBased() followed by a PointResize(), but resize has been made on the whole frame, and not on each field.
So, i'm asking...

:thanks:

Maybe you could try:

bob().spline16resize(new width,new height).selectevery(4,0,3)

Gavino
16th December 2010, 11:08
bob().spline16resize(new width,new height).selectevery(4,0,3)
You've missed out some steps in the re-interlacing part.
Also, you can do the vertical resize in Bob (although it will be done via BicubicResize).
bob(height=new height).spline16resize(new width,new height)
separatefields().selectevery(4,0,3).weave()

sumawo13
16th December 2010, 20:40
You've missed out some steps in the re-interlacing part.
Also, you can do the vertical resize in Bob (although it will be done via BicubicResize).
bob(height=new height).spline16resize(new width,new height)
separatefields().selectevery(4,0,3).weave()

Ah, yes. It was late, sorry if I caused any confusion for the OP.

Malaksbane
19th December 2010, 23:24
Sorry to break in with a related issue.
I thought it might be possible to mix HDV and DV production (from HDV footage), but I wasn't convinced that simply resizing the individual fields - as appears is done here - would be correct, they each miss half of the lines, afterall.
Ideally, I figured, I'd have to reconstruct the fields to full frames (with (dual?) NNEDI which is aware of the missing lines), resize and then reinterlace, by dropping lines and not just reweaving.
Would that be overdoing it, or just wrong, or ...?

2Bdecided
20th December 2010, 15:00
Are you upscaling DV to HDV, or downscaling HDV to DV?

For DV > HDV...
http://forum.doom9.org/showthread.php?t=145314

For HDV > DV...
http://forum.doom9.org/showthread.php?t=142682

Both are examples of interlaced resizing.

In neither case would I use separated field resizing (even the correct way) because I think other methods look nicer.

Cheers,
David.

Alex_ander
21st December 2010, 10:24
Ideally, I figured, I'd have to reconstruct the fields to full frames (with (dual?) NNEDI which is aware of the missing lines), resize and then reinterlace, by dropping lines and not just reweaving.

NNEDI's 'awareness' only means that (compared to field resizing with shift correction) it will not modify the lines of the field it uses. In case vertical spatial bandwidth is strictly limited to half, the method works perfectly. But if the picture has full sharpness, throwing away a field will produce artifacts (as with field resizing). For this reason NNEDI is often used in combination with motion estimation (those slow scripts), with intention to use information from the other field for reconstruction of still parts of the image.