JP2010513956A - ポスト−レンダリング・グラフィックス・スケーリング - Google Patents

ポスト−レンダリング・グラフィックス・スケーリング Download PDF

Info

Publication number
JP2010513956A
JP2010513956A JP2009541629A JP2009541629A JP2010513956A JP 2010513956 A JP2010513956 A JP 2010513956A JP 2009541629 A JP2009541629 A JP 2009541629A JP 2009541629 A JP2009541629 A JP 2009541629A JP 2010513956 A JP2010513956 A JP 2010513956A
Authority
JP
Japan
Prior art keywords
resolution
destination
source
display
scaling
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.)
Pending
Application number
JP2009541629A
Other languages
English (en)
Inventor
ウェイブリュー、スティーブン・トッド
ウィルソン、サイモン
エリス、ブライアン
エルミー、ババック
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2010513956A publication Critical patent/JP2010513956A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

レンダリングされた表面をスケーリングするための装置、方法及びコンピュータ・プログラム製品。装置は、転送元解像度で表面をレンダリングするためのグラフィックス・プロセッサを具備し、スケーリング・パラメータは、表面と関連付けられ、スケーリング・パラメータは転送元解像度及び転送先解像度で定義される。装置は、レンダリングされた表面を転送先解像度でスケーリングするためのディスプレイ・プロセッサをさらに具備する。 好ましくは、前記スケーリング・パラメータはEGL表面特性である。
【選択図】 図9

Description

