風景の全てを光のデータとして表現する方法


前回までの記事で、裸眼3Dが目指している先にあるもの、として、視点数無限大の3Dディスプレイ、というものを考えてきた。
それは、空間中を伝播する光のデータを丸ごと記録して、それを再生する事のできる3Dディスプレイで、もし実現できれば自然の風景を見ているのとまったく同じ体験を、ディスプレイを通してできるようになる。光線の全てが再現されているので、両眼の視差はもちろん、目の網膜上でも視差が再現され、見る人がディスプレイ上だけでなく、その手前や奥にも自由に目の焦点をあわせることができ、そこにきちんと像が見える。これぞ究極の3Dディスプレイ。

ここでは、これまでさらっと述べてきた、「空間中を伝播する光のデータ」というのがどういうものかをちょっと説明してみる。

風景とは何か?

さて、やりたいのは自然の風景を見るのとまったく同じことをディスプレイ上で再現してやるために、まずその風景のデータを記録する事。どうやったら実現できるか考えるために、そもそも風景って何だ?というところから考えてみる。
たとえば、窓越しに山の風景をみているとき。このとき、山に当たった光が反射して、窓を通って自分の目に飛び込んできている。窓を通って入ってきた光を目で受け止めることで、その光の色が認識できて、それが山の風景として認識される。ようするに、窓から入ってきた光こそが山の風景なんだ、と考える事ができる。
で、山の風景は今自分が立ってる位置だけから見えるわけじゃなくて、ちょっと立ち位置を変えても窓越しに見る事ができる。そこからの山の見え方はもとの場所とはちょっと違った見え方になる(視差があるということ)。また、自分が見る方向を変えた場合も、また違った見え方の風景が見える。
こんな感じで、位置を変えたり向きを変えたりするとそれにあわせて風景も変わるわけで、これら全部ひっくるめて山の風景だ、といえる。その風景全てが光として窓を通ってきている。だからこれを全部記録しようと思ったら、窓を通ってきた光を全て、ひとつ残らず記録してやればいいわけだ。

風景全てをデータにするには?

じゃあ、窓越しの山の風景の全てをデータとして記録するにはどうすればいいか?
ふつう風景をデータとして記録する場合はカメラを使って画像データを取得する。ただし、この場合記録されるのは窓を通って入ってきた光のうち、カメラを置いた位置から見えるぶんの光だけ。カメラの位置を変えたら見える風景が少し変わるので、それも全て取得してやりたい。そこで、カメラの位置を変えながら、位置ごとに画像データを記録していく。そうすると、窓を通ってきた光のうち、全ての位置でのデータを記録できる。さらに、カメラがどっちを向いていたか?も考える。カメラを向けた方向によって違う風景が見えるわけだから、それも含めてやらないといけない。
こうやって、カメラの位置と方向を少しずつ変えながら画像データをどんどん記録していくと、最終的に窓越しの風景の全てをデータとして記録する事ができる。

データをどうやって記述する?

これで一応、風景すべてのデータが取得できそうな感じになったけども、このままだとただの大量の画像データなので、これを整理する事を考える。
風景全てのデータはようするに、位置と方向をパラメータとして持っている画像データだ。位置がx,y,zの3次元で、方向がθ、φの2次元なので、計5次元のデータとして表せる。
ここで、光の色はその光が進む方向においては一定だということにすると、位置の3次元のうちz座標をどこかに固定して省くことができて、結局x、y、θ、φの4次元データになる。で、z座標を窓に固定して、窓の平面上にx,y座標をとるようにする。
さらに、取得した画像のそれぞれの画素は、それぞれ違った方向から飛んできた光を受け取ったものなので、画素ごとにθ、φが決まってる。わざわざカメラをいろんな方向に向けなくても、正面だけ向けておけば、いろんな方向のデータが取得できている事になる。
こう整理して考えると、窓の平面上の座標(x,y)の位置にカメラを置いて画像データを取得すると、座標(x,y)を通る光のうちカメラの画角できまる方向θ、φのデータが取得できる事になる。ということはつまり、窓の平面上にカメラを置いて、ちょっとずつ位置を変えながら画像を取得していけば、窓越しの風景の全てをデータとして記録できる、ということ。言い変えると、窓を通ってくる光の全てを取得できる、ということ。
これがようするに「空間中を伝播する光のデータ」となる。裸眼3Dの目指す未来 - あんだあどらいぶでちらっと書いたLight Fieldというやつは、基本的にはこの考え方にのっとって、空間中の光をデータとして記述するものだ。

