JP2011513855A - ウェブベースコンテンツのレンダリングの加速 - Google Patents

ウェブベースコンテンツのレンダリングの加速 Download PDF

Info

Publication number
JP2011513855A
JP2011513855A JP2010549666A JP2010549666A JP2011513855A JP 2011513855 A JP2011513855 A JP 2011513855A JP 2010549666 A JP2010549666 A JP 2010549666A JP 2010549666 A JP2010549666 A JP 2010549666A JP 2011513855 A JP2011513855 A JP 2011513855A
Authority
JP
Japan
Prior art keywords
content
page
rendered
rendering
hardware
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010549666A
Other languages
English (en)
Other versions
JP5171968B2 (ja
Inventor
サイモン フレイザー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2011513855A publication Critical patent/JP2011513855A/ja
Application granted granted Critical
Publication of JP5171968B2 publication Critical patent/JP5171968B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Abstract

【課題】移動コンピューティング装置にウェブページをハードウェア加速提示するためのシステム及び方法を提供する。
【解決手段】レイアウトエンジン、ハードウェア加速のグラフィックアプリケーションプログラミングインターフェイス(API)を使用してウェブページを処理し表示することのできるコンピューティング装置により複数のウェブページが受け取られる。ウェブページを受け取ると、ウェブページは、ウェブページのスタイルシートに基づいて、複数のレンダリングレイヤへと分割される。アルゴリズムがレンダリングレイヤをウォークスルーし、レンダリング時にハードウェア加速の利点を取り入れるため合成レイヤを受け取る複数のレイヤを選択する。ウェブページは、その後、残りのレンダリングレイヤ及び合成レイヤを使用して移動コンピューティング装置のディスプレイに提示される。このようにして、レイアウトエンジンに使用するように最初に設計されていないコンテンツが表示されるときでも、ウェブコンテンツの視覚表示がそのまま保たれる。
【選択図】図2

Description

本発明は、ウェブベースコンテンツの表示に係る。
本出願は、2008年3月4日に出願された同時係争中の米国プロビジョナル特許出願第61/033,760号の優先権を主張するもので、このプロビジョナル特許出願は、参考としてここにそのまま援用される。
情報及び娯楽のようなコンテンツを配信するためのコンピュータの利用が増加するにつれて、このようなコンテンツを表示するように設計されたウェブページが、テキストだけでなく、アニメーション及びビデオも含めて、時間と共に益々複雑になってきた。ウェブ開発者の目標は、このコンテンツを、視覚的に訴える適時な形態で提示することである。従って、開発者は、ウェブページを設計するときに、このようなコンテンツの表示をどのように創作し管理するか考える。
ウェブブラウザにおけるカスケードスタイルシート(CSS)のサポートが改善されたことで、ウェブ開発者は、CSSを使用して、ハイパーテキストマークアップ言語(HTML)で書かれたドキュメントの提示をそのコンテンツとは独立して制御できるようになった。ウェブページ内の各コンテンツエレメントには、そのエレメントの提示を指令するスタイルルールのセットが指定される。このように、マークアップページは、異なるスタイルで提示することができる。
CSSは、更に、2つ以上のルールが特定のコンテンツエレメントに一致する場合に、どのスタイルルールを適用するか決定するプライオリティスキームも与える。この振舞いは、カスケードと称され、予測可能な結果を与えるために計算されてルールに指定される重みを使用するものである。CSSスタイルは、個別のドキュメントで与えることもできるし、又はマークアップドキュメントに埋め込むこともできる。スタイルシートは、インポートすることができ、ユーザ選択のために別のスタイルシートが指定される。
CSSは、ウェブページにおける単一エレメントの見掛け、例えば、そのサイズ及びバックグランドカラーと、ページ上の種々の異なるエレメントをどのように互いに視覚的に提示するか、の両方を制御するための種々のファシリティを与える。例えば、異なるエレメントの後−前の順序付けと、エレメントがその内部のエレメントを「クリップ」するかどうかとを制御する特性が与えられる。これらレンダリングの振舞いは、カスケードスタイルシートの仕様により規定される。
ウェブページは、慣習的にテキスト及び映像の静的な集合である。しかしながら、コンピューティング性能が高くなり、ブラウザ技術が改善されるにつれて、ウェブページ設計者は、JavaScript(登録商標)を通して、又はプラグインを使用することにより、アニメ化コンテンツをウェブページに頻繁に使用している。しかしながら、アニメーションが実行されるときのウェブページの位置の再計算及び全エレメントの再描写に関連したオーバーヘッドのために、アニメーション性能が限定されたままである。これは、計算力に限度がある移動コンピューティング装置で実行されるときに、特に言えることである。
それ故、ウェブブラウザは、アニメ化ウェブページコンテンツの提示にハードウェア加速を使用することを選択し、これにより、ウェブページのあるコンテンツエレメントを、ハードウェアテクスチャへとレンダリングし、次いで、移動コンピューティング装置のグラフィック処理ユニットを経て移動し合成することができる。しかしながら、ハードウェアによりあるページエレメントをレンダリングすると、当然、ページの視覚的提示が変化し、それらのエレメントは、非ハードウェアレンダリングコンテンツの上に提示され、従って、レイアウトエンジンが、カスケードスタイルシート仕様書に規定された提示ルールに違反することになり得る。
添付図面に例示された本発明の実施形態を、以下に詳細に説明する。
ウェブページのハードウェア加速表示を遂行することのできる移動コンピューティング装置の一実施形態を示す。 レンダリングアーティファクトの表示を実質的に禁止するレンダリングプロセスの一実施形態を示す。 ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。 ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。 ウェブページ、及びスタイルシートを使用してウェブページをドキュメント提示及びコンテンツへと分解するところを示す。 図1の移動コンピューティング装置により受け取られるウェブページのレイヤをレンダリングする一実施形態を示す。 移動装置の実施形態を例示する。 移動装置の構成可能なトップレベルグラフィックユーザインターフェイスの実施形態を例示する。 移動装置の実施形態を例示するブロック図である。
ここに開示する実施形態は、移動コンピューティング装置においてウェブページをハードウェア加速レンダリングするためのシステム及び方法に係るものである。ハードウェア加速のグラフィックアプリケーションプログラミングインターフェイス(API)を使用してウェブページを処理し表示することのできる移動コンピューティング装置により複数のウェブページが受け取られる。ウェブページを受け取ると、装置は、ウェブコンテンツを複数のレンダリングレイヤへ分割する。レンダリングレイヤは、ウェブページの実際の表示を決定するのに使用され、これは、スタイルシートに基づくウェブページの意図されたページと比較される。実際の表示と意図された表示との間の著しい偏差が決定され、この偏差を実質的に最小にするためのアルゴリズムが使用される。一実施形態では、ハードウェアバック型レイヤを受け取るために複数のレンダリングレイヤの各部分がアルゴリズムで選択され、その選択されたレイヤを、レンダリング時にハードウェア加速することができる。このように、ウェブページの視覚表示が仕様に適合し続けることができる一方、ページエレメントのサブセットをハードウェアでアニメ化することができる。
好都合にも、ウェブページコンテンツ、並びにウェブページをレンダリングするときの移動コンピューティング装置の状態にアルゴリズムを適応させることができる。アルゴリズムは、これに限定されないが、ウェブページコンテンツの相対的配置、ウェブページコンテンツの希望のレンダリング順序、ウェブページエレメントが互いにオーバーラップするかどうか、ウェブページコンテンツにより表示される要求されたアニメーション効果、利用可能な処理リソース、及びメモリを含むファクタに基づいて、その選択を行うことができる。これら及び他の効果は、以下に詳細に述べる。
ここに述べるプロセスは、順次のオペレーションに関して説明するが、あるオペレーションは、異なる順序で遂行されてもよいことが明らかであろう。更に、あるオペレーションは、順次ではなく、並列に遂行されてもよい。更に、あるオペレーションは、必要に応じて、省略してもよい。
全体を通じて同じ要素が同じ番号で示された添付図面を参照して実施形態を説明する。ここでの説明に使用される用語は、幾つかの実施形態の詳細な説明に関連して使用されるだけであるから、制限又は限定的に解釈されるものではない。更に、ここに開示する実施形態は、多数の新規な特徴を包含し、その1つが単独で希望の属性に対して役立つというものでもないし、ここに述べる発明を実施するのに重要というものでもない。
図1は、ウェブページ106を受け取って表示するように構成された移動コンピューティング装置100の一実施形態を示す。この装置100は、ウェブページ106を分析して、ウェブページ106をレンダリングするインストラクションを発生するように構成された複数のソフトウェアアプリケーション102を備えることができる。装置100は、更に、発生されたインストラクションを実行して、ウェブページ106を装置100のユーザに表示するためのハードウェア104を備えることができる。移動コンピューティング装置100は、ウェブコンテンツをレンダリングして表示することのできる装置、例えば、コンピュータ、移動装置、パーソナルデジタルアシスタント、等である。
移動コンピューティング装置100は、複数のウェブページ106を移動コンピューティング装置100へ配信するネットワーク112と通信する。ネットワーク112は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、イントラネット、エクストラネット、及びインターネットを含む。ネットワーク112は、更に、ワイヤード通信メカニズム、ワイヤレス通信メカニズム、及びその組み合わせを使用して具現化することができる。ある実施形態では、移動コンピューティング装置100は、アップル社のiPhoneTMであるか又はそれを含む。
移動コンピューティング装置100によって受け取られると、ウェブページ106は、ウェブブラウザのためのレイアウトエンジン116へ送られる。レイアウトエンジン116は、ウェブページ106をエレメントへとパーズし、スタイルを考慮してそれらエレメントの視覚表示を計算し、そしてそれらエレメントを移動コンピューティング装置100においてレンダリングするための複数のファシリティを備えることができる。レンダリングは、複数のグラフィックアプリケーションプログラミングインターフェイス(API)を経て遂行され、これは、二次元及び三次元コンピュータグラフィックを表示するためにハードウェア104により使用できるインストラクションを発生する。一実施形態では、1つ以上のグラフィックAPIは、OpenGL(登録商標)122である。グラフィックAPIは、更に、Core Animation(登録商標、アップル社)120のように、ハードウェア加速を行うことのできるグラフィックAPIから選択されてもよい。この実施形態にOpenGLを使用して、ハードウェア加速を行うこともできる。
レイアウトエンジン116は、オペレーティングシステム124を経てハードウェア104に通信結合される。ハードウェア104は、これに限定されないが、複数のプロセッサ126、130、複数のメモリ132、134、少なくとも1つのディスプレイコントローラ136、及び少なくとも1つのディスプレイ140を備えている。オペレーティングシステム124は、更に、ハードウェア104とソフトウェア102との間の通信を容易にする複数のドライバ(図示せず)も含むことができる。
プロセッサ126、130は、例えば、中央処理ユニット(CPU)126のような汎用プロセッサ、及びグラフィック処理ユニット(GPU)130のような特殊プロセッサを含むことができる。GPU130は、異なる形式のグラフィックデータを処理する二次元(2D)コア及び/又は三次元(3D)コアのような複数のコアロジックを含み、そして異なる種類のグラフィックリソースを使用する。GPU130の出力は、グラフィックメモリ134に記憶され、ディスプレイコントローラ136によりフェッチされてディスプレイ140に表示される。例えば、GPU130は、グラフィックの処理に使用される情報を記憶する専用のグラフィックメモリ134を使用し、一方、CPU126は、このCPU126及び装置100の他のコンポーネントにより共有されるメモリ132を使用する。
図2は、レンダリングアーティファクトの表示を実質的に禁止するためにウェブページのレンダリングを分析して変更するプロセス200の一実施形態を示す。ある実施形態では、プロセス200は、レイアウトエンジン116により実施される。一般的に、レイアウトエンジン116は、ネットワーク112からHTML/XHTMLファイルをダウンロードし、これらは、ページコンテンツを記述すると共に、HTMLタグの属性を経ての提示を、既存のHTMLレイアウトルールにより、ある程度記述する。次いで、レイアウトエンジン116は、HTMLをドキュメントノードのツリーへとパーズし、ここでは、ノードの形式及びそれらの関係がドキュメントオブジェクトモデル(DOM)仕様により記述される。次いで、レイアウトエンジン116は、ウェブページ106によって直接的又は間接的に参照されるCSSファイルをダウンロードし、そしてウェブページ106においてインラインであるCSSルールを見る。又、レイアウトエンジン116は、ウェブページ106により直接的又は間接的に参照されるJavaScriptファイルもダウンロードする。JavaScriptコードは、エレメントに適用されるスタイルの変更も行う。
レイアウトエンジン116は、種々の形式のエレメントに対して標準的レンダリングされた見掛けにより決定されるページ上のエレメントの視覚的表示を計算し、次いで、種々のエレメントの見掛けがCSSスタイルルールによりどのように変化するか計算する。それに加えて、レイアウトエンジン116は、各エレメントのページ上の位置及び表示順序を、スタイルルール及びエレメント間の相互作用に基づいて計算する。
エレメントの位置及び表示順序を計算する一部分として、レイアウトエンジン116は、レンダリングレイヤと称されるエレメントのあるサブセットのレンダリングを制御するオブジェクトのハイアラーキーを構築する。
又、レイアウトエンジン116は、スタイル及び潜在的に他のものを見て、レンダリングレイヤのあるサブセットがハードウェア加速/合成されねばならないことを決定する。レイアウトエンジン116は、次いで、レンダリングレイヤのハイアラーキーを分析して、他のレンダリングレイヤのどれがウェブページ106の視覚的見掛けを保存するためにハードウェア合成を要求するか決定する。
一実施形態では、レイアウトエンジン116は、ウェブページ106の意図された表示206を識別する。例えば、意図された表示206は、ウェブページ106の複数のスタイルシートのウォークスルー202のプロセスによって識別される。ある実施形態では、スタイルシートは、カスケードスタイルシート(CSS)言語で与えられる。
図3A−3Cに示すように、ウェブページ106(図3A)は、コンテンツ(図3C)及びドキュメント提示(図3B)へと分割され、これは、CSSで書くことができる。コンテンツは、例えば、テキスト302A、302B、静的映像304、ハードウェア加速レンダリングの利点を取り入れるように設計されたアニメーション310、及び非加速アニメーション306を含む。アニメーション306は、既存のコンテンツを変更するオペレーションを表し、他のCSS特性、フォント面又はカラーのように処理される。
ウェブページコンテンツには、複数のドキュメント提示ルールが適用される。これらのルールは、例えば、二次元における静的及び動的ポジショニング314、コンテンツ見易さ312、及びフォント320を含む。例えば、ルールは、スタックインデックス316に関連した前−後の順序(zインデックス)を指定する。CSSは、更に、コンテンツの断片に複数のルールを利用できるときに、どんなスタイルルールが適用されるか判断するウェブページコンテンツのプライオリティスキームを指定することができる。ポジショニングを使用して、コンテンツは、ウェブページ106内の希望の位置に配置される。オーバーフローを使用して、コンテンツがボックスの外側に溢れるエレメントの振舞いを制御することができる。見易さは、更に、コンテンツの断片を示すか又は隠す。
インデックス316は、ページ上のエレメントがオーバーラップするときにどんな順序でコンテンツを描くか指定するのに使用される。フォントパラメータは、表示テキストの形式、サイズ、及びスタイルを変えるのに使用される。例えば、時間に伴うコンテンツの位置、コンテンツの見易さ、及び複数の映像の提示を含むコンテンツフォーマットを調整することにより、単純なアニメーションを発生することができる。
従って、ウェブページ106のCSS内でインストラクションをウォークスルーフォーマットすることにより、ウェブページ106の意図された表示206が決定される。
更に別の実施形態では、ウェブページ106のレンダリングされた表示210を決定するために、レイアウトエンジン116により複数のレンダリングレイヤ204が発生される。レンダリングレイヤ204は、ページのコンテンツの関連サブセットを各々レンダリングするオブジェクトのハイアラーキーを含む。このハイアラーキーにおけるレンダリングレイヤ204は、各々、ウェブページ106の視覚的提示を発生するためにそれらのコンテンツを所定のシーケンスでペイントする。ウェブページ106から導出されたレンダリングレイヤ400A−400Dが図4に例示されている。
又、プロセス200は、どのレンダリングレイヤ204が、それらレイヤがアニメーションを受けることを指示するスタイル又は他の入力ソースによりハードウェアバッキングを要求するか、又は3Dレンダリングを通してレンダリングするときしか可能でない提示を得るか、決定することができる。例えば、エレメントが、パースペクティブを伴う回転変換のような非アフィン変換を有する場合には、これらオペレーションは、ハードウェアバッキングに良く適したものとなる。
又、プロセス200において、ページの視覚的表示を維持するために他のレンダリングレイヤ204のどれがハードウェアバッキングを要求するかも決定される。例えば、手前のステップにおいてハードウェア合成レイヤを受け取った何かの頂部で通常レンダリングされるページエレメントは、その頂部でレンダリングされ続けるように、それ自体、ハードウェアレイヤを得ることが必要である。レンダリングされたレイヤ204は、レンダリングされた表示210を決定するためにプロセス200により使用される。レンダリングされた表示210は、意図された表示206と比較され、偏差212を決定する。
この分析から、アルゴリズム214は、レンダリングレイヤ204の各部分を選択し、ここでは合成レイヤ216と称されるその選択されたレイヤを変更して、それらがハードウェア加速レンダリングのためにグラフィックAPIに関連して作用するようにする。一実施形態では、選択されたレンダリングレイヤ204は、それに対応するレイヤへとペイントされて、合成レイヤ216を得る。このように、表示されるウェブページ218は、残りのレンダリングレイヤ204及び合成レイヤ216の組み合わせから生成される。表示されるウェブページ218は、意図された表示206と実質的に同じである。このプロセスを必要に応じて繰り返してこの結果が得られることを理解されたい。
アルゴリズム214の実施形態は、合成レイヤ216を生成するのに使用されるレンダリングレイヤ204を複数のファクタに基づいて選択する。これらファクタは、例えば、ウェブページコンテンツの相対的な配置、ウェブページコンテンツの希望のレンダリング順序、ウェブページコンテンツが互いにオーバーラップするかどうか、ウェブページコンテンツにより表される要求されるアニメーション効果を含む。アルゴリズム214は、更に、利用可能な処理リソース、メモリ、等に基づいてその選択を行う。
アルゴリズム214では、レイアウトエンジン116は、ウェブページ106のコンテンツを正しい後−前順序でペイントするために、レンダリングレイヤのハイアラーキーを構築する。レンダリングレイヤのハイアラーキーは、ウェブの構造に基づく。
レイアウトエンジン116は、この第1のハイアラーキーから、ページエレメントの前−後の順序(即ち、zインデックス)に影響するスタイル、及びエレメントを強制的に「スタッキングコンテクスト」にするスタイルを考慮することにより、レンダリングレイヤの新たなハイアラーキーを計算する。あるスタッキングコンテクスト内で、子エレメントは、そのz順序に基づいてソートされるが、異なるスタッキングコンテクスト内のエレメントは、インターソート(inter-sort)ではない。
次いで、レンダリングレイヤごとにエレメントに関連したスタイルが検査され、そしてレイアウトエンジン116は、現在のレンダリングレイヤがハードウェア合成サポートを要求するかどうかの判断を行う。この判断をするのに使用する基準は、このレイヤに対するエレメントに適用されるスタイルルールが、不透明さ又は表示変換のようなある特性に過渡的な遷移を含むアニメーションを指定するかどうか;このレイヤに対するエレメントに適用されるスタイルルールが、非アフィン変換のような、利用可能な2D描写APIでは困難な表示変換を記述するかどうか;レンダリングレイヤ204に関連したエレメントがハードウェア合成から利益が得られるかどうか(例えば、ビデオを表示するエレメントは、それらがハードウェア合成行先へとレンダリングされる場合に非常に効率的に表示することができる);を含むが、これらに限定されない。
レイアウトエンジン116は、視覚的提示の順序(後−前)でレンダリングレイヤのハイアラーキーにわたり第2パスを遂行し、そして付加的なレンダリングレイヤには、これに限定されないが、次の基準を含む第2の理由で、ハードウェア合成レイヤを指定することができる。
例えば、レイアウトエンジン116は、ページの視覚的提示を保存するためにレンダリングレイヤ204を別のハードウェア合成レンダリングレイヤの前方に描かねばならないかどうか考慮する。アルゴリズム214は、スクリーン上のレンダリングレイヤの位置を考慮し、そしてオーバーラップが検出されたときだけハードウェア合成されたレイヤを指定するが、この場合は、アルゴリズム214は、アニメーションを含むページ表示の変化がそのオーバーラップに影響を及ぼすときを検出して、付加的なハードウェア合成レイヤを指定する。
又、レイアウトエンジン116は、レンダリングレイヤ204が、その子エレメントをクリップするようにさせるスタイル(即ち、「オーバーフロー」スタイル)を有するかどうか考慮し、そして1つ以上の子エレメントがハードウェア合成レンダリングレイヤへとレンダリングされる。これらのハードウェア合成レイヤが使用されるのは、それらのハードウェア合成子エレメントが、ソフトウェアレンダリングコード経路に使用される標準的なクリップメカニズムによってクリップされないからである。というのは、それらがハードウェア加速されるからであり、且つレンダリングレイヤ204のコンテンツがハードウェア加速アニメーションを経験するためにクリッピングそれ自体がハードウェア加速で実施されないからである。
レイアウトエンジン116は、更に、以前のいずれかのステップで合成レイヤが指定されたレンダリングレイヤを検査し、そしてハードウェア合成されたレイヤが指定されている単一のレンダリングレイヤが、2つ以上のハードウェア合成レイヤを生成して維持する必要のある状況を識別する。これらの状況は、レンダリングレイヤがスタッキングコンテクストであり且つそれらが負のzインデックスと共にハードウェア合成の子を有する場合に、そのレンダリングレイヤのエレメントのコンテンツに対して付加的なレイヤが生成されるという状況を含むが、これに限定されない。これは、そのエレメントの背景の前であるがそのコンテンツの後方でレンダリングするために負のzインデックス子を使用する視覚的表示を保存するのに有用である。
又、レンダリングレイヤ204が、その子をクリップするようにさせる「オーバーフロー」スタイルを有し、そのレンダリングレイヤがスタッキングコンテクストではなく、その1つ以上の子がハードウェア合成されたレイヤに関連している場合には、それらの子のクリッピングを行うのに付加的なハードウェア合成レイヤが有用である。これが有用であるのは、「オーバーフロー」スタイルを伴うエレメントが自動的にスタッキングコンテクストとならず、従って、レンダリングハイアラーキーにおいて必ずしもそのクリップされた子レイヤの親として作用しないからである。
エレメントに、そのエレメントの表示(例えば、ビデオ)を最適化するためのレンダリングレイヤが指定されたが、そのスタイルが、そのエレメントの付加的なボックスデコレーション、例えば、ボーダーを規定する場合には、これらボックスデコレーションをレンダリングし、従って、そのエレメントの表示の効率を保存するために、付加的なハードウェア合成レイヤを生成することができる。
ハードウェア合成レイヤは、それに関連したデータ構造及びバッキング記憶(必要なとき)に要求されるメモリ、及びそれらを生成して維持するための計算要件に関して、処理コストがかかる。ある実施形態では、レイアウトエンジン116は、多数の技術を通して生成されるハードウェア合成レイヤの数及びサイズを最小にするように構成され、それら技術は、スタッキングコンテクストであって、ハードウェア合成を必要とする子エレメントをもたないレンダリングレイヤ204を、それに関連したハードウェア合成レイヤ又はある親レンダリングレイヤへと常にレンダリングすることができ;ハードウェア合成レイヤを有するエレメントの後方に描写するエレメントを、ある親レンダリングレイヤに関連したハードウェアレイヤへ、又はページの非ハードウェア加速エレメントの描写行先へとレンダリングすることができ;レンダリングレイヤ204及びそれらの非加速の子に対して生成されたハードウェア合成レイヤは、輪郭及び陰影のようなボックスデコレーションを含むエレメントを収容するに足る大きさでよく、それ以上大きくない;ことを含むが、これらに限定されない。
ページコンテンツ、及びページ上のエレメントに適用されるスタイルは、両方とも、ユーザのアクティビティに応答してページがロードされた後、或いはJavaScriptを通して直接的又は間接的に、変化する。ページ上のエレメントの視覚的提示に影響する変化が検出されると、レイアウトエンジン116は、レンダリングレイヤ204のハイアラーキーの全部又は一部分にわたってそのアルゴリズム214を実行し、ページの視覚的提示を保存するためにハードウェア合成レンダリングレイヤのセットを更新するよう保証する。
多くの場合、アルゴリズム214により生成されるハードウェア合成レイヤに関連したエレメントは、システム提供描写APIを経てハードウェア合成レイヤへとレンダリングされる。これは、テキスト、映像、ボーダー、等の混合を与えるエレメントに対するものである。又、これは、そのようなハードウェア合成されたレイヤが、レンダリングされた提示を保存するためにメモリバッファ又はバッキング記憶装置を要求することも指示し、このメモリバッファは、グラフィック処理ハードウェアにより表示上に合成するために、そのハードウェアへアップロードされる。
ハードウェア合成レイヤに対するメモリバッファの割り当ては、システムリソースを利用できるようにするが、種々の実施形態において最小にされる。これを達成するために、アルゴリズム204は、バッキング記憶装置を割り当てずに利用可能なハードウェア加速グラフィックAPIによって提示されるレンダリングレイヤ内のエレメントのある構成を検出するように変更される。これらの構成は、目に見えるコンテンツをもたず、子のレンダリングレイヤのためのコンテナとして働くだけであるエレメントに関連したレンダリングレイヤを含むが、これに限定されない。この場合、ハードウェア加速レイヤがこれらのレンダリングレイヤに指定されるが、これらハードウェア加速レイヤは、子のための幾何学的計算に単に関与し、それら自身の描写は行わない。
レンダリングレイヤは、濃い背景色を有するが、その同じレンダリングレイヤへとレンダリングされる他のコンテンツをもたないエレメントに関連している。この場合に、濃い背景色を描くインストラクションは、ハードウェア加速グラフィックAPIを経て基礎的なグラフィックプロセッサへ通され、これは、スクリーンの全エリアを、ソフトウェアベースの描写APIにより可能であるより著しく効率的に濃い色で埋める。又、レンダリングレイヤは、映像を表示するエレメントに関連してもよい。この場合、映像のデコードされたピクセルは、ソフトウェアベースの描写APIを経てレンダリングされる必要なく、ハードウェア加速グラフィックAPIへ送られて、グラフィックテクスチャーとして使用される。従って、ページコンテンツ又はスタイルが変化すると、アルゴリズムがページエレメントを再検査し、これらの構成のいずれかを検出した場合に、それらの利点を取り入れるようにハードウェア加速レンダリングレイヤのセットを再構成する。
図5Aは、移動装置2500の一例を示す。移動装置2500は、例えば、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、セルラー電話、ネットワーク機器、カメラ、スマートホン、改良型汎用パケット無線サービス(EGPRS)移動電話、ネットワークベースステーション、メディアプレーヤ、ナビゲーション装置、e−メール装置、ゲームコンソール、或いはこれらデータ処理装置又は他のデータ処理装置の2つ以上の組み合せである。
(移動装置の概略)
ある実施形態では、移動装置2500は、タッチ感知ディスプレイ2502を備えている。タッチ感知ディスプレイ2502は、液晶ディスプレイ(LCD)技術、光放射ポリマーディスプレイ(LPD)技術、又は他のディスプレイ技術で実施することができる。タッチ感知ディスプレイ2502は、ユーザとの触覚及び/又は触感接触を感知することができる。
ある実施形態では、タッチ感知ディスプレイ2502は、マルチタッチ感知ディスプレイ2502を含むことができる。マルチタッチ感知ディスプレイ2502は、例えば、複数の同時タッチポイントを処理することができ、これは、各タッチポイントの圧力、度合い及び/又は位置に関連したデータを処理することを含む。このような処理は、複数の指でのジェスチャー及び相互作用、コーディング(chording)、及び他の相互作用を容易にする。他のタッチ感知ディスプレイ技術も使用でき、例えば、スタイラス又は他のポインティング装置を使用して接触を行うディスプレイも使用できる。マルチタッチ感知ディスプレイ技術の幾つかの例が、米国特許第6,323,846号、第6,570,557号、第6,677,932号、及び第6,888,536号に説明されており、その各々を参考としてここにそのまま援用する。
ある実施形態では、移動装置2500は、種々のシステムオブジェクトへのユーザアクセスを与えると共にユーザへ情報を搬送するためにタッチ感知ディスプレイ2502上に1つ以上のグラフィックユーザインターフェイスを表示することができる。ある実施形態では、グラフィックユーザインターフェイスは、1つ以上のディスプレイオブジェクト2504、2506を含むことができる。ここに示す例では、ディスプレイオブジェクト2504、2506は、システムオブジェクトのグラフィック表示である。システムオブジェクトの幾つかの例は、装置の機能、アプリケーション、ウインドウ、ファイル、警告、事象、又は他の識別可能なシステムオブジェクトを含む。
(移動装置の機能の例)
ある実施形態では、移動装置2500は、電話オブジェクト2510により指示された電話装置、メールオブジェクト2512により指示されたe−メール装置、マップオブジェクト2514により指示されたマップ装置、Wi−Fiベースステーション装置(図示せず)、並びにウェブビデオオブジェクト2516により指示されたネットワークビデオ送信及びディスプレイ装置、等の複数の装置機能を具現化することができる。ある実施形態では、特定のディスプレイオブジェクト2504、例えば、電話オブジェクト2510、メールオブジェクト2512、マップオブジェクト2514、及びウェブビデオオブジェクト2516は、メニューバー2518に表示することができる。ある実施形態では、装置の機能は、図5Aに示すグラフィックユーザインターフェイスのようなトップレベルのグラフィックユーザインターフェイスからアクセスすることができる。例えば、オブジェクト2510、2512、2514、又は2516の1つにタッチすると、それに対応する機能を呼び出すことができる。
ある実施形態では、移動装置2500は、ネットワーク配布機能を具現化することができる。例えば、この機能は、ユーザが移動装置2500を取り上げて、移動しながらその関連ネットワークにアクセスできるようにする。特に、移動装置2500は、インターネットアクセス(例えば、WiFi)をその付近の他のワイヤレス装置へと拡張することができる。例えば、移動装置2500は、1つ以上の装置のためのベースステーションとして構成することができる。従って、移動装置2500は、他のワイヤレス装置へのネットワークアクセスを承諾又は拒絶することができる。
ある実施形態では、装置の機能を呼び出すと、移動装置2500のグラフィックユーザインターフェイスが変化し、又は増強され、或いは別のユーザインターフェイス又はユーザインターフェイス要素と置き換えられて、それに対応する装置機能に関連した特定機能へのユーザアクセスを容易にする。例えば、ユーザが電話オブジェクト2510にタッチするのに応答して、タッチ感知ディスプレイ2502のグラフィックユーザインターフェイスは、種々の電話機能に関連したディスプレイオブジェクトを提示し、同様に、メールオブジェクト2512にタッチすると、グラフィックユーザインターフェイスは、種々のe−メール機能に関連したディスプレイオブジェクトを提示し、マップオブジェクト2514にタッチすると、グラフィックユーザインターフェイスは、種々のマップ機能に関連したディスプレイオブジェクトを提示し、そしてウェブビデオオブジェクト2516にタッチすると、グラフィックユーザインターフェイスは、種々のウェブビデオ記憶に関連したディスプレイオブジェクトを提示する。
ある実施形態では、図5Aのトップレベルのグラフィックユーザインターフェイス環境又は状態は、移動装置2500の底部付近に配置されたボタン2520を押すことにより回復することができる。ある実施形態では、各々の対応する装置機能は、タッチ感知ディスプレイ2502に表示された対応する「ホーム」ディスプレイオブジェクトを有し、図5Aのグラフィックユーザインターフェイス環境は、「ホーム」ディスプレイオブジェクトを押すことにより回復することができる。
ある実施形態では、トップレベルのグラフィックユーザインターフェイスは、付加的なディスプレイオブジェクト2506、例えば、ショートメッセージングサービス(SMS)オブジェクト2530、カレンダーオブジェクト2532、写真オブジェクト2534、カメラオブジェクト2536、計算器オブジェクト2538、株オブジェクト2540、アドレス帳オブジェクト2542、メディアオブジェクト2544、ウェブオブジェクト2546、ビデオオブジェクト2548、設定オブジェクト2550、及びノートオブジェクト(図示せず)を含むことができる。例えば、SMSディスプレイオブジェクト2530にタッチすると、SMSメッセージング環境及びサポート機能を呼び出すことができ、同様に、ディスプレイオブジェクト2532、2534、2536、2538、2540、2542、2544、2546、2548、及び2550を各々選択すると、それに対応するオブジェクト環境及び機能を呼び出すことができる。
又、図5Aのグラフィックユーザインターフェイスには、付加的な及び/又は異なるディスプレイオブジェクトを表示することもできる。例えば、装置2500が他の装置のためのベースステーションとして機能する場合には、1つ以上の「接続」オブジェクトがグラフィックユーザインターフェイスに現れて、接続を指示する。ある実施形態では、ディスプレイオブジェクト2506は、ユーザによって構成することができ、例えば、ユーザは、どのディスプレイオブジェクト2506が表示されるか指定することができ、及び/又は他の機能及びそれに対応するディスプレイオブジェクトを与える付加的なアプリケーション又は他のソフトウェアをダウンロードすることができる。
ある実施形態では、移動装置2500は、1つ以上の入力/出力(I/O)装置及び/又はセンサ装置を含むことができる。例えば、音声イネーブル機能、例えば、電話及び音声メール機能を容易にするためにスピーカ2560及びマイクロホン2562を含むことができる。ある実施形態では、スピーカ2560及びマイクロホン2562の音量制御のためのアップ/ダウンボタン2584を含ませることができる。又、移動装置2500は、電話の入呼びのリングインジケータのためのオン/オフボタン2582を含むこともできる。ある実施形態では、電話のスピーカ機能のようなハンズフリー音声機能を容易にするためにスピーカ2564を含ませることができる。又、ヘッドホン及び/又はマイクロホンを使用するためにオーディオジャック2566を含ませることもできる。
ある実施形態では、ユーザが移動装置2500をユーザの耳の付近に配置するのを検出し、それに応答して、タッチ感知ディスプレイ2502を解離して、偶発的な機能の呼び出しを防止し易くするために、接近センサ2568を含ませることができる。ある実施形態では、移動装置2500がユーザの耳の付近にあるときに付加的な電力を保存するために、タッチ感知ディスプレイ2502をターンオフすることができる。
又、他のセンサを使用することもできる。例えば、ある実施形態では、周囲光センサ2570を使用して、タッチ感知ディスプレイ2502の輝度を容易に調整することができる。ある実施形態では、加速度計2572を使用して、方向矢印2574で示された移動装置2500の動きを検出することができる。従って、ディスプレイオブジェクト及び/又はメディアは、例えば、肖像画又は風景画のような検出された方向に基づいて提示することができる。ある実施形態では、移動装置2500は、グローバルポジショニングシステム(GPS)又は他のポジショニングシステム(例えば、Wi−Fiアクセスポイント、テレビ信号、セルラーグリッド、ユニフォームリソースロケータ(URL)を使用するシステム)により与えられるような位置決定能力をサポートするための回路及びセンサを含むことができる。ある実施形態では、ポジショニングシステム(例えば、GPS受信器)を移動装置2500へ一体化することもできるし、又は位置に基づくサービスへのアクセスを与えるためにインターフェイス(例えば、ポート装置2590)を通して移動装置2500へ結合できる個別の装置として設けることもできる。
ある実施形態では、ポート装置2590、例えば、ユニバーサルシリアルバス(USB)ポート、又はドッキングポート、又は他の何らかのワイヤードポート接続を含ませることができる。ポート装置2590は、例えば、他の通信装置2500、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、ディスプレイスクリーン、又はデータの送信及び/又は受信を行える他の処理装置のような他のコンピューティング装置へのワイヤード接続を確立することができる。ある実施形態では、ポート装置2590は、移動装置2500が、例えば、TCP/IP、HTTP、UDP及び他の既知のプロトコルのような1つ以上のプロトコルを使用して、ホスト装置と同期をとれるようにする。
又、移動装置2500は、カメラレンズ及びセンサ2580を備えることもできる。ある実施形態では、カメラレンズ及びセンサ2580は、移動装置2500の背面に配置することができる。カメラは、静止映像及び/又はビデオを捕獲することができる。
又、移動装置2500は、802.11b/g通信装置2586、及び/又はBluetooth(登録商標)通信装置2588のような1つ以上のワイヤレス通信サブシステムを備えることもできる。又、他の802.x通信プロトコル(例えば、WiMax、Wi−Fi、3G)、コード分割多重アクセス(CDMA)、移動通信用のグローバルシステム(GSM(登録商標))、エンハンストデータGSM環境(EDGE)、等を含む他の通信プロトコルをサポートすることもできる。
(構成可能なトップレベルグラフィックユーザインターフェイスの例)
図5Bは、装置2500の構成可能なトップレベルグラフィックユーザインターフェイスの別の例を示す。装置2500は、ディスプレイオブジェクトの異なるセットを表示するように構成できる。
ある実施形態では、装置2500の1つ以上のシステムオブジェクトの各々は、それに関連したシステムオブジェクト属性のセットを有し、そして属性の1つは、システムオブジェクトに対するディスプレイオブジェクトがトップレベルグラフィックユーザインターフェイスにおいてレンダリングされるかどうか決定する。この属性は、システムによって自動的にセットすることもできるし、又は以下に述べるように、あるプログラム又はシステム機能を介してユーザによりセットすることもできる。図5Bは、(例えば、ノートシステムオブジェクト及びウェブビデオシステムオブジェクトの属性が変更されるときに)ノートオブジェクト2552(図5Aには示さず)がどのようにして装置2500のトップレベルグラフィックユーザインターフェイスに追加され及びウェブビデオオブジェクト2516がそこから除去されるかの一例を示す。
(移動装置アーキテクチャーの例)
図6は、移動装置(例えば、移動装置2500)の実施形態のブロック図3000である。移動装置は、メモリインターフェイス3002、1つ以上のデータプロセッサ、映像プロセッサ及び/又は中央処理ユニット3004、並びに周辺インターフェイス3006を備えることができる。メモリインターフェイス3002、1つ以上のプロセッサ3004、及び/又は周辺インターフェイス3006は、個別のコンポーネントでもよいし、又は1つ以上の集積回路に一体化されてもよい。移動装置の種々のコンポーネントは、1つ以上の通信バス又は信号ラインにより結合することができる。
センサ、装置及びサブシステムは、複数の機能を促進するために周辺インターフェイス3006に結合することができる。例えば、図5Aを参照して述べた方向決め、照明及び接近機能を促進するために、運動センサ3010、光センサ3012及び接近センサ3014を周辺インターフェイス3006に結合することができる。又、ポジショニングシステム(例えば、GPS受信器)、温度センサ、生物測定センサ、又は他の感知装置のような他のセンサ3016を周辺インターフェイス3006に接続して、その関連機能を促進することもできる。
又、カメラサブシステム3020及び光学的センサ3022、例えば、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)光学的センサを使用して、写真及びビデオクリップの記録等のカメラ機能を促進することができる。
通信機能は、高周波受信器及び送信器、及び/又は光学的(例えば、赤外線)受信器及び送信器を含む1つ以上のワイヤレス通信サブシステム3024を通して促進することができる。通信サブシステム3024の特定の設計及び実施は、移動装置が動作するように意図された通信ネットワーク(1つ又は複数)に依存する。例えば、移動装置は、GSMネットワーク、GPRSネットワーク、EDGEネットワーク、Wi−Fi又はWiMaxネットワーク、及びBluetooth(登録商標)ネットワークを経て動作するように設計された通信サブシステム3024を備えることができる。特に、ワイヤレス通信サブシステム3024は、移動装置を他のワイヤレス装置に対するベースステーションとして構成できるようにホスティングプロトコルを含んでもよい。
オーディオサブシステム3026は、音声認識、音声複写、デジタル記録及び電話機能のような音声イネーブル機能を促進するためにスピーカ3028及びマイクロホン3030に結合することができる。
I/Oサブシステム3040は、タッチスクリーンコントローラ3042、及び/又は他の入力コントローラ(1つ又は複数)3044を備えることができる。タッチスクリーンコントローラ3042は、タッチスクリーン3046に結合することができる。タッチスクリーン3046及びタッチスクリーンコントローラ3042は、例えば、複数のタッチ感知技術のいずれかを使用して、接触及び運動又はその切断を検出することができ、それらタッチ感知技術は、タッチスクリーン3046との1つ以上の接触点を決定するための容量性、抵抗性、赤外線及び表面音波技術、並びに他の接近センサアレイ又は他の素子を含むが、これらに限定されない。
他の入力コントローラ(1つ又は複数)3044は、1つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、USBポート、及び/又はスタイラス等のポインタ装置のような他の入力/制御装置3048に結合することができる。1つ以上のボタン(図示せず)は、スピーカ3028及び/又はマイクロホン3030の音量制御のためのアップ/ダウンボタンを含むことができる。
一実施形態では、第1の期間中ボタンを押すと、タッチスクリーン3046のロックを解除することができ、そして第1の期間より長い第2の期間中ボタンを押すと、移動装置への電力をオン又はオフに切り換えることができる。ユーザは、1つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン3046は、例えば、仮想又はソフトボタン及び/又はキーボードを実施するのに使用することもできる。
ある実施形態では、移動装置は、記録されたオーディオ及び/又はビデオファイル、例えば、MP3、AAC及びMPEGファイルを提示することができる。ある実施形態では、移動装置は、iPod(登録商標)のようなMP3プレーヤの機能を含むことができる。それ故、移動装置は、iPodTMに適合できる32ピンコネクタを含むことができる。他の入力/出力及び制御装置を使用することもできる。
メモリインターフェイス3002は、メモリ3050に結合することができる。メモリ3050は、高速ランダムアクセスメモリ及び/又は不揮発性メモリ、例えば、1つ以上の磁気ディスク記憶装置、1つ以上の光学的記憶装置、及び/又はフラッシュメモリ(例えば、NAND、NOR)を含むことができる。メモリ3050は、Darwin、RTXC、LINUX(登録商標)、UNIX(登録商標)、OS X、WINDOWS(登録商標)のようなオペレーティングシステム3052、又はVxWorksのような埋め込み型オペレーティングシステムを記憶することができる。オペレーティングシステム3052は、基本的なシステムサービスをハンドリングし且つハードウェア従属タスクを遂行するためのインストラクションを含むことができる。ある実施形態では、オペレーティングシステム3052は、カーネル(例えば、UNIXカーネル)である。
又、メモリ3050は、1つ以上の付加的な装置、1つ以上のコンピュータ及び/又は1つ以上のサーバーとの通信を容易にするために通信インストラクション3054を記憶することもできる。メモリ3050は、グラフィックユーザインターフェイス処理を容易にするためのグラフィックユーザインターフェイスインストラクション3056、センサ関連処理及び機能を容易にするためのセンサ処理インストラクション3058、電話関連プロセス及び機能を容易にするための電話インストラクション3060、電子メッセージング関連プロセス及び機能を容易にするための電子メッセージングインストラクション3062、ウェブブラウジング関連プロセス及び機能を容易にするためのウェブブラウジングインストラクション3064、メディア処理関連プロセス及び機能を容易にするためのメディア処理インストラクション3066、GPS及びナビゲーション関連プロセス及び機能を容易にするためのGPS/ナビゲーションインストラクション3068、カメラ関連プロセス及び機能を容易にするためのカメラインストラクション3070、及び/又は他のプロセス及び機能を容易にするための他のソフトウェアインストラクション3072を含むことができる。又、メモリ3050は、ウェブビデオ関連プロセス及び機能を容易にするためのウェブビデオインストラクション、及び/又はウェブショッピング関連プロセス及び機能を容易にするためのウェブショッピングインストラクションのような他のソフトウェアインストラクション(図示せず)も記憶することができる。ある実施形態では、メディア処理インストラクション3066は、オーディオ処理関連プロセス及び機能、並びにビデオ処理関連プロセス及び機能を各々容易にするためのオーディオ処理インストラクション及びビデオ処理インストラクションへと分割される。又、メモリ3050には、アクチベーションレコード及び国際移動装置アイデンティティ(IMEI)3074、又は同様のハードウェア識別子を記憶することもできる。
以上の説明は、本教示の基本的な新規な特徴を例示し、説明し、指摘するものであったが、当業者であれば、本教示の範囲から逸脱せずに、上述した装置及びその使い方の細部の形態の種々の省略、置き換え、及び変更がなされることを理解されたい。従って、本教示の範囲は、以上の説明に限定されるものではない。
100:移動コンピューティング装置
102:ソフトウェアアプリケーション
104:ハードウェア
106:ウェブページ
112:ネットワーク
116:レイアウトエンジン
124:オペレーティングシステム
126:中央処理ユニット(CPU)
130:グラフィック処理ユニット(GPU)
132、134:メモリ
136:ディスプレイコントローラ
140:ディスプレイ
204:レンダリングレイヤ
206:意図された表示
210:レンダリングされた表示
212:偏差
214:アルゴリズム
216:合成レイヤ
218:表示されたウェブページ
302A、302B:テキスト
304:静的映像
306:非加速アニメーション
310:ハードウェア加速レンダリング
312:コンテンツ見易さ
314:ドキュメント
316:スタッキングインデックス
320:フォント

