« Logicool® HD Pro Webcam C920の画角とズームを確認する | トップページ | 天体改造C920:土星でテスト »

2012年6月 5日 (火)

天体改造C920: 地上の風景で画質確認

以前の記事で触れた「納得いかない土星」の件に決着を付けたいのだが、晴れた夜に恵まれないので、昼間の地上の風景で画質確認をした。被写体は部屋の窓から見える電柱の一番上に取り付けられた碍子だ。

Target

距離は50m程度。あまり無理なく焦点が合う。上の写真中央に写っている文字で画質を比べてみた。

/*******  *******/

テスト方法

以前の記事では以下3通りを比較すればよいだろうと書いた。

  1. 360pでいっぱいにズームインした動画から取り出した静止画
  2. 360pでいっぱいにズームインして2段階戻して撮った動画から取り出した静止画
  3. 3.0MPフォトから640x360画素にトリミングした静止画

色々試していると、画像圧縮の影響が大きいのではないかと言う懸念も持ち上がってきたので、2304x1296の無圧縮画像を取得して上記の3と同じ事をやるケースを追加した。

昼間なので大気の乱れが大きく画像が安定しない。

比較に使うのは、同じ条件で撮影した複数の画像から一番画質良く写っているものを選ぶことにした。1と2はWMV形式(何故か15FPS)の動画が得られるので、ffmpegで無圧縮AVIに変換し、更にVirtualDubで各フレームを静止画(BMP)にした。3はプレビューで気流が安定したと思った時に撮る方法で5枚撮った(JPEG)。追加したケースについては、Webカメラから無圧縮静止画(TIF)を連続して取得する簡単なプログラムを作った。このケースと3で、マウス操作で他と同じ場所をトリミングするのは難しかったので、これについても別のプログラムを作成した。画像の取り扱いでは、最初に無圧縮形式(TIFまたはBMP)にし、途中は全て無圧縮を維持し、最終的にブログにアップロードするものを圧縮している。

光線の状態が大きく変わらないうちに済ます必要があるので、全てのケースを一気に続けて終わらせたが、これが今回の作業では一番大変だったことかもしれない。

実際やってみると、目視で「一番画質良く写っているものを選ぶ」のは、ほぼ不可能である。この方法について後ほど触れる。

 

テスト結果

撮影した4ケースを1つの画像にまとめた。なおこれ以降の画像は全て、クリックするとピクセル等倍の画像をご覧いただけるようにしたつもりである。

Combo1

左上が当初計画の「3. 3.0MPフォトから640x360画素にトリミングした静止画」、右上がそれと同じ倍率になっているはずの「2. 360pでいっぱいにズームインして2段階戻して撮った動画から取り出した静止画」、右下が「1. 360pでいっぱいにズームインした動画から取り出した静止画」、そして左下が今回追加した無圧縮のケースである。

ブログに無圧縮画像が載せられないので違いが判りにくいかもしれないが、当初予定していた3ケース間の差はほとんど無さそうである。しかし今回追加した無圧縮のケースは他の3つに比べ明らかに画質が優れているように見えるが、閲覧環境などの影響を避けるため数値化して比較できる方法を使うことにする。

 

画質を数値化する方法

画像を二次元フーリエ変換すると空間周波数に対するパワースペクトル強度分布が得られる。高い空間周波数まで信号の減衰が少ないものが高画質だが、強度が高いことが「信号の減衰が少ない」こととイコールとは限らない。

以前の記事で利用させていただいた、ぐんま天文台の土星の画像がちょうど良いサンプルなので、再登場してもらう。

3xsaturn

一番上の元画像を解像度の劣る小口径望遠鏡で見た場合が2番目の画像。3番目の画像は、それにちょうど間に合うサンプルレートでデジタル画像にした状態をシミュレートするためモザイク処理したものだ。今回、モザイク処理したものは画像圧縮の際に発生するブロックノイズのシミュレーションのつもりだが、実際は異なる大きさのものが入れ子状になっていることまではシミュレートできていない。

フーリエ変換の前に、いくつか前処理が必要だ。

画面下端に入っている文字は、この画像で表現できる最もシャープなパターンなので、全ての空間周波数に無視できない強度の成分を持っている。そのため土星本体の成分が隠れてしまうので、この部分をカットする。また2次元フーリエ変換は画像全体の縦横比に影響を受けるので、横方向もカットして一辺250画素の正方形にした。

カラー画像をフーリエ変換することは可能だが、今回の場合、そうすると結果の評価が難しくなるだけである。そのため予めモノクロ化しておく。

Mc_cropped_saturn

前処理を行った元画像である。2番目のぼかしたもの、そして3番目のモザイク処理をしたものも同様に前処理する。そしてフーリエ変換した結果をプロットした。空間周波数はX成分とY成分のあるベクトルだが、今回は向きに依らず絶対値が同じものについて平均値を取った。周波数の数値は、画像全体の大きさの一辺の長さ250画素毎の波数になっている。またパワースペクトル強度は、空間周波数0の成分が1.0になるよう正規化している。

