본문 바로가기
VFX_이론

거지 같고 아리송한 fps 에 관하여.. 통찰해보자.

by 그놈궁댕이 2022. 6. 26.
반응형

 

거지 같고 아리송한 fps에 관하여.. 통찰해보자.

fps는 별거 아니지만, 나름 고충이 있는 항목 중 하나이다.

미국 방식의 NTSC = 29.97 fps
유럽 방식의 PAL = 25 fps
극장 상영용 = 24 fps
극장용 영화 촬영 = 23.976 fps
nuke에서 영화작업 기본 = 23.98 fps
일반 동영상 프로그램 = 24 fps. 23.98 fps

fps 개념은 의외로 상당히 골머리가 쌓인다.

fps의 기준은 상영방식을 기준으로 잡기 때문에, 우리는 (ntsc, pal, 극장 상영용)만 되지 않을까 싶다.

 

 

PAL은 주로 유럽에서 많이 사용되는데 50Hz 텔레비전 방송 규격 이다.

NTSC는 한국, 일본, 북미 등에서 사용하고 있는 60Hz(59.94) 규격이다.

문제는 영화인데, 영화는 23.976 fps로 촬영하고, 상영은 24 fps 나간다.

 

또한, 영화를 극장뿐만 아니라 여러 환경에서 상영하다 보니, 주파수 규격 문제가 생기는 것이고, 그것을 강제로 동기화시키는 과정에서 소수점의 수치가 발생한다.

문제는 프레임을 소수점으로 표현할 수 없다는 것이다.

 

 

CG 작업에서 23.976 fps로 촬영했다고 해도, 결국은 24 fps 즉, 1초에 24장의 프레임으로 작업을 진행해야만 한다. 누구의 어떤 관점으로 바라보는지에 따라 표기법은 달라진다.

 
촬영 = 23.976 fps
작업 = 24 fps , 23.976 fps
극장 배급 = 24 fps

촬영은 소수점으로 해놓고, cg는 소수점으로 할 수 없고, 극장에선 반올림해서 상영하는데...

이것을 깊게 생각해본 사람들은 터무니없이 복잡하다고 느껴질 것이다.

 

 

냉정하게 CG팀은 fps를 24로 설정해도 무방하다.

문제는 컨펌을 위해 mov를 랜더 할 때 속도에 차이점이 발생한다는 것이다.

 

 

 

 

 

 

<만약 영화를 TV에서 방송하게 된다면 어떻게 될까?>

pal 방식 = 재생 속도를 조금 빠르게
ntsc = 3대2 비율로 빨랐다가, 느려짐 반복

PAL에선 단순히 영화 재생속도를 약간 빠르게 해 버린다.

원래 23.976 fps인 영화를 25 fps로 방송하는 것이죠. 그래서 유럽에선 영화를 TV로 방송하는 경우 러닝타임이 짧아지게 된다. TV 방송뿐 아니라 DVD 역시 유럽에서 출시되는 타이틀은 PAL 규격으로 발매되기 때문에 속도가 약간 빨라지고 러닝타임이 짧아진다.

 

이게 큰 차이가 아니라고 생각하실지도 모르겠지만 저는 이 PAL의 Speed Up이 영화를 제작한 감독의 의도를 훼손하는 방식이라 볼 수도 있다.

 

 

 

테스트로 동일한 영상을 25 fps에서, 23.976 fps로 인코딩하는 경우

(52초 35 -> 54초 53)으로 미묘하게 길이가 바뀐 것을 알 수 있습니다.

어쨌거나, 상영 환경에 따라서 fps를 바꾸면 속도는 미묘하게 바뀐다는 점이다.

실제로 23.976 fps로 인코딩했지만, 수치는 23.98 fps로 반올림되어 보인다.

어찌 보면 23.976과 23.98의 차이는 시스템의 편의성 차이일 것이다.

 

vfx 아티스트 입장에선 24 fps 하면 전혀 문제없는데, 여러 표기법 때문에 머리만 아픈 거 같다.

 

 

 

 

=

NTSC 역시 영화에선 문제가 좀 있다.

