🇺🇸 This site is also available in English — View English page →
S
Sidekick Lab
by Ichiro Murata

連続撮影なのに、なぜ星の軌跡に継ぎ目が見えるのか?

比較明合成した星の軌跡に、連続撮影なのになぜ継ぎ目が見えるのか。17年前のD3のNEF 3,522枚を測り直すと、今回の実写では空白だけでは説明できず、合成前からあった測定された明るさの揺れを比較明合成が選び、強めていました。原因と周期は未解明です。

村田一朗|写真家・SideKick開発者

――17年前のD3データ3,522枚で調べ直した

星景写真で星の軌跡を描くとき、私は連続撮影した写真を比較明合成でつないできました。

連続撮影ですから、コマとコマの間はほとんど空いていません。

それなのに、合成した軌跡を100%表示にすると、線がところどころで途切れて見える。

当時の私は、それをシャッター間のわずかな空白のせいだと思っていました。

今回、17年前に撮ったNEFが3,522枚残っていたので、この思い込みを実データで調べ直しました。

先に結論を書いておきます。

今回のD3の実写では、その継ぎ目や濃淡を、シャッター間のわずかな空白だけでは説明できませんでした。合成する前の各コマで、測定された星の明るさがすでに揺れていて、比較明合成がその揺れを選び、強めていた。ただし、揺れの物理的な原因と、濃淡の周期がどう決まるかは、まだ分かっていません。

順を追って書きます。

17年前、100%表示で見えた「途切れ」

Nikon D3を使っていた頃、私は15mm前後の超広角レンズを付けて、F2.8、8秒で連続撮影し、それを比較明合成して星の軌跡を作っていました。

合成の方法は、いちばん単純なもの。各コマを重ねて、比較(明)で合成するだけです。

100%表示にすると、継ぎ目がはっきり分かりました。

「少し暗い谷がある」という印象ではありませんでした。

線がそこで途切れている感じ。

私の言葉で言えば、いかにもデジタイズした線

長秒時ノイズ低減はOFFにしていました。それでも見えました。

2009年10月11日の燕岳で連続撮影した星景のうち300枚を、NEFから既定の現像設定で取り出し、比較明(各画素の最大値)で重ねただけの画像。槍ヶ岳などの稜線の上に、無数の星の軌跡が弧を描いている。縮小表示。

図1:2009年10月11日、燕岳。検証に使った3,522枚のうち300枚を、NEFから既定の現像設定でそのまま取り出し、比較明(各画素で明るい方の値を採る)で重ねただけの画像(縮小表示)。飛行機の軌跡消し・平滑化・シャープ・ノイズ処理はいっさい加えていない。当時の作品の再現ではなく、「RAWから純粋に取り出して比較明しても、こう見える」という画像。

図1の一部を100%表示で切り出した画像。多数の星の軌跡が、なめらかな線ではなく、短い線が並んだように途切れて見える。切り出し以外の処理はしていない。

図2:図1の一部を100%表示で切り出したもの(切り出し以外の処理なし)。星の軌跡が、短い線の並びのように見える。本文でいう「線がそこで途切れている感じ」「いかにもデジタイズした線」は、この見え方のこと。

当時の私の説明と、後年やっていた対策

当時の私は、こう考えていました。

1コマの露光で星が描く線の長さに比べて、次のコマまでの間に星が動く距離を十分に短くすれば、継ぎ目は目立たなくなるはずだ。

つまり、シャッターが閉じているわずかな時間に星が動くから、線が切れる、という理解です。

とても自然な説明です。読者の方の多くも、同じように考えているのではないでしょうか。

後年、私はこの継ぎ目への対策として、少し手間のかかる方法を使うようになりました。

隣り合う2コマを、1コマずつずらして組にします。1コマ目と2コマ目、2コマ目と3コマ目……という具合に、全コマについて。それぞれの組をスクリーンで合成して統合し、Photoshopの「露光量」で−1.00EVする。そうしてできた組の画像を、最後にすべて比較明合成する。

処理はRAW現像後の8bit、Adobe RGBのTIFFで行っていました。

