JP2017156839A - ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム - Google Patents

ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム Download PDF

Info

Publication number
JP2017156839A
JP2017156839A JP2016037415A JP2016037415A JP2017156839A JP 2017156839 A JP2017156839 A JP 2017156839A JP 2016037415 A JP2016037415 A JP 2016037415A JP 2016037415 A JP2016037415 A JP 2016037415A JP 2017156839 A JP2017156839 A JP 2017156839A
Authority
JP
Japan
Prior art keywords
command
voice information
unit
screen
pointing support
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016037415A
Other languages
English (en)
Other versions
JP6597397B2 (ja
Inventor
中山 寛
Hiroshi Nakayama
寛 中山
小田切 淳一
Junichi Odagiri
淳一 小田切
哲 中島
Satoru Nakajima
哲 中島
村瀬 健太郎
Kentaro Murase
健太郎 村瀬
田中 正清
Masakiyo Tanaka
正清 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016037415A priority Critical patent/JP6597397B2/ja
Priority to US15/434,439 priority patent/US10228905B2/en
Priority to CN201710096283.8A priority patent/CN107132961B/zh
Publication of JP2017156839A publication Critical patent/JP2017156839A/ja
Application granted granted Critical
Publication of JP6597397B2 publication Critical patent/JP6597397B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

【課題】効率的にポインティングを実行すること。
【解決手段】ポインティング支援装置100は、視線位置を検出し、視線位置を基準とする検索範囲内に含まれる画面上のコマンドを抽出する。ポインティング支援装置100は、抽出されたコマンドとコマンドの音声情報とを対応付けたテーブルを生成する。ポインティング支援装置100は、音声情報を受け付けた場合に、受け付けた音声情報と、テーブルの音声情報とを基にして、コマンドを判定する。
【選択図】図2

Description

本発明は、ポインティング支援装置等に関する。
近年、GUI(Graphical User Interface)を備えるPC(Personal computer)、タブレット端末、スマートフォン等の情報機器が普及している。利用者は、GUIの任意の位置にあるアイコン、ボタン、コマンドタブ等のターゲットをポインティングすることで、情報機器を操作する。
情報機器に対するポインティングは、利用者の上肢によるマウス操作や、タッチパッド、タッチパネル上の手指による操作で行われる。このため、上肢や手指がうまく機能しない肢体不自由者や高齢者等は、GUIを備えた情報機器を操作することができなかった。
この問題について、上肢や手指による直接的な操作を行わなくても、利用者の音声認識を実行して、ポインティングを行うことを可能とする従来技術がある。
図19は、従来技術を説明するための図である。従来技術は、ウィンドウ10Aが開かれている状態で、利用者が「ShowNumbers(しょうなんばーず)」と発話したことを認識すると、次の処理を行う。従来技術は、マウスによって選択可能なウィンドウ10A上のボタンやアイコン、コマンドタブ等に相当する領域に固有の番号を割り当てて表示させる。利用者は、選択したい領域に割り振られた番号を発話し、従来技術は音声認識により、選択された領域を判定する。例えば、図19において、利用者がウィンドウ10Aの各番号を参照し、番号「10」の領域を選択したい場合には、「10(てん)」と発話し、従来技術は、音声認識により、番号「10」の領域が選択されたと判定する。
MicroSoft、"音声認識を使用する方法"、[平成28年2月10日検索]、インターネット<URL:http://windows.microsoft.com/ja-jp/windows-8/using-speech-recognition>
しかしながら、上述した従来技術では、効率的にポインティングを実行することができないという問題がある。
一般的に、発話区間が短いと認識率が低下する傾向にあるため、従来技術のように番号を発話させると、発話区間が短く、利用者の所望する領域を適切に判定することができない場合があった。また、従来技術では、同じウィンドウの同じボタンであっても、毎回異なる番号が割り振られるため、利用者にとって使い勝手の悪いものとなる。また、従来技術では、アイコン、ボタン、コマンドタブにそれまで表示されていた情報の上に、番号が重畳された状態で表示されるため、本来のコマンドが見づらいという問題もある。
1つの側面では、本発明は、効率的にポインティングを実行することができるポインティング支援装置、ポインティング支援方法およびポインティング支援プログラムを提供することを目的とする。
第1の案では、ポインティング支援装置は、視線位置検出部と、コマンド抽出部と、生成部と、判定部とを有する。視線位置検出部は、画面上の利用者の視線位置を検出する。コマンド抽出部は、視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出する。生成部は、コマンド抽出部によって抽出されたコマンドとコマンドの音声情報とを対応付けたテーブルを生成する。判定部は、音声情報を受け付けた場合に、受け付けた音声情報と、テーブルの音声情報とを基にして、コマンドを判定する。
効率的にポインティングを実行することができる。
図1は、本実施例1に係るポインティング支援装置の処理の一例を説明するための図である。 図2は、本実施例1に係るポインティング支援装置の構成を示す機能ブロック図である。 図3は、本実施例1に係るコマンド辞書テーブルのデータ構造の一例を示す図である。 図4は、本実施例1に係るコマンド辞書キャッシュテーブルのデータ構造の一例を示す図である。 図5は、本実施例1に係るポインティング支援装置の処理手順を示すフローチャート(1)である。 図6は、本実施例1に係るポインティング支援装置の処理手順を示すフローチャート(2)である。 図7は、経路定義テーブルのデータ構造の一例を示す図である。 図8は、第1経路定義を説明するための図である。 図9は、第2経路定義を説明するための図である。 図10は、第3経路定義を説明するための図である。 図11は、本実施例2に係るポインティング支援装置の構成を示す機能ブロック図である。 図12は、ステータス画面を説明するための図である。 図13は、表示制御部の処理2を説明するための図(1)である。 図14は、表示制御部の処理2を説明するための図(2)である。 図15は、本実施例2に係るポインティング支援装置の処理手順を示すフローチャート(1)である。 図16は、本実施例2に係るポインティング支援装置の処理手順を示すフローチャート(2)である。 図17は、本実施例2に係るポインティング支援装置の処理手順を示すフローチャート(3)である。 図18は、ポインティング支援プログラムを実行するコンピュータの一例を示す図である。 図19は、従来技術を説明するための図である。
以下に、本願の開示するポインティング支援装置、ポインティング支援方法およびポインティング支援プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係るポインティング支援装置の処理の一例を説明するための図である。図1のアプリケーション画面50は、コマンド51a,51b,51c,51d,51e,51f,51gを有する。ポインティング支援装置は、利用者の視線検出を実行し、視線位置52を検出する。ポインティング支援装置は、視線位置52の位置を中心として、検索範囲53に含まれるコマンド51c,51d,51e,51fを抽出する。
ポインティング支援装置は、コマンド51c,51d,51e,51fを音声認識するためのコマンド辞書テーブルを生成する。例えば、ポインティング支援装置は、コマンド51cと音声認識用データ「新規(しんき)」とを対応付け、コマンド51dと、音声認識用データ「返信(へんしん)」とを対応付けた情報をコマンド辞書テーブルに登録する。また、ポインティング支援装置は、コマンド51eと音声認識用データ「転送(てんそう)」とを対応付け、コマンド51fと音声認識用データ「検索(けんさく)」とを対応付けた情報をコマンド辞書テーブルに登録する。
例えば、利用者が「返信(へんしん)」と発話すると、ポインティング支援装置は、音声認識を実行する。ポインティング支援装置は、音声認識結果と、コマンド辞書テーブルの各音声認識用データとを比較して、音声認識結果に対応する音声認識用データのコマンド「返信」を特定し、ポインタの位置を、返信のコマンド51dの位置に移動させる。
図1に示したような処理をポインティング支援装置が実行することで、腕や手足に不自由を抱える肢体不自由者や高齢者等は、マウス等を使うことなく、ストレス無く高精度なGUI画面のコマンド選択を効率的に行うことができる。
次に、本実施例1に係るポインティング支援装置の構成について説明する。図2は、本実施例1に係るポインティング支援装置の構成を示す機能ブロック図である。図2に示すように、このポインティング支援装置100は、視線入力部110と、入力部120と、音声入力部130と、表示部140と、記憶部150と、制御部160とを有する。
視線入力部110は、利用者の視線を入力するための装置である。例えば、視線入力部110は、カメラに対応する。視線入力部110は、利用者の顔画像を撮影し、撮影した顔画像のデータを制御部160に出力する。
入力部120は、利用者によって押下可能なボタンを有するスイッチである。入力部120は、ボタンが押下されているか否かの信号を、制御部160に出力する。
音声入力部130は、利用者が発話した音声を取得するための装置である。例えば、音声入力部130は、マイクに対応する。音声入力部130は、利用者の音声のデータを、制御部160に出力する。
表示部140は、制御部160から出力される各種の情報を表示する表示装置である。表示部140は、液晶ディスプレイやタッチパネル等に対応する。
記憶部150は、コマンド辞書テーブル151と、コマンド辞書キャッシュテーブル152とを有する。記憶部150は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
コマンド辞書テーブル151は、図1で説明したコマンド辞書テーブルに対応するものであり、コマンドの情報と、コマンドの音声認識用データとを対応付ける。図3は、本実施例1に係るコマンド辞書テーブルのデータ構造の一例を示す図である。図3に示すように、コマンド辞書テーブル151は、抽出コマンド文字コード列と、位置座標と、音声認識用データとを対応付ける。
図3において、抽出コマンド文字コード列は、視線位置の位置を中心とした画面上の検索範囲から抽出されるコマンドの文字コード列を示す。位置座標は、抽出されたコマンドの画面上の位置座標を示す。音声認識用データは、コマンドを認識するための音声データである。例えば、図3の1行目のレコードでは、「新規」の文字コード列が登録され、「新規」のコマンドの座標「x1,y1」が登録され、「しんき」の音声認識用データが登録される。
コマンド辞書キャッシュテーブル152は、コマンド辞書テーブル151の生成を効率化する為に用いられるテーブルである。図4は、本実施例1に係るコマンド辞書キャッシュテーブルのデータ構造の一例を示す図である。図4に示すように、コマンド辞書キャッシュテーブル152は、コマンド文字コード列と、音声認識用データとを対応付ける。
図4において、コマンド文字コード列は、画面上に含まれる全てのコマンドの文字コード列を示す。音声認識用データは、コマンドを認識するための音声データである。例えば、図4の1行目のレコードでは、「受信」の文字コード列が登録され、「じゅしん」の音声認識用データが登録される。
図2の説明に戻る。制御部160は、視線位置検出部161と、コマンド抽出部162と、生成部163と、判定部164と、表示制御部165とを有する。制御部160は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部160は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
視線位置検出部161は、表示部140の画面上の利用者の視線位置を検出する処理部である。視線位置検出部161は、視線位置の情報を、コマンド抽出部162に出力する。
視線位置検出部161は、どのような従来技術を用いて、利用者の視線位置を検出しても良い。例えば、視線位置検出部161は、視線入力部110から顔画像データを取得する度に、顔画像データを画像解析し、利用者の目の基準点と、動点とを特定する。視線位置検出部161は、基準点と動点との関係から、利用者の視線位置を検出する。基準点と動点との組は、利用者の目に関する目頭と虹彩、または、利用者の目に関する角膜反射と瞳孔となる。視線位置検出部161は、特開2012−187190号公報に記載された技術を用いて、視線位置を検出しても良い。
コマンド抽出部162は、視線位置の初期位置を特定し、初期位置を基準とする検索範囲内に含まれる画面上のコマンドを抽出する処理部である。例えば、コマンド抽出部162は、入力部120が利用者により押下されたタイミングにおける視線位置を、初期位置として特定する。コマンド抽出部162は、抽出したコマンドの情報を、生成部163および表示制御部165に出力する。例えば、コマンドの情報は、コマンドの文字コード列と、コマンドの位置座標とを対応付けた情報である。
コマンド抽出部162は、どのような従来技術を用いて、画面上の検索範囲内のコマンドを抽出しても良い。例えば、画面上に配置されるコマンドの位置、コマンドの文字コード列、属性等をそれぞれ定義した画面情報と、初期位置を基準とする検索範囲とを比較して、コマンドの情報を抽出する。
生成部163は、コマンド抽出部162から取得するコマンドの情報を基にして、コマンド辞書テーブル151を生成する処理部である。以下において、生成部163の処理について説明する。生成部163は、コマンド辞書テーブル151を生成する前に、コマンド辞書キャッシュテーブル152を事前に生成する。
生成部163が、コマンド辞書キャッシュテーブル152を生成する処理の一例について説明する。生成部163は、利用者によって画面がアクティブになったことを検出すると、アクティブとなった画面の画面情報を走査して、画面に含まれる全てのコマンドの文字コード列を抽出する。生成部163は、抽出した文字コード列を、コマンド辞書キャッシュテーブル152のコマンド文字コード列に登録する。
生成部163は、コマンド辞書キャッシュテーブル152に登録した文字コード列に対応する音声認識用データを生成し、文字コード列と対応付けて、コマンド辞書キャッシュテーブル152に登録する。
生成部163は、どのような従来技術を用いて、文字コード列に対応する音声認識用データを生成しても良い。例えば、生成部163は、文字コード列を解析することで、読み方を特定し、読み方の各文字に対応する音声を組み合わせることで、音声認識用データを生成する。
例えば、生成部163は、文字コード列「新規」を解析することで、読み方「しんき」を特定し、各文字「し」、「ん」、「き」に対応する音声を組み合わせることで、文字コード列「新規」の音声認識用データを生成する。なお、各文字の音声は、図示しない音声データベースに格納されており、生成部163は、この音声データベースを参照して、各文字の音声のデータを取得する。
なお、上記の説明では、生成部163は、コマンド辞書キャッシュテーブル152を事前に生成しておき、コマンド辞書テーブル151を生成する場合に、コマンド辞書キャッシュテーブル152を用いる場合について説明したがこれに限定されない。例えば、生成部163は、コマンド辞書キャッシュテーブル152を生成しないで、コマンド辞書テーブル151を直接生成しても良い。
続いて、生成部163が、コマンド辞書キャッシュテーブル152を利用して、コマンド辞書テーブル151を生成する処理の一例について説明する。生成部163は、コマンド抽出部162から、コマンドの情報を受け付けると、コマンドの文字コード列と、コマンドの位置座標とを対応付けて、コマンド辞書テーブル151に登録する。
また、生成部163は、コマンドの文字コード列と、コマンド辞書キャッシュテーブル152とを比較して、コマンドの文字コード列と同一の文字コード列に対応付けられた音声認識用データをコマンド辞書キャッシュテーブル152から取得する。生成部163は、取得した音声認識用データを、文字コード列と対応付けて、コマンド辞書テーブル151に登録する。
例えば、生成部163が、コマンド抽出部162から、コマンドの文字コード列「新規」を取得したとする。この場合には、生成部163は、コマンドの文字コード列「新規」に対応する「しんき」の音声認識用データをコマンド辞書キャッシュテーブル152から取得する。生成部163は、「新規」の文字コード列と「しんき」の音声認識用データとを対応付けて、コマンド辞書テーブル151に登録する。
判定部164は、音声入力部130からの利用者の音声のデータと、コマンド辞書テーブル151とを基にして、コマンドを判定する処理部である。判定部164は、コマンドの位置座標を、表示制御部165に出力する。以下の説明では、利用者の音声のデータを、適宜、音声データと表記する。
ここで、判定部164の処理を具体的に説明する。判定部164は、音声データと、コマンド辞書テーブル151の各音声認識用データとを比較して、類似度をそれぞれ算出する。判定部164は、音声データとの類似度が最大となる音声認識用データを特定し、特定した音声認識用データに対応付けられたコマンドが選択されたと判定する。判定部164は、特定した音声認識用データに対応付けられたコマンドの位置座標を、表示制御部165に出力する。
例えば、判定部164は、音声データと、各音声認識用データとを比較して類似度を算出し、「へんしん」の音声認識用データと音声データとの類似度が最大となったとする。この場合には、判定部164は、コマンド「返信」が選択されたと判定し、コマンド「返信」の位置座標(x2、y2)を、表示制御部165に出力する。
なお、判定部164は、音声データと、各音声認識用データとを比較して類似度を算出し、各類似度が閾値未満となる場合には、コマンドを判定する処理を行わず、再度、音声データを音声入力部130から取得して、上記処理を実行しても良い。
表示制御部165は、図示しない画面情報を表示部140に出力して、画面情報を表示させる処理や、判定部164、入力部120の操作に応答して、ポインタ移動、コマンドの選択を受け付ける処理部である。表示制御部165は、コマンドの選択を受け付けた場合には、コマンドの選択に応じた処理を実行し、処理結果を、表示部140に表示させる。
例えば、表示制御部165は、判定部164から位置座標を取得した場合には、位置座標に対応する画面上の位置にポインタを移動させる。表示制御部165は、入力部120からボタンが押下された信号を受け付けた場合には、ポインタと重なる位置のコマンドが選択されたと判定し、コマンドに応じた処理を実行する。
また、表示制御部165は、コマンド抽出部162から、検索範囲内に含まれる画面上のコマンドの情報を取得し、検索範囲内に含まれるコマンドの領域を強調表示する。
次に、本実施例1に係るポインティング支援装置100の処理手順について説明する。図5及び図6は、本実施例1に係るポインティング支援装置の処理手順を示すフローチャートである。図5に示すように、ポインティング支援装置100の生成部163は、アクティブとなった画面からコマンドの文字コード列を抽出し、コマンド辞書キャッシュテーブル152を生成する(ステップS101)。
ポインティング支援装置100の視線位置検出部161は、画面上の視線位置を検出する(ステップS102)。視線位置検出部161は、視線確定指示があるか否かを判定する(ステップS103)。視線位置検出部161は、視線確定指示がない場合には(ステップS103,No)、ステップS102に移行する。視線位置検出部161は、視線確定指示がある場合には(ステップS103,Yes)、ステップS104に移行する。例えば、視線位置検出部161は、入力部120のボタンが利用者により押下された場合に、視線確定指示があると判定する。
ポインティング支援装置100のコマンド抽出部162は、視線位置をポインタの初期位置に設定する(ステップS104)。コマンド抽出部162は、初期位置中心の検索範囲からコマンドの文字コード列と位置座標とを抽出する(ステップS105)。コマンド抽出部162は、1個以上のコマンドの文字コード列を抽出したか否かを判定する(ステップS106)。コマンド抽出部162は、1個以上のコマンドの文字コード列を抽出していない場合には(ステップS106,No)、処理を終了する。コマンド抽出部162は、1個以上のコマンドの文字コード列を抽出した場合には(ステップS106,Yes)、ステップS107に移行する。
ポインティング支援装置100の生成部163は、コマンド抽出部162が抽出したコマンドおよびコマンド辞書キャッシュテーブル152を基にして、コマンド辞書テーブル151を生成する(ステップS107)。ポインティング支援装置100の表示制御部165は、抽出されたコマンドを強調表示し(ステップS108)、図6のステップS109に移行する。
表示制御部165は、終了指示があるか否かを判定する(ステップS109)。表示制御部165は、終了指示がある場合には(ステップS109,Yes)、ステップS114に移行する。例えば、表示制御部165は、入力部120のボタンが短く押下されたことを検出すると、終了指示があると判定する。また、利用者は、入力部120のボタンを押下する代わりに「終了」と発話し、表示制御部165が、音声認識を実行して、「終了」が発話されたことを認識した場合に、終了指示があると判定しても良い。
表示制御部165は、強調表示がある場合には、強調表示をクリアし(ステップS114)、処理を終了する。表示制御部165は、終了指示がない場合には(ステップS109,No)、ステップS110に移行する。
ポインティング支援装置100の判定部164は、音声データの入力があるか否かを判定する(ステップS110)。判定部164は、音声データの入力がない場合には(ステップS110,No)、ステップS109に移行する。判定部164は、音声データの入力がある場合には(ステップS110,Yes)、ステップS111に移行する。
判定部164は、コマンド辞書テーブル151の各音声認識用データと、音声データとを比較する(ステップS111)。判定部164は、コマンド辞書テーブル151の音声認識用のデータにヒットしたか否かを判定する(ステップS112)。判定部164は、コマンド辞書テーブル151の音声認識用のデータにヒットしない場合には(ステップS112,No)、ステップS109に移行する。判定部164は、コマンド辞書テーブル151の音声認識用のデータにヒットした場合には(ステップS112,Yes)、ステップS113に移行する。
表示制御部165は、ヒットした音声認識用データのコマンドに対応する画面上の位置にポインタを移動させ(ステップS113)、ステップS109に移行する。
次に、本実施例1に係るポインティング支援装置100の効果について説明する。ポインティング支援装置100は、利用者の視点位置から検索範囲に含まれるコマンドを抽出し、抽出したコマンドの音声認識用データのうち、ユーザの音声入力に最も類似する音声認識用データのコマンドが選択されたと判定する。これにより、腕や手足に不自由を抱える肢体不自由者や高齢者等は、マウス等を使うことなく、ストレス無く高精度なGUI画面のコマンド選択を効率的に行うことができる。
ポインティング支援装置100は、アクティブな画面の画面情報を基にして、画面上のコマンドを全て抽出することで、コマンド辞書キャッシュテーブル152を予め生成しておく。ポインティング支援装置100は、検索範囲内に含まれるコマンドを抽出してコマンド辞書テーブル151を生成する際に、コマンド辞書キャッシュテーブル152に格納された音声認識用データを流用する。一般的に、音声認識用データを生成するためには、文字コード列を解析して読みを特定し、特定した読みに対応する各文字の音声を組み合わせる処理を行うため、処理負荷が重くなる。このため、ポインティング支援装置100は、コマンド辞書キャッシュテーブル152を予め生成しておくことで、コマンド抽出部162がコマンドを抽出する度に、音声認識用データを生成する処理を行わなくても良くなり、処理負荷を軽減できる。
次に、本実施例2に係るポインティング支援装置200について説明する。ポインティング支援装置200は、利用者の要求に応じて、実施例1で説明した視線入力と音声認識とを組み合わせてポインティングを支援する「処理1」と、この処理1とは異なる「処理2」とを切り替えてポインティングの支援を行う。処理1に関する説明は、図1等で説明した実施例1の処理と同様であるため、説明を省略する。
ポインティング支援装置200が行う「処理2」について説明する。ポインティング支援装置200は、経路定義テーブルに基づいて、ポインタを移動させる。この経路定義テーブルは、ポインタを移動させる経路および経路の移動パターンを定義した経路定義情報を保持するテーブルである。図7は、経路定義テーブルのデータ構造の一例を示す図である。図7に示すように、この経路定義テーブル253は、経路定義識別情報と、複数の手順とを対応付ける。経路定義識別情報は、経路定義を一意に識別する情報である。手順は、経路を移動させる手順または経路に沿ってポインタを移動させる手順を示すものである。経路定義には様々なものがあるが、ここでは一例として、第1経路定義、第2経路定義、第3経路定義について説明する。
図8は、第1経路定義を説明するための図である。第1経路定義は、手順1と、手順2とを有する。第1経路定義の手順1は、現在のポインタ位置10から、直進移動バー11を表示し、ポインタ位置10を中心にして、直進移動バー11を回転移動させる手順である。
第1経路定義の手順2は、第1経路定義の手順1で方向が確定した直進移動バー11を、直進移動バー11が示す方向に直進移動させる手順である。ポインタ位置10aは、直進移動バー11の移動に合わせて移動する。第1経路定義では、経路は、直進移動バー11となる。
図9は、第2経路定義を説明するための図である。第2経路定義は、手順1と、手順2とを有する。第2経路定義の手順1は、現在のポインタ位置10を中心とする円12を同心円状に拡大する手順である。
第2経路定義の手順2は、第2経路定義の手順1で確定した円12上の任意の位置から円12に沿ってポインタ位置12aを移動させる手順である。第2経路定義では、経路は、円12となる。
図10は、第3経路定義を説明するための図である。第3経路定義は、手順1と、手順2と、手順3と、手順4とを有する。第3経路定義の手順1は、現在のポインタ位置10aからポインタを垂直ガイド13a付きで水平右方向に移動させる手順である。
第3経路定義の手順2は、手順1の移動で決定したポインタ位置10bからポインタを垂直ガイド13a付きで水平左方向に移動させる手順である。
第3経路定義の手順3は、手順2の移動で決定したポインタ位置10cからポインタを水平ガイド13b付きで垂直上方向に移動させる手順である。
第3経路定義の手順4は、手順3の移動で決定したポインタ位置10dからポインタを水平ガイド13b付きで垂直下方向に移動させる手順である。
なお、上記で説明した第3経路定義は一例であり、第3経路定義の手順1〜手順4から、手順2、手順4を省略してもよいし、手順1、手順3を省略しても良い。
続いて、本実施例2に係るポインティング支援装置200の構成について説明する。図11は、本実施例2に係るポインティング支援装置の構成を示す機能ブロック図である。図11に示すように、このポインティング支援装置200は、視線入力部210と、入力部220と、音声入力部230と、表示部240と、記憶部250と、制御部260とを有する。
視線入力部210、入力部220、音声入力部230、表示部240に関する説明は、図2に示した、視線入力部110、入力部120、音声入力部130、表示部140に関する説明と同様であるため、説明を省略する。
記憶部250は、コマンド辞書テーブル251と、コマンド辞書キャッシュテーブル252と、経路定義テーブル253とを有する。記憶部250は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
コマンド辞書テーブル251、コマンド辞書キャッシュテーブル252の説明は、図2で説明した、コマンド辞書テーブル151、コマンド辞書キャッシュテーブル152に関する説明と同様である。経路定義テーブル253は、ポインタを移動させる経路および経路の移動パターンを定義した経路定義情報を保持するテーブルである。経路定義テーブル253のデータ構造は、図7で説明したため、説明を省略する。
制御部260は、視線位置検出部261と、コマンド抽出部262と、生成部263と、判定部264と、表示制御部265とを有する。制御部260は、ASICや、FPGAなどの集積装置に対応する。また、制御部260は、例えば、CPUやMPU等の電子回路に対応する。
視線位置検出部261、コマンド抽出部262、生成部263、判定部264の処理は、図2で説明した、視線位置検出部161、コマンド抽出部162、生成部163、判定部164の説明と同様であるため、説明を省略する。
表示制御部265は、図示しない画面情報を表示部240に出力して、画面情報を表示させる処理や、ポインタ移動、コマンドの選択を受け付ける処理部である。表示制御部265は、コマンドの選択を受け付けた場合には、コマンドの選択に応じた処理を実行し、処理結果を、表示部240に表示させる。
ここで、表示制御部265は、処理1に基づいてポインティングを支援するか、処理2に基づいてポインティングを支援するかの選択を利用者から受け付ける。表示制御部265は、選択を受け付けた処理1または処理2に基づいて、ポインティングを支援する。
例えば、表示制御部265は、ステータス画面を表示部240に表示して、処理1に基づいてポインティングを支援するか、処理2に基づいてポインティングを支援するかを利用者に選択させる。図12は、ステータス画面を説明するための図である。図12に示すように、ステータス画面241は、表示部240の片隅に表示される。また、ステータス画面241は、ポインティングのコマンド241a、音声入力のコマンド241b、マルチモードのコマンド241cが含まれる。
例えば、表示制御部265は、ポインティングのコマンド241aが利用者によって選択されると、処理2に基づいて、ポインティングを支援する。表示制御部265は、音声入力のコマンド241bが利用者によって選択されると、処理1に基づいて、ポインティングを支援する。
表示制御部265は、マルチモードのコマンド241cが選択されると、処理1または処理2を動的に切り替えて、ポインティングを支援する。例えば、表示制御部265は、利用者から切り替え指示を受け付けたタイミングで、処理1から処理2への切り替え、または、処理2から処理1への切り替えを受け付ける。利用者は、切り替え指示をどのように行っても良い。例えば、利用者が入力部220のボタンを長押しすることによって、切り替え指示を、表示制御部265に行っても良いし、利用者が「切り替え」と発話することで、切り替え指示を、表示制御部265に行っても良い。
ここで、利用者は、表示制御部265によるポインティングの支援を受けて、各コマンド241a〜241cのいずれかを選択しても良いし、音声によって、各コマンド241a〜241cを選択しても良い。例えば、表示制御部265は、利用者が「ポインティング」と発話したことを音声認識すると、コマンド241aが選択されたと判定する。例えば、表示制御部265は、利用者が「音声入力」と発話したことを音声認識すると、コマンド241bが選択されたと判定する。表示制御部265は、利用者が「マルチモード」と発話したことを音声認識すると、コマンド241cが選択されたと判定する。
続いて、表示制御部265が実行する処理1のポインティング支援と、処理2のポインティング支援の一例について説明する。
「処理1」のポインティング支援は、図2に示した表示制御部165のポインティング支援と同様である。すなわち、表示制御部265は、判定部264から位置座標を取得した場合に、位置座標に対応する画面上の位置にポインタを移動させる。表示制御部265は、入力部220からボタンが押下された信号を受け付けた場合には、ポインタと重なる位置のコマンドが選択されたと判定し、コマンドに応じた処理を実行する。
「処理2」のポインティング支援について説明する。図13および図14は、表示制御部の処理2を説明するための図である。図13および図14では一例として、表示制御部265が、経路定義テーブル253の第1経路定義に基づいて、処理を実行する場合について説明する。
図13のステップS10について説明する。表示部240の画面240aに、ポインティングのターゲット30と、視線位置20とが存在する。表示制御部265は、視線位置検出部261から取得する視線位置20の情報を基にして、視線位置20の位置を特定する。表示制御部265は、入力部220のボタンが押されるまでは、視線位置検出部261から視線位置20の情報を取得する度に、視線位置20を更新する。
図13のステップS11について説明する。表示制御部265は、利用者によって入力部220のボタンが押下され、入力部220から信号を受け付けると、視線位置20をポインタの初期位置とする。例えば、表示制御部265は、入力部220のボタンが押下されている間、直進移動バー21を表示させ、初期ポインタの位置20を中心として、直進移動バー21を回転させる。
表示制御部265は、直進移動バー21を回転させる場合に、入力部220のボタンの押下の強さに応じて、回転速度を調整しても良い。表示制御部265は、入力部220から、ボタンの押下の強さの情報を取得するものとする。表示制御部265は、ボタンの押下の強さが閾値以上である場合には、第1回転速度で、直進移動バー21を回転させる。表示制御部265は、ボタンの押下の強さが閾値未満である場合には、第2回転速度で、直進移動バー21を回転させる。第1回転速度は、第2回転速度よりも速いものとする。
図13のステップS12について説明する。利用者は画面240aを参照し、直進移動バー21が、ターゲット30と重なったタイミングで、入力部220のボタンをはなす。表示制御部265は、入力部220のボタンが押下されなくなったことを検出すると、直進移動バー21の回転を停止する。続いて、表示制御部265は、直進移動バー21が示す方向に直進移動バー21を直進移動させる。
図13のステップS13について説明する。利用者は画面240aを参照し、直進移動バー21の起点(ポインタ位置20)が、ターゲット30と重なった時点で、入力部220のボタンを押下する。表示制御部265は、直進移動バー21の起点(ポインタ位置20)が、ターゲット30と重なった時点で、入力部220のボタンが押下されたことを検出すると、ターゲット30が選択されたと判定する。表示制御部265は、ターゲット30が選択されたことによる所定の処理を実行する。
図13のステップS10〜ステップS13に示した処理を表示制御部265が実行することで、視線入力により適切にポインティングを実行することができる。例えば、入力部220のボタンが押下される度に、ポインタの初期位置の設定、直進移動バー21の回転、直進移動という手順により、ターゲット30を選択可能としている。これにより、視線位置の精度が悪くても、適切に、ターゲット30を選択することができる。また、入力部220のボタンを押下する操作は単純であるため、肢体不自由者や高齢者等でも取り扱うことができる。
続いて、図14の説明を行う。図14のステップS20について説明する。表示部240の画面240aに、ポインティングのターゲット30と、視線位置20とが存在する。表示制御部265は、視線位置検出部261から取得する視線位置20の情報を基にして、視線位置20の位置を特定する。表示制御部265は、入力部220がシングルクリックされるまでは、視線位置検出部261から視線位置20の情報を取得する度に、画面240a上の視線位置20を更新する。
図14のステップS21について説明する。表示制御部265は、利用者によって入力部220のボタンがシングルクリックされ、入力部220から信号を受け付けると、視線位置20を初期ポインタの位置とする。例えば、表示制御部265は、入力部220のボタンが押下されている間、直進移動バー21を表示させ、初期ポインタの位置20を中心として、直進移動バー21を回転させる。
図14のステップS22について説明する。利用者は画面240aを参照し、あるタイミングで、入力部220のボタンをはなす。表示制御部265は、入力部220のボタンが押下されなくなったことを検出すると、直進移動バー21の回転を停止する。続いて、表示制御部265は、直進移動バー21が示す方向に直進移動バー21を直進移動させる。
図14のステップS23について説明する。表示制御部265は、直進移動バー21を直進移動させている間に、利用者によって入力部220のボタンがシングルクリックされると、図13のステップS13と同様にして、シングルクリックされた時点の直進移動バー21の起点(ポインタ位置20)が選択されたと判定し、処理を終了する。
これに対して、表示制御部265は、直進移動バー21を直進移動させている間に、利用者によって入力部220のボタンがダブルクリックされると、現在のポインタ位置20を、初期ポインタの位置として設定する。
図14のステップS24について説明する。表示制御部265は、入力部220のボタンが押下されている間、直進移動バー21を表示させ、初期ポインタの位置20を中心として、直進移動バー21を回転させる。例えば、利用者は、ダブルクリックを行う場合に、2回目のボタン押下を継続することで、ボタン押下を継続させる。
表示制御部265は、ステップS21において、直進移動バー21を回転させる速度よりも、ステップS24において、直進移動バー21を回転させる速度を遅くしても良い。1回目のポインタ位置よりも2回目のポインタ位置の方が、ポインタ位置とターゲット30との距離が短くなっている。このため、2回目以降のポインタ位置を起点とする直進移動バー21の回転速度を遅くすることで、直進移動バー21の方向を、ターゲット30に合わせやすくすることができる。
図14のステップS25について説明する。利用者は画面240aを参照し、あるタイミングで、入力部220のボタンをはなす。表示制御部265は、入力部220のボタンが押下されなくなったことを検出すると、直進移動バー21の回転を停止する。続いて、表示制御部265は、直進移動バー21が示す方向に直進移動バー21を直進移動させる。表示制御部265は、直進移動バー21を直進移動させている間に、利用者によって入力部220のボタンがシングルクリックされると、図13のステップS13と同様にして、シングルクリックされた時点の直進移動バー21の起点(ポインタ位置20)に位置するターゲット30が選択されたと判定する。
ところで、表示制御部265は、ステップS23において、入力部220のボタンがダブルクリックされた場合に、再度、第1経路定義に従って、ステップS24、S25の処理を行ったがこれに限定されるものではない。例えば、表示制御部265は、ダブルクリックされる度に、経路を、第2経路定義、第3経路定義に切り替えて、その後の処理を行っても良い。手順を他の経路定義に切り替えるか否かは、利用者がポインティング支援装置200に予め設定しておくものとする。
次に、本実施例2に係るポインティング支援装置200の処理手順について説明する。図15、図16および図17は、本実施例2に係るポインティング支援装置の処理手順を示すフローチャートである。図15に示すように、ポインティング支援装置200の生成部263は、アクティブとなった画面からコマンドの文字コード列を抽出し、コマンド辞書キャッシュテーブル252を生成する(ステップS201)。
ポインティング支援装置200の視線位置検出部261は、画面上の視線位置を検出する(ステップS202)。視線位置検出部261は、視線確定指示があるか否かを判定する(ステップS203)。視線位置検出部261は、視線確定指示がない場合には(ステップS203,No)、ステップS202に移行する。視線位置検出部261は、視線確定指示がある場合には(ステップS203,Yes)、ステップS204に移行する。例えば、視線位置検出部261は、入力部220のボタンが利用者により押下された場合に、視線確定指示があると判定する。
ポインティング支援装置200のコマンド抽出部262は、視線位置をポインタの初期位置に設定する(ステップS204)。コマンド抽出部262は、初期位置中心の検索範囲からコマンドの文字コード列と位置座標とを抽出する(ステップS205)。コマンド抽出部262は、1個以上のコマンドの文字コード列を抽出したか否かを判定する(ステップS206)。コマンド抽出部262は、1個以上のコマンドの文字コード列を抽出していない場合には(ステップS206,No)、処理を終了する。コマンド抽出部262は、1個以上のコマンドの文字コード列を抽出した場合には(ステップS206,Yes)、ステップS207に移行する。
ポインティング支援装置200の生成部263は、コマンド抽出部262が抽出したコマンドおよびコマンド辞書キャッシュテーブル252を基にして、コマンド辞書テーブル251を生成する(ステップS207)。ポインティング支援装置200の表示制御部165は、抽出されたコマンドを強調表示し(ステップS208)、図16のステップS209に移行する。
ポインティング支援装置200の表示制御部265は、切り替え指示があるか否かを判定する(ステップS209)。表示制御部265は、切り替え指示がある場合には(ステップS209,Yes)、図17のステップS216に移行する。一方、切り替え指示がない場合には(ステップS209,No)、表示制御部265は、ステップS210に移行する。
まず、図16のステップS216以降の処理について説明する。表示制御部265は、終了指示があるか否かを判定する(ステップS210)。表示制御部265は、終了指示がある場合には(ステップS210,Yes)、ステップS215に移行する。例えば、表示制御部265は、入力部220のボタンが短く押下されたことを検出すると、終了指示があると判定する。また、利用者は、入力部220のボタンを押下する代わりに「終了」と発話し、表示制御部265が、音声認識を実行して、「終了」が発話されたことを認識した場合に、終了指示があると判定しても良い。
表示制御部265は、強調表示がある場合には、強調表示をクリアし(ステップS215)、処理を終了する。表示制御部265は、終了指示がない場合には(ステップS210,No)、ステップS211に移行する。
ポインティング支援装置200の判定部264は、音声データの入力があるか否かを判定する(ステップS211)。判定部264は、音声データの入力がない場合には(ステップS211,No)、ステップS209に移行する。判定部264は、音声データの入力がある場合には(ステップS211,Yes)、ステップS212に移行する。
判定部264は、コマンド辞書テーブル251の各音声認識用データと、音声データとを比較する(ステップS212)。判定部264は、コマンド辞書テーブル251の音声認識用のデータにヒットしたか否かを判定する(ステップS213)。判定部264は、コマンド辞書テーブル251の音声認識用のデータにヒットしない場合には(ステップS213,No)、ステップS209に移行する。判定部264は、コマンド辞書テーブル251の音声認識用のデータにヒットした場合には(ステップS213,Yes)、ステップS214に移行する。
表示制御部265は、ヒットした音声認識用データのコマンドに対応する画面上の位置にポインタを移動させ(ステップS214)、ステップS209に移行する。
続いて、図17のステップS216以降の処理について説明する。表示制御部265は、視線位置をポインタの初期位置に設定する(ステップS216)。表示制御部265は、経路定義テーブル253を参照し、経路定義の最初の手順を現在の手順に設定する(ステップS217)。
表示制御部265は、現在の手順に従い経路を画面に表示し、経路またはポインタ位置を移動させる(ステップS218)。表示制御部265は、入力部220のボタンが押下されていない場合には(ステップS219,No)、再度ステップS218に移行する。
一方、表示制御部265は、入力部220のボタンが押下された場合には(ステップS219,Yes)、次の手順が存在するか否かを判定する(ステップS220)。表示制御部265は、次の手順が存在する場合には(ステップS220,Yes)、経路定義の次の手順を、現在の手順に設定し(ステップS221)、ステップS218に移行する。
一方、表示制御部265は、次の手順が存在しない場合には(ステップS220,No)、移動したポインタ位置を、最終的なポインタ位置として決定する(ステップS222)。
次に、本実施例2に係るポインティング支援装置200の効果について説明する。ポインティング支援装置200は、視線入力と音声認識とを組み合わせてポインティングを支援する処理1と、視線入力と経路定義テーブル253とを用いてポインティングを支援する処理2とを切り替える。このため、処理1によって、音声認識がうまくいかない場合には、処理2に切り替えることによって、適切にコマンドを選択することができる。
ここで、上述した実施例1および実施例2で説明したポインティング支援装置100,200の処理は一例であり、ポインティング支援装置100,200は、その他の処理を実行しもよい。以下において、ポインティング支援装置100,200のその他の処理(1)〜(3)について説明する。以下の説明では、説明の便宜上、図11に示したポインティング支援装置200の機能ブロック図を用いて、処理を説明する。
ポインティング支援装置のその他の処理(1)について説明する。ポインティング支援装置200の生成部263が、コマンド辞書キャッシュテーブル252を生成する場合に、画面毎に分けて、コマンド辞書キャッシュテーブル252を生成しても良い。例えば、図1に示すように、画面50がアクティブになった場合に、生成部263は、画面50に含まれるコマンド51a〜51gを抽出し、画面50に対応するコマンド辞書キャッシュテーブル252を生成する。そして、例えば、返信のコマンド51dが選択され、新たな画面が表示された場合に、新たに表示された画面に含まれる全てのコマンドを抽出し、新たな画面に対応するコマンド辞書キャッシュテーブル252を生成する。生成部263は、新たな画面がアクティブになる度に、上記処理を繰り返し実行する。
このように、生成部263が、画面毎にコマンド辞書キャッシュテーブル252を生成することで、コマンド辞書テーブル251で用いる音声認識用データの検索効率を向上させることができる。例えば、生成部263が、コマンド辞書テーブル251を生成する場合に、検索範囲のコマンドが含まれる画面情報をキーにすることで、検索対象となるコマンド辞書キャッシュテーブル252を絞り込むことが可能となり、検索効率が向上する。
ポインティング支援装置のその他の処理(2)について説明する。ポインティング支援装置200の生成部263が、コマンド辞書キャッシュテーブル252を生成した後に、使用頻度の高いコマンド文字コード列のレコードを残し、その他のレコードを消去するような処理を実行しても良い。例えば、生成部263は、上記処理1または処理2により、利用者によってコマンドが選択される度に、コマンド辞書キャッシュテーブル252のコマンドに対応する文字コード列の使用回数を1インクリメントする。生成部263は、上記処理を繰り返し実行し、各文字コード列の使用頻度を算出し、使用頻度が高い上位n個のレコードを、コマンド辞書キャッシュテーブル252に残し、残りのレコードを削除する。生成部263がこのような処理を行うことで、記憶部250の資源を有効に活用することができる。
ポインティング支援装置のその他の処理(3)について説明する。ポインティング支援装置200の生成部263は、使用頻度が高いコマンドが予め指定されている場合には、使用頻度の高いコマンドの音声認識用データを、コマンド辞書キャッシュテーブル252に格納しておいてもよい。例えば、生成部263は、ファイル、ホーム、コピー、貼り付け、開く、閉じる、保存等のコマンドに対応する音声認識用データを、予め、コマンド辞書キャッシュテーブル252に格納しておく。このような処理を行うことで、音声認識用データを生成する処理負荷を軽減できる。
次に、上記実施例に示したポインティング支援装置100,200と同様の機能を実現するポインティング支援プログラムを実行するコンピュータの一例について説明する。図18は、ポインティング支援プログラムを実行するコンピュータの一例を示す図である。
図18に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置305aと、カメラ305bと、マイク305cとを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。
ハードディスク装置307は、視線位置検出プログラム307a、コマンド抽出プログラム307b、生成プログラム307c、判定プログラム307d、選択プログラム307e、表示制御プログラム307fを有する。CPU301は、視線位置検出プログラム307a、コマンド抽出プログラム307b、生成プログラム307c、判定プログラム307d、選択プログラム307e、表示制御プログラム307fを読み出してRAM306に展開する。
視線位置検出プログラム307aは、視線位置検出プロセス306aとして機能する。コマンド抽出プログラム307bは、コマンド抽出プロセス306bとして機能する。生成プログラム307cは、生成プロセス306cとして機能する。判定プログラム307dは、判定プロセス306dとして機能する。選択プログラム307eは、選択プロセス306eとして機能する。表示制御プログラム307fは、表示制御プロセス306fとして機能する。
視線位置検出プロセス306aの処理は、視線位置検出部161,261の処理に対応する。コマンド抽出プロセス306bは、コマンド抽出部162,262の処理に対応する。生成プロセス306cは、生成部163,263の処理に対応する。判定プロセス306dは、判定部164,264の処理に対応する。表示制御プロセス306fは、表示制御部165,265の処理に対応する。
なお、各プログラム307a〜307fについては、必ずしも最初からハードディスク装置308に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ300が各プログラム307a〜307fを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)画面上の利用者の視線位置を検出する視線位置検出部と、
前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出するコマンド抽出部と、
前記コマンド抽出部によって抽出されたコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成する生成部と、
音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する判定部と
を有することを特徴とするポインティング支援装置。
(付記2)前記視線位置をポインタの初期位置として設定し、前記ポインタを移動させる経路および前記経路の移動パターンを定義した経路定義情報を基にして、前記初期位置を起点とした前記経路を前記画面上に表示し、前記ポインタを前記経路に沿って移動させる表示制御部を更に有することを特徴とする付記1に記載のポインティング支援装置。
(付記3)前記表示制御部は、前記判定部が判定したコマンドの位置に前記ポインタを移動させる第1処理と、前記経路定義情報に基づいて、前記ポインタを移動させる第2処理とのいずれかの選択を受け付け、前記第1処理と、前記第2処理とを切り替えて処理を実行することを特徴とする付記2に記載のポインティング支援装置。
(付記4)前記生成部は、前記画面上に存在する全てのコマンドの音声情報を生成して記憶部に格納し、前記コマンド抽出部によって抽出されたコマンドに対応する音声情報を前記記憶部に記憶された音声情報から取得することで、前記テーブルを生成することを特徴とする付記1、2または3に記載のポインティング支援装置。
(付記5)前記生成部は、第1画面上に存在する全てのコマンドの第1音声情報を生成して記憶部に格納し、前記第1画面上のコマンドが選択され第2画面が表示された場合に、前記第2画面上に存在する全てのコマンドの第2音声情報を生成し、前記第1音声情報と区別して、前記第2音声情報を前記記憶部に格納することを特徴とする付記4に記載のポインティング支援装置。
(付記6)前記生成部は、前記コマンド抽出部によってコマンドが抽出される度に、前記記憶部に記憶された音声情報のうち、抽出されたコマンドの音声情報に対応する音声情報の使用頻度を増加させ、前記使用頻度の高い音声情報を優先的に前記記憶部に残すことを特徴とする付記4に記載のポインティング支援装置。
(付記7)コンピュータが実行するポインティング支援方法であって、
画面上の利用者の視線位置を検出し、
前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出し、
抽出したコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成し、
音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する
処理を実行することを特徴とするポインティング支援方法。
(付記8)前記視線位置をポインタの初期位置として設定し、前記ポインタを移動させる経路および前記経路の移動パターンを定義した経路定義情報を基にして、前記初期位置を起点とした前記経路を前記画面上に表示し、前記ポインタを前記経路に沿って移動させる処理を更に実行することを特徴とする付記7に記載のポインティング支援方法。
(付記9)前記コマンドを判定する処理によって判定した前記コマンドの位置に前記ポインタを移動させる第1処理と、前記経路定義情報に基づいて、前記ポインタを移動させる第2処理とのいずれかの選択を受け付け、前記第1処理と、前記第2処理とを切り替えて前記ポインタを移動させる処理を更に実行することを特徴とする付記8に記載のポインティング支援方法。
(付記10)前記画面上に存在する全てのコマンドの音声情報を生成して記憶部に格納する処理を更に実行し、前記生成する処理は、前記コマンドを抽出する処理により抽出されたコマンドに対応する音声情報を前記記憶部に記憶された音声情報から取得することで、前記テーブルを生成することを特徴とする付記7、8または9に記載のポインティング支援方法。
(付記11)前記格納する処理は、第1画面上に存在する全てのコマンドの第1音声情報を生成して記憶部に格納し、前記第1画面上のコマンドが選択され第2画面が表示された場合に、前記第2画面上に存在する全てのコマンドの第2音声情報を生成し、前記第1音声情報と区別して、前記第2音声情報を前記記憶部に格納することを特徴とする付記10に記載のポインティング支援方法。
(付記12)前記コマンドを抽出する処理によってコマンドが抽出される度に、前記記憶部に記憶された音声情報のうち、抽出されたコマンドの音声情報に対応する音声情報の使用頻度を増加させ、前記使用頻度の高い音声情報を優先的に前記記憶部に残す処理を更に実行することを特徴とする付記10に記載のポインティング支援方法。
(付記13)コンピュータに、
画面上の利用者の視線位置を検出し、
前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出し、
抽出したコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成し、
音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する
処理を実行させることを特徴とするポインティング支援プログラム。
(付記14)前記視線位置をポインタの初期位置として設定し、前記ポインタを移動させる経路および前記経路の移動パターンを定義した経路定義情報を基にして、前記初期位置を起点とした前記経路を前記画面上に表示し、前記ポインタを前記経路に沿って移動させる処理を更にコンピュータに実行させることを特徴とする付記13に記載のポインティング支援プログラム。
(付記15)前記コマンドを判定する処理によって判定した前記コマンドの位置に前記ポインタを移動させる第1処理と、前記経路定義情報に基づいて、前記ポインタを移動させる第2処理とのいずれかの選択を受け付け、前記第1処理と、前記第2処理とを切り替えて前記ポインタを移動させる処理を更にコンピュータに実行させることを特徴とする付記14に記載のポインティング支援プログラム。
(付記16)前記画面上に存在する全てのコマンドの音声情報を生成して記憶部に格納する処理を更にコンピュータに実行させ、前記生成する処理は、前記コマンドを抽出する処理により抽出されたコマンドに対応する音声情報を前記記憶部に記憶された音声情報から取得することで、前記テーブルを生成することを特徴とする付記13、14または15に記載のポインティング支援プログラム。
(付記17)前記格納する処理は、第1画面上に存在する全てのコマンドの第1音声情報を生成して記憶部に格納し、前記第1画面上のコマンドが選択され第2画面が表示された場合に、前記第2画面上に存在する全てのコマンドの第2音声情報を生成し、前記第1音声情報と区別して、前記第2音声情報を前記記憶部に格納することを特徴とする付記16に記載のポインティング支援プログラム。
(付記18)前記コマンドを抽出する処理によってコマンドが抽出される度に、前記記憶部に記憶された音声情報のうち、抽出されたコマンドの音声情報に対応する音声情報の使用頻度を増加させ、前記使用頻度の高い音声情報を優先的に前記記憶部に残す処理を更にコンピュータに実行させることを特徴とする付記16に記載のポインティング支援プログラム。
100,200 ポインティング支援装置
110,210 視線入力部
120,220 入力部
130,230 音声入力部
140,240 表示部
150,250 記憶部
151,251 コマンド辞書テーブル
152,252 コマンド辞書キャッシュテーブル
160,260 制御部
161,261 視線位置検出部
162,262 コマンド抽出部
163,263 生成部
164,264 判定部
165,265 表示制御部

