(57)【要約】【課題】  隣接する四角形間で座標値が連続になるように座標変換を行うことができる座標変換装置を提供する。【解決手段】  複数の隣接する四角形内の座標を複数の隣接する四角形内に変換する座標変換装置１００であって、入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出部１０６と、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み係数で重み付けして加算することによって出力座標を算出する座標算出部を有する。これにより、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することができる。例えば、複数の隣接する四角形を透視投影する場合でも、四角形間で共有する辺上でテクスチャが不連続にならないように、テクスチャマッピングを行うことができる。【選択図】          図１３
2005301425.tif 000002
【特許請求の範囲】
【請求項１】
複数の隣接する四角形内の座標を複数の隣接する四角形内に変換する座標変換装置であって、
入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出部と、
前記入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出部とを有することを特徴とする座標変換装置。
【請求項２】
前記重み係数算出部は、射影先の四角形の頂点位置が変わらないように重み係数を算出することを特徴とする請求項１記載の座標変換装置。
【請求項３】
前記重み係数算出部は、２つの四角形によって共有される辺上では、該２つの四角形に対応する重み係数を等しくすることを特徴とする請求項１または請求項２記載の座標変換装置。
【請求項４】
前記座標変換装置は更に、前記入力座標が属する四角形を４つの領域に分割する領域決定部を有し、
前記重み係数算出部は、前記分割した各領域において、前記入力座標が属する四角形を含む４つの隣接する四角形に対応する重み係数を算出し、その他の四角形の重み係数を０とすることを特徴とする請求項１から請求項３の何れか一項に記載の座標変換装置。
【請求項５】
前記座標変換装置は更に、前記入力座標から、縦方向に存在する隣接四角形への距離と、前記入力座標から横方向に存在する隣接四角形への距離を算出する距離算出部を有し、
前記重み係数算出部は、前記縦方向に存在する四角形への距離の比と前記横方向に存在する四角形への距離の比を乗算することによって重み係数を算出することを特徴とする請求項１から請求項４の何れか一項に記載の座標変換装置。
【請求項６】
前記距離算出部は、前記入力座標と、前記入力座標が属する領域の各辺との距離を算出し、該各辺との距離の比をその辺と隣接する四角形との距離とすることを特徴とする請求項４または請求項５記載の座標変換装置。
【請求項７】
前記重み係数算出部は、前記距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いることを特徴とする請求項５記載の座標変換装置。
【請求項８】
前記距離算出部は、前記入力座標が属する領域を四角形とし、該四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、前記入力座標を前記平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を算出することを特徴とする請求項６記載の座標変換装置。
【請求項９】
前記重み係数算出部は、四角形の各頂点上ではその頂点を共有する四角形に対応する重み係数を四分の１とすることを特徴とする請求項１から請求項８の何れか一項に記載の座標変換装置。
【請求項１０】
前記重み係数算出部は、四角形の各辺上にその辺を共有する四角形に対応する重み係数を二分の１となる点を少なくとも1点以上設定することを特徴とする請求項１から請求項９の何れか一項に記載の座標変換装置。
【請求項１１】
前記重み係数算出部は、四角形内にその四角形の重み係数を１とし、他の四角形の重み係数を０とする点を１点以上設定することを特徴とする請求項１から請求項１０の何れか一項に記載の座標変換装置。
【請求項１２】
前記領域決定部は、四角形の辺の中点を通る直線あるいは曲線で領域を分割することを特徴とする請求項４から請求項１１の何れか一項に記載の座標変換装置。
【請求項１３】
前記領域決定部は、四角形の相対する辺の中点同士を結ぶ直線を通る直線で領域を分割することを特徴とする請求項４から請求項１１の何れか一項に記載の座標変換装置。
【請求項１４】
前記重み係数算出部は、各四角形の重み係数の和を１とし、かつ、重み係数は０以上１以下の実数とすることを特徴とする請求項１から１３の何れか一項に記載の座標変換装置。
【請求項１５】
前記重み係数算出部は、各領域の四角形の辺以外の境界線上では、前記入力座標が存在する四角形と最も近い四角形以外に対応する重み係数を０とすることを特徴とする請求項４から請求項１４に何れか一項に記載の座標変換装置。
【請求項１６】
複数の隣接する四角形内の座標を複数の隣接する四角形内に変換する座標変換方法であって、
入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出ステップと、
入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出ステップとを有することを特徴とする座標変換方法。
【請求項１７】
前記重み係数算出ステップは、射影先の四角形の頂点位置が変わらないように重み係数を算出することを特徴とする請求項１６記載の座標変換方法。
【請求項１８】
前記重み係数算出ステップは、２つの四角形によって共有される辺上では、該２つの四角形に対応する重み係数を等しくすることを特徴とする請求項１６または請求項１７記載の座標変換方法。
【請求項１９】
前記座標変換方法は更に、前記入力座標が属する四角形を４つの領域に分割する領域分割ステップを有し、
前記重み係数算出ステップは、前記分割した各領域において、前記入力座標が属する四角形を含む４つの隣接する四角形に対応する重み係数を算出し、その他の四角形の重み係数を０とすることを特徴とする請求項１６から請求項１８の何れか一項に記載の座標変換方法。
【請求項２０】
前記座標変換方法は更に、前記入力座標から、縦方向に存在する隣接四角形への距離と、前記入力座標から横方向に存在する隣接四角形への距離を算出する距離算出ステップを有し、
前記重み係数算出ステップは、前記縦方向に存在する四角形への距離の比と前記横方向に存在する四角形への距離の比を乗算することによって重み係数を算出することを特徴とする請求項１６から請求項１９の何れか一項に記載の座標変換方法。
【請求項２１】
前記距離算出ステップは、前記入力座標と、前記入力座標が属する領域の各辺との距離を算出し、該各辺との距離の比をその辺と隣接する四角形との距離とすることを特徴とする請求項１９または請求項２０記載の座標変換方法。
【請求項２２】
前記重み係数算出ステップは、前記距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いることを特徴とする請求項２０記載の座標変換方法。
【請求項２３】
前記距離算出ステップは、前記入力座標が属する領域を四角形とし、該四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、前記入力座標を前記平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を算出することを特徴とする請求項２１記載の座標変換方法。
【請求項２４】
前記重み係数算出ステップは、四角形の各頂点上ではその頂点を共有する四角形に対応する重み係数を四分の１とすることを特徴とする請求項１６から請求項２３の何れか一項に記載の座標変換方法。
【請求項２５】
複数の隣接する四角形内の座標を複数の隣接する四角形内に変換するためにコンピュータに、
入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出ステップと、
入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出ステップとを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、座標変換装置、座標変換方法およびプログラムに関する。
【背景技術】
【０００２】
従来からコンピュータ上で現実感を持った画像を生成する手法としてコンピュータグラフィック(以下、ＣＧ)技術が広く利用されている。また、ＣＧ技術において、より現実的な物体表面を表現する方法の一つとして、テクスチャマッピングがある。さらに、３次元空間を透視投影した投影図内の物体に２次元テクスチャ画像をマッピングする方法として、射影変換方式が知られている。例えば、射影変換方式の内容は、非特許文献１で紹介されている。
【０００３】
非特許文献１の射影変換方式に関して、図１を用いて説明する。図１は平面テクスチャ画像の透視投影説明図である。図１（ａ）において、２次元平面上に四角形ＡＢＣＤがあるとする。また、四角形ＡＢＣＤ内にテクスチャが存在しているとする。図１（ｂ）は、３次元空間を透視投影した投影図である。図１（ａ）の四角形ＡＢＣＤが透視投影された結果、図１（ｂ）の四角形ａｂｃｄになるとする。ここで、点ａｂｃｄは同一平面上にあるとする。四角形ＡＢＣＤ内のテクスチャは四角形ａｂｃｄ内にマッピングされる。
【０００４】
非特許文献１で紹介されている方式は、四角形ＡＢＣＤ内のテクスチャを四角形ａｂｃｄ内にマッピングするために通常行われている一般的な方式(射影変換方式)である。入力四角形ＡＢＣＤ内の点の座標を（ｕ,ｖ）とする。点（ｕ,ｖ）上のテクスチャが、出力四角形ａｂｃｄ内の座標（Ｓ,Ｌ）に写るとすると、この（ｕ,ｖ）と（Ｓ,Ｌ）の関係は、式（１）、式（２）で表される。
【０００５】
【数１】
2005301425.tif 000003
【０００６】
【数２】
2005301425.tif 000004
上記（１）（２）式内の８つの係数ｐ0、ｐ１、ｐ2、ｑ0、ｑ１、ｑ2、ｒ1、ｒ2の値を求めることができれば、四角形ＡＢＣＤ内のテクスチャを四角形ａｂｃｄにマッピングすることができる。ところで、今、頂点Ａは、頂点ａと対応している。頂点Ａの座標を（ｕＡ,ｖＡ）、頂点ａの座標を（Ｓａ,Ｌａ）とすると、以下の関係式（３）、（４）を得ることができる。
【０００７】
【数３】
2005301425.tif 000005
【０００８】
【数４】
2005301425.tif 000006
同様に、頂点Ｂと頂点ｂの対応、頂点Ｃと頂点ｃの対応、頂点Ｄと頂点ｄの対応から、それぞれ２つの関係式を得ることができる。全てあわせると８つの関係式(一次式)を得る。よって、上記８つの未知数ｐ0、ｐ1、ｐ2、ｑ0、ｑ1、ｑ2、ｒ1、ｒ2は、これらの８つの連立一次方程式を解くことにより、決定することができる。以下、これら８つの変数ｐ0、ｐ1、ｐ2、ｑ0、ｑ1、ｑ2、ｒ1、r2を射影変換パラメタと呼ぶことにする。
【０００９】
さて、次に、この射影変換を利用してテクスチャマッピングを行う例を示す。特許文献１記載の方式では、入力テクスチャ画像が複数の四角形に分割されている場合の例が述べられている。図２は、特許文献１記載の方法を説明するための図である。図２（ａ）に示すように、入力テクスチャ画像(四角形ＡＢＣＤ)が９つの四角形に分割されている場合を考える。特許文献１記載の方法においては、頂点間の対応付けを全ての(９つの)四角形の頂点に対して行うのではなく、代表の４つの頂点に対してのみ行う。例えば、頂点Ａ、Ｂ、Ｃ、Ｄと、頂点ａ、ｂ、ｃ、ｄの４点のみに対して行う。その他の頂点位置は、計算によって算出する。特許文献１記載の方法では、よりリアリティのあるテクスチャマッピングを行うため、頂点位置を算出する際に、頂点位置にランダム誤差を加算するという方法の例が述べられている。
【００１０】
次に、特許文献１内の公知例１として紹介されている、伊藤文子他「簡便さとリアリティを考慮したテクスチュアシミュレーションシステム」情報処理学会第39回(平成元年後期)全国大会について説明する（従来技術３）。従来技術３では、マウスを用いることによって、図１における(Ａとａ)、（Ｂとｂ）、(Ｃとc)、(Ｄとｄ)等の位置を指定する。マウスで指定された座標情報を（１）式や（２）式に代入することで、射影変換パラメタを計算することができる。
【００１１】
以上のように、特許文献１記載の方法や従来例３では、２次元平面上のテクスチャを平面上に透視投影した投影図にマッピングさせている。この透視投影の方法は非特許文献１で説明した。
【００１２】
【非特許文献１】「Texture Mapping 3D Models of Real-World Scenes」ACM Computing Surveys, Vol. 29, No. 4, December 1997 pp. 325-365
【特許文献１】特開平５−１２０４３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、従来例で行われているような頂点間の対応付けをする場合、特許文献１記載の方法では、マッピングする頂点の座標位置に人為的に誤差を与えてしまうという問題がある。また、従来例３では、手作業で、マッピングする頂点位置を与えている。この場合、位置を指定する時の誤差が発生してしまうという問題がある。また、特許文献１記載の方法や従来例３では、２次元テクスチャ画像をマッピングする対象を平面に限定している。
【００１４】
しかしながら、テクスチャマッピングを行う対象面は、平面であるとは限らない。平面以外の面にテクスチャマッピングを行おうとするとき、図２で示したように、特許文献１で述べられているように、テクスチャ画像を小さな四角形(以下、小四角形)に分割し、各小四角形ごとに頂点の対応を取って、四角形ごとに投影変換を行いマッピングを行う方法が考えられる。ただし、上記対象面の形状によっては、各小四角形を隙間や重複無く対象面に並べることが不可能である場合がある。一般にガウス曲率が全面に渡って０の曲面以外では、その曲面は展開不可能であり、各小四角形を隙間や重複無く対象面に並べることはできない。
【００１５】
上記に挙げた３つの例は、
（１）四角形の頂点位置に誤差が生じる場合、あるいは、
（２）複数の小四角形を隙間や重複無く３次元内の物体表面に並べることができない場合の存在を示している。これらのような場合、頂点位置に対する射影変換は上手く行くが、頂点間の辺においてテクスチャが不連続になってしまうという問題点がある。
【００１６】
以下、この問題点に関して図３を用いて説明する。図３はテクスチャ不連続点に関する説明図である。図３(ａ)は、平面テクスチャ画像であるとする。平面テクスチャ画像は、２つの四角形ＡＢＣＤと四角形ＤＣＥＦに分割されているものとする。四角形ＡＢＣＤと四角形ＤＣＥＦは辺ＣＤを共有しているものとする。図３（ａ）の四角形ＡＢＣＤと四角形ＤＣＥＦが、投影された結果、図３(ｂ)の四角形ａｂｃｄと、四角形ｄｃｅｆとなるとする。ここで、頂点Ａはａに投影される。同様にＢはｂに、Ｃはｃに、Ｄはｄに、Ｅはｅに、Ｆはｆに投影される。
【００１７】
実際には、誤差のない場合や、平面から平面に投影される場合には図３(ｂ)のような形状にはならないのであるが、上記で述べたように、誤差が存在していたり、平面から展開不可能な面に投影する場合には、このような形状になることがあり得る。
【００１８】
ここで、図３(ａ)内の点Ｇ、Ｈ、Ｉを考える。ここで、一例として、Ｇは線分ＡＢの中点、Ｈは線分ＣＤの中点、Ｉは線分ＥＦの中点であるとする。四角形ＡＢＣＤから、四角形ａｂｃｄに射影変換されるとき、点Ａはａに、点Ｂはｂに、点Ｃはｃに、点Ｄはｄに写る。点Ｇは、線分ａｂ内の点ｇに写る。
【００１９】
このとき、Ｇは線分ＡＢの中点であるが、射影変換の結果、ｇは線分ａｂの中点となるとは限らない。図３のように、長方形ＡＢＣＤが台形ａｂｃｄに写って、ａｄ＜ｂｃであるような場合、ｇは、ｂよりもａに近い点となる。同様にＨも線分ｃｄ上の点ｈ１に写る。ｈ１は、線分ｃｄの中点ではなく、ｃよりもｄに近い点である。同様に、四角形ＤＣＥＦから四角形ｄｃｅｆへの投影変換を考える。四角形ＤＣＥＦの辺上の点Ｈは、四角形ｄｃｅｆの辺上の点ｈ２に写る。このときも同様に、ｈ２の位置は、線分ｃｄの中点とは限らない。
【００２０】
以上の結果、図３(ａ)に示されたように、一直線だったはずの直線ＧＩが、投影変換の結果、図３（ｂ）に示されるように、点Ｈの部分で不連続になってしまうという問題点が発生する。すなわち、隣接する四角形間で共有されるべき点の位置が、四角形によって異なるため、テクスチャが四角形の辺上で不連続になってしまうという問題点が発生する。
【００２１】
そこで、本発明は、上記従来例の問題点に鑑み、隣接する四角形間で座標値が連続になるように座標変換を行うことができる座標変換装置、座標変換方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために、本発明は、請求項１に記載のように、複数の隣接する四角形内の座標を複数の隣接する四角形内に変換する座標変換装置であって、入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出部と、前記入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出部とを有することを特徴とする。
【００２３】
請求項１記載の発明によれば、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み付けして加算することにより、出力座標を算出するので、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することができる。例えば、複数の隣接する四角形を透視投影する場合でも、四角形間で共有する辺上でテクスチャが不連続にならないように、テクスチャマッピングを行うことができる。
【００２４】
また、本発明は、請求項２に記載のように、請求項１記載の座標変換装置において、前記重み係数算出部は、射影先の四角形の頂点位置が変わらないように重み係数を算出することを特徴とする。請求項２記載の発明によれば、射影先の四角形の頂点位置は変わらないようにし、四角形の頂点を拘束することで、四角形の頂点位置での誤差を無くすことができる。
【００２５】
また、本発明は、請求項３に記載のように、請求項１または請求項２記載の座標変換装置において、前記重み係数算出部は、２つの四角形によって共有される辺上では、該２つの四角形に対応する重み係数を等しくすることを特徴とする。請求項３記載の発明によれば、２つの四角形によって共有される辺上では、これら２つの四角形に対応する重み係数を等しくすることで、共有する辺上での不連続性を解消できる。
【００２６】
また、本発明は、請求項４に記載のように、請求項１から請求項３の何れか一項に記載の座標変換装置において、更に、前記入力座標が属する四角形を４つの領域に分割する領域決定部を有し、前記重み係数算出部は、前記分割した各領域において、前記入力座標が属する四角形を含む４つの隣接する四角形に対応する重み係数を算出し、その他の四角形の重み係数を０とすることを特徴とする。請求項４記載の発明によれば、入力座標が属する四角形を４つの領域に分割し、この分割した各領域において、入力座標が属する四角形を含む４つの隣接する四角形に対応する重み付けを行い、その他の四角形の重み係数は０とするので、より遠い四角形に対する重み係数ほど小さくすることで、自然な座標変換を行うことができる。
【００２７】
また、本発明は、請求項５に記載のように、請求項１から請求項４の何れか一項に記載の座標変換装置において、更に、前記入力座標から、縦方向に存在する隣接四角形への距離と、前記入力座標から横方向に存在する隣接四角形への距離を算出する距離算出部を有し、前記重み係数算出部は、前記縦方向に存在する四角形への距離の比と前記横方向に存在する四角形への距離の比を乗算することによって重み係数を算出することを特徴とする。請求項５記載の発明によれば、縦方向の距離の比と横方向の距離の比を乗算することによって重み係数を算出するので、縦方向の距離の比と横方向の距離の比に応じてより自然な座標変換を行うことができる。
【００２８】
また、本発明は、請求項６に記載のように、請求項４または請求項５記載の座標変換装置において、前記距離算出部は、前記入力座標と、前記入力座標が属する領域の各辺との距離を算出し、該各辺との距離の比をその辺と隣接する四角形との距離とすることを特徴とする。請求項６記載の発明によれば、各辺との距離をその辺と隣接する四角形との距離とすること計算が多くなってしまうという問題点を解決できる。
【００２９】
また、本発明は、請求項７に記載のように、請求項５記載の座標変換装置において、前記重み係数算出部は、前記距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いることを特徴とする。請求項７記載の発明によれば、距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いるので、距離の比に応じた自然な座標変換を行うことができる。
【００３０】
また、本発明は、請求項８に記載のように、請求項６記載の座標変換装置において、前記距離算出部は、前記入力座標が属する領域を四角形とし、該四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、前記入力座標を前記平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を算出することを特徴とする。請求項８記載の発明によれば、入力座標が属する四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、入力座標をその平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を計測するので、平行四辺形内の連続に移動する直線を用いることで、より自然な座標変換を行うことができる。
【００３１】
また、本発明は、請求項９に記載のように、請求項１から請求項８の何れか一項に記載の座標変換装置において、前記重み係数算出部は、四角形の各頂点上ではその頂点を共有する四角形に対応する重み係数を四分の１とすることを特徴とする。請求項９記載の発明によれば、頂点を共有する４つの四角形から同等の影響を与えることができる。
【００３２】
また、本発明は、請求項１０に記載のように、請求項１から請求項９の何れか一項に記載の座標変換装置において、前記重み係数算出部は、四角形の各辺上にその辺を共有する四角形に対応する重み係数を二分の１となる点を少なくとも1点以上設定することを特徴とする。
【００３３】
また、本発明は、請求項１１に記載のように、請求項１から請求項１０の何れか一項に記載の座標変換装置において、前記重み係数算出部は、四角形内にその四角形の重み係数を１とし、他の四角形の重み係数を０とする点を１点以上設定することを特徴とする。
【００３４】
また、本発明は、請求項１２に記載のように、請求項４から請求項１１の何れか一項に記載の座標変換装置において、前記領域決定部は、四角形の辺の中点を通る直線あるいは曲線で領域を分割することを特徴とする。
【００３５】
また、本発明は、請求項１３に記載のように、請求項４から請求項１１の何れか一項に記載の座標変換装置において、前記領域決定部は、四角形の相対する辺の中点同士を結ぶ直線を通る直線で領域を分割することを特徴とする。
【００３６】
また、本発明は、請求項１４に記載のように、請求項１から１３の何れか一項に記載の座標変換装置において、前記重み係数算出部は、各四角形の重み係数の和を１とし、かつ、重み係数は０以上１以下の実数とすることを特徴とする。
【００３７】
また、本発明は、請求項１５に記載のように、請求項４から請求項１４に何れか一項に記載の座標変換装置において、前記重み係数算出部は、各領域の四角形の辺以外の境界線上では、前記入力座標が存在する四角形と最も近い四角形以外に対応する重み係数を０とすることを特徴とする。請求項１５記載の発明によれば、より遠い四角形に対応する重み係数ほど小さくできる。
【００３８】
また、本発明は、請求項１６に記載のように、複数の隣接する四角形内の座標を複数の隣接する四角形内に変換する座標変換方法であって、入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出ステップと、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出ステップとを有することを特徴とする。
【００３９】
請求項１６記載の発明によれば、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み付けして加算することにより、出力座標を算出するので、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することができる。例えば、複数の隣接する四角形を透視投影する場合でも、四角形間で共有する辺上でテクスチャが不連続にならないように、テクスチャマッピングを行うことができる。
【００４０】
また、本発明は、請求項１７に記載のように、請求項１６記載の座標変換方法において、前記重み係数算出ステップは、射影先の四角形の頂点位置が変わらないように重み係数を算出することを特徴とする。請求項１７記載の発明によれば、射影先の四角形の頂点位置は変わらないようにし、四角形の頂点を拘束することで、四角形の頂点位置での誤差を無くすことができる。
【００４１】
また、本発明は、請求項１８に記載のように、請求項１６または請求項１７記載の座標変換方法において、前記重み係数算出ステップは、２つの四角形によって共有される辺上では、該２つの四角形に対応する重み係数を等しくすることを特徴とする。請求項１８記載の発明によれば、２つの四角形によって共有される辺上では、これら２つの四角形に対応する重み係数を等しくすることで、共有する辺上での不連続性を解消できる。
【００４２】
また、本発明は、請求項１９に記載のように、請求項１６から請求項１８の何れか一項に記載の座標変換方法において、更に、前記入力座標が属する四角形を４つの領域に分割する領域分割ステップを有し、前記重み係数算出ステップは、前記分割した各領域において、前記入力座標が属する四角形を含む４つの隣接する四角形に対応する重み係数を算出し、その他の四角形の重み係数を０とすることを特徴とする。請求項１９記載の発明によれば、入力座標が属する四角形を４つの領域に分割し、この分割した各領域において、入力座標が属する四角形を含む４つの隣接する四角形に対応する重み付けを行い、その他の四角形の重み係数は０とするので、より遠い四角形に対する重み係数ほど小さくすることで、自然な座標変換を行うことができる。
【００４３】
また、本発明は、請求項２０に記載のように、請求項１６から請求項１９の何れか一項に記載の座標変換方法において、更に、前記入力座標から、縦方向に存在する隣接四角形への距離と、前記入力座標から横方向に存在する隣接四角形への距離を算出する距離算出ステップを有し、前記重み係数算出ステップは、前記縦方向に存在する四角形への距離の比と前記横方向に存在する四角形への距離の比を乗算することによって重み係数を算出することを特徴とする。請求項２０記載の発明によれば、縦方向の距離の比と横方向の距離の比を乗算することによって重み係数を算出するので、縦方向の距離の比と横方向の距離の比に応じてより自然な座標変換を行うことができる。
【００４４】
また、本発明は、請求項２１に記載のように、請求項１９または請求項２０記載の座標変換方法において、前記距離算出ステップは、前記入力座標と、前記入力座標が属する領域の各辺との距離を算出し、該各辺との距離の比をその辺と隣接する四角形との距離とすることを特徴とする。請求項２１記載の発明によれば、各辺との距離をその辺と隣接する四角形との距離とすること計算が多くなってしまうという問題点を解決できる。
【００４５】
また、本発明は、請求項２２に記載のように、請求項２０記載の座標変換方法において、前記重み係数算出ステップは、前記距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いることを特徴とする。請求項２２記載の発明によれば、距離の比を単調増加関数に代入して得られた値を新たな距離の比として用いるので、距離の比に応じた自然な座標変換を行うことができる。
【００４６】
また、本発明は、請求項２３に記載のように、請求項２１記載の座標変換方法において、前記距離算出ステップは、前記入力座標が属する領域を四角形とし、該四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、前記入力座標を前記平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を算出することを特徴とする。請求項２３記載の発明によれば、入力座標が属する四角形の各頂点を任意の平行四辺形の各頂点に写す射影変換を用いて、入力座標をその平行四辺形内に写し、写像先の座標を用いて、各領域の辺までの距離を計測するので、平行四辺形内の連続に移動する直線を用いることで、より自然な座標変換を行うことができる。
【００４７】
また、本発明は、請求項２４に記載のように、請求項１６から請求項２３の何れか一項に記載の座標変換方法において、前記重み係数算出ステップは、四角形の各頂点上ではその頂点を共有する四角形に対応する重み係数を四分の１とすることを特徴とする。請求項２４記載の発明によれば、頂点を共有する４つの四角形から同等の影響を与えることができる。
【００４８】
また、本発明のプログラムは、請求項２５に記載のように、複数の隣接する四角形内の座標を複数の隣接する四角形内に変換するためにコンピュータに、入力座標と隣接する四角形間の距離を用いて重み係数を算出する重み係数算出ステップと、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、前記入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、前記重み係数で重み付けして加算することによって出力座標を算出する座標算出ステップとを実行させる。
【００４９】
請求項２５記載の発明によれば、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み付けして加算することにより、出力座標を算出するので、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することができる。例えば、複数の隣接する四角形を透視投影する場合でも、四角形間で共有する辺上でテクスチャが不連続にならないように、テクスチャマッピングを行うことができる。
【発明の効果】
【００５０】
本発明によれば、隣接する四角形間で座標値が連続になるように座標変換を行うことができる座標変換装置、座標変換方法およびプログラムを提供できる。
【発明を実施するための最良の形態】
【００５１】
以下、本発明を実施するための最良の形態について説明する。まず、最初に本発明の概念を述べる。図４は発明概念を説明するための図であり、同図（ａ）は投影前画像を示す図、同図（ｂ）は投影後画像を示す図である。図４（ａ）のように隣接する９つの四角形（０から９）が、図４(ｂ)のように隣接する９つの四角形（０から９）に透視投影されているとする。また、図４（ａ）と図４（ｂ）で、同一の番号が与えられた四角形同士が対応しているものとする。
【００５２】
ここでは、図４（ａ）の投影前画像の四角形０内のテクスチャを、図４（ｂ）の投影後画像の四角形０内へマッピングする例を示す。図４（ａ）に示す投影後画像内のテクスチャを図４(ｂ)に示す投影後画像にマッピングするには、投影後画像内の座標(ｕ,ｖ)を入力して、その座標に対応する投影前画像内の座標を得ることができれば良い。すなわち、投影前画像の四角形０の頂点をＡ、Ｂ、Ｃ、Ｄとし、投影後画像の四角形０の頂点をａ、ｂ、ｃ、ｄとすると、四角形ａｂｃｄ内の点の座標を入力し、四角形ＡＢＣＤ内の点へ写像しその座標を求めることができればよい。ここで、投影後画像内の入力座標(ｕ,ｖ)に対応する投影前画像内の出力座標をＸ(ｕ,ｖ)とする。Ｘ(ｕ,ｖ)は２次元ベクトルである。
【００５３】
以下、順にＸ(ｕ,ｖ)の計算方法を述べる。図５は座標変換方法の処理フローチャートである。
（１）まず、対応する各四角形間の射影変換パラメタを算出する（ステップＳ１）。従来例で述べたように、各四角形毎に、４つの頂点の座標を用いて射影変換パラメタを計算することができる。従来例で述べた例は座標(Ｓ,Ｌ)から、座標(ｕ,ｖ)を得るための数式であったが、座標(ｕ,ｖ)から座標(Ｓ,Ｌ)を得るためには、適宜変数を変換すればよい。以下、四角形iに対応する射影変換をＳiとする。
（２）図４（ｂ）に示す投影後画像の四角形０内の入力座標(ｕ,ｖ)に対応する図４（ａ）に示す投影前画像内の出力座標Ｘ0(ｕ,ｖ)を、四角形０の射影変換パラメタを用いて計算することができる（ステップＳ２）。Ｘ0(ｕ,ｖ)は、２次元ベクトルである。
（３）同様に、図４（ｂ）投影後画像の四角形０内の入力座標(ｕ,ｖ)に対応する図４（ａ）の投影前画像内の出力座標Ｘi(ｕ,ｖ)を、四角形i(i＝１,２,…,８)の射影変換パラメタを用いて計算することができる（ステップＳ３）。Ｘi(ｕ,ｖ)は、２次元ベクトルである。
【００５４】
（４）図４（ｂ）投影後画像の四角形０内の入力座標(ｕ,ｖ)に対応する図４（ａ）投影前画像内の最終的な出力座標Ｘ(ｕ,ｖ)は、投影前画像内の出力座標Ｘi(ｕ,ｖ)を、四角形番号iの関数である重み係数Ｗi(ｕ,ｖ)（i＝０,１,２,…,８）で、重み付けして加算することにより求めることができる（ステップＳ４）。これを式（５）に示す。
【００５５】
【数５】
2005301425.tif 000007
ただし、０≦Ｗi(ｕ,ｖ)≦１、かつ、
【００５６】
【数６】
2005301425.tif 000008
である。すなわち、各四角形の重み係数の和を１とし、かつ、重み係数は０以上１以下の実数とする。
【００５７】
上記式（５）は、入力座標（ｕ，ｖ）が属する四角形０に対応する射影変換Ｓ0を用いて得られる座標Ｘ0（ｕ，ｖ）と、入力座標（ｕ，ｖ）が属する四角形０に隣接する四角形ｉ（ｉ≠０）に対応する射影変換Ｓiを用いて得られる座標Ｘi（ｕ，ｖ）とを、重み係数Ｗiで重み付けして加算することによって最終的な出力座標Ｘ（ｕ，ｖ）を算出できることを示している。
【００５８】
以下、四角形番号iに対応する点ｘの重み係数をＷi(ｘ)、四角形番号iに対応する点ｘの出力座標値をＸi(ｘ)と書くこともある。あるいは、線分ｘｙ上の点の重み係数はＷi(ｘｙ)、領域Ｒ内の重み係数はＷi(Ｒ)等とも表記する。
【００５９】
次に、重み係数Ｗi(ｕ,ｖ)の算出方法について説明する。本発明では、テクスチャの不連続性を解消するため、上記の重み係数Ｗi(ｕ,ｖ)を、以下の条件を満たすように定める。
条件（１）  「点ａは点Ａに写る。同様に、点ｂは点Ｂに、点ｃは点Ｃに、点ｄは点Ｄに写る（四角形の頂点の拘束条件）。」
条件（２）  「辺ａｂ上の点が四角形０に属するとして計算した時の結果と、四角形１に属するとして計算した時の結果が等しい。同様に、辺ｂｃ上の点が四角形０に属するとして計算した時の結果と、四角形３に属するとして計算した時の結果が等しい。辺ｃｄ上の点が四角形０に属するとして計算した時の結果と、四角形５に属するとして計算した時の結果が等しい。辺ｄａ上の点が四角形０に属するとして計算した時の結果と、四角形７に属するとして計算した時の結果が等しい。(共有する辺上での不連続性を解消するための必要条件)。」
条件（３）  「入力座標の滑らかな変化に対応して、重み係数はできるだけ滑らかに変化する。また、より遠い四角形に対応する重み係数ほど小さくなる。さらに、等しい距離にある四角形に対応する重み係数は等しくする。(より自然なテクスチャとするための条件)」。ここでは距離の定義は考えていないので、本条件（３）は定性的なものである。
【００６０】
次に、上記の条件を満たすような、妥当な重み係数Ｗiを定めることとする。さて、頂点ａを例にとり、条件（１）を満たすための重み係数Ｗiの条件を考える。頂点ａを共有する四角形は、四角形０、１、７、８である。点ａを四角形０に対応する射影変換Ｓ0で変換するとＡに写る。すなわち、Ｘ0(ａ)＝Ａである。また、同様に点ａを四角形１に対応する射影変換Ｓ１で変換するとＡに写る。すなわち、Ｘ1(ａ)＝Ａである。点ａを四角形７に対応する射影変換Ｓ7で変換するとＡに写る。すなわち、Ｘ7(ａ)＝Ａである。点ａを四角形８に対応する射影変換Ｓ8で変換するとＡに写る。すなわち、Ｘ8(ａ)＝Ａである。これらの結果から、点ａにおいては、重み係数は、
wi（a）=0（i≠0,1,7,8）
とすることによって、（５）式はＸ(ａ)＝Σｗi×Ｘi(ａ)＝Ａとすることができる。
【００６１】
そこで、本発明では、頂点を共有する四角形の重み係数は、
Wi(a)=0(i≠0,1,7,8)、
Wi(b)=0(i≠0,1,2,3)、
Wi(c)=0(i≠0,3,4,5)、
Wi(d)=0(i≠0,5,6,7)
とする。このように、射影先の四角形の頂点位置が変わらないような重み係数を用いる。
【００６２】
また、各頂点では、その頂点を共有する４つの四角形から同等の影響を与えられると考えるのが自然である。あるいは、四角形０の４つの頂点における重み係数は対称に与えるのが自然である。そのため、以下、四角形０の４つの頂点における重み係数は、
Wi(a)=1/4(i=0,1,7,8)、
Wi(b)=1/4(i=0,1,2,3)、
Wi(c)=1/4(i=0,3,4,5)、
Wi(d)=1/4(i=0,5,6,7)
とする。このように、四角形の各頂点上ではその頂点を共有する四角形に対応する重み係数を四分の１とすることにより、頂点を共有する４つの四角形から同等の影響を与えることができる。
【００６３】
次に、図６を用いて考察を行う。図６は発明概念の説明図である。図６では、例えば、四角形０内で、四角形３と四角形７から等距離にある曲線（直線の場合もありうる）を考える。この曲線と辺ａｂの交点をｅ、辺ｃｄの交点をｇとする。同様に、四角形０内で、四角形１と四角形５から等距離にある曲線（直線の場合もありうる）を考える。この曲線と辺ｂｃとの交点をｆ、辺ｄａとの交点をｈとする。曲線ｅｇと曲線ｆｈの交点をｐとする。ｐは、四角形１、３、５、７から最も遠い距離にある点とすることができる。
【００６４】
四角形０内の点の中で、その四角形０の重み係数をＷ0＝１とし、他の四角形の重み係数をＷi＝０（i≠０）となる点を一点だけ定めるとするならば、この点ｐを選択するのが自然である。また、元々(重み付けをしない場合)は、四角形０の全面に渡ってＷ0＝１、Ｗi＝０（i≠０）だったのであるから、四角形０の中にＷ0＝１,Ｗi＝０（i≠０)となる点が存在するほうが自然である。よって、以下、本発明では、点ｐの重み係数を、
W0(p)=1、Wi(p)=0（i≠0）
とする。このように、四角形内にその四角形の重み係数を１とし、他の四角形の重み係数を０とする点を１点以上設定することで、自然な座標変換が可能となる。また、この点ｐを、以下、四角形０の中心点とする。
【００６５】
次に曲線ｐｅ上の点の重み係数を考える。曲線ｐｅ上の点は点ｐよりも、四角形４、５、６から遠いと考えられる。また、四角形３、７からも遠いと考えるのが自然である。また、点ｐにおいて、重み係数はW1=W2=W3=W4=W5=W6=W7=0である。よって、条件（３）より、曲線ｐｅ上では、重み係数をW3=W4=W5=W6=W7=0とするのが自然である。
【００６６】
さらに、曲線ｐｅ上の点からは、四角形３のほうが四角形２より近いと考えるのが自然である。よって、重み係数W3=0から、重み係数W2=0とするのが自然である。同様に四角形８のほうが四角形７より遠いと考えるのが自然なので、重み係数W8=0とするのが自然である。よって、本発明では、曲線ｐｅ上では、重み係数をWi=0(i=2,3,4,5,6,7,8)とする。
【００６７】
同様に、曲線ｐｇ上では、重み係数をWi=0(i=6,7,8,1,2,3,4)とし、曲線ｐｆ上では、重み係数をWi=0(i=4,5,6,7,8,1,2)とし、曲線ｐｈ上では、重み係数をWi=0(i=8,1,2,3,4,5,6)とする。
【００６８】
図６に示されるように、ａｅ、ｅｐ、ｐｈ、ｈａで囲まれた領域をＲａとし、ｅｂ、ｂｆ、ｆｐ、ｐｅで囲まれた領域をＲｂとし、ｐｆ、ｆｃ、ｃｇ、ｇｐで囲まれた領域をＲｃとし、ｈｐ、ｐｇ、ｇｄ、ｄｈで囲まれた領域をＲｄとする。このように、各領域（Ｒａ、Ｒｂ、Ｒｃ、Ｒｄ）の四角形の辺以外の境界線上（曲線ｐｅ、ｐｆ、ｐｇ、ｐｈ）では、入力座標が存在する四角形と最も近い四角形以外に対応する重み係数を０とすることで、より遠い四角形に対応する重み係数ほど小さくできる。
【００６９】
次に、これらの領域内の重み係数について説明する。
【００７０】
領域Ｒａ内の点は、ｐより四角形３、４、５から遠いので、重み係数をW3=W4=W5=0とし、ｐｅより四角形２、３、４から遠いので、重み係数をW2=W3=W4=0とし、さらに、ｐｈより四角形４、５、６から遠いので、重み係数をW4=W5=W6とする。よって、領域Ｒａ内では、重み係数をWi=0(i=2,3,4,5,6)とするのが自然である。
【００７１】
同様に、領域Ｒｂ内の点は、ｐより四角形５、６、７から遠いので、重み係数をW5=W6=W7=0とし、ｐｅより四角形６、７、８から遠いので、重み係数をW6=W7=W8=0とし、さらに、ｐｆより四角形４、５、６から遠いので、重み係数をW4=W5=W6とする。よって、領域Ｒａ内では、重み係数をWi=0(i=4,5,6,7,8)とするのが自然である。
【００７２】
領域Ｒｃ内の点では、ｐより四角形１、７、８から遠いので、重み係数をW1=W7=W8=0とし、ｐｇより四角形６、７、８から遠いので、重み係数をW6=W7=W8=0とし、さらに、ｐｆより四角形１、２、８から遠いので、重み係数をW1=W2=W8とする。よって、領域Ｒｃ内では、重み係数をWi=0(i=6,7,8,1,2)とする。
【００７３】
領域Ｒｄ内の点では、ｐより四角形１、２、３から遠いので、重み係数をW1=W2=W3=0とし、ｐｇより四角形２、３、４から遠いので、重み係数をW2=W3=W4=0とし、さらに、ｐｈより四角形１、２、８から遠いので、重み係数をW1=W2=W8とする。よって、領域Ｒｄ内では、重み係数をWi=0(i=8,1,2,3,4)とする。
【００７４】
このように、入力座標が属する四角形０を４つの領域（Ｒａ、Ｒｂ、Ｒｃ、Ｒｄ）に分割し、分割した各領域において、入力座標が属する四角形０を含む４つの隣接する四角形に対応する重み付けを行い、その他の四角形の重み係数を０とすることで、より遠い四角形に対する重み係数を小さくできる。
【００７５】
次に、点ｅ、ｆ、ｇ、ｈの位置の制限について考察する。辺ａｂ上において、重み係数がW3=W7となる点はｅである。また、重み係数がW2=W8となる点も点ｅとするのが自然である。すなわち、各辺上で、各四角形を分割するために与える点（ｅ、ｆ、ｇ、ｈにあたる点）の位置は、共有する辺上では同位置にあることとする。さらに、点ｅは、四角形０と四角形１の状況を共に考慮して定める必要がある。このような場合に、妥当で自然な位置は、点ｅを辺ａｂの中点にすることである。
【００７６】
例えば、点ｅは、辺ａｂの中点、点ｆは、辺ｂｃの中点、点ｇは、辺ｃｄの中点、点ｈは、辺ｄａの中点とすれば良い。これまでは、２つの四角形から等距離となる位置ｅｇとｆｈを曲線としていたが、以下では、上記等距離曲線は直線であるとする。
【００７７】
次に、線分ｂｅ上の点に関して考察する。条件（２）より、線分ｂｅ上の点は、その点が四角形０に存在する場合と、四角形１に存在する場合とで、写像先が同じになればよい。つまり、２つの四角形によって共有される辺上では、この２つの四角形に対応する重み係数を等しくすることで共有する辺上での座標変換の不連続性を解消できる。例えば線分ｂｅ上における重み係数を対称にすると条件（２）が成り立つ。すなわち、重み係数がW0(be)=W1(be)、かつ、W3(be)=W2(be)であればよい。同様に、重み係数をW0(bf)=W3(bf)、W1(bf)=W2(bf)等とできる。
【００７８】
以上の考察をまとめる。例えば領域Ｒｂ（四角形Ｐｅｂｆ）において、重み係数は、
点ｐ条件：W0=1,Wi=0(i≠0)
点ｅ条件：W0=W1=1/2,Wi=0(i≠0,1)
点ｆ条件：W0=W3=1/2,Wi=0(i≠0,3)
点ｂ条件：W0=W1=W2=W3=1/4,Wi=0(i≠0,1,2,3)
線分ｐｅ条件：Wi=0(i≠0,1)
線分ｐｆ条件：Wi=0(i≠0,3)
線分ｂｅ条件：W0=W1,W3=W2,Wi=0 (i≠4,5,6,7,8)
線分ｂｆ条件：W0=W3,W1=W2,Wi=0(i≠4,5,6,7,8)
ただし、線分ｐｅ条件と線分ｐｆ条件が満たされれば、点ｐ条件も満たされる。また、線分ｐｅ条件と線分ｂｅ条件が満たされれば、点ｅ条件が満たされる。同様に、線分ｐｆ条件と線分ｂｆ条件が満たされれば点ｆ条件も満たされる。線分ｂｅ条件と線分ｂｆ条件が満たされれば、点ｂ条件も満たされる。よって、境界条件は以下の４つになる。
【００７９】
＜境界条件＞
線分ｐｅ条件：Wi=0(i≠0,1) 
線分ｐｆ条件：Wi=0(i≠0,3)
線分ｂｅ条件：W0=W1,W3=W2,Wi=0(i≠4,5,6,7,8)
線分ｂｆ条件：W0=W3,W1=W2,Wi=0(i≠4,5,6,7,8)
上記の境界条件を満たすような重み係数の決定法に関して、以下述べる。
【００８０】
以下、入力座標が領域Ｒｂにある場合を例に採り、Ｒｂ内の重み係数設定方法を説明する。図７は、入力座標が領域Ｒｂにある場合を例に採り、Ｒｂ内の重み係数設定方法を説明する。図７において、入力座標Ｑ＝(ｕ,ｖ)が領域Ｒｂ内にあるとする。このとき、まず、重み係数はW4=W5=W6=W7=W8=0とできる。
【００８１】
以下、点Ｑから四角形０、１、３までの距離を水平方向(四角形０と四角形１の並ぶ方向)、垂直方向(四角形０と四角形３の並ぶ方向)の２方向に分割して考える。以下の距離α、β、γ、δを用いて、遠くに中心点が存在する四角形に対応する重み係数を小さくするように重み係数を決定する。点Ｑから四角形０までの水平方向距離をα、点Ｑから四角形１までの水平方向距離をβ、点Ｑから四角形０までの垂直方向距離をγ、点Ｑから四角形３までの垂直方向距離をδとする。
【００８２】
本発明では、以下の式（９）〜（１２）のように重み係数Wi(u,v)を設定する。まず、λ、μを式（７）、（８）のように定める。
【００８３】
【数７】
2005301425.tif 000009
【００８４】
【数８】
2005301425.tif 000010
とする。
【００８５】
【数９】
2005301425.tif 000011
【００８６】
【数１０】
2005301425.tif 000012
【００８７】
【数１１】
2005301425.tif 000013
【００８８】
【数１２】
2005301425.tif 000014
ただし、ここで、Ｆ()はＦ(０)＝０、Ｆ(１／２)＝１／２となる単調増加関数である。
【００８９】
上記式（９）〜（１２）は、隣接する四角形が縦方向、横方向に規則正しく並んでいる場合に、入力座標Ｑから、縦方向に存在する隣接四角形３への距離と、入力座標Ｑから横方向に存在する隣接四角形１への距離を算出し、縦方向の距離の比と横方向の距離の比を乗算することによって重み係数を求めることを示している。上記（９）〜（１２）式は、例えば、Ｆ(ｘ)＝ｘのとき、以下のようになる。
【００９０】
【数１３】
2005301425.tif 000015
【００９１】
【数１４】
2005301425.tif 000016
【００９２】
【数１５】
2005301425.tif 000017
【００９３】
【数１６】
2005301425.tif 000018
上記式（１３）〜（１６）は、距離の比λ、μを単調増加関数Ｆ()に代入して得られた新たな値を距離の比として用いて、この距離の比を乗算することによって重み係数を求めることを示している。
【００９４】
ここで、本当であれば、近隣の四角形までの距離βとδを用いて重み係数を算出することが理想である。しかし、常に上記＜境界条件＞(１)〜(４)を満たすような距離を設定することは非常に困難である。また、近隣の四角形の形状を考慮すると、計算が多くなってしまうという問題が生ずる。そこで、本発明では、四角形０内の形状のみを考慮して、上記βとδを近似する。
【００９５】
具体的には、まず、αは点Ｑから線分ｐｆまでの距離とする。γは点Ｑから線分ｐｅまでの距離とする。さらに、点Ｑから線分ｂｅまでの距離をε、点Ｑから線分ｂｆまでの距離をζとする。ここで、
β=α+2ε、δ=γ+2ζ   (17)
であるとみなす。このようにみなすと、上記式（７）、（８）を以下のようにできる。
【００９６】
【数１８】
2005301425.tif 000019
【００９７】
【数１９】
2005301425.tif 000020
このとき、線分ｂｅ上ではε＝０なので、λ＝１／２となる。このとき、重み係数はW0=W1={1-F(μ)}/2、W3=W2=F(μ)/2となり、線分ｂｅ条件が成り立つ。同様に、線分ｂｆ上ではζ＝０なので、μ＝１／２であり、重み係数はW0=W3={1-F(λ)}/2、W1=W2=F(λ)/2となり、線分ｂｆ条件が成り立つ。線分ｐｅ上では、γ＝０なので、μ＝０となる。よって重み係数はW3=W2=0となり、線分ｐｅ条件が成り立つ。同様に線分ｐｆ上では、α＝０なので、λ＝０となる。よって重み係数はW1=W2=0となり、線分ｐｆ条件が成り立つ。以上より、（１７）式を導入したとき、境界条件（１）から（４）が成り立つことを示した。
【００９８】
このように、入力座標と、入力座標が属する領域の各辺との距離を計測し、各辺との距離の比をその辺と隣接する四角形との距離とすることにより、計算量を少なくすることができる。
【００９９】
次に、単調増加関数Ｆ()の内容の例を示す。図８は単調増加関数Ｆの内容の例を示す図である。図８に様々な単調増加関数F()の例と、単調増加関数F()に対応した重み係数W0の形状を示す。図８は、入力座標が領域Ｒｂにあるときの例である。図８（ア）〜（エ）の（ａ）において、横軸はｐ点からの距離ｘ、縦軸は単調増加関数F()を示しており、（ｂ）は各点の重み係数WOを示している。
【０１００】
（１）単調増加関数F(x)=xのとき、図８（ア）に示されるように、重み係数WOは、点ｐでは１、点ｅ,ｆでは１／２、点ｂでは１／４となる。
（２）単調増加関数F(x)が図８（イ）に示されるような形状のとき（ｘ＝０の近辺でＦ（ｘ）＝０となる部分がある場合）、図８（イ）に示されるように、中心点ｐの周囲の重み係数はW0=1となる領域(斜線部)を形成できる。
（３）単調増加関数F(x)が図８（ｃ）に示されるような形状のとき（ｘ＝１／２の近辺でF(x)=1/2となる部分がある場合）、図８（ｃ）に示されるように、点ｂの周囲の重み係数W0=1/4となる領域(斜線部)を形成できる。
（４）単調増加関数F(x)を非線形とする場合である。上記のように線形な関数では、導関数が不連続になる部分で、視覚的に不連続性が見えてしまう場合があると考えられる。その場合には、単調増加関数F(x)を図８（ｅ）に示されるような非線形関数としても良い。周囲の領域との繋ぎ目を滑らかに見せることができる。図８（ア）〜（ウ）の（ｂ）では、四角形の各辺上にその辺を共有する四角形に対応する重み係数を二分の１となる点を少なくとも1点以上設定している例を示している。
【０１０１】
次に、点Ｑから線分ｐｆ、ｐｅ、ｂｅ、ｂｆへの距離の計測の方法を定める。図９は点Ｑから線分ｐｆ、ｐｅ、ｂｅ、ｂｆへの距離の計測の方法を説明する図である。図９に示されるように、ｐ１は四角形１の中心点、ｆ１は四角形１の左右の四角形から等距離にある直線と、四角形１と四角形２との共有辺との交点とする。上記条件（２）を満たすような距離の定義を行う。
【０１０２】
例えば、線分ｂｅ上の点Ｑが四角形０にあるとするとき、その点から、線分ｂｆまでの距離をζ０とし、線分ｐｅまでの距離をγ０とする。同様に、線分ｂｅ上の点Ｑが四角形１にあるとするとき、その点から、線分ｂ−ｆ１までの距離をζ１とし、線分ｐ１−ｅまでの距離をγ１とする。このとき、点Ｑが四角形０内に存在していると仮定したときのμ0
【０１０３】
【数２０】
2005301425.tif 000021
と、点Ｑが四角形１内に存在していると仮定した時のμ１
【０１０４】
【数２１】
2005301425.tif 000022
が等しくなければならない。μ0＝μ1とするための、最も簡単な方法は、γ０=γ１、かつ、ζ０＝ζ１とすることである。γ0＝γ1、かつ、ζ0＝ζ1とするために、本発明では、γ0＝γ1＝線分Ｑｅの長さ、ζ0＝ζ1＝線分Ｑｂの長さとして定義する。
【０１０５】
次に、点Ｑが線分ｐｆ上にあるときを考える。点Ｑが領域Ｒｂ内にある場合と、点Ｑが領域Ｒｃ内にある場合との２つの場合に分けることができる。点Ｑがいずれの領域に存在したとしても、重み係数が同じになるように距離の定義をしなければならない。この場合も同様で、点Ｑから線分ｐｅまでの距離＝点Ｑから線分ｐｇまでの距離＝線分Ｑｐの長さ、点Ｑから線分ｆｂまでの距離＝点Ｑから線分ｆｃまでの距離＝線分Ｑｆの長さとして定義すれば良い。
【０１０６】
以上は、水平方向の距離について説明したが、垂直方向の距離に関しても同様に定義することができる。これで、点Ｑが四角形ｐｅｂｆの辺上にある場合の距離を定義できた。
【０１０７】
次に点Ｑが四角形ｐｅｂｆの内部にある場合を考える。図１０は点Ｑが四角形ｐｅｂｆの内部にある場合を説明する図である。境界条件(辺にある場合)と、できるだけ連続になるように、内部にある場合の距離を定義する必要がある。例えば、四角形ｐｅｂｆが図１０（ａ）のような形状をしているとする。これまでに考察してきたように、各辺上では、その辺の方向に沿って距離を計測すればよい。
【０１０８】
図１０（ａ）には、点Ｑが線分ｂｅ上にある場合や、線分ｐｆ上にある場合の距離を示している。点Ｑが線分ｂｅ上から線分ｐｆ上に移動するとする。このとき、点Ｑから線分ｂｆへの距離や線分ｐｅ上への距離を計測する直線は、線分ｂｅから線分ｐｆに移動する。この移動が、図１０（ｂ）に示されるようにできるだけ連続な変化になるようにしたい。このような連続に移動する直線を求めるため、本実施例では、以下のような手法を用いる。
【０１０９】
図１１は連続に移動する直線を求めるための方法を説明する図である。図１１（ａ）に示されるような四角形ｐｅｂｆがあるとする。図１１（ｂ）に示されるような長方形ＰＥＢＦを用意する。ＰＥＢＦは正方形や平行四辺形であっても良い。
（１）入力座標ｑが属する四角形ｐｅｂｆの各頂点ｐ、ｅ、ｂ、ｆを任意の平行四辺形である長方形ＰＥＢＦの各頂点Ｐ、Ｅ、Ｂ、Ｆに写すような射影変換Ｓを求める。
（２）同様に、長方形ＰＥＢＦの頂点Ｐ、Ｅ、Ｂ、Ｆを四角形ｐｅｂｆの頂点ｐ、ｅ、ｂ、ｆの写すような射影変換Ｓ’（Ｓの逆変換）を求める。
（３）四角形ｐｅｂｆ内の点ｑを射影変換Ｓを用いて、四角形ＰＥＢＦ内の点Ｑに写す。以下、写像先の座標Ｑを用いて、各領域の辺までの距離を算出する。
（４）点Ｑを通って、辺ＰＦおよびＢＥに平行な直線を引く。その直線とＰＥとの交点をＪ、ＢＦとの交点をＫとする。
（５）点Ｑを通って、辺ＰＥおよびＢＦに平行な直線を引く。その直線とＰＦとの交点をＬ、ＢＥとの交点をＭとする。
（６）Ｊ、Ｋ、Ｌ、Ｍを射影変換Ｓ’を用いて、四角形ｐｅｂｆの辺上に写す。写った先をそれぞれ、ｊ、ｋ、ｌ、ｍとする。
（７）ｑから線分ｐｅまでの距離＝線分ｑｊの長さ、ｑから線分ｂｆまでの距離＝線分ｑｋの長さ、ｑから線分ｐｆまでの距離＝線分ｑｌの長さ、ｑから線分ｂｅまでの距離＝線分ｑｍの長さとする。
【０１１０】
上記で、距離α、ε、γ、ζの計測の方法を示したが、他の方法を採ることもできる。以下、他の距離α、ε、γ、ζの計測方法例を示す。
（１）正方形p’e’b’f’を用意する。この正方形は平行四辺形であっても良い。大きさは何でも良い。
（２）四角形pebfと正方形p’e’b’f’の間のバイリニア変換係数を求める。バイリニア変換とは、下記の演算式（２２）、（２３）で定義できるものである。
【数２２】
2005301425.tif 000023
【数２３】
2005301425.tif 000024
この変換の未知数は、射影変換パラメタの未知数と同じ8つである。射影変換パラメタを求めたときと同様に、四角形と四角形の対応関係を基に、8つの一次式を得ることができる。この連立一次方程式を解くことによって、バイリニア変換係数p0,p1,p2,p3, q0,q1,q2,q3を求めることができる。
（１）図７における点Qの座標を上記バイリニア変換で変換する。変換後の点をQ’とする。
（２）点Q’と線分ｐ’ｆ’とのユークリッド距離をαとする(四角形ｐ’ｅ’ｂ’ｆ’が長方形の場合はユークリッド距離、四角形ｐ’ｅ’ｂ’ｆ’が平行四辺形の場合は点Q’から線分ｂ’ｆ’に平行に引いた線上で距離を計測する。以下同様)。点Ｑ’と線分ｅ’ｂ’とのユークリッド距離をεとする。点Ｑ’と線分ｐ’ｅ’とのユークリッド距離をγとする。点Ｑ’と線分ｂ’ｆ’とのユークリッド距離をζとする。
【０１１１】
バイリニア変換は、四角形の辺上の点とその辺の２つの端点との距離の比は変化させない。そのため、点Ｑが辺上にある場合、点Ｑが四角形０にあると仮定しても、四角形１にあると仮定しても、その辺の二つの端点までの距離が同じである。よって、辺上でのテクスチャの連続性を保つことができる。
【０１１２】
以上で、点Ｑからｐｆ、ｐｅ、ｂｅ、ｂｆへの距離の計測の方法を示すことができた。他の領域Ｒａ、Ｒｃ、Ｒｄ内の座標に関しても、同様に重み係数を求めることができる。このように、入力座標ｑが属する領域を四角形ｐｅｂｆとし、この四角形の各頂点ｐ、ｅ、ｂ、ｆを任意の平行四辺形ＰＥＢＦの各頂点Ｐ、Ｅ、Ｂ、Ｆに写す射影変換Ｓを用いて、入力座標ｑを平行四辺形ＰＥＢＦ内に写し、写像先の座標Ｑを用いて、各領域の辺までの距離を算出する。このため、平行四辺形内の連続に移動する直線を用いることができるので、より自然な座標変換を行うことができる。
【０１１３】
次に、以下の２種類の実施例に関して説明を行う。なお、これまでは、２次元平面上のテクスチャを３次元空間内の物体表面にマッピングして投影する例を述べてきた。しかし、ここで述べているテクスチャマッピング方式は、四角形を四角形に射影変換する方式であるため、どちらの四角形が２次元平面上にあって、どちらの平面が投影図上にあるかには依存していない。そのため、３次元空間を透視投影した投影図内の物体表面を２次元テクスチャ画像上にマッピングするために用いることも可能である。あるいは、一方の画像が２次元平面上に無ければならないということもない。両方の画像の各四角形が射影変換で対応付けられていればよい。
【０１１４】
また、これまでの説明では、投影後画像内の座標から、投影前画像内の座標を得ることによって、テクスチャマッピングを行うとした。しかし、テクスチャマッピングを行うためには、投影前画像内の座標から、投影後画像内の座標を求める手法によっても良い。すなわち、いずれにしても、前提としては、隣接している複数の四角形と、それらの四角形と個々に頂点の座標の対応が取れている複数の四角形が存在していれば良い。本発明の目的は、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することである。以下、実施例の説明を行う。
【実施例１】
【０１１５】
まず、実施例１について説明する。実施例１は、同一形状の平行四辺形(あるいは、長方形や正方形)で分割された領域内の座標を入力とする場合の例である。実施例１の前提条件を図１２を用いて説明する。図１２（ａ）は実施例１に係る入力投影面を示す図、（ｂ）は出力投影面を示す図である。図１２（ａ）に示されるように、同一形状の正方形で分割された投影面を入力とする。入力投影面を分割している正方形の各頂点は、出力投影面上の各頂点に対応している。例えば、図１２において、入力投影面の頂点ａは、出力投影面の頂点Ａに対応している。同様に頂点ｂは頂点Ｂに対応している。
【０１１６】
本実施例においては、これら頂点間の対応付けと、各頂点の座標が既に求められているものとする。すなわち、図１２においては、（ａ）入力投影面の２５個の頂点の座標、（ｂ）出力投影面の２５の頂点の座標、および、それら２５個の対応付けがなされているものとする。図１２（ｂ）に示す出力投影面では、入力投影面の形状が変化しており、入力時は正方形であったものが、凸四角形となっている。尚、ここで示している入力投影面とは、上記で述べた投影後画像に対応させ、また、出力投影面とは上記で述べた投影前画像に対応させることができる。投影後画像内の座標を入力として、投影前画像内の座標を求めることが、本実施例の目的である。ここでは、入力投影面の座標を入力し、出力投影面の座標を出力する。
【０１１７】
次に、図１３を用いて第１実施例の動作の説明を行う。図１３は実施例１に係る座標変換装置のブロック図である。図１３に示すように、座標変換装置１００は、射影変換パラメタ算出部１０２、領域決定部１０４、隣接四角形間距離算出部１０５、重み係数算出部１０６、出力座標算出部１０７を備える。
【０１１８】
座標変換装置１００は、複数の隣接する四角形内の座標を複数の隣接する四角形内に変換するものである。図１２（ａ）に示す入力投影面と同図（ｂ）に示す出力投影面の頂点座標１０１が射影変換パラメタ算出部１０２に入力される。射影変換パラメタ算出部１０２は、入力された入力投影面と出力投影面の頂点座標１０１を基に射影変換パラメタを算出する。領域決定部１０４には、図１２（ａ）に示す入力投影面の入力座標１０３が領域決定部１０４に入力される。領域決定部１０４は、入力された入力投影面の入力座標１０３を基に入力座標１０３がどの領域に属するかを決定する等の処理を行う。隣接四角形間距離算出部１０５は、入力座標１０３と隣接する四角形間の距離を算出する。重み係数算出部１０６は、隣接四角形間距離を用いて隣接四角形の重み係数を算出する。
【０１１９】
出力座標算出部１０７は、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み係数算出部１０６で算出した重み係数で重み付けして加算することによって出力座標を算出する。
【０１２０】
以下、それぞれの動作を詳しく述べる。まず、射影変換パラメタ算出部１０２の動作を説明する。まず、射影変換パラメタ算出部１０２では、頂点座標１０１に基づき入力投影面内と、出力投影面内の対応する四角形を一つずつ抽出する。入力投影面内の四角形iに対し、出力投影面内の四角形Iが対応しているとする。また、四角形iの４つの頂点の座標と、四角形Iの４つの頂点の座標との対応付けがなされているとする。このとき、従来例において、式（１）〜式（４）を用いて説明したように、四角形iを四角形Iに変換するような、８つの射影変換パラメタを算出することができる。以下、四角形iに対応する射影変換パラメタをＳiとする。
【０１２１】
ここでは、例えば、投影後画像の座標値から投影前画像の座標値を逆に求める例を示しているので、式（１）、（２）とは逆の射影変換パラメタの定義を行う。これを式(２４)(２５)に示す。入力座標を（ｕ,ｖ）、（ｕ,ｖ）を射影変換した後の出力座標値を（Ｓ,Ｌ）とする。
【０１２２】
【数２４】
2005301425.tif 000025
【０１２３】
【数２５】
2005301425.tif 000026
（ｕ,ｖ）と（Ｓ,Ｌ）に上記の関係があるとき、p0、p1、p2、q0、q1、q2、r1、r2を射影変換パラメタとして定義する。図１３において、射影変換パラメタ算出は、重み係数算出と独立に行われているが、必ずしも独立に行う必要は無く、出力座標算出に必要な射影変換パラメタを都度算出するようにしても良い。
【０１２４】
次に、領域決定部１０４の動作を示す。領域決定部１０４は、入力座標１０３が入力投影面内のどの四角形内に存在しているか調べる。ここで、領域決定部１０４は、入力座標１０３が存在している四角形を四角形０とする。次に、領域決定部１０４は、入力座標１０３が四角形０内のどの領域（ＲａかＲｂかＲｃか、あるいは、Ｒｄか)に存在しているか調べる。ここでは、一例として、座標を入力して、その座標が存在している四角形と領域を求めたが、実際には、四角形と領域をまず指定して、その中に存在している座標を決定するといったやりかたでも、もちろん良い。この場合の構成図を、図１４に示す。
【０１２５】
図１４は、実施例１に係る座標変換装置の変形例を示す図である。図１４に示すように、座標変換装置２００は、射影変換パラメタ算出部１０２、座標出力部１１０、隣接四角形間距離算出部１０５、重み係数算出部１０６、出力座標算出部１０７を備える。座標出力部１１０は、入力された領域１０９を基に、四角形の中に存在している座標を決定する。図１３と同一箇所については同一符号を付してその説明を省略する。
【０１２６】
次に、領域決定部１０４が行う領域分割について説明する。図１５は領域分割方式を説明するための図である。領域決定部１０４は、入力投影面の各正方形の中心、すなわち正方形の対角線の交点を中心点Ｐとする。また、領域決定部１０４は、中心点Ｐから、各辺の中点に下ろした線分を用いて正方形を４つの領域Ｒａ、Ｒｂ、Ｒｃ、Ｒｄに分割する。
【０１２７】
図１５において、四角形０を入力座標１０３がその中に存在する四角形であるとする。図１５に示されるように、四角形０の各頂点をａ、ｂ、ｃ、ｄとする。また、辺ａｂの中点をｅ、辺ｂｃの中点をｆ、辺ｃｄの中点をＧ、辺ｄａの中点をｈとする。四角形０の中心点Ｐは、線分ｅｇと線分ｆｈの交点とする。また、四角形０は、線分Ｐｅ、Ｐｆ、Ｐｇ、Ｐｈを用いて４つの領域Ｒａ、Ｒｂ、Ｒｃ、Ｒｄに分割される。このように、領域決定部１０４は、四角形の辺の中点を通る直線あるいは曲線で領域を分割する。
【０１２８】
次に、隣接四角形間距離算出部１０５の動作を説明する。図１６は、隣接平行四辺形間距離を説明するための図である。隣接四角形間距離算出部１０５は以下のようにして隣接四角形間距離を算出する。図１６に示されるように、四角形０は四角形１〜８と隣接しているとする。また、四角形i（i＝０,１,２,…,８）の中心はＰiであるとする。Ｐiの座標を（ｕi,ｖi）とする。さらに、入力座標をＱ=（ｕ,ｖ）とする。隣接四角形間距離は、既に述べたα、β、γ、δの値である。これら４つの値は、以下のように算出する。
【０１２９】
まず、点Ｑの属する領域に関係なく、α=|u-u0|、γ=|v-v0|である。また、
（１）点Ｑが領域Ｒａにあるとき、β=|u-u1|、δ=|v-v7|、
（２）点Ｑが領域Ｒｂにあるとき、β=|u-u1|、δ=|v-v3|、
（３）点Ｑが領域Ｒｃにあるとき、β=|u-u5|、δ=|v-v3|、
（４）点Ｑが領域Ｒｄにあるとき、β=|u-u5|、δ=|v-v7|
となる。例えば、点Ｑが領域Ｒｂにある場合のα、β、γ、δの長さが図１６に例示されている。この場合、αは点ＱとＰ０の横方向の距離、βは点ＱとＰ１の横方向の距離、γは点ＱとＰ０の縦方向の距離、δは点ＱとＰ３の縦方向の距離である。
【０１３０】
なお、図１６を用いて説明した手法は、隣接四角形間距離算出の一例であり、隣接四角形間距離算出部１０５は、上記発明概念で説明した手法を用いて隣接四角形間の距離を算出することもできる。
【０１３１】
次に、重み係数算出部１０６の動作を説明する。重み係数算出部１０６は以下のようにして重み係数を算出する。ここでは、入力座標Ｑ＝（ｕ,ｖ）に対応する重み係数Wi(i=0,1,...,8)を求める。まず、点Ｑの属する領域に関係なく、重み係数W0は式（２６）により決定される。
【０１３２】
【数２６】
2005301425.tif 000027
次に、（１）点Ｑが領域Ｒａにあるとき、重み係数W2=W3=W4=W5=W6=0、W1、W7、W8は式（２７）〜（２９）により決定される。
【０１３３】
【数２７】
2005301425.tif 000028
【０１３４】
【数２８】
2005301425.tif 000029
【０１３５】
【数２９】
2005301425.tif 000030
（２）点Ｑが領域Ｒｂにあるとき、重み係数W4=W5=W6=W7=W8=0、W1、W2、W3は式（３０）〜（３２）により決定される。
【０１３６】
【数３０】
2005301425.tif 000031
【０１３７】
【数３１】
2005301425.tif 000032
【０１３８】
【数３２】
2005301425.tif 000033
（３）点Ｑが領域Ｒｃにあるとき、重み係数W1=W2=W6=W7=W8=0、W3、W4、W5は式（３３）〜（３５）により決定される。
【０１３９】
【数３３】
2005301425.tif 000034
【０１４０】
【数３４】
2005301425.tif 000035
【０１４１】
【数３５】
2005301425.tif 000036
（４）点Ｑが領域Ｒｄにあるとき、重み係数W1=W2=W3=W4=W8=0、W5、W6、W7は式（３６）〜（３８）により決定される。
【０１４２】
【数３６】
2005301425.tif 000037
【０１４３】
【数３７】
2005301425.tif 000038
【０１４４】
【数３８】
2005301425.tif 000039
とする。上記では、βやδの距離を計測したが、概念で述べたように、εやζの距離を計算しても、もちろん良い。
【０１４５】
なお、ここで説明した手法は、重み係数算出法の一例であり、重み係数算出部１０６は、上記発明概念で説明した手法を用いて重み係数を算出することもできる。
【０１４６】
次に、出力座標算出部１０７の動作の説明を行う。既に重み係数算出部１０６において、W0〜W8の重み係数が算出されている。また、既に、射影変換パラメタ算出部１０２において、各四角形０〜８の射影変換パラメタＳ０〜Ｓ８が算出されている。出力座標算出部１０７は、まず、四角形iの射影変換パラメタＳi（i＝０,１,２,…,８）と、入力座標Ｑ＝（ｕ,ｖ）を用いて、各四角形に対応する出力座標Ｘiを算出する。例えば、四角形０の射影変換パラメタは、入力投影面中の四角形０と出力投影面中の四角形０に射影するパラメタである。このパラメタをp0、p1、p2、q0、q1、q2、r1、r2とする。
【０１４７】
出力座標算出部１０７は、四角形０に対する射影変換パラメタＳ0、式（２４）、（２５）を用いて、入力座標をＱ＝（ｕ,ｖ）に対する出力座標Ｘ0（Ｓ0,Ｌ0）を求める。
【０１４８】
同様に、出力座標算出部１０７は、他の四角形iに対応する射影変換パラメタＳi、式（２４）、（２５）を用いて、入力座標Ｑ（ｕ,ｖ）に対応する出力座標（Ｓi,Ｌi）を求める。ここで、四角形iの射影変換パラメタを用いて算出した出力座標値をＸi＝（Ｓi,Ｌi）とする。Ｘiは２次元ベクトルである。
【０１４９】
出力座標算出部１０７は、式（３９）に示すように、上記出力座標Ｘiを重み係数Ｗiで重み付けして加算することにより、最終的な出力座標Ｘ（Ｓ，Ｌ）を求める。
【０１５０】
【数３９】
2005301425.tif 000040
このとき、iがWi=0の場合の出力座標値Ｘiは特に算出する必要はない。
【０１５１】
このように、出力座標算出部１０７は、式（３９）を用いて、入力座標Ｑ（ｕ，ｖ）が属する四角形０に対応する射影変換Ｓ0を用いて得られる出力座標Ｘ0（Ｓ0，Ｌ0）と、入力座標Ｑ（ｕ，ｖ）が属する四角形０に隣接する四角形ｉ（ｉ≠０）に対応する射影変換Ｓiを用いて得られる座標Ｘi（Ｓi，Ｌi）とを、重み係数Ｗiで重み付けして加算することによって最終的な出力座標Ｘ（Ｓ，Ｌ）を算出できることを示している。
【０１５２】
なお、ここで説明した手法は、出力座標算出法の一例であり、出力座標算出部１０７は、上記発明概念で説明した手法を用いて出力座標を算出することもできる。
【０１５３】
また、以上の実施例１では、入力投影図が同一形状の正方形で分割されている例を示した。上記の手法は、正方形ではなく、同一形状の長方形で分割されていても、全く同様に用いることができる。さらに、上記の手法は、長方形ではなく、同一形状の平行四辺形で分割されている場合にも用いることができる。平行四辺形の場合には、隣接四角形間距離算出部の動作が若干異なる。もちろん正方形や長方形も平行四辺形であるので、正方形や長方形の場合も、以下に述べる平行四辺形の手法を用いることができる。
【０１５４】
図１６を用いて、平行四辺形の場合の説明を行う。図１６において、四角形０〜四角形８は同一形状の平行四辺形であるとする。四角形０は４つの頂点ａ、ｂ、ｃ、ｄを持つとする。隣接四角形間距離算出部１０５は、α、β、γ、δを、以下のように求める。点Ｑが領域Ｒｂにある場合を例にとって説明する。点Ｑを通って、線分ａｄ(あるいは線分ｂｃ)に平行な直線（直線１）を引く。さらに、点Ｑを通って線分ａｂ(あるいは線分ｃｄ)に平行な直線（直線２）を引く。
【０１５５】
直線１と線分Ｐ０−Ｐ３の交点をＳ３０、直線１と線分Ｐ１−Ｐ２の交点をＳ１２、直線２と線分Ｐ２−Ｐ３の交点をＳ２３、直線２と線分Ｐ０−Ｐ１の交点をＳ０１とする。αは線分Ｑ−Ｓ３０の長さ、βは線分Ｑ−Ｓ１２の長さ、γは線分Ｑ−Ｓ０１の長さ、δは線分Ｑ−Ｓ２３の長さである。点Ｑが他の領域にある場合も同様に、点Ｑから四角形の辺との平行線を引いてその平行線と中心点との交点との長さを計測すれば良い。
【０１５６】
隣接四角形間距離算出部１０５、出力座標算出部１０７が、特許請求の範囲における距離算出部、座標算出部にそれぞれ相当する。
【実施例２】
【０１５７】
次に第２実施例について説明する。実施例１では、同一形状の平行四辺形で分割された入力投影図の座標から、出力投影図内の座標を計算する手法を示した。実施例２では、凸四角形で分割された入力投影図の座標から、出力投影図内の座標を計算する手法を示す。実施例２における構成は、実施例１において、図１３を用いて説明したものと同じである。実施例１と異なる点は、領域決定部１０４による領域の分割方法、および、隣接四角形間距離算出部１０５、重み係数算出部１０６の動作である。ここでは、既に射影変換パラメタが求まっているものとする。また、入力座標の領域が決定されているものとする。
【０１５８】
まず、領域の分割方法に関して述べる。図１７は領域決定部１０４による領域分割を説明するための図である。図１７において、四角形０だけを示し、隣接する四角形１〜８は省略する。実施例１と同様に、入力座標Ｑ＝（ｕ,ｖ）が属する四角形を四角形０とする。また、実施例１と同様に、図１７に示されるように、中心点ｐと、辺ａｂ上の点ｅ、辺ｂｃ上の点ｆ、辺ｃｄ上の点ｇ、辺ｄａ上の点ｈを用いて、領域が分割されるものとする。点ｐ、ｅ、ｆ、ｇ、ｈの位置は、任意に定めても良い。
【０１５９】
ただし、点ｅは四角形１でも同様に辺ａｂの分割点、点ｆは四角形３でも同様に辺ｂｃの分割点、点ｇは四角形５でも同様に辺ｃｄの分割点、点ｈは四角形７でも同様に辺ｄａの分割点となるように設定しなければならない。例えば、点ｅは、辺ａｂの中点、点ｆは、辺ｂｃの中点、点ｇは、辺ｃｄの中点、点ｈは、辺ｄａの中点、かつ、点ｐは、線分ｅｇと、線分ｆｈの交点であるとするのが一例である。図１７に示されるように、線分ｐｅ、ｐｆ、ｐｇ、ｐｈを用いて、四角形０を分割し、領域Ｒａ、Ｒｂ、Ｒｃ、Ｒｄを形成する。
【０１６０】
このように、領域決定部１０４は、四角形の相対する辺の中点同士を結ぶ直線を通る直線で領域を分割する。
【０１６１】
次に、隣接四角形間距離算出部１０５の動作を説明する。隣接四角形間距離は既述のα、γ、ε、ζの値のことである。これらの値は、概念として述べた既述の方式により求めることができる。次に、重み係数算出部１０６の動作を説明する。重み係数算出部１０６では、上記、α、γ、ε、ζの値と、（９）〜（１２）式を用いて、重み係数を求める。さらに、出力座標算出部１０７では、上記で求めた重み係数を用いて出力座標を求める。この求め方は実施例１あるいは概念の部分で述べた方法と同じであるので、ここでは説明を省略する。
【０１６２】
上記各実施例によれば、入力座標が属する四角形に対応する射影変換を用いて得られる座標と、入力座標が属する四角形に隣接する四角形に対応する射影変換を用いて得られる座標とを、重み付けして加算することにより、出力座標を算出するので、隣接する四角形間で座標値が連続になるように、片方の四角形内の座標から、もう一方の四角形内の座標を計算することができる。これにより、複数の隣接する四角形を、複数の隣接する四角形にそれぞれ射影変換して、その四角形中のテクスチャをマッピングする場合に、四角形の形状によっては、隣接する辺において、座標が不連続になるという不具合があるのに対し、本手法を用いることによって、座標の不連続性を解消できるため、より高品質なテクスチャマッピングが可能になる。
【０１６３】
また、上記座標変換装置または座標変換方法を用いることで、ある物体上の表面を平面上に投影した画像中のテクスチャを、別の物体上の表面にマッピングしてさらに平面上に投影した図を作成する方法および装置、より詳細には、２次元平面上のテクスチャを３次元空間内の物体を２次元平面上に投影した図にマッピングするテクスチャマッピング装置または方法を提供することができる。
【０１６４】
なお、上記図５で説明した座標変換方法や図１３または図１４で説明した座標変換装置は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ(Read Only Memory)、ＲＡＭ(Random Access Memory)等を用いて実現され、プログラムをハードディスク装置や、ＣＤ−ＲＯＭ、ＤＶＤまたはフレキシブルディスクなどの可搬型記憶媒体等からインストールし、または通信回路からダウンロードし、ＣＰＵがこのプログラムを実行することで、図５で説明した各ステップや図１３または図１４に示した各機能が実現される。
【０１６５】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【図面の簡単な説明】
【０１６６】
【図１】平面テクスチャ画像の透視投影説明図である。
【図２】特許文献１記載の方法を説明するための図である。
【図３】テクスチャ不連続点に関する説明図である。
【図４】発明概念を説明するための図であり、（ａ）は投影前画像を示す図、（ｂ）は投影後画像を示す図である。
【図５】座標変換方法の処理フローチャートである。
【図６】発明概念の説明図である。
【図７】入力座標が領域Ｒｂにある場合を例に採り、Ｒｂ内の重み係数設定方法を説明する。
【図８】単調増加関数Ｆの内容の例を示す図である。
【図９】点Ｑから線分ｐｆ、ｐｅ、ｂｅ、ｂｆへの距離の計測の方法を説明する図である。
【図１０】点Ｑが四角形ｐｅｂｆの内部にある場合を説明する図である。
【図１１】連続に移動する直線を求めるための方法を説明する図である。
【図１２】（ａ）は実施例１に係る入力投影面を示す図、（ｂ）は出力投影面を示す図である。
【図１３】実施例１に係る座標変換装置のブロック図である。
【図１４】実施例１に係る座標変換装置の変形例を示す図である。
【図１５】領域分割方式を説明するための図である。
【図１６】隣接平行四辺形間距離を説明するための図である。
【図１７】領域決定部による領域分割を説明するための図である。
【符号の説明】
【０１６７】
１００、２００  座標変換装置
１０２  射影変換パラメタ算出部
１０４  領域決定部
１０５  隣接四角形間距離算出部
１０６  重み係数算出部
１０７  出力座標算出部
１１０  座標出力部
【図１】
2005301425.tif 000041
【図２】
2005301425.tif 000042
【図３】
2005301425.tif 000043
【図４】
2005301425.tif 000044
【図５】
2005301425.tif 000045
【図６】
2005301425.tif 000046
【図７】
2005301425.tif 000047
【図８】
2005301425.tif 000048
【図９】
2005301425.tif 000049
【図１０】
2005301425.tif 000050
【図１１】
2005301425.tif 000051
【図１２】
2005301425.tif 000052
【図１３】
2005301425.tif 000053
【図１４】
2005301425.tif 000054
【図１５】
2005301425.tif 000055
【図１６】
2005301425.tif 000056
【図１７】
2005301425.tif 000057