【事後編】360度動画/ライブストリーミングの技術、リアルタイム・イメージ・スティッチングについて、"CEDEC 2016"でお話ししました

こんにちは、DeNA技術開発の小倉です。

8月終わりにCEDEC2016が無事終わりました。9月に入ってからはYouTubeのイベントやad:tech tokyoなどもありまして、360度動画、360度ライブストリーミング界隈も、コンテンツ業界を巻き込みながらますます賑やかになってきております。

CEDEC2016で軽く紹介しました"SHOWROOM VR"アイドル/タレント/ミュージック/スポーツなどのライブストリーミングサービスの360度版)も、とある人気番組では「同時接続数8,000以上、ユニークユーザ2万人以上」と、恐らく現時点の360度ライブストリーミング・サービスにおいては世界最大級のサービスとなっているのではないかと思います。

もう1点、SHOWROOM VRの特異なところとして、規模は小さいものの普通にマネタイズ(ギフティング)を行っている、というのがあります。これにつきましても、まだまだVRのビジネスが手探りの世の中にあって、他にない挑戦をしているところかなと思います。

昨年の夏に、グラビアアイドルをCardboardで見るプロトタイプを作りまして、チームの女子に「キモ〜い」と順調に言われつつ始まったSHOWROOM VRですが、今では毎週2−3何かしらの番組が配信される状況となっており、まだまだ大した数字も出しておりませぬが、当時のぞんざいな状況からすればかなりよろしくなってきました。

サービススタートの際にグラビアアイドルでは色物イメージが定着しすぎると、スタートを見送りつつ何度も議論を重ねたものの、何故か順調にグラビアアイドルからサービスがスタートし、水着のお尻に向かってユーザが投げつける大量のギフトに、アイドルが「痛〜い❤️」とエスカレートしてゆくVR空間を目の当たりにしながら、「俺は大変なものを作ってしまったのかもしれない・・・ていうかあの議論は一体何だったんだよ。」と、思う日々もありました。

さて、CEDEC2016では、そんなSHOWROOM VRで実際に使っているリアルタイム・イメージ・スティッチングの技術について話してきました。

SHOWROOM VRの説明をするために、何かサービスのわかる動画をくださいとチームに頼むも、SHOWROOMは今この瞬間を共有するライブを売り物にするサービスだから、そんなものない!と言われ、その後やっぱり2つだけあったよと渡されたその両方ともグラビアアイドルの動画であり、うち1つはUIのない普通の360度動画だったのでこれはボツ、残る最後の頼みの綱が、まさに上記のサービスがスタートしたときの ”「痛〜い❤️」の動画” だったということで、仕方なくこれをCEDECで再生する決意をしました。

そしてセッション当日、音声がうまく会場の設備に接続されていなかったことで、真剣な顔で聞いてくれる聴講者に向かって、 ”「痛〜い❤️」の動画” の巻き戻しと再生を、順調に何度も何度も何度も繰り返すというセッションとなりました。ということで、来年のCEDEC運営委員に、私、小倉豪放45歳がいなかった場合はいろいろ察していただければ幸いです。

SHOWROOM VR:ミスFLASH2016【写真:星乃まおり】→「痛〜い❤️」の動画

SHOWROOM VR:ミスFLASH2016【写真:星乃まおり】→「痛〜い❤️」の動画

イメージ・スティッチングについて

360度動画は、要するに、カメラもしくはレンズの数だけ存在する、映像を繋ぎあわせた映像を作り(イメージ・スティッチング=以後スティッチングと表記)、それを球に貼りつけて球の内側から見ればいいのですが、この一連の動作をRICOH THETA S=レンズ数2を題材にシームレスな実機デモを作りセッションでご覧いただきました。

このデモはわかりやすいと好評でしたので、是非ご覧いただければと思います(動画1)。

(動画1)

図1図2図3:360度動画のおおまかな構造(デモの説明)

図1図2図3:360度動画のおおまかな構造(デモの説明)

先に、360度動画のおまかな構造を理解しておくと、正確な絵を導くために必要十分なものは何なのか?という検討をつけやすくなると思います。

つまり、

・魚眼レンズの仕様(視野角、射影アルゴリズム)

・テクスチャーにおけるレンズの映像の位置

・球面における映像の位置(リグにおけるカメラの位置)

となります。

これらがわかれば、いろんな360度カメラの映像をスティッチングできるようになります。手元では5種類のカメラでテストしました。
レンズの型番が特定できれば仕様がわかるので実装は楽ですが、わからない場合は上記の数値を自分で計測もしくは探す必要があります。

詳細につきましては、資料をアップしてありますので、そちらをご覧ください。

図4:魚眼レンズの仕様

図4:魚眼レンズの仕様

図5:テクスチャーにおけるレンズ映像の位置

図5:テクスチャーにおけるレンズ映像の位置

セッションでは、スティッチングの様子を可視化するために、レンズに色をつけるデモも行いました。こうすることによって、360度映像のどの部分にどのレンズが貢献しているのかを可視化することができます。

以下に続く画像(図6〜図11)の黄色の部分がスティッチングしている部分になりますが、ほぼ気にならないものの、背景によってはつなぎ目が見えることがわかると思います。

図6図7図8図9図10図11:レンズごとに色を変える

図6図7図8図9図10図11:レンズごとに色を変える

