JPWO2008126419A1 - 運動支援方法 - Google Patents
運動支援方法 Download PDFInfo
- Publication number
- JPWO2008126419A1 JPWO2008126419A1 JP2009508923A JP2009508923A JPWO2008126419A1 JP WO2008126419 A1 JPWO2008126419 A1 JP WO2008126419A1 JP 2009508923 A JP2009508923 A JP 2009508923A JP 2009508923 A JP2009508923 A JP 2009508923A JP WO2008126419 A1 JPWO2008126419 A1 JP WO2008126419A1
- Authority
- JP
- Japan
- Prior art keywords
- cursor
- image
- multimedia processor
- user
- screen
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8094—Unusual game types, e.g. virtual cooking
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Rehabilitation Tools (AREA)
Abstract
【課題】 人を特定の運動に誘導するための、運動支援方法を提供することである。【解決手段】本発明の運動支援方法は、ユーザに特定の動作を促すための運動支援方法であって、テレビジョンモニタ5のスクリーンに襖を模した襖35を表示するステップと、撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、前記ユーザの動きに応じて、テレビジョンモニタ5のスクリーンに表示されたカーソル70を移動させるステップと、実在の襖を開くのと同様の手順で、すなわち、カーソル70R及び70Lがそれぞれ、引手33R及び33L上に移動してからカーソル70Rが右方向に、カーソル70Lが左方向に移動することを条件として、襖35が開くようにに表示を行うエフェクトステップと、を含む。【選択図】 図5
Description
本発明は、ユーザに運動を行うことを促すための運動支援方法及びその関連技術に関する。
本出願人が出願した特許文献1は、カメラを使った入力システムに関するものである。引用文献1では、プレイヤのスポーツの動作又は模擬的な動作を検出し、その検出結果を入力に用いる体感ボールゲームシステムが開示されている。
特開2004−85524号公報
引用文献1に開示されている体感ボールゲームシステムは、実際のスポーツを疑似体験することを目的に開発されたものであるため、プレイヤはゲーム内の状況に応じて、実際のスポーツのように動作の強度、動作の速度、動作を行う位置及び動作を行う向きなどを自由に変えて、ゲームを進行することができた。このため、上記の体感ボールゲームシステムは、プレイヤの動作の自由度が重視されており、ユーザに対して特定の動作だけを促すという観点からは設計されていない。しかし、リハビリテーションや訓練の分野では、ユーザに対して特定の動作だけを反復して実行させたい場合がある。
そこで、本発明の目的は、ユーザに対して特定の動作を促すための運動支援方法及びそれらの関連技術を提供することである。
本発明の第1の形態によれば、運動支援方法は、ユーザに特定の動作を促すための運動支援方法であって、表示装置のスクリーンに実在の物体を模したオブジェクトを表示するステップと、撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、前記ユーザの動きに応じて、表示装置のスクリーンに表示されたカーソルを移動させるステップと、前記実在の物体に対して行われる実際の操作と同じ手順で前記オブジェクト上を前記カーソルが移動したことを条件に、前記オブジェクトに対して前記実際の操作が行われたように表示を行うエフェクトステップと、を含む。
この構成によれば、ユーザの動作に連動するカーソルを動かす手順が、実在の物体に対して行われる操作と同じ手順であるため、特に指示しなくてもユーザは直感的にカーソルを動かすための動作の手順を知ることができる。結果ユーザに特定の動作を促すことができる。
さらに、手順どおりに動作を行い、カーソルを移動させると、オブジェクトの表示に実在の物体に対する実際の操作が行われたような反応があるため、ユーザは自分のカーソルを動かす手順が正しいか否か、すなわち自分の動作が正しいか否かを自分でもチェックすることができる。
さらに、実在の物体を操作することによる作業療法やトレーニングを、オブジェクトに対するカーソルの移動のための特定の動作を行うという形で、擬似的に実施することができる。ユーザはカーソルを動かすために特定の動作を行うだけなので、実際の作業療法やトレーニングに比べて負荷が小さく、安静が必要な場合や機材がない場合など、何らかの理由で実際の作業療法やトレーニング等を行うことが難しいユーザのためのリハビリテーションやイメージトレーニングとしても利用できる。また、特定の動作を行った場合、実在の物体に対する実際の操作が行われたようにオブジェクトの表示が変化するため、ユーザに対して特定の動作を行うことによる刺激だけでなく、同時に映像によって視覚的な刺激を与えることができ、ユーザに実際の作業療法やトレーニングを行っているかのようなイメージを与えることもできる。脳科学の分野では、動作による刺激だけでなく、動作のイメージを強く持つことによる刺激によっても、脳の機能の一部が失われたり低下したりした場合に健在な脳の他の部分が失われた部分の機能を補おうとする脳の代替機能(脳の可塑性ともいう。)が発揮されて、機能が回復していく場合があるとされているので、この特定の動作による擬似的な作業療法やイメージトレーニングにも、リハビリテーションとしての効果は期待できる。
さらに、プログラムによって様々な実在の物体を模したオブジェクトを表示し、それらのオブジェクトに対するカーソルの移動手順と、正しいカーソル移動が行われた場合のオブジェクトの表示を設定しておくことができるので、ユーザに対して様々な特定の動作を誘導することが可能となる。
さらに、手順どおりに動作を行い、カーソルを移動させると、オブジェクトの表示に実在の物体に対する実際の操作が行われたような反応があるため、ユーザは自分のカーソルを動かす手順が正しいか否か、すなわち自分の動作が正しいか否かを自分でもチェックすることができる。
さらに、実在の物体を操作することによる作業療法やトレーニングを、オブジェクトに対するカーソルの移動のための特定の動作を行うという形で、擬似的に実施することができる。ユーザはカーソルを動かすために特定の動作を行うだけなので、実際の作業療法やトレーニングに比べて負荷が小さく、安静が必要な場合や機材がない場合など、何らかの理由で実際の作業療法やトレーニング等を行うことが難しいユーザのためのリハビリテーションやイメージトレーニングとしても利用できる。また、特定の動作を行った場合、実在の物体に対する実際の操作が行われたようにオブジェクトの表示が変化するため、ユーザに対して特定の動作を行うことによる刺激だけでなく、同時に映像によって視覚的な刺激を与えることができ、ユーザに実際の作業療法やトレーニングを行っているかのようなイメージを与えることもできる。脳科学の分野では、動作による刺激だけでなく、動作のイメージを強く持つことによる刺激によっても、脳の機能の一部が失われたり低下したりした場合に健在な脳の他の部分が失われた部分の機能を補おうとする脳の代替機能(脳の可塑性ともいう。)が発揮されて、機能が回復していく場合があるとされているので、この特定の動作による擬似的な作業療法やイメージトレーニングにも、リハビリテーションとしての効果は期待できる。
さらに、プログラムによって様々な実在の物体を模したオブジェクトを表示し、それらのオブジェクトに対するカーソルの移動手順と、正しいカーソル移動が行われた場合のオブジェクトの表示を設定しておくことができるので、ユーザに対して様々な特定の動作を誘導することが可能となる。
前記実在の物体は、ユーザが見るだけで前記実際の操作が分かるようなユーザにとって身近な物体であるとなおよい。
この運動支援方法の、前記エフェクトステップでは、少なくとも、前記オブジェクトに前記カーソルが重なった状態で、前記カーソルが第1の所定方向に動くことを条件に、前記オブジェクトを第2の所定方向に移動する。
この場合、前記オブジェクトが所定位置まで移動した後、再び前記オブジェクトを前記移動前の位置に表示するステップをさらに含んでもよい。
この構成によれば、オブジェクトが移動した後、移動前の位置に再びオブジェクトが表示されるので、ユーザに対して、オブジェクトの位置にカーソルを移動させるための動作と、第1の所定方向にカーソルを移動させるための動作を反復させることができる。ここで、移動前の位置に再びオブジェクト表示する方法は、所定位置に移動後のオブジェクトを再び元の位置に移動させるような表示方法でもよいし、所定位置に移動後のオブジェクトの表示は消去し、移動前の位置に新たにオブジェクトを出現させるような表示方法でもよい。
上記の運動支援方法の、前記オブジェクトは、複数の要素画像を含み、前記複数の要素画像は、所定方向に並んで配置され、前記エフェクトステップでは少なくとも、前記要素画像に前記カーソルが重なった状態で、前記カーソルが前記所定方向に動くことを条件に、前記所定方向に前記オブジェクトを移動する。
この構成によれば、カーソルを移動することによって並んだ複数の要素画像が次々に現れるので、ユーザに対して、要素画像の位置にカーソルを移動させるための動作と、カーソルを所定方向に動かすための動作とを反復させることができる。
この場合、前記複数の要素画像は、所定の間隔で並んで配置されていてもよい。
この構成によれば、反復されるユーザの特定の動作の幅が一定になる。
上記の運動支援方法の、前記エフェクトステップでは、少なくとも、前記カーソルが前記オブジェクト上を移動することを条件に、前記オブジェクトの前記カーソルの移動軌跡に対応する部分の形状、模様、色彩のうち少なくとも一つを変化させる。
この場合、前記オブジェクトは、第1の画像を含み、前記エフェクトステップでは、少なくとも、前記カーソルが前記第1の画像上を移動することを条件に、前記第1の画像のうち、前記カーソルの移動軌跡に対応する部分を、第2の画像に変更してもよい。
これらの構成によれば、オブジェクトの表示位置にカーソルを重ね、カーソルでなぞっていくような動作をユーザに促すことができる。
本発明の第2の形態によれば、運動支援方法は、ユーザに特定の動作を促すための運動支援方法であって、撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、前記ユーザの動きに応じて、表示装置のスクリーンに表示されたカーソルを移動させるステップと、前記スクリーンに、所定のオブジェクトを表示するステップと、少なくとも、前記オブジェクトに前記カーソルが重なった状態で、前記カーソルが第1の所定方向に動くことを条件に、前記オブジェクトを第2の所定方向に移動するステップと、を含む。
この場合、前記オブジェクトが所定位置まで移動した後、再び前記オブジェクトを前記移動前の位置に表示するステップをさらに含んでもよい。
この構成によれば、オブジェクトが移動した後、移動前の位置に再びオブジェクトが表示されるので、ユーザに対して、オブジェクトの位置にカーソルを移動させるための動作と、第1の所定方向にカーソルを移動させるための動作を反復させることができる。
本発明の第3の形態によれば、運動支援方法は、ユーザに特定の運動を促すための運動支援方法であって、撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、前記ユーザの動きに応じて、表示装置のスクリーンに表示されたカーソルを移動させるステップと、前記スクリーンに、所定方向に並んで配置された複数の要素画像を含む所定のオブジェクトを表示するステップと、前記要素画像に前記カーソルが重なった状態で、前記カーソルが前記所定方向に動くことを条件に、前記所定方向に前記オブジェクトを移動するステップと、を含む。
この構成によれば、カーソルを移動することによって並んだ複数の要素画像が次々に現れるので、ユーザに対して、要素画像の位置にカーソルを移動させるための動作と、カーソルを所定方向に動かすための動作とを反復させることができる。
この場合、前記複数の要素画像は、所定の間隔で並んで配置されていてもよい。
この構成によれば、反復されるユーザの特定の動作の幅が一定になる。
本発明の第4の形態によれば、ユーザに特定の運動を促すための運動支援方法であって、撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、前記ユーザの動きに応じて、表示装置のスクリーンに表示されたカーソルを移動させるステップと、前記スクリーンに所定のオブジェクトを表示するステップと、少なくとも、前記カーソルが前記オブジェクト上を移動することを条件に、前記オブジェクトの前記カーソルの移動軌跡に対応する部分の形状、模様、色彩のうち少なくとも一つを変化させるエフェクトステップと、を含む。
この場合、前記オブジェクトは、第1の画像を含み、前記エフェクトステップでは、少なくとも、前記カーソルが前記第1の画像上を移動することを条件に、前記第1の画像のうち、前記カーソルの移動軌跡に対応する部分を、第2の画像に変更するようにしてもよい。
これらの構成によれば、オブジェクトの表示位置にカーソルを重ね、カーソルでなぞっていくような動作をユーザに促すことができる。また、オブジェクトの形状、模様、色彩の変化又は第1画像から第2画像への変化によって、ユーザに対して、特定の動作を行うことによる刺激だけでなく、映像による視覚的な刺激を与えることができる。
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
本発明の実施の形態による運動支援方法を実行するための情報処理システムの全体構成を示す図である。
図1の入力装置3の斜視図である。
図1の入力装置3L及び3Rの使用状態の一例を示す説明図である。
図1の情報処理装置1の電気的構成を示す図である。
図1の情報処理システムによる襖開きモードでの画面の例示図である。図5(a)は襖35が両方閉じた状態を示す画面を説明する図、図5(b)は右開き入力があった場合の画面を説明する図、図5(c)両開き入力があった場合の画面を説明する図、そして図5(d)は右開き入力及び左開き入力が順次行われたか、両開き入力が行われた場合の画面を示す図である。
図1の情報処理システムによる梯子登りモードでの画面の例示図である。
図1の情報処理システムによる窓拭きモードでの画面の例示図である。
図4のマルチメディアプロセッサ50による全体処理の流れの一例を示すフローチャートである。
図8のステップS3のアプリケーションプログラムが実行する処理の1つである撮影処理の流れを示すフローチャートである。
図8のステップS3のアプリケーションプログラムが実行する処理の1つであるシート検出処理を示すフローチャートである。
差分画像DIから再帰反射シート15L及び15Rのそれぞれの注目点を検出する方法の説明する図である。
図4のマルチメディアプロセッサ50が実行する情報処理の流れを示す遷移図である。
図12のステップS53の襖開きモードでマルチメディアプロセッサ50が行う処理の流れを説明するフローチャートである。
図13のステップS67の左入力判定前処理で、マルチメディアプロセッサ50が実行する処理を説明するフローチャートである。
図13のステップS71の左入力判定処理のフローチャートである。
閾値x1からx4について説明する図である。
図12の遷移図のステップS55の梯子登りモードの処理を説明するフローチャートである。
図11の遷移図のステップS57の窓拭きモードの処理を説明するフローチャートである。
1…情報処理装置、3,3L,3R…入力装置、5…テレビジョンモニタ、9…赤外発光ダイオード、15,15L,15R…再帰反射シート、70,70L,70R…カーソル、33,33L,33R…引手、35,35L,35R…襖、36…背景画像。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一又は相当部分については、同一の参照符号を付してその説明を援用する。
図1は、本発明の実施の形態による運動支援方法を実行するための情報処理システムの全体構成を示す図である。図1に示すように、この情報処理システムは、情報処理装置1、入力装置3L及び3R、並びにテレビジョンモニタ5を備える。ここで、入力装置3L及び3Rを区別する必要がないときは、入力装置3と表記する。情報処理装置1は、AVケーブル7により、テレビジョンモニタ5に接続される。さらに、情報処理装置1には、図示していないが、ACアダプタあるいは電池により電源電圧が供給される。情報処理装置1の背面には、電源スイッチ(図示せず)が設けられる。
図2は、図1の入力装置3の斜視図である。図2に示すように、入力装置3は、透明体17の底面側にベルト19を通して、そのベルト19を透明体17の内部で固定してなる。透明体17の内面全体にわたって(底面側を除く)、再帰反射シート15が取り付けられる。入力装置3の使用方法は後述する。
図1に戻って、情報処理装置1は、その前面側に、赤外光のみを透過する赤外線フィルタ20が設けられ、さらに、赤外線フィルタ20を囲むように、赤外光を発生する4つの赤外発光ダイオード9が露出している。赤外線フィルタ20の背面側には、後述のイメージセンサ54が配置される。
4つの赤外発光ダイオード9は、間欠的に赤外光を発光する。そして、赤外発光ダイオード9からの赤外光は、入力装置3に取り付けられた再帰反射シート15により反射され、赤外線フィルタ20の背面側に設けられたイメージセンサ54に入力される。このようにして、イメージセンサ54により、入力装置3が撮影される。
赤外光は間欠的に照射されるところ、赤外光の非照射時においても、イメージセンサ54による撮影処理は行われている。情報処理装置1は、ユーザにより動かされた入力装置3の、赤外光照射時の画像信号と非照射時の画像信号との差分を求めて、この差分信号DI(差分画像DI)を基に、再帰反射シート15の位置、つまり入力装置3の位置を算出する。このように、差分を求めることで、再帰反射シート15からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート15を検出できる。
4つの赤外発光ダイオード9は、間欠的に赤外光を発光する。そして、赤外発光ダイオード9からの赤外光は、入力装置3に取り付けられた再帰反射シート15により反射され、赤外線フィルタ20の背面側に設けられたイメージセンサ54に入力される。このようにして、イメージセンサ54により、入力装置3が撮影される。
赤外光は間欠的に照射されるところ、赤外光の非照射時においても、イメージセンサ54による撮影処理は行われている。情報処理装置1は、ユーザにより動かされた入力装置3の、赤外光照射時の画像信号と非照射時の画像信号との差分を求めて、この差分信号DI(差分画像DI)を基に、再帰反射シート15の位置、つまり入力装置3の位置を算出する。このように、差分を求めることで、再帰反射シート15からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート15を検出できる。
図3は、図1の入力装置3L及び3Rの使用状態の一例を示す説明図である。図1及び図3に示すように、ユーザは、中指を図2のベルト19に通して、入力装置3を装着する。この場合、透明体17及び再帰反射シート15が、手の平の側にくるようにする。図1のように、ユーザが、情報処理装置1に向けて、つまり、イメージセンサ54に向けて手を開くと、透明体17及び再帰反射シート15が現れ、この再帰反射シート15が撮影される。一方、透明体17を握り締めると、再帰反射シート15は手の中に隠れてしまい、イメージセンサ54に撮影されない。従って、ユーザは、手を開いたり閉じたりする動作によって、再帰反射シート15を撮影させたり撮影させなかったりすることにより、情報処理装置1に対する入力の制御を行うこともできる。以下、この入力方法を握り入力と呼ぶ。
図4は、図1の情報処理装置1の電気的構成を示す図である。図4に示すように、情報処理装置1は、マルチメディアプロセッサ50、イメージセンサ54、赤外発光ダイオード9、外部メモリ52、及びバス56を含む。外部メモリ52には、例えば、ROM(read only memory)、RAM(randam access memory)、フラッシュメモリ等が利用できる。
マルチメディアプロセッサ50は、バス56を通じて、外部メモリ52にアクセスできる。従って、マルチメディアプロセッサ50は、外部メモリ52に格納されたプログラムを実行でき、また、外部メモリ52に格納されたデータをリードして処理することができる。この外部メモリ52に、後述の各種画面の制御、再帰反射シート15L及び15Rの位置検出、並びに入力状態及び非入力状態の判定等の各処理を行うプログラム、画像データ、及び音声データ等が予め格納される。
マルチメディアプロセッサ50は、バス56を通じて、外部メモリ52にアクセスできる。従って、マルチメディアプロセッサ50は、外部メモリ52に格納されたプログラムを実行でき、また、外部メモリ52に格納されたデータをリードして処理することができる。この外部メモリ52に、後述の各種画面の制御、再帰反射シート15L及び15Rの位置検出、並びに入力状態及び非入力状態の判定等の各処理を行うプログラム、画像データ、及び音声データ等が予め格納される。
このマルチメディアプロセッサ50は、図示しないが、中央演算処理装置(以下、「CPU」と呼ぶ。)、グラフィックスプロセシングユニット(以下、「GPU」と呼ぶ。)、サウンドプロセシングユニット(以下、「SPU」と呼ぶ。)、ジオメトリエンジン(以下、「GE」と呼ぶ。)、外部インタフェースブロック、メインRAM、及びA/Dコンバータ(以下、「ADC」と呼ぶ。)などを具備する。
CPUは、外部メモリ52に格納されたプログラムを実行して、各種演算やシステム全体の制御を行う。グラフィックス処理に関するCPUの処理として、外部メモリ52に格納されたプログラムを実行して、各オブジェクトの拡大・縮小、回転、及び/又は平行移動のパラメータ、視点座標(カメラ座標)、並びに視線ベクトルの算出等を行う。ここで、1または複数のポリゴン又はスプライトから構成され、同じ拡大・縮小、回転、及び平行移動の変換が適用される単位を「オブジェクト」と呼ぶ。
GPUは、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成し、アナログのコンポジットビデオ信号に変換する。SPUは、PCM(pulse code modulation)波形データ、アンプリチュードデータ、及びメインボリュームデータを生成し、これらをアナログ乗算して、アナログオーディオ信号を生成する。GEは、三次元イメージを表示するための幾何演算を実行する。具体的には、GEは、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度/ポリゴン明度計算(ベクトル内積)、及びポリゴン裏面カリング処理(ベクトル外積)などの演算を実行する。
外部インタフェースブロックは、周辺装置(本実施の形態ではイメージセンサ54及び赤外発光ダイオード9)とのインタフェースであり、24チャンネルのプログラマブルなデジタル入出力(I/O)ポートを含む。ADCは、4チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置(本実施の形態ではイメージセンサ54)から入力されたアナログ信号をデジタル信号に変換する。メインRAMは、CPUのワーク領域、変数格納領域、および仮想記憶機構管理領域等として利用される。
CPUは、外部メモリ52に格納されたプログラムを実行して、各種演算やシステム全体の制御を行う。グラフィックス処理に関するCPUの処理として、外部メモリ52に格納されたプログラムを実行して、各オブジェクトの拡大・縮小、回転、及び/又は平行移動のパラメータ、視点座標(カメラ座標)、並びに視線ベクトルの算出等を行う。ここで、1または複数のポリゴン又はスプライトから構成され、同じ拡大・縮小、回転、及び平行移動の変換が適用される単位を「オブジェクト」と呼ぶ。
GPUは、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成し、アナログのコンポジットビデオ信号に変換する。SPUは、PCM(pulse code modulation)波形データ、アンプリチュードデータ、及びメインボリュームデータを生成し、これらをアナログ乗算して、アナログオーディオ信号を生成する。GEは、三次元イメージを表示するための幾何演算を実行する。具体的には、GEは、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度/ポリゴン明度計算(ベクトル内積)、及びポリゴン裏面カリング処理(ベクトル外積)などの演算を実行する。
外部インタフェースブロックは、周辺装置(本実施の形態ではイメージセンサ54及び赤外発光ダイオード9)とのインタフェースであり、24チャンネルのプログラマブルなデジタル入出力(I/O)ポートを含む。ADCは、4チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置(本実施の形態ではイメージセンサ54)から入力されたアナログ信号をデジタル信号に変換する。メインRAMは、CPUのワーク領域、変数格納領域、および仮想記憶機構管理領域等として利用される。
入力装置3L及び3Rは、赤外発光ダイオード9の赤外光に照射され、その赤外光を再帰反射シート15L及び15Rで反射する。この再帰反射シート15L及び15Rからの反射光がイメージセンサ54によって撮影され、したがって、イメージセンサ54からは再帰反射シート15L及び15Rを含む画像信号が出力される。上記のように、マルチメディアプロセッサ50は、ストロボ撮影のために、赤外発光ダイオード9を間欠的に点滅するので、赤外光消灯時の画像信号も出力される。イメージセンサ54からのこれらのアナログ画像信号はマルチメディアプロセッサ50に内蔵されたADCによってデジタルデータに変換される。
マルチメディアプロセッサ50は、イメージセンサ54からADCを介して入力されるデジタル画像信号から上記の差分信号DI(差分画像DI)を生成して、これに基づき、入力装置3L及び3Rによる入力/非入力の判定、さらに入力装置3L及び3Rの位置等を検出して、演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。ビデオ信号およびオーディオ信号は、AVケーブル7によりテレビジョンモニタ5に与えられ、応じて、テレビジョンモニタ5に映像が表示され、そのスピーカ(図示せず)から音声が出力される。
マルチメディアプロセッサ50は、イメージセンサ54からADCを介して入力されるデジタル画像信号から上記の差分信号DI(差分画像DI)を生成して、これに基づき、入力装置3L及び3Rによる入力/非入力の判定、さらに入力装置3L及び3Rの位置等を検出して、演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。ビデオ信号およびオーディオ信号は、AVケーブル7によりテレビジョンモニタ5に与えられ、応じて、テレビジョンモニタ5に映像が表示され、そのスピーカ(図示せず)から音声が出力される。
マルチメディアプロセッサ50は、検出した入力装置3L及び3Rの位置に応じて、カーソル70L及び70Rの移動を制御する。まずマルチメディアプロセッサ50は、差分画像DIから再帰反射シート15L及び15Rの像を抽出して、それぞれの注目点の差分画像DI上の座標を算出する。注目点の検出の仕方については、差分画像DIをスキャンして、再帰反射シート15L及び15Rの像の最も輝度が高いピクセルを注目点とする方法等周知の様々な方法が利用できる。本実施の形態での方式は、図10及び図11を用いて後述する。
マルチメディアプロセッサ50は、差分画像DI上の2つの注目点の差分画像DI上の座標を、テレビジョンモニタ5に映像を表示する際に用いられる座標系であるスクリーン座標系の座標に変換する。以下、スクリーン座標系は、画面左上角を原点、ユーザから見て画面の右方向をx軸正方向、ユーザから見て画面の下方向をy軸正方向とするxy平面を想定して説明する。マルチメディアプロセッサ50は、上記の2つの注目点(再帰反射シート15L及び15Rに対応)のスクリーン座標系での座標(以下、カーソル座標という。)に、それぞれカーソル70L及び70Rを表示する。また、スクリーン座標系におけるカーソル座標、画像又は各種オブジェクトの位置や動きを説明する場合に、x軸正方向を単に右、x軸負方向を単に左、y軸正方向を単に下、y軸負方向を単に上として説明する場合がある。さらに、2つのカーソル座標のうち、画面中左にあるカーソル座標を左カーソル座標(再帰反射シート15Lに対応)、画面中右にあるカーソル座標を右カーソル座標(再帰反射シート15Rに対応)として分けて説明する場合がある。
次に、本実施の形態の情報処理システムにより実行される各種モードでの画面を例示して、マルチメディアプロセッサ50による処理内容を説明する。
[襖開きモード]
図5は、図1の情報処理システムによる襖開きモードでの画面の例示図である。襖とは、日本の部屋と部屋とを仕切る引き戸の一種で、引手に手を掛けて左右にスライドさせて開くものである。マルチメディアプロセッサ50は、テレビジョンモニタ5に、引手33L及び33Rをそれぞれ備えた襖35L及び35Rを含む画面を表示する。以下、引手33L及び33Rを包括して引手33と表現し、襖35L及び35Rを包括して襖35と表現する場合がある。
[襖開きモード]
図5は、図1の情報処理システムによる襖開きモードでの画面の例示図である。襖とは、日本の部屋と部屋とを仕切る引き戸の一種で、引手に手を掛けて左右にスライドさせて開くものである。マルチメディアプロセッサ50は、テレビジョンモニタ5に、引手33L及び33Rをそれぞれ備えた襖35L及び35Rを含む画面を表示する。以下、引手33L及び33Rを包括して引手33と表現し、襖35L及び35Rを包括して襖35と表現する場合がある。
この襖開きモードでは、ユーザは、入力装置3Lを、カーソル70が引手33L上に移動するように動かし、その後入力装置3Lをユーザから見て左に所定量以上動かすと、襖35Lを開くことができる。また、ユーザは、入力装置3Rを、カーソル70Rが引手33R上に移動するように動かし、その後入力装置3Rをユーザから見て右に一定量以上動かすと、襖35Rを開くことができる。ユーザは一定時間内に何枚の襖を開けるかに挑戦する。
図5(a)は襖35が両方閉じた状態を示す画面を説明する図である。マルチメディアプロセッサ50は、襖開きモードを開始すると、図5(a)の画面をまず表示する。マルチメディアプロセッサ50は、左カーソル座標に応じてカーソル70Lを、右カーソル座標に応じてカーソル70Rを表示する。マルチメディアプロセッサ50は、カーソル座標の動き、すなわちイメージセンサ54によって検知したユーザの手の動きに応じて、右開き入力、左開き入力、両開き入力を判別し、画面表示を変更していく。以下、右開き入力、左開き入力、及び両開き入力について説明する。
図5(b)は、右開き入力があった場合の画面を説明する図である。図5(b)を参照して、マルチメディアプロセッサ50は、カーソル70Rが引手33R上に移動すると、以降右開き入力又は両開き入力が入力されるまで、カーソル70Rを右カーソル座標の位置ではなく引手33Rの傍に固定表示する。この後、マルチメディアプロセッサ50は、右カーソル座標が所定量右に移動するのを検知すると、右開き入力があったと判断し、カーソル70R、引手33R及び襖35Rを右方向の画面外までスクロールし、背景画像36の右領域を表示する。このため、ユーザには襖35Rが開いていくように見える。
同様に、マルチメディアプロセッサ50は、カーソル70Lが引手33L上に移動すると、以降左開き入力又は両開き入力が入力されるまで、カーソル70Lを左カーソル座標の位置ではなく引手33Lの傍に固定表示する。このとき、マルチメディアプロセッサ50は、左カーソル座標が所定量左に移動するのを検知すると、左開き入力があったと判断し、カーソル70L、引手33L及び襖35Lを左方向の画面外に移動させ、背景画像36の左領域を表示する。このため、ユーザには襖35Lが開いていくように見える。なお、左開き入力がなされた場合の画面表示については、図5(b)を左右対称にしたものであるので、図示を省略する。また、右開き入力と、左開き入力とが実質的に同時に行われた場合、マルチメディアプロセッサ50は両開き入力があったと判断する。
図5(c)は両開き入力があった場合の画面を説明する図である。図5(c)のように、マルチメディアプロセッサ50は、両開き入力があると、カーソル70R、引手33R及び襖35Rを右に移動させ、同時にカーソル70L、引手33L及び襖35Lを左に移動させ、背景画像36を表示する。このため、ユーザには襖35R及び襖35Lが同時に開いていくように見える。
図5(d)は、襖35R及び35Lが両方開いた状態の画面を示す図である。図5(d)を参照して、襖35を両方とも開くと、マルチメディアプロセッサ50は、背景画像36だけが表示された画面を表示する。背景画像36には次の襖35が画面奥に描かれている。マルチメディアプロセッサ50は、襖を開いた回数をインクリメントし、次の襖35に近づいていくようにアニメーション表示を行い、再び、図(a)で示したのと同じ、襖35及び引手33を含む画面を表示し、再びカーソル座標に応じてカーソル70を表示する。以降マルチメディアプロセッサ50は、一定時間が経過するまで上述の処理を繰り返し、一定時間が経過すると、ユーザが一定時間内に何枚襖を開いたかを表示する結果表示画面(図示せず)を表示し、襖開きモードを終了する。
図5(b)は、右開き入力があった場合の画面を説明する図である。図5(b)を参照して、マルチメディアプロセッサ50は、カーソル70Rが引手33R上に移動すると、以降右開き入力又は両開き入力が入力されるまで、カーソル70Rを右カーソル座標の位置ではなく引手33Rの傍に固定表示する。この後、マルチメディアプロセッサ50は、右カーソル座標が所定量右に移動するのを検知すると、右開き入力があったと判断し、カーソル70R、引手33R及び襖35Rを右方向の画面外までスクロールし、背景画像36の右領域を表示する。このため、ユーザには襖35Rが開いていくように見える。
同様に、マルチメディアプロセッサ50は、カーソル70Lが引手33L上に移動すると、以降左開き入力又は両開き入力が入力されるまで、カーソル70Lを左カーソル座標の位置ではなく引手33Lの傍に固定表示する。このとき、マルチメディアプロセッサ50は、左カーソル座標が所定量左に移動するのを検知すると、左開き入力があったと判断し、カーソル70L、引手33L及び襖35Lを左方向の画面外に移動させ、背景画像36の左領域を表示する。このため、ユーザには襖35Lが開いていくように見える。なお、左開き入力がなされた場合の画面表示については、図5(b)を左右対称にしたものであるので、図示を省略する。また、右開き入力と、左開き入力とが実質的に同時に行われた場合、マルチメディアプロセッサ50は両開き入力があったと判断する。
図5(c)は両開き入力があった場合の画面を説明する図である。図5(c)のように、マルチメディアプロセッサ50は、両開き入力があると、カーソル70R、引手33R及び襖35Rを右に移動させ、同時にカーソル70L、引手33L及び襖35Lを左に移動させ、背景画像36を表示する。このため、ユーザには襖35R及び襖35Lが同時に開いていくように見える。
図5(d)は、襖35R及び35Lが両方開いた状態の画面を示す図である。図5(d)を参照して、襖35を両方とも開くと、マルチメディアプロセッサ50は、背景画像36だけが表示された画面を表示する。背景画像36には次の襖35が画面奥に描かれている。マルチメディアプロセッサ50は、襖を開いた回数をインクリメントし、次の襖35に近づいていくようにアニメーション表示を行い、再び、図(a)で示したのと同じ、襖35及び引手33を含む画面を表示し、再びカーソル座標に応じてカーソル70を表示する。以降マルチメディアプロセッサ50は、一定時間が経過するまで上述の処理を繰り返し、一定時間が経過すると、ユーザが一定時間内に何枚襖を開いたかを表示する結果表示画面(図示せず)を表示し、襖開きモードを終了する。
[梯子登りモード]
図6は、図1の情報処理システムによる梯子登りモードでの画面の例示図である。図6を参照して、マルチメディアプロセッサ50は、梯子37を含む画面をテレビジョンモニタ5に表示させる。梯子37は、縦棒と横棒39とからなる。
まずマルチメディアプロセッサ50は、横棒39の表示位置に、カーソル70R又は70Lの何れかが重なると、当該横棒39に重なったカーソル70の下方向への動きに合わせて、梯子37の画像も下方向にスクロールさせる。梯子37には、画面に表れていない部分も存在する。マルチメディアプロセッサ50は、梯子37の画像をループさせて表示するので、梯子37の画像がスクロールしても、画像37の画像の端部が表示されることは無く、常に横棒39が等間隔に並んだ状態で梯子37が画面下にスクロールしていく。マルチメディアプロセッサ50は、梯子37のスクロール量に応じて、高さパラメータを増加させ、高さ表示部40に表示する。なお、高さパラメータに応じて背景の画像を変えるようにしてもよい。
図6は、図1の情報処理システムによる梯子登りモードでの画面の例示図である。図6を参照して、マルチメディアプロセッサ50は、梯子37を含む画面をテレビジョンモニタ5に表示させる。梯子37は、縦棒と横棒39とからなる。
まずマルチメディアプロセッサ50は、横棒39の表示位置に、カーソル70R又は70Lの何れかが重なると、当該横棒39に重なったカーソル70の下方向への動きに合わせて、梯子37の画像も下方向にスクロールさせる。梯子37には、画面に表れていない部分も存在する。マルチメディアプロセッサ50は、梯子37の画像をループさせて表示するので、梯子37の画像がスクロールしても、画像37の画像の端部が表示されることは無く、常に横棒39が等間隔に並んだ状態で梯子37が画面下にスクロールしていく。マルチメディアプロセッサ50は、梯子37のスクロール量に応じて、高さパラメータを増加させ、高さ表示部40に表示する。なお、高さパラメータに応じて背景の画像を変えるようにしてもよい。
ユーザはカーソル70が重なった横棒39が、カーソル70に伴って画面下までスクロールしたら、ユーザは、実際に梯子を登るときに上の棒に手を伸ばす動作のようにカーソル70を画面上方向に動かし、カーソル70を上に表示された横棒39に重ね、再び横棒39に重なったカーソル70を画面下方向に移動させることで、次々に梯子37をスクロールさせ、高さパラメータを増やすことができる。梯子37が下方向にスクロールしていく様子は、ユーザから見ると梯子を登っているように見える。マルチメディアプロセッサ50は、一定時間上記の処理を実行し、一定時間経過後、高さパラメータと評価を表示するための結果表示画面(図示せず)を表示し、梯子登りモードを終了する。
[窓拭きモード]
図7は、図1の情報処理システムによる窓拭きモードでの画面の例示図である。図7を参照して、マルチメディアプロセッサ50は、窓44を含む画面を表示する。
マルチメディアプロセッサ50は、図7に示すように、窓44の内部に、窓の曇りを表現した曇り画像46を表示する。次に、曇り画像46の表示位置に、カーソル70が重なると、マルチメディアプロセッサ50は、重なった部分の曇り画像46を、風景画像48に変更する。このようにするとユーザからは、カーソル70を動かすことによって曇りが取れて、窓の向こうの風景が現れるように見える。
マルチメディアプロセッサ50は、曇り画像46が全て風景画像48に変更されたと判断すると、風景画像48が内部に表示された窓44の表示を止め、拭き終わった窓の数をインクリメントし、新たに曇り画像46が内部に表示された窓44を表示する。以上の処理をマルチメディアプロセッサ50は、一定時間繰り返す。一定時間が経過すると、マルチメディアプロセッサ50は、拭き終わった窓の数を表示する結果表示画面(図示せず)を表示し、窓拭きモードを終了する。
図7は、図1の情報処理システムによる窓拭きモードでの画面の例示図である。図7を参照して、マルチメディアプロセッサ50は、窓44を含む画面を表示する。
マルチメディアプロセッサ50は、図7に示すように、窓44の内部に、窓の曇りを表現した曇り画像46を表示する。次に、曇り画像46の表示位置に、カーソル70が重なると、マルチメディアプロセッサ50は、重なった部分の曇り画像46を、風景画像48に変更する。このようにするとユーザからは、カーソル70を動かすことによって曇りが取れて、窓の向こうの風景が現れるように見える。
マルチメディアプロセッサ50は、曇り画像46が全て風景画像48に変更されたと判断すると、風景画像48が内部に表示された窓44の表示を止め、拭き終わった窓の数をインクリメントし、新たに曇り画像46が内部に表示された窓44を表示する。以上の処理をマルチメディアプロセッサ50は、一定時間繰り返す。一定時間が経過すると、マルチメディアプロセッサ50は、拭き終わった窓の数を表示する結果表示画面(図示せず)を表示し、窓拭きモードを終了する。
次に、マルチメディアプロセッサ50が外部メモリ52に格納されたプログラムを実行することにより行う処理を、フローチャートを用いて説明する。
図8は、図4のマルチメディアプロセッサ50による全体の処理の流れの一例を示すフローチャートである。図8に示すように、ステップS1にて、マルチメディアプロセッサ50は、各種変数(フラグやカウンタを含む。)の初期化等、システムの初期設定を実行する。ステップS3にて、マルチメディアプロセッサ50は、外部メモリ52に格納されたアプリケーションプログラムに従った処理を実行する。ステップS5にて、マルチメディアプロセッサ50は、ビデオ同期信号による割り込みが発生するまで待機する。つまり、マルチメディアプロセッサ50は、ビデオ同期信号による割り込みが発生していない場合は、同じステップS5に戻り、ビデオ同期信号による割り込みが発生した場合は、ステップS7に進む。例えば、ビデオ同期信号による割り込みは、1/60秒ごとに発生する。この割り込みに同期して、ステップS7及びステップS9にて、マルチメディアプロセッサ50は、テレビジョンモニタ7に表示する画像を更新すると共に、音声の再生を行う。そして、マルチメディアプロセッサ50は、ステップS3に戻る。
ステップS3の処理を制御するアプリケーションプログラムは、複数のプログラムを含む。この複数のプログラムに、再帰反射シート15の撮影処理を実行するためのプログラム、差分画像DI上の注目点の抽出処理を実行するためのプログラム、検出された2つの注目点に左右を割り当てる左右決定処理を実行するためのプログラム、及び各種画面表示を生成するためのプログラム等が含まれる。以下、これらの処理をフローチャートを用いて説明する。
図8は、図4のマルチメディアプロセッサ50による全体の処理の流れの一例を示すフローチャートである。図8に示すように、ステップS1にて、マルチメディアプロセッサ50は、各種変数(フラグやカウンタを含む。)の初期化等、システムの初期設定を実行する。ステップS3にて、マルチメディアプロセッサ50は、外部メモリ52に格納されたアプリケーションプログラムに従った処理を実行する。ステップS5にて、マルチメディアプロセッサ50は、ビデオ同期信号による割り込みが発生するまで待機する。つまり、マルチメディアプロセッサ50は、ビデオ同期信号による割り込みが発生していない場合は、同じステップS5に戻り、ビデオ同期信号による割り込みが発生した場合は、ステップS7に進む。例えば、ビデオ同期信号による割り込みは、1/60秒ごとに発生する。この割り込みに同期して、ステップS7及びステップS9にて、マルチメディアプロセッサ50は、テレビジョンモニタ7に表示する画像を更新すると共に、音声の再生を行う。そして、マルチメディアプロセッサ50は、ステップS3に戻る。
ステップS3の処理を制御するアプリケーションプログラムは、複数のプログラムを含む。この複数のプログラムに、再帰反射シート15の撮影処理を実行するためのプログラム、差分画像DI上の注目点の抽出処理を実行するためのプログラム、検出された2つの注目点に左右を割り当てる左右決定処理を実行するためのプログラム、及び各種画面表示を生成するためのプログラム等が含まれる。以下、これらの処理をフローチャートを用いて説明する。
図9は、図8のステップS3のアプリケーションプログラムが実行する処理の1つである撮影処理の流れを示すフローチャートである。図9に示すように、ステップS21において、マルチメディアプロセッサ50は、赤外発光ダイオード9を点灯する。ステップS23で、マルチメディアプロセッサ50は、イメージセンサ54から、赤外光点灯時の画像データを取得して、メインRAMに格納する。
ここで、本実施の形態では、イメージセンサ54の例として、32ピクセル×32ピクセルのCMOSイメージセンサを使用する。従って、イメージセンサ54からは、画像データとして、32ピクセル×32ピクセルのピクセルデータが出力される。このピクセルデータは、A/Dコンバータにより、デジタルデータに変換されて、メインRAM上の二次元配列P1[X][Y]の要素として格納される。
ステップS25で、マルチメディアプロセッサ50は、赤外発光ダイオード9を消灯する。ステップS27にて、マルチメディアプロセッサ50は、イメージセンサ54から、赤外光消灯時の画像データ(32ピクセル×32ピクセルのピクセルデータ)を取得して、メインRAMに格納する。この場合、このピクセルデータは、メインRAM上の二次元配列P2[X][Y]の要素として格納される。
以上のようにして、ストロボ撮影が行われる。ここで、イメージセンサ54による画像を構成する各ピクセルの位置を表す二次元座標系では、水平方向をX軸、垂直方向をY軸とし、原点Oを画像の左上角とする。本実施の形態では、32ピクセル×32ピクセルのイメージセンサ54を用いているため、X=0〜31、Y=0〜31である。この点、差分画像DIについても同じである。また、ピクセルデータは輝度値である。
ここで、本実施の形態では、イメージセンサ54の例として、32ピクセル×32ピクセルのCMOSイメージセンサを使用する。従って、イメージセンサ54からは、画像データとして、32ピクセル×32ピクセルのピクセルデータが出力される。このピクセルデータは、A/Dコンバータにより、デジタルデータに変換されて、メインRAM上の二次元配列P1[X][Y]の要素として格納される。
ステップS25で、マルチメディアプロセッサ50は、赤外発光ダイオード9を消灯する。ステップS27にて、マルチメディアプロセッサ50は、イメージセンサ54から、赤外光消灯時の画像データ(32ピクセル×32ピクセルのピクセルデータ)を取得して、メインRAMに格納する。この場合、このピクセルデータは、メインRAM上の二次元配列P2[X][Y]の要素として格納される。
以上のようにして、ストロボ撮影が行われる。ここで、イメージセンサ54による画像を構成する各ピクセルの位置を表す二次元座標系では、水平方向をX軸、垂直方向をY軸とし、原点Oを画像の左上角とする。本実施の形態では、32ピクセル×32ピクセルのイメージセンサ54を用いているため、X=0〜31、Y=0〜31である。この点、差分画像DIについても同じである。また、ピクセルデータは輝度値である。
マルチメディアプロセッサ50は、図10の撮影処理で得られた赤外光点灯時の画像と赤外光消灯時の画像とから、差分画像DIを算出して、差分画像DIに映り込んだ再帰反射シート15L及び15Rのそれぞれの注目点を抽出する。詳細は次の通りである。
図10は、図8のステップS3のアプリケーションプログラムが実行する処理の1つであるシート検出処理を示すフローチャートである。図10を参照して、ステップS41にて、マルチメディアプロセッサ50は、赤外光点灯時のピクセルデータP1[X][Y]と、赤外光消灯時のピクセルデータP2[X][Y]と、の差分を算出して、配列Dif[X][Y]に代入する。ステップS43にて、マルチメディアプロセッサ50は、32×32ピクセル分の差分を算出した場合は、ステップS45に進み、そうでなければ、ステップS41に戻る。このように、マルチメディアプロセッサ50は、ステップS41の処理を繰り返して、赤外光発光時の画像データと、赤外光消灯時の画像データと、の差分画像データを生成する。このように、差分画像データ(差分画像DI)を求めることで、入力装置3L及び3Rの再帰反射シート15L及び15Rからの反射光以外の光によるノイズを極力除去でき、左右の再帰反射シート15L及び15Rを精度良く検出できる。なお、この場合、差分データと固定閾値又は可変閾値とを比較して、閾値を超えた差分データだけを有効なデータとして扱い、以降の処理を行うこともできる。この場合、例えば、閾値以下の差分データを「0」とする。
ステップS45〜S49を説明する前に、再帰反射シート15L及び15Rの像からそれぞれの注目点、つまり、左注目点及び右注目点を検出する方法について具体例を挙げて説明する。
図10は、図8のステップS3のアプリケーションプログラムが実行する処理の1つであるシート検出処理を示すフローチャートである。図10を参照して、ステップS41にて、マルチメディアプロセッサ50は、赤外光点灯時のピクセルデータP1[X][Y]と、赤外光消灯時のピクセルデータP2[X][Y]と、の差分を算出して、配列Dif[X][Y]に代入する。ステップS43にて、マルチメディアプロセッサ50は、32×32ピクセル分の差分を算出した場合は、ステップS45に進み、そうでなければ、ステップS41に戻る。このように、マルチメディアプロセッサ50は、ステップS41の処理を繰り返して、赤外光発光時の画像データと、赤外光消灯時の画像データと、の差分画像データを生成する。このように、差分画像データ(差分画像DI)を求めることで、入力装置3L及び3Rの再帰反射シート15L及び15Rからの反射光以外の光によるノイズを極力除去でき、左右の再帰反射シート15L及び15Rを精度良く検出できる。なお、この場合、差分データと固定閾値又は可変閾値とを比較して、閾値を超えた差分データだけを有効なデータとして扱い、以降の処理を行うこともできる。この場合、例えば、閾値以下の差分データを「0」とする。
ステップS45〜S49を説明する前に、再帰反射シート15L及び15Rの像からそれぞれの注目点、つまり、左注目点及び右注目点を検出する方法について具体例を挙げて説明する。
図11は、差分画像DIから再帰反射シート15L及び15Rの像から、それぞれの注目点を検出する方法の説明図である。図11には、赤外光点灯時及び消灯時の画像データから生成した差分画像データに対応する差分画像DI(32×32ピクセル)が図示されている。図中、小さい正方形は1ピクセルを示す。また、左上角をXY座標軸の原点Oとする。この画像には、輝度値が大きい2つの領域251及び253が含まれる。領域251及び253は、再帰反射シート15L及び15Rである。ただし、この時点では、どの領域がどちらの再帰反射シート15に対応するかは判別できない。
まず、マルチメディアプロセッサ50は、Y=0を出発点として、X=0からX=31まで、差分画像データをスキャンし、次に、Yをインクリメントし、X=0からX=31まで、差分画像データをスキャンする。このような処理をY=31まで行い、32×32ピクセルの差分画像データをスキャンして、閾値ThLより大きいピクセルデータの上端位置minY、下端位置maxY、左端位置minX、及び右端位置maxXを求める。
次に、マルチメディアプロセッサ50は、座標(minX,minY)を出発点として、X軸の正方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離LTを算出する。また、マルチメディアプロセッサ50は、座標(maxX,minY)を出発点として、X軸の負方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離RTを算出する。さらに、マルチメディアプロセッサ50は、座標(minX,maxY)を出発点として、X軸の正方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離LBを算出する。さらに、マルチメディアプロセッサ50は、座標(maxX,maxY)を出発点として、X軸の負方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離RBを算出する。
マルチメディアプロセッサ50は、距離LT>RTのときは、座標(maxX,minY)を再帰反射シート15Rの注目点、つまり右注目点とし、距離LT≦RTのときは、座標(minX,minY)を再帰反射シート15Lの注目点、つまり左注目点とする。また、マルチメディアプロセッサ50は、距離LB>RBのときは、座標(maxX,maxY)を再帰反射シート15Rの注目点、つまり右注目点とし、距離LB≦RBのときは、座標(minX,maxY)を再帰反射シート15Lの注目点、つまり左注目点とする。
次に、マルチメディアプロセッサ50は、座標(minX,minY)を出発点として、X軸の正方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離LTを算出する。また、マルチメディアプロセッサ50は、座標(maxX,minY)を出発点として、X軸の負方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離RTを算出する。さらに、マルチメディアプロセッサ50は、座標(minX,maxY)を出発点として、X軸の正方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離LBを算出する。さらに、マルチメディアプロセッサ50は、座標(maxX,maxY)を出発点として、X軸の負方向にスキャンを実行して、最初に閾値ThLを超えるピクセルまでの距離RBを算出する。
マルチメディアプロセッサ50は、距離LT>RTのときは、座標(maxX,minY)を再帰反射シート15Rの注目点、つまり右注目点とし、距離LT≦RTのときは、座標(minX,minY)を再帰反射シート15Lの注目点、つまり左注目点とする。また、マルチメディアプロセッサ50は、距離LB>RBのときは、座標(maxX,maxY)を再帰反射シート15Rの注目点、つまり右注目点とし、距離LB≦RBのときは、座標(minX,maxY)を再帰反射シート15Lの注目点、つまり左注目点とする。
図10に戻って、ステップS45にて、マルチメディアプロセッサ50は、図11で説明した左右上下端(minX、maxX、minY、maxY)の検出処理を実行する。ステップS47にて、マルチメディアプロセッサ50は、図11で説明した左注目点及び右注目点の決定処理を実行する。ステップS49にて、マルチメディアプロセッサ50は、左注目点及び右注目点のXY座標をスクリーン座標系に変換し、カーソル座標を取得する。
図12は、図4のマルチメディアプロセッサ50が実行する情報処理の流れを示す遷移図である。図12を参照して、マルチメディアプロセッサ50は、図5〜7で説明した各種モードを選択するための選択画面(図示せず)を、テレビジョンモニタ5に表示する。本実施の形態では、前述の通り3つのモードが設けられる。
ステップS51で、マルチメディアプロセッサ50は、選択画面において、ユーザがカーソル70を操作して3つのモードのうち、何れかを選択するための画面である選択画面(図示せず)を表示する。マルチメディアプロセッサ50は、ステップS51で襖開きモードが選ばれた場合、ステップS53に進み、襖開きモードのための処理を実行し、ステップS51に戻る。また、マルチメディアプロセッサ50は、ステップS51で梯子登りモードが選ばれた場合、ステップS55に進み、梯子登りモードのための処理を実行し、ステップS51に戻る。また、マルチメディアプロセッサ50は、ステップS51で窓拭きモードが選ばれた場合、ステップS57に進み、窓拭きモードのための処理を実行し、ステップS51に戻る。
以下、襖開きモード、窓拭きモード及び梯子登りモード実行時に、マルチメディアプロセッサ50が行う処理をフローチャートを用いて説明する。なお、これらの処理もまた、図8のステップS3の処理として行われるが、説明の便宜のため、ビデオ同期信号に同期した形でのフローチャートではなく、図12の遷移図に含まれる形のフローチャートで説明する。
ステップS51で、マルチメディアプロセッサ50は、選択画面において、ユーザがカーソル70を操作して3つのモードのうち、何れかを選択するための画面である選択画面(図示せず)を表示する。マルチメディアプロセッサ50は、ステップS51で襖開きモードが選ばれた場合、ステップS53に進み、襖開きモードのための処理を実行し、ステップS51に戻る。また、マルチメディアプロセッサ50は、ステップS51で梯子登りモードが選ばれた場合、ステップS55に進み、梯子登りモードのための処理を実行し、ステップS51に戻る。また、マルチメディアプロセッサ50は、ステップS51で窓拭きモードが選ばれた場合、ステップS57に進み、窓拭きモードのための処理を実行し、ステップS51に戻る。
以下、襖開きモード、窓拭きモード及び梯子登りモード実行時に、マルチメディアプロセッサ50が行う処理をフローチャートを用いて説明する。なお、これらの処理もまた、図8のステップS3の処理として行われるが、説明の便宜のため、ビデオ同期信号に同期した形でのフローチャートではなく、図12の遷移図に含まれる形のフローチャートで説明する。
図13は、図12のステップS53の襖開きモードでマルチメディアプロセッサ50が行う処理の流れを説明するフローチャートである。図13を参照して、ステップS61でマルチメディアプロセッサ50は、襖開きモードのための画面を表示し、各種変数(フラグ及びソフトウェアカウンタを含む。)を初期化などの初期設定をおこなう。
ステップS63に進み、マルチメディアプロセッサ50は、計時を開始する。ステップS65に進み、図10のステップS49で取得したカーソル座標をチェックし、ステップS67の左入力判定前処理に進む。この左入力判定前処理は、カーソル70Lをどの位置に表示するかを判定するための処理である。マルチメディアプロセッサ50は、カーソル70Lが引手33Lに重なるまでは、カーソル座標に応じてにカーソル70Lを表示し、カーソル70Lが引手33Lに重なると、カーソル70Lを引手33Lの傍に固定し、以降左開き入力の有無の判定のために、カーソル座標のx座標の値を変数xLとして格納し、カーソル座標のx座標に変化がある都度更新する。図14のフローチャートを用いて、左入力判定前処理を説明する。
ステップS63に進み、マルチメディアプロセッサ50は、計時を開始する。ステップS65に進み、図10のステップS49で取得したカーソル座標をチェックし、ステップS67の左入力判定前処理に進む。この左入力判定前処理は、カーソル70Lをどの位置に表示するかを判定するための処理である。マルチメディアプロセッサ50は、カーソル70Lが引手33Lに重なるまでは、カーソル座標に応じてにカーソル70Lを表示し、カーソル70Lが引手33Lに重なると、カーソル70Lを引手33Lの傍に固定し、以降左開き入力の有無の判定のために、カーソル座標のx座標の値を変数xLとして格納し、カーソル座標のx座標に変化がある都度更新する。図14のフローチャートを用いて、左入力判定前処理を説明する。
図14は、図13のステップS67の左入力判定前処理で、マルチメディアプロセッサ50が実行する処理を説明するフローチャートである。図14を参照して、ステップS81で、マルチメディアプロセッサ50は、左開きフラグがオンかオフかを判断し、オフならステップS83へ、オンならばリターンする。左開きフラグは、図15で後述するが、スクリーン上で襖35Lがスクロールした後で、代わりに背景画像36の左領域が表示されている状態の時にオンになるフラグである。マルチメディアプロセッサ50は、図5(a)で示した状態から左開き入力があった場合に、右開き入力が入力されるまで、この左開きフラグをオンにする。同様に、マルチメディアプロセッサ50は、襖35Rのみが開いた状態の場合、左開き入力が入力されるまで、右開きフラグがオンにする。左開きフラグがオンの間は、カーソル70Lは画面に表示されないため、マルチメディアプロセッサ50は、カーソル70を表示するための設定を特に行わずリターンする。
ステップS83で、マルチメディアプロセッサ50は、左フラグがオンか否かをチェックし、オンならばステップS93へ、オフならばステップS85へ進む。ステップS85でマルチメディアプロセッサ50は、カーソル70Lが引手33L上に来たか否かをチェックし、来た場合はステップS87に進んで左フラグをオンにした後、カーソル70Lを引手33Lの傍に表示するように設定し、リターンする。ステップS85で、カーソル70Lが引手33L上に来ていない場合、マルチメディアプロセッサ50は、左カーソル座標にカーソル70Lを表示する設定を行い、リターンする。
ステップS83で、左フラグがすでにオンである場合、マルチメディアプロセッサ50は、ステップS93でカーソル70Lを引手33Lの傍に表示するように設定し、ステップS95で、左カーソル座標のx座標の値を変数xLに格納してリターンする。
ステップS83で、左フラグがすでにオンである場合、マルチメディアプロセッサ50は、ステップS93でカーソル70Lを引手33Lの傍に表示するように設定し、ステップS95で、左カーソル座標のx座標の値を変数xLに格納してリターンする。
図13のフローに戻って、マルチメディアプロセッサ50は、ステップS69の右入力判定前処理に進む。ステップS69の右入力判定前処理では、カーソル70Rをスクリーン上のどこに表示するかについての判定処理が行われる。ステップS69の処理はステップS67の処理の左右を入れ替えた以外は、実質的に同一の処理が行われるため、図14の説明を援用し、説明を省略する。ただし適宜、左開きフラグを右開きフラグに、左カーソル座標を右カーソル座標に、カーソル70Lをカーソル70Rに、引手33Lを引手33Rに、変数xLを変数xRに、左フラグを右フラグに、読み替えるものとする。なお、変数xLは、左フラグがオンになった以降の左カーソル座標のx座標の値が格納されるのと同様、変数xRは、右フラグがオンになった以降の右カーソル座標のx座標の値が格納される。
図13のフローのステップS71に進んで、マルチメディアプロセッサ50は、左入力判定処理を行う。この処理は、前述の左開き入力又は両開き入力が行われたか否かを判定し、入力に応じた表示を行う処理である。左入力判定処理について、図15のフローチャートを利用して説明する。
図15は、図13のステップS71の左入力判定処理のフローチャートである。ステップS101で、マルチメディアプロセッサ50は、左フラグがオンか否かをチェックし、オンならばステップS103へ進み、オフならば左開き入力又は両開き入力はまだ行われないのでリターンする。ステップS103で、マルチメディアプロセッサ50は、右開きフラグがオンかオフか、すなわち襖35Rが既に開いているか否かをチェックし、YesならばステップS117へ、NoならばステップS105へすすむ。
図15は、図13のステップS71の左入力判定処理のフローチャートである。ステップS101で、マルチメディアプロセッサ50は、左フラグがオンか否かをチェックし、オンならばステップS103へ進み、オフならば左開き入力又は両開き入力はまだ行われないのでリターンする。ステップS103で、マルチメディアプロセッサ50は、右開きフラグがオンかオフか、すなわち襖35Rが既に開いているか否かをチェックし、YesならばステップS117へ、NoならばステップS105へすすむ。
ステップS105でマルチメディアプロセッサ50は、変数xLをチェックし、閾値x1と比較し、xL<x1であればステップS107に進み、xL>x1であれば何もせずにリターンする。左フラグがオンになって以降の左注目点のx座標である変数xLが閾値x1より小さくなったということは、スクリーン座標系で、左カーソル座標が一度引手33L上に移動した後、x座標がx1のラインよりも左側の領域まで移動したことを意味する。さらに、マルチメディアプロセッサ50は、ステップS107で変数xRが閾値x3より大きいか否かを判別し、大きければステップS109に進み、小さければステップS113に進む。右フラグがオンになって以降の右注目点のx座標である変数xRが閾値x3より大きくなるということは、xy座標上で、右注目点が一度引手33R上に移動した後、x座標がx3のラインよりも右側の領域まで移動したことを意味する。ここで閾値x1及びx3並びに後述の閾値x2及びx4とその位置関係について、図16を用いて説明する。
図16は、閾値x1〜x4について説明する図である。図16では、襖開きモードの図5(a)で示した状態の画面のスクリーン座標(xy座標)を用いて、閾値x1からx4について説明する。図16を参照して、閾値x1<閾値x2<引手33Lの表示位置のx座標<引手33Rの表示位置のx座標<閾値x3<閾値x4となっている。また、引手33Lからx座標がx1のラインまでの距離と、引手33Rからx座標がx4のラインまでの距離は等しく、引手33Lからx座標がx2のラインまでの距離と引手33Rからx座標がx3のラインまでの距離は等しい。なお、ステップS107で、変数xRを閾値x4ではなく、閾値x3と比較するのは、ユーザが同時に、同量手を動かしているつもりでも、マルチメディアプロセッサ50には、動き始めの時点も、動きの量も異なって検出される場合が多いので、このように左右で、後から移動を始めたと考えられる側の手の移動量の閾値を少なく設定することで、マルチメディアプロセッサ50は、ユーザの意図どおり両開き入力を判別している。
図15に戻って、ステップS109で、マルチメディアプロセッサ50は、両開き入力があったと判断し、襖35L及び35Rが同時に開くアニメーションを表示する。すなわち、カーソル70、引手33及び襖35が左右画面外に移動し、背景画像36が表示される(図5(c)参照。)。ステップS110で左フラグをオフにして変数xLをリセットし、ステップS111で右フラグをオフにして変数xRをリセットし、ステップS112で次の襖35を表示する、つまり、背景画像36に書かれた襖の部分を拡大していき、再び引手33及び襖35を含む画面(図5(a)参照。)を表示する。
ステップS107からステップS113に進んだ場合、マルチメディアプロセッサ50は、左開き入力のみがあったと判定し、襖35Lのみが開くアニメーションを表示し、背景画像36の左領域を表示する。ステップS115に進んで、マルチメディアプロセッサ50は、左フラグをオフにして変数xLをリセットし、ステップS116で左開きフラグをオンにし、リターンする。この状態は、襖35Lだけが開き、襖35Rはいまだ表示されている状態である。
ステップS103からステップS117に進んだ場合、マルチメディアプロセッサ50は、変数xLが閾値x2より小さいか否かを判定し、大きい場合はリターンし、小さい場合はステップS118に進む。前述の通りx1<x2であるため、マルチメディアプロセッサ50は、既に襖35Rが開いている場合、襖35Rが開いていない場合に比べて、ユーザの手の左方向への動きが比較的小さい段階で、左開き入力があったと判断し、襖35Lが開く。ステップS118でマルチメディアプロセッサ50は、襖35Lが開くアニメーションを表示し、背景画像36の左領域を表示する。この状態は、図5(d)に示したような、襖35が両方開き、背景画像36だけが表示された状態である。ステップS119に進んでマルチメディアプロセッサ50は左フラグをオフにして変数xLをリセットし、ステップS120に進んで右開きフラグをオフにし、前述のステップS112の処理の後、リターンする。
図13に戻って、マルチメディアプロセッサ50は、ステップS73の右入力判定処理を行う。この処理は、右開き入力又は両開き入力が行われたか否かを判定する処理である。ステップS71の左入力判定処理と、左右が入れ替わる以外は、実質的に同様の処理であるので、図15で行った説明を援用し、説明を省略する。ただし、右と左とを読み替え、xL<x1をxR>x4に、xR>x3をxL<x2に、xL<x2をxR>x3に、読み替えるものとする。
ステップS75に進み、マルチメディアプロセッサ50は、ステップS63の計時開始から、一定時間が経過したか否かをチェックし、まだ一定時間が経過していなかった場合は、ステップS65に戻る。つまりマルチメディアプロセッサ50は、一定時間が経過するまでステップS65、S67、S69、S71、S73及びS75の処理を繰り返す。ステップS75で、一定時間が経過していた場合はステップS77に進み、襖を開いた枚数を表示するための結果表示画面(図示せず)を表示し、図12の遷移図にリターンする。
図17は、図12の遷移図のステップS55の梯子登りモードの処理を説明するフローチャートである。図17を参照して、ステップS131で、マルチメディアプロセッサ50は、このモードのための画面を表示し、各種変数(フラグ及びソフトウェアカウンタを含む。)を初期化などの初期設定をおこない、ステップS133で計時を開始する。
マルチメディアプロセッサ50は、ステップS135からステップS143までの処理を、カーソル70L及びカーソル70Rについてそれぞれ行う。ステップS135に進み、カーソル座標に応じてカーソル70を移動させる。マルチメディアプロセッサ50は、ステップS137で、カーソル70が横棒39と重なっているか否かをチェックし、重なっている場合、ステップS139に進み、横棒39と重なっているカーソル70が下方向へ移動したか否かを判断し、YesならばステップS140で、梯子37の画像を下方向に移動させてから、ステップS141で下方向に移動した量に比例して高さパラメータを増加させて高さ表示部40の表示を更新し、ステップS143に進む。ステップS137で、カーソル70と横棒39が重なっていないと判断した場合及びステップS139でカーソル70が下方向へ移動していないと判断した場合は、直接ステップS143に進む。
マルチメディアプロセッサ50は、ステップS135からステップS143までの処理を、カーソル70L及びカーソル70Rについてそれぞれ行う。ステップS135に進み、カーソル座標に応じてカーソル70を移動させる。マルチメディアプロセッサ50は、ステップS137で、カーソル70が横棒39と重なっているか否かをチェックし、重なっている場合、ステップS139に進み、横棒39と重なっているカーソル70が下方向へ移動したか否かを判断し、YesならばステップS140で、梯子37の画像を下方向に移動させてから、ステップS141で下方向に移動した量に比例して高さパラメータを増加させて高さ表示部40の表示を更新し、ステップS143に進む。ステップS137で、カーソル70と横棒39が重なっていないと判断した場合及びステップS139でカーソル70が下方向へ移動していないと判断した場合は、直接ステップS143に進む。
ステップS143で、マルチメディアプロセッサ50は、カーソル70L及びカーソル70Rの両方について、ステップS135からステップS141の処理を行ったか否かを判定し、いずれか一方のカーソル70ついてまだ処理が行われていない場合は、ステップS135に戻り、ステップS135からステップS143までの処理を実行する。
ステップS143で、カーソル70R及び70Lについてここまでの処理が終了したら、ステップS145に進み、マルチメディアプロセッサ50は、ステップS133の計時開始から一定時間が経過したか否かを判断し、経過している場合はステップS147へ進み、経過していない場合はステップS135へ戻る。ステップS147で、マルチメディアプロセッサ50は、高さパラメータとその評価を表示するための結果表示画面(図示せず)を表示し、図12の遷移図にリターンする。
ステップS143で、カーソル70R及び70Lについてここまでの処理が終了したら、ステップS145に進み、マルチメディアプロセッサ50は、ステップS133の計時開始から一定時間が経過したか否かを判断し、経過している場合はステップS147へ進み、経過していない場合はステップS135へ戻る。ステップS147で、マルチメディアプロセッサ50は、高さパラメータとその評価を表示するための結果表示画面(図示せず)を表示し、図12の遷移図にリターンする。
図18は、図12の遷移図のステップS57の窓拭きモードの処理を説明するフローチャートである。
図18を参照して、マルチメディアプロセッサ50は、ステップS151で、このモードのための画面を表示し、各種変数(フラグ及びソフトウェアカウンタを含む。)を初期化などの初期設定をおこない、ステップS153で計時を開始する。
マルチメディアプロセッサ50は、ステップS155で、カーソル座標に応じてカーソル70を移動させ、ステップS157で、曇り画像46と、カーソル70とが、重なっているか否かを判定する。重なっていた場合、ステップS159に進み、マルチメディアプロセッサ50は、カーソル70と重なった部分の曇り画像46を、風景画像48に変更し、ステップS161に進む。マルチメディアプロセッサ50は、ステップS159で、重なっていないと判断した場合、ステップS161に進む。
図18を参照して、マルチメディアプロセッサ50は、ステップS151で、このモードのための画面を表示し、各種変数(フラグ及びソフトウェアカウンタを含む。)を初期化などの初期設定をおこない、ステップS153で計時を開始する。
マルチメディアプロセッサ50は、ステップS155で、カーソル座標に応じてカーソル70を移動させ、ステップS157で、曇り画像46と、カーソル70とが、重なっているか否かを判定する。重なっていた場合、ステップS159に進み、マルチメディアプロセッサ50は、カーソル70と重なった部分の曇り画像46を、風景画像48に変更し、ステップS161に進む。マルチメディアプロセッサ50は、ステップS159で、重なっていないと判断した場合、ステップS161に進む。
ステップS161で、マルチメディアプロセッサ50は、画面上の曇り画像46が全て風景画像48に変更されたか否かを判断し、変更されていた場合、ステップS163に進み、風景画像48が内部に表示された窓44を消して、曇り画像46が内部に表示された窓44を新たに表示し、ステップS165で、拭き終わった窓の数をインクリメントし、ステップS167へ進む。ステップS161で、マルチメディアプロセッサ50は、曇り画像46が、まだ全て変更されていないと判断した場合、ステップS167へ進む。
ステップS167で、マルチメディアプロセッサ50は、ステップS153の計時開始から一定時間が経過したか否かを判断し、経過した場合はステップS169へ進み、経過していなかった場合は、ステップS155へ戻る。ステップS169で、マルチメディアプロセッサ50は、拭き終わった窓44の数を表示するための結果表示画面(図示せず)を表示し、図12の遷移図にリターンする。
さて、以上のように本実施の形態の構成によれば、カーソル70を動かす手順が、実在の物体に対して行われる操作、すなわち襖を開くような操作、梯子を登るような操作、窓を拭くような操作と同じ手順であるため、特に指示しなくてもユーザは直感的にカーソル70を動かすための動作の手順がわかる。結果、ユーザに特定の動作、すなわち手を左右に開くような動作や、手を上下に動かす動作、所定の位置に手をかざし前後左右に動かす動作を行わせることができる。
さらに、手順どおりに動作を行い、カーソル70を移動させると、オブジェクトの表示に実在の物体に対する実際の操作が行われたような反応、すなわち襖が開く、梯子に上れる、窓の曇りが取れるといった反応があるため、ユーザは自分のカーソル70を動かす手順が正しいか否か、すなわち自分の動作が正しいか否かを映像によって自分でもチェックすることができる。
さらに、実在の物体を操作することによる作業療法やトレーニングを、例えば襖を開、梯子を上る、窓を拭くといった行為を、オブジェクトに対するカーソル70の移動のための動作を行うという形で、擬似的な作業療法やイメージトレーニングとして実施することができる。ユーザはカーソルを動かすために特定の動作を行うだけなので、実際の作業療法やトレーニングに比べて負荷が小さく、安静が必要な場合や機材がない場合など、何らかの理由で実際の作業療法やトレーニング等を行うことがまだ難しい段階のユーザのためのリハビリテーションやイメージトレーニングとしても利用しやすい。また、特定の動作を行った場合、実在の物体に対する実際の操作が行われたようにオブジェクトの表示が変化するため、ユーザに対して特定の動作を行うことによる刺激だけでなく、同時に映像によって視覚的な刺激を与えることができ、ユーザに実際の作業療法やトレーニングを行っているようなイメージを与えることができる。脳科学の分野では、動作による刺激だけでなく、動作のイメージを強く持つことによる刺激によっても、脳の機能の一部が失われたり低下したりした場合に健在な脳の他の部分が失われた部分の機能を補おうとする脳の代替機能(脳の可塑性ともいう。)が発揮されて、機能が回復していく場合があるとされているので、この特定の動作による擬似的な作業療法やイメージトレーニングにも、リハビリテーションとしての効果は期待できる。
さらに、手順どおりに動作を行い、カーソル70を移動させると、オブジェクトの表示に実在の物体に対する実際の操作が行われたような反応、すなわち襖が開く、梯子に上れる、窓の曇りが取れるといった反応があるため、ユーザは自分のカーソル70を動かす手順が正しいか否か、すなわち自分の動作が正しいか否かを映像によって自分でもチェックすることができる。
さらに、実在の物体を操作することによる作業療法やトレーニングを、例えば襖を開、梯子を上る、窓を拭くといった行為を、オブジェクトに対するカーソル70の移動のための動作を行うという形で、擬似的な作業療法やイメージトレーニングとして実施することができる。ユーザはカーソルを動かすために特定の動作を行うだけなので、実際の作業療法やトレーニングに比べて負荷が小さく、安静が必要な場合や機材がない場合など、何らかの理由で実際の作業療法やトレーニング等を行うことがまだ難しい段階のユーザのためのリハビリテーションやイメージトレーニングとしても利用しやすい。また、特定の動作を行った場合、実在の物体に対する実際の操作が行われたようにオブジェクトの表示が変化するため、ユーザに対して特定の動作を行うことによる刺激だけでなく、同時に映像によって視覚的な刺激を与えることができ、ユーザに実際の作業療法やトレーニングを行っているようなイメージを与えることができる。脳科学の分野では、動作による刺激だけでなく、動作のイメージを強く持つことによる刺激によっても、脳の機能の一部が失われたり低下したりした場合に健在な脳の他の部分が失われた部分の機能を補おうとする脳の代替機能(脳の可塑性ともいう。)が発揮されて、機能が回復していく場合があるとされているので、この特定の動作による擬似的な作業療法やイメージトレーニングにも、リハビリテーションとしての効果は期待できる。
襖開きモードのような構成では、引手33及び襖35が画面外までスクロールすると、スクロール前の位置に新たに引手33及び襖35が出現するので、ユーザに対して、引手33の位置にカーソルを戻すために両手を閉じる動作と、左右方向にカーソル70を移動させるために両手を開く動作とを反復させることができる。
梯子登りモードのような構成では、梯子37をスクロールすることによって所定間隔で並んだ横棒39が画面の上側から次々に現れるので、ユーザに対して、横棒39の位置にカーソルを移動させるために腕を上げる動作と、その後カーソルを下方向に動かし梯子37をスクロールするための腕を下ろす動作とを反復させることができる。また、横棒39は所定間隔で並んでいるので、反復されるユーザの腕の上げたり下ろしたりする動作の幅がほぼ一定になる。
窓拭きモードのような構成では、曇り画像46が背景画像48に置き換わるように、所定の位置で手をかざし、前後左右に動かすような動作をユーザに促すことができる。
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。例えば下記のような変更も可能である。
(1)透明体17の透明には、半透明や有色透明が含まれる。
(2)再帰反射シート15を、透明体17の表面に取り付けることもできる。この場合は、透明体17は、透明である必要はない。
(3)上記では、入力装置3に、中指を通す例を挙げたが、挿入する指及びその数はこれに限定されない。
(4)入力装置の形状は、上記した入力装置3の形状に限定されない。
(5)入力装置3に、再帰反射シート15のような反射部材を取り付ける代わりに、赤外発光ダイオードのような自発光装置を取り付けることもできる。この場合は、情報処理装置1には、赤外発光ダイオード9は不要である。また、入力装置を使用せずに、イメージセンサやCCDなどの撮像装置により、被験者を撮影し、画像解析して、動きを検出することもできる。
また、入力装置にイメージセンサ等の撮像素子を搭載し、テレビジョンモニタ5等の表示装置(例えば、スクリーンの若干外側)に再帰反射シート(1個、2個、あるいはそれ以上)のような反射部材を取り付けることもできる。この場合、撮像素子に撮影された反射部材の像から、入力装置がスクリーン上のどの位置を指しているかを求め、指された位置にカーソルを表示することにより、カーソルを操作することもできる。なお、入力装置が指し示すスクリーン上の位置は、入力装置にMCU等のコンピュータを搭載して求めることもできるし、撮影画像を情報処理装置1に送信して、情報処理装置1で求めることもできる。この場合、入力装置にストロボ撮影のための赤外発光ダイオードを搭載する。なお、表示装置に反射部材を取り付ける代わりに、赤外発光ダイオードのような自発光装置を表示装置に取り付けることもできる(例えば、一定間隔で2個の赤外発光ダイオードを表示装置の上面に載置)。この場合は、入力装置には、ストロボ撮影のための赤外発光ダイオードは不要である。
(6)上記の実施の形態では、ユーザの空間での動きを検出する手段として、ユーザに入力装置3を装着させ、入力装置3の再帰反射シート15をストロボ撮影した像の動きを解析することによって、カーソルの移動量を決定していたが、ユーザの空間での動きを検出する手段は、別にこのような撮像結果を解析する方法に限定されない。例えば、ハウジング内に加速度センサやジャイロセンサを搭載し、ユーザの手の動きを検出して情報処理装置1にユーザの動きを表す信号を送るような入力装置を利用する構成にして、検出結果に応じてカーソルを動かすような構成でもよい。その場合情報処理装置1に、イメージセンサ54や、赤外発光ダイオード9を設ける必要は無い。
(2)再帰反射シート15を、透明体17の表面に取り付けることもできる。この場合は、透明体17は、透明である必要はない。
(3)上記では、入力装置3に、中指を通す例を挙げたが、挿入する指及びその数はこれに限定されない。
(4)入力装置の形状は、上記した入力装置3の形状に限定されない。
(5)入力装置3に、再帰反射シート15のような反射部材を取り付ける代わりに、赤外発光ダイオードのような自発光装置を取り付けることもできる。この場合は、情報処理装置1には、赤外発光ダイオード9は不要である。また、入力装置を使用せずに、イメージセンサやCCDなどの撮像装置により、被験者を撮影し、画像解析して、動きを検出することもできる。
また、入力装置にイメージセンサ等の撮像素子を搭載し、テレビジョンモニタ5等の表示装置(例えば、スクリーンの若干外側)に再帰反射シート(1個、2個、あるいはそれ以上)のような反射部材を取り付けることもできる。この場合、撮像素子に撮影された反射部材の像から、入力装置がスクリーン上のどの位置を指しているかを求め、指された位置にカーソルを表示することにより、カーソルを操作することもできる。なお、入力装置が指し示すスクリーン上の位置は、入力装置にMCU等のコンピュータを搭載して求めることもできるし、撮影画像を情報処理装置1に送信して、情報処理装置1で求めることもできる。この場合、入力装置にストロボ撮影のための赤外発光ダイオードを搭載する。なお、表示装置に反射部材を取り付ける代わりに、赤外発光ダイオードのような自発光装置を表示装置に取り付けることもできる(例えば、一定間隔で2個の赤外発光ダイオードを表示装置の上面に載置)。この場合は、入力装置には、ストロボ撮影のための赤外発光ダイオードは不要である。
(6)上記の実施の形態では、ユーザの空間での動きを検出する手段として、ユーザに入力装置3を装着させ、入力装置3の再帰反射シート15をストロボ撮影した像の動きを解析することによって、カーソルの移動量を決定していたが、ユーザの空間での動きを検出する手段は、別にこのような撮像結果を解析する方法に限定されない。例えば、ハウジング内に加速度センサやジャイロセンサを搭載し、ユーザの手の動きを検出して情報処理装置1にユーザの動きを表す信号を送るような入力装置を利用する構成にして、検出結果に応じてカーソルを動かすような構成でもよい。その場合情報処理装置1に、イメージセンサ54や、赤外発光ダイオード9を設ける必要は無い。
(7)上記の実施の形態の、襖開きモードでは、引手33にカーソル70を移動させることを入力フラグがオンになる条件として設定されていたが、引手33にカーソルを移動させた後、何か他の入力があった場合に入力フラグがオンになるような構成でもよい。例えば引手33にカーソルを移動させた後、さらに前述の握り入力があったことを条件に、入力フラグがオンになるような設定でもよい。同様に梯子登りモードで、横棒39にカーソル70を重ねたあと、さらに前述の握り入力があったことを条件に、カーソル70の下方向への移動に応じて梯子37が下方向に移動するような設定でもよい。または、入力装置に押すと情報処理装置に入力信号を送る入力ボタンを新たに設け、握り入力の代わりに、当該入力ボタンが押下されたことを条件としてもよい。
また、カーソル70を引手33に移動させた後、カーソル座標の移動量が所定の閾値を越えるまで襖35は動かず、閾値を越えた場合に一気に動くようにしていたが、これは演出として襖が一気に開いた方が気持ちいいという理由によるのみで、別にカーソル座標に応じて少しずつ襖35が動くような設定にしてもかまわない。
(8)入力装置に重りなどの負荷を設けてもよい。または、入力装置自体がユーザの手の動きを検知し、情報処理装置1に検知結果に応じた入力を与える手段を備えた、ユーザの動作に負荷を与えるタイプの筋力トレーニング装置であってもよい。上記の実施例は高齢者用の老化防止のための運動や軽度のリハビリ運動を支援することを主眼としているが、このように構成すれば、若者用の筋力トレーニングなどにも使える。
(9)上記の実施の形態の、梯子登りモードでは、特に左右の手を動かす順番に条件は設定されていなかったが、ユーザに実際の梯子を登る動作のような、右手と左手とを交互に動かす運動をさせたい場合は、マルチメディアプロセッサ50が、左注目点と右注目点が、交互に差分画像DI上で交互に上下に移動した場合に、梯子37が下方向に移動させるような構成でもよい。
(10)上記の実施の形態では、3つのモードを説明したが、情報処理装置1が実行するアプリケーションはこれらに限定されず、本発明の趣旨及び範囲を逸脱しない範囲で、他にもユーザを誘導したい特定の動きに応じて、適宜オブジェクト、特定の動きに応じたカーソルの移動を行った場合の表示の変化、そのためのプログラムを設定し、様々なアプリケーションを提供できる。この際オブジェクトの形状は、ユーザの属する文化圏に応じてユーザに操作法が分かりやすいものに変更したほうがよい。例えば西洋文化圏で襖開きモードでの動作を誘導したいのであれば、オブジェクトを襖35ではなくスライドドアのオブジェクト等にするとよい。
このように本発明の変形例によれば、プログラムによって様々な実在の物体を模したオブジェクトを表示し、それらのオブジェクトに対するカーソルの移動手順と、正しいカーソル移動が行われた場合のオブジェクトの表示を設定しておくことができるので、ユーザに対して様々な特定の動作を誘導することが可能となる。
(11)上記の襖開きモードや梯子登りモードでは、カーソル70の移動方向と同じ方向に襖35や梯子37が移動したが、別のモードを作る場合、カーソル70の移動方向とは違う方向にオブジェクトが移動するような構成であってもよい。例えば井戸の水汲みをモチーフにしたモードで、ロープのオブジェクトにカーソル70を重ねて下に移動させると、水汲みバケツのオブジェクトが上に移動していくようなモードを作ってもよい。
(12)上記の窓拭きモードでは、窓44のうち、曇り画像46の部分をカーソル70でなぞると背景画像48に変化するというオブジェクトの模様・色彩が変化する構成であったが、別のモードを作る場合、オブジェクトをカーソル70でなぞると、オブジェクトの形状の少なくとも一つが変化するような構成でもよい。例えば陶芸をモチーフにしたモードで、粘土オブジェクトをカーソル70でなぞると粘土オブジェクトの形状が壺のような形状に変化していくような構成でもよい。
(13)上記の実施の形態では手の動作を支援する運動支援方法を開示したが、足やその他の身体の部位の動きに応じてカーソルを動かすような構成であってもよい。
また、カーソル70を引手33に移動させた後、カーソル座標の移動量が所定の閾値を越えるまで襖35は動かず、閾値を越えた場合に一気に動くようにしていたが、これは演出として襖が一気に開いた方が気持ちいいという理由によるのみで、別にカーソル座標に応じて少しずつ襖35が動くような設定にしてもかまわない。
(8)入力装置に重りなどの負荷を設けてもよい。または、入力装置自体がユーザの手の動きを検知し、情報処理装置1に検知結果に応じた入力を与える手段を備えた、ユーザの動作に負荷を与えるタイプの筋力トレーニング装置であってもよい。上記の実施例は高齢者用の老化防止のための運動や軽度のリハビリ運動を支援することを主眼としているが、このように構成すれば、若者用の筋力トレーニングなどにも使える。
(9)上記の実施の形態の、梯子登りモードでは、特に左右の手を動かす順番に条件は設定されていなかったが、ユーザに実際の梯子を登る動作のような、右手と左手とを交互に動かす運動をさせたい場合は、マルチメディアプロセッサ50が、左注目点と右注目点が、交互に差分画像DI上で交互に上下に移動した場合に、梯子37が下方向に移動させるような構成でもよい。
(10)上記の実施の形態では、3つのモードを説明したが、情報処理装置1が実行するアプリケーションはこれらに限定されず、本発明の趣旨及び範囲を逸脱しない範囲で、他にもユーザを誘導したい特定の動きに応じて、適宜オブジェクト、特定の動きに応じたカーソルの移動を行った場合の表示の変化、そのためのプログラムを設定し、様々なアプリケーションを提供できる。この際オブジェクトの形状は、ユーザの属する文化圏に応じてユーザに操作法が分かりやすいものに変更したほうがよい。例えば西洋文化圏で襖開きモードでの動作を誘導したいのであれば、オブジェクトを襖35ではなくスライドドアのオブジェクト等にするとよい。
このように本発明の変形例によれば、プログラムによって様々な実在の物体を模したオブジェクトを表示し、それらのオブジェクトに対するカーソルの移動手順と、正しいカーソル移動が行われた場合のオブジェクトの表示を設定しておくことができるので、ユーザに対して様々な特定の動作を誘導することが可能となる。
(11)上記の襖開きモードや梯子登りモードでは、カーソル70の移動方向と同じ方向に襖35や梯子37が移動したが、別のモードを作る場合、カーソル70の移動方向とは違う方向にオブジェクトが移動するような構成であってもよい。例えば井戸の水汲みをモチーフにしたモードで、ロープのオブジェクトにカーソル70を重ねて下に移動させると、水汲みバケツのオブジェクトが上に移動していくようなモードを作ってもよい。
(12)上記の窓拭きモードでは、窓44のうち、曇り画像46の部分をカーソル70でなぞると背景画像48に変化するというオブジェクトの模様・色彩が変化する構成であったが、別のモードを作る場合、オブジェクトをカーソル70でなぞると、オブジェクトの形状の少なくとも一つが変化するような構成でもよい。例えば陶芸をモチーフにしたモードで、粘土オブジェクトをカーソル70でなぞると粘土オブジェクトの形状が壺のような形状に変化していくような構成でもよい。
(13)上記の実施の形態では手の動作を支援する運動支援方法を開示したが、足やその他の身体の部位の動きに応じてカーソルを動かすような構成であってもよい。
Claims (6)
- ユーザに特定の動作を促すための運動支援方法であって、
表示装置のスクリーンに実在の物体を模したオブジェクトを表示するステップと、
撮像を行い、撮像の結果得られた画像に基づいて、ユーザの動きを検出する検出ステップと、
前記ユーザの動きに応じて、表示装置のスクリーンに表示されたカーソルを移動させるステップと、
前記実在の物体に対して行われる実際の操作と同じ手順で前記オブジェクト上を前記カーソルが移動したことを条件に、前記オブジェクトに対して前記実際の操作が行われたように表示を行うエフェクトステップと、を含む運動支援方法。 - 前記エフェクトステップでは、少なくとも、前記オブジェクトに前記カーソルが重なった状態で、前記カーソルが第1の所定方向に動くことを条件に、前記オブジェクトを第2の所定方向に移動する、請求項1に記載の運動支援方法。
- 前記オブジェクトが所定位置まで移動した後、再び前記オブジェクトを前記移動前の位置に表示するステップをさらに含む請求項2に記載の運動支援方法。
- 前記オブジェクトは、複数の要素画像を含み、前記複数の要素画像は、所定方向に並んで配置され、
前記エフェクトステップでは少なくとも、前記要素画像に前記カーソルが重なった状態で、前記カーソルが前記所定方向に動くことを条件に、前記所定方向に前記オブジェクトを移動する、請求項1に記載の運動支援方法。 - 前記エフェクトステップでは、少なくとも、前記カーソルが前記オブジェクト上を移動することを条件に、前記オブジェクトの前記カーソルの移動軌跡に対応する部分の形状、模様、色彩のうち少なくとも一つを変化させる、請求項1に記載の運動支援方法。
- 前記オブジェクトは、第1の画像を含み、
前記エフェクトステップでは、少なくとも、前記カーソルが前記第1の画像上を移動することを条件に、前記第1の画像のうち、前記カーソルの移動軌跡に対応する部分を、第2の画像に変更する、請求項5に記載の運動支援方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007103344 | 2007-04-10 | ||
JP2007103344 | 2007-04-10 | ||
PCT/JP2008/000950 WO2008126419A1 (ja) | 2007-04-10 | 2008-04-10 | 運動支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2008126419A1 true JPWO2008126419A1 (ja) | 2010-07-22 |
Family
ID=39863578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009508923A Pending JPWO2008126419A1 (ja) | 2007-04-10 | 2008-04-10 | 運動支援方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2008126419A1 (ja) |
WO (1) | WO2008126419A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607083B2 (en) * | 2010-04-01 | 2013-12-10 | Intel Corporation | Method and apparatus for interrupt power management |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3865663B2 (ja) * | 2002-07-18 | 2007-01-10 | 新世代株式会社 | ボクシングゲームシステム |
JP2005230534A (ja) * | 2004-01-21 | 2005-09-02 | Shinsedai Kk | 着せ替えゲーム装置 |
JP2006320706A (ja) * | 2004-12-03 | 2006-11-30 | Shinsedai Kk | ボクシングゲーム方法、表示制御方法、位置決定方法、カーソル制御方法、消費エネルギー算出方法及びエクササイズ・システム |
WO2006070914A1 (en) * | 2004-12-28 | 2006-07-06 | Ssd Company Limited | Simulated experience apparatus, energy consumption calculation method, squatting motion detection apparatus, exercise assist apparatus, animation method, exercise amount management apparatus, athletic ability measurement apparatus, reflexes ability measurement apparatus, and audio-visual system |
-
2008
- 2008-04-10 WO PCT/JP2008/000950 patent/WO2008126419A1/ja active Application Filing
- 2008-04-10 JP JP2009508923A patent/JPWO2008126419A1/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2008126419A1 (ja) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPWO2007069618A1 (ja) | 練磨方法、練磨装置、及び、コーディネーショントレーニング方法 | |
US9851786B2 (en) | System and method for assisting a user in remaining in a selected area while the user is in a virtual reality environment | |
KR20230047184A (ko) | 3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들 | |
TWI469813B (zh) | 在動作擷取系統中追踪使用者群組 | |
US6385331B2 (en) | Hand pointing device | |
ES2835598T3 (es) | Interfaz de gesto | |
US20110185309A1 (en) | Gesture-based user interface | |
US11036053B2 (en) | Program, information processing method, information processing system, head-mounted display device, and information processing device | |
JP6630607B2 (ja) | シミュレーション制御装置及びシミュレーション制御プログラム | |
US11027195B2 (en) | Information processing apparatus, information processing method, and program | |
JP6668660B2 (ja) | 情報処理装置およびシステム | |
JP2004078977A (ja) | インターフェイス装置 | |
JP5425940B2 (ja) | ゲーム装置、ゲーム装置の制御方法、及びプログラム | |
Robertson et al. | Mixed reality Kinect Mirror box for stroke rehabilitation | |
EP3777810A1 (en) | Rehabilitation assistance device, rehabilitation assistance system, rehabilitation assistance method, and rehabilitation assistance program | |
WO2016094568A1 (en) | System and method for assisting a user in remaining in a selected area while the user is in a virtual reality environment | |
JP3792907B2 (ja) | ハンドポインティング装置 | |
JP3138145U (ja) | 脳トレーニング装置 | |
JP2011067435A (ja) | 情報処理システム、情報処理方法、コンピュータプログラム及び記憶媒体 | |
JP6625467B2 (ja) | シミュレーション制御装置及びシミュレーション制御プログラム | |
JP5746644B2 (ja) | ゲーム装置及びプログラム | |
CN109144598A (zh) | 基于手势的电子面罩人机交互方法与系统 | |
JPWO2008126419A1 (ja) | 運動支援方法 | |
Souza et al. | Kinect to architecture | |
JP3136549U (ja) | スロットマシーン |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110411 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20120911 |