JP5662577B2 - 最小フレームレート要件を満たすためのグラフィックスレンダリング方法 - Google Patents

最小フレームレート要件を満たすためのグラフィックスレンダリング方法 Download PDF

Info

Publication number
JP5662577B2
JP5662577B2 JP2013524845A JP2013524845A JP5662577B2 JP 5662577 B2 JP5662577 B2 JP 5662577B2 JP 2013524845 A JP2013524845 A JP 2013524845A JP 2013524845 A JP2013524845 A JP 2013524845A JP 5662577 B2 JP5662577 B2 JP 5662577B2
Authority
JP
Japan
Prior art keywords
speed
rendering
processor
computing device
frame rate
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.)
Expired - Fee Related
Application number
JP2013524845A
Other languages
English (en)
Other versions
JP2013541073A (ja
Inventor
ジョン・リアム・マーク
マイケル・ユー・シュワルツ
ショーン・エス・ロジャース
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2013541073A publication Critical patent/JP2013541073A/ja
Application granted granted Critical
Publication of JP5662577B2 publication Critical patent/JP5662577B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Description

本発明は、一般に、コンピュータユーザインターフェースシステムに関し、より詳細には、グラフィックスレンダリング方法に関する。
モバイルコンピューティングデバイス(たとえば携帯電話、PDA、およびゲームデバイス)は、非常に普及しており、文書、写真、映像、および音楽を記憶するパーソナルオーガナイザ、ならびにインターネットおよび電子メールへのポータルとして働く。そのようなデバイスの小さいディスプレイに適合するように、文書(たとえば音楽ファイルおよび連絡先リスト)は、一般的に、スクロールまたはパン機能によって制御することができるビューアに表示される。文書画像のすべてまたは一部を表示したり、デジタルファイルのリストを解析したりするために、ソフトウェア開発者は、一般的に、モバイルデバイスで使用するために作成されるアプリケーション内に、スクロールまたはパン機能を含む。
様々な態様は、コンピューティングデバイスにおいて表示アニメーションを実施するための方法を含み、方法は、表示アニメーション中にレンダリングされたフレームのレートを監視するステップと、監視されたフレームレートが許容可能な最小値未満であることが決定されると、計算量的にあまり複雑ではない項目をレンダリングするステップであり、計算量的にあまり複雑ではない項目は通常の項目よりも速くレンダリングすることができる、ステップと、監視されたフレームレートが許容可能な最小値未満であることが決定されると、アニメーションの速度を記憶するステップと、アニメーションの速度が記憶された速度を下回ると、通常の項目をレンダリングするステップとを含む。監視されたフレームレートは、様々な方法のうちのいずれかで決定することができる。たとえば、フレームレートは、あらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づき得る。別の例では、フレームレートは、達成されたフレームレートの移動平均または移動平均レートを反映するフレームレートの計算に基づき得る。プレースホルダー項目は、アプリケーションの一部として定義され得る。計算量的にあまり複雑ではない項目は、より低い解像度のもの、レンダリングするのに高価なグラフィック要素を除外する、より小さいサイズまたはあまり詳細ではないもの、およびメモリから呼び出すことができ、または場合によっては計算量的に複雑ではないようにレンダリングすることができる固定の画像要素である画像オブジェクトを含み得る。表示アニメーションは、高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPointプレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つとすることができる。
さらなる態様は、コンピューティングデバイスにおいて表示アニメーションを実施するための方法を含み、方法は、表示アニメーションの開始時に画像をレンダリングするための第1のレンダリングフォーマットを指定するステップと、指定されたレンダリングフォーマットを使用して画像をレンダリングするステップと、表示アニメーション中にレンダリングされたフレームのレートを監視するステップと、監視されたフレームレートが許容可能な最小値を下回ったときを決定するステップと、監視されたフレームレートが許容可能な最小値を下回ったことが決定されると、画像をレンダリングするための第2のレンダリングフォーマットを指定するステップであり、第2のレンダリングフォーマットが第1のレンダリングフォーマットよりも処理を必要としない、ステップと、監視されたフレームレートが許容可能な最小値未満であることが決定されると、アニメーションの第1の速度を記憶するステップと、アニメーションの速度が記憶された第1の速度未満であるときを決定するステップと、現在の指定されたレンダリングフォーマットが第2のレンダリングフォーマットであり、アニメーションの速度が記憶された第1の速度未満であることが決定されると、第1のレンダリングフォーマットを指定するステップとを含む。方法は、現在指定されているレンダリングフォーマットが第2のフォーマットであり、監視されたフレームレートが許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第3のレンダリングフォーマットを指定し、アニメーションの第2の速度を記憶するステップと、アニメーションの速度が記憶された第2の速度未満であるときを決定するステップと、現在の指定されたレンダリングフォーマットが第3のレンダリングフォーマットであり、アニメーションの速度が記憶された第2の速度未満であることが決定されると、第2のレンダリングフォーマットを指定するステップとをさらに含み得る。方法は、現在指定されているレンダリングフォーマットが第3のフォーマットであり、監視されたフレームレートが許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第4のレンダリングフォーマットを指定し、アニメーションの第3の速度を記憶するステップと、アニメーションの速度が記憶された第3の速度未満であるときを決定するステップと、現在の指定されたレンダリングフォーマットが第4のレンダリングフォーマットであり、アニメーションの速度が記憶された第3の速度未満であることが決定されると、第3のレンダリングフォーマットを指定するステップとをさらに含み得る。第1、第2、および第3のレンダリングフォーマットは、アプリケーションの一部として定義され得る。監視されたフレームレートは、あらかじめ定義された前の間隔の間にレンダリングされたフレームの数、または移動平均フレームレートに基づき得る。表示アニメーションは、高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPointプレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパン、またはゲームアプリケーションによって生成されるもののうちの1つとすることができる。
さらなる態様は、プロセッサに結合されたメモリおよびディスプレイを含むコンピューティングデバイスを含み、プロセッサは、上記で説明した方法の操作を実行するためのプロセッサ実行可能命令で構成されている。さらなる態様は、上記で説明した方法の操作を実行するための手段を含むコンピューティングデバイスを含む。さらなる態様は、上記で説明した方法の操作をコンピューティングデバイスのプロセッサに実行させるように構成される、プロセッサ実行可能命令を記憶した、プロセッサ可読記録媒体を含む。
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の発明を実施するための形態とともに、図面は、本発明の機能を説明するのに役立つ。
タッチスクリーンディスプレイ上にリスト文書を示すポータブルコンピューティングデバイスの正面図である。 コンピューティングデバイスにおいて項目のリストをレンダリングするための従来の方法のプロセスフロー図である。 高速スクロールシーケンス中の時間に応じた動きの速度(スクローリング)を示す例示的なリストスクロール分布を示すグラフである。 高速スクロールシーケンス中の時間に応じた動きの速度(スクローリング)を示す例示的なリストスクロール分布を示すグラフである。 Y軸上の例示的なリストスクロールアニメーション分布、およびZ軸上の対応するレンダリングされたフレームレート対X軸上の時間を示す3次元グラフである。 Y軸上の例示的なリストスクロールアニメーション分布、およびZ軸上の対応するレンダリングされたフレームレート対X軸上の時間を示す3次元グラフである。 様々な態様による、高速スクロールイベント中にレンダリングされた項目がどのように調整され得るかを示すグラフである。 様々な態様による、高速スクロールイベント中にレンダリングされた項目がどのように調整され得るかを示すグラフである。 様々な態様による、高速スクロールイベント中にレンダリングされた項目がどのように調整され得るかを示すグラフである。 連絡先リストにおける項目の例示的なリストを示す図である。 図5Aに示される例示的なリストをサポートするために、様々な態様において使用され得る軽量の計算量的にあまり複雑ではない例示的な項目を示す図である。 図5Aに示される例示的なリストをサポートするために、様々な態様において使用され得る軽量の計算量的にあまり複雑ではない例示的な項目を示す図である。 コンピューティングデバイスが少なくとも最小フレームレートで表示アニメーションをレンダリングすることができるための態様方法のプロセスフロー図である。 2つ以上のタイプの計算量的にあまり複雑ではない項目を実施する代替態様を示すグラフである。 2つ以上のタイプの計算量的にあまり複雑ではない項目を実施する代替態様を示すグラフである。 コンピューティングデバイスが、2つ以上のタイプの計算量的にあまり複雑ではない項目またはレンダリングフォーマットを使用して、少なくとも最小フレームレートで画像をレンダリングすることができるための態様方法のプロセスフロー図である。 移動するグラフィックスを生成する任意のアプリケーションにおいて、様々な態様がどのように実施され得るかについて示すグラフである。 様々な態様とともに使用するのに好適な、例示的なポータブルコンピューティングシステムのコンポーネントブロック図である。 様々な態様とともに使用するのに好適な、例示的なパーソナルコンピュータのコンポーネントブロック図である。
様々な態様が、添付の図面を参照して詳細に説明される。可能な場合はいつでも、同じまたは同様の部分を指すのに、図面全体にわたって同じ参照番号を使用する。具体的な例および実装形態への言及は、説明を目的とし、本発明の範囲または本特許請求の範囲を限定するものではない。
「例示的な」という言葉は、「一例、実例または例として」を意味するように本明細書で使用される。本明細書に「例示的」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
本明細書で使用する「コンピューティングデバイス」および「モバイルデバイス」は、携帯電話、パーソナルテレビジョン受信機、携帯情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機およびセルラー電話受信機(たとえば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応携帯電話(たとえば、Blackberry Storm(登録商標))、ならびにプログラマブルプロセッサ、メモリ、およびディスプレイを含む類似の電子デバイスのうちのいずれか1つまたはすべてを指す。本発明の様々な態様を示すために使用される一態様例では、コンピューティングデバイスは、一体型のタッチスクリーンディスプレイを含む携帯電話である。しかし、この態様は、単に様々な態様の1つの例示的な実装形態として存在するだけにすぎず、したがって、特許請求の範囲に記載される主題の他の可能な実装形態を除外するためのものではない。
本明細書で使用する「リスト」という用語は、そのようなデータ構造によってリスト要素に連続的にアクセスできるか否かにかかわらず、アレイ、連結リスト、双方向連結リスト、または順次リストとして論理的に提示することができる任意の類似のデータ構造を含む様々なデータ構造のうちの任意の1つを指すことができる。
様々な態様では、通常のフォーマットでオブジェクトまたは画像をレンダリングする間に処理リソースが最小フレームレートを満たすことができないときでも、方法と装置によって、コンピューティングデバイスは、最小フレームレート要件(たとえば、30フレーム毎秒)内で移動するオブジェクトまたは画像の画像をレンダリングすることができる。様々な態様では、コンピューティングデバイスのプロセッサは、移動するグラフィックスまたは項目のレンダリングの間に達成されたフレームレートを監視することができる。達成されたフレームレートが許容可能な最小値(たとえば、30フレーム毎秒)未満に低下すると、プロセッサは、レンダリングされたオブジェクトまたは項目の現在の速度に注目し、レンダリングされた画像における標準のグラフィックオブジェクトまたは項目に取って代わる「軽量の」計算量的にあまり複雑ではないオブジェクトまたは項目のレンダリングを開始することができる。プレースホルダー項目は、レンダリングがより速く、作成がより速いように定義され、選択され、これによって、アニメーションにおいてより速いフレームレートを達成できるようになる。計算量的にあまり複雑ではないオブジェクトまたは項目は、より低い解像度のもの、レンダリングするのに高価なグラフィック要素を除外する、より小さいサイズまたはあまり詳細ではないもの、およびメモリから呼び出すことができ、または場合によっては計算量的に複雑ではないようにレンダリングすることができる固定の画像要素である画像オブジェクトを含み得る。参照しやすいように、そのような計算量的にあまり複雑ではない画像項目を、本明細書では、「プレースホルダー」項目と呼ぶ。そのような軽量のプレースホルダー項目のレンダリングは、フレームレートが許容可能な最小値未満に低下した同一速度(または以下)にグラフィックス項目の速度が減少したことをプロセッサが決定するまで継続し得る。この状態が検出されると、プロセッサは、通常の(すなわち、非プレースホルダー)オブジェクトまたは項目のレンダリングの要求を開始することができる。プレースホルダー項目は、計算量的にあまり複雑ではないように選択され、したがってレンダリングする処理が少なくて済むので(これが「軽量」と呼ばれる理由である)、処理リソースは、アニメーションによって必要とされるオブジェクトまたは項目の移動レート(すなわち、速度)をサポートしながら、最小フレームレートでプレースホルダー項目をレンダリングすることが可能である。本明細書の例として使用されるアプリケーションは、たとえばコンピューティングデバイスタッチスクリーンディスプレイ上のユーザの「フリック」ジェスチャーに応答して生成することができるような高速リストスクロールアニメーションである。様々な態様は、2つ以上のタイプの軽量のプレースホルダー項目で実施することができ、これによって、最小フレームレート要件をサポートしながら、レンダリングされたグラフィック品質を最適化することができる。
様々な態様について、画像項目およびリスト要素(たとえば、高速リストスクロールアニメーション)を参照して以下で説明するが、態様は、ディスプレイにおいてスクロールまたはパンされる任意の表示されたコンテンツまたは画像に適用することもできる。様々な態様のそのような他のアプリケーションの例は、ウェブページテキストおよび画像、ワード処理文書、PDF文書、PowerPointプレゼンテーション、テキスト文書、写真画像(たとえば、JPEGおよび/またはタグ付きの画像ファイルフォーマット(TIFF)画像)、コンピュータゲームグラフィックスなどのスクロールまたはパンを含む。
様々な態様を説明するのに有用な例示的な実装形態は、たとえばユーザがモバイルコンピューティングデバイス(たとえば携帯電話)上に表示される連絡先リスト上でフリックジェスチャーを実行するときに行われ得るリストの高速スクロールを伴う。連絡先のリスト、ワード処理文書、またはピクチャ画像など、文書のコンテンツ全体の画像が表示エリア内に適合しない場合があるので(モバイルコンピューティングデバイスにおいては一般的であるように)、大部分のグラフィカルユーザインターフェース(GUI)は、文書画像をデバイスビューウィンドウ内で移動できるようにするために、スクロールおよびパン機能を提供する。ユーザは、ボタンを押し、またはタッチスクリーンディスプレイにわたって指をドラッグして、GUI内でそのようなスクロールおよびパンを達成することができる。タッチスクリーンコンピューティングデバイス上のGUIシステムで可能にされる一般的な文書制御ジェスチャーは、ドラッグ、パン、スクロール、および「フリック」のジェスチャーを含む。ドラッグ、パン、およびスクロールのジェスチャーにおいて、表示された画像は、ユーザの指のタッチ位置に従って比較的ゆっくり移動する。しかし、フリックジェスチャーでは、コンピューティングデバイスは、表示された文書を高速に、ユーザのタッチジェスチャーパラメータ(たとえば、フリックの測定された速度)に基づいて決定された距離の間移動させる。
コンピューティングデバイスが連絡先リスト上のフリックジェスチャーを受信する一例が図1に示される。図1に示されるモバイルデバイス100は、写真および個々の名前および電話番号からなる連絡先リスト104が提示されるタッチスクリーンディスプレイ102を備える。そのようなモバイルデバイス100に実装されるGUIは、一般的に、フリックジェスチャー機能をサポートしており、ユーザは、矢印106によって示されるように、指108をタッチスクリーンに当て、一方向に非常に速く指を移動させ、ジェスチャーが終了すると、あたかも表面から何かを払うかのように、指108をディスプレイ102から持ち上げる。
フリックジェスチャーは標準GUI機能なので、多くのデバイスおよびアプリケーション開発者は、ジェスチャーが一貫した結果を提供するのを好む。たとえば、特定の速度のフリックジェスチャーに応答して、リストスクロールは、所定時間内に所定数の項目(すなわち、リストエントリ)をスクロールするように構成され得る。これは、デバイスの処理能力、現在のシステム負荷、またはレンダリングされる項目の複雑さにかかわらず、ユーザがそれらのコンピューティングデバイスの一貫した結果を経験することを確実にする(すなわち、同じフリックジェスチャーによって、リストが同じ時間に同じ距離進むはずである)。さらに、リスト(または他のグラフィックアニメーション)の移動は、しばしば、時間に応じてあらかじめ定義された移動挙動を呈するように設計されている。たとえば、多くのモバイルデバイスGUIシステムおよび連絡先リストアプリケーションは、図3Aに示されるものなど、放物線速度分布を呈するように構成される。多くのプログラムされたアニメーションでは一般的であるように、矢印302として示したアニメーションの持続時間は、アニメーションが常に同じ持続時間を呈するように、あらかじめ定義された(すなわち一定の)値である。このようにして、リストは、瞬間的に加速し、次いで、最終的なリスト位置で停止する前に、一貫した速度対時間の軌道300に従って減速するように見える。さらに、移動するオブジェクトまたは項目が、レンダリングされた画像の処理容量または複雑さに関係なく、開始位置から同じ距離で止まるように、アニメーションにおいて達成される移動量も固定される(曲線300下のエリアとなる)。そのようなあらかじめ定義された挙動は、アニメーションの持続時間(たとえば、フリックジェスチャーが開始されてからの時間)に依存するアルゴリズムまたは機能の形態で実施され得る。
図2は、あらかじめ定義された速度対時間の挙動に従って移動する表示を生成するために実施され得るソフトウェア操作200の一例を示す。ブロック202でアニメーションが開始すると、アニメーションを実施するプロセッサは、アニメーションの適切な移動挙動の決定において使用するための時間基準を提供するために、ブロック204でタイマーを開始することができる。ブロック206で、プロセッサは、次に表示されたフレーム(すなわち、ディスプレイに提示される次の画像)において、表示されたオブジェクトまたは項目がどれほど移動するかを計算するために、タイマーからの現在時間を使用することができる。たとえば、アニメーションが高速リストスクロールである場合、ブロック206で、プロセッサは、表示されたリストの各項目がどれほど移動したか、ならびにいくつの項目が表示ウィンドウの上部または下部に入っているかを決定することができる。ブロック208で、プロセッサは、計算された移動量を使用して、次にレンダリングすべき画像または項目を決定することができる。たとえば、プロセッサは、移動量を使用して、次のフレームにおいてレンダリングしなければならないリスト内の項目を識別することができる。ブロック210で、プロセッサは、たとえば、レンダリングエンジンに対して、レンダリングすべきオブジェクトおよび項目、ならびに表示エリア内のそれらの位置を識別することによって、次のフレームのレンダリングを要求することができる。決定ブロック212において、プロセッサは、アニメーションが完了したかどうかを決定することができ、そうでない場合(すなわち、決定ブロック212=「いいえ」)、ブロック206に戻り、次の瞬間に応じて移動量を計算することができる。アニメーションが完了する(すなわち、決定ブロック212=「はい」)と、ブロック214でアニメーションシーケンスが終了する。
たとえば項目のリストのスクロールなど、そのグラフィックスがより速く移動するほど、単位時間当たり、より多くの項目が作成され、初期化される必要がある。リストの項目の作成、初期化、およびレンダリングは、時間がかかる。より速く移動するグラフィックス(たとえば、リストスクロールアニメーション)は、1秒当たり、より多くの項目を表示することを必要とし、したがって、単位時間当たり、より多くの新しい画像オブジェクトを初期化することを必要とする。したがって、より多くのリスト項目の作成および初期化が必要とされるので、より速く移動するグラフィックス(たとえば、リストスクロールアニメーション)でのフレームのレンダリングは、ゆっくり移動するグラフィックスの場合よりも長くかかり得る。その結果、達成されたフレームレートは、低下する。いくつかの状況では、図2に示される方法によるオブジェクトおよび画像の作成および初期化は、最小フレームレート要件を満たすほど速く達成することができない。これは、携帯電話のようなモバイルデバイスにおいて、またはオブジェクトもしくは項目が非常に速く移動するとき、および/または作成し、初期化し、レンダリングすべきオブジェクトもしくは項目が計算量的に困難である(たとえば、カラー写真)ときによくあるように、コンピューティングデバイスの処理リソースが制限されるときに起こり得る。達成されたフレームレートが最小フレームレート要件を下回ると、画像フレームがドロップされ、レンダリングされたフレーム間をオブジェクトが移動する距離が、オブジェクトがぎくしゃくした方法でジャンプしたり移動したりするように見えるほど大きくなるので、ディスプレイは、ちらつくように見えることがある。これは、図3Aに示されるアニメーションにプログラムされる表示挙動の後の時間に応じたオブジェクトの作品、初期化、およびレンダリングを示す図3Bに示される。実線304で示されるように、たとえばアニメーションの始めなど、オブジェクトまたは項目がアニメーションにおいて比較的ゆっくり移動している間、プロセッサは、所望の最小フレームレート(たとえば、30フレーム毎秒)を達成するのに十分速くオブジェクトまたは項目を作成し、初期化し、レンダリングすることができ得る。しかしながら、移動するオブジェクトまたは項目の速度が、処理リソースによって所望のフレームレート内でそれらをもはや作成し、初期化し、レンダリングすることができない時点に達すると、306でいくつかのフレームがドロップされるので、結果的にちらつく表示となり得、一方、提示されたフレーム308は、フレーム間の知覚可能な距離を移動したオブジェクトまたは項目を示す。この視覚的性能の低下は、実線310で示されるように、プロセッサが最小フレームレートを再度サポートすることができるレベルにオブジェクトのまたは項目の速度が低下するまで継続し得る。
表示性能のそのような低下は、しばしば限られた計算能力を有するモバイルコンピューティングデバイスで起こり得、したがって、高速で移動するリストまたは他のオブジェクトのレンダリングによって容易に圧倒され得る。プロセッサ集約型のバックグラウンド操作が並行して実行されており、したがって、最小フレームレート要件を満たしながら、要求された画像レンダリングタスクについていくには利用可能な処理リソースが不十分である場合、そのように低下した性能は、パーソナルコンピュータなど、より有能なコンピューティングデバイスでも起こり得る。
アプリケーション開発者は、一般的に、30フレーム毎秒など、何らかの許容可能な最小値以上のフレームレート性能を見ることを好む。歴史的に、アプリケーション開発者は、アニメーションの広範囲なプロトタイピングによる許容可能な最小値未満のフレームレート、またはドロップしたフレームの視覚的な性能の低下を回避するために懸命に働く。そのような試行錯誤のアプリケーションの開発は、時間がかかり、高価であり、画像レンダリングおよびアニメーションの挙動に影響を及ぼし得る様々なコンピューティングプラットフォーム、動作状態、およびバックグラウンドプロセスを考慮に入れることができない。
様々な態様は、高速なグラフィックの移動によってフレームレートが許容可能な最小値を下回る問題を、アプリケーション開発プロセスを単純化する方法で解決する。様々な態様では、コンピューティングデバイスは、より迅速にレンダリングすることができる(またはより少ない処理で済むレンダリングフォーマットを実装した)計算量的にあまり複雑ではない画像またはオブジェクト(「プレースホルダー」)を代用し、それによって、表示された画像において制御された低下で最小限の許容可能なフレームレート要件をアニメーションが満たすことができるように構成される。プロセッサが達成されたフレームレートを監視し、自動的にプレースホルダーオブジェクトまたは項目のレンダリングを実施するので、アプリケーション開発者は、デバイスのレンダリング性能、個々のオブジェクトもしくは項目のレンダリング時間、またはターゲットコンピューティングデバイス上で実行しているバックグラウンドプロセスについて心配する必要がない。代わりに、アプリケーション開発者は、アプリケーションソフトウェア内で所望の最小フレームレートを指定し、レンダリングプロセスが標準グラフィックスまたは項目に関して最小フレームレートを維持することができないときに使用すべきプレースホルダーグラフィック項目を指定または提供することができる。
様々な態様の操作が図4Aおよび図4Bに示されており、これらの図は、プリプログラムされたオブジェクトの移動対時間分布300、および時間に応じて達成されたフレームレート400を示す3次元グラフである。図4Aを参照すると、フリックジェスチャーに応答する高速リストスクロールの例において、モバイルデバイスは、線300で示されるようなスクロール速度対時間分布に従うように構成され得る。処理リソース制限のため、1秒当たりに生成され、開始され、レンダリングされ得るフレームの数(すなわち、達成されたフレームレート)は、リストスクロールの速度が時間とともに増加するにつれて変化し得る。これは、オブジェクトの速度が時間とともに増加するにつれて低下するフレームレートを示す線400で示される。線402は、たとえばデバイス製造業者またはアプリケーション開発者によって指定することができる所望の最小フレームレートに対応する。様々な態様では、線300に示されるように移動アニメーションが実行される間、プロセッサは、達成されたフレームレートを追跡し、たとえばポイント404で示されるように、フレームレート400が所望の最小フレームレート402未満に低下したときを検出することができる。この状態が検出されると、プロセッサは、たとえばポイント406で示されるその時点に、オブジェクトのまたは項目のアニメーション速度に注目し、その速度または移動パラメータ408をメモリに記憶する。プロセッサは、より軽量(すなわち、画像を生成するために、より少ない処理で済む)であり、したがって、アニメーションにおいて通常の項目よりも高速にレンダリングすることができるプレースホルダー項目またはオブジェクトのレンダリングも開始する。
図4Bを参照すると、アニメーション速度が増加し続けるときでさえ、プレースホルダー項目のレンダリングによって、フレームレートは、最小許容フレームレート402を超えて増加することができる。これは、ラインセグメント412に示されるように、フレームレートが最小値を超えて増加する時点である、プロセッサがプレースホルダー項目のレンダリングを開始するまで、通常の項目をレンダリングする達成されたフレームレートがラインセグメント410で低下することを示すフレームレートのグラフに示される。次いで、プロセッサは、アニメーションの速度が、フレームレートが最初に最小値402未満に低下した速度408以下であることを決定するまで、プレースホルダー項目をレンダリングし続ける。これは、ポイント414として示される。第2の状態が検出されると、プロセッサは、プレースホルダー項目のレンダリングを中止し、通常の項目のレンダリングに切り替わる。破線416で示されるように、これによって、達成されたフレームレートは、最小フレームレート402以上のレートまで低下する場合がある。アニメーションがその結論に向かって減速するにつれて、ラインセグメント418で示されるように、達成されたフレームレートは増加し得る。図4Bに示されるように、様々な態様によって、達成されたフレームレートは、最小フレームレート402を上回ったままになる(おそらく一瞬の間は除く)。この一貫したフレームレートの挙動は、プロセッサが容易に利用可能な値に対する2つの単純な比較を実行することによって、すなわち、達成されたフレームレート(プロセッサにはすでにわかっている可能性がある値である)を最小しきい値と比較し、アニメーション速度をメモリに記憶された値と比較することによって、達成される。
高速リストスクロールアニメーション300の例における様々な態様の操作が図5A〜図5Cにさらに示される。図5Aを参照すると、リストスクロールアニメーションの始めに、リスト項目速度(すなわち、1秒当たりのオブジェクト距離)が増加するとき、レンダリングされたリスト項目の達成されたフレームレートが最小しきい値を上回ったままであるので、通常のリスト項目は、線502に示されるようにレンダリングされる。図5Bを参照すると、ポイント504で決定されるように、達成されたフレームレートが最小値以下であることをプロセッサが決定すると、プロセッサは、現在のリスト項目速度506を記憶し、破線508によって示されるように、プレースホルダー項目のレンダリングを開始する。プロセッサは、ポイント510で示されるように、リスト項目速度がもう一度記憶されたリスト項目速度506以下となるまで、プレースホルダー項目をレンダリングし続ける(線508)。その後、プロセッサは、図5Cに示される線512によって示されるように、通常の項目のレンダリングに戻る。
快いユーザの視覚経験を可能にするために、多種多様なプレースホルダー項目が様々な態様において実施され得る。プレースホルダー項目の性質は、アニメーション化される文書のタイプ、ならびにアニメーションのタイプに依存し得る。さらに、図10を参照しながら後述するように、様々な態様は、一般のコンピュータグラフィックアニメーションに適用することができ、プレースホルダー項目は、本質的に、非常に一般的で、アプリケーション開発者によって定義することができる。リストアプリケーションに適したプレースホルダー項目の例が図6A〜図6Dに示される。
図6Aを参照すると、携帯電話用の連絡先アプリケーションなど、多くのデータレコードを含むアプリケーションは、写真602およびテキストデータ604など様々なデータ要素を含み得るリスト600の形態でデータを編成することができる。そのようなリストをスクロールするために、ユーザは、キーを押す、またはタッチスクリーンディスプレイ上でタッチジェスチャーを実行して(たとえば、図1に示されるように)、リストをスクロールさせることができる。リストがスクロールするにつれて、アプリケーションは、画像602のそれぞれおよび604のテキストデータのすべてを含むリスト600の可視部分内に画像のすべてをレンダリングすることをプロセッサに要求する。
図6Bを参照すると、様々な態様で使用され得るプレースホルダー項目610のうちの1つの形態は、個々の画像602を標準の(すなわち多様ではない)単純なグラフィック612に置き換えることを伴う。そのような標準の単純なグラフィック612は、写真612よりもはるかにレンダリングしやすい可能性があり、リストが高速スクロールするときでさえ、テキストデータ604を含むプレースホルダー項目を最小フレームレートでレンダリングすることができる。単純なグラフィック612では、多種多様な写真602よりもレンダリングするための処理が少なくて済むので、図6Bに示されるプレースホルダー項目は、図6Aに示される通常の項目よりも「より軽量」である。
さらにより軽量の例示的なプレースホルダー項目が図6Cに示されており、写真602がブランクスペース622に置き換えられている。単純なグラフィック612さえレンダリングする必要がないので、図6Cに示されるプレースホルダー項目620は、依然として最小フレームレートを達成しながら、高速スクロール移動の間に、リストテキストデータ604を、レンダリングされた画像に含めることができる。
高速スクロールアニメーション速度が、最小フレームレート未満に低下することなく、アニメーションにおいてテキストデータ604さえレンダリングすることができないポイントまで増加する場合、たとえば図6Dに示されるように、さらにより軽量のプレースホルダー項目が使用され得る。このプレースホルダー項目630では、テキストデータが標準グラフィック632に置き換えられ、したがって、個々のテキストデータをレンダリングする必要がない。特定の項目をレンダリングする必要なしに移動の錯覚を作り出すために、ディスプレイ上の異なる場所に同じグラフィック画像(バッファに記憶することができる)を配置することによって、リスト項目データに標準グラフィック632を使用することによって、プロセッサは、画像を簡単にレンダリングすることができる。
図6Bから図6Dに示される例は、ユーザに対してデータをあまり有意に提示しないように見えるが、これらのプレースホルダー項目の提示は、高速アニメーションの間のみ起こる。したがって、ユーザは、図6Bに示されるように、その実際の写真602が標準のグラフィック612に置き換えられていることに気づいていない可能性がある。さらにより高い速度では、ユーザは、写真が表示されていないことに気づいていない、または図6Cに示されるように、写真が提示されていないことにかまわない可能性がある。さらにより高い速度では、ユーザは、テキスト様のグラフィックから移動するテキストを区別することができない可能性があるので、テキストが高速で移動していったように見えるように構成されているグラフィックプレースホルダー項目632にテキストデータ604が置き換えられていることに気づかない可能性がある。
多種多様な種類のプレースホルダー項目を、アプリケーション開発者によって定義され得るように、実装することができる。たとえば、リストアプリケーション(たとえば、連絡先リストまたは電話帳アプリケーション)では、レンダリングされた画像からデータの一部をドロップすることによって、軽量のプレースホルダー項目が提供され得る。たとえば、連絡先リストスクロールアニメーションでは、個人の名前のみがプレースホルダー項目に現れるように、連絡先および電話番号データがレンダリングされた項目からドロップされ得る。いくつかの実装形態では、情報のカテゴリのドロップによって、リストが速くスクロールしている間、各リスト項目の高さをもたらし、スクロール速度が低下するにつれて、カテゴリが拡張し、またはカテゴリのプレースホルダーエンティティがいっぱいになり得る。したがって、プレースホルダーの使用は、スクロールするリストの項目の高さに影響を及ぼす可能性がある。別の例として、軽量のプレースホルダー項目を提供するために、シェーディング、グループ識別子、および他のリスト項目の画像強調がアニメーション画像からドロップされ得る。さらなる例として、プレースホルダーは、リスト(たとえばA、B、Cなど)の現在位置のインデックス文字の表示など、リストにおける見出しまたはセグメントヘッダに縮小され得る。
図7は、様々な態様によるコンピューティングデバイス内で実施することができる例示的な方法700を示す。アニメーション202(たとえば、高速リストスクロールアニメーション)の開始時に、コンピューティングデバイスは、ブロック204でアニメーションに関連付けられたタイマーを開始することができる。ブロック206で、コンピューティングデバイスは、現在時間に応じて、オブジェクトまたは項目(たとえば、リスト項目)の移動量を計算し、ブロック208で、この計算に基づいて、次のフレームでレンダリングすべきオブジェクトまたは項目を決定することができる。ブロック210で、コンピューティングデバイスは、たとえばレンダリングエンジンによるレンダリングを要求することによって、決定されたオブジェクトまたは項目のレンダリングを開始する。ブロック702で、コンピューティングデバイスは、レンダリングプロセスで達成されている現在のフレームレートを決定し、またはそれに注目することができる。達成された現在のフレームレートの決定は、瞬時値(たとえば、最後のフレームのレンダリング持続時間)、移動平均値、または統計的に決定された値に基づいて、あらかじめ定義された前の時間間隔(たとえば、前の10分の1秒)内にレンダリングされたフレームの数に基づいて計算され得る。
決定ブロック704で、コンピューティングデバイスは、ブロック702で決定された現在のフレームレートが最小しきい値未満であるかどうかを決定することができる。フレームレートが最小レート以上である(すなわち、決定ブロック704=「いいえ」)場合、コンピューティングデバイスは、決定ブロック212においてアニメーションが完了したかどうかを決定することができる。アニメーションが完了していない(すなわち、決定ブロック212=「いいえ」)場合、コンピューティングデバイスがブロック206に戻って次の移動量を計算することによって、アニメーションは継続し得る。アニメーションが完了する(すなわち、決定ブロック212=「はい」)と、ブロック214でアニメーションが終わる。
コンピューティングデバイスは、アニメーションの間、現在達成されているフレームレートが最小しきい値未満であることを決定した(すなわち、決定ブロック704=「はい」)場合、ブロック706で、現在のアニメーション速度またはブロック206で計算された移動量をメモリに記憶することができる。ブロック708で、コンピューティングデバイスは、図2のブロック206を参照して上記で説明したものと同様の方法で、現在の時間に応じて、次のフレームにおける画像または項目の移動量を計算することができる。オプションのブロック710で、コンピューティングデバイスは、ブロック208を参照して上記で説明したものと同様の方法で、次のフレームにおいてレンダリングすべき次の画像または項目を決定することができる。いくつかのプレースホルダー項目は、(たとえば、標準のグラフィックプレースホルダーであるとき)スクロールする文書から取得されたデータのレンダリングを伴わない場合があり、この場合、レンダリングのために項目を識別する必要がないので、この決定はオプションである。ブロック712で、コンピューティングデバイスは、(たとえば、レンダリングエンジンにレンダリングを達成するよう要求することによって)プレースホルダー項目をレンダリングすることができる。決定ブロック714で、コンピューティングデバイスは、ブロック708で計算された現在のアニメーション速度が記憶された速度値(すなわち、ブロック706で記憶された速度値)以下かどうかを決定することができる。現在の速度が記憶された速度値よりも大きい(すなわち、決定ブロック714=「いいえ」)場合、コンピューティングデバイスは、ブロック708に戻って現在時間に応じて次の移動量を計算し、アニメーションを継続することができる。
コンピューティングデバイスは、現在のアニメーション速度が記憶された速度値以下であることを決定する(すなわち、決定ブロック714=「はい」)と、決定ブロック212に戻ってアニメーションが完了したかどうかを決定することができる。アニメーションが完了していない場合、コンピューティングデバイスは、上記で説明したように、ブロック206に戻ることによって、通常の項目をレンダリングするアニメーションを継続することができる。
さらなる態様では、コンピューティングデバイスが、様々なアニメーション速度による許容できるグラフィック表現とともに最小フレームレートを維持できるようにするために、2つ以上のタイプのプレースホルダー項目を実装することができる。たとえば、図8Aに示されるように、アプリケーションは、2つのプレースホルダー項目、すなわち、中解像度プレースホルダー(またはプレースホルダーフォーマット)、および低解像度プレースホルダー(またはプレースホルダーフォーマット)で構成され得る。この図示の例では、ポイント802で示されるように、達成されたフレームレートが最小値を下回るまで、(線502によって示されるように)通常の項目をレンダリングすることができる。この状態に遭遇すると、コンピューティングデバイスプロセッサは、現在のアニメーション速度804を記憶し、線806によって示されるように、中解像度プレースホルダー項目のレンダリングを開始する。ポイント808で示されるように、達成されたフレームレートが再度最小値未満であることをプロセッサが決定するまで、中解像度プレースホルダー項目のレンダリング806が継続する。フレームレートが最小値を下回るこの状態が2回目に検出されると、コンピューティングデバイスは、現在のアニメーション速度810をメモリに記憶し、低解像度プレースホルダー項目のレンダリング812を開始する。アニメーション速度が記憶された値810を下回るまで、低解像度プレースホルダー項目のレンダリング812が継続し、その後でコンピューティングデバイスが中解像度プレースホルダー項目のレンダリング806を開始する。アニメーション速度が804の記憶された値を下回るまで、中解像度プレースホルダー項目のレンダリング806が継続し、その後でコンピューティングデバイスが通常の解像度項目のレンダリング502を開始する。
実装され得る異なるタイプの解像度のプレースホルダー(またはプレースホルダーフォーマット)の数は、無制限である。たとえば、図8Bは、3つの異なるプレースホルダーが実装される態様を示す。この例では、中および低解像度のプレースホルダーの実装は、図8Aを参照して上記で説明したように進み得る。しかしながら、ポイント820で示されるように、低解像度項目のレンダリングでさえ、処理リソースが最小フレームレートを満たすことができない場合、コンピューティングデバイスは、線824によって示されるように、たとえば単純なシェーディングバンド、単純なグラフィックス、またはプレースホルダーテキストなど、最小のプレースホルダーをレンダリングすることによって、最小フレームレートを維持することができる。フレームレートが最小値を下回るこの状態が3回目に検出されると、コンピューティングデバイスは、現在のアニメーション速度822をメモリに記憶し、最小解像度プレースホルダー項目のレンダリング824を開始する。アニメーション速度が記録された値822を下回るまで、最小解像度プレースホルダー項目のレンダリング844が継続し、その後でコンピューティングデバイスが低解像度プレースホルダー項目のレンダリング812を開始する。
図9は、最小フレームレートを維持するために、任意の数の異なるタイプのプレースホルダー(またはプレースホルダーフォーマット)を可能にするための態様に従って、コンピューティングデバイスにおいて実装することができる例示的な方法900を示す。方法900のブロック902で、アニメーションは開始することができ、これは、ブロック904でタイマーを開始することを伴い得る。ブロック906で、コンピューティングデバイスは、レンダリングフォーマットを通常または標準(F0)として指定し、速度基準およびレンダリングフォーマットを追跡するためにインデックスが使用されるとき、インデックスiを初期化する(すなわち、i=0と設定する)ことによって、アニメーションを初期化することができる。この操作は、アニメーションの始めに、通常のオブジェクトまたは項目をレンダリングする必要があること、または、項目を通常のフォーマットでレンダリングする必要があることを示す。ブロック908で、コンピューティングデバイスは、現在時間に応じて、移動パラメータまたはアニメーションの速度を計算することができる。ブロック910で、コンピューティングデバイスは、次の画像位置またはレンダリングすべき項目を決定し、ブロック912で、現在指定されているフォーマットを使用したそれらの画像または項目のレンダリングを要求することができる。現在指定されているフォーマット(Fi)は、ブロック906、または後述するように、ブロック924もしくは928のうちの1つで指定されるフォーマットである。この操作において、コンピューティングデバイスは、レンダリングすべきオブジェクトまたは画像、ならびに使用すべきレンダリングフォーマットをレンダリングエンジンに対して指定することができる。ブロック914で、コンピューティングデバイスは、図7を参照して上記で説明したものと同様の方法で現在のフレームレートに注目し、またはそれを決定する。決定ブロック916で、コンピューティングデバイスは、フレームレートが最小しきい値未満であるかどうかを決定する。
コンピューティングデバイスは、フレームレートが最小しきい値未満に低下したことを決定した(すなわち、決定ブロック916=「はい」)場合、速度基準およびレンダリングフォーマットを追跡するためにインデックスを使用するとき、ブロック921でインデックスiを増分し、現在の速度または移動パラメータを、たとえばスタックに、またはインデックス付き変数として(たとえばSiとして)など、メモリに記憶し、レンダリングフォーマットを次に軽いプレースホルダーフォーマット(たとえば、Fi)として指定することができる。次いで、コンピューティングデバイスは、決定ブロック920でアニメーションが完了したかどうかを決定することができる。アニメーションが完了していない(すなわち、決定ブロック920=「いいえ」)場合、コンピューティングデバイスは、ブロック908に戻って、時間に応じて次の移動パラメータまたは距離を計算することによって、アニメーションを継続し得る。ブロック912で、コンピューティングデバイスは、ブロック924で指定された現在指定されているフォーマットFiを使用して、次の画像または項目をレンダリングする。より少ない処理で済む(すなわち、「より軽量」である)フォーマットを指定することによって、コンピューティングデバイスは、指定されたアニメーション速度に適合させながら、最小フレームレートを維持することができる。
コンピューティングデバイスは、フレームレートが最小許容フレームレート以上あることを決定した(すなわち、決定ブロック916=「いいえ」)場合、現在のアニメーション速度または移動パラメータが、ブロック922で記憶された現在記憶されている速度Si以下であるかどうかを決定することができる。現在の速度が、現在記憶されている速度Siよりも大きい(すなわち、決定ブロック918=「いいえ」)場合、コンピューティングデバイスは、決定ブロック920においてアニメーションが完了したかどうかを決定することができる。アニメーションが完了していない(すなわち、決定ブロック920=「いいえ」)場合、コンピューティングデバイスは、ブロック908に戻って、時間に応じて次の移動パラメータまたは距離を計算することによって、アニメーションを継続し得る。
ブロック908〜920の操作は、アニメーションの間、所望の最小フレームレートを維持するために、ブロック924で指定されたさらに軽量のレンダリングフォーマットFiで継続することができる。より軽いフォーマットが指定されるたびに、コンピューティングデバイスは、インデックスiを増分(ブロック921)し、同じく、対応するアニメーション速度Siを記憶する(ブロック922)ことができる。たとえば、プレースホルダーフォーマットは、たとえば陰影を除去し、次いで他の照明効果を除去し、次いで画像の詳細を低減し、次いでいくつかの画像要素の代わりにカートゥーンを使用し、次いでいくつかのイメージ要素をドロップするなどして、レンダリングの複雑さを順次低減することができる。したがって、ちらつきの外観を回避するために、最小フレームレートを達成しながら、表示された画像が増加する速度で一貫した品質を維持するように見えることを可能にするために、任意の数のプレースホルダー項目(またはプレースホルダーフォーマット)を指定することができる。
コンピューティングデバイスは、現在の速度または移動パラメータが現在のレンダリングフォーマットに関連付けられた記憶された速度Si以下であることを決定した(すなわち、決定ブロック918=「はい」)場合、ブロック925でインデックスiを減分し、ブロック926で前のレンダリングフォーマットに関連付けられた前に記憶されているアニメーション速度(すなわち、インデックスiが減分された後のSi)を呼び出し、ブロック928で、次に重いレンダリングフォーマット(すなわち、インデックスiが減分された後のFi)をレンダリングフォーマットとして指定することができる。次いで、コンピューティングデバイスは、決定ブロック920でアニメーションが完了したかどうかを決定することができる。アニメーションが完了していない(すなわち、決定ブロック920=「いいえ」)場合、コンピューティングデバイスは、ブロック908に戻って、時間に応じて次の移動パラメータまたは距離を計算することによって、アニメーションを継続し得る。ブロック912で、コンピューティングデバイスは、ブロック924で指定された現在指定されているフォーマットFiを使用して、次の画像または項目をレンダリングする。より多くの処理を必要とするレンダリングフォーマットを指定することによって、コンピューティングデバイスは、最小フレームレートを指定されたアニメーション速度で維持しながら、より高い解像度またはより通常の表示画像を生成することができる。
ブロック916、922および924での操作は、最小フレームレートを維持するために、増加するアニメーション要求に応答して、さらに軽量のレンダリングフォーマットを順次実装することを可能にし、一方、ブロック918、926、および928の操作は、アニメーション要求が減少するにつれて、増加する重みのレンダリングフォーマットを実装するために、このプロセスを順次元に戻すことを可能にする。したがって、方法900によって、コンピューティングデバイスは、所望の最小フレームレートを維持するために、アプリケーション開発者の仕様に従って、プレースホルダーまたはレンダリングフォーマットを調整することができる。
上記の例はリストアプリケーションおよび高速リストスクロールアニメーションについて言及しているが、態様および特許請求の範囲は、そのようなアプリケーションに限定されておらず、任意のアニメーションルーチンによって実施することができる。図9を参照して上記で説明した一般の方法は、たとえば、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPointプレゼンテーションの高速スクロール、および写真画像(たとえば、JPEGおよび/またはTIFFフォーマット画像)の高速スクロールまたはパンを含めて、高速に移動する画像および文書項目をレンダリングする任意のコンピューティングデバイスで実施することができる。そのような画像の移動は、上記で説明したように、(たとえば、GUI実装における)ユーザ入力に応答することができるが、コンピューティングデバイス上で実行しているゲームアプリケーションなど、アプリケーションの通常の機能の一部とすることもできる。
さらに、アニメーションは、図5A〜図5C、図8A、および図8Bに示されるように、放物的または対称的な時間分布に従う必要はない。図9に示される方法900と同様の方法を実装する様々な態様は、図10に示されるものなど、矛盾する方法で、処理要求に関して変わるアニメーションのために実装され得る。たとえば、様々な態様は、コンピュータゲーム、またはゲームアプリケーションを実行しているコンピューティングデバイスにおいて実装され得る。
図10は、図9に示されるものと同様の態様方法を実装するコンピューティングデバイスが、様々なオブジェクト速度をランダムに呈するアプリケーションについて、時間に応じて、オブジェクト速度または移動パラメータに応答して、どのようにしてレンダリングフォーマットを調整することができるかを示すグラフである。コンピューティングデバイスが最小フレームレートでオブジェクトまたは画像をレンダリングすることが可能な限り、レンダリングは、線952によって示されるように、標準または通常のレンダリングフォーマットを使用して達成することができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント954で示されるように、最小値を下回ると、コンピューティングデバイスは、現在のオブジェクト速度または移動パラメータを第1の速度値S1(値958)として記憶し、線956によって示されるように、第1の(たとえば、中解像度)レンダリングフォーマットF1でオブジェクトおよび画像のレンダリングを開始することができる。現在のオブジェクト速度または移動パラメータの要求が、ポイント960で示されるように、記憶された値958を下回ると、コンピューティングデバイスは、標準または通常のレンダリングフォーマットを使用して、オブジェクトおよび画像のレンダリングに戻ることができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント962で示されるように、再度最小値を下回ると、コンピューティングデバイスは、そのオブジェクト速度または移動パラメータ値S1(958)を再度記憶し、第1のレンダリングフォーマットF1を使用して、オブジェクトおよび画像のレンダリングに戻ることができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント964で示されるように、再度最小値を下回ると、コンピューティングデバイスは、そのオブジェクト速度または移動パラメータ値S2(968)を記憶し、第2の(たとえば低解像度)レンダリングフォーマットF2を使用して、オブジェクトおよび画像のレンダリングを開始することができる。現在のオブジェクト速度または移動パラメータの要求が、ポイント970で示されるように、記憶さ
れた値S2(968)を下回ると、コンピューティングデバイスは、次に重い第1のレンダリングフォーマットF1を使用して、オブジェクトおよび画像のレンダリングに戻ることができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント972で示されるように、再度最小値を下回ると、コンピューティングデバイスは、そのオブジェクト速度または移動パラメータ値S2(968)を再度記憶し、第2のレンダリングフォーマットF2を使用して、オブジェクトおよび画像のレンダリングに戻ることができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント964で示されるように、再度最小値を下回ると、コンピューティングデバイスは、そのオブジェクト速度または移動パラメータ値S2(968)を記憶し、第2のレンダリングフォーマットF2を使用して、オブジェクトおよび画像のレンダリングを開始することができる。アニメーションおよび/またはバックグラウンドプロセスの要求によって、達成されたフレームレートが、ポイント974で示されるように、再度最小値を下回ると、コンピューティングデバイスは、そのオブジェクト速度または移動パラメータ値S3(978)を記憶し、第3の(たとえばグラジエント(gradient))レンダリングフォーマットF3を使用して、オブジェクトおよび画像のレンダリングを開始することができる。アニメーションの要求が、それぞれポイント980、982、および984で示されるように、記憶された速度値S3、S2、およびS1を下回ると、コンピューティングデバイスは、それに応じて、第2のレンダリングフォーマットF2、第1のレンダリングフォーマットF1、および標準または通常のレンダリングフォーマットに戻ることができる。
達成されたフレームレートにおける変化は、オブジェクトおよび項目をレンダリングするために利用可能な処理リソースの量、ならびにグラフィックアニメーションの処理要求を低減するバックグラウンドプロセスに一部起因し得ることを諒解されたい。そのようなバックグラウンドプロセスは、アプリケーション開発者が予想するのは非常に困難であり得る。したがって、態様によって、コンピューティングデバイスは、バックグラウンドプロセスがコンピューティングデバイス画像レンダリング機能を制限するときでも、アニメーションのための一貫したフレームレート性能を送出し続けることができる。レンダリングプロセスのためのプレースホルダーが実装された時点で実施されたアニメーション速度または移動パラメータのみを追跡することによって、様々な態様は、バックグラウンド処理を監視したり予測したりする必要なく、アニメーションおよびバックグラウンドプロセスの要求における変化に対応するための単純な機構を提供する。プレースホルダーのレンダリングがリセットされる(たとえば、通常のレンダリングまたは次に最も重いレンダリングに戻る)たびに、所与のプレースホルダーの実装に関連付けられたアニメーション速度または移動パラメータがリセットされ得るので、態様は、不必要に画像レンダリングを低減したり、複雑なアルゴリズムまたはデバイス特定の実装を必要としたりすることなく、バックグラウンドプロセスにおける動的な変化に対応することができる。
さらなる態様において、コンピューティングデバイスは、最小フレームレートをサポートしながら、アニメーショングラフィックスのほぼ最適なレンダリングを可能にするプレースホルダーまたはレンダリングフォーマットを選択するように構成され得る。この態様では、コンピューティングデバイスは、画質の最低限の低下でフレームレートの最小値を満たすことを可能にするレンダリングフォーマットを推測または推定することができる。そのような推測または推定は、アニメーションの現在の速度または処理要求、現在のフレームレート性能、および/またはバックグラウンドプロセス要求に基づき得る。推測または推定されたレンダリングフォーマットがいったん実装されると、コンピューティングデバイスは、それが最小フレームレートを上回るか下回るかを決定するために、達成されたフレームレートを監視することができる。達成されたフレームレートが依然として最小しきい値未満である場合、コンピューティングデバイスは、より軽いレンダリングフォーマット(すなわち、より少ない処理で済むレンダリングフォーマット)を実装し、達成されたフレームレートを監視し続けることができる。達成されたフレームレートが、たとえばしきい値量だけ最小値を上回る場合、コンピューティングデバイスは、より重いレンダリングフォーマット(すなわち、より多い処理を必要とするレンダリングフォーマット)を実装し、達成されたフレームレートを監視し続けることができる。このようにして、コンピューティングデバイスは、ほぼ最適なレンダリングを達成するために、最小フレームレートと一致してレンダリングフォーマットを連続的に調整することができる。この態様では、アプリケーション開発者は、所望の最小フレームレートを指定し、様々なプレースホルダーまたはレンダリングフォーマットを識別または特徴づけるだけでよい。
上述のように、テキストおよび画像オブジェクトのリストに対する態様の上記の例の適用は、例示的な目的のためのみに提供される。態様は、ウェブページテキストおよび画像、ワード処理文書、portable document format(PDF)文書、PowerPointプレゼンテーション、テキスト文書、写真画像(たとえば、JPEGおよび/またはTIFF画像)などのスクロールまたはパンなど、ディスプレイ上でスクロールまたはパンされる任意の表示されたコンテンツまたは画像に適用することもできる。
上記の態様は、図11に示されるようなモバイルデバイスおよび図12に示されるようなノートブックコンピュータなど、様々なコンピューティングデバイスのうちの任意のものの上に実装され得る。一般的なモバイルデバイス1100は、図11に示される構成要素を共有する。たとえば、コンピューティングデバイス1100は、内部メモリ1192に結合されたプロセッサ1191およびタッチ面入力デバイス1104またはディスプレイ1102を含むことができる。タッチ面入力デバイス1104は、たとえば抵抗検知タッチスクリーン、容量検知タッチスクリーン、赤外線検知タッチスクリーン、音響/圧電検知タッチスクリーンなど、任意のタイプのタッチスクリーンディスプレイ1101とすることができる。様々な態様は、任意の特定のタイプのタッチスクリーンディスプレイ1101またはタッチパッド技術に限定されない。さらに、コンピューティングデバイス1100は、プロセッサ1191に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ1195に接続される、電磁放射を送信および受信するためのアンテナ1194を有し得る。タッチ面入力デバイス1104を含まない(およびしたがって、一般的にはディスプレイ1102を有していない)コンピューティングデバイス1100は、通常、キーパッド1196または小型キーボード、およびポインティングデバイスとして働くメニュー選択キーまたはロッカスイッチ1197を含む。プロセッサ1191は、様々な態様を適用することもできる外部タッチパッドまたはタッチ面にプロセッサ1191を接続するための、たとえば汎用シリアルバス(USB)またはFireWire(登録商標)コネクタソケットなどのワイヤードネットワークインターフェース1198にさらに接続され得る。
いくつかの実装形態では、タッチ面を、タッチスクリーンディスプレイ1104またはディスプレイ1102の外の電子デバイス1100のエリアに設けることができる。たとえば、キーパッド1196は、埋込み型の容量性タッチセンサを有するタッチ面を含むことができる。他の実施形態では、キーパッド1196が排除されて、タッチスクリーンディスプレイ1104が完全なGUIを設けるようにしてもよい。また別の実装形態では、タッチ面は、ケーブルコネクタ1198に対するケーブルによって、またはプロセッサ1191に結合されたワイヤレストランシーバ(たとえば、トランシーバ1195)によってコンピューティングデバイス1100に接続することができる外部タッチパッドでもよい。
上記で説明した態様は、たとえば図12に示されるラップトップコンピュータ1200など、様々なコンピューティングデバイス内で実施することもできる。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドタッチ面を含み、およびしたがって、タッチスクリーンディスプレイを備えたモバイルデバイス上で実施されるものと同様のドラッグ、スクロール、およびフリックジェスチャーを受信することができる。ラップトップコンピュータ1200は通常、揮発性メモリ1202と、ディスクドライブ1203のような大容量の不揮発性メモリとに結合されたプロセッサ1201を含む。コンピュータ1200はまた、プロセッサ1201に結合された、フレキシブルディスクドライブ1204およびコンパクトディスク(CD)ドライブ1205も含み得る。コンピュータデバイス1200はまた、USBもしくはFireWire(登録商標)コネクタソケット、または、プロセッサ1201をネットワークに結合するための他のネットワーク接続回路1206のような、データ接続を確立し外部メモリデバイスを受け入れるための、プロセッサ1201に結合されたいくつかのコネクタポートを含み得る。ノートブック構成において、コンピュータハウジングは、プロセッサ1201にすべて結合されるタッチパッド1207、キーボード1208、およびディスプレイ1209を含む。コンピューティングデバイスの他の構成は、周知であるように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含み得る。
コンピューティングデバイスプロセッサ1191、1201は、上記で説明した様々な態様の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのポータブルコンピューティングデバイス1100では、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ1191を設けることができる。プロセッサは、通信チップセットの一部として含めることもできる。
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な実施形態のステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者なら諒解するように、上記の実施形態におけるステップの順番は、任意の順番で実行可能である。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、単に、読者に方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」などを用いた単数形での請求要素への言及は、その要素を単数に限定するものとして解釈されるべきではない。
本明細書で開示する実施形態に関して説明する、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、またはその両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記で説明されている。そのような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、特定のアプリケーションおよび全体的なシステムに課せられた設計制約に依存する。当業者は、各特定のアプリケーションについて様々なやり方で記載された機能を実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱をもたらすものとして解釈されるべきではない。
本明細書で開示される態様に関して説明される様々な例示的論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または、本明細書に記載の機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。汎用プロセッサは、マイクロプロセッサでもよいが、代替として、そのプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかのステップまたは方法が、所与の機能に固有の回路によって実行され得る。
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せで実装することができる。ソフトウェアで実装する場合、機能は、1つまたは複数の命令もしくはコードとしてコンピュータ可読媒体上に記憶され、または、コンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読記憶媒体上に常駐し得るプロセッサ実行可能ソフトウェアモジュールにおいて具現化され得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく、例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体を含み得る。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含めるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せ、もしくはそのセットとして常駐し得る。
開示される実施形態の上記の説明は、当業者が本発明を作成または使用できるようにするために、提供される。これらの実施形態への様々な修正が当業者には容易に明らかになることになり、本明細書に定義する一般原理は、本発明の趣旨および範囲を逸脱することなしに他の実施形態に適用され得る。したがって、本発明は、本明細書に示す実施形態に限定されるものではなく、以下の特許請求の範囲および本明細書で開示する原理および新規の特徴に一致する最大の範囲を与えられるものである。
100 モバイルデバイス
102 タッチスクリーンディスプレイ
104 連絡先リスト
600 リスト
602 写真、画像
604 テキストデータ
610 プレースホルダー項目
1100 モバイルデバイス
1101 タッチスクリーンディスプレイ
1102 ディスプレイ
1104 タッチ面入力デバイス
1191 プロセッサ
1192 内部メモリ
1194 アンテナ
1195 セルラー電話トランシーバ
1196 キーパッド
1197 ロッカスイッチ
1198 ワイヤードネットワークインターフェース
1198 ケーブルコネクタ
1200 ラップトップコンピュータ
1201 プロセッサ
1202 揮発性メモリ
1203 ディスクドライブ
1204 フレキシブルディスクドライブ
1205 コンパクトディスク(CD)ドライブ
1206 ネットワーク接続回路
1207 タッチパッド
1208 キーボード
1209 ディスプレイ

Claims (52)

  1. コンピューティングデバイスにおいて表示アニメーションを実施するための方法であって、
    前記表示アニメーションレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値未満であることが決定されると、計算量的にあまり複雑ではない項目をレンダリングするステップであり、前記計算量的にあまり複雑ではない項目は、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出され前記通常の項目よりも速くレンダリングすることができる固定画像要素を含む、標準的なグラフィック項目であり、前記固定画像要素は前記計算量的にあまり複雑ではない項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された速度を下回ると、通常の項目をレンダリングするステップと
    を含む方法。
  2. 前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づく、請求項1に記載の方法。
  3. 前記監視されたフレームレートが移動平均フレームレートに基づく、請求項1に記載の方法。
  4. 前記計算量的にあまり複雑ではない項目がアプリケーションの一部として定義される、請求項1に記載の方法。
  5. 前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つである、請求項1に記載の方法。
  6. コンピューティングデバイスにおいて表示アニメーションを実施するための方法であって、
    前記表示アニメーションの開始時に画像をレンダリングするための第1のレンダリングフォーマットを指定するステップと、
    前記指定されたレンダリングフォーマットを使用して画像をレンダリングするステップと、
    前記表示アニメーションレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値を下回ったときを決定するステップと、
    前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されると、画像をレンダリングするための第2のレンダリングフォーマットを指定するステップであり、前記第2のレンダリングフォーマットが、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出される固定画像要素を含む標準的なグラフィック項目を使用することによって、前記第1のレンダリングフォーマットよりも処理を必要としない、ステップであって前記固定画像要素は前記標準的なグラフィック項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの第1の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第1の速度未満であるときを決定するステップと、
    現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第1の速度未満であることが決定されたとき、前記第1のレンダリングフォーマットを指定するステップと
    を含む方法。
  7. 前記現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第3のレンダリングフォーマットを指定し、前記表示アニメーションの第2の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第2の速度未満であるときを決定するステップと、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第2の速度未満であることが決定されたとき、前記第2のレンダリングフォーマットを指定するステップと
    をさらに含む請求項6に記載の方法。
  8. 前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第4のレンダリングフォーマットを指定し、前記表示アニメーションの第3の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第3の速度未満であるときを決定するステップと、
    前記現在の指定されたレンダリングフォーマットが前記第4のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第3の速度未満であることが決定されたとき、前記第3のレンダリングフォーマットを指定するステップと
    をさらに含む請求項7に記載の方法。
  9. 前記第1のレンダリングフォーマット、第2のレンダリングフォーマット、および第3のレンダリングフォーマットがアプリケーションの一部として定義される、請求項8に記載の方法。
  10. 前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づく、請求項6に記載の方法。
  11. 前記監視されたフレームレートが移動平均フレームレートに基づく、請求項6に記載の方法。
  12. 前記表示アニメーションが高速リストスクロールアニメーションである、請求項6に記載の方法。
  13. 前記表示アニメーションがゲームアプリケーションによって生成される、請求項6に記載の方法。
  14. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサに結合されたディスプレイと、
    前記前記プロセッサに結合されたメモリと
    を含み、前記プロセッサが、
    表示アニメーションレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値未満であることが決定されると、計算量的にあまり複雑ではない項目をレンダリングするステップであり、前記計算量的にあまり複雑ではない項目は、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出され前記通常の項目よりも速くレンダリングすることができる固定画像要素を含む、標準的なグラフィック項目であり、前記固定画像要素は前記計算量的にあまり複雑ではない項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された速度を下回ると、通常の項目をレンダリングするステップと
    を含む操作を実行するためのプロセッサ実行可能命令で構成される、コンピューティングデバイス。
  15. 前記プロセッサが、前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づくような操作を実行するためのプロセッサ実行可能命令で構成される、請求項14に記載のコンピューティングデバイス。
  16. 前記プロセッサが、前記監視されたフレームレートが移動平均フレームレートに基づくような操作を実行するためのプロセッサ実行可能命令で構成される、請求項14に記載のコンピューティングデバイス。
  17. 前記プロセッサが、前記計算量的にあまり複雑ではない項目がアプリケーションの一部として定義されるような操作を実行するためのプロセッサ実行可能命令で構成される、請求項14に記載のコンピューティングデバイス。
  18. 前記プロセッサが、前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つであるような操作を実行するためのプロセッサ実行可能命令で構成される、請求項14に記載のコンピューティングデバイス。
  19. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサに結合されたディスプレイと、
    前記前記プロセッサに結合されたメモリと
    を含み、前記プロセッサが、
    表示アニメーションの開始時に画像をレンダリングするための第1のレンダリングフォーマットを指定するステップと、
    前記指定されたレンダリングフォーマットを使用して画像をレンダリングするステップと、
    前記表示アニメーションレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値を下回ったときを決定するステップと、
    前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されると、画像をレンダリングするための第2のレンダリングフォーマットを指定するステップであり、前記第2のレンダリングフォーマット、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出される固定画像要素を含む標準的なグラフィック項目を使用することによって、前記第1のレンダリングフォーマットよりも処理を必要としない、ステップであって前記固定画像要素は前記標準的なグラフィック項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの第1の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第1の速度未満であるときを決定するステップと、
    現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第1の速度未満であることが決定されたとき、前記第1のレンダリングフォーマットを指定するステップと
    を含む操作を実行するためのプロセッサ実行可能命令で構成される、コンピューティングデバイス。
  20. 前記プロセッサが、
    前記現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第3のレンダリングフォーマットを指定し、前記表示アニメーションの第2の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第2の速度未満であるときを決定するステップと、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第2の速度未満であることが決定されたとき、前記第2のレンダリングフォーマットを指定するステップと
    をさらに含む操作を実行するためのプロセッサ実行可能命令で構成される、請求項19に記載のコンピューティングデバイス。
  21. 前記プロセッサが、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第4のレンダリングフォーマットを指定し、前記表示アニメーションの第3の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第3の速度未満であるときを決定するステップと、
    前記現在の指定されたレンダリングフォーマットが前記第4のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第3の速度未満であることが決定されたとき、前記第3のレンダリングフォーマットを指定するステップと
    をさらに含む操作を実行するためのプロセッサ実行可能命令で構成される、請求項20に記載のコンピューティングデバイス。
  22. 前記プロセッサが、前記第1のレンダリングフォーマット、第2のレンダリングフォーマット、および第3のレンダリングフォーマットがアプリケーションの一部として定義されるような操作を実行するためのプロセッサ実行可能命令で構成される、請求項21に記載のコンピューティングデバイス。
  23. 前記プロセッサが、前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づくような操作を実行するためのプロセッサ実行可能命令で構成される、請求項19に記載のコンピューティングデバイス。
  24. 前記プロセッサが、前記監視されたフレームレートが移動平均フレームレートに基づくような操作を実行するためのプロセッサ実行可能命令で構成される、請求項19に記載のコンピューティングデバイス。
  25. 前記プロセッサが、前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つであるような操作を実行するためのプロセッサ実行可能命令で構成される、請求項19に記載のコンピューティングデバイス。
  26. 前記プロセッサが、前記表示アニメーションがゲームアプリケーションによって生成されるような操作を実行するためのプロセッサ実行可能命令で構成される、請求項19に記載のコンピューティングデバイス。
  27. コンピューティングデバイスであって、
    表示アニメーションレンダリングされたフレームのレートを監視するための手段と、
    前記監視されたフレームレートが許容可能な最小値未満であることが決定されると、計算量的にあまり複雑ではない項目をレンダリングするための手段であり、前記計算量的にあまり複雑ではない項目は、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出され前記通常の項目よりも速くレンダリングすることができる固定画像要素を含む、標準的なグラフィック項目であり、前記固定画像要素は前記計算量的にあまり複雑ではない項目ごとに同一である、手段と、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの速度を記憶するための手段と、
    前記表示アニメーションの速度が前記記憶された速度を下回ると、通常の項目をレンダリングするための手段と
    を含むコンピューティングデバイス。
  28. レンダリングされたフレームのレートを監視するための手段が、あらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づいてレンダリングされたフレームの前記レートを監視するための手段を含む、請求項27に記載のコンピューティングデバイス。
  29. レンダリングされたフレームのレートを監視するための手段が、移動平均フレームレートに基づいてレンダリングされたフレームの前記レートを監視するための手段を含む、請求項27に記載のコンピューティングデバイス。
  30. 前記計算量的にあまり複雑ではない項目がアプリケーションの一部として定義される、請求項27に記載のコンピューティングデバイス。
  31. 前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つである、請求項27に記載のコンピューティングデバイス。
  32. コンピューティングデバイスであって、
    表示アニメーションの開始時に画像をレンダリングするための第1のレンダリングフォーマットを指定するための手段と、
    前記指定されたレンダリングフォーマットを使用して画像をレンダリングするための手段と、
    前記表示アニメーションレンダリングされたフレームのレートを監視するための手段と、
    前記監視されたフレームレートが許容可能な最小値を下回ったときを決定するための手段と、
    前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されると、画像をレンダリングするための第2のレンダリングフォーマットを指定するための手段であり、前記第2のレンダリングフォーマットが、通常の項目を代表し前記コンピューティングデバイスのメモリから呼び出される固定画像要素を含む標準的なグラフィック項目を使用することによって、前記第1のレンダリングフォーマットよりも処理を必要としない、手段であって前記固定画像要素は前記標準的なグラフィック項目ごとに同一である、手段と、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの第1の速度を記憶するための手段と、
    前記表示アニメーションの速度が前記記憶された第1の速度未満であるときを決定するための手段と、
    現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第1の速度未満であることが決定されたとき、前記第1のレンダリングフォーマットを指定するための手段と
    を含むコンピューティングデバイス。
  33. 前記現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第3のレンダリングフォーマットを指定し、前記表示アニメーションの第2の速度を記憶するための手段と、
    前記表示アニメーションの速度が前記記憶された第2の速度未満であるときを決定するための手段と、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第2の速度未満であることが決定されたとき、前記第2のレンダリングフォーマットを指定するための手段と
    をさらに含む、請求項32に記載のコンピューティングデバイス。
  34. 前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第4のレンダリングフォーマットを指定し、前記表示アニメーションの第3の速度を記憶するための手段と、
    前記表示アニメーションの速度が前記記憶された第3の速度未満であるときを決定するための手段と、
    前記現在の指定されたレンダリングフォーマットが前記第4のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第3の速度未満であることが決定されたとき、前記第3のレンダリングフォーマットを指定するための手段と
    をさらに含む、請求項33に記載のコンピューティングデバイス。
  35. 前記第1のレンダリングフォーマット、第2のレンダリングフォーマット、および第3のレンダリングフォーマットがアプリケーションの一部として定義される、請求項34に記載のコンピューティングデバイス。
  36. レンダリングされたフレームのレートを監視するための手段が、あらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づいてレンダリングされたフレームの前記レートを監視するための手段を含む、請求項33に記載のコンピューティングデバイス。
  37. レンダリングされたフレームのレートを監視するための手段が、移動平均フレームレートに基づいてレンダリングされたフレームの前記レートを監視するための手段を含む、請求項33に記載のコンピューティングデバイス。
  38. 前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つである、請求項33に記載のコンピューティングデバイス。
  39. 前記表示アニメーションがゲームアプリケーションによって生成される、請求項33に記載のコンピューティングデバイス。
  40. 表示アニメーションにレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値未満であることが決定されると、計算量的にあまり複雑ではない項目をレンダリングするステップであり、前記計算量的にあまり複雑ではない項目は、通常の項目を代表しコンピューティングデバイスのメモリから呼び出され前記通常の項目よりも速くレンダリングすることができる固定画像要素を含む、標準的なグラフィック項目であり、前記固定画像要素は前記計算量的にあまり複雑ではない項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された速度を下回ると、通常の項目をレンダリングするステップと
    を含む操作をコンピューティングデバイスのプロセッサに実行させるように構成されるプロセッサ実行可能命令を記録した、プロセッサ可読記録媒体。
  41. 前記記録された命令が、前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づくような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項40に記載のプロセッサ可読記録媒体。
  42. 前記記録された命令が、前記監視されたフレームレートが移動平均フレームレートに基づくような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項40に記載のプロセッサ可読記録媒体。
  43. 前記記録された命令が、前記計算量的にあまり複雑ではない項目がアプリケーションの一部として定義されるような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項40に記載のプロセッサ可読記録媒体。
  44. 前記記録された命令が、前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つであるような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項40に記載のプロセッサ可読記録媒体。
  45. 表示アニメーションの開始時に画像をレンダリングするための第1のレンダリングフォーマットを指定するステップと、
    前記指定されたレンダリングフォーマットを使用して画像をレンダリングするステップと、
    前記表示アニメーションレンダリングされたフレームのレートを監視するステップと、
    前記監視されたフレームレートが許容可能な最小値を下回ったときを決定するステップと、
    前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されると、画像をレンダリングするための第2のレンダリングフォーマットを指定するステップであり、前記第2のレンダリングフォーマットが、通常の項目を代表しコンピューティングデバイスのメモリから呼び出される固定画像要素を含む標準的なグラフィック項目を使用することによって、前記第1のレンダリングフォーマットよりも処理を必要としない、ステップであって前記固定画像要素は前記標準的なグラフィック項目ごとに同一である、ステップと、
    前記監視されたフレームレートが前記許容可能な最小値未満であることが決定されると、前記表示アニメーションの第1の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第1の速度未満であるときを決定するステップと、
    現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第1の速度未満であることが決定されたとき、前記第1のレンダリングフォーマットを指定するステップと
    を含む操作をコンピューティングデバイスのプロセッサに実行させるように構成されるプロセッサ実行可能命令を記録した、プロセッサ可読記録媒体。
  46. 前記記録された命令が、
    前記現在の指定されたレンダリングフォーマットが前記第2のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第3のレンダリングフォーマットを指定し、前記表示アニメーションの第2の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第2の速度未満であるときを決定するステップと、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第2の速度未満であることが決定されたとき、前記第2のレンダリングフォーマットを指定するステップと
    をさらに含む操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項45に記載のプロセッサ可読記録媒体。
  47. 前記記録された命令が、
    前記現在の指定されたレンダリングフォーマットが前記第3のレンダリングフォーマットであり、前記監視されたフレームレートが前記許容可能な最小値を下回ったことが決定されたとき、画像をレンダリングするための第4のレンダリングフォーマットを指定し、前記表示アニメーションの第3の速度を記憶するステップと、
    前記表示アニメーションの速度が前記記憶された第3の速度未満であるときを決定するステップと、
    現在の指定されたレンダリングフォーマットが前記第4のレンダリングフォーマットであり、前記表示アニメーションの前記速度が前記記憶された第3の速度未満であることが決定されたとき、前記第3のレンダリングフォーマットを指定するステップと
    をさらに含む操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項46に記載のプロセッサ可読記録媒体。
  48. 前記記録された命令が、前記第1のレンダリングフォーマット、第2のレンダリングフォーマット、および第3のレンダリングフォーマットがアプリケーションの一部として定義されるような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項47に記載のプロセッサ可読記録媒体。
  49. 前記記録された命令が、前記監視されたフレームレートがあらかじめ定義された前の間隔の間にレンダリングされたフレームの数に基づくような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項45に記載のプロセッサ可読記録媒体。
  50. 前記記録された命令が、前記監視されたフレームレートが移動平均フレームレートに基づくような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項45に記載のプロセッサ可読記録媒体。
  51. 前記記録された命令が、前記表示アニメーションが高速リストスクロールアニメーション、ウェブページの高速スクロールまたはパン、テキスト文書の高速スクロール、portable document format(PDF)文書の高速スクロールまたはパン、PowerPoint(登録商標)プレゼンテーションの高速スクロール、および写真画像の高速スクロールまたはパンのうちの1つであるような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項45に記載のプロセッサ可読記録媒体。
  52. 前記記録された命令が、前記表示アニメーションがゲームアプリケーションによって生成されるような操作をコンピューティングデバイスのプロセッサに実行させるように構成される、請求項45に記載のプロセッサ可読記録媒体。
JP2013524845A 2010-08-20 2011-04-27 最小フレームレート要件を満たすためのグラフィックスレンダリング方法 Expired - Fee Related JP5662577B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/859,938 US8766984B2 (en) 2010-08-20 2010-08-20 Graphics rendering methods for satisfying minimum frame rate requirements
US12/859,938 2010-08-20
PCT/US2011/034112 WO2012024003A1 (en) 2010-08-20 2011-04-27 Graphics rendering methods for satisfying minimum frame rate requirements

Publications (2)

Publication Number Publication Date
JP2013541073A JP2013541073A (ja) 2013-11-07
JP5662577B2 true JP5662577B2 (ja) 2015-02-04

Family

ID=44121067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013524845A Expired - Fee Related JP5662577B2 (ja) 2010-08-20 2011-04-27 最小フレームレート要件を満たすためのグラフィックスレンダリング方法

Country Status (6)

Country Link
US (1) US8766984B2 (ja)
EP (1) EP2606471A1 (ja)
JP (1) JP5662577B2 (ja)
KR (1) KR101499372B1 (ja)
CN (1) CN103069458B (ja)
WO (1) WO2012024003A1 (ja)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101731843B1 (ko) * 2010-09-02 2017-05-02 삼성전자 주식회사 아이템 디스플레이하는 방법 및 장치
US9015639B2 (en) 2011-02-11 2015-04-21 Linkedin Corporation Methods and systems for navigating a list with gestures
JP5451684B2 (ja) * 2011-05-31 2014-03-26 楽天株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US8640047B2 (en) * 2011-06-01 2014-01-28 Micorsoft Corporation Asynchronous handling of a user interface manipulation
KR101794000B1 (ko) * 2011-06-13 2017-11-06 삼성전자주식회사 터치 스크린을 구비하는 기기에서 스크롤 장치 및 방법
CA2792685C (en) * 2011-10-18 2017-08-22 Research In Motion Limited Method of modifying rendered attributes of list elements in a user interface
CA2792900C (en) * 2011-10-18 2017-09-05 Research In Motion Limited Method of rendering a user interface
EP2584462B1 (en) * 2011-10-18 2019-03-27 BlackBerry Limited Method of rendering a user interface
CA2792895C (en) * 2011-10-18 2020-04-28 Research In Motion Limited Method of rendering a user interface
US20140204101A1 (en) * 2011-11-30 2014-07-24 Murali Ramadoss Adaptive frame rate control for a graphics subsystem
US9213479B2 (en) * 2012-02-16 2015-12-15 Samsung Medison Co., Ltd. Method and apparatus for displaying image
TWI476706B (zh) * 2012-04-30 2015-03-11 Pixart Imaging Inc 偵測物件移動輸出命令的方法及其系統
US9214005B2 (en) 2012-12-18 2015-12-15 Google Technology Holdings LLC Methods and systems for overriding graphics commands
US9137320B2 (en) 2012-12-18 2015-09-15 Google Technology Holdings LLC Methods and systems for overriding graphics commands
US8982137B2 (en) * 2012-12-18 2015-03-17 Google Technology Holdings LLC Methods and systems for overriding graphics commands
JP2014139776A (ja) * 2012-12-19 2014-07-31 Canon Inc 表示制御装置、表示制御方法、及びプログラム
US9811938B2 (en) * 2013-03-14 2017-11-07 Business Objects Software Ltd. Methods, apparatus and system for analytics replay utilizing random sampling
US10592278B2 (en) * 2013-03-15 2020-03-17 Facebook, Inc. Defer heavy operations while scrolling
US20140372916A1 (en) * 2013-06-12 2014-12-18 Microsoft Corporation Fixed header control for grouped grid panel
US10068508B2 (en) * 2013-08-30 2018-09-04 Google Llc Measuring user interface performance consistency
KR102095702B1 (ko) * 2013-09-27 2020-04-14 에스케이플래닛 주식회사 이동 단말을 위한 애니메이션 재생 장치 및 방법
US20150170315A1 (en) * 2013-12-17 2015-06-18 Eric C. Samson Controlling Frame Display Rate
US9327199B2 (en) * 2014-03-07 2016-05-03 Microsoft Technology Licensing, Llc Multi-tenancy for cloud gaming servers
CN103823546B (zh) * 2014-03-10 2017-07-28 联想(北京)有限公司 信息控制方法和电子设备
JP2015195005A (ja) * 2014-03-18 2015-11-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び記憶媒体
US20150286691A1 (en) * 2014-04-02 2015-10-08 Microsoft Corporation Data view exposure mechanisms
KR101646051B1 (ko) * 2014-05-08 2016-08-08 네이버 주식회사 단말 장치 및 이에 의한 웹 페이지 디스플레이 방법,및 웹 서버 및 이에 의한 웹 페이지 제공 방법
JP6507496B2 (ja) * 2014-06-18 2019-05-08 カシオ計算機株式会社 画像表示装置、画像表示方法及びプログラム
JP6435659B2 (ja) * 2014-06-25 2018-12-12 カシオ計算機株式会社 画像処理装置、アニメーション生成方法及びプログラム
CN115756154A (zh) 2014-09-02 2023-03-07 苹果公司 用于可变触觉输出的语义框架
US10692531B2 (en) * 2014-10-25 2020-06-23 Yieldmo, Inc. Methods for serving interactive content to a user
JP6063431B2 (ja) * 2014-11-28 2017-01-18 京セラドキュメントソリューションズ株式会社 表示装置及び表示プログラム
US10410398B2 (en) * 2015-02-20 2019-09-10 Qualcomm Incorporated Systems and methods for reducing memory bandwidth using low quality tiles
US9959658B2 (en) 2015-02-26 2018-05-01 Rovi Guides, Inc. Methods and systems for generating holographic animations
JP6655880B2 (ja) * 2015-03-17 2020-03-04 三菱電機株式会社 表示制御装置、表示制御方法及びプログラム
GB2527672B (en) * 2015-05-22 2016-06-01 Gamesys Ltd Measuring device analysis
JP6696737B2 (ja) * 2015-06-26 2020-05-20 シャープ株式会社 コンテンツ表示装置及びプログラム
CN105049914B (zh) * 2015-07-07 2019-02-26 深圳Tcl数字技术有限公司 图片帧播放方法和装置
CN105549957A (zh) * 2015-09-25 2016-05-04 深圳市美贝壳科技有限公司 自定义滚动条指示器的方法
US10706821B2 (en) 2016-02-18 2020-07-07 Northrop Grumman Systems Corporation Mission monitoring system
DK179823B1 (en) 2016-06-12 2019-07-12 Apple Inc. DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK
DK201670737A1 (en) * 2016-06-12 2018-01-22 Apple Inc Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback
EP3264267A1 (de) * 2016-06-30 2018-01-03 Siemens Aktiengesellschaft Verfahren und anordnung zur darstellung oder aktualisierung einer graphischen benutzeroberfläche eines industriellen bedien- und beobachtungssystems
DK201670720A1 (en) 2016-09-06 2018-03-26 Apple Inc Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs
DK201770372A1 (en) 2017-05-16 2019-01-08 Apple Inc. TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES
US20190114819A1 (en) * 2017-10-13 2019-04-18 Microsoft Technology Licensing, Llc Dimensional content surface rendering
US20190230416A1 (en) * 2018-01-21 2019-07-25 Guangwei Yuan Face Expression Bookmark
CN108646938B (zh) * 2018-03-13 2020-04-17 Oppo广东移动通信有限公司 触摸屏的配置方法、装置、终端及存储介质
US11169683B2 (en) * 2018-07-17 2021-11-09 Qualcomm Incorporated System and method for efficient scrolling
CN112001988A (zh) * 2019-05-27 2020-11-27 珠海金山办公软件有限公司 一种动画效果生成方法及装置
WO2021232328A1 (en) * 2020-05-21 2021-11-25 Qualcomm Incorporated Methods and apparatus for tickless pre-rendering
CN113421321B (zh) * 2021-07-09 2024-03-19 北京七维视觉传媒科技有限公司 用于动画的渲染方法、装置、电子设备及介质
US20230083932A1 (en) * 2021-09-13 2023-03-16 Apple Inc. Rendering for electronic devices
CN114330230A (zh) * 2021-11-17 2022-04-12 芯华章科技股份有限公司 显示逻辑系统设计的文档的方法及相关设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072498A (en) * 1997-07-31 2000-06-06 Autodesk, Inc. User selectable adaptive degradation for interactive computer rendering system
US6906708B1 (en) 1999-03-26 2005-06-14 Canon Kabushiki Kaisha Image processing method and apparatus, and storage medium
US7059261B2 (en) * 2004-01-21 2006-06-13 Ncl Corporation Wastewater ballast system and method
JP2004086508A (ja) * 2002-08-26 2004-03-18 Alpine Electronics Inc 3次元形状データに基づく動画の表示制御方法及びナビゲーション装置
JP4288994B2 (ja) * 2003-04-10 2009-07-01 株式会社日立製作所 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法
US8237712B2 (en) * 2004-03-18 2012-08-07 Apple Inc. Manipulation of image content using various image representations
CN1873602A (zh) * 2005-05-31 2006-12-06 皮克塞(研究)有限公司 用于导航所显示内容的系统和方法
CN101308439B (zh) * 2007-05-15 2012-06-20 宏达国际电子股份有限公司 信息卷动方法及其相关电子装置
JP2009139452A (ja) * 2007-12-04 2009-06-25 Sharp Corp 表示制御装置
US20100060629A1 (en) * 2008-09-09 2010-03-11 Jim Rasmusson Graphics-Processing Architecture Based on Approximate Rendering

Also Published As

Publication number Publication date
KR20130048257A (ko) 2013-05-09
JP2013541073A (ja) 2013-11-07
CN103069458A (zh) 2013-04-24
US8766984B2 (en) 2014-07-01
EP2606471A1 (en) 2013-06-26
CN103069458B (zh) 2015-12-16
KR101499372B1 (ko) 2015-03-11
WO2012024003A1 (en) 2012-02-23
US20120044251A1 (en) 2012-02-23

Similar Documents

Publication Publication Date Title
JP5662577B2 (ja) 最小フレームレート要件を満たすためのグラフィックスレンダリング方法
US10884608B2 (en) Devices, methods, and graphical user interfaces for content navigation and manipulation
US10228842B2 (en) Provision of extended content on a flexible display
JP5911599B2 (ja) 分類ウェブページ切り替えのための方法および携帯型デバイス
US20220222093A1 (en) User interface for a touch screen device in communication with a physical keyboard
US9477391B2 (en) Tactile interface for social networking system
US20180365270A1 (en) Context aware digital media browsing
US9015639B2 (en) Methods and systems for navigating a list with gestures
KR102281172B1 (ko) 메타데이터 기반 사진 및/또는 비디오 애니메이션화
US20130106888A1 (en) Interactively zooming content during a presentation
KR20220047396A (ko) 미디어 콘텐츠 내비게이션을 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
US10719914B2 (en) Universal digital content zooming techniques
EP2521020A1 (en) Systems and methods for interface management
US20160070460A1 (en) In situ assignment of image asset attributes
JP2012150558A (ja) 表示制御装置及びその制御方法
US20160088060A1 (en) Gesture navigation for secondary user interface
CN102929491A (zh) 跨窗口动画
EP2521019A1 (en) Systems and methods for interface management
JP6176991B2 (ja) 情報処理装置およびその制御方法およびプログラム
US11093126B2 (en) Drop zone prediction for user input operations
US20180367626A1 (en) Automatic digital media interaction feedback
WO2013168347A1 (en) Information processing apparatus, method for controlling the information processing apparatus, and storage medium
WO2014000155A1 (en) System, device, and method for scrolling content with motion blur on an electronic display
US10025457B2 (en) File folder display
US9405442B1 (en) List control with zoom operation

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140210

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140512

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140605

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: 20141110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141204

R150 Certificate of patent or registration of utility model

Ref document number: 5662577

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

LAPS Cancellation because of no payment of annual fees