JP2016212468A - 画像処理装置、画像処理方法および表示装置 - Google Patents

画像処理装置、画像処理方法および表示装置 Download PDF

Info

Publication number
JP2016212468A
JP2016212468A JP2015092391A JP2015092391A JP2016212468A JP 2016212468 A JP2016212468 A JP 2016212468A JP 2015092391 A JP2015092391 A JP 2015092391A JP 2015092391 A JP2015092391 A JP 2015092391A JP 2016212468 A JP2016212468 A JP 2016212468A
Authority
JP
Japan
Prior art keywords
block
pixels
color
blocks
coordinate system
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.)
Granted
Application number
JP2015092391A
Other languages
English (en)
Other versions
JP6540949B2 (ja
Inventor
直史 吉田
Naofumi Yoshida
直史 吉田
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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2015092391A priority Critical patent/JP6540949B2/ja
Priority to US15/089,418 priority patent/US20160321835A1/en
Publication of JP2016212468A publication Critical patent/JP2016212468A/ja
Application granted granted Critical
Publication of JP6540949B2 publication Critical patent/JP6540949B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

【課題】処理負荷を低減できる画像処理装置を提供する。【解決手段】2次元映像上の3個以上の第一座標系頂点P21〜P23で規定される図形を構成する複数の第一座標系画素各々の色を決定する画素シェーダ13を備える画像処理装置10であって、複数の第一座標系画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定する判定部14を備え、画素シェーダ13は、判定部14によりブロック単位でのシェーディング処理が可能であると判定されたブロックについては、当該ブロックに対してブロック単位でのシェーディング処理を実行することにより、ブロックの代表色を決定し、ブロック単位でのシェーディング処理が可能ではないと判定されたブロックは、ブロック内の第一座標系画素の各々に対して画素単位でのシェーディング処理を実行することにより、複数の第一座標系画素の各々の色を決定する。【選択図】図5

Description

本開示は、画像処理装置、画像処理方法および表示装置に関する。
1個または複数の多角形により規定される3次元の形状データから2次元映像を生成する処理には、一般的に、多角形の頂点の3次元座標を2次元映像上の座標に変換する頂点シェーダ処理と、多角形を構成する複数の画素の画素パラメータ(2次元上の座標、色を決定するための情報、透明度等)を生成する補間処理と、複数の画素各々の色を決定する画素シェーダ処理とが含まれる(例えば、特許文献1参照)。
特開2006−318404号公報
本開示は、処理負荷を低減することができる画像処理装置、画像処理方法および表示装置を提供する。
本開示における画像処理装置は、2次元映像上の3個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画素シェーダを備える画像処理装置であって、前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定する判定部を備え、前記画素シェーダは、前記判定部により前記ブロック単位でのシェーディング処理が可能であると判定された場合は、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定し、前記判定部により前記ブロック単位でのシェーディング処理が可能ではないと判定された場合は、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定する。
本開示における画像処理装置、画像処理方法および表示装置は、処理負荷を低減することができる。
比較例における画像処理装置の構成の一例を示すブロック図 比較例における画像処理方法の処理手順の一例を示すフローチャート 比較例および実施の形態における視点位置と多角形との関係を示す図 比較例において、図3に示す三角形を視点位置から見たときの2次元映像上の三角形の一例を示す図 実施の形態における画像処理装置の構成の一例を示すブロック図 実施の形態における画像処理方法の処理手順の一例を示すフローチャート 実施の形態において、図3に示す三角形を視点位置から見たときの2次元映像上の三角形の一例を示す図 実施の形態における拡張処理単位の一例を示す図 実施の形態のバイリニア参照における参照画素の一例を示す図 実施の形態において色差の判定に用いる閾値を変更した場合における2次元映像の一例を示す図 本実施の形態におけるポリゴンエッジが含まれるか否かの判定を説明するための図 実施の形態における拡大処理の一例を説明するための図 実施の形態における拡大処理の一例を説明するための図 実施の形態におけるシェーディング処理の回数の一例を示す図 実施の形態の画像処理装置を用いて生成された2次元映像と比較例の画像処理装置を用いて生成された2次元映像との差異を説明するための図 実施の形態の画像処理装置を用いて生成された2次元映像と比較例の画像処理装置を用いて生成された2次元映像との差異を説明するための図 変形例2における拡大処理の一例を説明するための図 変形例2における拡大処理の一例を説明するための図 変形例2におけるシェーディング処理の回数の一例を示す図 実施の形態および変形例2の画像処理装置を備える表示装置の一例を示す図
[課題の詳細]
図1は、比較例における画像処理装置の構成の一例を示すブロック図である。図1に示す画像処理装置100は、3次元の形状を所定の視点から見たときの2次元映像を生成する装置である。
図1に示すように、画像処理装置100は、頂点シェーダ111と、ラスタライザ112と、画素シェーダ113と、テクスチャ読み込み部114と、フレームバッファ読み込み/書き込み部115とを備える。また、画像処理装置100は、メモリ20に対する読み出し処理および書き込み処理を実行可能に構成されている。
メモリ20は、2次元映像の生成に用いられるデータおよび生成された2次元映像(描画データ)を記憶するためのメモリであり、DRAM(Dynamic Random Access Memory)等で構成される。2次元映像の生成に用いられるデータには、例えば、2次元映像上の色を決定するために用いられるテクスチャ画像が含まれる。テクスチャ画像を記憶するメモリ領域をテクスチャバッファ、描画データを記憶するメモリ領域をフレームバッファと称する。
頂点シェーダ111は、3次元の形状を規定する3個以上の第二座標系頂点の3次元座標を、最終的に描画する2次元映像上における3個以上の第一座標系頂点の2次元座標に変換するエンジンである。頂点シェーダ111は、3個以上の第一座標系頂点の各々の2次元座標を含む頂点パラメータをラスタライザ112に出力する。頂点シェーダ111は、座標変換の他に頂点単位のライティング処理を行うこともできる。尚、本実施の形態では、頂点シェーダ111によって変換された後の第一座標系頂点の座標を2次元座標としているが、使用目的に応じて2次元以上の次元であっても構わない(例えば、3次元座標(x、y、z)、4次元座標(x、y、z、w)等)。
ラスタライザ112は、頂点パラメータを用い、3個以上の第一座標系頂点で規定される2次元映像上の図形を構成する複数の画素の各々について、画素パラメータを生成する補間処理を行う。画素パラメータには、2次元映像上の座標、色を決定するための情報、透明度等が含まれる。ラスタライザ112は、画素パラメータを画素シェーダ113に出力する。
ラスタライザ112は、さらに、画素シェーダ113から複数の画素各々の色を示す情報である画素カラー情報を取得する。ラスタライザ112は、取得した画素カラー情報を用いて半透明合成処理を実行し、半透明合成処理後の画素カラー情報をフレームバッファ読み込み/書き込み部115に出力する。フレームバッファ読み込み/書き込み部115は、半透明合成処理後の画素カラー情報をメモリ20のフレームバッファに記憶する。
画素シェーダ113は、ラスタライザ112から出力された画素パラメータを用いて、画素各々の色を決定するエンジンである。ここで、決定される複数の画素各々の色は、視点位置から見たときの色である。画素シェーダ113は、視点位置から見たときの色を求めるために、テクスチャ画像を参照することにより得られた色値あるいは画素パラメータから得られた色値を元にシェーディング処理を行う。これにより、複数の画素各々について、視点位置から見たときの色を求めることができる。
図2は、比較例における画像処理方法の処理手順の一例を示すフローチャートである。図2は、3次元の形状データから2次元映像を生成する処理の処理手順を示している。
頂点シェーダ111は、3次元の形状データを用いて頂点処理を行う(S101)。3次元の形状データは、一般的に、所定の立体を、1個または複数の多角形の組み合わせで表現したデータである。多角形は、例えば、三角形であるが、四角形あるいは五角形等の多角形であっても構わない。頂点処理において、頂点シェーダ111は、1個または複数の多角形の各々について、当該多角形を構成する3個以上の第二座標系頂点の3次元座標と、(必要な場合には)3次元の形状データを視点位置POSから見たときの2次元映像上の座標に変換する座標変換行列とを用いて、多角形の第二座標系頂点に対応する2次元映像上の点である第一座標系頂点の2次元座標を算出する。頂点シェーダ111は、算出した第一座標系頂点の座標を含む頂点パラメータをラスタライザ112に出力する。
図3は、比較例における視点位置と多角形との関係を示す図である。図3では、形状データとして、三角形Triの第二座標系頂点P11〜P13の座標が記憶されている。頂点シェーダ111は、第二座標系頂点P11の3次元座標(x11、y11、z11)、第二座標系頂点P12の3次元座標(x12、y12、z12)、第二座標系頂点P13の3次元座標(x13、y13、z13)を、視点位置POSから見たときの2次元映像F100上の座標に変換する。
図4は、図3における三角形Triを視点位置POSから見たときの2次元映像F100上の三角形Triの一例を示す図である。第一座標系頂点P21は、第二座標系頂点P11に対応する2次元映像上の点であり、その2次元座標は、(x21、y21)となっている。第一座標系頂点P22は、第二座標系頂点P12に対応する2次元映像上の点であり、その2次元座標は、(x22、y22)である。第一座標系頂点P23は、第二座標系頂点P13に対応する2次元映像上の点であり、その2次元座標は、(x23、y23)となっている。
ラスタライザ112は、頂点処理後、裏面消去処理およびクリッピング処理を行う(S102)。裏面消去処理は、視点位置から見えない位置にある多角形の消去を行う処理である。クリッピング処理は、視点位置から一部領域が見えない位置にある多角形について、視点位置から見える部分の画素を特定する処理である。
次に、ラスタライザ112は、画素単位での補間処理を行う(S103)。補間処理では、所定の立体を構成する多角形のうち、視点位置から一部または全部が見える多角形の各々について、それらを構成する複数の画素各々の画素パラメータを求める。画素パラメータには、2次元座標、色を決定するための情報、透明度等が含まれる。色を決定するための情報には、テクスチャ画像を用いる場合の参照画素の位置座標(以下、「テクスチャ座標」と称する)、あるいは、色値が含まれる。
さらに、ラスタライザ112は、陰になる部分(視点位置から見えない部分)の画素パラメータを消去する陰面消去処理を行う(S104)。ラスタライザ112は、陰面消去処理後、画素パラメータを画素シェーダ113に出力する。
画素シェーダ113は、マイクロコードによりテクスチャ画像の参照を行うことが指示されている場合には(S105の「YES」)、テクスチャ読み込み部114を介してテクスチャ画像の読み込みを行う(S106)。
画素シェーダ113は、画素単位でのシェーディング処理を行う(S107)。具体的には、画素シェーダ113は、マイクロコードによって指示される演算処理を実行することによって複数の画素各々の色を決定する。シェーディング処理の中で、テクスチャ画像の参照を行う場合、画素シェーダ113は、複数の画素の各々について、テクスチャ座標により示されるテクスチャ画像の参照画像の色値を取得する。画素シェーダ113は、決定した複数の画素各々の色値を示す情報である画素カラー情報をラスタライザ112に出力する。
ラスタライザ112は、画素パラメータに含まれる透明度を用いて半透明合成処理を実行して描画データを生成し(S108)、フレームバッファ読み込み/書き込み部115を用いてフレームバッファに生成した描画データを書き込む描画処理を行う(S109)。
近年、液晶ディスプレイあるいは有機EL(エレクトロルミネッセンス)ディスプレイ等の表示装置の高精細化が進んでおり、表示される2次元映像を構成する複数の画素の画素数も非常に多くなってきている。
画素シェーダ113では、マイクロコードによって指示される比較的複雑な処理や、テクスチャ参照等の負荷の大きい処理が実行されるため、処理時間が長い。そのため、画像処理装置100における2次元映像の生成にかかる処理時間は、上述した画素シェーダ113における起動回数に依存することになる。
比較例の画像処理装置100では、第一画素毎に画素シェーダ113を起動する必要があるため、複数の画素の画素数が多くなるほど画素シェーダの起動回数も大きくなる。
上述したように、近年、表示装置の高精細化が進んでいることから、画像処理装置100において、1フレーム当たりの画素シェーダ113の起動回数も飛躍的に大きくなっており、処理時間も飛躍的に長くなるという問題がある。
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
(実施の形態)
以下、図5〜12Bを用いて、実施の形態1を説明する。本実施の形態では、画像処理装置が、3次元の形状を所定の視点から見たときの2次元映像を生成するGPU(Graphics Processing Unit)である場合について説明する。
また、本実施の形態の画像処理装置は、液晶ディスプレイあるいは有機ELディスプレイ等に映像を表示させる表示装置に用いられる場合について説明する。
本実施の形態の画像処理装置は、2次元映像上に複数の画素で構成される複数のブロックを配置し、複数のブロックについてブロック単位でのシェーディング処理が可能であるか否かを判定し、ブロック単位でのシェーディング処理が可能と判定されたブロックについては、ブロック単位でのシェーディング処理を行う。これにより、画素シェーダ13の起動回数の増大を抑制する。
なお、以下の説明では、元の3次元の形状データにおいて、多角形を規定する3個以上の頂点を3個以上の第二座標系頂点、当該多角形を第二座標系図形と適宜称する。また、3個以上の第二座標系頂点に対応する2次元映像上の頂点を第一座標系頂点、第二座標系図形に対応する2次元映像上の図形を第一座標系図形、複数の第二座標系画素に対応する2次元映像上の複数の画素を第一座標系画素と適宜称する。
[1.構成]
実施の形態における画像処理装置の構成について、図5を用いて説明する。なお、詳細な動作については、後述する。
図5は、実施の形態における画像処理装置の構成の一例を示すブロック図である。図5に示すように、画像処理装置10は、頂点シェーダ11と、ラスタライザ12と、画素シェーダ13と、判定部14と、テクスチャ読み込み部15と、拡張部16と、フレームバッファ読み込み/書き込み部17とを備える。また、画像処理装置10は、メモリ20に対する読み出し処理および書き込み処理を実行可能に構成されている。
メモリ20は、比較例と同様に、2次元映像の生成に用いられるデータおよび生成された2次元映像(描画データ)を記憶するためのメモリであり、DRAM(Dynamic Random Access Memory)等で構成される。2次元映像の生成に用いられるデータには、例えば、2次元映像上の色を決定するために用いられるテクスチャ画像が含まれる。テクスチャ画像を記憶するメモリ領域をテクスチャバッファ、描画データを記憶するメモリ領域をフレームバッファと称する。
頂点シェーダ11は、比較例と同様に、マイクロコードと立体の形状を規定する3個以上の第二座標系頂点の3次元座標を含む形状データと(必要な場合には)座標変換行列とを受け付け、当該3個以上の第二座標系頂点の3次元座標を、2次元映像上における3個以上の第一座標系頂点の2次元座標に変換するエンジンである。頂点シェーダ11は、変換後の3個以上の2次元座標を含む頂点パラメータをラスタライザ12に出力する。尚、本実施の形態では、頂点シェーダ11によって変換された後の第一座標系頂点の座標を2次元座標としているが、使用目的に応じて2次元以上の次元であっても構わない(例えば、3次元座標(x、y、z)、4次元座標(x、y、z、w)等)。
ラスタライザ12は、補間処理を実行する補間部の一例である。補間処理は、頂点パラメータを用いて、複数の第一座標系画素の2次元座標を含む画素パラメータを生成する処理である。
ラスタライザ12は、さらに、拡張部16から取得した画素カラー情報を用いた半透明合成処理を実行する。
画素シェーダ13は、ラスタライザ12から出力された画素パラメータを用いて、複数の第一座標系画素各々の色を決定するエンジンである。画素シェーダ13は、本実施の形態では、判定部14によりブロック単位でのシェーディング処理が可能であると判定された2次元映像上のブロックについては、ブロック単位でのシェーディング処理を実行し、当該ブロックに含まれない第一座標系画素については、画素単位でのシェーディング処理を実行する。ブロック単位でのシェーディング処理では、テクスチャ画像あるいは画素パラメータから求めた仮代表色を用いて、マイクロコードによって指示される演算処理を実行することによって、代表色を求める。
判定部14は、2次元映像上の第一座標系図形を複数に分割した複数のブロックの各々について、ブロック単位でのシェーディング処理が可能であるか否かを判定する。ブロック単位でのシェーディング処理は画素単位でのシェーディング処理に比べて映像が劣化するため、ブロック単位でのシェーディングが可能であるか否かは、映像に与える影響が許容範囲内であるか否かに応じて決定される。人の目からみて劣化が認識できないあるいは劣化が小さい場合に、許容範囲内であると判定される。具体的には、ブロック内の第一座標系画素の色差が第一範囲内である場合に、2次元映像に与える影響が許容範囲内であると判定する。
テクスチャ読み込み部15は、メモリ20に対するデータの読み込み処理を行うメモリインターフェースである。テクスチャ読み込み部15は、テクスチャキャッシュを備え、メモリ20からテクスチャ画像21のうちの一部または全部を読み込み、当該テクスチャ画像の一部または全部をテクスチャキャッシュに記憶する。
拡張部16は、本実施の形態では、画像の拡大処理を実行する。拡張部16は、画素シェーダ13においてブロック単位でのシェーディング処理が行われたブロックについて、代表色を用いてブロックに含まれる複数の第一座標系画素各々の色を求める。
フレームバッファ読み込み/書き込み部17は、メモリ20に対するデータの読み込み及び書き込み処理を行うメモリインターフェースである。フレームバッファ読み込み/書き込み部17は、メモリ20のフレームバッファに、画素カラー情報により構成される描画データ22を書き込む。
[2.動作]
以上のように構成された画像処理装置10の動作(画像処理方法)を図6〜図12Bを用いて説明する。
図6は、実施の形態における画像処理方法の処理手順の一例を示すフローチャートである。図6は、3次元の形状データから2次元映像を生成する処理の処理手順を示している。なお、図6では、説明のため、テクスチャ画像を読み込む場合の処理手順について示している。
[2−1.頂点処理]
頂点シェーダ11は、3次元の形状データを用いて頂点処理を行う(S11)。頂点シェーダの動作は、本実施の形態では、比較例の場合と同じである。
より詳細には、頂点シェーダ11は、先ず、処理内容を指示するマイクロコードと形状データと(必要な場合には)座標変換行列とを受け付ける。3次元の形状データは、上述したように、一般的に、所定の立体を、1個または複数の多角形の組み合わせで表現したデータである。多角形は、例えば、三角形であるが、四角形あるいは五角形等の多角形であっても構わない。3次元の形状データには、1個または複数の多角形の各々について、当該多角形を規定する3個以上の第二座標系頂点の3次元座標が含まれる。
頂点シェーダ11は、形状データに含まれる3個以上の第二座標系頂点の3次元座標を、視点位置POSから見たときの2次元映像上の3個以上の第一座標系頂点の2次元座標に変換する。
頂点シェーダ11は、変換後の3個以上の第一座標系頂点の2次元座標を含む頂点パラメータをラスタライザ12に出力する。頂点パラメータには、第一座標系頂点の色を決定するための情報、および、透明度等が含まれていても構わない。第一座標系頂点の色を決定するための情報は、例えば、当該第一座標系頂点の色値、あるいは、参照するテクスチャ画像の画素の座標である。
図7は、本実施の形態において、図3における三角形Triを視点位置POSから見たときの2次元映像F1上の三角形Triの一例を示す図である。第一座標系頂点P21は、第二座標系頂点P11に対応する2次元映像上の点であり、その2次元座標は、(x21、y21)となっている。第一座標系頂点P22は、第二座標系頂点P12に対応する2次元映像上の点であり、その2次元座標は、(x22、y22)である。第一座標系頂点P23は、第二座標系頂点P13に対応する2次元映像上の点であり、その2次元座標は、(x23、y23)となっている。
[2−2.裏面消去およびクリッピング処理]
ラスタライザ12は、頂点処理(S12)後、図6に示すように、比較例の場合と同様に、裏面消去処理およびクリッピング処理を行う(S12)。裏面消去処理は、視点位置から見えない位置にある多角形の消去を行う処理である。クリッピング処理は、視点位置から一部領域が見えない位置にある多角形について、視点位置から見える部分の画素を特定する処理である。
[2−3.補間処理]
ラスタライザ12は、ブロック単位での補間処理を実行する(S13)。ここで、図7に示すように、本実施の形態では、第一座標系図形に含まれる複数の第一座標系画素は、複数のブロックに分割される。ここでは、複数のブロック各々は、2行×2列の4つの画素で構成される。図7において、太線はブロックを、極太線は2×2の4つのブロックからなる拡張処理単位を示している。拡張処理単位は、拡張処理において用いられる最小の範囲を示している。なお、拡張処理単位および拡張処理については、拡張部16の説明において詳述する。
図8は、実施の形態における拡張処理単位の一例を示す図である。図8に示す拡張処理単位には、左上のブロックLU、右上のブロックRU、左下のブロックLL、右下のブロックRLの4つのブロックが含まれている。図8では、左上のブロックLUの代表座標をPAの座標とし、右上のブロックRUの代表座標をPBの座標とし、左下のブロックLLの代表座標をPCの座標とし、右下のブロックRLの代表座標をPDの座標としている。また、ブロックLUは、4つの第一座標系画素TA0〜TA3で構成されている。
ラスタライザ12は、ここでは、ブロック単位で、画素パラメータを求める。画素パラメータには、ブロックの2次元座標、ブロックの仮代表色を決定するための情報、透明度等が含まれる。仮代表色を決定するための情報には、テクスチャ画像を用いる場合の参照画素の位置座標(以下、「テクスチャ座標」と称する)、あるいは、色値が含まれる。ラスタライザ12は、画素パラメータを画素シェーダ13に出力する。
[2−4.陰面消去処理]
ラスタライザ12は、補間処理(S13)後、図6に示すように、陰になる部分(視点位置から見えない部分)の画素パラメータを消去する陰面消去処理を行う(S14)。ラスタライザ12は、陰面消去処理後、画素パラメータを画素シェーダ13に出力する。
[2−5.テクスチャ画像の読み込み]
次に、図5および図6に示すように、テクスチャ画像の読み込みが行われる(S16)。画素シェーダ13は、テクスチャ座標を判定部14に出力する。判定部14は、テクスチャ座標をテクスチャ読み込み部15に出力する。
テクスチャ読み込み部15は、上述したように、テクスチャキャッシュを備えており、ある程度の大きさの画像をメモリ20から読み込むことができる。テクスチャ読み込み部15によるテクスチャ画像の読み込み方法には、バイリニア参照、ポイントサンプリングなどの種類がある。 バイリニア参照では、テクスチャ読み込み部15は、テクスチャ座標の近傍4画素を参照画素とし、当該4つの参照画素の色値の加重平均値を、4つの参照画素の色値として判定部14に出力する。なお、4つの参照画素の4つの色値の加重平均値ではなく、4つの参照画素の4つの色値を判定部14に出力しても構わない。
図9は、実施の形態のバイリニア参照における参照画素の一例を示す図である。図9は、図8における左上のブロックLUを示している。図9において、Pxは、テクスチャ座標の一例である。第一座標系画素TA0〜TA3は、図8に示す第一座標系画素TA0〜TA3に対応している。
テクスチャ読み込み部15は、バイリニア参照において、図9に示すように、テクスチャ座標Pxからの距離が短い4つの画素を参照画素として決定する。
ポイントサンプリングでは、テクスチャ読み込み部15は、テクスチャ座標により指示される1つの参照画素の色値を判定部14に出力する。図9では、第一座標系画素TA1が参照画素となる。
テクスチャ読み込み部15は、1個または複数の参照画素の色値の全てがテクスチャキャッシュに記憶されている場合、当該テクスチャキャッシュから1個または複数の参照画素の色値を取得する。テクスチャ読み込み部15は、1個または複数の参照画素がテクスチャキャッシュに記憶されていない場合は、1個または複数の参照画素を含むテクスチャ画像の領域をメモリ20から読み込んでテクスチャキャッシュに記憶し、当該テクスチャキャッシュから1個または複数の参照画素の色値の読み込みを行う。
[2−6.判定処理]
判定部14は、ブロック単位でのシェーディング処理が可能であるか否かを判定する(S18)。ここでは、以下の3つの判定条件を全て満たしている場合に、ブロック単位でのシェーディング処理が可能であると判定する。
なお、これらの条件は一例であり、他の判定条件が含まれていても構わないし、下記の3つの判定条件が含まれていなくても構わない。あるいは、下記の3つの判定条件に対応する判定条件を含めても構わない。
[2−6−1.1つ目の判定条件]
1つ目の判定条件は、参照するテクスチャ画像の模様の細かさを判定するための条件である。
ここで、ブロック単位でのシェーディングは、画素単位でのシェーディングに比べて精度が低いため、2次元映像を劣化させてしまう。テクスチャ画像のうち模様の細かい領域を参照するブロックの場合、ブロック単位でシェーディング処理を実行すると劣化による映像品質への影響が大きいと考えられる。これに対し、模様がある程度均一である領域を参照するブロックについては、ブロック単位でのシェーディングを実行しても、劣化による映像品質への影響が小さいあるいは影響がないと考えられる。
そこで、本実施の形態の判定部14は、参照するテクスチャ画像の領域の模様の細かさを判定し、参照先の領域の模様が、ある程度均一である(模様が細かくない)と判定されたブロックについては、ブロック単位でのシェーディングが可能であると判定する。判定部14は、参照先の領域の模様が細かいと判定されたブロックについては、ブロック単位でのシェーディングが可能ではないと判定する。
本実施の形態では、参照するテクスチャ画像の模様の細かさを、テクスチャ座標の近傍の4つの参照画素における色値の差(変化量)CDPを用いて判定する。
色値の差CDPが第一閾値Tr1(第一範囲の一例)よりも大きいブロックは、模様の細かい領域を参照するブロックであり、ブロック単位でのシェーディング処理が可能でないブロックであると判定する。
色値の差CDPが第一閾値Tr1以下のブロックは、比較的模様が均一である(細かくない)領域を参照するブロックであり、ブロック単位でのシェーディング処理が可能なブロックであると判定する。
色値の差CDPは、下記の式1により求められる。
CDP=(max(TA0r、TA1r、TA2r、TA3r)−min(TA0r、TA1r、TA2r、TA3r))
+(max(TA0g、TA1g、TA2g、TA3g)−min(TA0g、TA1g、TA2g、TA3g))
+(max(TA0b、TA1b、TA2b、TA3b)−min(TA0b、TA1b、TA2b、TA3b)) ・・・ (式1)
式1において、max(a0、a1、a2、a3)は、a0〜a3のうちの最大値を示している。min(a0、a1、a2、a3)は、a0〜a3のうちの最小値を示している。
なお、TA0r〜TA3rは、4つの参照画素の色値のうち、R(赤色)成分の値を示すパラメータである。TA0g〜TA3gは、4つの参照画素の色値のうち、G(緑色)成分の値を示すパラメータである。TA0b〜TA3bは、4つの参照画素の色値のうち、B(青色)成分の値を示すパラメータである。
判定部14は、CDP≦第一閾値Tr1の場合に、1つ目の判定条件を満たすと判定する。当該判定条件により、ブロック単位でのシェーディング処理が可能であるか否かを判定することで、2次元映像の品質を維持しながら、画素シェーダ13における負荷を軽減できる。
第一閾値Tr1の決定方法については、2つ目の判定条件においても本判定条件と同様に色差の判定を行うため、2つ目の判定条件の説明で詳述する。
[2−6−2.2つ目の判定条件]
2つ目の条件は、拡張部16における処理で画質の劣化が生じるか否かを判定するための条件である。
本実施の形態では、ブロック単位でのシェーディング処理を実行したブロックについては、拡張部16においてブロックを構成する複数の第一座標系画素各々の色を決定する。
そのため、拡張部16における処理で画質の劣化が生じるブロックの場合、複数の第一座標系画素各々の色を決定することができない。つまり、拡張部16における処理で画質の劣化が生じるブロックは、ブロック単位でのシェーディング処理を実行できないブロックである。
本実施の形態の拡張部16は、後で詳述するが、隣接する4つのブロック(隣接ブロック)からなる拡張処理単位で、ブロックに含まれる複数の第一座標系画素各々の色を算出する。ここで、ブロックの仮代表色の色差が大きい場合には、判定条件1で説明したのと同じ理由により、これらのブロックをまとめて処理すると2次元映像が劣化して品質が低下すると考えられる。そのため、隣接する4つのブロックの間で、各ブロックの仮代表色の色差の判定を行うことで、拡張部16における処理で画質の劣化が生じるか否かを判定する。
判定部14は、拡張部16における処理で画質の劣化が生じないと判定された場合に、ブロック単位でのシェーディング処理が可能なブロックであると判定する。判定部14は、拡張部16における処理で画質の劣化が生じると判定された場合、ブロック単位でのシェーディング処理が可能ではないブロックであると判定する。
具体的には、判定部14は、隣接する4つのブロックにおける仮代表色の色差CDBが第二範囲内の場合に、拡張部16における処理で画質の劣化が生じないと判定する。
色値の差CDBは、下記の式2により求められる。
CDB=(max(PAr、PBr、PCr、PDr)−min(PAr、PBr、PCr、PDr))
+(max(PAg、PBg、PCg、PDg)−min(PAg、PBg、PCg、PDg))
+(max(PAb、PBb、PCb、PDb)−min(PAb、PBb、PCb、PDb)) ・・・ (式2)
式2において、PAr〜PDrは、ブロックの仮代表座標の色値のうち、R(赤色)成分の値を示している。PAg〜PDgは、ブロックの仮代表座標の色値のうち、G(緑色)成分の値を示している。PAb〜PDbは、ブロックの仮代表座標の色値のうち、B(青色)成分の値を示している。
判定部14は、CDB≦第二閾値Tr2(第二範囲の一例)の場合に、2つ目の判定条件を満たすと判定する。
[第一閾値および第二閾値の決定方法]
図10は、本実施の形態において、第一閾値Tr1および第二閾値Tr2を変更した場合における2次元映像の一例を示す図である。図10では、説明のため、第一閾値Tr1および第二閾値Tr2を同じ値に設定している。
ここで、第一閾値Tr1および第二閾値Tr2の値は、色値のR成分、G成分およびB成分の各々が8bitで表わされる場合、0〜765の値を用いることができる。この場合、図10において、閾値Minは最小値0、Medは中央値127、Maxは最大値765となる。
図10の(a)は、第一閾値Tr1および第二閾値Tr2として閾値Minを用いた場合の2次元映像の一例を示している。図10の(b)は、第一閾値Tr1および第二閾値Tr2として閾値Medを用いた場合の2次元映像の一例を示している。図10の(c)は、第一閾値Tr1および第二閾値Tr2として閾値Maxを用いた場合の2次元映像の一例を示している。
第一閾値Tr1および第二閾値Tr2として閾値Minを用いた場合、ブロック単位でのシェーディング処理が可能であると判定されるブロックの数が最も少なくなる。第一閾値Tr1および第二閾値Tr2として閾値Maxを用いた場合、ブロック単位でのシェーディング処理が可能であると判定されるブロックの数が最も多くなる。
そのため、図10に示すように、第一閾値Tr1および第二閾値Tr2として閾値Minを用いた場合の2次元映像は、品質の低下が最小限に抑えられている。第一閾値Tr1および第二閾値Tr2として閾値Maxを用いた場合の2次元映像は、品質の低下が比較的大きくなっている。
以上より、第一閾値Tr1および第二閾値Tr2は、2次元映像の大きさ、当該2次元映像を表示する表示装置の大きさおよび精度、2次元映像の特徴(映画のような細かい描写が必要とされる映像であるか否か等)、画像処理装置10において2次元映像を生成するのに求められる処理速度等を考慮して、適切な値に決定することが好ましい。なお、第一閾値Tr1と第二閾値Tr2とは、同じ値であっても構わないし、異なる値であっても構わない。
[2−6−3.3つ目の判定条件]
3つ目の条件は、ブロックが多角形の境界を示すポリゴンエッジを含んでいるか否かを判定するための条件である。
ポリゴンの描画中に当該ポリゴンの外側の色値は分からないため、ポリゴンエッジを含んでいるブロックの画素については、ブロック単位で処理を行うと2次元映像が劣化して品質が低下する可能性がある。そのため、ポリゴンエッジを含んでいるブロックの画素については、ブロック単位でのシェーディング処理を実行できないブロックであると判定する。
図11は、本実施の形態においてポリゴンエッジが含まれるか否かの判定を説明するための図である。本実施の形態では、判定部14は、ポリゴンエッジが含まれるか否かを判定するために必要な情報(ポリゴンエッジ判定情報)をラスタライザ12から取得する。判定部14は、ポリゴンエッジが含まれるか否かの判定を、1個または複数のブロックが含まれる拡張処理単位で行う。判定部14は、拡張処理単位に含まれる全てのブロックの代表座標が多角形の内部に位置する場合は、当該拡張処理単位に含まれる全てのブロックについてポリゴンエッジを含まないブロックであると判定する。
ブロックの代表座標は、ここでは、ブロックの中心の座標である。なお、ブロックの代表座標は、他の座標であっても構わない。
図11の場合、ブロックLUの代表座標PA、ブロックRUの代表座標PB、ブロックLLの代表座標PCおよびブロックRLの代表座標PDの全てが三角形Triの内部に位置するため、ブロックLU、RU、LLおよびRLは、ポリゴンエッジを含まないブロックであると判定される。
[2−7.ブロック単位での色の決定]
画像処理装置10は、図6に示すように、ブロック単位でのシェーディングが可能であると判定されたブロックについては、ブロック単位で複数の第一座標系画素各々の色を決めるための処理を実行する(S19)。
画素シェーダ13は、ブロック単位でのシェーディング処理を実行することにより、ブロックの代表色を算出する(S20)。画素シェーダ13は、ブロック単位でのシェーディング処理では、ブロックの代表座標における仮代表色を算出し、仮代表色を用いてシェーディング処理を実行することにより、当該ブロックの代表色を算出する。
代表座標は、上述したように、ここでは、ブロックの中心の座標である。仮代表色は、ここでは、テクスチャ画像の参照画素から求められる色値であり、シェーディング処理に用いられる。
画素シェーダ13は、ブロックを構成する複数の第一座標系画素に対応する複数の参照画素の色値から、ブロックの仮代表色を求める。仮代表色は、例えば、ブロックの代表座標に対応するテクスチャ座標の画素の色値である。なお、判定部14が、ステップS18において、ブロックの代表座標を用いてバイリニア参照を行い、加重平均値を取得した場合には、当該加重平均値を仮代表色として用いても構わない。
あるいは、判定部14がステップS18の判定処理において用いた複数の参照画素の色値を利用して、仮代表色を算出しても構わない。なお、新たにテクスチャ読み込み部15のテクスチャキャッシュから複数の参照画素の色値を取得し、取得した複数の参照画素の色値を用いて仮代表色を算出しても構わない。この場合、仮代表色の色値は、中央値、平均値、加重平均値等であっても構わない。
画素シェーダ13は、仮代表色等をパラメータとして、シェーディング処理を実行することにより、ブロックの代表色を決定する。シェーディング処理は、比較例と同じである。
拡張部16は、画素シェーダ13において算出されたブロックの代表座標における代表色を用いて、当該ブロックに含まれる複数の第一座標系画素各々の色値を決定する(S21)。
拡張部16は、本実施の形態では、2×2の4つのブロックを1つの拡張処理単位として、当該拡張処理単位で複数の第一座標系画素各々の色値を決定する。具体的には、4つのブロックの4つの代表色で構成される2×2画素の画像を、精度が1/2の画像であると見なして、4×4画素の画像に拡大する拡大処理を行う。
図12Aおよび図12Bは、本実施の形態における拡大処理の一例を説明するための図である。
拡張部16は、先ず、図12Aに示すように、PAおよびPDの色値を用いて、PAとPDとを結ぶ線上にある第一座標系画素TA0、TA3、TD0およびTD3の色値を算出する。第一座標系画素TA3およびTD0は、PAとPDとの間(内側)に位置するため、内挿法により色値を算出することができる。第一座標系画素TA0およびTD3は、PAとPDとの間以外の位置にあるため、外挿法により色値を算出することができる。
具体的には、第一座標系画素TA0、TA3、TD0およびTD3の色値は、4つのブロックLU、RU、LLおよびRLの代表色(PA、PB、PCおよびPD)を用いて、以下の式3〜式6により求められる。
TA0=(5/4)PA+(−1/4)PD ・・・ (式3)
TA3=(3/4)PA+(1/4)PD ・・・ (式4)
TD0=(1/4)PA+(3/4)PD ・・・ (式5)
TD3=(−1/4)PA+(5/4)PD ・・・ (式6)
同様に、PBおよびPCの色値を用いて、PBとPCとを結ぶ線上にある第一座標系画素TB1、TB2、TC1およびTC2の色値を算出する。
次に、拡張部16は、図12Bに示すように、残りの第一座標系画素TA1、TA2、TB0、TB3、TC0、TC3、TD1およびTD2の色値を算出する。
第一座標系画素TA1およびTB0は、図12Aに示す処理で色値を算出した第一座標系画素TA0およびTB1を結ぶ線上であって、第一座標系画素TA0とTB1との間に位置する。そのため、第一座標系画素TA1およびTB0の色値は、内挿法により、第一座標系画素TA0およびTB1の色値を用いて算出することができる。
具体的には、第一座標系画素TA1およびTB0の色値は、以下の式7および式8により求められる。
TA1=(2/3)TA0+(1/3)TB1 ・・・ (式7)
TB0=(1/3)TA0+(2/3)TB1 ・・・ (式8)
同様に、第一座標系画素TA2およびTC0の色値は、内挿法により、第一座標系画素TA0およびTC2の色値を用いて算出することができる。第一座標系画素TB3およびTD1の色値は、内挿法により、第一座標系画素TB1およびTD3の色値を用いて算出することができる。第一座標系画素TC3およびTD2の色値は、内挿法により、第一座標系画素TC2およびTD3の色値を用いて算出することができる。
なお、外挿法で第一座標系画素の色値を求めた場合、色値の範囲を超えた値が算出される場合がある。この場合には、拡張部16は、当該色値を最大値または最小値でクリップしても構わない。
ステップS20およびS21の処理を実行することにより、ブロック単位でのシェーディングが可能であると判定されたブロックに含まれる複数の第一座標系画素各々の色を決定することができる。
[2−8.画素単位での色の決定]
画像処理装置10は、図6に示すように、ブロック単位でのシェーディングが可能ではないと判定されたブロックについては、画素単位で複数の第一座標系画素各々の色を決めるための処理を実行する(S22)。当該処理は、比較例における処理と実質的に同じである。 ラスタライザ12は、画素単位で画素パラメータを求める。画素パラメータには、2次元座標、色を決定するための情報、透明度等が含まれる。色を決定するための情報には、テクスチャ座標、あるいは、色値が含まれる。ラスタライザ12は、画素パラメータを画素シェーダ13に出力する。(S23)。
画素シェーダ13は、判定部14を介して画素単位のテクスチャ座標により示される参照画素の色値を取得する(S24)。
画素シェーダ13は、複数の第一座標系画素の各々について、参照画素の色値を用いてシェーディング処理を実行することにより、複数の第一座標系画素各々の色値を算出する(S25)。
ステップS23〜S25の処理を実行することにより、ブロック単位でのシェーディングが可能ではないと判定されたブロックに含まれる複数の第一座標系画素各々の色を決定することができる。
[2−9.後処理]
ラスタライザ12は、ステップS19において画素シェーダ13および拡張部16により決定された複数の第一座標系画素各々の色値、および、ステップS22において画素シェーダ13により決定された複数の第一座標系画素各々の色値と、画素パラメータに含まれる透明度を用いて半透明合成処理を実行する(S26)。
半透明合成処理は、透明度に応じて、第一座標系図形を透過させる処理である。第一座標系図形は、ステップS19あるいはステップS22を実行することにより色が決定された多角形である。具体的には、ラスタライザ12は、半透明合成処理において、透明度に応じた割合で、第一座標系図形とフレームバッファ読み込み/書き込み部から読み込んだこれまでに描画されている描画データとを合成する。
ラスタライザ12は、フレームバッファ読み込み/書き込み部17により、半透明合成処理後の画素カラー情報(描画データ)を、メモリ20のフレームバッファに書き込む描画処理を行う(S27)。
[3.効果等]
以上のように、本実施の形態では、ブロック単位でのシェーディング処理が可能であるか否かを判定し、ブロック単位でのシェーディング処理が可能なブロックについては、ブロック単位でのシェーディング処理を実行する。
上述したように、画素シェーダ13におけるシェーディング処理には、マイクロコードによって指示される比較的複雑な処理や、テクスチャ参照等の負荷の大きい処理が含まれる。本実施の形態の画像処理装置10では、複数の第一座標系画素の一部について、ブロック単位でのシェーディング処理を実行するため、複数の第一座標系画素の全てについて画素単位でのシェーディング処理を実行する場合に比べ、シェーディング処理の回数を削減できる。
図13は、本実施の形態におけるシェーディング処理の回数を示す図である。図13に示すように、本実施の形態では、4×8+69=101回のシェーディング処理が実行される。これに対し、全ての第一座標系画素についてシェーディング処理を実行する場合には、図4より、三角形Triは193画素で構成されるため、193回のシェーディング処理が実行されることになる。図13より、本実施の形態の画像処理装置10では、シェーディング処理の実行回数が相当回数削減されているため、処理負荷が低減されていることが分かる。 なお、ブロック単位でのシェーディング処理を実行した場合、拡張部16によるいわゆる図形の拡大処理が必要となる。しかし、シェーディング処理の負荷に比べ、拡張部16における拡大処理の負荷は相当小さい。このため、拡大処理が追加されたとしても、シェーディング処理の回数を削減することによる処理負荷の軽減効果が期待できる。
また、本実施の形態では、シェーディング処理の回数を削減できるため、処理速度を高めることができる。例えば、本実施の形態において、1フレームのうち、20%の第一座標系画素について画素単位でのシェーディング処理を実行し、80%の第一座標系画素についてブロック単位でのシェーディング処理を実行した場合、処理時間は、0.25倍×80%+1倍×20%=0.4倍(つまり、処理速度が2.5倍)となる。なお、拡大処理については、シェーディング処理との並行処理が可能であり、かつ、シェーディング処理に比べて処理時間が格段に短いため、ここでは考慮していない。
なお、処理時間の短縮効果は、ブロック単位でのシェーディング処理が実行可能なブロック数に依存する。そのため、処理時間の短縮効果は、参照するテクスチャ画像の模様の細かさ、ステップS18において用いた第一閾値Tr1および第二閾値Tr2の値等に応じて変化する。
[4.侵害立証]
図14Aおよび図14Bは、本実施の形態の画像処理装置を用いて生成された2次元映像と比較例の画像処理装置を用いて生成された2次元映像との差異を説明するための図である。
図14Aおよび図14Bでは、説明のため、テクスチャ画像を等倍で四角形の内部に貼付ける場合を想定している。また、図14Aでは、本実施の形態の画像処理装置を用いて生成された2次元映像において、比較例との差異がある場所を示している。図14Bは元のテクスチャ画像=比較例において生成された2次元映像を示している。
図14Aおよび図14Bから分かるように、色値の差異は、ブロック状に発生している。これは、ブロック単位でのシェーディング処理を実行しているためである。色値の差異がブロック状に現れている場合には、本願の画像処理装置10を用いて2次元映像の生成を行っていると推定できる。
[5.変形例1:テクスチャ画像の読み込みを行わない場合]
図6では、マイクロコードによりテクスチャ画像の読み込みが指示されている場合について説明したが、これに限られるものではない。テクスチャ画像の読み込みが指示されていない場合は、テクスチャ画像の読み込み(S16)は実行しない。また、ステップS22において、画素単位でのテクスチャ画像における参照画像の位置の算出(S23)および参照画素の色値を取得(S24)に代えて、画素パラメータから色値を取得する。ステップS25では、画素パラメータの色値から第一座標系画素の色値を決定する。
[6.変形例2:ポリゴンエッジの判定の他の例]
上記実施の形態および変形例では、図6に示すステップ18の判定処理のうち、ブロックにポリゴンエッジが含まれているか否かの判定(3つ目の判定条件)において、拡張処理単位に含まれる全てのブロックの代表座標が多角形の内部に位置する場合は、ポリゴンエッジが含まれていないと判定したが、これに限られるものではない。
例えば、判定部14は、拡張処理単位に含まれる複数のブロックのうち、拡張処理が実行可能な数のブロックの代表座標が多角形の内部に位置する場合は、代表座標が多角形の内部に位置するブロックについては、ポリゴンエッジを含まないブロックであると判定しても構わない。上記実施の形態の場合、拡張処理単位に含まれる4つのブロックのうち、3つのブロックの代表座標が多角形の内部に位置する場合は、当該3つのブロックについては、ポリゴンエッジを含まないブロックであると判定しても構わない。
この場合、拡張部16は、拡張処理単位のうち、ポリゴンエッジを含まないと判定されたブロックの代表色を用いて拡張処理を実行する。
図15Aおよび図15Bは、本変形例における拡大処理の一例を説明するための図である。図15Aおよび図15Bにおいて、ブロックLU、RUおよびLLはポリゴンエッジを含まないと判定されたブロックであり、ブロックRLはポリゴンエッジを含むと判定されたブロックである。
拡張部16は、先ず、図15Aに示すように、PBおよびPCの色値を用いて、PBとPCとを結ぶ線上にある第一座標系画素TB1、TB2、TC1およびTC2の色値を算出する。これらの第一座標系画素の色値は、実施の形態と同様に、内挿法により算出できる。
次に、PDの色値の信頼性が低いため、PAおよびPDを結ぶ線と、PBおよびPCを結ぶ線との交点P0の色値を求める。交点P0の色値は、以下の式9により求められる。
P0=(1/2)PB+(1/2)PC ・・・ (式9)
次に、拡張部16は、PAおよびP0の色値を用いて、外挿法により第一座標系画素TA0の色値を、内挿法により第一座標系画素TA3の色値を算出する。第一座標系画素TA0およびTA3は、以下の式10および式11により求められる。
TA0=(3/2)PA+(−1/2)P0 ・・・ (式10)
TA3=(1/2)PA+(1/2)P0 ・・・ (式11)
次に、拡張部16は、実施の形態と同じ手順で、第一座標系画素TA2、TC0、TA1およびTB0の色値を求める。
さらに、拡張部16は、第一座標系画素TC1およびTA3の色値を用いて、外挿法により、第一座標系画素TC3の色値を求める。同様に、第一座標系画素TB2およびTA3の色値を用いて、外挿法により、第一座標系画素TB3の色値を求める。
これにより、ポリゴンエッジを含まないと判定された3つのブロックLU、RUおよびLLについて、複数の第一座標系画素各々の色値を算出することができる。
図16は、本変形例におけるシェーディング処理の回数の一例を示す図である。図16に示すように、本変形例では、シェーディング処理の処理回数は、4×9+3+48=87回となる。
上記実施の形態に比べ、本変形例では、ポリゴンエッジを含むブロックの比率が高い場合において、特に有用である。
(他の実施の形態)
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
例えば、本実施の形態において、判定部14は、テクスチャ読み込み部15内あるいは画素シェーダ13内に設けられていても構わない。また、拡張部16についても、ラスタライザ12あるいは画素シェーダ13内に設けられていても構わない。さらに、本実施の形態において、外部のメモリ20ではなく、画像処理装置10に搭載されたメモリを利用しても構わない。
また、画像処理装置10は、典型的にはハードウェアにより構成されるが、ソフトウェア的に構成されていても構わない。ソフトウェア的に構成される場合、画像処理装置10は、本実施の形態の画像処理方法の各手順を実行するためのプログラムをコンピュータに実行させることにより実現される。
上記実施の形態では、画像処理装置10が表示装置に適用される場合について説明したが、これに限られるものではない。図17は、当該表示装置の一例を示す図である。画像処理装置10は、ゲーム機、CAD(Computer Aided Design)、PC(パーソナルコンピュータ)等、いわゆるポリゴンの描画を扱う機器に用いることができる。
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
本開示は、3次元グラフィックスにおけるシェーディング処理を行う画像処理装置、画像処理方法および表示装置に適用可能である。具体的には、ゲーム機、建物あるいは車両の設計に用いられるCAD等に、本開示は適用可能である。
10、100 画像処理装置
11、111 頂点シェーダ
12、112 ラスタライザ
13、113 画素シェーダ
14 判定部
15、114 テクスチャ読み込み部
16 拡張部
17、115 フレームバッファ読み込み/書き込み部
20 メモリ
21 テクスチャ画像
22 描画データ
LU、RU、LL、RL ブロック
P11、P12、P13 第二座標系頂点
P21、P22、P23 第一座標系頂点
POS 視点位置
Px テクスチャ座標
TA0、TA1、TA2、TA3、TB0、TB1、TB2、TB3、TC0、TC1、TC2、TC3、TD0、TD1、TD2、TD3 第一座標系画素

Claims (9)

  1. 2次元映像上の3個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画素シェーダを備える画像処理装置であって、
    前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定する判定部を備え、
    前記画素シェーダは、
    前記判定部により前記ブロック単位でのシェーディング処理が可能であると判定された場合は、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定し、
    前記判定部により前記ブロック単位でのシェーディング処理が可能ではないと判定された場合は、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定する、
    画像処理装置。
  2. さらに、
    前記画素シェーダにより前記ブロックの代表色が決定された後に、前記ブロックの代表色を用いて前記複数の画素の色を決定する拡張部を備える、
    請求項1に記載の画像処理装置。
  3. 前記判定部は、テクスチャ画像を取得し、前記ブロックの代表座標に対応する前記テクスチャ画像上の複数の参照画像の間での色の差が第一範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
    請求項2に記載の画像処理装置。
  4. 前記判定部は、前記ブロックに隣接する隣接ブロックの代表色と前記ブロックの代表色との差が第二範囲内の場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
    請求項2または3に記載の画像処理装置。
  5. 前記拡張部は、前記ブロックの代表色と前記隣接ブロックの代表色とで構成される画像を拡大処理することにより、前記複数の画素のうち前記ブロックおよび前記隣接ブロックに含まれる画素の色を決定する、
    請求項4に記載の画像処理装置。
  6. 前記判定部は、前記ブロックがポリゴンエッジを含まない場合に、前記ブロック単位でのシェーディング処理が可能であると判定する、
    請求項2〜5の何れか1項に記載の画像処理装置。
  7. 前記画像処理装置は、3次元の形状を所定の視点から見たときの前記2次元映像を生成する装置であり、
    さらに、
    前記3次元の形状を規定する3個以上の第二座標系頂点の3次元座標を、前記2次元映像上における前記3個以上の第一座標系頂点の座標に変換し、前記3個以上の第一座標系頂点の座標を含む頂点パラメータを生成する頂点シェーダと、
    前記頂点パラメータを用いて、前記複数の画素の2次元座標を含む画素パラメータを生成する補間部とを備え、
    前記判定部は、前記2次元映像の前記図形を含む領域を、複数の前記ブロックに分割し、当該複数の前記ブロックの各々について、ブロック単位でのシェーディング処理が可能であるか否かを判定する、
    請求項2〜6の何れか1項に記載の画像処理装置。
  8. 2次元映像上の3個以上の第一座標系頂点で規定される図形を構成する複数の画素各々の色を決定する画像処理方法であって、
    前記複数の画素のうちの一部を含むブロックについて、ブロック単位でのシェーディング処理が可能であるか否かを判定するステップと、
    前記ブロック単位でのシェーディング処理が可能であると判定された場合に、前記ブロックに対して前記ブロック単位でのシェーディング処理を実行することにより、前記ブロックの代表色を決定するステップと、
    前記ブロック単位でのシェーディング処理が可能ではないと判定された場合に、前記複数の画素の各々について画素単位でのシェーディング処理を実行することにより、前記複数の画素の各々の色を決定するステップとを含む、
    画像処理方法。
  9. 請求項1〜7の何れか1項に記載の画像処理装置を備える、
    表示装置。
JP2015092391A 2015-04-28 2015-04-28 画像処理装置、画像処理方法および表示装置 Active JP6540949B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015092391A JP6540949B2 (ja) 2015-04-28 2015-04-28 画像処理装置、画像処理方法および表示装置
US15/089,418 US20160321835A1 (en) 2015-04-28 2016-04-01 Image processing device, image processing method, and display device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015092391A JP6540949B2 (ja) 2015-04-28 2015-04-28 画像処理装置、画像処理方法および表示装置

Publications (2)

Publication Number Publication Date
JP2016212468A true JP2016212468A (ja) 2016-12-15
JP6540949B2 JP6540949B2 (ja) 2019-07-10

Family

ID=57205104

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015092391A Active JP6540949B2 (ja) 2015-04-28 2015-04-28 画像処理装置、画像処理方法および表示装置

Country Status (2)

Country Link
US (1) US20160321835A1 (ja)
JP (1) JP6540949B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4097681A4 (en) * 2020-01-05 2024-05-15 Magik Eye Inc. TRANSFER OF THE COORDINATE SYSTEM OF A THREE-DIMENSIONAL CAMERA TO THE IMPACT POINT OF A TWO-DIMENSIONAL CAMERA
CN112288846A (zh) * 2020-09-22 2021-01-29 比特视界(北京)科技有限公司 用于制作三维物体表面顶层图案的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201371A (ja) * 1985-03-04 1986-09-06 Nippon Telegr & Teleph Corp <Ntt> 画像生成装置
JPH0573259A (ja) * 1991-09-10 1993-03-26 Hitachi Ltd 画像シエーデイング方法及び画像処理装置
JPH06259576A (ja) * 1993-03-09 1994-09-16 Matsushita Electric Ind Co Ltd 画像生成装置
JPH08297749A (ja) * 1995-02-28 1996-11-12 Hitachi Ltd シェーディング方法およびシェーディング装置
JP2008257127A (ja) * 2007-04-09 2008-10-23 Toppan Printing Co Ltd 画像表示装置及び画像表示方法
US20130069943A1 (en) * 2011-09-19 2013-03-21 Qualcomm Incorporated Optimizing resolve performance with tiling graphics architectures

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013021525A1 (ja) * 2011-08-11 2013-02-14 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、及び集積回路
US9569862B2 (en) * 2014-08-15 2017-02-14 Qualcomm Incorporated Bandwidth reduction using texture lookup by adaptive shading

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61201371A (ja) * 1985-03-04 1986-09-06 Nippon Telegr & Teleph Corp <Ntt> 画像生成装置
JPH0573259A (ja) * 1991-09-10 1993-03-26 Hitachi Ltd 画像シエーデイング方法及び画像処理装置
JPH06259576A (ja) * 1993-03-09 1994-09-16 Matsushita Electric Ind Co Ltd 画像生成装置
JPH08297749A (ja) * 1995-02-28 1996-11-12 Hitachi Ltd シェーディング方法およびシェーディング装置
JP2008257127A (ja) * 2007-04-09 2008-10-23 Toppan Printing Co Ltd 画像表示装置及び画像表示方法
US20130069943A1 (en) * 2011-09-19 2013-03-21 Qualcomm Incorporated Optimizing resolve performance with tiling graphics architectures

Also Published As

Publication number Publication date
US20160321835A1 (en) 2016-11-03
JP6540949B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP5232358B2 (ja) アウトラインフォントのレンダリング
EP3748584B1 (en) Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
JP6342513B2 (ja) 高解像度表示バッファの効果的な構築方法
EP2973423B1 (en) System and method for display of a repeating texture stored in a texture atlas
US7742060B2 (en) Sampling methods suited for graphics hardware acceleration
TWI581209B (zh) 景深消隱方法、使用景深消隱的三維圖形處理方法及其裝置
US20160379335A1 (en) Graphics pipeline method and apparatus
JP2008511074A (ja) グラフィックスハードウェアにおける幾何学的画像の細分割
JP6333840B2 (ja) 最適化ポリゴンに基づいたシェルメッシュを形成する方法
US20180107271A1 (en) Method and apparatus for processing image
CN115147579B (zh) 一种扩展图块边界的分块渲染模式图形处理方法及系统
CN115330986B (zh) 一种分块渲染模式图形处理方法及系统
KR20110016938A (ko) 기하 셰이더를 사용하는 테셀레이션 엔진을 위한 시스템, 방법, 및 컴퓨터 프로그램 제품
US7027047B2 (en) 3D graphics rendering engine for processing an invisible fragment and a method therefor
WO2013021525A1 (ja) 画像処理装置、画像処理方法、プログラム、及び集積回路
US10388060B2 (en) System and method for multi-view rendering
JP6540949B2 (ja) 画像処理装置、画像処理方法および表示装置
US20230298212A1 (en) Locking mechanism for image classification
JP2018032301A (ja) 画像処理プロセッサにおける画像データ処理方法及びそのプログラム
JP4691494B2 (ja) 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
US10339704B2 (en) Image data processing method in image processor and computer readable medium storing program therefor for rendering a texture based on a triangulation pattern
US20210104088A1 (en) Method for efficient construction of high resolution display buffers
JP3872056B2 (ja) 描画方法
US20230298133A1 (en) Super resolution upscaling
JP5661134B2 (ja) 画像処理装置及び画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190528

R151 Written notification of patent or utility model registration

Ref document number: 6540949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151