Claims (8)

  1. 画面上の利用者の視線位置を検出する視線位置検出部と、
    前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出するコマンド抽出部と、
    前記コマンド抽出部によって抽出されたコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成する生成部と、
    音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する判定部と
    を有することを特徴とするポインティング支援装置。
  2. 前記視線位置をポインタの初期位置として設定し、前記ポインタを移動させる経路および前記経路の移動パターンを定義した経路定義情報を基にして、前記初期位置を起点とした前記経路を前記画面上に表示し、前記ポインタを前記経路に沿って移動させる表示制御部を更に有することを特徴とする請求項1に記載のポインティング支援装置。
  3. 前記表示制御部は、前記判定部が判定したコマンドの位置に前記ポインタを移動させる第1処理と、前記経路定義情報に基づいて、前記ポインタを移動させる第2処理とのいずれかの選択を受け付け、前記第1処理と、前記第2処理とを切り替えて処理を実行することを特徴とする請求項2に記載のポインティング支援装置。
  4. 前記生成部は、前記画面上に存在する全てのコマンドの音声情報を生成して記憶部に格納し、前記コマンド抽出部によって抽出されたコマンドに対応する音声情報を前記記憶部に記憶された音声情報から取得することで、前記テーブルを生成することを特徴とする請求項1、2または3に記載のポインティング支援装置。
  5. 前記生成部は、第1画面上に存在する全てのコマンドの第1音声情報を生成して記憶部に格納し、前記第1画面上のコマンドが選択され第2画面が表示された場合に、前記第2画面上に存在する全てのコマンドの第2音声情報を生成し、前記第1音声情報と区別して、前記第2音声情報を前記記憶部に格納することを特徴とする請求項4に記載のポインティング支援装置。
  6. 前記生成部は、前記コマンド抽出部によってコマンドが抽出される度に、前記記憶部に記憶された音声情報のうち、抽出されたコマンドの音声情報に対応する音声情報の使用頻度を増加させ、前記使用頻度の高い音声情報を優先的に前記記憶部に残すことを特徴とする請求項4に記載のポインティング支援装置。
  7. コンピュータが実行するポインティング支援方法であって、
    画面上の利用者の視線位置を検出し、
    前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出し、
    抽出したコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成し、
    音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する
    処理を実行することを特徴とするポインティング支援方法。
  8. コンピュータに、
    画面上の利用者の視線位置を検出し、
    前記視線位置を基準とする検索範囲内に含まれる前記画面上のコマンドを抽出し、
    抽出したコマンドと前記コマンドの音声情報とを対応付けたテーブルを生成し、
    音声情報を受け付けた場合に、受け付けた音声情報と、前記テーブルの音声情報とを基にして、コマンドを判定する
    処理を実行させることを特徴とするポインティング支援プログラム。
