JP4327105B2 - 描画方法、画像生成装置、および電子情報機器 - Google Patents

描画方法、画像生成装置、および電子情報機器 Download PDF

Info

Publication number
JP4327105B2
JP4327105B2 JP2005017059A JP2005017059A JP4327105B2 JP 4327105 B2 JP4327105 B2 JP 4327105B2 JP 2005017059 A JP2005017059 A JP 2005017059A JP 2005017059 A JP2005017059 A JP 2005017059A JP 4327105 B2 JP4327105 B2 JP 4327105B2
Authority
JP
Japan
Prior art keywords
pixel
area
line
scanning
axis direction
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.)
Expired - Fee Related
Application number
JP2005017059A
Other languages
English (en)
Other versions
JP2006209223A (ja
Inventor
英通 中橋
多仁生 長崎
稔 高畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2005017059A priority Critical patent/JP4327105B2/ja
Priority to US11/813,753 priority patent/US7884825B2/en
Priority to PCT/JP2005/019387 priority patent/WO2006080115A1/ja
Publication of JP2006209223A publication Critical patent/JP2006209223A/ja
Application granted granted Critical
Publication of JP4327105B2 publication Critical patent/JP4327105B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves

Landscapes

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

Description

本発明はピクセル単位の描画データを生成する描画方法、画像生成装置、および電子情報機器に関する。
近年のコンピュータゲームやディジタル放送などの分野に利用されるコンピュータグラフィックス技術や画像処理技術の著しい進歩に伴い、3次元画像などをより精緻に画面表示することが可能となっている。3次元空間におけるオブジェクトを表現するポリゴンや、ユーザが入力した2次元画像などは、ピクセル単位のディジタル画像情報として表示装置などへ送出される。
元来アナログ情報であった画像や、既知の頂点座標を結ぶ線分などを、ピクセル単位で表現するには、求められる処理速度や描画精度、ハードウェアへの実装の容易さなどに応じてその手法が選択される。
ピクセルは離散的配列であるため、描画したい図形をピクセル単位のデータへ変換すると、当該図形を構成するピクセルの輪郭が画像上に発現し、ジャギーと呼ばれるぎざぎざを有する形状で表示されたり、細い線が寸断したり、といった現象が発生することがある。これらの現象は一般にエイリアシングと呼ばれ、それを軽減するために解像度を上げて描画するなどのアンチエイリアシングの手法が考案されてきた(例えば非特許文献1参照)。
Hardware Acceleration for Spatial Selections and Joins, Chengyu Sun et. al., UCSB Technical Report (2002-17).
しかし、アンチエイリアシングを行うことによってエイリアシングは軽減されるものの、線の太さなど全体的な印象が元来描画したい形状と異なってしまう問題が生じる場合があること、また解像度を上げるなどすることによりアンチエイリアシング処理自体による計算負荷が増大し、高速描画に対する障壁となる場合があること、を本発明者は認識した。
本発明はこのような課題に鑑みてなされたものであり、その目的は所望の描画形状を有しエイリアシングの目立たない描画情報を生成することのできる技術の提供にある。さらに別の目的は、計算負荷および処理速度の面で有利なアンチエイリアシング技術の提供にある。
本発明のある態様は描画方法に関する。この描画方法は、描画対象の線を中心として、表示画面の水平方向および垂直方向のいずれかの方向にピクセルの大きさの整数倍の幅をもたせた領域を当該描画対象の線の描画領域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を決定することを特徴とする。
ここで「ピクセルの表示領域」とはディジタル化した画像をピクセル単位で表す際に、ピクセルが色や濃度などのピクセル値を表示することのできるます目のひとつひとつの領域のことであり、表示装置などの解像度によってその面積が変化する。
本発明の別の態様もまた描画方法に関する。この描画方法は、描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれかの方向に所定の幅だけシフトさせた2本の平行線を境界線として含み、前記2本の平行線の端点を頂点とする領域を当該描画対象の線の描画領域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を決定することを特徴とする。
本発明の別の態様もまた描画方法に関する。この描画方法は、描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれかの方向に所定の幅だけシフトさせた2本の平行線を境界線として含み、前記2本の平行線の端点を頂点とする領域を当該描画対象の線の描画領域に定めるステップと、前記描画領域を含み、前記描画領域の境界線の少なくとも一部を境界線に含む矩形の走査領域を設定するステップと、ピクセルの表示領域を仮想的に所定数分割して得られたサブピクセル単位で前記走査領域内を走査し、前記描画領域に含まれるサブピクセルの数を取得するステップと、各ピクセルに含まれるサブピクセルのうち、前記描画領域に含まれるサブピクセルの数の割合に応じて当該ピクセルのピクセル値を設定するステップと、を含むことを特徴とする。
本発明のさらに別の態様は画像生成装置に関する。この画像生成装置は、描画すべき画像の情報を読み込む描画情報取得部と、前記画像の情報に基づき、各ピクセル値によってピクセル単位で表現した描画データを生成する描画データ生成部と、前記描画データを記憶する描画データ記憶部と、を備え、前記描画データ生成部は、前記画像の情報に含まれる描画対象の線をピクセル単位で表現する際、当該描画対象の線を中心として、表示画面の水平方向および垂直方向のいずれかの方向にピクセルの大きさの整数倍の幅をもたせた領域を当該描画対象の線の描画領域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を設定することを特徴とする。
描画データ生成部におけるピクセル値の設定要因には、陰影やテクスチャなど一般のレンダリング処理で付加される属性を適宜含めてよい。
本発明のさらに別の態様もまた画像生成装置に関する。この画像生成装置は、描画すべき画像の情報を読み込む描画情報取得部と、前記画像の情報に基づき、各ピクセル値によってピクセル単位で表現した描画データを生成する描画データ生成部と、前記描画データを記憶する描画データ記憶部と、を備え、前記描画データ生成部は、前記画像の情報に含まれる描画対象の線をピクセル単位で表現する際、当該描画対象の線を含み、当該線を表示画面の水平方向および垂直方向のいずれかの方向に所定の幅だけシフトさせた2本の平行線を境界線として含み、前記2本の平行線の端点を頂点とする領域を当該描画対象の線の描画領域に定め、ピクセルの表示領域が前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を設定することを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、所望の形状を保持しながら、エイリアシングを軽減した線の描画を実現できる。
図1は、本実施の形態に係る画像生成装置200の構成図である。画像生成装置200は、描画ブロック100と制御ブロック110と入出力ブロック120とがバス150で接続されて構成され、入出力ブロック120には記憶装置130と表示装置140が接続される。入出力ブロック120は、ネットワーク経由で他の装置と通信して、描画に必要なデータを外部から取得する構成であってもよい。
制御ブロック110は、この画像生成装置200全体を制御するブロックであり、画像生成装置200内部と、記憶装置130、表示装置140などの外部周辺装置との間のデータ転送の同期管理、画像生成装置200内部の各ユニットからの割り込みの処理、タイマーの管理などを行う。
入出力ブロック120は、記憶装置130に格納された3次元モデル情報や各種パラメータを読み込み、描画ブロック100に提供する。入出力ブロック120は、ネットワーク経由で外部装置から描画に必要なデータを受信して、描画ブロック100に提供してもよい。入出力ブロック120は、描画ブロック100が出力する描画データを表示装置140に表示する。
描画ブロック100は、入出力ブロック120から与えられる3次元モデル情報をもとに描画データを生成し、フレームバッファに書き込むレンダリング処理を行う。
図2は、描画ブロック100の構成図である。ラスタライザ10は、入出力ブロック120から描画プリミティブの頂点データを受け取る。描画プリミティブは一般的には三角形であり、ラスタライザ10は、3次元空間上の三角形を投影変換により描画平面上の三角形に変換するビュー変換を行い、さらに、描画平面上の三角形を描画平面の水平方向に沿って走査しながら、1列毎に量子化されたピクセルに変換するラスター処理を行う。ラスタライザ10により、描画プリミティブがピクセル展開され、各ピクセルについて、RGBカラー値、α値、Z値を含むピクセル情報が算出される。
ラスタライザ10は、走査線に沿って所定の大きさのピクセル領域(以下、描画対象領域という)を生成し、後段の描画演算ユニット20に与える。描画演算ユニット20には、シェーダユニット30と、テクスチャユニット50とが含まれ、メモリ40を利用しながら処理が行われる。メモリ40内には、フレームバッファとテクスチャバッファが設けられる。なお、フレームバッファとテクスチャバッファは、単一のメモリ内に設けられてもよく、物理的に別個のメモリに設けられてもよい。
ラスタライザ10から描画演算ユニット20に供給された描画対象領域は、キューにスタックされ、シェーダユニット30は、キューにスタックされた描画対象領域を順に処理する。
シェーダユニット30は、ラスタライザ10により算出されたピクセル情報をもとに、シェーディング処理を行い、テクスチャユニット50により得られたテクセル情報をもとに、テクスチャマッピング後のピクセル色を定め、メモリ40内のフレームバッファに描画データを書き込む。シェーダユニット30は、さらに、フレームバッファに保持された描画データに対して、フォギング、αブレンディング等の処理を行い、最終的な描画色を求め、フレームバッファの描画データを更新する。フレームバッファに記憶された描画データは、入出力ブロック120により読み出され、表示装置140に出力される。
テクスチャユニット50は、シェーダユニット30からテクスチャデータを指定するパラメータの入力を受け取り、テクスチャデータのアドレスを算出して、メモリ40内のテクスチャバッファに対して必要なテクスチャデータを要求する。テクスチャユニット50は、テクスチャバッファから読み出されたテクスチャデータをキャッシュし、バイリニア補間、トライリニア補間などのフィルタ処理を施して、シェーダユニット30に出力する。
図3はラスタライザ10の構成図である。ラスタライザ10は、入出力ブロック120から描画プリミティブの頂点データを受け取る頂点データ読込部12と、描画プリミティブの頂点データをビュー変換によって描画平面座標系の頂点データへ変換するビュー変換部14と、描画平面上の頂点座標を結ぶ線分を表す関数(以後、エッジ関数と呼ぶ)を算出したり、後段にて行われるDDA処理で用いられる走査領域を設定したりするセットアップ処理部16と、エッジ関数を取得した三角形などの描画形状を、描画平面の水平方向に走査し、1列ごとにDDA(Digital Differential Analyzer)処理などを施すことにより、描画形状の辺および内部に含まれるピクセルごとに、RGBカラー値、α値、Z値を含むピクセル情報を取得するピクセル情報生成部18と、ピクセル情報生成部18にて取得したピクセル情報を含む描画対象領域を描画演算ユニット20へ供給するピクセル情報送出部19を含む。
次に、ラスタライザ10のピクセル情報生成部18における動作を説明する。まず本実施の形態を説明するために、全般的な動作について説明する。図4および図5は描画平面座標系の頂点データおよびエッジ関数が得られている三角形について、ピクセル情報生成部18において行われる処理について説明する図であり、図4はピクセル単位での処理、図5は各ピクセルを仮想的に分割したサブピクセル単位での処理を示している。これらの図において1ピクセルの表示領域は実線のます目で、1サブピクセルの領域は破線のます目で示されている。
図4に示すピクセル単位の処理では、例えば上から1行目、2行目と、水平の走査方向60に順次走査を行い、各ピクセルが三角形62の内部に存在するか否かの内外判定を行う。図4においては三角形62の内部にあると判定されたピクセルを黒丸、外部にあると判定されたピクセルを白丸で表している。以後、図5から図7、および図8も同様の表示を行う。内外判定の後、三角形62の内部に存在するピクセルについて、三角形62の辺を端点とする線型補間を行ごとに行うことにより、各ピクセルのRGBカラー値、Z値を算出する。図4のようなピクセル単位の処理では、全ての処理が離散的なピクセル単位で行われるため、三角形62の内部に存在するピクセルと外部に存在するピクセルとの差が顕著になり、ジャギーなどのエイリアスが目立ちやすい。
図5は各ピクセルを仮想的に縦方向、横方向に4分割し、1ピクセルを16サブピクセルとした場合について示している。このときはサブピクセル単位の行ごとに、走査方向60に順次走査を行い、三角形62に対するサブピクセルの内外判定を行う。そして、各ピクセルに含まれる16個のサブピクセルのうち、三角形62の内部に存在するサブピクセルの数を集計し、ピクセルごとにその数の割合をα値として算出する。例えばあるピクセルを構成するサブピクセルのうち3個のサブピクセルが三角形62の内部に存在すれば、そのピクセルのα値は3/16である。
このα値は後段のシェーダユニット30におけるαブレンディング処理において用いられる。例えば三角形62の内外にまたがるピクセルの表示領域において、三角形62の内側の部分のピクセル値をA、外側の部分のピクセル値をBとしたとき、当該ピクセルのピクセル値をαA+(1−α)Bなどとして、2つのピクセル値A、Bを(1−α):αの比で内分して混合する。この混合(ブレンディング)処理によって各ピクセルは、三角形62との位置関係によってそのピクセル値が調整されるため、サブピクセルを導入しない図4の場合と比較すると、三角形62の外部にあるピクセルとの差が緩和され、エイリアスが目立ちにくい。ラスタライザ10では図4および図5に示した、ピクセル単位での走査による情報、サブピクセル単位での走査による情報の双方を生成しておき、表示内容や装置の状況などに応じてαブレンディング処理を行うかどうかをシェーダユニット30で決定することもできる。
次に、描画平面座標系の頂点データおよびエッジ関数が得られている線分(以下、描画対象線と呼ぶ)について、ピクセル情報を生成する手法の例を、図6を参照しながら説明する。図6は描画対象線のピクセル情報生成に用いられる手法のひとつであるダイヤモンドルール(Diamond-Exit Rule)を説明する図である。ダイヤモンドルールは各ピクセルの中心を中心点とし、ピクセルの辺の中点を頂点とするダイヤモンド形状の四角形(以下、単にダイヤモンド64と呼ぶ)を仮想的に発生させ、描画対象線66が各ダイヤモンド64を横切るかどうかによって、描画対象線66を構成するピクセルの判定を行う処理である。同図が示すように、描画対象線66を構成すると判定されたピクセルは離散的であるため、三角形の場合について図4を用いて説明したのと同様、当該ピクセルとそれ以外のピクセルとの差が顕著になり、ジャギーなどのエイリアスが目立ちやすくなる。
ここで上述の三角形の場合で導入したサブピクセル単位の走査機能を利用して、描画線のエイリアスを軽減しようとした場合を考える。図7はダイヤモンドルールによる線の描画において、サブピクセル単位の走査手法を導入したときの態様を説明した図である。同図も、各ピクセルを縦方向、横方向に4分割し、1ピクセルを16サブピクセルとした例を示している。このサブピクセルごとに上述のダイヤモンドルールを適用すると、描画対象線66が横切るダイヤモンドを有するサブピクセルが、当該線を構成すると判定され、それ以外のサブピクセルは当該線とは関係しないことになる。
ここで仮に、図6にて示したピクセル単位のダイヤモンドルールの処理において、1ピクセルが16サブピクセルであると考えると、描画対象線66を構成すると判定されたピクセルは16サブピクセル全てが当該描画対象線66を構成すると判定していることになる。それと比較すると、図7のサブピクセル単位の処理では、1ピクセルに含まれるサブピクセルのうち、描画対象線66を構成すると判定されたサブピクセルの数が極端に少なく、ピクセル単位の情報としてα値を算出すると全体的に小さい値となる。そのため、シェーダユニット30におけるαブレンディングの結果得られる描画データは、図6のピクセル単位の処理の場合と比較すると、描画される線の色が細くなったり、薄くなったり、不連続な線に見えたりすることがある。したがってシェーダユニット30において、エイリアスを軽減させようとαブレンディングの処理を行うようにすると、描画した線自体の印象まで変化してしまう、という問題が生じやすいことを本発明者は認識した。
上述の問題を克服するために、本実施の形態のラスタライザ10のセットアップ処理部16およびピクセル情報生成部18において行われる処理動作について、以降に説明する。
図8は本実施の形態において描画平面座標系の頂点データおよびエッジ関数が得られている線に対して、ピクセル情報生成部18において行われる処理について説明する図である。同図は、各ピクセルを縦方向、横方向に4分割し、1ピクセルを16サブピクセルとした例を示しているが、サブピクセルの数はこれに限定されず、所望の計算コストや精度などによって設定してよく、本実施の形態の手法はどの場合でも適用可能である。同図に示すとおり、本実施の形態においては当該線を所定の幅を有する領域と考え、その領域に対してサブピクセルの内外判定を行う。具体的には、エッジ関数を算出した描画対象線66を描画平面座標系の軸方向に平行移動させてできた2本のシフト線68と、移動方向に平行な2本の線(以降、端辺と呼ぶ)によって形成される平行四辺形abcdをその領域とする。
図9は本実施の形態のセットアップ処理部16およびピクセル情報生成部18において行われる処理の手順を示す流れ図である。まず、描画対象線66について与えられた2つの頂点座標から、エッジ関数を算出する(S10)。次にエッジ関数の傾き判定を行い、描画対象線66が描画平面座標系のx軸となす鋭角が45゜以下の場合は(S12のY)、描画対象線66をy軸方向に0.5dおよび−0.5d平行移動させた2本のシフト線68の関数を算出する(S14)。ここでdは1ピクセルの表示領域の幅を示している。図8で示した図は、描画対象線66とx軸とがなす鋭角が45゜以下であり、描画対象線66をy軸方向に平行移動した場合を示している。一方、描画対象線66と描画平面座標系のx軸とがなす鋭角が45゜より大きい場合は(S12のN)、描画対象線66をx軸方向に0.5dおよび−0.5d平行移動させた2本のシフト線68の関数を算出する(S16)。
以降、描画対象線66が描画平面座標系のx軸となす鋭角が45゜以下の場合(S12のY)、当該描画対象線66に対してx軸をメジャー軸、y軸をマイナー軸と呼ぶ。一方、描画対象線66が描画平面座標系のx軸となす鋭角が45゜より大きい場合(S12のN)、x軸をマイナー軸、y軸をメジャー軸と呼ぶ。
次に2本のシフト線68の始点および終点の4点を頂点とする平行四辺形abcdに含まれるサブピクセルを検出するための走査領域を設定し(S18)、当該走査領域を走査することによってサブピクセルの内外判定を行う(S20)。走査手法については後述する。
その後は上述したサブピクセル導入時の三角形処理の場合と同様、各ピクセルに属するサブピクセルのうち平行四辺形abcdの内部に存在するサブピクセルの数の割合をα値として算出する。このα値を用いて、シェーダユニット30におけるαブレンディング処理を行うことにより、その幅がおよそd、すなわち1ピクセル分であり、ダイヤモンドルールなどによってサブピクセルを導入せずに生成したピクセル情報に基づいて描画された線と同様の色合いを有し、かつエイリアスが軽減された線を描画することができる。
次に、図9のS18およびS20において行われる、本実施の形態におけるサブピクセル単位の走査手法について説明する。
図10は本実施の形態におけるサブピクセル単位の走査手法を説明する図である。まず図9のS18で示したように、平行四辺形abcdに外接し、描画平面のx軸およびy軸と平行な辺を有する矩形状に走査領域ABCDを設定する。本実施の形態では、平行四辺形abcdの辺のうち、2本のシフト線68の端点どうしを結ぶ端辺adおよびbcは描画対象線66のシフト方向の軸、すなわちマイナー軸であるy軸に平行であるから、走査領域ABCDの境界線の一部、すなわちADおよびBCは、端辺adおよびbcとそれぞれ一致することになる。マイナー軸がx軸となる描画対象線においても同様に、走査領域が端辺と一致する。
次にこの走査領域ABCD内を、上述の三角形に対する内外判定と同様に、サブピクセル単位の行ごとに、例えば水平の走査方向60に順次走査を行う。前述のとおり走査領域ABCDは端辺adおよびbcと一致しているため、端辺adおよびbcに対して外側にあるサブピクセルは走査の対象外となっている。したがって、ここで行われる走査では、サブピクセルが2辺abおよびdcの内側にあるか否かの内外判定だけで済むことになる。
2辺abおよびdc上にかかるサブピクセルについては、一方の辺上のサブピクセルを内在と判定した場合は、他方の辺上のサブピクセルを外在とするなど、描画線の幅がよりdに近くなるようなルールを設定する。同様に2辺adおよびbc上にかかるサブピクセルについては、一方の辺上のサブピクセルを内在と判定したら、もう一方の辺上のサブピクセルを外在と判定するなどのルールを設ける。これにより、描画対象線の本来の長さにより近い線が描画できるとともに、複数の線が連続している場合に、接続部分のサブピクセルを2重に集計するのを防止することができる。
次に、本実施の形態における平行四辺形abcdに対するサブピクセルの内外判定のための走査手法を、三角形に対して用いられている内外判定機能を応用して、容易に実現する動作原理について説明する。
まず、本実施の形態を理解するために、三角形に対する内外判定の処理について説明する。図11は描画対象が三角形の場合の、ピクセルまたはサブピクセルの内外判定手法を説明する図である。ここで三角形のエッジ関数を表す線は、e、f、およびgと標記し、描画平面上の座標を(x,y)としている。以降、本実施の形態との整合性を保つためにサブピクセル単位の内外判定を行うとして説明する。まず走査を行うバウンディングボックス、すなわち走査領域を設定する。線e、f、およびgによって形成される三角形の外接矩形は矩形EFGHである。ここでもし、当該三角形が表示装置における画像の表示領域など、描画可能な領域をはみ出している場合、当然そのはみ出た部分のピクセル情報は表示に必要でないため、走査を行わない。図11に示すように、あらかじめ定められた描画可能な領域(以降、シザリング領域と呼ぶ)をsx0≦x≦sx1,sy0≦y≦sy1とした場合、三角形に対する走査領域は、外接矩形EFGHと前述のシザリング領域との共通領域である長方形EIJHである。
走査領域を設定したら、例えばエッジ関数eおよびfの交点からx軸に平行な走査線上を、y軸の負の方向へ順次、サブピクセル単位で走査する。例えば走査線70に示すように、線fからx軸の正方向へサブピクセル上を走査していき、走査されたサブピクセルは、三角形内部に存在すると判定される。走査位置が線eまで達したら、ひとつ下のサブピクセルの行を同様に走査する。これを繰り返していくと、いずれ線eに達する前に走査領域EIJHの辺IJ、すなわちシザリング領域の境界線に達する行が現れる。このときは、走査線72に示すように、辺IJに達した時点で、次の走査線へと走査を移行する。
以上述べた三角形に対するサブピクセルの内外判定では、あらかじめ設定されたシザリング領域を表す数値、sx0、sx1、sy0、およびsy1と、三角形の辺を構成する線e、f、およびgのエッジ関数とに基づき、走査領域を設定し、サブピクセルの内外判定を行っている。次に、この三角形に対する内外判定機能を利用して、本実施の形態における平行四辺形abcdに含まれるサブピクセルの検出を行う場合について説明する。
図12は本実施の形態におけるサブピクセルの内外判定に関し、三角形描画時の手法を応用する手法について説明する図である。まず、平行四辺形abcdの2辺abおよびdcをなす2本のシフト線68に対応するエッジ関数を、図11で示した三角形の辺を構成する3本の線のうちの2本、eおよびfの関数として設定する。残りの線gについては、例えばシザリング領域の境界線の一辺と同一の関数を与える。図12ではy=sy1なる関数を与えている。一方、端辺であるadおよびbcを与える関数はxに対する定数であるから、その定数を、シザリング領域の境界線のうち、マイナー軸であるy軸に平行な線、すなわちx=sx0およびx=sx1の、sx0およびsx1として設定する。
その結果、走査領域は自動的に長方形ABCDに定まる。これにより、平行四辺形abcdに対するサブピクセル単位の走査において、辺ab上に始点を有するある走査線74は端辺bcが終点となり、辺dc上に終点を有するある走査線76は端辺adが始点となる。すなわち端辺を横切るようなサブピクセルの行を走査する場合は、端辺より外部の走査を行うことがなくなり、あとは2本の線eおよびfに対して三角形の場合と同様の処理を行えば、結果として平行四辺形abcd内に存在するサブピクセルの検出を行ったことになる。以上、図12を参照してマイナー軸がy軸の場合について説明したが、マイナー軸がx軸の場合でも同様である。具体的には線gを例えばx=sx1と設定し、端辺のyに対する定数を、シザリング領域の境界線を与える関数の一部、y=sy0およびy=sy1の、sy0およびsy1として設定すればよい。
ここでは上述のとおり、両端辺adおよびbc上に位置するサブピクセルについては、例えば一方の端辺ad上のサブピクセルを平行四辺形に内在と判定したら、もう一方の端辺bc上のサブピクセルは外在と判定するなどのルールを設ける。これにより、複数の線の接続部分のサブピクセルの2重集計を防止できる。また、本実施の形態ではマイナー軸が同一の複数の線が連続している場合、その端辺を表す関数がいずれもxの定数、もしくはyの定数として一致するため、線の接続部分にそれぞれの線の端部による凹凸が出現することがなくなる。
図12では端辺adおよびbcを表す、xに対する定数を、シザリング領域の境界線の2辺を表すx=sx0およびx=sx1のsx0およびsx1として設定した。しかし、あらかじめ設定してある、本来のシザリング領域の境界線が、端辺の少なくとも一方より平行四辺形abcdの内側に存在する場合は、平行四辺形abcdのうち、本来のシザリング領域の外部にある領域を走査する必要がなくなる。この場合は、図11で示した三角形の場合で説明したように、平行四辺形abcdは当該境界線で切断され、当該境界線と図12で示した走査領域ABCDの一部とが囲む領域が、正規の走査領域となる。このときも、ただ端辺が平行四辺形abcdの内側へ平行移動したにすぎず、本実施の形態の作用、効果は同様に得ることができる。
以上述べた本実施の形態によれば、所望の線幅を考慮した領域をあらかじめ算出し、サブピクセル単位の内外判定処理を行うことによって、エイリアスが軽減され、かつ線幅や色合いなどを損なわない線の描画が可能となる。また、当該領域は、エッジ関数の得られている描画対象線を軸方向に平行移動させただけで容易に取得できる関数により構成されているため、除算器などを新たに実装する必要がなく、さらに端辺が描画平面の軸と平行であるため、走査領域の設定に関して、三角形などの描画に一般的に実装されていたハードウェアの機能をそのまま利用できるため、結果として安価な実装コストでの実現が可能であり、計算負荷も増大しない。さらにマイナー軸が一致した複数の線が連続した構成を有する描画線の場合、構成する線の端辺が互いに平行であるため、接続部分における端辺が一致し、連続性に優れた線を描画することができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
本実施の形態では、主に3次元グラフィックス処理についての構成を述べたが、2次元のグラフィックス処理においても、ラスタライザ10の動作は同様である。また、描画対象線は直線に限られず、同様の処理を曲線に適用することができる。さらに、平行四辺形など、描画対象線をシフトして発生させた領域の幅は、1ピクセルの表示領域の幅である必要はなく、ユーザの入力などに応じた幅を適宜設定してよい。これらの変形例においても、所望の形状、幅を有する領域をまず発生させ、それに対してサブピクセル単位の内外判定を、三角形の内外判定機能を利用しながら行い、その結果に基づきピクセル単位の情報を取得していくことにより、形状、色合いなどへの影響を最小限に、少ないエイリアスで線を描画することが、実装コスト、処理の負荷を増大させることなく実現できる。
本実施の形態における画像生成装置の構成図である。 本実施の形態における描画ブロックの構成図である。 本実施の形態におけるラスタライザの構成図である。 三角形描画時のピクセル情報の生成をピクセル単位で行う手法を説明する図である。 三角形描画時のピクセル情報の生成をサブピクセル単位で行う手法を説明する図である。 線の描画におけるダイヤモンドルールの手法を説明する図である。 線の描画におけるダイヤモンドルールの手法をサブピクセル単位で行う場合を説明する図である。 本実施の形態において線の描画時にピクセル情報を生成する手法を説明する図である。 本実施の形態において線の描画時にピクセル情報を生成する手順を示す流れ図である。 本実施の形態におけるサブピクセル単位の走査手法を説明する図である。 三角形描画時のピクセルまたはサブピクセルの内外判定手法を説明する図である。 本実施の形態におけるサブピクセルの内外判定に関し、三角形描画時の手法を応用する手法について説明する図である。
符号の説明
10 ラスタライザ、 12 頂点データ読込部、 14 ビュー変換部、 16 セットアップ処理部、 18 ピクセル情報生成部、 19 ピクセル情報送出部、 描画演算ユニット、 66 描画対象線、 68 シフト線、 100 描画ブロック、 120 入出力ブロック、 200 画像生成装置。

Claims (3)

  1. 描画すべき画像の情報をメモリより読み出すステップと、
    前記描画対象の線と表示画面の水平方向とがなす鋭角が、所定の角度以内のときは垂直方向をマイナー軸方向とし、前記所定の角度より大きいときは水平方向をマイナー軸方向として、前記画像に含まれる描画対象の線を含み、当該線を所定の幅だけマイナー軸方向にシフトさせた2本の平行線と、前記2本の平行線の始点同士および終点同士をそれぞれ結ぶ2本の線分で囲まれた領域を当該描画対象の線の描画領域に定めるステップと、
    前記描画領域と外接する矩形領域であり、かつ当該矩形領域の境界線と前記2本の線分とが重なる矩形領域をDDA処理で用いられる走査領域として設定して、表示領域のピクセルをそれぞれ仮想的に所定数分割して得られたサブピクセル単位で前記走査領域をマイナー軸方向と垂直なメジャー軸方向に走査しながら1列ごとにDDA処理を行うことにより前記描画領域における前記表示領域のサブピクセルの内外判定を行い、前記表示領域のサブピクセルが前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を決定するステップと、
    決定した各ピクセルのピクセル値を前記描画対象の線の描画データとしてメモリに書き込むステップと、をプロセッサに実行させることを特徴とする描画方法。
  2. 描画すべき画像の情報を読み込む描画情報取得部と、
    前記画像の情報に基づき、各ピクセル値によってピクセル単位で表現した描画データを生成する描画データ生成部と、
    前記描画データを記憶する描画データ記憶部と、を備え、
    前記描画データ生成部は、前記描画対象の線と表示画面の水平方向とがなす鋭角が、所定の角度以内のときは垂直方向をマイナー軸方向とし、前記所定の角度より大きいときは水平方向をマイナー軸方向として、前記画像の情報に含まれる描画対象の線をピクセル単位で表現する際、当該描画対象の線を含み、当該線を所定の幅だけマイナー軸方向にシフトさせた2本の平行線と、前記2本の平行線の始点同士および終点同士をそれぞれ結ぶ2本の線分で囲まれた領域を当該描画対象の線の描画領域に定め、前記描画領域と外接する矩形領域であり、かつ当該矩形領域の境界線と前記2本の線分とが重なる矩形領域をDDA処理で用いられる走査領域として設定して、表示領域のピクセルをそれぞれ仮想的に所定数分割して得られたサブピクセル単位で前記走査領域をマイナー軸方向と垂直なメジャー軸方向に走査しながら1列ごとにDDA処理を行うことにより前記描画領域における前記表示領域のサブピクセルの内外判定を行い、前記表示領域のサブピクセルが前記描画領域に含まれる割合に応じて、当該ピクセルのピクセル値を設定ることを特徴とする画像生成装置。
  3. 請求項に記載の画像生成装置と、当該画像生成装置を制御する制御部とを備え、前記画像生成装置が生成した画像を前記制御部の制御により表示装置へ表示する電子情報機器。
JP2005017059A 2005-01-25 2005-01-25 描画方法、画像生成装置、および電子情報機器 Expired - Fee Related JP4327105B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005017059A JP4327105B2 (ja) 2005-01-25 2005-01-25 描画方法、画像生成装置、および電子情報機器
US11/813,753 US7884825B2 (en) 2005-01-25 2005-10-21 Drawing method, image generating device, and electronic information apparatus
PCT/JP2005/019387 WO2006080115A1 (ja) 2005-01-25 2005-10-21 描画方法、画像生成装置、および電子情報機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005017059A JP4327105B2 (ja) 2005-01-25 2005-01-25 描画方法、画像生成装置、および電子情報機器

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009074142A Division JP4766576B2 (ja) 2009-03-25 2009-03-25 描画方法、画像生成装置、および電子情報機器

Publications (2)

Publication Number Publication Date
JP2006209223A JP2006209223A (ja) 2006-08-10
JP4327105B2 true JP4327105B2 (ja) 2009-09-09

Family

ID=36740149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005017059A Expired - Fee Related JP4327105B2 (ja) 2005-01-25 2005-01-25 描画方法、画像生成装置、および電子情報機器

Country Status (3)

Country Link
US (1) US7884825B2 (ja)
JP (1) JP4327105B2 (ja)
WO (1) WO2006080115A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8768642B2 (en) 2003-09-15 2014-07-01 Nvidia Corporation System and method for remotely configuring semiconductor functional circuits
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US8723231B1 (en) 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US8711156B1 (en) 2004-09-30 2014-04-29 Nvidia Corporation Method and system for remapping processing elements in a pipeline of a graphics processing unit
US9189603B2 (en) 2006-05-24 2015-11-17 Confident Technologies, Inc. Kill switch security method and system
US8117458B2 (en) 2006-05-24 2012-02-14 Vidoop Llc Methods and systems for graphical image authentication
US20070277224A1 (en) 2006-05-24 2007-11-29 Osborn Steven L Methods and Systems for Graphical Image Authentication
CA2649015C (en) 2006-05-24 2014-01-21 Vidoop, L.L.C. Graphical image authentication and security system
US7652677B2 (en) * 2006-08-03 2010-01-26 Qualcomm Incorporated Graphics system employing pixel mask
US8482567B1 (en) * 2006-11-03 2013-07-09 Nvidia Corporation Line rasterization techniques
US8724483B2 (en) 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
JP4998386B2 (ja) 2008-06-27 2012-08-15 富士通セミコンダクター株式会社 ライン描画方法
CN101661741B (zh) * 2008-08-29 2012-02-22 富士通株式会社 图形光栅扫描中的三角形遍历方法和装置
US8269775B2 (en) 2008-12-09 2012-09-18 Qualcomm Incorporated Discarding of vertex points during two-dimensional graphics rendering using three-dimensional graphics hardware
JP5151946B2 (ja) * 2008-12-09 2013-02-27 富士通株式会社 描画装置
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US20140125677A1 (en) * 2011-05-30 2014-05-08 Aisin Seiki Kabushiki Kaisha Rendering device, rendering method, and recording medium
US9324127B2 (en) 2014-02-14 2016-04-26 Qualcomm Incorporated Techniques for conservative rasterization
CN110838156B (zh) * 2019-11-06 2024-07-02 京东方科技集团股份有限公司 一种金属掩膜板的绘图方法及装置
CN112596659B (zh) * 2020-12-23 2021-10-15 陇东学院 一种基于智能语音和图像处理的绘画方法和装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2611007B2 (ja) * 1989-09-05 1997-05-21 セイコー電子工業株式会社 画像処理装置
JPH04139589A (ja) * 1990-10-01 1992-05-13 Ricoh Co Ltd 図形処理装置
JPH07121731A (ja) * 1993-08-31 1995-05-12 Matsushita Electric Ind Co Ltd 直線描画方法および直線描画装置
JPH0822548A (ja) 1994-07-06 1996-01-23 Hitachi Ltd 図形処理方法および装置
US6057855A (en) * 1997-07-02 2000-05-02 Hewlett-Packard Company Method and apparatus for providing polygon pixel sub-sample information using incremental means
US6393145B2 (en) * 1999-01-12 2002-05-21 Microsoft Corporation Methods apparatus and data structures for enhancing the resolution of images to be rendered on patterned display devices
US6947057B2 (en) * 2000-01-11 2005-09-20 Sun Microsystems, Inc. Rendering lines with sample weighting
US20030187952A1 (en) * 2001-07-27 2003-10-02 Gary Young System and method for formatting information requested by a mobile device
US7587685B2 (en) * 2004-02-17 2009-09-08 Wallace James H Data exploration system

Also Published As

Publication number Publication date
WO2006080115A1 (ja) 2006-08-03
US20080198163A1 (en) 2008-08-21
JP2006209223A (ja) 2006-08-10
US7884825B2 (en) 2011-02-08

Similar Documents

Publication Publication Date Title
JP4327105B2 (ja) 描画方法、画像生成装置、および電子情報機器
US7348996B2 (en) Method of and system for pixel sampling
KR101862182B1 (ko) 래스터화 파라미터를 변경하는 것에 의해 스크린 위치에 따른 유효 해상도의 가변
US20070097145A1 (en) Method and system for supersampling rasterization of image data
JP2009301284A (ja) 描画装置および方法
KR101030825B1 (ko) 샘플링 패턴을 이용하는 방법, 샘플링 패턴을 생성하는 방법, 안티 에일리어싱 시스템, 및 컴퓨터 판독 가능한 기록매체
US7940283B2 (en) Method and apparatus for pixel sampling
JP3547250B2 (ja) 描画方法
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
JP2018032301A (ja) 画像処理プロセッサにおける画像データ処理方法及びそのプログラム
JP4766576B2 (ja) 描画方法、画像生成装置、および電子情報機器
US7737971B2 (en) Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
EP1431920A1 (en) Low-cost supersampling rasterization
US20010055015A1 (en) Area and span based Z-buffer
JP3872056B2 (ja) 描画方法
US7170528B1 (en) Fast glyph rendering for vector based fonts
JP4433525B2 (ja) 画像処理装置
JP2011028641A (ja) 画像処理装置及び画像処理方法
JPH08235380A (ja) 多面体表示方法および多面体表示装置
KR100927131B1 (ko) 안티 알리어싱 방법 및 장치
JPH0944695A (ja) テクスチャマッピング方法およびテクスチャマッピング装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090422

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090508

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: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090610

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130619

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees