説明

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

【課題】低い計算コストで複数のZ値を圧縮し、複数のZ値を示す圧縮データをZバッファに格納することができる画像処理装置を提供する。
【解決手段】画像処理装置は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、3次元空間のポリゴンを2次元平面の画像として描画する画像処理装置であって、ポリゴンを示すポリゴンデータから、ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成部1101と、奥行き方向に沿う予め定められた視線方向を示す視線データと、ポリゴンデータとを用いて、複数のZ値を圧縮するか否かを決定する決定部1102と、複数のZ値が圧縮される場合、複数のZ値から代表Z値を決定し、決定された代表Z値を複数の画素に関連づけてZバッファに格納する格納処理部1103とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、3次元空間のポリゴンを2次元平面の画像として描画する画像処理装置に関する。
【背景技術】
【0002】
3次元コンピュータグラフィックス処理の機能を有する画像処理装置は、一般的に、3次元空間の物体を構成する複数のポリゴンについて、ポリゴン単位で画像処理を実行する。これにより、画像処理装置は、物体を2次元平面に描画する。より詳細には、画像処理装置は、ポリゴンの描画領域における複数の画素について、画素単位で、画像処理を実行する。
【0003】
例えば、画像処理装置は、ポリゴンを示すポリゴンデータから、色値(色情報)およびZ値(深度値)を含む画素データを画素毎に生成する。ここで、Z値は、3次元空間における奥行き方向の位置を示す。また、Z値は、予め定められた視点からの距離とも表現される。そして、色値は、2次元平面に描画される色を示す。
【0004】
2次元平面への描画の際、複数のポリゴンが互いに重なる場合がある。この場合、画像処理装置は、先に生成されたZ値と、後に生成されたZ値とを比較するZテストを行うことによって、最終的なZ値および色値を算出する。画像処理装置は、Zテストを行うことによって、典型的には、より視点に近い画素データを選択するが、その他の基準で画素データを選択してもよい。そして、選択された画素データを基準に算出された色値が最終的に表示される。
【0005】
先に生成されたZ値は、通常、メモリまたはメモリ内の領域であるZバッファに格納される。そのため、画面に多数のポリゴンが描画される場合、Zバッファへのリード・ライトのアクセスが、頻繁に発生する。したがって、Zバッファへのアクセス時間は、描画性能に大きな影響を与える。
【0006】
また、近年、3次元コンピュータグラフィックスを用いるデジタル機器の高解像度化が進んでいる。これに伴い、座標変換および光源計算等の頂点毎の演算処理よりも、画素毎の演算処理および描画処理が、より描画性能に影響する傾向がある。画素毎の演算処理および描画処理は、カラーバッファおよびZバッファ等のバッファからの読み出し処理、および、バッファへの書き込み処理を伴う。したがって、Zバッファへの高速アクセス技術が重要視されている。
【0007】
Zバッファへ高速にアクセスする機構を有する画像処理装置として、特許文献1に記載の画像処理装置がある。この画像処理装置は、画面領域を8画素×8画素の複数の矩形領域に分割する。
【0008】
そして、画像処理装置は、1つの矩形領域内に存在するポリゴン毎に、代表画素のZ値である代表Z値と、代表画素のステンシル値である代表ステンシル値と、Z値のX方向の傾き値と、Z値のY方向の傾き値とで構成されるフラグメントをZバッファに格納する。Z値のX方向の傾き値と、Z値のY方向の傾き値とは、ポリゴン毎に決定される。さらに、画像処理装置は、フラグメントを指定するためのテーブル、および、代表画素からのX方向およびY方向の距離をZバッファに画素毎に格納する。
【0009】
そして、画像処理装置は、Zバッファから、画素毎に、代表画素からのX方向およびY方向の距離、フラグメントに含まれる代表Z値、代表ステンシル値、2つの傾き値に基づいて、Z値およびステンシル値を取得する。これにより、画像処理装置は、Zバッファへ高速にアクセスする。
【0010】
図19は、特許文献1に記載された従来の画像処理装置におけるZ値の格納形式を示す図である。図19に示された矩形領域は、画面領域を8画素×8画素の単位で分割することにより得られる領域である。矩形領域には、3つのポリゴンA、B、Cが描画される。
【0011】
図19の矩形領域内の「A」、「B」、「C」は、それぞれ、3つのポリゴンA、B、Cのいずれに属する画素であるかを表している。また、3つのフラグメントFA、FB、FCは、それぞれ、3つのポリゴンA、B、Cに対応する複数のZ値および複数の代表ステンシル値を導出するためのデータセットである。
【0012】
例えば、フラグメントFAは、ポリゴンAに対応するデータセットである。具体的には、フラグメントFAは、Z値のX方向の傾き値dzdxA、Z値のY方向の傾き値dzdyA、ポリゴンの代表画素のZ値である代表Z値zA、および、ポリゴンの代表画素のステンシル値である代表ステンシル値sAを含むデータセットである。同様に、フラグメントFB、FCは、それぞれ、ポリゴンB、Cに対応するデータセットである。
【0013】
インデックスデータ列は、矩形領域における画素毎のインデックスデータで構成されるシーケンスである。インデックスデータは、画素がどのフラグメントに対応するかを示すテーブルと、代表画素からのX方向およびY方向の距離値とで構成される。
【0014】
1つのZ値に24ビット、1つのステンシル値に8ビットが割り当てられた場合、8画素×8画素の矩形領域についての複数のZ値および複数のステンシル値のZバッファに占めるデータ量は、通常、8×8×32(ビット)=2048(ビット)である。しかし、特許文献1に記載された画像処理装置は、Zバッファに格納するデータ量を削減する。
【0015】
例えば、図19のように、3つのフラグメントFA、FB、FCが存在すると仮定する。また、各フラグメントについて、2つの傾き値にそれぞれ16ビットが割り当てられ、代表Z値および代表ステンシル値には、通常のZ値およびステンシル値のように、それぞれ、24ビットおよび8ビットが割り当てられると仮定する。また、インデックスデータについて、フラグメントを指し示すテーブルに4ビット、代表画素からのX方向およびY方向の距離値にそれぞれ8ビットが割り当てられると仮定する。
【0016】
この場合、インデックスデータ列には、8×8×(4+8+8)(ビット)=1280(ビット)が用いられる。また、3つのフラグメントデータには、3×64(ビット)=192(ビット)が用いられる。したがって、画像処理装置は、合計1472ビットのデータをZバッファに保存する。
【0017】
Zバッファからのデータ読み出し時には、例えば、ポリゴンAの画素であり座標値が(x1、y1)である画素のZ値z1は、以下の式1によって、算出される。
【0018】
z1=zA+dzdxA×(xA−x1)+dzdyA×(yA−y1)
・・・(式1)
【0019】
ここで、(xA、yA)は、代表画素の座標値を示す。すなわち、xA−x1は、代表画素からのX方向の距離値を示し、yA−y1は、代表画素からのY方向の距離値を示す。これらの情報は、インデックスデータに含まれる。2つの傾き値dzdxA、dzdyA、および、代表Z値zAは、インデックスデータにより指し示されるフラグメントFAに含まれる。したがって、画像処理装置は、フラグメントFAおよびインデックスデータから、Z値z1を算出することができる。
【0020】
特許文献1に係る画像処理装置は、この演算を行うことにより各画素のZ値を復元し、Zバッファへ高速にアクセスする。
【先行技術文献】
【特許文献】
【0021】
【特許文献1】特開2006−171906号公報
【発明の概要】
【発明が解決しようとする課題】
【0022】
しかしながら、特許文献1に係る画像処理装置は、Zバッファからデータを読み出す際、乗算を含む演算処理を実行する必要がある。そのため、追加の演算器が必要であり、かつ、Z値の復元時の計算コストが高いという、本質的な課題がある。
【0023】
さらに、従来の構成では、矩形領域内に存在するポリゴン数が1つ増えると、フラグメントデータが1つ増える。すなわち、ポリゴン数が1つ増えると、64ビットのデータ量の増加が発生するという課題がある。
【0024】
さらに、従来の構成では、高速にバッファへアクセスするため、フラグメントデータ内の傾き値に割り当てられるビット数には、制限がある。そのため、復元後のZ値と、元のZ値との間に演算誤差が発生する。結果として、Zテストの結果が、期待される結果とは異なる場合がある。そして、最終的に描画される色値も期待される値とは異なり、画質が劣化するという課題がある。
【0025】
そこで、本発明は、低い計算コストで複数のZ値を圧縮し、複数のZ値を示す圧縮データをZバッファに格納することができる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0026】
上記課題を解決するため、本発明に係る画像処理装置は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する画像処理装置であって、前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成部と、前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する第1決定部と、前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理部とを備える。
【0027】
これにより、画像処理装置は、視線データおよびポリゴンデータに基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。さらに、画像処理装置は、複数のZ値を圧縮する場合、複数のZ値を示す圧縮データとして1つの代表Z値のみを格納する。したがって、画像処理装置は、低い計算コストで複数のZ値を圧縮し、複数のZ値を示す圧縮データをZバッファに格納することができる。
【0028】
また、前記第1決定部は、前記視線データと前記ポリゴンデータとを用いて、前記視線方向と、前記ポリゴンの平面との成す角度に依存させて、前記複数のZ値を圧縮するか否かを決定してもよい。
【0029】
これにより、画像処理装置は、視線方向とポリゴン平面との成す角度に基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。したがって、画像処理装置は、複数のZ値を代表Z値に集約できるか否かを適切に判定することができる。
【0030】
また、前記第1決定部は、前記視線データと前記ポリゴンデータとを用いて、前記角度が略垂直であるか否かを判定し、前記角度が略垂直であると判定された場合、前記複数のZ値を圧縮すると決定してもよい。
【0031】
これにより、画像処理装置は、視線方向とポリゴン平面との成す角度が略垂直と認められる場合、複数のZ値を代表Z値に集約する。視線方向とポリゴン平面との成す角度が略垂直である場合、集約による画質への影響は小さい。したがって、画像処理装置は、画質への影響を抑制しつつ、複数のZ値を圧縮することができる。
【0032】
また、前記生成部は、さらに、前記ポリゴンデータから、前記複数の画素のそれぞれについて、前記ポリゴンに施される特殊効果であるステンシル操作により特定されるステンシル値を生成することにより、前記複数の画素に対応する複数のステンシル値を生成し、前記第1決定部は、前記視線データと、前記ポリゴンデータと、前記ステンシル操作を示すステンシル操作属性とを用いて、前記複数のZ値を圧縮するか否かを決定し、前記格納処理部は、前記複数のZ値が圧縮される場合、前記複数のZ値から前記代表Z値を決定し、前記複数のステンシル値から代表ステンシル値を決定し、前記代表Z値および前記代表ステンシル値を前記複数の画素に関連づけて前記Zバッファに格納してもよい。
【0033】
これにより、画像処理装置は、視線データ、ポリゴンデータおよびステンシル操作属性に基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。さらに、画像処理装置は、複数のZ値を1つの代表Z値に圧縮すると共に、複数のステンシル値を1つの代表ステンシル値に圧縮する。したがって、Zバッファにステンシル値が格納される場合でも、画像処理装置は、低い計算コストで複数のZ値および複数のステンシル値を圧縮し、複数のZ値および複数のステンシル値を示す圧縮データをZバッファに格納することができる。
【0034】
また、前記第1決定部は、前記視線データと前記ポリゴンデータと前記ステンシル操作属性とを用いて、(i)前記視線方向と、前記ポリゴンの平面との成す角度、および、(ii)前記ステンシル操作により前記複数のステンシル値が一致するか否かに依存させて、前記複数のZ値を圧縮するか否かを決定してもよい。
【0035】
これにより、画像処理装置は、視線方向とポリゴン平面との成す角度、および、複数のステンシル値に基づいて、適応的に、複数のZ値および複数のステンシル値を圧縮するか否かを決定する。したがって、画像処理装置は、複数のZ値および複数のステンシル値を代表Z値および代表ステンシル値に集約できるか否かを適切に判定することができる。
【0036】
また、前記第1決定部は、前記視線データと前記ポリゴンデータとを用いて、前記角度が略垂直であるか否かを判定し、前記ステンシル操作属性を用いて、前記ステンシル操作により前記複数のステンシル値が一致するか否かを判定し、前記角度が略垂直であると判定され、かつ、前記複数のステンシル値が一致すると判定された場合、前記複数のZ値を圧縮すると決定してもよい。
【0037】
これにより、画像処理装置は、視線方向とポリゴン平面との成す角度が略垂直と認められる場合、かつ、複数のステンシル値が一致する場合に、複数のZ値を代表Z値に集約し、複数のステンシル値を代表ステンシル値に集約する。このような場合、集約による画質への影響は小さい。したがって、画像処理装置は、画質への影響を抑制しつつ、複数のZ値を圧縮することができる。
【0038】
また、前記画像処理装置は、さらに、前記ポリゴンを描画するための描画命令に従って、前記複数のZ値を圧縮するか否かを決定する第2決定部を備えてもよい。
【0039】
これにより、画像処理装置は、複数のZ値を圧縮するか否かを、視線データおよびポリゴンデータに基づいて決定することに加えて、ポリゴンの描画命令に基づいて適応的に決定する。したがって、画像処理装置は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値を圧縮するか否かを適応的に決定することもできる。
【0040】
また、前記第2決定部は、前記描画命令により前記ポリゴンの平面が前記視線方向に対して垂直になる場合、前記複数のZ値を圧縮すると決定してもよい。
【0041】
これにより、画像処理装置は、ポリゴンの描画命令により視線方向とポリゴン平面との成す角度が垂直になる場合、複数のZ値を代表Z値に集約する。すなわち、この場合、画像処理装置は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値を圧縮することを決定できる。
【0042】
また、前記画像処理装置は、さらに、前記ポリゴンを描画するための描画命令に従って、前記複数のZ値を圧縮するか否かを決定する第2決定部を備え、前記第2決定部は、前記描画命令により前記ポリゴンの平面が前記視線方向に対して垂直になる場合、かつ、前記描画命令により前記複数のステンシル値が一致する場合、前記複数のZ値を圧縮すると決定してもよい。
【0043】
これにより、画像処理装置は、ポリゴンの描画命令により、視線方向とポリゴン平面との成す角度が垂直になり、複数のステンシル値が一致する場合、複数のZ値および複数のステンシル値を代表Z値および代表ステンシル値に集約する。すなわち、この場合、画像処理装置は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値および複数のステンシル値を圧縮することを決定できる。
【0044】
また、前記格納処理部は、前記複数のZ値が圧縮されない場合、前記複数のZ値を前記複数の画素に関連づけて前記Zバッファに格納してもよい。
【0045】
これにより、画像処理装置は、複数のZ値を圧縮しない場合、複数のZ値をそのままZバッファに格納する。したがって、画像処理装置は、圧縮による計算コストの増加を削減できる。
【0046】
また、前記画像処理装置は、さらに、前記Zバッファから、前記複数の画素に関連づけて格納された前記代表Z値を抽出し、前記代表Z値を前記代表Z値に関連づけられた前記複数の画素に割り当てる抽出処理部を備えてもよい。
【0047】
これにより、画像処理装置は、Zバッファに格納された圧縮データを複数のZ値に伸張できる。
【0048】
また、前記画像処理装置は、さらに、前記Zバッファから、前記複数の画素に関連づけて格納された前記代表Z値、または、前記複数の画素に関連づけて格納された前記複数のZ値を抽出し、前記代表Z値が抽出された場合、前記代表Z値を前記代表Z値に関連づけられた前記複数の画素に割り当て、前記複数のZ値が抽出された場合、前記複数のZ値を前記複数のZ値に関連づけられた前記複数の画素に割り当てる抽出処理部を備えてもよい。
【0049】
これにより、画像処理装置は、Zバッファに格納された複数のZ値、または、Zバッファに格納された代表Z値を適切に複数の画素に適用できる。
【0050】
また、前記格納処理部は、前記複数のZ値が圧縮される場合、前記ポリゴンを識別するためのポリゴンIDを前記複数の画素に関連づけて前記Zバッファに格納し、かつ、前記代表Z値を前記ポリゴンIDに関連づけて前記Zバッファに格納することにより、前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納してもよい。
【0051】
これにより、画像処理装置は、ポリゴンIDを用いて、複数の画素に代表Z値を適切に関連づけることができる。
【0052】
また、本発明に係る集積回路は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する集積回路であって、前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成部と、前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する決定部と、前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理部とを備える集積回路でもよい。
【0053】
これにより、本発明に係る画像処理装置が、集積回路として実現される。
【0054】
また、本発明に係る画像処理方法は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する画像処理方法であって、前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成ステップと、前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する決定ステップと、前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理ステップとを含む画像処理方法でもよい。
【0055】
これにより、本発明に係る画像処理装置が、画像処理方法として実現される。
【0056】
また、本発明に係る画像表示装置は、前記画像処理装置と、前記画像処理装置によって描画された前記画像を表示する表示部とを備える画像表示装置でもよい。
【0057】
これにより、画像表示装置は、本発明に係る画像処理装置によって描画された画像を表示することができる。
【発明の効果】
【0058】
本発明により、低い計算コストで複数のZ値が圧縮される。したがって、計算コストの低減と、データ量の削減との両方が達成される。
【図面の簡単な説明】
【0059】
【図1】図1は、実施の形態1に係る画像処理装置の構成図である。
【図2】図2は、実施の形態1に係る描画処理の概念図である。
【図3】図3は、実施の形態1に係る画像処理装置の動作を示すフローチャートである。
【図4】図4は、実施の形態1に係る視線ベクトルとポリゴンとの関係を示す概念図である。
【図5】図5は、実施の形態1に係る画像処理装置で描画される画像を示す図である。
【図6】図6は、実施の形態1に係る複数のポリゴンのXZ平面への投影図である。
【図7】図7は、実施の形態1に係る画像の矩形領域への分割を示す図である。
【図8】図8は、実施の形態1に係るZバッファへの格納形式を示す図である。
【図9】図9は、実施の形態1に係る格納形式の違いを示す図である。
【図10】図10は、実施の形態2に係るZバッファへの格納形式を示す図である。
【図11】図11は、実施の形態3に係る画像処理装置の構成図である。
【図12】図12は、実施の形態3に係る画像処理装置の動作を示すフローチャートである。
【図13】図13は、実施の形態4に係る画像処理装置の構成図である。
【図14】図14は、実施の形態4に係る画像処理装置の動作を示すフローチャートである。
【図15】図15は、実施の形態5に係る画像処理装置の構成図である。
【図16】図16は、実施の形態5に係る画像処理装置の動作を示すフローチャートである。
【図17】図17は、実施の形態6に係る集積回路の構成図である。
【図18】図18は、実施の形態7に係るテレビジョン受像機の構成図である。
【図19】図19は、従来技術に係るZバッファへの格納形式を示す図である。
【発明を実施するための形態】
【0060】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示す。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置および接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。本発明は、特許請求の範囲だけによって限定される。よって、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、本発明の課題を達成するのに必ずしも必要ではないが、より好ましい形態を構成するものとして説明される。
【0061】
また、以下の記載では、Z値は、小さいほど、より手前を示し、大きいほど、より奥を示す。しかし、Z値が、小さいほど、より奥を示し、大きいほど、より手前を示す場合でも、本質は変わらない。
【0062】
また、以下の記載における垂直には、ほぼ垂直(略垂直)が含まれる。ほぼ垂直とは、90度に近い角度である。例えば、90度を含む所定の範囲内の角度は、ほぼ垂直である。また、例えば、判定対象の角度を示す指標値の下位数ビットの切り捨てにより得られる新たな指標値が90度を示す場合、判定対象の角度は、ほぼ垂直である。
【0063】
(実施の形態1)
実施の形態1では、1つのZ値は、32ビットのデータで構成される。なお、32ビットのデータは、例であって、1つのZ値は、32ビットよりも大きいビット数のデータで構成されてもよいし、32ビットよりも小さいビット数のデータで構成されてもよい。
【0064】
図1は、本実施の形態に係る画像処理装置の構成図である。図1に示された画像処理装置110は、主として、画像生成部101、Zバッファ制御部102およびカラーバッファ制御部103で構成される。図1には、画像処理装置110の他に、メモリ108および表示部109が示されている。
【0065】
メモリ108は、データおよび情報を記憶するための記憶装置である。メモリ108は、Z値を記憶するためのZバッファ、および、色値を記憶するためのカラーバッファを含む。表示部109は、画像処理装置110によって描画された画像(ピクチャ)を表示する表示装置である。メモリ108および表示部109は、画像処理装置110に含まれていてもよい。
【0066】
画像処理装置110の画像生成部101は、ポリゴンデータからポリゴンのZ値および色値を画素毎に生成する。画像処理装置110のZバッファ制御部102は、生成されたZ値をメモリ108内のZバッファに格納する。画像処理装置110のカラーバッファ制御部103は、生成された色値をメモリ108内のカラーバッファに格納する。
【0067】
Zバッファ制御部102は、テスト部104、キャッシュメモリ105、Zバッファエンコーダ106およびZバッファデコーダ107を備える。テスト部104は、先に生成されたZ値と、後に生成されたZ値とを比較するZテストを実行する。
【0068】
キャッシュメモリ105は、画素毎にZ値および色値を記憶するためのメモリである。キャッシュメモリ105は、Zバッファ制御部102の内部に実装されてもよいし、外部に実装されてもよい。本実施の形態では、Zバッファ制御部102とカラーバッファ制御部103とは、キャッシュメモリ105を共用する。
【0069】
Zバッファエンコーダ106は、キャッシュメモリ105に記憶されているZ値をメモリ108のZバッファに格納する。この時、Zバッファエンコーダ106は、必要に応じて、複数のZ値を圧縮する。逆に、Zバッファデコーダ107は、Zバッファに格納されたZ値をキャッシュメモリ105に格納する。この時、Zバッファデコーダ107は、必要に応じて、1つのZ値を複数のZ値に伸張する。
【0070】
上述の構成を備える画像処理装置110は、3次元空間に含まれる複数のポリゴンを2次元平面の画像として描画する。画像処理装置110は、描画処理において生成されたZ値および色値をメモリ108に格納する。この時、画像処理装置110は、ポリゴン毎に、画像処理を実行する。
【0071】
より具体的には、画像処理装置110は、処理対象ポリゴンの描画領域における画素のZ値に基づいて、メモリ108のZ値および色値を更新する。ここで、処理対象のZ値がメモリ108に格納されているZ値よりも小さい場合、画像処理装置110はメモリ108のZ値および色値を更新する。一方、処理対象のZ値がメモリ108に格納されているZ値以上である場合、画像処理装置110はメモリ108のZ値および色値を更新しない。
【0072】
そして、最終的にメモリ108に格納されている色値を基準に算出された色が表示部109に表示される。これにより、より手前のポリゴンが表示される。
【0073】
なお、ここでは、典型的な例として、より手前のポリゴンが表示される例が示されている。しかし、別の基準で、Z値および色値が更新されてもよい。例えば、より奥のポリゴンが表示されてもよい。この場合、処理対象のZ値がメモリ108に格納されているZ値よりも大きい場合、画像処理装置110はメモリ108のZ値および色値を更新する。
【0074】
また、画像処理装置110は、最終的にメモリ108に格納されている色値によって示される色をそのまま表示部109に表示してもよいし、格納されている色値から様々な計算によって得られる色を表示部109に表示してもよい。例えば、画像処理装置110は、処理対象画素の色値と、その周辺画素の色値とを重み付け計算により混ぜ合わせて得られる色を表示部109に表示してもよい。また、画像処理装置110は、処理対象画素の色と、過去に表示された色とを混ぜ合わせて得られる色を表示してもよい。
【0075】
図2は、図1に示された画像処理装置110における描画処理の概念図である。図2の例では、画像処理装置110は、予め定められた視点201、および、予め定められた視線方向(視線ベクトル)202に基づいて、3次元空間203における3つのポリゴン211、212、213を2次元平面の画像として描画する。
【0076】
この時、画像処理装置110は、3つのポリゴン211、212、213について、順に画像処理を実行する。なお、処理順序は、Z値とは無関係である。
【0077】
そして、手前のポリゴンが表示される典型例において、視点201に近いポリゴン211のZ値および色値は、他の2つのポリゴン212、213よりも優先して、Zバッファおよびカラーバッファに維持される必要がある。そのため、画像処理装置110は、Zテストにより、維持すべきZ値および色値を決定する。なお、Zテストは、画素毎に実行される。
【0078】
図2では、ポリゴンの数が3であったが、ポリゴンの数が多ければ多いほど、比較の回数も多くなり、Zバッファへのアクセス頻度も大きくなる。また、Zテストが画素毎に実行されるため、ポリゴンの描画領域が大きければ大きいほど、比較の回数も多くなり、Zバッファへのアクセス頻度も大きくなる。
【0079】
なお、視線方向202は、奥行き方向の位置を示すZ値が大きくなる方向に沿う方向である。すなわち、視線方向202は、奥行き方向に沿う。
【0080】
図3は、図1に示された画像処理装置110の動作を示すフローチャートである。図3に示されたステップS301〜S306は、画像生成部101で実行される。ステップS307〜S310は、Zバッファ制御部102で実行される。以下、ポリゴンデータの入力から画像を生成し表示するまでの処理について、図1および図3等を用いて説明する。
【0081】
まず、画像生成部101に視線データとポリゴンデータが入力される。これにより、画像生成部101は、視線データとポリゴンデータを取得する(S301)。ポリゴンデータは、ポリゴンについての3つの頂点の位置および属性データで構成される。視線データは、視点と視線ベクトル(視線方向)で構成される。画像生成部101は、ポリゴンデータに対し、モデリング変換および視点座標変換を実行する。これにより、画像生成部101は、ポリゴンの視点座標データを生成する。
【0082】
次に、画像生成部101は、ポリゴン毎に、一意の識別子として、ポリゴンIDを付与する(S302)。ポリゴンIDは、識別された順に付番される番号のような、ポリゴン番号でもよい。そして、画像生成部101は、ポリゴン平面と視線ベクトルVとの成す角度θがほぼ垂直であるか否かを判定する(S303)。この判定処理について、以下に図面を用いて説明する。
【0083】
図4は、本実施の形態に係る視線ベクトルとポリゴンとの関係を示す概念図である。図4には、ポリゴンPと視線ベクトルVが示されている。ポリゴンPは、3つの頂点V0、V1、V2で構成される。画像生成部101は、式2および式3により、2つの頂点ベクトルV01、V12を取得する。
【0084】
【数1】

