(57)【要約】【課題】従来のアンチエイリアスの技術では、細線の円や斜め線をアンチエイリアスすると、線幅が均一となるが、画素の濃度が中間調（ハーフトーン）となるため、プリンタでは、細線の再現が不安定になり、線がかすれたり、ジャギーが発生する。【解決手段】描画コマンドを解釈してレンダリングする画像処理装置とその制御方法であって、描画コマンドに含まれる、所定の線幅以下の細線を検出し、検出された細線の線幅を所定の線幅に太らせ、その太らせた細線をレンダリングしてアンチエイリアス処理を行う。そして、アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行う。【選択図】  図３
2019004380.tif 000002
【特許請求の範囲】
【請求項１】
描画コマンドを解釈してレンダリングする画像処理装置であって、
前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出手段と、
前記検出手段で検出された前記細線の線幅を所定の線幅に太らせる太らせ手段と、
前記太らせ手段により太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理手段と、
前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記アンチエイリアス処理手段は、目的の解像度よりも高い解像度の画像データでレンダリングし、当該高い解像度の画像データを前記目的の解像度の画像データに縮小し、当該縮小された画像データの各画素の濃度を、前記縮小された画像データの画素に対応する前記高い解像度の画像データの画素の平均値とすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記太らせ手段は、前記所定の線幅以下の細線の描画コマンドの線幅を、前記所定の線幅よりも大きい線幅に設定することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記所定の線幅は、解像度が６００ｄｐｉで、２ドット幅であることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記ディザ処理手段は、平坦化ディザ、或いは誤差拡散ディザによりディザ処理を行うことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記アンチエイリアス処理手段は、前記アンチエイリアス処理を行った画像データの画素に対応づけて、前記アンチエイリアス処理を実行したことを示すフラグを付与し、
前記ディザ処理手段は、前記フラグが付与された画像に対して前記ディザ処理を行うことを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ディザ処理手段は、更に、前記アンチエイリアス処理を実行した画素の他に、エッジ部と判定した画素に対しても前記ディザ処理を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
描画コマンドを解釈してレンダリングする画像処理装置を制御する制御方法であって、
前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出工程と、
前記検出工程で検出された前記細線の線幅を所定の線幅に太らせる太らせ工程と、
前記太らせ工程で太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理工程と、
前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理工程と、
を有することを特徴とする制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣ上で実行されるアプリケーションで作成され、プリンタドライバでＰＤＬコマンドに変換された印刷ジョブを受信して印刷できるプリンタとして、シングルファンクションプリンタ（ＳＦＰ）やマルチファンクションプリンタ（ＭＦＰ）が知られている。そのようなアプリケーションでは、描画される細線の太さを種々の太さに指定可能で、プリンタドライバは、その細線を指定するコマンドをプリンタ記述言語に変換する。こうして変換されたプリンタ記述言語は、プリンタ内のコントローラで解釈され、レンダリング処理によってビットマップ化されて印刷される。このとき、円や斜線の場合、同じ太さの細線であっても、印刷すると、描画される線の角度によって太くなったり細くなったりする場合がある。
【０００３】
この対策として、アンチエイリアスという技術が知られている。このアンチエイリアスの一つの実現例を次に示す。目的の解像度よりも高い分解能で描画した高解像度の画像データを生成し、その高解像度の画像データを目的の解像度の画像データに変換（縮小）する。その際、縮小された画像データの各画素に対応する高解像度の画像データの複数画素の濃度の平均値を、縮小された画像データの画素の濃度とすることによって、前景と背景の境界がなめらかな画像を生成できる。また、全ての画素にアンチエイリアス処理を行うのではなく、効果の少ない大きな文字の画素には行わず、小さい文字の画素のみに行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−９１２８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術は、画像データを表示する場合のみの説明で、印刷する画像に関するものではない。また、上述のアンチエイリアスの技術では、画像の複数画素の濃度の平均値を、アンチエイリアス後の画素の濃度とするため、細線の円や斜め線をアンチエイリアスすると、線幅が均一となるが、画素の濃度が中間調（ハーフトーン）となる。即ち、細線が中間調（ハーフトーン）で再現されるため、電子写真のようなプリンタでは、細線の再現が不安定になったり、プリントされた線がかすれたり、ジャギーが発生するという課題があった。
【０００６】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００７】
本発明の目的は、細線にアンチエイリアス処理を行っても、細線の再現が安定し、かすれずにジャギーも発生しない技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
描画コマンドを解釈してレンダリングする画像処理装置であって、
前記描画コマンドに含まれる、所定の線幅以下の細線を検出する検出手段と、
前記検出手段で検出された前記細線の線幅を所定の線幅に太らせる太らせ手段と、
前記太らせ手段により太らせた前記細線をレンダリングしてアンチエイリアス処理を行うアンチエイリアス処理手段と、
前記アンチエイリアス処理を実行した画素に、ドットの集中が無く、ジャギーが発生しにくいディザ処理を行うディザ処理手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、細線を太らせた後にアンチエイリアス処理することにより、細線を安定して再現できるようになるという効果がある。
【００１０】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１１】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係る印刷装置の構成例を説明するブロック図。
【図２】実施形態に係る印刷装置がＰＤＬコマンドを解釈し、ディザ処理を行って印刷するまでの処理を説明するブロック図。
【図３】実施形態に係る印刷装置によるＰＤＬデータの処理を説明するフローチャート。
【図４】イメージデータにディザ処理を適用した例を説明する図。
【図５】実施形態においてアプリケーションが指定した線の太さと傾きの一例を示す図。
【図６】線幅が１ドットの線で、従来のアンチエイリアス無しの例と、アンチエイリアス有りの場合の一例を示す図。
【図７】実施形態において線幅の太らせ処理を実行したときのレンダリング処理の結果を説明する図。
【図８】図７（Ｃ）のレンダリング後の画像データに付与されたアンチエイリアスフラグの具体例を説明する図。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、本実施形態では、本発明に係る画像処理装置を印刷装置を例に説明するが、本発明はこのような印刷装置に限らず、ＰＣやタブレットなどの情報端末や通信装置等にも適用できる。
【００１３】
図１は、本発明の実施形態に係る印刷装置１００の構成例を説明するブロック図である。
【００１４】
この印刷装置１００は、ＰＣ（パーソナルコンピュータ）１０１で実行されるアプリケーションにより作成された印刷ジョブから、プリンタドライバにより作成されたＰＤＬコマンドをネットワーク１０２を介して受信する。印刷装置１００は、内部バス１０３で相互に接続されたＣＰＵ１０４、メモリ１０５、ＨＤＤ１０６、表示部１０７、画像処理部１０８、印刷部１０９、ネットワークインタフェース（Ｉ／Ｆ）１１０を有している。ネットワークＩ／Ｆ１１０は、ネットワーク１０２と接続されている。
【００１５】
ＣＰＵ１０４は、ＨＤＤ１０６に格納されるプログラムをメモリ（ＲＡＭ）１０５に展開し、その展開したプログラムを実行することにより、内部バス１０３を介して接続された各部を制御してこの印刷装置１００を統括的に制御する。またＣＰＵ１０４は、ＰＤＬコマンドを解釈し、解釈したＰＤＬデータからビットマップデータを作成するレンダリング処理を行う。メモリ１０５は、ＣＰＵ１０４が、印刷装置１００を制御するためにプログラムを展開し、ＣＰＵ１０４のワークエリアとして機能するＲＡＭと、ブートプログラムを格納するＲＯＭを含んでいる。ＨＤＤ１０６は、ＣＰＵ１０４により実行される各種プログラムや、ＰＣ１０１等から受信したＰＤＬデータ、レンダリング後のビットマップデータや各種設定データ等を保存する。表示部１０７は、タッチスクリーン機能を有する表示パネルなどを有し、種々の情報が表示される他、ユーザは、この表示部１０７に表示される画面を介して各種指示を行うことができる。画像処理部１０８は、中間調（ハーフトーン）の文字や線などの縁（エッジ）を判定したり、レンダリング後のビットマップデータを印刷装置１００で印刷できるようにスクリーン処理の一つであるディザ処理を行う。この画像処理部１０８は、例えばＡＳＩＣ等のハードウェアで構成されても、或いは、ＣＰＵ１０４がプログラムを実行することによりその機能が達成される構成でも良い。印刷部１０９は、画像処理部１０８でディザ処理が施されて２値化されたイメージデータを受け取って、紙などに印刷する。ネットワークＩ／Ｆ１１０は、ＬＡＮやインターネット等のネットワーク１０２を介して接続されているＰＣ１０１との間で、ＰＤＬコマンドの受信などの通信を行うためのインタフェースである。
【００１６】
尚、この印刷装置１００の構成要素は、上述の内容に限定されない。例えば、タッチスクリーンに代えてユーザが各種操作を行うためのポインティングデバイスやキーボード等を含む入力部を設けてもよく、印刷装置の構成は、その用途等に応じて適宜追加・変更され得る。
【００１７】
図２は、実施形態に係る印刷装置１００がＰＤＬコマンドを解釈し、ディザ処理を行って印刷するまでの処理を説明するブロック図である。
【００１８】
ＰＤＬ処理ブロック２１０は、ＣＰＵ１０４がプログラムを実行して実現するＰＤＬ解釈部２０１、レンダリング処理部２０２を含んでいる。また画像処理部１０８の機能は、縁取り処理フラグ生成部２０３、ディザ処理部２０４とを含んでいる。尚、この画像処理部１０８の機能はＣＰＵ１０４が、前述のプログラムを実行して実現しても良い。
【００１９】
ＰＤＬ解釈部２０１は、ＰＣ１０１から受信したＰＤＬコマンド（描画コマンド）を解釈し、ビットマップデータにレンダリング処理してＰＤＬデータを生成する。レンダリング処理部２０２は、ＰＤＬデータから印刷部１０９の解像度に合わせたビットマップデータを生成する。またレンダリング処理部２０２は、アンチエイリアス処理を適用し、ビットマップデータを作成する際に、ビットマップデータとともに、アンチエイリアス処理を行った部分にアンチエイリアス処理フラグを付与する。
【００２０】
縁取り処理フラグ生成部２０３は、レンダリング処理後のビットマップデータから、オブジェクトのエッジである縁取り処理を適用する部分に縁取り処理フラグを付与する。また、アンチエイリアス処理を行った部分のアンチエイリアス処理フラグが付与された箇所は、エッジとみなす。そしてそのエッジ部には、縁取り処理を適用したほうがジャギーが減らせるので、アンチエイリアス処理フラグに置き換えて、縁取り処理フラグを付与する。ディザ処理部２０４は、ビットマップデータの縁取り処理フラグが付与されている箇所に対しては、縁取りに適したジャギーが起こりにくい、平坦化ディザ処理を適用してディザ処理する。また縁取り処理フラグが付与されていないグラフィックやイメージ部に対しては、通常の階調再現に適した通常処理用の階調ディザ処理を適用する。またテキストやライン部は、通常の解像度再現に適した通常処理用の解像度ディザ処理を適用する。
【００２１】
図４は、イメージデータにディザ処理を適用した例を説明する図である。
【００２２】
図４（Ａ）は、元のイメージデータの一例を示す。図４（Ｂ）は、平坦化ディザ処理を適用した一例を示し、図４（Ｃ）は、階調ディザ処理を適用した一例を示す。図４（Ｂ）の平坦化ディザ処理では、ドットの集中がなくジャギーが出にくい特徴がある。また、ここでは平坦化ディザを用いて説明したが、誤差拡散などの、ドットの集中がなくジャギーが発生しにくいディザであればこれに限ったものではない。印刷部１０９は、このようにディザ処理されたイメージデータに基づいて用紙に画像を印刷する。
【００２３】
図３は、実施形態に係る印刷装置１００によるＰＤＬデータの処理を説明するフローチャートである。尚、このフローチャートで示す処理は、ＣＰＵ１０４がＨＤＤ１０６からメモリ１０５に展開したプログラムを実行することにより達成される。
【００２４】
まずＳ３０１でＣＰＵ１０４は、ＰＣ１０１から受信したＰＤＬコマンドの中から、例えば図５に示すような線の太さが指定された線の線幅を検出する。
【００２５】
図５は、実施形態においてアプリケーションが指定した線の太さと傾きの一例を示す図で、ここでは線幅が０．５ドットで、傾きが１０度の線が描画されている。
【００２６】
そしてＣＰＵ１０４はＳ３０１で、その検出した線幅が所定の太さ（２ドット幅）よりも小さいか否かを判定する。ここで、所定の太さの２ドット幅は、あくまでも一例であって、印刷装置１００の仕様に合わせて、印刷装置１００が安定して再現できる線の太さを予め記憶しておいても良い。
【００２７】
図６は、線幅が１ドットの線で、従来のアンチエイリアス無しの例と、アンチエイリアス有りの場合の一例を示す図である。この線は、アプリケーション上では、例えば図６（Ａ）のように表示されている。そのＰＤＬデータをアンチエイリアス無しでレンダリングすると図６（Ｂ）のようになる。その後、ジャギーを減らすスパースムージング処理をした例を図６（Ｄ）に示す。アンチエイリアスをしないと図６（Ｄ）に示すように、６０２では、線幅は指定された１ドット幅であるが、６０１と６０３では、線幅は２ドット幅となり、場所によって線の太さが異なっている。
【００２８】
また図６（Ａ）のＰＤＬデータを、アンチエイリアス有りでレンダリングすると、図６（Ｃ）のようになる。図６（Ｃ）では、線が中間調（ハーフトーン）で表され、６０４〜６０６のそれぞれでは、線幅は指定された１ドット幅となり、場所に寄らず線の太さが同じになっている。しかし、アンチエイリアス有りの場合では、線が中間調（ハーフトーン）で表現されるため、プリンタエンジンによっては線の再現が厳しく、線がかすれたり消えたりしてしまう。
【００２９】
図６（Ａ）の例では、線幅が１ドット幅であるため、所定の太さ以下と判定されてＳ３０１からＳ３０２に進むが、そうでないときはＳ３０５に進む。Ｓ３０２でＣＰＵ１０４は、ＰＤＬコマンドの線幅指定を、所定の太さである、例えば６００ｄｐｉで２ドット幅にする太らせ処理を行う。例えば、図６（Ａ）の１ドットの線幅を、図７（Ａ）のように２ドット幅に太らせてＳ３０３に進む。
【００３０】
図７は、実施形態において、線幅の太らせ処理を実行したときのレンダリング処理の結果を説明する図である。
【００３１】
次にＳ３０３に進みＣＰＵ１０４は、所定の線幅以下では、細線の円や斜め線は通常のレンダリング処理では太さが場所によって異なってしまうのを防ぐため、アンチエイリアスレンダリング処理を行う。このアンチエイリアスレンダリング処理は、印刷部１０９の解像度に応じて、それぞれの画素に線がどのくらい含まれるかが濃淡で表され、その結果、図７（Ｃ）のように、アンチエイリアスレンダリング処理されたビットマップデータとなる。図７（Ｃ）では、斜め線が中間調（ハーフトーン）で再現され、図７（Ｃ）の７０４〜７０６では、線の太さが同じになっている。
【００３２】
一方、アンチエイリアスをしないで通常レンダリング処理し、その後ジャギーを減らすスパースムージング処理をした例を図７（Ｄ）に示す。図７（Ｄ）では、段差の部分のみ中間調（ハーフトーン）になっているのみで、図７（Ｄ）の７０１と７０２のように、斜め線の線幅が２．５から３．０ドット幅となり、不均一となってしまう。
【００３３】
次にＳ３０４に進みＣＰＵ１０４は、Ｓ３０３で作成されたアンチエイリアスレンダリング処理が適用された画素にアンチエイリアスフラグである「１」を付与し、処理が適用されていない部分には「０」を付与してＳ３０６に処理を進める。例えば、図７（Ｃ）のレンダリング後、画像データに付与するフラグは図８に示すようになる。
【００３４】
図８は、図７（Ｃ）のレンダリング後の画像データに付与されたアンチエイリアスフラグの具体例を説明する図である。
【００３５】
一方、Ｓ３０１でＣＰＵ１０４が、線幅が所定の太さ（例えば解像度が６００ｄｐｉで、２ドット幅）よりも小さくないと判定したときはＳ３０５に進む。Ｓ３０５でＣＰＵ１０４は、所定の太さ（例えば２ドット）以下でない線や線以外のオブジェクトを通常のレンダリング処理によりイメージデータの展開してＳ３０６に進む。
【００３６】
Ｓ３０６でＣＰＵ１０４は、まずアンチエイリアスフラグがあるか判定し、あると判定した場合はＳ３０７に進み、そうでないときはＳ３０８に進む。Ｓ３０７でＣＰＵ１０４は、アンチエイリアスフラグを縁取り処理フラグに置き換えてＳ３０９に処理を進める。一方、Ｓ３０８でＣＰＵ１０４は、レンダリングされたビットマップデータから、縁取りを行う必要のあるエッジ部かどうか判定する。そしてエッジ部と判定すると縁取り処理フラグとして「１」を付与し、エッジ部と判定しない「０」を付与してＳ３０９に処理を進める。
【００３７】
Ｓ３０９でＣＰＵ１０４は、まず縁取り処理フラグが「１」かどうか判定し、縁取り処理フラグが「１」の場合はＳ３１０に進み、そうでないときはＳ３１１に進む。Ｓ３１０でＣＰＵ１０４は、ハーフトーンのビットマップでもジャギーが発生しにくい図４（Ａ）のような平坦化ディザを使用してディザ処理を行う。ここでは平坦化ディザを用いているが誤差拡散ディザ等のジャギーが目立たないディザでも問題ない。
【００３８】
一方、Ｓ３１１でＣＰＵ１０４は、グラフィックやイメージ部は、通常の階調再現に適した通常処理用の階調ディザでディザ処理を行い、テキストやライン部は、通常の解像度再現に適した通常処理用の解像度ディザでディザ処理を行う。
【００３９】
尚、Ｓ３１０で平坦化ディザを使用するとしたが、ジャギーが目立たないディザであればこれに限らない。また階調ディザは、線数が低い安定したディザで、解像度ディザは線数が高く解像度が高いディザが好ましい。
【００４０】
以上説明したように実施形態によれば、細線の太らせ処理の後にアンチエイリアスレンダリング処理を実施することにより、細線の印刷時、安定して、その細線を再現でき、細線の角度による太さの差をなくすことが可能となる。
【００４１】
またアンチエイリアスレンダリング処理を行った部分を、縁取り処理の適用範囲とすることで、中間調処理で平坦化スクリーンが適用され、中間調（ハーフトーン）でもスクリーンによるジャギーの発生を防ぐことが可能となる。
【００４２】
従って、通常のアンチエイリアスレンダリング処理を行ってプリンタで印刷する際に発生するジャギーやかすれを補正し、細線の角度によらず、均一な線幅で印刷できるようになる。
【００４３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４４】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００４５】
１００…印刷装置、１０１…ＰＣ、１０４…ＣＰＵ、１０５…メモリ、１０６…ＨＤＤ、１０８…画像処理部、１０９…印刷部、ＰＤＬ解釈部、２０２…レンダリング処理部、２０３…縁取り処理フラグ生成部、２０４…ディザ処理部
【図１】
2019004380.tif 000003
【図２】
2019004380.tif 000004
【図３】
2019004380.tif 000005
【図４】
2019004380.tif 000006
【図５】
2019004380.tif 000007
【図６】
2019004380.tif 000008
【図７】
2019004380.tif 000009
【図８】
2019004380.tif 000010