カメラ30台を同期「バレットタイム撮影」手法

2020年2月25日

当社では毎年、4月と10月の期初に会社方針説明会が開催されています。
通称VISION報告会と呼ばれるこの会は、社長から社員へ前期のおさらいと今後の方針などを説明する会となりますが、毎回その方針説明の最初にオープニングムービーを放映しています。
今回はその動画の撮影手法についてのお話です。

今回、その動画制作にあたり挑戦したのが「バレットタイム撮影」です。
誰しもが一度は目にした事があるであろう、映画「マトリックス」でネオが弾丸を受けるあの有名なシーンで使われた手法です。
被写体の周囲にカメラをたくさん並べ、アングルを動かしたい方向にそれぞれのカメラを順番に連続撮影していく事で、被写体が静止または低速で動作した状態でカメラアングルが動く不思議な映像が撮影できるというシステムです。

今回はこの撮影のためにWEBアプリを開発し、複数のスマートフォンのカメラで同時にシャッターを押すシステムを構築。理論上は1000台まで同時接続が可能なこのシステムを用いて、約30台のスマホを制御して撮影に挑みました。(※今回作ったシステムについてはページ下部に掲載します)

バレットタイム撮影システムの設置風景

撮影は早朝から昼過ぎまでノンストップで行いました。
社内の一番大きいホールを借り、360度並べた椅子の上にスマートフォンを均等に配置します。端末によってカメラの性能や画角が違うため、それを考慮して配置換えや角度調整をしたりと、これが一番繊細な作業となりました。

動画の構想は、暗い場所で光源(サイリウム)を動かし、光のブレと「バレットタイム撮影」を組み合わせて不思議な画が作れないかというものでした。
カメラの中心でサイリウムを高速回転させ、その光景を360度同時に撮影。撮れた画像をつなぎ合わせて実際にできた動画がこんな感じです。

まるで何かの惑星のような不思議な画を取ることができました。

この方法でいくつかパターンを撮影し、最終的に動画として繋ぎあわせ音楽をつける事で、オープニングムービーが完成します。
しかし、撮影は毎回トラブルがつきものです。今回も撮影中いくつか問題に直面しました。
例えば、端末毎のカメラ性能の違いにより被写体の写りに予想以上に大きな差があったり、通信の影響でシャッターのタイミングがずれてしまったりなど…ほとんどがその場で解決できるものではなかったので、後で撮影した画像単体を編集する事でどうにか問題を回避し、今回は無事に完成にこぎつけることができました。

7年ほど続いているオープニングムービープロジェクトですが、次回はAIを活用した動画素材が作れないかと密かに構想中です。

Written by Shino

システム概要

バレットタイム撮影システム構成図

大量のスマートフォンを利用する上で、端末の管理上でアプリのインストールについてハードルがありました。そのため、今回はブラウザ上で動作するWebアプリとして機能の実装を行いました。デバイスのカメラ制御にはWebRTC、30台のスマートフォンの撮影タイミング同期にはWebSocketを使用。node.jsとsocket.ioで構築されたsocketサーバを介することで、撮影コマンドの一斉送信を実現しました。
このシステムを実際に使ってみて、各端末毎の通信処理におけるタイミングのズレが生じました。撮影対象が動くものだったこともあり、実際に画像を連続してみた際のズレが目立ってしまいました。今回のように、動体を同時に撮影する場合、できるだけタイミングを合わせるための工夫が必要だと考えさせられました。次にやるときには物理的に撮影コマンドを送るなどについても挑戦してみたいと思います。(今回はスケジュールの都合もあり、画像の編集で対応しました)

Written by hig

当サイトでは、お客さまの利便性向上のために、Cookieまたは類似の技術を使用しています。収集されたデータの使用方法の詳細については、サイトのご利用にあたってページをご確認ください。