みた、こと。きいた、こと。

あとで、かく。ここは分館。記事一覧は「右メニュー」から。

Vitaとカメラと画質とAR

特に意識しているワケではないんだけど、こういうタイトルのつけ方が多いと思う今日この頃。

どうでもいいけど、今回の投稿でこのブログ的には「100日目」になるらしい。全てが全てVitaについて書いてきたワケではないとはいえ、意外と書くことあったんだな、と自分自身で驚いていたり。


まぁ、そういうワケでいい機会だから今回は前から書きたいと思っていた、VitaのAR機能。SmartARについてをダラダラと書いてみることにする。

今までのARと何が違うのか?というところとか、Vitaだとどういうことになるの?とかそういうのを、現実的なところで話をしてみたい。

本当は実例を交えて紹介したいんだけど、そういうのは「きっとそのうちメーカーさんが面白いゲームで実現してくれると思うよ!」という期待をこめてあえて載せない方向で。

あと、既に何度も書いてますが、単なる素人のまとめ記事ですし、今回は妄想分は少なめとはいえ、やっぱり妄想入ってますので、間違いも含めてそこについてはよろしくお願いしますというかなんと言うか。

で、今回は長くなるので先に項目をまとめておくと、

Vitaとカメラと画質とAR
  • Vitaのカメラの画質
  • 画素数と画像サイズの違い
  • Vitaのカメラの性能と特徴
  • 1台のカメラで立体情報を得る方法
  • SmartARというマーカーレスAR
  • VitaのカメラとSmartARの関係
  • ネットワーク化されたARの未来
  • まとめ

そんな感じで。知っている人には当たり前というかいまさらの話なんですけどね。うん。


Vitaのカメラの画質

いまどき、携帯電話やスマホはもちろん、カメラが付いていない情報端末と呼ばれるものは滅多にない。付いていないほうが珍しい程に普通に、あたりまえになってしまった。それもこれもCCDやCMOSと呼ばれるセンサーのおかげだよな~と思う。ま、それはいまさらの話なので置いておいて。

当然、VitaにもPSPには無かった追加要素として「前面カメラ、背面カメラ」の2つが搭載されている。

このカメラを使ったゲームというのは既にいくつか登場しているし、テレビ電話よろしくパソコンと同じような感じで相手の顔を見ながら通話が出来るSkypeのアプリケーションも公開されているし、今後ニコニコ動画では生放送にも対応する予定がある!と、発表されている。まだ見えないけど。

でも。

Vitaを買って結構ガッカリする点の一つが、Vitaのカメラの画質だったりする。

昨今の高性能デジカメほどではなくても、携帯電話やスマホのカメラと同じぐらいの画質を期待していると、はっきり言って「ガッカリ」になる。なんかこう、安っぽいという感じの写真が取れる。


ただ、この話をするのに誤解しやすいのが「画素数」と「画像サイズ」の部分。

ここを理解しておかないと、単純に画像サイズが大きいからいい!とか小さいからダメ!という評価に陥りがち。

なので、まずはここを次で説明したい。


画素数と画像サイズの違い

「画素数って知っているよ!画面サイズの縦と横を掛けた値でしょ?」
という人は、微妙に誤解してますよ?という話。

ちょっと昔話を交えつつ、この辺りを説明したい。


今時の人は知らない、デジカメが登場して最初に「名機」と言われて売れまくったデジカメがある。

その名は「QV-10」。1995年にカシオから発売された。デジカメ自体は1980年代後半から登場こそしていたものの、「撮影した画像を背面の液晶パネルでその場で確認できる」という今のデジカメでは当たり前のことが世界で始めて搭載されたデジカメだった。

搭載されていたCCDイメージセンサは「25万画素」。画像ファイルの解像度としては「横320x縦240」だった。


ここであれ?と思った人は鋭い。というか計算が速い。縦と横を掛けると「76,800」になり「25万画素」にはおおよそ届かない。

どゆこと?あ、判った。色数でしょ。RGBって奴でしょ!3倍すればいいじゃない?

おおよそ正解。先ほどの数字を3倍すると「約23万」になり、近い数字になった。

CCDイメージセンサは、「光の強弱は判るけど、色の見分けが出来ない」という特徴がある。なので、本当ならレンズ側でカラーフィルタを用いて三原色分解を行う必要がある。ただ、それをすると光を屈折させるだけの場所(距離)が必要になるので小型化できないなどの問題がある。

なお、画素数の方が多くなるのは、レンズが丸型なのに対し、残す画像は四角形にする必要があるのでCCDのセンサ部分はどうしても大きめにする必要があるからという話だったりするので「計算が合わないじゃない!」と怒らないように。