23.976 fps를 29.97 fps로 맞추기 위해 텔 레씬이라는 기법을 사용하는데 3:2 풀다운이라고도 한다. 1초에 24프레임짜리를 1초에 30프레임으로 재생하려면 4개의 프레임을 5개로 만들어야 합한다.

 

없는 프레임을 짜깁기로 만들어서 연속 동작이 어색하지 않도록 처리를 하지만 실상은 3:2 비율로 빨랐다 느렸다를 계속해서 반복합니다. 다만 워낙 짧은 시간에 계속해서 바뀌기 때문에 우리 눈에는 그다지 인식되지 못할 뿐입니다.

 

아무튼 이 NTSC에서의 텔레씬 기법은 비록 3:2로 왔다 갔다 속도로 재생되긴 하지만 어쨌든 원래 영화의 재생속도를 왜곡하지는 않습니다. 동일한 러닝타임으로 진행됩니다.

 

 

 

 

 

 

 

 

==

<25 fps를 23.976 fps으로 변환 시 사운드 인코딩 문제>

예를 들어 mkvmergeGUI를 이용해 인코딩하는 경우...

 

 

 
 
Stretch by 부분에 25025/24000을 입력해주시면 됩니다. 물론 꼭 저대로 입력할 필요는 없고 예를 들어 25.025/24 이렇게 넣어도 되고 아니면 25/23.976 이렇게 넣어도 됩니다. 25와 24/1.001의 비율만큼 음성의 재생속도를 늦춰주는 것입니다.

 

사실 영상은 미세하게 느려지고, 빨라져도 사람이 알아차리지 못합니다.

역시 사운드 싱크에 문제가 발생하는데, 그것을 위해 음성을 늘어난 속도만큼 임의로 비율을 적용해 인코딩한다고 한다.

 

 

 

 

 

 

 

 

 

==

<23.976과 24의 관계성>

24 프레임과 23.976 프레임 숫자의 관계를 보시면 법칙이 있습니다.

바로 1/1000 초 차이가 납니다. 즉 24 프레임보다 23.976은 1/1000 초인 0.024 프레임이 늦다는 겁니다. 하지만 프레임이 소수점이 나올 수 없는 거죠... 그렇게 따지면 둘 다 24 프레임인 것입니다. 하지만 frequency로 1/1000초 늦게 천천히 재생한다고 보시면 맞습니다.

 

대부분 23.976으로 찍지만, 간혹 영화에 미친놈들은 애초에 24 fps로 찍어 버린다.

사실, 영화를 위해 극장을 위해 뚝심 있는 행보가 아닐까... 스스로 생각해 본다.

 

 

==

비디오가 나오기 전 영화 필름은 초당 24 프레임 씩 보여주게 됩니다.

처음 흑백 TV는 30 프레임이었습니다. 컬러 티브이 시대가 오면서 NTSC 신호로 전송하기 위해 드롭 프레임 타임코드 29.97입니다. 위의 23.97 24의 관계에서도 말씀드렸듯이 초당 보이는 프레임이 소수점이 나올 수는 없죠... 그래서 드롭 프레임이 나온 거구 TC상에서 매 1분마다 2 frames를 건너뛰게 됩니다. 여기서 시간당 120 frame이 사라짐으로 이를 다시 보정하기 위해 00'10'20'30'40'50은 뺴지 않고 남겨 둡니다.

 

 

29.97은 미국의 멍청한 전송방식 때문에 매우 복잡하게 생겨난 타임코드 프레임 레이트라고 생각하면 됩니다. 23.976은 영화 24가 방송으로 가기 위해 텔레시 네시 24와 29.97과의 차이가 딱 떨어지지 않아 필름 돌리는 스피드를 1/1000 늦춰서 맞춘 겁니다. 초당 24 프레임으로 동일하지만 사운드 싱크 시 차이가 납니다.

 

 

 

 

 

 

 

<사운드 작업은 속도만 신경 쓰자.>

극장 상영하려면 DCP로 변환해야 하는데 영상은 23.97 프레임으로 입력해도 알아서 24 프레임으로 변환 되나, 사운드는 23.97프레임을 반드시 24프레임으로 변환해야 합니다.

