OpenEXR
OpenEXRとは、米国インダストリアル・ライト&マジック(Industrial Light & Magic、スターウォーズのVFXを制作している会社)が開発したHDR画像向けのファイルフォーマットである。
目次
概要[編集 | ソースを編集]
OpenEXRはハリウッド映画のために開発された画像フォーマットである。 「編集する前提の動画」であり「フィルムの1コマ」に相当する画像を格納する。
編集する前提なのでMPEGのような「時間軸方向の圧縮」は行われない。あくまで2Dである。
また「非可逆フィルターの劣化の蓄積」を回避するため OpenEXRは各ピクセルのRGB成分を「16ビット浮動小数点」「32ビット浮動小数点」「32ビット整数」のいずれかで保持する。考え方的にはハイレゾオーディオと同じ理由だな。
OpenEXRは1999年にILMによって作成され、2003年に仕様書およびライブラリのソースコードが一般公開された。 法人向けでは仕様公開直後から絶賛の嵐で、映画やテレビの制作に使用されるソフトウェアで広く採用された。
一方、個人向けではOpenEXRは一般人がパソコンで扱うにはデータ量が大きすぎるためあまり注目されていなかったが、 2010年代ごろからゲーム業界でもHDRが流行りだした際に「16ビット浮動小数点形式のテクスチャ画像」の標準フォーマットとして一気に広まった。
このフォーマットは何度か更新され、タイル、ミップマップ、可逆圧縮やウェーブレットなどの新しい圧縮アルゴリズム、その他の機能のサポートが追加されている。
2007年にはOpenEXRがハリウッド映画業界の発展に大きく貢献したとしてアカデミー賞技術功労賞を受賞した。
圧縮形式[編集 | ソースを編集]
非圧縮[編集 | ソースを編集]
いわゆる非圧縮のビットマップ形式。 アホみたいにデータサイズがデカイためあまり見かけない。
Run Length Encoding[編集 | ソースを編集]
ランレングス圧縮(Run Length Encoding、RLE)を用いるもの。OpenEXRでもっとも標準的な圧縮形式である。
ZIP per Scanline[編集 | ソースを編集]
個々のスキャンラインごとにzlibのdeflate圧縮を用いる。 「zip」という名称なのにzipファイルとは一切関係ないアルゴリズムだ。
ZIP 16 Scanline Block[編集 | ソースを編集]
一度に16スキャンラインに対してzlibのdeflate圧縮を用いる形式。 ここ最近のフィルムグレインのない画像では効率が良い。
PIZ[編集 | ソースを編集]
PIZはウェーブレット変換とハフマン圧縮を組み合わせた新しい形式。 フィルムグレインが強い画像を扱う場合に非常に効率が良い。
PXR24[編集 | ソースを編集]
PXR24 (Pixar Animation Studios 24) は、32ビットの浮動小数点データを24ビットに変換した後、デフレート圧縮した形式。 「16ビット浮動小数点」「32ビット整数」では可逆圧縮、「32ビット浮動小数点」で非可逆圧縮となる。 ピクサーの映画で使っているらしい。
B44[編集 | ソースを編集]
B44は「圧縮後のデータサイズが常に一定」という形式である。この特性により一定幅でポインタをシークするだけで「コマ送り」「頭出し」ができるため、画をパラパラアニメ的に保持し、リアルタイムでコマ送り編集するような用途で用いられる。
B44A[編集 | ソースを編集]
B44の拡張。
DWAA[編集 | ソースを編集]
DWAA (DreamWorks Animation A)はJPEGライクな非可逆圧縮。 32スキャンラインをまとめて圧縮する。 ドリームワークスの映画で使っているらしい。
DWAB[編集 | ソースを編集]
DWAB (DreamWorks Animation B)はDWAAとほぼ同じ。 256スキャンラインをまとめて圧縮する。