(57)【要約】  ジェスチャー判定装置（１）は、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部（１０）と、前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部（１１）と、前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部（１２）と、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部（１３）とを備えており、前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定する。
2011030581.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定装置。
【請求項２】
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第１の角度分類を考慮せずにジェスチャーを判定する、請求項１に記載のジェスチャー判定装置。
【請求項３】
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第２の角度分類に所定の重み付けを行ってジェスチャーを判定する、請求項１または２に記載のジェスチャー判定装置。
【請求項４】
前記座標データを所定個数取得する毎に、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定する、請求項１〜３のいずれか一項に記載のジェスチャー判定装置。
【請求項５】
前記座標データに基づいて、前記第２の時間間隔よりも長い第３の時間間隔毎に第３の角度分類を生成する第３の角度分類生成部をさらに備え、
前記ジェスチャー判定部は、前記第１の角度分類、前記第２の角度分類および／または前記第３の角度分類に基づいてジェスチャーを判定するものであり、
前記第３の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間または前記第２の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類または前記第２の角度分類よりも前記第３の角度分類を優先させてジェスチャーを判定することを特徴とするジェスチャー判定装置。
【請求項６】
ユーザが行うジェスチャーを判定するジェスチャー判定装置を、コンピュータを用いて実現するためのプログラムであって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得処理と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成処理と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成処理と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定処理とを前記コンピュータに実行させ、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定する処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項７】
ユーザが行うジェスチャーを判定するジェスチャー判定方法であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得ステップと、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成ステップと、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成ステップと、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定ステップとを含み、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定方法。
【請求項８】
タッチパネルと、ユーザが行うジェスチャーを判定するジェスチャー判定装置とを少なくとも備えたタッチパネルシステムであって、
ジェスチャー判定装置は、
前記タッチパネルに対するユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定するものであることを特徴とするタッチパネルシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された座標に基づいてジェスチャーを判定するジェスチャー判定装置およびその方法に関する。
【背景技術】
【０００２】
電子機器等の分野においては、指先またはペン先等を用いてタッチパネルやタッチパッドに入力された座標の軌跡に基づいてジェスチャーを判定し、判定されたジェスチャーに対応する各種の操作コマンドを当該電子機器等に与える機能が知られている。このジェスチャーの判定は、角度分類（「方向コード」とも呼ばれる。）を用いて行うことができる。【０００３】
例えば、タッチパネルやタッチパッドから所定時間ごとの座標を取得して角度分類を算出することにより、指先またはペン先の移動方向を認識することができる。【０００４】
一方、オンラインの手書き文字認識において、各線分を角度に基づいて分類し、構造解析により文字認識を行うシステムが知られている（例えば、特許文献１）。また、方向コードを用いて文字パターンの特徴抽出を行う方法が知られている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０９２３７１号公報
【特許文献２】特開昭６０−１１００８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のようなジェスチャー判定においては、どちらの方向に指を動かしたかを判定する時間間隔を細かくすると（例えば、10ms毎。）、場合によってはユーザの意図に応じた操作ができないことがあった。具体的には、ユーザが指を右横に動かしたつもりでも、手の震えなどの影響により、右斜め上や右斜め下方向の移動と判定されたり、指を離すときの動きが逆向きの操作に判定されたりすることがあった。【０００７】
図１０Ａは、この場合に、ユーザが意図する指の動きの例を示す図である。図１０Ｂは、この場合に、ジェスチャー判定において右斜め上や右斜め下方向の移動と判定される指の動きの例を示す図である。図１０Ｃは、この場合に、ジェスチャー判定において指を離すときの動きが逆向きの操作に判定される指の動きの例を示す図である。つまり、ユーザは、図１０Ａのような動きを意図して、指を動かしているにもかかわらず、図１０Ｂまたは図１０Ｃのような動きであるとジェスチャー判定されることがあった。【０００８】
このため、タッチパネルまたはタッチパッド等において、ユーザが指でタッチして各種操作を行う場合に、ユーザの意図した操作を行うことができないという問題が生じる。【０００９】
なお、構造解析に基づいて手書き認識を行う場合や、方向コードを用いて文字パターンの特徴抽出を行う場合には、一文字分のストロークデータを処理するため、所定時間毎にリアルタイムでジェスチャー判定を行うことができない。【００１０】
本発明は、上記のような問題点に鑑みてなされたものであり、その目的は、ユーザの意図するジェスチャーをリアルタイムで正確に認識することのできるジェスチャー判定装置およびその方法の提供にある。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、以下に開示するジェスチャー判定装置は、ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定することを特徴とする。
【発明の効果】
【００１２】
本発明のジェスチャー判定装置は、ユーザの意図するジェスチャーをリアルタイムで正確に認識することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】本発明にかかるジェスチャー判定装置１の機能ブロック図の一例を示す図である。
【図２Ａ】角度分類を使用する場合の例を示す図である。
【図２Ｂ】角度分類を使用する場合の例を示す図である。
【図２Ｃ】角度分類を使用する場合の例を示す図である。
【図２Ｄ】角度列の例を示す図である。
【図２Ｅ】角度列から判定される各ジェスチャーの例を示す図である。
【図３】本発明にかかるジェスチャー判定装置１を用いたシステム構成の一例を示す図である。
【図４Ａ】マイコンボード８とタッチパネルコントローラ６との間における通信を模式的に示す図である。
【図４Ｂ】タッチパネルコントローラ６から送出される座標データの一例を示す図である。
【図５】ジェスチャー判定処理のフローチャートの一例を示す図である。
【図６】疑似属性挿入処理のフローチャートの一例を示す図である。
【図７】タッチパネルコントローラ６から送出されてきた座標データに疑似属性を挿入する模式図の一例を示す図である。
【図８】角度列をクリアする場合を説明するための模式図の一例を示す図である。
【図９】ジェスチャー生成処理のフローチャートの一例を示す図である。
【図１０Ａ】ユーザが意図する指の動きの例を示す図である。
【図１０Ｂ】ジェスチャー判定において右斜め上や右斜め下方向の移動と判定される指の動きの例を示す図である。
【図１０Ｃ】ジェスチャー判定において指を離すときの動きが逆向きの操作に判定される指の動きの例を示す図である。
【発明を実施するための形態】
【００１４】
(1)本発明の一実施形態にかかるジェスチャー判定装置は、ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定する。これにより、生成対象期間の短い局所的な角度分類と、生成対象期間の長い大局的な角度分類とを総合してジェスチャー判定を行い、ユーザの意図するジェスチャーをリアルタイムで正確に認識することができる。
【００１５】
(2)上記ジェスチャー判定装置において、前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第１の角度分類を考慮せずにジェスチャーを判定するようにしてもよい。これにより、生成対象期間の長い大局的な角度分類を優先して簡単にジェスチャー判定を行うことができる。
【００１６】
(3)上記ジェスチャー判定装置において、前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第２の角度分類に所定の重み付けを行ってジェスチャーを判定するようにしてもよい。これにより、生成対象期間の長い大局的な角度分類を優先して精度よくジェスチャー判定を行うことができる。
【００１７】
(4)上記ジェスチャー判定装置において、前記座標データを所定個数取得する毎に、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するようにしてもよい。これにより、所定期間毎に効率的にジェスチャー判定を行うことができる。
【００１８】
(5)上記ジェスチャー判定装置において、前記座標データに基づいて、前記第２の時間間隔よりも長い第３の時間間隔毎に第３の角度分類を生成する第３の角度分類生成部をさらに備え、前記ジェスチャー判定部は、前記第１の角度分類、前記第２の角度分類および／または前記第３の角度分類に基づいてジェスチャーを判定するものであり、前記第３の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間または前記第２の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類または前記第２の角度分類よりも前記第３の角度分類を優先させてジェスチャーを判定するようにしてもよい。これにより、段階的なタイミングで精度よくジェスチャー判定を行うことができる。
【００１９】
(8)本発明の一実施形態にかかるタッチパネルシステムは、タッチパネルと、ユーザが行うジェスチャーを判定するジェスチャー判定装置とを少なくとも備えたタッチパネルシステムであって、上記ジェスチャー判定装置は、前記タッチパネルに対するユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定するものである。これにより、生成対象期間の短い局所的な角度分類と、生成対象期間の長い大局的な角度分類とを総合してジェスチャー判定を行い、ユーザの意図するジェスチャーをリアルタイムで正確に認識するタッチパネルシステムを提供することができる。
【００２０】
以下、本発明の表示装置の好ましい実施形態について、図面を参照しながら説明する。以下の説明では、本発明を、タッチパネル式液晶モニタで構成される車載インパネに適用した場合を例示して説明する。なお、本発明は、有機ＥＬ、ＰＤＰ等のように画素面上にタッチパネルを備える他の表示装置にも適用可能である。また、ノート型パーソナルコンピュータのタッチパッドのように、表示装置と独立したタッチ式入力装置にも適用可能である。
【００２１】
［１．第１の実施形態］
［１−１．機能ブロック図］
図１は、本発明にかかるジェスチャー判定装置１の機能ブロック図の一例を示す図である。図１において、ジェスチャー判定装置１は、座標データ取得部１０、第１の角度分類生成部１１、第２の角度分類生成部１２および、ジェスチャー判定部１３を備える。
【００２２】
座標データ取得部１０は、ユーザ操作により発生する所定時間毎の座標データを取得するためのものである。第１の角度分類生成部１１は、前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成するためのものである。第２の角度分類生成部１２は、前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成するためのものである。ジェスチャー判定部１３は、前記第１の角度分類生成部または前記第２の角度分類生成部において生成された角度分類に基づいてジェスチャーを判定するためのものである。
【００２３】
そして、ジェスチャー判定部１３は、前記第２の角度分類を生成した前記第２の時間間隔による期間が、前記第１の角度分類を生成した前記第１の時間間隔による期間と重複する場合は、前記第２の角度分類を優先してジェスチャーを判定する。この場合、例えば、第１の角度分類生成部１１および第２の角度分類生成部１２は、後述するように、角度分類テーブル１４を参照して角度分類を生成する。なお、ジェスチャー判定部１３は、判定したジェスチャーを、例えば外部装置等に出力する。
【００２４】
図２Ａは、角度分類の一例を示す図である。図２Ｂは、角度分類を算出する場合の一例を示す図である。図２Ｃは、角度分類テーブルの一例を示す図である。角度分類を使用する場合においては、例えば、図２Ａに示すように、３６０度を８つに分割した各角度に対して１〜８の数字を予め定めておく。図２Ｂに示すように、入力座標(x1,y1)〜(x2,y2)の軌跡を示す線分の傾き(y2-y1/x2-x1)を算出する。図２Ｃに示すように、線分の傾き(y2-y1/x2-x1)を正接とする角度値（tanθ＝(y2-y1/x2-x1)をみたすθ）等に基づいて、いずれの角度分類に該当するかを図２Ｃに示す角度分類テーブルに基づいて分類する。なお、角度分類を構成する分割角度または個数は、上記に限られない。
【００２５】
例えば、入力機器であるタッチパネルまたはタッチパッドから、10msごとの入力座標を取得してジェスチャー判定を行う場合、10msごとに角度分類を算出し、一定時間毎（例えば50ms）に算出された複数の角度分類（以下、角度列とする。）に基づいて、精度よくジェスチャーを判定することができる。
【００２６】
図２Ｄは、角度列の一例を示す図である。図２Ｅは、角度列から判定される各ジェスチャーの一例を示す図である。角度列は、複数の角度分類から構成され、例えば、図２Ｄに示す「角度列１」は、５つの角度分類「角度３」、「角度２」、「角度３」、「角度３」、「角度３」から構成される。そして、50ms期間における「角度列１」の角度分類を決定する場合には、多数決による代表値である角度分類「角度３」を選択する。さらに、決定した角度分類「角度３」に対応するジェスチャー番号３（上向き矢印）のジェスチャーを、「角度列１」に対応するジェスチャーであると決定することができる。
【００２７】
［１−２．システム構成］
図３は、本発明にかかるジェスチャー判定装置１を用いたシステム構成の一例を示す図である。図３においては、上記ジェスチャー判定装置１は、マイコンボード８に該当する。
【００２８】
インパネＥＣＵ２は、メインＥＣＵ３とともに車載インパネシステムを構成する。インパネＥＣＵ２およびメインＥＣＵ３は、例えば、ＣＡＮ等などの車内ネットワークを介して接続される。ここで、ＥＣＵ（Electronic Control Unit）とは、自動車の各部に複数設けられた装置である。そして、それぞれのＥＣＵは、他のＥＣＵから得られる状態情報等に基づいて、様々な情報処理や制御を行うことが可能である。
【００２９】
インパネＥＣＵ２は、ＬＣＤ（液晶ディスプレイ）４、タッチパネル５、タッチパネルコントローラ６、画像処理ボード７および、マイコンボード８を備える。マイコンボード８は、少なくともＣＰＵ８ａおよびメモリ８ｂを含み、メモリ８ｂには、ジェスチャー判定プログラム８ｃが保持されている。
【００３０】
インパネＥＣＵ２は、メインＥＣＵ３からの指示を受けてＬＣＤ４に所定の画面を表示する。また、インパネＥＣＵ２は、タッチパネル５に対するユーザ操作に基づいて判定したジェスチャーをメインＥＣＵ３に通知する。
【００３１】
インパネＥＣＵ２において、タッチパネル５を制御するタッチパネルコントローラ６と、マイコンボード８は、例えばＲＳ２３２Ｃ等により接続される。画像処理ボード７とＬＤＣ４は、例えばＬＶＤＳ(Low voltage differential signaling)により動作可能に接続される。マイコンボード８と画像処理ボード７は、例えば所定のHOST I/Fにより接続される。
【００３２】
［１−３．座標データ］
図４Ａは、マイコンボード８とタッチパネルコントローラ６との間における通信の一例を模式的に示す図である。図４Ａに示すように、マイコンボード８は、タッチパネルコントローラ６に対して所定信号を出力して、タッチパネルコントローラ６を初期化する。その後、タッチパネルコントローラ６は、タッチパネル５においてユーザがタッチした位置に対応する座標位置を示す座標データを、所定時間毎（例えば10ms毎。）にマイコンボード８に対して送出する。
【００３３】
図４Ｂは、この場合にタッチパネルコントローラ６から送出される座標データの一例を示す図である。図４Ｂに示す座標データは、例えば５バイトで構成されており、「id」欄３１を用いて、タッチパネル５へのペンダウン（接触）を表す属性「DOWN」、ムーブ（移動）を表す属性「MOVE」および、ペンアップ（非接触）を表す属性「UP」にそれぞれ対応する１バイトのコードを保持する。また、「xa」欄３２および「xb」欄３３を用いて、タッチパネルのタッチ位置のＸ座標に対応する数値を保持し、「ya」欄３４および「yb」欄３５を用いて、タッチパネルのタッチ位置のＹ座標に対応する数値を保持する。
【００３４】
［１−４．ジェスチャー判定処理］
インパネＥＣＵ２のマイコンボード８は、タッチパネルコントローラ６から送出されてきた座標データに基づいてジェスチャー判定処理を実行し、判定処理の結果をメインＥＣＵ３に通知する。図５は、ジェスチャー判定処理のフローチャートの一例を示す図である。この場合、マイコンボード８のＣＰＵ８ａは、座標データをシリアル受信し始めると、メモリ８ｂに保持されているジェスチャー判定プログラム８ｃを実行する。つまり、ＣＰＵ８ａは、ジェスチャー判定プログラム８ｃの実行により、下記に示す各処理ステップを実行する。
【００３５】
ＣＰＵ８ａは、座標読出し回数カウンタをゼロクリアする（ステップＳ４０１）。座標読出し回数カウンタの詳細な利用方法については後述する。ＣＰＵ８ａは、メモリ８ｂの所定バッファ領域を参照してシリアル入力データが存在すれば（ステップＳ４０２、ＹＥＳ）、このデータを属性付き座標データとして読出す（ステップＳ４０３）。なお、ＣＰＵ８ａは、メモリ８ｂの所定バッファ領域を参照してシリアル入力データが存在しなければ（ステップＳ４０２、ＮＯ）、処理を終了する。読み出しが完了すると、上述の座標読出し回数カウンタを１つカウントアップする（ステップＳ４０４）。
【００３６】
続いて、ＣＰＵ８ａは、疑似属性挿入処理をサブルーチンで実行する（ステップＳ４０５）。図６は、疑似属性挿入処理のフローチャートの一例を示す図である。図７は、タッチパネルコントローラ６から送出されてきた座標データに疑似属性を挿入する模式図の一例を示す図である。
【００３７】
一回のジェスチャー入力ごとに、タッチパネルコントローラ６からは、属性付き座標データ６１がシリアルで送出される。属性付き座標データ６１に示すように、最初に属性「DOWN」の座標データが送出され、その後属性「MOVE」の座標データが所定個数連続して送出され、最後に属性「UP」の座標データが送出される。例えば、各座標データは、10ms毎にタッチパネルコントローラ６から送出される。
【００３８】
本実施形態においては、属性「UP」をトリガーとして、後述するジェスチャー生成処理を実行する。このため、予め疑似属性挿入処理によって所定間隔・所定個数ごとに擬似的に属性「UP」を挿入する必要がある。図６に示すように、疑似属性挿入処理においては、座標読出し回数カウンタが「５の倍数」であれば（ステップＳ５０１、ＹＥＳ）、読み出した座標データの属性を「UP」に変更する（ステップＳ５０２）。また、座標読出し回数カウンタが「５の倍数＋１」であれば（ステップＳ５０３、ＹＥＳ）、読み出した座標データの属性を「DOWN」に変更する（ステップＳ５０４）。これにより、例えば、図７に示すように、属性付き座標データ６１は、疑似属性挿入処理後の属性付き座標データ６２のように変更される。この場合、例えば、座標データは、50ms毎に属性「UP」が挿入されるため、50ms毎に角度列を生成することができる。
【００３９】
続いて、ＣＰＵ８ａは、読み出した座標データの属性が「DOWN」であれば（ステップＳ４０６、ＹＥＳ）、メモリ８ｂ上の角度列バッファを初期化する（ステップＳ４０７）。これにより、前回のジェスチャー判定処理時に保持されていた角度列がクリアされる。
【００４０】
一方、読み出した座標データの属性が「DOWN」でない場合において（ステップＳ４０６、ＮＯ）、ＣＰＵ８ａは、読み出した座標データの属性が「MOVE」であれば（ステップＳ４０８、ＹＥＳ）、座標データの読出し回数（座標読出し回数カウンタ）が１００の倍数であるか（ステップＳ４０９）または、１０の倍数であるかを判定する（ステップＳ４１１）。
【００４１】
座標データの読出し回数（座標読出し回数カウンタ）が、１００の倍数でなく（ステップＳ４０９、ＮＯ）、１０の倍数でもない場合（ステップＳ４１１、ＮＯ）、ＣＰＵ８ａは、直前に読み込んだ座標データとの間で角度分類を作成して角度列へ追加する処理を上記と同様に行う（ステップＳ４１３）。なお、メモリ８ｂには、１回のジェスチャー判定処理において読み込んだ座標データが保持されているものとする。
【００４２】
具体的には、上述した通り、ＣＰＵ８ａは、図２Ｂに示すように２つの入力座標から線分の傾きを算出し、図２Ｃに示すように角度分類テーブルに基づいて、線分の傾きがいずれの角度分類に該当するかを判断し、図７に示すように、角度列に角度分類する。なお、角度分類の生成において、移動軌跡の線分を構成する２つの座標データ間の距離が所定値以下であれば、ＣＰＵ８ａは、角度分類を「角度０」として角度列へ追加する。座標データ間の距離が小さければ、指先やペン先が移動している可能性が低いためである。例えば、座標データ間の距離が「１００ドット」以内であれば、移動がないとして「角度０」とする。
【００４３】
ステップＳ４１３を繰り返すことにより、図７に示すように、例えば、「角度列１＝(角度3,角度2,角度3,角度3,角度3)」または、「角度列２＝(角度0,角度0,角度1,角度0,角度0)」等の角度列が生成される。
【００４４】
一方、座標データの読出し回数（座標読出し回数カウンタ）が１００の倍数であれば（ステップＳ４０９、ＹＥＳ）、ＣＰＵ８ａは、角度列をクリアした後、１００回前に読み込んだ座標データとの間で角度分類を作成し角度列に追加する処理を行う（ステップＳ４１０）。また、座標データの読出し回数（座標読出し回数カウンタ）が１０の倍数であれば（ステップＳ４１１、ＹＥＳ）、ＣＰＵ８ａは、角度列をクリアした後、１０回前に読み込んだ座標データとの間で角度分類を作成して角度列に追加する処理を上記と同様に行う（ステップＳ４１２）。
【００４５】
上記ステップＳ４１０およびステップＳ４１２において、角度列をクリアする理由は、「座標読出し回数が１００の倍数である場合」または「座標読出し回数が１０の倍数である場合」の角度分類を優先させて後述するジェスチャー判定を行うためである。なぜなら、「座標読出し回数が１００の倍数である場合」または「座標読出し回数が１０の倍数である場合」において作成される角度分類の作成対象期間は、直前に読み込んだ座標データとの間で作成される角度分類の作成対象期間と一部重複しており、「座標読出し回数が１００の倍数である場合」または「座標読出し回数が１０の倍数である場合」の角度分類の方が、直前に読み込んだ座標データとの間で作成される角度分類よりも、ユーザの意図を正確に反映していると考えられるからである。
【００４６】
図８は、角度列をクリアする場合を説明するための模式図の一例を示す図である。ＣＰＵ８ａは、角度列に新たに角度分類「角度２」７１を追加する場合、通常であればステップＳ４１３と同様に、「角度列１＝角度３、角度３、角度３」７０に対して、「角度列１＝角度３、角度３、角度３、角度２、…」を追加することができる。しかし、上記ステップＳ４１０またはステップＳ４１２において、角度列に新たな角度分類「角度２」が追加される場合、ＣＰＵ８ａは、直前に角度列１に保持されている「角度３、角度３、角度３」７０をクリアした後、角度列１’に示すように、角度分類「角度２」７３を新たに追加する。これにより、後述するジェスチャー生成処理において、角度分類「角度２」を優先してジェスチャー判定を行うことができる。
【００４７】
一方、上記ステップＳ４０８において、読み出した座標データの属性が「MOVE」でない場合（ステップＳ４０８、ＮＯ）、ＣＰＵ８ａは、ジェスチャー生成処理をサブルーチンで実行する（ステップＳ４１４）。図９は、ジェスチャー生成処理のフローチャートの一例を示す図である。
【００４８】
ＣＰＵ８ａは、角度列の半分以上が「角度０」であるとき（ステップＳ８０１、ＹＥＳ）、「角度０」の個数が所定の個数（Ｎ個）以上であれば（ステップＳ８０２、ＹＥＳ）、コード「Ｇ１３」で識別されるジェスチャー（長押し、図２Ｅ）を出力する（ステップＳ８１３）。一方、ＣＰＵ８ａは、「角度０」の個数が所定の個数（Ｎ個）未満であれば（ステップＳ８０２、ＮＯ）、コード「Ｇ１２」で識別されるジェスチャー（短押し、図２Ｅ）を出力する（ステップＳ８１２）。なお、ジェスチャーを識別するコードは、マイコンボード８からメインＥＣＵ３に出力される。
【００４９】
一方、ＣＰＵ８ａは、角度列の半分以上が「角度０」でないとき（ステップＳ８０１、ＮＯ）、角度列に含まれる各角度分類が、「角度５」、「角度４」、「角度３」、「角度２」、「角度１」の順であれば（ステップＳ８０３、ＹＥＳ）、コード「Ｇ１０」で識別されるジェスチャー（右回転、図２Ｅ）を出力する（ステップＳ８１０）。
【００５０】
また、ＣＰＵ８ａは、角度列に含まれる各角度分類が、「角度１」、「角度２」、「角度３」、「角度４」、「角度５」の順であれば（ステップＳ８０４、ＹＥＳ）、コード「Ｇ１１」で識別されるジェスチャー（左回転、図２Ｅ）を出力する（ステップＳ８１１）。
【００５１】
また、ＣＰＵ８ａは、角度列に含まれる各角度分類が、「角度８」、「角度２」の順であれば（ステップＳ８０５、ＹＥＳ）、コード「Ｇ９」で識別されるジェスチャー（レ点、図２Ｅ）を出力する（ステップＳ８０９）。
【００５２】
また、上記ステップＳ８０１〜Ｓ８０５のいずれにも該当しない場合、ＣＰＵ８ａは、角度列に含まれる各角度分類から多数決で代表の角度分類を決定し、この角度分類に対応するジェスチャーを識別するコード（Ｇ１〜Ｇ８のいずれか１つ。）を出力する（ステップＳ８０８）。
【００５３】
なお、ＣＰＵ８ａは、角度列に含まれる各角度分類から多数決で代表の角度分類を決定する場合においては、「座標読出し回数が１００の倍数である場合」または「座標読出し回数が１０の倍数である場合」に生成された角度分類を優先して代表の角度分類を決定する。例えば、図８において「角度列１’＝角度２、角度３」である場合に代表の角度分類を決定する場合、「角度２」が「座標読出し回数が１００の倍数である場合」または「座標読出し回数が１０の倍数である場合」に生成された角度分類であれば、「角度２」に所定の重みを付けて優先的に選択する。
【００５４】
以上により、マイコンボード８からメインＥＣＵ３に、所定時間毎（例えば５０ｍｓ毎）にジェスチャーを識別するコードが出力され、メインＥＣＵ３は、ジェスチャーに基づく各種の処理を実行する。
【００５５】
図１の機能ブロック図に示した「座標データ取得部」は、一例として、図５のステップＳ４０３の処理機能を含む。「第１の角度分類生成部」は、一例として、図５のステップＳ４１３の処理機能を含む。「第２の角度分類生成部」は、一例として、図５のステップＳ４１０またはＳ４１２の処理機能を含む。「ジェスチャー判定部」は、一例として、図５のステップＳ４１４または図９のステップＳ８０１〜８０６の処理機能を含む。
【００５６】
［２．その他の実施形態］
［２−１．変形例］
(1)上記第１の実施形態においては、角度列をクリアする処理をステップＳ４１０およびステップＳ４１２において行う構成としたが、ステップＳ４１０およびステップＳ４１２に代えて、角度列をクリアする処理をジェスチャー生成処理（図９）において行うようにしてもよい。
【００５７】
(2)上記第１の実施形態においては、角度列をクリアする処理（ステップＳ４１０およびステップＳ４１２）および、角度分類に所定の重みを付けて優先的に選択する処理（ステップＳ８０８）の双方を行う構成としたが、いずれかのみを行うようにしてもよい。この場合、「座標読出し回数が１００の倍数である場合」および「座標読出し回数が１０の倍数である場合」のそれぞれの場合に生成された角度分類の重み付けに差を設けてもよい。例えば、「座標読出し回数が１００の倍数である場合」の角度分類を優先するように重み付けしてもよい。
【００５８】
［２−２．適用範囲］
上記第１の実施形態においては、タッチパネルにユーザが指先等でジェスチャー入力する例を説明したが、座標入力できる装置であればタッチパネル以外の装置を用いてもよい。例えば、タッチパッド、マウス、トラックボール等から入力された座標データに基づいてジェスチャー判定を行ってもよい。
【００５９】
［２−３．各機能ブロックの実現方法］
上記第１の実施形態においては、図１に示す各機能ブロックを、プログラムを実行するＣＰＵの処理によって実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。
【産業上の利用可能性】
【００６０】
本発明は、入力座標に基づいてジェスチャーの判定を行う装置に対して有用である。
【図１】
2011030581.tif 000003
【図２Ａ】
2011030581.tif 000004
【図２Ｂ】
2011030581.tif 000005
【図２Ｃ】
2011030581.tif 000006
【図２Ｄ】
2011030581.tif 000007
【図２Ｅ】
2011030581.tif 000008
【図３】
2011030581.tif 000009
【図４Ａ】
2011030581.tif 000010
【図４Ｂ】
2011030581.tif 000011
【図５】
2011030581.tif 000012
【図６】
2011030581.tif 000013
【図７】
2011030581.tif 000014
【図８】
2011030581.tif 000015
【図９】
2011030581.tif 000016
【図１０Ａ】
2011030581.tif 000017
【図１０Ｂ】
2011030581.tif 000018
【図１０Ｃ】
2011030581.tif 000019
【手続補正書】
【提出日】平成24年3月1日(2012.3.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザが行うジェスチャーを判定するジェスチャー判定装置であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定装置。
【請求項２】
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第１の角度分類を考慮せずにジェスチャーを判定する、請求項１に記載のジェスチャー判定装置。
【請求項３】
前記第２の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記重複期間において生成された第２の角度分類に所定の重み付けを行ってジェスチャーを判定する、請求項１または２に記載のジェスチャー判定装置。
【請求項４】
前記座標データを所定個数取得する毎に、前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定する、請求項１〜３のいずれか一項に記載のジェスチャー判定装置。
【請求項５】
前記座標データに基づいて、前記第２の時間間隔よりも長い第３の時間間隔毎に第３の角度分類を生成する第３の角度分類生成部をさらに備え、
前記ジェスチャー判定部は、前記第１の角度分類、前記第２の角度分類および／または前記第３の角度分類に基づいてジェスチャーを判定するものであり、
前記第３の角度分類を生成した対象期間と、前記第１の角度分類を生成した対象期間または前記第２の角度分類を生成した対象期間との間に重複期間が存在する場合は、前記第１の角度分類または前記第２の角度分類よりも前記第３の角度分類を優先させてジェスチャーを判定する、請求項１〜４のいずれか一項に記載のジェスチャー判定装置。
【請求項６】
ユーザが行うジェスチャーを判定するジェスチャー判定装置を、コンピュータを用いて実現するためのプログラムであって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得処理と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成処理と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成処理と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定処理とを前記コンピュータに実行させ、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定する処理を前記コンピュータに実行させることを特徴とするプログラム。
【請求項７】
ユーザが行うジェスチャーを判定するジェスチャー判定方法であって、
ユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得ステップと、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成ステップと、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成ステップと、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定ステップとを含み、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定することを特徴とするジェスチャー判定方法。
【請求項８】
タッチパネルと、ユーザが行うジェスチャーを判定するジェスチャー判定装置とを少なくとも備えたタッチパネルシステムであって、
ジェスチャー判定装置は、
前記タッチパネルに対するユーザ操作により発生する所定時間毎の座標データを取得する座標データ取得部と、
前記座標データに基づいて、第１の時間間隔毎に第１の角度分類を生成する第１の角度分類生成部と、
前記座標データに基づいて、前記第１の時間間隔よりも長い第２の時間間隔毎に第２の角度分類を生成する第２の角度分類生成部と、
前記第１の角度分類および／または前記第２の角度分類に基づいてジェスチャーを判定するジェスチャー判定部とを備えており、
前記第２の角度分類を生成した対象期間が、前記第１の角度分類を生成した対象期間と重複する場合は、前記第１の角度分類よりも前記第２の角度分類を優先させて前記ジェスチャーを判定するものであることを特徴とするタッチパネルシステム。
【国際調査報告】
2011030581.tif 000020
2011030581.tif 000021
2011030581.tif 000022
2011030581.tif 000023