맨위로가기

OpenEXR

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

OpenEXR은 1999년 ILM에서 개발되어 2003년 오픈 소스 소프트웨어 라이브러리로 공개된 고품질 이미지 파일 형식이다. 컴퓨터 그래픽스, 특히 영화 및 텔레비전 제작에 널리 사용되며, 타일, 밉맵, 다양한 압축 방법 등을 지원한다. 16비트 및 32비트 부동 소수점, 32비트 정수 색 심도를 지원하며, C++ 라이브러리 및 파이썬 바인딩을 제공한다. OpenEXR은 다양한 압축 방식을 제공하며, 다중 스레드 읽기 및 쓰기를 지원하여 성능을 향상시켰다.

더 읽어볼만한 페이지

  • 높은 동적 범위 - 블루레이
    블루레이 디스크는 DVD 후속 매체로, 청색 레이저를 사용하여 고화질 영상과 음향을 제공하며 HD DVD와의 경쟁 후 고밀도 광디스크 표준으로 자리 잡았으나 스트리밍 서비스 성장으로 녹화용 디스크 생산이 중단되는 추세이다.
  • 높은 동적 범위 - 돌비 래버러토리스
    레이 돌비가 설립한 돌비 래버러토리스는 잡음 감소 기술인 돌비 노이즈 리덕션 시스템을 시작으로 돌비 스테레오, 돌비 디지털, 돌비 애트모스 등의 서라운드 사운드 시스템과 디지털 시네마, 비디오 프로세싱 기술을 개발한 음향 기술 개발 회사이다.
  • 자유 그래픽 스포트웨어 - 김프
    김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.
  • 자유 그래픽 스포트웨어 - 잉크스케이프
    잉크스케이프는 완전한 SVG 표준 구현을 목표로 개발된 자유-오픈 소스 벡터 그래픽 편집기로, 다양한 객체 조작 및 패스 연산 기능을 제공하며 여러 플랫폼을 지원하는 특징을 갖는다.
  • 그래픽 파일 포맷 - JPEG
    JPEG은 정지 화상의 디지털 압축 및 코딩을 위한 국제 표준이자 이를 만든 위원회의 이름으로, 1992년 최초 표준 발표 이후 웹 환경에서 널리 사용되는 이미지 형식이 되었다.
  • 그래픽 파일 포맷 - BMP 파일 포맷
    BMP 파일 포맷은 마이크로소프트에서 정의한 다양한 색상 깊이를 가진 컬러 비트맵 표현 방식으로, 장치 독립 비트맵이라고도 불리며, BMP 헤더, 비트맵 정보, 색 팔레트, 비트맵 데이터 등으로 구성되어 높은 호환성을 가지지만 압축을 거의 하지 않아 파일 크기가 큰 편이다.
OpenEXR - [IT 관련 정보]에 관한 문서
기본 정보
OpenEXR 로고
OpenEXR 로고
개발ILM
출시1999년
최신 버전 출시일}}
파일 확장자.exr
종류HDR 이미지
라이선스수정 BSD 라이선스
공식 웹사이트OpenEXR 공식 웹사이트

2. 역사

OpenEXR은 1999년 ILM에서 개발되었으며, 2003년 오픈 소스 소프트웨어 라이브러리와 함께 대중에게 공개되었다.[6][7] 이는 곧 컴퓨터 그래픽스에 사용되는 소프트웨어, 특히 영화 제작 및 텔레비전 제작에 널리 채택되었다. 이 형식은 타일, 밉맵, 새로운 압축 방법 및 기타 기능에 대한 지원을 추가하면서 여러 번 업데이트되었다.[7] 2007년, OpenEXR은 기술 공로상 아카데미상을 수상했다.[7]

2013년 4월에 출시된 OpenEXR 2.0은 딥 이미지 합성 및 단일 파일에 여러 이미지를 포함하는 기능을 지원하도록 형식을 확장했다.[7][8][9] 2014년 8월에 출시된 버전 2.2는 손실 DWA 압축 형식을 추가했다.[10]

3. 기술

OpenEXR 형식에 대한 기술 정보는 OpenEXR 공식 웹사이트에서 무료로 제공되며, 기술을 수정 및 변형하여 커스터마이징할 수 있다.[3]