この方法は、私の実務では効きました。理論から計算して決めた方法ではなく、実際に困っていた問題を解決するために考えて、使ってきた方法です。

いつから使い始めたのかは、自分でも特定できません。分かっているのは、D3で最初に継ぎ目を見た頃より後だ、ということだけです。

前に「8秒」について書いた記事で、この継ぎ目の話は別の機会に検証したい、と書きました。

今回がその機会です。

3,522枚が残っていた

調べ直すにあたって、まず当時の素材を探しました。

2009年10月11日の夜に撮った、Nikon D3のNEFが3,522枚。一連の連続撮影が、欠けることなく、ひとつながりのまま残っていました。

ここで、さっそく記憶と記録のずれが出ました。

私自身はISO 1600だったと記憶していたが、今回、当時のNEFを調べ直すと実際にはISO 3200だった。

17年も経てば、こういうこともあります。記憶違いの理由は分かりません。ここでは「記録の方を信じる」ということだけ書いておきます。

今回の検証で使った条件を、実データから読み取った値でまとめます。

項目
撮影日 2009年10月11日
カメラ/レンズ Nikon D3、14-24mm F2.8の14mm側
露光 8.0秒
絞り F2.8
ISO 3200
撮影 連続撮影
RAW 14bitロスレスNEF
長秒時ノイズ低減 OFF
枚数 3,522枚(単一の連続撮影、欠番なし)
コマとコマの間隔 約8.10秒

表1:検証に使った実データの条件(NEFのメタデータとタイムスタンプから読み取った値)

露光が8.0秒で、コマ間隔が約8.10秒。その差の約0.1秒が、シャッターが閉じていた時間の見積もりです。ファイルのタイムスタンプから読み取った値なので、カメラ内部で何が起きていたかまでは分かりません。

「0.1秒の空白」で、継ぎ目を説明できるのか

当時の私の説明が正しいなら、この約0.1秒の間に星が動いた分だけ、軌跡にすき間ができるはずです。

実データで測りました。

8秒の露光で、星が画面上を動く距離は、約1.13ピクセル

では、約0.1秒では。

約0.012ピクセル。

一方、このデータでの星像の幅(半値幅)は約4.52ピクセルでした。

空白の間に星が動く距離は、星像の幅に対して、あまりにも小さい。隣り合う2コマの星像は、ほぼ完全に重なっています。

少なくとも今回見えていた大きな継ぎ目・濃淡を、「0.1秒の間に星が動いて線にすき間ができた」だけで説明するのは、無理がありました。

それなのに、濃淡は実在していました。

3,522枚のうち300枚の区間を取り出して、合成した軌跡に沿った明るさを測ると、明暗の差ははっきりありました。明るいところと暗いところの差を表す指標(Michelsonコントラスト)で、短い軌跡で約0.24、長い軌跡になるほど大きく測れて、約0.54まで達しました。

100%表示で私が見ていた「途切れ」に対応する実体が、たしかにデータの中にあったのです。

比較明合成に使った枚数(5枚・10枚・20枚・50枚・100枚・300枚)と、軌跡に沿った明暗差(Michelsonコントラストの中央値)の折れ線グラフ。5枚で約0.24、300枚で約0.54まで、枚数が増えるほど明暗差が大きく測れている。実測、Nikon D3、2009年10月11日、300枚区間。

図3:比較明合成に使った枚数と、軌跡に沿った明暗差(Michelsonコントラスト、星ごとの中央値)。今回の実データ(300枚区間)を、5枚から300枚まで段階的に合成して測ったものです。軌跡が長くなるほど明暗差は大きく測れ、約0.24から約0.54に達しました。測定値の折れ線であり、モデルの予測ではありません。 1台のカメラ・1晩・1条件の実測です。

一つ補足しておくと、理想的なモデルで考えても、隣り合うコマの境界には明るさの谷が生じ得ます。それ自体は間違いではありません。ただ、今回のD3実写で観測された大きな濃淡を、それだけでは説明できませんでした。