JP2016037415A 2016-02-29 2016-02-29 ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム Active JP6597397B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016037415A JP6597397B2 (ja) 2016-02-29 2016-02-29 ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム
US15/434,439 US10228905B2 (en) 2016-02-29 2017-02-16 Pointing support apparatus and pointing support method
CN201710096283.8A CN107132961B (zh) 2016-02-29 2017-02-22 定点支持装置和定点支持方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016037415A JP6597397B2 (ja) 2016-02-29 2016-02-29 ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム

Publications (2)

Publication Number Publication Date
JP2017156839A true JP2017156839A (ja) 2017-09-07
JP6597397B2 JP6597397B2 (ja) 2019-10-30

Family

ID=59680087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016037415A Active JP6597397B2 (ja) 2016-02-29 2016-02-29 ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム

Country Status (3)

Country Link
US (1) US10228905B2 (ja)
JP (1) JP6597397B2 (ja)
CN (1) CN107132961B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481865B2 (en) * 2017-10-23 2019-11-19 International Business Machines Corporation Automated voice enablement of applications
US10585640B2 (en) * 2017-10-23 2020-03-10 International Business Machines Corporation Automated voice enablement of applications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6873314B1 (en) * 2000-08-29 2005-03-29 International Business Machines Corporation Method and system for the recognition of reading skimming and scanning from eye-gaze patterns
US7881493B1 (en) * 2003-04-11 2011-02-01 Eyetools, Inc. Methods and apparatuses for use of eye interpretation information
US20060209013A1 (en) * 2005-03-17 2006-09-21 Mr. Dirk Fengels Method of controlling a machine connected to a display by line of vision
US20070066916A1 (en) * 2005-09-16 2007-03-22 Imotions Emotion Technology Aps System and method for determining human emotion by analyzing eye properties
US9213404B2 (en) * 2006-02-01 2015-12-15 Tobii Technology Ab Generation of graphical feedback in a computer system
JP2008058409A (ja) * 2006-08-29 2008-03-13 Aisin Aw Co Ltd 音声認識方法及び音声認識装置
JP5056784B2 (ja) * 2009-03-24 2012-10-24 株式会社デンソー 音声認識システム
US10031576B2 (en) * 2010-06-09 2018-07-24 Dynavox Systems Llc Speech generation device with a head mounted display unit
US8296151B2 (en) * 2010-06-18 2012-10-23 Microsoft Corporation Compound gesture-speech commands
FR2970576B1 (fr) * 2011-01-19 2013-02-08 Matchic Labs Procede de determination de la direction du regard et dispositif pour sa mise en oeuvre
KR101773845B1 (ko) * 2011-05-16 2017-09-01 삼성전자주식회사 휴대용 단말기에서 입력 처리 방법 및 장치
JP5785015B2 (ja) * 2011-07-25 2015-09-24 京セラ株式会社 電子機器、電子文書制御プログラムおよび電子文書制御方法
US9323325B2 (en) * 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
US9922651B1 (en) * 2014-08-13 2018-03-20 Rockwell Collins, Inc. Avionics text entry, cursor control, and display format selection via voice recognition
US9910490B2 (en) * 2011-12-29 2018-03-06 Eyeguide, Inc. System and method of cursor position control based on the vestibulo-ocular reflex
JP5945417B2 (ja) * 2012-01-06 2016-07-05 京セラ株式会社 電子機器
US9691381B2 (en) * 2012-02-21 2017-06-27 Mediatek Inc. Voice command recognition method and related electronic device and computer-readable medium
KR102057629B1 (ko) * 2013-02-19 2020-01-22 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
EP2996020A4 (en) * 2013-05-08 2016-05-25 Fujitsu Ltd INPUT DEVICE AND INPUT PROGRAM
US9550578B2 (en) * 2014-02-04 2017-01-24 Honeywell International Inc. Systems and methods for utilizing voice commands onboard an aircraft

