2013년 5월 20일 월요일

megui - mkv 영상 인코딩


 HDTV 영화를 인코딩해 보겠습니다. 예제로 쓰일 "안녕, 형아"입니다. 끝난지 얼마 되지 않은 따끈따끈한 소스입니다.

언제나 첨은 DGIndex의 몫이죠. 비디오, 오디오 정보가 어떤 것인지 파악해야죠. 테스트를 위해 녹화한 3분짜리 소스라서 VideoReDo 작업은 하지 않았습니다.


박지빈 군이 산 속에서 헤매고 있네요. Infomation을 보니 역시나 전형적인 NTSC 소스입니다. 가볍게 demux를 합니다.


안녕, 형아는 DVD 소스를 티비방송을 위해서 업스케일링 하였습니다. 업스케일링을 아주 쉽게 설명하면 KM플레이어로 DVD립 영상을 볼 때 엔터를 치면 모니터 전체, 가득 차게 하는 것으로 생각하면 됩니다. 따라서 DVD 소스에 따라 화질 차가 큽니다.

DVD 규격과 NTSC 방송규격이 다르기 때문에 발생하는 차이 만큼 수정해야 원본 DVD의 왜곡을 최소화 할 수 있습니다.



NTSC AR은 1.778, 안녕, 형아 AR은 2.35입니다. AR을 간단히 설명하면 세로 픽셀을 1로 놨을 때 가로 픽셀의 크기를 말합니다.
보다시피 1.778 화면크기에 2.35 영상을 집어 넣다 보니 남은 부분을 레터박스로 처리했습니다. 레터박스를 크롭하여 블랙 바가 절대 남지 않게 해야 합니다.


Chobo_v1.0_M : HDTV 영화 소스 프로필 (다른 이름으로 대상 저장)



그래서 블랙 바를 다 없애기 위해선 위 이미지처럼 크롭을 아주 많이 해야 하죠. 간단한 계산으로 크롭할 양을 예측할 수 있습니다.

                  1.778          1.85          2.20          2.35          2.40

1080p          1080           1040          864           816           800
720p            720            688           576           544            528
        
1) Resize : 720p로 인코딩할 예정이기 때문에 1280 x 544로 수정합니다.
2) Crop
- 크롭의 기준은 1920 x 1088입니다. 왜 1080이 아니냐고 반문하실 텐데, 방송에서 1088으로 내보내기 때문입니다. 가로, 세로 픽셀 크기를 16배수로 맞춰야 하는 방송 규격 때문에 그렇습니다. 따라서 1920 x 816, AR 2.352로 크롭해야 합니다. 1088 - 816 =  272, 272픽셀 만큼 크롭을 하면 왜곡을 최소화할 수 있습니다. 상하 중 어디를 더 많이 크롭할 지는 원본 DVD를 참고해야 합니다.

그런데 문제가 하나 생겼습니다. 가로에도 블랙 바가 있기 때문에 좌우 2픽셀씩 크롭했습니다. 그럼 1916 x 816, AR이 2.348이 됩니다. 타겟 AR보다 0.004 작기 때문에 왜곡이 발생합니다. 결국 이를 해결하기 위해 하단 2픽셀을 오버 크롭했습니다. 최종 1916 x 814, AR 2.353이 됐습니다. 타켓 AR 보다 0.001 크군요. 그래도 0.004 작은 것보단 낫죠.
3) Input DAR : 2.35를 입력합니다. DAR은 Display AR입니다.



MeGUI Analyse를 클릭해 인코딩에 쓰일 필터를 선택할 수 있습니다.

Source Type : Film, 영화란 얘기죠.
Field order : TFF
Deinterlace : TIVTC, IVTC 필터

영화는 23.976fps입니다. 그런데 티비방송은 29.97fps죠. 이렇게 6프레임 차이가 나는 것을 5프레임 마다 1프레임씩 더미 프레임을 만들어 보충합니다. 이를 텔레시네라고 합니다. 영화 소스를 인코딩 할 때 반드시 IVTC(Inverse 텔레시네) 작업을 해야 합니다.



 TIVTC 필터는 디인터레이스를 담당하는 Tfm, IVTC를 담당하는 Tdecimate 필터로 구성됐습니다.



IVTC 작업을 했기 때문에 Framerate가 23.976입니다.



왼쪽이 1pss, 오른쪽이 2pass입니다.
x264 옵션을 빡세게 주고, IVTC 작업에 비트레이트를 7000 이상 줬더니 인코딩 fps가 많이 줄었네요.



완료됐습니다.


댓글 없음:

댓글 쓰기