(57)【特許請求の範囲】
【請求項１】
テキストを入力する方法であって、前記方法は、
１以上のプロセッサ及びメモリを有する電子デバイスにおいて、
第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、辞書又はルックアップテーブルを用いて前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と対応する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することと、ここで、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含み、前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第１セットの少なくとも１つの単語を考慮して、１以上の第１予測単語を判定することと、
１以上の言語ルール又はモデルに基づいて、１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを含む第１フレーズが完全なフレーズであるかどうかを判定することと、ここで、前記完全なフレーズとは、フレーズの最後がフレーズ境界と一致するフレーズであり、
前記第１フレーズが完全なフレーズであるとの判定に従って、前記第１フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、を更に含み、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすることと、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるよう表示することと、
を含む、方法。
【請求項２】
前記１以上の表示された拡張候補フレーズのうちの拡張候補フレーズのユーザ選択を受信することと、
前記選択された拡張候補フレーズを、前記電子デバイス上に表示されたユーザインターフェースに表示することと、
を更に含む、請求項１に記載の方法。
【請求項３】
言語モデルを使用して、１以上の候補単語で成る前記複数セットに対応した第２の複数の確率スコアを判定することと、
１以上の候補単語で成る前記複数セットを、前記第２の複数の確率スコアに基づいてランク付けすることと、
を更に含む、請求項１又は２に記載の方法。
【請求項４】
前記複数の拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、Ｎ個の最高ランクの１以上の候補単語で成るセットに基づいて判定され、前記Ｎはゼロより大きい整数である、請求項３に記載の方法。
【請求項５】
前記複数の拡張候補フレーズを判定することは、
前記第１フレーズが完全なフレーズではないとの判定に従って、
１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを考慮して、１以上の第２予測単語を判定することであって、第２フレーズは、前記第１フレーズと、前記１以上の第２予測単語とを含む、ことと、
前記１以上の言語ルール又はモデルに基づいて、前記第２フレーズが完全なフレーズであるかどうかを判定することと、
前記第２フレーズが完全なフレーズであるとの判定に従って、前記第２フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記１以上の第１予測単語は、言語モデルを使用して判定され、前記１以上の第１予測単語の単語数は、前記言語モデルのオーダーよりも少ない、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記１以上の第１予測単語は、前記言語の前記第２記号体系の１以上の単語を含む、請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記１以上の第１予測単語を判定することは、１以上の単語で成る所定の複数セットから、前記１以上の第１予測単語を選択することを含む、請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第３セットを考慮して、１以上の第３予測単語を判定することを更に含み、前記複数の拡張候補フレーズのうちの第３拡張候補フレーズは、１以上の候補単語で成る前記第３セットと、前記１以上の第３予測単語とを含む、請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記複数の拡張候補フレーズのうちの第４拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第４セットのサブセットを考慮して、１以上の第４予測単語を判定することを更に含み、１以上の候補単語で成る前記第４セットの前記サブセットは、１以上の候補単語で成る前記第４セットの一部を除くことによって判定され、前記第４拡張候補フレーズは、１以上の候補単語で成る前記第４セットの前記サブセットと、前記１以上の第４予測単語とを含み、前記第４拡張候補フレーズは、前記除かれた部分を含まない、請求項１から９のいずれか一項に記載の方法。
【請求項１１】
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第５セットのサブセットを考慮して、１以上の第５予測単語を判定することであって、１以上の候補単語で成る前記第５セットの前記サブセットは、１以上の候補単語で成る前記第５セットの一部を除くことによって判定され、第５フレーズは、１以上の候補単語で成る前記第５セットの前記サブセットと、前記１以上の第５予測単語とを含む、ことと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するかどうかを、辞書又はルックアップテーブルを用いて判定することと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、請求項１から９のいずれか一項に記載の方法。
【請求項１２】
前記１以上の第５予測単語における単語数は、１以上の候補単語で成る前記第５セットにおける単語数と、１以上の候補単語で成る前記第５セットの前記サブセットにおける単語数との差以上である、請求項１１に記載の方法。
【請求項１３】
前記複数の拡張候補フレーズを判定することは、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応しないとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することを控えることを更に含む、請求項１１又は１２に記載の方法。
【請求項１４】
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第６セットの最後の単語が、別の単語の接頭辞であるかどうかを判定することと、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第６セットの最後の単語が、別の単語の接頭辞であるとの判定に従って、
１以上の候補単語で成る前記第６セットのサブセットを考慮して１以上の第６予測単語を判定することと、を更に含み、１以上の候補単語で成る前記第６セットの前記サブセットは、１以上の候補単語で成る前記第６セットの一部を除くことによって判定され、１以上の候補単語で成る前記第６セットの前記サブセットは、１以上の候補単語で成る前記第６セットの前記最後の単語を含まず、前記複数の拡張候補フレーズのうちの第６拡張候補フレーズは、１以上の候補単語で成る前記第６セットの前記サブセットと、前記１以上の第６予測単語とを含む、請求項１から１３のいずれか一項に記載の方法。
【請求項１５】
コンピュータプログラムであって、
第１記号体系のテキストを含むユーザ入力を受信する機能であって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、機能と、
前記テキストに基づいて、辞書又はルックアップテーブルを用いて前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定する機能であって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と対応する、機能と、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定する機能と、ここで、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの少なくとも１つの単語に基づく１以上の予測単語とを含み、前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第１セットの少なくとも１つの単語を考慮して、１以上の第１予測単語を判定することと、
１以上の言語ルール又はモデルに基づいて、１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを含む第１フレーズが完全なフレーズであるかどうかを判定することと、ここで、前記完全なフレーズとは、フレーズの最後がフレーズ境界と一致するフレーズであり、
前記第１フレーズが完全なフレーズであるとの判定に従って、前記第１フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、を更に含み、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けする機能と、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるよう表示する機能と、
を電子デバイスに実現させるための、コンピュータプログラム。
【請求項１６】
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第５セットのサブセットを考慮して、１以上の第５予測単語を判定することであって、１以上の候補単語で成る前記第５セットの前記サブセットは、１以上の候補単語で成る前記第５セットの一部を除くことによって判定され、第５フレーズは、１以上の候補単語で成る前記第５セットの前記サブセットと、前記１以上の第５予測単語とを含む、ことと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するかどうかを、辞書又はルックアップテーブルを用いて判定することと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記複数の拡張候補フレーズを判定することは、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応しないとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することを控えることを更に含む、請求項１６に記載のコンピュータプログラム。
【請求項１８】
電子デバイスであって、
１以上のプロセッサと、
１以上のプログラムを記憶するメモリと、を備え、前記１以上のプログラムは命令を含み、前記命令は、前記１以上のプロセッサによって実行されると、前記１以上のプロセッサに、
第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、辞書又はルックアップテーブルを用いて前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と対応する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することと、ここで、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含み、前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第１セットの少なくとも１つの単語を考慮して、１以上の第１予測単語を判定することと、
１以上の言語ルール又はモデルに基づいて、１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを含む第１フレーズが完全なフレーズであるかどうかを判定することと、ここで、前記完全なフレーズとは、フレーズの最後がフレーズ境界と一致するフレーズであり、
前記第１フレーズが完全なフレーズであるとの判定に従って、前記第１フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、を更に含み、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすること、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるように表示することと、
を実行させる、電子デバイス。
【請求項１９】
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第５セットのサブセットを考慮して、１以上の第５予測単語を判定することであって、１以上の候補単語で成る前記第５セットの前記サブセットは、１以上の候補単語で成る前記第５セットの一部を除くことによって判定され、第５フレーズは、１以上の候補単語で成る前記第５セットの前記サブセットと、前記１以上の第５予測単語とを含む、ことと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するかどうかを、辞書又はルックアップテーブルを用いて判定することと、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応するとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、請求項１８に記載の電子デバイス。
【請求項２０】
前記複数の拡張候補フレーズを判定することは、
前記１以上の第５予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と対応しないとの判定に従って、前記第５フレーズを前記複数の拡張候補フレーズの１つとして記憶することを控えることを更に含む、請求項１９に記載の電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、２０１６年６月１０日に出願の米国特許仮出願第６２／３４８，６６４号、発明の名称「DYNAMIC PHRASE EXPANSION OF LANGUAGE INPUT」、及び２０１６年９月２１日に出願の米国特許非仮出願第１５／２７２，１５７号、発明の名称「DYNAMIC PHRASE EXPANSION OF LANGUAGE INPUT」の優先権を主張するものであり、上記の出願は全ての目的について参照により本明細書に組み込まれる。
【０００２】
本開示は概して言語入力、具体的には言語入力のダイナミックなフレーズ拡張の技術に関する。
【背景技術】
【０００３】
中国語や日本語のような多くの言語では、テキストを１つ目の記号体系で発音どおりに入力し、これを変換して２つ目の記号体系にて表示することができる。例えば、ピンイン（Pinyin）はローマ字を用いて北京語を表記する発音体系である。ピンイン翻字では、中国文字の音声発音をローマ字で構成された音声にマッピングすることができる。一般に、ピンインは変換エンジンを介して中国語テキストをコンピュータ入力するために使用される。変換エンジンは、所与のピンイン入力について、そのピンイン入力に対応する中国語単語又はフレーズの１以上の見込みのある候補を出力する。しかし、ピンインを使用した中国語テキストの入力は時間がかかり非効率になりかねない。特に、ユーザは所望の各単語に対応したピンインテキストを入力し、変換エンジンにより表示されたこれに対応する所望の候補の中国語単語又はフレーズを選択する必要がある。中国語単語又はフレーズの所望の候補は変換エンジンが提示した第１候補でないことが多いため、ユーザは追加の入力を行い、更なる時間を費やして所望の中国語単語の候補を入手しなければならない。これはフラストレーションを生み、ユーザエクスペリエンスに悪影響を及ぼしかねない。
【発明の概要】
【０００４】
言語入力のダイナミックなフレーズ拡張のためのシステム及びプロセスを提供する。１つの例示的なプロセスでは、第１記号体系のテキストを含むユーザ入力が受信される。このテキストは或る言語の或る単語の少なくとも一部の音声発音を表す。このプロセスは、このテキストに基づき、言語の第２記号体系の１以上の候補単語で成る複数セットを判定する。１以上の候補単語で成る複数セットのうち１以上の候補単語で成る各セットにおける各候補単語は、テキストの少なくとも一部と対応する。このプロセスは、１以上の候補単語で成る複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定する。複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る複数セットの１以上の候補単語で成る各セットのうちの少なくとも１つの単語と、１以上の候補単語で成る各セットの少なくとも１つの単語に基づいた１以上の予測単語と、を含む。複数の拡張候補フレーズは、この複数の拡張候補フレーズに対応する複数の確率スコアに基づいてランク付けされる。このランク付けに基づいて、複数の拡張候補フレーズのうち１以上の拡張候補フレーズを、ユーザが選択できるように表示する。
【０００５】
これらの機能を実施するための実行可能な命令は、非一時的なコンピュータ可読記憶媒体に、又は、１以上のプロセッサによって実行されるように構成されたその他のコンピュータプログラム製品に任意選択で含まれている。これらの機能を実施するための実行可能な命令は、一時的なコンピュータ可読記憶媒体に、又は、１以上のプロセッサにより実行されるように構成されたその他のコンピュータプログラム製品に任意選択で含まれている。
【図面の簡単な説明】
【０００６】
説明される様々な実施形態をより理解するために、以降の発明を実施するための形態を以下の図面と共に参照するべきであり、全図面において、類似の参照符号は対応する部分を参照している。
【０００７】
【図１Ａ】いくつかの実施形態によるタッチ感知ディスプレイを実装したポータブル多機能デバイスを示すブロック図を示す。
【０００８】
【図１Ｂ】いくつかの実施形態によるイベント処理のための例示的なコンポーネントを示すブロック図を示す。
【０００９】
【図２】いくつかの実施形態によるタッチスクリーンを実装したポータブル多機能デバイスを示す。
【００１０】
【図３】いくつかの実施形態によるディスプレイ及びタッチ感知面を実装した例示的な多機能デバイスのブロック図である。
【００１１】
【図４Ａ】いくつかの実施形態によるポータブル多機能デバイス上のアプリケーションメニューのための例示的なユーザインターフェースを示す。
【００１２】
【図４Ｂ】いくつかの実施形態によるディスプレイから分離されたタッチ感知面を実装した多機能デバイスのための例示的なユーザインターフェースを示す。
【００１３】
【図５Ａ】いくつかの実施形態によるパーソナル電子デバイスを示す。
【００１４】
【図５Ｂ】いくつかの実施形態によるパーソナル電子デバイスを示すブロック図を示す。
【００１５】
【図６】いくつかの実施形態による言語入力モジュールの例示的なブロック図を示す。
【００１６】
【図７Ａ】いくつかの実施形態による言語入力のダイナミックなフレーズ拡張のための例示的なプロセスを示すフロー図である。
【図７Ｂ】いくつかの実施形態による言語入力のダイナミックなフレーズ拡張のための例示的なプロセスを示すフロー図である。
【図７Ｃ】いくつかの実施形態による言語入力のダイナミックなフレーズ拡張のための例示的なプロセスを示すフロー図である。
【００１７】
【図８】いくつかの実施形態による中国語ピンインテキスト入力から変換された１以上の中国語候補単語で成る複数セットを示す。
【００１８】
【図９Ａ】いくつかの実施形態によるダイナミックなフレーズ拡張を実施して生成した拡張中国語フレーズを示す。
【図９Ｂ】いくつかの実施形態によるダイナミックなフレーズ拡張を実施して生成した拡張中国語フレーズを示す。
【図９Ｃ】いくつかの実施形態によるダイナミックなフレーズ拡張を実施して生成した拡張中国語フレーズを示す。
【００１９】
【図１０Ａ】いくつかの実施形態による、言語入力のダイナミックなフレーズ拡張の各態様を実施する電子デバイスを示す。
【図１０Ｂ】いくつかの実施形態による、言語入力のダイナミックなフレーズ拡張の各態様を実施する電子デバイスを示す。
【００２０】
【図１１】いくつかの実施形態による例示的な電子デバイスの機能ブロック図を示す。
【発明を実施するための形態】
【００２１】
以下の記述は、例示的な方法、パラメータなどについて述べるものである。しかし、このような記述は本開示の範囲を限定することを意図せず、むしろ例示的な実施形態の記述として提供されることは認識されるべきである。
【００２２】
本開示は、言語入力のダイナミックなフレーズ拡張のためのシステム及びプロセスに関する。本明細書に記述するように、フレーズ拡張は、言語の１つの記号体系から別の記号体系への変換の精度及び効率を向上するために実施することができる。例示的なプロセスでは、第１記号体系のテキストを含むユーザ入力が受信される。このテキストは或る言語の或る単語の少なくとも一部の音声発音を表す。このプロセスは、テキストに基づき、言語の第２記号体系の１以上の候補単語で成る複数セットを判定する。１以上の候補単語で成る複数セットのうち１以上の候補単語で成る各セット中の各候補単語は、テキストの少なくとも一部と対応する。このプロセスは、１以上の候補単語で成る複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定する。複数の拡張候補フレーズのそれぞれの拡張候補フレーズは、１以上の候補単語で成る複数セットの１以上の候補単語で成る各セットのうちの少なくとも１つの単語と、１以上の候補単語で成る各セットの少なくとも１つの単語に基づく１以上の予測単語と、を含んでいる。複数の拡張候補フレーズは、複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けされる。このランク付けに基づき、複数の拡張候補フレーズのうち１以上の拡張候補フレーズを、ユーザが選択できるように表示する。拡張候補フレーズを判定することで、第１記号体系から第２記号体系への変換の精度を向上することができる。これに加え、拡張候補フレーズにより、ユーザ入力に反映されない予測単語を提供できるようになる。これにより、或る記号体系から別の記号体系への変換が必要な言語（例えば、中国語、日本語など）のテキスト入力を更に高精度且つ効率的に実施することが可能になる。
【００２３】
以降の記述では、様々な要素を説明するために「第１」、「第２」などの用語を使用しているが、これらの要素はこうした用語によって限定されるべきではない。これらの用語は単に１つの要素を別の要素から区別する目的で用いられている。例えば、記述された様々な実施形態の範囲から逸脱せずに、第１入力を第２入力と名付けることができ、又、同様に、第２入力を第１入力と名付けることができる。第１入力及び第２入力は両方とも入力ではあるが、同一の入力でなくてもよい。
【００２４】
本明細書の様々な実施形態の説明で用いられる用語は、特定の実施形態を説明することを目的としているにすぎず、限定を意図するものではない。本明細書の様々な実施形態の説明及び添付の請求項で用いられているように、単数形の「a」、「an」、「the」は、文脈にそうでないことが明確に示されていない限り複数形も含むものとする。本明細書で用いられている用語「及び／又は」とは、１以上の関連性のある列挙事項のあらゆる又は全ての可能な組み合わせを意味し、包括することも理解されるであろう。更に、用語「含む」、「含んでいる」、「備える」、及び／又は「備えている」は、本明細書で用いられる場合には、言明された特徴、整数、ステップ、動作、要素、及び／又は、コンポーネントの存在を特定するものではあるが、１以上の他の特徴、整数、ステップ、動作、コンポーネント、及び／又はそれらの群の存在又は追加を排除するものではないことも更に理解されるであろう。
【００２５】
用語「ｉｆ」は、文脈に応じて「場合（when）」又は「すると（upon）」又は「判定に応じて」又は「検出に応じて」を意味するように任意で解釈される。同様に、フレーズ「と判定された場合」又は「（言明された条件又は事象）が検出された場合」は、文脈に応じて、「判定されると」又は「判定に応じて」、「（言明された条件又は事象を）検出すると」、又は「（言明された条件又は事象の）検出に応じて」を意味するように任意で解釈される。
【００２６】
電子デバイス、このようなデバイスのためのユーザインターフェース、及び、このようなデバイスを使用するための関連プロセスの実施形態について説明する。いくつかの実施形態では、このデバイスは、ＰＤＡ及び／又は音楽プレーヤ機能などの他の機能も備えた携帯電話などの携帯通信機器である。ポータブル多機能デバイスの例示的実施形態は、限定するものではないが、Ａｐｐｌｅ  Ｉｎｃ．（カリフォルニア州クパティーノ）製のｉＰｈｏｎｅ（登録商標）デバイス、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）デバイス，ｉＰａｄ（登録商標）デバイスを含む。タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を実装したラップトップ又はタブレットコンピュータなどのその他のポータブル多機能デバイスを任意で使用できる。更に、いくつかの実施形態では、デバイスは携帯通信機器でなく、タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を実装したデスクトップコンピュータであることも理解されるべきである。
【００２７】
以下の説明では、ディスプレイ及びタッチ感知面を含む電子デバイスについて述べている。しかし、電子デバイスは、物理的キーボード、マウス、及び／又はジョイスティックのような、１以上の他の物理的ユーザインターフェースデバイスを任意で含むことが理解されるべきである。
【００２８】
典型的に、デバイスは様々なアプリケーションの１以上をサポートし、アプリケーションには、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び／又はデジタルビデオ再生アプリケーションが挙げられる。
【００２９】
デバイス上で実行される様々なアプリケーションは、少なくとも１つの共通の物理的ユーザインターフェースデバイス（例えばタッチ感知面）を任意で使用する。タッチ感知面の１以上の機能、並びにデバイス状に表示される対応する情報は、任意で、アプリケーション毎に、及び／又はそれぞれのアプリケーション内で調整及び／又は変更される。これにより、デバイスの一般的な物理的アーキテクチャ（タッチ感知面など）が、直感的でユーザにとって透過的なユーザインターフェースを備えた様々なアプリケーションを任意でサポートする。
【００３０】
次に、タッチ感知ディスプレイを実装したポータブルデバイスの実施形態に注目する。図１Ａは、いくつかの実施形態によるタッチ感知ディスプレイシステム１１２を実装したポータブル多機能デバイス１００を示すブロック図である。タッチ感知ディスプレイ１１２は便宜上「タッチスクリーン」と呼ばれることもあり、更に、「タッチ感知ディスプレイシステム」としても知られ、そう呼ばれることもある。デバイス１００はメモリ１０２（任意で１以上のコンピュータ可読記憶媒体を実装している）、メモリコントローラ１２２、１以上の処理ユニット（ＣＰＵ）１２０、周辺機器インターフェース１１８、ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、入出力（Ｉ／Ｏ）サブシステム１０６、その他の入力制御デバイス１１６、及び外部ポート１２４を含む。デバイス１００は１以上の光学センサ１６４を任意で含む。デバイス１００は、デバイス１００への接触の強度を検出する１以上の接触強度センサ１６５を任意で含む（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２などのタッチ感知面）。デバイス１００は、デバイス１００上に触知出力を生成する（例えば、デバイス１００上のタッチ感知ディスプレイシステム１１２又はデバイス３００のタッチパッド３５５などのタッチ感知面上に触知出力を生成する）１以上の触知出力生成器１６７を任意で含む。これらのコンポーネント同士は、任意で１以上の通信バス又は信号ライン１０３上で通信する。
【００３１】
本明細書及び請求項で用いている、タッチ感知面への接触の「強度」という用語は、タッチ感知面への接触（例えば指接触）の力又は圧力（単位面積当たりの力）、又は、タッチ感知面への接触の力又は圧力の代替（代用）を意味するものである。接触の強度は、少なくとも４つの別個の値を含んだ、より典型的には数百の明確な値（例えば、少なくとも２５６）を含む、或る範囲の値を有する。任意で、接触の強度は、様々なアプローチ及び様々なセンサ又はセンサの組み合わせを使用して判定（又は測定）される。例えば、タッチ感知面の下又は付近に設けられた１以上の力センサを任意で使用して、タッチ感知面上の様々な地点における力を測定する。いくつかの実施では、複数の力センサで測定した力測定値を組み合わせて（例えば加重平均）、推定される接触の力を判定する。同様に、任意でスタイラスの感圧先端部を使用して、タッチ感知面へのスタイラスの圧力を求める。或いは、タッチ感知面上で検出された接触面積のサイズ及び／又はその変化、接触に近接したタッチ感知面のキャパシタンス及び／又はその変化、及び／又は、接触に近接したタッチ感知面の抵抗及び／又はその変化が、タッチ感知面の接触の力又は圧力の代替として任意で使用される。いくつかの実施では、接触の力又は圧力の代替測定値は、強度閾値を超えたかどうかの判定に直接使用される（例えば、強度閾値は、代替測定値に対応した単位で表される）。いくつかの実施では、接触力又は圧力の代替測定値が推定される力又は圧力に変換され、この推定された力又は圧力が強度閾値を超えたかどうかを判定するために使用される（例えば、強度閾値は圧力の単位で測定された圧力閾値である）。接触の強度をユーザ入力の属性として使用することで、ユーザは、（例えば、タッチ感知ディスプレイ上に）アフォーダンスを表示したり、及び／又は、（例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブやボタンなどの物理的／機械的制御を介して）ユーザ入力を受信するために、制限された領域を備える小型化したデバイスではユーザが他の方法でアクセスできない更なるデバイス機能性にアクセスしたりすることが可能となる。
【００３２】
本明細書及び請求項で用いられている用語「触知出力」とは、ユーザが自分の触覚で検知できる、デバイスの元の位置に対する物理的変位、デバイスのコンポーネント（例えばタッチ感知面）の別のコンポーネント（例えばハウジング）に対する物理的な変位、又は、デバイスの重心に対するコンポーネントの変位を意味する。例えば、デバイス又はデバイスのコンポーネントが、ユーザの接触に敏感な体表面部分（例えば、ユーザの手の、指、掌、又はその他の部分）と接触している状況において、物理的変位により生成された触知出力は、デバイス又はデバイスのコンポーネントの認識された物理的特性の変化に対応した触覚としてユーザに解釈される。例えば、任意で、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の動きが、物理的なアクチュエータボタンの「下クリック」又は「上クリック」としてユーザに解釈される。いくつかのケースでは、ユーザは、ユーザの動きによって物理的に押圧された（例えば、変位された）というタッチ感知面に関連する物理的なアクチュエータボタンの動きがない時でも、「下クリック」又は「上クリック」などの触覚を感じるだろう。別の実施例では、任意で、タッチ感知面の平滑さに変化がなくても、ユーザはタッチ感知面の動きをタッチ感知面の「粗さ」として解釈又は感知する。ユーザによるこのようなタッチの解釈はユーザの個人的な感覚認知に委ねられるが、大多数のユーザに共通するタッチの感覚認知は多くある。そのため、特に記載がない限り、触知出力がユーザの特定の感覚認知（例えば、「上クリック」、「下クリック」、「粗さ」）に対応したものとして述べられている場合には、生成された触知出力は、説明した一般的な（又は平均的な）ユーザへの感覚認知を生成するデバイス又はそのコンポーネントの物理的変位に対応する。
【００３３】
デバイス１００はポータブル多機能デバイスの単なる一例であり、デバイス１００が有するコンポーネントは、任意でここで示したコンポーネントよりも多くても少なくてもよく、デバイス１００は、任意で２又は複数のコンポーネントの組み合わせであってもよく、或いは任意で、異なる構成又は配列のコンポーネントを有していてもよいことが理解されるべきである。図１Ａに示す様々なコンポーネントはハードウェア、ソフトウェア、又は、１以上の信号処理回路及び／又は特定用途向け集積回路を含むハードウェアとソフトウェアの両方の組み合わせにて実施される。
【００３４】
メモリ１０２は、任意で高速ランダムアクセスメモリを含み、更に任意で、不揮発性メモリ、例えば、１以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、その他の不揮発性固体メモリデバイスなども含む。メモリコントローラ１２２は、デバイス１００のその他のコンポーネントによるメモリ１０２へのアクセスを任意で制御する。
【００３５】
周辺機器インターフェース１１８は、デバイスの入出力周辺機器をＣＰＵ１２０及びメモリ１０２に結合するために使用できる。１以上のプロセッサ１２０は、デバイス１００の様々な機能を実施するために、及びデータを処理するために、メモリ１０２に記憶された様々なソフトウェアプログラム及び／又は命令セットを動作させる、又は実行する。いくつかの実施形態では、周辺機器インターフェース１１８、ＣＰＵ１２０、メモリコントローラ１２２は、任意でチップ１０４などのシングルチップ上で実施される。いくつかの他の実施形態では、これらは、任意で、別々のチップ上で実施される。
【００３６】
高周波（ＲＦ）回路１０８は、電磁信号とも呼ばれるＲＦ信号を受信及び送信する。ＲＦ回路１０８は電気信号を電磁信号に、電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及びその他の通信デバイスと通信する。ＲＦ回路１０８はこれらの機能を実施するための周知の回路を任意で含み、この回路は、アンテナシステム、ＲＦトランシーバ、１以上の増幅器、チューナ、１以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（ＳＩＭ）カード、メモリなどを非限定的に含む。ＲＦ回路１０８は、無線通信によって、ワールドワイドウェブ（ＷＷＷ）とも呼ばれるインターネット、携帯電話ネットワークなどのイントラネット及び／又は無線ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）及び／又はメトロポリタンエリアネットワーク（ＭＡＮ）などのネットワーク、及び別のデバイスと任意で通信する。ＲＦ回路１０８は、近距離通信無線などにより近距離通信（ＮＦＣ）領域を検出する周知の回路を任意で含む。無線通信は複数の通信規格、プロトコル、技術のうちあらゆるものを任意で使用し、これには、携帯通信用のグローバルシステム（ＧＳＭ）、拡張データＧＳＭ環境（ＥＤＧＥ）、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）、高速アップリンクパケットアクセス（ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ  Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、Ｄｕａｌ−Ｃｅｌｌ  ＨＳＰＡ（ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（ＬＴＥ）、近距離通信（ＮＦＣ）、広帯域符号分割多重接続（Ｗ−ＣＤＭＡ）、符号分割多重接続（ＣＤＭＡ）、時分割多重接続（ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｂｌｕｅｔｏｏｔｈ  Ｌｏｗ  Ｅｎｅｒｇｙ（ＢＴＬＥ）（登録商標）、無線フィデリティ（Ｗｉ−Ｆｉ）（例えば、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇ、ＩＥＥＥ８０２．１１ｎ、及び／又はＩＥＥＥ８０２．１１ａｃ）、ボイスオーバインターネットプロトコル（ＶｏＩＰ）、Ｗｉ−ＭＡＸ、電子メール用プロトコル（例えば、インターネットメッセージアクセスプロトコル（ＩＭＡＰ）及び／又はポストオフィスプロトコル（ＰＯＰ））、インスタントメッセージング（例えば、拡張可能メッセージング及びプレゼンスプロトコル（ＸＭＰＰ）、インスタントメッセージング用のセッションイニシエーションプロトコル及びプレゼンスレバレッジング拡張（ＳＩＭＰＬＥ）、インスタントメッセージ及びプレゼンスサービス（ＩＭＰＳ））、及び／又は、ショートメッセージサービス（ＳＭＳ）、もしくは、本文書の出願日にはまだ開発されていない通信プロトコルを含むその他のあらゆる適切な通信プロトコルが、非限定的に含まれる。
【００３７】
オーディオ回路１１０、スピーカ１１１、及びマイクロフォン１１３は、ユーザとデバイス１００との間のオーディオインターフェースを提供する。オーディオ回路１１０は周辺機器インターフェース１１８からオーディオデータを受信し、このオーディオデータを電気信号に変換してスピーカ１１１に送信する。スピーカ１１１は電気信号を人間の可聴音波に変換する。オーディオ回路１１０は、マイクロフォン１１３が音波から変換した電気信号も受信する。オーディオ回路１１０は電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インターフェース１１８へ送信する。オーディオデータは、任意で、周辺機器インターフェース１１８によってメモリ１０２及び／又はＲＦ回路１０８から受信され、及び／又は、メモリ１０２及び／又はＲＦ回路１０８へ送信される。いくつかの実施形態では、オーディオ回路１１０はヘッドセットジャック（例えば、図２の２１２）を更に含む。ヘッドセットジャックは、オーディオ回路１１０と、出力専用ヘッドフォン、又は出力部（例えば、片耳又は両耳用ヘッドフォン）及び入力部（例えばマイクロフォン）を設けたヘッドセットなどの取り外し可能なオーディオ入出力周辺機器との間にインターフェースを提供する。
【００３８】
Ｉ／Ｏサブシステム１０６は、デバイス１００上のタッチスクリーン１１２やその他の入力制御デバイス１１６などの入出力周辺機器を周辺機器インターフェース１１８に結合する。Ｉ／Ｏサブシステム１０６は、ディスプレイコントローラ１５６、光学センサコントローラ１５８、強度センサコントローラ１５９、触覚フィードバックコントローラ１６１、及び、その他の入力デバイス又は制御デバイス用の１以上の入力コントローラ１６０を任意で含む。１以上の入力コントローラ１６０は、電気信号を、その他の入力制御デバイス１１６から受信し、その他の入力制御デバイス１１６へ送信する。その他の入力制御デバイス１１６は、物理的ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイアル、スライダスイッチ、ジョイスティック、クリックホイールなどを任意で含む。いくつかの代替実施形態では、入力コントローラ１６０は、キーボード、赤外線ポート、ＵＳＢポート、及びマウスなどのポインタデバイスのうちのいずれかに任意で結合している（又は結合していない）。１以上のボタン（例えば、図２の２０８）は、スピーカ１１１及び／又はマイクロフォン１１３の音声調節用の上下ボタンを任意で含む。１以上のボタンはプッシュボタン（例えば、図２の２０６）を任意で含む。
【００３９】
参照によりその全体が援用される２００５年１２月２３日出願の米国特許出願第１１／３２２，５４９号、「Unlocking a Device by Performing Gestures on an Unlock Image」、及び米国特許第７，６５７，８４９号に記載されているように、プッシュボタンを早押しすると、タッチスクリーン１１２のロックが任意で解除されるか、又は、デバイスをロック解除するべくタッチスクリーン上でジェスチャを用いるプロセスが任意で開始される。プッシュボタン（例えば２０６）を長押しすることで、任意でデバイス１００の電源をオン又はオフにする。１以上のボタンの機能性は任意でユーザカスタマイズが可能である。タッチスクリーン１１２は、仮想ボタン又はソフトボタン、及び１以上のソフトキーボードを実施するために使用される。
【００４０】
タッチ感知ディスプレイ１１２は、デバイスとユーザとの間に入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ１５６は、電気信号をタッチスクリーン１１２から受信し、及び／又はタッチスクリーン１１２へ送信する。タッチスクリーン１１２はユーザに対し視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらのあらゆる組み合わせを任意で含む（「グラフィック」と総称される）。いくつかの実施形態では、視覚出力のいくらか又は全ては任意でユーザインターフェースオブジェクトに対応している。
【００４１】
タッチスクリーン１１２は、触覚及び／又は触知接触に基づくユーザからの入力を受け取るタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン１１２及びディスプレイコントローラ１５６は（メモリ１０２内のあらゆる関連付けされたモジュール及び／又は命令セットと共に）タッチスクリーン１１２上の接触（及びあらゆる動き、又は接触の解除）を検出し、検出した接触を、タッチスクリーン１１２上に表示されるユーザインターフェースオブジェクト（例えば、１以上のソフトキー、アイコン、ウェブページ、画像）との対話に変換する。例示的な実施形態では、タッチスクリーン１１２とユーザとの間の接触点はユーザの指に相当する。
【００４２】
タッチスクリーン１１２は、液晶ディスプレイ（ＬＣＤ）技術、発光ポリマーディスプレイ（ＬＰＤ）技術、又は発光ダイオード（ＬＥＤ）技術を任意で用いるが、別の実施形態では別のディスプレイ技術が用いられる。タッチスクリーン１１２及びディスプレイコントローラ１５６は、容量性、抵抗性、赤外線、及び表面弾性波技術、並びに、１以上のタッチスクリーン１１２との接触点を判定するためのその他の近接センサアレイ又はその他の素子を非限定的に含む現在知られている又は後に開発される複数のタッチ感知技術を用いて、接触及びあらゆる動き、又はその解除を任意で検出する。例示的な実施形態では、Ａｐｐｌｅ  Ｉｎｃ．（カリフォルニア州、クパティーノ）製のｉＰｈｏｎｅ（登録商標）及びｉＰｏｄ  Ｔｏｕｃｈ（登録商標）に見られるような投影型相互静電容量感知技術を用いている。
【００４３】
タッチスクリーン１１２のいくつかの実施形態におけるタッチ感知ディスプレイは、米国特許第６，３２３，８４６号（Westermanら）、同第６，５７０，５５７号（Westermanら）、及び／又は同第６，６７７，９３２号（Westerman）、及び／又は、米国特許出願公開第２００２／００１５０２４（Ａ１）号に記載されたマルチタッチ感応式タッチパッドと任意で類似している。これらのそれぞれは参照によってその全体が本明細書に援用される。しかし、タッチスクリーン１１２はデバイス１００からの視覚出力を表示し、一方、タッチ感知タッチパッドは視覚出力を提供しない。
【００４４】
タッチスクリーン１１２のいくつかの実施形態におけるタッチ感知ディスプレイは、（１）２００６年５月２日出願の米国特許出願第１１／３８１，３１３号、「Multipoint Touch Surface Controller」、（２）２００４年５月６日出願の米国特許出願第１０／８４０，８６２号、「Multipoint Touchscreen」、（３）２００４年７月３０日出願の米国特許出願第１０／９０３，９６４号、「Gestures For Touch Sensitive Input Devices」、（４）２００５年１月３１日出願の米国特許出願第１１／０４８，２６４号、「Gestures For Touch Sensitive Input Devices」、（５）２００５年１月１８日出願の米国特許出願第１１／０３８，５９０号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、（６）２００５年９月１６日出願の米国特許出願第１１／２２８，７５８号、「Virtual Input Device Placement On A Touch Screen User Interface」、（７）２００５年９月１６日出願の米国特許出願第１１／２２８，７００号、「Operation Of A Computer With A Touch Screen Interface」、（８）２００５年９月１６日出願の米国特許出願第１１／２２８，７３７号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び（９）２００６年３月３日出願の米国特許出願第１１／３６７，７４９号、「Multi-Functional Hand-Held Device」の出願にて説明されている。これらの出願は全て、参照によってその全体が本明細書に援用される。
【００４５】
タッチスクリーン１１２は１００ｄｐｉ以上のビデオ解像度を任意で有する。いくつかの実施形態では、タッチスクリーンは約１６０ｄｐｉのビデオ解像度を有する。ユーザは、スタイラス、指、その他などのあらゆる適切な対象物又は付属物を用いて、任意でタッチスクリーン１１２と接触する。いくつかの実施形態では、ユーザインターフェースは主に指ベースの接触及びジェスチャで動作するように設計されているが、これは、タッチスクリーン上の指の接触面積がスタイラスの接触面積よりも広いため、スタイラスベースの入力よりも精度が低い。いくつかの実施形態では、デバイスは、おおまかな指ベースの入力を、ユーザが望むアクションを実施するための正確なポインタ／カーソル位置、又は命令に変換する。
【００４６】
いくつかの実施形態では、デバイス１００は、タッチスクリーンに加え、特定の機能を起動又は停止するためのタッチパッド（図示せず）を任意で含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンと異なり視覚出力を表示しない、デバイスのタッチ感知性範囲である。タッチパッドは、任意で、タッチスクリーン１１２から分離できるタッチ感知面、又はタッチスクリーンで形成されたタッチ感知面の拡張部である。
【００４７】
デバイス１００は、様々なコンポーネントに給電するための電源システム１６２を更に含む。電源システム１６２は、電力管理系、１以上の電源（例えば、バッテリ、交流電流（ＡＣ））、充電システム、電源障害検出回路、電力変換器又はインバータ、電力状態インジケータ（例えば発光ダイオード（ＬＥＤ））、及び、ポータブルデバイス内での電力の生成、管理、分配に関連したその他のあらゆるコンポーネントを任意で含む。
【００４８】
デバイス１００は、更に、１以上の光学センサ１６４を任意で含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の光学センサコントローラ１５８に結合した光学センサを示す。光学センサ１６４は、電荷結合デバイス（ＣＣＤ）又は相補的金属酸化物半導体（ＣＭＯＳ）フォトトランジスタを任意で含む。光学センサ１６４は、１以上のレンズを介して投光された光を環境から受信し、この光を、画像を表すデータに変換する。光学センサ１６４は、撮像モジュール１４３（カメラモジュールとも呼ばれる）と共に、静止画像又はビデオを任意でキャプチャする。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び／又はビデオ画像を取得するためのビューファインダとして使用するために有効にされるよう、光学センサが、デバイス１００の背部（デバイス前部のタッチスクリーンディスプレイ１１２の反対側）に位置している。いくつかの実施形態では、タッチスクリーンディスプレイ上でテレビ会議の他の参加者を見ているユーザの画像をテレビ会議のために任意で入手できるよう、光学センサがデバイス前部に位置している。いくつかの実施形態では、１つの光学センサ１６４をタッチスクリーンディスプレイと併用して、テレビ会議と、静止画像及び／又はビデオ画像の取得との両方を行えるよう、光学センサ１６４の位置を（例えば、デバイスハウジング内でレンズとセンサを回転させることにより）、ユーザが変更することができる。
【００４９】
デバイス１００はまた、１以上の接触強度センサ１６５任意で含む。図１ＡはＩ／Ｏサブシステム１０６内の強度センサコントローラ１５９に結合している接触強度センサを示す。接触強度センサ１６５は、１以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又はその他の強度センサ（例えば、タッチ感知面への接触の力（又は圧力）を測定するために用いるセンサ）を任意で含む。接触強度センサ１６５は、接触強度情報（例えば、圧力情報、又は圧力情報のプロキシ）を環境から受信する。いくつかの実施形態では、少なくとも１つの接触強度センサはタッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）に並設されているか、又は近接している。いくつかの実施形態では、少なくとも１つの接触強度センサはデバイス１００の背部（デバイス１００の前部に位置するタッチスクリーンディスプレイ１１２の反対側）に位置している。
【００５０】
デバイス１００はまた、１以上の近接センサ１６６を任意で含む。図１Ａは、周辺機器インターフェース１１８に結合した近接センサ１６６を示す。或いは、近接センサ１６６はＩ／Ｏサブシステム１０６内の入力コントローラ１６０に任意で結合している。近接センサ１６６は、任意で、米国特許出願第１１／２４１，８３９号、「Proximity Detector In Handheld Device」、同第１１／２４０，７８８号、「Proximity Detector In Handheld Device」、同第１１／６２０，７０２号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第１１／５８６，８６２号、「Automated Response To And Sensing Of User Activity In Portable Devices」、同第１１／６３８，２５１号、「Methods And Systems For Automatic Configuration Of Peripherals」において説明されているように機能し、これらは参照によりその全体が本明細書に援用される。いくつかの実施形態では、近接センサは、ユーザの耳の付近に多機能デバイスが配置されている場合（例えば、ユーザが通話中である場合）には、タッチスクリーン１１２の電源を切り、使用不能にする。
【００５１】
デバイス１００はまた、１以上の触知出力生成器１６７を任意で含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の触覚フィードバックコントローラ１６１に結合した触知出力生成器を示す。触知出力生成器１６７は、スピーカ又はその他のオーディオコンポーネントなどの１以上の電気音響デバイス、及び／又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータなどの、エネルギーを直線運動に変換する電気機械デバイス、又はその他の触知出力生成コンポーネント（例えば、電気信号をデバイス上の触知出力に変換するコンポーネント）を任意で含む。接触強度センサ１６５は触知フィードバック生成命令を触覚フィードバックモジュール１３３から受信して、デバイス１００のユーザが感知できる、デバイス１００上の触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器はタッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）に並設されているか、又は近接しており、又、任意で、タッチ感知面を縦方向に（例えば、デバイス１００の面内或いは面外へ）又は横方向に（例えば、デバイス１００の面と同じ平面内で前後に）動かすことで触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器センサは、デバイス１００の背部（デバイス１００の前部に位置するタッチスクリーンディスプレイ１１２の反対側）に位置している。
【００５２】
デバイス１００はまた、１以上の加速度計１６８を任意で含む。図１Ａは、周辺機器インターフェース１１８に結合した加速度計１６８を示す。或いは、加速度計１６８はＩ／Ｏサブシステム１０６内の入力コントローラ１６０に任意で結合している。加速度計１６８は、任意で、米国特許出願公開第２００５０１９００５９号、「Acceleration-based Theft Detection System for Portable Electronic Devices」及び同第２００６００１７６９２号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」において説明されているように機能し、これらは両方とも参照によりその全体が本明細書に援用される。いくつかの実施形態では、情報は、１以上の加速度計から受信したデータの分析に基づいて、タッチスクリーンディスプレイ上に縦長表示又は横長表示にて表示される。デバイス１００は、加速度計１６８に加え、デバイス１００の場所及び向き（例えば、縦長表示又は横長表示）に関する情報を入手するための磁気計（図示せず）及びＧＰＳ（又はＧＬＯＮＡＳＳやその他の全地球測位システム）受信機（図示せず）を任意で含む。
【００５３】
いくつかの実施形態では、メモリ１０２に記憶されたソフトウェアコンポーネントはオペレーティングシステム１２６、通信モジュール（又は命令セット）１２８、接触／動きモジュール（又は命令セット）１３０、グラフィックモジュール（又は命令セット）１３２、テキスト入力モジュール（又は命令セット）１３４、全地球測位システム（ＧＰＳ）モジュール（又は命令セット）１３５、及びアプリケーション（又は命令セット）１３６を含む。更に、いくつかの実施形態では、メモリ１０２（図１Ａ）又はメモリ３７０（図３）は、図１Ａ及び図３に示すようにデバイス／グローバル内部状態１５７を記憶する。デバイス／グローバル内部状態１５７は、もしあれば現在どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態と、どのアプリケーション、ビュー、又はその他の情報がタッチスクリーンディスプレイ１１２の様々な領域を占有しているかを示すディスプレイ状態と、デバイスの様々なセンサ及び入力制御デバイス１１６から入手した情報を含むセンサ状態と、デバイスの場所及び／又は姿勢に関する場所情報とのうち、１以上を含む。
【００５４】
オペレーティングシステム１２６（例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ、ｉＯＳ、ＷＩＮＤＯＷＳ（登録商標）、又は、ＶｘＷｏｒｋｓなどの組み込みオペレーティングシステム）は、汎用システムタスク（例えば、メモリ管理、記憶装置制御、電力管理など）を制御及び管理する様々なソフトウェアコンポーネント及び／又はドライバを含み、様々なハードウェアとソフトウェアコンポーネントとの間の通信を促進する。
【００５５】
通信モジュール１２８は、１以上の外部ポート１２４を介した他のデバイスとの通信を促進し、更に、ＲＦ回路１０８及び／又は外部ポート１２４により受信したデータを扱う様々なソフトウェアコンポーネントを含む。外部ポート１２４（例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥなど）は、他のデバイスに直接結合する、又はネットワーク（例えば、インターネット、無線ＬＡＮなど）上で間接的に結合するように適合されている。いくつかの実施形態では、外部ポートは、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）デバイスに使用されている３０ピンコネクタと同一、類似する、及び／又は互換性を有する多ピン（例えば３０ピン）コネクタである。
【００５６】
接触／動きモジュール１３０は、（ディスプレイコントローラ１５６と並設された）タッチスクリーン１１２及びその他のタッチ感知デバイス（例えば、タッチパッド又は物理的なクリックホイール）との接触を任意で検出する。接触／動きモジュール１３０は、接触が起こったかどうかの判定（例えば、フィンガーダウンイベントの検出）、接触の強度（例えば、接触の力又は圧力、或いは接触の力又は圧力の代替物）の判定、接触の動きがあるかどうかの判定及びタッチ感知面上での動きの追跡（例えば、１以上のフィンガードラッグイベントの検出）、接触が停止したかどうかの判定（例えば、フィンガーアップイベント又は接触の遮断の検出）といった接触の検出に関連する様々な演算を実施するための様々なソフトウェアコンポーネントを含む。接触／動きモジュール１３０は、タッチ感知面から接触データを受信する。一連の接触データによって表される接触点の動きの判定は、接触点の速度（大きさ）、速度（大きさと方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを任意で含む。これらの演算は、１つの接触（例えば１つの指接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指接触）に任意で適用される。いくつかの実施形態では、接触／動きモジュール１３０とディスプレイコントローラ１５６はタッチパッド上の接触を検出する。
【００５７】
いくつかの実施形態では、接触／動きモジュール１３０は、１以上の強度閾値で成るセットを使用して、演算がユーザによって実施されたかどうかを判定する（例えば、ユーザがアイコンを「クリックした」かどうかを判定する）。いくつかの実施形態では、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される（例えば、強度閾値は特定の物理的アクチュエータの起動閾値によって判定されず、デバイス１００の物理的なハードウェアを変更することなく調整することができる）。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値を、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更せずに、広範囲の既定閾値のいずれにも設定することができる。これに加えて、いくつかの実施では、デバイスのユーザは、１以上の強度閾値で成るセットを（例えば、個々の強度閾値の調整により、及び／又は、複数の強度閾値をシステムレベルのクリック「強度」パラメータを用いて同時調整することにより）調整するためのソフトウェア設定を提供される。
【００５８】
接触／動きモジュール１３０は、ユーザによるジェスチャ入力を任意で検出する。タッチ感知面上での各種ジェスチャは異なった接触パターン（例えば、検出した接触の異なる動き、タイミング、及び／又は強度）を有する。そのため、ジェスチャは、任意で、特定の接触パターンを検出することによって検出される。例えば、フィンガータップジェスチャの検出は、フィンガーダウンイベントを検出した後に、このフィンガーダウンイベントと同一位置（又はほぼ同一位置）で（例えば、アイコン位置での）フィンガーアップ（上昇）イベントを検出することを含む。別例として、タッチ感知面上でのフィンガースワイプジェスチャの検出は、フィンガーダウンイベントを検出した後に、１以上のフィンガードラッグイベントを検出し、その後フィンガーアップ（リフトオフ）イベントを検出することを含む。
【００５９】
グラフィックモジュール１３２は、表示されたグラフィックの視覚影響（例えば、輝度、透明度、彩度、コントラスト、又はその他の視覚性質）を変更するためのコンポーネントを含む、グラフィックをレンダリングし、タッチスクリーン１１２又は別のディスプレイ上に表示するための様々な周知のソフトウェアコンポーネントを含む。本明細書で用いている用語「グラフィック」は、ユーザに対して表示することが可能なあらゆるオブジェクトを含み、これにはテキスト、ウェブページ、アイコン（ソフトキーを含むユーザインターフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーション、その他が非限定的に含まれる。
【００６０】
いくつかの実施形態では、グラフィックモジュール１３２は使用するグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが任意で割り当てられる。グラフィックモジュール１３２はアプリケーションなどから、表示するグラフィックを指定する１以上のコードを、必要であれば座標データ及びその他のグラフィックプロパティデータと共に受信し、次に、ディスプレイコントローラ１５６へ出力するためのスクリーン画像データを生成する。
【００６１】
触覚フィードバックモジュール１３３は、デバイス１００とのユーザ対話に応じてデバイス１００上の１以上の場所にて触知出力を生成するために触知出力生成器１６７によって使用される命令を生成する様々なソフトウェアコンポーネントを含む。
【００６２】
任意でグラフィックモジュール１３２のコンポーネントであるテキスト入力モジュール１３４は、様々なアプリケーション（例えば、連絡先１３７、電子メール１４０、ＩＭ１４１、ブラウザ１４７、及びテキスト入力を必要とするその他のあらゆるアプリケーション）においてテキストを入力するためのソフトキーボードを提供する。
【００６３】
ＧＰＳモジュール１３５は、デバイスの場所を判定し、この情報を様々なアプリケーションで使用するべく（例えば、場所ベースのダイアリングに用いる電話１３８に、写真／ビデオメタデータとしてカメラ１４３に、天気ウィジェット、ローカルイエローページウィジェット、及び地図／ナビゲーションウィジェットなどの場所ベースのサービスを提供するアプリケーションに）提供する。
【００６４】
アプリケーション１３６は、以下のモジュール（又は命令セット）、又はそのサブセットやスーパーセットを任意で含む。
●連絡先モジュール１３７（時にアドレス帳又は連絡先リストと呼ばれる）
●電話モジュール１３８
●テレビ会議モジュール１３９
●電子メールクライアントモジュール１４０
●インスタントメッセージング（ＩＭ）モジュール１４１
●トレーニングサポートモジュール１４２
●静止画像及び／又はビデオ画像のためのカメラモジュール１４３
●画像管理モジュール１４４
●ビデオ再生モジュール
●音楽プレーヤモジュール
●ブラウザモジュール１４７
●カレンダーモジュール１４８
●天気ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラームクロックウィジェット１４９−４、辞書ウィジェット１４９−５、及び、ユーザが入手したその他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうち１以上を任意で含むウィジェットモジュール１４９
●ユーザ作成ウィジェット１４９−６を作るためのウィジェットクリエータモジュール１５０
●検索モジュール１５１
●ビデオ再生モジュールと音楽プレーヤモジュールを合体させたビデオ及び音楽プレーヤモジュール１５２
●メモモジュール１５３
●地図モジュール１５４、及び／又は、
●オンラインビデオモジュール１５５
【００６５】
任意でメモリ１０２に記憶されているその他のアプリケーション１３６の例には、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ対応アプリケーション、暗号化部、デジタル著作権管理、音声認識、音声複製が挙げられる。
【００６６】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、連絡先モジュール１３７は、アドレス帳又は連絡先リスト（例えば、メモリ１０２又はメモリ３７０内の連絡先モジュール１３７のアプリケーション内部状態１９２に記憶されている）を管理するために使用され、このアドレス帳又は連絡先リストの管理には、アドレス帳に名前を追加すること、アドレス帳から名前を削除すること、電話番号、電子メールアドレス、物理的住所、又はその他の情報を名前と関連付けすること、画像を名前と関連付けすること、名前を分類及び区分すること、電話１３８、テレビ会議モジュール１３９、電子メール１４０、ＩＭ１４１による通信を開始及び／又は促進するために電話番号又は電子メールアドレスを提供すること、及びその他が含まれる。
【００６７】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、電話モジュール１３８は、電話番号に対応した一連の文字を入力する、連絡先モジュール１３７内の１以上の電話番号にアクセスする、入力済みの電話番号を修正する、それぞれの電話番号をダイアルする、会話をする、及び会話終了後に電話を断絶する又は切るために、任意で使用される。上述したように、無線通信は複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを任意で使用する。
【００６８】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光学センサ１６４、光学センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先モジュール１３７、及び電話モジュール１３８と共に、テレビ会議モジュール１３９は、ユーザと１人以上の他の参加者との間のテレビ会議をユーザ命令に従って開始、実施、及び終了するための実行可能な命令を含む。
【００６９】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、電子メールクライアントモジュール１４０は、ユーザ命令に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール１４４と共に、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影した静止画像又はビデオ画像を含んだ電子メールの作成及び送信を非常に簡単にする。
【００７０】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動作モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応した一連の文字を入力するため、入力済みの文字を修正するため、それぞれのインスタントメッセージ（例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス（ＳＭＳ）又はマルチメディアメッセージサービス（ＭＭＳ）プロトコルを使用する、又は、インターネットベースのインスタントメッセージのためのＸＭＰＰ、ＳＩＭＰＬＥ、ＩＭＰＳを使用する）を送信するため、インスタントメッセージを受信するため、及び受信したインスタントメッセージを閲覧するための実行可能な命令を含む。いくつかの実施形態では、送信及び／又は受信されたインスタントメッセージは、グラフィック、写真、オーディオファイル、ビデオファイル、及び／又は、ＭＭＳ及び／又はエンハンストメッセージングサービス（ＥＭＳ）によりサポートされたその他の添付物を任意で含む。本明細書で用いている用語「インスタントメッセージング」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されたメッセージ）とインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、ＩＭＰＳを使用して送信されたメッセージ）の両方を意味する。
【００７１】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４、及び音楽プレーヤモジュールと共に、トレーニングサポートモジュール１４２は、（例えば、時間、距離、及び／又はカロリー燃焼目標を備えた）トレーニングを作成する、トレーニングセンサ（スポーツデバイス）と通信する、トレーニングセンサデータを受信する、トレーニングをモニタするために使用されるセンサを較正する、トレーニングのための音楽を選択し再生する、並びにトレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
【００７２】
タッチスクリーン１１２、ディスプレイコントローラ１５６、光学センサ１６４、光学センサコントローラ１５８、接触／動きモジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と共に、カメラモジュール１４３は、静止画像又はビデオ（ビデオストリームを含む）をキャプチャし、これらをメモリ１０２に記憶し、静止画像又はビデオの特徴を修正し、メモリ１０２から静止画像又はビデオを削除するために実行可能な命令を含む。
【００７３】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と共に、画像管理モジュール１４４は、静止画像及び／又はビデオ画像を、アレンジ及び修正（例えば編集）する、又は他の方法で操作、ラベル付け、削除、及び提示（例えば、デジタルスライドショー又はアルバムに）する、並びに記憶するための実行可能な命令を含む。
【００７４】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、ブラウザモジュール１４７は、ユーザ命令に従ってインターネットをブラウジングするための実行可能な命令を含んでおり、このブラウジングすることには、ウェブページ又はその各部分、並びに添付物及びウェブページにリンクされているその他のファイルを検索、リンク、受信、及び表示することが含まれる。
【００７５】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と共に、カレンダーモジュール１４８は、ユーザ命令に従ってカレンダー及びカレンダー関連のデータ（例えば、カレンダー入力、Ｔｏ  Ｄｏリストなど）を作成、表示、修正、及び記憶するための実行可能な命令を含む。
【００７６】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と共に、ウィジェットモジュール１４９は、任意でユーザによってダウンロードされ、使用される（例えば、天気ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラームクロックウィジェット１４９−４、及び辞書ウィジェット１４９−５）又はユーザによって作成される（例えば、ユーザ作成ウィジェット１４９−６）ミニアプリケーションである。いくつかの実施形態では、ウィジェットはＨＴＭＬ（ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（カスケーディングスタイルシート）ファイル、ＪａｖａＳｃｒｉｐｔファイルを含む。いくつかの実施形態では、ウィジェットはＸＭＬ（拡張マークアップ言語）ファイル、ＪａｖａＳｃｒｉｐｔファイル（例えば、Ｙａｈｏｏ！ウィジェット）を含む。
【００７７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と共に、ウィジェットクリエータモジュール１５０は、ウィジェットを作成する（例えば、ウェブページのユーザ指定部分をウィジェットにする）ためにユーザによって任意で使用される。
【００７８】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４と共に、検索モジュール１５１は、ユーザ命令に従って、テキスト、音楽、音、画像、ビデオ、及び／又は、１以上の検索基準（例えば、１以上のユーザ指定の検索用語）と対応するメモリ１０２内のその他のファイル検索するための実行可能な命令を含む。
【００７９】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と共に、ビデオ及び音楽プレーヤモジュール１５２は、ＭＰ３及びＡＡＣファイルなどの１以上のファイル形式で記憶されている音楽及びその他のサウンドファイルをユーザがダウンロードして再生できるようにするための実行可能な命令、並びにビデオを（例えば、タッチスクリーン１１２上、又は、外部ポート１２４を介して接続している外部ディスプレイ上に）表示し、提示し、又は他の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス１００は、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）などのＭＰ３プレーヤの機能を任意で含む。
【００８０】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、メモモジュール１５３は、ユーザ命令に従って、メモ、Ｔｏ  Ｄｏリストなどを作成及び管理するための実行可能な命令を含む。
【００８１】
ＲＦ回路１０８、タッチ画面１１２、ディスプレイコントローラ１５６、接触／動きモジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と共に、地図モジュール１５４は、地図及び地図関連のデータ（例えば、運転方向、特定の場所又はその付近にある店舗及びその他の関心地点、並びにその他の場所ベースのデータ）をユーザ命令に従って受信、表示、修正、及び記憶するために、任意で使用される。
【００８２】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触／動作モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と共に、オンラインビデオモジュール１５５は、Ｈ．２６４などの１以上のファイル形式のオンラインビデオに、アクセスする、これをブラウジングする、受信する（例えばストリーミング及び／又はダウンロードによる）、再生する（例えば、タッチスクリーン上、又は外部ポート１２４を介して接続した外部ディスプレイ上に）、特定のオンラインビデオへのリンクが記載された電子メールを送信する、及び他の方法で扱えるようにするための命令を含む。いくつかの実施形態では、特定のオンラインビデオのリンクを送信するために、電子メールクライアントモジュール１４０ではなくインスタントメッセージングモジュール１４１を使用している。オンラインビデオアプリケーションの更なる説明は、２００７年６月２０日出願の米国特許仮出願第６０／９３６，５６２号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び２００７年１２月３１日出願の米国特許出願第１１／９６８，０６７号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見ることができ、これらの出願は本明細書に参照によりその全体が援用される。
【００８３】
上記のモジュール及びアプリケーションのそれぞれは、上で述べた１以上の機能と、本出願にて述べられた方法（例えば、コンピュータ実施可能な方法、及び、本明細書で述べているその他の情報処理方法）を実施するための実行可能な命令のセットに対応している。これらのモジュール（例えば命令セット）は、個別のソフトウェアプログラム、手順、又はモジュールとして実施する必要がないため、様々な実施形態においてこれらモジュールの様々なサブセットを任意で、組み合わせる、或いは再編成することができる。例えば、ビデオ再生モジュールを任意で音楽プレーヤモジュールと組み合わせて１つのモジュール（例えば、図１Ａのビデオ及び音楽再生モジュール１５２）にしてもよい。いくつかの実施形態では、メモリ１０２は、上記のモジュールのサブセット及びデータ構造を任意で記憶する。更に、メモリ１０２は、上で述べられていない追加のモジュール及びデータ構造を任意で記憶する。
【００８４】
いくつかの実施形態では、デバイス１００は、デバイス上での定義済みの機能セットの動作をタッチスクリーン及び／又はタッチパッドによって排他的に実施するデバイスである。タッチスクリーン及び／又はタッチパッドをデバイス１００の動作のための主な入力制御デバイスとして使用することで、デバイス１００上の物理的な入力制御デバイス（プッシュボタン、ダイアルなど）の数を任意で減らすことができる。
【００８５】
タッチスクリーン及び／又はタッチパッドにより排他的に実行される定義済みの機能セットは、ユーザインターフェース間のナビゲーションを任意で含む。いくつかの実施形態では、タッチパッドは、ユーザが触れると、デバイス１００に表示されたあらゆるユーザインターフェースから、メイン、ホーム、ルートメニューへデバイス１００を誘導する。このような実施形態では、「メニューボタン」はタッチパッドを使用して実施される。いくつかの別の実施形態では、メニューボタンはタッチパッドではなく物理的なプッシュボタン、又はその他の物理的な入力制御デバイスである。
【００８６】
図１Ｂは、いくつかの実施形態によるイベント処理のための例示的なコンポーネントを示すブロック図である。いくつかの実施形態では、メモリ１０２（図１Ａ）又はメモリ３７０（図３）は、イベントソータ１７０（例えば、オペレーティングシステム１２６内）と、対応するアプリケーション１３６−１（例えば、前述のアプリケーション１３７〜１５１、１５５、３８０〜３９０のいずれか）を含む。
【００８７】
イベントソータ１７０は、イベント情報を受信し、イベント情報の伝送宛先であるアプリケーション１３６−１及びアプリケーション１３６−１のアプリケーションビュー１９１を判定する。イベントソータ１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。いくつかの実施形態では、アプリケーション１３６−１は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ１１２上に表示されている現在のアプリケーションビューを示したアプリケーション内部状態１９２を含む。いくつかの実施形態では、イベントソータ１７０がデバイス／グローバル内部状態１５７を使用して、現在どのアプリケーションがアクティブであるかを判定し、イベントソータ１７０がアプリケーション内部状態１９２を使用して、イベント情報の伝送宛先であるアプリケーションビュー１９１を判定する。
【００８８】
いくつかの実施形態では、アプリケーション内部状態１９２は、アプリケーション１３６−１が実行を再開するときに使用される再開情報、アプリケーション１３６−１によって表示されている又は表示される準備ができた情報を示すユーザインターフェース状態情報、ユーザがアプリケーション１３６−１の前の状態やビューへ戻れるようにするための状態キュー、及びユーザが実行した前の動作のやり直し／アンドゥキューのような追加情報のうち、１以上を含む。
【００８９】
イベントモニタ１７１は周辺機器インターフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としてのタッチ感知ディスプレイ１１２上のユーザのタッチ）に関する情報を含む。周辺機器インターフェース１１８は、Ｉ／Ｏサブシステム１０６、又は近接センサ１６６などのセンサ、加速度計１６８、及び／又はマイクロフォン１１３（オーディオ回路１１０経由）から受信する情報を送信する。周辺機器インターフェース１１８がＩ／Ｏサブシステム１０６から受信する情報には、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報が含まれる。
【００９０】
いくつかの実施形態では、イベントモニタ１７１は周辺機器インターフェース１１８へ要求を所定の間隔で送信する。これに応じて、周辺機器インターフェース１１８がイベント情報を送信する。別の実施形態では、周辺機器インターフェース１１８は、顕著なイベント（例えば、所定のノイズ閾値を超えた入力を、及び／又は、所定の期間を超えた期間、受信している）がある場合にのみイベント情報を送信する。
【００９１】
いくつかの実施形態では、イベントソータ１７０はヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３を更に含む。
【００９２】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が２つ以上のビューを表示する場合に、１以上のビュー内のどこでサブイベントが発生したかを判定するためのソフトウェア手順を提供する。ビューは、制御と、ユーザがディスプレイ上で見ることができるその他の要素と、で構成されている。
【００９３】
アプリケーションに関連したユーザインターフェースの別の態様は、情報が表示されタッチベースのジェスチャが生じるビューセットであり、本明細書中でこれは時にアプリケーションビュー又はユーザインターフェースウィンドウと呼ばれている。タッチが検出された（それぞれのアプリケーションの）アプリケーションビューは、任意で、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応している。例えば、タッチが検出された最下レベルのビューは任意でヒットビューと呼ばれ、適切な入力として認識されたイベントセットは、タッチベースのジェスチャを開始させる最初のタッチのヒットビューに少なくとも部分的に基づいて任意で判定される。
【００９４】
ヒットビュー判定モジュール１７２は、タッチベースジェスチャのサブイベントに関する情報を受信する。アプリケーションが階層状に組織された複数のビューを有する場合には、ヒットビュー判定モジュール１７２が或るヒットビューを、サブイベントを処理すべき階層内最下位ビューとして識別する。ほとんどの状況において、ヒットビューは、開始サブイベント（例えば、イベント又は潜在的イベントを形成する一連のサブイベント内での第１サブイベント）が発生する最下位ビューである。典型的に、ヒットビューは、ヒットビュー判定モジュール１７２によって一旦識別されると、ヒットビューとして識別される原因となったものと同じタッチ源又は入力源に関連する全てのサブイベントを受信するようになる。
【００９５】
アクティブイベント認識部判定モジュール１７３は、ビュー階層内のどのビューが特定のサブイベントシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみが特定のサブイベントシーケンスを受信すべきであると判定する。別の実施形態では、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理的な場所を含む全てのビューは能動的に関与したビューであると判定し、したがって、全ての能動的に関与したビューが特定のサブイベントシーケンスを受信すべきであると判定する。別の実施形態では、タッチサブイベントが１つの特定のビューに関連したエリアに完全に限定されたとしても、階層内でこれよりも高いビューは能動的に関与したビューとして残る。
【００９６】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えばイベント認識部１８０）にディスパッチする。アクティブイベント認識部判定モジュール１７３を含む実施形態では、イベントディスパッチャモジュール１７４がイベント情報を、アクティブイベント認識部判定モジュール１７３によって判定されたイベント認識部に伝送する。いくつかの実施形態では、イベントディスパッチャモジュール１７４がイベント情報をそれぞれのイベント受信部１８２によって取得されたイベントキュー内に記憶する。
【００９７】
いくつかの実施形態では、オペレーティングシステム１２６はイベントソータ１７０を含む。或いは、アプリケーション１３６−１はイベントソータ１７０を含む。更に別の実施形態では、イベントソータ１７０はスタンドアロンモジュール、又は、接触／動きモジュール１３０のような、メモリ１０２に記憶された別のモジュールの一部である。
【００９８】
いくつかの実施形態では、アプリケーション１３６−１は、それぞれがアプリケーションのユーザインターフェースのそれぞれのビュー内で発生したタッチイベントを処理するための命令を含んだ、複数のイベントハンドラ１９０と１以上のアプリケーションビュー１９１とを含む。アプリケーション１３６−１の各アプリケーションビュー１９１は１以上のイベント認識部１８０を含む。典型的には、それぞれのアプリケーションビュー１９１は複数のイベント認識部１８０を含む。別の実施形態では、１以上のイベント認識部１８０は、インターフェースキット（図示せず）などの個別のモジュールの一部、又は、アプリケーション１３６−１が方法及び他の性質を継承している、より高位のオブジェクトの一部である。いくつかの実施形態では、それぞれのイベントハンドラ１９０がデータ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８、及び／又は、イベントソータ１７０から受信したイベントデータ１７９のうち、１以上を含む。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８を任意で利用する又は呼び出す。或いは、１以上のアプリケーションビュー１９１は１以上のそれぞれのイベントハンドラ１９０を含む。更に、いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８のうち１以上が、それぞれのアプリケーションビュー１９１内に含まれている。
【００９９】
それぞれのイベント認識部１８０は、イベントソータ１７０からイベント情報（例えばイベントデータ１７９）を受信し、このイベント情報からイベントを識別する。イベント認識部１８０はイベント受信部１８２とイベント比較部１８４を含む。いくつかの実施形態では、イベント認識部１８０は、更に、メタデータ１８３とイベント伝送命令１８８（サブイベント伝送命令を任意で含む）とのサブセットを少なくとも１つ含む。
【０１００】
イベント受信部１８２はイベントソータ１７０からイベント情報を受信する。イベント情報は、サブイベント（例えば、タッチ又はタッチの動き）についての情報を含む。このサブイベントに応じて、イベント情報はサブイベントの場所などの追加の情報を更に含む。サブイベントがタッチの動きに関する場合には、イベント情報は任意でサブイベントの速度及び方向を更に含む。いくつかの実施形態では、イベントはデバイスの１つの向きから別の向きへの回転（例えば、縦向きから横向きへ、又はこの逆）を含み、イベント情報はこれに対応する、デバイスの現在の向き（デバイス姿勢とも呼ばれる）についての情報を含む。
【０１０１】
イベント比較部１８４は、イベント情報を定義済みのイベント又はサブイベント定義と比較し、この比較に基づいて、イベント又はサブイベントを判定するか、或いはイベント又はサブイベントの状態を判定又は更新する。いくつかの実施形態では、イベント比較部１８４はイベント定義１８６を含む。イベント定義１８６はイベントの定義（例えば、定義済みのサブイベントシーケンス）、例えば、イベント１（１８７−１）、イベント２（１８７−２）、及びその他を保持している。いくつかの実施形態では、イベント（１８７）内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの動き、タッチキャンセル、及び複数のタッチを含む。１つの実施例では、イベント１（１８７−１）の定義は表示オブジェクト上でのダブルタップである。ダブルタップは、例えば、所定のフェーズのための表示オブジェクト上での第１タッチ（タッチ開始）、所定のフェーズのための第１リフトオフ（タッチ終了）、所定のフェーズのための表示オブジェクト上での第２タッチ（タッチ開始）、所定のフェーズについての第２リフトオフ（タッチ終了）を含む。別の実施例では、イベント２（１８７−２）の定義は表示オブジェクト上でのドラッグである。ドラッグは、例えば、所定のフェーズのための表示オブジェクト上でのタッチ（又は接触）と、タッチ感知ディスプレイ１１２をわたるタッチの動きと、タッチのリフトオフ（タッチ終了）とを含む。いくつかの実施形態では、イベントは、関連付けられた１以上のイベントハンドラ１９０の情報を更に含む。
【０１０２】
いくつかの実施形態では、イベント定義１８７は、それぞれのユーザインターフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部１８４は、どのユーザインターフェースオブジェクトがサブイベントに関連付けられているかを判定するためにヒットテストを実施する。例えば、タッチ感知ディスプレイ１１２上に３つのユーザインターフェースオブジェクトを含んで表示されたアプリケーションビューでは、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４が、３つのユーザインターフェースオブジェクトのうちのどれがこのタッチ（サブイベント）に関連付けられているか判定するためにヒットテストを実施する。各表示オブジェクトがそれぞれのイベントハンドラ１９０に関連付けられている場合には、イベント比較部はヒットテストの結果を用いてどのイベントハンドラ１９０を起動すべきかを判定する。例えば、イベント比較部１８４は、サブイベントに関連付けられたイベントハンドラと、ヒットテストを誘発したオブジェクトとを選択する。
【０１０３】
いくつかの実施形態では、それぞれのイベント（１８７）の定義には、サブイベントシーケンスがイベント認識部のイベントタイプに対応するものであるか否かが判定するまでイベント情報の伝送を遅延させる遅延アクションも含まれている。
【０１０４】
それぞれのイベント認識部１８０は、一連のサブイベントがイベント定義１８６内のいずれのイベントとも一致しないと判定した場合には、イベント不能、イベント失敗、又はイベント終了状態を入力し、その後、それ以降のタッチベースジェスチャのサブイベントを無視する。この状況では、ヒットビューについてアクティブ状態のままのイベント認識部が他にあれば、そのイベント認識部が継続中のタッチベースのジェスチャのサブイベントの追跡及び処理を続ける。
【０１０５】
いくつかの実施形態では、それぞれのイベント認識部１８０は、構成変更可能なプロパティ、フラグ、及び／又は、イベント伝送システムが能動的に関与するイベント認識部へのサブイベント伝送をどのように実施すべきかを示すリストを設けたメタデータ１８３を含む。いくつかの実施形態では、メタデータ１８３は、構成変更可能なプロパティ、フラグ、及び／又は、イベント認識部同士が互いにどのように対話するか、又は対話を可能にするかを示すリストを含む。いくつかの実施形態では、メタデータ１８３は、構成変更可能なプロパティ、フラグ、及び／又は、ビュー又はプログラム階層中でのレベルを変更するためにサブイベントが伝送されたかどうかを示すリストを含む。
【０１０６】
いくつかの実施形態では、それぞれのイベント認識部１８０は、或るイベントの１以上の特定のサブイベントを認識すると、そのイベントに関連付けられたイベントハンドラ１９０を起動させる。いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントに関連付けられたイベント情報をイベントハンドラ１９０に伝送する。イベントハンドラ１９０の起動は、サブイベントのそれぞれのヒットビューへの送信（及び延期された送信）とは異なる。いくつかの実施形態では、イベント認識部１８０が認識済みのイベントに関連付けられたフラグを投げ、このフラグに関連付けられたイベントハンドラ１９０がこのフラグをキャッチして、定義済みのプロセスを実施する。
【０１０７】
いくつかの実施形態では、イベント伝送命令１８８は、イベントハンドラを起動せずにサブイベントについてのイベント情報を伝送するサブイベント伝送命令を含む。むしろ、サブイベント伝送命令は、イベント情報を、一連のサブイベント又は能動的に関与するビューに関連付けられたイベントハンドラへ伝送する。一連のサブイベントに、又は能動的に関与するビューに関連付けられたイベントハンドラは、イベント情報を受信し、所定のプロセスを実施する。
【０１０８】
いくつかの実施形態では、データ更新部１７６がアプリケーション１３６−１で使用されたデータの作成及び更新を行う。例えば、データ更新部１７６は連絡先モジュール１３７にて使用されている電話番号を更新するか、又は、ビデオ再生モジュールで使用されているビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部１７７がアプリケーション１３６−１で使用されたオブジェクトの作成及び更新を行う。例えば、オブジェクト更新部１７７は新規のユーザインターフェースオブジェクトを作成するか、ユーザインターフェースオブジェクトの位置を更新する。ＧＵＩ更新部１７８はＧＵＩを更新する。例えば、ＧＵＩ更新部１７８はディスプレイ情報を準備し、これをタッチ感知ディスプレイ上に表示させるためにグラフィックモジュール１３２へ送信する。
【０１０９】
いくつかの実施形態では、イベントハンドラ１９０はデータ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８へのアクセスを含む又は有する。いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８は、アプリケーション１３６−１又はアプリケーションビュー１９１のそれぞれのうちの１つのモジュールに含まれている。別の実施形態では、これらは２又は複数のソフトウェアモジュール内に含まれている。
【０１１０】
タッチ感知ディスプレイ上でのユーザタッチのイベント処理に関する先行の説明は、入力デバイスを実装した多機能デバイス１００を動作する他のユーザ入力（全てがタッチスクリーン上で開始されるものではない）の形式にも適用されることが理解されるべきである。例えば、１以上のキーボード押圧又は把持、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触動作、スタイラスペンでの入力、デバイスの動き、口述命令、検出された目の動き、生体入力、及び／又はこれらのあらゆる組み合わせと任意で連携したマウスの動き及びマウスボタンの押圧は、認識対象のイベントを定義するサブイベントに対応した入力として任意で利用される。
【０１１１】
図２は、いくつかの実施形態によるタッチスクリーン１１２を実装したポータブル多機能デバイス１００を示す。タッチスクリーンは、ユーザインターフェース（ＵＩ）２００内の１以上のグラフィックを任意で表示する。この実施形態では、以降で説明する他の実施形態と同様、ユーザは、例えば１本又は複数の指２０２（図では正確な縮尺率で示されていない）又は１本又は複数のスタイラス２０３（図では正確な縮尺率で示されていない）によってグラフィック上でジェスチャを行うことにより、１以上のグラフィックを選択できるようになる。いくつかの実施形態では、１以上のグラフィックの選択は、ユーザが１以上のグラフィックとの接触を断つときに生じる。いくつかの実施形態では、ジェスチャは、１又はそれ上のタップ、１以上のスワイプ（左から右、右から左、上向き及び／又は下向き）、及び／又は、デバイス１００と接触した指の回転（右から左、左から右、上向き及び／又は下向き）を任意で含む。いくつかの実施又は状況では、グラフィックとの意図しない接触によりグラフィックが選択されることはない。例えば、任意で、選択に対応したジェスチャがタップである場合には、アプリケーションアイコン上をはらうスワイプジェスチャを行っても、対応するアプリケーションを選択することはない。
【０１１２】
デバイス１００はまた、「ホーム」又はメニューボタン２０４などの１以上の物理的なボタンを任意で含む。先に述べたように、メニューボタン２０４は、デバイス１００上で任意で実施されたアプリケーションセットのうちのいずれかのアプリケーション１３６を誘導するために任意で使用される。或いは、いくつかの実施形態では、メニューボタンは、タッチスクリーン１１２上に表示されたＧＵＩ内のソフトキーとして実現される。
【０１１３】
いくつかの実施形態では、デバイス１００はタッチスクリーン１１２、メニューボタン２０４、デバイスの電源をオン／オフし、デバイスをロックするためのプッシュボタン２０６、音量調整ボタン２０８、加入者識別モジュール（ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、ドッキング／充電用外部ポート１２４を含む。プッシュボタン２０６は、ボタンを押下して定義済みの時間間隔だけ押下状態に維持することによりデバイスの電源をオン／オフするために、ボタンを押下して定義済みの時間間隔が経過する前に解放することでデバイスをロックするために、及び／又は、デバイスをロック解除する又はロック解除プロセスを開始するために、任意で使用される。代替実施形態では、デバイス１００は、更に、マイクロフォン１１３を介して、いくつかの機能を起動又は停止するための口頭入力を受け入れる。デバイス１００は、タッチスクリーン１１２上の接触の強度を検出するための１以上の接触強度センサ１６５、及び／又は、デバイス１００のユーザに対する触知出力を生成するための１以上の触知出力生成器１６７を任意で更にに含む。
【０１１４】
図３は、いくつかの実施形態によるディスプレイ及びタッチ感知面を実装した例示的な多機能デバイスのブロック図である。デバイス３００はポータブル型でなくてもよい。いくつかの実施形態では、デバイス３００はラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育用デバイス（子供用学習玩具など）、ゲームシステム、又は制御デバイス（例えば、家庭用又は産業用コントローラ）である。典型的に、デバイス３００は、１以上の処理ユニット（ＣＰＵ）３１０、１以上のネットワーク或いはその他の通信インターフェース３６０、メモリ３７０、及びこれらのコンポーネントを相互接続するための１以上の通信バス３２０を含む。通信バス３２０は、システムコンポーネント間を相互接続しその通信を制御する回路（時にチップセットと呼ばれる）を任意で含む。デバイス３００は、典型的にタッチスクリーンディスプレイであるディスプレイ３４０を実装した入出力（Ｉ／Ｏ）インターフェース３３０を含む。Ｉ／Ｏインターフェース３３０は、更に、キーボード及び／又はマウス（又はその他のポインティングデバイス）３５０及びタッチパッド３５５、デバイス３００上に触知出力を生成する触知出力生成器３５７（例えば、図１Ａを参照して上で説明した触知出力生成器１６７と類似）、センサ３５９（例えば、光学、加速度、近接、タッチ感知センサ、及び／又は、図１Ａを参照して上で説明した接触強度センサ１６５と類似する接触強度センサ）を任意で含む。メモリ３７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又はその他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、１以上の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリデバイス、又はその他の不揮発性固体記憶デバイスなどの不揮発性メモリを任意で含む。メモリ３７０は、ＣＰＵ３１０から離れて位置した１以上の記憶装置を任意で含む。いくつかの実施形態では、メモリ３７０は、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２に記憶されたプログラム、モジュール、及びデータ構造と類似するプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ３７０は、ポータブル多機能デバイス１００のメモリ１０２内にはない、追加のプログラム、モジュール、及びデータ構造を任意で記憶する。例えば、デバイス３００のメモリ３７０は、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、及び／又はスプレッドシートモジュール３９０を任意で記憶するが、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２は任意でこれらのモジュールを記憶しない。
【０１１５】
上記の図３中の要素のそれぞれは、前述したメモリデバイスの１以上に任意で記憶される。上記のモジュールのそれぞれは、上述の機能を実施するための命令セットに対応している。上記のモジュール又はプログラム（例えば命令セット）は、個別のソフトウェアプログラム、手順、又はモジュールとして実施する必要がないため、様々な実施形態においてこれらモジュールの様々なサブセットを任意で組み合わせるか、或いは再編成することができる。いくつかの実施形態では、メモリ３７０は、上記のモジュールのサブセット及びデータ構造を任意で記憶する。更に、メモリ３７０は、上で述べられていない追加のモジュール及びデータ構造を任意で記憶する。
【０１１６】
ここでは、例えば、ポータブル多機能デバイス１００上で任意に実施されるユーザインターフェースの実施形態に注目する。
【０１１７】
図４Ａは、いくつかの実施形態によるポータブル多機能デバイス１００上のアプリケーションメニューの例示的なユーザインターフェースを示す。これと類似のユーザインターフェースが任意でデバイス３００上で実施される。いくつかの実施形態では、ユーザインターフェース４００は以下の要素、或いはそのサブセット又はスーパーセットを含む。
●セルラー及びＷｉ−Ｆｉ信号などの無線通信用の信号強度インジケータ４０２
●時間４０４
●Ｂｌｕｅｔｏｏｔｈ状態インジケータ４０５
●バッテリ状態インジケータ４０６
●頻繁に使用する次のようなアイコンが入ったトレイ４０８
○「電話」とラベル表示され、不在着信又は留守番電話メッセージの数を示すインジケータ４１４を任意で含む、電話モジュール１３８用のアイコン４１６
○「メール」ラベル表示され、未読電子メールの数を示すインジケータ４１０を任意で含む、電子メールクライアントモジュール１４０用のアイコン４１８
○「ブラウザ」とラベル表示されたブラウザモジュール１４７用のアイコン４２０
○「ｉＰｏｄ」とラベル表示された、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）モジュール１５２とも呼ばれるビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２
●次のようなその他のアプリケーション用のアイコン
○「メッセージ」とラベル表示されたＩＭモジュール１４１用のアイコン４２４
○「カレンダー」とラベル表示されたカレンダーモジュール１４８用のアイコン４２６
○「写真」とラベル表示された画像管理モジュール１４４用のアイコン４２８
○「カメラ」とラベル表示されたカメラモジュール１４３用のアイコン４３０
○「オンラインビデオ」とラベル表示されたオンラインビデオモジュール１５５用のアイコン４３２
○「株式」とラベル表示された株式ウィジェット１４９−２用のアイコン４３４
○「地図」とラベル表示された地図モジュール１５４用のアイコン４３６
○「天気」とラベル表示された天気ウィジェット１４９−１用のアイコン４３８
○「時計」とラベル表示されたアラームクロックウィジェット１４９−４用のアイコン４４０
○「トレーニングサポート」とラベル表示されたトレーニングサポートモジュール１４２用のアイコン４４２
○「メモ」とラベル表示されたメモモジュール１５３用のアイコン４４４
○「設定」とラベル表示された、デバイス１００及びデバイス１００の様々なアプリケーション１３６の設定へのアクセスを提供する設定アプリケーション又はモジュール用のアイコン４４６
【０１１８】
図４Ａに示すアイコンラベルは単なる例示である点に留意すべきである。例えば、ビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２は、「音楽」又は「音楽プレーヤ」とラベル表示される。その他のラベルが様々なアプリケーションアイコンに任意で使用される。いくつかの実施形態では、それぞれのアプリケーションアイコン用のラベルは、それぞれのアプリケーションアイコンに対応したアプリケーションの名称を含む。いくつかの実施形態では、特定のアプリケーションアイコン用のラベルは、特定のアプリケーションアイコンに対応したアプリケーションの名称とは異なる。
【０１１９】
図４Ｂは、ディスプレイ４５０（例えば、タッチスクリーンディスプレイ１１２）から離れたタッチ感知面４５１（例えば、タブレット又は図３のタッチパッド３５５）を実装したデバイス（例えば図３のデバイス３００）上の例示的なユーザインターフェースを示す。デバイス３００は、タッチ感知面４５１上の接触の強度を検出する１以上の接触強度センサ（例えば、１以上のセンサ３５９）、及び／又は、デバイス３００のユーザに触知出力を生成する１以上の触知出力生成器３５７を更に任意で含む。
【０１２０】
以下に示すいくつかの実施例はタッチスクリーンディスプレイ１１２（タッチ感知面及びディスプレイの組み合わせ）上の入力を参照して提供されているが、いくつかの実施形態では、図４Ｂに示すようにデバイスはディスプレイから離れた位置にあるタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面（例えば図４Ｂの４５１）は、ディスプレイ（例えば４５０）上の主軸（例えば図４Ｂの４５３）に対応する主軸（例えば図４Ｂの４５２）を有する。これらの実施形態によれば、デバイスはタッチ感知面４５１との接触（例えば、図４Ｂの４６０及び４６２）をディスプレイ上のそれぞれの場所に対応した場所にて検出する（例えば、図４Ｂ中の４６０は４６８に対応し、４６２は４７０に対応する）。こうすることで、タッチ感知面がディスプレイから離れている場合、デバイスは、タッチ感知面（例えば、図４Ｂの４５１）上で検出したユーザ入力（例えば、接触４６０、４６２、及びその動き）を用いて、多機能デバイスのディスプレイ（例えば図４Ｂの４５０）上でユーザインターフェースを操作する。本明細書中で述べているその他のユーザインターフェースには、任意で類似の方法が使用されることが理解されるべきである。
【０１２１】
これに加え、以下の実施例は主に指での入力（例えば、指接触、フィンガータップジェスチャ、フィンガースワイプジェスチャ）を参照して提供されているが、いくつかの実施形態では１以上の指での入力の代わりに別の入力デバイスからの入力（例えば、マウスベースの入力又はスタイラスベースの入力）を用いていることが理解されるべきである。例えば、スワイプジェスチャを任意でマウスクリックに置き換え（例えば、接触の代替）、その後、カーソルをスワイプの経路に沿って動かす（例えば、接触の動きの代替）。別の実施例では、カーソルをタップジェスチャの場所の上に配置しながら、タップジェスチャをマウスクリックで任意で置き換える（例えば、接触検出後に、接触の検出を停止することの代替）。同様に、複数のユーザ入力が同時に検出された場合には、任意で複数のコンピュータマウスを同時に使用する、又は、任意でマウスと指接触を同時に使用することが理解されるべきである。
【０１２２】
図５Ａは例示的なパーソナル電子デバイス５００を示す。デバイス５００は本体５０２を含む。いくつかの実施形態では、デバイス５００は、デバイス１００及び３００に関連して説明した特性（例えば、図１Ａ〜図４Ｂ）のいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス５００はタッチ感知ディスプレイスクリーン５０４（以降、「タッチスクリーン５０４」）を設けている。或いは、又はタッチスクリーン５０４に加えて、デバイス５００はディスプレイ及びタッチ感知面を設けている。デバイス１００、３００と同様、いくつかの実施形態では、タッチスクリーン５０４（又はタッチ感知面）は、付与される接触（例えばタッチ）の強度を検出するための１以上の強度センサを任意で含む。タッチスクリーン５０４（又はタッチ感知面）の１以上の強度センサは、タッチの強度を表す出力データを提供できる。デバイス５００のユーザインターフェースはタッチの強度に基づいてタッチに応答することができ、つまり、強度の異なるタッチがデバイス５００上で種々のユーザインターフェース動作を呼び出す。
【０１２３】
タッチ強度を検出及び処理する例示的な技術は、例えば、ＷＩＰＯ公開ＷＯ／２０１３／１６９８４９号として公開された２０１３年５月８日出願の国際特許出願第ＰＣＴ／ＵＳ２０１３／０４００６１号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、ＷＩＰＯ公開ＷＯ／２０１４／１０５２７６号として公開された２０１３年１１月１１日出願の国際特許出願第ＰＣＴ／ＵＳ２０１３／０６９４８３号。「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」などの関連出願に見ることができ、これらの出願のそれぞれは参照によってその全体が本明細書に援用される。
【０１２４】
いくつかの実施形態では、デバイス５００は１以上の入力機構５０６及び５０８を設けている。入力機構５０６及び５０８は（含まれている場合）物理的であってよい。物理的な入力機構の例にはプッシュボタン及び回転可能な機構が含まれる。いくつかの実施形態では、デバイス５００は１以上のアタッチメント機構を設けている。このようなアタッチメント機構は（含まれている場合）、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、バッグ、バックパック及びその他への、デバイス５００の取り付けを可能にすることができる。これらのアタッチメント機構により、ユーザはデバイス５００を装着することができる。
【０１２５】
図５Ｂは、例示的なパーソナル電子デバイス５００を示す。いくつかの実施形態では、デバイス５００は、図１Ａ、図１Ｂ、図３に関連して説明したコンポーネントのいくつか又は全てを含むことができる。デバイス５００は、Ｉ／Ｏセクション５１４を１以上のコンピュータプロセッサ５１６及びメモリ５１８と動作可能に結合するバス５１２を設けている。Ｉ／Ｏセクション５１４は、タッチ感知コンポーネント５２２と、任意で強度センサ５２４（例えば接触強度センサ）とを設けることが可能なディスプレイ５０４に接続できる。これに加えて、Ｉ／Ｏセクション５１４は、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、近距離通信（ＮＦＣ）、セルラー、及び／又はその他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムデータを受信するための通信ユニット５３０に接続できる。デバイス５００は入力機構５０６及び／又は５０８を含むことができる。いくつかの実施例において、入力機構５０８は任意でボタンである。
【０１２６】
いくつかの実施例において、入力機構５０８は任意でマイクロフォンである。パーソナル電子デバイス５００は、ＧＰＳセンサ５３２、加速度計５３４、方向センサ５４０（例えばコンパス）、ジャイロスコープ５３６、動きセンサ５３８、及び／又はこれらの組み合わせなどの様々なセンサを任意で含み、これらのセンサは全てＩ／Ｏセクション５１４に動作可能に接続することができる。
【０１２７】
パーソナル電子デバイス５００のメモリ５１８は、例えば、１以上のコンピュータプロセッサ５１６によって実行されると、コンピュータプロセッサに、以下で述べるプロセスを含んだ以下で述べる技術を実施させることができる、コンピュータ実行可能な命令を記憶する、１以上の非一時的コンピュータ可読記憶媒体を含むことができる。パーソナル電子デバイス５００は図５Ｂのコンポーネント及び構成に限定されず、複数の構成においてその他又は追加のコンポーネントを含むことができる。
【０１２８】
本明細書中で用いている用語「アフォーダンス」とは、デバイス１００、３００、及び／又は５００のディスプレイスクリーン上に任意で表示されるユーザ対話式グラフィカルユーザインターフェースオフジェクト（図１、図３、図５）を意味する。例えば、画像（例えばアイコン）、ボタン、テキスト（例えばハイパーリンク）のそれぞれが任意でアフォーダンスを構成する。
【０１２９】
本明細書中で用いている用語「フォーカスセレクタ」とは、ユーザインターフェースの、ユーザと現在対話している部分を示す入力要素を意味する。カーソル又はその他の位置マーカを含むいくつかの実施では、カーソルが「フォーカスセレクタ」として機能するため、カーソルが特定のユーザインターフェース要素（例えば、ボタン、ウィンドウ、スライダ、又はその他のユーザインターフェース要素）の上にある間にタッチ感知面（例えば、図３のタッチパッド３５５、又は、図４Ｂのタッチ感知面４５１）上で入力（例えば、押圧入力）が検出されると、検出された入力に従って特定のユーザインターフェース要素が調整される。タッチスクリーンディスプレイ上のユーザインターフェース要素と直接対話できるタッチスクリーンディスプレイ（例えば、図１Ａのタッチ感知ディスプレイシステム１１２、又は、図４Ａのタッチスクリーン１１２）を含むいくつかの実施では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として機能するため、タッチスクリーンディスプレイの特定のユーザインターフェース要素（例えば、ボタン、ウィンドウ、スライダ、又はその他のユーザインターフェース要素）の位置で入力（例えば、接触による押圧入力）が検出されると、この検出された入力に従って特定のユーザインターフェース要素が調整される。いくつかの実施では、フォーカスは、タッチスクリーンディスプレイ上で対応するカーソルの動き又は接触の動きなく（例えば、タブキー又は矢印キーを使用してフォーカスを１つのボタンから別のボタンへ動かすことで）ユーザインターフェースの１つの領域からユーザインターフェースの別の領域へ移動し、これらの実施において、フォーカスセレクタはユーザインターフェースの異なる領域間でフォーカスの動きに従って動く。フォーカスセレクタは、概して、その具体的な形式に関係なく、ユーザが意図する対話をユーザインターフェースで通信するようにユーザによって制御される（例えば、ユーザが対話しようとしているユーザインターフェースの要素をデバイスに対して示すことによる）ユーザインターフェース要素（又はタッチスクリーンディスプレイ上の接触）である。例えば、タッチ感知面（例えば、タッチパッド又はタッチスクリーン）上で押圧入力が検出されている間におけるそれぞれのボタン上でのフォーカスセレクタ（例えば、カーソル、接触、又は選択ボックス）の位置は、ユーザがそれぞれのボタンを起動させたい旨を示す（デバイスのディスプレイ上に示される別のユーザインターフェース要素とは対照的である）。
【０１３０】
本明細書及び請求項で用いられている用語、接触の「特性的強度」とは、接触の１以上の強度に基づく接触の特徴を意味する。いくつかの実施形態では、特性的強度は複数の強度サンプルに基づく。特性的強度は、定義済みの強度サンプル数、又は、所定の期間（例えば、０．０５、０．１、０．２、０．５、１、２、５、１０秒間）中に定義済みのイベント（例えば、接触の検出後、接触のリフトオフの検出前、接触の動きの開始を検出する前又は後、接触の終了の検出前、接触の強度の上昇を検出する前又は後、及び／又は、接触の強度の低下を検出する前又は後）に関連して収集された強度サンプルのセットに任意で基づく。接触の特性的強度は、接触の強度の最大値、接触の強度の平均値（mean value）、接触の強度の平均値（average value）、接触の強度の上位１０パーセンタイル値、接触の強度の最大半減値、接触の強度の最大値の９０％の値、その他のうち、１以上に任意で基づく。いくつかの実施形態では、接触の期間は特性的強度を判定する際に使用される（例えば、特性的強度が接触の強度の経時的平均値（average）である場合）。いくつかの実施形態では、ユーザが動作を実施したかどうかを判定するために、特性的強度が１以上の強度閾値で成るセットと比較される。例えば、１以上の強度閾値で成るセットは第１強度閾値と第２強度閾値を任意で含む。この実施例では、第１閾値を超えない特性的強度での接触の結果として第１の動作が得られ、第１強度閾値を超え、第２強度閾値を超えない特徴性強度での接触の結果として第２の動作が得られ、第２閾値を超える特性的強度での接触の結果として第３動作が得られる。いくつかの実施形態では、特性的強度と１以上の閾値との比較は、第１の動作又は第２の動作を実施するかどうかを判定するために用いられるのではなく、むしろ、１以上の動作を実施するかどうかを（例えば、それぞれの動作を実施するか、又は、それぞれの動作の実施を控えるかを）判定するために用いられる。
【０１３１】
いくつかの実施形態では、特性的強度を判定する目的でジェスチャの一部が識別される。例えば、タッチ感知面は、開始位置から移行して、接触の強度が増加する終了位置に到達する、連続スワイプ接触を任意で受信する。この実施例では、終了位置での接触の特性的強度は、任意で、スワイプ接触全体ではなく、連続するスワイプ接触の一部のみ（例えば、スワイプ接触の終了位置における部分のみ）に基づく。いくつかの実施形態では、接触の特性的強度を判定する前に、スワイプ接触の強度にスムージングアルゴリズムを任意で適用する。例えば、スムージングアルゴリズムは、重み付けのないスライディング平均スムージングアルゴリズム、三角スムージングアルゴリズム、メディアンフィルタスムージングアルゴリズム、及び／又は、指数スムージングアルゴリズムのうち、１以上を任意で含む。いくつかの状況では、これらのスムージングアルゴリズムは、これらのスムージングアルゴリズムは、特性的強度を判定するために、スワイプ接触の強度の短期の急増や落ち込みを除去する。
【０１３２】
タッチ感知面上での接触の強度は、１以上の強度閾値、例えば、接触検出強度閾値、弱押圧強度閾値、強押圧強度閾値、及び／又は、１以上のその他の強度閾値に関連して任意で特性付けられる。いくつかの実施形態では、弱押圧強度閾値は、デバイスが物理的なマウス又はトラックパッドのボタンをクリックすることに典型的に関連する動作を行う強度に対応する。いくつかの実施形態では、強押圧強度閾値は、デバイスが物理的なマウス又はトラックパッドのボタンをクリックすることに典型的に関連する動作とは異なる動作を行う強度に対応する。いくつかの実施形態では、弱押圧強度閾値を下回る（例えば、更に、それを下回ると接触が検出されなくなる名目上の接触検出強度閾値よりも上の）特性的強度を持った接触が検出されると、デバイスは、弱押圧強度閾値又は強押圧強度閾値に関連する動作を行うことなく、タッチ感知面上で接触の動きに従ってフォーカセレクタを動かすであろう。一般に、他に記述されない限り、これらの強度閾値は、様々なユーザインターフェース図の間で一貫している。
【０１３３】
弱押圧強度閾値を下回る強度から、弱押圧強度閾値と強押圧強度閾値との間の強度への、接触の特性的強度の増加は、時に「弱押圧」入力と呼ばれる。強押圧強度閾値を下回る強度から、強押圧強度閾値を上回る強度への接触の特性的強度の増加は、時に「強押圧」入力と呼ばれる。接触検出強度閾値を下回る強度から、接触検出強度閾値と弱押圧強度閾値との間の強度への接触の特性的強度の増加は、時にタッチ面上での接触の検出と呼ばれる。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性的強度の減少は、時にタッチ面からの接触のリフトオフの検出と呼ばれる。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
【０１３４】
本明細書中で述べているいくつかの実施形態では、それぞれの押圧入力を含むジェスチャの検出に応じて、又は、それぞれの接触（或いは複数の接触）と共に行われるそれぞれの押圧入力の検出に応じて、１以上の動作が行われ、この場合、それぞれの押圧入力は、押圧入力強度閾値を上回る接触（或いは複数の接触）の強度の増加を検出することに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、（例えば、それぞれの押圧入力の「ダウンストローク」のような）押圧入力強度閾値を上回るそれぞれの接触の強度の増加の検出に応じて行われる。いくつかの実施形態では、押圧入力には、押圧入力強度閾値を上回るそれぞれの接触の強度の増加と、押圧入力強度閾値を下回る接触の強度のその後の減少とが含まれ、それぞれの動作は、（例えば、それぞれの押圧入力の「アップストローク」のような）押圧入力閾値を下回るそれぞれの接触の強度のその後の減少の検出に応じて行われる。
【０１３５】
いくつかの実施形態では、時に「ジッタ」と呼ばれる偶発的な入力を避けるためにデバイスは強度ヒステリシスを採用し、この場合、デバイスは、押圧入力強度閾値に対する定義済みの関係を使ってヒステリシス強度閾値を定義するか又は選択する（例えば、ヒステリシス強度閾値は、押圧入力強度閾値をＸヒステリシス単位下回る、或いは、ヒステリシス強度閾値は、押圧入力強度閾値の７５％、９０％、又は何らかの合理的な割合である）。したがって、いくつかの実施形態では、押圧入力には、押圧入力強度閾値を上回るそれぞれの接触の強度の増加と、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度のその後の減少とが含まれ、それぞれの動作は、（例えば、それぞれの押圧入力の「アップストローク」のような）ヒステリシス強度閾値を下回るそれぞれの接触の強度のその後の減少の検出に応じて行われる。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増加と、任意で、ヒステリシス強度以下の強度への接触の強度のその後の減少とを検出する場合に限って検出され、そして、それぞれの動作が、（例えば、状況によって、接触の強度の増加、又は接触の強度の減少のような）押圧入力の検出に応じて行われる。
【０１３６】
説明を簡単にするために、押圧入力強度閾値に関連する押圧入力に応じて又は押圧入力を含むジェスチャに応じて行われる動作についての記述は、任意で、押圧入力強度閾値を上回る接触の強度の増加と、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増加と、押圧入力強度閾値を下回る接触の強度の減少と、及び／又は、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少とのうちのいずれかの検出に応じて誘発される。加えて、押圧入力強度閾値を下回る接触の強度の減少を検出することに応じて動作が行われると説明された実施例において、動作は、任意で、押圧入力強度閾値に対応し、且つそれを下回るヒステリシス強度閾値を下回る接触の強度の減少の検出に応じて行われる。
【０１３７】
図６は、いくつかの実施形態による言語入力モジュール６００の例示的な略ブロック図を示す。いくつかの実施形態では、言語入力モジュール６００は、デバイス１００、３００、及び１１００（図１Ａ、図３、及び図１１）を非限定的に含む１以上の多機能デバイスを使用して実施される。特に、いくつかの実施形態では、メモリ１０２（図１Ａ）又はメモリ３７０（図３）は言語入力モジュール６００を含む。言語入力モジュール６００は多機能デバイスにおける言語入力機能を可能にする。具体的には、言語入力モジュール６００により、多機能デバイスは、本明細書中で説明している言語入力のダイナミックなフレーズ拡張のためのプロセス（例えば、プロセス７００）を実施できるようになる。
【０１３８】
図６に示すように、言語入力モジュール６００は、言語入力変換エンジン６０２、辞書６０４、言語モデル６０８、語彙集６０６、語彙記憶部６１０、フレーズ拡張エンジン６１２を含む。言語入力変換モジュール６０２は、第１記号体系のテキストを受信し、このテキストを第２記号体系の１以上の候補単語で成る複数セットに変換するように構成されている。特に、言語入力変換モジュール６０２は、第１記号体系のテキストを受信し、これを１以上のセグメントにパースするように構成されている。加えて、言語入力変換モジュール６０２は、第２記号体系の単語に対応したマッチするセグメントについて語彙集６０６を検索するように構成されている。語彙集６０６は、１以上の第２記号体系の単語にそれぞれ対応した、第１記号体系の単語又は列の集合体を含む。例えば、語彙集６０６は、１以上の中国語単語にそれぞれ対応した、中国語ピンイン単語又は列の集合体を含む。具体的な実施例では、中国語ピンイン文字又は列の集合体は、中国語ピンイン列「ｗｏ」を含み、これは候補単語
0006701066.tif 000002
に対応している。言語入力変換モジュール６０２は、テキストのパースされたセグメントに対応する、第２記号体系の候補単語を判定するために辞書６０４を検索するように構成されている。辞書６０４は第１記号体系の単語又は列の集合体を含む。辞書６０４内の各単語又は各列は、第２記号体系の１以上の対応する単語にマップされている。例えば、言語入力変換モジュール６０２は、辞書６０４を使用して、中国語ピンイン列「ｗｏ」を対応する候補単語
0006701066.tif 000003
にマップする。更に、言語入力変換モジュール６０２は、言語モジュール６０８を利用して、第２記号体系の１以上の候補単語で成る各セットの確率スコアを判定するように構成されている。言語モジュール６０８は、１以上の統計的言語モデル（例えば、ｎ−ｇｒａｍ言語モデル、ニューラルネットワークベースの言語モデルなど）を含む。更に、いくつかの実施例では、言語モデル６０８は１以上のパートオブスピーチ言語モデルを含む。各言語モデルは、第２記号体系のテキストのコーパスを使用してトレーニングされる。特に、言語入力変換モジュール６０２は、１以上の候補単語で成る各セットを言語モデル６０８に提供し、これに対応する確率スコアを言語モデル６０８から入手する。確率スコアは、テキストのコーパス内における１以上の候補単語で成る各セットの確率を表す。言語入力変換モジュール６０２は、対応する確率スコアに基づいて、１以上の候補単語で成る複数セットをランク付けするように、更に構成されている。
【０１３９】
言語入力変換モジュール６０２によって生成された１以上の候補単語で成る複数セットの少なくとも一部がフレーズ拡張エンジン６１２に提供され、拡張候補フレーズが生成される。この少なくとも一部とは、例えば、１以上の候補単語で成る複数セットのランク付けに基づく。フレーズ拡張エンジン６１２は、この１以上の候補単語で成る複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを生成する。具体的には、フレーズ拡張エンジン６１２は、１以上の候補単語で成るセットから１以上の拡張候補フレーズを判定及び生成するように構成されている。いくつかの実施例において、フレーズ拡張エンジン６１２は、言語モデル６０８を利用して、１以上の候補単語で成るセットの少なくとも１つの単語を考慮した、１以上の予測単語を判定する。確率スコアは１以上の予測単語に関連付けられる。確率スコアは、１以上の候補単語で成るセットの少なくとも１つの単語を考慮した、１以上の予測単語の確率を表す。いくつかの実施例では、拡張候補フレーズは、１以上の予測単語に基づいて生成される。拡張候補フレーズは、例えば、１以上の候補単語で成るセットの少なくとも１つの単語と、１以上の予測単語とを含む。
【０１４０】
いくつかの実施例では、フレーズ拡張エンジン６１２は、語彙記憶部６１０から１以上の予測単語を選択するように構成されている。語彙記憶部６１０は所定の１以上の単語で成るセットを含む。所定の１以上の単語で成るセットのうちの１以上の単語で成るセットのそれぞれはフレーズの最終部と対応する。語彙記憶部６１０から１以上の予測単語を選択することで、完全なフレーズである拡張候補フレーズが生成される。
【０１４１】
フレーズ拡張エンジン６１２は、１以上の候補単語で成るセットの最終単語が、別の単語の接頭辞であるかどうかを判定するために、語彙集６０６を検索するように更に構成されている。語彙集６０６は、例えば、第２記号体系の接頭辞の集合体を含む。最終単語が、別の単語の接頭辞であると判定した場合、フレーズ拡張エンジン６１２はこの最終単語を捨て、１以上の予測単語を１以上の候補単語で成るセットのサブセットに基づいて判定する。サブセットは、例えば最終単語含んでいない。
【０１４２】
１以上の予測単語が１以上の候補単語で成るセットのサブセットに基づいて判定される実施例では、フレーズ拡張エンジン６１２は、１以上の予測単語が受信した第１記号体系のテキストと対応していることを検証するように構成されている。具体的には、フレーズ拡張エンジン６１２は、１以上の予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応するかどうかを判定するように構成されている。いくつかの実施例では、１以上の予測単語が第１記号体系のテキストの一部と対応する場合には、１以上の予測単語が承諾され、拡張候補フレーズを生成するために使用される。１以上の予測単語が第１記号体系のテキストの一部と対応しない場合には、１以上の予測単語が拒否され、拡張候補フレーズの生成には使用されない。
【０１４３】
フレーズ拡張エンジン６１２は、更に、フレーズ境界検証を実施するように構成されている。特に、フレーズ拡張エンジン６１２は、１以上の候補単語で成るセットのうち少なくとも１つの単語と、１以上の予測単語とを含むフレーズの最後とが、フレーズ境界と一致するかどうかを判定するように構成されている。この判定は、例えば、言語モデル６０８内のパートオブスピーチ言語モデルを使用して実施される。例えば、フレーズの各単語が符号化されたパートオブスピーチ情報をパートオブスピーチ言語モデルに提供すると、パートオブスピーチ言語モデルが、フレーズの最後がフレーズ境界と一致する確率を判定する。フレーズの最後がフレーズ境界と一致すると判定されると、そのフレーズは拡張候補フレーズとして任意で記憶される。フレーズの最後がフレーズ境界と一致すると判定されない場合には、フレーズを完成させるために、フレーズ拡張エンジン６１２を使用して１以上の追加の予測単語が判定される。
【０１４４】
フレーズ拡張エンジン６１２は、更に、フレーズ拡張エンジン６１２が生成したそれぞれの拡張候補フレーズについて確率スコアを判定するように構成されている。確率スコアは、例えば、言語モデル６０８を使用して生成される。これに加えて、又は代替として、いくつかの実施例では、所与の拡張候補フレーズについての確率スコアが、１以上の候補単語で成るセットの各セットの確率スコアと、１以上の予測される各単語の確率スコアとの組み合わせに基づいて生成される。フレーズ拡張エンジン６１２は、更に、複数の拡張候補フレーズを複数の確率スコアに基づいてランク付けするように構成されている。このランク付けに基づき、フレーズ拡張エンジン６１２は１以上の拡張候補フレーズを、（例えばタッチスクリーン１１２を介して）ユーザに対し表示するために提供する。
【０１４５】
図７Ａ〜図７Ｃは、いくつかの実施形態による電子デバイスを使用する言語入力のダイナミックなフレーズ拡張のためのプロセス７００を示すフロー図である。図８は、いくつかの実施形態による中国語ピンインテキスト入力から変換された１以上の中国語候補単語で成る複数セットを示す。図９Ａ〜図９Ｃは、いくつかの実施形態によるダイナミックフレーズ拡張部によって生成された拡張された中国語フレーズを示す。図１０Ａ及び図１０Ｂは、いくつかの実施形態による言語入力のダイナミックなフレーズ拡張の態様を実施する電子デバイスを示す。以降で、図７Ａ〜図７Ｃ，図８、図９Ａ〜図９Ｃ、図１０を同時に参照しながらプロセス７００を説明する。プロセス７００は、例えば、ディスプレイを実装したデバイス（例えば、１００、３００、又は５００）にて実施される。特に、プロセス７００は、デバイス上で実施される言語モジュール（例えば、図６の言語入力モジュール６００）を使用して実施することができる。プロセス７００のいくつかの演算は任意で組み合わされ、いくつかの演算の順序は任意で変更され、いくつかの演算は任意で省略される。
【０１４６】
ブロック７０２で、ユーザ入力が受信される。ユーザ入力は、例えば、電子デバイスのユーザインターフェース（例えば、キーボード／マウス３５０、又は、タッチスクリーン１１２上に表示されたテキスト入力グラフィカルユーザインタフェース）を介して受信される。例えば、図１０Ａ及び図１０Ｂを参照すると、ユーザ入力は、電子デバイス１０００上に表示されたキーボードインターフェース１００２を介して入力される。電子デバイス１０００は、上述したデバイス１００又は３００と類似する。ユーザ入力は第１記号体系のテキストを含んでいる。このユーザ入力テキストは、例えば、或る言語の或る単語の少なくとも一部の音声発音を表す。第１記号体系は、言語を表記するためのあらゆる発音記号書き込みシステムであってよい。１つの実施例では、第１記号体系は、中国語ピンイン又は中国語チューイン（Ｚｈｕｙｉｎ）を含む。別の実施例では、第１記号体系は日本語仮名又は日本語ローマ字を含んでいる。図８及び図１０Ａに示す具体的な実施例では、ユーザ入力は，中国語ピンイン記号体系のテキスト８１０「ｗｏｄａｉｂｉａｏｑｕａｎｊｉａｚｈｕｎｉｗａｎ」を含む。この実施例では、ユーザ入力の受信に応じて、テキスト８１０がユーザインターフェース１００４に表示される。この実施例では、ユーザインターフェース１００４はワードプロセッシングプログラムのユーザインターフェースである。他の実施例では、ユーザインターフェースは、アプリケーションのあらゆるテキストベースのユーザインターフェース、例えば、メッセージングアプリケーション、電子メールアプリケーション、ウェブブラウザ、又はその他であってよいことが認識されるべきである。
【０１４７】
ブロック７０４で、言語の第２記号体系の１以上の候補単語で成る複数セットが、ブロック７０２のテキストに基づいて判定される。ブロック７０４は、例えば、言語入力変換モジュール（言語入力変換モジュール６０２）によって実施することができる。ブロック７０２のテキストは、第２記号体系における１以上の候補単語で成る複数セットに変換される。１以上の候補単語で成る各セットはテキストに対応している。変換は、辞書（例えば辞書６０４）、ルックアップテーブル又はその他を使用して、テキストを種々のセグメントにパースし、各セグメントを１以上の対応する候補単語にマッピングすることで行われる。第２記号体系は、例えば、第１記号体系とは異なる。いくつかの実施例では、第１記号体系はローマ字体系を含み、第２記号体系は非ローマ字体系を含む。１つのこのような実施例では、第１記号体系は、中国語ピンインを含み、第２記号体系は、中国語文字を含む。別の実施例では、第１記号体系は第１の非ローマ字音節文字体系を含み、第２記号体系は第２の非ローマ字体系を含む。１つのこのような実施例では、第１記号体系は、中国語チューインを含み、第２記号体系は、中国語文字を含む。別のこのような実施例では、第１記号体系は日本語仮名を含み、第２記号体系は日本語仮名と漢字の組み合わせを含む。
【０１４８】
図８の実施例を参照すると、ピンインテキスト８１０が中国語文字による１以上の候補単語で成る複数セット８１２に変換されている。ピンインテキスト８１０はセグメント間にスペースを入れてセグメント化された状態で示されているが、いくつかの実施例では、ピンインテキスト８１０は文字間にスペースを一切入れない状態で受信されることが認識されるべきである。例えば、図１０Ａに示すように、ピンインテキスト８１０は文字間にスペースを一切入れない状態で受信されている。変換中に、ピンインテキスト８１０が、中国語候補単語をそれぞれ表すセグメントにパースされる。図示のように、ピンインセグメント「ｗｏ」、「ｄａｉ」、「ｂｉａｏ」、「ｄａｉｂｉａｏ」、「ｑｕａｎｊｉａ」などはピンインテキスト８１０をパースすることによって識別される。パースは、例えば、中国語単語に対応したピンインセグメントにマッチするように中国語ピンイン語彙集（例えば語彙集６０６）を検索することによって行う。次に、例えば、ピンイン−中国語文字辞書（例えば辞書６０４にて）又はルックアップテーブルを使用して、各セグメントが１以上の候補単語に変換される。例えば、図８に示すように、ピンインテキスト８１０内のピンインセグメント「ｗｏ」は、候補単語
0006701066.tif 000004
と対応すると判定される。同様に、ピンインセグメント「ｄａｉｂｉａｏ」は、候補単語「代表（に代わって）」、及び「戴表（腕時計を着用する）と対応すると判定される。したがって、１以上の候補単語で成る複数セットの１以上の候補単語で成る各セットにおける各候補単語は、テキストの少なくとも一部と対応する。例えば、「我（私）」は、ピンインセグメント「ｗｏ」と対応し、「戴表（腕時計を着用する）」はピンインセグメント「ｄａｉｂｉａｏ」と対応する。言い換えれば、この実施例では、１以上の候補単語で成る複数セット８１２のうちの候補単語は１つも予測されていない。むしろ、１以上の候補単語で成る複数セットのうちの各候補単語がピンインテキスト８１０の少なくとも一部から変換されている。
【０１４９】
ピンインテキストをピンインセグメントにパースするときに、いくつかの実施形態では、曖昧さが存在する場合には複数のピンインセグメントが考慮されることが理解されるべきである。例えば、ピンインテキスト「ｘｉａｎａｉ」は、ピンインセグメント「ｘｉａｎ／ａｉ」、「ｘｉ／ａｎ／ａｉ」、及び「ｘｉａ／ｎａｉ」にパースされることができる。この実施例では、ブロック７０４で１以上の候補単語で成る複数セットを判定するときに、これらのピンインセグメントの全てが考慮される。
【０１５０】
図８に示すように、候補単語はマトリックス内でパス８０８によって互いにリンクしている。マトリックス内で互いにリンクした様々な候補単語の組み合わせが、１以上の候補単語で成る複数セット８１２を構成している。例えば、１以上の候補単語で成る第１セット８０６（太字で示す）は、
0006701066.tif 000005
を含む。１以上の候補単語の第２セット８０４（これも太字で示す）は、例えば、
0006701066.tif 000006
を含む。
【０１５１】
いくつかの実施例では、ブロック７０２のユーザ入力は、１以上の候補単語で成る複数セットのどの候補単語の承諾も示していない。例えば、いくつかのテキスト入力インターフェースでは、特定の入力文字（例えばスペース又は終止符）は、テキスト入力と対応する提案された候補単語又は候補単語のセットへのユーザの承諾を意味する。これらのテキスト入力インターフェースでは、ブロック７０２のユーザ入力は、例えば、これらの入力文字を含んでいない。
【０１５２】
いくつかの実施例では、ブロック７０４はブロック７０６を含む。ブロック７０６では、１以上の候補単語で成る複数セットと対応する複数の確率スコアが判定される。ブロック７０６は、言語入力変換エンジン（言語入力変換モジュール６０２）を使用して実施することができる。特に、１以上の候補単語で成る複数セットのうちの、１以上の候補単語で成る各セットについて、複数の確率スコアのうちの対応する確率スコアが判定される。複数の確率スコアのそれぞれの確率スコアは、例えば、言語モデル（例えば言語モデル６０８）を使用して判定される。例えば、言語モデルは、１以上の候補単語で成る各セットが記載されているテキスト文脈を考慮して、それぞれの確率スコアを判定する。言語モデルは、例えば、ｎ−ｇｒａｍ言語モデルなどの統計言語モデル、及びリカレントニューラルネットワーク言語モデル（ＲＮＮＬＭ）や長期短期メモリ言語モデル（ＬＳＴＭＬＭ）などのニューラルネットワークベースの言語モデルである。言語モデルは、１以上の候補単語で成るセットを受信して、対応する確率スコアを判定するように構成されている。確率スコアは、例えば、言語モデルを訓練するために使用されるテキストのコーパスの中に１以上の候補単語で成るセットが現れる確率を表すものである。したがって、コーパスの中により頻繁に現れる１以上の候補単語で成るセットは高確率であると判定される。
【０１５３】
図８の実施例に戻ると、確率スコアは、１以上の候補単語で成る複数セット８１２の、１以上の候補単語で成る各セットのための言語モデルを使用して判定される。この実施例では、１以上の候補単語で成る第１セット８０６
0006701066.tif 000007
が意味的に最も正確であり、したがって、１以上の候補単語で成る複数セット８１２のうちで、テキストのコーパス中に最も頻繁に現れる可能性がある。したがって、この実施例では、１以上の候補単語で成る第１セット８０６は、１以上の候補単語で成る複数セット８１２のうちで最も高確率であると判定される。
【０１５４】
ブロック７０８で、１以上の候補単語で成る複数セットが、ブロック７０６で判定された複数の確率スコアに基づいてランク付けされる。ブロック７０８は、言語入力変換エンジン（言語入力変換モジュール６０２）を使用して実施することができる。例えば、１以上の候補単語で成る複数セットは、最高確率スコアから最低確率スコアまでの対応する確率スコアに従ってランク付けされる。図８の例では、１以上の候補単語で成る第１セットは最高確率スコアを有するので、１以上の候補単語で成る複数セット８１２のうちで最高ランクの１以上の候補単語で成るセットである。
【０１５５】
ブロック７１０で、１以上の候補単語で成る複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定する。複数の拡張候補フレーズは第２記号体系のフレーズである。ブロック７１０は、フレーズ拡張エンジン（例えばフレーズ拡張エンジン６１２）を使用して実施することができる。複数の拡張候補フレーズのそれぞれの拡張候補フレーズは、１以上の候補単語で成る複数セットの、１以上の候補単語で成る各セットのうちの少なくとも１つの単語と、１以上の予測単語とを含む。１以上の予測単語は、１以上の候補単語で成る各セットの少なくとも１つの単語に基づいて判定される。いくつかの実施例では、ブロック７１０はブロック７１２〜７２２のうちの１以上を含む。
【０１５６】
複数の拡張候補フレーズは、あらゆる数の１以上の候補単語で成る複数セットに基づいて判定できる。いくつかの実施例では、複数の拡張候補フレーズは、複数の候補単語セットの、１以上の候補単語で成る全てのセットに基づいて判定される。これらの実施例では、１以上の候補単語で成る各セットを使用して１以上の拡張された候補フレーズを生成する。別の実施例では、複数の拡張候補フレーズは、１以上の候補単語で成る複数セットのうちの、Ｎ個の最高ランクの１以上の候補単語で成るセットに基づいて判定され、ここで、Ｎはゼロよりも大きい所定の整数である。具体的には、ブロック７０８のランク付けに基づいて、Ｎ個の最高ランクの１以上の候補単語で成るセットを識別し、これらＮ個の最高ランクの１以上の候補単語で成るセットのそれぞれを用いて、１以上の拡張候補フレーズを生成する。具体的な実施例では、Ｎは整数「１」であり、ここでは、複数の拡張候補フレーズが最高ランクの１以上の候補単語で成るセットに基づいて判定される。
【０１５７】
ブロック７１２で、１以上の候補単語で成る複数セットのうちの、１以上の候補単語の１セットのうちの少なくとも１つの単語を考慮して、１以上の予測単語が判定される。複数の拡張候補フレーズのうち１つの拡張候補フレーズが、判定された１以上の予測単語に基づいて生成される。ブロック７１２は、フレーズ拡張エンジン（例えばフレーズ拡張エンジン６１２）を使用して実施することができる。１以上の予測単語は、言語の第２記号体系の単語である。フレーズ拡張エンジンは、例えば、言語モデル（例えば言語モデル６０８）を使用して、１以上の予測単語を判定する。特に、１以上の候補単語で成るセットのうち少なくとも１つの単語を考慮して、この少なくとも１つの単語に続きそうな１以上の予測単語が言語モデルを使用して判定される。いくつかの実施例では、判定された１以上の予測単語は確率スコアに関連付けられている。確率スコアは言語モデルから生成され、又、例えば、１以上の候補単語で成るセットの少なくとも１つの単語を考慮して１以上の予測単語の確率を表す。１以上の予測単語を判定するために使用される言語モデルは、例えばｎ−ｇｒａｍ言語モデルである。別の実施例では、言語モデルはニューラルネットワークベースの言語モデルである。いくつかの実施例では、１以上の予測単語の数は言語モデルのオーダーよりも少ない。これは、言語モデルがｎ−ｇｒａｍ言語モデルである実施例に特に当てはまる。例えば、言語モデルが４−ｇｒａｍ言語モデルである場合は、１以上の予測単語の語数は４未満である。これは、高精度の単語予測を達成するために望ましい。特に、オーダーｎのｎ−ｇｒａｍ言語モデルはｎ−１個の先行単語のみを直接コンテキストとして考慮する。ｎ−ｇｒａｍ言語モデルから判定された１以上の予測単語がｎ個又は複数の単語を有する場合には、１以上の予測単語は、１以上の候補単語で成るセットのうちのどの単語のコンテキストにも直接基づいていないので、単語予測の精度が低下するであろう。ブロック７１２は他の統計的言語モデルを使用して実施することもできることが認識されるべきである。更に、言語モデルがニューラルネットワーク言語モデルである（例えば、ＲＮＮＬＭ又はＬＳＴＭＬＭ）実施例では、１以上の予測単語における単語の数を限定する必要はないことが認識されるべきである。例えば、ＲＮＮＬＭは、入力全体における全ての単語を考慮するため、１以上の予測単語は任意数の単語を含むことができる。
【０１５８】
いくつかの実施例では、１以上の予測単語は、所定の１以上の単語で成る複数セットから１以上の予測単語を選択することにより判定される。所定の１以上の単語で成るセットは、例えば、語彙記憶部（例えば語彙記憶部６１０）から入手される。いくつかの実施例では、所定の１以上の単語で成るセットのうちの、１以上の単語で成る各セットはフレーズの最終部と対応する。したがって、これらの実施例では、判定された１以上の予測単語はフレーズの最終部と対応する。これは、不完全な拡張候補フレーズの生成を防ぐために望ましい。
【０１５９】
いくつかの実施例では、１以上の予測単語を判定するために使用される１以上の候補単語で成るセットのうち少なくとも１つの単語は、１以上の候補単語で成るセットの全体を含む。例えば、図９Ａを参照すると、１以上の第１予測単語９０２は、１以上の候補単語で成る複数セット８１２の１以上の候補単語の、１以上の候補単語で成る第１セット８０６全体を考慮して判定される。この実施例では、判定された１以上の第１予測単語９０２は、動作の完了を示す不変化詞である中国語「了」である。第１の拡張候補フレーズ９５２は、１以上の第１予測単語９０２を使用して生成される。具体的に、この実施例では、複数の拡張候補フレーズ９５０のうちの第１の拡張候補フレーズ９５２が、
0006701066.tif 000008
のように、１以上の候補単語で成る第１セット８０６と１以上の第１予測単語９０２とを含む。ブロック７１２ではあらゆる数の１以上の予測単語を判定できることが認識されるべきである。例えば、図９Ａに示すように、１以上の第２予測単語９０４
0006701066.tif 000009
は、１以上の候補単語で成る第１セット８０６を考慮して判定される。次に、１以上の第２予測単語９０４を使用して、第２の拡張候補フレーズ９５４を生成する。具体的に、この実施例では、複数の拡張候補フレーズ９５０のうち第２の拡張候補フレーズ９５４は、
0006701066.tif 000010
のように、１以上の候補単語で成る第１セット８０６と１以上の第２予測単語９０４とを含む。
【０１６０】
ブロック７１４で、１以上の候補単語で成る複数セットのうちの１以上の候補単語で成るセットの最終単語が、別の単語の接頭辞であるかどうかの判定が行われる。ブロック７１４は、フレーズ拡張エンジン（例えばフレーズ拡張エンジン６１２）を使用して実施することができる。例えば、図８を参照すると、１以上の候補単語で成る第１セット（８０６）の最終単語「玩（遊ぶ）」が別の単語の接頭辞と対応するかどうかを判定するために、この最終単語「玩（遊ぶ）」に接頭辞検索が実施される。接頭辞検索は、例えば、接頭辞の語彙集（例えば用語集６０６）を検索し、最終単語が接頭辞の用語集内のいずれかの単語とマッチするかどうかを判定することにより実施される。マッチが見つかると、その最終単語は別の単語の接頭辞と一致すると判定される。これに対し、マッチが見つからない場合は、その最終単語は別の単語の接頭辞と一致しないと判定される。この実施例では、最終単語「玩（遊ぶ）」が別の単語の接頭辞であると判定される。
【０１６１】
１以上の候補単語で成るセットの最終単語が、別の単語の接頭辞であると判定されたことに従って、この最終単語が捨てられ、１以上の候補単語で成るセットの残りの単語を使用して、１以上の予測単語を判定する。これらの実施例では、１以上の予測単語を判定するために使用される１以上の候補単語で成るセットのうち少なくとも１つの単語は、１以上の候補単語のサブセットである。例えば、ここで図９Ｂを参照すると、１以上の候補単語で成る第１セット８０６から最終単語「玩（遊ぶ）」が捨てられ、残りの単語が１以上の候補単語で成る第１セット８０６のサブセット９１０を形成する。したがって、１以上の候補単語で成る第１セット８０６のサブセット９１０は最終単語「玩（遊ぶ）」を含まない。次に、１以上の候補単語で成る第１セット８０６のサブセット９１０に基づいて、１以上の予測単語９１２〜９１８がそれぞれ判定される。複数の拡張候補フレーズは、例えば、１以上の候補単語で成る第１セット８０６のサブセット９１０と、１以上の予測単語９１２〜９１８のそれぞれとの組み合わせを含む。
【０１６２】
ブロック７１４の判定は、１以上の候補単語で成る複数セットのうちの、１以上の候補単語で成る各セットについて実施できることが認識されるべきである。更に、１以上の候補単語で成るセットのサブセットを形成するために、１以上の候補単語で成るセットからあらゆる数の単語を捨てることができることも認識されるべきである。例えば、いくつかの実施例では、１以上の候補単語で成るセットの２つ又は３つの最終単語を捨て、残りの単語で１以上の候補単語で成るセットのサブセットを形成している。更に、これらの実施例では、１以上の予測単語のうちの予測単語数は、捨てられた最終単語の数と等しい、又はこれよりも多い（例えば、予測単語のそれぞれと捨てられた単語のそれぞれとは第２記号体系の単音文字と対応する）。例えば、１以上の候補単語で成るセットの最後にある３つの中国語文字を捨てた場合には、１以上の候補単語で成るセットの残りの単語に基づいて判定された１以上の予測単語は少なくとも３つの中国語文字を含む。
【０１６３】
１以上の予測単語が、１以上の候補単語で成る複数セットの１以上の候補単語で成るセットのサブセットに基づいて判定される実施例では、ブロック７１６の実施は任意である。ブロック７１６で、１以上の予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応するかどうかの判定を行う。例えば、図９Ｂを参照すると、１以上の予測単語のうち少なくとも１つの単語（例えば最初の単語）がピンインテキスト８１０の一部と対応するかどうかを判定するために、１以上の予測単語９１２〜９１８のそれぞれを分析する。特に、中国語文字−ピンイン辞書（例えば辞書６０４）で１以上の予測単語を調べることにより、１以上の予測単語のそれぞれについて対応するピンインテキストが判定される。本実施例では、図９Ｂに示すように、１以上の第３予測単語９１２、１以上の第４予測単語９１４、１以上の第５予測単語９１６、及び１以上の第６予測単語９１８に対応するピンインテキストは、それぞれ「ｈａｏ  ｙｕｎ」、「ｘｉｎｇ  ｆｕ」、「ｗａｎ  ｚｈｅｎｇ」、及び「ｗａｎ  ｓｈｉ」である。次に、１以上の予測単語９１２〜９１８のピンインテキストのそれぞれをピンインテキスト８１０と比較して、それぞれの１以上の予測単語のうち少なくとも１つの単語のピンインテキストがピンインテキスト８１０の一部と対応するかどうかを判定する。例えば、１以上の予測単語９１２〜９１８のピンインテキストを、除去された単語「玩（遊ぶ）」と対応するピンインテキスト８１０の一部「ｗａｎ」と比較して、局所的なマッチがあるかどうかを判定する。より具体的には、例えば、除去された単語「玩（遊ぶ）」と対応するピンインテキスト８１０の一部「ｗａｎ」が、１以上の予測単語９１２〜９１８のうち少なくとも１つの単語（例えば、１つの中国語文字、又は、１以上の中国語文字を含んだ意味語）のピンインと少なくとも局所的にマッチするかどうかの判定を行う。本実施例では、ピンインテキスト８１０の一部「ｗａｎ」が、１以上の第５予測単語９１６の単語意味「完整（完全）」及び１以上の第６予測単語９１８の意味語「万事（全て）」の接頭辞と対応するピンインテキスト「ｗａｎ」と少なくとも局所的にマッチしている。したがって、これらの１以上の予測単語（９１６、９１８）の両方について、１以上の予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応すると判定される。しかし、１以上の第３予測単語９１２及び１以上の第４予測単語９１４のうち、１以上の予測単語のうちのいずれの単語も第１記号体系のテキストの一部と対応しないと判定される。特に、ピンインテキスト８１０の一部「ｗａｎ」は、１以上の第３予測単語９１２
0006701066.tif 000011
及び１以上の第４予測単語９１４「幸福（幸福）」それぞれのピンインテキスト「ｈａｏ  ｙｕｎ」、「ｘｉｎ  ｆｕ」のどの部分ともマッチしていない。
【０１６４】
１以上の予測単語のいずれの単語も第１記号体系のテキストの一部と対応しないと判定されたことに従って、ブロック７１６が実施される。ブロック７１６では、１以上の予測単語が無視されて、複数の拡張候補フレーズのうちの１つの拡張候補フレーズを生成するために使用されない。例えば、１以上の第３予測単語９１２
0006701066.tif 000012
及び１以上の第４予測単語９１４「幸福（幸福）」がそれぞれ無視され、拡張候補フレーズの生成に使用されない。特に、プロセス７００は、フレーズ
0006701066.tif 000013
又は
0006701066.tif 000014
を複数の拡張候補フレーズの１つとして記憶することを控える。これにより、ユーザの意図と合いそうにない予測単語をプロセスの早い時期に排除することができるので、計算コストが削減され、効率が上がる。
【０１６５】
１以上の予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応しているという判定に従って、１以上の予測単語が、例えば、拡張候補フレーズを生成するために使用される。例えば、１以上の第５予測単語９１６「完整（完全）」及び１以上の第６予測単語９１８「万事（全て）」を、１以上の候補単語で成るセット８０６のサブセット９１０とそれぞれ組み合わせることで、拡張候補フレーズを生成する。特に、生成された拡張候補フレーズは、複数の拡張候補フレーズの一部として記憶される。いくつかの実施例では、１以上の予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応すると判定されたことに従って、ブロック７１８が実施される。
【０１６６】
ブロック７１８で、フレーズ境界検証が実施される。特に、１以上の候補単語で成るセットのうち少なくとも１つの単語と、１以上の予測単語とを含んでいるフレーズの最後が、フレーズ境界と一致するかどうかが判定される。例えば、図９Ｂでは、フレーズ
0006701066.tif 000015
及び
0006701066.tif 000016
のそれぞれを、ブロック７１８にて分析して、各フレーズの最後がフレーズ境界と対応するかどうかについて判定する。いくつかの実施例では、この判定はパートオブスピーチ分析に基づく。特に、それぞれのフレーズの各単語はパートオブスピーチ情報によって符号化される。この符号化されたパートオブスピーチ情報に基づき、パートオブスピーチベースの言語モデル（例えば言語モデル６０８）を使用して、それぞれのフレーズの最後がフレーズ境界と対応する確率を判定する。この確率が所定の閾値を超えた場合には、それぞれのフレーズの最後がフレーズ境界と対応する（すなわち、フレーズは完全である）と判定できる。この確率が所定の閾値を超えない場合には、それぞれのフレーズの最後がフレーズ境界と対応しない（すなわち、フレーズは不完全である）と判定できる。別の実施例では、ブロック７１８の判定は、パートオブスピーチのシーケンスに基づく規則セット（例えば非統計規則）を使用して実施される。具体的には、これらの実施例では、フレーズ境界を判定論的な方法で識別するために、パートオブスピーチシーケンスに基づく規則セット（例えば非統計規則）を用いて、１以上の候補単語で成るセットのうち少なくとも１つの単語と、１以上の予測単語とを含むフレーズを分析する。図９Ｂの実施例では、フレーズ
0006701066.tif 000017
の最後がフレーズ境界と対応すると判定され、一方、フレーズ
0006701066.tif 000018
の最後がフレーズ境界と対応しないと判定されている。
【０１６７】
１以上の候補単語で成るセットのうちの少なくとも１つの単語と、１以上の予測単語とを含むフレーズの最後がフレーズ境界と対応するとの判定に従って、ブロック７２０が実施される。ブロック７２０で、１以上の予測単語に基づいて生成された拡張候補フレーズが承認される。特に、１以上の候補単語で成るセットのうちの少なくとも１つの単語と、１以上の予測単語とを含む拡張候補フレーズが、複数の拡張候補フレーズの１つとして記憶される。例えば、図９Ｂ及び図９Ｃを参照すると、フレーズ
0006701066.tif 000019
が認証され、複数の拡張候補フレーズ９５０のうちの第３の拡張候補フレーズ９５６として記憶される。
【０１６８】
再びブロック７１８を参照すると、１以上の候補単語で成るセットのサブセットと１以上の予測単語とを含むフレーズの最後がフレーズ境界と対応しないと判定されたことに従って、ブロック７２２が実施される。ブロック７２２で、１以上の候補単語で成るセットのうち少なくとも１つの単語と、１以上の予測単語とを考慮して、１以上の追加の予測単語が判定される。例えば、図９Ｂを参照すると、フレーズ
0006701066.tif 000020
を考慮して、１以上の第７予測単語９２０「如意（最善）」と、１以上の第８予測単語９２２「大吉（幸運）」とが判定される。１以上の第７予測単語９２０と１以上の第８予測単語９２２は、１以上の候補単語で成る第１セット８０６のサブセット９１０に加えて１以上の第６予測単語９１８に基づいて判定が行われる点を除いては、１以上の予測単語９１２〜９１８のそれぞれと類似した方法で言語モデルを使用して判定される。
【０１６９】
図７Ｂに示すように、ブロック７２２で１以上の追加の予測単語が判定された後、ブロック７１８で、フレーズ境界検証が１以上の追加の予測単語に基づいて任意で再び実施される。特に、１以上の候補単語で成るセットのうちの少なくとも１つの単語と、１以上の予測単語と、１以上の追加の予測単語とを含むフレーズ最後がフレーズ境界と一致するかどうかについての判定が行われる。図９Ｂに示す本実施例では、フレーズ
0006701066.tif 000021
及び
0006701066.tif 000022
の最後のそれぞれは、フレーズ境界と対応すると判定されている。これらのフレーズの最後がそれぞれフレーズ境界と対応するとの判定に従って、これらのフレーズが承認され（ブロック７２０）、複数の拡張候補フレーズの拡張候補フレーズとしてそれぞれ記憶される。具体的には、図９Ｃに示すように、フレーズ
0006701066.tif 000023
は複数の拡張候補フレーズ９５０の第４拡張候補フレーズ９５８として記憶され、フレーズ
0006701066.tif 000024
は複数の拡張候補フレーズ９５０の第５拡張候補フレーズ９６０として記憶される。
【０１７０】
本実施例では、ブロック７１８とブロック７２２の繰り返しは１回のみであるが、他の実施例では複数の繰り返しが実施可能であることが認識されるべきである。特に、フレーズ境界が判定されるまで、又は、所定回数の繰り返しが実施されるまで、あらゆる数の１つ又は複数の追加の予測単語を判定することができる。ブロック７１６〜７２２は、フレーズ拡張エンジン（例えばフレーズ拡張エンジン６１２）を使用して実施することができる。
【０１７１】
加えて、いくつかの実施形態では、フレーズ境界と対応する最後を持つ完全な拡張フレーズから１以上の追加の拡張候補フレーズが判定されることが認識されるべきである。例えば、１以上の追加の拡張候補フレーズは、第４拡張候補フレーズ９５８から判定される。具体的には、１以上の追加の予測単語、例えば、
0006701066.tif 000025
又は
0006701066.tif 000026
は、第４展開候補フレーズ９５８に基づいて判定される。次に、１以上の追加の予測単語を第４拡張候補フレーズ９５８に付加して、１以上の追加のフレーズ、例えば、
0006701066.tif 000027
又は
0006701066.tif 000028
が生成される。これら追加のフレーズの最後がフレーズ境界とそれぞれ一致するように判定され（例えばブロック７１８）、これら追加のフレーズを複数の拡張候補フレーズ９５０の追加の拡張候補フレーズとして記憶することができる（例えばブロック７２０）。
【０１７２】
更に、ブロック７１０で該当する全ての拡張候補フレーズを判定することは計算上処理し難いものであることが理解されるべきである。したがって、プロセス７００をより効率的で計算上実用的なものにするために、いくつかの実施例では、ブロック７１０は、優先度キューを伴った最良優先探索アルゴリズムを使用して実施されることで、より見込みのある仮説を行う検索が優先され、高精度の確率スコアを持った拡張候補フレーズを選択的に判定することが可能になる。別の実施例では、探索アルゴリズムは、ヒューリスティック関数を用いるＡ＊探索アルゴリズムによって拡張される。ヒューリスティック関数は、例えば、検索をより効率的に実施できるようにする様々な情報、例えば、上で述べたパートオブスピーチ言語モデルからの情報を組み込む。
【０１７３】
ブロック７２４で、複数の候補フレーズのそれぞれの拡張候補フレーズに確率スコアを判定する。例えば、図９Ｃを参照すると、複数の拡張候補フレーズ９５０のそれぞれの拡張候補フレーズに確率スコアが判定されている。確率スコアは、ブロック７０２のテキストを考慮して、複数の拡張候補フレーズのうちのそれぞれの拡張候補フレーズの確率を表す。確率スコアは、例えば、統計的言語モデルを使用して判定される。いくつかの実施例では、拡張候補フレーズの確率スコアは、（ブロック７０６で判定されたブロック）１以上の候補フレーズの各セットの確率スコアと、（ブロック７１２で判定された）１以上の各予測単語の確率スコアとを組み合わせて判定される。
【０１７４】
ブロック７２６において、複数の拡張候補フレーズは、複数の拡張候補フレーズに対応した（例えば、ブロック７２４で判定された）複数の確率スコアに基づいてランク付けされる。例えば、複数の拡張候補フレーズは、最高確率スコアから最低確率スコアまでの対応する確率スコアに従ってランク付けされる。例えば、図９Ｃの実施例では第４拡張候補フレーズ９５８が最高確率スコアを有するため、この実施例では、これが複数の拡張候補フレーズ９５０の中で最高ランクの拡張候補フレーズとなる。ブロック７２４〜７２６は、フレーズ拡張エンジン（例えばフレーズ拡張エンジン６１２）を使用して実施することができる。
【０１７５】
いくつかの実施例では、複数の拡張候補フレーズは、ブロック７０４の１以上の候補単語で成る複数セットからの１以上の候補単語で成る少なくとも１セットによってランク付けされる。例えば、複数の拡張候補フレーズ９５０は、複数の拡張候補フレーズ９５０に関連付けられた（例えば、ブロック７２４で判定された）複数の確率スコアと、１以上の候補単語で成る第１セット８０６及び１以上の候補単語で成る第２セット８０４に関連付けられた（例えば、ブロック７０６で判定された）確率スコアとに基づいて、１以上の候補単語で成る第１セット８０６及び１以上の候補単語で成る第２セット８０４によってランク付けすることができる。
【０１７６】
ブロック７２８で、複数の拡張候補フレーズのうちの１以上の拡張候補フレーズがランク付けに基づいて（例えば、タッチスクリーン１１２上に）表示され、ユーザが選択できるようになる。例えば、複数の候補フレーズの中のＭ個の最高位ランクの拡張候補フレーズが、電子デバイスのユーザインターフェース上にユーザによって選択されるように表示され、ここでＭはゼロよりも大きい所定の整数である。例えば、図１０Ａに示すように、第４拡張候補フレーズ９５８が電子デバイス１０００上の言語入力インターフェース１００６内に表示される。この例では、最高ランクの拡張候補フレーズのみが言語入力インターフェース１００６内に表示される。第４拡張候補フレーズ９５８は、ピンインテキスト８１０を含んだユーザ入力を受信したことに応じて、自動的に、又、追加のユーザ入力なしで、言語入力インターフェース１００６内に表示される。
【０１７７】
ブロック７３０で、表示された１以上の拡張候補フレーズの中からユーザが選択した拡張候補フレーズが受信される。例えば、図１０Ａで、言語入力インターフェース１００６内の第４拡張候補フレーズ９５８の選択に対応したユーザ入力が受信される。このユーザ入力は、例えば、電子デバイス１０００のタッチスクリーンにて受信されたタッチ入力である。別の実施例では、このユーザ入力は、キーボードインターフェース１００２を介して入力された終止符又はスペース文字などのテキスト文字入力に相当する。これらの実施例では、このユーザ入力は、言語入力インターフェース１００６内の第４拡張候補フレーズ９５８の承諾に相当する。１以上の表示された拡張候補フレーズの中からユーザが選択した拡張候補フレーズを受信したことに応じて、ブロック７３２が実施される。
【０１７８】
ブロック７３２で、選択された拡張候補フレーズが、電子デバイス上に表示されたユーザインターフェースに表示される。例えば、図１０Ｂを参照すると、言語入力インターフェース１００６内への第４拡張候補フレーズ９５８の選択に対応したユーザ入力を受信したことに応じて、第４拡張候補フレーズ９５８がワードプロセッシングユーザインターフェース１００４に表示される。
【０１７９】
複数の拡張候補フレーズが、ブロック７０４の１以上の候補単語で成る複数セットからの１以上の候補単語で成るセットの少なくとも１つによって（例えば、ブロック７２６にて）ランク付けされる実施例では、ブロック７２６でランク付けされた、１以上の候補単語で成る少なくとも１つのセットのうちの、１以上の候補単語の１以上のセットを、ユーザが選択できるよう、ブロック７２８の１以上の拡張候補フレーズと共に表示することができる（例えばブロック７２８）。例えば、ブロック７２８で、１以上の候補単語で成る第１セット８０６を、ユーザが選択できるよう、第４拡張候補フレーズ９５８と共に表示できる。加えて、これらの実施例では、ブロック７３０のユーザ選択は、１以上の候補単語のうち１以上の表示されたセットからの、ユーザによる１以上の候補単語で成るセット（例えば、１以上の候補単語の第１セット８０６）の選択であってよい。ユーザ選択の受信に応じて、選択された１以上の候補単語で成るセットがユーザインターフェースに表示される（例えばブロック７３２）。
【０１８０】
プロセス７００は、第１記号体系が中国語ピンインであり、第２記号体系が中国語文字である図８、図９Ａ〜図９Ｃ、並びに図１０Ａ及び図１０Ｂの実施例を参照して上に説明したが、プロセス７００は中国語テキスト入力に限定されず、その他の言語の別の記号体系にも同様に適用できることが認識されるべきである。例えば、プロセス７００は、第１記号体系が日本語仮名又は日本語ローマ字であり、第２記号体系が日本語仮名と日本語漢字の組み合わせである日本語テキスト入力に適用できる。別の実施例では、プロセス７００は、第１記号体系がローマ字又はラテン文字であり、第２記号体系がタイ語文字であるタイ語テキスト入力に適用できる。当業者は、言語の表音テキスト表記が第１記号体系（例えば、ローマ字又はラテン文字）にて受信され、その後、その言語の第２記号体系に変換される、プロセス７００を適用できるその他の適切な言語（例えば、韓国語、いくつかのインド東部の言語、キリル文字の言語、ギリシャ語、ロシア語など）を認識するだろう。
【０１８１】
いくつかの実施形態によれば、図１１は、説明した様々な実施形態の原理に従って構成された電子デバイス１１００の例示的な機能ブロック図を示す。いくつかの実施形態によれば、電子デバイス１１００の機能ブロックは、上述した技術を実施するように構成されている。デバイス１１００の機能ブロックは、説明した様々な実施形態の原理を実行するよう、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせによって任意で実施される。図１１に記述された機能ブロックは、説明した様々な実施例の原理を実施するべく、任意で、サブブロックと組み合わされる、又はサブブロックから分離されることが、当業者によって理解される。したがって、本明細書での説明は、本明細書で説明した機能ブロックのあらゆる実施可能な組み合わせ、又は分離、又は更なる定義を任意でサポートするものである。
【０１８２】
図１１に示すように、電子デバイス１１００は、グラフィックユーザインターフェースを表示するように構成されたディスプレイユニット１１０２と、任意で、接触を受信するように構成されたタッチ感知面ユニット１１０４と、ユーザ入力（例えばテキスト入力）を受信するように構成された入力ユニット１１０６と、ディスプレイユニット１１０２に結合した処理ユニット１１０６と、入力ユニット１１０６と、任意で、タッチ感知面ユニット１１０４とを含む。いくつかの実施形態では、処理ユニット１１０８は受信ユニット１１１０、判定ユニット１１１２、ランク付けユニット１１１４、及び表示有効化ユニット１１１６を含む。
【０１８３】
いくつかの実施例によれば、処理ユニット１１０８は、第１記号体系のテキストを含むユーザ入力（ブロック７０２のユーザ入力）を（例えば、受信ユニット１１１０によって、及び、タッチ感知面ユニット１１０４又は入力ユニット１１０６を介して）受信するように構成されている。このテキストは或る言語の或る単語の少なくとも一部の音声発音を表す。処理ユニット１１０８は、（判定ユニット１１１２により）言語の第２記号体系の１以上の候補単語で成る複数セット（例えば、ブロック７０４の１以上の候補単語で成る複数セット）を、このテキストに基づいて判定するように更に構成されている。１以上の候補単語で成る複数セットのうち１以上の候補単語で成る各セットにおける各候補単語は、テキストの少なくとも一部と対応する。処理ユニット１１０８は、複数の拡張候補フレーズ（例えば、ブロック７１０の複数の拡張可能フレーズ）と、１以上の候補単語で成る複数セット、に少なくとも一部基づいて、（例えば、判定ユニット１１１２によって）判定するように更に構成されている。複数の拡張候補フレーズのそれぞれの拡張候補フレーズは、１以上の候補単語で成る複数セットのうちの１以上の候補単語で成る各セットのうちの少なくとも１つの単語と、１以上の候補単語で成る各セットの少なくとも１つの単語に基づく１以上の予測単語とを含む。処理ユニット１１０８は、複数の拡張候補フレーズに対応した複数の確率スコアに基づいて、複数の拡張候補フレーズを（例えば、ランク付けユニット１１１４で）ランク付けするように更に構成されている（例えばブロック７２６）。処理ユニット１１０８は、ランク付けに基づいて、複数の拡張候補フレーズのうち１以上の拡張候補フレーズを、ユーザが選択できるよう表示する（例えば、表示有効化ユニット１１１６によってディスプレイユニット１１０２上に）ように更に構成されている（例えばブロック７２８）。
【０１８４】
いくつかの実施例では、処理ユニット１１０８は、１以上の表示された拡張候補フレーズのうちユーザが選択した拡張候補フレーズ（例えば、ブロック７３０のユーザ選択）を（例えば、受信ユニットによって、又、タッチ感知面ユニット１１０４又は入力ユニット１１０６を介して）受信するように更に構成されている。処理ユニット１１０８は、電子デバイス上に表示されたユーザインターフェース内で選択された拡張候補フレーズを（例えば、表示有効化ユニット１１１６によって、ディスプレイユニット１１０２上に）表示するように更に構成されている（例えば、ブロック７３２）。
【０１８５】
いくつかの実施例では、処理ユニット１１０８は、言語モデルを使用して、１以上の候補単語で成る複数セットに対応した第２の複数の確率スコア（例えば、ブロック７０６の複数の確率スコア）を（例えば、判定ユニット１１１２によって）判定するように更に構成されている。処理ユニット１１０８は、第２の複数の確率スコアに基づき、１以上の候補単語で成る複数セットを（例えば、ランク付けユニット１１１４によって）ランク付けするように更に構成されている（例えばブロック７０８）。
【０１８６】
いくつかの実施例では、複数の拡張候補フレーズは、１以上の候補単語で成る複数セットのうち、Ｎ個の最高ランクの１以上の候補単語で成るセットに基づいて判定され、ここで、Ｎはゼロよりも大きい整数である。
【０１８７】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の候補単語で成る複数セットのうちの１以上の候補単語で成る第１セットのうち少なくとも１つの単語を考慮して、１以上の第１予測単語（例えば、ブロック７１２の１以上の予測単語）を判定することを更に含み、ここで、第１フレーズは、１以上の候補単語で成る第１セットのうち少なくとも１つの単語と、１以上の第１予測単語とを含む。
【０１８８】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、第１フレーズの最後がフレーズ境界と対応するかどうかを判定すること（例えばブロック７１８）、又、第１フレーズの最後がフレーズ境界と対応するという判定に従って、第１フレーズを複数の拡張候補フレーズの１つとして記憶すること（例えばブロック７２０）を更に含む。
【０１８９】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、第１フレーズの最後がフレーズ境界と対応しないとの判定に従い、１以上の候補単語で成る第１セットのうち少なくとも１つの単語と１以上の第１予測単語とを考慮して、１以上の第２予測単語（例えば、ブロック７２２の１以上の追加の予測単語）を判定することを更に含み、ここで、第２フレーズは第１フレーズと１以上の第２予測単語とを含んでいる。
【０１９０】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、第２フレーズの最後がフレーズ境界と対応するかどうかを判定すること（例えばブロック７１８）、又、第２フレーズの最後がフレーズ境界と対応するという判定に従って、第２フレーズを複数の拡張候補フレーズの１つとして記憶すること（例えばブロック７２０）を更に含む。
【０１９１】
いくつかの実施例では、１以上の第１予測単語は、言語モデルを使用して判定される。
【０１９２】
いくつかの実施例では、１以上の第１予測単語の単語数は、言語モデルのオーダーよりも少ない。いくつかの実施例では、言語モデルはＮ−ｇｒａｍ言語モデルである。いくつかの実施例では、言語モデルはニューラルネットワークベースの言語モデルである。
【０１９３】
いくつかの実施例では、１つ又複数の第１予測言語は、言語の第２記号体系の１以上の単語を含んでいる。
【０１９４】
いくつかの実施例では、１以上の第１予測単語を判定することは、所定の１以上の単語で成る複数セットから１以上の第１予測単語を選択すること（例えば、ブロック７１０及び／又は７１２）を含む。
【０１９５】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の候補単語で成る複数セットの１以上の候補単語の第３セット（例えば、ブロック７１２の１以上の候補単語で成る第１セット８０６）を考慮して、１以上の第３予測単語（例えば、ブロック７１２の１以上の予測単語）を判定することを更に含む。複数の拡張候補フレーズの第３拡張候補フレーズは、１以上の候補単語の第３セットと、１以上の第３予測単語とを含んでいる。
【０１９６】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の候補単語で成る複数セットの１以上の候補単語の第４セットのサブセット（例えば、ブロック７１２のサブセット９１０）を考慮して、１以上の第４予測単語（例えば、ブロック７１２の１以上の予測単語）を判定することを更に含み、ここで、第４フレーズは、１以上の候補単語の第４セットのサブセットと１以上の第４予測単語とを含む。
【０１９７】
いくつかの実施例では、１以上の第４予測単語の単語数は、１以上の候補単語の第４セット中の単語数と、１以上の候補単語の第４セットのサブセット中の単語数との差と等しい、又はこれよりも多い。
【０１９８】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の第４予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応するかどうかを判定すること（例えばブロック７１６）と、又、１以上の第４予測単語のうち少なくとも１つの単語が第１記号体系のテキストの一部と対応するとの判定に従って、第４フレーズを、複数の拡張候補フレーズの１つとして記憶すること（例えばブロック７２０）とを更に含む。
【０１９９】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の第４予測単語のうちの少なくとも１つの単語が第１記号体系のテキストの一部と一致しないとの判定に従って、第４フレーズを複数の拡張候補フレーズの１つとして記憶することを控えること（例えばブロック７１６）を更に含む。
【０２００】
いくつかの実施例では、複数の拡張候補フレーズを判定することは、１以上の候補単語で成る複数セットの１以上の候補単語の第５セットの最後の単語が、別の単語の接頭辞であるかどうか判定すること（例えばブロック７１４）と、１以上の候補単語で成る複数セットのうちの１以上の候補単語の第５セットの最後の単語が、別の単語の接頭辞であるとの判定に従い、１以上の候補単語の第５セットのサブセット（例えばサブセット９１０）を考慮して、１以上の第５予測単語（例えば、ブロック７１２の１以上の予測単語）を判定することとを更に含む。１以上の候補単語の第５セットのサブセットは、１以上の候補単語の第５セットの最後の単語を含んでいない。複数の拡張候補フレーズの第５拡張候補フレーズは、１以上の候補単語の第５セットのサブセットと、１以上の第５予測単語とを含んでいる。
【０２０１】
いくつかの実施例では、複数の確率スコアのそれぞれの確率スコアは、テキストを考慮した複数の拡張候補フレーズの、それぞれの拡張候補フレーズの確率を表す。
【０２０２】
いくつかの実施例では、ユーザ入力は、１以上の候補単語で成る複数セットの１以上の候補単語で成るどのセットの承諾も示していない。
【０２０３】
いくつかの実施例では、第１記号体系は、中国語ピンイン又は中国語チューインを含み、第２記号体系は、中国語文字を含む。
【０２０４】
いくつかの実施例では、第１記号体系は日本語仮名又は日本語ローマ字を含み、第２記号体系は日本語仮名と漢字の組み合わせを含む。
【０２０５】
いくつかの実施によれば、コンピュータ可読記憶媒体（例えば、非一時的なコンピュータ可読記憶媒体）が提供され、このコンピュータ可読媒体は、電子デバイスの１以上のプロセッサによって実行される１以上のプログラムを記憶し、１以上のプログラムは本明細書で説明した方法のうちいずれかを実施するための命令を含む。
【０２０６】
いくつかの実施によれば、本明細書で説明した方法のうちいずれかを実施するための手段を備えた電子デバイス（例えば多機能デバイス）が提供される。
【０２０７】
いくつかの実施によれば、本明細書で説明した方法のうちいずれかを実施するために構成された処理ユニットを備えた電子デバイス（例えば多機能デバイス）が提供される。
【０２０８】
いくつかの実施によれば、１以上のプロセッサと、１以上のプロセッサによって実行される１以上のプログラムを記憶しているメモリとを備えた電子デバイス（例えば多機能デバイス）が提供され、１以上のプログラムは、本明細書で説明した方法のうちいずれかを実施するための命令を含む。
【０２０９】
図７Ａ〜図７Ｃを参照して上で説明した演算は、任意で、図１Ａ、図１Ｂ、図３、図６、又は図１１に示すコンポーネントによって実施される。例えば、プロセス７００の演算は、オペレーティングシステム１２６、アプリケーションモジュール１３６、言語入力モジュール６００、プロセッサ１２０、３１０、７０４、のうちの１以上によって実施されてもよい。同様に、当業者にとっては、これ以外のプロセスを、図１Ａ、図１Ｂ、図３、又は図６に示すコンポーネントに基づいてどのように実施できるかが明白になるだろう。
【０２１０】
本開示において、単語（例えば、候補単語、予測単語、最後の単語）とは、例えば、各単語が第２記号体系の単音節語（例えば中国語文字）を意味する、第２記号体系の単音節語を指す。別の実施例では、単語（例えば、候補単語、予測単語、最後の単語）とは、各単語が第２記号体系の１以上の単音節文字（例えば、１以上の中国語文字）を含んだ意味語を意味する意味語を指す。例示的な方法、コンピュータ可読記憶媒体、システム、電子デバイスについて、以下の事項において述べる。
【０２１１】
１．
テキストを入力する方法であって、前記方法は、
１以上のプロセッサ及びメモリを有する電子デバイスにおいて、
第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と一致する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することであって、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含む、ことと、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすることと、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるよう表示することと、
を含む、方法。
２．
前記１以上の表示された拡張候補フレーズのうちの拡張候補フレーズのユーザ選択を受信することと、
前記選択された拡張候補フレーズを、前記電子デバイス上に表示されたユーザインターフェースに表示することと、
を更に含む、事項１に記載の方法。
３．
言語モデルを使用して、１以上の候補単語で成る前記複数セットに対応した第２の複数の確率スコアを判定することと、
１以上の候補単語で成る前記複数セットを、前記第２の複数の確率スコアに基づいてランク付けすることと、
を更に含む、事項１又は２に記載の方法。
４．
前記複数の拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、Ｎ個の最高ランクの１以上の候補単語で成るセットに基づいて判定され、前記Ｎはゼロより大きい整数である、事項３に記載の方法。
５．
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第１セットの少なくとも１つの単語を考慮して、１以上の第１予測単語を判定することを更に含み、第１フレーズは、１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを含む、事項１から４のいずれか一項に記載の方法。
６．
前記複数の拡張候補フレーズを判定することは、
前記第１フレーズの最後がフレーズ境界と一致するかどうかを判定することと、
前記第１フレーズの前記最後がフレーズ境界と一致するとの判定に従って、前記第１フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、事項５に記載の方法。
７．
前記複数の拡張候補フレーズを判定することは、
前記第１フレーズの前記最後がフレーズ境界と一致しないとの判定に従って、
１以上の候補単語で成る前記第１セットの前記少なくとも１つの単語と、前記１以上の第１予測単語とを考慮して、１以上の第２予測単語を判定することを更に含み、第２フレーズは、前記第１フレーズと、前記１以上の第２予測単語とを含む、事項６に記載の方法。
８．
前記複数の拡張候補フレーズを判定することは、
前記第２フレーズの最後がフレーズ境界と一致するかどうかを判定することと、
前記第２フレーズの前記最後がフレーズ境界と一致するとの判定に従って、前記第２フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、事項７に記載の方法。
９．
前記１以上の第１予測単語は、言語モデルを使用して判定される、事項５から８のいずれか一項に記載の方法。
１０．
前記１以上の第１予測単語の単語数は、前記言語モデルのオーダーよりも少ない、事項９に記載の方法。
１１．
前記言語モデルは、Ｎ−ｇｒａｍ言語モデルである、事項９又は１０に記載の方法。
１２．
前記言語モデルは、ニューラルネットワークベースの言語モデルである、事項９から１１のいずれか一項に記載の方法。
１３．
前記１以上の第１予測単語は、前記言語の前記第２記号体系の１以上の単語を含む、事項５から１２のいずれか一項に記載の方法。
１４．
前記１以上の第１予測単語を判定することは、１以上の単語で成る所定の複数セットから、前記１以上の第１予測単語を選択することを含む、事項５から１３のいずれか一項に記載の方法。
１５．
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第３セットを考慮して、１以上の第３予測単語を判定することを更に含み、前記複数の拡張候補フレーズのうちの第３拡張候補フレーズは、１以上の候補単語で成る前記第３セットと、前記１以上の第３予測単語とを含む、事項１から１４のいずれか一項に記載の方法。
１６．
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第４セットのサブセットを考慮して、１以上の第４予測単語を判定することを更に含み、第４フレーズは、１以上の候補単語で成る前記第４セットの前記サブセットと、前記１以上の第４予測単語とを含む、事項１から１５のいずれか一項に記載の方法。
１７．
前記１以上の第４候補単語における単語数は、１以上の候補単語で成る前記第４セットにおける単語数と、１以上の候補単語で成る前記第４セットの前記サブセットにおける単語数との差以上である、事項１６に記載の方法。
１８．
前記複数の拡張候補フレーズを判定することは、
前記１以上の第４予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と一致するかどうかを判定することと、
前記１以上の第４予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と一致するとの判定に従って、前記第４フレーズを前記複数の拡張候補フレーズの１つとして記憶することと、
を更に含む、事項１６又は１７に記載の方法。
１９．
前記複数の拡張候補フレーズを判定することは、
前記１以上の第４予測単語のうちの少なくとも１つの単語が、前記第１記号体系の前記テキストの一部と一致しないとの判定に従って、前記第４フレーズを前記複数の拡張候補フレーズの１つとして記憶することを控えることを更に含む、事項１８に記載の方法。
２０．
前記複数の拡張候補フレーズを判定することは、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第５セットの最後の単語が、別の単語の接頭辞であるかどうかを判定することと、
１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る第５セットの最後の単語が、別の単語の接頭辞であるとの判定に従って、
１以上の候補単語で成る前記第５セットのサブセットを考慮して１以上の第５予測単語を判定することと、を含み、１以上の候補単語で成る前記第５セットの前記サブセットは、１以上の候補単語で成る前記第５セットの前記最後の単語を含まず、前記複数の拡張候補フレーズのうちの第５拡張候補フレーズは、１以上の候補単語で成る前記第５セットの前記サブセットと、前記１以上の第５予測単語とを含む、事項１から１９のいずれか一項に記載の方法。
２１．
前記複数の確率スコアのそれぞれの確率スコアは、前記テキストを考慮して、前記複数の拡張候補フレーズのそれぞれの拡張候補フレーズの確率を表す、事項１から２０のいずれか一項に記載の方法。
２２．
前記ユーザ入力は、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るいずれのセットの承諾も示していない、事項１から２１のいずれか一項に記載の方法。
２３．
前記第１記号体系は、中国語ピンイン又は中国語チューインを含み、前記第２記号体系は、中国語文字を含む、事項１から２２のいずれか一項に記載の方法。
２４．
前記第１記号体系は、日本語仮名又は日本語ローマ字を含み、前記第２記号体系は、日本語仮名と漢字の組み合わせを含む、事項１から２２のいずれか一項に記載の方法。
２５．
１以上のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１以上のプログラムは、電子デバイスの１以上のプロセッサによって実行されると、前記電子デバイスに、事項１から２４のいずれか一項に記載の方法を事項させる命令を含む、プログラムを記憶するコンピュータ可読記憶媒体。
２６．
電子デバイスであって、
１以上のプロセッサと、
１以上のプログラムを記憶するメモリと、
を含み、前記１以上のプログラムは命令を含み、前記命令は、前記１以上のプロセッサによって実行されると、前記１以上のプロセッサに事項１から２４のいずれか一項に記載の方法を実行させる、電子デバイス。
２７．
電子デバイスであって、
事項１から２４のいずれか一項に記載の方法を実行する手段を含む、電子デバイス。
２８．
１以上のプログラムを記憶するコンピュータ可読記憶媒体であって、前記１以上のプログラムは命令を含み、前記命令は電子デバイスの１以上のプロセッサによって実行されると、前記電子デバイスに、
第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と一致する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することであって、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含む、ことと、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすること、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるように表示することと、
を実行させる、コンピュータ可読記憶媒体。
２９．
電子デバイスであって、
１以上のプロセッサと、
１以上のプログラムを記憶するメモリと、を備え、前記１以上のプログラムは命令を含み、前記命令は、前記１以上のプロセッサによって実行されると、前記１以上のプロセッサに、
第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と一致する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することであって、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含む、ことと、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすること、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるように表示することと、
を実行させる、電子デバイス。
３０．
電子デバイスであって、
ディスプレイユニットと、
入力ユニットと、
前記ディスプレイユニット及び前記入力ユニットに結合している処理ユニットと、を含み、前記処理ユニットは、
前記入力ユニットを介して第１記号体系のテキストを含むユーザ入力を受信することであって、前記テキストは、或る言語の或る単語の少なくとも一部の音声発音を表す、ことと、
前記テキストに基づいて、前記言語の第２記号体系の１以上の候補単語で成る複数セットを判定することであって、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成る各セットにおける各候補単語は、前記テキストの少なくとも一部と一致する、ことと、
１以上の候補単語で成る前記複数セットの少なくとも一部に基づいて、複数の拡張候補フレーズを判定することであって、前記複数の拡張候補フレーズの各拡張候補フレーズは、１以上の候補単語で成る前記複数セットのうちの、１以上の候補単語で成るそれぞれのセットの少なくとも１つの単語と、１以上の候補単語で成る前記それぞれのセットの前記少なくとも１つの単語に基づく１以上の予測単語とを含む、ことと、
前記複数の拡張候補フレーズを、前記複数の拡張候補フレーズに対応した複数の確率スコアに基づいてランク付けすることと、
前記ランク付けに基づいて、前記複数の拡張候補フレーズの１以上の拡張候補フレーズをユーザが選択できるように前記ディスプレイユニット上に表示することと、
を行うように構成されている、電子デバイス。
【０２１２】
先行の記述は、説明を目的とし、特定の実施形態を参照しながら述べられている。しかし、上記の例証的な説明は、徹底的であること、又は本発明を開示されるそのままの形態に限定することを意図しない。上記の教示を斟酌して多くの改造及び変形が可能である。実施形態は、技術の原理及びその実用的な用途を最良に説明するために選択及び記述されたものである。これにより、当業者は、技術及び様々な実施形態を、考え得る特定の使用に適した様々な改造を加えて最良に利用できるようになる。
【０２１３】
本開示及び実施例を添付の図面を参照して十分に説明したが、当業者には様々な変更及び改造が明白となるであろう点に留意されたい。このような変更及び改造は、請求項によって定義されるとおりの本開示及び実施例の範囲に含まれることが理解されるべきである。
【図１Ａ】
0006701066.tif 000029
【図１Ｂ】
0006701066.tif 000030
【図２】
0006701066.tif 000031
【図３】
0006701066.tif 000032
【図４Ａ】
0006701066.tif 000033
【図４Ｂ】
0006701066.tif 000034
【図５Ａ】
0006701066.tif 000035
【図５Ｂ】
0006701066.tif 000036
【図６】
0006701066.tif 000037
【図７Ａ】
0006701066.tif 000038
【図７Ｂ】
0006701066.tif 000039
【図７Ｃ】
0006701066.tif 000040
【図８】
0006701066.tif 000041
【図９Ａ】
0006701066.tif 000042
【図９Ｂ】
0006701066.tif 000043
【図９Ｃ】
0006701066.tif 000044
【図１０Ａ】
0006701066.tif 000045
【図１０Ｂ】
0006701066.tif 000046
【図１１】
0006701066.tif 000047