(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイス上の動作を開始するための方法であって、
タッチ表面上に描かれた形状を受け取る段階と、
前記受け取った形状をメモリ内に保存されているコード形状と比較する段階と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する段階と
を有し、
前記コード形状は、順に描かれると形状を再現することになる因子の組からなることを特徴とする方法。
【請求項２】
前記因子が、線、曲線、およびドットを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記受け取った形状が前記コード形状に相関していない場合、前記受け取った形状をタッチ表面のユーザインターフェースコマンドとして処理する段階をさらに有することを特徴とする請求項１に記載の方法。
【請求項４】
前記タッチ表面上に描かれた新規形状を受け取る段階と、
前記受け取った新規形状を前記コード形状としてメモリ内に保存する段階と、
前記保存済みのコード形状に動作をリンクさせる段階と
をさらに有することを特徴とする請求項１に記載の方法。
【請求項５】
前記タッチ表面上に描かれた形状を受け取る段階と、
前記受け取った形状を定義するパラメータを確定する段階と、
前記形状を定義するパラメータを前記コード形状としてメモリ内に保存する段階と、
前記保存済みのコード形状に動作をリンクさせる段階と
をさらに有することを特徴とする請求項１に記載の方法。
【請求項６】
前記タッチ表面上に描かれた形状を複数回受け取る段階と、
前記複数の受け取った形状を示す元の形状を定義するパラメータを確定する段階と、
前記元の形状について前記複数の受け取った形状の変動を確定する段階と、
前記元の形状を定義するパラメータおよび前記確定された変動を前記コード形状としてメモリ内に保存する段階と、
前記保存済みのコード形状に動作をリンクさせる段階と
をさらに有し、
前記受け取った形状をメモリ内に保存されているコード形状と比較する段階は、前記受け取った形状が、前記確定された変動内で前記元の形状に相関しているかどうかを確定する段階を含むことを特徴とする請求項１に記載の方法。
【請求項７】
キーストロークのシーケンスを受け取る段階をさらに有し、
前記保存済みのコード形状に動作をリンクさせる段階が、前記受け取ったキーストロークのシーケンスを前記コード形状に相関付けてメモリ内に保存する段階をさらに含むことを特徴とする請求項４に記載の方法。
【請求項８】
アプリケーションの識別を受け取る段階をさらに有し、
前記保存済みのコード形状に動作をリンクさせる段階が、前記識別されたアプリケーションに対するリンクを前記コード形状に相関付けてメモリ内に保存する段階を含むことを特徴とする請求項４に記載の方法。
【請求項９】
前記タッチ表面が、タッチスクリーンとタッチパッドとのうちの１つであることを特徴とする請求項１に記載の方法。
【請求項１０】
前記コード形状が、データテーブル内に保存され、
前記受け取った形状を前記コード形状と比較する段階が、前記受け取った形状を前記データテーブルと比較する段階を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
ファイルまたはアプリケーションが開かれている間、コード形状を訓練する要求コマンドを受け取る段階をさらに有し、
前記保存済みのコード形状に動作をリンクさせる段階が、前記保存済みのコード形状に、前記開かれているファイルまたはアプリケーションに対するアドレスをリンクさせる段階を含むことを特徴とする請求項４に記載の方法。
【請求項１２】
ファイルまたはアプリケーションがグラフィカルなユーザインターフェース内で強調表示される間、コード形状を訓練する要求コマンドを受け取る段階をさらに有し、
前記保存済みのコード形状に動作をリンクさせる段階が、前記保存済みのコード形状に、前記強調表示されたファイルまたはアプリケーションに対するアドレスをリンクさせる段階を含むことを特徴とする請求項４に記載の方法。
【請求項１３】
第２コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む前記第２コンピューティングデバイスからのメッセージを第１コンピューティングデバイス内で受け取る段階と、
前記受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較する段階と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する段階と
を有することを特徴とする通信方法。
【請求項１４】
プロセッサと、
前記プロセッサに接続されているタッチ表面と、
前記プロセッサに接続されているメモリと
を具備し、
前記プロセッサは、
前記タッチ表面上に描かれた形状を受け取る手順と、
前記受け取った形状を前記メモリ内に保存されているコード形状と比較する手順と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する手順と
を実行するように構成されており、
前記コード形状は、順に描かれると形状を再現することになる因子の組からなることを特徴とするコンピューティングデバイス。
【請求項１５】
前記因子が、線、曲線、およびドットを含むことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサが、前記受け取った形状が前記コード形状に相関していない場合、前記受け取った形状をタッチ表面のユーザインターフェースコマンドとして処理する手順をさらに実行するように構成されていることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサが、
前記タッチ表面上に描かれた新規形状を受け取る手順と、
前記受け取った新規形状を前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行するように構成されていることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１８】
前記プロセッサが、
前記タッチ表面上に描かれた形状を受け取る手順と、
前記受け取った形状を定義するパラメータを確定する手順と、
前記形状を定義するパラメータを前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行するように構成されていることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサが、
前記タッチ表面上に描かれた形状を複数回受け取る手順と、
前記複数の受け取った形状を示す元の形状を定義するパラメータを確定する手順と、
前記元の形状について前記複数の受け取った形状の変動を確定する手順と、
前記元の形状を定義するパラメータおよび前記確定変動を前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行するように構成され、
前記受け取った形状をメモリ内に保存されているコード形状と比較する手順は、前記受け取った形状が、前記確定された変動内で前記元の形状に相関しているかどうかを確定する手順を含むことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサが、キーストロークのシーケンスを受け取る手順をさらに実行するように構成され、
前記保存済みのコード形状に動作をリンクさせる手順が、前記受け取ったキーストロークのシーケンスを前記コード形状に相関付けてメモリ内に保存する手順を含むことを特徴とする請求項１７に記載のコンピューティングデバイス。
【請求項２１】
前記プロセッサが、アプリケーションの識別を受け取る手順をさらに実行するように構成され、
前記保存済みのコード形状に動作をリンクさせる手順が、前記識別されたアプリケーションに対するリンクを前記コード形状に相関付けてメモリ内に保存する手順を含むことを特徴とする請求項１７に記載のコンピューティングデバイス。
【請求項２２】
前記タッチ表面が、タッチスクリーンとタッチパッドとのうちの１つであることを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項２３】
前記コード形状が、前記メモリ内のデータテーブル内に保存され、
前記受け取った形状を前記コード形状と比較する手順が、前記受け取った形状を前記データテーブルと比較する手順を含むことを特徴とする請求項１４に記載のコンピューティングデバイス。
【請求項２４】
前記プロセッサが、ファイルまたはアプリケーションが開かれている間、コード形状を訓練する要求コマンドを受け取る手順をさらに実行するように構成され、
前記保存済みのコード形状に動作をリンクさせる手順が、前記保存済みのコード形状に、前記開かれているファイルまたはアプリケーションに対するアドレスをリンクさせる手順を含むことを特徴とする請求項１７に記載のコンピューティングデバイス。
【請求項２５】
前記プロセッサが、ファイルまたはアプリケーションがグラフィカルなユーザインターフェースにおいて強調表示される間、コード形状を訓練する要求コマンドを受け取る手順をさらに実行するように構成され、
前記保存済みのコード形状に動作をリンクさせる手順が、前記保存済みのコード形状に、前記強調表示されたファイルまたはアプリケーションに対するアドレスをリンクさせる手順を含むことを特徴とする請求項１７に記載のコンピューティングデバイス。
【請求項２６】
プロセッサと、
前記プロセッサに接続されているメモリと
を具備し、
前記プロセッサは、
第２コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む前記第２コンピューティングデバイスからのメッセージを受け取る手順と、
前記受け取った形状をメモリ内に保存されているコード形状の形状パラメータと比較する手順と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する手順と
を実行するように構成されていることを特徴とする第１コンピューティングデバイス。
【請求項２７】
タッチ表面上に描かれた形状を受け取るための手段と、
前記受け取った形状をメモリ内に保存されているコード形状と比較するための手段と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施するための手段と
を具備し、
前記コード形状は、順に描かれると形状を再現することになる因子の組からなることを特徴とするコンピューティングデバイス。
【請求項２８】
前記因子が、線、曲線、およびドットを含むことを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項２９】
前記受け取った形状が前記コード形状に相関していない場合、前記受け取った形状をタッチ表面のユーザインターフェースコマンドとして処理するための手段をさらに具備することを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３０】
前記タッチ表面上に描かれた形状を受け取るための手段と、
前記受け取った形状を前記コード形状としてメモリ内に保存するための手段と、
前記保存済みのコード形状に動作をリンクさせるための手段と
をさらに具備することを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３１】
前記タッチ表面上に描かれた形状を受け取るための手段と、
前記受け取った形状を定義するパラメータを確定するための手段と、
前記形状を定義するパラメータを前記コード形状としてメモリ内に保存するための手段と、
前記保存済みのコード形状に動作をリンクさせるための手段と
をさらに具備することを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３２】
前記タッチ表面上に描かれた形状を複数回受け取るための手段と、
前記複数の受け取った形状を示す元の形状を定義するパラメータを確定するための手段と、
前記元の形状について前記複数の受け取った形状の変動を確定するための手段と、
前記元の形状を定義するパラメータおよび前記確定された変動を前記コード形状としてメモリ内に保存するための手段と、
前記保存済みのコード形状に動作をリンクさせるための手段と
をさらに具備し、
前記受け取った形状をメモリ内に保存されているコード形状と比較するための手段は、前記受け取った形状が、前記確定された変動内で前記元の形状に相関しているかどうかを確定するための手段を含むことを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３３】
キーストロークのシーケンスを受け取るための手段をさらに具備し、
前記保存済みのコード形状に動作をリンクさせるための手段が、前記受け取ったキーストロークのシーケンスを前記コード形状に相関付けてメモリ内に保存するための手段を含むことを特徴とする請求項３０に記載のコンピューティングデバイス。
【請求項３４】
アプリケーションの識別を受け取るための手段をさらに具備し、
前記保存済みのコード形状に動作をリンクさせるための手段が、前記識別されたアプリケーションに対するリンクを前記コード形状に相関付けてメモリ内に保存するための手段を含むことを特徴とする請求項３０に記載のコンピューティングデバイス。
【請求項３５】
前記タッチ表面が、タッチスクリーンとタッチパッドとのうちの１つであることを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３６】
前記コード形状が、データテーブル内に保存され、
前記受け取った形状を前記コード形状と比較するための手段が、前記受け取った形状を前記データテーブルと比較するための手段を含むことを特徴とする請求項２７に記載のコンピューティングデバイス。
【請求項３７】
ファイルまたはアプリケーションが開かれている間、コード形状を訓練する要求コマンドを受け取るための手段をさらに具備し、
前記保存済みのコード形状に動作をリンクさせるための手段が、前記保存済みのコード形状に、前記開かれているファイルまたはアプリケーションに対するアドレスをリンクさせる手段を含むことを特徴とする請求項３０に記載のコンピューティングデバイス。
【請求項３８】
ファイルまたはアプリケーションがグラフィカルなユーザインターフェースにおいて強調表示される間、コード形状を訓練する要求コマンドを受け取るための手段をさらに具備し、
前記保存済みのコード形状に動作をリンクさせるための手段が、前記受け取ったキーストロークのシーケンスをメモリ内に保存し、前記保存済みのコード形状に、前記強調表示されたファイルまたはアプリケーションに対するアドレスをリンクさせるための手段を含むことを特徴とする請求項３０に記載のコンピューティングデバイス。
【請求項３９】
第２コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む前記第２コンピューティングデバイスからのメッセージを受け取るための手段と、
前記受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較するための手段と、
前記受け取った形状が前記コード形状と相関している場合、前記保存済みのコード形状にリンクされた動作を実施するための手段と
を具備することを特徴とする第１コンピューティングデバイス。
【請求項４０】
コンピュータに、
タッチ表面上に描かれた形状を受け取る手順と、
前記受け取った形状をメモリ内に保存されているコード形状と比較する手順と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する手順と
を実行させ、
前記コード形状は、順に描かれると形状を再現することになる因子の組からなることを特徴とするコンピュータプログラム。
【請求項４１】
前記因子が、線、曲線、およびドットを含むことを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４２】
前記コンピュータに、
前記受け取った形状が前記コード形状に相関していない場合、前記受け取った形状をタッチ表面のユーザインターフェースコマンドとして処理する手順をさらに実行させることを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４３】
前記コンピュータに、
前記タッチ表面上に描かれた形状を受け取る手順と、
前記受け取った形状を前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行させることを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４４】
前記コンピュータに、
前記タッチ表面上に描かれた形状を受け取る手順と、
前記受け取った形状を定義するパラメータを確定する手順と、
前記形状を定義するパラメータを前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行させることを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４５】
前記コンピュータに、
前記タッチ表面上に描かれた形状を複数回受け取る手順と、
前記複数の受け取った形状を示す元の形状を定義するパラメータを確定する手順と、
前記元の形状について前記複数の受け取った形状の変動を確定する手順と、
前記元の形状を定義するパラメータおよび前記確定された変動を前記コード形状としてメモリ内に保存する手順と、
前記保存済みのコード形状に動作をリンクさせる手順と
をさらに実行させ、
前記受け取った形状をメモリ内に保存されているコード形状と比較する手順は、前記受け取った形状が、前記確定された変動内で前記元の形状に相関しているかどうかを確定する手順を含むことを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４６】
前記コンピュータに、
キーストロークのシーケンスを受け取る手順をさらに実行させ、
前記保存済みのコード形状に動作をリンクさせる手順が、前記受け取ったキーストロークのシーケンスを前記コード形状に相関付けてメモリ内に保存する手順を含むことを特徴とする請求項４３に記載のコンピュータプログラム。
【請求項４７】
前記コンピュータに、
アプリケーションの識別を受け取る手順をさらに実行させ、
前記保存済みのコード形状に動作をリンクさせる手順が、前記識別されたアプリケーションに対するリンクを前記コード形状に相関付けてメモリ内に保存する手順を含むことを特徴とする請求項４３に記載のコンピュータプログラム。
【請求項４８】
前記コード形状が、データテーブル内に保存され、
前記受け取った形状を前記コード形状と比較する手順が、前記受け取った形状を前記データテーブルと比較する手順を含むことを特徴とする請求項４０に記載のコンピュータプログラム。
【請求項４９】
前記コンピュータに、
ファイルまたはアプリケーションが開かれている場合、コード形状を訓練する要求コマンドを受け取る手順をさらに実行させ、
前記保存済みのコード形状に動作をリンクさせる手順が、前記保存済みのコード形状に、前記開かれているファイルまたはアプリケーションに対するアドレスをリンクさせる手順を含むことを特徴とする請求項４３に記載のコンピュータプログラム。
【請求項５０】
前記コンピュータに、
ファイルまたはアプリケーションがグラフィカルなユーザインターフェースにおいて強調表示される間、コード形状を訓練する要求コマンドを受け取る手順をさらに実行させ、
前記保存済みのコード形状に動作をリンクさせる手順が、前記保存済みのコード形状に、前記強調表示されたファイルまたはアプリケーションに対するアドレスをリンクさせる手順を含むことを特徴とする請求項４３に記載のコンピュータプログラム。
【請求項５１】
コンピュータに、
第２コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む前記第２コンピューティングデバイスからのメッセージを第１コンピューティングデバイスにおいて受け取る手順と、
前記受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較する手順と、
前記受け取った形状が前記コード形状に相関している場合、前記保存済みのコード形状にリンクされた動作を実施する手順と
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータユーザインターフェースシステムに関し、より詳細には、コンピューティングデバイス上の所望の動作を選択し、実施するためのユーザ定義の形状に関する。
【背景技術】
【０００２】
個人用電子機器（例えば、携帯電話、PDA、ラップトップ、ゲーム用機器）は、増えつつある機能やデータ保存をユーザに提供する。現在、多数のアプリケーションが、個人用電子機器に利用可能であり、一般的な機器は、数十のアプリケーションを含むことが可能である。アプリケーションを、タッチスクリーンディスプレイ上に見られるアイコンの形態などによって、メニューに示すことが可能である。所望のアプリケーションを見つけるために労力を要する場合があり、容易なアクセスのためにアイコンをデスクトップディスプレイ上に置くことは、ディスプレイを乱雑にさせることになり得、携帯電話などの小型機器においては現実的でない場合がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】C. Li and K. Hui, "A Template-matching Approach to Free-form Feature Recognition", Information Visualization IV'2000, IEEE
【非特許文献２】S. Agarwal and V. Kumar, "Online Character Recognition", Proceedings of the Third International Conference on Information Technology and Applications (ICITA'05), IEEE
【非特許文献３】M. Pastor, et. al, "Writing Speed Normalization for on-Line Handwritten Text Recognition", Proceedings of the 2005 Eight International Conference on Document Analysis and Recognition (ICDAR'05), IEEE
【発明の概要】
【課題を解決するための手段】
【０００４】
様々な態様は、ユーザが、タッチスクリーンディスプレイなどのグラフィカルユーザインターフェースを使用して図を描くことによって、アプリケーションにアクセスする、または機能を実施することを可能にするための方法およびシステムを提供する。一態様においては、コンピューティングデバイス上の動作を初期化するための方法は、タッチ表面上に描かれた形状を受け取る段階と、受け取った形状をメモリ内に保存されているコード形状と比較する段階と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施する段階とを有する。上記方法は、受け取った形状がコード形状に相関していない場合、形状をタッチ表面のユーザインターフェースコマンドとして処理する段階を有することが可能である。また、上記方法は、タッチ表面上に描かれた形状を受け取る段階と、受け取った形状をコード形状としてメモリ内に保存する段階と、保存済みのコード形状に動作をリンクさせる段階とを有してもよい。形状は、受け取った形状を定義するパラメータを確定し、形状を定義するパラメータをコード形状として保存するために処理可能である。また、上記方法は、タッチ表面上に描かれた形状を複数回受け取る段階と、複数の受け取った形状を示す元の形状（nominal shape）を定義するパラメータを確定する段階と、元の形状について複数の受け取った形状の変動を確定する段階と、元の形状を定義するパラメータおよび確定された変動をコード形状としてメモリ内に保存する段階とを有してもよく、受け取った形状をメモリ内に保存されているコード形状と比較する段階は、受け取った形状が、確定された変動内で元の形状に相関しているかどうかを確定する段階を含む。また、上記方法は、キーストロークのシーケンスを受け取る段階を有しても、または、アプリケーションの識別を受け取る段階を有してもよく、保存済みのコード形状に動作をリンクさせる段階は、受け取ったキーストロークのシーケンス、またはアプリケーションをコード形状に相関付けてメモリ内に保存する段階を含む。
【０００５】
別の態様においては、通信を行う方法は、第2コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む第2コンピューティングデバイスからのメッセージを第1コンピューティングデバイスにおいて受け取る段階と、受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較する段階と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施する段階とを有する。
【０００６】
別の態様においては、プロセッサと、プロセッサに接続されているタッチ表面と、プロセッサに接続されているメモリとを具備したコンピューティングデバイスが提示され、プロセッサは、タッチ表面上に描かれた形状を受け取り、受け取った形状をメモリ内に保存されているコード形状と比較し、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するように構成されている。コンピューティングデバイスのプロセッサは、受け取った形状がコード形状に相関していない場合、形状をタッチ表面のユーザインターフェースコマンドとして処理するようにさらに構成可能である。コンピューティングデバイスのプロセッサは、タッチ表面上に描かれた形状を受け取り、受け取った形状をコード形状としてメモリ内に保存し、保存済みのコード形状に動作をリンクさせるようにさらに構成可能である。コンピューティングデバイスのプロセッサは、受け取った形状を定義するパラメータを確定し、形状を定義するパラメータをコード形状としてメモリ内に保存するようにさらに構成可能である。コンピューティングデバイスのプロセッサは、タッチ表面上に描かれた形状を複数回受け取り、複数の受け取った形状を示す元の形状を定義するパラメータを確定し、元の形状について複数の受け取った形状の変動を確定し、元の形状を定義するパラメータと、確定された変動とをコード形状としてメモリ内に保存し、保存済みのコード形状に動作をリンクさせるようにさらに構成可能であり、受け取った形状をメモリ内に保存されているコード形状と比較することは、受け取った形状が確定された変動内で元の形状に相関しているかどうかを確定することを含む。コンピューティングデバイスのプロセッサは、キーストロークのシーケンス、またはアプリケーションの識別を受け取るようにさらに構成可能であり、保存済みのコード形状に動作をリンクさせることは、受け取ったキーストロークのシーケンスをコード形状に相関付けてメモリ内に保存することを含む。タッチ表面は、タッチスクリーンとタッチパッドとのうちの1つであってよい。
【０００７】
別の態様においては、コンピューティングデバイスは、プロセッサと、プロセッサに接続されているメモリとを具備し、プロセッサは、第2コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む第2コンピューティングデバイスからのメッセージを受け取り、受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較し、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するように構成されている。
【０００８】
別の態様においては、コンピューティングデバイスは、タッチ表面上に描かれた形状を受け取るための手段と、受け取った形状をメモリ内に保存されているコード形状と比較するための手段と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するための手段とを具備する。また、コンピューティングデバイスは、受け取った形状がコード形状に相関していない場合、形状をタッチ表面のユーザインターフェースコマンドとして処理するための手段と、タッチ表面上に描かれた形状を受け取るための手段と、受け取った形状をコード形状としてメモリ内に保存するための手段と、保存済みのコード形状に動作をリンクさせるための手段とを具備することが可能である。また、コンピューティングデバイスは、タッチ表面上に描かれた形状を受け取るための手段と、受け取った形状を定義するパラメータを確定するための手段と、形状を定義するパラメータをコード形状としてメモリ内に保存するための手段と、保存済みのコード形状に動作をリンクさせるための手段とを具備することが可能である。また、コンピューティングデバイスは、タッチ表面上に描かれた形状を複数回受け取るための手段と、複数の受け取った形状を示す元の形状を定義するパラメータを確定するための手段と、元の形状について複数の受け取った形状の変動を確定するための手段と、元の形状を定義するパラメータと確定された変動とをコード形状としてメモリ内に保存するための手段と、保存済みのコード形状に動作をリンクさせるための手段とを具備することが可能であり、受け取った形状をメモリ内に保存されているコード形状と比較するための手段は、受け取った形状が、確定された変動内で元の形状に相関しているかどうかを確定するための手段を含む。また、コンピューティングデバイスは、キーストロークのシーケンスを受け取るための手段と、アプリケーションの識別を受け取るための手段とを具備してもよく、保存済みのコード形状に動作をリンクさせるための手段は、保存済みのキーストロークのシーケンス、または識別されたアプリケーションに対するリンクをコード形状に相関付けてメモリ内に保存するための手段を含む。
【０００９】
別の態様においては、もう1つのコンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含むそのもう1つのコンピューティングデバイスからのメッセージを受け取るための手段と、受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較するための手段と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するための手段とを具備したコンピューティングデバイスが提示される。
【００１０】
別の態様においては、タッチ表面上に描かれた形状を受け取るための少なくとも1つの命令と、受け取った形状をメモリ内に保存されているコード形状と比較するための少なくとも1つの命令と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するための少なくとも1つの命令とを格納したコンピュータ読み取り可能な記録媒体からなるコンピュータプログラム製品が提示される。また、コンピュータ読み取り可能な記録媒体は、受け取った形状がコード形状に相関していない場合、形状をタッチ表面のユーザインターフェースコマンドとして処理するための少なくとも1つの命令を格納してもよい。また、コンピュータ読み取り可能な記録媒体は、タッチ表面上に描かれた形状を受け取るための少なくとも1つの命令と、受け取った形状をコード形状としてメモリ内に保存するための少なくとも1つの命令と、保存済みのコード形状に動作をリンクさせるための少なくとも1つの命令とを格納してもよい。また、コンピュータ読み取り可能な記録媒体は、タッチ表面上に描かれた形状を受け取るための少なくとも1つの命令と、受け取った形状を定義するパラメータを確定するための少なくとも1つの命令と、形状を定義するパラメータをコード形状としてメモリ内に保存するための少なくとも1つの命令と、保存済みのコード形状に動作をリンクさせるための少なくとも1つの命令とを格納してもよい。また、コンピュータ読み取り可能な記録媒体は、タッチ表面上に描かれた形状を複数回受け取るための少なくとも1つの命令と、複数の受け取った形状を示す元の形状を定義するパラメータを確定するための少なくとも1つの命令と、元の形状について複数の受け取った形状の変動を確定するための少なくとも1つの命令と、元の形状を定義するパラメータと確定された変動とをコード形状としてメモリ内に保存するための少なくとも1つの命令と、保存済みのコード形状に動作をリンクさせるための少なくとも1つの命令とを格納してもよく、受け取った形状をメモリ内に保存されているコード形状と比較するための少なくとも1つの命令は、受け取った形状が、確定された変動内で元の形状に相関しているかどうかを確定するための少なくとも1つの命令を含む。また、コンピュータ読み取り可能な記録媒体は、キーストロークのシーケンスを受け取るための少なくとも1つの命令を格納してもよく、保存済みのコード形状に動作をリンクさせるための少なくとも1つの命令は、受け取ったキーストロークのシーケンスをコード形状に相関付けてメモリ内に保存するための少なくとも1つの命令を含む。また、コンピュータ読み取り可能な記録媒体は、アプリケーションの識別を受け取るための少なくとも1つの命令を格納してもよく、保存済みのコード形状に動作をリンクさせるための少なくとも１つの命令は、識別されたアプリケーションに対するリンクをコード形状に相関付けてメモリ内に保存するための少なくとも1つの命令を含む。
【００１１】
別の態様においては、第2コンピューティングデバイスのタッチスクリーン上に描いた形状の形状パラメータを含む第2コンピューティングデバイスからのメッセージを第1コンピューティングデバイスにおいて受け取るための少なくとも1つの命令と、受け取った形状パラメータをメモリ内に保存されているコード形状の形状パラメータと比較するための少なくとも1つの命令と、受け取った形状がコード形状に相関している場合、保存済みのコード形状にリンクされた動作を実施するための少なくとも1つの命令とを格納したコンピュータ読み取り可能な記録媒体からなるコンピュータプログラム製品が提示される。
【００１２】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上述した概括的な説明および後述する詳細な説明とともに、図面は、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１３】
【図１】本発明の様々な態様の概要プロセスを示すプロセス流れ図である。
【図２Ａ】タッチスクリーンのユーザインターフェース上に入力された形状例を示す図である。
【図２Ｂ】タッチスクリーンのユーザインターフェース上に入力された形状例を示す図である。
【図２Ｃ】タッチスクリーンのユーザインターフェース上に入力された形状例を示す図である。
【図２Ｄ】タッチスクリーンのユーザインターフェース上に入力された形状例を示す図である。
【図３】コード形状を作成するための方法のプロセス流れ図である。
【図４】コード形状を作成し、それを所望の動作にリンクさせるための方法のプロセス流れ図である。
【図５】コード形状を所望の動作にリンクさせるための方法のプロセス流れ図である。
【図６】コード形状を所望の動作にリンクさせるための代替方法のプロセス流れ図である。
【図７】形状を受け取り、それがコード形状に相関している場合、所望の動作を実施するための方法のプロセス流れ図である。
【図８】コード形状を保存するためのデータ構造例を示す図である。
【図９】コード形状と、対応する所望の動作とを保存するためのデータ構造例を示す図である。
【図１０】コード形状と、所望の動作を結び付ける過程とを交差相関データテーブル内に保存するための代替データ構造例を示す図である。
【図１１】本発明の態様による通信を示す通信ネットワーク図である。
【図１２】形状パラメータを使用して、2つの通信デバイス間で通信を行うためのプロセス流れ図である。
【図１３】本発明の様々な態様とともに使用するのに適切な携帯型コンピューティングデバイス例の構成要素ブロック図である。
【図１４】本発明の様々な態様とともに使用するのに適切なコンピュータの構成要素ブロック図である。
【発明を実施するための形態】
【００１４】
様々な態様を、添付の図面を参照して詳細に説明する。可能な限り、同一の参照番号を図面全体にわたって同一または類似の部分を示すために使用する。具体的な例および実装形態に対する参照は、例示的な目的のためのものであり、本発明の範囲または特許請求の範囲を制限するものではない。
【００１５】
本明細書に使用する限り、「タッチスクリーン」は、関連する画像ディスプレイを有するタッチ入力デバイスである。本明細書において使用する限り、「タッチパッド」は、関連する画像ディスプレイがないタッチ入力デバイスである。例えば、タッチパッドは、画像ディスプレイ範囲の外側の電子デバイスのいずれかの表面上に実装可能である。タッチスクリーンおよびタッチパッドを、本明細書においては、概して「タッチ表面」と呼ぶ。タッチ表面は、有線または無線のデータリンクによって電子デバイスに接続可能なタッチスクリーンディスプレイなど、電子デバイスの一体部分であっても、またはタッチパッドなど、個別モジュールであってもよい。
【００１６】
本明細書に使用する限り、用語「電子デバイス」または「コンピューティングデバイス」は、携帯電話、パーソナルデータアシスタント（PDA）、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機および携帯電話受信機（例えば、Blackberry（登録商標）およびTreo（登録商標）デバイス）、マルチメディアインターネット接続可能携帯電話（例えば、iPhone（登録商標））、ならびにプログラマブルプロセッサ、メモリ、および接続型もしくは一体型のタッチ表面を含む類似する電子デバイスのうちのいずれか1つまたはすべてを示す。本発明は、一体型のタッチ表面か、あるいは有線のデータリンク（例えば、USB、またはFireWire（登録商標）データケーブル）、または無線のデータリンク（例えば、BlueTooth（登録商標）データリンク）によってなど、電子デバイスに接続可能なタッチ表面かのいずれかを有する任意のタイプの携帯型または携帯型でない電子デバイスに適用可能である。好ましい態様においては、電子デバイスは、一体型のタッチスクリーンディスプレイを含む携帯電話である。
【００１７】
本明細書において使用する限り、「形状」は、タッチ表面（すなわち、タッチスクリーンもしくはタッチパッド）上に、ユーザによって定義される1つまたは複数のタッチ、および／または1本または複数の線の任意のシーケンスを示す。この文脈においては、形状は、タッチ表面上の単一のタップのように単純であっても、またはタッチ表面上に描かれた多数のタッチ線およびループのように複雑であってもよい。
【００１８】
本明細書において使用する限り、「エンベロープ」は、タッチ表面上のユーザによって描かれた形状の固有の変動を明らかにする形状パラメータの許容可能な範囲を示す。パラメータは例えば、相対X軸位置、相対Y軸位置、描画速度、および線の太さ（すなわち、接触面積）であってよく、これらのそれぞれは対時間である。パラメータは、時間に対して、またはタッチ表面上の相対位置に対してエンベロープ可能である。
【００１９】
本発明の様々な態様は、タッチ表面上に特定の図または形状を描くことによって、所定のアプリケーション、ファイル、機能、またはキーストロークシーケンスをアクティブにするための方法およびシステムを提供する。参照しやすいように、所望の所定の動作にリンクされた記憶済みの図または形状を、本明細書においては「コード形状」と呼ぶ。ユーザは、短い時間期間内に、一連の動きおよびタッチでタッチ表面上に特定の形状を描くことによってそれを認識するように、コンピューティングデバイスを訓練することによってコード形状を作成することが可能である。一連の動きおよびタッチは、処理され、メモリ内に保存される。一連の動きは、制限されたデータセットで形状を定義する形状パラメータへと形状を簡素化するように処理可能である。ユーザは、ユーザによって描かれる形状における変動を記録するために、コード形状を数回描くことを求められる場合がある。このような変動は、統計的変動を確定し、認識アルゴリズムにおいて使用可能な形状コードの境界エンベロープを定義するために使用可能である。形状パラメータおよび関連する統計的変動またはエンベロープは、形状コードとして保存可能である。保存済みのコード形状は、特定のアプリケーション、ファイル、機能、またはキーストロークシーケンスを実施するなど、所望の動作にリンクされてよく、そのリンクもまた、メモリ内に保存される。このリンクは、コード形状テーブル内で保存されても、または交差相関関数テーブル内で保存されてもよい。
【００２０】
コード形状が作成され、所望の動作への相関付けが終わると、ユーザは、タッチ表面上にコード形状を描くことによって、リンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスをアクティブにすることが可能である。形状が、タッチ表面上に描かれると、コンピューティングデバイスは、入力形状を受け取り、それらを形状コードのテーブルと比較して、ユーザが形状コードを入力したかどうかを確定することが可能である。タッチ表面上に入力されている形状と、保存済みのコード形状との間に相関がない場合、ユーザの入力は、標準的なタッチ表面ユーザ入力として受取り可能であり、処理可能である。入力された形状が、（例えば、統計的な許容閾値内で）保存済みのコード形状と一致する場合、リンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスは、メモリから呼戻し可能であり、初期化可能である。コード形状およびリンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスシーケンスは、有形の媒体上に保存可能な、かつ／または別のデバイスに転送することを可能にする通信リンクを介して伝送可能な1つまたは複数のデータテーブル内に保存可能である。リンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスを第2のコンピューティングデバイス上で実行させるために、形状は、コード形状テーブルまたは複数のテーブルを含む第2のコンピューティングデバイスに伝えられる形状パラメータとともに、第1のデバイスのタッチ表面上に入力可能である。
【００２１】
ユーザが機能を形状にリンクさせることを可能にすることによって、様々な態様は、ユーザ自身の形状作成によりカスタマイズすることが可能な、有効なユーザインターフェースを提供する。多くの人にとって、ファイルネームまたは一連の機能コマンドよりも、特定の形状を覚えることの方が容易である可能性がある。ユーザは、自身が特定の機能またはファイルと必然的に関連付ける形状を使用することが可能である。例えば、ユーザは、計算機のアプリケーションを起動するために、タッチスクリーン上に描かれたプラス記号（「+」）の形態でのコード形状をリンクさせ、個人資産のアプリケーションに対しては、ドル記号（「$」）の形態で形作られたコードをリンクさせ、かつインターネットブラウザに対しては、大文字Wをリンクさせることが可能である。これらの例が示すように、コード形状は、リンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスをアクティブにするための有効な方法を提供するために、覚え易いだけでなく、タッチスクリーンまたはタッチパッド内に入力し易いことが望ましい。
【００２２】
図1は、本発明の様々な態様の概要を示すプロセス流れ図である。ユーザが、コード形状を作成すると、コンピューティングデバイスが1回または複数回タッチ表面上にユーザによって描かれた形状を受け取り、その形状、または形状を示すパラメータをメモリ内に保存する（ブロック2）。コード形状を訓練し、保存することに関するさらなる詳細については、図3に関して後述する。コード形状が定義されると、それは、ユーザによって、保存済みのコード形状およびそのリンクを保存するコンピューティングデバイスに関連付けるべき所望の動作を示す特定のアプリケーション、ファイル、機能、またはキーストロークシーケンスにリンク可能である（ブロック4）。コード形状を、特定のアプリケーション、ファイル、機能、またはキーストロークシーケンスにリンクさせることに関するさらなる詳細については、図4および図5に関して後述する。その後、形状入力は、ユーザがタッチスクリーンなどのタッチ表面上に描いた際に、常に受け取られ（ブロック6）、保存済みのコード形状と比較されて、一致が存在しているかどうかが確定される（決定ブロック8）。一致が存在しない場合（すなわち、決定ブロック8=「いいえ」）、タッチ表面からの入力は、標準的なタッチ表面ユーザ入力として処理可能である（ブロック10）。したがって、ユーザが、図を描き、テキストを書く場合、その図またはテキストは、普通の内容で処理可能である。しかし、形状入力が、保存済みのコード形状と一致する場合（すなわち、決定ブロック8=「はい」）、コンピューティングデバイスは、リンクされたアプリケーション、ファイル、機能、またはキーストロークシーケンスを実行するか、またはアクティブにする（ブロック12）。コード形状を認識すること、および特定のアプリケーション、ファイル、機能、またはキーストロークシーケンスを実行することに関するさらなる詳細については、図7に関して後述する。
【００２３】
コード形状は、指またはスタイラスによってタッチ表面上に描画可能な様々なタップ、線、およびループを包含することが可能である。例えば、図2Aは、タッチスクリーン20上に描かれた形状を示し、それは、タッチスクリーン20の上側左領域内に第1のタップ21aを含み、その後に左方向から右方向に下向きに描かれた線22が続き、その後にタッチスクリーン20の下側右領域に2つのタップ21b，21cが続く。別の例として、図2Bは、連続的な水平に配向されたループ24を含むタッチスクリーン20上に描かれた形状を示し、そのループは、下側左手隅部からスタートし、上側左手隅部で終わる。第3の例として、図2Cは、弧27と、2つのタップ28a，28bとを囲む円26を含むタッチスクリーン20上に描かれた「ハッピーフェース」形状を示し、その形状は、円の描画から始まり、第2のタップ28bで終わる。
【００２４】
タッチ表面内に入力された形状は、寸法および角度において本質的に違いがあることになるので、コンピューティングデバイスを訓練するプロセス（図1におけるブロック2）は、コンピューティングデバイスがこのような変動を分析することが可能になるように、同じ形状を数回、ユーザに入力させる必要がある場合がある。これを、単一のループコード形状の3つのバージョン24a，24b，24cを示す図2Dに示している。この図が示すように、ユーザによってタッチスクリーン20内に入力される2つの形状が、すべての態様において同一である可能性は低い。にもかかわらず、ユーザのコード形状は、このような変動内で識別可能な、認識できる特徴またはパラメータを含む可能性が高い。いくつかの形状エントリを比較することによって、コンピューティングデバイスは、特定のユーザ形状エントリが保存済みのコード形状と一致するときを認識するために使用可能な統計的な境界または相関閾値を確定することが可能である。例えば、平均的な形状が、エンベロープ（例えば、平均的な形状についての1つまたは2つの標準偏差）とともに、複数の形状エントリ24a，24b，24cから演算可能である。別の例としては、平均的な形状が、複数の形状エントリ24a，24b，24cのすべてがその平均的な形状に相関している角度をそれに対して反映する形状相関値とともに、複数の形状エントリ24a，24b，24cから演算可能である。コンピューティングデバイスがコード形状をタッチ表面上に描かれた他の形状と確実に区別することを可能にするために、様々な統計的な方法を使用して、ユーザが描いた形状の変動を明らかにすることが可能である。
【００２５】
コード形状は、形状を特徴付けるための様々な方法を使用して、分析可能であり、保存可能である。例えば、第1の方法においては、コード形状は、離間距離が等しい一連の点としてか、または一連の座標対時間としてかのいずれかで、データテーブルにおける一連のX位置およびY位置の値として保存可能である。第2の方法例においては、コード形状は、一連の（線、曲線、およびドットなどの）プリミティブによって、特徴付け可能なセグメントを識別するように分析可能である。第3の方法例においては、コード形状は、順に描かれると、形状を再現することになる因子の組に対するリンクを確定するように分析可能である。コード形状を保存するために使用される特定のデータフォーマットは、形状、ならびにアルゴリズムを特徴付けるために必要なデータの量に基づいて選択可能であり、そのアルゴリズムは、入力済みの形状を保存済みのコード形状と比較するために使用される。本発明の様々な態様は、特定のデータ構造または形状特徴付け方法に限定するものではない。参照し易いように、形状を特徴付ける情報を、「形状パラメータ」と呼ぶ。したがって、形状パラメータは、第1の方法例においては、X点およびY点対距離または時間となり、第2の方法例においては、一連のプリミティブとなり、第3の方法例においては、一連のベクトルとなる。
【００２６】
図3は、特定のコード形状を認識するコンピューティングデバイスを訓練するための方法を示している。訓練するプロセスを開始するために、ユーザは、メニュー機能を選択するか、またはキーを押して、形状が訓練を行う目的で入力されようとしていることをコンピューティングデバイスに伝えることが可能である（ブロック30）。開始入力を受け取った後、コンピューティングデバイスは、X座標およびY座標対時間の形態などによって、タッチ表面からの形状を受け取ることが可能である（ブロック31）。コンピューティングデバイスは、2秒など、プリセットの量の時間の間、形状入力を受け取ることが可能であり、その後、入力された形状情報は処理される。あるいは、ユーザは、キーを押すか、または別の形で、形状エントリが完了していることを示すことが可能である（図3には示していない）。形状の入力が終わると、コンピューティングデバイスは、入力済みの形状を処理して、形状を定義するパラメータを確定することが可能である（ブロック32）。上述したように、処理および形状パラメータは、形状を定義し、それをメモリ内に保存するために使用される方法によって決まることになる。1つの実装形態においては、形状は、サンプリング時間に対応する一連のXおよびYのタッチスクリーン寸法として抽象化可能であり、その例を図8に示す。別の実装形態においては、形状は、（角度データおよび長さデータの対の形態でなどの）一連のベクトルとして抽象化可能である。次いで、コンピューティングデバイスは、形状の変動の統計的な分析を可能にするために十分な形状入力が入力されたかどうかを確定することが可能である（決定ブロック33）。それ以上の形状入力が必要な場合（すなわち、決定ブロック33=「いいえ」）、コンピューティングデバイスは、ユーザに、形状を再度入力するように指示することが可能である（ブロック34）。十分な形状の入力が終わると（すなわち、決定ブロック33=「はい」）、コンピューティングデバイスは、統計的なアルゴリズムを適用して、形状パラメータの統計的な境界を確定することが可能である（ブロック35）。上述したように、この統計的な分析は、エンベロープを定義することが可能であり、その中で、入力済みの形状が保存済みのコード形状に対応する。あるいは、この統計的な分析は、形状相関閾値を定義することが可能であり、その閾値は、満たされれば、入力された形状が、訓練する間、ユーザによって入力される形状の変動内に入ることを示している。最終的には、境界値または相関閾値とともに形状パラメータは、メモリ内に保存可能である（ブロック36）。
【００２７】
コード形状は、定義がなされたとき、図4に示す特定のアプリケーション、ファイル、機能、またはキーストロークのシーケンスにリンク可能である。いくつかの実装形態においては、機能をコード形状にリンクさせるための複数の方法が提供可能であり、他の実装形態においては、単一の機能リンク方法が提供可能である。図4に示す実装形態例においては、コード形状を所望の動作にリンクさせるための3つの異なる方法をユーザに提案する。図4に示す方法においては、コード形状が（図3に関して上述した）ブロック30から36に示すプロセスを実行することによって定義されると、コンピューティングデバイスは、様々なオプションのメニューを示すことが可能であり、それによって、ユーザは、それを特定のアプリケーション、ファイル、機能、またはキーストロークのシーケンスにリンクさせることが可能である（ブロック40）。このようなメニューは、所望の動作がキーストローク／メニュー選択のシーケンスとして入力されたかどうか（ブロック41〜43）、アプリケーション、機能、またはファイルのメニューから選択されかどうか（ブロック44〜46）、あるいは、画像もしくはテキストファイルまたはビットアプリケーションの名前などのファイルの名前として入力されたかどうか（ブロック47〜49）をユーザが選択することを可能にすることになる。
【００２８】
ユーザがキーストロークまたはメニュー選択のシーケンスを入力するオプションを選択した場合には、コンピューティングデバイスは、ユーザにキーストロークまたはメニュー選択を入力し始めるように指示することが可能である（ブロック41）。その後、コンピューティングデバイスは、ユーザによって入力されたキーストロークまたはメニュー選択を受け取り、記録する（ブロック42）。エントリキーストロークまたはメニュー選択は、コンピューティングデバイスが、ユーザがキーストロークを入力することを止めた、または特定のシーケンス終了キーが押されたなど、キーストロークエントリが完了しているという信号を受け取るまで継続することが可能である。キーストロークおよびメニュー選択の入力が終わると、記録されたシーケンスは、特定のコード形状にリンクされたデータテーブル内に保存可能である（ブロック43）。このようにして、ユーザは、ステップのシーケンスを実行するか、またはブロック42の間に入力されたキーストロークおよびメニュー選択のシーケンスを再現することによって1つまたは複数のアプリケーションをアクティブにするコンピューティングデバイスを構成することが可能である。したがって、このプログラミングプロセスは、コード形状を広範にわたる動作にリンクさせる柔軟性をユーザにもたらす。例えば、ユーザは、メニュー選択のシーケンスでSMSアプリケーションを選択し、所望のテキストメッセージおよびキー押下のシーケンスをタイピングし、宛先電話番号およびキー押下のシーケンスを入力し、キーシーケンスエントリプロセスを終了する前に送信メニューオプションを選択することによって、特定の携帯電話番号に何らかのテキストメッセージを送るように携帯電話におけるコード形状を構成することが可能である。その後、対応するコード形状が携帯電話のタッチスクリーン内に入力される際には、常に、携帯電話は、宛先電話番号に送られている所望のテキストメッセージをもたらすメニュー選択およびキー押下の保存済みシーケンスを実施することになる。
【００２９】
ユーザが、メニューを使用して、コード形状にリンクさせるファイルまたはアプリケーションを選択するオプションを選択した場合、コンピューティングデバイスは、アプリケーションまたはファイルのメニューをユーザに示すことが可能である（ブロック44）。このメニューは、ファイルおよびアプリケーションのリスト、またはファイルおよびアプリケーションアイコンのグラフィカルなユーザインターフェースなど、コンピューティングデバイス上で使用可能なメニューまたはユーザインターフェースディスプレイのいずれかであってよい。次いで、コンピューティングデバイスは、ユーザ選択を受け取ることが可能であり（ブロック45）、特定のコード形状にリンクすべき対象としてファイルまたはアプリケーションの選択を認識する。次いで、選択されたファイルまたはアプリケーションに対するファイル名またはリンクは、特定のコード形状にリンクされたデータテーブル内に保存可能である（ブロック46）。その後、対応するコード形状が、コンピューティングデバイスのタッチ表面内に入力される際には、常に、コンピューティングデバイスは、リンクされたファイルを実施するか、またはリンクされたアプリケーションをアクティブにすることになる。例えば、リンクされたファイルがグラフィックファイルである場合、コンピューティングデバイスは、必要に応じて、グラフィックアプリケーションも開始することを含むことが可能なグラフィックを表示することが可能である。別の例としては、コード形状が計算機アプリケーションにリンクされた場合、コード形状の認識は、計算機アプリケーションを起動させることになる。
【００３０】
ユーザがコード形状にリンクすべき名前を入力するオプションを選択した場合、コンピューティングデバイスは、ユーザに所望のファイルまたはアプリケーションの名前を入力するように指示することが可能である（ブロック47）。コンピューティングデバイスは、入力されたファイルの名前を受け取り（ブロック48）、それを、特定のコード形状にリンクされたデータテーブル内に保存する（ブロック49）。その後、対応するコード形状がコンピューティングデバイスのタッチ表面内に入力される際には、常に、コンピューティングデバイスは、リンクされたファイルの名前を実施することになる。
【００３１】
図4は、コード形状が定義された後に、その形状にリンクすべき特定のアプリケーション、ファイル、機能、またはキーストロークのシーケンスを選択するプロセスを示している。ただし、プロセスの順序は逆であってもよい。この実装形態においては、コンピューティングデバイスは、ユーザに、ブロック40から49を実施することによって、所望の動作を識別するように指示してから、ユーザに、ブロック30から36を実施することによって、所望の対応するコード形状を入力するように指示することが可能である。ある実装形態においては、ユーザには、コンピューティングデバイスを訓練して、特定のコード形状を認識する前または後に、アプリケーション、ファイル、機能、またはキーストロークのシーケンスを識別する選択肢が与えられ得る。
【００３２】
メモリ内に保存されているコード形状は、図5に示す特定のアプリケーション、ファイル、機能、またはキーストロークのシーケンスに、後でリンク可能である。同様に、特定のコード形状にリンクされたアプリケーション、ファイル、機能、またはキーストロークのシーケンスは、ユーザが、新規コード形状を作成する必要なしに、特定のコード形状に対して実施されることになる動作を変更することが可能になるように、変更可能である。これは、これらの保存済みのコード形状のメニューを示すことによってなど、メニューシーケンスを使用して達成可能である（ブロック50）。このメニューは、ユーザがそれぞれのコード形状と関連付けられる名前を入力した場合、スクリーン上に形状を表示するか、または形状のリストを表示することが可能である。次いで、ユーザは、所望のコード形状が識別されるまで、メニューを精査することが可能である。コンピューティングデバイスは、動作にリンクすべきコード形状のユーザ選択を受け取ることが可能である（ブロック52）。この点において、コンピューティングデバイスは、図4に示すブロック40から49に関して上述したプロセスを実施して、現在の形状にリンクすべき動作を受け取ることが可能である。
【００３３】
さらなる別の実装形態においては、開かれているアプリケーションまたはファイルが、図6に示す新規コード形状にリンク可能である。この操作は、ユーザが、「名前を付けて保存」のファイルネーミング操作と類似するやり方で、ファイルを開いたアプリケーションに対してコード形状を作成することを可能にする。このプロセスは、図3および図4に関して上述した多くの操作を使用して達成可能であり、したがって、この場合、同様の番号付けされたブロックの説明が参照によって組み込まれている。特定のアプリケーションが開いている間（ブロック55）、ユーザは、メニュー機能を選択することによって、またはキーもしくはキーのシーケンスを押すことによってなど、コード形状を訓練する要求コマンドを入力することによって、コード形状を訓練する操作を初期化して、訓練を行う目的で形状が入力されようとしていることをコンピューティングデバイスに伝えることが可能である（ブロック30）。例えば、ユーザが開かれた計算機アプリケーションを有し、そのアプリケーション用にコード形状を作成したい場合、ユーザは、単に、キーまたはキーのシーケンスを押すことにより、コード形状を訓練することを初期化するだけである。これは、コード形状を訓練する操作を初期化し（ブロック31〜36）、それは、図3および図4に関して上述したように実施される。コード形状が作成され、メモリ内への保存が終わると、現在のアクティブなアプリケーションは、アプリケーションメモリアドレスを形状リンクテーブル内に保存することによって、コード形状にリンクされる（ブロック46）。
【００３４】
類似のやり方で、ユーザは、開かれた、または強調表示されたファイル（例えば、*.pdf、*.html、*.doc、または他のタイプのファイル）用に新規コード形状を作成することが可能である。ファイルが開かれている間（ブロック57）、ユーザは、メニュー機能を選択することによって、またはキーもしくはキーのシーケンスを押すことによって、コード形状を訓練する操作を初期化して、訓練を行う目的で形状が入力されようとしていることをコンピューティングデバイスに伝えることが可能である（ブロック30）。例えば、ユーザが単に、テキスト文書を作成済みで、その文書を呼び出す際に使用するためのコード形状を作成したい場合、ユーザは、キーまたはキーのシーケンスを押すことにより、コード形状を訓練することを初期化するだけである。これは、コード形状を訓練する操作を初期化し（ブロック31〜36）、それは、図3および図4に関して上述したように実施される。コード形状が作成され、メモリ内への保存が終わると、開かれているファイルは、ファイルのメモリアドレスを形状リンクテーブル内に保存することによって、コード形状にリンクされる（ブロック49）。
【００３５】
類似するプロセスが、アプリケーションまたはファイルを開く必要なしに、メモリ内に保存されているアプリケーションまたはファイル用にコード形状を作成するために使用可能である。この代替形態においては、ユーザは、グラフィカルユーザインターフェース内のメニューまたはファイルリスト内で選択することによってなど、アプリケーションまたはファイルを強調表示することが可能であり（ブロック59）、次いで、メニュー機能を選択し、キーまたはキーのシーケンスを押すことによって、コード形状を訓練する操作を初期化して、訓練を行う目的で形状が入力されようとしていることをコンピューティングデバイスに伝える（ブロック30）。コード形状を訓練する操作（ブロック31〜36）が完了すると、強調表示されたアプリケーションまたはファイルは、ファイルのメモリアドレスを形状リンクテーブル内に保存することによって、コード形状にリンクされる（ブロック46〜49）。
【００３６】
コード形状およびその対応する動作が定義され、メモリ内への保存が終わると、ユーザは、単にコンピューティングデバイスのタッチ表面上にコード形状を描くことによって、その動作を実施することが可能である。このプロセスを図7に示す。いかなるときでも、コンピューティングデバイスは、位置情報（例えば、X座標およびY座標）をタッチ表面から受け取ることが可能である（ブロック60）。このような位置情報は、コンピューティングデバイスがタッチ表面にクエリを行うか、または数マイクロ秒毎に1回など、一定の間隔で、タッチ表面から割込みを受け取ることが可能であるように、時間の関数として受取り可能である。この形状入力は、形状を定義するパラメータを確定するために処理可能である（ブロック61）。図3に関して上述したように、入力済みの形状を分析するために使用される処理アルゴリズムは、形状を定義し、コード形状をメモリ内に保存するために使用されるパラメータのタイプによって決まることになる。形状パラメータが確定されると、それらの値は、入力済みの形状をメモリ内に保存されているコード形状と比較するために使用可能である（ブロック62）。様々なグラフィカルな、かつ統計的な方法が、入力済みの形状をメモリ内に保存されているコード形状と比較するために使用可能である。例えば、統計的な比較が、統計的な相関がそれに対して存在する角度を確定するために、保存済みのコード形状のデータの組に対する様々な入力済みのX値およびY値から作成可能である。別の例として、入力済みの形状内で認識されるプリミティブのシーケンスは、それぞれのコード形状に対して、メモリ内に保存されているプリミティブのシーケンスと比較して、一致または統計的な相関が存在するかどうかを確定することが可能である。様々な既知の特徴認識アルゴリズムが、このプロセスを達成するために実施可能である。このプロセスは、手書き認識アルゴリズムにおいて使用されるものなど、既知の画像認識法、ならびにグラフィック特徴認識法およびグラフィック特性認識法を使用することが可能である。実施可能な特徴認識法の例は、C. LiおよびK. Huiによる「A Template-matching Approach to Free-form Feature Recognition」（非特許文献１）と、S. AgarwalおよびV. Kumarによる「Online Character Recognition」（非特許文献２）と、M. Pastorらによる「Writing Speed Normalization for On-Line Handwritten Text Recognition」（非特許文献３）とに開示されており、それらのそれぞれは、引用によってその全体が本明細書に組み込まれる。
【００３７】
入力済みの形状と保存済みのコード形状との比較は、入力形状パラメータをコード形状テーブル内の保存済みのコード形状パラメータのそれぞれと比較することによって、テーブルルックアップとして実行可能である。この比較においては、コンピューティングデバイスは、入力済みの形状パラメータが、保存済みのコード形状のうちのいずれか1つに対する統計的に有意な相関を示すかどうかを確定することが可能である（決定ブロック63）。このプロセスにおいては、入力済みの形状パラメータと、それぞれの保存済みのコード形状との相関は、コード形状が訓練されたときに確定されたコード形状に対する相関閾値と比較可能である（図3を参照のこと）。あるいは、相関評価プロセスは、入力済みの形状パラメータが、コード形状が訓練されたときに確定されたそれぞれの保存済みのコード形状に対するエンベロープ内に入るかどうかを確定することが可能である。入力済みの形状が保存済みのコード形状のうちのいずれかに相関していない場合には（すなわち、決定ブロック63=「いいえ」）、タッチ表面からの入力は、標準的なタッチ表面ユーザ入力として処理可能である（ブロック64）。
【００３８】
入力済みの形状が保存済みのコード形状に相関している場合（すなわち、決定ブロック63=「はい」）、そのコード形状にリンクされるアプリケーション、ファイル、機能、またはキーストロークのシーケンスは、メモリから得られ（ブロック65）、かつアクティブになるか、または初期化される（ブロック66）。
【００３９】
上述したように、入力済みの形状および保存済みのコード形状を特徴付けるために使用される形状パラメータは、様々なフォーマットおよびパラメータ化スキームで保存可能である。例えば、形状は、サンプリング時間の関数として、Xのタッチスクリーン座標およびYのタッチスクリーン座標のシーケンスによって特徴付け可能である。このような形状パラメータは、図8に示すデータテーブル例などのデータ構造内に保存可能である。このデータテーブル例においては、形状が、10ミリ秒毎にサンプリングされるXのタッチスクリーン座標およびYのタッチスクリーン座標によって定義される。このデータは、それぞれが、サンプリング時間72、ならびにいずれの感知されたタッチのX軸座標74およびY軸座標76を保存するデータフィールドを含む一連のデータレコード70a〜70vとしてデータテーブル内に保存可能である。
【００４０】
また、図8は、コード形状に関連する追加の形状パラメータもまた、コード形状データテーブル内に含まれ得ることを示している。例えば、コード形状パラメータは、それぞれのサンプリング時間において、タッチ表面全体にわたって描く指またはスタイラスの速度を含むことが可能である。形状を特徴付けることが可能な他のパラメータは、圧力および線の幅を含む。コード形状パラメータ内により多くの形状特性を含むことによって、ユーザのコード形状の独自のパターンは、キャプチャ可能であり、それによって、特定のユーザに対してコード形状データを独自のものにする。したがって、タッチスクリーン上に同じ形状を描く偽者が、コード形状として認識される入力済みの形状を得ることは不可能である。
【００４１】
図9は、リンクされたアプリケーション、ファイル、機能、またはキーストロークとともにコード形状パラメータを保存するための別のデータ構造例を示している。この例においては、単一のデータテーブルが、コード形状をいくつかのデータレコード80a〜80d内に保存するために使用され、それぞれのデータレコードは、インデックス82と、形状パラメータ84と、リンクされた動作86のタイプを示すものと、リンクされたアプリケーション、ファイル、機能、またはキーストローク88とを含むデータフィールドから成る。この例は、データフィールド88内に保存されている動作の実施を単純にするために、リンクされた動作86のタイプを示すためのオプションのデータフィールドを含む。例えば、データレコード80aは、保存済みの動作がアプリケーションであり、リンクされたアプリケーションが計算機プログラムであることを示す。別の例としては、データレコード80bは、保存済みの動作がテキスト文字列であり、リンクされた動作データフィールド88がテキスト文字列「Hi there」を含むことを示している。別の例としては、データレコード80cは、リンクされた動作のタイプがファイルであり、リンクされた動作データフィールド88がそのファイル「Mom.tiff」の名前を含むことを示している。さらに別の例では、データレコード80dは、リンクされた動作のタイプがキーストロークを含み、リンクされた動作データフィールド88が電話番号「818-555-1212」をダイヤルすることになるキーストロークのシーケンスを保存することを示している。
【００４２】
また、図9は、形状パラメータがコード形状パラメータデータフィールド内に保存可能な種々のやり方を示している。データレコード80aおよび80bに示すように、形状は、一連のベクトル記述として保存可能である。例えば、データレコード80aは、2つのベクトルとしてプラス記号（「+」）形状を保存し、第1のベクトルは、開始位置（X，Y）から延び、終了位置（X+20，Y）で終了し、第2のベクトルは、開始位置（X+10，Y+10）から延び、終了位置（X+10，Y-10）で終了する。この例においては、値Xおよび値Yは、開始点に対する相対値として定義される形状上の他の点を有する恣意的な開始点である。絶対的タッチ表面座標ではなく、相対的位置値を使用することによって、コンピューティングデバイスは、形状がタッチ表面上のわずかに異なる位置で開始しても、終了しても、相関を認識することが可能である。データレコード80bは、形状のベクトル省略表現の別の形態、この場合には、上側左隅部から下側右隅部に延びる線を示している。
【００４３】
（データレコード80aおよび80bに示す）コード形状にリンクされた動作データ構造内に直接、形状パラメータを保存することの代替形態として、形状パラメータは、図8に示すもののようなデータテーブルなど、個別データ構造内で保存可能であり、その個別データテーブルに対するメモリポインタまたはアドレスは、形状パラメータデータフィールド84内に保存される。例えば、データレコード80c内に示すように、（図8に示すなどの）XY座標データテーブルに対するポインタが、形状パラメータデータフィールド84内に形成可能である。比較プロセス中、コンピューティングデバイスは、形状パラメータデータフィールド84内に保存されているメモリアドレスまたはポインタを使用して、特定のコード形状を保存するデータファイルを見つけ、次いで、そのアドレスを使用して、比較を行うために、ファイルを開くことが可能である。コード形状にリンクされた動作データ構造内に形状パラメータを含まずに、形状パラメータデータテーブルに対するリンクを含むことによって、コード形状は、異なる種類の形状特徴付け法を使用して保存可能である。例えば、データレコード80cは、X-Y座標データテーブルにリンクされた形状パラメータデータフィールド84内にエントリを含み、データレコード80dは、ベクトルパラメータファイルにリンクされた形状パラメータデータフィールド84内にエントリを含む。この例においては、インデックスデータフィールド82は、オプションであるが、特定のコード形状に動作をリンクさせるなどの操作に有用である場合がある。
【００４４】
図10は、本発明の態様において実施可能な別の代替データ構造を示している。このデータ構造においては、コード形状パラメータは、第1のデータテーブル90内に保存され、リンクされたアプリケーション、ファイル、機能、またはキーストロークは、データフィールド92内に保存されている共通のインデックス数の使用によって、第1のデータテーブル90と交差相関している第2のデータファイル91内に保存される。したがって、このデータ構造例においては、コード形状パラメータ値は、インデックスデータフィールド92と、形状パラメータフィールド94内の形状パラメータデータとを含む一連のデータレコード93a〜93b内に保存される。任意の数のデータフィールドが、完全にコード形状を特徴付けるために、このデータテーブル90内に含まれ得る。したがって、複数の形状パラメータデータフィールド94が含まれ得、それは、複雑な形状に対応するために使用可能である。リンクされたアプリケーション、ファイル、機能、またはキーストロークを示すために、コード形状パラメータデータテーブル90をデータテーブル91と交差相関させることは、データ構造を単純にし、ならびに所望の動作を保存済みのコード形状にリンクさせ、更新するプロセスを単純にすることが可能である。
【００４５】
コード形状およびリンクされた動作を保存するために使用されるデータ構造は、メモリチップ（例えば、携帯電話に使用されるSIMカードおよび類似するメモリカード）など、有形の媒体上に保存可能であるか、または有線もしくは無線のデータリンクなど、データリンクを介して伝送可能である。このようにして、データ構造は、他のコンピューティングデバイスにバックアップ可能であり、伝送可能である。また、ユーザは、コード形状の組を作成することが可能であり、それらは、単にそれらを保存媒体からコピーするか、または1つのデバイスから他のデバイスにそれらを伝送することによって、他のコンピューティングデバイスにおいて再使用可能である。このようにして、ユーザは、複数のコンピューティングデバイスにおけるそれらの対応する動作とともに、コード形状の単一の組を実施することが可能である。
【００４６】
また、コード形状データ構造の移植性は、新規形態の通信を可能にする。通信のこの方法においては、ユーザは、データテーブルを有形の保存媒体（例えば、メモリチップ）に、およびその保存媒体からコピーすることによって、またはデータリンクを介してデータテーブルを伝送することによってなど、第2のコンピューティングデバイスと形状データテーブルを共有することが可能である。その後、ユーザは、他の解釈可能なデータ文字列でなく、形状パラメータ値を伝えることによって、第2のコンピューティングデバイスと通信を行うことが可能である。これを図11に示し、それは、携帯電話ネットワーク102を介して、第2のコンピューティングデバイス101と通信を行う第1のコンピューティングデバイス100を示している。通信用データまたは音声データでなく、この通信は、第1のコンピューティングデバイス100のタッチスクリーン上に描かれた形状から、形状パラメータ値のみを伝送するだけである。例えば、ユーザは、そのユーザのコード形状データテーブルが保存されている別の携帯電話に形状パラメータを送るように構成されている個人の携帯電話のタッチスクリーン上に形状を描くことによって、別のユーザと通信を行うことが可能である。形状パラメータのみが伝送され、したがって、傍受された場合、その伝送は理解不可能である。受け取ると、形状パラメータは、相関が存在するかどうかを確定するために形状データテーブルと比較され、相関が存在する場合、対応するアプリケーション、機能、ファイル、またはキーストロークシーケンスが、受取り用デバイス上で実施される。このようにして、ユーザは、受取り用デバイス上で生じる動作をもたらすメッセージを迅速かつ安全に、送ることが可能である。例えば、ユーザは、個人の携帯電話タッチスクリーン上に笑い顔を描くことが可能である。形状パラメータが、受取り側携帯電話に伝送されると、その電話は、コード形状テーブル内に保存されている動作を実施して、思いやりのあるメッセージまたは特定の画像をスクリーン上に表示することになる。したがって、この機能は、ユーザが、単にタッチスクリーン上に形状を描くことによって、コンピューティングデバイス間で、極めて個人的なメッセージを安全に通信することを可能にする。
【００４７】
形状パラメータを伝送することによって通信を行うためのプロセスを図12に示す。このような通信を開始するためには、ユーザの成形したテーブルが、受信者のコンピューティングデバイス101に伝送されることが必要である。これは、例えば、ユーザが宛先コンピューティングデバイスに対する電話番号またはアドレスを入力することによって、達成可能である（ブロック104）。この入力された情報を使用して、第1のコンピューティングデバイス100は、コード形状データテーブルを宛先コンピューティングデバイスに伝送することが可能である（ブロック106）。受取り用コンピューティングデバイス101は、コード形状テーブルを受け取り（ブロック108）、そのテーブルをメモリ内に保存する（ブロック110）。この時点で、第1のコンピューティングデバイス100は、形状パラメータデータを送ることによって、第2のコンピューティングデバイス101上で動作が行われるように指示することが可能である。
【００４８】
ユーザは、自身のコンピューティングデバイス100上に形状を描くことによって、メッセージを送ることが可能である。その形状が描かれるとき、コンピューティングデバイス100は、X座標およびY座標対形状入力の時間を受け取る（ブロック112）。通信デバイスは、入力済みの形状を処理して、形状を定義するパラメータを確定する（ブロック114）。この処理は、図3に関して上述したものに非常に類似するやり方で行われてよい。次いで、それらの形状を定義するパラメータは、第1のコンピューティングデバイス100から第2のコンピューティングデバイス101に電気通信リンクを介して伝送可能である（ブロック116）。形状パラメータは、SMSメッセージの本文内、電子メールメッセージの本文内など、または任意の形態のデータリンクを使用して伝送されるデータ文字列として、様々な種々のメッセージ構造で伝送可能である。また、形状パラメータは、Bluetooth、赤外線データリンク、WiFi、Zigbee、および開発可能な他のデータリンクプロトコルなど、他のデータリンクによって通信可能である。第2のコンピューティングデバイス101は、形状パラメータメッセージを受取り（ブロック118）、受け取った形状パラメータをコード形状パラメータテーブル内に保存済みのコード形状と比較する（ブロック120）。受け取った形状パラメータと、メモリ内に保存されているコード形状との間に相関が存在する場合には、その一致して相関したコード形状と関連するリンクされたアプリケーション、機能、ファイル、またはキーストロークが、コード形状データテーブルから得られる（ブロック122）。次いで、得られたアプリケーション、機能、ファイル、またはキーストロークシーケンスは、受取り用デバイス101上で初期化される（ブロック124）。
【００４９】
上述の態様は、様々なモバイルデバイスのうちのいずれかに対して実装可能である。典型的には、このようなモバイルデバイスは、共通して、図13に示す構成要素を有することになる。例えば、携帯型コンピューティングデバイス131は、内部メモリ133に接続されているプロセッサ132と、タッチスクリーンディスプレイ139とを含むことが可能である。タッチスクリーンディスプレイ139は、抵抗感知型タッチスクリーン、容量感知型タッチスクリーン、赤外線感知型タッチスクリーン、音響／圧電感知型タッチスクリーンなど、任意のタイプのタッチスクリーンであってよい。様々な態様は、いずれかの特定のタイプのタッチスクリーンまたはタッチパッド技術に限定されるものではない。加えて、携帯型コンピューティングデバイス131は、電磁放射を送り、受け取るためのアンテナ134を有することになり、それは、プロセッサ132に接続されている無線データリンクおよび／または携帯電話送受信器135に接続されている。いくつかの実装形態においては、送受信器135と、携帯電話通信用に使用されるプロセッサ132およびメモリ133の一部分とは、それが、無線データリンクを介してデータインターフェースを提供するので、エアインターフェースと称される。また、携帯型コンピューティングデバイス131は、典型的には、キーパッド136または小型キーボードと、ユーザ入力を受け取って、ディスプレイ139内でカーソルを位置決めするためのポインティングデバイスとして働くメニュー選択ボタンまたはロッカースイッチ137とを含む。さらに、プロセッサ132は、ユニバーサルシリアルバス（USB）またはFireWire（登録商標）コネクタソケットなど、プロセッサ132を外部ポインティングデバイス（例えば、マウス）、またはパーソナルコンピュータ160もしくは外部ローカルエリアネットワークなどのコンピューティングデバイスに接続するための有線のネットワークインターフェース138に接続可能である。
【００５０】
いくつかの実装形態においては、タッチ表面は、タッチスクリーン139の外側の電子デバイス131の範囲内に設置可能である。例えば、キーパッド136は、埋込み型容量タッチセンサを有するタッチ表面を含むことが可能である。他の実装形態においては、キーパッド136は排除可能であり、したがって、タッチスクリーン139は、完全なユーザインターフェースを提供する。さらなる実装形態においては、タッチ表面は、ケーブルコネクタ138へのケーブル、およびプロセッサ132に接続されている無線の送受信器（例えば、送受信器135）を用いて、131上の電子デバイスに接続可能な外部タッチパッドであってよい。
【００５１】
プロセッサ132は、上述の様々な態様の機能を含む多様な機能を実行するように、ソフトウェア命令（アプリケーション）によって構成可能な任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または複数のプロセッサチップもしくは複数のチップであってよい。いくつかの携帯型コンピューティングデバイス131においては、無線の通信機能に専用の1つのプロセッサ、および他のアプリケーションの実行に専用の1つのプロセッサなど、複数のプロセッサ132が設置可能である。また、プロセッサは、通信チップセットの一部として含まれてもよい。典型的には、ソフトウェアアプリケーションは、それらが、プロセッサ132内にアクセスされ、ロードされる前に、内部メモリ133内に保存可能である。いくつかのモバイルデバイス131においては、プロセッサ132は、アプリケーションソフトウェア命令を保存するのに十分な内部メモリを含むことが可能である。この説明の目的で、用語メモリは、内部メモリ133、およびプロセッサ132自体の中のメモリを含むプロセッサ132によってアクセス可能なすべてのメモリを示す。アプリケーションデータファイルは、典型的には、メモリ133内に保存される。多くのモバイルデバイス131においては、メモリ133は、揮発性メモリであっても、もしくはフラッシュメモリなど、不揮発性メモリであっても、または両方の混合であってもよい。
【００５２】
また、上述の態様は、図14に示すパーソナルコンピュータ160など、多様なコンピューティングデバイスのうちのいずれかに対して実装可能である。このようなパーソナルコンピュータ160は、典型的には、揮発性メモリ162と、ディスクドライブ163などの大容量不揮発性メモリとに接続されているプロセッサ161を含む。また、コンピュータ160は、プロセッサ161に接続されているフロッピー（登録商標）ディスクドライブ164と、コンパクトディスク（CD）ドライブ165とを含むことが可能である。また、典型的には、コンピュータデバイス160は、タッチパッド167などのタッチ表面ポインティングデバイスと、キーボード168などのユーザ入力デバイスと、ディスプレイ169とを含むことになる。また、コンピュータデバイス160は、データ接続を確立するか、あるいはプロセッサ161をネットワークに接続するためのUSBもしくはFireWire（登録商標）コネクタソケットまたは他のネットワーク接続回路166など、外部メモリデバイスを受けるためのプロセッサ161に接続されているいくつかのコネクタポートを含むことが可能である。ノートブック構成においては、コンピュータ筐体は、当コンピュータ技術分野においてはよく知られているタッチパッド167と、キーボード168と、ディスプレイ169とを含む。
【００５３】
本発明の様々な態様は、タッチスクリーン、タッチパッド、またはタッチ表面上の図示キー、符号、または形状を入力することによって、実際にアプリケーションを起動するか、番号をダイヤルするか、またはメッセージを送る迅速かつ直観的な方法をユーザに提供する。
【００５４】
様々な態様は、説明した方法のうちの1つまたは複数を実施するように構成されているソフトウェア命令を実行するコンピュータプロセッサ132，161によって実施可能である。このようなソフトウェア命令は、メモリ162，163内に、個別アプリケーションとして、または態様の方法を実施するコンパイルされたソフトウェアとして保存可能である。参照データベースは、有形の保存媒体上、またはネットワークを介してアクセス可能なサーバ（図示せず）上のハードディスクメモリ164内の内部メモリ133，162内に保存可能である。さらには、ソフトウェア命令およびデータベースは、ランダムアクセスメモリ133，162、ハードディスクメモリ163、（フロッピーディスクドライブ164内で読み取り可能な）フロッピディスク、（CDドライブ165内で読み取り可能な）コンパクトディスク、電気的に消去可能／プログラマブル読み取り専用メモリ（EEPROM）、（FLASHメモリなどの）読み取り専用メモリ、および／または外部メモリチップもしくはUSBネットワークポート166内に差し込まれるUSB接続可能な外部メモリ（例えば、「フラッシュドライブ」）など、コンピューティングデバイス131，160内に差し込まれるメモリモジュール（図示せず）を含む有形のプロセッサ読み取り可能なメモリの任意の形態上で保存可能である。
【００５５】
本明細書において開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装可能であることを当業者は理解するであろう。ハードウェアおよびソフトウェアのこの互換性を明瞭に示すために、様々な例示的な構成要素、ブロック、モジュール、回路およびステップを、それらの機能の観点から概括的に上述してきた。このような機能が、ハードウェアまたはソフトウェアとして実装されるかどうかは、全体的なシステム上に課せられた特定の用途および設計の制約によって決まる。当業者は、それぞれの特定のアプリケーションごとに、様々なやり方で、説明した機能を実施することが可能であるが、このような実装形態の決定は、本発明の範囲からの逸脱をもたらすと解釈すべきではない。
【００５６】
上述の、および図面に示した方法のブロックにおける順番は、いくつかのブロックの順番が、本発明および特許請求の範囲の趣旨および範囲から逸脱することなく、本明細書に説明した順番から変更可能であるので、例示的な目的のみのためのものである。
【００５７】
本明細書に開示されている態様に関連して説明した方法またはアルゴリズムのブロックは、ハードウェア内に直接埋め込まれても、プロセッサによって実行されるソフトウェアモジュール内に埋め込まれても、あるいはその2つの組合せにおいて埋め込まれてもよい。ソフトウェアモジュールが、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取外し可能なディスク、CD-ROM、または当技術分野において既知の任意の他の形態の保存媒体のうちのいずれかであってよいプロセッサ読み取り可能なメモリ内に存在することが可能である。例示的な保存媒体が、プロセッサに接続可能であり、それにより、プロセッサは、保存媒体から情報を読み取り、保存媒体に情報を書き込むことが可能になる。代替形態では、保存媒体は、プロセッサと一体であってもよい。プロセッサおよび保存媒体は、ASIC内に存在することが可能である。ASICは、ユーザの端末デバイスまたはモバイルデバイス内に存在することが可能である。代替形態では、プロセッサおよび保存媒体は、ユーザの端末デバイスまたはモバイルデバイス内のディスクリートな構成要素として存在することが可能である。加えて、いくつかの態様においては、方法もしくはアルゴリズムのブロックおよび／または動作は、1つまたは任意の組合せとして、あるいはコンピュータプログラム製品内に組込み可能な機械読み取り可能な記録媒体および／またはコンピュータ読み取り可能な記録媒体上のコードおよび／または命令の組として存在することが可能である。
【００５８】
様々な態様の前述の説明は、当業者が本発明を実施し、または使用することを可能にするために提供される。これらの態様に対する様々な変形形態は、当業者には容易に明らかになり、本明細書において定義される概括的な原理は、本発明の趣旨または範囲から逸脱することなく、他の態様に適用可能である。したがって、本発明は、本明細書に示す態様に限定することを意図したものではなく、特許請求の範囲としては、本明細書に開示される原理および新規な特徴と一致する最も広範な範囲を与えるべきである。
【符号の説明】
【００５９】
100，101  コンピューティングデバイス
102  携帯電話ネットワーク
131  携帯型コンピューティングデバイス
132  プロセッサ
133  内部メモリ
134  アンテナ
135  無線データリンクおよび／または携帯電話送受信器
136  キーパッド
137  選択ボタンまたはロッカースイッチ
138  有線ネットワークインターフェース
139  タッチスクリーンディスプレイ
160  パーソナルコンピュータ
161  プロセッサ
162  揮発性メモリ
163  ディスクドライブ
164  フロッピディスクドライブ
165  コンパクトディスクドライブ
166  ネットワーク接続回路
167  タッチパッド
168  キーボード
169  ディスプレイ
【図１】
0005389185.tif 000002
【図２Ａ】
0005389185.tif 000003
【図２Ｂ】
0005389185.tif 000004
【図２Ｃ】
0005389185.tif 000005
【図２Ｄ】
0005389185.tif 000006
【図３】
0005389185.tif 000007
【図４】
0005389185.tif 000008
【図５】
0005389185.tif 000009
【図６】
0005389185.tif 000010
【図７】
0005389185.tif 000011
【図８】
0005389185.tif 000012
【図９】
0005389185.tif 000013
【図１０】
0005389185.tif 000014
【図１１】
0005389185.tif 000015
【図１２】
0005389185.tif 000016
【図１３】
0005389185.tif 000017
【図１４】
0005389185.tif 000018