(57)【要約】表示可能なコンテンツを生成する方法が提供される。この方法は、複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得することを含む。この方法はさらに、複数の表示要素のうちの選択された少なくとも１つのグループをレンダリングすることを含む。選択されるおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、複数の表示要素のうちの全てよりも少数である。さらに、選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存することが含まれる。この方法はさらに、レンダリングされた少なくとも１つの表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つの選択されたグループのうちの保存されたコピーを備えることができるように、複数の表示フレーム内に、少なくとも１つの表示フレームをレンダリングすることを含む。さらには、レンダリングされた少なくとも１つの表示フレームを、第２の表示バッファとは異なる第１の表示バッファ内に保存することが含まれる。
2009539147.tif 000002
【特許請求の範囲】
【請求項１】
表示可能なコンテンツを生成する方法であって、
複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得することと、
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることとを備え、
選択されたグループのおのおのは、前記表示パッケージ内のインジケータ情報に基づき、選択されたグループのおのおのは、前記複数の表示要素のうちの全てよりも少数であり、
前記方法はさらに、
選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存することと、
少なくとも１つのレンダリングされた表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、少なくとも１つの表示フレームを、前記複数の表示フレーム内にレンダリングすることと、
前記少なくとも１つのレンダリングされた表示フレームを、第１の表示バッファ内に保存することとを備え、
前記第１の表示バッファは、前記第２の表示バッファとは異なる方法。
【請求項２】
前記レンダリングされた少なくとも１つの表示フレームを表示することをさらに備える請求項１に記載の方法。
【請求項３】
前記少なくとも１つの表示フレームをレンダリングすることは、それぞれの表示フレームの全体を形成するために、選択されレンダリングされた１つよりも多いグループの保存されたコピーを組み合わせることを備える請求項１に記載の方法。
【請求項４】
前記少なくとも１つの表示フレームをレンダリングすることは、
それぞれの表示フレームに対応する複数の表示要素のうちの選択された表示要素をレンダリングすることと、
それぞれの表示フレームの全体を形成するために、前記複数の表示要素のうちの選択されレンダリングされた表示要素を、前記選択されレンダリングされた少なくとも１つのグループの保存されたコピーと組み合わせることと
を備える請求項１に記載の方法。
【請求項５】
前記少なくとも１つの表示フレームをレンダリングすることは、少なくとも２つの表示フレームのレンダリング中に一度だけ、複数の表示要素のうちの選択された少なくとも１つのグループを選択的にレンダリングすることを備える請求項１に記載の方法。
【請求項６】
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることは、
前記表示パッケージのインジケータ情報内のダブル・バッファ・インジケータに対応する制御属性を識別することと、
前記識別された制御属性に応答して、選択されレンダリングされるおのおののグループを生成することと
を備える請求項１に記載の方法。
【請求項７】
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることは、
前記複数の表示フレームにわたって、前記複数の表示要素のうちの不変の表示要素の表示パッケージを分析することと、
前記複数の表示要素のうちの識別された不変の表示要素に基づいて、前記インジケータ情報を導出することと、
前記導出されたインジケータ情報に応答して、選択されレンダリングされるおのおののグループを生成することと
を備える請求項１に記載の方法。
【請求項８】
前記複数の表示フレームにわたって、前記複数の表示要素のうちの不変の表示要素を識別することと、
前記複数の表示フレームに対応するフレーム・レートに関して、前記複数の表示要素のうちの識別された不変の表示要素のコピーをレンダリングして保存することの費用および利点を評価することと、
前記評価の結果に基づいて、前記インジケータ情報を導出することと
をさらに備える請求項１に記載の方法。
【請求項９】
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることは、それぞれの表示フレームに対応する複数の表示要素のおのおのの全てよりも少数である表示要素から選択されたおのおののグループをレンダリングすることを備える請求項１に記載の方法。
【請求項１０】
前記表示パッケージは、複数のレイヤ内のそれぞれの表示フレームに対応する複数の表示要素を規定し、前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることは、前記複数のレイヤのうちの少なくとも１つのレイヤをレンダリングすることを備える請求項１に記載の方法。
【請求項１１】
選択されレンダリングされたグループのコピーを、前記第２の表示バッファに保存することは、選択されレンダリングされたそれぞれのグループを、複数の第２の表示バッファのうちの対応する表示バッファに保存することを備える請求項１に記載の方法。
【請求項１２】
前記少なくとも１つの表示フレームをレンダリングすることはさらに、レンダリングされたそれぞれの表示フレームを生成するために、選択されレンダリングされた１より多いグループを、前記複数の第２の表示バッファのうちのそれぞれ対応する表示バッファから前記第１の表示バッファにコピーすることを備える請求項１１に記載の方法。
【請求項１３】
レンダリングされたそれぞれの表示フレームを、前記第１の表示バッファから表示メモリへコピーして、前記レンダリングされたそれぞれの表示フレームを、表示メカニズム上に表示させることをさらに備える請求項１２に記載の方法。
【請求項１４】
前記レンダリングされた少なくとも１つの表示フレームを表示することは、レンダリングされたそれぞれの表示フレームを、前記第１の表示バッファから表示メモリにコピーして、前記レンダリングされたそれぞれの表示フレームを、表示メカニズム上に表示させることを備える請求項２に記載の方法。
【請求項１５】
前記表示パッケージを取得することは、少なくとも、コンパイルされていないデータ・ファイル、コンパイルされたデータ・ファイル、またはプログラム言語を取得することを備える請求項１に記載の方法。
【請求項１６】
前記表示パッケージはさらに、予め定めた表示特性、予め定めた量のメモリ、および予め定めた量の処理電力を有するコンピュータ・デバイス上に表示するために構成されたユーザ・インタフェースを備え、前記少なくとも１つの表示フレームをレンダリングすることは、前記ユーザ・インタフェースをレンダリングすることを備える請求項１に記載の方法。
【請求項１７】
表示可能なコンテンツを生成するように構成された少なくとも１つのプロセッサであって、
複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得するように動作するモジュールと、
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングするように動作するモジュールとを備え、
選択されたグループのおのおのは、前記表示パッケージ内のインジケータ情報に基づき、
選択されたグループのおのおのは、前記複数の表示要素のうちの全てよりも少数であり、
前記プロセッサはさらに、
選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存するように動作するモジュールと、
少なくとも１つのレンダリングされた表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、少なくとも１つの表示フレームを、前記複数の表示フレーム内にレンダリングするように動作するモジュールと、
前記少なくとも１つのレンダリングされた表示フレームを、第１の表示バッファ内に保存するように動作するモジュールとを備え、
前記第１の表示バッファは、前記第２の表示バッファとは異なるプロセッサ。
【請求項１８】
前記少なくとも１つの表示フレームをレンダリングするように動作するモジュールは、それぞれの表示フレームの全体を形成するために、選択されレンダリングされた１つよりも多いグループの保存されたコピーを組み合わせることを備える請求項１７に記載のプロセッサ。
【請求項１９】
前記少なくとも１つの表示フレームをレンダリングするように動作するモジュールは、
それぞれの表示フレームに対応する複数の表示要素のうちの選択された表示要素をレンダリングするように動作するモジュールと、
それぞれの表示フレームの全体を形成するために、前記複数の表示要素のうちの選択されレンダリングされた表示要素を、前記選択されレンダリングされた少なくとも１つのグループの保存されたコピーと組み合わせるように動作するモジュールと
備える請求項１７に記載のプロセッサ。
【請求項２０】
前記少なくとも１つの表示フレームをレンダリングするように動作するモジュールは、少なくとも２つの表示フレームのレンダリング中に一度だけ、複数の表示要素のうちの選択された少なくとも１つのグループを選択的にレンダリングするように動作するモジュールを備える請求項１７に記載のプロセッサ。
【請求項２１】
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングするように動作するモジュールは、
前記表示パッケージのインジケータ情報内のダブル・バッファ・インジケータに対応する制御属性を識別するように動作するモジュールと、
前記識別された制御属性に応答して、選択されレンダリングされるおのおののグループを識別するように動作するモジュールと
を備える請求項１７に記載のプロセッサ。
【請求項２２】
コンピュータ・プログラム製品であって、
複数の表示フレームを規定する複数の表示要素を有する表示パッケージを、コンピュータに対して取得させる少なくとも１つの命令と、
前記複数の表示要素のうち、選択された少なくとも１つのグループを、前記コンピュータに対してレンダリングさせる少なくとも１つの命令と
を備えるコンピュータ読取可能媒体を備え、
選択されたグループのおのおのは、前記表示パッケージ内のインジケータ情報に基づき、
選択されたグループのおのおのは、前記複数の表示要素のうちの全てよりも少数であり、
前記コンピュータ読取可能媒体はさらに、
前記コンピュータに対して、選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存させる少なくとも１つの命令と、
少なくとも１つのレンダリングされた表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、少なくとも１つの表示フレームを、前記コンピュータに対して、前記複数の表示フレーム内にレンダリングさせる少なくとも１つの命令と、
前記少なくとも１つのレンダリングされた表示フレームを、前記コンピュータに対して、第１の表示バッファ内に保存させる少なくとも１つの命令とを備え、
前記第１の表示バッファは、前記第２の表示バッファとは異なるコンピュータ・プログラム製品。
【請求項２３】
前記少なくとも１つの表示フレームを、前記コンピュータに対してレンダリングさせる少なくとも１つの命令は、それぞれの表示フレームの全体を形成するために、前記コンピュータに対して、選択されレンダリングされた１つよりも多いグループの保存されたコピーを組み合わせる少なくとも１つの命令を備える請求項２２に記載のコンピュータ・プログラム製品。
【請求項２４】
前記コンピュータに対して、前記少なくとも１つの表示フレームをレンダリングさせる少なくとも１つの命令は、
それぞれの表示フレームに対応する複数の表示要素のうちの選択された表示要素を、前記コンピュータに対してレンダリングさせる少なくとも１つの命令と、
前記コンピュータに対して、それぞれの表示フレームの全体を形成するために、前記複数の表示要素のうちの選択されレンダリングされた表示要素を、前記選択されレンダリングされた少なくとも１つのグループの保存されたコピーと組み合わせる少なくとも１つの命令と
備える請求項２２に記載のコンピュータ・プログラム製品。
【請求項２５】
前記少なくとも１つの表示フレームを、前記コンピュータに対してレンダリングさせる少なくとも１つの命令は、少なくとも２つの表示フレームのレンダリング中に一度だけ、前記コンピュータに対して、複数の表示要素のうちの選択された少なくとも１つのグループを選択的にレンダリングさせる少なくとも１つの命令を備える請求項２２に記載のコンピュータ・プログラム製品。
【請求項２６】
前記コンピュータに対して、前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングさせる少なくとも１つの命令は、
前記コンピュータに対して、前記表示パッケージのインジケータ情報内のダブル・バッファ・インジケータに対応する制御属性を識別させる少なくとも１つの命令と、
前記コンピュータに対して、前記識別された制御属性に応答して、選択されレンダリングされるおのおののグループを識別させる少なくとも１つの命令と
を備える請求項２２に記載のコンピュータ・プログラム製品。
【請求項２７】
装置であって、
複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得する手段と、
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングする手段とを備え、
選択されたグループのおのおのは、前記表示パッケージ内のインジケータ情報に基づき、
選択されたグループのおのおのは、前記複数の表示要素のうちの全てよりも少数であり、
前記装置はさらに、
選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存する手段と、
少なくとも１つのレンダリングされた表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、少なくとも１つの表示フレームを、前記複数の表示フレーム内にレンダリングする手段と、
前記少なくとも１つのレンダリングされた表示フレームを、第１の表示バッファ内に保存する手段とを備え、
前記第１の表示バッファは、前記第２の表示バッファとは異なる装置。
【請求項２８】
前記少なくとも１つの表示フレームをレンダリングする手段は、それぞれの表示フレームの全体を形成するために、選択されレンダリングされた１つよりも多いグループの保存されたコピーを組み合わせる手段を備える請求項２７に記載の装置。
【請求項２９】
前記少なくとも１つの表示フレームをレンダリングする手段は、
それぞれの表示フレームに対応する複数の表示要素のうちの選択された表示要素をレンダリングする手段と、
それぞれの表示フレームの全体を形成するために、前記複数の表示要素のうちの選択されレンダリングされた表示要素を、前記選択されレンダリングされた少なくとも１つのグループの保存されたコピーと組み合わせる手段と
を備える請求項２７に記載の装置。
【請求項３０】
前記少なくとも１つの表示フレームをレンダリングする手段は、少なくとも２つの表示フレームのレンダリング中に一度だけ、複数の表示要素のうちの選択された少なくとも１つのグループを選択的にレンダリングする手段を備える請求項２７に記載の装置。
【請求項３１】
前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングする手段は、
前記表示パッケージのインジケータ情報内のダブル・バッファ・インジケータに対応する制御属性を識別する手段と、
前記識別された制御属性に応答して、選択されレンダリングされるおのおののグループを識別する手段と
を備える請求項２７に記載の装置。
【請求項３２】
表示可能なコンテンツを生成するコンピュータ・デバイスであって、
第１の表示バッファと、前記第１の表示バッファとは異なる第２の表示バッファと、複数の表示フレームを規定する複数の表示要素を備える表示パッケージを備えるメモリと、
前記メモリと通信するプロセッサと、
レンダリング・ロジックを有するレンダリング・モジュールとを備え、
前記レンダリング・モジュールは、前記複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングするように前記プロセッサによって実行されることが可能であり、
選択されたグループのおのおのは、前記表示パッケージ内のインジケータ情報に基づき、
選択されたグループのおのおのは、前記複数の表示要素のうちの全てよりも少数であり、
前記レンダリング・モジュールはさらに、選択されレンダリングされたグループのコピーを、第２の表示バッファ内に保存するように前記プロセッサによって実行されることが可能であり、
前記レンダリング・モジュールはさらに、少なくとも１つのレンダリングされた表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、少なくとも１つの表示フレームを、前記複数の表示フレーム内にレンダリングするように前記プロセッサによって実行されることが可能であり、
前記レンダリング・モジュールはさらに、前記少なくとも１つのレンダリングされた表示フレームを、第１の表示バッファ内に保存するように前記プロセッサによって実行されることが可能であるコンピュータ・デバイス。
【請求項３３】
表示メカニズムをさらに備え、
前記メモリはさらに、前記表示メカニズムと通信する表示メモリを備え、
前記レンダリング・モジュールはさらに、前記表示メカニズム上に表示フレームを表示するために、レンダリングされたおのおのの表示フレームを前記第１の表示バッファから前記表示メモリへコピーするように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項３４】
前記レンダリング・モジュールはさらに、それぞれの表示フレームの全体を形成するために、選択されレンダリングされた１つよりも多いグループの保存されたコピーを組み合わせるように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項３５】
前記レンダリング・モジュールはさらに、それぞれの表示フレームに対応する複数の表示要素のうちの選択された表示要素をレンダリングし、それぞれの表示フレームの全体を形成するために、前記複数の表示要素のうちの選択されレンダリングされた表示要素を、前記選択されレンダリングされた少なくとも１つのグループの保存されたコピーと組み合わせるように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項３６】
前記レンダリング・モジュールはさらに、少なくとも２つの表示フレームのレンダリング中に一度だけ、複数の表示要素のうちの選択された少なくとも１つのグループを選択的にレンダリングするように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項３７】
前記インジケータ情報は、ダブル・バッファリングを実施するか否かを示す制御属性を有する少なくとも１つのダブル・バッファ・インジケータを備え、
前記レンダリング・モジュールはさらに、ダブル・バッファ・インジケータのおのおのと、対応するおのおのの制御属性とを識別するように前記プロセッサによって実行されることが可能なダブル・バッファ・ロジックを有するダブル・バッファ・モジュールを備え、
前記ダブル・バッファ・モジュールはさらに、ダブル・バッファリングの実施を示すそれぞれの制御属性を識別することに応答して、選択されレンダリングされたそれぞれのグループの生成を開始するように、前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項３８】
前記レンダリング・モジュールはさらに、前記複数の表示フレームにわたって、前記複数の表示要素のうちの不変の表示要素の表示パッケージを分析し、前記複数の表示要素のうちの識別された不変の表示要素に基づいて、前記インジケータ情報を導出し、前記導出されたインジケータ情報に応答して、選択されレンダリングされるおのおののグループを生成するように前記プロセッサによって実行されることが可能なダブル・バッファ・ロジックを有するダブル・バッファ・モジュールを備える請求項３２に記載のコンピュータ・デバイス。
【請求項３９】
前記レンダリング・モジュールはさらに、前記複数の表示フレームにわたって、前記複数の表示要素のうちの不変の表示要素を識別し、前記複数の表示フレームに対応するフレーム・レートに関して、前記複数の表示要素のうちの識別された不変の表示要素のコピーをレンダリングして保存することの費用および利点を評価し、前記評価の結果に基づいて、前記インジケータ情報を導出するように前記プロセッサによって実行されることが可能なロジックを備える請求項３２に記載のコンピュータ・デバイス。
【請求項４０】
前記レンダリング・モジュールはさらに、それぞれの表示フレームに対応する複数の表示要素のおのおのの全てよりも少数である表示要素から選択されたおのおののグループをレンダリングするように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項４１】
前記表示パッケージは、複数のレイヤ内のそれぞれの表示フレームに対応する複数の表示要素を規定し、前記複数の表示要素のうち、選択された少なくとも１つのグループは、前記複数のレイヤのうちの少なくとも１つに対応する請求項３２に記載のコンピュータ・デバイス。
【請求項４２】
前記メモリはさらに、選択されレンダリングされたそれぞれのグループにそれぞれ対応する複数の異なる第２の表示バッファを備え、
前記レンダリング・モジュールはさらに、選択されレンダリングされたそれぞれのグループを、前記複数の第２の表示バッファのうちの対応する１つに保存するように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【請求項４３】
前記レンダリング・モジュールはさらに、レンダリングされたそれぞれの表示フレームを生成するために、選択されレンダリングされた１より多いグループを、前記複数の異なる第２の表示バッファのうちのそれぞれ対応する表示バッファから、前記第１の表示バッファにコピーするように、前記プロセッサによって実行されることが可能である請求項４２に記載のコンピュータ・デバイス。
【請求項４４】
表示メカニズムと通信する表示メモリをさらに備え、
前記レンダリング・モジュールはさらに、レンダリングされた表示フレームのおのおのを、前記第１の表示バッファから前記表示メモリにコピーして、前記レンダリングされたそれぞれの表示フレームを、前記表示メカニズム上に表示させるようにプロセッサによって実行されることが可能である請求項４３に記載のコンピュータ・デバイス。
【請求項４５】
前記表示パッケージはさらに、少なくとも、コンパイルされていないデータ・ファイル、コンパイルされたデータ・ファイル、またはプログラム言語を備える請求項３２に記載のコンピュータ・デバイス。
【請求項４６】
予め定めた表示特性を有する表示メカニズムをさらに備え、
前記メモリはさらに、予め定めた量のメモリを備え、
前記プロセッサは、予め定めた量の処理電力を備え、
前記表示パッケージはさらに、少なくとも、前記予め定めた表示特性、前記予め定めた量のメモリ、前記予め定めた量の処理電力に基づいて表示されるユーザ・インタフェースを備え、
前記レンダリング・モジュールはさらに、前記ユーザ・インタフェースを備えた少なくとも１つのディスプレイ・フレームを前記表示メカニズムに表示するように前記プロセッサによって実行されることが可能である請求項３２に記載のコンピュータ・デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
記述された局面は、ディスプレイ上に表示されるコンテンツをバッファリングすることに関し、さらに詳しくは、表示可能なコンテンツの一部を選択的にダブル・バッファリングする装置、方法、および、コンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
例えば無線通信デバイスのような多くのコンピュータ・デバイスは、表示フレームまたは目に見える画像をスクリーン上に表示するように動作可能な表示スクリーンを含む。多くのコンピュータ・デバイスは、目に見える表示フレームをリドロー（redraw）するので、グラフィック動作の完了前の結果を示す表示スクリーン無しでは、表示フレームに変更を加えるのは難しい。これによって、例えば、ちらつき、亀裂、およびシャーリングのような望まれないアーティファクトをもたらす結果となる。そのような望まれないアーティファクトを克服することは、ダブル・バッファまたは２次バッファとしても知られている表示バッファを用いることによって達成される。表示スクリーンは、スクリーン上に表示されるものに対して直接的に影響を与える表示フレームが、表示メモリにコピーされる前にレンダリングされる表示バッファを有している。２次バッファまたはダブル・バッファは、新たな表示フレームを構築するために利用されうる。ダブル・バッファとも称される２次バッファに、表示可能なコンテンツをレンダリングすることは、表示スクリーンに対して悪影響を与えることはない。２次バッファにおける新たな表示フレームの構築が完了した場合、この新たに構築された表示フレームは、効率的なバッファ・コピー・ルーチンを用いて、表示メモリ内にコピー、すなわち「ビット転送」される。したがって、バッファを利用することによって、表示スクリーン上に表示される目に見える表示フレームにおけるアーティファクトの存在を低減または除去することができる。
【０００３】
いくつかのシステムでは、表示スクリーン全体がダブル・バッファされている。すなわち、全ての構成要素が、１つのバッファに配置される。他のシステムでは、要素毎のダブル・バッファリングが行われる。ここでは、表示可能な個々の要素が、それ自身のプライベート・バッファが、スクリーンのダブル・バッファにコピーされる前に、先ず、そのプライベート・バッファにレンダリングされる。
【０００４】
しかしながら、限定されたリソースしか持たないコンピュータ・デバイスでは、ダブル・バッファリングによって提供される目に見える表示フレームの改善された品質の利点は、メモリ要求およびプロセッサ利用に関し、コスト的に不利になる。
【０００５】
したがって、表示可能なコンテンツをバッファリングする改善された装置および方法が望まれる。
【発明の概要】
【０００６】
本特許出願は、２００６年６月１日に出願され、本願の譲受人に譲渡され、その全体が参照によって本明細書に明確に組み込まれた"APPARATUS AND METHOD FOR SELECTIVELY DOUBLE BUFFERING PORTIONS OF DISPLAYABLE CONTENT"と題された仮出願番号６０／８０３，６３３の優先権を主張する。
【０００７】
複数の表示フレームの表示パッケージにおける複数の表示要素のうちの少なくとも１つの選択されたグループを選択的にダブル・バッファリングするための装置、方法、およびコンピュータ・プログラム製品が記述される。この装置および方法はさらに、選択されたグループをレンダリングしてダブル・バッファすることを用いて、少なくとも１つの表示フレームの全てよりも少数しか生成しないことを含む。
【０００８】
１つの局面では、表示可能なコンテンツを生成する方法が提供される。この方法は、複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得することを備える。この方法はさらに、複数の表示要素のうちの選択された少なくとも１つのグループをレンダリングすることを含む。選択されたおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、選択されたおのおののグループは、複数の表示要素のうちの全てよりも少数である。この方法はさらに、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファに保存することを含む。さらに、この方法は、少なくとも１つのレンダリングされた表示フレームの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、複数の表示フレーム内に少なくとも１つの表示フレームをレンダリングすることを含む。さらに、この方法は、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファに保存することを含む。この第１の表示バッファは、第２の表示バッファとは異なる。
【０００９】
別の局面では、１または複数のモジュールを備え、表示可能なコンテンツを生成するように構成された少なくとも１つのプロセッサが提供される。このプロセッサは、表示パッケージを取得するように動作可能なモジュールと、複数の表示要素のうち少なくとも１つの選択されたグループをレンダリングするように動作可能なモジュールと、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファに保存するように動作可能なモジュールとを含む。この表示パッケージは、複数の表示フレームを規定する複数の表示要素を有している。選択されたおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、選択されたおのおののグループは、複数の表示要素の全てよりも少数である。このプロセッサはさらに、少なくとも１つのレンダリングされた表示フレームの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、複数の表示フレーム内に少なくとも１つの表示フレームをレンダリングするように動作可能なモジュールを含む。このプロセッサはさらに、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファに保存するように動作可能なモジュールを含む。この第１の表示バッファは、第２の表示バッファとは異なる。
【００１０】
さらなる局面では、命令群を有するコンピュータ読取可能媒体を備えたコンピュータ・プログラム製品が提供される。このコンピュータ読取可能媒体は、コンピュータに対して、複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得させる少なくとも１つの命令を含む。このコンピュータ読取可能媒体はさらに、コンピュータに対して、複数の表示要素のうちの選択された少なくとも１つのグループをレンダリングさせる少なくとも１つの命令を含む。選択されたおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、選択されたおのおののグループは、複数の表示要素のうちの全てよりも少数である。コンピュータ読取可能媒体にさらに含まれているのは、コンピュータに対して、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファ内に保存させる少なくとも１つの命令である。さらに、コンピュータ読取可能媒体は、レンダリングされた少なくとも１つの表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、コンピュータに対して、複数の表示フレーム内に、少なくとも１つの表示フレームをレンダリングさせる少なくとも１つの命令を含む。コンピュータ読取可能媒体はさらに、コンピュータに対して、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファ内に保存させる少なくとも１つの命令を含む。第１の表示バッファは、第２の表示バッファとは異なる。
【００１１】
別の局面では、装置が提供される。この装置は、複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得する手段と、複数の表示要素のうちの選択された少なくとも１つのグループをレンダリングする手段とを含む。選択されたおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、選択されたおのおののグループは、複数の表示要素のうちの全てよりも少数である。この装置はさらに、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファ内に保存する手段と、レンダリングされた少なくとも１つの表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、複数の表示フレーム内の少なくとも１つの表示フレームをレンダリングする手段とを含む。この装置にさらに含まれているのは、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファ内に保存する手段である。この第１の表示バッファは、第２の表示バッファとは異なる。
【００１２】
さらなる局面では、表示可能なコンテンツを生成するコンピュータ・デバイスは、第１の表示バッファ、第１の表示バッファとは異なる第２の表示バッファ、および表示パッケージを備えるメモリを備える。表示パッケージは、複数の表示フレームを規定する複数の表示要素を備える。このコンピュータ・デバイスはまた、メモリと通信するプロセッサと、レンダリング・ロジックを有するレンダリング・モジュールとを備える。このレンダリング・モジュールは、複数の表示要素から選択された少なくとも１つのグループをレンダリングするように、プロセッサによって実行されることが可能である。選択されたおのおののグループは、表示パッケージ内のインジケータ情報に基づいており、選択されたおのおののグループは、複数の表示要素の全てよりも少数である。さらに、レンダリング・モジュールは、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファ内に保存するようにプロセッサによって実行されることが可能である。くわえて、レンダリング・モジュールはさらに、レンダリングされた少なくとも１つの表示フレームのうちの少なくとも一部が、選択されレンダリングされた少なくとも１つのグループの保存されたコピーを備えることができるように、複数の表示フレーム内に、少なくとも１つの表示フレームをレンダリングするようにプロセッサによって実行されることが可能である。くわえて、レンダリング・モジュールはさらに、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファ内に保存するようにプロセッサによって実行されることが可能である。
【図面の簡単な説明】
【００１３】
【図１】図１は、表示可能なコンテンツを生成するためのシステムの１つの局面の概略図である。
【図２】図２は、図１のシステムのファースト・イン・タイム・レンダリング表示フレームの１つの局面のブロック図である。ファースト・イン・タイム・レンダリング表示フレームは、複数の表示要素から選択された、以前に選択されレンダリングされた要素グループと、複数の表示要素からの残りの要素との組み合わせを備える。
【図３】図３は、図１のセカンド・イン・タイム・レンダリング表示フレームの１つの局面のブロック図である。セカンド・イン・タイム・レンダリング表示フレームは、複数の表示要素から選択された、以前に選択されレンダリングされた要素グループと、複数の表示要素からの残りの要素との組み合わせを備える。以前に選択されレンダリングされた要素グループにおける唯一の変化は、残りの表示要素に対するその相対位置である。
【図４】図４は、１つの局面にしたがって、図１のシステム内で利用可能な表示パッケージの１つの限定しない例の表示である。
【図５】図５は、図１のシステムのコンピュータ・デバイスの１つの局面のブロック図である。
【図６】図６は、図１のシステムにしたがって表示可能なコンテンツを生成する方法の１つの局面のフローチャートである。
【詳細な説明】
【００１４】
記載された装置、方法、およびコンピュータ・プログラム製品は、デバイスのディスプレイ上にグラフィックを生成することに関する。おのおののグラフィックまたは表示フレームは、複数の表示可能な要素を備える。表示可能な要素のうちの何れか１つまたはグループの性質に基づいて、おのおのの表示フレームについての各要素を新たにレンダリングすること、または、１または複数の以前にレンダリングされた要素を格納することと、以前にレンダリングされた要素のコピーを、残りの要素と組み合わせて、表示フレームを生成することとの間でのトレード・オフがなされうる。対象とするアプリケーションでは、以前にレンダリングされた要素のうちの１つまたは複数のグループを格納しコピーする動作は、ダブル・バッファリングと称される。記載された局面は、ダブル・バッファリングのために、１または複数の個々の表示要素、および／または、個々の表示要素のうちの１つまたは複数のグループを選択的に識別するためのメカニズムおよびフレームワークを提供する。記載された局面はさらに、ダブル・バッファリングされた１または複数の要素と、ダブル・バッファリングされていない残りの要素との組み合わせに基づいて、レンダリングされた表示要素を生成し、格納し、表示するためのメカニズムおよびフレームワークを提供する。
【００１５】
本明細書で使用されるように、「典型的」という用語は、「例、事例、または例示として役立つ」ことを意味する。本明細書で「典型的」と記載された何れの局面も、他の局面よりも好適であるとか有利であるとか必ずしも解釈される必要はない。
【００１６】
図１に示すように、１つの実施にしたがって、表示可能なコンテンツを生成するように動作可能な典型的なシステム１０が示される。このシステム１０は、表示可能なコンテンツからなる表示パッケージ１４を、通信インタフェース１８を経由してコンピュータ・デバイス１６へ提供する少なくとも１つのコンテンツ・プロバイダ１２を備えている。ｎが正の整数である場合、表示パッケージ１４は、任意の数ｎ個の表示要素２０、２２、および２４を備えうる。表示要素２０、２２および２４は、時間とともに変化しうるグラフィック・ユーザ・インタフェースを形成する複数の表示フレームを規定することができる。表示要素２０、２２および２４のおのおのは、少なくとも、表示フレーム内に表示する要素を、いつ表示するか、おのおのをいつ表示するか（例えば、フレーム・レート）、どこに表示するか、どのように表示するかを規定する。１つの局面では、表示パッケージ１４は、１または複数のそれぞれの表示要素によって規定されているものとは異なるその他幾つかの方式で規定されたフレーム・レートを備えうる。
【００１７】
さらに、表示パッケージ１４は、表示要素２０、２２および２４の１つあるいは任意の組み合わせを含む、コンテンツの選択的なダブル・バッファリングをさせるように動作可能な少なくとも１つのダブル・バッファ・インジケータ２６を備えうる。１つの実装では、ダブル・バッファ・インジケータ２６は、限定される訳ではないが、１または複数の表示要素２０、２２、および２４内に含まれるかそれに関連する情報を含む。例えば、１つの局面では、ダブル・バッファ・インジケータ２６は、タグ、コマンド、マーカ、１または複数の表示要素の全てまたは幾つかの部分に関連する構成および／または指標、データ構造、および／または、ダブル・バッファリングを選択的にイネーブルするように動作可能な表示パッケージのフレームワーク内で認識可能なその他のメカニズムのうちの１または複数のメカニズムを備えうる。１つの実施によれば、表示パッケージ１４の著者は、ダブル・バッファ・インジケータ２６を入力することができる。他の局面では、ダブル・バッファ・インジケータ２６は、表示パッケージ１４のうちの全てまたは幾つかの部分から、および／または、１または複数の表示要素２０、２２および２４のうちの全てまたは幾つかの部分から導出されうる。そのため、１つの局面では、ダブル・バッファ・インジケータ２６は、表示パッケージ１４の別々の構成要素ではないかもしれない。むしろ、ダブル・バッファ・インジケータ２６は、表示パッケージ１４内の表示要素２０、２２および２４の組み合わせてなる機能でありうる。
【００１８】
さらに、コンピュータ・デバイス１６は、表示パッケージ１４を受け取るように動作可能なレンダリング・モジュール３０と通信する表示メカニズム２８を備える。表示パッケージ１４を受け取ることに応答して、レンダリング・モジュール３０は、ｘが正の整数である場合、表示メカニズム２８上で、複数のｘ個のレンダリングされた表示フレーム３２を生成するように動作可能である。複数のレンダリングされた表示フレーム３２、３４は、表示パッケージ１４、および、表示要素２０、２２、２４のうちの１または任意の組み合わせによって規定される。したがって、レンダリング・モジュール３０は、時間とともに変化しうるグラフィック・ユーザ・インタフェースの、表示メカニズム２８における表示の生成および制御を行うように動作可能である。
【００１９】
くわえて、ｋが正の整数である場合、コンピュータ・デバイス１６はさらに、選択された要素グループ３１、３３および３５の、１からｋまでの任意の数を識別するように動作可能なダブル・バッファ・モニタ３６を備えることができる。選択された要素グループ３１、３３および３５は、ダブル・バッファ・インジケータ２６に基づくダブル・バッファリングのための複数の表示要素２０、２２、および２４からのものである。選択された要素グループ３１、３３および３５のおのおのは、複数の表示要素２０、２２および２４のうちの１つまたは任意の組み合わせを含みうることが注目されるべきである。しかしながら、１つの局面では、選択された要素グループ３１、３３および３５のうちの何れかは、複数のレンダリングされた表示フレーム３２および３４のうちのそれぞれに関連付けられた複数の表示要素２０、２２および２４のうちのそれぞれの全てよりも少数である。言い換えれば、そのような局面では、与えられた表示フレーム３２および／または３４について、任意の１つの選択された要素グループは、それぞれの表示フレームを描くために使用される表示要素の合計数よりも少数である。
【００２０】
そのため、表示パッケージ３４に関するダブル・バッファ・モニタ３６の動作に基づいて、レンダリング・モジュール３０は、選択されたそれぞれの要素グループから選択されレンダリングされる要素グループを生成するように動作可能である。例えば、選択されレンダリングされる要素グループ４１、４３および４５はそれぞれ、選択された要素グループ３１、３３および３５から生成されている。さらに、１つの局面では、レンダリング・モジュール３０は、選択されレンダリングされる要素グループ４１、４３、および４５それぞれを、  デバイス・メモリの個別の規定された部分に格納し、もって、個別のダブル・バッファ（例えば、第２の表示バッファ４０、４２および４４）を規定するように動作することができる。
【００２１】
その結果、レンダリング・モジュール３０はさらに、選択されレンダリングされる要素グループ４１、４３および４５のうちの１つまたは任意の組み合わせを用いて、少なくとも１つのレンダリングされた表示フレーム３４の部分を生成するように動作可能である。そのような実施では、少なくとも１つのレンダリングされた表示フレームの部分は、表示フレームの全てよりも少数である。例えば、１つの局面では、レンダリングされた表示フレーム３４は、１または複数の選択されレンダリングされる要素グループ３１、３３および／または３５のコピーとともに、複数の表示要素２０、２２および２４からの残りの任意の表示要素３７、３８および／または３９から形成されうる。この対象となる例では、残りの任意の表示要素３７、３８および／または３９は、ｍが正の整数である場合、０からｍ個までの表示要素に及びうる。くわえて、本明細書で使用されるように、残りの任意の表示要素は、選択された要素グループに含まれない所与の表示フレーム内で使用される任意の表示要素を含むことができる。別の局面では、レンダリングされた表示フレーム３４は、選択されレンダリングされる複数の要素グループ４１、４３および４５のうちの何れかから全体が形成されうる。
【００２２】
さらに、１つの実施では、レンダリング・モジュール３０は、例えば第１の表示バッファ４６のようなデバイス・メモリの別の規定された部分に、レンダリングされた表示フレーム３４を格納するように動作可能である。第１の表示バッファ４６によって、レンダリング・モジュール３０は、現在の表示フレームの表示に本質的な影響を与えることなく、新たな表示フレームを構築したり描いたりできるようになる。さらに、１つの局面では、レンダリング・モジュール３０は、例えば、表示メカニズム２８上に表示される、表示メモリ４８のようなメモリのさらに規定された部分へと、レンダリングされた表示フレーム３４をコピーするように動作可能である。そのため、表示メモリ４８の内容は、表示されている表示フレームの内容に直接的に影響を与えうる。
【００２３】
レンダリング・モジュール３０はさらに、表示パッケージ１４に対応する複数のレンダリングされた表示フレーム３２、３４の表示メカニズム２８上における表示の生成および制御を行うように動作可能である。特に、少なくとも１つのレンダリングされた表示フレームの一部が、ダブル・バッファ・モニタ３６によって識別されるように、１または複数の以前にレンダリングされたか、あるいはダブル・バッファされた要素または要素のグループの組み合わせから形成されうる。さらに、レンダリングされた表示フレーム３４の全体は、（１）１または複数の以前にレンダリングされた要素／グループ、および、１または複数の新たにレンダリングされた要素／グループ、または（２）以前にレンダリングされた複数の要素／グループのうちの何れかから形成されうる。したがって、１または複数の以前にレンダリングされた要素／グループは、所与の表示フレームにおける表示のために再レンダリングされる必要はないので、システム１０の幾つかの局面は、表示可能なコンテンツの一部の選択的なダブル・バッファリングを提供するように動作可能であり、その結果、レンダリング速度および効率を高める。
【００２４】
図２および図３に示すように、１つのシナリオの例では、選択されレンダリングされる対応する要素グループ４１が、時間１における１つのレンダリングされた表示フレームから、時間ｘにおける別のレンダリングされた表示フレーム（例えば、フレーム３２からフレーム３４）の間、変化しない場合、選択された要素グループ３１にダブル・バッファ・インジケータ２６が関連付けられる。ここで、ｘは、時間１の後の任意の時間である。このシナリオでは、選択されレンダリングされる要素グループ４１の位置のみが、残りの要素３７に対して相対的に変化しうる。これによって、レンダリングされた表示フレーム３２に対して、レンダリングされた表示フレーム３４を変化させる。
【００２５】
１つの局面では、システム１０は、レンダリングされた表示フレームの生成を最適化することができる。最適化は、複数の表示フレームおよび表示パッケージ１４（図１）の分析を可能にし、１または複数の表示要素が不変の成分を有しているかを判定することによって達成することができる。さらに、１つの局面では、システム１０は、不変の表示要素のうちの識別された１または複数のグループをダブル・バッファリングする費用および利点の評価を考慮することができる。考慮される費用および利点は、表示フレームのフレーム・レートを考慮しながら、コンテンツを再レンダリングするのではなく、レンダリングされたコンテンツをコピーすることによって節約された処理時間のみならず、コンテンツのダブル・バッファリングに使用されるメモリ量をも含む。１つの実施では、そのような分析は、表示パッケージ１４の生成、試験、および／または使用時にマニュアルでなされる。別の局面では、そのような分析は、ルール、関数、ヒューリスティックス、ニューラル・ネットワーク、および／または、例えば、後述するレンダリング・ロジック５６（図５）およびダブル・バッファ・ロジック５８（図４）のようなレンダリング・モジュール３０および／またはダブル・バッファ・モニタ３６内の予め定めたその他のロジックに基づいて自動的に生じうる。
【００２６】
再び図１に示すように、前述したように、表示パッケージ１４は、複数の表示要素２０，２２および２４を備えうる。表示要素２０、２２および２４のおのおのは、表示される成分の全てまたは一部を備える。ここで、少なくとも１つの表示される成分は、それぞれの表示フレームを備える。特に、表示パッケージ１４が、例えばエクステンシブル・マークアップ・ランゲージ（ＸＭＬ）のようなマークアップ言語を含む１つの局面では、表示要素２０、２２および２４のおのおのは、任意の単一のマークアップ・ランゲージ要素または、マークアップ・ランゲージ要素のうちの任意のグループを備える。くわえて、１つの実装では、表示要素２０、２２および２４は、ツリー・ベース構造、ネスティング構造、および／またはデータの階層を考慮したその他任意の構造内の表示パッケージ１４内に提供されうる。
【００２７】
１つの局面では、例えば、表示パッケージ１４は、例えばコンパイルされていないデータ・ファイルのような第１のデータ・フォーマット、たとえばコンパイルされたデータ・ファイルまたはオブジェクト・ファイルのような第２のデータ・フォーマット、および、プログラミング言語のうちの１または任意の組み合わせで、コンピュータ・デバイス１６のユーザ・インタフェース（ＵＩ）を規定するように動作可能である。例えば、表示パッケージ１４は、限定される訳ではないが、例えばＴｒｉｇＭＬ（登録商標）ドキュメントのようなマークアップ言語を含みうる。ＴｒｉｇＭＬ（登録商標）ドキュメントは、（例えば、予め定めた表示特性、予め定めた量のメモリ６６、および予め定めた機能のプロセッサ６８のような）小さなスクリーン領域、制限されたメモリ、および制限された処理能力を持つデバイスの要求に対して作成されたＸＭＬ派生ＵＩマークアップ言語ドキュメント、ＸＭＬドキュメント、ハイパーテキスト・マークアップ言語（ＨＴＭＬ）ドキュメント、および、スクリプト・プログラミング言語ファイル（例えば、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等）である。
【００２８】
さらに、表示パッケージは、ダブル・バッファ・インジケータ２６が挿入されたりあるいは導かれるレンダリング・フレームワークを提供する。例えば、１つの局面では、ＴｒｉｇＭＬ（登録商標）ドキュメントにおけるように、ダブル・バッファ・インジケータ２６は、子要素を含むフィルタのような要素を備えており、（例えば、アニメーション・パフォーマンスを向上するために）子要素のレンダリングまたは「ペインティング」をダブル・バッファするように動作可能である。
【００２９】
図４に示すように、ＴｒｉｇＭＬ（登録商標）ドキュメント１５によって規定される表示パッケージ１４（図１）の１つの限定しない例では、ダブル・バッファ・インジケータ２６が、“＜ｃａｎｖａｓ＞”タグの形式をとりうる。“＜ｃａｎｖａｓ＞”タグは、ダブル・バッファ・インジケータ２６によって示された選択されたおのおのの表示要素グループが、個別の“ｃａｎｖａｓ”またはダブル・バッファ・メモリ領域に「ペイント」されるという事実を示唆する。くわえて、１つの実施では、ダブル・バッファ・インジケータ２６がさらに、ダブル・バッファリングを選択的にイネーブルおよびディセーブルするように変化しうる値を有する制御属性５０を備える。例えば、１つの限定しない局面では、制御属性５０は、ダブル・バッファリングをイネーブルする「真」の値と、ダブル・バッファリングをディセーブルする「偽」の値とを有することができる。１つの局面では、著者が、バッファリングについて後で切り換えたい場合（あるいはその逆の場合）、タグが配置される。
【００３０】
例示する例では、ＴｒｉｇＭＬ（登録商標）ドキュメント１５は、「レイヤ」内に表示可能な要素および／または構成要素を規定し、これによって、相対的な要素特性および／またはグループ特性を管理するための階層を提供する。例えば、第１のレイヤは、常に第２のレイヤの上にあるように規定され、第２のレイヤは、常に第３のレイヤの上にあるように規定される等である。この例では、ドキュメント・タイプ・タグ５１のペアが、それぞれのドキュメントの開始および終了を識別する。特に、＜ｔｒｉｇｍｌ＞タグ５１は、ＸＭＬのフラグメントをＴｒｉｇ（登録商標）フラグメントとして規定し、フラグメント全体を、単一のＸＭＬドキュメントにする目に見えないコンテナでありうる。例示するように、タグされたコンテンツの開始は、タグ識別子によって識別され、タグされたコンテンツの終了は、バックスラッシュ“／”が先行する同じタグ識別子によって示される。第１のレイヤのタグ５３のペアと、それぞれのコンテンツは、第１のグループのタグ５７のペアのうちの最初の１つの属性５５によって示されるメイン・メニューのような本例の背景を規定する。例示する例では、メイン・メニューのコンテンツは、例えばタグ５９のような１または複数のタグによって示されるように、テキスト、グラフィック等を備えうる。例示する例では、タグ５９は、タグ識別子および／またはタグ属性を含まないが、１または複数の属性のうちの何れの組み合わせも持たないか、あるいは任意の組み合わせを持つ任意のタイプのタグを含むことができる。さらに、コンテンツは、例えば第１のグループ・タグ５７によって示されるグループのような、１または複数のグループへ体系化されうる。
【００３１】
さらに、レイヤ属性６３によって示されるように、「ポップアップ」構成要素を規定する第２のレイヤ・タグ６１のペアが示されている。例示する例では、テキスト・タグ６５および属性６７によってそれぞれ規定されるように、「ポップアップ」は、白い色のテキスト・メッセージ「警告：バッテリー低下」を備える。さらに、「ポップアップ」は、アニメーション属性７１を有するアニメーション・タグ６９によって規定されるように、それに付されたアニメーションを有する。アニメーション属性７１にしたがって、コンテンツの一部が最初にページに入った場合（すなわち、コンテンツの一部がレンダリング・モジュール３０（図１）にロードされた場合）に、アニメーションが起動される。さらに、アニメーション属性７１にしたがって、アニメーションは、アニメーションの親グループのｘ座標を、第２のグループ・タグ７３によって規定されているように、３００ミリ秒（ｍｓ）のうち、−１００ミリメートル（ｍｍ）から＋３０ｍｍまでをアニメートする。親グループ７３はさらに、この例では１００ｍｍの幅、５０ｍｍの高さ、および赤い背景色（ｂｇｃｏｌｏｒ）を有する表示要素のグループを規定する、設定可能なグループ属性７５を含む。さらに、ダブル・バッファ、または、「真」の値に等しい制御属性５０を有する＜ｃａｎｖａｓ＞要素２６は、例えば、この場合、レンダリング・モジュール３０（図１）に対して、グループ７３の外観をダブル・バッファするように指示し、もって、アニメーションのフレームがより高速にレンダリングされるように動作可能である。例示する例では、グループ７３は単に移動しているだけ、例えば、グループ７３  ｘ軸座標を変化させているだけなので、ダブル・バッファリングが望ましい。すなわち、グループ７３のコンテンツは、フレームからフレームで変化しない。
【００３２】
図４の例では、ダブル・バッファ・インジケータ２６が適応する任意のグループ内に、複数の表示要素が含まれうることが注目されるべきである。同様に、この例におけるダブル・バッファ・インジケータ２６は、単一のグループ７３しか示していないが、単一の要素、および／または複数の要素、および／または複数のグループが、１つのダブル・バッファ・インジケータ２６内に含まれうることが注目されるべきである。くわえて、例えば、１または複数のダブル・バッファ・インジケータ２６は、他のダブル・バッファ・インジケータ２６内にネスティングされうる。さらにまた、本例における表示パッケージ１５は、１つのみのダブル・バッファ・インジケータ２６しか含んでいないが、任意の１つのディスプレイ・パッケージ内に複数のダブル・バッファ・インジケータ２６が含まれうる。
【００３３】
再び図１に示すように、コンテンツ・プロバイダ１２は、コンテンツ・プロバイダ、コンテンツ・リテーラ、課金および顧客サービス・プロバイダ、ネットワーク・サービス・プロバイダ、メディア・ディストリビュータ、コンテンツ・サーバ、および、コンピュータ・デバイス１６へのコンテンツおよび／またはサービスの配信のチェーン内にあるか、あるいはそのチェーンに関連する任意のエンティティおよび／またはデバイス、のうちの１つまたは任意の組み合わせを備えうる。例えば、幾つかの局面では、コンテンツ・プロバイダ１２は、カリフォルニア州サンディエゴのＱｕａｌｃｏｍｍ社から利用可能なｕｉＯｎｅ（登録商標）ソリューションを含みうる。ｕｉＯｎｅ（登録商標）ソリューションは、カスタマイズされ更新可能なモバイルＵＩを生成し展開するために、オペレータ、デバイス製造者、および出版社／開発者のための技術およびサービスのオープンかつ柔軟な技術の組み合わせを提供するように動作することができる。
【００３４】
さらに、例えば、コンテンツ・プロバイダ１２は、ｄｅｌｉｖｅｒｙＯｎｅ（登録商標）コンテンツ・マネジメントと、無線コンテンツの無線デバイス・アレイへのエンド・トゥ・エンド転送を管理するように動作する配信システムと、を含むことができる。くわえて、例えば、コンテンツ・プロバイダ１２は、ｕｉＯｎｅ  ＴｒｉｇＰｕｂｌｉｓｈｅｒ（登録商標）ソリューションおよびｕｉＯｎｅ  Ｄｅｐｏｒｔ（登録商標）ソリューションを含むことができる。これらは、ＵＩのパーツへの選択的な更新を介して、ユーザ経験を制御およびリフレッシュするためにサービスを提供するよう動作可能する。一例において、対象となるソリューションはさらに、Ｔｒｉｇとも称され、モバイル・ユーザ・インタフェースの広範囲における迅速な生成のためのツールを含むことができる。例えば、そのようなツールは、既存のテンプレート上に新たな設計を基づかせることによって、処理を加速するために使用することができる。これは、迅速に修正され、模擬され、試験および評価のために電話器に直接的にロードされうる。対象となるソリューションにおける機能の現在の組み合わせによって、強制的なユーザ経験を生成する高品質インタフェースが得られる。ｄｅｌｉｖｅｒｙＯｎｅ（登録商標）コンテンツ管理および配信システム、およびｕｉＯｎｅ  ＴｒｉｇＰｕｂｌｉｓｈｅｒ（登録商標）ソリューションおよびｕｉＯｎｅ  Ｄｅｐｏｔ（登録商標）ソリューションは、カリフォルニア州サンディエゴのＱｕａｌｃｏｍｍから利用可能である。
【００３５】
くわえて、通信インタフェース１８は、有線接続、無線接続、および製造時におけるデバイスへの直接ローディングのうちの１つまたは任意の組み合わせを備えうる。有線接続および／または無線接続はさらに、例えばデータ・ネットワークおよび通信ネットワークのうちの１つまたは任意の組み合わせのようなネットワークを含むことができる。幾つかの局面では、例えば、ネットワークは、カリフォルニア州、サンディエゴのＱｕａｌｃｏｍｍ社から利用可能なＭｅｄｉａＦＬＯ（登録商標）システムを含む順方向リンク・オンリー（ＦＬＯ）ネットワークのようなマルチキャスト・ネットワークのうちの全てまたはある部分を備えることができる。１つの局面では、ネットワークは、例えば、衛星用のＤＶＢ−Ｓ、ケーブル用のＤＶＢ−Ｃ、地上テレビ用のＤＶＢ−Ｔ、ハンドヘルド用の地上テレビ用のＤＶＢ−Ｈのようなデジタル・ビデオ・ブロードキャスティング（ＤＢＶ）ネットワーク；、地上電話ネットワーク；、衛星電話ネットワーク；、例えば赤外線通信協会（ＩｒＤＡ）ベースのネットワークのような赤外線ネットワーク；、短距離無線ネットワーク；、Ｂｌｕｅｔｏｏｔｈ（登録商標）技術ネットワーク；、ＺｉｇＢｅｅ（登録商標）プロトコル・ネットワーク；、超広帯域（ＵＷＢ）プロトコル・ネットワーク；、ホーム無線周波数（ＨｏｍｅＲＦ）ネットワーク；、シェアド・ワイヤレス・アクセス・プロトコル（ＳＷＡＰ）ネットワーク；、例えば、無線イーサネット（登録商標）互換性アライアンス（ＷＥＣＡ）ネットワーク、無線フィディリティ・アライアンス（Ｗｉ−Ｆｉアライアンス）ネットワーク、および８０２．ｘｘネットワークのような広帯域ネットワーク；、公衆交換電話ネットワーク；、例えばインターネットのような公衆異種混合通信ネットワーク；、プライベート通信ネットワーク；、および、地上モバイル無線ネットワークのような他のネットワークのうちの１つまたは組み合わせを含むことができる。
【００３６】
さらに、ネットワークの幾つかの局面に含まれうる電話ネットワークの一例は、例えば、符号分割多元接続（ＣＤＭＡ）、広帯域符号分割多元接続（ＷＣＤＭＡ）、ユニバーサル・モバイル通信システム（ＵＭＴＳ）、アドバンスト・モバイル電話サービス（ＡＭＰＳ）、時分割多元接続（ＴＤＭＡ）、周波数分割多元接続（ＦＤＭＡ）、直交周波数分割多元接続（ＯＦＤＭＡ）、グローバル移動体通信システム（ＧＳＭ）、単一キャリア（１Ｘ）無線放送技術（ＲＴＴ）、エボリューション・データ・オンリー（ＥＶ−ＤＯ）技術、汎用パケット無線サービス（ＧＰＲＳ）、エンハンスト・データＧＳＭ環境（ＥＤＧＥ）、高速ダウンリンク・データ・パケット・アクセス（ＨＳＰＤＡ）、アナログおよびデジタル衛星システム、および、通信ネットワークとデータ・ネットワークとのうちの少なくとも１つにおいて使用されうるその他任意の技術／プロトコルのようなアナログ・ネットワーク技術およびデジタル・ネットワーク技術のうちの１または任意の組み合わせを含む。
【００３７】
１つの局面では、図５に示すように、コンピュータ・デバイス１６は、限定される訳ではないが、メモリ６６およびプロセッサ６８を備えるコンピュータ・プラットフォーム６４を有する任意のデバイスを含みうる。コンピュータ・デバイス１６は、例えば、セルラ電話、パーソナル・デジタル・アシスタント（ＰＤＡ）、ラップトップ・コンピュータ、パーソナル・ゲーム機、２方式ページャ、ポータブル音楽デバイス、およびその他任意のタイプのコンピュータのような任意のタイプの有線および／または無線デバイスを含みうることが注目されるべきである。
【００３８】
コンピュータ・プラットフォーム６４は、例えばデータ・ネットワークおよび／または通信ネットワークのようなネットワークを介してデータを送信し、および／または、ルーチンおよび／またはアプリケーションを受信して実行するよう動作可能である。コンピュータ・プラットフォーム６４はさらに、オプションとして、任意のネットワーク・デバイス、または、ネットワークまたはコンピュータ・デバイス１６に接続されたその他のコンピュータ・デバイスから送信されたデータを表示するように動作可能である。例えば、コンピュータ・プラットフォーム６４は、ハードウェア、ファームウェア、ソフトウェア、データ、実行可能な命令、およびそれらの組み合わせで具体化されうる。
【００３９】
コンピュータ・プラットフォーム６４は、例えば、読出専用メモリおよび／またはランダム・アクセスメモリ（ＲＡＭおよびＲＯＭ）、電子的プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュ・カード、あるいはコンピュータ・プラットフォームに一般的な任意のメモリのような揮発性メモリおよび不揮発性メモリを含むメモリ６６を含むことができる。さらに、メモリ６６は、１または複数のフラッシュ・メモリ・セルを含んでいるか、あるいは、磁気媒体、光学媒体、テープ、またはリムーバブル・メモリ・メカニズムを含むソフト・ディスクあるいはハード・ディスクのような任意の２次または３次記憶装置でありうる。くわえて、前述したように、メモリ６６は、表示メモリ４８、第１の表示バッファ４６、および１または複数の第２の表示バッファ４１、４２、４４のうちの１または任意の組み合わせを含むことができる。ここで、個々の第２の表示バッファの数は、ダブル・バッファリング・モニタ３６によって識別される個々の選択された要素グループ３１、３３、３５の数に一致しうる。
【００４０】
さらに、コンピュータ・プラットフォーム６４は、特定用途向けＩＣ（ＡＳＩＣ）、チップセット、プロセッサ、論理回路、およびその他任意のデータ処理デバイスのうちの１または複数でありうるプロセッサ６８を含むことができる。１つの局面では、プロセッサ６８、または例えばＡＳＩＣのようなその他のプロセッサは、例えば、ユーザ・インタフェース・モジュール５２、レンダリング・モジュール３０、およびダブル・バッファ・モニタ３６のように、コンピュータ・デバイス１６のメモリ６６に格納された任意の常駐プログラムとインタフェースするアプリケーション・プログラミング・インタフェース（ＡＰＩ）レイヤ７０を実行することができる。ＡＰＩ７０は一般に、それぞれの無線デバイス上で実行するランタイム環境である。そのような１つのランタイム環境は、カリフォルニア州サンディエゴのＱｕａｌｃｏｍｍ社によって開発されたＢｉｎａｒｙ  Ｒｕｎｔｉｍｅ  Ｅｎｖｉｒｏｎｍｅｎｔ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ（登録商標）（ＢＲＥＷ（登録商標））である。例えば、有線計算デバイスおよび／または無線計算デバイスにおけるアプリケーションの実行を制御するように動作可能なその他のランタイム環境が適用されうる。
【００４１】
くわえて、プロセッサ６８は、ハードウェア、ファームウェア、ソフトウェア、データ、実行可能命令、およびこれらの組み合わせにおいて具体化される様々な処理サブシステム７２を含みうる。これらは、コンピュータ・デバイス１６の機能と、データ・ネットワークおよび／または通信ネットワークにおけるコンピュータ・デバイスの操作性とを可能にする。例えば、処理サブシステム７２は、通信の開始と維持、および、コンテンツ・プロバイダ１２および／またはその他のネットワーク・デバイスとのデータ交換を可能にする。コンピュータ・デバイスが、典型的なセルラ電話として規定される１つの局面では、プロセッサ６８はさらに、例えば、音、不揮発性メモリ、ファイル・システム、送信機、受信機、サーチャ、レイヤ１、レイヤ２、レイヤ３、メイン制御、遠隔手順、ハンドセット、電力制御、デジタル信号プロセッサ、メッセージング、コール・マネジャ、Ｂｌｕｅｔｏｏｔｈ（登録商標）システム、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＬＰＯＳ、位置決めエンジン、ユーザ・インタフェース、スリープ、データ・サービス、セキュリティ、認証、ＵＳＩＭ／ＳＩＭ、音声サービス、ボコーダ、メッセージング、グラフィックス、ＵＳＢ、マルチメディア等のような通信用の処理サブシステム７２の１または組み合わせを含む。開示された局面の場合、プロセッサ６８の処理サブシステム７２は、本明細書に記載の機能をイネーブルするコンピュータ・プラットフォーム６４上で実行するアプリケーションと相互作用する任意のサブシステム構成要素を含みうる。
【００４２】
さらに、コンピュータ・プラットフォーム６４は、ハードウェア、ファームウェア、ソフトウェア、データ、実行可能命令、およびこれらの組み合わせで具体化され、通信デバイス１６と通信インタフェース１８との間のみならず、コンピュータ・デバイス１６内の様々な構成要素間の通信を可能にする通信モジュール７４を含みうる。例えば、セルラ電話の局面では、通信モジュール７４は、無線通信接続を確立するための送信チェーン構成要素および受信チェーン構成要素を含む必須のハードウェア、ファームウェア、ソフトウェア、データ、実行可能命令、およびこれらの組み合わせを含みうる。
【００４３】
さらに、１つの局面では、例えば、通信モジュール７４は、表示パッケージ１４の受信および転送、または、ユーザ・インタフェース・モジュール５２、レンダリング・モジュール３０、およびダブル・バッファ・モニタ３６のうちの少なくとも１つへの表示パッケージ１４へのアクセスの提供を行うように動作可能でありうる。引き続き、例えば、通信モジュール７４は、レンダリング・モジュール３０からの命令に基づいて、デバイス構成要素から、選択された要素グループ３１、３３、３５、残りの要素３７、３８、３９、選択されレンダリングされる要素グループ４１、４３、４５、レンダリングされた表示フレーム３４、３２を転送するように動作可能である。
【００４４】
くわえて、コンピュータ・デバイス１６は、デバイスへの入力を生成する１または複数の入力メカニズム７６を有し、さらに、デバイスのユーザによって使用される情報を生成する１または複数の出力メカニズム７８を有しうる。例えば、入力メカニズム７６は、例えばキーまたはキーボード、ナビゲーション・メカニズム、マウス、タッチ・スクリーン・ディスプレイ、音声認識モジュールに関連付けられたマイクロフォン等のようなメカニズムを含みうる。ある局面では、入力メカニズム７６は、無線デバイス上のアプリケーションまたはモジュールを起動し、それと相互作用するためのユーザ入力のために備えている。さらに、例えば、出力メカニズム７８は、ＵＩ、オーディオ・スピーカ、触覚型フィードバック・メカニズム等を表すために動作可能なディスプレイ２８を含みうる。
【００４５】
くわえて、コンピュータ・プラットフォーム６４はさらに、レンダリング・モジュール３０、ダブル・バッファ・モニタ３６、およびディスプレイ・メカニズム２８の管理、実行、および／または動作を行うことが可能なユーザ・インタフェース・モジュール５２を含みうる。ユーザ・インタフェース・モジュール５２は、ハードウェア、ソフトウェア、ファームウェア、実行可能な命令、およびデータの１または任意の組み合わせを含みうる。例えば、１つの局面では、ユーザ・インタフェース・モジュール５２は、ユーザ・インタフェース管理機能を実行するためにプロセッサ６８によって実行可能なユーザ・インタフェース・ロジック５４を備える。さらに、例えば、ユーザ・インタフェース・モジュール５２は、以前に説明したｕｉＯｎｅ（登録商標）ソリューションに関連付けられたｕｉＯｎｅ（登録商標）クライアントおよびポート・レイヤを含みうる。例えば、セル電話の局面では、ｕｉＯｎｅ（登録商標）クライアントは、“Ｔｒｉｇ”またはユーザ・インタフェースを、エアを介してインストールおよび更新することを可能にするハンドセット上に常駐する高性能のコンパクトなアプリケーションである。例えば、ｕｉＯｎｅ（登録商標）クライアントは、ハンドセット（例えば、電話、メッセージング、コンタクト、カレンダ等）のソフトウェア構成要素と、ユーザ・インタフェースまたはディスプレイ・メカニズム２８との間の相互作用を可能にする。さらに、オペレータは、オペレータのサービス提供を見分け、ユーザ・インタフェースをブランド付けることによって収入を上げるために、ｕｉＯｎｅ（登録商標）クライアントを用いることができ、これによって動的に、スクリーン上のサービスを促進し、シームレスな接続を提供し、ユーザがサービスを購入することをより容易にする。
【００４６】
また別の局面では、Ｔｒｉｇベース・システムでは、ユーザ・インタフェース・モジュール５２が、仮想ファイル・システムと；、デバイス上の持続的な記憶装置の抽出を提供するように動作可能なリソース・マネジャ；、ネットワーク通信エージェント；、ＴｒｉｇおよびＴｒｉｇｌｅｔの受信および適用を取り扱うことが可能な更新マネジャ；、ソフトウェア中に表示されたアクターのセットを世話するように動作可能なアクター・マネジャ；、複数のアクター；、事象または誤りの発生をレポートするために、他の構成要素のためのインタフェースを提供するように動作可能なサポート・マネジャ；、リソース・マネジャおよびレンダラのみならず、その他のｔｒｉｇ管理機能に対するインタフェースを提供するように動作可能なｔｒｉｇマネジャとのうちの１または任意の組み合わせを含むことができる。
【００４７】
くわえて、コンピュータ・プラットフォーム６４はさらに、表示パッケージ１４に対応するレンダリングされた表示フレームを生成するように動作可能なレンダリング・モジュール３０を含むことができる。レンダリング・モジュール３０は、ハードウェア、ソフトウェア、ファームウェア、実行可能な命令、およびデータのうちの１つまたは任意の組み合わせを備えうる。例えば、１つの局面では、レンダリング・モジュール３０は、プロセッサ６８によって、本明細書に記載のレンダリング機能を実行することが可能なレンダリング・ロジック５６を備える。別の局面では、レンダリング・モジュール３０は、例えばパーサおよびレンダリング・エンジンのような追加構成要素のうちの１つまたは任意の組み合わせを備えることができる。１つの実装では、パーサは、表示パッケージ１４の言語を読み取るように動作可能である一方、レンダリング・エンジンは、描画動作またはレンダリング動作を実行するために、解析された言語を、グラフィックＡＰＩコールに変換するように動作可能である。くわえて、１つの局面では、レンダリング・モジュール３０は、ダブル・バッファ・モニタ３６によって識別されるように、選択されたおのおのの要素グループについて第２の表示バッファを規定するように動作可能である。さらに、レンダリング・モジュール３０は、選択され識別されたおのおのの要素グループを、それぞれ個別の第２の表示バッファへペイントするように動作可能である。
【００４８】
くわえて、コンピュータ・プラットフォーム６４は、表示パッケージ１４内の１または複数のダブル・バッファ・インジケータ２６に基づいて、ダブル・バッファリングのために選択された１または複数の要素／グループをそれぞれ識別するように動作可能である。ダブル・バッファ・モニタ３６は、ハードウェア、ソフトウェア、ファームウェア、実行可能な命令、およびデータのうちの１または任意の組み合わせを含みうる。例えば、１つの局面では、ダブル・バッファ・モニタ３６は、プロセッサ６８によって実行可能なダブル・バッファ・ロジック５８を備える。ダブル・バッファ・ロジック５８は、本明細書に記載したように、選択された要素グループ３１、３３、３５の識別動作を実行するように動作可能である。この点において、ダブル・バッファ・ロジック５８は、ルール、関数、ヒューリスティックス、ニューラル・ネットワーク、および／または、ディスプレイ・パッケージ１４内に組み込まれた１または複数のダブル・バッファ・インジケータ２６を検出し、および／または、１または複数のダブル・バッファ・インジケータ２６を決定および／または導出するために、表示要素２０、２２、２４のうちの１または任意の組み合わせと表示パッケージ１４とを分析するように動作可能なその他任意の予め定めたロジック、のうちの１または複数の組み合わせを含みうる。例えば、ダブル・バッファ・ロジック５８は、予め定めたまたはハード・コードされたインジケータを検出するのではなく、表示フレームのシーケンスを分析し、少なくとも２つの表示フレームを介して１または複数の不変の表示要素のおのおのまたはグループを識別して、選択された要素グループとして分類し、オプションとして、ダブル・バッファ・インジケータ２６を自動的に生成するか、および／または、そうでない場合には、１または複数の選択された要素グループ３１、３３、３５を自動的に識別し、表示パッケージ１４によって規定された複数の表示フレームを表示する際の使用のために、選択されレンダリングされた対応する要素グループ４１、４３、４５の生成および記憶を開始するように動作可能である。くわえて、１つの局面では、ダブル・バッファ・モニタ３６は、選択されたおのおのの要素グループを保存するための第２の表示バッファの生成および／または規定を行うように動作可能である。ここで、選択されレンダリングされた要素グループのおのおのは、個別の第２の表示バッファ内に保存されるか、あるいは、選択されレンダリングされた要素グループの全てが、単一の表示バッファに格納される。
【００４９】
図６に示すように、１つの局面では、コンテンツを表示する方法は、複数の表示フレームを規定する複数の表示要素を有する表示パッケージを取得することを備える（イベント９０）。例えば、１つの局面では、コンピュータ・デバイスが、通信インタフェースを経由して、コンテンツ・プロバイダから表示パッケージを受信する。表示パッケージは、複数の表示フレームを規定する複数の表示要素を備え、さらに、少なくとも１つのダブル・バッファ・インジケータを含みうる。
【００５０】
くわえて、この方法は、複数の表示要素のうち、選択された少なくとも１つのグループをレンダリングすることを含む（イベント９２）。さらに、複数の表示要素のうちの選択された少なくとも１つのグループをレンダリングすることは、１つの選択された要素、複数の選択された要素、および／または、選択された複数の要素のグループを含みうる。一つの例では、選択されるおのおののグループは、表示パッケージ内のダブル・バッファ・インジケータ情報に基づく。例えば、１つの局面では、表示パッケージに応答して、レンダリング・モジュールが、ダブル・バッファ・モニタによって識別された１または複数の選択されたそれぞれの要素から、選択されレンダリングされる１または複数の要素グループを生成するよう動作可能である。例えば、１つの実装では、ダブル・バッファ・モニタが、表示パッケージを分析し、（例えば、アニメーション性能を改善するために）ダブル・バッファされるコンテンツをシグナリングする１または複数のダブル・バッファ・インジケータを配置および／または導出するよう動作可能である。例えば、そのようなダブル・バッファリングは、１または複数の表示要素の構成要素が、２またはそれ以上の表示フレームにわたって変化しない場合に生じうる。しかしながら、２またはそれ以上のフレームが、連続した表示フレームである必要はないことが注目されるべきである。くわえて、１つの局面では、選択されたおのおのの要素グループは、レンダリングされた対応する表示フレームの全体よりも少数でありうる。さらに、１つの局面では、選択されたおのおののグループは、対応する表示フレームに関連付けられた複数の表示要素の全てよりも少数でありうる。
【００５１】
さらに、この方法は、選択されレンダリングされたおのおののグループのコピーを、第２の表示バッファ内に保存することを含みうる（イベント９４）。例えば、１つの局面では、レンダリング・モジュールは、選択されレンダリングされた１または複数の要素グループを、１または複数の第２の表示バッファそれぞれに格納するように動作可能でありうる。１つの実装では、例えば、レンダリング・モジュールおよび／またはダブル・バッファ・モニタが、例えば、ダブル・バッファ・インジケータ情報に基づいて、メモリ内に、１または複数それぞれの第２の表示バッファを規定または生成するように動作可能でありうる。個別の第２の表示バッファが生成されうるが、選択されレンダリングされた全ての要素グループが、共通の第２の表示バッファ内に保存されうることが注目されるべきである。
【００５２】
くわえて、この方法は、レンダリングされた少なくとも１つの表示フレームのうちの少なくとも一部が、選択されレンダリングされたグループのうちの保存されたコピーを備えることができるように、複数の表示フレーム内に、少なくとも１つの表示フレームをレンダリングすることを含みうる。例えば、１つの局面では、レンダリング・モジュールは、１または複数の選択されレンダリングされた要素グループと組み合わされた１または複数の残りの要素をレンダリングすることによって、レンダリングされる表示フレームを生成するように動作可能でありうる。他の局面では、例えば、レンダリングされる表示フレームは、選択されレンダリングされる２またはそれ以上の要素グループのコピーのみを用いて生成されうる。それゆえ、１つの実装では、選択されレンダリングされたおのおののグループは、対応する表示フレームの全体よりも少数である。
【００５３】
さらに、この方法は、レンダリングされた少なくとも１つの表示フレームを、第１の表示バッファに保存することを含みうる（イベント９８）。例えば、１つの局面では、レンダリング・モジュールは、レンダリングされたおのおのの表示フレームを、第１の表示バッファ内に保存するように動作可能でありうる。
【００５４】
くわえて、この方法は、少なくとも１つの表示フレームを表示することを含みうる（イベント１００）。例えば、１つの局面では、レンダリング・モジュールは、レンダリングされた表示フレームのおのおののを、第１の表示バッファから、表示メモリにコピーし、もって、おのおのの表示フレームが、表示メカニズム上に表示されるように動作することができる。さらに、例えば、表示フレームをレンダリングし、表示した後、次の表示フレームを生成するために、レンダリング・モジュールは、選択されレンダリングされた要素グループのうちの少なくとも１つを、グループのうちの別の１つ、および／または、１または複数の残りの要素と組み合わせて利用することができる。レンダリングされる表示フレームのレンダリングを完了すると、レンダリング・モジュールは、レンダリングされた表示フレームを破棄する一方、レンダリングされた表示フレームを、表示メモリにコピーし、次に、レンダリングされた表示フレームを、表示メカニズム上に表示することができる。上述した動作は、複数の表示フレームのおのおのを、それぞれの表示パッケージ内に表示させるために繰り返されうる。ここで、不変の表示要素の１または複数のおのおのまたはグループが、選択的に一度レンダリングされ、保存され、その後、１または複数の次の表示フレームのレンダリングにコピーされる。したがって、レンダリング・モジュールは、少なくとも、以前に選択されレンダリングされた少なくとも１つの要素グループを含む部分を有するレンダリング済み表示フレームを表示させることができる。
【００５５】
本明細書で開示された実施形態に関連して記述された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）あるいはその他のプログラマブル論理デバイス、ディスクリート・ゲートあるいはトランジスタ・ロジック、ディスクリート・ハードウェア部品、又は上述された機能を実現するために設計された上記何れかの組み合わせを用いて実現又は実施されうる。汎用プロセッサとしてマイクロプロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロコントローラ、あるいは状態機器を用いることも可能である。プロセッサは、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアに接続された１または複数のマイクロプロセッサ、またはその他任意のこのような構成である計算デバイスの組み合わせとして実現することも可能である。くわえて、少なくとも１つのプロセッサは、上述したステップおよび／または動作のうちの１または複数を実行するように動作可能な１または複数のモジュールを備える。
【００５６】
さらに、１または複数の典型的な動作では、本明細書に記載の機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実施されうる。もしもソフトウェアで実施される場合、これらの機能は、コンピュータ読取可能媒体に格納されるか、あるいは、１または複数の命令またはコードを介して送信されうる。コンピュータ読取可能媒体は、コンピュータ・プログラムの１つの場所から他の場所への転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセス可能な任意の利用可能な媒体でありうる。限定ではなく一例として、そのようなコンピュータ読取可能媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光学ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは、命令またはデータ構造の形式として所望のプログラム・コードを搬送または格納するために使用可能でありかつコンピュータによってアクセスされることが可能なその他任意の媒体を備えうる。また、何れの接続も、コンピュータ読取可能媒体と適切に称される。例えば、ソフトウェアが、ウェブサイト、サーバ、あるいは同軸ケーブル、光ファイバ、ケーブル、ツイスト・ペア、デジタル加入者ライン（ＤＳＬ）、または例えば赤外線、ラジオ、およびマイクロ波のような無線技術から送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、あるいは、例えば赤外線、ラジオ、およびマイクロ波のような無線技術は、媒体の定義に含まれる。本明細書で使用されるディスク（ｄｉｓｋおよびｄｉｓｃ）は、コンパクト・ディスク（ＣＤ）、レーザ・ディスク、光ディスク、ＤＶＤ、フロッピー（登録商標）ディスク、およびブルーレイ・ディスクを含む。ここでｄｉｓｋは、通常、データを磁気的に再生する一方、ｄｉｓｃは、レーザを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ読取可能媒体の範囲に含まれるべきである。
【００５７】
前述の開示は、例示的な局面および／または実施形態を示している一方、様々な変更および修正が、本明細書において、特許請求の範囲によって定義されたような記述された局面および／または実施形態の範囲から逸脱することなくなされうることが注目されるべきである。さらに、記述された実施形態の要素は、単数で記述され特許請求されているが、もしも単数への限定が明示的に述べられていないのであれば、複数が考慮される。くわえて、任意の局面および／または実施形態の全てまたは一部は、そうではないと述べられてないのであれば、その他任意の局面および／または実施形態の全てまたは一部とともに利用されうる。
【図１】
2009539147.tif 000003
【図２】
2009539147.tif 000004
【図３】
2009539147.tif 000005
【図４】
2009539147.tif 000006
【図５】
2009539147.tif 000007
【図６】
2009539147.tif 000008
【国際調査報告】
2009539147.tif 000009
2009539147.tif 000010
2009539147.tif 000011