その話をするのなら、なんで古い話にしたの?今のデジカメで計算しても同じなんでしょ?

というと、微妙に話が違う。

CCDからCMOSに変わったというのもあるんだけど、原理は同じなのでそのまま説明すると、たとえばスマホの代表である「iPhone4S」の場合、画素数は「800万画素」と公表されている。そして、画像ファイルの解像度は「縦1600x横1200」。

3倍にしても「576万画素」とかなり足りないのだ。そして、4倍すると「768万画素」となって大体一致する。そう、最近のデジカメは4倍計算になっているのだ。4つ目の色は何?というと、三原色のどれか一つの色と同じ色だったりする。「緑」であることが多いらしい。センサーは障子の升目のように配置され、4つで一つの画像のドットとして合成されるんだけど、3原色だと1つ余る。なので、余った一つはどれか同じ色を配置しておいて、計算上は半分にするという事をしているからだ。(この為、計算の仕方が悪かったり、レンズの歪みがひどかったりすると、写真の色味がおかしくなるということがあったりする)

そして、当然画素数が多いということは、それだけ処理が大変になる為、デジカメでも「動画撮影時や連続撮影時は解像度が小さくなる」という事も行われていたりする。これはセンサー側の画素数は変えられないので、計算する側で画素を適当に読み飛ばして計算速度を上げているという感じ。


ま、そんなワケで、画素数と画面サイズの違いというか関係が判ってもらえればという感じ。


Vitaのカメラの性能と特徴

ではVitaの場合ってどうなの?という話をすると、公表されているスペックとしてはこんな感じになっている。

カメラ
前面カメラ、背面カメラ
フレームレート
120fps@320x240(QVGA), 60fps@640x480(VGA)
解像度
最大640x480(VGA)

この数字、特に「解像度」を見て、前段のiPhoneのくだりを思い出すと普通の人はビックリするだろう。

「えっ、ウソ。これしかないの?スマホより画面サイズちっさすぎ!15年以上前のデジカメと同じぐらいジャン!」

と。(このフリがしたかったというのもあって、QV-10を出してきたというのもある)


ですよねー。普通そう思いますよねー。

いいんです。だって、Vitaはデジカメじゃないんだもの。*1

むしろ、特徴として大事なのは先ほどの話に出ていなかった2番目の項目の所。

「フレームレート」

の所。

Vitaのカメラは、大きい画像を撮ることを目的としているのではなく、速い画像を沢山撮ることを目的に設計されている。


「いや、そんな。だって高速撮影とか興味ないし。生放送でも使わんでしょ」

という人もいると思うけど、高速撮影はとても大事な機能なんです。Vitaにとっては。

それはまた後で。次の話は少し脱線します。


1台のカメラで立体情報を得る方法

さて、質問です。「立体画像を撮る方法」は知ってますか?

と小学校の教室で先生からクイズが出されたとすると、10人中8~9人ぐらいはみんなこう答えると思います。

「はい!2つのカメラで撮影します!」

と。うん。あってる。人間も目が2つあるから立体が判るって説明されますしね。両目で見るための立体映像、特に立体で見られる写真や映像を作るためには、その方法がもっとも正しい方法と言える。


でも、「モーションセンサーが使える場合はカメラが1つしかなくても空間の立体構造を把握する方法が無い訳ではない」のだ。

いうなれば、左目の位置で1枚撮影し、右目の位置でもう一枚を撮影し、この2枚の写真を使えば立体に見ることは出来るワケで、自分の移動に対して「相手がどれだけ動いたのか」(位置が変わって見えたのか)で相対的に相手の距離がわかるという方法がある。

一般的にこの方法による動画に画像を合成する方法を「マッチムーブ」と呼んでいる。*2


もともとは「位置が固定されているものを比較し続ければ、自分の移動量がわかる」という自分の位置情報(移動情報)を把握する為の技術であり、それによって「立体空間上に映像を合成する為の技術」。


