5-11PC 制御によるデジタル一眼レフカメラでの瞬間写真撮影

横山直樹（東海大学総合科学技術研究所）

Synchronization of Digital Camera and Event in Windows and Linux Environment
Naoki Yokoyama (Research Institute of Science and Technology)
キーワード：デジタル一眼レフカメラ 自由落下 同期
Keywords: Digital Camera, Free fall of steel ball, Synchronization
Abstract
Suitable synchronization between camera and free fall event was discussed. Digital camera and event
trigger were both controlled by PC. Under semi real-time OS such as Linux, it was much better method tosynchronize camera and event.
1. はじめに
比較的あたらしいデジタルカメラ（一眼レフタイプに限らない）では、カメラ本体に USB イン
タフェースを備えるものが多い。その第一の目的は、Windows や MacOS から接続したカメラをストレージデバイスとして認識し、カメラ内部に保存された画像を PC 側から読み込むことを簡単に行うためである。さらに USB 経由で制御することができるカメラも多数存在する。カメラを PC等 か ら 制 御 す る 目 的 で 、 各 社 は 自 前 の ア プ リ ケ ー シ ョ ン を 開 発 す る た め の SDK(SoftwareDevelopment Kit)を配布している場合がある。具体例としては、Canon 製のカメラ（EOS シリーズ）に対しては、EDSDK という SDK が配布されており、これを用いて PC からカメラに対して多様な制御を行うことが可能である。ただし残念なことに、Canon は日本国内ではこの EDSDK をサポートしておらず、入手等に工夫が必要である。また USB 経由でカメラのシャッタ制御を行い、現象との同期をはかる場合には、そのタイムラグが問題となる。本論文では、対象現象として鋼球の自由落下を採り上げ、EDSDK を使ってカメラのシャッタ制御を行った場合、カメラのレリーズ接点のオン-オフを PC から制御してシャッタ制御を行った場合を Windows あるいは、Linux で実験し、瞬間写真の同期において最適な手法を比較検討した。
Vcc

2. 実験方法
本研究で用いた対象現象は直径 25.5mm の鋼球を白色塗装したものを、直流リレーから取り外した電磁石でつり下げておき、その励磁電流をカットした際の自由落下であった。PC 側からの制御回路を Fig. 1 に示す。ここで電磁石（コイル）と並列に入っているダイオードは誘導逆起電力による回路の損傷を防ぐためのものである。Vcc は Fig. 2 にあるように 28V 程度で十分に鋼球の吸着が可能であるから、Fig.1 のようにディスクリートなトランジスタでドライブするのでなく、オープンコレクタ型の外部 I/F であれば、直接 I/O カードからドライブすることもでき、後半のレリーズコントロールの際は、この方法を用いた。

Fig. 1 Schematic of solenoid driver circuit

Fig.2 において、図右側のスケールは位置の概略を測定するために配置している。また長さの校正のためにも使用した。カメラのシャッター制御は、EDSDK によるものと、レリーズを I/F を介してオンーオフする二つの方式を用いた。後者は、汎用のDIO ボード（Interface 社 PEX285122）を用いた。このボードは、Windows のみならず、Linux のドライバも供給されているので、Linux からも自由落下とカメラのシャッター制御を行った。
Fig. 2 Schematics of solenoid driver

3. 実験結果
まず鋼球を自由落下させ、適当なディレイタイムの後にシャッターを EDSDK 経由で切ることで瞬間写真を得た。その結果を Fig. 3-1～2 に示す。この時のディレイタイムはゼロ（ディレイ無し）であった。Fig. 3-1 はシャッタスピードが 1/1600 秒の場合、3-2 は 1/3200 の場合である。レイアウ
ト上紙面では鉛直方向が左右方向になっている。左端付近にソレノイドの端面を見ることができる。
鋼球はソレノイド端面を離れ、右側へ落下していくことになる。

Fig. 3-1 Experimental Result 1 SS=1/1600

Fig. 3-2

SS=1/3200

シャッタスピードが短くなり、わずかに右側の画像が暗くなっているが、対象物体のブレはほぼ無視できる程度になっている。ここで問題なのは、ディレイタイムがゼロなのに、物体がすでに 115mm程落下していることである。これは EDSDK のオーバーヘッドによるものと考えられ、タイミングを逆にすることで落下初期の物体を捕らえることは一応可能である。つまり EDSDK 経由でシャッターを切り、その後現象をトリガする。これを便宜上リバーストリガと呼び、通常のトリガをノーマルトリガと称している。リバーストリガで撮影した結果(ss=1/1600)の一例を Fig. 4 に示す。

Fig. 4 Experimental result in case of “Reverse synchronization” ss=1/1600

Drop ZitterEDSDK Takepicture commandOver headFig. 5 Difference of effective delay time
between“Normal“Reverse Trigger”
Drop ZitterEDSDK Takepicture command
Over headTrigger”

