OpenEXR 이미지 (.exr)
Academy 표준OpenEXR은 영화 및 시각 효과 작업 흐름에서 사용되는 전문 HDR 이미지 형식입니다. 16비트 half 및 32비트 부동소수점 픽셀과 여러 채널 및 레이어를 지원합니다.
검사 및 메타데이터
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 EXR 파일을 식별합니다:
바이트 단위 헤더 시그니처 (매직 바이트)
운영 체제와 파일 분석기는 파일 선두의 바이너리 바이트 시퀀스를 검사하여 EXR 파일을 식별합니다:
16진수 시그니처 (오프셋 0):
76 2F 31 01ASCII 표현: v/1.
표준화: Academy Software Foundation (ASWF) Open Standard
기술 사양
| 컨테이너 아키텍처 | 임의 채널, 파트 및 딥 데이터 레이어를 지원하는 확장형 청크 기반 컨테이너 |
| 압축 | PIZ(웨이블릿), ZIP / ZIPS, RLE, B44 / B44A, DWAA / DWAB(손실 DCT) 및 비압축 |
| 바이트 엔디안 | 리틀 엔디안(인텔 x86 바이트 순서) |
| 색 공간 | Linear ACEScg, ACES2065-1, Linear Rec.709, 임의의 색도 좌표 |
| 채널 및 구조 | 임의의 채널 이름(R, G, B, A, Z 깊이, 법선, 월드 위치, 모션 벡터, Cryptomatte) |
| 최대 크기 | 사실상 무제한(타일 기반 딥 줌과 수 기가픽셀 캔버스 크기 지원) |
| 투명도 | 부동소수점 알파 채널 전체 지원 및 딥 합성용 체적 샘플 배열 |
| 스트리밍 및 프로그레시브 | 스캔라인 또는 타일 청크 스트리밍으로 프레임 일부를 빠르게 읽고 프록시를 렌더링할 수 있습니다. |
기술 비교 매트릭스: EXR 대 경쟁사
| 기술적 속성 | EXR (현재) | HDR | TIFF | PNG |
|---|---|---|---|---|
| 다이내믹 레인지 | 16비트 하프 및 32비트 플로트 리니어 | 8비트 공유 지수(RGBE) | 정수형 8/16비트 또는 32비트 플로트 | 표준 8비트 / 16비트 정수 |
| 다중 채널 렌더 패스 | 무제한 임의 명명 채널 및 파트 | RGB 전용 | 제한된 레이어 지원 | RGBA 전용 |
| 업계 채택률 | 100% 범용 VFX 및 할리우드 3D 표준 | 레거시 3D 라이팅 / 파노라마 | 프리프레스 및 사진 | 소프트웨어에 따라 지원 여부가 다릅니다. |
| 색 관리 | ACES 및 OpenColorIO 네이티브 통합 | 임시 감마 / 리니어 | ICC 프로필 태그 | sRGB / ICC 태그 |
일반적인 손상 모드 및 헥스 복구 가이드
이미지가 완전히 어둡거나, 핵폭발처럼 흰색으로 날아간 영역이 나타납니다.
근본 원인: 리니어-투-sRGB 디스플레이 변환 누락 또는 잘못된 ACES 색 공간 할당.
복구: File2File.app HDR Viewer에서 ACEScg 또는 선형 이미지에서 sRGB로 변환하는 톤 커브를 적용하십시오.
보안 분석 및 파서 공격 벡터
복잡한 청크 기반 OpenEXR 파서는 메모리 안전 문제를 방지하기 위해 채널 정의와 타일 경계를 엄격하게 검증해야 합니다.
알려진 공격 벡터
- libopenexr의 다채널 버퍼 스트라이드 계산 중 정수 오버플로.
- PIZ 또는 DWAA 압축 스트림 압축 해제 중 힙 버퍼 오버런 읽기.
- 깊이 중첩된 멀티파트 청크 헤더 재귀를 통한 서비스 거부(DoS) 공격.
방어적 모범 사례: 엄격한 타일 크기 제한이 있는 메모리 안전성이 확보된 샌드박스 WebAssembly 빌드를 사용하여 EXR 파일을 디코딩하십시오.
역사적 배경 및 주요 이력
주요 장점
- 16비트 하프 플로트(FP16)와 32비트 플로트(FP32)를 기본 지원해 직사광부터 어두운 그림자까지 넓은 휘도 범위를 보존합니다.
- 다중 채널 구조로 뷰티, 디퓨즈, 스페큘러, 깊이, Cryptomatte 등 3D 렌더 패스를 한 파일에 담을 수 있습니다.
- DWAA / DWAB 및 PIZ 압축 알고리즘으로 시각적 손실 없이 높은 압축률을 구현합니다.
기술적 제한 사항 및 단점
- 다중 레이어 4K / 8K 32비트 렌더 패스를 비압축으로 저장하면 파일이 상당히 커집니다.
- 일반 사용자용 소프트웨어에서 다중 채널을 압축 해제하면 CPU와 메모리 사용량이 높습니다.
- 일반적인 sRGB 디스플레이에서 올바르게 표시하려면 색 관리 변환(ACES 또는 OCIO)이 필요합니다.
흥미로운 기술적 상식
- 인더스트리얼 라이트 앤 매직(ILM)은 OpenEXR 포맷을 위해 특별히 16비트 '하프' 부동소수점 데이터 타입을 발명했습니다.
- 모든 EXR 파일의 처음 4바이트 매직 바이트는 0x76 0x2F 0x31 0x01이며, 이는 ASCII로 'v/1\x01'에 해당합니다.
- OpenEXR은 반투명한 연기와 구름 속의 서로 다른 거리에서 단일 픽셀이 여러 색상 및 깊이 샘플을 저장하는 '딥 데이터'를 지원합니다.
자주 묻는 기술 질문
일부 시각 효과 작업 흐름에서 OpenEXR을 사용하는 이유는 무엇인가요?
높은 정밀도의 HDR 이미지 데이터를 보존하고 합성에 필요한 여러 채널, 파트 및 딥 데이터를 지원하기 때문입니다.
EXR의 하프 플로트와 플로트의 차이는 무엇입니까?
하프 플로트는 색상 채널당 16비트를 사용합니다. 32비트 플로트 파일의 절반 크기로 30스톱의 다이내믹 레인지를 제공해 뷰티 렌더에 가장 널리 쓰입니다.
EXR을 표준 PNG 또는 JPG로 어떻게 변환할 수 있습니까?
웹 브라우저 내에서 직접 File2File.app을 사용하여 EXR 파일을 톤맵핑된 PNG 또는 JPG 이미지로 변환할 수 있습니다.