情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体
【課題】 単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることが可能な情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体を提供する。
【解決手段】 制御部10が、画像オブジェクトの特徴量に基づいて、IF部17に接続された力触覚提示装置に提示する力を算出し(ステップS42)、力触覚提示装置の種類に応じて、当該算出された力をIF部17に接続された力触覚提示装置に適合する力に補正し(ステップS43,S44)、補正された提示力を示す信号をIF部17を介して力触覚提示装置に出力する(ステップS45)。
【解決手段】 制御部10が、画像オブジェクトの特徴量に基づいて、IF部17に接続された力触覚提示装置に提示する力を算出し(ステップS42)、力触覚提示装置の種類に応じて、当該算出された力をIF部17に接続された力触覚提示装置に適合する力に補正し(ステップS43,S44)、補正された提示力を示す信号をIF部17を介して力触覚提示装置に出力する(ステップS45)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、力触覚提示装置に接続される情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来より、時間的に変化する多様な触覚情報を作成し提示する触覚情報提示装置が知られている(例えば、特許文献1参照)。
【0003】
この触覚情報提示装置は、触覚情報呈示部、源情報特徴抽出手段、触覚情報作成手段及び駆動機構部を備えている。源情報特徴抽出手段は、時間的に変化する源情報(画像情報または音声情報)の時間変化の特徴を抽出する。触覚情報作成手段は、この源情報特徴抽出手段により抽出された源情報の特徴に応じて触覚情報を作成する。触覚情報呈示部および駆動機構部は、この触覚情報作成手段により作成された触覚情報を提示する。
【0004】
また、従来より、画像の色属性情報に基づいて触覚情報を呈示可能な情報処理装置が知られている(例えば、特許文献2参照)。
【0005】
この情報処理装置は、触覚呈示手段、表示情報記憶手段、触覚情報演算手段、制御手段、A/Dコンバータ、駆動制御回路部及び駆動手段を備えている。触覚情報演算手段は、操作者に触覚情報を呈示するために、表示情報記憶手段から取得した表示情報に含まれる色属性情報に基づいて演算を行い、制御手段に対して制御信号を逐次出力する。制御手段は、触覚情報演算手段からの制御信号を受信し、触覚呈示手段に対して、印加すべき変位量や振動周波数或いは制御ゲインを演算して生成した駆動信号を出力する。さらに、駆動信号が、A/Dコンバータ及び駆動制御回路部の駆動回路を経由して駆動手段へ伝達されることで、触覚呈示手段が駆動され、操作者に対して触覚情報が呈示される。
【特許文献1】特開2003−99177号公報
【特許文献2】特開2001−290572号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1では、触覚情報呈示部を駆動させるために、源情報(画像情報または音声情報)の時間変化の特徴が利用されている。一方、特許文献2では、触覚呈示手段を駆動させるために、表示情報に含まれる色属性情報が利用されている。
【0007】
このように、触覚提示装置(上記触覚情報呈示部及び触覚呈示手段の総括名称)を駆動させるために利用される情報は、触覚提示装置毎に異なっている。このため、単一の情報(例えば、画像オブジェクトの特徴量)を利用して複数種類の力触覚提示装置を動作させることができないという課題がある。
【0008】
また、触覚提示装置毎に提示可能な又は出力可能な力は異なるため、規格外の力を出力する指示が触覚提示装置に入力されると、その触覚提示装置が壊れるおそれがある。
【0009】
本発明の目的は、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることが可能な情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の情報処理装置は、複数種類の力触覚提示装置と接続可能な接続手段と、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段とを備えることを特徴とする。
【0011】
かかる構成によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【0012】
好ましくは、前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする。
【0013】
かかる構成によれば、力触覚提示装置の種類に応じたフィルタで、提示力算出手段により算出された提示力を補正することができる。
【0014】
好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする。
【0015】
かかる構成によれば、画像オブジェクトの面積を仮想質量として接続手段に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0016】
より好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い、当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする。
【0017】
かかる構成によれば、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
【0018】
より好ましくは、前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする。
【0019】
かかる構成によれば、画像オブジェクトの色が、力触覚提示装置のユーザが感じる画像オブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0020】
好ましくは、前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする。
【0021】
かかる構成によれば、力触覚提示装置のユーザは画像オブジェクトの動きに応じた力や音を体感することができる。
【0022】
上記目的を達成するため、本発明のプログラムは、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させることを特徴とする。
【0023】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させるためのプログラムを記録したことを特徴とする。
【0024】
上記プログラム又は上記コンピュータ読み取り可能な記録媒体によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明の効果】
【0025】
本発明によれば、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0027】
図1は、本発明の実施の形態に係る情報処理装置及び複数の力触覚提示装置を備える力触覚生成システムの構成図である。
【0028】
力触覚提示装置とは、情報処理装置から受信した信号又はデータに基づいて、所定の部位を振動させることで、力をユーザに提示する装置、即ち、振動をユーザに伝える装置である。
【0029】
同図において、情報処理装置1は、コンピュータ等で構成されており、装置全体を制御するCPU11、制御プログラムを備えるROM12、ワーキングエリアとして機能するRAM13、各種の情報、プログラム及びデータベース等を備えるハードディスクドライブ(HDD)14、マウス及びキーボード等で構成される操作部15、液晶モニタ又はCRTで構成される表示部16、力触覚提示装置2,3と接続するためのインターフェース(IF)部17(接続手段、出力手段)、及びネットワークインターフェース(IF)部18、サウンドプロセッサ及びスピーカー等で構成される音声出力部19(音声出力手段)を備えている。
【0030】
CPU11、ROM12及びRAM13は制御部10(提示力算出手段、補正手段、出力手段、検出手段、仮想質量補正手段)を構成する。インターフェース(IF)部17はシリアルインターフェース又はUSBインターフェース等で構成され、力触覚提示装置2,3と接続する。ネットワークIF部18は、LAN(Local Area Network)やインターネットに接続するためのネットワークカードで構成される。
【0031】
CPU11は、システムバス9を介して、ROM12、RAM13、ハードディスクドライブ(HDD)14、操作部15、表示部16、IF部17、ネットワークIF部18及び音声出力部19に接続されている。
【0032】
力触覚提示装置2は、マイコン等で構成されると共に装置全体を制御する制御部21と、マウスカーソルの移動を指示すると共にユーザの指に力触覚の提示を行うポインティングデバイス22と、情報処理装置1から受信する力触覚提示信号に基づいてポインティングデバイス22を駆動する駆動部23と、ポインティングデバイス22の位置を検出する位置センサ24とを備えている。制御部21は、情報処理装置1から受信する力触覚提示信号をD/A変換し増幅する回路部(不図示)を備えていてもよい。
【0033】
制御部21は、ポインティングデバイス22、駆動部23、及び位置センサ24に接続されている。また、制御部21は、位置センサ24からの検出信号に基づいて駆動部23の位置を制御する。
【0034】
力触覚提示装置3は、マイコン等で構成されると共に装置全体を制御する制御部31と、制御部31を介して情報処理装置1から受信する力触覚提示信号をD/A変換するD/Aコンバータ32と、D/A変換された信号を増幅する増幅器33と、増幅された信号に基づいた電流を通すコイル34と、電流の流れに応じて振動すると共に、入力デバイスとして機能するパネル35と、パネル35で入力されたデータをデジタル信号として出力するA/Dコンバータ36とを備えている。
【0035】
図2は、HDD14に格納されるデータ構成の一例を示す図である。
【0036】
HDD14は、各力触覚提示装置に提示される力を算出するための力触覚算出モジュール51、音声、画像又は動画などで構成されるフラッシュのようなコンテンツ52、コンテンツ52の再生を実行するための実行プログラム53、力触覚提示装置の種類に応じて使用されるフィルタを登録するデータベース54、及び後述するオブジェクトプロパティのリスト55を格納する。尚、力触覚提示装置に提示される力を算出するために利用されるコンテンツは、HDD14に格納されているコンテンツ52に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【0037】
図3は、力触覚提示装置2の断面図である。
【0038】
力触覚提示装置2は、マウス形状の筐体201を有し、筐体201内の上部には、駆動部23が設けられている。ポインティングデバイス22は、筐体201の上部からその一部が突出するように形成されており、駆動部23からの振動が伝わるように駆動部23に接続されている。位置センサ24は、筐体201内の上部で、ポインティングデバイス22に対向する位置に設けられている。ポインティングデバイス22の下には、クリックボタン204が設けられており、ポインティングデバイス22の押圧はクリックボタン204に伝達される。筐体201内の底部には、制御部21、ボール202、及びエンコーダ203が設けられている。エンコーダ203は、ボール202の回転を位置情報に変換して、制御部21に送信する。
【0039】
尚、制御部21は、ボール202以外の各構成要素に接続されているが、同図では、配線を省略する。
【0040】
図4(A)は力触覚提示装置3の基本構成を示す分解斜視図、図4(B)は力触覚提示装置3で用いられているパネル駆動機構の詳細を示す図であって、図4(A)のB部分の拡大図である。
【0041】
力触覚提示装置3は、パネル35、コイル34及び磁石とヨークとを含む複数の磁気ユニット301とを有する。磁気ユニット301は、磁力を用いてパネル35を平面に対して垂直方向へ振動させることによって触覚を提示する。コイル34はパネル35の下面に支持され、パネル35の4辺に沿って巻回されている。図4(B)に示すように、コイル34は各辺にそって互いに反対方向に電流が流れるように巻回されている。磁気ユニット301はヨーク301aと磁石301bとを有する。ヨーク301aは断面が略C字状であり、中央部分に磁石301bが配置されている。ヨーク301aと磁石301bとの作用により、時計廻り方向に磁束が流れる磁気回路と反時計廻り方向に磁束が流れる磁気回路とが形成されている。コイル34は2方向に電流を流し、それぞれの電流は対応する磁気回路の磁束と交差するように配置されている。2つの磁気回路と電流の流れる方向とによりフレミングの左手の法則にしたがって、コイル34に力が働く。図4(B)に示す磁極の向きと電流の方向の場合、コイル34には上向きの力が発生する。この力がパネル35を振動させる。
【0042】
図5は、情報処理装置1で実行される概略処理を示すフローチャートである。この処理は、制御部10(具体的には、ROM12に格納された制御プログラムに従ったCPU11)により実行される。
【0043】
まず、制御部10は、IF部17に接続された力触覚提示装置を認識すると、HDD14に格納された力触覚算出モジュール51を読み込む(ステップS1)。制御部10は、読み込まれた力触覚算出モジュール51に従って以降の処理を実行する。
【0044】
次に、制御部10は、HDD14に格納されたコンテンツ52のバイナリデータからオブジェクトを抽出し(ステップS2)、コンテンツ52の再生時に実行プログラム53からオブジェクトの特徴量を抽出しリスト化する(ステップS3)。
【0045】
その後、制御部10は、力触覚提示装置の種類に応じて力触覚提示装置用のフィルタを決定し、力触覚提示装置に提示される力を決定し、IF部17に接続された力触覚提示装置を制御して(ステップS4)、本処理を終了する。
【0046】
図6は、図5のステップS1の処理の詳細を示すフローチャートである。
【0047】
まず、力触覚提示装置がIF部17に接続されると(ステップS11)、制御部10は、IF部17に接続された力触覚提示装置を認識したか否かを判別する(ステップS12)。ここでは、制御部10はOS(operating system)のプラグ・アンド・プレイ機能を使用して力触覚提示装置を認識できるか否かを判別している。
【0048】
ステップS12でNOの場合には、制御部10はエラー処理を実行し(ステップS13)、本処理を終了する。一方、ステップS12でYESの場合には、制御部10はHDD14に格納された力触覚算出モジュール52を読み込み(ステップS14)、図5のステップS2の処理へ進む。
【0049】
図7は、図5のステップS2の処理の詳細を示すフローチャートである。
【0050】
制御部10は、HDD14に格納されたコンテンツ52のバイナリデータを取得し(ステップS21)、当該バイナリデータをXML化(Extensible Markup Language)する(ステップS22)。このステップS21,S22の工程では、図8(A)に示すように、バイナリデータが持つ半構造性に着目し、その繰り返しをタグ等を利用してXMLで記述する。これにより、制御部10は、実行プログラム53が制御するオブジェクトの構造を把握することができるので、オブジェクト単位の情報をバウンディングボックスとして抽出すると共に抽出されたバウンディングボックスを実行プログラム53に関連付けして(ステップS23)、図5のステップS3へ進む。この状態を図8(B)に示す。
【0051】
ステップS23の工程により、実行プログラム53がコンテンツ52を再生し始めたときに、制御部10は、オブジェクトの特徴量(オブジェクトプロパティ)を各オブジェクトから抽出することができる。尚、ステップS22では、制御部10は、バイナリデータをXML化したが、HTML(HyperText Markup Language)やSVG(Scalable Vector Graphics)などのようなテキストデータをXML化してもよい。
【0052】
また、HDD14に格納されたコンテンツ52がフラッシュデータである場合には、制御部10は、上記ステップS22でXML化したファイルを解析することで、オブジェクトの位置、サイズ、及び色の情報を取得することができる。
【0053】
尚、コンテンツは、HDD14に格納されているコンテンツ52に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【0054】
図9は、図5のステップS3の処理の詳細を示すフローチャートである。
【0055】
制御部10は、実行プログラム53がコンテンツ52を再生し始めると、実行プログラム53から関連付けされたオブジェクトの特徴量(オブジェクトプロパティ)を抽出し(ステップS31)、抽出されたオブジェクトプロパティをリスト化し、HDD14に登録する(ステップS32)。
【0056】
図10は、時刻tにおける任意のオブジェクト(Object[n])の特徴量(オブジェクトプロパティ)を抽出し、リスト化した例を示す図である。
【0057】
ここで、_x(t,n)はオブジェクトnの重心位置のx座標を示し、_y(t,n)はオブジェクトnの重心位置のy座標を示し、_width(t,n)はオブジェクトnを囲むバウンディングボックスの幅を示し、_height(t,n)はオブジェクトnを囲むバウンディングボックスの高さを示し、_rotation(t,n)はオブジェクトnの回転角を示す。
【0058】
図9に戻り、制御部10は、オブジェクトプロパティの時系列変化量から運動情報を示すプロパティ値を算出し(ステップS33)、算出された運動情報を示すプロパティ値をリストに追加する(ステップS34)。
【0059】
図10の速度:_velocity(t,n)、加速度:_acceleration(t,n)、及び運動量:_momentum(t,n)の運動情報を示すプロパティ値は、オブジェクト(Object[n])に含まれていない。これらの運動情報を示すプロパティ値は、現状の時刻tでのプロパティ値(X座標:_x(t,n)、Y座標:_y(t,n))と、過去(1つ前の時刻)t−1から得られるプロパティ値(X座標:_x(t-1,n)、Y座標:_y(t-1,n))とから制御部10により算出され、リストに追加される。尚、_x(t,n)はオブジェクトnに含まれる各点のX座標を示し、_y(t,n)はオブジェクトnに含まれる各点のy座標を示すようにしてもよい。この場合、オブジェクトnに含まれる各点の速度、加速度、及び運動量が算出される。
【0060】
また、オブジェクトnが回転運動をする場合には、制御部10は、現状の時刻tでのオブジェクトnの中心点及びそれ以外の一点のプロパティ値と、過去(1つ前の時刻)t−1から得られるオブジェクトnの中心点及びそれ以外の一点のプロパティ値とから、角速度、角加速度及び角運動量を算出する。
【0061】
次いで、制御部10は、実行プログラム53に関連付けされた全オブジェクトに関し、オブジェクトプロパティのリスト化の作業を終了したか否かを判別する(ステップS35)。ステップS35でNOの場合には、ステップS31に戻る。つまり、全オブジェクトのオブジェクトプロパティのリスト化の作業が終了するまで、全オブジェクトのオブジェクトプロパティがリスト化されてHDD14に追記され、さらに、運動情報を示すプロパティ値もリストに追記され、リストが逐次更新される。
【0062】
一方、ステップS35でYESの場合には、制御部10は、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードがパッシブモードであるか又はアクティブモードであるかを判別する(ステップS36)。
【0063】
ここで、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードは、予めユーザが表示部16に表示されるユーザインターフェース(不図示)で設定しているものとする。パッシブモードは、処理対象のオブジェクトが時間経過に応じて進行方向を変更したときに、ポインティングデバイス又はパネルを動作させるモードである。アクティブモードは、処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したときに、ポインティングデバイス又はパネルを動作させるモードである。
【0064】
ステップS36で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、図5のステップS4の処理に進む。一方、ステップS36で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、制御部10は処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したか否かを判別する(ステップS37)。ステップS37でNOの場合には、当該判別処理を繰り返す。一方、ステップS37でYESの場合には、図5のステップS4の処理に進む。
【0065】
図11は、図5のステップS4の処理の詳細を示すフローチャートである。
【0066】
まず、制御部10は、HDD14に登録されたオブジェクトプロパティを用いて、下記式(1)に従って、オブジェクトの仮想質量S(t,n)を計算する(ステップS41)。
仮想質量S(t,n)=_width(t,n) ・_height(t,n) …(1)
【0067】
この場合、オブジェクトを囲むバウンディングボックスの幅(_width(t,n))、及びバウンディングボックスの高さ(_height(t,n))から求められるバウンディングボックスの面積を仮想質量S(t,n)としている。これは、見かけの面積が大きいものが質量が重いという人の先入観又は心理的特徴を利用している。尚、仮想質量S(t,n)の計算方法は、式(1)に限定されるものではない。例えば、図10のように矩形のオブジェクトが傾いている場合には、制御部10は、当該矩形のオブジェクトの一辺が水平又は垂直になるように矩形のオブジェクトを回転して、矩形のオブジェクトの面積を計算し、この結果を仮想質量S(t,n)としてもよい。また、オブジェクトが円形である場合には、制御部10は、当該円形の面積を計算し、この結果を仮想質量S(t,n)としてもよい。
【0068】
また、制御部10は、オブジェクトに対してテクスチャ解析を行い、材質を選定した後に、その材質の物理的な比重及びバウンディングボックスの面積を使って仮想質量S(t,n)を計算してもよい。この場合、制御部10は、下記式(1−1)に従って、オブジェクトの仮想質量S(t,n)を計算する。これにより、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
仮想質量S(t,n)=_width(t,n) ・_height(t,n)・選定した材質の比重 …(1−1)
【0069】
次いで、制御部10は、オブジェクトの仮想質量S(t,n)と加速度:_acceleration(t,n)に基づいて力:X(t,n)を計算する(ステップS42)。具体的には、力:X(t,n)は下記式(2)に従って計算される。
力:X(t,n)=S(t,n)・_acceleration(t,n) …(2)
【0070】
尚、力:X(t,n)は、仮想質量S(t,n)と2つの速度:_velocity(t,n)から運動量:_momentum(t,n)の差分を算出し、この結果を2つの速度を求めた時間で微分することにより算出してもよい。
【0071】
制御部10は、現在IF部17に接続された力触覚提示装置の種類に応じて、フィルタKをHDD14のデータベース54から選択する(ステップS43)。図12は、データベース54の一例を示す。フィルタKは、力触覚提示装置がユーザに対し許容範囲以上の力を提示して壊われることを防止するため、力触覚提示装置が提示する力に制限をかけている。
【0072】
次に、制御部10は、力触覚提示装置への提示力F(t,n)を決定する(ステップS44)。この場合、制御部10は、力:X(t,n)をフィルタKでフィルタリングし、その結果を力触覚提示装置への提示力F(t,n)としている。即ち、提示力F(t,n)は下記式(3)に従って決定される。
提示力F(t,n)=K(X(t,n)) …(3)
【0073】
最後に、制御部10は、IF部17を介して提示力F(t,n)を示す力触覚提示信号を、当該提示力F(t,n)に対応する力触覚提示装置に出力し、力触覚提示装置を動作させて(ステップS45)、本処理を終了する。
【0074】
IF部17に接続された複数種類の力触覚提示装置を同時に動作させる場合には、制御部10は、各力触覚提示装置のためにステップS43〜S45の処理を実行する。これにより、情報処理装置1は、複数種類の力触覚提示装置を同時に動作させることができる。
【0075】
音声出力部19は、上記ステップS44で決定された提示力の大きさに応じたボリュームの効果音を出力するようにしてもよい。この場合、効果音は予め音声出力部19に設定されているものとする。但し、ユーザは操作部15を介して効果音を自由に設定することができる。これにより、ユーザはオブジェクトの動きに応じた力や音を体感することができる。
【0076】
上述した例では、仮想質量S(t,n)を求める際に、制御部10は、オブジェクトの色情報を考慮していないが、オブジェクトの色情報を用いて仮想質量S(t,n)の補正を行ってもよい。これは、物体の色が、人が感じる物体の重さの違いに与える影響を考慮するためである。
【0077】
図13は、制御部10により実行される仮想質量の補正処理を示すフローチャートである。
【0078】
制御部10は、上記ステップS22でXML化したファイルを解析し、オブジェクトの色情報を取得する(ステップS51)。制御部10は、オブジェクトの色をグレースケール変換し、グラデーションを示す変数Cgを設定する(ステップS52)。その後、制御部10は、変数Cgと仮想質量S(t,n)を使って、補正後の質量Mcを算出する(ステップS53)。
【0079】
補正後の質量Mcは、下記式(4)で計算される。
補正後の質量Mc=S(t,n)+F(Cg) …(4)
式(4)中のF(Cg)はシグモイド関数であり、下記式(5)で表される。
F(Cg)=C1/(1+exp(−(Cg−Cgb))+(C1/2) …(5)
【0080】
ここで、C1は、シグモイド関数の最大値であり、Cgbは、シグモイド関数のx軸を0〜255の範囲で移動可能な変数である。図14にシグモイド関数の一例を示す。
【0081】
式(4),(5)により、Cgbによって指定されたスケールを基準として、オブジェクトのグレースケールが黒に近ければ、補正後の質量は重くなり、オブジェクトのグレースケールが白に近ければ、補正後の質量は軽くなる。
【0082】
以上詳細に説明したように、本実施の形態によれば、制御部10が、画像オブジェクトの特徴量に基づいて、IF部17に接続された力触覚提示装置に提示する力を算出し、力触覚提示装置の種類に応じて、当該算出された力をIF部17に接続された力触覚提示装置に適合する力に補正し、補正された提示力を示す信号をIF部17を介して力触覚提示装置に出力するので、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【0083】
また、データベース54は、複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えているので、制御部10は、力触覚提示装置の種類に応じたフィルタで力触覚提示装置に提示する力を補正することができる。
【0084】
また、画像オブジェクトの面積を仮想質量としてIF部17に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0085】
さらに、制御部10は、画像オブジェクトの色情報を検出し、当該検出された色情報に応じて仮想質量の補正を行うので、画像オブジェクトの色が、力触覚提示装置のユーザが感じるオブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0086】
情報処理装置1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、情報処理装置1に供給し、制御部10が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
【0087】
また、情報処理装置1が、情報処理装置1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【0088】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施の形態に係る情報処理装置1及び複数の力触覚提示装置2,3を備える力触覚生成システムの構成図である。
【図2】ハードディスクドライブ(HDD)に格納されるデータ構成の一例を示す図である。
【図3】力触覚提示装置2の断面図である。
【図4】(A)は力触覚提示装置3の基本構成を示す分解斜視図であり、(B)は力触覚提示装置3で用いられているパネル駆動機構の詳細を示す図であって、(A)のB部分の拡大図である。
【図5】情報処理装置1で実行される概略処理を示すフローチャートである。
【図6】図5のステップS1の処理の詳細を示すフローチャートである。
【図7】図5のステップS2の処理の詳細を示すフローチャートである。
【図8】(A)はバイナリデータをXML化する工程を示す図であり、(B)はバウンディングボックスを実行プログラムに関連付ける工程を示す図である。
【図9】図5のステップS3の処理の詳細を示すフローチャートである。
【図10】時刻tにおける任意のオブジェクト(Object[n])の特徴量(オブジェクトプロパティ)を抽出し、リスト化した例を示す図である。
【図11】図5のステップS4の処理の詳細を示すフローチャートである。
【図12】データベースの一例を示す図である。
【図13】制御部により実行される仮想質量の補正処理を示すフローチャートである。
【図14】シグモイド関数の一例を示す図である。
【符号の説明】
【0090】
1 情報処理装置
2,3 力触覚提示装置
9 システムバス
10 制御部
11 CPU
12 ROM
13 RAM
14 ハードディスクドライブ(HDD)
15 操作部
16 表示部
17 インターフェース(IF)部
18 ネットワークインターフェース(IF)部
19 音声出力部
【技術分野】
【0001】
本発明は、力触覚提示装置に接続される情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来より、時間的に変化する多様な触覚情報を作成し提示する触覚情報提示装置が知られている(例えば、特許文献1参照)。
【0003】
この触覚情報提示装置は、触覚情報呈示部、源情報特徴抽出手段、触覚情報作成手段及び駆動機構部を備えている。源情報特徴抽出手段は、時間的に変化する源情報(画像情報または音声情報)の時間変化の特徴を抽出する。触覚情報作成手段は、この源情報特徴抽出手段により抽出された源情報の特徴に応じて触覚情報を作成する。触覚情報呈示部および駆動機構部は、この触覚情報作成手段により作成された触覚情報を提示する。
【0004】
また、従来より、画像の色属性情報に基づいて触覚情報を呈示可能な情報処理装置が知られている(例えば、特許文献2参照)。
【0005】
この情報処理装置は、触覚呈示手段、表示情報記憶手段、触覚情報演算手段、制御手段、A/Dコンバータ、駆動制御回路部及び駆動手段を備えている。触覚情報演算手段は、操作者に触覚情報を呈示するために、表示情報記憶手段から取得した表示情報に含まれる色属性情報に基づいて演算を行い、制御手段に対して制御信号を逐次出力する。制御手段は、触覚情報演算手段からの制御信号を受信し、触覚呈示手段に対して、印加すべき変位量や振動周波数或いは制御ゲインを演算して生成した駆動信号を出力する。さらに、駆動信号が、A/Dコンバータ及び駆動制御回路部の駆動回路を経由して駆動手段へ伝達されることで、触覚呈示手段が駆動され、操作者に対して触覚情報が呈示される。
【特許文献1】特開2003−99177号公報
【特許文献2】特開2001−290572号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
特許文献1では、触覚情報呈示部を駆動させるために、源情報(画像情報または音声情報)の時間変化の特徴が利用されている。一方、特許文献2では、触覚呈示手段を駆動させるために、表示情報に含まれる色属性情報が利用されている。
【0007】
このように、触覚提示装置(上記触覚情報呈示部及び触覚呈示手段の総括名称)を駆動させるために利用される情報は、触覚提示装置毎に異なっている。このため、単一の情報(例えば、画像オブジェクトの特徴量)を利用して複数種類の力触覚提示装置を動作させることができないという課題がある。
【0008】
また、触覚提示装置毎に提示可能な又は出力可能な力は異なるため、規格外の力を出力する指示が触覚提示装置に入力されると、その触覚提示装置が壊れるおそれがある。
【0009】
本発明の目的は、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることが可能な情報処理装置、プログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の情報処理装置は、複数種類の力触覚提示装置と接続可能な接続手段と、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段とを備えることを特徴とする。
【0011】
かかる構成によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【0012】
好ましくは、前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする。
【0013】
かかる構成によれば、力触覚提示装置の種類に応じたフィルタで、提示力算出手段により算出された提示力を補正することができる。
【0014】
好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする。
【0015】
かかる構成によれば、画像オブジェクトの面積を仮想質量として接続手段に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0016】
より好ましくは、前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い、当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする。
【0017】
かかる構成によれば、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
【0018】
より好ましくは、前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする。
【0019】
かかる構成によれば、画像オブジェクトの色が、力触覚提示装置のユーザが感じる画像オブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0020】
好ましくは、前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする。
【0021】
かかる構成によれば、力触覚提示装置のユーザは画像オブジェクトの動きに応じた力や音を体感することができる。
【0022】
上記目的を達成するため、本発明のプログラムは、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させることを特徴とする。
【0023】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータを複数種類の力触覚提示装置と接続可能な接続手段、画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段として機能させるためのプログラムを記録したことを特徴とする。
【0024】
上記プログラム又は上記コンピュータ読み取り可能な記録媒体によれば、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明の効果】
【0025】
本発明によれば、単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0027】
図1は、本発明の実施の形態に係る情報処理装置及び複数の力触覚提示装置を備える力触覚生成システムの構成図である。
【0028】
力触覚提示装置とは、情報処理装置から受信した信号又はデータに基づいて、所定の部位を振動させることで、力をユーザに提示する装置、即ち、振動をユーザに伝える装置である。
【0029】
同図において、情報処理装置1は、コンピュータ等で構成されており、装置全体を制御するCPU11、制御プログラムを備えるROM12、ワーキングエリアとして機能するRAM13、各種の情報、プログラム及びデータベース等を備えるハードディスクドライブ(HDD)14、マウス及びキーボード等で構成される操作部15、液晶モニタ又はCRTで構成される表示部16、力触覚提示装置2,3と接続するためのインターフェース(IF)部17(接続手段、出力手段)、及びネットワークインターフェース(IF)部18、サウンドプロセッサ及びスピーカー等で構成される音声出力部19(音声出力手段)を備えている。
【0030】
CPU11、ROM12及びRAM13は制御部10(提示力算出手段、補正手段、出力手段、検出手段、仮想質量補正手段)を構成する。インターフェース(IF)部17はシリアルインターフェース又はUSBインターフェース等で構成され、力触覚提示装置2,3と接続する。ネットワークIF部18は、LAN(Local Area Network)やインターネットに接続するためのネットワークカードで構成される。
【0031】
CPU11は、システムバス9を介して、ROM12、RAM13、ハードディスクドライブ(HDD)14、操作部15、表示部16、IF部17、ネットワークIF部18及び音声出力部19に接続されている。
【0032】
力触覚提示装置2は、マイコン等で構成されると共に装置全体を制御する制御部21と、マウスカーソルの移動を指示すると共にユーザの指に力触覚の提示を行うポインティングデバイス22と、情報処理装置1から受信する力触覚提示信号に基づいてポインティングデバイス22を駆動する駆動部23と、ポインティングデバイス22の位置を検出する位置センサ24とを備えている。制御部21は、情報処理装置1から受信する力触覚提示信号をD/A変換し増幅する回路部(不図示)を備えていてもよい。
【0033】
制御部21は、ポインティングデバイス22、駆動部23、及び位置センサ24に接続されている。また、制御部21は、位置センサ24からの検出信号に基づいて駆動部23の位置を制御する。
【0034】
力触覚提示装置3は、マイコン等で構成されると共に装置全体を制御する制御部31と、制御部31を介して情報処理装置1から受信する力触覚提示信号をD/A変換するD/Aコンバータ32と、D/A変換された信号を増幅する増幅器33と、増幅された信号に基づいた電流を通すコイル34と、電流の流れに応じて振動すると共に、入力デバイスとして機能するパネル35と、パネル35で入力されたデータをデジタル信号として出力するA/Dコンバータ36とを備えている。
【0035】
図2は、HDD14に格納されるデータ構成の一例を示す図である。
【0036】
HDD14は、各力触覚提示装置に提示される力を算出するための力触覚算出モジュール51、音声、画像又は動画などで構成されるフラッシュのようなコンテンツ52、コンテンツ52の再生を実行するための実行プログラム53、力触覚提示装置の種類に応じて使用されるフィルタを登録するデータベース54、及び後述するオブジェクトプロパティのリスト55を格納する。尚、力触覚提示装置に提示される力を算出するために利用されるコンテンツは、HDD14に格納されているコンテンツ52に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【0037】
図3は、力触覚提示装置2の断面図である。
【0038】
力触覚提示装置2は、マウス形状の筐体201を有し、筐体201内の上部には、駆動部23が設けられている。ポインティングデバイス22は、筐体201の上部からその一部が突出するように形成されており、駆動部23からの振動が伝わるように駆動部23に接続されている。位置センサ24は、筐体201内の上部で、ポインティングデバイス22に対向する位置に設けられている。ポインティングデバイス22の下には、クリックボタン204が設けられており、ポインティングデバイス22の押圧はクリックボタン204に伝達される。筐体201内の底部には、制御部21、ボール202、及びエンコーダ203が設けられている。エンコーダ203は、ボール202の回転を位置情報に変換して、制御部21に送信する。
【0039】
尚、制御部21は、ボール202以外の各構成要素に接続されているが、同図では、配線を省略する。
【0040】
図4(A)は力触覚提示装置3の基本構成を示す分解斜視図、図4(B)は力触覚提示装置3で用いられているパネル駆動機構の詳細を示す図であって、図4(A)のB部分の拡大図である。
【0041】
力触覚提示装置3は、パネル35、コイル34及び磁石とヨークとを含む複数の磁気ユニット301とを有する。磁気ユニット301は、磁力を用いてパネル35を平面に対して垂直方向へ振動させることによって触覚を提示する。コイル34はパネル35の下面に支持され、パネル35の4辺に沿って巻回されている。図4(B)に示すように、コイル34は各辺にそって互いに反対方向に電流が流れるように巻回されている。磁気ユニット301はヨーク301aと磁石301bとを有する。ヨーク301aは断面が略C字状であり、中央部分に磁石301bが配置されている。ヨーク301aと磁石301bとの作用により、時計廻り方向に磁束が流れる磁気回路と反時計廻り方向に磁束が流れる磁気回路とが形成されている。コイル34は2方向に電流を流し、それぞれの電流は対応する磁気回路の磁束と交差するように配置されている。2つの磁気回路と電流の流れる方向とによりフレミングの左手の法則にしたがって、コイル34に力が働く。図4(B)に示す磁極の向きと電流の方向の場合、コイル34には上向きの力が発生する。この力がパネル35を振動させる。
【0042】
図5は、情報処理装置1で実行される概略処理を示すフローチャートである。この処理は、制御部10(具体的には、ROM12に格納された制御プログラムに従ったCPU11)により実行される。
【0043】
まず、制御部10は、IF部17に接続された力触覚提示装置を認識すると、HDD14に格納された力触覚算出モジュール51を読み込む(ステップS1)。制御部10は、読み込まれた力触覚算出モジュール51に従って以降の処理を実行する。
【0044】
次に、制御部10は、HDD14に格納されたコンテンツ52のバイナリデータからオブジェクトを抽出し(ステップS2)、コンテンツ52の再生時に実行プログラム53からオブジェクトの特徴量を抽出しリスト化する(ステップS3)。
【0045】
その後、制御部10は、力触覚提示装置の種類に応じて力触覚提示装置用のフィルタを決定し、力触覚提示装置に提示される力を決定し、IF部17に接続された力触覚提示装置を制御して(ステップS4)、本処理を終了する。
【0046】
図6は、図5のステップS1の処理の詳細を示すフローチャートである。
【0047】
まず、力触覚提示装置がIF部17に接続されると(ステップS11)、制御部10は、IF部17に接続された力触覚提示装置を認識したか否かを判別する(ステップS12)。ここでは、制御部10はOS(operating system)のプラグ・アンド・プレイ機能を使用して力触覚提示装置を認識できるか否かを判別している。
【0048】
ステップS12でNOの場合には、制御部10はエラー処理を実行し(ステップS13)、本処理を終了する。一方、ステップS12でYESの場合には、制御部10はHDD14に格納された力触覚算出モジュール52を読み込み(ステップS14)、図5のステップS2の処理へ進む。
【0049】
図7は、図5のステップS2の処理の詳細を示すフローチャートである。
【0050】
制御部10は、HDD14に格納されたコンテンツ52のバイナリデータを取得し(ステップS21)、当該バイナリデータをXML化(Extensible Markup Language)する(ステップS22)。このステップS21,S22の工程では、図8(A)に示すように、バイナリデータが持つ半構造性に着目し、その繰り返しをタグ等を利用してXMLで記述する。これにより、制御部10は、実行プログラム53が制御するオブジェクトの構造を把握することができるので、オブジェクト単位の情報をバウンディングボックスとして抽出すると共に抽出されたバウンディングボックスを実行プログラム53に関連付けして(ステップS23)、図5のステップS3へ進む。この状態を図8(B)に示す。
【0051】
ステップS23の工程により、実行プログラム53がコンテンツ52を再生し始めたときに、制御部10は、オブジェクトの特徴量(オブジェクトプロパティ)を各オブジェクトから抽出することができる。尚、ステップS22では、制御部10は、バイナリデータをXML化したが、HTML(HyperText Markup Language)やSVG(Scalable Vector Graphics)などのようなテキストデータをXML化してもよい。
【0052】
また、HDD14に格納されたコンテンツ52がフラッシュデータである場合には、制御部10は、上記ステップS22でXML化したファイルを解析することで、オブジェクトの位置、サイズ、及び色の情報を取得することができる。
【0053】
尚、コンテンツは、HDD14に格納されているコンテンツ52に限定されるものではなく、インターネット上にあるコンテンツでもよい。
【0054】
図9は、図5のステップS3の処理の詳細を示すフローチャートである。
【0055】
制御部10は、実行プログラム53がコンテンツ52を再生し始めると、実行プログラム53から関連付けされたオブジェクトの特徴量(オブジェクトプロパティ)を抽出し(ステップS31)、抽出されたオブジェクトプロパティをリスト化し、HDD14に登録する(ステップS32)。
【0056】
図10は、時刻tにおける任意のオブジェクト(Object[n])の特徴量(オブジェクトプロパティ)を抽出し、リスト化した例を示す図である。
【0057】
ここで、_x(t,n)はオブジェクトnの重心位置のx座標を示し、_y(t,n)はオブジェクトnの重心位置のy座標を示し、_width(t,n)はオブジェクトnを囲むバウンディングボックスの幅を示し、_height(t,n)はオブジェクトnを囲むバウンディングボックスの高さを示し、_rotation(t,n)はオブジェクトnの回転角を示す。
【0058】
図9に戻り、制御部10は、オブジェクトプロパティの時系列変化量から運動情報を示すプロパティ値を算出し(ステップS33)、算出された運動情報を示すプロパティ値をリストに追加する(ステップS34)。
【0059】
図10の速度:_velocity(t,n)、加速度:_acceleration(t,n)、及び運動量:_momentum(t,n)の運動情報を示すプロパティ値は、オブジェクト(Object[n])に含まれていない。これらの運動情報を示すプロパティ値は、現状の時刻tでのプロパティ値(X座標:_x(t,n)、Y座標:_y(t,n))と、過去(1つ前の時刻)t−1から得られるプロパティ値(X座標:_x(t-1,n)、Y座標:_y(t-1,n))とから制御部10により算出され、リストに追加される。尚、_x(t,n)はオブジェクトnに含まれる各点のX座標を示し、_y(t,n)はオブジェクトnに含まれる各点のy座標を示すようにしてもよい。この場合、オブジェクトnに含まれる各点の速度、加速度、及び運動量が算出される。
【0060】
また、オブジェクトnが回転運動をする場合には、制御部10は、現状の時刻tでのオブジェクトnの中心点及びそれ以外の一点のプロパティ値と、過去(1つ前の時刻)t−1から得られるオブジェクトnの中心点及びそれ以外の一点のプロパティ値とから、角速度、角加速度及び角運動量を算出する。
【0061】
次いで、制御部10は、実行プログラム53に関連付けされた全オブジェクトに関し、オブジェクトプロパティのリスト化の作業を終了したか否かを判別する(ステップS35)。ステップS35でNOの場合には、ステップS31に戻る。つまり、全オブジェクトのオブジェクトプロパティのリスト化の作業が終了するまで、全オブジェクトのオブジェクトプロパティがリスト化されてHDD14に追記され、さらに、運動情報を示すプロパティ値もリストに追記され、リストが逐次更新される。
【0062】
一方、ステップS35でYESの場合には、制御部10は、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードがパッシブモードであるか又はアクティブモードであるかを判別する(ステップS36)。
【0063】
ここで、力触覚提示装置のポインティングデバイス又はパネルを動作させるモードは、予めユーザが表示部16に表示されるユーザインターフェース(不図示)で設定しているものとする。パッシブモードは、処理対象のオブジェクトが時間経過に応じて進行方向を変更したときに、ポインティングデバイス又はパネルを動作させるモードである。アクティブモードは、処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したときに、ポインティングデバイス又はパネルを動作させるモードである。
【0064】
ステップS36で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、図5のステップS4の処理に進む。一方、ステップS36で、ポインティングデバイス又はパネルを動作させるモードがパッシブモードであると判別された場合は、制御部10は処理対象のオブジェクトを中心とした所定の範囲に他のオブジェクトが侵入したか否かを判別する(ステップS37)。ステップS37でNOの場合には、当該判別処理を繰り返す。一方、ステップS37でYESの場合には、図5のステップS4の処理に進む。
【0065】
図11は、図5のステップS4の処理の詳細を示すフローチャートである。
【0066】
まず、制御部10は、HDD14に登録されたオブジェクトプロパティを用いて、下記式(1)に従って、オブジェクトの仮想質量S(t,n)を計算する(ステップS41)。
仮想質量S(t,n)=_width(t,n) ・_height(t,n) …(1)
【0067】
この場合、オブジェクトを囲むバウンディングボックスの幅(_width(t,n))、及びバウンディングボックスの高さ(_height(t,n))から求められるバウンディングボックスの面積を仮想質量S(t,n)としている。これは、見かけの面積が大きいものが質量が重いという人の先入観又は心理的特徴を利用している。尚、仮想質量S(t,n)の計算方法は、式(1)に限定されるものではない。例えば、図10のように矩形のオブジェクトが傾いている場合には、制御部10は、当該矩形のオブジェクトの一辺が水平又は垂直になるように矩形のオブジェクトを回転して、矩形のオブジェクトの面積を計算し、この結果を仮想質量S(t,n)としてもよい。また、オブジェクトが円形である場合には、制御部10は、当該円形の面積を計算し、この結果を仮想質量S(t,n)としてもよい。
【0068】
また、制御部10は、オブジェクトに対してテクスチャ解析を行い、材質を選定した後に、その材質の物理的な比重及びバウンディングボックスの面積を使って仮想質量S(t,n)を計算してもよい。この場合、制御部10は、下記式(1−1)に従って、オブジェクトの仮想質量S(t,n)を計算する。これにより、オブジェクトに設定される材質を考慮した仮想質量を算出することができる。
仮想質量S(t,n)=_width(t,n) ・_height(t,n)・選定した材質の比重 …(1−1)
【0069】
次いで、制御部10は、オブジェクトの仮想質量S(t,n)と加速度:_acceleration(t,n)に基づいて力:X(t,n)を計算する(ステップS42)。具体的には、力:X(t,n)は下記式(2)に従って計算される。
力:X(t,n)=S(t,n)・_acceleration(t,n) …(2)
【0070】
尚、力:X(t,n)は、仮想質量S(t,n)と2つの速度:_velocity(t,n)から運動量:_momentum(t,n)の差分を算出し、この結果を2つの速度を求めた時間で微分することにより算出してもよい。
【0071】
制御部10は、現在IF部17に接続された力触覚提示装置の種類に応じて、フィルタKをHDD14のデータベース54から選択する(ステップS43)。図12は、データベース54の一例を示す。フィルタKは、力触覚提示装置がユーザに対し許容範囲以上の力を提示して壊われることを防止するため、力触覚提示装置が提示する力に制限をかけている。
【0072】
次に、制御部10は、力触覚提示装置への提示力F(t,n)を決定する(ステップS44)。この場合、制御部10は、力:X(t,n)をフィルタKでフィルタリングし、その結果を力触覚提示装置への提示力F(t,n)としている。即ち、提示力F(t,n)は下記式(3)に従って決定される。
提示力F(t,n)=K(X(t,n)) …(3)
【0073】
最後に、制御部10は、IF部17を介して提示力F(t,n)を示す力触覚提示信号を、当該提示力F(t,n)に対応する力触覚提示装置に出力し、力触覚提示装置を動作させて(ステップS45)、本処理を終了する。
【0074】
IF部17に接続された複数種類の力触覚提示装置を同時に動作させる場合には、制御部10は、各力触覚提示装置のためにステップS43〜S45の処理を実行する。これにより、情報処理装置1は、複数種類の力触覚提示装置を同時に動作させることができる。
【0075】
音声出力部19は、上記ステップS44で決定された提示力の大きさに応じたボリュームの効果音を出力するようにしてもよい。この場合、効果音は予め音声出力部19に設定されているものとする。但し、ユーザは操作部15を介して効果音を自由に設定することができる。これにより、ユーザはオブジェクトの動きに応じた力や音を体感することができる。
【0076】
上述した例では、仮想質量S(t,n)を求める際に、制御部10は、オブジェクトの色情報を考慮していないが、オブジェクトの色情報を用いて仮想質量S(t,n)の補正を行ってもよい。これは、物体の色が、人が感じる物体の重さの違いに与える影響を考慮するためである。
【0077】
図13は、制御部10により実行される仮想質量の補正処理を示すフローチャートである。
【0078】
制御部10は、上記ステップS22でXML化したファイルを解析し、オブジェクトの色情報を取得する(ステップS51)。制御部10は、オブジェクトの色をグレースケール変換し、グラデーションを示す変数Cgを設定する(ステップS52)。その後、制御部10は、変数Cgと仮想質量S(t,n)を使って、補正後の質量Mcを算出する(ステップS53)。
【0079】
補正後の質量Mcは、下記式(4)で計算される。
補正後の質量Mc=S(t,n)+F(Cg) …(4)
式(4)中のF(Cg)はシグモイド関数であり、下記式(5)で表される。
F(Cg)=C1/(1+exp(−(Cg−Cgb))+(C1/2) …(5)
【0080】
ここで、C1は、シグモイド関数の最大値であり、Cgbは、シグモイド関数のx軸を0〜255の範囲で移動可能な変数である。図14にシグモイド関数の一例を示す。
【0081】
式(4),(5)により、Cgbによって指定されたスケールを基準として、オブジェクトのグレースケールが黒に近ければ、補正後の質量は重くなり、オブジェクトのグレースケールが白に近ければ、補正後の質量は軽くなる。
【0082】
以上詳細に説明したように、本実施の形態によれば、制御部10が、画像オブジェクトの特徴量に基づいて、IF部17に接続された力触覚提示装置に提示する力を算出し、力触覚提示装置の種類に応じて、当該算出された力をIF部17に接続された力触覚提示装置に適合する力に補正し、補正された提示力を示す信号をIF部17を介して力触覚提示装置に出力するので、画像オブジェクトの特徴量という単一の情報を利用して、複数種類の力触覚提示装置を適切に動作させることができる。
【0083】
また、データベース54は、複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えているので、制御部10は、力触覚提示装置の種類に応じたフィルタで力触覚提示装置に提示する力を補正することができる。
【0084】
また、画像オブジェクトの面積を仮想質量としてIF部17に接続された力触覚提示装置に提示する力が算出されるので、加速度が一定の場合、面積が大きいものが質量が重い又は面積が小さいものが質量が軽いだろうという力触覚提示装置のユーザの先入観又は心理的特徴を利用して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0085】
さらに、制御部10は、画像オブジェクトの色情報を検出し、当該検出された色情報に応じて仮想質量の補正を行うので、画像オブジェクトの色が、力触覚提示装置のユーザが感じるオブジェクトの重さに与える影響を考慮して、力触覚提示装置のユーザに違和感を感じさせない力を伝達することができる。
【0086】
情報処理装置1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、情報処理装置1に供給し、制御部10が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
【0087】
また、情報処理装置1が、情報処理装置1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記実施の形態と同様の効果を奏する。
【0088】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【図面の簡単な説明】
【0089】
【図1】本発明の実施の形態に係る情報処理装置1及び複数の力触覚提示装置2,3を備える力触覚生成システムの構成図である。
【図2】ハードディスクドライブ(HDD)に格納されるデータ構成の一例を示す図である。
【図3】力触覚提示装置2の断面図である。
【図4】(A)は力触覚提示装置3の基本構成を示す分解斜視図であり、(B)は力触覚提示装置3で用いられているパネル駆動機構の詳細を示す図であって、(A)のB部分の拡大図である。
【図5】情報処理装置1で実行される概略処理を示すフローチャートである。
【図6】図5のステップS1の処理の詳細を示すフローチャートである。
【図7】図5のステップS2の処理の詳細を示すフローチャートである。
【図8】(A)はバイナリデータをXML化する工程を示す図であり、(B)はバウンディングボックスを実行プログラムに関連付ける工程を示す図である。
【図9】図5のステップS3の処理の詳細を示すフローチャートである。
【図10】時刻tにおける任意のオブジェクト(Object[n])の特徴量(オブジェクトプロパティ)を抽出し、リスト化した例を示す図である。
【図11】図5のステップS4の処理の詳細を示すフローチャートである。
【図12】データベースの一例を示す図である。
【図13】制御部により実行される仮想質量の補正処理を示すフローチャートである。
【図14】シグモイド関数の一例を示す図である。
【符号の説明】
【0090】
1 情報処理装置
2,3 力触覚提示装置
9 システムバス
10 制御部
11 CPU
12 ROM
13 RAM
14 ハードディスクドライブ(HDD)
15 操作部
16 表示部
17 インターフェース(IF)部
18 ネットワークインターフェース(IF)部
19 音声出力部
【特許請求の範囲】
【請求項1】
複数種類の力触覚提示装置と接続可能な接続手段と、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させることを特徴とするプログラム。
【請求項8】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項1】
複数種類の力触覚提示装置と接続可能な接続手段と、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段と、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段と、
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項2】
前記補正手段は、前記複数種類の力触覚提示装置にそれぞれ対応する複数のフィルタを備えていることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、当該算出された画像オブジェクトの面積を仮想質量とし、前記画像オブジェクトの今回及び前回の特徴量に基づいて当該画像オブジェクトの加速度を算出し、前記仮想質量と前記加速度とに基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記提示力算出手段は、前記画像オブジェクトの特徴量に基づいて当該画像オブジェクトの面積を算出し、前記画像オブジェクトに対してテクスチャ解析を行い当該画像オブジェクトの材質を選定し、その材質の比重と前記算出された画像オブジェクトの面積とを積算した結果を仮想質量とすることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記画像オブジェクトの色情報を検出する検出手段と、当該検出された色情報に応じて前記仮想質量の補正を行う仮想質量補正手段とを備えることを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記補正手段により補正された力の大きさに応じたボリュームの効果音を出力する音声出力手段を備えることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
【請求項7】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させることを特徴とするプログラム。
【請求項8】
コンピュータを
複数種類の力触覚提示装置と接続可能な接続手段、
画像オブジェクトの特徴量に基づいて、前記接続手段に接続された力触覚提示装置に提示する力を算出する提示力算出手段、
前記力触覚提示装置の種類に応じて、前記提示力算出手段により算出された力を前記力触覚提示装置に適合する力に補正する補正手段、及び
前記補正手段により補正された力を示す信号を前記力触覚提示装置に出力する出力手段
として機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−305109(P2008−305109A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2007−150998(P2007−150998)
【出願日】平成19年6月6日(2007.6.6)
【出願人】(304021417)国立大学法人東京工業大学 (1,821)
【出願人】(501398606)富士通コンポーネント株式会社 (848)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願日】平成19年6月6日(2007.6.6)
【出願人】(304021417)国立大学法人東京工業大学 (1,821)
【出願人】(501398606)富士通コンポーネント株式会社 (848)
[ Back to top ]