8bit·16bit·32bit 차이: 이미지 작업에는 무엇을 써야 할까?
VFX나 사진 작업을 하다 보면 꼭 한 번은 마주치는 질문이 있어요. “이 파일, 8bit로 저장해도 되나요, 아니면 16bit나 32bit로 가야 하나요?” 비트 뎁스는 색상을 얼마나 촘촘하게 표현하느냐를 결정하는 아주 근본적인 값이라, 이걸 제대로 이해하면 밴딩이나 색 뭉개짐 같은 사고를 절반 이상 예방할 수 있습니다. 오늘은 8bit, 16bit, 32bit가 각각 무엇이고 언제 어떤 걸 써야 하는지 쉽게 풀어볼게요.
비트 뎁스란 무엇인가: 색상을 나누는 눈금의 개수
비트 뎁스(bit depth)를 가장 쉽게 비유하면 “자에 그어진 눈금의 개수”예요. 눈금이 촘촘할수록 더 정밀하게 길이를 잴 수 있듯이, 비트 뎁스가 높을수록 밝기와 색을 더 세밀하게 나눠서 표현할 수 있습니다.
컴퓨터는 색을 숫자로 저장하는데, 이 숫자를 몇 개의 비트(bit, 0과 1로 이루어진 최소 단위)로 표현하느냐가 비트 뎁스예요. 채널 하나(예: 빨강 채널)당 표현 가능한 단계 수는 2의 비트수 제곱으로 계산됩니다.
- 8bit: 2의 8제곱 = 256단계 (0~255)
- 16bit(정수): 2의 16제곱 = 65,536단계
- 32bit(부동소수점, float): 정해진 단계 수가 없이 사실상 연속적인 값을 표현
RGB 컬러 이미지는 보통 이 채널이 3개(R, G, B)라서 흔히 “8bit 이미지”라고 하면 채널당 256단계, 총 256×256×256 = 약 1,677만 컬러를 표현한다고 말하는 거예요.
8bit에서 밴딩이 생기는 이유 🎨
밴딩(banding)이란 원래는 부드럽게 이어져야 할 그러데이션(예: 노을 하늘)이 마치 계단처럼 층이 지는 현상을 말해요. 하늘 사진에서 파란색이 미묘하게 이어지지 못하고 띠 모양으로 뚝뚝 끊겨 보인 경험, 다들 한 번쯤 있으실 거예요.
이건 8bit가 표현할 수 있는 256단계가 넓은 밝기 범위를 커버하기엔 촘촘함이 부족하기 때문에 생깁니다. 특히 문제는 이 256단계가 색보정, 노출 조정, 감마 변환 같은 작업을 한 번 거칠 때마다 재분배되면서 계속 줄어든다는 점이에요. 자를 예로 들면, 처음엔 눈금이 256개였는데 계산할 때마다 눈금 몇 개씩 지워지는 셈이죠. 이 과정을 여러 번 반복하면 원래 부드러웠던 부분에 계단 같은 단차, 즉 밴딩이 확 드러나게 됩니다.
그래서 어두운 부분을 밝게 끌어올리거나 색을 크게 미는 보정을 할수록 8bit에서는 밴딩 위험이 커져요. 이게 바로 실무에서 “작업 중간에는 절대 8bit로 내려가지 말라”는 규칙이 나온 이유입니다.
16bit 정수와 16bit half float은 완전히 다릅니다
여기서 정말 많은 분들이 헷갈리는 포인트예요. “16bit”라는 이름만 보고 다 같은 거라고 생각하기 쉽지만, 실제로는 저장 방식이 근본적으로 다른 두 가지가 있습니다.
**16bit 정수(integer)**는 0부터 65,535까지의 정수만 표현해요. 포토샵의 16bit 모드나 TIFF 16bit가 여기 해당합니다. 표현 범위가 정해져 있어서(0~1 사이의 값으로 정규화) 아주 밝은 하이라이트나 아주 어두운 그림자의 디테일이 날아가면 복구가 안 됩니다.
16bit half float은 정수가 아니라 부동소수점 방식으로 값을 저장해요. 부동소수점이란 소수점의 위치가 고정되지 않고 필요에 따라 움직이는 방식인데, 덕분에 0보다 작은 값이나 1보다 훨씬 큰 값(예: 태양처럼 아주 밝은 광원)까지 폭넓게 담아낼 수 있습니다. Nuke나 하우디니 같은 합성·렌더 툴에서 EXR로 작업할 때 흔히 쓰는 게 바로 이 half float이에요.
즉, 같은 “16bit”라는 이름이라도 정수형은 “정해진 밝기 범위 안에서 촘촘하게”이고, half float은 “범위 자체가 훨씬 넓게 열려 있는” 방식이라 용도가 다릅니다. 렌더 결과물을 저장할 땐 half float 지원 포맷을 쓰는 게 훨씬 안전해요.
32bit float의 영역: 계산의 여유가 다르다
32bit float(흔히 “풀 float”이라고도 불러요)은 half float보다 더 넓은 범위와 더 높은 정밀도를 가진 부동소수점 방식입니다. 값의 상한이 사실상 없다시피 넓고, 소수점 이하 정밀도도 훨씬 높아서 극단적인 노출 차이가 있는 HDR 렌더나 여러 겹의 합성·리라이팅 작업에서 계산 오차가 누적되는 걸 최소화해줍니다.
다만 32bit float은 그만큼 파일 용량이 크고 처리 속도도 느려져요. 그래서 모든 작업을 무조건 32bit로 할 필요는 없고, “정밀한 계산이 여러 번 겹쳐야 하는 구간”에 선택적으로 쓰는 게 현실적입니다. 예를 들면 라이팅 패스를 합성하거나 노출값을 크게 조정해야 하는 컴포지팅 초반 단계가 대표적이죠.
작업 단계별 권장 비트 뎁스 정리
실무에서는 파이프라인 단계마다 요구되는 비트 뎁스가 달라요. 아래처럼 정리해볼 수 있습니다.
- 텍스처 제작(페인팅 원본): 16bit 이상 권장. 여러 레이어를 겹치고 톤을 조정하는 과정이 반복되므로 8bit는 밴딩 위험이 큽니다.
- 매트 페인팅·디지털 페인팅 작업 중: 16bit(정수 또는 float) 필수. 마지막 저장 전까지는 8bit로 내려가지 않아야 해요.
- 3D 렌더 출력: 16bit half float 또는 32bit float(EXR). 라이팅 정보와 여러 렌더 패스(AOV)를 보존하려면 float 계열이 사실상 표준입니다.
- 합성(컴포지팅) 작업: 32bit float 파이프라인이 이상적. 여러 레이어와 노드를 거치며 연산이 누적되기 때문에 정밀도 손실을 최대한 줄여야 해요.
- 최종 딜리버리(상영, 웹 업로드 등): 매체 요구사항에 맞춰 8bit로 변환. 이때가 바로 “8bit로 내려가는 유일한 순간”이에요.
파일 포맷별 지원 비트 뎁스 비교표
포맷을 고를 때는 “이 포맷이 내가 원하는 비트 뎁스를 지원하는가”부터 확인해야 해요. 아래 표로 정리했습니다.
| 포맷 | 지원 비트 뎁스 | 특징 |
|---|---|---|
| JPG | 8bit만 | 손실 압축, 웹/최종 납품용 |
| PNG | 8bit, 16bit(정수) | 무손실 압축, 알파 채널 지원 |
| TIFF | 8bit, 16bit(정수), 32bit(float 가능) | 무손실, 텍스처·페인팅 표준 |
| EXR | 16bit half float, 32bit float | HDR·멀티패스 렌더, VFX 표준 |
| DPX | 10bit, 12bit, 16bit(정수 위주) | 필름/디지털 시네마 중간 산출물 |
용량과 속도 관점에서도 정리해두면 선택이 쉬워져요.
- 8bit: 파일 용량 작음, 처리 속도 빠름, 보정 여유 적음
- 16bit: 용량 중간, 속도 보통, 보정 여유 넉넉
- 32bit: 용량 큼(16bit의 약 2배), 속도 느림, 계산 정밀도 최고
8bit는 마지막 한 번, 그리고 손실은 쌓인다는 것을 기억하세요
정리하면 원칙은 단순합니다. 작업 중에는 항상 최대한 높은 비트 뎁스를 유지하고, 8bit로 내려가는 건 파이프라인의 맨 마지막 딜리버리 단계 딱 한 번뿐이어야 해요.
왜냐하면 비트 뎁스를 낮춘 상태에서 색보정, 크롭, 리사이즈 같은 편집을 반복하면 매번 정보가 조금씩 잘려나가고, 이 손실은 되돌릴 수 없이 누적되기 때문이에요. 8bit로 한 번 내보낸 파일을 다시 열어서 추가 보정을 하고 또 8bit로 저장하는 걸 반복하면, 눈에 띄는 밴딩과 색 뭉개짐이 순식간에 나타납니다.
그래서 원본 소스나 중간 작업 파일은 가능한 한 16bit 이상(가급적 float 계열)으로 보관하고, 최종 출력물만 매체에 맞는 비트 뎁스로 변환해서 내보내는 습관을 들이는 게 좋아요.
자주 묻는 질문(FAQ)
Q1. 그냥 다 32bit로 작업하면 안전하지 않나요? 안전하긴 하지만 파일 용량이 크고 렌더링·재생 속도가 느려지는 단점이 있어요. 모든 단계를 32bit로 하기보다는, 정밀한 연산이 여러 번 겹치는 합성·렌더 단계에서만 32bit를 쓰고 나머지는 16bit로 운용하는 게 효율적입니다.
Q2. PNG도 16bit를 지원한다는데 TIFF 대신 써도 되나요? 네, PNG도 16bit 정수를 지원하고 무손실 압축이라 품질 손실은 없어요. 다만 VFX 파이프라인에서는 레이어 메타데이터나 렌더 패스 정보를 함께 담기 어려워서, 텍스처나 페인팅 작업에는 TIFF가 더 널리 쓰입니다.
Q3. 16bit half float과 32bit float 중 렌더 출력은 뭘 써야 하나요? 일반적인 컴포지팅 작업이라면 16bit half float EXR로도 충분한 경우가 많아요. 다만 매우 넓은 노출 범위를 다루거나 여러 단계의 정밀한 연산이 필요한 고난도 합성이라면 32bit float EXR을 선택하는 게 더 안전합니다.
vfx 잡학지식



댓글 0
첫 댓글을 남겨보세요.