そのデータどうやって使うの?

こんな感じで、風景の全てのデータを、窓を通過してくる光のデータで記録できる。取得したx、y、θ、φの4次元データをもとに視点数無限大の裸眼3Dディスプレイに表示してやると、自然の風景を見ているのとまったく同じ状態をディスプレイ上に再現できる、というわけ。

ちなみに、この4次元データの使い道は3Dディスプレイだけじゃない。例えば4次元のうちxとyを固定してデータを取り出せば、座標(x,y)の位置にカメラを置いたときのデータを普通の2次元画像として取り出せる。さらにθとφの範囲を広げたり狭めたりすれば、カメラのレンズを広角にしたりズームにしたり、という操作を再現できる。また、この4次元データを入力としてレンズの光学特性(絞りやら焦点距離やら)をシミュレートしてやれば、被写界深度がどのくらいだとか、どこに焦点をあわせただとか、そういうことまで再現して画像データとして取り出すことも可能だ。こちらでやっているのはようするにそういうことだ。
さらにさらに、3次元空間中の任意の場所にカメラを置いて撮影する事を考えるとき、そのカメラのレンズに入ってくる光と4次元データの幾何学的な関係を計算してやれば、窓の平面上以外にカメラを置いたときの画像も取り出すことができる。空間中の任意の位置から任意の方向を任意のレンズ越しに撮影した画像データを自由自在に取り出すことができる。カメラ2台分のデータを取り出せば、メガネ式3Dディスプレイ用のデータだって取り出せる。こういうのをイメージベースドレンダリングと言ったりして、現在よくある3Dモデルを作ってレイトレースでレンダリングする3DCGに代わるものと、一部では期待されている。

まとめ

「空間中を伝播する光のデータ」がどうやって表現されているかを説明してみた。それは、カメラを使って画像をたくさん取得して、4次元データとして整理したものだ。4次元データから必要なものを取り出してくれば、好きな位置、方向、レンズの画像データを自由自在に取り出せる。現在、徐々に実現されつつある、非常におもしろい技術である。




Light Field Sampling (Synthesis Lectures on Image, Video, and Multimedia Processing)
Zha Cheng Tsuhan Chen
Morgan and Claypool Publishers
売り上げランキング: 390766

裸眼3Dディスプレイの仕組み5

裸眼3Dディスプレイの本質は、空間中を伝播する光の再生である、というのが前回の話。ところで、そもそもそのデータはどうやって取得するのか?っていうのが今回の話。

空間中を伝播する光を取り込む装置

前回あげた裸眼3Dディスプレイの2つのポイントのうち、2つめのポイントについてもう少し考えてみる。
前回説明したように、裸眼3Dディスプレイは空間中を伝播する光を、光が向かう方向まで区別して再生する装置である。で、それを実行しようと思ったら、まずその光をデータとして記録しておかないといけない。これを実現するには、カメラは裸眼3Dディスプレイの逆のプロセスだ 、ということを利用すれば良い。


インテグラル方式を例にすると、画素(複数画素+レンズの1セット)が方向ごとに違う光を放っているということが、そのままカメラの逆プロセスだ。ということは、カメラで撮った画像を、そのまま画素(複数画素+レンズの1セット)から再生してやればいいわけだ。つまり、インテグラル方式の画素数のぶんだけカメラをずらーっとならべて一気に撮影してやれば、空間中の光の情報を全部記録してやることができる。

東芝のグラスレス3Dレグザを例にすると、あれは1視点あたりの画素数が1280x720なので、カメラを1280x720台並べてやれば、必要なデータを取得できる。…が、そんなにたくさんのカメラを実際に用意するのは大変。なので、カメラの数を間引いてやる、という方法が考えられる。足りないカメラの分は、取得した画像から計算によって補完することである程度埋めることができる。
グラスレス3Dレグザでは、2D映像やメガネ式3D用の3D映像から演算によって9視点ぶんの画像を生成している。2D映像はカメラ1台ぶんのデータ。メガネ式3D用の3D映像は、カメラ2台ぶんのデータとみなせる。これらから奥行き推定などの計算を行って、空間中を伝播するの光のデータを補完し、最終的に9視点ぶんのデータを生成している。

