FPS와 재생 시간, 그리고 자막 싱크 조정

자막제작자포럼

FPS와 재생 시간, 그리고 자막 싱크 조정

1 아지랑이 5 11148 11
아래에 제이순 님께서 글을 올리셨는데 댓글로 달기엔 글이 너무 길 것 같고 또 자막 작업을 하시는 분들이 알면 도움이 될 것 같아 이렇게 따로 글을 남깁니다.

FPS(Frames Per Second)는 말 그대로 초당 프레임 수를 뜻합니다. 영화 원본은 아날로그건 디지털이건 아직까지도 24 FPS가 절대적입니다. 다른 FPS는 없다고 쳐도 무방할 정도로 그 비중이 미미합니다. 아무튼 최종 편집이 끝난 영화 원본은 대량으로 복제(아날로그와 디지털이 다름)되어 복제본이 배급사를 통해 영화관에서 상영되는데 이하에서 말하는 영화 원본은 이 복제본을 뜻합니다. 그런데 수익 사업은 여기서 끝나는 게 아닙니다. 

이후에는 블루레이와 DVD 출시를 통해 추가 수익을 꾀합니다영화 원본을 방송국에 방송용으로 팔기도 하고요. 블루레이와 DVD 출시를 할 때엔 FPS 변환이라는 작업이 선행되는데 이는 각국의 TV 표준이 다르기 때문입니다. 이 말은 곧 FPS 24인 영화 원본이 각국의 TV 표준에 맞게 24/1.00123.976(이하는 23.976이라 함)이나 25로 변환돼 블루레이와 DVD로 출시된다는 뜻입니다. 변환 없이 24 그대로 출시되는 경우도 있습니다.

영화 감상용으로 가장 많이 쓰이는 디스플레이는 무엇일까요? 기술의 발달과 더불어 모니터, 스마트폰, PMP, 프로젝터 등 매우 다양해졌지만 아직도 TV 수상기입니다. 가장 널리 보급됐고 또 상대적으로 화면이 크니까요. 참고로 전 세계에서 사용하고 있는 TV 표준은 다음 세 가지입니다.

NTSC: 우리나라, 미국, 일본 등이 채택한 방식으로 흑백도 가능. FPS 30.
PAL: 영국, 독일, 네덜란드 등 서유럽과 북한, 중국 등이 채택한 방식으로 컬러만 가능. FPS 25.
SECAM: 프랑스, 러시아, 동유럽 등이 채택한 방식으로 컬러만 가능. FPS 25.

위에서 말한 FPS는 progressive scan(순차주사, 이하는 p라 함)일 때고 interlaced scan(비월주사, 이하는 i라 함)일 때는 해당 p의 FPS에 곱하기 2를 해 줘야 합니다. i는 필드에 두 번 주사하는 방식이니까요. i를 deinterlace를 해 주면 60i는 30p, 50i는 25p가 됩니다. FPS가 방송용 필드 주파수에선 Hz입니다.

TV 수상기로 어떤 방송을 보려면 위에서 열거한 TV 표준이 같아야 합니다. 우리가 북한 TV 방송을 시청하지 못하는 까닭은 TV 표준이 우리와 다르기 때문입니다. 수십 년 전만 하더라도 서민이 영화를 볼 수 있는 방법은 두 가지밖에 없었습니다. 영화관에서 보거나 TV에서 방영하는 영화를 보거나. 물론 그때도 갑부 영화광들은 가정에서 영사기로 영화를 감상했습니다만. 나이가 있으신 분들은 그래서 <주말의 명화>나 <명화 극장>이라는 TV 프로를 잊지 못할 것입니다. 영화관이 아닌 곳에서 영화를 접할 수 있는 유일한 통로였으니까요. 기술의 발달로 그 뒤에 나온 게 VHS이고 다음이 DVD, 그 다음이 블루레이인데 이것들은 그 나라의 TV 표준에 맞게 출시됐고 또 출시되고 있는 것입니다.

