(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
実施形態の情報処理装置は、同じ操作パターン(ジェスチャー)が規定回数以上連続した場合、ジェスチャーの誤認識と判定し、ジェスチャー認識内容を補正してユーザの所望する操作を実行する。
【0011】
実施形態の情報処理装置は、特定のジェスチャーが行われる場合、当該ジェスチャーに対応したコマンドを実行する。尚、実施形態でのコマンドとは、表示画像に対する操作用のコマンドであり、例えば表示画像の移動、拡大、縮小、削除、選択などである。また実施形態の情報処理装置は、同じジェスチャーが、どの表示画像に対し連続で何回繰り替えされたかを判定する。実施形態の情報処理装置は、予め決められた時間内に複数回同じジェスチャーが発生した場合は誤認識として扱う。
【0012】
規定回数以上、同じジェスチャーが同じ表示画像に連続で繰り替えされた場合、実施形態の情報処理装置は、別の実行コマンド候補をユーザに問い合わせる。問い合わせの際、所望の機能の使い方と正しいジェスチャーのやり方を示す。このやり方を表示するか否かは、ユーザが選択することができる。また実行コマンド候補の表示順は、ジェスチャーの誤検知数や、ユーザから得られる評価点に基づき順序づけられる。
【0013】
実施形態の情報処理装置は、規定回数以上同じジェスチャーが同じオブジェクトに連続で繰り替えされた場合、ユーザの操作意図に近い別の実行コマンドを自動で判定し、そのコマンドを自動的に実行することも可能である。
【0014】
実施形態では、装置が判定した結果をユーザが評価する。また、情報処理装置はジェスチャーの誤認識内容を補正した回数(誤検知数)をユーザごとに記憶し、記憶した内容を次回の補正に利用する。
【0015】
また蓄積した補正内容を複数の装置で共有することも可能である。
【0016】
以下、図面を参照しつつ本実施形態の態様について説明する。
図1は、実施形態の卓上型情報処理装置の外観を示した図である。卓上型情報処理装置100はテーブル型(卓上型)の情報処理装置であり、その天板面上に、操作表示用の大型のタッチパネルディスプレイ50が配置されている。
【0017】
タッチパネルディスプレイ50は、複数の接触位置を同時検出するマルチタッチセンサ(入力部)がパネル式の表示部上に積層配置されており、画面上の画像を指先やペン先でコントロールすることが可能である。タッチパネルディスプレイ50は、様々なコンテンツ画像を表示可能とし、操作入力のためのユーザインターフェースの役割も担う。
【0018】
図2は、卓上型情報処理装置100内部のハードウェア構成の一例を示すブロック図である。卓上型情報処理装置100は、プロセッサ10、DRAM(Dynamic Random Access Memory)20、ROM(Read Only Memory)30、HDD(Hard Disk Drive)40、タッチパネルディスプレイ50、ネットワークI/F(Interface)60、センサユニット70、タイマー80を有する。これらは通信バスBにより互いに制御信号、データの送受信を行う。
【0019】
プロセッサ10は、例えばCPU(Central Processing Unit)などの演算処理装置であり、ROM30やHDD40などに格納されているプログラムをDRAM20にロードし、演算実行することで、プログラムに従い様々な処理を行う。DRAM20は、揮発性の主記憶装置である。ROM30は、永続的に記憶する不揮発性の記憶装置であり、システム起動時のBIOS(Basic Input Output System)などが記憶されている。HDD40は、永続的に記憶可能な不揮発性の補助記憶装置であり、ユーザが使用するデータやプログラムを記憶する。
【0020】
タッチパネルディスプレイ50は、静電容量方式のタッチパネルの入力部(タッチパネル式の入力部)、およびフラット型パネルの表示部(パネル式の表示部)により構成されている。タッチパネルは、複数の同時接触を検知するマルチタッチに対応しており、接触位置に応じた座標値(X値、Y値)を得ることができる。フラット型パネルは、表示用の発光素子をパネル全面に備えている。
【0021】
ネットワークI/F60は、外部機器と通信を担うユニットであり、LAN(Local Area Network)ボードを含む。またネットワークI/F60は、近距離無線通信規格に準拠したデバイスやUSB(Universal Serial Bus)の規格に準拠したコネクタを有する。
【0022】
センサユニット70は、ユーザが所持するID(Identification)カードを検知し、IDカード内に記述されている情報を読み取るユニットである。読み取られた情報は、卓上型情報処理装置100のログイン認証などに用いられる。このIDカードは、非接触型のICカードであり、ユーザの識別情報が少なくとも記憶されている。タイマー80は、現在時刻を計時するユニットである。
【0023】
図3は、卓上型情報処理装置100を上側から視認したときの平面図である。卓上型情報処理装置100は、複数ユーザの同時ログインを可能としている。センサユニット70は、本例では天板付近の四方側面の中央部にそれぞれ配置されている(本例では計4つ)。IDカード150A〜150Dを携帯したユーザがセンサユニット70に近接することで、センサユニット70がIDカード内の情報を読み取り、ログイン認証が行われる。IDカード内の情報が事前にHDD40もしくは外部の認証機構に登録されているものである場合、認証適合となる。
【0024】
卓上型情報処理装置100は、認証を済ませたユーザに対しユーザごとにカスタマイズされたデスクトップ画面を表示する。ユーザはこの中でドキュメント編集や任意のホームページの閲覧などの作業を行う。これら表示されるオブジェクト(以下、表示されている画像や、その画像に紐づくデータの集合体をオブジェクトと称す)は、公知の技術を用いて、ユーザの所定操作により、移動、拡大、縮小、回転、選択や削除等を行うことができる。
【0025】
たとえば5本の指をタッチパネルディスプレイ50に接触させ、表示オブジェクトをつまむようなジェスチャーをすることで、オブジェクトを削除する(画面から表示を消す)、という操作があるとする。ユーザが「5本の指でつまむ」という操作を何度も繰り返し行っているにも拘わらず、オブジェクトが削除されず、たとえば「オブジェクトの縮小」、という別のコマンドと認識される場合がある。このように同じ操作が繰り返し行われる場合、卓上型情報処理装置100は以下のいずれかを行う。
・他の有力候補のコマンドを一覧表示し、その中からユーザが選択したコマンドを実行する。
・他の有力候補の中から、事前に設定されたコマンドを自動実行する。
【0026】
尚、ページめくりジェスチャーは、同じ操作が連続するが、本実施形態では誤認識とは扱わない。別のページは、別のオブジェクトとして認識することで、同じオブジェクトに対する連続操作に該当しないものとする。また、操作が開始されてから予め決められた時間内に同じ操作が連続した場合には誤認識と判断する。
【0027】
図4は、DRAM20やHDD40の記憶部に記憶される情報の一例である。これら各テーブルについて説明する。
【0028】
図4(A)は、ジェスチャーに関する情報をまとめたテーブルである。
図4(A)に示すテーブルは、ジェスチャーの識別情報(ID)と、当該ジェスチャーのコマンド内容、ジェスチャーの具体的な操作手順、当該ジェスチャーと類似するジェスチャーのID、ファイル名の各情報を1つのレコードにしたテーブルである。たとえばジェスチャーIDが「j022」のものは、オブジェクトを表示上から削除するコマンドに対応づけられており、そのジェスチャー操作は「5本指でつまむ」という操作となる。コマンド内容カラムおよびジェスチャー操作カラムに格納されるデータは、テキストデータであり、ユーザにコマンド内容やジェスチャーのやり方を通知するためのデータである。
【0029】
類似ジェスチャーIDは、当該ジェスチャーと類似しているジェスチャーを列記したデータである。例えばジェスチャーIDが「j022」のジェスチャーと類似するものは、「j023」、「j024」、「j033」、「j051」のIDが付与された各ジェスチャーとなる。ファイル名は、当該ジェスチャーのやり方を説明した画像ファイルや動画ファイルの名前である。この映像ファイルのデータは、ユーザに操作方法を示す際に、タッチパネルディスプレイ50に映し出される。
図4(A)に示すテーブルは、事前に定義されるテーブルであり、必要に応じて保守者などが所定操作を行うことで更新される。
【0030】
図4(B)は、ユーザと、当該ユーザが各ジェスチャーを行ったときの誤検知数、評価点などを関連づけたテーブルである。プロセッサ10は、ユーザを新規登録するときにこのテーブルに登録し、ユーザの登録を解消(削除)すると、該当するユーザIDおよびこのユーザIDに対応づけられるレコードを削除する。
【0031】
図4(B)に示すテーブルは、ユーザ識別情報(ID)、ジェスチャーID、当該ジェスチャーIDに類似したジェスチャーのIDを有する。ジェスチャーIDと類似ジェスチャーIDとは、
図4(A)と同じデータ対応となる。たとえば
図4(A)では、ジェスチャーID「j022」と類似するジェスチャーIDは「j023」、「j024」、「j033」、「j051」であるが、この対応付けと同じ対応付けが
図4(B)に示すテーブルでも構成される。
【0032】
誤検知数は、ジェスチャーを行ったときに類似ジェスチャーと判定した回数(すなわち誤検知した回数)をカウントした数値データである。この誤検知数は、卓上型情報処理装置100のプロセッサ10が設定する値である。評価点は、ユーザが設定する値であり、誤検知が頻繁に起こるとユーザが判断した類似ジェスチャーについては、高い数値が設定され、そうでない類似ジェスチャーについては低い数値が設定される。プロセッサ10は、この評価点を、ユーザの所定操作に従い表示する入力画面を介して得る。これら誤検知数、評価点は、誤検知とみなされた後に表示されるコマンド候補の順位に影響を与える。
【0033】
自動実行フラグは、ユーザが設定するデータである。自動実行フラグが1(オン)の場合は、プロセッサ10は、誤検知が発生した際に、コマンド候補を表示せずに当該類似ジェスチャーIDのコマンドを実行する。このフラグデータは、1つのジェスチャーIDにつき1つの類似ジェスチャーのみオンとすることができる。例えばジェスチャーIDカラムが「j022」ものについて、
図4(B)の例では「j023」の類似ジェスチャーIDのレコードにフラグがセットされている。この場合、その他の類似ジェスチャーID(j024、j033、j051)には、自動実行フラグをセットすることができず、その値はゼロ(オフ)となる。尚、ユーザが所定操作を行うことで、フラグの付け替え画面が表示される。プロセッサ10は、この画面を介してユーザから値を得ることができる。
【0034】
尚、誤検知数と評価点との合算値が最も多い類似ジェスチャーを自動実行する、というように、誤検知数、評価点に基づき類似ジェスチャーを自動実行する実装でも構わない。またプロセッサ10は、誤検知数、評価点のいずれか一方で自動実行ジェスチャーを選定してもよい。
【0035】
図4(C)は、オブジェクトに対し、同じジェスチャーが何回繰り返されたかを示すテーブルである。プロセッサ10は、オブジェクトが表示されるときに1レコード分登録し、オブジェクトが表示上削除されるときに該当するレコードを削除する。オブジェクトIDは、表示されているオブジェクトの識別情報である。所有ユーザIDは、当該オブジェクトの所有者を示すユーザIDである。この所有者は、本例では、当該オブジェクトを呼び出して表示させたユーザであるものとする。このテーブルには、最後に実行したジェスチャーのIDが記憶される。この最後に実行したジェスチャーIDのカラムは、今回のジェスチャーが、前回のジェスチャーとは異なるものであるとプロセッサ10が認識する場合に更新される。
【0036】
図4(C)のテーブル内の繰り返し数は、この最後に実行したジェスチャーが何回続けて実行されたかを示す数値データである。繰り返し数は、最後に実行されたジェスチャーと異なるジェスチャーが実行される場合や、時間フラグがオフである場合に初期化され、ゼロになる。時間フラグは、オブジェクトがタッチされるときにオン(値1)となり、オンになったときから計時して所定期間経過するとオフ(値ゼロ)になるデータである。本例ではこの所定期間を10秒とする。この時間フラグがオンである期間中に同じジェスチャーが繰り返し行われる場合、プロセッサ10は、コマンド候補の表示や候補コマンドの自動実行を行う。
【0037】
図5は、卓上型情報処理装置100の動作例を示すフローチャートである。
図5に示す動作は、プロセッサ10が、HDD40に事前に記憶されているプログラムをDRAM20にロードし、このプログラムコードに従い演算実行し、また他のハードウェアと協働することで実現される。
【0038】
プロセッサ10は、タッチパネルディスプレイ50に表示されているオブジェクト内で指先やペン先の接触があったかを判定する(ACT001)。この判定は、従来技術に基づく。プロセッサ10は、接触を検知するまで待機する(ACT001、Noのループ)。接触がある場合(ACT001、Yes)、プロセッサ10は、検知位置がその後どこに移動したかの情報や短時間で複数回検知したかなどの情報に基づき、ユーザが行ったジェスチャーを決定し、このジェスチャーに従ったコマンドを決定する(ACT002)。
【0039】
プロセッサ10は、当該接触検知したオブジェクトに対応した時間フラグをオンにする(ACT002A)。これにより、
図4(C)に示す時間フラグが1となる。プロセッサ10は、時間フラグをオンにしたときにタイマー80から現在時刻を取得し、この時間フラグをオンにしたときにから10秒経過するまでを計時する処理を本処理と別に並列実行する。10秒経過すると、プロセッサ10は時間フラグを本処理とは非同期でゼロにする。
【0040】
プロセッサ10は、ACT002で決定したジェスチャーが前回と同じジェスチャーであるかを判定する(ACT003)。この判定は、
図4(C)に示される最後に実行したジェスチャーIDと、今回決定したジェスチャーのIDとを比較することで行われる。前回とは異なるジェスチャーである場合(ACT003、No)、今回のジェスチャーを新規ジェスチャーとして扱い、
図4(C)に示す各種データを初期化する。すなわちプロセッサ10は、
図4(C)に示される最後に実行したジェスチャーIDを今回決定したジェスチャーのIDに更新し(ACT004)、繰り返し数をクリアしてゼロにする(ACT005)。また、時間フラグがオンの場合はオフにする(ACT005A)。
【0041】
プロセッサ10は、ACT002で決定したコマンドを実行する(ACT006)。その後ACT014の判定処理となる。
【0042】
ACT003に説明を戻す。前回と同じジェスチャーである場合(ACT003、Yes)、プロセッサ10は、ここで
図4(C)に示す時間フラグを参照してオンのままであるかを判定する(ACT003A)。時間フラグがオフの場合(ACT003A、No)、規定時間10秒以上を経過したため、今回のジェスチャーを新規のジェスチャーとして扱い、
図4(C)に示す各種データを初期化する。よって本実施形態では、時間フラグがオフの場合はACT004もしくはACT005に進む。
【0043】
時間フラグがオンのままである場合(ACT003A、Yes)、プロセッサ10は、
図4(C)に示すテーブルの繰り返し数を1つ増加させる(ACT007)。プロセッサ10は、繰り返し数と規定数(たとえば5回)とを比較し、同じジェスチャーがこの規定数繰り返し行われているかを判定する(ACT008)。規定数に満たない場合(ACT008、No)、プロセッサ10は、ACT002で決定したコマンドを実行し(ACT006)、その後ACT014の判定処理となる。
【0044】
ジェスチャーが規定数繰り返し実行された場合(ACT008、Yes)、プロセッサ10は、
図4(B)に示すテーブルを参照し、自動実行フラグがオンとなっている類似ジェスチャーがあるかを判定する(ACT009)。
【0045】
ここで、自動実行フラグがオンとなっている類似ジェスチャーを取得するまでの検索手法を説明する。プロセッサ10は、操作対象のオブジェクトのIDを用いて
図4(C)を参照し、該当レコードの所有ユーザIDを取得する。プロセッサ10は、
図4(B)のテーブルを参照して、所有ユーザIDがユーザIDカラムにあり、且つACT002で決定したジェスチャーのIDがジェスチャーIDカラムにあるレコードを1つまたは複数取得する。プロセッサ10は、このレコードのうち、自動実行フラグがオンとなっているレコードを検索し、ヒットする場合はその類似ジェスチャーIDを取得する。
【0046】
フローチャートの説明に戻る。自動実行フラグがオンとなっている類似ジェスチャーがある場合(ACT009、Yes)、ACT011に進む。尚、ACT011ではなくACT012に進ませる実装でもよい。
【0047】
一方、自動実行フラグがオンとなっている類似ジェスチャーがない場合(ACT009、No)、プロセッサ10は、誤検知数や評価点の多い順で、ジェスチャーの候補やコマンド内容を一覧表示する(ACT010)。
【0048】
このACT010の動作を説明する。プロセッサ10は、所有ユーザIDとACT002で決定したジェスチャーのIDとが一致しているレコードを
図4(B)のテーブルから取得し、類似ジェスチャーID、誤検知数、評価点の一覧を作成する。次にプロセッサ10は、取得した類似ジェスチャーIDと、
図4(A)に示すテーブルのジェスチャーIDカラムとが一致しているレコードを取得し、該当レコードのコマンド内容、ジェスチャー操作の各データを取得し、先の誤検知数、評価点の一覧と対応づける。プロセッサ10は、誤検知数や評価点の多い順となるように一覧をソートして表示する。この候補の順序付けは、例えば誤検知数と評価点とを足し合わせ、この値の大きい順とするなど、さまざまな実装がある。また誤検知数の多い順のみ、評価点の多い順のみなど、誤検知数、評価点のいずれか一方のみで順序付けを行ってもよい。
【0049】
また操作方法をテキストで表示する以外にも、プロセッサ10は、
図4(A)を参照することでファイル名を取得し、該当する画像を表示したり、動画を再生したりする実装でもよい。このジェスチャー方法の表示は、ユーザ指定に基づき表示しないとする実装でもよい。
【0050】
フローチャートの説明に戻る。タッチパネルディスプレイ50は、ジェスチャー候補の中でいずれのジェスチャーが選択されるかを検知する。プロセッサ10は、
図4(B)を参照して、ユーザにより選択されるジェスチャー候補(類似ジェスチャーID)に対応する誤検知数を1つ加算して更新する(ACT011)。その後プロセッサ10は、
図4(C)に示す各データを初期化する。すなわち、
図4(C)に示す繰り返し数をクリアし(ACT012)、またこのときに時間フラグがオンのままであればオフにする。
【0051】
プロセッサ10は、ユーザが指定したジェスチャーに従ったコマンドを実行する(ACT013)。尚、ACT009で肯定判定の場合、すなわち自動実行フラグがオンとなっている類似ジェスチャーがある場合、プロセッサ10は、ここではオンとなっている類似ジェスチャーに従ったコマンドを実行する(ACT013)。
【0052】
上記ACT001〜ACT013までの動作は、当該オブジェクトが表示上削除されるまで繰り返し実行される(ACT014、Noのループ)。
【0053】
また、
図4に示す各テーブルを外部のサーバに記憶させ、複数の卓上型情報処理装置100でデータを共有させる実装でもよい。この場合の構成例を
図6に示す。
図6に示すシステム500は、上記の卓上型情報処理装置100と同様構成である複数の卓上型情報処理装置100A〜100Cと、サーバ200とを有し、これらがネットワーク300を介して互いにデータの送受信を行う。サーバ200は従前のコンピュータと同様構成であり、プロセッサ211、ストレージ部212、ネットワークI/F213、モニター215、キーボード214を有する。ストレージ部212は、揮発性に記憶するRAMや不揮発性に記憶する補助記憶装置、ROMを有する。
図4に示す各テーブルは、サーバ200のストレージ部212に記憶されている。
【0054】
卓上型情報処理装置100A〜100Cから電文を受信する場合、サーバ200のプロセッサ211がこれらテーブルを参照して処理を進める。
図5のフローチャートにおいて、ACT001、ACT002は卓上型情報処理装置100A〜100Cでの動作となる。ACT002の後に、卓上型情報処理装置100A〜100Cは、決定したコマンドやジェスチャーIDを含んだ電文を送信する。その後卓上型情報処理装置100A〜100Cの各プロセッサは、ACT010でタッチパネルディスプレイ上に候補一覧の表示を行い、ユーザが指定したジェスチャーIDをサーバ200に送信する。また卓上型情報処理装置100A〜100Cは、ACT006、ACT013のコマンド実行を行う。
【0055】
一方、サーバ200のプロセッサ211は、決定したコマンドやジェスチャーIDを含んだ電文を卓上型情報処理装置100A〜100Cから受信すると、ACT002A〜ACT005、およびACT007〜ACT009の動作を行う。ACT010で卓上型情報処理装置100A〜100Cが候補表示を行う際には、プロセッサ211は、ネットワークI/F213を動作させて候補一覧や操作手順などの情報を送信する。ACT010で、ユーザが指定したジェスチャーIDをサーバ200が受信する場合、プロセッサ211は、ACT011〜ACT012の動作を行う。
【0056】
上記例は、
図4に示す全てのデータをサーバ200に記憶させ、サーバ200が判定などの主要な処理を行い、卓上型情報処理装置100A〜100Cはその結果を受けて主に表示の制御を行うものとして説明した。これ以外にも、
図4(B)のテーブルのみをサーバ200に記憶させる実装や、
図4(A)、
図4(B)の各テーブルをサーバ200に記憶させる実装などでもよい。少なくとも
図4(B)のテーブルをサーバ200に記憶させる構成にすることで、サーバ200が誤検知数などの履歴情報をユーザごとに管理し、且つ複数の卓上型情報処理装置100A〜100Cは、この履歴情報を共有することができる。これに加え、サーバ200に
図4(A)のテーブルも記憶させることで、
図4(A)のテーブルを保守者が更新するときはサーバ200のみをメンテナンス対象とすることができる。またサーバ200に
図4(A)のテーブルを記憶させることで、卓上型情報処理装置100A〜100C間での
図4(A)のテーブルの不整合も生じず、データの一元管理も容易となる。
【0057】
上記実施形態では、卓上型情報処理装置での態様を説明したが、態様はこれに限定されない。たとえばタブレット型のコンピュータなど、タッチパネルディスプレイを有するコンピュータであればよい。
【0058】
制御部は、実施形態のプロセッサ10、DRAM20、通信バス90を少なくとも有する構成に相当する。プロセッサ10、DRAM20、通信バス90などの各ハードウェアと協働して動作するプログラムは、HDD40(ROM30でもよい)に事前に記憶されており、プロセッサ10によりDRAM20にロードされ、演算実行される。また制御部は、サーバ200のプロセッサ211に相当させてもよい。表示部、入力部は、タッチパネルディスプレイ50に相当する。記憶部は、DRAM20、HDD40もしくはストレージ部212に相当する。映像データとは、像を映し出すためのデータであり、画像や動画を含む。
【0059】
上記実施形態で説明した機能をコンピュータに実行させるためのプログラムが提供されてもよい。このプログラムは、表示制御プログラム、コマンド実行プログラム、ユーザインターフェイスプログラム、デバイス制御プログラムなど、どのような名称であってもよい。
【0060】
本実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0061】
以上に詳説したように、本実施形態の態様により、ユーザ操作の誤検知を抑制することができ、ユーザ所望のコマンドを実行することができる。
【0062】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。