OpenEXR의 다중 해상도 및 임의 채널 형식은 합성에 매력적이다. 반사광, 확산광, 알파, RGB, 노멀 등 다양한 유형의 채널을 하나의 파일에 저장할 수 있어, 별도의 파일에 저장할 필요가 없다. 다중 채널 개념은 또한 언급된 데이터를 최종 이미지에 "베이킹"할 필요성을 줄여준다. 만약 합성 과정에서 반사광 수준에 만족하지 못한다면, 해당 채널을 조정할 수 있다.[4]

OpenEXR의 API는 개발자가 도구를 비교적 쉽게 개발할 수 있도록 돕는다. 제작 파이프라인은 거의 동일하지 않기 때문에 이미지 조작 문제 등을 해결하기 위해 맞춤형 도구를 개발해야 하는 경우가 많다. OpenEXR 라이브러리를 사용하면 타일 및 채널과 같은 이미지 속성에 빠르고 쉽게 접근할 수 있다.[4]

OpenEXR 라이브러리는 C++로 개발되었으며, Microsoft Windows, macOS, Linux용으로 소스 형식과 컴파일된 형식으로 제공된다.[5] 파이썬 바인딩도 사용할 수 있다.[5]

3. 1. 색 심도

OpenEXR은 다음의 색 심도를 지원한다.

  • 16비트 부동 소수점(하프)
  • 32비트 부동 소수점
  • 32비트 부호 없는 정수


OpenEXR은 16비트 반정밀도 부동 소수점 수(FP16)을 지원한다. 32비트 단정밀도 부동 소수점 수(FP32)에 비해 표현 가능한 값의 범위(정밀도)는 떨어지지만, 3차원 컴퓨터 그래픽스의 HDR(High-Dynamic-Range) 렌더링에는 필요 충분한 정밀도를 가지며 데이터량을 줄일 수 있는 포맷으로 채용되는 경우가 많다. OpenEXR 라이브러리에서는 `half`형으로 C++용 클래스가 제공된다[16]

NVIDIA가 개발한 Cg 언어에서 지원되는 내장형 중 하나인 `half`형은 OpenEXR의 반정밀도 부동 소수점 수와 호환된다[17]。 FP16은 OpenGLDirect3D에서도 텍스처 포맷 중 하나로 지원된다.

3. 2. 압축 방법

OpenEXR은 이미지 저장 효율성을 높이기 위해 다양한 압축 방법을 제공한다. OpenEXR에서 사용 가능한 압축 방법은 다음과 같다.

압축 방식설명
없음모든 압축을 비활성화한다.
RLETarga 파일 형식과 유사한 기본적인 압축 방식이다.
Zip (스캔라인별)개별 스캔라인에 zlib 래퍼를 사용한 deflate 압축을 적용한다.
Zip (16 스캔라인 블록)16개의 스캔라인 블록에 Deflate 압축을 적용한다. 필름 입자가 없는 렌더링된 이미지에 가장 효과적이다.
PIZ (웨이블릿 압축)웨이블릿 및 허프만 코딩을 결합한 무손실 압축 방식이다. 입자가 많은 이미지에 효과적이다.
PXR24 (24비트 변환 후 Deflate 압축)픽사 애니메이션 스튜디오에서 개발한 방식으로, 32비트 부동 소수점을 24비트로 변환한 후 Deflate 압축을 적용한다. 32비트 부동 소수점 데이터에 대해 약간의 손실이 발생할 수 있다.
B44반정밀도 데이터에 대해 손실 압축을 적용하며, 32비트 데이터는 압축하지 않고 저장한다. 고정 압축률을 가지며 실시간 재생을 위해 설계되었다.
B44AB44의 확장으로, 알파 채널과 같이 평평한 색상 영역을 추가로 압축한다.
DWAA드림웍스 애니메이션에서 제공하는 JPEG와 유사한 손실 압축 형식이다. 32개의 스캔라인을 함께 압축한다.
DWABDWAA와 동일하지만, 256개의 스캔라인 블록을 압축한다.




3. 3. OpenEXR로 개발하기

OpenEXR 라이브러리C++로 개발되었으며 마이크로소프트 윈도우, macOS, 리눅스용 소스 형식 및 컴파일된 형식으로 사용할 수 있다.[20] 2006년 6월 8일에 릴리스된 버전 1.3.0부터는 OpenEXR에 다중 스레드 읽기 및 쓰기 기능이 추가되었다. 다중 스레드 읽기 및 쓰기는 다중 코어 또는 CPU가 있는 시스템의 성능을 향상시키는데, 이는 렌더링 시에 베오울프같은 병렬 처리 슈퍼컴퓨팅을 이용하는데 최적화된다는 것을 의미한다. OpenEXR은 쓰레드 풀(thread pool)을 사용하여 읽기 및 쓰기를 처리한다.[3]

