はじめに
天体撮影ソフト「ステラショット3」にZWO社製のカラーCMOSカメラを接続して撮影した際に、以下のヒストグラムのように「高輝度のデータが欠損する」ように見える現象を報告いただきました(以下、「本現象」と呼びます)。この記事では、本現象について弊社が独自に行った検証の結果について共有いたします。
はじめに、本現象の把握および原因解明にお時間を頂戴し、お客様には長期間のご不安・ご不便をおかけいたしましたこと、深くお詫び申し上げます。
原因と対策
本質的な原因
検証の結果、画像データが欠損しているわけではなく、「ホワイトバランスの設定値が50を下回ると、階調が圧縮されること」が原因で、結果的に本現象が発生することが判明しました。
ZWOのカメラ(SDK)によるホワイトバランスの補正は、次のような演算が行われていると推測されます。実際は、内部的により細かい演算が行われているようですが、主たる部分はおおよそ以下の式で表すことができます。
\( p’ \) … ホワイトバランス補正後のピクセル値
\( p \) … 元のピクセル値
\( w \) … ホワイトバランスの設定値
$$
\begin{equation}
p’ = p \times \frac{w}{50}
\end{equation}
$$
たとえば、ホワイトバランスの設定値 \( w=25 \) だった場合、元のピクセル値 \( p \) に \( 0.5 \) が乗算され、 \( p’ \) は元の半分の値になります。すなわち、ヒストグラムはシャドウ側に圧縮された形となり、元々飽和していたピクセル群はヒストグラムの横軸の半分あたりに移動します。
このとき、ヒストグラムの右半分が空いているためハイライト側のデータが欠損したように見受けられますが、この部分はもともとデータが無かった領域です。
ただし、一般的な事項として、階調が圧縮された際に生まれる浮動小数値が、ZWOカメラの画像フォーマットである16bit整数値に変換される際の丸め誤差分はデータが欠損することになります。
この演算は、ZWOのカメラでホワイトバランスの設定が可能なRチャンネルとBチャンネルに影響します。実際にベイヤー配列の各チャンネルのヒストグラムを確認すると、その様相が確認できます。
補足として、FITS画像表示ソフト「ASIFitsView」におけるベイヤー配列のヒストグラムは、Rチャンネルのみが表示されているようです。全体の階調のヒストグラムを反映しているわけではない点にご注意ください。
また、天体撮影ソフト「SharpCap」でZWOのカメラのホワイトバランスを調整した場合にも、同様の現象を確認することができます。
ステラショットにおける対策
現状のZWOのカメラでホワイトバランスを補正する場合、ステラショット3のバージョンを「3.0fアップデータ」以降に更新のうえ、目的に応じて次のように設定値を調整いただくことで意図した画像データを得ることができます。
- 画像処理を前提とした天体撮影目的の場合、ホワイトバランスの設定値をRチャンネル、Bチャンネルともに「50」に設定する。階調の圧縮/伸長を避ける。
- ライブビューや未処理画像のホワイトバランスは崩れますが、画像処理で適切に整えることができます。
- 電視観望など一時的な鑑賞目的の場合、見た目のホワイトバランスを優先し設定値を適宜調整する。ただし、階調の圧縮/伸長は一定程度許容する必要がある。
- 設定値が50未満の場合、階調が圧縮されます。
- 設定値が50より大きい場合、階調が伸長されます。
ステラショットのバージョンが「3.0eアップデータ」以前の場合、機能としてホワイトバランスの設定に対応していなかったため、常にホワイトバランスはカメラの「オート(自動)」としていました。そのため、天体対象・環境によってホワイトバランスの設定値が50を下回った際に、本現象が発生していたものと考えられます。
一般的なホワイトバランスの補正は、ベジェ曲線や数値変換テーブルなどを使用しピクセル値の最小値と最大値を変えずに連続的に値を変換する手法が主流です。しかし、ZWOのカメラでは前述のような単純な乗算で補正を行っているため、ヒストグラムが大きく変化し一見奇妙に見える現象が起きています。
今後、ZWOのカメラによるホワイトバランス設定以外にも、ステラショットによる独自のホワイトバランス機能に対応することで、より適切なホワイトバランス調整をご提供できるよう検討してまいります。