즉 0.1%(1/1000) 만큼 길이를 보정해야 합니다.

 
소수점 fps 라도, 초당 프레임은 정수이다.
사운드 길이는 29.97=23.976>24
사운드는 fps가 없고, 스피드만 있다.
23.976을 많이 쓰는 이유는 24로 가기도 쉽고 29.97로 가기도 쉽다.

 

 

 

유럽에서는 초당 프레임수보다는 해상도를 높이는 것이 좋다고 생각해서인지 29.97 fps를 사용하지 않고 25 fps를 씁니다.

 

 

 

칼라 TV 방송을 처음 시작하면서, 기존의 흑백 TV와 호환을 위한 신호체계를 만들다 보니 신호 간섭을 피하기 위해 프레임 레이트를 살짝 틀어서 29.97 fps로 송출하는 편법을 만들어 냅니다. 그게 29.97 fps의 시작입니다. 소수점으로 끝나기 때문에 시간을 측정하는 데에 문제가 많습니다.

 

하지만 한 번 만들고 나니 이전의 콘텐츠를 재활용해야 하기 때문에 영원히 이 편법 숫자를 바꾸지 못하고 있습니다.

 

영화는 기본적으로 24 fps를 사용합니다.

속도가 더 느리면 끊겨보이고, 너무 빠르면 필름값이 너무 많이 들었습니다.

적절한 타협으로 24 fps가 되었고, 그것은 이제 영화를 대표하는 기본 속도가 되었습니다.

그런데 24 fps는 풀다운을 삽입해도 30 fps가 되지 29.97 fps가 되지 않습니다.

TV에 바로 송출을 할 수가 없는 것이지요.

 

 

그래서 만든 것이 23.976 fps입니다.

23.976 fps에 풀다운을 적용하면 29.97fps가 되므로 필름으로 촬영한 것을 TV에 송출하기 좋습니다. 그래서 CF같이 애초에 TV송출을 목표로 촬영하는 경우에는 애초에 필름 촬영을 23.976fps로 합니다. 24fps로 촬영된 영화의 경우에는 필름의 재생속도를 바꿔서 23.976fps로 재생하고 소리는 별도의 작업을 거쳐 23.976fps에 맞도록 길이를 바꿔서 다시 합치는 방법으로 변환을 합니다.

 

쉽게 말해, 24 fps보단, 23.976 fps가 29.97 fps로 변환하는데 훨씬 편하고 쉽다는 점입니다.

엄밀하게 생각해보면, 극장에선 24 fps로 나가기 때문에, 실제 촬영된 영상보다 0.023 fps가 느리게 재생된다고 봐야 할 거 같습니다.

 

극장 배급을 위해 dcp 작업을 할 때는 24 fps로 세팅된다.

영화 후반 작업에서 영상 편집과 DI까지 끝내면 최종 출력물은 대부분 23.97 프레임입니다.

큰 이슈가 없으면, CG 작업은 23.976으로 작업하고, 납품 때는 dpx, exr 같은 시퀀스로 넘기기 때문에 큰 문제는 없는 거 같다.요샌 드라마도 많이 하며, 드라마의 경우 애초에 mov로 넘겨받기 때문에 받은 대로 그대로 납품하면 된다.

 

가끔 di실, 종합편집실에서 데이터를 잘못 내려주는 경우가 있는데...주로 (코덱 , fps) 문제이다.CG 아티스트는 처음 데이터를 받고 문제가 없는지 확인하고 검수하는 능력을 갖고 있어야만 한다고  생각한다.딴 거 다 필요 없고, cg는 24로 작업하면 된다.

 

 

 

 

 

==

결국 거지 같은 미국의 시스템과, 기존에 만들어진 콘텐츠를 지속적으로 재판매하려다 보니, 어려운 지금의 방식으로 되었다고 봐야 합니다. 정리하고 보니 횡성수설 한거 같다. 쉽게 생각하고 정리를 시작한건데...

많은 자료에 내용을 들춰보니 의외로 복잡한 역사가 있는거 같다.

 

만약, 누군가가 영화는 24fps인데, 어째서 작업은 23.976 fps로 해야 하냐고 묻는다면..

조금은 대답할수 있을꺼 같다.

 

 

 

 

반응형

댓글