먼저 PAL과 SECAM 표준을 채택하고 있는 나라의 경우를 살펴보죠. PAL과 SECAM은 NTSC와 달리 태생 자체가 컬러 방송용입니다. 영국 BBC 방송이 영화를 방영하려고 FPS 24인 1시간짜리 영화 원본을 구입한 경우를 상정해 보죠. 1시간=60분=3,600초, FPS는 초당이니까 총 프레임은 3,600x24=86,400. PAL과 SECAM은 태생이 컬러 방송용이므로 별도의 처리는 필요치 않고 FPS만 25로 맞춰 주면 됩니다. 즉 초당 돌아가는 프레임만 24에서 25로 바꿔 방송을 송출하면 됩니다. 그럼 재생 시간이 어떻게 변할까요? 86,400/25=3,456초=57분 36초. FPS 25짜리 영화는 24인 원본 대비 재생 시간이 정확히 96%로 줄어듭니다. 24/25=0.96이니까요. 3,600초x0.96을 해도 당연히 3,456초라는 같은 결과가 나옵니다. 이는 곧 FPS 24인 한 시간짜리 영화 원본이 PAL과 SECAM 표준 지역에서는 57분 36초짜리로 바뀌어 TV로 방영되며 블루레이와 DVD로 출시된다는 뜻입니다.

다음으로 위와 똑같은 가정을 NTSC 표준을 채택하고 있는 나라로 바꿔서 살펴보겠습니다. 이때는 위 두 가지 표준보다 훨씬 더 복잡해집니다. 흑백을 아우르는 NTSC 표준은 FPS가 30인데 이건 흑백 방송일 때입니다. NTSC 표준 지역에선 흑백 수상기로도 컬러 방송 시청이 가능합니다. 물론 흑백으로 나옵니다.

FPS 24인 영화 원본의 방송 송출을 위해 NTSC 표준 지역에서 FPS를 30으로 늘리는 데에는 영상 보간법(interpolation)이란 걸 이용해 새로운 중간 형식의 프레임으로 변환하는 방법을 씁니다. 이게 pull down 기법인데 영화관용 영화를 TV 방송용으로 바꾸는 것이라 하여 telecine라 하기도 하고 film scan이라 부르기도 합니다. 이건 초당 프레임만 늘리는 것이기에 재생 시간엔 변화가 없습니다.

그런데 컬러로 방송하려면 30을 1.001로 나눠 줘야 합니다. FPS 30으로 전파를 송출하면 음성 반송파에 의해 색상 반송파가 간섭을 받아 점 패턴이라는 화면 일그러짐 현상이 발생합니다. 그 영향을 최소화하기 위해 고안해 낸 방법의 최종 산식이 나누기 1.001인데 기술적인 과정을 거치면 결과적으로 나누기 1.001이 된다는 것이 더 정확한 표현입니다. 이는 음성 반송파가 컬러 이전인 흑백 시절부터 규격으로 정해졌기에 어쩔 수 없이 선택한 고육지책이기도 합니다.

FPS 변환과 컬러 송출을 위한 나누기 1.001이 끝나면 재생 시간은 어떻게 달라질까요? FPS 24인 영화 원본과 telecine를 한 FPS 30인 영화의 재생 시간이 같으니까 쉽게 FPS 24와 23.976을 비교하면 됩니다. 86,400/(24/1.001)=3,603.6초. 즉 1시간짜리 원본 영화가 NTSC 지역에선 3.6초가 늘어납니다. 비율로 보면 정확히 1.001배로 늘어납니다. 24/(24/1.001)=1.001이므로. 3,600초 x1.001을 해도 3,603.6초라는 같은 결과가 나옵니다. * FPS 24인 원본과 telecine를 거친 FPS 30인 영화의 재생 시간이 같듯 FPS 23.976인 영화와 FPS 29.976인 영화의 재생 시간도 같습니다. 30과 24를 똑같이 1.001로 나눈 거니까요. 결국 재생 시간은 FPS 25p<<<24p=30p<59.940i=29.970p=23.976p가 성립합니다.

우리나라를 비롯한 NTSC 표준 지역의 방송국에서 FPS 24인 영화 원본을 구입해 컬러로 방영하려고 할 때의 FPS 변화를 요약하면 다음과 같습니다. 24p>30p. telecine라 재생 시간 불변.>컬러 송출을 위한 30p/1.001. 여기서 재생 시간이 1.001배로 늘어남.>i 스캔이니까 곱하기 2=2x30p/1.001≒59.940i. TV에서 방영한 영화 원본 59.940i 파일을 역순으로 작업하는 경우엔 deinterlace를 거치면 29.970p, 다시 inverse telecine를 거치면 23.976p가 되는데 이는 NTSC 지역에서 판매되는 블루레이나 DVD의 FPS와 같습니다. 재생 시간이 같은 것은 말할 것도 없습니다.

