IT系メモ

興味のあったことや、勉強したことなどをメモしていきます。

FP16

Mali-T6xxでデータタイプに「FP16」というのがあったのだけどわからないままスルーしていた。


現実の世界のダイナミックレンジ120dBを実現するためにはRGB各256段階では約24dB分しか存在しないため、現実を表現することはできない。


ダイナミックレンジを広げて表現する方法がHDRレンダリングで、FP16は16ビットの浮動小数点フォーマット。


符号1ビット、仮数10ビット、指数5ビットで2^10 × 2^32 ≒ 4.4 × 10^12 ということで、ダイナミックレンジが120dBとなり現実に即したものになる。


単精度32bit、倍精度64bitだとオーバースペックなので16ビットが良かったということらしい。スターウォーズの特殊効果をしているIndustrial Light & Magicが提唱する「OpenEXR」で定義されているそうだ。(内容未確認)