(57)【特許請求の範囲】
【請求項１】
画像を生成して表示する画像生成／表示装置において、
少なくとも１つのオブジェクトと、そのオブジェクトが存在する環境とを含む仮想世界を構築すると共に、その少なくとも一部を可視的に表示するための画像を生成する仮想世界表現システムと、仮想世界表現システムによって生成された画像を可視化して出力する出力システムと、上記仮想世界表現システムに対して指示を入力するための指示入力システムとを備え、
上記指示入力システムは、
一定の空間を撮影して画像を取得する撮像手段と、
上記取得された画像に含まれる特定の画素パターンの移動状態を検出して、その移動状態から特徴量を抽出し、その特徴量を予め定めた特徴量辞書と比較して対応する指示の認識を行ない、指示が認識できたとき、その指示を上記仮想世界表現システムに通知する指示内容認識手段とを備え、
上記仮想世界表現システムは、
仮想世界に含まれる各オブジェクトと環境とについて、それらの状態を設定する状態設定手段と、
状態設定手段に設定される状態に基づいて仮想世界の画像を生成する画像生成手段とを備え、
上記状態設定手段は、上記通知された指示がいずれかのオブジェクトに関するものであるとき、当該オブジェクトの状態の設定をその指示に基づいて変更すること、
を特徴とする画像生成／表示装置。
【請求項２】
請求項１において、指示入力システムは、指示の開始を判定する指示開始判定手段をさらに備え、
該指示開始判定手段は、撮像手段が時系列に取得した画像中に特定の画素パターンの有無を検知し、当該画素パターンが現われたとき、指示が開始されたと判定し、
指示内容認識手段は、上記指示開始判定手段が指示が開始されたと判定した後、指示内容の認識を行なうこと
を特徴とする画像生成／表示装置。
【請求項３】
少なくとも１つのオブジェクトと、そのオブジェクトが存在する環境とを含む仮想世界を構築すると共に、その少なくとも一部を可視的に表示するための画像を生成する仮想世界表現システムに対して、指示を入力するための指示入力システムにおいて、
一定の空間を撮影して時系列に画像を取得する撮像手段と、
撮像手段が取得した時系列の画像中に含まれる特定の画素パターンの移動状態を検出する手段と、
その移動状態から特徴量を抽出する手段と、
その特徴量を予め定めた特徴量辞書と比較して、抽出された特徴量に対応する指示を検索して、対応する指示が存在するとき、当該指示を入力として受け付けて、当該指示を上記仮想世界表現システムに通知する手段とを備えることを特徴とする指示入力システム。
【請求項４】
請求項３において、上記撮像手段が時系列に取得した画像中に特定の画素パターンが存在するかを検知し、当該画素パターンが現われたとき、指示が開始されたと判定する手段をさらに備え、
上記特定の画素パターンの移動状態を検出する手段は、上記指示開始を判定する手段により指示が開始されたと判定された後、当該特定の画像の移動状態を検出することを特徴とする指示入力システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を生成して表示する画像生成／表示装置に係り、特に、少なくとも１つのオブジェクトと、そのオブジェクトが存在する環境とを含む仮想世界の少なくとも一部を可視的に表示するための画像を生成して表示すると共に、指示を受け付けて、上記仮想世界に存在する少なくとも１つのオブジェクトの状態を変化させて表示することができる画像生成／表示装置に関する。
【０００２】
【従来の技術】
画像を生成して表示する装置には、オブジェクトを含む仮想世界で生じる種々の事象について画像を生成して表示する装置、実世界で生じた事象を、実世界をモデル化した仮想世界での事象として生成して表示する装置等がある。これらの装置としては、例えば、ゲーム機、バーチャルリアリティシステムなどのアニメーションの表示を行なう装置、ナビゲーション装置等がある。このような画像表示装置において、画面に表示されるオブジェクト、例えば、人物、物等に指示を与えて、そのオブジェクトを所望の状態に変化させて表示することが必要な場合がある。特に、ゲーム機、バーチャルリアリティシステムでは、オブジェクトに指示を与えて、その状態を変化させることが、ゲーム性の向上、リアリティの向上の点において望まれる。
【０００３】
ところで、アニメーションにおいて、オブジェクトの行動を指示する場合、オブジェクトの形態を構成する要素についての移動距離、関節の角度等の数値を個別に入力する必要がある。そのため、オブジェクトの行動を指示することに膨大な時間を要している。従って、当然、リアルタイムで画像を変化させることは困難となる。
【０００４】
一方、モーションキャプチャ技術により、ジェスチャを映像として取り込んで、その動きを仮想世界に反映させて、行動の指示を行なう方法がある。この方法によれば、ジェスチャを撮像する手段と、ジェスチャの動きを抽出して、それをオブジェクトの動きに変換する手段が必要となる。しかし、個別的に数値を入力することに比べて、高速に行動指示が入力でき、リアルタイムで画像を変化させることを可能としている。
【０００５】
【発明が解決しようとする課題】
しかし、ジェスチャをそのまま用いて行動の指示を行なう場合、オブジェクトが人と同等の形態を持っていることが必要である。すなわち、人と異なる形態を持つオブジェクト、例えば、魚等の場合には、ジェスチャをそのまま取り込んで、行動指示に変換することに適用することは、困難であるという制約がある。
【０００６】
また、ジェスチャを映像で取り込んで、それを行動指示とする場合に、人の動きのうち、どれが行動指示のジェスチャであるのか識別することが必ずしも容易ではない。また、そのため、映像に表れる人の動作が指示であるかどうかの判定を行なう必要が生じる。しかし、この判定は、必ずしも容易ではなく、装置に大きな負担がかかると共に、指示の抽出が正確に行なえない場合もあり得る。
【０００７】
本発明の第１の目的は、オブジェクトの形態によらず、その状態を変化させるための指示の入力が可能である画像生成／表示装置を提供することにある。
【０００８】
また、本発明の第２の目的は、指示の抽出が容易で、かつ、正確に行なえる画像生成／表示装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記第１の目的を達成するため、本発明の第１の態様は、
画像を生成して表示する画像生成／表示装置において、
少なくとも１つのオブジェクトと、そのオブジェクトが存在する環境とを含む仮想世界を構築すると共に、その少なくとも一部を可視的に表示するための画像を生成する仮想世界表現システムと、仮想世界表現システムによって生成された画像を可視化して出力する出力システムと、上記仮想世界表現システムに対して指示を入力するための指示入力システムとを備え、
上記指示入力システムは、
一定の空間を撮影して画像を取得する撮像手段と、
上記取得された画像に含まれる特定の画素パターンの移動状態を検出して、その移動状態から特徴量を抽出し、その特徴量を予め定めた特徴量辞書と比較して対応する指示の認識を行ない、指示が認識できたとき、その指示を上記仮想世界表現システムに通知する指示内容認識手段とを備え、
上記仮想世界表現システムは、
仮想世界に含まれる各オブジェクトと環境とについて、それらの状態を設定する状態設定手段と、
状態設定手段に設定される情報に基づいて仮想世界の画像を生成する画像生成手段とを備え、
上記状態設定手段は、上記通知された指示がいずれかのオブジェクトに関するものであるとき、当該オブジェクトの状態の設定をその指示に基づいて変更すること、
を特徴とする画像生成／表示装置を提供する。
【００１０】
本発明の第２の目的を達成するため、本発明第２の態様は、上記第１の態様において、指示入力システムは、指示の開始を判定する指示開始判定手段をさらに備え、
該指示開始判定手段は、撮像手段が時系列に取得した画像中に特定の画素パターンの有無を検知し、当該画素パターンが現われたとき、指示が開始されたと判定し、
指示内容認識手段は、上記指示開始判定手段が指示が開始されたと判定した後、指示内容の認識を行なうこと
を特徴とする画像生成／表示装置が提供される。
【００１１】
また、本発明の第３の態様によれば、
少なくとも１つのオブジェクトと、そのオブジェクトが存在する環境とを含む仮想世界を構築すると共に、その少なくとも一部を可視的に表示するための画像を生成する仮想世界表現システムに対して、指示を入力するための指示入力システムにおいて、
一定の空間を撮影して時系列に画像を取得する撮像手段と、
撮像手段が取得した時系列の画像中に含まれる特定の画素パターンの移動状態を検出する手段と、
その移動状態から特徴量を抽出する手段と、
その特徴量を予め定めた特徴量辞書と比較して、抽出された特徴量に対応する指示を検索して、対応する指示が存在するとき、当該指示を入力として受け付けて、当該指示を上記仮想世界表現システムに通知する手段とを備えることを特徴とする指示入力システムが提供される。
【００１２】
ここで、第３の態様において、撮像手段が時系列に取得した画像中に特定の画素パターンが存在するかを検知し、当該画素パターンが現われたとき、指示が開始されたと判定する手段をさらに備えることができる。上記特定の画素パターンの移動状態を検出する手段は、指示開始を判定する手段により指示が開始されたと判定された後、当該特定の画像の移動状態を検出することができる。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１４】
本発明の画像生成／表示装置は、図１に示すように、画像の生成および音響の生成を行なうための仮想世界表現システム２００と、このシステム２００に対して、指示を入力するための指示入力システム１００と、仮想世界表現システム２００で生成された画像および音響を可視化および可聴化して出力するための出力システム３００とを有する。
【００１５】
本発明の画像生成／表示装置は、仮想世界表現システム２００において、少なくとも１のオブジェクトと、それが存在する環境とを含む仮想世界を予め用意して、その仮想世界の少なくとも一部を可視的に表示するための画像を生成する。ここでの仮想世界は、まったくの仮想的な世界であっても、また、実世界をモデル化した世界であってもよい。例えば、図３に示すような仮想世界を設定することができる。図３は、仮想世界の一例を示す概念図である。出力システム３００は、生成された画像を表示する。また、本発明の画像生成／表示装置は、指示入力システム１００において、仮想世界表現システム２００に対する指示を入力する。この指示は、ジェスチャなどの身振りによるものを対象とする。
【００１６】
オブジェクトは、人、動物、物等の他、架空の生物、人工的に創造された仮想生命体等のいずれであってもよい。もちろん、これらの一種または二種以上が混在してもよい。また、同一種のオブジェクトが複数存在していてもよい。例えば、図３では、イルカを模擬した水棲生物の例が示されている。同図では、オブジェクトＯｂが３つある例を示している。
【００１７】
環境は、それらのオブジェクトが存在する場所であり、例えば、地球、他の惑星、衛星、未知の天体等、それらにおける特定の地域、建造物の内部、移動体の内部などが挙げられる。一例を挙げれば、図３に示すように、海Ｓｅと空Ｓｋとで構成される空間が環境として与えられている。空Ｓｋには、背景画像Ｂｇとして雲が定義されている。なお、環境には、時刻の要素も含ませることができる。例えば、時間の経過に伴う変化、具体的には、季節の変化、加齢による変化等がある。
【００１８】
また、まったくの仮想的な環境を構築してもよい。例えば、物理法則に特定の仮定または制限を設けることにより、通常では実在し得ない性質を持つように定義された空間で構成される世界等が挙げられる。例えば、光の速度が異常に遅い空間、重力が位置によって著しく異なる空間等が挙げられる。もちろん、実際の地形、景観等を反映したものであってもよい。この例としては、例えば、ナビゲーションシステムが挙げられる。
【００１９】
画像の生成は、仮想世界全体であっても、一部であってもよい。仮想世界の大きさが、オブジェクトの大きさに比べて十分大きい場合には、一部を切り出して表示することが好ましい。この場合、可視化する部分を指定することもできる。例えば、カメラ位置を、仮想世界の予め定めた位置、オブジェクトの近傍位置、オブジェクトの視点位置、オブジェクトを追跡する位置等が設定できる。また、立体視することができるように設定してもよい。
【００２０】
図４に、カメラ位置の設定例を示す。図４の例では、カメラは、固定カメラＣｐ１と、オブジェクト中心カメラＣｐ２と、オブジェクト追尾モードカメラＣｐ３と、オブジェクト視点カメラＣｐ４の４台が設定されている。画像を表現する際には、これらのうちいずれかが指定されて、その視点からの仮想世界の画像が表現される。固定カメラＣｐ１は、位置が仮想世界の原点Ｏを基準とする仮想世界座標系で規定され、仮想世界の原点Ｏから一定の距離にある固定位置Ｐに置かれ、方向が原点Ｏを臨む。オブジェクト中心カメラＣｐ２は、オブジェクトＯｂの中心位置Ｏｐを固定カメラＣｐ１と同じ距離および平行な方向で臨む。オブジェクト追尾モードカメラＣｐ３は、時刻ｔにおけるオブジェクトＯｂの中心位置Ｏｐからｄｔだけ過去の時点である、時刻（ｔ−ｄｔ）におけるオブジェクトＯｂの中心位置Ｏｐに置かれて、オブジェクトを追尾する状態で臨む。オブジェクト視点カメラＣｐ４は、オブジェクトＯｂの視点（具体的には、例えば、オブジェクトＯｂの中心位置Ｏｐ）からオブジェクトの進行方向の一定距離だけ先の位置を臨む。これにより、ユーザの好みの視点でオブジェクトを観察することができる。
【００２１】
本発明では、画像のほかに、音響を併せて出力するように構成することができる。音響は、環境の状態によって生じる効果音、オブジェクト自体が発する音、音楽等がある。また、その仮想世界についての説明を行なうためのナレーション、操作の仕方を指示するガイドメッセージ等が挙げられる。オブジェクトが発する音には、例えば、台詞、感情表現音、応答を示す応答音等がある。応答音は、例えば、オブジェクトが指示を了解したことを表現するための音、指示を了解できなかったことを示す音等が挙げられる。また、オブジェクトと環境との相互作用によって発生する音として、オブジェクトが環境に作用したときの衝撃音、例えば、水棲生物がジャンプして水上に出る際の音、ジャンプした水棲生物が水に戻る際の衝撃音等が挙げられる。音自体としては、そのオブジェクトに定義されている音を用いて、例えば、特定の鳴き声として生成することができる。このような音響を加えることによって、オブジェクトの動作にリアリティを増加することが可能となる。また、台詞、感情表現等が発せられると、そのオブジェクトとあたかも対話できるかのようにユーザに感じさせることができて、好ましい。
【００２２】
次に、本発明の各部の概要について、図面を参照して説明する。
【００２３】
仮想世界表現システム２００は、仮想世界に含まれる各オブジェクトおよび環境と、それらを臨むカメラとについて、それらの状態を設定する状態設定手段２１０と、状態設定手段２１０に設定される状態に基づいて仮想世界の画像を生成する画像生成手段２４０とを備える。本発明では、これらの他に、例えば、仮想世界においてオブジェクトの動きにともなって環境に付随的に生ずる効果を生成するための付随効果生成手段２２０と、オブジェクト、環境および付随効果を生成するための画像データを格納するＣＧデータベース２３０と、音響発生を行なうための音響を生成するための音響発生手段２５０とを備える。
【００２４】
状態設定手段２１０は、例えば、図２に示すように、指示入力手段１００から送られるコマンドを受け取ると、そのコマンドの内容を解釈して、そのコマンドが、オブジェクト、環境およびカメラのいずれに関するものかを判定するコマンド解釈部２１１と、そのコマンドがオブジェクトに関するものであるとき、オブジェクトを特定の状態とするための指示、例えば、位置、運動の種別等の設定を行なうオブジェクト情報を生成して、出力するオブジェクト設定手段２１２と、そのコマンドがカメラに関するものであるとき、カメラの位置および方向を設定するカメラ情報を生成して、出力するカメラ設定手段２１３と、そのコマンドが環境に関するものであるとき、背景、時刻、天候等の環境の状態を設定する環境情報を生成して、出力する環境設定手段２１４とを有する。
【００２５】
オブジェクト設定手段２１２は、オブジェクトごとに、それぞれがとるべき状態を記述するオブジェクトの内部状態情報の設定および変更を行なう。内部状態情報は、状態の新たな設定およびその設定された状態が実行に移されたとき更新されるように設定することができる。ただし、新たに設定された状態が、それ迄に設定されている状態の実行に支障を与えないものであるときは、その新たな状態の設定がそれより前に設定された状態と併存するようにしてもよい。そして、新たに設定された状態が、それ迄に設定されている状態の実行に支障を与えるとき、例えば、矛盾する命令等が設定された場合には、内部状態は、新たに設定された状態に更新される。また、オブジェクトが設定された内部状態情報を用いて対応する動作の実行に移ったとき、この内部状態情報は、リセットされる。従って、内部状態情報として、その一部または全部に、なにも設定されていない場合もあり得る。その場合には、オブジェクトは、システムが予め持っている運動状態となる。この内部状態としては、例えば、移動、ターン、ジャンプ、静止、回転等の各種命令の設定がある。また、運動の大きさ、運動速度等のオブジェクトの運動の程度を記述する情報を、属性情報として併せて設定することができる。
【００２６】
また、オブジェクト設定２１２は、オブジェクトが発する音の情報も設定することができる。この設定された音の情報は、音響発生手段２５０に送られる。また、上記オブジェクト情報には、オブジェクトの動作にともなって発生するオブジェクト動作付随音響を示す情報も設定可能である。このオブジェクト付随音響を示す情報は、音響発生手段２５０に供給される。オブジェクト付随音響としては、例えば、風の音、波の音等がある。
【００２７】
カメラ設定手段２１３は、仮想世界を観察する際のカメラ位置および方向を設定する。このカメラ位置は、仮想世界の原点を基準とする仮想世界座標系を構成するＸ軸、Ｙ軸およびＺ軸の各座標で定義される位置と、それらの軸に対する傾きα、βおよびγとで設定される。なお、カメラ位置としては、例えば、上述した４種類がある。また、カメラ情報には、カメラの設定されている位置が水上か、水中かの別を示す情報が含まれる。これは、カメラの位置によって、効果音が異なるためである。このカメラが水上か水中かの別を示す情報は、音響発生手段２５０に与えられる。
【００２８】
環境設定手段２１４は、仮想世界自体の環境およびオブジェクトが置かれる環境の状態を設定するためのものである。ここでは、環境の周期変化、経時変化、ランダム変化等のほか、意図的な変化等のように種々あり得る。環境の状態のよって効果音等が変化するので、その情報が音響発生手段２５０に送られる。
【００２９】
付随効果生成手段２２０は、オブジェクト情報を受けて、オブジェクトの動きが環境の一部分に与える変化を生成する。これは、例えば、オブジェクトとして、水棲生物が水面でジャンプして、水面に再突入したとき生じるしぶき、波紋、泡等、また、オブジェクトが水面近くで移動するときに生じる航跡等を、オブジェクトの運動に起因して環境に生じる局部的変化を付随効果として表現するために生成される。この付随効果により、オブジェクトの運動のリアリティを増加することができる。図５は、これらの付随効果の一例を示す。同図（ａ）は、オブジェクトＯｂが水面下から水面上に飛び出すジャンプを行なった際のしぶきおよび波紋を示す。同図（ｂ）は、オブジェクトＯｂが水面上から水面に飛び込む着水を行なった際のしぶき、泡および波紋を示す。同図（ｃ）は、オブジェクトＯｂが水面またはその近傍を移動する際に生じる航跡およびしぶきを示す。
【００３０】
ＣＧデータベース２３０は、オブジェクト、環境および付随効果のそれぞれを画像表現する際に用いる基本データが格納される。
【００３１】
基本データのうち、オブジェクトに関するデータとしては、各オブジェクトの基本的な形態および運動を示すためのデータ、例えば、骨格、外形等の形態データおよび運動時の各部の動きを示すモーションデータと、そのオブジェクトの持つ性質、例えば、重量、色、性格、経時変化情報等の属性情報とがある。経時変化情報は、例えば、オブジェクトの年齢の変化を規定した情報である。具体的には、時刻変化に対応させてオブジェクトを加齢させるための情報、および、それにともなって変化する事項を定めた情報等がある。加齢と共に変化する事項とは、例えば、形態の大きさ、重量、色、性格等が挙げられる。
【００３２】
形態データとしては、例えば、図７（ａ）、図８（ａ）および図８（ｂ）に示すような、オブジェクトＯｂの外面を多角形ｆで近似して表した形状データと、図７（ｂ）に示すような、オブジェクトＯｂの全体の形態変化を決定するためのオブジェクトのスケルトンＳｎを規定するスケルトンデータとが挙げられる。形状データは、図８（ｂ）に示すように、各多角形ｆ１，ｆ２，ｆ３…のように、それぞれを構成する頂点Ｖの定義と、当該オブジェクトＯｂのローカル座標系で表記される各頂点Ｖの座標と、各頂点Ｖの、スケルトンＳｎを構成する各骨についての動きに対する関係率を表すデータとを有する。
【００３３】
モーションデータとしては、図９（ａ）および（ｂ）に示すように、オブジェクトの動きに対するスケルトンの各骨（スケルトン１…スケルトンｎ）の角度の時間変化を示す情報が挙げられる。図９（ａ）は、オブジェクトが遊泳する場合の基本モーションを示している。また、図９（ｂ）は、オブジェクトがターンする場合の基本モーションを示している。
【００３４】
環境に関するデータとしては、当該仮想世界の時刻を示す時刻情報、環境における自然現象を表す情報、環境の経時変化を表す情報と、それらの情報に応じて環境をどのような画像に表現すべきかを示す画像変化情報とが挙げられる。時刻情報としては、例えば、その仮想世界に定義されたカレンダ、時刻等が挙げられる。環境における自然現象としては、気象等の時々刻々変化する現象の情報と、地震、火山噴火等のように、稀に生じる現象の情報と、季節の変化、一日の変化等の周期性を示す情報等がある。画像変化情報は、例えば、一日の変化を表す場合、画面の明るさを夜明けから日没までを明るくし、日没から夜明けまでを暗くすることを指示する情報、および、環境を照らす照明のスペクトル変化を示す情報が挙げられる。
【００３５】
付随効果に関するデータとしては、オブジェクトの動作にともなって生じるべき環境の局部的変化についての変化パターン、局部変化を発生させるための画像要素、付随効果を発生させるための物理法則等が挙げられる。変化パターンとしては、例えば、図６の状態遷移図に示されるような、オブジェクトの動作に伴う付随効果の対応を示すデータが挙げられる。画像要素としては、例えば、図５に示すような、しぶき、波紋、航跡等を発生させるための基本的な画像データがある。物理法則としては、水面の波の生成および伝搬を記述する法則、しぶきの飛散を示す運動方程式等が挙げられる。
【００３６】
画像生成手段２４０は、オブジェクト、環境、および、付随効果についてそれぞれの近い将来の状態を求め、求められた状態に基づいて、時々刻々、画像を生成し、それらを合成する。画像は、逐次生成され、全体として動画像を形成する。なお、静止画像を形成するようにしてもよい。また、画像生成手段２４０は、現在表示されている画像を生成するためのデータと、オブジェクト設定情報に何も指定されていない場合におけるオブジェクトの運動に関する情報を記憶している。なお、この何も指定されていない場合のオブジェクトの運動に関する情報は、ＣＧデータベース２３０に格納してもよい。
【００３７】
画像生成手段２４０は、オブジェクト設定手段２１２で設定されているオブジェクト情報に基づいて、オブジェクトの近い将来の状態を求める。そして、この近い将来の情報と、カメラ情報とを参照して、オブジェクトの画像を生成する。また、環境情報によって指定される次の環境の状態を、ＣＧデータベース２３０を参照して求め、カメラ情報を参照して、環境の画像を生成する。さらに、付随効果手段２２０によって生成された付随効果について、カメラ情報を参照して、画像を生成する。そして、オブジェクトの状態の決定は、予め定義されている運動方程式と、オブジェクト情報とに基づいて行なわれる。例えば、オブジェクトが水面からジャンプする場合には、オブジェクトが水中から飛び出すに必要な速度、角度等を求めると共に、水上での落下軌道を求め、着水位置および着水速度を求める。これらの情報に基づいて、次の画像の状態を決める。
【００３８】
音響発生手段２５０は、オブジェクトの状態に併せて、オブジェクトが発する音、背景音、ナレーション、ガイドメッセージ、音楽等の音響情報を生成する。オブジェクトが発する音、ナレーションおよびガイドメッセージについては、例えば、予め録音または合成して生成した音素片データと、台詞、感情表現音、応答音、ナレーション、ガイドメッセージ等の表現に応じた音響を生成すべき音素片の組み合わせを指定するデータとをライブラリ（図示せず）に記録しておく。背景音および音楽は、予め環境にあった音を録音しておき、これを音響のライブラリとして保存しておき、必要に応じて再生するようにすることができる。なお、音の発生源に位置が関係する場合には、その位置を示すデータも併せて記録しておく。また、ライブラリは、ＣＧデータベース２３０内に設けてもよい。
【００３９】
出力システム３００は、画像を表示するための表示装置３１０と、音響を出力するための音響装置３２０とを有する。表示装置３１０は、大画面を実現する場合には、大型スクリーンと、それに画像を投影するためのプロジェクタとで構成することができる。もちろん、複数の表示装置を多数配置したマルチビジョンの構成とするともできる。また、通常のＣＲＴディスプレイ、液晶ディスプレイを用いて表示することもできる。また、音響装置３２０は、ステレオ再生が可能なように、少なくとも２チャンネルの、オーディオアンプとスピーカとで構成される。もちろん、立体的な音響再生を行なうために、マルチチャンネルのオーディオアンプおよびスピーカを用いることもできる。
【００４０】
出力システム３００としては、ユーザの頭部に装着して、目の前で画像を表示するように構成したヘッドマウンテッドディスプレイ（ＨＭＤ）を用いることもできる。この場合、首の回転を検出するセンサを設けることにより、ユーザの視線方向を検出し、これに基づいて、カメラ方向を設定することができる。このような出力システムを用いると、ユーザに、あたかも水中に存在するかのような感覚を持たせることができ、リアリティを増大することができる。なお、音響装置３２０をヘッドホンで構成することもできる。
【００４１】
指示入力システム１００は、例えば、指示者のジェスチャを撮像して、そのジェスチャに含まれる指示を認識する。ただし、ジェスチャそのものを全体的に把握するのではなく、ジェスチャにともなって移動する特定の画素パターンの移動状態を検出し、その移動状態から特徴量を抽出して、特徴に基づいて指示の認識を行なう。特定の画素パターンを検出することとした理由は、ジェスチャ全体を認識するには、画像の解析処理に負担がかかるので、それを避けるためである。また、指示の開始点を容易に認識できるようにするためでもある。また、移動状態としては、典型的には、例えば、軌跡が挙げられる。この他に、画素パターンの移動速度、軌跡が描かれた空間の範囲の大きさ等を例示することができる。
【００４２】
具体的には、本発明では、指示者が、例えば、ペンライト等の発光体を手持ちして、そのペンライトを点灯した状態で、円、縦振り、横振り、８の字、波等の予め定めたジェスチャパターンを空間で描くように、ペンライトの発光点を移動させることにより行なう。これらのジェスチャパターンは、２次元に限らず、３次元であってもよい。
【００４３】
ここで、ペンライトのような発光体を用いている理由は、点灯、消灯により指示の開始および終了を明確化することができるからである。従って、画像処理において、少なくとも開始を明確化できるものであれば、指示を行なう道具は、発光体に限られない。例えば、反射率の高い領域を一部に設け、指示を行なうときそれを露出させ、指示を行なわないとき、露出しないようにすることもできる。具体的には、例えば、手袋の指の一部に螢光塗料を塗布しておき、指示を行なうとき、それが塗布されている指を立て、それ以外のときは、その指を折った状態にしておくことによっても実現することができる。また、先端に特定の色を塗布した指揮棒を用意し、指示を行なうとき、先端を露出し、指示を行なわないとき、先端を覆うようにしてもよい。
【００４４】
指示入力システムは、例えば、図１０に示すように、一定の空間を撮影して画像を取得する撮像手段１１０と、上記取得された画像に基づいて指示内容を認識すると共に、指示内容を上記仮想世界表現システムに通知する指示内容認識手段１３０と、指示の開始を判定する指示開始判定手段１２０とを備える。なお、指示開始判定手段１２０は、指示の開始が明確である場合、指示開始を明らかにする必要がない場合等の場合には、省略してもよい。
【００４５】
撮像手段１１０は、例えば、画像を時系列で取得する撮像装置と、撮像された画像を処理して、目的の画像データとする画像処理装置とを有する。撮像装置としては、例えば、少なくとも１台のビデオカメラが用いられる。好ましくは、２台のカメラを用いる。カメラを２台用いることで、空間で行なわれる指示を立体的に把握することができる。画像処理装置としては、目的とする特定の画素パターンを強調処理する装置、アナログ／ディジタルコンバータ等の装置を有する。また、カメラを２台用いる場合、２台のカメラの画像を１フレーム分に納めるように処理する装置を用いることができる。
【００４６】
図１１に、撮像手段の一例を示す。同図に示す撮像手段は、２台の撮像装置１１１Ｌ，１１１Ｒと、撮像された画像を処理して、目的の画像データとする画像処理装置１１２とを有する。
【００４７】
指示内容認識手段１３０と指示開始判定手段１２０とは、共に情報処理装置で構成される。具体的には、例えば、上記撮像手段において得られた時系列画像を格納するための記憶手段と、それぞれの手段を実現する手順を含むソフトウエアとで構成される。指示開始判定手段は１２０は、例えば、撮像手段１１０によって撮像された複数フレームの画像から特定の画素パターンを抽出し、特定の画素パターンが抽出されたとき、指示開始と判定する。指示内容認識手段１３０は、例えば、図１０に示すように、撮像手段１１０によって撮像された複数フレームの画像から、特定の画素パターンの動きを抽出して、移動状態を検出する移動状態検出手段１３１と、検出された移動状態から特徴量を抽出する特徴量抽出手段１３２と、特徴量に基づいてコマンドの内容を判定する指示内容判定手段１３３と、特徴量抽出および指示内容判定に用いられる特徴量辞書１３４とを有する。指示内容判定手段１３３は、特徴量辞書を参照して特徴量に対応するコマンドの判定を行なうコマンド判定手段１３３１と、特徴量辞書を参照して属性を判定する属性判定手段１３３２とを有する。特徴量辞書１３４は、特徴量の抽出の際に用いられるルールを定めている特徴量抽出ルール１３４１と、特徴量とコマンドとの対応関係を示す特徴量／コマンド対応テーブル１３４２と、特徴量と属性との対応関係を示す属性判定テーブル１３４３とを有する。
【００４８】
次に、本発明の実施の形態について、さらに詳細に説明する。
【００４９】
図１１に、本発明の画像生成／表示装置を構成するハードウエアシステム構成の概要を示す。
【００５０】
図１１に示すハードウエアシステムは、仮想世界表現システム２００と、指示入力システム１００と、出力システム３００とを備える。これらのシステム１００，２００は、例えば、イーサネット（登録商標）等のネットワークシステム４００で接続され、互いに情報の授受を行なうことができる。図１１において、指示入力システム１００は、撮像手段１１０を構成するカメラ１１１Ｌ，１１１Ｒと、画像処理装置１１２と、画像処理装置から入力した画像に基づいて指示内容を認識する指示内容認識手段１３０および指示開始判定手段１２０を実現するための情報処理装置１５０とを備える。仮想世界表現システム２００は、画像の生成を行なって、ＲＧＢ信号を出力する情報処理装置であるコンピュータグラフィックス生成装置（以下ＣＧ生成装置）２６０と、音響生成用の情報処理装置２８０および楽器ディジタルインタフェース（ＭＩＤＩ  Ｉ／Ｆ）２９０とを有する。出力システム３００は、マルチチャネルアンプ３２１とマルチチャネル対応の複数個のスピーカ３２２とで構成される。
【００５１】
カメラ１１１Ｌ，１１１Ｒは、ジェスチャを行なうユーザＵの上半身に向けて、ユーザＵの左右の斜め前方の上方位置に設置される。また、表示装置３１０は、このユーザＵの前方に配置される。また、スピーカ３２２は、ユーザＵを取り囲むように配置される。これらは、例えば、防音壁を有する場所、例えば、スタジオに設定される。
【００５２】
指示入力システム１００は、より具体的には、例えば、図１２に示すようなハードウエアで構成される。すなわち、撮像手段１１０として、カメラ１１１Ｌ，カメラ１１１Ｒと、カメラから得られた画像について、特定の画素が強調される処理を行なうビデオエフェクタ１１２１と、カメラで得られた画像をディジタルデータに変換するＡ／Ｄコンバータ１１２２とを有する。また、情報処理装置１５０は、格納されているプログラムに従って、指示入力処理を実行するための処理を行なうＣＰＵ１５１と、ＣＰＵ１５１が実行する各種命令を格納するメモリ１５２と、取り込んだ画像データ、作業用データ等を格納するためのメモリ１５３と、特徴量辞書を格納する外部記憶装置１５４とを有する。ＣＰＵ１５１と、メモリ１５２，１５３と、外部記憶装置１５４と、Ａ／Ｄコンバータ１１２２とは、バス１５９で相互に接続される。メモリ１５２には、システムの全体を制御するための制御手順を格納する全体制御手順格納部１５２１と、指示開始を検出するための手順を格納する指示開始検出手順格納部１５２２と、指示内容を認識するための手順を格納する指示内容認識手順格納部１５２３とが設けられる。また、メモリ１５３には、作業領域１５３１と、カメラ１１１Ｌの撮像画像を複数フレーム分格納するためのカメラ１撮像動画像格納領域１５３２と、カメラ１１１Ｒの撮像画像を複数フレーム分格納するためのカメラ２撮像動画像格納領域１５３３とを有する。
【００５３】
特徴量辞書には、各ジェスチャについての特徴量が規定されている。例えば、図２５に示すように、円は、外接矩形の高さ／横の比が“０．５〜２．０”であり、水平線交差数が“２”、垂直線交差数が“２”、および、深さ方向が“なし”が特徴量として規定されている。
【００５４】
仮想世界表現システム２００は、より具体的には、図１３に示すＣＧ生成装置２６０と、図１４に示す情報処理装置２８０とを備える。
【００５５】
ＣＧ生成装置２６０は、図１３に示すように、格納されているプログラムに従って、指示入力処理を実行するための処理を行なうＣＰＵ２６１と、ＣＰＵ２６１が実行する各種命令を格納するメモリ２６２と、取り込んだ画像データ、作業用データ等を格納するためのメモリ２６３と、ＣＧデータベース２３０を構成するための画像データを格納する外部記憶装置２６４と、ＲＧＢ信号変換器２７０とを有する。ＣＰＵ２６１と、メモリ２６２，２６３と、外部記憶装置２６４と、ＲＧＢ信号変換器２７０とは、バス２６９で相互に接続される。メモリ２６２には、システムの全体を制御するための制御手順を格納する全体制御手順格納部２６２１と、状態設定を行なうための手順を格納する状態設定手順格納部２６２２と、画像を生成するための手順を格納する画像生成手順格納部２６２３とが設けられる。また、メモリ２６３には、作業領域２６３１と、付随効果を生成するための付随効果生成手順格納部２６３２と、画像を生成するためのデータを格納する画像生成データ格納領域２６３３とを有する。画像生成データ格納領域２６３３には、次に表示すべき画像を生成するためのデータのほか、複数フレーム過去分のデータも保存している。そして、新しいデータが格納されるごとに、最も旧いデータを廃棄する。
【００５６】
情報処理装置２８０は、図１４に示すように、格納されているプログラムに従って、指示入力処理を実行するための処理を行なうＣＰＵ２８１と、ＣＰＵ２８１が実行する各種命令を格納するメモリ２８２と、ライブラリを構成するための音響データを格納する外部記憶装置２８４と、楽器ディジタルインタフェース（ＭＩＤＩ  Ｉ／Ｆ）２９０とを有する。ＣＰＵ２８１と、メモリ２８２と、外部記憶装置２８４と、楽器ディジタルインタフェース（ＭＩＤＩ  Ｉ／Ｆ）２９０とは、バス２８９で相互に接続される。メモリ２８２には、システムの全体を制御するための制御手順を格納する全体制御手順格納部２８２１と、音響を発生させる音響発生手順を格納する音響発生手順格納部２８２２と、作業領域２８２３とを有する。
【００５７】
なお、図１１のハードウエアシステムでは、仮想世界表現システム２００で２台の情報処理装置を用い、また、指示入力システム１００で１台の情報処理装置を用いている。しかし、本発明は、使用する情報処理装置の台数に制限されることはない。例えば、仮想世界表現システム２００を１台の情報処理装置とすることもできる。また、仮想世界表現システム２００と指示入力システム１００とを１台の情報処理装置で構成することができる。一方、各システムをさらに細分化して、より多くの情報処理装置で分散処理する構成としてもよい。
【００５８】
次に、本発明の画像生成／表示装置について、その動作と共に説明する。なお、以下の説明では、仮想世界として、図３に示すように、オブジェクトＯｂとしてイルカを用い、環境として、海Ｓｅと空Ｓｋが存在することを想定する。また、指示入力の撮像を行なうためのカメラが２台設置されているものとする。
【００５９】
まず、指示入力について説明する。
【００６０】
指示入力は、図１１および図２１に示すように、ユーザＵがペンライトＰＬを手に持ち、このペンライトＰＬを点灯させて、予め定められた指示動作のうちいずれかについて、ペンライトＰＬを振るジェスチャを行なって表現することにより実行する。
【００６１】
ここで、ジェスチャによる指示について説明する。ジェスチャによる指示には、オブジェクトに対する指示の他、上述した図４に示すカメラの設定指示がある。図１５に、ジェスチャによって振られるペンライトＰＬの光点の軌跡と、指示内容との関係を示す。これらの光点の軌跡の選び方、軌跡と指示内容との対応関係は、任意に定められる。ただし、動作させようとするオブジェクトの行動に対応する軌跡を選ぶことにより、指示するためのジェスチャを覚えやすくするという利点がある。ジェスチャによって指示できるのは、オブジェクトの行動に限られない。例えば、カメラに関する指示も可能である。
【００６２】
ユーザＵによるジェスチャは、指示入力システム１００のカメラ１１１Ｌ，１１１Ｒで撮像し、撮像信号は、それぞれビデオエフェクタ１１２１で画像処理された後、Ａ／Ｄコンバータ１１２２でディジタルデータに変換される。ビデオエフェクタ１１２１では、ペンライトＰＬの画像が強調されるように、処理される。ディジタルデータに変換された画像データは、情報処理装置１５０に取り込まれる。以下、情報処理装置１５０による処理について説明する。
【００６３】
図１６は、情報処理装置１５０で実行される指示入力処理の概要を示す。図１６によれば、指示入力処理は、ジェスチャ開始、すなわち、指示入力開始の検出（ステップ１０００）を、ジェスチャ開始が検出されるまで行なう（ステップ２０００）。ジェスチャが開始されると、ジェスチャの認識、すなわち、指示内容の認識処理を行なう（ステップ３０００）。そして、認識された指示の内容を仮想世界表現システム２００に送る。ここで、カメラ１１１Ｌ，１１１Ｒからの画像の取り込みは、図１２に示すメモリ１５２に格納される全体制御手順格納部に格納される全体制御手順をＣＰＵ１５１が実行することにより行なわれる。ジェスチャ開始検出処理およびジェスチャ認識処理は、それぞれ同メモリ１５２に格納される指示開始検出手順および指示内容認識手順をそれぞれＣＰＵ１５１が実行することにより実現される。
【００６４】
上記ジェスチャ開始検出処理（１０００）は、図１７に示すように行なわれる。すなわち、カメラ１１１Ｌ，１１１Ｒで撮像された画像データを、画像処理装置１１２を介してＮフレーム分のディジタルデータとして取り込んで、メモリ１５３のカメラ１撮像動画像格納領域１５３２およびカメラ２撮像動画像格納領域１５３３に格納する（ステップ１１００）。次に、格納されたディジタル画像データからペンライトＰＬの点灯の有無を検出する（ステップ１２００）。具体的には、ペンライトＰＬを撮像して得られる画素パターンを予め定め、この画素パターンの有無を検出して、ペンライトＰＬの点灯の有無を検出する。
【００６５】
次に、上記ジェスチャ認識処理（３０００）は、図１８に示すように行なわれる。予め定めたｎ秒間の動画像の各フレームをメモリ１５３のカメラ１撮像動画像格納領域１５３２およびカメラ２撮像動画像格納領域１５３３に格納する（ステップ３１００）。次に、格納されている各フレームについて、ペンライトＰＬの点灯部分に相当する画素パターンを抽出し、その位置を作業領域１５３１に格納する（ステップ３２００）。これを格納されているすべてのフレームについて行なう。作業領域１５３１に格納された画素パターンの分布を示すデータから特徴量を抽出する（ステップ３３００）。そして、抽出した特徴量を特徴量辞書１５４に格納される特徴量と比較して、指示内容を判断する（ステップ３４００）。
【００６６】
特徴量抽出処理（３３００）は、図１９に示すように、抽出したペンライトＰＬの点灯部分Ｐの軌跡Ｌに対して外接矩形Ｒｔを求める（ステップ３３１０）。具体的には、図２０に示すように、ペンライトＰＬの光点Ｐの軌跡Ｌの垂直方向の最大値および最小値で垂直方向の辺の長さ（高さｈ）を決定し、かつ、水平方向の最大値および最小値で水平方向の辺の長さ（幅ｗ）を決定して、外接矩形Ｒｔを求める。そして、上記外接矩形Ｒｔ内の所定水平線ＨＬ・所定垂直線とペンライトの軌跡との交差回数をカウントする（ステップ３３２０）。ここで、所定水平線ＨＬは、例えば、外接矩形Ｒｔの高さ方向中央の水平線ＨＬとすることができる。同様に、所定垂直線ＶＬは、外接矩形Ｒｔの幅方向中央の垂直線ＶＬとすることができる。
【００６７】
次に、深さ方向の有無を判定する（ステップ３３３０）。ここで、深さ方向とは、図２１に示すように、ユーザＵが二つのカメラ１１１Ｌ，１１１Ｒに向かってペンライトＰＬを振る場合の方向である。図２１では、ＣＤの方向である。これを上方から見た状態を図２２に示す。判定は、カメラ１１１Ｌ，１１１Ｒで得られたペンライトＰＬの点灯部分の軌跡Ｌの進行方向が同相か、逆相かを調べることにより行なう。図２３に示す例は、カメラ１１１Ｌ，１１１Ｒで得られた軌跡が、共に同じ向き（同相）を持っているので、軌跡は横方向であることがわかる。一方、図２４に示す例は、カメラ１１１Ｌ，１１１Ｒで得られた軌跡が、反対の向き（逆相）であるので、軌跡は深さ方向であることがわかる。
【００６８】
このようにして得られる特徴量の判定は、図２５に示す特徴量辞書を参照して行なう。辞書に規定される条件を満たす場合には、ユーザＵのジェスチャは、特徴量辞書に規定されるいずれかのジェスチャであることが判定される。また、図２５の辞書には示していないが、各ジェスチャについて、例えば、図１５に示すように、それぞれ指示が定義されている。
【００６９】
次に、仮想世界表現システム２００について、その動作と共にさらに詳細に説明する。なお、以下では、オブジェクトとしてイルカを表示する場合の例について説明する。
【００７０】
図２６は、仮想世界表現システム２００の処理の概要である。このシステムでは、上記指示入力システム１００で入力された指示内容（コマンド）についての処理を行なうコマンド処理（ステップ５０００）と、コマンド等に基づいてオブジェクトを動作させるためのマクロ動作生成処理（ステップ６０００）と、オブジェクトの遊泳状態の処理（ステップ７０００）と、ターン処理（ステップ８０００）と、オブジェクトの運動処理（ステップ９０００）とを有する。仮想世界表現システム２００は、この他に、図示していないが、オブジェクト、環境、付随効果について、画像の生成を行なう手段を有する。
【００７１】
コマンド処理（５０００）は、複数種類のコマンドごとに分岐してそれぞれの処理を行なう。図２７に示す例は、イルカの動作に関するコマンド、カメラの変更に関するコマンド、環境の変更に関するコマンドの三種のコマンドについての分岐を示す。なお、この例では、指示入力システム１００で意味不明の指示が入力された場合には、一応、イルカの動作に関するコマンドとしてある。
【００７２】
図２７に示すように、指示入力システム１００から送られたコマンドがイルカ動作コマンドか否か判定する（ステップ５１００）。イルカコマンドの場合、それが正しいコマンドかどうか判定する（ステップ５２００）。正しいコマンドの場合、それを示す応答動作をオブジェクトであるイルカに行なわせる（ステップ５３００）。この種の応答動作としては、例えば、図２８（Ａ）に示すように、オブジェクトであるイルカに、音響で返事をさせること、および、首を振る等の特定の動作を行なうことの少なくとも一方を行なうことにより、コマンド入力に対する応答を明確にすることができる。図２８（Ａ）の例では、首を縦に振っている。そして、後述するイルカコマンドの処理を行なう（ステップ５４００）。一方、正しいコマンドでない場合には、それを示す応答動作をオブジェクトであるイルカに行なわせる（ステップ５８００）。この種の応答動作としては、例えば、図２８（Ｂ）に示すように、オブジェクトであるイルカに、音響で返事をさせること、および、首を振る等の特定の動作を行なうことの少なくとも一方を行なうことにより、コマンド入力に対する応答を明確にすることができる。図２８（Ｂ）の例では、首を横に振っている。
【００７３】
次に、コマンドがカメラ設定コマンドか否か判定する（ステップ５５００）。カメラコマンドの場合、カメラ設定処理５６００の処理に移る（ステップ５６００）。
【００７４】
一方、コマンドが上述したイルカコマンドおよびカメラ設定コマンドのいずれでもない場合には、環境変更処理のコマンドが入力したものとして、環境変更処理を実行する（ステップ５７００）。環境の変更処理としては、例えば、背景画像の変更、色の変更等をＣＧデータベース２３０（図２参照）を参照して行なう。
【００７５】
ここで、イルカコマンドの処理について説明する。イルカコマンドは、オブジェクトの状態を変更するためのコマンドである。具体的には、図２９に示すように、オブジェクトの内部状態を設定する（ステップ５４１０）。オブジェクトの内部状態は、例えば、図３０に示すように、各オブジェクトごとに定義される。定義項目としては、例えば、オブジェクトの元気度、運動の目標点、コマンド、衝突可能性等が挙げられる。なお、各オブジェクトは、図３１に示すように、現在の運動状態を示すデータを有する。図３１に示す運動状態は、オブジェクトの中心位置（Ｘ，Ｙ，Ｚ）、Ｘ，Ｙ，Ｚの各軸に対する角度（α，β，γ：方向）および速度（Ｖｘ，Ｖｙ，Ｖｚ）で記述される。
【００７６】
次に、カメラ設定処理について説明する。カメラは、カメラ位置Ｃｐおよびカメラ方向Ｃθで設定する。図３２に示すように、本発明では、例えば、固定カメラモード、オブジェクト中心モード、オブジェクト視点モードおよびオブジェクト追尾モードとが設定可能となっている。図３２では、各モードにおけるカメラ位置Ｃｐおよびカメラ方向Ｃθが設定されている。なお、Ｐは予め設定された位置、θは予め設定された方向、Ｏｐはオブジェクトの中心位置、Ｏθはオブジェクトの方向である。
【００７７】
次に、図２６のマクロ動作処理について、図３３を参照して説明する。図３３において、まず、システムは、衝突可能性について判定する。すなわち、オブジェクトが、他の障害物、他のオブジェクトと衝突するか否かの判定を行なう（ステップ６１００，６２００）。衝突可能性は、相互間の距離と、相互の相対速度を用いて判定する。衝突の可能性がある場合には、衝突を避けるために進行方向を転換する（ステップ６３００）。衝突可能性がない場合、内部状態として、オブジェクトについてコマンドが設定されているか否か調べる（ステップ６４００）。コマンドがある場合には、コマンド処理を行なう（ステップ６５００）。コマンド処理は、追跡処理、ひねり回転処理、ジャンプが用意可能である。コマンドが設定されていない場合には、オブジェクトをデフォルトで自由に動かすことを可能とする。
【００７８】
上記追跡処理は、図３４に示すように処理される。まず、目標点への距離ｄを算出する（ステップ６５１１）。ｄが微小であるかどうか判定し（ステップ６５１２）、ｄが予め定めた値以下であるとき、コマンドが達成されていると判断して、オブジェクトに応答を出力させる。具体的には、オブジェクトの声の情報および位置の情報を音響生成システムに送る（ステップ６５１６）。その後、内部状態として設定されていたコマンドをクリアする（ステップ６５１７）。一方、ｄが大きい場合、目標点への角度θを算出する（ステップ６５１３）。そして、このθがθ＞θｃであるとき（ステップ１５１４）、ターンコマンドを発行する（ステップ６５１８）。また、θ＞θｃでないとき（ステップ１５１４）、距離ｄから目標速度を設定する（ステップ６５１５）。ここで、速度は、距離によって設定する。また、目標点に近づいた場合に、速度を落すようにすることができる。
【００７９】
上記ひねり回転処理は、進行方向を軸として、複数回回転することで実現する。すなわち、図３５に示すように、いずれかの軸について回転数に相当する角度を設定する（ステップ６５２１）。そして、この回転を実行させるため、ターンコマンドを発行する（ステップ６５２２）。なお、ｔｕｒｎ（θ，ｔ０）のコマンドは、ｔ０秒間にθだけ回転することを示している。このターンコマンドを跛行した後は、コマンドをクリアする（ステップ６５２３）。
【００８０】
上記ジャンプ処理について図３６を参照して説明する。ジャンプを行なうには、現状の運動状態でジャンプが可能かを調べる必要がある。ジャンプすることが無理な場合には、一旦水深の深い位置まで戻るように内部状態の設定を行なう。また、ジャンプできる場合には、オブジェクトが水から外に脱出する際に、特定の角度、例えば、４５度となるようにする。
【００８１】
図３６では、まず、オブジェクトの現在の位置、速度および方向で水面に脱出したときの速度Ｖを推定する（ステップ６５３１）。現在の位置で加速して得られる速度Ｖ０が目標とする速度Ｖより小さいかどうかを調べる（ステップ６５３２）。速度Ｖ０がＶより小さいときは、このままジャンプするには速度が不十分であるから、水深の深い位置Ｐを設定する（ステップ６５３７）。そして、Ｐ点を通過するコマンドを発行する（ステップ６５３８）。一方、速度Ｖ０がＶより小さくないときは、ジャンプ可能であるから、現在の方向と、水面から脱出した角度の差分θを算出する（ステップ６５３３）。そして、このθ分ターンするターンコマンドを発行する（ステップ６５３４）。その後、速度を挙げるための目標速度を設定する（ステップ６５３５）。そして、ジャンプコマンドをクリアする（ステップ６５３６）。
【００８２】
次に、遊泳処理７０００について、図３７を参照して説明する。図３７は、オブジェクトのイルカの遊泳運動を処理する。この例では、イルカは、目標とする遊泳速度が与えられている。そして、常に、目標速度となるように、ドルフィンキックして速度を調節する。キックの最初のタイミング毎に、キックの強さ、周期を決める。通常のキック（強さ１，周期Ｔ）で、速度Ｖ０になるとして、目標速度がＶの場合には、補正係数ｃを求める。このとき、周期は、Ｔ／ｃ、強さはＣとする。一回の泳ぎの動きは、モーション基本データを参照して求める。これを強さ周期にしたがって修正する。θは、関節角度である。
【００８３】
図３７において、システムは、キックの開始ｔ＝０またはｔ＞Ｔ／ｃであるか否か判断し（ステップ７１００）、該当する場合は、希望速度からキックの補正係数ｃを算出する（ステップ７２００）。そして、経過時間をクリアする（ステップ７３００）。その後、ステップ７４００において、時刻の正規化を行なう。すなわち、ｔ’＝ｔ／ｃとする。次に、各関節について遊泳モーションの取り出しを行なう（ステップ７５００）。この遊泳モーションは、図９（ａ）に示すように、スケルトンの各部の角度の時間変化で与えられる。そこで、この遊泳モーションを関節の角度を変えて修正する（ステップ７６００）。これにより、遊泳状態が変化することになる。この状態で加速度を設定する（ステップ７７００）。この加速度は、初期加速度ａ０に補正係数ｃの二乗を乗じたものである。ここで、時刻を更新する（ステップ７８００）。そして、ターンがあるか否かを調べ（ステップ７９００）、ターンがある場合には、次のターン処理８０００に移行する。ターンがない場合には、運動処理９０００に移行する。
【００８４】
次に、ターン処理について図３８を参照して説明する。オブジェクトであるイルカは、目標とする方向転換の角度とそれに要する時間が与えられている。方向転換するために身体を曲げる。身体を曲げる関数はモーションの基本データを参照して決める。
【００８５】
図３８では、まず、ターンの開始（ｔ＝０）であるか否か調べる（ステップ８１００）。該当する場合は、ターン時間Ｔの設定、ターン角度α０、β０、γ０の設定を行なう（ステップ８２００）。その後、経過時間ｔのクリアを行なう（ステップ８３００）。次に、ターンモーションの取り出しを行なう（ステップ８４００）。ここで、ターンモーションは、図９（ｂ）に示すように、スケルトンの各部の角度の時間変化の関数である。ここでも、上記遊泳の場合と同様に、関節の角度を変更して（ステップ８４００）、オブジェクトの方向の修正を行なう（ステップ８６００）。そして、時刻を更新する（ステップ８７００）。
【００８６】
なお、オブジェクトのスケルトンの角度の修正により、オブジェクトの形状が変化するようすを、図３９に示す。同図（ａ）は変形前の状態を示す。また、同図（ｂ）は変形後の状態を示す。
【００８７】
次に、運動処理について、図４０を参照して説明する。運動処理では、環境における物理法則に従って、イルカの運動を記述する。具体的には、運動方程式に従って、イルカの位置を変更する。また、これにともなって、音響の処理、また、後述する付随効果の処理のための情報を出力する。
【００８８】
図４０において、まず、通常の状態での推進力をｆ０としたとき、速度を変えるためのキックによる推進力ｆを、補正係数ｃを用いて算出する（ステップ９１００）。また、オブジェクトが進行することに対するダンピング力ｄを、ダンピング係数γとして、ｄ＝γ・ｖにより求める（ステップ９２００）。次に加速度ａを求める（ステップ９３００）。加速度ａは、オブジェクトの質量をｍとすると、推進力ｆとダンピング力ｄとの差とから求めることができる。この加速度ａとタイムステップΔｔと現在の速度ｖとから、速度ｖ’を求める（ステップ９４００）。さらに、現在の位置Ｐと速度ｖとから１タイムステップ後の位置を求める（ステップ９５００）。
【００８９】
次に、得られた位置Ｐのｙ成分について、水平面（ｙ＝０）より上か下かで、ジャンプの上昇時か、下降時かを判定する（ステップ９６００，９７００）。ここで、Ｐｙ＜０、かつ、Ｐ’ｙ＞０であれば、オブジェクトは、水中から水上にでる（ステップ９６５０）。一方、Ｐｙ＞０、かつ、Ｐ’ｙ＜０であれば、オブジェクトは、水上から水中に入る（ステップ９７５０）。ジャンプの情報は、音響生成手段２５０に送られる。また、得られた位置Ｐを付随効果生成手段２２０に送る（ステップ９８００）。
【００９０】
以上の処理によって得られるオブジェクトの位置、形態等の情報は、図１３に示すメモリ２６３の作業領域２６３１に記憶される。ＣＧ生成装置は、ＣＰＵ２６１がメモリ２６２に格納される画像生成手順にしたがって、画像を生成する。その際、上記作業領域２６３１に格納されたデータが用いられる。
【００９１】
次に、付随効果生成手段について、さらに詳細に説明する。以下の説明では、付随効果として、オブジェクトの運動がそのオブジェクトが存在する水に与える影響を付随的に付加する場合を例として説明する。ここでは、しぶき、泡、波紋、航跡を取り扱う。これらの例については、図５（ａ），（ｂ），（ｃ）および図６に示されている。ここでは、それらをどのようにに発生させるかについて説明する。
【００９２】
付随効果生成手段２２０は、例えば、その機能を模式的に示す図４１に示すように、水しぶき生成手段２２１、泡生成手段２２２、波紋生成手段２２３および航跡生成手段２２４と、それらのいずれを用いるかを決定する水の効果選択手段２２５とを有する。
【００９３】
発生機構を説明するため、図４２に示すように、オブジェクトを球でモデル化する。すなわち、オブジェクトの中心Ｐが球の中心となり、オブジェクトは半径ｒの球で表現される。そして、この球が水中を進行し、また、水中から水上にジャンプし、水上から水中に再突入する際に生じる種々の水の効果を、オブジェクトによる付随効果として利用する。
【００９４】
ここで、図６、図４３、図４４、図４５、図４６を参照して、オブジェクトの状態に応じて生じる付随効果について整理して説明する。ステージＳ１の水中では、オブジェクトの進行にともなって泡が生じる。図４３は、この状態を示している。すなわち、オブジェクトＯｂが進行するにともなって、後方に泡が発生し、かつ、その泡は、浮力によって浮き上がる。そして、水面に達したとき、消滅する。
【００９５】
ステージＳ２では、ジャンプしてオブジェクトが水面上に達した状態である。この時は、しぶき（図４４参照）と、水面の波紋（図４５参照）とが生じる。すなわち、オブジェクトＯｂの進行方向後方に、オブジェクトに引っ張られた形でしぶきが伴い、時間の経過にと共に、重力で落下して、消滅する。また、オブジェクトが水面を離れるとき、波紋が発生し、それが時間と共に拡がって行く。ここで、波紋は、色を付して表現し、その色の濃度は、波紋の拡がりにともなって薄くなるようにする。そして、波紋が消えるとき波紋を描く色も透明となる。
【００９６】
ステージＳ３は、オブジェクトが完全に水面上にある状態である。この時には、残留しているしぶきと、拡がっている波紋とが存在することがあり得る。このステージでは、しぶきおよび泡を共に、寿命を設定して、短時間で消えるようにする。
【００９７】
ステージＳ４は、水上から水面にオブジェクトが再突入する場合である。この場合には、波紋、しぶき、泡がそれぞれ生じる。次に、ステージＳ５では、水面かをオブジェクトが航行している場合である。この時は、航跡と、水面移動時の泡を生じる。図４６は、オブジェクトＯｂの移動に伴ってその後方に航跡が生ずることを示している。航跡は、一定の時間間隔発生させる。航跡を示すため一定の色を付している。構成は時間と共に変化する。すなわち、間隔が広くなり、また、色が薄くなる。色が透明になったとき、航跡を消滅させる。
【００９８】
ここで、本発明の適用例について説明する。本発明は、ホール等に設置して、観客参加型の映像プログラムの実現に使用することができる。例えば、アニメーション中のオブジェクトにたいして、指示を行なうことができる。また、オーケストラの映像を表示すると共に、音響を放射できるようにして、観客が、指揮棒を振ることにより、それに応答してオーケストラの演奏状態が変化するシステムを実現することに適用できる。
【００９９】
本発明は、シアター等の大規模な設備に適用できる他、小規模の装置、例えば、家庭用の小規模のシアターシステム、ゲーム機、車載用の装置等に適用することもできる。
【０１００】
以下本発明により期待できる種々の実施態様を列挙する。
【０１０１】
本発明は、画面内に移動物体（オブジェクト）が表示され、その移動物体が操作者の指示に基づいて、仮想世界の空間内を移動するものに適用できる。その場合、移動規制機を指示することにより、移動物体にたいして、仮想世界内での移動を移動軌跡に基づいて行なわせることができる。
【０１０２】
本発明では、指示を対象のオブジェクトに与えたとき、指示されたオブジェクトが、その指示を了解したこと、また、指示が了解できなかったことを、画面上での表示、および、音声の少なくとも一方で、通知するように構成することができる。そして、さらに、再指示を促す表示も行なえる。
【０１０３】
オブジェクトが、仮想世界において、あたかも自律的に判断したり、行動したりできるように、その機能が定義された仮想的な生命体である場合には、指示に対する応答として、その形態の変化、音響によって、応答内容を表現するように構成することができる。仮想的な生命体としては、上述したイルカ等が挙げられる。ここで、形態の変化とは、その仮想的生命体に定義されている感情表現形態から選ばれた動作であり、例えば、首を振ること、逃げること、近寄ること、表情を変えること等が例示される。音響としては、鳴き声、音声等が挙げられる。
【０１０４】
また、オブジェクトが指示を待っている場合に、それを表現する手段として、等がオブジェクトが、画面上で、ユーザに接近するように待機する構成とすることができる。この際、音響を伴ってもよい。この待機中、オブジェクトは、静止したり、ランダムな運動をしたり、予め定められた運動をしたりできるように構成することもできる。
【０１０５】
また、指示をジェスチャで行なう場合に、オブジェクトがその指示を受け付けているかどうかを示すため、オブジェクトの向きを変更することができる。また、オブジェクトが複数存在する場合には、その一部または全部の向きを変えることで、指示を受け付けているかどうかを表現するように構成することができる。この場合、向きは、例えば、人工生命体のような場合、顔、視線等が正面を向くようにすることで対応することができる。
【０１０６】
オブジェクトに、移動、回転等の行動を指示したとき、その動作は、仮想世界に定義される物理法則に従って、決定されるように構成することができる。例えば、その物理法則は、実世界の物理法則をそのまま適用してもよい。例えば、運動量保存の法則、エネルギ保存の法則、エントロピー増大の法則、運動を記述するために運動方程式を用いることができる。また、水中では浮力を与え、水上では、浮力なしで運動させることにより、水中と、水の外での運動状態に変化を与えて、表現することができる。
【０１０７】
また、オブジェクトは、固有の移動形態を持たせることができる。その場合には、移動が指示されると、移動の仕方の指示を受けずに、固有の移動形態で目的地まで移動する。固有の移動形態としては、例えば、遊泳、飛翔、徒歩等が挙げられる。
【０１０８】
さらに、オブジェクトに対する指示は、外接矩形で囲むことができる範囲での軌跡によって行なえる。外接矩形で囲むことにより、外接矩形の幅／高さの比と、所定の水平線、または、垂直線との軌跡の交差回数により、ジェスチャした内容を特定することができる。これは、パタンマッチングに比べて、処理のための負荷が少なくてすむ。
【０１０９】
【発明の効果】
以上説明したように、本発明によれば、オブジェクトの形態によらず、その状態を変化させるための指示の入力が可能である。また、指示の抽出が容易で、かつ、正確に行なえる効果がある。
【図面の簡単な説明】
【図１】本発明の画像生成／表示装置の機能構成の概要を示すブロック図。
【図２】本発明を構成する仮想世界表現システムの機能構成を示すブロック図。
【図３】本発明が適用される仮想世界の一例を示す斜視図。
【図４】仮想世界を可視化するカメラ位置の一例を示す説明図。
【図５】仮想世界においてオブジェクトの運動によって環境に引き起こされる付随的効果の例であって、（ａ）はオブジェクトがジャンプする場合、（ｂ）はオブジェクトが着水する場合、（ｃ）はオブジェクトが水面を移動する場合を示す説明図。
【図６】仮想世界におけるオブジェクトの状態遷移と付随効果との対応関係を示す説明図。
【図７】（ａ）オブジェクトの形態を表現するための多角形モデルを説明する説明図。
（ｂ）オブジェクトのスケルトン構造を示す説明図。
【図８】（ａ）多角形モデルの詳細説明図。
（ｂ）多角形モデルとスケルトンとのデータの対応関係を示すための多角形モデル説明図。
【図９】オブジェクトが運動する場合のスケルトンの角度の時間変化を示し、（ａ）はオブジェクトが遊泳する場合の基本モーションを示すグラフ、（ｂ）はオブジェクトがターンする場合の基本モーションを示すグラフ。
【図１０】指示入力システムの機能構成を示すブロック図。
【図１１】本発明の実施に用いることができるハードウエア資源構成の概要を示す説明図。
【図１２】指示入力システムを構成するための情報処理装置のハードウエアシステム構成を示すブロック図。
【図１３】仮想世界表現システムを構成するためのコンピュータグラフィックス生成装置のハードウエアシステム構成を示すブロック図。
【図１４】音響生成システムを構成するための情報処理装置のハードウエアシステム構成を示すブロック図。
【図１５】ジェスチャによって振られるペンライトの光点の軌跡と、指示内容との関係を示す説明図。
【図１６】指示入力処理用の情報処理装置で実行される指示入力処理の概要を示すフローチャート。
【図１７】指示入力処理の一部の手順である指示開始（ジェスチャ開始）検出処理のフローチャート。
【図１８】指示（ジェスチャ）認識処理のフローチャート。
【図１９】特徴量抽出処理の手順を示すフローチャート。
【図２０】ペンライトの光点の軌跡から特徴量を抽出するための外接矩形を設ける例を示す説明図。
【図２１】ユーザのジェスチャを２台のカメラで撮像する様子を示す説明図。
【図２２】ユーザのジェスチャを２台のカメラで撮像する様子を上面から見た説明図。
【図２３】２台のカメラに対して横方向に振ったジェスチャの軌跡の同相性を示す説明図。
【図２４】２台のカメラに対して深さ方向に振ったジェスチャの軌跡の逆相性を示す説明図。
【図２５】ジェスチャから抽出される特徴量について各種値を規定している特徴量辞書の構成を示す説明図。
【図２６】仮想世界表現システムの処理の概要を示すフローチャート。
【図２７】コマンド処理の詳細な手順を示すフローチャート。
【図２８】指示入力に対するオブジェクトの応答の態様を示す説明図であって、（Ａ）は指示が受け入れられている場合の応答、（Ｂ）は指示が受け入れられていない場合の応答をそれぞれ示す。
【図２９】オブジェクトの内部状態の設定を示すフローチャート。
【図３０】オブジェクトの内部状態の一例を示す説明図。
【図３１】オブジェクトの運動状態の一例を示す説明図。
【図３２】カメラの設定処理の一例を示すフローチャート。
【図３３】マクロ動作生成処理の一例を示すフローチャート。
【図３４】オブジェクトの追跡処理の一例を示すフローチャート。
【図３５】オブジェクトのひねり回転処理の一例を示すフローチャート。
【図３６】オブジェクトのジャンプ処理の一例を示すフローチャート。
【図３７】オブジェクトの遊泳処理の一例を示すフローチャート。
【図３８】オブジェクトのターン処理の一例を示すフローチャート。
【図３９】スケルトンの角度変化によるオブジェクトの形態変形を示す説明図であって、（ａ）は変形前、（ｂ）変形後を示す。。
【図４０】オブジェクトの運動処理の一例を示すフローチャート。
【図４１】付随効果生成手段の機能構成の一例を示すブロック図。
【図４２】オブジェクトの球モデルによる付随効果の生成を示す説明図。
【図４３】球モデルによる泡の生成を示す説明図。
【図４４】球モデルによるしぶきの生成を示す説明図。
【図４５】球モデルによる波紋の生成を示す説明図。
【図４６】球モデルによる航跡の生成を示す説明図。
【符号の説明】
１００…指示入力システム、１１０…撮像手段、１１１Ｌ，１１１Ｒ…カメラ、１２０…指示開始判定手段、１３０…指示内容認識手段、１３１…移動状態検出手段、１３２…特徴量抽出手段、１３３…指示内容判定手段、１３３１…コマンド判定手段、１３３２…属性判定手段、１３４…特徴量辞書、２００…仮想世界表現システム、２１０…状態設定手段、２１１…コマンド解釈、２１２…オブジェクト設定、２１３…カメラ設定、２１４…環境設定、２２０…付随効果生成手段、２３０…ＣＧデータベース、２４０…画像生成手段、２５０…音響生成手段、３００…出力システム、３１０…表示装置、３２０…音響装置、Ｏｂ…オブジェクト（イルカ）、Ｃｐ…カメラ、Ｓｎ…スケルトン、Ｕ…ユーザ、ＰＬ…ペンライト。
【図１】
0003745802.tif 000002
【図２】
0003745802.tif 000003
【図３】
0003745802.tif 000004
【図４】
0003745802.tif 000005
【図５】
0003745802.tif 000006
【図６】
0003745802.tif 000007
【図７】
0003745802.tif 000008
【図８】
0003745802.tif 000009
【図９】
0003745802.tif 000010
【図１０】
0003745802.tif 000011
【図１１】
0003745802.tif 000012
【図１２】
0003745802.tif 000013
【図１３】
0003745802.tif 000014
【図１４】
0003745802.tif 000015
【図１５】
0003745802.tif 000016
【図１６】
0003745802.tif 000017
【図１７】
0003745802.tif 000018
【図１８】
0003745802.tif 000019
【図１９】
0003745802.tif 000020
【図２０】
0003745802.tif 000021
【図２１】
0003745802.tif 000022
【図２２】
0003745802.tif 000023
【図２３】
0003745802.tif 000024
【図２４】
0003745802.tif 000025
【図２５】
0003745802.tif 000026
【図２６】
0003745802.tif 000027
【図２７】
0003745802.tif 000028
【図２８】
0003745802.tif 000029
【図２９】
0003745802.tif 000030
【図３０】
0003745802.tif 000031
【図３１】
0003745802.tif 000032
【図３２】
0003745802.tif 000033
【図３３】
0003745802.tif 000034
【図３４】
0003745802.tif 000035
【図３５】
0003745802.tif 000036
【図３６】
0003745802.tif 000037
【図３７】
0003745802.tif 000038
【図３８】
0003745802.tif 000039
【図３９】
0003745802.tif 000040
【図４０】
0003745802.tif 000041
【図４１】
0003745802.tif 000042
【図４２】
0003745802.tif 000043
【図４３】
0003745802.tif 000044
【図４４】
0003745802.tif 000045
【図４５】
0003745802.tif 000046
【図４６】
0003745802.tif 000047