(57)【要約】【課題】  携帯電子機器が、電池電力が少ない場合であっても引き続きグラフィックスを表示できるようにする。【解決手段】  ラップトップ、ハンドヘルドコンピュータ、ＰＤＡまたはインターネット対応ワイヤレスセルラ装置等、グラフィックスアプリケーションを処理し表示することが可能な携帯電子機器が、電池電力が少ない場合であっても引き続きグラフィックスを表示できるようにするシステムおよび方法。本発明は、電力残量に応じて、装置によりレンダリングされるグラフィックスの精細度または画質を能動的に管理すると共に適宜低減することにより、電池の有効寿命を延ばす。好ましい実施形態では、本発明は、プロセッサ速度に影響しないようにアプリケーションレベルで精細度を管理する。
2005525654.tif 000002
【特許請求の範囲】
【請求項１】
携帯機器により表示されるグラフィックスの精細度を調節する方法であって、
複数の所定の電力レベルにおける所定の電力レベルにそれぞれ対応する複数のユーザ選好精細度を得ることと、
現在の電力レベルを求めることと、
前記現在の電力レベルに応じて、前記グラフィックスの表示にいずれのユーザ選好精細度を実施するかを選択することと、
前記選択されたユーザ選好精細度を実現するために、前記グラフィックス表示の精細度を調節することと
を含む方法。
【請求項２】
前記複数のユーザ選好精細度を得るステップは、
ユーザが前記複数のユーザ選好精細度を選択できるようにするためのグラフィカルユーザインタフェースであって、各精細度が、複数の所定の電力レベルのうちの所定の電力レベルに対応することで、前記複数のうちの各電力レベルが、対応するユーザ選好精細度を有することになるものを提供することと、
前記複数のユーザ選好精細度を受け取り記憶することと
から構成される請求項１に記載の方法。
【請求項３】
前記現在の電力レベルに応じて、前記グラフィックスの表示にいずれのユーザ選好精細度を実施するかを選択するステップは、
前記現在の電力レベルを前記複数のうちの前記所定の電力レベルのそれぞれと比較することと、
当該比較の結果として、前記複数の中から前記所定の電力レベルの１つを選択することと、
前記選択された所定の電力レベルに対応する前記ユーザ選好精細度を選択することと
から構成される請求項１に記載の方法。
【請求項４】
前記選択されたユーザ選好精細度を実現するために、前記グラフィックス表示の精細度を調節するステップは、
浮動小数点演算の数を低減すること
を含む
請求項１に記載の方法。
【請求項５】
前記選択されたユーザ選好精細度を実現するために、前記グラフィックス表示の精細度を調節するステップは、
多段階グラフィックスパイプラインを通る回数を低減すること
を含む
請求項１記載の方法。
【請求項６】
前記選択されたユーザ選好精細度を実現するために、前記グラフィックス表示の精細度を調整するステップは、
前記携帯機器により表示されるグラフィックスの表現に使用されるデータ量を低減すること
を含む
請求項１記載の方法。
【請求項７】
有限電源を有する携帯コンピュータにより表示されるグラフィックスの精細度を管理する精細度管理装置であって、
前記有限電源に残っている電力量についての情報を含む、前記有限電源に関連する統計情報を受け取る電力統計モジュールと、
前記電力モジュールが受け取る前記統計情報に応じて、前記携帯コンピュータにより表示されるグラフィックスの精細度を管理する電力精細度管理モジュールと
を備える精細度管理装置。
【請求項８】
前記電力精細度管理モジュールは、
前記グラフィックスを表示する際に前記携帯コンピュータによって実行される浮動小数点演算の数を低減することによって精細度を調節する
請求項７に記載の精細度管理装置。
【請求項９】
前記電力精細度管理モジュールは、前記携帯コンピュータ内に存在する多段階グラフィックスパイプラインを通る回数を低減することによって精細度を調節する
請求項７に記載の精細度管理装置。
【請求項１０】
前記電力精細度管理モジュールは、前記携帯コンピュータにより表示されるグラフィックスの表現に使用されるデータ量を低減することによって精細度を調節する
請求項７に記載の精細度管理装置。
【請求項１１】
前記電力精細度管理モジュールは、前記携帯コンピュータにより表示されるグラフィックスの精細度を、前記電力モジュールが受け取った前記統計情報に応じて、予め選択されたユーザ選好精細度に調節する
請求項７に記載の精細度管理装置。
【請求項１２】
前記電力精細度管理装置は、前記グラフィックスの精細度を調節するいくつかの異なる方法のいずれか１つまたはいくつかを呼び出すことができ、
前記方法は、前記グラフィックスの精細度の調節に利用可能な複数の方法から選択されて呼び出される
請求項１１に記載の精細度管理装置。
【請求項１３】
ユーザが一連の複数のユーザ選好精細度レベルを選択できるようにする電力／精細度ユーザインタフェース制御パネル
をさらに備え、
前記精細度はそれぞれ所定の電力レベルに対応する
請求項１２に記載の精細度管理装置。
【請求項１４】
前記電力／精細度ユーザインタフェース制御パネルは、前記グラフィックスの精細度を調節するために、当該精細度管理装置によりいずれの方法を呼び出すかをユーザに選択できるようにする
請求項１３に記載の精細度管理装置。
【請求項１５】
前記電力／精細度ユーザインタフェース制御パネルは、
ユーザが、前記複数のユーザ選好精細度を選択できるようにする複数の対話型スライドスイッチ
を含み、
当該スイッチはそれぞれ所定の電力レベルに対応する
請求項１３に記載の精細度管理装置。
【請求項１６】
前記電源が高電力レベルで動作している場合に実施される第１の好ましい精細度を選択する前記高電力レベルに対応する第１の調節可能スライドスイッチと、
前記電源が中電力レベルで動作している場合に実施される第２の好ましい精細度を選択する前記中電力レベルに対応する第２の調節可能スライドスイッチと、
前記電源が低電力レベルで動作している場合に実施される第３の好ましい精細度を選択する前記低電力レベルに対応する第３の調節可能スライドスイッチと
をさらに備える請求項１５に記載の精細度管理装置。
【請求項１７】
スイッチ設定は、その対応する電力レベルのための精細度を調節するために、入力装置を使用して各スイッチを選択して上下にスライドさせることで調節することが可能である
請求項１６に記載の精細度管理装置。
【請求項１８】
携帯コンピュータシステムのプロセッサおよびグラフィックスカードに、利用可能な電力に応じて、前記携帯コンピュータシステムにより表示される画像の精細度を調節させるコンピュータ可読プログラムコードを含むコンピュータプログラム製品であって、前記コンピュータ可読プログラムコードは、前記プロセッサおよびグラフィックスカードに、
複数の所定の電力レベルにおける所定の電力レベルにそれぞれが対応する複数のユーザ選好精細度を得ることと、
現在の電力レベルを求めることと、
前記現在の電力レベルに応じて、前記グラフィックスの表示に、いずれのユーザ選好精細度を実施するかを選択することと、
前記選択されたユーザ選好精細度を実現するため、前記グラフィックス表示のための精細度を調節することと
を実行させるコンピュータプログラム製品。
【請求項１９】
前記コンピュータ可読プログラムコードは、前記プロセッサおよびグラフィックスカードに、
ユーザが好ましい精細度を入力できるようにするグラフィカルユーザインタフェースであって、前記好ましい精細度はそれぞれ、複数の所定の電力レベルにおける所定の電力レベルに対応するものを提供することと、
前記ユーザ選好精細度およびそれぞれに対応する所定の電力レベルを受け取り記憶することと
をさらに実行させる請求項１８に記載のコンピュータプログラム製品。
【請求項２０】
前記コンピュータ可読プログラムコードは、前記プロセッサおよびグラフィックカードに、浮動小数点演算の数を低減することによって、利用可能な電力に応じて画像の精細度を調節させる
請求項１８に記載のコンピュータプログラム製品。
【請求項２１】
前記コンピュータ可読プログラムコードは、前記プロセッサおよびグラフィックカードに、多段階グラフィックスパイプラインを通る回数を低減することによって、利用可能な電力残量に応じて画像の精細度を調節させる
請求項１８に記載のコンピュータプログラム製品。
【請求項２２】
前記コンピュータ可読プログラムコードは、前記プロセッサおよびグラフィックカードに、前記コンピュータシステムにより表示されるグラフィックスの表現に使用されるデータ量を低減することによって、利用可能な電力に応じて画像の精細度を調節させる
請求項１８に記載のコンピュータプログラム製品。
【請求項２３】
有限電源を有する携帯コンピュータにより表示されるグラフィックスの精細度を管理するコンピュータプログラム製品であって、前記携帯コンピュータに、
前記有限電源に残っている電力量についての情報を含む、前記有限電源に関連する統計情報を受け取ることと、
前記受け取った統計情報に応じて、前記携帯コンピュータにより表示されるグラフィックスの精細度を管理することと
を実行させるコンピュータ可読プログラムコード
を含むコンピュータプログラム製品。
【請求項２４】
前記携帯コンピュータに、
前記受け取った有限電源に関連する統計情報の結果として、前記電源の有効寿命を計算することと、
前記電源の有効寿命を、前記計算された有効寿命よりも延ばすため、前記携帯コンピュータにより表示されるグラフィックスの精細度を調節することと
を実行させるコンピュータ可読プログラムコードを
さらに含む請求項２３に記載のコンピュータプログラム製品。
【請求項２５】
前記グラフィックスの精細度を調節するために、前記携帯コンピュータが呼び出すことができる複数の方法を含むコンピュータ可読プログラムコード
をさらに含む請求項２３に記載のコンピュータプログラム製品。
【請求項２６】
ユーザが、前記グラフィックスの精細度を調節するためにいずれの方法を呼び出すかを選択できるようにする電力／精細度ユーザインタフェース制御パネルを生成するコンピュータ可読プログラムコード
をさらに含む請求項２５に記載のコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータグラフィックスに関する。
より具体的には、本発明は、利用可能な電力に応じてコンピュータグラフィックスの精細度を変更する方法および装置に関する。
【背景技術】
【０００２】
携帯型ラップトップ、ハンドヘルドコンピュータ、携帯情報端末（ＰＤＡ）および／またはインターネット対応ワイヤレスセルラ機器（インターネット対応携帯電話等）は多くの場合、充電式電池または燃料電池等の有限の携帯電源により給電される。
こういったラップトップ、ハンドヘルドコンピュータ、携帯情報端末（ＰＤＡ）および／または他の携帯機器のユーザにとっての主な問題は、マルチメディア又はビデオアプリケーション等の特定のグラフィックスアプリケーションが、グラフィックスをレンダリングしてこれら機器に表示する際に大量の電力を消費することである。
こういったアプリケーションは大量の電力を消耗させ得る。
したがって、電力残量が少ない場合、ラップトップ、ハンドヘルドコンピュータおよび他の携帯機器のユーザは、電池を充電若しくは交換するか、又は、燃料電池を補充若しくは交換するまで、映画を見ることや、ゲームで遊ぶことや、グラフィックスアプリケーションを見ることを止めなければならない場合が多い。
【０００３】
現在、グラフィックスアプリケーションの処理および表示により携帯電源に発生する電力消耗は、プロセッサ資源およびプロセッサ速度を調節することによって対処されている。
さらに具体的に言えば、電力消費を調節するために、プロセッサがグラフィックスアプリケーションを実行している間にプロセッサのクロック周波数を調節するようにされた多くのアプリケーションがある。
IntelのＳｐｅｅｄＳｔｅｐ（商標）テクノロジおよびTransmetaのＬｏｎｇＲｕｎ電力管理が２つのこのようなアプリケーションである。
【０００４】
従来のマイクロプロセッサでは、クロック周波数は一定であり、１秒当たりのクロックサイクル数で測定されるプロセッサ速度も一定である。
IntelのＳｐｅｅｄＳｔｅｐ（商標）では、プロセッサが、２つの異なる周波数、すなわち電力を急速に消耗させる高周波数と電力をゆっくりと消耗させる低周波数とを切り替えることができる。
しかし、低周波数での動作はパフォーマンスの大幅な低下という犠牲を払って行われる。
一方、TransmetaのＬｏｎｇＲｕｎでは、電力を温存するため、プロセッサが作業負荷変更時にクロックレートを広範囲の周波数にわたって連続的に変更させることができる。
【特許文献１】米国特許出願公開第２００２／０４０４４２号
【特許文献２】欧州特許出願公開第１１３９２０６号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
携帯機器がこの技法を採用している場合、グラフィックスアプリケーションは、より低速で実行され、グラフィックスは、断続的に、中断された非連続様式で表示され得る。
場合によっては（ストリーミングビデオアプリケーション等）、グラフィックスアプリケーションが全く動かなくなる場合もある。
したがって必要なのは、必ずしもプロセッサ速度を低速化させたり、表示される画像の連続性を妨げたりすることなく、表示されるグラフィックスの精細度または画質を能動的に管理すると共に適宜低減することによって携帯電源の寿命を延ばすメカニズムである。
【課題を解決するための手段】
【０００６】
ラップトップ、ハンドヘルドコンピュータ、ＰＤＡまたはインターネット対応ワイヤレスセルラ装置等、グラフィックスアプリケーションを処理し表示することが可能な携帯電子機器が、利用可能な電力が少ない場合であっても引き続きグラフィックスを表示できるようにするシステムおよび方法。
本発明は、利用可能な電力に応じて、装置によりレンダリングされるグラフィックスの精細度または画質を能動的に管理すると共に適宜低減することにより、携帯電源の有効寿命を延ばす。
好ましい実施形態では、本発明は、プロセッサ速度に影響しないようにアプリケーションレベルで精細度を管理する。
【０００７】
全体として、グラフィックスシステムにおける主な電力の３つの用途は、プリミティブデータをメモリからシステムバスに移すこと、複雑な浮動小数点計算を行い、グラフィックスチップ内でデータを反復処理すること、および、ディスク上の新しいデータにアクセスすることである。
これらの間のトレードオフは機械依存であるが、電力のトレードオフは速度のトレードオフとは異なる場合が多い。
本発明の好ましい実施形態において利用される精細度制御方法には、浮動小数点演算の数を少なくする方法、多段階グラフィックスパイプラインを通る回数を少なくする方法、および、システムバス上のプリミティブデータの量を少なくする方法を含むことができる。
【０００８】
好ましくは、本発明は、予め設定されたユーザ選択画質レベル、ならびに、利用可能な電力、現在の電力使用量および目標電力レベルについての内部情報に応じて、画像レンダリングの品質選択を自動的に行う。
別法として、複数の特定タイプの画像レンダリング品質トレードオフを利用することができ、ユーザはいずれのトレードオフをシステムに利用したいかを選択することができる。
特定のユーザ選択トレードオフ、ならびに、利用可能な電力、現在の電力使用量および目標電力レベルについての内部情報を用いて、本発明は画像の精細度を調節する。
【０００９】
好ましい実施形態では、単一の電力精細度制御パネルインタフェースがソフトウェアで実装され、これによりユーザが、グラフィックスアプリケーション処理時に使用される所望の画質レベル（高、中または低等）を選択することが可能になる。
制御パネルは、マウス、キーボード又はキーパッド、スタイラス、トラックボール等の入力装置を使用して設定することができる仮想インタフェースである。
別法として、インタフェースはユーザに複数の特定タイプの画像レンダリング品質トレードオフを提供することができ、ユーザはいずれのトレードオフをシステムに利用したいかを選択することができる。
これらユーザ選択トレードオフを使用して、本発明は、電力統計およびユーザ選択トレードオフに基づいて、必要に応じてアプリケーションレベルで精細度を変更する。
【００１０】
好ましい実施形態では、画像の精細度に対する調節は電力レベルに応じて行われ、電力レベルの関数として、または、ユーザが決定する、利用可能な電力を持たせるべき所望の時間長（すなわち電池寿命）の関数として設定することができる。
【発明を実施するための最良の形態】
【００１１】
ラップトップ、ハンドヘルドコンピュータ、ＰＤＡまたはインターネット対応ワイヤレスセルラ装置等、グラフィックスアプリケーションを処理し表示することが可能な携帯電子機器が電源が乏しい場合であっても、引き続きグラフィックスを表示できるようにし、または、電源が有限の限られた量の電力しか送出することができない場合にグラフィックスをより長い時間期間表示できるようにするシステムおよび方法。
本発明は、利用可能電力レベルに応じて、またはユーザにより決定される利用可能電力を持たせるべき所望の時間長（すなわち電池寿命）に応じて、装置によりレンダリングされるグラフィックスの精細度または画質を能動的に管理すると共に適宜低減することにより、電源の有効寿命を延ばす。
好ましい実施形態では、本発明は、アプリケーションレベルで精細度を管理するので、プロセッサ速度に影響を及ぼさない。
【００１２】
全体として、グラフィックスシステムにおける主な電力の３つの用途は、三角形データをメモリからシステムバスに移すこと、複雑な浮動小数点計算を行い、グラフィックスチップ内でデータを反復処理すること、および、ディスク上の新しいデータにアクセスすることである。
これらの間のトレードオフは機械依存であるが、電力のトレードオフは速度のトレードオフとは異なる場合が多い。
本発明の好ましい実施形態において利用される精細度制御方法には、浮動小数点演算の数を少なくする方法、多段階グラフィックスパイプラインを通る回数を少なくする方法、および、システムバス上の三角形データの量を少なくする方法が含まれる。
【００１３】
好ましくは、本発明は、予め設定されたユーザ選択所望画質レベル、ならびに、利用可能電力、現在の電力使用量および目標電力レベルについての内部情報または電力統計に応じて、画像レンダリングの品質選択を自動的に行う。
好ましい実施形態では、単一の電力精細度制御パネルインタフェースがソフトウェアで実装され、これによりユーザが、グラフィックスアプリケーション処理時に使用される所望の画質レベル（高、中または低等）を選択することが可能になる。
制御パネルは、マウス、キーボード又はキーパッド、スタイラス、トラックボール等の任意の入力装置を使用して設定することができる仮想インタフェースである。
別法として、電力精細度制御パネルインタフェースは、ユーザに複数の特定タイプの画像レンダリング品質トレードオフを提供することができ、ユーザはいずれのトレードオフをシステムに利用したいかを選択することができる。
これらユーザ選択トレードオフを使用して、本発明は、電力統計およびユーザ選択トレードオフに基づいて、必要に応じてアプリケーションレベルで精細度を変更する。
【００１４】
所望の画質レベルまたは特定のユーザ選択トレードオフを使用して、本発明は、電力統計およびユーザ選択トレードオフに基づいて、必要に応じてアプリケーションレベルで精細度を変更する。
ユーザが単に所望の画質レベルを選択する好ましい実施形態では、本発明は、浮動小数点演算の数を低減する、または、多段階グラフィックスパイプラインを通る回数を低減する、または、システムバス上のプリミティブデータの量を低減するように設計された異なる方法のいずれか１つまたはいくつかを使用して精細度を調節する。
したがって、プリミティブデータの量を低減するように設計されたいくつかの方法のいずれか１つを利用して、本発明は、いずれか１つのオブジェクト（またはいくつかのオブジェクト）のデータを無視して、グラフィックスプロセッサに送らず、一つのフレームに表示されるオブジェクトの数を低減することができる。
別法として、フレーム内のオブジェクトの解像度を犠牲にすること、すなわち、オブジェクトの表現に使用されるビット数または利用可能な色数を低減することができる。
【００１５】
図１は、本発明の好ましい実施形態による電力精細度管理システムおよび方法を利用するコンピュータシステム１００の好ましい実施形態を示す機能ブロック図を示す。
図示するように、システム１００は、携帯ラップトップ、ハンドヘルドコンピュータ、携帯情報端末またはインターネット対応ワイヤレスセルラ装置（インターネット対応携帯電話等）内に実装されるプロセッサ１１０を備える。
プロセッサ１１０は、電池１１５、ビデオグラフィックスディスプレイ１２０およびビデオグラフィックスカードまたはグラフィックスアクセラレータ１３０に結合される。
好ましい実施形態では、プロセッサは、メモリ１５０およびＣＤ−ＲＯＭドライブ１６０にも結合することができる。
システムは、好ましくは、ＰＯＴＳ、ＤＳＬ回線、Ｔ１回線、または、他の任意のインターネットに接続可能な通信手段を介してシステムをインターネットに接続するインターネット接続回路部１７５（内蔵モデム等）も備えることができる。
【００１６】
好ましくは、プロセッサは、（ソフトウェアを表すために破線で示されている）グラフィックスアプリケーション１４０を実行するように構成される。
グラフィックスアプリケーションは通常、ビデオグラフィックスをシステムでレンダリングしてディスプレイで表示する必要がある。
レンダリングするグラフィックスは、ＣＤ−ＲＯＭドライブで再生されるディスク若しくはメモリから、または、インターネット接続インタフェースを介して来ることができる。
グラフィックスのレンダリングに使用される全命令セットおよび全データは、プリミティブとして知られるセットに分割される。
これらプリミティブはビデオグラフィックスカードまたはグラフィックスアクセラレータ１３０に渡され、そこで表示に向けて処理される。
好ましい実施形態では、グラフィックスカードはソートミドルグラフィックスアーキテクチャを利用するが、グラフィックスカードは、ソートファースト（sort first）アーキテクチャ等、他の任意のタイプのグラフィックスアーキテクチャを利用することができ、本発明はアプリケーションレベルで実行されるため、グラフィックスカードアーキテクチャにより制限されることは全くないことは理解されよう。
【００１７】
図２は、本発明の好ましい実施形態において利用されるソートミドルグラフィックスアーキテクチャの簡略化されたブロック図である。
図示するように、ソートミドルグラフィックスアーキテクチャは、ホストインタフェース２１２、一連のジオメトリ処理モジュール２１４ａ〜ｂおよび一連のラスタ化モジュール２１６ａ〜ｂを備える。
ジオメトリ処理モジュール２１４ａ〜ｂはポイントツーポイント構成でデイジーチェイン接続され、ブリッツェン（Blitzen）入力バスライン（ＢＩＢ）２１８ａ〜ｂおよびブリッツェン出力バスライン（ＢＯＢ）２２２ａ〜ｂを介して互いおよびホストインタフェース２１２に結合される。
ジオメトリ処理モジュール２１４ａ〜ｂはそれぞれ、ジオメトリ処理モジュールからの出力を浮動小数点フォーマットから固定小数点データフォーマットに変換する浮動小数点／固定小数点データフォーマットモジュール２２０ａ〜ｂを備える。
ホストインタフェース２１２は、ヒースロー（Heathrow）システムとしても知られ、グラフィックスアプリケーションを実行しているプロセッサに結合される。
【００１８】
図３は、電力が最大レベルにあるときのソートミドルグラフィックスアーキテクチャの通常動作を示すフローチャートを示す。
図示するように、コンピュータシステムで実行されているグラフィックスアプリケーションは、フレーム内に、三角スペース、点または線等のプリミティブを定義し、三角スペース、点または線の頂点のプリミティブ頂点データを、付随するテクスチャ座標、テクスチャマップ、ｚ深さ、色およびプリミティブ内のピクセルの他の材質属性を定義するセットアップ変数と共に求める（３０２）。
好ましくは、プリミティブの頂点は通常、３２個のビットで構成される浮動小数点値である。
通常のグラフィックスパイプラインプロトコルでは、値を格納するワードに、０〜ｎ−１のインデックスが付与されたｎ個のビットがある。
セットアップ変数も通常、浮動小数点値で表すことができる。
たとえば、ｚ深さは４０ビットで表現することができ、色成分は２４ビットで表現することができる。
次いで、プリミティブデータはラウンドロビン割り当てプロセスによってジオメトリ処理モジュールの１つに割り当てられ、ブリッツェン入力バスを介してホストインタフェースからジオメトリ処理モジュールに送られる（３０４）。
【００１９】
割り当てられたジオメトリ処理モジュールにプリミティブデータが到着すると、ジオメトリ処理モジュールはビューイング変換（すなわち、三角形の頂点を画面空間座標に変換する）、頂点でのライティング計算ならびにラスタ化モジュールが使用する傾きの初期セットアップおよび計算を行う（３０６）。
ジオメトリ処理モジュールからの出力は、ソートミドルトラヒックデータ又はラスタ化セットアップデータと呼ばれ、複数の平面式を含む。
これら平面式は、プリミティブまたは三角スペースのパラメータすべての開始値および傾きである。
【００２０】
再び図２を参照すると、各ジオメトリ処理モジュールは、浮動小数点データを固定小数点データに変換するように構成された浮動小数点／固定小数点モジュール２２０を備える。
したがって、ソートミドルトラヒックデータは浮動小数点フォーマットから固定小数点フォーマットに変換され（３０８）、次いでホストインタフェースに折り返し転送される（３１０）。
ホストインタフェースから、データはリッジライン（RidgeLine）バスを介してラスタ化モジュールに送られ、ラスタ化モジュールはラスタ化およびテクスチャマッピングを行う（３１２）。
ラスタ化モジュールはラスタ化を行うように構成され、好ましくは、ソートミドルトラヒックデータがすべてラスタ化モジュールのそれぞれに送られるように、スキャンライン化インタリーブされる。
次いで、ラスタ化されテクスチャマッピングされたデータは、グラフィックスディスプレイに結合されたドライバ（不図示）に提供され、グラフィックス画像が描画される。
【００２１】
図１を再び参照すると、本発明は電力統計モジュール１５０および電力／精細度（ＬＯＤ）管理モジュール１６０をさらに備える。
好ましい実施形態では、これらモジュールは両方とも（図１の破線の使用により示されるように）ソフトウェアで実装されるが、ハードウェア、ファームウェアまたはこれらの任意の組み合わせで実装してもよい。
電力統計モジュールおよび電力ＬＯＤ管理モジュールは、グラフィックスアプリケーションがプロセッサによって実行されるときは常に呼び出されて動作する。
【００２２】
携帯ラップトップ、ハンドヘルドコンピュータ、携帯情報端末またはインターネット対応ワイヤレスセルラ装置（インターネット対応携帯電話等）に、最大容量、電池充電残量および電池の消費速度を含む電池容量を報告する電力モニタ回路を搭載することが当分野において知られている。
さらに、電力センサをグラフィックスチップまたはメモリシステムに設けて、チップでの電圧降下から直接、電力消費を計算することも可能である。
このようにして、グラフィックスカードによって消費される実際の電力も測定することができる。
本発明の好ましい実施形態では、コンピュータシステムに、電力残量および消費電力を測定するために使用されるこのような電力モニタ回路が搭載される。
【００２３】
好ましい実施形態では、プロセッサが任意のタイプのグラフィックスアプリケーションを実行するときに、電力統計モジュール１５０により、プロセッサは電力モニタ回路からの電力消費および残りの電池寿命についての情報を受け取ることができる。
好ましい実施形態では、プロセッサは、電力センサを備え、これもまたグラフィックスカードまたはグラフィックスアクセラレータによる電力消費に関する情報を提供する。
電力統計モジュールは、この情報を追跡し記録する。
電力統計モジュールは、以前の電力統計を現在の電力統計と比較することによって電力使用速度も計算する。
【００２４】
電力統計モジュールはこの情報を監視し、この情報を電力／ＬＯＤ管理モジュール１６０に定期的な更新間隔で提供する。
この情報、そして、ユーザによって選択される好ましい画質レベルを使用して、電力／ＬＯＤ管理モジュールはアプリケーションの動作を制御する。
より具体的に言えば、電力／ＬＯＤ管理モジュールはアプリケーションに、所望の画質レベルに従って、レンダリングされる画像の精細度を変更するように設計されたいくつかの異なるステップのいずれかひとつを実行するように指示する。
精細度を調節する具体的なステップはアプリケーション毎に可変であり、さらに以下で詳細に説明する。
【００２５】
本発明は、ユーザが所望の画像精細度を選択し設定できるようにするユーザインタフェースをさらに備える。
このインタフェースは、好ましくは、ソフトウェアによって、ディスプレイに表示される仮想パネルまたはスイッチボード（以下、精細度（ＬＯＤ）パネルと呼ぶ）の形で実装される。
図４は、ユーザが電力残量統計に応じて、より具体的には電力残量レベルに応じて、好ましい画質レベルまたは精細度を選択できるようにするＬＯＤパネルの好ましい実施形態を示す。
【００２６】
図示するように、好ましい実施形態では、ＬＯＤパネルは、３つの対話式スライドスイッチ４１０ａ〜ｃおよび対話式スライドスイッチのそれぞれに付随する選択ボックスセット４２５ａ〜ｃなどの複数のグラフィカルユーザインタフェース手段から構成される。
第１のスライドスイッチ４１０ａは高電力ＬＯＤ設定に対応する。
一方、第２のスイッチ４１０ｂおよび第３のスイッチ４１０ｃは、中電力ＬＯＤ設定および低電力ＬＯＤ設定に対応する。
スイッチ設定は、マウス、キーボード、タッチスクリーン、スタイラス、ジョイスティック、トラックボール等の入力装置を使用してパネル表示中の各スイッチを選択し、スイッチを上下にスライドさせて動かすことによって調節することができる。
好ましい実施形態では、スライドスイッチは、実際は所定の段階を有しており、スイッチが上下に動かされると、最も近い段階に位置決めされることになる。
スイッチ１個当たりの段階の数は可変であるが、好ましい実施形態では、スイッチは少なくとも２つの異なる段階を有することが好ましい。
【００２７】
好ましい実施形態では、定期的な更新間隔で電力統計を受け取って、これら統計を利用する電力／ＬＯＤ管理モジュール１６０は、システムが高電力レベルにあるのか、中電力レベルにあるのか、それとも低電力レベルにあるのかを判断することができる。
たとえば、電力／ＬＯＤ管理モジュール残存電池寿命についての情報などの様々な電力統計。
電力／ＬＯＤ管理モジュールは、この情報を所定のしきい値レベルと比較して、システムが高電力レベルにあるのか、中電力レベルにあるのか、それとも低電力レベルにあるのかを判断することができる。
電力／ＬＯＤ管理モジュールは、システムが高電力レベルにあるのか、中電力レベルにあるのか、それとも低電力レベルにあるのかを判断すると、そのレベルのスイッチ設定を利用してレンダリングされるグラフィックスの精細度を調節する。
したがって、図４に示す設定を使用して、アプリケーションは、システムが高電力レベルで動作している場合は高精細度でグラフィックスをレンダリングし、システムが低電力レベルで動作している場合は、はるかに低い精細度でグラフィックスをレンダリングする。
【００２８】
さらに図示するように、特定の選択ボックス４２５ａ〜ｃを、対話式スライドスイッチのそれぞれに付随させることができ、ユーザが電力レベルに応じて特定のグラフィックス機能をイネーブルまたはディセーブルできるようにできる。
たとえば、特定の選択ボックスによって、ユーザは、レンダリングの際にグラフィックスに通常表すことができる特殊効果をイネーブルまたはディセーブルできるようになり得る。
特殊効果には、風で動いている木々または小波がたっている、もしくは流れている水を示すことができる３Ｄモーションエフェクトのようなものを含めることができる。
多くの場合、こういった効果はバックグラウンドで実行されて、アプリケーションに本物らしさおよびリアルさがはるかに高い感じを与えるが、グラフィックス画像の全体的な品質を損ねることなく、電力節減のためにディセーブルすることができる。
他の対話式グラフィカルユーザインタフェース手段を利用して、ユーザが電力に応じて精細度トレードオフを選択できるようにしてもよいことを理解されたい。
【００２９】
好ましい実施形態では、ユーザは、グラフィックスアプリケーションが実行される前に、異なる電力レベルにおいて、電力残量に応じた所望の画質レベルまたは精細度を設定することになり、これら設定は後にユーザにより調節されるまで変わらないままである。
別法として、コンピュータシステムが、電力レベルが低下するにつれて、精細度または画質レベルを調節するようにユーザを促し、それによってユーザが異なる段階で所望の画質レベルまたは精細度を調節できるようにしてもよい。
【００３０】
図５は、電力残量に応じてグラフィックス画像の精細度を管理する好ましいステップを示すフローチャートを示す。
図示するように、プロセスの最初のステップは、ユーザが好ましい画質レベルまたは精細度を選択し、設定することである（５０１）。
画質レベルは、電力レベルの関数として、またはユーザにより決定される電力残量を持たせるべき時間である残存電源寿命の関数として設定することができる。
仮想パネルまたはスイッチボードの形のソフトウェアインタフェースを使用して、ユーザは所定の電力レベルの関数として、または所定の残存寿命レベルの関数として、様々な好ましい画像レンダリング品質または精細度を選択する。
たとえば、ユーザは、電源が第１の電力レベルにある場合、または、電源が特定の残存有効寿命を有する場合は、第１の所望の画質レベルまたは精細度を選択することができる。
次いでユーザは、電源が特定の電力レベル未満になる、または、寿命残量のわずか半分しか有さない場合は、第２の異なる画質レベルまたは精細度を使用するように選択することができる。
【００３１】
好ましい実施形態では、ソフトウェアインタフェースは非常に基本的なものであり、ユーザは、グラフィックスアプリケーションが実行される前に、これら電力レベルと精細度のトレードオフを設定することになり、これら設定は後にユーザにより調節されるまで変わらないままである。
これら所望の画質レベルまたは精細度は、好ましくは、所定の電力レベルまたは残存電源寿命それぞれの「高」、「中」または「低」画質オプション等の画質選択肢の形である。
【００３２】
次に、プロセッサはグラフィックスアプリケーションを実行する。
プロセッサがアプリケーションを実行する際は、電力統計モジュールが自動的に実行され、それによってプロセッサは、有用な情報および電力統計（電力使用量および残存電池寿命についての統計等）を受け取ることが可能になる（５０２）。
電力統計モジュールは、この情報をプロセッサから受け取り、この情報を追跡／記録する。
好ましい実施形態では、プロセッサは、グラフィックスカードまたはグラフィックスアクセラレータによる電力消費に関する情報も受け取ることになる。
この情報を用いて、電力統計モジュールは電力使用速度を求めることができる（５０３）。
次いでこの統計情報はすべて、電力ＬＯＤ管理モジュール１６０に提供される（５０４）。
【００３３】
電力統計モジュールから受け取った情報を使用して、次いで電力／ＬＯＤ管理モジュールは現在の電力レベルを求める（５０５）。
次いで電力／ＬＯＤ管理モジュールは、現在の電力レベルを、様々な好ましい画質レベルまたは精細度の選択に使用された仮想パネルまたはスイッチボードにおける所定のレベルの１つと突き合わせる（５０６）。
次いで電力／ＬＯＤ管理モジュールは、ユーザ選択精細度に応じて出力画像の精細度を調節する（５０７）。
より具体的には、ユーザ選択画質レベルまたは精細度を使用して、電力ＬＯＤ管理モジュールは、電力残量／電力消費に応じてアプリケーションレベルで精細度を変更する。
精細度の調節は、いろいろな方法のいずれかで実現することができる。
たとえば、単一のフレームに表示されるオブジェクトの数を、任意の１つのオブジェクト（またはいくつかのオブジェクト）のデータを無視してグラフィックスカードまたはグラフィックスアクセラレータに送らないことで低減することができる。
別法として、任意のオブジェクトの表現に使用されるデータ量を低減するようにしてもよい。
またさらに、グラフィックスパイプラインを通す反復の数を低減すること、または、パイプライン内の画像処理ステップのいくつかをなくすことによって、フレーム内のオブジェクトの解像度を犠牲にすることもできる。
【００３４】
≪精細度を低減させる好ましい方法≫
上に説明したように、精細度を低減させることができるいくつかの方法がある。
以下では、レンダリングされるグラフィックス画像の精細度を低減するために呼び出すことができる好ましい方法のいくつかの例を提示する。
【００３５】
ワイヤフレーム：  ＣＡＤ／ＣＡＭ作業および初期のビデオゲームで一般的な方法は、分離された点の描画、線で結ばれた点（ワイヤフレーム）の描画および完全な塗りつぶしポリゴンの描画の中から選択することであった。
たとえば、多くのＣＡＤシステムでは、多くの大型モデルは、完全なポリゴンを使うと、対話式設計使用に十分高速な速度で描画することができないため、ユーザがビューを切り替えることができる。
したがって、特定のグラフィックスアプリケーションでの電力に応じてワイヤフレーム技法を選択的に使用することで、電力資源を大幅に節減することができる。
【００３６】
テクスチャマップ解像度：  多くのグラフィックスアプリケーションは、モデルを、テクスチャマップとして知られる画像で覆う。
テクスチャマップは、ユーザがズームインまたはズームアウトする際に、精細度をなめらかに変更できるようにするＭｉｐＭａｐと呼ばれるピラミッド構造に記憶される。
その主な目的は、使用する精細度が高すぎると望ましくない画像アーチファクトが発生する場合があるため、画質を向上させることである。
アプリケーションは、好ましくは、電力に応じてＭｉｐＭａｐレベルを変更し、それによって精細度をさらに低減することができる。
より具体的には、ＭｉｐＭａｐはいくつかの異なるピクセルアレイ（４×４、８×８、１６×１６、３２×３２、６４×６４等）として記憶される同じ画像の複数のバージョンを含むことができる。
動きがあるゲームアプリケーションでは、アプリケーションは、ある特定のズーム率または速度の場合は３２×３２アレイで画像をレンダリングするように構成することができ、一方、静止の場合は６４×６４アレイの質が最適であり得る。
好ましい実施形態では、アプリケーションは、動きだけではなく電力にも応じて精細度を３２×３２に低減して、６４×６４で必要なレンダリング作業の１／４で実行することができる。
【００３７】
アンチエイリアシング：  アンチエイリアシングは、「ぎざぎざ」したエッジを綺麗かつ滑らかに見えるようにする一般的なグラフィックス操作である。
これは、大半の高度グラフィックスカードで使用され、現在、いくつかのゲームアプリケーションでは、この機能をオンオフして、下位すなわち低速のプロセッサを有するユーザがアプリケーションの速度を調節することができるようにしている。
好ましい実施形態では、アンチエイリアシング機能も電力に応じて非アクティブ化することができる。
【００３８】
プリミティブ簡易化：  グラフィックスに使用される多くの３Ｄオブジェクトは、三角形、点および／または線（プリミティブ：これについては前述しており、これら三角形、点および／または線のそれぞれを示すために使用される）のメッシュとして記憶される。
プリミティブは多くの場合、それぞれのｚ座標の順にレンダリングされて、詳細な３Ｄ画像を生成すると共に、重なりによる期待に反する画像効果を低減する。
好ましい実施形態では、これらプリミティブの数およびサイズは、電力に応じて精細度を低減するために変更することが可能である。
さらに、各プリミティブ内の各ピクセルの記述に使用されるビット解像度もまた、各プリミティブのレンダリングに使用されるデータ量を低減し、電力消費を効果的に管理するために、（たとえば、利用可能な色の数を減らすことにより）変更することができる。
【００３９】
浮動小数点精度：  電力消費を低減する１つの技法の用法は、平方根、除算および行列乗算等のレンダリング計算の精度を変更するというものである。
一度にたった１つの小数位だけでも、ソフトウェアにおける浮動小数点計算の実行を簡易化することにより、アプリケーションは必要なビット数を低減して演算を簡易化することができ、それによってかなりの電力を節減することができる。
【００４０】
ライティング計算：  コンピュータグラフィックスの品質は多くの場合、ライティング効果の計算に使用されるコードの精巧さおよび複雑さによって決まる。
たとえば、２個、３個、４個またはそれよりも多くの光源で、あるシーンをレンダリングすることが可能である。
光源の数およびアプリケーションの複雑さに応じて、良質なシェーディングおよびシャドーイングを提供するために使用することができる多くの技法がある。
ライティングおよびシェーディングのより一般的ないくつかの方法としては、フォンシェーディング、グローシェーディングおよび環境マッピングが挙げられる。
これら方法は、三角形１個につきベクトル積を１回計算する必要があるものもあれば、ピクセル１個につきベクトル積を１回計算する必要があるものもあるため、それぞれの時間コストおよび電力コストにおいて大幅に異なり得る。
光源の数を低減し、より簡易化されたシェーディングおよびシャドーイング技法を使用することにより、本発明は大幅に電力を節減することができる。
【００４１】
特殊効果のオフ：  先に説明したように、多くのコンピュータゲームは、滝、背景の炎のアニメーション、霧、風または流水に起因する画像の動き等の特殊効果を実行することになる。
多くの場合、これらゲームは、低速なコンピュータのユーザがこれら機能を手動でオフにしてゲームプレイを加速できるようにするユーザインタフェースを提供する。
本発明の好ましい実施形態では、ユーザは同様に、利用可能な電力資源に応じてこれら機能をディセーブルすることを選択できる。
【００４２】
図６は、電力に応じて所望の画像精細度トレードオフを選択するためのＬＯＤパネルの別の好ましい実施形態を示す。
図６に示すように、ＬＯＤパネルの別の好ましい実施形態は、電池が確実に所望の時間長持つようにシステムを構成するオプションを含む。
たとえば、ユーザは、携帯機器でユーザがＤＶＤの映像を見られるようにするグラフィックスアプリケーションを実行することができる。
ＤＶＤの映像は２時間１５分の上演時間を有し得る。
したがって、映像の全長にわたって電池電力を確実に持たせるため、ユーザはこのオプションを選択して、精細度を管理するようにシステムを構成することを望む場合がある。
【００４３】
さらに、図６に示す好ましい実施形態では、ユーザは、電池電力が特定の容量未満に減少するとＬＯＤを管理するようにシステムを構成することができる。
あるいは、ユーザはＬＯＤパネル上の両方のボックスを選択し、それによって両方の機能を組み合わせることができ、このような場合、システムは、電池電力が映像の全長にわたって確実に持たせるために精細度を管理することになるが、電池電力が特定のレベル未満に減少した後に初めて、ＬＯＤの能動的な管理を開始することになる。
あるいは、ユーザはＬＯＤ管理手段の完全なディセーブルを選択することもできる。
【００４４】
図６に示すＬＯＤパネルは、好ましくは、より高度なユーザにより使用されるシステムで利用され、図示するように、ＬＯＤパネルの本実施形態では、ユーザが実際にシステムに利用される精細度管理技法を選択することが可能である。
したがって、本実施形態では、ユーザは、電力残量に応じてシステムが実施する実際のＬＯＤトレードオフを選択する。
たとえば、ユーザがＬＯＤパネル上の「Advanced Shading（高度シェーディング）」ボックスを選択した場合、システムは、本明細書において先に詳細に説明したように、光源の数を低減し、より簡易化されたシェーディングおよびシャドーイング技法を使用することになる。
ユーザがＬＯＤパネル上の「Polygon LOD（ポリゴンＬＯＤ）」ボックスを選択した場合、電力に応じて各プリミティブの数およびサイズを変更して精細度を低減することができる。
さらに、各三角形内のビット解像度を変更して、各三角形のレンダリングに使用されるデータ量を低減し、電力消費を管理することもできる。
ユーザはＬＯＤパネル上の「Special Effects（特殊効果）」ボックスの非選択を選択することができ、この場合、本明細書において先に説明したように、いずれの特殊効果もディセーブルすることを伴うＬＯＤ管理技法は、電力に応じてのＬＯＤの管理に使用されない。
【００４５】
本発明の上記詳細な説明は例示を目的として提供されたものであり、網羅的であること、すなわち、本発明を、開示された実施形態そのものに限定することを意図するものではない。
本発明のいくつかの実施形態を説明したが、これは例示を目的として提供されたものであり、網羅的であること、すなわち、本発明を、開示された実施形態そのものに限定することを意図するものではない。
たとえば、本明細書において説明した実施形態は、ソートミドルグラフィックスアーキテクチャを参照して説明された。
しかし、本発明は、ソートファーストまたはソートラストグラフィックスアーキテクチャ等、任意のタイプのグラフィックスアーキテクチャで実施できることが分かるであろう。
様々な実施形態は、本発明の主要な特徴の実装に使用される構成に応じて、種々の性能および利点を提供することができる。
したがって、本発明の範囲は、添付の特許請求の範囲によってのみ規定され限定される。
【図面の簡単な説明】
【００４６】
【図１】本発明を利用するコンピュータプログラムの好ましい実施形態を示す機能ブロック図を示す。
【図２】本発明の好ましい実施形態において利用されるソートミドルグラフィックスアーキテクチャの簡略化されたブロック図である。
【図３】電力が最大レベルにあるときのソートミドルグラフィックスアーキテクチャの通常動作を示すフローチャートを示す。
【図４】本発明の好ましい実施形態によるユーザ選択画像レンダリングトレードオフのための精細度パネルインタフェースを示す。
【図５】本発明の好ましい実施形態による電力残量に応じてグラフィックス画像の精細度を管理する好ましいステップを示すフローチャートを示す。
【図６】電力に応じて所望の画像精細度トレードオフを選択するための精細度パネルインタフェースの別の好ましい実施形態を示す。
【符号の説明】
【００４７】
１１０・・・プロセッサ，
１１５・・・電池，
１２０・・・グラフィックスディスプレイ，
１３０・・・グラフィックスカード／アクセラレータ，
１３５・・・メモリ，
１４０・・・グラフィックスアプリケーション，
１５０・・・電力統計モジュール，
１６０・・・電力ＬＯＤモジュール，
１７５・・・インターネット接続回路，
２１２・・・ホストインタフェース，
２１４ａ，２１４ｂ・・・ジオメトリ処理モジュール，
２１６ａ，２１６ｂ・・・ラスタ化モジュール，
２１８ａ，２１８ｂ・・・ブリッツェル入力バス，
２２０ａ，２２０ｂ・・・浮動小数点／固定小数点モジュール，
２２２ａ，２２２ｂ・・・ブリッツェン出力バス，
２２４ａ，２２４ｂ，２２６ａ，２２６ｂ・・・リッジラインバス，
【図１】
2005525654.tif 000003
【図２】
2005525654.tif 000004
【図３】
2005525654.tif 000005
【図４】
2005525654.tif 000006
【図５】
2005525654.tif 000007
【図６】
2005525654.tif 000008
【国際調査報告】
2005525654.tif 000009
2005525654.tif 000010
2005525654.tif 000011