Claims (18)

  1. コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定するステップと、
    前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定するステップと、
    前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定するステップと、
    ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生するステップと、
    レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定するステップと、
    前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生するステップであって、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものであるステップと、
    を備えた方法。
  2. 前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定するステップを更に備えた、請求項1に記載の方法。
  3. 少なくとも1つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定するステップを更に備えた、請求項1に記載の方法。
  4. 前記コンテンツのページを記述するファイルをダウンロードするステップを更に備えた、請求項1に記載の方法。
  5. 前記コンテンツのページにより参照されるスタイル記述をダウンロードするステップを更に備えた、請求項1に記載の方法。
  6. ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にするステップを更に備えた、請求項1に記載の方法。
  7. プロセッサにより実行されたときに、プロセッサが、
    コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定し、
    前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定し、
    前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定し、
    ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生し、
    レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定し、
    前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生し、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものである、
    ことを含むオペレーションを遂行するようにさせる実行可能なインストラクションを記憶するマシン読み取り可能な記憶媒体。
  8. 前記オペレーションは、更に、前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定することを含む、請求項7に記載のマシン読み取り可能な記憶媒体。
  9. 前記オペレーションは、更に、少なくとも1つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定することを含む、請求項7に記載のマシン読み取り可能な記憶媒体。
  10. 前記オペレーションは、更に、前記コンテンツのページを記述するファイルをダウンロードすることを含む、請求項7に記載のマシン読み取り可能な記憶媒体。
  11. 前記オペレーションは、更に、前記コンテンツのページにより参照されるスタイル記述をダウンロードすることを含む、請求項7に記載のマシン読み取り可能な記憶媒体。
  12. 前記オペレーションは、更に、ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にすることを含む、請求項7に記載のマシン読み取り可能な記憶媒体。
  13. コンテンツのページに対して表示されるべきエレメントの関係を記述するノードのツリーをコンピュータにより決定する手段と、
    前記エレメントの標準的にレンダリングされた見掛けに基づいて前記ページの視覚表示を決定する手段と、
    前記コンテンツのページによって参照されるスタイル記述のスタイルルールに基づいて前記標準的にレンダリングされた見掛けへの変化を決定する手段と、
    ハードウェア合成サポートを使用してレンダリングレイヤに対するレンダリングされたコンテンツを発生する手段と、
    レンダリングレイヤの最上部で上位レイヤがレンダリングすることを決定する手段と、
    前記ハードウェア合成サポートを使用して、レンダリングされた上位レイヤに対するレンダリングされたコンテンツを発生する手段であって、そのレンダリングされた上位レイヤに対するレンダリングされたコンテンツは、上位レイヤのコンテンツを含むものである手段と、
    を備えたデータ処理システム。
  14. 前記ページエレメントの前−後順序に影響する前記スタイル記述で指定されたスタイルに基づいてレンダリングレイヤのハイアラーキーを決定する手段を更に備えた、請求項13に記載のデータ処理システム。
  15. 少なくとも1つのレンダリングレイヤに対して、そのレイヤがハードウェア合成サポートを使用するかどうか決定する手段を更に備えた、請求項13に記載のデータ処理システム。
  16. 前記コンテンツのページを記述するファイルをダウンロードする手段を更に備えた、請求項13に記載のデータ処理システム。
  17. 前記コンテンツのページにより参照されるスタイル記述をダウンロードする手段を更に備えた、請求項13に記載のデータ処理システム。
  18. ハードウェア合成サポートを使用して発生されるハードウェア合成レイヤの数及びサイズを最小にする手段を更に備えた、請求項13に記載のデータ処理システム。