関連出願
本出願は、2006年12月15日出願の米国仮特許出願第60/870,348号の利益を主張する。この仮出願は、参照によって本明細書に組み込まれる。
本開示は、一般にグラフィックス処理に関し、より詳細には、レンダリング処理後のグラフィックス・サーフェスのスケーリングに関する。
グラフィックス・プロセッシング・ユニット(GPU)は、コンピュータ化されたグラフィックスをレンダリング(rendering)し、操作し、時に表示するために利用される専用のグラフィックス・レンダリング(graphics rendering)装置である。一般に、GPUは、グラフィックスに関連した複雑なアルゴリズムの範囲に対する一般的な汎用の中央処理装置(CPU)より効率的な処理を提供する、高度に並列化した構造で構築されている。例えば、複雑なアルゴリズムは、3次元のコンピュータ化されたグラフィックスの表現と対応する。GPUは、CPUを用いてディスプレイに直接イメージを描くより早くディスプレイ上に複雑な3次元イメージを作成するため、フォーミング・ポイント(forming point)、複数の線(lines)及び三角形(triangles)のような、いわゆる、「プリミティブ」(“primitive”)なグラフィックス・オペレーションを実行する。
GPUや他のグラフィックス・ハードウェアは、利用できるメモリや電源によってしばしば制限されている。特に、モバイル装置に利用されるグラフィックス・ハードウェアは、一般的にこれらの資源に関して非常に制限がある。モバイル装置に埋め込まれたグラフィックス・ハードウェアは、一般にバッテリーを電源とするため、グラフィックス・ハードウェアとして専用出来る電力量は、モバイル装置の望ましい電池寿命を保証するためにしばしば制限される。そのため、フレーム・レートの増加も電力使用量の増加を要求するため、デスクトップ型コンピュータに関するグラフィックス・ハードウェアと比較したとき、モバイル・グラフィックス・ハードウェアに関する最大のフレーム・レートは、しばしば制限される。
一般的に、モバイル・グラフィックス・ハードウェアに関する利用可能な内部メモリの大容量化は、しばしばモバイル装置のシリコン領域を小さく保持することが要望されるために制限される。最新のモバイル・グラフィックスの構成は、必要としている内部メモリの量を減らすため、ビニング・アルゴリズム(binning algorithm)を実行している。ビニング・アルゴリズムは、2つ以上の異なる領域内のグラフィックス・フレームを本質的に分割する。グラフィックス・フレームは、レンダリングされるための特定の場面(scene)に関する表示領域である。これらの領域は、少量のメモリの内部をグラフィックス・プロセッサに利用して個々にレンダリングされる。このように、必要とされる内部メモリの量が低減される。これは、全ての場面をレンダリングするために要求される計算及びメモリの帯域幅を増加させる。しかしながら、一般的に、ビニング・アルゴリズムは、前もって決められたディスプレイ解像度に関して最適化されている。現在のモバイル・グラフィックス・ハードウェアは、一般的に、640×480ピクセルのビデオ・グラフィックス・アレイ(Video Graphics array)(VGA)解像度、又はそれ以下で場面をレンダリングしている。ある場面が前もって決められた解像度とは別の解像度として表示される場合、ビニング・アルゴリズムの利点は、実現されないかもしれない。
あるいは、ピクセルの品質が最重要であるとき、複数のGPUは、一般的に、アンチ−エイリアシング技術(anti-aliasing techniques)を実行する。アンチ−エイリアシングの最も一般的な方法は、マルチ−サンプル・レンダリング(multi-sample rendering)、マルチ−パス・アキュムレーション(multi-pass accumulation)、又は、エクスペンシブ・パー−プリミティブ・エッジ・コンピュテーション(expensive per-primitive edge computations)を含んでいる。しかしながら、このような技術は、モバイル装置のグラフィックス・ハードウェアで一般的に利用可能な量より多くのメモリ、電力、及び/又は、シリコン領域をしばしば要求する。そのため、これらの技術は、一般的に、モバイル・セッティングでは実行できない。
異なるモバイル装置を横断してディスプレイの解像度を増加させたり、変化させたりする要望は、モバイル・セッティングに各種制限を与えられた現在のグラフィックス・ハードウェアの能力としばしば適合しない。そのため、3Dグラフィックスを含む、モバイル装置上で表示可能なグラフィックスの質は、改善が困難であり、モバイル装置に採用されたより高解像度のディスプレイを利用することは、殆ど実現されていなかった。
上記の考察に鑑みて、本発明は、グラフィックス・フレームに関して要求されるディスプレイ解像度がグラフィックス・フレームをレンダリングするGPUでの解像度より大きい状況において、GPUによってレンダリングされるピクセルの数を少なくすることにより、及び/または、ビンニング・アルゴリズムに対して必要なビンの数を減らすことにより、電力消費量を改善し、グラフィックス・プロセスに関する維持可能なフレーム・レート・パフォーマンスを改善する方法、装置及びコンピュータ・プログラムを提示する。これは、レンダリングされたグラフィックス・フレームを要望された解像度にスケーリングするためのGPUとは別のプロセッサを利用することによって達成される。
更に、方法、装置及びコンピュータ・プログラムは、GPUに、実際にディスプレイされるより大きいある解像度で場面をレンダリングさせ、その後、それがディスプレイにコピーされるように別のプロセッサを用いて場面をダウンスケーリングすることにより、ピクセルの質を改善するために利用される。幾つかのシナリオにおいて、このダウンスケーリングの実施は、付随したハードウェアを費やすことなくマルチ−パス・アキュムレーション・バッファ技術と同様の結果を達成する。
1つの実施形態によれば、レンダリングされたグラフィックス・フレームをスケーリングするための装置は、転送元解像度(source resolution)で表面(surface)をレンダリングするためのグラフィックス・プロセッサを含み、ここでスケーリング・パラメータが表面と関連付けられ、前記スケーリング・パラメータは、前記転送元解像度及び転送先解像度(destination resolution)を定義する。前記装置は、前記レンダリングされた表面を前記転送先解像度にスケーリングするように構成されたディスプレイ・プロセッサをさらに含む。好ましくは、前記スケーリング・パラメータは、EGL表面特性(EGL surface attributes)である。
一つ以上の実施形態の詳細は、添付した図面及び下記の記述によって説明される。
本発明の他の特徴、目的及び利点は、詳細な説明及び図面、及び請求項から明らかになるであろう。
図1は、GPU及びディスプレイ・プロセッサのブロック図。 図2は、表面を基準化する方法のフローチャート図。 図3は、モバイル装置内のGPUとディスプレイ・プロセッサのブロック図。 図4は、表面をスケーリングする方法のフローチャート図。 図5は、VGAからWVGA(ワイドVGA)にスケーリングする例を示す図。 図6は、VGAからXGA(拡張グラフィックス・アレイ)にスケーリングする例を示す図。 図7は、VGAからQVGA(1/4VGA)及びQQVGA(1/16VGA)にスケーリングする例を示す。 図8は、スケーリング・パラメータを含んだEGL表面に関する特性を示す図。 図9は、転送元矩形及び転送先矩形オフセットを具備したブロック図。
発明の詳細な説明
図1は、GPUとディスプレイ・プロセッサのブロック図を示している。GPU110は、最後のディスプレイに対するグラフィックス・フレームをレンダリングするために利用されるグラフィックス・プロセッサである。本明細書に関して、レンダリングするという用語は、3D及び2Dのレンダリングの両方にあてはまる。例えば、GPU110は、3D・グラフィックス・フレームをレンダリングするためにオープン・グラフィックス・ライブラリー(OpenGL)命令を利用してもよく、2D・グラフィックス・フレームをレンダリングするためにオープン・ベクトル・グラフィックス(OpenVG)命令を利用してもよい。しかしながら、グラフィックスをレンダリングするためのどのような基準、方法、又は、技術がGPU110によって利用されてもよい。
GPU110は、メモリ150に格納されている命令を実行する。メモリ150は、命令を格納できる任意の不揮発性又は揮発性メモリを含む。更に、GPU110は、エアー・インターフェース(例えば、CDMA1x,EV−DO,WiFi)を通じて受け取った命令を実行してもよい。GPU110によってレンダリングされたグラフィックス・フレームは、バッファ120に格納される。バッファ120は、データを格納することができる任意の不揮発性か揮発性メモリである。
この文脈において、グラフィックス・フレームは、表示されるべき全ての場面である。グラフィックス・フレームは、GPU110によって個別にレンダリングされる1つ以上の表面で構成される。ある表面は、2Dイメージ、又は、ある視点から3Dの物体を表現した2Dのいずれかである。グラフィックス・フレームに表示された多数のレンダリングされた表面は、オーバーレイ及び/又は、混合操作を介して組み合わされる。
GPU110によってレンダリングされた表面は、特定の解像度に合わせてレンダリングされる。グラフィックス用語において、解像度とは、ディスプレイ上に表示されたピクセルの数である。例えば、VGA解像度は、640ピクセル×480ピクセルである。解像度は、ディスプレイの物理的なサイズを指すわけではなく、むしろ、表示されたピクセルの数を指す。GPU110が表面をレンダリングするための解像度は、必ずしもディスプレイの解像度である必要はない。この事実を特徴付けるために、GPU110がレンダリングする解像度は、転送元解像度と称する。転送元矩形(source rect)125は、スケーリング操作に入力する転送元解像度の矩形の部分集合、又は、関心領域(ROI)を特定する。この矩形の部分集合の原点(origin)は、転送元解像度の原点と一致してもよいし、しなくてもよい。本開示の目的のために、矩形(rects)の原点、転送元のバッファ及びディスプレイは、左下隅として定義される。実際に表示される解像度は、転送先解像度と称される。転送先矩形(dest rect)145は、スケーリング・オペレーションの出力が描かれるディスプレイの矩形の部分集合を特定する。この矩形の原点は、ディスプレイの原点と一致してもよいし、しなくてもよい。転送先矩形145は、ディスプレイの特性に基づいて前もって決められていてもよいし、GPUを使用するプログラムによって決定されてもよい。転送元矩形125及び転送先矩形145の値は、GPU110及びディスプレイ・プロセッサ130によって利用されるためにメモリ150に格納される。
特に、転送元矩形125及び転送先矩形145は、レンダリングされ、表示されるべき表面と関連付けられたパラメータとして格納される。一つの例として、これらのパラメータは、表面のエンベデッド−システム・グラフィックス・ライブラリ(Embedded-System Graphics Library)(EGLTM)(登録商標)の記載中に含まれた特性である。EGLは、OpenGL ES 又は、OpenVGのようなAPIsと基本的なネイティブ・プラットホーム・ウィンドウ・システム(native platform window system)との間のインターフェースである。このように、第3者のアプリケーション開発者は、スケーリング処理を実行するための特定のディスプレイ・プロセッサを命令する別個のコマンドを開発する必要なしに、ありふれたプログラミング言語のスケーリング・ファクター(scaling factors)で定義することができる。図8は、転送元矩形125及び転送先矩形145のスケーリング・パラメータを含んだEGLの表面の特性800の一例を示している。
ディスプレイ・プロセッサ130は、ディスプレイ140を駆動するため(すなわち、ピクセルカラーの値をディスプレイに送るため)及びレンダリングされた表面上でポスト・レンダリング処理を実行するためのプロセッサである。ディスプレイ・プロセッサ130は、任意のタイプのプロセッサでよい。一例として、ディスプレイ・プロセッサ130は、カリフォルニア州サンディエゴのクァルコム社によって設計されたモバイル・ステーション・モデム(Mobile Station Modems)に埋め込まれたモバイル・ディスプレイ・プロセッサ(Mobile Display Processor)(MDP)であってもよい。MDPは、ディスプレイを駆動し、レンダリングされた表面上でポスト・レンダリング機能を実行するために提供され、最適化されたプロセッサである。このような機能は、スケーリング,ローテーション(rotation),ブレンディング(blending)及びオーバーレイイング(overlaying)を含んでいる。ディスプレイ・プロセッサ130は、メモリ150に格納された命令を実行するために構成されている。
GPU110が、転送元矩形125の表面をレンダリングし、バッファ120内にそれを格納すると、ディスプレイ・プロセッサ130は、バッファ120からレンダリングされた表面を検索し、表面をディスプレイの転送先矩形145にスケーリングする。転送先矩形145は、メモリ150から得てもよいし、又は、ディスプレイ140の特性に基づいて前もって決定していてもよい。特に、転送先矩形145は、レンダリングされた表面のEGL記載に含まれた転送先矩形 特性から検索してもよいスケーリングに関する異なるプロセッサを利用することによって、プロセッシングオーバーヘッド(processing overhead)(上述したように、モバイル・セッティングにおいて、しばしば高価である)は、GPUに対して節約される。
転送元矩形125及び転送先矩形145は、全ての方向でピクセルの数を示す幅と高さの値で各々定義される。また、転送元矩形は、GPUによってレンダリングされたバッファのある位置に関連するオフセットを定義する、x,y座標を含む。図9で理解されるように、転送元矩形125は、バッファ120の左下隅と関連した、x,y座標によって定義される。この例において、バッファの左下隅は、(0,0)として定義される。転送元矩形125のx,y座標は、バッファ120内のある位置から定義されてもよい。転送元矩形125の左下隅で定義されることによって、転送元矩形の高さ及び幅を同定することに加えて、バッファ120内(バッファ全体の範囲まで)におけるレンダリングされたイメージの特定の部分が最終的なディスプレイのために選ばれる。
転送先矩形145も、x,y値によって定義される。転送先矩形のx,y値は、ディスプレイ140上の幾つかのポイントに関連するオフセットとして定義する。図9で理解されるように、転送先矩形145は、ディスプレイ140の左下隅と関連した、x,y座標によって定義される。この例において、ディスプレイ140の左下隅は、(0,0)として定義される。転送先矩形145のx,y座標は、ディスプレイ140上の任意の位置から定義されてもよい。転送先矩形145の左下隅で定義されることによって、転送元矩形125で定義された所望のイメージは、ディスプレイ140の任意の場所でオフセットされる。
図1に示されるように、転送先矩形145は、ディスプレイ140で可能な最大の解像度である。しかしながら、ディスプレイ・プロセッサ130は、転送元矩形からのレンダリングされた表面をいつもディスプレイの最大の解像度にスケーリングする必要はない。ディスプレイ・プロセッサ130は、転送元矩形125からのレンダリングされた表面を、ディスプレイの最大の解像度又はそれよりも低い任意の解像度にスケーリングするために構成されてもよいし、命令されてもよい。好ましくは、転送元矩形125対転送先矩形145のスケーリング比は、0.25と4.00との間である。しかしながら、どのスケーリング比が利用されてもよい。スケーリング比の一つの算定基準は、x方向の転送元矩形125の幅をx方向の転送先矩形145の幅で割ることで決定することができる。スケーリング比の別の算定基準は、y方向の転送元矩形125及びy方向の転送先145の高さを分割することで決定してもよい。幅、又は、高さに関するスケーリング比は、水平、又は、垂直に延びる効果として独立に扱われてもよいし、転送元矩形から転送先矩に対する同じアスペクト比を保持するために同じであるとしてもよい。スケーリングプロセスの例は、図5〜図7を参照することでより詳細に論ずることができるであろう。
EGLスケーリングの特性を利用することは、表面の内容がバッファにポスティングされている間にターゲットとなるディスプレイ装置にコピーされるので、WGLウィンドウ表面をリスケーリング(rescaling)することを可能にする。アップスケーリング(upscaling)及びダウンスケーリング(downscaling)の両方の機能がサポートされる。EGL表面の最初の次元は、ターゲットディスプレイと一致するであろう。ユーザーは、転送元及び転送先矩形として知られる二つの長方形の1つ、又は、2つを指定する。転送元矩形は、転送先矩形で指定された必要とされるサイズにスケーリングされる。通常、転送元矩形は、EGL表面のサイズ以下になるであろう。しかしながら、ダウンスケーリングが求められる場合、実行限界まで大きくした転送元矩形が指定されてもよい。ダウンスケーリングは、内部にアンチ−エイリアシング能力を持たないレンダリング・エンジン(rendering engine)に対してアンチ−エイリアシングの近似を達成するために利用することができる。好ましくは、レンダリング・エンジン(すなわち、GPU)は、両方の次元で、要求されたサイズの少なくとも2倍の表面をレンダリングする。
より小さいウィンドウ表面の次元を利用することは、レンダリング時間、又は同義で、持続可能なフレーム・レートを増加することができる。メモリが制限されたレンダリング・エンジンが所望の次元の表面で機能できないプラットフォーム上では、より小さなウィンドウ表面のアップスケーリングは、ターゲットディスプレイ上で最大サイズの表面を生み出すことが出来る。
転送先矩形は、全ての(おそらくサイズ変更された)EGLウィンドウ表面がポスト・レンダリング・オペレーションとしてスケーリングされるであろう次元を指定する。最初の最大のディスプレイ・サイズが要求された出力である場合、転送先矩形は、NULLとしてパスしてもよい。転送先矩形は、ターゲットとなるディスプレイ装置のサイズ以下でなければならない。
電力の低減やフレーム・レートを改良するために、GPU110の3Dグラフィックス・パイプラインは、実際のディスプレイ領域より小さくレンダリングするよう構成されてもよい。例えば、WVGA(800×480)よりむしろ(VGA640×480)である。これは、表面をレンダリングするために要求されたピクセル計算及びビンの数の両方を低減する。ひとたび3Dパイプラインが、より低い解像度で表面のレンダリングを完了したならば、ディスプレイ・プロセッサは、それが実際のディスプレイに転送されている間に、それを実際のディスプレイ解像度にアップスケールするために使用される。改善されたピクセルの品質に関して、3Dパイプラインは、ディスプレイより大きな解像度でレンダリングするよう構成されてもよい。例えば、QVGA(320×240)の代わりにVGA(640×480)を用いてもよい。カラーイメージに関して、例えば、この技術は、最終的なピクセルのカラー各々を決定するために組み合わせられる4つのカラーの値を効果的に計算する。4つのカラーの値の組み合わせは、実際のディスプレイに転送されるとき3D表面をダウンスケールする間に、ディスプレイ・プロセッサによって実行される。
ラスター化(rasterization)した負荷軽減のシナリオにおいては、場面をレンダリングするためのレンダリングされたピクセルの数及び要求されたビンの数は、両方とも低減する。これは、GPUの計算負荷及び関連する電力消費量を低減する。ディスプレイ・プロセッサは、最大解像度で3Dの場面をレンダリングするためにGPUで一般的に要求されるよりも、表示する途中で3D表面をアップスケールするための計算時間をより少なくするよう要求している。画質を改善するシナリオにおいて、マルチ−サンプリングやバッファ・アキュムレーションに関する特別な目的のハードウェアを持たない単なるGPUは、特大の表面を生み出すために利用される。そして、この表面は表示を行う途中でダウンスケーリングされ、それは、蓄積型アンチエイリアシングを備えた場合と同様の結果を達成する。
図2は、表面をスケーリングするための方法のフローチャート図である。ステップ201において、表面をレンダリングするための転送元解像度が選択される。この転送元解像度は、GPU(例えば、ビデオゲーム)を利用するユーザプログラムで要求された解像度、GPUの利用可能な解像度、ディスプレイの利用可能な解像度、又は、これらの要素の組み合わせに基づいて選択される。複数のGPUが特定の解像度に対してしばしば最適化されるため、利用されている特定のGPUに対して最適化された転送元解像度を大抵望ましく選択できる。選択された転送元解像度は、レンダリングされた表面と関連付けられたパラメータとして格納される。例えば、転送元解像度は、EGL表面の記載の中で転送元矩形の特性として格納される。
ステップ202において、ある転送先解像度が選択される。再度、転送先解像度は、GPU(例えば、ビデオゲーム)を利用するユーザプログラムで要求される解像度、GPUの利用可能な解像度、ディスプレイの利用可能な解像度、又はこれらの要素の組み合わせに基づいて選択される。選択された転送先解像度は、レンダリングされた表面と関連付けられたパラメータとして格納される。例えば、転送先解像度は、EGL表面の記載の中の転送先矩形特性として格納される。
ステップ203において、表面が転送元解像度に合わせてレンダリングされる。その後、ステップ204において、レンダリングされた表面が転送先解像度に合わせてスケーリングされる。
図3は、GPUのブロック図及びモバイル装置のディスプレイ・プロセッサである。GPU310は、メモリ350に格納されたユーザプログラム390からの命令を実行する。1つの例として、GPU310は、カルフォルニア州、サニーヴェールのアドバンスト・マイクロ・デバイス社によって作られたImageon7シリーズのGPUであってもよい。メモリ350は、フラッシュ・ランダム・アクセス・メモリ(FRAM)として実装されてもよい。ユーザプログラム390は、GPU310を利用するどのようなプログラムであってもよい。例えば、ユーザプログラムは、ビデオゲームであってもよい。GPU310は、ユーザプログラム390からの命令を実行し、表示されるべき表面をバッファ320にレンダリングする。バッファ320は、同期ダイナミック・RAM(SDRAM)であってもよい。ユーザプログラム390は、レンダリングする様々な表面でどの転送元矩形とするかをGPU310に指示する。更に、ユーザプログラム390は、適切な転送先矩形を決定するために、ディスプレイ340との接続を確立し、及び/又はシステムパラメータを読み込むように構成されてもよい。このようなシステムパラメータは、メモリ350に格納されてもよい。一旦、転送元矩形及び転送先矩形がユーザプログラム390によって選択されると、ユーザプログラム390は、メモリ350にパラメータ370としてこれらの値を格納する。一例として、パラメータ370は、レンダリングされた表面のEGL記載の特性として格納されてもよい。
メモリ350は、アプリケーション・プログラミング・インターフェース(API)380を格納するために利用されてもよい。API380は、ユーザプログラム390とMDP330との間の線渠として仕える。GPU310が表面をバッファ320にレンダリングすると、ユーザプログラム390は、その表面を表示するための命令を実行する。そのようなディスプレイの命令は、API380を呼び出す機能である。その後、API380は、MDP330を制御するための制御プロセッサ360を指示し、MDP330は、バッファ320中のレンダリングされた表面を、コントロールパラメータ370として格納された選択された転送先矩形にスケーリングする。制御プロセッサ360は、カルフォルニア州、サンディエゴのクァルコム社によって設計されたMobile Station Modemsに埋め込まれたARM11プロセッサのようなアドバンストRISC(Advanced reduced instruction set computer)マシン(ARM)プロセッサであってもよい。MDP330は、カルフォルニア州、クァルコム社によって設計されたモバイル・ステーション・モデム(Mobile Station Modems)に埋め込まれたモバイル・ディスプレイ・プロセッサであってもよい。MDP330は、バッファ320からレンダリングされた表面を検索し、適切な転送先矩形に表面をスケーリングし、スケーリングされ、レンダリングされた表面を表示するためにディスプレイ340を駆動する。
図4は、表面をスケーリングするための方法のフローチャート図である。ステップ401において、ディスプレイへの接続が確立される。その後、ステップ402において、ディスプレイの特性が決定される。このような特性は、メモリに前もって格納されたデータから決定してもよいし、ディスプレイとの直接通信によって決定してもよい。ステップ403において、転送元解像度と転送先解像度が選択される。上述したように、転送元及び転送先解像度は、GPU(例えば、ビデオゲーム)を利用するユーザプログラムで要求される解像度、GPUの利用可能な解像度、ディスプレイの利用可能な解像度、又は、これらの要素の組み合わせに基づいて選択される。ステップ404において、転送元解像度及び転送先解像度は、APIに送信されるか、利用可能にされる。ステップ405において、表面が転送元解像度でレンダリングされる。ステップ406において、ディスプレイ・コマンド(例えば、eglSwapBuffers)がAPIに送信される。ステップ407において、APIは、転送先解像度にレンダリングされた表面をスケーリングするためにMDPにコマンドを送信する。
図5は、VGAからWVGA(Wide VGA)にスケーリングする例を示している。表面510は、VGA転送元矩形にレンダリングされたグラフィックである。ディスプレイ520は、WVGAディスプレイである。VGAとWVGAは、同じ高さを持っているが、WVGAは、より広い幅を持っている。VGAのアスペクト比(つまり、幅と高さの比)は、4:3(標準的なテレビと同様)であり、一方で、WVGAのアスペクト比は、16:9(多くの高精細テレビと同様)である。一例530は、VGA転送元解像度の表面510がWVGAディスプレイ上の中央にある場合を示している。この処理は、表面510自体をスケーリングしておらず、むしろ、同じサイズを保ったままでWVGAディスプレイの中央に転送元矩形をオフセットする転送先矩形を利用する。一例540は、異なるオフセットのVGA転送元矩形表面510を示している。表面510の全体がスケーリング処理で利用される必要がないことにも注意をすべきである。オフセットは、表面510の一部がディスプレイ上に表示されないよう選択されてもよい。一例550は、VGA 転送元矩形表面510がWVGAディスプレイ内で利用できる全てのピクセルを使用する転送先矩形にスケーリングされた場合を示している。転送元矩形及び転送先矩形のアスペクト比が異なるため、表面のすべてのグラフィックスが伸びて現れる。
図6は、VGAからXVGA(拡張VGA)にスケーリングする例を示している。表面610は、VGA転送元矩形にレンダリングされたグラフィックスである。ディスプレイ620は、XGAディスプレイである。VGAとXGAは、同じアスペクト比を持ち、各次元で1.6倍大きくしたものがXGAである。一例630は、VGA転送元矩形表面610がXGAディスプレイ上の中央に配置された場合を示している。この処理は、表面610自体をスケールしておらず、むしろ、同じサイズを保ったままでXGAディスプレイの中央に転送元矩形をオフセットする転送先矩形を利用する。(間、同じサイズに表面を保っている。)一例640は、異なるオフセットのVGA転送元矩形表面610を示している。表面610の全体がスケーリング処理に利用される必要が無いことにも注意をすべきである。オフセットは、表面610の一部がディスプレイ上に示されないよう選択されてもよい。一例650は、VGA転送元矩形610がWVGAディスプレイで利用可能な全てのピクセルを使用した転送先矩形にスケールリングされた場合について示している。
図5及び6で示されているこれらの例は、開示された装置、方法及びコンピュータ・プログラム製品が、他の従来のレンダリング方法と比較したとき、電力消費量を改善し、一定のフレーム・レートを提供し、又は、メモリの使用量を低減する助けとなるというシナリオを示している。
図7は、VGAからQVGA(1/4VGA)及びQQVGA(1/16VGA)にスケーリングする例を示している。表面710は、VGA転送元矩形にレンダリングされたグラフィックである。ディスプレイ720は、QVGAディスプレイである。VGAとQVGAは、同じアスペクト比を持ち、各次元でVGAの半分の大きにしたものがQVGAである。一例730は、VGA転送元矩形710がQQVGAにダウンスケールされ、QVGAディスプレイ上の中央に配置された場合を示している。一例740は、VGA転送元矩形表面710が異なるオフセットでQQVGAにダウンスケールされた場合を示している。表面710の全体がスケーリング処理で利用される必要が無いことにも注意すべきである。オフセットは、表面710の一部が画面上に示されないよう選択されてもよい。一例750は、VGA転送元矩形表面710がQVGAディスプレイで利用できる全てのピクセルを使用した転送先矩形でスケーリングされた場合を示している。
図7で示されている例は、開示された装置、方法及びコンピュータ・プログラム製品が、他の従来のレンダリング方法と比較したとき、電力消費量を改善し、一定のフレーム・レートを提供し、又は、メモリの使用量を低減する助けとなるというシナリオを示している。
上述された装置、方法及びコンピュータ・プログラム製品は、無線電話、携帯電話、ラップトップ型コンピュータ、無線マルチメディア装置(例えば、ポータブルビデオプレイヤー又はポータブルビデオゲーム装置、無線通信パソコン(PC)カード、パーソナル・デジタル・アシスタント(PDA)、外部又は内蔵モデム、或いは、無線チャネルを介して通信するあらゆるデバイスのような様々なタイプの装置に採用されてもよい。
このような装置は、アクセス末端(AT)、アクセス・ユニット、サブスクライバー・ユニット、モバイル・ステーション、モバイル・デバイス、モバイル・ユニット、モバイル・フォン、モバイル・リモート・ステーション、リモート・ターミナル、リモート・ユニット、ユーザー・デバイス、ユーザー・エクイップメント、ハンドヘルド・デバイスなどのような様々な名称を持っていてもよい。
上述したどのデバイスも、専用のハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせと同様に、命令やデータを格納するための専用のメモリを有していてよい。ソフトウェアで実行される場合、この技術は、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM)、フラッシュメモリ、磁気及び光学記憶媒体、又は、一つ又は複数のプロセスで実行可能な同様なもののようなコンピュータ可読媒体上の命令として具体化することができる。この命令は、1つ又は複数のプロセッサに本明細書中に記載された機能性のいくつかの態様を実行させる。
本明細書中に記載された技術は、一般的な目的のマイクロプロセッサ、デジタル・シグナル・プロセッサ(DSP)、特定用途の集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又は、他の等価論理装置内に実装されることができる。従って、モジュールとして記述されたコンポーネントは、そのようなあるプロセス、又は別個のプロセスのプログラム可能な機能を形成する。
ここで記述された様々な実施形態は全体、又は、一部を組み合わせてもよい。これら及び他の実施形態は特許請求項の範囲内にある。