データ取得のもうひとつの方法

しかし、補完できるといってもそこはやっぱり完璧に正しく補完できるわけではないので、誤差や補完エラーなんかも起こる可能性があって、立体映像としての画質を損なう恐れがある。カメラを増やせば精度も上がるが、カメラをたくさん使うのは大変である。
そこで、もうひとつの方法として、カメラの撮像素子の画素の前に小さなレンズをたくさん並べたものを置いて、その状態で画像を撮影する、という方法がある。インテグラル方式のディスプレイの仕組みをそのまま逆にしたようなイメージだ。撮像素子上の複数の画素をひとまとめにして、その前に小さなレンズを置く。まとめる画素の数は視点数に相当し、レンズの数は解像度に相当する。例えば、グラスレス3Dレグザ用のデータを取得したいなら、水平9画素をひとまとめにしてその前にレンズを置き、それをを1280x720セット作ってやれば、必要なデータが取得するカメラができる*1
この方法だと、普通の2D用のカメラに、小さなレンズの集まり(レンズアレイ)を追加するだけで実現できるし、取得したデータも普通の画像データとして扱うことができるので簡単だ*2

このようなカメラはPlenoptic cameraと呼ばれている。


ちなみに、Plenoptic cameraを使った応用例としては、こういうものもある。
動画:Adobe、撮影後に再フォーカスできる複眼レンズ撮影をデモ - Engadget 日本版
これは、空間中を伝播する光(光線)の情報を全てデータとして記録したものから、特定の位置・方向の光線データだけを切り出してくる、という処理を行っているものと考えられる。空間中に、ある距離に焦点をあわせた状態のカメラを想定して、そのカメラが受け取る光線データを、空間全体の光線データの中から切り出して画像化する、という処理。想定するカメラの焦点距離とか、フォーカス位置とかのパラメータを変えて、それに応じた光線データを切り出してくるようにすれば、任意の位置にフォーカスを合わせた画像や、任意のズームを行った画像などが、撮影を終えた後から自由に再現できるわけだ。

まとめ

裸眼3Dディスプレイ用の映像を取得する方法について説明してみた。空間を伝播する光をデータとして取得するには、カメラをたくさん並べるか、Plenoptic cameraを使えば良い。足りない分は取得できた分から計算して補完することもできる。逆に言うと、裸眼3Dディスプレイの能力を引き出すには、こういう方法で取得した空間中の光線データが必要になる、ということだろう。
3D映像を取り扱うシステムとしては、空間中を伝播する光を取得する装置としてのPlenoptic cameraと、そのデータを再生する装置としての裸眼3Dディスプレイとがそろって初めて完成といえる。現時点で商品化されている製品は、これらの簡易版システムだといえるだろう。
これまで、「空間中を伝播する光のデータ」とさらっと言ってきたが、これって具体的にどういうものなのか?を次回説明してみる。




*1:よく考えると、画素が水平9画素の非常に小さなカメラが1280x720台並んでるのと同じだ。

*2:解像度は相当高くしてやらないといけないけど

裸眼3Dディスプレイの仕組み4

前回、裸眼3Dディスプレイの本質について簡単に説明してみた。
まとめるとポイントは2つ。ひとつは、裸眼3Dディスプレイは、水平垂直どの方向へ向かう光なのかを区別した上で、空間中を伝播する光を再現する装置だ、という点。もうひとつは、裸眼3Dディスプレイが表示を行うプロセスは、カメラが空間中を伝播している光を、どの方向から飛んできた光なのかを区別して、データとして取り込むプロセスの逆になっている、という点。

空間中を伝播する光を再現する装置

ひとつめのポイントについてもう少し考えてみる。
そもそも人はどうして「見る」ことができるのか。これは空間中を飛んできた光(というか光線)を目で受け止めて、それを画像として認識しているから。つまり、空間中を飛んで伝播している光には、見えている風景の画像としての情報が全て乗っている、ということ。
ということは、この空間中を伝播してきた光の情報を全て記録して、それを別の場所で再生してやると、もとの風景とまったく同じものが再現できることになる。この壮大な仕組みの「再生」部分を担当するのが、裸眼3Dディスプレイだ。

