(57)【要約】【課題】  発声中に生じる、ポインティングされた位置のぶれを軽減する。【解決手段】  異なる複数の時点において、ポインティングデバイスによってポインティングされた表示面上の位置を示す情報を保持し、音声区間を特定し、前記複数の時点のうち前記音声区間に含まれる各時点における前記位置を示す情報に基づいて、前記表示面上の注目位置を決定する。【選択図】  図２
2012043281.tif 000002
【特許請求の範囲】
【請求項１】
異なる複数の時点において、ポインティングデバイスによってポインティングされた表示面上の位置を示す情報を保持する保持手段と、
音声区間を特定する特定手段と、
前記複数の時点のうち前記音声区間に含まれる各時点における前記位置を示す情報に基づいて、前記表示面上の注目位置を決定する決定手段とを有する情報処理装置。
【請求項２】
前記特定手段は、所定の閾値以上の音量の音が継続して検知された区間を前記音声区間として特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定手段は、前記閾値以上の音量の音が検知された後、前記閾値以上の音量の音が検知されなくなった時点から所定の時間が経過する前に、再び前記閾値以上の音量の音が検知された場合、前記閾値以上の音量の音が検知されなくなった時点から再び前記閾値以上の音量の音が検知された時点までの区間も前記音声区間の一部として特定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
表示面上の注目位置を決定する情報処理装置の動作方法であって、
異なる複数の時点において、ポインティングデバイスによってポインティングされた前記表示面上の位置を示す情報を保持する保持工程と、
音声区間を特定する特定工程と、
前記複数の時点のうち前記音声区間に含まれる各時点における前記位置を示す情報に基づいて、前記表示面上の注目位置を決定する決定工程とを有する動作方法。
【請求項５】
請求項４に記載の動作方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置を指定する技術に関する。
【背景技術】
【０００２】
従来、レーザーポインタをポインティングデバイスとして用いて、遠距離にある画面上のオブジェクトを指示し、音声認識を用いて制御を行う方法が知られている。尚、ポインティングデバイスを用いて音声認識による制御を行う方法としては、画面上のオブジェクトを選択して、指示語の発声を用いて音声制御を行う方法が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−０８１３６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、レーザーポインタは手の振動でポインタ像が意図した位置からずれる（ぶれる）場合が多く、手の振動は生理的な現象のために止めることが難しい。そのため上記従来の技術では、意図に反した位置を指示してしまうことがある。また、利用者が何らかの言葉を発声する際には発声に意識が向かうため、音声コマンドの発声時にはぶれが大きくなり、オブジェクトを正確に指示し続けることがさらに難しい。発声が行われているということは音声コマンドを入力しようとしている可能性が高く、その最中に予期せぬオブジェクトの選択や選択解除が発生することは、利用者の操作の大きな妨げとなり、利便を損ねる。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、本発明の情報処理装置は以下の構成を備える。すなわち、異なる複数の時点において、ポインティングデバイスによってポインティングされた表示面上の位置を示す情報を保持する保持手段と、音声区間を特定する特定手段と、前記複数の時点のうち前記音声区間に含まれる各時点における前記位置を示す情報に基づいて、前記表示面上の注目位置を決定する決定手段とを有する。
【発明の効果】
【０００６】
以上の構成により、音声コマンドの発声中に、ポインタの手ぶれによる予期せぬオブジェクトの選択や選択解除の発生を軽減することが出来る。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置の機能構成を示す機能ブロック図。
【図２】記憶部が記憶するデータの履歴を説明する模式図。
【図３】情報処理装置の使用時の処理過程の一例を説明するフローチャート。
【図４】レーザーポインタの輝点の位置を認識する処理過程の一例を説明するフローチャート。
【図５】指示オブジェクトを決定する処理過程の一例を説明するフローチャート。
【図６】画面上のオブジェクトおよび、レーザーポインタの軌跡の一例を示す図。
【図７】図６の軌跡が全て音声区間でなかった場合に決定される、仮の指示オブジェクトを決定するための位置及び指示オブジェクトを説明する図。
【図８】図６の軌跡が全て音声区間であった場合に決定される、仮の指示オブジェクトを決定するための位置及び指示オブジェクトを説明する図。
【図９】図６の軌跡が全て音声区間であり、かつ２５フレーム目に所定の単語が音声認識された場合に決定される、仮の指示オブジェクトを決定するための位置及び指示オブジェクトを説明する図。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、本発明の実施形態について説明する。
【０００９】
（第一の実施形態）
図１は本実施形態における情報処理装置の機能構成を示す機能ブロック図である。表示部１０１、撮像部１０２、集音部１０３、ポインタ認識部１０４、音声区間検出部１０５、音声認識部１０６、画面情報制御部１０７、統合部１０８、設定部１０９、記憶部１１０から成る。表示部１０１は、画面（表示面）を表示するプロジェクターである。なお、液晶モニタやブラウン管を用いてもよい。撮像部１０２は、表示部１０１および利用者が照射するレーザーポインタの輝点を撮像するビデオカメラである。集音部１０３は、音を集音して電気信号に変換するマイクロホンである。ポインタ認識部１０４はＭＰＵ等によって構成され、撮像部１０２が撮像した画像中からレーザーポインタの輝点の位置を認識する。音声区間検出部１０５はＭＰＵ等によって構成され、集音部１０３が集音した音の信号から、音声を含む区間を検出する。音声認識部１０６はＭＰＵ等によって構成され、利用者の音声を認識して音声コマンドを発行する。
【００１０】
画面情報制御部１０７はＭＰＵ等によって構成され、表示部１０１が表示する情報を管理し、音声認識部１０６が発行した音声コマンドに従って制御を行う。統合部１０８はＭＰＵ等によって構成され、単位時間ごとにポインタ認識部１０４、音声区間検出部１０５、音声認識部１０６、画面情報制御部１０７の情報を統合した情報処理を行う。単位時間の長さは、例えば６０分の１秒などに定め、これをフレームと呼ぶ。設定部１０９はＭＰＵ等によって構成され、処理に用いるパラメーターを保持および変更する。記憶部１１０は、集音部１０３で集音した音データ、音声区間検出部１０５による音声区間の判定結果、ポインタ認識部１０４によるポイント位置データを記憶する。また、記憶部１１０は、音声認識部１０６で認識した音声認識結果、および統合部１０８によって決定された仮の指示オブジェクトと指示オブジェクトをキャッシュとして記憶する。キャッシュは、例えば３００フレーム前から現在のフレームまでの分、すなわち５秒分のデータを保持する。なお、データを保持するフレームの数はこの限りでなく、またデータの種類ごとに保持する長さを変えてもよい。
【００１１】
図２は、記憶部１１０が保持するキャッシュの一例を図示したものである。ここで、音声区間の判定結果（図２（ｂ）の各フレームにおける「音声区間」の項目の結果に相当）とは、そのフレームにおいて人の声が発せられたか否かを表す情報である。そして、「音声区間である（「音声区間」の項目の結果が丸印である）」場合と、「音声区間でない（「音声区間」の項目の結果がバツ印である）」場合のいずれかを取る。なお、二値情報でなく、確からしさの程度を点数として保持するのでもよい。
【００１２】
また、音声区間検出部１０５は、所定の閾値以上の音量、音圧の音が継続して検知された区間を音声区間として検出してもよい。また、音声区間検出部１０５は、まず、所定の閾値以上の音量、音圧の音が検知された後、所定の閾値以上の音量、音圧の音が検知されなくなる。そして、所定の閾値以上の音量、音圧の音が検出されなくなった時点から所定の時間が経過する前に、再び所定の閾値以上の音量、音圧の音が検知された場合、以下に示す区間を音声区間として検出してもよい。即ち、最初に所定の閾値以上の音量、音圧の音が検知された時点から再び検知された所定の閾値以上の音量、音圧の音が消えるまでの区間である。つまり、所定の閾値以上の音量、音圧の音が継続して検知された複数の区間に挟まれる区間であって、所定の閾値以上の音量、音圧の音が検出されない時間が所定の時間に満たない区間も一連の音声区間の一部として検出してもよい。
【００１３】
ポイント位置データとは、そのフレームにおいてユーザーが照射したと考えられるレーザーポインタの輝点の、表示部１０１が表示する画面上（表示面上）における座標である。ポインタの輝点が発見されない場合は「なし」という値を取る。仮の指示オブジェクトとは、そのフレームおよびキャッシュの情報を加味して、そのフレームにおいてポインタが指示しようとしていると考えられる、画面上のオブジェクトである。指示オブジェクトとは、最終的にそのフレームにおいてユーザーが指示したものとするオブジェクトである。仮の指示オブジェクトおよび指示オブジェクトの情報は、画面情報制御部１０７で管理するオブジェクトのＩＤ、もしくはないと考えられる場合には「なし」を取る。仮の指示オブジェクトおよび指示オブジェクトは、後述する処理によって、統合部１０８が決定する。
【００１４】
図３は、フレームごとに行われる処理動作の流れを示したフローチャートである。まず、ステップＳ３００において、ポインタ認識部１０４は現在のフレームにおけるレーザーポインタの輝点の画面上の座標を認識する。次に、ステップＳ３０１において、集音部１０３は現在のフレームの間の音を集音し、電気信号に変換して現在のフレームの音データとして記憶部１１０に記録する。次に、ステップＳ３０２において、音声区間検出部１０５は現在のフレームの音データについて音声区間検出（ＶＡＤ：Ｖｏｉｃｅ  Ａｃｔｉｖｉｔｙ  Ｄｅｔｅｃｔｉｏｎ）を行い、人間の音声であるか否かを判断する。音声であれば、現在のフレームは「音声区間である」とする。そうでなければ、現在のフレームは「音声区間でない」とする。音声区間検出には公知の方法、例えば音声、非音声のガウス混合分布（ＧＭＭ）とそれぞれ比較する方法を用いる。次に、ステップＳ３０３において、統合部１０８はステップＳ３０２およびステップＳ３００で得られた情報を用いて、仮の指示オブジェクトおよび指示オブジェクトを決定する。次に、ステップＳ３０４において、音声認識部１０６は、現在からの連続した音声区間の音データに対して音声認識を行う。音声認識には公知の手法、例えば隠れマルコフモデル（ＨＭＭ）を用いて行う。現在の時点からの連続した音声区間の音データに対して音声認識を行い、最も尤度の高い認識結果の単語をキャッシュに記憶する。なお、現在のフレームが音声区間でない場合、もしくは音声区間であっても認識外の単語であるか、短すぎて判断できない場合は「なし」とする。
【００１５】
次に、ステップＳ３０５において、統合部１０８はキャッシュを調べ、現在のフレームの直前の、所定の個数の連続したフレームの間に指示されたオブジェクトが、全てステップＳ３０３で決定した指示オブジェクトであるかどうかを判断する。この所定の個数をＫ個とし、設定部１０９から取得するか、あるいは事前にたとえば４０個などの固定値として定める。尚、ステップＳ３０５において、直前のＫ個のフレームの間に指示されたオブジェクトの全てがステップＳ３０３で決定した指示オブジェクトであると判断された場合、統合部１０８はステップＳ３０６の処理を実行する。一方、ステップＳ３０４において、直前のＫ個のフレームの間に指示されたオブジェクトの少なくとも一つがステップＳ３０３で決定した指示オブジェクトでないと判断された場合、統合部１０８はステップＳ３０７の処理を実行する。ステップＳ３０６において、画面情報制御部１０７は、ステップＳ３０５において得られた音声認識の結果に基づき、現在のフレームでの指示オブジェクトに対して所定の情報処理を行う。
【００１６】
ここで、ステップＳ３０６の次、もしくはステップＳ３０４において、直前のＫ個のフレームの間に指示されたオブジェクトの少なくとも一つがステップＳ３０３で決定した指示オブジェクトでないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ３０７から始まる処理に相当する。ステップＳ３０７において、統合部１０８は、現在のフレームの情報をキャッシュとして保持する。現在のフレームにおける音声区間の判定結果としてはステップＳ３０２で得られた音声区間の判定結果を用いる。ポイント位置データとしては、ステップＳ３００で得られた画面上の座標を用いる。仮の指示オブジェクトおよび指示オブジェクトとしては、ステップＳ３０３で得られた仮の指示オブジェクトおよび指示オブジェクトをそれぞれ用いる。尚、最も古いキャッシュは破棄する。
【００１７】
図４は、ステップＳ３００において行われるレーザーポインタの輝点の位置を認識する処理の流れを表したフローチャートである。まずステップＳ４０１において、撮像部１０２は画面を撮像する。次に、ステップＳ４０２において、ポインタ認識部１０４は撮像した画像を、所定の輝度を閾値とする二値画像に変換する。例えばＹＣｂＣｒ色空間の表現においてＹ成分が１００以上の領域を白、それ以外を黒とする二値画像を作成する。なお、この閾値は他の値でもよく、また設定部１０９から取得するようにしてもよい。また輝度以外の成分の範囲を条件に設定してもよく、複数の成分を条件としてもよい。またＬ＊ａ＊ｂ＊表色系やＲＧＢなど他の色空間を用いてもよい。次に、ステップＳ４０３において、ポインタ認識部１０４は二値画像から所定の半径、例えば５ピクセル以上の円形を含む白の領域を検索し、円の中心の画面上の座標を検出する。この領域はレーザーポインタの像として画面上に形成される輝点であると考えられる。
【００１８】
なお、ポインタとして大きすぎると考えられる領域、例えば１５ピクセル以上の円形を含む範囲が発見された場合はエラーとするか、あるいはポインタが発見されなかったものとして処理してもよい。次に、ステップＳ４０４において、統合部１０８は、ステップＳ４０３において少なくとも１つの輝点が発見されたか否かを判断する。尚、ステップＳ４０４において、ステップＳ４０３において少なくとも１つの輝点が発見されたと判断された場合、統合部１０８はステップＳ４０７の処理を実行する。一方、ステップＳ４０４において、ステップＳ４０３において輝点が発見されなかったと判断された場合、統合部１０８はステップＳ４０５の処理を実行する。ステップＳ４０６において、統合部１０８は、ステップＳ４０３において発見された輝点の座標の、画面上の座標を取得する。画面上の座標は、撮像部が撮像した画像内の画面の四隅が成す四角形から、画面の座標への射影変換を、輝点の画像中の位置に対して行うことによって求める。次に、ステップＳ４０７において、統合部１０８は、現在のフレームの直前のフレームにおける輝点の座標を取得する。次に、ステップＳ４０８において、統合部１０８は、ステップＳ４０３において発見された輝点の中で、直前のフレームでの輝点の座標に最も近い輝点の座標を、現在のフレームにおけるポインタの座標と定める。
【００１９】
ここで、ステップＳ４０４において、ステップＳ４０３において輝点が発見されなかったと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ４０５から始まる処理に相当する。ステップＳ４０５において、現在のフレームにおけるポインタの座標を「なし」と定める。
【００２０】
図５は、統合部１０８がステップＳ３０３において指示オブジェクトを決定する処理の流れを表したフローチャートである。まず、ステップＳ５０１において、統合部１０８は、ステップＳ３０２において現在のフレームが音声区間と判断されているか否かを判断する。尚、ステップＳ５０１において、ステップＳ３０２において現在のフレームが音声区間と判断されている場合、統合部１０８はステップＳ５０２の処理を実行する。一方、ステップＳ５０１において、ステップＳ３０２において現在のフレームが音声区間と判断されている場合、統合部１０８はステップＳ５１２の処理を実行する。ステップＳ５０２において、統合部１０８はキャッシュを参照して、現在からの連続した（特定された）音声区間におけるポイント位置データの座標値の相加平均を算出する。ここで、現在からの連続した音声区間とは、最後に音声区間でないと判断されたフレームの次のフレームから現在のフレームまでの範囲である。ポイント位置データが「なし」と判断されているフレームについては、平均を取る対象から除外する。なお、相加平均の代わりに相乗平均、調和平均、二乗平均、最頻値などを用いてもよい。
【００２１】
次に、ステップＳ５２３において、ステップＳ５０２で算出した座標値の平均の位置に存在する画面上のオブジェクトを取得し、これをオブジェクトＯとする。ただし、オブジェクトＯは存在しない可能性もある。次に、ステップＳ５０３において、統合部１０８はキャッシュを参照して、現在からの連続した音声区間において、最も多くのフレームで仮の指示オブジェクトとして判断されたオブジェクトを取得し、これをオブジェクトＯｍａｘとする。次に、ステップ８２１において、統合部１０８はキャッシュを参照して、現在からの連続した音声区間において、最も新しいフレームでの音声認識結果を取得し、これを音声認識結果ｗとする。次に、ステップＳ５０４において、統合部１０８はステップＳ５０２においてオブジェクトＯが存在したか否かを判断する。尚、ステップＳ５０４において、ステップＳ５０２においてオブジェクトＯが存在したと判断された場合、統合部１０８はステップＳ５０５の処理を実行する。一方、ステップＳ５０４において、ステップＳ５０２においてオブジェクトＯが存在しないと判断された場合、統合部１０８はステップＳ５０７の処理を実行する。
【００２２】
ステップＳ５０５において、統合部１０８は現在のフレームにおける仮の指示オブジェクトはオブジェクトＯであると判断する。次に、ステップＳ５０６において、統合部１０８はオブジェクトＯとオブジェクトＯｍａｘが同一のオブジェクトであるか否かを判断する。
尚、ステップＳ５０６において、オブジェクトＯとオブジェクトＯｍａｘが同一のオブジェクトであると判断された場合、統合部１０８はステップＳ５０９の処理を実行する。一方、ステップＳ５０６において、オブジェクトＯとオブジェクトＯｍａｘが同一のオブジェクトでないと判断された場合、統合部１０８はステップＳ５０８の処理を実行する。
【００２３】
ここで、ステップＳ５０４において、ステップＳ５０２においてＯが存在しないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５０７から始まる処理に相当する。ステップＳ５０７において、統合部１０８は現在のフレームにおける仮の指示オブジェクトを「なし」であると判断する。ここで、ステップＳ５０７の次、もしくはステップＳ５０６において、ＯとＯｍａｘが同一のオブジェクトでないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５２２から始まる処理に相当する。ステップＳ５２２において、統合部１０８は音声認識結果ｗが音声認識結果の集合Ｗに含まれるか否かを判断する。音声認識結果の集合Ｗは、複数個のオブジェクトの指示を示す接頭語、例えば「これらを」「これと」「このあたり」などの単語であり、設定部１０９から取得するか、事前に固定した集合として定める。尚、ステップＳ５２２において、音声認識結果ｗが音声認識結果の集合Ｗに含まれないと判断された場合、統合部１０８はステップＳ５１２の処理を実行する。
【００２４】
一方、ステップＳ５２２において、音声認識結果ｗが音声認識結果の集合Ｗに含まれると判断された場合、統合部１０８はステップＳ５０８の処理を実行する。ここで、ステップＳ５２２において、音声認識結果ｗが音声認識結果の集合Ｗに含まれないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５０８から始まる処理に相当する。
【００２５】
ステップＳ５０８において、統合部１０８は、現在からの連続した音声区間において、Ｏｍａｘを仮の指示オブジェクトとするフレームの割合が所定の割合未満であるか否かを判断する。この所定の割合をＲ１パーセントとし、設定部１０９から取得するか、事前にたとえば５０％などの固定値として定める。尚、ステップＳ５０８において、現在からの連続した音声区間において、オブジェクトＯｍａｘを仮の指示オブジェクトとするフレームの割合がＲ１パーセント未満であると判断された場合、統合部１０８はステップＳ５０９の処理を実行する。一方、ステップＳ５０８において、現在からの連続した音声区間において、オブジェクトＯｍａｘを仮の指示オブジェクトとするフレームの割合がＲ１パーセント以上と判断された場合、統合部１０８はステップＳ５１０の処理を実行する。
【００２６】
ここで、ステップＳ５０６において、オブジェクトＯとオブジェクトＯｍａｘが同一のオブジェクトであると判断された場合に実行される一連の処理について説明する。また、ステップＳ５０８において、現在からの連続した音声区間において、オブジェクトＯｍａｘを仮の指示オブジェクトとするフレームの割合がＲ１パーセント以上であると判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５０９から始まる処理に相当する。ステップＳ５０９において、統合部１０８は現在のフレームにおける指示オブジェクトはオブジェクトＯｍａｘであると判断する。ここで、ステップＳ５０８において、現在からの連続した音声区間において、オブジェクトＯｍａｘを仮の指示オブジェクトとするフレームの割合がＲ１パーセント未満であると判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５１０から始まる処理に相当する。ステップＳ５１０において、統合部１０８はステップＳ５０４と同様に、ステップＳ５０２においてオブジェクトＯが存在したか否かを判断する。尚、ステップＳ５１０において、ステップＳ５０２においてオブジェクトＯが存在したと判断された場合、統合部１０８はステップＳ５１１の処理を実行する。一方、ステップＳ５１０において、ステップＳ５０２においてオブジェクトＯが存在しないと判断された場合、統合部１０８はステップＳ５１２の処理を実行する。ステップＳ５１１において、統合部１０８は現在のフレームにおける指示オブジェクトはＯであると判断する。
【００２７】
ここで、ステップＳ５０１において、ステップＳ３０２において現在のフレームが音声区間と判断されていると判断された場合に実行される一連の処理について説明する。また、ステップＳ５１０において、ステップＳ５０２においてオブジェクトＯが存在しないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５１２から始まる処理に相当する。ステップＳ５１２において、統合部１０８はキャッシュを参照して、現在のフレームの直前の、所定の個数の連続したフレームにおけるポイント位置データの座標値の相加平均を算出する。この所定の個数をＮ１個とし、設定部１０９から取得するか、事前にたとえば１０個などの固定値として定める。ポイント位置データが「なし」と判断されているフレームについては、平均を取る対象から除外する。なお、相加平均の代わりに相乗平均、調和平均、二乗平均、最頻値などを用いてもよい。
【００２８】
次に、ステップＳ５２４において、ステップＳ５１２で算出した座標値の平均の位置に存在する画面上のオブジェクトを取得し、これをオブジェクトＯ’とする。ただし、オブジェクトＯ’は存在しない可能性もある。次に、ステップＳ５１３において、統合部１０８はキャッシュを参照して、現在のフレームの直前の所定の個数の連続したフレームにおいて、最も多くのフレームで仮の指示オブジェクトとして判断されたオブジェクトを取得し、オブジェクトＯ’ｍａｘとする。この所定の個数をＮ２個とし、設定部１０９から取得するか、事前にたとえば２０個などの固定値として定める。次に、ステップＳ５１４において、統合部１０８はステップＳ５１２においてオブジェクトＯ’が存在したか否かを判断する。
【００２９】
尚、ステップＳ５１４において、ステップＳ５１２においてオブジェクトＯ’が存在したと判断された場合、統合部１０８はステップＳ５１５の処理を実行する。一方、ステップＳ５１４において、ステップＳ５１２においてオブジェクトＯ’が存在しないと判断された場合、統合部１０８はステップＳ５１７の処理を実行する。ステップＳ５１５において、統合部１０８は現在のフレームにおける仮の指示オブジェクトはＯ’であると判断する。次に、ステップＳ５１６において、統合部１０８はオブジェクトＯ’とオブジェクトＯ’ｍａｘが同一のオブジェクトであるか否かを判断する。尚、ステップＳ５１６において、オブジェクトＯ’とオブジェクトＯ’ｍａｘが同一のオブジェクトであると判断された場合、統合部１０８はステップＳ５１９の処理を実行する。一方、ステップＳ５１６において、オブジェクトＯ’とオブジェクトＯ’ｍａｘが同一のオブジェクトでないと判断された場合、統合部１０８はステップＳ５１８の処理を実行する。
【００３０】
ここで、ステップＳ５１４において、ステップＳ５１２においてオブジェクトＯ’が存在しないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５１７から始まる処理に相当する。ステップＳ５１７において、統合部１０８は現在のフレームにおける仮の指示オブジェクトを「なし」であると判断する。ここで、ステップＳ５１７の次、もしくはステップＳ５１６において、オブジェクトＯ’とオブジェクトＯ’ｍａｘが同一のオブジェクトでないと判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５１８から始まる処理に相当する。ステップＳ５１８において、統合部１０８は、現在のフレームの直前のＮ２個のフレームにおいて、オブジェクトＯ’ｍａｘを仮の指示オブジェクトとするフレームの割合がＲ２パーセント未満、ここでＲ２パーセント未満であるか否かを判断する。Ｒ２は設定部１０９から取得するか、事前にたとえば７０などの固定値として定める。
【００３１】
尚、ステップＳ５１８において、現在のフレームの直前のＮ２個のフレームにおいて、オブジェクトＯ’ｍａｘを仮の指示オブジェクトとするフレームの割合がＲ２パーセント未満であると判断された場合、統合部１０８はステップＳ５１９の処理を実行する。一方、ステップＳ５１８において、現在からの連続した音声区間において、オブジェクトＯ’ｍａｘを仮の指示オブジェクトとするフレームの割合がＲ２パーセント以上と判断された場合、統合部１０８はステップＳ５１０の処理を実行する。ここで、ステップＳ５１６において、オブジェクトＯ’とオブジェクトＯ’ｍａｘが同一のオブジェクトであると判断された場合に実行される一連の処理について説明する。また、ステップＳ５１８において、現在からの連続した音声区間において、オブジェクトＯ’ｍａｘを仮の指示オブジェクトとするフレームの割合がＲ２パーセント以上であると判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５１９から始まる処理に相当する。
【００３２】
ステップＳ５１９において、統合部１０８は現在のフレームにおける指示オブジェクトはオブジェクトＯ’ｍａｘであると判断する。ここで、ステップＳ５１８において、現在からの連続した音声区間において、オブジェクトＯ’ｍａｘを仮の指示オブジェクトとするフレームの割合がＲ２パーセント未満であると判断された場合に実行される一連の処理について説明する。尚、この処理は、ステップＳ５２０から始まる処理に相当する。ステップＳ５２０において、統合部１０８は現在のフレームにおける指示オブジェクトは「なし」であると判断する。尚、ステップＳ５１０において、ステップＳ５１２においてオブジェクトＯ’が存在したと判断された場合、統合部１０８はステップＳ５１１の処理を実行する。
【００３３】
以上の処理を実行することによる結果、及びその効果について例を用いて説明する。図６は、オブジェクトと、レーザーポインタの輝点の軌跡の一例を表したものである。６０１は５０フレーム前のポイント位置データが示す位置であり、６０２は現在のフレームのポイント位置データが示す位置である。四角の節点は順に各フレームのポイント位置データが示す位置であり、隣り合うフレームの接点を直線で結んでいる。６０３および６０４は画面上のオブジェクトであり、オブジェクトＩＤとしてそれぞれ１、２が振られているものとする。このレーザーポインタの輝点の軌跡に対して、音声区間が検出されているか否かによってどのように処理が変化するかを比較することにより、本発明の効果を説明する。なお、５１フレーム以前のポイント位置データは「なし」であるものとし、またＫ＝６０、Ｎ１＝１０、Ｎ２＝２０、Ｒ１＝５０、Ｒ２＝７０とする。また音声認識結果の集合Ｗは「これらを」を含むものとする。
【００３４】
図７では、５０フレーム前から現在フレームまで全て「音声区間でない」と判断された場合に、ステップＳ５１２で得られたポイント位置データの座標値の平均の位置を節点として図示している。節点７０１は５０フレーム前のポイント位置データの座標値の平均の位置であり、節点７０２が現在のフレームのポイント位置データの座標値の平均の位置である。尚、この平均の位置を注目位置とする。それぞれの節点のフレームで指示オブジェクトと判断されたオブジェクトを、接点の形状で表した。なお仮の指示オブジェクトは節点と実際に重なっているオブジェクトである。例えば節点７０１における仮の指示オブジェクトは「なし」であり、節点７０２における仮の指示オブジェクトはオブジェクト６０３である。
【００３５】
図８では、５０フレーム前から現在フレームまで全て「音声区間である」と判断された場合に、ステップＳ５０２で得られたポイント位置データの座標値の平均の位置を節点として図示している。節点８０１は５０フレーム前のポイント位置データの座標値の平均の位置であり、節点８０２が現在のフレームのポイント位置データの座標値の平均の位置である。尚、この平均の位置を注目位置とする。図７と同様に、それぞれの節点のフレームで指示オブジェクトと判断されたオブジェクトを、接点の形状で表した。なお仮の指示オブジェクトは節点と実際に重なっているオブジェクトである。例えば節点８０１における仮の指示オブジェクトは「なし」であり節点８０２における仮の指示オブジェクトはオブジェクト６０３である。
【００３６】
図９では、５０フレーム前から現在フレームまで全て「音声区間である」と判断され、かつ２５フレーム前において音声認識結果「これらを」を検出した場合に、ステップＳ５０２で得られたポイント位置データの座標値の平均の位置を節点として図示している。節点９０１は５０フレーム前のポイント位置データの座標値の平均の位置であり、節点９０２が現在のフレームのポイント位置データの座標値の平均の位置である。尚、この平均の位置を注目位置とする。また、節点９０３は２５フレーム前のポイント位置データの座標値の平均の位置である。尚、この平均の位置も同様に注目位置とする。図７と同様に、それぞれの節点のフレームで指示オブジェクトと判断されたオブジェクトを、接点の形状で表した。なお仮の指示オブジェクトは節点と実際に重なっているオブジェクトである。例えば節点９０１における仮の指示オブジェクトは「なし」であり、節点９０２における仮の指示オブジェクトはオブジェクト６０３である。
【００３７】
図７の場合は音声区間でないと判断されているので、ユーザーはコマンドを送ろうとする前であり、オブジェクトの選択を試みていると考えられる。この場合はより近い履歴のみを用いてポイント位置を平滑化することによって、オブジェクトの選択の切り替えを素早くすることが出来る。また、図８の場合は、音声区間であると判断されているので、音声コマンドの入力が既に開始していると考えられる。この場合は音声区間全体に渡って平滑化することで、コマンドを指示している最中のオブジェクトから容易に指示の状態が解除されなくなり、誤操作のリスクが軽減する。また、図９の場合は、音声区間であると判断されているが、音声認識結果「これらを」が途中で発声されたことを検出したため、複数のオブジェクトが選択対象とされることが想定される。この場合は、音声区間の平滑化を停止して、複数のオブジェクトを対象とする操作を容易とする。このようにして、音声コマンドの発声中と、そうでないときの両方の状況においてユーザーの意図に沿ったスムーズな操作が実現される。
【００３８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012043281.tif 000003
【図２】
2012043281.tif 000004
【図３】
2012043281.tif 000005
【図４】
2012043281.tif 000006
【図５】
2012043281.tif 000007
【図６】
2012043281.tif 000008
【図７】
2012043281.tif 000009
【図８】
2012043281.tif 000010
【図９】
2012043281.tif 000011