(57)【要約】【課題】ｎ次のベジエ曲面やスプライス曲面などを隣接評価点を結ぶ平面で近似描画する場合に、制御点を共有し、数学的に接続する隣接曲面の接続点について、演算誤差を制御でき、同一の座標値を生成し、曲面の接続性を保証することが可能な画像情報生成装置、画像処理装置、情報処理装置、および図形情報生成装置を提供する。【解決手段】i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により下記の式４で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について下記の式５に示す再帰的補間処理（例外的補間処理）を行うことにより算出する補間処理部１５を有する。【選択図】        図１
2006163532.tif 000002
【特許請求の範囲】
【請求項１】
水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次の曲面図形を表現するための頂点の座標値を生成する図形情報生成装置であって、
所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、
前記線形補間部は、
i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する
図形情報生成装置。
【請求項２】
前記補間処理部は、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う
請求項１記載の図形情報生成装置。
【請求項３】
前記補間処理部の補間結果に基づいて法線を算出する法線算出部を有し、
前記法線算出部は、
前記補間処理部の処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算し、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする
請求項１記載の図形情報生成装置。
【請求項４】
前記法線算出部は、
対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする
請求項３記載の図形情報生成装置。
【請求項５】
前記法線算出部は、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を採用する
請求項３記載の図形情報生成装置。
【請求項６】
前記法線算出部は、
前記２×２個の新たな制御点の座標値から前記頂点の水平方向に接線ベクトルおよび垂直方向に接線ベクトルを抽出し、
水平方向および垂直方向に接線ベクトルに基づいて前記頂点における法線ベクトルを求める
請求項３記載の図形情報生成装置。
【請求項７】
水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点から生成されたｎ次の曲面図形を画像処理する画像処理装置であって、
前記制御点の座標値を記憶する記憶装置と、
前記記憶装置から読み出した制御点の座標値に基づいて前記ｎ次の曲線図形および曲面図形を表現するための頂点の座標値を生成する図形情報生成装置と、を有し、
前記図形情報生成装置は、
所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、
前記線形補間部は、
i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する
画像処理装置。
【請求項８】
前記補間処理部は、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う
請求項７記載の画像処理装置。
【請求項９】
前記補間処理部の補間結果に基づいて法線を算出する法線算出部を有し、
前記法線算出部は、
前記補間処理部の処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算し、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする
請求項７記載の画像処理装置。
【請求項１０】
前記法線算出部は、
対点の算出における各補間係数を0.5より大きい値を0に、0.5より小さい値を1に、0.5の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする
請求項９記載の画像処理装置。
【請求項１１】
前記法線算出部は、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を採用する
請求項９記載の画像処理装置。
【請求項１２】
前記法線算出部は、
前記２×２個の新たな制御点の座標値から前記頂点の水平方向に接線ベクトルおよび垂直方向に接線ベクトルを抽出し、
水平方向および垂直方向に接線ベクトルに基づいて前記頂点における法線ベクトルを求める
請求項９記載の画像処理装置。
【請求項１３】
水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点から生成されたｎ次の曲面図形を外部からの操作情報に基づいて情報処理をする情報処理装置であって、
前記制御点の座標値を記憶する記憶装置と、
前記記憶装置から読み出した制御点の座標値に基づいて前記ｎ次の曲面図形を画像処理する画像処理装置と、
前記画像処理装置を制御するための操作情報を入力するように操作される操作部と、
前記操作部による操作情報に基づいて前記記憶装置から読み出した曲面図形を変化させるように表示制御する制御装置と、を有し、
前記画像処理装置は、
所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、
前記線形補間部は、
i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する
情報処理装置。
【請求項１４】
前記補間処理部は、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う
請求項１３記載の情報処理装置。
【請求項１５】
前記補間処理部の補間結果に基づいて法線を算出する法線算出部を有し、
前記法線算出部は、
前記補間処理部の処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算し、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする
請求項１３記載の情報処理装置。
【請求項１６】
前記法線算出部は、
対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする
請求項１５記載の情報処理装置。
【請求項１７】
前記法線算出部は、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を採用する
請求項１５記載の情報処理装置。
【請求項１８】
前記法線算出部は、
前記２×２個の新たな制御点の座標値から前記頂点の水平方向に接線ベクトルおよび垂直方向に接線ベクトルを抽出し、
水平方向および垂直方向に接線ベクトルに基づいて前記頂点における法線ベクトルを求める
請求項１５記載の情報処理装置。
【請求項１９】
水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次の曲面図形を表現するための頂点の座標値を生成する図形情報生成方法であって、
所定のビット幅の（ｎ＋１）×（ｎ＋１）個の制御点の座標値を入力すると共に、所定のビット幅で０≦ｔ≦１の値をとる補間係数（１−ｔ）を入力し、
隣接する各々２つの前記制御点の座標値をＡ，Ｂとしたとき、
前記水平方向で隣接する各々２つの制御点間について、それぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算してｎ×（ｎ＋１）個の新たな制御点の座標値を求め、さらに前記水平方向で隣接する新たな各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算することにより、最終的に２×（ｎ＋１）個の新たな制御点の座標値を求め、
その後、前記垂直方向で隣接する各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算して２×ｎ個の新たな制御点の座標値を求め、さらに前記垂直方向で隣接する新たな各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算することにより、最終的に２×２個の新たな制御点の座標値を求め、
その後、前記水平方向および垂直方向に関して前記２×２個の制御点間について、それぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算し、前記頂点の座標値を求め、
i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行う
図形情報生成方法。
【請求項２０】
補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う
請求項１９記載の図形情報生成方法。
【請求項２１】
前記補間結果に基づいて法線を算出し、
前記補間処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算し、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする
請求項１９記載の図形情報生成方法。
【請求項２２】
対点の算出における各補間係数を0.5より大きい値を0に、0.5より小さい値を1に、0.5の場合には0, 1のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする
請求項２１記載の図形情報生成方法。
【請求項２３】
外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を採用する
請求項２１記載の図形情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ｎ次のベジエ曲線やベジエ曲面、スプライン曲面などの図形情報を取り扱うＣＡＤおよびＣＡＭシステムを導入したエンタテインメント装置や、携帯用ゲーム機、携帯端末装置、携帯電話機などに適用して好適な図形情報生成装置、画像処理装置、情報処理装置、および図形情報生成方法に関するものである。
【背景技術】
【０００２】
近年の情報処理分野ではＣＡＤ（computer aided drawing）システムやＣＡＭ（computer aided manufacturing）システムなどを利用した画像処理装置や情報処理装置などが多くなってきた。この種の処理装置では、自由曲線や自由曲面をそれぞれ作成するための表現方法としてベジエ（Bezier）曲線やベジエ曲面、スプライン(Spline)曲面が利用される場合が多い。
【０００３】
このベジエ曲線の場合、周知のように（ｎ＋１）個の制御点を与えることによって作成された曲線は、ｎ次のベジエ曲線と言われる。また（ｎ＋１）×（ｎ＋１）個の制御点を与えることによって作成された曲面は、ｎ次ベジエ曲面と言われる。このうちベジエ曲線は制御の容易性などから３次ベジエ曲線が利用されることが多い。ベジエ曲面も同様の理由から（４×４）個の制御点で表現される３次ベジエ曲面が多用されている。
【０００４】
図５０および図５１は、一般的な３次ベジエ曲線の例（その１、２）を示す図である。図５０に示す３次ベジエ曲線は４つの制御点ｐ０〜ｐ３の座標値を用いて自由曲線を表現するものである。４つの制御点ｐ０〜ｐ３が与えられたとき、パラメータ（影響パラメータ；０≦ｔ≦１）ｔを与えておくことによって一義的にベジエ曲線Ｒが決定される。３次ベジエ曲線は次式で表される。
【０００５】
（数１）    
Ｒ(ｔ)＝(１−ｔ)3ｐ０＋３ｔ(１−ｔ)2ｐ１＋３ｔ2(１−ｔ)ｐ２＋ｔ3ｐ３
【０００６】
ここに、制御点ｐ０〜ｐ３は何れも位置ベクトルであり、位置座標（ｘ，ｙ，ｚ）の成分を有している。制御点ｐ０〜ｐ３のうち曲線が通過する点ｐ０やｐ３は端点（通過点）と呼称され、その他の制御点ｐ１やｐ２は内部制御点と呼称される場合がある。
【０００７】
そして、図５１に示すように複数の端点、たとえばｐ０〜ｐ６を与えることによって、滑らかな自由曲線を作成することができる。２つの端点によって形成される最少構成要素の曲線をセグメントといい、（ｎ＋１）×（ｎ＋１）個の制御点を与えることによって作成された最少構成要素の曲面（矩形）をパッチという。
【０００８】
図５２は（４×４）個の制御点によって構成されるパッチＰＢの具体例を示している。複数のパッチを連ねると、図５３に示すような３次のベジエ曲面を形成することができる。このような３次のベジエ曲面を取り扱う情報処理装置では、たとえば、図４に示すＺ方向に曲面を変化させるような画像処理が施される。この画像処理によって、３次のベジエ曲面を自由に変形することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、曲面の定義式としての下記の式２で表わされるｎ次曲面上の座標値は DeCasteljau アルゴリズムにより式３のように制御点の階層的な補間処理で求められる。式において、Ｐは制御点を、Ｉ、Ｊは補間係数を、ｄは補間段数をそれぞれ表している。
また、法線ベクトルは最終補間処理の入力となり得る i,j それぞれの方向の対点を結ぶベクトルの外積として求められる。
【００１０】
【数２】
2006163532.tif 000003
【００１１】
【数３】
2006163532.tif 000004
【００１２】
ところが、従来の画像情報生成装置においては、ベジエ曲面、スプライン曲面などで制御点を共有し数学的に接続する隣接曲面の同一点を評価した場合に、浮動小数点演算、固定小数点演算などの演算方式に起因する演算誤差により座標値が異なる場合があり、曲面上の隣接評価点を結ぶ平面で曲面を近似描画する場合に接続性が問題となっていた。
【００１３】
また、法線ベクトルの算出において、隣接制御点が同値の場合、および外積計算の入力ベクトルが平行に近い場合に、有効な値が算出できないという問題があった。
【００１４】
本発明の目的は、ｎ次のベジエ曲面やスプライス曲面などを隣接評価点を結ぶ平面で近似描画する場合に、制御点を共有し、数学的に接続する隣接曲面の接続点について、演算誤差を制御でき、同一の座標値を生成し、曲面の接続性を保証することが可能な画像情報生成装置、画像処理装置、情報処理装置、および図形情報生成装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明の第１の観点は、水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次の曲面図形を表現するための頂点の座標値を生成する図形情報生成装置であって、所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、前記線形補間部は、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する。
【００１６】
本発明の第２の観点は、水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点から生成されたｎ次の曲面図形を画像処理する画像処理装置であって、前記制御点の座標値を記憶する記憶装置と、前記記憶装置から読み出した制御点の座標値に基づいて前記ｎ次の曲線図形および曲面図形を表現するための頂点の座標値を生成する図形情報生成装置と、を有し、前記図形情報生成装置は、所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、前記線形補間部は、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する。
【００１７】
本発明の第３の観点は、水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点から生成されたｎ次の曲面図形を外部からの操作情報に基づいて情報処理をする情報処理装置であって、前記制御点の座標値を記憶する記憶装置と、前記記憶装置から読み出した制御点の座標値に基づいて前記ｎ次の曲面図形を画像処理する画像処理装置と、前記画像処理装置を制御するための操作情報を入力するように操作される操作部と、前記操作部による操作情報に基づいて前記記憶装置から読み出した曲面図形を変化させるように表示制御する制御装置と、を有し、前記画像処理装置は、所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、前記制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する補間処理部を有し、前記線形補間部は、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行うことにより算出する。
【００１８】
好適には、前記補間処理部は、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う。
【００１９】
好適には、前記補間処理部の補間結果に基づいて法線を算出する法線算出部を有し、前記法線算出部は、前記補間処理部の処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算し、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする。
【００２０】
好適には、前記法線算出部は、対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする。
【００２１】
好適には、前記法線算出部は、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を採用する。
【００２２】
好適には、前記法線算出部は、前記２×２個の新たな制御点の座標値から前記頂点の水平方向に接線ベクトルおよび垂直方向に接線ベクトルを抽出し、水平方向および垂直方向に接線ベクトルに基づいて前記頂点における法線ベクトルを求める。
【００２３】
本発明の第４の観点は、水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次の曲面図形を表現するための頂点の座標値を生成する図形情報生成方法であって、所定のビット幅の（ｎ＋１）×（ｎ＋１）個の制御点の座標値を入力すると共に、所定のビット幅で０≦ｔ≦１の値をとる補間係数（１−ｔ）を入力し、隣接する各々２つの前記制御点の座標値をＡ，Ｂとしたとき、前記水平方向で隣接する各々２つの制御点間について、それぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算してｎ×（ｎ＋１）個の新たな制御点の座標値を求め、さらに前記水平方向で隣接する新たな各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算することにより、最終的に２×（ｎ＋１）個の新たな制御点の座標値を求め、その後、前記垂直方向で隣接する各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算して２×ｎ個の新たな制御点の座標値を求め、さらに前記垂直方向で隣接する新たな各々２つの制御点間についてそれぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算することにより、最終的に２×２個の新たな制御点の座標値を求め、その後、前記水平方向および垂直方向に関して前記２×２個の制御点間について、それぞれＡ×（１−ｔ）＋Ｂ×ｔを順次演算し、前記頂点の座標値を求め、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により所定の式で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について所定の式に基づく再帰的補間処理を行う。
【００２４】
本発明によれば、DeCasteljau アルゴリズムにおいて、接続性の問題については補間係数の丸め制御と補間計算における数値的例外処理を行い、法線ベクトルの算出については算出結果の有効性を判定して代替値を使用する。
所定の処理により得られた補間点を、所定の補間係数で補間することで求める曲面上の点が得られる。以上の補間処理において、補間される２つの点が同値と判断され、かつ補間係数が 0 もしくは 1 の場合に式２に示されるように例外処理が行われる。また、例外処理において補間結果とされる点が存在しない場合にはその例外処理は行われない。
また、補間処理による頂点は最終補間処理の入力となるものであり法線計算で使用する点対の１つであり、もう一つの点対は補間点を補間することで得られる。そして、点対を結ぶベクトルの外積を計算し、その要素値のどれかがしきい値より大きい場合にはそのベクトルが求める法線となり、そうでない場合には、最終補間の係数に応じてベクトルの外積ベクトルを求め法線とする。
【発明の効果】
【００２５】
本発明によれば、ｎ次のベジエ曲面やスプライス曲面などを隣接評価点を結ぶ平面で近似描画する場合に、制御点を共有し、数学的に接続する隣接曲面の接続点について、演算誤差を制御することにより、同一の座標値を生成し、曲面の接続性を保証することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２７】
（１）第１の実施形態
［図形情報生成装置］
図１は本発明に係る実施形態としての図形情報生成装置１０の構成例を示すブロック図である。図２は頂点の座標値生成時の（ｎ＋１）×（ｎ＋１）個の制御点ｐ０〜ｐｎ（ｎ＋２）の配置例を示す図である。
【００２８】
本実施形態の図形情報生成装置１０は、水平方向に（ｎ＋１）個の制御点および垂直方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次のベジエ曲面などの図形を表現する場合に、その図形の頂点の座標値を生成する線形補間器を備え、たとえば各々浮動小数点で示される所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算して、ソフトウエアに依存することなく、ｎ次のベジエ曲線やベジエ曲面を表現する頂点の座標値をハードウエアにより高速に生成できるようにしたものである。
【００２９】
さらに、本実施形態の図形情報生成装置１０においては、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により下記の式４で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について下記の式５に示す再帰的補間処理（例外的補間処理）を行うことにより算出する。
なお、この例外的補間処理を行わない場合には、下記の式６に示す補間処理を行う。
各式において、I,Jが補間係数、dが補間段数を示し，また、Ｕは上記パラメータｔとして置き換えることができる。
【００３０】
また、本実施形態の図形情報生成装置１０においては、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める方法を採用している。
また、本実施形態の図形情報生成装置１０においては、再帰的補間処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする。
この場合、対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とする。
また、本実施形態の図形情報生成装置１０においては、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を使用する。
【００３１】
本実施形態の図形情報生成装置１０は、いわゆるDeCasteljau アルゴリズムにおいて、接続性の問題については補間係数の丸め制御と補間計算における数値的例外処理を行い、法線ベクトルの算出については算出結果の有効性を判定して代替値の使用する。
【００３２】
【数４】
2006163532.tif 000005
【００３３】
【数５】
2006163532.tif 000006
【００３４】
【数６】
2006163532.tif 000007
【００３５】
図１に示す図形情報生成装置１０は、ｎ次のベジエ曲線やベジエ曲面、スプライン曲面を表現する頂点の座標値を生成するものである。
この頂点の座標値はたとえば、図２において、水平方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点ｐ０〜ｐｎおよびその垂直方向に（ｎ＋１）個の制御点ｐ０〜ｐｎ（ｎ＋２）−ｎを格子状に与え、この格子状の（ｎ＋１）×（ｎ＋１）個の制御点ｐ０〜ｐｎ（ｎ＋２）から生成されるものである。
【００３６】
図１の図形情報生成装置１０は、制御頂点メモリ部１１、補間係数メモリ部１２、補間入力選択部１３、補間係数選択部１４、補間処理部１５、補間結果メモリ部１６、法線算出部１７、制御部１８、および記憶装置１９を有している。
【００３７】
制御頂点メモリ部１１は、曲面制御頂点データを記憶する。
補間係数メモリ部１２は、曲面補間係数データを記憶する。
【００３８】
補間入力選択部１３は、制御部１８の制御の下、制御頂点メモリ部１１に記憶されている曲面制御データまたは補間結果メモリ部１６に記憶された補間処理部１５の補間処理結果のいずれかを選択して補間処理部１５に出力する。
補間係数選択部１４は、制御部１８の制御の下、補間係数メモリ部１２に記憶されている曲面補間係数データを選択して補間処理部１５に出力する。
すなわち、線形補間部１５の入力段には接続された選択部１３，１４は、制御部１８４からの切り換え制御信号を受けて初期の制御点の座標値Ａ，Ｂまたは線形補間演算によって新たに発生した制御点の座標値ＣＡ，ＣＢを選択する。
【００３９】
線形補間部１５は、たとえば図３に示すように、複数（図３の例では６個）の線形補間器１５１〜１５６を有し、Ｕ方向補間入力、およびＶ方向補間入力が、線形補間器１５１〜１５３に入力され、線形補間器１５４〜１５６からＵ方向補間結果、Ｖ方向補間結果が出力され、補間結果メモリ部１６に記憶される。
各線形補間器１５１〜１５６においては、各桁合わせ制御信号などを受けて所定のビット幅の制御点の座標値Ａ，Ｂと、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、制御点間を内分する新たな制御点の座標値に関して次式を順次演算する。
Ａ×（１−ｔ）＋Ｂ×ｔ・・・・・（７）
【００４０】
線形補間部１５は、上述したように、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により上記の式４で表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について上記の式５に示す再帰的補間処理（例外的補間処理）を行うことにより算出する。
また、補間処理部１５は、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める処理を行う。
補間処理部１５は、曲面評価点データを図示しない制御系に出力する。
【００４１】
補間結果メモリ部１６は、補間処理部１５で順次演算された補間結果が制御部１８の書込み読出し制御信号Ｓ２を受けて記憶され、次の演算に必要な制御点の座標値を順次読み出すように制御される。
【００４２】
線形補間部１５は、たとえば２×２個の新たな制御点の座標値から頂点の座標値を演算するときに、その頂点の水平方向の接線ベクトルＵoutおよびその垂直方向の接線ベクトルＶoutを演算するようになされる。この２つのベクトルをメモリ部１６から後段の法線算出部１７などに出力される。
【００４３】
法線算出部１６は、２つの接線ベクトルＵoutおよびＶoutに基づいて頂点における法線ベクトルを求める。法線ベクトルは明るさを演算するライティング処理などに利用される。
法線算出部１６は、上述したように、再帰的補間処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする。
この場合、対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線するとする。
また、法線算出部１６は、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を使用する。
【００４４】
制御部１８にはＲＯＭなどの記憶装置１９が接続され、このＲＯＭ情報に基づいて制御部１８は保管入力選択部１３、補間係数選択部、補間結果メモリ部１６などの入出力を制御する。
【００４５】
この記憶装置１９には少なくとも、所定のビット幅の（ｎ＋１）×（ｎ＋１）個の制御点の座標値を入力すると共に、所定のビット幅で０≦ｔ≦１の値をとる補間係数ｔを入力し、隣接する各々２つの制御点の座標値をＡ，Ｂとしたとき、この水平方向で隣接する各々２つの制御点間について、それぞれ（１）式を順次演算してｎ×（ｎ＋１）個の新たな制御点の座標値を求め、さらに水平方向で隣接する新たな各々２つの制御点間についてそれぞれ（１）式を順次演算することにより、最終的に２×（ｎ＋１）個の新たな制御点の座標値を求め、その後、垂直方向で隣接する各々２つの制御点間についてそれぞれ（１）式を順次演算して２×ｎ個の新たな制御点の座標値を求め、さらに垂直方向で隣接する新たな各々２つの制御点間についてそれぞれ（１）式を順次演算することにより、最終的に２×２個の新たな制御点の座標値を求め、その後、水平方向および垂直方向に関して２×２個の制御点間について、それぞれ（１）式を順次演算し、頂点の座標値を求めるような制御手順等が記録される。
【００４６】
もちろん、この記憶装置１９には、頂点の座標値を求めるに当たって、２×２個の新たな制御点の座標値から頂点の水平方向の接線ベクトルおよび垂直方向の接線ベクトルを抽出し、その水平方向および垂直方向の接線ベクトルに基づいて頂点における法線ベクトルを求めるような制御手順も記録されている。
【００４７】
これらの制御手順に基づいて図形情報生成装置１０を再現性良く制御できるので、ｎ次のベジエ曲線やベジエ曲面、スプライン曲面を表現する上位所定ビット幅の頂点の座標値をハードウエアにより発生させることができる。
したがって、ベジエ曲線やベジエ曲面などの図形情報を取り扱うＣＡＤおよびＣＡＭシステムを導入したエンタテインメント装置や、携帯用ゲーム機、携帯端末装置、携帯電話機などに本実施形態の図形情報生成装置１０を十分利用することができる。
【００４８】
次に、補間処理部１５の線形補間器１５１〜１５６の内部構成例について説明する。線形補間器１５１〜１５６は同様な構成を有するが、ここでは線形補間器１５１を例に説明する。
この例では線形補間器１５１には浮動小数点線形補間器（ＦＬＩＰ）が使用される。図４は浮動小数点の座標値のデータフォーマット例を示す図である。
図４に示すデータフォーマット例によれば、各々の制御点の座標値は３２ビットで与えられ、その１ビット目が符号部Ｓであり、次の８ビットが指数部Ｅであり、残りの２３ビットが加数部Ｆである。各々の制御点の座標値をこれらの符号部Ｓ、指数部Ｅおよび加数部Ｆで示すと次式（８）のようになる。
１．Ｆ×２(E-127)      ・・・（８）
【００４９】
この符号部Ｓでは座標値の正または負が区別され、指数部Ｅには８ビットで示される補間係数ｔが与えられる。
補間係数ｔの値は０≦ｔ≦１を採るが、たとえば０．１刻みで（１−ｔ）を演算するようなされる。この例では指数計算を高速化するために、指数部Ｅは０、１６、３２、４８、６４、８０、９６、１１２、１２８の１６刻みで計９個の整数により表現するようにした。
この場合に、ｔ＝０．５がＥ＝６４に相当する。加数部Ｆは小数点以下を２３ビットの２進数で表される。これらはＩＥＥＥ７５４で規定されているのでこれに従う。
【００５０】
図５は線形補間器１５１の内部構成例を示すブロック図である。
図５に示す線形補間器１５１は各々の制御点に関して浮動小数点で与えられる座標値Ａ，Ｂに基づいて補間演算する。
線形補間器１５１の入力段には桁合わせ部１５１１が設けられ、制御点の所定のビット幅の座標値Ａ，Ｂの指数部Ｅの大きい方に桁を合わせるようになされる。桁合わせ部１５１１にはシフトレジスタが使用され、座標値Ａ，Ｂの小さい方の指数部をシフトして大きい方の指数部に揃えるようになされる。
【００５１】
この桁合わせ部１５１１には第１および第２の乗算器１５１２、１５１３が接続される。
乗算器１５１２では桁合わせ後の値Ａ’と補間係数（１−ｔ）とが乗算され、乗算器１５１３は桁合わせ後の値Ｂ’と補間係数ｔとが乗算される。補間係数（１−ｔ）は乗算器１５１２の入力段に接続された減算器１５１４により「１」から補正係数ｔを減算して生成される。
【００５２】
これらの乗算器１５１２，１５１３には１５加算器１５が接続され、乗算器１５１２の出力Ａ’×（１−ｔ）と乗算器１５１３の出力Ｂ×ｔとを加算するようになされる。加算器１５１５には正規化部１５１６が接続され、加算器１５１５の出力Ａ’×（１−ｔ）＋Ｂ’×ｔを（７）式で示したような浮動小数点で所定のビット幅の座標値に正規化するようになされる。
【００５３】
したがって、水平方向で隣接する各々２つの制御点間についてそれぞれＡ’×（１−ｔ）＋Ｂ’×ｔを順次演算して、ｎ×（ｎ＋１）個の新たな制御点の座標値を求め、さらに水平方向で隣接する新たな各々２つの制御点間についてそれぞれＡ’×（１−ｔ）＋Ｂ’×ｔを順次演算することにより、最終的に２×（ｎ＋１）個の新たな制御点の座標値を求め、その後、垂直方向で隣接する各々２つの制御点間についてそれぞれＡ’×（１−ｔ）＋Ｂ’×ｔを順次演算して２×ｎ個の新たな制御点の座標値を求め、さらに垂直方向で隣接する新たな各々２つの制御点間についてそれぞれＡ’×（１−ｔ）＋Ｂ’×ｔを順次演算することにより、最終的に２×２個の新たな制御点の座標値を求め、その後、水平方向および垂直方向に関して２×２個の制御点間について、それぞれＡ’×（１−ｔ）＋Ｂ’×ｔを順次演算することにより、頂点の座標値を求めることができる。
【００５４】
続いて、図６〜図１１を参照しながら、図形情報生成装置１０の例外的処理を含まない基本的な動作例について説明をする。
図６はＵ−Ｖ座標系における制御点ｐ０〜ｐ１５の配置例を示す図である。
【００５５】
この例ではｎ＝３とした場合であって、図６に示すＵ−Ｖ座標系の水平方向（以下でｕ方向という）に４個の制御点および垂直方向（以下でｖ方向という）に４個の制御点を格子状に与え、この４×４個の格子状の制御点ｐ０〜ｐ１５からたとえば図７に示すような３次のベジエ曲面を表現するための頂点の座標値を生成する場合を想定する。
【００５６】
この図形情報生成装置１０では２３ビット幅の４×４個の制御点ｐ０〜ｐ１５の座標値と、８ビット幅で０≦ｔ≦１の値をとる補間係数ｔとが線形補間器１に入力される。そして、隣り合う各々２つの制御点の座標値をＡ，Ｂとしたとき、このｕ方向で隣接する各々２つの制御点間について、図８（Ａ）に示す４×４個の制御点ｐ０〜ｐ１５の座標値をそれぞれ（７）式で順次演算して図８（Ｂ）に示すような３×４個の新たな制御点ｐｕ０〜ｐｕ１１の座標値を求める。
【００５７】
その後、図８（Ｂ）に示した３×４個の制御点ｐｕ０〜ｐｕ１１の座標値をさらにｕ方向で隣接する各々２つの制御点間について、それぞれ（１）式で順次演算して図１０（Ａ）に示すような２×４個の新たな制御点ｐｕ０〜ｐｕ７の座標値を求める。今度はｖ方向で隣接する各々２つの制御点間について、図９（Ａ）に示した２×４個の制御点ｐｕ０〜ｐｕ７の座標値をそれぞれ（７）式で順次演算して図９（Ｂ）に示すような２×３個の新たな制御点ｐｖ０〜ｐｖ５の座標値を求める。
【００５８】
そして、図９（Ｂ）に示した２×３個の制御点ｐｖ０〜ｐｖ５の座標値をさらにｖ方向で隣接する各々２つの制御点間について、それぞれ（７）式で順次演算して図１０（Ａ）に示すような２×２個の新たな制御点ｐｖ０〜ｐｖ３の座標値を求める。その後、図１０（Ａ）に示した２×２個の制御点間について、ｕ方向およびｖ方向に関してそれぞれ（７）式を順次演算し、図１０（Ｂ）に示すような２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値を求める。そして、図１０（Ｂ）に示した２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値をｕ方向およびｖ方向に関してそれぞれ（７）式を順次演算し、図１０（Ｃ）に示すような頂点Ｐ０の座標値を求めることを前提とする。
【００５９】
もちろん、記憶装置１９５に記録された制御手順に基づいて、制御部１８４は制御点の座標値Ａ，Ｂの指数部の大きい方に桁を合わせ、この桁合わせ後の座標値Ａと補間係数（１−ｔ）とを乗算すると共に、桁合わせ後の座標値Ｂと補正係数ｔとを乗算し、その後、乗算結果を加算した後の加算値を浮動小数点で示される所定のビット幅の座標値に正規化するように制御する。
【００６０】
これらを補間条件にして、図１１のフローチャートのステップＡ１で４×４個の制御点の座標値が、記録媒体５の制御手順に従って、制御装置４の制御を受けた線形補間器１に２３ビット幅の４×４個の制御点ｐ０〜ｐ１５の座標値と、８ビット幅で０≦ｔ≦１の値をとる補間係数ｔとが入力される。座標値の浮動小数点の指数部Ｅは０、１６、３２、４８、６４、８０、９６、１１２、１２８である。
【００６１】
その後、ステップＡ２に移行してＵ座標を初期設定をするために、その座標値がｕ＝０に設定される。そして、ステップＡ３に移行してｕ＝１２８になったか否かが検出される。ｕ＝１２８になった場合には、４×４個の制御点ｐ０〜ｐ１５による３次のベジエ曲面の頂点座標値が得られる。ｕ＝１２８になっていない場合には補間演算を継続するために、ステップＡ４に移行する。このｕ方向に関して１つの頂点の座標値の生成について９回の補間処理がなされる。
【００６２】
ステップＡ４ではｕ方向で隣接する各々２つの制御点間について、（１）式により補間され、制御点ｐ０〜ｐ１５を１６個から８個に減らされる。たとえば、（１）式に関して
Ｃ＝ＦＬＩＰ（Ａ，Ｂ，ｕ）；と記述すると、ｕ方向で隣接する各々２つの制御点間について、図８（Ａ）に示した４×４個の制御点ｐ０〜ｐ１５の座標値がそれぞれ（８）式で順次演算され、図８（Ｂ）に示したような３×４個の新たな制御点ｐｕ０〜ｐｕ１１の座標値が求められる。
【００６３】
ｐｕ［０］＝ＦＬＩＰ（ｐ［０］，ｐ［１］，ｕ）；
ｐｕ［１］＝ＦＬＩＰ（ｐ［１］，ｐ［２］，ｕ）；
ｐｕ［２］＝ＦＬＩＰ（ｐ［２］，ｐ［３］，ｕ）；
ｐｕ［３］＝ＦＬＩＰ（ｐ［４］，ｐ［５］，ｕ）；
ｐｕ［４］＝ＦＬＩＰ（ｐ［５］，ｐ［６］，ｕ）；
ｐｕ［５］＝ＦＬＩＰ（ｐ［６］，ｐ［７］，ｕ）；
ｐｕ［６］＝ＦＬＩＰ（ｐ［８］，ｐ［９］，ｕ）；
ｐｕ［７］＝ＦＬＩＰ（ｐ［９］，ｐ［１０］，ｕ）；
ｐｕ［８］＝ＦＬＩＰ（ｐ［１０］，ｐ［１１］，ｕ）；
ｐｕ［９］＝ＦＬＩＰ（ｐ［１２］，ｐ［１３］，ｕ）；
ｐｕ［１０］＝ＦＬＩＰ（ｐ［１３］，ｐ［１４］，ｕ）；
ｐｕ［１１］＝ＦＬＩＰ（ｐ［１４］，ｐ［１５］，ｕ）；    ・・・（９）
この制御点ｐｕ０〜ｐｕ１１の座標値はメモリ部２に格納される。ここで隣り合う各々２つの制御点の座標値をＣＡ，ＣＢとする。
【００６４】
その後、この座標値ＣＡ，ＣＢがメモリ部２から読み出され、これが制御装置４の切り換え制御を受けた制御点選択部３により選択され、さらにｕ方向で隣接する各々２つの制御点間について、（７）式により補間され、制御点ｐｕ０〜ｐｕ１１を１２個から８個に減らされる。ここで、（７）式に関して
Ｃ＝ＦＬＩＰ（ＣＡ，ＣＢ，ｕ）；と記述すると、ｕ方向で隣接する各々２つの制御点間について、それぞれ（１０）式で順次演算して図９（Ａ）に示すような２×４個の新たな制御点ｐｕ０〜ｐｕ７の座標値が求められる。
【００６５】
ｐｕ［０］＝ＦＬＩＰ（ｐｕ［０］，ｐｕ［１］，ｕ）；
ｐｕ［１］＝ＦＬＩＰ（ｐｕ［１］，ｐｕ［２］，ｕ）；
ｐｕ［２］＝ＦＬＩＰ（ｐｕ［３］，ｐｕ［４］，ｕ）；
ｐｕ［３］＝ＦＬＩＰ（ｐｕ［４］，ｐｕ［５］，ｕ）；
ｐｕ［４］＝ＦＬＩＰ（ｐｕ［６］，ｐｕ［７］，ｕ）；
ｐｕ［５］＝ＦＬＩＰ（ｐｕ［７］，ｐｕ［８］，ｕ）；
ｐｕ［６］＝ＦＬＩＰ（ｐｕ［９］，ｐｕ［１０］，ｕ）；
ｐｕ［７］＝ＦＬＩＰ（ｐｕ［１０］，ｐｕ［１１］，ｕ）；・・・（１０）
これらの座標値も補間結果メモリ部１６に格納される。
【００６６】
その後、ステップＡ５に移行してＶ座標を初期設定をするために、その座標値がｖ＝０に設定される。そして、ステップＡ６に移行してＶ座標についてｖ＝１２８になったか否かが検出される。ｖ＝１２８でＶ座標における補間処理の１サイクルが終了するためである。従って、ｖ＝１２８でステップＡ１１に移行するが、ｖ＝０、１６、３２、４８、６４、８０、９６、１１２の場合にはｖ方向の補間処理を継続するために、ステップＡ７に移行する。
【００６７】
ステップＡ７ではｖ方向で隣接する各々２つの制御点間について、（７）式により補間され、制御点ｐｕ０〜ｐｕ７を８個から４個に減らされる。たとえば、ｖ方向で隣接する各々２つの制御点間について、図９（Ａ）に示した２×４個の制御点ｐｕ０〜ｐｕ７の座標値ＣＡ，ＣＢをそれぞれ（１１）式で順次演算して図９（Ｂ）に示すような２×３個の新たな制御点ｐｖ０〜ｐｖ５の座標値が求められる。
【００６８】
ｐｖ［０］＝ＦＬＩＰ（ｐｕ［０］，ｐｕ［２］，ｖ）；
ｐｖ［１］＝ＦＬＩＰ（ｐｕ［１］，ｐｕ［３］，ｖ）；
ｐｖ［２］＝ＦＬＩＰ（ｐｕ［２］，ｐｕ［４］，ｖ）；
ｐｖ［３］＝ＦＬＩＰ（ｐｕ［３］，ｐｕ［５］，ｖ）；
ｐｖ［４］＝ＦＬＩＰ（ｐｕ［４］，ｐｕ［６］，ｖ）；
ｐｖ［５］＝ＦＬＩＰ（ｐｕ［５］，ｐｕ［７］，ｖ）；  ・・・・（１１）
【００６９】
これらの座標値も補間結果メモリ部１６に格納される。その後、同様な読出し制御を受けて、図１０（Ｂ）に示した２×３個の制御点ｐｖ０〜ｐｖ５の座標値をさらにｖ方向で隣接する各々２つの制御点間について、ステップＡ８に移行して、それぞれ（１２）式で順次演算して図１０（Ａ）に示すような２×２個の新たな制御点ｐｖ０〜ｐｖ３の座標値が求められる。
【００７０】
ｐｖ［０］＝ＦＬＩＰ（ｐｖ［０］，ｐｖ［２］，ｖ）；
ｐｖ［１］＝ＦＬＩＰ（ｐｖ［１］，ｐｖ［３］，ｖ）；
ｐｖ［２］＝ＦＬＩＰ（ｐｖ［２］，ｐｖ［４］，ｖ）；
ｐｖ［３］＝ＦＬＩＰ（ｐｖ［３］，ｐｖ［５］，ｖ）；    ・・・（１２）
【００７１】
その後、ステップＡ８に移行して図１０（Ａ）に示した２×２個の制御点間について、ｕ方向およびｖ方向に関してそれぞれ（１３）式を順次演算し、図１０（Ｂ）に示すような２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値が求められる。
【００７２】
ｐｐ［０］＝ＦＬＩＰ（ｐｖ［０］，ｐｖ［１］，ｕ）；
ｐｐ［１］＝ＦＬＩＰ（ｐｖ［２］，ｐｖ［３］，ｕ）；
ｐｐ［２］＝ＦＬＩＰ（ｐｖ［０］，ｐｖ［２］，ｖ）；
ｐｐ［３］＝ＦＬＩＰ（ｐｖ［１］，ｐｖ［３］，ｖ）；    ・・・（１３）
【００７３】
そして、図１０（Ｂ）に示した２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値をステップＡ９に移行してｕ方向およびｖ方向に関してそれぞれ（１４）式を順次演算し、図１０（Ｃ）に示すような頂点Ｐ０の座標値が求められる。
Ｐ０＝ＦＬＩＰ（ｐｐ［０］，ｐｐ［１］，ｖ）      ・・・（１４）
【００７４】
なお、上式（９）〜（１４）はいずれもＣ言語で記述したものである。その後、ステップＡ１０に移行してｖ方向の補間処理の粗さを調整するｖ＝ｖ＋ｄｖが演算される。ここでｄｖはベジエ曲面を表現するｖ方向のパッチ面の分割数を粗くするか細かくするかを設定するための演算子である。ｄｖはたとえば１６，８などの整数で与えられ、ここではパッチ面の分割数を細かくするために１６（粗）を８（密）に減ずるようなｖ＝ｖ＋ｄｖを演算した後に、ステップＡ６に戻る。
【００７５】
ステップＡ６では同様な補間演算をｖ＝０〜１２８の場合について行うために、Ｖ座標についてｖ＝１２８になったか否かが検出される。つまり、１つの頂点の座標値の生成についてｕ方向を１つ変化させる毎に、このｖ方向に関して９回の補間処理がなされる。従って、ｖ方向に関して９回の補間処理が終わると、ステップＡ６でｖ＝１２８となった場合に、ステップＡ１１に移行して、ｕ方向の補間処理の粗さを調整するｕ＝ｕ＋ｄｕが演算される。
【００７６】
ここでｄｕはｕ方向のパッチ面の分割数を粗くするか細かくするかを設定するための演算子である。ここではパッチ面の分割数を細かくするために１６を８に減ずるようなｕ＝ｕ＋ｄｕを演算した後に、ステップＡ３に戻る。ステップＡ３では同様な補間演算をｕ＝０〜１２８の場合について行うために、Ｕ座標についてｕ＝１２８になったか否かが検出される。ｕ＝１２８になった場合には、９×９＝８１回の補間処理を経て４×４個の制御点ｐ０〜ｐ１５による３次のベジエ曲面の１つの頂点座標値が得られ、その部分の補間演算を終了する。
【００７７】
その後、ステップＡ１２に移行して与えられた制御点について全て頂点座標値を生成したかが検出される。たとえば、制御装置４からの線形補間器１へ終了コマンドが発行されることで、頂点座標値の生成処理を終了する。終了コマンド検出されない場合には、ステップＡ１に戻って次の４×４個の制御点が入力され、上述した処理が繰り返される。これにより、他の３次のベジエ曲面の頂点座標値をハードウエアにより得ることができる。
【００７８】
［法線ベクトルの生成例］
図１２（Ａ）〜図１２（Ｃ）は図形情報生成装置１０における法線算出部１７による法線ベクトルの生成例を示す遷移図である。
この例では、図１０（Ｂ）に示した２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値から頂点Ｐ０のｕ方向の接線ベクトルｕ（上矢印を省略する）およびｖ方向の接線ベクトルｖ（上矢印を省略する）が抽出され、この２つの接線ベクトルｕ，ｖに基づいて頂点Ｐ０における法線ベクトルｚが求められる。
【００７９】
図１２（Ａ）に示すｕ方向の接線ベクトルｕはＵ座標のｘ成分をｕｘとし、そのｙ成分をｕｙとし、そのｚ成分をｕｚとすると、（１５）により演算される。
【００８０】
ｕｘ＝ｐｐ［３］．ｘ−ｐｐ［２］．ｘ；
ｕｙ＝ｐｐ［３］．ｙ−ｐｐ［２］．ｙ；
ｕｚ＝ｐｐ［３］．ｚ−ｐｐ［２］．ｚ；      ・・・・・（１５）
【００８１】
同様にして、図１２（Ｂ）に示すｖ方向の接線ベクトルｖはＶ座標のｘ成分をｖｘとし、そのｙ成分をｖｙとし、そのｚ成分をｖｚとすると、（１６）により演算される。
【００８２】
ｖｘ＝ｐｐ［１］．ｘ−ｐｐ［０］．ｘ；
ｖｙ＝ｐｐ［１］．ｙ−ｐｐ［０］．ｙ；
ｖｚ＝ｐｐ［１］．ｚ−ｐｐ［０］．ｚ；      ・・・・・（１６）
【００８３】
図１２（Ｃ）に示す頂点Ｐ０の法線ベクトルｚは、これら２つの接線ベクトルｕ，ｖの外積を演算したものである。この法線ベクトルｚは光色を算出するライティング処理に使用される。たとえば、光源から照射される光の向きを光源ベクトルとしたとき、この光源ベクトルと法線ベクトルの内積が演算される。そして、光源ベクトルと法線ベクトルとが一致したとき（ｃosθ＝１）に、一番明るくなうように輝度が演算される。
【００８４】
なお、頂点Ｐ０の接線ベクトルｕ，ｖは４個の制御点の座標値が重なっていると、正確に接線ベクトルｕ，ｖを演算できないので、制御装置４内に比較器などを設け、４個の制御点の座標値が重なているか否かを判別するようにするとよい。たとえば、制御点の先頭の２つの座標値と最後の２つの座標値を比較して一致しているか否かを判別する。直線や球形に係る図形情報を生成する場合に座標値が一致するからである。
【００８５】
次に、例外的処理を含めた動作例を、図１３〜図３２に関連付けて説明する。
なお、図１３〜図２５は、本実施形態における例外的処理を含む補間処理の概念を段階的に示している。
図２６は、補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルの基本的な処理を概念的に示す図である。
図２７は、補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略ゼロとなる場合を概念的に示す図である。
図２８は、補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略ゼロとなる場合の例外処理の効果を概念的に示す図である。
図２９は、補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略平行となる場合を概念的に示す図である。
図３０は、補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略平行となる場合の例外処理の効果を概念的に示す図である。
図３１は、頂点を境界線上で対称に共有する曲面同士を接続する場合を概念的に示す図である。
図３２は、頂点を境界線上で対称に共有する曲面同士を接続する場合に対応した丸め制御の効果を概念的に示す図である。
【００８６】
ここでは、３次曲面の場合を示す。
図１３の点は３次曲面の制御点であり、v方向に補間する場合を示している。線分は補間される頂点の対応を表わし、線分に添えられた値はその係数を示す。
図１４の点はこの処理により得られた補間点を示し、これらをv方向に補間する場合の頂点の対応と補間係数を示している。
図１５の点はこの処理により得られた補間点を示し、これらをu方向に補間する場合の頂点の対応と補間係数を示している。
図１６の点はこの処理で得られた補間点を示し、これらをu方向に補間する場合の頂点の対応と補間係数を示している。
図１７はこの処理により得られた補間点を示し、これらをu方向に補間する場合の頂点の対応と補間係数を示している。
図１８はこの処理により得られた補間点を示し、これらを図１８の係数で補間することで求める曲面上の点が得られる。
【００８７】
以上の補間処理において、たとえば図２７に示すように、補間される２つの点が同値と判断され、かつ補間係数が 0 もしくは 1 の場合に式２に示されるように例外処理が行われる。
図１９はこの例を示す。また、例外処理において補間結果とされる点が存在しない場合にはその例外処理は行われない。
【００８８】
図１８の頂点は最終補間処理の入力となるものであり法線計算で使用する点対の１つであり、もう一つの点対は図７の補間点を図２０のように補間することで得られる。
図２１に示すそれぞれの点対を結ぶベクトルの外積を計算し、その要素値のどれかがしきい値より大きい場合にはそのベクトルが求める法線となる。
そうでない場合には、最終補間の係数に応じて図２３〜図２５のベクトルの外積ベクトルを求める法線とする。
【００８９】
より具体的には、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸める。
また、再帰的補間処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とする。
この場合、対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線する。
そして、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を使用する。
【００９０】
以上説明したように、本実施形態の図形情報生成装置１０によれば、i, j が 0 から N の整数で定義される制御点 Pi,j、および制御変数 u, v それぞれの関数として [0,1] で定義される補間係数 Um,n, Vm,n により表現されるｎ次曲面について、u, v に対応する曲面上の点の座標値を i, j それぞれの方向の隣接点について式５に示す再帰的補間処理（例外的補間処理）を行うことにより算出し、補間係数 0.5 を軸として丸め誤差が対称となるように補間係数を有限精度に丸め、再帰的補間処理に伴い、最終補間処理の入力となり得る i, j それぞれの方向の対点を結ぶベクトルの外積を計算、その長さがしきい値以上である場合にはこれを法線とし、そうでない場合には、対点の算出における各補間係数を 0, 1 の任意の値に置き換えたもので対点の算出および外積計算を行った結果を代替法線とし、この場合、対点の算出における各補間係数を 0.5 より大きい値を 0 に、0.5 より小さい値を 1 に、0.5 の場合には 0, 1 のどちらかに固定的に置き換えたもので対点の算出および外積計算を行った結果を法線とし、また、外積ベクトルの要素毎にしきい値比較を行い全ての要素がしきい値よりも小さい場合に代替法線を使用することから、以下の効果を得ることができる。
【００９１】
補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略ゼロとなる場合、あるいは略平行となる場合、あるいは頂点を境界線上で対称に共有する曲面同士を接続する場合、すなわち、ｎ次のベジエ曲面やスプライス曲面などを隣接評価点を結ぶ平面で近似描画する場合に、制御点を共有し、数学的に接続する隣接曲面の接続点について、演算誤差を制御でき、同一の座標値を生成し、曲面の接続性を保証することができる利点がある。
【００９２】
また、第１の実施形態としての図形情報生成装置１０によれば、ｕ方向に４個の制御点およびｖ方向に４個の制御点を線形補間器１に与えると、ソフトウエアに依存することなく、ハードウエアによりこの制御点ｐ０〜ｐ１５から３次のベジエ曲面を表現する頂点Ｐ０の座標値を生成することができる。しかも、２×２個の新たな制御点ｐｐ０〜ｐｐ３の座標値から頂点Ｐ０の接線ベクトルｕ，ｖを抽出できるので、ライティング処理に必要な法線ベクトルｚを生成することができる。
【００９３】
また、桁合わせ部１５１１、乗算器１５１２，１５１３、加算器１５１５および正規化部１５１６といった小規模な回路構成によって線形補間器１を実現できるので、高性能かつ低消費電力動作が可能な図形情報生成装置１０を提供することができる。これにより、図形情報生成装置１０をベジエ曲面やスプライス曲面などの画像処理を行う画像処理装置、特に消費電力が制限される携帯端末装置などの情報処理装置に十分応用することができる。
【００９４】
この例では制御点の座標値Ａ，Ｂに関して各々浮動小数点の場合について説明したが、これに限られることはなく、これらの座標値Ａ，Ｂを固定小数点で線形補間器１に与えてもよい。また、頂点の座標値は２次元のＵ−Ｖ座標系で処理する場合について説明したが、もちろん、３次以上でも本発明を適用することができる。頂点の座標値もこの限りではない。ベジエ曲面に限らずベジエ曲線や、３次だけでなくそれ以外の次数のベジエ曲面に適用することができる。
【００９５】
［第１の画像処理装置］
図３３は本発明に係る実施形態としての第１の画像処理装置１００の構成例を示すブロック図である。
【００９６】
この実施形態に係る第１の画像処理装置１００では、上述した図形情報生成装置１０が応用され、ソフトウエアに依存することなく、ハードウエアにより生成された上位所定ビット幅の頂点の座標値を用いてｎ次のベジエ曲線やベジエ曲面、スプライン曲面を画像処理する。
【００９７】
図３３に示す画像処理装置１００は、図形情報生成装置１０の主要部の一例となるベジエ分割装置１０１を有しており、その図形情報生成部１０Ａによって生成されたｎ次の曲面図形を画像処理する。
この画像処理装置１００は、ベジエ分割装置１０１の他に制御装置１０２、操作部１０３、ＲＯＭ１０４、メインメモリ１０５などを有している。
メインメモリ１０５にはたとえば３次のベジエ曲線やベジエ曲面、スプライン曲面を画像処理するための４×４個の制御点の座標値Ａ，Ｂが記憶されている。この制御点の座標値Ａ，Ｂは外部から書き換え可能になされる。
メインメモリ１０５の記録内容例については図３４において説明をする。
【００９８】
このメインメモリ１０５には制御装置１０２が接続されると共に、この制御装置１０２には操作部１０３が接続されている。
この操作部１０３は、メインメモリ１０５の読出し制御をするための操作情報Ｄ３を入力するように操作される。制御装置１０２では操作情報Ｄ３に基づいてメインメモリ１０５に書込み読出し信号Ｓ４を出力する。メインメモリ１０５では３次のベジエ曲線やベジエ曲面を画像処理するための４×４個の制御点の座標値Ａ，Ｂが書込み読出し信号Ｓ４に基づいて図形情報生成部６に読み出される。
【００９９】
このメインメモリ１０５に接続された図形情報生成部１０Ａでは、操作情報Ｄ３に基づいて読み出された制御点の座標値Ａ，Ｂに関して、ｕ方向に（ｎ＋１[ただし、ｎ≧２]）個の制御点およびｖ方向に（ｎ＋１）個の制御点を格子状に与え、この格子状の制御点からｎ次の曲面図形に係る頂点座標値を生成するようになされる。この例では３次の曲面図形を表現するための頂点の座標値が生成される。ここで生成された頂点の座標値は頂点情報Ｃoutとして後段の処理回路へ出力される。
【０１００】
もちろん、図形情報生成部１０Ａは、図５に示した線形補間器を有しており、浮動小数点または固定小数点で示される、２３ビット幅の制御点の座標値Ａ，Ｂと、８ビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算する。さらに、図形情報生成部１０Ａは、２×２個の新たな制御点の座標値から頂点のｕ方向に接線ベクトルおよびｖ方向に接線ベクトルを抽出する。
【０１０１】
この図形情報生成部１０Ａには演算器１０６が接続され、２×２個の新たな制御点の座標値から抽出された頂点Ｐ０のｕ方向の接線ベクトル情報Ｕinとｖ方向の接線ベクトル情報Ｖinとを入力し、演算器１０６は、この情報Ｕinと情報Ｖinの外積を演算してその頂点Ｐ０の法線ベクトル情報Ｈoutを出力する。
【０１０２】
制御装置１０２に接続されたＲＯＭ１０４には、制御点の座標値Ａ，Ｂの指数部の大きい方に桁を合わせ、この桁合わせ後の座標値Ａと補間係数（１−ｔ）とを乗算すると共に、桁合わせ後の座標値Ｂと補正係数ｔとを乗算し、その後、乗算結果を加算した後の加算値を浮動小数点で示される所定のビット幅の座標値に正規化するような制御手順や、頂点Ｐ０のｕ方向の接線ベクトル情報Ｕinとｖ方向の接線ベクトル情報Ｖinとを所定のタイミングで外積を演算して出力するような制御手順が記述されている。
【０１０３】
続いて、メインメモリ１０５の記録内容例について説明する。
図３４はメインメモリ１０５の記録内容例を示すイメージ図である。
この例では、１Ｍバイトのメモリ領域に、その格納アドレス０ｘ０００００〜０ｘＦＦＦＦＦによって指定される番地にプログラム情報、描画リスト、形状データ、テクスチャデータＩＤ＝１、およびＩＤ＝２が記録されている。これらのデータは外部から転送されたゲームデータや、電子アニメーション用のデータであってもよい。
【０１０４】
図３４に示す記録内容例によれば、ｎ次のベジエ曲面などを生成するアプリケーション本体、このアプリケーションのサブルーチンなどのモジュール群およびライブラリ群から成るプログラム情報がメモリ領域の先頭に記述されている。このアプリケーションにはたとえば、ｎ次のベジエ曲面を生成操作するモードを設定するか、または他の操作モードを設定するかを選択させるようなプログラムデータも含まれる。プログラム情報の後には、１ポリゴンの形状データを複数繋げるための制御命令（以下でポリゴン描画命令ともいう）などの描画リストが記述されている。
【０１０５】
この描画リストの後には映像素材情報となる形状データが記述されている。たとえばゲーム情報や広告情報などを２次元または３次元映像表示するような動画データを含むグラフィックモデルデータ群が記述されている。動画データはＤＣＴ（離散コサイン変換）により画像圧縮されている。形状データの後には、グラフィックテクスチャデータ群が記述されている。テクスチャデータは７６バイトで１ポリゴンの形状データを構成するようになされ、この例では三角形と四角形の２つのＩＤを持つテクスチャデータが記述される。テクスチャデータの内容については後で説明する。この他にサウンドシーケンスデータ群およびサウンドウエーブデータ群が記述される場合もある。ユーザーの操作と、サウンドシーケンスに応じてサウンドウエーブデータを処理するためである。
【０１０６】
このように、本発明に係る実施形態としての第１の画像処理装置１００によれば、上述した図形情報生成装置１０の主要部がベジエ分割装置１０１に応用されるので、ソフトウエアに依存するところが少なくなり、ｎ次のベジエ曲線やベジエ曲面、スプライン曲面を表現する上位所定ビット幅の頂点Ｐ０の座標値を用いてハードウエアにより高速に画像処理を行うことができる。したがって、ベジエ分割装置１０１を構成する線形補間器を小規模な回路構成によって実現できるので、高性能かつ低消費電力動作が可能な画像処理装置１００を提供することができる。
【０１０７】
また、本発明に係るＲＯＭ１０４によれば、このＲＯＭ１０４に記録された制御手順に基づいてベジエ分割装置１０１に内蔵される補間処理部の線形補間器を再現性良く制御できるので、ｎ次のベジエ曲線やベジエ曲面を表現する上位所定ビット幅の頂点の座標値をハードウエアにより発生させることができる。
【０１０８】
（２）第２の実施形態
図３５は、本発明に係る第２の実施形態としての図形情報変換装置２０の構成例を示すブロック図である。
【０１０９】
本第２の実施形態の図形情報変換装置２０では、第１の実施形態の図形情報生成装置１０の機能を有し、さらに、ｎ次の曲面図形を表現するための頂点情報を多角形情報に並び換える場合にメモリ制御部を備え、ｍ個の頂点情報を１ライン目のメモリに書き込むと共に、次のｍ個の頂点情報を２ライン目のメモリに書き込み、その後、１ライン目のメモリで各々隣接する２個づつの頂点情報と、２ライン目のメモリで各々隣接する２個づつの頂点情報とにより形成される（ｍ−１）個の四角形の頂点情報をそのまま、もしくは、その四角形を斜めに分割した２（ｍ−１）個の三角形の頂点情報を順次読み出すようにして、ソフトウエアに依存することなく、ｎ次のベジエ曲線やベジエ曲面を表現する頂点情報をハードウエアにより多角形情報に変換できるようにしたものである。
【０１１０】
図３５に示す図形情報変換装置２０は、ｎ次の曲線図形および曲面図形を表現するための頂点情報Ｃinをライン走査のための多角形（以下でポリゴンともいう）情報に並び換えるものである。
この図形情報変換装置２０は、少なくとも、２ライン分のメモリ２１Ａ，２１Ｂを有した記憶装置２１が設けられ、１ライン毎に頂点情報Ｃinを記憶する。
記憶装置２１にはラインメモリ２１Ａ，２１Ｂを有したスタックメモリ２１’などを使用するとよい。
【０１１１】
記憶装置２１にはメモリ制御部２２が接続され、当該記憶装置２１の書込み読出しを制御するようになされる。たとえば、メモリ制御部２２はｍ個の頂点情報Ｃinを１ライン目のメモリ２１Ａに書き込むと共に、次のｍ個の頂点情報Ｃinを２ライン目のメモリ２１Ｂに書き込み、その後、１ライン目のメモリ２１Ａで各々隣接する２個ずつの頂点情報Ｃinと２ライン目のメモリ２１Ｂで各々隣接する２個づつの頂点情報Ｃinとにより形成される（ｍ−１）個の四角形の頂点情報Ｃinをそのまま、もしくは、その四角形を斜めに分割した２（ｍ−１）個の三角形の頂点情報Ｃoutを順次読み出すようになされる。以下で四角形または三角形の頂点情報を多角形情報Ｃoutともいう。
【０１１２】
この例では２ライン目のメモリ２１Ｂに書き込んだｍ個の頂点情報Ｃinは、次の第３ライン目に相当するｍ個の頂点情報Ｃinの並び換えに使用するので、１ライン目のメモリ２１Ａに順次シフトするようになされる。第３ライン目に相当するｍ個の頂点情報Ｃinを常に２ライン目のメモリ２１Ｂに書き込むようにするためである。
【０１１３】
この例ではさらに、予め四角形動作モードまたは三角形動作モードのいずれかを選択するための設定情報Ｄ４が入力される。ここで四角形動作モードとは四角形の頂点情報Ｃinを生成する図形変換制御をいい、三角形動作モードとは三角形の頂点情報Ｃinを生成する図形変換制御をいうものとする。たとえば、設定情報Ｄ４が「１」のときは、四角形動作モードが選択され、それが「０」のときは三角形動作モードが選択される。多角形情報Ｃoutは少なくとも、多角形の頂点の座標値、色テクスチャ情報およびクリップ情報を含むものである。色テクスチャ情報はｎ次の曲面図形を表示する背景の色情報である。クリップ情報は多角形情報Ｃoutに基づいて三次元映像加工（以下でレンダリングという）処理するか否かを判断するためのコードであり、多角形の各頂点毎に付加される。
【０１１４】
ここで、多角形情報Ｃoutによって表現される奥行きを含む表示領域（モニタなどの有効表示領域に等しい）に関して視認可能な範囲をクリップ領域としたとき、このクリップ領域から外れる多角形の頂点にクリップ情報「１」が付加され、このクリップ領域内に入っている多角形の頂点にはクリップ情報「０」が付加される。クリップ情報の付加については後で説明する。
【０１１５】
このメモリ制御部２２には判定部２３が接続され、判定部２３は、上述のクリップ領域から外れる多角形情報Ｃoutを判別する。判定部２３では、予め多角形の各々の頂点毎に付加されたクリップ情報を入力し、この多角形の頂点が１つでもクリップ領域内にある場合には、当該多角形情報Ｃoutをレンダリング処理に含められる。ｎ次のベジエ曲面などの一部がモニタなどの有効表示領域にかかっていて表示が必要であることによる。
【０１１６】
反対に、この多角形の全ての頂点がクリップ領域外にある場合には、当該多角形情報Ｃoutをレンダリング処理から除外するようになされる。ｎ次のベジエ曲面などがモニタなどの有効表示領域から外れてしまい、レンダリング処理を施してモニタ画面上に現れないことによる。この判定部２３は三角形情報Ｃoutを判定する場合には三入力ＮＡＮＤ回路や三入力ＡＮＤ回路などから構成され、四角形情報を判定する場合には四入力ＮＡＮＤ回路や四入力ＡＮＤ回路などから構成される。ＮＡＮＤ回路を使用する場合にはインバータが接続され、入力または出力論理を反転するようになされる。
【０１１７】
図３６は、ｍ＝８における図形情報変換例を示すイメージ図である。図３７（Ａ）および（Ｂ）は、三角形情報Ｃoutおよび四角形情報Ｃout'の出力例を示すイメージ図である。
【０１１８】
図３６に示すベジエ曲面は８個の頂点情報Ｃinを走査ライン毎に同一平面に並べたものである。
この例では、三角形動作モードでｍ＝８の場合に、図３７（Ａ）に示す三角形の各頂点が「１，２，９」、「２，９，１０」、「２，３，１０」、「３，１０，１１」、「３，４，１１」・・・・の三角形情報Ｃoutがメモリ制御部２２から判定部２３へ出力される。もちろん、各三角形の各頂点毎にクリップ情報「１」または「０」が付加される。
【０１１９】
四角形動作モードでｍ＝８の場合に、図３７（Ｂ）に示す四角形の各頂点が「１，２，９，１０」、「２，３，１０，１１」、「３，４，１１，１２」・・・・の四角形情報Ｃout'がメモリ制御部２２から判定部２３へ出力される。もちろん、各四角形の各頂点毎にクリップ情報「１」または「０」が付加される。
【０１２０】
図３８は、液晶表示モニタなどのクリップ領域例を示す仮想表示空間のイメージ図である。図３９は、スクリーン座標系ｘｓ，ｙｓにおけるクリップ領域ＣＬと４ビットのクリップコードの関係例を示す対応図である。この例では図１７に示す仮想表示空間上にスクリーン座標系ｘｓ、ｙｓ、ｚｓが定義され、奥行きはｚｓ座標に関してＺ＝±１に入る多角形情報Ｃoutのみをレンダリング処理に移行するようになされる。多角形情報Ｃoutは上述した判別部２３で判定される。
【０１２１】
図３８に示すクリップ領域ＣＬは、多角形情報Ｃoutによって表現される奥行きを含む表示領域に関してビューポイントから視認可能な範囲を定義したものである。このクリップ領域ＣＬは液晶表示モニタなどの４８０ライン×６４０画素の有効表示領域に等しい。このクリップ領域ＣＬから外れる多角形の頂点に予めクリップ情報「１」が付加され、このクリップ領域ＣＬ内に入っている多角形の頂点にはクリップ情報「０」が付加される。
【０１２２】
つまり、図３９に示す対応図はスクリーン座標系ｘｓ，ｙｓにおいて、仮想表示面を井桁に分割したものである。この図の中央部はクリップ領域ＣＬであり、この領域内に含まれる頂点情報Ｃinには各多角形の頂点Ｐ０毎にクリップ情報の一例となる４ビットのクリップコード「００００」が付加される。また、クリップ領域ＣＬの左上部領域＜１＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１００１」が付加される。
【０１２３】
同様にして、その上部領域＜２＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１０００」が付加され、その右上部領域＜３＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１０１０」が付加される。さらに、その左横領域＜４＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０００１」が付加され、その右横領域＜５＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「００１０」が付加される。
【０１２４】
クリップ領域ＣＬの左下部領域＜６＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１０１」が付加され、その下部領域＜７＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１００」が付加され、その右下部領域＜８＞に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１１０」がそれぞれ付加される。これらのクリップコード（クリップ情報）は図形情報生成後の座標変換処理の際に頂点情報Ｃinに付加される。このクリップ情報を図形情報変換後に判定するようにしたのは、図３６で説明したようにたとえば、ベジエ曲面を同一平面に並べて始めて、変換後の多角形情報Ｃoutがクリップ領域ＣＬに含まれるか否かが判定できることによる。
【０１２５】
図４０は、クリップコードによる判定結果例を示すイメージ図である。図４０に示す斜線の三角形はレンダリング処理がなされないものであり、白抜きの三角形はレンダリング処理に移行されるものである。
【０１２６】
つまり、図１９に示す領域＜１＞、＜３＞、＜４＞および＜５＞のみに含まれる三角形「Ａ」と、三角形「Ｃ」〜「Ｅ」と、領域＜１＞、＜２＞および＜３＞にかかっているがクリップ領域ＣＬにかかっていない三角形「Ｂ」とは判定部２３により「レンダリング処理しない」と判定される。これらはレンダリング処理をしても液晶表示モニタには表示されないので、判定部２３によってこの三角形情報Ｃoutを除外するようになされる。
【０１２７】
これに対して、クリップ領域ＣＬにかかっている三角形「Ｇ」と、領域＜２＞および＜４＞〜＜８＞にかかっているものの、クリップ領域ＣＬにその大部分がかかっている三角形「Ｆ」とは判定部２３により「レンダリング処理をする」と判別される。クリップ領域ＣＬに一部でもかかっている三角形「Ｇ」などは液晶表示モニタの有効表示領域で表示されるからである。
【０１２８】
図４１は、スクリーン座標系ｙｓ，ｚｓにおける奥行きを考慮したクリップ領域ＣＬ’と６ビットのクリップコードの関係例を示す対応図である。
この例では、図４１に示す仮想表示空間の奥行きにスクリーン座標系ｙｓ、ｚｓが対応され、ｚｓ座標に関してＺ＝±１に入る三角形情報Ｃoutのみをレンダリング処理に移行するようになされる。三角形情報Ｃoutは上述した判別部２３で判定される。
【０１２９】
図４１に示す対応図はスクリーン座標系ｙｓ，ｚｓにおいて、仮想空間を井桁に分割したものである。この対応図の中央部は奥行きを考慮したクリップ領域ＣＬ’であり、この領域内に含まれる頂点情報Ｃinには各三角形の頂点Ｐ０毎にクリップ情報の他の一例となる６ビットのクリップコード「００００ＸＸ」が付加される。また、クリップ領域ＣＬ’の前上部領域＜１＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１１０ＸＸ」が付加される。
【０１３０】
同様にして、クリップ上部領域＜２＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「００１０ＸＸ」が付加され、その後上部領域＜３＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１０１０ＸＸ」が付加される。さらに、その前中央領域＜４＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１００ＸＸ」が付加され、クリップ領域ＣＬの後中央領域＜５＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１０００ＸＸ」が付加される。
【０１３１】
クリップ領域ＣＬの前下部領域＜６＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０１０１ＸＸ」が付加され、クリップ下部領域＜７＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「０００１ＸＸ」が付加され、その後下部領域＜８＞’に含まれる頂点情報Ｃinには各頂点毎にクリップコード「１００１ＸＸ」がそれぞれ付加される。これらのクリップコード（クリップ情報）は図形情報生成後の座標変換処理の際に頂点情報Ｃinに付加される。
【０１３２】
続いて、本発明に係る実施形態としての図形情報変換方法について図形情報変換装置２０の動作例を説明する。
図４２は、本発明に係る実施形態としての図形情報変換装置２０の動作例を示すフローチャートである。
【０１３３】
この例では３次の曲線図形および曲面図形を表現するための、ｍ＝１２８の頂点情報Ｃinをライン走査のための三角形情報Ｃoutに並び換える場合を想定する。
少なくとも、Ｕ−Ｖ座標系で３次の曲面図形を表現したとき、その制御点の先端から最終端に至る長さ分（ｍ＝１２８）の頂点情報Ｃinが書き込める、２ライン分のメモリ領域を展開できるスタックメモリ２１’などを準備する。
【０１３４】
この例で頂点情報Ｃinは多角形の頂点Ｐ０の座標値、色テクスチャ情報およびクリップ情報を含むものとし、多角形の各頂点毎に図３９で説明したようなクリップコードが付加されているものとする。
【０１３５】
これを前提にして、図４２に示すフローチャートのステップＢ１で頂点情報Ｃinに関してポリゴン形状を設定する。ここで、たとえば設定情報Ｄ４＝「０」を設定して三角形動作モードが選択される。その後、ステップＢ２で１２８個の頂点情報Ｃinを１ライン目のメモリ領域に書き込む。
【０１３６】
そして、ステップＢ３で次の１２８個の頂点情報Ｃinを２ライン目のメモリ領域に書き込む。その後、予め設定された動作モードに基づいてステップＢ４で制御を切り換える。
この例では三角形動作モードが選択されているので、ステップＢ５に移行して１ライン目のメモリ領域で各々隣接する２個づつの頂点情報Ｃinと２ライン目のメモリ領域で各々隣接する２個づつの頂点情報Ｃinとにより形成される１２７個の四角形を斜めに分割した２５４個の三角形の頂点情報Ｃinを順次読み出す（図３７（Ａ）参照）。
【０１３７】
なお、予め設定された動作モードが四角形動作モードの場合には、ステップＢ６に移行して１ライン目のメモリ領域と２ライン目のメモリ領域の各々の頂点情報Ｃinとにより形成される１２７個の四角形の頂点情報Ｃinをそのまま順次読み出すようになされる（図３７（Ｂ）参照）。
【０１３８】
その後、ステップＢ７に移行してクリップ領域ＣＬから外れる三角形情報Ｃoutが判別部２３によって判別される。
この三角形情報Ｃoutの判別の際に、図４０で説明した三角形「Ｇ」、「Ｇ」のように頂点が１つでもクリップ領域ＣＬ内にある場合には、当該三角形情報Ｃoutをレンダリング処理に含め、三角形「Ａ」〜「Ｅ」のように、全ての頂点がクリップ領域ＣＬ外にある場合には、この三角形情報Ｃoutをレンダリング処理から除外する。
【０１３９】
そして、ステップＢ８に移行して、全ての三角形情報Ｃoutの判別が終了したか否かがチェックされる。判別が全部終了していない場合にはステップＢ２に戻って上述した処理を繰り返すようになされる。判別が全部完了した場合には図形情報変換処理を終了する。
【０１４０】
このように、本発明に係る第２の実施形態としての図形情報変換装置２０によれば、３次の曲線図形および曲面図形を表現するための頂点情報Ｃinを三角形情報Ｃoutに並び換える場合に、１ライン目のメモリ領域と２ライン目のメモリ領域の各々の頂点情報Ｃinとにより形成される１２７個の四角形の頂点情報Ｃinをそのまま、もしくは、その四角形を斜めに分割した２５４個の三角形の頂点情報Ｃinを記憶装置２１から順次読み出す。
【０１４１】
したがって、ソフトウエアに依存することなく、ｎ次のベジエ曲線やベジエ曲面を表現する頂点情報Ｃinをハードウエアにより三角形情報Ｃoutに並び換えることができる。しかも、メモリ２１Ａ，２１Ｂといった小規模なメモリ構成によってスタックメモリなどを実現できるので、高性能かつ低消費電力動作が可能な図形情報変換装置２０を提供することができる。
【０１４２】
［第２の画像処理装置］
図４３は、本発明に係る実施形態としての第２の画像処理装置２００の構成例を示すブロック図である。
【０１４３】
この例では図３５で説明した図形情報変換装置の一例となる頂点並換え装置２０１を備え、図３３で説明した第１の画像処理装置１００から出力される多角形の頂点Ｐ０の法線ベクトルＨoutおよび各々の多角形の頂点情報（テクスチャデータ）Ｃinを座標変換した後に、ソフトウエアに依存することなくその頂点情報Ｃinを並び換え、その後、ライン走査のための画像処理をするようにしたものである。
【０１４４】
図４３に示す第２の画像処理装置２００は、第１の実施形態で生成されたｎ次の曲面図形を画像処理するものである。
この画像処理装置２００には第１の画像処理装置１００が設けられ、ｎ次の曲面図形を表現するための頂点の座標値を生成するよう構成される。画像処理装置１００には、前述したように、第１の実施形態で説明した図形情報生成装置が使用される。その内部構成例については図１および図３３で説明しているのでその説明を省略する。
【０１４５】
この画像処理装置１００にはライティング処理部２５と座標変換＆クリップコード付加部２４とが接続されている。
ライティング処理部２５では図３３に示した演算器（外積）７から得られる頂点Ｐ０の法線ベクトルｚと、予め設定された光源ベクトルとの内積（ｃosθ）を演算して光色を算出するようになされる。たとえば、ｎ次のベジエ曲面の頂点Ｐ０の法線ベクトルと光源ベクトルとが一致（θ＝０または１８０°）したときに、その頂点Ｐ０が一番明るくなうような輝度を演算するようになされる。
【０１４６】
また、座標変換＆クリップコード付加部２４では、画像処理装置１００によるポリゴン描画命令に基づいて頂点Ｐ０の座標値がスクリーン座標（映像表示）系の座標値に変換されると共に、図３９および図４１で説明したクリップコードが付加される。
この例では、頂点情報Ｃinは７６バイトで１ポリゴンの形状データを構成するようになされる（図４４参照）。座標変換＆クリップコード付加部２４には頂点並換え装置２０１が接続されている。頂点並換え装置２０１はメモリ制御部２２の一例となる書込みスタック２２Ａおよび読出しスタック２２Ｂと、スタックメモリ（記憶装置）２１’と、クリップ判定器（判定部）２３’とを有している。
なお、ライティング処理部２５の出力は頂点並換え装置２０１をスルーしてラスタライズ処理部２６に至るようになされる。
【０１４７】
スタックメモリ２１’には、少なくとも、図３５に示したような２ライン分のメモリ２１Ａ，２１Ｂを有して頂点情報Ｃinが記憶される。書込みスタック２２Ａでは座標変換されたｍ個の頂点情報Ｃinを順次スタックメモリ２１’の１ライン目に書き込むと共に、次のｍ個の頂点情報Ｃinを２ライン目に書き込む。
読出しスタック２２Ｂでは１ライン目で各々隣接する２個ずつの頂点情報Ｃinと２ライン目で各々隣接する２個ずつの頂点情報Ｃinとにより形成されるｍ−１個の四角形を斜めに分割した、図３７で説明したような２（ｍ−１）個の三角形情報Ｃoutをスタックメモリ２１’から順次読み出す。
【０１４８】
スタック読出し器２２Ｂにはクリップ判定器２３’が接続され、図４０で説明したようなクリップ領域ＣＬから外れる三角形情報Ｃoutを判定する。
クリップ判定器２３’は、予め三角形の各々の頂点毎に付加されたクリップコードが入力され、これらのクリップコードの三入力ＡＮＤ論理が演算され、三角形の頂点Ｐ０が１つでもクリップ領域ＣＬ内にある場合には、当該三角形情報Ｃoutをレンダリング処理に含め、これら三角形の全ての頂点がクリップ領域ＣＬ外にある場合には、当該三角形情報Ｃoutをレンダリング処理から除外する。
【０１４９】
上述したライティング処理部２５およびクリップ判定器２３’にはラスタライズ処理部２６が接続され、座標変換後の頂点情報Ｃinが１ポリゴン毎にラスタライズ処理され、１画素のカラーテクスチャアドレス（Ｕ，Ｖ）が算出される。スクリーン座標系においてライン走査するためである。
【０１５０】
続いて、図４４〜図４７を参照しながら、第２の画像処理装置２００の動作例について説明をする。
図４４は、ポリゴン（三角形）の形状データの記録内容例を示すデータフォーマットを示す図である。
【０１５１】
この例で図４４に示す頂点情報Ｃinは、図４５に示すような三角形の１ポリゴンの形状データを７６バイトで構成するようになされる。つまり、１ポリゴンは図４５に示す３つの頂点１，２，３を有する三角形により表現され、形状データの先頭には図４４に示すテクスチャＩＤが記述され、その後には、三角形の第１頂点のＸ、Ｙ、Ｚ座標が各々の記述されると共に、第１頂点のカラー値、テクスチャＵ、Ｖ座標が記述される。
【０１５２】
これに続いて第２頂点のＸ、Ｙ、Ｚ座標が各々の記述されると共に、第２頂点のカラー値、テクスチャＵ、Ｖ座標が記述される。さらに、第３頂点のＸ、Ｙ、Ｚ座標が各々の記述されると共に、第３頂点のカラー値、テクスチャＵ、Ｖ座標が記述される。これらの頂点情報Ｃinはユーザーの操作に応じて図３７で説明したような三角形状の頂点１，２，３を繋ぎ合わせるように連続される。
【０１５３】
この例では、一方で、第１の画像処理装置１００から出力される、ｎ次の曲面図形を表現するための多角形の頂点Ｐ０の法線ベクトルＨoutをライティング処理し、他方で各々の多角形の頂点情報Ｃinを座標変換した後に、ソフトウエアに依存することなく、その頂点情報Ｃinを並び換え、その後、ライン走査のための画像処理をする場合を想定する。
【０１５４】
つまり、連続された頂点情報Ｃinは１頂点毎に座標変換される。座標変換後の頂点情報Ｃinは、図４６に示す１ポリゴン毎にラスタライズ処理を行って１画素毎にカラーテクスチャアドレス（Ｕ，Ｖ）が算出される。その後、テクスチャＩＤにより指示される頂点情報ＣinからＵ，Ｖ座標のテクスチャカラーが読み出され、各々の画素のカラー値が決定され、このカラー値に基づいて液晶表示モニタなどに３次元映像画像が表示される。
なお、ｎ次の曲面図形の各々の頂点の座標値は第１の画像処理装置１００によって生成されるものとする。
【０１５５】
これを前提にして、図４７に示すフローチャートのステップＥ１で第１の画像処理装置１００から座標変換＆クリップコード付加部２４へ描画リストＤ２が転送される。その後、座標変換＆クリップコード付加部２４ではステップＥ２で描画リストＤ２に基づいて１頂点毎に頂点情報Ｃinがスクリーン座標系の座標値に変換される。この座標変換＆クリップコード付加部２４により座標変換された頂点情報Ｃinは、上述した頂点並換え装置２０１により、ライン走査のための三角形情報Ｃoutに並び換えられる。
【０１５６】
そして、ステップＥ３で１ポリゴン毎にラスタライズ処理部２６へ転送される。このラスタライズ処理部２６では、１ピクセル（Ｘ，Ｙ）毎のＺ値、カラー値（Ｒｆ，Ｇｆ，Ｂｆ）、テクスチャアドレス（Ｕ，Ｖ）が算出される。その後、Ｕ，Ｖ座標系のテクスチャカラー値（Ｒｔ，Ｇｔ，Ｂｔ）が読み出される。そして、スクリーン座標系のカラー値ＲＧＢが（１７）式により求められる。
Ｒ＝Ｒｆ×Ｒｔ，Ｇ＝Ｇｆ×Ｇｔ，Ｂ＝Ｂｆ×Ｂｔ・・・・（１７）
【０１５７】
その後、ステップＥ７に移行して奥行き情報であるＺ値が比較される。
Ｚ値が図４１に示したようにクリップ領域の手前にある場合には三角形情報Ｃoutの書込みを行う。Ｚ値がクリップ領域の後方にある場合には液晶表示モニタに表示されないので、その書込みを行わない。
その後、ステップＥ９に移行して三角形情報Ｃoutの書込みが全部終了したか否かがチェックされる。全部書込みを終了した場合には、当該画像処理を終了する。当該三角形情報Ｃoutの書込みを全部終了していない場合にはステップＥ１に戻って上述した処理を繰り返す。
【０１５８】
このように、本発明に係る実施形態としての第２の画像処理装置２００によれば、ソフトウエアに依存することなく、スタック書込み器２２Ａによってｍ個の頂点情報Ｃinが１ライン目のメモリ領域に書き込まれると共に、次のｍ個の頂点情報Ｃinが２ライン目のメモリに書き込まれ、その後、１ライン目のメモリで各々隣接する２個づつの頂点情報Ｃinと２ライン目のメモリで各々隣接する２個づつの頂点情報Ｃinとにより形成される（ｍ−１）個の四角形を斜めに分割した２（ｍ−１）個の三角形の頂点情報Ｃinがスタックメモリ部２１’からスタック読出し器２２Ｂにより順次読み出すようになされる。
【０１５９】
これにより、ハードウエアにより並び換えられた三角形情報Ｃoutに基づいてｎ次のベジエ曲線やベジエ曲面を表現するような画像処理をすることができる。
【０１６０】
しかも、小規模な回路構成によって頂点並換え装置２０１などを実現できるので、高性能かつ低消費電力動作が可能な画像処理装置２００を提供することができる。また、当該画像処理装置２００を組み込んだエンタテインメント装置や、携帯端末装置および携帯電話機などを構成することができる。
【０１６１】
（３）実施例
図４８は、本発明に係る実施例としての携帯端末装置３００の構成例を示すブロック図である。
【０１６２】
この例では上述した第１の画像処理装置１００と第２の画像処理装置２００とを組み合わせ、情報処理装置の一例となる携帯端末装置３００を構成したものである。第１および第２の実施形態で説明した同じ符号のものは同じ機能を有するためその説明を省略する。
【０１６３】
つまり、図４８に示す携帯端末装置３００は、図１２に示した第１の画像処理装置１００と図３３に示した第２の画像処理装置２００とを１チップ化したＬＳＩ回路を主要部と成し、ｎ次の曲面図形を外部操作に基づいて情報処理をするものである。
【０１６４】
図４８において、一点鎖線で囲んだ第１の画像処理装置１００はベジエ分割装置１０１、メインメモリ１０６、操作ボタン３９、ＣＰＵ４０、入力コントローラ４３およびＲＯＭ（Read Only Memory）４５などから構成され、二点鎖線で囲んだ第２の画像処理装置２００は座標変換＆クリップコード付加部２４、ライティング処理部２５、頂点並換え装置２０１およびラスタライズ処理部２６から構成されている。
【０１６５】
これらの構成要素の他に携帯端末装置３００には、メモリコントローラ２７、フレームメモリ２８、液晶表示コントローラ（ＬＣＤＣ）２９、インタフェース４２、サウンドプロセスユニット（以下で単にＳＰＵという）４４などが設けられている。この例で波線で囲んだ部分が１チップに集積化されるものである。もちろん、ベジエ分割装置１０１や、頂点並換え装置２０１、ＳＰＵ４４などは個別にＩＣチップ化して同一プリント基板上に実装してもよい。
【０１６６】
図４８に示すバス４１にはベジエ分割装置１０１、メインメモリ１０５、ＣＰＵ４０、インタフェース４２、入力コントローラ４３、ＳＰＵ４４およびＲＯＭ４５などが接続されている。ＲＯＭ４５は第１および第２の実施形態で接続した制御手順や、メインメモリ１０５、ＳＰＵ４４等の管理を行ういわゆるオペレーティングシステム等のプログラム情報を格納したものである。
【０１６７】
この例で、インタフェース４２にはメモリカートリッジ３０などが装着されて使用される。メモリカートリッジ３０はゲームデータや、電子アニメーションなどの電子コンテンツを記録したものである。
メモリカートリッジ３０はたとえば、バス３４を有しており、このバス３４にインタフェース３１、読出しコントロール用のマスクＲＯＭ３２およびコンテンツ記録用のＥＥＰＲＯＭ３３などが接続されている。ＥＥＰＲＯＭ３３にはゲームデータなどのプログラム情報や映像素材情報が記録されている。
【０１６８】
このメモリカートリッジ３０の内容はインタフェース４２およびバス４１を通してメインメモリ１０５に転送される。
メモリカートリッジ３０から転送されてきたゲームキャラタの、たとえば、第１の実施形態で説明したｎ次のベジエ曲面やベジエ曲線などを生成するための制御点の座標値が記憶される（図３４参照）。
メインメモリ１０５は、ランダムアクセスメモリ（ＲＡＭ：Random Access Memory）からなる。ここでいうメインメモリ１０５は、そのメモリ上でプログラムを実行できるものをいう。
【０１６９】
このメインメモリ１０５にはバス４１を通してベジエ分割装置１７が接続され、メインメモリ１０５から読み出した制御点の座標値に基づいてｎ次の曲面図形を画像処理するようになされる。ベジエ分割装置１７は第１の実施形態で説明した浮動小数点の線形補間器を有しており、２３ビット幅の制御点の座標値Ａ，Ｂと、８ビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、これらの制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算するようになされる。線形補間器の内部構成例およびその機能については図４で説明した通りであるのでその説明を省略する。これらの制御手順はＲＯＭ４５に記述されており、アプリケーション実行時にＣＰＵ４０によって読み出される。
【０１７０】
上述のバス４１にはベジエ分割装置１７を制御するために入力コントローラ（ＩＮＴＣ）４３が接続され、この入力コントローラ４３には操作ボタン３９が装備されている。この操作ボタン３９はユーザによって操作される。操作ボタン３９を操作すると入力コントローラ４３で操作情報Ｄ３が発生され、この操作情報Ｄ３はバス４１を通してＣＰＵ４０に入力するようになされる。
ＣＰＵ４０は操作情報Ｄ３に基づいてメインメモリ１８から頂点情報Ｃinを読み出すと共に、この頂点情報Ｃinに関して、その曲線図形および曲面図形を変化させるような表示制御を実行する。
【０１７１】
ＣＰＵ４０はＲＯＭ４５に記憶されているオペレーティングシステムを実行することにより、この携帯端末装置３００の全体を制御するもので、たとえば、３２ビットのＲＩＳＣ−ＣＰＵから構成される。
そして、この携帯端末装置３００は電源が投入されると、ゲームモードまたは番組再生モードに応じてＣＰＵ４０がＲＯＭ４５に記憶されているオペレーティングシステムを実行することにより、ＣＰＵ４０がベジエ分割装置１７や、ＳＰＵ４４等の制御を行うようになっている。
このＣＰＵ４０は割込み制御を行うので、制御負担を軽減するために、ダイレクトメモリアクセス（ＤＭＡ：Direct Memory Access）転送用の制御装置を別に設けるようにしてもよい。
【０１７２】
このベジエ分割装置１０１にはライティング処理部２５と座標変換＆クリップコード付加部２４とが接続されている。
ライティング処理部２５ではＣＰＵ４０からの演算要求に応じて、図３３に示した演算器（外積）１０６から得られる頂点Ｐ０の法線ベクトルｚと、予め設定された光源ベクトルとの内積（ｃosθ）を演算して光色を算出するようになされる（光源計算）。
【０１７３】
また、座標変換＆クリップコード付加部２４では、ポリゴン描画命令に基づいて頂点Ｐ０の座標値がスクリーン座標（映像表示）系の座標値に変換されると共に、図３９および図４１で説明したクリップコードが頂点情報Ｃinに付加される。この例でも、頂点情報Ｃinは７６バイトで１ポリゴンの形状データを構成するようになされる（図４４参照）。
この座標変換＆クリップコード付加部２４にはジオメトリトランスファエンジン（ＧＴＥ：Geometry Transfer Engine）などの並列演算器が用いられ、ＣＰＵ４０からの演算要求に応じて座標変換、行列あるいはベクトル等の演算処理が高速に行われる。
具体的には、この並列演算器により、たとえば１つの三角形状のポリゴンに同じ色で描画するフラットシェーディングを行う演算の場合では、１秒間に最大１５０万程度のポリゴンの座標演算を行うことができ、これによって、この携帯端末装置３００では、ＣＰＵ４０の負荷を低減するとともに、高速な座標演算を行うことができる。
【０１７４】
この座標変換＆クリップコード付加部２４には頂点並換え装置２０１が接続され、少なくとも、図３５に示したような２ライン分のメモリ２１Ａ，２１Ｂを有して頂点情報Ｃinが記憶される。
頂点並換え装置２０１にはグラフィックプロセッサユニット（ＧＰＵ：Graphic Processing Unit ）などが使用され、ＣＰＵ４０からの描画指示に従って頂点並び換えが行われる。
頂点並換え装置２０１は、座標変換されたｍ個の頂点情報Ｃinを順次１ライン目のメモリ領域に書き込むと共に、次のｍ個の頂点情報Ｃinを２ライン目のメモリ領域に書き込む。
その後、１ライン目で各々隣接する２個づつの頂点情報Ｃinと２ライン目で各々隣接する２個づつの頂点情報Ｃinとにより形成されるｍ−１個の四角形を斜めに分割した２（ｍ−１）個の三角形情報Ｃoutを順次読み出す。
【０１７５】
さらに、頂点並換え装置２０１は、図４０９で説明したようなクリップ領域ＣＬから外れる三角形情報Ｃoutを判定する。頂点並換え装置２０１は、三角形の頂点Ｐ０が１つでもクリップ領域ＣＬ内にある場合には、三角形情報Ｃoutをレンダリング処理に含め、これら三角形の全ての頂点がクリップ領域ＣＬ外にある場合には、この三角形情報Ｃoutをレンダリング処理から除外する。
【０１７６】
この頂点並換え装置２０１にはラスタライズ処理部２６が接続され、座標変換後の頂点情報Ｃinが１ポリゴン毎にラスタライズ処理され、１画素のカラーテクスチャアドレス（Ｕ，Ｖ）が算出される。このラスタライズ処理部２６にはメモリコントローラ２７を通してフレームメモリ２８が接続され、このメモリコントローラ２７にはＬＣＤＣ２９を通して液晶表示モニタ３６が接続されている。
【０１７７】
メモリコントローラ２７ではラスタライズ処理部２６からフレームメモリ２８へ液晶表示モニタ３６の１画面分の表示データが書き込まれる。たとえば、メモリコントローラ２７は、ＣＰＵ４０からの描画命令に従って、フレームメモリ２８に対して多角形（ポリゴン）等の描画を行う。
このメモリコントローラ２７は、１秒間に最大３６万程度のポリゴンの描画を行うことができるようになっている。さらに、このフレームメモリ２８は、いわゆるデュアルポートＲＡＭからなり、メモリコントローラ２７からの描画処理と、表示のための読み出しとを同時に行うことができるようになっている。
【０１７８】
このフレームメモリ２８は、たとえば１Ｍバイトの容量を有し、それぞれ１６ビットの、横が１０２４画素、縦が５１２画素からなるマトリックスとして扱われる。
また、このフレームメモリ２８には、映像出力として展開される表示領域の他に、メモリコントローラ２７がポリゴン等の描画を行う際に参照するカラールックアップテーブル（ＣＬＵＴ：Color Look Up Table ）が記憶されるＣＬＵＴ領域と、描画時に座標変換されてメモリコントローラ２７によって描画されるポリゴン等の中に挿入（マッピング）される素材（テクスチャ）が記憶されるテクスチャ領域が設けられている。これらのＣＬＵＴ領域とテクスチャ領域は、表示領域の変更等に従って動的に変更されるようになっている。
【０１７９】
なお、このメモリコントローラ２７はラスタライズ処理部２６と共に、上述のフラットシェーディングの他にポリゴンの頂点の色から補完してポリゴン内の色を決めるグーローシェーディングと、このテクスチャ領域に記憶されているテクスチャをポリゴンに張り付けるテクスチャマッピングを行うことができるようになっている。これらのグーローシェーディングまたはテクスチャマッピングを行う場合には、この座標変換＆クリップコード付加部２４は、１秒間に最大５０万程度のポリゴンの座標演算を行うようになされる。
【０１８０】
上述のメモリコントローラ２７からの表示データはＬＣＤＣ２９で映像出力信号φｖに変換され、この映像出力信号φｖが液晶表示モニタ３６に出力される。液晶表示モニタ３６ではたとえば、３次のベジエ曲面やスプライン曲面から成るゲームキャラクタを３次元表示するようになされる。
【０１８１】
また、ＳＰＵ４４ではＣＰＵ４０からの指示に基づいて、ゲームや電子アニメーションに係る音声情報を再生し増幅などが行われてその音声信号がスピーカー３７に出力される。
ＳＰＵ４４内に波形データ等を記録したサウンドバッファなどを設け、楽音、効果音等を発生するようにしてもよい。サウンドバッファを設けた場合には、ＳＰＵ４４で、たとえば１６ビットの音声データを４ビットの差分信号として適応予測符号化（ＡＤＰＣＭ：Adaptive Differential PCM ）された音声データを再生（ＡＤＰＣＭ復号機能）したり、サウンドバッファに記憶されている波形データを再生することにより、効果音等を発生（再生機能）したり、サウンドバッファに記憶されている波形データを変調させて再生（変調機能）することもできるようになる。
このような機能を備えることによって、このＳＰＵ４４は、ＣＰＵ４０からの指示によって記録された波形データに基づいて楽音、効果音等を発生するいわゆるサンプリング音源として使用することができる。
【０１８２】
続いて、携帯端末装置３００の動作例について説明をする。
図４９は、携帯端末装置３００における処理例を示すフローチャートである。この例では、ゲーム用のメモリカートリッジ３０を装着してゲームモードを実行することを想定する。ゲームデータには３次のベジエ曲面により構成されるキャラクタが準備され、ベジエ分割装置１７では線形補間器により制御点の座標値が分割され、頂点並換え装置では三角形動作モードにより頂点情報Ｃinが並び換えられることを前提とする。
【０１８３】
これを前提にして、図４９のフローチャートのステップＦ１でユーザは当該携帯端末装置３００にメモリカートリッジ３０を装着した後に、ステップＦ２で電源をオンする。ここで電源が投入されると、ＣＰＵ４０がＲＯＭ４５に記憶されているオペレーティングシステムを実行することにより、ベジエ分割装置１７や、ＳＰＵ４４等の制御を行うようになされる。この例ではユーザはステップＦ３でゲームモードを選択する。このアプリケーション実行時にＣＰＵ４０によってＲＯＭ４５から第１および第２の実施形態で説明した制御手順が読み出される。
【０１８４】
そして、一方で、ユーザはステップＦ４で操作ボタン３９を操作する。操作ボタン３９が操作されると、入力コントローラ４３およびバス４１を通してＣＰＵ４０に操作情報Ｄ３が入力される。この操作情報Ｄ３はゲームキャラタを構成する３次のベジエ曲面やベジエ曲線などを変形させたり、キャラクタを移動させたりするために使用される。
【０１８５】
この操作情報Ｄ３の入力に並行して、ＣＰＵ４０はステップＦ５〜ステップＦ１０で操作情報Ｄ３に基づいてメインメモリ１８から頂点情報Ｃinを読み出すと共に、この頂点情報Ｃinに関して、その３次の曲線図形および曲面図形を変化させるような表示制御を実行するようになされる。
【０１８６】
つまり、ステップＦ５ではメモリカートリッジ３０からプログラム情報および映像素材情報から成るゲームデータが読み出され、メインメモリ１０５に転送される。この映像素材情報には、ゲームキャラタを構成する３次のベジエ曲面やベジエ曲線などを生成するための制御点の座標値が含まれている（図３４参照）。
【０１８７】
このゲームデータがメインメモリ１０５に転送されると、ステップＦ６に移行してベジエ分割装置１０１では操作情報Ｄ３に基づいてメインメモリ１０５から読み出した制御点の座標値に基づいて３次の曲面図形を画像処理するようになされる。たとえば、ベジエ分割装置１０１の浮動小数点の線形補間器により、２３ビット幅の制御点の座標値Ａ，Ｂと、８ビット幅で０≦ｔ≦１の値をとる補間係数ｔとに基づき、これらの制御点間を内分する新たな制御点の座標値に関してＡ×（１−ｔ）＋Ｂ×ｔを順次演算するようになされる。
【０１８８】
そして、ステップＦ７ではＣＰＵ４０からのポリゴン描画命令に基づいて頂点Ｐ０の座標値が座標変換＆クリップコード付加部２４により、スクリーン座標（映像表示）系の座標値に変換されると共に、図３９および図４１で説明したクリップコードが頂点情報Ｃinに付加される。たとえば、フラットシェーディングの場合に、１秒間に最大１５０万程度のポリゴンの座標演算が行われる。
【０１８９】
これに並行してステップＦ８ではＣＰＵ４０からの演算要求に応じてライティング処理部２５により、図３３に示した演算器（外積）１０６から得られる頂点Ｐ０の法線ベクトルｚと、予め設定された光源ベクトルとの内積（ｃosθ）を演算して光色を算出する（光源計算）。
【０１９０】
その後、ステップＦ９に移行してＣＰＵ４０からの描画命令に応じて頂点並換え装置２０１では、座標変換されたｍ個の頂点情報Ｃinを順次１ライン目のメモリ領域に書き込むと共に、次のｍ個の頂点情報Ｃinを２ライン目のメモリ領域に書き込む。
その後、１ライン目で各々隣接する２個づつの頂点情報Ｃinと２ライン目で各々隣接する２個づつの頂点情報Ｃinとにより形成されるｍ−１個の四角形を斜めに分割した２（ｍ−１）個の三角形情報Ｃoutを順次読み出す。
【０１９１】
さらに、頂点並換え装置２０１は、図４０で説明したようなクリップ領域ＣＬから外れる三角形情報Ｃoutを判定する。頂点並換え装置２０１は、三角形の頂点Ｐ０が１つでもクリップ領域ＣＬ内にある場合には、当該三角形情報Ｃoutをレンダリング処理に含め、これら三角形の全ての頂点がクリップ領域ＣＬ外にある場合には、当該三角形情報Ｃoutをレンダリング処理から除外する。
【０１９２】
その後、ステップＦ１０では座標変換後の頂点情報Ｃinがラスタライズ処理部２６により、１ポリゴン毎にラスタライズ処理され、１画素のカラーテクスチャアドレス（Ｕ，Ｖ）が算出される。
そして、ステップＦ１１に移行してメモリコントローラ２７ではラスタライズ処理部２６からフレームメモリ２８へ液晶表示モニタ３６の１画面分の表示データが書き込まれる。たとえば、メモリコントローラ２７は、ＣＰＵ４０からの描画命令に従って、フレームメモリ２８に対して１秒間に最大３６万程度のポリゴンの多角形（ポリゴン）等の描画が行われる。
【０１９３】
ここで、メモリコントローラ２７がポリゴン等の描画を行う際に、テクスチャ領域やカラールックアップテーブルなどが参照され、フラットシェーディング処理、グーローシェーディング処理、テクスチャマッピング処理等を行う。
この映像表示処理による表示データはＬＣＤＣ２９で映像出力信号φｖに変換され、この映像出力信号φｖが液晶表示モニタ３６に出力される。液晶表示モニタ３６ではたとえば、３次のベジエ曲面から成るゲームキャラクタを３次元表示するようになされる。この映像表示処理に伴う音声情報はＣＰＵ４０からの指示に基づいて、ＳＰＵ４４により再生され増幅され、その音声信号がスピーカー３７に出力される。これにより、ユーザは携帯端末装置３００でゲームを楽しむことができる。
【０１９４】
なお、ゲームが終わると、ステップＦ１２に移行してゲームモードを終了するか否かがＣＰＵ４０により判断される。ゲームモードを終了する場合には、電源オフ情報などがＣＰＵ４０により検出されるので、これらの情報処理を終了する。ユーザがゲームモードの繰り返しなどを操作ボタン３９を操作してＣＰＵ４０に指示した場合には、ステップＦ４およびステップＦ５に戻って、上述したステップＦ４〜ステップＦ１１が繰り返される。
これにより、ユーザは携帯端末装置３００で何度もゲームを楽しむことができる。
【０１９５】
このように、本発明に係る実施例としての携帯端末装置３００によれば、第１および第２の画像処理装置１００、２００が応用されるので、ソフトウエアに依存することなく、外部からの操作情報Ｄ３とハードウエアにより処理された三角形情報Ｃoutとに基づいてゲームキャラクタなどのベジエ曲面を高速に情報処理することができる。
【０１９６】
このベジエ曲面を小規模なハードウエアによって処理することができるだけではなく、同時に後段のライティング処理部２５で必要な法線ベクトルも算出することができる。また、クリップ判定を頂点並び換えと同時に簡単に行うことができ、クリップ領域ＣＬに一部でも入る可能性のない三角形情報Ｃoutを除去できる。
【０１９７】
従って、無駄な三角形情報Ｃoutをレンダリング処理しなくても済み、当該携帯端末装置３００の性能を向上させることができる。これにより、今まで、曲面処理が困難であった携帯端末装置３００等でベジエ曲面処理を導入することができる。
【０１９８】
しかも、ベジエ分割装置１０１を構成する線形補間器を小規模な回路構成によって実現できるし、小規模なメモリ構成によって頂点並換え装置２０１を実現できる。従って、高性能かつ低消費電力動作が可能な携帯端末装置３００や、ゲーム機能付きの携帯電話機を提供することができる。
【０１９９】
また、本実施例に係るＲＯＭ４５によれば、ベジエ分割装置１０１や頂点並換え装置２０１を制御手順に基づいてタイミング良く制御できるので、ｎ次の曲面図形を全てハードウエアで処理・描画することが可能となる。ソフトウエアによるオーバーヘッドが無くなるので、非常に高性能な携帯端末装置３００を構成することができる。
【０２００】
この発明は、ベジエ曲線やベジエ曲面などの図形情報を取り扱うＣＡＤおよびＣＡＭシステムを導入したエンタテインメント装置や、携帯用ゲーム機、携帯端末装置および携帯電話機などに適用して極めて好適である。
【図面の簡単な説明】
【０２０１】
【図１】本発明に係る第１の実施形態としての図形情報生成装置の構成例を示すブロック図である。
【図２】頂点の座標値生成時の（ｎ＋１）×（ｎ＋１）個の制御点ｐ０〜ｐｎ（ｎ＋２）の配置例を示す図である。
【図３】図１の補間処理部の構成例を示す図である。
【図４】浮動小数点による座標値のデータフォーマット例を示す図である。
【図５】線形補間器の内部構成例を示すブロック図である。
【図６】Ｕ−Ｖ座標系における４×４個の制御点ｐ０〜ｐ１５の配置例を示す図である。
【図７】３次のベジエ曲面の図形例を示すイメージ図である。
【図８】（Ａ）および（Ｂ）は３次のベジエ曲面図形の頂点の座標値の生成例（その１）を示す遷移図である。
【図９】（Ａ）および（Ｂ）は３次のベジエ曲面図形の頂点の座標値の生成例（その２）を示す遷移図である。
【図１０】（Ａ）〜（Ｃ）は３次のベジエ曲面図形の頂点の座標値の生成例（その３）を示す遷移図である。
【図１１】図形情報生成装置における動作例を示すフローチャートである。
【図１２】（Ａ）〜（Ｃ）は３次のベジエ曲面図形の頂点Ｐ０の法線ベクトルの生成例を示す遷移図である。
【図１３】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、３次曲面の制御点であり、v 方向に補間する場合を示している。線分は補間される頂点の対応を表わし、線分に添えられた値はその係数を示す図である。
【図１４】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、処理により得られた補間点を示し、これらを v 方向に補間する場合の頂点の対応と補間係数を示す図である。
【図１５】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、処理により得られた補間点を示し、これらを u 方向に補間する場合の頂点の対応と補間係数を示図である。
【図１６】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、処理で得られた補間点を示し、これらをu方向に補間する場合の頂点の対応と補間係数を示す図である。
【図１７】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、処理により得られた補間点を示し、これらをu方向に補間する場合の頂点の対応と補間係数を示す図である。
【図１８】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、処理により得られた補間点を示し、係数で補間することで求める曲面上の点が得られることを示す図である。
【図１９】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図であって、補間処理において、補間される２つの点が同値と判断され、かつ補間係数が 0 もしくは 1 の場合に式５に示されるように例外処理が行われることを示す図である。
【図２０】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２１】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２２】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２３】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２４】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２５】本実施形態における例外的処理を含む補間処理の概念を段階的に示す図である。
【図２６】補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルの基本的な処理を概念的に示す図である。
【図２７】補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略ゼロとなる場合を概念的に示す図である。
【図２８】補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略ゼロとなる場合の例外処理の効果を概念的に示す図である。
【図２９】補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略平行となる場合を概念的に示す図である。
【図３０】補間処理におけるＵ方向接線ベクトル、Ｖ方向接線ベクトルが略平行となる場合の例外処理の効果を概念的に示す図である。
【図３１】頂点を境界線上で対称に共有する曲面同士を接続する場合を概念的に示す図である。
【図３２】頂点を境界線上で対称に共有する曲面同士を接続する場合に対応した丸め制御の効果を概念的に示す図である。
【図３３】本発明に係る実施形態としての第１の画像処理装置の構成例を示すブロック図である。
【図３４】メインメモリの記録内容例を示すイメージ図である。
【図３５】本発明に係る第２の実施形態としての図形情報変換装置の構成例を示すブロック図である。
【図３６】ｍ＝８における図形情報変換例を示すイメージ図である。
【図３７】（Ａ）および（Ｂ）は三角形情報Ｃoutおよび四角形情報Ｃout'の出力例を示すイメージ図である。
【図３８】液晶表示モニタなどのクリップ領域例を示す仮想表示空間のイメージ図である。
【図３９】スクリーン座標系ｘｓ，ｙｓにおけるクリップ領域と４ビットのクリップコードの関係例を示す対応図である。
【図４０】クリップコードによる判定結果例を示すイメージ図である。
【図４１】スクリーン座標系ｙｓ，ｚｓにおけるクリップ領域と奥行きコードを含めた６ビットのクリップコードの関係例を示す対応図である。
【図４２】本発明に係る実施形態としての図形情報変換装置における動作例を示すフローチャートである。
【図４３】本発明に係る実施形態としての第２の画像処理装置の構成例を示すブロック図である。
【図４４】１ポリゴン（三角形）の形状データの記録内容例を示すデータフォーマットである。
【図４５】三角形状のポリゴンの構成例を示すイメージ図である。
【図４６】三角形情報Ｃoutのラスタライズ処理例を示すイメージ図である。
【図４７】第２の画像処理装置における処理例を示すフローチャートである。
【図４８】本発明に係る実施例としての携帯端末装置の構成例を示すブロック図である。
【図４９】携帯端末装置における処理例を示すフローチャートである。
【図５０】一般的な３次のベジエ曲線の例（その１）を示す図である。
【図５１】３次のベジエ曲線の例（その２）を示す図である。
【図５２】３次のベジエ曲面の例（その１）を示す図である。
【図５３】３次のベジエ曲面の例（その２）を示す図である。
【符号の説明】
【０２０２】
１０…図形情報生成装置、１１…制御頂点メモリ部、１２…補間係数メモリ部、１３…補間入力選択部、１４…補間係数選択部、１５…補間処理部、１６…補間結果メモリ部、１７…法線算出部、２０…図形情報変換装置、１００…第１の画像処理装置、２００…第２の画像処理装置、３００…携帯端末装置（情報処理装置）
【図１】
2006163532.tif 000008
【図２】
2006163532.tif 000009
【図３】
2006163532.tif 000010
【図４】
2006163532.tif 000011
【図５】
2006163532.tif 000012
【図６】
2006163532.tif 000013
【図７】
2006163532.tif 000014
【図８】
2006163532.tif 000015
【図９】
2006163532.tif 000016
【図１０】
2006163532.tif 000017
【図１１】
2006163532.tif 000018
【図１２】
2006163532.tif 000019
【図１３】
2006163532.tif 000020
【図１４】
2006163532.tif 000021
【図１５】
2006163532.tif 000022
【図１６】
2006163532.tif 000023
【図１７】
2006163532.tif 000024
【図１８】
2006163532.tif 000025
【図１９】
2006163532.tif 000026
【図２０】
2006163532.tif 000027
【図２１】
2006163532.tif 000028
【図２２】
2006163532.tif 000029
【図２３】
2006163532.tif 000030
【図２４】
2006163532.tif 000031
【図２５】
2006163532.tif 000032
【図２６】
2006163532.tif 000033
【図２７】
2006163532.tif 000034
【図２８】
2006163532.tif 000035
【図２９】
2006163532.tif 000036
【図３０】
2006163532.tif 000037
【図３１】
2006163532.tif 000038
【図３２】
2006163532.tif 000039
【図３３】
2006163532.tif 000040
【図３４】
2006163532.tif 000041
【図３５】
2006163532.tif 000042
【図３６】
2006163532.tif 000043
【図３７】
2006163532.tif 000044
【図３８】
2006163532.tif 000045
【図３９】
2006163532.tif 000046
【図４０】
2006163532.tif 000047
【図４１】
2006163532.tif 000048
【図４２】
2006163532.tif 000049
【図４３】
2006163532.tif 000050
【図４４】
2006163532.tif 000051
【図４５】
2006163532.tif 000052
【図４６】
2006163532.tif 000053
【図４７】
2006163532.tif 000054
【図４８】
2006163532.tif 000055
【図４９】
2006163532.tif 000056
【図５０】
2006163532.tif 000057
【図５１】
2006163532.tif 000058
【図５２】
2006163532.tif 000059
【図５３】
2006163532.tif 000060