(57)【要約】【課題】  立体表示を実現する際の処理全体の高速化についての新たな考察が必要である。【解決手段】  カメラ配置決定部１３６は、現フレームにおいて、直前のフレームで取得したＺ値およびユーザの適正視差をもとに、オブジェクト空間における本カメラの配置場所を決定する。投影処理を行った後、視差画像生成部１４２は、視点画像をもとに視差画像を生成する。上述のＺ値は、直前のフレームにおいてカメラ配置決定部１３６により配置された少なくとも１つの本カメラにより取得されたものであり、現フレームでそれを利用することで立体画像処理全体の高速化を実現できる。【選択図】  図１９
2005295004.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点に対応する複数の視点画像をもとにオブジェクトを立体表示する立体画像処理装置であって、
前記立体表示すべきオブジェクトが含まれる仮想空間内の奥行き方向の演算領域の範囲を取得する奥行き値取得部と、
前記取得された奥行き方向の演算領域の範囲をもとに、複数の異なる視点を前記仮想空間内に配置する視点配置部と、
前記複数の異なる視点からの視点画像をもとに、視差画像を生成する視差画像生成部とを、
備えることを特徴とする立体画像処理装置。
【請求項２】
前記仮想空間内に暫定的に視点を配置する視点仮配置部をさらに備え、前記奥行き値取得部は、前記暫定的に配置された視点に基づき、前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項１に記載の立体画像処理装置。
【請求項３】
前記視点仮配置部は、前記仮想空間内に１つの視点を暫定的に配置することを特徴とする請求項２に記載の立体画像処理装置。
【請求項４】
前記視点仮配置部は、前記視点配置部により配置された複数の視点の視野範囲を含む視野範囲を有するよう、視点を前記仮想空間内に配置することを特徴とする請求項２または３に記載の立体画像処理装置。
【請求項５】
前記視点配置部は、前記奥行き値取得部により取得された前記奥行き方向の演算領域の範囲をもとに、前記視点仮配置部により暫定的に配置された視点に加え、当該視点が中心にくるよう、２つの異なる視点を前記仮想空間内に配置することを特徴とする請求項２から４のいずれかに記載の立体画像処理装置。
【請求項６】
前記視点配置部は、前記２つの異なる視点の両外側方向に、視点間の距離が前記２つの視点の距離間隔となるように、複数の視点を配置することを特徴とする請求項５に記載の立体画像処理装置。
【請求項７】
前記奥行き値取得部は、前記視点画像の解像度よりも低い解像度で前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項１から６のいずれかに記載の立体画像処理装置。
【請求項８】
前記奥行き値取得部は、前記立体表示すべきオブジェクトに対応し、かつ少ないデータ量からなるオブジェクトを用いて、前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項１から７のいずれかに記載の立体画像処理装置。
【請求項９】
前記奥行き値取得部は、前記視点配置部により配置された前記複数の異なる視点のうち、少なくとも１つの視点による前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項１に記載の立体画像処理装置。
【請求項１０】
前記奥行き値取得部は、前記視点配置部により配置された前記複数の異なる視点のうち、２以上の視点による前記奥行き方向の演算領域の範囲を取得し、それぞれの奥行き方向の演算領域の範囲を統合して、１つの奥行き方向の演算領域の範囲を生成することを特徴とする請求項１に記載の立体画像処理装置。
【請求項１１】
前記奥行き値取得部により取得された前記奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、前記奥行き値使用判定部により使用できないとされたとき、前記視差画像生成部は、視差画像を生成せず視差を持たない二次元画像を生成することを特徴とする請求項９または１０に記載の立体画像処理装置。
【請求項１２】
前記奥行き値取得部により取得された前記奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、前記奥行き値使用判定部により使用できないとされたとき、前記視点配置部は、前回生成された視差画像よりも弱い視差を持たせた視差画像を生成するよう前記複数の異なる視点を配置することを特徴とする請求項９または１０に記載の立体画像処理装置。
【請求項１３】
前記奥行き値取得部により取得された前記奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、前記奥行き値使用判定部により使用できないとされたとき、前記奥行き値取得部は、前方投影面および後方投影面を用いて、前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項９または１０に記載の立体画像処理装置。
【請求項１４】
前記オブジェクトの動きの状態を検出し、その検出結果をもとに前記オブジェクトの将来の動きの状態を予測する動作予測部と、
前記動作予測部により予測されたオブジェクトの将来の動きの状態をもとに、前記オブジェクトが包含される所定の領域の変位量を予測する変位量予測部と、
をさらに備え、前記視点配置部は、前記変位量予測部により予測された所定の領域の変位量に基づいて、前記複数の異なる視点を前記仮想空間内に配置することを特徴とする請求項９から１３のいずれかに記載の立体画像処理装置。
【請求項１５】
前記演算領域の範囲に含めるか否かの演算選択情報を前記オブジェクトごとに取得する演算選択情報取得部をさらに備え、前記演算選択情報取得部により前記演算領域の範囲に含めないとする演算選択情報を取得したとき、前記奥行き値取得部は、含めないとしたオブジェクトを無視して、他のオブジェクトから前記奥行き方向の演算領域の範囲を取得することを特徴とする請求項１から１４のいずれかに記載の立体画像処理装置。
【請求項１６】
立体表示を目的とするオブジェクトが含まれる仮想空間内の奥行き方向の演算領域の範囲を取得するステップと、
前記取得された奥行き方向の演算領域の範囲をもとに、複数の異なる視点を前記仮想空間内に配置するステップと、
前記複数の異なる視点からの視点画像をもとに、視差画像を生成するステップと、
を有することを特徴とする立体画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は立体画像処理技術、特に、視差画像をもとに立体画像を生成する方法および装置に関する。
【背景技術】
【０００２】
近年、ネットワークインフラの未整備が問題視されてきたが、ブロードバンドへの移行期を迎え、むしろ、広い帯域を有効活用するコンテンツの種類や数の少なさが目立ち始めている。映像はいつの時代でも、最も重要な表現手段であったが、いままでの取り組みの多くは表示品質やデータ圧縮率の改善に関するものであり、それらに比べると、表現の可能性自体を広げる技術的な取り組みは、後手にまわっている感がある。
【０００３】
そうした中で、立体映像表示（以下、単に立体表示という）は、以前からいろいろ研究され、劇場用途や特殊な表示装置を利用する、ある程度限られた市場で実用化されてきた。今後は、より臨場感の溢れるコンテンツの提供を目指してこの方面の研究開発が加速し、個人ユーザが家庭でも立体表示を楽しむ時代が来るものと思われる。
【０００４】
現在でも、例えば、個人ユーザは目の前にオブジェクトが飛び出てくるような迫力ある３次元の立体映像表現を楽しむことができる。レーシングゲームを例にあげれば、プレーヤは、目の前に浮き出るように映し出されたオブジェクト、例えば車を操作してオブジェクトが存在する仮想的な３次元空間（以下、単に「オブジェクト空間」という）内で走行させ、他のプレーヤやコンピュータが操作する車と競争することで３次元ゲームを楽しむことができる。
【０００５】
このように立体表示に関する技術は現在でも幅広く利用され、さらに今後も普及が期待されるものであり、新たな表示形態も提案されている。例えば、特許文献１には、二次元画像の選択された部分画像を立体にして表示する技術が開示されている。
【特許文献１】特開平１１−３９５０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
確かに特許文献１によれば、平面画像の所望の部分を立体にして表示させることができるが、立体表示を実現する際の処理全体の高速化を意識したものではなく、それについての新たな考察が必要である。
【０００７】
本発明はこうした課題に鑑みてなされたものであり、その目的は、立体表示に係る処理全体の高速化を実現する立体画像処理装置および立体画像処理方法の提供にある。
【課題を解決するための手段】
【０００８】
本発明のある態様は、立体画像処理装置に関する。この装置は、異なる視点に対応する複数の視点画像をもとにオブジェクトを立体表示する立体画像処理装置であって、立体表示すべきオブジェクトが含まれる仮想空間内の奥行き方向の演算領域の範囲を取得する奥行き値取得部と、その取得された奥行き方向の演算領域の範囲をもとに、複数の異なる視点を仮想空間内に配置する視点配置部と、複数の異なる視点からの視点画像をもとに、視差画像を生成する視差画像生成部とを備える。
【０００９】
「立体表示」とは、立体画像を表示することをいう。その「立体画像」とは立体感をもって表示された画像であり、そのデータの実体は、複数の画像に視差をもたせた「視差画像」である。視差画像は一般に複数の二次元画像の集合である。視差画像を構成する各画像は、それぞれが対応する視点を有する「視点画像」である。つまり、複数の視点画像によって視差画像が構成されている。「演算領域」とは、オブジェクトを立体表示するための所定の演算を行う仮想空間上の領域である。
【００１０】
「視差」とは、立体感を生むためのパラメータであり、いろいろな定義が可能だが、一例として視点画像間の同じ点を表す画素の座標値の差異で表現できる。以下、本明細書では、特に断らない限り、その定義にしたがう。
【００１１】
この態様によれば、奥行き方向の演算領域の範囲をもとに、複数の異なる視点を仮想空間内に配置するため、効果的な視差画像を得ることができ、適切な立体表示が実現できる。
【００１２】
この装置は、その仮想空間内に暫定的に視点を配置する視点仮配置部をさらに備え、奥行き値取得部は、暫定的に配置された視点に基づき、奥行き方向の演算領域の範囲を取得してもよい。視点仮配置部は、仮想空間内に１つの視点を暫定的に配置してもよい。
【００１３】
視点仮配置部は、視点配置部により配置された複数の視点の視野範囲を含む視野範囲を有するよう、視点を仮想空間内に配置してもよい。視点配置部は、奥行き値取得部により取得された奥行き方向の演算領域の範囲をもとに、視点仮配置部により暫定的に配置された視点に加え、当該視点が中心にくるよう、２つの異なる視点を仮想空間内に配置してもよい。視点配置部は、２つの異なる視点の両外側方向に、視点間の距離が前記２つの視点の距離間隔となるように、複数の視点を配置してもよい。
【００１４】
奥行き値取得部は、視点画像の解像度よりも低い解像度で奥行き方向の演算領域の範囲を取得してもよい。また、奥行き値取得部は、立体表示すべきオブジェクトに対応し、かつ少ないデータ量からなるオブジェクトを用いて、奥行き方向の演算領域の範囲を取得してもよい。この態様によれば、奥行き方向の演算領域の範囲を取得するときの処理量を削減することで、処理全体の高速化を実現できる。
【００１５】
奥行き値取得部は、視点配置部により配置された複数の異なる視点のうち、少なくとも１つの視点による奥行き方向の演算領域の範囲を取得してもよい。奥行き値取得部は、視点配置部により配置された複数の異なる視点のうち、２以上の視点による奥行き方向の演算領域の範囲を取得し、それぞれの奥行き方向の演算領域の範囲を統合して、１つの奥行き方向の演算領域の範囲を生成してもよい。
【００１６】
奥行き値取得部により取得された奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、奥行き値使用判定部により使用できないとされたとき、視差画像生成部は、視差画像を生成せず視差を持たない二次元画像を生成してもよい。また、奥行き値取得部により取得された奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、奥行き値使用判定部により使用できないとされたとき、視点配置部は、前回生成された視差画像よりも弱い視差を持たせた視差画像を生成するよう複数の異なる視点を配置してもよい。
【００１７】
奥行き値取得部により取得された奥行き方向の演算領域の範囲を使用可能かどうかを判定する奥行き値使用判定部をさらに備え、奥行き値使用判定部により使用できないとされたとき、奥行き値取得部は、前方投影面および後方投影面を用いて、奥行き方向の演算領域の範囲を取得してもよい。
【００１８】
オブジェクトの動きの状態を検出し、その検出結果をもとにオブジェクトの将来の動きの状態を予測する動作予測部と、その動作予測部により予測されたオブジェクトの将来の動きの状態をもとに、オブジェクトが包含される所定の領域の変位量を予測する変位量予測部とをさらに備え、視点配置部は、変位量予測部により予測された所定の領域の変位量に基づいて、複数の異なる視点を仮想空間内に配置してもよい。
【００１９】
演算領域の範囲に含めるか否かの演算選択情報をオブジェクトごとに取得する演算選択情報取得部をさらに備え、演算選択情報取得部により演算領域の範囲に含めないとする演算選択情報を取得したとき、奥行き値取得部は、含めないとしたオブジェクトを無視して、他のオブジェクトから奥行き方向の演算領域の範囲を取得してもよい。
【００２０】
本発明の別の態様は、立体画像処理方法に関する。この方法は、立体表示を目的とするオブジェクトが含まれる仮想空間内の奥行き方向の演算領域の範囲を取得するステップと、取得された奥行き方向の演算領域の範囲をもとに、複数の異なる視点を仮想空間内に配置するステップと、複数の異なる視点からの視点画像をもとに、視差画像を生成するステップとを有する。
【００２１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００２２】
本発明によれば、適切な立体表示を実現できる。
【発明を実施するための最良の形態】
【００２３】
以下に示す実施の形態１〜３に係る立体画像処理装置は、オブジェクト空間内の所与の視点からの視点画像をもとに、視差画像を生成する装置である。こうした画像を、立体映像表示ディスプレイなどに映し出すことで、目の前にオブジェクトが飛び出てくるような迫力ある３次元の立体映像表現を実現することができる。レーシングゲームを例にあげれば、プレーヤは、目の前に浮き出て立体表示されたオブジェクト、例えば車を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作する車と競争することで３次元ゲームを楽しむことができる。
【００２４】
このようなオブジェクトの立体表示を行うとき、この装置は、オブジェクト空間内に配置した視点の視点間隔などをフレーム単位で調整する。フレームとは動画を構成する最小単位である。このように視点間隔などをフレーム単位で調整することで、オブジェクトの動きや状態の変化に応じた視差画像を生成でき、それをもとに最適な立体表示を実現する。
【００２５】
こうしてフレームごとに視差画像を生成するとき、視差の付けすぎが問題になることがあり、立体映像の観察者（以下、単に「ユーザ」ともいう）によっては、軽い不快感を訴える場合がある。そこでこの装置はユーザの指示に応じて視差の適正化を行う。
【００２６】
図１は、スクリーン面２１０に対応する基本表現空間Ｔを模式的に示す。ここで、基本表現空間Ｔはユーザ１０が適正視差を認知する空間である。つまり、前方基本表現空間面１２より前方あるいは後方基本表現空間面１４より後方にオブジェクトが存在するとき、そのオブジェクトに対し、ユーザは生理上の違和感を生じることがある。そこで、実施の形態に係る立体画像処理装置は基本表現空間Ｔ内にオブジェクトを立体表示する。基本表現空間Ｔの範囲はユーザにより設定される。
【００２７】
実施の形態１
ここで、実施の形態１の概要を述べる。実施の形態１では、オブジェクト空間内に１つのカメラなどの視点を暫定的に配置する。こうして暫定的に配置されたカメラ（以下、単に「仮カメラ」という）により、立体表示すべきオブジェクトの奥行き方向の演算領域の範囲を取得する。この奥行き方向の演算領域の範囲を取得するとき、この装置は、Ｚバッファ法という既知の陰面消去アルゴリズムを用いる。ここでＺバッファ法とは、オブジェクトのＺ値を画素ごとに記憶させるとき、Ｚ軸上で視点から近いＺ値があれば、そのＺ値をすでに記憶されたＺ値に上書きする手法をいう。こうして画素ごとに記憶されたＺ値の中で最大のＺ値（以下、単に「最大Ｚ値」という）および最小のＺ値（以下、単に「最小Ｚ値」という）を求めることで、奥行き方向の演算領域の範囲を特定する。実施の形態では、Ｘ軸方向の線分およびＹ軸方向の線分で区切られた画素に対応する位置でのオブジェクトのＺ値を取得するものとする。
【００２８】
図２は、仮カメラ１６により特定される演算領域Ｒ１および陰面領域Ｒ２を模式的に示す。オブジェクト空間内には、仮カメラ１６、第１オブジェクト２２ａおよび第２オブジェクト２２ｂが配置されている。演算領域Ｒ１は、視差画像を生成する後述の本カメラのカメラパラメータを求める演算の対象となる領域であり、代表的には演算領域Ｒ１は立体表示すべきオブジェクトの可視面が存在する領域に対応する。既述のごとく、画素ごとに記憶されたＺ値の中で最大Ｚ値および最小Ｚ値を求めることで、奥行き方向の演算領域Ｒ１の範囲を特定する。一方、陰面領域Ｒ２は、後述の本カメラのカメラパラメータを求める演算の対象から除外される領域であり、代表的には陰面領域Ｒ２は仮カメラなどの視点から見て演算領域Ｒ１の後方にある、可視面の背後に隠れたオブジェクトの不可視面が存在する領域である。ここで、第１オブジェクト２２ａおよび第２オブジェクト２２ｂをオブジェクト２２と総称する。仮カメラ１６によりＺバッファ法を用いて奥行き方向の演算領域の範囲を取得した結果、演算領域Ｒ１の最前方演算領域面１８の奥行きは最小Ｚ値、最後方演算領域面２０の奥行きは最大Ｚ値によってそれぞれ特定される。陰面領域Ｒ２は、上述のＺバッファ法により陰面消去される領域である。
【００２９】
この装置は、こうして求めた最大Ｚ値および最小Ｚ値をもとに、視差画像を取得するための複数台、例えば２台のカメラ（以下、単に「本カメラ」という）の配置場所を決め、それら２台の本カメラをオブジェクト空間内のそれぞれ異なった位置に配置する。このとき、先に暫定的に配置された仮カメラが中心にくるように２台の本カメラを配置する。さらに、このような２台の本カメラの配置決めを行うとき、この装置はユーザの適正視差をも加味する。
【００３０】
この装置は、このように２台の本カメラを配置し、立体表示すべきオブジェクトに対して本カメラごとに後述の投影処理を行い、視点画像を取得し、視差画像を生成する。図３は、実施の形態１に係る立体画像処理装置が実現するオブジェクト２２の立体表示の様子を示す。図１と同様のものには同じ符号を与え適宜説明を略す。図示するごとく、基本表現空間Ｔの前方基本表現空間面１２および後方基本表現空間面１４の奥行き方向の範囲内に先に求めた演算領域が含まれるよう立体表示がなされている。
【００３１】
上述のごとく、この装置はフレームごとに上述の視差画像を生成する。本カメラの配置数が多いときなど、例えば、視差画像を生成するための演算量が多いときには、仮カメラによりＺ値を取得する時間を短縮するために、以下のような処理を行ってもよい。
１）本カメラごとの視点画像の解像度よりも低い解像度でＺ値を取得する。
２）立体表示すべきオブジェクトに対応し、かつ少ないデータ量からなるオブジェクトを用いて、Ｚ値を取得する。この場合、Ｚ値取得用の別のオブジェクト空間を準備し、そのオブジェクト空間内にそのオブジェクトを配置して、Ｚ値を取得してもよい。
【００３２】
図４は、実施の形態１に係る立体画像処理装置１００の構成を示す。この装置は、異なる視点に対応する複数の視点画像をもとにオブジェクトを立体表示する。この立体画像処理装置１００は、立体表示した画像に対するユーザからの応答をもとに立体感を調整する立体感調整部１１２と、立体感調整部１１２で特定された適正視差を保存する視差情報保持部１２０と、視差情報保持部１２０から適正視差を読みだし、三次元データから適正視差を有する視差画像を生成する視差制御部１１４と、表示装置のハードウエア情報を取得し、また立体表示の方式を取得する機能を有する情報取得部１１８と、情報取得部１１８で取得した情報をもとに、視差制御部１１４で生成された視差画像の形式を変更するフォーマット変換部１１６を含む。ここで、ハードウエア情報とは、例えば、表示装置そのもののハードウエアに関する情報とユーザと表示装置の距離などの要素を含んだ情報である。立体画像処理装置１００にはオブジェクトと空間を描画するための三次元データが入力される。三次元データは、例えば、ワールド座標系で記述されたオブジェクトおよび空間のデータである。
【００３３】
以上の構成は、ハードウエア的には、任意のコンピュータのＣＰＵ、メモリ、その他のＬＳＩで実現でき、ソフトウエア的にはＧＵＩ機能、視差制御機能その他の機能をもつプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところであり、以降の構成についてもその事情は同様である。
【００３４】
立体感調整部１１２は指示取得部１２２と視差特定部１２４を有する。指示取得部１２２は、立体表示された画像に対してユーザが適正視差の範囲を指定したとき、これを取得する。視差特定部１２４は、その範囲をもとに、ユーザがこの表示装置を用いたときの適正視差を特定する。適正視差は、表示装置のハードウエアに依存しない表現形式で表される。適正視差を実現することにより、ユーザの生理に適合した立体視が可能になる。このようなユーザからの適正視差の範囲の特定は、図示しないＧＵＩ（Graphical User Interface）によってなされ、その詳細は後述する。
【００３５】
視差制御部１１４は、三次元データをもとに仮想空間内にオブジェクトを定義するオブジェクト定義部１２８と、オブジェクト空間内に仮カメラを暫定的に配置するカメラ仮配置部１３０と、カメラ仮配置部１３０により暫定的に配置された仮カメラを基準とし、ワールド座標系上に定義された座標を透視座標系に変換する座標変換部１３２と、座標変換部１３２による座標変換がなされたとき、Ｚバッファ法によりＺ値を取得するＺ値取得部１３４と、Ｚ値取得部１３４により取得したＺ値および視差情報保持部１２０に保存された適正視差にしたがってカメラ間隔などのカメラパラメータを算出し、それに基づいて、２台の本カメラをオブジェクト空間内に配置するカメラ配置決定部１３６と、本カメラがカメラ座標系の原点となるように移動させる原点移動部１３８と、後述の投影処理を行う投影処理部１４０と、投影処理後、スクリーン座標系への変換処理を行って視点画像を生成する視点画像生成部１４１と、生成された複数の視点画像をもとに視差画像を生成する視差画像生成部１４２とを含む。カメラ配置決定部１３６は、実施の形態では２台の本カメラを配置するが、それ以上の台数の本カメラを配置してもよい。視差制御部１１４が有する各構成部の詳細は後述する。
【００３６】
情報取得部１１８は、例えば、立体表示の視点数、空間分割または時間分割等の立体表示装置の方式、シャッタめがねの利用があるか否か、多眼式の場合における視点画像の並び方、視差画像の中に視差が反転する視点画像の並びがあるか否か、ヘッドトラッキングの結果などをユーザからの入力により取得する。なお、ヘッドトラッキングの結果だけは例外的に図示しない経路を経て直接カメラ配置決定部１３６へ入力され、そこで処理される。
【００３７】
ユーザからの適正視差の範囲の特定は、以下のように行われる。図５（ａ）、図５（ｂ）は、立体画像処理装置１００の立体感調整部１１２による適正視差の特定のプロセスにおいてそれぞれ表示された左眼画像２００、右眼画像２０２を示す。それぞれの画像には５個の黒丸が表示されており、上にいくほど近置かつ大きな視差、下へいくほど遠置かつ大きな視差が付けられている。
【００３８】
「近置」は異なる場所に配置された２つのカメラの視線、すなわち光軸の交差位置（以下、「光軸交差位置」ともいう）にある面（以下、「光軸交差面」ともいう）より前に立体視されるような視差が付けられている状態を指す。「遠置」は逆に光軸交差面よりうしろに立体視されるような視差が付けられている状態を指す。近置オブジェクトの視差が大きくなるほどユーザに近づいて感知され、遠置オブジェクトの視差が大きくなるほどユーザから遠ざかって見える。特に断らないかぎり、視差は近置、遠置で正負が反転せず、ともに非負の値として定義し、光軸交差面において近置視差、遠置視差ともにゼロとする。
【００３９】
図６はこれら５個の黒丸をスクリーン面２１０に表示したとき、ユーザ１０に感知される距離感を模式的に示す。同図では、視差が異なる５個の黒丸が同時に、または順に表示され、許容できる視差であるか否かをユーザ１０が入力していく。一方、図７ではスクリーン面２１０への表示自体は１個の黒丸で行うが、その視差を連続的に変更する。遠置と近置それぞれの方向において許容する限界にきたとき、ユーザ１０からの所定の入力指示が行われることで、許容できる視差を決定することができる。指示は通常のキー操作、マウス操作、音声による入力等、それ自体は既知の技術を利用すればよい。
【００４０】
また、視差の決定はより簡易的な方法で行われてもよい。同様に、基本表現空間の設定範囲の決定も簡易的な方法で行われてもよい。図８は、視差および基本表現空間の簡易決定の際に利用するテーブルを示す。基本表現空間の設定範囲が、近置空間側を多くする設定から、遠置空間側のみの設定までＡ〜Ｄの４段階のランクに分かれており、さらに、それぞれ視差が１〜５まで５段階のランクに分かれている。ここでは、例えば、最も強い立体感を好み、最も飛び出だした立体表示を好む場合はランクを５Ａとする。そして、必ずしも立体表示を確認しながらランクを決定する必要はなく、ランクを決めるボタンだけが表示されていてもよい。それらの傍らに立体感確認用のボタンがあり、それを押下することで立体感を確認する画像が表示されてもよい。
【００４１】
図６、図７のいずれの場合でも、指示取得部１２２は適正視差を範囲として取得でき、その近置側および遠置側の限界視差が決まる。近置最大視差は、自分に最も近い位置に見える点に許す近さに対応する視差、遠置最大視差は、自分から最も遠い位置に見える点に許す遠さに対応する視差である。ただし、一般にはユーザの生理上の問題から近置最大視差をケアすべきことが多く、以下、近置最大視差のみを限界視差とよぶ場合もある。
【００４２】
ここで、視差制御部１１４が有する各構成部の詳細を述べる。オブジェクト定義部１２８は、入力される三次元データに基づいて、仮想空間内にオブジェクトを定義する。図９は、ワールド座標系に第１オブジェクト２２ａおよび第２オブジェクト２２ｂを配置した状態を示す。図１０は、第１オブジェクト２２ａにモデル座標系を設定した様子を示す。同様に、第２オブジェクト２２ｂにも別のモデル座標系を設定する。通常はオブジェクト２２の中心が原点になるようモデル座標系を設定する。
【００４３】
カメラ仮配置部１３０は、図９のワールド座標系の仮想空間内に暫定的に１つの仮カメラを配置する。この仮カメラはオブジェクト空間内の演算領域の奥行き方向の範囲を取得するために配置される。上述のごとく、この演算領域は仮カメラが見ることができる可視面が存在する領域であり、つまり、立体表示がなされるべき領域である。一方、陰面領域は、仮カメラにとって演算領域の後方にある、可視面の背後に隠れて仮カメラが見ることができない不可視面が存在する領域であり、つまり、陰面領域は立体表示がなされない領域である。前述のように、実施の形態では、奥行き方向の演算領域の範囲は、Ｚバッファ法という既知の陰面消去アルゴリズムにより特定される。
【００４４】
実施の形態１の立体画像処理装置１００では、仮カメラを配置することで、奥行き方向の演算領域の範囲を特定することができ、特定された奥行き方向の演算領域の範囲およびユーザの適正視差をもとに、本カメラのカメラパラメータを後述する所定の方法で求める。そうして求められたカメラパラメータをもとに配置された本カメラは視点画像を生成し、それをもとに立体表示がなされる。これにより、ユーザが適正視差を認知する空間である基本表現空間内に先に求めた演算領域の範囲が含まれるような立体表示を実現することができる。また、本カメラのカメラパラメータを求めるとき、陰面領域を演算に含めないように演算領域を設定することで、基本表現空間内に陰面領域が含まれない立体表示を実現することができる。基本表現空間の範囲は有限であるため、ユーザがそもそも見ることができない陰面領域をその空間からはずすことは有意義である。つまり、仮カメラを暫定的に配置して演算領域を予め設定することで、基本表現空間にオブジェクトが含まれるような立体表示を実現するよう、本カメラのカメラパラメータを決定することができる。
【００４５】
仮カメラの配置台数は１台であってもよい。なぜなら、本カメラは視点画像を生成するために使用されるが、仮カメラは単に奥行き方向の演算領域の範囲を取得するために使用され、仮カメラの役割はそれだけで十分である。そのため、仮カメラを複数台用いてもよいが、１台用いることで、短い時間で演算領域を画定する最大Ｚ値および最小Ｚ値を取得することができる。
【００４６】
座標変換部１３２は、ワールド座標系で定義された座標を透視座標系に変換する。図１１はカメラ座標系を示す。カメラ仮配置部１３０によりワールド座標系の任意の位置から任意の方向に任意の画角で仮カメラ１６が据えられたとき、座標変換部１３２は、カメラ座標系への変換を行う。このようなワールド座標系からカメラ座標系への変換では、仮カメラ１６がカメラ座標系の原点になるように全体を平行移動し、更に仮カメラ１６の視線がＺ軸の正方向を向くように回転移動させる。この変換にはアフィン変換が用いられる。図１２、図１３は透視座標系を示す。座標変換部１３２は、まず、図１２のように、表示すべき空間を前方投影面３４と後方投影面３６でクリッピングする。この前方投影面３４と後方投影面３６は、ユーザなどにより可視オブジェクトがすべて含まれるように決定される。クリッピングの後、このビューボリュームを図１３のように直方体へ変換する。図１２と図１３における処理を投影処理ともよぶ。
【００４７】
Ｚ値取得部１３４は、座標変換部１３２による座標変換がなされたとき、Ｚバッファ法を用いて、立体表示すべきオブジェクトが含まれる仮想空間内の奥行き方向の演算領域の範囲を取得する。
【００４８】
上記した例では、最大Ｚ値および最小Ｚ値を画素ごとに取得することとしているが、Ｚ値取得部１３４は、本カメラが生成する視点画像の解像度よりも低い解像度でＺ値を取得してもよい。すなわち、複数の画素の集合に対して、最大、最小のＺ値を取得してもよい。取得するＺ値の役割はオブジェクトの奥行き方向の演算領域の範囲を特定するためのものであり、視差画像を生成するほどの解像度は必要ない。したがって、ここでは解像度を視点画像よりも低下させることによって、Ｚ値取得のためのデータ処理量を低減し、立体表示処理全体の高速化を実現することができる。
【００４９】
Ｚ値取得部１３４は、立体表示すべきオブジェクトに対応し、かつ少ないデータ量からなるオブジェクトを用いて、Ｚ値を取得してもよい。奥行き方向の演算領域の範囲の特定対象となるオブジェクトは、実際に立体表示されるものではなく、そこまでの正確さは必要としない。ある程度の正確さで奥行き方向の演算領域の範囲を特定できれば十分である。したがって、ここでは、少ないデータ量のオブジェクトを用いることによって、Ｚ値取得のためのデータ処理量を低減し、立体表示処理全体の高速化を実現することができる。このとき、Ｚ値取得用の別のオブジェクト空間を準備し、そのオブジェクト空間内にそのオブジェクトを配置してＺ値を取得してもよい。
【００５０】
また、オブジェクトの一部あるいは全体が透過部分を有する場合は、その部分を無視してＺ値を取得してもよい。これにより、基本表現空間内に透過部分が含まれないような立体表示を実現することができる。前述のごとく、基本表現空間は有限であるため、ユーザがそもそも見ることができないオブジェクトの一部あるいは全体の透過部分をその空間からはずすことは有意義である。一部あるいは全体が透過部分であるオブジェクトが他のオブジェクトの前方にあった場合、その部分を無視してＺ値を取得しなければ、透過部分の後方にある、本来、Ｚ値取得時に反映させるべき可視のオブジェクトが、Ｚ値取得時に反映されないことがある。そのため、上述のごとく、透過部分を無視してＺ値を取得することは有意義である。
【００５１】
カメラ配置決定部１３６は、Ｚ値取得部１３４により取得したＺ値および視差情報保持部１２０に保存された適正視差にしたがってカメラ間隔などのカメラパラメータを算出し、それに基づいて２台の本カメラをオブジェクト空間内に配置する。
【００５２】
図１４から図１６は、本実施の形態に係る立体画像装置において、カメラ配置決定部１３６が、Ｚ値をもとに本カメラのカメラパラメータを決めるまでの処理を示す。図１４は、適正視差が実現される際のカメラ画角、画像サイズ、視差の関係を示す図である。まず、ユーザが立体感調整部１１２を介して決めた限界視差を暫定的に配置された仮カメラの見込み角に変換する。同図のごとく、近置と遠置の限界視差は画素数でＭ、Ｎとあらわすことができ、仮カメラの画角θが表示画面の水平画素数Ｌに相当するので、限界視差画素数の見込み角である、近置最大見込み角φと遠置最大見込み角ψがθ、Ｍ、Ｎ、Ｌであらわされる。
ｔａｎ（φ／２）＝Ｍｔａｎ（θ／２）／Ｌ
ｔａｎ（ψ／２）＝Ｎｔａｎ（θ／２）／Ｌ
このようにして、ユーザから与えられた限界視差をもとに、近置最大見込み角φおよび遠置最大見込み角ψが決まる。
【００５３】
次に本カメラのカメラパラメータが決まるまでの様子を説明する。図１５における基本表現空間Ｔ（その奥行きもＴと表記）は、上述のごとく、ユーザが適正視差を実現する範囲とした空間であり、立体感調整部１１２を介して決められる。基本表現空間Ｔの前面である、自分に最も近い位置に見える点に許す近さに対応する視差にあたる面からカメラ配置面、すなわち視点面２０８までの距離を視点距離Ｓとする。ここでは、基本表現空間Ｔおよび視点距離Ｓは最大Ｚ値および最小Ｚ値にもとづいて決められる。すなわち、基本表現空間Ｔに最大Ｚ値と最小Ｚ値との差、視点距離Ｓに最小Ｚ値が設定される。基本表現空間Ｔおよび視点距離Ｓは、最大Ｚ値に近い値や最小Ｚ値に近い値に基づいて決められてもよい。基本表現空間Ｔは本来、厳密性を求めないものであるためである。本実施の形態において、本カメラは２つあり、これらの光軸交差面２１２の視点面２０８からの距離をＤとする。光軸交差面２１２と前方投影面３４までの距離をＡとする。
【００５４】
次に、基本表現空間Ｔ内での近置および遠置の限界視差をそれぞれＰ、Ｑとすると、
Ｅ：Ｓ＝Ｐ：Ａ
Ｅ：Ｓ＋Ｔ＝Ｑ：Ｔ−Ａ
が成立する。Ｅは本カメラのカメラ間距離である。いま、視差の付けられていない画素である点Ｇは両カメラからの光軸Ｋ２が光軸交差面上２１２で交差する位置にあり、光軸交差面２１２がスクリーン面の位置となる。近置最大視差Ｐを生む光線Ｋ１は前方投影面３４上で交差し、遠置最大視差Ｑを生む光線Ｋ３は後方投影面３６上で交差する。
【００５５】
ＰとＱは、図１４のようにφ、ψを用いて、
Ｐ＝２（Ｓ＋Ａ）ｔａｎ（φ／２）
Ｑ＝２（Ｓ＋Ａ）ｔａｎ（ψ／２）
で表され、結果として、
Ｅ＝２（Ｓ＋Ａ）ｔａｎ（θ／２）・（ＳＭ＋ＳＮ＋ＴＮ）／（ＬＴ）
Ａ＝ＳＴＭ／（ＳＭ＋ＳＮ＋ＴＮ）
が得られる。上述のごとく、基本表現空間Ｔと視点距離Ｓは、最大Ｚ値および最小Ｚ値に基づいて算出され既知であるため、こうしてＡ及びＥが自動的に決まり、したがって光軸交差距離Ｄとカメラ間距離Ｅが自動的に決まり、カメラパラメータが確定する。カメラ配置決定部１３６はこれらのパラメータにしたがって本カメラの配置を決定すれば、以降、投影処理部１４０および視点画像生成部１４１の処理を各カメラからの画像に対して独立してなすことにより、視差画像生成部１４２により適正視差をもった視差画像が生成および出力できる。以上のごとく、ＥとＡはハードウエアの情報を含んでおらず、ハードウエアに依存しない表現形式が実現される。
【００５６】
こうして、カメラ配置決定部１３６は、Ｚ値取得部１３４により取得された奥行き方向の演算領域の範囲、つまり最大Ｚ値および最小Ｚ値をもとに、カメラ仮配置部１３０により暫定的に配置された仮カメラが中心にくるよう、２つの異なる本カメラを仮想空間内に配置することができる。
【００５７】
原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる。投影処理部１４０は、上述の投影処理を行う。このとき、図１２における前方投影面３４と後方投影面３６の位置はそれぞれ、最小Ｚ値、最大Ｚ値によって決められてもよい。図１７は、スクリーン座標系を示す。視点画像生成部１４１は、投影処理後、スクリーン座標系への変換処理を行って視点画像を生成する。視差画像生成部１４２は、生成された複数の視点画像をもとに視差画像を生成する。
【００５８】
図１８は、実施の形態１に係る立体画像処理装置１００の処理の流れを示す。オブジェクト定義部１２８は、入力された三次元データをもとに仮想空間内にオブジェクトおよび座標系を設定する（Ｓ１０）。カメラ仮配置部１３０は、オブジェクト空間内に１つの仮カメラを暫定的に配置する（Ｓ１２）。座標変換部１３２は、ワールド座標系上に定義された座標を透視座標系に変換する（Ｓ１４）。Ｚ値取得部１３４は、立体表示すべきオブジェクトを含む仮想空間の奥行き方向の演算領域の範囲を取得するために、Ｚバッファ法を用いてＺ値を取得し、最大Ｚ値および最小Ｚ値を求める（Ｓ１６）。
【００５９】
カメラ配置決定部１３６は、視差情報保持部１２０に保存されている適正視差を取得する（Ｓ１８）。カメラ配置決定部１３６は、最大Ｚ値、最小Ｚ値および適正視差をもとに、オブジェクト空間内に２台の本カメラを配置する（Ｓ２０）。
【００６０】
原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる（Ｓ２２）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行い（Ｓ２４）、視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ２６）。カメラの個数分の視点画像が生成されていない場合（Ｓ２８のＮ）、原点移動以降の処理を繰り返す。カメラの個数分の視点画像が生成された場合（Ｓ２８のＹ）、視差画像生成部１４２は、それら視点画像をもとに視差画像を生成し（Ｓ２９）、１フレーム内の処理が完了する。継続して次フレームでの処理を行う場合は（Ｓ３０のＹ）、同様に上述の処理を行う。継続して行わない場合（Ｓ３０のＮ）、処理を終了する。以上、実施の形態１に係る立体画像処理装置１００の処理の流れを説明した。
【００６１】
実施の形態２
ここで、実施の形態２の概要を述べる。実施の形態１では、オブジェクト空間内に仮カメラを暫定的に配置してＺ値を取得したが、実施の形態２では、本カメラにより取得されるＺ値を利用する。図１９は、実施の形態２に係る立体画像処理装置１００の構成を示す。以下、実施の形態１と同等の構成には同じ符号を与え適宜説明を略す。実施の形態２に係る立体画像処理装置１００には、図４に示した実施の形態１に係る立体画像処理装置１００と異なる構成要素であるＺ値読み出し部１４４、Ｚ値書き込み部１４６、Ｚ値保持部１５０が設けられている。Ｚ値保持部１５０には、Ｚ値取得部１３４により取得されたＺ値が格納される。そうして格納されたＺ値は、少なくとも最大Ｚ値および最小Ｚ値が含まれる。
【００６２】
Ｚ値読み出し部１４４は、Ｚ値保持部１５０に保持された本カメラのＺ値を読み出す。そのＺ値は、直前のフレームにおいて本カメラにより取得されたＺ値である。Ｚ値取得部１３４は、少なくとも１つの本カメラによるＺ値を取得してもよい。静的なオブジェクトの場合、直前のフレームと現フレームの間で、Ｚ値に大きな変動のないことが推定される。したがって実施の形態２では、直前のフレームのＺ値を現フレームのＺ値として利用することで、Ｚ値を取得する際の処理量を低減することができ、立体画像処理全体の高速化を実現することができる。また、動的なオブジェクトであっても、実際に直前のフレームと現フレームの間のオブジェクトの移動量がそう大きく変わるものではないため、動的なオブジェクトに対しても適用できる。
【００６３】
Ｚ値読み出し部１４４は、２台以上の本カメラによるＺ値を統合してもよい。統合とは、カメラごとに取得したそれぞれの最大Ｚ値および最小Ｚ値のうち、もっとも大きい最大Ｚ値を新たな最大Ｚ値、もっとも小さい最小Ｚ値を新たな最小Ｚ値とすることである。統合することで精度が高いＺ値を取得することができ、その結果、本カメラは効果的な視差画像を生成することができる。Ｚ値書き込み部１４６は、Ｚ値取得部１３４により取得されたＺ値あるいは上述のごとく統合されたＺ値をＺ値保持部１５０に格納する。
【００６４】
図２０は、実施の形態２に係る立体画像処理装置１００の処理の流れを示す。オブジェクト定義部１２８は、入力される三次元データをもとに仮想空間内にオブジェクトおよび座標系を設定する（Ｓ３２）。カメラ仮配置部１３０は、そのオブジェクト空間内に１つの仮カメラを配置する（Ｓ３３）。Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照し本カメラのＺ値が保持されている場合（Ｓ３４のＹ）、そのＺ値を読み出す（Ｓ４２）。保持されていない場合（Ｓ３４のＮ）、すなわち、立体画像処理の開始時であって、１番目のフレームを処理する場合、座標変換部１３２は、ワールド座標系上に定義された座標を透視座標系に変換する（Ｓ３８）。Ｚ値取得部１３４は、立体表示すべきオブジェクトを含む仮想空間の奥行き方向の演算領域の範囲を取得するために、Ｚバッファ法を用いてＺ値を取得し、最大Ｚ値および最小Ｚ値を求める（Ｓ４０）。
【００６５】
カメラ配置決定部１３６は、視差情報保持部１２０に保存されている適正視差を取得する（Ｓ４４）。カメラ配置決定部１３６は、最大Ｚ値、最小Ｚ値および適正視差をもとに、オブジェクト空間内に２台の本カメラを配置する（Ｓ４６）。
【００６６】
原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる（Ｓ４８）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行い（Ｓ４９）、視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ５０）。視点画像生成時に、Ｚ値取得部１３４は、Ｚバッファ法を用いて本カメラのＺ値を取得する（Ｓ５２）。Ｚ値書き込み部１４６は、取得したＺ値をＺ値保持部１５０に書き込む（Ｓ５４）。カメラの個数分の視点画像が生成されていない場合（Ｓ５６のＮ）、原点移動以降の処理を繰り返す。カメラの個数分の視点画像が生成された場合（Ｓ５６のＹ）、視差画像生成部１４２は、それら視点画像をもとに視差画像を生成し（Ｓ５７）、１フレームの処理が完了する。次のフレームが継続する場合は（Ｓ５８のＹ）、引き続き次フレームにおける視差画像生成処理を行う。継続しない場合（Ｓ５８のＮ）、視差画像生成処理を終了する。以上、実施の形態２に係る立体画像処理装置１００の処理の流れを説明した。
【００６７】
実施の形態３
ここで、実施の形態３の概要を述べる。実施の形態２では、静的なオブジェクトに対してとくに効果的であったが、例えば、オブジェクトが突然、カメラの視野範囲にフレームインしたときやこの立体画像処理装置がシーンチェンジを検出したとき、演算領域の範囲に急激な変化が生じているため、直前のフレームにおいて取得したＺ値を現フレームのＺ値として用いることが不適切なことがある。このような場合、この立体画像処理装置は、直前のＺ値を用いてカメラパラメータを設定するのではなく、直前のフレームにおいて生成した視差画像よりも弱い視差を持たせた視差画像を生成するようなカメラパラメータを本カメラに適用することで対応する。
【００６８】
図２１は、実施の形態３に係る立体画像処理装置１００の構成を示す。以下、実施の形態２と同等の構成には同じ符号を与え適宜説明を略す。実施の形態３に係る立体画像処理装置１００には、図１９に示した実施の形態２に係る立体画像処理装置１００と異なる構成要素であるＺ値使用判定部１９０、カメラパラメータ保持部１５２が設けられている。図２１におけるカメラ配置決定部１３６は、図１９におけるカメラ配置決定部１３６と比較して、本カメラを配置したときのカメラパラメータを、フレームごとにカメラパラメータ保持部１５２に記憶する機能をさらに有する。
【００６９】
Ｚ値使用判定部１９０はＺ値を使用するか否かを判定し、使用しないと判定したとき、視差制御部１１４にＺ値の使用不可を通知する。Ｚ値使用判定部１９０は、シーン判定部１９２およびオブジェクト検出部１９４を備える。
【００７０】
シーン判定部１９２は、動きベクトルなどの既知の動き検出方法で、オブジェクトの動きの状態を検出する。そうした検出の結果、動きの多い状態であると判断したとき、シーンチェンジを検出する。このとき、視差制御部１１４にＺ値の使用不可を通知する。
【００７１】
オブジェクト検出部１９４は、他のオブジェクトがオブジェクト空間の中に入ってくることを検出する。その検出方法は、最大Ｚ値と最小Ｚ値の差が瞬間的に所定値を超えた場合、視差制御部１１４にＺ値の使用不可を通知する。
【００７２】
Ｚ値使用判定部１９０により、Ｚ値の使用不可が指示されたとき、カメラ配置決定部１３６は、前フレームにおいて生成された視差画像よりも弱い視差を持たせた視差画像を生成するよう本カメラを配置する。このとき、カメラ配置決定部１３６は、カメラパラメータ保持部１５２を参照し、前回使用したカメラ間隔よりも、小さいカメラ間隔に設定する。カメラ配置決定部１３６は、カメラパラメータ保持部１５２を参照し、最小のカメラ間隔を実現するカメラパラメータを選択して使用して配置してもよい。また、予め指定されたカメラパラメータを使用して配置してもよい。
【００７３】
演算領域の範囲に急激な変化があったとき、直前のフレームにて生成された視差画像と比べて、視差の変動が大きい視差画像が生成されることがある。こうした視差画像を観察するとき、ユーザは不快に感じることがある。とくに、視差が強すぎる視差画像が生成されるとき、この問題は顕著になる。それを回避するべく、実施の形態３における立体画像処理装置は、直前のフレームにて生成された視差画像よりも弱い視差を実現する視差画像を生成する。これにより、立体表示の際の急激な視差の変動を抑制することができ、ユーザの立体視への影響を軽減することができる。
【００７４】
図２２は、実施の形態３に係る立体画像処理装置１００の処理の流れを示す。オブジェクト定義部１２８により、仮想空間内にオブジェクトおよび座標系が設定された（Ｓ３２）後、カメラ仮配置部１３０は、そのオブジェクト空間内に１つの仮カメラを配置する（Ｓ３３）。Ｚ値使用判定部１９０は、Ｚ値を使用するか否かを判定し、Ｚ値を使用すると判定したとき（Ｓ６０のＹ）、Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照する（Ｓ３４）。Ｚ値を使用しないと判定（Ｓ６０のＮ）、あるいは本カメラのＺ値が保持されていない（Ｓ３４のＮ）場合、カメラ配置決定部１３６は、カメラパラメータ保持部１５２を参照し、前回使用したカメラ間隔よりも、小さいカメラ間隔を含むカメラパラメータを取得する（Ｓ６４）。ここで、立体画像処理の開始時であって、１番目のフレームを処理するとき、カメラ配置決定部１３６は、予め指定されたカメラパラメータを使用してもよい。
【００７５】
Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照し本カメラのＺ値が保持されている場合（Ｓ３４のＹ）、そのＺ値を読み出し（Ｓ４２）、カメラパラメータ保持部１５２からのカメラパラメータの取得をスキップする。カメラ配置決定部１３６は、視差情報保持部１２０に保存されている適正視差を取得する（Ｓ４４）。カメラ配置決定部１３６は、取得したカメラパラメータがあればそのカメラパラメータを、なければ最大Ｚ値、最小Ｚ値をおよび適正視差をもとに、オブジェクト空間内に２台の本カメラを配置する（Ｓ４６）。
【００７６】
カメラ配置決定部１３６は、配置決定後のカメラパラメータをカメラパラメータ保持部１５２に保存する（Ｓ６６）。原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる（Ｓ４８）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行い（Ｓ４９）、視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ５０）。視点画像生成時に、Ｚ値取得部１３４は、Ｚバッファ法を用いて本カメラのＺ値を取得する（Ｓ５２）。Ｚ値書き込み部１４６は、取得したＺ値をＺ値保持部１５０に書き込む（Ｓ５４）。カメラの個数分の視点画像が生成されていない場合（Ｓ５６のＮ）、原点移動以降の処理を繰り返す。
【００７７】
カメラの個数分の視点画像が生成された場合（Ｓ５６のＹ）、視差画像生成部１４２は、それら視点画像をもとに視差画像を生成し（Ｓ５７）、１フレームの処理が完了する。次のフレームが継続する場合は（Ｓ５８のＹ）、引き続き次フレームにおける視差画像生成処理を行う。継続しない場合（Ｓ５８のＮ）、視差画像生成処理を終了する。以上、実施の形態３に係る立体画像処理装置１００の処理の流れを説明した。
【００７８】
本発明と実施の形態に係る構成の対応を例示する。「奥行き値取得部」はＺ値取得部１３４に対応し、「視点配置部」はカメラ配置決定部１３６に対応し、「視差画像生成部」は視差画像生成部１４２に対応し、「視点仮配置部」はカメラ仮配置部１３０に対応し、「奥行き値使用判定部」はＺ値使用判定部１９０に対応する。
【００７９】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００８０】
第１変形例
実施の形態１において、仮カメラを設けた理由は、上述するごとく、本カメラの配置場所を決定づけるＺ値を取得するためであり、視点画像を生成するためではない。一方、第１変形例における仮カメラは、Ｚ値を取得するとともに視差画像のもとになる１つの視点画像を生成することができる。
【００８１】
図２３は、第１変形例に係る立体画像処理装置１００の構成を示す。以下、実施の形態１と同等の構成には同じ符号を与え適宜説明を略す。第１変形例に係る立体画像処理装置１００には、図４に示した実施の形態１に係る立体画像処理装置１００から座標変換部１３２を除外し、新たに仮カメラ原点移動部１３５、仮カメラ投影処理部１３７および仮カメラ視点画像生成部１３９が設けられる。
【００８２】
仮カメラ原点移動部１３５は、仮カメラがカメラ座標系の原点となるように移動させる。仮カメラ投影処理部１３７は、仮カメラによる立体表示すべきオブジェクトに対する前述の投影処理を行う。仮カメラ視点画像生成部１３９は、仮カメラにより行われた前述の投影処理後、スクリーン座標系への変換処理を行って視点画像を生成する。上述のごとく、第１変形例では、仮カメラにより視点画像を生成できるため、視差画像生成部１４２は、本カメラによって生成された視点画像に加え、仮カメラによって生成された視点画像をもとに、視差画像を生成することができる。
【００８３】
このとき、カメラ配置決定部１３６は、取得された奥行き方向の演算領域の範囲をもとに、カメラ仮配置部１３０により暫定的に配置された仮カメラに加え、その仮カメラが中心にくるよう、２つの異なる本カメラを仮想空間内に配置する。カメラ配置決定部１３６は、１台の仮カメラが本カメラ群の中心になるように、仮カメラの両外側方向に等距離間隔で偶数台の本カメラを配置してもよい。
【００８４】
第２変形例
図２４は、第２変形例に係る立体画像処理装置１００の構成を示す図である。第２変形例は、実施の形態１に係る立体画像処理装置１００に新たに演算選択情報取得部１６０が設けられる。演算選択情報取得部１６０は、オブジェクト毎に関連づけられている演算領域の範囲に含めるか否かの演算選択情報を取得し、その演算選択情報を読み取る。演算領域の範囲に含めないとする演算選択情報を有するオブジェクトを取得したとき、Ｚ値取得部１３４に、そのオブジェクトを無視して、他のオブジェクトからＺ値を取得するよう指示する。これにより、故意に基本表現空間を飛び出すような効果的なオブジェクトの立体表示を実現できる。また、立体画像処理装置１００内の図示しないＣＰＵが、所定のオブジェクトを演算領域の範囲に含めないようＺ値取得部１３４に指示してもよいし、ユーザが図示しないＧＵＩを用いて、指示してもよい。Ｚ値取得部１３４は、演算選択情報取得部１６０により含めないとされたオブジェクトを無視して、Ｚ値を取得する。また、演算選択情報取得部１６０は、実施の形態２または３に係る立体画像処理装置１００にも設けても良い。
【００８５】
第３変形例
実施の形態３では、Ｚ値使用判定部１９０により、Ｚ値の使用不可が指示されたとき、カメラ配置決定部１３６は、直前のフレームにおいて生成された視差画像よりも弱い視差を持たせた視差画像を生成するよう本カメラを配置した。第３変形例では、このような指示があったとき、視差画像生成部１４２は、視差を持たない二次元画像を生成してもよい。既述のごとく、ユーザが不快感を訴える多くの原因は視差の強すぎが問題であり、それを回避するべく、現フレームでは立体表示でなく平面表示を実現することで、ユーザの立体視への影響を軽減することができる。第３変形例に係る立体画像処理装置１００の構成は、実施の形態３に係る立体画像処理装置１００の構成と同様である。第３変形例における仮カメラは、第１変形例の場合と同様に、Ｚ値を取得するとともに視差画像のもとになる１つの視点画像を生成することができる。
【００８６】
図２５は、第３変形例に係る立体画像処理装置１００の処理の流れを示す。オブジェクト定義部１２８は、入力される三次元データをもとに仮想空間内にオブジェクトおよび座標系を設定する（Ｓ３２）。カメラ仮配置部１３０は、そのオブジェクト空間内に１つの仮カメラを配置する（Ｓ３３）。Ｚ値使用判定部１９０は、Ｚ値を使用するか否かを判定し、Ｚ値を使用すると判定したとき（Ｓ６０のＹ）、Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照する（Ｓ３４）。Ｚ値を使用しないと判定したとき（Ｓ６０のＮ）の処理については、後述する。Ｚ値使用判定部１９０により、Ｚ値を使用すると判定されたとき（Ｓ６０のＹ）、Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照し、本カメラのＺ値が保持されている場合（Ｓ３４のＹ）、そのＺ値を読み出す（Ｓ４２）。保持されていない場合（Ｓ３４のＮ）、すなわち、立体画像処理の開始時であって、１番目のフレームを処理する場合については後述する。
【００８７】
カメラ配置決定部１３６は、視差情報保持部１２０に保存されている適正視差を取得する（Ｓ４４）。カメラ配置決定部１３６は、最大Ｚ値、最小Ｚ値および適正視差をもとに、オブジェクト空間内に２台の本カメラを配置する（Ｓ４６）。
【００８８】
原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる（Ｓ４８）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行い（Ｓ４９）、視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ５０）。視点画像生成時に、Ｚ値取得部１３４は、Ｚバッファ法を用いて本カメラのＺ値を取得する（Ｓ５２）。Ｚ値書き込み部１４６は、取得したＺ値をＺ値保持部１５０に書き込む（Ｓ５４）。カメラの個数分の視点画像が生成されていない場合（Ｓ５６のＮ）、原点移動以降の処理を繰り返す。カメラの個数分の視点画像が生成された場合（Ｓ５６のＹ）、視差画像生成部１４２は、それら視点画像をもとに視差画像を生成し（Ｓ５７）、１フレームの処理が完了する。
【００８９】
Ｚ値使用判定部１９０は、Ｚ値を使用しないと判定したとき（Ｓ６０のＮ）、つまり，演算領域の範囲に急激な変化があったとき、あるいは、本カメラのＺ値が保持されていないとされたとき（Ｓ３４のＮ）、原点移動部１３８は、仮カメラがカメラ座標系の原点となるように移動させる（Ｓ７２）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行う（Ｓ７３）。視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ７４）。Ｚ値取得部１３４は、視点画像生成時に仮カメラによるＺ値を取得する（Ｓ７６）。Ｚ値書き込み部１４６は、取得したＺ値をＺ値保持部１５０に保存する（Ｓ７８）。視差画像生成部１４２は、視差画像を生成せず視差を持たない二次元画像を生成し（Ｓ８０）、１フレームの処理が完了する。
【００９０】
次のフレームが継続する場合は（Ｓ５８のＹ）、引き続き次フレームにおける視差画像生成処理を行う。継続しない場合（Ｓ５８のＮ）、視差画像生成処理を終了する。以上、第３変形例に係る立体画像処理装置１００の処理の流れを説明した。このように１つの仮カメラによって得られた視点画像を表示することで平面表示を実現することができる。
【００９１】
第４変形例
図２６は、角度を用いて奥行き方向の演算領域の範囲を取得する様子を模式的に示す。実施の形態では、Ｘ軸方向の線分およびＹ軸方向の線分で区切られた画素に対応する位置でのオブジェクトのＺ値を取得したが、第４変形例では、図示のごとく、第１オブジェクト２２ａおよび第２オブジェクト２２ｂにおける第１角度θと第２角度φが同じ点の座標に対応するオブジェクトのＺ値を取得し、最大Ｚ値および最小Ｚ値を求めてもよい。このとき、Ｚ値取得用の別の仮想空間を準備して、最大Ｚ値および最小Ｚ値を求めてもよい。
【００９２】
第５変形例
実施の形態では、カメラ配置決定部１３６は仮カメラを中心とし２台の本カメラを配置したが、第５変形例では、２つの異なる本カメラの両外側方向に、カメラ間の距離が２つの本カメラの距離間隔となるように、複数台、例えば４台の本カメラを配置する。図２７は４台の第１〜第４本カメラ２４ａ〜２４ｄによる４眼式のカメラ配置を示す。より中央に近い第２本カメラ２４ｂと第３本カメラ２４ｃの間で決めた前述のＡおよびＥを他のカメラ間隔に流用してもよい。これにより、本カメラの配置場所を決めるためのカメラパラメータを算出する時間を短縮することができ、立体画像処理全体の高速化を実現することができる。
【００９３】
第６変形例
実施の形態では、カメラ仮配置部１３０は、仮想空間内における仮カメラの配置場所をフレームごとに決めていったが、第６変形例では、カメラ仮配置部１３０は、直前のフレームにおいて、カメラ配置決定部１３６により配置された本カメラの視野範囲を含む視野範囲を有するよう、仮カメラを配置してもよい。図２８は、仮カメラ１６と４台の第１〜第４本カメラ２４ａ〜２４ｄとの位置関係を示す。図示のごとく、直前のフレームにて配置された４台の第１〜第４本カメラ２４ａ〜２４ｄの視野範囲を含む視野範囲を実現するよう、仮カメラ１６が配置されている。
【００９４】
第７変形例
図２９は、第７変形例に係る立体画像処理装置１００の構成を示す図である。第７変形例では、実施の形態２に係る立体画像処理装置１００に新たに動作予測部１７０および変位量予測部１７２が設けられる。動作予測部１７０は、各オブジェクトの前後方向への動きおよび動作速度などを検出し、その検出結果をもとにそれらオブジェクトの将来の動きの状態を予測する。変位量予測部１７２は、動作予測部１７０による予測結果をもとに、それら立体表示すべきオブジェクトが包含される所定の領域の変位量を予測する。例えば、変位量予測部１７２は、この変位量を直前のフレームにおける奥行き方向の演算領域の範囲に加算することで、現フレームにおける奥行き方向の演算領域の範囲を予測することができる。このとき、奥行き方向の演算領域の範囲をもとにＺ値を取得して、現フレームにおけるＺ値の予測値としてもよい。また、変位量予測部１７２は、この変位量に応じたカメラの配置を実現するようなカメラ間隔や光軸交差位置などのカメラパラメータを予測することができる。
【００９５】
カメラ配置決定部１３６は、変位量予測部１７２による奥行き方向の演算領域の範囲やカメラパラメータの予測結果をもとに、仮想空間内における本カメラの配置場所を決定する。例えば、変位量予測部１７２により奥行き方向の演算領域の範囲が著しく拡張されるとの予測結果が得られているとき、カメラ配置決定部１３６は現フレームにおける本カメラのカメラ間隔が小さくなるよう本カメラを配置する。また、カメラ配置決定部１３６は、変位量予測部１７２による奥行き方向の演算領域の範囲の予測結果の変化に応じて、本カメラの光軸交差位置を調整してもよい。例えば、カメラ配置決定部１３６は、演算領域の最前方演算領域面１８から光軸交差位置までの距離と、光軸交差位置から演算領域の最後方演算領域面２０までの距離との比が一定となるように光軸交差位置を調整して、本カメラを配置してもよい。これにより、オブジェクトの動きに対応した本カメラの配置が実現でき、立体画像処理装置１００は、より高精度の視点画像を得ることができる。
【００９６】
第８変形例
実施の形態３では、Ｚ値使用判定部１９０によりＺ値を使用しないと判定されたとき、直前のフレームにおいて生成された視差画像よりも弱い視差を持たせた視差画像を現フレームにて生成した。第８変形例では、Ｚ値使用判定部１９０によりＺ値を使用しないと判定されたとき、Ｚ値取得部１３４は、直前のフレームにおいて取得されたＺ値を用いず、上述の投影処理のクリッピング時において仮設定される前方投影面３４と後方投影面３６を用いて、奥行き方向の演算領域の範囲を取得してもよい。上述のごとく、前方投影面３４と後方投影面３６は、そもそも可視オブジェクトがすべて含まれるように決定されるため、立体表示すべきオブジェクトが含まれる演算領域として、前方投影面３４と後方投影面３６間に囲まれた領域を用いるのは、効果的である。
【００９７】
第９変形例
実施の形態３では、Ｚ値使用判定部１９０によりＺ値を使用しないと判定されたとき、直前のフレームにおいて生成された視差画像よりも弱い視差を持たせた視差画像を現フレームにて生成した。本カメラにより視点画像を生成するとともにＺ値を取得する場合、立体画像処理に関する時間的な問題は少ないが、その視点画像の生成とは別の契機でＺ値の取得処理が必要な場合には、簡易な取得方法で処理の高速化を図る必要がある。このとき、第９変形例として、Ｚ値取得部１３４は視点画像の解像度よりも低い解像度でＺ値を取得してもよい。既述のごとく、取得するＺ値というのはオブジェクトの奥行き方向の演算領域の範囲を特定するためのものであり、視差画像を生成するほどの解像度は必要ない。したがって、ここでは解像度を視点画像よりも低下させることによって、Ｚ値取得のためのデータ処理量を低減し、立体表示処理全体の高速化を実現することができる。また、Ｚ値取得部１３４によるＺ値取得処理がシーンチェンジまでに完了できないときは、その取得処理が完了するまで、シーンチェンジを遅延させてもよい。
【００９８】
図３０は、第９変形例に係る立体画像処理装置１００の処理の流れを示す。オブジェクト定義部１２８により、仮想空間内にオブジェクトおよび座標系が設定された（Ｓ３２）後、カメラ仮配置部１３０は、そのオブジェクト空間内に１つの仮カメラを配置する（Ｓ３３）。Ｚ値使用判定部１９０は、Ｚ値を使用するか否かを判定し、Ｚ値を使用すると判定したとき（Ｓ６０のＹ）、Ｚ値読み出し部１４４は、Ｚ値保持部１５０を参照する（Ｓ３４）。
【００９９】
Ｚ値を使用しないと判定したとき（Ｓ６０のＮ）、あるいはＺ値保持部１５０にＺ値が保持されていないとき（Ｓ３４のＮ）、座標変換部１３２は、ワールド座標系上に定義された座標を透視座標系に変換する（Ｓ３８）。Ｚ値取得部１３４は、立体表示すべきオブジェクトを含む仮想空間の奥行き方向の演算領域の範囲を取得するために、Ｚバッファ法を用いてＺ値を取得し、最大Ｚ値および最小Ｚ値を求める（Ｓ４０）。このとき、上述のごとく、Ｚ値取得部１３４は視点画像の解像度よりも低い解像度でＺ値を取得してもよい。Ｚ値取得部１３４によるＺ値取得処理がシーンチェンジまでに完了できないときは、その取得処理が完了するまで、シーンチェンジを遅延させてもよい。
【０１００】
Ｚ値読み出し部１４４は、Ｚ値保持部１５０にＺ値が保持されているとき、Ｚ値を読み出す（Ｓ４２）。カメラ配置決定部１３６は、視差特定部１２４に保存されている適正視差を取得する（Ｓ４４）。カメラ配置決定部１３６は、最大Ｚ値、最小Ｚ値および適正視差をもとに、オブジェクト空間内に２台の本カメラを配置する（Ｓ４６）。
【０１０１】
原点移動部１３８は、本カメラがカメラ座標系の原点となるように移動させる（Ｓ４８）。投影処理部１４０は、立体表示すべきオブジェクトに対して前述の投影処理を行い（Ｓ４９）、視点画像生成部１４１は、二次元画像である視点画像を生成する（Ｓ５０）。視点画像生成時に、Ｚ値取得部１３４は、Ｚバッファ法を用いて本カメラのＺ値を取得する（Ｓ５２）。Ｚ値書き込み部１４６は、取得したＺ値をＺ値保持部１５０に書き込む（Ｓ５４）。
【０１０２】
カメラの個数分の視点画像が生成されていない場合（Ｓ５６のＮ）、原点移動以降の処理を繰り返す。カメラの個数分の視点画像が生成された場合（Ｓ５６のＹ）、視差画像生成部１４２は、それら視点画像をもとに視差画像を生成し（Ｓ５７）、１フレームの処理が完了する。次のフレームが継続する場合は（Ｓ５８のＹ）、引き続き次フレームにおける視差画像生成処理を行う。継続しない場合（Ｓ５８のＮ）、視差画像生成処理を終了する。以上、第９変形例に係る立体画像処理装置１００の処理の流れを説明した。
【０１０３】
第１０変形例
実施の形態ではスクリーン面に対して水平方向にカメラを配置したが、垂直方向に配置してもよく、水平方向の場合と同様の効果を享受できる。
【０１０４】
第１１変形例
実施の形態では、Ｚバッファ法によりオブジェクトのＺ値を取得したが、本変形例として、デプスマップを取得して奥行き方向の演算領域の範囲を特定してもよい。本変形例でも実施の形態と同様の効果を享受できる。
【０１０５】
第１２変形例
実施の形態１から実施の形態３を任意に組み合わせた形態も有効である。本変形例によれば、実施の形態１から実施の形態３を任意に組み合わせた効果が得られる。
【図面の簡単な説明】
【０１０６】
【図１】スクリーン面に対応する基本表現空間を模式的に示す図である。
【図２】仮カメラにより特定される演算領域および陰面領域を模式的に示す図である。
【図３】実施の形態１に係る立体画像処理装置が実現するオブジェクトの立体表示の様子を示す図である。
【図４】実施の形態１に係る立体画像処理装置の構成を示す図である。
【図５】図５（ａ）、図５（ｂ）は、それぞれ、立体画像処理装置の立体感調整部によって表示される左眼画像と右眼画像を示す図である。
【図６】立体画像処理装置の立体感調整部によって表示される、異なる視差をもつ複数のオブジェクトを示す図である。
【図７】立体画像処理装置の立体感調整部によって表示される、視差が変化するオブジェクトを示す図である。
【図８】視差および基本表現空間の簡易決定の際に利用するテーブルを示す図である。
【図９】立体画像処理に利用されるワールド座標系を示す図である。
【図１０】立体画像処理に利用されるモデル座標系を示す図である。
【図１１】立体画像処理に利用されるカメラ座標系を示す図である。
【図１２】立体画像処理に利用されるビューボリュームを示す図である。
【図１３】図１２のボリュームの透視変換後の座標系を示す図である。
【図１４】適正視差が実現される際のカメラ画角、画像サイズ、視差の関係を示す図である。
【図１５】図１４の状態を実現する撮影系の位置関係を示す図である。
【図１６】図１４の状態を実現する撮影系の位置関係を示す図である。
【図１７】立体画像処理に利用されるスクリーン座標系を示す図である。
【図１８】実施の形態１に係る立体画像処理装置の処理の流れを示す図である。
【図１９】実施の形態２に係る立体画像処理装置の構成を示す図である。
【図２０】実施の形態２に係る立体画像処理装置の処理の流れを示す図である。
【図２１】実施の形態３に係る立体画像処理装置の構成を示す図である。
【図２２】実施の形態３に係る立体画像処理装置の処理の流れを示す図である。
【図２３】第１変形例に係る立体画像処理装置の構成を示す図である。
【図２４】第２変形例に係る立体画像処理装置の構成を示す図である。
【図２５】第３変形例に係る立体画像処理装置の処理の流れを示す図である。
【図２６】第４変形例に係る角度を用いて奥行き方向の演算領域の範囲を取得する様子を模式的に示す図である。
【図２７】第５変形例に係る４台のカメラによる４眼式のカメラ配置を示す図である。
【図２８】第６変形例に係る仮カメラと本カメラとの位置関係を示す図である。
【図２９】第７変形例に係る立体画像処理装置の構成を示す図である。
【図３０】第９変形例に係る立体画像処理装置の処理の流れを示す図である。
【符号の説明】
【０１０７】
１６  仮カメラ、２２  オブジェクト、２４  本カメラ、１００  立体画像処理装置、１３０  カメラ仮配置部、１３４  Ｚ値取得部、１３６  カメラ配置決定部、１４２  視差画像生成部、１６０  演算選択情報取得部、１７０  動作予測部、１７２  変位量予測部、１９０  Ｚ値使用判定部、Ｒ１  演算領域。
【図１】
2005295004.tif 000003
【図２】
2005295004.tif 000004
【図３】
2005295004.tif 000005
【図４】
2005295004.tif 000006
【図５】
2005295004.tif 000007
【図６】
2005295004.tif 000008
【図７】
2005295004.tif 000009
【図８】
2005295004.tif 000010
【図９】
2005295004.tif 000011
【図１０】
2005295004.tif 000012
【図１１】
2005295004.tif 000013
【図１２】
2005295004.tif 000014
【図１３】
2005295004.tif 000015
【図１４】
2005295004.tif 000016
【図１５】
2005295004.tif 000017
【図１６】
2005295004.tif 000018
【図１７】
2005295004.tif 000019
【図１８】
2005295004.tif 000020
【図１９】
2005295004.tif 000021
【図２０】
2005295004.tif 000022
【図２１】
2005295004.tif 000023
【図２２】
2005295004.tif 000024
【図２３】
2005295004.tif 000025
【図２４】
2005295004.tif 000026
【図２５】
2005295004.tif 000027
【図２６】
2005295004.tif 000028
【図２７】
2005295004.tif 000029
【図２８】
2005295004.tif 000030
【図２９】
2005295004.tif 000031
【図３０】
2005295004.tif 000032