(57)【要約】【課題】  単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることが可能な情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体を提供する。【解決手段】  制御部１０が、画像オブジェクトの特徴量に基づいて、ＩＦ部１７に接続された力触覚提示装置に提示する力を算出し（ステップＳ４２）、力触覚提示装置の種類に応じて、当該算出された力をＩＦ部１７に接続された力触覚提示装置に適合する力に補正し（ステップＳ４３，Ｓ４４）、補正された提示力を示す信号をＩＦ部１７を介して力触覚提示装置に出力する（ステップＳ４５）。【選択図】      図１１
2008305109.tif 000002
【特許請求の範囲】
【請求項１】
複数種類の力触覚提示装置と接続可能な接続手段と、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させることを特徴とするプログラム。
【請求項８】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、力触覚提示装置に接続される情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来より、時間的に変化する多様な触覚情報を作成し提示する触覚情報提示装置が知られている（例えば、特許文献１参照）。
【０００３】
この触覚情報提示装置は、触覚情報呈示部、源情報特徴抽出手段、触覚情報作成手段及び駆動機構部を備えている。源情報特徴抽出手段は、時間的に変化する源情報（画像情報または音声情報）の時間変化の特徴を抽出する。触覚情報作成手段は、この源情報特徴抽出手段により抽出された源情報の特徴に応じて触覚情報を作成する。触覚情報呈示部および駆動機構部は、この触覚情報作成手段により作成された触覚情報を提示する。
【０００４】
また、従来より、画像の色属性情報に基づいて触覚情報を呈示可能な情報処理装置が知られている（例えば、特許文献２参照）。
【０００５】
この情報処理装置は、触覚呈示手段、表示情報記憶手段、触覚情報演算手段、制御手段、Ａ／Ｄコンバータ、駆動制御回路部及び駆動手段を備えている。触覚情報演算手段は、操作者に触覚情報を呈示するために、表示情報記憶手段から取得した表示情報に含まれる色属性情報に基づいて演算を行い、制御手段に対して制御信号を逐次出力する。制御手段は、触覚情報演算手段からの制御信号を受信し、触覚呈示手段に対して、印加すべき変位量や振動周波数或いは制御ゲインを演算して生成した駆動信号を出力する。さらに、駆動信号が、Ａ／Ｄコンバータ及び駆動制御回路部の駆動回路を経由して駆動手段へ伝達されることで、触覚呈示手段が駆動され、操作者に対して触覚情報が呈示される。
【特許文献１】特開２００３−９９１７７号公報
【特許文献２】特開２００１−２９０５７２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１では、触覚情報呈示部を駆動させるために、源情報（画像情報または音声情報）の時間変化の特徴が利用されている。一方、特許文献２では、触覚呈示手段を駆動させるために、表示情報に含まれる色属性情報が利用されている。
【０００７】
このように、触覚提示装置（上記触覚情報呈示部及び触覚呈示手段の総括名称）を駆動させるために利用される情報は、触覚提示装置毎に異なっている。このため、単一の情報（例えば、画像オブジェクトの特徴量）を利用して複数種類の力触覚提示装置を動作させることができないという課題がある。
【０００８】
また、触覚提示装置毎に提示可能な又は出力可能な力は異なるため、規格外の力を出力する指示が触覚提示装置に入力されると、その触覚提示装置が壊れるおそれがある。
【０００９】
本発明の目的は、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることが可能な情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の情報処理装置は、複数種類の力触覚提示装置と接続可能な接続手段と、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段とを備えることを特徴とする。
【００１１】
かかる構成によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【００１２】
好ましくは、前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする。
【００１３】
かかる構成によれば、力触覚提示装置の種類に応じたフィルタで、提示力算出手段により算出された提示力を補正することができる。
【００１４】
好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする。
【００１５】
かかる構成によれば、画像オブジェクトの面積を仮想質量として接続手段に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【００１６】
より好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い、当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする。
【００１７】
かかる構成によれば、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
【００１８】
より好ましくは、前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする。
【００１９】
かかる構成によれば、画像オブジェクトの色が、力触覚提示装置のユーザが感じる画像オブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【００２０】
好ましくは、前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする。
【００２１】
かかる構成によれば、力触覚提示装置のユーザは画像オブジェクトの動きに応じた力や音を体感することができる。
【００２２】
上記目的を達成するため、本発明のプログラムは、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させることを特徴とする。
【００２３】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させるためのプログラムを記録したことを特徴とする。
【００２４】
上記プログラム又は上記コンピュータ読み取り可能な記録媒体によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明の効果】
【００２５】
本発明によれば、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００２７】
図１は、本発明の実施の形態に係る情報処理装置及び複数の力触覚提示装置を備える力触覚生成システムの構成図である。
【００２８】
力触覚提示装置とは、情報処理装置から受信した信号又はデータに基づいて、所定の部位を振動させることで、力をユーザに提示する装置、即ち、振動をユーザに伝える装置である。
【００２９】
同図において、情報処理装置１は、コンピュータ等で構成されており、装置全体を制御するＣＰＵ１１、制御プログラムを備えるＲＯＭ１２、ワーキングエリアとして機能するＲＡＭ１３、各種の情報、プログラム及びデータベース等を備えるハードディスクドライブ（ＨＤＤ）１４、マウス及びキーボード等で構成される操作部１５、液晶モニタ又はＣＲＴで構成される表示部１６、力触覚提示装置２，３と接続するためのインターフェース（ＩＦ）部１７（接続手段、出力手段）、及びネットワークインターフェース（ＩＦ）部１８、サウンドプロセッサ及びスピーカー等で構成される音声出力部１９（音声出力手段）を備えている。
【００３０】
ＣＰＵ１１、ＲＯＭ１２及びＲＡＭ１３は制御部１０（提示力算出手段、補正手段、出力手段、検出手段、仮想質量補正手段）を構成する。インターフェース（ＩＦ）部１７はシリアルインターフェース又はＵＳＢインターフェース等で構成され、力触覚提示装置２，３と接続する。ネットワークＩＦ部１８は、ＬＡＮ（Local Area Network）やインターネットに接続するためのネットワークカードで構成される。
【００３１】
ＣＰＵ１１は、システムバス９を介して、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４、操作部１５、表示部１６、ＩＦ部１７、ネットワークＩＦ部１８及び音声出力部１９に接続されている。
【００３２】
力触覚提示装置２は、マイコン等で構成されると共に装置全体を制御する制御部２１と、マウスカーソルの移動を指示すると共にユーザの指に力触覚の提示を行うポインティングデバイス２２と、情報処理装置１から受信する力触覚提示信号に基づいてポインティングデバイス２２を駆動する駆動部２３と、ポインティングデバイス２２の位置を検出する位置センサ２４とを備えている。制御部２１は、情報処理装置１から受信する力触覚提示信号をＤ／Ａ変換し増幅する回路部（不図示）を備えていてもよい。
【００３３】
制御部２１は、ポインティングデバイス２２、駆動部２３、及び位置センサ２４に接続されている。また、制御部２１は、位置センサ２４からの検出信号に基づいて駆動部２３の位置を制御する。
【００３４】
力触覚提示装置３は、マイコン等で構成されると共に装置全体を制御する制御部３１と、制御部３１を介して情報処理装置１から受信する力触覚提示信号をＤ／Ａ変換するＤ／Ａコンバータ３２と、Ｄ／Ａ変換された信号を増幅する増幅器３３と、増幅された信号に基づいた電流を通すコイル３４と、電流の流れに応じて振動すると共に、入力デバイスとして機能するパネル３５と、パネル３５で入力されたデータをデジタル信号として出力するＡ／Ｄコンバータ３６とを備えている。
【００３５】
図２は、ＨＤＤ１４に格納されるデータ構成の一例を示す図である。
【００３６】
ＨＤＤ１４は、各力触覚提示装置に提示される力を算出するための力触覚算出モジュール５１、音声、画像又は動画などで構成されるフラッシュのようなコンテンツ５２、コンテンツ５２の再生を実行するための実行プログラム５３、力触覚提示装置の種類に応じて使用されるフィルタを登録するデータベース５４、及び後述するオブジェクトプロパティのリスト５５を格納する。尚、力触覚提示装置に提示される力を算出するために利用されるコンテンツは、ＨＤＤ１４に格納されているコンテンツ５２に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【００３７】
図３は、力触覚提示装置２の断面図である。
【００３８】
力触覚提示装置２は、マウス形状の筐体２０１を有し、筐体２０１内の上部には、駆動部２３が設けられている。ポインティングデバイス２２は、筐体２０１の上部からその一部が突出するように形成されており、駆動部２３からの振動が伝わるように駆動部２３に接続されている。位置センサ２４は、筐体２０１内の上部で、ポインティングデバイス２２に対向する位置に設けられている。ポインティングデバイス２２の下には、クリックボタン２０４が設けられており、ポインティングデバイス２２の押圧はクリックボタン２０４に伝達される。筐体２０１内の底部には、制御部２１、ボール２０２、及びエンコーダ２０３が設けられている。エンコーダ２０３は、ボール２０２の回転を位置情報に変換して、制御部２１に送信する。
【００３９】
尚、制御部２１は、ボール２０２以外の各構成要素に接続されているが、同図では、配線を省略する。
【００４０】
図４（Ａ）は力触覚提示装置３の基本構成を示す分解斜視図、図４（Ｂ）は力触覚提示装置３で用いられているパネル駆動機構の詳細を示す図であって、図４（Ａ）のＢ部分の拡大図である。
【００４１】
力触覚提示装置３は、パネル３５、コイル３４及び磁石とヨークとを含む複数の磁気ユニット３０１とを有する。磁気ユニット３０１は、磁力を用いてパネル３５を平面に対して垂直方向へ振動させることによって触覚を提示する。コイル３４はパネル３５の下面に支持され、パネル３５の４辺に沿って巻回されている。図４（Ｂ）に示すように、コイル３４は各辺にそって互いに反対方向に電流が流れるように巻回されている。磁気ユニット３０１はヨーク３０１ａと磁石３０１ｂとを有する。ヨーク３０１ａは断面が略Ｃ字状であり、中央部分に磁石３０１ｂが配置されている。ヨーク３０１ａと磁石３０１ｂとの作用により、時計廻り方向に磁束が流れる磁気回路と反時計廻り方向に磁束が流れる磁気回路とが形成されている。コイル３４は２方向に電流を流し、それぞれの電流は対応する磁気回路の磁束と交差するように配置されている。２つの磁気回路と電流の流れる方向とによりフレミングの左手の法則にしたがって、コイル３４に力が働く。図４（Ｂ）に示す磁極の向きと電流の方向の場合、コイル３４には上向きの力が発生する。この力がパネル３５を振動させる。
【００４２】
図５は、情報処理装置１で実行される概略処理を示すフローチャートである。この処理は、制御部１０（具体的には、ＲＯＭ１２に格納された制御プログラムに従ったＣＰＵ１１）により実行される。
【００４３】
まず、制御部１０は、ＩＦ部１７に接続された力触覚提示装置を認識すると、ＨＤＤ１４に格納された力触覚算出モジュール５１を読み込む（ステップＳ１）。制御部１０は、読み込まれた力触覚算出モジュール５１に従って以降の処理を実行する。
【００４４】
次に、制御部１０は、ＨＤＤ１４に格納されたコンテンツ５２のバイナリデータからオブジェクトを抽出し（ステップＳ２）、コンテンツ５２の再生時に実行プログラム５３からオブジェクトの特徴量を抽出しリスト化する（ステップＳ３）。
【００４５】
その後、制御部１０は、力触覚提示装置の種類に応じて力触覚提示装置用のフィルタを決定し、力触覚提示装置に提示される力を決定し、ＩＦ部１７に接続された力触覚提示装置を制御して（ステップＳ４）、本処理を終了する。
【００４６】
図６は、図５のステップＳ１の処理の詳細を示すフローチャートである。
【００４７】
まず、力触覚提示装置がＩＦ部１７に接続されると（ステップＳ１１）、制御部１０は、ＩＦ部１７に接続された力触覚提示装置を認識したか否かを判別する（ステップＳ１２）。ここでは、制御部１０はＯＳ（operating system）のプラグ・アンド・プレイ機能を使用して力触覚提示装置を認識できるか否かを判別している。
【００４８】
ステップＳ１２でＮＯの場合には、制御部１０はエラー処理を実行し（ステップＳ１３）、本処理を終了する。一方、ステップＳ１２でＹＥＳの場合には、制御部１０はＨＤＤ１４に格納された力触覚算出モジュール５２を読み込み（ステップＳ１４）、図５のステップＳ２の処理へ進む。
【００４９】
図７は、図５のステップＳ２の処理の詳細を示すフローチャートである。
【００５０】
制御部１０は、ＨＤＤ１４に格納されたコンテンツ５２のバイナリデータを取得し（ステップＳ２１）、当該バイナリデータをＸＭＬ化（Extensible Markup Language）する（ステップＳ２２）。このステップＳ２１，Ｓ２２の工程では、図８（Ａ）に示すように、バイナリデータが持つ半構造性に着目し、その繰り返しをタグ等を利用してＸＭＬで記述する。これにより、制御部１０は、実行プログラム５３が制御するオブジェクトの構造を把握することができるので、オブジェクト単位の情報をバウンディングボックスとして抽出すると共に抽出されたバウンディングボックスを実行プログラム５３に関連付けして（ステップＳ２３）、図５のステップＳ３へ進む。この状態を図８（Ｂ）に示す。
【００５１】
ステップＳ２３の工程により、実行プログラム５３がコンテンツ５２を再生し始めたときに、制御部１０は、オブジェクトの特徴量（オブジェクトプロパティ）を各オブジェクトから抽出することができる。尚、ステップＳ２２では、制御部１０は、バイナリデータをＸＭＬ化したが、ＨＴＭＬ（HyperText Markup Language）やＳＶＧ（Scalable Vector Graphics）などのようなテキストデータをＸＭＬ化してもよい。
【００５２】
また、ＨＤＤ１４に格納されたコンテンツ５２がフラッシュデータである場合には、制御部１０は、上記ステップＳ２２でＸＭＬ化したファイルを解析することで、オブジェクトの位置、サイズ、及び色の情報を取得することができる。
【００５３】
尚、コンテンツは、ＨＤＤ１４に格納されているコンテンツ５２に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【００５４】
図９は、図５のステップＳ３の処理の詳細を示すフローチャートである。
【００５５】
制御部１０は、実行プログラム５３がコンテンツ５２を再生し始めると、実行プログラム５３から関連付けされたオブジェクトの特徴量（オブジェクトプロパティ）を抽出し（ステップＳ３１）、抽出されたオブジェクトプロパティをリスト化し、ＨＤＤ１４に登録する（ステップＳ３２）。
【００５６】
図１０は、時刻ｔにおける任意のオブジェクト（Object[n]）の特徴量（オブジェクトプロパティ）を抽出し、リスト化した例を示す図である。
【００５７】
ここで、_x(t,n)はオブジェクトｎの重心位置のｘ座標を示し、_y(t,n)はオブジェクトｎの重心位置のｙ座標を示し、_width(t,n)はオブジェクトｎを囲むバウンディングボックスの幅を示し、_height(t,n)はオブジェクトｎを囲むバウンディングボックスの高さを示し、_rotation(t,n)はオブジェクトｎの回転角を示す。
【００５８】
図９に戻り、制御部１０は、オブジェクトプロパティの時系列変化量から運動情報を示すプロパティ値を算出し（ステップＳ３３）、算出された運動情報を示すプロパティ値をリストに追加する（ステップＳ３４）。
【００５９】
図１０の速度：_velocity(t,n)、加速度：_acceleration(t,n)、及び運動量：_momentum(t,n)の運動情報を示すプロパティ値は、オブジェクト（Object[n]）に含まれていない。これらの運動情報を示すプロパティ値は、現状の時刻ｔでのプロパティ値（Ｘ座標：_x(t,n)、Ｙ座標：_y(t,n)）と、過去（１つ前の時刻）ｔ−１から得られるプロパティ値（Ｘ座標：_x(t-1,n)、Ｙ座標：_y(t-1,n)）とから制御部１０により算出され、リストに追加される。尚、_x(t,n)はオブジェクトｎに含まれる各点のＸ座標を示し、_y(t,n)はオブジェクトｎに含まれる各点のｙ座標を示すようにしてもよい。この場合、オブジェクトｎに含まれる各点の速度、加速度、及び運動量が算出される。
【００６０】
また、オブジェクトｎが回転運動をする場合には、制御部１０は、現状の時刻ｔでのオブジェクトｎの中心点及びそれ以外の一点のプロパティ値と、過去（１つ前の時刻）ｔ−１から得られるオブジェクトｎの中心点及びそれ以外の一点のプロパティ値とから、角速度、角加速度及び角運動量を算出する。
【００６１】
次いで、制御部１０は、実行プログラム５３に関連付けされた全オブジェクトに関し、オブジェクトプロパティのリスト化の作業を終了したか否かを判別する（ステップＳ３５）。ステップＳ３５でＮＯの場合には、ステップＳ３１に戻る。つまり、全オブジェクトのオブジェクトプロパティのリスト化の作業が終了するまで、全オブジェクトのオブジェクトプロパティがリスト化されてＨＤＤ１４に追記され、さらに、運動情報を示すプロパティ値もリストに追記され、リストが逐次更新される。
【００６２】
一方、ステップＳ３５でＹＥＳの場合には、制御部１０は、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードがパッシブモードであるか又はアクティブモードであるかを判別する（ステップＳ３６）。
【００６３】
ここで、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードは、予めユーザが表示部１６に表示されるユーザインターフェース（不図示）で設定しているものとする。パッシブモードは、処理対象のオブジェクトが時間経過に応じて進行方向を変更したときに、ポインティングデバイス又はパネルを動作させるモードである。アクティブモードは、処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したときに、ポインティングデバイス又はパネルを動作させるモードである。
【００６４】
ステップＳ３６で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、図５のステップＳ４の処理に進む。一方、ステップＳ３６で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、制御部１０は処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したか否かを判別する（ステップＳ３７）。ステップＳ３７でＮＯの場合には、当該判別処理を繰り返す。一方、ステップＳ３７でＹＥＳの場合には、図５のステップＳ４の処理に進む。
【００６５】
図１１は、図５のステップＳ４の処理の詳細を示すフローチャートである。
【００６６】
まず、制御部１０は、ＨＤＤ１４に登録されたオブジェクトプロパティを用いて、下記式（１）に従って、オブジェクトの仮想質量Ｓ（t,n）を計算する（ステップＳ４１）。
仮想質量Ｓ（t,n）＝_width(t,n) ・_height(t,n)  …（１）
【００６７】
この場合、オブジェクトを囲むバウンディングボックスの幅（_width(t,n)）、及びバウンディングボックスの高さ（_height(t,n)）から求められるバウンディングボックスの面積を仮想質量Ｓ（t,n）としている。これは、見かけの面積が大きいものが質量が重いという人の先入観又は心理的特徴を利用している。尚、仮想質量Ｓ（t,n）の計算方法は、式（１）に限定されるものではない。例えば、図１０のように矩形のオブジェクトが傾いている場合には、制御部１０は、当該矩形のオブジェクトの一辺が水平又は垂直になるように矩形のオブジェクトを回転して、矩形のオブジェクトの面積を計算し、この結果を仮想質量Ｓ（t,n）としてもよい。また、オブジェクトが円形である場合には、制御部１０は、当該円形の面積を計算し、この結果を仮想質量Ｓ（t,n）としてもよい。
【００６８】
また、制御部１０は、オブジェクトに対してテクスチャ解析を行い、材質を選定した後に、その材質の物理的な比重及びバウンディングボックスの面積を使って仮想質量Ｓ（t,n）を計算してもよい。この場合、制御部１０は、下記式（１−１）に従って、オブジェクトの仮想質量Ｓ（t,n）を計算する。これにより、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
仮想質量Ｓ（t,n）＝_width(t,n) ・_height(t,n)・選定した材質の比重  …（１−１）
【００６９】
次いで、制御部１０は、オブジェクトの仮想質量Ｓ（t,n）と加速度：_acceleration(t,n)に基づいて力：Ｘ（t,n）を計算する（ステップＳ４２）。具体的には、力：Ｘ（t,n）は下記式（２）に従って計算される。
力：Ｘ（t,n）＝Ｓ（t,n）・_acceleration(t,n)  …（２）
【００７０】
尚、力：Ｘ（t,n）は、仮想質量Ｓ（t,n）と２つの速度：_velocity(t,n)から運動量：_momentum(t,n)の差分を算出し、この結果を２つの速度を求めた時間で微分することにより算出してもよい。
【００７１】
制御部１０は、現在ＩＦ部１７に接続された力触覚提示装置の種類に応じて、フィルタＫをＨＤＤ１４のデータベース５４から選択する（ステップＳ４３）。図１２は、データベース５４の一例を示す。フィルタＫは、力触覚提示装置がユーザに対し許容範囲以上の力を提示して壊われることを防止するため、力触覚提示装置が提示する力に制限をかけている。
【００７２】
次に、制御部１０は、力触覚提示装置への提示力Ｆ（t,n）を決定する（ステップＳ４４）。この場合、制御部１０は、力：Ｘ（t,n）をフィルタＫでフィルタリングし、その結果を力触覚提示装置への提示力Ｆ（t,n）としている。即ち、提示力Ｆ（t,n）は下記式（３）に従って決定される。
提示力Ｆ（t,n）＝Ｋ（Ｘ（t,n））  …（３）
【００７３】
最後に、制御部１０は、ＩＦ部１７を介して提示力Ｆ（t,n）を示す力触覚提示信号を、当該提示力Ｆ（t,n）に対応する力触覚提示装置に出力し、力触覚提示装置を動作させて（ステップＳ４５）、本処理を終了する。
【００７４】
ＩＦ部１７に接続された複数種類の力触覚提示装置を同時に動作させる場合には、制御部１０は、各力触覚提示装置のためにステップＳ４３〜Ｓ４５の処理を実行する。これにより、情報処理装置１は、複数種類の力触覚提示装置を同時に動作させることができる。
【００７５】
音声出力部１９は、上記ステップＳ４４で決定された提示力の大きさに応じたボリュームの効果音を出力するようにしてもよい。この場合、効果音は予め音声出力部１９に設定されているものとする。但し、ユーザは操作部１５を介して効果音を自由に設定することができる。これにより、ユーザはオブジェクトの動きに応じた力や音を体感することができる。
【００７６】
上述した例では、仮想質量Ｓ（t,n）を求める際に、制御部１０は、オブジェクトの色情報を考慮していないが、オブジェクトの色情報を用いて仮想質量Ｓ（t,n）の補正を行ってもよい。これは、物体の色が、人が感じる物体の重さの違いに与える影響を考慮するためである。
【００７７】
図１３は、制御部１０により実行される仮想質量の補正処理を示すフローチャートである。
【００７８】
制御部１０は、上記ステップＳ２２でＸＭＬ化したファイルを解析し、オブジェクトの色情報を取得する（ステップＳ５１）。制御部１０は、オブジェクトの色をグレースケール変換し、グラデーションを示す変数Ｃｇを設定する（ステップＳ５２）。その後、制御部１０は、変数Ｃｇと仮想質量Ｓ（t,n）を使って、補正後の質量Ｍｃを算出する（ステップＳ５３）。
【００７９】
補正後の質量Ｍｃは、下記式（４）で計算される。
補正後の質量Ｍｃ＝Ｓ（t,n）＋Ｆ（Ｃｇ）  …（４）
式（４）中のＦ（Ｃｇ）はシグモイド関数であり、下記式（５）で表される。
Ｆ（Ｃｇ）＝Ｃ１／（１＋exp（−（Ｃｇ−Ｃｇｂ））＋（Ｃ１／２）  …（５）
【００８０】
ここで、Ｃ１は、シグモイド関数の最大値であり、Ｃｇｂは、シグモイド関数のｘ軸を０〜２５５の範囲で移動可能な変数である。図１４にシグモイド関数の一例を示す。
【００８１】
式（４），（５）により、Ｃｇｂによって指定されたスケールを基準として、オブジェクトのグレースケールが黒に近ければ、補正後の質量は重くなり、オブジェクトのグレースケールが白に近ければ、補正後の質量は軽くなる。
【００８２】
以上詳細に説明したように、本実施の形態によれば、制御部１０が、画像オブジェクトの特徴量に基づいて、ＩＦ部１７に接続された力触覚提示装置に提示する力を算出し、力触覚提示装置の種類に応じて、当該算出された力をＩＦ部１７に接続された力触覚提示装置に適合する力に補正し、補正された提示力を示す信号をＩＦ部１７を介して力触覚提示装置に出力するので、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【００８３】
また、データベース５４は、複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えているので、制御部１０は、力触覚提示装置の種類に応じたフィルタで力触覚提示装置に提示する力を補正することができる。
【００８４】
また、画像オブジェクトの面積を仮想質量としてＩＦ部１７に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【００８５】
さらに、制御部１０は、画像オブジェクトの色情報を検出し、当該検出された色情報に応じて仮想質量の補正を行うので、画像オブジェクトの色が、力触覚提示装置のユーザが感じるオブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【００８６】
情報処理装置１の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、情報処理装置１に供給し、制御部１０が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、又はＳＤカードなどがある。
【００８７】
また、情報処理装置１が、情報処理装置１の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【００８８】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【図面の簡単な説明】
【００８９】
【図１】本発明の実施の形態に係る情報処理装置１及び複数の力触覚提示装置２，３を備える力触覚生成システムの構成図である。
【図２】ハードディスクドライブ（ＨＤＤ）に格納されるデータ構成の一例を示す図である。
【図３】力触覚提示装置２の断面図である。
【図４】（Ａ）は力触覚提示装置３の基本構成を示す分解斜視図であり、（Ｂ）は力触覚提示装置３で用いられているパネル駆動機構の詳細を示す図であって、（Ａ）のＢ部分の拡大図である。
【図５】情報処理装置１で実行される概略処理を示すフローチャートである。
【図６】図５のステップＳ１の処理の詳細を示すフローチャートである。
【図７】図５のステップＳ２の処理の詳細を示すフローチャートである。
【図８】（Ａ）はバイナリデータをＸＭＬ化する工程を示す図であり、（Ｂ）はバウンディングボックスを実行プログラムに関連付ける工程を示す図である。
【図９】図５のステップＳ３の処理の詳細を示すフローチャートである。
【図１０】時刻ｔにおける任意のオブジェクト（Object[n]）の特徴量（オブジェクトプロパティ）を抽出し、リスト化した例を示す図である。
【図１１】図５のステップＳ４の処理の詳細を示すフローチャートである。
【図１２】データベースの一例を示す図である。
【図１３】制御部により実行される仮想質量の補正処理を示すフローチャートである。
【図１４】シグモイド関数の一例を示す図である。
【符号の説明】
【００９０】
１  情報処理装置
２，３  力触覚提示装置
９  システムバス
１０  制御部
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ハードディスクドライブ（ＨＤＤ）
１５  操作部
１６  表示部
１７  インターフェース（ＩＦ）部
１８  ネットワークインターフェース（ＩＦ）部
１９  音声出力部
【図１】
2008305109.tif 000003
【図２】
2008305109.tif 000004
【図３】
2008305109.tif 000005
【図４】
2008305109.tif 000006
【図５】
2008305109.tif 000007
【図６】
2008305109.tif 000008
【図７】
2008305109.tif 000009
【図８】
2008305109.tif 000010
【図９】
2008305109.tif 000011
【図１０】
2008305109.tif 000012
【図１１】
2008305109.tif 000013
【図１２】
2008305109.tif 000014
【図１３】
2008305109.tif 000015
【図１４】
2008305109.tif 000016