(57)【要約】【課題】パフォーマンスの低下を抑えながら表示品質を向上させることを目的とする。【解決手段】ベクトルデータ解析部２０３は、取得したベクトルデータを解析する。描画部２０２は、アンチエイリアス情報とベクトルデータ解析結果とに基づいてスキャンラインのパラメータを決定し、ベクトルデータをスキャンライン法によりラスタデータ化する。また、描画部２０２は、アンチエイリアス情報とベクトルデータに基づいて決定されたスキャンラインでラスタデータ化を行う。【選択図】図２
2013068985.tif 000002
【特許請求の範囲】
【請求項１】
アンチエイリアス情報を取得するアンチエイリアス情報取得手段と、
取得したベクトルデータを解析するベクトルデータ解析手段と、
前記アンチエイリアス情報とベクトルデータ解析結果とに基づいてスキャンラインのパラメータを決定するスキャンライン決定手段と、
ベクトルデータをスキャンライン法によりラスタデータ化するスキャンライン手段と、
描画が完了したことを確認する描画完了確認手段とを備え、
アンチエイリアス情報とベクトルデータに基づいて決定されたスキャンラインでラスタデータ化を行うことを特徴とするベクトル描画装置。
【請求項２】
更に描画情報を取得する描画情報取得手段と、
前記描画情報に基づき前記スキャンライン決定手段で決定されたスキャンラインのパラメータを上書きするスキャンラインパラメータ上書き手段とを有することを特徴とする請求項１に記載のベクトル描画装置。
【請求項３】
更に前記スキャンライン決定手段の結果をベクトルデータごとに記憶するスキャンラインパラメータ記憶手段と、
記憶したデータを読み出すスキャンラインパラメータ読み出し手段とを有することを特徴とする請求項１に記載のベクトル描画装置。
【請求項４】
前記ベクトルデータがＸＶＧ(Scalable Vector Graphics)であることを特徴とする請求項１に記載のベクトル描画装置。
【請求項５】
前記スキャンライン決定手段にあってスキャンラインの方向を水平と垂直で切り替えることを特徴とする請求項１に記載のベクトル描画装置。
【請求項６】
前記スキャンライン決定手段にあってアンチエイリアスのサブピクセル分割方法を切り替えることを特徴とする請求項１に記載のベクトル描画装置。
【請求項７】
前記スキャンラインのパラメータがアンチエイリアス処理のためにピクセルをどのようにサブピクセルに分割するかを決定するものであることを特徴とする請求項１に記載のベクトル描画装置。
【請求項８】
アンチエイリアス情報を取得するアンチエイリアス情報取得工程と、
取得したベクトルデータを解析するベクトルデータ解析工程と、
前記アンチエイリアス情報とベクトルデータ解析結果とに基づいてスキャンラインのパラメータを決定するスキャンライン決定工程と、
ベクトルデータをスキャンライン法によりラスタデータ化するスキャンライン工程と、
描画が完了したことを確認する描画完了確認工程とを備え、
アンチエイリアス情報とベクトルデータに基づいて決定されたスキャンラインでラスタデータ化を行うことを特徴とするベクトル描画方法。
【請求項９】
請求項８に記載のベクトル描画方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル描画装置等に関するものである。
【背景技術】
【０００２】
輪郭線によって定義された図形を塗りつぶす方法の一つにスキャンライン処理と呼ばれるものがある。輪郭線情報を垂直方向に見ていき、輪郭線の間を水平方向に塗りつぶしていくことで図形の塗りつぶしを行う。但し、輪郭線を内部同様に塗りつぶすと例えば輪郭が斜線の場合にはギザギザに見える、といった問題が発生する。そこで輪郭線に関しては滑らかに見えるように、不透明度を変更する処理を行う。これをアンチエイリアス処理という。アンチエイリアス処理では例えばピクセルを２ｘ２のサブピクセルに分割し、何個のサブピクセルが図形に含まれるかに応じて不透明度を設定する。サブピクセルの分割数を増やせばそれだけ図形は滑らかに表示されるが、サブピクセルの計算が増えるためパフォーマンスが低下する。また、スキャンライン処理はその性質上輪郭線に応じて必要とするメモリの量が変化する。従来、スキャンライン処理を効率化するものとしては、描画領域に応じてスキャンライン方向を変更することでスキャンライン処理のメモリ使用量を減らす方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２９８７２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術は、水平・垂直線のアンチエイリアス処理にあって不透明度の段階が減ってしまう課題があった。例えば、図４に示すように、ピクセルを２ｘ２のサブピクセルに分割する場合にあって、斜線であればサブピクセルを何個含むかで０から４までの５段階の不透明度がつけられる。これに対し、図５に示すように、水平・垂直線の場合、０、２、４の３段階の不透明度しかつけることができない。
【０００５】
これは、水平線の多い小さなアウトライン図形、例えば組み込み環境における漢字等で特に問題になる。これに対して垂直方向の分割数を増やせば水平線の表示品質を上げることができるが、パフォーマンスは低下する。
【０００６】
そこで、本発明の目的は、図形に水平線が多いかどうかを判別し、水平線が多い図形に対しては垂直方向のサブピクセル分割数を増やすことにより、パフォーマンスの低下を抑えながら表示品質を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本発明のベクトル描画装置は、アンチエイリアス情報を取得するアンチエイリアス情報取得手段と、取得したベクトルデータを解析するベクトルデータ解析手段と、前記アンチエイリアス情報とベクトルデータ解析結果とに基づいてスキャンラインのパラメータを決定するスキャンライン決定手段と、ベクトルデータをスキャンライン法によりラスタデータ化するスキャンライン手段と、描画が完了したことを確認する描画完了確認手段とを備え、アンチエイリアス情報とベクトルデータに基づいて決定されたスキャンラインでラスタデータ化を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、輪郭線によって定義された図形の描画をパフォーマンスの低下を抑えながら表示品質を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るベクトル描画装置のハードウェア構成を示す図である。
【図２】本発明の実施形態に係るベクトル描画装置の機能構成を示す図である。
【図３】本発明の実施形態に係るベクトル描画装置の処理を示すフローチャートである。
【図４】２ｘ２のアンチエイリアス処理の例を示す図である。
【図５】２ｘ２のアンチエイリアス処理で水平線を扱った場合の例を示す図である。
【図６】２ｘ４のアンチエイリアス処理で水平線を扱った場合の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１１】
図１は、本発明の実施形態に係るベクトル描画装置のハードウェア構成を示す図である。図１において、ＣＰＵ１０８は、システム制御部であり、ベクトル描画装置全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０８の制御プログラムや各種固定データを格納する。ＲＡＭ１０３は、ＳＲＡＭ、ＤＲＡＭ等で構成され、プログラム制御変数等を格納する。また、各種設定パラメータ、各種ワーク用バッファもＲＡＭ１０３に格納されるものである。外部記憶部１０４はハードディスク等で構成され、文書や画像等のファイルデータを格納する。入力部１０５は、キーボード、タッチパネル等で構成され、オペレータが各種入力操作を行うためのものである。表示部１０６は、ＬＣＤ、ＬＥＤ等でオペレータに表示通知する。Ｉ／Ｆ１０７は、ネットワークに接続するためのインタフェースである。接続方法としてはＬＡＮ、ＵＳＢ等がある。図１に示す構成は、本実施形態に係るベクトル描画装置の一部を示したものであり、この他、スキャナ部、プリンタ部、モデム、スピーカ等が構成に加わる場合がある。また、ソフトウェア等で実現する場合等には、図１の各ブロックを必ずしもベクトル描画装置内に持っていなくてもよい。
【００１２】
図２は、本実施形態に係るベクトル描画装置１０１の機能構成を示す図である。図３は、本実施形態に係るベクトル描画装置１０１の処理を示すフローチャートである。以下、図２及び図３を参照しながら、本実施形態に係るベクトル描画装置の処理について説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載した本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
ステップＳ３０１において、描画部２０２は、描画情報記憶部２０５から描画に使用可能なアンチエイリアス情報を取得する。本実施形態において、アンチエイリアス情報にはアンチエイリアス処理時のサブピクセル分割情報が含まれる。水平方向に２、垂直方向に２のサブピクセルであれば２ｘ２のアンチエイリアス、水平方向に２、垂直方向に４のサブピクセルであれば２ｘ４のアンチエイリアスと称す。本実施形態においては、２ｘ２及び２ｘ４のアンチエイリアスが可能である。２ｘ２に比べ２ｘ４のアンチエイリアスの方がより滑らかな輪郭線を描画することができるが、パフォーマンスは低下する。また、２ｘ２では水平線の不透明度の段階を３段階にしかとれないが、図６に示すように、２ｘ４では不透明度の段階を５段階にできる。これが請求項におけるアンチエイリアス情報取得手段に相当する。また、描画サイズが大きくなると視認性に対するアンチエイリアスの寄与は減少する。従って、描画情報記憶部２０５から描画サイズを取得する描画情報取得手段と、一定サイズ以上であればスキャンライン法のパラメータを上書きするスキャンラインパラメータ上書き手段とを備え、アンチエイリアス処理をスキップしてもよい。
【００１４】
ステップＳ３０２において、ベクトルデータ解析部２０３は、ベクトルデータ記憶部２０４からベクトルデータを取得する。本実施形態において、ベクトル描画装置１０１が対象とするのは日本語文字データであり、ベクトルデータで文字の輪郭線を定義している。日本語の文字の輪郭線は水平線や垂直線も含む。特に漢字にあっては垂直な輪郭線より水平な輪郭線のアンチエイリアス処理が視認性に影響を与えることが多い。これが請求項におけるベクトルデータ取得手段に相当する。また、ベクトルデータはバイナリの場合もテキストの場合もあり得る。例えばScalable Vector Graphics仕様に基づき記述することで、テキストでベクトルデータを記述できる。
【００１５】
ステップＳ３０３において、ベクトルデータ解析部２０３は取得したベクトルデータを解析する。本実施形態では、描画する文字の輪郭線を解析する。ベクトルデータ解析部２０３はまず水平な輪郭線を取り出し、そのＹ座標の小数点部分が０．２５及び０．７５近辺にあるかどうかを調べる。このような水平線が多い場合は２ｘ２よりも２ｘ４のアンチエイリアスの方が水平線の視認性を向上させ、図６に示すように、２ｘ２よりよい描画結果を得ることができる。これが請求項におけるベクトルデータ解析結果に相当する。また、より簡易的に水平な輪郭線の長さの合計値と垂直な輪郭線の長さの合計値のどちらが多いかを解析してもよい。また、文字としての情報からその文字がアルファベット、ひらがな、漢字などのどれに属するかわかるので、漢字なら水平線が多い可能性が高いという解析方法をとってもよい。これが請求項におけるベクトルデータ解析手段に相当する。
【００１６】
ステップＳ３０４において、描画部２０２はベクトルデータ解析部２０３からベクトルデータ情報を取得する。ステップＳ３０５において、描画部２０２は、ベクトルデータ情報をもとにアンチエイリアス処理で適したサブピクセルを判断する。本実施形態では、Ｙ座標の小数点部分が０．２５及び０．７５近辺である水平線が存在すれば２ｘ４のアンチエイリアスを行う。そうでなければ、２ｘ２のアンチエイリアスを行う。パフォーマンスの要求が厳しければある一定数以上の場合にのみ２ｘ４のアンチエイリアスを行うようにしてもよい。これが請求項におけるスキャンライン決定手段に相当する。また、本実施形態では、文字を対象とするので同じベクトルデータを再度描画することもあり得る。そういう場合に備えてベクトルデータ毎にスキャンラインのパラメータを記憶するスキャンラインパラメータ記憶手段と、記憶したスキャンラインを読み出し処理を高速化するスキャンラインパラメータ読み出し手段とを備えてもよい。
【００１７】
２ｘ４アンチエイリアスが適している場合はステップ３０６に進み、ステップＳ３０６において、２ｘ４のアンチエイリアスを用いたスキャンライン法によりラスタデータ化される。２ｘ４アンチエイリアスが適していない場合はステップ３０７に進み、ステップＳ３０７において、２ｘ２のアンチエイリアスを用いたスキャンライン法によりラスタデータ化される（ステップ３０７）。本実施形態では、このようにして水平線の多い文字の視認性を向上させる一方、水平線の少ない文字では視認性を下げずに高速に描画することができる。これが請求項におけるスキャンライン手段に相当する。また、２ｘ４のサブピクセル処理であっても、垂直線が多い場合にはスキャンラインの方向を水平ではなく垂直にすることで、４ｘ２のアンチエイリアスを実現することもできる。ベクトルデータに応じてスキャンラインの方向を切り替えるという手段があってもよい。
【００１８】
ステップＳ３０８において、描画部２０２は、描画完了したかどうか確認する。完了した場合は終了し、そうでない場合はステップ３０２に進む。これが請求項における描画完了確認手段に相当する。以上によりベクトル描画を行うことができる。
【００１９】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００２０】
１０１：ベクトル描画装置、１０２：ＲＯＭ、１０３：ＲＡＭ、１０４：外部記憶部、１０５：入力部、１０６：表示部、１０７：インタフェース、１０８：ＣＰＵ、２０１：ディスプレイ、２０２：描画部、２０３：ベクトルデータ解析部、２０４：ベクトルデータ記憶部、２０５：描画情報記憶部
【図１】
2013068985.tif 000003
【図２】
2013068985.tif 000004
【図３】
2013068985.tif 000005
【図４】
2013068985.tif 000006
【図５】
2013068985.tif 000007
【図６】
2013068985.tif 000008