추가되거나 삭제된 부분이 없는데도 영화의 재생 시간이 차이 나는 이유는 누차 설명했듯이 각국이 채택한 TV 표준이 다르기 때문입니다. 여기서 우리는 FPS 25인 영화는 소스가 블루레이가 됐건 DVD가 됐건 TV 방영 파일이 됐건 PAL이나 SECAM 지역에서 나온 것이고 FPS 23.976인 영화는 NTSC 지역에서 나온 것이란 걸 유추해 볼 수 있습니다. 영화관용 영화의 FPS가 29.970p라면 NTSC 방송 영화를 다운받아 deinterlace 작업만 하고  inverse telecine 작업은 안 하고 인코딩했다는 뜻입니다. NTSC 지역에서 영화관용이 아닌 TV용 영화는 방송용 다른 프로그램들처럼 29.970p(또는 30p로 찍고 그걸 컬러 송출을 위해 1.001로 나누고 interlaced 스캔이니까 곱하기 2해서 59.940i로 송출. 또는 바로 59.940i로 찍을 수도 있는데 이는 방법이나 기술상의 문제일 뿐 결과는 똑같음)로 찍습니다. 그리고 우리가 접하는 영화의 FPS 중 23.976p가 압도적으로 많은 건 우리나라가 NTSC 표준을 채택하고 있고 영화 강국인 미국 또한 그러하기 때문입니다.

TV 표준 문제의 타개책으로 몇 년 전부터 region free 블루레이와 DVD가 일부 출시되고 있고 region free 블루레이/DVD 재생기까지 출시되고 있습니다. 외국에 있는 제품도 가만히 앉아서 온라인으로 살 수 있는 시대로 바뀌었으니까요. TV 표준은 아날로그 시절에 정해진 규격인데 디지털 시대엔 촬영이나 편집, 변환 모두 전보다 훨씬 수월해졌습니다. 요즘 나오는 디지털 카메라 및 편집 장비는 다양한 FPS를 지원하는데 TV 표준 때문에 24p와 30p, 60i, 60p는 주로 NTSC 지역에서, 25p, 50i, 50p는 주로 PAL이나 SECAM 지역에서 쓰입니다. 여기에 24, 30, 60은 나누기 1.001이 추가(≒23.976, 29.970, 59.940)되는데 이는 NTSC 지역의 컬러 방송과 불가분의 관계에 있습니다. PAL과 SECAM 지역에서도 방송용이 아닌 영화용은 24p를 사용합니다.

영화 원본의 FPS 변환과 인코딩에서의 FPS 변환이 어떻게 다른가 하는 의문이 드는 분들이 계실 겁니다. 인코딩은 재생 시간을 고정시켜 놓고 프레임 수만 변환하는 것입니다. FPS 24인 1시간짜리 원본 영화로 예를 들자면 인코딩할 때 FPS를 25로 바꾸면 시간은 그대로 1시간인데 총 프레임 수만 86,400에서 90,000(=3,600초x25)으로 늘어납니다. 이처럼 인코딩은 FPS에 따라 총 프레임 수만 바뀌지 재생 시간은 바뀌지 않습니다. 이건 영화를 비롯한 동영상 촬영 시에도 똑같이 적용됩니다. 따라서 대부분의 리퍼는 블루레이나 DVD 소스를 인코딩할 때 FPS만큼은 건들지 않습니다. 원본을 훼손하는 일일 뿐더러 쓸데없이 인코딩 시간만 늘어나니까 바꿀 하등의 이유가 없는 것이죠. 이 말은 리퍼가 인코딩할 때 FPS 변환이라는 삽질을 했다면 FPS가 서로 다르더라도 재생 시간이 같을 수 있다는 뜻인데 이런 경우는 거의 없습니다. 한편 NTSC 지역에서 TV로 방영한 영화 파일은 deinterlace와 inverse telecine를 거치면 59.940i가 자동으로 23.976p로 바뀝니다.