Claims (24)

  1. グラフィックス処理のための装置であって、
    転送元解像度で表面をレンダリングするように構成されたグラフィックス・プロセッサと、なお、スケーリング・パラメータが前記表面と関連付けられ、前記スケーリング・パラメータは、前記転送元解像度及び転送先解像度を定義する;
    前記転送先解像度で前記レンダリングされた表面をスケーリングするように構成されたディスプレイ・プロセッサと;
    を具備する装置。
  2. 前記スケーリング・パラメータは、EGL表面特性である、請求項1に記載の装置。
  3. 前記転送元解像度及び転送先解像度は、転送元矩形及び転送先矩形によって定義される、請求項1に記載の装置。
  4. 前記転送元矩形は、前記レンダリングされた表面内の関心領域を定義し、前記転送先矩形は、前記レンダリングされた表面の前記関心領域を表示するための表示領域を定義する、請求項3に記載の装置。
  5. 前記スケーリング・パラメータを格納するように構成されたメモリと;
    前記スケーリング・パラメータに基づいて前記レンダリングされた表面をスケーリングするために前記ディスプレイ・プロセッサを命令するように構成されたコントロール・プロセッサと;
    を更に具備する、請求項1に記載の装置。
  6. 前記スケーリング・パラメータはオフセットを定義する、請求項1に記載の装置。
  7. 画像処理のための装置であって、
    転送元解像度で表面をレンダリングする手段と、なお、スケーリング・パラメータが前記表面と関連付けられ、前記スケーリング・パラメータは、前記転送元解像度及び転送先解像度を定義する;
    前記転送先解像度で前記レンダリングされた表面をスケーリングするためのスケーリング手段と;
    を具備する装置。
  8. 前記スケーリング・パラメータは、EGL表面特性である、請求項7に記載の装置。
  9. 前記転送元解像度及び転送先解像度は、転送元矩形及び転送先矩形によって定義される、請求項7に記載の装置。
  10. 前記転送元矩形は、前記レンダリングされた表面内の関心領域を定義し、前記転送先矩形は、前記レンダリングされた表面の前記関心領域を表示するための表示領域を定義する、請求項9に記載の装置。
  11. スケーリング・パラメータを格納する手段と;
    前記スケーリング・パラメータに基づいて、前記レンダリングされた表面をスケーリングするために前記スケーリング手段に命令する手段と;
    を更に具備する、請求項7に記載の装置。
  12. 前記スケーリング・パラメータはオフセットを定義する、請求項7に記載の装置。
  13. レンダリングされた表面をスケーリングする方法であって、
    表面をレンダリングする際の転送元解像度を選択することと;
    前記レンダリングされた表面を表示する際の転送先解像度を選択することと;
    前記転送元解像度で前記表面をレンダリングすることと;
    前記転送先解像度に前記レンダリングされた表面をスケーリングすることと;
    を具備する方法。
  14. 前記選択された転送元解像度及び転送先解像度は、EGL表面特性を介して前記表面と関連付けされる、請求項13に記載の方法。
  15. 前記転送元解像度及び転送先解像度は、転送元矩形及び転送先矩形で定義される、請求項13に記載の方法。
  16. 前記転送元矩形は、前記レンダリングされた表面内の関心領域を定義し、前記転送先矩形は、前記レンダリングされた表面の前記関心領域を表示するための表示領域を定義する、請求項15に記載の方法。
  17. ディスプレイへの接続を確立することと;
    ディスプレイの特性を決定することと;
    APIに前記転送元解像度及び転送先解像度を送信することと;
    ディスプレイ・コマンドを送信することと;
    ディスプレイ・プロセッサにスケーリング・ステップを実行するよう命令するコマンドを送信することと;
    をさらに具備する、請求項13に記載の方法。
  18. 前記転送先解像度は、オフセットを定義する、請求項13に記載の方法。
  19. レンダリングされた表面をスケーリングするための、コンピュータが実行可能な命令を格納するコンピュータ可読媒体であって、前記コンピュータが実行可能な命令は、
    コンピュータに、表面をレンダリングする際の転送元解像度を選択させるコードと;
    コンピュータに、前記レンダリングされた表面を表示する際の転送先解像度を選択させるコードと;
    コンピュータに、前記転送元解像度で前記表面をレンダリングさせるコードと;
    コンピュータに、前記転送先解像度に前記レンダリングされた表面をスケーリングさせるコードと;
    を具備するコンピュータ可読媒体。
  20. 前記選択された転送元解像度及び転送先解像度は、EGL表面特性を介して前記表面と関連付けされる、請求項19に記載のコンピュータ可読媒体。
  21. 前記転送元解像度及び転送先解像度は、転送元矩形及び転送先矩形によって定義される、請求項19に記載のコンピュータ可読媒体。
  22. 前記転送元矩形は、前記レンダリングされた表面内の関心領域を定義し、前記転送先矩形は、前記レンダリングされた表面の前記関心領域を表示するための表示領域を定義する、請求項21に記載のコンピュータ可読媒体。
  23. コンピュータにディスプレイとの接続を確立させるためのコードと;
    コンピュータにディスプレイ特性を決定させるためのコードと;
    コンピュータに、APIに前記転送元解像度及び前記転送先解像度を送信させるためのコードと;
    コンピュータにディスプレイ・コマンドを送信させるためのコードと;
    コンピュータに、ディスプレイ・プロセッサに前記スケーリング・ステップを実行するよう命令するコマンドを送信させるコードと;
    を更に具備する、請求項19に記載のコンピュータ可読媒体。
  24. 前記転送先解像度は、オフセットを定義する、請求項19に記載のコンピュータ可読媒体。
