(57)【特許請求の範囲】
【請求項１】
記憶部に記憶された三次元画像情報のうち、１列に並ぶ複数の視点のうち第１の視点および第２の視点から死角となるオブジェクトが境界面より奥に位置するように該境界面を設定し、該境界面より手前に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第１および第２の投影二次元画像を生成し、
該生成した第１および第２の投影二次元画像に基づき、該複数の視点のうちの第３の視点を基準とする第１の補間二次元画像を生成し、
該境界面より奥に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第４および第５の投影二次元画像を生成し、
該生成した第４および第５の投影二次元画像に基づき、該第３の視点を基準とする第２の補間二次元画像を生成し、
該第１の補間二次元画像と該第２の補間二次元画像とを該境界面からの距離に基づいて合成する
ことを特徴とする画像生成方法。
【請求項２】
該三次元画像情報は複数の多角形により定義され、該多角形は各頂点の位置情報により定義されてなるとともに、該多角形の頂点のうちいずれか１つが該境界面よりも手前に位置する場合に、該多角形は該境界面より手前に位置するものとし、該多角形のいずれの頂点も該境界面よりも奥に位置する場合に、該多角形は該境界面より奥に位置するものとする、請求項１に記載の画像生成方法。
【請求項３】
該三次元画像は複数の多角形により形成され、該第１の視点および第２の視点を基準として投影した二次元画像を形成する多角形の頂点情報は、投影前の該三次元画像における多角形の頂点と該境界面との距離情報を有することを特徴とする、請求項１に記載の画像生成方法。
【請求項４】
該境界面は、互いに隣接する複数の該多角形のすべての頂点が、該複数の視点を基準とする該境界面の手前または奥のいずれか一方に分離される平面であることを特徴とする、
請求項１に記載の画像生成方法。
【請求項５】
三次元画像情報を記憶する記憶部と、
該三次元画像情報に基づき、１列に並ぶ複数の視点の各々における投影二次元画像を生成する制御部を有し、該制御部は、
該三次元画像情報のうち、該複数の視点のうち第１の視点および第２の視点から死角となるオブジェクトが境界面より奥に位置するように該境界面を設定し、該境界面より手前に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第１および第２の投影二次元画像を生成し、
該生成した第１および第２の投影二次元画像に基づき、該複数の視点のうちの第３の視点を基準とする第１の補間二次元画像を生成し、
該境界面より奥に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第４および第５の投影二次元画像を生成し、
該生成した第４および第５の投影二次元画像に基づき、該第３の視点を基準とする第２の補間二次元画像を生成し、
該第１の補間二次元画像と該第２の補間二次元画像とを該境界面からの距離に基づいて合成する
ことを特徴とする画像生成装置。
【請求項６】
該三次元画像情報は複数の多角形により定義され、該多角形は各頂点の位置情報により定義されてなるとともに、該多角形の頂点のうちいずれか１つが該境界面よりも手前に位置する場合に、該多角形は該境界面より手前に位置するものとし、該多角形のいずれの頂点も該境界面よりも奥に位置する場合に、該多角形は該境界面より奥に位置するものとする、請求項５に記載の画像生成装置。
【請求項７】
記憶部に記憶された三次元画像情報のうち、１列に並ぶ複数の視点のうち第１の視点および第２の視点から死角となるオブジェクトが境界面より奥に位置するように該境界面を設定し、該境界面より手前に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第１および第２の投影二次元画像を生成するステップと、
該生成した第１および第２の投影二次元画像に基づき、該複数の視点のうちの第３の視点を基準とする第１の補間二次元画像を生成するステップと、
該境界面より奥に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第４および第５の投影二次元画像を生成するステップと、
該生成した第４および第５の投影二次元画像に基づき、該第３の視点を基準とする第２の補間二次元画像を生成するステップと、
該第１の補間二次元画像と該第２の補間二次元画像とを該境界面からの距離に基づいて合成するステップと
を有する画像生成プログラム。
【請求項８】
該三次元画像情報は複数の多角形により定義され、該多角形は各頂点の位置情報により定義されてなるとともに、該多角形の頂点のうちいずれか１つが該境界面よりも手前に位置する場合に、該多角形は該境界面より手前に位置するものとし、該多角形のいずれの頂点も該境界面よりも奥に位置する場合に、該多角形は該境界面より奥に位置するものとする、請求項７に記載の画像生成プログラム。

