(57)【特許請求の範囲】
【請求項１】
動きのある物体画像の基本姿態を表す基本画像を生成するとともに、その基本画像の所定部位に、前記基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットを配置することにより当該物体画像の動きを表現する画像処理手段と、
前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段と、
この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段と、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たす場合は、当該２つのユニットの各々の形状を表す点の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は、当該２つのユニットを分離させるユニット制御手段とを備えており、
前記ユニット制御手段は、前記同一の座標を、
前記２つのユニットが直前の画像で接続されておらず、当該２つのユニットの少なくとも一つの形状を表す点が接しているときにはこの点の座標とし、当該２つのユニットが重なっているとき、又は離れているときには、近接する二つの形状を表す点の中点の座標とし、
前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標とし、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標とする、ように構成されている、
画像処理システム。
【請求項２】
動きのある物体画像の基本姿態を表す基本画像を生成するとともに、その基本画像の所定部位に、前記基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットを配置することにより当該物体画像の動きを表現する画像処理手段と、
前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段と、
この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段と、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が分離を判定する条件を満たす場合は、当該２つのユニットを分離させるユニット制御手段とを備えており、
前記ユニット制御手段は、前記２つのユニットが直前の画像で接続されているか否かによって、異なる前記接続を判定する条件及び／又は前記分離を判定する条件を用いるように構成されている、
画像処理システム。
【請求項３】
前記ユニット制御手段は、前記基本画像の前記所定部位と、この所定部位に接続又は分離可能な前記ユニットとの間の距離と相対速度との少なくとも一方に基づいて、前記所定部位と当該ユニットとを接続又は分離するように構成されている、
請求項１または２記載の画像処理システム。
【請求項４】
前記基本画像が、前記ユニットの集合から成る、
請求項１〜３のいずれかの項記載の画像処理システム。
【請求項５】
動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させる装置が、所定のコンピュータプログラムを読み込むことにより、
前記装置において、
前記物体画像が動いたときの各ユニットの特定点の座標と速度との少なくとも一方、及び各ユニットの形状を表す点の座標を生成する処理、
生成された前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが少なくとも一つの形状を表す点で接しているときには、この点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが重なっているとき、又は離れているときには、当該２つのユニットで最も近接する二つの形状を表す点の中点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は当該２つのユニットを分離させる処理、
前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理、を実行することを特徴とする、
画像処理方法。
【請求項６】
動きのある物体画像の基本姿態を表す基本画像と、この基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させる装置が、所定のコンピュータプログラムを読み込むことにより、
前記装置において、
前記物体画像が動いたときの各ユニットの特定点の座標と速度との少なくとも一方、及び各ユニットの形状を表す点の座標を生成する処理、
生成された前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、分離を判定する条件を満たす場合は当該２つのユニットを分離させる処理、
前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理、を実行することを特徴とする、
画像処理方法。
【請求項７】
動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに搭載され、
前記コンピュータが有する他の構成部品と協働で、
該コンピュータ内に、
前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段、
この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たす場合は、当該２つのユニットの各々の形状を表す点の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は、当該２つのユニットを分離させるユニット制御手段、を構築させ、
前記ユニット制御手段が、前記同一の座標を、
前記２つのユニットが直前の画像で接続されておらず、当該２つのユニットの少なくとも一つの形状を表す点が接しているときにはこの点の座標とし、当該２つのユニットが重なっているとき、又は離れているときには、近接する二つの形状を表す点の中点の座標とし、
前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標とし、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標とする、ように構成される、
半導体デバイス。
【請求項８】
動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに搭載され、
前記コンピュータが有する他の構成部品と協働で、
該コンピュータ内に、
前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点を演算する演算手段と、
この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が分離を判定する条件を満たす場合は、当該２つのユニットを分離させるユニット制御手段、を構築させ、
前記ユニット制御手段が、前記２つのユニットが直前の画像で接続されているか否かによって、異なる前記接続を判定する条件及び／又は前記分離を判定する条件を用いるように構成される、
半導体デバイス。
【請求項９】
動きのある物体画像についての基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに、
前記物体画像が動いたときの各ユニットの特定点の座標と速度との少なくとも一方、及び形状を表す点の座標を導出する処理、
導出した前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが少なくとも一つの形状を表す点で接しているときには、この点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが重なっているとき、又は離れているときには、当該２つのユニットで最も近接する二つの形状を表す点の中点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標を同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は当該２つのユニットを分離させる処理、
前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理、
を実行させるためのコンピュータプログラム。
【請求項１０】
動きのある物体画像についての基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに、
前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び形状を表す点の座標を導出する処理、
導出した前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
前記記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させる処理、
導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、分離を判定する条件を満たす場合は当該２つのユニットを分離させる処理、
前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理、
を実行させるためのコンピュータプログラム。
【請求項１１】
請求項９または１０に記載されたコンピュータプログラムが記録されている、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ・グラフィクス（以下、「ＣＧ」という。）による画像処理技術に関し、特に、時系列に変化する物体画像の動きをできるだけ現実の物体の動きに似せて表現するための画像処理技術に関する。
【０００２】
【発明の背景】
ＣＧによる物体画像の動き（状態変化、形状変化、移動）は、その物体画像の形状を特定するための複数の点についての運動方程式を解くことにより表現される。このとき、ある点と他の点とが相互にどのように作用し合うかは、該当する点同士の接続関係により一意に決まる。
例えば、画像によって表現しようとする物体が剛体の場合は、物体画像の形状を表す複数の点のそれぞれの点間の距離及び位置関係が容易には変化しないという接続関係がある。他方、画像によって表現しようとする物体が弾性体の場合は、物体画像の形状を表す複数の点のそれぞれの点間が弾性部材、例えばバネで接続されたモデルとして表され、そのモデルが、バネによる各点の運動方程式を満たす範囲で動作するという接続関係がある。
このような接続関係を保ちつつ各点の運動を扱うことにより、ＣＧにより表現される物体画像の動きを、ある程度現実の物体の動きに近づけることができる。
【０００３】
しかしながら、例えば海面上の波の画像を表現しようとする場合、波の波頭が砕けて風で飛沫が飛ばされたり、あるいは、滴が水面に落ちて海面と一体になったりする様子を表現する場合がある。この場合、波の画像からそれを構成する滴の小片画像（以下、小片画像を「ユニット」とする）を分離させたり、滴のユニットを海面の画像に接続させたりして、海面とユニットとの間の接続関係を変化させる必要がある。これを、従来の剛体や弾性体のように、物体画像の形状を表す点についての接続関係を保ちつつシミュレートすることは非常に困難であった。
また、従来の手法では、ユニットの分離、接続が繰り返される場合は、常に物体画像の同じ部分のユニットが分離、接続することになるが、現実の物体では、常に同じ部分で分離、接続が起こるとは限らない。そのため、現実の運動をシミュレートすることは難しい。
【０００４】
本発明は、表現しようとする物体画像の動きを、より現実の形態に近づけるための画像処理技術を提供することを主たる課題とする。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明は、画像処理システム、画像処理方法、コンピュータプログラム、記録媒体、半導体デバイスを提供する。
【０００６】
本発明の画像処理システムは、動きのある物体画像の基本姿態を表す基本画像を生成するとともに、その基本画像の所定部位に、前記基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットを配置することにより当該物体画像の動きを表現する画像処理手段と、前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段と、この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段と、この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たす場合は、当該２つのユニットの各々の形状を表す点の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は、当該２つのユニットを分離させるユニット制御手段とを備えており、前記ユニット制御手段は、前記同一の座標を、前記２つのユニットが直前の画像で接続されておらず、当該２つのユニットの少なくとも一つの形状を表す点が接しているときにはこの点の座標とし、当該２つのユニットが重なっているとき、又は離れているときには、近接する二つの形状を表す点の中点の座標とし、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標とし、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標とする、ように構成されている。
【０００７】
本発明の他の画像処理システムは、動きのある物体画像の基本姿態を表す基本画像を生成するとともに、その基本画像の所定部位に、前記基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットを配置することにより当該物体画像の動きを表現する画像処理手段と、前記物体画像が動くときに各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段と、
この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段と、この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が分離を判定する条件を満たす場合は、当該２つのユニットを分離させるユニット制御手段とを備えて成る。
前記ユニット制御手段は、前記２つのユニットが直前の画像で接続されているか否かによって、異なる前記接続を判定する条件及び／又は前記分離を判定する条件を用いるように構成されている。
【０００９】
前記ユニット制御手段は、前記基本画像の前記所定部位と、この所定部位に接続又は分離可能な前記ユニットとの間の距離と相対速度との少なくとも一方に基づいて、前記所定部位と当該ユニットとを接続又は分離するように構成してもよい。また、前記基本画像が前記ユニットの集合から成っていてもよい。
【００１０】
本発明の画像処理方法は、動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させる装置が、所定のコンピュータプログラムを読み込むことにより、以下の処理を実行することを特徴とする。
（ａ）前記物体画像が動いたときの各ユニットの特定点の座標と速度との少なくとも一方、及び各ユニットの形状を表す点の座標を生成する処理、
（ｂ）生成された前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
（ｃ）この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
（ｄ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが少なくとも一つの形状を表す点で接しているときには、この点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｅ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが重なっているとき、又は離れているときには、当該２つのユニットで最も近接する二つの形状を表す点の中点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｆ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｇ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｈ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は当該２つのユニットを分離させる処理、
（ｉ）前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理。
【００１１】
本発明の他の画像処理方法は、動きのある物体画像の基本姿態を表す基本画像と、この基本画像と接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示する装置が、所定のコンピュータプログラムを読み込むことにより、以下の処理を実行することを特徴とする。
（ａ）前記物体画像が動いたときの各ユニットの特定点の座標と速度との少なくとも一方、及び各ユニットの形状を表す点の座標を生成する処理、
（ｂ）生成された前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
（ｃ）この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
（ｄ）  導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させる処理、
（ｅ）導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、分離を判定する条件を満たす場合は当該２つのユニットを分離させる処理、
（ｆ）前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理。
【００１３】
本発明の半導体デバイスは、動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに搭載されるデバイスであって、前記コンピュータが有する他の構成部品と協働で、該コンピュータ内に、前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点の座標を演算する演算手段、この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段、この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たす場合は、当該２つのユニットの各々の形状を表す点の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は、当該２つのユニットを分離させるユニット制御手段、を構築させ、前記ユニット制御手段が、前記同一の座標を、前記２つのユニットが直前の画像で接続されておらず、当該２つのユニットの少なくとも一つの形状を表す点が接しているときにはこの点の座標とし、当該２つのユニットが重なっているとき、又は離れているときには、近接する二つの形状を表す点の中点の座標とし、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標とし、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標とする、ように構築するものである。
【００１４】
本発明の他の半導体デバイスは、動きのある物体画像の基本姿態を表す基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに搭載されるデバイスであって、前記コンピュータが有する他の構成部品と協働で、該コンピュータ内に、前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び各ユニットの形状を表す点を演算する演算手段、この演算手段により演算された前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を記録する記録手段、この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から、２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出し、導出した前記特定点間距離及び／又は前記相対速度が接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させ、導出した前記特定点間距離及び／又は前記相対速度が分離を判定する条件を満たす場合は、当該２つのユニットを分離させるユニット制御手段、を構築させ、前記ユニット制御手段が、前記２つのユニットが直前の画像で接続されているか否かによって、異なる前記接続を判定する条件及び／又は前記分離を判定する条件を用いるように構築するものである。
【００１６】
本発明のコンピュータプログラムは、例えばコンピュータ読み取り可能な記録媒体に記録されたものであって、動きのある物体画像についての基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに、以下の処理を実行させるものである。
（ａ）前記物体画像が動くときの各ユニットの特定点の座標と速度との少なくとも一方、及び形状を表す点の座標を導出する処理、
（ｂ）導出した前記特定点の座標と速度との少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
（ｃ）この記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
（ｄ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが少なくとも一つの形状を表す点で接しているときには、この点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｅ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、当該２つのユニットが直前の画像で接続されておらず、当該２つのユニットが重なっているとき、又は離れているときには、当該２つのユニットで最も近接する二つの形状を表す点の中点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｆ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、一方のユニットの形状のみを変形するときは他方のユニットの形状を表す点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｇ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを接続させるための基準を満たしており、前記２つのユニットが直前の画像で接続されており、両方のユニットの形状を変形するときは当該２つのユニット間の所定の点の座標を同一の座標にして当該２つのユニットを接続させる処理、
（ｈ）導出した前記特定点間距離及び／又は前記相対速度が２つのユニットを分離させるための基準を満たす場合は当該２つのユニットを分離させる処理、
（ｉ）前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理。
【００１７】
本発明の他のコンピュータプログラムは、例えばコンピュータ読み取り可能な記録媒体に記録されたものであって、動きのある物体画像についての基本画像と、この基本画像の所定の部位に接続又は分離可能で、且つ変形可能な画像構成要素である複数のユニットとを所定のディスプレイに表示させるコンピュータに、以下の処理を実行させるものである。
（ａ）前記物体画像が動いたときの各ユニットの特定点の座標と速度の少なくとも一方、及び形状を表す点の座標を導出する処理、
（ｂ）導出した前記特定点の座標と速度の少なくとも一方、及び前記形状を表す点の座標を所定の記録手段に記録する処理、
（ｃ）前記記録手段に記録されている各ユニットの前記特定点の座標と速度の少なくとも一方から２つのユニットの特定点間距離及び相対速度の少なくとも一方を導出する処理、
（ｄ）導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、接続を判定する条件を満たす場合は、当該２つのユニットの各々の形状を表す点の座標の少なくとも一つを同一の座標にして当該２つのユニットを接続させる処理、
（ｅ）導出した前記特定点間距離及び／又は前記相対速度が、当該２つのユニットが直前の画像で接続されているか否かにより異なる、分離を判定する条件を満たす場合は当該２つのユニットを分離させる処理、
（ｆ）前記基本画像を生成するとともに生成した基本画像の所定部位に前記所定の記録手段に記録された各ユニットの形状を表す点の座標に基づいて各ユニットを配置する処理。
【００１９】
【発明の実施の形態】
以下に、本発明を、一つの物体画像の少なくとも一部を複数のユニットの集合として表現し、各ユニットの配置状態と所定の条件との比較により、ユニットを接続させたり、分離させたりすることにより、物体が部分的に接続されていく状態や一つの物体が複数に分離されていく状態を表す物体画像を生成する処理を行う画像処理システムに適用した場合の実施形態を説明する。
このような画像処理システムは、ディスプレイ、入力装置、ハードディスク、ディスクドライブを備えた汎用のコンピュータなどの情報処理装置と、この情報処理装置が有する半導体デバイスの一例であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）が読み取ることができるコンピュータプログラムとの協働によって実現される。コンピュータプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されて流通し、システム構築時にディスクドライブを通じてハードディスクにインストールされるものであってもよく、ネットワークを通じて直接ハードディスクにダウンロードされたものであってもよい。
図１は、画像処理システム１が有する機能ブロック、すなわち、コンピュータプログラムが実行されるときに情報処理装置内に形成される機能ブロックの構成例を示した図である。
【００２０】
画像処理システム１は、演算機能を有するジオメトリ処理部１０、ユニットに関わる制御を行うユニット制御部２０、ユニット管理テーブル３０、画像処理機能を有するレンダリング処理部４０、及びディスプレイやハードディスク、ディスク等との入出力制御を行う入出力制御部５０の機能ブロックを有している。
【００２１】
ジオメトリ処理部１０は、すべての物体画像について、位置や形状を特定するための座標の移動や変換、透視変換等の各種演算処理を行う。このような演算処理をジオメトリ処理という。ジオメトリ処理の実行により、物体画像の形状やその挙動が決まる。物体画像が、ユニットを少なくとも一部に含んで構成される場合には、そのユニットの、各部位の座標、作用する力、速度、マッピングされるテクスチャの座標（テクスチャ座標）、色など、ユニットに関する情報も導出される。
【００２２】
ユニット制御部２０は、個々のユニットの位置及び挙動を、ジオメトリ処理部１０により導出された、各ユニットの特定点、例えば中心点に作用する力の大きさ及び向き等に応じて制御する。例えば、各ユニットの中心点の座標及び速度から、２つのユニットの中心点間の距離及び相対速度を導出し、導出した中心点間距離及び相対速度が所定の基準を満たすかどうかを判定する。この基準には、接続基準と分離基準とがある。２つのユニットの中心点間距離及び相対速度が接続基準を満たす場合は、その２つのユニットを接続させ、その２つのユニットの頂点の座標の少なくとも一つを同一となるように変更する。２つのユニット間で座標が同一とされた頂点を、共有点という。一方、２つのユニットの中心点間距離又は相対速度が分離基準を満たす場合は、当該２つのユニットを分離させる。２つのユニットが互いに接続されていた場合には、頂点の共有が解除される。
【００２３】
ユニット管理テーブル３０はハードディスク等のメモリに形成されるテーブルである。ユニット管理テーブル３０には、ジオメトリ処理部１０によるジオメトリ処理の結果導出されたユニットに関する各種情報が記録され、また、ユニット制御部２０により、ユニットの位置に関する情報が記録されるようになっている。
これらの情報は、例えば、ディスプレイ上の画像の更新に伴って更新されるようになっている。
【００２４】
図２は、ユニット管理テーブル３０の内容例を示す図である。
この実施形態では、画像形成に用いるすべてのユニットについて、ユニットを識別するためのユニット番号毎に、中心点及び頂点の座標、中心点の速度、当該ユニットに作用する力、当該ユニットに描画されるテクスチャの座標（テクスチャ座標）、ユニットの色等のユニットに関する情報が記録されるようにする。
ユニット制御部２０により接続されたユニットについては、当該ユニットに接続されるユニットのユニット番号及び接続されるユニットとの共有点の座標が記録されるようにする。接続されるユニットのユニット番号は、接続状況の項目に記録される。共有点の座標は、例えば、共有点となった頂点の座標を変更することで記録される。
【００２５】
レンダリング処理部４０は、物体画像の基本姿態を表す基本画像と、その基本画像の所定部位に配置され、相互に接続又は分離される複数のユニットの画像とを、図示しないフレームメモリに描画する。なお、基本画像の一部又は全部をユニットを用いて生成する場合もある。
各ユニットは、ユニット管理テーブル３０に書き込まれている情報に従って描画される。即ち、ユニット管理テーブル３０に記録された頂点座標に従って該当するユニットが配置され、あるいは動かされる。そして、それぞれテクスチャ座標に従ってテクスチャが描画され、指示された色で表現される。
レンダリング処理部４０は、ユニットを含まない物体画像については、これらの画像に関するジオメトリ処理の結果のみに基づいて画像を描画する。
これらの画像は、フレームメモリから随時読み出され、入出力制御部５０を通じてディスプレイに出力される。これにより、動きのある物体画像がディスプレイに表示される。
【００２６】
＜ユニット制御＞
ユニット制御部２０によるユニット制御の処理内容、具体的には、相対的に移動する複数のユニットの接続あるいは分離のための処理内容について詳しく説明する。
あるユニットを他のユニットと接続するかどうか、あるいは接続されているユニット同士を分離するかどうかを判定する条件としては、例えばユニット間の距離、ユニット間の相対速度、及びこれらの組合せを用いることができる。ユニット間の距離を条件として用いる場合は、２つのユニットの距離が所定の距離（以下、「距離定数」という。）未満のときに、両ユニットを接続させ、距離定数以上離れたときに両ユニットを分離させる。ユニット間の相対速度を条件として用いる場合は、２つのユニットの相対速度の大きさが所定の速度（以下、「速度定数」という。）未満のときには両ユニットを接続させ、所定の速度以上になったときに両ユニットを分離させる。距離と相対速度の両方を条件として用いる場合は、２つのユニットが距離定数よりも近づき、且つ両ユニット間の相対速度の大きさが速度定数未満になっているときに両ユニットを接続させ、少なくともこの条件のいずれかが満たされない場合に両ユニットを分離させる。
なお、接続、分離の判定の対象となる２つのユニットが、直前の画像で接続されているか否かによって、距離定数、速度定数などの接続、分離を判定する条件を変えるようにしてもよい。
【００２７】
ここで、本実施形態で扱うユニット間の距離、ユニット間の相対速度の概念を、図３により説明する。
図３に示したユニットは、物体画像を構成する最小単位であり、一方向から見た形状が六角形の３次元図形である。但し、ユニットの形状をこのような形状に限定する趣旨ではない。他の形状の３次元図形でもよく、また、四角形などの２次元図形であってもよい。
【００２８】
ユニット間の距離は、例えば各々の中心点間の距離で表すことができる。図３（ａ）に示される例では、各中心点の座標を（Ｘａ、Ｙａ、Ｚａ）、（Ｘｂ、Ｙｂ、Ｚｂ）とすると、ユニット間の距離Ｄは、以下の式で表すことができる。なお、ユニット間の距離には、この他に、最も近接する頂点間の距離などを用いることができる。
【数１】
Ｄ＝ＳＱＲＴ（（Ｘａ−Ｘｂ）＾２＋（Ｙａ−Ｙｂ）＾２＋（Ｚａ−Ｚｂ）＾２）
ＳＱＲＴ：平方根  ＾２：２乗
【００２９】
ユニット間の相対速度は、例えば各々の中心点が移動するときの相対速度で表すことができる。図３（ｂ）に示される例では、各中心点の速度を（Ｖｘａ、Ｖｙａ、Ｖｚａ）、（Ｖｘｂ、Ｖｙｂ、Ｖｚｂ）とすると、ユニット間の相対速度Ｒｖは、以下の式で表すことができる。なお、ユニット間の相対速度は、この他に、最も近接する頂点間の相対速度などを用いることができる。
【数２】
Ｒｖ＝（Ｖｘａ−Ｖｘｂ、Ｖｙａ−Ｖｙｂ、Ｖｚａ−Ｖｚｂ）
この相対速度Ｒｖの大きさ｜Ｒｖ｜は、以下の式で表される。
【数３】
｜Ｒｖ｜＝ＳＱＲＴ（（Ｖｘａ−Ｖｘｂ）＾２＋（Ｖｙａ−Ｖｙｂ）＾２＋（Ｖｚａ−Ｖｚｂ）＾２）
ＳＱＲＴ：平方根  ＾２：２乗
【００３０】
以上のようなユニット間の距離Ｄ、ユニット間の相対速度の大きさ｜Ｒｖ｜が距離定数、速度定数以下になり、ユニット同士が接続されると、両ユニットの頂点が、図４に示すように１又は２個共有される。図４（ａ）は共有点が１個の場合、図４（ｂ）は共有点が２個の場合の、ユニットの接続状態を示した図である。共有点の数は、ユニットが接する場所によって決まる。
図４（ｃ）は２つのユニットが重なった場合のユニットの接続状態を示す。この場合は２つのユニットの頂点の中点が共有点となっている。破線で表される本来のユニットの形状が、共有点に合わせて実線で表される形状に変形する。
図４（ｄ）は２つのユニットが離れているが接続されていると判定された場合のユニットの接続状態を示す。この場合は２つのユニットの頂点の中点が共有点となっている。図４（ｃ）と同様に、破線で表される本来のユニットの形状が、共有点に合わせて実線で表される形状に変形する。
なお、図４（ｃ）、図４（ｄ）では、共有点を２個にしているが、１個の場合も同様に頂点の中点を共有点とすることができる。
【００３１】
各ユニットは、それぞれ単独で存在している状態では、他のいずれのユニットにも影響されずに独自の挙動を行い、一方、他のユニットと接続された状態では、互いのユニットの挙動が相手側のユニットに影響を与える。
図５は、接続状態にあるユニットの一方が移動して、他方がこれに追随する様子を示した図であり、バネのモデルを複数のユニットで表現する場合の例を示している。
図５（ａ）のように、共有点が１個で接続された２つのユニットＡ、Ｂのうち、ユニットＡのみに外力Ｆが加わると、ユニットＡは、図５（ｂ）に示すように移動し、それに伴ってユニットＢが変形する。ユニットの各頂点間はバネのモデルによって表現されるので、ユニットＢは、この後、バネのモデルの運動に従って共有点に向かって減衰運動をしながら移動し、最終的に図５（ｃ）に示すような接続状態になる。
また、図５（ｂ）に代わって、図５（ｄ）に示すように、ユニットＡの移動に伴ってユニットＡ、ユニットＢ共に変形するようにしてもよい。この後、バネのモデルの運動に従って減衰運動をしながら移動して、図５（ｃ）に示すような接続状態になる。
図５では、ユニットＡ、Ｂが互いに離れるように外力Ｆが働く例について説明したが、外力ＦがユニットＡ、Ｂが近づく向きに働く場合にも、ユニットＡ、Ｂは、減衰運動をしながら外力Ｆに従って移動する。
【００３２】
このようなユニットの接続又は分離は、所定の周期、例えばフレーム画像を生成するたびに行われる。例えば、ユニットを含んで構成される物体画像についてジオメトリ処理が行われる際に、物体画像の位置、速度と共にユニットの位置、速度等も決定される。決定されたユニットの位置、速度等から、ユニットの接続、分離を判定してユニットの動作を決めることにより、物体画像からユニットが分離したり、逆にユニットが接続される画像を得ることができる。
【００３３】
＜画像処理の手順＞
次に、上記のような構成の画像処理システム１により行われる画像処理の手順を図６を参照して説明する。この処理は、ディスプレイに表示されるフレーム画像を生成するたびに行われる。
【００３４】
ユニット管理テーブル３０には、ジオメトリ処理部１０によるジオメトリ処理の結果としての、使用する全ユニットの中心点及び頂点の座標、中心点の速度、ユニットに作用する力等の情報の他に、直前のフレーム画像における各ユニットの接続状況に関する情報が書き込まれているものとする。
ユニット制御部２０は、ジオメトリ処理の結果が書き込まれたユニット管理テーブル３０から、接続、分離の判定の対象となる２つのユニットに関する情報を読み出して、当該２つのユニットにおけるユニット間の距離Ｄと、ユニットの相対速度の大きさ｜Ｒｖ｜とを例えば演算によって導出する（ステップＳ１０１）。
次いでユニット制御部２０は、当該２つのユニットが直前のフレーム画像で互いに接続されているか否かを判定する（ステップＳ１０２）。これは、例えば、ユニット管理テーブル３０に書き込まれた各ユニットの接続状況から判定できる。直前のフレーム画像で互いに接続されていない場合は、距離定数及び速度定数として、接続されていないとき用の距離定数Ｄ１、速度定数Ｒｖ１を設定する（ステップＳ１０２：ＮＯ、ステップＳ１０３）。直前のフレーム画像で互いに接続されている場合は、上記の距離定数及び速度定数として、接続されているとき用の距離定数Ｄ２、速度定数Ｒｖ２を設定する（ステップＳ１０２：ＹＥＳ、ステップＳ１０７）。
【００３５】
ユニット制御部２０は、距離定数及び速度定数として、接続されていないとき用の距離定数Ｄ１、速度定数Ｒｖ１を設定した場合（ステップＳ１０３）には、以下のような処理を行う。
まず、ステップＳ１０１で導出された距離Ｄ及び相対速度の大きさ｜Ｒｖ｜により、当該２つのユニットを接続させるか否かを判定する（ステップＳ１０４）。具体的には、導出した距離Ｄを距離定数Ｄ１と比較してその大小を判定する。また、導出した相対速度の大きさ｜Ｒｖ｜を速度定数Ｒｖ１と比較してその大小を判定する。これらの比較結果により、当該２つのユニットをこのフレームで接続させるか否かを判定する。
例えば、距離Ｄが距離定数Ｄ１より小さく、相対速度の大きさ｜Ｒｖ｜が速度定数Ｒｖ１より小さい場合に、当該２つのユニットを接続させると判定する（ステップＳ１０４：ＹＥＳ）。どちらか１つでも条件を満たさない場合には、当該２つのユニットを接続させないと判定する（ステップＳ１０４：Ｎｏ）。
２つのユニットを接続させると判定した場合は、当該２つのユニットの接続を行う（ステップＳ１０５）。接続の動作については後述する。
２つのユニットを接続させないと判定した場合は、ユニットを分離させたままにしてステップＳ１１１に移行する（ステップＳ１０６）。
【００３６】
ユニット制御部２０は、距離定数及び速度定数として、接続されているとき用の距離定数Ｄ２、速度定数Ｒｖ２を設定した場合（ステップＳ１０７）には、以下のような処理を行う。
まず、ステップＳ１０１で導出された距離Ｄ及び相対速度の大きさ｜Ｒｖ｜により、当該２つのユニットを分離させるか否かを判定する（ステップＳ１０８）。具体的には、導出した距離Ｄを距離定数Ｄ２と比較してその大小を判定する。また、導出した相対速度の大きさ｜Ｒｖ｜を速度定数Ｒｖ２と比較してその大小を判定する。これらの比較結果により、当該２つのユニットをこのフレームで分離させるか否かを判定する。
例えば、距離Ｄが距離定数Ｄ２より大きい場合、又は、相対速度の大きさ｜Ｒｖ｜が速度定数Ｒｖ２より大きい場合に、当該２つのユニットを分離させると判定する（ステップＳ１０８：ＹＥＳ）。どちらの条件も満たさない場合には、当該２つのユニットを分離させないと判定する（ステップＳ１０８：Ｎｏ）。
２つのユニットを分離させると判定した場合は、当該２つのユニットの分離を行う（ステップＳ１０９）。具体的には、ユニット管理テーブル３０に記録される接続状況の項目から、該当するユニット番号を削除する。
２つのユニットを分離させないと判定した場合は、ユニットを接続のままにしてステップＳ１１１に移行する（ステップＳ１１０）。この場合、ステップＳ１０５と同様の接続の動作が行われる。
【００３７】
ユニットの接続又は分離が終了すると、他のすべてのユニットの組み合わせについても接続、分離の処理を行ったか否かを確認して、すべてのユニットの組み合わせについて接続、分離の処理を行う。処理がすべて完了していればこのフレーム画像での処理を終了し（ステップＳ１１１：ＹＥＳ）、まだ完了していなければ次のユニットの組み合わせに対して同様の処理を行う（ステップＳ１１１：ＮＯ）。
【００３８】
ユニット制御部２０によるユニットの接続、分離に関する処理が終了すると、レンダリング処理部４０が、ユニット管理テーブル３０に書き込まれた情報に基づいて、各ユニットの描画を、所定のフレームバッファに対して行う。これにより、１フレーム分の画像の生成が終了する。１フレーム分の画像を連続して生成することにより、ユニットが接続、分離される動画が得られる。ユニットの接続、分離によってジオメトリ処理で得られた物体画像の動作にユニットの動作が加わるので、より実際の物体に近い動作を表現できるようになる。
【００３９】
次に、ステップＳ１０５、ステップＳ１１０で行われるユニットの接続処理について詳述する。
図７は、ユニット接続時に共有点を決める処理手順を示す図である。ユニット制御部２０は、２つのユニットを接続させると判定すると、以下のようにしてユニット接続の処理を行う。
まず、接続しようとする２つのユニットのすべての頂点の座標をユニット管理テーブル３０から読み出し、すべての頂点間の距離を演算等によって導出する（ステップＳ２０１）。次いで、導出した頂点間の距離から、最も近くに位置する頂点の組を２つ選択する（ステップＳ２０２）。そして、選択した頂点の組が、それぞれのユニットで隣り合う頂点であるか否かを判定する（ステップＳ２０３）。
隣り合う頂点である場合は、選択した２つの頂点の組の両方を共有点とする（ステップＳ２０３：ＹＥＳ、ステップＳ２０４）。隣り合う頂点でない場合には、最も近くに位置する頂点のみを共有点とする（ステップＳ２０３：ＮＯ、ステップＳ２０５）。
【００４０】
共有点は、接続される２つのユニットが前のフレームでも接続されていたか否かによって、決め方が異なる。
前のフレームで接続されていない場合、共有点は、共有点となる頂点同士の関係から決められる。つまり、図４に示すように、共有点となる頂点同士が接しているときはその接点を（図４（ａ）、図４（ｂ））、ユニット同士が重なっているとき、又は離れているときは、近接する頂点の中点を（図４（ｃ）、図４（ｄ））共有点とする。
前のフレームでも接続されている場合、共有点は、一方のユニットの形状を固定し、他方のユニットの形状を変形して、一方のユニットの頂点を共有するようにする。つまり、図５（ｂ）に示すように、ユニットＡの形状を固定しておき、ユニットＢのみを変形して、ユニットＡの頂点とユニットＢの頂点が共有になるようにする。あるいは、図５（ｄ）に示すように、両方のユニットの形状を変形して、ユニット間にある所定の点を共有するようにしてもよい。
共有点を決定すると、共有点の座標値と互いに接続されているユニットのユニット番号とを、ユニット管理テーブル３０に書き込む（ステップＳ２０６）。
【００４１】
ユニットの接続の仕方、特に共有点をどのようにして決めるかによって、物体画像について様々な表現が可能となる。
前のフレームでユニットが接続されていなかった場合、ユニット同士が吸着するような表現の画像を提供できる。例えば、水面にユニットが置かれ、このユニットに水面上から水滴を表す他のユニットが落下する場合に、表面張力で落下してきた水滴を捉えるような表現の画像を提供できる。
前のフレームでユニットが接続されている場合、ユニット同士が粘りをもちながら分離するような表現の画像を提供できる。例えば、水面に接続された二つのユニットがあり、一方のユニットが外力により他方のユニットから分離する場合、その過程で、他方のユニットの形状が一方のユニットの動作により変形するような画像が得られる。これにより、水滴が垂れる様子を、現実に近い画像により表現することができる。
このように、接続関係が変化する液体などの物体についての物体画像を、従来よりも現実に近く表現することが可能となる。
【００４２】
【実施例】
次に、本発明の画像処理システム１による画像処理の実施例を説明する。
ここでは、海面のように、波打っている水面から発生する飛沫や泡を表現する場合の例を挙げる。水面上の波については、従来も現実に近い表現をすることは可能であったが、波頭が砕けて飛沫が上がるような、より現実感のある表現は困難であった。本発明の画像処理によれば、水面上に複数のユニットを置き、これらのユニットのテクスチャや色を種々制御するとともに、水面に働く力に応じて各ユニットを水面から離したり、あるいは接続したりすることにより、水面上の波の動きを、簡単な手法で、より現実に近い表現ができるようになる。そのための画像処理方法を以下に、具体的に説明する。
【００４３】
水面上の波の動きは、大きく分けて３つの状況によって変化する。
水深が波高に比較して十分に深い場合（図８（ａ））、水深が波高と略同じ場合（図８（ｂ））、水深が浅く波高が略０になった場合（図８（ｃ））、の３つである。
各状況による個々のユニットの状態を図９に示す。各ユニットについての状態は、ユニット管理テーブル３０に反映されている。
【００４４】
水深が波高に比較して十分に深い場合、波の動きを、トロコイド曲線で近似できることは、ＣＧの分野ではよく知られている。そこで、本実施例でも、トロコイド曲線により動きを近似した水面の座標を導出し、そのような動きをする水面を表す画像を形成する。なお、波の動きについては、水面の各点についての運動方程式から決めるようにしてもよい。
各ユニットは水滴を表すものとし、その水滴に働く重力、水面からの作用によって働く表面張力、浮力、などの外力を演算により導出する。
各ユニットは、導出された重力、表面張力、浮力などの外力により水面に拘束されており、水面上に浮遊するように表示される。また、ユニットの色を透明にして、水面に不自然な盛り上がりができないようにする。個々のユニットは、水面に拘束されているために、その動く速度は、当該ユニットが拘束される水面上の点と同じになる。各ユニットは水面上で同じような動きをしているので、ユニット間、及びユニットと水面との間の相対速度は小さくなる。したがって、ユニット間の接続が容易に行われるようになる。
【００４５】
以上のような画像を提供するために、画像処理システム１は、以下のような処理を行う。
水面（波）の形及びその動きは、ジオメトリ処理部１０によって、トロコイド曲線の近似式あるいは運動方程式の演算により決める。これにより、水面上の個々のユニットの動きも必然的に決まる。ジオメトリ処理部１０は、演算処理の結果である各ユニットの中心点及び頂点の座標、中心点の速度及びテクスチャと色の情報をユニット管理テーブル３０に随時書き込む。
ジオメトリ処理が終了すると、ユニット制御部２０は、ユニット管理テーブル３０からユニットに関する情報、例えば座標から特定される位置、速度を読み出し、ユニット間の距離及び相対速度の大きさを求め、各ユニットを接続させるか否かを上述した要領で判定する。ユニット同士を接続させる場合は共有点の座標を導出し、導出した共有点の座標をユニット管理テーブル３０に随時書き込む。このような処理をすべてのユニットの組み合わせについて行う。上記処理が終了すると、レンダリング処理部４０が、ユニット管理テーブル３０に書き込まれたユニットに関する各種情報に基づいて、当該ユニットの描画を行う。描画されたデータにより、図８（ａ）に示すような画像が、ディスプレイに表示可能となる。
【００４６】
水深が波高とほぼ同じ位になると、実際の波では、波頭が砕け、水飛沫が上がり始める。これは、砕けた波頭に位置する水滴が、重力、水面からの表面張力、浮力による水面への拘束力よりも、水滴が波頭から飛び出す力の方が大きくなって、独自の動きをすることによる。水面から分離された水滴には、重力や風力等の外力が働いているので、これらの外力に従った挙動となる。色は透明から半透明に変わる。この水滴は、やがて水面に落下し、水面上で泡として浮遊するようになる。
【００４７】
そこで、画像処理システム１では、以下のような処理を行う。
ジオメトリ処理部１０で、水面の動きと各ユニットの重力、水面からの表面張力、浮力による水面への拘束力その他の外力を演算し、演算の結果得られる、各ユニットの中心点及び頂点の座標、中心点の速度、ユニットが水面から分離しているか否かを表す情報をユニット管理テーブル３０に随時書き込む。ユニットが水面から分離しているか否かは、水面に作用する外力と個々のユニットに作用する力及びその大きさに基づいて決めることができる。このような処理が終了すると、ユニット制御部２０が、ユニット間の距離及び相対速度の大きさを演算等によって導出する。そして、この距離及び相対速度の大きさに基づいて当該２つのユニットを接続又は分離させ、そのときの各ユニットの座標をユニット管理テーブル３０に書き込む。
水深と波高とがほぼ同じ状態では、図９に示されるように、ユニットの水面による拘束はなくなる。そのために、ユニット間の相対速度も大きくなり、ユニット間が接続されることは困難になる。特に、砕けた波頭に位置するユニットについては波頭から飛び出す力の方が大きくなるので、波頭の部位から分離させる。分離されたユニットにはその後も重力と風力等の外力が作用するので、これらの重力及び外力との相対値から定まる挙動となるように当該ユニットを制御する。やがてユニットが水面に落下すると、落下したユニットを水面に拘束させる。このような一連の挙動の状態やそのときの座標等を、ユニット制御部２０は随時ユニット管理テーブル３０に書き込んでいく。
【００４８】
レンダリング処理部４０は、ユニット管理テーブル３０に書き込まれたこのようなユニットに関する各種情報を随時読み出して当該ユニットの描画を行っていく。波頭から分離したユニットについては水滴を表すテクスチャを描画し、その色を半透明に変える。水面に落下したユニットについては泡を表すテクスチャを描画してしばらくの間は半透明にし、やがて、透明に変える。これにより、図８（ｂ）に示すように、波頭が砕けて、水飛沫が上がり、それが落下したときは、図８（ｃ）に示すように泡となって水面に浮遊し、やがて、透明になって視認できなくなっていく様子を、現実のものに近い画像で表現することができる。
【００４９】
水深が浅く、波高がほぼ０の状態になると、水面上で泡ができたり、波高の低い波が所定の方向に向かって動いたりする。波頭が砕けて飛沫となったユニットは、重力、風力などの外力にしたがって水面に落下し、重力、表面張力、浮力などの外力によって水面に拘束される。泡を表現する際には、ユニットに泡を表すテクスチャを描画して、その色を半透明に変える。このような画像を提供するための画像処理システム１の処理は、水深が波高に比較して十分に深い場合と、ほぼ同じになる。
このような処理を繰り返し行うことにより、例えば沖合から海岸線へ向かう波のシミュレーションを、現実の波の動きに近い表現を行えるようになる。
【００５０】
以上の説明では、水面とユニットとの接続、分離をユニットに働く外力に応じて判断したが、これに限らず、ユニット同士の接続、分離のように、距離と相対速度により判断するようにしてもよい。この場合、例えば、水面上に、ユニットが接続される点を設けておき、ユニット制御部２０により、この点とユニットとの間の距離と相対速度に応じて、水面とユニットとの接続、分離を判断する。
【００５１】
なお、本実施例では、波打っている水面から発生する飛沫や泡をユニットを用いて表現する場合の例を挙げたが、本発明は、その一部が接続又は分離可能な物体の物体画像を表現する用途全般に適用が可能である。例えば、複数のパーツからなるロボットからその一部が分離したり、後でそれが接続する様子を表現する場合にも、上記の説明の同様に、パーツをユニットとして扱うことにより、実現が可能となる。エンタテインメント用の画像処理において、登場するキャラクタが動き、それらの一部の部分が分離したり、接続する場合も同様である。
【００５２】
また、以上の説明は、図１に示された機能ブロック１０〜５０のすべてを情報処理装置によって実現した場合の例であるが、ＣＰＵ以外の他の半導体デバイス、例えば画像処理用の一又は複数のプロセッサが搭載された半導体デバイスとその駆動制御手段とを備えたコンピュータシステムによって上記機能ブロック１０〜５０を形成してもよく、ＣＰＵと上記半導体プロセッサとの協働によって上記機能ブロック１０〜５０を形成するようにしてもよい。この場合、コンピュータプログラムは、当該半導体デバイスに搭載されたメモリに事前に記録されているものであってもよく、事後的に当該メモリに記録されるようなものであってもよい。
【００５３】
【発明の効果】
以上の説明から明らかなように、本発明によれば、表現しようとする物体画像の細かな動きをユニットによって表現することができ、物体画像全体の動きを従来よりも現実の形態に近い動きに表現できるようになる。
【図面の簡単な説明】
【図１】本発明の画像処理システムの機能構成図。
【図２】本発明の実施形態によるユニット管理テーブルの内容例を示す図。
【図３】（ａ）はユニット間の距離の説明図、（ｂ）はユニット間の相対速度の説明図。
【図４】ユニットに接続状態の説明図であり、（ａ）は共有点が１つの場合、（ｂ）は共有点が二つの場合、（ｃ）はユニットが重なっている場合、（ｄ）はユニットが離れている場合の例を示した図である。
【図５】接続状態にあるユニットの一方が移動して、他方がこれに追随する様子を示した図であり、（ａ）は共有点が１個で接続された二つのユニットＡ、Ｂの例示図、（ｂ）はユニットＡのみに外力Ｆが加わった状態の例示図、（ｃ）はユニットＢがバネのモデルの運動に従って共有点に向かって移動して最終的にユニットＡに接続された状態の例示図、（ｄ）はユニットＡのみに外力Ｆが加わった状態の別の例示図。
【図６】本実施形態によるユニットの接続、分離の処理手順図。
【図７】本実施形態による共有点を決めるための処理手順図。
【図８】波の画像を表す説明図であり、（ａ）はトロコイド曲線による波、（ｂ）は波頭が砕けはじめた波、（ｃ）は波高が略０になったときの波の波形例を示した図。
【図９】波の状態と各状態におけるユニットの状態を示した図。
【符号の説明】
１０  ジオメトリ処理部
２０  ユニット制御部
３０  ユニット管理テーブル
４０  レンダリング処理部
５０  入出力制御部
【図１】
0003621081.tif 000002
【図２】
0003621081.tif 000003
【図３】
0003621081.tif 000004
【図４】
0003621081.tif 000005
【図５】
0003621081.tif 000006
【図６】
0003621081.tif 000007
【図７】
0003621081.tif 000008
【図８】
0003621081.tif 000009
【図９】
0003621081.tif 000010