OpenEXR의 다중 해상도 및 임의 채널 형식은 합성에 매력적인 요소이다. 반사광, 확산광, 알파, RGB, 노멀 등 다양한 유형의 채널을 하나의 파일에 저장할 수 있으므로 이 정보를 별도의 파일에 저장할 필요가 없다. 다중 채널 개념은 또한 언급된 데이터를 최종 이미지에 "베이킹"할 필요성을 줄여준다. 만약 합성가가 현재 반사광 수준에 만족하지 못한다면, 해당 특정 채널을 조정할 수 있다.[4]

OpenEXR의 API는 개발자가 도구를 비교적 쉽게 개발할 수 있도록 한다. 동일한 제작 파이프라인은 거의 없기 때문에 이미지 조작 문제 등을 해결하기 위해 항상 맞춤형 도구를 개발해야 한다. OpenEXR 라이브러리를 사용하면 타일 및 채널과 같은 이미지의 속성에 빠르고 쉽게 접근할 수 있다.[4]

3. 3. 1. 라이브러리

OpenEXR 라이브러리는 C++로 개발되었으며 마이크로소프트 윈도우, macOS, 리눅스용으로 소스 형식과 컴파일된 형식으로 제공된다.[20] 파이썬 바인딩도 사용할 수 있다.[20][5]

OpenEXR 소프트웨어 배포에는 다음이 포함된다:

  • Half: 반정밀도 값을 C++ 기본 데이터 형식처럼 조작하기 위한 C++ 클래스
  • exrdisplay: 다양한 노출 설정으로 디스플레이에서 OpenEXR 이미지를 보기 위한 샘플 응용 프로그램
  • ILMImf: ILM에서 OpenEXR 이미지 형식(Imf) 파일에 대한 하위 수준 작업을 위해 제작한 라이브러리[11][12]
  • Imath[13]
  • IlmImfUtil

참조

[1] 웹사이트 CGImageSource.SupportedTypes https://www.mbsplugi[...] MonkeyBread Software
[2] 웹사이트 License http://www.openexr.c[...]
[3] 웹사이트 Technical Introduction to OpenEXR https://www.openexr.[...] Industrial Light & Magic 2015-11-09
[4] 웹사이트 OpenEXR File Layout https://openexr.com/[...] 2023-05-25
[5] 웹사이트 OpenEXR 1.3.0 : Python Package Index https://pypi.python.[...] 2018-04-11
[6] 간행물 Industrial Light & Magic Releases Proprietary Extended Dynamic Range Image File Format OpenEXR to Open Source Community https://web.archive.[...] 2013-04-11
[7] 웹사이트 OpenEXR https://github.com/A[...] 2023-01-16
[8] 간행물 v2.0.0.0 (GM) release announcement https://lists.nongnu[...] 2013-04-09
[9] 뉴스 OpenEXR 2.0 http://www.cgsociety[...] 2013-04-10
[10] 간행물 DreamWorks Animation Contributes Lossy Compression To OpenEXR 2.2 https://www.renderos[...] 2014-08-18
[11] 웹사이트 Reading and Writing OpenEXR Image Files with the IlmImf Library https://www.openexr.[...]
[12] 웹사이트 name · Issue #879 · AcademySoftwareFoundation/openexr https://github.com/A[...]
[13] 웹사이트 Imath https://github.com/A[...] 2023-01-21
[14] 웹사이트 Technical Introduction to OpenEXR http://www.openexr.c[...] 2006-02-23
[15] 웹사이트 Technical Introduction to OpenEXR https://web.archive.[...] 2006-02-23
[16] 문서 openexr/half.h at master・AcademySoftwareFoundation/openexr https://github.com/A[...]
[17] 문서 3ds Max 2015 Help ヘルプ:OpenEXR ファイル http://help.autodesk[...]
[18] 웹사이트 License http://www.openexr.c[...] openexr.com 2017-06-30
[19] 웹인용 Technical Introduction to OpenEXR http://www.openexr.c[...] Industrial Light & Magic 2015-11-09
[20] 문서 https://pypi.python.[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com