JP2010549666A 2008-03-04 2009-03-04 ウェブベースコンテンツのレンダリングの加速 Active JP5171968B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US3376008P 2008-03-04 2008-03-04
US61/033,760 2008-03-04
US12/397,327 US9418171B2 (en) 2008-03-04 2009-03-03 Acceleration of rendering of web-based content
US12/397,327 2009-03-03
PCT/US2009/001426 WO2009111051A1 (en) 2008-03-04 2009-03-04 Acceleration of rendering of web-based content

Publications (2)

Publication Number Publication Date
JP2011513855A true JP2011513855A (ja) 2011-04-28
JP5171968B2 JP5171968B2 (ja) 2013-03-27

Family

ID=41054876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010549666A Active JP5171968B2 (ja) 2008-03-04 2009-03-04 ウェブベースコンテンツのレンダリングの加速

Country Status (5)

Country Link
US (1) US9418171B2 (ja)
EP (1) EP2252947B1 (ja)
JP (1) JP5171968B2 (ja)
KR (1) KR101298370B1 (ja)
WO (1) WO2009111051A1 (ja)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5440004B2 (ja) * 2008-10-20 2014-03-12 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
JP5293086B2 (ja) 2008-10-28 2013-09-18 セイコーエプソン株式会社 情報配信システム、情報配信システムのサービス実現方法およびそのプログラム
KR101476200B1 (ko) * 2008-10-30 2014-12-24 엘지전자 주식회사 이동단말기 및 그 제어 방법
US8589790B2 (en) * 2008-11-02 2013-11-19 Observepoint Llc Rule-based validation of websites
US20100149215A1 (en) * 2008-12-15 2010-06-17 Personal Web Systems, Inc. Media Action Script Acceleration Apparatus, System and Method
US8487941B2 (en) * 2008-12-15 2013-07-16 Leonovus Usa Inc. Media action script acceleration apparatus
US8295224B1 (en) * 2010-03-16 2012-10-23 Deshong Rick L Wireless signal transceiver system
US8977955B2 (en) * 2010-03-25 2015-03-10 Microsoft Technology Licensing, Llc Sequential layout builder architecture
US8949711B2 (en) * 2010-03-25 2015-02-03 Microsoft Corporation Sequential layout builder
WO2012004785A1 (en) * 2010-07-05 2012-01-12 Cognitive Media Innovations (Israel) Ltd. System and method of serial visual content presentation
US9218680B2 (en) * 2010-09-01 2015-12-22 K-Nfb Reading Technology, Inc. Systems and methods for rendering graphical content and glyphs
US8732571B2 (en) * 2011-03-31 2014-05-20 Google Inc. Methods and systems for generating and displaying a preview image of a content area
US9912718B1 (en) 2011-04-11 2018-03-06 Viasat, Inc. Progressive prefetching
CA2739677C (en) 2011-05-17 2012-05-22 Microsoft Corporation Surface caching
US8724029B2 (en) 2011-05-26 2014-05-13 Adobe Systems Incorporated Accelerating video from an arbitrary graphical layer
US8881002B2 (en) 2011-09-15 2014-11-04 Microsoft Corporation Trial based multi-column balancing
US20130069981A1 (en) * 2011-09-15 2013-03-21 Research In Motion Limited System and Methods for Managing Composition of Surfaces
US9171098B2 (en) 2011-09-30 2015-10-27 Microsoft Technology Licensing, Llc Decomposing markup language elements for animation
US8884971B2 (en) 2011-09-30 2014-11-11 Microsoft Corporation Animation engine decoupled from animation catalog
US8468449B1 (en) * 2011-12-08 2013-06-18 Microsoft Corporation Generating CSS shorthand properties
US9733819B2 (en) * 2011-12-14 2017-08-15 Facebook, Inc. Smooth scrolling of a structured document presented in a graphical user interface with bounded memory consumption
EP2798522A4 (en) * 2011-12-30 2015-08-05 Intel Corp SELECTIVE HARDWARE ACCELERATION IN VIDEO PLAYBACK SYSTEMS
US9557876B2 (en) 2012-02-01 2017-01-31 Facebook, Inc. Hierarchical user interface
US9235317B2 (en) * 2012-02-01 2016-01-12 Facebook, Inc. Summary and navigation of hierarchical levels
US9645724B2 (en) 2012-02-01 2017-05-09 Facebook, Inc. Timeline based content organization
US10095663B2 (en) 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US10803232B2 (en) 2013-06-06 2020-10-13 International Business Machines Corporation Optimizing loading of web page based on aggregated user preferences for web page elements of web page
US9800517B1 (en) * 2013-10-31 2017-10-24 Neil Anderson Secure distributed computing using containers
CN103678631B (zh) * 2013-12-19 2016-10-05 华为技术有限公司 页面渲染方法及装置
CN105022616B (zh) * 2014-04-23 2019-12-03 腾讯科技(北京)有限公司 一种生成网页页面的方法及装置
US9720888B1 (en) 2014-05-22 2017-08-01 Amazon Technologies, Inc. Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
US9563928B1 (en) 2014-05-22 2017-02-07 Amazon Technlogies, Inc. Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9563929B1 (en) 2014-05-22 2017-02-07 Amazon Technologies, Inc. Caching of content page layers
US10042521B1 (en) 2014-05-22 2018-08-07 Amazon Technologies, Inc. Emulation of control resources for use with converted content pages
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US9922007B1 (en) * 2014-05-22 2018-03-20 Amazon Technologies, Inc. Split browser architecture capable of determining whether to combine or split content layers based on the encoding of content within each layer
US10855797B2 (en) 2014-06-03 2020-12-01 Viasat, Inc. Server-machine-driven hint generation for improved web page loading using client-machine-driven feedback
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
US9569862B2 (en) * 2014-08-15 2017-02-14 Qualcomm Incorporated Bandwidth reduction using texture lookup by adaptive shading
US10002115B1 (en) * 2014-09-29 2018-06-19 Amazon Technologies, Inc. Hybrid rendering of a web page
US20180143747A1 (en) * 2015-05-19 2018-05-24 Mitsubishi Electric Corporation User interface device and method for displaying screen of user interface device
US10033656B2 (en) * 2015-05-21 2018-07-24 Sap Portals Israel Ltd Critical rendering path optimization
US9965451B2 (en) * 2015-06-09 2018-05-08 International Business Machines Corporation Optimization for rendering web pages
US10387676B2 (en) 2015-09-14 2019-08-20 Viasat, Inc. Machine-driven crowd-disambiguation of data resources
MX2018004856A (es) 2015-10-20 2018-11-09 Viasat Inc Actualizacion de modelo de optimizacion por medio de agrupamientos de navegacion automatica.
EP4243381A3 (en) 2015-12-04 2023-11-15 ViaSat Inc. Accelerating connections to a host server
US10825129B2 (en) * 2016-06-12 2020-11-03 Apple Inc. Eliminating off screen passes using memoryless render target
US10452748B2 (en) 2016-06-20 2019-10-22 Microsoft Technology Licensing, Llc Deconstructing and rendering of web page into native application experience
US10496735B2 (en) * 2016-10-03 2019-12-03 Adobe Inc. Object interaction preservation from design to digital publication
CN106383686A (zh) * 2016-10-09 2017-02-08 广州视睿电子科技有限公司 一种html图片显示方法及装置
US20180260389A1 (en) * 2017-03-08 2018-09-13 Fujitsu Limited Electronic document segmentation and relation discovery between elements for natural language processing
US10666528B1 (en) 2018-11-28 2020-05-26 Sap Portals Israel Ltd. Decoupling platform as a service providers using a service management platform
CN111724453A (zh) * 2019-03-22 2020-09-29 阿里巴巴集团控股有限公司 富文本渲染方法、装置、终端设备及计算机存储介质
WO2021155420A1 (en) * 2020-02-06 2021-08-12 Canva Pty Ltd System and method for rendering a design including a dynamic design element
CN112861057B (zh) * 2021-02-10 2024-03-01 北京百度网讯科技有限公司 基于小程序的页面渲染方法、装置、设备及存储介质
CN113918258B (zh) * 2021-09-30 2023-12-19 北京达佳互联信息技术有限公司 页面滚动处理方法、装置、终端以及存储介质
US11836212B2 (en) * 2021-12-03 2023-12-05 Atlassian Pty Ltd. Systems and methods for rendering interactive web pages
US20230186014A1 (en) * 2021-12-09 2023-06-15 Salesforce.Com, Inc. Methods for web-to-print multiple overflow pagination
CN114924815A (zh) * 2022-03-31 2022-08-19 北京达佳互联信息技术有限公司 页面渲染方法、装置、电子设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199260A (ja) * 2008-02-20 2009-09-03 Sharp Corp 表示処理装置、表示処理装置を備えた携帯電話機、表示処理方法、制御プログラム、および、記録媒体

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016150A (en) * 1995-08-04 2000-01-18 Microsoft Corporation Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers
CN1266512A (zh) 1997-05-08 2000-09-13 艾瑞迪公司 适用于面向对象编程语言的硬件加速器
JPH11195132A (ja) * 1997-10-31 1999-07-21 Hewlett Packard Co <Hp> テクスチャマッピング用バッファ、3次元グラフィクス処理装置、3次元グラフィクス処理システム、3次元グラフィクス処理方法および処理プログラムが記憶された記憶媒体
KR100595924B1 (ko) 1998-01-26 2006-07-05 웨인 웨스터만 수동 입력 통합 방법 및 장치
US6300947B1 (en) 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
JP2003521784A (ja) * 2000-02-04 2003-07-15 アメリカ オンライン インコーポレーティッド スケーラブルなウェブページを配信およびレンダリングするためのシステムとプロセス
US6820133B1 (en) 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
WO2002050719A2 (en) * 2000-12-18 2002-06-27 Kargo, Inc. A system and method for delivering content to mobile devices
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
JP2005506593A (ja) * 2001-01-31 2005-03-03 コンピュータ アソシエイツ シンク,インコーポレイテッド 合成ウェッブページを規定且つ表示するためのシステム及び方法
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US6809745B1 (en) * 2001-10-01 2004-10-26 Adobe Systems Incorporated Compositing two-dimensional and 3-dimensional images
EP1351477A1 (en) 2002-04-03 2003-10-08 BRITISH TELECOMMUNICATIONS public limited company An engine and a method for building a representation of structured information for use with a voice interface
US7441047B2 (en) 2002-06-17 2008-10-21 Microsoft Corporation Device specific pagination of dynamically rendered data
WO2004001709A2 (en) * 2002-06-20 2003-12-31 Alberto Baroncelli Vector graphics circuit accelerator for display systems
US7065707B2 (en) 2002-06-24 2006-06-20 Microsoft Corporation Segmenting and indexing web pages using function-based object models
US20040012627A1 (en) 2002-07-17 2004-01-22 Sany Zakharia Configurable browser for adapting content to diverse display types
US7673304B2 (en) 2003-02-18 2010-03-02 Microsoft Corporation Multithreaded kernel for graphics processing unit
US7417645B2 (en) 2003-03-27 2008-08-26 Microsoft Corporation Markup language and object model for vector graphics
US7362311B2 (en) 2003-04-07 2008-04-22 Microsoft Corporation Single column layout for content pages
US8291009B2 (en) 2003-04-30 2012-10-16 Silicon Graphics International Corp. System, method, and computer program product for applying different transport mechanisms for user interface and image portions of a remotely rendered image
JP3982454B2 (ja) 2003-05-27 2007-09-26 ソニー株式会社 携帯型電子機器、ウェブページ処理方法およびプログラム
US7197702B2 (en) * 2003-06-13 2007-03-27 Microsoft Corporation Web page rendering mechanism using external programmatic themes
US20050012751A1 (en) 2003-07-18 2005-01-20 Karlov Donald David Systems and methods for efficiently updating complex graphics in a computer system by by-passing the graphical processing unit and rendering graphics in main memory
US7075541B2 (en) 2003-08-18 2006-07-11 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US20050154982A1 (en) 2004-01-13 2005-07-14 International Business Machines Corporation Apparatus, system and method of importing cascading style sheets to macromedia flash
WO2006042300A2 (en) 2004-10-12 2006-04-20 Mindego, Inc. System and method for creating, distributing, and executing rich multimedia applications
JP4124261B2 (ja) 2004-10-25 2008-07-23 日本電気株式会社 文書解析システム、文書解析方法、及びそのプログラム
US7586492B2 (en) 2004-12-20 2009-09-08 Nvidia Corporation Real-time display post-processing using programmable hardware
US7499051B1 (en) 2005-04-29 2009-03-03 Adobe Systems Incorporated GPU assisted 3D compositing
US7663635B2 (en) 2005-05-27 2010-02-16 Ati Technologies, Inc. Multiple video processor unit (VPU) memory mapping
US7681200B2 (en) * 2005-07-22 2010-03-16 Microsoft Corporation Secure hardware desktop buffer composition
US20070169066A1 (en) * 2005-11-17 2007-07-19 Nielsen Spencer J System and method for an extensible 3D interface programming framework
US7911467B2 (en) * 2005-12-30 2011-03-22 Hooked Wireless, Inc. Method and system for displaying animation with an embedded system graphics API
US7882380B2 (en) 2006-04-20 2011-02-01 Nvidia Corporation Work based clock management for display sub-system
US20070294646A1 (en) 2006-06-14 2007-12-20 Sybase, Inc. System and Method for Delivering Mobile RSS Content
US8130226B2 (en) 2006-08-04 2012-03-06 Apple Inc. Framework for graphics animation and compositing operations
US9019300B2 (en) * 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
CN100583022C (zh) 2006-09-27 2010-01-20 联想(北京)有限公司 获取计算机屏幕图像的方法
US8612847B2 (en) * 2006-10-03 2013-12-17 Adobe Systems Incorporated Embedding rendering interface
US8234392B2 (en) 2006-11-17 2012-07-31 Apple Inc. Methods and apparatuses for providing a hardware accelerated web engine
US8477143B2 (en) 2008-03-04 2013-07-02 Apple Inc. Buffers for display acceleration

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199260A (ja) * 2008-02-20 2009-09-03 Sharp Corp 表示処理装置、表示処理装置を備えた携帯電話機、表示処理方法、制御プログラム、および、記録媒体