17年間信じてきた説明は、少なくともこのデータでは、支持されませんでした。

濃淡は、合成する前からあった

では、あの濃淡はどこから来たのか。

ここで検証の向きを変えました。合成した結果ではなく、合成する前の各コマを見たのです。

300枚の区間で、171個の星について、1コマごとに星の明るさを測りました。

すると、合成する前から、測定された星の明るさがフレームごとに揺れていました。 しかも、その揺れは単なる測定のばらつきで説明できる範囲を超えていました。

「測定された明るさ」と、わざわざ書いているのには理由があります。測っているのは、写真の中の星像の明るさです。それが揺れていたからといって、星そのものの明るさが変わっていたと言える段階ではありません。

いずれにしても、合成の前の段階で、材料そのものがすでに一定ではなかった。

模式図。上段は、コマ1からコマ8まで、コマごとに測定された星の明るさが揺れている棒グラフ(時間の並び)。下段は、星が1コマごとに約1.13ピクセル動くことで、その揺れが軌跡の上の位置ごとの濃淡(位置の並び)として並ぶ様子。揺れの原因は未解明。

図4:時間の並びが、位置の並びになる(模式図)。上段の棒の高さは説明のための仮の値で、測定値ではありません。星は1コマごとに約1.13ピクセル動くので、コマごとの明るさの揺れは、軌跡の上では位置ごとの濃淡として並び得ます。この図は仕組みの説明であり、揺れの原因(何が明るさを変えているのか)は描いていません。未解明です。

比較明合成は、揺れを「選び、強める」

比較明合成、Photoshopでいう「比較(明)」は、何をしているのか。

重ねた写真の各画素について、いちばん明るい値を採る。それだけです。

足し算でも平均でもありません。「選ぶ」演算です。

この「選ぶ」演算が、長時間露光や平均合成と何が違うのかは、別の記事「30分の長時間露光と、30分の比較明合成は何がどう違う?」で、一つの画素に注目して説明しています。

隣り合うコマの星像がほぼ同じ場所で重なっているとき、その場所に残るのは明るい方のコマの値で、暗い方は捨てられます。合成前の明るさがコマごとに揺れていれば、比較明合成はその揺れの中から明るい側を拾い上げて線にしていく。

模式図。上段は、隣り合うコマ1とコマ2の星像。1コマの移動は約1.13ピクセル、星像の幅は約4.52ピクセルで、2つの星像はほぼ重なっている。下段は同じ画素の列を並べたもので、比較(明)は各画素でコマ1とコマ2のうち明るい方の値だけを採る。

図5:隣り合う2コマの星像と、比較(明)の働き(模式図)。星像の幅(約4.52ピクセル)と1コマの移動(約1.13ピクセル)は今回の実データの値ですが、星像の形は説明のために単純化した模式図で、実測画像ではありません。下段のように、比較(明)は各画素で明るい方の値だけを採ります。足し算でも平均でもありません。

このことを、実データで確かめました。

同じ星について、各コマを「平均」で重ねた場合と、「比較(明)」で重ねた場合の、軌跡の明暗差を比べたのです。平均で重ねればコマごとの揺れは均され、比較(明)で重ねれば明るい側だけが残る。同じ材料から、違う線ができるはずです。

比較(明)の方が、明暗差の指標で約0.27大きくなりました。 この差は、測り方の都合で、むしろ控えめに出る値です。

さらに、星ごとに見ると、合成前の揺れが大きい星ほど、合成後の軌跡の濃淡も大きくなっていました。171個の星で、揺れの大きさの順位と濃淡の大きさの順位がよく対応していたのです(順位相関で約+0.56)。

比較明合成は、合成前からあった明るさの揺れを選び、増幅して、軌跡の濃淡を強める主要な段階だった。

ただし、比較明合成が濃淡を「作った」のではありません。「強めた」のです。材料の揺れがなければ、選ぶものもありません。そして、唯一の原因だとも言えません。他の段階がまったく効いていないと確かめたわけではないからです。

時間の揺れが、線の上の濃淡になる