ここでインテグラル方式を例にすると、「画素(複数画素+レンズの1セット)がいくつあるか」が再生する画像の解像度に相当し、「視点数がいくつあるか」が再生できる光の方向の数に相当する。よりリアルな、現実に近い光を再現するには、視点数をより多くして、解像度もより大きくしてやればいい。この結果実現されるのが、以前記事にした、網膜上の視差まで再現する裸眼3Dディスプレイだ。

ところが、実際ディスプレイを作ろうと思ったら、デバイスの性能上、解像度も視点数も無限に大きくすることはできない。なので、空間中を伝播する光を適当に間引いて再生することになる。画素を減らすと解像度が間引かれ、視点数を減らすと方向が間引かれる。間引かれたぶんだけ、再生される光のクオリティは低くなっていき、画像がボケたりぶれたり、立体に見える位置が減ったりする。解像度を1280x720、視点数を水平9視点に間引いているのが、この間の東芝の裸眼3Dテレビだ。
さらに視点数をもっと間引いて1つだけにしてしまったものが通常の2Dディスプレイ、と言える。視点数がひとつなので、どの方向から見ても同じ光が再生されている=同じ画像が見える。このことから、裸眼3Dディスプレイで2D表示を行いたくなったら、全ての方向に同じ画像を表示してやれば良いことが分かる。

まとめ

裸眼3Dディスプレイの本質が、空間中を伝播する光の再生であることを説明した。裸眼3Dディスプレイがやろうとしていることが何なのかと、実現されているディスプレイとの関係を説明できたと思う。
次回は2つめのポイントについて説明してみる。

裸眼3Dディスプレイの仕組み3

裸眼3Dディスプレイは見る方向によって違う映像が見えるようになっていること、見る位置を固定しないためには視点数を増やす必要があることを説明した。
視差バリア方式やインテグラル方式があるが、これらはどちらも2Dディスプレイに工夫を付け加えることで、裸眼3D表示を実現してる。普通の2Dのディスプレイに、見る方向によって見える画素が限定されるような仕組みを追加してある。水平方向に並んだいくつかの画素をまとめて、それにレンズや視差バリアをつけて、あたかもひとつの画素が方向ごとに違う光を発しているような状態を作っている。

裸眼3Dディスプレイの本質

これはよく考えると、カメラが画像を撮影するのと逆のプロセスになっている。カメラの場合は、空間から飛んでくる光のうち、ひとつの方向からの光だけを撮像素子の画素に当てるようになっている。ひとつの画素に当たる光は、ひとつの方向の光だけになっているので、それぞれの画素がきちんと色を描き分けることができる。もしひとつの画素にいろんな方向からの光が当たってしまったら、その画素の色はほとんど真っ白になってしまってカメラとして機能しない。
このように、カメラというものは、空間中を飛んでいる光を、どの方向から飛んできた光なのかを区別して、データとして取り込む装置と言える。一方、裸眼3Dディスプレイは、どの方向へ飛ばすべき光なのかを区別して、データとして記録された光を再び空間中に放つ装置と言える。インテグラル方式のひとつの画素(複数画素+レンズの1セット)は普通のレンズを使ったカメラの逆プロセス。視差バリア方式のひとつの画素(複数画素+ついたての1セット)はピンホールカメラの逆のプロセスだ、ということができるように思う。


こう考えると、裸眼3Dディスプレイは水平方向だけじゃなくて、垂直方向でも方向ごとに違う光を飛ばしたって構わないし、その方がより現実に近い状態の光を再現できる、と考えることができる。これまでは水平方向の画素をまとめてひとつのレンズを置いていたが、水平垂直複数の画素をひとまとめにして、その前にひとつのレンズを置くようにすれば良い。インテグラル方式は本来こういう仕組み。レンチキュラ方式というのはそれを水平方向だけに限定した簡易版だ。


こうすると何が嬉しいかと言うと、水平方向の視差だけでなく、垂直方向の視差も再現できるようになる。水平方向の視差だけの場合は、首を傾けたり横になったりすると3D映像に見れなくなるが、垂直方向の視差も再現されていればそういう制限もなくなる。