Also Published As

Publication number Publication date
JP5171968B2 (ja) 2013-03-27
KR101298370B1 (ko) 2013-08-20
WO2009111051A1 (en) 2009-09-11
KR20100119584A (ko) 2010-11-09
US9418171B2 (en) 2016-08-16
EP2252947B1 (en) 2019-04-24
EP2252947A1 (en) 2010-11-24
US20090228782A1 (en) 2009-09-10

Similar Documents

Publication Publication Date Title
JP5171968B2 (ja) ウェブベースコンテンツのレンダリングの加速
US11625136B2 (en) Systems, methods, and computer-readable media for managing collaboration on a virtual work of art
KR102307163B1 (ko) 크로스 플랫폼 렌더링 엔진
US8234564B2 (en) Transforms and animations of web-based content
EP3091426B1 (en) User terminal device providing user interaction and method therefor
US9135022B2 (en) Cross window animation
US20090276730A1 (en) Techniques for navigation of hierarchically-presented data
KR102080146B1 (ko) 휴대단말과 외부 표시장치 연결 운용 방법 및 이를 지원하는 장치
US9224367B2 (en) Image processing apparatus, image processing method, and image processing program
KR20170026274A (ko) 콘텐츠 편집 장치 및 편집 방법
US20190012821A1 (en) Displaying images associated with apps based on app processing task progress statuses
JP2011103073A (ja) 情報表示装置
JP2014149860A (ja) 携帯型多機能端末の情報表示方法及びそれを用いた情報表示システム、並びに携帯型多機能端末
WO2015077189A1 (en) Resizing technique for display content
US20170286385A1 (en) Ink in an Electronic Document
US20140229823A1 (en) Display apparatus and control method thereof
WO2018226989A1 (en) Displaying images associated with apps based on app processing task progress statuses
CN110377220B (zh) 一种指令响应方法、装置、存储介质及电子设备
EP4092512A1 (en) Dynamic element control method, electronic device and computer-readable storage medium
WO2020226956A1 (en) Device, method, and graphical user interface for generating cgr objects
JP7418573B2 (ja) アプリケーション内ストアユーザインターフェース

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121225

R150 Certificate of patent or registration of utility model

Ref document number: 5171968

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250