具体的な方法を簡単に説明すると、

  • 前提条件として見える物体は基本的に動かないもので構成されている
    • 野外であれば建物など。屋内であれば家具や床と壁の境目やドアや窓など
  • また、自分は常に移動し続けるものとし、立ち止まることは無いものとする
  • 見えている画像の内、特徴となる場所を何箇所も覚える
    • テーブルの端や角、床と脚の接点や見た目の色が変わる所
    • 縁という直線などではなく、それぞれを点として覚える
  • 次の映像を見て前の画像と特徴となる場所が移動したか確認する
    • 特徴となる点同士の幅が変わっていたら、距離や位置が変わったとみなすことが出来る
    • 特徴となる点が消えたら裏に隠れたと判断する
    • 前提として相手は動いていないのだから、映像の変化は自分の移動による変化とみなす
  • それを繰り返すことにより空間の各物体の位置(上下や前後など)関係を把握する
  • 特徴点は多ければ多いほど精度が高くなる
    • 今は見えていない場所も含めて記憶され、再度登場した時にまた利用される

という感じになる。

ただし、最近では「モーションセンサー」が普通についている携帯機なども存在するため、自分の移動量の推測が必要なくなったことで、リアルタイムに空間情報を把握できるようになり、画像を合成をしやすくなったから手軽に出来るようになってきたという側面がある。


SmartARというマーカーレスAR

Vitaには「SmartAR」という技術が搭載されている。「マーカーレスAR」とも呼ばれている。


一般的なこれまでのARだと、「ARマーカー」と呼ばれる物が必要だった。これは特殊な二次元バーコードみたいなものだが、これにより「それが置かれている場所は平面である」ことが判り、また見えているマーカーの大きさから距離と角度、方向などがわかるものだった。

ただし、大きな欠点があって、ARマーカーが見えない、判断できないと正しく動作しないという問題があった。

これは「ARマーカーの位置や角度、方向により表示する場所を決めていたのであって、空間全体を把握しているわけではなかったからだ。


SmartARの場合は違う。前段のようにまず空間を把握する。特徴点から家具などの位置関係を把握する。床とテーブルやソファーの高さの違いも把握する。なので、平らな場所や広さが判明しているため、マーカーが無くても物をそこに重ね合わせることが出来る。また、一度物を置いてしまえば、既に位置関係はハッキリしているため、カメラを前後左右上下に移動させてもあらゆる角度から見ることが出来るという。

なお、SmartARでも「ARマーカー」を使うことは当然出来る。

これは、SmartARでは「特徴となる点」として「見た目の色が変わる所」も判断対象としているからで、その対象のパターンが登録されているイメージの情報と一致した場合、その場所に事前に指定された映像などを重ね合わせることが出来る。ある程度コントラストがよくて、形状がゆがんでいなければ良いので、従来と同じ二次元バーコードみたいなものも使えるが、ポスターやイラストカードなども利用できるという特徴もある。


VitaのカメラとSmartARの関係

だいぶ前の段落でこういうことを書いた。

「Vitaのカメラは、大きい画像を撮ることを目的としているのではなく、速い画像を沢山撮ることを目的に設計されている。」

と。

VitaのSmartARを実現する為の最大のポイントは3つ。

SmartARを実現する為のポイント
  1. 自分が動き続ける対象であり、相手は動かないものであること
  2. 自分の動きがモーションセンサーによって計測できていること
  3. 映像を高速撮影でき、前後の映像の比較が継ぎ目無くできること

まず、1つ目と2つ目が大事だ。

Vitaをクレードルなどに固定して撮影しようと思った場合、全く移動がなくなってしまうため、前後の画像を比較しても特徴となる点が全く動かない。そうなると「前後関係がわからず、空間を把握することが出来ない」となる。

なので、「SmartAR」をするときは「両手で持って動かして空間を把握させること」が大事になる。

なお、一度把握させてしまえば、固定にしても大丈夫になります。モーションセンサーが動いていない事を把握しているので、画面内で動いているものは相手が動いているものと区別できるので。

だけど、VitaのSmartARとしては動かし続ける方がたぶんいい。そういう意味では、携帯機ならではの機能といえるものだ。据え置き機であるPS3やパソコンなどにUSBカメラなどを付けても出来ないことはないが、それは空間を把握しているというより、動く物体のみを認識できる技術/機能になる。*3


そして、なにより3つ目が大事だ。

もし、フレームレートが低く、毎秒の画像の撮影速度が遅いとどうなるだろうか。

急に後ろを向いたり、上下に激しく動かしたりした場合、比較する映像が全く異なるものになってしまい、空間情報を把握するには情報不足になってしまう。大事なのは「前後の映像を比較して、何がどれだけズレたのか」を見ることなのだから。そのズレによって「空間内の物体の前後左右の位置関係」を把握するので、急激な映像の変化に耐えられるだけのカメラ性能が必要になる。


だいぶ上の方で書いた。

フレームレート
120fps@320x240(QVGA), 60fps@640x480(VGA)