【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元の立体画像から二次元画像を生成する技術に関する。
【背景技術】
【０００２】
アナログディスプレイなどの二次元の画像表示装置において、三次元座標系で作成された立体画像を表示する場合、ある一つの視点を基準とし、画像表示装置の表示画面に立体画像を投影する。
【０００３】
立体画像はポリゴンやワイヤーフレームで表示画面に表示される。ポリゴンの場合、立体画像は三角形などの複数の多角形で形成されている。立体画像を表示画面に投影するため、三次元座標系である多角形の頂点座標は、二次元平面に変換処理される。変換処理後それぞれの多角形平面はシェーディング処理、テクスチャマッピング処理、輝度処理などにより塗りつぶされる。視点から遠くにある画素から順番に上書きすることにより、ある視点から表示画面に投影した立体画像を正しく生成することが出来る。
【０００４】
１つの視点から投影された立体画像を表示するアナログディスプレイに対し、複数の視点から立体画像を表示することが出来る画像表示装置としてレンティキュラ・ディスプレイ（Ｌｅｎｔｉｃｕｌａｒ  Ｄｉｓｐｌａｙ）がある。レンティキュラ・ディスプレイは、１つの立体画像を複数の視点からそれぞれ表示画面に投影した二次元画像を生成し、生成した複数の二次元画像を合成することにより、視点の動きに応じて立体画像が変化するように表示することが出来る。
【０００５】
表示画面に投影する処理を１列に並ぶ複数の視点について実行する場合、視点数が増えるほど処理量は大きくなる。以下の非特許文献には複数の視点から表示画面に投影した二次元画像を２つの視点から表示画面に投影した二次元画像の補間演算から生成する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ｓｅｏｋ−Ｈｏｏｎ  Ｋｉｍ他、“Ａ  ３６ｆｐｓ  ＳＸＧＡ  ３Ｄ  Ｄｉｓｐｌａｙ  Ｐｒｏｃｅｓｓｏｒ  ｗｉｔｈ  ａ  Ｐｒｏｇｒａｍｍａｂｌｅ  ３Ｄ  Ｇｒａｐｈｉｃｓ  Ｒｅｎｄｅｒｉｎｇ  Ｅｎｇｉｎｅ”、ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｃｉｒｃｕｉｔｓ  Ｃｏｎｆｅｒｅｎｃｅ、２００７、ｐｐ．２７６−２７７、２００７．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
立体画像を複数の視点から表示画面に投影する場合、２つの視点のいずれからも死角となるが、その他の視点においては死角とならない部分が生じることがある。死角を有する２つの視点から表示画面に投影した二次元画像を用い、その他の視点から表示画面に投影した二次元画像を補間演算により生成する場合、いずれの視点からも死角となる部分の画像は、補間演算では生成できない。
【０００８】
本発明の一実施例では、２つの視点のいずれからも死角となる部分があっても、２つの視点から表示画面に投影した二次元画像の補間演算を用いて、その他の視点から表示画面に投影した二次元画像を正確に生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、画像生成方法は、記憶部に記憶された三次元画像情報のうち、所定の境界面より手前に位置するオブジェクトの三次元画像情報に基づき、１列に並ぶ複数の視点のうち第１の視点および第２の視点における第１および第２の投影二次元画像を生成し、該生成した第１および第２の投影二次元画像に基づき、該複数の視点のうちの第３の視点を基準とする第１の補間二次元画像を生成し、該所定の境界面より奥に位置するオブジェクトの三次元画像情報に基づき、該第１の視点および該第２の視点における第４および第５の投影二次元画像を生成し、該生成した第４および第５の投影二次元画像に基づき、該第３の視点を基準とする第２の補間二次元画像を生成し、該第１の補間二次元画像と該第２の補間二次元画像とを該境界面からの距離に基づいて合成することを特徴とする。
【発明の効果】
【００１０】
実施形態によれば、２つの視点のいずれからも死角となる部分があっても、２つの視点における投影二次元画像の補間演算を用いて、その他の視点における投影二次元画像を正確に生成することが出来る。
【図面の簡単な説明】
【００１１】
【図１】ＡからＣは立体画像を複数の視点から表示画面に投影した二次元画像図である。
【図２】立体画像と視点との位置関係を表す上面図である。
【図３】ＡからＦは立体画像を近景と遠景に分離してそれぞれ別個に補間した図である。
【図４】画像生成装置のブロック図である。
【図５】ＣＰＵおよびメモリの詳細ブロック図である。
【図６】画像生成処理の詳細フローチャート図である。
【図７】画像生成処理の他の詳細フローチャート図である。
【図８】画像生成処理の他の詳細フローチャート図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について説明する。なお、各実施形態における構成の組み合わせも本発明の実施形態に含まれる。
【００１３】
図１は立体画像を複数の視点から表示画面に投影した二次元画像図である。図１のＡは立体画像を正面から表示画面に投影した二次元画像図である。図１のＢは立体画像を最も左端の視点から表示画面に投影した二次元画像図である。図１のＣは立体画像を最も右端の視点から表示画面に投影した二次元画像図である。画像の左端および右端は画像を表示する表示装置の表示限界により決定する視点の位置である。
【００１４】
図１のＡにおいて、立体１は視点位置を基準として近景に存在する立体である。立体の中央には貫通した四角い穴が開いている。立体２、３、４は視点位置を基準として遠景に存在する立体である。立体画像を正面の視点から見ると、立体１の穴の向こうには遠景に存在する立体３の一部が見える。ここで近景とは、表示画面を基準面としてあらかじめ設定した閾値よりも手前にある画像情報であり、遠景とは、表示画面を基準面として閾値よりも奥にある画像情報である。
【００１５】
図１のＢの通り立体画像を左端の視点から見ると、立体１の中央にある穴からは立体３が見えない。よって立体画像を最も左側の視点から表示画面に投影した二次元画像には立体３の一部のデータが存在しない。
【００１６】
図１のＣの通り立体画像を右端の視点から見ると、立体１の中央にある穴からは立体３が見えない。よって立体画像を右端の視点から表示画面に投影した二次元画像には立体３の一部のデータが存在しない。
【００１７】
よって、図１のＢの二次元画像と図１のＣの二次元画像から立体１の正面の視点における補間画像を生成すると、立体１の中央にある穴の向こうに立体３の存在しない不正確な二次元画像が生成される。
【００１８】
最も左側の視点および最も右側の視点から表示画面に投影する場合に、いずれの視点からも死角になる部分を作らないようにすれば、任意の視点からの正確な二次元画像を補間により生成することが出来る。
【００１９】
図２は立体画像と視点との位置関係を表す上面図である。立体１、２、３、４は三次元空間５に配置されている三次元画像情報である。三次元画像情報は後述する記憶部に記憶されている。表示画面６は視点Ａ、Ｂ、Ｃを基準として立体１、２、３、４を投影する二次元平面である。境界面７は三次元空間５における立体１、２、３、４を近景の立体１と遠景の立体２、３、４に分離する境界面である。境界面７は表示画面６と並行である。
【００２０】
視点Ａ、Ｂ、Ｃは三次元空間５と同じ座標系に仮想的に置かれた視点座標位置である。視点Ａ、Ｂ、Ｃは一列に並んでいる。視点Ａは表示画面６を正面から見る位置であり、図１のＡに対応する。視点Ｂは表示画面６を左端から見る位置であり、図１のＢに対応する。視点Ｃは表示画面６を右端から見る位置であり、図１のＣに対応する。
【００２１】
視点Ａ、Ｂ、Ｃを基準として立体１、２、３、４を二次元座標系に座標変換することにより、各視点Ａ、Ｂ、Ｃから立体１、２、３、４を見た二次元画像を表示画面６に投影する。
【００２２】
本実施例において画像生成装置は、記憶部に記憶されている三次元画像情報のうち、境界面７より手前の画像情報である立体１に基づき、左端の視点Ｂおよび右端の視点Ｃにおける近景の二次元画像を生成する。画像生成装置は生成したこれら近景の二次元画像に基づき、正面の視点Ａを基準とする立体１の二次元画像を補間生成する。さらに画像生成装置は、境界面７より奥の画像情報である立体２、３、４に基づき、左端の視点Ｂおよび右端の視点Ｃにおける遠景の二次元画像を生成する。画像生成装置は生成したこれら遠景の二次元画像に基づき、正面の視点Ａを基準とする遠景の二次元画像を補間生成する。画像生成装置は、補間生成した近景の二次元画像と遠景の二次元画像とを境界面７からの距離に基づいて合成する。
【００２３】
以上の処理により画像生成装置は、２つの視点のいずれからも死角となる部分があっても、２つの視点における投影二次元画像の補間演算を用いて、その他の視点における投影二次元画像を正確に生成することが出来る。
【００２４】
図３のＡからＦは遠景と近景を別個に補間することを説明する図である。図３のＡからＣは遠景の補間を説明する図である。図３のＤからＦは近景の補間を説明する図である。
【００２５】
図３のＡは立体画像から近景の立体１を削除した三次元画像を最も左側の視点から表示画面に投影した二次元画像である。表示画面に投影した二次元画像を構成する各頂点情報は、表示画面からの距離に対応する奥行き情報を有する。立体１を削除することにより、立体３の全体を表示画面に投影することが出来る。奥行き情報は立体を近景と遠景に分離するための境界面からの距離としても良い。頂点情報として奥行き情報を持たせることにより、近景と遠景の二次元画像を別個に補間演算により生成した後、２つの二次元画像をそれぞれの頂点の奥行き情報に基づいて合成することにより、視点からの距離を考慮した正確な二次元画像を生成することが出来る。
【００２６】
図３のＢは立体画像から近景の立体１を削除した三次元画像を最も右側の視点から表示画面に投影した二次元画像である。表示画面に投影した二次元画像を構成する各頂点情報は、表示画面からの距離に対応する奥行き情報を有する。立体１を削除することにより、立体３の全体を表示画面に投影することが出来る。
【００２７】
図３のＣは図３のＡおよびＢの二次元画像に基づいて補間により求めた、立体画像を正面の視点から表示画面に投影した二次元画像である。補間により求めた二次元画像の各頂点の奥行き情報は、元の二次元画像が有する各頂点の奥行き情報を補間演算することにより求められる。立体１を削除することにより、立体３の補間二次元画像を正確に生成することが出来る。
【００２８】
図３のＤは図３のＡにおいて削除した立体１の三次元画像を最も左側の視点から表示画面に投影した二次元画像である。図３のＥは図３のＢにおいて削除した立体１の三次元画像を最も右側の視点から表示画面に投影した二次元画像である。表示画面に投影した二次元画像を構成する各頂点情報は表示画面からの距離に対応する奥行き情報を有する。図３のＦは図３のＤおよびＥの二次元画像に基づいて補間により求めた、立体１を正面の視点から表示画面に投影した補間二次元画像である。補間により求めた二次元画像の各頂点の奥行き情報は、元の二次元画像が有する各頂点の奥行き情報を補間演算することにより求められる。
【００２９】
補間生成された図３のＣおよびＦの補間二次元画像の各頂点は、それぞれ奥行き情報を有する。それぞれの二次元画像の各頂点が有する奥行き情報に基づいて図３のＣとＦを重ね描きすることにより、補間演算により正面から表示画面に投影した二次元画像を正確に生成することが出来る。
【００３０】
以上の通り、立体画像を遠景と近景とに分離し、別々に補間画像を生成してから奥行き情報に基づいて合成することにより、２つの視点のいずれからも死角となる部分があっても、２つの視点から表示画面に投影した二次元画像の補間演算を用いて、他の視点から表示画面に投影した二次元画像を正確に生成することが出来る。
【００３１】
図４は図３の画像生成処理を実現する画像生成装置１０のブロック図である。画像生成装置１０はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、メモリ１２、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１３、入力装置１４、画像表示装置１５を有する。
【００３２】
ＣＰＵ１１は立体画像をある視点から表示画面に投影した場合の二次元画像の生成、複数の二次元画像からの補間画像の生成などを行う制御部である。画像生成装置１０はＣＰＵ１１と別に、画像処理演算用のＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を有していても良い。
【００３３】
ＨＤＤ１３は処理対象の立体画像を構成するフレームの頂点情報、テクスチャの画素情報などを記憶する。ＨＤＤ１３はメモリ１２に一時記憶されたＣＰＵ１１の演算結果を記憶する。ＨＤＤの代わりに、フラッシュメモリなどの不揮発メモリで構成されたＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を用いても良い。
【００３４】
メモリ１２はＨＤＤ１３に記憶されたフレームの頂点情報、テクスチャの画素情報などのうち、ＣＰＵ１１による演算対象の情報を一時的に記憶する。メモリ１２はＣＰＵ１１の演算結果を一時的に記憶する。
【００３５】
入力装置１４は画像処理の条件などを画像生成装置１０に入力するための装置である。入力装置１４にはキーボード、マウスなどが挙げられる。
【００３６】
画像表示装置１５は画像処理結果を視覚的に表示する装置である。画像表示装置１５は例えば前述のレンティキュラ・ディスプレイである。画像表示装置１５に出力する画像はＣＰＵ１１により生成される。ＣＰＵ１１は画像表示装置１５の出力形式に合わせて出力画像を生成する。
【００３７】
以上の構成により画像生成装置１０は、ＨＤＤ１３に記憶された三次元画像に対し、入力装置１４により入力された条件に応じて、任意の視点から表示画面に投影した二次元画像を生成し、画像表示装置１５により生成した二次元画像を視覚的に出力することが出来る。
【００３８】
図５は本実施例におけるＣＰＵ１１およびメモリ１２の詳細ブロック図である。ＣＰＵ１１はプログラムの実行によりメモリ１２のデータを処理し、処理結果をメモリ１２に出力する。ＣＰＵ１１により実行されるプログラムはメモリ１２に記憶しても良いし、ＣＰＵ１１の専用メモリに記憶しても良い。
【００３９】
ＣＰＵ１１はプログラムにより画像分離手段２０、頂点処理手段２１、画素生成手段２２、画素補間手段２３、画像合成手段２５を実行する。
【００４０】
画像分離手段２０はあらかじめ設定された閾値に応じて、三次元画像を近景と遠景に分離する。画像分離手段２０は分離した三次元画像のうち、処理対象外である近景または遠景の三次元画像を一時的に除去する。閾値は例えば、表示画面と並行に設定された境界面である。
【００４１】
閾値となる境界面は、三次元画像を構成する、互いに隣接する複数の多角形の頂点が、視点を基準とする境界面の手前または奥のいずれか一方に分離される平面であってもよい。ＣＰＵ１１は、複数の三次元画像のうち１つの三次元画像を構成する多角形の頂点が、境界面のいずれか一方に分離されることを判別することにより境界面を設定することが出来る。
【００４２】
また三次元画像情報は複数の多角形により定義されている。この多角形は各頂点の位置情報により定義されている。多角形の頂点のうちいずれか１つが境界面よりも手前に位置する場合に、この多角形は境界面より手前に位置するものとし、多角形のいずれの頂点も境界面よりも奥に位置する場合に、多角形は境界面より奥に位置するものとしてもよい。
【００４３】
三次元画像の分離を多角形単位で行うことによりＣＰＵ１１は、１つの三次元画像が境界面と交差する場合であっても、三次元画像を境界面の手前と奥とに分離することが出来る。１つの三次元画像を死角が存在する領域付近で分離することにより、２つの視点から死角となる部分が三次元画像にあっても、補間演算による他の視点からの二次元画像の生成を行うことが出来る。
【００４４】
境界面は１つである必要は無く、三次元画像における死角の数に応じて複数設けても良い。すべての境界面において近景と遠景とに三次元画像を分離することにより、複数死角が存在する三次元画像であっても補間演算により正確な二次元画像を得ることが出来る。
【００４５】
頂点処理手段２１は、画像分離手段２０によって処理対象と判定された三次元画像の頂点を任意の視点から表示画面に投影した二次元画像の頂点へと座標変換する。頂点処理手段２１は二次元画像へ座標変換した場合の各頂点の、表示画面からの距離を奥行き情報として計算し、座標変換後の頂点情報の一部としてメモリ１２に書き込む。頂点処理手段２１は光源の位置や光源の強さなどの光源情報に基づいて各頂点の輝度を算出し、頂点情報の一部としてメモリ１２に書き込む。
【００４６】
画素生成手段２２は頂点処理手段２１により算出された輝度に基づいて、表示画面に投影した二次元画像の頂点に画素データを割り当てる。画素生成手段２２は各頂点に割り当てられた画素情報に基づいて、複数の頂点により囲まれた平面を形成する画素情報を補間演算により算出する。画素生成手段２２はテクスチャマッピング処理によりそれぞれの平面にテクスチャを貼り付ける。これらの画素生成処理は一般的にラスタライズと呼ばれる。
【００４７】
画素補間手段２３は２つの視点からそれぞれ表示画面に投影した二次元画像情報に基づいて、任意の視点から表示画面に投影した二次元画像情報を補間計算により生成し出力する。画素補間手段２３は補間対象となる頂点に対応する２つの頂点を右端・左端画像情報から抽出し、補間演算を実行する。画素補間手段２３は各頂点の奥行き情報についても補間演算を実行し、補間画像の各頂点における奥行き情報を算出する。
【００４８】
画像合成手段２５は別々に表示画面に投影した近景・遠景の二次元画像を頂点の奥行き情報に基づいて合成する。近景または遠景の一方に対し他方が投影する場合、画像合成手段２５は二次元画像の合成処理において、近景と遠景との間の投影を考慮して二次元画像の画素値を再計算しても良い。
【００４９】
メモリ１２は画像情報３０、除去画像情報２７、右端・左端画像情報２８、補間画像情報２９を有する。
【００５０】
画像情報３０は表示画面への投影処理対象である三次元画像の画像情報の全部または一部である。画像情報３０は頂点情報２４、画素情報２６を有する。除去画像情報２７、右端・左端画像情報２８、補間画像情報２９も画像情報３０と同様に頂点情報、画素情報を有するが、図５ではその記載を省略する。
【００５１】
頂点情報２４は表示画面への投影対象である三次元画像を構成する頂点の位置情報である。頂点情報２４はＣＰＵ１１の処理能力およびメモリ１２の記憶容量に合わせてＨＤＤ１３から読み出された三次元画像情報の全部または一部である。
【００５２】
画素情報２６は各頂点の頂点情報、および頂点により囲まれる平面を構成する画素の情報である。画素情報２６は各画素の色情報や輝度情報を有する。画素情報２６は画素生成手段２２により出力される。画素情報２６は各平面に割り当てるテクスチャ情報を有しても良い。また本実施例では画素情報２６を頂点情報２４と別個の情報として定義しているが、画素情報を頂点情報２４の一部として定義しても良い。
【００５３】
除去画像情報２７は近景と遠景に分割した三次元画像のうち、処理対象から除外した部分の画像情報である。処理対象から除外した部分の画像情報を一時的に記憶しておくことにより、再度分割処理をすることなく、除外した部分の画像情報を処理することが出来る。
【００５４】
右端・左端画像情報２８は三次元画像を左端および右端の視点から表示画面に投影した画像情報である。本実施例において右端および左端の視点から表示画面に投影する対象となる三次元画像は近景または遠景を除去した後の三次元画像である。
【００５５】
表示画面に投影されたそれぞれの頂点は奥行き情報を有する。奥行き情報は表示画面から各頂点までの距離に関する情報である。三次元画像を表示画面に投影すると、視点を基準とする頂点の奥行きに関する情報は失われる。本実施例では近景と遠景とを別々に補間生成した後に奥行き情報を考慮して合成するため、表示画面を基準とする各頂点の奥行きに関する情報を頂点の情報として記憶する。
【００５６】
補間画像情報２９は右端・左端画像情報２８に基づいて任意の視点から表示画面に投影した補間画像情報である。補間画像情報２９を生成するための補間演算は、画像補間手段２３により実行される。補間画像情報２９はまた、補間演算により算出した各頂点における奥行き情報を有する。
【００５７】
以上の通り画像生成装置１０は、メモリ１２に一時記憶した情報に基づいてＣＰＵ１１にそれぞれの手段を実行させることにより、２つの視点から表示画面に投影した二次元画像の補間演算を用いて他の視点から表示画面に投影した二次元画像を正確に生成することが出来る。
【００５８】
図６は画像生成処理の詳細フローチャート図である。図６のフローチャートはＣＰＵ１１により実行される。ＣＰＵ１１は遠景の二次元画像を生成後、近景の二次元画像を生成し、２つの二次元画像を合成する。
【００５９】
ＣＰＵ１１はステップＳ１１からステップＳ１７までの処理により右端・左端画像情報２８を生成する（Ｓ１０）。ＣＰＵ１１はメモリ１２から画像情報３０の頂点情報２４を読み込み、頂点処理手段２１を実行する（Ｓ１１）。頂点処理手段２１は読み込んだ三次元座標系の頂点情報２４に対して座標変換を行い、左端または右端の視点から表示画面に投影した二次元座標系の画像を生成する。頂点処理手段２１は二次元座標系に変換後の各頂点について奥行き情報を生成する。
【００６０】
ＣＰＵ１１は二次元座標系に変換した各頂点について画像分離手段２０を実行し、頂点移動量を計算する（Ｓ１２）。各頂点の頂点移動量Ｄは、奥行き情報をＷ、定数をＣとすると、Ｄ＝Ｃ／Ｗにより算出することが出来る。奥行き情報Ｗは表示画面からの距離が遠いほど大きい。よって頂点移動量Ｄの値は、近景の頂点ほど大きくなり、遠景の頂点ほど小さくなる。立体画像を遠景と近景に分割するためにここでは頂点移動量を基準としたが、奥行き情報を基準としても良い。
【００６１】
ＣＰＵ１１は画像分離手段２０により各頂点について移動量判定フラグを生成する（Ｓ１３）。画像分離手段２０は各頂点の頂点移動量Ｄを計算し、あらかじめ設定した閾値ＤＴＨと比較する。画像分離手段２０は頂点移動量Ｄが閾値ＤＴＨよりも大きい場合、移動量判定フラグの値を“１”とし、頂点移動量Ｄが閾値ＤＴＨ以下の場合、移動量判定フラグの値を“０”とする。移動量判定フラグは頂点情報の一部として記憶される。
【００６２】
前述の通り本実施例における三次元画像は多角形の集合体となっていてもよい。画像分離手段２０は各多角形について、多角形を構成する頂点情報を読み出す。画像分離手段２０は読み出した多角形を構成する頂点の少なくとも１つの移動量判定フラグの値が“１”であれば、その多角形を移動量の大きい図形として除去する（Ｓ１４）。ＣＰＵ１１は除去対象となるすべての図形を除去画像情報２７としてメモリ１２に出力する（Ｓ１５）。除去画像情報２７は、例えば除去対象となる多角形を構成する頂点の頂点情報を参照できるように格納したインデックス情報であっても良い。本実施例において除去画像情報２７は、近景の画像情報である。
【００６３】
ＣＰＵ１１は除去処理後の画像情報について、画素生成手段２２により画素生成処理を実行する（Ｓ１６）。本実施例において除去処理後の画像情報は遠景の画像情報である。ＣＰＵ１１は画素生成手段２２により生成された右端・左端画像情報２８をメモリ１２に出力する（Ｓ１７）。
【００６４】
ＣＰＵ１１はステップＳ１９の処理を（視点数−２）回繰り返すことにより、各視点における補間画像を計算する（Ｓ１８）。ステップＳ１８における視点数は右端の視点および左端の視点を含む。よって右端の視点と左端の視点の間の１つの視点における補間画像を計算する場合、ＣＰＵ１１がステップＳ１９の処理を実行する回数は、１回となる。
【００６５】
ＣＰＵ１１はステップＳ１９において画素補間手段２３を実行する。画素補間手段２３はメモリ１２に出力された右端・左端画像情報２８に基づいて、任意の視点から表示画面に投影した補間画像情報２９を補間演算する。画素補間手段２３はそれぞれの頂点における奥行き情報も補間演算する。
【００６６】
ＣＰＵ１１はステップＳ２１からステップＳ２４までの処理を視点数回繰り返す（Ｓ２０）。ＣＰＵ１１はこれら処理を繰り返すことにより、各視点から表示画面に投影した二次元画像の遠景と近景を合成する。
【００６７】
ＣＰＵ１１はメモリ１２に記憶した除去画像情報２７を読み出す（Ｓ２１）。ＣＰＵ１１は各視点から表示画面に投影した二次元画像を生成するため、除去画像情報２７を構成する頂点情報を読み出す。ＣＰＵ１１は頂点処理手段２１により、読み出した頂点情報について各視点から表示画面に投影した二次元画像への座標変換処理を実行する（Ｓ２２）。また頂点処理手段２１は各頂点における奥行き情報を計算し、メモリ１２に出力する。
【００６８】
本実施例では右端の視点および左端の視点以外の各視点から表示画面に投影した除去画像も頂点処理手段２１により生成する。除去画像情報２７のみについて頂点処理を実行することにより、すべての画像情報に対して頂点処理を実行する場合に比べてＣＰＵの負荷を小さくすることが出来る。
【００６９】
除去画像である近景画像に対する二次元画像は、遠景画像の場合と同様に補間演算により生成しても良い。補間演算で生成することにより、ＣＰＵ１１は頂点処理に比べて小さい演算負荷で各視点から表示画面に投影した除去画像を生成することが出来る。
【００７０】
ＣＰＵ１１は画素生成手段２２により、各視点から表示画面に投影した除去画像について各頂点および頂点に囲まれた面の画素情報を生成する（Ｓ２３）。
【００７１】
ＣＰＵ１１は各視点から表示画面に投影した近景の画像情報と各視点から表示画面に投影した遠景の画像情報とを視点ごとに合成する（Ｓ２４）。ＣＰＵ１１は画像合成手段２５により各画像を構成する頂点の奥行き情報に基づいて合成処理を実行する。奥行き情報に基づいて合成処理をすることにより、近景の二次元画像と遠景の二次元画像とを正確に生成することが出来る。
【００７２】
以上の通り、立体画像を遠景と近景とに分離し、別々に補間画像を生成してから奥行き情報に基づいて合成することにより、２つの視点のいずれからも死角となる部分があっても、２つの視点から表示画面に投影した二次元画像の補間演算を用いて、他の視点から表示画面に投影した二次元画像を正確に生成することが出来る。
【００７３】
また、死角が複数存在する場合であっても、視点から死角が存在する位置までの距離で立体画像を分離し、分離した立体画像についてそれぞれ補間画像を求めることにより、正確な二次元画像を生成することが出来る。
【００７４】
図７は画像生成処理の他の詳細フローチャート図である。図７のフローチャートはＣＰＵ１１により実行される。ＣＰＵ１１は近景の二次元画像を生成後、遠景の二次元画像を生成し、２つの二次元画像を合成する。
【００７５】
ＣＰＵ１１はステップＳ３１からステップＳ３９までの処理を視点数だけ繰り返すことにより、各視点からの近景の二次元画像を生成する（Ｓ３０）。視点数には右端からの視点および左端からの視点が含まれる。
【００７６】
ＣＰＵ１１はメモリ１２から頂点情報２４を読み込み、頂点処理手段２１を実行する（Ｓ３１）。頂点処理手段２１は読み込んだ三次元座標系の頂点情報２４に対して座標変換を行い、各視点から表示画面に投影した二次元座標系の画像を生成する。頂点処理手段２１は二次元座標系に変換後の各頂点について奥行き情報を生成する。
【００７７】
ＣＰＵ１１は二次元座標系に変換した各頂点について画像分離手段２０を実行し、頂点移動量を計算する（Ｓ３３）。各頂点の頂点移動量Ｄの計算方法は前述の通りである。
【００７８】
ＣＰＵ１１は画像分離手段２０により各頂点について移動量判定フラグを生成する（Ｓ３４）。移動量判定フラグの決定方法は前述の通りである。
【００７９】
画像分離手段２０は三次元画像を形成する各多角形について、多角形の頂点情報を読み出す。画像分離手段２０は読み出した多角形を構成する頂点の少なくとも１つの移動量判定フラグの値が“０”であれば、その多角形を移動量の小さい画像として除去する（Ｓ３５）。
【００８０】
ＣＰＵ１１は処理中の視点が右端または左端の視点かどうかを判定する（Ｓ３６）。処理中の視点が右端または左端の視点である場合（Ｓ３６：ＹＥＳ）、ＣＰＵ１１は除去した近景部分の画像情報を除去画像情報２７としてメモリ１２に出力する（Ｓ３７）。除去画像情報２７は、例えば除去対象となる多角形を構成する頂点の頂点情報を格納するインデックス情報であっても良い。本実施例において除去画像情報２７は、遠景の画像情報である。
【００８１】
処理中の視点が右端または左端の視点でない場合（Ｓ３６：ＮＯ）、ＣＰＵ１１は除去処理後の画像情報について、画素生成手段２２により画素生成処理を実行する（Ｓ３８）。本実施例において除去処理後の画像情報は近景の画像情報である。ＣＰＵ１１は画素生成手段２２により生成された画像情報を移動量の大きい画像情報３０としてメモリ１２に出力する（Ｓ３９）。
【００８２】
ＣＰＵ１１はステップＳ４１からステップＳ４４までの処理を右端および左端からの視点について繰り返す（Ｓ４０）。ＣＰＵ１１はこの繰り返し処理により、除去画像情報２７について左端および右端の視点から表示画面に投影した二次元画像を生成することが出来る。
【００８３】
ＣＰＵ１１は除去画像情報２７を読み出す（Ｓ４１）。ＣＰＵ１１は読み出した除去画像情報２７について、画素生成手段２２により画素生成処理を実行する（Ｓ４３）。本実施例において除去画像情報２７は近景の画像情報である。ＣＰＵ１１は画素生成手段２２により生成された近景の右端・左端画像情報２８をメモリ１２に出力する（Ｓ４４）。
【００８４】
ＣＰＵ１１はステップＳ４６の処理を（視点数−２）回繰り返す（Ｓ４５）。ＣＰＵ１１はステップＳ４６において画素補間手段２３を実行する。画素補間手段２３はメモリ１２に出力された近景の右端・左端画像情報２８に基づいて、任意の視点から表示画面に投影した近景の補間画像情報２９を補間演算する。画素補間手段２３はそれぞれの頂点における奥行き情報も補間演算する。
【００８５】
ＣＰＵ１１はステップＳ４８の処理を視点数だけ繰り返す（Ｓ４７）。ＣＰＵ１１は画像合成手段２５により、各視点から表示画面に投影した二次元画像の遠景と近景を合成する（Ｓ４８）。ＣＰＵ１１は各画像を構成する頂点の奥行き情報に基づいて合成処理を実行する。奥行き情報に基づいて合成処理をすることにより、近景の二次元画像と遠景の二次元画像から正確な二次元画像を生成することが出来る。
【００８６】
以上の通り、立体画像を遠景と近景とに分離し、別々に補間画像を生成してから奥行き情報に基づいて合成することにより、２つの視点のいずれからも死角となる部分があっても、２つの視点から表示画面に投影した二次元画像の補間演算を用いて、他の視点から表示画面に投影した二次元画像を正確に生成することが出来る。また、遠景、近景に分離後いずれの画像を先に処理しても、奥行き情報を用いることにより正確に遠景と近景とを合成することが出来る。
【００８７】
図８は画像生成処理の他の詳細フローチャート図である。図８のフローチャートはＣＰＵ１１により実行される。ＣＰＵ１１は立体画像を遠景と近景に分割した後、それぞれ別個に二次元画像を生成し、２つの二次元画像を合成する。本実施例においてＣＰＵ１１は近景と遠景の投影処理を同時に並列処理可能なマルチプロセッサであってもよい。
【００８８】
ＣＰＵ１１はステップＳ５１からステップＳ５８までの処理により近景の右端・左端画像情報２８１および遠景の右端・左端画像情報２８２を生成する（Ｓ５０）。ＣＰＵ１１はメモリ１２から頂点情報２４を読み込み、頂点処理手段２１を実行する（Ｓ５１）。頂点処理手段２１は読み込んだ三次元座標系の頂点情報２４に対して座標変換を行い、左端または右端の視点から表示画面に投影した二次元座標系の画像を生成する。頂点処理手段２１は二次元座標系に変換後の各頂点について奥行き情報を生成する。
【００８９】
ＣＰＵ１１は二次元座標系に変換した各頂点について画像分離手段２０を実行し、頂点移動量を計算する（Ｓ５２）。ＣＰＵ１１は画像分離手段２０により各頂点について移動量判定フラグを生成する（Ｓ５３）。ＣＰＵ１１は生成した移動量判定フラグに基づいて移動量の大きい画像を除去する（Ｓ５４）。本実施例において、移動量の大きい画像は近景の画像である。
【００９０】
ＣＰＵ１１は除去処理後の画像情報について、画素生成手段２２により画素生成処理を実行する（Ｓ５５）。本実施例において除去処理後の画像情報は遠景の画像情報である。ＣＰＵ１１は画素生成手段２２により生成された遠景の右端・左端画像情報２８２をメモリ１２に出力する（Ｓ５８）。
【００９１】
ＣＰＵ１１は遠景の画像処理と並行して、除去画像情報に対する画素生成処理を画素生成手段２２により実行する（Ｓ５６）。本実施例において除去画像情報は近景の画像情報である。ＣＰＵ１１は画素生成手段２２により生成された近景の右端・左端画像情報２８１をメモリ１２に出力する（Ｓ５７）。
【００９２】
ＣＰＵ１１はステップＳ６１からステップＳ６３の処理を（視点数−２）回繰り返す（Ｓ６０）。ＣＰＵ１１は画素補間手段２３により、メモリ１２に出力された遠景の右端・左端画像情報２８２に基づいて、任意の視点から表示画面に投影した補間画像情報２９２を補間演算する（Ｓ６１）。画素補間手段２３はそれぞれの頂点における奥行き情報も補間演算する。
【００９３】
ＣＰＵ１１は遠景の画像処理と並行して、近景の補間演算処理を画素補間手段２３により実行する（Ｓ６２）。ＣＰＵ１１はメモリ１２から読み込んだ近景の右端・左端画像情報２８１に基づいて任意の視点から表示画面に投影した補間画像情報２９１を補間演算する（Ｓ６２）。画素補間手段２３は補間画像情報２９１の各頂点における奥行き情報も補間演算する。
【００９４】
ＣＰＵ１１はステップＳ６６の処理を視点数繰り返す（Ｓ６５）。ＣＰＵ１１は各視点から別々に表示画面に投影した遠景と近景との二次元画像を合成する（Ｓ６６）。ＣＰＵ１１は画像合成手段２５により各画像を構成する頂点の奥行き情報に基づいて合成処理を実行する。右端・左端画像情報についてＣＰＵ１１は近景の右端・左端画像情報２８１と遠景の右端・左端画像情報２８２とを合成する。また右端・左端視点以外からの視点についてＣＰＵ１１は、近景の補間画像情報２９１と遠景の補間画像情報２９２とを合成する。奥行き情報に基づいて合成処理をすることにより、近景の二次元画像と遠景の二次元画像との視点からの前後関係が入れ替わることなく、正確に合成処理をすることが出来る。
【００９５】
以上の通り、立体画像を遠景と近景とに分離し、別々に補間画像を生成してから奥行き情報に基づいて合成することにより、２つの視点のいずれからも死角となる部分があっても、２つの視点から表示画面に投影した二次元画像の補間演算を用いて、他の視点から表示画面に投影した二次元画像を正確に生成することが出来る。また、遠景・近景の二次元画像生成を並列に処理することにより、効率よく二次元画像を生成することが出来る。
【符号の説明】
【００９６】
１０  画像生成装置
１１  ＣＰＵ
１２  メモリ
１３  ＨＤＤ
１４  入力装置
１５  画像表示装置
２０  画像分離手段
２１  頂点処理手段
２２  画素生成手段
２３  画素補間手段
２４  頂点情報
２５  画像合成手段
２６  画素情報
２７  除去画像情報
２８  右端・左端画像情報
２９  補間画像情報
３０  画像情報
【図１】
0005413263.tif 000002
【図３】
0005413263.tif 000003
【図４】
0005413263.tif 000004
【図２】
0005413263.tif 000005
【図５】
0005413263.tif 000006
【図６】
0005413263.tif 000007
【図７】
0005413263.tif 000008
【図８】
0005413263.tif 000009