(57)【特許請求の範囲】
【請求項１】
２次元映像上の３個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画素シェーダを備える画像処理装置であって、
前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定する判定部と、
拡張部とを備え、
前記画素シェーダは、
前記判定部により前記ブロック単位でのシェーディング処理が可能であると判定された場合は、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定し、
前記判定部により前記ブロック単位でのシェーディング処理が可能ではないと判定された場合は、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定し、
前記拡張部は、前記画素シェーダにより前記ブロックの代表色が決定された後に、前記ブロックの代表色を用いて前記複数の画素の色を決定し、
前記判定部は、テクスチャ画像を取得し、前記ブロックの代表座標に対応する前記テクスチャ画像上の複数の参照画像の間での色の差が第一範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
画像処理装置。
【請求項２】
前記判定部は、前記ブロックに隣接する隣接ブロックの代表色と前記ブロックの代表色との差が第二範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
請求項１に記載の画像処理装置。
【請求項３】
前記拡張部は、前記ブロックの代表色と前記隣接ブロックの代表色とで構成される画像を拡大処理することにより、前記複数の画素のうち前記ブロックおよび前記隣接ブロックに含まれる画素の色を決定する、
請求項２に記載の画像処理装置。
【請求項４】
前記判定部は、前記ブロックがポリゴンエッジを含まない場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
請求項２または３に記載の画像処理装置。
【請求項５】
前記画像処理装置は、３次元の形状を所定の視点から見たときの前記２次元映像を生成する装置であり、
さらに、
前記３次元の形状を規定する３個以上の第二座標系頂点の３次元座標を、前記２次元映像上における前記３個以上の第一座標系頂点の座標に変換し、前記３個以上の第一座標系頂点の座標を含む頂点パラメータを生成する頂点シェーダと、
前記頂点パラメータを用いて、前記複数の画素の２次元座標を含む画素パラメータを生成する補間部とを備え、
前記判定部は、前記２次元映像の前記図形を含む領域を、複数の前記ブロックに分割し、当該複数の前記ブロックの各々について、ブロック単位でのシェーディング処理が可能であるか否かを判定する、
請求項２〜４の何れか１項に記載の画像処理装置。
【請求項６】
２次元映像上の３個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画像処理方法であって、
前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定するステップと、
前記ブロック単位でのシェーディング処理が可能であると判定された場合に、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定するステップと、
前記ブロック単位でのシェーディング処理が可能ではないと判定された場合に、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定するステップと、
前記ブロックの代表色が決定された後に、前記ブロックの代表色を用いて前記複数の画素の色を決定するステップとを含み、
前記ブロック単位でのシェーディング処理が可能であるか否かを判定するステップでは、テクスチャ画像を取得し、前記ブロックの代表座標に対応する前記テクスチャ画像上の複数の参照画像の間での色の差が第一範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
画像処理方法。
【請求項７】
請求項１〜５の何れか１項に記載の画像処理装置を備える、
表示装置。 
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法および表示装置に関する。
【背景技術】
【０００２】
１個または複数の多角形により規定される３次元の形状データから２次元映像を生成する処理には、一般的に、多角形の頂点の３次元座標を２次元映像上の座標に変換する頂点シェーダ処理と、多角形を構成する複数の画素の画素パラメータ（２次元上の座標、色を決定するための情報、透明度等）を生成する補間処理と、複数の画素各々の色を決定する画素シェーダ処理とが含まれる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３１８４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示は、処理負荷を低減することができる画像処理装置、画像処理方法および表示装置を提供する。
【課題を解決するための手段】
【０００５】
本開示における画像処理装置は、２次元映像上の３個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画素シェーダを備える画像処理装置であって、前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定する判定部と、拡張部とを備え、前記画素シェーダは、前記判定部により前記ブロック単位でのシェーディング処理が可能であると判定された場合は、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定し、前記判定部により前記ブロック単位でのシェーディング処理が可能ではないと判定された場合は、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定し、前記拡張部は、前記画素シェーダにより前記ブロックの代表色が決定された後に、前記ブロックの代表色を用いて前記複数の画素の色を決定し、前記判定部は、テクスチャ画像を取得し、前記ブロックの代表座標に対応する前記テクスチャ画像上の複数の参照画像の間での色の差が第一範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する。
【発明の効果】
【０００６】
本開示における画像処理装置、画像処理方法および表示装置は、処理負荷を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】比較例における画像処理装置の構成の一例を示すブロック図
【図２】比較例における画像処理方法の処理手順の一例を示すフローチャート
【図３】比較例および実施の形態における視点位置と多角形との関係を示す図
【図４】比較例において、図３に示す三角形を視点位置から見たときの２次元映像上の三角形の一例を示す図
【図５】実施の形態における画像処理装置の構成の一例を示すブロック図
【図６】実施の形態における画像処理方法の処理手順の一例を示すフローチャート
【図７】実施の形態において、図３に示す三角形を視点位置から見たときの２次元映像上の三角形の一例を示す図
【図８】実施の形態における拡張処理単位の一例を示す図
【図９】実施の形態のバイリニア参照における参照画素の一例を示す図
【図１０】実施の形態において色差の判定に用いる閾値を変更した場合における２次元映像の一例を示す図
【図１１】本実施の形態におけるポリゴンエッジが含まれるか否かの判定を説明するための図
【図１２Ａ】実施の形態における拡大処理の一例を説明するための図
【図１２Ｂ】実施の形態における拡大処理の一例を説明するための図
【図１３】実施の形態におけるシェーディング処理の回数の一例を示す図
【図１４Ａ】実施の形態の画像処理装置を用いて生成された２次元映像と比較例の画像処理装置を用いて生成された２次元映像との差異を説明するための図
【図１４Ｂ】実施の形態の画像処理装置を用いて生成された２次元映像と比較例の画像処理装置を用いて生成された２次元映像との差異を説明するための図
【図１５Ａ】変形例２における拡大処理の一例を説明するための図
【図１５Ｂ】変形例２における拡大処理の一例を説明するための図
【図１６】変形例２におけるシェーディング処理の回数の一例を示す図
【図１７】実施の形態および変形例２の画像処理装置を備える表示装置の一例を示す図
【発明を実施するための形態】
【０００８】
［課題の詳細］
図１は、比較例における画像処理装置の構成の一例を示すブロック図である。図１に示す画像処理装置１００は、３次元の形状を所定の視点から見たときの２次元映像を生成する装置である。
【０００９】
図１に示すように、画像処理装置１００は、頂点シェーダ１１１と、ラスタライザ１１２と、画素シェーダ１１３と、テクスチャ読み込み部１１４と、フレームバッファ読み込み／書き込み部１１５とを備える。また、画像処理装置１００は、メモリ２０に対する読み出し処理および書き込み処理を実行可能に構成されている。
【００１０】
メモリ２０は、２次元映像の生成に用いられるデータおよび生成された２次元映像（描画データ）を記憶するためのメモリであり、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。２次元映像の生成に用いられるデータには、例えば、２次元映像上の色を決定するために用いられるテクスチャ画像が含まれる。テクスチャ画像を記憶するメモリ領域をテクスチャバッファ、描画データを記憶するメモリ領域をフレームバッファと称する。
【００１１】
頂点シェーダ１１１は、３次元の形状を規定する３個以上の第二座標系頂点の３次元座標を、最終的に描画する２次元映像上における３個以上の第一座標系頂点の２次元座標に変換するエンジンである。頂点シェーダ１１１は、３個以上の第一座標系頂点の各々の２次元座標を含む頂点パラメータをラスタライザ１１２に出力する。頂点シェーダ１１１は、座標変換の他に頂点単位のライティング処理を行うこともできる。尚、本実施の形態では、頂点シェーダ１１１によって変換された後の第一座標系頂点の座標を２次元座標としているが、使用目的に応じて２次元以上の次元であっても構わない（例えば、３次元座標（ｘ、ｙ、ｚ）、４次元座標（ｘ、ｙ、ｚ、ｗ）等）。
【００１２】
ラスタライザ１１２は、頂点パラメータを用い、３個以上の第一座標系頂点で規定される２次元映像上の図形を構成する複数の画素の各々について、画素パラメータを生成する補間処理を行う。画素パラメータには、２次元映像上の座標、色を決定するための情報、透明度等が含まれる。ラスタライザ１１２は、画素パラメータを画素シェーダ１１３に出力する。
【００１３】
ラスタライザ１１２は、さらに、画素シェーダ１１３から複数の画素各々の色を示す情報である画素カラー情報を取得する。ラスタライザ１１２は、取得した画素カラー情報を用いて半透明合成処理を実行し、半透明合成処理後の画素カラー情報をフレームバッファ読み込み／書き込み部１１５に出力する。フレームバッファ読み込み／書き込み部１１５は、半透明合成処理後の画素カラー情報をメモリ２０のフレームバッファに記憶する。
【００１４】
画素シェーダ１１３は、ラスタライザ１１２から出力された画素パラメータを用いて、画素各々の色を決定するエンジンである。ここで、決定される複数の画素各々の色は、視点位置から見たときの色である。画素シェーダ１１３は、視点位置から見たときの色を求めるために、テクスチャ画像を参照することにより得られた色値あるいは画素パラメータから得られた色値を元にシェーディング処理を行う。これにより、複数の画素各々について、視点位置から見たときの色を求めることができる。
【００１５】
図２は、比較例における画像処理方法の処理手順の一例を示すフローチャートである。図２は、３次元の形状データから２次元映像を生成する処理の処理手順を示している。
【００１６】
頂点シェーダ１１１は、３次元の形状データを用いて頂点処理を行う（Ｓ１０１）。３次元の形状データは、一般的に、所定の立体を、１個または複数の多角形の組み合わせで表現したデータである。多角形は、例えば、三角形であるが、四角形あるいは五角形等の多角形であっても構わない。頂点処理において、頂点シェーダ１１１は、１個または複数の多角形の各々について、当該多角形を構成する３個以上の第二座標系頂点の３次元座標と、（必要な場合には）３次元の形状データを視点位置ＰＯＳから見たときの２次元映像上の座標に変換する座標変換行列とを用いて、多角形の第二座標系頂点に対応する２次元映像上の点である第一座標系頂点の２次元座標を算出する。頂点シェーダ１１１は、算出した第一座標系頂点の座標を含む頂点パラメータをラスタライザ１１２に出力する。
【００１７】
図３は、比較例における視点位置と多角形との関係を示す図である。図３では、形状データとして、三角形Ｔｒｉの第二座標系頂点Ｐ１１〜Ｐ１３の座標が記憶されている。頂点シェーダ１１１は、第二座標系頂点Ｐ１１の３次元座標（ｘ１１、ｙ１１、ｚ１１）、第二座標系頂点Ｐ１２の３次元座標（ｘ１２、ｙ１２、ｚ１２）、第二座標系頂点Ｐ１３の３次元座標（ｘ１３、ｙ１３、ｚ１３）を、視点位置ＰＯＳから見たときの２次元映像Ｆ１００上の座標に変換する。
【００１８】
図４は、図３における三角形Ｔｒｉを視点位置ＰＯＳから見たときの２次元映像Ｆ１００上の三角形Ｔｒｉの一例を示す図である。第一座標系頂点Ｐ２１は、第二座標系頂点Ｐ１１に対応する２次元映像上の点であり、その２次元座標は、（ｘ２１、ｙ２１）となっている。第一座標系頂点Ｐ２２は、第二座標系頂点Ｐ１２に対応する２次元映像上の点であり、その２次元座標は、（ｘ２２、ｙ２２）である。第一座標系頂点Ｐ２３は、第二座標系頂点Ｐ１３に対応する２次元映像上の点であり、その２次元座標は、（ｘ２３、ｙ２３）となっている。
【００１９】
ラスタライザ１１２は、頂点処理後、裏面消去処理およびクリッピング処理を行う（Ｓ１０２）。裏面消去処理は、視点位置から見えない位置にある多角形の消去を行う処理である。クリッピング処理は、視点位置から一部領域が見えない位置にある多角形について、視点位置から見える部分の画素を特定する処理である。
【００２０】
次に、ラスタライザ１１２は、画素単位での補間処理を行う（Ｓ１０３）。補間処理では、所定の立体を構成する多角形のうち、視点位置から一部または全部が見える多角形の各々について、それらを構成する複数の画素各々の画素パラメータを求める。画素パラメータには、２次元座標、色を決定するための情報、透明度等が含まれる。色を決定するための情報には、テクスチャ画像を用いる場合の参照画素の位置座標（以下、「テクスチャ座標」と称する）、あるいは、色値が含まれる。
【００２１】
さらに、ラスタライザ１１２は、陰になる部分（視点位置から見えない部分）の画素パラメータを消去する陰面消去処理を行う（Ｓ１０４）。ラスタライザ１１２は、陰面消去処理後、画素パラメータを画素シェーダ１１３に出力する。
【００２２】
画素シェーダ１１３は、マイクロコードによりテクスチャ画像の参照を行うことが指示されている場合には（Ｓ１０５の「ＹＥＳ」）、テクスチャ読み込み部１１４を介してテクスチャ画像の読み込みを行う（Ｓ１０６）。
【００２３】
画素シェーダ１１３は、画素単位でのシェーディング処理を行う（Ｓ１０７）。具体的には、画素シェーダ１１３は、マイクロコードによって指示される演算処理を実行することによって複数の画素各々の色を決定する。シェーディング処理の中で、テクスチャ画像の参照を行う場合、画素シェーダ１１３は、複数の画素の各々について、テクスチャ座標により示されるテクスチャ画像の参照画像の色値を取得する。画素シェーダ１１３は、決定した複数の画素各々の色値を示す情報である画素カラー情報をラスタライザ１１２に出力する。
【００２４】
ラスタライザ１１２は、画素パラメータに含まれる透明度を用いて半透明合成処理を実行して描画データを生成し（Ｓ１０８）、フレームバッファ読み込み／書き込み部１１５を用いてフレームバッファに生成した描画データを書き込む描画処理を行う（Ｓ１０９）。
【００２５】
近年、液晶ディスプレイあるいは有機ＥＬ（エレクトロルミネッセンス）ディスプレイ等の表示装置の高精細化が進んでおり、表示される２次元映像を構成する複数の画素の画素数も非常に多くなってきている。
【００２６】
画素シェーダ１１３では、マイクロコードによって指示される比較的複雑な処理や、テクスチャ参照等の負荷の大きい処理が実行されるため、処理時間が長い。そのため、画像処理装置１００における２次元映像の生成にかかる処理時間は、上述した画素シェーダ１１３における起動回数に依存することになる。
【００２７】
比較例の画像処理装置１００では、第一画素毎に画素シェーダ１１３を起動する必要があるため、複数の画素の画素数が多くなるほど画素シェーダの起動回数も大きくなる。
【００２８】
上述したように、近年、表示装置の高精細化が進んでいることから、画像処理装置１００において、１フレーム当たりの画素シェーダ１１３の起動回数も飛躍的に大きくなっており、処理時間も飛躍的に長くなるという問題がある。
【００２９】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００３０】
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００３１】
（実施の形態）
以下、図５〜１２Ｂを用いて、実施の形態１を説明する。本実施の形態では、画像処理装置が、３次元の形状を所定の視点から見たときの２次元映像を生成するＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である場合について説明する。
【００３２】
また、本実施の形態の画像処理装置は、液晶ディスプレイあるいは有機ＥＬディスプレイ等に映像を表示させる表示装置に用いられる場合について説明する。
【００３３】
本実施の形態の画像処理装置は、２次元映像上に複数の画素で構成される複数のブロックを配置し、複数のブロックについてブロック単位でのシェーディング処理が可能であるか否かを判定し、ブロック単位でのシェーディング処理が可能と判定されたブロックについては、ブロック単位でのシェーディング処理を行う。これにより、画素シェーダ１３の起動回数の増大を抑制する。
【００３４】
なお、以下の説明では、元の３次元の形状データにおいて、多角形を規定する３個以上の頂点を３個以上の第二座標系頂点、当該多角形を第二座標系図形と適宜称する。また、３個以上の第二座標系頂点に対応する２次元映像上の頂点を第一座標系頂点、第二座標系図形に対応する２次元映像上の図形を第一座標系図形、複数の第二座標系画素に対応する２次元映像上の複数の画素を第一座標系画素と適宜称する。
【００３５】
［１．構成］
実施の形態における画像処理装置の構成について、図５を用いて説明する。なお、詳細な動作については、後述する。
【００３６】
図５は、実施の形態における画像処理装置の構成の一例を示すブロック図である。図５に示すように、画像処理装置１０は、頂点シェーダ１１と、ラスタライザ１２と、画素シェーダ１３と、判定部１４と、テクスチャ読み込み部１５と、拡張部１６と、フレームバッファ読み込み／書き込み部１７とを備える。また、画像処理装置１０は、メモリ２０に対する読み出し処理および書き込み処理を実行可能に構成されている。
【００３７】
メモリ２０は、比較例と同様に、２次元映像の生成に用いられるデータおよび生成された２次元映像（描画データ）を記憶するためのメモリであり、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成される。２次元映像の生成に用いられるデータには、例えば、２次元映像上の色を決定するために用いられるテクスチャ画像が含まれる。テクスチャ画像を記憶するメモリ領域をテクスチャバッファ、描画データを記憶するメモリ領域をフレームバッファと称する。
【００３８】
頂点シェーダ１１は、比較例と同様に、マイクロコードと立体の形状を規定する３個以上の第二座標系頂点の３次元座標を含む形状データと（必要な場合には）座標変換行列とを受け付け、当該３個以上の第二座標系頂点の３次元座標を、２次元映像上における３個以上の第一座標系頂点の２次元座標に変換するエンジンである。頂点シェーダ１１は、変換後の３個以上の２次元座標を含む頂点パラメータをラスタライザ１２に出力する。尚、本実施の形態では、頂点シェーダ１１によって変換された後の第一座標系頂点の座標を２次元座標としているが、使用目的に応じて２次元以上の次元であっても構わない（例えば、３次元座標（ｘ、ｙ、ｚ）、４次元座標（ｘ、ｙ、ｚ、ｗ）等）。
【００３９】
ラスタライザ１２は、補間処理を実行する補間部の一例である。補間処理は、頂点パラメータを用いて、複数の第一座標系画素の２次元座標を含む画素パラメータを生成する処理である。
【００４０】
ラスタライザ１２は、さらに、拡張部１６から取得した画素カラー情報を用いた半透明合成処理を実行する。
【００４１】
画素シェーダ１３は、ラスタライザ１２から出力された画素パラメータを用いて、複数の第一座標系画素各々の色を決定するエンジンである。画素シェーダ１３は、本実施の形態では、判定部１４によりブロック単位でのシェーディング処理が可能であると判定された２次元映像上のブロックについては、ブロック単位でのシェーディング処理を実行し、当該ブロックに含まれない第一座標系画素については、画素単位でのシェーディング処理を実行する。ブロック単位でのシェーディング処理では、テクスチャ画像あるいは画素パラメータから求めた仮代表色を用いて、マイクロコードによって指示される演算処理を実行することによって、代表色を求める。
【００４２】
判定部１４は、２次元映像上の第一座標系図形を複数に分割した複数のブロックの各々について、ブロック単位でのシェーディング処理が可能であるか否かを判定する。ブロック単位でのシェーディング処理は画素単位でのシェーディング処理に比べて映像が劣化するため、ブロック単位でのシェーディングが可能であるか否かは、映像に与える影響が許容範囲内であるか否かに応じて決定される。人の目からみて劣化が認識できないあるいは劣化が小さい場合に、許容範囲内であると判定される。具体的には、ブロック内の第一座標系画素の色差が第一範囲内である場合に、２次元映像に与える影響が許容範囲内であると判定する。
【００４３】
テクスチャ読み込み部１５は、メモリ２０に対するデータの読み込み処理を行うメモリインターフェースである。テクスチャ読み込み部１５は、テクスチャキャッシュを備え、メモリ２０からテクスチャ画像２１のうちの一部または全部を読み込み、当該テクスチャ画像の一部または全部をテクスチャキャッシュに記憶する。
【００４４】
拡張部１６は、本実施の形態では、画像の拡大処理を実行する。拡張部１６は、画素シェーダ１３においてブロック単位でのシェーディング処理が行われたブロックについて、代表色を用いてブロックに含まれる複数の第一座標系画素各々の色を求める。
【００４５】
フレームバッファ読み込み／書き込み部１７は、メモリ２０に対するデータの読み込み及び書き込み処理を行うメモリインターフェースである。フレームバッファ読み込み／書き込み部１７は、メモリ２０のフレームバッファに、画素カラー情報により構成される描画データ２２を書き込む。
【００４６】
［２．動作］
以上のように構成された画像処理装置１０の動作（画像処理方法）を図６〜図１２Ｂを用いて説明する。
【００４７】
図６は、実施の形態における画像処理方法の処理手順の一例を示すフローチャートである。図６は、３次元の形状データから２次元映像を生成する処理の処理手順を示している。なお、図６では、説明のため、テクスチャ画像を読み込む場合の処理手順について示している。
【００４８】
［２−１．頂点処理］
頂点シェーダ１１は、３次元の形状データを用いて頂点処理を行う（Ｓ１１）。頂点シェーダの動作は、本実施の形態では、比較例の場合と同じである。
【００４９】
より詳細には、頂点シェーダ１１は、先ず、処理内容を指示するマイクロコードと形状データと（必要な場合には）座標変換行列とを受け付ける。３次元の形状データは、上述したように、一般的に、所定の立体を、１個または複数の多角形の組み合わせで表現したデータである。多角形は、例えば、三角形であるが、四角形あるいは五角形等の多角形であっても構わない。３次元の形状データには、１個または複数の多角形の各々について、当該多角形を規定する３個以上の第二座標系頂点の３次元座標が含まれる。
【００５０】
頂点シェーダ１１は、形状データに含まれる３個以上の第二座標系頂点の３次元座標を、視点位置ＰＯＳから見たときの２次元映像上の３個以上の第一座標系頂点の２次元座標に変換する。
【００５１】
頂点シェーダ１１は、変換後の３個以上の第一座標系頂点の２次元座標を含む頂点パラメータをラスタライザ１２に出力する。頂点パラメータには、第一座標系頂点の色を決定するための情報、および、透明度等が含まれていても構わない。第一座標系頂点の色を決定するための情報は、例えば、当該第一座標系頂点の色値、あるいは、参照するテクスチャ画像の画素の座標である。
【００５２】
図７は、本実施の形態において、図３における三角形Ｔｒｉを視点位置ＰＯＳから見たときの２次元映像Ｆ１上の三角形Ｔｒｉの一例を示す図である。第一座標系頂点Ｐ２１は、第二座標系頂点Ｐ１１に対応する２次元映像上の点であり、その２次元座標は、（ｘ２１、ｙ２１）となっている。第一座標系頂点Ｐ２２は、第二座標系頂点Ｐ１２に対応する２次元映像上の点であり、その２次元座標は、（ｘ２２、ｙ２２）である。第一座標系頂点Ｐ２３は、第二座標系頂点Ｐ１３に対応する２次元映像上の点であり、その２次元座標は、（ｘ２３、ｙ２３）となっている。
【００５３】
［２−２．裏面消去およびクリッピング処理］
ラスタライザ１２は、頂点処理（Ｓ１２）後、図６に示すように、比較例の場合と同様に、裏面消去処理およびクリッピング処理を行う（Ｓ１２）。裏面消去処理は、視点位置から見えない位置にある多角形の消去を行う処理である。クリッピング処理は、視点位置から一部領域が見えない位置にある多角形について、視点位置から見える部分の画素を特定する処理である。
【００５４】
［２−３．補間処理］
ラスタライザ１２は、ブロック単位での補間処理を実行する（Ｓ１３）。ここで、図７に示すように、本実施の形態では、第一座標系図形に含まれる複数の第一座標系画素は、複数のブロックに分割される。ここでは、複数のブロック各々は、２行×２列の４つの画素で構成される。図７において、太線はブロックを、極太線は２×２の４つのブロックからなる拡張処理単位を示している。拡張処理単位は、拡張処理において用いられる最小の範囲を示している。なお、拡張処理単位および拡張処理については、拡張部１６の説明において詳述する。
【００５５】
図８は、実施の形態における拡張処理単位の一例を示す図である。図８に示す拡張処理単位には、左上のブロックＬＵ、右上のブロックＲＵ、左下のブロックＬＬ、右下のブロックＲＬの４つのブロックが含まれている。図８では、左上のブロックＬＵの代表座標をＰＡの座標とし、右上のブロックＲＵの代表座標をＰＢの座標とし、左下のブロックＬＬの代表座標をＰＣの座標とし、右下のブロックＲＬの代表座標をＰＤの座標としている。また、ブロックＬＵは、４つの第一座標系画素ＴＡ０〜ＴＡ３で構成されている。
【００５６】
ラスタライザ１２は、ここでは、ブロック単位で、画素パラメータを求める。画素パラメータには、ブロックの２次元座標、ブロックの仮代表色を決定するための情報、透明度等が含まれる。仮代表色を決定するための情報には、テクスチャ画像を用いる場合の参照画素の位置座標（以下、「テクスチャ座標」と称する）、あるいは、色値が含まれる。ラスタライザ１２は、画素パラメータを画素シェーダ１３に出力する。
【００５７】
［２−４．陰面消去処理］
ラスタライザ１２は、補間処理（Ｓ１３）後、図６に示すように、陰になる部分（視点位置から見えない部分）の画素パラメータを消去する陰面消去処理を行う（Ｓ１４）。ラスタライザ１２は、陰面消去処理後、画素パラメータを画素シェーダ１３に出力する。
【００５８】
［２−５．テクスチャ画像の読み込み］
次に、図５および図６に示すように、テクスチャ画像の読み込みが行われる（Ｓ１６）。画素シェーダ１３は、テクスチャ座標を判定部１４に出力する。判定部１４は、テクスチャ座標をテクスチャ読み込み部１５に出力する。
【００５９】
テクスチャ読み込み部１５は、上述したように、テクスチャキャッシュを備えており、ある程度の大きさの画像をメモリ２０から読み込むことができる。テクスチャ読み込み部１５によるテクスチャ画像の読み込み方法には、バイリニア参照、ポイントサンプリングなどの種類がある。  バイリニア参照では、テクスチャ読み込み部１５は、テクスチャ座標の近傍４画素を参照画素とし、当該４つの参照画素の色値の加重平均値を、４つの参照画素の色値として判定部１４に出力する。なお、４つの参照画素の４つの色値の加重平均値ではなく、４つの参照画素の４つの色値を判定部１４に出力しても構わない。
【００６０】
図９は、実施の形態のバイリニア参照における参照画素の一例を示す図である。図９は、図８における左上のブロックＬＵを示している。図９において、Ｐｘは、テクスチャ座標の一例である。第一座標系画素ＴＡ０〜ＴＡ３は、図８に示す第一座標系画素ＴＡ０〜ＴＡ３に対応している。
【００６１】
テクスチャ読み込み部１５は、バイリニア参照において、図９に示すように、テクスチャ座標Ｐｘからの距離が短い４つの画素を参照画素として決定する。
【００６２】
ポイントサンプリングでは、テクスチャ読み込み部１５は、テクスチャ座標により指示される１つの参照画素の色値を判定部１４に出力する。図９では、第一座標系画素ＴＡ１が参照画素となる。
【００６３】
テクスチャ読み込み部１５は、１個または複数の参照画素の色値の全てがテクスチャキャッシュに記憶されている場合、当該テクスチャキャッシュから１個または複数の参照画素の色値を取得する。テクスチャ読み込み部１５は、１個または複数の参照画素がテクスチャキャッシュに記憶されていない場合は、１個または複数の参照画素を含むテクスチャ画像の領域をメモリ２０から読み込んでテクスチャキャッシュに記憶し、当該テクスチャキャッシュから１個または複数の参照画素の色値の読み込みを行う。
【００６４】
［２−６．判定処理］
判定部１４は、ブロック単位でのシェーディング処理が可能であるか否かを判定する（Ｓ１８）。ここでは、以下の３つの判定条件を全て満たしている場合に、ブロック単位でのシェーディング処理が可能であると判定する。
【００６５】
なお、これらの条件は一例であり、他の判定条件が含まれていても構わないし、下記の３つの判定条件が含まれていなくても構わない。あるいは、下記の３つの判定条件に対応する判定条件を含めても構わない。
【００６６】
［２−６−１．１つ目の判定条件］
１つ目の判定条件は、参照するテクスチャ画像の模様の細かさを判定するための条件である。
【００６７】
ここで、ブロック単位でのシェーディングは、画素単位でのシェーディングに比べて精度が低いため、２次元映像を劣化させてしまう。テクスチャ画像のうち模様の細かい領域を参照するブロックの場合、ブロック単位でシェーディング処理を実行すると劣化による映像品質への影響が大きいと考えられる。これに対し、模様がある程度均一である領域を参照するブロックについては、ブロック単位でのシェーディングを実行しても、劣化による映像品質への影響が小さいあるいは影響がないと考えられる。
【００６８】
そこで、本実施の形態の判定部１４は、参照するテクスチャ画像の領域の模様の細かさを判定し、参照先の領域の模様が、ある程度均一である（模様が細かくない）と判定されたブロックについては、ブロック単位でのシェーディングが可能であると判定する。判定部１４は、参照先の領域の模様が細かいと判定されたブロックについては、ブロック単位でのシェーディングが可能ではないと判定する。
【００６９】
本実施の形態では、参照するテクスチャ画像の模様の細かさを、テクスチャ座標の近傍の４つの参照画素における色値の差（変化量）ＣＤＰを用いて判定する。
【００７０】
色値の差ＣＤＰが第一閾値Ｔｒ１（第一範囲の一例）よりも大きいブロックは、模様の細かい領域を参照するブロックであり、ブロック単位でのシェーディング処理が可能でないブロックであると判定する。
【００７１】
色値の差ＣＤＰが第一閾値Ｔｒ１以下のブロックは、比較的模様が均一である（細かくない）領域を参照するブロックであり、ブロック単位でのシェーディング処理が可能なブロックであると判定する。
【００７２】
色値の差ＣＤＰは、下記の式１により求められる。
【００７３】
ＣＤＰ＝（ｍａｘ（ＴＡ０ｒ、ＴＡ１ｒ、ＴＡ２ｒ、ＴＡ３ｒ）−ｍｉｎ（ＴＡ０ｒ、ＴＡ１ｒ、ＴＡ２ｒ、ＴＡ３ｒ））
＋（ｍａｘ（ＴＡ０ｇ、ＴＡ１ｇ、ＴＡ２ｇ、ＴＡ３ｇ）−ｍｉｎ（ＴＡ０ｇ、ＴＡ１ｇ、ＴＡ２ｇ、ＴＡ３ｇ））
＋（ｍａｘ（ＴＡ０ｂ、ＴＡ１ｂ、ＴＡ２ｂ、ＴＡ３ｂ）−ｍｉｎ（ＴＡ０ｂ、ＴＡ１ｂ、ＴＡ２ｂ、ＴＡ３ｂ））  ・・・  （式１）
【００７４】
式１において、ｍａｘ（ａ０、ａ１、ａ２、ａ３）は、ａ０〜ａ３のうちの最大値を示している。ｍｉｎ（ａ０、ａ１、ａ２、ａ３）は、ａ０〜ａ３のうちの最小値を示している。
【００７５】
なお、ＴＡ０ｒ〜ＴＡ３ｒは、４つの参照画素の色値のうち、Ｒ（赤色）成分の値を示すパラメータである。ＴＡ０ｇ〜ＴＡ３ｇは、４つの参照画素の色値のうち、Ｇ（緑色）成分の値を示すパラメータである。ＴＡ０ｂ〜ＴＡ３ｂは、４つの参照画素の色値のうち、Ｂ（青色）成分の値を示すパラメータである。
【００７６】
判定部１４は、ＣＤＰ≦第一閾値Ｔｒ１の場合に、１つ目の判定条件を満たすと判定する。当該判定条件により、ブロック単位でのシェーディング処理が可能であるか否かを判定することで、２次元映像の品質を維持しながら、画素シェーダ１３における負荷を軽減できる。
【００７７】
第一閾値Ｔｒ１の決定方法については、２つ目の判定条件においても本判定条件と同様に色差の判定を行うため、２つ目の判定条件の説明で詳述する。
【００７８】
［２−６−２．２つ目の判定条件］
２つ目の条件は、拡張部１６における処理で画質の劣化が生じるか否かを判定するための条件である。
【００７９】
本実施の形態では、ブロック単位でのシェーディング処理を実行したブロックについては、拡張部１６においてブロックを構成する複数の第一座標系画素各々の色を決定する。
そのため、拡張部１６における処理で画質の劣化が生じるブロックの場合、複数の第一座標系画素各々の色を決定することができない。つまり、拡張部１６における処理で画質の劣化が生じるブロックは、ブロック単位でのシェーディング処理を実行できないブロックである。
【００８０】
本実施の形態の拡張部１６は、後で詳述するが、隣接する４つのブロック（隣接ブロック）からなる拡張処理単位で、ブロックに含まれる複数の第一座標系画素各々の色を算出する。ここで、ブロックの仮代表色の色差が大きい場合には、判定条件１で説明したのと同じ理由により、これらのブロックをまとめて処理すると２次元映像が劣化して品質が低下すると考えられる。そのため、隣接する４つのブロックの間で、各ブロックの仮代表色の色差の判定を行うことで、拡張部１６における処理で画質の劣化が生じるか否かを判定する。
【００８１】
判定部１４は、拡張部１６における処理で画質の劣化が生じないと判定された場合に、ブロック単位でのシェーディング処理が可能なブロックであると判定する。判定部１４は、拡張部１６における処理で画質の劣化が生じると判定された場合、ブロック単位でのシェーディング処理が可能ではないブロックであると判定する。
【００８２】
具体的には、判定部１４は、隣接する４つのブロックにおける仮代表色の色差ＣＤＢが第二範囲内の場合に、拡張部１６における処理で画質の劣化が生じないと判定する。
【００８３】
色値の差ＣＤＢは、下記の式２により求められる。
【００８４】
ＣＤＢ＝（ｍａｘ（ＰＡｒ、ＰＢｒ、ＰＣｒ、ＰＤｒ）−ｍｉｎ（ＰＡｒ、ＰＢｒ、ＰＣｒ、ＰＤｒ））
＋（ｍａｘ（ＰＡｇ、ＰＢｇ、ＰＣｇ、ＰＤｇ）−ｍｉｎ（ＰＡｇ、ＰＢｇ、ＰＣｇ、ＰＤｇ））
＋（ｍａｘ（ＰＡｂ、ＰＢｂ、ＰＣｂ、ＰＤｂ）−ｍｉｎ（ＰＡｂ、ＰＢｂ、ＰＣｂ、ＰＤｂ））  ・・・  （式２）
【００８５】
式２において、ＰＡｒ〜ＰＤｒは、ブロックの仮代表座標の色値のうち、Ｒ（赤色）成分の値を示している。ＰＡｇ〜ＰＤｇは、ブロックの仮代表座標の色値のうち、Ｇ（緑色）成分の値を示している。ＰＡｂ〜ＰＤｂは、ブロックの仮代表座標の色値のうち、Ｂ（青色）成分の値を示している。
【００８６】
判定部１４は、ＣＤＢ≦第二閾値Ｔｒ２（第二範囲の一例）の場合に、２つ目の判定条件を満たすと判定する。
【００８７】
［第一閾値および第二閾値の決定方法］
図１０は、本実施の形態において、第一閾値Ｔｒ１および第二閾値Ｔｒ２を変更した場合における２次元映像の一例を示す図である。図１０では、説明のため、第一閾値Ｔｒ１および第二閾値Ｔｒ２を同じ値に設定している。
【００８８】
ここで、第一閾値Ｔｒ１および第二閾値Ｔｒ２の値は、色値のＲ成分、Ｇ成分およびＢ成分の各々が８ｂｉｔで表わされる場合、０〜７６５の値を用いることができる。この場合、図１０において、閾値Ｍｉｎは最小値０、Ｍｅｄは中央値１２７、Ｍａｘは最大値７６５となる。
【００８９】
図１０の（ａ）は、第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍｉｎを用いた場合の２次元映像の一例を示している。図１０の（ｂ）は、第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍｅｄを用いた場合の２次元映像の一例を示している。図１０の（ｃ）は、第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍａｘを用いた場合の２次元映像の一例を示している。
【００９０】
第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍｉｎを用いた場合、ブロック単位でのシェーディング処理が可能であると判定されるブロックの数が最も少なくなる。第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍａｘを用いた場合、ブロック単位でのシェーディング処理が可能であると判定されるブロックの数が最も多くなる。
【００９１】
そのため、図１０に示すように、第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍｉｎを用いた場合の２次元映像は、品質の低下が最小限に抑えられている。第一閾値Ｔｒ１および第二閾値Ｔｒ２として閾値Ｍａｘを用いた場合の２次元映像は、品質の低下が比較的大きくなっている。
【００９２】
以上より、第一閾値Ｔｒ１および第二閾値Ｔｒ２は、２次元映像の大きさ、当該２次元映像を表示する表示装置の大きさおよび精度、２次元映像の特徴（映画のような細かい描写が必要とされる映像であるか否か等）、画像処理装置１０において２次元映像を生成するのに求められる処理速度等を考慮して、適切な値に決定することが好ましい。なお、第一閾値Ｔｒ１と第二閾値Ｔｒ２とは、同じ値であっても構わないし、異なる値であっても構わない。
【００９３】
［２−６−３．３つ目の判定条件］
３つ目の条件は、ブロックが多角形の境界を示すポリゴンエッジを含んでいるか否かを判定するための条件である。
【００９４】
ポリゴンの描画中に当該ポリゴンの外側の色値は分からないため、ポリゴンエッジを含んでいるブロックの画素については、ブロック単位で処理を行うと２次元映像が劣化して品質が低下する可能性がある。そのため、ポリゴンエッジを含んでいるブロックの画素については、ブロック単位でのシェーディング処理を実行できないブロックであると判定する。
【００９５】
図１１は、本実施の形態においてポリゴンエッジが含まれるか否かの判定を説明するための図である。本実施の形態では、判定部１４は、ポリゴンエッジが含まれるか否かを判定するために必要な情報（ポリゴンエッジ判定情報）をラスタライザ１２から取得する。判定部１４は、ポリゴンエッジが含まれるか否かの判定を、１個または複数のブロックが含まれる拡張処理単位で行う。判定部１４は、拡張処理単位に含まれる全てのブロックの代表座標が多角形の内部に位置する場合は、当該拡張処理単位に含まれる全てのブロックについてポリゴンエッジを含まないブロックであると判定する。
【００９６】
ブロックの代表座標は、ここでは、ブロックの中心の座標である。なお、ブロックの代表座標は、他の座標であっても構わない。
【００９７】
図１１の場合、ブロックＬＵの代表座標ＰＡ、ブロックＲＵの代表座標ＰＢ、ブロックＬＬの代表座標ＰＣおよびブロックＲＬの代表座標ＰＤの全てが三角形Ｔｒｉの内部に位置するため、ブロックＬＵ、ＲＵ、ＬＬおよびＲＬは、ポリゴンエッジを含まないブロックであると判定される。
【００９８】
［２−７．ブロック単位での色の決定］
画像処理装置１０は、図６に示すように、ブロック単位でのシェーディングが可能であると判定されたブロックについては、ブロック単位で複数の第一座標系画素各々の色を決めるための処理を実行する（Ｓ１９）。
【００９９】
画素シェーダ１３は、ブロック単位でのシェーディング処理を実行することにより、ブロックの代表色を算出する（Ｓ２０）。画素シェーダ１３は、ブロック単位でのシェーディング処理では、ブロックの代表座標における仮代表色を算出し、仮代表色を用いてシェーディング処理を実行することにより、当該ブロックの代表色を算出する。
【０１００】
代表座標は、上述したように、ここでは、ブロックの中心の座標である。仮代表色は、ここでは、テクスチャ画像の参照画素から求められる色値であり、シェーディング処理に用いられる。
【０１０１】
画素シェーダ１３は、ブロックを構成する複数の第一座標系画素に対応する複数の参照画素の色値から、ブロックの仮代表色を求める。仮代表色は、例えば、ブロックの代表座標に対応するテクスチャ座標の画素の色値である。なお、判定部１４が、ステップＳ１８において、ブロックの代表座標を用いてバイリニア参照を行い、加重平均値を取得した場合には、当該加重平均値を仮代表色として用いても構わない。
【０１０２】
あるいは、判定部１４がステップＳ１８の判定処理において用いた複数の参照画素の色値を利用して、仮代表色を算出しても構わない。なお、新たにテクスチャ読み込み部１５のテクスチャキャッシュから複数の参照画素の色値を取得し、取得した複数の参照画素の色値を用いて仮代表色を算出しても構わない。この場合、仮代表色の色値は、中央値、平均値、加重平均値等であっても構わない。
【０１０３】
画素シェーダ１３は、仮代表色等をパラメータとして、シェーディング処理を実行することにより、ブロックの代表色を決定する。シェーディング処理は、比較例と同じである。
【０１０４】
拡張部１６は、画素シェーダ１３において算出されたブロックの代表座標における代表色を用いて、当該ブロックに含まれる複数の第一座標系画素各々の色値を決定する（Ｓ２１）。
【０１０５】
拡張部１６は、本実施の形態では、２×２の４つのブロックを１つの拡張処理単位として、当該拡張処理単位で複数の第一座標系画素各々の色値を決定する。具体的には、４つのブロックの４つの代表色で構成される２×２画素の画像を、精度が１／２の画像であると見なして、４×４画素の画像に拡大する拡大処理を行う。
【０１０６】
図１２Ａおよび図１２Ｂは、本実施の形態における拡大処理の一例を説明するための図である。
【０１０７】
拡張部１６は、先ず、図１２Ａに示すように、ＰＡおよびＰＤの色値を用いて、ＰＡとＰＤとを結ぶ線上にある第一座標系画素ＴＡ０、ＴＡ３、ＴＤ０およびＴＤ３の色値を算出する。第一座標系画素ＴＡ３およびＴＤ０は、ＰＡとＰＤとの間（内側）に位置するため、内挿法により色値を算出することができる。第一座標系画素ＴＡ０およびＴＤ３は、ＰＡとＰＤとの間以外の位置にあるため、外挿法により色値を算出することができる。
【０１０８】
具体的には、第一座標系画素ＴＡ０、ＴＡ３、ＴＤ０およびＴＤ３の色値は、４つのブロックＬＵ、ＲＵ、ＬＬおよびＲＬの代表色（ＰＡ、ＰＢ、ＰＣおよびＰＤ）を用いて、以下の式３〜式６により求められる。
【０１０９】
ＴＡ０=（５／４）ＰＡ＋（−１／４）ＰＤ   ・・・  （式３）
ＴＡ３＝（３／４）ＰＡ＋（１／４）ＰＤ    ・・・  （式４）
ＴＤ０=（１／４）ＰＡ＋（３／４）ＰＤ     ・・・  （式５）
ＴＤ３＝（−１／４）ＰＡ＋（５／４）ＰＤ  ・・・  （式６）
【０１１０】
同様に、ＰＢおよびＰＣの色値を用いて、ＰＢとＰＣとを結ぶ線上にある第一座標系画素ＴＢ１、ＴＢ２、ＴＣ１およびＴＣ２の色値を算出する。
【０１１１】
次に、拡張部１６は、図１２Ｂに示すように、残りの第一座標系画素ＴＡ１、ＴＡ２、ＴＢ０、ＴＢ３、ＴＣ０、ＴＣ３、ＴＤ１およびＴＤ２の色値を算出する。
【０１１２】
第一座標系画素ＴＡ１およびＴＢ０は、図１２Ａに示す処理で色値を算出した第一座標系画素ＴＡ０およびＴＢ１を結ぶ線上であって、第一座標系画素ＴＡ０とＴＢ１との間に位置する。そのため、第一座標系画素ＴＡ１およびＴＢ０の色値は、内挿法により、第一座標系画素ＴＡ０およびＴＢ１の色値を用いて算出することができる。
【０１１３】
具体的には、第一座標系画素ＴＡ１およびＴＢ０の色値は、以下の式７および式８により求められる。
【０１１４】
ＴＡ１=（２／３）ＴＡ０＋（１／３）ＴＢ１   ・・・  （式７）
ＴＢ０＝（１／３）ＴＡ０＋（２／３）ＴＢ１  ・・・  （式８）
【０１１５】
同様に、第一座標系画素ＴＡ２およびＴＣ０の色値は、内挿法により、第一座標系画素ＴＡ０およびＴＣ２の色値を用いて算出することができる。第一座標系画素ＴＢ３およびＴＤ１の色値は、内挿法により、第一座標系画素ＴＢ１およびＴＤ３の色値を用いて算出することができる。第一座標系画素ＴＣ３およびＴＤ２の色値は、内挿法により、第一座標系画素ＴＣ２およびＴＤ３の色値を用いて算出することができる。
【０１１６】
なお、外挿法で第一座標系画素の色値を求めた場合、色値の範囲を超えた値が算出される場合がある。この場合には、拡張部１６は、当該色値を最大値または最小値でクリップしても構わない。
【０１１７】
ステップＳ２０およびＳ２１の処理を実行することにより、ブロック単位でのシェーディングが可能であると判定されたブロックに含まれる複数の第一座標系画素各々の色を決定することができる。
【０１１８】
［２−８．画素単位での色の決定］
画像処理装置１０は、図６に示すように、ブロック単位でのシェーディングが可能ではないと判定されたブロックについては、画素単位で複数の第一座標系画素各々の色を決めるための処理を実行する（Ｓ２２）。当該処理は、比較例における処理と実質的に同じである。  ラスタライザ１２は、画素単位で画素パラメータを求める。画素パラメータには、２次元座標、色を決定するための情報、透明度等が含まれる。色を決定するための情報には、テクスチャ座標、あるいは、色値が含まれる。ラスタライザ１２は、画素パラメータを画素シェーダ１３に出力する。（Ｓ２３）。
【０１１９】
画素シェーダ１３は、判定部１４を介して画素単位のテクスチャ座標により示される参照画素の色値を取得する（Ｓ２４）。
【０１２０】
画素シェーダ１３は、複数の第一座標系画素の各々について、参照画素の色値を用いてシェーディング処理を実行することにより、複数の第一座標系画素各々の色値を算出する（Ｓ２５）。
【０１２１】
ステップＳ２３〜Ｓ２５の処理を実行することにより、ブロック単位でのシェーディングが可能ではないと判定されたブロックに含まれる複数の第一座標系画素各々の色を決定することができる。
【０１２２】
［２−９．後処理］
ラスタライザ１２は、ステップＳ１９において画素シェーダ１３および拡張部１６により決定された複数の第一座標系画素各々の色値、および、ステップＳ２２において画素シェーダ１３により決定された複数の第一座標系画素各々の色値と、画素パラメータに含まれる透明度を用いて半透明合成処理を実行する（Ｓ２６）。
【０１２３】
半透明合成処理は、透明度に応じて、第一座標系図形を透過させる処理である。第一座標系図形は、ステップＳ１９あるいはステップＳ２２を実行することにより色が決定された多角形である。具体的には、ラスタライザ１２は、半透明合成処理において、透明度に応じた割合で、第一座標系図形とフレームバッファ読み込み／書き込み部から読み込んだこれまでに描画されている描画データとを合成する。
【０１２４】
ラスタライザ１２は、フレームバッファ読み込み／書き込み部１７により、半透明合成処理後の画素カラー情報（描画データ）を、メモリ２０のフレームバッファに書き込む描画処理を行う（Ｓ２７）。
【０１２５】
［３．効果等］
以上のように、本実施の形態では、ブロック単位でのシェーディング処理が可能であるか否かを判定し、ブロック単位でのシェーディング処理が可能なブロックについては、ブロック単位でのシェーディング処理を実行する。
【０１２６】
上述したように、画素シェーダ１３におけるシェーディング処理には、マイクロコードによって指示される比較的複雑な処理や、テクスチャ参照等の負荷の大きい処理が含まれる。本実施の形態の画像処理装置１０では、複数の第一座標系画素の一部について、ブロック単位でのシェーディング処理を実行するため、複数の第一座標系画素の全てについて画素単位でのシェーディング処理を実行する場合に比べ、シェーディング処理の回数を削減できる。
【０１２７】
図１３は、本実施の形態におけるシェーディング処理の回数を示す図である。図１３に示すように、本実施の形態では、４×８＋６９＝１０１回のシェーディング処理が実行される。これに対し、全ての第一座標系画素についてシェーディング処理を実行する場合には、図４より、三角形Ｔｒｉは１９３画素で構成されるため、１９３回のシェーディング処理が実行されることになる。図１３より、本実施の形態の画像処理装置１０では、シェーディング処理の実行回数が相当回数削減されているため、処理負荷が低減されていることが分かる。  なお、ブロック単位でのシェーディング処理を実行した場合、拡張部１６によるいわゆる図形の拡大処理が必要となる。しかし、シェーディング処理の負荷に比べ、拡張部１６における拡大処理の負荷は相当小さい。このため、拡大処理が追加されたとしても、シェーディング処理の回数を削減することによる処理負荷の軽減効果が期待できる。
【０１２８】
また、本実施の形態では、シェーディング処理の回数を削減できるため、処理速度を高めることができる。例えば、本実施の形態において、１フレームのうち、２０％の第一座標系画素について画素単位でのシェーディング処理を実行し、８０％の第一座標系画素についてブロック単位でのシェーディング処理を実行した場合、処理時間は、０．２５倍×８０％＋１倍×２０％＝０．４倍（つまり、処理速度が２．５倍）となる。なお、拡大処理については、シェーディング処理との並行処理が可能であり、かつ、シェーディング処理に比べて処理時間が格段に短いため、ここでは考慮していない。
【０１２９】
なお、処理時間の短縮効果は、ブロック単位でのシェーディング処理が実行可能なブロック数に依存する。そのため、処理時間の短縮効果は、参照するテクスチャ画像の模様の細かさ、ステップＳ１８において用いた第一閾値Ｔｒ１および第二閾値Ｔｒ２の値等に応じて変化する。
【０１３０】
［４．侵害立証］
図１４Ａおよび図１４Ｂは、本実施の形態の画像処理装置を用いて生成された２次元映像と比較例の画像処理装置を用いて生成された２次元映像との差異を説明するための図である。
【０１３１】
図１４Ａおよび図１４Ｂでは、説明のため、テクスチャ画像を等倍で四角形の内部に貼付ける場合を想定している。また、図１４Ａでは、本実施の形態の画像処理装置を用いて生成された２次元映像において、比較例との差異がある場所を示している。図１４Ｂは元のテクスチャ画像＝比較例において生成された２次元映像を示している。
【０１３２】
図１４Ａおよび図１４Ｂから分かるように、色値の差異は、ブロック状に発生している。これは、ブロック単位でのシェーディング処理を実行しているためである。色値の差異がブロック状に現れている場合には、本願の画像処理装置１０を用いて２次元映像の生成を行っていると推定できる。
【０１３３】
［５．変形例１：テクスチャ画像の読み込みを行わない場合］
図６では、マイクロコードによりテクスチャ画像の読み込みが指示されている場合について説明したが、これに限られるものではない。テクスチャ画像の読み込みが指示されていない場合は、テクスチャ画像の読み込み（Ｓ１６）は実行しない。また、ステップＳ２２において、画素単位でのテクスチャ画像における参照画像の位置の算出（Ｓ２３）および参照画素の色値を取得（Ｓ２４）に代えて、画素パラメータから色値を取得する。ステップＳ２５では、画素パラメータの色値から第一座標系画素の色値を決定する。
【０１３４】
［６．変形例２：ポリゴンエッジの判定の他の例］
上記実施の形態および変形例では、図６に示すステップ１８の判定処理のうち、ブロックにポリゴンエッジが含まれているか否かの判定（３つ目の判定条件）において、拡張処理単位に含まれる全てのブロックの代表座標が多角形の内部に位置する場合は、ポリゴンエッジが含まれていないと判定したが、これに限られるものではない。
【０１３５】
例えば、判定部１４は、拡張処理単位に含まれる複数のブロックのうち、拡張処理が実行可能な数のブロックの代表座標が多角形の内部に位置する場合は、代表座標が多角形の内部に位置するブロックについては、ポリゴンエッジを含まないブロックであると判定しても構わない。上記実施の形態の場合、拡張処理単位に含まれる４つのブロックのうち、３つのブロックの代表座標が多角形の内部に位置する場合は、当該３つのブロックについては、ポリゴンエッジを含まないブロックであると判定しても構わない。
【０１３６】
この場合、拡張部１６は、拡張処理単位のうち、ポリゴンエッジを含まないと判定されたブロックの代表色を用いて拡張処理を実行する。
【０１３７】
図１５Ａおよび図１５Ｂは、本変形例における拡大処理の一例を説明するための図である。図１５Ａおよび図１５Ｂにおいて、ブロックＬＵ、ＲＵおよびＬＬはポリゴンエッジを含まないと判定されたブロックであり、ブロックＲＬはポリゴンエッジを含むと判定されたブロックである。
【０１３８】
拡張部１６は、先ず、図１５Ａに示すように、ＰＢおよびＰＣの色値を用いて、ＰＢとＰＣとを結ぶ線上にある第一座標系画素ＴＢ１、ＴＢ２、ＴＣ１およびＴＣ２の色値を算出する。これらの第一座標系画素の色値は、実施の形態と同様に、内挿法により算出できる。
【０１３９】
次に、ＰＤの色値の信頼性が低いため、ＰＡおよびＰＤを結ぶ線と、ＰＢおよびＰＣを結ぶ線との交点Ｐ０の色値を求める。交点Ｐ０の色値は、以下の式９により求められる。
【０１４０】
Ｐ０＝（１／２）ＰＢ＋（１／２）ＰＣ  ・・・  （式９）
【０１４１】
次に、拡張部１６は、ＰＡおよびＰ０の色値を用いて、外挿法により第一座標系画素ＴＡ０の色値を、内挿法により第一座標系画素ＴＡ３の色値を算出する。第一座標系画素ＴＡ０およびＴＡ３は、以下の式１０および式１１により求められる。
【０１４２】
ＴＡ０＝（３／２）ＰＡ＋（−１／２）Ｐ０  ・・・  （式１０）
ＴＡ３＝（１／２）ＰＡ＋（１／２）Ｐ０    ・・・  （式１１）
【０１４３】
次に、拡張部１６は、実施の形態と同じ手順で、第一座標系画素ＴＡ２、ＴＣ０、ＴＡ１およびＴＢ０の色値を求める。
【０１４４】
さらに、拡張部１６は、第一座標系画素ＴＣ１およびＴＡ３の色値を用いて、外挿法により、第一座標系画素ＴＣ３の色値を求める。同様に、第一座標系画素ＴＢ２およびＴＡ３の色値を用いて、外挿法により、第一座標系画素ＴＢ３の色値を求める。
【０１４５】
これにより、ポリゴンエッジを含まないと判定された３つのブロックＬＵ、ＲＵおよびＬＬについて、複数の第一座標系画素各々の色値を算出することができる。
【０１４６】
図１６は、本変形例におけるシェーディング処理の回数の一例を示す図である。図１６に示すように、本変形例では、シェーディング処理の処理回数は、４×９＋３＋４８＝８７回となる。
【０１４７】
上記実施の形態に比べ、本変形例では、ポリゴンエッジを含むブロックの比率が高い場合において、特に有用である。
【０１４８】
（他の実施の形態）
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１４９】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１５０】
例えば、本実施の形態において、判定部１４は、テクスチャ読み込み部１５内あるいは画素シェーダ１３内に設けられていても構わない。また、拡張部１６についても、ラスタライザ１２あるいは画素シェーダ１３内に設けられていても構わない。さらに、本実施の形態において、外部のメモリ２０ではなく、画像処理装置１０に搭載されたメモリを利用しても構わない。
【０１５１】
また、画像処理装置１０は、典型的にはハードウェアにより構成されるが、ソフトウェア的に構成されていても構わない。ソフトウェア的に構成される場合、画像処理装置１０は、本実施の形態の画像処理方法の各手順を実行するためのプログラムをコンピュータに実行させることにより実現される。
【０１５２】
上記実施の形態では、画像処理装置１０が表示装置に適用される場合について説明したが、これに限られるものではない。図１７は、当該表示装置の一例を示す図である。画像処理装置１０は、ゲーム機、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）、ＰＣ（パーソナルコンピュータ）等、いわゆるポリゴンの描画を扱う機器に用いることができる。
【０１５３】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１５４】
本開示は、３次元グラフィックスにおけるシェーディング処理を行う画像処理装置、画像処理方法および表示装置に適用可能である。具体的には、ゲーム機、建物あるいは車両の設計に用いられるＣＡＤ等に、本開示は適用可能である。
【符号の説明】
【０１５５】
１０、１００  画像処理装置
１１、１１１  頂点シェーダ
１２、１１２  ラスタライザ
１３、１１３  画素シェーダ
１４  判定部
１５、１１４  テクスチャ読み込み部
１６  拡張部
１７、１１５  フレームバッファ読み込み／書き込み部
２０  メモリ
２１  テクスチャ画像
２２  描画データ
ＬＵ、ＲＵ、ＬＬ、ＲＬ  ブロック
Ｐ１１、Ｐ１２、Ｐ１３  第二座標系頂点
Ｐ２１、Ｐ２２、Ｐ２３  第一座標系頂点
ＰＯＳ  視点位置
Ｐｘ  テクスチャ座標
ＴＡ０、ＴＡ１、ＴＡ２、ＴＡ３、ＴＢ０、ＴＢ１、ＴＢ２、ＴＢ３、ＴＣ０、ＴＣ１、ＴＣ２、ＴＣ３、ＴＤ０、ＴＤ１、ＴＤ２、ＴＤ３  第一座標系画素
【図１】
0006540949.tif 000002
【図２】
0006540949.tif 000003
【図３】
0006540949.tif 000004
【図４】
0006540949.tif 000005
【図５】
0006540949.tif 000006
【図６】
0006540949.tif 000007
【図７】
0006540949.tif 000008
【図８】
0006540949.tif 000009
【図９】
0006540949.tif 000010
【図１０】
0006540949.tif 000011
【図１１】
0006540949.tif 000012
【図１２Ａ】
0006540949.tif 000013
【図１２Ｂ】
0006540949.tif 000014
【図１３】
0006540949.tif 000015
【図１４Ａ】
0006540949.tif 000016
【図１４Ｂ】
0006540949.tif 000017
【図１５Ａ】
0006540949.tif 000018
【図１５Ｂ】
0006540949.tif 000019
【図１６】
0006540949.tif 000020
【図１７】
0006540949.tif 000021