画像認識システム
【課題】利用者の手や足などに発光体を装着させる必要がなく、利用者の動きを3次元的に解析して利用者の動きを詳細に反映した処理を行うことができる画像認識システムを提供すること。
【解決手段】検出ユニット16の撮像空間PSの3次元座標系において、検出対象物の3次元形状情報や3次元位置情報を取得することにより、検出対象物の形状や位置を3次元的に解析して種々の処理を行う。
【解決手段】検出ユニット16の撮像空間PSの3次元座標系において、検出対象物の3次元形状情報や3次元位置情報を取得することにより、検出対象物の形状や位置を3次元的に解析して種々の処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像認識システムに関する。
【背景技術】
【0002】
従来から、システム利用者の手や足などに発光体を装着させた上で利用者の画像を撮像し、画像における発光体の位置の変化に基づいて利用者の動きなどを検出し、利用者の動きに応じた画像を表示させる画像認識システムが知られている。
【特許文献1】特開2000−33184号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし従来の画像認識システムでは、利用者の手や足などに発光体を装着させる必要があったため、また画像における発光体の位置の変化を2次元的に解析していたため、利用者の動きなどを簡易かつ詳細に検出して利用者の動きなどに応じた画像を生成し、これをコミュニケーションやゲームのために用いることができなかった。
【0004】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、利用者などの検出対象物を簡易かつ3次元的に検出して画像を生成することにより、例えばキーボードなどが無いゲーム専用機でのネットゲームコミュニケーションに役立たせたり、キーボードがあっても、操作を簡易化したりコミュニケーションの表現の幅を広げることができる画像認識システムを提供することにある。また本発明の他の目的は、例えば実際の回路や電源、ケーブルなどが不要のコントローラにより操作入力を行うことができる画像認識システムを提供することにある。また本発明の他の目的は、操作入力を簡素化できる画像認識システムを提供することにある。また本発明の他の目的は、例えば利用者が実際に持っている物などを反映した画像を生成することができる画像認識システムを提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、前記検出3次元形状情報に基づいて生成するオブジェクト生成部と、
前記生成されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0006】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0007】
本発明において「検出3次元形状情報」とは、例えば検出部の中心点などを基準点とする座標系の座標情報とすることができ、検出対象物の形状を規定するのみならず、検出部の検出方向における検出対象物の位置、向きを規定する情報とすることができる。
【0008】
本発明では、出力部が出力した出力波の反射波を検出部が検出し、検出した反射波に基づいて検出対象物の検出3次元形状情報を取得する。そして取得した検出3次元形状情報に基づいてオブジェクト形状情報を生成し、オブジェクト形状情報を外部装置との間で送受信する。これにより本発明によれば、自分(本人)の端末装置において取得した検出3次元形状情報に基づく3次元オブジェクトを、他人の端末装置において表示させたり、他人の端末装置において取得された検出3次元形状情報に基づく3次元オブジェクトを、自分の端末装置において表示させたりしながらコミュニケーションを行うことができる。例えば自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を生成し、これを他人の端末装置に送信することにより、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させることができる。
【0009】
(2)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される複数種類の3次元オブジェクトの形状を規定する複数種類のオブジェクト形状情報を記憶するオブジェクト形状情報記憶部と、
前記検出3次元形状情報に対応する前記オブジェクト形状情報を、前記検出3次元形状情報に基づいて選択するオブジェクト形状情報選択部と、
前記選択されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0010】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0011】
これにより本発明によれば、自分(本人)の端末装置において取得した検出3次元形状情報に応じて選択された3次元オブジェクトを、他人の端末装置において表示させたり、他人の端末装置において取得された検出3次元形状情報に応じて選択された3次元オブジェクトを、自分の端末装置において表示させたりしながらコミュニケーションを行うことができる。例えば自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を選択し、これを他人の端末装置に送信することにより、他人の端末装置において自らに対応する3次元オブジェクトを表示させることができる。
【0012】
(3)また本発明に係る画像認識システムでは、
前記オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、前記検出3次元形状情報に基づいて補正するオブジェクト形状情報補正部を更に含み、
前記通信制御部が、
前記オブジェクト形状情報補正部に補正された補正後のオブジェクト形状情報を外部装置との間で送受信するようにしてもよい。
【0013】
本発明によれば、例えば自らの検出3次元形状情報に対応するオブジェクト形状情報を選択した場合に、選択されたオブジェクト形状情報を自らの検出3次元形状情報に近づけるように補正することができる。これにより本発明によれば、予め記憶させておくオブジェクト形状情報のデータ容量を抑えつつ、検出対象物により近い3次元オブジェクトを表示させることができる。
【0014】
(4)また本発明に係る画像認識システムでは、
前記生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するテクスチャマッピング部を更に含むようにしてもよい。
【0015】
本発明によれば、例えば自らに対応するオブジェクト形状情報を生成した場合に、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させる際に、例えば顔の一部に対応する部分に所与のテクスチャをマッピングすることにより、他人の端末装置において表示させる3次元オブジェクトに独自性を与えつつも匿名性を維持することができる。
【0016】
(5)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、対応するコマンド信号を出力するコマンド信号出力部と、
前記コマンド信号に対応する画像情報、音情報の少なくとも一方を記憶する出力情報記憶部と、
前記出力されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させる出力制御部とを含むことを特徴とする画像認識システムに関係する。
【0017】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0018】
本発明では、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいて対応するコマンド信号を出力する。これにより本発明によれば、例えば手話などのように、検出部に対して利用者の体と重なる位置にある手により形成されている形状を3次元的に解析し、手の形状に応じたコマンド信号を出力することができる。こうして本発明によれば、例えば手話における手の形状を画像認識システムに認識させることができ、例えば手の形状に応じたコマンド信号に対応する文字情報や音声情報を出力して、手話を翻訳するように構成することもできる。
【0019】
(6)また本発明に係る画像認識システムでは、
前記3次元情報取得部が、
前記出力波が反射した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、前記反射波に基づいて取得し、
前記基準情報記憶部が、
予め定められた3次元形状の所定期間における変化を規定する基準3次元動作情報を記憶し、
前記比較部が、
前記基準3次元動作情報と前記検出3次元動作情報とを比較するようにしてもよい。
【0020】
本発明では、取得した検出3次元動作情報と基準3次元形状動作とを比較し、比較結果に基づいて対応するコマンド信号を出力する。これにより本発明によれば、例えば手の形状のみならず手の動きなどの動作を3次元的に解析し、手の3次元的な動きに応じたコマンド信号を出力することができる。こうして本発明によれば、検出対象物の2次元的な動きではなく3次元的な動きに応じて種々のコマンド信号を出力させる画像認識システムを実現することができる。
【0021】
(7)また本発明に係る画像認識システムでは、
前記出力されたコマンド信号を外部装置との間で送受信する通信制御部を更に含み、
前記出力制御部が、
前記受信されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させるようにしてもよい。
【0022】
本発明では、例えば自分の端末装置において取得した検出3次元形状情報に応じたコマンド信号に基づいて、対応する文字情報や音声情報を他人の端末装置において出力させたり、他人の端末装置において取得された検出3次元形状情報に応じたコマンド信号に基づいて、対応する文字情報や音声情報を自分の端末装置において出力させたりしながらコミュニケーションを行うことができる。
【0023】
(8)また本発明は、
操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う移動・動作処理部と、
前記所与のオブジェクトが移動及び動作の少なくとも一方を行う画像を描画する描画処理部と、
を含む画像認識システムであって、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報、及び前記検出対象物の3次元位置を規定する検出3次元位置情報の少なくとも一方を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記検出対象物を操作検出対象物として設定する操作検出対象物設定部と、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記操作信号を出力する操作信号出力部と、
を更に含むことを特徴とする画像認識システムに関係する。
【0024】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0025】
本発明では、検出対象物が予め定められた3次元形状を有するものであれば、検出対象物を操作検出対象物として設定する。そして検出対象物の形状や位置が変化すると、これを操作入力として検出し、対応する操作信号を出力する。このように本発明によれば、所与のオブジェクトの移動・動作を操作するための入力インターフェースとして検出部を利用した画像認識システムを構築することができる。
【0026】
(9)また本発明に係る画像認識システムでは、
前記基準情報記憶部に記憶された複数の基準3次元形状情報の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記基準3次元形状情報に応じた操作アルゴリズムを設定する操作アルゴリズム設定部と、
を更に含み、
前記操作信号出力部が、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記設定された操作アルゴリズムに応じた操作信号を出力するようにしてもよい。
【0027】
本発明では、検出対象物の3次元形状に応じて複数の操作アルゴリズムが用意されており、例えば円環状の検出対象物が検出された場合にはこれを車のハンドルという操作検出対象物に設定し、車のハンドルに対応する操作アルゴリズムを設定する。そして利用者がハンドルを回転させるように操作検出対象物を回転させると、操作検出対象物の回転量に応じて例えば車オブジェクトの向きを変化させる画像を描画する。また例えば棒状の検出対象物が検出された場合にはこれを飛行機の操縦桿という操作検出対象物に設定し、飛行機の操縦桿に対応する操作アルゴリズムを設定する。そして利用者が操縦桿を操作するように操作検出対象物を傾倒させる操作を行うと、操作検出対象物の傾倒量に応じて例えば飛行機オブジェクトの向きを変化させる画像を描画する。このように本発明によれば、操作検出対象物の3次元形状に応じて種々の操作入力を行うことができる入力インターフェースを実現することができる。
【0028】
(10)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0029】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0030】
本発明において「基準3次元形状情報」とは、形状情報を比較判定するための3次元形状情報でもよいし、オブジェクト空間に設定されるオブジェクト形状情報そのものでもよい。
【0031】
本発明では、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいてオブジェクト形状情報を3次元オブジェクト空間に設定する。例えば利用者がテニスラケットの形状をした検出対象物を持っていれば、キャラクタオブジェクトがテニスラケットを持っている画像を描画する。ここで本発明によれば、例えば利用者がテニスラケットを検出部に対して利用者の体と重なる位置に構えていても、テニスラケットの形状を3次元的に解析し、利用者が持っているものを認識することができる。従って本発明によれば、検出対象物の配置状況に関わらず検出対象物の検出3次元形状情報を取得して、対応するオブジェクト形状情報を3次元オブジェクト空間に設定することができる。
【0032】
(11)また本発明に係る画像認識システムでは、
前記オブジェクト形状情報記憶部が、
複数種類のオブジェクト形状情報を記憶し、
前記オブジェクト空間設定部が、
前記比較部の比較結果に基づいて、前記複数種類のオブジェクト形状情報のうち前記検出3次元形状情報に対応する前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するようにしてもよい。
【0033】
本発明によれば、例えば利用者が剣の形状をした検出対象物を持っていれば、キャラクタオブジェクトが剣アイテムを持っている画像を描画し、盾の形状をした検出対象物を持っていれば、キャラクタオブジェクトが盾アイテムを持っている画像を描画するようにすることができる。このように本発明によれば、検出対象物の3次元形状に応じて種々の3次元オブジェクトの画像を描画することができる。
【0034】
(12)また本発明に係る画像認識システムでは、
前記オブジェクト空間設定部が、
所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更するようにしてもよい。
【0035】
本発明によれば、例えば利用者が剣の形状をした検出対象物を持っており、キャラクタオブジェクトが剣アイテムを持っている画像を描画している場合に、所与のイベントの発生に基づいて剣アイテムが壊れるような画像を描画することができる。
【0036】
(13)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記検出対象物の3次元形状を規定する検出3次元位置情報を、前記反射波に基づいて取得する3次元情報取得部と、
前記取得された検出3次元形状情報に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0037】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0038】
本発明では、出力部が出力した出力波の反射波を検出部が検出し、検出した反射波に基づいて検出対象物の検出3次元形状情報を取得する。そして取得した検出3次元形状情報に基づいて、現実世界における検出対象物の形状や位置、向きの変化に応じて、所与のオブジェクトの形状や位置、向きが変化する画像を描画することができる。例えば検出部に向かって所与の物体を投げると、投げられた物体の移動とともに対応するオブジェクトが移動する(投げられる)画像を描画することができる。
【0039】
(14)また本発明に係る画像認識システムでは、
前記3次元オブジェクト空間に設定された前記オブジェクト形状情報と他のオブジェクト形状情報との前記3次元オブジェクト空間における重なりを判定する判定部を更に含むようにしてもよい。
【0040】
本発明によれば、利用者が持っている検出対象物や、利用者が投げた検出対象物に対応するオブジェクトと、その他のオブジェクトとのヒット判定を行うことにより、例えば、操作者が持つテニスラケットに対応するテニスラケットオブジェクトによりボールを打つテニスゲームを構成したり、操作者が投げた紙くずに対応する雪玉オブジェクトにより雪合戦を行う雪合戦ゲームを構成したりすることができる。
【発明を実施するための最良の形態】
【0041】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0042】
1.システム概略
図1は、本実施形態の画像認識システムを適用したゲームシステム10の概略外観図である。本実施形態のゲームシステム10は、表示画面12に標的オブジェクトTOなどのゲーム画像を表示させる表示部14と、表示部14の上面に設置され表示部14の正面方向の検出対象物の3次元形状情報と3次元位置情報とを検出するための検出ユニット16と、検出対象物の3次元形状情報を用いて種々の処理を行うゲーム機18とを含む。検出ユニット16には、検出ユニット16の左端部に設置され、表示部14の正面方向(プレーヤPの方向)に向けて赤外光などの所定の波長の出力波を出力する出力部20と、検出ユニット16の右端部に設置され、出力波の反射波を検出する検出部22とが設けられている。特に本実施形態では、出力部20は赤外光を出力する赤外光LEDにより構成され、検出部22は赤外光イメージセンサにより構成されている。そして検出部22は、表示部14の正面方向から入射する赤外光(出力部20が出力した赤外光の反射光)を受光面において受光して、これを画像として取得する(撮像する)。
【0043】
更に検出ユニット16には、ASICや、MCUなどで構成される3次元情報取得部24が設けられている。3次元情報取得部24は、反射波を受光した検出部22の受光面における受光位置ごとの反射波の位相のずれなどに基づいて、プレーヤPなどの撮像対象物(検出対象物)の画像を、撮像対象物を含む撮像空間の3次元座標系情報(検出3次元形状情報、検出3次元位置情報)として取得する。そしてゲーム機18は、撮像対象物であるプレーヤPの3次元座標情報に基づいて、プレーヤPの姿勢や動きなどを認識して、対応する画像を表示画面12に表示させたり、音声を出力させる。またインターネットなどのネットワークを介して、他人のゲーム機18に3次元位置情報や3次元位置情報に基づく情報を送信して、他人の表示部14の表示画面12に自らに対応する画像を表示させる。
【0044】
なお本実施形態では検出部22の前面側に、赤外光に対応する波長帯の光(出力部20からの光と同様の波長の光)のみを透過させるフィルタを設け、検出部22が受光する光が所定の波長帯の光となるようにしている。なおフィルタを設けずに、赤外光(所定の波長の光)が含まれる所定範囲の波長帯の受光感度特性を有するイメージセンサを検出部22として用いるようにしてもよい。また、ゲーム機18に種々の操作入力を行うためのコントローラを接続するようにしてもよい。
【0045】
2.本実施形態の手法
次に、本実施形態の検出ユニット16が、プレーヤPなどの撮像対象物の画像を3次元座標系情報(検出3次元形状情報、検出3次元位置情報)として取得する原理について説明する。本実施形態では3次元情報取得部24が、検出部22と撮像対象物であるプレーヤPとの相対的な位置関係を規定する情報として距離情報を取得する。
【0046】
図2は、表示部14と、表示部14の上面に配置された検出ユニット16と、撮像対象物であるプレーヤPとを真横から見た平面図である。図2に示すように本実施形態では、検出ユニット16の出力部20が、検出ユニット16の検出方向(表示部14の正面方向)に赤外光DLを出力すると、検出ユニット16の検出部22が、検出ユニット16の検出方向からの反射光RLを検出する。ここで反射光RLは、出力部20から出力された直接光の反射光であるが、検出部22からの距離が相対的に近いプレーヤPの右手RHで反射した反射光RL1と、相対的に遠いプレーヤPの頭部HDで反射した反射光RL2とでは、検出部22に到達したときに位相差が発生する。そこで本実施形態の検出部22は、検出部22の受光面において受光した反射光RLの位相差を、受光面に配列された受光素子(画素)ごとに検出する(撮像する)。そして3次元情報取得部24が、画素ごとの位相差に基づいて、検出部22の検出方向(撮像空間、画角θ内)に存在する撮像対象物と検出部22との距離情報を、画素ごとに取得する。
【0047】
図3は、3次元情報取得部24が取得した画素ごとの距離情報を説明するための図である。本実施形態の検出部22では、矩形の受光面上に受光素子がマトリクス状に配列されているため、3次元情報取得部24は、図3に示す矩形の撮像領域PAにマトリクス状に配列される画素ごとに、撮像対象物PO(プレーヤP)と検出部22との距離情報を取得する。従って図3に示すように、プレーヤPの右手RHに対応する画素と、頭部HDに対応する画素と、体BDに対応する画素と、左手LHに対応する画素と、背景となる壁WLに対応する画素と、床面GSに対応する画素とについて、画素ごとに検出部22からの距離情報が格納される。
【0048】
図4は、検出部22の撮像空間PS(画角θ内)における3次元座標系情報を説明するための図である。本実施形態の3次元情報取得部24では、図4に示すように、検出部22の受光面の重心位置WPを原点Oとし、受光面の法線NをZ軸とした3次元座標系において、撮像空間PS内にある撮像対象物POの受光面から見える面の3次元座標情報を取得している。即ち、検出部22から見える撮像対象物POの表面(検出した反射波が反射した面)に対応する画素ごとの3次元座標値群をメモリ領域に格納する。こうして本実施形態の検出ユニット16では、撮像空間PSの3次元座標系において、撮像対象物POの3次元形状を規定する3次元形状情報と、撮像対象物POの3次元位置を規定する3次元位置情報とを取得することができる。
【0049】
これにより本実施形態によれば、例えば手話などのように、検出部22に対してプレーヤPの体と重なる位置にある手により形成されている形状をも3次元的に解析し、例えば手の形状に応じたコマンド信号を出力することができる。こうして本実施形態によれば、例えば手話における手の形状を画像認識システム10に認識させることができ、例えば手の形状に応じたコマンド信号に対応する文字情報や音声情報を出力して、手話を翻訳するように構成することもできる。
【0050】
なお本実施形態では1/30秒ごとに(1/30秒を1フレームとして)、検出部22が反射光RLを受光し(リフレッシュし)、3次元情報取得部24が撮像領域SAの3次元情報を更新する。
【0051】
3.機能ブロック
次に、図7を用いて本実施形態における指示位置演算システム(ゲームシステム)の構成について説明する。図7は、本実施形態における指示位置演算システムの機能ブロック図の一例である。なお、本実施形態の指示位置演算システムは、図7の構成要素(各部)の一部を省略した構成としてもよい。
【0052】
検出ユニット16は、出力部20、検出部22、3次元情報取得部24を含む。
【0053】
出力部20は、検出ユニット16の検出方向に所定の出力波を出力する。具体的には赤外光LEDなどの発光部や、超音波発生部など、所定波長の出力波を出力するデバイスにより実現できる。
【0054】
検出部22は、出力部20と所定の位置関係を有し、出力部20が出力した出力波の反射波を検出する。具体的には赤外光イメージセンサなどの所定波長の反射波を検出するデバイスにより実現できる。
【0055】
3次元情報取得部24は、各種プロセッサ(CPU、MPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現でき、出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する。また3次元情報取得部24は、検出対象物の3次元位置を規定する検出3次元位置情報を、反射波に基づいて取得する。また3次元情報取得部24は、検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、反射波に基づいて取得する。なお3次元情報取得部24を検出ユニット16に設けずに、処理部100の機能として実現するようにしてもよい。
【0056】
操作部24は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0057】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶される描画バッファ172と、複数種類のオブジェクトのモデルデータ(3次元オブジェクトの形状を規定するオブジェクト形状情報)が記憶されるオブジェクトデータ記憶部173と、オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ175と、を含む。なお、これらの一部を省略する構成としてもよい。
【0058】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0059】
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
【0060】
表示部14は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイなどにより実現できる。
【0061】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0062】
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0063】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0064】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0065】
処理部100(プロセッサ)は、指示体16からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ、ASICなどのハードウェアや、プログラムにより実現できる。
【0066】
特に、本実施形態の処理部100は、比較部101、コマンド信号出力部102、出力制御部103、操作検出対象物設定部104、操作アルゴリズム設定部105、操作信号出力部106、オブジェクト生成部107、オブジェクト空間設定部108、移動・動作処理部109、判定部110、テクスチャマッピング部111、描画処理部120、音生成部130、通信制御部140を含む。なお、これらの一部を省略する構成としてもよい。
【0067】
比較部101は、基準情報記憶部176に予め記憶された3次元形状を規定する基準3次元形状情報(比較用形状情報、テンプレート情報、オブジェクト形状情報)と、検出部22が検出した検出対象の検出3次元形状情報とを比較する。具体的には、プレーヤがとるヨガのポーズや手話の手の形状などのプレーヤの姿勢や形状、ゲーム内で用いることができる剣や盾などのアイテム、テニスラケットや野球バットなどの操作対象、車のハンドルや飛行機の操縦桿などの操作検出対象などに対応するバウンディングボリュームなどを基準情報記憶部176に記憶させておき、検出3次元形状情報がいずれのバウンディングボリュームと一致するか否かを判定する。
【0068】
また比較部101は、予め基準情報記憶部176に記憶された所定の3次元形状の所定期間における変化を規定する基準3次元動作情報と、検出部22が検出した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報とを比較する。具体的には、例えばお辞儀をする動作や物を投げる動作などプレーヤの動作に対応するアニメーションなどを基準情報記憶部176に記憶させておき、検出3次元動作情報がいずれのアニメーションと一致するか否かを判定する。
【0069】
コマンド信号出力部102は、比較部101の比較結果に基づいて、対応するコマンド信号を出力する。具体的にはコマンド信号出力部102は、例えば手話における手の形状に応じたコマンド信号を出力したり、プレーヤの姿勢に応じた評価を行うコマンド信号を出力する。
【0070】
出力制御部103は、出力されたコマンド信号に基づいて、コマンド信号に対応する画像情報、音情報を記憶する出力情報記憶部177を参照し、対応する画像情報、音情報の少なくとも一方を出力させる。具体的には、手話における手の形状に対応する文字情報や音声情報を出力し手話を翻訳したり、プレーヤの姿勢に対する評価を行う文字情報や音声情報を出力する。
【0071】
また出力制御部103は、表示制御処理として、表示部14に表示出力される表示物(オブジェクト)の表示制御を行う。具体的には、表示物(ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ)を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。即ち発生した表示物を表示物リストに登録したり、表示物リストを描画処理部120等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。
【0072】
操作検出対象物設定部104は、比較部101の比較結果に基づいて、検出3次元形状情報に対応する検出対象物を操作検出対象物として設定する。具体的には操作検出対象物設定部104は、検出対象物が予め定められた車のハンドルや飛行機の操縦桿などの3次元形状を有するものであれば、検出対象物を操作検出対象物として設定する。
【0073】
操作アルゴリズム設定部105は、比較部101の比較結果に基づいて、検出3次元形状情報に対応する基準3次元形状情報に応じた操作アルゴリズムを設定する。具体的には操作アルゴリズム設定部105は、基準情報記憶部176に記憶された複数の基準3次元形状情報(オブジェクト形状情報)の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部178を参照し、例えば円環状の検出対象物が検出された場合にはこれを車のハンドルとして扱って、車のハンドルに対応する操作アルゴリズムを設定する。また例えば棒状の検出対象物が検出された場合にはこれを飛行機の操縦桿として扱って、飛行機の操縦桿に対応する操作アルゴリズムを設定する。
【0074】
操作信号出力部106は、設定された操作検出対象物について取得された検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、設定された操作アルゴリズムに応じた操作信号を出力する。具体的には操作信号出力部106は、車のハンドルに対応する操作アルゴリズムが設定されている場合には、プレーヤがハンドルを回転させるように操作検出対象物を回転させると、操作検出対象物の回転量に応じて例えば車オブジェクトの向きを変化させる操作信号を出力する。また例えば、飛行機の操縦桿に対応する操作アルゴリズムが設定されている場合には、プレーヤが操縦桿を操作するように操作検出対象物を傾倒させる操作を行うと、操作検出対象物の傾倒量に応じて例えば飛行機オブジェクトの向きを変化させる操作信号を出力する。
【0075】
オブジェクト生成部107は、所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、検出3次元形状情報に基づいて生成する。具体的にはオブジェクト生成部107は、自らを検出対象物として自らに対応するキャラクタオブジェクトを生成したり、身の回りにある種々のものにより種々のオブジェクトを生成する。また背景としての部屋などもそのままオブジェクトとして生成することができる。
【0076】
またオブジェクト形状情報選択部1071を採用し、検出3次元形状情報に対応するオブジェクト形状情報を、オブジェクトデータ記憶部173に記憶された複数種類のオブジェクトデータから検出3次元形状情報に応じたオブジェクトデータを選択するようにしてもよい。この場合にはオブジェクト形状情報補正部1072を更に採用し、オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、検出3次元形状情報に基づいて補正するようにしてもよい。
【0077】
オブジェクト空間設定部108は、本実施形態で生成したキャラクタオブジェクト等の移動体オブジェクト、予め記憶させてあるキャラクタオブジェクト、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部108は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0078】
特に本実施形態ではオブジェクト空間設定部108は、所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更するようにしてもよい。例えば利用者が剣の形状をした検出対象物を持っており、キャラクタオブジェクトが剣アイテムを持っている画像を描画している場合に、所与のイベントの発生に基づいて剣アイテムが壊れるような画像を描画することができる。このとき、壊れていない状態の剣アイテムのオブジェクトデータと壊れている状態のオブジェクトデータとを用意しておき、イベントの発生に基づいて、オブジェクト空間に設定するオブジェクトデータを変更するようにしてもよいし、剣アイテムのオブジェクトデータのうちダメージを受けた部位に応じた破壊シミュレーションを行うようにしてもよい。
【0079】
移動・動作処理部109は、操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う。詳細には移動・動作処理部109は、移動体オブジェクト(キャラクタの他、キャラクタが使用する道具等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部109は、検出部22が検出した検出3次元情報に対応する操作信号、操作部からの操作信号、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
【0080】
具体的には、本実施形態の移動・動作処理部109は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【0081】
判定部110は、3次元オブジェクト空間に設定されたオブジェクト形状情報と他のオブジェクト形状情報との3次元オブジェクト空間における重なりを判定する。
【0082】
描画部120は、処理部70で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の描画部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0083】
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
【0084】
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【0085】
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0086】
なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0087】
そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0088】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
【0089】
テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする処理を行う。
【0090】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0091】
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【0092】
特に本実施形態のテクスチャマッピング部121は、オブジェクト生成部107によって生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定する。例えば自らに対応するオブジェクト形状情報を生成した場合に、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させる際に、例えば顔の一部に対応する部分に所与のテクスチャをマッピングする。
【0093】
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0094】
αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0095】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0096】
通信制御部140は、操作情報(要求)やプログラム等に基づき、いかなる情報をいずれの外部装置(サーバ、端末)との間で送受信するかなどの通信制御処理を行う。具体的には通信制御部140は、オブジェクト生成部107によって生成されたオブジェクト形状情報を外部装置との間で送受信する。例えば通信制御部140は、自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を生成し、これを他人の端末装置に送信したり、他人の端末装置において他人を検出対象物とした検出3次元形状情報に基づいて生成されたオブジェクト形状情報を受信する。
【0097】
また通信制御部140は、出力されたコマンド信号を外部装置との間で送受信するようにしてもよい。これにより例えば自分の端末装置において手話の手の形状を検出対象物とした検出3次元形状情報を取得し、対応するコマンド信号を他人の端末装置に送信して、他人の端末装置において手話の手の形状に対応する文字情報や音声情報を出力するようにしてもよい。
【0098】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0099】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0100】
4.本実施形態の処理
次に、本実施形態で行われる各種処理の流れを図面とフローチャートを用いて説明する。
【0101】
4−1.アバタキャラクタ制御処理
最初に、自分に対応するキャラクタを他人の端末に表示させながらメールやチャットなどのコミュニケーションを行ういわゆるアバタ(自分の分身)コミュニケーションを、本実施形態の画像認識システム10を用いて行う一例について説明する。本実施形態では、図6に示すように、プレーヤP1に対応する画像認識システム10−1と、プレーヤP2に対応する画像認識システム10−2とがインターネットINTを介して接続されている状態で、図7のフローチャートに示すアバタキャラクタ制御処理を行う。なお図6においてゲーム機18−1、18−2は、通信機能を有するPC(パーソナルコンピュータ)18−1、18−2により構成している。
【0102】
図7に示すように本実施形態では、画像認識システム10−1の検出ユニット16−1により、プレーヤP1を検出対象とする検出3次元形状情報を取得するとともに、画像認識システム10−2の検出ユニット16−2により、プレーヤP2を検出対象とする検出3次元形状情報を取得する(ステップS20)。すると画像認識システム10−1のPC18−1により、プレーヤP1を検出対象とする検出3次元形状情報に基づいて、プレーヤP1に対応するアバタキャラクタのオブジェクト形状情報を生成するとともに、画像認識システム10−2のPC18−2により、プレーヤP2を検出対象とする検出3次元形状情報に基づいて、プレーヤP2に対応するアバタキャラクタのオブジェクト形状情報を生成する(ステップS22)。
【0103】
すると、PC18−1、PC18−2により、それぞれで生成したアバタキャラクタAC1、AC2のオブジェクト形状情報を互いに送受信し(ステップS24、ステップS26)、他の画像認識システムにおいて生成されたオブジェクト形状情報をオブジェクト空間に設定する(ステップS28)。そしてプレーヤP1、プレーヤP2がそれぞれ自らに対応するアバタキャラクタAC1、AC2について予め設定したテクスチャをアバタキャラクタAC1、AC2の顔の一部にマッピングする(ステップS30)。例えばアニメキャラクタの目や口などのテクスチャを、アバタキャラクタAC1、AC2の目や口に対応する位置にマッピングする。そしてかかるアバタキャラクタAC1、AC2のオブジェクト形状情報が設定されたオブジェクト空間を描画する(ステップS32)。
【0104】
こうして本実施形態によれば、図6に示すように、画像認識システム10−1の表示部14−1には、プレーヤP2を検出対象物として取得した検出3次元形状情報に基づいて生成されたアバタキャラクタAC2を表示させ、画像認識システム10−2の表示部14−2には、プレーヤP1を検出対象物として取得した検出3次元形状情報に基づいて生成されたアバタキャラクタAC1を表示させていわゆるアバタコミュニケーションを行うことができる。
【0105】
4−2.コマンド出力処理
次に本実施形態の画像認識システム10を用いて、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいて対応するコマンド信号を出力する処理を行う一例について説明する。本実施形態では、図8に示すように、検出ユニット16の前で手話を行い、手話の手の形状に対応する文字情報を表示部14に表示させている。
【0106】
図9のフローチャートに示すように本実施形態では、まず、検出ユニット16によりプレーヤを検出対象とする検出3次元形状情報を取得する(ステップS40)。すると、記憶部に記憶された手話の手の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS42)。ここで取得された検出3次元形状情報には、プレーヤの右手RHの形状に対応する3次元形状情報の他、プレーヤのその他の部位に対応する3次元形状情報や、背景の3次元形状情報なども含まれる。しかも手話は手を体の前に位置させて行われる場合が多く、手が検出部に対して利用者の体と重なる位置にある場合が多い。しかし本実施形態によれば、検出ユニット16の撮像空間の3次元座標系において、手話を構成する手の3次元形状情報を取得することができるので、手話を構成する手のみを抽出してこれを基準3次元形状情報と比較することができる。即ち本実施形態によれば、検出ユニット16に対して重なり合う位置にある検出対象物も3次元的に形状を解析することにより、検出対象物から素早くしかも正確に所望の情報を抽出することができる。
【0107】
そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS44のY)、対応するコマンド信号を出力し(ステップS46)、コマンド信号に基づいて画像出力する(ステップS48)。例えば図8に示すように、プレーヤPが右手RHで人差し指を立てると、かかる右手RHの形状を抽出して基準3次元形状情報と比較判定し、「一番」という文字を表示部14に表示させるコマンド信号を出力する。
【0108】
4−3.操作入力処理
次に本実施形態の画像認識システム10を用いて、検出対象物が予め定められた3次元形状を有するものであれば、検出対象物を操作検出対象物として設定し、プレーヤが操作検出対象物を操作して検出対象物の形状や位置が変化すると、これを操作入力として検出し、対応する操作信号を出力する処理を行う一例について説明する。図10(A)は、円環状の操作体RMを車のハンドルとして設定し、検出ユニット16に向かう方向を回転軸として円環状の操作体RMを回転させることにより、対応する操作信号を出力する例であり、図10(B)は、棒状の操作体BMを飛行機の操縦桿として設定し、検出ユニット16に対して棒状の操作体BMを前後左右に傾倒させることにより、対応する操作信号を出力する例である。
【0109】
図11のフローチャートに示すように本実施形態では、ゲームを実行する前に、まず操作検出対象を設定するための設定モードを実行する(ステップS60)。そして検出ユニット16により、プレーヤが操作する操作体を検出対象とする検出3次元形状情報を取得する(ステップS62)。すると、記憶部に記憶された操作体の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS64)。ここで取得された検出3次元形状情報には、操作体の形状に対応する3次元形状情報の他、プレーヤに対応する3次元形状情報や、背景の3次元形状情報なども含まれるが、上述の通り本実施形態によれば、検出ユニット16の撮像空間の3次元座標系において、操作体の3次元形状情報を取得して、操作体のみを抽出してこれを基準3次元形状情報と比較する。
【0110】
そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS66のY)、検出3次元形状情報に対応する検出対象物を操作検出対象物として設定する(ステップS68)。例えば図10(A)の場合には、円環状の操作体RMが車のハンドルの基準3次元形状情報と一致するので、円環状の操作体RMを車のハンドルとして設定し、図10(B)の場合には、棒状の操作体BMが飛行機の操縦桿の基準3次元形状情報と一致するので、棒状の操作体BMを飛行機の操縦桿として設定する。そして設定された操作検出対象物の種類に応じた操作アルゴリズムを設定する(ステップS69)。例えば図10(A)の場合には、検出ユニット16に向かう方向を回転軸としてプレーヤが円環状の操作体RMを回転させる操作を行うと、オブジェクト空間に設定される車オブジェクト(移動体オブジェクト)MOの移動方向を変化させる操作アルゴリズムを設定し、図10(B)の場合には、検出ユニット16に対してプレーヤが棒状の操作体BMを前後左右に傾倒させる操作を行うと、オブジェクト空間に設定される飛行機オブジェクト(移動体オブジェクト)AOの移動方向を変化させる操作アルゴリズムを設定する。
【0111】
こうして操作検出対象物と操作アルゴリズムが設定されると、設定された操作検出対象物と操作アルゴリズムとに対応するゲームを実行する(ステップS70)。すると検出ユニット16により、プレーヤが操作する操作体を検出対象とする検出3次元形状情報を取得する(ステップS72)。そして、検出3次元形状情報の変化に基づいて操作信号を出力し(ステップS74)、操作信号に基づいてオブジェクト空間に設定される移動体オブジェクトの移動・動作処理を行う(ステップS76)。例えば図10(A)の場合には、検出ユニット16に向かう方向を回転軸とした円環状の操作体RMの回転量に応じて、車オブジェクト(移動体オブジェクト)の移動方向を変化させ、図10(B)の場合には、検出ユニット16に対する棒状の操作体BMの傾倒方向と傾倒量に応じて、飛行機オブジェクト(移動体オブジェクト)の移動方向を変化させる。そして、移動体オブジェクトがオブジェクト空間を移動・動作する画像を描画する(ステップS78)。
【0112】
4−4.アイテム認識処理
次に本実施形態の画像認識システム10を用いて、検出対象物が予め定められた3次元形状を有するものであれば、予め定められた3次元形状に対応するオブジェクト形状情報を3次元オブジェクト空間に設定する処理を行う一例について説明する。図12(A)は、プレーヤが剣の形状をした剣アイテム体KMを持っていれば、キャラクタオブジェクトCOが剣アイテムオブジェクトKOを持っている画像を描画する例であり、盾の形状をした盾アイテム体TMを持っていれば、キャラクタオブジェクトCOが盾アイテムオブジェクトTOを持っている画像を描画する例である。
【0113】
図13のフローチャートに示すように本実施形態では、まず検出ユニット16により、プレーヤが持っているアイテム体を検出対象とする検出3次元形状情報を取得する(ステップS90)。すると、記憶部に記憶されたアイテム体の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS92)。そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS94のY)、検出3次元形状情報に対応するオブジェクト形状情報をオブジェクト空間に設定し(ステップS96)、当該オブジェクト空間を描画する(ステップS98)。例えば図12(A)の場合には、剣アイテム体KMが剣アイテムオブジェクトKOに一致するので、キャラクタオブジェクトCOが剣アイテムオブジェクトKOを持っている画像を描画し、図12(B)の場合には、盾アイテム体TMが盾アイテムオブジェクトTOに一致するので、キャラクタオブジェクトCOが盾アイテムオブジェクトTOを持っている画像を描画する。そして、設定したオブジェクト形状情報が、他のオブジェクトに対応するオブジェクト形状情報とオブジェクト空間内で重なった場合には、即ちヒットしたと判定した場合には(ステップS100のY)、他のオブジェクトが壊れるなどのヒット処理を行う(ステップS102)。
【0114】
4−5.移動認識処理
次に本実施形態の画像認識システム10を用いて、検出対象物の位置の変化に応じて、所与のオブジェクトの位置が変化する画像を描画する処理を行う一例について説明する。図14は、プレーヤが検出ユニット16に向かって発泡スチロールや紙などでできた被投てき物HMを投げると、投げられた被投てき物HMの移動とともに対応するボールオブジェクトBOが移動する(投げられる)画像を描画する例である。
【0115】
図15のフローチャートに示すように本実施形態では、まず検出ユニット16により、プレーヤが持っている被投てき物HMを検出対象とする検出3次元位置情報を取得する(ステップS110)。すると、検出3次元位置情報に基づいて、ボールオブジェクトBOをオブジェクト空間に設定し(ステップS112)、当該オブジェクト空間を描画する(ステップS114)。そして、設定したボールオブジェクトBOが他のオブジェクトとオブジェクト空間内で重なった場合には、即ちヒットしたと判定した場合には(ステップS116のY)、他のオブジェクトが壊れたり、ボールオブジェクトBOの移動方向が変化するなどのヒット処理を行う(ステップS118)。そしてステップS110〜ステップS118までの処理を1/30秒毎に繰返し、ボールオブジェクトBOがオブジェクト空間を移動する画像を描画する。
【0116】
こうして本実施形態の画像認識システム10では、検出ユニット16の撮像空間の3次元座標系において、検出対象物の3次元形状情報や3次元位置情報を取得することにより、検出対象物の形状や位置を3次元的に解析して上記種々の処理を行うことができる。
【0117】
なお、上述の操作入力処理における操作体や、アイテム認識処理におけるアイテム体については、判定基準となる基準3次元情報を厳密に設定し、検出3次元形状情報が基準3次元情報とほぼ同一でなければ一致しないと判定するようにしてもよいし、判定基準となる基準3次元情報を厳密に設定せず、検出3次元形状情報が基準3次元情報に近似していれば一致すると判定するようにしてもよい。ここで一致判定を厳密に行う場合には、基準3次元情報とほぼ同一形状の操作体やアイテム体をプレーヤに提供するようにしてもよい。一方、一致判定を厳密に行わない場合には、基準3次元情報に近似する形状の身の回りにある物体を操作体やアイテム体として用いるようにしてもよい。
【0118】
また、人間の骨格や人間の動きに関する情報を予め記憶しておき、撮像空間の3次元情報のうちプレーヤに対応する3次元情報を特定することにより、手話の手に対応する3次元情報や、操作体、アイテム体、被投てき体などの3次元情報を特定するようにしてもよい。
【0119】
5.ハードウェア構成
図16に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0120】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0121】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0122】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0123】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0124】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0125】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0126】
6.変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0127】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【0128】
また本発明は種々の指示位置演算システムに適用できる。上述の実施形態では、本発明をゲームシステムに適用した場合を例に挙げて説明したが、本発明は、プレゼンテーションシステムなどの種々の指示位置演算システム、及び指示位置演算システムに用いる指示体に適用することができる。
【図面の簡単な説明】
【0129】
【図1】本実施形態のシステムの概略外観の一例を示す図。
【図2】本実施形態のシステムの原理を説明するための図。
【図3】本実施形態で撮像された画像の一例を説明するための図。
【図4】本実施形態のシステムの原理を説明するための図。
【図5】本実施形態のシステムの機能ブロックの一例を示す図。
【図6】本実施形態のシステムの処理の一例を説明するための図。
【図7】本実施形態の処理の一例を示すフローチャート図。
【図8】本実施形態のシステムの処理の一例を説明するための図。
【図9】本実施形態の処理の一例を示すフローチャート図。
【図10】図10(A)、(B)は本実施形態のシステムの処理の一例を説明するための図。
【図11】本実施形態の処理の一例を示すフローチャート図。
【図12】図12(A)、(B)は本実施形態のシステムの処理の一例を説明するための図。
【図13】本実施形態の処理の一例を示すフローチャート図。
【図14】本実施形態のシステムの処理の一例を説明するための図。
【図15】本実施形態の処理の一例を示すフローチャート図。
【図16】本実施形態のシステムのハードウェア構成の一例を示す図。
【符号の説明】
【0130】
P プレーヤ、TO 標的オブジェクト、DL 出力波、RL 反射波、WL 壁、
PO 撮像対象物、PA 撮像領域、PS 撮像空間、WP 重心位置、N 法線、
10 ゲームシステム、12 表示画面、14 表示部、16 検出ユニット、
18 ゲーム機、20 出力部、22 検出部、24 3次元情報取得部、
100 処理部、101 比較部、102 コマンド信号出力部、103 出力制御部、
104 操作検出対象物設定部、105 操作アルゴリズム設定部、
106 操作信号出力部、107 オブジェクト生成部、
108 オブジェクト空間設定部、109 移動・動作処理部、110 判定部、
120 描画処理部、121 テクスチャマッピング部、130 音生成部、
140 通信制御部、170 記憶部、180 情報記憶媒体
【技術分野】
【0001】
本発明は、画像認識システムに関する。
【背景技術】
【0002】
従来から、システム利用者の手や足などに発光体を装着させた上で利用者の画像を撮像し、画像における発光体の位置の変化に基づいて利用者の動きなどを検出し、利用者の動きに応じた画像を表示させる画像認識システムが知られている。
【特許文献1】特開2000−33184号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかし従来の画像認識システムでは、利用者の手や足などに発光体を装着させる必要があったため、また画像における発光体の位置の変化を2次元的に解析していたため、利用者の動きなどを簡易かつ詳細に検出して利用者の動きなどに応じた画像を生成し、これをコミュニケーションやゲームのために用いることができなかった。
【0004】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、利用者などの検出対象物を簡易かつ3次元的に検出して画像を生成することにより、例えばキーボードなどが無いゲーム専用機でのネットゲームコミュニケーションに役立たせたり、キーボードがあっても、操作を簡易化したりコミュニケーションの表現の幅を広げることができる画像認識システムを提供することにある。また本発明の他の目的は、例えば実際の回路や電源、ケーブルなどが不要のコントローラにより操作入力を行うことができる画像認識システムを提供することにある。また本発明の他の目的は、操作入力を簡素化できる画像認識システムを提供することにある。また本発明の他の目的は、例えば利用者が実際に持っている物などを反映した画像を生成することができる画像認識システムを提供することにある。
【課題を解決するための手段】
【0005】
(1)本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、前記検出3次元形状情報に基づいて生成するオブジェクト生成部と、
前記生成されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0006】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0007】
本発明において「検出3次元形状情報」とは、例えば検出部の中心点などを基準点とする座標系の座標情報とすることができ、検出対象物の形状を規定するのみならず、検出部の検出方向における検出対象物の位置、向きを規定する情報とすることができる。
【0008】
本発明では、出力部が出力した出力波の反射波を検出部が検出し、検出した反射波に基づいて検出対象物の検出3次元形状情報を取得する。そして取得した検出3次元形状情報に基づいてオブジェクト形状情報を生成し、オブジェクト形状情報を外部装置との間で送受信する。これにより本発明によれば、自分(本人)の端末装置において取得した検出3次元形状情報に基づく3次元オブジェクトを、他人の端末装置において表示させたり、他人の端末装置において取得された検出3次元形状情報に基づく3次元オブジェクトを、自分の端末装置において表示させたりしながらコミュニケーションを行うことができる。例えば自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を生成し、これを他人の端末装置に送信することにより、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させることができる。
【0009】
(2)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される複数種類の3次元オブジェクトの形状を規定する複数種類のオブジェクト形状情報を記憶するオブジェクト形状情報記憶部と、
前記検出3次元形状情報に対応する前記オブジェクト形状情報を、前記検出3次元形状情報に基づいて選択するオブジェクト形状情報選択部と、
前記選択されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0010】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0011】
これにより本発明によれば、自分(本人)の端末装置において取得した検出3次元形状情報に応じて選択された3次元オブジェクトを、他人の端末装置において表示させたり、他人の端末装置において取得された検出3次元形状情報に応じて選択された3次元オブジェクトを、自分の端末装置において表示させたりしながらコミュニケーションを行うことができる。例えば自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を選択し、これを他人の端末装置に送信することにより、他人の端末装置において自らに対応する3次元オブジェクトを表示させることができる。
【0012】
(3)また本発明に係る画像認識システムでは、
前記オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、前記検出3次元形状情報に基づいて補正するオブジェクト形状情報補正部を更に含み、
前記通信制御部が、
前記オブジェクト形状情報補正部に補正された補正後のオブジェクト形状情報を外部装置との間で送受信するようにしてもよい。
【0013】
本発明によれば、例えば自らの検出3次元形状情報に対応するオブジェクト形状情報を選択した場合に、選択されたオブジェクト形状情報を自らの検出3次元形状情報に近づけるように補正することができる。これにより本発明によれば、予め記憶させておくオブジェクト形状情報のデータ容量を抑えつつ、検出対象物により近い3次元オブジェクトを表示させることができる。
【0014】
(4)また本発明に係る画像認識システムでは、
前記生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するテクスチャマッピング部を更に含むようにしてもよい。
【0015】
本発明によれば、例えば自らに対応するオブジェクト形状情報を生成した場合に、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させる際に、例えば顔の一部に対応する部分に所与のテクスチャをマッピングすることにより、他人の端末装置において表示させる3次元オブジェクトに独自性を与えつつも匿名性を維持することができる。
【0016】
(5)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、対応するコマンド信号を出力するコマンド信号出力部と、
前記コマンド信号に対応する画像情報、音情報の少なくとも一方を記憶する出力情報記憶部と、
前記出力されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させる出力制御部とを含むことを特徴とする画像認識システムに関係する。
【0017】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0018】
本発明では、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいて対応するコマンド信号を出力する。これにより本発明によれば、例えば手話などのように、検出部に対して利用者の体と重なる位置にある手により形成されている形状を3次元的に解析し、手の形状に応じたコマンド信号を出力することができる。こうして本発明によれば、例えば手話における手の形状を画像認識システムに認識させることができ、例えば手の形状に応じたコマンド信号に対応する文字情報や音声情報を出力して、手話を翻訳するように構成することもできる。
【0019】
(6)また本発明に係る画像認識システムでは、
前記3次元情報取得部が、
前記出力波が反射した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、前記反射波に基づいて取得し、
前記基準情報記憶部が、
予め定められた3次元形状の所定期間における変化を規定する基準3次元動作情報を記憶し、
前記比較部が、
前記基準3次元動作情報と前記検出3次元動作情報とを比較するようにしてもよい。
【0020】
本発明では、取得した検出3次元動作情報と基準3次元形状動作とを比較し、比較結果に基づいて対応するコマンド信号を出力する。これにより本発明によれば、例えば手の形状のみならず手の動きなどの動作を3次元的に解析し、手の3次元的な動きに応じたコマンド信号を出力することができる。こうして本発明によれば、検出対象物の2次元的な動きではなく3次元的な動きに応じて種々のコマンド信号を出力させる画像認識システムを実現することができる。
【0021】
(7)また本発明に係る画像認識システムでは、
前記出力されたコマンド信号を外部装置との間で送受信する通信制御部を更に含み、
前記出力制御部が、
前記受信されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させるようにしてもよい。
【0022】
本発明では、例えば自分の端末装置において取得した検出3次元形状情報に応じたコマンド信号に基づいて、対応する文字情報や音声情報を他人の端末装置において出力させたり、他人の端末装置において取得された検出3次元形状情報に応じたコマンド信号に基づいて、対応する文字情報や音声情報を自分の端末装置において出力させたりしながらコミュニケーションを行うことができる。
【0023】
(8)また本発明は、
操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う移動・動作処理部と、
前記所与のオブジェクトが移動及び動作の少なくとも一方を行う画像を描画する描画処理部と、
を含む画像認識システムであって、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報、及び前記検出対象物の3次元位置を規定する検出3次元位置情報の少なくとも一方を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記検出対象物を操作検出対象物として設定する操作検出対象物設定部と、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記操作信号を出力する操作信号出力部と、
を更に含むことを特徴とする画像認識システムに関係する。
【0024】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0025】
本発明では、検出対象物が予め定められた3次元形状を有するものであれば、検出対象物を操作検出対象物として設定する。そして検出対象物の形状や位置が変化すると、これを操作入力として検出し、対応する操作信号を出力する。このように本発明によれば、所与のオブジェクトの移動・動作を操作するための入力インターフェースとして検出部を利用した画像認識システムを構築することができる。
【0026】
(9)また本発明に係る画像認識システムでは、
前記基準情報記憶部に記憶された複数の基準3次元形状情報の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記基準3次元形状情報に応じた操作アルゴリズムを設定する操作アルゴリズム設定部と、
を更に含み、
前記操作信号出力部が、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記設定された操作アルゴリズムに応じた操作信号を出力するようにしてもよい。
【0027】
本発明では、検出対象物の3次元形状に応じて複数の操作アルゴリズムが用意されており、例えば円環状の検出対象物が検出された場合にはこれを車のハンドルという操作検出対象物に設定し、車のハンドルに対応する操作アルゴリズムを設定する。そして利用者がハンドルを回転させるように操作検出対象物を回転させると、操作検出対象物の回転量に応じて例えば車オブジェクトの向きを変化させる画像を描画する。また例えば棒状の検出対象物が検出された場合にはこれを飛行機の操縦桿という操作検出対象物に設定し、飛行機の操縦桿に対応する操作アルゴリズムを設定する。そして利用者が操縦桿を操作するように操作検出対象物を傾倒させる操作を行うと、操作検出対象物の傾倒量に応じて例えば飛行機オブジェクトの向きを変化させる画像を描画する。このように本発明によれば、操作検出対象物の3次元形状に応じて種々の操作入力を行うことができる入力インターフェースを実現することができる。
【0028】
(10)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0029】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0030】
本発明において「基準3次元形状情報」とは、形状情報を比較判定するための3次元形状情報でもよいし、オブジェクト空間に設定されるオブジェクト形状情報そのものでもよい。
【0031】
本発明では、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいてオブジェクト形状情報を3次元オブジェクト空間に設定する。例えば利用者がテニスラケットの形状をした検出対象物を持っていれば、キャラクタオブジェクトがテニスラケットを持っている画像を描画する。ここで本発明によれば、例えば利用者がテニスラケットを検出部に対して利用者の体と重なる位置に構えていても、テニスラケットの形状を3次元的に解析し、利用者が持っているものを認識することができる。従って本発明によれば、検出対象物の配置状況に関わらず検出対象物の検出3次元形状情報を取得して、対応するオブジェクト形状情報を3次元オブジェクト空間に設定することができる。
【0032】
(11)また本発明に係る画像認識システムでは、
前記オブジェクト形状情報記憶部が、
複数種類のオブジェクト形状情報を記憶し、
前記オブジェクト空間設定部が、
前記比較部の比較結果に基づいて、前記複数種類のオブジェクト形状情報のうち前記検出3次元形状情報に対応する前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するようにしてもよい。
【0033】
本発明によれば、例えば利用者が剣の形状をした検出対象物を持っていれば、キャラクタオブジェクトが剣アイテムを持っている画像を描画し、盾の形状をした検出対象物を持っていれば、キャラクタオブジェクトが盾アイテムを持っている画像を描画するようにすることができる。このように本発明によれば、検出対象物の3次元形状に応じて種々の3次元オブジェクトの画像を描画することができる。
【0034】
(12)また本発明に係る画像認識システムでは、
前記オブジェクト空間設定部が、
所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更するようにしてもよい。
【0035】
本発明によれば、例えば利用者が剣の形状をした検出対象物を持っており、キャラクタオブジェクトが剣アイテムを持っている画像を描画している場合に、所与のイベントの発生に基づいて剣アイテムが壊れるような画像を描画することができる。
【0036】
(13)また本発明は、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記検出対象物の3次元形状を規定する検出3次元位置情報を、前記反射波に基づいて取得する3次元情報取得部と、
前記取得された検出3次元形状情報に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システムに関係する。
【0037】
また本発明は、前記各部としてコンピュータを機能させるプログラム及びプログラムを記憶した情報記憶媒体に関係する。
【0038】
本発明では、出力部が出力した出力波の反射波を検出部が検出し、検出した反射波に基づいて検出対象物の検出3次元形状情報を取得する。そして取得した検出3次元形状情報に基づいて、現実世界における検出対象物の形状や位置、向きの変化に応じて、所与のオブジェクトの形状や位置、向きが変化する画像を描画することができる。例えば検出部に向かって所与の物体を投げると、投げられた物体の移動とともに対応するオブジェクトが移動する(投げられる)画像を描画することができる。
【0039】
(14)また本発明に係る画像認識システムでは、
前記3次元オブジェクト空間に設定された前記オブジェクト形状情報と他のオブジェクト形状情報との前記3次元オブジェクト空間における重なりを判定する判定部を更に含むようにしてもよい。
【0040】
本発明によれば、利用者が持っている検出対象物や、利用者が投げた検出対象物に対応するオブジェクトと、その他のオブジェクトとのヒット判定を行うことにより、例えば、操作者が持つテニスラケットに対応するテニスラケットオブジェクトによりボールを打つテニスゲームを構成したり、操作者が投げた紙くずに対応する雪玉オブジェクトにより雪合戦を行う雪合戦ゲームを構成したりすることができる。
【発明を実施するための最良の形態】
【0041】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0042】
1.システム概略
図1は、本実施形態の画像認識システムを適用したゲームシステム10の概略外観図である。本実施形態のゲームシステム10は、表示画面12に標的オブジェクトTOなどのゲーム画像を表示させる表示部14と、表示部14の上面に設置され表示部14の正面方向の検出対象物の3次元形状情報と3次元位置情報とを検出するための検出ユニット16と、検出対象物の3次元形状情報を用いて種々の処理を行うゲーム機18とを含む。検出ユニット16には、検出ユニット16の左端部に設置され、表示部14の正面方向(プレーヤPの方向)に向けて赤外光などの所定の波長の出力波を出力する出力部20と、検出ユニット16の右端部に設置され、出力波の反射波を検出する検出部22とが設けられている。特に本実施形態では、出力部20は赤外光を出力する赤外光LEDにより構成され、検出部22は赤外光イメージセンサにより構成されている。そして検出部22は、表示部14の正面方向から入射する赤外光(出力部20が出力した赤外光の反射光)を受光面において受光して、これを画像として取得する(撮像する)。
【0043】
更に検出ユニット16には、ASICや、MCUなどで構成される3次元情報取得部24が設けられている。3次元情報取得部24は、反射波を受光した検出部22の受光面における受光位置ごとの反射波の位相のずれなどに基づいて、プレーヤPなどの撮像対象物(検出対象物)の画像を、撮像対象物を含む撮像空間の3次元座標系情報(検出3次元形状情報、検出3次元位置情報)として取得する。そしてゲーム機18は、撮像対象物であるプレーヤPの3次元座標情報に基づいて、プレーヤPの姿勢や動きなどを認識して、対応する画像を表示画面12に表示させたり、音声を出力させる。またインターネットなどのネットワークを介して、他人のゲーム機18に3次元位置情報や3次元位置情報に基づく情報を送信して、他人の表示部14の表示画面12に自らに対応する画像を表示させる。
【0044】
なお本実施形態では検出部22の前面側に、赤外光に対応する波長帯の光(出力部20からの光と同様の波長の光)のみを透過させるフィルタを設け、検出部22が受光する光が所定の波長帯の光となるようにしている。なおフィルタを設けずに、赤外光(所定の波長の光)が含まれる所定範囲の波長帯の受光感度特性を有するイメージセンサを検出部22として用いるようにしてもよい。また、ゲーム機18に種々の操作入力を行うためのコントローラを接続するようにしてもよい。
【0045】
2.本実施形態の手法
次に、本実施形態の検出ユニット16が、プレーヤPなどの撮像対象物の画像を3次元座標系情報(検出3次元形状情報、検出3次元位置情報)として取得する原理について説明する。本実施形態では3次元情報取得部24が、検出部22と撮像対象物であるプレーヤPとの相対的な位置関係を規定する情報として距離情報を取得する。
【0046】
図2は、表示部14と、表示部14の上面に配置された検出ユニット16と、撮像対象物であるプレーヤPとを真横から見た平面図である。図2に示すように本実施形態では、検出ユニット16の出力部20が、検出ユニット16の検出方向(表示部14の正面方向)に赤外光DLを出力すると、検出ユニット16の検出部22が、検出ユニット16の検出方向からの反射光RLを検出する。ここで反射光RLは、出力部20から出力された直接光の反射光であるが、検出部22からの距離が相対的に近いプレーヤPの右手RHで反射した反射光RL1と、相対的に遠いプレーヤPの頭部HDで反射した反射光RL2とでは、検出部22に到達したときに位相差が発生する。そこで本実施形態の検出部22は、検出部22の受光面において受光した反射光RLの位相差を、受光面に配列された受光素子(画素)ごとに検出する(撮像する)。そして3次元情報取得部24が、画素ごとの位相差に基づいて、検出部22の検出方向(撮像空間、画角θ内)に存在する撮像対象物と検出部22との距離情報を、画素ごとに取得する。
【0047】
図3は、3次元情報取得部24が取得した画素ごとの距離情報を説明するための図である。本実施形態の検出部22では、矩形の受光面上に受光素子がマトリクス状に配列されているため、3次元情報取得部24は、図3に示す矩形の撮像領域PAにマトリクス状に配列される画素ごとに、撮像対象物PO(プレーヤP)と検出部22との距離情報を取得する。従って図3に示すように、プレーヤPの右手RHに対応する画素と、頭部HDに対応する画素と、体BDに対応する画素と、左手LHに対応する画素と、背景となる壁WLに対応する画素と、床面GSに対応する画素とについて、画素ごとに検出部22からの距離情報が格納される。
【0048】
図4は、検出部22の撮像空間PS(画角θ内)における3次元座標系情報を説明するための図である。本実施形態の3次元情報取得部24では、図4に示すように、検出部22の受光面の重心位置WPを原点Oとし、受光面の法線NをZ軸とした3次元座標系において、撮像空間PS内にある撮像対象物POの受光面から見える面の3次元座標情報を取得している。即ち、検出部22から見える撮像対象物POの表面(検出した反射波が反射した面)に対応する画素ごとの3次元座標値群をメモリ領域に格納する。こうして本実施形態の検出ユニット16では、撮像空間PSの3次元座標系において、撮像対象物POの3次元形状を規定する3次元形状情報と、撮像対象物POの3次元位置を規定する3次元位置情報とを取得することができる。
【0049】
これにより本実施形態によれば、例えば手話などのように、検出部22に対してプレーヤPの体と重なる位置にある手により形成されている形状をも3次元的に解析し、例えば手の形状に応じたコマンド信号を出力することができる。こうして本実施形態によれば、例えば手話における手の形状を画像認識システム10に認識させることができ、例えば手の形状に応じたコマンド信号に対応する文字情報や音声情報を出力して、手話を翻訳するように構成することもできる。
【0050】
なお本実施形態では1/30秒ごとに(1/30秒を1フレームとして)、検出部22が反射光RLを受光し(リフレッシュし)、3次元情報取得部24が撮像領域SAの3次元情報を更新する。
【0051】
3.機能ブロック
次に、図7を用いて本実施形態における指示位置演算システム(ゲームシステム)の構成について説明する。図7は、本実施形態における指示位置演算システムの機能ブロック図の一例である。なお、本実施形態の指示位置演算システムは、図7の構成要素(各部)の一部を省略した構成としてもよい。
【0052】
検出ユニット16は、出力部20、検出部22、3次元情報取得部24を含む。
【0053】
出力部20は、検出ユニット16の検出方向に所定の出力波を出力する。具体的には赤外光LEDなどの発光部や、超音波発生部など、所定波長の出力波を出力するデバイスにより実現できる。
【0054】
検出部22は、出力部20と所定の位置関係を有し、出力部20が出力した出力波の反射波を検出する。具体的には赤外光イメージセンサなどの所定波長の反射波を検出するデバイスにより実現できる。
【0055】
3次元情報取得部24は、各種プロセッサ(CPU、MPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現でき、出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する。また3次元情報取得部24は、検出対象物の3次元位置を規定する検出3次元位置情報を、反射波に基づいて取得する。また3次元情報取得部24は、検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、反射波に基づいて取得する。なお3次元情報取得部24を検出ユニット16に設けずに、処理部100の機能として実現するようにしてもよい。
【0056】
操作部24は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【0057】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部170は、ワーク領域として使用される主記憶部171と、最終的な表示画像等が記憶される描画バッファ172と、複数種類のオブジェクトのモデルデータ(3次元オブジェクトの形状を規定するオブジェクト形状情報)が記憶されるオブジェクトデータ記憶部173と、オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部174と、オブジェクトの画像の生成処理時にZ値が記憶されるZバッファ175と、を含む。なお、これらの一部を省略する構成としてもよい。
【0058】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
【0059】
この情報記憶媒体180には、処理部100において本実施形態の種々の処理を行うためのプログラム(データ)が記憶されている。即ち、この情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶されている。
【0060】
表示部14は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイなどにより実現できる。
【0061】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0062】
携帯型情報記憶装置194には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。
【0063】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0064】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0065】
処理部100(プロセッサ)は、指示体16からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ、ASICなどのハードウェアや、プログラムにより実現できる。
【0066】
特に、本実施形態の処理部100は、比較部101、コマンド信号出力部102、出力制御部103、操作検出対象物設定部104、操作アルゴリズム設定部105、操作信号出力部106、オブジェクト生成部107、オブジェクト空間設定部108、移動・動作処理部109、判定部110、テクスチャマッピング部111、描画処理部120、音生成部130、通信制御部140を含む。なお、これらの一部を省略する構成としてもよい。
【0067】
比較部101は、基準情報記憶部176に予め記憶された3次元形状を規定する基準3次元形状情報(比較用形状情報、テンプレート情報、オブジェクト形状情報)と、検出部22が検出した検出対象の検出3次元形状情報とを比較する。具体的には、プレーヤがとるヨガのポーズや手話の手の形状などのプレーヤの姿勢や形状、ゲーム内で用いることができる剣や盾などのアイテム、テニスラケットや野球バットなどの操作対象、車のハンドルや飛行機の操縦桿などの操作検出対象などに対応するバウンディングボリュームなどを基準情報記憶部176に記憶させておき、検出3次元形状情報がいずれのバウンディングボリュームと一致するか否かを判定する。
【0068】
また比較部101は、予め基準情報記憶部176に記憶された所定の3次元形状の所定期間における変化を規定する基準3次元動作情報と、検出部22が検出した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報とを比較する。具体的には、例えばお辞儀をする動作や物を投げる動作などプレーヤの動作に対応するアニメーションなどを基準情報記憶部176に記憶させておき、検出3次元動作情報がいずれのアニメーションと一致するか否かを判定する。
【0069】
コマンド信号出力部102は、比較部101の比較結果に基づいて、対応するコマンド信号を出力する。具体的にはコマンド信号出力部102は、例えば手話における手の形状に応じたコマンド信号を出力したり、プレーヤの姿勢に応じた評価を行うコマンド信号を出力する。
【0070】
出力制御部103は、出力されたコマンド信号に基づいて、コマンド信号に対応する画像情報、音情報を記憶する出力情報記憶部177を参照し、対応する画像情報、音情報の少なくとも一方を出力させる。具体的には、手話における手の形状に対応する文字情報や音声情報を出力し手話を翻訳したり、プレーヤの姿勢に対する評価を行う文字情報や音声情報を出力する。
【0071】
また出力制御部103は、表示制御処理として、表示部14に表示出力される表示物(オブジェクト)の表示制御を行う。具体的には、表示物(ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ)を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。即ち発生した表示物を表示物リストに登録したり、表示物リストを描画処理部120等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。
【0072】
操作検出対象物設定部104は、比較部101の比較結果に基づいて、検出3次元形状情報に対応する検出対象物を操作検出対象物として設定する。具体的には操作検出対象物設定部104は、検出対象物が予め定められた車のハンドルや飛行機の操縦桿などの3次元形状を有するものであれば、検出対象物を操作検出対象物として設定する。
【0073】
操作アルゴリズム設定部105は、比較部101の比較結果に基づいて、検出3次元形状情報に対応する基準3次元形状情報に応じた操作アルゴリズムを設定する。具体的には操作アルゴリズム設定部105は、基準情報記憶部176に記憶された複数の基準3次元形状情報(オブジェクト形状情報)の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部178を参照し、例えば円環状の検出対象物が検出された場合にはこれを車のハンドルとして扱って、車のハンドルに対応する操作アルゴリズムを設定する。また例えば棒状の検出対象物が検出された場合にはこれを飛行機の操縦桿として扱って、飛行機の操縦桿に対応する操作アルゴリズムを設定する。
【0074】
操作信号出力部106は、設定された操作検出対象物について取得された検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、設定された操作アルゴリズムに応じた操作信号を出力する。具体的には操作信号出力部106は、車のハンドルに対応する操作アルゴリズムが設定されている場合には、プレーヤがハンドルを回転させるように操作検出対象物を回転させると、操作検出対象物の回転量に応じて例えば車オブジェクトの向きを変化させる操作信号を出力する。また例えば、飛行機の操縦桿に対応する操作アルゴリズムが設定されている場合には、プレーヤが操縦桿を操作するように操作検出対象物を傾倒させる操作を行うと、操作検出対象物の傾倒量に応じて例えば飛行機オブジェクトの向きを変化させる操作信号を出力する。
【0075】
オブジェクト生成部107は、所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、検出3次元形状情報に基づいて生成する。具体的にはオブジェクト生成部107は、自らを検出対象物として自らに対応するキャラクタオブジェクトを生成したり、身の回りにある種々のものにより種々のオブジェクトを生成する。また背景としての部屋などもそのままオブジェクトとして生成することができる。
【0076】
またオブジェクト形状情報選択部1071を採用し、検出3次元形状情報に対応するオブジェクト形状情報を、オブジェクトデータ記憶部173に記憶された複数種類のオブジェクトデータから検出3次元形状情報に応じたオブジェクトデータを選択するようにしてもよい。この場合にはオブジェクト形状情報補正部1072を更に採用し、オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、検出3次元形状情報に基づいて補正するようにしてもよい。
【0077】
オブジェクト空間設定部108は、本実施形態で生成したキャラクタオブジェクト等の移動体オブジェクト、予め記憶させてあるキャラクタオブジェクト、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ち、オブジェクト空間設定部108は、ワールド座標系でのオブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
【0078】
特に本実施形態ではオブジェクト空間設定部108は、所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更するようにしてもよい。例えば利用者が剣の形状をした検出対象物を持っており、キャラクタオブジェクトが剣アイテムを持っている画像を描画している場合に、所与のイベントの発生に基づいて剣アイテムが壊れるような画像を描画することができる。このとき、壊れていない状態の剣アイテムのオブジェクトデータと壊れている状態のオブジェクトデータとを用意しておき、イベントの発生に基づいて、オブジェクト空間に設定するオブジェクトデータを変更するようにしてもよいし、剣アイテムのオブジェクトデータのうちダメージを受けた部位に応じた破壊シミュレーションを行うようにしてもよい。
【0079】
移動・動作処理部109は、操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う。詳細には移動・動作処理部109は、移動体オブジェクト(キャラクタの他、キャラクタが使用する道具等)の移動・動作演算(移動・動作シミュレーション)を行う。即ち、この移動・動作処理部109は、検出部22が検出した検出3次元情報に対応する操作信号、操作部からの操作信号、設定されたパラメータや属性又はプログラム(移動・動作アルゴリズム)や各種データ(モーションデータ)などに基づいて、移動体オブジェクトをオブジェクト空間内で移動させ、又は、移動体オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
【0080】
具体的には、本実施形態の移動・動作処理部109は、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム(例えば1/60秒)毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは毎フレーム固定としてもよいし、処理負荷に応じて可変としてもよい。
【0081】
判定部110は、3次元オブジェクト空間に設定されたオブジェクト形状情報と他のオブジェクト形状情報との3次元オブジェクト空間における重なりを判定する。
【0082】
描画部120は、処理部70で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、本実施形態の描画部120は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0083】
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
【0084】
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をフレームバッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
【0085】
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0086】
なお、描画部120が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0087】
そして、描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0088】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部170に記憶する。
【0089】
テクスチャマッピングでは、記憶部170のテクスチャ記憶部174に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部174からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。特に本実施形態では、ポリゴンメッシュの表面の色が面集合ごとにテクスチャ空間に分布するテクスチャをマッピングする処理を行う。
【0090】
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
【0091】
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
【0092】
特に本実施形態のテクスチャマッピング部121は、オブジェクト生成部107によって生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定する。例えば自らに対応するオブジェクト形状情報を生成した場合に、他人の端末装置において自らに対応する3次元オブジェクト(キャラクタ)を表示させる際に、例えば顔の一部に対応する部分に所与のテクスチャをマッピングする。
【0093】
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0094】
αブレンディング(α合成)では、描画部120は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0095】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0096】
通信制御部140は、操作情報(要求)やプログラム等に基づき、いかなる情報をいずれの外部装置(サーバ、端末)との間で送受信するかなどの通信制御処理を行う。具体的には通信制御部140は、オブジェクト生成部107によって生成されたオブジェクト形状情報を外部装置との間で送受信する。例えば通信制御部140は、自分の端末装置において自らを検出対象物とした検出3次元形状情報を取得し、自らに対応するオブジェクト形状情報を生成し、これを他人の端末装置に送信したり、他人の端末装置において他人を検出対象物とした検出3次元形状情報に基づいて生成されたオブジェクト形状情報を受信する。
【0097】
また通信制御部140は、出力されたコマンド信号を外部装置との間で送受信するようにしてもよい。これにより例えば自分の端末装置において手話の手の形状を検出対象物とした検出3次元形状情報を取得し、対応するコマンド信号を他人の端末装置に送信して、他人の端末装置において手話の手の形状に対応する文字情報や音声情報を出力するようにしてもよい。
【0098】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0099】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0100】
4.本実施形態の処理
次に、本実施形態で行われる各種処理の流れを図面とフローチャートを用いて説明する。
【0101】
4−1.アバタキャラクタ制御処理
最初に、自分に対応するキャラクタを他人の端末に表示させながらメールやチャットなどのコミュニケーションを行ういわゆるアバタ(自分の分身)コミュニケーションを、本実施形態の画像認識システム10を用いて行う一例について説明する。本実施形態では、図6に示すように、プレーヤP1に対応する画像認識システム10−1と、プレーヤP2に対応する画像認識システム10−2とがインターネットINTを介して接続されている状態で、図7のフローチャートに示すアバタキャラクタ制御処理を行う。なお図6においてゲーム機18−1、18−2は、通信機能を有するPC(パーソナルコンピュータ)18−1、18−2により構成している。
【0102】
図7に示すように本実施形態では、画像認識システム10−1の検出ユニット16−1により、プレーヤP1を検出対象とする検出3次元形状情報を取得するとともに、画像認識システム10−2の検出ユニット16−2により、プレーヤP2を検出対象とする検出3次元形状情報を取得する(ステップS20)。すると画像認識システム10−1のPC18−1により、プレーヤP1を検出対象とする検出3次元形状情報に基づいて、プレーヤP1に対応するアバタキャラクタのオブジェクト形状情報を生成するとともに、画像認識システム10−2のPC18−2により、プレーヤP2を検出対象とする検出3次元形状情報に基づいて、プレーヤP2に対応するアバタキャラクタのオブジェクト形状情報を生成する(ステップS22)。
【0103】
すると、PC18−1、PC18−2により、それぞれで生成したアバタキャラクタAC1、AC2のオブジェクト形状情報を互いに送受信し(ステップS24、ステップS26)、他の画像認識システムにおいて生成されたオブジェクト形状情報をオブジェクト空間に設定する(ステップS28)。そしてプレーヤP1、プレーヤP2がそれぞれ自らに対応するアバタキャラクタAC1、AC2について予め設定したテクスチャをアバタキャラクタAC1、AC2の顔の一部にマッピングする(ステップS30)。例えばアニメキャラクタの目や口などのテクスチャを、アバタキャラクタAC1、AC2の目や口に対応する位置にマッピングする。そしてかかるアバタキャラクタAC1、AC2のオブジェクト形状情報が設定されたオブジェクト空間を描画する(ステップS32)。
【0104】
こうして本実施形態によれば、図6に示すように、画像認識システム10−1の表示部14−1には、プレーヤP2を検出対象物として取得した検出3次元形状情報に基づいて生成されたアバタキャラクタAC2を表示させ、画像認識システム10−2の表示部14−2には、プレーヤP1を検出対象物として取得した検出3次元形状情報に基づいて生成されたアバタキャラクタAC1を表示させていわゆるアバタコミュニケーションを行うことができる。
【0105】
4−2.コマンド出力処理
次に本実施形態の画像認識システム10を用いて、取得した検出3次元形状情報と基準3次元形状情報とを比較し、比較結果に基づいて対応するコマンド信号を出力する処理を行う一例について説明する。本実施形態では、図8に示すように、検出ユニット16の前で手話を行い、手話の手の形状に対応する文字情報を表示部14に表示させている。
【0106】
図9のフローチャートに示すように本実施形態では、まず、検出ユニット16によりプレーヤを検出対象とする検出3次元形状情報を取得する(ステップS40)。すると、記憶部に記憶された手話の手の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS42)。ここで取得された検出3次元形状情報には、プレーヤの右手RHの形状に対応する3次元形状情報の他、プレーヤのその他の部位に対応する3次元形状情報や、背景の3次元形状情報なども含まれる。しかも手話は手を体の前に位置させて行われる場合が多く、手が検出部に対して利用者の体と重なる位置にある場合が多い。しかし本実施形態によれば、検出ユニット16の撮像空間の3次元座標系において、手話を構成する手の3次元形状情報を取得することができるので、手話を構成する手のみを抽出してこれを基準3次元形状情報と比較することができる。即ち本実施形態によれば、検出ユニット16に対して重なり合う位置にある検出対象物も3次元的に形状を解析することにより、検出対象物から素早くしかも正確に所望の情報を抽出することができる。
【0107】
そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS44のY)、対応するコマンド信号を出力し(ステップS46)、コマンド信号に基づいて画像出力する(ステップS48)。例えば図8に示すように、プレーヤPが右手RHで人差し指を立てると、かかる右手RHの形状を抽出して基準3次元形状情報と比較判定し、「一番」という文字を表示部14に表示させるコマンド信号を出力する。
【0108】
4−3.操作入力処理
次に本実施形態の画像認識システム10を用いて、検出対象物が予め定められた3次元形状を有するものであれば、検出対象物を操作検出対象物として設定し、プレーヤが操作検出対象物を操作して検出対象物の形状や位置が変化すると、これを操作入力として検出し、対応する操作信号を出力する処理を行う一例について説明する。図10(A)は、円環状の操作体RMを車のハンドルとして設定し、検出ユニット16に向かう方向を回転軸として円環状の操作体RMを回転させることにより、対応する操作信号を出力する例であり、図10(B)は、棒状の操作体BMを飛行機の操縦桿として設定し、検出ユニット16に対して棒状の操作体BMを前後左右に傾倒させることにより、対応する操作信号を出力する例である。
【0109】
図11のフローチャートに示すように本実施形態では、ゲームを実行する前に、まず操作検出対象を設定するための設定モードを実行する(ステップS60)。そして検出ユニット16により、プレーヤが操作する操作体を検出対象とする検出3次元形状情報を取得する(ステップS62)。すると、記憶部に記憶された操作体の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS64)。ここで取得された検出3次元形状情報には、操作体の形状に対応する3次元形状情報の他、プレーヤに対応する3次元形状情報や、背景の3次元形状情報なども含まれるが、上述の通り本実施形態によれば、検出ユニット16の撮像空間の3次元座標系において、操作体の3次元形状情報を取得して、操作体のみを抽出してこれを基準3次元形状情報と比較する。
【0110】
そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS66のY)、検出3次元形状情報に対応する検出対象物を操作検出対象物として設定する(ステップS68)。例えば図10(A)の場合には、円環状の操作体RMが車のハンドルの基準3次元形状情報と一致するので、円環状の操作体RMを車のハンドルとして設定し、図10(B)の場合には、棒状の操作体BMが飛行機の操縦桿の基準3次元形状情報と一致するので、棒状の操作体BMを飛行機の操縦桿として設定する。そして設定された操作検出対象物の種類に応じた操作アルゴリズムを設定する(ステップS69)。例えば図10(A)の場合には、検出ユニット16に向かう方向を回転軸としてプレーヤが円環状の操作体RMを回転させる操作を行うと、オブジェクト空間に設定される車オブジェクト(移動体オブジェクト)MOの移動方向を変化させる操作アルゴリズムを設定し、図10(B)の場合には、検出ユニット16に対してプレーヤが棒状の操作体BMを前後左右に傾倒させる操作を行うと、オブジェクト空間に設定される飛行機オブジェクト(移動体オブジェクト)AOの移動方向を変化させる操作アルゴリズムを設定する。
【0111】
こうして操作検出対象物と操作アルゴリズムが設定されると、設定された操作検出対象物と操作アルゴリズムとに対応するゲームを実行する(ステップS70)。すると検出ユニット16により、プレーヤが操作する操作体を検出対象とする検出3次元形状情報を取得する(ステップS72)。そして、検出3次元形状情報の変化に基づいて操作信号を出力し(ステップS74)、操作信号に基づいてオブジェクト空間に設定される移動体オブジェクトの移動・動作処理を行う(ステップS76)。例えば図10(A)の場合には、検出ユニット16に向かう方向を回転軸とした円環状の操作体RMの回転量に応じて、車オブジェクト(移動体オブジェクト)の移動方向を変化させ、図10(B)の場合には、検出ユニット16に対する棒状の操作体BMの傾倒方向と傾倒量に応じて、飛行機オブジェクト(移動体オブジェクト)の移動方向を変化させる。そして、移動体オブジェクトがオブジェクト空間を移動・動作する画像を描画する(ステップS78)。
【0112】
4−4.アイテム認識処理
次に本実施形態の画像認識システム10を用いて、検出対象物が予め定められた3次元形状を有するものであれば、予め定められた3次元形状に対応するオブジェクト形状情報を3次元オブジェクト空間に設定する処理を行う一例について説明する。図12(A)は、プレーヤが剣の形状をした剣アイテム体KMを持っていれば、キャラクタオブジェクトCOが剣アイテムオブジェクトKOを持っている画像を描画する例であり、盾の形状をした盾アイテム体TMを持っていれば、キャラクタオブジェクトCOが盾アイテムオブジェクトTOを持っている画像を描画する例である。
【0113】
図13のフローチャートに示すように本実施形態では、まず検出ユニット16により、プレーヤが持っているアイテム体を検出対象とする検出3次元形状情報を取得する(ステップS90)。すると、記憶部に記憶されたアイテム体の形状を規定する基準3次元形状情報と、取得された検出3次元形状情報とを比較する(ステップS92)。そして比較の結果、一致する基準3次元形状情報が有る場合には(ステップS94のY)、検出3次元形状情報に対応するオブジェクト形状情報をオブジェクト空間に設定し(ステップS96)、当該オブジェクト空間を描画する(ステップS98)。例えば図12(A)の場合には、剣アイテム体KMが剣アイテムオブジェクトKOに一致するので、キャラクタオブジェクトCOが剣アイテムオブジェクトKOを持っている画像を描画し、図12(B)の場合には、盾アイテム体TMが盾アイテムオブジェクトTOに一致するので、キャラクタオブジェクトCOが盾アイテムオブジェクトTOを持っている画像を描画する。そして、設定したオブジェクト形状情報が、他のオブジェクトに対応するオブジェクト形状情報とオブジェクト空間内で重なった場合には、即ちヒットしたと判定した場合には(ステップS100のY)、他のオブジェクトが壊れるなどのヒット処理を行う(ステップS102)。
【0114】
4−5.移動認識処理
次に本実施形態の画像認識システム10を用いて、検出対象物の位置の変化に応じて、所与のオブジェクトの位置が変化する画像を描画する処理を行う一例について説明する。図14は、プレーヤが検出ユニット16に向かって発泡スチロールや紙などでできた被投てき物HMを投げると、投げられた被投てき物HMの移動とともに対応するボールオブジェクトBOが移動する(投げられる)画像を描画する例である。
【0115】
図15のフローチャートに示すように本実施形態では、まず検出ユニット16により、プレーヤが持っている被投てき物HMを検出対象とする検出3次元位置情報を取得する(ステップS110)。すると、検出3次元位置情報に基づいて、ボールオブジェクトBOをオブジェクト空間に設定し(ステップS112)、当該オブジェクト空間を描画する(ステップS114)。そして、設定したボールオブジェクトBOが他のオブジェクトとオブジェクト空間内で重なった場合には、即ちヒットしたと判定した場合には(ステップS116のY)、他のオブジェクトが壊れたり、ボールオブジェクトBOの移動方向が変化するなどのヒット処理を行う(ステップS118)。そしてステップS110〜ステップS118までの処理を1/30秒毎に繰返し、ボールオブジェクトBOがオブジェクト空間を移動する画像を描画する。
【0116】
こうして本実施形態の画像認識システム10では、検出ユニット16の撮像空間の3次元座標系において、検出対象物の3次元形状情報や3次元位置情報を取得することにより、検出対象物の形状や位置を3次元的に解析して上記種々の処理を行うことができる。
【0117】
なお、上述の操作入力処理における操作体や、アイテム認識処理におけるアイテム体については、判定基準となる基準3次元情報を厳密に設定し、検出3次元形状情報が基準3次元情報とほぼ同一でなければ一致しないと判定するようにしてもよいし、判定基準となる基準3次元情報を厳密に設定せず、検出3次元形状情報が基準3次元情報に近似していれば一致すると判定するようにしてもよい。ここで一致判定を厳密に行う場合には、基準3次元情報とほぼ同一形状の操作体やアイテム体をプレーヤに提供するようにしてもよい。一方、一致判定を厳密に行わない場合には、基準3次元情報に近似する形状の身の回りにある物体を操作体やアイテム体として用いるようにしてもよい。
【0118】
また、人間の骨格や人間の動きに関する情報を予め記憶しておき、撮像空間の3次元情報のうちプレーヤに対応する3次元情報を特定することにより、手話の手に対応する3次元情報や、操作体、アイテム体、被投てき体などの3次元情報を特定するようにしてもよい。
【0119】
5.ハードウェア構成
図16に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0120】
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
【0121】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
【0122】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
【0123】
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるDVD982にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
【0124】
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0125】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【0126】
6.変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【0127】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【0128】
また本発明は種々の指示位置演算システムに適用できる。上述の実施形態では、本発明をゲームシステムに適用した場合を例に挙げて説明したが、本発明は、プレゼンテーションシステムなどの種々の指示位置演算システム、及び指示位置演算システムに用いる指示体に適用することができる。
【図面の簡単な説明】
【0129】
【図1】本実施形態のシステムの概略外観の一例を示す図。
【図2】本実施形態のシステムの原理を説明するための図。
【図3】本実施形態で撮像された画像の一例を説明するための図。
【図4】本実施形態のシステムの原理を説明するための図。
【図5】本実施形態のシステムの機能ブロックの一例を示す図。
【図6】本実施形態のシステムの処理の一例を説明するための図。
【図7】本実施形態の処理の一例を示すフローチャート図。
【図8】本実施形態のシステムの処理の一例を説明するための図。
【図9】本実施形態の処理の一例を示すフローチャート図。
【図10】図10(A)、(B)は本実施形態のシステムの処理の一例を説明するための図。
【図11】本実施形態の処理の一例を示すフローチャート図。
【図12】図12(A)、(B)は本実施形態のシステムの処理の一例を説明するための図。
【図13】本実施形態の処理の一例を示すフローチャート図。
【図14】本実施形態のシステムの処理の一例を説明するための図。
【図15】本実施形態の処理の一例を示すフローチャート図。
【図16】本実施形態のシステムのハードウェア構成の一例を示す図。
【符号の説明】
【0130】
P プレーヤ、TO 標的オブジェクト、DL 出力波、RL 反射波、WL 壁、
PO 撮像対象物、PA 撮像領域、PS 撮像空間、WP 重心位置、N 法線、
10 ゲームシステム、12 表示画面、14 表示部、16 検出ユニット、
18 ゲーム機、20 出力部、22 検出部、24 3次元情報取得部、
100 処理部、101 比較部、102 コマンド信号出力部、103 出力制御部、
104 操作検出対象物設定部、105 操作アルゴリズム設定部、
106 操作信号出力部、107 オブジェクト生成部、
108 オブジェクト空間設定部、109 移動・動作処理部、110 判定部、
120 描画処理部、121 テクスチャマッピング部、130 音生成部、
140 通信制御部、170 記憶部、180 情報記憶媒体
【特許請求の範囲】
【請求項1】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、前記検出3次元形状情報に基づいて生成するオブジェクト生成部と、
前記生成されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項2】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される複数種類の3次元オブジェクトの形状を規定する複数種類のオブジェクト形状情報を記憶するオブジェクト形状情報記憶部と、
前記検出3次元形状情報に対応する前記オブジェクト形状情報を、前記検出3次元形状情報に基づいて選択するオブジェクト形状情報選択部と、
前記選択されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項3】
請求項2において、
前記オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、前記検出3次元形状情報に基づいて補正するオブジェクト形状情報補正部を更に含み、
前記通信制御部が、
前記オブジェクト形状情報補正部に補正された補正後のオブジェクト形状情報を外部装置との間で送受信することを特徴とする画像認識システム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するテクスチャマッピング部を更に含むことを特徴とする画像認識システム。
【請求項5】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、対応するコマンド信号を出力するコマンド信号出力部と、
前記コマンド信号に対応する画像情報、音情報の少なくとも一方を記憶する出力情報記憶部と、
前記出力されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させる出力制御部とを含むことを特徴とする画像認識システム。
【請求項6】
請求項5において、
前記3次元情報取得部が、
前記出力波が反射した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、前記反射波に基づいて取得し、
前記基準情報記憶部が、
予め定められた3次元形状の所定期間における変化を規定する基準3次元動作情報を記憶し、
前記比較部が、
前記基準3次元動作情報と前記検出3次元動作情報とを比較することを特徴とする画像認識システム。
【請求項7】
請求項5、6のいずれかにおいて、
前記出力されたコマンド信号を外部装置との間で送受信する通信制御部を更に含み、
前記出力制御部が、
前記受信されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させることを特徴とする画像認識システム。
【請求項8】
操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う移動・動作処理部と、
前記所与のオブジェクトが移動及び動作の少なくとも一方を行う画像を描画する描画処理部と、
を含む画像認識システムであって、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報、及び前記検出対象物の3次元位置を規定する検出3次元位置情報の少なくとも一方を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記検出対象物を操作検出対象物として設定する操作検出対象物設定部と、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記操作信号を出力する操作信号出力部と、
を更に含むことを特徴とする画像認識システム。
【請求項9】
請求項8において、
前記基準情報記憶部に記憶された複数の基準3次元形状情報の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記基準3次元形状情報に応じた操作アルゴリズムを設定する操作アルゴリズム設定部と、
を更に含み、
前記操作信号出力部が、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記設定された操作アルゴリズムに応じた操作信号を出力することを特徴とする画像認識システム。
【請求項10】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項11】
請求項10において、
前記オブジェクト形状情報記憶部が、
複数種類のオブジェクト形状情報を記憶し、
前記オブジェクト空間設定部が、
前記比較部の比較結果に基づいて、前記複数種類のオブジェクト形状情報のうち前記検出3次元形状情報に対応する前記オブジェクト形状情報を前記3次元オブジェクト空間に設定することを特徴とする画像認識システム。
【請求項12】
請求項11において、
前記オブジェクト空間設定部が、
所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更することを特徴とする画像認識システム。
【請求項13】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記検出対象物の3次元形状を規定する検出3次元位置情報を、前記反射波に基づいて取得する3次元情報取得部と、
前記取得された検出3次元形状情報に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項14】
請求項10〜13のいずれかにおいて、
前記3次元オブジェクト空間に設定された前記オブジェクト形状情報と他のオブジェクト形状情報との前記3次元オブジェクト空間における重なりを判定する判定部を更に含むことを特徴とする画像認識システム。
【請求項1】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される3次元オブジェクトの形状を規定するオブジェクト形状情報を、前記検出3次元形状情報に基づいて生成するオブジェクト生成部と、
前記生成されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項2】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
所与の3次元オブジェクト空間に設定される複数種類の3次元オブジェクトの形状を規定する複数種類のオブジェクト形状情報を記憶するオブジェクト形状情報記憶部と、
前記検出3次元形状情報に対応する前記オブジェクト形状情報を、前記検出3次元形状情報に基づいて選択するオブジェクト形状情報選択部と、
前記選択されたオブジェクト形状情報を外部装置との間で送受信する通信制御部と、
前記受信されたオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項3】
請求項2において、
前記オブジェクト形状情報選択部に選択されたオブジェクト形状情報を、前記検出3次元形状情報に基づいて補正するオブジェクト形状情報補正部を更に含み、
前記通信制御部が、
前記オブジェクト形状情報補正部に補正された補正後のオブジェクト形状情報を外部装置との間で送受信することを特徴とする画像認識システム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記生成されたオブジェクト形状情報の一部に所与のテクスチャをマッピングして、前記オブジェクト形状情報を前記3次元オブジェクト空間に設定するテクスチャマッピング部を更に含むことを特徴とする画像認識システム。
【請求項5】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、対応するコマンド信号を出力するコマンド信号出力部と、
前記コマンド信号に対応する画像情報、音情報の少なくとも一方を記憶する出力情報記憶部と、
前記出力されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させる出力制御部とを含むことを特徴とする画像認識システム。
【請求項6】
請求項5において、
前記3次元情報取得部が、
前記出力波が反射した検出対象物の3次元形状の所定期間における変化を規定する検出3次元動作情報を、前記反射波に基づいて取得し、
前記基準情報記憶部が、
予め定められた3次元形状の所定期間における変化を規定する基準3次元動作情報を記憶し、
前記比較部が、
前記基準3次元動作情報と前記検出3次元動作情報とを比較することを特徴とする画像認識システム。
【請求項7】
請求項5、6のいずれかにおいて、
前記出力されたコマンド信号を外部装置との間で送受信する通信制御部を更に含み、
前記出力制御部が、
前記受信されたコマンド信号に基づいて、対応する画像情報、音情報の少なくとも一方を出力させることを特徴とする画像認識システム。
【請求項8】
操作信号に基づいて、所与のオブジェクトの移動及び動作の少なくとも一方の制御を行う移動・動作処理部と、
前記所与のオブジェクトが移動及び動作の少なくとも一方を行う画像を描画する描画処理部と、
を含む画像認識システムであって、
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報、及び前記検出対象物の3次元位置を規定する検出3次元位置情報の少なくとも一方を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記検出対象物を操作検出対象物として設定する操作検出対象物設定部と、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記操作信号を出力する操作信号出力部と、
を更に含むことを特徴とする画像認識システム。
【請求項9】
請求項8において、
前記基準情報記憶部に記憶された複数の基準3次元形状情報の各基準3次元形状情報に対応する操作アルゴリズムを記憶する操作アルゴリズム記憶部と、
前記比較部の比較結果に基づいて、前記検出3次元形状情報に対応する前記基準3次元形状情報に応じた操作アルゴリズムを設定する操作アルゴリズム設定部と、
を更に含み、
前記操作信号出力部が、
前記設定された操作検出対象物について取得された前記検出3次元形状情報及び前記検出3次元位置情報の少なくとも一方の変化に基づいて、前記設定された操作アルゴリズムに応じた操作信号を出力することを特徴とする画像認識システム。
【請求項10】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記出力波が反射した検出対象物の3次元形状を規定する検出3次元形状情報を、前記反射波に基づいて取得する3次元情報取得部と、
予め定められた3次元形状を規定する基準3次元形状情報を記憶する基準情報記憶部と、
前記基準3次元形状情報と前記検出3次元形状情報とを比較する比較部と、
前記比較部の比較結果に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項11】
請求項10において、
前記オブジェクト形状情報記憶部が、
複数種類のオブジェクト形状情報を記憶し、
前記オブジェクト空間設定部が、
前記比較部の比較結果に基づいて、前記複数種類のオブジェクト形状情報のうち前記検出3次元形状情報に対応する前記オブジェクト形状情報を前記3次元オブジェクト空間に設定することを特徴とする画像認識システム。
【請求項12】
請求項11において、
前記オブジェクト空間設定部が、
所与のイベントの発生に基づいて、前記3次元オブジェクト空間に設定するオブジェクト形状情報を変更することを特徴とする画像認識システム。
【請求項13】
所定の出力波を出力する出力部と、
前記出力部と所定の位置関係を有し、前記出力波の反射波を検出する検出部と、
前記検出対象物の3次元形状を規定する検出3次元位置情報を、前記反射波に基づいて取得する3次元情報取得部と、
前記取得された検出3次元形状情報に基づいて、所与のオブジェクト形状情報を前記3次元オブジェクト空間に設定するオブジェクト空間設定部と、
前記3次元オブジェクト空間を仮想カメラから見た画像を描画する描画処理部と、
を含むことを特徴とする画像認識システム。
【請求項14】
請求項10〜13のいずれかにおいて、
前記3次元オブジェクト空間に設定された前記オブジェクト形状情報と他のオブジェクト形状情報との前記3次元オブジェクト空間における重なりを判定する判定部を更に含むことを特徴とする画像認識システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−225985(P2008−225985A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2007−64913(P2007−64913)
【出願日】平成19年3月14日(2007.3.14)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願日】平成19年3月14日(2007.3.14)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
[ Back to top ]