Movie Render Graph出力のEXR画像ファイルサイズが大幅にHighResShotより大きい件について

お世話になっております。

<br/>

現在開発中のプロジェクトの画像出力パイプラインを”高解像度スクリーンショット”から”MovieRenderGraph”へ移行することを検討していますが、ポストプロセスマテリアル(PPM)出力のEXR画像ファイルサイズについての課題に直面しています。

<br/>

同じシーン、同じ解像度で、MRGとHighResShotの2通りでEXR画像を出力したところ、MRG出力のファイルサイズが大幅に大きいと確認できています。

<br/>

■質問

<br/>

  • MRG出力の画像のファイルサイズがHighResShotより大きい原因はなんでしょうか?
  • MRGのEXR圧縮設定について
    • ”圧縮”と”Lossless Compression”を同時に有効にした時、”圧縮”の設定内容が優先に採用される認識が正しいでしょうか
    • 画像の劣化を抑えつつ、容量を削減したい場合、推奨のMRGのEXR圧縮方法またはほかの設定方法があれば教えていただいてもいいでしょうか

お手数をかけますが、ご知見を貸していただけますと幸いです。

[Attachment Removed]

お世話になっております。

> MRG出力の画像のファイルサイズがHighResShotより大きい原因はなんでしょうか?

圧縮フォーマットが異なるためであると考えられます。

HighResShot では ZIP であるのに対し、

MRG(MRQ)の場合はデフォルトで PIZ という方式になっています。

いずれも Lossless であり、画像の内容によって圧縮率が異なります。

内容によってはファイルサイズの大小関係は逆転する可能性があります。

> MRGのEXR圧縮設定について

> ”圧縮”と”Lossless Compression”を同時に有効にした時、”圧縮”の設定内容が優先に採用される認識が正しいでしょうか

パス毎に Lossless を使用すべきかどうかが判定され、LosslessCompression / Compression のいずれかが選択されます。

ポストプロセスで UseLosslessCompression をチェックした場合や、オブジェクトIDを出力する場合に LosslessCompression が選択されるようです。

[Image Removed]

> 画像の劣化を抑えつつ、容量を削減したい場合、推奨のMRGのEXR圧縮方法またはほかの設定方法があれば教えていただいてもいいでしょうか

圧縮率や画質(Losslessでない場合)が表示内容によって変わりますので、一概に申し上げることはできかねます。

出力された画像を実際にご確認いただき、支障のない範囲で比較的容量を削減できるものを選択して頂くくらいかと思います。

各圧縮フォーマットの特徴について EEXRCompressionFormat の定義部分にコメントが記述されていますので、参考になるかもしれません(以下に引用します)。

// Exr compression format options. Exactly matches the exr library Imf::Compression enum.
UENUM(BlueprintType)
enum class EEXRCompressionFormat : uint8
{
	/** No compression is applied. */
	None = 0,
	/** This compression method is fast, and works well for images with large flat areas but yields worse results for grainy images. Lossless. */
	RLE = 1,
	/** This compression method is similar to ZIP but compresses only one image row at a time. Lossless. */
	ZIPS = 2 UMETA(DisplayName = "ZIP (1 scanline)"),
	/** Good compression quality for images with low amounts of noise. This compression method operates in in blocks of 16 scan lines. Lossless. */
	ZIP = 3  UMETA(DisplayName = "ZIP (16 scanlines)"),
	/** Good compression quality for grainy images. Lossless.*/
	PIZ = 4,
	/** This format only stores 24 bits of the 32 bit data and has subsequently a significant loss of precision. This method is only applied when saving in FLOAT color depth. HALF and UINT remain unchanged. Lossy. */
	PXR24 = 5,
	/** This compression method only applies to images stored in HALF color depth. Blocks of 4×4 pixels are stored with using only 14 byte each (instead of the 32 byte they would normally need). Each block is compressed to the exact same size. Different images with the same dimensions require the same storage space regardless of image content. Lossy. */
	B44 = 6,
	/** A modified version of B44. If all pixels in a 4*4 block have the same color it will use only 3 instead of 14 byte. */
	B44A = 7,
	/** Lossy DCT-based compression for RGB channels. Alpha and other channels are uncompressed. More efficient than DWAB for partial buffer access on read in 3rd party tools. */
	DWAA = 8,
	/** Similar to DWAA but goes in blocks of 256 scanlines instead of 32. More efficient disk space and faster to decode than DWAA. */
	DWAB = 9,
	/** High-Throughput JPEG2000 (HTJ2K), 256 scanlines */
	HTJ2K256 = 10,
	/** High-Throughput JPEG2000 (HTJ2K), 32 scanlines */
	HTJ2K32 = 11,
 
	Max UMETA(Hidden)
};

よろしくお願いいたします。

[Attachment Removed]

ご回答ありがとうございます。気になるところについて追加で質問させていただきます。

MRG出力画像の追加の情報(メタデータなど)がHighResShot出力画像と異なる認識が正しいでしょうか?この差異で、ファイルサイズが異なる原因になりますでしょうか?

また、MRGの圧縮方式を変更する以外に、出力する情報、各種設定を変更することで、画像品質を大きく落とさずにファイルサイズを削減する方法があれば、教えていただいてもよろしいでしょうか?

お忙しいところ恐れ入りますが、ご確認のほどよろしくお願いいたします。

[Attachment Removed]

> MRG出力画像の追加の情報(メタデータなど)がHighResShot出力画像と異なる認識が正しいでしょうか?この差異で、ファイルサイズが異なる原因になりますでしょうか?

​

主として圧縮方式の違いから来るデータ部分の容量の差であると考えられます。

確かに MRG の場合はメタデータ(Attributes)が付加されますが、容量にして数KB程度です。

なお、調べた限りではこのメタデータの出力を省くオプションは用意されていないようです。

​

​

> また、MRGの圧縮方式を変更する以外に、出力する情報、各種設定を変更することで、画像品質を大きく落とさずにファイルサイズを削減する方法があれば、教えていただいてもよろしいでしょうか?

​

解像度や圧縮に関するオプション以外でファイルサイズが大きく変わることは無いかと思います。​

​

よろしくお願いいたします。​

[Attachment Removed]

ご回答ありがとうございます。おかげさまで、検証は進められました。

またどうぞよろしくお願いいたします。

[Attachment Removed]

ご確認ありがとうございます。

本件はクローズいたします。

また何かありましたらお問い合わせ下さい。

[Attachment Removed]