緑色と赤色に挟まれた黄色の帯の部分で、つなぎ目が見えることを確認できたと思います。では完璧なスティッチングを全自動で行うことは可能なのでしょうか?

 

スティッチングの全自動化は難しい

例えば、カメラが複数ある場合(もしくはレンズが複数ある場合)において、カメラもしくはレンズの向いている方向が90度の差がある場合を想定して以下のような図を書いてみます(図12)。

すると、カメラ①から見た被写体の構図と、カメラ②から見た被写体の構図は同じでないということに気がつくと思います。これは複数あるカメラ同士、もしくはレンズ同士の物理的な距離がゼロにならない限り発生します。
そして、実態のあるもの同士の物理的な距離は、決してゼロにはなりません(*1)。

つまり、一般論として完璧なスティッチングを全自動で行うことは不可能であることがわかると思います。

図12:矛盾する被写体の構図

図12:矛盾する被写体の構図

被写体の中で何を残し、何を消すかという判断は多分にコンテンツに依存するため、得に高画質な360度動画の編集場面においては、しばらくの間、手作業によるエディットは必要であろうと思います(*2)。

(*1)360度カメラの開発や、リグの開発では、こうした矛盾を可能な限り軽減すべく、カメラ間レンズ間の物理的な距離を極力縮める努力が行われています。

(*2)本セッションでは触れておりませんが、スティッチングをリアルタイムで行う必要がない場合は、画像解析を使うアルゴリズムもあります。

 

Little Planetについて

”Little Planet”で画像検索すると、地面が球体になって空に浮かんでいる画像が沢山表示されます(ちなみに、カタカナで検索すると、有名な某物理ゲームの画像がヒットします)。こうした映像は360度静止画、動画から専用のアプリケーションを使って作ることができます。

図13:Litle Planet

図13:Litle Planet

実はLitle Planetというのは呼称で、正確にはStereographic Downという投影アルゴリズムになります。

実際にこの投影アルゴリズムが何をやっているのかを、1枚の図にしました(図14)。

360度映像を貼り付けた球を床に置き、点Nから球の内側を通して床に光線を打ち、球上の点Pの色を床の点P'に焼き付けて回る、というようなことをイメージすると、全体像がつかみやすいと思います(白線NPP')。

すると点Nの直下、つまり球と床の接点の方向は地面になるので、床に投影される映像の中心は地面になります。一方で球の上半分、得に点Nの付近は青い空になるので、床に投影される映像は青い空に包まれることがイメージできると思います。

図14:Litle Planet(=Stereographic Down)の仕組み

図14:Litle Planet(=Stereographic Down)の仕組み

スマートフォンのVRの現在、今後

ハイエンド3DCGとVR HMD(有名なところですとOculus Rift、PlayStationVR、HTC viveなど)とは別の路線として、Google VRなどのスマートフォンのVRがあります。
その主要なコンテンツは360度動画、360度ライブストリーミング、もしくは、両眼視差を用いてこれらを3D対応したコンテンツとなります。

VR HMDは没入感が高く、優れたユーザ体験を得られますが、その一方で使用環境を含めて高価であり、またコンテンツ制作の参入障壁も高く、一般へ普及するまでには時間がかかりそうです。
一方で、スマートフォンのVRはすでにハードウェアが普及しているということもあり、コンテンツ制作の参入障壁も低く、市場規模も大きくなるであろうと思います。

また、昨今のVR民生品の技術進化の速度を見ますと、ハンドトラッキングなどのVR HMDの環境でしかできなかった技術をスマートフォンが取り込みつつあり、猛烈に追随していることがわかります。

イメージ・スティッチングにつきましては、これまではソフトウェアやツールによる処理が一般的でしたが、2016年の秋から2017年の年初のCESにかけては、ハードウェア実装している360度カメラや、開発環境が続々と登場します。
これによって、360度動画、ライブストリーミングのハードルはより低下してゆくため、コンテンツやチャンネルはより増加してゆくと思います。

詳細につきましては、資料をアップしてありますので、そちらをご覧ください。

 

まとめ

CEDEC2016”ではVRをテーマとした特別企画”VR Now!”を開催し、VRアプリケーション開発の知見を広げるためのセッション、展示を実施して参りました。こうしたイベントの成果もありまして、今年2016年は総参加者数6,500人を超える過去最大の規模となりました。

本セッションも、この”VR Now!”のセッションの1つではありましたが、3DCGとVR HMDを使ったゴリゴリのVRゲームや、学術系VRについてのセッションが多い中、比較的異色なセッションとなりました。セッションに来ていただいた方々も、すでに開発を進めている方々やミドルウェア開発会社の方が多かったです。

特に質疑応答の時間は設けなかったのですが、セッション終了後に個別に質問された内容につきましては資料の方に追加しました。

ところで、本セッションはCEDECの地方開催となる、”CEDEC+KYUSHU2016”にて続編を行うことになりました。360度動画、ライブストリーミングについては、日々新しい進展があるのと、今は機材の世代交代の時期となりますため、引き続きいろいろとアップデートできるかと思います。

それでは、10月22日に、九州大学大橋キャンパスでお会いしましょう!

日時:
2016年10月22日(土)

タイトル:
360度映像のリアルタイム・イメージ・スティッチングについて
ー進化する機器とアルゴリズムー

公式URL:
http://cedec-kyushu.jp/2016/session/05.html