(57)【要約】【課題】サンプリング基盤のレンダリングを行うグラフィックプロセッサにおいて、フラグメントシェーディング処理の演算量を低減させると共に、その正確度を向上できる動作方法を提供する。【解決手段】第１パターンを有する第１サンプル候補マップを利用し、第１フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、第２パターンを有する第１サンプル候補マップを利用し、第２フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、第１フレームのシェーディング処理結果と、第２フレームのシェーディング処理結果との比較に基づいて、第２フレームの他の一部フラグメントを追加してサンプリングする段階と、追加してサンプリングされたフラグメントをシェーディング処理することにより、最終レンダリングを行う段階と、を具備することを特徴とする。【選択図】図１
2019121381.tif 000002
【特許請求の範囲】
【請求項１】
第１パターンを有する第１サンプル候補マップを利用し、第１フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、
第２パターンを有する第１サンプル候補マップを利用し、第２フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、
前記第１フレームのシェーディング処理結果と、前記第２フレームのシェーディング処理結果との比較に基づいて、前記第２フレームの他の一部フラグメントを追加してサンプリングする段階と、
前記追加してサンプリングされたフラグメントをシェーディング処理することにより、最終レンダリングを行う段階と、を具備することを特徴とするグラフィックプロセッサの動作方法。
【請求項２】
前記サンプリングする段階は、前記第１サンプル候補マップのサンプリング情報を変更することにより、第２サンプル候補マップを生成する段階を含み、
前記最終レンダリングを行う段階は、前記第２サンプル候補マップを利用してサンプリングされたフラグメントをシェーディング処理する、ことを特徴とする請求項１に記載のグラフィックプロセッサの動作方法。
【請求項３】
前記第２フレームに対する中間レンダリング及び最終レンダリング段階において、シェーディング処理されていない残りフラグメントに対する補間を行う段階、をさらに具備することを特徴とする請求項１に記載のグラフィックプロセッサの動作方法。
【請求項４】
前記第１フレームに対する中間レンダリング遂行後、前記第１フレームの他の一部フラグメントをシェーディング処理することにより、最終レンダリングを行う段階と、
前記第１フレームに対する中間レンダリング及び最終レンダリング段階において、シェーディング処理されていない残りフラグメントに対する補間を行う段階と、をさらに具備することを特徴とする請求項１に記載のグラフィックプロセッサの動作方法。
【請求項５】
前記第１フレームにおいて、前記第１パターンを有する第１サンプル候補マップによってサンプリングされるフラグメントと、前記第２フレームにおいて、前記第２パターンを有する第１サンプル候補マップによってサンプリングされるフラグメントとの位置は、相異なる、ことを特徴とする請求項１に記載のグラフィックプロセッサの動作方法。
【請求項６】
サンプリングオフモード、細密なサンプリングモード、及び概略的なサンプリングモードのうち何れか１つのモードを選択する段階をさらに具備し、
前記概略的なサンプリングモードが選択されるとき、前記第１フレーム及び第２フレームのシェーディング処理結果を利用し、前記第２フレームの他の一部フラグメントを追加してサンプリングする、ことを特徴とする請求項１に記載のグラフィックプロセッサの動作方法。
【請求項７】
前記サンプリングオフモードで動作モードを変更する段階と、
第３フレームを受信する段階と、
前記第３フレームの全体のフラグメントをシェーディング処理することにより、レンダリングを行う段階と、をさらに具備することを特徴とする請求項６に記載のグラフィックプロセッサの動作方法。
【請求項８】
前記細密なサンプリングモードで動作モードを変更する段階と、
第３フレームを受信する段階と、
第３パターンを有する第１サンプル候補マップを利用し、前記第３フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、
前記第３フレームのシェーディング処理結果を利用し、前記第３フレームの他の一部フラグメントを追加してサンプリングしてシェーディング処理することにより、最終レンダリングを行う段階と、をさらに具備し、
前記第３パターンは、前記第２パターンに比べ、サンプリングの比率がさらに高い、ことを特徴とする請求項６に記載のグラフィックプロセッサの動作方法。
【請求項９】
第１サンプル候補マップのサンプリング情報により、現在フレームの複数のフラグメントのうち一部のフラグメントに対するシェーディングを行う中間レンダリング処理器と、
以前フレームでのシェーディング処理結果と、前記現在フレームのシェーディング処理結果との比較に基づいて、前記第１サンプル候補マップのサンプリング情報を変更することにより、変更されたサンプル候補マップを生成するサンプル候補マップ変形回路と、
前記中間レンダリング処理器によってシェーディング処理されていない前記現在フレームのフラグメントのうち、前記変更されたサンプル候補マップによって追加してサンプリングされる一部のフラグメントに対するシェーディングを行う最終レンダリング処理器と、を具備することを特徴とするグラフィックプロセッサ。
【請求項１０】
前記中間レンダリング処理器及び前記最終レンダリング処理器によってシェーディング処理されていないフラグメントに対するホールフィリングを遂行する補間処理器をさらに具備する、ことを特徴とする請求項９に記載のグラフィックプロセッサ。
【請求項１１】
受信されるパターン情報により、前記第１サンプル候補マップを生成するサンプル候補マップ生成器をさらに具備する、ことを特徴とする請求項９に記載のグラフィックプロセッサ。
【請求項１２】
前記サンプル候補マップは、オッド（ＯＤＤ）フレームに対するレンダリング処理時、第１パターンを有し、イーブン（ＥＶＥＮ）フレームに対するレンダリング処理時、前記第１パターンとは異なる第２パターンを有し、
前記以前フレームは、前記オッドフレームに該当し、前記現在フレームは、前記イーブンフレームに該当する、ことを特徴とする請求項１１に記載のグラフィックプロセッサ。
【請求項１３】
フレーム順序により、前記第１パターン又は前記第２パターンを有するパターン情報を、前記サンプル候補マップ生成器に提供するサンプルパターン生成器をさらに具備する、ことを特徴とする請求項１２に記載のグラフィックプロセッサ。
【請求項１４】
前記以前フレームでのシェーディング処理結果によるフラグメント値を受信し、前記第２パターンを有するパターン情報が、前記サンプル候補マップ生成器に提供されるとき、前記サンプルパターン生成器から前記第１パターンを有するパターン情報を受信し、前記以前フレームの前記第１パターンに対応するフラグメントの値を、前記サンプル候補マップ変形回路に提供するピクセル抽出器をさらに具備する、ことを特徴とする請求項１３に記載のグラフィックプロセッサ。
【請求項１５】
前記現在フレームの同一フラグメントに対するシェーディング処理によって算出された値と、補間処理によって算出された値とを比較することにより、補間正確度判断を行う補間正確度判断回路をさらに具備し、
前記サンプル候補マップ生成器は、前記補間正確度判断結果により、前記サンプル候補マップのサンプリングの比率を調節する、ことを特徴とする請求項１１に記載のグラフィックプロセッサ。
【請求項１６】
前記サンプル候補マップ生成器は、ホストからの命令に応答し、前記第１サンプル候補マップのサンプリングの比率を調節する、ことを特徴とする請求項１１に記載のグラフィックプロセッサ。
【請求項１７】
前記サンプル候補マップ変形回路は、
前記第１サンプル候補マップのサンプリングの比率が基準値より低いとき、前記以前フレームでのシェーディング処理結果と、前記現在フレームのシェーディング処理結果とを利用し、前記第１サンプル候補マップを変形し、
前記第１サンプル候補マップのサンプリングの比率が基準値より高いとき、前記現在フレームのシェーディング処理結果を利用し、前記第１サンプル候補マップを変形する、ことを特徴とする請求項９に記載のグラフィックプロセッサ。
【請求項１８】
レンダリング処理される所定フレームに対して、複数のフラグメントのうち一部のフラグメントを選択するための第１サンプル候補マップを受信し、少なくとも２つのフレームのシェーディング処理結果の比較に基づいて、前記第１サンプル候補マップのサンプリング情報を変更することにより、第２サンプル候補マップを生成するサンプル候補マップ変形回路と、
前記第１サンプル候補マップによってサンプリングされたフラグメントに対するシェーディング処理を介して、中間レンダリング処理を行い、前記第２サンプル候補マップにより、追加してサンプリングされたフラグメントに対するシェーディング処理を介して最終レンダリングを行うフラグメント処理器と、を具備することを特徴とするグラフィックプロセッサ。
【請求項１９】
前記フラグメント処理器は、前記中間レンダリングを行う中間レンダリング処理器、及び前記最終レンダリングを行う最終レンダリング処理器を具備する、ことを特徴とする請求項１８に記載のグラフィックプロセッサ。
【請求項２０】
パターン情報を受信し、前記パターン情報により、前記第１サンプル候補マップを生成するサンプル候補マップ生成器をさらに具備し、
前記サンプル候補マップ変形回路は、
前記第１サンプル候補マップのサンプリングの比率が基準値より低いとき、以前フレームでのシェーディング処理結果と、現在フレームのシェーディング処理結果とを利用し、前記第１サンプル候補マップを変形し、
前記第１サンプル候補マップのサンプリングの比率が基準値より高いとき、前記現在フレームのシェーディング処理結果を利用し、前記第１サンプル候補マップを変形する、ことを特徴とする請求項１８に記載のグラフィックプロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックプロセッサに係り、詳細には、サンプリング基盤のレンダリングを行うグラフィックプロセッサ、及びその動作方法に関する。
【背景技術】
【０００２】
レンダリングシステムは、グラフィック演算を行う装置であり、グラフィックプロセッシングユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）などのグラフィックプロセッサを含み得る。該ＧＰＵは、グラフィック演算の一動作として、フラグメント値を算出するためのフラグメントシェーディング（ｆｒａｇｍｅｎｔ  ｓｈａｄｉｎｇ）を実行できる。このとき、該フラグメントシェーディング処理は、その複雑度が高いために、全体グラフィック演算量において、多くの部分を占めている。
【０００３】
該フラグメントシェーディング処理の演算量を低減させるための方案として、フラグメントの一部のみをサンプリング（ｓａｍｐｌｉｎｇ）することにより、最終結果より少数のフラグメントをシェーディング処理し、サンプリングされていないフラグメントの値を、補間動作を介して算出する方案が提案されているが、該サンプリングの比率が非常に低いか、或いは非常に高い場合には、ＧＰＵの資源を効率的に利用することができないという問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、サンプリングに基づいて、フラグメントシェーディング処理の演算量を低減させると共に、シェーディング処理の正確度を向上できるグラフィックプロセッサ、及びその動作方法を提供することである。
【課題を解決するための手段】
【０００５】
前述のような目的を達成するためになされた本開示の技術的思想の一側面によるグラフィックプロセッサの動作方法は、
第１パターンを有する第１サンプル候補マップを利用し、第１フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、第２パターンを有する第１サンプル候補マップを利用し、第２フレームの一部フラグメントをシェーディング処理することにより、中間レンダリングを行う段階と、前記第１フレームのシェーディング処理結果と、前記第２フレームのシェーディング処理結果との比較に基づいて、前記第２フレームの他の一部フラグメントを追加してサンプリングする段階と、前記追加してサンプリングされたフラグメントをシェーディング処理することにより、最終レンダリングを行う段階と、を具備することを特徴とする。
【０００６】
一方、本開示の技術的思想の一側面によるグラフィックプロセッサは、
第１サンプル候補マップのサンプリング情報により、現在フレームの複数のフラグメントのうち一部フラグメントに対するシェーディングを行う中間レンダリング処理器と、以前フレームでのシェーディング処理結果と、前記現在フレームのシェーディング処理結果との比較に基づいて、前記第１サンプル候補マップのサンプリング情報を変更することにより、変更されたサンプル候補マップを生成するサンプル候補マップ変形装置（回路）と、前記中間レンダリング処理器によってシェーディング処理されていない前記現在フレームのフラグメントのうち、前記変更されたサンプル候補マップによって追加してサンプリングされる一部のフラグメントに対するシェーディングを行う最終レンダリング処理器と、を具備することを特徴とする。
【発明の効果】
【０００７】
本発明の技術的思想のグラフィックプロセッサ、及びその動作方法によれば、フラグメントシェーディング処理のためのサンプリングの比率を低下することでレンダリング演算量を低減でき、レンダリング正確度を向上することにより、三次元グラフィックスレンダリングの性能を向上できる。
【図面の簡単な説明】
【０００８】
【図１】本発明の例示的な実施形態によるレンダリングシステムを示すブロック図である。
【図２】図１の実施形態によるサンプル候補マップ変形動作の概念を示す図面である。
【図３】グラフィックプロセッサにおいて、三次元グラフィックスを処理する過程を示す図面である。
【図４】本発明の例示的な実施形態によるグラフィックプロセッサの一具現例を示すブロック図である。
【図５】（Ａ）は、プリミティブ内のフラグメントに対するシェーディング処理の一例を示す図面であり、            （Ｂ）は、プリミティブ内のフラグメントに対するシェーディング処理の一例を示す図面である。
【図６】図５（Ａ）、図５（Ｂ）、及び図１９の実施形態にサンプル候補マップ変形動作が適用された例を示す図面である。
【図７】（Ａ）は、少なくとも２つのフレームのデータを利用し、サンプル候補マップ変形を行う例を示す図面であり、            （Ｂ）は、少なくとも２つのフレームのデータを利用し、サンプル候補マップ変形を行う例を示す図面である。
【図８】少なくとも２つのフレームのデータを利用し、サンプル候補マップ変形を行う例を示す図面である。
【図９】本発明の例示的な実施形態によるグラフィックプロセッサの動作方法を示すフローチャートである。
【図１０】本発明の例示的な実施形態によるグラフィックプロセッサの動作方法を示すフローチャートである。
【図１１】本発明の例示的な実施形態によるグラフィックプロセッサの一具現例を示すブロック図である。
【図１２】本発明の実施形態が適用されたグラフィックプロセッサの全般的な動作手続きを示す図面である。
【図１３】本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
【図１４】本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
【図１５】本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
【図１６】本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
【図１７】（Ａ）は、本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図であり、              （Ｂ）は、本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
【図１８】本発明の例示的な実施形態によるメモリ装置を含むモバイル装置の一具現例を示すブロック図である。
【図１９】プリミティブ内のフラグメントに対するシェーディング処理の一例を示す図面である。
【発明を実施するための形態】
【０００９】
以下、添付した図面を参照し、本発明の実施形態について詳細に説明する。
図１は、本発明の例示的な実施形態によるレンダリングシステムを示すブロック図である。レンダリングシステム１０は、グラフィックプロセッサ１００及びメモリ１０１を含み得、グラフィックプロセッサ１００として、グラフィックプロセッシングユニット（ＧＰＵ：ｇｒａｐｈｉｃ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）が例示される。説明の便宜上、以下の実施形態において、ＧＰＵは、グラフィックプロセッサと称されるが、本発明のグラフィックプロセッサは、他の多様なプロセッサによっても具現され得る。
【００１０】
グラフィックプロセッサ１００は、レンダリングシステム１０内において、グラフィック演算を行い、それを介してレンダリングを処理できる。一例として、グラフィックプロセッサ１００は、三次元のオブジェクト（ｏｂｊｅｃｔ）データを受信し、それに対するレンダリング処理結果として、二次元のレンダリングイメージを出力できる。
【００１１】
グラフィックプロセッサ１００は、タイル基盤レンダリング（ｔｉｌｅ−ｂａｓｅｄ  ｒｅｎｄｅｒｉｎｇ）を行うように構成され、そのために、グラフィックスパイプライン（ｇｒａｐｈｉｃｓ  ｐｉｐｅｌｉｎｅ）を含み得、該グラフィックスパイプラインにより、グラフィックデータが並列処理される。各々のグラフィックスパイプラインは、グラフィック演算のための多様な構成を含み得、一例として、該グラフィックスパイプラインは、ハードウェアで構成されるか、又は、ソフトウェアで構成される。又は、該グラフィックスパイプラインは、ハードウェア及びソフトウェアの組み合わせによっても構成される。
【００１２】
図１には、図示されていないが、レンダリングシステム１０は、システム全般の動作を制御するＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）と、構成要素間の通信のために、ＰＣＩバス、ＰＣＩ  Ｅｘｐｒｅｓｓバスなど多様なバス（ｂｕｓ）をさらに含み得る。また、レンダリングシステム１０は例えば、デスクトップコンピュータ、ノート型パソコン、スマートフォン、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、携帯型メディアプレーヤ、ビデオゲーム用コンソール、テレビセットトップボックス、タブレットデバイス、電子書籍リーダ、ウェアラブルデバイス上で具現できるが、それらに限定されず、多様な電子システムが該当する。
【００１３】
グラフィックプロセッサ１００は、ＯｐｅｎＧＬ（Ｏｐｅｎ  Ｇｒａｐｈｉｃ（ｓ）  Ｌｉｂｒａｒｙ）、ＤｉｒｅｃｔＸ、ＣＵＤＡ（Ｃｏｍｐｕｔｅｒ  Ｕｎｉｆｉｅｄ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ）などの多様なＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ）標準に基づくレンダリング関連情報を受信でき、グラフィック演算として、シェーディング（ｓｈａｄｉｎｇ）処理、テクスチャリング（ｔｅｘｔｕｒｉｎｇ）処理のような多様な演算を実行できる。また、メモリ１０１は、グラフィックプロセッサ１００と同一半導体チップに集積されるか又は、或いは互いに異なる半導体チップに具現され、ＤＲＡＭ（ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ＳＲＡＭ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などのＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）装置により具現されるか、或いは、マスクＲＯＭ（ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、フラッシュメモリ（ｆｌａｓｈ  ｍｅｍｏｒｙ）などのＲＯＭ装置により具現される。メモリ１０１は、グラフィックプロセッサ１００によって処理されるべきグラフィックデータを格納するか、又は、グラフィックプロセッサ１００によって処理されたグラフィックデータ（例えば、フレームデータ）を格納することができる。
【００１４】
一動作例として、グラフィックプロセッサ１００は、バーテックス（ｖｅｒｔｅｘ、頂点）を入力され、入力されたバーテックスに対する演算処理を介して、プリミティブ（ｐｒｉｍｉｔｉｖｅ、基本図形）を生成できる。また、グラフィックプロセッサ１００は、プリミティブを利用し、フラグメント（ｆｒａｇｍｅｎｔ）の集合（ｓｅｔ）を生成できる。該フラグメントは、プリミティブの内部を構成する三次元の点（ｄｏｔ）を表示できる。また、グラフィックプロセッサ１００は、フラグメントの値を算出するためのフラグメントシェーディングを実行できる。
【００１５】
フラグメントシェーディング処理は、その複雑度が高くなることにより、全体グラフィック演算量の多くの部分を占める。該フラグメントシェーディングの複雑度を低減させるために、複数のフラグメントのうち一部のみをサンプリングしてシェーディング処理を行い、残りのフラグメントについては、類推動作又は補間動作を介して、値（例えば、フラグメント値）を算出する方式が適用される。該類推動作又は該補間動作の場合、シェーディング処理に比べ、各々プロセッサ集約的であるので、全体的な処理量が低減される。以下の実施形態において、シェーディング処理されるフラグメントは、サンプリングされたフラグメントと称され、一方、類推動作又は補間動作を介してその値が算出されるフラグメントは、サンプリングされていないフラグメントか、或いは類推されたフラグメントとも称される。ここで、サンプリングの比率（ｓａｍｐｌｉｎｇ  ｒａｔｅ）が低い場合には、実際シェーディング処理が必要になるフラグメントの値が補間を介して決まり、その場合、補間処理によって算出されたフラグメント値が、実際の値と差が大きくなるので、画質低下が発生してしまう。
【００１６】
一方、プリミティブを構成するフラグメントは、グラフィック演算処理の基本単位に該当し、一実施形態において、前記フラグメントは、ピクセルに該当する。本発明の実施形態において、フラグメント及びピクセルという用語は混用されても使用される。例えば、フラグメントシェーディングは、ピクセルシェーディングとも称され、フラグメントに係るサンプリングは、ピクセルサンプリングとも称されるのである。
【００１７】
本発明の例示的な実施形態によって、グラフィックプロセッサ１００は、サンプル候補マップ（ＳＣＭ：ｓａｍｐｌｅ  ｃａｎｄｉｄａｔｅ  ｍａｐ）変形回路（又は、ＳＣＭ変形装置１１０）及びフラグメント処理器１２０を含み得る。例えば、１つのプリミティブ単位を例として挙げれば、プリミティブ内には、複数のフラグメントが含まれ、グラフィックプロセッサ１００は、前記複数のフラグメントのうち一部のフラグメントのみをサンプリングし、それに対して選択的にシェーディングを実行できる。一例として、グラフィックプロセッサ１００内において、一部のフラグメントをサンプリングするためのサンプリング情報を含むサンプル候補マップ（例えば、第１サンプル候補マップＳＣＭ＿１）が生成され、第１サンプル候補マップＳＣＭ＿１を利用したシェーディング処理を介して、前記一部のフラグメントのシェーディング処理結果（例えば、フラグメント値）が算出される。サンプル候補マップを介してサンプリングされるフラグメントに指定されていないフラグメントは、サンプリングされたフラグメント間の補間を介して得られる値を有し得る。
【００１８】
本発明の概念によれば、不正確な補間に起因するイメージ劣化の発生を低減するために、サンプル候補マップは動的にも変更される。一例として、サンプル候補マップの位置に隣接した位置のフラグメントが、所定臨界値以上に異なる値を有するとき、不正確な補間が発生する可能性が存在する。このとき、サンプリングされたフラグメントは、異なる客体のフラグメントであるか、或いは異なるカラー（又は、他のカラー）を有する同一客体のテクスチャの他部分のフラグメントである。そのような状況においてサンプリングされたフラグメント間の補間動作は、不正確な値を算出してしまう。
【００１９】
そのために、本発明のＳＣＭ変形装置１１０は、前述のような不正確状況が発生する状況を検出し、サンプル候補マップを修正することにより、前記不正確な補間が発生しうる位置にサンプリングされるフラグメントを追加できる。また、ＳＣＭ変形装置１１０は、現在フレームの第２サンプル位置に隣接した第１サンプル位置でのサンプリングされたフラグメントの値を単純比較する以外にも、現在フレームの第１位置でサンプリングされたフラグメントのフラグメント値を、現在フレームの第１位置と第２位置との間の位置にマッピングされた以前フレームのサンプリングされたフラグメント値を比較することにより、前述の状況を検出できる。そのような観点で、後述されるように、サンプル候補マップを変更するためのさらなるサンプル位置を選択する動作を介して、さらに正確なエッジ検出結果が生じる。
【００２０】
ＳＣＭ変形装置１１０は、第１サンプル候補マップＳＣＭ＿１を受信し、前記第１サンプル候補マップＳＣＭ＿１のサンプリング情報を変形する（ｒｅｖｉｓｅ）ことにより、第２サンプル候補マップＳＣＭ＿２を生成できる。一具現例として、第１サンプル候補マップＳＣＭ＿１は、プリミティブ内の複数のフラグメントのうち、シェーディング処理が行われるフラグメント（例えば、第１フラグメント）の位置を示すサンプリング情報を含み得る。また、第２サンプル候補マップＳＣＭ＿２は、前記第１フラグメントを除いた残りフラグメントのうち、追加してシェーディング処理が行われるフラグメント（例えば、第２フラグメント）の位置を示すサンプリング情報を含み得る。一例として、第２サンプル候補マップＳＣＭ＿２は、プリミティブ内の複数のフラグメントのうち、第１フラグメント及び第２フラグメントの位置を示す情報を含み得る。変形可能な例として、第２サンプル候補マップＳＣＭ＿２は、プリミティブ内の複数のフラグメントのうち、第２フラグメントの位置のみを示す情報を含む形態にも具現される。
【００２１】
グラフィックプロセッサ１００は、シェーディング処理を含むレンダリングを実行でき、本発明の実施形態において、複数のフラグメントに対して、２回以上のシェーディング処理が順次に行われるので、前記第１サンプル候補マップＳＣＭ＿１を利用したシェーディング処理は、中間（ｉｎｔｅｒｍｅｄｉａｔｅ）レンダリング処理と称され、前記第２サンプル候補マップＳＣＭ＿２を利用したシェーディング処理は、最終（ｆｉｎａｌ）レンダリング処理とも称される。以下の実施形態としては、シェーディング処理とレンダリング処理との用語が混用される場合があり、一例として、中間レンダリング処理は、中間シェーディング処理とも称され、最終レンダリング処理は、最終シェーディング処理とも称され得る。一方、グラフィックプロセッサ１００は、第１サンプル候補マップＳＣＭ＿１を生成する第１ＳＣＭ生成装置（図示せず）を含み得、前記ＳＣＭ変形装置１１０は、第２サンプル候補マップＳＣＭ＿２を生成する側面において、第２ＳＣＭ生成装置と指称され得る。
【００２２】
一実施形態によって、ＳＣＭ変形装置１１０は、多様な情報に基づいて、変形動作を遂行できる。例えば、ＳＣＭ変形装置１１０は、現在フレームにおいて、シェーディング処理を介して算出されたフラグメント値Ｆｒａｇ＿Ｃと、以前フレームにおいて、シェーディング処理を介して算出されたフラグメント値Ｆｒａｇ＿Ｐとを受信し、それらを利用した演算を介して変形動作を遂行できる。一例として、フラグメント値Ｆｒａｇ＿Ｃとフラグメント値Ｆｒａｇ＿Ｐは、エッジ、又はそれと類似のものなどが互いに近接するが、隣接していないサンプリング位置の間に存在するか否かということを判断するために比較され、それにより、さらなるサンプリングが追加される必要がある。フラグメント値Ｆｒａｇ＿Ｐは、以前フレームからのフラグメント値であり、現在フレームのサンプリングされていないフラグメントのためにも再使用される。一例として、以前フレーム及び現在フレームで各々レンダリングされる客体のフレーム間の動きが最小である場合（即ち、フレームの間に、実質的に静的な場面が存在する場合）、同一位置のフラグメントのピクセルは、２つのフレームにおいて、同一フラグメント値Ｆｒａｇ＿Ｐを有し得る。さらに複雑なケースにおいて、もし客体のフレーム間での動きの量が重要である場合、モーションベクトルを利用し、第１位置でのフラグメント値Ｆｒａｇ＿Ｐは、現在フレームの第２位置にマッピングされ、その場合、以前フレームで判断された第１位置でのフラグメント値Ｆｒａｇ＿Ｐは、現在フレームの第２位置でも再使用される。
【００２３】
一実施形態によって、第１サンプル候補マップＳＣＭ＿１のサンプリング情報は、多様なパターンを有し得る。例えば、現在フレームでの中間レンダリング処理に利用された第１サンプル候補マップＳＣＭ＿１のパターン（第１パターン）と、以前フレームでの中間レンダリング処理に利用された第１サンプル候補マップＳＣＭ＿１のパターン（第２パターン）は、相異なり得る。一例として、前記パターンでの差は、その後に論議される視覚的な人工物を減らすためのディザリング技術に起因する。一方、変形動作に利用されるフラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐは、中間レンダリング処理によって算出された値でもあり、それにより、変形動作に利用される現在フレームでのフラグメント位置と、以前フレームでのフラグメント位置は、相異なり得る。
【００２４】
第１サンプル候補マップＳＣＭ＿１のサンプリングの比率が低いことにより、概略的な（粗い、ｃｏａｒｓｅ）パターンを有する場合、中間レンダリング処理を介してその値が算出されるフラグメントの間隔が大きくなる。このとき、中間レンダリング処理が行われていないフラグメントに対する補間処理が行われる前、最終レンダリング処理が必要になるフラグメントをさらに選択するために、前述のサンプル候補マップ変形動作が遂行され、本発明の実施形態によれば、最終レンダリング処理が必要になるフラグメントの選択正確度を向上させるために、少なくとも２つのフレームのフラグメント値が利用される。
【００２５】
即ち、何れか１つのフレームにおいて、第１サンプル候補マップＳＣＭ＿１が概略的なパターンを有したにしても、本発明の例示的な実施形態によれば、現在フレームのフラグメント値と、以前フレームでのフラグメント値とを利用し、サンプル候補マップ変形動作が遂行され、それにより、相対的に短い間隔を有する位置のフラグメント値に基づいて、変形動作が遂行される。即ち、実質的に細密な（ｆｉｎｅ）パターンによるフラグメント値を利用し、サンプル候補マップ変形動作が遂行されるので、エッジのような実際シェーディング処理が必要とされるフラグメントの選択正確度を向上できる。
【００２６】
前述のような動作により、第２サンプル候補マップＳＣＭ＿２が生成されれば、処理対象のグラフィックデータＤａｔａと、第２サンプル候補マップＳＣＭ＿２とがフラグメント処理器１２０にも提供される。フラグメント処理器１２０は、第２サンプル候補マップＳＣＭ＿２を介してサンプリングされるフラグメントに対するシェーディング処理を行い、それによるフラグメント値を算出することができる。前述のような過程を介し、現在フレームに係わるフレームデータＤａｔａ＿Ｆｒａｍｅが生成され、フレームデータＤａｔａ＿Ｆｒａｍｅは、メモリ１０１にも保存される。
【００２７】
図２は、図１の実施形態によるサンプル候補マップ変形動作の概念を示す図面である。
図２を参照すれば、第１サンプル候補マップＳＣＭ＿１は、所定パターンを有するサンプリング情報を含み得る。例えば、図２においては、複数のフラグメントに対して、水平方向に、４個のフラグメントごとに、１つのフラグメントがサンプリングされ、また垂直方向には、２行（ｒｏｗ）ごとに１行に対してサンプリングが適用され、何れか１行でのサンプリング位置と、次の行でのサンプリング位置は、互いに離隔される形態を有する例が図示される。また、図２の第１サンプル候補マップＳＣＭ＿１は、４＊４サイズごとに、２つのフラグメントをサンプリングするパターンを有するとも説明される。また、図２は、第１サンプル候補マップＳＣＭ＿１の少なくとも一部は、タイルのような現在フレームのピクセルＴ＿Ｃの配置に相関するようにも適用されるということを示す。また、第２サンプル候補マップＳＣＭ＿２の少なくとも一部も、ピクセルＴ＿Ｃの配置に相関するようにも適用される。それにより、第１サンプル候補マップＳＣＭ＿１において、陰影が存在する四角形、存在しない四角形各々は、ピクセルＴ＿Ｃの各ピクセルをオーバレイ（ｏｖｅｒｌａｙ）するとも仮定される。
【００２８】
ＳＣＭ変形装置１１０は、第１サンプル候補マップＳＣＭ＿１のサンプリング情報を変形することにより、第２サンプル候補マップＳＣＭ＿２を生成できる。また、前述の例により、ＳＣＭ変形装置１１０は、現在フレームにおいて、シェーディング処理を介して算出されたフラグメントの値Ｆｒａｇ＿Ｃと、以前フレームでシェーディング処理を介して算出されたフラグメントの値Ｆｒａｇ＿Ｐとを受信できる。
【００２９】
ＳＣＭ変形装置１１０は、フラグメントの値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐを利用した演算を行い、それに基づいて、残りフラグメントに対するシェーディング処理必要性を判断できる。一例として、水平方向に、第１位置Ｐ０のフラグメント、第２位置Ｐ１のフラグメント、及び第３位置Ｐ２のフラグメントを参照して説明すれば、次の通りである。
【００３０】
現在フレームに対して、第１サンプル候補マップＳＣＭ＿１を利用したフラグメントシェーディング処理を介して、第１位置Ｐ０及び第２位置Ｐ１のフラグメントのフラグメント値Ｆｒａｇ＿Ｃが算出され、ＳＣＭ変形装置１１０にも提供される。また、以前のフレームにおいては、他の位置のフラグメントに対してシェーディング処理が行われ、一例として、以前フレームの第３位置Ｐ２のフラグメント値Ｆｒａｇ＿Ｐが、サンプル候補マップ変形装置１１０にも提供される。一実施形態により、第１サンプル候補マップＳＣＭ＿１を介してサンプリングされるフラグメントの位置は、フレームごとに変動され、それにより、以前フレームにおいて、中間レンダリング処理されたフラグメントの位置と、現在フレームにおいて、中間レンダリング処理されたフラグメントの位置は、相異なり得る。また、フレーム間において、客体の動きが重要であるとしても、以前フレームについて算出されたフラグメント値は、現在フレームの対応する位置にマッピングされ、以前フレームのフラグメント値は、相変らずサンプル候補マップ変形に有用に利用される。
【００３１】
ＳＣＭ変形装置１１０は、第１位置Ｐ０乃至第３位置Ｐ２のフラグメントの値を利用し、サンプル候補マップ変形動作を遂行できる。例えば、第１位置Ｐ０のフラグメント値Ｆｒａｇ＿Ｃと、第３位置Ｐ２のフラグメント値Ｆｒａｇ＿Ｐとを利用して演算でき、また、第２位置Ｐ１のフラグメント値Ｆｒａｇ＿Ｃと、第３位置Ｐ２のフラグメント値Ｆｒａｇ＿Ｐとを利用して演算できる。また、演算結果により、第１位置Ｐ０と第２位置Ｐ１との間のフラグメントがサンプリングされるように、サンプル候補マップが変形され得る。
【００３２】
一例として、第１位置Ｐ０のフラグメント値Ｆｒａｇ＿Ｃと、第３位置Ｐ２のフラグメント値Ｆｒａｇ＿Ｐとを比較した結果、及び／又は第２位置Ｐ１のフラグメント値Ｆｒａｇ＿Ｃと、第３位置Ｐ２のフラグメント値Ｆｒａｇ＿Ｐとを比較した結果に基づいて、サンプル候補マップが変形され得る。もしフラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐの差が大きい場合（又は、既設定値を超える場合）は、映像の変化が大きいか、或いはエッジが存在する場合を示し、その場合、第１位置Ｐ０と第２位置Ｐ１との間に該当する領域Ｒｅｇ＿１内のフラグメントがサンプリングされるように、サンプル候補マップが変形され得る。一方、フラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐの差が既設定値以内に該当する場合には、映像の変化が小さい場合を示し、前記領域Ｒｅｇ＿１内のフラグメントは、サンプリングされない。即ち、現在フレーム及び以前フレームのフラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐに基づいて、領域Ｒｅｇ＿１内のフラグメントがシェーディング処理によってその値が算出されるか、或いは補間処理によってその値が算出され得る。
【００３３】
一方、図２において、現在フレームの第４位置Ｐ３と第５位置Ｐ４とのフラグメント値Ｆｒａｇ＿Ｃと、以前フレームの第６位置Ｐ５のフラグメント値Ｆｒａｇ＿Ｐとを利用し、領域Ｒｅｇ＿２内のフラグメントを追加してサンプリングするか否かが判断される。それと類似した方式により、図２の全体フラグメントに対する追加サンプリング如何が判断される。
【００３４】
前述の実施形態で追加してサンプリングされるフラグメントは、多様な基準によっても選択される。一例として、フラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐを利用したエッジ検出アルゴリズムが遂行され、エッジ検出結果により、サンプル候補マップが変形され得る。
【００３５】
一方、図２に図示された例においては、第１位置Ｐ０と第２位置Ｐ１との間のフラグメントのサンプリング情報が共に変形される場合が例示されたが、本発明の実施形態は、それに限られない。例えば、フラグメント値Ｆｒａｇ＿Ｃ，Ｆｒａｇ＿Ｐに基づいて、第１位置Ｐ０と第３位置Ｐ２との間のフラグメントのサンプリング情報と、第２位置Ｐ１と第３位置Ｐ２との間のフラグメントのサンプリング情報とが別個に変更され得る。
【００３６】
図３は、グラフィックプロセッサにおいて、三次元グラフィックスを処理する過程を示す図面である。
図３を参照すれば、三次元グラフィックスを処理する過程は、大きく見て、幾何変換処理過程、ラスタ化（ｒａｓｔｅｒｉｚａｔｉｏｎ）過程、及びピクセルシェーディング処理過程を含み得る。
【００３７】
システム内でアプリケーションは、レンダリングするデータと共に、レンダリング方法を記述した一連の命令を、デバイスドライバを介して、グラフィックプロセッサに提供できる。該グラフィックプロセッサは、命令を受信して解釈し、固定されたハードウェア又はプログラマブルハードウェアを介して、実際にレンダリングを実行できる。該レンダリング過程は、多様な処理段階を含み得る。
【００３８】
まず、段階Ｓ１１は、バーテックス（ｖｅｒｔｉｃｅｓ）を生成する段階を示す。該バーテックスは、三次元グラフィックスに含まれたオブジェクト（ｏｂｊｅｃｔ、以下、「客体」ともいう）を表示するためにも生成される。また、段階Ｓ１２は、生成されたバーテックスをシェーディング（ｓｈａｄｉｎｇ）する段階を示し、前述の段階Ｓ１１で生成されたバーテックスの位置を指定することにより、バーテックスに対するシェーディングが行われる。また、段階Ｓ１３は、プリミティブを生成する段階を示し、該プリミティブは、少なくとも１つのバーテックスを利用して形成される点、線、多角形（ｐｏｌｙｇｏｎ）などを意味する。一例として、該プリミティブは、バーテックスを連結して形成された三角形で表示できる。
【００３９】
一方、段階Ｓ１４は、前述のところで生成されたプリミティブに対するラスタ化を行う段階を示し、該プリミティブのラスタ化は、プリミティブをフラグメント（ｆｒａｇｍｅｎｔｓ）に分割することを意味する。該フラグメントは、プリミティブに対してグラフィック処理を行うための基本単位でもある。該プリミティブは、バーテックスに係わる情報のみを含むので、ラスタ化段階において、バーテックスとバーテックスとの間のフラグメントを生成することにより、三次元グラフィックスに対するグラフィックを遂行する。
【００４０】
一方、段階Ｓ１５は、フラグメントをシェーディングする段階を示す（ｐｉｘｅｌ  ｓｈａｄｅｒ）。該プリミティブを構成するフラグメントは、タイルを構成するピクセルに該当する。当該分野において、フラグメント及びピクセルという用語は、場合によっては混用され、それにより、フラグメントシェーディングは、ピクセルシェーディングとも称される。一例として、プリミティブを構成するグラフィック処理の基本単位をフラグメントと定義し、その後、ピクセルシェーディングからのグラフィック処理の基本単位をピクセルと定義できる。該ピクセルシェーディングにおいては、ピクセルの色を決定できる。
【００４１】
一方、段階Ｓ１６は、ピクセルの色を決定するためのテクスチャリング（ｔｅｘｔｕｒｉｎｇ）段階を示す。該テクスチャリングは、事前に準備されたイメージであるテクスチャを利用し、ピクセルの色を決定する過程である。実世界の多様な色相と、パターンの様子とを表現するために、各々のピクセルの色相を計算して決定することは、グラフィック処理に必要なデータ演算量と、グラフィック処理時間とを増大させるので、事前に準備されたテクスチャを利用し、ピクセルの色相を決定できる。例えば、オブジェクトの表面色相を、テクスチャという別途の二次元映像に保存し、オブジェクトの画面上の位置及び大きさなどにより、保存されたテクスチャを拡大及び縮小したり、多様な解像度を有するテクスチャを利用したりしてピクセル値を混合することにより、ピクセルの色相を決定できる。
【００４２】
一方、段階Ｓ１７は、テスト及びミキシング（ｔｅｓｔｉｎｇ  ａｎｄ  ｍｉｘｉｎｇ）段階を示す。タイル内の同じ位置に対応するピクセルに対し、深さテストのような過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当するピクセル値を決定できる。そのような過程を経て生成された複数個のタイルをミキシングし、１つのフレームに該当する三次元グラフィックスを生成できる。段階Ｓ１８は、段階Ｓ１１乃至段階Ｓ１７を介して生成されたフレームをフレームバッファ（ｆｒａｍｅ  ｂｕｆｆｅｒ）に保存し、該フレームバッファに保存されたフレームを、ディスプレイ装置を介して表示する段階を示す。
【００４３】
本発明の実施形態によるサンプル候補マップ変形動作は、図３のグラフィックス処理過程内で遂行される。一実施形態により、ラスタ化段階（Ｓ１４）でシェーディング処理が行われるフラグメントを選択するために、サンプル候補マップ生成及び変形動作を遂行できる。例えば、ラスタ化段階（Ｓ１４）において、フレームごとに可変されるパターンにより、第１サンプル候補マップＳＣＭ＿１が生成され、前述の実施形態により、現在フレームのフラグメント値と、以前フレームのフラグメント値とを利用し、サンプル候補マップ変形動作が遂行され、第２サンプル候補マップＳＣＭ＿２によってサンプリングされるフラグメントが、シェーディングを行う装置（ハードウェア又はプロセッシングコア）にも提供される。
【００４４】
図４は、本発明の例示的な実施形態によるグラフィックプロセッサの一具現例を示すブロック図である。
一例として、図４のグラフィックプロセッサ２００は、ＧＰＵに該当する。
図４を参照すれば、グラフィックプロセッサ２００は、ラスタライザ（ｒａｓｔｅｒｉｚｏｒ）２１０、シェーダコア（ｓｈａｄｅｒ−ｃｏｒｅ）２２０、テクスチャ処理装置（ｔｅｘｔｕｒｅ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２３０、ピクセル処理装置（ｐｉｘｅｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）２４０及びタイルバッファ（ｔｉｌｅ  ｂｕｆｆｅｒ）２５０を含んでもよい。グラフィックプロセッサ２００は、バス（ｂｕｓ）を介して、外部のメモリ２０１とデータを送受信できる。それ以外にも、グラフィックプロセッサ２００は、三次元グラフィックスを処理するための他の多様な構成要素をさらに含み得るが、図４では、それらに係わる具体的な図示は、省略される。
【００４５】
一例として、グラフィックプロセッサ２００は、タイルに基づいたレンダリング（ＴＢＲ：ｔｉｌｅ  ｂａｓｅｄ  ｒｅｎｄｅｒｉｎｇ）方式を使用できる。グラフィックプロセッサ２００は、１つのフレームに該当する三次元グラフィックスを生成するために、一定サイズに分割された複数個のタイルを、ラスタライザ２１０、シェーダコア２２０、ピクセル処理装置２４０を通過させ、処理結果を、タイルバッファ２５０に保存できる。グラフィックプロセッサ２００は、フレームを構成する全てのタイルに対して、ラスタライザ２１０、シェーダコア２２０及びピクセル処理装置２４０で構成されるパイプラインを複数個利用し、並列処理できる。グラフィックプロセッサ２００は、１つのフレームに該当する複数個のタイルが処理されれば、タイルバッファ２５０に保存された処理結果を、メモリ２０１のフレームバッファ（図示せず）に伝送できる。
【００４６】
ラスタライザ２１０は、前述の幾何変換過程を介して生成されたプリミティブに対し、ラスタ化を実行できる。また、シェーダコア２２０は、ラスタライザ２１０から、ラスタ化されたプリミティブを伝達され、タイルを構成するピクセル（又は、フラグメント）に対して、前述のピクセルシェーディング（又は、フラグメントシェーディング）を実行できる。また、シェーダコア２２０は、ピクセルシェーディング過程において、立体的であって臨場感ある三次元グラフィックスを生成するために、テクスチャを利用して生成されたピクセル値を使用できる。
【００４７】
一方、シェーダコア２２０は、前述のようなピクセルシェーディング処理と共に、バーテックスシェーディング処理をさらに実行できる。一例として、シェーダコア２２０がバーテックスシェーディングを行う場合、オブジェクトを示すプリミティブを生成し、ラスタライザ２１０に伝達できる。
【００４８】
また、シェーダコア２２０は、ピクセルに対応するピクセル値伝達をテクスチャ処理装置２３０に要請でき、テクスチャ処理装置２３０は、事前に準備されたテクスチャを処理して生成されたピクセル値を伝達できる。該テクスチャは、テクスチャ処理装置２３０の内部又は外部の所定空間、又はグラフィックプロセッサ２００外部のメモリ２０１に保存され得る。テクスチャ処理装置２３０は、シェーダコア２２０で要請したピクセル値生成に利用されるテクスチャが、テクスチャ処理装置２３０内部の所定空間にない場合、テクスチャ処理装置２３０外部の空間、又はメモリ２０１からテクスチャを持ってきて使用できる。
【００４９】
ピクセル処理装置２４０は、１つのタイル内の同じ位置に対応するピクセルに対して、深さテストなどの過程を経て、最終的に表示されるピクセル値を決定し、１つのタイルに該当する全てのピクセル値を決定できる。タイルバッファ２５０は、ピクセル処理装置２４０から伝達された１つのタイルに該当する全てのピクセル値を保存できる。１つのフレームを構成する全てのタイルに対するグラフィック処理過程が完了すれば、タイルバッファ２５０に保存された処理結果が、メモリ２０１のフレームバッファに伝達される。
【００５０】
前述の実施形態でのＳＣＭ変形装置２１１は、ラスタライザ２１０に含まれる構成であり得る。一例として、ラスタライザ２１０は、所定パターン情報を受信し、第１サンプル候補マップを生成し、また、前述の実施形態による変形動作を介して、第２サンプル候補マップを生成できる。また、ラスタライザ２１０は、メモリ２０１に保存された以前フレームのフラグメント値Ｆｒａｇ＿Ｐを受信し、それに基づいて、変形動作を遂行できる。ラスタライザ２１０は、複数のフラグメントのうちサンプリングされたフラグメントを、選択的にシェーダコア２２０に提供できる。一実施形態により、ラスタライザ２１０は、複数のハードウェア（例えば、プロセッシングコア）を含み得、第１サンプル候補マップ及び第２サンプル候補マップの生成動作は、同一ハードウェアによって遂行されるか、或いは互いに異なるハードウェアによって遂行される。
【００５１】
一方、シェーダコア２２０は、前述の実施形態での中間レンダリング処理及び最終レンダリングを実行できる。一実施形態により、シェーダコア２２０は、複数のハードウェア（例えば、プロセッシングコア）を含み得、中間レンダリング処理及び最終レンダリング処理は、同一ハードウェアによって実行されるか、或いは互いに異なるハードウェアによって実行される。
【００５２】
以下では、本発明の実施形態によるサンプリング及びシェーディング処理の具体的な例について説明する。
【００５３】
図５（Ａ）、図５（Ｂ）、及び図１９は、プリミティブ内のフラグメントに対するシェーディング処理の一例を示す図面である。
図５（Ａ）、図５（Ｂ）、及び図１９においては、候補マップ変形動作が遂行されていない例が図示される。
【００５４】
図５（Ａ）は、何れか１つのプリミティブの一部フラグメントとして、４＊４サイズのフラグメントが例示され、プリミティブのフラグメントに対して、所定サンプリングの比率によってサンプリングが行われる。一例として、図５（Ａ）は、相対的に細密なパターンによってサンプリングが行われる例を示し、水平方向及び垂直方向に、２つのフラグメントごとに１つのフラグメントがサンプリングされる例が図示される。細密なパターンを有する第１サンプリング候補マップにより、Ｐ０位置乃至Ｐ３位置のフラグメントがサンプリングされ、サンプリングされたフラグメントに対するシェーディング処理が行われる。図５（Ｂ）は、図５（Ａ）に図示されたサンプリングに基づいてシェーディング処理が行われるとき、８＊８サイズのフラグメントのうちシェーディング処理が行われたフラグメントの位置を示す。
【００５５】
図１９を参照すれば、シェーディング処理が行われていないフラグメントについては、補間動作を介してその値が算出され得る。例えば、１つの位置でのフラグメントは、それに隣接した１以上のフラグメントの値を利用した補間動作を介して、その値が算出され得る。即ち、シェーディング処理が行われていないフラグメントは、それに隣接したフラグメント値を参照し、類似の値で満たされ、前述のような補間処理は、ホールフィリング（ｈｏｌｅ  ｆｉｌｌｉｎｇ）とも称される。一例として、図１９においては、サンプリングされていないフラグメントの行及び列の座標を有するフラグメントの値は、平均４個のサンプリングされたフラグメントの値の平均に基づく例が図示される。
【００５６】
図６は、図５（Ａ）、図５（Ｂ）、及び図１９の実施形態に、サンプル候補マップ変形動作が適用された例を示す図面である。
図６においては、以前フレームのレンダリング結果を利用せずに、現在フレームのデータのみを利用し、サンプル候補マップを変形する例を示す。
【００５７】
図６を参照すれば、第１サンプリング候補マップにより、所定比率でもって、フラグメントをサンプリングでき、サンプリングされたフラグメントに対する中間シェーディング処理を介して、その値が算出され得る。また、サンプリングされていない残りのフラグメントに対して、サンプリング候補マップ変形動作を介して、追加してサンプリングが行われるフラグメントが選択される。
【００５８】
現在フレームの中間レンダリング処理を介して算出されたフラグメントの値を利用し、サンプリング候補マップ変形動作が遂行され、一例として、第１位置Ｐ０のフラグメント値と、第２位置Ｐ１のフラグメント値との差を基にして、第５位置Ｐ４のフラグメントを、追加してサンプリングするか否かが判断される。前記差値が所定臨界値を超えて、前記位置間の客体エッジなどの存在を示す場合には、第５位置Ｐ４のフラグメントを追加してサンプリングするように判断されるが、前記差値が所定臨界値以下である場合には、第５位置Ｐ４のフラグメントは、サンプリングされない。
【００５９】
それと同様に、第３位置Ｐ２のフラグメント値と、第４位置Ｐ３のフラグメント値との差を基にして、第６位置Ｐ５のフラグメントを追加してサンプリングするか否かが判断される。図６においては、前述のような方式により、４＊４サイズのフラグメントにおいて、２行目及び４行目のフラグメントが、何れもサンプリングされる場合が例示され、シェーディング処理されていない残りフラグメントは、ホールフィリング処理を介して、その値が算出され得る。
【００６０】
図５（Ａ）、図５（Ｂ）、及び図１９に図示された実施形態によれば、フラグメント値の変化がないか、或いは漸進的である場合には、補間処理によって算出された値が、実際値と同一であるか、又は類似している。しかし、フラグメント値の変化が大きい場合には、補間処理を介して得られた結果の有効性が保証され難い。一方、図６に図示された実施形態においては、中間レンダリング処理後、すぐホールフィリングを行わず、サンプリングされていないフラグメントに対する補間処理の実行が適切であるか否かを、サンプル候補マップ変形過程を介し、もう一度判断できるので、図５（Ａ）、図５（Ｂ）、及び図１９に比べ、レンダリング処理の品質がさらに向上する。
【００６１】
一方、図７（Ａ）及び図７（Ｂ）は、少なくとも２つのフレームのデータを利用し、サンプル候補マップ変形を行う例を示す。図７（Ａ）及び図７（Ｂ）には、２つのフレームのデータを利用する際に、フレームがオッドフレームＦｒａｍｅ＿ＯｄｄとイーブンフレームＦｒａｍｅ＿Ｅｖｅｎとに分類され、各々のフレームでの第１サンプル候補マップＳＣＭ＿１のパターンが図示される。本実施形態は、時間的に連続するフレーム間の反復シーケンスでディザリングされるサンプル候補マップパターンを提供する例を示し、後述する図１７（Ａ）のような実施形態においては、３個又はそれ以上のフレームにディザリングパターンが拡張される。３個又はそれ以上のフレームのデータを、候補マップ変形に利用する場合には、３個以上のフレームの第１サンプル候補マップＳＣＭ＿１のパターンが異なり得る。サンプル候補マップディザリング技術は、視覚的な人工物を低減でき、特に、フレーム間の客体の動きが遅いか、或いは最小であるとき、特に低減される。
【００６２】
図７（Ａ）を参照すれば、前述の図６の実施形態に比べ、第１候補マップＳＣＭ＿１のサンプリングの比率がさらに低い。一例として、図７（Ａ）の例においては、４＊４サイズのフラグメントごとに、２つのフラグメントだけがサンプリングされる。オッドフレームＦｒａｍｅ＿ＯＤＤのレンダリング処理時、第１候補マップＳＣＭ＿１のサンプリング情報は第１パターンを有し、４＊４サイズのフラグメントのうち、２行目及び３列目に位置するフラグメントと、４行目及び１列目に位置するフラグメントとがサンプリングされる。一方、イーブンフレームＦｒａｍｅ＿Ｅｖｅｎのレンダリング処理時、第１候補マップＳＣＭ＿１のサンプリング情報は第２パターンを有し、４＊４サイズのフラグメントのうち２行目及び１列目に位置するフラグメントと、４行目及び３列目に位置するフラグメントとがサンプリングされる。しかし、それらは、１つの実施形態に過ぎず、前記オッドフレームＦｒａｍｅ＿ＯＤＤ及びイーブンフレームＦｒａｍｅ＿Ｅｖｅｎの第１サンプル候補マップＳＣＭ＿１は、他の多様な方式により、そのパターンが設定され得る。その際、図７（Ａ）におけるように、オッドフレームＦｒａｍｅ＿ＯＤＤ及びイーブンフレームＦｒａｍｅ＿Ｅｖｅｎの相互補完が可能になるように、オッドフレームＦｒａｍｅ＿ＯＤＤでの第１サンプル候補マップＳＣＭ＿１と、イーブンフレームＦｒａｍｅ＿Ｅｖｅｎでの第１サンプル候補マップＳＣＭ＿１とが設定される。
【００６３】
現在フレームがイーブンフレームＦｒａｍｅ＿Ｅｖｅｎに該当する場合を仮定し、本発明の動作例について説明すれば、次の通りである。まず、イーブンフレームＦｒａｍｅ＿Ｅｖｅｎの処理時、第２パターンを有する第１サンプル候補マップＳＣＭ＿１によって中間レンダリング処理が行われ、それにより、第２パターンに対応する位置のフラグメントの値が算出され得る。また、既算出フラグメントの値を利用し、第１サンプル候補マップＳＣＭ＿１の変形において、以前のオッドフレームＦｒａｍｅ＿ＯＤＤでの第１パターンに対応する位置のフラグメントの値と、現在のイーブンフレームＦｒａｍｅ＿Ｅｖｅｎの中間レンダリング処理を介して算出された第２パターンに対応する位置のフラグメントとの値が利用される。
【００６４】
サンプル候補マップ変形に利用されるオッドフレームＦｒａｍｅ＿ＯＤＤのフラグメント値Ｐｖと、イーブンフレームＦｒａｍｅ＿Ｅｖｅｎのフラグメント値Ｐｖとを結合した例は、図７（Ｂ）に図示された通りである。即ち、１つのフレームについては、そのサンプリングの比率が低いことにより、フラグメント値Ｐｖ間の間隔が相対的に長いとしても、本発明の例示的な実施形態により、２つのフレームのフラグメント値Ｐｖが利用される場合には、フラグメント値Ｐｖ間の間隔が短いという効果を呈示できる。それにより、実際シェーディング処理が必要なフラグメントがさらに正確に判断され、追加してサンプリングされるフラグメントに対して、最終レンダリング処理が行われる。
【００６５】
一方、図７（Ｂ）に図示された例において、現在フレームがイーブンフレームであるとき、一例として、以前フレームのフラグメント値（一例として、オッドフレームのフラグメント値Ｆ＿ＯＰＶ）が、現在フレームのレンダリングで対応する位置でのフラグメントのために利用され得る。しかし、もしレンダリングされる以前フレームと現在フレームとの間に客体の動きが存在する場合、以前フレームのフラグメントを現在フレームにマッピングするのに、前記動きが考慮され得る。該動きを考慮しない場合でも、場面変更や迅速な動きにより、以前フレームのイメージが、現在フレームのイメージと特に異なる場合には、以前フレームのフラグメントは、現在フレームのフラグメントと大きく異なり、それは、サンプル候補マップの変形を保証することになる。
【００６６】
図８は、本発明の例示的な実施形態による、第１サンプル候補マップＳＣＭ＿１及びそれを変形した第２サンプル候補マップＳＣＭ＿２を示す図面である。
図８では、図７（Ａ）及び図７（Ｂ）の実施形態により、イーブンフレームＦｒａｍｅ＿Ｅｖｅｎでのサンプル候補マップの変形例が図示される。
【００６７】
図８を参照すれば、グラフィックプロセッサは、フラグメントに対する中間レンダリング処理のために、第１パターンを有する第１サンプル候補マップＳＣＭ＿１を生成でき、一例として、サンプリングが行われるフラグメントに対応するパターンは、「１」の値を有し、サンプリングが行われていないフラグメントに対応するパターンは、「０」の値を有し得る。
【００６８】
その後、第１サンプル候補マップＳＣＭ＿１の再評価により、第２サンプル候補マップＳＣＭ＿２が生成される。一例として、現在フレームにおいて、第１位置Ｐ０及び第２位置Ｐ１のフラグメント値と、その間の少なくとも１つの以前フレームでのフラグメント値とを利用し、第１位置Ｐ０と第２位置Ｐ１との間の領域Ｒｅｇ＿１のフラグメントのサンプリング必要性如何が判断される。図８においては、第１位置Ｐ０と第２位置Ｐ１との間の領域Ｒｅｇ＿１のフラグメントに対応するパターンが変更され、追加してサンプリングされる例が図示される。また、図８においては、第３位置Ｐ２と第４位置Ｐ３との間の領域Ｒｅｇ＿２のフラグメントは、サンプリングされていない一方、第４位置Ｐ３と第５位置Ｐ４との間の領域Ｒｅｇ＿３のフラグメントは、追加してサンプリングされる例が図示される。
【００６９】
図７（Ａ）、図７（Ｂ）、及び図８に図示された実施形態によれば、前述の図６の例に比べ、サンプリング比率が低いけれども、少なくとも２つのフレームのフラグメント値を利用してサンプル候補マップが変形されるので、実際シェーディング処理が必要とされるフラグメントの判断正確度の低下を防止できる。即ち、図７（Ａ）、図７（Ｂ）、及び図８に図示された実施形態によれば、中間レンダリング処理が行われるフラグメント数を低減するので、処理速度を向上でき、また、レンダリング品質の低下を最小化できる。
【００７０】
また、本発明の実施形態によれば、前述の図５（Ａ）、図５（Ｂ）、図１９、乃至図８の実施形態による動作が選択的に遂行される。一例として、グラフィックプロセッサは、ホストからの制御、又は自主的な制御を介して、第１サンプル候補マップのサンプリングの比率を調節でき、それを介して、シェーディング処理されるフラグメントの量を調節できる。例えば、レンダリング処理される複数のフレームのうち一部は、図５（Ａ）、図５（Ｂ）、及び図１９の例によって処理され、他の一部は、図６の例によって処理され、他の一部は、図７（Ａ）、図７（Ｂ）、及び図８の例によって処理され得る。例えば、サンプリングモードにおいて、第１サンプル候補マップのサンプリングの比率が、所定基準値より高いときには、前記図６の実施形態が適用され、所定基準値より低いときには、前記図７（Ａ）、図７（Ｂ）、及び図８の実施形態が適用される。
【００７１】
又は、グラフィックプロセッサは、ホストからの制御、又は自主的な制御を介して、サンプリングモードのオン・オフを設定でき、サンプリングモードがオフになる場合には、フレーム（又は、プリミティブ）内の全てのフラグメントがシェーディング処理される。
【００７２】
図９及び図１０は、本発明の例示的な実施形態によるグラフィックプロセッサの動作方法を示すフローチャートである。
図９を参照すれば、第１サンプル候補マップ（ＳＣＭ）により、何れか１つのフレームの複数のフラグメントのうち一部をシェーディングすることにより、中間レンダリング処理が行われる（Ｓ２１）。その後、追加してシェーディングが行われるフラグメントを選択するために、以前フレームのレンダリング結果（例えば、中間レンダリング結果）と、現在フレームのレンダリング結果とを比較演算できる（Ｓ２２）。また、この比較演算結果により、１以上のフラグメントを含む領域別に、追加サンプリングが必要であるか否かが判断される（Ｓ２３）。
【００７３】
判断結果、第１サンプル候補マップ（ＳＣＭ）において、追加サンプリングが必要なフラグメントに対応するパターンは、その値が変更される（Ｓ２４）。一方、第１サンプル候補マップ（ＳＣＭ）において、追加サンプリングが必要ではないフラグメントに対応するパターンは、その値が維持される（Ｓ２５）。また、前述のような過程を介して生成された第２サンプル候補マップ（ＳＣＭ）により、さらなるフラグメントがシェーディングされることにより、最終レンダリング処理が行われる（Ｓ２６）。
【００７４】
一方、図１０を参照すれば、グラフィックプロセッサに入力されるフレームにより、互いに異なるパターンを有する第１サンプル候補マップ（ＳＣＭ）が生成され、第１フレームが受信されることにより、第１パターンを有する第１サンプル候補マップ（ＳＣＭ）が生成される（Ｓ３１）。また、第１パターンを有する第１サンプル候補マップ（ＳＣＭ）を利用し、一部のフラグメントに対して中間レンダリング処理が行われ（Ｓ３２）、最終シェーディング及び補間動作を介して、前記第１フレームに対して、最終レンダリング処理が行われる（Ｓ３３）。
【００７５】
また、第２フレームが受信されることにより、第２パターンを有する第１サンプル候補マップ（ＳＣＭ）が生成される（Ｓ３４）。また、第２フレームに対して、第２パターンを有する第１サンプル候補マップ（ＳＣＭ）を利用し、一部のフラグメントに対して中間レンダリング処理が行われ（Ｓ３５）、第１フレームの中間レンダリング結果と、第２フレームの中間レンダリング結果とが比較される（Ｓ３６）。また、比較結果に基づいて、第１サンプル候補マップ（ＳＣＭ）のサンプリング情報を変更することにより、第２サンプル候補マップ（ＳＣＭ）が生成され（Ｓ３７）、第２フレームに対して、第２サンプル候補マップ（ＳＣＭ）を利用した最終レンダリング処理が行われる（Ｓ３８）。
【００７６】
図１１は、本発明の例示的な実施形態によるグラフィックプロセッサの一具現例を示すブロック図である。
図１１には、説明の便宜上、サンプル候補マップの生成及び変更を行う構成、及びレンダリングを処理する構成のみが図示されるが、グラフィックプロセッシングのための他の多様な構成が、グラフィックプロセッサにさらに具備され得る。
【００７７】
図１１を参照すれば、グラフィックプロセッサ３００は、サンプル候補マップ生成器３１０、中間レンダリング処理器３２０、サンプル候補マップ変形装置３３０及び最終レンダリング処理器３４０を含み得る。一実施形態により、図１１に図示された構成要素は、プロセッシングコアなどのハードウェアを含み得、図１１には、中間レンダリング処理器３２０と最終レンダリング処理器３４０とが別個のハードウェアによる場合を図示しているが、中間レンダリング処理と最終レンダリング処理とが同一ハードウェアによって行われる場合もある。
【００７８】
ＳＣＭ生成器３１０は、パターン情報Ｉｎｆｏ＿ｐａｔを受信し、それを利用し、第１サンプル候補マップＳＣＭ＿１を生成できる。パターン情報Ｉｎｆｏ＿ｐａｔは、複数のフラグメントのうち、中間レンダリング処理が行われるフラグメントの位置を示す情報を含み得る。パターン情報Ｉｎｆｏ＿ｐａｔは、ホストからグラフィックプロセッサ３００にも提供される。又は、グラフィックプロセッサ３００は、複数のパターン情報をその内部に保存でき、ホストからの命令により、グラフィックプロセッサ３００内部において、パターン情報Ｉｎｆｏ＿ｐａｔが生成される。又は、変形可能な実施形態として、グラフィックプロセッサ３００は、現在レンダリングが行われるフレームの順序を判断し、フレームにより、互いに異なるパターンを有するパターン情報Ｉｎｆｏ＿ｐａｔを生成できる。
【００７９】
中間レンダリング処理器３２０は、複数のフラグメントのデータＤａｔａと、第１サンプル候補マップＳＣＭ＿１とを受信し、第１サンプル候補マップＳＣＭ＿１の第１パターンに対応するフラグメントに対して、選択的にシェーディングを実行できる。中間レンダリング処理器３２０のシェーディング処理結果Ｄａｔａ＿Ｉは、ＳＣＭ変形装置３３０に提供され、中間レンダリング処理器３２０からのシェーディング処理結果Ｄａｔａ＿Ｉは、第１パターンに対応する位置のフラグメント値を含み得る。
【００８０】
ＳＣＭ変形装置３３０は、以前フレームのフラグメント値Ｆｒａｇ＿Ｐをさらに受信でき、前記フラグメント値Ｆｒａｇ＿Ｐは、以前フレームでの第２パターンを有する第１サンプル候補マップＳＣＭ＿１を利用した中間レンダリング処理結果を含み得る。ＳＣＭ変形装置３３０は、中間レンダリング処理器３２０からの処理結果と、以前フレームのフラグメント値Ｆｒａｇ＿Ｐとを利用した演算を介して、第１サンプル候補マップＳＣＭ＿１を変更することにより、第２サンプル候補マップＳＣＭ＿２を生成できる。最終レンダリング処理器３４０は、中間レンダリング処理器３２０のシェーディング処理結果Ｄａｔａ＿Ｉと、第２サンプル候補マップＳＣＭ＿２とを受信し、中間レンダリング処理が行われていないフラグメントのうち一部をシェーディング処理することにより、最終レンダリング結果Ｄａｔａ＿Ｆを生成できる。
【００８１】
前述のラスタライザが、シェーディング処理が行われるフラグメントを選択的にサンプリングする場合、図１１に図示された実施形態において、ＳＣＭ生成器３１０及びＳＣＭ変形装置３３０は、ラスタライザに含まれる構成でもある。又は、中間レンダリング処理器３２０及び最終レンダリング処理器３４０各々は、その内部にラスタライジング機能を遂行する構成を含むようにも定義される。
【００８２】
図１２は、本発明の実施形態が適用されたグラフィックプロセッサの全般的な動作手続きを示す図面である。
図１２を参照すれば、グラフィックプロセッサは、アプリケーションを介して、ホストからレンダリングデータ（又は、グラフィックデータ）Ｄａｔａと、命令（ｃｏｍｍａｎｄ）とを受信でき、レンダリングデータＤａｔａは、プリミティブ情報、テクスチャ情報などを含み得る。グラフィックプロセッサは、プリレンダリング（ｐｒｅ−ｒｅｎｄｅｒｉｎｇ）過程（Ｓ４１）を介して、前記データＤａｔａと命令とをレンダリングが可能な形態に加工できる。該グラフィックプロセッサにより、前記プリレンダリング過程の省略が可能であり、タイル基盤のレンダリングが行われる場合には、タイリング処理がプリレンダリング過程でも行われる。
【００８３】
その後、プリレンダリング過程での結果を基に、デプス（ｄｅｐｔｈ、深さ）を計算する過程（Ｓ４２）が遂行され、計算結果により、デプスデータ（ｄｅｐｔｈ  ｄａｔａ）が生成される。前記デプス計算過程も、アプリケーションやグラフィックプロセッサによっても省略が可能であり、一実施形態により、デプスデータは、前述の実施形態での第１サンプル候補マップ（ＳＣＭ、Ｓａｍｐｌｅ＿Ｃａｎｄｉｄａｔｅ＿Ｍａｐ）生成にも利用される。
【００８４】
所定パターンを有するサンプリング情報がグラフィックプロセッサ内部で生成されるか、或いはホストから伝送され、ＳＣＭ生成器にも提供される。一具現例として、サンプルパターン生成器（ＳＰＧ）がグラフィックプロセッサ内に具備され、サンプルパターン生成器（ＳＰＧ）は、複数のパターン情報を含み得る。以前の実施形態において説明された例を参照すれば、サンプルパターン生成器（ＳＰＧ）は、フレームの順序に合わせて、第１パターンを有するパターン情報、及び第２パターンを有するパターン情報を交互にＳＣＭ生成器に提供できる。また、サンプルパターン生成器（ＳＰＧ）は、フレームの順序に合わせて、第１パターン及び第２パターンを有するパターン情報のうち何れか一つをＳＣＭ生成器に提供して、他の一つをピクセル抽出器（ＰＥ）に提供できる。
【００８５】
また、ＳＣＭ生成器は、受信されたサンプルパターンにより、フラグメントがサンプリングされるように、第１サンプル候補マップ（第１ＳＣＭ）を生成でき（Ｓ４３）、生成された第１サンプル候補マップを、中間レンダリング処理器に提供できる。一実施形態により、ＳＣＭ生成器は、デプスデータをさらに利用し、第１サンプル候補マップを生成できる。例えば、デプス差が大きいフラグメントは、最終レンダリング過程において、その値が互いに異なるか、或いはその値の差が大きい確率が高いので、該ＳＣＭ生成器は、デプスデータを基にして、サンプリング情報を調節できる。例えば、何れか１つのプリミティブに含まれる複数のフラグメントのデプスの差が大きい場合には、前記複数のフラグメントが何れもシェーディング処理されるように、第１サンプル候補マップが生成される。又は、何れか１つのプリミティブに含まれる複数のフラグメントが複数の領域に分類され、各々の領域内でのデプス差に基づいて、当該領域に含まれるフラグメントが何れもシェーディング処理されるように、第１サンプル候補マップが生成される。
【００８６】
前述のような過程を介して生成されたプリレンダリング結果、デプスデータ及び第１サンプル候補マップを利用し、中間レンダリング処理（ｉｎｔｅｒｍｅｄｉａｔｅ  ｒｅｎｄｅｒｉｎｇ  ｐａｓｓ）が行われる（Ｓ４４）。第１サンプル候補マップにより、複数のフラグメントは、シェーディング処理によってその値が算出される一方、残りのフラグメントは、シェーディング処理が行われていないホール（ｈｏｌｅ）に該当する。
【００８７】
一方、本発明の実施形態により、第１サンプル候補マップを変形（改訂）することにより、第２サンプル候補マップ（第２ＳＣＭ）が生成され（Ｓ４５）、一例として、該ＳＣＭ変形器は、現在フレームの中間レンダリング処理結果を受信すると共に、以前フレームから抽出されたフラグメント値をさらに受信できる。図１２に図示されたピクセル抽出器（ＰＥ）は、以前フレームのフラグメント値と、パターン情報とを受信し、パターン情報に対応するフラグメントの値を抽出し、それを該ＳＣＭ変形器に提供できる。該ＳＣＭ変形器は、前述の実施形態により、以前フレーム及び現在フレームのフラグメント値を利用した演算を介して、第２サンプル候補マップを生成できる。
【００８８】
最終レンダリング処理器は、中間レンダリングデータ、デプスデータ及び第２サンプル候補マップを利用し、最終レンダリング処理（ｆｉｎａｌ  ｒｅｎｄｅｒｉｎｇ  ｐａｓｓ）を行う（Ｓ４６）。最終レンダリング処理を介して、フラグメントに対する追加シェーディングを実行できる。該最終レンダリング処理によって生成されたデータは、依然としてホール（ｈｏｌｅ）を含んでおり、ホールフィリング処理を経て、最終イメージが生成される（Ｓ４７）。
【００８９】
一実施形態により、以前フレームから抽出されたフラグメント値は、前記サンプル候補マップ変形過程で利用され、前記ホールフィリング処理のための補間動作は、現在フレームでシェーディング処理されたフラグメント値を利用して遂行される。また、前述のような手続きによって生成された現在フレームの最終イメージデータは、次のフレームのレンダリング処理過程において、サンプル候補マップ変形過程にも利用される。他の実施形態において、その後のフレームに対する処理が現在フレームに先立って行われ、その後のフレームで計算されたフラグメント値が、前記実施形態と同一目的で、以前フレーム処理のためにも利用される（例えば、逆方向フレーム処理）。
【００９０】
図１３は、本発明の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
図１３を参照すれば、レンダリングシステム４００は、ホスト４１０及びグラフィックプロセッサ４２０を含み得る。ホスト４１０は、アプリケーション４１１及びデバイスドライバ４１２を含み得る。また、グラフィックプロセッサ４２０は、サンプル候補マップ（ＳＣＭ）変形装置４２１、フラグメント処理器４２２及び補間正確度判断装置（補間正確度判断回路）４２３を含み得る。
【００９１】
アプリケーションとして、アプリケーション４１１は、命令ＣＭＤ及びグラフィックデータＤＡＴＡを、デバイスドライバ４１２を介してグラフィックプロセッサ４２０に提供できる。また、アプリケーション４１１又はデバイスドライバ４１２は、グラフィックプロセッサ４２０でのレンダリング処理に係わるサンプリングモードを制御でき、一例として、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆをグラフィックプロセッサ４２０に提供できる。また、グラフィックプロセッサ４２０の補間正確度判断装置４２３は、補間処理によって生成されたフラグメント値の正確度を判断し、判断情報Ｉｎｆｏ＿Ａをホスト４１０に提供できる。
【００９２】
サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆがサンプリングオフモードを示す場合、グラフィックプロセッサ４２０は、前述の実施形態でのサンプリング動作遂行なしに、全体フラグメントに対するシェーディングを実行できる。一方、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆがサンプリングオンモードを示す場合、グラフィックプロセッサ４２０は、前述の実施形態により、所定パターンを有するサンプル候補マップを生成し、サンプル候補マップを変形し、中間レンダリング処理及び最終レンダリングを実行できる。
【００９３】
補間正確度判断装置４２３は、所定周期により、補間正確度を判断できる。一例として、各々のフレーム別、又は複数のフレームごとに補間正確度を判断できる。該補間正確度は、多様な方式によって判断され、一例として、同一位置のフラグメントに対して、補間によって生成されたフラグメント値Ｆｒａｇ＿Ｉと、実際シェーディング処理によって生成されたフラグメント値Ｆｒａｇ＿Ｒとを比較することによって判断される。もし補間によるフラグメント値Ｆｒａｇ＿Ｉと、シェーディング処理によるフラグメント値Ｆｒａｇ＿Ｒとの差が大きい場合には、シェーディング処理が行われる必要があるフラグメントが、補間によってその値が算出された場合を示し、それは、レンダリング処理特性が低いことを呈示できる。
【００９４】
判断情報Ｉｎｆｏ＿Ａは、多様な情報を含み得る。一例として、補間正確度判断装置４２３が、フラグメント値Ｆｒａｇ＿Ｒ，Ｆｒａｇ＿Ｉを利用した比較処理を行い、それに基づいて補間正確度を計算し、判断情報Ｉｎｆｏ＿Ａを生成できる。又は、変形可能な実施形態として、判断情報Ｉｎｆｏ＿Ａは、フラグメント値Ｆｒａｇ＿Ｒ，Ｆｒａｇ＿Ｉを利用した演算結果のみを含み得、ホスト４１０が、判断情報Ｉｎｆｏ＿Ａを利用して補間正確度を判断できる。ホスト４１０は、判断情報Ｉｎｆｏ＿Ａに基づいて、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆを生成できる。
【００９５】
図１４は、本発明の変形可能な実施形態によるグラフィックプロセッサを示すブロック図である。
図１４においては、グラフィックプロセッサ５００で内部的に、補間正確度を判断し、それに基づいて、第１サンプル候補マップのサンプリングの比率を調節する例が図示される。
【００９６】
図１４を参照すれば、グラフィックプロセッサ５００は、サンプルパターン生成器５１０、サンプル候補マップ（ＳＣＭ）生成器５２０、サンプル候補マップ（ＳＣＭ）変形装置５３０、フラグメント処理器５４０及び補間正確度判断装置５５０を含み得る。サンプルパターン生成器５１０は、所定パターンを有するパターン情報を生成し、それをＳＣＭ生成器５２０に提供し、ＳＣＭ生成器５２０は、該パターン情報に基づいて、第１サンプル候補マップを生成できる。また、グラフィックプロセッサ５００は、ホストから、命令ＣＭＤ及びグラフィックデータＤＡＴＡと共に、サンプリングモードのオン・オフを制御するためのサンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆを受信できる。
【００９７】
サンプルパターン生成器５１０は、フレーム別に、互いに異なるパターンを有するパターン情報を生成でき、一実施形態により、補間正確度判断装置５５０からの判断情報Ｉｎｆｏ＿Ａに基づいて、サンプリングの比率が調節されたパターン情報を生成できる。例えば、補間正確度が相対的に高い場合（又は、所定の設定値より高い場合）、フレーム別に類似度が高いと判断され、それにより、サンプルパターン生成器５１０は、サンプリング比率が低下したパターン情報を生成できる。一方、補間正確度が相対的に低い場合には、サンプルパターン生成器５１０は、サンプリングの比率が上昇したパターン情報を生成できる。
【００９８】
一実施形態により、サンプリングの比率が低い場合には、サンプル候補マップ変形動作が、複数のフレームのフラグメント値を利用して遂行される。一方、サンプリングの比率が高い場合には、サンプル候補マップ変形動作遂行なしに、補間を介してホールフィリング処理が行われるか、或いは現在フレームのフラグメント値を利用したサンプル候補マップ変形動作を介して、最終レンダリング処理が行われる。
【００９９】
図１５は、本発明の他の変形可能な実施形態によるレンダリングシステムを示すブロック図である。
図１５を参照すれば、レンダリングシステム６００は、ホスト６１０及びグラフィックプロセッサ６２０を含み、ホスト６１０は、アプリケーション６１１、デバイスドライバ６１２、類似度判断器６１３及び周波数特性判断器６１４を含み得る。また、グラフィックプロセッサ６２０は、サンプル候補マップ（ＳＣＭ）変形装置６２１及びフラグメント処理器６２２を含み得る。
【０１００】
一実施形態により、ホスト６１０は、出力されるフレームの特性を自主的に判断し、それに基づいて、グラフィックプロセッサ６２０のサンプリング動作を制御できる。一例として、類似度判断器６１３は、グラフィック処理される複数のフレームに対して、その類似度を判断でき、ホスト６１０は、類似度判断に基づいて、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆを、グラフィックプロセッサ６２０に提供できる。サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆは、サンプリングモードのオン又はオフを制御でき、一実施形態により、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆは、サンプリングの比率を調節するための情報をさらに含み得る。一例として、複数のフレームについて、その類似度程度が既設定であり、ホスト６１０内部に保存され、類似度判断器６１３は、既設定情報を基にして、現在レンダリング処理されるフレームが、以前フレームよりも類似度が高いが否かを判断できる。一例として、臨界値の基準は、フレームシーケンスのフレーム間の動きベクトルに基づき、一例として、動きが少なければ、類似度が高いと判断されるが、動きが大きければ、類似度が低いと判断される。
【０１０１】
一方、周波数特性判断器６１４は、フレームの特性を判断できる。一例として、周波数特性判断器６１４は、レンダリング処理されたフレームに対し、自主的にその特性（例えば、エッジが分布する程度）を判断できる。もしレンダリング進められるフレームにエッジが多く存在する場合には、それ以後にも、エッジが多く存在する確率が高く、その場合、ホスト６１０は、サンプリング制御信号Ｃｔｒｌ＿Ｃ／Ｆを、グラフィックプロセッサ６２０に提供することにより、サンプリングモードをオフにするか、或いはサンプリングの比率を上昇できる。
【０１０２】
図１６は、サンプリングモードの可変動作の一例を示す図面である。
図１６を参照すれば、グラフィックプロセッサは、多様なサンプリングモードで動作でき、複数のフレームに対するレンダリング遂行において、サンプリングモードが可変される。前述の実施形態のように、サンプリングモードの変更は、ホストによって制御されるか、或いはグラフィックプロセッサによって自主的に遂行される。又は、変形可能な例として、サンプリングモードのオン・オフは、ホストによって制御される一方、サンプリングモードにおいて、サンプリングの比率は、グラフィックプロセッサによって自主的に調節される方式が適用され得る。
【０１０３】
フレームの内容が大きく変動するか、又はフレーム内に複数のエッジが存在する場合、或いは補間処理されたフラグメント値と、実際シェーディング処理されたフラグメント値とが差が大きい場合には、グラフィックプロセッサが、サンプリングオフモード（又は、フルサンプリングモード）で動作できる。このとき、全体フラグメントに対するシェーディング処理が行われる。
【０１０４】
その後、フレームの類似度が上昇するなどの多様な基準により、サンプリングモードがオンになり、該グラフィックプロセッサは、まず、細密なサンプリングモードで動作できる。一実施形態により、サンプリングの比率が高い第１サンプル候補マップを介して、一部のフラグメントを中間シェーディング処理し、残りフラグメントに対して、前述の実施形態によるサンプル候補マップ変形動作が遂行される。また、細密なサンプリングモードにおいては、サンプル候補マップ変形動作が、現在レンダリング処理されるフレームのフラグメント値を利用して遂行される。
【０１０５】
また、サンプリングモードが、概略的な（粗い）サンプリングモードに変更され、このとき、サンプリング比率が低い第１サンプル候補マップを介して、一部のフラグメントを中間シェーディング処理し、残りフラグメントに対して、前述の実施形態によるサンプル候補マップ変形動作が遂行される。また、前述の実施形態により、概略的なサンプリングモードにおいては、サンプル候補マップ変形動作が、現在フレーム及び以前フレームのシェーディング処理によるフラグメント値を利用して遂行される。
【０１０６】
図１７（Ａ）及び図１７（Ｂ）は、サンプル候補マップ変形動作が、３個以上のフレームのデータを利用して遂行される例を示す図面である。図１７（Ａ）及び図１７（Ｂ）としては、４個のフレームのデータが利用される例が図示されたが、本発明の実施形態では、他の多様な個数のフレームが利用され得る。
【０１０７】
図１７（Ａ）を参照すれば、４＊４サイズのフラグメントごとに、１個のフラグメントがサンプリングされ、シェーディング処理される。また、４個の連続されるフレームに係わる第１サンプル候補マップは、そのパターンが互いに異なり得る。一例として、第１フレームＦｒａｍｅ１乃至第４フレームＦｒａｍｅ４の第１サンプル候補マップＳＣＭ＿１は、そのパターンが互いに重ならないように設定され得る。
【０１０８】
一方、図１７（Ｂ）を参照すれば、サンプル候補マップ変形装置は、現在フレームとして、第４フレームＦｒａｍｅ４の第１サンプル候補マップＳＣＭ＿１を受信し、第４フレームＦｒａｍｅ４の中間レンダリング処理されたフラグメント値Ｆｒａｇ＿Ｆ４を受信できる。また、サンプル候補マップ変形装置は、以前のフレームとして、第１フレームＦｒａｍｅ１乃至第３フレームＦｒａｍｅ３のフラグメント値Ｆｒａｇ＿Ｆ１〜Ｆｒａｇ＿Ｆ３を利用できる。一実施形態により、第１フレームＦｒａｍｅ１乃至第３フレームＦｒａｍｅ３のフラグメント値Ｆｒａｇ＿Ｆ１〜Ｆｒａｇ＿Ｆ３は、グラフィックプロセッサ外部のメモリに保存され、フラグメント値Ｆｒａｇ＿Ｆ１〜Ｆｒａｇ＿Ｆ３は、外部のメモリから読み取られ、サンプル候補マップ変形装置にも提供される。
【０１０９】
図１８は、本発明の例示的な実施形態によるメモリ装置を含むモバイル装置の一具現例を示すブロック図である。
モバイル装置７００は、レンダリングシステムに該当し、アプリケーションプロセッサ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｃｅｓｓｏｒ）７１０とメモリ装置７２０とを含み得る。アプリケーションプロセッサ７１０は、システム・オン・チップ（ＳｏＣ：ｓｙｓｔｅｍ  ｏｎ  ｃｈｉｐ）によっても具現され得る。システム・オン・チップ（ＳｏＣ）は、所定標準バス規格を有するプロトコルが適用されたシステムバス（図示せず）を含み得、前記システムバスに連結される各種ＩＰ（ｉｎｔｅｌｌｅｃｔｕａｌ  ｐｒｏｐｅｒｔｙ）装置を含み得る。ＩＰ装置の一例として、図１８には、アプリケーションプロセッサ７１０が、中央処理装置（ＣＰＵ）７１１、グラフィックプロセッサ（ＧＰＵ）７１２、モデムプロセッサ７１３及びメモリコントロールユニット７１４を含む例が図示される。また、アプリケーションプロセッサ７１０が、モデム通信機能を遂行することにより、アプリケーションプロセッサ７１０は、ＭｏｄＡＰとも称される。
【０１１０】
システムバスの標準規格として、ＡＲＭ（Ａｄｖａｎｃｅｄ  ＲＩＳＣ  Ｍａｃｈｉｎｅ）社のＡＭＢＡ（Ａｄｖａｎｃｅｄ  Ｍｉｃｒｏｃｏｎｔｒｏｌｌｅｒ  Ｂｕｓ  Ａｒｃｈｉｔｅｃｔｕｒｅ）プロトコルが適用される。ＡＭＢＡプロトコルのバスタイプには、ＡＨＢ（Ａｄｖａｎｃｅｄ  Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ  Ｂｕｓ）、ＡＰＢ（Ａｄｖａｎｃｅｄ  Ｐｅｒｉｐｈｅｒａｌ  Ｂｕｓ）、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）、ＡＸＩ４、ＡＣＥ（ＡＸＩ  Ｃｏｈｅｒｅｎｃｙ  Ｅｘｔｅｎｓｉｏｎｓ）などが含まれる。それら以外にも、ソニック社（ＳＯＮＩＣｓ  Ｉｎｃ．）のｕＮｅｔｗｏｒｋ、ＩＢＭ社のＣｏｒｅＣｏｎｎｅｃｔ、ＯＣＰ−ＩＰのオープンコアプロトコル（Ｏｐｅｎ  Ｃｏｒｅ  Ｐｒｏｔｏｃｏｌ）などの、他のタイプのプロトコルが適用され得る。
【０１１１】
グラフィックプロセッサ７１２は、前述の実施形態で説明されたレンダリングを実行できる。それにより、グラフィックプロセッサ７１２は、サンプル候補マップ変形装置を含み得る。１以上のフレームデータＤａｔａ＿Ｆｒａｍｅは、メモリコントロールユニット７１４を介して、メモリ装置７２０にも保存される。また、該サンプル候補マップ変形装置は、現在フレームのデータと、メモリ装置７２０から読み取られた以前フレームのデータとを利用し、前述の実施形態での変形動作を遂行できる。
【０１１２】
前述の多様な装置は、ハードウェア回路として集積回路の一部を形成できる。一例として、該サンプル候補マップ変形装置は、集積回路の少なくとも１つの処理素子によっても具現される。一例として、サンプル候補マップ変形装置１１０，３３０或いは４２１、補間正確度判断装置４２３は、各々サンプル候補マップ変形回路、補間正確度判断回路とも称される。また、前述のプロセッサ、生成器、駆動器は、各々プロセッサ回路、生成器回路、駆動器回路とも称される。
【０１１３】
以上のように、図面及び明細書でもって例示的な実施形態が開示された。本明細書において、特定用語を使用して実施形態について説明したが、それらは、単に本開示の技術的思想について説明する目的で使用されており、意味限定、及び／又は、特許請求の範囲に記載された本開示の範囲を制限するために使用されていない。従って、本技術分野の当業者であるならば、それらから多様な変形、及び均等な他の実施形態が可能であるという点を理解するであろう。従って、本開示の真の技術的保護範囲は、特許請求の範囲の技術的思想によって決められる。
【産業上の利用可能性】
【０１１４】
本発明の、サンプリング基盤のレンダリングを行うグラフィックプロセッサ、及びその動作方法は、例えば、グラフィック関連の技術分野に効果的に適用可能である。
【符号の説明】
【０１１５】
１０，４００，６００        レンダリングシステム
１０１，２０１        メモリ
１００，２００，３００，４２０，５００，６２０        グラフィックプロセッサ
１１０，３３０，４２１，５３０，６２１        サンプル候補マップ変形装置（器）
１２０，４２２，５４０，６２２        フラグメント処理器
２１０        ラスタライザ
２２０        シェーダコア
２３０        テクスチャ処理装置
２４０        ピクセル処理装置
２５０        タイルバッファ
３１０，５２０        サンプル候補マップ生成器
３２０        中間レンダリング処理器
３４０        最終レンダリング処理器
４１０，６１０        ホスト
４１１，６１１        アプリケーション
４１２，６１２        デバイスドライバ
４２３        補間正確度判断装置
５１０        サンプルパターン生成器
５５０，６１３        類似度（補間正確度）判断器
６１４        周波数特性判断器
７００        モバイル装置
７１０        アプリケーションプロセッサ
７１１        ＣＰＵ
７１２        ＧＰＵ
７１３        モデムプロセッサ
７１４        メモリコントロールユニット
７２０        メモリ装置
【図１】
2019121381.tif 000003
【図２】
2019121381.tif 000004
【図３】
2019121381.tif 000005
【図４】
2019121381.tif 000006
【図５】
2019121381.tif 000007
【図６】
2019121381.tif 000008
【図７】
2019121381.tif 000009
【図８】
2019121381.tif 000010
【図９】
2019121381.tif 000011
【図１０】
2019121381.tif 000012
【図１１】
2019121381.tif 000013
【図１２】
2019121381.tif 000014
【図１３】
2019121381.tif 000015
【図１４】
2019121381.tif 000016
【図１５】
2019121381.tif 000017
【図１６】
2019121381.tif 000018
【図１７】
2019121381.tif 000019
【図１８】
2019121381.tif 000020
【図１９】
2019121381.tif 000021