03 · Media — Video
이 챕터가 답하는 질문: 비디오는 어떤 신호의 집합인가? 위치:
file-docs/03-media-video/— 가장 큰 챕터 (13개 문서) 선행 권장:00-foundations,02-media-image(색공간/비트심도)
한 문장 답 (Pyramid Top)
비디오는
픽셀 × 시간 × 색3축의 신호이며, 우리가 다루는 모든 결정은 그 3축을 얼마나 정확히 보존할지(품질) 와 얼마나 작게 만들지(효율) 의 트레이드오프다. 코덱·컨테이너·HDR·ABR은 전부 그 트레이드오프를 푸는 도구다.
Why — 왜 비디오가 이렇게 복잡한가
비디오 한 편을 만든다는 건 수많은 표준의 교집합을 통과하는 일이다.
- 공간: 1920×1080? 4K? 16:9? 픽셀이 정사각형인가?
- 시간: 24fps인가, 23.976인가, 60fps인가? 프레임이 비월(interlaced)인가?
- 색: BT.709인가 BT.2020인가? 4:2:0 서브샘플링이 텍스트를 망치진 않는가?
- 압축: H.264 Baseline? AV1 Main? 비트레이트는 얼마?
- 포장: MP4? MKV? Fragmented MP4 + HLS?
이 모든 결정은 “누가 어떤 디바이스에서 보는가” 한 가지 질문으로 환원된다 — 그러나 그 답을 내려면 위 6개 축을 전부 알아야 한다. 이 챕터의 13개 문서가 그 일을 한다.
How — 어떻게 정리했나
3-3-3-3-1 구조
① 신호 기초 (3개) : 픽셀 → 주사 → FPS
② 색·동적범위 (2개) : YUV → HDR
③ 컨테이너+코덱 (5개): 컨테이너 → 코덱 개관 → H.264 → HEVC → AV1 → VP9
④ 파이프라인 (1개) : ffmpeg/MediaConvert각 문서는 루트 README의 7-블록 형식(한 줄 답 → Why → How → What → What-if → Insight → 요약+Mermaid)을 따른다.
What — 13개 문서 인덱스
| # | 문서 | 핵심 질문 | 키워드 |
|---|---|---|---|
| 0 | 이 README | 비디오는 어떤 신호의 집합인가 | 신호·트레이드오프 |
| 1 | 01-pixel-resolution-aspect.md | 픽셀과 해상도란 정확히 무엇인가 | SD/HD/FHD/4K/8K·DAR/SAR/PAR |
| 2 | 02-progressive-vs-interlaced.md | 1080i와 1080p는 무엇이 다른가 | NTSC/PAL·디인터레이싱·텔레시네 |
| 3 | 03-frame-rate-and-timing.md | 23.976fps는 왜 존재하는가 | VFR/CFR·drop-frame·timecode |
| 4 | 04-yuv-and-chroma-subsampling.md | 왜 RGB 대신 YUV로 압축하는가 | BT.601/709/2020·4:2:0 |
| 5 | 05-bit-depth-and-hdr.md | HDR는 정확히 무엇이 더 밝은가 | PQ·HLG·BT.2100·Dolby Vision |
| 6 | 06-containers.md | MP4와 MKV는 왜 둘 다 있는가 | atom/box·fMP4·faststart |
| 7 | 07-codecs-overview.md | 코덱 전쟁의 승자는 누구인가 | MPEG·H.26x·VPx·AV1·라이선스 |
| 8 | 08-codec-h264.md | H.264는 어떻게 22년을 지배했나 | I/P/B·GOP·NAL·프로파일·ABR ladder |
| 9 | 09-codec-hevc-h265.md | HEVC는 왜 채택이 늦었나 | CTU·라이선스 분쟁·iOS |
| 10 | 10-codec-av1.md | AV1이 차세대인가 | AOM·dav1d·SVT-AV1·AVIF |
| 11 | 11-codec-vp9.md | VP9의 자리는 어디인가 | YouTube·WebM·중간역사 |
| 12 | 12-encoding-pipeline.md | 인코딩 파이프라인은 어떻게 짜는가 | 2-pass·CRF/CBR/VBR·ABR ladder |
What-if — 잘못 다루면 어떻게 깨지는가
| 함정 | 증상 | 해결 위치 |
|---|---|---|
| 비월주사를 그대로 인코딩 | 화면에 빗살(combing) 무늬, 모션 시 흐림 | 02-progressive-vs-interlaced.md |
| 4:2:0으로 텍스트 캡처 | 자막·UI·로고 가장자리 색번짐 | 04-yuv-and-chroma-subsampling.md |
| HDR을 SDR로 톤매핑 없이 출력 | 회색·탈색된 화면 | 05-bit-depth-and-hdr.md |
| MP4 moov가 끝에 | 점진적 다운로드(progressive download) 안 됨 | 06-containers.md (faststart) |
| 23.976/29.97을 정수로 라운딩 | 24시간마다 ~3분 어긋남 → drop-frame timecode | 03-frame-rate-and-timing.md |
| AV1 SW 디코딩을 모바일에 강제 | 발열·드랍·배터리 폭주 | 10-codec-av1.md |
Insight — 흥미로운 이야기 셋
① 비월주사는 1930년대 흑백 TV의 유산이다. 60Hz 전력망에서 30fps × 2필드로 깜빡임을 줄이려는 트릭이었는데, 디지털 시대로 와서도 방송 인프라가 그걸 끌고 와 1080i가 표준이 됐다. 지금의 OLED/LCD 디스플레이에는 아무 이득이 없는데도 —
02-progressive-vs-interlaced.md.
② Twitch가 1080p에서 4:2:0을 쓰는 건 “텍스트를 잘 보이게” 하려는 게 아니다. 게임 UI·채팅 오버레이가 글자투성이인데도 4:2:0인 이유는 인코더 비용과 대부분 디바이스가 4:2:0 가속만 지원하기 때문이다. 그래서 Twitch는 1440p/60에 가야 비로소 글자가 또렷해진다 —
04-yuv-and-chroma-subsampling.md.
③ HEVC의 “라이선스 분쟁”이 AV1을 낳았다. 2013년 HEVC 발표 후 라이선싱 풀이 셋(MPEG LA, HEVC Advance, Velos Media)으로 갈라지면서 누구도 비용을 알 수 없게 됐다. 그 혼란이 Google·Netflix·Amazon·Microsoft를 한 테이블에 앉혀 2018년 AV1을 만들었다 — 기술이 아니라 계약이 코덱 전쟁의 승부를 갈랐다 —
07-codecs-overview.md.
한 단락 요약
비디오는 픽셀×시간×색의 3축 신호이며, 모든 비디오 기술 결정은 그 3축의 품질·효율 트레이드오프다. 신호 자체(공간/시간/색) → 코덱(압축) → 컨테이너(포장) → 파이프라인(자동화) 의 순서로 13개 문서를 쌓는다. 이 챕터를 읽고 나면 “1080p 4:2:0 8bit BT.709 H.264 High@4.0 in fMP4”가 한 단어처럼 보일 것이다.