こうして、裸眼3Dディスプレイは実際の空間を光が飛んでいるのとできるだけ近くなるような状態を再現させる。ディスプレイを置いた位置に窓があって、そこから自然の風景が見えているのと近い状態を再現する。裸眼3Dディスプレイは、単に視差を再現しているだけ、ということではないのである。


まとめ

裸眼3Dディスプレイの仕組みの本質っぽいことを書いてみた。ポイントは、水平方向だけでなくて、垂直方向にも方向ごとに異なる映像が表示されるようにすることで、カメラが画像を撮影する処理の逆のプロセスを実行するところ。こう考えると、裸眼3Dディスプレイに表示するための映像データはどうやって撮影したらいいのか、ということも分かる。次回はそのへんの話をしてみようと思う。




3Dの時代
3Dの時代
posted with amazlet at 10.10.18
深野 暁雄 渡辺 昌宏
岩波書店
売り上げランキング: 22428
おすすめ度の平均: 5.0
5 やたらと英語の略語が多いが、興味引かれる

裸眼3Dディスプレイの仕組み2

前回裸眼3Dディスプレイがどうやって立体映像を実現しているか説明した。今回はその続き。

裸眼3Dの欠点

前回チラッと述べたけども、裸眼3Dは視差バリア方式にしろ、インテグラル方式にしろ、見る位置に制限が付いてしまう。ちゃんと立体に見える位置が固定されているということ。これが原因で裸眼3Dはなかなか商品化されてこなかった。また、これはメガネ式の3Dに比べた時のデメリットになっている。

どうして見る位置が固定されてしまうかというと、見る位置を変えると、目と画素の位置関係が変わってしまうから。

視差バリア方式の例で説明する。視差バリア方式は、隣り合う2つの画素の前についたてがあって、右目から見たときは右側の画素がついたてで隠れて、左目から見た時は左側の画素が隠れるようになっている。この、隣り合う2つの画素のうち片方が隠れて見えなくなる、というところが立体映像として見えるためのポイント。
もし頭の位置が横にずれてしまうと、ついたてで隠されていた画素が見えるようになってしまう。片方の画素が隠れているべきなのに両方見えてしまうので表示がだぶってしまい、もはや立体として見れなくなってしまう。また、本来隠れているべきの画素が見えて、見えるべき画素が隠れてしまったり、ということも起こる*1。そのため、見る位置を固定していないときちんと3D映像を見ることができない。

これはインテグラル方式(レンチキュラ方式)でも同じ。レンズを通して隣り合う2つの画素のうち片方しか見えないようにしてあるが、見る位置をずらすと両方見えてしまったり、見えるべきでない画素が見えてしまったりする。

で、たいていは画面の正面で、かつ決まった距離でないと、ちゃんと立体に見えない。そういう事情があって、裸眼3Dディスプレイはケータイとかの小さなディスプレイでしか商品化されていなかった。大きいディスプレイだと、必ず真正面の決まった距離から見てくれ、という制限が難しいから。

解決するには

この問題を解決する方法は2通り。
ひとつめは、見る位置がずれたときには3Dで表示することをあきらめる、という方法。富士フィルムがこの方法で3Dデジカメのディスプレイを裸眼3D対応させている。
http://eetimes.jp/article/22542
詳細は不明だけれども想像するに、斜めから見たときには、右目からも左目からも片方の画素しか見えなくなるように調整されたレンズを画素の前に置いているんだろう、と思う。正面以外から見た時に、だぶった画像や右目用左目用が入れ替わった気持ち悪い画像が見えるよりは、3D表示はあきらめて2Dで表示しよう、という考え方。


もうひとつの方法は、見る位置がずれたなら、そこからもちゃんと3D表示ができるようにしよう、という方法。具体的には、ずれた位置から見ているときには、そこからでも右目には右目用、左目には左目用の画素だけが見えるようにする。