Fft_saturn

黒線と赤線の差がぼかしの効果である。空間周波数30までは、周波数の増加とともに差が開いている。またこの領域では黒線にある特徴が赤線にも現れているので、減衰はあるが元画像の情報が反映されている。空間周波数30よりも右では、赤線の角度が水平に近づき、黒線との差も縮まるが、黒線にある特徴の痕跡が見られないので、ぼかし画像のこの領域には意味のある情報が無く、パワースペクトル強度はノイズを反映したものだと考えられる。つまり、ぼかし画像に含まれる信号の最大空間周波数は30程度で、元画像にあったそれより高い周波数の情報が失われ画質が劣化したのである。

モザイク加工した青線は空間周波数30程度までぼかし画像と同じ挙動を示すが、それより右側で再び上昇に転じている。モザイク同士の境界線の部分が高い空間周波数の成分を持っているためである。これはデジタル信号処理の「折り返し雑音」と同じもので、Nyquist周波数が約30、つまりサンプリング周波数が約60のデジタル信号を再構築フィルター無しでDA変換した場合とほとんど同じ結果になっている。

実際の画像処理に伴う劣化は、ぼかしとモザイク両方が合わさった様になるだろう。また付加される雑音成分は、モザイク処理のように一通りの大きさのブロックだけでなく入れ子になっているはずなので、この例のような周期的増減を示さないだろうと予測される。

 

今回の結果の数値化

中央の300画素四方の領域についてフーリエ変換を行った。下は前処理後の代表的な画像である。

Rgb300sq_2

目視で判る画質の差がそれほど大きくないので、片対数プロットではあまり違いが良く判らないが、無圧縮画像の強度が目立って高い部分があることは読み取れる。

Fft1

空間周波数は画像の一辺300画素の長さ毎の波数である。

冒頭の写真で何とか文字が読めたことから考えると画像に含まれる最大の空間周波数はせいぜい60程度のようなので、それよりも低い空間周波数の部分を拡大してみる。差が良く判るよう、無圧縮ケースのパワースペクトルを1.0とした相対的な値をプロットした。

Fft1b

空間周波数40以下では、圧縮された画像はどれも周波数が高くなるほどパワースペクトル強度が無圧縮画像より小さくなっている。特に最大までズームインした画像で著しい。その一方JPEG 3MP画像と、それと等倍の360p画像ではあまり差が無く、この部分の予測は正しかったようだ。40以上の周波数で次第に差が無くなるのは、意味のある情報が減りノイズが支配的になって行くからではないかと考えられる。

空間周波数が50~60を境に、それより高い周波数で圧縮画像のスペクトル強度が無圧縮画像より高くなっているが、ブロックノイズが影響しているようだ。圧縮画像を拡大してみると、目視でブロックノイズが確認できる。

理由がどうであれ、画像圧縮により情報が失われていることが確認された。当然画質の劣化につながる。可逆圧縮に比べて10倍程度余計に圧縮するためのコストと思えば、一般的な写真なら我慢できる範囲かもしれない。しかし天体写真だとこの損失は無視できない。

 

実際の利用シーンを想定する

ここまでの結果を見ると、圧縮された画像は使いたくない。しかし無圧縮の2304x1296画像を使うのには以下のような問題がある。

  • フレームレートが低い(2FPS)
  • 動作が不安定になる場合がある

純正キャプチャーソフトウエアーを使わない場合、1080pかそれより小さい画像サイズでフレームレートを30FPSに設定できる。ただし、画像サイズが大きいほどCPU負荷が高く、私の環境(Core2 Duo E8500)では1080pで30FPSは実現できない。

圧縮した場合同士で等倍なら画質劣化はあまり無い、と言うことが無圧縮の場合にも成立するなら640x360、すなわち360pの画像サイズに設定して等倍までズームを使う選択肢がある。(純正以外のソフトウエアーでもズームやエフェクトが使える!)

 

無圧縮+ズームの画質変化

前と同様の方法で、無圧縮・360pの設定で最大にズームインした状態、およびそこから1段階ずつ最大5段階までズームアウトしたケースを比較した。純正ソフトウエアーを使わない場合でも、最大にズームインした状態から2段階戻すと、物理画素と等倍になるようである。

Fft2

Fft2b_2

等倍よりも縮小しているものでは、一部を除き全ての空間周波数で無圧縮3MP画像よりパワースペクトル強度が高くなっている。これには以下3つの要因が考えられる。

  • 縮小しても失われない情報は、縮小に伴い空間周波数が高くなる
  • 縮小処理に伴うノイズの発生
  • フーリエ変換する画像に含まれるパターンの変化

縮小する前の画像がオーバーサンプリングの状態になっている場合、最初の要因の影響が顕著になるが、今回の条件だとレンズの解像度と画像センサーの画素ピッチの関係がそうなっている可能性がある。

2番目の要因は一般論であり、発生していることは間違い無いと考えられるが、その程度は判らない。