자막이 갈수록 느려지거나 빨라진다면 그에 걸맞게 FPS 변환을 하고 특정 지점에서 음성과 싱크를 동기화화면 자연스럽게 전체 싱크가 맞게 됩니다. 이건 가지고 있는 자막의 싱크가 제대로 된 것이고 영화가 추가되거나 삭제된 부분이 없다는 전제하입니다. 그리고 영화의 자막 FPS 변환은 23.976과 24, 25의 상호 변환이 다입니다. 그 밖의 FPS는 이 셋 중의 하나와 재생 시간이 같기 때문에 제외됩니다. 사실 이 결론을 이끌어 내기 위해 여태까지의 긴 설명이 필요했던 것입니다. 자신이 가지고 있는 영화의 FPS는 MediaInfo라는 프로그램을 이용하면 영화 재생을 하지 않고도 바로 알 수 있습니다. 대부분의 동영상 재생기에도 이 기능이 내장돼 있는데 영화의 FPS를 알면 자막 싱크는 바로 맞출 수 있습니다. 세 가지 변수 중에 하나가 파악됐으니 나머지 둘만 대입해 보면 바로 답이 나오는 것이죠.

응용 예를 들어 보겠습니다. 자신이 갖고 있는 2시간 남짓 영화의 FPS가 23.976인데 자막이 마지막 부분에 가서 십여 초 내외가 틀리다면 '바꿀' FPS를 24로 바꿔 주면 되고 오륙 분 내외가 틀리다면 25로 바꿔 주면 됩니다. 여기서 말한 '기준'과 '바꿀'이 동영상 재생기나 자막 프로그램마다 다르니 직접 해 보고 어떻게 변하는지를 스스로 터득해야 합니다. 이어서 특정 지점에서 음성과의 싱크 동기화. 여기선 숫자를 대충 언급했지만 위에서 설명한 것처럼 정확한 산출도 가능합니다. 직접 계산할 때 주의할 점은 23.976 대신 24/1.001을 써야 한다는 것. 영화는 기껏해야 몇 시간짜리니까 이 둘의 차이가 무시할 만한 수준(초 이하)으로 나타나지만 이왕이면 더 정확한 숫자를 사용해야 합니다. 24/1.001인데 편의상 23.976이라 한 것이고 그래서 ≒ 기호를 썼던 것입니다. 29.970이나 59.940도 정확히는 30/1.001, 60/1.001입니다. FPS 23.976 소스를 인코딩할 때 인코딩 스크립트에 보이는 AssumeFPS(24000,1001)은 추정 FPS가 24/1.001이란 뜻입니다. FPS 24와는 엄연히 다르며 이건 30/1.001, 60/1.001도 마찬가지입니다.

그럼 끝으로 FPS 23.976인 영화 대비 FPS 25인 영화의 재생 시간은 얼마의 비율로 줄어드는지 알아보겠습니다. 약 0.9590배로 줄어듭니다. 23.976/25=(24/1.001)/25=24/25.025≒0.9590이므로. 예컨대 3시간(=180분=10,800초)짜리 영화는 10,800초x0.9590=10,357.2초=172분 37.2초=2시간 52분 37.2초로 줄어듭니다. 이보다 더 정확한 계산은 절사한 ≒0.9590 대신 (24/1.001)/25=24/25.025란 숫자를 쓰면 되는데 두 계산 방법의 결과는 초 단위 이하의 차이로 나타납니다. 10,800초x[(24/1.001)/25]=10,800초x24/25.025≒10,357.64초=172분 37.64초=2시간 52분 37.64초. 반대로 FPS 25 영화 대비 FPS 23.976 영화의 재생 시간은 약 1.0427배로 늘어납니다. 25/23.976=25/(24/1.001)=25.025/24≒1.0427. 이 두 비율의 곱은 말할 것도 없이 1입니다. ≒0.9590x≒1.0427=(23.976/25)x(25/23.976)=1. 시간 비율 대신 프레임으로 계산해도 같은 결과가 나옵니다. 본질적으로 같은 걸 풀이만 달리한 것이니까요. 자막의 FPS 변환은 이런 원리에 입각한 시간 비율 맞춤이라는 단순한 기능입니다.

싱크가 갈수록 틀어지는 경우 최종 싱크가 초 단위로 틀리면 23.976과 24의 상호 변환이고 분 단위로 틀리면 나머지 둘과 25의 상호 변환입니다. 하나는 알고 있기에 남은 둘 중에 그에 어울리는 짝을 가려내면 되는데 이제 그건 땅 짚고 헤엄치기죠. 그리고 특정 지점에서 음성과의 싱크 동기화. 특정 지점은 영화의 어느 부분이든 상관없습니다. FPS 변환이 시간 비율 맞춤이기에 앞뒤 불문하고 전체 자막 싱크가 그 비율에 맞게 변하니까요. FPS 변환과 싱크 동기화의 순서를 바꿔도 결과는 똑같습니다. 원리 이해 차원에서 여태 여러 역을 차례로 들르며 때론 산수 공부도 했지만 이게 FPS 변환의 종착역입니다.