これを実現するのが視点数を増やす、という方法。東芝の裸眼3Dテレビはこの方式を使っている。
東芝、裸眼3DTV「グラスレス3Dレグザ」を12月発売 - AV Watch
インテグラル方式の例で説明する。これまで説明した方法では、隣り合う2つの画素の前にひとつのレンズを置いた構成をしていた。この状態は視点数が2つの状態。視点数を増やすには、隣り合う2つの画素だけではなく、もっとたくさんの画素の前にひとつのレンズを置くようにする。東芝のやつは9視点なので、9個の画素の前にひとつのレンズが置いてある。

2視点の場合は2方向からそれぞれひとつの画素だけが見えるようにレンズが調整されている。9視点の場合は9方向からそれぞれひとつの画素だけが見えるように調整されている。そのため、正面からずれた場合でも、見える画素はひとつだけ、という状態が9通り作れるので、2視点の場合に比べて3D映像としてきちんと見える位置が多くなる、という仕組み。

ただ、この方法でもきちんと見える9つの視点と視点の間に来てしまうと、やっぱり正しく3D表示できなくなってしまう。また画面からの距離が変わってしまうと、レンズの調整が合わなくなってしまうので正しく3Dに見えなくなってしまう。

こういう場合には視点数をもっとたくさん増やしてやらないといけない。が、視点数を増やすということは、ひとつのレンズが対応する画素数を増やさないといけない。そのためにはディスプレイの画素数を増やすか、レンズを大きくしてたくさんの画素をカバーしないといけない。前者は画素をかなり高密度に作らないといけないし、後者は映像の解像度が犠牲になってしまう*2。理論上はできても、実現させるとなるとハードルは結構高いのだ。


なお、この視点数を増やすという方法を、3Dディスプレイを自作してやってのけてしまったすごい人がいるので、紹介しておきます。解説つきなのでおすすめです。


まとめ

裸眼3Dが見る位置の変化に弱いという事と、それを解決する方法について説明してみた。ただこの方法で解決できると言っても、実現するためのハードルはかなり高い。この、見る位置の変化による3D表示の乱れに関しては、裸眼3Dよりもメガネ式3Dの方が優れている、と言える。メガネなしで見れるんだから裸眼3Dの方が良いに決まってる、と単純にはいえない状況なのである。

参考

裸眼3Dディスプレイの仕組み - あんだあどらいぶ
裸眼3Dの目指す未来 - あんだあどらいぶ




インサイド・ドキュメント「3D世界規格を作れ!」
本田 雅一
小学館
売り上げランキング: 2573
おすすめ度の平均: 4.0
4 名もない多数の日本のエンジニア達を愛するリアルな物語

*1:この状態が「逆視」と言われている。

*2:ディスプレイの解像度ではなく、映像の解像度という意味では、ひとつのレンズがひとつの画素ということになる。レンズが大きくなるということはひとつの画素が大きくなるので、映像の解像度は劣化する

裸眼3Dディスプレイの仕組み

前回、裸眼3Dが目指すのは実風景と区別が付かないほどの立体感だ、という事を書いてみた。網膜上での視差まで再現できればそれが可能になる。が、そこへ到達するには視点数を相当に多くしないといけないので、簡単には実現できない。
なので、まず最初のステップとして目指すのは、両目の視差*1だけをきちんと再現できる裸眼3Dディスプレイ、ということになる。

で、裸眼3Dディスプレイで両目の視差を再現するには、右目の位置から見た映像と、左目の位置から見た映像とを違うものにすることができればOK。画面を右側から見た時と左側から見た時とで別々の映像を表示できればいい、ということ。右側左側それぞれで視差の付いた映像を表示してやれば、両眼の視差を再現できたことになる。
これを実現する3Dディスプレイとして、視差バリア方式とインテグラル方式とがある。これらはどちらも普通の2Dのディスプレイに、見る方向によって見える画素が変わるような仕掛けを施したものだ。

視差バリア方式(パララックスバリア方式)

視差バリア方式というのは「視差バリア(フィルター)を液晶の上に貼りつけて光の遮断と透過をコントロールする」などとよく説明される。が、これだと分かり難いので思いっきり簡単に言うと、ディスプレイの画素の前に細かいついたてが置いてあるようなイメージ。隣り合う2つの画素の前についたてが、画素から少しだけ手前に離して置いてある。で、このついたてが隣り合う画素のうちの片方を隠している。右目から見た時は隣り合う画素のうち左側の画素が隠れて見えなくなる。逆に左目から見た時は右側の画素が隠れて見えなくなる。これで、左右の目で見える画素が別々になるので、隣り合う画素ごと交互に右目用、左目用の映像を表示してやれば、3D表示の出来上がり、である。