Also Published As

Publication number Publication date
CN107132961A (zh) 2017-09-05
US20170249124A1 (en) 2017-08-31
US10228905B2 (en) 2019-03-12
JP6597397B2 (ja) 2019-10-30
CN107132961B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
US11862151B2 (en) Low-latency intelligent automated assistant
US10789959B2 (en) Training speaker recognition models for digital assistants
EP3701520B1 (en) Multi-turn canned dialog
US11750962B2 (en) User identification using headphones
EP4057128A1 (en) Continuous dialog with a digital assistant
EP3674851A1 (en) Gesture-based user interface
CN110517685B (zh) 语音识别方法、装置、电子设备及存储介质
EP2874383A1 (en) System and method for controlling slide operation auxiliary input in portable terminal devices
WO2016190950A1 (en) Device voice control
EP4075426B1 (en) Low-latency intelligent automated assistant
CN110534109B (zh) 语音识别方法、装置、电子设备及存储介质
JP2017091327A (ja) ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム
CN110597450A (zh) 防误触识别方法、装置、点读设备及其点读识别方法
JP6597397B2 (ja) ポインティング支援装置、ポインティング支援方法およびポインティング支援プログラム
CN108646910A (zh) 一种基于深度图像的三维动态手指文本输入系统及方法
CN115909505A (zh) 手语识别设备的控制方法、装置、存储介质及电子设备
WO2022001564A1 (zh) 操作集合的获取、执行方法及装置、存储介质和终端设备
EP3255927A1 (en) Method and device for accessing wi-fi network
WO2018054127A1 (zh) 一种手写输入方法及装置
JPH11110379A (ja) 情報検索方法及びその装置
WO2016201760A1 (zh) 一种触摸显示装置中识别手势的方法和系统
KR20190070730A (ko) 멀티 입력을 처리하는 장치, 방법 및 컴퓨터 프로그램
WO2023229989A1 (en) Detecting visual attention during user speech
WO2019084876A1 (zh) 针对写字评分系统的判定方法、系统及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190916

R150 Certificate of patent or registration of utility model

Ref document number: 6597397

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150