해상도: 픽셀이 몇 개인가
해상도는 한 프레임의 크기를 픽셀 수로 나타낸 값입니다. "1080p"는 1920×1080, 즉 프레임당 약 200만 화소이고, 4K(2160p)는 3840×2160으로 네 배입니다. 픽셀이 많으면 더 많은 디테일을 담을 수 있지만, 어디까지나 가능성일 뿐입니다. 해상도는 선명함의 상한을 정할 뿐 선명함 자체는 아닙니다. 그 픽셀들을 실제로 설명하려면 데이터가 필요하고, 그건 비트레이트의 몫입니다.
실무적으로 두 가지를 기억해 두세요. 첫째, 재생 기기는 어차피 화면 크기에 맞춰 영상을 확대·축소하므로 시청자의 화면과 시청 거리가 구분하지 못하는 수준을 넘어선 해상도는 그냥 버려지는 것입니다. 스마트폰에서 1080p와 4K의 차이는 사실상 보이지 않습니다. 둘째, 업스케일링은 디테일을 만들어 내지 못합니다. 720p 영상을 1080p 파일로 변환하면 같은 정보를 더 많은 픽셀과 더 큰 파일에 펼쳐 놓을 뿐입니다. Mediamorphy를 포함한 제대로 된 변환기는 해상도를 낮추는 방향으로만 조절합니다.
프레임 레이트: 프레임이 몇 장인가
프레임 레이트(fps)는 1초에 보여 주는 프레임 수입니다. 영화는 전통적으로 24, 방송과 웹 영상은 대체로 25~30, 게임이나 스포츠 영상은 60을 자주 씁니다. 프레임 레이트가 높으면 움직임이 부드러워지지만, 그건 움직임이 있을 때에만 의미가 있습니다. 발표 자료 화면 녹화, 말하는 사람을 찍은 인터뷰, 제품 시연 영상은 60fps에서 얻을 것이 없습니다. 30fps 대비 두 배의 프레임을 짊어질 뿐이죠.
참고로 프레임 레이트를 절반으로 줄인다고 용량이 절반이 되지는 않습니다. 최신 코덱은 대부분의 프레임을 이웃 프레임과의 차이로 저장하는데, 높은 fps에서 연속된 프레임은 서로 매우 비슷해서 인코딩 비용이 적습니다. 60을 30으로 낮추면 보통 20~40% 정도 절약되지 50%는 아닙니다. 그래도 움직임이 적은 영상에서는 가장 손쉬운 절감 수단이고, 게임이나 스포츠가 아닌 거의 모든 영상은 30fps로도 완벽하게 자연스럽습니다.
비트레이트: 1초에 데이터를 얼마나 쓰는가
비트레이트는 영상 1초에 쓰이는 데이터의 양이며 초당 메가비트(Mbps)로 잽니다. 파일 용량과 화질 양쪽에 가장 직접적으로 연결된 숫자입니다. 용량은 그냥 비트레이트 × 길이이고, 화질은 그 예산 안에서 인코더가 지켜 낼 수 있는 만큼입니다. 8 Mbps짜리 10분 영상은 내용이 무엇이든 대략 600 MB입니다.
핵심은 이 비트레이트가 모든 프레임의 모든 픽셀에 나눠진다는 점입니다. 초당 픽셀당 비트로 생각해 보세요. 비트레이트를 그대로 둔 채 해상도나 프레임 레이트를 올리면 픽셀 하나가 받는 예산이 그만큼 얇아집니다. 4 Mbps의 4K 영상이 같은 4 Mbps의 1080p 영상보다 나빠 보이는 이유가 여기 있습니다. 4K 쪽은 네 배 많은 픽셀을 같은 데이터로 설명해야 하니, 4K에서 빛나길 기대했던 바로 그 미세한 디테일이 번짐과 블록 노이즈로 녹아내립니다.
| 해상도 | 적정 범위 | 10분 기준 용량 |
|---|---|---|
| 720p | 2~4 Mbps | 150~300 MB |
| 1080p | 4~8 Mbps | 300~600 MB |
| 1440p | 8~16 Mbps | 600 MB~1.2 GB |
| 4K | 16~40 Mbps | 1.2~3 GB |
세 숫자를 서로 맞바꾸기
비트레이트 예산을 함께 쓰기 때문에 이 세 숫자는 하나의 삼각형을 이룹니다. 둘을 고정하면 나머지 하나가 결과물의 화질 한계를 결정합니다. 여기서 현실의 결정 대부분을 정리해 주는 몇 가지 원칙이 나옵니다.
- 큰 것보다 선명한 것이 낫습니다. 넉넉히 먹인 1080p는 굶주린 4K보다 거의 모든 화면에서 더 좋아 보입니다. 전체 용량이 제한된다면 비트레이트를 조르기 전에 해상도를 먼저 낮추세요.
- 프레임 레이트는 움직임에 맞추세요. 게임과 스포츠는 60fps, 나머지는 30fps(또는 원본의 프레임 레이트)면 충분합니다. 올리는 변환은 절대 하지 마세요. 30fps 영상을 60fps로 담아 봐야 얻는 것이 없습니다.
- 시청자가 못 볼 픽셀에 예산을 쓰지 마세요. 채팅 앱으로 보내거나 페이지에 삽입할 영상은 720p로 낮춰도 실제 시청 화면에서는 차이를 느끼기 어렵습니다.
그럼 CRF는 어디에 들어갈까요? 최신 인코더를 쓰면 비트레이트 계산을 아예 건너뛸 수 있습니다. 고정 품질 모드가 화질을 일정하게 유지하도록 비트레이트를 알아서 조절해 주기 때문입니다. 해상도와 프레임 레이트만 정하면 비트는 CRF가 처리합니다. 대체로 이쪽이 더 나은 작업 방식이며, CRF 가이드에서 전부 설명합니다.
맞는 지렛대로 문제 진단하기
이 삼각형은 거꾸로 문제 해결 지도로도 쓸 수 있습니다. 움직이는 장면이 블록지고 번진다면 밀어 넣는 픽셀 수에 비해 비트레이트가 부족하다는 뜻이니 화질을 올리거나(CRF를 낮추거나) 해상도를 낮추세요. 정지 장면에서도 흐릿하다면 대개 원본 해상도가 낮거나 이전에 과하게 압축된 것이고, 이건 어떤 재인코딩으로도 되돌릴 수 없습니다. 움직임이 뚝뚝 끊긴다면 프레임 레이트 문제인데, 절대적으로 낮아서라기보다 원본과 출력의 프레임 레이트가 어긋나서인 경우가 많습니다. 그리고 파일이 지나치게 크다면 내용에 필요한 것보다 많은 비트를 쓰고 있다는 뜻입니다. 용량 줄이기 가이드에서 단계별 해법을 다룹니다.
여기에 공학 학위는 필요 없습니다. 해상도는 픽셀이 몇 개인지, 프레임 레이트는 그 픽셀이 얼마나 자주 바뀌는지, 비트레이트는 그 전부를 설명하는 데이터가 얼마나 되는지를 말합니다. 그리고 화질은 세 번째 숫자가 앞의 두 숫자에 충분한가에 따라 살거나 죽습니다.