(57)【特許請求の範囲】
【請求項１】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、
前記状態特定部が検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する情報処理部と、
前記制御対象の実物体を、前記情報処理部が決定した内容で作動するように制御する実物体制御部と、
を備え、
前記情報処理部は、ユーザの操作対象の実物体に対し所定の位置関係で動きつづけるように前記制御対象の実物体の作動の内容を決定するとともに、ユーザの操作対象の実物体と前記制御対象の実物体の位置の時間変化を記録したデータを記憶装置に格納しておくことにより、別のタイミングで、前記制御対象の実物体によって、記録した動きを再現させることを特徴とする情報処理装置。
【請求項２】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、
前記状態特定部が検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する情報処理部と、
前記制御対象の実物体を、前記情報処理部が決定した内容で作動するように制御する実物体制御部と、
を備え、
前記実物体制御部は、制御対象の実物体に装着された描画具により被写空間の水平面に線画が描かれるように当該実物体を制御し、
前記情報処理部は、ユーザの操作対象の実物体が描いた線画との組み合わせにより所定の絵が完成するように、前記制御対象の実物体の作動の内容を決定することを特徴とする情報処理装置。
【請求項３】
前記実物体制御部はさらに、前記実物体のうちユーザの操作対象の実物体が、入力装置を介したユーザ操作を反映する内容で作動するように制御することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記実物体制御部は、前記制御対象の実物体と前記ユーザの操作対象の実物体にそれぞれ備えられた発光素子が互いに異なる発光状態となるように制御したうえ、どちらか一方の実物体を所定の内容で動作させることにより、前記制御対象の実物体と前記ユーザの操作対象の実物体の区別を前記発光状態の差によってユーザに明示することを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
情報処理装置と、当該情報処理装置が制御することにより動く実物体と、を含む情報処理システムであって、
前記情報処理装置は、
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、
前記状態特定部が検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する情報処理部と、
前記制御対象の実物体を、前記情報処理部が決定した内容で作動するように制御する実物体制御部と、
を備え、
前記情報処理部は、ユーザの操作対象の実物体に対し所定の位置関係で動きつづけるように前記制御対象の実物体の作動の内容を決定するとともに、ユーザの操作対象の実物体と前記制御対象の実物体の位置の時間変化を記録したデータを記憶装置に格納しておくことにより、別のタイミングで、前記制御対象の実物体によって記録した動きを再現させることを特徴とする情報処理システム。
【請求項６】
情報処理装置と、当該情報処理装置が制御することにより動く実物体と、を含む情報処理システムであって、
前記情報処理装置は、
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、
前記状態特定部が検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する情報処理部と、
前記制御対象の実物体を、前記情報処理部が決定した内容で作動するように制御する実物体制御部と、
を備え、
前記実物体制御部は、制御対象の実物体に装着された描画具により被写空間の水平面に線画が描かれるように当該実物体を制御し、
前記情報処理部は、ユーザの操作対象の実物体が描いた線画との組み合わせにより所定の絵が完成するように、前記制御対象の実物体の作動の内容を決定することを特徴とする情報処理システム。
【請求項７】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出するステップと、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定するステップと、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御するステップと、
を含み、
前記決定するステップは、ユーザの操作対象の実物体に対し所定の位置関係で動きつづけるように前記制御対象の実物体の作動の内容を決定し、
ユーザの操作対象の実物体と前記制御対象の実物体の位置の時間変化を記録したデータを記憶装置に格納しておくことにより、別のタイミングで、前記制御対象の実物体によって記録した動きを再現させるステップをさらに含むことを特徴とする、情報処理装置による情報処理方法。
【請求項８】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出するステップと、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定するステップと、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御するステップと、
を含み、
前記制御するステップは、制御対象の実物体に装着された描画具により被写空間の水平面に線画が描かれるように当該実物体を制御し、
前記決定するステップは、ユーザの操作対象の実物体が描いた線画との組み合わせにより所定の絵が完成するように、前記制御対象の実物体の作動の内容を決定することを特徴とする、情報処理装置による情報処理方法。
【請求項９】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する機能と、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する機能と、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御する機能と、
をコンピュータに実現させ、
前記決定する機能は、ユーザの操作対象の実物体に対し所定の位置関係で動きつづけるように前記制御対象の実物体の作動の内容を決定するとともに、ユーザの操作対象の実物体と前記制御対象の実物体の位置の時間変化を記録したデータを記憶装置に格納しておくことにより、別のタイミングで、前記制御対象の実物体によって記録した動きを再現させることを特徴とするコンピュータプログラム。
【請求項１０】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する機能と、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する機能と、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御する機能と、
をコンピュータに実現させ、
前記制御する機能は、制御対象の実物体に装着された描画具により被写空間の水平面に線画が描かれるように当該実物体を制御し、
前記決定する機能は、ユーザの操作対象の実物体が描いた線画との組み合わせにより所定の絵が完成するように、前記制御対象の実物体の作動の内容を決定することを特徴とするコンピュータプログラム。
【請求項１１】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する機能と、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する機能と、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御する機能と、
をコンピュータに実現させ、
前記決定する機能は、ユーザの操作対象の実物体に対し所定の位置関係で動きつづけるように前記制御対象の実物体の作動の内容を決定するとともに、ユーザの操作対象の実物体と前記制御対象の実物体の位置の時間変化を記録したデータを記憶装置に格納しておくことにより、別のタイミングで、前記制御対象の実物体によって記録した動きを再現させるコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【請求項１２】
撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する機能と、
検出した状態情報に基づき、ユーザによる状態変化との組み合わせにより所定の結果が得られるように、制御対象の実物体の作動の内容を前記時間間隔で決定する機能と、
前記制御対象の実物体を、前記決定するステップで決定した内容で作動するように制御する機能と、
をコンピュータに実現させ、
前記制御する機能は、制御対象の実物体に装着された描画具により被写空間の水平面に線画が描かれるように当該実物体を制御し、
前記決定する機能は、ユーザの操作対象の実物体が描いた線画との組み合わせにより所定の絵が完成するように、前記制御対象の実物体の作動の内容を決定するコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実空間における物体を利用した情報処理技術に関する。
【背景技術】
【０００２】
近年、実空間における人や物などの物体に係るパラメータを何らかの手段により計測し、それを入力値としてコンピュータに取り込み解析したり、画像として表示したりする技術が様々な分野で利用されている。コンピュータゲームの分野においては、ユーザ自身やユーザが把持するマーカーの動きを取得し、それに応じて表示画面内の仮想世界におけるキャラクタを動作させるといったことにより、直感的かつ容易な操作が実現されている（例えば特許文献１参照）。このように実空間における物体の動きや形状変化を表示画像に反映させる技術は、ゲームのみならず玩具や学習用教材などへの応用が見込まれている（例えば非特許文献１、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ  ２００７／０５０８８５  Ａ２公報
【特許文献２】特開２００８−７３２５６号公報
【非特許文献】
【０００４】
【非特許文献１】Posey: Instrumenting a Poseable Hub and Strut Construction Toy, Michael Philetus Weller, Ellen Yi-Luen Do, Mark D Gross, Proceedings of the Second International Conference on Tangible and Embedded Interaction, 2008, pp 39-46
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術は、主たる出力手段を表示装置への画像表示とすることで、実世界の簡素な物を、仮想世界における多様かつ魅力的な物へと置き換えたり、装置とコミュニケーションをとったりすることが容易にできる、という特徴を有する。一方、画像表現への依存度を小さくしていくと、実世界の物の用途やコンピュータが性能を発揮する余地が限定され、多様化しにくくなる。実世界における物を利用した情報処理技術は、ユーザにとって、直感的な理解が容易であり臨場感が得られやすいという点で非常に有効である。したがって画像表現への依存が少なくても、実世界にある物によって同様の態様を実現できる技術が求められている。
【０００６】
本発明はこのような課題に鑑みてなされたものであり、その目的は、実世界の物体を利用し多様な形態を実現できる情報処理技術を提供することにある。
【課題を解決するための手段】
【０００７】
本発明のある態様は情報処理装置に関する。この情報処理装置は、撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、状態特定部が検出した状態情報に基づく所定の規則で、実物体のうち制御対象の実物体の作動の内容を所定の時間間隔で決定する情報処理部と、制御対象の実物体を、情報処理部が決定した内容で作動するように制御する実物体制御部とを備えたことを特徴とする。
【０００８】
本発明の別の態様は情報処理システムに関する。この情報処理システムは、情報処理装置と、当該情報処理装置が制御することにより動く実物体とを含む情報処理システムであって、情報処理装置は、撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出する状態特定部と、状態特定部が検出した状態情報に基づく所定の規則で、実物体のうち制御対象の実物体の作動の内容を所定の時間間隔で決定する情報処理部と、制御対象の実物体を、情報処理部が決定した内容で作動するように制御する実物体制御部と、を備えたことを特徴とする。
【０００９】
本発明のさらに別の態様は実物体システムに関する。この実物体システムは、情報処理装置から制御信号を受信する通信部と、受信した制御信号に従いアクチュエータを動作させる駆動部と、を備えることにより、制御信号に基づき動作する実物体を複数個含む実物体システムであって、実物体のうちいずれかは、情報処理装置に接続した入力装置を介してなされたユーザ操作を反映した制御信号に基づき作動し、別の実物体は、情報処理装置が決定した動きを反映した制御信号に基づき作動することを特徴とする。
【００１０】
本発明のさらに別の態様は情報処理方法に関する。この情報処理方法は、撮像装置が撮影した動画像の画像フレームを順次取得し、当該画像フレームにおける像を検出することにより、被写空間に存在する実物体の状態情報を所定の時間間隔で検出するステップと、検出した状態情報に基づく所定の規則で、実物体のうち制御対象の実物体の作動の内容を所定の時間間隔で決定するステップと、制御対象の実物体を、決定するステップで決定した内容で作動するように制御するステップと、を含むことを特徴とする。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によると、実世界の物体を利用した遊びや学習を様々な形態で容易に実現できる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態を適用できる情報処理システムの構成例を示す図である。
【図２】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図３】本実施の形態における実物体と情報処理装置の構成を詳細に示す図である。
【図４】本実施の形態における実物体の外観構成例を示す図である。
【図５】本実施の形態における複数の実物体の結合例を下面図により示す図である。
【図６】本実施の形態の実物体に設けるマーカーの数や位置の変形例を上面図により示す図である。
【図７】本実施の形態の実物体に設けるマーカーの別の例として、実物体の前後の区別にマーカーの発光を利用する場合を実物体の上面図により示す図である
【図８】本実施の形態において情報処理装置がプレイフィールド上の状態に応じて実物体を制御する処理手順を示すフローチャートである。
【図９】本実施の形態で実現できる態様のうち「対戦・競争」の実現例を示す図である。
【図１０】図８で示した形態を実現するためにシナリオ記憶部に準備するデータ例を示す図である。
【図１１】本実施の形態で実現できる態様のうち「協力・補助」の実現例を示す図である。
【図１２】本実施の形態で実現できる態様のうち「演技」の実現例を示す図である。
【図１３】本実施の形態において実物体に物をつかむ機能を追加したときに実現される態様の例を示す図である。
【図１４】本実施の形態において実物体に物をつかむ機能を追加したときに実現される態様の別の例を示す図である。
【図１５】本実施の形態の実物体がブロックを組み立てる態様におけるブロックの接続手法の例を説明するための図である。
【図１６】本実施の形態において実物体に物をつかむ機能を追加したときに実現される態様のさらに別の例を示す図である。
【図１７】本実施の形態において実物体にペンを保持する機能を追加したときに実現される態様の例を示す図である。
【図１８】本実施の形態において実物体とユーザの体とでインタラクションを発生させる態様の例を示す図である。
【図１９】本実施の形態において玉の転がりを実物体の動きに含めた態様の例を示す図である。
【図２０】本実施の形態においてネットワークを利用して複数のユーザが１つのゲームに参加する態様を説明するための図である。
【発明を実施するための形態】
【００１４】
図１は本実施の形態を適用できる情報処理システムの構成例を示す。情報処理システム１は、プレイフィールド２０上に置かれた実物体１２０ａ、１２０ｂ、プレイフィールド２０上の空間を撮影する撮像装置１２、所定の情報処理を行い実物体１２０ａ、１２０ｂの少なくともいずれかを動かす情報処理装置１０、ユーザ操作を受け付ける入力装置１４、周囲の音声を取得するマイクロフォン１６、画像を表示する表示装置１８、および音声を出力するスピーカー１９を含む。なお入力装置１４、マイクロフォン１６、表示装置１８、スピーカー１９は、実施する態様によっては情報処理システム１に含めなくてもよい。
【００１５】
プレイフィールド２０は、情報処理装置１０が実物体１２０ａ、１２０ｂを認識し、その位置座標を特定するための基準となる領域を規定する平面である。プレイフィールド２０はそのような平面領域を規定できれば材質や形状は限定されず、紙、板、布、机の天板、ゲーム盤などのいずれでもよい。あるいは表示装置１８に含まれるプロジェクタが机上や床上に投影した画像などでもよい。
【００１６】
実物体１２０ａ、１２０ｂは、実空間に存在する物体であればその形状は限定されない。つまり図示するような単純な形状の物でもよいし、人形やミニカーなど現実世界にある物のミニチュアやその部品、ゲームの駒など、より複雑な形状の物でもよい。また実物体１２０ａ、１２０ｂのサイズ、材質、色、使用する個数なども限定されない。さらに、ユーザによって組み立てたり分解したりできる構造としてもよいし、完成物であってもよい。実物体１２０ａ、１２０ｂの少なくともいずれかは、情報処理装置１０と通信を確立し、送信された制御信号によって駆動するアクチュエータを備える。
【００１７】
通信の確立は、Bluetooth（ブルートゥース）（登録商標）プロトコルやIEEE802.11等の無線インターフェースを用いた接続によって行ってもよいし、ケーブルを介してもよい。図示する例では、実物体１２０ａ、１２０ｂはそれぞれ、車輪１２２ａ、１２２ｂを備え、情報処理装置１０からの制御信号によって車軸のモーターを回転させることにより自走する構成としている。ここで情報処理装置１０は、例えば実物体１２０ｂを、入力装置１４を介したユーザ操作に基づき移動させる一方、実物体１２０ａを、実物体１２０ｂの位置や動きなどに応じて自らが決定した動きで移動させる。
【００１８】
このように本実施の形態では、情報処理装置１０がいずれかの実物体（例えば実物体１２０ａ）を、プレイフィールド２０上の状態に応じた所定の規則に従い動かすことを基本とする。なお以後の説明において、情報処理装置１０が動きを決定する実物体を特に「情報処理装置１０が制御する実物体」と呼び、ユーザが入力装置１４を介して操作する実物体と区別する。情報処理装置１０が制御する実物体以外の実物体（例えば実物体１２０ｂ）は、ユーザが自由に置いたり動かしたりできる物であればよく、内部にアクチュエータを備えていなくてもよい。またアクチュエータを備えていても、その操作手段は入力装置１４に限らず、専用のコントローラなどを用いて直接操作できるようにしてもよい。
【００１９】
さらにアクチュエータで駆動させる対象は車輪に限らない。例えば実物体にグリッパーやアームを取り付け、その可動部分を動かすなどでもよく、一般的なロボットや玩具などで制御対象となる機構のいずれを採用してもよい。またそのような機械的な動きに限らず、発光素子、ディスプレイ、スピーカー、振動子などを内蔵することにより、それらを作動させてもよい。同時に複数の機構を作動させてもよい。いずれにしろそれらの機構は情報処理装置１０によって制御される。
【００２０】
撮像装置１２は、ＣＣＤ（Charge Coupled Device）またはＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を備えた一般的なデジタルビデオカメラであり、実物体１２０ａ、１２０ｂが置かれたプレイフィールド２０上の空間を動画撮影する。または近赤外線等の非可視光を検出するカメラとしたり、それと一般的な可視光を検出するカメラとを組み合わせた構成としたりしてもよい。当該動画像のフレームデータは撮影とともに情報処理装置１０へ順次送信され、プレイフィールド２０が構成する平面における実物体１２０ａ、１２０ｂの位置座標の取得に用いられる。したがって撮像装置１２は、好適にはプレイフィールド２０を俯瞰する配置とする。
【００２１】
ただし実物体１２０ａ、１２０ｂの位置座標が判明すれば、撮像装置１２の位置や角度は特に限定されない。例えば実物体１２０ａ、１２０ｂに所定サイズのマーカーを設け、その見かけ上のサイズで撮像装置１２の撮像面からの距離が判明する場合、それを利用してカメラ座標系における位置座標を取得し、それをプレイフィールド２０を水平面とするワールド座標系における位置座標に変換してもよい。あるいは撮像装置１２を、既知の間隔を有する左右の視点から同一空間を撮影するステレオカメラで構成することで、撮像面からの実物体１２０ａ、１２０ｂの距離を取得してもよい。
【００２２】
ステレオカメラにより被写体の奥行き方向の位置を取得する技術は広く知られている。ステレオカメラに代えて視点移動カメラを用いてもよい。あるいは別途、近赤外線などの参照光を照射しその反射光を検出する装置を設け、ＴＯＦ（Time of Flight）などの既存手法により実物体１２０ａ、１２０ｂの位置を特定してもよい。さらに、プレイフィールド２０の上面をタッチパッドとし接触位置を検出することにより実物体１２０ａ、１２０ｂの位置を特定してもよい。ＴＯＦやタッチパッドを用いた場合は、撮影画像における各像の色情報などと統合することにより、実物体１２０ａ、１２０ｂを区別する。また一旦検出した実物体１２０ａ、１２０ｂについては、既存の視覚追跡技術を用いて追跡することにより、以後の位置座標取得を効率化できる。
【００２３】
情報処理装置１０は、プレイフィールド２０上の実物体、主に自らが制御する実物体１２０ａ以外の実物体の位置や動きを取得し、それに基づき自らが制御する実物体１２０ａの動きを決定する。そして決定結果に従う制御信号を送信することで、実物体１２０ａを動作させる。例えば情報処理装置１０は、ゲーム装置やパーソナルコンピュータであってよく、必要なアプリケーションプログラムをロードすることで情報処理機能を実現してもよい。また情報処理装置１０は、後述するようにネットワークを介し別の情報処理装置やサーバと通信を確立し、必要な情報を送受してもよい。
【００２４】
ここで実物体１２０ａ、１２０ｂの動きは、上述のように撮像装置１２が撮影した動画像のデータを用いて、それらの位置座標の時間変化を追跡することにより取得する。なおユーザが入力装置１４を介して実物体１２０ｂを動かしている場合は、当該実物体１２０ｂの初期位置を取得しておけば、以後は入力装置１４に対するユーザの操作内容から位置の時間変化を特定できる。このように実物体１２０ａ、１２０ｂの動きは、撮影画像以外の手段で取得してもよいし、複数の手段で取得した情報を統合することによって精度を高めてもよい。
【００２５】
入力装置１４は、処理の開始／終了や実物体１２０ｂの駆動などのユーザ操作を受け付け、その操作内容を表す信号を情報処理装置１０へ入力する。入力装置１４はゲームコントローラ、キーボード、マウス、ジョイスティック、タッチパッドなど、一般的な入力装置のいずれか、またはいずれかの組み合わせでよい。マイクロフォン１６は、周囲の音を取得しそれを電気信号に変換して情報処理装置１０へ入力する。情報処理装置１０は、マイクロフォン１６から取得した音声信号のうち主にユーザの音声を認識し、自らが制御する実物体１２０ａの動きに反映させる。
【００２６】
表示装置１８は情報処理装置１０が生成した画像を表示する。図示する例では表示装置１８をプロジェクタとし、プレイフィールド２０上に画像を表示することを想定している。一方、表示装置１８を一般的なテレビモニターのようなディスプレイとしてもよいし、プロジェクタとディスプレイの双方を構成に含めてもよい。あるいはプレイフィールド２０をディスプレイとしてもよい。
【００２７】
スピーカー１９は一般的なスピーカーのほか、ブザーなどの発音装置や、それらを組み合わせた物でもよく、情報処理装置１０からの要求に従い所定の音や声を音響として出力する。情報処理装置１０とその他の装置との接続は、有線、無線を問わず、また種々のネットワークを介していてもよい。あるいは情報処理装置１０、撮像装置１２、入力装置１４、マイクロフォン１６、表示装置１８、スピーカー１９のうちいずれか２つ以上、または全てが組み合わされて一体的に装備されていてもよい。情報処理装置１０にはさらに、スピーカーなどの外部装置を接続してもよい。
【００２８】
図２は情報処理装置１０の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）２２、ＧＰＵ（Graphics Processing Unit)２４、メインメモリ２６を含む。これらは、バス３０を介して相互に接続されている。バス３０にはさらに入出力インターフェース２８が接続されている。入出力インターフェース２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部３２、ハードディスクドライブや不揮発性メモリなどの記憶部３４、表示装置１８やスピーカー１９などの出力装置へデータを出力する出力部３６、撮像装置１２、入力装置１４、およびマイクロフォン１６からデータを入力する入力部３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部４０が接続される。
【００２９】
ＣＰＵ２２は、記憶部３４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０内部の構成要素における処理や信号伝送を制御する。ＣＰＵ２２はまた、リムーバブル記録媒体から読み出されてメインメモリ２６にロードされた、あるいは通信部３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有する。ＧＰＵ２４はＣＰＵ２２からの描画命令に従って描画処理を行い、適宜、表示装置１８に出力する。メインメモリ２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００３０】
通信部３２は、アクチュエータを備えた実物体１２０ａ、１２０ｂと通信を確立し制御信号を送信する。実物体１２０ａなどにおいて音声を出力させたり画像を表示させたりする態様においては、それらのデータも送信する。後述するように実物体１２０ａなどにセンサを設ける態様においては、通信部３２は当該センサによる計測値を実物体１２０ａなどから受信してもよい。通信部３２はさらに、必要に応じてネットワークと通信を確立し、外部のサーバや情報処理装置との間で必要なファイルやデータの送受を行ってよい。
【００３１】
図３は実物体１２０ａ、１２０ｂと情報処理装置１０の構成を詳細に示している。図３において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、マイクロプロセッサ、その他のＬＳＩ、アクチュエータ、センサ等で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３２】
同図において、情報処理装置１０が制御する実物体を実物体１２０ａ、ユーザが入力装置１４を介して操作する実物体を実物体１２０ｂとしている。ただし上述のように、プレイフィールド２０上には、ユーザが直接操作する実物体や、単に置いたり手で動かしたりする実物体があってよい。またそのような実物体のみで構成する場合、実物体１２０ｂはなくてもよい。ユーザが手で動かしたり置いたりするのみの実物体は、平板なカードや、内部構造を持たない人形、ゲームの駒、ブロック、装飾品のような物でよい。この場合であっても、色、模様、形状を異ならせたり、２次元バーコードを印刷したり、といった外装上の変化をつけることにより、撮影画像からそれぞれの像を高精度に識別することができる。
【００３３】
実物体１２０ａ、１２０ｂはいずれも、情報処理装置１０からの制御信号に従い動作する駆動部１０６ａ、１０６ｂ、情報処理装置１０から必要な制御信号やデータを受信する通信部１０８ａ、１０８ｂを含む。ただし実物体１２０ａが受信する制御信号は情報処理装置１０がその内容を決定したものであり、実物体１２０ｂが受信する制御信号は入力装置１４を介したユーザ操作を反映させたものである。駆動部１０６ａ、１０６ｂは、情報処理装置１０からの制御信号により駆動するアクチュエータを含む。図１に示したように、実物体１２０ａ、１２０ｂが車輪１２２ａ、１２２ｂによって自走する場合、アクチュエータによって車軸を回転させたり舵角を変化させたりする。
【００３４】
これにより、情報処理装置１０からの制御信号に従った方向および速度で実物体１２０ａ、１２０ｂを走行させることができる。そのほか駆動部１０６ａ、１０６ｂは、上述のように、車輪以外の動きを発生させるアクチュエータや、発光素子、ディスプレイ、スピーカー、振動子などとそれを作動させる機構を含んでもよい。それらの機構も既存の技術を利用することによって、情報処理装置１０からの制御信号により動作させる。
【００３５】
通信部１０８ａ、１０８ｂは、情報処理装置１０から送信された制御信号を受信し、それぞれの駆動部１０６ａ、１０６ｂに通知する。通信部１０８ａ、１０８ｂは、自身の実物体１２０ａ、１２０ｂの個体識別情報を内部のメモリに保持する。そして情報処理装置１０から送信された制御信号が自身の実物体１２０ａ、１２０ｂに宛てて送信されたものか否かを、制御信号とともに送信された個体識別情報に基づき判断する。
【００３６】
なお実物体１２０ａ、１２０ｂにはさらに、自身の状態を計測する、図示しないセンサを備えてもよい。上述のように撮影画像を用いて実物体１２０ａ、１２０ｂの位置座標を取得するのに加え、各実物体が自らの状態を計測することで、位置関係や実物体の形状の変化などをより正確に求めてもよい。この場合、通信部１０８ａ、１０８ｂは、センサによる計測値を、自らの個体識別情報とともに情報処理装置１０に送信する。図１に示すように実物体１２０ａ、１２０ｂに車輪を１２２ａ、１２２ｂ設けた場合、車輪１２２ａ、１２２ｂにロータリーエンコーダおよび舵角センサを設け、実際の移動量や移動方向を特定してもよい。
【００３７】
同様に、実物体１２０ａ、１２０ｂの絶対位置を取得する位置センサや、加速度センサ、ジャイロセンサ、地磁気センサなどのモーションセンサを設けてもよい。実物体１２０ａ、１２０ｂは情報処理装置１０からの制御信号によって動くことを基本とするが、このようにして実際の計測値を取得すれば、誤差を修正するようにフィードバック制御ができる。実物体１２０ａ、１２０ｂに、ユーザによって屈伸可能な関節を設け、その角度を特定するポテンショメータを導入してもよい。これにより実物体１２０ａ、１２０ｂの形状がいかに変化してもそれを認識できるため、撮影画像における像の追跡を精度よく行える。ただし要求される位置検出精度や製造コストなどに鑑み、センサの要、不要を決定する。
【００３８】
情報処理装置１０は、実物体１２０ａ、１２０ｂへ制御信号を送信する通信部５０、実物体１２０ａ、１２０ｂの位置関係を含むプレイフィールド２０上の状態を特定する状態特定部５２、実物体の情報を格納する実物体情報記憶部５４、実物体１２０ａ、１２０ｂの位置関係等に応じて情報処理を行う情報処理部６２、当該位置関係とそれに応じてなすべき処理との対応を設定したシナリオ記憶部５６、ユーザ操作または情報処理部６２における処理の結果として制御信号を生成する実物体制御部６０を含む。
【００３９】
状態特定部５２は、撮像装置１２から動画像の画像フレームを順次取得し、それを解析することによって実物体１２０ａ、１２０ｂの位置を所定の時間間隔で特定する。画像解析により対象物の像を検出したり追跡したりする技術としては様々な手法が広く知られており、本実施の形態ではそのいずれを採用してもよい。また上述のように、撮影画像中の像の情報と、ステレオ画像やＴＯＦなどを用いた奥行き方向の位置情報とを統合し、３次元空間での位置を特定する技術も一般的な手法を利用することができる。
【００４０】
さらに上述のように実物体１２０ａ、１２０ｂにセンサを設ける場合、状態特定部５２は実物体１２０ａ、１２０ｂから送信された計測値を用いて、動き、位置、形状、姿勢などを詳細に特定してもよい。この場合、通信部５０は実物体１２０ａ、１２０ｂから送信された計測値を受信して状態特定部５２に供給する。なお情報処理装置１０が制御する実物体１２０ａと、ユーザが操作する実物体１２０ｂとを撮影画像上で区別するために、実物体１２０ａ、１２０ｂには異なる特定色で発光するマーカーや２次元バーコードを設けてもよい。
【００４１】
色、形状、模様、サイズなど、それ以外の外観上の特徴により実物体１２０ａ、１２０ｂを区別してもよい。実物体情報記憶部５４には、各実物体１２０ａ、１２０ｂの個体識別情報と、それらの外観上の特徴とを対応づけた情報を格納しておく。状態特定部５２は当該情報を参照し、撮影画像から検出した像の外観上の特徴に対応する個体識別情報を特定することにより、各位置にある実物体１２０ａ、１２０ｂを区別する。実物体１２０ａ、１２０ｂの個体識別情報とその位置座標は、情報処理部６２に逐次供給する。
【００４２】
情報処理部６２は、実物体１２０ａ、１２０ｂの位置関係、入力装置１４に対するユーザ操作、マイクロフォン１６が取得した音声信号などに基づき、なすべき情報処理を実行する。例えばユーザが操作する実物体１２０ｂと情報処理装置１０が制御する実物体１２０ａとで競争するゲームを実現する場合、情報処理部６２は情報処理装置１０が制御する実物体１２０ａの動きを決定するほか、得点の算出、勝敗の決定、表示画像の生成、出力音声の決定などを行いながらゲームを進捗させる。ゲームのプログラムや動きを決定づける規則、画像の生成に必要なデータなどは、シナリオ記憶部５６に格納しておく。
【００４３】
なおマイクロフォン１６が取得した音声信号を利用する場合、当該音声信号から所定のキーワードを検出するため、情報処理部６２には一般的な手法による音声認識の機能を設ける。情報処理部６２は、生成した表示画像のデータを表示装置１８へ出力したり、発生すべき音声データを復号するなどしてスピーカー１９へ出力したりする。表示装置１８を、プレイフィールド２０に画像を投影するプロジェクタとした場合、ゲームの進捗や実物体１２０ａ、１２０ｂの位置などに応じてプレイフィールド２０上の画像を変化させることができる。当該画像に得点などの情報表示を含めてもよい。
【００４４】
実物体制御部６０は、情報処理部６２が決定した動きで実物体１２０ａが動くように制御信号を生成する。また、入力装置１４に対するユーザ操作の内容を解釈し、ユーザの操作対象である実物体１２０ｂへの制御信号を生成する。これらの制御信号は、情報処理部６２から供給された各実物体１２０ａ、１２０ｂの個体識別情報と対応づける。通信部５０は実物体１２０ａ、１２０ｂと通信を確立し、実物体制御部６０が生成した制御信号を送信する。具体的に送信する信号は制御方式によって様々であり、ロボット工学の分野などで一般的に用いられる技術を適宜採用してよい。
【００４５】
図４は実物体１２０ａの外観構成例を示している。実物体１２０ｂも同様でよい。この例の実物体１２０ａは、図１で示したように直方体形状の本体の下部に車輪１２２ａを備える。また上部には所定の色で発光するマーカー１２６を備える。情報処理装置１０の状態特定部５２は、撮影画像中、マーカー１２６の像を検出することにより、実物体１２０ａの位置座標を取得する。すなわちマーカー１２６の中心１２９を実物体１２０ａの追跡点とする。図示した例では、実物体１２０ａの上面１２４ａを構成する矩形の一つの辺に近接した位置にマーカー１２６を配置している。このようにマーカー１２６を実物体１２０ａの中心からずらした配置とすることで、例えばマーカー１２６に近い側面を実物体の前と規定でき、前進や後退についての認識をユーザと共有できる。
【００４６】
マーカー１２６は例えば、赤外線発光ダイオードや白色発光ダイオードで実装する。また白色発光ダイオードの表面にカラーフィルターキャップを装着することにより、色を切り替えられるようにしてもよい。情報処理装置１０が制御する実物体１２０ａとユーザが操作する実物体１２０ｂとで発光色を異ならせることにより、撮影画像中の像の色でそれらを区別できる。この場合、ユーザ自身も両者の区別が可能になる。また１つの実物体１２０ａにマーカーを複数設け発光色を異ならせることにより、実物体１２０ａの向きを色によって定義してもよい。このように色で何らかの区別をする必要がある場合と、その必要がない場合とで、発光を赤外線などの非可視光とするか可視光とするかを切り替えられるようにしてもよい。そのためマーカー１２６はアップコンバージョン蛍光体などの波長変換素子を内蔵してもよい。
【００４７】
また実物体１２０ａの下面１２４ｂに示すように、車輪１２２ａにはそれぞれ車軸を回転させるモーター１２８を設ける。モーター１２８は、図３で示した駆動部１０６ａに対応し、情報処理装置１０から送信される制御信号により駆動して、要求された回転速度および方向に車輪１２２ａを回転させる。車輪１２２ａには、アクチュエータにより舵角を変化させる機構を設けてもよい。これにより実物体１２０ａの移動方向を変化させたりその場で旋回させるなどの動きも発生させられる。また実物体１２０ａに、車輪１２２ａの回転をモーター１２８から開放させるスイッチを設けることにより、場合によって実物体１２０ａをユーザが手で走らせられるようにしてもよい。
【００４８】
図４で示した実物体１２０ａを最小単位として１つの実物体を組み立てられるようにしてもよい。図５は複数の実物体の結合例を下面図により示している。まず同図左側に示した実物体１３０ａは、最小単位の実物体１２０ａを前後に２つ接続した構成を有する。この場合、矢印に示すように実物体１３０ａは長手方向に走行する。結合は例えば、２つの実物体１２０ａをはめ込み可能な板、全体を覆うカバー、結束帯などにより実現する。各実物体１２０ａに凹凸形状の接続箇所、面ファスナー、磁石などを設け、それにより接続してもよい。その他の例も同様である。
【００４９】
図５の右上に示した実物体１３０ｂは、最小単位の実物体１２０ａを左右に２つ接続した構成を有する。この場合、矢印に示すように実物体１３０ｂは長手方向に垂直な方向に走行する。同図の右下に示した実物体１３０ｃは、最小単位の実物体１２０ａが内側で三角形を形成するように互いに接続した構成を有する。この場合、矢印に示すように実物体１３０ｃは同じ場所で旋回することになる。複数の実物体１２０ａを接続できるようにすることにより、別の実物体を上に乗せて運んだり牽引したりする態様であっても、その重さや大きさに応じた実物体を臨機応変に準備できる。またユーザの好みや遊びの目的などによって進行方向や動きに変化をつけることができる。
【００５０】
図６は実物体に設けるマーカーの数や位置の変形例を上面図により示している。まず同図左側に示した実物体１２０ｃは、２つのマーカー１２６ａ、１２６ｂを備えている。情報処理装置１０の状態特定部５２は、撮影画像中、当該マーカー１２６ａ、１２６ｂの像を検出することにより、それらを結ぶ線分の中点１３２の位置を実物体１２０ｃの追跡点として取得する。図４で示した例と同様、中点１３２を実物体１２０ｃの上面の中心からずらすことによりその前後を区別できる。また図示するように、実物体１２０ｃ上にブーム１３４を設け、その両端にマーカー１２６ａ、１２６ｂを配置することにより、周囲の状態によらず撮像装置１２の視野に入るようにその位置を調整可能としてもよい。
【００５１】
図の右側に示した実物体１２０ｄは、３つのマーカー１２６ｃ、１２６ｄ、１２６ｅを備えている。状態特定部５２は撮影画像中、当該マーカー１２６ｃ、１２６ｄ、１２６ｅの像を検出することにより、それらを頂点とする三角形の重心１３６の位置を実物体１２０ｄの追跡点として取得する。この場合、実物体１２０ｄの前後でマーカーの数を異ならせることによりその前後を区別できる。
【００５２】
図７は実物体に設けるマーカーの別の例として、実物体の前後の区別にマーカーの発光を利用する場合を実物体の上面図により示している。実物体１２０ｅは図６の実物体１２０ｃと同様、ブーム１３４の両端にマーカー１２６ｆ、１２６ｇを備える。ただしブーム１３４は、図示するような実物体１２０ｅの上面の中心など、任意の位置に配置してよい。またマーカー１２６ｆ、１２６ｇの位置もユーザが自由に配置できるようにしてもよい。場合によってはブーム１３４を設けず、実物体１２０ｅ本体にマーカー１２６ｆ、１２６ｇを直接設置してもよい。いずれにしろマーカー１２６ｆ、１２６ｇは、実物体１２０ｅ上面の左右を結ぶ直線など、前後の方向を規定できる直線上に複数、配置する。
【００５３】
このような構成において、２つのマーカー１２６ｆ、１２６ｇのどちらか一方のみを発光させることにより、実物体１２０ｅの左右を定義し、ひいては実物体１２０ｅの前後を明示する。例えば前進方向に向かって左のマーカー１２６ｆを点灯させ、右のマーカー１２６ｇを消灯する、という規則をあらかじめ設ける。同図矢印の方向を前進方向とすることがモーターの配置や回転方向から確定している場合、マーカーの左右も自ずと確定するため情報処理装置１０はその情報に従い左側のマーカー１２６ｆを点灯させる。
【００５４】
前進方向が確定していない場合は、マーカー１２６ｆ、１２６ｇの一方を点灯させた状態で車輪を正逆２方向に回転させ、点灯させたマーカーが左となる回転方向を撮影画像におけるマーカーの動きから特定し、前進の回転方向として決定する。情報書処理装置１０の状態特定部５２はそのように決定した情報を、実物体１２０ｅの個体識別情報に対応づけて実物体情報記憶部５４に記録し、以後の実物体制御に用いる。ユーザは上記規則のみ認識しておけば情報処理装置１０の制御との齟齬が生じない。
【００５５】
なお図７で示したように片方のマーカーを消灯させても、その形状や色などに基づき撮影画像から当該マーカーの像を検出すれば、追跡点は図６の実物体１２０ｃと同様、２つのマーカー１２６ｆ、１２６ｇを結ぶ線分の中点１３２となる。マーカー１２６ｆ、１２６ｇの左右を点灯／消灯で区別するほか、点灯／点滅としたり、可視光／非可視光の発光としたり、発光色を異ならせたりしてもよい。なお図６、図７で示したマーカーの配置や数は例示であり、実物体のサイズや形状等に応じて適宜決定してよい。また上述のようにマーカー以外の外観的特徴により実物体を認識できる場合は、マーカーを設けなくてもよい。
【００５６】
本実施の形態では、これまで述べたようなシンプルな形状の実物体であっても、様々な物に見立てることによって意図した世界を構築し、ごっこ遊びやゲームを実現できるようにする。すなわち構築する世界に応じて実物体の外観を変化させる必要はない。このような場合であっても、例えば一方の実物体のマーカーを赤く発光させ、他方の実物体のマーカーを白く発光させることで、前者を救急車、後者を普通車、などとする区別をユーザが直感的に把握できる。このとき赤い発光を点滅させるなどの演出を施せば、ユーザはさらに臨場感を味わうことができる。
【００５７】
また上述のとおりマーカーの色を異ならせることにより、情報処理装置１０が制御する実物体とユーザが操作する実物体とをユーザ自身も区別できる。この場合、どちらの色の実物体が、ユーザが操作する対象であるかを、情報処理装置１０が事前に明示してもよい。例えば情報処理装置１０は、マーカーをそれぞれの色に点灯させたうえ、一方の実物体を少し動かして見せる。動かされた実物体を情報処理装置１０が制御する実物体（あるいはユーザが操作する実物体）、などと規則づけておけば、ユーザはどの色の実物体を自分が操作するのかを知ることができ、遊びやゲームなどを円滑に開始できる。
【００５８】
次に、これまで述べた構成による情報処理装置１０の基本的な動作について説明する。図８は情報処理装置１０がプレイフィールド２０上の状態に応じて実物体を制御する処理手順を示すフローチャートである。このフローチャートは、プレイフィールド２０上に実物体１２０ａ、１２０ｂなどが置かれた状態で、ユーザが入力装置１４などを介して処理の開始要求を入力したときなどに開始される。なおユーザが入力装置１４を介して実物体１２０ｂを操作する場合、そのための処理は独立したタイミングでなされるため図示したフローチャートには含めていない。
【００５９】
まず情報処理装置１０の状態特定部５２は、撮像装置１２に対し撮影開始を要求する（Ｓ１０）。撮像装置１２がそれに応じて動画像の撮影を開始することにより、所定のフレームレートで画像フレームが取得され情報処理装置１０に送信される。ここで処理対象となる画像フレームを取得する時間ステップｔの進捗をｔ＝０、１、２、・・・と表記する。時間ステップｔの周期は、撮像装置１２における画像フレームの撮影周期と同じでもよいし、それより長くてもよい。すなわち動画像の全ての画像フレームを処理対象としてもよいし、所定数ごとに画像フレームを間引きながら処理を行ってもよい。
【００６０】
まず最初の時間ステップｔ＝０の画像フレームを取得すると（Ｓ１２、Ｓ１４）、状態特定部５２は、当該画像フレームを解析し、プレイフィールド２０の平面における実物体１２０ａ、１２０ｂの位置座標などの状態情報を取得する（Ｓ１６）。最も単純には、画像フレームから各実物体のマーカーの像を検出し、それに基づき適宜座標変換を行うなどしてプレイフィールド２０上での位置座標を求める。ただし後述するように、実施する形態によってここで取得する情報は様々でよい。上述のように実物体に備えたセンサが計測した値、入力装置１４を介したユーザ操作の内容、マイクロフォン１６が取得した音声情報などをさらに利用してもよい。これらの情報は取得された時点で随時、後段の情報処理に反映させる。
【００６１】
次に情報処理部６２は、シナリオ記憶部５６に格納された規則に基づき、ゲーム等を進行させながら実物体１２０ａの動きをその場の状態に応じて決定する（Ｓ１８）。例えばユーザが操作する実物体１２０ｂを追いかけるように実物体１２０ａを動かす場合、実物体１２０ａから実物体１２０ｂへの方向ベクトルを計算し、その方向に基づき実物体１２０ａの移動方向を決定する。さらに、時間ステップｔ＝１以後の時間ステップでは、各時間ステップ間の位置の差をとることにより、各実物体の速度ベクトルや加速度ベクトルを求めてもよい。これらの情報を併用することで、たとえばユーザが操作する実物体１２０ｂの位置を予測して、制御対象の実物体１２０ａを移動させる、といった、より高度な運動制御も可能となる。
【００６２】
移動方向のみならずその他の動きであっても、プレイフィールド２０上の時間ステップごとの状況に対し、それが改善される方向の動きを逐一求めるようにすると、周囲の変化に臨機応変に対応する実物体を実現できる。また多数の実物体が存在するような複雑な系でも統計処理によって最善の方向性を逐一選択することにより、比較的容易に動きを決定できる。
【００６３】
上述のように情報処理部６２は、実物体の移動方向のみならず、関節など実物体の可動部位の変化量や変化方向、発光素子の点灯開始、実物体内蔵のディスプレイに表示すべき画像、実物体内蔵のスピーカーから発生させる音声などを決定してよい。さらにプロジェクタなどの表示装置１８に新たに表示させる画像や、スピーカー１９から発生させる効果音などを決定してもよい。そして実物体制御部６０は、決定結果に基づく制御信号を生成し、必要に応じて画像データや音声データも付加して通信部５０から送信することで、実物体１２０ａを制御する（Ｓ２０）。このとき情報処理部６２は適宜、表示装置１８やスピーカー１９へ、表示画像や音声のデータを出力してもよい。
【００６４】
ユーザから、入力装置１４を介した処理の終了要求がなされない間は（Ｓ２２のＮ）、次の時間ステップｔ＝１に対しＳ１４からＳ２０の処理を繰り返す（Ｓ２４、Ｓ１４〜Ｓ２０）。このように本実施の形態では、動画像の画像フレームの撮影周期など、微少時間の周期でその場の状況を認識し動きを決定するため、長い周期での変化を計算するより処理を単純化できるとともに状況変化に対し動きを詳細に対応させることができる。ユーザが処理の終了を要求した時点で全体の処理を終了させる（Ｓ２２のＹ）。
【００６５】
なお実物体にディスプレイやスピーカーなどの視聴覚機器を設けることにより、個々の実物体の表現能力が増すため没入感が高まることが想定できる一方、製造コストや消費電力の増加、大型化、といったデメリットも生じる。そこでそのような構成の代わりとして情報処理装置１０に接続したプロジェクタや投光器などにより画像や光を実物体に投影させたり、スピーカー１９により動きと合った音声を発生させたりしてもよい。両者は同時に行ってもよいし、いずれか一方のみを行ってもよい。いずれの場合も、あたかも実物体が発光したり発声したりしているようにみせることができ、上記デメリットを抑えつつ可能な限りの表現を実現することが可能となる。
【００６６】
次にこれまで述べた構成、手法を用いて実現できる具体的な形態を例示する。以後で説明する形態は、およそ以下の８つに大別される。
（１）対戦・競争：ユーザと情報処理装置が敵／味方で争う
（２）協力・補助：ユーザと情報処理装置がチームとなる
（３）妨害：情報処理装置とユーザのどちらかが他方の邪魔をする
（４）教育：情報処理装置がユーザに教授する
（５）演技：情報処理装置がユーザを楽しませる
（６）記録・再生：ユーザが発生させた動きを情報処理装置が記録・再生する
（７）模倣：情報処理装置とユーザのどちらかが発生させた動きを他方が真似る
（８）活動：情報処理装置が何らかのきっかけで独立して作業する
【００６７】
図９は本実施の形態で実現できる態様のうち「対戦・競争」の実現例を示している。プレイフィールド２０には、情報処理装置１０が制御する実物体１２０ａとユーザが操作する実物体１２０ｂが置かれている。プレイフィールド２０にはそのほか、木１４０、家１４２ａ、１４２ｂなどのミニチュアが置かれている。これらは駆動機構を持たない実物体であり、ユーザが自由に置くことができる。またプレイフィールド２０には川１４４、橋１４６、砂地１４８が表示されている。これらはプロジェクタによって投影してもよいし、紙などに描かれたものでもよい。後者の場合、情報処理装置１０はプレイフィールド２０上におけるそれらの領域の位置および範囲の情報を取得しておく。そのように印刷されたプレイフィールド２０を用いる場合は、シナリオ記憶部５６に当該情報を格納しておけばよい。ユーザがその場で描いた場合でも、撮影画像から検出することにより当該情報を取得できる。
【００６８】
このような環境において、ユーザは実物体１２０ｂを動かし、情報処理装置１０が制御する実物体１２０ａと対戦したり競争したりする。この場合のルールは様々考えられる。例えば木１４０など所定のゴールまでの速さを競争したり、直接ぶつかり合ったりしてもよい。その過程において、木１４０や家１４２ａ、１４２ｂなど、置かれた実物体にぶつかったら得点を下げるなどしてもよい。また実物体１２０ａ、１２０ｂに、図示しないレーザー照射手段などを設けて銃砲に見立て、相手の実物体に照準を合わせて砲撃できたら得点を与えるなどでもよい。このような対戦ゲームを実現する場合、実物体１２０ａ、１２０ｂを、例えば戦車などの形状としてもよい。またスピーカー１９などから、実物体１２０ａ、１２０ｂの動きに合わせて戦車などの走行音を発生させるとより臨場感を与えられる。
【００６９】
このような対戦ゲームにおいて、プレイフィールド２０上に表示されている川１４４や砂地１４８では、実物体１２０ａ、１２０ｂの動きが制限されるように情報処理装置１０が制御する。例えばユーザが自分の実物体１２０ｂを、橋１４６のかかっていない川１４４の方向へ動かした場合、川１４４の縁で強制的に止まるようにする。すなわち入力装置１４に対し川１４４の方向への移動操作がなされても、情報処理部６２は川１４４の縁で速度が０になるように実物体１２０ｂを制御する。結果としてユーザは実物体１２０ｂを後退させるか方向転換させるなどして移動を再開させることになる。砂地１４８では例えば、移動速度を遅くしたり方向転換を遅くしたりする。この場合も情報処理部６２は、入力装置１４に対しユーザが要求した移動速度を所定の割合だけ減少させたり舵角変化の応答性を下げたりして実物体１２０ｂを制御する。
【００７０】
情報処理装置１０が制御する実物体１２０ａについても同様の制限が課されているように速度や方向を算出する。川１４４のような進入禁止領域をプレイフィールド２０を囲む辺の外に設けることにより、実物体１２０ａ、１２０ｂがプレイフィールド２０の外に出ないようにしてもよい。また動きに制限を課すばかりでなく、速度や方向転換が早くなる領域を設けてもよい。なお実物体１２０ａ、１２ｂをそれぞれ複数、置くことによりチーム戦としてもよい。例えば複数のユーザがそれぞれ自分の実物体１２０ｂを持ち寄ってチームを結成し、情報処理装置１０が制御する同じ数の実物体１２０ａと対戦するようにしてもよい。
【００７１】
図１０は、図９で示した形態を実現するためにシナリオ記憶部５６に準備するデータ例を示している。プレイフィールド２０をプロジェクタにより投影する画像とした場合、シナリオ記憶部５６には投影対象の画像１１０のデータを準備する。図９で示した例では、画像１１０には川１４４、橋１４６、砂地１４８が描かれる。情報処理部６２は対戦開始時にシナリオ記憶部５６から画像１１０のデータを読み出し、表示装置１８であるプロジェクタに出力して投影させる。画像１１０の変形規則もシナリオ記憶部５６に格納しておき、投影する画像を時間変化させてもよい。例えば時間経過に応じて川１４４の水があふれたり、実物体１２０ｂが渡るタイミングで橋１４６が崩落したりする画像を表示することにより、実物体と画像とを融合させ、よりスリルのある対戦を実現できる。
【００７２】
また画像１１０を投影するか描画済みのプレイフィールド２０を用いるかによらず、上述のように川１４４や砂地１４８の領域を取得しプレイフィールド２０に対応する平面にマッピングしたデータ１１２を準備する。当該マッピングデータには、各領域における動きの制限量を設定する。上述の例では、橋１４６以外の川１４４の領域で速度を０と設定するため「Ｖ＝０」と設定されている。また砂地１４８の領域で速度を８０％に制限するとし「Ｖ＝８０％」と設定されている。
【００７３】
同図においてデータ１１２には、各時間ステップで取得される実物体の位置を示す点線領域を重ねて表示している。このデータは状態特定部５２が撮影画像から検出した像の位置を、プレイフィールド２０の平面（図のｘｙ平面）における位置座標に換算しマッピングしたものである。上述したように、外観的特徴に基づき各実物体の個体識別情報が得られるため、同図では各実物体の領域近傍に、木１４０の識別情報「＃Ｔ０」、「＃Ｔ１」、家１４２ａ、１４２ｂの識別情報「＃Ｈ０」、「＃Ｈ１」、実物体１２０ａ、１２０ｂの識別情報「＃Ｃ０」、「＃Ｃ１」も示している。
【００７４】
状態特定部５２は時間ステップごとに、各実物体の個体識別情報とその位置に係る情報を作成し情報処理部６２に供給する。ここで実物体１２０ａ、１２０ｂの位置（識別情報「＃Ｃ０」、「＃Ｃ１」に対応する領域）は、ユーザ操作や情報処理装置１０による制御により変化することになる。情報処理部６２は、それらが速度制限を課した領域に入るか否かを監視し、入ったら設定された量で速度を制限する。また情報処理装置１０が制御する実物体１２０ａの位置（識別情報「＃Ｃ０」）と、ユーザが操作する実物体１２０ｂの位置（識別情報「Ｃ１」）とを比較し、砲撃しやすい位置に移動させるなど実物体１２０ａのその時点での最適な移動方向を決定し制御する。以後に述べる形態においても、位置情報に係るデータの取り扱いは同様である。
【００７５】
図１１は本実施の形態で実現できる態様のうち「協力・補助」の実現例を示している。プレイフィールド２０には環状の道路１５０および横断歩道１５６を表示する。そして情報処理装置１０が制御する実物体１２０ａとユーザが操作する実物体１２０ｂを置く。プレイフィールド２０にはそのほか、木１５２ａ、１５２ｂ、信号１５８などのミニチュアと人形１５４ａ、１５４ｂを置く。木１５２ａ、１５２ｂ、および人形１５４ａ、１５４ｂは駆動機構を持たない実物体であり、ユーザが自由に置いたり手で移動させたりできる。信号１５８は青、黄色、赤の発光ダイオードを備え、ユーザが入力装置１４を介して、あるいは情報処理装置１０が、発光色を切り替えられるように構成する。いずれの場合も、実際の制御は情報処理装置１０が行うため、当然、情報処理装置１０は発光色の切り替えを認識できる。
【００７６】
このような環境において実物体１２０ａ、１２０ｂは道路１５０を反時計回りに走行する。ユーザは自分が操作する実物体１２０ｂを、情報処理装置１０が制御する実物体１２０ａより先に走行させ、情報処理装置１０が制御する実物体１２０ａの走行の邪魔になる物を道路１５０から排除することで、実物体１２０ａが速やかに走行できるように「協力」する。図示する例では木１５２ｂが倒れ道路１５０を塞いでいるため、ユーザは実物体１２０ｂによって木１５２ｂを押すなどして道路１５０の外に出す。情報処理装置１０が制御する実物体１２０ａは、実物体１２０ｂの所まで到達しても、木１５２ｂが排除されるまではそこで停止させる。
【００７７】
すなわち木１５２ｂの排除に要する時間が短いほど、実物体１２０ａは早く道路１５０を一周できることになる。図示する例では情報処理装置１０が制御する実物体１２０ａとユーザが操作する実物体１２０ｂが一組のみ存在するが、複数のレーンを設けて複数の組が走行できるようにし、複数のユーザによる対抗戦を行ってもよい。このような態様では、情報処理装置１０が制御する実物体１２０ａを救急車、ユーザが操作する実物体１２０ｂを自家用車に見立てることにより、救急車を早く走行させるために協力する市民、といった状況を演出できる。各実物体をそれらの車の形状としてもよい。また各実物体の動きに合わせて自動車の走行音やブレーキ音などをスピーカー１９などから発生させてもよい。
【００７８】
そのような対抗戦において、相手のチームの実物体１２０ａが通れないように、自分が操作する実物体１２０ｂで邪魔するようにし、上述の「妨害」の態様を実現してもよい。この場合、情報処理装置１０は、邪魔をしてくる実物体１２０ｂから遠ざかりかつ後退量の少ない方向を決定して実物体１２０ａを動かすことにより、妨害を避けながら先を急ぐような動きを実現できる。
【００７９】
あるいはさらにもう一つ、情報処理装置１０が制御するか、別のユーザが操作する第３の実物体を準備し、情報処理装置１０が制御する実物体１２０ａが当該第３の実物体に突進していくのをユーザが操作する実物体１２０ｂが妨害するゲームとしてもよい。この場合、第３の実物体を救急車、情報処理装置１０が制御する実物体１２０ａを戦車、ユーザが操作する実物体１２０ｂを自家用車などとすると、戦車で攻撃されそうな救急車を自家用車で守る、といった状況を演出できる。あるいは逆に、ユーザが操作する実物体１２０ｂが第３の実物体に連結しようとするのを情報処理装置１０が制御する実物体１２０ａが妨害するゲームとしてもよい。
【００８０】
また同じプレイフィールド２０を用いて、子供に交通ルールを学ばせる「教育」の態様も実現できる。この場合、例えば子供は人形１５４ａ、１５４ｂを手で動かす。信号１５８が赤のうちは、情報処理装置１０が制御する実物体１２０ａは道路１５０を走行し続ける。そして信号１５８が青になったときに横断歩道１５６の手前で停止することにより、子供が人形１５４ｂなどを動かし横断歩道１５６を渡れるようにする。信号１５８が赤のうちに渡ろうとしたり、横断歩道のない場所で道路を横断しようとした場合には、実物体１２０ａまたはスピーカー１９から、その直前で急停止したりブレーキ音を発生させたりして危険な行為であることを認識させる。
【００８１】
このように情報処理装置１０が制御する実物体１２０ａが反応する対象は、同様の構成を有する実物体１２０ｂでなく人形など手で持って動かせる物であってもよい。特に幼児のように入力装置１４による操作が困難なユーザにはこのような態様が特に有効である。上述の「協力」の態様において、実物体１２０ｂの代わりに手を用いて木１５２ｂを排除するようにしてもよい。逆に「教育」の態様において、人形１５４ａ、１５４ｂの代わりに実物体１２０ｂをユーザが操作し、より複雑な道路上を走行させながら情報処理装置１０が制御する実物体１２０ａとのインタラクションを発生させることにより、自動車の交通法規を学ぶようにしてもよい。
【００８２】
また同じプレイフィールド２０において、情報処理装置１０が制御する実物体１２０ａを道端にいる人形１５４ａ、１５４ｂの前で停止させる規則としてもよい。ユーザが、停止した実物体１２０ａに人形を乗り込ませた状態で、実物体１２０ａを出発させ、別途置かれた家のミニチュアの前で再び停止させる。これによりタクシーのごっこ遊びを実現できる。バス停のミニチュアの前で実物体１２０ａを停止させる規則とし、人形を乗り降りさせることによりバスのごっこ遊びもできる。
【００８３】
図１２は、本実施の形態で実現できる態様のうち「演技」の実現例を示している。プレイフィールド２０には情報処理装置１０が制御する実物体１２０ａが複数個置かれ、統一された動きでマスゲームをするのを、ユーザが鑑賞する。この態様ではユーザが操作する実物体とのその場でのインタラクションはなくてもよいが、例えばユーザがプレイフィールド２０上に実物体１２０ａをランダムに置いても、その位置を撮影画像から取得することにより、設定されたフォーメーションに戻りマスゲームが開始されるようにできる。マスゲームの最中にユーザが手で実物体１２０ａの邪魔をしたりしても同様に、規定された位置に戻ってマスゲームを続行することもできる。
【００８４】
この場合、各実物体１２０ａの位置座標の時間変化を設定したデータをシナリオ記憶部５６に格納しておく。これにより初期のフォーメーションや途中での位置が規定されるため、それから逸脱している実物体１２０ａを規定された位置に戻すことができる。戻る過程において他の実物体１２０ａの動きの妨げとならないよう、情報処理部６２は位置座標の設定を参照しながら各時間ステップで最適な移動方向を決定していく。
【００８５】
マスゲーム中、情報処理装置１０は、プロジェクタや図示しない照明機器を用いてスポットライトを当てるなど光の動きにより演出を加えたり、実物体１２０ａ自体、あるいはスピーカー１９から音楽を流したりしてもよい。また、置かれた実物体１２０ａの形状やマーカーの色の組み合わせによって、マスゲームの内容や曲が切り替わるようにしてもよい。さらに、ユーザの行動に応じて何らかの変化が生じるようにしてもよい。例えば、マスゲームが終了したときにユーザがした拍手や声援の音が大きいと、アンコールとして再度マスゲームが開始されるようにしてもよい。この場合、マイクロフォン１６によって取得した音声信号の大きさがしきい値を超えたとき、情報処理部６２がアンコールの開始を決定する。
【００８６】
さらにユーザの指揮に合わせてマスゲームが進行したり、リズム、テンポ、曲調が切り替わったりするようにしてもよい。例えばユーザが入力装置１４の所定のボタンを所望の拍子で押下すると、その拍子に合わせた動きで実物体１２０ａが動くようにする。ユーザがカウントをとる音声をマイクロフォン１６で取得してもよい。あるいはユーザが実際に手で指揮をしたり、指揮棒を模したマーカーを振ったりする様子を撮像装置１２で撮影し、その拍子に合わせてもよい。
【００８７】
なおこの例における複数の実物体１２０ａのうち１つを、ユーザが操作する実物体、あるいはユーザが手で動かす実物体としてもよい。このとき情報処理装置１０は、当該実物体に合わせて動くように他の実物体１２０ａを制御する。ユーザが動かす実物体と全く同じ動きでその他の実物体１２０ａが動くようにしてもよいし、ユーザが動かす実物体に、その他の実物体１２０ａが一列になってついていくような動きをしてもよい。これらは上述の「模倣」の形態に対応する。
【００８８】
あるいは、ユーザが動かす実物体が常に中心になるように他の実物体が周りを囲んだり整列したりして、ユーザが動かす実物体が主役になるような動きをしてもよい。この場合、ユーザが動かす実物体との距離や位置関係、その他の実物体１２０ａ同士の距離や位置関係、およびそれらの時間変化をあらかじめ設定してシナリオ記憶部５６に格納しておく。そして制御対象の全ての実物体１２０ａについて、時間ステップごとに次の移動方向を算出すれば、ユーザが動かす実物体に合わせるような動きを実現できる。
【００８９】
ユーザが操作する実物体を含めたこれらの態様は、その場でユーザが楽しむのみでもよいし、各実物体の位置の時間変化を記録しておき、後にユーザが要求したタイミングで再現できるようにして、上述の「記録・再生」を実現してもよい。再現時には、元はユーザが操作していた実物体の動きも、情報処理装置１０が制御する実物体１２０ａによって再現する。これにより、好みの動きでマスゲームや行進を作り上げていく楽しさを提供することができる。
【００９０】
また、情報処理装置１０が制御する複数の実物体１２０ａの中にユーザが操作する実物体を混ぜ、お手本通りにマスゲームを遂行できるかに挑戦するゲームとしてもよい。この場合、情報処理装置１０はスピーカー１９から音楽を流すとともに、表示装置１８に、お手本となる動きを表した動画を表示させる。ユーザは初期のフォーメーションのいずれかに自分が操作する実物体を配置し、お手本を見ながらその通りになるように操作する。情報処理部６２は、それ以外の実物体を制御するとともに、撮影画像に基づき、ユーザが操作する実物体がお手本からずれた事象を検出する。そしてずれた回数に応じて減点していくことで最終的な得点を計算し、マスゲームの終了時などに表示装置１８に表示させる。
【００９１】
これまで示したようにユーザが実物体１２０ｂを操作する場合において、情報処理装置１０は、その操作をアシストするようにしてもよい。具体的には、実物体１２０ｂの実際の動きが、何らかの事情により、入力装置１４を介して要求された動きと異なっていた場合、入力装置１４への操作内容を反映させた制御信号に微調整を加えることにより、実際の動きを要求に近づける。例えば実物体１２０ｂに荷重がかかり過ぎている場合、ユーザの操作が直進であっても蛇行してしまうことが考えられる。このような場合、情報処理部６２は、蛇行を抑える方向に舵角を調整することにより、実物体１２０ｂが実際に直進できるようにする。
【００９２】
具体的には、撮影画像における実物体の位置の変化やセンサによる計測値に基づく実際の動きと、入力装置１４から入力されたユーザの操作内容とを比較することにより、要求と実際の差を検出する。そして差が小さくなるように制御信号を調整する。この形態は上述の「補助」に対応する。なおアシスト対象は実物体の走行に係るものに限らず、グリッパーやアームの動きなどでも同様である。またこのような調整は、その他のいかなる形態を実施しているときでも随時行える。
【００９３】
これまで示した例は、主に実物体の走行を利用して実現できる態様であったが、実物体にさらに機能を追加することで態様を多様化させることができる。図１３は実物体に物をつかむ機能を追加したときに実現される態様の例を示している。プレイフィールド２０には、情報処理装置１０が制御する実物体１２０ａと、ユーザが操作する実物体１２０ｂ、および複数のブロック１６２が置かれている。ブロック１６２は内部に機構を持たない合成樹脂などの塊でよい。そして各実物体１２０ａ、１２０ｂは、ブロック１６２を掴むためのグリッパー１６０ａ、１６０ｂを備える。
【００９４】
例えばユーザは、入力装置１４を介して実物体１２０ｂを操作し、１つのブロック１６２に近づけたうえグリッパー１６０を開閉させて掴ませる。そしてプレイフィールド２０上に表示された自分の陣地１６４ｂに、掴んだブロック１６２を運び込む。情報処理装置１０も同様に、実物体１２０ａを制御して、別の陣地１６４ａにブロック１６２を運び込むように動かす。そしてより多くのブロック１６２を自分の陣地に運び込んだ方を勝ちとする。これにより、上述の「対戦」や「妨害」の態様を実現できる。
【００９５】
なおグリッパー１６０ａ、１６０ｂは、開閉することによりブロック１６２を左右から挟み込むが、さらにその根元部分を上下方向に動かせるようにしてブロック１６２を持ち上げられるようにしてもよい。関節角を制御可能なアームの先端にグリッパーを設けることにより、高い位置にブロック１６２を持ち上げたりブロック１６２を裏返したりするなど、より複雑な作業が行えるようにしてもよい。グリッパーの代わりに、ブロック１６２と床の間にツメを差し込み持ち上げるフォークリフトの機構を設けてもよい。あるいは実物体を荷台のついたクレーン車の形態とすることで、ブロック１６２を荷台に載せて運べるようにしてもよい。これらの実物体の形態に合わせ、ブロック１６２の形状も適宜最適化し、運びやすくする。
【００９６】
図１４は、実物体に物をつかむ機能を追加したときに実現される態様の別の例を示している。この例は上述の「協力・補助」の形態を実現している。プレイフィールド２０には、情報処理装置１０が制御する、グリッパーを有する実物体１２０ａと、様々な色を有する複数のブロック１７０が置かれている。ユーザ８はプレイフィールド２０に設けられた作業領域１７２でブロック１７０を組み立てる。図示するように立体的に組み上げていってもよいし、平面状に並べるようにしてもよい。前者の場合、積み木のように単に乗せていくのでもよいし、ブロック１７０を相互に接続可能な構造として組み立てられるようにしてもよい。
【００９７】
いずれにしろユーザ８は、組み立て中、次に必要なブロックの色を声で指定する。図では「ＲＥＤ！（赤！）」と指定している。すると実物体１２０ａは、プレイフィールド２０上で作業領域１７２以外の領域にあるブロック１７０のうち、指定された色のブロックを探しだし、ユーザの近くに運ぶようにする。作業領域１７２を固定とすれば、ユーザ８はその近傍にいることが推定できる。情報処理部６２は、マイクロフォン１６が取得した音声信号に基づき指定された色を認識し、その色のブロック１７０を実物体１２０ａに掴ませて、推定位置まで運ぶように制御する。
【００９８】
撮像装置１２の視野内にユーザ８がいるように規則づけておくことによりユーザ８の位置を検出してもよい。この場合、作業領域１７２を明に定めずとも、検出したユーザ８の位置からより遠くに置かれたブロック１７０から運ぶなどすれば、組み立て中のブロックを運ぶ対象とせずにすむ。また声によるブロックの指定は色に限らず、大きさ、形状などのいかなる属性でもよくそれらの組み合わせでもよい。この形態では、ユーザは自分の好きなようにブロックを組み立て、その過程でランダムに選択されるブロックを実物体１２０ａが運ぶことにより作業を効率化できる。組み立てには手を使用するため、声によるブロックの指定を実現することにより、指定のために却って作業効率が落ちるといったことがない。
【００９９】
一方、あらかじめ準備された完成形のモデルから選択したものを組み立てるようにしてもよい。この場合ユーザは、紙面や表示装置に表示されたモデルから組み立てたい物を選択し、入力装置１４を用いて指定する。情報処理装置１０のシナリオ記憶部５６には、組み立て順とそれに用いるブロックの識別情報とをモデルごとに格納しておく。これにより、ユーザがブロックを指定することなく、情報処理装置１０による判断で、次に必要なブロックを実物体１２０ａが選択し運んでくる態様を実現できる。このとき、運ばれたブロックをどのように接続するか、に係る情報などを、表示装置１８に表示させたりプレイフィールド２０上に投影させたりしてもよい。
【０１００】
実物体１２０ａは複数のブロック１７０を、色、形状、大きさなど所定の基準で分別するようにしてもよい。この場合、情報処理部６２は、まずプレイフィールド２０上にあるブロック１７０の種類の数、例えば色の数を撮影画像に基づき特定する。そして当該数分の領域をプレイフィールド２０上に設定する。そして実物体１２０ａに掴ませたブロック１７０を、その色などの属性によって対応する領域に運ばせる制御を繰り返すことにより、種類ごとにブロック１７０のまとまりを形成する。これにより、多量のブロック１７０がある場合は特に、所望のブロック１７０が格段に見つけやすくなる。分別作業は、図１４で示したようにユーザ８がブロック１７０を組み立て中に並行して行ってもよいし、組み立て中に限らず、例えば後述するごっこ遊びの最中に行ってもよい。さらに、散乱したブロック１７０を属性によらず一つの場所にまとめさせることで、実物体１２０ａにブロックを片付けさせてもよい。
【０１０１】
またユーザ８の作業領域１７２に加え、実物体１２０ａのための作業領域を設け、実物体１２０ａも並行してブロック１７０を組み立てるようにしてもよい。例えばユーザが選択した同一のモデルを、ユーザと実物体１２０ａが別個に組み立てていく。実物体１２０ａが組み立てている様子をお手本にしてユーザ８も組み立てていくようにすれば、組み立て手順を示しているのと同等となる。あるいは別途、完成形を表示装置１８に表示させ、同時に組み立て始めることで完成までの早さを競うようにしてもよい。１つの作業領域で協力して１つの物を組み立ててもよい。このように実物体１２０ａが組み立て作業を行う場合、平面状に並べる場合はその位置にブロック１７０を置くのみでよいが、立体的に組み立てる場合は、実物体１２０ａに上述のアームやクレーンを設けることによりブロック１７０を高い位置まで持ち上げられるようにする。
【０１０２】
ただし単に積み木のように乗せるのでなく何らかの接続機構により結合させながら組み立てる場合は、接続に要する力、およびその反作用を考慮する必要がある。例えば一般的な接続手法としてブロックの凹部分に凸部分をはめ込む手法を採用した場合、実物体１２０ａのアームには多大な力が必要となる。また反作用により実物体１２０ａの安定が保てない可能性がある。そこでブロック自体を情報処理装置１０の制御対象として、接続状態を情報処理装置１０の制御により実現してもよい。図１５は、実物体がブロックを組み立てる態様におけるブロックの接続手法の例を説明するための図である。同図は、ブロック１７０ａに設けた円柱状の凸部分１７４に、ブロック１７０ｂに設けた円筒状の凹部分１７６をはめ込むことによりブロックを接続する過程を横から見た状態である。
【０１０３】
まずブロックが未接続の状態（ａ）では、ブロック１７０ａの凸部分１７４の直径ｒ１と比較し、ブロック１７０ｂの凹部分１７６の直径ｒ２が大きい状態とする。そして状態（ｂ）のようにブロック１７０ｂの凹部分１７６がブロック１７０ａの凸部分１７４にはめ込まれた状態を検出したら、情報処理部６２は、状態（ｃ）のように、ブロック１７０ｂの凹部分１７６の内部機構により凸部分１７４が締めつけられるようにする。これにより、はめ込み作業において実物体１２０ａが要する力は、ブロック１７０ｂを持ち上げブロック１７０ａの上に置くのと同等でよくなるとともに、内部機構で接続を強固にすることにより、組み立てた物を傾けても崩壊しないようにできる。
【０１０４】
ここで凹部分１７６の内部は、例えばネジの回転などにより内壁の少なくとも一部が狭まるようなクランプ構造とする。そして情報処理部６２は、制御対象の実物体１２０ａが、ブロック１７０ｂをブロック１７０ａの上に乗せたら、当該ネジを回転させるアクチュエータを動作させる制御信号をブロック１７０ｂに送信してネジを締めさせることにより、ブロック１７０ａの凸部分１７４を挟み込んだ状態とする。状態（ｃ）から結合を外す場合は逆に、ネジを緩めさせることにより状態（ｂ）へと移行させればよい。なおブロックの接続手法はこれに限らず、接続部分に空気の吸引機構を設け、情報処理装置１０からの制御により接続面に真空を形成することで接続してもよい。あるいは面ファスナーなどの接着面により接続し、外す際は情報処理装置１０からの制御によりイジェクトピンを突出させて引きはがすようにしてもよい。
【０１０５】
さらに接続時の反作用により実物体１２０ａ本体が安定を失わないように、実物体１２０ａには２つのグリッパーアームを設けてもよい。これにより、接続するブロック１７０ａと１７０ｂの双方を保持して接続すれば反作用は生じにくい。あるいはプレイフィールド２０と、それに接するブロック１７０ａとを接続できるようにし、ブロック１７０ｂを接続する際に接続先のブロック１７０ａが固定されているようにすれば、実物体１２０ａが安定を失いにくくなる。
【０１０６】
一方、図１４で示したような環境でボイスコマンドを利用する態様は、ブロックを組み立てるばかりでなく、ごっこ遊びにも利用できる。例えばブロック１７０を色に応じてバナナ、リンゴ、メロンなどの青果に見立てる。そしてユーザ８が「バナナをください。」と言ったら、実物体１２０ａが黄色いブロック１７０をユーザ８の近傍に運ぶ。このとき同時に実物体１２０ａまたはスピーカー１９から「はい、どうぞ」といった音声を発生させることにより、青果店で買い物をしているような状況を演出できる。
【０１０７】
この場合、シナリオ記憶部５６にはブロック１７０の色と「バナナ」、「リンゴ」、「メロン」といったキーワードとを対応づけて格納しておく。そして情報処理部６２は、マイクロフォン１６が取得した音声信号からキーワードを検出したら、それに対応する色のブロック１７０を運ぶように実物体１２０ａを制御する。ブロック１７０を実際の青果などを模した形としてもよい。ブロックを青果、肉、魚など大まかな分類に対応づけ、青果店、肉屋、魚屋、など異なる店で買い物をしているように演出してもよい。このごっこ遊びの開始時には、上述のように実物体１２０ａが色に応じてブロックを分別することにより、プレイフィールド２０上に各店の領域を形成しておいてもよい。またユーザ８が金銭に見立てたブロックをプレイフィールド２０に置くことで、実物体１２０ａがそれを持ち去るようにしてさらに買い物らしくしてもよい。
【０１０８】
ユーザ８が差し出したブロックを洗濯物に見立て、「クリーニング屋さん、これを持って行って。」といった声に反応して、実物体１２０ａが当該ブロックを持ち去るようにしてもよい。この場合、「これを持って行って。」といったキーワードと、ユーザ８の近傍に置かれたブロックを掴み、プレイフィールド２０上の所定の領域にまとめて置く、という動きの規則を対応づけ、シナリオ記憶部５６に格納しておく。ブロックを動物やキャラクタなどに見立てたり、そのような形状のフィギュアをブロック１７０の代わりに用いたりしてもよい。これらの態様はごっこ遊びに実物体が「協力」するものであるが、幼児が買い物の仕方を学ぶという意味では「教育」の目的でも利用できる。
【０１０９】
図１６は実物体に物をつかむ機能を追加したときに実現される態様のさらに別の例を示している。この例は上述の「対戦」の形態を実現しており、プレイフィールド２０をボードゲームの盤とする。プレイフィールド２０には、情報処理装置１０が制御する、グリッパーを有する実物体１２０ａと、ボードゲームに用いる駒１８０、１８２が置かれている。駒１８０、１８２は内部に機構を持たない合成樹脂などの塊でよい。また駒１８０、１８２の形状や盤のマス目などは図示するものに限らず、ゲームによって適宜決定してよい。ここで行うゲームはチェス、将棋、リバーシなど一般的なものでよい。
【０１１０】
実物体１２０ａは自分の駒１８０を、グリッパーを用いて動かし、ユーザ８は自分の駒１８２を手で動かす。情報処理部６２は、ユーザが動かす駒１８２の位置を含めた戦況に応じて、実物体１２０ａが動かすべき駒１８０やその移動先を決定する。このような作戦自体は、従来のコンピュータゲームにおけるプログラムと同様の処理でよい。実物体１２０ａが対戦相手となる代わりに、２人のユーザが対戦している状況で、実物体１２０ａが補助の役割を果たしてもよい。例えばチェスや将棋でどちらかのユーザの１手により相手の駒が取れた場合、その駒を当該ユーザの方へ運び込む。リバーシの場合は駒の表裏を反転させる。いずれの場合もシナリオ記憶部５６には、各ゲームのルール、特に各手によるその他の駒の変化の規則を格納しておく。この態様は、ボードゲームに限らず、カードゲームや双六などでも同様に実現できる。
【０１１１】
さらに、駒１８０、１８２をキャラクタのフィギュアとし、相手のフィギュアに体当たりさせるなどして攻撃する対戦ゲームを実現してもよい。この場合、実物体１２０ａは自分のフィギュアを掴んだり押したりしてユーザ８のフィギュアにぶつけたり、ぶつけられるのを回避したりする。あるいは、ユーザ側にもグリッパーを有する実物体を置き、ユーザが操作することにより対抗する。さらに情報処理装置１０が制御する第３の実物体を登場させ、フィギュアが持つ武器を、武器の置き場所から持ってこさせるようにしてもよい。このときユーザは、図１４で示したのと同様に、声によって武器を指定できるようにしてもよい。
【０１１２】
図１７は実物体にペンを保持する機能を追加したときに実現される態様の例を示している。プレイフィールド２０には情報処理装置１０が制御する実物体１２０ａと、ユーザが操作する実物体１２０ｂが置かれている。各実物体１２０ａ、１２０ｂは、ペンを下向きに保持することのできる保持機構１９０ａ、１９０ｂを備えている。保持機構１９０ａ、１９０ｂは、情報処理装置１０からの制御信号により、ペン先をプレイフィールド２０に接触させたり離したりできるようにペンの高さを変更可能に構成される。そしてペン先を接触させた状態で実物体１２０ａ、１２０ｂが移動することにより、プレイフィールド２０上に、移動に応じた線画が作成される。
【０１１３】
例えばユーザが操作する実物体１２０ｂが描く線画に応じて、情報処理装置１０が制御する実物体１２０ａが、それを補うように線画を描くことにより、ユーザと情報処理装置１０の共同作業により１つの絵を完成させる。このときユーザ独自の線画に対し所定の規則で情報処理装置１０が装飾を施していく態様としてもよいし、見本となる絵の完成形を表示装置１８に表示させ、双方がそれを目指して描いていくようにしてもよい。前者の場合、ユーザの線画に対する装飾の仕方に関する規則をシナリオ記憶部５６に格納しておく。後者の場合、絵の完成形をシナリオ記憶部５６に格納したおき、各時間ステップにおける描画の途中経過と比較することにより、不足部分を情報処理装置１０の制御によって実物体１２０ａに描かせる。
【０１１４】
プレイフィールド２０は交換が可能な紙としたり、線画を消して描き直すことのできる表面加工を施した板としたりする。上記はペンを用いた「協力・補助」の形態であったが、情報処理装置１０が制御する実物体１２０ａのみが線画を描くようにして「活動」の形態を実現してもよい。この場合、例えばユーザは声や入力装置１４を介した操作により描画してほしい物を指定する。情報処理部６２は、指定された物に対応づけられた絵をシナリオ記憶部５６から読み出し、その通りに絵を描くことによりユーザとのインタラクションを実現する。あるいはユーザは、実物体１２０ａが描画した絵に点数をつけたり絵を修正したりしてもよい。このときユーザは点数や修正を、手に持ったペンでプレイフィールド２０に直接書き込んでよい。
【０１１５】
情報処理装置１０は、その点数や修正箇所を撮影画像から取得し学習する。例えばしきい値以下の悪い点数がつけられた絵はユーザの好みでないとして２度と描かない。ユーザが修正した絵は、再度その絵を描く際、修正が再現されるようにする。そのため情報処理部６２は、シナリオ記憶部５６に格納しておいた絵の完成形のデータに、ユーザがつけた点数や修正後の絵のデータを対応づける。なおこの態様は、実物体１２０ａ、１２０ｂに実際にペンを保持させる代わりに、プロジェクタを用いて、実物体１２０ａ、１２０ｂが通過した経路に線が描かれるような画像をプレイフィールド２０上に投影することによっても実現できる。これにより、紙を交換したり線を消したりする必要がなくなるとともに、出来上がった絵を電子的に保存することが容易にできる。
【０１１６】
図１８は、実物体とユーザの体とでインタラクションを発生させる態様の例を示している。プレイフィールド２０には、情報処理装置１０が制御する実物体１２０ａが置かれている。そして当該実物体１２０ａは、プレイフィールド２０の縁の４辺のうち３辺で跳ね返るように自走する。ユーザは残りの１辺を自分の手１９６で守る。つまり実物体１２０ａがピンボールの玉のような動きをするのに対し、それを手１９６で打ち返すことにより「対戦・競争」の形態を実現する。
【０１１７】
情報処理部６２は、プレイフィールド２０に所定角度の傾斜がついていると仮定したときの玉の動きや跳ね返りを物理計算し、実物体１２０ａをそのように移動させる。一方、状態特定部５２は、手１９６の像を撮影画像から検出し、既存の手法で追跡しておく。これにより情報処理部６２は、手の動きによって玉が跳ね返る様子も実物体１２０ａで再現できる。ユーザが実際に実物体１２０ａを打ち返さずとも、実物体１２０ａが辺を越える前に手１９６が実物体１２０ａに追いついていれば打ち返しの成功を判定し、反対側に戻るように実物体１２０ａを制御する。追いつかなければ実物体１２０ａはプレイフィールド２０の外に出てユーザの負けとする。なおプレイフィールド２０の内部をブロックで囲み、当該ブロックで跳ね返るように実物体１２０ａを動かしてもよい。
【０１１８】
さらにその内部にも、跳ね返りポイントとしてブロックを置くようにしてもよい。ユーザが自由な位置や形状にブロックを置いても、撮影画像によって各ブロックの位置座標が判明するため、簡単な物理計算で実物体１２０ａの速度や移動方向を時間ステップごとに決定することができる。ブロックの色などに応じて材質を仮定しておけば、速度の計算に反発係数の変化を反映させることもできる。跳ね返る際、スピーカー１９などから跳ね返り音を発生させてもよい。
【０１１９】
実物体１２０ａと手１９６のインタラクションの別の例として、手１９６が実物体１２０ａを追いかける「競争」の態様を実現してもよい。この場合、実物体１２０ａを複数個置き、手１９６の動きに合わせて一斉に逃げ回るようにしてもよい。情報処理部６２は、各時間ステップにおける手の位置情報に基づき、手から遠ざかるように各実物体１２０ａの移動方向を決定する。このときなるべく方向が分散するように、乱数を発生させるなどして移動方向を決定すると、捕まえづらくなりゲーム性がより高まる。なおユーザは、実物体１２０ａを実際に掴むのでなく、プレイフィールド２０の所定の領域内に追い込むことで捕まえた状態としてもよい。実物体１２０ａを羊、ネズミ、魚などの生物の形状としたり、スピーカー１９から鳴き声などを発生させたりすることにより、より臨場感を与えられる。
【０１２０】
これまで述べた例では、実物体の動きはアクチュエータの駆動によっていた。さらに重力など自然に発生する力により動く実物体と組み合わせて遊びを多様化させることもできる。図１９は、玉の転がりを実物体の動きに含めた「協力」や「演技」の態様の例を示している。この例ではルーブゴールドバーグマシン（Rube Goldberg machine）のように、玉２００の転がりに呼応するように他の物や仕掛けが動く装置を想定している。プレイフィールド２０には、情報処理装置１０が制御する実物体１２０ａ、ユーザが操作する実物体１２０ｂがいくつか置かれている。またユーザにより、玉２００が転がるおよそのコースがブロック２０２で形成されている。
【０１２１】
情報処理装置１０が制御する実物体としてさらに、実物体１２０ｍ、１２０ｎ、１２０ｐを置く。実物体１２０ｍは四角柱の本体と滑り台とで構成される。四角柱は下部と上部に穴２０４、２０６を備えるとともに、エレベータのように内部の空洞を台が昇降する機構を備える。台を昇降させるアクチュエータは情報処理装置１０からの制御信号により駆動させる。また実物体１２０ｎ、１２０ｐは、情報処理装置１０からの制御信号により全体を発光させたり効果音を発生させたりする機構を備える。なお上述のとおり、プロジェクタからの光の投影により実物体１２０ｎ、１２０ｐが発光させているように見せたり、効果音をスピーカー１９から発生させたりしてもよい。このような構成において、情報処理装置１０が制御する実物体１２０ａは、グリッパーにより運んだ玉２００を、実物体１２０ｍの下部の穴２０４に入れる。
【０１２２】
すると情報処理装置１０の制御により、実物体１２０ｍの四角柱の内部で玉２００が乗せられた台が上昇し、当該台が傾くことにより、上部の穴２０６から玉２００が外へ出る。その結果、玉２００は滑り台を転がり実物体１２０ｎに衝突する。情報処理装置１０は玉２００の衝突を撮影画像に基づき検出すると、実物体１２０ｎを発光させたり音声を発生させたりして反応させる。実物体１２０ｎから跳ね返り転がって来た玉２００を、ユーザが実物体１２０ｂを操作し跳ね返したり押したりして所望の方向へ導く。そのようにして転がってきた玉２００を、次は情報処理装置１０が制御する実物体１２０ａが、跳ね返したり押したりして実物体１２０ｐの開口部へ入れ、ゴールとする。
【０１２３】
このとき情報処理装置１０は、撮影画像に基づき玉２００の位置を追跡し、実物体１２０ｐの方向へ跳ね返るような位置に実物体１２０ａを動かしたり、実物体１２０ａにより玉２００を押したりする。また開口部に玉２００が入ったことも撮影画像などから検出し、実物体１２０ｐを発光させたり音声を発生させたりしてゴールの瞬間を演出する。このように本実施の形態では、撮影画像に基づき場の変化を検出するため、制御対象外の玉などの動きに対応させて、実物体が備える様々な機能を作動させることができる。シナリオ記憶部５６には、上述したような玉２００の動きと、それに応じた実物体の動きに係る規則を格納しておく。
【０１２４】
図示したコースは比較的単純な構成であったが、玉２００の衝突によって並べた平板が次々に倒れるドミノ倒しの部分を作ったり、縮めたバネをアクチュエータによって開放することにより玉２００を跳ばしたり、といった、より複雑な構成を加えてもよい。また玉２００の転がる力を他の物に伝えることにより、動く主体が途中で切り替わるようにしてもよい。実物体１２０ｍ、１２０ｎ、１２０ｐのような基本的な実物体を様々に組み合わせることにより、自然の力による動きと駆動系による動きとを融合させたユニークな装置を、ユーザの発想に応じて作成することができる。
【０１２５】
図９、１１、１６などで例示した対戦や競争の形態を、複数のユーザ間でネットワークを介して実現してもよい。図２０はネットワークを利用して複数のユーザが１つのゲームに参加する態様を説明するための図である。同図の例では３つの場所で、情報処理システム１ａ、１ｂ、１ｃがそれぞれ同様に構築されている。各システムの情報処理装置１０ａ、１０ｂ、１０ｃは、ネットワーク２１２を介してサーバ２１０に接続する。情報処理システム１ａのプレイフィールドには、そこにいるユーザが操作する実物体のほか、情報処理システム１ｂ、１ｃのユーザがネットワーク２１２を介して動かす実物体が置かれている。
【０１２６】
その他の情報処理システム１ｂ、１ｃにおいても同様に、自らのユーザが操作する実物体と、その他の情報処理システムのユーザがネットワーク２１２を介して操作する実物体がプレイフィールドに置かれる。そのため図示する例では、全ての情報処理システム１ａ、１ｂ、１ｃのプレイフィールドに、３つの実物体が置かれている。ゲーム開始前に、参加ユーザの情報処理システムと実物体との対応づけをサーバ２１０が行い、各情報処理装置１０ａ、１０ｂ、１０ｃに通知しておく。そしてサーバ２１０は、情報処理システム１ａ、１ｂ、１ｃの各ユーザが入力装置を介して自分の実物体を操作した際、その情報を他の情報処理システムに通知する。
【０１２７】
各情報処理装置１０ａ、１０ｂ、１０ｃは、自らのユーザによる入力装置１４を介した操作に従い、対応する実物体を動かすとともに、サーバ２１０から通知された他のユーザの操作情報に従い、それぞれに対応する実物体を動かす。結果として全ての情報処理システム１ａ、１ｂ、１ｃで、各ユーザに対応する実物体が同じように動くことになる。さらに実物体を増やし、サーバ２１０あるいは情報処理装置１０ａ、１０ｂ、１０ｃの少なくともいずれかが動きを決定してもよい。このようにして、例えば図９で示したようなプレイフィールドで対戦ゲームを実施する。
【０１２８】
上述したように実物体を戦車としたり砲撃により得点を与えたりすれば、離れた場所にいるユーザが箱庭の世界で実際に対戦する状況を実現できる。ここで実物体の実際の動きは各情報処理装置１０ａ、１０ｂ、１０ｃの制御によるため、様々な調整を行うことで、ゲームをより面白くすることができる。例えばユーザが過去に対戦した回数や戦績をサーバ２１０に記録しておき、ゲーム開始時に各情報処理装置１０ａ、１０ｂ、１０ｃに通知しておく。情報処理装置１０ａ、１０ｂ、１０ｃは、当該情報に応じて実物体の動きに調整を加える。
【０１２９】
例えば、あるユーザの対戦回数が少なかったり戦績がよくないことをしきい値との比較などにより判定したら、当該ユーザにハンデを与え、他ユーザの実物体をより高速に移動したり１度の砲撃による得点を他ユーザより高くする。ボードゲームでは最初の駒の数に差をつけたりする。習熟度などを複数段階に分けてもよい。このようにすることで、年齢や習熟度によらず対等に戦うことができるため、相手を選ぶことなくゲームを楽しむことができる。また場合によって、同じ習熟度のユーザのみでハンデなく戦うことも選択できる。
【０１３０】
以上述べた本実施の形態によれば、プレイフィールドを撮影した画像を用いて、プレイフィールド上の実物体の位置や動きを検出する。そしてあらかじめ設定された規則に従い、実物体のうちいずれかを情報処理装置が制御して動かす。これにより、物体が様々な反応をする多様な空間を実世界において作り上げることができる。このとき微小時間間隔の時間ステップごとに実物体の動きを決定していくことにより、比較的単純な計算で、その他の実物体の動きに臨機応変に反応しているように見せることができる。
【０１３１】
またユーザが入力装置を介して操作する実物体や、手で置いたり動かしたりする実物体を導入し、情報処理装置が制御する実物体の動きに影響を与えるようにする。これにより、コンピュータゲームのような遊びや装置との共同作業を、実物体を用いて実現できるとともに、入力装置を使い慣れていない幼児などでも容易に遊んだり利用したりすることができる。声を取得しそれに実物体を反応させることによっても、同様の効果が得られる。
【０１３２】
ユーザが操作する実物体も、情報処理装置を介して動かすことにより、プレイフィールド上の場所によって移動速度に制限を設けたり、ユーザによってハンデを与えたりする調整が可能となる。結果として、コンピュータゲームでは容易であった各種調整が実世界で可能になり、よりルールを複雑化したり多機能化させたりすることができる。また同じプレイフィールドを利用した同じゲームであっても、その難易度を容易に変えることができる。また撮影画像に基づき実物体の動きを決定するため、プレイフィールドに表された画像や出力音声、駆動系を持たない物や人体の動きと、情報処理装置が制御する実物体とのインタラクションも可能となる。当該画像をプロジェクタにより投影するようにすれば、実物体と画像を連動させ、ひいては構築する世界観を変化させることも容易にできる。
【０１３３】
さらにネットワークを介して複数のユーザのシステムを接続すれば、遠隔地にいるユーザと実物体を用いて遊ぶ、という状況を実現できる。この場合も、ローカルにある情報処理装置が実物体を制御するため、動作の制限やユーザによるハンデといった調整が可能になる。また参加メンバーとして、ユーザ以外に情報処理装置を含めることもできる。例えば複数ユーザの連合軍と情報処理装置の軍とで多数の実物体を用いて対戦する、といった比較的規模の大きい態様も実現できる。
【０１３４】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１３５】
１  情報処理システム、  １０  情報処理装置、  １２  撮像装置、  １４  入力装置、  １６  マイクロフォン、  １８  表示装置、  １９  スピーカー、  ２０  プレイフィールド、  ２２  ＣＰＵ、  ２４  ＧＰＵ、  ２６  メインメモリ、  ５０  通信部、  ５２  状態特定部、  ５４  実物体情報記憶部、  ５６  シナリオ記憶部、  ６０  実物体制御部、  ６２  情報処理部、  １０６ａ  駆動部、  １０８ａ  通信部、  １２０ａ  実物体、  １２２  車輪、  １２６  マーカー、  １２８  モーター。
【図１】
0006352151.tif 000002
【図２】
0006352151.tif 000003
【図３】
0006352151.tif 000004
【図４】
0006352151.tif 000005
【図５】
0006352151.tif 000006
【図６】
0006352151.tif 000007
【図７】
0006352151.tif 000008
【図８】
0006352151.tif 000009
【図９】
0006352151.tif 000010
【図１０】
0006352151.tif 000011
【図１１】
0006352151.tif 000012
【図１２】
0006352151.tif 000013
【図１３】
0006352151.tif 000014
【図１４】
0006352151.tif 000015
【図１５】
0006352151.tif 000016
【図１６】
0006352151.tif 000017
【図１７】
0006352151.tif 000018
【図１８】
0006352151.tif 000019
【図１９】
0006352151.tif 000020
【図２０】
0006352151.tif 000021