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