【0085】
【数2】

【0086】
次に、画像生成部101は、得られた頂点ベクトルV01、V12を用いて、式4および式5により、2つの内積値N1、N2を計算する。
【0087】
【数3】

【0088】
【数4】

【0089】
ここで、「・」はベクトルの内積記号を示す。画像生成部101は、2つの内積値N1、N2を計算する前に、視線ベクトルV、および、2つの頂点ベクトルV01、V12を正規化してもよい。そして、得られた2つの内積値N1、N2が共にほぼ0に等しい場合、すなわち、式6の条件を満たす場合、画像生成部101は、視線ベクトルVとポリゴン平面との成す角度θはほぼ垂直であると判定する。
【0090】
−ε<N1<ε かつ −ε<N2<ε ・・・(式6)
【0091】
ここで、εは、予め与えられた微小値である。画像生成部101は、内積値N1、N2の下位の数ビットを切り捨てることにより得られる値が0になる場合、視線ベクトルVとポリゴン平面との成す角度θがほぼ垂直であると判定してもよい。また、画像生成部101は、切り捨てに限らず、四捨五入または切り上げ等を実行してもよい。また、画像生成部101は、内積値N1、N2に定数νを足した後に下位の数ビットを切り捨てることにより、下位の数ビットを四捨五入してもよい。
【0092】
視線ベクトルVとポリゴン平面との成す角度θがほぼ垂直である場合(S303でYes)、画像生成部101は、ポリゴン圧縮フラグを1に設定する(S304)。視線ベクトルVとポリゴン平面との成す角度θがほぼ垂直でない場合(S303でNo)、画像生成部101は、ポリゴン圧縮フラグを0に設定する(S305)。この判定処理について、図面を用いて、以下に、より具体的な例を示す。
【0093】
図5は、図1に示された画像処理装置110で描画される画像を示す図である。例えば、図5の画像501を描画するためのポリゴンデータが、画像生成部101に入力される。写真オブジェクト502、ユーザーインターフェースオブジェクト503等は、それぞれが複数のポリゴンによって構成されている。
【0094】
例えば、写真オブジェクト502は、複数のポリゴンで構成される平面状の形態である。そして、その平面に写真を表現するためのテクスチャ効果が施される。典型的には、1つのポリゴンは微小な平面状の三角形である。画像生成部101は、これらのポリゴンを示すポリゴンデータを視点座標データに変換する。
【0095】
図6は、図5のように描画される複数のポリゴンのXZ平面への投影図である。図6の投影図は、視点座標系の3次元空間における複数のポリゴンをXZ平面へ投影することにより得られる。図6には、X軸およびZ軸の他に、複数の線分(オブジェクト像)が示されている。これらの線分は、図5に示されたオブジェクトに対応する。
【0096】
図5の写真オブジェクト502を構成する複数のポリゴンの投影結果がオブジェクト像602である。また、図5のユーザーインターフェースオブジェクト503を構成する複数のポリゴンの投影結果がオブジェクト像603である。
【0097】
図3のステップS303において、画像生成部101は、オブジェクト像602に属する複数のポリゴンの平面が、Z軸に相当する視線ベクトルに対して、ほぼ垂直であると判定する。そして、画像生成部101は、これらのポリゴン圧縮フラグを1に設定する(S304)。一方、画像生成部101は、オブジェクト像603に属する複数のポリゴンについての複数のポリゴン圧縮フラグを0に設定する(S305)。
【0098】
次に、画像生成部101は、ポリゴンの描画領域における画素値を生成する(S306)。すなわち、ポリゴンの描画領域における複数の画素のそれぞれについて、Z値および色値を生成する。
【0099】
次に、Zバッファ制御部102の処理について説明する。まず、図7を用いて、Zバッファ制御部102の処理の例を示す。
【0100】
図7は、図5に示された画像501の矩形領域への分割を示す図である。図7に示された画像701は、図5の画像501に対応する画像であって、8画素×8画素の矩形領域に分割されている。Zバッファ制御部102は、矩形領域毎に、Zバッファへの格納、および、Zバッファからの抽出を実行する。また、図7には、矩形領域702、703が、それぞれ、拡大され、矩形領域704、705として示されている。
【0101】
図7のそれぞれのオブジェクトは、複数のポリゴンによって構成されている。例えば、矩形領域705には、写真オブジェクト502を構成する複数のポリゴンが示されている。
【0102】
Zバッファ制御部102のテスト部104は、画像生成部101によって生成されたZ値についてZテストを実行する。そして、テスト部104は、最終的にZ値をZバッファに書き込むかどうかを決定する。画像生成部101は、Zテストの結果をカラーバッファ制御部103に通知する。カラーバッファ制御部103は、メモリ108上のカラーバッファに色値を書き込むかどうかを決定する。最終的に、表示部109が、メモリ108上のカラーバッファに保存された色値を基準にして算出される色を画面に表示する。
【0103】
上述の処理を図3のフローに沿って、以下に説明する。Zバッファ制御部102は、画像701の領域を8画素×8画素の矩形領域に分割する(S307)。そして、Zバッファ制御部102は、この矩形領域単位で複数のZ値をキャッシュメモリ105に格納する。また、Zバッファ制御部102は、Zバッファエンコーダ106を経由して、キャッシュメモリ105の複数のZ値をメモリ108上のZバッファに書き込む。
【0104】
また、Zバッファ制御部102は、メモリ108上のZバッファから、Zバッファデコーダ107を経由して、複数のZ値を読み込む。そして、Zバッファ制御部102は、読み込まれた複数のZ値をキャッシュメモリ105に保存する。また、Zバッファ制御部102は、Zバッファエンコーダ106またはZバッファデコーダ107を経由せずに、ダイレクトに、Zバッファへの書き込み、および、Zバッファからの読み込みを実行してもよい。
【0105】
Zバッファ制御部102は、Z値をメモリ108上のZバッファへ書き込む際、まず、画像生成部101でポリゴン単位に生成されたポリゴン圧縮フラグを参照する(S308)。ポリゴン圧縮フラグが1の場合(S308でYes)、Zバッファエンコーダ106は、代表Z値と、ポリゴンIDとをZバッファに保存する(S309)。そして、ポリゴン圧縮フラグが0の場合(S308でNo)、Zバッファエンコーダ106は、32ビットのZ値をそのままZバッファに保存する(S310)。
【0106】
図8は、本実施の形態に係るZバッファへの格納形式を示す図である。例えば、Zバッファエンコーダ106は、図8に示された8画素×8画素の矩形領域に描画される3つのポリゴンA、B、Cの複数のZ値について、順に格納処理を実行する。この時、Zバッファエンコーダ106は、ポリゴンAの複数の画素のうち、最初に処理される画素のZ値を代表Z値zAと決定する。そして、Zバッファエンコーダ106は、その代表Z値zAの32ビットデータをZバッファに保存する。また、Zバッファエンコーダ106は、ポリゴンAの複数の画素に関連づけて、ポリゴンID(A)をZバッファに保存する。
【0107】
Zバッファエンコーダ106は、同様に、ポリゴンB、Cもそれぞれ1つの代表Z値zB、zCをZバッファに保存する。また、ポリゴンB、Cの複数の画素に関連づけてポリゴンID(B、C)をZバッファに保存する。
【0108】
Zバッファ制御部102は、Zバッファデコーダ107を経由してメモリ108上のZバッファからZ値を読み込む際、画素毎に保存されたポリゴンIDを参照する。そして、Zバッファ制御部102は、ポリゴンIDに対応する代表Z値を各画素のZ値としてキャッシュメモリ105に保存する。
【0109】
上述の構成によれば、画像生成部101が、ポリゴンを構成するポリゴンデータから、ポリゴンを識別するポリゴンIDと、各画素の色値とZ値とを生成する。また、画像生成部101が、視線データとポリゴンデータとから、ポリゴン圧縮フラグを生成する。
【0110】
Zバッファ制御部102は、画面領域を矩形単位に分割することにより、ブロック領域を定義する。Zバッファ制御部102は、ブロック領域に含まれるポリゴンのポリゴンIDとポリゴン圧縮フラグとを取得する。Zバッファ制御部102は、ブロック領域に含まれ、かつ、ポリゴンの描画領域に含まれる複数の画素に対応する複数のZ値から、1つの代表Z値を決定する。そして、Zバッファ制御部102は、代表Z値をZバッファに格納し、また、複数の画素に関連づけてポリゴンIDをZバッファに格納する。
【0111】
これにより、画像処理装置110は、Zバッファに書き込むデータ量およびZバッファから読み出すデータ量を削減することができる。また、Zバッファ制御部102に乗算処理を実行するための追加の演算器が無くても、画像処理装置110は、Zバッファへ高速にアクセスすることができる。
【0112】
具体的に、ポリゴンIDに4ビットが割り当てられると仮定する。この場合、8画素×8画素の矩形領域における複数の画素に対応する複数のポリゴンIDのデータ量は、8×8×4(ビット)=256(ビット)である。3つの代表Z値のデータ量は、3×32(ビット)=96(ビット)である。データ量の合計は、352ビットである。
【0113】
したがって、画像処理装置110は、高い圧縮率を実現することができる。また、矩形領域内に存在するポリゴン数が1つ増えた場合も、画像処理装置110は、データ量の増加を32ビットに抑制できる。
【0114】
また、画像生成部101は、ポリゴン圧縮フラグを決定するための演算について、座標計算を行うための演算器を利用することができる。そのため、画像処理装置110は、描画性能への影響の大きいZ値の計算コストの増加を抑制しつつ、Z値を高い圧縮率でZバッファに保存することができる。
【0115】
さらに、Zバッファ制御部102は、Zバッファから読み出して伸張することにより得られるZ値と、Zバッファへ書き込む前のZ値、すなわち、圧縮前のZ値との間で、演算誤差のないロスレスな圧縮制御を実行する。そのため、画像処理装置110は、画像の品質を劣化させずに、Zバッファへ高速にアクセスできる。
【0116】
図9は、視線方向とポリゴンの平面との成す角度がほぼ垂直であるか否かによって異なる2つの格納形式の違いを示す図である。図9に示された矩形領域は、複数の画素を含み、また、ポリゴンの描画領域を含む。ポリゴンの描画領域には、複数の画素a〜lがある。
【0117】
視線方向とポリゴンの平面との成す角度がほぼ垂直である場合、Zバッファ制御部102は、複数の画素a〜lに関連づけて代表Z値をZバッファに格納する。視線方向とポリゴンの平面との成す角度がほぼ垂直でない場合、Zバッファ制御部102は、複数の画素a〜lに関連づけて複数のZ値をZバッファに格納する。すなわち、Zバッファ制御部102は、複数の画素a〜lのそれぞれについて、画素に対応するZ値をそのままZバッファに格納する。これにより、傾き値に基づく計算、および、傾き値のデータ量を省略できる。
【0118】
なお、本実施の形態において、画像生成部101は、ポリゴンを構成する2つの頂点ベクトルと、視線ベクトルとの内積を用いて、ポリゴン圧縮フラグを設定する。しかし、画像生成部101は、ポリゴンの裏面から表面への面法線Nを求め、面法線Nの逆向きのベクトルと、視線ベクトルVの一致度を用いて、ポリゴン圧縮フラグを設定してもよい。
【0119】
また、ポリゴン圧縮フラグが0の場合、Zバッファ制御部102は、32ビットのZ値をそのままZバッファに保存したが、PNG、JPEG、ランレングス・ハフマン符号化など、別の圧縮アルゴリズムを用いて圧縮されたZ値を保存しても良い。
【0120】
また、本実施の形態では、視線方向とポリゴン平面とが、ほぼ垂直である場合、複数のZ値が圧縮されている。このような場合以外にも、視線方向とポリゴン平面との関係によっては、画質に影響がない場合がある。例えば、視線方向とポリゴン平面との関係によっては、ポリゴンの描画領域が極端に小さくなる場合がある。このような場合に、ポリゴンの複数のZ値が圧縮されてもよい。
【0121】
(実施の形態2)
実施の形態2に係る画像処理装置は、図1に示された実施の形態1と同じ構成を持つ。したがって、以下では、実施の形態1で示された符号を用いて、説明する。
【0122】
本実施の形態では、1つの画素に対応する1つのZ値が24ビットで構成される。そして、1つの画素に対応する1つのステンシル値が8ビットで構成される。すなわち、Z値およびステンシル値は、合計32ビットのデータで構成される。
【0123】
また、本実施の形態において、Zバッファ制御部102は、画像701の領域を8画素×8画素の矩形領域に分割する。Zバッファ制御部102は、この矩形領域のZ値およびステンシル値をキャッシュメモリ105に保持する。そして、Zバッファ制御部102は、Zバッファエンコーダ106を経由して、キャッシュメモリ105のZ値およびステンシル値をメモリ108上のZバッファに書き込む。
【0124】
また、Zバッファ制御部102は、メモリ108上のZバッファからZバッファデコーダ107を経由して、Z値およびステンシル値を読み込む。Zバッファ制御部102は、読み込んだZ値およびステンシル値をキャッシュメモリ105に保存する。また、Zバッファ制御部102は、ダイレクトにメモリ108上のZバッファに対する書き込みおよび読み込みも可能である。
【0125】
なお、ステンシルまたはステンシル操作とは、ポリゴンに施される特殊効果を意味する。例えば、ポリゴンに施される影、型抜きおよびグラデーションは、ステンシルの例である。画素に対応するステンシル値は、ポリゴンへのステンシル操作により特定される。ステンシル操作とは、ポリゴンにステンシルを施す操作を意味する場合もある。以下、本実施の形態に係る画像処理装置110の処理について、図1を用いて説明する。
【0126】
まず、画像生成部101は、実施の形態1と同様に、ポリゴンの視点座標データを生成する。そして、画像生成部101は、ポリゴン毎にポリゴンIDを付与する。画像生成部101は、ポリゴンの3つの頂点と、視線ベクトルVとを用いて、視線ベクトルVとポリゴン平面との成す角度を判定する。そして、画像生成部101は、ポリゴン圧縮フラグに1または0を設定する。
【0127】
ただし、ポリゴンデータが、視線に垂直なポリゴンを描画するための描画命令によって生成され、画像生成部101に入力される場合がある。例えば、視線に垂直なポリゴンを描画するための描画命令として、2次元矩形描画命令、または、パーティクルポリゴン生成命令(例えば、OpenGLES規格のglPointSprite命令)などがある。このような場合、画像生成部101は、視線ベクトルVとポリゴン平面の成す角度の計算を行わずに、ポリゴン圧縮フラグを1に設定する。
【0128】
なお、画像生成部101は、視線に垂直なポリゴンを描画するための描画命令以外の描画命令に従って、ポリゴン圧縮フラグを1に設定してもよい。例えば、画像生成部101は、描画命令に従って描画されるポリゴンの描画領域が極端に小さい場合、ポリゴン圧縮フラグを1に設定してもよい。ポリゴンの描画領域が極端に小さいか否かの判断には、予め定められた閾値が用いられてもよい。
【0129】
次に、画像生成部101は、ポリゴンに施されたステンシル操作を示すステンシル操作属性を参照する。ポリゴンに対しステンシル操作が全く行われない場合、または、ポリゴンの各画素のステンシル値が同一になるようなステンシル操作のみが行われる場合、画像生成部101は、ポリゴン圧縮フラグの値を変更しない。上記以外の場合には、画像生成部101は、ポリゴン圧縮フラグを0に設定する。すなわち、画像生成部101は、複数のステンシル値が一致しない場合、ポリゴン圧縮フラグを0に戻す。
【0130】
次に、Zバッファ制御部102は、Z値およびステンシル値をメモリ108上のZバッファへ書き込む際、まず、画像生成部101で生成された画素値とポリゴン圧縮フラグを参照する。ポリゴン圧縮フラグが1である場合、Zバッファ制御部102は、ポリゴンを構成する複数の画素値とポリゴンIDとをZバッファエンコーダ106に通知する。ポリゴン圧縮フラグが0である場合、Zバッファ制御部102は、Z値およびステンシル値で構成される合計32ビットのデータをそのままZバッファに保存する。
【0131】
図10は、本実施の形態に係るZバッファへの格納形式を示す図である。例えば、Zバッファエンコーダ106は、図10に示す様に、8画素×8画素の矩形領域に描画される3つのポリゴンA、B、Cの複数のZ値および複数のステンシル値を順に処理する。
【0132】
Zバッファエンコーダ106は、ポリゴンAを構成する複数の画素のうち最初に処理する画素のZ値およびステンシル値を代表値に決定する。Zバッファエンコーダ106は、その代表値の32ビットデータ(代表Z値zA、代表ステンシル値sA)をZバッファに保存する。Zバッファエンコーダ106は、ポリゴンAを構成する複数の画素に関連づけてポリゴンID(A)をZバッファに保存する。
【0133】
同様に、ポリゴンBについて、Zバッファエンコーダ106は、代表Z値zBおよび代表ステンシル値sBをZバッファに保存し、ポリゴンBを構成する複数の画素に関連づけてポリゴンIDをZバッファに保存する。同様に、ポリゴンCについて、代表Z値zCおよび代表ステンシル値sCを保存し、ポリゴンCを構成する複数の画素に関連づけてポリゴンID(C)をZバッファに保存する。
【0134】
また、Zバッファ制御部102は、Zバッファデコーダ107を経由してメモリ108上のZバッファからZ値およびステンシル値を読み込む。この時、Zバッファ制御部102は、複数の画素に関連づけて保存されたポリゴンIDを参照する。そして、Zバッファ制御部102は、ポリゴンIDに対応する代表値を、ポリゴンIDに関連づけられた複数の画素のZ値および複数のステンシル値として、キャッシュメモリ105に保存する。
【0135】
上記の通り、画像生成部101は、ポリゴンを構成するポリゴンデータから、ポリゴンを識別するためのポリゴンIDを生成する。また、画像生成部101は、ポリゴンの描画領域の画素の色値とZ値とステンシル値とを生成する。そして、画像生成部101は、視線とポリゴンデータとポリゴンに施されるステンシル操作属性とから、ポリゴン圧縮フラグを生成する。
【0136】
Zバッファ制御部102は、描画領域を矩形単位に分割したブロック領域を定義する。また、Zバッファ制御部102は、ブロック領域に含まれるポリゴンのポリゴンIDとポリゴン圧縮フラグを識別する。
【0137】
そして、Zバッファ制御部102は、ブロック領域に含まれるポリゴンの複数の画素に対応する複数のZ値および複数のステンシル値から、1つの代表Z値および1つの代表ステンシル値を決定する。そして、Zバッファ制御部102は、代表Z値および代表ステンシル値をZバッファに格納する。また、Zバッファ制御部102は、ポリゴンの複数の画素に関連づけてポリゴンIDをZバッファに格納する。
【0138】
これにより、Z値と共にステンシル値がZバッファに書き込まれる場合でも、画像処理装置110は、Zバッファに書き込まれるZ値とステンシル値とのデータ量、および、Zバッファから読み出されるZ値とステンシル値とのデータ量を削減できる。そして、画像処理装置110は、Zバッファ制御部102に追加の演算器がなくても、Zバッファへ高速にアクセスできる。そのため、画像処理装置110は、大画面上に、ブラウザ、写真ビューワおよびマルチウィンドウなど、視線に垂直な画像を大量に表示するようなシステムで、特に効果を発揮する。
【0139】
本実施の形態では、実施の形態1と同様に、ポリゴンIDに4ビット割り当てた場合、8画素×8画素の矩形領域における複数の画素に対応するデータ量は、8×8×4(ビット)=256(ビット)である。3つの代表Z値および3つの代表ステンシル値のデータ量は、3×32(ビット)=96(ビット)である。合計のデータ量は、352ビットである。すなわち、本実施の形態に係る画像処理装置110は、高い圧縮率を実現できる。
【0140】
また、画像生成部101は、視線に垂直なポリゴンを描画するための描画命令によって生成されたポリゴンについて、演算を実行することなくポリゴン圧縮フラグを1に設定する。これにより、画像処理装置110は、Zバッファへのさらなる高速アクセスが可能となる。
【0141】
なお、実施の形態1および実施の形態2における画像生成部101、Zバッファ制御部102およびカラーバッファ制御部103等の機能部は、典型的には集積回路であるLSI(Large Scale Integration)として実現される。これらは個別に1チップ化されても良いし、一部または全てを含むように1チップ化されてもよい。ここではLSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
【0142】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
【0143】
(実施の形態3)
実施の形態3に係る画像処理装置は、実施の形態1で示された画像処理装置110の主要な構成要素を備える。
【0144】
図11は、本実施の形態に係る画像処理装置の構成図である。図11に示された画像処理装置1100は、Zバッファ1110を用いて、3次元空間のポリゴンを2次元平面の画像として描画する。Zバッファ1110は、3次元空間における奥行き方向の位置を示すZ値を記憶するためのバッファである。また、画像処理装置1100は、生成部1101、決定部1102および格納処理部1103を備える。
【0145】
図12は、図11に示された本実施の形態に係る画像処理装置1100の動作を示すフローチャートである。
【0146】
まず、生成部1101は、ポリゴンデータから、ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する(S1201)。ポリゴンデータは、ポリゴンを示すデータである。
【0147】
次に、決定部1102は、視線データと、ポリゴンデータとを用いて、複数のZ値を圧縮するか否かを決定する(S1202)。視線データは、奥行き方向に沿う予め定められた視線方向を示す。
【0148】
次に、格納処理部1103は、複数のZ値が圧縮される場合、複数のZ値から代表Z値を決定する。そして、格納処理部1103は、決定された代表Z値を複数の画素に関連づけてZバッファ1110に格納する(S1203)。
【0149】
これにより、画像処理装置1100は、視線データおよびポリゴンデータに基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。さらに、画像処理装置1100は、複数のZ値を圧縮する場合、複数のZ値を示す圧縮データとして1つの代表Z値のみを格納する。したがって、画像処理装置1100は、低い計算コストで複数のZ値を圧縮し、複数のZ値を示す圧縮データをZバッファ1110に格納することができる。
【0150】
なお、本実施の形態の生成部1101および決定部1102は、実施の形態1の画像生成部101に対応する。したがって、生成部1101および決定部1102は、実施の形態1の画像生成部101で実行される処理を実行してもよい。また、本実施の形態の格納処理部1103は、実施の形態1のZバッファ制御部102に対応する。したがって、格納処理部1103は、実施の形態1のZバッファ制御部102で実行される処理を実行してもよい。
【0151】
また、決定部1102は、視線データとポリゴンデータとを用いて、視線方向と、ポリゴンの平面との成す角度に依存させて、複数のZ値を圧縮するか否かを決定してもよい。
【0152】
これにより、画像処理装置1100は、視線方向とポリゴン平面との成す角度に基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。したがって、画像処理装置1100は、複数のZ値を代表Z値に集約できるか否かを適切に判定することができる。
【0153】
また、決定部1102は、視線データとポリゴンデータとを用いて、角度が略垂直であるか否かを判定してもよい。そして、決定部1102は、角度が略垂直であると判定された場合、複数のZ値を圧縮すると決定してもよい。
【0154】
これにより、画像処理装置1100は、視線方向とポリゴン平面との成す角度が略垂直と認められる場合、複数のZ値を代表Z値に集約する。視線方向とポリゴン平面との成す角度が略垂直である場合、集約による画質への影響は小さい。したがって、画像処理装置1100は、画質への影響を抑制しつつ、複数のZ値を圧縮することができる。
【0155】
また、生成部1101は、さらに、ポリゴンデータから、複数の画素のそれぞれについて、ステンシル値を生成してもよい。これにより、生成部1101は、複数の画素に対応する複数のステンシル値を生成する。ここで、ステンシル値は、ステンシル操作により特定される値である。また、ステンシル操作は、ポリゴンに施される特殊効果である。
【0156】
そして、決定部1102は、視線データと、ポリゴンデータと、ステンシル操作属性とを用いて、複数のZ値を圧縮するか否かを決定してもよい。ここで、ステンシル操作属性は、ステンシル操作を示す。
【0157】
そして、複数のZ値が圧縮される場合、格納処理部1103は、複数のZ値から代表Z値を決定してもよい。そして、この場合、格納処理部1103は、複数のステンシル値から代表ステンシル値を決定してもよい。そして、格納処理部1103は、代表Z値および代表ステンシル値を複数の画素に関連づけてZバッファ1110に格納してもよい。
【0158】
これにより、画像処理装置1100は、視線データ、ポリゴンデータおよびステンシル操作属性に基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。さらに、画像処理装置1100は、複数のZ値を1つの代表Z値に圧縮すると共に、複数のステンシル値を1つの代表ステンシル値に圧縮する。
【0159】
したがって、Zバッファ1110にステンシル値が格納される場合でも、画像処理装置1100は、低い計算コストで複数のZ値および複数のステンシル値を圧縮し、複数のZ値および複数のステンシル値を示す圧縮データをZバッファ1110に格納することができる。
【0160】
また、決定部1102は、(i)視線方向と、ポリゴンの平面との成す角度、および、(ii)ステンシル操作により複数のステンシル値が一致するか否かに依存させて、複数のZ値を圧縮するか否かを決定してもよい。
【0161】
これにより、画像処理装置1100は、視線方向とポリゴン平面との成す角度、および、複数のステンシル値に基づいて、適応的に、複数のZ値および複数のステンシル値を圧縮するか否かを決定することができる。したがって、画像処理装置1100は、複数のZ値および複数のステンシル値を代表Z値および代表ステンシル値に集約できるか否かを適切に判定することができる。
【0162】
また、決定部1102は、視線データとポリゴンデータとを用いて、角度が略垂直であるか否かを判定し、さらに、ステンシル操作属性を用いて、ステンシル操作により複数のステンシル値が一致するか否かを判定してもよい。そして、決定部1102は、角度が略垂直であると判定され、かつ、複数のステンシル値が一致すると判定された場合、複数のZ値を圧縮すると決定してもよい。
【0163】
これにより、画像処理装置1100は、視線方向とポリゴン平面との成す角度が略垂直と認められる場合、かつ、複数のステンシル値が一致する場合に、複数のZ値を代表Z値に集約し、複数のステンシル値を代表ステンシル値に集約する。このような場合、集約による画質への影響は小さい。したがって、画像処理装置1100は、画質への影響を抑制しつつ、複数のZ値を圧縮することができる。
【0164】
また、格納処理部1103は、複数のZ値が圧縮されない場合、複数のZ値を複数の画素に関連づけてZバッファ1110に格納してもよい。すなわち、格納処理部1103は、複数のZ値が圧縮されない場合、複数のZ値のそれぞれを対応する画素に関連づけてZバッファ1110に格納してもよい。これにより、画像処理装置1100は、複数のZ値を圧縮しない場合、複数のZ値をそのままZバッファ1110に格納する。したがって、画像処理装置1100は、圧縮による計算コストの増加を削減できる。
【0165】
また、格納処理部1103は、複数のZ値が圧縮される場合、ポリゴンを識別するためのポリゴンIDを複数の画素に関連づけてZバッファ1110に格納してもよい。そして、この場合、格納処理部1103は、代表Z値をポリゴンIDに関連づけてZバッファ1110に格納してもよい。これにより、格納処理部1103は、代表Z値を複数の画素に関連づけてZバッファ1110に格納する。したがって、画像処理装置1100は、ポリゴンIDを用いて、複数の画素に代表Z値を適切に関連づけることができる。
【0166】
(実施の形態4)
実施の形態4に係る画像処理装置は、実施の形態3で示された画像処理装置1100の構成に変形が加えられている。
【0167】
図13は、本実施の形態に係る画像処理装置の構成図である。図13に示された画像処理装置1300は、生成部1101、第1決定部1301、第2決定部1302および格納処理部1103を備える。すなわち、画像処理装置1300は、実施の形態3の決定部1102に代えて、第1決定部1301および第2決定部1302を備える。
【0168】
第1決定部1301は、実施の形態3の決定部1102と同様の構成要素である。したがって、実質的には、画像処理装置1300は、実施の形態3の画像処理装置1100と比較して、第2決定部1302を追加の構成要素として備える。その他の構成要素は、実施の形態3と同様の処理を実行する。
【0169】
図14は、図13に示された本実施の形態に係る画像処理装置1300の動作を示すフローチャートである。
【0170】
まず、生成部1101は、ポリゴンデータから、ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する(S1401)。
【0171】
次に、第2決定部1302は、ポリゴンの描画命令に従って、複数のZ値を圧縮するか否かを決定する(S1402)。ポリゴンの描画命令は、ポリゴンを描画するための命令である。
【0172】
次に、格納処理部1103は、複数のZ値が圧縮される場合、複数のZ値から代表Z値を決定する。そして、格納処理部1103は、決定された代表Z値を複数の画素に関連づけてZバッファ1110に格納する(S1403)。
【0173】
なお、図14は、本実施の形態に係る画像処理装置1300の動作の一例を示している。例えば、画像処理装置1300は、図12に示された動作を実行してもよい。この場合、実施の形態1の決定部1102によって実行される処理は、本実施の形態の第1決定部1301によって実行される。
【0174】
これにより、画像処理装置1300は、複数のZ値を圧縮するか否かを、視線データおよびポリゴンデータに基づいて決定することに加えて、ポリゴンの描画命令に基づいて適応的に決定する。したがって、画像処理装置1300は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値を圧縮するか否かを適応的に決定することもできる。
【0175】
なお、本実施の形態の生成部1101、第1決定部1301および第2決定部1302は、実施の形態1の画像生成部101に対応する。したがって、生成部1101、第1決定部1301および第2決定部1302は、実施の形態1の画像生成部101で実行される処理を実行してもよい。
【0176】
また、第2決定部1302は、描画命令によりポリゴンの平面が視線方向に対して垂直になる場合、複数のZ値を圧縮すると決定してもよい。
【0177】
これにより、画像処理装置1300は、ポリゴンの描画命令により視線方向とポリゴン平面との成す角度が垂直になる場合、複数のZ値を代表Z値に集約する。すなわち、この場合、画像処理装置1300は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値を圧縮することを決定できる。
【0178】
また、第2決定部1302は、描画命令によりポリゴンの平面が視線方向に対して垂直になる場合、かつ、描画命令により複数のステンシル値が一致する場合、複数のZ値を圧縮すると決定してもよい。
【0179】
これにより、画像処理装置1300は、ポリゴンの描画命令により、視線方向とポリゴン平面との成す角度が垂直になり、複数のステンシル値が一致する場合、複数のZ値および複数のステンシル値を代表Z値および代表ステンシル値に集約する。すなわち、この場合、画像処理装置1300は、視線データおよびポリゴンデータを用いずに、ポリゴンの描画命令に基づいて、複数のZ値および複数のステンシル値を圧縮することを決定できる。
【0180】
また、画像処理装置1300は、第1決定部1301を備えず、第2決定部1302のみを備えてもよい。そして、画像処理装置1300は、描画命令のみに基づいて、複数のZ値を圧縮するか否かを決定してもよい。
【0181】
(実施の形態5)
実施の形態5に係る画像処理装置は、実施の形態3で示された画像処理装置1100の構成に変形が加えられている。
【0182】
図15は、本実施の形態に係る画像処理装置の構成図である。図15に示された画像処理装置1500は、生成部1101、決定部1102、格納処理部1103および抽出処理部1501を備える。すなわち、画像処理装置1500は、実施の形態3の画像処理装置1100と比較して、抽出処理部1501を追加の構成要素として備える。その他の構成要素は、実施の形態3と同様の処理を実行する。
【0183】
図16は、図15に示された本実施の形態に係る画像処理装置1500の動作を示すフローチャートである。
【0184】
まず、生成部1101は、ポリゴンデータから、ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する(S1601)。
【0185】
次に、決定部1102は、視線データと、ポリゴンデータとを用いて、複数のZ値を圧縮するか否かを決定する(S1602)。
【0186】
次に、格納処理部1103は、複数のZ値が圧縮される場合、複数のZ値から代表Z値を決定する。そして、格納処理部1103は、決定された代表Z値を複数の画素に関連づけてZバッファ1110に格納する(S1603)。
【0187】
抽出処理部1501は、Zバッファ1110から、複数の画素に関連づけて格納された代表Z値を抽出する。そして、抽出処理部1501は、代表Z値を代表Z値に関連づけられた複数の画素に割り当てる(S1604)。
【0188】
これにより、画像処理装置1500は、Zバッファ1110に格納された圧縮データを複数のZ値に伸張できる。
【0189】
なお、本実施の形態の格納処理部1103および抽出処理部1501は、実施の形態1のZバッファ制御部102に対応する。したがって、格納処理部1103および抽出処理部1501は、実施の形態1のZバッファ制御部102で実行される処理を実行してもよい。
【0190】
また、抽出処理部1501は、Zバッファ1110から、複数の画素に関連づけて格納された代表Z値、または、複数の画素に関連づけて格納された複数のZ値を抽出してもよい。そして、抽出処理部1501は、代表Z値が抽出された場合、代表Z値を代表Z値に関連づけられた複数の画素に割り当てもよい。複数のZ値が抽出された場合、抽出処理部1501は、複数のZ値を複数のZ値に関連づけられた複数の画素に割り当ててもよい。
【0191】
例えば、Zバッファ1110に複数のZ値がそれぞれ対応する画素に関連づけて格納されている場合、抽出処理部1501は、Zバッファ1110から複数のZ値を抽出する。そして、抽出処理部1501は、複数のZ値のそれぞれを対応する画素に割り当てる。これにより、画像処理装置1500は、Zバッファ1110に格納された複数のZ値、または、Zバッファ1110に格納された代表Z値を適切に複数の画素に適用できる。
【0192】
(実施の形態6)
実施の形態6は、実施の形態3の画像処理装置1100と同様の構成要素を備える集積回路を示す。
【0193】
図17は、本実施の形態に係る集積回路の構成図である。図17に示された集積回路1700は、Zバッファ1110を用いて、3次元空間のポリゴンを2次元平面の画像として描画する。また、集積回路1700は、生成部1101、決定部1102および格納処理部1103を備える。これらの構成要素は、実施の形態3で示された画像処理装置1100の構成要素と同様の構成要素であり、実施の形態3で示された画像処理装置1100の構成要素と同様の動作を実行する。
【0194】
これにより、集積回路1700は、視線データおよびポリゴンデータに基づいて、適応的に、複数のZ値を圧縮するか否かを決定する。さらに、集積回路1700は、複数のZ値を圧縮する場合、複数のZ値を示す圧縮データとして1つの代表Z値のみを格納する。したがって、集積回路1700は、低い計算コストで複数のZ値を圧縮し、複数のZ値を示す圧縮データをZバッファ1110に格納することができる。
【0195】
なお、本実施の形態では、実施の形態3の画像処理装置1100を集積回路1700として実装する例が示されている。しかし、その他の実施の形態に係る画像処理装置が集積回路として実装されてもよい。
【0196】
(実施の形態7)
実施の形態7は、上述の複数の実施の形態で示された画像処理装置の応用例として、テレビジョン受像機を示す。
【0197】
図18は、本実施の形態に係るテレビジョン受像機の構成図である。図18に示されたテレビジョン受像機1800は、画像処理装置1801および表示部1802を備える。画像処理装置1801は、上述の複数の実施の形態で示された複数の画像処理装置のいずれであってもよい。また、画像処理装置1801は、集積回路として実装されていてもよい。
【0198】
表示部1802は、画像処理装置1801によって描画された画像を表示する。これにより、テレビジョン受像機1800は、画像処理装置1801によって描画された画像を表示する。
【0199】
なお、Zバッファは、画像処理装置1801の内部にあってもよいし、表示部1802の内部にあってもよい。あるいは、Zバッファは、独立の構成要素として、テレビジョン受像機1800の内部または外部にあってもよい。
【0200】
また、本実施の形態では、画像表示装置の例として、テレビジョン受像機1800が示されている。しかし、ディスプレイ装置を有するパーソナルコンピュータ、ビデオゲーム機または携帯電話機等に、同様の構成が用いられてもよい。特に、高解像度の画像を大画面に表示する画像表示装置において、効果が大きい。
【0201】
以上、本発明に係る画像処理装置について、複数の実施の形態に基づいて説明したが、本発明はこれらの実施の形態に限定されるものではない。実施の形態に対して当業者が思いつく変形を施して得られる形態、および、実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【0202】
例えば、特定の処理部が実行する処理を別の処理部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0203】
また、本発明は、画像処理装置として実現できるだけでなく、画像処理装置を構成する処理手段をステップとする方法として実現できる。典型的には、それらの方法に含まれるステップは、コンピュータによって実行される。そして、本発明は、それらの方法に含まれるステップを、コンピュータに実行させるためのプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体として実現できる。
【0204】
また、画像処理装置に含まれる複数の構成要素は、集積回路であるLSIとして実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
【0205】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0206】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、画像処理装置に含まれる構成要素の集積回路化を行ってもよい。
【産業上の利用可能性】
【0207】
本発明に係る画像処理装置および画像処理方法は、画像を表示可能な機器およびシステムに利用可能である。例えば、テレビジョン受像機、モバイル機器、カーナビゲーションシステム、デジタルカメラ機器、放送機器および医療機器に有用である。
【符号の説明】
【0208】
101 画像生成部
102 Zバッファ制御部
103 カラーバッファ制御部
104 テスト部
105 キャッシュメモリ
106 Zバッファエンコーダ
107 Zバッファデコーダ
108 メモリ
109、1802 表示部
110、1100、1300、1500、1801 画像処理装置
201 視点
202 視線方向(視線ベクトル)
203 3次元空間
211、212、213 ポリゴン
501、701 画像
502 写真オブジェクト
503 ユーザーインターフェースオブジェクト
602、603 オブジェクト像
702、703、704、705 矩形領域
1101 生成部
1102 決定部
1103 格納処理部
1110 Zバッファ
1301 第1決定部
1302 第2決定部
1501 抽出処理部
1700 集積回路
1800 テレビジョン受像機(画像表示装置)

