JP4418716B2 - データ処理システム - Google Patents

データ処理システム Download PDF

Info

Publication number
JP4418716B2
JP4418716B2 JP2004183150A JP2004183150A JP4418716B2 JP 4418716 B2 JP4418716 B2 JP 4418716B2 JP 2004183150 A JP2004183150 A JP 2004183150A JP 2004183150 A JP2004183150 A JP 2004183150A JP 4418716 B2 JP4418716 B2 JP 4418716B2
Authority
JP
Japan
Prior art keywords
data
image
processing
complexity
complexity measure
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
JP2004183150A
Other languages
English (en)
Other versions
JP2005092863A5 (ja
JP2005092863A (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 JP2005092863A publication Critical patent/JP2005092863A/ja
Publication of JP2005092863A5 publication Critical patent/JP2005092863A5/ja
Application granted granted Critical
Publication of JP4418716B2 publication Critical patent/JP4418716B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/127Prioritisation of hardware or computational resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Image Generation (AREA)
  • Power Sources (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、データ処理装置の分野に関し、より詳細には、この発明は、データ処理システムにおけるパフォーマンス制御パラメータの値の設定に関する。
最近のデータプロセッサのいくつかは、プログラムアプリケーションの要求条件に依存して、プロセッサが所定の時点でいくつかの異なるパフォーマンス・レベルの1つに設定されることを可能にする機能を提供している。このようなプロセッサは、プロセッサのクロック周波数と対応する動作電圧とを低下させて、エネルギ消費の2次的低下を潜在的にもたらすということを利用している。しかし、プロセッサのパフォーマンスの低下は、ユーザによって感知されるような悪影響を与えない場合にのみ許されることである。3次元画像処理システムのような画像処理システムにおけるグラフィックス・プロセッサは全速力で実行するのが普通であり、結果として処理中の画像フレームの複雑さにしたがってフレーム・レートが変わることになる。プロセッサの各種パフォーマンス・レベルを利用するためには、所望のフレーム・レートが維持されることを可能にする最低クロック・レベルを予測できることが必要である。
1つまたは複数の前に処理したデータ・ブロックで実際に実行されたデータ処理の量に関する情報を使用し、入力データストリームの現在のデータ・ブロックのデータ処理動作を実行するために必要なデータ処理量を予測することは公知である。所望されることは、予測機能が弱められて、将来のデータ・ブロックのために予測されたパフォーマンス・レベルに過度に影響を及ぼす所定のブロックのデータ処理作業量の突然の変化を回避すべきことである。このため、予測は、前の4つまたは5つの画像ファイル/フレームで実行されたデータ処理作業の加重平均に基づいて予測される可能性が大きい。このような既知の予測システムの問題点は、たとえば、シーン(scene)に変化が起こった時のように、画像系列のフレーム境界において複雑さの突然変化がある場合、予測されたプロセッサのレベルが、必要な時間の尺度(time scale)内で、その画像をレンダリングするために必要な処理作業を実行するために実際に必要なレベルから大幅に変動することである。したがって、後続のデータ・ブロックの処理動作を実行するために必要な処理作業において突然変化により応答しやすいプロセッサの動作周波数のような、パフォーマンスパラメータを制御するシステムに対するニーズが存在している。
本発明の第1の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータ(performance controlling parameter)の値を設定する方法を提供する。この方法は、
前記少なくとも1つのデータ・ブロック上で前記処理動作の初期処理ステージを実行するステップと、
前記初期処理ステージの少なくとも1つの結果から、前記少なくとも1つのデータ・ブロック上で前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度(complexity measure)を取り出すステップと、
前記複雑さの測度に依存して予測された値(以下、予測値)に対して前記パフォーマンス制御パラメータを設定するステップと、
前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも1つのデータ・ブロック上で前記少なくとも1つのさらなる処理ステージを実行するステップと、
を含む。
本発明は、複雑さの測度にしたがってパフォーマンス制御パラメータを設定することができるように、そのデータ・ブロック上で初期処理動作を実行することによって、データ・ブロックのパフォーマンス制御パラメータを設定し、データ・ブロック上でさらなるデータ処理動作を完了するために必要なデータ処理作業を設定するために使用される複雑さの測度を取り出すことができるシステムを提供する。これの利点は、入力データストリームの中の前のデータ・ブロックだけの特性ではなく、このデータ・ブロック自体の固有性(characteristic property)を使用してパフォーマンス制御パラメータを予測することである。したがって、本発明は、隣接データ・ブロック間の一時的相関に対する依存度が低くてもパラメータを正確に予測する。たとえば、シーンの変化が起こった時のような、一連の画像フレームの中でシーンが変化する境界におけるように、後続データ・ブロック間の特性の明白な変化が存在する場合にとくに有利である。何故ならば、パフォーマンス制御パラメータを適用すべき実際のデータ・ブロックの特性に基づいて、より正確な予測が考慮されているが、それでも後続するデータ・ブロックの処理に対するパフォーマンスの予測に影響を与えないからである。
たとえば、データ処理動作の中で呼び出される並列プロセッサの数や同時データ処理動作に専用の計算能力(computational power)に対する、問題の動作に専用であるべき計算能力の割合のように、パフォーマンス制御パラメータがいくつかの各種データ処理パラメータの1つであってもよいことは理解されるであろう。しかし、好適実施例におけるパフォーマンス制御パラメータは、データ処理装置のプロセッサ用周波数とプロセッサ用動作電圧の少なくとも1つである。これにより、複数の異なるプロセッサ・パフォーマンス・レベルを提供するシステム中で複数の可能な消費電力レベルの1つが選択される。とくに、パフォーマンス制御パラメータは、必要なパフォーマンス基準と、パフォーマンス・レベルが適用されるまったく同じデータ・ブロックの特性のとおりに選択されることを可能にする。
パフォーマンス制御パラメータが適用されるデータ・ブロックの特性に完全に依存して、複雑さの測度を取り出してもよいことは理解されるであろう。しかし、好適実施例における複雑さの測度は、1つまたは複数の前のデータ・ブロック上の処理動作の結果に依存して取り出される。
複雑さの測度は、たとえば、メモリに対する書き込みの数、または処理動作を完了するために必要なメモリ・アクセスの数のようないくつかの処理動作のどれか1つの結果から取り出される。しかし、好適実施例によれば、処理動作の結果は、前のデータ・ブロック上の所定の処理動作を完了するために必要な処理時間である。
複雑さの測度を用いてパフォーマンス制御パラメータに対し値を直接設定することができるが、前のデータ・ブロック上の処理動作の結果に依存して複雑さの測度を尺度化することが望ましい。とくに好適実施例における複雑さの測度は、前のデータ・ブロック上の処理動作を完了するために要する処理時間の通りに尺度化される。これにより、前のデータ・ブロック上の所定の処理タスクを実行するために要する実際の時間の信頼できる推定値が与えられ、この推定値を用いて、前と現在のデータ・ブロックに対する同様な複雑さの測度を実行するために要する可能性の高い時間に対する予測を取り出すことができる。この尺度化は、要求される画像フレーム・レートのような前と現在のデータ・ブロック間に必要なパフォーマンス・レベルに対しあらゆる変化を考慮することができる。前のブロックの処理時間を使用して複雑さの測度を尺度化するためにすることは、データ処理装置の一般的な条件を考慮して、パフォーマンス設定パラメータの予測を微調整することが可能になる。
入力データストリームは、数値データやテキストを使用したデータなど、あらゆる型式のデータを含むことができるが、好適実施例は、少なくとも或る割合のデータ・ブロックが画像データを含む入力データストリーム上で動作する。特に少なくとも1つのデータ・ブロックは、画像フレームまたは画像フィールドの代表である。本発明は、たとえば、どこかでシーンの変化が発生したとしても、あるいは一時的系列内の1つのフレームと次のフレームとの間に急激な動きが存在する場合のように、画像系列の複雑さの突然変化が画像フレーム間に存在する場合、パフォーマンス設定パラメータを正確に予測することに対して特に有利である。
たとえば、データ・ブロックに含まれるデータの量またはデータの型式のように、少なくとも1つのデータ・ブロックの多数の異なる特性から複雑さの測度を取り出すことができることは理解されるであろう。しかし、好適実施例における複雑さの測度は、画像フィールドまたは画像フレームに関連する画像レンダリング・ディスプレイ・リストの1つまたは複数の特徴から取り出される。このようなディスプレイ・リストは、グラフィックス描画コマンドの実行を円滑にし、さらに画像フレームのレンダリングに関連する処理作業を示す情報であるとともに、画像フレームに関連する情報を含むために使用されるのが普通である。この情報は、パフォーマンス設定パラメータを適用可能な計算機を集中的に使用する画像レンダリング動作(computationally intensive image rendering operations)が開始される前は容易にアクセス可能である。
画像レンダリング・ディスプレイ・リストの多数の異なる特徴を使用し、たとえば、動作可能な画像コマンド(アンチエリアシング、3本線(trilinear)など)の数、またはプロットすべき頂点(vertices)の数のような複雑さの測度を取り出すことができることは理解されるであろう。しかし、好適実施例における複雑さの測度は、画像フィールド/フレームのディスプレイ・リストの中の構成画像要素(constituent image elements)の数から取り出される。この画像要素数の計算は、計算が簡単なパラメータであるが、フィールド/フレームのレンダリングに関連する処理作業の信頼できる推定値を提供する。
さらなる好適実施例における複雑さの測度は、画像品質に関連する世界的な特徴(global features)である他の特徴に依存して取り出される。特にこれらの世界的特徴は、画面解像度、フィールド/フレームとして可能になっている特定の型式の画像コマンド、さらに構成画像要素に関連するテクスチャ・フォーマットのうちの1つ以上である。
複雑さの測度が取り出される構成画像要素は、2次元の画像要素でよいが、好適実施例における構成画像要素は、たとえば、点、線、3角形、3角形の細片(triangle−strips)、3角形の扇(triangle−fans)およびスプライト(sprites)のうちの1つ以上のような、3次元グラフィックス画像要素(つまり図形基本(graphics primitives))であることは理解されるであろう。
パフォーマンス制御パラメータは、CPUのプロセッサ、コプロセッサまたは他処理装置の周辺装置に関連するプロセッサの周波数および電圧の少なくとも1つでよいことは理解されるであろう。しかし、好適実施例におけるパフォーマンス制御パラメータは、グラフィックス・コプロセッサ(graphics coprocessor)のプロセッサ周波数とプロセッサ電圧の少なくとも1つである。
複雑さの測度が取り出されるディスプレイ・リストは、即時モード(immediate mode)レンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストであるが、好適実施例におけるディスプレイ・リストは、遅れ(deferred)レンダリング・グラフィックス・プロセッサに関連する。遅れレンダリング・グラフィックス・プロセッサは、画像処理動作の標準系列中に複雑さの測度を取り出すために必要な型式のディスプレイ・リストを発生させるのが普通であるから、パフォーマンス制御パラメータの適切な値を設定するためにディスプレイ・リストを明確に発生させる要求条件が無くても、この情報を容易に利用することができる。
取り出された複雑さの測度のほかに、いくつかの異なる要因(たとえば、予測された処理時間など)のどれかに依存して、パフォーマンス制御パラメータを設定することは理解されるであろう。好適実施例におけるパフォーマンス制御パラメータは、複雑さの測度の値に基づいて所定の画像フィールド/フレームに対して要求されるメモリアクセス回数の推定値に依存して設定される。メモリアクセスの数は、所望のパフォーマンス目標を満たすために設定すべき処理速度の間接的測度である。
複雑さの測度は、いくつかの各種データ・ブロックのパラメータのどれか1つであってもよいが、1つの好適実施例におけるパフォーマンス制御パラメータは、画像フィールド/フレームを含む入力データストリームで実行されるデータ処理動作に関連しており、複雑さの測度は、MPEGで符号化された画像フィールド/フレームに関連するモーション・ベクトル(motion vector)の数に対応している。
第2の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定する計算機プログラムを担当する計算機プログラム製品を提供しており、前記計算機プログラムは、
前記少なくとも1つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理コードと、
前記初期処理ステージの少なくとも1つの結果から前記少なくとも1つのデータ・ブロック上で前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出しコードと、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定コードと、
前記パフォーマンス制御パラメータの前記予測値にしたがって、前記少なくとも1つのデータ・ブロック上で前記少なくとも1つのさらなる処理ステージを実行するように動作可能なさらなる処理コードと、
を含む。
第3の態様によれば、本発明は、複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック上で処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するように動作可能なデータ処理装置を提供しており、前記データ処理装置は、
前記少なくとも1つのデータ・ブロック上で前記処理動作の初期処理ステージに対して動作可能な初期処理論理と、
前記初期処理ステージの少なくとも1つの結果から前記少なくとも1つのデータ・ブロック上で前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出し論理と、
前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定論理と、
前記パフォーマンス制御パラメータの前記予測値にしたがって、前記少なくとも1つのデータ・ブロック上で前記少なくとも1つのさらなる処理ステージを実行するように動作可能なさらなる処理論理と、
を含む。
この発明の上記およびその他目的、特徴さらに利点は、添付の図面と関連させ読まれるべき実例を示す実施例に関する以下の説明から明らかになるであろう。
図1は、3次元図形をレンダリングする図形処理装置を模式的に示している。この装置は、中央処理装置(CPU)100、グラフィックス・アクセラレータ110、第1のメモリモジュール120とオプションとしての第2のメモリモジュール122、知的エネルギ管理(IEM)クロック130および電源ユニット140を含む。
CPU 100は3次元図形処理動作を制御する。画像は、図形基本またはポリゴンとして知られている構成画像要素から構築され、2次元から3次元へのテクスチャ・マッピング処理が実行されると3次元ジオメトリに対して視覚的詳細が付加される。図形基本のタイプの例は、点、線、(頂点を共有する複数の線を含む)ラインストリップ、3角形、(側部を共有する複数の3角形を含む)3角形ストリップ、(複数の3角形を含み、すべての3角形が共通の頂点を共有する)3角形ファンおよび(対角線の対向する隅の頂点によって定義される独立の4角形)スプライトである。
CPUは、グラフィックス・アクセラレータと各種オペレーティングシステム・プラットフォームとの相互運用(interoperability)を可能にするアプリケーション・プログラム・インタフェース(API)と、グラフィックス・コプロセッサとを含むグラフィックス・アクセラレータ110に或る種の画像処理タスクを一任する。とくにグラフィックス・アクセラレータは、画像レンダリングを担当するとともに、付属するディスプレイ画面に画像を送ることを仲介し、さらにユーザの入力に応答してディスプレイ画面上のこれらの画像をリフレッシュすることを担当する。画像レンダリングは、高レベル・オブジェクトをベースとした描写からグラフィック画像への変換を含む。APIは、描画動作指示用または特殊効果発生用のコマンド・セットを指定する。APIを通じて要求されるこれらのコマンドの例は、アルファ・ブレンディング(alpha blending)(つまり、透明効果)、(ピクセルの値を調整して、前景の線の色と背景の線と色との間の変化を円滑にする)アンチ・エイリアシング(anti−aliasing)、図形基本に対するテクスチャ・マッピングおよびジオメトリの変形である。グラフィックス・アクセラレータ110は、直接メモリアクセスにより第1のメモリモジュール120にアクセスするが、第1のメモリモジュール120へのアクセスが頻繁であると、CPU100のパフォーマンスに有害な影響が生じるので、グラフィックス・アクセラレータによる使用のため第2のメモリモジュール122がオプションとして提供されている。
画像レンダリングには2つの明確なタイプが存在する。つまり、即時(immediate)モードと遅れ(deferred)モードである。即時モード・レンダラは、シーンの中のすべての図形基本を処理し、シェーディングとテクスチャを適用してピクセルごとに色情報を決定する。深度値(Z値)は、各ピクセルに関連しており、深度と色情報は処理用パイプラインに送られる。オブジェクトは、パイプから受信される順序で処理される。たとえば、各ピクセルは、32ビットのカラー/透明情報と、24ビットの深度情報を持っている。シーンが描写されると、ピクセルごとに深度と色情報が計算される。即時モード・レンダリングにおける(Zバッファに格納された)Z値は、グラフィックス・コプロセッサが画像のレンダリングを開始する場合に使用されるだけであり、その時点ではコプロセッサは1ピクセルが他のピクセルにオーバラップしているか否かを決定する。オブジェクトは、パイプラインから受信される順番で処理されるのであるから、最終的には他のオブジェクトによって隠されるオブジェクトを描画することによって処理用資源が浪費される。この処理は、オーバ・ドロー(overdraw)として公知であり、メモリの帯域幅を非常に浪費する。遅れレンダリングはオーバ・ドローを回避している。本装置のグラフィックス・アクセラレータ110は遅れレンダリングを実現する。遅れレンダリングは、不必要にピクセルが描画されないことを保証する、つまり、そのピクセルと観察者との間の不透明な図形基本によってふさがれたピクセルは描画されない。
グラフィックス・アクセラレータ110を制御するだけでなく、CPU100はIEMクロック130を制御する。IEMクロック130は、グラフィックス・アクセラレータ110にクロック信号を供給する。CPUは、いくつかの所定のクロック周波数の1つを選択し、その周波数で要求されたデータ処理作業に依存してグラフィックス・アクセラレータ110のグラフィックス・コプロセッサを駆動するように動作可能である。CPU100は、選択したグラフィックス・コプロセッサ周波数を確実にするため十分に高い電圧がグラフィックス・アクセラレータ110の電圧領域に供給されるように電源ユニット140を制御する。
図2は、図1のグラフィックス・アクセラレータ110の内部アーキテクチャを模式的に示している。グラフィックス・アクセラレータは、タイル・アクセラレータ210、隠面消去(hidden surface removal:HSR)エンジン220、テクスチャ・シェーディング・ユニット230、テクスチャ・キャッシュ240、ピクセル・ブレンダ250、AMBA(登録商標)バス・インタフェース260、イベント・マネージャ270、アービタ280およびディスプレイ・リスト・パーサ290を含む。本装置の遅れレンダリング処理は、タイルとして公知の小さな断片に画像を分割して、各タイルを順番に処理することを含むタイルをベースとしたレンダリング処理である。タイル・アクセラレータ210は、各画像フレームの構成タイルに関連する計算を実行する。この装置に使用される特定の画像要素は3角形である。全画像フレームの3角形のデータ(triangle data:以下、3角形データと記す)は、アービタ280を介してタイル・アクセラレータにアクセス可能な「ディスプレイ・リスト」に含まれる。
ディスプレイ・リストは、ディスプレイ・リストをコールすることによって繰り返して使用することができる1グループの画像描画コマンドである。ディスプレイ・リストを生成する場合、これら描画コマンドと描画コマンドに関連する変数の値を格納するためにメモリが割り当てられる。ディスプレイ・リストの使用は、一般にその中に含まれるコマンドをより速く実行することになる。しかし、非常に多数のコマンドを含むディスプレイ・リストは、必要なメモリ転送動作に起因するパフォーマンスに不利な条件(performance penalty)を招来する。本装置におけるグラフィックス・アクセラレータ110のソフトウエア・ドライバは、画像処理用ハードウエアの中のシーンをレンダリングすることを開始する前に、そのシーンのディスプレイ・リストを生成する。
タイル・アクセラレータ210は(前景のオブジェクトによって隠された3角形を含む)3角形データを蓄えておき(bins)、所定の各タイルの中に少なくとも部分的に配置されるすべての3角形を決定する。各タイルには、そのタイルに関連する3角形用のポインタを格納するタイル・バッファが付属している。タイル・アクセラレータはイベント・マネージャ270によって制御され、イベント・マネージャ270は、つぎにAMBAバス・インタフェース260に接続される。チップ上の(on−chip)AMBAバス・インタフェース260は、CPU100との交信を可能にする。HSRエンジン220は、隠面除去を実行する。HSRは、3角形データを分析することと、3角形ごとに深度データ(Z値)を使用し、どの3角形がその画像の中の各ピクセルの位置で最も前の位置にあるかを決定することを含む。HSRエンジン220は、アービタ280を介して深度データを含むZバッファからの読み出しとZバッファへの書き込みをすることができる。Zバッファは、所定のタイルの深度データを格納するのであって、シーン全体の深度データを格納するのではないことに注意されたい。HSRエンジン220の出力は、入力としてテクスチャ・シェーディング・ユニット230に供給される。したがって、隠面が除去された後にのみ、残りのピクセルにテクスチャとシェードがつけられる。テクスチャ・シェーディング・ユニット230は、テクスチャ・キャッシュ240とアービタ280を介してメモリ120、122からのテクスチャ・データにアクセスする。テクスチャ・シェーディング・ユニット230は、ディスプレイ・リスト・パーサ290を介してディスプレイ・リストにアクセスする。隠面除去の後に続いてテクスチャ・シェーディングを実行することは、メモリからテクスチャ・データを検索するときに必要な帯域幅を減少させる。ピクセル・ブレンダ250は、テクスチャ・シェーディング・ユニット230とインタフェースで接続し、アルファ・ブレンディングのような処理タスクを実行する。
図3は、3次元図形処理動作の適切なプロセッサ速度を設定するときに実行される一連のステップを模式的に示す流れ図である。処理はステージ310で始まり、このときCPUは、ユーザによって感じ取られる図形処理のパフォーマンスがプロセッサ周波数の尺度化によって悪影響を受けないように、図形処理用に必要なフレーム更新速度を選択する。この場合、(平均して各フレームは30ミリ秒以内でレンダリングされなければならないので)1秒間あたり30フレームの目標フレーム・レートが選択される。次にステージ320で処理は、画像系列の中のN個の画像フレームごとに実行されるループに入る。ステージ330でCPUは、画像フレームのディスプレイ・リストを生成して、それをメモリ120、122の中に格納する。ディスプレイ・リストにはそのシーンの中の3角形の総数に関する情報が含まれるが、プレレンダリング・ステージにおけるディスプレイ・リストは、各3角形のサイズ、または関連するフレームの推定値を高信頼度にするオーバドロー因子(overdraw factor)を表示しない。画面解像度のようなグローバル「スイッチ」や品質因子とアンチエリアシングのような図形の特徴、およびテクスチャ・フィルタリング・モード(たとえば、2本線(bilinear)、3本線(trilinear)または異方性(anisotropic))は、ソフトウエア・ドライブによって理解される。
ステージ340で、ディスプレイ・リストの特徴に依存してフレームの複雑さの測度が計算される。この例における複雑さの測度は、そのフレームのディスプレイ・リストの中の3角形の数であるようにとられる。代替可能な装置における複雑さの測度については、画面解像度、フレームの中で使用されるテクスチャ・フォーマット、または動作可能な画像の特徴の少なくとも1つに依存して、計算してもよい。ディスプレイ・リストの中の3角形の数(つまり、複雑さの測度)から、フレームに必要な可能性の高いメモリアクセスの数を推定し、この推定値をグラフィックス・コプロセッサの速度の適切な値を設定するために使用することができる。さらなる代替可能装置においては、タイル処理(tiling)が実行された後、ディスプレイ・リストから複雑さの測度を取り出すことができる。タイルの処理中、それぞれのタイルの中にあり、そのタイルの中に潜在的に見ることのできる3角形のすべてを含む3角形のリストがタイルごとに生成される。交差するタイルの対と3角形の対の総計は、3角形の数の計算に対する代替可能な複雑さの測度として使用することができる。このようにタイルの処理をしてから複雑さの測度を取り出すことは、非常に大きな3角形がある場合にディスプレイ・リストの中の3角形の総数を使用する方法よりもずっと正確である。非常に大きな3角形の場合、3角形の数の推定値は、低すぎる複雑さの測度を与える傾向がある。しかし、大きな3角形で交差されるタイルの数は多いから、タイルの処理後により正確な複雑さの測度が得られるであろう。この場合、タイル処理の後であるがレンダリングの前に、クロック周波数が(複雑さの測度に依存して)調整される。タイル処理とレンダリングは、おおざっぱに言ってほぼ同等のタスクであるから、この場合の調整されたクロック周波数は、処理動作のシーケンスのおよそ半分をすぎて、実現されるであろう。
次にステージ350で、複雑さの測度に依存してフレーム・レンダリング時間が推定される。この推定は、前のフレームに対応するディスプレイ・リストすべての3角形を描画するためにかかる時間をモニタし、前のディスプレイ・リストの中の3角形の数で除し、さらに現在のフレームのディスプレイ・リストの中の3角形の数にしたがって時間を尺度化することによって、実行される。代替方法として、前のj個のフレーム(たとえば、j=4または5)ごとに3角形を描画するためにかかる時間の加重平均を用いて、現在のフレームのレンダリング時間を推定してもよい。
次にステージ360で、現在設定されているプロセッサ速度と目標フレーム・レンダリング時間で推定されたフレーム・レンダリング時間とに依存して、目標プロセッサ周波数が計算される。推定されたフレーム・レンダリング時間が30ミリ秒を超えていれば、目標レンダリング時間を達成することができる所定のレベルにプロセッサ速度を高めることは明らかである。しかし、現在のプロセッサ周波数で推定されたフレーム・レンダリング時間が30ミリ秒より短ければ、依然として目標時間を現実的に達成できる所定の最低周波数レベルにプロセッサ周波数を低下させる。現在の装置における新しいプロセッサのクロック周波数は次の通り計算される。
Figure 0004418716

ここでF’は新しいプロセッサ周波数であり、Fは前のプロセッサ周波数であり、T’は目標フレーム・レンダリング時間(たとえば、30ミリ秒)、Tは前のフレームに対して測定されたレンダリング時間であり、C’は新しい複雑さの値であり、Cは前のフレームの複雑さの値である。新しいプロセッサ周波数F’に対応する適切な電圧V’は、ルックアップテーブルから選択されるが、F’をサポートできるように十分に高くされている。2つ以上の前のフレームが、新しいクロック周波数の計算に使用され、これらの前のフレームの相対的な寄与が適切に加重されていることに注意されたい。新しいプロセッサ・クロック周波数F’は、特定のデータ処理モードに適切な目標電力消費レベルに依存して計算される。
目標フレーム・レンダリング時間は、利用可能な最高プロセッサ周波数であっても達成できないことは理解されるであろう。さらに目標フレーム・レンダリング時間であっても利用可能なプロセッサ周波数で達成されえないとすれば、データプロセッサの現在の動作モードに適正な最高電力閾値以内では目標フレーム・レンダリング時間を達成することができない。いずれの場合でも、目標フレーム・レンダリング時間を満足させ、電力使用量の範囲内にあるようにしようとする場合、またはそれらのいずれかをしようとする場合、たとえば、アンチエリアシング、3線/異方性フィルタリングのようなグローバルな品質の特徴など、処理動作に関連する非本質的処理機能をシステムによって自動的に動作不能にすることができる。
ステージ370で、F’が所定の最低プロセッサ周波数Fminより大きいかどうか決定される。F’がFminより大きければ、処理は直接ステージ380に進み、それ以外の場合、F’がFminを超えるようにFを大きくした後、処理はステージ380に進む。Fmin周波数閾値は、ディスプレイ・リストが少数の非常に大きな3角形を含む場合のシナリオを想定した予防手段である。3角形が非常に大きい場合、テクスチャ・マッピングを実行するためには大幅な処理作業が必要である。そうではあるが、予測された処理作業はサイズ情報は3角形のサイズに基づくのではなく、3角形の数に基づいている(何故ならば、サイズ情報はディスプレイ・リストから入手できないからである)。ステージ380で、知的エネルギ管理ソフトウエアは、IEMクロック130からのクロック信号と電源ユニット140によりグラフィックス・アクセラレータ110に対して供給される電圧を介して、グラフィックス・アクセラレータのプロセッサ周波数と電圧との値を所望の値に設定する。最後にステージ390で、画像フレームの処理の後続ステージ(つまり、ディスプレイ・リストの生成に続くステージ)が新たに計算されたプロセッサ周波数と電圧とで実行され、画像フレームがレンダリングされる。
ステップ330からステップ390は、画像系列の中のフレームごとに繰り返される。システムは、画像フレームごとに実際のレンダリング時間を監視して、それと予測されたレンダリング時間を比較する。実際のレンダリング時間と予測されたレンダリング時間の相違が閾値を超えていれば、たとえば、フレームがレンダリングに予測された時間の2倍を必要とするならば、前のフレームのレンダリング時間を測定する既知の手法に戻り、現在のフレームをレンダリングするのも同様な時間を要すると想定することによって、後続フレームの予測値をつくことができる。代替方法として、相違が大きい場合、クロック周波数を利用可能な最高周波数に自動的に設定してもよい。
図4は、いくつかのディスプレイ・リストのそれぞれに関連する予測された処理時間と、付属する画像フレームを処理するために選択された対応する処理時間を示している。この図は、3つの画像フレームの各フレームごとのディスプレイ・リストを示している。第1のディスプレイ・リストは、6個の3角形を描画する命令を含み、第2のディスプレイ・リストは、12個の3角形を描画する命令を含み、第3のディスプレイ・リストは、24個の3角形を描画する命令を含む。各リストの下に、要求されるフレーム・レートを達成するために必要とされる推定処理時間を表すバーが示されている。推定処理時間は、3角形の数に基づくフレームに対するメモリアクセスの推定数から決定される。したがって、同じ目標フレーム・レートに対し、第2のディスプレイ・リストの12個の3角形の処理時間は、第1のディスプレイ・リストの6個の3角形の処理時間の2倍であり、第3のディスプレイ・リストの24個の3角形の推定処理時間は、第1のディスプレイ・リストの4個の3角形の推定処理時間のほぼ4倍である。したがって、フレーム1に対して選択されたプロセッサ周波数がFであれば、フレーム2の周波数は2、フレーム3の周波数は4である。この場合、例示するために、3角形の数と推定処理時間の間の簡単な線形関係が示されているが、この関係は非線形であるかもしれないことは理解されるであろう。
図1から図4に示す代表的な3次元グラフィックス装置では、現在のデータ・ブロック(画像フレーム)に対応する3角形の数が複雑さの測度として使用され、同じデータ・ブロック上で実行される後続処理動作に対して要求されるプロセッサ速度を予測している。本手法は、3次元画像というよりも2次元画像を処理するような他のデータ処理システムで代替的に使用される。1つの特定の代替装置はMPEG(Moving Picture Experts Group)標準符号化/復号化システムに関連している。
MPEGは、画像内(フレーム間の冗長性)と画像間(フレーム間/最高部の冗長性)の冗長性を利用する圧縮の標準規格である。通常、MPEG画像ストリームは、他のフレームを参照せずに圧縮されるIフレーム、前のフレームに戻って参照することによって予測されるPフレーム、さらに前のフレームと後続フレームの両者を参照することによって予測されるBフレームを含む。動きの予測として公知の手法は、或るシーン内の場合のオブジェクトの動き、またはパン撮り(pan shots)の場合のPフレームとBフレームに対して達成可能な圧縮比を改善するために使用される。MPEG符号化処理中、各画像フィールド/フレームは離散的画像ブロックに分割され、各画像ブロック上で離散的コサイン変換(DCT)が実行され、空間から周波数領域に情報を変換する。Pフレームの例の場合、圧縮されるDCTブロックは、2つの画像フレームの中の2つの一致するブロックの間の差分である。2つの画像フレームの間をオブジェクトが動いたとすると、同じ2つのフレームの同じ空間領域の比較からではなく、2つの画像フレームの各種フレームからの差分フレームを発生させることによって、予測の質を改善することができる。MPEG符号器の動き予測モジュールは、第1のフレームの各ブロックをとり、ブロックごとに調べて、第2のフレーム(たとえば、前のフレーム)の中で最もよく一致するブロックを見つけ出す。オフセット位置から差分ブロックが発生すると、より高度に圧縮可能なDCTブロックになる。圧縮されたDCTブロックは、圧縮のために用いられた参考画像の部分を示す「モーション・ベクトル」と一緒に送られる。本手法によれば、フィールド/フレームの中のモーション・ベクトルの数はMPEG復号器の複雑さの測度として用い、要求されるプロセッサ速度を推定して、要求される目標フレーム・レートを達成することができる。
上に説明した装置における複雑さの測度は、計算機ソフトウエアを用いて取り出され、代替可能な装置における複雑さの測度は、少なくとも一部ハードウエアから取り出すことができる。
添付の図面を参照しつつ本発明を解説する実施例を詳細に説明してきたが、本発明はこれらの明確な実施例に限定されるものではなく、特許請求の範囲で定義されるとおり、本発明の範囲と趣旨を逸脱することなく当業者により、この中で各種変更、修正を実行できることは理解されるべきである。
3次元図形をレンダリングする図形処理装置を模式的に示す図である。 図1のグラフィックス・アクセラレータの内部アーキテクチャを模式的に示す図である。 3次元図形処理動作の適切なプロセッサ速度を設定するとき実行される一連のステップを模式的に示す流れ図である。 いくつかのディスプレイ・リストの各リストに関連する予測された処理時間と画像フレームを処理するために選択された対応する処理速度とを模式的に示す図である。
符号の説明
100 CPU
110 グラフィック・アクセラレータ
120、122 メモリモジュール
130 IEMクロック
140 電源ユニット
210 タイル・アクセラレータ
220 HSRエンジン
230 テクスチャ・シェーディング・ユニット
240 テクスチャ・キャッシュ
250 ピクセル・ブレンダ
260 AMBAバス・インタフェース
270 イベント・マネージャ
280 アービタ
290 ディスプレイ・リスト・パーサ

Claims (45)

  1. 複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック内のデータに対して処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定する前記データ処理装置により実行される方法であって、
    前記少なくとも1つのデータ・ブロック内のデータに対して前記処理動作の初期処理ステージを実行するステップと、
    前記初期処理ステージの少なくとも1つの結果から、前記少なくとも1つのデータ・ブロック内のデータに対して前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すステップと、
    前記複雑さの測度に依存して前記パフォーマンス制御パラメータを予測値に設定するステップと、
    前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも1つのデータ・ブロック内のデータに対して前記少なくとも1つのさらなる処理ステージを実行するステップと、
    を含み、
    前記入力データストリームの前記複数のデータ・ブロックの少なくとも1つは、画像フィールドと画像フレームとのうちの1つを含み、
    前記複雑さの測度は、画像フィールドと画像フレームとのうちの前記1つに対する画像レンダリング・ディスプレイ・リストの1つまたは複数の特徴から取り出され、
    前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含み、そして
    前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生されるディスプレイ・リストである方法。
  2. 請求項1に記載の方法において、前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記方法。
  3. 請求項1に記載の方法において、前記複雑さの測度は、前記入力データストリームの中で前記少なくとも1つのデータ・ブロックより先んじている少なくとも1つの先行するデータ・ブロック内のデータに対して実行される処理動作の結果に依存して取り出される前記方法。
  4. 請求項3に記載の方法において、前記少なくとも1つの先行するデータ・ブロック内のデータに対して実行される前記処理動作の前記結果は、処理時間である前記方法。
  5. 請求項4に記載の方法において、前記複雑さの測度は、前記パフォーマンス制御パラメータ用の値を取り出すために前記少なくとも1つの先行データ・ブロック内のデータに対して実行される前記処理動作の前記結果に依存して尺度化される前記方法。
  6. 請求項に記載の方法において、前記構成画像項目は、3次元グラフィックス画像要素である前記方法。
  7. 請求項に記載の方法において、前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記方法。
  8. 請求項に記載の方法において、前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記方法。
  9. 請求項に記載の方法において、前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、画像フィールドと画像フレームとのうちの前記1つに関連する画面解像度を含む前記方法。
  10. 請求項に記載の方法において、前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、前記画像フィールドまたは画像フレームに対して動作可能にされた1グループの画像処理の特徴の中のいくつかに基づく推定器を含む前記方法。
  11. 請求項に記載の方法において、前記パフォーマンス制御パラメータは、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームとのうちの前記1つごとのメモリアクセスの数を推定することによって設定される前記方法。
  12. 請求項に記載の方法において、前記画像フィールドと画像フレームとのうちの前記1つはMPEGで符号化され、前記複雑さの測度は、画像フィールドと画像フレームとのうちの前記1つを復号するために必要なモーション・ベクトルの数である前記方法。
  13. 請求項1に記載の方法において、前記パフォーマンス制御パラメータの前記予測値は、所定の範囲のパラメータ値から選択される前記方法。
  14. 請求項13に記載の方法において、前記パフォーマンス制御パラメータの前記予測値は、目標処理時間と目標消費電力レベルとのうちの少なくとも1つに依存して設定される前記方法。
  15. 請求項14に記載の方法において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも1つを受け入れることができない場合、前記処理動作に関連する1つまたは複数の非本質的処理機能は動作不能になる前記方法。
  16. 複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック内のデータに対して処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するための計算機プログラムを有する計算機プログラム製品であって、
    前記少なくとも1つのデータ・ブロック内のデータに対して実行される前記処理動作の初期処理ステージに対して動作可能な初期処理コードと、
    前記初期処理ステージの少なくとも1つの結果から、前記少なくとも1つのデータ・ブロック内のデータに対して実行される前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出しコードと、
    前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定コードと、
    前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも1つのデータ・ブロック内のデータに対して、前記少なくとも1つのさらなる処理ステージを実行するように動作可能なさらなる処理コードと、
    記録し、
    前記入力データストリームの前記複数のデータ・ブロックの少なくとも1つは、画像フィールドと画像フレームとのうちの1つを含み、
    前記複雑さの測度取り出しコードは、画像フィールドと画像フレームとのうちの前記1つに対する画像レンダリング・ディスプレイ・リストの1つまたは複数の特徴から前記複雑さの測度を取り出すように動作可能であり、
    前記複雑さの測度を取り出すための前記複雑さの測度取り出しコードによって使用される前記1つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含み、
    前記複雑さの測度取り出しコードによって使用される前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストである
    計算機で読み取り可能な記録媒体
  17. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記パフォーマンス設定コードによって設定された前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記計算機で読み取り可能な記録媒体
  18. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度取り出しコードは、前記入力データストリームの中で前記少なくとも1つのデータ・ブロックより先んじている少なくとも1つの先行データ・ブロック内のデータに対して実行される処理動作の結果に依存して、前記複雑さを取り出すように動作可能である前記計算機で読み取り可能な記録媒体
  19. 請求項18に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度を取り出すための前記複雑さの測度取り出しコードによって使用される前記少なくとも1つの先行するデータ・ブロック上の前記処理動作の前記結果は、処理時間である前記計算機で読み取り可能な記録媒体
  20. 請求項19に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度取り出しコードは、前記パフォーマンス制御パラメータ用の値を取り出すために前記少なくとも1つの先行データ・ブロック内のデータに対して実行される前記処理動作の前記結果に依存して、前記複雑さの測度を尺度化するように動作可能である前記計算機で読み取り可能な記録媒体
  21. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記構成画像項目は、3次元グラフィックス画像要素である前記計算機で読み取り可能な記録媒体
  22. 請求項16に計算機で読み取り可能な記録媒体において、前記パフォーマンス設定コードによって設定される前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記計算機で読み取り可能な記録媒体
  23. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記計算機で読み取り可能な記録媒体
  24. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度を取り出すための前記複雑さの測度取り出しコードによって使用される前記1つまたは複数の特徴は、画像フィールドと画像フレームとのうちの前記1つに関連する画面解像度を含む前記計算機で読み取り可能な記録媒体
  25. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記複雑さの測度を取り出すための前記複雑さの測度取り出しコードによって使用される前記1つまたは複数の特徴は、画像フィールドまたは画像フレームに対して動作可能になる1グループの画像処理の特徴の中のいくつかに基づく推定器を含む前記計算機で読み取り可能な記録媒体
  26. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記パフォーマンス設定コードは、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームの前記1つごとのメモリアクセスの数を推定することによって、前記パフォーマンス制御パラメータを設定するように動作可能である前記計算機で読み取り可能な記録媒体
  27. 請求項16に記載の計算機で読み取り可能な記録媒体において、画像フィールドと画像フレームとのうちの前記1つはMPEGで符号化され、前記複雑さの測度は、画像フィールドと画像フレームの前記1つを復号化するために必要なモーション・ベクトルの数である前記計算機で読み取り可能な記録媒体
  28. 請求項16に記載の計算機で読み取り可能な記録媒体において、前記パフォーマンス設定コードは、所定の範囲のパラメータ値から前記予測値を選択するように動作可能である前記計算機で読み取り可能な記録媒体
  29. 請求項28に記載の計算機で読み取り可能な記録媒体において、前記予測値は、目標処理時間と目標電力消費レベルとのうちの少なくとも1つに依存して設定される、前記計算機で読み取り可能な記録媒体
  30. 請求項29に記載の計算機で読み取り可能な記録媒体において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも1つを受け入れることができない場合、前記処理動作に関連する1つまたは複数の非本質的処理機能は動作不能になる前記計算機で読み取り可能な記録媒体
  31. 複数のデータ・ブロックを含む入力データストリームの少なくとも1つのデータ・ブロック内のデータに対して処理動作を実行するように動作可能なデータ処理装置のパフォーマンス制御パラメータの値を設定するように動作可能なデータ処理装置であって、
    前記少なくとも1つのデータ・ブロック内のデータに対して実行される前記処理動作の初期処理ステージに対して動作可能な初期処理論理と、
    前記初期処理ステージの少なくとも1つの結果から、前記少なくとも1つのデータ・ブロック内のデータに対して実行される前記処理動作の少なくとも1つのさらなる処理ステージを実行するために必要なデータ処理量を示す複雑さの測度を取り出すように動作可能な複雑さの測度取り出し論理と、
    前記複雑さの測度に依存して、前記パフォーマンス制御パラメータを予測値に設定するように動作可能なパフォーマンス設定論理と、
    前記パフォーマンス制御パラメータの前記予測値になりうる前記少なくとも1つのデータ・ブロック内のデータに対して、前記少なくとも1つのさらなる処理ステージを実行するように動作可能なさらなる処理論理と、
    を含み、
    前記入力データストリームの前記複数のデータ・ブロックの少なくとも1つは、画像フィールドと画像フレームとのうちの1つを含み、
    前記複雑さの測度取り出し論理は、画像フィールドと画像フレームとのうちの前記1つに対する画像レンダリング・ディスプレイ・リストの1つまたは複数の特徴から前記複雑さの測度を取り出すように動作可能であり、
    前記複雑さの測度を取り出すための前記複雑さの測度取り出し論理によって使用される前記1つまたは複数の特徴は、前記画像レンダリング・ディスプレイ・リストの中の構成画像項目の数を含み、そして
    前記複雑さの測度取り出し論理によって使用される前記画像レンダリング・ディスプレイ・リストは、遅れレンダリング・グラフィックス・プロセッサによって発生するディスプレイ・リストである、
    データ処理装置。
  32. 請求項31に記載のデータ処理装置において、前記パフォーマンス設定論理によって設定された前記パフォーマンス制御パラメータは、前記データ処理装置のプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記データ処理装置。
  33. 請求項31に記載のデータ処理装置において、前記複雑さの測度取り出し論理は、前記入力データストリームの中で前記少なくとも1つのデータ・ブロックより先んじている少なくとも1つの先行データ・ブロック内のデータに対して実行される処理動作の結果に依存して、前記複雑さを取り出すように動作可能である前記データ処理装置。
  34. 請求項33に記載のデータ処理装置において、前記複雑さの測度を取り出すための前記複雑さの測度取り出し論理によって使用される前記少なくとも1つの先行データ・ブロック内のデータに対して実行される前記処理動作の前記結果は、処理時間である前記データ処理装置。
  35. 請求項34に記載のデータ処理装置において、前記複雑さの測度取り出し論理は、前記パフォーマンス制御パラメータ用の値を取り出すために前記少なくとも1つの先行データ・ブロック内のデータに対して実行される前記処理動作の前記結果に依存して前記複雑さの測度を尺度化するように動作可能である前記データ処理装置。
  36. 請求項31に記載のデータ処理装置において、前記構成画像項目は、3次元グラフィックス画像要素である前記データ処理装置。
  37. 請求項31に記載のデータ処理装置において、前記パフォーマンス設定論理によって設定される前記パフォーマンス制御パラメータは、グラフィックス・コプロセッサのプロセッサ周波数とプロセッサ動作電圧とのうちの少なくとも1つである前記データ処理装置。
  38. 請求項31に記載のデータ処理装置において、前記複雑さの測度を取り出すために使用された前記1つまたは複数の特徴は、前記構成画像要素に関連するテクスチャ・フォーマットを含む前記データ処理装置。
  39. 請求項31に記載のデータ処理装置において、前記複雑さの測度を取り出すための前記複雑さの測度取り出し論理によって使用される前記1つまたは複数の特徴は、画像フィールドと画像フレームのうちの前記1つに関連する画面解像度を含む前記データ処理装置。
  40. 請求項31に記載のデータ処理装置において、前記複雑さの測度を取り出すための前記複雑さの測度取り出し論理によって使用される前記1つまたは複数の特徴は、画像フィールドまたは画像フレームに対して動作可能になる1グループの画像処理の特徴の中のいくつかに基づく推定器を含む前記データ処理装置。
  41. 請求項31に記載のデータ処理装置において、前記パフォーマンス設定論理は、前記取り出された複雑さの測度から見て、画像フィールドと画像フレームとのうちの前記1つごとのメモリアクセスの数を推定することによって、前記パフォーマンス制御パラメータを設定するように動作可能である前記データ処理装置。
  42. 請求項31に記載のデータ処理装置において、画像フィールドと画像フレームとのうちの前記1つはMPEGで符号化され、前記複雑さの測度は、画像フィールドと画像フレームの前記1つを復号化するために必要なモーション・ベクトルの数である前記データ処理装置。
  43. 請求項31に記載のデータ処理装置において、前記パフォーマンス設定論理は、所定の範囲のパラメータ値から前記予測値を選択するように動作可能である前記データ処理装置。
  44. 請求項43に記載のデータ処理装置において、前記予測値は、目標処理時間と目標電力消費レベルとのうちの少なくとも1つに依存して設定される前記データ処理装置。
  45. 請求項44に記載のデータ処理装置において、前記予測値が前記所定の範囲内にあるように設定することによって前記目標処理時間と前記目標消費電力レベルとのうちの少なくとも1つを受け入れることができない場合、前記処理動作に関連する1つまたは複数の非本質的処理機能は動作不能になる前記データ処理装置。
JP2004183150A 2003-09-17 2004-06-22 データ処理システム Expired - Fee Related JP4418716B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0321788A GB2406184B (en) 2003-09-17 2003-09-17 Data processing system

Publications (3)

Publication Number Publication Date
JP2005092863A JP2005092863A (ja) 2005-04-07
JP2005092863A5 JP2005092863A5 (ja) 2006-09-07
JP4418716B2 true JP4418716B2 (ja) 2010-02-24

Family

ID=29227262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004183150A Expired - Fee Related JP4418716B2 (ja) 2003-09-17 2004-06-22 データ処理システム

Country Status (3)

Country Link
US (1) US7426320B2 (ja)
JP (1) JP4418716B2 (ja)
GB (1) GB2406184B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9333309B2 (en) 2002-02-11 2016-05-10 Antares Pharma, Inc. Intradermal injector

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050128220A1 (en) * 1999-08-03 2005-06-16 Marrin Christopher F. Methods and apparatuses for adjusting a frame rate when displaying continuous time-based content
GB2378108B (en) 2001-07-24 2005-08-17 Imagination Tech Ltd Three dimensional graphics system
US7733919B2 (en) * 2004-07-12 2010-06-08 General Instrument Corporation Method and apparatus for processing transport stream packets to compensate for jitter
CA2533279C (en) * 2005-01-18 2011-09-20 Ryan Eccles System and method for processing map data
TWI292877B (en) * 2005-04-28 2008-01-21 Micro Star Int Co Ltd Method for adjusting an operating rate of a graphics card
US8102398B2 (en) * 2006-03-03 2012-01-24 Ati Technologies Ulc Dynamically controlled power reduction method and circuit for a graphics processor
US7861068B2 (en) 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
JP2007325027A (ja) * 2006-06-01 2007-12-13 Oki Electric Ind Co Ltd 画像分割方法、画像分割装置、および画像分割プログラム
US20080055311A1 (en) * 2006-08-31 2008-03-06 Ati Technologies Inc. Portable device with run-time based rendering quality control and method thereof
GB2449398B (en) * 2006-09-29 2009-02-11 Imagination Tech Ltd Improvements in memory management for systems for generating 3-dimensional computer images
KR101217559B1 (ko) * 2006-10-27 2013-01-02 삼성전자주식회사 전력 소모를 최소화하는 그래픽스 데이터 렌더링 방법 및장치
EP2128824A1 (en) * 2007-02-28 2009-12-02 Panasonic Corporation Graphics plotting device and graphics plotting method
KR101345379B1 (ko) * 2007-06-28 2014-01-22 삼성전자주식회사 3차원 그래픽스 데이터 렌더링 방법 및 장치
US20100060629A1 (en) * 2008-09-09 2010-03-11 Jim Rasmusson Graphics-Processing Architecture Based on Approximate Rendering
DE112009002383T5 (de) * 2008-10-20 2011-09-29 Intel Corporation Grafikverarbeitung unter Verwendung von Culling auf Gruppen von Vertices
GB0823254D0 (en) 2008-12-19 2009-01-28 Imagination Tech Ltd Multi level display control list in tile based 3D computer graphics system
GB0823468D0 (en) 2008-12-23 2009-01-28 Imagination Tech Ltd Display list control stream grouping in tile based 3D computer graphics systems
CN102063695A (zh) * 2009-11-12 2011-05-18 马维尔国际贸易有限公司 通过优化帧率输出的移动设备功率节省
GB201008785D0 (en) 2009-12-18 2010-07-14 Univ Gent A counter architecture for online dvfs profitability estimation
US8593466B2 (en) * 2010-06-08 2013-11-26 Intel Corporation Tile rendering for image processing
US20120001925A1 (en) 2010-06-30 2012-01-05 Ati Technologies, Ulc Dynamic Feedback Load Balancing
US20120102503A1 (en) * 2010-10-20 2012-04-26 Microsoft Corporation Green computing via event stream management
US9117302B2 (en) 2011-11-30 2015-08-25 Qualcomm Incorporated Switching between direct rendering and binning in graphics processing using an overdraw tracker
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
JP5933601B2 (ja) * 2012-02-02 2016-06-15 三菱電機株式会社 表示装置
CN103246340A (zh) * 2012-02-06 2013-08-14 索尼公司 动态调整中央处理单元的频率的装置和方法
US20130208786A1 (en) * 2012-02-15 2013-08-15 Wei Xiong Content Adaptive Video Processing
KR20140133770A (ko) 2012-02-23 2014-11-20 가부시키가이샤 스퀘어.에닉스.홀딩스 동화상 배신 서버, 동화상 재생 장치, 제어 방법, 및 컴퓨터 판독 가능한 기록 매체
US10134101B2 (en) 2012-02-27 2018-11-20 Intel Corporation Using cost estimation to improve performance of tile rendering for image processing
CN103650001B (zh) 2012-04-12 2017-04-26 史克威尔·艾尼克斯控股公司 动画分发服务器、动画播放装置、及控制方法
US9269121B2 (en) * 2012-12-18 2016-02-23 Intel Corporation Techniques for managing system power using deferred graphics rendering
US9201487B2 (en) * 2013-03-05 2015-12-01 Intel Corporation Reducing power consumption during graphics rendering
KR102116708B1 (ko) * 2013-05-24 2020-05-29 삼성전자 주식회사 그래픽스 프로세싱 유닛
JP6349908B2 (ja) 2014-04-22 2018-07-04 富士通株式会社 データ処理方法、データ処理装置及びプログラム
GB2524121B (en) 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
GB2524120B (en) * 2014-06-17 2016-03-02 Imagination Tech Ltd Assigning primitives to tiles in a graphics processing system
US9679345B2 (en) * 2014-08-08 2017-06-13 Advanced Micro Devices, Inc. Method and system for frame pacing
US9728166B2 (en) 2015-08-20 2017-08-08 Qualcomm Incorporated Refresh rate matching with predictive time-shift compensation
CN106708499B (zh) 2015-11-13 2020-10-27 财团法人工业技术研究院 绘图处理程序的分析方法与分析系统
KR101797845B1 (ko) * 2016-02-16 2017-11-14 가천대학교 산학협력단 멀티코어 컴퓨팅 시스템에서 병렬 비디오 처리 장치 및 방법
US20180082465A1 (en) * 2016-09-16 2018-03-22 Prasoonkumar Surti Apparatus and method for optimized tile-based rendering
EP3819744A4 (en) * 2018-08-30 2021-07-07 Huawei Technologies Co., Ltd. FREQUENCY ADAPTATION METHOD, DEVICE AND COMPUTER-READABLE STORAGE MEDIUM
US11899588B2 (en) * 2020-09-14 2024-02-13 Samsung Electronics Co., Ltd. Systems, methods, and devices for discarding inactive intermediate render targets
CN114282073B (zh) * 2022-03-02 2022-07-15 支付宝(杭州)信息技术有限公司 数据存储方法及装置、数据读取方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420787A (en) * 1992-10-26 1995-05-30 The United States Of America As Represented By The Secretary Of The Department Of Human Services System and method for separating a multi-unit signal into single-unit signals
US5734585A (en) 1994-11-07 1998-03-31 Norand Corporation Method and apparatus for sequencing power delivery in mixed supply computer systems
KR100194039B1 (ko) * 1996-04-19 1999-06-15 윤종용 엠펙 시스템의 우선순위 처리회로
US6049882A (en) * 1997-12-23 2000-04-11 Lg Semicon Co., Ltd. Apparatus and method for reducing power consumption in a self-timed system
US6252612B1 (en) * 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
JP2000122747A (ja) * 1998-10-12 2000-04-28 Nec Corp ディジタル信号演算処理部の制御装置および方法
CA2337287A1 (en) * 2000-03-09 2002-08-15 International Business Machines Corporation Computer power management in a dataprocessing system based on required battery life
US6940903B2 (en) * 2001-03-05 2005-09-06 Intervideo, Inc. Systems and methods for performing bit rate allocation for a video data stream
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US6975322B2 (en) * 2002-03-12 2005-12-13 Sun Microsystems, Inc. Dynamically adjusting a number of rendering passes in a graphics system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9333309B2 (en) 2002-02-11 2016-05-10 Antares Pharma, Inc. Intradermal injector
US9737670B2 (en) 2002-02-11 2017-08-22 Antares Pharma, Inc. Intradermal injector

Also Published As

Publication number Publication date
GB2406184B (en) 2006-03-15
JP2005092863A (ja) 2005-04-07
GB0321788D0 (en) 2003-10-15
US7426320B2 (en) 2008-09-16
US20050057571A1 (en) 2005-03-17
GB2406184A (en) 2005-03-23

Similar Documents

Publication Publication Date Title
JP4418716B2 (ja) データ処理システム
US11361498B2 (en) Method, apparatus, and computer program product for improved graphics performance
CN108280867B (zh) 图形处理方法和系统
US8112640B2 (en) Method of controlling voltage of power supplied to 3D graphics data processor and the 3D graphics data processor using the method
JP4938850B2 (ja) 拡張型頂点キャッシュを備えたグラフィック処理装置
US6064393A (en) Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US8253722B2 (en) Method, medium, and system rendering 3D graphics data to minimize power consumption
EP3216011B1 (en) Prediction system for texture streaming
EP0875860B1 (en) Precise gradient calculation system and method for a texture mapping system of a computer graphics system
EP1461777B1 (en) Depth write disable for zone rendering
KR20210152952A (ko) 그래픽 프로세싱
US9430818B2 (en) Analytical motion blur rasterization with compression
US9881392B2 (en) Mipmap generation method and apparatus
EP1759355B1 (en) A forward texture mapping 3d graphics system
KR101345380B1 (ko) 3차원 그래픽스 데이터를 처리하는 장치에 공급하는전원의 전압을 제어하는 방법 및 이를 이용하는 3차원그래픽스 데이터 처리 장치
US20230134779A1 (en) Adaptive Mesh Reprojection for Low Latency 6DOF Rendering
US20230102620A1 (en) Variable rate rendering based on motion estimation
US20200169760A1 (en) Scene change detection and handling
EP1926052B1 (en) Method, medium, and system rendering 3 dimensional graphics data considering fog effect
Zhang et al. Texture Mapping with Vector Graphics: A Nested Mipmapping Solution.
AU2004231233A1 (en) Render Time Estimation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060725

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090605

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091130

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

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