(57)【要約】  本開示の実施形態は、一般に、ユーザインターフェース（ＵＩ）内の要素を識別するための技術に関し、より具体的には、接触感応性ユーザインターフェース上で選択されたＵＩ要素を決定するための技術、及びそうした技術を使用した、１つ以上の触覚応答の提供に関する。【選択図】図２
2020520517.tif 000002
【特許請求の範囲】
【請求項１】
接触感応性スクリーン上に表示されるグラフィカルユーザインターフェース（ＧＵＩ）の要素を検索するための命令を作成する方法であって、
ＧＵＩ定義を構文解析し、前記構文解析に応答する前記ＧＵＩの要素を識別するステップと、
識別した要素の入力を含むレコードを作成するステップと、
前記識別した要素を類似して位置付けられた要素のグループと関連付けるステップと、
前記識別した要素のレコードをツリー状構造に配置するステップと、
同じグループ内の識別した要素を前記ツリー状構造内で単一の葉に折り畳むステップと、
前記ツリー状構造を最適化するステップと、
前記ツリー状構造に応答する検索命令リストを作成するステップと、を含む、方法。
【請求項２】
前記グループのうちの各グループに応答する１つ以上のグループ検索命令を作成するステップを更に含む、請求項１に記載の方法。
【請求項３】
共通の特徴によって、全ての識別した要素をグループ化するステップと、
前記ツリー状構造を再順序付けして、全ての識別した要素レコードが単一のパス内でトラバースできることを確実にするステップと、
前記再順序付けに応答する冗長又は非効率的な設定を排除するステップと、を更に含む、請求項２に記載の方法。
【請求項４】
前記ツリー状構造の全てのノードをトラバースし、各ノードを訪問したときに、１つ以上の検索命令を、前記訪問したノードに応答する検索命令リストに挿入するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記検索命令リストは、拡張マークアップ言語（extensible markup language、ＸＭＬ）ファイルである、請求項４に記載の方法。
【請求項６】
コンピュータがグラフィカルユーザインターフェース（graphical user interface、ＧＵＩ）の要素を検索するための実行可能命令を作成することを可能にするコンピュータプログラム製品であって、
コンピュータ可読媒体と、
前記コンピュータ可読媒体上のソフトウェア命令であって、前記コンピュータが、以下の動作、すなわち、
ＧＵＩ定義を構文解析し、前記構文解析したＧＵＩ定義に応答する前記ＧＵＩの要素を識別することと、
前記識別した要素の入力を含むレコードを作成することと、
前記識別した要素を類似して位置付けられた要素のグループと関連付けることと、
前記識別した要素の前記レコードをツリー状構造に配置することと、
同じグループ内の識別した要素を前記ツリー状構造内で単一の葉に折り畳むことと、
前記ツリー状構造を最適化することと、
前記ツリー状構造に応答する検索命令リストを作成することと、を行うことを可能にするように適合させる、ソフトウェア命令と、を含む、コンピュータプログラム製品。
【請求項７】
前記ソフトウェア命令は、前記コンピュータを、前記グループのうちの各グループに応答する１つ以上のグループ検索命令を作成する動作を行うことを可能にするように更に適合させる、請求項６に記載のコンピュータプログラム製品。
【請求項８】
前記ソフトウェア命令は、前記コンピュータを、
共通の特徴によって、全ての識別した要素をグループ化することと、
前記ツリー状構造を再順序付けして、全ての識別した要素レコードが単一のパス内でトラバースできることを確実にすることと、
前記再順序付けに応答する前記レコードから、冗長又は非効率的な設定を排除する動作を行えるように更に適合させる、請求項７に記載のコンピュータプログラム製品。
【請求項９】
前記ソフトウェア命令は、前記コンピュータを、前記ツリー状構造の全ての前記ノードをトラバースし、また各ノードを訪問したときに、１つ以上の検索命令を、前記訪問したノードに応答する検索命令リストに挿入する動作を行えるように更に適合させる、請求項８に記載のコンピュータプログラム製品。
【請求項１０】
前記検索命令リストは、拡張マークアップ言語（ＸＭＬ）ファイルである、請求項９に記載のコンピュータプログラム製品。
【請求項１１】
グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたタッチスクリーンに動作可能に結合されたマイクロコントローラであって、
少なくとも１つのプロセッサと、
非一時的記憶媒体に記憶された１つ以上の実行可能命令であって、前記命令は、前記プロセッサによって実行されたときに、前記プロセッサが、
タッチスクリーンにおいて感知したタッチの場所を決定することと、
前記感知したタッチに対応する前記タッチの場所と関連付けられたＧＵＩ要素を識別することと、を行えるように適合させる、１つ以上の実行可能命令と、を含む、マイクロコントローラ。
【請求項１２】
前記命令は、前記プロセッサが、前記識別したＧＵＩ要素に応答するユーザフィードバック応答を識別できるように更に適合させる、請求項１１に記載のマイクロコントローラ。
【請求項１３】
前記命令は、前記プロセッサを、前記識別したＧＵＩ要素と関連付けられた前記ユーザフィードバック応答に応答する１つ以上の制御信号を作成できるように更に適合させる、請求項１２のマイクロコントローラ。
【請求項１４】
前記ユーザフィードバック応答は、触覚応答である、請求項１３に記載のマイクロコントローラ。
【請求項１５】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の１つ以上のアクチュエータを励起するように構成される、請求項１４のマイクロコントローラ。
【請求項１６】
前記タッチと関連付けられた力レベルを決定することを更に含み、前記プロセッサが、前記力レベルに応答する前記１つ以上の制御信号を作成する、請求項１５に記載のマイクロコントローラ。
【請求項１７】
前記１つ以上の実行可能命令は、１つ以上の条件付き検索命令を含み、前記プロセッサによって実行されたときに、前記プロセッサを、
前記タッチの前記場所と前記ＧＵＩの１つ以上の要素の場所と比較することと、
前記比較に応答するＧＵＩ要素を選択することと、
前記選択したＧＵＩ要素に対応する触覚命令及び要素識別子を提供することと、を行えるように適合させる、請求項１１に記載のマイクロコントローラ。
【請求項１８】
前記触覚命令は、前記触覚命令に応答するタッチスクリーン内の１つ以上のアクチュエータを励起するよう触覚ドライバに命令するように構成される、請求項１７に記載のマイクロコントローラ。
【請求項１９】
タッチスクリーンに表示されるグラフィカルユーザインターフェース（ＧＵＩ）の要素を識別する方法であって、
タッチスクリーンにおいて感知したタッチの場所を決定するステップと、
前記場所に応答する１つ以上の検索命令を実行するステップであって、前記１つ以上の検索命令のうちの各検索命令が、ＧＵＩ要素に対応し、実行されたときに検索結果を返すように適合させ、実行するステップと、
前記検索結果に応答するＧＵＩ要素を識別するステップと、を含む、方法。
【請求項２０】
前記識別したＧＵＩ要素に応答するユーザフィードバック応答を識別するステップを更に含む、請求項１９に記載の方法。
【請求項２１】
前記識別したＧＵＩ要素と関連付けられたユーザフィードバック応答に応答する１つ以上の制御信号を作成するステップを更に含む、請求項２０に記載の方法。
【請求項２２】
前記ユーザフィードバック応答は、触覚応答である、請求項２１に記載の方法。
【請求項２３】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の１つ以上のアクチュエータを励起するように構成される、請求項２２に記載の方法。
【請求項２４】
前記タッチと関連付けられた力レベルを決定するステップを更に含み、前記プロセッサが、前記力レベルに応答する前記１つ以上の制御信号を作成する、請求項２３に記載の方法。
【請求項２５】
各検索命令は、前記検索ツリーに応答して挿入されるペイロードを含む、請求項１９に記載の方法。
【請求項２６】
システムであって、
ディスプレイを制御するように構成されたディスプレイサブシステムと、
タッチセンサ及びタッチコントローラを備えるタッチサブシステムであって、前記タッチコントローラが、
タッチセンサにおいて感知したタッチの場所を決定することと、
前記場所及び検索ツリーに応答する１つ以上の検索命令を実行することであって、前記１つ以上の検索命令のうちの各検索命令が、ＧＵＩ要素に対応し、実行されたときに検索結果を返すように適合させ、実行することと、
前記検索結果に応答するＧＵＩ要素を識別することと、
前記識別したＧＵＩ要素に応答する触覚制御メッセージを生成することと、を行うように構成される、タッチサブシステムと、を備える、システム。
【請求項２７】
前記ディスプレイで触覚フィードバックを生成するように構成された触覚フィードバックサブシステムを更に備える、請求項２６に記載のシステム。
【請求項２８】
前記１つ以上の検索命令のうちのいくつかは、前記１つ以上の検索命令のうちの別の検索命令と関連付けられたジャンプ命令を備え、実行されたときに、他の検索命令をロードするように構成される、請求項２６に記載のシステム。
【請求項２９】
前記ジャンプ命令は、前記１つ以上の検索命令がツリー状の順序に実行されることを可能にする、請求項２８に記載のシステム。
【請求項３０】
自動車用ヘッドユニットを更に備える、請求項２６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
（優先権の主張）
本出願は、２０１７年５月１８日に出願された米国特許仮出願第６２／５０７，９０２号の米国特許法１１９（ｅ）条の下での利益を主張するものであり、その開示は、本明細書においてこの参照によりその全体が本明細書に組み込まれる。
【０００２】
（発明の分野）
本開示の実施形態は、一般に、ユーザインターフェース（user interface、ＵＩ）内の要素を識別するための技術に関し、より具体的には、接触感応性ユーザインターフェース上で選択されたＵＩ要素を決定するための技術、及びそうした技術を使用した、１つ以上の触覚応答の提供に関する。
【背景技術】
【０００３】
タッチ感知を組み込んだタッチインターフェースは、例えば、タブレットコンピュータ、パーソナルコンピュータ、スマートフォン、及び他の消費者製品を含む、様々な用途に使用される。タッチインターフェースはまた、自動車、電化製品（例えば、冷蔵庫、オーブン、洗浄器／乾燥機など）、暖房及び空調制御システム、セキュリティシステム、及び現金自動預払機（automatic teller machine、ＡＴＭ）の制御パネルとしても使用される。これらの用途におけるタッチインターフェースは、例えば、タッチパッドとすることができ、又はスクリーン及びグラフィカルユーザインターフェース（graphical user interface、ＧＵＩ）を組み込むことができる。
【０００４】
一般に、数多くの用途で使用するのに十分な応答性及び精度を有するタッチインターフェースへの必要性がある。
【図面の簡単な説明】
【０００５】
本開示の実施形態の目的及び利点は、以下の添付図面と併せて、詳細な説明から当業者に明らかになるであろう。特許又は出願ファイルは、カラーで作成された少なくとも１つの図面を含む。カラー図面を備えた本特許又は特許出願公開のコピーは、要請に応じて、かつ必要な料金を支払うことで特許庁より提供される。
【図１】検索タスクリストを生成及び使用して、ＧＵＩ内の接触したＵＩ要素を識別するプロセスを例示するスイム図である。
【図２】本開示の一実施形態による、検索タスクリストを生成するためのプロセスのフローチャートである。
【図３】本開示の一実施形態による、ＵＩ構成定義からＵＩ要素を抽出するためのプロセスのフローチャートである。
【図４】本開示の一実施形態による、中間検索ツリーを生成するためのプロセスのフローチャートである。
【図５】本開示の一実施形態による、検索タスクツリーを生成するためのプロセスのフローチャートである。
【図６】本開示の一実施形態による、検索タスクリストを生成するためのプロセスのフローチャートである。
【図７】本開示の一実施形態による、ＵＩ要素内でタッチが生じたかどうかを判定するためのプロセスのフローチャートである。
【図８】ＵＩ要素を備える無線ＧＵＩの一実施形態を示す。
【図９】本開示の実施形態に従ってグループ化された、図８の無線ＧＵＩのＵＩ要素を示す。
【図１０】本開示の実施形態に従って形成されたツリー状構造のＵＩ要素を示す。
【図１１】検索タスクリストを組み込んだシステムの一実施形態を示す。
【図１２】無線ＧＵＩのＵＩ要素の少なくともいくつかと関連付けられた特徴及びパラメータを含む無線ＧＵＩの一実施形態を示す。
【図１３】サブシステムとして自動車のヘッドユニットに組み込まれた、図１１のシステムの一実施形態を例示する。
【０００６】
開示
本開示のいくつかの実施形態は、一般に、接触感応性スクリーン上に表示されるグラフィカルユーザインターフェース（ＧＵＩ）の要素を検索するための命令を作成する方法に関する。本方法は、ＧＵＩ定義を構文解析し、構文解析に応答するＧＵＩの要素を識別するステップと、識別した要素の入力を含むレコードを作成するステップと、識別した要素を、類似して位置付けられた要素のグループと関連付けるステップと、識別した要素のレコードをツリー様の構造に配置するステップと、同じグループ内の識別した要素をツリー状構造内で単一の葉に折り畳むステップと、ツリー状構造を最適化するステップと、ツリー状構造に応答する検索命令リストを作成するステップと、を含む。
【０００７】
本開示のいくつかの実施形態は、一般に、コンピュータがグラフィカルユーザインターフェース（ＧＵＩ）の要素を検索可能にするための実行可能命令を作成できるコンピュータプログラム製品に関する。プログラム製品は、コンピュータ可読媒体と、コンピュータ可読媒体上のソフトウェア命令と、を含むことができる。コンピュータ可読媒体上のソフトウェア命令は、コンピュータを、以下の動作、すなわち、ＧＵＩ定義を構文解析し、構文解析したＧＵＩ定義に応答するＧＵＩの要素を識別することと、識別した要素の入力を含むレコードを作成することと、識別した要素を、類似して位置付けられた要素のグループと関連付けることと、識別した要素のレコードをツリー様の構造に配置することと、同じグループ内の識別した要素をツリー状構造内で単一の葉に折り畳むことと、ツリー状構造を最適化することと、ツリー状構造に応答する検索命令リストを作成することと、を行えるように適合させる。
【０００８】
本開示のいくつかの実施形態は、一般に、グラフィカルユーザインターフェース（ＧＵＩ）を表示するように構成されたタッチスクリーンに動作可能に結合されたマイクロコントローラに関する。マイクロコントローラは、少なくとも１つのプロセッサと、非一時的記憶媒体に記憶された１つ以上の実行可能命令と、を含む。この命令は、プロセッサによって実行されたときに、プロセッサが、タッチスクリーンにおいて感知したタッチの場所を決定することと、感知したタッチに対応するタッチの場所と関連付けられたＧＵＩ要素を識別することと、を行えるように適合させる。
【０００９】
本開示のいくつかの実施形態は、一般に、タッチスクリーンに表示されるグラフィカルユーザインターフェース（ＧＵＩ）の要素を識別する方法に関する。本方法は、タッチスクリーンにおいて感知したタッチの場所を決定するステップと、その場所に対応する１つ以上の検索命令を実行するステップであって、１つ以上の検索命令のうちの各検索命令が、ＧＵＩ要素に対応し、実行されたときに検索結果を返すように適合させ、検索結果に対応するＧＵＩ要素を識別するステップと、を含む。
【００１０】
本開示のいくつかの実施形態は、一般に、システムに関する。本システムは、ディスプレイサブシステムと、タッチサブシステムと、を備える。ディスプレイサブシステムは、ディスプレイを制御するように構成される。タッチサブシステムは、タッチセンサと、タッチコントローラと、を備える。タッチコントローラは、タッチセンサで感知したタッチの場所を決定することと、場所及び検索ツリーに対応する１つ以上の検索命令を実行することであって、１つ以上の検索命令のうちの各検索命令が、ＧＵＩ要素に対応し、実行されたときに検索結果を返すように適合させ、検索結果に対応するＧＵＩ要素を識別することと、識別したＧＵＩ要素に対応する触覚制御メッセージを生成することと、を行うように構成される。
【発明を実施するための形態】
【００１１】
以下の詳細な説明では、本明細書の一部をなし、本開示を実施し得る実施形態の具体例を例示として示す添付の図面を参照する。これらの実施形態は、当業者が本開示を実施できるように十分に詳細に説明される。しかしながら、他の実施形態が用いられ得、本開示の範囲から逸脱することなく、構造、材料、及びプロセスの変更が行われ得る。本明細書に提示する図は、任意の特定の方法、システム、デバイス、又は構造の実際の図であることを意図するものではなく、本開示の実施形態を説明するために用いられる理想化した表現にすぎない。本明細書に提示する図面は、必ずしも縮尺どおりに描かれていない。様々な図面における類似の構造又は構成要素は、読者の便宜のために同一又は類似の付番を保持し得る。しかしながら、付番における類似性は、構造又は構成要素が必ずしも同一のサイズ、組成、構成、又は任意の他の特性であることを意味するものではない。
【００１２】
本明細書で一般に説明され、図面に例示される実施形態の構成要素は、多種多様な異なる構成で配設及び設計され得ることが容易に理解されるであろう。したがって、様々な実施形態の以下の説明は、本開示の範囲を限定することを目的とするものではなく、単に種々の実施形態を表すものである。実施形態の様々な態様が図面に提示され得るが、図面は、具体的に指示されていない限り、必ずしも尺度どおりに描かれていない。
【００１３】
以下の説明は、当業者が開示される実施形態を実施可能にするのを補助するための実施例を含み得る。用語「例示的な」、「例として」、「例えば」の使用は、関連する説明が、説明的なものであることを意味し、本開示の範囲は、実施例及び法的等価物を包含することを意図するものであり、かかる用語の使用は、実施形態又は本開示の範囲を特定の構成要素、ステップ、特徴、機能などに限定することを意図するものではない。
【００１４】
更に、図示し、説明する具体的な実装形態は、単なる例であり、本明細書において別段の指定がない限り、本開示を実施する唯一の方法と解釈されるべきでない。要素、回路、及び機能は、不要に詳述して本開示を不明瞭にしないように、ブロック図の形態に示され得る。逆に、図示し、説明する具体的な実装形態は、単に例示的なものであり、本明細書において別段の指定がない限り、本開示を実施する唯一の方法と解釈されるべきではない。更に、様々なブロック間での論理のブロック定義及びパーティショニングは、例示的な具体的な実装形態である。当業者には、本開示が多数の他のパーティショニングソリューションによって実施され得ることが容易に明らかになるであろう。大部分については、タイミングの考察などに関する詳細は省略されており、かかる詳細は、本開示の完全な理解を得るために必要ではなく、当業者の能力の範囲内である。
【００１５】
当業者であれば、情報及び信号は、様々な異なる技術及び技法のいずれかを使用して表され得ることを理解するであろう。例えば、本明細書を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、記号、及びチップは、電圧、電流、電磁波、磁場若しくは粒子、光場若しくは粒子、又はこれらの任意の組み合わせによって表されてもよい。いくつかの図面は、表示及び説明を明確にするために、単一の信号として信号を例示してもよい。当業者は、信号が信号のバスを表し得、このバスは様々なビット幅を有してもよく、本開示は、単一のデータ信号を含む任意の数のデータ信号で実施され得ることを理解するであろう。
【００１６】
本明細書に開示する実施形態に関連して記載する様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、専用プロセッサ、デジタル信号プロセッサ（Digital Signal Processor、ＤＳＰ）、特定用途向け集積回路（Application Specific Integrated Circuit、ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（Field Programmable Gate Array、ＦＰＧＡ）若しくは他のプログラマブル論理デバイス、別個のゲート若しくはトランジスタ論理、別個のハードウェア構成要素、又は本明細書に記載の機能を実行するように設計されている、これらの任意の組み合わせを用いて実施され得る、又は実行され得る。汎用プロセッサ（本明細書では、ホストプロセッサ又は単にホストとも称され得る）は、マイクロプロセッサであってもよいが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械でもあってもよい。プロセッサはまた、ＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと組み合わせた１つ以上のマイクロプロセッサ、又は任意の他のかかる構成の組み合わせとして実装されてもよい。プロセッサを備える汎用コンピュータは専用コンピュータとみなされ、汎用コンピュータは、本開示の実施形態に関連するコンピューティング命令（例えば、ソフトウェアコード）を実行するように構成されている。
【００１７】
実施形態は、フローチャート、フロー図、構造図、又はブロック図として示すプロセスに関して説明され得る。フローチャートは、順次プロセスとして動作行為を説明し得るが、これらの行為の多くは、別の順序で、並行して、又は実質的に同時に実行できる。加えて、行為の順序は再調整され得る。プロセスは、方法、スレッド、機能、手順、サブルーチン、サブプログラムなどに対応し得る。更に、本明細書に開示する方法は、ハードウェア、ソフトウェア、又はその両方において実施され得る。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の１つ以上の命令又はコードとして記憶されてもよく、又は送信されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体及びコンピュータプログラムのある場所から別の場所への転送を容易にする任意の媒体など通信媒体の両方を備える。
【００１８】
「第１」、「第２」などの表記を使用した、本明細書の要素に対する任意の言及は、かかる制限が明示的に記載されていない限り、それらの要素の数量又は順序を限定しない。むしろ、これらの表記は、本明細書において、２つ以上の要素又は要素の例を区別する便利な方法として使用され得る。したがって、第１の要素及び第２の要素への言及は、２つの要素のみが用いられ得ること、又は何らかの方法で第１の要素が第２の要素に先行しなければならないことを意味するものではない。加えて、特に明記しない限り、要素のセットは、１つ以上の要素を含んでよい。
【００１９】
本明細書で使用されるとき、所与のパラメータ、特性、又は条件に言及する際の用語「実質的に（substantially）」は、所与のパラメータ、特性、又は条件が、例えば許容可能な製造許容差の範囲内などの、小さいばらつきを満たすことを当業者が理解するであろう程度を意味し、かつ含む。一例として、実質的に満たされる特定のパラメータ、特性、又は条件に応じて、パラメータ、特性、又は条件は、少なくとも９０％満たされ得るか、少なくとも９５％満たされ得るか、更には少なくとも９９％満たされ得る。
【００２０】
本開示で説明される様々な実施形態は、一般に、接触感応性ユーザインターフェース上で選択されたＵＩ要素を決定するための技法、及びそうした技法を使用して、１つ以上の触覚応答を提供することに関する。本明細書で説明される実施形態を理解する目的で、接触センサは、タッチインターフェースのタッチ領域と接触する物体（指又はスタイラスなど）に、又はこのタッチ領域に対する物体の近接性に対応することができる。本開示では、「接触」は、一般に、物体と接触感応性領域との物理的接触を指すが、接触センサによって計測可能な対応を生成する、物体の近接性も包含し得る。更に、接触感応性領域は、接触センサが物体の接触に対応することができる、タッチインターフェース上の物理的領域を指す。
【００２１】
接触感応性ＧＵＩは、本明細書で使用するとき、ＧＵＩと統合されたタッチインターフェースを指す。例えば、ＧＵＩは、典型的に、１つ以上のディスプレイ領域と、アクティブ／アクティブ化可能領域と、を含む。本開示において、ディスプレイ領域は、情報をユーザに表示するユーザインターフェースの領域である。アクティブ化可能領域は、ユーザがユーザインターフェースに対していくつかのアクションをとることができる、ボタン、スライダ、又はメニューなどのＧＵＩの領域である。いくつかのディスプレイ領域はまた、情報を表示し、いくつかのアクションをとることができるアクティブ化可能領域でもある。接触感応性ＧＵＩでは、アクティブ領域が表示されるタッチ感応性領域に接触する（例えば、タッチスクリーン上のＧＵＩボタンをタップする）ことで、その領域を起動させることができる。アクティブ領域は、全ての様々な形状及びサイズの、例えばボタン、スライダ、選択可能ペイン、メニューなどのＧＵＩ要素／オブジェクトとして表示することができる。
【００２２】
一般に、接触感応性領域で接触が感知された場合、プロセスを使用して、該当する場合に接触に対応するＧＵＩのアクティブ領域を決定する。例えば、「入力」ボタンがタップされた場合、接触が測定され、測定した接触に対応して、プロセスは、その接触が入力ボタンであったと判定する。入力ボタンは、アクティブ領域であるので、タッチ感応性ＧＵＩ及び／又はＧＵＩを起動する基礎をなすアプリケーションプログラムにおいて、イベントが作成される。
【００２３】
更に、特定のＧＵＩ要素がアクティブ領域と関連付けられている場合は、タッチインターフェースと統合されたアクチュエータが、一般に触覚応答と称される１つ以上の物理的応答を提供することができる。これらは力、振動、又は移動の形態とすることができ、また、表面テクスチャ、リッジ、エッジ、ボタンを押す／クリックするような相互作用、並びに他のシミュレーションした感覚及び応答を模倣することができる。ＧＵＩの場合、触覚応答は、ユーザが相互作用するＧＵＩ要素にローカライズすることができる。例えば、ユーザがＧＵＩボタンにタッチした場合、触覚応答は、あたかもボタンが押されたかのように、又は粗いテクスチャを有するように、エッジが隆起したボタンの感触をもたらすことができる。
【００２４】
本明細書で説明される様々な実施形態は、電子レコードを作成及び更新することを指す場合がある。電子レコードは、データファイルの形態とすることができ、電子レコードを更新することは、データ入力をレコードの１つ以上のフィールドに挿入又は削除することを含むことができる。代替的に、実行時には、記載されたレコードと一致する状態情報及び変数を有するクラスオブジェクト及びインスタンス化されたオブジェクトを指すことができる。どちらの状況も、本明細書で説明される様々な実施形態において想到される。
【００２５】
本開示の様々な実施形態は、接触感応性インターフェース上で接触したＧＵＩ要素を識別するための技法に関する。これらの技法及び関連する構造は、メモリ使用及び応答性に関して特に効率的である。更に、他の技法と比較すると、インターフェースデータ記憶装置要件が少なく、ＵＩ要素を識別するための実行時間に行われるタスクの数がわずかである。
【００２６】
本開示のいくつかの実施形態は、接触感応性インターフェース上で接触したＧＵＩ要素を識別するために行うことができる、最適化された検索タスクのリストを作成するための方法に関する。検索タスクは、プロセッサ実行可能命令とすることができ、この命令は、実行されたときに、該当する場合、接触したＧＵＩの要素を検索しているサブシステムに成功又は失敗メッセージを返す。一実施形態では、検索タスクは、ＧＵＩ内の様々な要素及びその要素の場所をマップする定義ファイルに基づいて作成される。検索タスクは、様々な効率パラメータのために最適化される。
【００２７】
一実施形態では、検索タスクリストは、ディスプレイサブシステム（例えば、自動車用ヘッドユニット）内の検索を行うことができる、本開示の発明者らに知られている従来の接触感応性ＧＵＩと比較して、埋め込みデバイス、例えばタッチコントローラによって実行することができる。タッチコントローラ内のＧＵＩ要素の検索を行うことは、ディスプレイサブシステムと通信する時間、並びにサブシステムが、例えば触覚フィードバックサブシステムと反応及び通信する時間を節約する。節約される時間は、従来の接触感応性ＧＵＩと比較して、接触感応性ＧＵＩの応答性を向上させ、また、ユーザの観点から、ユーザがスクリーンにタッチしたときから、ユーザがタッチに応答するフィードバックを受信したときまでの時間を短縮する。
【００２８】
更に、タスク検索リストの作成は、構成可能であり、ＧＵＩに応じて、共通の特徴のセットを、特定の用途のために最適化された実施のために選択することができる。例えば、いくつかの実施形態では、作成プロセスは、他のＧＵＩ要素、特定の形状の要素、又はＧＵＩ要素に接触したときに移動若しくは変形する要素を隠すページング、ドロップダウンメニュー、及びポップアップウインドウを含むＧＵＩのために最適化することができる。
【００２９】
図１は、本開示の様々な実施形態による、システムの全体的な動作を例示する。動作１１２で、ソフトウェアアプリケーションツール１０２は、ＵＩ定義ファイルを処理して、該当する場合に接触感応性スクリーンに接触したＵＩ要素を識別するために行うことができる、条件付き実行可能命令の検索タスクリストを作成する（動作１０８）ように構成される。
【００３０】
検索タスクリストは、タッチシステムの一部である１つ以上のプロセッサによってアクセス可能である、非一時的格納メモリに記憶することができる（動作１１０）。タッチインターフェースで接触イベントが発生したときに、タッチセンサ１０６はタッチを検出し（動作１１８）、タッチプロセッサに対するタッチを表す１つ以上の信号を提供することができる。タッチプロセッサ１０４は、接触が発生したタッチインターフェース上の場所を決定し（動作１１２）、該当する場合に、その決定に応答する、接触したＵＩ要素を検索し（動作１１４）、識別する。一実施形態では、タッチプロセッサ１０４は、検索結果をグラフィカルユーザインターフェースサブシステムに提供することができる（動作１１６）。
【００３１】
検索タスクリストを作成するためのプロセスの一実施形態を、図２、図３、図４、図５、図６、及び図７を参照して説明する。本開示の実施形態は、ツリー及びグリッド技法に従ってＵＩ要素を編成する、検索ツリー状構造を利用する。様々なＵＩ要素が、グリッドのように扱われる関連グループに分割され、検索ツリーに編成され、次いで、様々な検索タスクが生成される。検索タスクは、命令を使用して検索の実行を最適化するように条件付けられる。当業者は、他のアルゴリズム、例えば分割統治法を使用して、スクリーン（複数可）が検索可能領域に分割され得ることを理解するであろう。
【００３２】
図２は、検索タスクリストを生成するプロセスの一実施形態を例示する。動作２０２で、ＵＩの構造定義をロード及び構文解析し、スクリーン、サブスクリーン、並びにスクリーン及びサブスクリーン上のＵＩ要素を識別する。ＵＩ構成定義は、電子ファイル、データベース、生データなどであり得る。動作２０４で、要素をグループ化し、検索可能な領域を、要素グループを有する１つ以上の検索可能領域に分割する。動作２０６で、検索可能な領域に基づいて、グループをツリー状構造にリンクする。動作２０８で、検索タスクを検索ツリーの枝及びノードと関連付けて、検索ツリーを形成し、検索ツリーを最適化する。動作２１０で、検索ツリーの条件付きタスクを、プロセッサによって実行することができるタスクリストであるリストに記憶する。
【００３３】
一実施形態では、検索タスクリストを生成するソフトウェアアプリケーションツール１０２は、動作２０２、２０４、２０６、２０８、及び２１０のうちの１つ以上の結果を出力ファイルに書き込むように構成することができる。この出力ファイルは、デバッグツールによって使用されて、プロセスの結果をレビューすることができる。同じデバッグツールを、検索タスクリストのテキストバージョンを使用し、それを（例えば、ｄｏｓ実行可能な）仮想試験環境内で実行して、検索タスクリストが動作準備完了していることを検証するように構成することができる。
【００３４】
図３は、ＵＩ要素をＵＩ構成定義から抽出するための方法３００の一実施形態を例示する。一実施形態では、ＵＩ構成定義は、アプリケーションツールの構成生成特徴によって変換されるディスプレイの一部のｘｍｌ定義である。アプリケーションツールは、構造定義を構文解析し、定義構造で定義された要素をグラブする。動作３０２で、各ＵＩ要素をロードし、動作３０４で、このＵＩ要素が既知のＵＩ要素であるかどうかを判定する。既知のＵＩ要素でない（すなわち、この要素が構造定義で識別されたのが初めてである）場合、動作３０６で、プロセスは、そのタイプのＵＩ要素（例えば、ボタン、ノブ、スライダなど）の新しい要素定義を作成する。新しい定義を作成した後に、又は要素が既知のＵＩ要素である場合は、動作３０８で、要素を既存のグループに割り当てるかどうかを判定する。一実施形態では、既存のグループに割り当てるかどうかの判定は、様々な所定のパラメータ、例えば、要素のタイプ、ＵＩ要素が表示されるスクリーン、層の位置、要素と関連付けられた応答のタイプ（例えば、視覚、触覚、音声など）などの、要素の共通の特徴に基づく。要素を新しいグループに割り当てると判定する場合は、動作３１０で、要素に関連するパラメータを有する新しいグループレコードを作成する。新しいグループレコードを作成した後に、又は要素を既存のグループに割り当てると判定する場合は、動作３１２で、新しい要素の入力をその新しい要素のグループレコードに挿入する。一実施形態では、入力は、要素ＩＤのフィールドと、要素の場所（すなわち、スクリーン上の要素の座標）と、を含む。動作３１４で、更なるＵＩ要素があるかどうかを判定し、更なるＵＩ要素がある場合は、ＵＩ構成定義で識別された残りの各ＵＩ要素についてプロセスを実行する。動作３１６で、プロセスは、要素（複数可）、要素定義（複数可）、及びグループ（複数可）を返す。
【００３５】
図３に例示されていない一実施形態では、ＵＩ構成定義が１つを超えるスクリーン定義を含む場合は、そのような各スクリーンにＵＩ要素のパラメータであるスクリーンＩＤを割り当てる。また、各グループのパラメータとしても組み込むことができる。各スクリーンはまた、表示されたＧＵＩの定義された領域であるサブスクリーンも含むことができ、その中では、いくつかのＵＩ要素が動的に変化するが、そうした領域外にあるＵＩ要素は、変化しないままである。非限定的な例として、動的要素を有する領域としては、スワップ可能ペイン、スクロール可能メニュー、活性可能情報ペイン、ナビゲーションボタンなどが挙げられる。
【００３６】
図４は、本開示の一実施形態による、検索ツリーを作成するためのプロセス４００を例示する。このプロセスでは、ＵＩ定義内で識別された各スクリーンを検索可能領域にどのように分割するかに関する決定を行い、各検索可能領域は、１つ以上の要素のグループを含む。図４に示されるプロセスの実施形態では、要素のグループを分割する分割線（ｘ座標、ｙ座標）が選択され、よって、少なくとも１つのグループが分割線の一方の側にあり、少なくとも１つの他のグループが分割線の他方の側にある。事実上、スクリーンは、この時点で、分割線沿った共有境界線によって、２つの検索可能領域に分割される。グループを更に分割することができなくなるまで、グループは、再帰的な様態で分割される。
【００３７】
別の実施形態では、スクリーン又は検索可能領域は、ｘ座標及びｙ座標方向に同時に分割され、これは、最高４つのグループのサブ分割をもたらし得る。この技法はまた、４つ未満のサブ分割、例えば、３つのグループの分割及び１つの空の検索可能領域をもたらすこともができる。
【００３８】
更に他の実施形態では、スクリーンの一部分が検索可能領域にサブ分割されないように、円形、正方形、及び／又は多角形を使用して、その一部分を検索可能領域から除外するように定義することができる。
【００３９】
図４に示されるプロセスを通して進めると、動作４０２で、２つ以上のグループを有する第１の検索可能領域をロードする。第１の繰り返しの場合、これは、全てのグループを含むスクリーン全体でなければならない。この実施形態では、初期検索可能領域レコードは、全ての要素及びグループを含む、スクリーン全体を包含するように定義された領域と共に存在する。動作４０４で、初期検索可能領域を、それぞれがグループのうちのいくつかを有する２つの検索可能領域に分割する、グリッド線を選択する。動作４０６で、新しいレコードを作成し、グループを初期レコードと新しいレコードとの間でソートし、これらのレコードをそれぞれの検索可能地域と共に更新する。分割線は、２つの検索可能領域のスプリット／ディビジョンとして記録される。第１の検索可能領域並びにその中のグループ及び要素は、ディビジョンにリンクされ、次にこれが新しい検索可能領域並びにその中のグループ及び要素にリンクされる。実行時には、要素のクラスオブジェクト、グループのクラスオブジェクト、及びスプリット／ディビジョンのクラスオブジェクトが存在する。
【００４０】
１つを超える要素のグループを含む各検索可能領域の場合は、プロセスを再帰的に実行して（動作４０８）、検索可能領域を分割する。
【００４１】
特に、一実施形態では、要素は、要素の定義（例えば、要素ＩＤ）及び本実施形態では要素の原点への移動に対する参照によって定義されるが、各要素を個々に定義する必要がないので、インターフェースメモリ要件を低減させる。
【００４２】
スクリーンが完全に分割されると、この時点で、ディビジョン／スプリット、ＵＩ要素及びＵＩ要素のグループ、並びにそれらの間のリンクを含む中間検索ツリーが存在する。
【００４３】
動作４１０で、各グループについてグループレベル検索タスクを作成する。グループレベルタスクは、プロセス工程又は一連のプロセス工程である。このタスクは、（ｉ）タッチ又は接触イベントがＵＩ要素内で（又は要素外で）発生したかどうかを判定するためのタスク、（ｉｉ）何らかの方法で検索領域を修正するためのタスク、及び（ｉｉｉ）次のタスクを準備するためのタスク、を含むことができる。
【００４４】
各グループレベルタスクは、成功又は失敗が生じた場合に行われるべき次のタスクの指示を含むことができる。例えば、各タスクは、次のタスクアドレスへの「オフセット」を有するビットを含むことができる。更に、各グループレベルタスクは、それが実行されるときに引数を受け取ることができる。いくつかの実施形態では、以前のタスクは、引数を提供することができ、又はどの引数を次のタスクに利用できるかを示すための環境ビット／フラグを設定することができる。
【００４５】
一実施形態では、グループ座標（位置角）のオフセットを使用して、インデックスを生成することができる。検索可能領域内のあらゆる要素は、構成された場合に、検索可能領域のベースＩＤからインデックスだけオフセットされた異なるＩＤを割り当てることができる。結果は、要素ＩＤ及びオフセット値である。応答（例えば、触覚）又は要素ＩＤのいずれかを修正するための別々のプロビジョンが存在する−よって、あるグループ要素は、単一の要素ＩＤであるが、多数の応答ＩＤを返し得、別のものは、いくつかの要素の違いについて１つの応答ＩＤを返し得る。
【００４６】
グループレベル検索タスクは、グループレコードに挿入すること、検索タスクリストに挿入すること、又は中間レコードに挿入することができる。グループレベル検索タスクが完了すると、動作４１２で、中間検索ツリーを返す。
【００４７】
図４に例示されていないが、一実施形態では、各タスクについて環境変数を設定することができ、この環境変数は、該当する場合、タスクが実行される場合に、タスクが成功する場合に、及び最終タスクである場合に何を返すのかを示す。非限定的な例として、環境変数は、触覚ＩＤ、グループ形状内の要素について要素ＩＤ及び触覚ＩＤをどのように修正するのかを制御する値、などであり得る。また、次のタスクの説明を付随させるために送信されるべきデータを示す、環境フラグも設定することができる。特定の制約及び正しい環境変数を使用することで、例えば円の定義を７バイトから２バイトに低減させることができる。
【００４８】
図５は、中間検索ツリーに対して行われる最適化プロセス５００の一実施形態を例示する。動作５０４で、共通の特徴によって全ての要素をグループ化する。共通の特徴の例としては、要素タイプ、層内の位置、別の層内の別の要素に対する位置（例えば、全てが同じ要素の背面にある）、ディスプレイグループ、形状などが挙げられる。一実施形態では、共通の特徴を選択して、検索プロセスを最適化することができる。例えば、検索ツリーの最上部の最上層に要素を有する層位置によって要素がグループ化される場合は、それらが最初に検索される。別の例として、「ページング」が存在する（すなわち、ユーザインターフェースの層をスワイプして、下部の層を露出させること、又はある層を別の層の上に被せることができる）アプリケーションにおいて、ディスプレイグループによるグループ化は、単一の制御を使用して全てのディスプレイ要素を制御すること−例えば、ディスプレイグループ内の全ての要素を検索すること、制御設定に応答する要素に変更を適用すること、ディスプレイグループ内の全ての要素をオン又はオフにすること、など−を可能にする。様々な実施形態では、例えば層ＩＤ、位置ＩＤ、形状ＩＤなどの識別子を使用して、共通の特徴によって編成されたグループを識別することができる。
【００４９】
動作５０６で、検索タスクを、各要素の検索ツリーに挿入し、分割して、中間検索タスクツリーを形成する。動作５０８で、各タスクについて、中間検索タスクツリーを再順序付けして、単一の通過を確実にする。動作５１０で、冗長又は非効率的な検索タスクを排除する。動作５１２で、最適化された検索タスクツリーを返す。
【００５０】
図６は、検索タスクリストを作成するためのプロセス６００の一実施形態を例示する。動作６０２で、検索タスクツリーのクラスオブジェクトをロードし、動作６０４で、命令語（すなわち、検索タスク）をクラスオブジェクトから作成し、命令語（すなわち、検索タスク）を検索タスクリストに挿入する。図６に示される実施形態では、命令語は、タスクコードフィールドと、ジャンプフィールドと、を含む。一実施形態では、命令は、データフィールドを含む。あらゆる失敗（すなわち、要素が異なる）及びあらゆる分割は、次のタスクがメモリ内の現在のタスクの直後でない限り、別の命令へのジャンプを必要とする。動作６０６で、タスクコードをタスクコードフィールドに挿入し、動作６０８で、ジャンプ値をジャンプフィールドに挿入する。
【００５１】
いくつかの実施形態では、全てのタスクが検索タスクリストに挿入されるまで、ジャンプ値の一部又は全部を挿入しない。他の実施形態では、検索タスクツリーからジャンプ値を推定することができる。
【００５２】
動作６１０で、検索タスクリストの様々なタスクをメモリ内で連結して、全てのオブジェクトがリスト内にある場合に（動作６１２）動作６１４のプロセスによって返される、条件付き検索タスクリストを形成する。検索タスクリスト及び検索ツリーは、メモリに記憶することができる。
【００５３】
タスク命令は、検索タスクリストが実装される特定の環境において利用可能なコンテナサイズ制限（すなわち、バイト制限）によって変動し得る。一実施形態では、各タスク命令と関連付けられたデータは、命令インターフェース要件（８ビット、１２ビットの、１６ビットなど）、利用可能なメモリなどを備えるシステム条件に応じて変動し得る。非限定的な例として、八角形のＵＩ要素内で検索するという命令は、単にｘ座標及びｙ座標データ、並びに辺の数によって行うことができる。しかしながら、命令インターフェース及び他のメモリ要件が許可する場合は、追加データを含むことができる。
【００５４】
図７は、本開示の一実施形態による、ＵＩ要素内でタッチが発生したかどうかを判定するための検索プロセスを例示する。検索ツリーの検索は、提供されたデータ及び検索タスクリストを使用して行われる。動作７０２で、各タスクの実行可能命令を、各タスクのペイロードデータと共にプロセッサのインターフェースに連続的に提供し、動作７０４で実行する。検索ツリーを検索するときに、動作７０６で、ＵＩ要素内でタッチが発生したかどうかを判定し、各タスクの結果は、ＵＩ要素内でタッチが発生したかどうかを示す、真／偽、成功／失敗である。動作７０８で、プロセッサによって、現在のタスクが成功であるという結果に応答する次のタスク命令及び関連データをロード及び受信する。すなわち、動作７０６の結果が成功である場合、タスクリスト内の次のタスクが実行される。
【００５５】
結果が失敗である場合、プロセッサによって、結果に応答する代替のタスク命令及び関連データをロード及び受信する。代替のタスクが存在する場合（動作７１４）、動作７１６で、代替のタスク場所を供給し、プロセスループの動作７０２に戻り、プロセッサの代替の場所からタスクをロードする。検索が終わるとき、ＵＩ要素は、発見又は未発見のいずれかである。ＵＩ要素が発見される場合、動作７１０で、発見の結果を返し、動作７１２で、その要素のＩＤ、並びに任意の環境設定／応答性パラメータを返す。動作が発見されない場合、動作７２０で、未発見の結果を返す。
【００５６】
一実施形態では、図７に示される検索プロセスは、タッチでプロセッサ（マイクロコントローラ）で実行するファームウェアアプリケーションとすることができる。タッチプロセッサは、フラッシュメモリに記憶した検索プロセスによって実行される１つ以上の検索タスクを有することができる。一実施形態では、検索タスクは、ディスプレイコントローラと関連付けられたＲＡＭに記憶することができ、検索タスクは、設定又はプロビジョニングプロセス中にタッチプロセッサに提供され、検索プロセスにアクセスできる状態に保つことができる。
【００５７】
この時点で、発明者らは、説明される実施形態が代替的な手法に勝る複数の利点を提供することを理解する。メモリ要件が大幅に−線形検索、ピュアグリッド法、又はピュア検索ツリー方法から最高５０％−低減され、それでも、組み合わせグリッド／ツリー法を超えて改善される。これは、一部には、行われる検索動作の数が低減されるからである。検索動作の数が低減されるので、応答サイクルは、代替的な手法（従来の方法を含む）よりも大幅に短くなる。例えば、１２００×１２００の接触感応性ＧＵＩに関して、７２μｓ（ピュアグリッド）〜１２００μｓ（線形）の範囲であった代替的な手法と比較して、３６μｓ未満のサイクル時間を達成した。この違いは、ユーザにとって極めて高い応答性のタッチインターフェースである。このタッチインターフェースは、設計者にとって、異なる応答特性を有する数多くの要素を有して、より高度化することができる。
【００５８】
図８、図９、及び図１０は、本開示の実施形態と共に使用することができるＧＵＩの１つの非限定的な例として、ラジオ用途のＧＵＩに関連して図２〜図７を参照して例示及び説明したプロセスを例示する。図８に例示されるラジオＧＵＩ８１０は、表８２０に要約される、８種類のＵＩ要素と、合計１４４のＵＩ要素と、を含む。
【００５９】
図９は、図３を参照して説明した方法に従ってグループ化したＵＩ要素を示す。この実施形態では、グループ化した要素８３２、８３４、８３６、８３８、８４０、８４２、８４４、８４６、及び８４８は、類似するタッチ特性（例えば、タッチに応答する触覚フィードバック）、スクリーン上の物理的な場所、及び形状を有する。
【００６０】
図１０は、図４を参照して説明したツリー及びグリッド法を使用して形成したツリー状構造８５０の一実施例を示す。
【００６１】
図１１は、本開示の一実施形態による、本明細書で説明される検索方法を実施することができるシステム１０００及び関連するツール１０４０を例示する。システム１０００は、ＧＵＩ要素のためのＧＵＩ要素検索機能１０１２及び応答判定１０１４をその上に有する、マイクロコントローラファームウェア１０１０を含む。マイクロコントローラファームウェア１０１０を実行するプロセッサは、マイクロコントローラファームウェア１０１０から制御信号を受け取ることができ、続いて、接触感応性インターフェース１０２０の応答を駆動することができる応答ドライバ１０１８に結合される。一実施形態では、接触感応性インターフェース１０２０は、１つ以上のアクチュエータを備えるタッチスクリーンであり、応答ドライバ１０１８は、アクチュエータを励起する制御信号を生成するように構成された触覚ドライバである。感知回路１０２２は、接触感応性インターフェース１０２０での接触に応答して、１つ以上の測定信号を生成することができる。接触測定及び処理１０１６は、検知回路１０２２からの測定信号に応答して、接触情報（例えば、場所、タイプなど）を決定し、この接触情報を、応答決定１０１４及びＧＵＩ要素検索機能１０１２に提供することができる。応答ドライバ１０１８で受信した制御信号は、例えば、接触情報に少なくとも部分的に基づくことができ、よって、触覚フィードバックが、接触感応性インターフェース１０２０上の右側の場所に提供される。
【００６２】
また、図１１には、ツール１０４０も示され、このツールは、本開示の一実施形態によって、検索リスト生成プロセスを実施し、要素検索タスクリスト及び要素応答情報を作成することができる。検索リスト作成アプリケーションプログラム１０４４は、図２〜図６を参照して説明したプロセス、ＧＵＩ定義ＸＡＭＬファイル１０４２を実施して、要素検索タスクリストを生成するように構成される。アプリケーション１０４４は、要素検索タスクリスト１０４６及び要素応答情報１０４８をファイルとしてマイクロコントローラファームウェア１０１０に提供することができる。一実施形態では、このアプリケーションはまた、検索タスクに組み込むことができるが、検索ツリーも提供することができる。
【００６３】
ファームウェアの１つ以上の実施形態では、ファームウェアは、タッチイベントに関する力レベル情報を組み込むための、力測定及び処理機能を含むことができる。そうした実施形態では、要素検索機能によって返される力レベル情報及びＧＵＩ要素ＩＤ及び触覚応答の詳細は、触覚シーケンサを使用して、この力レベル、ＧＵＩ要素ＩＤ、及び触覚応答の詳細に応答する触覚制御信号を生成することができる。
【００６４】
図１１のシステムは、自動車を含む、タッチインターフェース及びタッチ制御パネルを利用する様々な消費者製品、電化製品、及び機械に組み込むことができる。
【００６５】
図１２は、自動車用タッチ制御パネルのラジオＧＵＩ１２１０の簡略化バージョンを例示する。３つの領域は、具体的には、領域１、領域２、及び領域３と称する。領域１は、温度調節のための回転ダイヤル１２１４の中央のボタン１２１２である。強い力レベルを有するタッチイベントに応答する、触覚プロファイルＩＤ＃４（振動）による触覚フィードバックが提供される。領域２は、同じく温度調節のための回転ダイヤル１２１４である。弱い力レベルを有するタッチイベントに応答する、触覚プロファイルＩＤ＃３（摩擦）による触覚フィードバックが提供される。最後に、領域３は、自動車設定のためのメニューを提示するためのボタン１２１６である。強い力レベルを有するタッチイベントに応答する、触覚プロファイルＩＤ＃２（クリック）による触覚フィードバックが提供され、弱い力レベルを有するタッチイベントに応答する、触覚プロファイルＩＤ＃３（摩擦）による触覚フィードバックが提供される。
【００６６】
図１３は、ヘッドユニット１３１０によって命令される自動車用制御に組み込まれた図１１のシステム及び図１２のＧＵＩを例示し、ヘッドユニット１３１０の触覚効果は、マイクロコントローラによって制御される。この実施形態では、タッチコントローラ１３２０及び形状検索機能１３２４は、自動車サブシステムの一部であり、自動車用ヘッドユニット１３１０は、ヘッドユニットの処理回路の直接的な介入を伴わずに、触覚フィードバックによってタッチに応答する。タッチコントローラ１３２０は、タッチ位置及び力レベル情報から、タッチされたスクリーンボタンを識別し、触覚効果をトリガするためのボタン位置を含む、タッチ状態機械を動作させるように構成される。
【００６７】
この実施形態では、力処理１３２６及びタッチ処理１３２２は、１つのコントローラ構成要素に統合され、ヘッドユニットスクリーン１３３２は、タッチコントローラ１３２０によって直接起動され、触覚デバイス１３５０によって行われる触覚効果の範囲を導き出すためにそれぞれ必要とされる、いくつかの幾何学的オブジェクト記述の定義（スクリーンディスプレイ設計１３３６、及び検索ツリー定義１３３８）を含む。
【００６８】
例えば、ディスプレイ１３３０のタッチの後に、タッチコントローラ１３２０は、力処理１３２６及びタッチ処理１３２２からの力情報及びタッチ情報を受信する。この情報は、力測定及びディスプレイ上のタッチ位置を含むことができる。形状検索１３２４は、該当する場合、タッチが発生したディスプレイ１３３０に表示されるＵＩ要素に対応するＵＩ要素情報を提供する。ディスプレイ上の場所に対応するいかなるＵＩ要素も存在しない場合、形状検索１３２４は、ヌルの検索結果を提供する。ＵＩ要素の形状情報を検索する間、形状検索１３２４は、ヘッドユニット１３１０に記憶した定義を使用することができる。一実施形態では、形状検索１３２４は、プロビジョニングプロセス中に、例えば、タッチコントローラ１３２０がヘッドユニット１３１０と統合されるときに、又はヘッドユニット１３１０の電源がオンになるときに、定義を受信することができる。形状検索１３２４が、ＵＩ要素を識別する場合、触覚制御１３２８によって触覚情報を使用して、触覚効果及び触覚効果の位置を含む触覚デバイス１３５０に、触覚起動メッセージを送信する。触覚起動メッセージは、触覚効果（例えば、弱、中、強）のレベルを表すパラメータを含むことができる。触覚デバイス１３５０は、触覚デバイスに記憶した触覚ライブラリ１３５２内の触覚効果定義を検索する。触覚デバイス１３５０は、次いで、ディスプレイの特定の領域が要求された触覚効果を呈するように、ディスプレイ１３３０のアクチュエータを制御する。特に、異なる触覚デバイスは、異なる触覚ライブラリを有し得るので、効果は、デバイス間で異なり得る。
【００６９】
この実施形態では、ＧＵＩ定義は、グラフィカルユーザインターフェースのためのＸＭＬ実装であるＸＡＭＬファイルである。ＸＡＭＬファイルは、ＧＵＩのＵＩのスクリーン要素のための描画命令の階層構造リストを含む。ＸＡＭＬファイルには、ＧＵＩ要素と関連付けられたタグが存在する。例えば、「Ｗｉｄｔｈ」、「Ｈｅｉｇｈｔ」、及び「Ｈｏｒｉｚｏｎｔａｌ  Ａｌｉｇｎｍｅｎｔ」は全て、特定要素の有効なタグである。
【００７０】
本明細書に記載の機能ユニットの多くは、それらの実施独立性をより具体的に強調するために、モジュール、スレッド、又はプログラミングコードの他のセグリゲーションとして図示、説明、又は標識化されてもよい。モジュールは、ある形態又は別の形態で、少なくとも部分的にハードウェアに実装されてもよい。例えば、モジュールは、カスタムＶＬＳＩ回路又はゲートアレイ、ロジックチップ、トランジスタ、又は他の別個の構成要素などの既製の半導体を備えるハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理デバイスなどプログラマブルハードウェアデバイスに実装されてもよい。
【００７１】
モジュールはまた、様々な種類のプロセッサによる実行のために、物理記憶デバイス（例えば、コンピュータ可読記憶媒体）、メモリ、又はそれらの組み合わせに記憶されたソフトウェア又はファームウェアを使用して実装されてもよい。
【００７２】
実行可能コードの識別されたモジュールは、例えば、例えば、スレッド、オブジェクト、プロシージャ、又は関数として編成され得るコンピュータ命令の１つ以上の物理ブロック又は論理ブロックを含んでよい。それにもかかわらず、実行可能な識別されたモジュールは、物理的に一緒に位置付けられる必要はないが、論理的に一緒に結合されたときにモジュールを備え、モジュールの規定の目的を達成する、異なる場所に記憶された異なる命令を含んでよい。
【００７３】
実際に、実行可能コードのモジュールは、単一の命令、又は多くの命令であってよく、異なるプログラムの間のいくつかの異なるコードセグメントにわたって、またいくつかの記憶装置又はメモリデバイスにわたって分散されてもよい。同様に、動作データは、モジュール内で識別され、本明細書に例示されてよく、任意の好適な形態で具現化され、任意の好適な種類のデータ構造内で編成されてもよい。動作データは、単一のデータセットとして収集されてもよく、又は異なる記憶デバイスにわたって異なる場所に分散されてもよく、少なくとも部分的には、単にシステム又はネットワーク上の電子信号として存在してもよい。モジュール又はモジュールの一部がソフトウェアに実装される場合、このソフトウェア部分は、本明細書でコンピュータ可読媒体と称される１つ以上の物理デバイスに記憶される。
【００７４】
いくつかの実施形態では、このソフトウェア部分は、このソフトウェア部分又はその表現がある期間にわたって同一の物理的位置に存続するように、非一時的状態で記憶される。更に、いくつかの実施形態では、このソフトウェア部分は、非一時的状態及び／又はこのソフトウェア部分を表す信号を記憶できるハードウェア要素を備える１つ以上の非一時的記憶デバイスに記憶される。ただし、非一時的記憶デバイスの他の部分は、信号の変更及び／又は送信を実行し得る。非一時的記憶デバイスの例としては、フラッシュメモリ及びランダムアクセスメモリ（random-access-memory、ＲＡＭ）が挙げられる。非一時的記憶デバイスの別の例としては、ある期間にわたって、このソフトウェア部分を表す信号及び／又は状態を記憶できるリードオンリーメモリ（read-only memory、ＲＯＭ）が挙げられる。しかしながら、信号及び／又は状態を記憶する能力は、記憶された信号及び／又は状態と同一である、又はこれらを表す信号を送信する更なる機能によって低下しない。例えば、プロセッサは、対応するソフトウェア命令を実行するために、ＲＯＭにアクセスして記憶された信号及び／又は状態を表す信号を取得し得る。
【００７５】
実用レベルで、コンピュータシステムが、本明細書に記載の動作を行うことを可能にするソフトウェアは、様々な媒体のうちのいずれか１つに供給することができる。更に、本発明の手法及び動作の実際の実施は、実際には、コンピュータ言語で書かれたステートメントである。かかるコンピュータ言語ステートメントは、コンピュータによって実行されたときに、コンピュータをステートメントの特定のコンテンツに従って作用させる。更に、コンピュータシステムが本発明に従って作用することを可能にするソフトウェアは、元のソースコード、アセンブリコード、オブジェクトコード、マシン語、これらの圧縮又は暗号化バージョン、並びに任意の、及び全ての等価物が挙げられるが、これらに限定されない、任意の数の形態で提供することができる。
【００７６】
当業者は、本明細書で使用されるときに、「媒体」又は「コンピュータ可読媒体」は、ディスケット、テープ、コンパクトディスク、集積回路、ＲＯＭ、ＣＤ、ＤＶＤ、ＢＬＵ−ＲＡＹ、カートリッジ、フラッシュメモリ、メモリスティック、若しくはカード、又は既知の若しくは今後開発されるものを備える、コンピュータによって使用可能な任意の他の非破壊記憶媒体を備えることができることを認識するであろう。
【００７７】
実際的なソフトウェアは、ディスクに「書き込まれ」得る、集積回路に「具現化され」得る、通信回路を通じて「搬送され」得る、メモリチップに「記憶され」得る、又はキャッシュメモリに「ロードされ」得るが、本出願の目的のために、ソフトウェアは、単にコンピュータ可読媒体「内に」又は「上に」あると称されることが認識されるであろう。したがって、用語「内に」又は「上に」は、ソフトウェアをコンピュータ可読媒体と関連付けることができる、上で述べた、及び全ての等価かつ可能な方法を包含することを意図する。
【００７８】
簡潔にするために、故に、用語「コンピュータプログラム製品」は、したがって、上で定義したようなコンピュータ可読媒体を指すために使用され、この媒体は、コンピュータシステムが本発明の任意の実施形態に従って作動することを可能にする任意の形態のソフトウェアを有する。
【００７９】
本開示は、特定の例示される実施形態に関して本明細書に記載されているが、当業者は、本発明がそのように限定されないことを認識し、理解するであろう。むしろ、以下にそれらの法的等価物と共に特許請求されるような本発明の範囲から逸脱することなく、例示され、説明される実施形態に対して数多くの追加、削除、及び修正を行うことができる。加えて、ある実施形態の特徴は、本発明者らによって想到されるように、別の開示した実施形態の特徴と組み合わせることができるが、それでも、本開示の範囲内に包含される。
【図１】
2020520517.tif 000003
【図２】
2020520517.tif 000004
【図３】
2020520517.tif 000005
【図４】
2020520517.tif 000006
【図５】
2020520517.tif 000007
【図６】
2020520517.tif 000008
【図７】
2020520517.tif 000009
【図８】
2020520517.tif 000010
【図９】
2020520517.tif 000011
【図１０】
2020520517.tif 000012
【図１１】
2020520517.tif 000013
【図１２】
2020520517.tif 000014
【図１３】
2020520517.tif 000015
【国際調査報告】
2020520517.tif 000016
2020520517.tif 000017
2020520517.tif 000018
2020520517.tif 000019
2020520517.tif 000020