(57)【特許請求の範囲】
【請求項１】
第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータを記憶できるステンシルバッファと、前記第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータを記憶できるフレームバッファと、前記フレームデータをディスプレイに描画する描画部とを備えるグラフィクス描画装置であって、
前記ステンシルバッファに対して、１回にアクセスする複数の前記第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出し部と、
前記第１のアクセスパターンと前記第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、前記ステンシルデータの一部から所定の画素数に対応する前記第２の画素情報よりなる前記フレームデータの一部を生成するフレームデータ生成部と、
前記第１のアクセスパターンと前記アンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の前記第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定部と、
前記フレームデータ生成部が、前記第２のアクセスパターンに相当する複数の前記第２の画素情報を生成すると、前記フレームバッファに対して、前記第２のアクセスパターンに従って、前記フレームデータのうち複数の前記第２の画素情報に相当するデータを書き込むフレームデータ書き込み部と
を備えることを特徴とするグラフィクス描画装置。
【請求項２】
前記第１のアクセスパターンは、縦方向の画素数がＡ個（ただし、Ａは２以上の整数）、横方向の画素数がＢ個（ただし、Ｂは２以上の整数）であることを特徴とする請求項１記載のグラフィックス描画装置。
【請求項３】
前記Ａは、２N×Ｐ（ただし、ＮおよびＰは１以上の整数）であり、且つ前記Ｂは、２K×Ｑ（ただし、ＫおよびＱは１以上の整数）であり、
前記アンチエイリアスパターンは、縦方向の画素数が２M、横方向の画素数が２J（ただし、ＭおよびＪは１以上の整数であり、ＭまたはＪのいずれか一方が２以上であり、Ｎ≧Ｍ、且つ、Ｋ≧Ｊ）であり、
前記第２のアクセスパターンは、縦方向の画素数を２N-MのＰ×Ｒ倍（ただし、Ｒは１以上の整数）、横方向の画素数を２K-JのＱ×Ｓ倍（ただし、Ｓは１以上の整数）に設定されてなる
ことを特徴とする請求項２記載のグラフィックス描画装置。
【請求項４】
前記Ｐおよび前記Ｑは、１であり、
前記Ｒは、１であり、且つ、前記Ｓは、２J+Mである
ことを特徴とする請求項３記載のグラフィックス描画装置。
【請求項５】
前記Ｐおよび前記Ｑは、１であり、
前記Ｒは、２M+Jであり、且つ、前記Ｓは、１である
ことを特徴とする請求項３記載のグラフィックス描画装置。
【請求項６】
前記Ｐ、前記Ｑ、前記Ｒおよび前記Ｓは、１である
ことを特徴とする請求項３記載のグラフィックス描画装置。
【請求項７】
前記アクセスパターン設定部は、前記第１のアクセスパターンと前記アンチエイリアスパターンと前記第２のアクセスパターンとに基づいて、前記フレームバッファへの１回分のアクセスに対する前記ステンシルバッファへのアクセス回数を設定することを特徴とする請求項４記載のグラフィクス描画装置。
【請求項８】
前記アンチエイリアスパターンを記憶するパターン記憶手段を備えることを特徴とする請求項７記載のグラフィクス描画装置。
【請求項９】
コンピュータにより実現させるグラフィクス描画方法であって、
第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、
前記第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、
前記ステンシルバッファに対して、１回にアクセスする複数の前記第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出しステップと、
前記第１のアクセスパターンと前記第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、前記ステンシルデータの一部から所定の画素数に対応する前記第２の画素情報よりなる前記フレームデータの一部を生成するフレームデータ生成ステップと、
前記第１のアクセスパターンと前記アンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の前記第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、
前記フレームデータ生成ステップにより、前記第２のアクセスパターンに相当する複数の前記第２の画素情報が生成されると、前記フレームバッファに対して、前記第２のアクセスパターンに従って、前記フレームデータのうち複数の前記第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、
前記フレームデータをディスプレイに描画する描画ステップと
を含むことを特徴とするグラフィクス描画方法。
【請求項１０】
グラフィクス描画処理をコンピュータにより実現させるグラフィクス描画プログラムであって、前記グラフィクス描画処理は、
第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、
前記第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、
前記ステンシルバッファに対して、１回にアクセスする複数の前記第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出しステップと、
前記第１のアクセスパターンと前記第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、前記ステンシルデータの一部から所定の画素数に対応する前記第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成ステップと、
前記第１のアクセスパターンと前記アンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の前記第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、
前記フレームデータ生成ステップにより、前記第２のアクセスパターンに相当する複数の前記第２の画素情報が生成されると、前記フレームバッファに対して、前記第２のアクセスパターンに従って、前記フレームデータのうち複数の前記第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、
前記フレームデータをディスプレイに描画する描画ステップと
を含むことを特徴とするグラフィクス描画プログラム。
【請求項１１】
グラフィクス描画処理をコンピュータにより実現させるグラフィクス描画プログラムを記録した記録媒体であって、前記グラフィクス描画処理は、
第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、
前記第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、
前記ステンシルバッファに対して、１回にアクセスする複数の前記第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出しステップと、
前記第１のアクセスパターンと前記第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、前記ステンシルデータの一部から所定の画素数に対応する前記第２の画素情報よりなる前記フレームデータの一部を生成するフレームデータ生成ステップと、
前記第１のアクセスパターンと前記アンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の前記第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、
前記フレームデータ生成ステップにより、前記第２のアクセスパターンに相当する複数の前記第２の画素情報が生成されると、前記フレームバッファに対して、前記第２のアクセスパターンに従って、前記フレームデータのうち複数の前記第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、
前記フレームデータをディスプレイに描画する描画ステップと
を含むことを特徴とするグラフィクス描画プログラムを記録した記録媒体。
【請求項１２】
第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータを記憶できるステンシルバッファと、前記第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータを記憶できるフレームバッファと、前記フレームデータをディスプレイに描画する描画部とを備えるグラフィクス描画用集積回路であって、
前記ステンシルバッファに対して、１回にアクセスする複数の前記第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出し部と、
前記第１のアクセスパターンと前記第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、前記ステンシルデータの一部から所定の画素数に対応する前記第２の画素情報よりなる前記フレームデータの一部を生成するフレームデータ生成部と、
前記第１のアクセスパターンと前記アンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の前記第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定部と、
前記フレームデータ生成部が、前記第２のアクセスパターンに相当する複数の前記第２の画素情報を生成すると、前記フレームバッファに対して、前記第２のアクセスパターンに従って、前記フレームデータのうち複数の前記第２の画素情報に相当するデータを書き込むフレームデータ書き込み部と
を備えることを特徴とするグラフィクス描画用集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィクス描画におけるアンチエイリアシングに関する。
【背景技術】
【０００２】
従来から、高解像度でラスタライズされた画像を低解像度の画像に解像度変換する際に、フィルタリング処理を行うことによりアンチエイリアシングを行いベクタグラフィックスの画質を向上させる描画装置が提案されている。
【０００３】
この類の描画装置として、例えば、特許文献１に記載されているような描画装置が提案されている。特許文献１に記載の描画装置では、まず、図２９（ａ）に示すように、ベクターデータから生成されステンシルデータ記憶部に記憶されている２次元形状ＳＨ１を含む第１の画像Ｇ１を表すステンシルデータと、当該２次元形状ＳＨ１のエッジ近傍に位置する画素のアルファ値を示すカバレッジデータとから、図２９（ｂ）に示すように、第１の画像Ｇ１よりも高解像度の２次元形状ＳＨ２を含む第２の画像Ｇ２を表すラスタデータを生成してラスタデータ記憶部に記憶する。次に、ラスタデータ記憶部に記憶された複数の２次元形状ＳＨ１，ＳＨ２に対応するラスタデータ同士を合成した後に、図２９（ｃ）に示すように、合成して得られたデータを第２の画像Ｇ２よりも低解像度の２次元形状ＳＨ１，ＳＨ２を含む第３の画像Ｇ３を表すデータに変換してからディスプレイ等の提示部で提示する。
【０００４】
ところが、特許文献１に記載された構成の描画装置では、ラスタデータ記憶部に高解像度の２次元形状ＳＨ１，ＳＨ２を含む第２の画像Ｇ２を表すラスタデータを記憶しておく必要があるため、ラスタデータ記憶部を構成するメモリの記憶容量が大きくなったり、或いは、カバレッジデータを記憶するためのカバレッジデータ記憶部を別途に設ける必要もあることから、メモリの記憶容量の増加およびメモリの数の増加を抑制することが困難であった。
【０００５】
これに対して、第１の画像Ｇ１に対応するステンシルデータを記憶するステンシルバッファと、第２の画像Ｇ２に対応するラスタデータ（フレームデータ）を記憶するフレームバッファと、第３の画像Ｇ３を提示するディスプレイと、適宜のプログラムを実行することによりステンシルデータやフレームデータの生成を行う機能等を実現する処理装置とを備え、図３０に示すように、第２の画像Ｇ２の解像度を第３の画像Ｇ３の解像度と同じに設定し、第１の画像Ｇ１の解像度を第２の画像Ｇ２の解像度よりも高く設定した描画装置が提供されている。
【０００６】
この描画装置では、第２の画像Ｇ２上に２次元形状ＳＨ１を描画する際、アンチエイリアスパターンに基づいて、２次元形状ＳＨ１のエッジ部分の画素の色をぼかす形で色値を設定して、ベクターグラフィクスの画質を向上させている。例えば、アンチエイリアスパターンが第１の画像Ｇ１における縦４画素×横４画素に設定されているとすれば、第１の画像Ｇ１における縦４画素×横４画素分のステンシルデータから第２の画像Ｇ２における１画素分のフレームデータが生成される。
【０００７】
ところで、この描画装置では、処理装置が内部に設けられたプロセッサおよび主記憶装置を含んで構成されており、ステンシルデータやフレームデータを生成する際に、処理装置とステンシルバッファまたはフレームバッファとの間でデータ転送を行うが、処理速度の向上を図るため、処理装置とステンシルバッファまたはフレームバッファとの間のデータ転送を、１度のアクセス要求に対して所定のデータ量（以下、「メモリバンド幅」と称す。）の転送を行うバースト転送等により行っている。例えば、図３１（ａ）に示す例では、処理装置が、ステンシルバッファに対する１度のアクセス要求で、ステンシルバッファから第１の画像Ａにおける縦４画素×横４画素分のステンシルデータにアクセスして読み込む。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−２４１８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、図３１（ａ）に示す例のように、第１のアクセスパターンおよびアンチエイリアスパターンが共に第１の画像Ｇ１における縦４画素×横４画素に設定され、処理装置が、ステンシルバッファに４回アクセス要求する毎に、フレームバッファに第２の画像Ｇ２における縦４画素×横４画素（以下、「第２のアクセスパターン」と称す。）分のフレームデータを書き込むように設定されているとすると、第２の画像Ｇ２における縦１画素×横４画素分のフレームデータしか生成されていないにもかかわらず、第２の画像Ｇ２における１６画素分のフレームデータを格納する記憶領域にアクセスすることになる。従って、第２のアクセスパターンに含まれる残りの縦３画素×横４画素分のフレームバッファへのアクセスが無駄となってしまう。
【００１０】
また、図３１（ｂ）に示す例のように、アンチエイリアスパターンだけを縦２画素×横４画素に変更した場合、処理装置が、ステンシルバッファに４回アクセス要求する毎に、フレームバッファに第２の画像Ｇ２における縦４画素×横４画素（以下、「第２のアクセスパターン」と称す。）分のフレームデータを書き込むように設定されているとすると、第２の画像Ｇ２における縦２画素×横４画素分のフレームデータしか生成されていないにも関わらず、第２の画像Ｇ２における１６画素分のフレームデータを格納する記憶領域にアクセスすることになる。従って、第２のアクセスパターンに含まれる残りの縦２画素×横４画素分のフレームバッファへのアクセスが無駄となってしまう。
【００１１】
本発明は、上記事由に鑑みてなされたものであり、フレームバッファへのアクセス効率の向上を図ることを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本構成に係るグラフィクス描画装置は、第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータを記憶できるステンシルバッファと、第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータを記憶できるフレームバッファと、前記フレームデータをディスプレイに描画する描画部とを備えるグラフィクス描画装置であって、ステンシルバッファに対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行って前記ステンシルデータの一部を読み出すステンシルデータ読み出し部と、第１のアクセスパターンと第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、ステンシルデータの一部から所定の画素数に対応する第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成部と、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定部と、フレームデータ生成部が、第２のアクセスパターンに相当する複数の第２の画素情報を生成すると、フレームバッファに対して、第２のアクセスパターンに従って、フレームデータのうち複数の第２の画素情報に相当するデータを書き込むフレームデータ書き込み部とを備えることを特徴とする。
【発明の効果】
【００１３】
本構成によれば、アクセスパターン設定部が、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、第２のアクセスパターンを適宜設定することにより、フレームバッファへの無駄なアクセスを抑制することができるので、フレームバッファへのアクセス効率の低下を抑制することができる。
【００１４】
また、本構成に係るグラフィクス描画装置は、第１のアクセスパターンが、縦方向の画素数をＡ個（ただし、Ａは２以上の整数）、横方向の画素数をＢ個（ただし、Ｂは２以上の整数）としたことを特徴とするものであってもよい。
【００１５】
また、本構成に係るグラフィクス描画装置は、Ａが、２Ｎ×Ｐ（ただし、ＮおよびＰは１以上の整数）であり、且つＢが、２Ｋ×Ｑ（ただし、ＫおよびＱは１以上の整数）であり、アンチエイリアスパターンが、縦方向の画素数を２Ｍ、横方向の画素数を２Ｊ（ただし、ＭおよびＪは１以上の整数であり、ＭまたはＪのいずれか一方が２以上であり、Ｎ≧Ｍ、且つ、Ｋ≧Ｊ）としてなり、第２のアクセスパターンが、縦方向の画素数を２Ｎ−ＭのＰ×Ｒ倍（ただし、Ｒは１以上の整数）、横方向の画素数を２Ｋ−ＪのＱ×Ｓ倍（ただし、Ｓは１以上の整数）に設定されてなるとしてもよい。
【００１６】
本構成によれば、第１のアクセスパターン、アンチエイリアスパターンから、フレームバッファへのアクセス効率向上の点から最適な第２のアクセスパターンを決めることができる。
【００１７】
また、本構成に係るグラフィクス描画装置は、ＰおよびＱが、１であり、Ｒが、１であり、且つ、Ｓが、２Ｊ＋Ｍでもよい。
本構成によれば、ステンシルデータ読み出し部が、第１の画像に対して横方向に第１のアクセスパターンを移動させていく形でステンシルバッファにアクセスし、フレームデータ書き込み部が、第２の画像に対して横方向に第２のアクセスパターンを移動させていく形でステンシルバッファにアクセスする場合において、１回にアクセスするステンシルデータの一部の大きさに対する１回にアクセスするフレームデータの大きさの関係を固定としながらもアクセス効率の向上が図れるので、ステンシルバッファへの１回のアクセスで転送するデータ量に応じてフレームバッファへの１回のアクセスで転送するデータ量を変更するような制御が不要となるので、制御の簡素化を図ることができる。
【００１８】
また、本構成に係るグラフィクス描画装置は、ＰおよびＱが、１であり、Ｒが、２Ｍ＋Ｊであり、且つ、Ｓが、１としてもよい。
本構成によれば、ステンシルデータ読み出し部が、第１の画像に対して縦方向に第１のアクセスパターンを移動させていく形でステンシルバッファにアクセスし、フレームデータ書き込み部が、第２の画像に対して縦方向に第２のアクセスパターンを移動させていく形でステンシルバッファにアクセスする場合において、ステンシルバッファへの１回のアクセスで読みだすデータの大きさに対するフレームバッファへの１回のアクセスで書き込むデータの大きさの関係を固定としながらもアクセス効率の向上が図れるので、ステンシルバッファへの１回のアクセスで転送するデータ量に応じてフレームバッファに対して一度のアクセスするデータ量とを変更するような制御が不要となるので、制御の簡素化を図ることができる。
【００１９】
また、本構成に係るグラフィクス描画装置は、Ｐ、Ｑ、ＲおよびＳを、１としてもよい。
本構成によれば、フレームデータ書き込み部が、一度にアクセスするフレームデータの大きさを縮小することができるので、処理速度の向上を図ることができる。
【００２０】
また、本構成に係るグラフィクス描画装置は、アクセスパターン設定部が、第１のアクセスパターンとアンチエイリアスパターンと第２のアクセスパターンとに基づいて、フレームバッファへの１回分のアクセスに対するステンシルバッファへのアクセス回数を設定するものであってもよい。
【００２１】
本構成によれば、アクセスパターン設定部が、第１のアクセスパターンとアンチエイリアスパターンと第２のアクセスパターンとに基づいて、フレームバッファへの１回分のアクセスに対するステンシルバッファへのアクセス回数を設定することにより、フレームバッファへのアクセス効率を向上させることができる。
【００２２】
また、本構成に係るグラフィクス描画装置は、アンチエイリアスパターンを記憶するパターン記憶手段を備えることを特徴とするものであってもよい。
本構成によれば、アンチエイリアスパターンを予めパターン記憶手段に記憶しておくだけで、アンチエイリアスパターンの変更に対応することができるので、アンチエイリアスパターンの変更に伴うアクセス効率の低下を抑制することができる。
【００２３】
また、本構成は、コンピュータにより実現させるグラフィクス描画方法であって、第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、ステンシルバッファに対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行ってステンシルデータの一部を読み出すステンシルデータ読み出しステップと、第１のアクセスパターンと第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、ステンシルデータの一部から所定の画素数に対応する第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成ステップと、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、フレームデータ生成ステップにより、第２のアクセスパターンに相当する複数の第２の画素情報が生成されると、フレームバッファに対して、第２のアクセスパターンに従って、フレームデータのうち複数の第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、フレームデータをディスプレイに描画する描画ステップとを含むグラフィクス描画方法であってもよい。
【００２４】
また、本構成は、グラフィクス描画処理をコンピュータにより実現させるグラフィクス描画プログラムであって、グラフィクス描画処理が、第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、ステンシルバッファに対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行ってステンシルデータの一部を読み出すステンシルデータ読み出しステップと、第１のアクセスパターンと第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、ステンシルデータの一部から所定の画素数に対応する第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成ステップと、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、フレームデータ生成ステップにより、第２のアクセスパターンに相当する複数の第２の画素情報が生成されると、フレームバッファに対して、第２のアクセスパターンに従って、フレームデータのうち複数の第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、フレームデータをディスプレイに描画する描画ステップとを含むグラフィクス描画プログラムであってもよい。
【００２５】
また、本構成は、グラフィクス描画処理をコンピュータにより実現させるグラフィクス描画プログラムを記録した記録媒体であって、グラフィクス描画処理が、第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータをステンシルバッファに記憶するステンシルデータ記憶ステップと、第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータをフレームバッファに記憶するフレームデータ記憶ステップと、ステンシルバッファに対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行ってステンシルデータの一部を読み出すステンシルデータ読み出しステップと、第１のアクセスパターンと第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、ステンシルデータの一部から所定の画素数に対応する第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成ステップと、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定ステップと、フレームデータ生成ステップにより、第２のアクセスパターンに相当する複数の第２の画素情報が生成されると、フレームバッファに対して、第２のアクセスパターンに従って、フレームデータのうち複数の第２の画素情報に相当するデータを書き込むフレームデータ書き込みステップと、フレームデータをディスプレイに描画する描画ステップとを含むグラフィクス描画プログラムを記録した記録媒体であってもよい。
【００２６】
また、本構成は、第１の画像を構成する各画素の第１の画素情報よりなるステンシルデータを記憶できるステンシルバッファと、第１の画像よりも解像度の低い第２の画像を構成する各画素の第２の画素情報よりなるフレームデータを記憶できるフレームバッファと、フレームデータをディスプレイに描画する描画部とを備えるグラフィクス描画用集積回路であって、ステンシルバッファに対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、１回以上アクセスを行ってステンシルデータの一部を読み出すステンシルデータ読み出し部と、第１のアクセスパターンと第２の画素情報の生成に使用されるアンチエイリアスパターンとに従って、ステンシルデータの一部から所定の画素数に対応する第２の画素情報よりなるフレームデータの一部を生成するフレームデータ生成部と、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する第２のアクセスパターンを設定するアクセスパターン設定部と、フレームデータ生成部が、第２のアクセスパターンに相当する複数の第２の画素情報を生成すると、フレームバッファに対して、第２のアクセスパターンに従って、フレームデータのうち複数の第２の画素情報に相当するデータを書き込むフレームデータ書き込み部とを備えるグラフィクス描画用集積回路であってもよい。
【００２７】
本構成によれば、小型化を図ることができる。
【図面の簡単な説明】
【００２８】
【図１】実施の形態１のグラフィクス描画装置の動作の概要を説明する図である。
【図２】実施の形態１のグラフィクス描画装置の構成を示すブロック図である。
【図３】実施の形態１で用いられるベクターデータの説明図である。
【図４】実施の形態１におけるエッジ処理および塗り潰し処理の説明図である。
【図５】実施の形態１における塗り潰し処理の説明図である。
【図６】実施の形態１におけるステンシルバッファおよびフレームバッファへのアクセス方法を説明する図である。
【図７】実施の形態１のエッジ処理部の動作の説明図である。
【図８】実施の形態１の塗り潰し処理部の動作の説明図である。
【図９】実施の形態１におけるカバレッジ値の算出に関する説明図である。
【図１０】実施の形態１のステンシルバッファおよびフレームバッファへのアクセス動作の説明図である。
【図１１】実施の形態１のパターン入力部（ユーザインターフェース）の一部を構成する表示部の正面図である。
【図１２】実施の形態１のアクセスパターン設定部の動作説明図である。
【図１３】実施の形態１のアクセスパターン設定部の動作の一例の説明図である。
【図１４】実施の形態１のアクセスパターン設定部の動作説明図である。
【図１５】実施の形態１のアクセスパターン設定部の動作説明図である。
【図１６】実施の形態１のグラフィクス描画装置の動作を示すフローチャートである。
【図１７】実施の形態１における第２のアクセスパターンを設定する動作を示すフローチャートである。
【図１８】実施の形態１におけるフレームデータの生成およびフレームデータ書き込み処理を示すフローチャートである。
【図１９】実施の形態２のステンシルバッファおよびフレームバッファへのアクセス動作の説明図である。
【図２０】実施の形態２のアクセスパターン設定部の動作説明図である。
【図２１】実施の形態３のアクセスパターン設定部の動作説明図である。
【図２２】実施の形態３のアクセスパターン設定部の動作の一例の説明図である。
【図２３】実施の形態３におけるステンシルバッファまたはフレームバッファへのアクセス方法を説明する図である。
【図２４】実施の形態３のアクセスパターン設定部の動作説明図である。
【図２５】実施の形態３における第２のアクセスパターンを設定する動作を示すフローチャートである。
【図２６】実施の形態３におけるフレームデータの生成およびフレームデータ書き込み処理を示すフローチャートである。
【図２７】変形例で使用されるパターン管理テーブルを示す概念図である。
【図２８】変形例のパターン入力部（タッチパネル）の正面図である。
【図２９】従来例の動作説明図である。
【図３０】他の従来例の動作説明図である。
【図３１】他の従来例の動作説明図である。
【発明を実施するための形態】
【００２９】
＜実施の形態１＞
・  概要
本実施の形態に係るグラフィクス描画装置１０００は、例えば、図１（ａ）に示すように、ベクター画像Ｇ２０の輪郭線上の複数の点の座標データから構成されるベクターデータから図１（ｂ）に示すような高解像度のラスタ画像Ｇ１を生成し、当該ラスタ画像Ｇ２１を解像度変換することにより、図１（ｃ）に示すようなラスタ画像Ｇ１よりも低解像度のラスタ画像Ｇ２２を生成する。以下、ベクター画像を表すベクターデータから生成される高解像度のラスタ画像を第1の画像とし、第1の画像から解像度変換を施して生成されるより低解像度のラスタ画像を第２の画像として説明する。
＜２＞構成
本実施の形態に係るグラフィクス描画装置１０００の構成を図２に示す。
【００３０】
グラフィクス描画装置１０００は、ステンシルバッファ１００７と、フレームバッファ１００８と、入力データバッファ１００６と、プロセッサ（図示せず）と主記憶装置（図示せず）とを含んで構成される処理装置１０２０と、パターン記憶部１００９と、パターン入力部１０１２とを備える。
【００３１】
処理装置１０２０は、適宜のプログラムを実行することにより、ベクターデータ入力部１００１と、曲線分割部１００２と、エッジ処理部１００３と、ステンシルデータ読み出し部である塗り潰し処理部１００４と、フレームデータ生成部１０１３と、フレームデータ書き込み部１０１４と、アクセスパターン設定部１００５と、描画部１０１０とを実現している。
＜２−１＞バッファ
入力データバッファ１００６は、２次元形状等を表すベクターデータを記憶している。ここで、ベクターデータは、図３（ａ），（ｂ）に示すように、直線や曲線から構成されるベクター画像を示す。また、入力データバッファ１００６には、第１の画像に対する第２の画像の解像度の比の分だけ、あらかじめ拡大したベクター画像を表すベクターデータが記憶されている。
【００３２】
ステンシルバッファ１００７は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により構成され、第1の画像を構成する複数の第１の画素情報が格納されている。ここで、第１の画素情報は、１画素当たり数ビットの大きさを有し、０または０以外の所定の値（本実施の形態では、“１”または“−１”をとる。以下、ステンシル値と称す。）を示す数値データにより構成されている。また、第1の画像は、例えば、文字１文字を表し、実際のディスプレイ１０１５に描画される画像よりも高解像度に設定されている。
【００３３】
フレームバッファ１００８は、ＤＲＡＭにより構成され、第２の画像を構成する各画素の第２の画素情報が格納されている。ここで、第２の画素情報は、１画素当たり数ビットの大きさを有し、各画素に対応する色値データにより構成されている。第２の画像は、実際のディスプレイ１０１５に描画される画像と同じ解像度に設定されている。
【００３４】
この第２の画素情報は、当該第２の画素情報に対応する複数の第１の画素情報に対して平均化処理等のフィルタ処理を行うことにより算出される。従って、第２の画素情報に対応して複数の第１の画素情報をどのように選択するかが、アンチエイリアシングの効果に影響を及ぼしうることになる。
【００３５】
ここで、平均化処理等のフィルタ処理を行う対象となる複数の画素により構成されるパターンを一般にアンチエイリアスパターンと呼ぶ。従って、アンチエイリアスパターンを構成する複数の画素の第１の画素情報から１画素分の第２の画素情報が生成される。第２の画素情報が、第１の画像における縦ｐ画素×横ｑ画素分に相当する複数の第１の画素情報を使用して生成される場合、アンチエイリアスパターンは、第１の画像における縦ｐ画素×横ｑ画素からなる領域と一致することになる。
＜２−２＞処理装置
＜２−２−１＞ベクターデータ入力部
ベクターデータ入力部１００１は、入力データバッファ１００６に記憶されているベクター画像を表すベクターデータを読み込む。ここで、ベクターデータは、図３（ａ）に示すように、線分を構成する第１の画像を表すものである場合、当該線分の両端２点の座標データ（例えば、点Ａと点Ｂの座標データ、点Ｃと点Ｄの座標データ）から構成される。
【００３６】
また、ベクターデータが、図３（ｂ）に示すように、ベジエ曲線Ｐを構成する第１の画像を表す場合、当該ベジエ曲線Ｐ上の３点の座標データ（例えば、点Ａ、点Ｂおよび点Ｄの座標データ）から構成される。この３点の座標データは、当該３点のうちの２点を通るベジエ曲線Ｐが内接する三角形を構成する３つの頂点の座標データを表す。
【００３７】
なお、ベジエ曲線Ｐとは、曲線上の座標Ｐ（ＸＰ，ＹＰ）が、以下の式（１）（２）で表される曲線を意味する。
式（１）
0005443482.tif 000002
【００３８】
式（２）
0005443482.tif 000003
【００３９】
図３（ｂ）で示す例では、Ｎ＝３、ｎ＝２に固定されており、式（１）のＢｉ（ｉ＝０，１，２）は、図３（ｂ）における点Ａ、点Ｂ、点Ｄを示す。
ベクターデータ入力部１００１は、例えば、データ形式の浮動小数点形式や固定小数点形式等から整数形式への変換、第１の画像上における座標系（相対座標系）から第２の画像上における座標系（絶対座標系）への変換、直線や曲線等により構成される第１の画像の平行移動、拡大、縮小、変形等を行うことができる。
＜２−２−２＞曲線分割部
曲線分割部１００２は、ベクターデータが表す曲線を複数の線分に分割する処理を行う。具体的には、曲線分割部１００２は、曲線や楕円上にある複数の点のうち互いに隣接する２点同士を結ぶ線分の集合を表す線分データを生成する処理を行う。
【００４０】
ベクターデータが、例えば、図３（ｂ）に示すように、点Ａと点Ｄとを結ぶベジエ曲線Ｐを表すものであれば、曲線分割部１００２は、図３（ｃ）に示すように、当該ベジエ曲線Ｐ上における点Ｅおよび点Ｆの座標データを前述の式（１）および式（２）に基づいて算出し、点Ａと点Ｅとを結ぶ線分、点Ｅと点Ｆとを結ぶ線分および点Ｆと点Ｄとを結ぶ線分からなる３つの線分（図３（ｃ）参照）を表す線分データを生成する。この線分データは、各線分の始点および終点それぞれの座標データと、当該線分の傾き（Ｙ座標が＋１だけ変化したときのＸ座標の変化量）を示すデータとから構成される。
＜２−２−３＞エッジ処理部
エッジ処理部１００３は、図形等を構成する第１の画像のうち輪郭線部分を作成する処理を行う。この輪郭線部分を作成する処理では、まず、ステンシルバッファ１００７に記憶されている全ての第1の画素情報（ステンシル値）を“０”に設定する。
【００４１】
次に、プレゼンハムの線分描画アルゴリズムを用いて、図４（ａ）に示すように、４角形を構成する第1の画像の輪郭線部分に相当する４つの線分ｌ１，ｌ２，ｌ３，ｌ４と重なる位置にある複数の画素の位置を特定するとともに、４角形の各辺を構成する各線分ｌ１，ｌ２，ｌ３，ｌ４と重なる画素毎に、各画素を通る線分ｌ１，ｌ２，ｌ３，ｌ４の始点のＹ座標と終点のＹ座標とを比較し、当該比較の結果に応じて各画素のステンシル値を設定する。
【００４２】
各画素を通る線分の始点のＹ座標に比べて当該線分の終点のＹ座標が大きい場合、当該画素に予め設定されているステンシル値“０”に“１”を加算することで、ステンシル値を“１”に設定する。例えば、図４（ａ）の画素ｐｘ１について見ると、画素ｐｘ１は線分ｌ１と重なり、線分ｌ１の始点のＹ座標は、線分ｌ１の終点のＹ座標に比べて大きい。従って、画素ｐｘ１のステンシル値は“１”に設定される。
【００４３】
各画素を通る線分ｌ１，ｌ２，ｌ３，ｌ４の始点のＹ座標に比べて当該線分ｌ１，ｌ２，ｌ３，ｌ４の終点のＹ座標が小さい場合、当該画素のステンシル値“０”に“−１”を加算してステンシル値を“−１”に設定する。例えば、図４（ａ）の画素ｐｘ２について見ると、画素ｐｘ２は線分ｌ３と重なり、線分ｌ３の始点のＹ座標は、線分ｌ３の終点のＹ座標に比べて小さい。従って、画素ｐｘ２のステンシル値は“−１”に設定される。
【００４４】
また、図４（ａ）の画素ｐｘ３について見ると、画素ｐｘ３は線分ｌ２と重なり、線分ｌ２の始点のＹ座標は、線分ｌ２の終点のＹ座標に比べて、１画素分以下の差異しかない。この場合、線分ｌ２の始点および終点のＹ座標は同じと判断され、ステンシル値の加算は行われず、画素ｐｘ３のステンシル値は“０”のまま維持される。
＜２−２−４＞塗り潰し処理部
塗り潰し処理部１００４は、図４（ｂ）に示すように、第１の画像を構成する多角形（図４（ｂ）の場合は４角形）の輪郭線の内側に位置する各画素のステンシル値を全て０以外の値（図４（ｂ）に示した例では、“１”）に設定する、いわゆる塗り潰す処理を行う。
【００４５】
塗り潰し処理は、第1の画像Ｇ１の一部を構成し且つ横方向に並列する複数の画素からなるライン毎に行われる。
例えば、図５（ａ）に示すように、第１の画像Ｇ１を構成する複数のラインのうち上から６番目のラインＬ６を塗り潰す場合、当該ラインの左端に位置する画素Ｐｘ６１のステンシル値“０”と、ラインＬ６の左端から２番目に位置する画素ｐｘ６２のステンシル値“＋１”とを加算して得られた値“＋１”で、画素ｐｘ６２のステンシル値“０”を“＋１”に書き換える（図５（ｂ）参照）。
【００４６】
次に、図５（ｂ）の状態において、図５（ｃ）に示すように、当該ラインの左端から２番目に位置する画素のステンシル値“＋１”と、ラインＬ６の左端から３番目に位置する画素ｐｘ６３のステンシル値“０”とを加算して得られた値“＋１”で、画素ｐｘ６３のステンシル値“０”を“＋１”に書き換える（図５（ｄ）参照）。
【００４７】
以降、当該ラインの左端からｎ番目に位置する画素のステンシル値と、当該ラインの左端からｎ＋１番目に位置する画素のステンシル値とを加算して得られた値で、左端からｎ＋１番目に位置する画素のステンシル値を書き換えることを繰り返していく。
【００４８】
そして、第１の画像Ｇ１上におけるラインＬ６全部についてステンシル値の書き換えが終わると、当該ラインＬ６と縦方向で隣接するライン（例えば、図５（ａ）乃至（ｄ）に示すラインＬ７）について同様の処理を繰り返す。
【００４９】
こうして、図４（ｂ）に示すように、第１の画像Ｇ１全てに対して、塗り潰し処理が完了すると、４角形の輪郭線の内側にある各画素のステンシル値が“１”に書き換わることになる。
【００５０】
塗り潰し処理では、ステンシルバッファ１００７に対して、１回にアクセスする複数の第１の画素情報に対応する第１のアクセスパターンに従って、アクセスして第１の画素情報の書き換えを行う。
【００５１】
塗り潰し処理部１００４は、ステンシルバッファ１００７に対して、塗り潰し処理を行うと同時に、ステンシルデータを読み出して、フレームデータ生成部１０１３に対して出力する。つまり、塗り潰し処理部１００４は、ステンシルバッファ１００７に対して、第１のアクセスパターンに従って、ステンシルデータの一部を読み出すステンシルデータ読み出し部として機能する。
【００５２】
塗り潰し処理では、処理速度を向上させるために、ステンシルバッファ１００７と処理装置１０２０との間でステンシルデータのバースト転送が行われている。つまり、図６（ａ）に示すように、処理装置１０２０とステンシルバッファ１００７との間で１画素分に対応するステンシルデータにアクセスする毎に、処理装置１０２０からステンシルバッファ１００７に対してアクセス要求を繰り返すのではなく、図６（ｂ）に示すように、複数画素分に対応するステンシルデータにアクセスする毎に、処理装置１０２０からステンシルバッファ１００７に対してアクセス要求を行う。以下、処理装置１０２０からステンシルバッファ１００７への１回のアクセス要求で処理装置１０２０がアクセスするデータ量をメモリバンド幅と称す。エッジ処理においても、塗り潰し処理と同様に、ステンシルバッファ１００７と処理装置１０２０との間でステンシルデータのバースト転送が行われている。
【００５３】
また、本実施の形態では、第１のアクセスパターンを、縦方向の画素数が４個、横方向の画素数が４個のブロック形状となるように設定している。このように、第１のアクセスパターンをブロック形状に設定している理由を以下に説明する。
【００５４】
仮に、図７（ａ）のように、第１のアクセスパターンｐ１１，ｐ１２，ｐ１３，ｐ１４が、縦１画素×横１６画素の直線状に設定されていると、第１の画像に描かれた２次元図形のエッジを描く方向Ｄ１と第１のアクセスパターンｐ１１，ｐ１２，ｐ１３，ｐ１４に対応する複数の画素の並び方向Ｄ２とが一致しない。従って、エッジ処理において、書き換える必要がある第１の画素情報の全てにアクセスするためには、書き換える必要のない第1の画素情報を含めて全ての第１の画素情報にアクセスしなければならない。これに対して、図７（ｂ）のように、第１のアクセスパターンｐ２１，ｐ２２，ｐ２３，ｐ２４が、縦４画素×横４画素のブロック形状に設定されていると、線分データの始点および終点の座標データから、アクセスすべき第１の画素情報をパターンｐ２１，ｐ２４で示す箇所に限定することができるので（図７（ｂ）に示すところの書き換えの必要のないパターンｐ２２，ｐ２３に対応する第１の画素情報にアクセスしないように限定する。）、無駄なアクセスを抑制することができる。
【００５５】
塗り潰し処理では、前述のように、第１の画像を構成する複数の画素からなるライン毎に、ラインの左端の画素から順番に第1の画素情報を書き換えていく。ここで、図８（ａ）に示すように、第１のアクセスパターンが、縦１画素×横１６画素の直線状に設定されていると、1回のアクセスで、各ラインＬ１１，Ｌ１２，Ｌ１３，Ｌ１４を構成する複数の画素全てについての第1の画素情報の書き換えが可能となる。つまり、４回のアクセスすれば、各ラインＬ１１，Ｌ１２，Ｌ１３，Ｌ１４を構成する複数の画素全てについての第1の画素情報の書き換えが完了する。
【００５６】
一方、図８（ｂ）に示すように、第１のアクセスパターンが、縦４画素×横４画素のブロック形状に設定されていると、左端から４画素分まで第1の画素情報を書き換えたところで、左端から４画素のところに位置する画素の第1の画素情報を主記憶装置等の所定の記憶領域に記憶させて、当該ラインに縦方向で隣接するラインの第1の画素情報の書き換え処理に移る。図８（ｂ）のブロックｂ１の処理では、ラインＬ１１の書き換え処理が終わってから、ラインＬ１１の右端の画素の第1の画素情報を一時的に所定の記憶領域に退避させてから、ラインＬ１２の書き換え処理に移る。従って、ブロックｂ１を構成する画素の第1の画素情報全てについて書き換えを完了するまでに第1の画素情報を所定の記憶領域に一時的に退避させる処理を４回行う必要がある。
【００５７】
そして、ブロックｂ１を構成する複数の画素の第1の画素情報の書き換え処理を完了して、ブロックｂ１の右側に隣接するブロックｂ２を構成する画素の第1の画素情報を書き換える際には、各ラインＬ１１，Ｌ１２，Ｌ１３，Ｌ１４を処理する毎に、ブロックｂ１の書き換えの際に所定の記憶領域に退避させておいた第1の画素情報を、再び読み出して書き換え処理を行う必要がある。従って、ブロックｂ２を構成する画素の第1の画素情報全てについて書き換えを完了するまでに第1の画素情報を読み出す処理を４回行う必要がある。
【００５８】
つまり、図８（ｂ）に示すように、第１のアクセスパターンがブロック形状に設定されていると、図８（ａ）に示すように、第１のアクセスパターンが直線状に設定されている場合に比べて、書き換えた第1の画素情報を一時的に所定の記憶領域に退避させる処理と退避させた第1の画素情報を読み出す処理とを行う必要がある分、書き換え処理の効率が低下してしまう。
【００５９】
これに対して、本実施の形態では、塗り潰し処理において、ブロック形状（例えば、縦４画素×横４画素）の第１のアクセスパターンを使用するとともに、処理装置１０２０が、第1のアクセスパターンでアクセスする各ブロックｂ１，ｂ２，ｂ３，ｂ４について、図８（ｃ）の矢印で示すように、縦方向に並列した４本のラインＬ１１，Ｌ１２，Ｌ１３，Ｌ１４を構成する第１の画素情報について同時に書き換えを行う。
【００６０】
つまり、ブロックｂ１に対して書き換え処理を完了した後、ブロックｂ１の右端に位置する縦４画素分の第1の画素情報全てを所定の記憶領域に一度に退避させる処理を１回だけ行い、次に、当該ブロックｂ１の右側に隣接するブロックｂ２の第1の画素情報を書き換える処理を行う際に、所定の記憶領域からブロックｂ１の右端に位置する縦４画素分のステンシル値全てを読み出す読み出し処理を１回だけ行うだけでよい。よって、図８（ｂ）に示した例に比べて、第１の画素情報を所定の記憶領域に一時的に退避させる処理と所定の記憶領域から第1の画素情報を読み出す処理とを行う回数を低減することができるので、図８（ｂ）に示した例に比べて、書き換え効率の低下を抑制することができる。
【００６１】
また、塗り潰し処理部１００４は、ステンシルバッファ１００７への累積アクセス回数をカウントしてフレームデータ生成部１０１３に出力する機能も有する。
＜２−２−５＞フレームデータ生成部
フレームデータ生成部１０１３は、塗り潰し処理部１００４から入力されるステンシルデータの一部から、第２の画素情報を生成する。
【００６２】
ここで、第２の画素情報は、各画素の不透明度（アルファ値）を反映する値（以下、カバレッジ値と称す）を示す。例えば、カバレッジ値が、１であれば不透明度が最も高く、カバレッジ値が１よりも小さくなるにつれて、不透明度が低下していく。第２の画像のエッジ部分について、不透明度が適宜設定されることにより、第２の画像のエッジ部分に生じるエイリアシングが抑制される。
【００６３】
カバレッジ値は、第２の画像を構成する画素１個分の第２の画素情報の生成に使用される第１の画素情報のうちステンシル値“１”を示す第１の画素情報の個数を反映している。
【００６４】
例えば、塗り潰し処理部１００４は、アンチエイリアスパターンが縦４画素×横４画素に設定されている場合、当該アンチエイリアスパターンの中にステンシル値が“＋１“である画素の数を計算する。例えば、縦４画素×横４画素のアンチエイリアスパターンの中にステンシル値が“＋１“の画素が５つ含まれていれば、カバレッジ値は５／１６になる。
【００６５】
第１の画像の各画素のステンシル値が、図９（ａ）に示すように設定されているとし、アンチエイリアスパターンが縦４画素×横４画素とすると、対応する第２の画像の一部の領域における各画素のカバレッジ値は、それぞれ図９（ｂ）に示すようになる。
【００６６】
フレームデータ生成部１０１３は、塗り潰し処理部１００４は、第1のアクセスパターンを使用して、図１０に示すように、第1の画像に対して横方向にずらしていく形で、ステンシルデータにアクセスしてステンシルデータの一部を読み出すと、図１０に示すように、第１の画像における第1のアクセスパターンの位置に対応する第２の画像上における位置のフレームデータの一部を順番に生成していく。
【００６７】
フレームデータ生成部１０１３は、予めステンシルバッファ１００７に格納されているステンシルデータの大きさに関する情報を保持する機能を有し、当該ステンシルデータの大きさに関する情報と、塗り潰し処理部１００４から入力されるステンシルバッファ１００７の累積アクセス回数と、パターン記憶部１００９から取得した第１のアクセスパターンに基づいて、ステンシルデータの全部に対応するフレームデータの一部の全てをフレームデータ書き込み部１０１４に出力したか否かを判断する機能を有する。
＜２−２−６＞アクセスパターン設定部
アクセスパターン設定部１００５は、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、フレームバッファ１００８に対して、１回にアクセスする複数の第２の画素情報に対応する画素の配置パターンを示す第２のアクセスパターンを設定する。
【００６８】
図１１のように、第１のアクセスパターンが、縦方向の画素数を２Ｎ、横方向の画素数を２Ｋ（ブロック形状又は直線形状）に設定され、アンチエイリアスパターンが、縦方向の画素数を２Ｍ、横方向の画素数を２Ｊに設定されている場合、アクセスパターン設定部１００５は、第２のアクセスパターンを縦方向の画素数を２Ｎ−Ｍ、横方向の画素数を２Ｋ−Ｊの２Ｊ＋Ｍ倍（ブロック形状又は直線形状）に設定する。ここで、Ｎ≧Ｍ、且つ、Ｋ≧Ｊの条件が成立している。つまり、第１のアクセスパターンに含まれる画素数と、第２のアクセスパターンに含まれる画素数とがいずれも２Ｎ＋Ｋ個に設定されていることになる。
【００６９】
第１のアクセスパターン（縦２Ｎ画素×横２Ｋ画素）の中に、アンチエイリアスパターン（縦２Ｍ画素×横２Ｊ画素）が、縦方向に２Ｎ−Ｍ組、横方向に２Ｋ−Ｊ組だけ入ることになるので、ステンシルバッファ１００７へのアクセス効率を向上させることができる。
【００７０】
例えば、図１２のように、エッジ処理部１００３および塗り潰し処理部１００４が、縦方向の画素数が２３、横方向の画素数が２３の第１のアクセスパターンを使用し、フレームデータ生成部１０１３が、縦方向の画素数が２２、横方向の画素数が２２のアンチエイリアスパターンを使用する場合、アクセスパターン設定部１００５が、第２のアクセスパターンを縦方向の画素数を２１、横方向の画素数を２１の２４倍である２５に設定する。
【００７１】
アクセスパターン設定部１００５は、第２のアクセスパターンを設定するとともに、フレームデータ書き込み部１０１４がフレームバッファ１００８にアクセスする回数、も設定する。なお、アクセスパターン設定部１００５は、第１のアクセスパターンおよび算出された第２のアクセスパターンからステンシルバッファ１００７およびフレームバッファ１００８それぞれへのアクセス回数（アクセス頻度）を算出して設定する。
【００７２】
第１のアクセスパターンが、縦方向の画素数を２Ｎ、横方向の画素数を２Ｋ（ブロック形状又は直線形状）に設定され、第２のアクセスパターンが、縦方向の画素数を２Ｎ−Ｍ、横方向の画素数を２Ｋ−Ｊの２Ｊ＋Ｍ倍（ブロック形状又は直線形状）に設定され、ステンシルバッファ１００７およびフレームバッファ１００８へのアクセスの際のメモリバンド幅が同じであるとすると、アクセスパターン設定部１００５は、メモリバンド幅が２Ｎ＋Ｋ画素分、ステンシルバッファ１００７への１回のアクセスで生成できるフレームデータの一部が縦２Ｎ−Ｍ画素×横２Ｋ−Ｊ画素分なので、ステンシルバッファ１００７へ２Ｊ＋Ｍ回アクセスするとフレームバッファ１００８へ１回アクセスするように設定する。
【００７３】
図１３に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横４画素に設定されているとすると、第２のアクセスパターンを縦１画素×横１６画素に設定するとともに、フレームバッファ１００８へのアクセス回数を、ステンシルバッファ１００７へ１６回アクセスする毎にフレームバッファ１００８へ１回アクセスするように設定する。そうすると、エッジ処理部１００３によるエッジ処理および塗り潰し処理部１００４による塗り潰し処理それぞれにおいて、処理装置１０２０が、ステンシルバッファに１６回アクセスすることにより、高解像度の第１の画像上における縦４画素×横６４画素の領域に相当するステンシルデータの一部が読み出される。次に、フレームデータ生成部１０１３によるフレームデータの生成処理において、当該ステンシルデータの一部から第１の画像よりも低解像度の第２の画像上における縦１画素×横１６画素の領域に相当するフレームデータの一部を生成すると、フレームデータ書き込み部１０１４によるフレームデータ書き込み処理において、処理装置１０２０が、フレームバッファ１００８に１回アクセスすることにより、第２の画像上における縦１画素×横１６画素の領域に相当するフレームデータの一部がフレームバッファ１００８に書き込まれる。
【００７４】
図１４（ａ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横４画素に設定されているとすると、第２のアクセスパターンを縦１画素×横１６画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでに、ステンシルバッファ１００７へアクセスする回数（アクセス回数）を１６回に設定する。
【００７５】
図１４（ｂ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横４画素に設定されているとすると、第２のアクセスパターンを縦２画素×横８画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでに、ステンシルバッファ１００７へアクセスする回数（アクセス回数）を８回に設定する。
【００７６】
図１４（ｃ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横２画素に設定されているとすると、第２のアクセスパターンを縦１画素×横１６画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を８回に設定する。
【００７７】
図１４（ｄ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横２画素に設定されているとすると、第２のアクセスパターンを縦２画素×横８画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を４回に設定する。
【００７８】
図１４（ｅ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦１画素×横１画素、つまり、アンチエイリアシングを行わないように設定されているとすると、第２のアクセスパターンを縦４画素×横４画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を１回に設定する。
【００７９】
フレームデータ書き込み部１０１４は、アクセスパターン設定部１００５により設定された第２のアクセスパターンに従って、図１０（ｂ）に示すように、第２の画像上で第２のアクセスパターンを横方向にずらしていく形で、フレームバッファ１００８における対応する記憶領域にアクセスしていくことにより、第２の画素情報をフレームバッファ１００８に順次書き込む。
＜２−２−７＞フレームデータ書き込み部および描画部
フレームデータ書き込み部１０１４は、フレームデータ生成部１０１３から入力される複数の第２の画素情報を少なくとも第２のアクセスパターンに相当する分だけ一時的に保持しておくことができる第２の画素情報保持手段（図示せず）を有する。なお、第２の画素情報保持手段は、例えば、主記憶装置上の一部の記憶領域やレジスタ等で実現されている。
【００８０】
描画部１０１０は、フレームバッファ１００８に格納されたフレームデータをディスプレイ１０１５に描画する。
＜２−３＞その他
パターン記憶部１００９は、レジスタの集合からなり、第１のアクセスパターンに関する情報と、アンチエイリアスパターンに関する情報とをレジスタ毎に保持している。例えば、第１のアクセスパターンに関する情報として、第１の画像における縦４画素×横４画素のブロック形状の内側にある複数の画素に対応するステンシルデータの一部にアクセスすることを示す情報を保持する。
【００８１】
パターン入力部１０１２は、例えば、図１５に示すように、ユーザが画面上から数値入力可能なユーザインターフェースからなり、ユーザがパターン記憶部１００９に第１のアクセスパターンやアンチエイリアスパターンに関する情報を格納する際に使用される。図１１に示すユーザインターフェースでは、入力欄１０１２ａ１，１０１２ａ２それぞれに、乗数（例えば、入力欄１０１２ａ１に２、入力欄１０１２ａ２に２）を入力すると、第１のアクセスパターンを２２画素×２２画素（＝４画素×４画素）に設定することができる。また、入力欄１０１２ｂ１，１０１２ｂ２それぞれに、乗数（例えば、入力欄１０１２ｂ１に２、入力欄１０１２ｂ２に２）を入力すると、アンチエイリアスパターンを２２画素×２２画素（＝４画素×４画素）に設定することができる。
【００８２】
結局、本実施の形態では、第２のアクセスパターンおよびフレームバッファ１００８へのアクセス頻度を適宜設定することにより、アクセス効率を向上させることができるので、フレームバッファ１００８への１回のアクセスで転送するデータ量（メモリバンド幅）を変更するような制御が不要となる。
＜３＞動作
以下、本実施の形態の動作について説明する。
＜３−１＞全体動作
本実施の形態に係るグラフィクス描画装置の全体動作について図１６に基づいて説明する。
【００８３】
まず、ベクターデータ入力部１００１が、入力データバッファ１００６に記憶されているベクターデータを読み込み（ステップＳ１）、曲線分割部１００２に出力すると、曲線分割部１００２が、ベクターデータ入力部１００１から入力されるベクターデータに基づいて線分データを生成し（ステップＳ２）、当該線分データをエッジ処理部１００３に出力する。
【００８４】
次に、エッジ処理部１００３が、曲線分割部１００２から入力される複数の線分データに基づいて、第１のアクセスパターンでステンシルバッファ１００７にアクセスして、エッジ処理を行う（ステップＳ３）。このとき、アクセスパターン設定部１００５は、パターン記憶部１００９から取得した第１のアクセスパターンとアンチエイリアスパターンとに基づいて第２のアクセスパターンおよびステンシルバッファ１００７およびフレームバッファ１００８それぞれへのアクセス回数を設定するサブルーチンを呼び出す（ステップＳ４）。
【００８５】
その後、塗り潰し処理部１００４が読み出したステンシルデータからフレームデータ生成部１０１３がフレームデータの一部を生成し、当該フレームデータの一部をフレームデータ書き込み部１０１４がフレームバッファ１００８に書き込むサブルーチンを呼び出す（ステップＳ５）。以下、フレームデータの一部の生成およびフレームデータの一部の書き込みをフレームデータ処理として説明を進める。
【００８６】
次に、フレームデータ生成部１０１３が、ステンシルデータの大きさと、塗り潰し処理部１００４から出力される塗り潰し処理部１００４のステンシルバッファ１００７への累積アクセス回数と、パターン記憶部１００９から読み出した第１のアクセスパターンとに基づいて、ステンシルデータの全部に対応するフレームデータの一部が全てフレームバッファ１００８に出力されたか否かを判断することにより、当該フレームデータの一部が全てフレームバッファ１００８に書き込まれたか否かを判断する（ステップＳ６）。
【００８７】
ステップＳ６において、まだ、ステンシルデータの全部に対応するフレームデータの一部が全てフレームバッファ１００８に書き込まれていないと判断すると（ステップＳ６：Ｎｏ）、再び、ステップＳ５へ移行する。
【００８８】
一方、ステップＳ６において、ステンシルデータの全部に対応するフレームデータの一部が全てフレームバッファ１００８へ書き込まれたと判断すると（ステップＳ６：Ｙｅｓ）、描画部１０１０が、フレームバッファ１００８からフレームデータを取得して、当該フレームデータをディスプレイ１０１５に描画する（ステップＳ７）。
＜３−２＞第２のアクセスパターンの設定動作
次に、本実施の形態に係るグラフィクス描画装置１０００の第２のアクセスパターンの設定を行うサブルーチンを図１７に基づいて説明する。
【００８９】
まず、パターン記憶部１００９から第１のアクセスパターンを取得する（ステップＳ４１）と、第１のアクセスパターンの画素数２Ｎ＋Ｋから、フレームバッファ１００８へアクセスする際のメモリバンド幅を第２の画素情報２Ｎ＋Ｋ画素分の大きさに設定する（ステップＳ４２）。
【００９０】
次に、パターン記憶部１００９からアンチエイリアスパターンを取得して（ステップＳ４３）、第１のアクセスパターンにおける縦方向の画素数２Ｎをアンチエイリアスパターンの縦方向の画素数２Ｍで除する演算を行い、算出された画素数２Ｎ−Ｍを第２のアクセスパターンにおける縦方向の画素数に設定する（ステップＳ４４）。
【００９１】
その後、フレームバッファ１００８にアクセスする際のメモリバンド幅に相当する画素数２Ｎ＋Ｋを第２のアクセスパターンにおける横方向の画素数２Ｎ−Ｍで除する演算を行い、算出された画素数２Ｋ＋Ｍを第２のアクセスパターンにおける横方向の画素数に設定する（ステップＳ４５）。
【００９２】
次に、第１のアクセスパターンにおける横方向の画素数２Ｋをアンチエイリアスパターンにおける横方向の画素数２Ｊで除する演算を行い、算出された画素数２Ｋ−Ｊに第２のアクセスパターンにおける縦方向の画素数２Ｎ−Ｍを積算することにより、ステンシルバッファ１００７への１回のアクセスでフレームデータ生成部１０１３が生成するフレームデータの一部の画素数２Ｎ−Ｍ＋Ｋ−Ｊを算出し（ステップＳ４６）、メモリバンド幅２Ｎ＋Ｋを当該画素数２Ｎ−Ｍ＋Ｋ−Ｊで除する演算を行い、算出された値を、フレームバッファ１００８に１回アクセスするまでにステンシルバッファ１００７にアクセスする回数（アクセス回数）に設定する（ステップＳ４７）。
【００９３】
最後に、第２のアクセスパターンおよびアクセス回数をフレームデータ書き込み部１０１４に対して出力する（ステップＳ４８）。
＜３−３＞フレームデータ処理における動作
本実施の形態に係るグラフィクス描画装置１０００のフレームデータの一部の生成およびフレームデータの書き込み処理（フレームデータ処理）を行うサブルーチンを図１８に基づいて説明する。
【００９４】
まず、塗り潰し処理部１００４が、塗り潰し処理を行うとともに、パターン記憶部１００９から取得した第１のアクセスパターンに従って、ステンシルバッファ１００７に格納されたステンシルデータの一部を読み出し、フレームデータ生成部１０１３に出力する（ステップＳ５１）。
【００９５】
次に、フレームデータ生成部１０１３が、塗り潰し処理部１００４から出力されるステンシルデータの一部から第２の画素情報を生成し、フレームデータ書き込み部１０１４に出力する（ステップＳ５２）。このとき、フレームデータ書き込み部１０１４は、フレームデータ生成部１０１３から入力される第２の画素情報を第２の画素情報保持手段に格納していく（ステップＳ５３）。
【００９６】
そして、フレームデータ書き込み部１０１４が、第２の画素情報保持手段に第２のアクセスパターンに相当する分の複数の第２の画素情報が格納されたか否かを判断する（ステップＳ５４）。ここにおいて、フレームデータ書き込み部１０１４は、アクセスパターン設定部１００５から出力されたアクセス回数（フレームデータ書き込み部１０１４がフレームバッファ１００８に１回アクセスするまでに、塗り潰し処理部１００４が、ステンシルバッファ１００７にアクセスする回数）に基づいて判断する。
【００９７】
ステップＳ５４において、フレームデータ書き込み部１０１４が、第２の画素情報保持手段に、まだ、第２のアクセスパターンに相当する分の複数の第２の画素情報が格納されていないと判断すると（ステップＳ５４：Ｎｏ）、再度、第１のアクセスパターンに従って、ステンシルバッファ１００７に１回アクセスしてステンシルデータの一部を読み出す（ステップＳ５１）。
【００９８】
一方、ステップＳ５４において、フレームデータ書き込み部１０１４が、第２の画素情報保持手段に、第２のアクセスパターンに相当する分の複数の第２の画素情報が格納されたと判断すると（ステップＳ５４：Ｙｅｓ）、フレームデータ書き込み部１０１４は、第２のアクセスパターンに従って、フレームバッファ１００８に１回だけアクセスして、第２の画素情報保持手段に格納された複数の第２の画素情報よりなるフレームデータの一部をフレームバッファ１００８に書き込む（ステップＳ５５）。ここで、フレームデータ書き込み部１０１４は、フレームデータの一部の書き込みが完了すると、第２の画素情報保持手段の内容を消去する。
<実施の形態２>
以下、本実施の形態について説明する。なお、動作は実施の形態１と同様なので説明を省略する。
【００９９】
・  構成
本実施の形態のグラフィクス描画装置１０００は、実施の形態１の構成と略同様であって、エッジ処理部１００３、塗り潰し処理部１００４、フレームデータ生成部１０１３、アクセスパターン設定部１００５およびフレームデータ書き込み部１０１４の機能のみが相違する。
【０１００】
本実施の形態では、塗り潰し処理部１００４が、図１９に示すように、第1のアクセスパターンを使用して、第1の画像に対して縦方向にずらしていく形で、ステンシルデータにアクセスしてステンシルデータの一部を読み出し、フレームデータ生成部１０１３が、図１９に示すように、第１の画像における第1のアクセスパターンの位置に対応する第２の画像上の位置の第２の画素情報を順番に生成していく。
【０１０１】
アクセスパターン設定部１００５は、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、前記フレームバッファに対して、１回にアクセスする複数の第２の画素情報に対応する画素の配置パターンを示す第２のアクセスパターンを設定する第２のアクセスパターンを設定する。
【０１０２】
ここで、エッジ処理部１００３および塗り潰し処理部１００４が、縦方向の画素数が２Ｎ、横方向の画素数が２Ｋ（ブロック形状又は直線形状）の第１のアクセスパターンを使用し、フレームデータ生成部１０１３が、縦方向の画素数が２Ｍ、横方向の画素数が２Ｊのアンチエイリアスパターンを使用する場合、アクセスパターン設定部１００５が、第２のアクセスパターンを縦方向の画素数を２Ｎ−Ｍの２Ｍ＋Ｊ倍、横方向の画素数を２Ｋ−Ｊ（ブロック形状又は直線形状）に設定する。ここで、Ｎ≧Ｍ、且つ、Ｋ≧Ｊの条件が成立している。つまり、第１のアクセスパターンに含まれる画素数と、第２のアクセスパターンに含まれる画素数とがいずれも２Ｎ＋Ｋ個に設定されていることになる。
【０１０３】
また、アクセスパターン設定部１００５は、第２のアクセスパターンを設定するとともに、フレームデータ書き込み部１０１４がフレームバッファ１００８にアクセスする回数、も設定する。
【０１０４】
図２０（ａ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横４画素に設定されているとすると、第２のアクセスパターンを縦１６画素×横１画素に設定するとともに、フレームバッファ１００８への1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を１６回に設定する。
【０１０５】
図２０（ｂ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横２画素に設定されているとすると、第２のアクセスパターンを縦８画素×横２画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を８回に設定する。
【０１０６】
図２０（ｃ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横４画素に設定されているとすると、第２のアクセスパターンを縦１６画素×横１画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を８回に設定する。
【０１０７】
図２０（ｄ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横２画素に設定されているとすると、第２のアクセスパターンを縦８画素×横２画素に設定するとともに、フレームバッファ１００８へ1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を４回に設定する。
【０１０８】
図２０（ｅ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦１画素×横１画素、つまり、アンチエイリアシングを行わないように設定されているとすると、第２のアクセスパターンを縦４画素×横４画素に設定するとともに、フレームバッファ１００８に1回アクセスするまでにステンシルバッファ１００７へアクセスする回数（アクセス回数）を１回に設定する。
【０１０９】
フレームデータ書き込み部１０１４は、アクセスパターン設定部１００５により設定された第２のアクセスパターンに従って、図１９に示すように、第２の画像上で第２のアクセスパターンを縦方向にずらしていく形で、フレームバッファ１００８における対応する記憶領域にアクセスしていくことにより、第２の画素情報をフレームバッファ１００８に順次書き込む。
【０１１０】
結局、本実施の形態では、第２のアクセスパターンおよびフレームバッファ１００８へのアクセス頻度を適宜設定することにより、アクセス効率を向上させることができるので、フレームバッファ１００８への１回のアクセスで転送するデータ量（メモリバンド幅）を変更するような制御が不要となる。
<実施の形態３>
以下、本実施の形態について説明する。
＜１＞構成
本実施の形態のグラフィクス描画装置１０００は、実施の形態１の構成と略同様であって、アクセスパターン設定部１００５の機能およびフレームバッファ１００８が相違する。なお、アクセスパターン設定部１００５は、実施の形態１と同様に、処理装置１０２０が適宜のプログラムを実行することにより実現されている。
【０１１１】
アクセスパターン設定部１００５は、第１のアクセスパターンとアンチエイリアスパターンとに基づいて、複数の第２の画素情報に対応する第２のアクセスパターンを設定する。
【０１１２】
フレームバッファ１００８は、処理装置１０２０からの要求に応じてバースト長を変更することができる可変バースト長機能を有するＤＲＡＭにより構成されている。
ここで、図２１に示すように、第１のアクセスパターンが、縦方向の画素数を２Ｎ、横方向の画素数を２Ｋ（ブロック形状又は直線形状）に設定され、アンチエイリアスパターンが、縦方向の画素数を２Ｍ、横方向の画素数を２Ｊに設定されている場合、アクセスパターン設定部１００５が、第２のアクセスパターンを縦方向の画素数を２Ｎ−Ｍ、横方向の画素数を２Ｋ−Ｊ（ブロック形状又は直線形状）に設定する。ここで、Ｎ≧Ｍ、且つ、Ｋ≧Ｊの条件が成立している。
【０１１３】
図２２に示すように、第１のアクセスパターンが、縦方向の画素数を２３、横方向の画素数を２３に設定され、アンチエイリアスパターンが、縦方向の画素数を２２、横方向の画素数を２２に設定されている場合、アクセスパターン設定部１００５が、第２のアクセスパターンを縦方向の画素数を２１、横方向の画素数を２１に設定する。
【０１１４】
アクセスパターン設定部１００５は、第２のアクセスパターンに基づいてフレームバッファ１００８にアクセスする際のメモリバンド幅を変更する。例えば、第１のアクセスパターンが１６画素（縦４画素×横４画素）に設定されていると、エッジ処理および塗り潰し処理において、処理装置１０２０は、ステンシルバッファ１００７からメモリバンド幅１６画素分（図２３（ａ）のデータＤａｔａ１乃至データＤａｔａ１６）の設定でステンシルデータの一部がバースト転送される。ここで、アンチエイリアスパターンが、縦２画素×横２画素に設定されているとすれば、フレームデータ書き込み処理において、処理装置１０２０は、フレームバッファ１００８に対して、メモリバンド幅４画素分（図２３（ｂ）のデータＤａｔａ２１乃至データＤａｔａ２４）の設定でフレームデータの一部をバースト転送する。
【０１１５】
次に、アクセスパターン設定部１００５の機能について説明する。
図２４（ａ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横４画素に設定されているとすると、第２のアクセスパターンを縦１画素×横１６画素に設定するとともに、フレームバッファ１００８にアクセスする際のメモリバンド幅を１画素分に設定する。
【０１１６】
図２４（ｂ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横４画素に設定されているとすると、第２のアクセスパターンを縦２画素×横８画素に設定するとともに、フレームバッファ１００８へアクセスする際のメモリバンド幅を２画素分に設定する
図２４（ｃ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦４画素×横２画素に設定されているとすると、第２のアクセスパターンを縦１画素×横１６画素に設定するとともに、フレームバッファ１００８へアクセスする際のメモリバンド幅を２画素分に設定する。
【０１１７】
図２４（ｄ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦２画素×横２画素に設定されているとすると、第２のアクセスパターンを縦２画素×横８画素に設定するとともに、フレームバッファ１００８へアクセスする際のメモリバンド幅を４画素分に設定する。
【０１１８】
図２４（ｅ）に示すように、第１のアクセスパターンが縦４画素×横４画素、アンチエイリアスパターンが縦１画素×横１画素、つまり、アンチエイリアシングを行わないように設定されているとすると、第２のアクセスパターンを縦４画素×横４画素に設定するとともに、フレームバッファ１００８へアクセスする際のメモリバンド幅を１６画素分に設定する。ここで、メモリバンド幅は変更しない。
【０１１９】
フレームデータ書き込み部１０１４は、フレームバッファ１００８に対して、アクセスパターン設定部１００５により設定された第２のアクセスパターンに対応するフレームデータの一部が格納される記憶領域毎にアクセスすることによりフレームデータ生成部１０１３により生成されたフレームデータをフレームバッファ１００８に書き込むフレームデータ書き込み処理を行う。また、フレームデータ書き込み部１０１４によるフレームデータ書き込み処理では、前述のエッジ処理および塗り潰し処理と同様に、フレームバッファ１００８と処理装置１０２０との間でのデータ転送をバースト転送により行っている。
【０１２０】
描画部１０１０は、フレームバッファ１００８にアクセスしてフレームデータを取得してディスプレイ１０１５に描画する。
結局、本実施の形態では、フレームデータ書き込み処理において、フレームデータ生成部１０１３がステンシルバッファ１００７への１回のアクセスで読み出したステンシルデータの一部からフレームデータ生成部１０１３が生成した複数の第２の画素情報に相当する大きさに合わせて、フレームデータ書き込み部１０１４が、フレームバッファ１００８に対する１回のアクセスでフレームバッファ１００８に書き込む際のメモリバンド幅を変更することができるので、実施の形態１および２のようにフレームデータ書き込み部１０１４に第２の画素情報保持手段（図示せず）を設ける必要がなくなる。
＜３＞動作
本実施の形態のグラフィクス描画装置１０００は、実施の形態１と略同様であり、第２のアクセスパターンを設定するサブルーチンおよびフレームデータの一部の生成およびフレームデータの書き込みを行うフレームデータ処理のサブルーチンが実施の形態１と相違する。以下、第２のアクセスパターンの設定を行うサブルーディンおよびフレームデータの一部の生成およびフレームデータの書き込みを行うフレームデータ処理のサブルーディンについて説明する。
＜３−１＞第２のアクセスパターンの設定動作
次に、本実施の形態に係るグラフィクス描画装置１０００の第２のアクセスパターンの設定を行うサブルーチンを図２５に基づいて説明する。
【０１２１】
まず、パターン記憶部１００９から第１のアクセスパターンを取得するとともに（ステップＳ４１２）、アンチエイリアスパターンを取得する（ステップＳ４２２）。
次に、第１のアクセスパターンにおける縦方向の画素数２Ｎをアンチエイリアスパターンの縦方向の画素数２Ｍで除する演算を行い、算出された画素数２Ｎ−Ｍを第２のアクセスパターンにおける縦方向の画素数に設定するとともに（ステップＳ４３２）、第１のアクセスパターンにおける縦方向の画素数２Ｎをアンチエイリアスパターンの縦方向の画素数２Ｍで除する演算を行い、算出された画素数２Ｎ−Ｍを第２のアクセスパターンにおける縦方向の画素数に設定する（ステップＳ４４２）。
【０１２２】
最後に、第２のアクセスパターンをフレームデータ書き込み部１０１４に対して出力する（ステップＳ４５２）。
＜３−２＞フレームデータ処理における動作
次に、本実施の形態に係るグラフィクス描画装置１０００のフレームデータの一部の生成およびフレームデータの書き込み処理を行うフレームデータ処理のサブルーチンを図２６に基づいて説明する。
【０１２３】
塗り潰し処理部１００４が、塗り潰し処理を行うとともに、パターン記憶部１００９から取得した第１のアクセスパターンに従って、ステンシルバッファ１００７に格納されたステンシルデータの一部を読み出し、フレームデータ生成部１０１３に出力する（ステップＳ５１２）。
【０１２４】
次に、フレームデータ生成部１０１３が、塗り潰し処理部１００４から出力されるステンシルデータの一部から複数の第２の画素情報を生成し、フレームデータ書き込み部１０１４に出力する（ステップＳ５２２）。
【０１２５】
その後、処理装置１０２０からフレームバッファ１００８に対してバースト長可変要求を行い、メモリバンド幅（バースト長）をフレームデータ生成部１０１３により生成され、フレームデータ書き込み部１０１４に入力された第２の画素情報に相当する大きさに設定する（ステップＳ５３２）。具体的には、フレームデータ生成部１０１３が、塗り潰し処理部１００４がステンシルバッファ１００７に１回のアクセスで読み出してフレームデータ生成部１０１３に出力したステンシルデータの一部から生成した画素数２Ｎ−Ｍ＋Ｋ−Ｊ分の第２の画素情報に相当する大きさに設定する。
【０１２６】
最後に、フレームデータ書き込み部１０１４が、第２のアクセスパターンに従って、フレームバッファ１００８に１回だけアクセスして、第２の画素情報保持手段に格納された複数の第２の画素情報よりなるフレームデータの一部をフレームバッファ１００８に書き込む（ステップＳ５４２）。
＜変形例＞
（１）前述の実施の形態１乃至３では、入力データバッファ１００６、ステンシルバッファ１００７、フレームバッファ１００８は、物理的に異なるメモリで構成されている例について説明したが、これらは物理的に同一のメモリで構成されていて、異なる記憶領域に配置されてなるものであってもよい。
【０１２７】
また、本変形例において、ある程度の大きさのデータを一時的に蓄えることができるキャッシュメモリ（図示せず）を設けてもよい。
これによれば、処理装置１０２０のメモリへのアクセスが競合することによって生じるレイテンシの増加を抑制することができる。
（２）前述の実施の形態１乃至３では、ステンシルバッファ１００７とフレームバッファ１００８とが、物理的に別個のＤＲＡＭから構成される例について説明したが、これに限定されるものではなく、例えば、可変バースト長機能を有する１つのＤＲＡＭを用い、当該ＤＲＡＭの中にステンシルバッファ１００７として用いる記憶領域と、フレームバッファ１００８として用いる記憶領域を設けてなる構成とし、処理装置１０２０がステンシルバッファ１００７として用いる記憶領域にアクセスする際のバースト長と、フレームバッファ１００８として用いる記憶領域にアクセスする際のバースト長を変更する構成としてもよい。
【０１２８】
本変形例によれば、１つのＤＲＡＭでステンシルバッファ１００７とフレームバッファ１００８とを構成することができるので、グラフィクス描画装置内におけるＤＲＡＭ等のメモリを配設するスペースを小さくすることができる。
（３）前述の実施の形態１乃至３では、曲線分割部１００２が、ベクターデータから、点と点を結ぶ線分を生成する例について説明したが、これに限定されるものではなく、例えば、ベクター画像を表すベクターデータを、第１の画像の解像度レベルで互いに隣接した点の集合から構成される点データに変換する機能を有するものであっても良い。
【０１２９】
この変形例によれば、直線の傾きデータ等が不要になるので、直線の傾き等を算出する処理が不要とすることができ、また、直線を表すデータと曲線を表すデータとを同じデータ形式で統一することができる。
（４）前述の実施の形態１乃至３におけるエッジ処理では、エッジを構成する線分の描画方向とステンシル値に加算する値との関係を、第１の画像に対してＹ軸の正の方向に線分を描画する場合、ステンシル値に＋１（または、＋１より大きい正の整数）を加算するように設定した例について説明したが、これに限定されるものではなく、例えば、第１の画像に対してＹ軸の正の方向に線分を描画する場合、ステンシル値に−１（または、−１より小さい負の整数）を加算するように設定したものであってもよい。
【０１３０】
また、本変形例では、線分の始点から終点への向きとは無関係に、常に線分を第１の画像に対してＹ軸の正の方向（または、Ｙ軸の負の方向）に線分を描画し、ステンシル値に加算する値の符号だけを、線分の始点から終点への向きに応じて変化させるようにしても良い。
（５）前述の実施の形態１乃至３における塗り潰し処理では、処理装置１０２０が、ステンシルバッファ１００７に対する一度のアクセス要求で、第１の画像の一部を構成する縦８画素×横８画素に対応するステンシルデータが格納された記憶領域にアクセスし、当該複数の画素に対応するステンシルデータの書き換えを行うと同時に、その都度、ステンシル値をフレームデータに出力する例について説明したが、これに限定されるものではなく、塗り潰し処理において、ステンシルデータの書き換えを実際には行わず、フレームデータ生成部１０１３にステンシル値を出力するだけであってもよい。
【０１３１】
本変形例によれば、ステンシルデータの書き換えを行わないので、塗り潰し処理における処理量を低減することができる。
（６）前述の実施の形態１および２では、入力データバッファ１００６には、第１の画像の解像度に対する第２の画像の解像度の比の分だけ、あらかじめ拡大したベクター画像を表すベクターデータが記憶されている例について説明したが、これに限定されるものではなく、例えば、ベクターデータ入力部１００１にベクターデータが入力されると、ベクターデータ入力部１００１が、第１の画像の解像度に対する第２の画像の解像度の比の分だけ拡大したベクター画像を表すベクターデータを生成する構成であってもよい。
【０１３２】
本変形例によれば、ユーザが第１の画像の解像度を意識する必要がないので、使い勝手を向上させることができる。
（７）前述の実施の形態１乃至３では、第２の画像よりも解像度が高い第１の画像を生成するために、入力データバッファ１００６には、あるベクター画像を第１の画像に対する第２の画像の解像度の比の分だけ、あらかじめ拡大したベクター画像を表すベクターデータが記憶されている例について説明したが、これに限定されるものではなく、例えば、エッジ処理部１００３や塗り潰し処理部１００４が、解像度の比の分だけ拡大したベクター画像を表すベクターデータを生成するとともに、当該ベクターデータに基づいてステンシルデータを生成してステンシルバッファ１００７に記憶させるように構成されてなるものであってもよい。
（８）前述の実施の形態１乃至３では、第１のアクセスパターンが、縦方向の画素数をＣ１×２Ｎ、横方向の画素数をＣ２×２Ｋ（Ｃ１、Ｃ２は正の整数）に設定されてなるものであってもよい。この場合、アンチエイリアスパターンが、縦方向の画素数を２Ｍ、横方向の画素数を２Ｊに設定される場合、第１のアクセスパターン（縦Ｃ１・２Ｎ画素×横Ｃ２・２Ｋ画素）の中に、アンチエイリアスパターン（縦２Ｍ画素×横２Ｊ画素）が、縦方向にＣ１・２Ｎ−Ｍ組、横方向にＣ２・２Ｋ−Ｊ組だけ入ることになるので、ステンシルバッファ１００７へのアクセス効率を向上させることができる。
（９）前述の実施の形態１乃至３では、ユーザがパターン入力部１０１２により１つのアンチエイリアスパターンをパターン記憶部１００９に記憶する例について説明したが、これに限定されるものではなく、パターン記憶部１００９に予め、図２７に示すような、パターン管理テーブルＴが記憶されてなるものであってもよい。ここで、アクセスパターン設定部１００５は、パターン管理テーブルＴを参照して、フレームデータ書き込み部１０１４の第２のアクセスパターンを変更するようにしてもよい。例えば、第１のアクセスパターンが「縦８画素×横８画素のブロック形状」であり、アンチエイリアスパターンが「縦４画素×横４画素」である場合には、アクセスパターン設定部１００５は、パターン管理テーブルＴの対応する識別ＩＤを参照して、第２のアクセスパターンを「縦２画素×横２画素のブロック形状」に設定する。また、第１のアクセスパターンが「縦８画素×横８画素のブロック形状」であり、アンチエイリアスパターンが「縦４画素×横４画素」である場合には、アクセスパターン設定部１００５は、パターン管理テーブルを参照して、第２のアクセスパターンを「縦２画素×横２画素のブロック形状」に設定する。
【０１３３】
また、本変形例では、ユーザがパターン管理テーブルの識別ＩＤを自由に選択できるように、パターン入力部１０１２が、図２８に示すようなタッチパネルにより構成されるものであってもよい。ここで、図２８に示すタッチパネル上に表示されたメモリバンド幅を選択する選択釦１０１２ａと、アンチエイリアスパターンを選択する選択釦１０１２ｂとの組み合わせそれぞれが、パターン管理テーブルＴの各識別ＩＤに対応づけがなされており、ユーザが指定した組み合わせに対応した識別ＩＤが選択されるようになっている。
【０１３４】
よって、ユーザがタッチパネルの簡単な操作で容易に描画設定を行うことができるので、グラフィクス描画装置１０００の使い勝手を向上させることができる。
また、前述の実施の形態１乃至３のグラフィクス描画装置では、第２の画像の解像度を高くすればエイリアシングの抑制効果が高くなるが、フレームデータの大きさが増加するので、フレームバッファ１００８へのフレームデータの書き込み処理に時間を要してしまい、グラフィクス描画装置全体の処理速度が低下してしまう。一方、第２の画像の解像度を低くすればフレームデータの大きさが小さくなるので、フレームバッファ１００８へのフレームデータの書き込み処理に要する時間が短縮され、グラフィクス描画装置全体の処理速度は向上するが、第２の画像の解像度が低下するのでエイリアシングの抑制効果が低下してしまう。即ち、エイリアシングの抑制効果とグラフィクス描画装置全体の処理速度の向上とはトレードオフの関係にある。
【０１３５】
これに対して、本変形例では、ユーザーがアンチエイリアスパターンを自由に設定できるので、グラフィクス描画装置の使用目的に応じて、エイリアシングの抑制効果を向上させた画質重視の設定、若しくはグラフィクス描画装置全体の処理速度を向上させた処理速度重視の設定のいずれかを自由に選択できるようになる。
＜補足＞
本実施の形態のグラフィクス描画装置は、典型的には半導体集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部またはすべてを含むように１チップ化されても良い。ここではＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１３６】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現しても良い。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ
Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１３７】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適応などが可能性として有り得る。
【０１３８】
さらに加えて、本実施の形態のグラフィクス描画装置を集積化した半導体チップと、画像を描画するためのディスプレイとを組み合せて、様々な用途に応じた描画機器を構成することができる。特に、ベクターグラフィックスは文字（アウトラインフォント）を描画する手段としての利用価値が高いため、携帯電話やテレビ、デジタルビデオレコーダ、デジタルビデオカメラ、カーナビゲーション等における情報描画手段として、本発明を利用することが可能である。ディスプレイとしては、ブラウン管（ＣＲＴ）の他、液晶やＰＤＰ（プラズマディスプレイパネル）、有機ＥＬなどのフラットディスプレイ、プロジェクターを代表とする投射型ディスプレイなどと組み合わせることが可能である。
【産業上の利用可能性】
【０１３９】
本発明のグラフィクス描画装置は、例えば、ベクター図形、特に文字（アウトラインフォント）を美しく、かつ省電力で高速に描画するための手段として、様々な用途に利用可能である。例えば、携帯電話や携帯音楽プレーヤー、デジタルカメラ、デジタルビデオカメラ等の電池駆動の携帯表示端末や、テレビ、デジタルビデオレコーダー、カーナビゲーション等の高解像度の情報表示機器におけるメニュー表示やＷｅｂブラウザ、エディタ、ＥＰＧ、地図表示等における情報表示手段として利用価値が高い。
【符号の説明】
【０１４０】
１０００    グラフィクス描画装置
１００１    ベクターデータ入力部
１００２    曲線分割部
１００３    エッジ処理部
１００４    塗り潰し処理部（ステンシルデータ読み出し部）
１００５    アクセスパターン設定部
１００６    入力データバッファ
１００７    ステンシルバッファ
１００８    フレームバッファ
１００９    パターン記憶部
１０１０    描画部
１０１２    パターン設定部
１０１３    フレームデータ生成部
１０１４    フレームデータ書き込み部
１０１５    ディスプレイ
Ｔ    パターン管理テーブル
【図１】
0005443482.tif 000004
【図２】
0005443482.tif 000005
【図３】
0005443482.tif 000006
【図４】
0005443482.tif 000007
【図５】
0005443482.tif 000008
【図６】
0005443482.tif 000009
【図７】
0005443482.tif 000010
【図８】
0005443482.tif 000011
【図９】
0005443482.tif 000012
【図１０】
0005443482.tif 000013
【図１１】
0005443482.tif 000014
【図１２】
0005443482.tif 000015
【図１３】
0005443482.tif 000016
【図１４】
0005443482.tif 000017
【図１５】
0005443482.tif 000018
【図１６】
0005443482.tif 000019
【図１７】
0005443482.tif 000020
【図１８】
0005443482.tif 000021
【図１９】
0005443482.tif 000022
【図２０】
0005443482.tif 000023
【図２１】
0005443482.tif 000024
【図２２】
0005443482.tif 000025
【図２３】
0005443482.tif 000026
【図２４】
0005443482.tif 000027
【図２５】
0005443482.tif 000028
【図２６】
0005443482.tif 000029
【図２７】
0005443482.tif 000030
【図２８】
0005443482.tif 000031
【図２９】
0005443482.tif 000032
【図３０】
0005443482.tif 000033
【図３１】
0005443482.tif 000034