(57)【要約】【課題】キャラクタのモーションにおける画像処理の処理負荷を軽減し、キャラクタの所定の部位が接触許容物体に的確に接触している適切なモーション表現を行う。【解決手段】画像処理装置１００が、複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成し、生成したモーション情報に基づいてキャラクタＣを動作させたときの到達可能位置Ｐを検出し、検出した到達可能位置Ｐを示す座標情報と混合比率とを関連付けし、仮想空間において到達可能位置Ｐが存在する範囲に配置した仮想球体Ｂと到達可能位置Ｐとを対応付けし、仮想球体情報に基づいて仮想空間におけるキャラクタＣの状態に応じた仮想球体を出力し、接触許容物体と接触する仮想球体の選択を受け付け、選択を受け付けた仮想球体に対応付けされた到達可能位置Ｐを示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいてキャラクタＣの動作を制御する。【選択図】図７
2011142084.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成する画像処理装置であって、
前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部と、
前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部とを備え、
前記サンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド手段と、
該モーションブレンド手段により生成されたモーション情報を前記モーション情報記憶部に登録するモーション情報登録手段と、
前記モーションブレンド手段により生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出手段と、
該到達可能位置検出手段により検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け手段と、
前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置手段と、
該仮想球体配置手段により配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け手段と、
該仮想球体対応付け手段により前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録手段と、
前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御手段とを含み、
該キャラクタ制御手段は、
前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力手段と、
該出力手段により出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定手段と、
該接触判定手段により前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付手段とを有し、
該選択受付手段により選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御する
ことを特徴とする画像処理装置。
【請求項２】
前記キャラクタ制御手段は、
前記選択受付手段により選択を受け付けた仮想球体に応じた混合比率を特定する混合比率特定手段と、
該混合比率特定手段により特定された混合比率に関連付けされた前記座標情報と前記仮想空間における前記接触許容物体の位置とに基づいて、当該混合比率に応じたモーション情報が所定の条件を満たすように当該混合比率を補正する混合比率補正手段と、
該混合比率補正手段により補正された混合比率に応じたモーション情報を特定するモーション情報特定手段とを有し、
前記キャラクタ制御手段は、前記モーション情報特定手段により特定されたモーション情報に基づいて前記キャラクタの動作を制御する
請求項１記載の画像処理装置。
【請求項３】
前記キャラクタ制御手段は、
前記混合比率特定手段により特定された混合比率に関連付けされた前記座標情報が示す到達可能位置から前記仮想空間における前記接触許容物体の位置までの仮想距離を特定する仮想距離特定手段と、
該仮想距離特定手段により特定された仮想距離に基づいて前記到達可能位置を前記接触許容物体の位置と一致させるために必要な前記混合比率の補正量を特定する補正量特定手段とを有し、
前記混合比率補正手段は、前記補正量特定手段により特定された補正量に従って前記混合比率を補正する
請求項２記載の画像処理装置。
【請求項４】
仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成する画像処理方法であって、
前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド処理と、
該モーションブレンド処理にて生成されたモーション情報を、前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部に登録するモーション情報登録処理と、前記モーションブレンド処理にて生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出処理と、
該到達可能位置検出処理にて検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け処理と、
前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置処理と、
該仮想球体配置処理にて配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け処理と、
該仮想球体対応付け処理にて前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録処理と、
前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御処理とを含み、
該キャラクタ制御処理は、
前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力処理と、
該出力処理にて出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定処理と、
該接触判定処理にて前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付処理とを有し、
該選択受付処理にて選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御する
ことを特徴とする画像処理方法。
【請求項５】
仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成させるための画像処理プログラムであって、
コンピュータに、
前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド処理と、
該モーションブレンド処理にて生成されたモーション情報を、前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部に登録するモーション情報登録処理と、前記モーションブレンド処理にて生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出処理と、
該到達可能位置検出処理にて検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け処理と、
前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置処理と、
該仮想球体配置処理にて配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け処理と、
該仮想球体対応付け処理にて前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録処理と、
前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御処理とを実行させ、
該キャラクタ制御処理において、
前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力処理と、
該出力処理にて出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定処理と、
該接触判定処理にて前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付処理とを実行させ、
該選択受付処理にて選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御する処理を
実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば３次元又は２次元コンピュータグラフィックスにより表現される画像（ビデオゲームキャラクタなど）のモーションを生成する画像処理装置、画像処理方法、及び画像処理プログラムに関する。
【背景技術】
【０００２】
ＲＰＧ（ロールプレイングゲーム：プレイヤがゲームの世界の中であるキャラクタの役割を演じ、様々な経験を通じて成長していく過程を楽しみながら、所定の目的を達成していくことを遊戯するゲーム）と呼ばれるビデオゲームやシミュレーションゲームなどの各種のビデオゲームが提供されている。【０００３】
従来から、このようなビデオゲーム等において登場するキャラクタのモーションを多様に表現することができるようにした画像処理技術が種々提案されている（例えば、特許文献１−２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−６２３２６号公報
【特許文献２】特開２００３−６７７７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ポリゴンからなるキャラクタのモーションをフィールドの変化に対応してより適切に表現するためには、多くの計算が必要となり、処理負荷が多大なものとなってしまう。このため、従来の画像処理技術では、例えば、地表データについて、予め広範囲に集めておくとともに、事前に計算しておいた計算結果を用いることによって、処理負荷を軽減し、高速化を図るようにしているが、さらなる処理負荷の軽減が望まれていた。【０００６】
一方、家庭用ゲーム機などにおいては、その処理能力に限度があり、広範囲に亘る地表の地表データを用いる場合などにおいては、事前計算を行っていたとしても、処理能力を超える処理負荷がかかってしまうおそれがあるという問題があった。【０００７】
また、こうした問題は、ビデオゲームに関わる技術分野に限定されず、コンピュータグラフィックスやアニメーションの生成に関わる技術分野全般において問題となっていた。【０００８】
本発明は、上記の問題を解決すべく、キャラクタのモーションを適切に表現することができ、かつ画像処理における処理負荷を軽減することができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成する画像処理装置であって、前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部と、前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部とを備え、前記サンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド手段と、該モーションブレンド手段により生成されたモーション情報を前記モーション情報記憶部に登録するモーション情報登録手段と、前記モーションブレンド手段により生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出手段と、該到達可能位置検出手段により検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け手段と、前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置手段と、該仮想球体配置手段により配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け手段と、該仮想球体対応付け手段により前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録手段と、前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御手段とを含み、該キャラクタ制御手段は、前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力手段と、該出力手段により出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定手段と、該接触判定手段により前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付手段とを有し、該選択受付手段により選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御することを特徴とする。【００１０】
上記の構成としたことで、キャラクタのモーションを適切に表現することができ、かつ画像処理における処理負荷を軽減することができるようになる。【００１１】
前記キャラクタ制御手段は、前記選択受付手段により選択を受け付けた仮想球体に応じた混合比率を特定する混合比率特定手段と、該混合比率特定手段により特定された混合比率に関連付けされた前記座標情報と前記仮想空間における前記接触許容物体の位置とに基づいて、当該混合比率に応じたモーション情報が所定の条件を満たすように当該混合比率を補正する混合比率補正手段と、該混合比率補正手段により補正された混合比率に応じたモーション情報を特定するモーション情報特定手段とを有し、前記キャラクタ制御手段は、前記モーション情報特定手段により特定されたモーション情報に基づいて前記キャラクタの動作を制御する構成とされていてもよい。【００１２】
前記キャラクタ制御手段は、前記混合比率特定手段により特定された混合比率に関連付けされた前記座標情報が示す到達可能位置から前記仮想空間における前記接触許容物体の位置までの仮想距離を特定する仮想距離特定手段と、該仮想距離特定手段により特定された仮想距離に基づいて前記到達可能位置を前記接触許容物体の位置と一致させるために必要な前記混合比率の補正量を特定する補正量特定手段とを有し、前記混合比率補正手段は、前記補正量特定手段により特定された補正量に従って前記混合比率を補正する構成とされていてもよい。【００１３】
また、本発明の画像処理方法は、仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成する画像処理方法であって、前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド処理と、該モーションブレンド処理にて生成されたモーション情報を、前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部に登録するモーション情報登録処理と、前記モーションブレンド処理にて生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出処理と、該到達可能位置検出処理にて検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け処理と、前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置処理と、該仮想球体配置処理にて配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け処理と、該仮想球体対応付け処理にて前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録処理と、前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御処理とを含み、該キャラクタ制御処理は、前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力処理と、該出力処理にて出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定処理と、該接触判定処理にて前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付処理とを有し、該選択受付処理にて選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御することを特徴とする。【００１４】
さらに、本発明の画像処理プログラムは、仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成させるための画像処理プログラムであって、コンピュータに、前記キャラクタのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部に記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成するモーションブレンド処理と、該モーションブレンド処理にて生成されたモーション情報を、前記キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部に登録するモーション情報登録処理と、前記モーションブレンド処理にて生成されたモーション情報に基づいて前記キャラクタを動作させたときの動作終了時のキャラクタの所定の部位の到達可能位置を検出する到達可能位置検出処理と、該到達可能位置検出処理にて検出された到達可能位置を示す座標情報と前記混合比率とを関連付ける混合比率関連付け処理と、前記仮想空間において前記到達可能位置が存在する範囲に複数の球体を配置する仮想球体配置処理と、該仮想球体配置処理にて配置された球体である仮想球体と前記到達可能位置とを対応付ける仮想球体対応付け処理と、該仮想球体対応付け処理にて前記到達可能位置が対応付けされた仮想球体に関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部に登録する仮想球体情報登録処理と、前記モーション情報記憶部に記憶されたモーション情報に基づいて前記仮想空間における前記キャラクタの動作を制御するキャラクタ制御処理とを実行させ、該キャラクタ制御処理において、前記仮想球体情報記憶部に記憶された仮想球体情報に基づいて前記仮想空間における前記キャラクタの状態に応じた前記仮想球体を出力する出力処理と、該出力処理にて出力された仮想球体のうち、前記キャラクタが接触可能な物体である接触許容物体と接触する仮想球体があるか判定する接触判定処理と、該接触判定処理にて前記接触許容物体と接触すると判定された仮想球体の選択を受け付ける選択受付処理とを実行させ、該選択受付処理にて選択を受け付けた仮想球体に対応付けされた到達可能位置を示す座標情報に関連付けされた混合比率に対応するモーション情報に基づいて前記キャラクタの動作を制御する処理を実行させるためのものである。
【発明の効果】
【００１５】
本発明によれば、キャラクタのモーションを適切に表現することができ、かつ画像処理における処理負荷を軽減することができるようになる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施の形態における画像処理装置の構成例を示すブロック図である。
【図２】仮想球体情報の格納状態の例を示す説明図である。
【図３】仮想球体情報生成処理の例を示すフローチャートである。
【図４】仮想球体情報生成処理について説明するための説明図である。
【図５】仮想球体情報生成処理について説明するための説明図である。
【図６】仮想球体情報生成処理について説明するための説明図である。
【図７】モーション生成処理の例を示すフローチャートである。
【図８】モーション生成処理について説明するための説明図である。
【図９】モーション生成処理について説明するための説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明の一実施の形態の例について図面を参照して説明する。
【００１８】
図１は、本発明の一実施の形態における画像処理装置１００の構成例を示すブロック図である。図１に示すように、画像処理装置１００は、プログラム読取部１０と、制御部１１と、記憶部１２と、表示部１３と、音声出力部１４と、操作受付部１５と、モーション処理部１６とを含む。
【００１９】
プログラム読取部１０は、各種プログラムが格納された記憶媒体を内蔵する記憶媒体から必要なプログラムを読み出す機能を有する。なお、本例においては、プログラム読取部１０は、ゲームプログラムが格納された着脱可能なゲームカートリッジ２０を装着する装着部を有する。
【００２０】
制御部１１は、ゲームプログラム読取部１０により読み取られたゲームプログラム（画像処理プログラムを含む）を実行し、キャラクタの動作（モーション）を制御する動作制御や、キャラクタが実行したモーションに応じた効果音を出力する音声制御など、各種の制御を実行する。
【００２１】
記憶部１２は、キャラクタの周辺環境（例えば、仮想空間においてキャラクタが位置する地面の傾斜の程度など）に応じたモーションを生成するため（すなわち、モーション情報を生成し、生成したモーション情報に基づいて制御部１１がキャラクタを制御することによって仮想空間におけるキャラクタのモーションを生みだすため）に必要なプログラムや各種のデータを記憶する記憶媒体である。記憶部１２は、例えばＲＡＭなどの不揮発性のメモリによって構成される。記憶部１２には、後述する仮想球体情報生成処理などに従って登録・更新される各種の情報や、ゲームカートリッジ２０に内蔵される記憶媒体から読み出されたゲームにおいて使用される各種の情報が格納される。
【００２２】
本例では、記憶部１２は、サンプルモーション情報記憶部１２ａと、モーション情報記憶部１２ｂと、仮想球体情報記憶部１２ｃと、環境情報記憶部１２ｄとを含む。
【００２３】
サンプルモーション情報記憶部１２ａは、キャラクタが実行するモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶する記憶媒体である。
【００２４】
本例においてサンプルモーション情報は、キャラクタの身体情報（身長、体重、外見など）に応じてキャラクタの動作を３次元または２次元の状態で表示画面に表示するための情報であり、キャラクタを構成するポリゴンデータとボーンとを含む情報である。
【００２５】
モーション情報記憶部１２ｂは、制御部１１がキャラクタの動作を制御する際に参照するモーション情報を記憶する記憶媒体である。本例において、モーション情報は、モーションブレンド部１６ａにより複数のサンプルモーションが混合（ブレンディング）されることにより生成される。
【００２６】
なお、モーション情報として記憶される情報は複数のサンプルモーションがブレンディングされたものに限定されず、例えばサンプルモーション単体がモーションとして記憶された構成としてもよい。この場合、例えば２つのサンプルモーションが１０対０の割合で混合されたものとして取り扱う構成としてもよい。
【００２７】
仮想球体情報記憶部１２ｃは、キャラクタの状態（例えば、「停止中」や「移動中」など）やキャラクタの周辺環境、ユーザからの操作入力などに応じて複数のモーション情報のうち適したモーション情報を選択するために使用される仮想球体に関する情報である仮想球体情報を記憶する記憶媒体である。ここで、仮想球体とは、キャラクタの状態に応じて仮想空間に仮想的に配置される所定の球体（または球体群）を意味する。仮想球体および仮想球体情報については、後述する仮想球体生成処理とモーション生成処理（図３，７参照）とに関する説明において詳しく説明する。
【００２８】
図２は、仮想球体情報記憶部１２ｃにおける仮想球体情報の格納状態の例を示す説明図である。図２に示すように、仮想球体情報は、仮想球体を一意に特定するための球体番号と、仮想球体が対応付けされたキャラクタと、仮想球体に対応付けされたモーションの種類と、仮想空間におけるキャラクタの位置に応じた仮想球体の中心位置を示す中心座標と、仮想球体の半径と、仮想球体に対応付けされたモーションを構成するサンプルモーションの混合比率と、接触フラグとを含む。
【００２９】
環境情報記憶部１２ｄは、キャラクタが存在する仮想空間に関する情報を記憶する記憶媒体である。本例においては、環境情報記憶部１２ｄは、仮想空間においてキャラクタが接触可能な物体である接触許容物体（例えば、地面など）を示す情報（例えば、地面ジオメトリ）を含む。
【００３０】
表示部１３は、制御部１１の制御に従って、ユーザの操作に応じたゲーム画面を表示する表示装置である。表示部１３は、例えば、液晶表示装置によって構成される。
【００３１】
音声出力部１４は、制御部１１の制御に従って、ユーザの操作やキャラクタの動作に応じて音声を出力する。
【００３２】
操作受付部１５は、複数のボタンやマウスなどによって構成されるコントローラからのユーザ操作に応じた操作信号を受け付け、その結果を制御部１１に通知する。
【００３３】
モーション処理部１６は、任意の混合比率で複数のサンプルモーション情報を混合する機能や、後述するモーション生成処理における混合比率補正処理などを実行するための機能を有する（図７参照）。
【００３４】
本例において、モーション処理部１６は、モーションブレンド部１６ａと、仮想球体情報生成部１６ｂと、接触判定部１６ｃと、混合比率補正部１６ｄを備える。
【００３５】
モーションブレンド部１６ａは、任意の混合比率で複数のサンプルモーションを混合してモーション情報を生成し、生成したモーション情報をモーション情報記憶部１２ｂに登録する機能を有する。なお、サンプルモーションの混合処理については、複数のモーションを同期させて動作の姿勢を時間フレーム毎に補間する処理などを行う公知のモーションブレンディング方法を用いるので、ここでの詳細な説明は省略する。
【００３６】
仮想球体情報生成部１６ｂは、仮想球体情報を生成するための仮想球体情報生成処理を実行する機能を有する。仮想球体情報生成処理については後で詳しく説明する（図３参照）。
【００３７】
接触判定部１６ｃは、仮想空間に配置された仮想球体が、キャラクタが動作可能な領域とそうでない領域との境界線（例えば、地面ジオメトリなど）と接触しているか否かを判定するための機能を有する。なお、本例においては接触判定の方法として、仮想空間における座標を対比する方法を用いる場合を例に説明を行なう。
【００３８】
混合比率補正部１６ｄは、後述するモーション生成処理にて、混合比率補正処理を実行する機能を有する（図７参照）。ここで、混合比率補正処理とは、混合比率に応じて生成されたモーションを実行するときに、例えばキャラクタＣの足先が正確に地面に接地されるように混合比率を補正する処理である。本例においては、公知のクリギング法を利用した方法を用いるので、ここでの詳細な説明は省略する。
【００３９】
次に、本例の画像処理装置１００の動作について説明する。なお、本発明に関係しない動作や処理については、その内容を省略している場合がある。
【００４０】
本例における画像処理装置１００は、あらかじめサンプルモーション情報記憶部１２ａに記憶されたサンプルモーション情報を任意の比率で混合することで３ＤＣＧキャラクタが仮想空間における斜面や階段などを移動するときのモーションを生成するための処理を行う。
【００４１】
以下、人型のキャラクタＣの歩行モーションを例にして説明する。なお、本例においては、キャラクタＣの片方の足が地面から離れてから接地するまでの区間を、一歩分の歩行モーションとする。すなわち、「接地、離脱、移動、着地、接地」を一歩行サイクルとして、歩行サイクルごとにキャラクタのモーションを決定する。例えば、画像処理装置１００は、キャラクタＣの左足が地面に着地した際に次の右足の移動モーションを検索し、右足が着地した際にはその次の左足の移動モーションを計算する。
【００４２】
また、画像処理装置１００が実行する処理は、ユーザによる操作入力を受け付けてキャラクタを動作させる前にあらかじめ必要な情報を作成するために行う事前計算と、ユーザによる操作入力に応じてキャラクタを動作させるときに行う実行時計算の２種類に分けられる。
【００４３】
図３は、画像処理装置１００が事前計算として実行する仮想球体情報生成処理の例を示す説明図である。仮想球体情報生成処理では、キャラクタＣのモーションの種類に応じた仮想球体情報を生成するための処理が実行される。
【００４４】
ここで、先ず、本例における仮想球体情報生成処理にて実行される処理の概念について説明する。図４、図５、及び図６は、仮想球体情報生成処理について説明するための説明図である。なお、図４、図５、及び図６は、簡単のため、２次元の図で示す。
【００４５】
仮想球体情報を生成するために、画像処理装置１００は、図４に示すように、キャラクタＣの初期姿勢ＦＣから、歩行モーションに応じた複数のサンプルモーションの組み合わせを様々な比率（すなわち、混合比率）で混合し、それぞれの混合比率でのキャラクタＣ（図４における、キャラクタＣの姿勢ＡＣ１，ＡＣ２，ＡＣ３）の足の到達可能位置Ｐ１，Ｐ２，Ｐ３を導出する。
【００４６】
図５は、あらかじめ記憶部１２に記憶された規則にしたがって導出された複数の到達可能位置Ｐ（Ｐ１，Ｐ２，Ｐ３を含む）を示す。このような構成とすることにより、サンプルモーション情報を増やさなくても、混合比率を調節することで細かい違いのあるモーション情報を得ることができる。
【００４７】
次に、画像処理装置１００は、キャラクタＣの足の各到達可能位置Ｐが存在する範囲に複数の球体を仮想的に配置し、配置した球体（仮想球体）それぞれに、混合比率を関連づける。これにより、例えば制御部１１が任意の仮想球体を指定したとき、その位置に足先が配置されるように混合比率を定数時間で参照できる。
【００４８】
次いで、仮想球体情報生成処理における画像処理装置１００の動作について説明する（図３参照）。
【００４９】
仮想球体情報生成処理において、制御部１１は、モーションブレンド部１６ａにより、あらかじめ記憶部１２に記憶された規則（例えば、「歩行モーションに応じたサンプルモーションのうち、最も歩幅の広いものと、最も歩幅の狭いものとを、９対１、８対２、７対３、・・・というように、１割ずつ混合比率を変えた混合比率で混合する。」など）に応じて、複数のサンプルモーションを混合することにより、複数のモーション情報を生成する（ステップＳ１０１）。なお、制御部１１が、予めモーション情報記憶部１２ｂに記憶されたモーション情報の中から、仮想球体情報生成処理に用いるモーション情報を選択する構成としてもよい。また、モーション情報を生成する場合に、制御部１１が、モーションブレンド部１６ａにより、ユーザによる複数のサンプルモーションの選択を受け付ける構成としてもよい。また、制御部１１が、例えば予め各サンプルモーションに設定された優先度に基づいて（またはランダムに）、ブレンディング可能なサンプルモーションを表示画面に表示する構成とすることにより、ユーザによるサンプルモーションの選択を支援する構成としてもよい。
【００５０】
モーションブレンド部１６ａにより複数のモーション情報を生成すると、制御部１１は、仮想球体情報生成部１６ｂにより、生成された各モーション情報におけるキャラクタＣの足の到達可能位置Ｐ（すなわち、歩行モーションが終了した時点でのキャラクタＣの足の位置）を算出する（ステップＳ１０２）。
【００５１】
到達可能位置Ｐをそれぞれ算出すると、制御部１１は、仮想球体情報生成部１６ｂにより、キャラクタＣの初期姿勢ＦＣの位置に対する到達可能位置Ｐを示す情報（座標情報）を、混合比率と対応付けて記憶部１２に記憶し、到達可能位置Ｐが存在する範囲１０１（図６参照）に複数の仮想球体を配置する（ステップＳ１０３）。
【００５２】
本例においては、仮想球体情報生成部１６ｂは、所定の半径を有した仮想球体を、キャラクタの足が到達しうる仮想空間内に一様に配置する。これにより、仮想球体の半径と仮想球体の総数の積は一定となる。ただし、仮想球体の総数の増加にしたがって事前計算で生成されるデータ量は線形に増加するため、球体半径を大きくすることで仮想球体の総数を削除する必要がある。
【００５３】
よって、本例においては、図６に示すように、同一半径の複数の仮想球体Ｂが、到達可能位置Ｐの存在する範囲１０１内に敷き詰められる。
【００５４】
仮想球体Ｂを配置すると、制御部１１は、仮想球体情報生成部１６ｂにより、各仮想球体Ｂと各到達可能位置Ｐに対応付けられた混合比率とを関連付ける（すなわち、各到達可能位置Ｐに混合比率を割り当てる）（ステップＳ１０４）。
【００５５】
本例においては、仮想球体情報生成部１６ｂは、仮想球体Ｂの内側に位置することとなる到達可能位置Ｐに対応付けされた混合比率を、仮想球体Ｂに関連付けて仮想球体情報記憶部１２ｃに記憶する。
【００５６】
すなわち、仮想球体情報生成部１６ｂは、仮想球体と混合比率とを関連付けすることで、混合比率に関連付けされた到達可能位置Ｐが対応付けされた仮想球体に関する情報である仮想球体情報を生成して、仮想球体情報記憶部１２ｃに登録する。
【００５７】
なお、内側に到達可能位置Ｐが位置しない仮想球体Ｂについては、混合比率が関連付けされず、後述するモーション生成処理（図７参照）において選択されない仮想球体となる。また、１つの仮想球体Ｂの内側に複数の到達可能位置Ｐが位置することとなる場合には、例えば、仮想球体情報生成部１６ｂは、複数の到達可能位置Ｐに対応付けされた混合比率の平均値を算出して記憶する構成とすればよい。
【００５８】
各仮想球体と混合比率を関連付けると、制御部１１は、仮想球体情報生成部１６ｂにより、混合比率を関連付けした各仮想球体Ｂを特定する仮想球体情報を仮想球体情報記憶部１２ｃに記憶し（ステップＳ１０５）、ここでの処理を終了する。これにより、各仮想球体Ｂは同一種類のモーション（本例においては、歩行モーション）に対応する仮想球体群に属するものとして記憶されることとなる。
【００５９】
なお、本例においては同一半径の複数の仮想球体Ｂを到達可能位置Ｐの存在範囲１０１に敷き詰める場合を例に説明をしたが、仮想球体の配置方法はこれに限定されず、例えば各到達可能位置Ｐを中心とする所定の半径を備えた球体を仮想球体Ｂとする構成としてもよい。
【００６０】
また、仮想球体Bの並べ方も、キャラクタCの移動可能領域を全てカバーできるものであればよく、例えば複数の仮想球体Bの一部が重なるように並べられる構成としてもよい。この場合、仮想球体Bの一部が重複する部分に到達可能位置Pが位置するときには、どちらか一方の仮想球体（例えば、到達可能位置Pから仮想球体の中心座標までの距離が近い方など）にのみ到達可能位置Pに応じた混合比率が関連付けされる構成としてもよいし、両方の仮想球体Ｂに混合比率が関連付けされる構成としてもよい。
【００６１】
次に、画像処理装置１００が実行するモーション生成処理について説明する。なお、モーション生成処理についても、キャラクタＣの歩行モーションを例にして説明する。
【００６２】
図７は、画像処理装置１００が実行時計算として実行するモーション生成処理の例を示すフローチャートである。モーション生成処理では、制御部１１がモーション情報に応じた処理を実行することによりキャラクタＣのモーションを生成するための処理が実行される。
【００６３】
ここで、先ず、本例におけるモーション生成処理にて実行される処理の概念について説明する。図８，９は、モーション生成処理について説明するための説明図である。なお、図８，９は、簡単のため、２次元の図で示す。
【００６４】
キャラクタのモーションを生成するために、画像処理装置１００は、図８に示すように、仮想空間においてキャラクタＣの位置に応じて混合比率が関連付けされた複数の仮想球体Ｂを配置する。なお、本例においては歩行モーションに関する混合比率が関連付けされた仮想球体Ｂが配置される場合を例に説明を行なうが、配置される仮想球体はこれに限定されず、事前計算にて各種モーションに応じた混合比率が関連付けされた仮想球体群であればよい。
【００６５】
複数の仮想球体Ｂを出力すると、画像処理装置１００は、仮想空間においてキャラクタＣが接触可能な物体として設定された接触許容物体（本例においては、地面ＦＧ）と仮想球体Ｂとの接触判定を行い、キャラクタＣの足を接地させるための混合比率を算出する。このとき、画像処理装置１００は、例えば図８に示すように、仮想空間における地面ＦＧと接触している仮想球体Ｂを接地球ＢＲに変更することで、他の仮想球体Ｂと識別可能にする。
【００６６】
このとき、接地球ＢＲに関連付けされたモーションの混合比率を利用することにより、各仮想球体の中心位置にキャラクタＣの足が配置されるようなモーションを生成できる。ただしこの段階では、仮想空間における地面ＦＧとキャラクタの足先位置の間には最大で接地球ＢＲの半径に相当する誤差が生じている。この誤差を補正するために、画像処理装置１００は、例えばクリギングと呼ばれる空間統計学の手法を利用して、混合比率を半解析的に修正するアプローチをとる。
【００６７】
混合比率を算出すると、画像処理装置１００は、例えばユーザの操作に応じた接地球ＲＢを選択し、図９に示すように、選択された接地球ＢＲに応じたモーションをキャラクタＣに実行させることにより、キャラクタＣのモーションを生成する。なお、画像処理装置１００が、予め設定された選択条件（例えば、キャラクタＣから最も近い位置にあること）を満たす接地球ＲＢを選択する構成としてもよい。
【００６８】
なお、ここでの「モーションを生成する」とは、キャラクタＣの動作を示すモーション情報を生成するという意味であり、キャラクタＣの動作を生み出すという意味でもある。
【００６９】
次いで、モーション生成処理における画像処理装置１００の動作について説明する（図７参照）。
【００７０】
モーション生成処理において、制御部１１は、仮想球体情報記憶部１２ｃを参照し、キャラクタＣの状態（仮想空間においてキャラクタＣに許容されたモーションの種類など）に応じた仮想球体を仮想空間に配置する（ステップＳ２０１）。
【００７１】
仮想球体を配置すると、制御部１１は、接触判定部１６ｃにより、配置した仮想球体Ｂのうち地面に接触している仮想球体がある否か判定し、接触している仮想球体（接地球）を判別する（ステップＳ２０２）。なお、本例においては、接触判定部１６ｃは、仮想空間において地面を表示する地面ジオメトリと仮想球体Ｂの存在する座標とを比較することにより、接触判定を行う。ここで、制御部１１は、接触判定により接地球であると判定された仮想球体Ｂに対しては、仮想球体情報における接触フラグを「１」に設定する。
【００７２】
接地球を判別すると、制御部１１は、ユーザ操作や仮想空間におけるキャラクタＣの状態（例えば、操作受付部１５を介したキャラクタＣの速度指示や方向指示）に応じて接地球を選択する（ステップＳ２０３）。
【００７３】
接地球を選択すると、制御部１１は、仮想球体情報記憶部１２ｃを参照して、選択した接地球に関連付けされた混合比率を取得する（ステップＳ２０４）。
【００７４】
混合比率を取得すると、制御部１１は、モーションブレンド部１６ａにより、取得した混合比率によって次の一歩分の歩行モーションを生成する（ステップＳ２０５）。
【００７５】
なお、本例においては、歩行モーションを生成する前に、制御部１１は、キャラクタＣの動作の種類と取得した混合比率とに基づいて、キャラクタＣが実行すべきモーションを示すモーション情報が既にモーション情報記憶部１２ｂに記憶されているか否かを判定する。そして、モーション情報が記憶されていると判定した場合には、制御部１１は、モーション情報記憶部１２ｂに記憶されたモーション情報に基づいて次の一歩分の歩行モーションを生成する（すなわち、仮想空間においてキャラクタＣを動作させる）。
【００７６】
すなわち、制御部１１は、仮想球体情報生成処理において歩行モーションにおけるキャラクタＣの足の到達可能位置Ｐを算出するときに（図３、ステップＳ１０１参照）、複数のモーション情報を既に生成している場合には、次の一歩分の歩行モーションを示すモーション情報を生成する必要はなく、取得した混合比率に基づいて必要なモーション情報をモーション情報記憶部１２ｂから読み出すことができる。一方、ステップＳ１０１において、キャラクタＣのモーションの一部のみを混合して到達可能位置Ｐを算出していた場合（例えば、複数のサンプルモーションにおけるキャラクタＣの足部分のみを所定の混合比率で混合している場合など）には、制御部１１は、ステップＳ２０５において新たにモーション情報を生成する。ここでは、新たにモーション情報を生成する場合を例にして説明を続ける。
【００７７】
なお、本例にいおいては、制御部１１は、モーション生成処理にて新たに生成したモーション情報をモーション情報記憶部１２ｂに登録するものとする。
【００７８】
新たにモーション情報を生成すると、制御部１１は、キャラクタＣの足先が最大で仮想球体の半径分だけ地面から浮いてしまうことを防止するために、混合比率補正部１６ｄにより混合比率補正処理を実行する（ステップＳ２０６）。なお、仮想球体の半径を小さくすることによりキャラクタＣの足先位置と地面との誤差を小さくする構成としてもよい。
【００７９】
混合比率補正処理を実行すると、制御部１１は、補正後のモーション情報に応じた処理（すなわち、モーション情報に応じて仮想空間内においてキャラクタＣを動作させる処理）を実行することによりキャラクタＣのモーションを生成し（ステップＳ２０７）、ステップＳ２０１に移行する。
【００８０】
なお、本例においては、制御部１１は、混合比率補正部１６ｄによる混合比率補正処理により特定される補正後の混合比率に応じて、補正後のモーション情報を特定する。
【００８１】
本例においては、制御部１１は、新たに生成したモーション情報を構成する複数のサンプルモーションを、混合比率補正処理により特定した補正後の混合比率により混合することにより、補正後のモーション情報を生成する。なお、制御部１１が、混合比率補正処理により特定した混合比率に応じたモーション情報をモーション情報記憶部１２ｂから検索する構成としてもよい。
【００８２】
なお、上記の例では、キャラクタの歩行モーションの際の処理について説明したが、例えばキャラクタが壁を登る際のモーションにおける手先の接触に関する処理などについても同様に仮想球体を用いて接触判定を行って適切なモーション表現を行うことが可能である。また、水泳動作など、環境との明確な衝突が発生しないモーションに関しても、例えば仮想球体の大きさを適宜調整などすることにより、適用可能である。
【００８３】
以上に説明したように、上述した実施の形態では、仮想空間においてキャラクタの動作を制御することによりキャラクタのモーションを生成する画像処理装置１００が、キャラクタＣのモーションの基礎となるサンプルモーションを示すサンプルモーション情報を記憶するサンプルモーション情報記憶部１２ａと、キャラクタの動作を示すモーション情報を記憶するモーション情報記憶部１２ｂとを備え、サンプルモーション情報記憶部１２ａに記憶された複数のサンプルモーション情報を任意の混合比率で混合してモーション情報を生成し、生成したモーション情報をモーション情報記憶部１２ｂに登録し、生成したモーション情報に基づいてキャラクタＣを動作させたときの動作終了時のキャラクタＣの所定の部位（例えば足先、手先など）の到達可能位置Ｐを検出し、検出した到達可能位置Ｐを示す座標情報と混合比率とを関連付けし、仮想空間において到達可能位置Ｐが存在する範囲に複数の球体を配置し、配置した球体である仮想球体Ｂと到達可能位置Ｐとを対応付けし、到達可能位置Ｐが対応付けされた仮想球体Ｂに関する情報である仮想球体情報を、仮想球体情報を記憶する仮想球体情報記憶部１２ｃに登録し、モーション情報記憶部１２ｂに記憶されたモーション情報に基づいて仮想空間におけるキャラクタＣの動作を制御するキャラクタ制御手段とを含み、仮想球体情報記憶部１２ｃに記憶された仮想球体情報に基づいて仮想空間におけるキャラクタＣの状態に応じた仮想球体を出力し、出力した仮想球体のうち、キャラクタＣが接触可能な物体である接触許容物体（例えば、仮想空間における地面ＦＧ）と接触する仮想球体（例えば、接地球ＢＲ）があるか判定し、接触許容物体と接触すると判定された仮想球体の選択を受け付け、選択を受け付けた仮想球体に対応付けされた到達可能位置Ｐを示す座標情報に関連付けされた混合比率（例えば、各仮想球体Ｂに関連付けされた混合比率）に対応するモーション情報に基づいてキャラクタＣの動作を制御する構成としているので、キャラクタのモーションを適切に表現することができ、かつ画像処理における処理負荷を軽減することができるようになる。
【００８４】
すなわち、キャラクタの所定の部位の到達可能位置が存在する範囲に仮想的に配置した複数の球体であって、その到達可能位置と対応付けされた球体である仮想球体のうち、接触許容物体と接触すると判定された仮想球体に対応付けされた到達可能位置に関連づけされた混合比率に対応するモーション情報（すなわち、仮想球体に対応したモーション情報）に基づいてキャラクタを制御する構成としているので、キャラクタのモーションにおける画像処理の処理負荷を軽減させることが可能となり、キャラクタの所定の部位が接触許容物体に的確に接触している適切なモーション表現を行うことができるようになる。なお、仮想球体の直径を適切な長さにすることで、接触許容物体に的確に接触している適切なモーション表現をほぼ確実に行うことができるようになる。仮想球体の直径が短ければ短いほど誤差が小さくなるため、処理負荷が許容される範囲で極力直径を短くすることが望ましい。
【００８５】
なお、上述した実施の形態においては、キャラクタのモーションを出力する処理を実行するために画像処理装置１００にかかる処理負荷が、従来の方法によりキャラクタのモーションを出力する場合と比べて軽減されることとなる。
【００８６】
また、上述した実施の形態において、画像処理装置１００が、キャラクタの所定の部位が接触許容物体（例えば、仮想空間における地面ＦＧ）に接触することでキャラクタのモーションが終了するようにモーション情報を補正する構成とした場合には、キャラクタの所定の部位が接触許容物体に的確に接触しているように、すなわちより適切にキャラクタのモーション表現を行うことができるようになる。
【００８７】
また、サンプルモーションを混合することにより生成されたモーション情報を用いてキャラクタを制御するので、キャラクタが動くアニメーションの生成に関して、ユーザの操作に対する一定レベルの即応性、頑健性、および計算効率性を保証することができるようになる。従って、コンシューマゲーム機などを用いる場合（すなわち、計算リソースやメモリリソースが大きく制限される場合）にアニメーションの自然さを向上させるために、生成アニメーションの品質と計算コストのトレードオフを最適化することができるようになる。
【００８８】
また、多数のモーションデータを切り替えながら再生することでユーザ操作や環境変化に反応したモーションを生成するモーショングラフやムーブツリーに基づく技法を用いたアプローチよりも、フットスライディング（foot sliding）などのビジュアルアーティファクト（visual artifact）の少ないモーションを生成できるようになる。すなわち、画像処理装置１００を用いることにより、インタラクティブアプリケーションの作成にあたっての最低限の計算量とメモリ使用量を用いて、周期モーションにおける見た目に重要なビジュアルアーティファクトを軽減することができるようになる。
【００８９】
また、上述した実施の形態では、画像処理装置１００が、選択を受け付けた仮想球体（例えば、接地球ＢＲ）に応じた混合比率を特定し（例えば、モーション情報記憶部１２ｂから取得し）、特定した混合比率に関連付けされた（到達可能位置Ｐの）座標情報と仮想空間における接触許容物体（例えば、仮想空間における地面ＦＧ）の位置とに基づいて、混合比率に応じたモーション情報が所定の条件（例えば、キャラクタＣの足先が正確に地面に接地されること）を満たすように混合比率を補正し、補正した混合比率に応じたモーション情報を特定し（例えば、混合比率補正処理により特定した補正後の混合比率により混合することにより、補正後のモーション情報を生成することによりモーション情報を特定し）、特定したモーション情報に基づいてキャラクタＣの動作を制御する構成としているので、仮想空間におけるキャラクタの動作の不自然さを有効に解消することができるようになる。
【００９０】
すなわち、仮想空間においてキャラクタの一部が他のオブジェクトに接触する場面を表現する場合に、仮想球体を利用したモーション制御により接触誤差（すなわち、計算上はキャラクタの一部と他のオブジェクトとが接触しているのに、キャラクタと他のオブジェクトとが表示された仮想空間においてはキャラクタの一部と他のオブジェクトとが接触していない場合の、仮想空間におけるキャラクタの一部と他のオブジェクトとの距離）が生じることを防止することができるようになる。
【００９１】
なお、上述した実施の形態では特に言及していないが、画像処理装置１００が、特定した混合比率（例えば、選択した接地球に応じた混合比率）に関連付けされた座標情報が示す到達可能位置Ｐから仮想空間における接触許容物体（例えば、仮想空間における地面ＦＧ）の位置までの仮想距離を特定し（例えば、後述する足先位置修正ベクトルΔｐを特定し）、特定した仮想距離に基づいて到達可能位置Ｐを接触許容物体の位置と一致させるために必要な混合比率の補正量を特定し（例えば、後述する混合比率修正量Δｗを特定し）、特定した補正量に従って混合比率を補正する構成としてもよい。
【００９２】
このような構成とすることにより、サンプルモーションを増やして画像処理装置にかかる処理負荷を増大させることなく、仮想球体を用いて生成するキャラクタのモーションの質を向上させることができるようになる。すなわち、仮想空間におけるキャラクタのモーションの誤差を適切に補正することができるようになる。
【００９３】
また、仮想空間における接触判定（または、衝突判定）によりサンプルモーションの混合比率を補正する場合（すなわち、混合比率の補正によりキャラクタを制御するためのモーション情報を補正する場合）に、画像処理装置１００が、特定の条件が満たされたか判定し（例えば、仮想空間におけるキャラクタＣの姿勢や、接触許容物体の種類などが特定の条件を満たすか判定し）、判定結果に応じて、補正前のモーション情報に含まれていなかったサンプルモーションを特定し、モーション情報が所定の条件（例えば、キャラクタＣの足先が正確に地面に接地されること）を満たすように、特定したサンプルモーションの比率を含む混合比率となるように混合比率を補正する構成としてもよい。
【００９４】
すなわち、例えば、画像処理装置１００が、２種類の歩行動作を示すサンプルモーションが混合されていたモーションを補正する場合に、キャラクタの一部（例えば、足首に相当する部分）を動かすサンプルモーションを加えた３種類のサンプルモーションの混合比率を示すように混合比率を補正することにより、モーション情報が所定の条件を満たすようにする構成としてもよい。このような構成とすることにより、モーションの微調整を可能にすることができるようになる。
【００９５】
なお、上述した実施の形態では、仮想球体に混合比率を関連付ける場合について説明したが、混合比率を関連付けるものは球体のものに限定されず、例えば仮想立方体などであってもよい。
【００９６】
なお、上述した実施の形態では、画像処理装置１００が事前計算と実行時計算とを両方実行する場合を例にして説明したが、本発明の実施の形態はこれに限定されず、例えば、通信ネットワークを介して接続されるサーバクライアント型の構成とされていてもよい。この場合、サーバが事前計算を行い、クライアント（または、サーバとクライアントが協力して）実行時計算を行う構成としてもよい。
【００９７】
なお、上述した実施の形態では、画像処理装置１００が、あらかじめ記憶部１２に記憶された規則に従って複数の到達可能位置Ｐを算出し、算出した到達可能位置Ｐに座標情報を対応付け、その後に複数の仮想球体Ｂを一様に配置して、配置した仮想球体Ｂと到達可能位置Ｐとの位置関係に基づいて各仮想球体Ｂに混合比率を関連づける場合について説明したが、本発明の実施の形態の例はこれに限定されない。
【００９８】
すなわち、例えば、仮想球体Ｂが、キャラクタＣの足先位置（すなわち、到達可能位置Ｐ）を中心とした一定範囲の半径をもつ球体構造であり、適当な方法でサンプリングされた混合比率によって作成されたモーションにおけるキャラクタＣの足先位置に配置される構成としてもよい。以下、この場合における仮想球体情報生成処理（図３参照）の他の例について説明する。なお、本例においても、人型のキャラクタＣの歩行モーションを例にして説明する。
【００９９】
本例において、仮想球体情報生成部１６ｂは、仮想球体Ｂを、コンタクトフレームで計算する。ここで、コンタクトフレームとは、キャラクタＣの歩行モーションにおいて足が接地するフレームをいう。コンタクトフレームの検出は、足先速度についてのテンプレートマッチングを用いた簡単なアルゴリズムを用いるため、ここでの説明は省略する。
【０１００】
仮想球体情報生成処理において、制御部１１は、モーションブレンド部１６ａにより、さまざまな混合比率によってコンタクトフレームにおけるキャラクタＣの姿勢をブレンドする。
【０１０１】
次いで、制御部１１は、仮想球体情報生成部１６ｂにより、キャラクタＣの初期姿勢ＦＣ（図４参照）の足先位置を原点として、それぞれの混合比率でのキャラクタＣ（例えば、図４における、キャラクタＣの姿勢ＡＣ１など）の相対的な足先位置を計算する。
【０１０２】
各足先位置の座標を計算すると、制御部１１は、仮想球体情報生成部１６ｂにより、計算した相対的足先位置の座標（すなわち、到達可能位置Ｐの座標）に半径ｒの仮想球体を生成し、混合比率ｗを割り当てる。これにより、Ｎ個の仮想球体{ｐｉ，ｗｉ，ｒ}が生成される（Ｎは任意の正の整数）。
【０１０３】
なお、混合比率のサンプリング方法にはいくつかの方法があるが、仮想球体情報生成部１６ｂは、均一に仮想空間を充填するような仮想球体を計算するために、本例においては、足先位置をサンプリングした後、不規則配置データの補間法（scattered data interpolation）によって混合比率を計算するアプローチをとる。すなわち、仮想球体情報生成部１６ｂは、コンタクトフレームにおけるキャラクタＣの姿勢を、３次元の足先位置ベクトルを指標としてパラメータ化する。本例においては、仮想球体情報生成部１６ｂは、クリギングを簡素化した線形補間を用い、サンプリング点ｐＳを入力として混合率ｗＳを計算する（数式１参照）。
【０１０４】
【数１】
2011142084.tif 000003
【０１０５】
ただし、補間計算には誤差を伴うため、仮想球体は実際の足先位置ｐ´ｉに生成し、仮想球体{ｐ´ｉ，ｗｉ，ｒ}を生成する。
【０１０６】
以上のような構成とすることにより、均一に仮想空間を充填するようなモーション群を効率的に生成することができるようになる。
【０１０７】
なお、画像処理装置１００が、さまざまな混合比率で複数のサンプルモーションをブレンドすることにより複数の仮想球体に混合比率を対応付けておき、モーション生成処理において、一様配置にもっとも近くなる仮想球体群を選択して配置する構成としてもよい。
【０１０８】
なお、上述した実施の形態では説明を省略したが、クリギング法を利用した混合比率の補正方法について簡単に説明する。
【０１０９】
本例においては、混合比率補正部１６ｄは、データドリブンの反復的なインバースキネマティクス（逆運動学）(ｉｎｖｅｒｓｅ  ｋｉｎｅｍａｔｉｃｓ)技術を導入する。すなわち、先ず、混合比率補正部１６ｄは、接地球ＢＲの中心位置から仮想空間において垂直にのびるレイと地面ジオメトリとの交差点を検出する。そして、接地球ＢＲの中心位置から、検出した交差点へのベクトルを足先位置修正ベクトルΔｐと表す。この修正量を満たす混合比率修正量Δｗを、クリギング方程式に基づいて計算する。なお、上述した数式１の右辺ベクトルの最終要素の「１」は、混合比率の総和に対する制約条件である。すなわち、これを「０」に置き換えることで、エフェクタ位置の移動量Δｐに対応する混合比率修正量Δｗを、計算する数式２が得られる。なお、一般的なインバースキネマティクスを用いた誤算の解消方法を用いる構成としてもよい。
【０１１０】
【数２】
2011142084.tif 000004
【０１１１】
なお、数式２により算出した混合比率修正量Δｗにも誤差が含まれる場合があり、その場合にはエフェクタと地面との差分を入力してもまだ誤差が残る。この場合には、画像処理装置１００が、エフェクタと地面の誤差ベクトルに１．０未満の所定の係数を掛けて、反復計算により誤差を修正する構成としてもよい。このような構成とすることにより、解析計算に基づく反復を行なうこととなるため、非常に頑健かつ少ない回数の反復で収束するという優れた特性を得ることができるようになる。
【０１１２】
なお、上述した実施の形態では特に言及していないが、本願における「キャラクタ」の語の意義は、ビデオゲームに登場するオブジェクトとしてのキャラクタに限定されず、例えば、物理現象のシミュレーションや仮想空間の構築の際に登場する種々のオブジェクトを含むものである。すなわち、本発明は、画像処理装置（例えば、画像処理装置１００）がビデオゲームの実現に利用される場合だけでなく、コンピュータグラフィックスに関わる技術分野全般において利用される場合に、従来の方法で同程度の画像処理を実現しようとする場合よりも画像処理装置にかかる処理負荷を軽減させることができるようになる。
【０１１３】
なお、上述した実施の形態においては詳しい説明を省略したが、本発明に係るモーションブレンディングは、少数の類似したサンプルモーションクリップをブレンディングすることで、中間的な新しいモーションクリップを生成する技術を意味する。例えば、連続歩行モーションを生成するためには、補間するサンプル歩行モーションクリップを選択し、そのブレンド率を計算する連続値最適化問題を解く必要がある。従来手法では、先ず、走行や歩行などの類似動作をクラスタリングしてグラフ化することで、サンプルモーションの選択を簡単化する。さらに、散乱データ補間（scattered data interpolation）の技術を用いて、少数の直感的なパラメータによって補間計算を制御する技法が提案されている。歩行モーションでは、移動方向や速度、地面傾斜角度などの明示的な少数の制御パラメータからプレンド率を自動算出する。この方法では計算量が少ないため、インタラクティブに歩行アニメーションを生成できる。しかし、また、補間ベースのアルゴリズムは必ずしも高品質なアニメーションを生成しない。例えば、補間計算には誤差を伴うため、インバースキネマティクスなどの後処理によってモーションを修正する必要がある。また、生成計算ではほとんどの場合、動力学（dynamics）は考慮されない。このように、ブレンディングベースの技法はアニメーション品質の多少の低下を許容することで、多くの優れた特性を得られる。しかし、従来技法では冗長な後処理を必要とするため、計算効率性や頑健性の余地がある。
【０１１４】
そこで、上述した実施の形態では、モーションブレンディングに基づくインタラクティブな歩行コントローラを提案している。
【産業上の利用可能性】
【０１１５】
本発明によれば、キャラクタのモーションにおける画像処理の処理負荷を軽減し、キャラクタの所定の部位が接触許容物体に的確に接触している適切なモーション表現を行うのに有用である。
【符号の説明】
【０１１６】
１０              プログラム読取部
１１              制御部
１２              記憶部
１３              表示部
１４              音声出力部
１５              操作受付部
１６              モーション処理部
１００            画像処理装置
【図１】
2011142084.tif 000005
【図２】
2011142084.tif 000006
【図３】
2011142084.tif 000007
【図４】
2011142084.tif 000008
【図５】
2011142084.tif 000009
【図６】
2011142084.tif 000010
【図７】
2011142084.tif 000011
【図８】
2011142084.tif 000012
【図９】
2011142084.tif 000013
【国際調査報告】
2011142084.tif 000014
2011142084.tif 000015