(57)【要約】【課題】移動コンピューティング装置にウェブページをハードウェア加速提示するためのシステム及び方法を提供する。【解決手段】レイアウトエンジン、ハードウェア加速のグラフィックアプリケーションプログラミングインターフェイス（ＡＰＩ）を使用してウェブページを処理し表示することのできるコンピューティング装置により複数のウェブページが受け取られる。ウェブページを受け取ると、ウェブページは、ウェブページのスタイルシートに基づいて、複数のレンダリングレイヤへと分割される。アルゴリズムがレンダリングレイヤをウォークスルーし、レンダリング時にハードウェア加速の利点を取り入れるため合成レイヤを受け取る複数のレイヤを選択する。ウェブページは、その後、残りのレンダリングレイヤ及び合成レイヤを使用して移動コンピューティング装置のディスプレイに提示される。このようにして、レイアウトエンジンに使用するように最初に設計されていないコンテンツが表示されるときでも、ウェブコンテンツの視覚表示がそのまま保たれる。【選択図】図２
2011513855.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定するステップと、
前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定するステップと、
前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定するステップと、
ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生するステップと、
レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定するステップと、
前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生するステップであって、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものであるステップと、
を備えた方法。
【請求項２】
前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定するステップを更に備えた、請求項１に記載の方法。
【請求項３】
少なくとも１つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定するステップを更に備えた、請求項１に記載の方法。
【請求項４】
前記コンテンツのページを記述するファイルをダウンロードするステップを更に備えた、請求項１に記載の方法。
【請求項５】
前記コンテンツのページにより参照されるスタイル記述をダウンロードするステップを更に備えた、請求項１に記載の方法。
【請求項６】
ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にするステップを更に備えた、請求項１に記載の方法。
【請求項７】
プロセッサにより実行されたときに、プロセッサが、
コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定し、
前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定し、
前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定し、
ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生し、
レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定し、
前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生し、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものである、
ことを含むオペレーションを遂行するようにさせる実行可能なインストラクションを記憶するマシン読み取り可能な記憶媒体。
【請求項８】
前記オペレーションは、更に、前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定することを含む、請求項７に記載のマシン読み取り可能な記憶媒体。
【請求項９】
前記オペレーションは、更に、少なくとも１つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定することを含む、請求項７に記載のマシン読み取り可能な記憶媒体。
【請求項１０】
前記オペレーションは、更に、前記コンテンツのページを記述するファイルをダウンロードすることを含む、請求項７に記載のマシン読み取り可能な記憶媒体。
【請求項１１】
前記オペレーションは、更に、前記コンテンツのページにより参照されるスタイル記述をダウンロードすることを含む、請求項７に記載のマシン読み取り可能な記憶媒体。
【請求項１２】
前記オペレーションは、更に、ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にすることを含む、請求項７に記載のマシン読み取り可能な記憶媒体。
【請求項１３】
コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定する手段と、
前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定する手段と、
前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定する手段と、
ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生する手段と、
レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定する手段と、
前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生する手段であって、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものである手段と、
を備えたデータ処理システム。
【請求項１４】
前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定する手段を更に備えた、請求項１３に記載のデータ処理システム。
【請求項１５】
少なくとも１つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定する手段を更に備えた、請求項１３に記載のデータ処理システム。
【請求項１６】
前記コンテンツのページを記述するファイルをダウンロードする手段を更に備えた、請求項１３に記載のデータ処理システム。
【請求項１７】
前記コンテンツのページにより参照されるスタイル記述をダウンロードする手段を更に備えた、請求項１３に記載のデータ処理システム。
【請求項１８】
ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にする手段を更に備えた、請求項１３に記載のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブベースコンテンツの表示に係る。
【０００２】
本出願は、２００８年３月４日に出願された同時係争中の米国プロビジョナル特許出願第６１／０３３，７６０号の優先権を主張するもので、このプロビジョナル特許出願は、参考としてここにそのまま援用される。
【背景技術】
【０００３】
情報及び娯楽のようなコンテンツを配信するためのコンピュータの利用が増加するにつれて、このようなコンテンツを表示するように設計されたウェブページが、テキストだけでなく、アニメーション及びビデオも含めて、時間と共に益々複雑になってきた。ウェブ開発者の目標は、このコンテンツを、視覚的に訴える適時な形態で提示することである。従って、開発者は、ウェブページを設計するときに、このようなコンテンツの表示をどのように創作し管理するか考える。
【０００４】
ウェブブラウザにおけるカスケードスタイルシート（ＣＳＳ）のサポートが改善されたことで、ウェブ開発者は、ＣＳＳを使用して、ハイパーテキストマークアップ言語（ＨＴＭＬ）で書かれたドキュメントの提示をそのコンテンツとは独立して制御できるようになった。ウェブページ内の各コンテンツエレメントには、そのエレメントの提示を指令するスタイルルールのセットが指定される。このように、マークアップページは、異なるスタイルで提示することができる。
【０００５】
ＣＳＳは、更に、２つ以上のルールが特定のコンテンツエレメントに一致する場合に、どのスタイルルールを適用するか決定するプライオリティスキームも与える。この振舞いは、カスケードと称され、予測可能な結果を与えるために計算されてルールに指定される重みを使用するものである。ＣＳＳスタイルは、個別のドキュメントで与えることもできるし、又はマークアップドキュメントに埋め込むこともできる。スタイルシートは、インポートすることができ、ユーザ選択のために別のスタイルシートが指定される。
【０００６】
ＣＳＳは、ウェブページにおける単一エレメントの見掛け、例えば、そのサイズ及びバックグランドカラーと、ページ上の種々の異なるエレメントをどのように互いに視覚的に提示するか、の両方を制御するための種々のファシリティを与える。例えば、異なるエレメントの後−前の順序付けと、エレメントがその内部のエレメントを「クリップ」するかどうかとを制御する特性が与えられる。これらレンダリングの振舞いは、カスケードスタイルシートの仕様により規定される。
【０００７】
ウェブページは、慣習的にテキスト及び映像の静的な集合である。しかしながら、コンピューティング性能が高くなり、ブラウザ技術が改善されるにつれて、ウェブページ設計者は、ＪａｖａＳｃｒｉｐｔ（登録商標）を通して、又はプラグインを使用することにより、アニメ化コンテンツをウェブページに頻繁に使用している。しかしながら、アニメーションが実行されるときのウェブページの位置の再計算及び全エレメントの再描写に関連したオーバーヘッドのために、アニメーション性能が限定されたままである。これは、計算力に限度がある移動コンピューティング装置で実行されるときに、特に言えることである。
【０００８】
それ故、ウェブブラウザは、アニメ化ウェブページコンテンツの提示にハードウェア加速を使用することを選択し、これにより、ウェブページのあるコンテンツエレメントを、ハードウェアテクスチャへとレンダリングし、次いで、移動コンピューティング装置のグラフィック処理ユニットを経て移動し合成することができる。しかしながら、ハードウェアによりあるページエレメントをレンダリングすると、当然、ページの視覚的提示が変化し、それらのエレメントは、非ハードウェアレンダリングコンテンツの上に提示され、従って、レイアウトエンジンが、カスケードスタイルシート仕様書に規定された提示ルールに違反することになり得る。
【０００９】
添付図面に例示された本発明の実施形態を、以下に詳細に説明する。
【図面の簡単な説明】
【００１０】
【図１】ウェブページのハードウェア加速表示を遂行することのできる移動コンピューティング装置の一実施形態を示す。
【図２】レンダリングアーティファクトの表示を実質的に禁止するレンダリングプロセスの一実施形態を示す。
【図３Ａ】ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。
【図３Ｂ】ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。
【図３Ｃ】ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。
【図４】図１の移動コンピューティング装置により受け取られるウェブページのレイヤをレンダリングする一実施形態を示す。
【図５Ａ】移動装置の実施形態を例示する。
【図５Ｂ】移動装置の構成可能なトップレベルグラフィックユーザインターフェイスの実施形態を例示する。
【図６】移動装置の実施形態を例示するブロック図である。
【発明を実施するための形態】
【００１１】
ここに開示する実施形態は、移動コンピューティング装置においてウェブページをハードウェア加速レンダリングするためのシステム及び方法に係るものである。ハードウェア加速のグラフィックアプリケーションプログラミングインターフェイス（ＡＰＩ）を使用してウェブページを処理し表示することのできる移動コンピューティング装置により複数のウェブページが受け取られる。ウェブページを受け取ると、装置は、ウェブコンテンツを複数のレンダリングレイヤへ分割する。レンダリングレイヤは、ウェブページの実際の表示を決定するのに使用され、これは、スタイルシートに基づくウェブページの意図されたページと比較される。実際の表示と意図された表示との間の著しい偏差が決定され、この偏差を実質的に最小にするためのアルゴリズムが使用される。一実施形態では、ハードウェアバック型レイヤを受け取るために複数のレンダリングレイヤの各部分がアルゴリズムで選択され、その選択されたレイヤを、レンダリング時にハードウェア加速することができる。このように、ウェブページの視覚表示が仕様に適合し続けることができる一方、ページエレメントのサブセットをハードウェアでアニメ化することができる。
【００１２】
好都合にも、ウェブページコンテンツ、並びにウェブページをレンダリングするときの移動コンピューティング装置の状態にアルゴリズムを適応させることができる。アルゴリズムは、これに限定されないが、ウェブページコンテンツの相対的配置、ウェブページコンテンツの希望のレンダリング順序、ウェブページエレメントが互いにオーバーラップするかどうか、ウェブページコンテンツにより表示される要求されたアニメーション効果、利用可能な処理リソース、及びメモリを含むファクタに基づいて、その選択を行うことができる。これら及び他の効果は、以下に詳細に述べる。
【００１３】
ここに述べるプロセスは、順次のオペレーションに関して説明するが、あるオペレーションは、異なる順序で遂行されてもよいことが明らかであろう。更に、あるオペレーションは、順次ではなく、並列に遂行されてもよい。更に、あるオペレーションは、必要に応じて、省略してもよい。
【００１４】
全体を通じて同じ要素が同じ番号で示された添付図面を参照して実施形態を説明する。ここでの説明に使用される用語は、幾つかの実施形態の詳細な説明に関連して使用されるだけであるから、制限又は限定的に解釈されるものではない。更に、ここに開示する実施形態は、多数の新規な特徴を包含し、その１つが単独で希望の属性に対して役立つというものでもないし、ここに述べる発明を実施するのに重要というものでもない。
【００１５】
図１は、ウェブページ１０６を受け取って表示するように構成された移動コンピューティング装置１００の一実施形態を示す。この装置１００は、ウェブページ１０６を分析して、ウェブページ１０６をレンダリングするインストラクションを発生するように構成された複数のソフトウェアアプリケーション１０２を備えることができる。装置１００は、更に、発生されたインストラクションを実行して、ウェブページ１０６を装置１００のユーザに表示するためのハードウェア１０４を備えることができる。移動コンピューティング装置１００は、ウェブコンテンツをレンダリングして表示することのできる装置、例えば、コンピュータ、移動装置、パーソナルデジタルアシスタント、等である。
【００１６】
移動コンピューティング装置１００は、複数のウェブページ１０６を移動コンピューティング装置１００へ配信するネットワーク１１２と通信する。ネットワーク１１２は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イントラネット、エクストラネット、及びインターネットを含む。ネットワーク１１２は、更に、ワイヤード通信メカニズム、ワイヤレス通信メカニズム、及びその組み合わせを使用して具現化することができる。ある実施形態では、移動コンピューティング装置１００は、アップル社のｉＰｈｏｎｅTMであるか又はそれを含む。
【００１７】
移動コンピューティング装置１００によって受け取られると、ウェブページ１０６は、ウェブブラウザのためのレイアウトエンジン１１６へ送られる。レイアウトエンジン１１６は、ウェブページ１０６をエレメントへとパーズし、スタイルを考慮してそれらエレメントの視覚表示を計算し、そしてそれらエレメントを移動コンピューティング装置１００においてレンダリングするための複数のファシリティを備えることができる。レンダリングは、複数のグラフィックアプリケーションプログラミングインターフェイス（ＡＰＩ）を経て遂行され、これは、二次元及び三次元コンピュータグラフィックを表示するためにハードウェア１０４により使用できるインストラクションを発生する。一実施形態では、１つ以上のグラフィックＡＰＩは、ＯｐｅｎＧＬ（登録商標）１２２である。グラフィックＡＰＩは、更に、Ｃｏｒｅ  Ａｎｉｍａｔｉｏｎ（登録商標、アップル社）１２０のように、ハードウェア加速を行うことのできるグラフィックＡＰＩから選択されてもよい。この実施形態にＯｐｅｎＧＬを使用して、ハードウェア加速を行うこともできる。
【００１８】
レイアウトエンジン１１６は、オペレーティングシステム１２４を経てハードウェア１０４に通信結合される。ハードウェア１０４は、これに限定されないが、複数のプロセッサ１２６、１３０、複数のメモリ１３２、１３４、少なくとも１つのディスプレイコントローラ１３６、及び少なくとも１つのディスプレイ１４０を備えている。オペレーティングシステム１２４は、更に、ハードウェア１０４とソフトウェア１０２との間の通信を容易にする複数のドライバ（図示せず）も含むことができる。
【００１９】
プロセッサ１２６、１３０は、例えば、中央処理ユニット（ＣＰＵ）１２６のような汎用プロセッサ、及びグラフィック処理ユニット（ＧＰＵ）１３０のような特殊プロセッサを含むことができる。ＧＰＵ１３０は、異なる形式のグラフィックデータを処理する二次元（２Ｄ）コア及び／又は三次元（３Ｄ）コアのような複数のコアロジックを含み、そして異なる種類のグラフィックリソースを使用する。ＧＰＵ１３０の出力は、グラフィックメモリ１３４に記憶され、ディスプレイコントローラ１３６によりフェッチされてディスプレイ１４０に表示される。例えば、ＧＰＵ１３０は、グラフィックの処理に使用される情報を記憶する専用のグラフィックメモリ１３４を使用し、一方、ＣＰＵ１２６は、このＣＰＵ１２６及び装置１００の他のコンポーネントにより共有されるメモリ１３２を使用する。
【００２０】
図２は、レンダリングアーティファクトの表示を実質的に禁止するためにウェブページのレンダリングを分析して変更するプロセス２００の一実施形態を示す。ある実施形態では、プロセス２００は、レイアウトエンジン１１６により実施される。一般的に、レイアウトエンジン１１６は、ネットワーク１１２からＨＴＭＬ／ＸＨＴＭＬファイルをダウンロードし、これらは、ページコンテンツを記述すると共に、ＨＴＭＬタグの属性を経ての提示を、既存のＨＴＭＬレイアウトルールにより、ある程度記述する。次いで、レイアウトエンジン１１６は、ＨＴＭＬをドキュメントノードのツリーへとパーズし、ここでは、ノードの形式及びそれらの関係がドキュメントオブジェクトモデル（ＤＯＭ）仕様により記述される。次いで、レイアウトエンジン１１６は、ウェブページ１０６によって直接的又は間接的に参照されるＣＳＳファイルをダウンロードし、そしてウェブページ１０６においてインラインであるＣＳＳルールを見る。又、レイアウトエンジン１１６は、ウェブページ１０６により直接的又は間接的に参照されるＪａｖａＳｃｒｉｐｔファイルもダウンロードする。ＪａｖａＳｃｒｉｐｔコードは、エレメントに適用されるスタイルの変更も行う。
【００２１】
レイアウトエンジン１１６は、種々の形式のエレメントに対して標準的レンダリングされた見掛けにより決定されるページ上のエレメントの視覚的表示を計算し、次いで、種々のエレメントの見掛けがＣＳＳスタイルルールによりどのように変化するか計算する。それに加えて、レイアウトエンジン１１６は、各エレメントのページ上の位置及び表示順序を、スタイルルール及びエレメント間の相互作用に基づいて計算する。
【００２２】
エレメントの位置及び表示順序を計算する一部分として、レイアウトエンジン１１６は、レンダリングレイヤと称されるエレメントのあるサブセットのレンダリングを制御するオブジェクトのハイアラーキーを構築する。
【００２３】
又、レイアウトエンジン１１６は、スタイル及び潜在的に他のものを見て、レンダリングレイヤのあるサブセットがハードウェア加速／合成されねばならないことを決定する。レイアウトエンジン１１６は、次いで、レンダリングレイヤのハイアラーキーを分析して、他のレンダリングレイヤのどれがウェブページ１０６の視覚的見掛けを保存するためにハードウェア合成を要求するか決定する。
【００２４】
一実施形態では、レイアウトエンジン１１６は、ウェブページ１０６の意図された表示２０６を識別する。例えば、意図された表示２０６は、ウェブページ１０６の複数のスタイルシートのウォークスルー２０２のプロセスによって識別される。ある実施形態では、スタイルシートは、カスケードスタイルシート（ＣＳＳ）言語で与えられる。
【００２５】
図３Ａ−３Ｃに示すように、ウェブページ１０６（図３Ａ）は、コンテンツ（図３Ｃ）及びドキュメント提示（図３Ｂ）へと分割され、これは、ＣＳＳで書くことができる。コンテンツは、例えば、テキスト３０２Ａ、３０２Ｂ、静的映像３０４、ハードウェア加速レンダリングの利点を取り入れるように設計されたアニメーション３１０、及び非加速アニメーション３０６を含む。アニメーション３０６は、既存のコンテンツを変更するオペレーションを表し、他のＣＳＳ特性、フォント面又はカラーのように処理される。
【００２６】
ウェブページコンテンツには、複数のドキュメント提示ルールが適用される。これらのルールは、例えば、二次元における静的及び動的ポジショニング３１４、コンテンツ見易さ３１２、及びフォント３２０を含む。例えば、ルールは、スタックインデックス３１６に関連した前−後の順序（ｚインデックス）を指定する。ＣＳＳは、更に、コンテンツの断片に複数のルールを利用できるときに、どんなスタイルルールが適用されるか判断するウェブページコンテンツのプライオリティスキームを指定することができる。ポジショニングを使用して、コンテンツは、ウェブページ１０６内の希望の位置に配置される。オーバーフローを使用して、コンテンツがボックスの外側に溢れるエレメントの振舞いを制御することができる。見易さは、更に、コンテンツの断片を示すか又は隠す。
【００２７】
インデックス３１６は、ページ上のエレメントがオーバーラップするときにどんな順序でコンテンツを描くか指定するのに使用される。フォントパラメータは、表示テキストの形式、サイズ、及びスタイルを変えるのに使用される。例えば、時間に伴うコンテンツの位置、コンテンツの見易さ、及び複数の映像の提示を含むコンテンツフォーマットを調整することにより、単純なアニメーションを発生することができる。
【００２８】
従って、ウェブページ１０６のＣＳＳ内でインストラクションをウォークスルーフォーマットすることにより、ウェブページ１０６の意図された表示２０６が決定される。
【００２９】
更に別の実施形態では、ウェブページ１０６のレンダリングされた表示２１０を決定するために、レイアウトエンジン１１６により複数のレンダリングレイヤ２０４が発生される。レンダリングレイヤ２０４は、ページのコンテンツの関連サブセットを各々レンダリングするオブジェクトのハイアラーキーを含む。このハイアラーキーにおけるレンダリングレイヤ２０４は、各々、ウェブページ１０６の視覚的提示を発生するためにそれらのコンテンツを所定のシーケンスでペイントする。ウェブページ１０６から導出されたレンダリングレイヤ４００Ａ−４００Ｄが図４に例示されている。
【００３０】
又、プロセス２００は、どのレンダリングレイヤ２０４が、それらレイヤがアニメーションを受けることを指示するスタイル又は他の入力ソースによりハードウェアバッキングを要求するか、又は３Ｄレンダリングを通してレンダリングするときしか可能でない提示を得るか、決定することができる。例えば、エレメントが、パースペクティブを伴う回転変換のような非アフィン変換を有する場合には、これらオペレーションは、ハードウェアバッキングに良く適したものとなる。
【００３１】
又、プロセス２００において、ページの視覚的表示を維持するために他のレンダリングレイヤ２０４のどれがハードウェアバッキングを要求するかも決定される。例えば、手前のステップにおいてハードウェア合成レイヤを受け取った何かの頂部で通常レンダリングされるページエレメントは、その頂部でレンダリングされ続けるように、それ自体、ハードウェアレイヤを得ることが必要である。レンダリングされたレイヤ２０４は、レンダリングされた表示２１０を決定するためにプロセス２００により使用される。レンダリングされた表示２１０は、意図された表示２０６と比較され、偏差２１２を決定する。
【００３２】
この分析から、アルゴリズム２１４は、レンダリングレイヤ２０４の各部分を選択し、ここでは合成レイヤ２１６と称されるその選択されたレイヤを変更して、それらがハードウェア加速レンダリングのためにグラフィックＡＰＩに関連して作用するようにする。一実施形態では、選択されたレンダリングレイヤ２０４は、それに対応するレイヤへとペイントされて、合成レイヤ２１６を得る。このように、表示されるウェブページ２１８は、残りのレンダリングレイヤ２０４及び合成レイヤ２１６の組み合わせから生成される。表示されるウェブページ２１８は、意図された表示２０６と実質的に同じである。このプロセスを必要に応じて繰り返してこの結果が得られることを理解されたい。
【００３３】
アルゴリズム２１４の実施形態は、合成レイヤ２１６を生成するのに使用されるレンダリングレイヤ２０４を複数のファクタに基づいて選択する。これらファクタは、例えば、ウェブページコンテンツの相対的な配置、ウェブページコンテンツの希望のレンダリング順序、ウェブページコンテンツが互いにオーバーラップするかどうか、ウェブページコンテンツにより表される要求されるアニメーション効果を含む。アルゴリズム２１４は、更に、利用可能な処理リソース、メモリ、等に基づいてその選択を行う。
【００３４】
アルゴリズム２１４では、レイアウトエンジン１１６は、ウェブページ１０６のコンテンツを正しい後−前順序でペイントするために、レンダリングレイヤのハイアラーキーを構築する。レンダリングレイヤのハイアラーキーは、ウェブの構造に基づく。
【００３５】
レイアウトエンジン１１６は、この第１のハイアラーキーから、ページエレメントの前−後の順序（即ち、ｚインデックス）に影響するスタイル、及びエレメントを強制的に「スタッキングコンテクスト」にするスタイルを考慮することにより、レンダリングレイヤの新たなハイアラーキーを計算する。あるスタッキングコンテクスト内で、子エレメントは、そのｚ順序に基づいてソートされるが、異なるスタッキングコンテクスト内のエレメントは、インターソート(inter-sort)ではない。
【００３６】
次いで、レンダリングレイヤごとにエレメントに関連したスタイルが検査され、そしてレイアウトエンジン１１６は、現在のレンダリングレイヤがハードウェア合成サポートを要求するかどうかの判断を行う。この判断をするのに使用する基準は、このレイヤに対するエレメントに適用されるスタイルルールが、不透明さ又は表示変換のようなある特性に過渡的な遷移を含むアニメーションを指定するかどうか；このレイヤに対するエレメントに適用されるスタイルルールが、非アフィン変換のような、利用可能な２Ｄ描写ＡＰＩでは困難な表示変換を記述するかどうか；レンダリングレイヤ２０４に関連したエレメントがハードウェア合成から利益が得られるかどうか（例えば、ビデオを表示するエレメントは、それらがハードウェア合成行先へとレンダリングされる場合に非常に効率的に表示することができる）；を含むが、これらに限定されない。
【００３７】
レイアウトエンジン１１６は、視覚的提示の順序（後−前）でレンダリングレイヤのハイアラーキーにわたり第２パスを遂行し、そして付加的なレンダリングレイヤには、これに限定されないが、次の基準を含む第２の理由で、ハードウェア合成レイヤを指定することができる。
【００３８】
例えば、レイアウトエンジン１１６は、ページの視覚的提示を保存するためにレンダリングレイヤ２０４を別のハードウェア合成レンダリングレイヤの前方に描かねばならないかどうか考慮する。アルゴリズム２１４は、スクリーン上のレンダリングレイヤの位置を考慮し、そしてオーバーラップが検出されたときだけハードウェア合成されたレイヤを指定するが、この場合は、アルゴリズム２１４は、アニメーションを含むページ表示の変化がそのオーバーラップに影響を及ぼすときを検出して、付加的なハードウェア合成レイヤを指定する。
【００３９】
又、レイアウトエンジン１１６は、レンダリングレイヤ２０４が、その子エレメントをクリップするようにさせるスタイル（即ち、「オーバーフロー」スタイル）を有するかどうか考慮し、そして１つ以上の子エレメントがハードウェア合成レンダリングレイヤへとレンダリングされる。これらのハードウェア合成レイヤが使用されるのは、それらのハードウェア合成子エレメントが、ソフトウェアレンダリングコード経路に使用される標準的なクリップメカニズムによってクリップされないからである。というのは、それらがハードウェア加速されるからであり、且つレンダリングレイヤ２０４のコンテンツがハードウェア加速アニメーションを経験するためにクリッピングそれ自体がハードウェア加速で実施されないからである。
【００４０】
レイアウトエンジン１１６は、更に、以前のいずれかのステップで合成レイヤが指定されたレンダリングレイヤを検査し、そしてハードウェア合成されたレイヤが指定されている単一のレンダリングレイヤが、２つ以上のハードウェア合成レイヤを生成して維持する必要のある状況を識別する。これらの状況は、レンダリングレイヤがスタッキングコンテクストであり且つそれらが負のｚインデックスと共にハードウェア合成の子を有する場合に、そのレンダリングレイヤのエレメントのコンテンツに対して付加的なレイヤが生成されるという状況を含むが、これに限定されない。これは、そのエレメントの背景の前であるがそのコンテンツの後方でレンダリングするために負のｚインデックス子を使用する視覚的表示を保存するのに有用である。
【００４１】
又、レンダリングレイヤ２０４が、その子をクリップするようにさせる「オーバーフロー」スタイルを有し、そのレンダリングレイヤがスタッキングコンテクストではなく、その１つ以上の子がハードウェア合成されたレイヤに関連している場合には、それらの子のクリッピングを行うのに付加的なハードウェア合成レイヤが有用である。これが有用であるのは、「オーバーフロー」スタイルを伴うエレメントが自動的にスタッキングコンテクストとならず、従って、レンダリングハイアラーキーにおいて必ずしもそのクリップされた子レイヤの親として作用しないからである。
【００４２】
エレメントに、そのエレメントの表示（例えば、ビデオ）を最適化するためのレンダリングレイヤが指定されたが、そのスタイルが、そのエレメントの付加的なボックスデコレーション、例えば、ボーダーを規定する場合には、これらボックスデコレーションをレンダリングし、従って、そのエレメントの表示の効率を保存するために、付加的なハードウェア合成レイヤを生成することができる。
【００４３】
ハードウェア合成レイヤは、それに関連したデータ構造及びバッキング記憶（必要なとき）に要求されるメモリ、及びそれらを生成して維持するための計算要件に関して、処理コストがかかる。ある実施形態では、レイアウトエンジン１１６は、多数の技術を通して生成されるハードウェア合成レイヤの数及びサイズを最小にするように構成され、それら技術は、スタッキングコンテクストであって、ハードウェア合成を必要とする子エレメントをもたないレンダリングレイヤ２０４を、それに関連したハードウェア合成レイヤ又はある親レンダリングレイヤへと常にレンダリングすることができ；ハードウェア合成レイヤを有するエレメントの後方に描写するエレメントを、ある親レンダリングレイヤに関連したハードウェアレイヤへ、又はページの非ハードウェア加速エレメントの描写行先へとレンダリングすることができ；レンダリングレイヤ２０４及びそれらの非加速の子に対して生成されたハードウェア合成レイヤは、輪郭及び陰影のようなボックスデコレーションを含むエレメントを収容するに足る大きさでよく、それ以上大きくない；ことを含むが、これらに限定されない。
【００４４】
ページコンテンツ、及びページ上のエレメントに適用されるスタイルは、両方とも、ユーザのアクティビティに応答してページがロードされた後、或いはＪａｖａＳｃｒｉｐｔを通して直接的又は間接的に、変化する。ページ上のエレメントの視覚的提示に影響する変化が検出されると、レイアウトエンジン１１６は、レンダリングレイヤ２０４のハイアラーキーの全部又は一部分にわたってそのアルゴリズム２１４を実行し、ページの視覚的提示を保存するためにハードウェア合成レンダリングレイヤのセットを更新するよう保証する。
【００４５】
多くの場合、アルゴリズム２１４により生成されるハードウェア合成レイヤに関連したエレメントは、システム提供描写ＡＰＩを経てハードウェア合成レイヤへとレンダリングされる。これは、テキスト、映像、ボーダー、等の混合を与えるエレメントに対するものである。又、これは、そのようなハードウェア合成されたレイヤが、レンダリングされた提示を保存するためにメモリバッファ又はバッキング記憶装置を要求することも指示し、このメモリバッファは、グラフィック処理ハードウェアにより表示上に合成するために、そのハードウェアへアップロードされる。
【００４６】
ハードウェア合成レイヤに対するメモリバッファの割り当ては、システムリソースを利用できるようにするが、種々の実施形態において最小にされる。これを達成するために、アルゴリズム２０４は、バッキング記憶装置を割り当てずに利用可能なハードウェア加速グラフィックＡＰＩによって提示されるレンダリングレイヤ内のエレメントのある構成を検出するように変更される。これらの構成は、目に見えるコンテンツをもたず、子のレンダリングレイヤのためのコンテナとして働くだけであるエレメントに関連したレンダリングレイヤを含むが、これに限定されない。この場合、ハードウェア加速レイヤがこれらのレンダリングレイヤに指定されるが、これらハードウェア加速レイヤは、子のための幾何学的計算に単に関与し、それら自身の描写は行わない。
【００４７】
レンダリングレイヤは、濃い背景色を有するが、その同じレンダリングレイヤへとレンダリングされる他のコンテンツをもたないエレメントに関連している。この場合に、濃い背景色を描くインストラクションは、ハードウェア加速グラフィックＡＰＩを経て基礎的なグラフィックプロセッサへ通され、これは、スクリーンの全エリアを、ソフトウェアベースの描写ＡＰＩにより可能であるより著しく効率的に濃い色で埋める。又、レンダリングレイヤは、映像を表示するエレメントに関連してもよい。この場合、映像のデコードされたピクセルは、ソフトウェアベースの描写ＡＰＩを経てレンダリングされる必要なく、ハードウェア加速グラフィックＡＰＩへ送られて、グラフィックテクスチャーとして使用される。従って、ページコンテンツ又はスタイルが変化すると、アルゴリズムがページエレメントを再検査し、これらの構成のいずれかを検出した場合に、それらの利点を取り入れるようにハードウェア加速レンダリングレイヤのセットを再構成する。
【００４８】
図５Ａは、移動装置２５００の一例を示す。移動装置２５００は、例えば、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、セルラー電話、ネットワーク機器、カメラ、スマートホン、改良型汎用パケット無線サービス（ＥＧＰＲＳ）移動電話、ネットワークベースステーション、メディアプレーヤ、ナビゲーション装置、ｅ−メール装置、ゲームコンソール、或いはこれらデータ処理装置又は他のデータ処理装置の２つ以上の組み合せである。
【００４９】
（移動装置の概略）
ある実施形態では、移動装置２５００は、タッチ感知ディスプレイ２５０２を備えている。タッチ感知ディスプレイ２５０２は、液晶ディスプレイ（ＬＣＤ）技術、光放射ポリマーディスプレイ（ＬＰＤ）技術、又は他のディスプレイ技術で実施することができる。タッチ感知ディスプレイ２５０２は、ユーザとの触覚及び／又は触感接触を感知することができる。
【００５０】
ある実施形態では、タッチ感知ディスプレイ２５０２は、マルチタッチ感知ディスプレイ２５０２を含むことができる。マルチタッチ感知ディスプレイ２５０２は、例えば、複数の同時タッチポイントを処理することができ、これは、各タッチポイントの圧力、度合い及び／又は位置に関連したデータを処理することを含む。このような処理は、複数の指でのジェスチャー及び相互作用、コーディング(chording)、及び他の相互作用を容易にする。他のタッチ感知ディスプレイ技術も使用でき、例えば、スタイラス又は他のポインティング装置を使用して接触を行うディスプレイも使用できる。マルチタッチ感知ディスプレイ技術の幾つかの例が、米国特許第６，３２３，８４６号、第６，５７０，５５７号、第６，６７７，９３２号、及び第６，８８８，５３６号に説明されており、その各々を参考としてここにそのまま援用する。
【００５１】
ある実施形態では、移動装置２５００は、種々のシステムオブジェクトへのユーザアクセスを与えると共にユーザへ情報を搬送するためにタッチ感知ディスプレイ２５０２上に１つ以上のグラフィックユーザインターフェイスを表示することができる。ある実施形態では、グラフィックユーザインターフェイスは、１つ以上のディスプレイオブジェクト２５０４、２５０６を含むことができる。ここに示す例では、ディスプレイオブジェクト２５０４、２５０６は、システムオブジェクトのグラフィック表示である。システムオブジェクトの幾つかの例は、装置の機能、アプリケーション、ウインドウ、ファイル、警告、事象、又は他の識別可能なシステムオブジェクトを含む。
【００５２】
（移動装置の機能の例）
ある実施形態では、移動装置２５００は、電話オブジェクト２５１０により指示された電話装置、メールオブジェクト２５１２により指示されたｅ−メール装置、マップオブジェクト２５１４により指示されたマップ装置、Ｗｉ−Ｆｉベースステーション装置（図示せず）、並びにウェブビデオオブジェクト２５１６により指示されたネットワークビデオ送信及びディスプレイ装置、等の複数の装置機能を具現化することができる。ある実施形態では、特定のディスプレイオブジェクト２５０４、例えば、電話オブジェクト２５１０、メールオブジェクト２５１２、マップオブジェクト２５１４、及びウェブビデオオブジェクト２５１６は、メニューバー２５１８に表示することができる。ある実施形態では、装置の機能は、図５Ａに示すグラフィックユーザインターフェイスのようなトップレベルのグラフィックユーザインターフェイスからアクセスすることができる。例えば、オブジェクト２５１０、２５１２、２５１４、又は２５１６の１つにタッチすると、それに対応する機能を呼び出すことができる。
【００５３】
ある実施形態では、移動装置２５００は、ネットワーク配布機能を具現化することができる。例えば、この機能は、ユーザが移動装置２５００を取り上げて、移動しながらその関連ネットワークにアクセスできるようにする。特に、移動装置２５００は、インターネットアクセス（例えば、ＷｉＦｉ）をその付近の他のワイヤレス装置へと拡張することができる。例えば、移動装置２５００は、１つ以上の装置のためのベースステーションとして構成することができる。従って、移動装置２５００は、他のワイヤレス装置へのネットワークアクセスを承諾又は拒絶することができる。
【００５４】
ある実施形態では、装置の機能を呼び出すと、移動装置２５００のグラフィックユーザインターフェイスが変化し、又は増強され、或いは別のユーザインターフェイス又はユーザインターフェイス要素と置き換えられて、それに対応する装置機能に関連した特定機能へのユーザアクセスを容易にする。例えば、ユーザが電話オブジェクト２５１０にタッチするのに応答して、タッチ感知ディスプレイ２５０２のグラフィックユーザインターフェイスは、種々の電話機能に関連したディスプレイオブジェクトを提示し、同様に、メールオブジェクト２５１２にタッチすると、グラフィックユーザインターフェイスは、種々のｅ−メール機能に関連したディスプレイオブジェクトを提示し、マップオブジェクト２５１４にタッチすると、グラフィックユーザインターフェイスは、種々のマップ機能に関連したディスプレイオブジェクトを提示し、そしてウェブビデオオブジェクト２５１６にタッチすると、グラフィックユーザインターフェイスは、種々のウェブビデオ記憶に関連したディスプレイオブジェクトを提示する。
【００５５】
ある実施形態では、図５Ａのトップレベルのグラフィックユーザインターフェイス環境又は状態は、移動装置２５００の底部付近に配置されたボタン２５２０を押すことにより回復することができる。ある実施形態では、各々の対応する装置機能は、タッチ感知ディスプレイ２５０２に表示された対応する「ホーム」ディスプレイオブジェクトを有し、図５Ａのグラフィックユーザインターフェイス環境は、「ホーム」ディスプレイオブジェクトを押すことにより回復することができる。
【００５６】
ある実施形態では、トップレベルのグラフィックユーザインターフェイスは、付加的なディスプレイオブジェクト２５０６、例えば、ショートメッセージングサービス（ＳＭＳ）オブジェクト２５３０、カレンダーオブジェクト２５３２、写真オブジェクト２５３４、カメラオブジェクト２５３６、計算器オブジェクト２５３８、株オブジェクト２５４０、アドレス帳オブジェクト２５４２、メディアオブジェクト２５４４、ウェブオブジェクト２５４６、ビデオオブジェクト２５４８、設定オブジェクト２５５０、及びノートオブジェクト（図示せず）を含むことができる。例えば、ＳＭＳディスプレイオブジェクト２５３０にタッチすると、ＳＭＳメッセージング環境及びサポート機能を呼び出すことができ、同様に、ディスプレイオブジェクト２５３２、２５３４、２５３６、２５３８、２５４０、２５４２、２５４４、２５４６、２５４８、及び２５５０を各々選択すると、それに対応するオブジェクト環境及び機能を呼び出すことができる。
【００５７】
又、図５Ａのグラフィックユーザインターフェイスには、付加的な及び／又は異なるディスプレイオブジェクトを表示することもできる。例えば、装置２５００が他の装置のためのベースステーションとして機能する場合には、１つ以上の「接続」オブジェクトがグラフィックユーザインターフェイスに現れて、接続を指示する。ある実施形態では、ディスプレイオブジェクト２５０６は、ユーザによって構成することができ、例えば、ユーザは、どのディスプレイオブジェクト２５０６が表示されるか指定することができ、及び／又は他の機能及びそれに対応するディスプレイオブジェクトを与える付加的なアプリケーション又は他のソフトウェアをダウンロードすることができる。
【００５８】
ある実施形態では、移動装置２５００は、１つ以上の入力／出力（Ｉ／Ｏ）装置及び／又はセンサ装置を含むことができる。例えば、音声イネーブル機能、例えば、電話及び音声メール機能を容易にするためにスピーカ２５６０及びマイクロホン２５６２を含むことができる。ある実施形態では、スピーカ２５６０及びマイクロホン２５６２の音量制御のためのアップ／ダウンボタン２５８４を含ませることができる。又、移動装置２５００は、電話の入呼びのリングインジケータのためのオン／オフボタン２５８２を含むこともできる。ある実施形態では、電話のスピーカ機能のようなハンズフリー音声機能を容易にするためにスピーカ２５６４を含ませることができる。又、ヘッドホン及び／又はマイクロホンを使用するためにオーディオジャック２５６６を含ませることもできる。
【００５９】
ある実施形態では、ユーザが移動装置２５００をユーザの耳の付近に配置するのを検出し、それに応答して、タッチ感知ディスプレイ２５０２を解離して、偶発的な機能の呼び出しを防止し易くするために、接近センサ２５６８を含ませることができる。ある実施形態では、移動装置２５００がユーザの耳の付近にあるときに付加的な電力を保存するために、タッチ感知ディスプレイ２５０２をターンオフすることができる。
【００６０】
又、他のセンサを使用することもできる。例えば、ある実施形態では、周囲光センサ２５７０を使用して、タッチ感知ディスプレイ２５０２の輝度を容易に調整することができる。ある実施形態では、加速度計２５７２を使用して、方向矢印２５７４で示された移動装置２５００の動きを検出することができる。従って、ディスプレイオブジェクト及び／又はメディアは、例えば、肖像画又は風景画のような検出された方向に基づいて提示することができる。ある実施形態では、移動装置２５００は、グローバルポジショニングシステム（ＧＰＳ）又は他のポジショニングシステム（例えば、Ｗｉ−Ｆｉアクセスポイント、テレビ信号、セルラーグリッド、ユニフォームリソースロケータ（ＵＲＬ）を使用するシステム）により与えられるような位置決定能力をサポートするための回路及びセンサを含むことができる。ある実施形態では、ポジショニングシステム（例えば、ＧＰＳ受信器）を移動装置２５００へ一体化することもできるし、又は位置に基づくサービスへのアクセスを与えるためにインターフェイス（例えば、ポート装置２５９０）を通して移動装置２５００へ結合できる個別の装置として設けることもできる。
【００６１】
ある実施形態では、ポート装置２５９０、例えば、ユニバーサルシリアルバス（ＵＳＢ）ポート、又はドッキングポート、又は他の何らかのワイヤードポート接続を含ませることができる。ポート装置２５９０は、例えば、他の通信装置２５００、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、ディスプレイスクリーン、又はデータの送信及び／又は受信を行える他の処理装置のような他のコンピューティング装置へのワイヤード接続を確立することができる。ある実施形態では、ポート装置２５９０は、移動装置２５００が、例えば、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＵＤＰ及び他の既知のプロトコルのような１つ以上のプロトコルを使用して、ホスト装置と同期をとれるようにする。
【００６２】
又、移動装置２５００は、カメラレンズ及びセンサ２５８０を備えることもできる。ある実施形態では、カメラレンズ及びセンサ２５８０は、移動装置２５００の背面に配置することができる。カメラは、静止映像及び／又はビデオを捕獲することができる。
【００６３】
又、移動装置２５００は、８０２．１１ｂ／ｇ通信装置２５８６、及び／又はＢｌｕｅｔｏｏｔｈ（登録商標）通信装置２５８８のような１つ以上のワイヤレス通信サブシステムを備えることもできる。又、他の８０２．ｘ通信プロトコル（例えば、ＷｉＭａｘ、Ｗｉ−Ｆｉ、３Ｇ）、コード分割多重アクセス（ＣＤＭＡ）、移動通信用のグローバルシステム（ＧＳＭ（登録商標））、エンハンストデータＧＳＭ環境（ＥＤＧＥ）、等を含む他の通信プロトコルをサポートすることもできる。
【００６４】
（構成可能なトップレベルグラフィックユーザインターフェイスの例）
図５Ｂは、装置２５００の構成可能なトップレベルグラフィックユーザインターフェイスの別の例を示す。装置２５００は、ディスプレイオブジェクトの異なるセットを表示するように構成できる。
【００６５】
ある実施形態では、装置２５００の１つ以上のシステムオブジェクトの各々は、それに関連したシステムオブジェクト属性のセットを有し、そして属性の１つは、システムオブジェクトに対するディスプレイオブジェクトがトップレベルグラフィックユーザインターフェイスにおいてレンダリングされるかどうか決定する。この属性は、システムによって自動的にセットすることもできるし、又は以下に述べるように、あるプログラム又はシステム機能を介してユーザによりセットすることもできる。図５Ｂは、（例えば、ノートシステムオブジェクト及びウェブビデオシステムオブジェクトの属性が変更されるときに）ノートオブジェクト２５５２（図５Ａには示さず）がどのようにして装置２５００のトップレベルグラフィックユーザインターフェイスに追加され及びウェブビデオオブジェクト２５１６がそこから除去されるかの一例を示す。
【００６６】
（移動装置アーキテクチャーの例）
図６は、移動装置（例えば、移動装置２５００）の実施形態のブロック図３０００である。移動装置は、メモリインターフェイス３００２、１つ以上のデータプロセッサ、映像プロセッサ及び／又は中央処理ユニット３００４、並びに周辺インターフェイス３００６を備えることができる。メモリインターフェイス３００２、１つ以上のプロセッサ３００４、及び／又は周辺インターフェイス３００６は、個別のコンポーネントでもよいし、又は１つ以上の集積回路に一体化されてもよい。移動装置の種々のコンポーネントは、１つ以上の通信バス又は信号ラインにより結合することができる。
【００６７】
センサ、装置及びサブシステムは、複数の機能を促進するために周辺インターフェイス３００６に結合することができる。例えば、図５Ａを参照して述べた方向決め、照明及び接近機能を促進するために、運動センサ３０１０、光センサ３０１２及び接近センサ３０１４を周辺インターフェイス３００６に結合することができる。又、ポジショニングシステム（例えば、ＧＰＳ受信器）、温度センサ、生物測定センサ、又は他の感知装置のような他のセンサ３０１６を周辺インターフェイス３００６に接続して、その関連機能を促進することもできる。
【００６８】
又、カメラサブシステム３０２０及び光学的センサ３０２２、例えば、電荷結合デバイス（ＣＣＤ）又は相補的金属酸化物半導体（ＣＭＯＳ）光学的センサを使用して、写真及びビデオクリップの記録等のカメラ機能を促進することができる。
【００６９】
通信機能は、高周波受信器及び送信器、及び／又は光学的（例えば、赤外線）受信器及び送信器を含む１つ以上のワイヤレス通信サブシステム３０２４を通して促進することができる。通信サブシステム３０２４の特定の設計及び実施は、移動装置が動作するように意図された通信ネットワーク（１つ又は複数）に依存する。例えば、移動装置は、ＧＳＭネットワーク、ＧＰＲＳネットワーク、ＥＤＧＥネットワーク、Ｗｉ−Ｆｉ又はＷｉＭａｘネットワーク、及びＢｌｕｅｔｏｏｔｈ（登録商標）ネットワークを経て動作するように設計された通信サブシステム３０２４を備えることができる。特に、ワイヤレス通信サブシステム３０２４は、移動装置を他のワイヤレス装置に対するベースステーションとして構成できるようにホスティングプロトコルを含んでもよい。
【００７０】
オーディオサブシステム３０２６は、音声認識、音声複写、デジタル記録及び電話機能のような音声イネーブル機能を促進するためにスピーカ３０２８及びマイクロホン３０３０に結合することができる。
【００７１】
Ｉ／Ｏサブシステム３０４０は、タッチスクリーンコントローラ３０４２、及び／又は他の入力コントローラ（１つ又は複数）３０４４を備えることができる。タッチスクリーンコントローラ３０４２は、タッチスクリーン３０４６に結合することができる。タッチスクリーン３０４６及びタッチスクリーンコントローラ３０４２は、例えば、複数のタッチ感知技術のいずれかを使用して、接触及び運動又はその切断を検出することができ、それらタッチ感知技術は、タッチスクリーン３０４６との１つ以上の接触点を決定するための容量性、抵抗性、赤外線及び表面音波技術、並びに他の接近センサアレイ又は他の素子を含むが、これらに限定されない。
【００７２】
他の入力コントローラ（１つ又は複数）３０４４は、１つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、ＵＳＢポート、及び／又はスタイラス等のポインタ装置のような他の入力／制御装置３０４８に結合することができる。１つ以上のボタン（図示せず）は、スピーカ３０２８及び／又はマイクロホン３０３０の音量制御のためのアップ／ダウンボタンを含むことができる。
【００７３】
一実施形態では、第１の期間中ボタンを押すと、タッチスクリーン３０４６のロックを解除することができ、そして第１の期間より長い第２の期間中ボタンを押すと、移動装置への電力をオン又はオフに切り換えることができる。ユーザは、１つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン３０４６は、例えば、仮想又はソフトボタン及び／又はキーボードを実施するのに使用することもできる。
【００７４】
ある実施形態では、移動装置は、記録されたオーディオ及び／又はビデオファイル、例えば、ＭＰ３、ＡＡＣ及びＭＰＥＧファイルを提示することができる。ある実施形態では、移動装置は、ｉＰｏｄ（登録商標）のようなＭＰ３プレーヤの機能を含むことができる。それ故、移動装置は、ｉＰｏｄTMに適合できる３２ピンコネクタを含むことができる。他の入力／出力及び制御装置を使用することもできる。
【００７５】
メモリインターフェイス３００２は、メモリ３０５０に結合することができる。メモリ３０５０は、高速ランダムアクセスメモリ及び／又は不揮発性メモリ、例えば、１つ以上の磁気ディスク記憶装置、１つ以上の光学的記憶装置、及び／又はフラッシュメモリ（例えば、ＮＡＮＤ、ＮＯＲ）を含むことができる。メモリ３０５０は、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ（登録商標）のようなオペレーティングシステム３０５２、又はＶｘＷｏｒｋｓのような埋め込み型オペレーティングシステムを記憶することができる。オペレーティングシステム３０５２は、基本的なシステムサービスをハンドリングし且つハードウェア従属タスクを遂行するためのインストラクションを含むことができる。ある実施形態では、オペレーティングシステム３０５２は、カーネル（例えば、ＵＮＩＸカーネル）である。
【００７６】
又、メモリ３０５０は、１つ以上の付加的な装置、１つ以上のコンピュータ及び／又は１つ以上のサーバーとの通信を容易にするために通信インストラクション３０５４を記憶することもできる。メモリ３０５０は、グラフィックユーザインターフェイス処理を容易にするためのグラフィックユーザインターフェイスインストラクション３０５６、センサ関連処理及び機能を容易にするためのセンサ処理インストラクション３０５８、電話関連プロセス及び機能を容易にするための電話インストラクション３０６０、電子メッセージング関連プロセス及び機能を容易にするための電子メッセージングインストラクション３０６２、ウェブブラウジング関連プロセス及び機能を容易にするためのウェブブラウジングインストラクション３０６４、メディア処理関連プロセス及び機能を容易にするためのメディア処理インストラクション３０６６、ＧＰＳ及びナビゲーション関連プロセス及び機能を容易にするためのＧＰＳ／ナビゲーションインストラクション３０６８、カメラ関連プロセス及び機能を容易にするためのカメラインストラクション３０７０、及び／又は他のプロセス及び機能を容易にするための他のソフトウェアインストラクション３０７２を含むことができる。又、メモリ３０５０は、ウェブビデオ関連プロセス及び機能を容易にするためのウェブビデオインストラクション、及び／又はウェブショッピング関連プロセス及び機能を容易にするためのウェブショッピングインストラクションのような他のソフトウェアインストラクション（図示せず）も記憶することができる。ある実施形態では、メディア処理インストラクション３０６６は、オーディオ処理関連プロセス及び機能、並びにビデオ処理関連プロセス及び機能を各々容易にするためのオーディオ処理インストラクション及びビデオ処理インストラクションへと分割される。又、メモリ３０５０には、アクチベーションレコード及び国際移動装置アイデンティティ（ＩＭＥＩ）３０７４、又は同様のハードウェア識別子を記憶することもできる。
【００７７】
以上の説明は、本教示の基本的な新規な特徴を例示し、説明し、指摘するものであったが、当業者であれば、本教示の範囲から逸脱せずに、上述した装置及びその使い方の細部の形態の種々の省略、置き換え、及び変更がなされることを理解されたい。従って、本教示の範囲は、以上の説明に限定されるものではない。
【符号の説明】
【００７８】
１００：移動コンピューティング装置
１０２：ソフトウェアアプリケーション
１０４：ハードウェア
１０６：ウェブページ
１１２：ネットワーク
１１６：レイアウトエンジン
１２４：オペレーティングシステム
１２６：中央処理ユニット（ＣＰＵ）
１３０：グラフィック処理ユニット（ＧＰＵ）
１３２、１３４：メモリ
１３６：ディスプレイコントローラ
１４０：ディスプレイ
２０４：レンダリングレイヤ
２０６：意図された表示
２１０：レンダリングされた表示
２１２：偏差
２１４：アルゴリズム
２１６：合成レイヤ
２１８：表示されたウェブページ
３０２Ａ、３０２Ｂ：テキスト
３０４：静的映像
３０６：非加速アニメーション
３１０：ハードウェア加速レンダリング
３１２：コンテンツ見易さ
３１４：ドキュメント
３１６：スタッキングインデックス
３２０：フォント
【図１】
2011513855.tif 000003
【図２】
2011513855.tif 000004
【図３Ａ】
2011513855.tif 000005
【図３Ｂ】
2011513855.tif 000006
【図３Ｃ】
2011513855.tif 000007
【図４】
2011513855.tif 000008
【図５Ａ】
2011513855.tif 000009
【図５Ｂ】
2011513855.tif 000010
【図６】
2011513855.tif 000011
【国際調査報告】
2011513855.tif 000012
2011513855.tif 000013