오픈EXR

OpenEXR
오픈EXR
파일 이름 확장명
.exr
인터넷 미디어 유형image/x-exr
개발자인더스트리얼 라이트 앤 매직
초기 릴리즈1999; 23년 전 (1998년)
최신 릴리즈
3.1.2
2021년 10월 4일; 5개월 전(2021-10-04)
형식 유형고다이내믹 레인지 이미징
오픈 포맷?예, 수정된 BSD 라이센스
웹사이트www.openexr.com

OpenEXR산업용 라이트 매직(ILM)이 만든 소프트웨어 도구 세트와 함께 BSD 라이센스와 유사한 무료 소프트웨어 라이센스공개 표준으로 출시한 고다이나믹 레인지 멀티 채널 래스터 파일 형식이다.[1]

32비트 비부호 정수, 32비트, 16비트 부동소수점 값 등 픽셀 크기가 잠재적으로 다른 복수 채널무손실 압축 알고리즘을 포함한 다양한 압축 기법을 지원하는 것이 눈에 띈다.임의의 채널을 갖고 있으며, 좌우 카메라 영상 등 복수의 관점을 인코딩한다.[2]

개요

형식에 대한 전체 기술 소개는 OpenEXR 웹사이트에서 확인할 수 있다.[2]

OpenEXR, 즉 줄여서 EXR은 ILM에서 개발한 딥 래스터 포맷으로 시각효과와 애니메이션 모두 컴퓨터그래픽 산업에서 광범위하게 사용된다.

OpenEXR의 다해상도 및 임의 채널 포맷은 프로세스의 몇 가지 고통스러운 요소를 완화시켜주기 때문에 컴포지팅을 호소한다.임의의 채널(규격, 확산, 알파, RGB, 정규, 기타 다양한 유형)을 하나의 파일에 저장할 수 있기 때문에, 이 정보를 별도의 파일에 저장할 필요가 없어진다.또한 다채널 개념은 앞서 언급한 데이터에서 최종 이미지로 "bake"할 필요성을 감소시킨다.합성자가 현재 규격 수준에 만족하지 못하면, 그들은 특정 채널을 조정할 수 있다.[3]

OpenEXR의 API는 도구 개발을 개발자들이 비교적 쉽게 할 수 있도록 해준다.거의 두 개의 동일한 생산 파이프라인이 없기 때문에, 이미지 조작 문제 등과 같은 문제를 해결하기 위해 사용자 정의 도구를 항상 개발해야 한다.OpenEXR의 라이브러리를 사용하면 타일 및 채널과 같은 이미지의 속성에 빠르고 쉽게 액세스할 수 있다.[3]

역사

오픈EXR은 1999년 ILM에 의해 만들어졌으며 2003년 오픈소스 소프트웨어 라이브러리와 함께 일반에 공개되었다.[4][5]그것은 컴퓨터 그래픽, 특히 영화텔레비전 제작에 사용되는 소프트웨어에 의해 곧 널리 채택되었다.형식은 여러 번 업데이트되어 타일, 킵맵, 새로운 압축 방법 및 기타 특징에 대한 지원이 추가되었다.[5]2007년에 OpenEXR은 아카데미 기술 공로상을 수상하였다.[5]

OpenEXR 2.0은 2013년 4월에 출시되어 딥 이미지 버퍼와 여러 이미지를 하나의 파일에 내장하여 지원하여 포맷을 확장하였다.[5][6][7]2014년 8월에 출시된 버전 2.2는 손실성 DWA 압축 형식을 추가했다.[8]

분배

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

  • 도서관
  • 절반, 반값 값을 기본 제공 C++ 데이터 유형인 것처럼 조작하는 C++ 클래스
  • 다양한 노출 설정으로 디스플레이에서 OpenEXR 영상을 보기 위한 샘플 애플리케이션인 exrdisplay

도서관

  • Ilmimf[9] = Industrial Light & Magic(Ilm)이 OpenEXR 이미지 포맷(imf)[10]이 있는 파일에 대한 낮은 수준의 작업을 위해 만든 라이브러리
    • Linux 상의 libilmimf
    • 창문에 Ilmimf.dll
  • 일미프유틸
  • 이맛[11]

색 깊이

OpenEXR은 다음을 사용하여 색 깊이 지원

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

압축 방법

OpenEXR에는 세 가지 일반적인 유형의 무손실 압축이 내장되어 있으며, Zip 압축 방법에는 두 가지가 있다.곡물이 많이 없는 대부분의 이미지에서는 두 개의 Zip 압축 방법이 가장 잘 작동하는 반면, PISS 압축 알고리즘은 곡물이 많은 이미지에 더 적합하다.사용 가능한 옵션은 다음과 같다.[12]