【特許請求の範囲】
【請求項1】
3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する画像処理装置であって、
前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成部と、
前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する第1決定部と、
前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理部とを備える
画像処理装置。
【請求項2】
前記第1決定部は、前記視線データと前記ポリゴンデータとを用いて、前記視線方向と、前記ポリゴンの平面との成す角度に依存させて、前記複数のZ値を圧縮するか否かを決定する
請求項1に記載の画像処理装置。
【請求項3】
前記第1決定部は、前記視線データと前記ポリゴンデータとを用いて、前記角度が略垂直であるか否かを判定し、前記角度が略垂直であると判定された場合、前記複数のZ値を圧縮すると決定する
請求項2に記載の画像処理装置。
【請求項4】
前記生成部は、さらに、前記ポリゴンデータから、前記複数の画素のそれぞれについて、前記ポリゴンに施される特殊効果であるステンシル操作により特定されるステンシル値を生成することにより、前記複数の画素に対応する複数のステンシル値を生成し、
前記第1決定部は、前記視線データと、前記ポリゴンデータと、前記ステンシル操作を示すステンシル操作属性とを用いて、前記複数のZ値を圧縮するか否かを決定し、
前記格納処理部は、前記複数のZ値が圧縮される場合、前記複数のZ値から前記代表Z値を決定し、前記複数のステンシル値から代表ステンシル値を決定し、前記代表Z値および前記代表ステンシル値を前記複数の画素に関連づけて前記Zバッファに格納する
請求項1〜3のいずれか1項に記載の画像処理装置。
【請求項5】
前記第1決定部は、前記視線データと前記ポリゴンデータと前記ステンシル操作属性とを用いて、(i)前記視線方向と、前記ポリゴンの平面との成す角度、および、(ii)前記ステンシル操作により前記複数のステンシル値が一致するか否かに依存させて、前記複数のZ値を圧縮するか否かを決定する
請求項4に記載の画像処理装置。
【請求項6】
前記第1決定部は、
前記視線データと前記ポリゴンデータとを用いて、前記角度が略垂直であるか否かを判定し、
前記ステンシル操作属性を用いて、前記ステンシル操作により前記複数のステンシル値が一致するか否かを判定し、
前記角度が略垂直であると判定され、かつ、前記複数のステンシル値が一致すると判定された場合、前記複数のZ値を圧縮すると決定する
請求項5に記載の画像処理装置。
【請求項7】
前記画像処理装置は、さらに、前記ポリゴンを描画するための描画命令に従って、前記複数のZ値を圧縮するか否かを決定する第2決定部を備える
請求項1〜6のいずれか1項に記載の画像処理装置。
【請求項8】
前記第2決定部は、前記描画命令により前記ポリゴンの平面が前記視線方向に対して垂直になる場合、前記複数のZ値を圧縮すると決定する
請求項7に記載の画像処理装置。
【請求項9】
前記画像処理装置は、さらに、前記ポリゴンを描画するための描画命令に従って、前記複数のZ値を圧縮するか否かを決定する第2決定部を備え、
前記第2決定部は、前記描画命令により前記ポリゴンの平面が前記視線方向に対して垂直になる場合、かつ、前記描画命令により前記複数のステンシル値が一致する場合、前記複数のZ値を圧縮すると決定する
請求項4〜6のいずれか1項に記載の画像処理装置。
【請求項10】
前記格納処理部は、前記複数のZ値が圧縮されない場合、前記複数のZ値を前記複数の画素に関連づけて前記Zバッファに格納する
請求項1〜9のいずれか1項に記載の画像処理装置。
【請求項11】
前記画像処理装置は、さらに、前記Zバッファから、前記複数の画素に関連づけて格納された前記代表Z値を抽出し、前記代表Z値を前記代表Z値に関連づけられた前記複数の画素に割り当てる抽出処理部を備える
請求項1〜10のいずれか1項に記載の画像処理装置。
【請求項12】
前記画像処理装置は、さらに、
前記Zバッファから、前記複数の画素に関連づけて格納された前記代表Z値、または、前記複数の画素に関連づけて格納された前記複数のZ値を抽出し、前記代表Z値が抽出された場合、前記代表Z値を前記代表Z値に関連づけられた前記複数の画素に割り当て、前記複数のZ値が抽出された場合、前記複数のZ値を前記複数のZ値に関連づけられた前記複数の画素に割り当てる抽出処理部を備える
請求項10に記載の画像処理装置。
【請求項13】
前記格納処理部は、前記複数のZ値が圧縮される場合、前記ポリゴンを識別するためのポリゴンIDを前記複数の画素に関連づけて前記Zバッファに格納し、かつ、前記代表Z値を前記ポリゴンIDに関連づけて前記Zバッファに格納することにより、前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する
請求項1〜12のいずれか1項に記載の画像処理装置。
【請求項14】
3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する集積回路であって、
前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成部と、
前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する決定部と、
前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理部とを備える
集積回路。
【請求項15】
3次元空間における奥行き方向の位置を示すZ値を記憶するためのZバッファを用いて、前記3次元空間のポリゴンを2次元平面の画像として描画する画像処理方法であって、
前記ポリゴンを示すポリゴンデータから、前記ポリゴンの描画領域における複数の画素に対応する複数のZ値を生成する生成ステップと、
前記奥行き方向に沿う予め定められた視線方向を示す視線データと、前記ポリゴンデータとを用いて、前記複数のZ値を圧縮するか否かを決定する決定ステップと、
前記複数のZ値が圧縮される場合、前記複数のZ値から代表Z値を決定し、決定された前記代表Z値を前記複数の画素に関連づけて前記Zバッファに格納する格納処理ステップとを含む
画像処理方法。
【請求項16】
請求項1〜13のいずれか1項に記載の画像処理装置と、
前記画像処理装置によって描画された前記画像を表示する表示部とを備える
画像表示装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2013−25406(P2013−25406A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−157151(P2011−157151)
【出願日】平成23年7月15日(2011.7.15)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】