View Full Version : PAL to NTSC - How to preserve aspect ratio?
mantis2k
19th November 2005, 12:19
When I convert from PAL to NTSC, how can I preserve the aspect ratio for the following 2 conversions?
Fullscreen PAL to Fullscreen NTSC
LanczosResize(last.width, 480)
Letterbox PAL to Anamorphic NTSC
crop(0,60,0,-60)
BicubicResize(width,480)
*Should we add side borders during a PAL to NTSC conversion, which I doubt would get noticed anyway because of the NTSC safe zones?
*If the source has a width of 720, would it help to convert to 704, or does the TV/DVD player stretch it back to 720?
*Are most (or few?) PAL presentations already in the wrong aspect ratio, having been previously converted from an NTSC source, and would converting them back to NTSC automatically put them back into their correct aspect ratio?
My current method for PAL to NTSC is:
1) De-interlace video (or de-blend or match frames).
2) Resize to NTSC
3) Apply DGPulldown to change framerate
How can I preserve aspect ratio for fullscreen and anamorphic output in a single stage of resizing/cropping?
zambelli
21st November 2005, 04:40
It shouldn't be that complicated. 720x576 PAL should always be converted to 720x480 NTSC, regardless of whether it's full screen 4:3 or enhanced widescreen 16:9. The only exception would be a letterboxed PAL movie (in a 4:3 frame, approx. pic size 720x432) where you could do some cropping to take advantage of the extra resolution of PAL, like this:
Crop(0,72,720,432)
LanczosResize(720,480)
and then set a 16:9 flag on your output format
Mug Funky
21st November 2005, 06:59
additionally you can crop AND resize with 1 command like so:
LanczosResize(720,480,0,72,720,432)
an advantage of this is you can put floating-point numbers in as crop arguments, giving subpel control over aspect ratios (like you really need it...)
mantis2k
21st November 2005, 16:09
It shouldn't be that complicated. 720x576 PAL should always be converted to 720x480 NTSC, regardless of whether it's full screen 4:3 or enhanced widescreen 16:9. The only exception would be a letterboxed PAL movie (in a 4:3 frame, approx. pic size 720x432) where you could do some cropping to take advantage of the extra resolution of PAL
But fullscreen PAL to fullscreen NTSC loses it's aspect ratio.
I think I've found the correct solutions, but I'm still confused about 704 vs. 720. Also, most of my PAL sources I've tested look as though they could do with some "squashing" anyway, which goes back to one of my earlier points.
Fullscreen PAL to Fullscreen NTSC w/ preserved aspect ratio
Width = 720
#576 / 480 = 720 / X
#X = 720 / 1.2
#X = 600
LanczosResize(600,480)
#Add side borders 60 or 52?
addborders(60,0,60,0)
Width = 704
#576 / 480 = 720 / X
#X = 704 / 1.2
#X = 587 (must be even)
LanczosResize(586,480)
#Add side borders 59 or 67?
addborders(59,0,59,0)
Letterbox PAL to NTSC w/ preserved aspect ratio
Small Borders (borders < 108) = 4:3
crop(0,48,0,-48)
Big Borders (borders > 107) = 16:9
#crop away borders (size of each one is 120 in this example)
crop(0,120,0,-120)
#576 - 120 - 120 = 336 (height of picture left over)
#336 * 1.3333 = 448 (convert to anamorphic)
BicubicResize(width,448)
#480 - 448 = 32
addborders(0,16,0,16)
Does everything appear correct?
zambelli
25th November 2005, 02:33
But fullscreen PAL to fullscreen NTSC loses it's aspect ratio.
That can't be right. Are you actually encoding this with a 4:3 DAR flag and watching it back as square pixels? It sounds like you're confused by non-square pixels. Both PAL and NTSC use non-square pixels but of different ratio. You can't compare 720x480 to 720x576 without converting to square pixels first, otherwise it's apples and oranges. Square pixel NTSC is 640x480 and square pixel PAL is 768x576.
I think I've found the correct solutions, but I'm still confused about 704 vs. 720.
704x480 is technically the correct NTSC broadcast ratio. However, 720x480 is close enough so don't lose sleep over it - unless you care to nitpick, it'll look the same. :)
Does everything appear correct?
No. :)
Wilbert
25th November 2005, 22:06
zambelli is correct: http://www.doom9.org/index.html?/capture/par.html
DVD NTSC -> DVD PAL:
DVD NTSC 720x480: PAR = 0.9116
DVD PAL 720x576: PAR = 1.0940
1. determine target horizontal size and divide by the source horizontal size: 720 / 720 = 1
2. multiply the source vertical size with (target PAR) / (source PAR): 480 * 1.0940 / 0.9116 = 576
3. multiply the number from step 2 with the number from step 1 and you have the target vertical size: 576 * 1 = 576
4. crop / add pixels: nothing to crop or add vertically
DVD PAL -> DVD NTSC goes similar.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.