없음
모든 압축을 비활성화한다.
RLE(실행 길이 인코딩)
이것은 표준 타르가 파일이 사용하는 것과 비교해도 손색이 없는 기본적인 형태의 압축이다.
Zip(스캔 라인당)
zlib 래퍼를 개별 스캔 라인에 적용하여 압축을 해제하십시오(이름에도 불구하고 ZIP 파일 형식에 기반하지 않음).
Zip(스캔라인 블록 16개)
16개의 스캔 라인 블록에 적용되는 압축 감압이것은 필름 곡물이 적용되지 않는 렌더링된 이미지와 함께 사용할 수 있는 가장 효과적인 압축 스타일인 경향이 있다.
PISS(파형 압축)
이 무손실 방법은 새로운 결합된 파장/허프만 압축을 사용한다.이러한 형태의 압축은 곡물 이미지를 처리할 때 상당히 효과적이며 곡물 조건에서 다른 옵션을 능가하는 경우가 많다.
PXR24(24비트 데이터 변환 후 압축 감압)
픽사 애니메이션 스튜디오의 이러한 형태의 압축은 32비트 플로트를 24비트로 변환한 후 감압 압축을 사용한다.절반 및 32비트 정수 데이터의 경우 무손실이고 32비트 부동 데이터의 경우 약간 손실된다.
B44
이러한 형태의 압축은 절반의 데이터에서 손실성이 있으며 32비트 데이터를 압축하지 않고 저장한다.2.28:1 또는 4.57:1의 고정 압축 크기를 유지하며 실시간 재생이 가능하도록 설계되었다.B44는 이미지 내용에 관계없이 균일하게 압축한다.[13]
B44A
알파 채널과 같이 플랫 컬러 영역이 더욱 압축되는 B44로의 확장.
DWAA
DreamWorks Animation에서 제공하는 JPEG 유사 손실 압축 형식.32개의 스캔 라인을 함께 압축하십시오.[8]
드와브
DWAA와 동일하지만 256개의 스캔라인 블록을 압축한다.

크레딧

OpenEXR.org의 기술 소개:

ILM OpenEXR 파일 형식은 플로리안 카인즈, 워지치 자로즈, 로드 보가트가 설계 및 구현했다.PISS 압축 체계는 Christian Louet에 의한 알고리즘에 기초한다.Josh Pines는 16비트의 PISS 알고리즘을 확장하는 데 도움을 주었고 플로트 대 하프 변환에 대한 최적화를 찾았다.Drew Hess는 공개 릴리즈를 위해 ILM의 내부 소스 코드를 패키징 및 개조하고 OpenEXR 소프트웨어 배포를 유지한다.PXR24 압축 방법은 픽사 애니메이션 스튜디오에서 로렌 카펜터가 작성한 알고리즘을 기반으로 한다.[2]

OpenEXR을 사용한 개발

OpenEXR 라이브러리는 C++로 개발되었으며 Microsoft Windows, MacOSLinux용 컴파일 형식뿐만 아니라 소스 형식으로도 사용할 수 있다.도서관용 파이톤 바인딩은 버전 2.x에서도 사용할 수 있다.[14]

2006년 6월 8일에 출시된 버전 1.3.0을 기준으로 오픈EXR에 멀티스레드 읽기 및 쓰기 지원이 추가되었다.멀티스레드 읽기 및 쓰기는 코어 또는 CPU가 여러 개 있는 시스템에 더 높은 성능의 이득을 제공한다.OpenEXR은 스레드 풀로 읽기 및 쓰기를 처리한다.[citation needed]

참고 항목

참조

  1. ^ License, openexr.com
  2. ^ a b c Florian Kainz; Rod Bogart; Piotr Stanczyk; Peter Hillman (5 November 2013). "Technical Introduction to OpenEXR" (PDF). Industrial Light & Magic. Retrieved 2015-11-09.
  3. ^ a b Kainz, Florian. "OpenEXR File Layout" (PDF). Industrial Light & Magic. Retrieved 7 December 2013.
  4. ^ "Industrial Light & Magic Releases Proprietary Extended Dynamic Range Image File Format OpenEXR to Open Source Community" (PDF) (Press release). 22 January 2003. Archived from the original (PDF) on 21 July 2017. Retrieved 11 April 2013.
  5. ^ a b c d "Main OpenEXR web site".
  6. ^ Stanczyk, Piotr (9 April 2013). "v2.0.0.0 (GM) release announcement". openexr-announce (Mailing list).
  7. ^ "OpenEXR 2.0". The CGSoceity. 10 April 2013.
  8. ^ a b "DreamWorks Animation Contributes Lossy Compression To OpenEXR 2.2" (Press release). Glendale, CA. 8 August 2014. Retrieved 2014-08-18.
  9. ^ Ilmimf 라이브러리를 사용하여 OpenEXR 이미지 파일 읽기 및 쓰기
  10. ^ Github AcademySoftwareFoundation openexr호 879
  11. ^ AcademySoftwareFoundation Imath 라이브러리
  12. ^ "Technical Introduction to OpenEXR" (PDF). Archived from the original (PDF) on 2011-07-17. Retrieved 2006-02-23.
  13. ^ "Technical Introduction to OpenEXR" (PDF). Archived from the original (PDF) on 2011-07-17. Retrieved 2006-02-23.
  14. ^ "OpenEXR 1.3.0 : Python Package Index". pypi.python.org. Retrieved 11 April 2018.

외부 링크