360度VR画像(パノラマ写真)の基本 ・エクイレクタングラー図法

私にとってのVR(Virtual Reality)は、QTVR(QUICKTIME VR)が始まりでした。1990年代にAppleが開発した技術・ソフトウェアで、全天周360度のパノラマ写真が再生できました。QTVRのVRはもちろんVirtual Realityですが、当時VRという言葉よりも「全天周パノラマ写真」という言葉を使っていました。

いま(2018年8月現在)で言うVR(Virtual Reality)という言葉が指す範囲は非常に広く、VRコンテンツを開発したり利用するための知識は多岐に渡ります。ただ、その一部である360度VRの実写画像・映像の部分では、撮影・変換・オーサリング手法など全て、QTVRの時代に確立されたものです。

360度VR画像(全天周パノラマ写真)の原理やその作り方は、現在のVR開発・制作にも活かされる部分があります。

360度VR画像(全天周パノラマ写真)の画像形式・エクイレクタングラー図法

全天周パノラマ写真は、ある地点から上下左右360度見えるものを全て平面画像として記録したものです。球体のプラネタリウムがあるとしたら、そのプラネタリウムに映る映像を平面化したもの。もともと球体に描かれる(あるいは投影される)ものなので、平面で表現するには工夫が必要です。球面から平面への変換にはいくつかの方法があります。

VRの世界でいま共通の規格とされているのは、エクイレクタングラー(equirectangular)という図法です。日本語で「正距円筒図法」といい、丸い地球を平面である世界地図に変換する図法の一つです。縦横比は1:2となります。

エクイレクタングラー(equirectangular)図法で展開された地球。ウィキペディア “正距円筒図法” より

この図法で描かれた世界地図は、南極やグリーンランドが不自然なほど巨大に描かれてしまいます。これは先に書いた通り、もともと3D球面上にあった絵を2D上の平面に変換する際に引き伸ばされた部分だからです。

エクイレクタングラー形式の画像は、元の球体から1.5倍以上引き伸ばされて描画される。

では、エクイレクタングラーにすると、どのくらいの割合でどんな風に引き伸ばされるのかというと。まず、球体の表面積を求める公式はこちらです。

球体の表面積 = 4 x π(円周率) x 半径2

球体の半径を1とすると、球体の表面積は4π ≒ 12.56 となります。一方、平面に展開された状態の地球から、この平面の面積を見てみます。エクイレクタングラーの画像なので、縦横比は1:2。縦の長さは、元の球体の円周の半分にあたります。円周の長さを求める公式は以下です。

円周の長さ = 2 x π(円周率) x 直径

球体の半径が1ならば、「2(直径) x π = 2π」 が円周となり、その半分なので「π」。横の長さは縦の2倍なので2π。 面積は「π x 2π = 2π2 となり、≒ 19.72 となります。元の面積より約57%ほど、拡大されて展開されていることになります。そのため、エクイレクタングラーで展開された世界地図の地形や距離は、実際の地球のものと違ってきます。360度VR画像(全天周パノラマ写真)やVR動画も、エクイレクタングラー形式のまま再生すると、写っているものがひどく歪んでいます。

エクイレクタングラー図法は、実際の緯度・経度の情報を平面上に描画して扱う際に、その計算方式が非常に単純でコンピュータ処理に向いていることから多くのソフトウェアで用いられてきました。緯度の高さに比例して、横に拡大表示されます。下の画像は、元の球体上のどの部分がどのくらい横に拡大されるかを表したものです。

エクイレクタングラー(equirectangular)図法で展開された世界地図。wikipedia “Equirectangular projection” より

赤道上(緯度0°)では画像は横に拡大されず、1:1のままです。緯度は北極または南極に近づくほど高くなり、北極点で北緯90°、南極点で南緯90°となります。横方向への拡大率は、緯度0°で1となり、以下の式で算出されます。

エクイレクタングラー画像の横方向への拡大率 = 1 / cos(緯度)

すごく、単純ですね。東京あたりでは北緯35°あたりですから、1/cos35° = 1.22倍、グリーンランドの首都ヌークでは北緯64°あたりなので、 1/cos64° = 2.27倍という具合で、横に拡大されているということです。

考え方や原理を知っておくと良いこと

360度VR画像(パノラマ写真)も、360度VR動画も、いったんはエクイレクタングラーという形式を経て、ビュワー(プレイヤー)で展開再生されます。だいたい上記くらいのことを知っていると、制作の過程でけっこう役に立つ場面はあります。例えば撮影のときに、ファインダーに見える映像の各部分の緯度や占有面積を、なんとなく意識するようになります。

円周魚眼で撮影した画像

魚眼レンズで取る写真や映像は、エクイレクタングラーとはまた別の(逆の)歪みを持っていて分かりづらいですが、例えば円周魚眼で撮影していれば、円形の真上が北緯90°、真下が南緯90度になります。エクイレクタングラーでは縦方向(緯度)は均等に分割されますから、9分割や16分割のグリッドを表示させれば、エクイレクタングラーにした時の歪み具合が想像できます。また、明確な被写体がある場合に、その被写体をどの位置のどのくらいの範囲に収めるのが良いか検討がつきます

最終的にはビュワーやアプリで展開再生するのだから関係ないと思うかもしれませんが、画像のレタッチや映像の編集はエクイレクタングラー形式のものを扱います。レタッチやポスプロの工程があらかじめ分かっているとき、その部分がエクイレクタングラー上のどの部分に来るかを意識しておけば、目印を付けたり、背景や周辺を意識するなど工夫ができます。

画像や映像をどうやって再生するのか、最終的なオーサリングを踏まえて撮影・編集することも重要です。Youtubeであれば画角(再生時に表示される範囲)が決まってきますし、 HMDであればアプリの仕様とともに操作や表示範囲が変わってきます。再生環境のことが分かっていれば、そこに、「何がどんな大きさでどこまで映るのか」の見当を付けながら撮影や編集ができます。360度VR画像(パノラマ写真)の基本・エクイレクタングラー図法の原理は、制作や開発の多くの場面で手助けになります。

VR動画が普及し始めたころ、このエクイレクタングラーに対する認識や理解の違いが、いろいろな場面で齟齬を生んだことがありました。今ではもうそんなことはありませんが、技術的な理解は制作や創作のレベルを押し上げる重要な要素だと思います。特にVRは、その原理や成り立ち、技術的な特徴などを上手に活用して表現した方が、面白いものができるのではないかと考えています。

360度VR画像(全天周パノラマ写真)については、引き続き記事を書いていこうと思います。