ここまでをつなげると、継ぎ目の見え方は、こう理解できます。

星は、1コマごとに画面上を約1.13ピクセル動きます。

コマごとの明るさの揺れは、時間の順番に並んだ揺れです。その揺れを、星の移動が画面上の位置に写していく。1コマ目の明るさはこの位置に、2コマ目の明るさは1ピクセルほど先に、3コマ目はさらにその先に。

時間の方向の揺れが、線の上の位置の方向の濃淡として並ぶ。

だから、連続撮影で空白がほとんどなくても、軌跡に濃淡は現れ得る。

「現れ得る」と書いているのは、ここまでが今回の検証で確かめられた範囲だからです。

まだ分かっていないこと

正直に書いておきます。

今回の検証で分かったのは、「継ぎ目は空白のせいだけではなかった」「合成前から揺れがあった」「比較明合成がそれを強めていた」「時間の揺れが位置の濃淡になり得る」までです。

分かっていないことが、二つ残っています。

一つ目。合成前の測定された明るさの揺れが、何によって生じているのかは、まだ一つには特定できていません。

二つ目。濃淡には約15ピクセルという周期がありましたが、それがどうやって決まるのかも未解明です。

「おそらく○○だろう」と書くことは簡単ですが、今回のデータで確かめられていないことは、書かないことにします。

もう一つ、限定も書いておきます。今回の結果は、1台のカメラで、1晩に、1つの条件(D3、14mm、8秒、F2.8、ISO 3200)で撮ったデータの、3,522枚のうち300枚の区間を調べたものです。他のカメラや他の条件で同じことが起きるかどうかは、今回は調べていません。

私の対策は、何をしていたのか

さて、後年の私がやっていた、隣り合う2コマをスクリーンで重ねて−1EVしてから比較明合成する方法。

あれは何をしていたのか。

今回あらためてモデルで考えると、コマの境界で捨てられていた側を足し戻す方向の処理で、継ぎ目を弱める方向としては理屈の通ったものでした。

ただし、数学的に正確な補正ではありません。私が実際に処理していた8bitのTIFF上で、モデルどおりの数値になるわけでもありません。そして何より、今回の実写検証は、この方法の効果を測ったものではありません。 測ったのは、対策をする前の、単純な比較明合成の段階で何が起きていたか、です。

面白いのは、原因の理解は違っていたのに、実務上は「見え方を改善する方法」にはたどり着いていたことです。

今回分かったのは「対策が正しかった」ということではなく、「私が対策しようとしていた継ぎ目の正体は、私が思っていたものと違っていた」ということです。

現在の私は、比較明合成を、自分で作っているSideKick Starという道具で行っています。そこに、このスクリーン−1EVの処理は入っていません。

代わりに入っているのは、比較明合成のあと、空の領域だけに、空間的に滑らかにして破線に見える部分に橋を架けるような処理です。これは、失われた時間の情報を復元しているわけではありません。時間方向の揺れが位置方向の濃淡になって残ったものを、見え方として整えている処理です。それを分かった上で使っています。

昔のスクリーン−1EVの方法から、なぜ今の方法になったのか。当時の開発記録がなく、理由は今では特定できません。分からないことは、ここでも分からないままにしておきます。

記憶より、記録

17年前、私は継ぎ目の原因をシャッター間の空白だと思っていました。

ISO感度も1600だと記憶していました。

どちらも、残っていた記録で調べ直したら、違っていました。

継ぎ目は、空白だけでは説明できなかった。合成前から材料が揺れていて、比較明合成がそれを選び、強めていた。星が動くことで、時間の揺れが線の上の濃淡になって現れ得る。

そして、揺れの原因と周期の正体は、まだ分からない。

原因を解明した、とは言えません。

でも、自分が17年間信じていた説明を、当時の実データで検証できたこと。間違っていたところを、間違っていたと確かめられたこと。それは、記録が残っていたからできたことです。

撮ったデータは、捨てないでおくものだと思いました。

分からないことは、無理に答えを作らない。

比較明合成の継ぎ目について、今の私が言えるのは、ここまでです。