(57)【特許請求の範囲】
【請求項１】
コンピュータ装置によって実施される方法であって、
ディスプレイ装置上のユーザインターフェースにおいて、スクロール可能な項目の第１のリストを含む第１のビューを表示するステップと、
前記ディスプレイ装置上の前記ユーザインターフェースにおける位置で検出され、前記第１のビューを、スクロール可能な項目の第２のリストを含む第２のビューにより置換する入力を認識するステップであって、前記第２のリストにおける項目の少なくとも１つは前記第１のリストにおける項目のグループを表す、ステップと、
前記第２のリストにおける項目の前記少なくとも１つが、前記ディスプレイ装置上の前記ユーザインターフェースにおける前記入力の検出された位置であって、前記第１のリストにおける項目の前記グループが前記第１のビューにおいて表示されていた前記位置で現れるように、前記ディスプレイ装置で前記表示される第１のビューを前記第２のビューにより置換するステップと
を有し、
前記置換後に、前記第２のビューは、前記入力の供給の中断に応答して、前記第２のリストの項目が前記検出された位置によらずに表示されるように補正アニメーションを適用される、方法。
【請求項２】
前記第２のビューによる置換は、前記第１のビューと前記第２のビューとの間のセマンティックスワップを引き起こす、
請求項１に記載の方法。
【請求項３】
前記セマンティックスワップは、前記第１のビュー及び前記第２のビューにおいて前記項目の異なる配置を引き起こす、
請求項２に記載の方法。
【請求項４】
前記セマンティックスワップは、異なるメタデータを前記第１のビュー及び前記第２のビューにおいて表示させる、
請求項２に記載の方法。
【請求項５】
前記項目は、前記コンピュータ装置のファイルシステムに関する、
請求項１に記載の方法。
【請求項６】
前記第１のビュー及び前記第２のビューは、前記第１のビュー及び前記第２のビューにおいて表される夫々のコンテンツの表示サイズを変えるように前記ユーザインターフェースにおいて異なるズーム量をサポートするよう構成される、
請求項１に記載の方法。
【請求項７】
前記入力は、ジェスチャ、キーボード入力、又はカーソル制御装置入力を含む、
請求項１に記載の方法。
【請求項８】
前記ジェスチャは、ピンチジェスチャ又は逆ピンチジェスチャである、
請求項７に記載の方法。
【請求項９】
ディスプレイ装置上のユーザインターフェースにおける位置で検出される入力を、動きを示すものと認識する動作と、
前記入力からセマンティックスワップジェスチャを特定して、前記ユーザインターフェースにおけるコンテンツの表現の第１のビューを、前記ユーザインターフェースにおいて別なふうにコンテンツを記述する第２のビューにより置換する動作を引き起こす動作と、
前記入力の動きに応答して実時間において、前記第１のビュー及び前記第２のビューが、前記入力によって示される前記動きの量に少なくとも部分的に基づく前記第１のビュー及び第２のビューの夫々の異なる量をもって一緒に表示されるように、前記第１のビューと前記第２のビューとの間を遷移する動作の部分としてクロスフェードアニメーションを表示する動作と
を実行するよう少なくとも部分的にハードウェアにおいて実施される１又はそれ以上のモジュールを有し、
前記置換する動作は、前記第２のビューに含まれるスクロール可能な項目のうちの、前記第１のビューに含まれるスクロール可能な項目のグループを表す少なくとも１つが、前記ディスプレイ装置上の前記ユーザインターフェースにおける前記入力の検出された位置であって、前記グループが前記第１のビューにおいて表示されていた前記位置で現れるように、前記ユーザインターフェースにおいて前記第１のビューを前記第２のビューにより置換し、該置換後に、前記入力の供給の中断に応答して、前記第２のビューに補正アニメーションを適用して前記第２のビューに含まれるスクロール可能な項目が前記検出された位置によらずに表示されるようにすることを含む、コンピュータ装置。
【発明の詳細な説明】
【背景技術】
【０００１】
ユーザは、増え続ける様々なコンテンツへのアクセスを有する。加えて、ユーザに利用されるコンテンツの量は増加の一途をたどる。例えば、ユーザは、仕事では様々な異なる文書に、家では複数の音楽に、携帯電話では様々な写真やニュースにアクセスすることがある。
【０００２】
しかし、このようなコンテンツをナビゲートするようコンピュータ装置によって用いられてきた従来の技術は、平常通りのユーザでさえ典型的な日においてアクセスしうるコンテンツの純然たる量に直面したときに、過度の負担がかかることとなる。従って、ユーザが関心のあるコンテンツを見つけるのは困難であることがあり、これは、ユーザのフラストレーションを引き起こし且つコンピュータ装置のユーザの認知及び使用を妨げることとなり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
セマンティックズーム技術が記載される。１又はそれ以上の実施において、記載される技術は、関心のあるコンテンツへナビゲートするようユーザによって利用され得る。それらの技術はまた、セマンティックスワップ並びにズーム“イン”及び“アウト”をサポートするために、様々な異なる機能を有してよい。それらの技術はまた、ジェスチャ、カーソル制御装置、及びキーボード入力をサポートするために、様々な異なる入力機能を有してよい。様々な他の機能も、詳細な説明及び図面において更に説明されるように、サポートされる。
【０００４】
本項目は、詳細な説明において以下で更に記載される簡略化された形式において概念の選択を導入するよう設けられる。本項目は、請求される対象の重要な特徴又は必須の特徴を特定するよう意図されず、且つ、請求される対象の適用範囲を決定する助けとして使用されるよう意図されない。
【図面の簡単な説明】
【０００５】
【図１】セマンティックズーム技術を用いるよう動作する実施例における環境の例示である。
【図２】潜在的なコンテンツのビュー間をナビゲートするのにジェスチャが利用されるセマンティックズームの実施例の例示である。
【図３】第１のハイエンドのセマンティック閾値の実施例の例示である。
【図４】第２のハイエンドのセマンティック閾値の実施例の例示である。
【図５】第１のローエンドのセマンティック閾値の実施例の例示である。
【図６】第２のローエンドのセマンティック閾値の実施例の例示である。
【図７】セマンティックズームに利用され得る補正アニメーションの実施例を表す。
【図８】セマンティックスワップの部分として使用され得るクロスフェードアニメーションが示される実施例を表す。
【図９】セマンティックヘッダを含むセマンティックビューの実施例の例示である。
【図１０】テンプレートの実施例の例示である。
【図１１】他のテンプレートの実施例の例示である。
【図１２】オペレーティングシステムがセマンティックズーム機能をアプリケーションに顕在化させる実施例におけるプロシージャを表すフロー図である。
【図１３】閾値がセマンティックスワップをトリガするために利用される実施例におけるプロシージャを表すフロー図である。
【図１４】操作に基づくジェスチャがセマンティックズームをサポートするために使用される実施例におけるプロシージャを表すフロー図である。
【図１５】ジェスチャ及びアニメーションがセマンティックズームをサポートするために使用される実施例におけるプロシージャを表すフロー図である。
【図１６】ベクトルがスクロール可能な項目のリストを移動するために計算され、補正アニメーションがリストの移動を解除するために使用される実施例におけるプロシージャを表すフロー図である。
【図１７】クロスフェードインターフェースがセマンティックスワップの部分として利用される実施例におけるプロシージャを表すフロー図である。
【図１８】セマンティックズームのためのプログラミングインターフェースの実施例におけるプロシージャを表すフロー図である。
【図１９】ここで記載されるセマンティックズーム技術を実施するよう構成され得るコンピュータ装置のための様々な構成を表す。
【図２０】ここで記載されるセマンティックズーム技術の実施例を実施する図１〜１１及び１９を参照して記載されるあらゆるタイプのポータブル及び／又はコンピュータ装置として実施可能な装置の例の様々な構成要素を表す。
【発明を実施するための形態】
【０００６】
詳細な説明は、添付の図面を参照して記載される。図中、参照符号の左端の数字は、その参照符号が最初に現れる図を特定する。明細書及び図面における異なる事例での同じ参照符号は、同様の又は同じ事項を示してよい。
【０００７】
［概要］
平常通りのユーザでさえ典型的な日においてアクセスするコンテンツの量は、増加の一途をたどる。結果として、このようなコンテンツをナビゲートするために利用されてきた従来の技術は過度の負担がかかることとなり、ユーザのフラストレーションをもたらす。
【０００８】
以下の説明では、セマンティックズーム技術が記載される。１又はそれ以上の実施において、技術は、ビュー内をナビゲートするために使用されてよい。セマンティックズームによれば、ユーザは、望まれるようにビュー内の場所に“ジャンプ”することによってコンテンツをナビゲートすることができる。加えて、それらの技術は、ユーザが、所与の時点にユーザインターフェースにおいてどれくらいのコンテンツが表されるのかと、コンテンツを記述するために提供される情報の量とを調整することを可能にしてよい。従って、それは、セマンティックズームを呼び出してジャンプし、次いでそれらのコンテンツに戻るための確かさをユーザに提供してよい。更に、セマンティックズームは、コンテンツのオーバービューを提供するために使用されてよく、これは、コンテンツをナビゲートするときにユーザの信頼を高める助けとなり得る。セマンティックズームに関する更なる説明は、以下の項目に関連して見つけられ得る。
【０００９】
以下の説明において、例となる環境が最初に説明され、この環境はここで記載されるセマンティックズーム技術を用いるよう動作する。ジェスチャと、ジェスチャ及び他の入力を伴うプロシージャとに関する例示が次いで記載され、これらは、上記の例となる環境において及び他の環境において用いられてよい。然るに、例となる環境は、例となる技術を実行することに制限されない。同様に、例となるプロシージャは、例となる環境における実施に制限されない。
【００１０】
［例となる環境］
図１は、ここで記載されるセマンティックズーム技術を用いるよう動作する実施例における環境１００の例示である。例示される環境１００は、様々な方法において構成され得るコンピュータ装置１０２の例を含む。例えば、コンピュータ装置１０２は、プロセッシングシステム及びメモリを有するよう構成されてよい。よって、コンピュータ装置１０２は、図１９及び２０に関して更に記載されるように、従来のコンピュータ（例えば、デスクトップ・パーソナルコンピュータ、ラップトップ・コンピュータ、等）、移動局、エンターテイメント機器、テレビ受像器と通信上結合されるセットトップボックス、無線電話機、ネットブック、ゲーム機等として構成されてよい。
【００１１】
従って、コンピュータ装置１０２は、十分なメモリ及びプロセッサリソースを備えた完全リソース装置（例えば、パーソナルコンピュータ、ゲーム機）から、制限されたメモリ及び／又はプロセッシングリソースを備えた低リソース装置（例えば、従来のセットトップボックス、携帯型ゲーム機）まで及んでよい。コンピュータ装置１０２はまた、コンピュータ装置１０２に１又はそれ以上の動作を実行させるソフトウェアに関係してよい。
【００１２】
コンピュータ装置１０２は、入力／出力モジュール１０４を含むよう表されている。入力／出力モジュール１０４は、コンピュータ装置１０２によって検出される入力に関する機能を表す。例えば、入力／出力モジュール１０４は、コンピュータ装置１０２で実行されるアプリケーション１０６へコンピュータ装置１０２の機能を取り出すようオペレーティングシステムの部分として構成されてよい。
【００１３】
入力／出力モジュール１０４は、例えば、ユーザの手１１０によるディスプレイ装置１０８とのインタラクション（例えば、タッチスクリーン機能を用いる。）により検出されるジェスチャを認識するよう構成されてよい。よって、入力／出力モジュール１０４は、ジェスチャを特定し、ジェスチャに対応する実行されるべき動作を引き起こす機能を表してよい。ジェスチャは、様々な異なる方法において入力／出力モジュール１０４によって特定されてよい。例えば、入力／出力モジュール１０４は、タッチスクリーン機能により、コンピュータ装置１０２のディスプレイ装置１０８に近接するユーザの手１１０の指のようなタッチ入力を認識するよう構成されてよい。
【００１４】
タッチ入力はまた、そのタッチ入力を、入力／出力モジュール１０４によって認識される他のタッチ入力と区別するために使用可能な属性（例えば、動き、選択点、等）を含むと認識されてよい。この区別は、次いで、タッチ入力からのジェスチャと、結果として、ジェスチャの識別に基づき実行されるべき動作とを特定する基礎の役割を果たしてよい。
【００１５】
例えば、ユーザの手１１０の指は、ディスプレイ装置１０８に近接して置かれ、左に動かされる（これは矢印によって表される。）ように表されている。然るに、ユーザの手１１０の指及びその後の動きの検出は、入力／出力モジュール１０４によって、動きの方向においてコンテンツの表現をナビゲートする“パン”ジェスチャとして認識されてよい。表される例では、表現は、コンピュータ装置１０２のファイルシステムにおけるコンテンツの項目を表すタイルとして構成される。項目は、コンピュータ装置１０２の、又はネットワークを介して遠隔からアクセス可能な、又はコンピュータ装置１０２へ通信上結合される装置に相当する、等のメモリにおいて局所的に記憶されてよい。このように、様々な異なるタイプのジェスチャが、単一のタイプの入力（例えば、上記のドラッグ・アンド・ドロップジェスチャのようなジェスチャ）及び複数のタイプの入力（例えば、複合ジェスチャ）を伴うジェスチャから認識されるジェスチャのように、入力／出力モジュール１０４によって認識されてよい。
【００１６】
例えば、キーボード、カーソル制御装置（例えば、マウス）、スタイラス、トラックパッド、等からのような様々な他の入力も入力／出力モジュール１０４によって検出され処理されてよい。このようにして、アプリケーション１０６は、如何にして動作がコンピュータ装置１０２によって実施されるかを“気付く”ことなく機能してよい。以下の説明はジェスチャ、キーボード、及びカーソル制御装置の各入力の具体例を記載するが、それらは、ここで記載されるセマンティックズーム技術による使用のために考えられる様々な異なる例の２，３にすぎないことは明らかである。
【００１７】
入力／出力モジュール１０４は更に、セマンティックズームモジュール１１４を有するよう表されている。セマンティックズームモジュール１１４は、ここで記載されるセマンティックズーム技術を用いるコンピュータ装置１０２の機能を表す。データをナビゲートするのに利用されてきた従来の技術は、タッチ入力を用いて実施するには困難であり得る。例えば、ユーザが従来のスクロールバーにより特定のコンテンツ片を見つけることは困難である。
【００１８】
セマンティックズーム技術はビュー内をナビゲートするために使用されてよい。セマンティックズームによれば、ユーザは、望まれるようにビュー内の場所に“ジャンプ”することによってコンテンツをナビゲートすることができる。加えて、セマンティックズームは、コンテンツの基底構造を変更することなく利用されてよい。従って、それは、セマンティックズームを呼び出してジャンプし、次いでそれらのコンテンツに戻るための確かさをユーザに提供してよい。更に、セマンティックズームは、コンテンツのオーバービューを提供するために使用されてよく、これは、コンテンツをナビゲートするときにユーザの信頼を高める助けとなり得る。セマンティックズームモジュール１１４は、複数のセマンティックビューをサポートするよう構成されてよい。更に、セマンティックズームモジュール１１４は、上述されたようにセマンティックスワップがトリガされるとセマンティックビューが表示される準備ができているように、“前もって”セマンティックビューを生成してよい。
【００１９】
ディスプレイ装置１０８は、セマンティックビューにおけるコンテンツの複数の表現を表示するよう表されている。セマンティックビューは、以下の説明において「ズームアウトビュー」とも呼ばれることがある。表現は、表される例ではタイルとして構成される。セマンティックビューにおけるタイルは、アプリケーションを起動するのに使用されるタイルを含みうる開始スクリーンのような他のビューでは、タイルと異なるよう構成されてよい。例えば、それらのタイルのサイズは、それらの“通常のサイズ”の２７．５パーセントで設定されてよい。
【００２０】
１又はそれ以上の実施において、このビューは、開始スクリーンのセマンティックビューとして構成されてよい。このビューにおけるタイルは、通常のビューにおける色ブロックと同じである色ブロックから構成されてよいが、通知の表示（例えば、天気を含むタイルに関する現在の温度）のためのスペースを含まない。なお、他の例も考えられる。よって、タイル通知更新は、ユーザがセマンティックズーム、すなわち、“ズームインされたビュー”を脱する場合に、後の出力のために遅延されバッチされてよい。
【００２１】
新しいアプリケーションがインストールされるか又は削除される場合に、セマンティックズームモジュール１１４は、以下で更に記載されるように、“ズーム”のレベルにかかわらずグリッドから対応するタイルを追加又は削除してよい。加えて、セマンティックズームモジュール１１４は次いで、タイルを然るべく並び替えてよい。
【００２２】
１又はそれ以上の実施において、グリッド内のグループの形状及びレイアウトは、“通常の”ビュー（例えば、１００パーセントのビュー）において見られるようにセマンティックビューにおいて不変なままである。例えば、グリッドにおける行の数は同じままであってよい。しかし、より多くのタイルが見られるので、通常のビューよりも多くのタイル情報がセマンティックズームモジュール１１４によってロードされてよい。それら及び他の技術の更なる説明は、図２に関して始まりを見つけられ得る。
【００２３】
概して、ここで記載される機能のいずれもソフトウェア、ファームウェア、ハードウェア（例えば、固定ロジック回路）、又はそれらの実施の組み合わせにより実施され得る。ここで使用される語「モジュール」、「機能」及び「ロジック」は、概して、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせを表す。ソフトウェア実施の場合において、モジュール、機能、又はロジックは、プロセッサ（例えば、ＣＰＵ（複数を含む。））で実行される場合に特定のタスクを実行するプログラムコードを表す。プログラムコードは、１又はそれ以上のコンピュータ可読メモリ装置において記憶され得る。以下で記載されるセマンティックズーム技術の特徴はプラットフォームに依存しない。これは、当該技術が様々なプロセッサを有する様々な市販のコンピュータプラットフォームで実施されてよいことを意味する。
【００２４】
例えば、コンピュータ装置１０２はまた、コンピュータ装置１０２のハードウェアに、例えば、プロセッサ、機能ブロック等の動作を実行させるエンティティ（例えば、ソフトウェア）を有してよい。例えば、コンピュータ装置１０２は、コンピュータ装置及び特にコンピュータ装置１０２のハードウェアに動作を実行させる命令を保持するよう構成され得るコンピュータ可読媒体を有してよい。よって、命令は、動作を実行するようハードウェアを設定するように機能し、このようにして、機能を実行するためのハードウェアの変形をもたらす。命令は、様々な異なる構成を通じてコンピュータ装置１０２によってコンピュータ可読媒体によって提供されてよい。
【００２５】
コンピュータ可読媒体の１つのそのような構成は信号搬送媒体であり、よって、例えば、ネットワークを介するように、コンピュータ装置のハードウェアへ命令を（搬送波として）送信するよう構成される。コンピュータ可読媒体はまた、コンピュータ可読記憶媒体として構成されてよく、よって、信号搬送媒体ではない。コンピュータ可読記憶媒体の例には、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、光ディスク、フラッシュメモリ、ハードディスクメモリ、並びに磁気、光、及び他の技術を用いて命令及び他のデータを記憶する他のメモリ装置がある。
【００２６】
図２は、ジェスチャが潜在的なコンテンツのビュー間をナビゲートするために利用されるセマンティックズームの実施例２００を表す。ビューは、第１、第２及び第３の段階２０２、２０４、２０６を用いてこの実施例において表される。第１の段階２０２で、コンピュータ装置１０２は、ディスプレイ装置１０８でユーザインターフェースを表示するよう表されている。ユーザインターフェースは、コンピュータ装置１０２のファイルシステムを介してアクセス可能な項目の表現を含み、その表される例は、文書及び電子メール並びに対応するメタデータを含む。なお、装置を含む多種態様な他のコンテンツが上述されたようにユーザインターフェースにおいて表されてよく、それらはその場合にタッチスクリーン機能により検出されてよいことは明らかである。
【００２７】
ユーザの手１１０は、表現のビューを“ズームアウト”するよう“ピンチ”ジェスチャを開始するように第１の段階２０２で表されている。ピンチジェスチャは、この場合に、ディスプレイ装置１０８に近接してユーザの手１１０の二本の指を置き、それらを互いに向かって動かすことによって開始され、その場合に、そのジェスチャは、コンピュータ装置１０２のタッチスクリーン機能により検出されてよい。
【００２８】
第２の段階２０４で、ユーザの指の接触点は、移動の方向を示すよう矢印を伴った破線円を用いて表されている。表されるように、項目の個々の表現としてアイコン及びメタデータを含む第１の段階２０２のビューは、第２の段階２０４において単一表現による項目のグループのビューへ遷移される。つまり、項目の各グループは単一表現を有する。グループ表現は、グループを形成する基準（例えば、共通の特徴）を示すヘッダを含み、相対的な集団の大きさを示すサイズを有する。
【００２９】
第３の段階２０６で、接触点は、項目のグループのより多くの表現がディスプレイ装置１０８で同時に表示され得るように、第２の段階２０４と比較してより一層近くに一緒に動いている。ジェスチャを解放すると、ユーザは、パンジェスチャ、カーソル制御装置のクリック・アンド・ドラッグ動作、キーボードの１又はそれ以上のキー、等のような様々な技術により表現をナビゲートしてよい。このように、ユーザは、表現において所望の細かさの程度まで容易にナビゲートし、当該程度において表現をナビゲートする等して、関心のあるコンテンツを見つけることができる。それらのステップは、表現のビューを“ズームイン”するよう逆にされてよい。例えば、接触点は、セマンティックズームにおいて表示する詳細の程度を制御するよう“逆ピンチジェスチャ”として互いから離されてよい。
【００３０】
このように、上記のセマンティックズーム技術はセマンティックスワップを伴った。セマンティックスワップは、ズーム“イン”及び“アウト”するときのコンテンツのビュー間のセマンティック遷移を指す。セマンティックズーム技術は更に、夫々のビューのズームイン／アウトによって遷移に入ることで経験を高めることができる。ピンチジェスチャが記載されたが、この技術は様々な異なる入力を用いて制御されてよい。例えば、“タップ”ジェスチャが利用されてもよい。タップジェスチャにおいて、タップは、例えば、１又はそれ以上の表現をタップすることによりズーム“アウト”及び“イン”されるように、ビューにビュー間を遷移させてよい。この遷移は、上述されたようにピンチジェスチャが利用されたのと同じ遷移アニメーションを使用してよい。
【００３１】
可逆のピンチジェスチャがまた、セマンティックズームモジュール１１４によってサポートされてよい。この例では、ユーザはピンチジェスチャを開始し、次いで、逆方向において自身の指を動かすことによってジェスチャをキャンセルすると決定してよい。これに応じて、セマンティックズームモジュール１１４は、キャンセルシナリオをサポートし、前のビューへ遷移してよい。
【００３２】
他の例では、セマンティックズームはまた、ズームイン及びアウトするようスクロールホイール及び“コントロール（ctrl）”キーを用いて制御されてよい。他の例では、キーボードにおける“ctrl”及び“プラス（+）”又は“マイナス（-）”キーの組み合わせが夫々、ズームイン又はアウトするために使用されてよい。様々な他の例も考えられる。
【００３３】
［閾値］
セマンティックズームモジュール１１４は、ここで記載されるセマンティックズーム技術とのインタラクションを管理するよう様々な異なる閾値を用いてよい。例えば、セマンティックズームモジュール１１４は、例えば、第１及び第２の段階２０２、２０４の間でビューのスワップが起こるズームレベルを特定するために、セマンティック閾値を利用してよい。１又はそれ以上の実施において、これは、例えば、ピンチジェスチャにおける接触点の移動の量に依存した距離に基づく。
【００３４】
セマンティックズームモジュール１１４は、入力が終了される場合にどのズームレベルでビューを“スワップ”すべきかを決定するために直接操作閾値を用いてもよい。例えば、ユーザは、所望のズームレベルへナビゲートするよう、上述されたピンチジェスチャを提供してよい。ユーザは次いで、そのビューにおけるコンテンツの表示をナビゲートするようジェスチャを解放してよい。よって、直接操作閾値は、どのレベルにビューが依然としてそのナビゲーションをするようあるべきかと、セマンティック“スワップ”の間で実行されるズームの程度とを決定するために使用されてよい。その例は、第２及び第３の段階２０４、２０６において示された。
【００３５】
よって、ビューがセマンティック閾値に達すると、セマンティックズームモジュール１１４はセマンティックビジュアルにおいてスワップを引き起こしてよい。加えて、セマンティック閾値は、ズームを定義する入力の方向に依存して変化してよい。これは、ズームの方向が反対にされる場合にさもなければ起こりえるフリッカを低減する役割を果たし得る。
【００３６】
図３の実施例において表される第１の例では、第１のハイエンドセマンティック閾値３０２は、例えば、セマンティックズームモジュール１１４によってジェスチャを認識され得る動きの約８０パーセントに設定されてよい。例えば、ユーザが最初は１００パーセントのビューにあり、ズームアウトを開始した場合は、セマンティックスワップは、入力が第１のハイエンドセマンティック閾値３０２によって定義される８０パーセントに達する場合にトリガされてよい。
【００３７】
図４の実施例において表される第２の例では、第２のハイエンドセマンティック閾値４０２が更にセマンティックズームモジュール１１４によって定義され利用されてよく、それは、約８５パーセントのように、第１のハイエンドセマンティック閾値３０２よりも高く設定され得る。例えば、ユーザは、１００パーセントのビューで開始し、第１のハイエンドセマンティック閾値３０２でセマンティックスワップをトリガするが、手を放しておらず（例えば、ジェスチャを定義する入力を依然として提供している。）、ズーム方向を反対にすると決定することがある。この場合には、入力は、第２のハイエンドセマンティック閾値４０２に達すると、レギュラービューへ戻るスワップをトリガする。
【００３８】
ローエンド閾値もセマンティックズームモジュール１１４によって利用されてよい。図５の実施例において表される第３の例では、第１のローエンドセマンティック閾値５０２が、例えば、約４５パーセントで設定されてよい。ユーザが最初は２７．５％でのセマンティックビューにあり、“ズームイン”を開始する入力を供給する場合は、セマンティックスワップは、入力が第１のローエンドセマンティック閾値５０２に達する場合にトリガされてよい。
【００３９】
図６の実施例において表される第４の例では、第２のローエンドセマンティック閾値６０２が、例えば約３５パーセントで定義されてもよい。前述の例と同様に、ユーザは２７．５％のセマンティックビュー（例えば、開始スクリーン）から開始し、セマンティックスワップをトリガしてよく、例えば、ズームパーセンテージは４５％よりも大きい。また、ユーザは、入力を供給し続け（例えば、マウスのボタンが“クリックされた”ままであり、依然として“ジェスチャ”が続いている、等）、次いでズーム方向を反対にすると決定してよい。２７．５％ビューへ戻るスワップは、第２のローエンドセマンティック閾値６０２に達すると、セマンティックズームモジュール１１４によってトリガされてよい。
【００４０】
このように、図２乃至６に関連して図示及び説明される例では、いつセマンティックスワップがスマンティックズームの間に起こるかを定義するために、セマンティック閾値が使用されてよい。それらの閾値の間で、ビューは直接操作に応答して光学的にズームイン及びズームアウトし続けてよい。
【００４１】
［スナップポイント］
ユーザがズームイン又はアウトするよう入力を提供する（例えば、ピンチジェスチャにおいて自身の指を動かす）場合に、表示される面は、任意に、セマンティックズームモジュール１１４によって然るべく拡大縮小される。しかし、入力が停止する（例えば、ユーザがジェスチャをやめる）場合に、セマンティックズームモジュール１１４は、特定のズームレベルへのアニメーションを生成してよい。これは「スナップポイント」と呼ばれることがある。１又はそれ以上の実施において、これは、例えば、ユーザが“手を放す”場合に、入力が停止される現在のズームパーセンテージに基づく。
【００４２】
様々な異なるスナップポイントが定義されてよい。例えば、セマンティックズームモジュール１１４は、ズームされていない、例えば、完全なフィデリティを有する“レギュラーモード”においてコンテンツが表示される１００パーセントのスナップポイントを定義してよい。他の例では、セマンティックズームモジュール１１４は、セマンティックビジュアルを含む２７．５％での“ズームモード”に対応するスナップポイントを定義してよい。
【００４３】
１又はそれ以上の実施において、ディスプレイ装置１０８の利用可能な表示領域を実質的に消耗するよりもコンテンツが少ない場合に、スナップポイントは、自動的にユーザ介入なしでセマンティックズームモジュール１１４によって、コンテンツにディスプレイ装置１０８を実質的に“満たさせる”如何なる値へも設定されてよい。よって、この例では、コンテンツは、２７．５％の“ズームモード”よりも小さく縮小せず、より大きくなり得る。当然、例えば、現在のズームレベルに対応する複数の所定のズームレベルの中の１つをセマンティックズームモジュール１１４に選ばせるといった、他の例も考えられる。
【００４４】
よって、セマンティックズームモジュール１１４は、入力が停止する、例えば、ユーザがジェスチャをやめる、マウスのボタンを解放する、所定量の時間後にキーボード入力を提供するのをやめる、等の場合にどこにビューが着地するつもりかを決定するよう、スナップポイントと組み合わせて閾値を利用してよい。例えば、ユーザがズームアウトしており、ズームアウトのパーセンテージがハイエンド閾値パーセンテージよりも大きく、入力を中止する場合に、セマンティックズームモジュール１１４は、ビューを１００％スナップポイントへ戻させてよい。
【００４５】
他の例では、ユーザはズームアウトするよう入力を供給してよく、ズームアウトのパーセンテージはハイエンド閾値パーセンテージよりも小さく、その後に、ユーザは入力を中止してよい。これに応答して、セマンティックズームモジュール１１４は、２７．５％スナップポイントへビューを動画化させてよい。
【００４６】
更なる例では、ユーザがズームビュー（例えば、２７．５％にある）から開始し、ローエンドセマンティック閾値のパーセンテージよりも小さいパーセンテージでズームインし始め、中止する場合に、セマンティックズームモジュール１１４は、ビューをセマンティックビュー（例えば、２７．５％）へ戻させてよい。
【００４７】
更なる他の例では、ユーザがセマンティックビュー（例えば、２７．５％にある）から開始し、ローエンドセマンティック閾値のパーセンテージよりも大きいパーセンテージでズームインし始め、中止する場合に、セマンティックズームモジュール１１４は、ビューを１００％ビューへ戻させてよい。
【００４８】
スナップポイントはまた、ズーム境界として働いてよい。ユーザが、自身がそれらの境界を“通り過ぎ”ようとしていることを示す入力を供給する場合に、例えば、セマンティックズームモジュール１１４は、“オーバーズームバウンス”を表示するアニメーションを出力してよい。これは、ズームが働いていることをユーザに知らせるとともに、ユーザが境界を越えて拡大縮小することを妨げるようフィードバックを提供する働きをする。
【００４９】
加えて、１又はそれ以上の実施において、セマンティックズームモジュール１１４は、コンピュータ装置１０２が“遊休状態”となることに応答するよう構成されてよい。例えば、セマンティックズームモジュール１１４はズームモード（例えば、２７．５％ビュー）にあってよく、その間に、例えば、スクリーンセーバー、ロックスクリーン、等により、セッションは遊休状態となる。これに応答して、セマンティックズームモジュール１１４は、ズームモードを脱して、１００％ビューレベルへ戻ってよい。様々な他の例も考えられ、例えば、１又はそれ以上のジェスチャを認識するための、動きを通じて検出される速度の使用が考えられてよい。
【００５０】
［ジェスチャに基づく操作］
セマンティックズームと相互作用するために使用されるジェスチャは、様々な方法において構成されてよい。第１の例では、挙動は、ビューを“正しく”操作させる入力の検出時にサポートされる。例えば、再び図２を参照すると、ビューは、ユーザが自身の指をピンチジェスチャにおいて動かしたとの入力が検出されると直ぐに、縮小し始めてよい。更に、ズームは、“入力に従ってそれらが起こるように”ズームイン及びズームアウトするよう構成されてよい。これは、実時間のフィードバックを提供する操作に基づくジェスチャの例である。当然、逆のピンチジェスチャも入力に従うよう操作に基づいてよい。
【００５１】
上述されたように、閾値はまた、操作及び実時間出力の間にいつビューを切り替えるべきかを決定するために利用されてよい。よって、この例では、ビューは、入力において記載されるようユーザの動きが起こるとそれに従う第１のジェスチャによりズームされてよい。第２のジェスチャ（例えば、セマンティックスワップのジェスチャ）がまた定義されてよく、上述されたようなビュー間のスワップ（例えば、他のビューのクロスフェード）をトリガする閾値を伴う。
【００５２】
他の例では、ジェスチャは、ズーム及びビューのスワップさえ実行するようアニメーションとともに用いられてよい。例えば、セマンティックズームモジュール１１４は、ピンチジェスチャにおいて使用されるように前述同様にユーザの手１１０の指の動きを検出してよい。定義される動きがジェスチャの定義のために満足されると、セマンティックズームモジュール１１４は、ズームを表示させるようにアニメーションを出力してよい。よって、この例では、ズームは実時間において動きに追随しないが、ユーザが２つの技術の間の違いに気付くことが困難であるようにほぼ実時間近くでそれを行ってよい。当然、この技術はクロスフェード及びビューのスワップを引き起こすよう続けられてよい。この、他の例は、コンピュータ装置１０２のリソースを節約するための低リソースシナリオにおいて有益であり得る。
【００５３】
１又はそれ以上の実施において、セマンティックズームモジュール１１４は、入力が完了する（例えば、ユーザの手１１０の指がディスプレイ装置１０８から移動する）まで“待機”し、次いで、出力されるべき最終のビューを決定するよう上記のスナップポイントの１又はそれ以上を使用してよい。よって、アニメーションは、ズームイン及びアウトの両方のために（例えば、動きを切り替えるために）使用されてよく、セマンティックズームモジュール１１４は、対応するアニメーションの出力を引き起こしてよい。
【００５４】
［セマンティックビューインタラクション］
再び図１を参照して、セマンティックズームモジュール１１４は、セマンティックビューにある間に様々な異なるインタラクションをサポートするよう構成されてよい。更に、それらのインタラクションは“レギュラー”の１００パーセントビューとは異なるよう設定されてよいが、インタラクションが同じである他の例も考えられる。
【００５５】
例えば、タイルは、セマンティックビューから起動され得ない。しかし、タイルを選択すること（例えば、タップすること）は、ビューを、タップ位置を中心とした場所で通常ビューへズームさせてよい。他の例では、ユーザが図１のセマンティックビューにおいて飛行機のタイルをタップした場合に、セマンティックビューが通常ビューへズームインすると、飛行機のタイルは、タップを提供したユーザの手１１０の指の近くに依然としてある。加えて、“ズームバックイン”は水平方向でタップ位置に中心を置かれてよく、一方、垂直配列はグリッドの中心に基づいてよい。
【００５６】
上述されたように、セマンティックスワップはまた、カーソル制御装置によって、例えば、キーボード上の修飾子キーを押し同時にマウス上のスクロールホイールを用いること（例えば、“CTRL  +”及びスクロールホイールの動き）、“CTRL  ＋”及びトラックパッドのスクロールエッジ入力、セマンティックズームボタン１１６の選択、等によって、トリガされてよい。キーの組み合わせによるショートカットは、例えば、セマンティックビュー間を切り替えるために使用されてよい。ユーザが状態の“中間”を入力することを防ぐよう、反対方向における回転は、セマンティックズームモジュール１１４に、新しいスナップポイントへビューを動画化させてよい。しかし、同じ方向における回転は、ビュー又はズームレベルの変化を引き起こさない。ズームは、マウスの位置に中心を置いてよい。加えて、“ズームオーバーバウンス”アニメーションは、ユーザが上述されたようにズーム境界を越えてナビゲートしようとする場合にユーザフィードバックを与えるために使用されてよい。セマンティック遷移のためのアニメーションは時間に基づき、実際のスワップのためのクロスフェードが後に続く光学ズームと、最終のスナップポイントズームレベルへの続く光学ズームとを伴ってよい。
【００５７】
［セマンティックズームのセンタリング及び整列］
セマンティック“ズームアウト”が起こる場合に、ズームは、ピンチ、タップ、カーソル又はフォーカス位置、等のような入力の位置に中心を置いてよい。計算は、どのグループが入力位置に最も近いかに関して、セマンティックズームモジュール１１４によって行われてよい。次いで、このグループは、ビューが、例えば、セマンティックスワップ後のビューとなる場合に、そのズームインされたビューからの対応するセマンティックグループ項目に合わせて左寄せにしてよい。グループ分けされたグリッドビューに関し、セマンティックグループ項目はヘッダと整列してよい。
【００５８】
セマンティック“ズームイン”が起こる場合に、ズームはまた、例えば、ピンチ、タップ、カーソル又はフォーカス位置、等の入力位置に中心を置かれてよい。先と同じく、セマンティックズームモジュール１１４は、どのセマンティックグループ項目が入力位置に最も近いかを計算してよい。次いで、このセマンティックグループ項目は、ビューが、例えば、セマンティックスワップ後のビューとなる場合に、そのズームインされたビューからの対応するセマンティックグループ項目に合わせて左寄せにしてよい。グループ分けされたグリッドビューに関し、ヘッダはセマンティックグループ項目と整列してよい。
【００５９】
上述されたように、セマンティックズームモジュール１１４はまた、所望のズームレベルで表示される項目の間をナビゲートするようパニングをサポートしてよい。これの例は、ユーザの手１００の指の動きを示すよう矢印により表されている。１又はそれ以上の実施において、セマンティックズームモジュール１１４は、ビューにおける表示のためのコンテンツの表現をプリフェッチしてレンダリングしてよく、これは、ヒューリスティクスを含む様々な基準、制御の相対パン軸、等に基づいてよい。このプリフェッチはまた、異なるズームレベルに関して利用されてよく、それにより、表現は、ズームレベル、セマンティックスワップ、等を変更する入力のための準備ができている。
【００６０】
加えて、１又はそれ以上の更なる実施において、セマンティックズームモジュール１１４は、セマンティックズーム機能自体と関係があろうとなかろうとクローム（chrome）（例えば、制御の表示、ヘッダ、等）を“隠し”てよい。例えば、このセマンティックズームボタン１１６はズームの間隠されてよい。様々な他の例も考えられる。
【００６１】
［補正アニメーション］
図７は、セマンティックズームのために利用され得る補正アニメーションの実施例７００を表す。実施例は、第１、第２及び第３の段階７０２、７０４、７０６の使用を通じて表される。第１の段階７０２で、スクロール可能な項目のリストが示され、リストには名前“Adam”、“Alan”、“Anton”及び“Arthur”が含まれている。名前“Adam”はディスプレイ装置１０８の左端に表示されており、名前“Arthur”はディスプレイ装置１０８の右端に表示されている。
【００６２】
次いで、ピンチ入力が、名前“Arthur”からズームアウトするよう受け取られてよい。つまり、ユーザの手の指が、名前“Arthur”の表示の上に置かれて、一緒に動かされてよい。この場合に、これは、第２の段階７０４で示されるように、セマンティックスワップを実施するよう実行されるべきクロスフェード及びスケーリングアニメーションを引き起こしてよい。第２の段階で、文字“A”、“B”及び“C”は、入力が、例えば、“Arthur”を表示するために使用されたディスプレイ装置１０８の部分として検出される点の近くに表示される。よって、このようにして、セマンティックズームモジュール１１４は、“A”が名前“Arthur”に合わせて左寄せにされることを確かにしてよい。この段階で、入力は継続する。例えば、ユーザは手を放さない。
【００６３】
次いで、補正アニメーションは、入力が中止する、例えば、ユーザの手の指がディスプレイ装置１０８から外されると、“ディスプレイ装置１０８を満たす”ために利用されてよい。例えば、アニメーションが表示されてよく、その中で、この例では第３の段階７０６で示されるように、リストが“左へスライド”する。しかし、ユーザが手を放さず、代わりに逆ピンチジェスチャを入力する場合は、セマンティックスワップアニメーション（例えば、クロスフェード及びスケーリング）が第１の段階７０２へ戻るよう出力されてよい。
【００６４】
クロスフェード及びスケーリングアニメーションが完了する前にユーザが手を放す場合には、補正アニメーションが出力されてよい。例えば、両方の制御は平行移動されてよく、故に、“Arthur”が完全にフェードアウトする前に、名前は縮小し且つ左方向に移動するように表示され、それにより、名前は、それが左へ移動された間中、“A”と整列されたままである。
【００６５】
非タッチ入力の場合（例えば、カーソル制御装置又はキーボードの使用）に関し、セマンティックズームモジュール１１４は、あたかもユーザが手を放すかのように挙動してよく、故に、平行移動はスケーリング及びクロスフェードアニメーションと同時に開始する。
【００６６】
よって、補正アニメーションは、ビュー間の項目の整列のために使用されてよい。例えば、異なるビューにおける項目は、項目のサイズ及び位置を記述する対応する境界長方形を有してよい。セマンティックズームモジュール１１４は、その場合に、例えば、左、中心、又は右寄せされようとなかろうと、ビュー間の対応する項目がそれらの境界長方形に適合するように、ビュー間で項目を整列させる機能を利用してよい。
【００６７】
再び図７を参照して、スクロール可能な項目のリストが第１の段階７０２において表示されている。補正アニメーションによらなければ、ディスプレイ装置１０８の右側にある入力（例えば、Arthur）からのズームアウトは、この例ではディスプレイ装置１０８の左端で整列するので、第２のビューからの対応する表示、例えば、“A”に並ばない。
【００６８】
然るに、セマンティックズームモジュール１１４は、ビュー間で項目を整列するようどれくらい制御（例えば、スクロール可能な項目のリスト）を移動すべきかを記述するベクトルを返すよう構成されるプログラミングインターフェースを顕在化させてよい。よって、セマンティックズームモジュール１１４は、第２の段階７０４で示されるように“整列を保持する”よう制御を移動するために使用されてよく、解放時に、セマンティックズームモジュール１１４は、第３の段階７０６で示されるように“表示を満たし”てよい。補正アニメーションの更なる説明は、例となるプロシージャに関連して見出され得る。
【００６９】
［クロスフェードアニメーション］
図８は、セマンティックスワップの部分として使用され得るクロスフェードアニメーションが示される実施例８００を表す。この実施例８００は、第１、第２及び第３の段階８０２、８０４、８０６の使用を通じて表される。上述されたように、クロスフェードアニメーションは、ビュー間を遷移するようセマンティックスワップの部分として実施されてよい。表される実施例の第１、第２及び第３の段階８０２乃至８０６は、例えば、セマンティックスワップを開始するピンチ又は他の入力（例えば、キーボード又はカーソル制御装置）に応答して図２の第１及び第２の段階２０２、２０４に示されるビュー間を遷移するために使用されてよい。
【００７０】
第１の段階８０２で、ファイルシステムにおける項目の表現が示されている。入力は受け取られ、異なるビューの部分が、例えば、不透明度、透明度設定、等の使用を通じて、一緒に示され得る第２の段階で示されるクロスフェードアニメーション８０２を引き起こす。これは、第３の段階８０６で示される最終のビューへ遷移するために使用されてよい。
【００７１】
クロスフェードアニメーションは様々な方法において実施されてよい。例えば、閾値が使用されてよく、アニメーションの出力をトリガするために使用される。他の例では、ジェスチャは動きに基づいてよく、それにより、不透明度は実時間で入力に追随する。例えば、異なるビューに関する異なる不透明度が、入力によって表される動きの量に基づき適用されてよい。よって、動きが入力である場合に、最初のビューの不透明度は低減されてよく、最終のビューの不透明度は増大されてよい。１又はそれ以上の実施において、スナップ技術はまた、入力が中止する、例えば、ユーザの手の指がディスプレイ装置１０８から外される場合に、動きの量に基づきビューのいずれかへビューを切り替えるために使用されてよい。
【００７２】
［フォーカス］
ズームインが起こる場合に、セマンティックズームモジュール１１４は、“ズームイン”されているグループにおける第１の項目へフォーカスを適用してよい。これはまた、特定のタイムアウト後に、又はユーザがビューとのインタラクションを開始すると、フェードするよう構成されてよい。フォーカスが変更されなかった場合は、次いで、ユーザが１００パーセントのビューへズームバックインする場合に、セマンティックスワップの前にフォーカスを有した同じ項目がフォーカスを有し続ける。
【００７３】
セマンティックビューにおけるピンチジェスチャの間、フォーカスは、“ピンチング”されているグループの周りに適用されてよい。ユーザが自身の指を遷移の前に異なるグループの上に動かした場合は、フォーカスインジケータが新しいグループへと更新されてよい。
【００７４】
［セマンティックヘッダ］
図９は、セマンティックヘッダを含むセマンティックビューの実施例９００を表す。夫々のセマンティックヘッダの内容は、様々な方法において、例えば、ヘッダによって、エンドデベロッパ等によって（例えば、ＨＴＭＬを用いる。）定義されるグループのための共通の記述をリストアップするように、提供されてよい。
【００７５】
１又はそれ以上の実施において、ビュー間を遷移するために使用されるクロスフェードアニメーションは、例えば、“ズームアウト”の間、グループヘッダを伴わなくてよい。しかし、入力が中止され（例えば、ユーザが手を放し）、ビューが切り替えられると、ヘッダは表示のために“復帰して”動画化されてよい。グループ分けされたグリッドビューがセマンティックビューとスワップされている場合に、例えば、セマンティックヘッダは、グループ分けされたグリッドビューに関してエンドデベロッパによって定義された項目ヘッダを含んでよい。画像及び他の内容がまたセマンティックヘッダの部分であってよい。
【００７６】
ヘッダの選択（例えば、タップ、マウスのクリック、又はキーボードの作動）は、ビューを、タップ、ピンチ又はクリックの場所を中心としたズームにより１００％ビューへズームバックさせてよい。従って、ユーザがセマンティックビューにおけるグループヘッダをタップする場合に、グループはズームインされたビューにおいてタップ位置の近くに現れる。セマンティックヘッダの左端の位置“Ｘ”は、例えば、ズームインされたビューにおけるグループの左端の位置“Ｘ”と整列してよい。ユーザはまた、矢印キーを用いて、例えば、グループ間でフォーカスビジュアルを動かすための矢印キーを用いて、グループからグループへ移動してよい。
【００７７】
［テンプレート］
セマンティックズームモジュール１１４はまた、アプリケーションデベロッパによって利用され得る異なるレイアウトのための様々な異なるテンプレートをサポートしてよい。例えば、そのようなテンプレートを用いるユーザインターフェースの例は、図１０の実施例１０００において表されている。この例において、テンプレートは、この場合には文字及び数字であるグループの識別子とともにグリッドにおいて配置されたタイルを含む。タイルはまた、存在する場合にグループの代表である項目を含む。例えば、“a”グループに関しては飛行機であるが、“e”グループは項目を含まない。よって、ユーザは、グループにデータが投入されているかどうかを容易に決定し、セマンティックズームのこのズームレベルにおいてグループ間をナビゲートしてよい。１又はそれ以上の実施において、ヘッダ（例えば、代表項目）は、セマンティックズーム機能を利用するアプリケーションのデベロッパによって特定されてよい。よって、この例は、グループ管理タスク、例えば、複数のグループからコンテンツを選択すること、グループを再配置すること、等のための機会及びコンテンツ構造の抽象化されたビューを提供してよい。
【００７８】
他の例となるテンプレートは、図１１の実施例１１００において示されている。この例では、文字も示されており、コンテンツのグループ間をナビゲートするために使用可能であり、よってセマンティックズームにおけるレベルを提供してよい。この例における文字は、ユーザが関心のある文字、ひいては関心のあるグループを直ぐに見つけられるように、マーカ（例えば、手がかり）の役割を果たすより大きい文字を伴ってグループを形成される。このように、グループヘッダから構成されるセマンティックビジュアルが表される。これは、１００％ビューにおいて見られる“拡大された”バージョンであり得る。
【００７９】
［セマンティックズームの言語的ヘッダ］
上述されたように、セマンティックズームは、ユーザがピンチジェスチャによりそれらのコンテンツの大域的なビューを得ることを可能にするタッチ機能として実施されてよい。セマンティックズームは、異なる細かさの程度で依然として容易にアクセス可能でありながら多くの項目がより小さな領域において適合することができるように、内在するコンテンツの抽象化されたビューを作成するようセマンティックズームモジュール１１４によって実施されてよい。１又はそれ以上の実施において、セマンティックズームは、例えば、日付、最初の文字、等によって、項目をカテゴリにグループ分けするために抽象化を利用してよい。
【００８０】
最初の文字によるセマンティックズームの場合に、夫々の項目は、その表示名の最初の文字によって決定されるカテゴリに該当してよい。例えば、“Green  Bay”はグループヘッダ“G”に該当する。このグループ分けを実施するよう、セマンティックズームモジュール１１４は、次の２つのデータ点を決定する。すなわち、（１）ズームされるビューにおいてコンテンツを表すために使用されるグループ（例えば、全部のアルファベット）、及び（２）そのビューにおける夫々の項目の最初の文字。
【００８１】
英語の場合に、単純な最初の文字によるセマンティックズームビューの生成は、次のように実施されてよい：
−２８のグループが存在する
○２６のラテンアルファベット文字
○数字のための１グループ
○記号のための１グループ
しかし、他の言語は異なるアルファベットを使用し、時々文字を一緒に並べる。これは、所与の文字の最初の文字を識別するのを困難にしうる。従って、セマンティックズームモジュール１１４は、それらの異なるアルファベットに対処するために様々な技術を用いてよい。
【００８２】
中国語、日本語、及び韓国語のような東アジアの言語は、最初の文字によるグループ分けに関して問題をはらむことがある。第１に、それらの言語の夫々は漢字（ハン）文字を使用し、それらは数千の個別の文字を含む。日本語の読み書きができる話者は、例えば、少なくとも２千の個別の文字に通じており、その数は中国語の話者に関して更に多い。これは、項目のリストを考えると、あらゆる語が異なる文字から始まる可能性が高いことを意味し、従って、最初の文字を採用する実施は事実上リスト内の入力毎に新しいグループを作成することなる。更に、ユニコード・サロゲートペアが考慮されず、最初のＷＣＨＡＲのみが使用される場合は、グループ分け文字が無意味な正方形箱へ分離する場合があり得る。
【００８３】
他の例では、韓国語は、時々ハン文字を用いるが、主として母国語のハングル文字を使用する。それは音標文字であるが、１１０００及びハングル・ユニコード文字の夫々は全部で２乃至５文字の音節を表すことができ、これは“Ｊａｍｏ”と呼ばれる。東アジアにおける分類方法（日本語のＸＪＩＳを除く。）は、東アジア・アルファベットの使用者にとって直感的に分かりやすくする１９乃至２１４のグループ（音声、部首、又は画数に基づく。）にハン／ハングル文字をグループ分けするための技術を用いてよい。
【００８４】
加えて、東アジアの言語はしばしば、正方な中国語／日本語／韓国語文字と整列するよう長方形に代えて正方形である“全幅”ラテン文字を確保する。例えば、
Half  width（半値幅）
Ｆｕｌｌ  ｗｉｄｔｈ（全幅）。
【００８５】
従って、幅正規化が実行されない限り、半値幅“A”のグループの直後に全幅“Ａ”のグループが続くこととなる。しかし、ユーザは通常それらを同じ文字であると考えるので、それはそのようなユーザにとって誤りであるように見える。２つの日本語仮名アルファベット（ひらがな及びカタカナ）も同様であり、それらは一緒にソートし、不良のグループを示すことを避けるよう正規化されるべきである。
【００８６】
加えて、基本的な“最初の文字を取り出すこと”による実施の使用は、多くの欧州の言語に関して不正確な結果を与えることがある。例えば、ハンガリー語のアルファベットは次の４４文字を含む：
【外１】
【００８７】
0006038925.tif 000002
言語学的に、それらの文字の夫々は固有の分類要素である。従って、文字“D”、“Dz”及び“Dzs”を同じグループにまとめることは誤って見え、典型的なハンガリー語ユーザにとって直感的に理解できない。幾つかの更なる極端な場合において、８よりも多いＷＣＨＡＲを含む幾つかのチベット語の“単一文字”が存在する。“複数キャラクタ”文字を伴う幾つかの他の言語には、クメール語、コルシカ方言、ブルトン語、マプチェ語、ソルビア語、マオリ語、ウイグル語、アルバニア語、クロアチア語、セルビア語、チェコ語、デンマーク語、グリーンランド語、ハンガリー語、スロバキア語、スペイン語（伝統的）、ウェールズ語、ベトナム語、等がある。
【００８８】
他の例では、スウェーデン語のアルファベットは次の文字を含む：
【外２】
【００８９】
0006038925.tif 000003
“A”は、
【外３】
【００９０】
0006038925.tif 000004
とははっきりと異なる文字であり、後者の２文字はアルファベットにおける“Z”の後にくる点に留意されたい。一方、英語に関して、２つのグループが英語では一般的に望まれないことから
【外４】
【００９１】
0006038925.tif 000005
を“A”として扱うよう付加記号が除去されている。しかし、同じ論理がスウェーデン語に適用される場合は、複製の“A”グループが“Z”の後に置かれるか、又は言語が不正確に分類されるかのいずれかである。同様の状況は、ポーランド語、ハンガリー語、デンマーク語、ノルウェー語等を含む、特定のアクセント記号付き文字を別個の文字として扱う相当数の他の言語において遭遇され得る。
【００９２】
セマンティックズームモジュール１１４は、分類における使用のために様々なＡＰＩを顕在化させてよい。例えば、アルファベット及び最初の文字のＡＰＩが顕在化されてよく、それにより、デベロッパは、如何にしてセマンティックズームモジュール１１４が項目に対処するかを決定してよい。
【００９３】
セマンティックズームモジュール１１４は、例えば、オペレーティングシステムにおけるunisort.txtファイルから、アルファベット表を生成するよう実施されてよく、それにより、そのような表は、アルファベット及びグループ分けサービスを提供するために利用され得る。この特徴は、例えば、unisort.txtファイルをパースし、言語学的に一貫した表を生成するために使用されてよい。これは、参照データ（例えば、外部ソース）に対してデフォルト出力を認証することと、標準の順序づけがユーザの期待するものでない場合に臨時の例外を作成することとを伴ってよい。
【００９４】
セマンティックズームモジュール１１４は、例えば、通常ヒトが辞書や電話帳等において見るヘディングのようなロケール／ソートに基づき、アルファベットであると見なされるものを返すために使用され得るアルファベットＡＰＩを有してよい。所与の文字に関して１よりも多い表現が存在する場合は、最も一般的であると見なされる１つがセマンティックズームモジュール１１４によって使用されてよい。以下は、代表的な言語に関する幾つかの例である：
【外５】
【００９５】
0006038925.tif 000006
東アジアの言語に関して、セマンティックズームモジュール１１４は、上記のグループのリストを返してよいが、日本語は以下のように仮名グループを更に含む：
【外６】
【００９６】
0006038925.tif 000007
１又はそれ以上の実施において、セマンティックズームモジュール１１４は、しばしばラテン文字を使用するファイル名のための解決法を提供するために、非ラテンアルファベットを含む夫々のアルファベットにおいてラテン文字を含んでよい。
【００９７】
幾つかの言語は２つの文字を全く異なると考えるが、それらを一緒にソートする。この場合に、セマンティックズームモジュール１１４は、２つの文字が、例えば、ロシア語
【外７】
【００９８】
0006038925.tif 000008
に関して、作成された表示文字を用いて一緒であるとユーザに伝えてよい。現代的な用法において文字間をソートする古典的且つ珍しい文字に関し、セマンティックズームモジュール１１４はそれらの文字を従前の文字とともにグループ分けしてよい。
【００９９】
ラテン文字のような記号に関し、セマンティックズームモジュール１１４はそれらの記号を文字に従って扱ってよい。セマンティックズームモジュール１１４は、例えば、TMを“T”にグループ分けするよう、従前のセマンティクスによるグループ分けを用いてよい。
【０１００】
セマンティックズームモジュール１１４は、項目のビューを生成するようマッピング機能を用いてよい。例えば、セマンティックズームモジュール１１４は、文字を大文字、アクセント（例えば、言語が特定のアクセント記号付き文字を個別の文字として扱わない場合）、幅（例えば、全幅を半値幅のラテン語に変換）、及び仮名タイプ（例えば、日本語のカタカナをひらがなに変換）へ正規化してよい。
【０１０１】
文字のグループを単一の文字（例えば、ハンガリー語の“dzs”）を扱う言語に関し、セマンティックズームモジュール１１４は、それらをＡＰＩによって“第１文字グループ”として返してよい。それらは、例えば、文字列が文字の“範囲”内でソートするかどうかを確認するよう、ロケール毎のオーバライド表を介して処理されてよい。
【０１０２】
中国語／日本語に関し、セマンティックズームモジュール１１４は、ソートに基づき中国語の文字の論理的なグループ分けを返してよい。例えば、画数によるソートは画数ごとにグループを返し、部首によるソートは中国語文字の意味部門に関するグループを返し、音声によるソートは音読みの最初の文字によって返す、等。先と同じく、ロケール毎のオーバライド表も使用されてよい。他のソート（例えば、中国語文字の有意な順位付けを有さない非ＥＡ＋日本語ＸＪＩＳ）では、単一の‘漢’（ハン）が中国語文字の夫々に関して使用されてよい。韓国語に関し、セマンティックズームモジュール１１４は、ハングル音節における最初のＪａｍｏ文字に関するグループを返してよい。よって、セマンティックズームモジュール１１４は、ロケールの母国語における文字列に関して“アルファベット関数”と近接して並んだ文字を生成してよい。
【０１０３】
［最初の文字によるグループ分け］
アプリケーションはセマンティックズームモジュール１１４の使用をサポートするよう構成されてよい。例えば、アプリケーション１０６は、アプリケーション１０６のデベロッパによって特定される機能を含むマニフェストを有するパッケージの部分としてインストールされてよい。特定され得る１つのそのような機能は音声名称特性を含む。音声名称特性は、項目のリストのためのグループ及びグループの識別を生成するために使用されるべき音声言語を特定するために使用されてよい。よって、音声名称特性がアプリケーションに関して存在する場合は、その最初の文字がソート及びグループ分けのために使用される。そうでない場合は、セマンティックズームモジュール１１４は、例えば、第三者のレガシアプリケーションに関して、表示名の最初の文字に依存してよい。
【０１０４】
ファイル名及び第三者レガシアプリケーションのような精選されていないデータに関し、ローカライズされた文字列から最初の文字を取り出す一般的な解決法は、大部分の非東アジアに適用され得る。この解決法は、後述される、付加記号（文字に付加された補助的なグリフ）を取り去ることと、最初の目に見えるグリフを正規化することとを伴う。
【０１０５】
英語及び大部分の他の言語に関し、最初の目に見えるグリフは次のように正規化されてよい：
●大文字；
●付加記号（ソートキーがそれを考える場合に、ロケールにおける付加記号対独自文字）；
●幅（半値幅）；及び
●仮名タイプ（ひらがな）。
【０１０６】
様々な異なる技術が、付加記号を取り去るために用いられてよい。例えば、第１のそのような解決法は以下を伴う：
●ソートキーを生成する；
●付加記号が付加記号（例えば、英語における
【外８】
【０１０７】
0006038925.tif 000009
）又は文字（例えば、“Z”の後にソートするスウェーデン語における
【外９】
【０１０８】
0006038925.tif 000010
）として扱われるべきかどうかを確認しようと試みる；及び
●コードポイントを結合するようフォームＣへ変換する、
○それらを解体するフォームＤ。
【０１０９】
第２のそのような解決法は以下を伴う：
●ホワイトスペース及び非グリフをスキップする；
●次の文字境界までグリフに対してＳＨＣａｒＮｅｘｔＷを使用する（付録を参照）；
●第１のグリフに対してソートキーを生成する；
●付加記号であるかどうかを伝えるようＬＣＭａｐＳｔｒｉｎｇを見る（ソート重みを監視する）；
●フォームＤへ正規化する（ＮｏｒｍａｌｉｚｅＳｔｒｉｎｇ）；
●全ての付加記号を取り去るようＧｅｔＳｔｒｉｎｇＴｙｐｅを用いて第２のパスを実行する：
Ｃ３＿ＮｏｎＳｐａｃｅ｜Ｃ３＿Ｄｉａｃｒｉｔｉｃ；及び
●ケース、幅及び仮名タイプを取り去るようＬＣＭａｐＳｔｒｉｎｇを使用する。
【０１１０】
更なる解決法がまた、例えば、中国語及び韓国語における精選されていないデータの最初の文字によるグループ分けのために、セマンティックズームモジュール１１４によって利用されてよい。例えば、グループ分け文字“オーバーライド”表が、特定のロケール及び／又はソートキー範囲に関し適用されてよい。それらのロケールは中国語（例えば、簡体字及び繁体字）とともに韓国語を含んでよい。それはまた、特別の合字分類を有するハンガリー語のような言語を含んでよいが、そのような言語は、その言語のためのオーバライド表においてそれらの例外を使用してよい。
【０１１１】
例えば、オーバライド表は、
●最初のピンイン（簡体字中国語）；
●最初のボポモフォ文字（繁体字中国語−台湾）；
●部首名／画数（繁体字中国語−香港）；
●最初のハングルＪａｍｏ（韓国）；及び
●合字分類を有するハンガリー語のような言語（例えば、“ch”を単一文字として扱う）
のためのグループ分けを提供するために使用されてよい。
【０１１２】
中国語に関し、セマンティックズームモジュール１１４は、ピンインへ変換し、最初のピンイン文字を特定するためにソートキーに基づくルックアップを用いるように、簡体字中国語のための第１ピンイン文字によるグループ分けを行ってよい。ピンインは、ラテン語アルファベットにおいて音声学的に漢字を表すためのシステムである。繁体字中国語（例えば、台湾）に関し、セマンティックズームモジュール１１４は、ボポモフォへ変換し、最初のボポモフォ文字を特定するためにソートキーに基づくルックアップを使用することによって、部首／画数によるグループのために第１ボポモフォ文字によるグループ分けを行ってよい。ボポモフォは、繁体字中国語の音声的音節文字表のために共通の名称（例えば、ABCのような）を提供する。部首は中国語文字のための分類であり、例えば、中国語辞書におけるセクション見出しのために使用されることがある。繁体字中国語（例えば、香港）に関し、ソートキーに基づくルックアップは、ストローク文字を特定するために使用されてよい。
【０１１３】
韓国語に関し、セマンティックズームモジュール１１４は、単一の表意文字が２乃至５の表音文字を用いて表されるので、ハングル語においては音声学的に韓国語ファイル名をソートしてよい。例えば、セマンティックズームモジュール１１４は、Ｊａｍｏグループを特定するためのソートキーに基づくルックアップの使用を通じて最初のＪａｍｏ文字へ変換してよい（例えば、１９の最初の子音は１９のグループに等しい。）。Ｊａｍｏは、韓国ハングル語において使用される子音及び母音の組を指し、韓国語を書くために使用される音標文字である。
【０１１４】
日本語の場合に、ファイル名の分類は、従来の技術において破壊的な経験であり得る。中国語及び韓国語のように、日本語のファイルは、発音によってソートされるよう意図される。しかし、日本語のファイル名における漢字文字の発生は、適切な発音を知らなければソートするのを困難としうる。加えて、漢字は１よりも多い発音を有することがある。この問題を解決するために、セマンティックズームモジュール１１４は、音声名を取得するようＩＭＥを介して各ファイル名を逆変換する技術を用いてよい。音声名は次いで、ファイルをソートしグループ分けするために使用されてよい。
【０１１５】
日本語に関し、ファイルは、セマンティックズームモジュール１１４によって３つのグループに置かれてソートされてよい：
●ラテン−正確な順序においてグループ化される：
●仮名−正確な順序においてグループ化される；及び
●漢字−ＸＪＩＳ順序においてグループ化される（ユーザ展望から事実上ランダム）。
このように、セマンティックズームモジュール１１４は、直感的に理解できる識別子及びグループをコンテンツの項目へ提供するためにそれらの技術を用いてよい。
【０１１６】
［方向ヒント］
方向ヒントをユーザに提供するよう、セマンティックズームモジュール１１４は、様々な異なるアニメーションを用いてよい。例えば、ユーザが既にズームアウトされたビューにあり、更にズームアウトしようとする場合に、アンダーバウンスアニメーションがセマンティックズームモジュール１１４によって出力されてよく、そのとき、バウンスはビューのスケールダウンである。他の例では、ユーザが既にズームインされたビューにあり、更にズームインしようとする場合に、オーバーバウンスアニメーションが出力され、そのとき、バウンスはビューのスケールアップである。
【０１１７】
更に、セマンティックズームモジュール１１４は、コンテンツの“終わり”に達したことを示すよう、バウンスアニメーションのような１又はそれ以上のアニメーションを用いてよい。１又はそれ以上の実施において、このアニメーションは、コンテンツの“終わり”に制限されず、むしろ、コンテンツの表示を通じて異なるナビゲーションポイントで指定されてよい。このように、セマンティックズームモジュール１１４は、如何にして機能が実施されるのかを“認識する”アプリケーション１０６であればこの機能を利用可能にするよう、アプリケーション１０６に一般的な設計を顕在化させてよい。
【０１１８】
［セマンティックズーム可能な制御のためのインタフェースのプログラミング］
セマンティックズームは、長いリストの有効なナビゲーションを可能にすることができる。しかし、その性質により、セマンティックズームは、“ズームイン”されたビューとその“ズームアウト”された対応するビューとの間の非幾何学的なマッピングを伴う。従って、“一般的な”実施は、一方のビューマップにおけるアイテムを他方のビューマップのアイテムに如何にしてマッピングすべきかと、２つの対応する項目の視覚表現を、それらの関係をズーム中にユーザに伝えるよう如何にして整列すべきかとを決定するために専門知識が必要とされ得るので、夫々の場合に関してうまく適合され得ない。
【０１１９】
従って、この項では、セマンティックズームモジュール１１４によるセマンティックズーム制御の子ビューとしての使用を可能にするよう制御によって定義可能である複数の異なるメソッドを含むインターフェースが記載される。それらのメソッドは、セマンティックズームモジュール１１４が、制御がパンすることを可能にされる１又は複数の軸を決定し、ズームが進行中である場合に制御を通知し、ビューが１のズームレベルから他のズームレベルへ切り替わる場合に適切に自身を整列させることを可能にすることを可能にする。
【０１２０】
このインターフェースは、項目位置を記述するための共通プロトコルとして項目の境界長方形を利用するよう構成されてよい。例えば、セマンティックズームモジュール１１４は、座標系間でそれらの長方形を変換してよい。同様に、項目の考えは抽象的であり、制御によって解釈されてよい。アプリケーションはまた、１の制御から他の制御へ通される項目の表現を変換してよく、より広範な制御が“ズームイン”及び“ズームアウト”されたビューとして一緒に使用されることを可能にする。
【０１２１】
１又はそれ以上の実施において、制御は、セマンティックズーム可能であるよう“ＺｏｏｍａｂｌｅＶｉｅｗ”インターフェースを実施する。そのような制御は、インターフェースの正式の概念なしで、“ｚｏｏｍａｂｌｅＶｉｅｗ”と名付けられた単一の公共資産の形で、動的型付き言語（dynamically-typed  language）において実施されてよい。資産は、複数のメソッドが付随する対象に対して評価されてよい。通常“インターフェース”と見なされるものがそれらのメソッドであり、Ｃ＋＋又はＣ＃のような静的型付き言語（statically-typed  language）では、それらのメソッドは、公共の“ｚｏｏｍａｂｌｅＶｉｅｗ”資産を実施しない“ＩＺｏｏｍａｂｌｅＶｉｅｗ”インターフェースのダイレクトメンバーである。
【０１２２】
以下の説明で、“ソース”制御は、ズームが開始される場合に現在見ることができる制御であり、“ターゲット”制御は、他の制御である（ズームは、ユーザがズームをキャンセルする場合に、可視的なソース制御で最終的に終わってよい。）。メソッドは、Ｃ＃のような擬似コード表記法用いて次のとおりである。
【０１２３】
［Axis  getPanAxis()］
このメソッドは、セマンティックズームが開始される場合に両方の（both）制御において呼び出されてよく、制御の軸が変化するときはいつでも呼び出されてよい。このメソッドは、動的型付き言語、他の言語における列挙型のメンバー、等における文字列として構成され得る“horizontal”、“vertical”、“both”又は“none”のいずれかを返す。
【０１２４】
セマンティックズームモジュール１１４は、様々な目的のためにこの情報を使用してよい。例えば、両方の制御が所与の軸に沿ってパンすることができない場合は、セマンティックズームモジュール１１４は、スケーリング変換の中心がその軸に沿って中心を置かれるようにすることで、その軸を“ロック”してよい。２つの制御が水平パニングに制限される場合は、例えば、スケール中心のＹ座標は、視点の上下間の中間に設定されてよい。他の例では、セマンティックズームモジュール１１４は、ズーム操作の間に有限なパニングを可能にするが、それを、両方の制御によってサポートされる軸に制限してよい。これは、夫々の子制御によって予めレンダリングされるようコンテンツの量を制限するために利用されてよい。従って、このメソッドは“configureForZoom”と呼ばれることがあり、更に以下で記載される。
【０１２５】
［void  configureForZoom(bool  isZoomedOut,bool  isCurrentView,function  triggerZoom(),Number  prefetchedPages)］
上述されたように、このメソッドは、セマンティックズームが開始される場合に両方の（both）制御において呼び出されてよく、制御の軸が変化するときはいつでも呼び出されてよい。これは、ズーム挙動を実施する場合に使用され得る情報を子制御に提供する。以下は、このメソッドの特徴の幾つかである：
−isZoomedOutは、２つのビューのいずれであるかを子制御に知らせるために使用されてよい；
−isCurrentViewは、最初に可視的なビューであるかどうかを子制御に知らせるために使用されてよい；
−triggerZoomは、子制御が他のビューへ切り替えるために呼び出すことができるコールバック関数である。なお、現在可視的なビューでない場合は、この関数の呼出は有効でない；及び
−prefetchedPagesは、どれくらいのオフスクリーンコンテンツをズーム中に提示する必要があるかを制御に伝える。
【０１２６】
最後のパラメータに関して、“ズームイン”された制御は、“ズームアウト”遷移の間目に見えて小さくなり、通常のインタラクションの間に見ることができるより多くの内容を示す。“ズームアウト”されたビューでさえ、“ズームアウト”されたビューから更にズームアウトしようと試みることによってユーザが“バウンス”アニメーションを引き起こす場合に、通常よりも多くの内容を示してよい。セマンティックズームモジュール１１４は、コンピュータ装置１０２のりソースの効率的な使用を促進するよう、夫々の制御によって用意されるべきコンテンツの異なる量を計算してよい。
【０１２７】
［void  setCurrentItem(Number  x,Number  y)］
このメソッドは、ズーム開始時にソース制御において呼び出されてよい。ユーザは、上述されたキーボード、マウス及びタッチを含む様々な入力装置を用いて、セマンティックズームモジュール１１４にビュー間を遷移させることができる。マウス及びタッチの場合に、マウスカーソル又はタッチ点のオンスクリーン座標は、どの項目が、例えば、ディスプレイ装置１０８上の位置“から”ズームされるべきかどうかを決定する。キーボード動作は先在する“現在の項目”に依存しうるので、入力メカニズムは、先在したか又は先の時点で設定されたかにかかわらず、最初に設定された位置に依存する項目を現在の項目とし、次いで“現在の項目”に関する情報を要求することによって、一元管理されてよい。
【０１２８】
［void  beginZoom()］
このメソッドは、視覚的なズーム遷移がまさに開始しようとしている場合に両方の制御において呼び出されてよい。これは、ズーム遷移がまさに開始しようとしていることを制御に知らせる。セマンティックズームモジュール１１４によって実施される制御は、スケーリングの間そのＵＩの部分（例えば、スクロールバー）を隠し、制御が拡大縮小される場合でさえ十分なコンテンツがビューポートを満たすようにレンダリングされることを確かにするよう構成されてよい。上述されたように、configureForZoomのprefetchedPagesパラメータは、どれくらい望まれるのかを制御に知らせるために使用されてよい。
【０１２９】
［Promise<{item:AnyType,position:Rectangle}>getCurrentItem()］
このメソッドは、beginZoom直後にソース制御において呼び出されてよい。これに応答して、２つの情報片が現在の項目に関して返されてよい。それらは、それの抽象記述（例えば、動的型付き言語において、これは何らかのタイプの変数であってよい。）と、ビューポート座標におけるその境界長方形とを含む。Ｃ＋＋又はＣ＃のような静的型付き言語では、ストラクト又はクラスが返されてよい。動的型付き言語では、オブジェクトが“項目（item）”及び“位置（position）”と名付けられた特性とともに返されてよい。それは実際には、返されるそれらの２つの情報片のための“プロミス（Promise）”である点に留意されたい。これは動的型付き言語の約束事であるが、他の言語において同じ約束事が存在する。
【０１３０】
［Promise<{x:Number,y:Number}>positionItem(AnyType  item,Rectangle  position)］
このメソッドは、ソース制御におけるgetCurrentItemへの呼出が完了すると、且つ返されたPromiseが完了すると、ターゲット制御において呼び出されてよい。項目及び位置の各パラメータは、たとえ位置長方形がターゲット制御の座標空間に変換されるとしても、getCurrentItemへの呼出から返されるパラメータである。制御は異なるスケールでレンダリングされる。項目は、アプリケーションによって提供されるマッピング関数によって変換されているが、デフォルトによって、それは、getCurrentItemから返される同じ項目である。
【０１３１】
所与の項目パラメータに対応する“ターゲット制御”を所与の位置長方形と整列させるようそのビューを変えることは、ターゲット制御次第である。制御は、例えば、２つの項目を左寄せにし、２つの項目を中央寄せにし、等、様々な方法において整列してよい。制御はまた、項目を整列させるようそのスクロールオフセットを変更してよい。幾つかの場合に、制御は、例えば、ビューの終わりへのスクロールがターゲット項目を適切に位置づけるのに十分でない場合に、項目を正確に整列させることができないことがある。
【０１３２】
返されるｘ，ｙ座標は、どれくらい制御が整列目標に及ばないかを特定するベクトルとして設定されてよい。例えば、０，０の結果は、整列が成功した場合に送信されてよい。このベクトルが非零である場合は、セマンティックズームモジュール１１４は、整列を確かにするようターゲット制御全体をこの量だけ移動させて、上記の補正アニメーションの項に関連して記載されたように適切な時点でそれを元の位置へ動画化してよい。ターゲット制御はまた、その“現在の項目”をターゲット項目、例えば、getCurrentItemへの呼出から戻るものへ設定してよい。
【０１３３】
［void  endZoom(bool  isCurrentView，bool  setFocus)］
このメソッドは、ズーム遷移の終わりに両方の制御において呼び出されてよい。セマンティックズームモジュール１１４は、beginZoomにおいて実行されたものと反対である動作を実行してよく、例えば、通常のＵＩを再び表示し、且つ、メモリリソースを節約するよう目下オフスクリーンである描画コンテンツを廃棄してよい。メソッド“isCurrentView”は、どちらの結果もズーム遷移後に可能であるから、現在可視的なビューであるかどうかを制御に伝えるために使用されてよい。メソッド“setFocus”は、その現在の項目に対するフォーカスが設定されるべきであるかどうかを制御に伝える。
【０１３４】
［void  handlePointer(Number  pointerID)］
このメソッドは、ポインタイベントへのリスニングを行い、扱うべき内在する制御へのポインタを残すべき場合にセマンティックズームモジュール１１４によって呼び出されてよい。制御へ送られるパラメータは、依然として下に向かうポインタのpointerIDである。１つのＩＤはhandlePointer()を通じて送られる。
【０１３５】
１又はそれ以上の実施において、制御はそのポインタにより“何をすべきか”を決定する。リストビューの場合に、セマンティックズームモジュール１１４は、ポインタが“タッチダウン”においてどこに接したかの経過を追ってよい。“タッチダウン”が項目上にあった場合に、セマンティックズームモジュール１１４は、“MsSetPointerCapture”が既にタッチされた項目においてMSPointerDownイベントに応答して呼び出されているので、動作を実行しない。項目が押されない場合は、セマンティックズームモジュール１１４は、独立した操作を始動するようリストビューのビューポート範囲においてMsSetPointerCaptureを呼び出してよい。
【０１３６】
このメソッドを実施するためにセマンティックズームモジュール１１４によって従われ得るガイドラインは以下を含んでよい：
●独立した操作を可能にするようビューポート範囲においてMsSetPointerCaptureを呼び出す；及び
●独立した操作を開始せずにタッチイベントに対する処理を実行するよう、それに設定されたスクロールに等しいオーバーフローを有さない要素においてMsSetPointerCaptureを呼び出す。
【０１３７】
［例となるプロシージャ］
以下の説明は、上記のシステム及び装置を利用して実施され得るセマンティックズーム技術を記載する。プロシージャの夫々の態様は、ハードウェア、ファームウェア、若しくはソフトウェア、又はそれらの組み合わせにおいて実施されてよい。プロシージャは、１又はそれ以上の装置によって実行される動作を特定するブロックの組として示され、必ずしも、夫々のブロックによって動作を実行するために示された順序に制限されない。以下の説明の部分において、図１の環境１００及び図２乃至９の実施２００乃至９００が夫々参照される。
【０１３８】
図１２は、オペレーティングシステムがセマンティックズーム機能をアプリケーションに顕在化させる実施例におけるプロシージャ１２００を表す。セマンティックズーム機能は、コンピュータ装置の少なくとも１つのアプリケーションへオペレーティングシステムによって顕在化される（ブロック１２０２）。例えば、図１のセマンティックズームモジュール１１４は、この機能をアプリケーション１０６へ顕在化させるようコンピュータ装置１０２のオペレーティングシステムの部分として実施されてよい。
【０１３９】
アプリケーションによって特定されたコンテンツは、ユーザインターフェースにおいてコンテンツの異なる表現を表示するようズーム入力の少なくとも１つの閾値に対応するセマンティックスワップをサポートするためにセマンティックズーム機能によってマッピングされる（ブロック１２０４）。上述されたように、セマンティックスワップは、ジェスチャ、マウスの使用、キーボード、ショートカット、等のような様々な方法において開始されてよい。セマンティックスワップは、如何にしてユーザインターフェースにおけるコンテンツの表現がコンテンツを記述するかを変更するために使用されてよい。この変更及び記述は、上述されたような様々な方法において実行されてよい。
【０１４０】
図１３は、閾値がセマンティックスワップをトリガするために利用される実施例におけるプロシージャ１３００を表す。入力は、ユーザインターフェースにおいて表示されるコンテンツの表現の第１のビューをズームするよう検出される（ブロック１３０２）。上述されたように、入力は、ジェスチャ（例えば、プッシュ又はピンチジェスチャ）、マウス入力（例えば、キーの選択及びスクロールホイールの移動）、キーボード入力、等のような様々な形態をとってよい。
【０１４１】
入力がセマンティックズーム閾値に達していないとの決定に応答して、サイズが変更され、そのサイズでコンテンツの表現が第１のビューにおいて表示される（ブロック１３０４）。入力は、例えば、図２の第２及び第３の段階２０４，２０６の間に示されるようにズームレベルを変えるために使用されてよい。
【０１４２】
入力がセマンティックズーム閾値に達したとの決定に応答して、セマンティックスワップは、ユーザインターフェースにおいて別なふうにコンテンツを記述する第２のビューによりコンテンツの表現の第１のビューを置換するよう実行される（ブロック１３０６）。前述の例を続けて、入力はセマンティックスワップを引き起こし続けてよく、これは様々な方法においてコンテンツを表すために使用されてよい。このようにして、単一の入力がコンテンツのビューをズームし且つスワップするために利用されてよく、それの様々な例
は上述された。
【０１４３】
図１４は、操作に基づくジェスチャがセマンティックズームをサポートするために利用される実施例におけるプロシージャ１４００を表す。入力は、動きを示すと認識される（ブロック１４０２）。コンピュータ装置１０２のディスプレイ装置１０８は、例えば、ユーザの１又はそれ以上の手１１０の指の近接を検出するタッチスクリーン機能（例えば、容量性タッチスクリーンを含み、撮像技術（ＩＲセンサ、深度検知カメラ）を使用する、等。）を有してよい。この機能は、指又は他の項目の動き、例えば、互いへ向かう又は互いから離れる動きを検出するために使用されてよい。
【０１４４】
ズームジェスチャは、認識される入力に従うようにユーザインターフェースの表示をズームするよう動作を実行させるために、認識される入力から特定される（ブロック１４０４）。上記のジェスチャに基づく操作の項に関連して上述されたように、セマンティックズームモジュール１１４は、セマンティックズームを含む操作に基づく技術を用いるよう構成されてよい。この例では、この操作は、例えば、入力が受け取られる“実時間”において、入力（例えば、ユーザの手１１０の指の動き）に従うよう構成される。これは、例えば、コンピュータ装置１０２のファイルシステムにおけるコンテンツの表現を見るために、ユーザインターフェースの表示をズームイン又はズームアウトするよう実行されてよい。
【０１４５】
セマンティックスワップジェスチャは、動作に、ユーザインターフェースにおいて別なふうにコンテンツを記述する第２のビューによりユーザインターフェースにおけるコンテンツの表現の第１のビューを置換させるよう、入力から特定される（ブロック１４０６）。図２乃至６に関連して記載されたように、閾値は、この場合にはセマンティックスワップジェスチャを定義するために利用されてよい。前述の例を続けると、ユーザインターフェースをズームするために使用される入力が継続してよい。閾値が横断されると、セマンティックスワップジェスチャは、ズームのために使用されるビューが他のビューと交換されるように特定されてよい。よって、この例におけるジェスチャは操作に基づく。アニメーション技術がまた利用されてよく、それの更なる説明は後続の図面に関連して見出され得る。
【０１４６】
図１５は、ジェスチャ及びアニメーションがセマンティックズームをサポートするために使用される実施例におけるプロシージャ１５００を表す。ズームジェスチャは、動きを記述すると認識される入力から特定される（ブロック１５０２）。セマンティックズームモジュール１１４は、例えば、ズームジェスチャのための定義が、例えば、定義された距離にわたるユーザの指の動きに応じていると検出してよい。
【０１４７】
ズームアニメーションはズームジェスチャの特定に応答して表示され、ズームアニメーションはユーザインターフェースの表示をズームするよう構成される（ブロック１５０４）。前述の例を続けると、ピンチ又は逆ピンチ（すなわち、プッシュ）ジェスチャが特定されてよい。セマンティックズームモジュール１１４は次いで、ジェスチャに従うアニメーションを出力してよい。例えば、セマンティックズームモジュール１１４は、異なるスナップポイントに関してアニメーションを定義し、アニメーションをそれらのポイントに対応するように出力してよい。
【０１４８】
セマンティックスワップジェスチャは、動きを記述すると認識される入力から特定される（ブロック１５０６）。先と同じく前述の例を続けると、ユーザの手１１０の指は、上記のピンチ又は逆ピンチジェスチャのためのセマンティックスワップジェスチャのような他のジェスチャが特定されるように動き続けてよい。セマンティックスワップアニメーションはセマンティックスワップジェスチャの特定に応答して表示され、セマンティックスワップアニメーションは、ユーザインターフェースにおけるコンテンツの第２のビューによりユーザインターフェースにおけるコンテンツの表現の第１のビューを置換するよう構成される（ブロック１５０８）。このセマンティックスワップは、上述されたような様々な方法において実行されてよい。更に、セマンティックズームモジュール１１４は、ジェスチャが中止される、例えば、ユーザの手１１０の指がディスプレイ装置１０８から放される場合に対処するようスナップ機能を組み込んでよい。様々な他の例も、その精神及び適用範囲から逸脱することなしに考えられる。
【０１４９】
図１６は、ベクトルがスクロール可能な項目のリストを移動するよう計算され且つ補正アニメーションがリストの移動を解除するために使用される実施例におけるプロシージャ１６００を表す。スクロール可能な項目の第１のリストを含む第１のビューがディスプレイ装置１０８でユーザインターフェースにおいて表示される（ブロック１６０２）。第１のビューは、例えば、ユーザの名前、コンピュータ装置１０２のファイルシステムにおけるファイル、等を含むコンテンツの表現のリストを含んでよい。
【０１５０】
入力は、スクロール可能な項目の第２のリストを含む第２のビューにより第１のビューを置換するよう認識され、その場合に、第２のリストにおける項目の中の少なくとも１つは第１のリストにおける項目のグループに相当する（ブロック１６０４）。入力は、例えば、ジェスチャ（例えば、ピンチ又は逆ピンチ）、キーボード入力、カーソル制御装置によって供給される入力、等であってよい。
【０１５１】
ベクトルは、第２のリストにおける項目の中の少なくとも１つがディスプレイ装置１０８によって表示される第１のリストにおける項目のグループと整列されるように、スクロール可能な項目の第２のリストを移動させるよう計算される（ブロック１６０６）。表示される第１のビューは、第２のリストにおける項目の中の少なくとも１つが、第１のリストにおける項目のグループが表示されたディスプレイ装置１０８での位置と整列されるように、計算されたベクトルを用いてディスプレイ装置１０８において第２のビューによって置換される（ブロック１６０８）。図７に関連して記載されたように、例えば、第２の段階７０４において示されるリストは、移動されない場合に、対応するグループの識別子（例えば、“A”から始める名前のための“A”）がディスプレイ装置１０８の左端に表示されるようにし、従って整列しない。しかし、ベクトルは、第１及び第２のビューにおける項目、例えば、名前“Arthur”に関してディスプレイ装置１０８上の位置で受け取られる入力、及び“A”に関する項目のグループの表現が第２の段階７０４において表示される位置、が整列にするように計算されてよい。
【０１５２】
次いで、第２のビューは、入力の供給が止まったとの決定に応答して、計算されたベクトルによらずに表示される（ブロック１６１０）。補正アニメーションは、例えば、ベクトルの影響を解除し、さもなければ表示されたであろうようにリストを移動させるよう構成されてよく、それの例は図７の第３の段階７０６で示される。様々な他の例もその精神及び適用範囲から逸脱することなしに考えられる。
【０１５３】
図１７は、クロスフェードアニメーションがセマンティックスワップの部分として利用される実施例におけるプロシージャ１７００を表す。入力は、動きを記述すると認識される（ブロック１７０２）。上述されたように、様々な入力が認識されてよく、例えば、キーボード、カーソル制御装置（例えば、マウス）、及びディスプレイ装置１０８のタッチスクリーン機能によるジェスチャ入力がある。
【０１５４】
セマンティックスワップジェスチャは、動作に、ユーザインターフェースにおいて別なふうにコンテンツを記述する第２のビューによりユーザインターフェースにおけるコンテンツの表現の第１のリストを置換させるよう、入力から特定される（ブロック１７０４）。セマンティックスワップは、異なる配置、メタデータ、グループ分けの表現、等を伴うといったように、様々な異なるビュー間の変化を伴ってよい。
【０１５５】
クロスフェードアニメーションは、一緒に表示されるべき第１及び第２のビューの異なる量を伴って第１及び第２のビュー間を遷移する動作の部分として表示され、それらの量は少なくとも部分的に、入力によって示される動きに基づく（ブロック１７０６）。例えば、この技術は、両方のビューが互いを通して同時に表示され得るように不透明度を利用してよい。他の例では、クロスフェードは、一方のビューを他方により置き換えること、例えば、他方に代えて一方を移動することを伴ってよい。
【０１５６】
加えて、量は動きに基づいてよい。例えば、第２のビューの不透明度は、動き量が増大するにつれて増大してよく、一方、第１のビューの不透明度は、動きの量が増大するにつれて低減されてよい。当然、この例は反対にされてもよく、それにより、ユーザはビュー間のナビゲーションを制御してよい。加えて、表示は実時間において応答してよい。
【０１５７】
入力の供給が止まったとの決定に応答して、第１又は第２のビューのいずれか一方が表示される（ブロック１７０８）。ユーザは、例えば、ディスプレイ装置１０８からのコンタクトを解除してよい。セマンティックズームモジュール１１４は次いで、動きの量に基づき、例えば、閾値を用いることによって、どのビューを表示すべきかを選択してよい。様々な他の例も、例えば、キーボード及びカーソル制御装置の入力に関して、考えられる。
【０１５８】
図１８は、セマンティックズームのためのプログラミングインターフェースを伴う実施例におけるプロシージャ１８００を表す。プログラミングインターフェースは、セマンティックズームにおける複数のビューの１つとして制御の使用を可能にするよう定義可能である１又はそれ以上のメソッドを有するように顕在化される（ブロック１８０２）。ビューは、ユーザ入力に応答して複数のビュー間を切り替えるためのセマンティックスワップ動作を含むセマンティックズームにおける使用のために構成される（ブロック１８０４）。
【０１５９】
上述されたように、インターフェースは様々な異なるメソッドを含んでよい。動的型付き言語に関し、インターフェースは、メソッドを有するオブジェクトに対して評価する単一の特性として実施されてよい。他の実施も上述されたように考えられる。
【０１６０】
様々な異なるメソッドが上述されたように実施されてよい。第１のそのような例はパニングアクセスを伴う。例えば、セマンティックズームモジュール１１４は、子制御に代わってスクロールの処理を引き継いでよい。よって、セマンティックズームモジュール１１４は、子制御がそのようなスクロールを実施するために使用すべき自由度を決定してよく、子制御は回答としてhorizontal（水平）、vertical（垂直）、none（なし）、又はboth（両方）を返してよい。これは、両方の制御（及びそれらの対応するビュー）が同じ方向においてパニングを可能にするかどうかを決定するためにセマンティックズームモジュール１１４によって使用されてよい。そうでない場合に、パニングはサポートされず、セマンティックズームモジュール１１４は“オフスクリーン”であるコンテンツをプリフェッチしない。
【０１６１】
他のそのようなメソッドは、２つの制御が同じ方向におけるパニングであるかどうかが決定された後、初期化を完了するために使用され得る“ズームの設定”（configureForZoom）である。このメソッドは、“ズームイン”又は“ズームアウト”されたビューであるかどうかを制御の夫々に知らせるために使用されてよい。それが現在のビューである場合は、これは、時間にわたって保持され得る状態の一部である。
【０１６２】
更なるそのようなメソッドは“プリフェッチ”（pre-fetch）である。このメソッドは、２つの制御が同じ方向においてパンするよう制御される場合に使用されてよく、それにより、セマンティックズームモジュール１１４はそれらのパニングを実行してよい。プリフェッチすべき量は、ユーザがトリミングされた制御及び他の不完全な項目を見ることを避けるようパン又はズームする場合にコンテンツが使用のために利用可能である（レンダリングされる）ように構成されてよい。
【０１６３】
次の例は、パンアクセス、ズームの設定（configureForZoom）、及び現在項目の設定（setCurrentItem）を含む“セットアップ”メソッドを考慮され得るメソッドを伴う。上述されたように、パンアクセスは、制御軸が変化するときはいつでも呼び出されてよく、“horizontal”、“vertical”、“both”又は“none”を返してよい。ズームの設定は、ズーム挙動を実施する場合に使用され得る情報を子制御に提供するために使用され得る。現在項目の設定は、名称が示すように、上述されたようにどの項目が“現在”であるかを特定するために使用されてよい。
【０１６４】
プログラミングインターフェースにおいて顕在化される他のメソッドは現在項目の取得（getCurrentItem）である。このメソッドは、項目の不透明な表現及びその項目の境界長方形を返すよう構成されてよい。
【０１６５】
インターフェースによってサポートされ得る更なる他のメソッドはズームの開始（beginZoom）である。このメソッドへの呼出に応答して、制御は、ズーム動作の間“見栄えの悪い”そのＵＩの部分、例えば、スクロールバーを隠してよい。他の応答は、例えば、縮小時に表示されるべきより大きい長方形がセマンティックズームビューポートを満たし続けることを確かにするよう、レンダリングの拡張を伴ってよい。
【０１６６】
ズームの終了（endZoom）もサポートされてよく、これは、クロップを実行し、ズームの開始において除去されたスクロールバーのようなＵＩ要素を返すように、ズームの開始において起こったことの反対を伴う。これはまた、ビューが現在可視的であるかどうかを制御に知らせるために使用され得る“isCurrentView”と呼ばれるブール関数をサポートしてよい。
【０１６７】
位置項目（positionItem）は、２つのパラメータを伴うメソッドである。１つは、項目の不透明な表現であり、他は、境界長方形である。それらは両方とも、“getCurrentItem”と呼ばれる他のメソッドから返された項目の不透明な表現及び境界長方形に関する。なお、それらは、それら両方に発生する変換を含むよう構成されてよい。
【０１６８】
例えば、ズームインされた制御のビューが表示され、現在の項目がリスト内のスクロール可能な項目のリストにおける第１の項目であるとする。ズームアウト遷移を実行するよう、表現は、ズームインされた制御に対応する制御からの第１の項目の要求であり、その応答はその項目に係る境界長方形である。次いで、長方形は他の制御の座標系に投影されてよい。これを行うよう、他のビューにおけるどの境界長方形がこの境界長方形と整列されるべきかに関して決定がなされてよい。制御は次いで、如何にして長方形を整列すべきか、例えば、左、中央、右、等を決定してよい。様々な他のメソッドも上述されたようにサポートされてよい。
【０１６９】
［例となるシステム及び装置］
図１９は、図１を参照して記載されるコンピュータ装置１０２を含む例となるシステム１９００を表す。例となるシステム１９００は、パーソナルコンピュータ（ＰＣ）、テレビ受像器、及び／又はモバイル機器でアプリケーションを実行するときにシームレスなユーザ経験のためのユビキタス環境を可能にする。サービス及びアプリケーションは、アプリケーションを利用している、ビデオゲームをプレイしている、ビデオを見ている、等の間に１の装置から次の装置へ移る場合に、共通のユーザ経験のために、３つ全ての環境において実質的に同じに実行される。
【０１７０】
例となるシステム１９００では、複数の装置が中央のコンピュータ装置を通じて相互接続されている。中央のコンピュータ装置は、複数の装置にとって局所的であってよく、又は複数の装置から離れて配置されてよい。一実施形態において、中央のコンピュータ装置は、ネットワーク、インターネット、又は他のデータ通信リンクを介して複数の装置へ接続されている１又はそれ以上のサーバコンピュータのクラウドであってよい。一実施形態において、この相互接続アーキテクチャは、複数の装置のユーザへ共通した且つシームレスな経験を与えるよう複数の装置にわたって提供される機能を可能にする。複数の装置の夫々は、異なる物理的な要件及び能力を有してよく、中央のコンピュータ装置は、各装置に合わせられていながら全ての装置に共通である経験を各装置へ提供することを可能にするプラットフォームを用いる。一実施形態において、対象の装置の分類が作成され、経験は一般的な分類の装置に合わせられる。装置の分類は、物理的な特徴、使用のタイプ、又は装置の他の共通した特性によって定義されてよい。
【０１７１】
様々な実施において、コンピュータ装置１０２は、例えばコンピュータ１９０２、モバイル１９０４、及びテレビジョン１９０６等の使用のために、様々な異なる構成を前提としてよい。それらの構成の夫々は、概して異なる構造及び機能を有する装置を含み、よって、コンピュータ装置１０２は、異なる装置分類の１又はそれ以上に従って構成されてよい。例えば、コンピュータ装置１０２は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック、等を含む装置のコンピュータ１９０２分類として実施されてよい。
【０１７２】
コンピュータ装置１０２はまた、携帯電話、携帯型音楽プレーヤ、携帯型ゲーム機、タブレット型コンピュータ、マルチスクリーンコンピュータ、等のモバイル機器を含む装置のモバイル１９０２分類として実施されてよい。コンピュータ装置１０２はまた、臨時の視聴環境において概してより大きいスクリーンを有するか又はそのようなスクリーンへ接続される装置を含む装置のテレビジョン１９０６分類として実施されてよい。かかる装置は、テレビジョン、セットトップボックス、ゲーム機、等を含む。ここで記載される技術は、コンピュータ装置１０２のそれらの様々な構成によってサポートされてよく、ここで記載される具体例としての技術に制限されない。これは、コンピュータ装置１０２におけるセマンティックズームモジュール１１４の包含により表され、その実施はまた、以下で記載される“クラウド上”で全体として又は部分的に（例えば、分配される。）達成されてよい。
【０１７３】
クラウド１９０８は、コンテンツサービス１９１２のためのプラットフォーム１９１０を含み、且つ／あるいは、それを代表する。プラットフォーム１９１０は、クラウド１９０８のハードウェア（例えば、サーバ）及びソフトウェアのリソースの内在する機能を抽出する。コンテンツサービス１９１２は、コンピュータ処理がコンピュータ装置１０２から離れたサーバで実行される間に利用され得るアプリケーション及びデータを含んでよい。コンテンツサービス１９１２は、セルラー又はＷｉ−Ｆｉネットワークのようなサブスクライバネットワークを通じて及び／又はインターネットを介してサービスとして提供され得る。
【０１７４】
プラットフォーム１９１０は、コンピュータ装置１０２を他のコンピュータ装置と接続するリソース及び機能を抽出してよい。プラットフォーム１９１０はまた、プラットフォーム１９１０を介して実施されるコンテンツサービス１９１２について直面される要求に対して対応するレベルのスケールを提供するリソースのスケーリングを抽出する働きをしてよい。然るに、相互接続装置環境において、ここで記載される機能の実施は、システム１９００の全体にわたって分配されてよい。例えば、機能は、クラウド１９０８の機能を抽出するプラットフォーム１９１０を介するとともに、コンピュータ装置１０２において部分的に実施されてよい。
【０１７５】
図２０は、ここで記載されるジェスチャ技術の実施形態を実施するよう図１乃至１１及び１９を参照して記載された如何なるタイプのコンピュータ装置としても実施され得る例となる装置２０００の様々な構成要素を表す。装置２０００は、装置データ２００４（例えば、受信されたデータ、受信されているデータ、送信を予定されているデータ、データのデータパケット、等）の有線及び／又は無線通信を可能にする通信装置２００２を有する。装置データ２００４又は他の装置コンテンツは、装置のコンフィグレーション設定、装置に記憶されるメディアコンテンツ、及び／又は装置のユーザに関連する情報を含むことができる。装置２０００に記憶されるメディアコンテンツは、如何なるタイプのオーディオ、ビデオ、及び／又は画像データも含むことができる。装置２０００は、１又はそれ以上のデータ入力部２００６を有し、それらを介して、如何なるタイプのデータ、メディアコンテンツ、及び／又は入力も受信され得る。例えば、ユーザ選択可能な入力、メッセージ、音楽、テレビジョンメディアコンテンツ、録画されたビデオコンテンツ、並びにあらゆる他のタイプのオーディオ、ビデオ、及び／又は画像データが、如何なるコンテンツ及び／又はデータ源からも受信される。
【０１７６】
装置２０００はまた、シリアル及び／又はパラレルインターフェース、無線インターフェース、あらゆるタイプのネットワークインターフェース、モデム、並びにあらゆる他のタイプの通信インターフェースとしても実施され得る通信インターフェース２００８を有する。通信インターフェース２００８は、装置２０００と通信ネットワークとの間の接続及び／又は通信リンクを提供し、それによって、他の電子、コンピュータ、及び通信装置が装置２０００とデータをやり取りする。
【０１７７】
装置２０００は、装置２０００の動作を制御し且つここで記載される技術の実施形態を実施するよう様々なコンピュータ実行可能な又は読出可能な命令を処理する１又はそれ以上のプロセッサ２０１０（例えば、マイクロプロセッサ、コントローラ、等の何れか）を有する。代替的に、又は追加的に、装置２０００は、全体として２０１２で特定される処理及び制御回路に関連して実施されるハードウェア、ファームウェア、又は固定ロジック回路のいずれか１つ又は組み合わせにより実施され得る。図示されていないが、装置２０００は、装置内の様々な構成要素を結合するシステムバス又はデータ伝送システムを有することができる。システムバスは、様々なバスアーキテクチャの何れかを利用するメモリバス若しくはメモリコントローラ、ペリフェラルバス、ユニバーサルシリアルバス、及び／又はプロセッサ若しくはローカルバスのような、異なるバス構造の何れか１つ又は組み合わせを有することができる。
【０１７８】
装置２０００はまた、１又はそれ以上のメモリコンポーネントのようなコンピュータ可読媒体２０１４を有する。その例は、ランダムアクセスメモリ（ＲＡＭ）、不揮発性メモリ（例えば、読出専用メモリ（ＲＯＭ）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、等のいずれか１つ又はそれ以上）、及びディスク記憶装置を含む。ディスク記憶装置は、ハードディスクドライブ、書込可能及び／又は書換可能コンパクトディスク（ＣＤ）、あらゆるタイプのデジタルバーサタイルディスク（ＤＶＤ）、等のような如何なるタイプの磁気若しくは光学記憶装置としても実施されてよい。装置２０００はまた、大容量記憶媒体装置２０１６を有することができる。
【０１７９】
コンピュータ可読媒体２０１４は、様々な装置アプリケーション２０１８並びに装置２０００の動作態様に関連するあらゆる他のタイプの情報及び／又はデータとともに、装置データ２００４を記憶するよう、データ記憶メカニズムを提供する。例えば、オペレーティングシステム２０２０は、コンピュータ可読媒体２０１４によりコンピュータアプリケーションとして保持され、プロセッサ２０１０で実行され得る。装置アプリケーション２０１８は、装置マネージャ（例えば、制御アプリケーション、ソフトウェアアプリケーション、信号処理及び制御モジュール、特定の装置に固有であるコード、特定の装置のためのハードウェア抽象レイヤ、等）を有することができる。装置アプリケーション２０１８はまた、ここで記載される技術の実施形態を実施するよう、如何なるシステムコンポーネント又はモジュールも有する。この例では、装置アプリケーション２０１８は、ソフトウェアモジュール及び／又はコンピュータアプリケーションとして示されるインターフェースアプリケーション２０２２及び入出力モジュール２０２４を有する。入出力モジュール２０２４は、タッチスクリーン、トラックパッド、カメラ、マイクロホン等のような、入力を捕捉するよう構成される装置とのインターフェースを提供するために使用されるソフトウェアを代表する。代替的に、又は追加的に、インターフェースアプリケーション２０２２及び入出力モジュール２０２４は、ハードウェア、ソフトウェア、ファームウェア、又はそれらのいずれかの組み合わせとして実施され得る。更に、入出力モジュール２０２４は、視覚入力及び音声入力を夫々捕捉する別個の装置のような複数の入力装置をサポートするよう構成されてよい。
【０１８０】
装置２０００はまた、オーディオシステム２０２８へオーディオデータを提供し且つ／あるいは表示システム２０３０へビデオデータを提供するオーディオ及び／又はビデオ入出力システム２０２６を有する。オーディオシステム２０２８及び／又は表示システム２０３０は、オーディオ、ビデオ、及び画像データを処理し、表示し、及び／又は別なふうにレンダリングする如何なる装置も有することができる。ビデオ信号及びオーディオ信号は、装置２０００からオーディオ装置へ及び／又はディスプレイ装置へＲＦ（無線周波数）リンク、Ｓビデオリンク、コンポジットビデオリンク、コンポーネントビデオリンク、ＤＶＩ（デジタルビデオインターフェース）、アナログオーディオ接続、又は他の同様の通信リンクを介して伝送され得る。実施形態において、オーディオシステム２０２８及び／又は表示システム２０３０は、装置２０００の外部構成要素として実施される。代替的に、オーディオシステム２０２８及び／又は表示システム２０３０は、例となる装置２０００の内蔵構成要素として実施される。
【０１８１】
［結び］
本発明は、構造的な特徴及び／又は方法論的な動作に特有の言語において記載されてきたが、特許請求の範囲において定義される発明は、必ずしも、記載される具体的な特徴又は動作に制限されないことが理解されるべきである。むしろ、具体的な特徴及び動作は、請求される発明を実施する例となる形態として開示される。
【図１】
0006038925.tif 000011
【図２】
0006038925.tif 000012
【図３】
0006038925.tif 000013
【図４】
0006038925.tif 000014
【図５】
0006038925.tif 000015
【図６】
0006038925.tif 000016
【図７】
0006038925.tif 000017
【図８】
0006038925.tif 000018
【図９】
0006038925.tif 000019
【図１０】
0006038925.tif 000020
【図１１】
0006038925.tif 000021
【図１２】
0006038925.tif 000022
【図１３】
0006038925.tif 000023
【図１４】
0006038925.tif 000024
【図１５】
0006038925.tif 000025
【図１６】
0006038925.tif 000026
【図１７】
0006038925.tif 000027
【図１８】
0006038925.tif 000028
【図１９】
0006038925.tif 000029
【図２０】
0006038925.tif 000030