(57)【特許請求の範囲】
【請求項１】
任意の物体の左目用画像と右目用画像とを表示して前記物体の立体視を得る立体画像処理装置において、
入力画像の奥行き方向について、観察者の視点位置に最も近い、前記物体上の物体点を検出する検出手段と、
前記物体点が二次元描画空間に描画された際に現れる左右間のズレ距離を設定するズレ距離設定手段と、
前記左目用画像と右目用画像のいずれか一方における前記物体点の画像位置と、前記ズレ距離とに基づいて、基線長の値を決定する決定手段と、
決定された基線長の値を立体視パラメータとして用いて、前記左目用画像と右目用画像を生成する生成手段とを具備することを特徴とする立体画像処理装置。
【請求項２】
前記決定手段は、
前記物体点の前記二次元描画空間上の座標から、観察者の基線長方向に、前記ズレ距離だけ離間したズレ点の位置を演算するズレ演算手段と、
前記ズレ点の三次元空間における座標を演算する座標変換手段と、
前記ズレ点の三次元座標と前記物体点との距離に基づいて前記基線長の値を決定する基線長決定手段を具備することを特徴とする請求項１に記載の立体画像処理装置。
【請求項３】
所定の条件を満足すべき前記所定の物体点が前記二次元描画空間において高速に探索されるように、前記描画空間における複数の探索位置が前もって離散的分布を有するように設定されていることを特徴とする請求項２に記載の立体画像処理装置。
【請求項４】
手動で立体視パラメータの値を設定するユーザインタフェース手段を更に具備することを特徴とする請求項１乃至３のいずれかに記載の立体画像処理装置。
【請求項５】
前記ユーザインタフェース手段と前記決定手段との競合の調停をとる手段を更に具備することを特徴とする請求項４に記載の立体画像処理装置。
【請求項６】
前記決定手段は、さらに、
入力画像の仮想空間の奥行き方向の広がりを求め、
観察者の左右の視点位置から見える、この仮想空間の奥行き方向の広がりの中間位置の方向に基づいて輻輳角の値を決定し、
前記生成手段は前記決定手段で決定された輻輳角の値を前記立体視パラメータの一つとして用いることを特徴とする請求項１乃至５のいずれかに記載の立体画像処理装置。
【請求項７】
前記ズレ距離設定手段は、
立体画像が表示される表示装置の画素サイズと、この表示装置の表示画面から観察者までの距離とに基づいて前もって前記ズレ距離を決定することを特徴とする請求項１に記載の立体画像処理装置。
【請求項８】
前記物体点は、
前記左目用画像と右目用画像のいずれか一方の画像データに、観察者の視点からの前記二次元描画空間への透視変換を施し、透視変換された画像データのなかから最も小さな奥行き値を有する画素に決定されることを特徴とする請求項１に記載の立体画像処理装置。
【請求項９】
請求項１乃至８のいずれかに記載の立体画像処理装置を具備する立体画像表示装置。
【請求項１０】
任意の物体の左目用画像と右目用画像とを表示して前記物体の立体視を得る立体画像処理方法において、
入力画像の奥行き方向について、観察者の視点位置に最も近い、前記物体上の物体点を検出する検出工程と、
前記物体点が二次元描画空間に描画された際に現れる左右間のズレ距離を設定するズレ距離設定工程と、
前記左目用画像と右目用画像のいずれか一方における前記物体点の画像位置と、前記ズレ距離とに基づいて、基線長の値を決定する決定工程と、
決定された基線長の値を立体視パラメータとして用いて、前記左目用画像と右目用画像を生成する生成工程とを具備することを特徴とする立体画像処理方法。
【請求項１１】
前記決定工程は、
前記物体点の前記二次元描画空間上の座標から、観察者の基線長方向に、前記ズレ距離だけ離間したズレ点の位置を演算するズレ演算工程と、
前記ズレ点の三次元空間における座標を演算する座標変換工程と、
前記ズレ点の三次元座標と前記物体点との距離に基づいて前記基線長の値を決定する基線長決定工程を具備することを特徴とする請求項１０に記載の立体画像処理方法。
【請求項１２】
任意の物体の左目用画像と右目用画像とを表示して前記物体の立体視を得るためにコンピュータ上で実行される立体画像処理プログラムを記憶するコンピュータプログラム記憶媒体であって、請求項１０または１１に記載の立体画像処理方法を実現するためのプログラムコードを記憶するコンピュータプログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）等の三次元の仮想空間を扱う言語により記述された空間データを立体視可能な画像データに変換する立体画像処理装置、立体視パラメータ設定装置、立体画像表示装置、更にはそれらの方法に関する。
【０００２】
【従来の技術】
近年の計算機の能力向上と共に、３次元コンビュータグラフィクス（ＣＧ）が急速に一般化しつつある。それと相まって、インターネット上のＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）の急速な普及と共に、３次元空間をＷＷＷ上で取り扱う言語としてＶＲＭＬ（Ｖｉｒｔｕａｌ  Ｒｅａｌｉｔｙ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）が標準化され、広く使われてきている。
【０００３】
現時点で公表されている最新版のＶＲＭＬ２．０は、エレクトリック・コマース用の仮想モール構築、また、イントラネットでのＣＡＤ等の３次元データの管理等で用いられている。
【０００４】
一方、本発明の出願人は、観察者が直接奥行きを知覚できる立体表示装置として、リアクロスレンチｒｅａｒ−ｃｒｏｓｓ  ｌｅｎｔｉｃｕｌａｒ  ｔｙｐｅ方式の３Ｄディスプレイ（以下、３Ｄディスプレイを二次元表示装置と区別するために「立体表示装置」と略す）を開発しているが、出願人のこの表示装置以外にも多くの立体表示装置が提案されている。
【０００５】
このＶＲＭＬ２．０で記述された３次元空間を表示するためには、ＶＲＭＬビューワ装置が必要となる。一般に普及しているＶＲＭＬビューワ装置は、記述している空間は３次元であるものの、最終的な表示は通常のモニタを用いた２次元表示（以下、「立体表示装置」との対比上「二次元表示装置」と略す）に留まっている。
【０００６】
この理由は、従来のＶＲＭＬビューワ装置が、立体視用画像を効率よく生成することができず、そのために、リアルタイムの立体画像の再現に向かないこと、立体視を実現するための一部パラメータ（以下、「立体視パラメータ」と略す）がＶＲＭＬ２．０でサポートされていないために、事実上、立体視を実現することができなかったからである。
【０００７】
立体視パラメータとは、基線長、輻輳角、視野角などに関連するパラメータをいう。３次元幾何モデル・仮想空間・仮想物体等といった対象を、立体表示する場合において、その対象の大きさの単位又は値が明瞭である場合は、その大きさを認識でき、且つ立体視が可能なように表示することは可能である。しかしながら、例えば基線長の設定を誤ると立体視は不可能となる。従って、立体視パラメータの初期値を正しく設定することは大きな要請である。
【０００８】
この点で、本出願人は、特願平１０−１８５１３５号（平成１０年６月３０日）において、基線長の初期値を、画像空間の大きさから求め、例えば６５ｍｍとし、又、輻輳角を０度（即ち、平行視）とすることを提案した。
【０００９】
立体視パラメータは初期的に設定する時点でのみ問題となるのではない。
【００１０】
例えば、仮想空間で体験者にウォークスルーシステムを提供している最中において、対象を観察する視点条件（視点位置・視軸方向）は動的に変化するものである。そのために、基線長や輻輳角の初期値を適正に設定しても、ウォークスルーに伴う視点条件の変化により、基線長や輻輳角を動的に変化させる必要がある。
【００１１】
この要請に対して、本出願人は、上記特願平１０−１８５１３５号において、グラフィック・ユーザインタフェースを立体ディスプレイの表示画面上に設け、このユーザインタフェースを介して、体験者が上記立体視パラメータを動的に変更する途を提案した。
【００１２】
【発明が解決しようとする課題】
上記特願平１０−１８５１３５号は、立体視パラメータの初期値、更にはリアルタイム値を提案するものではある。
【００１３】
しかしながら、この従来技術において、基線長を例えば６５ｍｍに設定することは、取り敢えず立体視を可能とするために、その画像空間の実際の大きさを無視して、画像空間を人間の大きさに無理に合わせようとするものであることから、観察者若しくはユーザに違和感を与えることは禁じ得ない。
【００１４】
又、輻輳角の初期値を０度とすることは、立体視を可能とはするが、これも本来的に望ましい立体視とは限らない。
【００１５】
なお、立体視パラメータの初期値及びリアルタイム値を設定する課題はＶＲＭＬデータを扱うシステムに限定されない。およそ立体視パラメータが設定されていない三次元空間データ若しくは立体画像データ、あるいは立体視パラメータを動的に変更する必要のある仮想空間での三次元空間データであれば、あらゆる空間データにおいて発生する課題である。
【００１６】
【課題を解決するための手段】
本発明は上述の従来技術及び本出願人の提案技術に鑑みてなされたもので、その目的は、立体視パラメータの最適な初期値を自動的に設定する画像処理装置及びパラメータ設定装置を提案する。
【００１７】
本発明の他の目的は、立体視パラメータの最適リアルタイム値を自動的に更新する画像処理装置及びパラメータ設定装置を提案する。
【００１８】
本発明のさらに他の目的は、ユーザ若しくは観察者の要求に応じて立体視パラメータの最適値を設定する画像処理装置及びパラメータ設定装置を提案する。
【００１９】
上記課題を達成するための、本発明の請求項１にかかる、任意の物体の左目用画像と右目用画像とを表示して前記物体の立体視を得る立体画像処理装置は、入力画像の奥行き方向について、観察者の視点位置に最も近い、前記物体上の物体点を検出する検出手段と、前記物体点が二次元描画空間に描画された際に現れる左右間のズレ距離を設定するズレ距離設定手段と、前記左目用画像と右目用画像のいずれか一方における前記物体点の画像位置と、前記ズレ距離とに基づいて、基線長の値を決定する決定手段と、決定された基線長の値を立体視パラメータとして用いて、前記左目用画像と右目用画像を生成する生成手段とを具備することを特徴とする。
【００２０】
立体視パラメータとして例えば基線長を、上記ズレ距離の三次元空間での距離に設定すれば、立体視は確保される。即ち、立体視パラメータがユーザ若しくは観察者の手を煩わすことなく設定される。
【００２１】
本発明の好適な一態様である請求項２に拠れば、前記決定手段は、
前記物体点の前記二次元描画空間上の座標から、観察者の基線長方向に、前記ズレ距離だけ離間したズレ点の位置を演算するズレ演算手段と、
前記ズレ点の三次元空間における座標を演算する座標変換手段と、
前記ズレ点の三次元座標と前記物体点との距離に基づいて前記基線長の値を決定する基線長決定手段を具備することを特徴とする。
【００２５】
前記物体点（例えば仮想物体上の観察者に最も近い点）は二次元描画空間中において特定されねばならない。そこで、本発明の好適な一態様である請求項３に拠れば、前記物体点は所定の条件を満足すべきものとされ、満足する物体点が前記二次元描画空間において高速に探索されるように、前記描画空間における複数の探索位置が前もって離散的分布を有するように設定されている。
【００３１】
本発明の目的は、立体視パラメータの値の最適値を自動的に設定するものであるが、その値を、別途、ユーザ自身が設定するようにしてもよい。そこで、本発明の好適な一態様である請求項４に拠れば、手動で立体視パラメータの値を設定するユーザインタフェース手段を更に具備する。
【００３２】
請求項４の装置においては、立体視パラメータの値が、自動設定される場合とユーザが設定しようとする場合とで競合する。そこで、本発明の好適な一態様である請求項５に拠れば、前記ユーザインタフェース手段と前記決定手段との競合の調停をとる手段を更に具備する。後述の実施形態では、いずれのモードをとるかを指定するアイコンが表示画面上に表示される。
【００３３】
立体視パラメータとして輻輳角を設定する場合には、請求項６の決定手段は、入力画像の仮想空間の奥行き方向の広がりを求め、観察者の左右の視点位置から見える、この仮想空間の奥行き方向の広がりの中間位置の方向に基づいて輻輳角の値を決定する。
【００３５】
本発明の好適な一態様である請求項７に拠れば、前記ズレ距離設定手段は、
立体画像が表示される表示装置の画素サイズと、この表示装置の表示画面から観察者までの距離とに基づいて前もって前記ズレ距離を決定する。これらの要素によって決定されたズレ距離の最大値に一致するようなパラメータ、例えば基線長、は立体視を保証する。
【００３７】
左右の視点位置での視軸が平行する場合には、仮想空間の物体の最近点が最も視差距離が大きい値を示す。そこで、本発明の好適な一態様である請求項８に拠れば、前記物体点は、前記左目用画像と右目用画像のいずれか一方の画像データに、観察者の視点からの前記二次元描画空間への透視変換を施し、透視変換された画像データのなかから最も小さな奥行き値を有する画素に決定される。
【００４５】
本発明の目的は、請求項１乃至９のいずれかに記載の立体画像処理装置を具備する立体画像表示装置によっても達成できる。
【００４６】
【発明の実施の形態】
以下、本発明を、本出願人が開発したリアクロスレンチ方式の３Ｄディスプレイを立体表示装置として用い、ウォークスルー体験をユーザに提供するウォークスルー体験システムに適用した実施形態を説明する。尚、本発明は、リアクロスレンチ方式の３Ｄディスプレイのみに適用可能なものではないこと、ウォークスルー体験システムにのみに適用可能なものではないことは、後述の説明から明らかになるであろう。
【００４７】
〈ウォークスルー・システム〉
第１図は、このウォークスルーシステムに適用される立体画像表示装置の構成を示す。この表示装置１０００は、通常のワークステーションのように、ディスプレイ１０と、ディスプレイ１０に表示するデータを一時的に格納するフレームバッファ１１と、描画用画像データ（の他にマスク情報や距離情報も）を記憶するフレームバッファ１１と、ＣＰＵ１２と、キーボード１３と、マウス１４と、プログラムなどを格納する記憶装置１５と、三次元空間データベースを記憶する大容量記憶装置１６と、さらにディスプレイ１０からユーザ（観察者）までの距離ＬＧＨを測定する測距センサ１７と、観察者の視点の視点位置・姿勢ＯＢを検出する視点位置センサ１８とを有する。尚、観察者の位置及び視点が予め決められた範囲内でのみ許されるのであれば、測距センサや視点位置センサは不要となろう。
【００４８】
ディスプレイ１０は、立体視が可能となるように、本出願人により提案されているリアクロスレンチ方式の眼鏡無し（即ち、裸眼）３Ｄディスプレイを用いている。
【００４９】
リアクロスレンチ方式の裸眼立体ディスプレイ１０は、第２図に示すようにＴＦＴの波晶（ＬＣ）パネル２０とバックライト・パネル２４との間に２枚のレンチキュラーレンズ（Ｈレンチキュラーレンズ２１、Ｖレンチキュラーレンズ２２）と市松状マスクパネル２３を配置した構成を特徴としている。Ｖレンチキュラーレンズ２２は、バックライト２４からの照明光の指向性を走査線毎に変えて左眼方向と右眼方向とに分離する役割をもつ。Ｈレンチキュラーレンズ２１は、市松状マスク２３の１つの水平ラインの開口からの光を、ＬＣパネル２０の一走査線上に集光させ、クロストークの発生を防ぐと同時に、開口部からの光を観察者の方へ発散する光束とすることで垂直方向の立体視域を拡大している。
【００５０】
第３図は、第２図のＬＣパネル２０の一部領域Ａを拡大表示したものである。このディスプレイ１０では、第３図に示すように、立体視用の左右ステレオ画像対を横ストライプ状に交互に並べて合成した画像をＬＣパネル２０に表示する。そのため、縦ストライプ画像を入力とする通常のレンチキュラ方式と比較して、波晶の縦ストライプに対応した色分離が発生しない、波晶シャッター眼鏡などで標準に使われる時分割フィールド順次方式の水平ストライプ合成画像と互換性がある、等の特長を持つ。
【００５１】
ウォークスルーすべき仮想空間の立体画像はディスプレイ１０上に標示される。ウォークスルーを体験するユーザは、マウス１４又はキーボード１３により、進行方向及び移動距離を指定する。ＣＰＵ１２は、メモリ１５に記憶された所定のウォークスルーアプリケーション・プログラムに従って、移動先の仮想画像を生成し、その仮想画像をディスプレイ１０上に表示させることにより、仮想空間を疑似体験させる。
【００５２】
今、このウォークスルー空間において、第４図のように、４つの狭領域１，２，３，４が設定されている場合を想定する。異なる狭領域に跨ってウォークスルーする場合には、マウスにより移動経路５又は６などを指定すればよい。このウォークスルー空間の狭領域の夫々について、三次元空間データベースがメモリ１６に記憶されている。従って、本システム、即ちアプリケーション・プログラムは、メモリ１６に記憶されている各狭領域の三次元空間データにおいて立体視パラメータが設定されていない場合には、後述するように、立体視パラメータの初期値を設定する。又、例えば、別の狭領域（空間）に移動するような場合には、視点条件（視点位置、視軸方向）が大きく変わることとなり、このために、立体視パラメータをその時点で移動先の狭空間での視点条件（視点位置、視軸方向）に合致するように変更する必要がある。
【００５３】
このように、本実施形態のシステムは、立体視パラメータの初期最適値のみならず動的な最適値を、ダイナミック（ユーザの手を介さずに、或いは必要に応じてユーザの指示により）に設定することができる。
【００５４】
〈基線長最適値の決定原理〉
第５図は、メモリ１６に記憶された空間データが合成されて表示される様子を示す。同図において、立体視のための空間データは、右目用画像３１と左目用画像３２とが前もってメモリ１６に記憶され、適切な基線長と輻輳角が設定されたならば第５図の３３に示すように、ディスプレイ１０上では、２つの画像３１，３２が見かけ上のズレを持って、例えば第６図のように表示される。このズレ量が適切に設定されれば、体験者には、画像３１，３２は融像した立体画像として感知される。
【００５５】
本システムにおける基線長の最適値の決定は、ステレオ画像３１，３２が第６図のように表示された場合において、画面上に現れる画像３１と画像３２の視差の最大値（以下、「最大視差量」と呼ぶ）を問題にする。ここで、視差とは、本来は１つの点（仮想物体或いは現実物体の上の点）についての、二次元空間で描画表示された画像３１と画像３２上における夫々の点の距離であって、そのような距離の中（仮想物体或いは現実物体の上の点は多数ある）で最大値を指すものとする。
【００５６】
表示された物体画像３１，３２が体験者によって立体的に知覚できるか否かは、ディスプレイ１０の大きさ、特性（例えば画素ピッチ）、視点から画面までの距離などの条件の他に、上述の視差量が、密接に関係することはよく知られている。本実施形態のシステムは、この最大視差量を、
・ディスプレイ毎に調整する、
・一定量以下に調整する、
・自動的に調整する
ものである。
本実施形態の基線長決定の原理を第７図乃至第１０図を用いて説明する。
【００５７】
尚、説明を簡略化するために、物体として四角錐３０を想定する。メモリ１６に記憶されたこの物体３０の三次元空間データは、この四角錐３０を第７図に示すような配置の左右の仮想カメラで撮影すると、第６図のようなステレオ画像が得られるデータである。この仮想カメラによる撮像の様子を上方から見たとすると、物体３０と左右夫々の仮想カメラの視点との関係は第８図のようになる。尚、第８図において、仮想撮像面とは、その仮想カメラの撮像面であり、その解像度はディスプレイ１０の解像度に一致させており、仮想カメラの１画素分の画像データは、ディスプレイ１０の表示画面の１画素に表示される。このために、スケールを考慮しなければ、仮想撮像面上の位置は、表示ディスプレイ上の表示位置に等価である。
【００５８】
第８図において、四角錐３０の頂点４０は、右仮想カメラの撮像面上（即ち、表示面上）の点４１Ｒに、左仮想カメラの撮像面上（即ち、表示面上）の点４１Ｌに射影される。即ち、左右の仮想カメラの視点位置間の距離（即ち、基線長）が距離４２に設定されている場合に、物体３０上の点４０の三次元位置と、基線長４２と、射影点４１Ｌ，４１Ｒ間の距離４３とは、夫々、一対一に対応することになる。
【００５９】
第６図に関連して説明したように、対象（この場合は物体３０）が変化（変形や移動）していない場合には、基線長の変化量が物体の任意の点の仮想画面上での最大視差量に影響する。特に、第８図のように、２つの仮想カメラの視軸方向が平行である場合には、最大視差量は基線長の変化のみによって支配される。この場合、最大視差量の変化と基線長の変化は一次の関係にあるので、立体視を可能にする（即ち、最大視差量を一定値以下にする）ためには、立体視パラメータとしての基線長を調整すればよいことになる。
【００６０】
一方、第７図のように仮想カメラの視軸は平行である場合には、視点に最も近い物体上の点の視差量が最大となるから、このような視点に最も近い物体上の点の視差量を計算し、この視差量に基づいて基線長を計算すれば、その物体（第７図の例では四角錐３０）の全ての点についての立体視が保証されることがわかる。
【００６１】
従って、このウォークスルー立体視システムでは、
【００６２】
・物体上の点のうち、仮想カメラ視点に最も近い点（或いは、最も近いと思われる点）（以下、「最近点」と略称する）を決定する処理（「最近点決定処理」と呼ぶ）と、
・この最近点の撮像面上でのズレ量を基にした基線長の決定処理（「基線長決定処理」と呼ぶ）、
という２つの処理が組み込まれている。
【００６３】
〈基線長決定処理の原理〉
まず、最近点が既に決定されている場合において、その最近点に基づいた基線長決定処理の原理について第９図，第１０図を用いて説明する。
【００６４】
第９図において、視点６０とは、例えば第７図の右仮想カメラ（左仮想カメラでもよい）における視点をいい、仮想撮像面６１は、その仮想カメラの撮像面であり、その解像度はディスプレイ１０の解像度に一致させている。即ち、仮想カメラの１画素分の画像データは、ディスプレイ１０の表示画面の１画素に表示される。
【００６５】
第９図において、仮想線５３の長さは、ディスプレイ１０上において標示されるステレオ画像を立体視として保証するための最大視差量に相当する長さに設定されているとすると、この仮想線５３を仮想画面上で第９図の位置に設定するということは、その右端点５２は、三次元物体の最近点５０の射影の筈である。すると、右端点５２が最近点５０の射影として設定され、仮想線５３の長さが立体視として保証するための最大視差量に相当する長さとして設定されるならば、仮想線５３の左端点５４は、同じ最近点５０の左仮想カメラの仮想撮像面上への射影点の筈である。すると、仮想線５３の左端点５４を、左仮想カメラではなく、右仮想カメラでもって逆透視して三次元空間に射影することにより、点５５が得られる。即ち、三次元空間において点５０と点５５を結ぶ線分５１は、仮想撮像面上の仮想線５３（即ち、最大視差量を表す）の３次元空間への射影を表す。尚、点５４の射影点５５は、右仮想カメラによる透視変換行列をＶＲとすると、その逆行列Ｖ−１Ｒによって得られる。
【００６６】
仮想線５３の長さは立体視を保証する最大視差量に相当するように設定されているから、第１０図に示すように、左右の仮想カメラの距離（即ち、基線長）を線分５３の長さに設定すれば、観察者には、最近点５０の融像を見ることができる。仮想カメラが互いに平行視軸を持つように設定されており、仮想線５３の長さが最大視差量に相当するように設定されているので、観察者は、最近点５０のみならず、その物体の全ての点を、即ち、その物体を立体感を持って見ることとなる。
【００６７】
かくして、本実施形態システムの基線長決定処理は、線分５１の長さを決定することに他ならない。
【００６８】
〈最近点決定処理〉
基線長決定処理は、その処理に先立って、最近点が決定されていることが前提である。最近点は、観察者若しくはユーザがディスプレイ１０の画面を見ながらマウスなどによりマニュアルで選定してもよいが、それでは、ウォークスルーのリアルタイム性が失われてしまう。本実施形態のシステムは、最近点を、システムがユーザに替わって自動的に求めて決定する。
【００６９】
本実施形態のシステムでは、三次元空間データは、メモリ１６に、
・形状を記述するデータ（点群に関する三次元位置データ（Ｘ，Ｙ，Ｚ）と各点間のパッチリンク）と、
・表面の特性（色・反射率・透過率・テクスチャ）を記述するデータと、
・光源位置を記述するデータと、
等を記憶して構成される。尚、通常、三次元空間データは、この他にも、初期値や、数個のセットの視点位置や方向、動的に動いている物体の動作方法、音の生成方法の記述（ある物体にさわると音がするなど）、手続きの実行できるスクリプト言語の記述などが可能である。これらのうち、視点位置、方向以外は、今回の発明とは直接関係しないので、ここでは詳細な説明は省略する。
最近点は、点群に関する三次元位置データ（Ｘ，Ｙ，Ｚ）と、ユーザ（即ち、仮想カメラ）の視点位置によって変化する。従って、最近点は、ユーザの視点位置を考慮して決定しなければならない。
【００７０】
ユーザの視点位置から物体までの距離は、コンピュータグラフイクスの技術分野で利用されている「ｚバッファ値」を用いることで得ることができる。まず、ｚバッファおよびｚバッファ値に関して簡単に説明する。
【００７１】
三次元空間上の一点（Ｘｉ，  Ｙｉ，  Ｚｉ）は、表示のために二次元の平面へと透視変換する必要がある。第１１図のようなユーザの視点位置と視体積とを想定し、その視体積を、
【００７２】
ｂ  ＝  ｂｏｔｔｏｍ，  ｔ  ＝  ｔｏｐ，  ｌ  ＝  ｌｅｆｔ，  ｒ  ＝  ｒｉｇｈｔ，  ｎ  ＝  ｎｅａｒ，  ｆ  ＝  ｆａｒ
【００７３】
と定義すると、三次元空間状の一点（Ｘｉ，  Ｙｉ，  Ｚｉ）は、仮想カメラの撮像面の（ｘｉ，  ｙｉ，  ｚｉ）ヘと次式のように変換される。ここで、この変換式では同次座標系を利用している。
【００７４】
［数１］
0003619063.tif 000002
【００７５】
但し、
【００７６】
［数２］
0003619063.tif 000003
【００７７】
［数３］
0003619063.tif 000004
【００７８】
上記透視変換により得られた（ｘｉ，  ｙｉ，  ｚｉ）のうち、（ｘｉ，  ｙｉ）は仮想撮像面上での２次元位置であり、ｚｉがｚバッファ値となる。このｚバッファ値は、透視変換前の三次元空間中での奥行順を保持したまま、視体積の奥行方向を正規化したような値である。通常、コンピュータグラフィクスの技術分野では、このｚバッファ値を利用して表示時に、面や線の隠れの判定（陰面消去・陰線消去処理）を行っている。これは、表示画面（仮想撮像面）用に必要なＲＧＢ色バッファメモリの他に、ｚバッファというフレームバッファメモリを用いることで実現している。これは、
・透視変換により得られた（ｘｉ，  ｙｉ，  ｚｉ）があるときに、（ｘｉ，  ｙｉ）の位置に相当する画素位置のＲＧＢ色バッファ及びｚバッファに、色の計算結果および名を格納する、
・このとき、既に格納しておるｚバッファのその画素の値の方が小さい場合には更新を行わない、
という処理である。本来、ｚバッフアおよび、上記数式１〜３による結果ｚｉは、この処理のために利用されている。ここで、ｚバッファは、この目的のためにのみ用意された専用ハードウェアメモリとして用意してある場合もあれば、専用のメモリではなく通常の主記憶メモリに割り当てられてソフトウェア的に実現してある場合もある。
この処理にあるように、ｚバッフアは、ユーザ視点から見えている対象物体の最も近い表面上の奥行き情報を保持しており、また、透視変換前の３次元空間上での奥行順も保持しているため、ユーザ視点からの「最近点」を求める際に利用できる。すなわち、最小のｚバッファ値を有する点が「最近点」となる。
【００７９】
ここで、（ｘ，  ｙ）の位置のｚバッファ値を得るためには、例えば、例えば、次のコマンド、
【００８０】
ｇｌＲｅａｄＰｉｘｅｌｓ（ｘ，ｙ，１，１，ＧＬ＿ＤＥＰＴＨ＿ＣＯＭＰＯＮＥＮＴ，  ＧＬ＿ＦＬＯＡＴ，  ＆ｚ）
【００８１】
を用いることができる。最近点（ｘｎ，  ｙｎ，  ｚｎ）は、下記の式を満足する点をフレームバッファ１１内を探索して得る。
【００８２】
［数４］
0003619063.tif 000005
【００８３】
である。
ところで、［数３］や［数４］を用いてフレームバッファ内で最近点を探索することは、データの読出に時間がかかる（特にハードウエアが通常のフレームバッファであれば特にそうである）。そこで、最近点の探索を高速化するために、探索点をサンプリングする。探索点のサンプリングは、フレームバッファ内で、即ち、第１２図のように、撮像画面の二次元空間上において行う。即ち、サンプリング点ｉの分布を、第１３図〜第１８図のいずれかに前もって設定する。同図において、各点はサンプリング点を表す。要は、サンプリング点のいずれかに、実際の最近点が含まれていれば好ましい。
【００８４】
第１３図の例では、二次元空間（ｘ，  ｙ）の全てをサンプリング点とするものである。この手法は最近点の探索の精度が上がるが、前述したように、探索に時間がかかるという欠点がある。
【００８５】
第１４図の例では撮像面の中央領域のみをサンプリングする。観察者（ユーザ）は、仮想カメラの撮像空間、即ち、ディスプレイ１０の表示空間の中央領域を見つめていることが多い。このことは、中央領域で立体視が得られれば、その周辺で立体視が得られなくても問題はないことを意味する。そこで、サンプリング点を中央領域に集中して高速化を図るのである。
【００８６】
第１５図の例は、中央の一点に探索を集中する。高速化を極限まで達成できるが、立体視が得られない確率が向上する。例えば、遠方の点を最近点と誤認識すれば、観察者は、実際の最近点近傍の（ディスプレイ１０上での）表示画像を立体として認知できないであろう。
【００８７】
第１６図の例では、第１３図の例から、サンプリング点の密度を全体的に一様に低下させた。
【００８８】
第１７図の例は、ディスプレイ１０上で、上下方向での立体視の確保を重要視し、左右方向での立体視性の低下を甘受することとしたサンプリングパターンの例である。
【００８９】
第１８図の例は、中心から、放射状に、より離間するにつれて、立体視性が低下することを甘受する例である。
【００９０】
第１９図は、最近点の決定のための制御手順である。
【００９１】
ステップＳ２では、ユーザの視点位置ＯＢ（視点の三次元位置とその三軸周りの頭部の回転角度）と共に、視点の画面からの距離ＬＧＨとを入力する。ステップＳ４では、第１３図乃至第１８図のパターンの中から、ユーザの視点位置ＯＢに適したサンプリングパターンを決定する。ステップＳ６では、視点位置ＯＢや視点までの距離ＬＧＨに基づいて右仮想カメラのビューイング変換行列ＶＲを決定する。
【００９２】
ステップＳ８では、得られたビューイング変換行列ＶＲを用いて、物体の三次元空間データであるベクトルＸ（ステップＳ８ではベクトルＸで表す）を撮像面での二次元画像データであるベクトルｘ（ステップＳ８ではベクトルｘで表す）に変換する。このベクトルｘはｄｅｐｔｈバッファ値ｄを有していることは前述したとおりである。
【００９３】
ステップＳ１０では、ステップＳ４で指定されているサンプリングパターンに従って、１つの点ｘｉの奥行き値ｄｉをバッファから得る。ステップＳ１２では、奥行き値ｄｉの最小値ｄｎを探索する。全てのサンプリング点ｉについて探索した結果の最近点ｘ  ＝  ｘｎをステップＳ１６で出力する。
【００９４】
尚、複数の最近点が得られたならば、そのうちのユーザの視線方向に最も近いものを、視点位置情報ＯＢに基づいて決定し、これを用いるものとする。
【００９５】
また、ステップＳ４のパターン決定は、システムが、第１３図〜第１８図に示した分布パターンに似せたアイコンをディスプレイ１０上に標示し、いずれか１つのアイコンを、ユーザがキーボード１３により指定するようにしてもよい。
【００９６】
かくして、本実施形態の制御によれば、
【００９７】
ｉ：  最近点がユーザの手を煩わすことなく自動的に決定される。
ｉｉ：  最近点の決定は周知のｚバッファ（若しくはｄｅｐｔｈバッファ）を利用するので、汎用性が向上する。
ｉｉｉ：  最近点の探索はサンプリングポイントの分布パターンを前もって複数通り設定しておき、そのうちの最適な１つをシステム若しくはユーザの選択により指定することにより、最適な最近点の決定が高速処理を害することなく実現する。
ｉｖ：  サンプリングポイントの分布パターンの指定を自動で行う場合には、ユーザの視線方向を考慮して行われるので、ユーザが関心ある方向にある領域が確実に立体視される。
【００９８】
〈立体視パラメータの決定の制御手順〉
第２０図は、実施形態に係る立体視パラメータの決定の制御手順のフローチャートである。
【００９９】
まず、ステップＳ２０で、ディスプレイ１０の各種のパラメータを入力する。パラメータとは、立体視を保証する最大視差量の値に影響するもので、例えば、ディスプレイ１０の１画素の大きさ（ｗｉｄｔｈ×ｈｅｉｇｈｔ）、１画面の大きさ（ＳＩＺＥ）などであり、これらのハード情報はシステムが既に把握しているものである。
【０１００】
ステップＳ２２では、ユーザの位置・姿勢ＯＢ並びにディスプレイ画面からユーザの視点までの距離ＬＧＨを前記のセンサから入力する。
【０１０１】
ステップＳ２４では、上記の情報に基づいて、立体視を保証する最大視差量の値を設定する。立体視を保証する最大視差量の値は、ディスプレイ画面の大きさ仕様（例えば、ＶＧＡやＸＶＧＡ等の仕様）毎に前もって値を決めておくのがよい。ステップＳ２６では、設定された最大視差量（例えば１０ｍｍの距離）を画素数で表したオフセット量ｏｆｆｓｅｔに変換する。これにより、立体視が保証されるには、ディスプレイ１０の画面上でｏｆｆｓｅｔ分の視差が発生するような基線長を決定するればよいことになる。第９図，第１０図を参照。
【０１０２】
ステップＳ２８では、ユーザの初期位置・姿勢、視軸、画角を設定する。ステップＳ３０では、ステップＳ２８で設定したユーザの視点位置・姿勢に関する情報に基づいて、左右の夫々のカメラの各々の透視変換行列ＶＬ，ＶＲ並びに各々の逆透視変換行列Ｖ−１Ｌ，Ｖ−１Ｒを演算しておく。ステップＳ３２では、メモリ１６に記憶されている三次元空間データを読み出す。
【０１０３】
以上の処理により、立体視パラメータを決定するための土台が整ったことになる。
【０１０４】
次に、ステップＳ３４では、第１９図に関連して説明した最近点の決定処理を行う。第１９図の制御手順は、最近点（ｘｎ，  ｙｎ，  ｄｎ）を出力する。
【０１０５】
次に第２０図のステップＳ３６の基線長の決定処理が実行される。この基線長の決定処理の詳細は第２１図に示される。
【０１０６】
第２１図に基づいて、この処理を説明する。
【０１０７】
ステップＳ４０では、最近点の決定処理が出力した最近点（ｘｎ，  ｙｎ，  ｄｎ）を所定のレジスタに読み出す。この最近点（ｘｎ，  ｙｎ，  ｄｎ）は、第８図の最近点５０が仮想撮像画面上に射影された点５２に相当する。ステップＳ４２では、最近点（ｘｎ，  ｙｎ，  ｄｎ）を正規化処理して右仮想カメラによる射影変換後の空間における画素位置（ｘＲ，  ｙＲ，  ｚＲ）を下記の［数５］に従って算出する。
【０１０８】
［数５］
0003619063.tif 000006
【０１０９】
ステップＳ４４では、画素位置（ｘＲ，  ｙＲ，  ｚＲ）から、カメラ座標系での三次元空間中の点（第８図の点５０）の座標値Ｐ０＝（ＸＲ，  ＹＲ，  ＺＲ）を求める。即ち、右仮想カメラの変換行列ＶＲの逆行列を、
【０１１０】
［数６］
0003619063.tif 000007
【０１１１】
とすると、座標値Ｐ０は、
【０１１２】
［数７］
0003619063.tif 000008
【０１１３】
［数８］
0003619063.tif 000009
【０１１４】
かくして、第９図の点５０に相当するP0が得られた。
次に、ステップＳ４６では、最近点(xn, yn,dn)を左仮想カメラにより透視すると、前述のoffset数の画素分だけｙ軸方向にずれるのであるから、そのずれた画素位置(xL,yL, zL)は、下記の［数９］
【０１１５】
［数９］
0003619063.tif 000010
【０１１６】
によって得られる。この画素位置（ｘＬ，  ｙＬ，  ｚＬ）は第８図の点５４に相当する。この点５４の左カメラの座標系から逆透視した三次元座標位置Ｐ１＝（ＸＬ，  ＹＬ，  ＺＬ）を、左仮想カメラの逆透視変換行列Ｖ−１Ｌ（実質的にＶ−１Ｒに等しい）により、
【０１１７】
［数１０］
0003619063.tif 000011
とすると、座標値Ｐ１は、
【０１１８】
［数１１］
0003619063.tif 000012
【０１１９】
［数１２］
0003619063.tif 000013
【０１２０】
となる。次にステップＳ５０では、距離｜Ｐ０  −  Ｐ１｜に従って基線長を決定する。
以上が基線長の決定処理の制御手順である。
【０１２１】
第２０図の立体視パラメータの制御手順のフローチャートに戻ると、ステップＳ３６の次には、ステップＳ３８で輻輳角の決定処理が行われる。この処理は後に説明する。
【０１２２】
以上のようにして、基線長と輻輳角などの立体視パラメータの最適値が、ユーザの手を煩わさずに、初期的に或いはリアルタイムで決定することができる。
【０１２３】
〈ウォークスルーのための制御〉
第２２図は、本立体視パラメータ決定システムをウォークスルー提供システムに組み込んだ場合の制御手順を示す。即ち、ウォークスルーに特有な問題として、第４図に示すように、ユーザが視点位置を移動していくにつれて、立体視パラメータを変更しなければならないほど、視点条件が変更される場合がある。即ち、立体視パラメータをウォークスルーに伴ってリアルタイムにまたはオンデマンドに変更する必要がある。第２２図の制御手順は、初期的に立体視パラメータを自動で最適設定できるのみならず、ユーザからのオンデマンドに従って立体視パラメータを最適に設定する機能が盛り込まれている。
【０１２４】
第２２図の制御手順に従って、ステップＳ６０が実行されると、第２０図に関連して説明した「立体視パラメータの決定」処理が行われる。これにより、立体視パラメータの初期値が、その時点のユーザの位置やディスプレイ伸しように即して最適な値として設定される。ステップＳ６２では、このようにして設定した立体視パラメータに従って左目用と右目用の画像を描画し、ステップＳ６４ではそれらの画像を合成して表示する。
【０１２５】
このステップＳ６４の時点では、ディスプレイ１０の画面上には、ウォークスルーのための仮想空間が表示されている。
【０１２６】
ユーザは、前述したように、マウスなどを用いてウォークスルー方向を指定すると、その移動指示に従って仮想空間の表示画面が変化していく。移動指示の入力は「インタラクション操作」として入力され、そのための操作がステップＳ７２で実行される。
【０１２７】
ユーザは、ステップＳ６６で「インタラクション操作」以外の種々のコマンド指示を入力することができる。
【０１２８】
その指示が終了であれば本システムは終了するであろう。
【０１２９】
ユーザが立体視パラメータの変更を希望するときは、キーボードの所定のキーを押下することにより、ステップＳ７４が実行される。ステップＳ７４では、立体視パラメータの決定処理（第２０図の制御手順）を再実行する。即ち、その時点での、ユーザの視点位置や条件に即した立体視パラメータが再度設定される。換言すれば、第２２図の制御によれば、仮想空間の変遷に係わらず立体視が確保できるので、異なる大きさの小空間を複数持つような仮想空間をウォークスルーするなどの用途に特に適している。
【０１３０】
〈最適輻輳角の自動設定〉
第２０図のステップＳ３８の輻輳角の決定処理（自動設定）はオプションの処理ルーチンである。立体視において、輻輳角が必要か否かは、応用分野或いはその応用分野でのユーザに応じた個人差があるからである。本システムでは、そのために、第２２図のウォークスルーアプリケーション・プログラムが実行された直後において、そのアプリケーション・プログラムが輻輳角の自動設定を行うか否かをユーザに問うダイアログをディスプレイ１０に表示する。ユーザはそのダイアログにおいて、輻輳角の自動設定を行う（即ちステップＳ３８を実行する）か、行わない（即ち、ステップＳ３８をスキップする）かを選択する。ステップＳ３８は選択されたときのみ実行される。
【０１３１】
第２３図，第２４図は、輻輳角の自動決定の原理を説明する。即ち、ステップＳ３８は、入力された仮想空間の三次元データに基づいて輻輳角を決定する。第２３図において、例えば仮想空間に円錐６０と四角錐７０の仮想物体があるとする。勿論、これら２つの仮想物体以外にも仮想物体が存在することは許される。これらの仮想物体は三次元座標情報を有するから、この仮想空間の中の最近点と最遠点とが存在する。第２３図の例では、最近点は四角錐７０の頂点が存在する垂直平面７１上に有り、最遠点は円錐６０の周囲が存在する垂直平面６１上にある。輻輳角の最適な値は、種々の学説により、まちまちであるが、本実施形態では、第２４図に示すように、垂直面６１と垂直面７１の中間位置にある垂直面８０上のある点と、左右の仮想視点とが成す二等辺四角形の頂点の角度（の半分）であるδを輻輳角とする。
【０１３２】
２つの仮想カメラの視軸が平行である場合において最近点のみを考慮したのは、最近点において視差量が最大値をとるからである。しかしながら、仮想カメラが平行でない、即ち、０度でない輻輳角を有する場合には、最近点と最遠点において視差量が最大値を示すことになる。従って、０度でない輻輳角が損する場合には最近点のみならず最遠点を考慮しなければならないのである。
【０１３３】
第２５図は、ステップＳ３８の詳細な処理手順を表す。
【０１３４】
最近点は第２０図のステップＳ３４で既に決定されているので、輻輳角の決定のために、最近点を改めて求める必要はない。そこで、ステップＳ３８ａでは最遠点を探索する。最遠点の探索処理は、第１９図に示された最近点の探索処理を一部変更した処理手順を援用することができる。その変更箇所はステップＳ１２において、最遠点を探索するために、
【０１３５】
［数１３］
0003619063.tif 000014
【０１３６】
の処理を行う。更にステップＳ３８ｂでは、奥行き範囲Ｄを決定する。ステップＳ３８ｃでは、Ｄ／２の値に従って、輻輳角δを第２４図に示された演算手法に従って決定する。
本発明は、その趣旨を逸脱しない範囲で種々変形が可能である。
【０１３７】
第１９図乃至第２１図の制御手順に示された立体視パラメータの決定手順は、仮想カメラの視軸が互いに平行（輻輳角＝０度）である場合を想定していた。輻輳角＝０度の方がユーザが疲労しない場合があるからである。しかしながら、三次元空間データの中には、予め輻輳角に関するパラメータを有するものがある。また、上記実施形態でも、ユーザが望む場合には、輻輳角の初期値δが自動決定された。従って、最初から輻輳角を有するような画像データや、事後、輻輳角を付加された画像データのような場合には、輻輳角を考慮した基線長の決定を行わなければならない。
【０１３８】
輻輳角を考慮した基線長の決定は回転処理を行うことによって実現される。第２６図は、輻輳角を考慮した基線長の決定する処理が、第９図に示された輻輳角を有さない場合の基線長の決定処理の原理に対して、いかなる変更処理を付加するかを説明している。
【０１３９】
即ち、第２６図と第９図とを比較すると、最近点５２を、画面上での最大視差量に相当する長さだけ平行移動して点５４を得るのは変わらないが、第２６図では、更に、点５４を、右視点を中心にしｙ軸の周りに輻輳角（＝２δ）だけ回転して点５７を得、この点５７に相当する三次元空間座標５８を求め、点５８を点Ｐ２とすると、最近点５０（＝Ｐ０）から点Ｐ２までの距離を、輻輳角を考慮した場合の基線長とするのである。
【０１４０】
第２６図に示された処理は、実質的には、ステップＳ４８（第２１図）での処理に、上記回転による座標変換処理Ｒを逆透視変換処理ＶＬ−１に付加するのである。この回転処理を付加されたステップＳ４８を新たにステップＳ４８’とすると、ステップＳ４６で、前述したように、［数９］に従って点５４に相当する画素位置（ｘＬ，  ｙＬ，  ｚＬ）を得る。更に、ステップＳ４８では、画素位置（ｘＬ，  ｙＬ，  ｚＬ）を座標変換して、点５８に相当する座標値Ｐ２を、
【０１４１】
［数１４］
0003619063.tif 000015
【０１４２】
［数１５］
0003619063.tif 000016
【０１４３】
に基づいて求める。ここで、行列Ｒは、ｙ軸周りの角度２δの回転変換であり、具体的には、
【０１４４】
［数１６］
0003619063.tif 000017
【０１４５】
という構造を有する。また、ＶＬは左右の仮想カメラを同じカメラパラメータを持つものとすれば、ＶＲ（即ち、［数２］）に等しい行列である。
上記実施形態は、本発明の立体視パラメータの決定を、ウォークスルーに適用したものであった。特にこの仮想空間ウォークスルーでは、立体視パラメータを、初期値のみならず、リアルタイム値も計算していた。
【０１４６】
この変形例は、立体視パラメータの演算輻輳角を減らすために、初期値のみを演算する仮想空間ウォークスルーの制御であり、その手順を第２７図に示す。
【０１４７】
である。
第２７図の処理は、第２２図の処理からステップＳ７４の工程が除去されたものに等しい。
【０１４８】
尚、第２２図，第２７図，第２８図，第２９図に示された各フローチャート間で、同じステップ番号を有する工程は同じ内容の処理を行う。
【０１４９】
上記実施形態では、ディスプレイ１０に表示するための左右目のための画像は、合成の都度、描画生成（レンダリング）していた。この第３変形例は、立体視パラメータの設定処理（第２０図のステップＳ３４）が、第１９図のステップＳ８において右目用の画像を描画生成していた点を考慮し、この右目用画像を有効に利用して計算負荷を軽減しようとするものである。
【０１５０】
これは、第２２図のステップＳ６２において左右目画像の描画するという処理を、第２８図のステップＳ６２’のように、左目用画像のみの描画を行う処理に変更する。このために、第２８図の制御手順では、立体視パラメータの再計算キーが押されるたびに、ステップＳ６０で立体視パラメータの再設定が行われ（併せてステップＳ８で右目用画像の描画が行われ）、ステップＳ６２’で左目用画像の描画が行われ、ステップＳ６４で左右の画像の合成が成される。一方、インタラクション処理やその他の処理では、ステップＳ７６で、左右目用の画像の描画が行われ、それらの画像はステップＳ６４で合成されて表示される。
【０１５１】
このように、第３変形例では、立体視パラメータの再建さんが行われるときは、右目用画像の描画（レンダリング）の工程が１つ省略されて高速処理に寄与することとなる。
【０１５２】
第４変形例は、立体視パラメータの再計算を毎回行うというものであって、その制御手順を第２９図に示す。即ち、インタラクション処理やその他の処理では、ステップＳ６０にモードって、立体視パラメータの再設定が行われ（併せてステップＳ８で右目用画像の描画が行われ）、ステップＳ６２’で左目用画像の描画が行われ、ステップＳ６４で左右の画像の合成が成される。
【０１５３】
この第４変形例でも、右目用画像の描画（レンダリング）の工程が１つ省略されて高速処理に寄与することとなる。
【０１５４】
前述の実施形態では、ｄｅｐｔｈバッファを用いることにより、複数の仮想物体があっても、描画時に全ての仮想物体の座標変換が行われるために、内部での座標変換が不要であった。この第５変形例は、第３０図に示すように、対象の三次元空間中の物体を観察するカメラ座標系（カメラ位置を原点とする三次元座標系）に変換して、最も視点位置に近い最近点を直接的に計算するようにする。この変形例の手法では、３次元対象内の物体間の座標変換を考慮する必要がある。第３０図の例では、カメラと部屋は世界座標系の位置で指定されているが、机と椅子は部屋の座標系からの位置で指定されている。壺は机の座標系からの位置で指定されている。これらの座標系間の関係を考慮してカメラ座標系に変換する。
【０１５５】
本発明の発明者は、特願平１０−１８５１３５号において立体視パラメータをユーザの欲する時点で変更することのできるユーザインタフェースを提案した。
【０１５６】
第３１図は、第６変形例に従った、ディスプレイ１０の画面に表示されたユーザ・インタフェースを表す。
【０１５７】
同図において、２００と２０１は基線長ｂを変更するためのユーザ・インタフェース（ＶＩＥＷ  ＯＦＦＳＥＴ）であり、どちらもスライドバーのコントロールである。スライドバー２００は基線長を大きく変更するとき、スライドバー２０１は小さく変更するときに、それぞれ使用される。
【０１５８】
第３１図に於いて、スライドバー２０２は前進方向の移動速度（ＦＷＤ  ＳＰＥＥＤ）を変更するときに用いる。スライドバー２０３は後退方向の移動速度（ＢＷＤ  ＳＰＥＥＤ）を変更するときに用いる。
【０１５９】
また、スライドバー２０４は輻輳角（Ｖｉｅｗ  Ｃｏｎｇｅｓｔｉｏｎ）を変更するときに用いる。更にスライドバー２０５は視野角（Ｆｉｅｌｄ  ｏｆ  Ｖｉｅｗ）を変更するときに用いる。
【０１６０】
第１６図に示されたユーザ・インタフェースはユーザがマウスを用いて操作する。マウスの移動量が操作量となる。
【０１６１】
尚、ユーザ・インタフェースの具体的なツールはスライドバーに限定されない。連続的に変更できるツール、例えば、ジョグダイヤルであってもよい。
【０１６２】
尚、前述の実施形態は、立体視パラメータの値（初期値及びリアルタイム値）を自動設定することが特徴であるから、第３１図のユーザインタフェースをさらに設けると競合する。そこで、第３１図の２００から２０５までの６つのバーのいずれかがユーザにより操作されたことが検知されると、前述の立体視パラメータの設定処理（第２０図）を停止するように制御手順を変更するとよい。そして、自動設定を再開したいときには、同じくディスプレイ１０に表示されているキーアイコン２０６をユーザが押したことを検知したならば、再開される。
【０１６３】
以上説明した第１変形例乃至第６変形例によれば、立体視パラメータの再計算が、ユーザアプリケーションの態様に応じて、或いはユーザの希望に応じて、最適なタイミングで行われるので、使い勝手がよい。
【０１６４】
また、仮想カメラの視軸において輻輳角が存在する場合も考慮されているので、本発明の立体視パラメータの自動設定は適用分野は広いものとなる。
【０１６５】
また、立体視パラメータの再設定は時間のかかる処理であるが、レンダリングの処理を、立体視パラメータの設定と立体画像の生成とにへ移用することによって処理負担を軽減することができた。
【０１６６】
〈その他の変形例〉
上記実施形態や変形例では、一般的な仮想現実感システムに本発明の立体視パラメータ設定の自動処理を適用したものであったが、所謂複合現実感システムに本発明を適用することも可能である。
【０１６７】
複合現実感システムではＨＭＤ（頭部装着型表示装置）を用いることが多いが、この場合は、表示画面とユーザの視点までの距離が固定であるので、測距センサ１７は不要である。
【０１６８】
【発明の効果】
以上説明したように、本発明によれば、立体視パラメータの最適な初期値を自動的に設定することができる。
【０１６９】
また、立体視パラメータの最適リアルタイム値を自動的に更新することができる。
【０１７０】
また、立体視パラメータの再設定タイミングを自動的に或いはユーザの好みにあわせて設定することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係る立体画像表示装置１０００の構成を示す図。
【図２】表示装置１０００に用いられているリアクロスレンチ方式眼鏡なし３Ｄディスプレイ１０の構成を説明する図。
【図３】ディスプレイ１０のＬＣＤ部分を拡大した図。
【図４】実施形態の立体視パラメータの設定を仮想空間ウォークスルーシステムに適用した事例を説明する図。
【図５】立体視を得るために左目用画像と右目用画像の合成原理を説明する図。
【図６】最大視差量と基線長の関係を説明する図。
【図７】基線長を決定原理を説明するために、２つの左右画像が生成される様子を説明する図。
【図８】仮想空間の最近点が、２つの視点において視差として生じるかを説明する図。
【図９】本実施形態の基線長を決定する原理を説明する図。
【図１０】本実施形態の基線長を決定する原理を説明する図。
【図１１】透視変換を説明する図。
【図１２】二次元空間でのサンプリングを説明する図。
【図１３】最近点の探索のためのサンプリングパターンの一例を示す図。
【図１４】最近点の探索のためのサンプリングパターンの他の例を示す図。
【図１５】最近点の探索のためのサンプリングパターンの他の例を示す図。
【図１６】最近点の探索のためのサンプリングパターンの他の例を示す図。
【図１７】最近点の探索のためのサンプリングパターンの他の例を示す図。
【図１８】最近点の探索のためのサンプリングパターンの他の例を示す図。
【図１９】最近点決定のための制御手順を説明するフローチャート。
【図２０】立体視パラメータの設定のための制御手順を説明するフローチャート。
【図２１】基線長決定のための制御手順を説明するフローチャート。
【図２２】ウォークスルーアプリケーションにおける全体制御手順を説明するフローチャート。
【図２３】立体視パラメータとしての輻輳角を決定する原理を説明する図。
【図２４】立体視パラメータとしての輻輳角を決定する原理を説明する図。
【図２５】輻輳角決定のための制御手順を説明するフローチャート。
【図２６】輻輳角が存在する場合における基線長を決定する原理を説明する図。
【図２７】ウォークスルーアプリケーションの変形例に係る全体制御手順を説明するフローチャート。
【図２８】ウォークスルーアプリケーションの他の変形例に係る全体制御手順を説明するフローチャート。
【図２９】ウォークスルーアプリケーションの更に他の変形例に係る全体制御手順を説明するフローチャート。
【図３０】最近点を決定する他の手法を説明する図。
【図３１】立体視パラメータの値をユーザが自由に設定するためのユーザインタフェースを説明する図。
【図１】
0003619063.tif 000018
【図２】
0003619063.tif 000019
【図３】
0003619063.tif 000020
【図４】
0003619063.tif 000021
【図５】
0003619063.tif 000022
【図６】
0003619063.tif 000023
【図７】
0003619063.tif 000024
【図８】
0003619063.tif 000025
【図９】
0003619063.tif 000026
【図１０】
0003619063.tif 000027
【図１１】
0003619063.tif 000028
【図１２】
0003619063.tif 000029
【図１３】
0003619063.tif 000030
【図１４】
0003619063.tif 000031
【図１５】
0003619063.tif 000032
【図１６】
0003619063.tif 000033
【図１７】
0003619063.tif 000034
【図１８】
0003619063.tif 000035
【図１９】
0003619063.tif 000036
【図２０】
0003619063.tif 000037
【図２１】
0003619063.tif 000038
【図２２】
0003619063.tif 000039
【図２３】
0003619063.tif 000040
【図２４】
0003619063.tif 000041
【図２５】
0003619063.tif 000042
【図２６】
0003619063.tif 000043
【図２７】
0003619063.tif 000044
【図２８】
0003619063.tif 000045
【図２９】
0003619063.tif 000046
【図３０】
0003619063.tif 000047
【図３１】
0003619063.tif 000048