JP2009541629A 2006-12-15 2007-12-15 ポスト−レンダリング・グラフィックス・スケーリング Pending JP2010513956A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US87034806P 2006-12-15 2006-12-15
US11/955,253 US8681180B2 (en) 2006-12-15 2007-12-12 Post-render graphics scaling
PCT/US2007/087692 WO2008076950A2 (en) 2006-12-15 2007-12-15 Post-render graphics scaling

Publications (1)

Publication Number Publication Date
JP2010513956A true JP2010513956A (ja) 2010-04-30

Family

ID=39263635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541629A Pending JP2010513956A (ja) 2006-12-15 2007-12-15 ポスト−レンダリング・グラフィックス・スケーリング

Country Status (7)

Country Link
US (1) US8681180B2 (ja)
EP (1) EP2102809A2 (ja)
JP (1) JP2010513956A (ja)
KR (1) KR20090087505A (ja)
CA (1) CA2670555A1 (ja)
TW (1) TW200839645A (ja)
WO (1) WO2008076950A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019505037A (ja) * 2015-12-03 2019-02-21 華為技術有限公司Huawei Technologies Co.,Ltd. シナリオに従いグラフィック処理解像度を変更する方法及びポータブル電子装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101521004B (zh) * 2008-02-29 2011-12-14 鹏智科技(深圳)有限公司 具有图片处理功能的电子装置及其图片处理方法
KR101476200B1 (ko) * 2008-10-30 2014-12-24 엘지전자 주식회사 이동단말기 및 그 제어 방법
US20120017072A1 (en) * 2009-07-14 2012-01-19 Kurt David Gillespie Modifying a video resolution of video data in a pre-operating system environment
TWI442343B (zh) * 2010-08-13 2014-06-21 Au Optronics Corp 運用於顯示器的畫面放大控制方法與裝置
CN104079978B (zh) * 2014-06-27 2017-07-21 西安诺瓦电子科技有限公司 窗口自适应媒体播放方法及装置以及媒体联网发布方法
US10429968B2 (en) * 2014-11-06 2019-10-01 Visteon Global Technologies, Inc. Reconfigurable messaging assembly
CN111918125B (zh) * 2019-05-09 2023-03-24 腾讯科技(深圳)有限公司 一种视频播放方法、装置及系统
CN111901551A (zh) * 2020-06-19 2020-11-06 成都东方盛行电子有限责任公司 超高清小分辨率渲染编辑方法、系统、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269377A (ja) * 1997-03-27 1998-10-09 Toshiba Corp 表示制御システムおよび3次元グラフィクスデータの表示制御方法
JP2006003871A (ja) * 2004-05-19 2006-01-05 Sony Computer Entertainment Inc 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法
JP2006171274A (ja) * 2004-12-15 2006-06-29 Matsushita Electric Ind Co Ltd アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW376669B (en) 1997-02-10 1999-12-11 Shinsedai Kk Color graphic processor
US7365757B1 (en) * 1998-12-17 2008-04-29 Ati International Srl Method and apparatus for independent video and graphics scaling in a video graphics system
US6788309B1 (en) * 2000-10-03 2004-09-07 Ati International Srl Method and apparatus for generating a video overlay
US6781587B2 (en) * 2001-04-13 2004-08-24 Ati International Srl Video graphic interface device and method for portrait and landscape image display modes
US7196733B2 (en) * 2002-01-28 2007-03-27 Canon Kabushiki Kaisha Apparatus for receiving broadcast data, method for displaying broadcast program, and computer program
US7307669B2 (en) * 2003-06-24 2007-12-11 Broadcom Corporation System, method, and apparatus for displaying streams with dynamically changing formats
US8149235B2 (en) * 2004-08-20 2012-04-03 Microsoft Corporation System and method for upscaling low-resolution images
US20070192818A1 (en) * 2004-10-12 2007-08-16 Mikael Bourges-Sevenier System and method for creating, distributing, and executing rich multimedia applications
JP4519658B2 (ja) * 2005-01-04 2010-08-04 株式会社東芝 再生装置
KR20070059313A (ko) * 2005-12-06 2007-06-12 삼성전자주식회사 애플리케이션 스케일링 기능을 갖는 멀티미디어 시스템 및애플리케이션 스케일링 방법과 그 방법을 수행하는프로그램이 기록된 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10269377A (ja) * 1997-03-27 1998-10-09 Toshiba Corp 表示制御システムおよび3次元グラフィクスデータの表示制御方法
JP2006003871A (ja) * 2004-05-19 2006-01-05 Sony Computer Entertainment Inc 画像フレーム処理方法、装置、レンダリングプロセッサおよび動画像表示方法
JP2006171274A (ja) * 2004-12-15 2006-06-29 Matsushita Electric Ind Co Ltd アプリケーション描画端末、アプリケーション描画の表示方法およびアプリケーション描画プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019505037A (ja) * 2015-12-03 2019-02-21 華為技術有限公司Huawei Technologies Co.,Ltd. シナリオに従いグラフィック処理解像度を変更する方法及びポータブル電子装置
US10510175B2 (en) 2015-12-03 2019-12-17 Huawei Technologies Co., Ltd. Method and portable electronic device for changing graphics processing resolution according to scenario
US10872455B2 (en) 2015-12-03 2020-12-22 Huawei Technologies Co., Ltd. Method and portable electronic device for changing graphics processing resolution according to scenario