만약 이런 식으로 싱크를 맞췄는데도 또 최종 싱크가 미세하게 초 단위로 틀리다면 '바꿀'의 값만 그 값의 근사치를 넣어 보면서 최종 싱크가 어떻게 변하는지 살펴보면 됩니다. '기준' 23.976과 '바꿀' 24의 변환이라면 이젠 미세한 싱크 조정이니까 '바꿀'의 숫자를 24 대신 23.974나 23.978 등 '기준'과 인접한 숫자를 넣어 보면 되겠죠. FPS 변환 프로그램에서 '기준'과 '바꿀'에 임의의 숫자를 직접 넣는 것도 가능합니다. 이건 그간의 변환 과정에서 미세하게 틀려진 걸 바로잡는 것인데 산식으로 계산해서 정확한 숫자를 넣어도 되지만 그건 비효율적 방법이고 프로그램을 이용해 시간을 최대한 단축하는 게 가장 능률적입니다. '기준'은 그대로 두고 '바꿀'만 숫자를 이리저리 바꿔가면서 해당 프로그램의 최종 싱크가 어떤 식으로 바뀌는지만 살펴보면 어떤 숫자를 넣어야 할지 바로 감이 옵니다. 몇 번만 해 보면 아무것도 아니란 걸 알게 되죠. 이제 미세한 싱크까지 조정할 수 있다면 <싱크가 제일 쉬웠어요>의 주인공이 되는 겁니다.

지금까지 24 FPS로 찍은 영화 원본을 필요에 따라 다른 FPS로 변환할 때 재생 시간이 어떻게 변하는지를 살펴봤는데 이는 결국 재생 속도 변환에 관한 문제입니다. 그러므로 이것과 동영상(영화 포함) 촬영에 있어서의 다른 FPS 적용이나 인코딩에서의 FPS 변환과 혼동하면 안 됩니다. FPS 개념상 동영상 촬영이나 인코딩에 있어서 FPS와 재생 시간은 무관합니다. TV 표준을 감안하여 애초에 다양한 FPS로 동시에 영화를 찍으면 FPS 변환에 따른 재생 시간 차이 문제가 사라질 것이라는 생각이 들 법도 한데 그건 불가능한 일입니다. 여러 대의 카메라를 가지고 다양한 FPS로 동시 촬영을 할 순 있지만 앵글까지 일치시킬 순 없으니까요. 이게 진짜 원본이 단 하나일 수밖에 없는 결정적 이유입니다. 그러나 향후에 동일한 앵글로 동시에 여러 FPS 촬영을 지원하는 카메라나 또는 그에 상응하는, 획기적인 기술이 나온다면? 이 글은 구시대의 유물이 됩니다.

이상은 동영상이나 자막에 대한 지식이 어느 정도 되는 분들의 눈높이에 맞춘 글이니 혹 바로 이해가 안 가더라도 양해해 주시기 바랍니다. 원어 전문용어를 쓴 이유는 더 빠른 이해를 위한 것이니 그것도 너그러이 봐 주시기 바랍니다. 풍성한 가을날들 맞이하시길...

Facebook Twitter GooglePlus KakaoStory NaverBand 신고
5 Comments
16 핑팡치우  
좋은 글 감사드립니다^^ 많이 배웠습니다
3 달마s  
오옷... 지역적으로 fps가 틀리다는건 약간은 알고 있었는데 자세한 설명 감사드립니다^^;
 
정보를 보면 소스는 대부분이 23.976이더라구여
 
25fps의 립버전이 많은 이유가 저것이었군요^^;
1 MOVIELOVE  
잘 보고 배워 갑니다 ^^
26 로카롤라  
정말 방대하고도 풍부한 내용의 글이네요^^  fps에 대해 애매한 점이 많았는데 좋은 글 감사드립니다~
많은 도움이 되었네요^^
1 벨루찌  
와 좋은 공부하네요^^ 아랫글에 재대로된 설명해뿌시네
 
중국영화들은 대부분 24fps던데 원본이라그런거엿군요...
 
(iratemoter님이 언급하신 아지랑이님이신군요 ㅎㅎ 요즘머하시는지?...)