最後の要因は、フーリエ変換の対象となる画像の範囲が相対的に広がるため、空間周波数の高い画像の領域が広がったり、新たに現れたりすることを指している。今回の例では、特に4および5段階ズームアウトした画像に新たなパターンが入るようになってしまっている。

Rgbcombo

従って、等倍より縮小すると画質が改善されるとは言えないだろう。一般に「絵が締まって見える」と言われる効果はあるように思うが、天体写真では画質と倍率がトレードオフになる場合が多い。

等倍とそれより拡大しているものでは、概ね空間周波数60以下の範囲で無圧縮3MP画像よりパワースペクトル強度が低くなっているが、圧縮された画像よりは低下の度合いが少ないように見えるので、確認してみよう。

Fft3b_2

最大までズームインしたものと、そこから2段階ズームアウトした等倍のもので比較した。

最大にズームインしたもの同士には共通する劣化パターンがありそうだが、全体として無圧縮の方が良好である。

無圧縮・等倍でも画質の劣化がある。圧縮・等倍に比べると半分程度で済んでいるようだが、この差が大きいのか、大差ないのか、やはり実際に天体で試す必要がある。

 

確認結果のまとめ

今回の結果を見る限りは、以下2つの選択肢しか残らない。

  • 無圧縮360pで等倍までズームして30FPS
  • 無圧縮3MPで2FPS

RegiStaxなどでコンポジットすることを考えると、多少画質が劣ってもフレーム数が多いほうが良いのか、少ないフレーム数でもより良い画質が有利なのか、試す必要がある。また圧縮・無圧縮の違いが大気の透明度やシーイングのようなコンディションの違いに比べて充分小さいなら、Logicool純正キャプチャーソフトウエアーを利用して圧縮画像を利用するほうが使い勝手で有利と言う場合もあるかもしれないので、今の時点で完全に捨ててしまわないほうが良いだろう。

逆に、今回フーリエ変換に現れた差が決定的だったとすると、「納得いかない土星」は等倍を超えてズームインしたことの悪影響が原因だった可能性もある。

 

「一番画質良く写っているものを選ぶ」方法

結果の先取りになってしまうので、後回しにした。ほとんどの方はもう判っていらっしゃるのではないだろうか。

モノクローム化した画像をフーリエ変換し、所定の空間周波数の範囲のパワースペクトル強度を合計して、その値が最も高い画像を選ぶ。最初「所定の空間周波数の範囲」を1以上、すなわち空間周波数0の成分だけを除外して試したが、目視で違和感のある結果が出てしまった。試行錯誤の結果「所定の空間周波数の範囲」を20~60にして、満足できる結果が得られている。

試しに、選択対象にした全ての画像をディフォルト設定のRegiStax 6でAlign→Limit→Stackまで行った画像と、上記の方法で選択した「一番画質良く写っているもの」を比較したところ、フーリエ変換の結果は、空間周波数20~60の範囲で後者のパワースペクトル強度が高かった。元々ノイズがほとんど感じられない画像なので、Stackingでノイズが除去された効果とは考えにくく、むしろ画質、特にシャープさが低下したと解釈すべきではないだろうか。

以前から感じていたことだが、充分に高コントラスト・低ノイズに写っている画像はStackingを行わないほうが良い結果が得られる場合があるのではないかと思う。特に画像の視野が広くシーイングの影響が大きい場合、最良の1枚を選ぶほうがシャープさの点で有利になりそうである。ただし、該当するのは月の全景くらいのものかもしれない。

 

余談

Logicoolウェブカメラソフトウエア設定の「ビデオ録画品質」項目に以下の選択肢がある;

  • 標準 - (ファイルサイズ – 小)
  • 高画質 - (ファイルサイズ – 中)
  • 損失なし - (ファイルサイズ – 大)

Logicool_control

私はもちろん3番目を選んでいるのだが、この「損失なし」は何を基準にしているのだろう? 「●×△ロスレスコーデック」を使って圧縮している、と言う意味だろうか。今回調べた範囲では、どう考えても可逆圧縮になっているとは思えないのだが・・・。

 

今回のまとめ

夜晴れないからと昼間やった確認作業の収穫;

  • 圧縮画像より無圧縮画像の方が、画質が良い
  • 画像信号処理で、等倍を超えてズームインしてはいけない

どちらも常識は正しいことを確認したに過ぎない。その代わりの、新たな宿題;

  • 「1枚の画質 vs. フレーム数」のトレードオフ
  • 「無圧縮の画質 vs. 圧縮ありの使い勝手」のトレードオフ

難しい宿題が増えただけ、のような気がする。

|

« Logicool® HD Pro Webcam C920の画角とズームを確認する | トップページ | 天体改造C920:土星でテスト »

自然」カテゴリの記事

趣味」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/543745/54882155

この記事へのトラックバック一覧です: 天体改造C920: 地上の風景で画質確認:

« Logicool® HD Pro Webcam C920の画角とズームを確認する | トップページ | 天体改造C920:土星でテスト »