インテグラル方式

こちらの方式は簡単に言うと、ディスプレイの画素の前に小さなレンズが置いてある。このレンズはかまぼこ型をしていて、レンチキュラレンズと言ったりする。なので、このレンズを使ったものをレンチキュラ方式と呼んだりもする。この方式は、隣り合う2つの画素を1セットとして、そこに1つのレンズが付いている。で、このレンズが隣り合う画素からの光の向きをコントロールしている。右目から見た時は左側の画素だけが見えるようにレンズが働く。逆に左目から見たときには右側の画素だけが見えるようにレンズが働く。これで、左右の目で見える画素が別々になるので、隣り合う画素ごと交互に右目用、左目用の映像を表示してやれば、3D表示の出来上がり。

視差バリア方式は画素の前のついたてが光をさえぎっているので、表示が暗くなるという欠点があるが、インテグラル方式だと光がさえぎられないので暗くならない、という違いがある。


こちらのサイトにそれぞれの方式の分かりやすい図があったので、引用させていただきます。
http://www2.aimnet.ne.jp/nakahara/3dart/sisen%5Bprx%5D.gif
引用元:視差分割方式 - 3Dの原理(5) stereocard

まとめ

裸眼3Dディスプレイの方式として、視差バリア方式とインテグラル方式について簡単に説明してみた。どちらも2Dディスプレイに一工夫加えることで、右目から見た時と左目から見た時とで見える画素が変わるようにしたものだ。こんな仕組みで、メガネ無しでも3D映像が見えるディスプレイが実現されている。
ただ、どちらの方式もきちんと立体として見るためには、ディスプレイを見る位置に条件が付いてしまう。頭の位置を変えたり、画面から離れたりしてその条件を満たさなくなると、立体として見えなくなってしまう。この辺について、次回説明してみる。




3D立体映像がやってくる−テレビ・映画の3D普及はこうなる!−
石川 憲二
オーム社
売り上げランキング: 229936
おすすめ度の平均: 3.5
4 3Dの仕組みが理解しやすい
3 もう少し掘り下げた内容がよかった

*1:右目から見た風景と、左目から見た風景は、目の位置が違うので微妙に違う。この違いが視差。

裸眼3Dの目指す未来

CEATEC東芝のグラスレス3Dレグザが公開された。
東芝、裸眼3DTV「グラスレス3Dレグザ」を12月発売 - AV Watch
裸眼で、メガネ無しで3D映像が楽しめるテレビ、ということでかなり人気になっていたらしい。
メガネなし、という点が注目されていたと思うが、これ実はもっと大きな意味のある技術だと思う。そのへんについていろいろ書いてみる。

インテグラル方式3D

グラスレス3Dレグザはインテグラル方式の3Dを採用している。東芝ではインテグラルイメージング方式と言っている。
簡単に説明すると、この方式の3Dディスプレイは、いくつかの画素をひとまとめにして、その上に小さなレンズを貼り付けたような構成をしている。画像の1画素はひとつのレンズに相当している。このレンズで、画素からの光をそれぞれ別の方向だけに向けて飛ばしている。ようするに、見る角度によって見える画素が違う、ということ。これを使えば、見る角度によって違う映像を見せることができるようになる。見る人の左右の目に、視差の付いた別の映像を見せることができ、3D映像を表示できる、という仕組み。

今までのメガネ式3Dは基本的に、右目用と左目用の映像が混ざっているものを、メガネを使って分離してやることで3D表示を実現している。インテグラル方式の場合は、最初から分離されているので、メガネがなくても3D表示が実現できる、というイメージ。

