JP2010183326A - 画像処理装置、画像処理方法およびコンピュータープログラム - Google Patents
画像処理装置、画像処理方法およびコンピュータープログラム Download PDFInfo
- Publication number
- JP2010183326A JP2010183326A JP2009024566A JP2009024566A JP2010183326A JP 2010183326 A JP2010183326 A JP 2010183326A JP 2009024566 A JP2009024566 A JP 2009024566A JP 2009024566 A JP2009024566 A JP 2009024566A JP 2010183326 A JP2010183326 A JP 2010183326A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- dot
- dot size
- image
- determined
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】印刷画像に含まれる任意の色の階段状変化部(斜めエッジ部)におけるジャギーを、色みを変化させることなく低減する。
【解決手段】画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置は、画像における階段状変化部(斜めエッジ部)を形成する画素を判定する階段状変化判定部と、階段状変化部におけるジャギーの低減のために、階段状変化部周辺画素とその近傍画素とでハーフトーン処理後のドットサイズデータを交換するドットサイズ交換処理部とを備える。
【選択図】図1
【解決手段】画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置は、画像における階段状変化部(斜めエッジ部)を形成する画素を判定する階段状変化判定部と、階段状変化部におけるジャギーの低減のために、階段状変化部周辺画素とその近傍画素とでハーフトーン処理後のドットサイズデータを交換するドットサイズ交換処理部とを備える。
【選択図】図1
Description
本発明は、複数の画素から構成される画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置、画像処理方法およびコンピュータープログラムに関する。
一般にプリンター、複写機、ファクシミリ等の画像出力装置は、入力された画像情報に基づいて、紙、布、フィルムなどの各種印刷媒体に対してドットパターンからなる画像を出力画像として記録していく。
通常これらのドットはある一定の解像度の正方格子上に配置されるので、文字の輪郭線や図形などの斜線部分にジャギーと呼ばれる画素の段差が知覚される状態が生じ、画像品質が低下する場合がある。
通常これらのドットはある一定の解像度の正方格子上に配置されるので、文字の輪郭線や図形などの斜線部分にジャギーと呼ばれる画素の段差が知覚される状態が生じ、画像品質が低下する場合がある。
一方、インクジェットプリンターには、例えばシアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の各色のインクに対して、例えば大ドット(Lドット)、中ドット(Mドット)、小ドット(Sドット)のように、複数サイズのドットを形成可能なものがある。
以下の特許文献1および特許文献2では、インクジェットプリンターで吐出可能な複数サイズのドットを用いることで、文字の輪郭線や図形などの斜線部分のジャギーの課題を解決する方法が開示されている。
以下の特許文献1および特許文献2では、インクジェットプリンターで吐出可能な複数サイズのドットを用いることで、文字の輪郭線や図形などの斜線部分のジャギーの課題を解決する方法が開示されている。
しかし、特許文献1に開示された方法では、入力されるデータが多階調のデータであった場合、ジャギー発生部を検出する処理が二値化処理の後に行われるため、たとえば薄い灰色の文字はジャギー発生部とは検出されずジャギーを低減する効果が得られない。また仮にジャギー発生部として検出されたとしても過度に多いドットを付加する処理が行われ、本来表現すべき濃度よりも濃い文字が再現されてしまう問題があった。
また、特許文献2においては、入力データを画素ごとに高濃度、中濃度、低濃度の3つに分類し、高濃度画素とその他の画素のパターンマッチングによりジャギー発生部を検出していたため、たとえば薄い灰色の文字はジャギー発生部として検出されず、効果が得られない問題があった。
また、特許文献2においては、入力データを画素ごとに高濃度、中濃度、低濃度の3つに分類し、高濃度画素とその他の画素のパターンマッチングによりジャギー発生部を検出していたため、たとえば薄い灰色の文字はジャギー発生部として検出されず、効果が得られない問題があった。
本発明は、斜線部分における画像品質の低下を低減することを目的とし、以下の形態または適用例として実現することが可能である。
[適用例1]
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置であって、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する検出手段と、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する交換手段と、を備え、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理装置。
適用例1の画像処理装置では、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑え、印刷画質を向上することができる。
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置であって、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する検出手段と、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する交換手段と、を備え、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理装置。
適用例1の画像処理装置では、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑え、印刷画質を向上することができる。
[適用例2]
前記交換手段は、前記階段状変化部を形成する画素からの距離に応じて、前記輪郭部を形成する第3の画素のドットサイズと、前記第3の画素から所定の距離にある第4の画素のドットサイズとを交換する適用例1に記載の画像処理装置。
適用例2の画像処理装置では、階段状変化部を形成する画素からの距離に応じて、輪郭部を形成する第3の画素のドットサイズと、第3の画素から所定の距離にある第4の画素のドットサイズとを交換するので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
前記交換手段は、前記階段状変化部を形成する画素からの距離に応じて、前記輪郭部を形成する第3の画素のドットサイズと、前記第3の画素から所定の距離にある第4の画素のドットサイズとを交換する適用例1に記載の画像処理装置。
適用例2の画像処理装置では、階段状変化部を形成する画素からの距離に応じて、輪郭部を形成する第3の画素のドットサイズと、第3の画素から所定の距離にある第4の画素のドットサイズとを交換するので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例3]
前記第1の画素は、前記階段状変化部の凹部を形成する画素であり、前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以下である適用例2に記載の画像処理装置。
適用例3の画像処理装置では、第1の画素が階段状変化部の凹部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以下にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
前記第1の画素は、前記階段状変化部の凹部を形成する画素であり、前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以下である適用例2に記載の画像処理装置。
適用例3の画像処理装置では、第1の画素が階段状変化部の凹部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以下にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例4]
前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以下であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する適用例3に記載の画像処理装置。
適用例4の画像処理装置では、第1の画素が階段状変化部の凹部を形成する場合に、第1の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが小さくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以下であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する適用例3に記載の画像処理装置。
適用例4の画像処理装置では、第1の画素が階段状変化部の凹部を形成する場合に、第1の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが小さくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例5]
前記第1の画素は、前記階段状変化部の凸部を形成する画素であり、前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以上である適用例2に記載の画像処理装置。
適用例5の画像処理装置では、第1の画素が階段状変化部の凸部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以上にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
前記第1の画素は、前記階段状変化部の凸部を形成する画素であり、前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以上である適用例2に記載の画像処理装置。
適用例5の画像処理装置では、第1の画素が階段状変化部の凸部を形成する場合に、ドットサイズの交換により、輪郭部を形成する画素のドットサイズを、階段状変化部を形成する画素のドットサイズ以上にするので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例6]
前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以上であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する適用例5に記載の画像処理装置。
適用例6の画像処理装置では、第1の画素が階段状変化部の凸部を形成する場合に、第1の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが大きくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以上であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する適用例5に記載の画像処理装置。
適用例6の画像処理装置では、第1の画素が階段状変化部の凸部を形成する場合に、第1の画素からの距離が大きくなるに応じて、輪郭部を形成する画素のドットサイズが大きくなるようにドットサイズの交換を行うので、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例7]
前記画像はハーフトーン処理前の階調画像であることを特徴とする上記適用例1ないし適用例6のいずれかに記載の画像処理装置。
適用例7の画像処理装置では、ハーフトーン処理前の階調画像に対して輪郭部における階段状変化部を形成する画素を検出するため、より正確に階段状変化部を形成する画素を検出することができ、ジャギーを抑制する効果を高めることができる。
前記画像はハーフトーン処理前の階調画像であることを特徴とする上記適用例1ないし適用例6のいずれかに記載の画像処理装置。
適用例7の画像処理装置では、ハーフトーン処理前の階調画像に対して輪郭部における階段状変化部を形成する画素を検出するため、より正確に階段状変化部を形成する画素を検出することができ、ジャギーを抑制する効果を高めることができる。
[適用例8]
前記交換手段は、前記階段状変化部を形成する画素の濃度または前記濃度に相当する値に基づいて制御することを特徴とする上記適用例1ないし適用例7のいずれかに記載の画像処理装置。
適用例7の画像処理装置では、前記階段状変化部を形成する画素の濃度または濃度に相当する値に応じて、最適なドットサイズのデータに交換するため、薄い画像および濃い画像の両方に対して、ジャギーを抑制する効果を得ることができる。
前記交換手段は、前記階段状変化部を形成する画素の濃度または前記濃度に相当する値に基づいて制御することを特徴とする上記適用例1ないし適用例7のいずれかに記載の画像処理装置。
適用例7の画像処理装置では、前記階段状変化部を形成する画素の濃度または濃度に相当する値に応じて、最適なドットサイズのデータに交換するため、薄い画像および濃い画像の両方に対して、ジャギーを抑制する効果を得ることができる。
[適用例9]
適用例1ないし適用例8のいずれか1項に記載の画像処理装置と、前記画像処理装置により決定されたドットの形成状態に基づいて、印刷媒体にドットを形成する印刷装置と、を備える印刷システム。
適用例9の印刷システムでは、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行うことができる。
適用例1ないし適用例8のいずれか1項に記載の画像処理装置と、前記画像処理装置により決定されたドットの形成状態に基づいて、印刷媒体にドットを形成する印刷装置と、を備える印刷システム。
適用例9の印刷システムでは、色および階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行うことができる。
[適用例10]
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を、コンピューターを用いて決定する画像処理方法であって、コンピューターが、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出するステップと、コンピューターが、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換するステップと、を含み、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理方法。
適用例10の画像処理方法は、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を、コンピューターを用いて決定する画像処理方法であって、コンピューターが、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出するステップと、コンピューターが、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換するステップと、を含み、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理方法。
適用例10の画像処理方法は、画像の輪郭部における階段状変化部を形成する画素を検出し、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換し、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
[適用例11]
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定するコンピュータープログラムであって、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する機能と、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する機能と、をコンピューターに実現させ、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるコンピュータープログラム。
適用例11のコンピュータープログラムは、画像の輪郭部における階段状変化部を形成する画素を検出する機能と、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換する機能とをコンピュータに実現させ、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定するコンピュータープログラムであって、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する機能と、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する機能と、をコンピューターに実現させ、ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるコンピュータープログラム。
適用例11のコンピュータープログラムは、画像の輪郭部における階段状変化部を形成する画素を検出する機能と、検出された階段状変化部を形成する第1の画素のドットサイズと、第1の画素から所定の距離にある第2の画素のドットサイズとを交換する機能とをコンピュータに実現させ、交換された階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるため、色みおよび階調性を維持しつつ、階段状変化部のジャギーの発生を抑えた印刷を行わせることができる。
次に、本発明の実施の形態を実施例に基づいて以下に説明する。
A.第1実施例
A1.実施例の全体構成
図1は、本発明の第1実施例における印刷システムの構成を概略的に示す説明図である。本実施例における印刷システム1000は、画像処理装置としてのパーソナルコンピューター100と、パーソナルコンピューター100に有線または無線によって接続された印刷装置としてのプリンター200と、を備えている。
A.第1実施例
A1.実施例の全体構成
図1は、本発明の第1実施例における印刷システムの構成を概略的に示す説明図である。本実施例における印刷システム1000は、画像処理装置としてのパーソナルコンピューター100と、パーソナルコンピューター100に有線または無線によって接続された印刷装置としてのプリンター200と、を備えている。
A2.画像処理装置の構成
パーソナルコンピューター100は、プログラムを実行することにより種々の処理や制御を行うCPU110と、プログラムやデータ・情報を格納するメモリー120と、外部に接続される周辺機器との間でデータや情報のやりとりを行う入出力インターフェイス(I/F)部130と、を備えている。メモリー120は、出力バッファー32を有している。パーソナルコンピューター100は、さらに、キーボードやポインティングデバイスなどの入力装置、ディスプレーなどの表示装置、CD−ROMドライブ装置などの記録再生装置等を備えていてもよい。
パーソナルコンピューター100は、プログラムを実行することにより種々の処理や制御を行うCPU110と、プログラムやデータ・情報を格納するメモリー120と、外部に接続される周辺機器との間でデータや情報のやりとりを行う入出力インターフェイス(I/F)部130と、を備えている。メモリー120は、出力バッファー32を有している。パーソナルコンピューター100は、さらに、キーボードやポインティングデバイスなどの入力装置、ディスプレーなどの表示装置、CD−ROMドライブ装置などの記録再生装置等を備えていてもよい。
パーソナルコンピューター100には、アプリケーションプログラム10やプリンタードライバー20などのプログラムがインストールされている。アプリケーションプログラム10やプリンタードライバー20は、所定のオペレーティングシステム(図示せず)の下でCPU110により実行される。
アプリケーションプログラム10は、例えば画像編集機能を実現するためのプログラムである。ユーザーは、アプリケーションプログラム10の提供するユーザーインタフェイスを介して、アプリケーションプログラム10により編集された画像を印刷する指示を与えることができる。アプリケーションプログラム10は、ユーザーより印刷の指示を受けると、プリンタードライバー20に印刷の対象となる画像データを出力する。なお、本実施例では、画像データはRGBデータとして出力される。
プリンタードライバー20は、アプリケーションプログラム10から出力された画像データに基づき印刷データを生成する機能を実現するためのプログラムである。プリンタードライバー20は、CD−ROMなどの各種記憶媒体(コンピューター読み取り可能な記録媒体等)に記憶されて配布されたり、またはインターネットなど各種通信手段を通じて配信されたりする。
プリンタードライバー20は、アプリケーションプログラム10から画像データを受け取り、画像データに基づき印刷データを生成し、生成された印刷データをプリンター200に出力する。ここで、印刷データは、プリンター200が解釈できる形式のデータであって、各種のコマンドデータとドットデータとを含む。コマンドデータは、プリンター200に特定の動作の実行を指示するためのデータである。ドットデータは、印刷される画像(印刷画像)を構成する画素(印刷画素)におけるドットの形成状態を表すデータであり、具体的には、各印刷画素にどの色のどのサイズのドットを形成するか(あるいはドットを形成しないか)を示すデータである。ここで、「ドット」とは、プリンター200から噴射されたインクが印刷媒体に着弾して形成される1つの領域をいう。
プリンタードライバー20は、アプリケーションプログラム10から出力された画像データを印刷データに変換するために、解像度変換処理部21と、色変換処理部22と、階段状変化判定部23と、ハーフトーン処理部24と、ドットサイズ交換処理部25と、ラスタライズ処理部26と、を含んでいる。
解像度変換処理部21は、アプリケーションプログラム10から出力された画像データの解像度をプリンター200の印刷解像度に一致するように変換する解像度変換処理を行う。
色変換処理部22は、画像データを構成する画素を対象に、色変換処理を行う。本実施例で用いられるプリンター200は、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の各色のインクを用いて印刷を行うプリンターである。そのため、色変換処理部22は、対象画素のそれぞれについて、RGB値で表された画素値をCMYK値に変換する。
階段状変化判定部23は、メモリー120に格納されたエッジパターンテーブルを参照して、画像データに基づき、画像における階段状変化部を形成する画素を検出する。階段状変化部とは、画像におけるエッジの内、エッジ方向が斜めのものを意味する。ここで、エッジ方向が斜めとは、マトリクス状の画素配列において、エッジを形成する画素が、上下左右のいずれかの方向ではなく、斜め方向に隣接している状態(すなわち、エッジを形成する画素が階段状に配置されている状態)を意味している。
また、ここでの画像データとは、白色画素を0、いずれかのインク色の濃度が0を超える画素を1に対応させたものを意味しており、注目画素周辺の画素が持つ0または1の値と、エッジパターンテーブルに記録された0または1のパターンが一致する場合に、注目画素は階段状変化部を形成する画素であると判定される。
また、ここでの画像データとは、白色画素を0、いずれかのインク色の濃度が0を超える画素を1に対応させたものを意味しており、注目画素周辺の画素が持つ0または1の値と、エッジパターンテーブルに記録された0または1のパターンが一致する場合に、注目画素は階段状変化部を形成する画素であると判定される。
ハーフトーン処理部24は、色変換処理部22による色変換処理後の画素値に基づきハーフトーン処理を行い、各画素に対応した印刷画素におけるドットの形成状態を決定し、出力バッファー32に記録する。本実施例では、ディザーマトリクスによる閾値処理によってハーフトーン処理を行う。なお、本実施例で用いられるプリンター200は、小さいサイズの小ドット(以下「Sドット」とも呼ぶ)と中程度のサイズの中ドット(以下「Mドット」とも呼ぶ)と大きいサイズの大ドット(以下「Lドット」とも呼ぶ)との3種類のサイズのドットを形成可能なプリンターである。そのため、印刷画素におけるドットの形成状態としては、各インク色について、ドットを形成しない、Sドットを形成する、Mドットを形成する、Lドットを形成する、の計4つの選択肢が存在することとなる。
ドットサイズ交換処理部25は、階段状変化判定部23の判定結果を受け取り、注目画素が、階段状に変化しているエッジを形成する画素であり、かつハーフトーン処理部24によって決定され、出力バッファー32に記録されているドットの形成状態を表すデータの中に、所定の条件を満たす注目画素近傍の画素が存在するか否かを判定し、存在した場合は注目画素と近傍の画素のドットの形成状態を表すデータを交換する処理を行う。
本実施例ではハーフトーン処理部24によって決定され、出力バッファー32に記録されたドットの形成状態を表すデータが、ドットサイズ交換処理部25によって変更され、その結果が出力バッファー32に再び記録されることとなる。
ラスタライズ処理部26は、出力バッファー32に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター200に転送すべき順序に並び替える。
A3.印刷装置の構成
本実施例のプリンター200は、印刷媒体にインクドットを形成して画像を印刷するインクジェットプリンターである。プリンター200は、プログラムを実行することによりプリンター200全体の制御や各種処理を行うCPU210と、プログラムやデータ・情報を格納するメモリー220と、外部に接続されるパーソナルコンピューター100との間でデータや情報のやりとりを行う入出力インターフェイス(I/F)部230と、CPU210からの指示に従って各ユニットを制御するユニット制御回路240と、ヘッドユニット250と、キャリッジユニット260と、搬送ユニット270と、を備えている。
本実施例のプリンター200は、印刷媒体にインクドットを形成して画像を印刷するインクジェットプリンターである。プリンター200は、プログラムを実行することによりプリンター200全体の制御や各種処理を行うCPU210と、プログラムやデータ・情報を格納するメモリー220と、外部に接続されるパーソナルコンピューター100との間でデータや情報のやりとりを行う入出力インターフェイス(I/F)部230と、CPU210からの指示に従って各ユニットを制御するユニット制御回路240と、ヘッドユニット250と、キャリッジユニット260と、搬送ユニット270と、を備えている。
ヘッドユニット250は、印刷媒体にインクを噴射するためのヘッド(図示せず)を有している。ヘッドは、複数のノズルを有し、各ノズルから断続的にインクを噴射する。このヘッドはキャリッジ(図示せず)に搭載されており、キャリッジが所定の走査方向(主走査方向)に移動すると、ヘッドも主走査方向に移動する。ヘッドが主走査方向に移動している間にインクを断続的に噴射することにより、主走査方向に沿ったドットライン(ラスタライン)が印刷媒体上に形成される。
キャリッジユニット260は、ヘッドを搭載するキャリッジを主走査方向に往復移動させるための駆動装置である。キャリッジには、ヘッドの他、インクを収容するインクカートリッジも着脱可能に保持されている。
搬送ユニット270は、印刷媒体を印刷可能な位置に送り込み、印刷時に所定の搬送方向に所定の搬送量で印刷媒体を搬送させることによって副走査方向の移動を行うための駆動装置である。搬送ユニット270は、例えば、給紙ローラー、搬送モーター、搬送ローラー、プラテン、及び排紙ローラー(図示せず)などによって構成される。
A4.実施例の全体処理
ユーザがアプリケーションプログラム10上で画像の印刷を指示すると、アプリケーションプログラム10からプリンタードライバー20に印刷命令が発せられる。この印刷命令には、アプリケーションプログラム10上で編集された画像データ(RGBデータ)が含まれる。
ユーザがアプリケーションプログラム10上で画像の印刷を指示すると、アプリケーションプログラム10からプリンタードライバー20に印刷命令が発せられる。この印刷命令には、アプリケーションプログラム10上で編集された画像データ(RGBデータ)が含まれる。
印刷命令を受領したプリンタードライバー20では、解像度変換処理部21が、印刷命令の中に含まれている画像データの解像度を、印刷解像度に一致するように変換する。続いて、画像データを構成する各画素について、色変換処理部22によって色変換処理が行われるとともに、階段状変化判定部23によって、注目画素が階段状に変化しているエッジを形成する画素であるか否かを判定する。
色変換処理部22によって出力されたデータはハーフトーン処理部24によるハーフトーン処理を介してドットの形成状態が一旦決定され、出力バッファー32に記録される。
その後、階段状に変化しているエッジを形成する画素に対しては、ドットサイズ交換処理部25が近傍の画素とドットの形成状態を交換する処理を行う。
その後、階段状に変化しているエッジを形成する画素に対しては、ドットサイズ交換処理部25が近傍の画素とドットの形成状態を交換する処理を行う。
交換後のドットの形成状態は、出力バッファー32に再び記録される。ドットの形成状態を交換する処理については後に詳述する。ラスタライズ処理部26は、出力バッファー32に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター200に転送すべき順序に並び替え、ドットデータを含む印刷データを、入出力インターフェイス部130を介してプリンター200に出力する。
プリンター200は、パーソナルコンピューター100から印刷データを受領すると、印刷処理を実行する。まず、CPU210は、パーソナルコンピューター100から入出力インターフェイス部230を介して印刷データを受領し、受領した印刷データに含まれる各種コマンドの内容を解析する。CPU210は、解析結果に基づき、ユニット制御回路240を介して搬送ユニット270を制御する。この制御により、搬送ユニット270は、印刷すべき紙(印刷媒体)をプリンター200内に供給させ、印刷開始位置に紙を位置決めする。
次に、CPU210は、ユニット制御回路240を介してキャリッジユニット260を制御する。この制御により、キャリッジユニット260は、ヘッドを搭載したキャリッジを主走査方向に移動させる。また、CPU210は、ユニット制御回路240を介して印刷データに基づいてヘッドユニット250を制御する。この制御により、ヘッドユニット250は、主走査方向に沿って移動するヘッドから、印刷データに基づいてインクを断続的に噴射させ、噴射されたインク滴が紙上に着弾することにより紙上にドットを形成させる。さらに、CPU210は、搬送ユニット270を制御し、紙を搬送方向に搬送させて、ヘッドに対し相対的に移動させる。これにより、ヘッドは、先ほど形成されたドットの位置とは異なる位置にドットを形成することが可能になる。こうして、印刷するためのデータがなくなるまで、ドット形成や搬送などの処理を繰り返し、ドットから構成される画像を紙に印刷する。その後、印刷するためのデータがなくなれば、印刷処理が完了する。
B.ドット形成状態の決定処理
B−1.決定処理の全体構成
図2は、ドット形成状態が決定されるまでの処理の流れを示すフローチャートである。ドット形成状態の決定処理は、解像度変換処理部21による解像度変換処理後の画像データに基づき、各印刷画素におけるドットの形成状態を決定し、出力バッファー32に記録する処理である。
B−1.決定処理の全体構成
図2は、ドット形成状態が決定されるまでの処理の流れを示すフローチャートである。ドット形成状態の決定処理は、解像度変換処理部21による解像度変換処理後の画像データに基づき、各印刷画素におけるドットの形成状態を決定し、出力バッファー32に記録する処理である。
図3は、解像度変換処理後の印刷対象画像の一例を示す説明図である。以下では、図3に示す印刷対象画像40に基づき印刷処理が行われるものとして説明する。図3に示す印刷対象画像40は、線画Aを含んでいる。線画Aは、主走査方向に4画素、副走査方向には6画素につき1画素の比率で主走査方向にずれた階段状の3つのブロックで構成されており、総合計72個の水色(シアン色)の画素によって構成されている。この水色を示す画素のRGBの各値は(64,255,255)である。印刷対象画像40の線画A以外の部分の画素はすべて白色画素である。すなわち、印刷対象画像40は、白色とインクドット色の1つであるシアン色とのみにより構成された単色の画像である。なお、図3において、×印は後述する注目画素を示しており、実線矢印は注目画素が移動する軌跡を示している。
図4は、出力バッファー32(図1参照)の構成を示す説明図である。出力バッファー32は、印刷対象画像40の各画素に対応した印刷画素におけるドット形成状態が記録可能なように構成されている。図4に示した部分32Aは、印刷対象画像40の線画Aに対応した部分である。なお、出力バッファー32は、必ずしも印刷対象画像40全体の各画素に対応した印刷画素におけるドット形成状態が記録可能に構成されている必要はなく、印刷処理をバンド(印刷対象画像40を複数の帯状領域に分割した分割画像)単位で実行する場合には、出力バッファー32はバンド内の各画素に対応した印刷画素におけるドット形成状態が記録可能に構成されていればよい。
図2に示すフローの概略を説明する。ステップS104〜ステップS116では画像を構成する全画素について色変換処理およびハーフトーン処理を行う。次に、ステップS118〜ステップS134にて、エッジ部分におけるドットの交換処理を行う。ここではエッジ画素を含む直線エッジの長さと、階段状変化部からの方向とに応じたドットサイズ交換処理を行う。ドットサイズ交換処理は、階段状変化部(段差部)の凸部を形成するドットを、よりドットサイズの小さい近傍ドットと交換し、階段状変化部(段差部)の凹部を形成するドットを、よりドットサイズの大きい近傍ドットと交換する。
B−2.ドットサイズ交換処理
以降、図2のフローを詳述する。処理が開始されると、CPU110は、解像度変換処理部21による解像度変換処理後の画像データを読み込む(ステップS102)。次いで、CPU110は、図3の印刷対象画像40における左上の画素を最初の注目画素として設定する(ステップS104)。以降、図2のフローにおける注目画素を注目画素×と記述する。
以降、図2のフローを詳述する。処理が開始されると、CPU110は、解像度変換処理部21による解像度変換処理後の画像データを読み込む(ステップS102)。次いで、CPU110は、図3の印刷対象画像40における左上の画素を最初の注目画素として設定する(ステップS104)。以降、図2のフローにおける注目画素を注目画素×と記述する。
次いで、色変換処理部22は注目画素×に対して色変換処理を行う。
最初の注目画素×については背景の白色画素のため、この色変換処理によってRGBで示された値(255,255,255)からCMYKで示すデータ(0%,0%,0%,0%)に変換される(ステップS106)。
次に、CPU110は注目画素×のCMYKの各データに対して、ハーフトーン処理を行い、各画素のドットの形成状態を仮決定する(ステップS108)。
注目画素×についてはCMYK全ての色成分が0%であるため、ドットの形成状態は「ドットを形成しない」という状態に仮決定される。
ステップS108の実行後、ステップS110(図2)において、CPU110は、注目画素×が印刷対象画像40の右端の画素であるか否かを判定する。注目画素×が印刷対象画像40の右端の画素ではないと判定された場合には(ステップS110:No)、CPU110は、注目画素×を右に1画素分移動する(ステップS112)。その後、処理はステップS106に戻る。
最初の注目画素×については背景の白色画素のため、この色変換処理によってRGBで示された値(255,255,255)からCMYKで示すデータ(0%,0%,0%,0%)に変換される(ステップS106)。
次に、CPU110は注目画素×のCMYKの各データに対して、ハーフトーン処理を行い、各画素のドットの形成状態を仮決定する(ステップS108)。
注目画素×についてはCMYK全ての色成分が0%であるため、ドットの形成状態は「ドットを形成しない」という状態に仮決定される。
ステップS108の実行後、ステップS110(図2)において、CPU110は、注目画素×が印刷対象画像40の右端の画素であるか否かを判定する。注目画素×が印刷対象画像40の右端の画素ではないと判定された場合には(ステップS110:No)、CPU110は、注目画素×を右に1画素分移動する(ステップS112)。その後、処理はステップS106に戻る。
図3の状態において、注目画素×に対応した印刷画素のドット形成状態が決定されると、注目画素×が1画素分右に移動されることになる。この後、再度ステップS106およびS108において、色変換処理部22による色変換処理およびハーフトーン処理部24によるハーフトーン処理が実行され、注目画素×に対応した印刷画素のドット形成状態は「ドットを形成しない」という状態に決定される。このような処理が繰り返され、図3の状態から注目画素×が印刷対象画像40の右端まで移動すると、ステップS110において注目画素×は右端であると判定される(ステップS110:Yes)。このときには、CPU110が、注目画素×は画像の下端の画素であるか否かを判定する(ステップS114)。注目画素×は画像の下端の画素ではないと判定された場合には(ステップS114:No)、CPU110が、注目画素×を1ライン下の画像左端に移動する(ステップS116)。その後、処理はステップS106に戻る。
上述の処理が繰り返され、注目画素×が図5に示す位置まで移動すると、CPU110は、ステップS106ないしS108の処理を実行して、シアン色画素の集合領域である線画Aに含まれる注目画素×に対応した印刷画素のドット形成状態を決定する。
このシアン色画素の集合領域に含まれる画素に対しては、ステップS106の色変換処理によってRGBで示された値(64,255,255)からCMYKで示すデータ(53%,0%,0%,0%)に変換され、ステップS108のハーフトーン処理では、各画素に対応する閾値との比較により、ドットの形成状態が仮決定される。
このシアン色画素の集合領域に含まれる画素に対しては、ステップS106の色変換処理によってRGBで示された値(64,255,255)からCMYKで示すデータ(53%,0%,0%,0%)に変換され、ステップS108のハーフトーン処理では、各画素に対応する閾値との比較により、ドットの形成状態が仮決定される。
上述の処理が繰り返され、画像全体の画素に対して色変換処理およびハーフトーン処理が実行されると、出力バッファー32には画像全体もしくはバンド内の画素のドット形成状態が記録された状態となる。ここまでの処理の流れの説明では、簡単にするためシアン色のハーフトーン処理結果が出力バッファー32に記録されるまでを説明したが、残りのドット色、マゼンタ、イエロー、ブラックについても、それぞれ対応する出力バッファーが存在し、各バッファーにドットの形成状態が記録される。
図6に、色変換後の印刷対象画像40のシアン成分を、図7にはハーフトーン処理後のドット色シアンのドット形成状態が仮決定された状態を示す。図7(a)はドットサイズをS,M,L(小、中、大)の記号で示した図を、図7(b)は黒丸の大きさでドットサイズを示した図を示している。
ハーフトーン処理によって画像全体、あるいはバンド内のドット形成状態が仮決定された後、CPU110は、図3の印刷対象画像40における左上の画素を再び注目画素×として設定する(ステップS118)。なお、以降の説明における注目画素×は第1の画素に対応している。
図8は、注目画素×の位置と出力バッファー32の状態とを対応付けて示す説明図である。図8の上段には、印刷対象画像40上の線画A(図3参照)との関係における注目画素×の位置(×マークで示す)を示しており、下段には、出力バッファー32における線画Aに対応した部分32A(図4参照)の状態を示している。図中の記号「S」は「Sドットを形成する」というドット形成状態を示している。同様に、図中の記号「M」は「Mドットを形成する」というドット形成状態を、記号「L」は「Lドットを形成する」というドット形成状態を、それぞれ示している。時間の経過と共に、図8の上段左端の状態(状態1a)から右端の状態(状態1e)、さらに図8下段の左端の状態(状態1f)から右端の状態(状態1j)へと推移するものとする。図8に示した状態1aは、印刷対象画像40における左上の画素が注目画素×として設定されたときの状態を示している。
次いで、階段状変化判定部23は図3の印刷対象画像40に対して、RGB成分のいずれかが最大値未満である場合を1、いずれも最大値である場合を0として、それらのデータがあらかじめ決められた所定のパターンと一致するか否かを判定する、「縦斜め線用4パターンマッチング」処理を行う(ステップS120)。このパターンマッチング処理では、図9に示す2値で表された4つのエッジパターンを用いる。図9に示したエッジパターンはメモリー120に記録されている。なお、図9においてハッチングで示した画素は1に、白色かつ実線で囲まれた画素は0に対応する。なお図9において点線で囲まれた白色の画素はパターンマッチング処理の対象とはならない。
注目画素×と、図9の各2値パターン内の●で示した画素との座標を一致させた場合に、RGB成分から導いた2値パターンと、図9の各2値パターンとが一致するか否かを判定する。印刷対象画像40における左上の画素が注目画素×である場合は、近傍の画素は全て白色(0)であり、いずれのパターンにもマッチしないため、パターンなしと判定される(ステップS120:パターンなし)。
注目画素×と、図9の各2値パターン内の●で示した画素との座標を一致させた場合に、RGB成分から導いた2値パターンと、図9の各2値パターンとが一致するか否かを判定する。印刷対象画像40における左上の画素が注目画素×である場合は、近傍の画素は全て白色(0)であり、いずれのパターンにもマッチしないため、パターンなしと判定される(ステップS120:パターンなし)。
続いて、「横斜め線用4パターンマッチング」処理を行う(ステップS122)。
この処理では図10に示す4つのエッジパターンを用いる。図10に示したエッジパターンはメモリー120に記録されている。
なお、図10においても、ハッチングで示した画素は1に、白色かつ実線で囲まれた画素は0に対応する。また図10においても、点線で囲まれた白色の画素はパターンマッチング処理の対象とはならない。
この処理では注目画素×の近傍の画素はいずれのパターンにもマッチしないため、パターンなしと判定される(ステップS122:パターンなし)。そして、ステップS122の実行後、ステップS128(図2)において、CPU110は、注目画素×が印刷対象画像40の右端の画素であるか否かを判定する。注目画素×が印刷対象画像40の右端の画素ではないと判定された場合には(ステップS128:No)、CPU110は、注目画素×を右に1画素分移動する(ステップS132)。その後、処理はステップS120に戻る。
この処理では図10に示す4つのエッジパターンを用いる。図10に示したエッジパターンはメモリー120に記録されている。
なお、図10においても、ハッチングで示した画素は1に、白色かつ実線で囲まれた画素は0に対応する。また図10においても、点線で囲まれた白色の画素はパターンマッチング処理の対象とはならない。
この処理では注目画素×の近傍の画素はいずれのパターンにもマッチしないため、パターンなしと判定される(ステップS122:パターンなし)。そして、ステップS122の実行後、ステップS128(図2)において、CPU110は、注目画素×が印刷対象画像40の右端の画素であるか否かを判定する。注目画素×が印刷対象画像40の右端の画素ではないと判定された場合には(ステップS128:No)、CPU110は、注目画素×を右に1画素分移動する(ステップS132)。その後、処理はステップS120に戻る。
図8の状態1aにおいて、注目画素×に対応したパターンマッチング処理が終了すると、注目画素×が1画素分右に移動されることになる。この後、再度ステップS120およびステップS122において、階段状変化判定部23によるパターンマッチング処理が実行され、注目画素×はパターンにマッチしないという判定が行われる。このような処理が繰り返され、図8の状態1aから注目画素×が印刷対象画像40の右端まで移動すると、ステップS128において注目画素×は右端であると判定される(ステップS128:Yes)。このときには、CPU110が、注目画素×は画像の下端の画素であるか否かを判定する(ステップS130)。注目画素×は画像の下端の画素ではないと判定された場合には(ステップS130:No)、CPU110が、注目画素×を1ライン下の画像左端に移動する(ステップS134)。その後、処理はステップS120に戻る。
上述の処理が繰り返され、注目画素×が図8の状態1bに示す位置まで移動した場合の処理について説明する。
ステップS120において注目画素×について階段状変化判定部23は、「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9の一番左のパターンにマッチすると判定される。このパターンの方向係数は1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は「縦方向ドットサイズ交換処理」(ステップS124)を実行する。
ステップS120において注目画素×について階段状変化判定部23は、「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9の一番左のパターンにマッチすると判定される。このパターンの方向係数は1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は「縦方向ドットサイズ交換処理」(ステップS124)を実行する。
「縦方向ドットサイズ交換処理」のフローを図11に示す。
ステップS202においてCPU110はパターンの中央列の下側画素が白色か否かを判定する。
このパターンでは中央列の下側画素が白色であるため、Yesと判定される。
次いでCPU110は印刷対象画像40において階段状変化部から上方向に伸びる直線エッジの長さをカウントする。(ステップS216)ここで、上方向には6画素が直線エッジを形成しているため、num1には値6が代入される。
続いて、CPU110は印刷対象画像40において階段状変化部から下方向に延びる直線エッジの長さをカウントする。(ステップS218)下方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
引き続き、CPU110は上側凸処理(シアン)を実行する(ステップS220)。
ステップS202においてCPU110はパターンの中央列の下側画素が白色か否かを判定する。
このパターンでは中央列の下側画素が白色であるため、Yesと判定される。
次いでCPU110は印刷対象画像40において階段状変化部から上方向に伸びる直線エッジの長さをカウントする。(ステップS216)ここで、上方向には6画素が直線エッジを形成しているため、num1には値6が代入される。
続いて、CPU110は印刷対象画像40において階段状変化部から下方向に延びる直線エッジの長さをカウントする。(ステップS218)下方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
引き続き、CPU110は上側凸処理(シアン)を実行する(ステップS220)。
上側凸処理のフローを図12に示す。上側凸処理においては、まずnum1が2を超えるか否かを判定する(ステップS302)。
ここでは、num1=6>2のため、Yesと判定される。次にCPU110は変数iに0を代入し初期化を行う(ステップS304)。
ここではYesと判定されたが、Noと判定された(num1が2を超えない)場合は、階段状変化部を構成する画素が少ないため、注目画素×にのみ、後述する相対小ドット交換処理を実行する。
ここでは、num1=6>2のため、Yesと判定される。次にCPU110は変数iに0を代入し初期化を行う(ステップS304)。
ここではYesと判定されたが、Noと判定された(num1が2を超えない)場合は、階段状変化部を構成する画素が少ないため、注目画素×にのみ、後述する相対小ドット交換処理を実行する。
次にステップS306に進み、ここで、これまで述べてきた注目画素×とは異なる、「縦方向ドットサイズ交換処理」内で使用する2つめの注目画素を定義する。この2つ目の注目画素を注目画素○とする。なお、この注目画素○は第2の画素に対応している。
この注目画素○をマッチしたパターンの中央列の非白画素(●画素)に対応した画素(図8の状態1cにおいて○で示した画素)に設定する(ステップS306)。
次にドットサイズ交換処理部25は相対小ドット交換処理を行う(ステップS308)。
この注目画素○をマッチしたパターンの中央列の非白画素(●画素)に対応した画素(図8の状態1cにおいて○で示した画素)に設定する(ステップS306)。
次にドットサイズ交換処理部25は相対小ドット交換処理を行う(ステップS308)。
相対小ドット交換処理のフローを図13に示す。
相対小ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS902)。注目画素○の位置のドットサイズはL(大)であるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS904)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS914)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○および、注目画素○から見て右、右上、右下(楕円で囲まれた画素)を含めた4画素の内で、最もドットサイズが小さい画素を探索する。(ステップS918)この処理では、ドットが打たれないことを示すデータは対象に含めず、ドットサイズS(小)を最小とみなして探索を行う。ここでは、右下の画素のドットサイズS(小)が最小と判定される。よって注目画素のドットデータが最小ではないため、ステップS912の判定処理の結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータLと、右下の画素のドットデータSを交換する。(ステップS919)その結果、図8の状態1dに示した状態となる。状態1dでは交換の対象となった画素を太文字で表している。これで相対小ドット交換処理を終了し、図12の上側凸処理に戻る。
相対小ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS902)。注目画素○の位置のドットサイズはL(大)であるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS904)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS914)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○および、注目画素○から見て右、右上、右下(楕円で囲まれた画素)を含めた4画素の内で、最もドットサイズが小さい画素を探索する。(ステップS918)この処理では、ドットが打たれないことを示すデータは対象に含めず、ドットサイズS(小)を最小とみなして探索を行う。ここでは、右下の画素のドットサイズS(小)が最小と判定される。よって注目画素のドットデータが最小ではないため、ステップS912の判定処理の結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータLと、右下の画素のドットデータSを交換する。(ステップS919)その結果、図8の状態1dに示した状態となる。状態1dでは交換の対象となった画素を太文字で表している。これで相対小ドット交換処理を終了し、図12の上側凸処理に戻る。
次いで、iの値を1つ増加させる(ステップS310)。その結果iには1が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS312)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側1番目の画素(図8の状態1eにおいて○で示した画素)に移動する(ステップS306)。次に、再び相対小ドット交換処理を行う(ステップS308)。この処理でも同様に注目画素○および注目画素○から見て右、右上、右下(楕円で囲まれた画素)を含めた4画素のうちで、最もドットサイズが小さい画素を探索する。(ステップS918)ここでは、右上の画素のドットサイズS(小)が最小と判定される。よって、ステップS912の判定結果はNoとなる。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、右上の画素のドットデータSを交換する。(ステップS919)その結果、図8の状態1fに示した状態となる。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、右上の画素のドットデータSを交換する。(ステップS919)その結果、図8の状態1fに示した状態となる。
再び、図12の上側凸処理に戻る。ステップS310にてiの値を1つ増加させる。その結果iには2が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側2番目の画素(図8の状態1gにおいて○で示した画素)に移動する(ステップS314)次に、中ドット交換処理を行う(ステップS316)。
中ドット交換処理のフローを図14に示す。
中ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(ステップS960)。注目画素○の位置のドットサイズはS(小)であるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS962)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS974)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○から見て右、右上、右下(楕円で囲まれた画素)の3画素の中から、ドットサイズ中の画素を探索する(ステップS978)。
その結果、3画素のなかにはドットサイズ中の画素は無いため、ステップS968ではNoと判定され、中ドット交換処理は終了する。
中ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(ステップS960)。注目画素○の位置のドットサイズはS(小)であるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS962)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS974)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○から見て右、右上、右下(楕円で囲まれた画素)の3画素の中から、ドットサイズ中の画素を探索する(ステップS978)。
その結果、3画素のなかにはドットサイズ中の画素は無いため、ステップS968ではNoと判定され、中ドット交換処理は終了する。
再び図12の上側凸処理に戻り、ステップS318にてiの値を1つ増加させる。その結果iには3が代入される。次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Yesと判定される(ステップS320)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側3番目の画素(図8の状態1hにおいて○で示した画素)に移動する(ステップS314)。
次に、中ドット交換処理を行う(ステップS316)。ここでも注目画素○から見て右、右上、右下(楕円で囲まれた画素)の3画素の中から、ドットサイズ中の画素を探索する。(ステップS978)その結果、3画素のなかにはドットサイズ中の画素は無いため、ステップS968ではNoと判定され、中ドット交換処理を終了する。
再び図12の上側凸処理に戻り、ステップS318にてiの値を1つ増加させる。その結果iには4が代入される。次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS320)。
次いで、num2の値が2を超えるか否かが判定される(ステップS322)ここでnum2には6が代入されているため、Yesと判定される。
ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を構成する画素が少ないため、マッチしたパターンの下行の非白画素にのみ、後述する相対大ドット交換処理を実行する。
次いで、num2の値が2を超えるか否かが判定される(ステップS322)ここでnum2には6が代入されているため、Yesと判定される。
ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を構成する画素が少ないため、マッチしたパターンの下行の非白画素にのみ、後述する相対大ドット交換処理を実行する。
ついでiには0が代入される(ステップS324)。
次に、注目画素○をマッチしたパターンの下行の非白画素(図8の状態1iにおいて○で示した画素)に移動する(ステップS326)。次に、相対大ドット交換処理を行う(ステップS328)。相対大ドット交換処理のフローを図15に示す。この処理ではまず注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素○の位置には大ドット(L)がすでに記録されているため、判定はYesとなり、この相対大ドット処理を終了する。
次に、注目画素○をマッチしたパターンの下行の非白画素(図8の状態1iにおいて○で示した画素)に移動する(ステップS326)。次に、相対大ドット交換処理を行う(ステップS328)。相対大ドット交換処理のフローを図15に示す。この処理ではまず注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素○の位置には大ドット(L)がすでに記録されているため、判定はYesとなり、この相対大ドット処理を終了する。
再び図12の上側凸処理に戻り、ステップS330にてiの値を1つ増加させる。その結果iには1が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS332)。次に、注目画素○をマッチしたパターンの下行の非白画素から下側1番目の画素(図8の状態1jにおいて○で示した画素)に移動する(ステップS326)。
次に、相対大ドット交換処理を行う(ステップS328)。この処理では注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素○の位置には大ドット(L)がすでに記録されているため、判定はYesとなり、この相対大ドット処理は終了する。
再び図12の上側凸処理に戻り、ステップS330にてiの値を1つ増加させる。その結果iには2が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される(ステップS332)。以上で上側凸処理が終了し、図11の縦方向ドットサイズ交換処理のシアンに対する上側凸処理(ステップS220)が終了する。
続いて、シアンと同様の上側凸処理をマゼンタのドットパターン(ステップS222)、イエローのドットパターン(ステップS224)、ブラックのドットパターン(ステップS226)に対しても行い、縦方向のドットサイズ交換処理が終了する。
再び、図2の処理フローに戻り、注目画素×が画像の右端か否かの判定(ステップS128:Yes)および下端か否かの判定(ステップS130:No)を行い、注目画素を一ライン下の左端に移動した(ステップS134)のち、パターンマッチング処理(ステップS120およびステップS122)を行う。
上述の処理が繰り返され、注目画素×が図16の状態1kに示す位置まで移動した場合の処理について説明する。
ステップS120において階段状変化判定部23は、「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9一番右のパターンにマッチすると判定される。このパターンの方向係数は−1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は「縦方向ドットサイズ交換処理」(図2のステップS124)を実行する。
ステップS120において階段状変化判定部23は、「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9一番右のパターンにマッチすると判定される。このパターンの方向係数は−1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は「縦方向ドットサイズ交換処理」(図2のステップS124)を実行する。
「縦方向ドットサイズ交換処理」(図11)のステップS202においてCPU110はマッチしたパターンの中央列の下側画素が白色か否かを判定する。このパターンでは中央列の上側画素が白色であるため、Noと判定される。
次いでCPU110は階段状変化部から下方向に伸びる直線エッジの長さをカウントする(ステップS204)。ここで、下方向には6画素が直線エッジを形成しているため、num1には値6が代入される。続いて、CPU110は階段状変化部から上方向に延びる直線エッジの長さをカウントする(ステップS206)。上方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
次いでCPU110は階段状変化部から下方向に伸びる直線エッジの長さをカウントする(ステップS204)。ここで、下方向には6画素が直線エッジを形成しているため、num1には値6が代入される。続いて、CPU110は階段状変化部から上方向に延びる直線エッジの長さをカウントする(ステップS206)。上方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
引き続き、CPU110は下側凸処理(シアン)を実行する(ステップS208)下側凸処理のフローを図17に示す。下側凸処理においては、まずnum1が2を超えるか否かを判定する(ステップS352)。ここでは、num1=6>2のため、Yesと判定される。ここではYesと判定されたが、Noと判定された(num1が2を超えない)場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、後述する相対小ドット交換処理を実行する。
次にCPU110は変数iに0を代入し初期化を行う(ステップS354)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素(図16の状態1lにおいて○で示した画素)に移動する。(ステップS356)。
次にドットサイズ交換処理部25は相対小ドット交換処理(図13)を行う(ステップS358)。相対小ドット交換処理では、まず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS902)。注目画素○の位置のドットサイズはS(小)であるため、Yesと判定される。よって相対小ドット交換処理を終了し、図17の下側凸処理に戻る。
次にドットサイズ交換処理部25は相対小ドット交換処理(図13)を行う(ステップS358)。相対小ドット交換処理では、まず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS902)。注目画素○の位置のドットサイズはS(小)であるため、Yesと判定される。よって相対小ドット交換処理を終了し、図17の下側凸処理に戻る。
次いで、iの値を1つ増加させる(ステップS360)。その結果iには1が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS362)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側1番目の画素(図16の状態1mに示した○の画素)に移動する(ステップS356)。
次に、再び相対小ドット交換処理を行う(ステップS358)。注目画素○の位置に記録されたドットデータはL(大)であり、マッチパターンは縦方向、マッチパターンの方向係数は−1であるため、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)を含めた4画素のうちで、最もドットサイズが小さい画素を探索する(ステップS916)。ここでは、左の画素のドットサイズS(小)が最小と判定される。よって、ステップS912の判定結果はNoとなる。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、左の画素のドットデータSを交換する(ステップS919)。その結果、図16の状態1nに示した状態となる。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、左の画素のドットデータSを交換する(ステップS919)。その結果、図16の状態1nに示した状態となる。
再び、図17の下側凸処理に戻る。ステップS360にてiの値を1つ増加させる。その結果iには2が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される(ステップS362)。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側2番目の画素(図16の状態1oにおいて○で示した画素)に移動する(ステップS364)。
次に、中ドット交換処理を行う(ステップS366)。
中ドット交換処理(図14)ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(ステップS960)。注目画素○の位置のドットサイズはM(中)であるため、Yesと判定される。よって中ドット交換処理を終了し、図17の下側凸処理に戻る。
中ドット交換処理(図14)ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(ステップS960)。注目画素○の位置のドットサイズはM(中)であるため、Yesと判定される。よって中ドット交換処理を終了し、図17の下側凸処理に戻る。
次に、ステップS368にてiの値を1つ増加させる。その結果iには3が代入される。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Yesと判定される(ステップS370)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側3番目の画素(図16の状態1pにおいて○で示した画素)に移動する(ステップS364)。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Yesと判定される(ステップS370)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から下側3番目の画素(図16の状態1pにおいて○で示した画素)に移動する(ステップS364)。
次に、中ドット交換処理を行う(ステップS366)。
中ドット交換処理では、出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(図14のステップS960)。注目画素○の位置のドットサイズはM(中)であるため、Yesと判定される。よって中ドット交換処理を終了し、図17の下側凸処理に戻る。
中ドット交換処理では、出力バッファー32の注目画素○に対応する位置のドットサイズが中ドットか否かを判定する(図14のステップS960)。注目画素○の位置のドットサイズはM(中)であるため、Yesと判定される。よって中ドット交換処理を終了し、図17の下側凸処理に戻る。
再び、ステップS368にてiの値を1つ増加させる。その結果iには4が代入される。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS370)。次いで、num2の値が2を超えるか否かが判定される(ステップS372)。ここでnum2には6が代入されているため、Yesと判定される。ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を形成する画素が少ないため、マッチしたパターンの上行の非白画素に対してのみ、後述する相対大ドット交換処理を実行する。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS370)。次いで、num2の値が2を超えるか否かが判定される(ステップS372)。ここでnum2には6が代入されているため、Yesと判定される。ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を形成する画素が少ないため、マッチしたパターンの上行の非白画素に対してのみ、後述する相対大ドット交換処理を実行する。
次いでiには0が代入される(ステップS374)。
次に、注目画素○をマッチしたパターンの上行の非白画素(図16の状態1qに示した○の画素)に移動する(ステップS376)。次に、相対大ドット交換処理を行う(ステップS378)。相対大ドット交換処理(図15)ではまず注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素○の位置には空白のドットが記録されているため、判定はNoとなる。
次に、注目画素○をマッチしたパターンの上行の非白画素(図16の状態1qに示した○の画素)に移動する(ステップS376)。次に、相対大ドット交換処理を行う(ステップS378)。相対大ドット交換処理(図15)ではまず注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素○の位置には空白のドットが記録されているため、判定はNoとなる。
次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS982)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS992)。ステップS120において、マッチパターンの方向係数は−1と判定されているため、ここではNoと判定される。次に、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS994)。その結果、左下のL(大)ドットが最大と判定される。ここで注目画素が最大ではないため、ステップS988の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータ空白と、左下の画素のドットデータLを交換する(ステップS998)。その結果、図16の状態1rに示した状態となる。
再び図17の下側凸処理に戻り、ステップS380にてiの値を1つ増加させる。その結果iには1が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS382)。次に、注目画素○をマッチしたパターンの上行の非白画素から上側1番目の画素(図16の状態1sにおいて○で示した画素)に移動する(ステップS376)。
次に、相対大ドット交換処理を行う(ステップS378)。この処理では注目画素○が大ドットか否かの判定を行う(図15のステップS980)。
出力バッファー32の注目画素○の位置にはMドットが記録されているため、判定はNoとなる。
次いで、マッチパターンは縦方向であり(ステップS982:Yes)、方向係数は−1と判定されているため(ステップS992:No)、次に、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS994)。
その結果、注目画素○のM(中)ドットが最大と判定されるため、よって、ステップS988の判定結果はYesとなる。よってドットデータの交換処理を行わず、この相対大ドット交換処理は終了する。
出力バッファー32の注目画素○の位置にはMドットが記録されているため、判定はNoとなる。
次いで、マッチパターンは縦方向であり(ステップS982:Yes)、方向係数は−1と判定されているため(ステップS992:No)、次に、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS994)。
その結果、注目画素○のM(中)ドットが最大と判定されるため、よって、ステップS988の判定結果はYesとなる。よってドットデータの交換処理を行わず、この相対大ドット交換処理は終了する。
再び図17の下側凸処理に戻り、ステップS380にてiの値を1つ増加させる。その結果iには2が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される(ステップS382)。以上で下側凸処理が終了し、図11の縦方向ドットサイズ交換処理のシアンに対する下側凸処理(ステップS208)が終了する。続いて、シアンと同様の下側凸処理をマゼンタのドットパターン(ステップS210)、イエローのドットパターン(ステップS212)、ブラックのドットパターン(ステップS214)に対しても行い、縦方向のドットサイズ交換処理が終了する。
再び、図2の処理フローに戻り、注目画素×が画像の右端か否かの判定(ステップS128:Yes)および下端か否かの判定(ステップS130:No)を行い、注目画素を一ライン下の左端に移動した(ステップS134)のち、パターンマッチング処理(ステップS120およびステップS122)を行う。
図18の状態1tから状態1aaは、入力画像の左下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
図19の状態図1abから状態1akは、入力画像の右下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
そして全ての画素に対するパターンマッチ処理および全ての色成分に対するドットデータの交換処理が終了すると、ラスタライズ処理部26は、出力バッファー32に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター200に転送すべき順序に並び替え、プリンター200に印刷データを送信する。
以上の説明では、垂直に近い角度の斜め線に対する処理を説明したが、水平に近い角度の斜め線に対しては、横斜め線用のパターンがマッチし、横方向ドットサイズ交換処理が行われる。横方向ドットサイズ交換処理のフローを図20に示す。
また、水平に近い角度の斜め線に対しては、左側凸処理または右側凸処理が用いられる。それぞれの処理フローを図21および図22に示す。
左側凸処理および右側凸処理は、上側凸処理および下側凸処理と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
また、水平に近い角度の斜め線に対しては、左側凸処理または右側凸処理が用いられる。それぞれの処理フローを図21および図22に示す。
左側凸処理および右側凸処理は、上側凸処理および下側凸処理と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
以上のように構成されたドットデータ交換処理により、斜線を形成する画素のうち、階段状変化部(段差部)の凸部を形成し、斜線からはみ出して見えやすい画素に対しては、ドットデータをより小さいドットに交換する。一方、階段状変化部(段差部)の凹部を形成し、斜線からへこんで見えやすい画素に対しては、ドットデータをより大きなドットに交換する。
以上のドット交換を行うことにより、段差(ジャギー)が知覚されにくい、きれいな斜線の印刷を行わせることができる。
以上のドット交換を行うことにより、段差(ジャギー)が知覚されにくい、きれいな斜線の印刷を行わせることができる。
また、階段状変化部(段差部)のドットデータを近傍の画素のドットデータと交換する処理を行っているため、交換処理の前後では、局所的にも、画像全体でも印刷に使用される色材(インクなど)の量は変化しない。すなわち、印刷対象画像の色みや階調性を維持したまま、斜線部分のジャギーの発生を抑えた、高品位な印刷を行うことができる効果を奏する。
ドットデータ交換処理後のドット色シアンのドットパターンを図23に示す。
図23(a)はドットサイズをS,M,L(小、中、大)の記号で示した図を、図23(b)は黒丸の大きさでドットサイズを示した図を示している。
図23(b)において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。
ハーフトーン処理後のドットデータ(図7(b))と比較してドットデータ交換処理後のデータ(図23(b))は段差(ジャギー)が知覚されにくいパターンとなっている。
図23(a)はドットサイズをS,M,L(小、中、大)の記号で示した図を、図23(b)は黒丸の大きさでドットサイズを示した図を示している。
図23(b)において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。
ハーフトーン処理後のドットデータ(図7(b))と比較してドットデータ交換処理後のデータ(図23(b))は段差(ジャギー)が知覚されにくいパターンとなっている。
D.第2実施例
本発明の第2実施例について説明する。第2実施例における印刷システムは、第1実施例における印刷システムと比較して、ハードウェア構成は同一であり、ソフトウェア構成の一部が相違するだけである。第1実施例は、比較的濃い色の入力画像を対象として説明したが、第2実施例は、より淡い色に対しても効果がある構成となっている。第2実施例において、ドット形成状態の決定処理の流れを示すフロー(図2)は第1実施例におけるドット形成状態の決定処理の流れと同一である。
本発明の第2実施例について説明する。第2実施例における印刷システムは、第1実施例における印刷システムと比較して、ハードウェア構成は同一であり、ソフトウェア構成の一部が相違するだけである。第1実施例は、比較的濃い色の入力画像を対象として説明したが、第2実施例は、より淡い色に対しても効果がある構成となっている。第2実施例において、ドット形成状態の決定処理の流れを示すフロー(図2)は第1実施例におけるドット形成状態の決定処理の流れと同一である。
第2実施例では、第1実施例と同様に、入力画像に対して色変換処理(図2のステップS106)およびハーフトーン処理(ステップS108)が実行され、ドットの形成状態が仮決定される。第1実施例においては、解像度変換処理後の印刷対象画像(図3)では、線画AはRGBの各値が(64,255,255)で示される色を持っていた。第2実施例では、RGBの各値が(140,255,255)で示される、より淡いシアン色である線画Bを対象として説明する。
第2実施例における入力画像を図24に示す。第2実施例における線画Bの画素は、RGBの各値が(140,255,255)であり、色変換処理ステップS106により、CMYKで示すデータ(41%,0%,0%,0%)に変換される。また、ステップS108のハーフトーン処理では、各画素に対応する閾値との比較により、ドットの形成状態が仮決定される。全ての画素についてドット形成状態が仮決定され、出力バッファー32に記録されたドットパターンを図25に示す。図25(a)はドットサイズをS,M,L(小、中、大)の記号で表した図であり、図25(b)は黒丸の大きさでドットサイズを表した図である。
ハーフトーン処理によって画像全体、あるいはバンド内のドット形成状態が仮決定された後、CPU110は、印刷対象画像40における左上の画素を再び注目画素として設定する(図2のステップS118)。
図26と図31、及び図34は、注目画素の位置と出力バッファー32の状態とを対応付けて示す説明図である。
図26に示した状態2aは、印刷対象画像40における左上の画素が注目画素×として設定されたときの状態を示している。図26の状態2aにおいて、注目画素×に対応したパターンマッチング処理が終了すると、注目画素×に対する右端判定および下端判定が行われ、注目画素×が1画素分右あるいは1ライン下の画像左端に移動されることになる。
上述のパターンマッチング処理および移動処理が繰り返され、注目画素×が図26の状態2bに示す位置まで移動した場合の処理について説明する。
図26に示した状態2aは、印刷対象画像40における左上の画素が注目画素×として設定されたときの状態を示している。図26の状態2aにおいて、注目画素×に対応したパターンマッチング処理が終了すると、注目画素×に対する右端判定および下端判定が行われ、注目画素×が1画素分右あるいは1ライン下の画像左端に移動されることになる。
上述のパターンマッチング処理および移動処理が繰り返され、注目画素×が図26の状態2bに示す位置まで移動した場合の処理について説明する。
図2のステップS120において階段状変化判定部23は、注目画素について「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9に示すエッジパターンの内、一番左のパターンにマッチすると判定される。このパターンの方向係数は1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は「縦方向ドットサイズ交換処理」(ステップS124)を実行する。
第2実施例においては、入力画像の濃度に対応した「縦方向ドットサイズ交換処理」および、「横方向ドットサイズ交換処理」を行う。濃度に対応した「縦方向ドットサイズ交換処理」のフローを図27に示す。
図27のステップS502においてCPU110はマッチしたパターンの中央列の下側画素が白色か否かを判定する。このパターンでは中央列の下側画素が白色であるため、Yesと判定される。
次いでCPU110は階段状変化部から上方向に伸びる直線エッジの長さをカウントする(ステップS532)。ここで、上方向には6画素が直線エッジを形成しているため、num1には値6が代入される。続いて、CPU110は階段状変化部から下方向に延びる直線エッジの長さをカウントする(ステップS534)。下方向には6画素が直線エッジを形成しているため、num2には値6が代入される。引き続き、CPU110は注目画素×(マッチしたパターンの●で示した画素と同座標)のシアン成分の濃度があらかじめ決められた閾値Th_cよりも小さいか否かを判定する(ステップS536)。
ここで、あらかじめ決められた閾値Th_cは50%であるとする。注目画素×のシアン成分の濃度は41%であるため、判定の結果はYesとなり、ドットサイズ交換処理部25は上側凸処理2を実行する(ステップS540)。
次いでCPU110は階段状変化部から上方向に伸びる直線エッジの長さをカウントする(ステップS532)。ここで、上方向には6画素が直線エッジを形成しているため、num1には値6が代入される。続いて、CPU110は階段状変化部から下方向に延びる直線エッジの長さをカウントする(ステップS534)。下方向には6画素が直線エッジを形成しているため、num2には値6が代入される。引き続き、CPU110は注目画素×(マッチしたパターンの●で示した画素と同座標)のシアン成分の濃度があらかじめ決められた閾値Th_cよりも小さいか否かを判定する(ステップS536)。
ここで、あらかじめ決められた閾値Th_cは50%であるとする。注目画素×のシアン成分の濃度は41%であるため、判定の結果はYesとなり、ドットサイズ交換処理部25は上側凸処理2を実行する(ステップS540)。
上側凸処理2のフローを図28に示す。上側凸処理2においては、まずnum1が2を超えるか否かを判定する(ステップS702)。ここでは、num1=6>2のため、Yesと判定される。
ここではYesと判定されたが、Noと判定された(num1が2を超えない)場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、後述する空白含む相対小ドット交換処理を実行する。次にCPU110は変数iに0を代入し初期化を行う(ステップS704)。
次に、注目画素○をマッチしたパターンの中央列の非白画素(マッチパターン内の●で示した画素位置)に対応した画素(図26の状態2cにおいて○で示した画素)に移動する。(ステップS706)。
次にドットサイズ交換処理部25は空白含む相対小ドット交換処理を行う(ステップS708)。
ここではYesと判定されたが、Noと判定された(num1が2を超えない)場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、後述する空白含む相対小ドット交換処理を実行する。次にCPU110は変数iに0を代入し初期化を行う(ステップS704)。
次に、注目画素○をマッチしたパターンの中央列の非白画素(マッチパターン内の●で示した画素位置)に対応した画素(図26の状態2cにおいて○で示した画素)に移動する。(ステップS706)。
次にドットサイズ交換処理部25は空白含む相対小ドット交換処理を行う(ステップS708)。
空白含む相対小ドット交換処理のフローを図29に示す。空白含む相対小ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが空白ドットか否かを判定する(ステップS920)。注目画素○の位置のドットサイズはM(中)であるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS922)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS932)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○および、注目画素○から見て右、右上、右下(楕円で囲まれた画素)を含めた4画素の内で、最もドットサイズが小さい画素を探索する(ステップS936)。この処理では、ドットが打たれないことを示すデータも対象に含め、空白のドットデータを最小とみなして探索を行う。ここでは、右の画素のドットサイズS(小)が最小と判定される。よって、ステップS930の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータMと、右の画素のドットデータSを交換する(ステップS938)。その結果、図26の状態2dに示した状態となる。ここで交換の対象となった画素を太文字で表している。これで空白含む相対小ドット交換処理を終了し、図28の上側凸処理2に戻る。
次いで、ステップS710にてiの値を1つ増加させる。その結果iには1が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS712)。次に、注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側1番目の画素(図26の状態2eにおいて○で示した画素)に移動する(ステップS706)。次に、再び空白含む相対小ドット交換処理を行う(ステップS708)。この処理でも同様に注目画素○および注目画素○から見て右、右上、右下(楕円で囲まれた画素)を含めた4画素のうちで、最もドットサイズが小さい画素を探索する。(図29のステップS936)ここでは、右上の画素の空白ドットが最小と判定される。よって、ステップS930の判定結果はNoとなる。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、右上の画素の空白ドットデータを交換する。(ステップS938)その結果、図26の状態2fに示した状態となる。
再び、図28の上側凸処理2に戻る。ステップS710にてiの値を1つ増加させる。その結果iには2が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側2番目の画素(図26の状態2gに示した○の画素)に移動する(ステップS714)。次に、小ドット交換処理を行う(ステップS716)。
次いで、出力バッファー32に記録された注目画素○のドットデータLと、右上の画素の空白ドットデータを交換する。(ステップS938)その結果、図26の状態2fに示した状態となる。
再び、図28の上側凸処理2に戻る。ステップS710にてiの値を1つ増加させる。その結果iには2が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される。次に注目画素○をマッチしたパターンの中央列の非白画素に対応した画素から上側2番目の画素(図26の状態2gに示した○の画素)に移動する(ステップS714)。次に、小ドット交換処理を行う(ステップS716)。
小ドット交換処理のフローを図30に示す。小ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS940)。注目画素○の位置のドットサイズは空白ドットであるため、Noと判定される。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS942)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS954)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○から見て右、右上、右下(楕円で囲まれた画素)の3画素の中から、ドットサイズ小の画素を探索する。(ステップS958)ここでは、右下の画素がSドットと判定される(ステップS948:Yes)。次いで、出力バッファー32に記録された注目画素○の空白ドットデータと、右下の画素のSドットデータを交換する。(ステップS950)その結果、図26の状態2hに示した状態となる。
再び図28の上側凸処理2に戻り、ステップS718にてiの値を1つ増加させる。その結果iには3が代入される。次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Yesと判定される(ステップS720)。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から上側3番目の画素(図示せず)に移動する(ステップS714)。次に、小ドット交換処理を行う(ステップS716)。ここでも注目画素○から見て右、右上、右下(楕円で囲まれた画素)の3画素の中から、ドットサイズ小の画素を探索する(図30のステップS958)。その結果、3画素の中にはドットサイズ小の画素は無いため、ステップS948においてNoと判定され、小ドット交換処理は終了する。
再び図28の上側凸処理2に戻り、ステップS718にてiの値を1つ増加させる。その結果iには4が代入される。次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS720)。次いで、num2の値が2を超えるか否かが判定される(ステップ722)ここでnum2には6が代入されているため、Yesと判定される。
ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、相対大ドット交換処理を実行する。
ついでiには0が代入される(ステップS724)。
ここではYesと判定されたが、Noと判定された(num2が2を超えない)場合は、階段状変化部を形成する画素が少ないため、注目画素×に対してのみ、相対大ドット交換処理を実行する。
ついでiには0が代入される(ステップS724)。
次に、注目画素○をマッチしたパターンの下行の非白画素(図26の状態2iに示した○の画素)に移動する(ステップS726)。次に、相対大ドット交換処理を行う(ステップS728)。この処理ではまず注目画素○が大ドットか否かの判定を行う(図15のステップS980)。出力バッファー32の注目画素の位置には小ドット(S)が記録されているため、判定はNoとなる。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS982)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS992)。ステップS120において、マッチパターンの方向係数は1と判定されているため、ここではYesと判定される。次に、注目画素○および注目画素○から見て右、右上、右下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS996)。
その結果、右のM(中)ドットが最大と判定されるため、ステップS988の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータSと、右の画素のドットデータMを交換する(ステップS998)。その結果、図26の状態2jに示した状態となる。
その結果、右のM(中)ドットが最大と判定されるため、ステップS988の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータSと、右の画素のドットデータMを交換する(ステップS998)。その結果、図26の状態2jに示した状態となる。
再び図28の上側凸処理2に戻り、ステップS730にてiの値を1つ増加させる。その結果iには1が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS732)。次に、注目画素をマッチしたパターンの下行の非白画素から下側1番目の画素(図31の状態2kに示した○の画素)に移動する(ステップS726)。
次に、相対大ドット交換処理を行う(ステップS728)。この処理では注目画素○が大ドットか否かの判定を行う(図15のステップS980)。出力バッファー32の注目画素の位置には中ドット(M)が記録されているため、判定はNoとなる。次いで、マッチパターンは縦方向か否か(ステップS982:Yes)、マッチパターンの方向係数が1か否かの判定(ステップS992:Yes)が行われる。
次に、注目画素○および注目画素○から見て右、右上、右下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS996)。
その結果、注目画素○のM(中)ドットが最大と判定されるため(ステップS988)、ドットデータの交換処理は行わず、終了する。
次に、相対大ドット交換処理を行う(ステップS728)。この処理では注目画素○が大ドットか否かの判定を行う(図15のステップS980)。出力バッファー32の注目画素の位置には中ドット(M)が記録されているため、判定はNoとなる。次いで、マッチパターンは縦方向か否か(ステップS982:Yes)、マッチパターンの方向係数が1か否かの判定(ステップS992:Yes)が行われる。
次に、注目画素○および注目画素○から見て右、右上、右下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS996)。
その結果、注目画素○のM(中)ドットが最大と判定されるため(ステップS988)、ドットデータの交換処理は行わず、終了する。
再び図28の上側凸処理2に戻り、ステップS730にてiの値を1つ増加させる。その結果iには2が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される(ステップS732)。以上で上側凸処理2が終了し、図27の縦方向ドットサイズ交換処理のシアンに対する上側凸処理2(ステップS540)が終了する。
続いて、注目画素×のマゼンタ濃度の判定(ステップS542)およびその判定に応じた上側凸処理(ステップS544またはS546)、注目画素×のイエロー濃度の判定(ステップS548)およびその判定に応じた上側凸処理(ステップS550またはS552)、注目画素×のブラック濃度の判定(ステップS554)およびその判定に応じた上側凸処理(ステップS556またはS558)、が実行され、縦方向のドットサイズ交換処理が終了する。
再び、図2の処理フローに戻り、注目画素×が画像の右端か否かの判定(ステップS128:Yes)および下端か否かの判定(ステップS130:No)を行い、注目画素を一ライン下の左端に移動した(ステップS134)のち、パターンマッチング処理(ステップS120およびステップS122)を行う。
上述の処理が繰り返され、注目画素×が図31の状態2lに示す位置まで移動した場合の処理について説明する。ステップS120において注目画素について階段状変化判定部23は、「縦斜め線用4パターンマッチング」処理を実行する。その結果、図9のエッジパターンの内、一番右のパターンにマッチすると判定される。このパターンの方向係数は−1である。「パターンあり」と判定されたため、ドットサイズ交換処理部25は図27の「縦方向ドットサイズ交換処理」(ステップS124)を実行する。
図27のステップS502においてCPU110はパターンの中央列の下側画素が白色か否かを判定する。
このパターンでは中央列の上側画素が白色であるため、Noと判定される。次いでCPU110は階段状変化部から下方向に伸びる直線エッジの長さをカウントする(ステップS504)。ここで、下方向には6画素が直線エッジを形成しているため、num1には値6が代入される。
続いて、CPU110は階段状変化部から上方向に延びる直線エッジの長さをカウントする。(ステップS506)上方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
このパターンでは中央列の上側画素が白色であるため、Noと判定される。次いでCPU110は階段状変化部から下方向に伸びる直線エッジの長さをカウントする(ステップS504)。ここで、下方向には6画素が直線エッジを形成しているため、num1には値6が代入される。
続いて、CPU110は階段状変化部から上方向に延びる直線エッジの長さをカウントする。(ステップS506)上方向には6画素が直線エッジを形成しているため、num2には値6が代入される。
引き続き、CPU110は注目画素×(マッチしたパターンの●で示した画素と同座標)のシアン成分の濃度があらかじめ決められた閾値Th_cよりも小さいか否かを判定する(ステップS508)。
ここで、注目画素×のシアン成分の濃度は41%であるため、判定の結果はYesとなり、ドットサイズ交換処理部25は下側凸処理2を実行する(ステップS512)。
ここで、注目画素×のシアン成分の濃度は41%であるため、判定の結果はYesとなり、ドットサイズ交換処理部25は下側凸処理2を実行する(ステップS512)。
下側凸処理2のフローを図32に示す。下側凸処理2においては、まずnum1が2を超えるか否かを判定する(ステップS752)。ここでは、num1=6>2のため、Yesと判定される。次にCPU110は変数iに0を代入し初期化を行う(ステップS754)。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素(図31の状態2mに示した○の画素)に移動する(ステップS756)。
次にドットサイズ交換処理部25は空白含む相対小ドット交換処理(図29)を行う(ステップS758)。空白含む相対小ドット交換処理ではまず出力バッファー32の注目画素○に対応する位置のドットサイズが空白ドットか否かを判定する(ステップS920)。注目画素○の位置のドットサイズは空白ドットであるため、Yesと判定される。よって空白含む相対小ドット交換処理を終了し、図32の下側凸処理2に戻る。
次いでステップS760にてiの値を1つ増加させる。その結果iには1が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS762)。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側1番目の画素(図31の状態2nに示した○の画素)に移動する(ステップS756)。
次に、再び空白含む相対小ドット交換処理を行う(ステップS758)。注目画素○に記録されたドットデータはM(中)であり(図29のステップS920:No)、マッチパターンは縦方向(ステップS922:Yes)、マッチパターンの方向係数は−1であるため(ステップS932:No)、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)を含めた4画素のうちで、空白ドットを含めて、最もドットサイズが小さい画素を探索する(ステップS934)。ここでは、左の画素のドットサイズS(小)が最小と判定される。よって、ステップS930の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータMと、左の画素のドットデータSを交換する(ステップS938)。その結果、図31の状態2oに示した状態となる。
再び、図32の下側凸処理2に戻る。ステップS760にてiの値を1つ増加させる。その結果iには2が代入される。次に、iの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される。次に注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側2番目の画素(図31の状態2pに示した○の画素)に移動する(ステップS764)次に、小ドット交換処理を行う(ステップS766)。
小ドット交換処理(図30)では、まず出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(ステップS940)。注目画素○の位置のドットサイズはS(小)であるため、Yesと判定される。よって小ドット交換処理を終了し、図32の下側凸処理2に戻る。
ステップS768にてiの値を1つ増加させる。その結果iには3が代入される。次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Yesと判定される(ステップS770)。次に、注目画素をマッチしたパターンの中央列の非白画素に対応した画素から下側3番目の画素(図31の状態2qに示した○の画素)に移動する(ステップS764)。
次に、小ドット交換処理を行う(ステップS766)。小ドット交換処理では、出力バッファー32の注目画素○に対応する位置のドットサイズが小ドットか否かを判定する(図30のステップS940)。注目画素○の位置のドットサイズはS(小)であるため、Yesと判定される。よって小ドット交換処理を終了し、図32の下側凸処理2に戻る。
ステップS768にてiの値を1つ増加させる。その結果iには4が代入される。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS770)。次いで、num2の値が2を超えるか否かが判定される(ステップS772)。ここでnum2には6が代入されているため、Yesと判定される。ついでiには0が代入される(ステップS774)。次に、注目画素をマッチしたパターンの上行の非白画素(図31の状態2rに示した○の画素)に移動する(ステップS776)。
次にiの値がnum1×2/3つまり4よりも小さいか否かを判定し、Noと判定される(ステップS770)。次いで、num2の値が2を超えるか否かが判定される(ステップS772)。ここでnum2には6が代入されているため、Yesと判定される。ついでiには0が代入される(ステップS774)。次に、注目画素をマッチしたパターンの上行の非白画素(図31の状態2rに示した○の画素)に移動する(ステップS776)。
次に、相対大ドット交換処理を行う(ステップS778)。相対大ドット交換処理(図15)ではまず注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素の位置には空白のドットが記録されているため、判定はNoとなる。次いで、マッチパターンは縦方向か否かの判定が行われる(ステップS982)。この処理は縦斜め線用のパターンにマッチした結果実行されているため、Yesと判定される。次に、マッチパターンの方向係数が1か否かの判定を行う(ステップS992)。ステップS120において、マッチパターンの方向係数は−1と判定されているため、ここではNoと判定される。次に、注目画素○および注目画素○から見て左、左上、左下(楕円で囲まれた画素)の4画素の中から、ドットサイズが最大の画素を探索する(ステップS994)。
その結果、左下のS(小)ドットが最大と判定されるため、ステップS988の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータ空白と、左下の画素のドットデータSを交換する(ステップS998)。その結果、図31の状態2sに示した状態となる。
その結果、左下のS(小)ドットが最大と判定されるため、ステップS988の判定結果はNoとなる。次いで、出力バッファー32に記録された注目画素○のドットデータ空白と、左下の画素のドットデータSを交換する(ステップS998)。その結果、図31の状態2sに示した状態となる。
再び図32の下側凸処理2に戻り、ステップS780にてiの値を1つ増加させる。その結果iには1が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Yesと判定される(ステップS782)。次に、注目画素をマッチしたパターンの上行の非白画素から上側1番目の画素(図示せず)に移動する(ステップS776)。
次に、相対大ドット交換処理を行う(ステップS778)。この処理では注目画素○が大ドットか否かの判定を行う(ステップS980)。出力バッファー32の注目画素の位置にはSドットが記録されているため、判定はNoとなる。次いで、マッチパターンは縦方向であり(ステップS982:Yes)、方向係数は−1(ステップS992:No)と判定されているため、次に、注目画素○および注目画素○から見て左、左上、左下の4画素の中から、ドットサイズが最大の画素を探索する(ステップS994)。その結果、注目画素○のS(小)ドットが最大と判定されるため(ステップS988)、交換処理を行わず、この相対大ドット処理は終了する。
再び図32の下側凸処理2に戻り、ステップS780にてiの値を1つ増加させる。その結果iには2が代入される。次にiの値がnum1/3つまり2よりも小さいか否かを判定し、Noと判定される(ステップS782)。以上で下側凸処理2が終了し、図27の縦方向ドットサイズ交換処理のシアンに対する下側凸処理2(図27のステップS512)が終了する。
続いて、注目画素×のマゼンタ濃度の判定(ステップS514)およびその判定に応じた下側凸処理(ステップS516またはS518)、注目画素×のイエロー濃度の判定(ステップS520)およびその判定に応じた下側凸処理(ステップS522またはS524)、注目画素×のブラック濃度の判定(ステップS526)およびその判定に応じた下側凸処理(ステップS528またはS530)が実行され、縦方向のドットサイズ交換処理が終了する。
再び、図2の処理フローに戻り、注目画素×が画像の右端か否かの判定(ステップS128)および下端か否かの判定(ステップS130)を行い、パターンマッチング処理(ステップS120およびステップS122)を行う。図31の状態2tから図33の状態2abまでは、印刷対象画像40の左下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。
同様の処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
同様の処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
また、図33の状態2acから図34の状態2alまでは、入力画像の右下に存在する階段状変化部にパターンがマッチし、ドット交換処理が行われる状態遷移を示している。パターンマッチ処理およびドットデータ交換処理はマゼンタ、イエロー、ブラックの各色に対しても実行される。
全ての画素に対するパターンマッチ処理および全ての色成分に対するドットデータの交換処理が終了すると、ラスタライズ処理部26は、出力バッファー32に記録された各印刷画素におけるドットの形成状態に基づきドットデータを生成すると共に、ドットデータをプリンター200に転送すべき順序に並び替え、プリンターに印刷データを送信する。
以上の説明では、垂直に近い角度の斜め線に対する処理を説明したが、水平に近い角度の斜め線に対しては、横斜め線用のパターンがマッチし、横方向ドットサイズ交換処理が行われる。横方向ドットサイズ交換処理のフローを図35に示す。
また、淡い濃度かつ、水平に近い角度の斜め線に対しては、左側凸処理2または右側凸処理2が用いられるため、それぞれの処理フローを図36および図37に示す。
左側凸処理2および右側凸処理2は上側凸処理2および下側凸処理2と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
また、淡い濃度かつ、水平に近い角度の斜め線に対しては、左側凸処理2または右側凸処理2が用いられるため、それぞれの処理フローを図36および図37に示す。
左側凸処理2および右側凸処理2は上側凸処理2および下側凸処理2と同様に、注目画素近傍から所定のドットデータを探索し、見つかった場合はドットデータを交換する処理である。詳細な説明は省略する。
ハーフトーン処理の特徴として、濃度が低い(淡い)印刷対象画像に対しては、濃度が高い(濃い)印刷対象画像よりも、より小さいドットが生成され易い。そのため、濃度が低い印刷対象画像の場合は、第1実施例の構成のように、斜線からはみ出して見え易い画素位置のドットの近傍画素に対して小ドット及び中ドットを探索しても、空白ドットまたは小ドット等のより小さいドットしか存在せず、見つからない場合があり得る。
以上説明した第2実施例では、斜線を形成する階段状変化部(段差部)の凸部の画素濃度が所定の値よりも低い場合は、斜線からはみ出して見えやすい画素位置のドットデータを第1実施例よりもさらに1段小さい、空白も含めたドットに交換することで、段差(ジャギー)が知覚されにくい、きれいな斜線の印刷を行わせることができる効果がある。
また、第1実施例と同様に、階段状変化部(段差部)のドットデータを近傍の画素のドットデータと交換する処理を行っているため、交換処理の前後では、局所的にも、画像全体でも印刷に使用されるインク量が変化しない。すなわち、印刷対象画像の色みや階調性を維持したまま、斜線部分のジャギーの発生を抑えた、高品位な印刷を行わせることができる効果を奏する。
ドットデータ交換処理後のドット色シアンのドットパターンを図38に示す。
図38(a)はドットサイズをS,M,L(小、中、大)の記号で表した図である。図38(b)は黒丸の大きさでドットサイズを表した図である。図38(b)において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。ハーフトーン処理後のドットデータ(図25(b))と比較して、ドットデータ交換処理後のデータ(図38(b))は段差(ジャギー)が知覚されにくいパターンとなっていることがわかる。
図38(a)はドットサイズをS,M,L(小、中、大)の記号で表した図である。図38(b)は黒丸の大きさでドットサイズを表した図である。図38(b)において、縞のパターンおよび点線の四角で示したドットデータは、ドットデータ交換処理によって位置が変化したドットデータを示している。ハーフトーン処理後のドットデータ(図25(b))と比較して、ドットデータ交換処理後のデータ(図38(b))は段差(ジャギー)が知覚されにくいパターンとなっていることがわかる。
(変形例1)
第1実施例および第2実施例では、RGBデータに対して階段状変化部の判定を行ったが、色変換後のCMYKデータに対して階段状変化部の判定を行い、それぞれの判定結果に応じて、色別にドットサイズ交換処理を行うようにしても良い。
第1実施例および第2実施例では、RGBデータに対して階段状変化部の判定を行ったが、色変換後のCMYKデータに対して階段状変化部の判定を行い、それぞれの判定結果に応じて、色別にドットサイズ交換処理を行うようにしても良い。
(変形例2)
第1実施例および第2実施例の説明では階段状変化部(段差部)の注目画素×と、ドットデータ交換の対象となる注目画素○は隣接していたが、注目画素○は注目画素×と隣接していなくとも良い。すなわち、注目画素×からみて、より離れた位置の画素を注目画素○として設定し、ドットデータの交換処理を実施しても良い。
第1実施例および第2実施例の説明では階段状変化部(段差部)の注目画素×と、ドットデータ交換の対象となる注目画素○は隣接していたが、注目画素○は注目画素×と隣接していなくとも良い。すなわち、注目画素×からみて、より離れた位置の画素を注目画素○として設定し、ドットデータの交換処理を実施しても良い。
10…アプリケーションプログラム、20…プリンタードライバー、21…解像度変換処理部、22…色変換処理部、23…階段状変化判定部、24…ハーフトーン処理部、25…ドットサイズ交換処理部、26…ラスタライズ処理部、32…出力バッファー、40…印刷対象画像、100…パーソナルコンピューター、110…CPU、120…メモリー、130…入出力インターフェイス部、200…プリンター、210…CPU、220…メモリー、230…入出力インターフェイス部、240…ユニット制御回路、250…ヘッドユニット、260…キャリッジユニット、270…搬送ユニット、1000…印刷システム。
Claims (11)
- 画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定する画像処理装置であって、
前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する検出手段と、
前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する交換手段と、
を備え、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理装置。 - 前記交換手段は、前記階段状変化部を形成する画素からの距離に応じて、前記輪郭部を形成する第3の画素のドットサイズと、前記第3の画素から所定の距離にある第4の画素のドットサイズとを交換する請求項1に記載の画像処理装置。
- 前記第1の画素は、前記階段状変化部の凹部を形成する画素であり、
前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以下である請求項2に記載の画像処理装置。 - 前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以下であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する請求項3に記載の画像処理装置。
- 前記第1の画素は、前記階段状変化部の凸部を形成する画素であり、
前記第4の画素のドットサイズは、前記第2の画素のドットサイズ以上である請求項2に記載の画像処理装置。 - 前記交換手段は、前記第1の画素との距離が前記第1の画素と前記第3の画素との距離よりも大きく、前記所定の距離にある第6の画素のドットサイズが前記第4の画素のドットサイズ以上であり、かつ、前記輪郭部を形成する第5の画素について、前記第5の画素のドットサイズと前記第6の画素のドットサイズとを交換する請求項5に記載の画像処理装置。
- 前記画像はハーフトーン処理前の階調画像である請求項1ないし請求項6のいずれか一項に記載の画像処理装置。
- 前記交換手段は、前記階段状変化部を形成する画素の濃度または前記濃度に相当する値に基づいて交換する請求項1ないし請求項7のいずれか一項に記載の画像処理装置。
- 請求項1ないし請求項8のいずれか一項に記載の画像処理装置と、
前記画像処理装置により決定されたドットの形成状態に基づいて、印刷媒体にドットを形成する印刷装置と、
を備える印刷システム。 - 画像を複数サイズのドットを利用して印刷する際のドットの形成状態を、コンピューターを用いて決定する画像処理方法であって、
コンピューターが、前記画像の輪郭部における階段状変化部を形成する第1の画素を検出するステップと、
コンピューターが、前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換するステップと、
を含み、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上である画像処理方法。 - 画像を複数サイズのドットを利用して印刷する際のドットの形成状態を決定するコンピュータープログラムであって、
前記画像の輪郭部における階段状変化部を形成する第1の画素を検出する機能と、
前記第1の画素のドットサイズと、前記第1の画素から所定の距離にある第2の画素のドットサイズとを交換する機能と、
をコンピューターに実現させ、
ドットサイズを交換された前記階段状変化部において、凸部を形成する画素のドットサイズは、凹部を形成する画素のドットサイズ以上であるコンピュータープログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009024566A JP2010183326A (ja) | 2009-02-05 | 2009-02-05 | 画像処理装置、画像処理方法およびコンピュータープログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009024566A JP2010183326A (ja) | 2009-02-05 | 2009-02-05 | 画像処理装置、画像処理方法およびコンピュータープログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010183326A true JP2010183326A (ja) | 2010-08-19 |
Family
ID=42764514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009024566A Withdrawn JP2010183326A (ja) | 2009-02-05 | 2009-02-05 | 画像処理装置、画像処理方法およびコンピュータープログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010183326A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160971A (ja) * | 2011-02-01 | 2012-08-23 | Seiko Epson Corp | 画像処理装置 |
-
2009
- 2009-02-05 JP JP2009024566A patent/JP2010183326A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012160971A (ja) * | 2011-02-01 | 2012-08-23 | Seiko Epson Corp | 画像処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2107508B1 (en) | Image processing apparatus and image processing method | |
US20170004390A1 (en) | Printing control device and printing control method | |
US9672450B2 (en) | Image recording apparatus and control method therefor | |
JP2009194894A (ja) | エッジ周辺の印刷画質を向上可能な画像処理 | |
JP2010183326A (ja) | 画像処理装置、画像処理方法およびコンピュータープログラム | |
JP2010130303A (ja) | 印刷制御装置、印刷装置、印刷制御方法およびコンピュータプログラム | |
US9579884B2 (en) | Image formation apparatus and image formation method | |
CN109428986B (zh) | 图像形成装置 | |
JP2008142901A (ja) | 画像形成コントローラ及び画像形成コントローラの制御方法 | |
US10748246B2 (en) | Image processing method with predetermined bitmap formatting, and image processing apparatus and storage medium therewith | |
JP2009039880A (ja) | 画像処理装置及びその方法 | |
US9259940B2 (en) | Image formation device, method and program | |
US9387685B2 (en) | Image formation device, method, program, and formed image | |
JP2009177566A (ja) | 印刷画質を向上可能な画像処理 | |
JP2005153157A (ja) | 印刷装置、印刷制御装置、印刷方法およびプログラム | |
JP2009278416A (ja) | 画像処理装置、画像処理方法およびコンピュータプログラム | |
JP2011087000A (ja) | 画像処理装置及び画像処理方法 | |
JP2010120329A (ja) | 印刷画像のジャギーを低減する画像処理 | |
JP2007125877A (ja) | 印刷装置、印刷プログラム、印刷方法、および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体 | |
JP2009268030A (ja) | 画像処理装置、画像処理方法およびコンピュータプログラム | |
CN116587737B (zh) | 一种基于内容预测的喷墨打印机打印提速方法 | |
JP7041520B2 (ja) | インクジェット記録装置、画像処理方法およびプログラム | |
JP4456850B2 (ja) | 画像形成装置 | |
US20090180151A1 (en) | Image Processing for Enhanced Print Quality Around Edges | |
JP5493647B2 (ja) | 印刷媒体上に画像を重ねて形成する多重印刷 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120501 |