(57)【要約】【課題】複数のデータ・ブロックを含むデータストリームの処理中に、パフォーマンス制御パラメータの値を設定するデータ処理システムを提供する。【解決手段】少なくとも１つのデータブロック上で初期処理ステージを実行し、少なくとも１つのデータ・ブロックの複雑さ測度を取り出すことによって、パフォーマンス制御パラメータを設定する。パフォーマンス制御パラメータは、複雑さの測度に依存して予測値に設定され、少なくとも１つのさらなる処理ステージは、パフォーマンス制御パラメータの予測値を使って少なくとも１つのデータブロック上で実行される。【選択図】図３
2005092863.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定する方法であって、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージを実行するステップと、
前記初期処理ステージの少なくとも１つの結果から、前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すステップと、
前記複雑さの測度に依存して前記パフォーマンス制御パラメータを予測値に設定するステップと、
前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも１つのデータ・ブロック上で前記少なくとも１つのさらなる処理ステージを実行するステップと、
を含む方法。
【請求項２】
請求項１に記載の方法において、前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも１つである前記方法。
【請求項３】
請求項１に記載の方法において、前記複雑さの測度は、前記入力データストリームの少なくとも１つの先行するデータ・ブロック上で実行される処理動作の結果に依存して取り出される前記方法。
【請求項４】
請求項３に記載の方法において、前記先行するデータ・ブロック上の前記処理動作の前記結果は、処理時間である前記方法。
【請求項５】
請求項４に記載の方法において、前記複雑さの測度は、前記先行するデータ・ブロック上で前記パフォーマンス制御パラメータの値を取り出す前記処理動作の前記結果に依存して尺度化される前記方法。
【請求項６】
請求項１に記載の方法において、前記入力データストリームの前記複数のデータ・ブロックの少なくとも１つは、画像フィールドと画像フレームとのうちの１つを含む前記方法。
【請求項７】
請求項６に記載の方法において、前記複雑さの測度は、画像フィールドと画像フレームとのうちの前記１つに対する画像レンダリング・ディスプレイ・リストの１つまたは複数の特徴から取り出される前記方法。
【請求項８】
請求項５に記載の方法において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含む前記方法。
【請求項９】
請求項８に記載の方法において、前記構成画像項目は、３次元グラフィックス画像要素である前記方法。
【請求項１０】
請求項８に記載の方法において、前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ電圧とのうちの少なくとも１つである前記方法。
【請求項１１】
請求項８に記載の方法において、前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生されるディスプレイ・リストである前記方法。
【請求項１２】
請求項７に記載の方法において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記方法。
【請求項１３】
請求項７に記載の方法において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、画像フィールドと画像フレームとのうちの前記１つに関連する画面解像度を含む前記方法。
【請求項１４】
請求項７に記載の方法において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、前記画像フィールドまたは画像フレームに対して動作可能にされた画像処理の特徴のうちの１グループの中の特徴に基づく推定器を含む前記方法。
【請求項１５】
請求項６に記載の方法において、前記パフォーマンス制御パラメータは、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームとのうちの前記１つごとのメモリアクセスの数を推定することによって設定される前記方法。
【請求項１６】
請求項６に記載の方法において、前記画像フィールドと画像フレームとのうちの１つはＭＰＥＧで符号化され、前記複雑さの測度は、前記画像フィールドと画像フレームとのうちの１つを復号するために必要なモーション・ベクトルの数である前記方法。
【請求項１７】
請求項１に記載の方法において、前記パフォーマンス制御パラメータの前記予測値は、所定の範囲のパラメータ値から選択される前記方法。
【請求項１８】
請求項１７に記載の方法において、前記パフォーマンス制御パラメータの前記予測値は、目標処理時間と目標消費電力レベルとのうちの少なくとも１つに依存して設定される前記方法。
【請求項１９】
請求項１８に記載の方法において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも１つを受け入れることができない場合、前記処理動作に関連する１つまたは複数の非本質的処理機能は動作不能になる前記方法。
【請求項２０】
複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するように動作可能な計算機プログラムを有する計算機プログラム製品であって、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理コードと、
前記初期処理ステージの少なくとも１つの結果から、前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出しコードと、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定コードと、
前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも１つのデータ・ブロック上で、前記少なくとも１つのさらなる処理ステージを実行するように動作可能なさらなる処理コードと、
を含む計算機プログラム製品。
【請求項２１】
請求項２０に記載の計算機プログラム製品において、前記パフォーマンス設定コードによって設定された前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも１つである計算機プログラム製品。
【請求項２２】
請求項２０に記載の計算機プログラム製品において、前記複雑さの測度取り出しコードは、前記入力データストリームの少なくとも１つの先行するデータ・ブロック上で実行される処理動作の結果に依存して、前記複雑さを取り出すように動作可能である前記計算機プログラム製品。
【請求項２３】
請求項２２に記載の計算機プログラム製品において、前記複雑さの測度を取り出す前記複雑さの測度取り出しコードによって使用される前記先行するデータ・ブロック上の前記処理動作の前記結果は、処理時間である前記計算機プログラム製品。
【請求項２４】
請求項２３に記載の計算機プログラム製品において、前記複雑さの測度取り出しコードは、前記先行するデータ・ブロック上の前記処理動作の前記結果に依存して、前記複雑さの測度を尺度化するように動作可能である前記計算機プログラム製品。
【請求項２５】
請求項２０に記載の計算機プログラム製品において、前記入力データストリームの前記複数のデータ・ブロックの少なくとも１つは、画像フィールドと画像フレームとのうちの１つを含む前記計算機プログラム製品。
【請求項２６】
請求項２５に記載の計算機プログラム製品において、前記複雑さの測度取り出しコードは、画像フィールドと画像フレームとのうちの前記１つに対する画像レンダリング・ディスプレイ・リストの１つまたは複数の特徴から前記複雑さの測度を取り出すように動作可能である前記計算機プログラム製品。
【請求項２７】
請求項２６に記載の計算機プログラム製品において、前記複雑さの測度を取り出す前記複雑さの測度取り出しコードによって使用される前記１つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含む前記計算機プログラム製品。
【請求項２８】
請求項２７に記載の計算機プログラム製品において、前記構成画像項目は、３次元グラフィックス画像要素である前記計算機プログラム製品。
【請求項２９】
請求項２０に記載の計算機プログラム製品において、前記パフォーマンス設定コードによって設定される前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも１つである前記計算機プログラム製品。
【請求項３０】
請求項２７に記載の計算機プログラム製品において、前記複雑さの測度取り出しコードによって使用される前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストである前記計算機プログラム製品。
【請求項３１】
請求項２０に記載の計算機プログラム製品において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記計算機プログラム製品。
【請求項３２】
請求項２６に記載の計算機プログラム製品において、前記複雑さの測度を取り出す前記複雑さの測度取り出しコードによって使用される前記１つまたは複数の特徴は、画像フィールドと画像フレームとのうちの前記１つに関連する画面解像度を含む前記計算機プログラム製品。
【請求項３３】
請求項２６に記載の計算機プログラム製品において、前記複雑さの測度を取り出す前記複雑さの測度取り出しコードによって使用される前記１つまたは複数の特徴は、画像フィールドまたは画像フレームに対して動作可能になる１グループの画像処理の特徴の中の１つに基づく推定器を含む前記計算機プログラム製品。
【請求項３４】
請求項２６に記載の計算機プログラム製品において、前記パフォーマンス設定コードは、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームの前記１つごとにいくつかのメモリアクセスを推定することによって、前記パフォーマンス制御パラメータを設定するように動作可能である前記計算機プログラム製品。
【請求項３５】
請求項２６に記載の計算機プログラム製品において、画像フィールドと画像フレームとのうちの前記１つはＭＰＥＧで符号化され、前記複雑さの測度は、前記画像フィールドと画像フレームの１つを復号化するために必要ないくつかのモーション・ベクトルである前記計算機プログラム製品。
【請求項３６】
請求項２０に記載の計算機プログラム製品において、前記パフォーマンス設定コードは、所定の範囲のパラメータ値から選択された前記予測値を選択するように動作可能である前記計算機プログラム製品。
【請求項３７】
請求項３６に記載の計算機プログラム製品において、前記予測値は、目標処理時間と目標電力消費レベルとのうちの少なくとも１つに依存して設定される、前記計算機プログラム製品。
【請求項３８】
請求項３７に記載の計算機プログラム製品において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも１つを受け入れることができない場合、前記処理動作に関連する１つまたは複数の非本質的処理機能は動作不能になる前記計算機プログラム製品。
【請求項３９】
複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するように動作可能なデータ処理装置であって、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理論理と、
前記初期処理ステージの少なくとも１つの結果から、前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出し論理と、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定論理と、
前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも１つのデータ・ブロック上で、前記少なくとも１つのさらなる処理ステージを実行するように動作可能なさらなる処理論理と、
を含むデータ処理装置。
【請求項４０】
請求項３９に記載のデータ処理装置において、前記パフォーマンス設定論理によって設定された前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも１つである前記データ処理装置。
【請求項４１】
請求項３９に記載のデータ処理装置において、前記複雑さの測度取り出し論理は、前記入力データストリームの少なくとも１つの先行するデータ・ブロック上で実行される処理動作の結果に依存して、前記複雑さを取り出すように動作可能である前記データ処理装置。
【請求項４２】
請求項４１に記載のデータ処理装置において、前記複雑さの測度を取り出す前記複雑さの測度取り出し論理によって使用される前記先行するデータ・ブロック上の前記処理動作の前記結果は、処理時間である前記データ処理装置。
【請求項４３】
請求項４２に記載のデータ処理装置において、前記複雑さの測度取り出し論理は、前記先行するデータ・ブロック上の前記処理動作の前記結果に依存して前記複雑さの測度を尺度化して、前記パフォーマンス制御パラメータの値を取り出すように動作可能である前記データ処理装置。
【請求項４４】
請求項３９に記載のデータ処理装置において、前記入力データストリームの前記複数のデータ・ブロックの少なくとも１つは、画像フィールドと画像フレームとのうちの１つを含む前記データ処理装置。
【請求項４５】
請求項４４に記載のデータ処理装置において、前記複雑さの測度取り出し論理は、画像フィールドと画像フレームとのうちの前記１つに対する画像レンダリング・ディスプレイ・リストの１つまたは複数の特徴から前記複雑さの測度を取り出すように動作可能である前記データ処理装置。
【請求項４６】
請求項３５に記載のデータ処理装置において、前記複雑さの測度取り出し論理によって使用される前記１つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含む前記データ処理装置。
【請求項４７】
請求項４６に記載のデータ処理装置において、前記構成画像項目は、３次元グラフィックス画像要素である前記データ処理装置。
【請求項４８】
請求項３９に記載のデータ処理装置において、前記パフォーマンス設定論理によって設定される前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも１つである前記データ処理装置。
【請求項４９】
請求項４６に記載のデータ処理装置において、前記複雑さの測度取り出し論理によって使用される前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストである前記データ処理装置。
【請求項５０】
請求項３９に記載のデータ処理装置において、前記複雑さの測度を取り出すために使用された前記１つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記データ処理装置。
【請求項５１】
請求項４５に記載のデータ処理装置において、前記複雑さの測度を取り出す前記複雑さの測度取り出し論理によって使用される前記１つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記データ処理装置。
【請求項５２】
請求項４５に記載のデータ処理装置において、前記複雑さの測度を取り出す前記複雑さの測度取り出し論理によって使用される前記１つまたは複数の特徴は、画像フィールドまたは画像フレームに対して動作可能になる１グループの画像処理の特徴の中の１つに基づく推定器を含む前記データ処理装置。
【請求項５３】
請求項４５に記載のデータ処理装置において、前記パフォーマンス設定論理は、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームとのうちの前記１つごとにメモリアクセスの数を推定することによって、前記パフォーマンス制御パラメータを設定するように動作可能である前記データ処理装置。
【請求項５４】
請求項４５に記載のデータ処理装置において、画像フィールドと画像フレームとのうちの前記１つはＭＰＥＧで符号化され、前記複雑さの測度は、画像フィールドと画像フレームの前記１つを復号するために必要ないくつかのモーション・ベクトルである前記データ処理装置。
【請求項５５】
請求項３９に記載のデータ処理装置において、前記パフォーマンス設定論理は、所定の範囲のパラメータ値から選択された前記予測値を選択するように動作可能である前記データ処理装置。
【請求項５６】
請求項５５に記載のデータ処理装置において、前記予測値は、目標処理時間と目標電力消費レベルとのうちの少なくとも１つに依存して設定される前記データ処理装置。
【請求項５７】
請求項５６に記載のデータ処理装置において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも１つを受け入れることができない場合、前記処理動作に関連する１つまたは複数の非本質的処理機能は動作不能になる前記データ処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置の分野に関し、より詳細には、この発明は、データ処理システムにおけるパフォーマンス制御パラメータの値の設定に関する。
【背景技術】
【０００２】
最近のデータプロセッサのいくつかは、プログラムアプリケーションの要求条件に依存して、プロセッサが所定の時点でいくつかの異なるパフォーマンス・レベルの１つに設定されることを可能にする機能を提供している。このようなプロセッサは、プロセッサのクロック周波数と対応する動作電圧とを低下させて、エネルギ消費の２次的低下を潜在的にもたらすということを利用している。しかし、プロセッサのパフォーマンスの低下は、ユーザによって感知されるような悪影響を与えない場合にのみ許されることである。３次元画像処理システムのような画像処理システムにおけるグラフィックス・プロセッサは全速力で実行するのが普通であり、結果として処理中の画像フレームの複雑さにしたがってフレーム・レートが変わることになる。プロセッサの各種パフォーマンス・レベルを利用するためには、所望のフレーム・レートが維持されることを可能にする最低クロック・レベルを予測できることが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
１つまたは複数の前に処理したデータ・ブロックで実際に実行されたデータ処理の量に関する情報を使用し、入力データストリームの現在のデータ・ブロックのデータ処理動作を実行するために必要なデータ処理量を予測することは公知である。所望されることは、予測機能が弱められて、将来のデータ・ブロックのために予測されたパフォーマンス・レベルに過度に影響を及ぼす所定のブロックのデータ処理作業量の突然の変化を回避すべきことである。このため、予測は、前の４つまたは５つの画像ファイル／フレームで実行されたデータ処理作業の加重平均に基づいて予測される可能性が大きい。このような既知の予測システムの問題点は、たとえば、シーン（ｓｃｅｎｅ）に変化が起こった時のように、画像系列のフレーム境界において複雑さの突然変化がある場合、予測されたプロセッサのレベルが、必要な時間の尺度（ｔｉｍｅ  ｓｃａｌｅ）内で、その画像をレンダリングするために必要な処理作業を実行するために実際に必要なレベルから大幅に変動することである。したがって、後続のデータ・ブロックの処理動作を実行するために必要な処理作業において突然変化により応答しやすいプロセッサの動作周波数のような、パフォーマンスパラメータを制御するシステムに対するニーズが存在している。
【課題を解決するための手段】
【０００４】
本発明の第１の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータ（ｐｅｒｆｏｒｍａｎｃｅ  ｃｏｎｔｒｏｌｌｉｎｇ  ｐａｒａｍｅｔｅｒ）の値を設定する方法を提供する。この方法は、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージを実行するステップと、
前記初期処理ステージの少なくとも１つの結果から、前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度（ｃｏｍｐｌｅｘｉｔｙ  ｍｅａｓｕｒｅ）を取り出すステップと、
前記複雑さの測度に依存して予測された値（以下、予測値）に対して前記パフォーマンス制御パラメータを設定するステップと、
前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも１つのデータ・ブロック上で前記少なくとも１つのさらなる処理ステージを実行するステップと、
を含む。
【０００５】
本発明は、複雑さの測度にしたがってパフォーマンス制御パラメータを設定することができるように、そのデータ・ブロック上で初期処理動作を実行することによって、データ・ブロックのパフォーマンス制御パラメータを設定し、データ・ブロック上でさらなるデータ処理動作を完了するために必要なデータ処理作業を設定するために使用される複雑さの測度を取り出すことができるシステムを提供する。これの利点は、入力データストリームの中の前のデータ・ブロックだけの特性ではなく、このデータ・ブロック自体の固有性（ｃｈａｒａｃｔｅｒｉｓｔｉｃ  ｐｒｏｐｅｒｔｙ）を使用してパフォーマンス制御パラメータを予測することである。したがって、本発明は、隣接データ・ブロック間の一時的相関に対する依存度が低くてもパラメータを正確に予測する。たとえば、シーンの変化が起こった時のような、一連の画像フレームの中でシーンが変化する境界におけるように、後続データ・ブロック間の特性の明白な変化が存在する場合にとくに有利である。何故ならば、パフォーマンス制御パラメータを適用すべき実際のデータ・ブロックの特性に基づいて、より正確な予測が考慮されているが、それでも後続するデータ・ブロックの処理に対するパフォーマンスの予測に影響を与えないからである。
【０００６】
たとえば、データ処理動作の中で呼び出される並列プロセッサの数や同時データ処理動作に専用の計算能力（ｃｏｍｐｕｔａｔｉｏｎａｌ  ｐｏｗｅｒ）に対する、問題の動作に専用であるべき計算能力の割合のように、パフォーマンス制御パラメータがいくつかの各種データ処理パラメータの１つであってもよいことは理解されるであろう。しかし、好適実施例におけるパフォーマンス制御パラメータは、データ処理装置のプロセッサ用周波数とプロセッサ用動作電圧の少なくとも１つである。これにより、複数の異なるプロセッサ・パフォーマンス・レベルを提供するシステム中で複数の可能な消費電力レベルの１つが選択される。とくに、パフォーマンス制御パラメータは、必要なパフォーマンス基準と、パフォーマンス・レベルが適用されるまったく同じデータ・ブロックの特性のとおりに選択されることを可能にする。
【０００７】
パフォーマンス制御パラメータが適用されるデータ・ブロックの特性に完全に依存して、複雑さの測度を取り出してもよいことは理解されるであろう。しかし、好適実施例における複雑さの測度は、１つまたは複数の前のデータ・ブロック上の処理動作の結果に依存して取り出される。
【０００８】
複雑さの測度は、たとえば、メモリに対する書き込みの数、または処理動作を完了するために必要なメモリ・アクセスの数のようないくつかの処理動作のどれか１つの結果から取り出される。しかし、好適実施例によれば、処理動作の結果は、前のデータ・ブロック上の所定の処理動作を完了するために必要な処理時間である。
【０００９】
複雑さの測度を用いてパフォーマンス制御パラメータに対し値を直接設定することができるが、前のデータ・ブロック上の処理動作の結果に依存して複雑さの測度を尺度化することが望ましい。とくに好適実施例における複雑さの測度は、前のデータ・ブロック上の処理動作を完了するために要する処理時間の通りに尺度化される。これにより、前のデータ・ブロック上の所定の処理タスクを実行するために要する実際の時間の信頼できる推定値が与えられ、この推定値を用いて、前と現在のデータ・ブロックに対する同様な複雑さの測度を実行するために要する可能性の高い時間に対する予測を取り出すことができる。この尺度化は、要求される画像フレーム・レートのような前と現在のデータ・ブロック間に必要なパフォーマンス・レベルに対しあらゆる変化を考慮することができる。前のブロックの処理時間を使用して複雑さの測度を尺度化するためにすることは、データ処理装置の一般的な条件を考慮して、パフォーマンス設定パラメータの予測を微調整することが可能になる。
【００１０】
入力データストリームは、数値データやテキストを使用したデータなど、あらゆる型式のデータを含むことができるが、好適実施例は、少なくとも或る割合のデータ・ブロックが画像データを含む入力データストリーム上で動作する。特に少なくとも１つのデータ・ブロックは、画像フレームまたは画像フィールドの代表である。本発明は、たとえば、どこかでシーンの変化が発生したとしても、あるいは一時的系列内の１つのフレームと次のフレームとの間に急激な動きが存在する場合のように、画像系列の複雑さの突然変化が画像フレーム間に存在する場合、パフォーマンス設定パラメータを正確に予測することに対して特に有利である。
【００１１】
たとえば、データ・ブロックに含まれるデータの量またはデータの型式のように、少なくとも１つのデータ・ブロックの多数の異なる特性から複雑さの測度を取り出すことができることは理解されるであろう。しかし、好適実施例における複雑さの測度は、画像フィールドまたは画像フレームに関連する画像レンダリング・ディスプレイ・リストの１つまたは複数の特徴から取り出される。このようなディスプレイ・リストは、グラフィックス描画コマンドの実行を円滑にし、さらに画像フレームのレンダリングに関連する処理作業を示す情報であるとともに、画像フレームに関連する情報を含むために使用されるのが普通である。この情報は、パフォーマンス設定パラメータを適用可能な計算機を集中的に使用する画像レンダリング動作（ｃｏｍｐｕｔａｔｉｏｎａｌｌｙ  ｉｎｔｅｎｓｉｖｅ  ｉｍａｇｅ  ｒｅｎｄｅｒｉｎｇ  ｏｐｅｒａｔｉｏｎｓ）が開始される前は容易にアクセス可能である。
【００１２】
画像レンダリング・ディスプレイ・リストの多数の異なる特徴を使用し、たとえば、動作可能な画像コマンド（アンチエリアシング、３本線（ｔｒｉｌｉｎｅａｒ）など）の数、またはプロットすべき頂点（ｖｅｒｔｉｃｅｓ）の数のような複雑さの測度を取り出すことができることは理解されるであろう。しかし、好適実施例における複雑さの測度は、画像フィールド／フレームのディスプレイ・リストの中の構成画像要素（ｃｏｎｓｔｉｔｕｅｎｔ  ｉｍａｇｅ  ｅｌｅｍｅｎｔｓ）の数から取り出される。この画像要素数の計算は、計算が簡単なパラメータであるが、フィールド／フレームのレンダリングに関連する処理作業の信頼できる推定値を提供する。
【００１３】
さらなる好適実施例における複雑さの測度は、画像品質に関連する世界的な特徴（ｇｌｏｂａｌ  ｆｅａｔｕｒｅｓ）である他の特徴に依存して取り出される。特にこれらの世界的特徴は、画面解像度、フィールド／フレームとして可能になっている特定の型式の画像コマンド、さらに構成画像要素に関連するテクスチャ・フォーマットのうちの１つ以上である。
【００１４】
複雑さの測度が取り出される構成画像要素は、２次元の画像要素でよいが、好適実施例における構成画像要素は、たとえば、点、線、３角形、３角形の細片（ｔｒｉａｎｇｌｅ−ｓｔｒｉｐｓ）、３角形の扇（ｔｒｉａｎｇｌｅ−ｆａｎｓ）およびスプライト（ｓｐｒｉｔｅｓ）のうちの１つ以上のような、３次元グラフィックス画像要素（つまり図形基本（ｇｒａｐｈｉｃｓ  ｐｒｉｍｉｔｉｖｅｓ））であることは理解されるであろう。
【００１５】
パフォーマンス制御パラメータは、ＣＰＵのプロセッサ、コプロセッサまたは他処理装置の周辺装置に関連するプロセッサの周波数および電圧の少なくとも１つでよいことは理解されるであろう。しかし、好適実施例におけるパフォーマンス制御パラメータは、グラフィックス・コプロセッサ（ｇｒａｐｈｉｃｓ  ｃｏｐｒｏｃｅｓｓｏｒ）のプロセッサ周波数とプロセッサ電圧の少なくとも１つである。
【００１６】
複雑さの測度が取り出されるディスプレイ・リストは、即時モード（ｉｍｍｅｄｉａｔｅ  ｍｏｄｅ）レンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストであるが、好適実施例におけるディスプレイ・リストは、遅れ（ｄｅｆｅｒｒｅｄ）レンダリング・グラフィックス・プロセッサに関連する。遅れレンダリング・グラフィックス・プロセッサは、画像処理動作の標準系列中に複雑さの測度を取り出すために必要な型式のディスプレイ・リストを発生させるのが普通であるから、パフォーマンス制御パラメータの適切な値を設定するためにディスプレイ・リストを明確に発生させる要求条件が無くても、この情報を容易に利用することができる。
【００１７】
取り出された複雑さの測度のほかに、いくつかの異なる要因（たとえば、予測された処理時間など）のどれかに依存して、パフォーマンス制御パラメータを設定することは理解されるであろう。好適実施例におけるパフォーマンス制御パラメータは、複雑さの測度の値に基づいて所定の画像フィールド／フレームに対して要求されるメモリアクセス回数の推定値に依存して設定される。メモリアクセスの数は、所望のパフォーマンス目標を満たすために設定すべき処理速度の間接的測度である。
【００１８】
複雑さの測度は、いくつかの各種データ・ブロックのパラメータのどれか１つであってもよいが、１つの好適実施例におけるパフォーマンス制御パラメータは、画像フィールド／フレームを含む入力データストリームで実行されるデータ処理動作に関連しており、複雑さの測度は、ＭＰＥＧで符号化された画像フィールド／フレームに関連するモーション・ベクトル（ｍｏｔｉｏｎ  ｖｅｃｔｏｒ）の数に対応している。
【００１９】
第２の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定する計算機プログラムを担当する計算機プログラム製品を提供しており、前記計算機プログラムは、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理コードと、
前記初期処理ステージの少なくとも１つの結果から前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出しコードと、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定コードと、
前記パフォーマンス制御パラメータの前記予測値にしたがって、前記少なくとも１つのデータ・ブロック上で前記少なくとも１つのさらなる処理ステージを実行するように動作可能なさらなる処理コードと、
を含む。
【００２０】
第３の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも１つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するように動作可能なデータ処理装置を提供しており、前記データ処理装置は、
前記少なくとも１つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理論理と、
前記初期処理ステージの少なくとも１つの結果から前記少なくとも１つのデータ・ブロック上で前記処理動作の少なくとも１つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出し論理と、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定論理と、
前記パフォーマンス制御パラメータの前記予測値にしたがって、前記少なくとも１つのデータ・ブロック上で前記少なくとも１つのさらなる処理ステージを実行するように動作可能なさらなる処理論理と、
を含む。
【００２１】
この発明の上記およびその他目的、特徴さらに利点は、添付の図面と関連させ読まれるべき実例を示す実施例に関する以下の説明から明らかになるであろう。
【００２２】
図１は、３次元図形をレンダリングする図形処理装置を模式的に示している。この装置は、中央処理装置（ＣＰＵ）１００、グラフィックス・アクセラレータ１１０、第１のメモリモジュール１２０とオプションとしての第２のメモリモジュール１２２、知的エネルギ管理（ＩＥＭ）クロック１３０および電源ユニット１４０を含む。
【００２３】
ＣＰＵ  １００は３次元図形処理動作を制御する。画像は、図形基本またはポリゴンとして知られている構成画像要素から構築され、２次元から３次元へのテクスチャ・マッピング処理が実行されると３次元ジオメトリに対して視覚的詳細が付加される。図形基本のタイプの例は、点、線、（頂点を共有する複数の線を含む）ラインストリップ、３角形、（側部を共有する複数の３角形を含む）３角形ストリップ、（複数の３角形を含み、すべての３角形が共通の頂点を共有する）３角形ファンおよび（対角線の対向する隅の頂点によって定義される独立の４角形）スプライトである。
【００２４】
ＣＰＵは、グラフィックス・アクセラレータと各種オペレーティングシステム・プラットフォームとの相互運用（ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ）を可能にするアプリケーション・プログラム・インタフェース（ＡＰＩ）と、グラフィックス・コプロセッサとを含むグラフィックス・アクセラレータ１１０に或る種の画像処理タスクを一任する。とくにグラフィックス・アクセラレータは、画像レンダリングを担当するとともに、付属するディスプレイ画面に画像を送ることを仲介し、さらにユーザの入力に応答してディスプレイ画面上のこれらの画像をリフレッシュすることを担当する。画像レンダリングは、高レベル・オブジェクトをベースとした描写からグラフィック画像への変換を含む。ＡＰＩは、描画動作指示用または特殊効果発生用のコマンド・セットを指定する。ＡＰＩを通じて要求されるこれらのコマンドの例は、アルファ・ブレンディング（ａｌｐｈａ  ｂｌｅｎｄｉｎｇ）（つまり、透明効果）、(ピクセルの値を調整して、前景の線の色と背景の線と色との間の変化を円滑にする）アンチ・エイリアシング（ａｎｔｉ−ａｌｉａｓｉｎｇ）、図形基本に対するテクスチャ・マッピングおよびジオメトリの変形である。グラフィックス・アクセラレータ１１０は、直接メモリアクセスにより第１のメモリモジュール１２０にアクセスするが、第１のメモリモジュール１２０へのアクセスが頻繁であると、ＣＰＵ１００のパフォーマンスに有害な影響が生じるので、グラフィックス・アクセラレータによる使用のため第２のメモリモジュール１２２がオプションとして提供されている。
【００２５】
画像レンダリングには２つの明確なタイプが存在する。つまり、即時（ｉｍｍｅｄｉａｔｅ）モードと遅れ（ｄｅｆｅｒｒｅｄ）モードである。即時モード・レンダラは、シーンの中のすべての図形基本を処理し、シェーディングとテクスチャを適用してピクセルごとに色情報を決定する。深度値（Ｚ値）は、各ピクセルに関連しており、深度と色情報は処理用パイプラインに送られる。オブジェクトは、パイプから受信される順序で処理される。たとえば、各ピクセルは、３２ビットのカラー／透明情報と、２４ビットの深度情報を持っている。シーンが描写されると、ピクセルごとに深度と色情報が計算される。即時モード・レンダリングにおける（Ｚバッファに格納された）Ｚ値は、グラフィックス・コプロセッサが画像のレンダリングを開始する場合に使用されるだけであり、その時点ではコプロセッサは１ピクセルが他のピクセルにオーバラップしているか否かを決定する。オブジェクトは、パイプラインから受信される順番で処理されるのであるから、最終的には他のオブジェクトによって隠されるオブジェクトを描画することによって処理用資源が浪費される。この処理は、オーバ・ドロー（ｏｖｅｒｄｒａｗ）として公知であり、メモリの帯域幅を非常に浪費する。遅れレンダリングはオーバ・ドローを回避している。本装置のグラフィックス・アクセラレータ１１０は遅れレンダリングを実現する。遅れレンダリングは、不必要にピクセルが描画されないことを保証する、つまり、そのピクセルと観察者との間の不透明な図形基本によってふさがれたピクセルは描画されない。
【００２６】
グラフィックス・アクセラレータ１１０を制御するだけでなく、ＣＰＵ１００はＩＥＭクロック１３０を制御する。ＩＥＭクロック１３０は、グラフィックス・アクセラレータ１１０にクロック信号を供給する。ＣＰＵは、いくつかの所定のクロック周波数の１つを選択し、その周波数で要求されたデータ処理作業に依存してグラフィックス・アクセラレータ１１０のグラフィックス・コプロセッサを駆動するように動作可能である。ＣＰＵ１００は、選択したグラフィックス・コプロセッサ周波数を確実にするため十分に高い電圧がグラフィックス・アクセラレータ１１０の電圧領域に供給されるように電源ユニット１４０を制御する。
【００２７】
図２は、図１のグラフィックス・アクセラレータ１１０の内部アーキテクチャを模式的に示している。グラフィックス・アクセラレータは、タイル・アクセラレータ２１０、隠面消去（ｈｉｄｄｅｎ  ｓｕｒｆａｃｅ  ｒｅｍｏｖａｌ：ＨＳＲ）エンジン２２０、テクスチャ・シェーディング・ユニット２３０、テクスチャ・キャッシュ２４０、ピクセル・ブレンダ２５０、ＡＭＢＡ（登録商標）バス・インタフェース２６０、イベント・マネージャ２７０、アービタ２８０およびディスプレイ・リスト・パーサ２９０を含む。本装置の遅れレンダリング処理は、タイルとして公知の小さな断片に画像を分割して、各タイルを順番に処理することを含むタイルをベースとしたレンダリング処理である。タイル・アクセラレータ２１０は、各画像フレームの構成タイルに関連する計算を実行する。この装置に使用される特定の画像要素は３角形である。全画像フレームの３角形のデータ（ｔｒｉａｎｇｌｅ  ｄａｔａ：以下、３角形データと記す）は、アービタ２８０を介してタイル・アクセラレータにアクセス可能な「ディスプレイ・リスト」に含まれる。
【００２８】
ディスプレイ・リストは、ディスプレイ・リストをコールすることによって繰り返して使用することができる１グループの画像描画コマンドである。ディスプレイ・リストを生成する場合、これら描画コマンドと描画コマンドに関連する変数の値を格納するためにメモリが割り当てられる。ディスプレイ・リストの使用は、一般にその中に含まれるコマンドをより速く実行することになる。しかし、非常に多数のコマンドを含むディスプレイ・リストは、必要なメモリ転送動作に起因するパフォーマンスに不利な条件（ｐｅｒｆｏｒｍａｎｃｅ  ｐｅｎａｌｔｙ）を招来する。本装置におけるグラフィックス・アクセラレータ１１０のソフトウエア・ドライバは、画像処理用ハードウエアの中のシーンをレンダリングすることを開始する前に、そのシーンのディスプレイ・リストを生成する。
【００２９】
タイル・アクセラレータ２１０は（前景のオブジェクトによって隠された３角形を含む）３角形データを蓄えておき（ｂｉｎｓ）、所定の各タイルの中に少なくとも部分的に配置されるすべての３角形を決定する。各タイルには、そのタイルに関連する３角形用のポインタを格納するタイル・バッファが付属している。タイル・アクセラレータはイベント・マネージャ２７０によって制御され、イベント・マネージャ２７０は、つぎにＡＭＢＡバス・インタフェース２６０に接続される。チップ上の（ｏｎ−ｃｈｉｐ）ＡＭＢＡバス・インタフェース２６０は、ＣＰＵ１００との交信を可能にする。ＨＳＲエンジン２２０は、隠面除去を実行する。ＨＳＲは、３角形データを分析することと、３角形ごとに深度データ（Ｚ値）を使用し、どの３角形がその画像の中の各ピクセルの位置で最も前の位置にあるかを決定することを含む。ＨＳＲエンジン２２０は、アービタ２８０を介して深度データを含むＺバッファからの読み出しとＺバッファへの書き込みをすることができる。Ｚバッファは、所定のタイルの深度データを格納するのであって、シーン全体の深度データを格納するのではないことに注意されたい。ＨＳＲエンジン２２０の出力は、入力としてテクスチャ・シェーディング・ユニット２３０に供給される。したがって、隠面が除去された後にのみ、残りのピクセルにテクスチャとシェードがつけられる。テクスチャ・シェーディング・ユニット２３０は、テクスチャ・キャッシュ２４０とアービタ２８０を介してメモリ１２０、１２２からのテクスチャ・データにアクセスする。テクスチャ・シェーディング・ユニット２３０は、ディスプレイ・リスト・パーサ２９０を介してディスプレイ・リストにアクセスする。隠面除去の後に続いてテクスチャ・シェーディングを実行することは、メモリからテクスチャ・データを検索するときに必要な帯域幅を減少させる。ピクセル・ブレンダ２５０は、テクスチャ・シェーディング・ユニット２３０とインタフェースで接続し、アルファ・ブレンディングのような処理タスクを実行する。
【００３０】
図３は、３次元図形処理動作の適切なプロセッサ速度を設定するときに実行される一連のステップを模式的に示す流れ図である。処理はステージ３１０で始まり、このときＣＰＵは、ユーザによって感じ取られる図形処理のパフォーマンスがプロセッサ周波数の尺度化によって悪影響を受けないように、図形処理用に必要なフレーム更新速度を選択する。この場合、（平均して各フレームは３０ミリ秒以内でレンダリングされなければならないので）１秒間あたり３０フレームの目標フレーム・レートが選択される。次にステージ３２０で処理は、画像系列の中のＮ個の画像フレームごとに実行されるループに入る。ステージ３３０でＣＰＵは、画像フレームのディスプレイ・リストを生成して、それをメモリ１２０、１２２の中に格納する。ディスプレイ・リストにはそのシーンの中の３角形の総数に関する情報が含まれるが、プレレンダリング・ステージにおけるディスプレイ・リストは、各３角形のサイズ、または関連するフレームの推定値を高信頼度にするオーバドロー因子（ｏｖｅｒｄｒａｗ  ｆａｃｔｏｒ）を表示しない。画面解像度のようなグローバル「スイッチ」や品質因子とアンチエリアシングのような図形の特徴、およびテクスチャ・フィルタリング・モード（たとえば、２本線（ｂｉｌｉｎｅａｒ）、３本線（ｔｒｉｌｉｎｅａｒ）または異方性（ａｎｉｓｏｔｒｏｐｉｃ））は、ソフトウエア・ドライブによって理解される。
【００３１】
ステージ３４０で、ディスプレイ・リストの特徴に依存してフレームの複雑さの測度が計算される。この例における複雑さの測度は、そのフレームのディスプレイ・リストの中の３角形の数であるようにとられる。代替可能な装置における複雑さの測度については、画面解像度、フレームの中で使用されるテクスチャ・フォーマット、または動作可能な画像の特徴の少なくとも１つに依存して、計算してもよい。ディスプレイ・リストの中の３角形の数（つまり、複雑さの測度）から、フレームに必要な可能性の高いメモリアクセスの数を推定し、この推定値をグラフィックス・コプロセッサの速度の適切な値を設定するために使用することができる。さらなる代替可能装置においては、タイル処理（ｔｉｌｉｎｇ）が実行された後、ディスプレイ・リストから複雑さの測度を取り出すことができる。タイルの処理中、それぞれのタイルの中にあり、そのタイルの中に潜在的に見ることのできる３角形のすべてを含む３角形のリストがタイルごとに生成される。交差するタイルの対と３角形の対の総計は、３角形の数の計算に対する代替可能な複雑さの測度として使用することができる。このようにタイルの処理をしてから複雑さの測度を取り出すことは、非常に大きな３角形がある場合にディスプレイ・リストの中の３角形の総数を使用する方法よりもずっと正確である。非常に大きな３角形の場合、３角形の数の推定値は、低すぎる複雑さの測度を与える傾向がある。しかし、大きな３角形で交差されるタイルの数は多いから、タイルの処理後により正確な複雑さの測度が得られるであろう。この場合、タイル処理の後であるがレンダリングの前に、クロック周波数が（複雑さの測度に依存して）調整される。タイル処理とレンダリングは、おおざっぱに言ってほぼ同等のタスクであるから、この場合の調整されたクロック周波数は、処理動作のシーケンスのおよそ半分をすぎて、実現されるであろう。
【００３２】
次にステージ３５０で、複雑さの測度に依存してフレーム・レンダリング時間が推定される。この推定は、前のフレームに対応するディスプレイ・リストすべての３角形を描画するためにかかる時間をモニタし、前のディスプレイ・リストの中の３角形の数で除し、さらに現在のフレームのディスプレイ・リストの中の３角形の数にしたがって時間を尺度化することによって、実行される。代替方法として、前のｊ個のフレーム（たとえば、ｊ＝４または５）ごとに３角形を描画するためにかかる時間の加重平均を用いて、現在のフレームのレンダリング時間を推定してもよい。
【００３３】
次にステージ３６０で、現在設定されているプロセッサ速度と目標フレーム・レンダリング時間で推定されたフレーム・レンダリング時間とに依存して、目標プロセッサ周波数が計算される。推定されたフレーム・レンダリング時間が３０ミリ秒を超えていれば、目標レンダリング時間を達成することができる所定のレベルにプロセッサ速度を高めることは明らかである。しかし、現在のプロセッサ周波数で推定されたフレーム・レンダリング時間が３０ミリ秒より短ければ、依然として目標時間を現実的に達成できる所定の最低周波数レベルにプロセッサ周波数を低下させる。現在の装置における新しいプロセッサのクロック周波数は次の通り計算される。
【数１】
2005092863.tif 000003
ここでＦ’は新しいプロセッサ周波数であり、Ｆは前のプロセッサ周波数であり、Ｔ’は目標フレーム・レンダリング時間（たとえば、３０ミリ秒）、Ｔは前のフレームに対して測定されたレンダリング時間であり、Ｃ’は新しい複雑さの値であり、Ｃは前のフレームの複雑さの値である。新しいプロセッサ周波数Ｆ’に対応する適切な電圧Ｖ’は、ルックアップテーブルから選択されるが、Ｆ’をサポートできるように十分に高くされている。２つ以上の前のフレームが、新しいクロック周波数の計算に使用され、これらの前のフレームの相対的な寄与が適切に加重されていることに注意されたい。新しいプロセッサ・クロック周波数Ｆ’は、特定のデータ処理モードに適切な目標電力消費レベルに依存して計算される。
【００３４】
目標フレーム・レンダリング時間は、利用可能な最高プロセッサ周波数であっても達成できないことは理解されるであろう。さらに目標フレーム・レンダリング時間であっても利用可能なプロセッサ周波数で達成されえないとすれば、データプロセッサの現在の動作モードに適正な最高電力閾値以内では目標フレーム・レンダリング時間を達成することができない。いずれの場合でも、目標フレーム・レンダリング時間を満足させ、電力使用量の範囲内にあるようにしようとする場合、またはそれらのいずれかをしようとする場合、たとえば、アンチエリアシング、３線／異方性フィルタリングのようなグローバルな品質の特徴など、処理動作に関連する非本質的処理機能をシステムによって自動的に動作不能にすることができる。
【００３５】
ステージ３７０で、Ｆ’が所定の最低プロセッサ周波数Ｆｍｉｎより大きいかどうか決定される。Ｆ’がＦｍｉｎより大きければ、処理は直接ステージ３８０に進み、それ以外の場合、Ｆ’がＦｍｉｎを超えるようにＦを大きくした後、処理はステージ３８０に進む。Ｆｍｉｎ周波数閾値は、ディスプレイ・リストが少数の非常に大きな３角形を含む場合のシナリオを想定した予防手段である。３角形が非常に大きい場合、テクスチャ・マッピングを実行するためには大幅な処理作業が必要である。そうではあるが、予測された処理作業はサイズ情報は３角形のサイズに基づくのではなく、３角形の数に基づいている（何故ならば、サイズ情報はディスプレイ・リストから入手できないからである）。ステージ３８０で、知的エネルギ管理ソフトウエアは、ＩＥＭクロック１３０からのクロック信号と電源ユニット１４０によりグラフィックス・アクセラレータ１１０に対して供給される電圧を介して、グラフィックス・アクセラレータのプロセッサ周波数と電圧との値を所望の値に設定する。最後にステージ３９０で、画像フレームの処理の後続ステージ（つまり、ディスプレイ・リストの生成に続くステージ）が新たに計算されたプロセッサ周波数と電圧とで実行され、画像フレームがレンダリングされる。
【００３６】
ステップ３３０からステップ３９０は、画像系列の中のフレームごとに繰り返される。システムは、画像フレームごとに実際のレンダリング時間を監視して、それと予測されたレンダリング時間を比較する。実際のレンダリング時間と予測されたレンダリング時間の相違が閾値を超えていれば、たとえば、フレームがレンダリングに予測された時間の２倍を必要とするならば、前のフレームのレンダリング時間を測定する既知の手法に戻り、現在のフレームをレンダリングするのも同様な時間を要すると想定することによって、後続フレームの予測値をつくことができる。代替方法として、相違が大きい場合、クロック周波数を利用可能な最高周波数に自動的に設定してもよい。
【００３７】
図４は、いくつかのディスプレイ・リストのそれぞれに関連する予測された処理時間と、付属する画像フレームを処理するために選択された対応する処理時間を示している。この図は、３つの画像フレームの各フレームごとのディスプレイ・リストを示している。第１のディスプレイ・リストは、６個の３角形を描画する命令を含み、第２のディスプレイ・リストは、１２個の３角形を描画する命令を含み、第３のディスプレイ・リストは、２４個の３角形を描画する命令を含む。各リストの下に、要求されるフレーム・レートを達成するために必要とされる推定処理時間を表すバーが示されている。推定処理時間は、３角形の数に基づくフレームに対するメモリアクセスの推定数から決定される。したがって、同じ目標フレーム・レートに対し、第２のディスプレイ・リストの１２個の３角形の処理時間は、第１のディスプレイ・リストの６個の３角形の処理時間の２倍であり、第３のディスプレイ・リストの２４個の３角形の推定処理時間は、第１のディスプレイ・リストの４個の３角形の推定処理時間のほぼ４倍である。したがって、フレーム１に対して選択されたプロセッサ周波数がＦ１であれば、フレーム２の周波数は２＊Ｆ１、フレーム３の周波数は４＊Ｆ１である。この場合、例示するために、３角形の数と推定処理時間の間の簡単な線形関係が示されているが、この関係は非線形であるかもしれないことは理解されるであろう。
【００３８】
図１から図４に示す代表的な３次元グラフィックス装置では、現在のデータ・ブロック（画像フレーム）に対応する３角形の数が複雑さの測度として使用され、同じデータ・ブロック上で実行される後続処理動作に対して要求されるプロセッサ速度を予測している。本手法は、３次元画像というよりも２次元画像を処理するような他のデータ処理システムで代替的に使用される。１つの特定の代替装置はＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）標準符号化／復号化システムに関連している。
【００３９】
ＭＰＥＧは、画像内（フレーム間の冗長性）と画像間（フレーム間／最高部の冗長性）の冗長性を利用する圧縮の標準規格である。通常、ＭＰＥＧ画像ストリームは、他のフレームを参照せずに圧縮されるIフレーム、前のフレームに戻って参照することによって予測されるＰフレーム、さらに前のフレームと後続フレームの両者を参照することによって予測されるＢフレームを含む。動きの予測として公知の手法は、或るシーン内の場合のオブジェクトの動き、またはパン撮り（ｐａｎ  ｓｈｏｔｓ）の場合のＰフレームとＢフレームに対して達成可能な圧縮比を改善するために使用される。ＭＰＥＧ符号化処理中、各画像フィールド／フレームは離散的画像ブロックに分割され、各画像ブロック上で離散的コサイン変換（ＤＣＴ）が実行され、空間から周波数領域に情報を変換する。Ｐフレームの例の場合、圧縮されるＤＣＴブロックは、２つの画像フレームの中の２つの一致するブロックの間の差分である。２つの画像フレームの間をオブジェクトが動いたとすると、同じ２つのフレームの同じ空間領域の比較からではなく、２つの画像フレームの各種フレームからの差分フレームを発生させることによって、予測の質を改善することができる。ＭＰＥＧ符号器の動き予測モジュールは、第１のフレームの各ブロックをとり、ブロックごとに調べて、第２のフレーム（たとえば、前のフレーム）の中で最もよく一致するブロックを見つけ出す。オフセット位置から差分ブロックが発生すると、より高度に圧縮可能なＤＣＴブロックになる。圧縮されたＤＣＴブロックは、圧縮のために用いられた参考画像の部分を示す「モーション・ベクトル」と一緒に送られる。本手法によれば、フィールド／フレームの中のモーション・ベクトルの数はＭＰＥＧ復号器の複雑さの測度として用い、要求されるプロセッサ速度を推定して、要求される目標フレーム・レートを達成することができる。
【００４０】
上に説明した装置における複雑さの測度は、計算機ソフトウエアを用いて取り出され、代替可能な装置における複雑さの測度は、少なくとも一部ハードウエアから取り出すことができる。
【００４１】
添付の図面を参照しつつ本発明を解説する実施例を詳細に説明してきたが、本発明はこれらの明確な実施例に限定されるものではなく、特許請求の範囲で定義されるとおり、本発明の範囲と趣旨を逸脱することなく当業者により、この中で各種変更、修正を実行できることは理解されるべきである。
【図面の簡単な説明】
【００４２】
【図１】３次元図形をレンダリングする図形処理装置を模式的に示す図である。
【図２】図１のグラフィックス・アクセラレータの内部アーキテクチャを模式的に示す図である。
【図３】３次元図形処理動作の適切なプロセッサ速度を設定するとき実行される一連のステップを模式的に示す流れ図である。
【図４】いくつかのディスプレイ・リストの各リストに関連する予測された処理時間と画像フレームを処理するために選択された対応する処理速度とを模式的に示す図である。
【符号の説明】
【００４３】
１００  ＣＰＵ
１１０  グラフィック・アクセラレータ
１２０、１２２  メモリモジュール
１３０  ＩＥＭクロック
１４０  電源ユニット
２１０  タイル・アクセラレータ
２２０  ＨＳＲエンジン
２３０  テクスチャ・シェーディング・ユニット
２４０  テクスチャ・キャッシュ
２５０  ピクセル・ブレンダ
２６０  ＡＭＢＡバス・インタフェース
２７０  イベント・マネージャ
２８０  アービタ
２９０  ディスプレイ・リスト・パーサ
【図１】
2005092863.tif 000004
【図２】
2005092863.tif 000005
【図３】
2005092863.tif 000006
【図４】
2005092863.tif 000007