키프레임이란? 영상 자르기에서 키프레임이 중요한 이유
키프레임(I-프레임)이란 무엇인지, 프레임 간 압축의 원리, 무손실 영상 자르기에서 키프레임이 중요한 이유를 초보자도 이해할 수 있게 설명합니다.
기초부터: 영상 압축은 어떻게 작동하는가
영상 파일은 독립적인 이미지를 순서대로 나열한 것이 아닙니다. 만약 그렇다면 파일 크기가 어마어마해질 것입니다. 비압축 상태의 1080p 프레임 한 장은 약 6MB이므로, 30fps 영상이라면 초당 180MB가 발생하게 됩니다.
H.264, H.265, AV1 같은 최신 영상 코덱은 간단한 사실 하나를 활용하여 이 문제를 해결합니다. 한 프레임에 담긴 내용의 대부분은 다음 프레임에도 그대로 존재한다는 것입니다. 배경은 변하지 않고, 물체는 조금만 움직이며, 실제로 달라지는 부분은 이미지의 일부분에 불과합니다.
모든 프레임을 완전한 이미지로 저장하는 대신, 코덱은 다음과 같이 저장합니다.
- 완전한 참조 프레임 (이것을 키프레임 또는 I-프레임이라 합니다)
- 이전 프레임과의 차이 (이것을 P-프레임과 B-프레임이라 합니다)
이를 프레임 간 압축(inter-frame compression) 이라 하며, 2시간짜리 영화가 2TB가 아닌 4GB 파일에 담길 수 있는 이유입니다.
세 가지 프레임 유형
I-프레임 (키프레임)
I-프레임(Intra-coded frame)은 완전하고 자체적으로 완결된 이미지입니다. 다른 프레임을 참조하지 않습니다. I-프레임 하나만으로도 해당 이미지를 디코딩하여 표시할 수 있습니다.
사진 한 장이라고 생각하면 됩니다. 이미지를 보여주는 데 필요한 모든 정보가 담겨 있습니다.
P-프레임 (예측 프레임)
P-프레임(Predicted frame)은 이전 프레임과의 차이만 저장합니다. “이전 프레임에서 시작해서, 이 블록을 오른쪽으로 3픽셀 옮기고, 이 픽셀들을 파란색에서 녹색으로 바꿔라”라는 식으로 기록합니다.
P-프레임은 I-프레임보다 훨씬 작습니다. 일반적으로 I-프레임 크기의 30~50% 수준입니다.
B-프레임 (양방향 프레임)
B-프레임(Bi-directional frame)은 이전 프레임과 이후 프레임을 모두 참조합니다. “앞 프레임과 뒤 프레임을 혼합하라”는 식으로 동작합니다. B-프레임은 가장 작으며, I-프레임 크기의 10~20%에 불과한 경우가 많습니다.
이것이 영상 자르기에 중요한 이유
핵심적인 의미는 이렇습니다. 영상 재생은 반드시 키프레임에서만 시작할 수 있습니다.
P-프레임부터 재생하려 하면, 디코더에 참조할 기준 이미지가 없습니다. 존재하지 않는 프레임에 차이값을 적용하려 하면 깨진 화면이나 오류가 발생합니다.
이것이 바로 다음 현상들의 원인입니다.
- 영상 플레이어에서 탐색할 때 클릭한 위치와 약간 다른 곳으로 이동하는 것 — 가장 가까운 키프레임으로 맞춰지기 때문입니다
- 무손실 영상 자르기가 키프레임 경계에서만 가능한 것
- 키프레임 사이를 자르려면 자르기 지점과 가장 가까운 키프레임 사이의 프레임을 재인코딩해야 하는 것
예시
30fps로 촬영되고 2초마다 키프레임이 있는 60초짜리 영상을 떠올려 보세요.
프레임 0 (I) → 프레임 1-59 (P/B) → 프레임 60 (I) → 프레임 61-119 (P/B) → 프레임 120 (I) → ...
정확히 프레임 45(1.5초 지점)에서 자르고 싶다면:
- 무손실 자르기: 프레임 0(0초) 또는 프레임 60(2초)에 맞춰야 합니다 — 프레임 45에서 시작할 수 없습니다
- 재인코딩 자르기: 정확히 프레임 45에서 자를 수 있지만, 프레임 45에 새로운 I-프레임을 생성하기 위해 프레임 0~60을 재인코딩해야 합니다
키프레임 간격 (GOP 크기)
키프레임 사이의 거리를 GOP 크기(Group of Pictures)라고 합니다. 일반적인 값은 다음과 같습니다.
| 콘텐츠 유형 | 일반적인 GOP | 키프레임 간격 |
|---|---|---|
| 화면 녹화 | 60~120 프레임 | 2~4초 |
| 스트리밍 영상 | 30~60 프레임 | 1~2초 |
| YouTube 업로드 | 30 프레임 | 1초 |
| 방송 TV | 15~30 프레임 | 0.5~1초 |
| 블루레이 영화 | 24~48 프레임 | 1~2초 |
GOP가 짧으면 키프레임이 많아지고, 이는 다음을 의미합니다.
- 더 정밀한 무손실 자르기 (잘라낼 수 있는 지점이 더 많음)
- 영상 플레이어에서 더 빠른 탐색
- 더 큰 파일 크기 (I-프레임이 P/B-프레임보다 크므로)
GOP가 길면 키프레임이 적어지고:
- 더 나은 압축률 (더 작은 파일)
- 덜 정밀한 무손실 자르기
- 더 느린 탐색
무손실 편집 도구의 키프레임 처리 방식
키프레임 스냅 방식
대부분의 무손실 편집 도구는 자르기 지점을 가장 가까운 키프레임에 맞춥니다. 시작 지점을 1분 30초로 설정했는데 가장 가까운 키프레임이 1분 28초와 1분 32초에 있다면, 도구는 이 두 위치 중 하나에서 자릅니다.
이것은 가장 단순한 방식이며, 화질 손실이 전혀 없음을 보장합니다. 출력물은 원본 파일 데이터의 완벽한 부분 집합입니다.
스마트 컷 (하이브리드) 방식
일부 고급 도구는 “스마트 컷” 또는 “정밀 컷” 모드를 제공합니다. 작동 방식은 다음과 같습니다.
- 원하는 자르기 지점 전후의 키프레임을 찾습니다
- 키프레임과 자르기 지점 사이의 프레임만 재인코딩합니다 (새로운 I-프레임 생성)
- 나머지는 전부 무손실로 복사합니다
이 방식은 영상의 1% 미만만 재인코딩하면서 프레임 단위의 정밀한 자르기를 제공합니다. 재인코딩된 프레임에 거의 감지할 수 없는 수준의 화질 차이가 있을 수 있지만, 실용적으로는 구분이 불가능합니다.
키프레임 시각화
DalCut 같은 무손실 편집 도구에서 영상을 열면, 타임라인에 키프레임 위치가 마커로 표시됩니다. 이를 통해 다음을 확인할 수 있습니다.
- 무손실 자르기가 가능한 정확한 위치
- 도구가 특정 위치로 맞추는 이유
- 완벽한 무손실 출력을 위해 키프레임에 맞는 자르기 지점 선택
자르기 지점이 키프레임 사이에 있을 경우, 도구가 가장 가까운 유효 위치를 보여주어 정보에 기반한 선택을 할 수 있습니다.
실용적인 팁
1. 키프레임 간격을 짧게 설정하여 녹화하기
나중에 자를 것을 알고 있다면, 녹화 소프트웨어에서 GOP를 3060프레임(30fps 기준 12초)으로 설정하세요. 이렇게 하면 정밀한 무손실 자르기를 위한 키프레임 위치가 더 많아집니다.
DalVideo에서는 기본 설정이 2초마다 키프레임을 생성하도록 되어 있어, 파일 크기와 자르기 정밀도 사이의 적절한 균형을 유지합니다.
2. 정밀한 자르기에 너무 집착하지 않기
인트로 제거, 엔딩 크레딧 잘라내기, 클립 추출 등 대부분의 자르기 작업에서는 1~2초의 여유가 전혀 문제되지 않습니다. 이러한 작업에 프레임 단위의 정밀도가 필요한 경우는 거의 없습니다.
3. AI 장면 감지 활용하기
장면 전환은 키프레임과 동시에 또는 그 근처에서 발생하는 경우가 많습니다(급격한 시각적 변화가 인코딩 과정에서 더 많은 I-프레임을 생성하기 때문). DalCut 같은 도구의 AI 장면 감지는 이러한 자연스러운 경계를 식별하며, 이 경계가 키프레임 위치와 잘 맞는 경우가 많습니다.
4. 재인코딩 전에 한 번 더 생각하기
재인코딩된 자르기를 수락하기 전에 스스로 물어보세요. 1~2초의 차이가 정말 중요한가? 가장 가까운 키프레임에서의 무손실 자르기는 완벽한 화질을 보존합니다. 재인코딩은 아무리 미미하더라도 잠재적인 아티팩트를 유발할 수 있습니다.
결론
키프레임은 영상 압축의 기준점입니다. 탐색과 자르기를 가능하게 하는 완전한 이미지입니다. 키프레임을 이해하면 다음과 같은 도움을 얻을 수 있습니다.
- 무손실 자르기가 왜 특정 위치에 맞춰지는지 이해
- 정밀도와 화질 사이에서 현명한 결정
- 나중 편집을 위한 녹화 설정 최적화
일상적인 영상 자르기에서 키프레임에 대해 일일이 신경 쓸 필요는 전혀 없습니다. 편집 도구가 자동으로 처리해 주기 때문입니다. 하지만 이 개념을 이해하면, 무손실 자르기로 충분한 경우와 재인코딩이 진정으로 필요한 경우를 더 잘 판단할 수 있습니다.
대부분의 경우, 무손실이면 충분합니다. 그리고 그것은 더 빠른 처리, 완벽한 화질, 더 작은 파일을 의미합니다. DalCut으로 직접 확인해 보세요. 타임라인에 키프레임 위치가 표시되어 원리를 눈으로 확인할 수 있습니다.