と言うと、メガネがいるかいらないかの違いしかないように感じるが、実はそうじゃない。
メガネ式は、左右の目に異なる映像を見せることで、人に立体感を認識させるようになっている。なので、必要な映像は2種類だけ。逆に言うと、メガネ式では原理的に2種類の映像ぶんの情報しか表示できない。
一方、インテグラル方式3Dには視点数という概念がある。これは、ひとつの画素(レンズでまとめられたいくつかの画素のこと)から何方向の光を発しているか?を表している。グラスレス3Dレグザの場合は9視点なので、ひとつの画素が9方向にそれぞれ別の映像を表示していることになる。よって、9種類の映像ぶんの情報を表示している。これがメガネ式とインテグラル式の決定的な違いで、これによって3D映像が進歩していく先も全然違うものになる。

インテグラル方式の行き着く先は

今のところ視点数が9しかないけども、もしこれが無限大に増えたらどうなるか、と考えてみる。すると、画面上の1画素から、あらゆる方向に向かって別々の光を発することができるようになる。これはつまり、ある画素を通ってあらゆる方向へ向いた光線をディスプレイ上に再現できる、ということ。*1
これができるとどうなるか、というと、ディスプレイの画面が実物の風景とほぼ同じになる*2。ちょうど画面が窓になって、向こう側の景色が見えているのと同じ状態が再現できる。実風景と同じということは、もちろん両目の視差も再現されているし、それだけでなく、目の網膜上での視差まで再現できるようになる。網膜上で視差があるということは、目の焦点を調節すると、それにあわせて見える像も変わる、ということ。
ここまでできると、実際の風景を見ているのか、ディスプレイに表示されてる画像を見ているのか区別できないくらいの立体感、奥行き感が得られる。目の焦点調節まで再現できるのだから、見る人が見たいところを、奥行きまで含めて自由に見ることができる。ディスプレイの位置より遠くに目の焦点をあわせれば、その距離にフォーカスのあった映像が見られる、という感じ。
メガネ式の3Dでは両目の視差しか再現できない。言い換えると、視点数が2つしかない。なので、目の焦点調節の再現までは原理的に実現できない。そのため、両眼視差はあるのに目の焦点は常にディスプレイ上にある、という状態になっている。これが3D映像に対して違和感を感じる原因になっていたりする。

ちなみに、この「ある画素を通ってあらゆる方向へ向いた光線をディスプレイ上に再現する」という考え方は Light Field という3次元空間情報を記述する技術のひとつの応用例だったりする。Light Field についてはマイクロソフトとかが研究してる。こちらのリンク先で簡単に解説されているので参考までに。


このように、インテグラル方式は視点数を無限に多くすることで、実風景と変わらないクオリティの3D映像を実現することができる。メガネ式は視点数2に固定されるため、これを実現することができない。そういう意味で、インテグラル方式はメガネ式とはまったく異なるものである。

インテグラル方式の現実

インテグラル方式の3Dが何を目指しているかを説明したが、これは理想的な状態での話。
実際には、視点数を無限に多くすることは不可能なので、ある程度の数で打ち切る必要がある。東芝の裸眼3Dの場合はこれが9つということだが、実際9視点では網膜上の視差を再現するためには少なすぎるため、上で述べたような目の焦点調節まで再現することはできない。これを再現しようと思ったら、視点数は数百とかのオーダーでいるんじゃないか、と思う*3。視点数を数百にしようと思ったら、ディスプレイの画素数を今の数百倍に増やさないといけないわけで、これはなかなか大変なことだろう。
また、視点数が数百あるということは、表示する画像も数百枚必要になる、ということ。これをそれなりのフレームレートで処理できるプロセッサが必要なわけで、そんな高性能なシステムを作るのもまた大変なことだろう。
この辺がクリアできないと、上で述べたようなクオリティの3Dは実現できない。インテグラル方式は理論的にはすばらしいけども、いつまで経っても実現できない理想の技術、になってしまう可能性もある。

まとめ

インテグラル方式を例にとって、裸眼3Dが目指す方向性について述べてみた。一見メガネがなくても3D映像が見れる、というだけの技術に見えてしまうが、それだけではないもっと先を目指した技術だと言える。理想が実現できれば究極の3Dディスプレイになりうる技術だけども、はたしてそれが実現できるようになるのか、という点でたいへん注目の技術である、という感じ。

*1:インテグラル方式は光線再生方式とも言われたりする。

*2:ほんとは解像度も無限大にしないといけないけど、それは置いといて。

*3:調べてないけど、どのくらいの視点数が必要か計算した論文とか探せばあるかも。