(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023078134
(43)【公開日】2023-06-06
(54)【発明の名称】ユーザインターフェース要素を識別するための技術及びその技術を使用するシステム及びデバイス
(51)【国際特許分類】
G06F 3/0484 20220101AFI20230530BHJP
G06F 3/01 20060101ALI20230530BHJP
G06F 16/28 20190101ALI20230530BHJP
【FI】
G06F3/0484
G06F3/01 560
G06F16/28
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023024278
(22)【出願日】2023-02-20
(62)【分割の表示】P 2019563413の分割
【原出願日】2018-05-18
(31)【優先権主張番号】62/507,902
(32)【優先日】2017-05-18
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Blu-ray
(71)【出願人】
【識別番号】519318188
【氏名又は名称】アトメル コーポレイション
(74)【代理人】
【識別番号】110000626
【氏名又は名称】弁理士法人英知国際特許商標事務所
(72)【発明者】
【氏名】リッデル、ウイリアム
(72)【発明者】
【氏名】クレメンツ、ポール
(72)【発明者】
【氏名】ソウヘ、トーマス
(57)【要約】 (修正有)
【課題】接触感応性ユーザインターフェース上で選択されたUI要素を決定するマイクロコントローラ、プログラム及び1つ以上の触覚応答の方法を提供する。
【解決手段】マイクロコントローラによるプロセスは、タッチスクリーンにおいて感知したタッチの場所を決定し、タッチの場所と関連付けられたGUI(グラフィカルユーザインターフェース)要素を識別するために、決定された場所に応答する条件付き実行可能命令のリストとして記憶された1つ以上の検索命令を実行する。各検索命令は、GUIの要素に対応し、順序付けられた1つ以上の命令と同じ連続した順序で実行され、実行されたときに検索結果を返す。また、識別されたGUIの要素に応答するユーザフィードバック応答に応答する制御信号を作成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
接触感応性スクリーン上に表示されるグラフィカルユーザインターフェース(GUI)の要素を検索するための命令を作成する方法であって、
GUI定義を構文解析し、前記構文解析に応答する前記GUIの要素を識別するステップと、
識別した要素の入力を含むレコードを作成するステップと、
前記識別した要素を類似して位置付けられた要素のグループと関連付けるステップと、
前記識別した要素のレコードをツリー状構造に配置するステップと、
同じグループ内の識別した要素を前記ツリー状構造内で単一の葉に折り畳むステップと、
前記ツリー状構造を最適化するステップと、
前記ツリー状構造に応答する検索命令リストを作成するステップと、を含む、方法。
【請求項2】
前記グループのうちの各グループに応答する1つ以上のグループ検索命令を作成するステップを更に含む、請求項1に記載の方法。
【請求項3】
共通の特徴によって、全ての識別した要素をグループ化するステップと、
前記ツリー状構造を再順序付けして、全ての識別した要素レコードが単一のパス内でトラバースできることを確実にするステップと、
前記再順序付けに応答する冗長又は非効率的な設定を排除するステップと、を更に含む、請求項2に記載の方法。
【請求項4】
前記ツリー状構造の全てのノードをトラバースし、各ノードを訪問したときに、1つ以上の検索命令を、前記訪問したノードに応答する検索命令リストに挿入するステップを更に含む、請求項3に記載の方法。
【請求項5】
前記検索命令リストは、拡張マークアップ言語(extensible markup language、XML)ファイルである、請求項4に記載の方法。
【請求項6】
コンピュータがグラフィカルユーザインターフェース(graphical user interface、GUI)の要素を検索するための実行可能命令を作成することを可能にするコンピュータプログラム製品であって、
コンピュータ可読媒体と、
前記コンピュータ可読媒体上のソフトウェア命令であって、前記コンピュータが、以下の動作、すなわち、
GUI定義を構文解析し、前記構文解析したGUI定義に応答する前記GUIの要素を識別することと、
前記識別した要素の入力を含むレコードを作成することと、
前記識別した要素を類似して位置付けられた要素のグループと関連付けることと、
前記識別した要素の前記レコードをツリー状構造に配置することと、
同じグループ内の識別した要素を前記ツリー状構造内で単一の葉に折り畳むことと、
前記ツリー状構造を最適化することと、
前記ツリー状構造に応答する検索命令リストを作成することと、を行うことを可能にするように適合させる、ソフトウェア命令と、を含む、コンピュータプログラム製品。
【請求項7】
前記ソフトウェア命令は、前記コンピュータを、前記グループのうちの各グループに応答する1つ以上のグループ検索命令を作成する動作を行うことを可能にするように更に適合させる、請求項6に記載のコンピュータプログラム製品。
【請求項8】
前記ソフトウェア命令は、前記コンピュータを、
共通の特徴によって、全ての識別した要素をグループ化することと、
前記ツリー状構造を再順序付けして、全ての識別した要素レコードが単一のパス内でトラバースできることを確実にすることと、
前記再順序付けに応答する前記レコードから、冗長又は非効率的な設定を排除する動作を行えるように更に適合させる、請求項7に記載のコンピュータプログラム製品。
【請求項9】
前記ソフトウェア命令は、前記コンピュータを、前記ツリー状構造の全ての前記ノードをトラバースし、また各ノードを訪問したときに、1つ以上の検索命令を、前記訪問したノードに応答する検索命令リストに挿入する動作を行えるように更に適合させる、請求項8に記載のコンピュータプログラム製品。
【請求項10】
前記検索命令リストは、拡張マークアップ言語(XML)ファイルである、請求項9に記載のコンピュータプログラム製品。
【請求項11】
グラフィカルユーザインターフェース(GUI)を表示するように構成されたタッチスクリーンに動作可能に結合されたマイクロコントローラであって、
少なくとも1つのプロセッサと、
非一時的記憶媒体に記憶された1つ以上の実行可能命令であって、前記命令は、前記プロセッサによって実行されたときに、前記プロセッサが、
タッチスクリーンにおいて感知したタッチの場所を決定することと、
前記感知したタッチに対応する前記タッチの場所と関連付けられたGUI要素を識別することと、を行えるように適合させる、1つ以上の実行可能命令と、を含む、マイクロコントローラ。
【請求項12】
前記命令は、前記プロセッサが、前記識別したGUI要素に応答するユーザフィードバック応答を識別できるように更に適合させる、請求項11に記載のマイクロコントローラ。
【請求項13】
前記命令は、前記プロセッサを、前記識別したGUI要素と関連付けられた前記ユーザフィードバック応答に応答する1つ以上の制御信号を作成できるように更に適合させる、請求項12のマイクロコントローラ。
【請求項14】
前記ユーザフィードバック応答は、触覚応答である、請求項13に記載のマイクロコントローラ。
【請求項15】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の1つ以上のアクチュエータを励起するように構成される、請求項14のマイクロコントローラ。
【請求項16】
前記タッチと関連付けられた力レベルを決定することを更に含み、前記プロセッサが、前記力レベルに応答する前記1つ以上の制御信号を作成する、請求項15に記載のマイクロコントローラ。
【請求項17】
前記1つ以上の実行可能命令は、1つ以上の条件付き検索命令を含み、前記プロセッサによって実行されたときに、前記プロセッサを、
前記タッチの前記場所と前記GUIの1つ以上の要素の場所と比較することと、
前記比較に応答するGUI要素を選択することと、
前記選択したGUI要素に対応する触覚命令及び要素識別子を提供することと、を行えるように適合させる、請求項11に記載のマイクロコントローラ。
【請求項18】
前記触覚命令は、前記触覚命令に応答するタッチスクリーン内の1つ以上のアクチュエータを励起するよう触覚ドライバに命令するように構成される、請求項17に記載のマイクロコントローラ。
【請求項19】
タッチスクリーンに表示されるグラフィカルユーザインターフェース(GUI)の要素を識別する方法であって、
タッチスクリーンにおいて感知したタッチの場所を決定するステップと、
前記場所に応答する1つ以上の検索命令を実行するステップであって、前記1つ以上の検索命令のうちの各検索命令が、GUI要素に対応し、実行されたときに検索結果を返すように適合させ、実行するステップと、
前記検索結果に応答するGUI要素を識別するステップと、を含む、方法。
【請求項20】
前記識別したGUI要素に応答するユーザフィードバック応答を識別するステップを更に含む、請求項19に記載の方法。
【請求項21】
前記識別したGUI要素と関連付けられたユーザフィードバック応答に応答する1つ以上の制御信号を作成するステップを更に含む、請求項20に記載の方法。
【請求項22】
前記ユーザフィードバック応答は、触覚応答である、請求項21に記載の方法。
【請求項23】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の1つ以上のアクチュエータを励起するように構成される、請求項22に記載の方法。
【請求項24】
前記タッチと関連付けられた力レベルを決定するステップを更に含み、前記プロセッサが、前記力レベルに応答する前記1つ以上の制御信号を作成する、請求項23に記載の方法。
【請求項25】
各検索命令は、前記検索ツリーに応答して挿入されるペイロードを含む、請求項19に記載の方法。
【請求項26】
システムであって、
ディスプレイを制御するように構成されたディスプレイサブシステムと、
タッチセンサ及びタッチコントローラを備えるタッチサブシステムであって、前記タッチコントローラが、
タッチセンサにおいて感知したタッチの場所を決定することと、
前記場所及び検索ツリーに応答する1つ以上の検索命令を実行することであって、前記1つ以上の検索命令のうちの各検索命令が、GUI要素に対応し、実行されたときに検索結果を返すように適合させ、実行することと、
前記検索結果に応答するGUI要素を識別することと、
前記識別したGUI要素に応答する触覚制御メッセージを生成することと、を行うように構成される、タッチサブシステムと、を備える、システム。
【請求項27】
前記ディスプレイで触覚フィードバックを生成するように構成された触覚フィードバックサブシステムを更に備える、請求項26に記載のシステム。
【請求項28】
前記1つ以上の検索命令のうちのいくつかは、前記1つ以上の検索命令のうちの別の検索命令と関連付けられたジャンプ命令を備え、実行されたときに、他の検索命令をロードするように構成される、請求項26に記載のシステム。
【請求項29】
前記ジャンプ命令は、前記1つ以上の検索命令がツリー状の順序に実行されることを可能にする、請求項28に記載のシステム。
【請求項30】
自動車用ヘッドユニットを更に備える、請求項26に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(優先権の主張)
本出願は、2017年5月18日に出願された米国特許仮出願第62/507,902号の米国特許法119(e)条の下での利益を主張するものであり、その開示は、本明細書においてこの参照によりその全体が本明細書に組み込まれる。
【0002】
(発明の分野)
本開示の実施形態は、一般に、ユーザインターフェース(user interface、UI)内の要素を識別するための技術に関し、より具体的には、接触感応性ユーザインターフェース上で選択されたUI要素を決定するための技術、及びそうした技術を使用した、1つ以上の触覚応答の提供に関する。
【背景技術】
【0003】
タッチ感知を組み込んだタッチインターフェースは、例えば、タブレットコンピュータ、パーソナルコンピュータ、スマートフォン、及び他の消費者製品を含む、様々な用途に使用される。タッチインターフェースはまた、自動車、電化製品(例えば、冷蔵庫、オーブン、洗浄器/乾燥機など)、暖房及び空調制御システム、セキュリティシステム、及び現金自動預払機(automatic teller machine、ATM)の制御パネルとしても使用される。これらの用途におけるタッチインターフェースは、例えば、タッチパッドとすることができ、又はスクリーン及びグラフィカルユーザインターフェース(graphical user interface、GUI)を組み込むことができる。
【0004】
一般に、数多くの用途で使用するのに十分な応答性及び精度を有するタッチインターフェースへの必要性がある。
【図面の簡単な説明】
【0005】
本開示の実施形態の目的及び利点は、以下の添付図面と併せて、詳細な説明から当業者に明らかになるであろう。特許又は出願ファイルは、カラーで作成された少なくとも1つの図面を含む。カラー図面を備えた本特許又は特許出願公開のコピーは、要請に応じて、かつ必要な料金を支払うことで特許庁より提供される。
【
図1】検索タスクリストを生成及び使用して、GUI内の接触したUI要素を識別するプロセスを例示するスイム図である。
【
図2】本開示の一実施形態による、検索タスクリストを生成するためのプロセスのフローチャートである。
【
図3】本開示の一実施形態による、UI構成定義からUI要素を抽出するためのプロセスのフローチャートである。
【
図4】本開示の一実施形態による、中間検索ツリーを生成するためのプロセスのフローチャートである。
【
図5】本開示の一実施形態による、検索タスクツリーを生成するためのプロセスのフローチャートである。
【
図6】本開示の一実施形態による、検索タスクリストを生成するためのプロセスのフローチャートである。
【
図7】本開示の一実施形態による、UI要素内でタッチが生じたかどうかを判定するためのプロセスのフローチャートである。
【
図8】UI要素を備える無線GUIの一実施形態を示す。
【
図9】本開示の実施形態に従ってグループ化された、
図8の無線GUIのUI要素を示す。
【
図10】本開示の実施形態に従って形成されたツリー状構造のUI要素を示す。
【
図11】検索タスクリストを組み込んだシステムの一実施形態を示す。
【
図12】無線GUIのUI要素の少なくともいくつかと関連付けられた特徴及びパラメータを含む無線GUIの一実施形態を示す。
【
図13】サブシステムとして自動車のヘッドユニットに組み込まれた、
図11のシステムの一実施形態を例示する。
【0006】
開示
本開示のいくつかの実施形態は、一般に、接触感応性スクリーン上に表示されるグラフィカルユーザインターフェース(GUI)の要素を検索するための命令を作成する方法に関する。本方法は、GUI定義を構文解析し、構文解析に応答するGUIの要素を識別するステップと、識別した要素の入力を含むレコードを作成するステップと、識別した要素を、類似して位置付けられた要素のグループと関連付けるステップと、識別した要素のレコードをツリー様の構造に配置するステップと、同じグループ内の識別した要素をツリー状構造内で単一の葉に折り畳むステップと、ツリー状構造を最適化するステップと、ツリー状構造に応答する検索命令リストを作成するステップと、を含む。
【0007】
本開示のいくつかの実施形態は、一般に、コンピュータがグラフィカルユーザインターフェース(GUI)の要素を検索可能にするための実行可能命令を作成できるコンピュータプログラム製品に関する。プログラム製品は、コンピュータ可読媒体と、コンピュータ可読媒体上のソフトウェア命令と、を含むことができる。コンピュータ可読媒体上のソフトウェア命令は、コンピュータを、以下の動作、すなわち、GUI定義を構文解析し、構文解析したGUI定義に応答するGUIの要素を識別することと、識別した要素の入力を含むレコードを作成することと、識別した要素を、類似して位置付けられた要素のグループと関連付けることと、識別した要素のレコードをツリー様の構造に配置することと、同じグループ内の識別した要素をツリー状構造内で単一の葉に折り畳むことと、ツリー状構造を最適化することと、ツリー状構造に応答する検索命令リストを作成することと、を行えるように適合させる。
【0008】
本開示のいくつかの実施形態は、一般に、グラフィカルユーザインターフェース(GUI)を表示するように構成されたタッチスクリーンに動作可能に結合されたマイクロコントローラに関する。マイクロコントローラは、少なくとも1つのプロセッサと、非一時的記憶媒体に記憶された1つ以上の実行可能命令と、を含む。この命令は、プロセッサによって実行されたときに、プロセッサが、タッチスクリーンにおいて感知したタッチの場所を決定することと、感知したタッチに対応するタッチの場所と関連付けられたGUI要素を識別することと、を行えるように適合させる。
【0009】
本開示のいくつかの実施形態は、一般に、タッチスクリーンに表示されるグラフィカルユーザインターフェース(GUI)の要素を識別する方法に関する。本方法は、タッチスクリーンにおいて感知したタッチの場所を決定するステップと、その場所に対応する1つ以上の検索命令を実行するステップであって、1つ以上の検索命令のうちの各検索命令が、GUI要素に対応し、実行されたときに検索結果を返すように適合させ、検索結果に対応するGUI要素を識別するステップと、を含む。
【0010】
本開示のいくつかの実施形態は、一般に、システムに関する。本システムは、ディスプレイサブシステムと、タッチサブシステムと、を備える。ディスプレイサブシステムは、ディスプレイを制御するように構成される。タッチサブシステムは、タッチセンサと、タッチコントローラと、を備える。タッチコントローラは、タッチセンサで感知したタッチの場所を決定することと、場所及び検索ツリーに対応する1つ以上の検索命令を実行することであって、1つ以上の検索命令のうちの各検索命令が、GUI要素に対応し、実行されたときに検索結果を返すように適合させ、検索結果に対応するGUI要素を識別することと、識別したGUI要素に対応する触覚制御メッセージを生成することと、を行うように構成される。
【発明を実施するための形態】
【0011】
以下の詳細な説明では、本明細書の一部をなし、本開示を実施し得る実施形態の具体例を例示として示す添付の図面を参照する。これらの実施形態は、当業者が本開示を実施できるように十分に詳細に説明される。しかしながら、他の実施形態が用いられ得、本開示の範囲から逸脱することなく、構造、材料、及びプロセスの変更が行われ得る。本明細書に提示する図は、任意の特定の方法、システム、デバイス、又は構造の実際の図であることを意図するものではなく、本開示の実施形態を説明するために用いられる理想化した表現にすぎない。本明細書に提示する図面は、必ずしも縮尺どおりに描かれていない。様々な図面における類似の構造又は構成要素は、読者の便宜のために同一又は類似の付番を保持し得る。しかしながら、付番における類似性は、構造又は構成要素が必ずしも同一のサイズ、組成、構成、又は任意の他の特性であることを意味するものではない。
【0012】
本明細書で一般に説明され、図面に例示される実施形態の構成要素は、多種多様な異なる構成で配設及び設計され得ることが容易に理解されるであろう。したがって、様々な実施形態の以下の説明は、本開示の範囲を限定することを目的とするものではなく、単に種々の実施形態を表すものである。実施形態の様々な態様が図面に提示され得るが、図面は、具体的に指示されていない限り、必ずしも尺度どおりに描かれていない。
【0013】
以下の説明は、当業者が開示される実施形態を実施可能にするのを補助するための実施例を含み得る。用語「例示的な」、「例として」、「例えば」の使用は、関連する説明が、説明的なものであることを意味し、本開示の範囲は、実施例及び法的等価物を包含することを意図するものであり、かかる用語の使用は、実施形態又は本開示の範囲を特定の構成要素、ステップ、特徴、機能などに限定することを意図するものではない。
【0014】
更に、図示し、説明する具体的な実装形態は、単なる例であり、本明細書において別段の指定がない限り、本開示を実施する唯一の方法と解釈されるべきでない。要素、回路、及び機能は、不要に詳述して本開示を不明瞭にしないように、ブロック図の形態に示され得る。逆に、図示し、説明する具体的な実装形態は、単に例示的なものであり、本明細書において別段の指定がない限り、本開示を実施する唯一の方法と解釈されるべきではない。更に、様々なブロック間での論理のブロック定義及びパーティショニングは、例示的な具体的な実装形態である。当業者には、本開示が多数の他のパーティショニングソリューションによって実施され得ることが容易に明らかになるであろう。大部分については、タイミングの考察などに関する詳細は省略されており、かかる詳細は、本開示の完全な理解を得るために必要ではなく、当業者の能力の範囲内である。
【0015】
当業者であれば、情報及び信号は、様々な異なる技術及び技法のいずれかを使用して表され得ることを理解するであろう。例えば、本明細書を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、記号、及びチップは、電圧、電流、電磁波、磁場若しくは粒子、光場若しくは粒子、又はこれらの任意の組み合わせによって表されてもよい。いくつかの図面は、表示及び説明を明確にするために、単一の信号として信号を例示してもよい。当業者は、信号が信号のバスを表し得、このバスは様々なビット幅を有してもよく、本開示は、単一のデータ信号を含む任意の数のデータ信号で実施され得ることを理解するであろう。
【0016】
本明細書に開示する実施形態に関連して記載する様々な例示的な論理ブロック、モジュール、及び回路は、汎用プロセッサ、専用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)若しくは他のプログラマブル論理デバイス、別個のゲート若しくはトランジスタ論理、別個のハードウェア構成要素、又は本明細書に記載の機能を実行するように設計されている、これらの任意の組み合わせを用いて実施され得る、又は実行され得る。汎用プロセッサ(本明細書では、ホストプロセッサ又は単にホストとも称され得る)は、マイクロプロセッサであってもよいが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又は状態機械でもあってもよい。プロセッサはまた、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、又は任意の他のかかる構成の組み合わせとして実装されてもよい。プロセッサを備える汎用コンピュータは専用コンピュータとみなされ、汎用コンピュータは、本開示の実施形態に関連するコンピューティング命令(例えば、ソフトウェアコード)を実行するように構成されている。
【0017】
実施形態は、フローチャート、フロー図、構造図、又はブロック図として示すプロセスに関して説明され得る。フローチャートは、順次プロセスとして動作行為を説明し得るが、これらの行為の多くは、別の順序で、並行して、又は実質的に同時に実行できる。加えて、行為の順序は再調整され得る。プロセスは、方法、スレッド、機能、手順、サブルーチン、サブプログラムなどに対応し得る。更に、本明細書に開示する方法は、ハードウェア、ソフトウェア、又はその両方において実施され得る。ソフトウェアで実施される場合、機能は、コンピュータ可読媒体上の1つ以上の命令又はコードとして記憶されてもよく、又は送信されてもよい。コンピュータ可読媒体は、コンピュータ記憶媒体及びコンピュータプログラムのある場所から別の場所への転送を容易にする任意の媒体など通信媒体の両方を備える。
【0018】
「第1」、「第2」などの表記を使用した、本明細書の要素に対する任意の言及は、かかる制限が明示的に記載されていない限り、それらの要素の数量又は順序を限定しない。むしろ、これらの表記は、本明細書において、2つ以上の要素又は要素の例を区別する便利な方法として使用され得る。したがって、第1の要素及び第2の要素への言及は、2つの要素のみが用いられ得ること、又は何らかの方法で第1の要素が第2の要素に先行しなければならないことを意味するものではない。加えて、特に明記しない限り、要素のセットは、1つ以上の要素を含んでよい。
【0019】
本明細書で使用されるとき、所与のパラメータ、特性、又は条件に言及する際の用語「実質的に(substantially)」は、所与のパラメータ、特性、又は条件が、例えば許容可能な製造許容差の範囲内などの、小さいばらつきを満たすことを当業者が理解するであろう程度を意味し、かつ含む。一例として、実質的に満たされる特定のパラメータ、特性、又は条件に応じて、パラメータ、特性、又は条件は、少なくとも90%満たされ得るか、少なくとも95%満たされ得るか、更には少なくとも99%満たされ得る。
【0020】
本開示で説明される様々な実施形態は、一般に、接触感応性ユーザインターフェース上で選択されたUI要素を決定するための技法、及びそうした技法を使用して、1つ以上の触覚応答を提供することに関する。本明細書で説明される実施形態を理解する目的で、接触センサは、タッチインターフェースのタッチ領域と接触する物体(指又はスタイラスなど)に、又はこのタッチ領域に対する物体の近接性に対応することができる。本開示では、「接触」は、一般に、物体と接触感応性領域との物理的接触を指すが、接触センサによって計測可能な対応を生成する、物体の近接性も包含し得る。更に、接触感応性領域は、接触センサが物体の接触に対応することができる、タッチインターフェース上の物理的領域を指す。
【0021】
接触感応性GUIは、本明細書で使用するとき、GUIと統合されたタッチインターフェースを指す。例えば、GUIは、典型的に、1つ以上のディスプレイ領域と、アクティブ/アクティブ化可能領域と、を含む。本開示において、ディスプレイ領域は、情報をユーザに表示するユーザインターフェースの領域である。アクティブ化可能領域は、ユーザがユーザインターフェースに対していくつかのアクションをとることができる、ボタン、スライダ、又はメニューなどのGUIの領域である。いくつかのディスプレイ領域はまた、情報を表示し、いくつかのアクションをとることができるアクティブ化可能領域でもある。接触感応性GUIでは、アクティブ領域が表示されるタッチ感応性領域に接触する(例えば、タッチスクリーン上のGUIボタンをタップする)ことで、その領域を起動させることができる。アクティブ領域は、全ての様々な形状及びサイズの、例えばボタン、スライダ、選択可能ペイン、メニューなどのGUI要素/オブジェクトとして表示することができる。
【0022】
一般に、接触感応性領域で接触が感知された場合、プロセスを使用して、該当する場合に接触に対応するGUIのアクティブ領域を決定する。例えば、「入力」ボタンがタップされた場合、接触が測定され、測定した接触に対応して、プロセスは、その接触が入力ボタンであったと判定する。入力ボタンは、アクティブ領域であるので、タッチ感応性GUI及び/又はGUIを起動する基礎をなすアプリケーションプログラムにおいて、イベントが作成される。
【0023】
更に、特定のGUI要素がアクティブ領域と関連付けられている場合は、タッチインターフェースと統合されたアクチュエータが、一般に触覚応答と称される1つ以上の物理的応答を提供することができる。これらは力、振動、又は移動の形態とすることができ、また、表面テクスチャ、リッジ、エッジ、ボタンを押す/クリックするような相互作用、並びに他のシミュレーションした感覚及び応答を模倣することができる。GUIの場合、触覚応答は、ユーザが相互作用するGUI要素にローカライズすることができる。例えば、ユーザがGUIボタンにタッチした場合、触覚応答は、あたかもボタンが押されたかのように、又は粗いテクスチャを有するように、エッジが隆起したボタンの感触をもたらすことができる。
【0024】
本明細書で説明される様々な実施形態は、電子レコードを作成及び更新することを指す場合がある。電子レコードは、データファイルの形態とすることができ、電子レコードを更新することは、データ入力をレコードの1つ以上のフィールドに挿入又は削除することを含むことができる。代替的に、実行時には、記載されたレコードと一致する状態情報及び変数を有するクラスオブジェクト及びインスタンス化されたオブジェクトを指すことができる。どちらの状況も、本明細書で説明される様々な実施形態において想到される。
【0025】
本開示の様々な実施形態は、接触感応性インターフェース上で接触したGUI要素を識別するための技法に関する。これらの技法及び関連する構造は、メモリ使用及び応答性に関して特に効率的である。更に、他の技法と比較すると、インターフェースデータ記憶装置要件が少なく、UI要素を識別するための実行時間に行われるタスクの数がわずかである。
【0026】
本開示のいくつかの実施形態は、接触感応性インターフェース上で接触したGUI要素を識別するために行うことができる、最適化された検索タスクのリストを作成するための方法に関する。検索タスクは、プロセッサ実行可能命令とすることができ、この命令は、実行されたときに、該当する場合、接触したGUIの要素を検索しているサブシステムに成功又は失敗メッセージを返す。一実施形態では、検索タスクは、GUI内の様々な要素及びその要素の場所をマップする定義ファイルに基づいて作成される。検索タスクは、様々な効率パラメータのために最適化される。
【0027】
一実施形態では、検索タスクリストは、ディスプレイサブシステム(例えば、自動車用ヘッドユニット)内の検索を行うことができる、本開示の発明者らに知られている従来の接触感応性GUIと比較して、埋め込みデバイス、例えばタッチコントローラによって実行することができる。タッチコントローラ内のGUI要素の検索を行うことは、ディスプレイサブシステムと通信する時間、並びにサブシステムが、例えば触覚フィードバックサブシステムと反応及び通信する時間を節約する。節約される時間は、従来の接触感応性GUIと比較して、接触感応性GUIの応答性を向上させ、また、ユーザの観点から、ユーザがスクリーンにタッチしたときから、ユーザがタッチに応答するフィードバックを受信したときまでの時間を短縮する。
【0028】
更に、タスク検索リストの作成は、構成可能であり、GUIに応じて、共通の特徴のセットを、特定の用途のために最適化された実施のために選択することができる。例えば、いくつかの実施形態では、作成プロセスは、他のGUI要素、特定の形状の要素、又はGUI要素に接触したときに移動若しくは変形する要素を隠すページング、ドロップダウンメニュー、及びポップアップウインドウを含むGUIのために最適化することができる。
【0029】
図1は、本開示の様々な実施形態による、システムの全体的な動作を例示する。動作112で、ソフトウェアアプリケーションツール102は、UI定義ファイルを処理して、該当する場合に接触感応性スクリーンに接触したUI要素を識別するために行うことができる、条件付き実行可能命令の検索タスクリストを作成する(動作108)ように構成される。
【0030】
検索タスクリストは、タッチシステムの一部である1つ以上のプロセッサによってアクセス可能である、非一時的格納メモリに記憶することができる(動作110)。タッチインターフェースで接触イベントが発生したときに、タッチセンサ106はタッチを検出し(動作118)、タッチプロセッサに対するタッチを表す1つ以上の信号を提供することができる。タッチプロセッサ104は、接触が発生したタッチインターフェース上の場所を決定し(動作112)、該当する場合に、その決定に応答する、接触したUI要素を検索し(動作114)、識別する。一実施形態では、タッチプロセッサ104は、検索結果をグラフィカルユーザインターフェースサブシステムに提供することができる(動作116)。
【0031】
検索タスクリストを作成するためのプロセスの一実施形態を、
図2、
図3、
図4、
図5、
図6、及び
図7を参照して説明する。本開示の実施形態は、ツリー及びグリッド技法に従ってUI要素を編成する、検索ツリー状構造を利用する。様々なUI要素が、グリッドのように扱われる関連グループに分割され、検索ツリーに編成され、次いで、様々な検索タスクが生成される。検索タスクは、命令を使用して検索の実行を最適化するように条件付けられる。当業者は、他のアルゴリズム、例えば分割統治法を使用して、スクリーン(複数可)が検索可能領域に分割され得ることを理解するであろう。
【0032】
図2は、検索タスクリストを生成するプロセスの一実施形態を例示する。動作202で、UIの構造定義をロード及び構文解析し、スクリーン、サブスクリーン、並びにスクリーン及びサブスクリーン上のUI要素を識別する。UI構成定義は、電子ファイル、データベース、生データなどであり得る。動作204で、要素をグループ化し、検索可能な領域を、要素グループを有する1つ以上の検索可能領域に分割する。動作206で、検索可能な領域に基づいて、グループをツリー状構造にリンクする。動作208で、検索タスクを検索ツリーの枝及びノードと関連付けて、検索ツリーを形成し、検索ツリーを最適化する。動作210で、検索ツリーの条件付きタスクを、プロセッサによって実行することができるタスクリストであるリストに記憶する。
【0033】
一実施形態では、検索タスクリストを生成するソフトウェアアプリケーションツール102は、動作202、204、206、208、及び210のうちの1つ以上の結果を出力ファイルに書き込むように構成することができる。この出力ファイルは、デバッグツールによって使用されて、プロセスの結果をレビューすることができる。同じデバッグツールを、検索タスクリストのテキストバージョンを使用し、それを(例えば、dos実行可能な)仮想試験環境内で実行して、検索タスクリストが動作準備完了していることを検証するように構成することができる。
【0034】
図3は、UI要素をUI構成定義から抽出するための方法300の一実施形態を例示する。一実施形態では、UI構成定義は、アプリケーションツールの構成生成特徴によって変換されるディスプレイの一部のxml定義である。アプリケーションツールは、構造定義を構文解析し、定義構造で定義された要素をグラブする。動作302で、各UI要素をロードし、動作304で、このUI要素が既知のUI要素であるかどうかを判定する。既知のUI要素でない(すなわち、この要素が構造定義で識別されたのが初めてである)場合、動作306で、プロセスは、そのタイプのUI要素(例えば、ボタン、ノブ、スライダなど)の新しい要素定義を作成する。新しい定義を作成した後に、又は要素が既知のUI要素である場合は、動作308で、要素を既存のグループに割り当てるかどうかを判定する。一実施形態では、既存のグループに割り当てるかどうかの判定は、様々な所定のパラメータ、例えば、要素のタイプ、UI要素が表示されるスクリーン、層の位置、要素と関連付けられた応答のタイプ(例えば、視覚、触覚、音声など)などの、要素の共通の特徴に基づく。要素を新しいグループに割り当てると判定する場合は、動作310で、要素に関連するパラメータを有する新しいグループレコードを作成する。新しいグループレコードを作成した後に、又は要素を既存のグループに割り当てると判定する場合は、動作312で、新しい要素の入力をその新しい要素のグループレコードに挿入する。一実施形態では、入力は、要素IDのフィールドと、要素の場所(すなわち、スクリーン上の要素の座標)と、を含む。動作314で、更なるUI要素があるかどうかを判定し、更なるUI要素がある場合は、UI構成定義で識別された残りの各UI要素についてプロセスを実行する。動作316で、プロセスは、要素(複数可)、要素定義(複数可)、及びグループ(複数可)を返す。
【0035】
図3に例示されていない一実施形態では、UI構成定義が1つを超えるスクリーン定義を含む場合は、そのような各スクリーンにUI要素のパラメータであるスクリーンIDを割り当てる。また、各グループのパラメータとしても組み込むことができる。各スクリーンはまた、表示されたGUIの定義された領域であるサブスクリーンも含むことができ、その中では、いくつかのUI要素が動的に変化するが、そうした領域外にあるUI要素は、変化しないままである。非限定的な例として、動的要素を有する領域としては、スワップ可能ペイン、スクロール可能メニュー、活性可能情報ペイン、ナビゲーションボタンなどが挙げられる。
【0036】
図4は、本開示の一実施形態による、検索ツリーを作成するためのプロセス400を例示する。このプロセスでは、UI定義内で識別された各スクリーンを検索可能領域にどのように分割するかに関する決定を行い、各検索可能領域は、1つ以上の要素のグループを含む。
図4に示されるプロセスの実施形態では、要素のグループを分割する分割線(x座標、y座標)が選択され、よって、少なくとも1つのグループが分割線の一方の側にあり、少なくとも1つの他のグループが分割線の他方の側にある。事実上、スクリーンは、この時点で、分割線沿った共有境界線によって、2つの検索可能領域に分割される。グループを更に分割することができなくなるまで、グループは、再帰的な様態で分割される。
【0037】
別の実施形態では、スクリーン又は検索可能領域は、x座標及びy座標方向に同時に分割され、これは、最高4つのグループのサブ分割をもたらし得る。この技法はまた、4つ未満のサブ分割、例えば、3つのグループの分割及び1つの空の検索可能領域をもたらすこともができる。
【0038】
更に他の実施形態では、スクリーンの一部分が検索可能領域にサブ分割されないように、円形、正方形、及び/又は多角形を使用して、その一部分を検索可能領域から除外するように定義することができる。
【0039】
図4に示されるプロセスを通して進めると、動作402で、2つ以上のグループを有する第1の検索可能領域をロードする。第1の繰り返しの場合、これは、全てのグループを含むスクリーン全体でなければならない。この実施形態では、初期検索可能領域レコードは、全ての要素及びグループを含む、スクリーン全体を包含するように定義された領域と共に存在する。動作404で、初期検索可能領域を、それぞれがグループのうちのいくつかを有する2つの検索可能領域に分割する、グリッド線を選択する。動作406で、新しいレコードを作成し、グループを初期レコードと新しいレコードとの間でソートし、これらのレコードをそれぞれの検索可能地域と共に更新する。分割線は、2つの検索可能領域のスプリット/ディビジョンとして記録される。第1の検索可能領域並びにその中のグループ及び要素は、ディビジョンにリンクされ、次にこれが新しい検索可能領域並びにその中のグループ及び要素にリンクされる。実行時には、要素のクラスオブジェクト、グループのクラスオブジェクト、及びスプリット/ディビジョンのクラスオブジェクトが存在する。
【0040】
1つを超える要素のグループを含む各検索可能領域の場合は、プロセスを再帰的に実行して(動作408)、検索可能領域を分割する。
【0041】
特に、一実施形態では、要素は、要素の定義(例えば、要素ID)及び本実施形態では要素の原点への移動に対する参照によって定義されるが、各要素を個々に定義する必要がないので、インターフェースメモリ要件を低減させる。
【0042】
スクリーンが完全に分割されると、この時点で、ディビジョン/スプリット、UI要素及びUI要素のグループ、並びにそれらの間のリンクを含む中間検索ツリーが存在する。
【0043】
動作410で、各グループについてグループレベル検索タスクを作成する。グループレベルタスクは、プロセス工程又は一連のプロセス工程である。このタスクは、(i)タッチ又は接触イベントがUI要素内で(又は要素外で)発生したかどうかを判定するためのタスク、(ii)何らかの方法で検索領域を修正するためのタスク、及び(iii)次のタスクを準備するためのタスク、を含むことができる。
【0044】
各グループレベルタスクは、成功又は失敗が生じた場合に行われるべき次のタスクの指示を含むことができる。例えば、各タスクは、次のタスクアドレスへの「オフセット」を有するビットを含むことができる。更に、各グループレベルタスクは、それが実行されるときに引数を受け取ることができる。いくつかの実施形態では、以前のタスクは、引数を提供することができ、又はどの引数を次のタスクに利用できるかを示すための環境ビット/フラグを設定することができる。
【0045】
一実施形態では、グループ座標(位置角)のオフセットを使用して、インデックスを生成することができる。検索可能領域内のあらゆる要素は、構成された場合に、検索可能領域のベースIDからインデックスだけオフセットされた異なるIDを割り当てることができる。結果は、要素ID及びオフセット値である。応答(例えば、触覚)又は要素IDのいずれかを修正するための別々のプロビジョンが存在する-よって、あるグループ要素は、単一の要素IDであるが、多数の応答IDを返し得、別のものは、いくつかの要素の違いについて1つの応答IDを返し得る。
【0046】
グループレベル検索タスクは、グループレコードに挿入すること、検索タスクリストに挿入すること、又は中間レコードに挿入することができる。グループレベル検索タスクが完了すると、動作412で、中間検索ツリーを返す。
【0047】
図4に例示されていないが、一実施形態では、各タスクについて環境変数を設定することができ、この環境変数は、該当する場合、タスクが実行される場合に、タスクが成功する場合に、及び最終タスクである場合に何を返すのかを示す。非限定的な例として、環境変数は、触覚ID、グループ形状内の要素について要素ID及び触覚IDをどのように修正するのかを制御する値、などであり得る。また、次のタスクの説明を付随させるために送信されるべきデータを示す、環境フラグも設定することができる。特定の制約及び正しい環境変数を使用することで、例えば円の定義を7バイトから2バイトに低減させることができる。
【0048】
図5は、中間検索ツリーに対して行われる最適化プロセス500の一実施形態を例示する。動作504で、共通の特徴によって全ての要素をグループ化する。共通の特徴の例としては、要素タイプ、層内の位置、別の層内の別の要素に対する位置(例えば、全てが同じ要素の背面にある)、ディスプレイグループ、形状などが挙げられる。一実施形態では、共通の特徴を選択して、検索プロセスを最適化することができる。例えば、検索ツリーの最上部の最上層に要素を有する層位置によって要素がグループ化される場合は、それらが最初に検索される。別の例として、「ページング」が存在する(すなわち、ユーザインターフェースの層をスワイプして、下部の層を露出させること、又はある層を別の層の上に被せることができる)アプリケーションにおいて、ディスプレイグループによるグループ化は、単一の制御を使用して全てのディスプレイ要素を制御すること-例えば、ディスプレイグループ内の全ての要素を検索すること、制御設定に応答する要素に変更を適用すること、ディスプレイグループ内の全ての要素をオン又はオフにすること、など-を可能にする。様々な実施形態では、例えば層ID、位置ID、形状IDなどの識別子を使用して、共通の特徴によって編成されたグループを識別することができる。
【0049】
動作506で、検索タスクを、各要素の検索ツリーに挿入し、分割して、中間検索タスクツリーを形成する。動作508で、各タスクについて、中間検索タスクツリーを再順序付けして、単一の通過を確実にする。動作510で、冗長又は非効率的な検索タスクを排除する。動作512で、最適化された検索タスクツリーを返す。
【0050】
図6は、検索タスクリストを作成するためのプロセス600の一実施形態を例示する。動作602で、検索タスクツリーのクラスオブジェクトをロードし、動作604で、命令語(すなわち、検索タスク)をクラスオブジェクトから作成し、命令語(すなわち、検索タスク)を検索タスクリストに挿入する。
図6に示される実施形態では、命令語は、タスクコードフィールドと、ジャンプフィールドと、を含む。一実施形態では、命令は、データフィールドを含む。あらゆる失敗(すなわち、要素が異なる)及びあらゆる分割は、次のタスクがメモリ内の現在のタスクの直後でない限り、別の命令へのジャンプを必要とする。動作606で、タスクコードをタスクコードフィールドに挿入し、動作608で、ジャンプ値をジャンプフィールドに挿入する。
【0051】
いくつかの実施形態では、全てのタスクが検索タスクリストに挿入されるまで、ジャンプ値の一部又は全部を挿入しない。他の実施形態では、検索タスクツリーからジャンプ値を推定することができる。
【0052】
動作610で、検索タスクリストの様々なタスクをメモリ内で連結して、全てのオブジェクトがリスト内にある場合に(動作612)動作614のプロセスによって返される、条件付き検索タスクリストを形成する。検索タスクリスト及び検索ツリーは、メモリに記憶することができる。
【0053】
タスク命令は、検索タスクリストが実装される特定の環境において利用可能なコンテナサイズ制限(すなわち、バイト制限)によって変動し得る。一実施形態では、各タスク命令と関連付けられたデータは、命令インターフェース要件(8ビット、12ビットの、16ビットなど)、利用可能なメモリなどを備えるシステム条件に応じて変動し得る。非限定的な例として、八角形のUI要素内で検索するという命令は、単にx座標及びy座標データ、並びに辺の数によって行うことができる。しかしながら、命令インターフェース及び他のメモリ要件が許可する場合は、追加データを含むことができる。
【0054】
図7は、本開示の一実施形態による、UI要素内でタッチが発生したかどうかを判定するための検索プロセスを例示する。検索ツリーの検索は、提供されたデータ及び検索タスクリストを使用して行われる。動作702で、各タスクの実行可能命令を、各タスクのペイロードデータと共にプロセッサのインターフェースに連続的に提供し、動作704で実行する。検索ツリーを検索するときに、動作706で、UI要素内でタッチが発生したかどうかを判定し、各タスクの結果は、UI要素内でタッチが発生したかどうかを示す、真/偽、成功/失敗である。動作708で、プロセッサによって、現在のタスクが成功であるという結果に応答する次のタスク命令及び関連データをロード及び受信する。すなわち、動作706の結果が成功である場合、タスクリスト内の次のタスクが実行される。
【0055】
結果が失敗である場合、プロセッサによって、結果に応答する代替のタスク命令及び関連データをロード及び受信する。代替のタスクが存在する場合(動作714)、動作716で、代替のタスク場所を供給し、プロセスループの動作702に戻り、プロセッサの代替の場所からタスクをロードする。検索が終わるとき、UI要素は、発見又は未発見のいずれかである。UI要素が発見される場合、動作710で、発見の結果を返し、動作712で、その要素のID、並びに任意の環境設定/応答性パラメータを返す。動作が発見されない場合、動作720で、未発見の結果を返す。
【0056】
一実施形態では、
図7に示される検索プロセスは、タッチでプロセッサ(マイクロコントローラ)で実行するファームウェアアプリケーションとすることができる。タッチプロセッサは、フラッシュメモリに記憶した検索プロセスによって実行される1つ以上の検索タスクを有することができる。一実施形態では、検索タスクは、ディスプレイコントローラと関連付けられたRAMに記憶することができ、検索タスクは、設定又はプロビジョニングプロセス中にタッチプロセッサに提供され、検索プロセスにアクセスできる状態に保つことができる。
【0057】
この時点で、発明者らは、説明される実施形態が代替的な手法に勝る複数の利点を提供することを理解する。メモリ要件が大幅に-線形検索、ピュアグリッド法、又はピュア検索ツリー方法から最高50%-低減され、それでも、組み合わせグリッド/ツリー法を超えて改善される。これは、一部には、行われる検索動作の数が低減されるからである。検索動作の数が低減されるので、応答サイクルは、代替的な手法(従来の方法を含む)よりも大幅に短くなる。例えば、1200×1200の接触感応性GUIに関して、72μs(ピュアグリッド)~1200μs(線形)の範囲であった代替的な手法と比較して、36μs未満のサイクル時間を達成した。この違いは、ユーザにとって極めて高い応答性のタッチインターフェースである。このタッチインターフェースは、設計者にとって、異なる応答特性を有する数多くの要素を有して、より高度化することができる。
【0058】
図8、
図9、及び
図10は、本開示の実施形態と共に使用することができるGUIの1つの非限定的な例として、ラジオ用途のGUIに関連して
図2~
図7を参照して例示及び説明したプロセスを例示する。
図8に例示されるラジオGUI810は、表820に要約される、8種類のUI要素と、合計144のUI要素と、を含む。
【0059】
図9は、
図3を参照して説明した方法に従ってグループ化したUI要素を示す。この実施形態では、グループ化した要素832、834、836、838、840、842、844、846、及び848は、類似するタッチ特性(例えば、タッチに応答する触覚フィードバック)、スクリーン上の物理的な場所、及び形状を有する。
【0060】
図10は、
図4を参照して説明したツリー及びグリッド法を使用して形成したツリー状構造850の一実施例を示す。
【0061】
図11は、本開示の一実施形態による、本明細書で説明される検索方法を実施することができるシステム1000及び関連するツール1040を例示する。システム1000は、GUI要素のためのGUI要素検索機能1012及び応答判定1014をその上に有する、マイクロコントローラファームウェア1010を含む。マイクロコントローラファームウェア1010を実行するプロセッサは、マイクロコントローラファームウェア1010から制御信号を受け取ることができ、続いて、接触感応性インターフェース1020の応答を駆動することができる応答ドライバ1018に結合される。一実施形態では、接触感応性インターフェース1020は、1つ以上のアクチュエータを備えるタッチスクリーンであり、応答ドライバ1018は、アクチュエータを励起する制御信号を生成するように構成された触覚ドライバである。感知回路1022は、接触感応性インターフェース1020での接触に応答して、1つ以上の測定信号を生成することができる。接触測定及び処理1016は、検知回路1022からの測定信号に応答して、接触情報(例えば、場所、タイプなど)を決定し、この接触情報を、応答決定1014及びGUI要素検索機能1012に提供することができる。応答ドライバ1018で受信した制御信号は、例えば、接触情報に少なくとも部分的に基づくことができ、よって、触覚フィードバックが、接触感応性インターフェース1020上の右側の場所に提供される。
【0062】
また、
図11には、ツール1040も示され、このツールは、本開示の一実施形態によって、検索リスト生成プロセスを実施し、要素検索タスクリスト及び要素応答情報を作成することができる。検索リスト作成アプリケーションプログラム1044は、
図2~
図6を参照して説明したプロセス、GUI定義XAMLファイル1042を実施して、要素検索タスクリストを生成するように構成される。アプリケーション1044は、要素検索タスクリスト1046及び要素応答情報1048をファイルとしてマイクロコントローラファームウェア1010に提供することができる。一実施形態では、このアプリケーションはまた、検索タスクに組み込むことができるが、検索ツリーも提供することができる。
【0063】
ファームウェアの1つ以上の実施形態では、ファームウェアは、タッチイベントに関する力レベル情報を組み込むための、力測定及び処理機能を含むことができる。そうした実施形態では、要素検索機能によって返される力レベル情報及びGUI要素ID及び触覚応答の詳細は、触覚シーケンサを使用して、この力レベル、GUI要素ID、及び触覚応答の詳細に応答する触覚制御信号を生成することができる。
【0064】
図11のシステムは、自動車を含む、タッチインターフェース及びタッチ制御パネルを利用する様々な消費者製品、電化製品、及び機械に組み込むことができる。
【0065】
図12は、自動車用タッチ制御パネルのラジオGUI1210の簡略化バージョンを例示する。3つの領域は、具体的には、領域1、領域2、及び領域3と称する。領域1は、温度調節のための回転ダイヤル1214の中央のボタン1212である。強い力レベルを有するタッチイベントに応答する、触覚プロファイルID#4(振動)による触覚フィードバックが提供される。領域2は、同じく温度調節のための回転ダイヤル1214である。弱い力レベルを有するタッチイベントに応答する、触覚プロファイルID#3(摩擦)による触覚フィードバックが提供される。最後に、領域3は、自動車設定のためのメニューを提示するためのボタン1216である。強い力レベルを有するタッチイベントに応答する、触覚プロファイルID#2(クリック)による触覚フィードバックが提供され、弱い力レベルを有するタッチイベントに応答する、触覚プロファイルID#3(摩擦)による触覚フィードバックが提供される。
【0066】
図13は、ヘッドユニット1310によって命令される自動車用制御に組み込まれた
図11のシステム及び
図12のGUIを例示し、ヘッドユニット1310の触覚効果は、マイクロコントローラによって制御される。この実施形態では、タッチコントローラ1320及び形状検索機能1324は、自動車サブシステムの一部であり、自動車用ヘッドユニット1310は、ヘッドユニットの処理回路の直接的な介入を伴わずに、触覚フィードバックによってタッチに応答する。タッチコントローラ1320は、タッチ位置及び力レベル情報から、タッチされたスクリーンボタンを識別し、触覚効果をトリガするためのボタン位置を含む、タッチ状態機械を動作させるように構成される。
【0067】
この実施形態では、力処理1326及びタッチ処理1322は、1つのコントローラ構成要素に統合され、ヘッドユニットスクリーン1332は、タッチコントローラ1320によって直接起動され、触覚デバイス1350によって行われる触覚効果の範囲を導き出すためにそれぞれ必要とされる、いくつかの幾何学的オブジェクト記述の定義(スクリーンディスプレイ設計1336、及び検索ツリー定義1338)を含む。
【0068】
例えば、ディスプレイ1330のタッチの後に、タッチコントローラ1320は、力処理1326及びタッチ処理1322からの力情報及びタッチ情報を受信する。この情報は、力測定及びディスプレイ上のタッチ位置を含むことができる。形状検索1324は、該当する場合、タッチが発生したディスプレイ1330に表示されるUI要素に対応するUI要素情報を提供する。ディスプレイ上の場所に対応するいかなるUI要素も存在しない場合、形状検索1324は、ヌルの検索結果を提供する。UI要素の形状情報を検索する間、形状検索1324は、ヘッドユニット1310に記憶した定義を使用することができる。一実施形態では、形状検索1324は、プロビジョニングプロセス中に、例えば、タッチコントローラ1320がヘッドユニット1310と統合されるときに、又はヘッドユニット1310の電源がオンになるときに、定義を受信することができる。形状検索1324が、UI要素を識別する場合、触覚制御1328によって触覚情報を使用して、触覚効果及び触覚効果の位置を含む触覚デバイス1350に、触覚起動メッセージを送信する。触覚起動メッセージは、触覚効果(例えば、弱、中、強)のレベルを表すパラメータを含むことができる。触覚デバイス1350は、触覚デバイスに記憶した触覚ライブラリ1352内の触覚効果定義を検索する。触覚デバイス1350は、次いで、ディスプレイの特定の領域が要求された触覚効果を呈するように、ディスプレイ1330のアクチュエータを制御する。特に、異なる触覚デバイスは、異なる触覚ライブラリを有し得るので、効果は、デバイス間で異なり得る。
【0069】
この実施形態では、GUI定義は、グラフィカルユーザインターフェースのためのXML実装であるXAMLファイルである。XAMLファイルは、GUIのUIのスクリーン要素のための描画命令の階層構造リストを含む。XAMLファイルには、GUI要素と関連付けられたタグが存在する。例えば、「Width」、「Height」、及び「Horizontal Alignment」は全て、特定要素の有効なタグである。
【0070】
本明細書に記載の機能ユニットの多くは、それらの実施独立性をより具体的に強調するために、モジュール、スレッド、又はプログラミングコードの他のセグリゲーションとして図示、説明、又は標識化されてもよい。モジュールは、ある形態又は別の形態で、少なくとも部分的にハードウェアに実装されてもよい。例えば、モジュールは、カスタムVLSI回路又はゲートアレイ、ロジックチップ、トランジスタ、又は他の別個の構成要素などの既製の半導体を備えるハードウェア回路として実装されてもよい。モジュールはまた、フィールドプログラマブルゲートアレイ、プログラマブルアレイ論理、プログラマブル論理デバイスなどプログラマブルハードウェアデバイスに実装されてもよい。
【0071】
モジュールはまた、様々な種類のプロセッサによる実行のために、物理記憶デバイス(例えば、コンピュータ可読記憶媒体)、メモリ、又はそれらの組み合わせに記憶されたソフトウェア又はファームウェアを使用して実装されてもよい。
【0072】
実行可能コードの識別されたモジュールは、例えば、例えば、スレッド、オブジェクト、プロシージャ、又は関数として編成され得るコンピュータ命令の1つ以上の物理ブロック又は論理ブロックを含んでよい。それにもかかわらず、実行可能な識別されたモジュールは、物理的に一緒に位置付けられる必要はないが、論理的に一緒に結合されたときにモジュールを備え、モジュールの規定の目的を達成する、異なる場所に記憶された異なる命令を含んでよい。
【0073】
実際に、実行可能コードのモジュールは、単一の命令、又は多くの命令であってよく、異なるプログラムの間のいくつかの異なるコードセグメントにわたって、またいくつかの記憶装置又はメモリデバイスにわたって分散されてもよい。同様に、動作データは、モジュール内で識別され、本明細書に例示されてよく、任意の好適な形態で具現化され、任意の好適な種類のデータ構造内で編成されてもよい。動作データは、単一のデータセットとして収集されてもよく、又は異なる記憶デバイスにわたって異なる場所に分散されてもよく、少なくとも部分的には、単にシステム又はネットワーク上の電子信号として存在してもよい。モジュール又はモジュールの一部がソフトウェアに実装される場合、このソフトウェア部分は、本明細書でコンピュータ可読媒体と称される1つ以上の物理デバイスに記憶される。
【0074】
いくつかの実施形態では、このソフトウェア部分は、このソフトウェア部分又はその表現がある期間にわたって同一の物理的位置に存続するように、非一時的状態で記憶される。更に、いくつかの実施形態では、このソフトウェア部分は、非一時的状態及び/又はこのソフトウェア部分を表す信号を記憶できるハードウェア要素を備える1つ以上の非一時的記憶デバイスに記憶される。ただし、非一時的記憶デバイスの他の部分は、信号の変更及び/又は送信を実行し得る。非一時的記憶デバイスの例としては、フラッシュメモリ及びランダムアクセスメモリ(random-access-memory、RAM)が挙げられる。非一時的記憶デバイスの別の例としては、ある期間にわたって、このソフトウェア部分を表す信号及び/又は状態を記憶できるリードオンリーメモリ(read-only memory、ROM)が挙げられる。しかしながら、信号及び/又は状態を記憶する能力は、記憶された信号及び/又は状態と同一である、又はこれらを表す信号を送信する更なる機能によって低下しない。例えば、プロセッサは、対応するソフトウェア命令を実行するために、ROMにアクセスして記憶された信号及び/又は状態を表す信号を取得し得る。
【0075】
実用レベルで、コンピュータシステムが、本明細書に記載の動作を行うことを可能にするソフトウェアは、様々な媒体のうちのいずれか1つに供給することができる。更に、本発明の手法及び動作の実際の実施は、実際には、コンピュータ言語で書かれたステートメントである。かかるコンピュータ言語ステートメントは、コンピュータによって実行されたときに、コンピュータをステートメントの特定のコンテンツに従って作用させる。更に、コンピュータシステムが本発明に従って作用することを可能にするソフトウェアは、元のソースコード、アセンブリコード、オブジェクトコード、マシン語、これらの圧縮又は暗号化バージョン、並びに任意の、及び全ての等価物が挙げられるが、これらに限定されない、任意の数の形態で提供することができる。
【0076】
当業者は、本明細書で使用されるときに、「媒体」又は「コンピュータ可読媒体」は、ディスケット、テープ、コンパクトディスク、集積回路、ROM、CD、DVD、BLU-RAY、カートリッジ、フラッシュメモリ、メモリスティック、若しくはカード、又は既知の若しくは今後開発されるものを備える、コンピュータによって使用可能な任意の他の非破壊記憶媒体を備えることができることを認識するであろう。
【0077】
実際的なソフトウェアは、ディスクに「書き込まれ」得る、集積回路に「具現化され」得る、通信回路を通じて「搬送され」得る、メモリチップに「記憶され」得る、又はキャッシュメモリに「ロードされ」得るが、本出願の目的のために、ソフトウェアは、単にコンピュータ可読媒体「内に」又は「上に」あると称されることが認識されるであろう。したがって、用語「内に」又は「上に」は、ソフトウェアをコンピュータ可読媒体と関連付けることができる、上で述べた、及び全ての等価かつ可能な方法を包含することを意図する。
【0078】
簡潔にするために、故に、用語「コンピュータプログラム製品」は、したがって、上で定義したようなコンピュータ可読媒体を指すために使用され、この媒体は、コンピュータシステムが本発明の任意の実施形態に従って作動することを可能にする任意の形態のソフトウェアを有する。
【0079】
本開示は、特定の例示される実施形態に関して本明細書に記載されているが、当業者は、本発明がそのように限定されないことを認識し、理解するであろう。むしろ、以下にそれらの法的等価物と共に特許請求されるような本発明の範囲から逸脱することなく、例示され、説明される実施形態に対して数多くの追加、削除、及び修正を行うことができる。加えて、ある実施形態の特徴は、本発明者らによって想到されるように、別の開示した実施形態の特徴と組み合わせることができるが、それでも、本開示の範囲内に包含される。
【手続補正書】
【提出日】2023-03-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
グラフィカルユーザインターフェース(GUI)を表示するように構成されたタッチスクリーンに動作可能に結合されたマイクロコントローラであって、
少なくとも1つのプロセッサと、
非一時的記憶媒体に記憶された1つ以上の実行可能命令であって、前記命令は、前記プロセッサによって実行されたときに、前記プロセッサが、
タッチスクリーンにおいて感知したタッチの場所を決定することと、
前記感知したタッチに対応する前記タッチの場所と関連付けられたGUI要素を識別するために、非一時的記憶媒体で条件付き実行可能命令のリストとして記憶された1つ以上の命令を実行することと、を行えるように適合させる、1つ以上の実行可能命令と、を含み、
前記1つ以上の命令は、非一時的メモリで順序付けられた1つ以上の命令と同じ連続した順序で実行される、マイクロコントローラ。
【請求項2】
前記1つ以上の命令によって、前記プロセッサが、前記識別された前記GUIの要素に応答するユーザフィードバック応答を識別できる、請求項1に記載のマイクロコントローラ。
【請求項3】
前記命令は、前記プロセッサを、前記識別されたGUI要素と関連付けられた前記ユーザフィードバック応答に応答する1つ以上の制御信号を作成できるように更に適合させる、請求項2のマイクロコントローラ。
【請求項4】
前記ユーザフィードバック応答は、触覚応答である、請求項3に記載のマイクロコントローラ。
【請求項5】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の1つ以上のアクチュエータを励起するように構成される、請求項4のマイクロコントローラ。
【請求項6】
前記タッチと関連付けられた力レベルを決定することを更に含み、前記プロセッサが、前記力レベルに応答する前記1つ以上の制御信号を作成する、請求項5に記載のマイクロコントローラ。
【請求項7】
前記1つ以上の実行可能命令は、1つ以上の条件付き検索命令を含み、前記プロセッサによって実行されたときに、前記プロセッサを、
前記タッチの前記場所と前記GUIの1つ以上の要素の場所と比較することと、
前記比較に応答するGUI要素を選択することと、
前記選択したGUI要素に対応する触覚命令及び要素識別子を提供することと、を行えるように適合させる、請求項1に記載のマイクロコントローラ。
【請求項8】
前記触覚命令は、前記触覚命令に応答するタッチスクリーン内の1つ以上のアクチュエータを励起するよう触覚ドライバに命令するように構成される、請求項7に記載のマイクロコントローラ。
【請求項9】
タッチスクリーンにおいて感知したタッチの場所を決定するステップと、
前記決定された場所に応答する、非一時的記憶媒体で条件付き実行可能命令のリストとして記憶された1つ以上の検索命令を実行するステップであって、前記1つ以上の検索命令のうちの各検索命令が、グラフィカルユーザインターフェース(GUI)の要素に対応し、実行されたときに検索結果を返す、実行するステップと、
前記検索結果に応答するGUI要素を識別するステップと、を含み、
前記1つ以上の命令は、非一時的メモリで順序付けられた1つ以上の命令と同じ連続した順序で実行される、方法。
【請求項10】
前記識別されたGUI要素に応答するユーザフィードバック応答を識別するステップを更に含む、請求項9に記載の方法。
【請求項11】
前記識別されたGUI要素と関連付けられたユーザフィードバック応答に応答する1つ以上の制御信号を作成するステップを更に含む、請求項10に記載の方法。
【請求項12】
前記ユーザフィードバック応答は、触覚応答である、請求項11に記載の方法。
【請求項13】
前記制御信号は、触覚ドライバを制御して、前記タッチスクリーン内の1つ以上のアクチュエータを励起するように構成される、請求項12に記載の方法。
【請求項14】
前記タッチと関連付けられた力レベルを決定するステップを更に含み、プロセッサが、前記力レベルに応答する前記1つ以上の制御信号を作成する、請求項13に記載の方法。
【請求項15】
各検索命令は、検索ツリーに応答して挿入されるペイロードを含む、請求項9に記載の方法。
【請求項16】
システムであって、
ディスプレイを制御するように構成されたディスプレイサブシステムと、
タッチセンサ及びタッチコントローラを備えるタッチサブシステムであって、前記タッチコントローラが、
タッチセンサにおいて感知したタッチの場所を決定することと、
前記場所及び検索ツリーに応答する、非一時的記憶媒体で条件付き実行可能命令のリストとして記憶された1つ以上の検索命令を実行することであって、前記1つ以上の検索命令のうちの各検索命令が、GUI要素に対応し、実行されたときに検索結果を返すように適合させ、実行することと、
前記検索結果に応答するGUI要素を識別することと、
前記識別されたGUI要素に応答する触覚制御メッセージを生成することと、を行うように構成される、タッチサブシステムと、を備え、
前記1つ以上の命令は、非一時的メモリで順序付けられた1つ以上の命令と同じ連続した順序で実行される、システム。
【請求項17】
前記ディスプレイで触覚フィードバックを生成するように構成された触覚フィードバックサブシステムを更に備える、請求項16に記載のシステム。
【請求項18】
前記1つ以上の検索命令のうちのいくつかは、前記1つ以上の検索命令のうちの別の検索命令と関連付けられたジャンプ命令を備え、実行されたときに、他の検索命令をロードするように構成される、請求項16に記載のシステム。
【請求項19】
前記ジャンプ命令は、前記1つ以上の検索命令がツリー状の順序に実行されることを可能にする、請求項18に記載のシステム。
【請求項20】
自動車用ヘッドユニットを更に備える、請求項16に記載のシステム。
【外国語明細書】