andFig.4 で明白なように、現象の初期が記録できてはいるが、ここからディレイタイムを増加しても、落下位置が上がる（上図では左にずれる）だけである。この関係を図で説明したものが、Fig. 5 である。この図で上側のノーマルトリガの時間軸上の太線部分が CPU による設定遅延時間である。
ジッタの時間は誇張して描いている。また実際にはこのジッタ等もばらつきがあることが予想される。
この関係図からわかるように、EDSDK でシャッターを切ることを行う限り、Fig.4 での対象物体と Fig. 3-1 のそれとの中間状態を捕らえることは困難である。もちろんマルチスレッドを利用して、対象物体を落とすことと、EDSDK でシャッターを切ることを別時間軸で並列に行うことができれば、もっと柔軟にデッドタイム（欠落時間）も無く同期が可能となるが、EDSDK のイベント処理の根幹に関わり、これは技術的時間的な点で困難であった。従って、次に前述の Digital I/O ボードを利用して、鋼球の落下およびシャッター制御の両方を行った実験について述べる。EDSDK を経由する場合は所詮 USB 経由の制御になるので、高速とはいえシリアル制御特有のジッタやオーバーヘッドが問題となるが、Digital I/O ボードにより直接ドライブする場合は、ソレノイドやカメラ内部での処理のオーバーヘッド以外は比較的問題になりにくいと思われる。カメラのレリーズ接点を直接ドライブする回路は、フォトカプラ TLP621 を用いて入出力をアイソレートしたものを採用した。回路図は単純なものなので省略する。撮影結果の一部を Fig. 6 に示す。

Fig. 6 Experimental Results from left to right delay time was varied
上図に見られるように、現象初期から物体を撮影できている。つまり Fig. 3-2 と Fig. 4 の間を埋めるタイミングでも記録可能であり、瞬間撮影では問題となるデッドタイム（記録不能時間帯）を取り除くことが可能であった。次に、現象初期の一連の撮影から、カメラのレリーズ接点を直接ドライブした場合のカメラの反応時間を検証してみた。一連の撮影結果（一部）を Fig. 7 に示す。Fig. 6 より若干拡大しているのは、位置＝時間計測精度を少しだけ高めるためである。

Fig. 7 Experimental Results in case of small delay time
Fig. 7 の撮影結果から、設定遅延時間と鋼球の位置からカメラの応答時間を解析した。カメラの応答時間は機械系であるから、回路の応答時間のばらつきに比べるとかなり大きいと考えられる。
初期のデジタル一眼レフカメラである、EOS Kiss Digital N は、レリーズ接点をショートしてから約 256ms の遅れでシャッターが切れるということがわかった。カメラには機種固有のレリーズタイムラグ 1)、２）が存在するのであるが、その値の倍の結果になった。
次にこのレリーズタイムラグの影響をなるべく受けない形で現象とカメラを同期させるために、フラッシュを使用する実験を行った。この場合は、暗視野にカメラを置き、通常バルブでシャッターは全開にしておき、現象と同期させたフラッシュ撮影を行う。ただし、環境によっては完全な暗視野が得られない場合もあるので、その場合は適宜シンクロ可能なシャッター速度を利用する。そうした場合は、カメラの同期を考慮する必要がある。次の Fig. 8 にフラッシュ撮影で記録した鋼球の自由落下の記録画像を示す。左側は、フラッシュのガイドナンバーを 28 に設定したものであり、通常使用可能な市販の汎用フラッシュストロボは、発光光量によって発光時間が変化する。この時に使用したのは、Panasonic の DMW-FL500 であり、スペック上は発光時間が1/500～1/20000 となっている。発光時間は 1/250 くらいだと思われるが、物体速度に比べて十分に速くないために、得られた画像はブレている。右側は、発光量を落とすべくガイドナンバーを 18（フル発光の 1/4）に設定した撮影を行った結果である。以下の実験は全てこの条件で記録を行った。フラッシュ撮影の際に使用したカメラは Canon EOS 5DMarkIII であった。

Guide Number=18

Guide Number=28

Fig. 8 Effects of Guide Number of Flashフラッシュを用いて、ゲート時間 1/60 秒ないし 1 秒で同期撮影した実験結果の一部を以下の Fig.
9 に示す。

70ms

100ms

135ms

175ms

200ms

225ms

Fig. 9 Experimental results EOS5DMarkIII with flash delays are in milliseconds
4. 結論
デジタル一眼レフカメラを PC から制御し、鋼球の自由落下を撮影した。制御は、カメラの USB端子をカメラ専用の SDK からドライブする方法と、カメラのレリーズ端子を直接電気的にショートする方法、さらにフラッシュを用いて現象と照明を同期させる三つの方法を用いた。前者の場合は、瞬間写真としては致命的な現象欠落時間帯が現れてしまった。後者二つの方法では現象の駆動順序を工夫することで、比較的自由な遅延時間を実現できた。カメラの応答時間としては EOS Kiss
digital N で約 256ms、5DMarkIII で約 140ms という結果となった。今後は各ステージの遅延時間のばらつきを評価し、時間計測という点での計測精度を評価し、さらに多重ストロボを利用して対象物体の平均速度あるいは平均加速度などの計測を行う予定である。
参考文献ないし URL[1]

http://www.h5.dion.ne.jp/~p-taro/kizai/kamera/reri-zutimragu.html[2]

http://cweb.canon.jp/pls/webcc/wc_show_contents.EdtDsp?i_cd_pr_catg=%3C%21-+%25PRODUCT_CATG_CODE%25+--%3E&i_cd_pr=%3C%21--+%25PRODUCT_CODE%25+-%3E&i_cd_qasearch=Q000009125&i_cl_form=%3C%21--+%25FORM_CL%25+-%3E&i_tx_search_pr_name=%3C%21--+%25PRODUCT_SEARCH_WORD%25+-%3E&i_tx_contents_dir=%2Fe-support%2Ffaq%2Fanswer%2Feosd&i_tx_contents_file=91251.html&i_tx_keyword=%3C%21--+%25KEY_WORD%25+--%3E&i_tx_qasearch_url=%3C%21-+%25QA_SEARCH_URL%25+--%3E&i_cd_transition=%3C%21-+%25TRANSITION_CODE%25+--%3E&i_fl_edit=%3C%21--+%25EDIT_FLAG%25+--%3E