60fpsや120fps。これ、1秒間に60回の撮影、120回の撮影の意味だということは、あえて説明する必要は無いと思うが、これだけの撮影速度に対応できるだけのカメラが付いているのである。

そういう意味では、写真や動画を撮影する為のカメラではなく、SmartARの為のカメラだったワケで、撮影はむしろおまけという感じと言えるのかも知れない。

まぁ、結局はその高速撮影に焦点を置いたので、画素数の方は良くならなかったんだとは思うけど。残念ながら。


ネットワーク化されたARの未来

このブログ的には何度も書いているけど、Vitaは「ネットワーク依存型携帯ゲーム機」だ。

SmartAR自体は別にネットワークに対応している必要はないし、全く関係はない。

だが、ネットワークに対応することで出来ることというのは沢山ある。いや、むしろ楽しいことでいっぱいになる。


たとえば、同じ空間にいて数人でVitaを持っていた場合。テーブルの上においてある同じARカードを撮影したとする。

ネットワーク上でつながっているそれぞれのVitaが、その「ARカード」を「同じもの」として認識し、情報を交換し合うという形になれば、表示する情報の同期を取ることができる。

同じ空間内で違う角度から同じ映像を眺めるということが。


より具体的に言うのであれば、「同一空間上での対戦プレイ」や「空間上の仮想コンサートを同時に見ることが出来る」という。何の話かは置いておいて。既に配信済みのものもあるけど。


また、ARゲームなども対戦者と観戦者に別れることも出来るし、観戦者は好きな場所、角度から見ることも出来る。サッカーゲームやテニスゲームなど、遊んでいる人同士はもちろん、それを外部から審判や観戦者として参加することも出来る。リアルタイムに。


なお、SmartARはARカードが無くても良いとは言うものの、この場合はARカードがあった方が良い。なぜならば「カメラとして違う映像が映っている人同士が、実は同じ場所にいると認識する為の根拠となる情報」が必要になるからで、ARマーカーを(最初に)使うことでこれをクリアすることが出来る。*4


まとめ

今回は本文が長かったのでまとめは短めに。

この話を書くに当たっては、以前書いた記事にいただいたコメントのリンク先なんかを読むとイメージが沸きやすいんじゃないかと思います。

情報、ありがとうございました。

そして、なにより個人的にお勧めしたいのは、以前NHKで公開されたアニメである「電脳コイル」だったりします。

あの作品の中に出てくる「電脳メガネ」。パソコン以上にいろんなことが出来るので、なんだかとってもSFっぽく感じますが、「仮想空間上で同じ映像を見ることが出来る」(電脳ペットとか攻撃のときのイメージとか)というのは、非常にイメージが近いと思います。

また、電脳メガネで把握した空間情報は、サーバに自動的に登録/更新されるという仕組みになっているらしく、この点もSmartARで端末同士をネットワークにつないだ時と同じようなイメージも受けます。自分が見えていない方角、場所の情報を、他の端末によって立体空間として把握させるという。

作中でも、捨てられたバスの廃棄場は、誰も電脳メガネを付けて来ないために情報が古いままになっていて穴が沢山開いていたり、その場所でメタバグを探すときには更新を切ると表現したりする所は、なかなか面白いです。


そういう意味で。割とまじめに「電脳コイル」の世界がそこまで来ているような気がします。


将来、電子ペットのゲームなんかが発売されたら、部屋の中を走り回り、テーブルの下や箪笥の上に隠れているペットを家族全員でVitaで探すような日が、来たりするのかもしれません。

*1:とはいえ、個人的にはやはり静止画の解像度としてはVitaの有機ELと同じ960x544、4:3ならせめて800×600ぐらいは欲しかった気はします。まぁ、処理性能上仕方なかったんだろうな~という気はするので、残念というより無念な感があります。値段もそうだし、バッテリーへの負荷も相当上がるだろうし。

*2:画像を合成する方法なだけであり、立体画像を見るための方法ではない点は理解が必要。

*3:予断ですが、PlayStation EyeやKinnectなどは、そういう意味で先のマッチムーブとは逆となる自分と背景が動かないことを前提として動いているものを計測して、その動いている物体の前後関係や移動量などを把握するという事をしていて、それにより右回転したのか左回転したのかなどを判断しています。高速度撮影による空間認識という意味であればこれもSmartARと言えるかも知れません。

*4:将来的に、GPSなどを利用した位置情報の精度が数十センチぐらいまでくればその必要もなくなるのかもですが、いまのところはそういう位置情報はあてにならないので、そういう用途としてARマーカーを使うというのは非常に大事なことになってきます。