(57)【特許請求の範囲】
【請求項１】
複数の視点位置から撮影された実写画像を用いて、所望の視点位置から見える画像をモーフィング処理によって生成する画像処理方法であって、
実写画像内の対象物を奥行き深さに応じて複数のレイヤに階層化する階層化工程と、
複数の視点位置から撮影された実写画像を入力する実写画像入力工程と、
所望の視点位置に係る視点情報を入力する入力工程と、
複数の視点位置から撮影された実写画像に対して前記階層化工程で階層化を行い、該階層化されたレイヤごとにモーフィング処理を行い、前記所望の視点位置から見える画像を生成するモーフィング処理工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記階層化工程では、ユーザによる実写画像の特徴点の指示に基づき前記階層化を行うことを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記ユーザによる実写画像の特徴点の指示は、該実写画像の表示画面上で行われることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
さらに、前記レイヤの隠れ部分に対してレタッチ処理を行うレタッチ処理工程を備えることを特徴とする請求項１乃至３の何れか１項に記載の画像処理方法。
【請求項５】
コンピュータに請求項１乃至４の何れか１項に記載の画像処理方法を実行させるためのプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項６】
複数の視点位置から撮影された実写画像を用いて、所望の視点位置から見える画像をモーフィング処理によって生成する画像処理装置であって、
実写画像内の対象物を奥行き深さに応じて複数のレイヤに階層化する階層化手段と、
複数の視点位置から撮影された実写画像を入力する実写画像入力手段と、
所望の視点位置に係る視点情報を入力する入力手段と、
複数の視点位置から撮影された実写画像に対して前記階層化手段が階層化を行い、該階層化されたレイヤごとにモーフィング処理を行い、前記所望の視点位置から見える画像を生成するモーフィング処理手段と
を備えることを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、モーフィング処理を用いて複数の実写画像から任意の視点の画像を生成する為の技術に関するものである。
【０００２】
【従来の技術】
大規模な仮想環境を構築する場合、写実性の点で、幾何モデルベースのＣＧ表現よりも実写画像に基づく手法が有利である。実写画像は位置・姿勢センサを装備したカメラより複数位置において環境を撮影し、得られた複数視点での実写画像から例えばモーフィングの手法を用いて任意視点での仮想画像を生成するものである。換言すれば、モーフィングの手法を用いれば、ユーザは、撮影を行った視点位置（以下の説明では、視点位置は視線方向も含むとする）を超えて任意の視点位置において仮想空間を体験することが可能となる。
【０００３】
モーフィングは、まず、２つの原画像（例えば画像Ａと画像Ｂ）中の同一対象の写っている領域を例えば矩形で対応づける、即ち、ユーザが同一領域であると認識した２つの部分画像領域（例えば領域Ａ’と領域Ｂ’）を対応領域とするわけである。そして、両領域内部の形状と色とを線形補間することにより仮想画像Ｑを構成する。この仮想画像Ｑの生成には前述したように線形補間が使われるが、この線形補間は、上記両画像Ａ，Ｂを撮像したカメラの視点位置ＰＣＡ，ＰＣＢにおけるカメラの光軸が基線（カメラ中心を結ぶ直線）に共に直交していることが歪みの少ない補間画像を生成するために有効であることが提案されている。
【０００４】
Ｓ．Ｍ．  ＳｅｉｔｚとＣ．Ｒ．  Ｄｙｅｒは、両視点位置ＰＣＡ，ＰＣＢにおける光軸が上記条件を満足しない場合にも、歪みのない補間画像を生成する手法を、”Ｖｉｅｗ  Ｍｏｒｐｈｉｎｇ”，  Ｐｒｏｃ．  ＳＩＧＧＲＡＰＨ  ’９６，  ｐｐ．２１−３０  （１９９６）において提案している。その原理はおよそ以下のようである。
【０００５】
第１図において、画像Ａは視点位置ＰＣＡにおいて、画像Ｂは視点位置ＰＣＢにおいて得られたものとする。両視点位置におけるカメラの光軸方向は平行でなく、また、両光軸は基線に直交していない。尚、第１図において、座標ｘ１とｘ２とは１つの対象点についての対応点である。任意の視点位置Ｐｅにおける仮想画像Ｑを線形補間により生成すると、歪みが発生するので、Ｓ．Ｍ．  ＳｅｉｔｚとＣ．Ｒ．  Ｄｙｅｒは第２図に示すように、あたかも光軸が回転させられて共に光軸が基線に直交した状態で撮像した画像であるかのように、両画像Ａ，Ｂを回転し、回転後の画像Ａ’，Ｂ’に対して線形補間を施して仮想画像Ｑ’を得ると、その仮想画像は歪みがないというものである。
【０００６】
しかしながら、この先行技術の手法には１つの大きな制約条件が課せられており、この条件をはずれると補間そのものが成り立たないという欠点があることを上記S.M. SeitzとC.R. Dyerは指摘している。即ち、第３図に示すように、一方視点位置におけるカメラの視野が他方の視点位置におけるカメラの視野を含む場合には、光軸と基線とが垂直で光軸同士が平行になるように画像を回転すると、回転後の両画像には対応点が存在せず、従って、線形補間によっては歪みのない画像を生成することはできなくなることが指摘されている。
【発明が解決しようとする課題】
２枚、又は３枚の実写画像（コンピュータ画像であっても良い）の２つの視点（又は３つの視点）間に存在する任意の視点から撮影したら得られるであろう仮想補間画像はモーフィング処理により生成することが考えられるが、物体（現実物体の実写画像であろうと仮想物体の仮想画像であろうと）が凹凸（特に奥行き方向での凹凸）が少ない場合には、視点位置が変化しても、その視点位置からは「見えない」部分の発生が予測できるために、有効であると考える。
しかしながら実際の物体（従って仮想物体も）は凹凸の大きいものがあり、そのような物体を視点位置を移動させながら上記のようなモーフィング処理を行うと、ある視点で本来は見えない部分を見えるかのように補間画像を生成したり、本来では見えるはずの部分を見えないものとして補間画像を生成したりすることがある。
【０００７】
【課題を解決するための手段】
本発明は、以上の問題に鑑みてなされたものであり、対象物体間の前後関係が正しく反映されたモーフィングを保証することを目的とする。
【０００８】
本発明の目的を達成する為に、例えば本発明の画像処理方法は以下の構成を備える。
すなわち、複数の視点位置から撮影された実写画像を用いて、所望の視点位置から見える画像をモーフィング処理によって生成する画像処理方法であって、
実写画像内の対象物を奥行き深さに応じて複数のレイヤに階層化する階層化工程と、
複数の視点位置から撮影された実写画像を入力する実写画像入力工程と、
所望の視点位置に係る視点情報を入力する入力工程と、
複数の視点位置から撮影された実写画像に対して前記階層化工程で階層化を行い、該階層化されたレイヤごとにモーフィング処理を行い、前記所望の視点位置から見える画像を生成するモーフィング処理工程と
を備えることを特徴とする。
【００３６】
奥行き距離に応じて分割され生成される複数対の二次元部分画像において反映される対象物体間の前後関係は、第１の視点位置と第２の視点位置位置の任意の中間の視点位置において保存される。従って、このような二次元部分画像を将来モーフィング処理に供した場合には前後関係が正しく反映されたモーフィングを保証する。例えば、前後関係を有する２物体を視点位置を移動しながら見れば、一方の物体の一部が他方の物体の一部によって見えたり隠されたりしなければならない。前後関係を考慮しないでその２物体の画像を基にしてモーフィングを行うと、補間画像が、本来は見えない筈の部分が見えてしまうように生成されたり、或いは、本来見えるはずの部分が見えなくなってしまうように生成されたりする。対象物体間の前後関係を考慮した分割により生成された部分画像は、見えるはずの部分を見えるように、見えない部分を見えないように顕在化させることができる。見えるはずではあるが隠されている部分を顕在化させることにより、その部分に対して、画像データの補充（レタッチ操作）を行うことができる。
【００５１】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施形態を説明する。
【００５２】
〈原理〉
第４図は、一方のカメラ（視点位置ＰＣＡ）の視野が他方のカメラ（視点位置ＰＣＢ）の視野を含む場合を示している。この場合は従来の手法では線形補間は不可能であった。そこで、第５図に示すように、両カメラの光軸が略一致（同じ直線上に実質的に乗る）ように、カメラ（即ち画像）を回転して、回転後の画像Ａ’とＢ’とを得、これらの画像から線形補間により仮想画像Ｑ’を得るものである。尚、本実施形態および実施例ではの説明では、説明の便宜上、視点位置は、視点位置のみならず視線方向も含むとする。
【００５３】
第６図以下を用いて更に実施形態の原理を説明する。
【００５４】
今、第６図に示すように、２つのカメラ視点ＰＣＡとＰＣＢとにおける実画像ＲＩＡ，ＲＩＢが得られているものとする。基線に対し、カメラ視点ＰＣＡでの光軸は角度αＡだけずれ、カメラ視点ＰＣＢでの光軸は角度αＢだけずれているものとする。また、ユーザの視点位置Ｐｅが、第６図に示すように、上記基線上において内分比ｔ：（１−ｔ）で内分されている位置に載っていることを仮定する。尚、この仮定は、後述するように、載っていない場合にも一般化できる。
【００５５】
第６図の例では、視点位置ＰＣＡにおける視野は視点位置ＰＣＢにおける視野を含むもので、従来の手法では、対応点を演算することができなかった。前述したように、本実施形態の手法は、第６図のような位置関係を有する実画像を第７図のように、夫々の光軸が一致するように、夫々の視点位置で回転して回転画像ＲＩ’Ａ，ＲＩ’Ｂを得るものである。
【００５６】
回転画像ＲＩ’Ａ，ＲＩ’Ｂは、第８図，第９図に示された公知の手法により得ることができる。即ち、第８図に示すように、回転前の画像の視野角をβ（同じカメラを用いればβＡ＝βＢである）とし、また、同カメラの焦点距離をｆ、水平方向画素数をＷとする。一般的に、基線から角度αＡ（またはαＢ）だけ離れているカメラの光軸を基線に一致させることは画像ＲＩＡ（またはＲＩＢ）を角度αＡ（またはαＢ）だけ回転させ、回転画像ＲＩ’Ａ（またはＲＩ’Ｂ）を得ることに等価である。この回転により、原画像ＲＩＡ（またはＲＩＢ）の任意の座標（ｘＡ，ｙＡ）（または（ｘＢ，ｙＢ））は角度αＡ（またはαＢ）だけ回転させられて、次式に示された（ｘ’Ａ，ｙ’Ａ）（または（ｘ’Ｂ，ｙ’Ｂ））となる。
【００５７】
［ＥＱ１Ａ］
0003634677.tif 000002
【００５８】
［ＥＱ２Ａ］
0003634677.tif 000003
【００５９】
［ＥＱ１Ｂ］
0003634677.tif 000004
【００６０】
［ＥＱ２Ｂ］
0003634677.tif 000005
【００６１】
ここで、
【００６２】
［ＥＱ３Ａ］
0003634677.tif 000006
【００６３】
［ＥＱ３Ｂ］
0003634677.tif 000007
【００６４】
［ＥＱ３Ｃ］
0003634677.tif 000008
【００６５】
本実施形態では、ユーザ視点位置での仮想画像ＶＩｅは、上記回転後の光軸が一致された画像ＲＩ’Ａ，ＲＩ’Ｂに基づいて生成する。
発明者達は、一般的に、例えば、第１０図の配置において、光軸Ｉ’Ａ，Ｉ’Ｂが一致する２枚の画像ＲＩ’Ａ，ＲＩ’Ｂに関して、同一対象物の、両画像におけるある対応点の座標ｘＡ，ｘＢとすると、任意の視点位置Ｐ’ｅでの対応点の座標（ｘｅ，  ｙｅ）は、
【００６６】
［ＥＱ４］
0003634677.tif 000009
【００６７】
［ＥＱ５］
0003634677.tif 000010
【００６８】
と表される。即ち、２つの実画像ＲＩ’Ａ，ＲＩ’Ｂ上の２つの対応点座標と仮想画像ＶＲ上の１つの対応点の間には上記ＥＱ４，  ＥＱ５が成立することになる。換言すれば、仮想画像をＥＱ４，  ＥＱ５のような非線形補間によって生成することができる。
上記のＥＱ４，  ＥＱ５は第１０図を参照し以下の計算により得ることができる。尚、カメラの座標系を（ｘ，  ｙ）とし、グローバル座標系（Ｘ，Ｙ，Ｚ）とし、Ｘ軸＝ｘ軸、Ｙ軸＝ｙ軸、更に、Ｚ軸＝光軸となるように定め、更に、対象物のある一点のグローバル座標を（Ｘ０，Ｙ０，Ｚ０）、カメラの焦点距離をｆとする。
【００６９】
上記３つの画像上の対応点は全て同じ光軸上に載っていなければならないから、
【００７０】
［ＥＱ６Ａ］
0003634677.tif 000011
【００７１】
［ＥＱ６Ｂ］
0003634677.tif 000012
【００７２】
［ＥＱ６Ｃ］
0003634677.tif 000013
【００７３】
が得られる。
【００７４】
［ＥＱ６Ｄ］
Ｚｅ＝ｔ・ＺＡ＋（１−ｔ）・ＺＢ
【００７５】
に着目し、ＥＱ６からｆを消去することにより、
【００７６】
［ＥＱ７Ａ］
0003634677.tif 000014
【００７７】
［ＥＱ７Ｂ］
0003634677.tif 000015
【００７８】
を経て、上記ＥＱ４，  ＥＱ５を得ることができる。尚、ＥＱ７，  ＥＱ７Ｂ式は、本実施形態の「非線形の比例配分処理」が、仮想画像の座標値ｘｅ（またはｙｅ）の逆数（１／  ｘｅまたは１／ｙｅ）が、実画像ＲＩＡの画像座標系における座標値ｘＡ（またはｙＡ）の逆数（１／ｘＡまたは１／ｙＡ）と、実画像ＲＩＢの画像座標系における座標値ｘＢ（またはｙＢ）の逆数（１／ｘＢまたは１／ｙＢ）とが、
ｔ：１−ｔ
【００７９】
に比例配分されている。
ＥＱ４，  ＥＱ５の補間式は、非線形ではあるものの、簡単な式で表されている。この理由は、２つの光軸を一致させているからである。尚、もし光軸を若干の誤差を許して一致させようにした場合においてＥＱ１，  ＥＱ２の変換式を用いると、歪みは不一致の度合に応じて増加するであろう。
【００８０】
ＥＱ４，  ＥＱ５によって得られたユーザの視点位置での補間画像は、ユーザが、点ＰＣＡ，ＰＣＢを結ぶ基線の方向を向いているときの仮想画像である。実際には、第６図の例では、ユーザは基線に対して角度αｅだけ回転しているから、仮想画像ＶＲを角度αｅだけ回転させる必要がある。角度αｅだけ回転した仮想画像の画素の座標を（ｘｅ，ｙｅ）とすると、
【００８１】
［ＥＱ８］
0003634677.tif 000016
【００８２】
［ＥＱ９］
0003634677.tif 000017
【００８３】
ここで、
【００８４】
［ＥＱ１０Ａ］
0003634677.tif 000018
【００８５】
［ＥＱ１０Ｂ］
0003634677.tif 000019
【００８６】
かくして、第６図のような配置関係にあるカメラからの若しくは視点位置での２つの実画像に基づいて、その視点位置を結ぶ基線上の任意の位置に視点を有するユーザから見た補間画像を歪みを発生することなく生成することができる。
【００８７】
【第１実施例】
上述の実施形態において説明した手法は、第４図或いは第６図から明らかなように、仮想的なユーザ視点位置は、実画像のカメラ視点位置ＰＣＡとＰＣＢとを結ぶ線（即ち、基線）上にとっている、このことは、ユーザの仮想空間を体験できる範囲は基線上に限られることになる。
【００８８】
以下に提案する実施例の仮想画像の補間方法は、仮想空間内の移動範囲を二次元的に拡張したものであり、そのために実画像を３枚用意する。即ち、３枚の実画像から、その３枚の画像の視点位置が規定する所定の仮想空間（二次元空間）での自由な移動をユーザに可能にするものである。移動可能な空間を二次元的に拡げるために、３枚の実画像の撮像位置は、第１２図或いは第１３図に示すように、３角形を構成するように配置する。
【００８９】
この実施例の画像補間において重要なことは、撮像方向（カメラ視点位置）が知れた３つの実画像が得られることである。第１２図の例では、２つのカメラＩとＩＩを用い、この２つのカメラを同時に同じ方向に移動させながら、異なる撮像位置で複数の画像（実画像）を取得する。第１３図の例では、３つの実画像を得るために、３つのカメラＩ，ＩＩ，ＩＩＩを用いて、同時に撮像することにより、３つの実画像を得る。少なくとも、これら３枚の実画像からある程度の広がりの中で移動可能にして仮想空間を得ることができる。また、第１３図の例で、３つのカメラを同時に移動すれば、次々と３枚一組の画像を得ることができる。換言すれば、移動可能な仮想空間は更に広がることになる。
【００９０】
第１２図の例で、２つのカメラを配置するための条件は、カメラＩとカメラＩＩとは共に対象物体を視野に納めると共に、カメラＩの視野がカメラＩＩの視野に含まれるように配置する。この例では、カメラＩ（またはカメラＩＩ）を移動すれば、カメラの光軸を回転させなければ、少なくとも、視点位置１と２（異なる時刻）とでは、カメラＩの光軸は同一方向を向く。後述するように、視点位置１と２で得られた２つの実画像は、それら２つの視点位置での光軸が、一方は他方を含まないものとなるから、ひずみのない線形補間が可能である。
【００９１】
第１３図の例では、カメラＩとカメラＩＩの光軸の一方が他方を含まないものとなるように、これら２つのカメラを配置する。
【００９２】
第１２図の例及び第１３図の例で、カメラを移動すれば、多数の実画像が得ることができるのは上述したとおりである。本実施例の画像補間は、第１３図のような同時に撮影された画像だけを用いてのみ行われるものではない。少なくとも第１２図の例では、カメラＩにより異なる時点で撮像された２つの画像（と、カメラＩＩにより撮像された１枚の画像）を用いて補間を行っている。即ち、第１２図の例でも、第１３図の例でも、所定の条件さえ満足した３枚の実画像であれば、その画像が同一カメラで取得されたものでなくとも、或いは同時に異なるカメラで取得されたものでなくとも、仮想画像を補間することが可能となることは後述の説明から明らかとなるであろう。
【００９３】
本実施例の画像補間は、３つの実画像の視点位置を考慮してユーザの視点位置Ｐｅを設定する。補間画像を生成するに際して、３つの実画像の夫々の視点位置に重み付けを行う。３つの実画像ＩＡ，ＩＢ，ＩＣについて夫々考慮すべき重み係数（ｗＡ，ｗＢ，ｗＣ）は、実画像ＩＡ，ＩＢ，ＩＣが３つの実視点位置（ＰＣＡ，ＰＣＢ，ＰＣＣ）において、第１４図のように配置していれば、
【００９４】
［ＥＱ１１］
0003634677.tif 000020
【００９５】
と表され、実画像ＩＡ，ＩＢ，ＩＣが第１５図のように配置していれば、
【００９６】
［ＥＱ１２］
0003634677.tif 000021
【００９７】
と表され、実画像ＩＡ，ＩＢ，ＩＣが第１６図のように配置していれば、
【００９８】
［ＥＱ１３Ａ］
0003634677.tif 000022
【００９９】
となる。
ＥＱ１１乃至ＥＱ１３のいずれかにより求められた重み係数に基づいて、第１４図乃至第１６図に示した内分比が決定される。即ち、
【０１００】
［ＥＱ１３Ｂ］
0003634677.tif 000023
【０１０１】
［ＥＱ１３Ｃ］
0003634677.tif 000024
【０１０２】
第１４図乃至第１６図に示した内分比は、一時的な仮想視点位置ＰＴを設定する。一時仮想視点位置ＰＴは、第１４図の配置では基線ＡＢ上に、第１５図の配置では基線ＢＣ上に、第１６図の配置では基線ＣＡ上に、夫々、比率
１−ｓ：ｓ
となるように、夫々取られる。一時仮想視点位置ＰＴにおける仮想画像は、その一時仮想視点位置ＰＴが存在する基線の両端点（即ち、２つの実画像の夫々撮像位置）における視点方向が、第６図の関係になっていれば、即ち、一方の画像の視野が他方の実画像の視野を含んでいれば（以下、２画像がこの関係にある時には、「包含関係にある」と呼ぶこととする）、第７図乃至第１１図に関連して説明した方法（即ち、ＥＱ４，  ＥＱ５に従う非線形補間方法）によって求めることができる。このようにして一時的な仮想視点位置ＰＴにおける仮想画像が得られる。以下において、一時的な仮想視点位置ＰＴにおける仮想画像を「一時的仮想画像ＶＩＴ」と呼ぶ。
【０１０３】
一時的仮想画像ＶＩＴが得られたならば、その一時的仮想画像ＶＩＴと、３つの実視点位置（ＰＣＡ，ＰＣＢ，ＰＣＣ）の内の、この一時的仮想画像ＶＩＴを生成するのに参照した２つの実視点位置以外の実視点位置（以下、「残りの視点位置」と呼び、例えば第１４図の例ではＰＣＣ）との間で、ユーザ視点位置での仮想画像ＶＩｅを生成する。この場合、一時的仮想画像ＶＩＴが、「残りの視点位置」での実画像と「包含関係」にあれば、上記ユーザ視点位置での仮想画像ＶＩｅを、第７図乃至第１１図に関連して説明した方法によって求めることができる。
【０１０４】
ところで、仮想画像を得るに際して「包含関係」を前提としてＥＱ４，  ＥＱ５の「非線形補間」を用いた。しかしながら、第１４図乃至第１６図の画像配置において、一時的仮想画像ＶＩＴやユーザ視点位置での仮想画像ＶＩｅを得るに際して、常に、「包含関係」が満足されているとは限られない。
【０１０５】
前述したように、２つの画像が包含関係にあるとは、後方に位置するカメラの視野内に、前方のカメラのレンズ中心が存在する状態を言うから、レンズ中心が前記視野内に存在しない場合には２つの画像は「包含関係」にない。本実施例では、２つの画像が「包含関係にない」場合には、「線形補間」の手法を用いて仮想画像（一時的仮想画像やユーザ視点での仮想画像）を形成するものである。
【０１０６】
２つの画像が包含関係にない場合における線形補間について説明する。
第１７図において、実画像ＲＩＡとＲＩＢとは共に包含関係になく、基線に対して、夫々、αＡ，αＢだけずれている。ここで、実画像ＲＩＡとＲＩＢが共に基線に対して直交するように、実画像ＲＩＡとＲＩＢを夫々のレンズ中心の周りに回転する。この回転により、第１８図に示すように、原画像ＲＩＡ（またはＲＩＢ）の任意の座標（ｘＡ，ｙＡ）（または（ｘＢ，ｙＢ））は角度αＡ（またはαＢ）だけ回転させられて、次式に示された（ｘ’Ａ，ｙ’Ａ）（または（ｘ’Ｂ，ｙ’Ｂ））となる。
【０１０７】
［ＥＱ１４］
0003634677.tif 000025
【０１０８】
［ＥＱ１５］
0003634677.tif 000026
【０１０９】
［ＥＱ１６］
0003634677.tif 000027
【０１１０】
［ＥＱ１７］
0003634677.tif 000028
【０１１１】
［ＥＱ１８Ａ］
0003634677.tif 000029
【０１１２】
［ＥＱ１８Ｂ］
0003634677.tif 000030
【０１１３】
［ＥＱ１８Ｃ］
0003634677.tif 000031
【０１１４】
次に、ユーザ視点位置での仮想画像ＶＩ’を、上記回転後の光軸が一致された画像ＲＩ’Ａ，ＲＩ’Ｂに基づいて公知の線形補間に従って生成する。ユーザ視点位置Ｐｅがカメラ視点ＰＣＡ，ＰＣＢを、
１−ｓ：ｓ
【０１１５】
に内分する位置にあるならば、線形補間された仮想画像ＶＩｅ内の座標（ｘ’ｅ，  ｙ’ｅ）は、
【０１１６】
［ＥＱ１９］
0003634677.tif 000032
【０１１７】
［ＥＱ２０］
0003634677.tif 000033
【０１１８】
によって得られる。実際のユーザ視点位置は基線に対してαｅだけ回転しているから、生成すべき仮想画像は、（ｘ’ｅ，  ｙ’ｅ）をαｅだけ回転した画像（ｘｅ，  ｙｅ）、
【０１１９】
［ＥＱ２１］
0003634677.tif 000034
【０１２０】
［ＥＱ２２］
0003634677.tif 000035
【０１２１】
ここで、
【０１２２】
［ＥＱ２３］
0003634677.tif 000036
【０１２３】
［ＥＱ２４］
0003634677.tif 000037
【０１２４】
によって得られる。
３つの実画像が第１４図乃至第１６図の配置のうちのいずれかの配置にある時の、ユーザ視点位置Ｐｅでの仮想画像の生成について説明する。
【０１２５】
第１４図乃至第１６図の配置のうちのいずれかの配置にあっても、「一時的仮想視点ＰＴ」における「一時的仮想画像」を求める必要がある。ユーザ視点位置Ｐｅでの仮想画像は、前述したように、この「一時的仮想画像」と「残りの視点位置」での画像とに基づいて、「線形補間」（ＥＱ１９，  ＥＱ２０）或いは非線形補間（ＥＱ４，  ＥＱ５）の手法により得るものである。
【０１２６】
〈制御手順〉
以上説明したように、本実施例の画像補間は、２つの画像が包含関係にあるか否かによって、包含関係がある場合には非線形補間を、ない場合には線形補間を適用するものである。更に、ユーザの移動範囲を拡張するために本実施例は３つの画像を用いる。ところで、一時仮想画像を生成するにしても、ユーザ視点での仮想画像を生成するにしても、元となる２つ或いは３つの画像は、ユーザ視点位置および視線方向での対象物体の対応点に関する画像データを含まなくてはならない。画像が対象物体の画像データを含むことを、「対象物を含む」と呼ぶ。換言すれば、あるユーザ視点位置における補間画像を生成するときには、３つの実画像の全ては必ず「対象物を含まなくてはならない」。このために、ユーザが視点位置を移動したために、それまでの画像補間処理に用いてきた３枚一組画像が「対象物を含ま」なくなる場合もあり得る。この場合には、第２０図のように、組合せを変えた３枚の画像を選択しなければならない。即ち、選択画像を変えることによりユーザの移動範囲を大きく拡張することができる。特に、本実施例の制御は、後述するように、画像の組合せによって、重み係数の計算方法を第１４図乃至第１６図のいずれかを選択でき、さらには、画像間の包含関係に応じて、線形補間或いは非線形補間を選択できるので、仮想画像を生成できない場合が極めて減少する。
【０１２７】
第２１図は、本実施例の補間方法を組み込んだ画像補間（パノラマ画像表示）装置の制御手順を示すフローチャートである。この装置の制御手順は大きく分けて、前処理（ステップＳ１００）と補間画像の生成表示（ステップＳ２００）に分けられる。
【０１２８】
ステップＳ１００の詳細は第２２図に示される。即ち、ステップＳ１０２では、環境の画像を前もって収集し、併せて、複数の収集位置での、撮影位置（視点位置）と撮影方向（カメラの視線方向）に関するデータをも収集する。ステップＳ１０４では、画像と、視点位置と視線方向（併せて視点位置と呼ぶ場合もある）とを対応づけてデータベースに記憶する。
【０１２９】
ステップＳ１０６では、ステップＳ１０２で収集された複数の画像の中から、同じ対象物の対応点を共に含む３枚一組の画像を分類する。ステップＳ１０８では、各組内の３枚の画像について、対応点を３角形のメッシュにて対応づける。上記組合せでは、同じ画像が異なる組に分類されることを許す。例えば第２３図の例で、対象物をカメラ視点位置Ａ乃至Ｇで撮像した場合、
【０１３０】
第ｎの組．．．  Ａ，Ｂ，Ｃ
第ｎ＋１の組．．．Ｂ，Ｃ，Ｄ
第ｎ＋２の組．．．Ａ，Ｂ，Ｄ
等の組合せが許される。このような組合せにより、第２０図に示したような組合せの拡張、即ち、移動領域の拡大効果が得られる。
【０１３１】
ステップＳ２００の処理の詳細を第２４図により説明する。即ち、ステップＳ２０２では、観察者（ユーザ）の現在の視点位置Ｐｅ（Ｘｅ，Ｙｅ，Ｚｅ）と視線方向αｅとを取得する。ステップＳ２０４では、視点位置Ｐｅ（Ｘｅ，Ｙｅ，Ｚｅ）と視線方向αｅに基づいて、最適な一組３枚の画像ＩＡ，ＩＢ，ＩＣを決定する。ステップＳ２０４では、第１４図乃至第１６図のうちのどの内分方法を用いるかを決定する。ステップＳ２０６では、非線形の補間処理に用いられる第１の内分比（ｓ  ：  １−ｓ）と第２の内分比（ｔ  ：  １−ｔ）とが決定される。
【０１３２】
ステップＳ２０８では、画像ＩＡ，ＩＢが包含関係を有するかを判定する。包含関係は前述したように、一方の画像の視野内に他方のレンズ中心が含まれる状態を言う。この包含関係を第２６図を用いて説明する。２台のカメラの光軸ベクトルを夫々Ｖ１，Ｖ２、これらのカメラのレンズ中心を結ぶベクトルＶ１２とする。また、Ｖ１とＶ１２とのなす角度をθ１、Ｖ２とＶ１２とのなす角度をθ２、またθｔをカメラの画角βの２分の１とすると、
【０１３３】
［ＥＱ２５］
0003634677.tif 000038
【０１３４】
が満たされているか否かで行う。
画像ＩＡ，ＩＢが包含関係を有する場合には、ステップＳ２１０以下に進む。即ち、ステップＳ２１０では第６図に示したように、画像ＩＡ，ＩＢの光軸が略一致して平行になるように画像ＩＡ，ＩＢを回転する。ステップＳ２１２では、第７図に示すように、仮想画像を非線形補間により補間生成する。ステップＳ２１４では、第８図に示すように、その仮想画像をユーザの視線方向に合わせて回転する。ステップＳ２１６では、生成した仮想画像を、その視点位置と共にデータベースに格納する。本実施例では、仮想画像を実画像と同じように扱い、他の仮想画像の生成の基礎とすることができる。
【０１３５】
画像ＩＡ，ＩＢが包含関係にない場合には、ステップＳ２１８乃至ステップＳ２２２において、第１７図乃至第１９図に示すように線形補間を行う。ステップＳ２２２では補間された画像を視線方向に合わせて回転する。
【０１３６】
かくして、包含関係にある場合とない場合とにおける、仮想視点位置ＰＴ（第１４図乃至第１６図を参照）における仮想画像が得られた。
【０１３７】
第２５図は、第２４図の制御手順により得られた仮想画像ＶＩと残りの画像ＩＣとについて包含関係を判断する。仮想画像ＶＩと残りの画像ＩＣとが包含関係にある場合には、前述の非線形補間を行うために、ステップＳ２３２乃至ステップＳ２３６を行う。仮想画像ＶＩと残りの画像ＩＣとが包含関係にない場合には、前述の線形補間を行うために、ステップＳ２４０乃至ステップＳ２４４を行う。かくして、仮想画像ＶＩと残りの画像ＩＣとについて、包含関係に応じて非線形補間または線形補間がなされて、ユーザ視点位置でのユーザ視線方向での仮想画像が生成されたことになる。
【０１３８】
第２７図は、本実施例の制御のさらなる拡張を説明する。
即ち、第２７図の制御では、複数回の線形補間（或いは非線形補間）によりユーザ視点位置での仮想画像を生成し、それらの複数の仮想画像をつなぎ合わせることにより、移動可能なユーザの視野範囲を拡張することができる。
【０１３９】
以上説明したように、本発明の実施形態や実施例によれば、第２８図に示すように、２通りの補間により、ユーザの移動可能な範囲を拡張すると共に、パノラマ画像生成の際に制限を少なくすることができる。
【０１４０】
【第２実施例】
上記実施形態若しくは第１実施例に関連して説明したモーフィング（以下、「通常モーフィング」と呼ぶ）は、２枚または３枚の実写画像（コンピュータ画像であってもよい）の２つの視点（または３つの視点）間に存在する任意の視点から撮影したら得られるであろう仮想補間画像をモーフィング処理により生成するものであった。上記実施形態および第１実施例は、物体（現実物体の実写画像であろうと仮想物体の仮想画像であろうと）が凹凸（特に奥行き方向での凹凸）が少ない場合には、視点位置が変化しても、その視点位置からは「見えない」部分の発生が少ないことが予想できるために、有効であると考えられる。
【０１４１】
しかしながら、実際の物体（従って、仮想物体も）は凹凸の大きいものがあり、そのような物体を視点位置を移動させながら上記の「通常モーフィング」処理を行うと、ある視点で本来では見えない部分を見えるかのように補間画像を生成したり、本来では見えるはずの部分を見えていないものとして補間画像を生成したりする。  この第２実施例は、後述する「階層化モーフィング」処理を導入し、画像中に含まれる対象物体に凹凸が少ない（或いはあっても無視できる）場合には、前述の「通常モーフィング処理」を行い、画像中に含まれる対象物体に凹凸が大きい（或いは無視できない）場合には、「階層化モーフィング処理」を実行する、即ち、「通常モーフィング処理」と「階層化モーフィング処理」とを適応的に切り替えるというものである。
【０１４２】
第２９図は、この第２実施例の画像処理装置が特に好適であろうと考えられるウォークスルー仮想空間を説明する。図中、ハッチングを付した部分はユーザが仮想的にウォークスルーが可能な経路である。粗いハッチングを施した２つのパス５０，８０は狭く、細かいハッチングを施した領域６０，７０は二次元的な広がりを有する。即ち、ユーザが狭いパス５０または８０をウォークスルーする間は、進行方向の左右（紙面で上下方向）に移動できる幅は少ないが、領域６０，７０では大きく切れ込んで左右方向（紙面で上下方向）に移動することができる。この結果、ユーザは、領域５０，８０をウォークスルーする間は、たとえ、視線が進行方向に直交する方向（即ち、紙面上下方向）に向くことがあっても、左右の背景（遠景）に近づくことはないので、背景画像（パノラマ画像）における奥行き方向の凹凸は問題とはならない。従って、この区間５０，８０では、通常モーフィング処理を行えばよい。しかしながら、領域６０，７０をウォークスルー中は、背景に近づくことがあり得るので、背景画像（パノラマ画像中の物体も含める）の凹凸が問題となる。そこで、領域６０，７０をウォークスルー中は「階層化モーフィング処理」を適用する。
【０１４３】
第３０図は、上述の通常モーフィングと階層化モーフィングとの適応的切換制御を適用した第２実施例の仮想空間ウォークスルーシステムの構成を示す。
【０１４４】
第３０図中、１００は、三面スクリーンであり、中央スクリーン１００Ｃを挟んで左スクリーン１００Ｌと右スクリーン１００Ｒとが左右に配置されている。これらのスクリーンに表示されるべき３枚の画像は画像生成用計算機４００で生成される。計算機４００は、三枚の画像をシリアルで３台のスキャンコンバータ（ＳＣ）６００に順に送る。画像生成用計算機４００が参照する実写画像はハードディスク５００に格納されている。制御用計算機３００にはジョイスティック２００が接続され、ユーザがジョイスティック２００を操作することにより入力されるウォークスルー方向（ユーザが仮想空間中でウォークスルーしたい方向）は計算機３００で処理される。即ち、制御用計算機３００は、ある時刻ｔにおけるジョイスティック２００の状態に関するデータをＥｔｈｅｒｎｅｔを介して計算機４００に送る。画像生成用計算機４００は、このデータに基づいて時刻ｔにおけるユーザの視点位置、視線方向に関するデータを演算する。そして、この視点、視線方向に応じた３枚若しくは２枚のパノラマ画像をハードディスク５００から取り出して、所定の演算を行ってスキャンコンバータ６００に送る。
【０１４５】
第３１図は、制御計算機３００と画像生成計算機４００による、ウォークスルーのための全体的な制御手順を示すフローチャートである。尚、第３１図のステップＳ４００のモーフィングの切換工程の詳細は第３２図に説明されている。
【０１４６】
まず、ステップＳ３００では、ジョイスティック（以下、ＪＳと略す）２００の操作をユーザに促す。ステップＳ３０２，ステップＳ３０４で、ＪＳの操作状態は制御用計算機３００を経て画像生成用計算機４００に送られる。計算機４００は、ステップＳ３０８で、ＪＳの操作によって進行した現在の視点位置、視線方向を計算する。ステップＳ３１０では、計算機４００は、現時点の視点位置と視線方向とに基づいて、その位置・姿勢に最適な３枚若しくは２枚の画像を取り出す。ステップＳ４００では、最適なモーフィング処理（通常モーフィング処理か階層化モーフィング処理を選択し、その処理への切換を行い、選択されたモーフィング処理を実行する。ステップＳ５００では、モーフィング処理の結果得られた画像をフレームメモリ内で描画する。ステップＳ５０２，ステップＳ５０４，ステップＳ５０６では描画された画像をスクリーンに映写する。
【０１４７】
第３２図は、第３１図のステップＳ４００の詳細手順を示す。即ち、ステップＳ４０２で、現在ウォークスルー中の位置に割り当てられたモーフィングモードを調べる。このモードは「通常モーフィング処理」か「階層化モーフィング処理」の区別を示す１ビットデータによって識別可能であり、例えば、第２９図に示されたウォークスルー可能な全ての位置（ｘ、ｙ）に１ビットのフラグＭを割り当てることとする。具体的には、第２９図で、粗いハッチング領域（即ち、通常モーフィングを行うべき領域）の任意の座標にはＭ＝０を、細かいハッチング領域（即ち、階層化モーフィングを行うべき領域）の任意の座標にはＭ＝１を割り当てるとする。
【０１４８】
現在のウォークスルー地点が粗いハッチング領域内（即ち、Ｍ＝０の領域５０，８０）であれば、ステップＳ４１０に進んで、「通常モーフィング処理」を行う。「通常モーフィング処理」とは、第２４図，第２５図に示された処理、若しくは周知のパノラマ画像の切換処理をいう。従って、「通常モーフィング処理」の詳細な説明は省略する。
【０１４９】
現在のウォークスルー地点が細かいハッチング領域内（即ち、Ｍ＝１の領域６０，７０）であれば、ステップＳ４０４に進み、ジョイスティック２００のボタン２０１（第３０図）が押されているかを確認する。押されていない場合には、処理はメインルーチンにＥＸＩＴする。即ち、領域６０または７０に現在の視点位置があっても、このボタン２０１が同時に押されてジョイスティック２００が操作されない限りは、階層化モーフィング処理は行われないことになる。ボタン２０１が押されている場合には、ステップＳ４０６で、後述の階層化モーフィング処理を行う。Ｓ４０６の階層化モーフィング処理は、ボタン２０１を解除しない限りはエネーブルされている。
【０１５０】
ステップＳ４０６の階層化モーフィング処理について更に詳細に説明する。
【０１５１】
この階層化モーフィング処理は、事前に、背景画像（パノラマ画像）を階層化しておく前処理が必要である。この前処理は、実写画像内の複数の対象物（現実物体）の画像を、奥行き深さに応じて複数の領域に分割するものである。そして、実際の階層化モーフィング処理では、ある範囲の深さの奥行き内に入る領域を１つのレイヤとして把握し、このレイヤの夫々に対して通常モーフィングを施するものである。具体的には、領域６０，７０に視点位置があるときのために準備されている背景画像（パノラマ画像）は、前もって「階層化」されているのである。
【０１５２】
前処理であるところの「階層化処理」について説明する。
【０１５３】
「階層化処理」のための説明の便宜上、第３３図に示すように、四角柱１０００と三角柱２０００とからなる現実空間を視点位置Ｅ１，  Ｅ２，  Ｅ３において撮像することにより第３４図のような３つの画像を得た場合を想定する。各視点位置において撮像して得た３枚の実画像（ＲＩ１，  ＲＩ２，  ＲＩ３）を第３４図に示す。第３４図において、アラビア数字は３枚の画像間で対応する特徴点を示す。
【０１５４】
前処理である階層化処理を実行すると、計算機３００は、上記３枚の実画像（ＲＩ１，  ＲＩ２，  ＲＩ３）を制御用計算機３００のモニタ画面に第３４図のように表示する。
【０１５５】
第３５図は階層化の原理を説明する。どの画像部分をどのレイヤに所属させるかは、ユーザが、第３４図のモニタの表示画面を見ながら指定する。即ち、ユーザは、画面上に表示されている物体が本来はどのような奥行き関係にあるかを推定することができる。例えば、第３４図の実写画像ＲＩ１が計算機３００のモニタ装置に表示されていれば、ユーザは、その表示内容から、三角柱２０００が四角柱１０００の後方にあり、三角柱２０００と四角柱１０００の更に後方に背景が存在することは推定できる。そこで、ユーザは、まず、背景に対してレイヤＩを割り付ける。その上で、第３４図の画像ＲＩ１において、三角柱２０００の最外側の５つの頂点（１０，１１，１２，１３，１４）によって画成された画像部分をレイヤＩＩとして割り付ける。また、四角柱１０００の最外側の６つの頂点（１，２，３，４，５，６）によって画成された画像部分をレイヤＩＩＩとして割り付ける。第３５図（即ち第３１図）の例では、背景が最後方で、三角柱２０００が中間に、四角柱１０００が近傍にあるから、上述の画像分割は、第３５図に示すようなレイヤ分割となる。即ち、この階層化処理を経ると、実写画像は、例えば、レイヤＩ乃至レイヤＩＩＩは階層化されることとなる。第２実施例の階層化モーフィング処理は、同じ階層にある二次元画像は同じ範囲の奥行きにあるものと見なして、補間モーフィングを施す。第２実施例の階層化モーフィングは、互いに近しい奥行き関係にある複数の画像部分を同じレイヤに属させることにより、同じレイヤに属する画像部分については、視点位置が移動しても、見え隠れの程度を一様とすることができるようになることを利用する。即ち、第２実施例も、第１実施例と同じように、視点位置の移動に応じた補間画像を生成するものであるが、視点位置の移動に応じて発生する奥行きの異なる部分間での見え隠れの変化に対して、実画像では隠れされている部分であって、仮想の視点位置では見えなくてはならないその部分を、ユーザに、確実に顕在化させることができる。実画像では隠されている部分（範囲）をユーザに目で見えるようにすることにより、その隠されている部分の画素の濃淡データやカラーデータを後述のレタッチ操作により補充することができるからである。
【０１５６】
第２実施例の階層化モーフィングが、奥行き方向で起伏の激しい物体（例えば第３６図のような、頂点がユーザの方向に向いている円錐）を扱うときは、第３７図のように、多くのレイヤを設定する。第３７図の例では、レイヤＩの背景レイヤと、レイヤＩＩからレイヤＶまでの４つの複数の同心円環状のレイヤとに分割される。
【０１５７】
階層化処理の制御手順の詳細は第３８図に示される。また、階層化処理の具体的な動作は第３９図乃至第４１図に説明される。また、階層化処理された結果の階層化構造画像を第４２図に示す。
【０１５８】
第３９図乃至第４１図、第４２図を参照しながら、第３４図の画像ＲＩ１に対して階層化処理を行った場合の詳細について説明する。
【０１５９】
第２実施例では、階層の指定は、即ち、二次元画像の特徴点（通常は輪郭線の頂点）の指定によって行う。また、第２実施例での「レタッチ処理」と黒く塗る処理とは、市販の汎用の画像オーサリングツールソフトウエアであるＰｈｏｔｏＳｈｏｐ（米国Ａｄｏｂｅ社製）を用いて行った。
【０１６０】
第２実施例での階層化は、その部分画像の輪郭線の特徴点の点列Ｐｉ（ｋ）に、階層値ｉを割り当てることに帰結する。ここで、ｉは階層を表す値（値が小さいほど、その部分画像奥方向に深いことを意味する）、ｋは同じ階層ｉに含まれる部分画像を示す。
【０１６１】
第３４図の画像ＲＩ１をユーザが階層化処理すると、視点位置から遠いレイヤから順に、
【０１６２】
レイヤＩ（ｉ＝Ｉ）：背景画像全体、
レイヤＩＩ（ｉ＝ＩＩ）：点列ＰＩ（１）  ＝  １０→１１→１２→１３→１４
レイヤＩＩＩ（ｉ＝ＩＩＩ）：点列ＰＩＩ（１）  ＝  １→２→３→４→５→６
が得られる。尚、三角柱２０００の頂点１３はユーザからは見えないが、ユーザは、三角柱２０００の頂点１３は四角柱によって隠されていることが分かっているので、仮想頂点１３を与えた。
【０１６３】
点列Ｐｉ（ｋ）によって示される閉領域はオブジェクトを表し、そのオブジェクトを参照すれば、その閉領域内の全ての画素値を参照することができる。
【０１６４】
もし、四角柱１０００と三角柱２０００とが視点位置から見て同じような奥行き範囲にあるのであれば、ユーザは四角柱１０００と三角柱２０００に対して同じレイヤ値を与えるであろう。この場合には、
【０１６５】
レイヤＩＩ（ｉ＝ＩＩ）：
点列ＰＩＩ（１）  ＝  １０→１１→１２→１３→１４
点列ＰＩＩ（１）  ＝  １→２→３→４→５→６
【０１６６】
となる。このようなオブジェクト化によって、ハードディスク５００内の所定の領域には、第４２図のような、３つの画像毎に、更に、レイヤ毎に、オブジェクト化された点列Ｐｉ（ｋ）のテーブルが生成される。画像生成用計算機４００はこのテーブルを参照して、階層化モーフィングを行う。
第３８図は、階層化処理の制御手順を説明するフローチャートである。同図のステップＳ６００乃至ステップＳ６１４のループは、第４２図のオブジェクトテーブルを生成する工程を説明する。即ち、ステップＳ６０４乃至ステップＳ６１０においては、ユーザが、計算機３００のマウスなどを用いて、１つのレイヤ値ｉについて、その階層内にあると思われる夫々（引数ｋ）の対象物（部分画像）を、ステップＳ６０６において、点列Ｐｉ（ｋ）として、指定するものである。その結果はステップＳ６０８でメモリに記憶される。
【０１６７】
あるレイヤ（値ｉ）について全ての対象物の指定が終了すると（ステップＳ６１０でＮＯ）、ステップＳ６１２でカウンタｋを初期化し、ステップＳ６１４で、対象（第３４図の画像）の画像内に他のレイヤとして処理すべき部分画像があるかないかの入力をユーザに促す。処理すべき部分画像があるとユーザが判断すれば、ステップＳ６０２乃至ステップＳ６１４までの工程が繰り返される。
【０１６８】
全ての部分画像を処理したならば、累積されたレイヤの値はカウンタｉに記憶されている。そこで、ステップＳ６１６でその値をレジスタＮに記憶しておく。
【０１６９】
ステップＳ６１８〜ステップＳ６２４の処理は、各レイヤの部分画像の有効部分の画素値を保存し、無効部分の画素値をＦＦ（即ち黒色）とし、「隠れ部分」についてはレタッチ処理を施すものである。
【０１７０】
ステップＳ６１８〜ステップＳ６２４の処理の具体例が第３９図乃至第４１図に説明されている。また、第４４図は、階層化処理のためのアプリケーション・プログラムのプルダウンメニューを表している。第４５図は、階層化処理アプリケーション・プログラムを実行中に現在処理中のレイヤ番号とオブジェクト番号とを示している。
【０１７１】
レイヤ分割についてのユーザの操作を第４４図を参照して説明する。
【０１７２】
最下位のレイヤ（レイヤＩ）は前述したように、元の原画像全体に与えられる。即ち、ファイルメニューの新規作成を選択すると、分割対象の原画像を選択すべくダイアローグが計算機３００のＣＲＴ上に標示され、ユーザは原画像のファイル名を入力する。すると、その画像がＣＲＴ上に標示される。ユーザは、レイヤＩとレイヤＩＩとの境界（閉曲線）をマウスによって指定する。第３４図の例では、
点列１，  ２，  １６，  １４，  １０，  １１，  １２，  １５，  ４，  ５，  ６
によって指定する。勿論、境界の指定は、点列だけではなく、矩形領域指定アイコン、所謂「投げ縄」アイコン、またはマウスによる自由曲線によっても指定できる。この状態で、ユーザが、編集メニュウの「レイヤ設定」をマウスによってクリックすると、原画像の内部であって、
点列ＰＩ（１）  ＝１，  ２，  １６，  １４，  １０，  １１，  １２，  １５，  ４，  ５，  ６
【０１７３】
によって区画された境界の外側の領域が、レイヤＩとして割り付けられる。この時点では、ＣＲＴ画面には、第４５図のように、現在のレイヤ番号として、ＬＬ＝０１が、オブジェクト番号としてＯＢ＝０１が表示されている。
【０１７４】
次に、ユーザが三角柱２０００によって形成されるレイヤＩＩを設定したいときは、前述したように、
点列ＰＩＩ（１）  ＝  １０→１１→１２→１３→１４
をマウスなどで選択し、「レイヤ設定」メニューを選択すると、三角柱２０００の内部がレイヤＩとして形成される。この時点では、ＣＲＴ画面には、現在のレイヤ番号として、ＬＬ＝０２が、オブジェクト番号としてＯＢ＝０１が表示されている。
【０１７５】
もし同じレイヤに他のオブジェクトが存在する（ステップＳ６１０でＹＥＳ）場合には、マウスなどにより、そのオブジェクトの境界を選択（ステップＳ６０８）して、「編集メニュー」の「オブジェクト設定」副メニューを選択すると、その部分が別のオブジェクトとして形成される。このときには、ＣＲＴ画面には、現在のオブジェクト番号としてＯＢ＝０２が表示されることになろう。
【０１７６】
レイヤの設定やオブジェクトの設定は、以上のようにして「編集メニュー」に掲げられた各種の機能を駆使することにより実現でき、その結果、第３４図の例の画像ＲＩ１は、レイヤＩからレイヤＩＩＩまでの３つのレイヤに分割される。
【０１７７】
尚、一度設定したレイヤやオブジェクトを削除するときは、そのレイヤのオブジェクトの内部をマウスでクリックし、「編集メニュー」の「レイヤ解除」または「オブジェクト解除」副メニューを選択することにより達成される。同メニューにより、レイヤやオブジェクトが削除されたときは、全てのレイヤ番号やオブジェクト番号は順に繰り下げられる。
【０１７８】
第３８図の制御手順のステップＳ６１６乃至ステップＳ６２４の処理は、全てのレイヤと全てのオブジェクトが設定された（ステップＳ６１４でＮＯの判断）後において実行される処理であって、この処理は他のレイヤのオブジェクトを黒で埋めるものである。
【０１７９】
まず、ステップＳ６１６で総レイヤ数を記憶するレジスタＮにカウンタｉの値をセーブする。また、カウンタｉを０に初期化する。ステップＳ６１８では、最下位レイヤ（背景レイヤ）を選択するためにカウンタｉを１だけインクリメントする。
【０１８０】
ステップＳ６２０では、レイヤｉに属さない全てのレイヤのオブジェクトの画素を黒でペーストする。第３４図の画像ＲＩ１を例にすれば、レイヤＩに対しては第３９図のように、点列ＰＩ（１）  ＝１，  ２，  １６，  １４，  １０，  １１，  １２，  １５，  ４，  ５，  ６の内部が黒で塗りつぶされる。
【０１８１】
ステップＳ６２２では、隠れ部分をレタッチする操作をユーザに促す。「隠れ部分」とは、レイヤｉのいずれかのオブジェクトｋが、ｉ以外の他のレイヤのオブジェクトによって隠されている場合において、その隠されている部分をいうものとする。そのような「隠れ部分」はユーザがＣＲＴ画面を見ることにより認識可能である。「隠れ部分」はユーザによって「レタッチ」されることができる。「レタッチ」処理は、「隠れ部分」がモーフィングによって可視的に顕在化する場合に備えて、予め、色・模様・テクスチャ等を与えて、モーフィングされた画像に見苦しい部分が発生しないようにするための処理である。
【０１８２】
隠れ部分をユーザに選定させるために、ＣＲＴ上に「レタッチ元のテクスチャを選択して下さい」とのメッセージが表示される。第３９図の例では、ユーザは「レタッチ」の処理が不要と考えために「隠れ部分」の設定を行わなかった。
【０１８３】
ステップＳ６２４からステップＳ６１８に戻り、次のレイヤのオブジェクト（第３４図の例ではレイヤＩＩ）が選択される。レイヤＩｉに対してステップＳ６２０の処理が施されると、レイヤＩとレイヤＩＩＩの領域が黒で塗りつぶされるために、第４０図のような画面がＣＲＴ上に表示される。
【０１８４】
ステップＳ６２２で、ＣＲＴ上に「レタッチ元のテクスチャを選択して下さい」とのメッセージが表示される。この時点でユーザは、レイヤＩＩの三角柱２０００のオブジェクトの一部がレイヤＩＩＩの四角柱１０００の一部によって隠されていることを知っている。その隠れ部分の領域は、
点列：１６，  ３，  １５，  １３
であり、かかる部分の画素値はレイヤＩＩＩの四角柱１０００の対応領域の画素値であろう。そこで、ユーザは、その隠れ部分領域を、三角柱２０００のテクスチャでレタッチするために、三角柱２０００の所望の領域をマウスで選択し、「編集メニュー」の「レタッチ元」副メニューを選択する。そして、点列：１６，  ３，  １５，  １３に囲まれた領域をマウスでクリックして、「編集メニュー」の「レタッチ先」副メニューを選択すると、上記隠れ部分領域には、「レタッチ元」メニューで選択されたテクスチャが繰り返しペーストされる。
【０１８５】
こうして、モーフィング時に備えて、隠れ部分領域はユーザが最適と判断したテクスチャによって「レタッチ」される。このために、モーフィングされた画像には不自然な領域が発生することが防止される。
【０１８６】
ステップＳ６１８〜ステップＳ６２２２の処理がレイヤＩＩＩに対して行われると第４１図のような画面が得られる。
【０１８７】
かくして、第２実施例の「階層化」アプリケーション・プログラムの制御手順（第３８図）により、元の画像はレイヤ毎に分割され、各レイヤはオブジェクト毎に分割されて、新たな階層化画像データが第４２図のようなテーブル形式で作成される。結果、階層化モーフィング処理（第４３図の制御手順）において、階層毎にモーフィングを行うための準備が完了した。
【０１８８】
本発明の階層化処理は、本来は連続的に変化する三次元物体の撮影画像を、階段的に（階層的に）「輪切り」にして、視点位置の移動によって隠れることとなる画像部分を顕在化させるものである。この階層化処理（第３８図の手順）を第３６図の物体に適用すると、第３７図のような、階段状のオブジェクト画像が得られる。
【０１８９】
第３１図のウォークスルーアプリケーション・プログラムの処理の説明に戻る。ステップＳ３１０でハードディスク装置５００から取り出される画像データは、第３２図のステップＳ４０２などにより、階層化モーフィングを行うべきか、通常モーフィング処理を行うべきかによって異なる。もし、ステップＳ４０２，ステップＳ４０４で、ユーザの視点位置が階層化モーフィング処理を行うべき領域にまでウォークスルーしてきたと判断された場合には、ステップＳ３１０で取り出すべき画像データは第４２図のように階層化された画像データとなろう。そこで、第３２図のステップＳ４０６では、階層化モーフィング処理を行う。ステップＳ４０６の詳細は第４３図に示されている。
【０１９０】
即ち、第４３図のステップＳ４０６ａでは、カウンタｉとｋとを初期化し、ステップＳ４０６ｂでは、次の階層を選択するためにカウンタｉを１だけインクリメントし、ステップＳ４０６ｃでは、オブジェクトｋ＋１を選択し、ステップＳ４０６ｄでは、３枚の画像（第３４図の例ではＲＩ１，ＲＩ２，ＲＩ３）のうちの、カウンタｉとカウンタｋによって指定されるオブジェクト（ｉ，ｋ）の画像データに対しての、第１実施例のモーフィング処理を行う。ステップＳ４０６ｃ乃至ステップＳ４０６ｅの処理を全てのオブジェクトに対して行い、ステップＳ４０６ｂ乃至ステップＳ４０６ｆの処理を全てのレイヤの全てのオブジェクトに対して行う。以上のようにして階層化モーフィング処理が終了する。
【０１９１】
第３１図のステップＳ４００で、補間モーフィング処理（詳細は第３２図）が終了すると、ステップＳ５００でレンダリング（描画処理）が行われる。レンダリング（描画処理）は、モーフィングが階層化モーフィングによる階層化画像データをレンダリングするときは、１つのあるレイヤｉに属する全てのオブジェクトのモーフィングされた階層化画像データを合成し、更に全ての階層の階層化画像データを合成する。この合成後の画像をステップＳ５０４，ステップＳ５０６でスクリーン装置１００に表示する。
【０１９２】
第２実施例を種々変形することができる。
即ち、第２実施例の通常モーフィング処理も階層化モーフィング処理も、３枚の画像に基づいてモーフィングするものであったが、実施形態の手法と同じように２枚の画像に基づく変形例に対しても本発明を適用できる。
【０１９３】
また、通常モーフィング処理として、周知のパノラマ画像の単なる切換処理を導入してもよい。
【０１９４】
本発明の画像処理をウォークスルーアプリケーション・プログラムに適用した例を用いて説明したが、本発明の適用範囲はウォークスルーに限定されず、およそ、複数（２点以上）の視点から撮像した画像に基づいて補間モーフィングを行う適用分野であれば、いかなる分野にも適用可能である。
【０１９５】
【発明の効果】
以上説明したように、本発明によれば、対象物体間の前後関係が正しく反映されたモーフィングを保証することができる。
【図面の簡単な説明】
【図１】従来技術において、線形補間において歪みが発生する理由を説明する図。
【図２】従来技術において、画像の視線方向を基線に直交する処理を行えば歪みが発生しない理由を説明する図。
【図３】従来技術において、歪みを除去できない理由を説明する図。
【図４】本発明の実施形態における、非線形補間の原理を説明する図。
【図５】実施形態の非線形補間の前処理として、画像の光軸を一致させる処理を説明する図。
【図６】非線形補間処理が必要な場合を説明する図。
【図７】実施形態の非線形補間処理を説明する図。
【図８】非線形補間の前処理として、画像の光軸を一致させる処理を説明する図。
【図９】非線形補間の前処理として、画像の光軸を一致させる処理を説明する図。
【図１０】実施形態の非線形補間処理の原理を説明する図。
【図１１】非線形補間処理後に画像をユーザの視線方向に一致させるための回転処理を説明する図。
【図１２】本発明の第１実施例において、３つの画像を用いることが必要であることを説明する図。
【図１３】本発明の第１実施例において、３つの画像を用いることが必要であることを説明する図。
【図１４】１つの内分点がユーザ視点位置に一致するように、２つの内分点の取り方の１手法を説明する図。
【図１５】１つの内分点がユーザ視点位置に一致するように、２つの内分点の取り方の他の手法を説明する図。
【図１６】１つの内分点がユーザ視点位置に一致するように、２つの内分点の取り方の他の手法を説明する図。
【図１７】第１実施例の線形補間の原理を説明する図。
【図１８】第１実施例の線形補間の原理を説明する図。
【図１９】第１実施例の線形補間の原理を説明する図。
【図２０】選択対象の画像を切り替えることにより移動範囲が拡張する理由を説明する図。
【図２１】第１実施例の制御手順の全体を示すフローチャート。
【図２２】制御手順の前処理の詳細を説明するフローチャート。
【図２３】画像セットの組合せにおいて異なるセットに同一の画像が含まれることを許す理由を説明する図。
【図２４】第１実施例の補間処理のための制御手順を示すフローチャート。
【図２５】第１実施例の補間処理のための制御手順を示すフローチャート。
【図２６】包含関係を説明する図。
【図２７】第１実施例の手法が更に拡張される理由を説明する図。
【図２８】実施形態や第１実施例における補間原理を概略化して説明する図。
【図２９】本発明を仮想空間のウォークスルーに適用した第２実施例における、視点位置の相違に応じたモーフィングの切換を説明する図。
【図３０】第２実施例に係るウォークスルーシステムの構成を説明する図。
【図３１】第２実施例のウォークスルーアプリケーション・プログラムの前提手順を説明するフローチャート。
【図３２】図３１のステップＳ４０の詳細を説明するフローチャート。
【図３３】第２実施例において、対象物体間に前後関係がある場合を説明する図。
【図３４】図３３の対象物体を撮像して得られた３つの基となる画像を制御装置３００のＣＲＴ画面に表示したときの画面の図。
【図３５】第２実施例で、空間を、奥行き距離を参照しながら複数のレイヤに分割する原理を説明する図。
【図３６】視線方向にとがった対象物体と視点位置との関係を説明する図。
【図３７】図３６の物体の画像を第２実施例の階層化分割に従って分割したときの部分画像の生成の様子を説明する図。
【図３８】第２実施例のモーフィングに適した画像を生成するための前処理工程（階層化処理）の制御手順を説明するフローチャート。
【図３９】第２実施例の前処理におけるステップＳ６１６乃至ステップＳ６２４の動作を具体例（レイヤＩ）を用いて説明する図。
【図４０】第２実施例の前処理におけるステップＳ６１６乃至ステップＳ６２４の動作を具体例（レイヤＩＩ）を用いて説明する図。
【図４１】第２実施例の前処理におけるステップＳ６１６乃至ステップＳ６２４の動作を具体例（レイヤＩＩＩ）を用いて説明する図。
【図４２】第２実施例の前処理により生成された階層化画像データの構造を説明する図。
【図４３】図３２のステップＳ４０６の詳細な手順を説明するフローチャート。
【図４４】第２実施例の階層化アプリケーション・プログラムが表示するプルダウンメニューを説明する図。
【図４５】第２実施例の前処理において、制御装置３００のＣＲＴ画面に表示される、現在指定されているレイヤとオブジェクトの番号を表示するウインドを説明する図。
【図１】
0003634677.tif 000039
【図２】
0003634677.tif 000040
【図３】
0003634677.tif 000041
【図４】
0003634677.tif 000042
【図５】
0003634677.tif 000043
【図６】
0003634677.tif 000044
【図７】
0003634677.tif 000045
【図８】
0003634677.tif 000046
【図９】
0003634677.tif 000047
【図１０】
0003634677.tif 000048
【図１１】
0003634677.tif 000049
【図１２】
0003634677.tif 000050
【図１３】
0003634677.tif 000051
【図１４】
0003634677.tif 000052
【図１５】
0003634677.tif 000053
【図１６】
0003634677.tif 000054
【図１７】
0003634677.tif 000055
【図１８】
0003634677.tif 000056
【図１９】
0003634677.tif 000057
【図２０】
0003634677.tif 000058
【図２１】
0003634677.tif 000059
【図２２】
0003634677.tif 000060
【図２３】
0003634677.tif 000061
【図２４】
0003634677.tif 000062
【図２５】
0003634677.tif 000063
【図２６】
0003634677.tif 000064
【図２７】
0003634677.tif 000065
【図２８】
0003634677.tif 000066
【図２９】
0003634677.tif 000067
【図３０】
0003634677.tif 000068
【図３１】
0003634677.tif 000069
【図３２】
0003634677.tif 000070
【図３３】
0003634677.tif 000071
【図３４】
0003634677.tif 000072
【図３５】
0003634677.tif 000073
【図３６】
0003634677.tif 000074
【図３７】
0003634677.tif 000075
【図３８】
0003634677.tif 000076
【図３９】
0003634677.tif 000077
【図４０】
0003634677.tif 000078
【図４１】
0003634677.tif 000079
【図４２】
0003634677.tif 000080
【図４３】
0003634677.tif 000081
【図４４】
0003634677.tif 000082
【図４５】
0003634677.tif 000083