(57)【要約】【課題】  アンチエイリアス処理を伴う描画処理において細く、かつ、濃い直線を描画することが可能な画像処理装置を提供する。【解決手段】  画像処理装置１は、複数のピクセルからなる画面において描画対象である直線によって少なくとも一部の領域が覆われたピクセルを描画対象ピクセルとし、描画対象ピクセルを中心とする面積の異なった複数のカバレッジ領域を設定する。そして、複数のカバレッジ領域内の直線によって覆われた各領域の面積を描画対象ピクセルの中心からの距離に応じて補正した値の和であるカバレッジと、複数のカバレッジ領域内の直線の線幅に応じて定まる幅を有する基準線によって覆われた各領域の面積を描画対象ピクセルの中心からの距離に応じて補正した値の和であるカバレッジ重みとの比に基づいて描画対象ピクセルの階調値を算出する。【選択図】図１
2015212900.tif 000002
【特許請求の範囲】
【請求項１】
複数のピクセルからなる画面において描画対象である直線によって少なくとも一部の領域が覆われたピクセルを描画対象ピクセルとし、
前記描画対象ピクセルを中心とする面積の異なった複数のカバレッジ領域を設定し、
前記複数のカバレッジ領域内の前記直線によって覆われた各領域の面積に基づき定まるカバレッジと、
前記直線の線幅が細くなるのに応じて小さくなるカバレッジ重みとの比に基づいて前記描画対象ピクセルの階調値を算出することを特徴とする画像処理装置。
【請求項２】
前記カバレッジ重みは、前記複数のカバレッジ領域において前記直線の線幅に応じて定まる幅を有する基準線によって覆われた各領域の面積に基づき算出されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記カバレッジ重みは、前記複数のカバレッジ領域の各々から当該カバレッジ領域の内側の領域を除いた各領域において前記直線の線幅に応じて定まる幅を有する基準線によって覆われた各領域の面積に基づき算出されることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数のカバレッジ領域は、前記直線および前記基準線によって覆われた面積を求める際に、前記描画対象ピクセルの中心からの距離に応じて、当該面積を補正することを特徴とする請求項２〜３のいずれか１の請求項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アンチエイリアス機能を備えた画像処理装置に関する。
【背景技術】
【０００２】
ディスプレイの表示画面は、有限の大きさの複数のピクセルにより構成されている。従って、ディスプレイに線、多角形等のプリミティブを表示させると、プリミティブのエッジ部分にジャギーと呼ばれる階段状のギザギザが発生し、映像品質が悪化する。そこで、このような問題を解決するために、描画処理においてアンチエイリアス処理が実行される。
【０００３】
図９は、非特許文献１に記載のアンチエイリアス処理を説明する図である。図９に示す例において、描画対象は直線Ｌである。このアンチエイリアス処理では、図９に示すように、直線Ｌの描画先である表示画面の各ピクセル内に４個の仮想的なサブピクセルを設定する。図９において、ｘマークは、直線の中に含まれていないサブピクセルであり、丸囲みされたｘマークは直線の中に含まれている直線内サブピクセルである。アンチエイリアス処理では、直線内サブピクセルが属するピクセルを描画対象ピクセルとし、この描画対象ピクセルを中心とする面積の異なった複数のカバレッジ領域Ｒｉ（ｉ＝０〜４）を設定する。そして、非特許文献１では、描画対象ピクセルのカバレッジ率Ｒｃを次式により算出する。
【数１】
2015212900.tif 000003
……（１）
【０００４】
上記式（１）において、Ａ（Ｒｉ）はカバレッジ領域Ｒｉの面積である。ＮＡ（Ｒｉ）は、カバレッジ領域Ｒｉが内包するサブピクセル数である。ＮＩ（Ｒｉ）はカバレッジ領域Ｒｉが内包し、かつ、直線Ｌが内包するサブピクセル数である。そして、上記式（１）における分子の（ＮＩ（Ｒｉ）／ＮＡ（Ｒｉ））×Ａ（Ｒｉ）は、カバレッジ領域Ｒｉ内の直線Ｌによって覆われた領域の面積を示す。すなわち、上記式（１）により算出されるカバレッジ率Ｒｃは、各カバレッジ領域Ｒｉ（ｉ＝０〜４）において当該カバレッジ領域Ｒｉの面積と当該カバレッジ領域Ｒｉ内において直線Ｌにより覆われた領域の面積との比を求め、それらの比を相加平均したものである。
【０００５】
描画対象ピクセルの階調値は、カバレッジ率Ｒｃを最大階調値（表現可能な最も大きな階調値であり、例えば８ビットで階調値を表現する場合は２５５）に乗算することにより得られる。このようなアンチエイリアス処理により直線内サブピクセルが属する各ピクセルの階調値を決定することにより、直線Ｌのエッジ部近傍の各ピクセル間で色の変化が連続的（滑らか）となり、ジャギーが低減される。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】線のラスタ化ルール（アンチエイリアス、マルチサンプリングなし）、［平成２６年４月８日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｍｓｄｎ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／ｊａ−ｊｐ／ｌｉｂｒａｒｙ／ｃｃ６２７０９２（ｖ＝ｖｓ．８５）．ａｓｐｘ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術におけるアンチエイリアス処理は、描画対象である直線の線幅が細い場合に、直線の色が薄くなり、直線が見づらいものになるという問題があった。以下、具体例を挙げて、この問題を説明する。図９に示す例において、カバレッジ領域Ｒｉ（ｉ＝０〜４）が正方形であり、各々の幅が１．０、１．５、２．０、２．５、３．０であったとする。この場合、カバレッジ領域Ｒｉ（ｉ＝０〜４）の面積は、Ａ（Ｒ０）＝１．０、Ａ（Ｒ１）＝２．２５、Ａ（Ｒ２）＝４．０、Ａ（Ｒ３）＝６．２５、Ａ（Ｒ４）＝９．０となる。
【０００８】
そして、図９に示す例において、カバレッジ領域Ｒ０が内包するサブピクセル数ＮＡ（Ｒ０）は４個、カバレッジ領域Ｒ１が内包するサブピクセル数ＮＡ（Ｒ１）は８個、カバレッジ領域Ｒ２が内包するサブピクセル数ＮＡ（Ｒ２）は１６個、カバレッジ領域Ｒ３が内包するサブピクセル数ＮＡ（Ｒ３）は２４個、カバレッジ領域Ｒ４が内包するサブピクセル数ＮＡ（Ｒ４）は３６個である。
【０００９】
一方、図９において、カバレッジ領域Ｒ０が内包する直線内サブピクセル数ＮＩ（Ｒ０）は４個、カバレッジ領域Ｒ１が内包する直線内サブピクセル数ＮＩ（Ｒ１）は８個、カバレッジ領域Ｒ２が内包する直線内サブピクセル数ＮＩ（Ｒ２）は１４個、カバレッジ領域Ｒ３が内包する直線内サブピクセル数ＮＩ（Ｒ３）は１６個、カバレッジ領域Ｒ４が内包する直線内サブピクセル数ＮＩ（Ｒ４）は１９個である。
【００１０】
従って、これらの各数値を上記式（１）に代入すると、カバレッジ率Ｒｃは次のようになる。
【数２】
2015212900.tif 000004
……（２）
【００１１】
そして、直線Ｌの線幅が細くなると、上記式（２）の後の方の項、すなわち、面積の大きなカバレッジ領域Ｒｉ（ｉの大きなカバレッジ領域Ｒｉ）の直線内サブピクセル数ＮＩ（Ｒｉ）が減少する。一方、カバレッジ領域Ｒｉの面積は、直線Ｌの線幅の変化に関わらず一定の値をとる。従って、直線Ｌの線幅が細くなると、線幅が広い場合に比べ、上記式（２）の後の方の項の値が小さくなるため、カバレッジ率Ｒｃが小さくなる。この結果、諧調値が小さくなり、直線の色が薄くなる。このように従来技術によるアンチエイリアス処理は、細く、かつ、濃い直線を描画するのを困難にするという問題があった。
【００１２】
この発明は、以上説明した事情に鑑みてなされたものであり、その目的は、アンチエイリアス処理を伴う描画処理において細く、かつ、濃い直線を描画することが可能な画像処理装置を提供することにある。
【課題を解決するための手段】
【００１３】
この発明は、複数のピクセルからなる画面において描画対象である直線によって少なくとも一部の領域が覆われたピクセルを描画対象ピクセルとし、前記描画対象ピクセルを中心とする面積の異なった複数のカバレッジ領域を設定し、前記複数のカバレッジ領域内の前記直線によって覆われた各領域の面積に基づき定まるカバレッジと、前記直線の線幅が細くなるのに応じて小さくなるカバレッジ重みとの比に基づいて前記描画対象ピクセルの階調値を算出することを特徴とする画像処理装置を提供する。
【００１４】
かかる画像処理装置によれば、カバレッジ重みが描画対象の直線の線幅が細くなるのに応じて制限されるので、描画対象の直線の線幅が細い場合に階調値が低下するのを防止することができる。
【図面の簡単な説明】
【００１５】
【図１】この発明の第１実施形態である画像処理装置の概略的な構成を示す図である。
【図２】同実施形態におけるカバレッジおよびカバレッジ重みの算出方法を示す図である。
【図３】同実施形態におけるカバレッジ重みの算出例を示す図である。
【図４】同実施形態におけるカバレッジ重みの詳細な算出例を示す図である。
【図５】同実施形態におけるカバレッジの算出例を示す図である。
【図６】この発明の第２実施形態の処理内容を示す図である。
【図７】同実施形態におけるカバレッジ算出回路の構成を示す図である。
【図８】この発明の他の実施形態の処理内容を示す図である。
【図９】従来のアンチエイリアス処理の内容を示す図である。
【発明を実施するための形態】
【００１６】
＜第１実施形態＞
以下、図面を参照し、この発明の実施の形態を説明する。
この発明の第１実施形態では、描画対象ピクセルを中心としたカバレッジ領域Ｒｉ（ｉ＝０〜４）を設定する。描画対象ピクセルとカバレッジ領域Ｒｉ（ｉ＝０〜４）との関係は従来技術と同様である。そして、本実施形態では、カバレッジ領域Ｒｉ（ｉ＝０〜４）に属するサブピクセルの個数に基づいて描画対象ピクセルの階調値を算出する。さらに詳述すると、本実施形態では、アンチエイリアス処理を伴う直線描画処理において、次式に従って描画対象ピクセルの階調値Ｄを算出する。
【数３】
2015212900.tif 000005
……（３）
【００１７】
ここで、２５５は最大階調値である。また、Ｗｃはカバレッジ、Ｗｔはカバレッジ重みであり、各々次式により与えられる。
【数４】
2015212900.tif 000006
……（４）
【数５】
2015212900.tif 000007
……（５）
【００１８】
上記式（４）において、ＮＩ（Ｒｉ−Ｒｉ−１）は、カバレッジ領域Ｒｉからカバレッジ領域Ｒｉ−１を除いた領域に属する直線内サブピクセルの数である。なお、ｉ＝０である場合のＮＩ（Ｒｉ−Ｒｉ−１）は、ＮＩ（Ｒ０）、すなわち、カバレッジ領域Ｒ０内の直線内サブピクセルの数である。また、式（４）および（５）において、Ｗｂ（ｉ）は重み係数であり、ｉが大きくなるに従って小さくなる値が設定されている。また、式（５）において、Ｒ（ｗ）ｉは、描画対象ピクセルの中心を横切る幅ｗの基準線とカバレッジ領域Ｒｉとが重複した重み算出領域を示す。そして、ＮＩ（Ｒ（ｗ）ｉ−Ｒ（ｗ）ｉ−１）は、重み算出領域Ｒ（ｗ）ｉから重み算出領域Ｒ（ｗ）ｉ−１を除いた領域に属するサブピクセル数を示す。
【００１９】
本実施形態では、描画対象ピクセルの中心を横切る幅ｗの基準線とカバレッジ領域Ｒｉとが重複した重み算出領域内のサブピクセル数に基づいて、式（５）のカバレッジ重みＷｔが算出される。このカバレッジ重みＷｔは、式（５）に示すように、重み算出領域Ｒ（ｗ）ｉ内のサブピクセル数に依存する。ここで、直線の線幅が細くなると、基準線の幅ｗは小さくなる。従って、この重み算出領域Ｒ（ｗ）ｉ内のサブピクセル数は、直線の線幅が細くなる程少なくなる。従って、式（３）において、カバレッジＷｃに乗算される重み係数Ｈｔ＝２５５／Ｗｔは、直線の線幅が細くなる程大きくなる。この結果、直線の線幅が細くなったときに階調値Ｄが低くなるのを防止することができる。なお、ＷｃおよびＷｔの算出方法については、後に具体例を挙げて詳細に説明にする。
【００２０】
図１は本実施形態による画像処理装置１の構成を示すブロック図である。図１において、重み係数記憶部２は、各種の基準線の幅ｗについて予め算出した重み係数Ｈｔ＝２５５／Ｗｔを直線の線幅に対応付けて記憶したメモリである。重み係数選択部３には、描画対象の直線の線幅を指定するセレクト信号が供給される。重み係数選択部３は、重み係数記憶部２に記憶された重み係数Ｈｔの中からセレクト信号が指定する直線の線幅に対応した重み係数Ｈｔを選択して出力する。なお、セレクト信号は、直線の線幅に応じて適宜ユーザにより指定される。カバレッジ算出部４は、前掲式（４）に従ってカバレッジＷｃを算出する手段である。乗算部５は、カバレッジ算出部４が出力するカバレッジＷｃと重み係数選択部３が出力する重み係数Ｈｔ＝２５５／Ｗｔとを乗算して階調値Ｄを出力する手段である。クランプ部６は、乗算部５が出力する階調値Ｄが最大階調値２５５を越えないようにクランプして出力する手段である。
【００２１】
次に図２（ａ）〜（ｃ）および図３（ａ）〜（ｃ）を参照し、カバレッジ重みＷｔの算出方法を説明する。図２（ａ）に示す例では、描画対象である直線Ｌａの線幅が２ピクセル程度であるので、描画対象ピクセルを水平方向に横断する３ピクセル幅の基準線ＦＬ３が使用されている。図３（ａ）はこの場合のカバレッジ重みＷｔの算出例を示している。なお、図２および図３、後述する図４および図５には、１ライン〜３ラインの表記があるが、これらは基準線の線幅を示すものであり、例えば１ラインは１ピクセル幅の基準線を意味する。
【００２２】
図２（ａ）において、カバレッジ領域Ｒ０が内包し、かつ、基準線ＦＬ３が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、基準線ＦＬ３が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、基準線ＦＬ３が内包するサブピクセル数は８個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、基準線ＦＬ３が内包するサブピクセル数は８個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、基準線ＦＬ３が内包するサブピクセル数は１２個である。従って、図３（ａ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジ重みＷｔは１５６となる。
【００２３】
図２（ｂ）に示す例では、描画対象である直線Ｌｂの線幅が１．５ピクセル程度であるので、描画対象ピクセルを水平方向に横断する２ピクセル幅の基準線ＦＬ２が使用されている。図３（ｂ）はこの場合のカバレッジ重みＷｔの算出例を示している。
【００２４】
図２（ｂ）において、カバレッジ領域Ｒ０が内包し、かつ、基準線ＦＬ２が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、基準線ＦＬ２が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、基準線ＦＬ２が内包するサブピクセル数は８個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、基準線ＦＬ２が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、基準線ＦＬ２が内包するサブピクセル数は４個である。従って、図３（ｂ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジ重みＷｔは１４０となる。
【００２５】
図２（ｃ）に示す例では、描画対象である直線Ｌｃの線幅が１ピクセル程度であるので、描画対象ピクセルを水平方向に横断する１ピクセル幅の基準線ＦＬ１が使用されている。図３（ｃ）はこの場合のカバレッジ重みＷｔの算出例を示している。
【００２６】
図２（ｃ）において、カバレッジ領域Ｒ０が内包し、かつ、基準線ＦＬ１が内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、基準線ＦＬ１が内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、基準線ＦＬ１が内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、基準線ＦＬ１が内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、基準線ＦＬ１が内包するサブピクセル数は２個である。従って、図３（ｃ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジ重みＷｔは９４となる。
【００２７】
このように本実施形態では、カバレッジ重みＷｔの算出のためにサブピクセル数のカウントを行うカバレッジ領域を基準線内に制限し、かつ、この基準線の線幅を描画対象の線幅に応じて細くしているので、描画対象の線幅が細くなる程、カバレッジ重みＷｔが小さくなる。
【００２８】
以上、３種類の線幅を例に説明したが、本実施形態では、１ピクセル幅から３ピクセル幅までの合計９種類の線幅について同様な算出方法によりカバレッジ重みＷｔを算出している。この９種類の線幅についてのカバレッジ重みＷｔの算出結果を図４に示す。そして、本実施形態では、このようにして算出したカバレッジ重みＷｔに基づいて重み係数Ｈｔ＝２５５／Ｗｔが算出され、重み係数記憶部２に記憶されている。
【００２９】
次に図２（ａ）〜（ｃ）および図５（ａ）〜（ｃ）を参照し、カバレッジＷｃの算出方法を説明する。図２（ａ）において、カバレッジ領域Ｒ０が内包し、かつ、描画対象の直線Ｌａが内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、描画対象の直線Ｌａが内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、描画対象の直線Ｌａが内包するサブピクセル数は６個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、描画対象の直線Ｌａが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、描画対象の直線Ｌａが内包するサブピクセル数は２個である。従って、図５（ａ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジＷｃは１２６となる。また、図３（ａ）に示すカバレッジ重みＷｔの値を用いて、式（３）に示すＷｃ／Ｗｔの値を算出すると、Ｗｃ／Ｗｔは０．８１となる。
【００３０】
図２（ｂ）において、カバレッジ領域Ｒ０が内包し、かつ、描画対象の直線Ｌｂが内包する直線内サブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、描画対象の直線Ｌｂが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、描画対象の直線Ｌｂが内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、描画対象の直線Ｌｂが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、描画対象の直線Ｌｂが内包するサブピクセル数は２個である。従って、図５（ｂ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジＷｃは１０２となる。また、図３（ｂ）に示すカバレッジ重みＷｔの値を用いて、式（３）に示すＷｃ／Ｗｔの値を算出すると、Ｗｃ／Ｗｔは０．７３となる。ここで、Ｗｃ／Ｗｔの値は、図２（ａ）に示すＷｃ／Ｗｔの値よりも小さくなっている。これは、カバレッジ領域に配置された直線の位置や線幅の変動によって、直線内サブピクセル数が大きく変動するためである。この結果、図２（ｂ）に示す例では、サブピクセル数が少なくカウントされており、Ｗｃの値が小さくなっている。
【００３１】
図２（ｃ）において、カバレッジ領域Ｒ０が内包し、かつ、描画対象の直線Ｌｃが内包するサブピクセル数は４個である。また、カバレッジ領域Ｒ１からカバレッジ領域Ｒ０を除いた領域Ｒ１−Ｒ０が内包し、かつ、描画対象の直線Ｌｃが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ２からカバレッジ領域Ｒ１を除いた領域Ｒ２−Ｒ１が内包し、かつ、描画対象の直線Ｌｃが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ３からカバレッジ領域Ｒ２を除いた領域Ｒ３−Ｒ２が内包し、かつ、描画対象の直線Ｌｃが内包するサブピクセル数は２個である。また、カバレッジ領域Ｒ４からカバレッジ領域Ｒ３を除いた領域Ｒ４−Ｒ３が内包し、かつ、描画対象の直線Ｌｃが内包するサブピクセル数は０個である。従って、図５（ｃ）に示すように、これらの各サブピクセル数に重み係数Ｗｂ（０）＝１６、Ｗｂ（１）＝８、Ｗｂ（２）＝４、Ｗｂ（３）＝２、Ｗｂ（４）＝１を各々乗算して加算することにより、カバレッジＷｃは９２となる。また、図３（ｃ）に示すカバレッジ重みＷｔの値を用いて、式（３）に示すＷｃ／Ｗｔの値を算出すると、Ｗｃ／Ｗｔは０．９８となる。
【００３２】
図１におけるカバレッジ算出部４は、以上のようにしてカバレッジＷｃを算出する。そして、乗算部５は、このカバレッジＷｃと重み係数選択部３によって選択された重み係数Ｈｔ＝２５５／Ｗｔとを乗算して、描画対象ピクセルの階調値Ｄを算出する。
【００３３】
本実施形態によれば、図５（ａ）〜（ｃ）に示すように、描画対象の線幅が細くなるのに応じてカバレッジＷｃが小さくなるが、図３（ａ）〜（ｃ）に示すように、描画対象の線幅が細くなるのに応じてカバレッジ重みＷｔも小さくなる。従って、描画対象の線幅が細い場合でも描画対象ピクセルの階調値Ｄを十分に大きな階調値とすることができる。
【００３４】
＜第２実施形態＞
式（４）で示したようにカバレッジＷｃは、ＮＩ（Ｒｉ−Ｒｉ−１）と重み係数Ｗｂ（ｉ）との積の総和で算出される。ここで、重み係数Ｗｂ（ｉ）は、領域Ｒｉ−Ｒｉ−１の各々に設定される重みである。カバレッジ領域Ｒｉの面積Ａ（Ｒｉ）が、Ａ（Ｒ０）＝１．０、Ａ（Ｒ１）＝２．２５、Ａ（Ｒ２）＝４．０、Ａ（Ｒ３）＝６．２５、Ａ（Ｒ４）＝９．０であるとすると、重み係数Ｗｂ（ｉ）は、各々次式により与えられる。
【数６】
2015212900.tif 000008
……（６）
【００３５】
式（６）に示すように、重み係数Ｗｂ（０）は、面積Ａ（Ｒ０）〜Ａ（Ｒ４）の逆数の総和をとることにより算出される。重み係数Ｗｂ（１）は、面積Ａ（Ｒ１）〜Ａ（Ｒ４）の逆数の総和をとることにより算出される。重み係数Ｗｂ（２）は、面積Ａ（Ｒ２）〜Ａ（Ｒ４）の逆数の総和をとることにより算出される。重み係数Ｗｂ（３）は、面積Ａ（Ｒ３）〜Ａ（Ｒ４）の逆数の総和をとることにより算出される。重み係数Ｗｂ（４）は、面積Ａ（Ｒ４）の逆数により算出される。
【００３６】
式（６）におけるＷｂ（ｉ）とＮＩ（Ｒｉ−Ｒｉ−１）との積を算出するにあたり、乗算器が必要となる。しかし、乗算器を用いると演算量が増加する。そこで、本実施形態では、乗算器を用いず、加算器とシフタとによりカバレッジＷｃを算出する。以下、その詳細を説明する。まず、Ｗｂ（０）〜Ｗｂ（４）の値を８．１４倍し、整数に近似すると、重み係数Ｗｂ（ｉ）は次式により与えられる。
【数７】
2015212900.tif 000009
……（７）
【００３７】
式（７）に示すように、Ｗｂ（０）〜Ｗｂ（４）は、２のべき乗で与えられる。従って、式（７）におけるＷｂ（ｉ）をＮＩ（Ｒｉ−Ｒｉ−１）に乗算する代わりに、ＮＩ（Ｒｉ−Ｒｉ−１）をｌｏｇ２Ｗｂ（ｉ）ビットだけ左シフトしても結果は同じになる。すなわち、ＮＩ（Ｒ０）を４ビット左シフトすることによりＷｂ（０）ＮＩ（Ｒ０）を算出し、ＮＩ（Ｒ１−Ｒ０）を３ビット左シフトすることによりＷｂ（１）ＮＩ（Ｒ１−Ｒ０）を算出し、ＮＩ（Ｒ２−Ｒ１）を２ビット左シフトすることによりＷｂ（２）ＮＩ（Ｒ２−Ｒ１）を算出し、ＮＩ（Ｒ３−Ｒ２）を１ビット左シフトすることによりＷｂ（３）ＮＩ（Ｒ３−Ｒ２）を算出することが可能である。なお、Ｗｂ（４）ＮＩ（Ｒ４−Ｒ３）に関しては、ＮＩ（Ｒ４−Ｒ３）をＷｂ（４）ＮＩ（Ｒ４−Ｒ３）として用いればよい。
【００３８】
そこで、本実施形態では、シフタを用いてＮＩ（Ｒｉ−Ｒｉ−１）をｌｏｇ２Ｗｂ（ｉ）ビットだけ左シフトすることによりＷｂ（ｉ）ＮＩ（Ｒｉ−Ｒｉ−１）を算出する。このようにすることで、乗算器を用いてＷｂ（ｉ）ＮＩ（Ｒｉ−Ｒｉ−１）を算出する場合に比べて、大幅に演算量を減らすことができる。
【００３９】
以下、本実施形態において、カバレッジＷｃを算出するための回路構成について説明する。本実施形態では、図６に示すように、６×６ピクセルの画像データを一括してワークエリアに格納し、その１ピクセル内側の４×４ピクセルの範囲内の１６個の各ピクセルを各々描画対象ピクセルとする。そして、４×４ピクセルの範囲内の各ピクセルにサブピクセルｓｐ［ｌ］［ｍ］［ｎ］（ｌ＝０〜５、ｍ＝０〜５、ｎ＝０〜４）を設定する。
【００４０】
図７は、カバレッジＷｃを算出するための回路構成を示す概略図である。カバレッジ算出回路７は、加算回路ＡＤＤ０〜ＡＤＤ５と、シフタＳＦＴ０〜ＳＦＴ３を有する。加算回路ＡＤＤ０〜ＡＤＤ５は、それぞれ複数の加算器により構成される。シフタＳＦＴ０〜ＳＦＴ３は、それぞれ４ビットシフタ、３ビットシフタ、２ビットシフタおよび１ビットシフタである。
【００４１】
図７に示すカバレッジ算出回路７は、下記式（８）に示す領域別カバレッジＷｃ＿０〜Ｗｃ＿４を算出し、それらの算出結果を加算することによりカバレッジＷｃを算出する。
【数８】
2015212900.tif 000010
……（８）
【００４２】
このカバレッジ算出回路７には、サブピクセルｓｐ［ｌ］［ｍ］［ｎ］（ｌ＝０〜５、ｍ＝０〜５、ｎ＝０〜４）の値が入力される。ここで、サブピクセルｓｐ［ｌ］［ｍ］［ｎ］は、描画対象の直線により覆われている場合に“１”となり、直線により覆われていない場合に“０”となる。
【００４３】
加算回路ＡＤＤ０は、領域Ｒ０に属するサブピクセルｓｐ［１］［１］［０］、ｓｐ［１］［１］［１］、ｓｐ［１］［１］［２］、ｓｐ［１］［１］［３］のうち値が“１”であるものの個数ＮＩ（Ｒ０）を出力する。シフタＳＦＴ０は、この加算回路ＡＤＤ０の出力データＮＩ（Ｒ０）を４ビット左シフトし、Ｗｃ＿０＝Ｗｂ（０）ＮＩ（Ｒ０）を出力する。
【００４４】
加算回路ＡＤＤ１は、領域Ｒ１−Ｒ０に属するサブピクセルｓｐ［０］［１］［３］、ｓｐ［１］［０］［２］、ｓｐ［１］［２］［１］、ｓｐ［２］［１］［０］のうち値が“１”であるものの個数ＮＩ（Ｒ１−Ｒ０）を出力する。シフタＳＦＴ１は、この加算回路ＡＤＤ１の出力データＮＩ（Ｒ１−Ｒ０）を３ビット左シフトし、Ｗｃ＿１＝Ｗｂ（１）ＮＩ（Ｒ１−Ｒ０）を出力する。
【００４５】
加算回路ＡＤＤ２は、領域Ｒ２−Ｒ１に属するサブピクセルｓｐ［０］［０］［２］、ｓｐ［０］［１］［２］、…中略…、ｓｐ［２］［２］［１］のうち値が“１”であるものの個数ＮＩ（Ｒ２−Ｒ１）を出力する。シフタＳＦＴ２は、この加算回路ＡＤＤ２の出力データＮＩ（Ｒ２−Ｒ１）を２ビット左シフトし、Ｗｃ＿２＝Ｗｂ（２）ＮＩ（Ｒ２−Ｒ１）を出力する。
【００４６】
加算回路ＡＤＤ３は、領域Ｒ３−Ｒ２に属するサブピクセルｓｐ［０］［１］［１］、ｓｐ［０］［２］［１］、…中略…、ｓｐ［２］［２］［０］のうち値が“１”であるものの個数ＮＩ（Ｒ３−Ｒ２）を出力する。シフタＳＦＴ３は、この加算回路ＡＤＤ３の出力データＮＩ（Ｒ３−Ｒ２）を１ビット左シフトし、Ｗｃ＿３＝Ｗｂ（３）ＮＩ（Ｒ３−Ｒ２）を出力する。
【００４７】
加算回路ＡＤＤ４は、領域Ｒ４−Ｒ３に属するサブピクセルｓｐ［０］［０］［０］、ｓｐ［０］［０］［１］、…中略…、ｓｐ［２］［２］［３］のうち値が“１”であるものの個数ＮＩ（Ｒ４−Ｒ３）を算出し、Ｗｃ＿４＝Ｗｂ（４）ＮＩ（Ｒ４−Ｒ３）として出力する。
【００４８】
加算回路ＡＤＤ５は、Ｗｃ＿０〜Ｗｃ＿４を加算し、加算結果をカバレッジＷｃとして上記第１実施形態（図１）の乗算器５に出力する。
【００４９】
以上のように、本実施形態によれば、乗算器を用いず、加算器とシフタのみによりカバレッジＷｃを算出することができる。従って、カバレッジＷｃの算出に乗算器を使用する場合に比べて画像処理装置の演算量を減らすことができる。
【００５０】
ここで、重み係数Ｗｂ（ｉ）は、カバレッジ領域Ｒｉが内包するサブピクセル数ＮＩ（Ｒｉ）に基づき算出してもよい。この場合も、式（７）における重み係数Ｗｂ（ｉ）と同一の結果が得られる。以下、その詳細を説明する。前掲図６において、ＮＩ（Ｒ０）、ＮＩ（Ｒ１）、ＮＩ（Ｒ２）、ＮＩ（Ｒ３）およびＮＩ（Ｒ４）は、それぞれ４、８、１６、２４および３６個である。これらの値を用いて、重み係数Ｗｂ（ｉ）は、各々次式により与えられる。
【数９】
2015212900.tif 000011
……（９）
【００５１】
式（９）に示すように、重み係数Ｗｂ（０）は、ＮＩ（Ｒ０）〜ＮＩ（Ｒ４）の逆数の総和を４倍することにより算出される。重み係数Ｗｂ（１）は、ＮＩ（Ｒ１）〜ＮＩ（Ｒ４）の逆数の総和を４倍することにより算出される。重み係数Ｗｂ（２）は、ＮＩ（Ｒ２）〜ＮＩ（Ｒ４）の逆数の総和を４倍することにより算出される。重み係数Ｗｂ（３）は、ＮＩ（Ｒ３）〜ＮＩ（Ｒ４）の逆数の総和を４倍することにより算出される。重み係数Ｗｂ（４）は、ＮＩ（Ｒ４）の逆数を４倍することにより算出される。
【００５２】
ここで、Ｗｂ（０）〜Ｗｂ（４）の値を８．１４倍し、整数に近似すると、重み係数Ｗｂ（ｉ）は次式により与えられる。
【数１０】
2015212900.tif 000012
……（１０）
【００５３】
式（１０）に示す重み係数Ｗｂ（ｉ）は、式（７）に示す重み係数Ｗｂ（ｉ）と等しい。従って、重み係数Ｗｂ（ｉ）は、カバレッジ領域Ｒｉが内包するサブピクセル数ＮＩ（Ｒｉ）に基づき算出することができる。
【００５４】
＜他の実施形態＞
以上、この発明の各種実施形態について説明したが、この発明には他にも実施形態が考えられる。例えば、次の通りである。
【００５５】
（１）第１実施形態において、基準線ＦＬ１〜ＦＬ３として水平線が設定されているが、垂直線や斜線を設定してもよい。
【００５６】
（２）第１および第２実施形態において、複数の描画対象ピクセルの階調値を同時に算出するようにしてもよい。図８に示す例では、６×６ピクセルの画像データを一括してワークエリアに格納し、その１ピクセル内側の４×４ピクセルの範囲内の１６個の各ピクセルを各々描画対象ピクセルとする。そして、１６個の描画対象ピクセルを中心とするカバレッジ領域を各々設定し、上記実施形態において説明した処理により、各描画対象ピクセルの階調値を同時に算出するのである。この態様によれば、描画処理を高速実行することが可能になる。
【００５７】
（３）第１実施形態では、描画対象の直線の線幅に応じた重み係数Ｈｔが重み係数選択部３によって選択された。しかし、例えばユーザからの指示により、描画対象の直線の線幅とは無関係な重み係数Ｈｔを重み係数選択部３に選択させるようにしてもよい。これにより、意図的に直線をぼかしたり、薄くしたりすることが可能になる。
【００５８】
（４）第１および第２実施形態において、式（４）および（５）は次のように変形可能である。
【数１１】
2015212900.tif 000013
……（１１）
【数１２】
2015212900.tif 000014
……（１２）
ここで、重み係数Ｗａ（ｉ）はＷｂ（ｉ）−Ｗｂ（ｉ＋１）であり、ｉ＝４の場合のＷａ（ｉ）はＷｂ（４）である。
【００５９】
従って、第１実施形態のように階調値Ｄを算出する代わりに、次のように階調値Ｄを算出してもよい。
ａ．複数のカバレッジ領域Ｒｉ（ｉ＝０〜４）の各カバレッジ領域Ｒｉについて、当該カバレッジ領域Ｒｉが内包し、かつ、描画対象の直線に応じた線幅の所定方向の基準線が内包するサブピクセル数を各々算出し、これらのサブピクセル数の重み付け加算を行うことによりカバレッジ重みを算出する。
ｂ．複数のカバレッジ領域Ｒｉ（ｉ＝０〜４）の各カバレッジ領域Ｒｉについて、当該カバレッジ領域Ｒｉが内包し、かつ、描画対象の直線が内包するサブピクセル数を各々算出し、これらのサブピクセル数の重み付け加算を行うことによりカバレッジを算出する。
ｃ．カバレッジとカバレッジ重みとの比に基づいて描画対象ピクセルの階調値を算出する。
この態様においても上記実施形態と同様な効果が得られる。
【００６０】
（５）第１および第２実施形態では、各領域の面積を示す値として、各領域が内包するサブピクセル数ＮＩ（Ｒｉ−Ｒｉ−１）、ＮＡ（Ｒｉ）等を用いたが、幾何学的演算により当該領域の面積を算出してもよい。例えば正方形のピクセルの一部の領域が直線によって覆われている場合、その覆われた領域は長方形または直角三角形となる。この長方形の面積または直角三角形の面積を算出することにより直線によって覆われたピクセル内の領域の面積を求めてもよい。
【符号の説明】
【００６１】
１…画像処理装置、２…重み係数記憶部、３…重み係数選択部、４…カバレッジ算出部、５…乗算部、６…クランプ部、７…カバレッジ算出回路。
【図１】
2015212900.tif 000015
【図２】
2015212900.tif 000016
【図３】
2015212900.tif 000017
【図４】
2015212900.tif 000018
【図５】
2015212900.tif 000019
【図６】
2015212900.tif 000020
【図７】
2015212900.tif 000021
【図８】
2015212900.tif 000022
【図９】
2015212900.tif 000023