情報処理装置及び方法、並びにプログラム
【課題】簡素な構成で誤検出なく確実にユーザ操作を検出すると共に、ユーザ操作としてより簡便な操作を提供することが可能な情報処理装置等を実現する。
【解決手段】撮像部12は、机の上面等の所定領域を、所定の入力機器に対応する仮想入力機器領域として、当該仮想入力機器領域内で押下操作を行うユーザの指を撮像することによって、撮像画像のデータを出力する。音声入力部13は、ユーザの指による押下操作がなされた仮想入力機器領域から発生する音を入力し、当該音のデータを出力する。接触操作検出部51は、撮像部12から出力された撮像画像のデータと、音声入力部13から出力された音のデータとに基づいて、ユーザの指により仮想入力機器領域に対する押下操作がなされたことを検出する。入力処理部53は、接触操作検出部51の検出結果に基づいて、所定の情報を入力する。
【解決手段】撮像部12は、机の上面等の所定領域を、所定の入力機器に対応する仮想入力機器領域として、当該仮想入力機器領域内で押下操作を行うユーザの指を撮像することによって、撮像画像のデータを出力する。音声入力部13は、ユーザの指による押下操作がなされた仮想入力機器領域から発生する音を入力し、当該音のデータを出力する。接触操作検出部51は、撮像部12から出力された撮像画像のデータと、音声入力部13から出力された音のデータとに基づいて、ユーザの指により仮想入力機器領域に対する押下操作がなされたことを検出する。入力処理部53は、接触操作検出部51の検出結果に基づいて、所定の情報を入力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を受け付ける情報処理装置及び方法、並びにプログラムに関し、特に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にする技術に関する。
【背景技術】
【0002】
従来から、キーボードや鍵盤等の入力機器を用いずに、人間の手を用いた所定の所作を検出することによって、所定の情報を入力する技術が研究開発されている。
【0003】
例えば、特許文献1には、空間の手の動きを検出して文字を入力する技術が開示されている。特許文献2には、手にセンサをつけて音源を制御する技術が開示されている。特許文献3には、空間の手の動きを検出して情報を入力する際に、操作に関するユーザの発話内容、例えば「あれ」、「これ」といった内容も加味する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−28096号公報
【特許文献2】特開平6−118962号公報
【特許文献3】特開平6−28096号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、机の上等をキーボードや鍵盤に見立てて、机の上等を押下操作することによって情報を入力したいという要望が挙げられている。当該要望に応えるためには、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現する必要がある。しかしながら、特許文献1乃至3に開示された技術を含めた従来の技術では、両方を共に実現することは困難である。
【0006】
即ち、誤検出なく確実にユーザ操作を検出するためには、ユーザの指が机の上等に実際に接触したことを検出する必要がある。ここで、このような検出を、以下、「指接触検出」と呼ぶ。
特許文献1に記載の技術を適用して、指接触検出を実現するためには、ユーザの手の甲を上から撮像するだけでなく、ユーザの手の平と、机の上等との間の空間を横から撮像する必要がある。このためには、少なくとも2台の撮像装置を設けなければならず、かつ、2台の撮像装置により撮像された各々の画像に対して画像処理を施さなければならず、結果として、複雑で大掛かりな構成となってしまう。即ち、簡素な構成を実現することができない。
一方で、簡素な構成とするために、ユーザの手の甲を上から撮像しただけでは、指が停止しただけなのか(机の上等から離れているのか)、それとも、指が机等を押下したのか(机の上等に指を接触したのか)を判断することができない。即ち、指接触検出を実現できず、その結果、誤検出なく確実にユーザ操作を検出することが非常に困難になる。
【0007】
特許文献2に記載の技術を適用した場合には、手にセンサをつける必要があるため、複雑で大掛かりな構成となってしまい、簡素な構成を実現することができない。
【0008】
特許文献3に記載の技術を適用した場合には、ユーザは、キーボード又は鍵盤に見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応するキー又は鍵の名称等を発話しなければならない。
例えば、ユーザが、ワープロの入力のために、キーボードに見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応するキーの名称を発話することは、ワープロで作成する文章を音読することに他ならず、ユーザにとって非常に面倒で疲れる作業になる。
また例えば、ユーザが、電子ピアノの演奏操作のために、鍵盤に見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応する鍵の名称を発話することは、電子ピアノで演奏する楽曲の楽譜を音読すること又は歌唱することに他ならず、ユーザにとって非常に面倒で疲れる作業になる。
そもそも、ユーザが発話できないような環境では、特許文献3に記載の技術を適用することはできない。
このように、特許文献3に記載の技術を適用しても、ユーザ操作としてより簡便な操作を提供することは実現できない。
【0009】
本発明は、このような状況に鑑みてなされたものであり、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を行う場合に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様によると、
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出手段と、
前記撮像手段から出力された前記撮像画像のデータと、前記状態入力手段から出力された前記状態データとに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出手段と、
前記接触操作検出手段の検出結果に基づいて、前記所定の情報を入力する情報入力手段と、
を備える情報処理装置を提供する。
【0011】
本発明の一態様によると、上述した本発明の一態様に係る情報処理装置に対応する情報処理方法及びプログラムを提供する。
【発明の効果】
【0012】
本発明によれば、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を行う場合に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にすることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る情報処理装置の外観構成を示す正面図である。
【図2】図1の情報処理装置の側面の構成例を示す、図1のA−A’線における断面図である。
【図3】図1の情報処理装置が実行する仮想入力機器用処理において、仮想入力機器領域がキーボードに対応する場合のユーザの操作を説明する図である。
【図4】仮想入力機器用処理を実行するための図1の情報処理装置の機能的構成を示す機能ブロック図である。
【図5】図1の情報処理装置が実行する仮想入力機器用処理のうち、図3のユーザ操作に対応する仮想入力機器用処理において用いられる撮像画像の一例を示す図である。
【図6】図1の情報処理装置が実行する仮想入力機器用処理のうち、図3のユーザ操作に対応する仮想入力機器用処理において用いられる指の配置位置の検出手法を説明する図である。
【図7】図5の撮像画像が、規定情報によって仕切られている状態を示す図である。
【図8】図3のユーザ操作に対応して図1の情報処理装置が仮想入力機器用処理を実行した結果として得られる入力操作結果画像が、表示部の画面として表示されている様子を示す図である。
【図9】図1の情報処理装置が実行する仮想入力機器用処理において、仮想入力機器領域が鍵盤に対応する場合のユーザの操作を説明する図である。
【図10】図1の情報処理装置が実行する仮想入力機器用処理のうち、図9のユーザ操作に対応する仮想入力機器用処理において用いられる撮像画像の一例を示す図である。
【図11】図1の情報処理装置が実行する仮想入力機器用処理の流れの一例を示すフローチャートである。
【図12】図11の仮想入力機器用処理のうち位置合わせ処理の詳細な流れの一例を説明するフローチャートである。
【図13】図11の仮想入力機器用処理のうちON検出処理の詳細な流れの一例を説明するフローチャートである。
【図14】図11の仮想入力機器用処理のうちON検出処理の詳細な流れの一例であって、図12の例とは異なる例を説明するフローチャートである。
【図15】図1の情報処理装置を実現するハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態を図面に基づいて説明する。
【0015】
図1は、本発明の一実施形態に係る情報処理装置1の外観構成例を示す正面図である。
図1に示すように、情報処理装置1は、デジタルフォトフレームとして構成されている。このため、情報処理装置1の正面1aには、例えば液晶ディスプレイ等で構成される表示部11と、例えばデジタルカメラ等で構成される撮像部12と、マイクロフォン等で構成される音声入力部13と、が設けられている。
ここで、図1のA−A’線と平行な方向のうち、同図中上方向(A’からAに向かう方向)を「上方向」と呼び、同図中下方向(A’からAに向かう方向)を「下方向」と呼ぶ。この場合、表示部11の中央部の上方向に、撮像部12が配置されており、表示部11の中央部の下方向に、音声入力部13が配置されている。
【0016】
図2は、情報処理装置1の側面の構成例を示す、図1のA−A’線における断面図である。
図2に示すように、情報処理装置1は、その裏面1bに設けられた架台14によって、例えば机21の上面に立てかけて配置することができる。
この場合、ユーザは、机21の上面のうち、情報処理装置1の正面1aの前方の所定領域41を、所定の入力機器に見立てて、当該入力機器に対する操作と全く同様の操作を行うことで、所望の情報を情報処理装置1に入力させることができる。
なお、机21の上面等、情報処理装置1が配置されている面のうち、情報処理装置1の正面1aの前方の所定領域(図2の例では所定領域41)、即ち所定の入力機器に見立てられる領域を、以下「仮想入力機器領域」と呼ぶ。
【0017】
図3は、机21の上面の仮想入力機器領域41がキーボードに対応する場合のユーザの操作を説明する図である。
なお、図3において、仮想入力機器領域41において点線で示されるキーボードのキー配列は、説明の便宜上図示したものである。即ち、仮想入力機器領域41とは、あくまでも実物体の面(図3の例では机21の上面)の一領域である。従って、実際には、仮想入力機器領域41が形成されている実物体の面には、キーボードのキー配列が表現されていることは稀である。即ち、ここでは、ユーザは、いわゆるブラインドタッチをすることを前提とする。ただし、ブラインドタッチが苦手なユーザのために、例えば、キーボードのキー配列が印刷されたシートや下敷き等を仮想入力機器領域41(机21の上面等)の上に敷いてもよい。
図3に示すように、ユーザは、キーボードの「Fキー」に割り当てられた情報を、情報処理装置1に入力させたい場合、仮想入力機器領域41のうち「Fキー」に対応する位置に対して、その指31を叩く操作、即ち押下操作をすればよい。
【0018】
情報処理装置1は、このような指31の押下操作を検出し、押下操作に対応する情報、例えば図3の例ではキーボードの「Fキー」に割り当てられた情報を入力し、入力した情報に基づいて各種各様の処理を実行する。
このような情報処理装置1の一連の処理を、以下、「仮想入力機器用処理」と呼ぶ。
なお、仮想入力機器用処理で検出されるユーザ操作は、図3の例では、指31の押下操作であるが、これに限定されない。例えば、爪で机21の上面等の面をひっかく操作等、指31又は爪を実物体の面に接触させることで実現される操作(以下、「接触操作」と呼ぶ)が、仮想入力機器用処理で検出され得る。
即ち、仮想入力機器用処理とは、より一般的にいうと、情報処理装置1が、接触操作を検出し、当該接触操作に対応する情報を入力し、入力した情報に基づいて各種各様の処理を実行するまでの一連の処理をいう。
ただし、以下、説明の便宜上、図3の例を用いて、仮想入力機器用処理について説明を続ける。
【0019】
図4は、このような仮想入力機器用処理を実行するための情報処理装置1の機能的構成を示す機能ブロック図である。
【0020】
情報処理装置1は、上述した表示部11乃至音声入力部13に加えてさらに、接触操作検出部51と、規定情報記憶部52と、入力処理部53と、表示制御部54と、音声制御部55と、音源部56と、音声出力部57と、を備えている。
【0021】
撮像部12は、上述した図2に示すように、仮想入力機器領域41が形成された机21の上面を斜め上方から撮像し、その結果得られる画像(以下、「撮像画像」と呼ぶ)のデータを接触操作検出部51に供給する。
【0022】
図5は、撮像画像61の一例を示している。
図5の例の撮像画像61には、机21の上に、ユーザの左右の手の甲(指31含む)が配置されている様子が写されている。
【0023】
図4の接触操作検出部51は、撮像画像のデータに基づいて、撮像画像内のユーザの各指の配置位置を検出する。
指の配置位置の検出手法は、特に限定されないが、本実施形態では、図6に示す手法が採用されているものとする。
即ち、図6は、指の配置位置の検出手法を説明する図である。
図6に示すように、接触操作検出部51は、撮像画像61から各指31の爪の領域31a(以下、「爪領域31a」と呼ぶ)をそれぞれ検出し、撮像画像61における各爪領域31aの位置を、各指31の配置位置として検出する。
【0024】
ここで、図4の規定情報記憶部52は、規定情報を記憶している。
規定情報とは、撮像部12の画角の範囲に対応して仮想入力機器領域41の配置位置を予め規定している情報をいう。撮像部12の画角の範囲とは、撮像部12の撮像素子の有効画素の全領域の範囲、即ち、撮像画像の範囲を意味する。即ち、撮像画像内における仮想入力機器領域41の位置を規定する情報が規定情報である。
例えば、図3の例の場合、即ちキーボードに対応する仮想入力機器領域41が採用されている場合には、キーボードを構成する各キーが、撮像部12の画角の範囲(撮像画像の範囲)内の何れの領域に対応するのかを規定する情報が、規定情報となる。
【0025】
そこで、接触操作検出部51は、このような規定情報と、検出した各指31の配置位置とに基づいて、仮想入力機器領域41における指31の相対位置を特定する。
図7は、撮像画像61が、規定情報によって仕切られている状態を示している。
図7に示すように、撮像画像61のうち、規定情報によって仕切られた領域が、仮想入力機器領域41となる。即ち、机21の上面にキーボードが仮に配置されている状態で撮像部12が撮像したならば、撮像画像61に写り込むであろうキーボードの像が規定情報によって再現され、当該キーボードの像の領域が仮想入力機器領域41として設定されることになる。
具体的には、撮像部12の画角の範囲内(図7の例では撮像画像61の範囲内)において、キーボードのキー配列に対応して、遠近法に基づいて区切られた各領域が、キーボードを構成する各キーに対応することになる。このような所定のキーに対応する各領域(以下、「キー領域」と呼ぶ)の集合体が、仮想入力機器領域41として設定される。即ち、図3の例のように、キーボードに対応する仮想入力機器領域41が設定される場合に採用される規定情報とは、撮像部12の画角の範囲内における各キー領域の各々の配置位置を規定している情報をいう。
図7の例では、接触操作検出部51は、撮像画像61の範囲内において、規定情報によって設定された仮想入力機器領域41の配置位置と、検出した爪領域31aの配置位置とを対応付けることによって、仮想入力機器領域41における指31の相対位置を特定する。
【0026】
なお、図5乃至図7に示す撮像画像61は、ユーザには提示せず、接触操作検出部51の処理用としてのみ用いられる。
【0027】
図4の接触操作検出部51は、上述した一連の処理、即ち、撮像画像61のデータに基づいて、仮想入力機器領域41における指31の相対位置を特定するまでの上述した一連の処理を、所定時間の間隔毎に実行する。そして、接触操作検出部51は、所定時間の間隔毎の各実行結果に基づいて、仮想入力機器領域41における指31の移動軌跡及び移動速度を求める。
ここで、移動速度には、「0」、即ち指31の停止も含まれる。従って、接触操作検出部51は、移動している指31が急停止した場合、仮想入力機器領域41を構成する各キー領域のうち、指31が停止した位置に対応するキー領域が、押下操作の対象であると認識する。
例えば図7において、符号が付されている爪領域31aが、移動後に、同図に示す位置に急停止したとする。この場合、接触操作検出部51は、爪領域31aが、仮想入力機器領域41の「Fキー」に対応するキー領域に配置されることを特定することによって、「Fキー」に対応するキー領域が押下操作の対象であると認識する。
なお、押下操作の対象であると認識されたキー領域を、以下、「対象キー領域」と呼ぶ。
【0028】
接触操作検出部51は、対象キー領域が指31により押下操作されたか否かを判断するために、指31が机21の上面等を叩く際(押下操作する際)に発生する音のデータを利用する。
即ち、音声入力部13は、図2に示すように、常時、机21の上面の仮想入力機器領域41の近傍の音を入力し、その音のデータを接触操作検出部51に供給する。
ここで、接触操作検出部51に供給される音のデータは時間領域のデータである。そこで、接触操作検出部51は、音声入力部13から供給された音のデータに対してFFT(Fast Fourier Transform)処理を施すことによって、その形態を時間領域のデータから周波数領域のデータに変換する。
そして、接触操作検出部51は、当該周波数領域の音のデータに基づいて、1次振動音のレベルが閾値を超えたか否かを判定することによって、指31により押下操作されたか否かを判断する。接触操作検出部51は、1次振動音のレベルが閾値を超えた場合には、指31が机21の上面等を叩いた(押下操作された)と判断する。
例えば、指31が机21の上面等を叩いた(押下操作をした)場合の1次振動音が20Hz帯の音であり、閾値が−10dBであるとする。この場合、接触操作検出部51は、周波数領域の音のデータのうち20Hz帯のデータを参照して、当該データのレベルが−10dBを超えていた場合に、指31により押下操作されと判断する。
なお、上記数値は例示に過ぎず、また、閾値判断される周波数帯域は1種類に特に限定されず、後述するように、誤検出防止のため2種類以上の周波数帯域が閾値判断される場合がある。
【0029】
以上まとめると、接触操作検出部51は、撮像部12から出力された撮像画像のデータに基づいて、仮想入力機器領域41の中から対象キー領域を認識し、音声入力部13から出力された音のデータに基づいて、当該対象キー領域が押下操作されたことを検出する。
なお、このような接触操作検出部51による検出を、「対象キー領域への押下操作の検出」と呼ぶ。
【0030】
対象キー領域への押下操作の検出結果は、接触操作検出部51から入力処理部53に通知される。
すると、入力処理部53は、対象キー領域に対応するキーに割り当てられている情報を入力し、入力した情報に従って各種処理を実行する。
即ち、入力処理部53は、情報の入力機能と、入力した情報に従った処理を実行する処理実行機能と、を備えている。
処理実行機能として、いわゆるワープロ機能が存在する。このようなワープロ機能を入力処理部53が発揮している最中に、図3に示すように、ユーザが机21の上の仮想入力機器領域41のうち、「Fキー」に対応するキー領域を押下操作したとする。なお、上述したように、実際には「Fキー」は机21の上面には表現されていない。
この場合、接触操作検出部51は、上述した一連の処理を実行することで、対象キー領域への押下操作の検出の結果として、「Fキー」に対応するキー領域が押下操作された旨を、入力処理部53に通知する。
すると、入力処理部53は、入力機能を発揮させ、当該通知に従って、「Fキー」に割り当てられている情報、例えば「F」というテキスト情報を入力する。そして、入力処理部53は、ワープロ機能を発揮させることで、例えば、作成中の文章中に「F」というテキストを追加する処理を実行する。
【0031】
入力処理部53は、さらに、対象キー領域に関する情報を表示制御部54に供給する。対象キー領域に関する情報としては、対象キー領域に対応するキーを特定する情報のみならず、当該キーに割り当てられている情報(即ち、入力された情報)等が広く含まれる。
表示制御部54は、供給された対象キー領域に関する情報を含む画像、即ち、ユーザの仮想入力機器領域41に対する操作結果を示す画像(以下、「入力操作結果画像」と呼ぶ)を、表示部11に表示させる制御を実行する。
【0032】
図8は、入力操作結果画像が、表示部11の画面として表示されている様子を示す図である。
ここで、「画面」とは、表示装置又は装置が有する表示部(本実施形態では表示部11)の表示領域全体に表示される画像をいう。
図8の例では、表示部11の画面である入力操作結果画像には、入力情報表示領域71、仮想入力機器領域41、及び、爪領域31aが含まれている。
入力情報表示領域71には、対象キー領域の押下操作に応じて入力された情報が、過去の履歴も含めて表示される。即ち、入力処理部53がワープロ機能を発揮している場合には、ユーザが作成した文章等が入力情報表示領域71に表示される。例えば図8の例では、「ABCDE」という過去に入力された情報が表示され、さらにその右方には、「F」という最新に入力された情報71aがハイライト表示されている。
仮想入力機器領域41は、規定情報記憶部52に記憶された規定情報に基づいて表示される。ここで、図8の例では、仮想入力機器領域41のうちキー領域41aがハイライト表示されている。このハイライト表示は、最新の対象キー領域であることを示している。即ち、図8の例では、ハイライト表示されたキー領域41aが最新の対象キー領域であり、当該キー領域41aが押下操作された結果として、入力情報表示領域71において「F」という情報71aがハイライト表示されている。
爪領域31aは、図4の接触操作検出部51の検出結果に基づいて表示される。
【0033】
なお、最新のキー領域41aの表示形態や、当該キー領域41aの押下操作によって最新に入力された情報71aの表示の形態は、特にハイライト表示に限定されず、過去に入力された情報と区別可能な形態であれば足りる。
また、最新の対象キー領域41aが提示できる表示形態であれば、仮想入力機器領域41と爪領域31aとの表示は必須ではない。しかしながら、ユーザにとっては、本来何も存在しない机21(キー配列等が一切表現されていない机21)の上で押下操作をしている。このため、仮想入力機器領域41と爪領域31aとを表示しないと、ユーザにとっては、現在どのような押下操作をしているのかを容易かつ即座に認識できないおそれがある。従って、このようなおそれをなくすべく、即ち現在どのような押下操作をしているのか容易かつ即座にユーザに視認させるべく、仮想入力機器領域41と爪領域31aとを表示させた方が好適である。
【0034】
図4に戻り、入力処理部53は、さらに、対象キー領域に関する情報を音声制御部55に供給する。
音声制御部55は、対象キー領域に関する情報に基づいて、音源部56から発生される音を音声出力部57から出力させる制御を実行する。
例えば、図3の例のように、キーボードに対応する仮想入力機器領域41が採用されている場合には、キーボードのキーが実際に押下されたときに発生する音、いわゆる「カチャカチャ音」を実録したデータが、音源部56に保持されている。
この場合、音声制御部55は、当該音のデータを取得して、アナログの音声信号に変換して音声出力部57に供給する。音声出力部57は、例えばスピーカ等で構成されており、音声制御部55から供給されたアナログの音声信号に対応する音、即ち、押下されたキーボードから発生する「カチャカチャ音」を出力する。
これにより、ユーザは、あたかもキーボードを操作しているように感じることが可能になる。
【0035】
以上、図3の例、即ちキーボードに対応する仮想入力機器領域41が採用された場合の例を用いて、情報処理装置1の機能的構成を説明したが、キーボードは例示にしか過ぎない。
例えば、当該機能的構成を有する情報処理装置1は、規定情報を変化させることによって、電子ピアノ等の鍵盤に対応する仮想入力機器領域41を用いて、「仮想入力機器用処理」を実行することもできる。
換言すると、ユーザは、仮想入力機器領域41をキーボードに対応させる設定操作をすると、図3を用いて説明したように、仮想入力機器領域41をキーボードと見立てて操作することができる。一方、ユーザは、仮想入力機器領域41を鍵盤に対応させる設定操作をすると、図9に示すように、仮想入力機器領域41を鍵盤と見立てて操作することができる。
【0036】
図9は、机21の上面の仮想入力機器領域41が鍵盤に対応する場合のユーザの操作を説明する図である。
なお、図9において、仮想入力機器領域41において点線で示される鍵盤の鍵の配列は、説明の便宜上図示したものである。即ち、仮想入力機器領域41とは、あくまでも実物体の面(図9の例では机21の上面)の一領域である。従って、実際には、仮想入力機器領域41が形成されている実物体の面には、鍵盤の鍵の配列が表現されていることは稀である。即ち、ここでは、ユーザは、実際の鍵盤を視認することなく演奏操作ができることを前提とする。ただし、このような演奏操作が苦手なユーザのために、例えば、鍵盤の鍵の配列が印刷されたシートや下敷き等を仮想入力機器領域41(机21の上面等)の上に敷いてもよい。
図9に示すように、ユーザは、所望の音高(周波数)の音を情報処理装置1から発生させたい場合、仮想入力機器領域41のうち、当該所望の音高が割り当てたれた鍵に対応するキー領域に対して、その指31を叩く操作、即ち押下操作をすればよい。
【0037】
この場合、情報処理装置1の図4の規定情報記憶部52は、鍵盤を構成する各鍵が、撮像部12の画角の範囲(撮像画像の範囲)内の何れの領域に対応するのかを規定する情報を、規定情報として記憶している。
【0038】
そこで、接触操作検出部51は、このような規定情報と、検出した各指31の配置位置とに基づいて、仮想入力機器領域41における指31の相対位置を特定する。
図10は、撮像画像91が、規定情報によって仕切られている状態を示している。
図10に示すように、撮像画像91のうち、規定情報によって仕切られた領域が、仮想入力機器領域41となる。即ち、机21の上面に鍵盤が仮に配置されている状態で撮像部12が撮像したならば、撮像画像91に写り込むであろう鍵盤の像が規定情報によって再現され、当該鍵盤の像の領域が仮想入力機器領域41として設定されることになる。
具体的には、撮像部12の画角の範囲内(図10の例では撮像画像91の範囲内)において、鍵盤の鍵の配列に対応して、遠近法に基づいて区切られた各領域が、鍵盤を構成する各鍵に対応することになる。このような所定の鍵に対応する各領域を、キーボードの場合と統一するために、同様に「キー領域」と呼ぶものとすると、キーボードの場合と全く同様に、キー領域の集合体が仮想入力機器領域41として設定される。
図10の例では、接触操作検出部51は、撮像画像61の範囲内において、規定情報によって設定された仮想入力機器領域41の配置位置と、検出した爪領域31aの配置位置とを対応付けることによって、仮想入力機器領域41に対する指31の相対位置を特定する。
その後、接触操作検出部51は、キーボードに対応する仮想入力機器領域41の場合と全く同様の処理を実行することで、対象キー領域への押下操作の検出を行うことができる。
【0039】
対象キー領域への押下操作の検出結果は、図4の接触操作検出部51から入力処理部53に通知される。
この場合、入力処理部53は、入力機能を発揮し、かつ、処理実行機能として、いわゆるシーケンサ機能を発揮する。
即ち、入力処理部53は、入力機能を発揮させ、当該通知に従って、対象キー領域に対応する鍵に割り当てられている音高を特定可能な情報(以下、「音高情報」と呼ぶ)を入力する。例えば「C3」等が、音高情報として入力処理部53に入力される。そして、入力処理部53は、シーケンサ機能を発揮させ、後述する音声制御部55を制御することによって、音高情報で特定される音高(周波数)の音、例えば「C3」の音等を音声出力部57から出力させる。
換言すると、音声制御部55は、音高特定情報で特定される音高の音を、音源部56から発生させ、音声出力部57から出力させる制御を実行する。
例えば、音源部56が、いわゆるPCM(Pulse Code Modulation)音源として構成されているものとする。
この場合、音声制御部55は、音高情報で特定される音高の音のデータを音源部56から再生させ、当該音のデータをアナログの音声信号に変換して音声出力部57に供給する。音声出力部57は、例えばスピーカ等で構成されており、音声制御部55から供給されたアナログの音声信号に対応する音、即ち、PCM音源(音源部56)から発生された所定の音高の音を出力する。
これにより、鍵盤を有しない情報処理装置1を電子ピアノとして機能させることができる。即ち、ユーザは、鍵盤が無くとも、机21の上面等任意の実物体の面上に形成された仮想入力機器領域41を鍵盤代わりとして、電子ピアノと全く同様の演奏操作を行うことができる。
【0040】
なお、この場合も、表示制御部54は、対象キー領域、及び、入力処理部53によって入力された情報を含む入力操作結果画像を、表示部11に表示させる制御を実行する。具体的には例えば、図示はしないが、鍵盤に対応する仮想入力機器領域41及び爪領域31aを含み、最新の対象キー領域(最新に押下された鍵に対応するキー領域)が他のキー領域とは区別して表示されるような入力操作結果画像が、表示部11に表示される。
【0041】
以上、情報処理装置1の機能的構成について説明した。
ただし、上述した図4の機能的構成は例示に過ぎず、仮想入力機器用処理を実行可能であれば、情報処理装置1は任意の機能的構成を取ることができる。
【0042】
次に、図11乃至図14を参照して、図4の機能的構成を有する情報処理装置1が実行する仮想入力機器用処理の流れについて説明する。
【0043】
図11は、仮想入力機器用処理の主となる流れの一例を示すフローチャートである。
仮想入力機器用処理は、例えば、情報処理装置1の電源が投入されて、ユーザにより所定の操作がなされたことを契機として開始する。
【0044】
ステップS11において、図4の情報処理装置1の各部は、イニシャライズ処理を実行する。
【0045】
ステップS12において、情報処理装置1の各部は、スイッチ処理を実行する。
スイッチ処理とは、モードや設定条件等の複数の選択肢が存在するものについて、初期設定を含め、所定の選択肢を選択して設定する処理をいう。
例えば本実施形態では、仮想入力機器領域41に対応させる入力機器として、キーボードと鍵盤とのうち何れか一方をユーザが選択することができる。そして、ユーザは、キーボードを選択した場合には、図3を用いて上述した操作、即ち、仮想入力機器領域41をキーボードと見立てて、キーボードに対する押下操作と全く同様の操作をすることができる。一方、ユーザは、鍵盤を選択した場合には、図9を用いて上述した操作、即ち、仮想入力機器領域41を鍵盤と見立てて、鍵盤に対する演奏操作と全く同様の操作をすることができる。
この場合のスイッチ処理として、接触操作検出部51等は、当該ユーザの選択の操作を受け付け、当該操作の内容に従って、キーボードと鍵盤とのうち何れか一方を仮想入力機器領域41に対応付ける設定をする。
その他のスイッチ処理として、接触操作検出部51等は、仮想入力機器領域41が形成される実物体の面の種類(例えば机21の上面ならば木材等)や、鍵盤が設定された場合における発音させたい音色の種類等を設定する。
【0046】
ステップS13において、接触操作検出部51は、位置合せ処理を実行する。
位置合せ処理とは、ユーザが押下操作をする実物体の面(上述した例では机21の上面)の中の所定の位置を、仮想入力機器領域41内の所定のキー領域の位置(基準位置)として初期設定する処理をいう。
即ち、ユーザにとって、指31の初期位置(基準位置)となる所定のキー領域が存在する。例えばキーボードであるならば「Jキー」に対応するキー領域の位置が初期位置である。一方、例えば鍵盤であるならば「C3の音程の鍵」に対応するキー領域の位置が初期位置である。仮想入力機器領域41が設定される面(上述した例では机21の上面)の中から、このような初期位置を決定して、初期設定するためのキャリブレーション処理が、位置合せ処理である。
なお、本実施形態の位置合せ処理のさらなる詳細については、図12のフローチャートを参照して後述する。
位置合せ処理が終了すると、ユーザが押下操作する実物体の面の一部の領域が、仮想入力機器領域41として確定することになる。
【0047】
ステップS14において、接触操作検出部51は、ON検出処理を実行する。
ON検出処理とは、本実施形態では、対象キー領域への接触操作の検出を行う処理、例えば、仮想入力機器領域41がキーボード又は鍵盤に対応する場合には、対象キー領域への押下操作の検出を行う処理をいう。
なお、本実施形態のON検出処理のさらなる詳細については、図13のフローチャートを参照して後述する。
【0048】
対象キー領域への押下操作の検出結果が、図4の接触操作検出部51から入力処理部53に通知されると、処理はステップS14からステップS15に進む。
ステップS15において、入力処理部53は、入力処理を実行する。
入力処理とは、入力処理部53が、上述した入力機能及び処理実行機能を発揮させる処理をいう。
即ち、入力処理として、入力処理部53は、入力機能を発揮させることにより、対象キー領域に対応するキーや鍵に割り当てられている情報を入力し、処理実行機能を発揮させることにより、入力した情報に従って各種処理を実行する。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、処理実行機能としてはワープロ機能が発揮される。そして、対象キー領域は、キーボードを構成する各キーのうち、ユーザにより押下操作されたキーに対応している。従って、この場合には、入力処理部53は、対象キー領域に対応するキーに割り当てられている「F」等のテキスト情報を入力し、例えば、作成中の文章中に「F」等のテキストを追加する処理を実行する。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、処理実行機能としてはシーケンサ機能が発揮される。そして、対象キー領域は、鍵盤を構成する各鍵のうち、ユーザにより押下操作(演奏操作)された鍵に対応している。従って、この場合には、入力処理部53は、対象キー領域に対応する音高情報、例えば「C3」等の音高情報を入力する。その後、入力処理部53は、音声制御部55を制御することによって、音高情報で特定される音高(周波数)の音、例えば「C3」の音等を音声出力部57から出力させる。ただし、このような音の出力の処理は、後述するステップS17の発音処理として実行される。
【0049】
ステップS16において、表示制御部54は、表示処理を実行する。
表示処理とは、対象キー領域に関する情報を含む入力操作結果画像を、表示部11に表示させる処理をいう。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、表示処理によって、図8に示すような入力操作結果画像が表示部11に表示される。即ち、対象キー領域(図8の例では「Fキー」に対応するキー領域41a)や、対象キー領域に対応するキーに割り当てられている情報、即ちステップS16の処理で入力された情報(図8の例では「F」というテキスト)が表示部11に表示される。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、表示処理によって、図示はしないが、対象キー領域(「C3」等、押下操作された鍵に対応するキー領域)や、対象キー領域に対応する鍵に割り当てられている情報、即ちステップS16の処理で入力された情報(「C3」等の音高情報)が表示部11に表示される。
【0050】
ステップS17において、音声制御部55は、発音処理を実行する。
発音処理とは、対象キー領域に関する情報に基づいて、音声出力部57から音を出力させる処理をいう。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、発音処理によって、「カチャカチャ音」を実録したデータが音源部56から音声制御部55に供給され、当該データに基づいて、「カチャカチャ音」が音声出力部57から出力される。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、発音処理によって、ステップS15の処理で入力された音高情報で特定される音高(周波数)の音、例えば「C3」の音等が音声出力部57から出力される。
【0051】
ステップS18において、情報処理装置1の各部は、処理の終了が指示されたか否かを判定する。
処理の終了の指示は、特に限定されず、例えば情報処理装置1の電源が遮断される指示等、各種各様の指示を処理の終了の指示として採用することができる。
処理の終了がまだ指示されていない場合、ステップS18においてNOであると判定されて、処理はステップS12に戻され、それ以降の処理が繰り返される。
これに対して、処理の終了が指示された場合、ステップS18においてYESであると判定されて、仮想入力機器用処理の全体が終了となる。
【0052】
次に、このような仮想入力機器用処理のうち、ステップS13の位置合わせ処理の詳細な流れについて説明する。
図12は、位置合わせ処理の詳細な流れを説明するフローチャートである。
上述したように、ステップS12のスイッチ処理が終了すると、ステップS13の位置合わせ処理が開始し、次のようなステップS31乃至S35の一連の処理が実行される。
【0053】
ステップS31において、接触操作検出部51は、基準位置合わせ開始のメッセージを提示する。
当該メッセージの提示手法は、特に限定されず、例えば音声メッセージとして音声出力部57から出力する手法を採用してもよい。ただし、本実施形態では、例えば「基準位置にしたい位置を指と爪で強めに叩いて下さい。そこが「Jキー」又は「C3の音定」にセットされます」というテキストメッセージを含む画像として、表示部11に表示させる手法が採用されている。
即ち、本実施形態では、接触操作検出部51は、表示制御部54を制御して、当該テキストメッセージを含む画像を表示部11に表示させる。
【0054】
ステップS32において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0055】
ステップS33において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
ここで、「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができる。
ただし、ステップS33の判定処理の趣旨は、ユーザが、これからキーボードや鍵盤に見立てて押下操作しようとしている机21の上面等の中から基準位置を決定し、当該基準位置で指31を停止(平面と水平方向に対して停止)させたか否かを判定することである。即ち、基準位置を決定する意思がユーザにあるか否かを判定することが、ステップS33の判定処理の趣旨である。
従って、当該趣旨からみて妥当な値を、「一定以上の速さ」や「一定時間以上」の値として採用するとよい。このような観点で、本実施形態では、「一定以上の速さ」として、指31が停止していないと判断できる速度が採用されており、「一定時間以上」として、「20msec」が採用されている。
【0056】
撮像画像の範囲内において、爪領域31aが移動している最中で未だ停止していない場合、又は、爪領域31aが停止していても、その直前の爪領域31aの移動の速さが一定未満若しくは移動の時間が一定未満の場合、基準位置を決定する意思がユーザに未だないとして、ステップS33においてNOであると判定されて、処理はステップS33に戻される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止するまでの間、ステップS33の判定処理が繰り返される。
その後、撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したと判定された場合、その停止位置を基準位置として決定する意思がユーザにあるとして、ステップS33においてYESであると判定されて、処理はステップS34に進む。
【0057】
ステップS34において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と1kHz帯が−10dB以上か否かを判定する。
【0058】
即ち、当該ステップS34の処理は、ステップS33の処理でYESであると判定された後に実行されるところ、上述したように、ステップS33におけるYESであるという判定は、基準位置を決定する意思がユーザにあるという判定を意味している。
しかしながら、基準位置を決定する意思がユーザにあることは、当該ステップS33の判定だけでは確定できない。例えば、ユーザが、所定位置の上で指31を一端停止させたが、当該所定位置を指31と爪で叩かずに(押下操作を行わずに)、指31を再度移動させる場合もあり得る。このような場合に、ステップS33の判定だけを用いて、当該所定位置を基準位置として決定する意思がユーザにあるという判定を下してしまうことは、誤判定をすることを意味する。
このような誤判定を除外する趣旨、即ち、基準位置として決定する意思がユーザにあるという判定をより確実なものとする(精度よくする)ために、ステップS34の処理が設けられている。
【0059】
具体的には、本実施形態では、上述したように、ステップS31の処理で「基準位置にした位置を指と爪で強めに叩いて下さい」というテキストメッセージが表示部11に表示される。従って、これを視認したユーザは、基準位置にしたい位置を指31と爪で強めに叩くことによって、当該位置を基準位置にするという意思表示をするはずである。
してみると、接触操作検出部51は、ステップS33の処理でYESであると判定しただけでは、即ち基準位置にしたい位置の上方で指31を停止させことを単に確認しただけでは、基準位置を決定する意思がユーザにあると最終判断することはできない。即ち、接触操作検出部51は、基準位置にしたい位置を指31と爪で叩いた(押下操作した)ことを検出することができてはじめて、基準位置を決定する意思がユーザにあると最終判断することができる。このような最終判断をするための判定処理が、ステップS34の処理なのである。
【0060】
より具体的には、20Hz帯が、机21の上を指31で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上である場合に、ユーザが机21の上を指31で叩いた(押下操作した)ことを検出することができる。
一方、1kHz帯が、机21の上を爪で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、1kHz帯の音が−10dB以上である場合に、ユーザが机21の上を爪で叩いた(押下操作した)ことを検出することができる。
換言すると、ステップS34の判定処理で用いられる「20Hz帯」、「1kHz」、及び「10dB」といった各数値は、仮想入力機器領域41が机21の上面に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS34の判定処理で用いる数値として好適な値は可変する。
【0061】
本実施形態では、音の20Hz帯と1kHz帯の少なくとも一方が−10dB未満の場合、基準位置を決定する意思がユーザに未だないとして、ステップS34においてNOであると判定されて、処理はステップS33に戻されて、それ以降の処理が繰り返される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と1kHz帯の両方が−10dB以上となるまでの間、基準位置を決定する意思がユーザに未だないとして、ステップS33又はS34の処理でNOであると判定されて、位置合わせ処理は待機状態となる。
その後、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と1kHz帯の両方が−10dB以上となると、その停止位置を基準位置として決定する意思がユーザにあると最終判断されて、ステップS33及びS34の各々において何れもYESであると判定されて、処理はステップS35に進む。
【0062】
ステップS35において、接触操作検出部51は、撮像画像内の停止した爪領域31aの配置位置を基準位置として、仮想入力機器領域41を設定する。
【0063】
これにより、位置合わせ処理は終了し、即ち図11のステップS13の処理は終了し、処理はステップS14のON検出処理に進む。
【0064】
そこで、以下、ステップS14のON検出処理の詳細な流れについて引き続き説明する。
図13は、ON検出処理の詳細な流れを説明するフローチャートである。
【0065】
ステップS41において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0066】
ステップS42において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
ここで、「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができ、当然ながら、図12のステップS33の値とは相互に独立した値をそれぞれ採用できる。
ただし、ステップS42の判定処理の趣旨とは、ユーザが、これからキーボードや鍵盤に見立てて押下操作しようとしている仮想入力機器領域41の中から、押下操作の対象となる対象キー領域を決定し、当該対象キー領域の位置において指31を停止(机21の上面等と平行な方向に対して停止)させたか否かを判定することである。即ち、押下操作の対象となる対象キー領域を決定する意思がユーザにあるか否かを判定することが、ステップS42の判定処理の趣旨である。
従って、当該趣旨からみて妥当な値を、「一定以上の速さ」や「一定時間以上」の値を採用するとよい。このような観点で、本実施形態では、図12のステップS33の値と同一値、即ち「一定以上の速さ」として、指31が停止していないと判断できる速度が採用されており、「一定時間以上」として、「20msec」が採用されている。
【0067】
撮像画像の範囲内において、爪領域31aが移動している最中で未だ停止していない場合、又は、爪領域31aが停止していても、その直前の爪領域31aの移動の速さが一定未満若しくは移動の時間が一定未満の場合、押下操作の対象となる対象キー領域を決定する意思(押下操作する意思)がユーザに未だないとして、ステップS42においてNOであると判定されて、処理はステップS42に戻される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止するまでの間、ステップS42の判定処理が繰り返される。
その後、撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したと判定された場合、その停止位置を対象キー領域として決定する意思(対象キー領域を押下操作する意思)がユーザにあるとして、ステップS42においてYESであると判定されて、処理はステップS43に進む。
【0068】
ステップS43において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と50Hz帯が−10dB以上か否かを判定する。
【0069】
即ち、当該ステップS43の処理は、ステップS42の処理でYESであると判定された後に実行されるところ、上述したように、ステップS42におけるYESであるという判定は、対象キー領域を決定する意思(対象キー領域を押下操作する意思)がユーザにあるという判定を意味している。
即ち、直前のステップS42の判定処理とは、撮像画像のデータに対して施した画像認識処理に基づく判定処理である。しかしながら、このような画像認識処理では、机21の上面等に対する指31の接触までを検出することができない。このため、直前のステップS42の処理では、対象キー領域を決定する意思がユーザにあるという判定ができるまでに留まるのである。
換言すると、ユーザが指31で実際に押下操作したか否かの判定は、直前のステップS42の判定だけでは確定できない。例えば、ユーザが、所定位置の上で指31を一端停止させたが、当該所定位置を指31で叩かずに(押下操作を行わずに)、指31を再度移動させる場合もあり得る。このような場合に、直前のステップS42の判定だけで、当該所定位置に対応するキー領域を、対象キー領域として押下操作をしたという判定を下してしまうことは、誤判定をすることを意味する。
このような誤判定を除外する趣旨、即ち、対象キー領域を押下操作したという判定をより確実なものとする(精度よくする)ために、ステップS43の処理が設けられている。
【0070】
具体的には、20Hz帯が、机21の上を指31で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上である場合に、ユーザが机21の上を指31で叩いた(押下操作した)ことを検出することができる。
さらに、本実施形態では誤検出防止のためさらに、50Hzが−10dB以上であることも判定される。この50Hz帯は、机21の上が振動する際に、机21から一般的に発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上であり、かつ、50Hz帯の音が−10dB以上であると判定することで、ユーザが机21の上を指31で叩いた(押下操作した)ことをより確実に検出することができる。
換言すると、ステップS43の判定処理で用いられる「20Hz、「50Hz」、及び「−10dB」といった各数値は、仮想入力機器領域41が机21の上に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS43の判定処理で用いる数値の好適値は可変する。
【0071】
本実施形態では、音の20Hz帯と50Hz帯の少なくとも一方が−10dB未満の場合、ユーザが指31で押下操作したと断定できないため、ステップS43においてNOであると判定されて、処理はステップS42に戻されて、それ以降の処理が繰り返される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と50Hz帯の両方が−10dB以上となるまでの間、ユーザが指31で押下操作したと断定せずに、ステップS42又はS43の処理でNOであると判定されて、ON検出処理は待機状態となる。
その後、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と50Hz帯の両方が−10dB以上となると、ユーザが対象キー領域の位置で指31を停止させ、その位置で押下操作したと最終判断されて、ステップS42及びS43の各々において何れもYESであると判定されて、処理はステップS44に進む。
【0072】
ステップS44において、接触操作検出部51は、撮像画像内の停止した爪領域31aが配置されているキー領域を、対象キー領域として認識する。
即ち、ステップS42においてYESであると判定する処理では、ユーザが指31を停止させたという動作を判定できるだけに留まる。換言すると、接触操作検出部51にとっては、ステップS42においてYESであると判定した時点では、指31の停止位置で押下操作する意思がユーザにあることを認識することができただけである。このため、ステップS42においてYESであると判定された時点では、指31の停止位置と、仮想入力機器領域41の配置位置とはまだ対応付けられていない。そこで、指31の停止位置と、仮想入力機器領域41の配置位置とを対応付けることによって、対象キー領域を確定する処理が、ステップS44の処理として実行される。
【0073】
ステップS45において、接触操作検出部51は、対象キー領域への押下操作を検出する。即ち、ステップS44の処理で対象キー領域が確定された後、対象キー領域への押下操作の検出の処理が、ステップS45の処理として実行される。
【0074】
これにより、ON検出処理は終了し、即ち図11のステップS14の処理は終了し、処理は、上述したステップS15の入力処理に進む。
【0075】
以上説明したように、本実施形態に係る情報処理装置1は、撮像部12と、音声入力部13と、接触操作検出部51と、入力処理部53と、を備えている。
撮像部12は、机21の上面等の所定領域を、所定の入力機器に対応する仮想入力機器領域41として、押下操作を行うユーザの指31を撮像することによって、撮像画像のデータを出力する。
音声入力部13は、ユーザの指31で仮想入力機器領域が押下操作された際に発生する音を入力し、当該音のデータを出力する。
接触操作検出部51は、撮像部12から出力された撮像画像のデータと、音声入力部13から出力された音のデータとに基づいて、ユーザの指31により仮想入力機器領域に対する押下操作がなされたことを検出する。
入力処理部53は、接触操作検出部51の検出結果に基づいて所定の情報を入力する。
このようにして、情報処理装置1は、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作の1つとして、押下操作を受け付けて、当該押下操作に基づいて所定の情報を入力することができる。
このように、撮像画像だけでなく、ユーザの指31で仮想入力機器領域が押下操作された際に発生する音を用いて、押下操作が検出される。これにより、誤検出なく確実に押下操作を検出することが可能になる。
さらに、押下操作を検出するために用いられる撮像画像と音のデータは、撮像部12及び音声入力部13から得られる。撮像部12を構成するデジタルカメラや、音声入力部13を構成するマイクロフォン等は、近年の技術の発達により、低コストで非常に小型のものを採用することができ、図1に示すように情報処理装置1に内蔵することも容易に可能である。このように、情報処理装置1を簡素な構成で実現することができる。
また、ユーザにとっては、机21の上面等を所望の入力機器にみたてて、当該入力機器に対する操作と全く同様の操作を行うだけで、所望の情報を情報処理装置1に入力させることができる。この場合、ユーザは、上述した特許文献3のように、発話する必要は特にない。よって、ユーザは、所望の場所で(たとえ発話が禁止されている場所であっても)、より簡便な操作で所望の情報を入力することができる。
以上まとめると、情報処理装置1は、簡素な構成で誤検出なく確実に押下操作を検出すると共に、机21の上面等を押下する押下操作といたより簡便なユーザ操作を提供することができる。
【0076】
なお、本発明は上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0077】
例えば、上述の実施形態では、仮想入力機器領域41に対応する入力機器は、キーボード又は鍵盤とされたが、特にこれに限定されない。
具体的には例えば、マウスを仮想入力機器領域41に対応させること、より正確にはマウスの移動領域を仮想入力機器領域41に対応させることもできる。
【0078】
図14は、マウスを仮想入力機器領域41に対応させた場合における、ON検出処理の詳細な流れを説明するフローチャートである。
図14の例では、ユーザがマウスを用いて行うことが可能な表示部11の画面内での操作のうち、スクロール操作、カーソルの移動操作、及び、カーソルが指し示す対象(アイコン等)を選択等するためのクリック操作が、接触操作検出部51により検出される。
情報処理装置1は、図4の機能的構成をそのまま有している状態で、図14の例のON検出処理を実行することができる。
【0079】
図示はしないが、上述したように、より正確にいえば、マウスそのものが仮想入力機器領域41に対応するのではなく、机21の上面等実物体の面のうち、マウスの移動範囲、即ち図14の例では表示部11の画面に対応する範囲が、仮想入力機器領域41に対応する。
この場合、図示はしないが、位置合わせ処理では、図12のステップS31に相当する処理で、例えば「基準位置にしたい位置を指と爪で強めに叩いて下さい。そこが画面の中心位置にセットされます」というテキストメッセージを含む画像が表示される。
その後、図12のステップ32乃至S35の各々に相当する処理が実行される。即ち、撮像画像内の停止した爪領域31aの配置位置が基準位置(画面の中心位置)として、仮想入力機器領域41が設定される。
これにより、位置合わせ処理は終了し、即ち図11のステップS13の処理は終了し、処理はステップS14のON検出処理に進む。この場合、図14のステップS81以降の処理が実行される。
【0080】
ステップS81において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0081】
ステップS82において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の10kHz帯が−10dB以上か否かを判定する。
【0082】
具体的には、10Hz帯が、指31の爪で机21の上面をひっかいた際に発生する音の周波数帯である。このため、接触操作検出部51は、10kHz帯の音が−10dB以上である場合に、ユーザが机21の上面を指31の爪でひっかいたことを検出することができる。
換言すると、ステップS82の判定処理で用いられる「10kHz」、及び「−10dB」といった各数値は、仮想入力機器領域41が机21の上に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS43の判定処理で用いる数値の好適値は可変する。
【0083】
ここで、ユーザが机21の上を指31の爪でひっかいたことは、爪を押下して、押下した爪を移動させるという押下操作の一種であると把握することもできる。このように把握した場合、接触操作検出部51は、キーを押す等の一般的な押下操作のみならず、このような爪でひっかく等の押下操作も検出することができる。ただし、上述したように、接触操作検出部51により検出される操作を、キーを押す等の一般的な押下操作と明確に区別すべく、「接触操作」と呼んでいる。
即ち、接触操作検出部51は、一般の意の押下操作のみならず、各種各様の接触操作を検出することが可能であり、ステップS82の処理では、接触操作の一例として、爪でひっかく操作がなされた可能性があるか否かを判定することができる。
ここで、爪でひっかく操作として、スクロール操作が対応付けられているとする。この場合には、ステップS82においてYESであると判定されたときには、スクロール操作がなされた可能性があるとして、処理はステップS83に進む。これに対して、ステップS82においてNOであると判定されたときには、スクロール操作がなされた可能性はなく、別の操作がなされた可能性があるとして、処理はステップS87に進む。
【0084】
先ず、ステップS82においてYESであると判定された後の処理、即ち、スクロール操作がなされた可能性があるとして実行されるステップS83乃至S86の処理について説明する。
【0085】
この場合、接触操作検出部51は、音声入力部13から取り込んだ音のデータに基づいて、爪でひっかく操作、即ちスクロール操作の可能性があることを認識したので、ステップS83以降の処理では、撮像部12から取り込んだ撮像画像のデータを用いて、スクロール操作を検出する。
なお、この場合に用いられる撮像画像のデータは、音の10kHが−10dB以上となった時点又はその前後の間の時間的に連続して得られた画像(動画像)のデータであるとする。
【0086】
即ち、ステップS83において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、左右に爪領域31aが移動したか否かを判定する。
【0087】
撮像画像の範囲内において、左右に爪領域31aが移動していると判定された場合、ステップS83においてYESであると判定されて、処理はステップS84に進む。
ステップS84において、接触操作検出部51は、爪領域31aの変位分だけ画面を左右にスクロールする操作であることを検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、表示部11の画面表示は、ユーザが爪を左右にひっかいた分だけスクロールする。
【0088】
これに対して、撮像画像の範囲内において、左右に爪領域31aが移動していないと判定された場合、即ち、ステップS83においてNOであると判定された場合、処理はステップS85に進む。
ステップS85において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aの大小(撮像画像内の占有率)が変化したか否かを判定する。
【0089】
撮像画像の範囲内において、爪領域31aの大小が変化していないと判定された場合、即ち、ステップS85においてNOであると判定された場合、スクロール操作はなされていないとして、処理はステップS82に戻され、それ以降の処理が繰り返される。
【0090】
これに対して、撮像画像の範囲内において、爪領域31aの大小が変化していると判定された場合、即ち、ステップS85においてYESであると判定された場合、処理はステップS86に進む。
ステップS86において、接触操作検出部51は、爪領域31aの変化が大なら上へスクロールする操作であることを検出し、爪領域31aの変化が小なら下へスクロールする操作であることを検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、表示部11の画面表示は、ユーザが爪を上下にひっかいた分だけ上又は下へスクロールする。
【0091】
以上、ユーザが爪をひっかくことによりスクロール操作をした場合のON検出処理について説明した。
次に、ユーザが、カーソルの移動操作、及び、クリック操作をした場合のON検出処理について説明する。
ここでは、例えばユーザは右手に仮想マウスを保持していると仮定し、右手の人差指等所定の指31で机21の上面等を叩く操作(一般の意の押下操作)をすることによって、仮想マウスをクリックするものとする。即ち、仮想入力機器領域41の範囲内での指31を移動する操作が、カーソル操作に対応付けられ、指31で机21の上面等を叩く操作(一般的な意の押下操作)が、クリック操作に対応付けられているとする。
この場合、ステップS82においてNOであると判定されると、処理はステップS87に進む。
【0092】
ステップS87において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータから爪領域31の位置関係を求め、当該爪領域31の位置関係に基づいて、仮想マウスの前後左右の絶対位置を決定することによって、カーソル移動操作を検出する。
なお、カーソル移動操作については、図11のステップS15の入力処理及びS16の表示処理と等価な処理がステップS87の処理中にも逐次実行されて、表示部11の画面においては、ユーザの指31の移動の軌跡に従ってカーソルが逐次移動するものとする。
【0093】
ステップS88において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と50Hz帯が−10dB以上であり、かつ、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
即ち、図13のステップS42及びS43の選択処理を1つにまとめたものと等価な処理が、ステップS88の処理である。また、その処理の趣旨も、机21の上面等に形成された仮想入力機器領域41内の所定位置で指31を停止させ、その所定位置で指31を叩く操作(一般的な意の押下操作)をしたか否かを判定することである点は、図13のステップS42及びS43の選択処理と同一である。
ただし、図14の例では、指31の停止位置が、カーソルの停止位置、例えば表示部11の画面内において選択対象のシンボル(アイコン等)を指し示す位置に対応し、その所定位置で指31を叩く操作(一般的な意の押下操作)が、クリック操作に対応する点が、図13の例とは異なる。
従って、図14のステップS88における「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができるが、図13のステップS42の値と同一値を採用すると好適である。即ち、「一定以上の速さ」として、指31が停止していないと判断できる速度を採用し、「一定時間以上」として、「20msec」を採用すると好適である。
【0094】
このように、ステップS88の判定処理とは、結局のところ、クリック操作がなされたか否かの判定処理である。
従って、ステップS88においてNOであると判定された場合、クリック操作がなされていないとして、処理はステップS82に戻され、それ以降の処理が繰り返される。
これに対して、ステップS88においてYESであると判定された場合、処理はステップS89に進む。ステップS89において、接触操作検出部51は、クリック操作を検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、マウスのクリック操作がなされたときと全く同様の処理が実行され、マウスのクリック音等も適宜出力される。
【0095】
以上、本発明の変形例として、マウスを仮想入力機器領域41に対応させた例について説明した。
【0096】
その他例えば、上述した実施形態では、仮想入力機器領域41が形成される面は、机21の上面とされたが、特にこれに限定されず、ユーザの指31が接触可能であれば、平面のみならず、凹凸が存在する面等任意の面でよい。
【0097】
また例えば、上述した実施形態では、指31の仮想入力機器領域41に対する接触操作、即ち、指31を叩いて実現される一般の意の押下操作に加え、指31の爪でひっかく等の各種操作の検出として、音のデータが用いられたが、特にこれに限定されない。
即ち、このような接触操作を検出するためには、指31又はその爪の仮想入力機器領域41の接触(机21の上面等の面の接触)に起因して変化する実世界の状態を示す状態データであれば、任意のデータを採用することができる。
例えば、指31の面の接触に起因して生ずる当該面の振動の状態を示す状態データに基づいて、接触操作を検出することもできる。この場合には、音声入力部13と共に又はそれに代えて、いわゆる振動センサが情報処理装置1に設けられ、当該振動センサの検出結果が、状態データの1つとして接触操作検出部51に供給される。
換言すると、上述した実施形態で用いられる音のデータとは、指31又はその爪の仮想入力機器領域41の接触に起因して変化する空気の振動の状態、即ち、音量や音高(周波数)を示すデータであため、状態データの例示に過ぎない。
さらに言えば、接触操作を検出するためには、仮想入力機器領域41の形成面が撮像された撮像画像のデータと、ユーザの指31又は爪が仮想入力機器領域41に接触したか否かを特定可能な特定情報とがあれば足りる。即ち、音のデータや振動センサの検出結果等の状態データとは、特定情報の例示に過ぎない。
ここで「接触の状態」とは、接触している各種状態のみならず、接触していないという状態も含む。従って、「接触の状態」を示す情報によって、接触しているか否かを判定することが可能になる。
【0098】
また例えば、上述した実施形態では、本発明が適用される情報処理装置は、カメラ付きデジタルフォトフレームとして構成される例として説明した。
しかしながら、本発明は、特にこれに限定されず、撮像機能及び状態データ入力機能(好適には音声入力機能)を有する電子機器一般に適用することができ、例えば、本発明は、パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0099】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0100】
図15は、上述した一連の処理をソフトウェアにより実行させる場合の、情報処理装置1のハードウェア構成を示すブロック図である。
【0101】
情報処理装置1は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、バス104と、入出力インターフェース105と、入力部106と、出力部107と、記憶部108と、通信部109と、ドライブ110と、上述した音源部56と、を備えている。
【0102】
CPU101は、ROM102に記録されているプログラムに従って各種の処理を実行する。又は、CPU101は、記憶部108からRAM103にロードされたプログラムに従って各種の処理を実行する。
RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0103】
例えば、上述した図4の機能的構成のうち、接触操作検出部51、入力処理部53、表示制御部54、及び音声制御部55は、CPU101というハードウェアと、ROM102等に記憶されたプログラム(ソフトウェア)との組み合わせとして構成することができる。
【0104】
CPU101、ROM102、及びRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インターフェース105も接続されている。入出力インターフェース105には、上述した音源部56に加えてさらに、入力部106、出力部107、記憶部108、通信部109、及びドライブ110が接続されている。
【0105】
入力部106は、例えば図4の撮像部12や音声入力部13の他、図示せぬ操作部等により構成され、必要に応じて振動センサも含まれる。
出力部107は、例えば図4の表示部11や音声出力部57等により構成される。
記憶部108は、ハードディスク等により構成され、各種データを記憶する。例えば図4の規定情報記憶部52は、記憶部108内の一領域として構成され、上述した規定情報を記憶する。
通信部109は、インターネット等を介して他の装置との間で行う通信を制御する。
【0106】
ドライブ110には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア121が適宜装着される。ドライブ110によって読み出されたコンピュータプログラムは、必要に応じて記憶部108等にインストールされる。
【0107】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0108】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア121により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM102や記憶部108に含まれるハードディスク等で構成される。
【0109】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【0110】
1・・・情報処理装置、11・・・表示部、12・・・撮像部、13・・・音声入力部、31・・・指、31a・・・爪領域、41・・・仮想入力機器領域、51・・・接触操作検出部、52・・・規定情報記憶部、53・・・入力処理部、54・・・表示制御部、55・・・音声制御部、56・・・音源部、57・・・音声出力部、101・・・CPU、102・・・ROM、103・・・RAM、106・・・入力部、107・・・出力部、108・・・記憶部、109・・・通信部、110・・・ドライブ、121・・・リムーバブルメディア
【技術分野】
【0001】
本発明は、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を受け付ける情報処理装置及び方法、並びにプログラムに関し、特に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にする技術に関する。
【背景技術】
【0002】
従来から、キーボードや鍵盤等の入力機器を用いずに、人間の手を用いた所定の所作を検出することによって、所定の情報を入力する技術が研究開発されている。
【0003】
例えば、特許文献1には、空間の手の動きを検出して文字を入力する技術が開示されている。特許文献2には、手にセンサをつけて音源を制御する技術が開示されている。特許文献3には、空間の手の動きを検出して情報を入力する際に、操作に関するユーザの発話内容、例えば「あれ」、「これ」といった内容も加味する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平6−28096号公報
【特許文献2】特開平6−118962号公報
【特許文献3】特開平6−28096号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
近年、机の上等をキーボードや鍵盤に見立てて、机の上等を押下操作することによって情報を入力したいという要望が挙げられている。当該要望に応えるためには、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現する必要がある。しかしながら、特許文献1乃至3に開示された技術を含めた従来の技術では、両方を共に実現することは困難である。
【0006】
即ち、誤検出なく確実にユーザ操作を検出するためには、ユーザの指が机の上等に実際に接触したことを検出する必要がある。ここで、このような検出を、以下、「指接触検出」と呼ぶ。
特許文献1に記載の技術を適用して、指接触検出を実現するためには、ユーザの手の甲を上から撮像するだけでなく、ユーザの手の平と、机の上等との間の空間を横から撮像する必要がある。このためには、少なくとも2台の撮像装置を設けなければならず、かつ、2台の撮像装置により撮像された各々の画像に対して画像処理を施さなければならず、結果として、複雑で大掛かりな構成となってしまう。即ち、簡素な構成を実現することができない。
一方で、簡素な構成とするために、ユーザの手の甲を上から撮像しただけでは、指が停止しただけなのか(机の上等から離れているのか)、それとも、指が机等を押下したのか(机の上等に指を接触したのか)を判断することができない。即ち、指接触検出を実現できず、その結果、誤検出なく確実にユーザ操作を検出することが非常に困難になる。
【0007】
特許文献2に記載の技術を適用した場合には、手にセンサをつける必要があるため、複雑で大掛かりな構成となってしまい、簡素な構成を実現することができない。
【0008】
特許文献3に記載の技術を適用した場合には、ユーザは、キーボード又は鍵盤に見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応するキー又は鍵の名称等を発話しなければならない。
例えば、ユーザが、ワープロの入力のために、キーボードに見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応するキーの名称を発話することは、ワープロで作成する文章を音読することに他ならず、ユーザにとって非常に面倒で疲れる作業になる。
また例えば、ユーザが、電子ピアノの演奏操作のために、鍵盤に見立てた机の上等を指で押下操作する毎に、押下操作した領域に対応する鍵の名称を発話することは、電子ピアノで演奏する楽曲の楽譜を音読すること又は歌唱することに他ならず、ユーザにとって非常に面倒で疲れる作業になる。
そもそも、ユーザが発話できないような環境では、特許文献3に記載の技術を適用することはできない。
このように、特許文献3に記載の技術を適用しても、ユーザ操作としてより簡便な操作を提供することは実現できない。
【0009】
本発明は、このような状況に鑑みてなされたものであり、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を行う場合に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の一態様によると、
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出手段と、
前記撮像手段から出力された前記撮像画像のデータと、前記状態入力手段から出力された前記状態データとに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出手段と、
前記接触操作検出手段の検出結果に基づいて、前記所定の情報を入力する情報入力手段と、
を備える情報処理装置を提供する。
【0011】
本発明の一態様によると、上述した本発明の一態様に係る情報処理装置に対応する情報処理方法及びプログラムを提供する。
【発明の効果】
【0012】
本発明によれば、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作を行う場合に、簡素な構成で誤検出なく確実にユーザ操作を検出することと、ユーザ操作としてより簡便な操作を提供することの両方を共に実現可能にすることができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る情報処理装置の外観構成を示す正面図である。
【図2】図1の情報処理装置の側面の構成例を示す、図1のA−A’線における断面図である。
【図3】図1の情報処理装置が実行する仮想入力機器用処理において、仮想入力機器領域がキーボードに対応する場合のユーザの操作を説明する図である。
【図4】仮想入力機器用処理を実行するための図1の情報処理装置の機能的構成を示す機能ブロック図である。
【図5】図1の情報処理装置が実行する仮想入力機器用処理のうち、図3のユーザ操作に対応する仮想入力機器用処理において用いられる撮像画像の一例を示す図である。
【図6】図1の情報処理装置が実行する仮想入力機器用処理のうち、図3のユーザ操作に対応する仮想入力機器用処理において用いられる指の配置位置の検出手法を説明する図である。
【図7】図5の撮像画像が、規定情報によって仕切られている状態を示す図である。
【図8】図3のユーザ操作に対応して図1の情報処理装置が仮想入力機器用処理を実行した結果として得られる入力操作結果画像が、表示部の画面として表示されている様子を示す図である。
【図9】図1の情報処理装置が実行する仮想入力機器用処理において、仮想入力機器領域が鍵盤に対応する場合のユーザの操作を説明する図である。
【図10】図1の情報処理装置が実行する仮想入力機器用処理のうち、図9のユーザ操作に対応する仮想入力機器用処理において用いられる撮像画像の一例を示す図である。
【図11】図1の情報処理装置が実行する仮想入力機器用処理の流れの一例を示すフローチャートである。
【図12】図11の仮想入力機器用処理のうち位置合わせ処理の詳細な流れの一例を説明するフローチャートである。
【図13】図11の仮想入力機器用処理のうちON検出処理の詳細な流れの一例を説明するフローチャートである。
【図14】図11の仮想入力機器用処理のうちON検出処理の詳細な流れの一例であって、図12の例とは異なる例を説明するフローチャートである。
【図15】図1の情報処理装置を実現するハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態を図面に基づいて説明する。
【0015】
図1は、本発明の一実施形態に係る情報処理装置1の外観構成例を示す正面図である。
図1に示すように、情報処理装置1は、デジタルフォトフレームとして構成されている。このため、情報処理装置1の正面1aには、例えば液晶ディスプレイ等で構成される表示部11と、例えばデジタルカメラ等で構成される撮像部12と、マイクロフォン等で構成される音声入力部13と、が設けられている。
ここで、図1のA−A’線と平行な方向のうち、同図中上方向(A’からAに向かう方向)を「上方向」と呼び、同図中下方向(A’からAに向かう方向)を「下方向」と呼ぶ。この場合、表示部11の中央部の上方向に、撮像部12が配置されており、表示部11の中央部の下方向に、音声入力部13が配置されている。
【0016】
図2は、情報処理装置1の側面の構成例を示す、図1のA−A’線における断面図である。
図2に示すように、情報処理装置1は、その裏面1bに設けられた架台14によって、例えば机21の上面に立てかけて配置することができる。
この場合、ユーザは、机21の上面のうち、情報処理装置1の正面1aの前方の所定領域41を、所定の入力機器に見立てて、当該入力機器に対する操作と全く同様の操作を行うことで、所望の情報を情報処理装置1に入力させることができる。
なお、机21の上面等、情報処理装置1が配置されている面のうち、情報処理装置1の正面1aの前方の所定領域(図2の例では所定領域41)、即ち所定の入力機器に見立てられる領域を、以下「仮想入力機器領域」と呼ぶ。
【0017】
図3は、机21の上面の仮想入力機器領域41がキーボードに対応する場合のユーザの操作を説明する図である。
なお、図3において、仮想入力機器領域41において点線で示されるキーボードのキー配列は、説明の便宜上図示したものである。即ち、仮想入力機器領域41とは、あくまでも実物体の面(図3の例では机21の上面)の一領域である。従って、実際には、仮想入力機器領域41が形成されている実物体の面には、キーボードのキー配列が表現されていることは稀である。即ち、ここでは、ユーザは、いわゆるブラインドタッチをすることを前提とする。ただし、ブラインドタッチが苦手なユーザのために、例えば、キーボードのキー配列が印刷されたシートや下敷き等を仮想入力機器領域41(机21の上面等)の上に敷いてもよい。
図3に示すように、ユーザは、キーボードの「Fキー」に割り当てられた情報を、情報処理装置1に入力させたい場合、仮想入力機器領域41のうち「Fキー」に対応する位置に対して、その指31を叩く操作、即ち押下操作をすればよい。
【0018】
情報処理装置1は、このような指31の押下操作を検出し、押下操作に対応する情報、例えば図3の例ではキーボードの「Fキー」に割り当てられた情報を入力し、入力した情報に基づいて各種各様の処理を実行する。
このような情報処理装置1の一連の処理を、以下、「仮想入力機器用処理」と呼ぶ。
なお、仮想入力機器用処理で検出されるユーザ操作は、図3の例では、指31の押下操作であるが、これに限定されない。例えば、爪で机21の上面等の面をひっかく操作等、指31又は爪を実物体の面に接触させることで実現される操作(以下、「接触操作」と呼ぶ)が、仮想入力機器用処理で検出され得る。
即ち、仮想入力機器用処理とは、より一般的にいうと、情報処理装置1が、接触操作を検出し、当該接触操作に対応する情報を入力し、入力した情報に基づいて各種各様の処理を実行するまでの一連の処理をいう。
ただし、以下、説明の便宜上、図3の例を用いて、仮想入力機器用処理について説明を続ける。
【0019】
図4は、このような仮想入力機器用処理を実行するための情報処理装置1の機能的構成を示す機能ブロック図である。
【0020】
情報処理装置1は、上述した表示部11乃至音声入力部13に加えてさらに、接触操作検出部51と、規定情報記憶部52と、入力処理部53と、表示制御部54と、音声制御部55と、音源部56と、音声出力部57と、を備えている。
【0021】
撮像部12は、上述した図2に示すように、仮想入力機器領域41が形成された机21の上面を斜め上方から撮像し、その結果得られる画像(以下、「撮像画像」と呼ぶ)のデータを接触操作検出部51に供給する。
【0022】
図5は、撮像画像61の一例を示している。
図5の例の撮像画像61には、机21の上に、ユーザの左右の手の甲(指31含む)が配置されている様子が写されている。
【0023】
図4の接触操作検出部51は、撮像画像のデータに基づいて、撮像画像内のユーザの各指の配置位置を検出する。
指の配置位置の検出手法は、特に限定されないが、本実施形態では、図6に示す手法が採用されているものとする。
即ち、図6は、指の配置位置の検出手法を説明する図である。
図6に示すように、接触操作検出部51は、撮像画像61から各指31の爪の領域31a(以下、「爪領域31a」と呼ぶ)をそれぞれ検出し、撮像画像61における各爪領域31aの位置を、各指31の配置位置として検出する。
【0024】
ここで、図4の規定情報記憶部52は、規定情報を記憶している。
規定情報とは、撮像部12の画角の範囲に対応して仮想入力機器領域41の配置位置を予め規定している情報をいう。撮像部12の画角の範囲とは、撮像部12の撮像素子の有効画素の全領域の範囲、即ち、撮像画像の範囲を意味する。即ち、撮像画像内における仮想入力機器領域41の位置を規定する情報が規定情報である。
例えば、図3の例の場合、即ちキーボードに対応する仮想入力機器領域41が採用されている場合には、キーボードを構成する各キーが、撮像部12の画角の範囲(撮像画像の範囲)内の何れの領域に対応するのかを規定する情報が、規定情報となる。
【0025】
そこで、接触操作検出部51は、このような規定情報と、検出した各指31の配置位置とに基づいて、仮想入力機器領域41における指31の相対位置を特定する。
図7は、撮像画像61が、規定情報によって仕切られている状態を示している。
図7に示すように、撮像画像61のうち、規定情報によって仕切られた領域が、仮想入力機器領域41となる。即ち、机21の上面にキーボードが仮に配置されている状態で撮像部12が撮像したならば、撮像画像61に写り込むであろうキーボードの像が規定情報によって再現され、当該キーボードの像の領域が仮想入力機器領域41として設定されることになる。
具体的には、撮像部12の画角の範囲内(図7の例では撮像画像61の範囲内)において、キーボードのキー配列に対応して、遠近法に基づいて区切られた各領域が、キーボードを構成する各キーに対応することになる。このような所定のキーに対応する各領域(以下、「キー領域」と呼ぶ)の集合体が、仮想入力機器領域41として設定される。即ち、図3の例のように、キーボードに対応する仮想入力機器領域41が設定される場合に採用される規定情報とは、撮像部12の画角の範囲内における各キー領域の各々の配置位置を規定している情報をいう。
図7の例では、接触操作検出部51は、撮像画像61の範囲内において、規定情報によって設定された仮想入力機器領域41の配置位置と、検出した爪領域31aの配置位置とを対応付けることによって、仮想入力機器領域41における指31の相対位置を特定する。
【0026】
なお、図5乃至図7に示す撮像画像61は、ユーザには提示せず、接触操作検出部51の処理用としてのみ用いられる。
【0027】
図4の接触操作検出部51は、上述した一連の処理、即ち、撮像画像61のデータに基づいて、仮想入力機器領域41における指31の相対位置を特定するまでの上述した一連の処理を、所定時間の間隔毎に実行する。そして、接触操作検出部51は、所定時間の間隔毎の各実行結果に基づいて、仮想入力機器領域41における指31の移動軌跡及び移動速度を求める。
ここで、移動速度には、「0」、即ち指31の停止も含まれる。従って、接触操作検出部51は、移動している指31が急停止した場合、仮想入力機器領域41を構成する各キー領域のうち、指31が停止した位置に対応するキー領域が、押下操作の対象であると認識する。
例えば図7において、符号が付されている爪領域31aが、移動後に、同図に示す位置に急停止したとする。この場合、接触操作検出部51は、爪領域31aが、仮想入力機器領域41の「Fキー」に対応するキー領域に配置されることを特定することによって、「Fキー」に対応するキー領域が押下操作の対象であると認識する。
なお、押下操作の対象であると認識されたキー領域を、以下、「対象キー領域」と呼ぶ。
【0028】
接触操作検出部51は、対象キー領域が指31により押下操作されたか否かを判断するために、指31が机21の上面等を叩く際(押下操作する際)に発生する音のデータを利用する。
即ち、音声入力部13は、図2に示すように、常時、机21の上面の仮想入力機器領域41の近傍の音を入力し、その音のデータを接触操作検出部51に供給する。
ここで、接触操作検出部51に供給される音のデータは時間領域のデータである。そこで、接触操作検出部51は、音声入力部13から供給された音のデータに対してFFT(Fast Fourier Transform)処理を施すことによって、その形態を時間領域のデータから周波数領域のデータに変換する。
そして、接触操作検出部51は、当該周波数領域の音のデータに基づいて、1次振動音のレベルが閾値を超えたか否かを判定することによって、指31により押下操作されたか否かを判断する。接触操作検出部51は、1次振動音のレベルが閾値を超えた場合には、指31が机21の上面等を叩いた(押下操作された)と判断する。
例えば、指31が机21の上面等を叩いた(押下操作をした)場合の1次振動音が20Hz帯の音であり、閾値が−10dBであるとする。この場合、接触操作検出部51は、周波数領域の音のデータのうち20Hz帯のデータを参照して、当該データのレベルが−10dBを超えていた場合に、指31により押下操作されと判断する。
なお、上記数値は例示に過ぎず、また、閾値判断される周波数帯域は1種類に特に限定されず、後述するように、誤検出防止のため2種類以上の周波数帯域が閾値判断される場合がある。
【0029】
以上まとめると、接触操作検出部51は、撮像部12から出力された撮像画像のデータに基づいて、仮想入力機器領域41の中から対象キー領域を認識し、音声入力部13から出力された音のデータに基づいて、当該対象キー領域が押下操作されたことを検出する。
なお、このような接触操作検出部51による検出を、「対象キー領域への押下操作の検出」と呼ぶ。
【0030】
対象キー領域への押下操作の検出結果は、接触操作検出部51から入力処理部53に通知される。
すると、入力処理部53は、対象キー領域に対応するキーに割り当てられている情報を入力し、入力した情報に従って各種処理を実行する。
即ち、入力処理部53は、情報の入力機能と、入力した情報に従った処理を実行する処理実行機能と、を備えている。
処理実行機能として、いわゆるワープロ機能が存在する。このようなワープロ機能を入力処理部53が発揮している最中に、図3に示すように、ユーザが机21の上の仮想入力機器領域41のうち、「Fキー」に対応するキー領域を押下操作したとする。なお、上述したように、実際には「Fキー」は机21の上面には表現されていない。
この場合、接触操作検出部51は、上述した一連の処理を実行することで、対象キー領域への押下操作の検出の結果として、「Fキー」に対応するキー領域が押下操作された旨を、入力処理部53に通知する。
すると、入力処理部53は、入力機能を発揮させ、当該通知に従って、「Fキー」に割り当てられている情報、例えば「F」というテキスト情報を入力する。そして、入力処理部53は、ワープロ機能を発揮させることで、例えば、作成中の文章中に「F」というテキストを追加する処理を実行する。
【0031】
入力処理部53は、さらに、対象キー領域に関する情報を表示制御部54に供給する。対象キー領域に関する情報としては、対象キー領域に対応するキーを特定する情報のみならず、当該キーに割り当てられている情報(即ち、入力された情報)等が広く含まれる。
表示制御部54は、供給された対象キー領域に関する情報を含む画像、即ち、ユーザの仮想入力機器領域41に対する操作結果を示す画像(以下、「入力操作結果画像」と呼ぶ)を、表示部11に表示させる制御を実行する。
【0032】
図8は、入力操作結果画像が、表示部11の画面として表示されている様子を示す図である。
ここで、「画面」とは、表示装置又は装置が有する表示部(本実施形態では表示部11)の表示領域全体に表示される画像をいう。
図8の例では、表示部11の画面である入力操作結果画像には、入力情報表示領域71、仮想入力機器領域41、及び、爪領域31aが含まれている。
入力情報表示領域71には、対象キー領域の押下操作に応じて入力された情報が、過去の履歴も含めて表示される。即ち、入力処理部53がワープロ機能を発揮している場合には、ユーザが作成した文章等が入力情報表示領域71に表示される。例えば図8の例では、「ABCDE」という過去に入力された情報が表示され、さらにその右方には、「F」という最新に入力された情報71aがハイライト表示されている。
仮想入力機器領域41は、規定情報記憶部52に記憶された規定情報に基づいて表示される。ここで、図8の例では、仮想入力機器領域41のうちキー領域41aがハイライト表示されている。このハイライト表示は、最新の対象キー領域であることを示している。即ち、図8の例では、ハイライト表示されたキー領域41aが最新の対象キー領域であり、当該キー領域41aが押下操作された結果として、入力情報表示領域71において「F」という情報71aがハイライト表示されている。
爪領域31aは、図4の接触操作検出部51の検出結果に基づいて表示される。
【0033】
なお、最新のキー領域41aの表示形態や、当該キー領域41aの押下操作によって最新に入力された情報71aの表示の形態は、特にハイライト表示に限定されず、過去に入力された情報と区別可能な形態であれば足りる。
また、最新の対象キー領域41aが提示できる表示形態であれば、仮想入力機器領域41と爪領域31aとの表示は必須ではない。しかしながら、ユーザにとっては、本来何も存在しない机21(キー配列等が一切表現されていない机21)の上で押下操作をしている。このため、仮想入力機器領域41と爪領域31aとを表示しないと、ユーザにとっては、現在どのような押下操作をしているのかを容易かつ即座に認識できないおそれがある。従って、このようなおそれをなくすべく、即ち現在どのような押下操作をしているのか容易かつ即座にユーザに視認させるべく、仮想入力機器領域41と爪領域31aとを表示させた方が好適である。
【0034】
図4に戻り、入力処理部53は、さらに、対象キー領域に関する情報を音声制御部55に供給する。
音声制御部55は、対象キー領域に関する情報に基づいて、音源部56から発生される音を音声出力部57から出力させる制御を実行する。
例えば、図3の例のように、キーボードに対応する仮想入力機器領域41が採用されている場合には、キーボードのキーが実際に押下されたときに発生する音、いわゆる「カチャカチャ音」を実録したデータが、音源部56に保持されている。
この場合、音声制御部55は、当該音のデータを取得して、アナログの音声信号に変換して音声出力部57に供給する。音声出力部57は、例えばスピーカ等で構成されており、音声制御部55から供給されたアナログの音声信号に対応する音、即ち、押下されたキーボードから発生する「カチャカチャ音」を出力する。
これにより、ユーザは、あたかもキーボードを操作しているように感じることが可能になる。
【0035】
以上、図3の例、即ちキーボードに対応する仮想入力機器領域41が採用された場合の例を用いて、情報処理装置1の機能的構成を説明したが、キーボードは例示にしか過ぎない。
例えば、当該機能的構成を有する情報処理装置1は、規定情報を変化させることによって、電子ピアノ等の鍵盤に対応する仮想入力機器領域41を用いて、「仮想入力機器用処理」を実行することもできる。
換言すると、ユーザは、仮想入力機器領域41をキーボードに対応させる設定操作をすると、図3を用いて説明したように、仮想入力機器領域41をキーボードと見立てて操作することができる。一方、ユーザは、仮想入力機器領域41を鍵盤に対応させる設定操作をすると、図9に示すように、仮想入力機器領域41を鍵盤と見立てて操作することができる。
【0036】
図9は、机21の上面の仮想入力機器領域41が鍵盤に対応する場合のユーザの操作を説明する図である。
なお、図9において、仮想入力機器領域41において点線で示される鍵盤の鍵の配列は、説明の便宜上図示したものである。即ち、仮想入力機器領域41とは、あくまでも実物体の面(図9の例では机21の上面)の一領域である。従って、実際には、仮想入力機器領域41が形成されている実物体の面には、鍵盤の鍵の配列が表現されていることは稀である。即ち、ここでは、ユーザは、実際の鍵盤を視認することなく演奏操作ができることを前提とする。ただし、このような演奏操作が苦手なユーザのために、例えば、鍵盤の鍵の配列が印刷されたシートや下敷き等を仮想入力機器領域41(机21の上面等)の上に敷いてもよい。
図9に示すように、ユーザは、所望の音高(周波数)の音を情報処理装置1から発生させたい場合、仮想入力機器領域41のうち、当該所望の音高が割り当てたれた鍵に対応するキー領域に対して、その指31を叩く操作、即ち押下操作をすればよい。
【0037】
この場合、情報処理装置1の図4の規定情報記憶部52は、鍵盤を構成する各鍵が、撮像部12の画角の範囲(撮像画像の範囲)内の何れの領域に対応するのかを規定する情報を、規定情報として記憶している。
【0038】
そこで、接触操作検出部51は、このような規定情報と、検出した各指31の配置位置とに基づいて、仮想入力機器領域41における指31の相対位置を特定する。
図10は、撮像画像91が、規定情報によって仕切られている状態を示している。
図10に示すように、撮像画像91のうち、規定情報によって仕切られた領域が、仮想入力機器領域41となる。即ち、机21の上面に鍵盤が仮に配置されている状態で撮像部12が撮像したならば、撮像画像91に写り込むであろう鍵盤の像が規定情報によって再現され、当該鍵盤の像の領域が仮想入力機器領域41として設定されることになる。
具体的には、撮像部12の画角の範囲内(図10の例では撮像画像91の範囲内)において、鍵盤の鍵の配列に対応して、遠近法に基づいて区切られた各領域が、鍵盤を構成する各鍵に対応することになる。このような所定の鍵に対応する各領域を、キーボードの場合と統一するために、同様に「キー領域」と呼ぶものとすると、キーボードの場合と全く同様に、キー領域の集合体が仮想入力機器領域41として設定される。
図10の例では、接触操作検出部51は、撮像画像61の範囲内において、規定情報によって設定された仮想入力機器領域41の配置位置と、検出した爪領域31aの配置位置とを対応付けることによって、仮想入力機器領域41に対する指31の相対位置を特定する。
その後、接触操作検出部51は、キーボードに対応する仮想入力機器領域41の場合と全く同様の処理を実行することで、対象キー領域への押下操作の検出を行うことができる。
【0039】
対象キー領域への押下操作の検出結果は、図4の接触操作検出部51から入力処理部53に通知される。
この場合、入力処理部53は、入力機能を発揮し、かつ、処理実行機能として、いわゆるシーケンサ機能を発揮する。
即ち、入力処理部53は、入力機能を発揮させ、当該通知に従って、対象キー領域に対応する鍵に割り当てられている音高を特定可能な情報(以下、「音高情報」と呼ぶ)を入力する。例えば「C3」等が、音高情報として入力処理部53に入力される。そして、入力処理部53は、シーケンサ機能を発揮させ、後述する音声制御部55を制御することによって、音高情報で特定される音高(周波数)の音、例えば「C3」の音等を音声出力部57から出力させる。
換言すると、音声制御部55は、音高特定情報で特定される音高の音を、音源部56から発生させ、音声出力部57から出力させる制御を実行する。
例えば、音源部56が、いわゆるPCM(Pulse Code Modulation)音源として構成されているものとする。
この場合、音声制御部55は、音高情報で特定される音高の音のデータを音源部56から再生させ、当該音のデータをアナログの音声信号に変換して音声出力部57に供給する。音声出力部57は、例えばスピーカ等で構成されており、音声制御部55から供給されたアナログの音声信号に対応する音、即ち、PCM音源(音源部56)から発生された所定の音高の音を出力する。
これにより、鍵盤を有しない情報処理装置1を電子ピアノとして機能させることができる。即ち、ユーザは、鍵盤が無くとも、机21の上面等任意の実物体の面上に形成された仮想入力機器領域41を鍵盤代わりとして、電子ピアノと全く同様の演奏操作を行うことができる。
【0040】
なお、この場合も、表示制御部54は、対象キー領域、及び、入力処理部53によって入力された情報を含む入力操作結果画像を、表示部11に表示させる制御を実行する。具体的には例えば、図示はしないが、鍵盤に対応する仮想入力機器領域41及び爪領域31aを含み、最新の対象キー領域(最新に押下された鍵に対応するキー領域)が他のキー領域とは区別して表示されるような入力操作結果画像が、表示部11に表示される。
【0041】
以上、情報処理装置1の機能的構成について説明した。
ただし、上述した図4の機能的構成は例示に過ぎず、仮想入力機器用処理を実行可能であれば、情報処理装置1は任意の機能的構成を取ることができる。
【0042】
次に、図11乃至図14を参照して、図4の機能的構成を有する情報処理装置1が実行する仮想入力機器用処理の流れについて説明する。
【0043】
図11は、仮想入力機器用処理の主となる流れの一例を示すフローチャートである。
仮想入力機器用処理は、例えば、情報処理装置1の電源が投入されて、ユーザにより所定の操作がなされたことを契機として開始する。
【0044】
ステップS11において、図4の情報処理装置1の各部は、イニシャライズ処理を実行する。
【0045】
ステップS12において、情報処理装置1の各部は、スイッチ処理を実行する。
スイッチ処理とは、モードや設定条件等の複数の選択肢が存在するものについて、初期設定を含め、所定の選択肢を選択して設定する処理をいう。
例えば本実施形態では、仮想入力機器領域41に対応させる入力機器として、キーボードと鍵盤とのうち何れか一方をユーザが選択することができる。そして、ユーザは、キーボードを選択した場合には、図3を用いて上述した操作、即ち、仮想入力機器領域41をキーボードと見立てて、キーボードに対する押下操作と全く同様の操作をすることができる。一方、ユーザは、鍵盤を選択した場合には、図9を用いて上述した操作、即ち、仮想入力機器領域41を鍵盤と見立てて、鍵盤に対する演奏操作と全く同様の操作をすることができる。
この場合のスイッチ処理として、接触操作検出部51等は、当該ユーザの選択の操作を受け付け、当該操作の内容に従って、キーボードと鍵盤とのうち何れか一方を仮想入力機器領域41に対応付ける設定をする。
その他のスイッチ処理として、接触操作検出部51等は、仮想入力機器領域41が形成される実物体の面の種類(例えば机21の上面ならば木材等)や、鍵盤が設定された場合における発音させたい音色の種類等を設定する。
【0046】
ステップS13において、接触操作検出部51は、位置合せ処理を実行する。
位置合せ処理とは、ユーザが押下操作をする実物体の面(上述した例では机21の上面)の中の所定の位置を、仮想入力機器領域41内の所定のキー領域の位置(基準位置)として初期設定する処理をいう。
即ち、ユーザにとって、指31の初期位置(基準位置)となる所定のキー領域が存在する。例えばキーボードであるならば「Jキー」に対応するキー領域の位置が初期位置である。一方、例えば鍵盤であるならば「C3の音程の鍵」に対応するキー領域の位置が初期位置である。仮想入力機器領域41が設定される面(上述した例では机21の上面)の中から、このような初期位置を決定して、初期設定するためのキャリブレーション処理が、位置合せ処理である。
なお、本実施形態の位置合せ処理のさらなる詳細については、図12のフローチャートを参照して後述する。
位置合せ処理が終了すると、ユーザが押下操作する実物体の面の一部の領域が、仮想入力機器領域41として確定することになる。
【0047】
ステップS14において、接触操作検出部51は、ON検出処理を実行する。
ON検出処理とは、本実施形態では、対象キー領域への接触操作の検出を行う処理、例えば、仮想入力機器領域41がキーボード又は鍵盤に対応する場合には、対象キー領域への押下操作の検出を行う処理をいう。
なお、本実施形態のON検出処理のさらなる詳細については、図13のフローチャートを参照して後述する。
【0048】
対象キー領域への押下操作の検出結果が、図4の接触操作検出部51から入力処理部53に通知されると、処理はステップS14からステップS15に進む。
ステップS15において、入力処理部53は、入力処理を実行する。
入力処理とは、入力処理部53が、上述した入力機能及び処理実行機能を発揮させる処理をいう。
即ち、入力処理として、入力処理部53は、入力機能を発揮させることにより、対象キー領域に対応するキーや鍵に割り当てられている情報を入力し、処理実行機能を発揮させることにより、入力した情報に従って各種処理を実行する。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、処理実行機能としてはワープロ機能が発揮される。そして、対象キー領域は、キーボードを構成する各キーのうち、ユーザにより押下操作されたキーに対応している。従って、この場合には、入力処理部53は、対象キー領域に対応するキーに割り当てられている「F」等のテキスト情報を入力し、例えば、作成中の文章中に「F」等のテキストを追加する処理を実行する。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、処理実行機能としてはシーケンサ機能が発揮される。そして、対象キー領域は、鍵盤を構成する各鍵のうち、ユーザにより押下操作(演奏操作)された鍵に対応している。従って、この場合には、入力処理部53は、対象キー領域に対応する音高情報、例えば「C3」等の音高情報を入力する。その後、入力処理部53は、音声制御部55を制御することによって、音高情報で特定される音高(周波数)の音、例えば「C3」の音等を音声出力部57から出力させる。ただし、このような音の出力の処理は、後述するステップS17の発音処理として実行される。
【0049】
ステップS16において、表示制御部54は、表示処理を実行する。
表示処理とは、対象キー領域に関する情報を含む入力操作結果画像を、表示部11に表示させる処理をいう。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、表示処理によって、図8に示すような入力操作結果画像が表示部11に表示される。即ち、対象キー領域(図8の例では「Fキー」に対応するキー領域41a)や、対象キー領域に対応するキーに割り当てられている情報、即ちステップS16の処理で入力された情報(図8の例では「F」というテキスト)が表示部11に表示される。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、表示処理によって、図示はしないが、対象キー領域(「C3」等、押下操作された鍵に対応するキー領域)や、対象キー領域に対応する鍵に割り当てられている情報、即ちステップS16の処理で入力された情報(「C3」等の音高情報)が表示部11に表示される。
【0050】
ステップS17において、音声制御部55は、発音処理を実行する。
発音処理とは、対象キー領域に関する情報に基づいて、音声出力部57から音を出力させる処理をいう。
例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対してキーボードを対応させる設定がなされている場合には、発音処理によって、「カチャカチャ音」を実録したデータが音源部56から音声制御部55に供給され、当該データに基づいて、「カチャカチャ音」が音声出力部57から出力される。
一方、例えば、ステップS12のスイッチ処理で、仮想入力機器領域41に対して鍵盤を対応させる設定がなされている場合には、発音処理によって、ステップS15の処理で入力された音高情報で特定される音高(周波数)の音、例えば「C3」の音等が音声出力部57から出力される。
【0051】
ステップS18において、情報処理装置1の各部は、処理の終了が指示されたか否かを判定する。
処理の終了の指示は、特に限定されず、例えば情報処理装置1の電源が遮断される指示等、各種各様の指示を処理の終了の指示として採用することができる。
処理の終了がまだ指示されていない場合、ステップS18においてNOであると判定されて、処理はステップS12に戻され、それ以降の処理が繰り返される。
これに対して、処理の終了が指示された場合、ステップS18においてYESであると判定されて、仮想入力機器用処理の全体が終了となる。
【0052】
次に、このような仮想入力機器用処理のうち、ステップS13の位置合わせ処理の詳細な流れについて説明する。
図12は、位置合わせ処理の詳細な流れを説明するフローチャートである。
上述したように、ステップS12のスイッチ処理が終了すると、ステップS13の位置合わせ処理が開始し、次のようなステップS31乃至S35の一連の処理が実行される。
【0053】
ステップS31において、接触操作検出部51は、基準位置合わせ開始のメッセージを提示する。
当該メッセージの提示手法は、特に限定されず、例えば音声メッセージとして音声出力部57から出力する手法を採用してもよい。ただし、本実施形態では、例えば「基準位置にしたい位置を指と爪で強めに叩いて下さい。そこが「Jキー」又は「C3の音定」にセットされます」というテキストメッセージを含む画像として、表示部11に表示させる手法が採用されている。
即ち、本実施形態では、接触操作検出部51は、表示制御部54を制御して、当該テキストメッセージを含む画像を表示部11に表示させる。
【0054】
ステップS32において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0055】
ステップS33において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
ここで、「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができる。
ただし、ステップS33の判定処理の趣旨は、ユーザが、これからキーボードや鍵盤に見立てて押下操作しようとしている机21の上面等の中から基準位置を決定し、当該基準位置で指31を停止(平面と水平方向に対して停止)させたか否かを判定することである。即ち、基準位置を決定する意思がユーザにあるか否かを判定することが、ステップS33の判定処理の趣旨である。
従って、当該趣旨からみて妥当な値を、「一定以上の速さ」や「一定時間以上」の値として採用するとよい。このような観点で、本実施形態では、「一定以上の速さ」として、指31が停止していないと判断できる速度が採用されており、「一定時間以上」として、「20msec」が採用されている。
【0056】
撮像画像の範囲内において、爪領域31aが移動している最中で未だ停止していない場合、又は、爪領域31aが停止していても、その直前の爪領域31aの移動の速さが一定未満若しくは移動の時間が一定未満の場合、基準位置を決定する意思がユーザに未だないとして、ステップS33においてNOであると判定されて、処理はステップS33に戻される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止するまでの間、ステップS33の判定処理が繰り返される。
その後、撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したと判定された場合、その停止位置を基準位置として決定する意思がユーザにあるとして、ステップS33においてYESであると判定されて、処理はステップS34に進む。
【0057】
ステップS34において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と1kHz帯が−10dB以上か否かを判定する。
【0058】
即ち、当該ステップS34の処理は、ステップS33の処理でYESであると判定された後に実行されるところ、上述したように、ステップS33におけるYESであるという判定は、基準位置を決定する意思がユーザにあるという判定を意味している。
しかしながら、基準位置を決定する意思がユーザにあることは、当該ステップS33の判定だけでは確定できない。例えば、ユーザが、所定位置の上で指31を一端停止させたが、当該所定位置を指31と爪で叩かずに(押下操作を行わずに)、指31を再度移動させる場合もあり得る。このような場合に、ステップS33の判定だけを用いて、当該所定位置を基準位置として決定する意思がユーザにあるという判定を下してしまうことは、誤判定をすることを意味する。
このような誤判定を除外する趣旨、即ち、基準位置として決定する意思がユーザにあるという判定をより確実なものとする(精度よくする)ために、ステップS34の処理が設けられている。
【0059】
具体的には、本実施形態では、上述したように、ステップS31の処理で「基準位置にした位置を指と爪で強めに叩いて下さい」というテキストメッセージが表示部11に表示される。従って、これを視認したユーザは、基準位置にしたい位置を指31と爪で強めに叩くことによって、当該位置を基準位置にするという意思表示をするはずである。
してみると、接触操作検出部51は、ステップS33の処理でYESであると判定しただけでは、即ち基準位置にしたい位置の上方で指31を停止させことを単に確認しただけでは、基準位置を決定する意思がユーザにあると最終判断することはできない。即ち、接触操作検出部51は、基準位置にしたい位置を指31と爪で叩いた(押下操作した)ことを検出することができてはじめて、基準位置を決定する意思がユーザにあると最終判断することができる。このような最終判断をするための判定処理が、ステップS34の処理なのである。
【0060】
より具体的には、20Hz帯が、机21の上を指31で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上である場合に、ユーザが机21の上を指31で叩いた(押下操作した)ことを検出することができる。
一方、1kHz帯が、机21の上を爪で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、1kHz帯の音が−10dB以上である場合に、ユーザが机21の上を爪で叩いた(押下操作した)ことを検出することができる。
換言すると、ステップS34の判定処理で用いられる「20Hz帯」、「1kHz」、及び「10dB」といった各数値は、仮想入力機器領域41が机21の上面に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS34の判定処理で用いる数値として好適な値は可変する。
【0061】
本実施形態では、音の20Hz帯と1kHz帯の少なくとも一方が−10dB未満の場合、基準位置を決定する意思がユーザに未だないとして、ステップS34においてNOであると判定されて、処理はステップS33に戻されて、それ以降の処理が繰り返される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と1kHz帯の両方が−10dB以上となるまでの間、基準位置を決定する意思がユーザに未だないとして、ステップS33又はS34の処理でNOであると判定されて、位置合わせ処理は待機状態となる。
その後、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と1kHz帯の両方が−10dB以上となると、その停止位置を基準位置として決定する意思がユーザにあると最終判断されて、ステップS33及びS34の各々において何れもYESであると判定されて、処理はステップS35に進む。
【0062】
ステップS35において、接触操作検出部51は、撮像画像内の停止した爪領域31aの配置位置を基準位置として、仮想入力機器領域41を設定する。
【0063】
これにより、位置合わせ処理は終了し、即ち図11のステップS13の処理は終了し、処理はステップS14のON検出処理に進む。
【0064】
そこで、以下、ステップS14のON検出処理の詳細な流れについて引き続き説明する。
図13は、ON検出処理の詳細な流れを説明するフローチャートである。
【0065】
ステップS41において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0066】
ステップS42において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
ここで、「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができ、当然ながら、図12のステップS33の値とは相互に独立した値をそれぞれ採用できる。
ただし、ステップS42の判定処理の趣旨とは、ユーザが、これからキーボードや鍵盤に見立てて押下操作しようとしている仮想入力機器領域41の中から、押下操作の対象となる対象キー領域を決定し、当該対象キー領域の位置において指31を停止(机21の上面等と平行な方向に対して停止)させたか否かを判定することである。即ち、押下操作の対象となる対象キー領域を決定する意思がユーザにあるか否かを判定することが、ステップS42の判定処理の趣旨である。
従って、当該趣旨からみて妥当な値を、「一定以上の速さ」や「一定時間以上」の値を採用するとよい。このような観点で、本実施形態では、図12のステップS33の値と同一値、即ち「一定以上の速さ」として、指31が停止していないと判断できる速度が採用されており、「一定時間以上」として、「20msec」が採用されている。
【0067】
撮像画像の範囲内において、爪領域31aが移動している最中で未だ停止していない場合、又は、爪領域31aが停止していても、その直前の爪領域31aの移動の速さが一定未満若しくは移動の時間が一定未満の場合、押下操作の対象となる対象キー領域を決定する意思(押下操作する意思)がユーザに未だないとして、ステップS42においてNOであると判定されて、処理はステップS42に戻される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止するまでの間、ステップS42の判定処理が繰り返される。
その後、撮像画像の範囲内において、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したと判定された場合、その停止位置を対象キー領域として決定する意思(対象キー領域を押下操作する意思)がユーザにあるとして、ステップS42においてYESであると判定されて、処理はステップS43に進む。
【0068】
ステップS43において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と50Hz帯が−10dB以上か否かを判定する。
【0069】
即ち、当該ステップS43の処理は、ステップS42の処理でYESであると判定された後に実行されるところ、上述したように、ステップS42におけるYESであるという判定は、対象キー領域を決定する意思(対象キー領域を押下操作する意思)がユーザにあるという判定を意味している。
即ち、直前のステップS42の判定処理とは、撮像画像のデータに対して施した画像認識処理に基づく判定処理である。しかしながら、このような画像認識処理では、机21の上面等に対する指31の接触までを検出することができない。このため、直前のステップS42の処理では、対象キー領域を決定する意思がユーザにあるという判定ができるまでに留まるのである。
換言すると、ユーザが指31で実際に押下操作したか否かの判定は、直前のステップS42の判定だけでは確定できない。例えば、ユーザが、所定位置の上で指31を一端停止させたが、当該所定位置を指31で叩かずに(押下操作を行わずに)、指31を再度移動させる場合もあり得る。このような場合に、直前のステップS42の判定だけで、当該所定位置に対応するキー領域を、対象キー領域として押下操作をしたという判定を下してしまうことは、誤判定をすることを意味する。
このような誤判定を除外する趣旨、即ち、対象キー領域を押下操作したという判定をより確実なものとする(精度よくする)ために、ステップS43の処理が設けられている。
【0070】
具体的には、20Hz帯が、机21の上を指31で叩いた(押下操作した)際に、机21から発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上である場合に、ユーザが机21の上を指31で叩いた(押下操作した)ことを検出することができる。
さらに、本実施形態では誤検出防止のためさらに、50Hzが−10dB以上であることも判定される。この50Hz帯は、机21の上が振動する際に、机21から一般的に発生する音の周波数帯である。このため、接触操作検出部51は、20Hz帯の音が−10dB以上であり、かつ、50Hz帯の音が−10dB以上であると判定することで、ユーザが机21の上を指31で叩いた(押下操作した)ことをより確実に検出することができる。
換言すると、ステップS43の判定処理で用いられる「20Hz、「50Hz」、及び「−10dB」といった各数値は、仮想入力機器領域41が机21の上に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS43の判定処理で用いる数値の好適値は可変する。
【0071】
本実施形態では、音の20Hz帯と50Hz帯の少なくとも一方が−10dB未満の場合、ユーザが指31で押下操作したと断定できないため、ステップS43においてNOであると判定されて、処理はステップS42に戻されて、それ以降の処理が繰り返される。
即ち、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と50Hz帯の両方が−10dB以上となるまでの間、ユーザが指31で押下操作したと断定せずに、ステップS42又はS43の処理でNOであると判定されて、ON検出処理は待機状態となる。
その後、爪領域31aが一定以上の速さで一定時間以上移動した後に停止し、かつ、音の20Hz帯と50Hz帯の両方が−10dB以上となると、ユーザが対象キー領域の位置で指31を停止させ、その位置で押下操作したと最終判断されて、ステップS42及びS43の各々において何れもYESであると判定されて、処理はステップS44に進む。
【0072】
ステップS44において、接触操作検出部51は、撮像画像内の停止した爪領域31aが配置されているキー領域を、対象キー領域として認識する。
即ち、ステップS42においてYESであると判定する処理では、ユーザが指31を停止させたという動作を判定できるだけに留まる。換言すると、接触操作検出部51にとっては、ステップS42においてYESであると判定した時点では、指31の停止位置で押下操作する意思がユーザにあることを認識することができただけである。このため、ステップS42においてYESであると判定された時点では、指31の停止位置と、仮想入力機器領域41の配置位置とはまだ対応付けられていない。そこで、指31の停止位置と、仮想入力機器領域41の配置位置とを対応付けることによって、対象キー領域を確定する処理が、ステップS44の処理として実行される。
【0073】
ステップS45において、接触操作検出部51は、対象キー領域への押下操作を検出する。即ち、ステップS44の処理で対象キー領域が確定された後、対象キー領域への押下操作の検出の処理が、ステップS45の処理として実行される。
【0074】
これにより、ON検出処理は終了し、即ち図11のステップS14の処理は終了し、処理は、上述したステップS15の入力処理に進む。
【0075】
以上説明したように、本実施形態に係る情報処理装置1は、撮像部12と、音声入力部13と、接触操作検出部51と、入力処理部53と、を備えている。
撮像部12は、机21の上面等の所定領域を、所定の入力機器に対応する仮想入力機器領域41として、押下操作を行うユーザの指31を撮像することによって、撮像画像のデータを出力する。
音声入力部13は、ユーザの指31で仮想入力機器領域が押下操作された際に発生する音を入力し、当該音のデータを出力する。
接触操作検出部51は、撮像部12から出力された撮像画像のデータと、音声入力部13から出力された音のデータとに基づいて、ユーザの指31により仮想入力機器領域に対する押下操作がなされたことを検出する。
入力処理部53は、接触操作検出部51の検出結果に基づいて所定の情報を入力する。
このようにして、情報処理装置1は、入力機器を用いずにユーザの手の所作を用いて情報を入力するユーザ操作の1つとして、押下操作を受け付けて、当該押下操作に基づいて所定の情報を入力することができる。
このように、撮像画像だけでなく、ユーザの指31で仮想入力機器領域が押下操作された際に発生する音を用いて、押下操作が検出される。これにより、誤検出なく確実に押下操作を検出することが可能になる。
さらに、押下操作を検出するために用いられる撮像画像と音のデータは、撮像部12及び音声入力部13から得られる。撮像部12を構成するデジタルカメラや、音声入力部13を構成するマイクロフォン等は、近年の技術の発達により、低コストで非常に小型のものを採用することができ、図1に示すように情報処理装置1に内蔵することも容易に可能である。このように、情報処理装置1を簡素な構成で実現することができる。
また、ユーザにとっては、机21の上面等を所望の入力機器にみたてて、当該入力機器に対する操作と全く同様の操作を行うだけで、所望の情報を情報処理装置1に入力させることができる。この場合、ユーザは、上述した特許文献3のように、発話する必要は特にない。よって、ユーザは、所望の場所で(たとえ発話が禁止されている場所であっても)、より簡便な操作で所望の情報を入力することができる。
以上まとめると、情報処理装置1は、簡素な構成で誤検出なく確実に押下操作を検出すると共に、机21の上面等を押下する押下操作といたより簡便なユーザ操作を提供することができる。
【0076】
なお、本発明は上述の実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【0077】
例えば、上述の実施形態では、仮想入力機器領域41に対応する入力機器は、キーボード又は鍵盤とされたが、特にこれに限定されない。
具体的には例えば、マウスを仮想入力機器領域41に対応させること、より正確にはマウスの移動領域を仮想入力機器領域41に対応させることもできる。
【0078】
図14は、マウスを仮想入力機器領域41に対応させた場合における、ON検出処理の詳細な流れを説明するフローチャートである。
図14の例では、ユーザがマウスを用いて行うことが可能な表示部11の画面内での操作のうち、スクロール操作、カーソルの移動操作、及び、カーソルが指し示す対象(アイコン等)を選択等するためのクリック操作が、接触操作検出部51により検出される。
情報処理装置1は、図4の機能的構成をそのまま有している状態で、図14の例のON検出処理を実行することができる。
【0079】
図示はしないが、上述したように、より正確にいえば、マウスそのものが仮想入力機器領域41に対応するのではなく、机21の上面等実物体の面のうち、マウスの移動範囲、即ち図14の例では表示部11の画面に対応する範囲が、仮想入力機器領域41に対応する。
この場合、図示はしないが、位置合わせ処理では、図12のステップS31に相当する処理で、例えば「基準位置にしたい位置を指と爪で強めに叩いて下さい。そこが画面の中心位置にセットされます」というテキストメッセージを含む画像が表示される。
その後、図12のステップ32乃至S35の各々に相当する処理が実行される。即ち、撮像画像内の停止した爪領域31aの配置位置が基準位置(画面の中心位置)として、仮想入力機器領域41が設定される。
これにより、位置合わせ処理は終了し、即ち図11のステップS13の処理は終了し、処理はステップS14のON検出処理に進む。この場合、図14のステップS81以降の処理が実行される。
【0080】
ステップS81において、接触操作検出部51は、音声入力部13からの音のデータと、撮像部12からの撮像画像のデータとの取り込みを開始する。
【0081】
ステップS82において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の10kHz帯が−10dB以上か否かを判定する。
【0082】
具体的には、10Hz帯が、指31の爪で机21の上面をひっかいた際に発生する音の周波数帯である。このため、接触操作検出部51は、10kHz帯の音が−10dB以上である場合に、ユーザが机21の上面を指31の爪でひっかいたことを検出することができる。
換言すると、ステップS82の判定処理で用いられる「10kHz」、及び「−10dB」といった各数値は、仮想入力機器領域41が机21の上に形成されることを前提とした例示に過ぎない。即ち、仮想入力機器領域41が形成される実物体の面の特質、例えばその材質や大きさ等に応じて、ステップS43の判定処理で用いる数値の好適値は可変する。
【0083】
ここで、ユーザが机21の上を指31の爪でひっかいたことは、爪を押下して、押下した爪を移動させるという押下操作の一種であると把握することもできる。このように把握した場合、接触操作検出部51は、キーを押す等の一般的な押下操作のみならず、このような爪でひっかく等の押下操作も検出することができる。ただし、上述したように、接触操作検出部51により検出される操作を、キーを押す等の一般的な押下操作と明確に区別すべく、「接触操作」と呼んでいる。
即ち、接触操作検出部51は、一般の意の押下操作のみならず、各種各様の接触操作を検出することが可能であり、ステップS82の処理では、接触操作の一例として、爪でひっかく操作がなされた可能性があるか否かを判定することができる。
ここで、爪でひっかく操作として、スクロール操作が対応付けられているとする。この場合には、ステップS82においてYESであると判定されたときには、スクロール操作がなされた可能性があるとして、処理はステップS83に進む。これに対して、ステップS82においてNOであると判定されたときには、スクロール操作がなされた可能性はなく、別の操作がなされた可能性があるとして、処理はステップS87に進む。
【0084】
先ず、ステップS82においてYESであると判定された後の処理、即ち、スクロール操作がなされた可能性があるとして実行されるステップS83乃至S86の処理について説明する。
【0085】
この場合、接触操作検出部51は、音声入力部13から取り込んだ音のデータに基づいて、爪でひっかく操作、即ちスクロール操作の可能性があることを認識したので、ステップS83以降の処理では、撮像部12から取り込んだ撮像画像のデータを用いて、スクロール操作を検出する。
なお、この場合に用いられる撮像画像のデータは、音の10kHが−10dB以上となった時点又はその前後の間の時間的に連続して得られた画像(動画像)のデータであるとする。
【0086】
即ち、ステップS83において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、左右に爪領域31aが移動したか否かを判定する。
【0087】
撮像画像の範囲内において、左右に爪領域31aが移動していると判定された場合、ステップS83においてYESであると判定されて、処理はステップS84に進む。
ステップS84において、接触操作検出部51は、爪領域31aの変位分だけ画面を左右にスクロールする操作であることを検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、表示部11の画面表示は、ユーザが爪を左右にひっかいた分だけスクロールする。
【0088】
これに対して、撮像画像の範囲内において、左右に爪領域31aが移動していないと判定された場合、即ち、ステップS83においてNOであると判定された場合、処理はステップS85に進む。
ステップS85において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータに基づいて、当該撮像画像の範囲内において、爪領域31aの大小(撮像画像内の占有率)が変化したか否かを判定する。
【0089】
撮像画像の範囲内において、爪領域31aの大小が変化していないと判定された場合、即ち、ステップS85においてNOであると判定された場合、スクロール操作はなされていないとして、処理はステップS82に戻され、それ以降の処理が繰り返される。
【0090】
これに対して、撮像画像の範囲内において、爪領域31aの大小が変化していると判定された場合、即ち、ステップS85においてYESであると判定された場合、処理はステップS86に進む。
ステップS86において、接触操作検出部51は、爪領域31aの変化が大なら上へスクロールする操作であることを検出し、爪領域31aの変化が小なら下へスクロールする操作であることを検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、表示部11の画面表示は、ユーザが爪を上下にひっかいた分だけ上又は下へスクロールする。
【0091】
以上、ユーザが爪をひっかくことによりスクロール操作をした場合のON検出処理について説明した。
次に、ユーザが、カーソルの移動操作、及び、クリック操作をした場合のON検出処理について説明する。
ここでは、例えばユーザは右手に仮想マウスを保持していると仮定し、右手の人差指等所定の指31で机21の上面等を叩く操作(一般の意の押下操作)をすることによって、仮想マウスをクリックするものとする。即ち、仮想入力機器領域41の範囲内での指31を移動する操作が、カーソル操作に対応付けられ、指31で机21の上面等を叩く操作(一般的な意の押下操作)が、クリック操作に対応付けられているとする。
この場合、ステップS82においてNOであると判定されると、処理はステップS87に進む。
【0092】
ステップS87において、接触操作検出部51は、撮像部12から取り込んだ撮像画像のデータから爪領域31の位置関係を求め、当該爪領域31の位置関係に基づいて、仮想マウスの前後左右の絶対位置を決定することによって、カーソル移動操作を検出する。
なお、カーソル移動操作については、図11のステップS15の入力処理及びS16の表示処理と等価な処理がステップS87の処理中にも逐次実行されて、表示部11の画面においては、ユーザの指31の移動の軌跡に従ってカーソルが逐次移動するものとする。
【0093】
ステップS88において、接触操作検出部51は、音声入力部13から取り込んだ音のデータ(FFT処理後の周波数領域のデータ)に基づいて、当該音の20Hz帯と50Hz帯が−10dB以上であり、かつ、爪領域31aが一定以上の速さで一定時間以上移動した後に停止したか否かを判定する。
即ち、図13のステップS42及びS43の選択処理を1つにまとめたものと等価な処理が、ステップS88の処理である。また、その処理の趣旨も、机21の上面等に形成された仮想入力機器領域41内の所定位置で指31を停止させ、その所定位置で指31を叩く操作(一般的な意の押下操作)をしたか否かを判定することである点は、図13のステップS42及びS43の選択処理と同一である。
ただし、図14の例では、指31の停止位置が、カーソルの停止位置、例えば表示部11の画面内において選択対象のシンボル(アイコン等)を指し示す位置に対応し、その所定位置で指31を叩く操作(一般的な意の押下操作)が、クリック操作に対応する点が、図13の例とは異なる。
従って、図14のステップS88における「一定以上の速さ」や「一定時間以上」については、特に限定されず、任意の値を採用することができるが、図13のステップS42の値と同一値を採用すると好適である。即ち、「一定以上の速さ」として、指31が停止していないと判断できる速度を採用し、「一定時間以上」として、「20msec」を採用すると好適である。
【0094】
このように、ステップS88の判定処理とは、結局のところ、クリック操作がなされたか否かの判定処理である。
従って、ステップS88においてNOであると判定された場合、クリック操作がなされていないとして、処理はステップS82に戻され、それ以降の処理が繰り返される。
これに対して、ステップS88においてYESであると判定された場合、処理はステップS89に進む。ステップS89において、接触操作検出部51は、クリック操作を検出する。
これにより、ON検出処理は終了となる。即ち、図11のステップS14の処理は終了し、その後、ステップS15乃至S17の処理が実行される。その結果、マウスのクリック操作がなされたときと全く同様の処理が実行され、マウスのクリック音等も適宜出力される。
【0095】
以上、本発明の変形例として、マウスを仮想入力機器領域41に対応させた例について説明した。
【0096】
その他例えば、上述した実施形態では、仮想入力機器領域41が形成される面は、机21の上面とされたが、特にこれに限定されず、ユーザの指31が接触可能であれば、平面のみならず、凹凸が存在する面等任意の面でよい。
【0097】
また例えば、上述した実施形態では、指31の仮想入力機器領域41に対する接触操作、即ち、指31を叩いて実現される一般の意の押下操作に加え、指31の爪でひっかく等の各種操作の検出として、音のデータが用いられたが、特にこれに限定されない。
即ち、このような接触操作を検出するためには、指31又はその爪の仮想入力機器領域41の接触(机21の上面等の面の接触)に起因して変化する実世界の状態を示す状態データであれば、任意のデータを採用することができる。
例えば、指31の面の接触に起因して生ずる当該面の振動の状態を示す状態データに基づいて、接触操作を検出することもできる。この場合には、音声入力部13と共に又はそれに代えて、いわゆる振動センサが情報処理装置1に設けられ、当該振動センサの検出結果が、状態データの1つとして接触操作検出部51に供給される。
換言すると、上述した実施形態で用いられる音のデータとは、指31又はその爪の仮想入力機器領域41の接触に起因して変化する空気の振動の状態、即ち、音量や音高(周波数)を示すデータであため、状態データの例示に過ぎない。
さらに言えば、接触操作を検出するためには、仮想入力機器領域41の形成面が撮像された撮像画像のデータと、ユーザの指31又は爪が仮想入力機器領域41に接触したか否かを特定可能な特定情報とがあれば足りる。即ち、音のデータや振動センサの検出結果等の状態データとは、特定情報の例示に過ぎない。
ここで「接触の状態」とは、接触している各種状態のみならず、接触していないという状態も含む。従って、「接触の状態」を示す情報によって、接触しているか否かを判定することが可能になる。
【0098】
また例えば、上述した実施形態では、本発明が適用される情報処理装置は、カメラ付きデジタルフォトフレームとして構成される例として説明した。
しかしながら、本発明は、特にこれに限定されず、撮像機能及び状態データ入力機能(好適には音声入力機能)を有する電子機器一般に適用することができ、例えば、本発明は、パーソナルコンピュータ、携帯型ナビゲーション装置、ポータブルゲーム機等に幅広く適用可能である。
【0099】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【0100】
図15は、上述した一連の処理をソフトウェアにより実行させる場合の、情報処理装置1のハードウェア構成を示すブロック図である。
【0101】
情報処理装置1は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、バス104と、入出力インターフェース105と、入力部106と、出力部107と、記憶部108と、通信部109と、ドライブ110と、上述した音源部56と、を備えている。
【0102】
CPU101は、ROM102に記録されているプログラムに従って各種の処理を実行する。又は、CPU101は、記憶部108からRAM103にロードされたプログラムに従って各種の処理を実行する。
RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【0103】
例えば、上述した図4の機能的構成のうち、接触操作検出部51、入力処理部53、表示制御部54、及び音声制御部55は、CPU101というハードウェアと、ROM102等に記憶されたプログラム(ソフトウェア)との組み合わせとして構成することができる。
【0104】
CPU101、ROM102、及びRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インターフェース105も接続されている。入出力インターフェース105には、上述した音源部56に加えてさらに、入力部106、出力部107、記憶部108、通信部109、及びドライブ110が接続されている。
【0105】
入力部106は、例えば図4の撮像部12や音声入力部13の他、図示せぬ操作部等により構成され、必要に応じて振動センサも含まれる。
出力部107は、例えば図4の表示部11や音声出力部57等により構成される。
記憶部108は、ハードディスク等により構成され、各種データを記憶する。例えば図4の規定情報記憶部52は、記憶部108内の一領域として構成され、上述した規定情報を記憶する。
通信部109は、インターネット等を介して他の装置との間で行う通信を制御する。
【0106】
ドライブ110には、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア121が適宜装着される。ドライブ110によって読み出されたコンピュータプログラムは、必要に応じて記憶部108等にインストールされる。
【0107】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0108】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア121により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD−ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROM102や記憶部108に含まれるハードディスク等で構成される。
【0109】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【0110】
1・・・情報処理装置、11・・・表示部、12・・・撮像部、13・・・音声入力部、31・・・指、31a・・・爪領域、41・・・仮想入力機器領域、51・・・接触操作検出部、52・・・規定情報記憶部、53・・・入力処理部、54・・・表示制御部、55・・・音声制御部、56・・・音源部、57・・・音声出力部、101・・・CPU、102・・・ROM、103・・・RAM、106・・・入力部、107・・・出力部、108・・・記憶部、109・・・通信部、110・・・ドライブ、121・・・リムーバブルメディア
【特許請求の範囲】
【請求項1】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪の前記仮想入力機器領域への接触の状態を示す特定情報を検出する特定情報検出手段と、
前記撮像手段から出力された前記撮像画像のデータと、前記特定情報検出手段により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出手段と、
前記接触操作検出手段の検出結果に基づいて、前記所定の情報を入力する情報入力手段と、
を備える情報処理装置。
【請求項2】
前記撮像画像内における前記仮想入力機器領域の位置を規定する規定情報を記憶する規定情報記憶手段をさらに備え、
前記接触操作検出手段は、
前記規定情報記憶手段に記憶された前記規定情報、及び、前記撮像画像における前記ユーザの指又は爪の相対位置に基づいて、前記接触操作の対象となる前記所定領域を検出し、
前記撮像画像が撮像された時点又はその前後に前記特定情報検出手段により検出された前記特定情報に基づいて、前記ユーザの指又は爪の前記面への接触を検出することによって、
前記所定領域に対して前記接触操作がなされたこを検出する、
請求項1に記載の情報処理装置。
【請求項3】
前記特定情報検出手段は、前記ユーザの指又は爪の前記仮想入力機器領域への接触に起因して発生する音を入力する手段を含み、当該音のデータを前記特定情報として検出する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記接触操作検出手段は、前記特定情報検出手段により前記特定情報として検出された前記音のデータに基づいて、1以上の周波数帯の音の各々のレベルが閾値以上であることを検出することによって、前記ユーザの指又は爪の前記面への接触を検出する、
請求項3に記載の情報処理装置。
【請求項5】
前記接触操作検出手段は、時間的に連続する前記撮像画像のデータに基づいて、前記ユーザの指又は爪が一定以上の速度で一定時間移動した後に停止したことを検出することによって、前記指又は爪が停止した位置を前記所定領域として検出する、
請求項2乃至4の何れか1項に記載の情報処理装置。
【請求項6】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置の情報処理方法であって、
前記仮想入力機器領域が形成された前記面を撮像手段によって撮像することによって、撮像画像のデータを出力する撮像ステップと、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出ステップと、
前記撮像ステップの処理により出力された前記撮像画像のデータと、前記特定情報検出ステップの処理により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出ステップと、
前記接触操作検出ステップの検出処理の結果に基づいて、前記所定の情報を入力する情報入力ステップと、
を含む情報処理方法。
【請求項7】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出手段と、
を備える情報処理装置を制御するコンピュータに、
前記撮像手段から出力された前記撮像画像のデータと、前記特定情報検出手段により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出機能と、
前記接触操作検出機能の実現により得られた検出結果に基づいて、前記所定の情報を入力する情報入力機能と、
を実現させるプログラム。
【請求項1】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪の前記仮想入力機器領域への接触の状態を示す特定情報を検出する特定情報検出手段と、
前記撮像手段から出力された前記撮像画像のデータと、前記特定情報検出手段により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出手段と、
前記接触操作検出手段の検出結果に基づいて、前記所定の情報を入力する情報入力手段と、
を備える情報処理装置。
【請求項2】
前記撮像画像内における前記仮想入力機器領域の位置を規定する規定情報を記憶する規定情報記憶手段をさらに備え、
前記接触操作検出手段は、
前記規定情報記憶手段に記憶された前記規定情報、及び、前記撮像画像における前記ユーザの指又は爪の相対位置に基づいて、前記接触操作の対象となる前記所定領域を検出し、
前記撮像画像が撮像された時点又はその前後に前記特定情報検出手段により検出された前記特定情報に基づいて、前記ユーザの指又は爪の前記面への接触を検出することによって、
前記所定領域に対して前記接触操作がなされたこを検出する、
請求項1に記載の情報処理装置。
【請求項3】
前記特定情報検出手段は、前記ユーザの指又は爪の前記仮想入力機器領域への接触に起因して発生する音を入力する手段を含み、当該音のデータを前記特定情報として検出する、
請求項1又は2に記載の情報処理装置。
【請求項4】
前記接触操作検出手段は、前記特定情報検出手段により前記特定情報として検出された前記音のデータに基づいて、1以上の周波数帯の音の各々のレベルが閾値以上であることを検出することによって、前記ユーザの指又は爪の前記面への接触を検出する、
請求項3に記載の情報処理装置。
【請求項5】
前記接触操作検出手段は、時間的に連続する前記撮像画像のデータに基づいて、前記ユーザの指又は爪が一定以上の速度で一定時間移動した後に停止したことを検出することによって、前記指又は爪が停止した位置を前記所定領域として検出する、
請求項2乃至4の何れか1項に記載の情報処理装置。
【請求項6】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置の情報処理方法であって、
前記仮想入力機器領域が形成された前記面を撮像手段によって撮像することによって、撮像画像のデータを出力する撮像ステップと、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出ステップと、
前記撮像ステップの処理により出力された前記撮像画像のデータと、前記特定情報検出ステップの処理により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出ステップと、
前記接触操作検出ステップの検出処理の結果に基づいて、前記所定の情報を入力する情報入力ステップと、
を含む情報処理方法。
【請求項7】
所定の入力機器に対応する仮想入力機器領域が所定の面に形成されており、ユーザが、指又は爪を前記仮想入力機器領域に接触させる接触操作を行うことで、所定の情報を入力する情報処理装置であって、
前記仮想入力機器領域が形成された前記面を撮像することによって、撮像画像のデータを出力する撮像手段と、
前記ユーザの指又は爪が前記仮想入力機器領域に接触したか否かを特定可能な特定情報を検出する特定情報検出手段と、
を備える情報処理装置を制御するコンピュータに、
前記撮像手段から出力された前記撮像画像のデータと、前記特定情報検出手段により検出された前記特定情報とに基づいて、前記仮想入力機器領域のうちの所定領域に対して前記接触操作がなされたこを検出する接触操作検出機能と、
前記接触操作検出機能の実現により得られた検出結果に基づいて、前記所定の情報を入力する情報入力機能と、
を実現させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−53532(P2012−53532A)
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願番号】特願2010−193637(P2010−193637)
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年3月15日(2012.3.15)
【国際特許分類】
【出願日】平成22年8月31日(2010.8.31)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]