Also Published As

Publication number Publication date
TW200839645A (en) 2008-10-01
CA2670555A1 (en) 2008-06-26
EP2102809A2 (en) 2009-09-23
US8681180B2 (en) 2014-03-25
US20080143760A1 (en) 2008-06-19
WO2008076950A3 (en) 2008-08-14
WO2008076950A2 (en) 2008-06-26
KR20090087505A (ko) 2009-08-17

Similar Documents

Publication Publication Date Title
JP6563048B2 (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US10885607B2 (en) Storage for foveated rendering
US8681180B2 (en) Post-render graphics scaling
EP3559914B1 (en) Foveated rendering in tiled architectures
US8009172B2 (en) Graphics processing unit with shared arithmetic logic unit
US8044955B1 (en) Dynamic tessellation spreading for resolution-independent GPU anti-aliasing and rendering
US8269792B2 (en) Efficient scissoring for graphics application
EP3121786A1 (en) Graphics pipeline method and apparatus
KR102499397B1 (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
JP2010514011A (ja) ポストレンダー・グラフィックス回転
JP2018512644A (ja) 低品質タイルを使用してメモリ帯域幅を減らすためのシステムおよび方法
US11120591B2 (en) Variable rasterization rate
KR20180060198A (ko) 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
CN110599564A (zh) 图像展示方法、装置、计算机设备和存储介质
JP2010514012A (ja) ポストレンダー・グラフィックス透明度
CN101558426A (zh) 后渲染图形缩放
EP2992512B1 (en) Anti-aliasing for geometries
US20160321835A1 (en) Image processing device, image processing method, and display device
KR102680270B1 (ko) 그래픽스 처리 장치 및 그래픽스 처리 장치에서 그래픽스 파이프라인을 처리하는 방법
US10311627B2 (en) Graphics processing apparatus and method of processing graphics pipeline thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120703