JP2011114395A - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JP2011114395A
JP2011114395A JP2009266589A JP2009266589A JP2011114395A JP 2011114395 A JP2011114395 A JP 2011114395A JP 2009266589 A JP2009266589 A JP 2009266589A JP 2009266589 A JP2009266589 A JP 2009266589A JP 2011114395 A JP2011114395 A JP 2011114395A
Authority
JP
Japan
Prior art keywords
halftone
processing
unit
isotropic
image data
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.)
Pending
Application number
JP2009266589A
Other languages
English (en)
Inventor
Tomokazu Yanagiuchi
智和 柳内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009266589A priority Critical patent/JP2011114395A/ja
Publication of JP2011114395A publication Critical patent/JP2011114395A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ハーフトーンパラメータを精度良く効率的に求めて、適正なハーフトーン処理を行えるようにする。
【解決手段】ハーフトーン処理における空間周波数の等方性を設定する等方性設定部131と、ハーフトーンパラメータに基づいて出力特性を予測する誤差伝播処理部134と、誤差伝播処理部134で予測した出力特性および等方性設定部131で設定した等方性に基づき算出される評価値に基づいてハーフトーンパラメータを編集する編集部136と、編集部136で編集されたハーフトーンパラメータに基づいて入力された画像データを量子化するハーフトーン処理を行うハーフトーン処理部109を備える。
【選択図】図1

Description

本発明は、画像データに対してハーフトーン処理を行うものに関する。
例えば、ワードプロセッサ、パーソナルコンピュータ、ファクシミリ等から情報を出力する情報出力装置として、一般に、所望される文字や画像等の情報を用紙やフィルム等のシート状の記録媒体に記録する記録装置が用いられる。この記録装置には、様々な記録方式のものがある。その中で、記録媒体に記録剤を付着させることで記録媒体上に画像等を形成する記録方式が広く実用化されており、この代表例として、インクジェット記録方式が知られている。
インクジェット記録方式を適用した記録装置(画像形成装置)では、記録媒体への記録速度の向上や記録物の高画質化等を実現するために、同一色で同一濃度のインクを吐出可能な複数のインク吐出口(ノズル)を集積配列したノズル群を備える。さらに、画質の向上を実現するために、同一色で濃度の異なるインクを吐出可能としたノズル群や、同一色で同一濃度のインクの吐出量を何段階かに変えて吐出可能としたノズル群が設けられる場合もある。
このような記録装置において、従来、多値の入力画像データをドットの記録信号にあたる2値(またはN値:Nは2以上で入力階調数より少ない階調数)画像データに変換するハーフトーン処理の手法として、例えば、誤差拡散法が知られている。この誤差拡散法では、ある画素で生じた2値化誤差(またはN値化誤差)を以降の複数画素へ拡散することにより、擬似的に階調表現を行う。
上述した誤差拡散法によって階調数が変換された画像を、実際に記録媒体上に形成する際に、その画質の向上を目的として、2値化(N値化)後のドット分散性を入力階調値ごとに制御する技術が提案されている(例えば、下記の特許文献1〜4参照)。
具体的に、特許文献1には、入力階調値が低階調になるほど、ハーフトーン処理に用いるハーフトーンパラメータの誤差拡散係数を多く持たすようにすることで、ドット分散性を高める技術が示されている。また、特許文献2には、誤差拡散係数の指向性係数を求め、入力階調が低階調となるほど、当該指向性係数を大きく(具体的には2.0以上)することで、低階調部におけるドット分散性を高める技術が示されている。また、特許文献3には、誤差拡散処理をΔΣ変調とみなし、誤差拡散係数を直接Z変換により変調特性を算出し、入力階調値が量子化レベルに近いほど、当該変調特性の低周波成分を等方的にすることで、ドットの分散性を高める技術が示されている。また、特許文献4には、候補となる誤差拡散係数の全通りの組合せを実際に処理して低階調化を行い、当該低階調化後の画像について画像評価を実施して、評価値が最も良好な拡散係数を階調毎の拡散係数とすることで、ドット分散性を高める技術が示されている。
特開平7−226841号公報 特開2004−194179号公報 特開平11−239275号公報 特開2002−94790号公報
しかしながら、特許文献1に記載された技術では、低階調ほど多くの係数が必要となり、処理コストが高くなる。さらに、特許文献1に記載された技術では、低階調ほど多くの係数を使用しても、使用する誤差拡散係数が不適切である場合には分散性が悪くなる場合がある。
また、特許文献2に記載された技術も、特許文献1と同様、誤差拡散係数が多くなり、処理コストが高くなる。さらに、特許文献2に記載された技術では、指向性係数が高い場合でも、使用する誤差拡散係数が不適切である場合には分散性が悪くなる場合がある。
また、特許文献3に記載された技術では、異なるラスタで誤差拡散処理方向が同一方向であって、かつ、各ラスタで誤差拡散係数が同一の場合には、変調特性が予測可能である。しかしながら、誤差拡散処理は、一般的に、ラスタごとに誤差拡散処理方向を切り替えた方が、少ない誤差拡散係数で分散性を高くできる。即ち、少ない誤差拡散係数で処理方向を切り替えた方が低コストかつ高画質を実現できる。さらに、特許文献3に記載された技術では、異なるラスタで誤差拡散処理方向が異なる場合や、ラスタごとに誤差拡散係数を切り替えた場合には、変調特性を予測することができず、良好な誤差拡散係数を算出することが困難である。
また、特許文献4に記載された技術では、異なるラスタで誤差拡散処理方向が異なる場合や、ラスタごとに誤差拡散係数を切り替えた場合でも適用できる。しかしながら、候補となる誤差拡散係数の全通りの組合せを調べなくてはならないので、組合せの数が多い場合には、誤差拡散係数を求めるまでに膨大な処理時間を要してしまう。
さらに、上述した特許文献1〜4に記載された技術では、画像形成装置において、物理的なレジストレーション変動がない場合には出力ドットの分散性を良好にできるが、レジストレーション変動が起こった場合には出力ドットの分散性が悪化する問題もある。
本発明は、このような問題点に鑑みてなされたものであり、ハーフトーンパラメータ(誤差拡散係数)を精度良く効率的に求めて、適正なハーフトーン処理を行えるようにすることを目的とする。
本発明の画像処理装置は、ハーフトーン処理における空間周波数の等方性を設定する等方性設定手段と、ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測手段と、前記出力特性予測手段で予測した出力特性および前記等方性設定手段で設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集手段と、前記編集手段で編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理手段とを有する。
本発明によれば、ハーフトーンパラメータを精度良く効率的に求めることができ、適正なハーフトーン処理を行うことが可能となる。
画像形成装置の概略構成の一例を示す模式図である。 図1に示す記録ヘッドの概略構成の一例を示す模式図である。 実施形態に係る制御方法の処理手順の一例を示すフローチャートである。 色分解画像データの切り出し位置であるY座標Ycutの設定方法を説明するための模式図である。 走査Duty設定用LUTを説明するための模式図である。 走査Duty設定部による走査Dutyの設定方法の一例を示す図である。 走査DUTYデータ及び制約情報データの一例を示す模式図である。 ハーフトーン処理部の詳細な内部構成の一例を示す模式図である。 ステップS106の詳細な処理手順の一例を示すフローチャートである。 ハーフトーンパラメータ及び誤差拡散係数を説明する模式図である。 各シアン累積誤差ラインバッファの記憶領域の一例を示す模式図である。 各走査番号における印字領域を説明するための模式図である。 ハーフトーン画像データ(2値画像データ)の一例を示す模式図である。 制約情報演算部の詳細な内部構成の一例を示す模式図である。 ステップS109の詳細な処理手順の一例を示すフローチャートである。 走査Dutyデータ及びフィルタの一例を示す模式図である。 ハーフトーン画像データ及び走査Dutyデータの一例を示す模式図である。 ステップS113の詳細な処理手順の一例を示すフローチャートである。 等方性設定部で設定する周波数等方性を説明するための模式図である。 図1に示すハーフトーンパラメータ保持部に初期値として設定するハーフトーンパラメータ(誤差拡散係数)の一例を示す模式図である。 図1に示す誤差伝播処理部の構成及び処理の一例を示す図である。 ステップS501で入力される誤差伝播用データの一例を示す模式図である。 誤差伝播関数Spreadの一例を示す模式図である。 ステップS405の詳細な処理手順の一例を示すフローチャートである。 基本カット周波数fcut(t)、振幅スペクトル及び特徴量データampの一例を示す特性図である。
図1は、本発明の実施形態に係る画像形成装置100の概略構成の一例を示す模式図である。
画像形成装置100は、図1に示すように、入力された画像の処理を行う画像処理装置110と、画像処理装置110で処理が施された画像を記録媒体上に形成するプリンタ120と、ハーフトーンパラメータ演算装置130を有して構成されている。ハーフトーンパラメータ演算装置130は、画像処理装置110でハーフトーン処理を行う際に用いるハーフトーンパラメータの演算処理を行うものである。また、画像処理装置110とプリンタ120とハーフトーンパラメータ演算装置130とは、互いに、プリンタインタフェース又は所定の回路等によって接続されている。
ここで、画像処理装置110及びハーフトーンパラメータ演算装置130は、例えば、一般的なパーソナルコンピュータ(PC)にインストールされたプリンタドライバによって実施され得る。その場合、以下に説明する画像処理装置110及びハーフトーンパラメータ演算装置130の各構成部は、PCのCPU等が所定のプログラムを実行することにより実現されることになる。また、本実施形態に係る画像形成装置100の他の構成としては、例えば、プリンタ120が画像処理装置110及びハーフトーンパラメータ演算装置130を含む構成としてもよい。
画像処理装置110は、画像データ入力端子101、入力画像バッファ102、色分解処理用LUT記憶部103、色分解処理部104、走査Duty設定用LUT記憶部105、走査Duty設定部106、走査Dutyバッファ107を有して構成されている。更に、ハーフトーンパラメータ記憶部108、ハーフトーン処理部109、ハーフトーン画像バッファ111、制約情報演算部112、制約情報バッファ113、画像データ出力端子114、パラメータ入力端子115を有して構成されている。
画像データ入力端子101は、印刷対象の画像データを外部装置から当該画像処理装置110に入力する。入力画像バッファ102は、画像データ入力端子101から入力された入力画像データを格納する。
色分解処理用LUT記憶部103には、色分解処理の際に用いられる色分解処理用LUT(Look Up Table)が記憶されている。色分解処理部104は、入力画像バッファ102から入力された入力画像データ(具体的には、カラー画像データ)をプリンタ120が備えるインクの色へ色分解する処理を行う。この色分解処理に際して、色分解処理部104は、色分解処理用LUT記憶部103に記憶されている色分解処理用LUTを参照する。
走査Duty設定用LUT記憶部105には、例えばプリンタ120が備える記録ヘッド124の主走査の走査条件に応じた複数の走査Duty設定用LUTが記憶されている。走査Duty設定部106は、走査Duty設定用LUT記憶部105から読み出した走査Duty設定用LUTに基づき、色分解処理部104において分解された各インク色値を、走査ごとの各インク色値へ変換する。そして、走査Duty設定部106は、変換した各インク色値のデータを走査Dutyデータとして走査Dutyバッファ107に格納する。即ち、本実施形態における走査Dutyデータは、各走査における記録インク量を示すものである。走査Dutyバッファ107には、走査Duty設定部106で設定された、走査ごとの各インク色値のデータ(走査Dutyデータ)が格納される。
ハーフトーンパラメータ記憶部108は、ハーフトーンパラメータ演算装置130において演算されたハーフトーンパラメータが記憶・更新されて、格納されている。なお、このハーフトーンパラメータは、画像処理を行う前に予めハーフトーンパラメータ記憶部108に格納されているか、或いは、プリンタ120の印刷動作の途中で更新されて格納される。
ハーフトーン処理部109は、走査Duty設定部106によって得られた走査ごとの各インク色値(具体的には、各インク色の多階調(3階調以上)値)を、N値の画像データ(Nは2以上で入力階調数より少ない階調数)に変換するハーフトーン処理を行う。具体的に、ハーフトーン処理部109は、ハーフトーンパラメータ記憶部108のハーフトーンパラメータと、制約情報バッファ113の制約情報データに基づいて、N値の画像データ(例えば、2値画像データ)に変換するハーフトーン処理を行う。以下の説明では、N値として2値を適用した例について記載する。
ハーフトーン画像バッファ111には、ハーフトーン処理部109において得られた各インク色の2値画像データがハーフトーン画像データとして格納される。
制約情報演算部112は、ハーフトーン画像バッファ111に格納された2値画像データと、走査Dutyバッファ107に格納された走査ごとの走査Dutyデータを用いた所定の制約情報に係る演算を行って、その結果を制約情報バッファ113に格納する。
制約情報バッファ113には、制約情報演算部112による制約情報(具体的には、記録される画像上のアドレスにドットが形成されやすいか否かを示す情報)のデータが格納される。なお、制約情報バッファ113には、インク色ごとに制約情報データが格納されるものとする。
画像データ出力端子114は、ハーフトーン画像バッファ111に格納されたハーフトーン画像データ(2値画像データ)をプリンタ120へ出力する出力端子である。また、パラメータ入力端子115は、ハーフトーンパラメータ演算装置130からのハーフトーンパラメータをハーフトーンパラメータ記憶部108に入力する入力端子である。
プリンタ120は、画像データ入力端子121、インク色選択部122、ヘッド制御部123、記録ヘッド124、記録媒体125、移動部126、搬送部127、センシング部128、及び、センシング情報出力端子129を有して構成されている。
本実施形態におけるプリンタ120(例えばヘッド制御部123)は、記録ヘッド124を用紙等の記録媒体125に対して相対的に縦横に移動することにより、画像処理装置110において形成された2値画像データに基づく画像を記録媒体125上に形成する。ここで、記録ヘッド124としては、例えば、熱転写方式、電子写真方式、インクジェット方式などの各方式のものを用いることができ、いずれも、1つ以上の記録素子(インクジェット方式であればノズル)を有する。
画像データ入力端子121は、画像処理装置110から出力されたハーフトーン画像データ(2値画像データ)をプリンタ120の内部に入力する。インク色選択部122は、画像処理装置110により形成され入力された各インク色の2値画像データに基づいて、記録ヘッド124に搭載されるインク色の中から、インク色を選択する。ヘッド制御部123は、記録ヘッド124の走査に係る制御等を行う。移動部126は、ヘッド制御部123の制御下で、記録ヘッド124の移動を行う。搬送部127は、ヘッド制御部123の制御下で、記録媒体125の搬送を行う。
センシング部128は、記録媒体125のレジストレーションや記録媒体125上に記録されたドットをセンシングして、レジストレーションのズレ量を計測する。センシング情報出力端子129は、センシング部128で計測されたレジストレーションのズレ量をセンシング情報としてハーフトーンパラメータ演算装置130に出力する。
ハーフトーンパラメータ演算装置130は、等方性設定部131、階調値設定部132、ハーフトーンパラメータ保持部133、誤差伝播処理部134、評価部135、及び、編集部136を有して構成されている
等方性設定部131は、センシング部128で計測されたレジストレーションのズレ量(センシング情報)に基づいて、再現したい所望の出力周波数特性の等方性を設定する。
階調値設定部132は、入力階調に応じたハーフトーンパラメータを演算するための入力階調値を設定する。
ハーフトーンパラメータ保持部133には、ハーフトーンパラメータとして、予め、後述の誤差伝播処理部134における処理に用いられる誤差拡散係数が設定され保持される。
誤差伝播処理部134は、ハーフトーンパラメータ保持部133に保持されたハーフトーンパラメータを用いて、誤差伝播関数(量子化誤差の伝播関数)を算出する。
評価部135は、誤差伝播処理部134において算出された誤差伝播関数を用いて、等方性設定部131において設定された等方性値と、階調値設定部132において設定された入力階調値とに基づいて、評価値を算出する。
編集部136は、評価部135で算出された評価値が最良となるように、ハーフトーンパラメータ保持部133に保持されているハーフトーンパラメータを編集し更新を行う。そして、これ以上、評価値が良化しないまでに更新されたハーフトーンパラメータは、ハーフトーンパラメータ保持部133から、パラメータ入力端子115を介して画像処理装置110のハーフトーンパラメータ記憶部108に格納される。そして、上記処理を階調数分繰り返し行う。
図2は、図1に示す記録ヘッド124の概略構成の一例を示す模式図である。
本実施形態では、シアン(C)、マゼンタ(M)、イエロー(Y)及びブラック(K)の4色のインクに加え、相対的にインク濃度が低い淡シアン(Lc)及び淡マゼンタ(Lm)を含めた6色のインクを、当該記録ヘッド124に搭載するものとする。この図2に示す記録ヘッド124には、記録素子に相当するノズル1241が、インク色ごとに複数備えられている。
なお、本実施形態における記録ヘッド124は、説明を簡単にするために、ヘッド移動方向と垂直方向の用紙搬送方向に、ノズル1241がインク色ごとに一列に配置された構成を有するものを示しているが、ノズルの数や配置はこれに限定されるものではない。例えば、同一色でも吐出量が異なるノズル列を有してもよいし、同一吐出量のノズル1241が複数列あってもよいし、ノズル1241がジグザグに配置されているような構成であってもよい。また、図2に示す記録ヘッド124では、インク色の配置順序がヘッド移動方向に対して一列となっているが、例えば、記録媒体125である用紙の搬送方向(用紙搬送方向)に一列に配置する構成であってもよい。
次に、本実施形態に係る画像形成装置100の制御方法の処理手順について説明する。
図3は、本発明の実施形態に係る画像形成装置100の制御方法の処理手順の一例を示すフローチャートである。
まず、外部装置から多階調のカラー画像データが出力されると、ステップS101において、画像データ入力端子101は、当該多階調のカラー画像データを画像処理装置110の内部に入力する。その後、画像データ入力端子101から入力された多階調のカラー画像データは、入力画像バッファ102に入力画像データとして格納される。なお、本例において、このカラー画像データは、レッド(R)、グリーン(G)、ブルー(B)の3つの色成分から構築されている。
続いて、ステップS102において、色分解処理部104は、入力画像バッファ102に格納された多階調のカラー画像データに対して色分解処理を行う。具体的に、色分解処理部104は、多階調のカラー画像データに対して、色分解処理用LUT記憶部103に記憶されている色分解処理用LUTを用いて、RGBからCMYK及びLcLmのインク色プレーンへの色分解処理を行う。
なお、本実施形態では、色分解処理後の画像データにおける各画素データを8ビットとして扱うが、それ以上の階調数への変換を行ってもよい。また、本実施形態における記録ヘッド124は、図2に示す6種類の各インク色(CMYKLcLm)を保有している。そのため、色分解処理部104に入力されたRGBのカラー画像データは、CMYKLcLmの各プレーンの計6プレーンの画像データに変換される。即ち、本例では、6種類のインク色に対応した6種類のプレーンの画像データが生成される。
ここで、本実施形態における色分解処理について説明する。
色分解処理部104は、色分解処理用LUT記憶部103に記憶されている色分解処理用LUTを参照して、入力された画像データR'G'B'を、以下の(1)〜(6)式に示すCMYKLcLmのデータに変換する処理を行う。
C=C_LUT_3D(R',G',B') ・・・ (1)
M=M_LUT_3D(R',G',B') ・・・ (2)
Y=Y_LUT_3D(R',G',B') ・・・ (3)
K=K_LUT_3D(R',G',B') ・・・ (4)
Lc=Lc_LUT_3D(R',G',B') ・・・ (5)
Lm=Lm_LUT_3D(R',G',B') ・・・ (6)
ここで、(1)〜(6)式の右辺に定義される各関数が、色分解処理用LUT記憶部103に記憶されている色分解処理用LUTに該当する。色分解処理用LUTは、レッド、グリーン、ブルーの3入力値から、各インク色への出力値を定める。本実施形態では、記録ヘッド124がCMYKLcLmの6つのインク色を具備する構成のため、色分解処理用LUTは、3入力値から6出力値を得るための構成となる。
以上の処理により、色分解処理部104による色分解処理が終了する。
なお、上述した色分解処理部104による色分解処理(即ち、ステップS102)までは、入力されたカラー画像データの全体に対して行う処理である。そして、これ以降の処理(即ち、ステップS103〜S114)は、記録ヘッド124の1回の走査(主走査)で記録するデータを作成する処理のため、走査ごとに記録を行う画像領域に対して処理を行う。
ここで、再び、図3の説明に戻る。
続いて、ステップS103において、走査Duty設定部106は、記録ヘッド124の走査における走査番号k、及び、色分解処理部104で処理された色分解画像データの切り出し位置(Y座標におけるYcut(k))を設定する。なお、Ycut(k)は、走査番号kにおける色分解画像データの切り出し位置(ノズル上端座標)である。また、走査番号kの初期値は1であり、ステップS103〜S115のループごとに1ずつインクリメントされる。
ここで、記録ヘッド124において16個のノズル列のノズル群を具備し、画像上の同一主走査記録領域に対して4回のスキャンで画像を形成する4パス印字の場合を例として、色分解画像データの切り出し位置であるY座標Ycutの設定方法について説明する。
図4は、本発明の実施形態を示し、色分解画像データの切り出し位置であるY座標Ycutの設定方法を説明するための模式図である。
一般的に4パス印字の場合、図4に示すように、走査番号の初期値(k=1)では、ノズル群の下端1/4のみを使用して画像形成を行い、走査番号k=2では、走査番号k=1に対してノズル群の長さ1/4分を用紙送りしてから画像形成を行う。さらに、走査番号k=3では、走査番号k=2に対してノズル群の長さ1/4分を用紙送りしてから画像を形成する。このような画像形成及び用紙送りを繰り返して、最終出力画像が形成される。そのため、走査番号k=1の場合、ノズル群の最上端のノズルの座標に相当する色分解画像データの切り出し位置Ycutは、−12となる。
上述した色分解画像データの切り出し位置Ycut(k)を一般化すると、ノズル列数:Nzzl、パス数:Pass、走査番号:k、として、以下の(7)式で与えられる。
Ycut(k)=−Nzzl+(Nzzl/Pass)×k ・・・ (7)
以上のようにして、色分解画像データの切り出し位置であるYcut(k)が設定される。
ここで、再び、図3の説明に戻る。
続いて、ステップS104において、走査Duty設定部106は、走査Duty設定用LUTと、各色分解処理プレーンの画像データに基づいて、走査ごとの走査Duty値を設定する。
図5は、図1に示す走査Duty設定用LUT記憶部105に記憶される走査Duty設定用LUTを説明するための模式図である。
具体的に、図5には、16ノズル、4パスの場合の走査Duty設定用LUTの値の例が示されており、縦軸がノズル位置(ノズル番号)、横軸がDuty分割率を表している。図5に示す走査Duty設定用LUTには、変曲点P1〜P4を4ノズルごとに設定し、その各変曲点を線形補間した16ノズル分のDuty分割率が、走査Duty設定用LUTとして保持されている。ここで、変曲点P1〜P4の数値は、以下の(8)式に示すように設定される。
P1+P2+P3+P4=1.0 ・・・ (8)
なお、走査Duty設定用LUTとして保持される値は、上述した設定方法に限られるものではなく、例えば、変曲点を細かく設定してもよいし、ノズルごとに直接指定してもよい。
図6は、図1に示す走査Duty設定部106による走査Dutyの設定方法の一例を示す模式図である。
図6(a)に示すように、走査Duty設定部106は、色分解処理部104で処理された色分解画像データと、走査Duty設定用LUTとの積により、走査Dutyを設定する。即ち、色分解画像データに対して、ノズルごとにDuty分割率を乗じることにより、その結果が、ノズルごとの走査Dutyとして設定される。これにより、実際の走査時には、ターゲットとする色分解画像データに対し、各ノズルは、走査Duty分のみのインクを吐出して画像が形成されることになる。
ここで、本実施形態においては、対応するノズルが画像Yアドレスの領域外座標になるときは、走査Dutyを0とする。例えば、走査番号k=1では、図6(b)に示すように、ノズル群のノズル列上端3/4で画像Yアドレスが負になるため、走査Duty値=0が代入され、また、ノズル列下端1/4については有意な値が代入される。
また、色分解画像データの切り出し位置Ycut(k)は、走査番号kによって決まるため、走査番号k=1〜7の場合、走査Dutyは、図6(c)に示すように決定される。図6(c)においては、走査番号ごとのノズル位置に対する走査Dutyが示されており、走査番号ごとに走査Dutyが異なっていることが分かる。図6(c)における各走査Dutyは、色分解画像データと走査Duty設定用LUTとの積により定まるため、用紙送りしながら当該積をとると、領域1の部分では、走査番号k=1〜4の4回の走査で形成される1ラスタの合計値が色分解画像データと同じになる。同様に、領域2、領域3及び領域4においても、1ラスタの合計値が色分解画像データと同じになる。また、図6(b)及び図6(c)は、C(X,Y)についての例を示しているが、Lc(X,Y)、M(X,Y)、Lm(X,Y)、Y(X,Y)及びK(X,Y)に対しても同様に、上記の式により走査Dutyへの分解が行われる。
ここで、再び、図3の説明に戻る。
続いて、ステップS105において、走査Duty設定部106は、設定した走査Dutyデータを走査Dutyバッファ107に格納する。
図7(a)は、図1に示す走査DUTYバッファ107に格納される走査DUTYデータの一例を示す模式図である。
走査DUTYバッファ107には、図7(a)に示すように、縦方向がノズル数(Nzzl)、横方向が画像のXサイズ(W)に相当するバンド状の走査Dutyデータ値が、インク色ごとに格納される。
ここで、再び、図3の説明に戻る。
続いて、ステップS106において、ハーフトーン処理部109は、ステップS105で格納された走査Dutyデータと制約情報バッファ113に格納された制約情報データの合計値を、2レベルの階調値(2値画像データ)に変換するハーフトーン処理を行う。
図7(b)は、図1に示す制約情報バッファ113に格納される制約情報データの一例を示す模式図である。
制約情報バッファ113も、図7(b)に示すように、縦方向がノズル数(Nzzl)、横方向が画像のXサイズ(W)に相当するバンド状の制約情報データ値が、インク色毎に格納される。
この制約情報バッファ113には、記録される画像上のアドレスに2値画像データ(ドット)が形成されやすいか否かを示す制約情報が格納され、走査番号kごとに更新される。ただし、走査番号k=1の処理開始時には、初期値として全て0が代入されている。即ち、アドレス(X,Y)における各インク色の制約情報を、C_r(X,Y)、Lc_r(X,Y)、M_r(X,Y)、Lm_r(X,Y)、Y_r(X,Y)、K_r(X,Y)とすると、走査番号k=1のときは、以下の(9)〜(14)式のようになる。
C_r(nx,ny)=0 ・・・ (9)
Lc_r(nx,ny)=0 ・・・(10)
M_r(nx,ny)=0 ・・・(11)
Lm_r(nx,ny)=0 ・・・(12)
Y_r(nx,ny)=0 ・・・(13)
K_r(nx,ny)=0 ・・・(14)
なお、0≦nx<画像Xサイズ、0≦ny<Nzzl(ノズル列数:本例の場合16)である。
このようになるため、実質的には、走査番号k≧2の時に、制約情報バッファ113は、有意な制約情報データに更新されていくことになる。この制約情報データの値が小さいほど、その箇所にドットが形成され難く、逆に、制約情報データの値が大きいほど、ドットが形成されやすい。なお、制約情報バッファ113に格納される値は、どのような走査番号のタイミングであっても、平均値が0となるように各値が格納される。具体的には、その箇所にドットが形成されやすい場合には正の値が、その箇所にドットが形成され難い場合は負の値が格納される。この制約情報データの更新についての詳細は後述する。
図3のステップS106におけるハーフトーン処理は、多値の入力画像データを2値画像データ(または2値以上で入力階調数より少ない階調数の画像データ)に変換する処理として、例えば、誤差拡散法を用いる。
ここで、本実施形態におけるハーフトーン処理について、図8及び図9等を用いて詳細に説明する。その際、説明を簡略化するため、4パス印字、走査番号k=1におけるシアンのハーフトーン処理を例として説明を行う。
図8は、図1に示すハーフトーン処理部109の詳細な内部構成の一例を示す模式図である。
ハーフトーン処理部109は、制約情報加算部1091、累積誤差ラインバッファ1092、累積誤差加算部1093、閾値選択部1094、量子化部1095、誤差演算部1096、拡散係数選択部1097、誤差拡散処理部1098を有して構成されている。このハーフトーン処理部109の内部構成については、図9に示すフローチャートの説明とともに説明を行う。
図9は、図3のステップS106におけるハーフトーン処理の詳細な処理手順の一例を示すフローチャートである。
まず、図9のステップS201において、ハーフトーン処理部109は、走査DUTYバッファ107からシアン(C)の走査Dutyデータ、制約情報バッファ113からシアン(C)の制約情報データを、制約情報加算部1091に入力する。そして、制約情報加算部1091は、シアン(C)の走査Dutyデータと制約情報データを加算する。具体的に、制約情報加算部1091は、シアンの走査DutyデータC_dと、シアンの制約情報データC_rの合計値データIcを以下の(15)式のように算出する。ただし、走査番号k=1のとき、制約情報データC_rは全て0である。
Ic=C_d+C_r ・・・(15)
続いて、ステップS202において、累積誤差加算部1093は、誤差拡散処理用に累積誤差を加算する処理を行う。以下、累積誤差の加算処理の詳細について説明する。
図10(a)は、誤差拡散処理のためのハーフトーンパラメータを説明するための模式図である。
本実施形態では、誤差拡散処理のためのハーフトーンパラメータとして、図10(a)の1401、1402に示すように、K1〜K4の4つの誤差拡散係数(量子化誤差の重み付けフィルタの係数)を持つとする。ただし、この4つの誤差拡散係数に限らず、さらに多くの誤差拡散係数をハーフトーンパラメータとして持たせるようにしてもよい。
このような誤差拡散係数(K1〜K4)により誤差を拡散、累積するために、本実施形態のハーフトーン処理部109では、累積誤差ラインバッファ1092をシアンに対して4組確保する(1092a〜1092d)。そして、使用する累積誤差ラインバッファ1092を走査番号ごとに、例えば、以下のように切り替える。
「走査番号k=1,5,・・・,4n+1(nは0以上の整数)のとき」は、シアン(4n+1)累積誤差ラインバッファ1092aを使用する。
また、「走査番号k=2,6,・・・,4n+2のとき」は、シアン(4n+2)累積誤差ラインバッファ1092bを使用する。
また、「走査番号k=3,7,・・・,4n+3のとき」は、シアン(4n+3)累積誤差ラインバッファ1092cを使用する。
また、「走査番号k=4,8,・・・,4n+4のとき」は、シアン(4n+4)累積誤差ラインバッファ1092dを使用する。
図11は、図8に示す各シアン累積誤差ラインバッファ1092a〜1092dの記憶領域の一例を示す模式図である。
例えば、各シアン累積誤差ラインバッファ1092a〜1092dは、それぞれ、図11の1501〜1504に示す4組の記憶領域からなる。具体的に、「Ec1_0,Ec1(x)」、「Ec2_0,Ec2(x)」、「Ec3_0,Ec3(x)」、「Ec4_0,Ec4(x)」の4組である。
例えば、シアン(4n+1)累積誤差ラインバッファ1092aは、1個の記憶領域Ec1_0と、入力画像の横画素数Wと同数の記憶領域Ec1_(x)(x=1〜W)を有する。また、各シアン累積誤差ラインバッファ1092a〜1092dは、それぞれ、走査番号k=1,2,3,4の処理開始時のみ、全て初期値0で初期化されている。例えば、走査番号k=5の処理開始時には、(4n+1)累積誤差ラインバッファ1092aは、初期化されない。
本実施形態では、1色あたり上述した4組の累積誤差ラインバッファ(1092a〜1092d)が必要になるため、これを6色分用意する必要がある。即ち、合計4×6=24組のラインバッファが必要になる。
ここでは、走査番号k=1についてのハーフトーン処理を例として説明するため、シアン(4n+1)累積誤差ラインバッファ1092aを使用して誤差拡散処理を実施するものとする。具体的に、累積誤差加算部1093において、走査Dutyデータと制約情報データの合計である入力データ値に対して、入力画素データの横画素位置xに対応する誤差Ec1(x)が加算される。即ち、入力された注目画素データをIc、累積誤差加算後のデータをIc'とすると、以下の(16)式が成り立つ。
Ic'=Ic+Ec1(x) ・・・(16)
ここで、図9の説明に戻る。
続いて、ステップS202において、閾値選択部1094は、閾値Tを選択する。閾値Tは、例えば、以下の(17)式のように設定される。
T=128 ・・・(17)
或いは、閾値Tは、例えば、ドット生成遅延を回避するため、平均量子化誤差が小さくなるように、C_dに応じて、以下の(18)式のように細かく変更してもよい。
T=f(C_d) ・・・(18)
続いて、ステップS204において、量子化部1095は、誤差加算後の画素データIc'と閾値Tとを比較し、ドットの2値化結果であるOut_cを決定する。その際の規則は、以下の(19)〜(20)式の通りである。
Ic'<Tのとき:Out_c=0 ・・・(19)
Ic'≧Tのとき:Out_c=255 ・・・(20)
続いて、ステップS205において、誤差演算部1096は、注目画素データIcに誤差を加算した画素データIc'と、出力画素値Out_cとの差分Err_cを、以下の(21)式のように算出する。
Err_c(x)=Ic'−Out_c ・・・(21)
続いて、ステップS206において、拡散係数選択部1097は、入力シアン値C_dに応じて、ハーフトーンパラメータ記憶部108に保持されているハーフトーンパラメータの誤差拡散係数を選択する。
図10(b)は、図1(及び図8)に示すハーフトーンパラメータ記憶部108に記憶されているハーフトーンパラメータの誤差拡散係数を説明するための模式図である。
ここで、ハーフトーンパラメータ記憶部108には、予め、図10(b)のように、入力階調値t(=C_d)に対応した誤差拡散係数K1〜K4の256セットが格納されているものとする。よって、入力階調値t=C_d=2の時は、K1=0.625、K2=0.3125、K3=0.0625、K4=0.0が選択される。なお、ハーフトーンパラメータ記憶部108に記憶されるハーフトーンパラメータは、走査番号kに応じて変わる可能性があるが、その詳細は後述する。
ここで、図9の説明に戻る。
続いて、ステップS207において、誤差拡散処理部1098は、誤差を拡散する処理を行う。具体的に、本例では、シアン(4n+1)累積誤差ラインバッファ1092aを用いて、横画素位置xに応じた誤差Err_c(x)の拡散処理が、以下のように行われる。
なお、誤差拡散処理部1098においては、処理画素の縦アドレスによって処理方向が変わる。例えば、縦アドレス:y(0≦y≦H−1)が2で割り切れるときは、図10(a)の1401のように左から右へ処理し、以下の(22)式のように誤差が拡散される。
y%2=0(0≦y≦H−1、%は剰余記号)のとき:
E_RG(x+1)←Ec1(x+1)+Err_c(x)×K1(x<W−1)
E_RG(x−1)←Ec1(x−1)+Err_c(x)×K2(x>0)
E_RG(x) ←Ec1_0+Err_c(x)×K3
Ec1_0 ←Ec1_0×K4 (x<W−1)
Ec1_0 ←0 (x=W−1)
・・・(22)
一方、縦アドレス:y(0≦y≦H−1)が2で割り切れないときは、図10(a)の1402のように右から左へ処理し、以下の(23)式のように誤差が拡散される。
y%2=1(0≦y≦H、%は剰余記号)のとき:
E_RG(x−1)←E_c1(x−1)+Err_c(x)×K1(x>0)
E_RG(x+1)←E_c1(x+1)+Err_c(x)×K2(x<W−1)
E_RG(x) ←Ec1_0+Err_c(x)×K3
E0_RG ←Ec1_0×K4 (x>0)
E0_RG ←0 (x=0)
・・・(23)
以上で、走査番号k=1のシアン1画素分の2値化処理(量子化値0,255)が完了する。
続いて、ステップS208において、ハーフトーン処理部109は、バンド内のアドレス(0,0)〜(W−1,Nzzl−1)まで処理したか否かを判断する。
ステップS208の判断の結果、バンド内のアドレス(0,0)〜(W−1,Nzzl−1)までは処理していない場合には、ステップS201に戻る。そして、バンド内のアドレス(0,0)〜(W−1,Nzzl−1)までの処理が終了するまで、ステップS201〜S207の処理を繰り返し行う。
一方、ステップS208の判断の結果、バンド内のアドレス(0,0)〜(W−1,Nzzl−1)まで処理した場合には、図9に示すフローチャートの処理、即ち、図3のステップS106におけるハーフトーン処理が終了する。
この処理により、ハーフトーン画像データのドット位置、即ちドットのオン/オフを決定することができる。
なお、上述の説明では、走査番号k=1についての説明を行ったが、走査番号k=2〜4については、それぞれのシアン累積誤差ラインバッファ1092b〜1092dを用いて上述したハーフトーン処理を行う。また、走査番号k=5の処理では、走査番号k=1と同じシアン(4n+1)累積誤差ラインバッファ1092aを初期化せずに(全て0を代入せずに)そのまま用いる。その理由を図12を用いて説明する。
図12は、各走査番号における印字領域を説明するための模式図である。
上述した理由としては、図17に示すように、走査番号k=1と走査番号k=5の印字領域が上下に隣接しているため、保存されている累積誤差をそのまま、隣接下の領域に適用するためである。仮に、走査番号k=5でシアン累積誤差ラインバッファ1092aを初期化した場合、走査番号k=1と隣接する境界部で誤差が保存されなくなり、ドットの連続性が保てなくなってしまう。
ここで、再び、図3の説明に戻る。
以上説明したように、図3のステップS106におけるハーフトーン処理が終了すると、ステップS107に進む。
ステップS107に進むと、ハーフトーン処理部109は、ハーフトーン処理後の2値画像データをハーフトーン画像データとしてハーフトーン画像バッファ111に格納する。
図13は、図1に示すハーフトーン画像バッファ111に格納されるハーフトーン画像データ(2値画像データ)の一例を示す模式図である。具体的に、図13には、走査番号k=1の走査Dutyデータをハーフトーン処理した結果のハーフトーン画像データ(2値画像データ)が示されている。
図13に示すように、ハーフトーン画像バッファ111には、走査Dutyデータの画素位置に対応する、(ノズル数:Nzzl)×(画像Xサイズ:W)分の2値画像データが格納される。
以上により、走査番号k=1におけるハーフトーン処理が終了し、その結果、各インク色分の1回の記録ヘッド124の走査で形成される2値画像データが、ハーフトーン画像バッファ111に格納されることになる。
続いて、ステップS108において、画像処理装置110は、ハーフトーン画像バッファ111に格納したハーフトーン画像データ(2値画像データ)を画像データ出力端子114からプリンタ120に出力(画像転送)する。具体的には、ハーフトーン画像バッファ111に蓄えられた、縦方向がノズル数(Nzzl)、横方向が画像のXサイズ(W)に相当するバンドデータの2値画像データが、プリンタ120に出力される。この際、画像処理装置110は、ハーフトーン画像バッファ111に格納したハーフトーン画像データ(2値画像データ)を制約情報演算部112にも出力する。
続いて、ステップS109において、画像処理装置110の制約情報演算部112は、ハーフトーン画像バッファ111の2値画像データと、走査Dutyバッファ107に格納された走査ごとの走査Dutyデータを用いた所定の制約情報に係る演算を行う。
ここで、本実施形態における制約情報演算処理について、図14及び図15等を用いて詳細に説明する。その際、説明を簡略化するため、4パス印字、走査番号k=1におけるシアンの制約情報演算処理を例として説明を行う。
図14は、図1に示す制約情報演算部112の詳細な内部構成の一例を示す模式図である。
制約情報演算部112は、走査Dutyフィルタ処理部1121、走査Dutyデータシフト部1122、ハーフトーン画像データフィルタ処理部1123、ハーフトーン画像データシフト部1124、減算部1125を有して構成されている。さらに、制約情報演算部112は、重み積算部1126、更新前制約情報データシフト部1127、加算部1128を有して構成されている。この制約情報演算部112の内部構成については、図15に示すフローチャートの説明とともに説明を行う。
ここで、上述したように、本実施形態における制約情報とは、現在の走査番号k=1の次の走査番号k=2におけるハーフトーン画像データのドット配置を決める際に参照される、ドットが打たれやすいか否かを示す情報である。
図15は、図3のステップS109における制約情報演算処理の詳細な処理手順の一例を示すフローチャートである。
まず、図15のステップS301において、走査Dutyフィルタ処理部1121は、走査Dutyバッファ107の走査Dutyデータに対してフィルタ処理を行う。具体的に、走査Dutyフィルタ処理部1121は、走査Dutyバッファ107内のシアンの走査DutyデータであるC_dに対して、以下の(24)式のように、所定のフィルタF_mによるフィルタ処理を行って、C_dfを算出する。
C_df=C_d*F_m ・・・(24)
ただし、(24)式において、*はコンボリューションを示す。
図16(a)は、図15のステップS301におけるフィルタ処理がなされた走査Dutyデータの一例を示す模式図である。また、図16(b)及び図16(c)は、図15のステップS301及びS302におけるフィルタ処理で用いられるフィルタの一例を示す模式図である。
なお、上述した(24)式におけるフィルタF_mは、図16(b)に示すように、フィルタサイズが3×3正方形で、係数がほぼ同心円状に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。例えば、フィルタサイズが5×5,7×7,9×9のような正方形でも、3×5,5×7,5×9のような長方形でもよいし、フィルタ係数が楕円状である非等方フィルタであってもよい。また、ローパス特性に限らず、バンドパス特性や、ハイパス特性のフィルタであってもよい。
続いて、ステップS302において、ハーフトーン画像データフィルタ処理部1123は、ハーフトーン画像バッファ111のシアンのハーフトーン画像データ(Out_c)に対してフィルタ処理を行う。具体的に、ハーフトーン画像データフィルタ処理部1123は、シアンのハーフトーン画像データOut_cに対して、以下の(25)式のように、所定のローパスフィルタLPF_bによるフィルタ処理を行って、Out_c_LPFを算出する。
Out_c_LPF=Out_c*LPF_b ・・・(25)
図17(a)は、図15のステップS302におけるフィルタ処理がなされたハーフトーン画像データの一例を示す模式図である。
なお、(25)式におけるフィルタLPF_bの係数も、(24)式のフィルタF_mと同様に、図16(c)に示すように、フィルタサイズが3×3正方形で、係数がほぼ同心円状に並ぶ等方的加重平均フィルタとして説明するが、この形態に限るものではない。
続いて、ステップS303において、走査Dutyデータシフト部1122は、走査Dutyフィルタ処理部1121から出力されたデータC_dfを、1回の用紙送り量LF=Nzzl/Pass=16/4=4だけ上にシフトする処理を行う。なお、本実施形態においては、ステップS302とS303の処理の順番を逆にして処理を行うことも可能である。
図17(b)は、図16(a)に示す走査Dutyデータに対して、図15のステップS303におけるシフト処理を行った後の走査Dutyデータの一例を示す模式図である。
ステップS303でシフトされた走査DutyデータC'_dfは、以下の(26)式のように算出される。なお、0≦nx<画像Xサイズ、0≦ny<Nzzlとする。
C'_df(nx,ny)=C_df(nx,ny+LF) ・・・(26)
式(26)において、ny+LF≧Nzzlのときは、C'_df(nx,ny)=0とする。即ち、シフト後の下端LFノズル分(本例の場合、4ノズル分)には0を代入する。
続いて、ステップS304において、ハーフトーン画像データシフト部1124は、ハーフトーン画像データフィルタ処理部1123から出力されたデータOut_c_LPFを、ステップS303と同様に、1回の用紙送り分だけ上にシフトする処理を行う。
図17(c)は、図17(a)に示すハーフトーン画像データに対して、図15のステップS304におけるシフト処理を行った後のハーフトーン画像データの一例を示す模式図である。
ステップS304でシフトしたハーフトーン画像データOut'_c_LPFは、以下の(27)式のように算出される。なお、0≦nx<画像Xサイズ、0≦ny<Nzzlとする。
Out'_c_LPF(nx,ny)
=Out_c_LPF(nx,ny+LF) ・・・(27)
(27)式においても、(26)式と同様に、ny+LF≧Nzzlのときは、Out'_c_LPF(nx,ny)=0とする。即ち、シフト後の下端LFノズル分(本例の場合、4ノズル分)には0を代入する。
続いて、ステップS305において、更新前制約情報データシフト部1127は、制約情報バッファ113に格納されているシアンの更新前の制約情報データ(C_r)を用紙送り分だけ上にシフトする処理を行う。
ステップS305でシフトされた制約情報データC'_rは、以下の(28)式のように算出される。なお、0≦nx<画像Xサイズ、0≦ny<Nzzlとする。
C'_r(nx,ny)=C_r(nx,ny+LF) ・・・(28)
(28)式においても、(26)式と同様に、ny+LF≧Nzzlのときは、C'_r(nx,ny)=0とする。即ち、シフト後の下端LFノズル分(本例の場合、4ノズル分)には0を代入する。
以上のように、ステップS303〜S305において、各バッファに格納されているデータを用紙送り量LF分だけシフトさせる理由は、次の走査番号において形成されるハーフトーンドット配置が、記録媒体上で相対的に用紙送り量LF分ずれるためである。
続いて、ステップS306において、減算部1125は、走査Dutyデータシフト部1122でシフト処理された走査Dutyデータから、ハーフトーン画像データシフト部1124でシフト処理されたハーフトーン画像データを減算する処理を行う。
続いて、ステップS307において、重み積算部1126は、減算部1125で算出されたデータに対して、重み係数h(実数)を積算する処理を行う。
続いて、ステップS308において、加算部1128は、重み積算部1126で算出されたデータと、更新前制約情報データシフト部1127においてシフト処理されたシアンの制約情報データとを加算して、シアンの更新後の制約情報データC_rを算出する。
以下の(29)式に、ステップS308により算出される、更新後の制約情報データC_rの演算式を示す。
C_r←(−Out'_c_LPF+C'_df)×h+C'_r ・・・(29)
以上のステップS301〜S308の処理を経ることにより、図3のステップS109における制約情報演算処理が終了する。
ここで、再び、図3の説明に戻る。
続いて、ステップS110において、制約情報演算部112は、ステップS109の制約情報演算処理の演算結果を制約情報バッファ113に保存して更新する。例えば、本例では、ステップS308で算出された制約情報データC_rを、次の走査番号k=2以降(即ち、現在の走査番号kに対する走査番号k+1)のハーフトーン処理用の制約情報データとして、制約情報バッファ113に保存する。より詳細には、更新された制約情報データは、次の走査番号以降(即ち、現在の走査番号kに対する走査番号k+1)のドット配置を決定するための情報として参照される。
続いて、ステップS111において、プリンタ120は、画像処理装置110から受信したハーフトーン画像データの印字処理を行う。具体的に、インク色選択部122は、ハーフトーン画像データに適合するインク色を選択する。そして、ヘッド制御部123は、記録ヘッド124を記録媒体125に対して例えば左から右に移動させながら、一定の駆動間隔で、選択されたインク色に係る各ノズルを駆動してハーフトーン画像データに基づく画像を記録媒体125に記録する主走査を1回行う。さらに、ヘッド制御部123は、当該主走査が終了すると、記録ヘッド124を、主走査と垂直方向の走査である副走査を1回行う制御をする。
続いて、ステップS112において、センシング部128は、レジストレーションのズレ量(レジズレ量)をセンシングする。なお、ここでセンシングするレジズレ量は、X方向レジズレ量Rj_x、及び、Y方向レジズレ量Rj_yである。ここでは、センシング部128としてラインセンサを用いて、既に形成されたドットや、予め記録媒体125の紙面上に記録されている目印に対して、主走査方向、副走査方向にどの程度レジズレが生じるかを計測する。即ち、センシング部128は、レジストレーションのズレ量(レジズレ量)として、例えば、記録媒体上における各画素の記録位置の変動量を計測する。
続いて、ステップS113において、ハーフトーンパラメータ演算装置130は、センシング部128からセンシング情報(レジズレ量Rj_x、及び、Rj_y)に基づいて、ハーフトーンパラメータを演算する。このステップS113の処理の詳細については、後述する。
続いて、ステップS114において、ハーフトーンパラメータ演算装置130は、算出したハーフトーンパラメータを、パラメータ入力端子115を介して画像処理装置110のハーフトーンパラメータ記憶部108に格納する。
続いて、ステップS115において、例えば画像形成装置100は、全ての走査が終了したか否かを判断する。
ステップS115の判断の結果、全ての走査については終了していない(未だ処理を行っていない走査がある)場合には、ステップS103に戻り、次の走査番号を設定し、ステップS103以降の処理を再度行う。
一方、ステップS115の判断の結果、全ての走査が終了した場合には、図3のフローチャートにおける処理を終了する。
次に、図3のステップS113におけるハーフトーンパラメータ演算処理について説明する。
図18は、図3のステップS113におけるハーフトーンパラメータ演算処理の詳細な処理手順の一例を示すフローチャートである。
まず、図18のステップS401において、等方性設定部131は、センシング部128で計測されたセンシング情報(X方向レジズレ量Rj_x、Y方向レジズレ量Rj_y)に基づいて、ハーフトーン処理における所望の空間周波数の等方性を設定する。ここで、空間周波数等方性の設定は、以下の(30)式の楕円関数で与えられる。
Figure 2011114395
ただし、(30)式のaは、以下の(31)式となる。
a=Rj_x/Rj_y ・・・(31)
また、(30)式を媒介変数θで表示すると、以下の(32)式及び(33)式のように表せる。
u=a・cosθ ・・・(32)
v=1/a・sinθ ・・・(33)
図19は、図1に示す等方性設定部131で設定する周波数等方性を説明するための模式図である。
本実施形態では、(30)式のaの設定に、(31)式に示すRj_x/Rj_yを用いた。これは、図19(a)に示すように「Xレジズレ量Rj_x<Yレジズレ量Rj_yのとき」にa<1と縦長楕円を設定し、図19(b)に示すように、「Xレジズレ量Rj_x>Yレジズレ量Rj_yのとき」にa>1と横長楕円を設定することを意味する。また、図19(c)に示すように、「Xレジズレ量Rj_x=Yレジズレ量Rj_yのとき」は、a=1と円を設定することになる。ただし、等方性の設定には、(30)式の楕円関数以外を設定してもよいし、また、(31)式の条件式以外を設定してもよい。
ここで、「Xレジズレ量Rj_x<Yレジズレ量Rj_yのとき」にa<1と縦長楕円を設定し、「Xレジズレ量Rj_x>Yレジズレ量Rj_yのとき」にa>1と横長楕円を設定する意味について説明する。
これは、Rj_x<Rj_yのときは、プリント出力周波数のv方向において低周波ノイズが載ってしまうために、所望の周波数特性として縦長楕円を設定することにより、相対的にv方向の成分を少なくする効果があるためである。逆に、Rj_x>Rj_yのときは、プリント出力周波数のu方向において低周波ノイズが載ってしまうために、所望の周波数特性として横長楕円を設定することにより、相対的にu方向の成分を少なくする効果があるためである。
続いて、ステップS402において、階調値設定部132は、演算するハーフトーンパラメータの階調値tを設定する。なお、設定する階調値tは、1≦t≦254の254階調であり、初期値はt=1から始まって254で終わる。
続いて、ステップS403において、ハーフトーンパラメータ演算装置130は、ハーフトーンパラメータ保持部133にハーフトーンパラメータの初期値を設定する。本実施形態のハーフトーン処理としては誤差拡散処理を用いるため、このステップS403で設定する初期値は、誤差拡散係数を設定する。
図20は、図1に示すハーフトーンパラメータ保持部133に初期値として設定するハーフトーンパラメータ(誤差拡散係数)の一例を示す模式図である。
ここで、図20の2801及び2802に、ステップS403で設定する誤差拡散係数L1〜L4を示す。なお、本実施形態におけるハーフトーンパラメータの初期値は、L1=0.4375、L2=0.3125、L3=0.25、L4=0.0とする。
続いて、ステップS404において、誤差伝播処理部134は、ステップS403で設定されたハーフトーンパラメータの初期値を用いて、出力特性予測値である、誤差伝播関数を算出する。ここで、誤差伝播関数とは、誤差拡散係数の誤差伝播の様子を示すものであり、誤差拡散処理の出力特性を予測するものである。このステップS404の処理を行う誤差伝播処理部134は、出力特性予測手段を構成する。
ここで、ステップS404では、記誤差拡散係数を用いて出力特性予測値(誤差伝播関数)を算出するが、本実施形態における誤差伝播関数の算出処理について、図21等を用いて詳細に説明する。
図21(a)は、図1に示す誤差伝播処理部134の詳細な内部構成の一例を示す模式図である。
誤差伝播処理部134は、図21(a)に示すように、累積誤差ラインバッファ1341、累積誤差加算部1342、及び、誤差拡散処理部1343を有して構成されている。この誤差伝播処理部134の内部構成については、図21(b)に示すフローチャートの説明とともに説明を行う。
図21(b)は、図18のステップS404における誤差伝播関数の算出処理の詳細な処理手順の一例を示すフローチャートである。
まず、図21(b)のステップS501において、誤差伝播処理部134は、誤差伝播用データを入力する。図22は、図21(b)のステップS501で入力される誤差伝播用データの一例を示す模式図である。図22に示すように、本実施形態における誤差伝播用データは、32×32ピクセルの画像の最上部にデータ値255(3101)を配置し、その他は、データ値0(3102)を配置したデータである。
続いて、ステップS502において、累積誤差加算部1342は、累積誤差の加算処理を行う。以下に、この累積誤差の加算処理について説明する。
本実施形態においては、誤差伝播関数の算出のための誤差拡散係数として、前述したように、図20の2801及び2802に示すL1〜L4の4つの係数を持つ。ここで、図20に示す誤差拡散係数L1〜L4に関しては、図14に示す誤差拡散係数K1〜K4と同じ数とする。このような誤差拡散係数により誤差を伝播、累積するために、誤差伝播処理部134では、累積誤差ラインバッファ1341を設ける。
図21(c)は、図21(a)に示す累積誤差ラインバッファ1341の記憶領域の一例を示す模式図である。
図21(a)に示す累積誤差ラインバッファ1341は、図21(c)に示す記憶領域3201のEe_0,Ee(x)」からなる。例えば、累積誤差ラインバッファ1341は、1個の記憶領域Ee_0と、入力画像の横画素数We(ここでは32)と同数の記憶領域Ee_(x)(x=1〜We)を有する。また、累積誤差ラインバッファ1341は、全て初期値0で初期化されている。
即ち、累積誤差加算部1342は、入力画素データ値に対して、入力画素データの横画素位置xに対応する誤差Ee(x)を加算する処理を行う。即ち、入力された注目画素データをIe、累積誤差加算後のデータをIe'とすると、以下の(34)式が成り立つ。
Ie'(x)=Ie+Ee(x) ・・・(34)
なお、Ie'(x)を(x、y)全アドレスについて保持すると、以下の(35)式に示すように、誤差伝播関数Spreadとなる。
Spread(x、y)=Ie'(x) ・・・(35)
続いて、ステップS503において、誤差拡散処理部1343は、誤差を拡散する処理を行う。具体的に、累積誤差ラインバッファ1341を用いて、横画素位置xに応じた誤差Ie'の拡散処理が、以下のように行われる。
なお、誤差拡散処理部1343においては、処理画素の縦アドレスによって処理方向が変わる。例えば、縦アドレス:y(0≦y≦H−1)(ここではH=32)が2で割り切れるときは、図20の2801のように左から右へ処理し、以下の式(36)式のように誤差が拡散される。
y%2=0(0≦y≦H−1、%は剰余記号)のとき:
Ee(x+1)←Ee(x+1)+Ie'(x)×L1(x<We−1)
Ee(x−1)←Ee(x−1)+Ie'(x)×L2(x>0)
Ee(x) ←Ee0+Ie'(x)×L3
Ee0 ←Ee0×L4 (x<We−1)
Ee0 ←0 (x=We−1)
・・・(36)
一方、縦アドレス:y(0≦y≦H−1)が2で割り切れないときは、図20の2802のように右から左へ処理し、以下の(37)式のように誤差が拡散される。
y%2=1(0≦y≦H、%は剰余記号)のとき:
Ee(x−1)←Ee(x−1)+Ie'(x)×L1(x>0)
Ee(x+1)←Ee(x+1)+Ie'(x)×L2(x<We−1)
Ee(x) ←Ee0+Ie'(x)×L3
Ee0 ←Ee0×L4 (x>0)
Ee0 ←0 (x=0)
・・・(37)
以上で、1画素分の誤差伝播処理が完了する。
続いて、ステップS504において、誤差伝播処理部134は、全てのアドレス(0,0)〜(We−1,H−1)の画素まで処理を行ったか否かを判断する。
ステップS504の判断の結果、全ての画素については処理を終了していない場合には、ステップS501に戻る。
一方、ステップS504の判断の結果、全ての画素について処理を終了した場合には、図21(b)のフローチャートの処理が終了、即ち、図18のステップS404の処理が終了する。
以上の処理により、出力特性予測値である誤差伝播関数Spreadを決定することができる。図23は、図1に示す誤差伝播処理部134で算出された誤差伝播関数Spreadの一例を示す模式図である。
ここで、図18の説明に戻る。
続いて、ステップS405において、図1の評価部135は、誤差伝播処理部134で算出した誤差伝播関数Spreadを用いて、等方性設定部131で設定した等方性値aと階調値設定部132で設定した階調値tに基づいて、評価値を算出する。
ここで、図18のステップS405における評価値の算出処理の詳細について説明する。図24は、図18のステップS405における評価値の算出処理の詳細な処理手順の一例を示すフローチャートである。
まず、図24のステップS601において、評価部135は、ステップS404で算出された誤差伝播関数Spreadに対してフーリエ変換を実施して、以下の(38)式に示すF_spを得る。なお、(38)式のFourier{ }は、フーリエ変換を意味
する。
F_sp(u、v)=Fourier{Spread(x、y)} ・・・(38)
続いて、ステップS602において、評価部135は、ステップS601で得たF_spに対して振幅スペクトル(F_sp_amp)を算出する。この振幅スペクトル(F_sp_amp)の算出は、以下の(39)式のようにして算出される。
F_sp_amp(u、v)=sqrt(|F_sp(u、v)|^2)
・・・(39)
続いて、ステップS603において、評価部135は、ステップS602で算出した振幅スペクトルに対して、等方性a、階調値tの場合の特徴量データを抽出する。以下にステップS603の詳細について説明する。
まず、階調値tに応じた基本カット周波数fcut(t)を設定する。なお、階調値tに応じて基本カット周波数を設定するのは、ハーフトーン処理は、階調値に応じて出力周波数が変化するためである。
例えば、ハイライト(0≦t≦A)では、以下の(40)式のように設定する。
Figure 2011114395
また、例えば、中間調(A≦t≦255−A)では、以下の(41)式のように設定する。
Figure 2011114395
また、例えば、シャドウ(255−A≦t≦255)では、以下の(42)式のように設定する。
Figure 2011114395
図25(a)は、図24のステップS601における特徴量データの抽出処理の際に設定される基本カット周波数fcut(t)の一例を示す特性図である。
この図25(a)には、We=32、A=64とした場合に設定される基本カット周波数fcut(t)が示されている。
さらに、等方性を考慮する(30)式に、ここで設定した基本カット周波数fcut(t)を反映すると、以下の(43)式のようになる。
Figure 2011114395
なお、式(43)を、(32)式及び(33)式と同様に媒介変数θで表示すると、以下の(44)式及び(45)式のように表せる。
u=a・fcut(t)cosθ ・・・(44)
v=1/a・fcut(t)sinθ ・・・(45)
即ち、角度θと階調値tに応じた原点からの距離d(θ、t)は、以下の(46)式に示すものとなる。
d(θ、a、t)=
sqrt(a・fcut(t)cosθ^2+1/a・fcut(t)sinθ^2)
・・・(46)
ここで、(44)式、(45)式を満たすような、角度θ、等方性aと階調値tに応じて決定されるF_sp_ampの特徴量データamp(θ、a、t)は、以下の(47)式となる。
amp(θ、a、t)=
F_sp_amp(a・fcut(t)cosθ、1/a・fcut(t)sinθ)
・・・(47)
図25(b)は、図24のステップS601における特徴量データの抽出処理の際に算出される振幅スペクトルと特徴量データampの一例を示す模式図である。
図25(b)において、3601は振幅スペクトルであり、3602は特徴量データampである。なお、特徴量データamp(3602)は、a=1、t=7の時の値である。
以上のようにして、図24のステップS603における特徴量データの抽出処理が行われる。
ここで、再び、図24の説明に戻る。
続いて、ステップS604において、評価部135は、等方性a、階調値tにおいて算出した特徴量データamp(θ、a、t)に対して、以下の(48)式に示す評価値amp_σを算出する。本実施形態では、特徴量データamp(θ、a、t)のばらつき量であるamp_σを評価値とする。なお式のstd_dvは、標準偏差を返す関数である。
amp_σ=std_dv(amp(θ、a、t)) ・・・(48)
以上のステップS601〜S604の処理を経ることにより、図18のステップSS405における評価値の算出処理が終了する。
ここで、再び、図18の説明に戻る。
続いて、図18のステップS406において、編集部136は、評価部135で算出された、階調値tにおける評価値amp_σが最小となるよう、ハーフトーンパラメータ保持部133に保持された誤差拡散係数を編集して更新する。なお、本実施形態における編集アルゴリズムとしては、例えば、準ニュートン法を用いて評価値を最小化する方法を用いることができるが、その他、共役勾配法や遺伝的アルゴリズムなどの編集アルゴリズムを用いてもよい。
続いて、ステップS407において、ハーフトーンパラメータ演算装置130は、これ以上、評価値が良化しないまでに編集(更新)された階調値tの誤差拡散係数(ハーフトーンパラメータ)をハーフトーンパラメータ記憶部108にアップロードする。なお、ハーフトーンパラメータ記憶部108に格納されたハーフトーンパラメータ(誤差拡散係数)は、図16で前述したように階調値tごとにK1〜K4が格納されている。よって、ステップS407では、算出した階調値tにおける誤差拡散係数L1〜L4を、図10(b)に示されたハーフトーンパラメータ記憶部108のK1〜K4に上書きする。
なお、本実施形態においては、1≦t≦254での編集を前提した説明を行った。ここで、t=0とt=255の編集を除いたのは、t=0ではハーフトーンドットが打たれない領域であり、また、t=255では原理上、ハーフトーンドットが全て打たれる領域なので、最適な誤差拡散係数を求めることは難しいためである。よって、t=0の誤差拡散係数K1〜K4は、t=1の誤差拡散係数K1〜K4と同じ値とする。また、t=255の誤差拡散係数K1〜K4は、t=254の誤差拡散係数K1〜K4と同じ値とする。
続いて、ステップS408において、ハーフトーンパラメータ演算装置130は、全ての階調における処理を終了したか否かを判断する。
ステップS408の判断の結果、全ての階調における処理については終了していない場合には、tを1インクリメントして、ステップS402に戻り、ステップS402以降の処理を再度行う。
一方、ステップS408の判断の結果、全ての階調における処理を終了した場合には、図18に示すフローチャートの処理、即ち、図3のステップS113におけるハーフトーンパラメータの演算処理が終了する。
本実施形態によれば、ハーフトーン処理における所望の周波数特性の等方性(等方度合い)と出力特性予測値として誤差伝播関数を定義し、当該誤差伝播関数の等方度合いの評価値を良化するようにしている。これにより、ラスタごとの処理方向が任意の場合でも、ハーフトーンパラメータの誤差拡散係数を精度良く効率的に求めることができる。さらに、好適な誤差拡散係数を求めるまでの処理コストを低く抑えることができる。これにより、適正なハーフトーン処理を行うことが可能となる。
更には、物理的なレジストレーション変動が起こった場合でも、物理的なレジストレーションに応じた好適な誤差拡散係数を算出することができる。
(他の実施形態)
上述した実施形態では、物理的なレジストレーションのズレ量(レジズレ量)を走査ごとに計測し、当該レジズレ量に応じた等方性を設定し、誤差伝播関数から算出される評価値に基づき誤差拡散係数を編集するものであった。そして、これにより、レジズレに対して画像劣化の起こり難い好適な誤差拡散係数を算出するものであった。しかしながら、レジズレ量を計測しなくてもよいことは言うまでもない。その際は、予め所望の等方性を設定し、誤差伝播関数から算出される評価値に基づき誤差拡散係数を編集することによって、好適な誤差拡散係数を算出する形態を採る。
また、上述した実施形態では、走査ごとの物理的なレジズレ量のセンシングを想定したものであるが、走査内の物理的なレジズレに対して、例えば、キャリッジの速度変動などのセンシングを実施し、その計測値を基にハーフトーンパラメータを編集してもよい。
また、上述した実施形態では、ハーフトーン処理として、誤差拡散法を用いた処理を適用したが、その他、ディザ法や平均誤差最小法を用いた処理を適用してもよい。
また、上述した実施形態では、所定方向に配列された複数のノズルを有する記録ヘッドを、ノズルの配列方向と交差する方向に記録媒体上で走査させて、記録媒体にインクを吐出して画像を形成するインクジェット記録方式の画像処理装置を適用したものであった。しかしながら、本実施形態は、インクジェット方式以外の他の方式に従って記録を行う記録装置(例えば熱転写方式や電子写真方式)に対しても適用できる。この場合、インク滴を吐出するノズルは、ドットを記録する記録素子やレーザー発光素子に対応することとなる。また、本実施形態は、例えば、記録媒体の記録幅に対応する長さの記録ヘッドを有し、記録ヘッドに対して記録媒体を移動させて記録を行う、いわゆるフルライン型の記録装置などにも適用できる。
前述した実施形態に係る画像形成装置100を構成する図1の各手段、並びに画像形成装置の制御方法を示す図3、図9、図15、図18、図21(b)及び図24の各ステップは、CPUがROM等に記憶されているプログラムを実行することにより実現できる。
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (6)

  1. ハーフトーン処理における空間周波数の等方性を設定する等方性設定手段と、
    ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測手段と、
    前記出力特性予測手段で予測した出力特性および前記等方性設定手段で設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集手段と、
    前記編集手段で編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理手段と
    を有することを特徴とする画像処理装置。
  2. 前記ハーフトーン処理は、誤差拡散法または平均誤差最小法を用いた処理であり、
    前記ハーフトーンパラメータは、量子化誤差の重み付けフィルタの係数であることを特徴とする請求項1に記載の画像処理装置。
  3. 前記出力特性予測手段は、前記出力特性の予測として量子化誤差の伝播関数を算出することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記等方性設定手段は、記録媒体上における各画素の記録位置の変動量に基づいて前記等方性を設定することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
  5. ハーフトーン処理における空間周波数の等方性を設定する等方性設定ステップと、
    ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測ステップと、
    前記出力特性予測ステップで予測した出力特性および前記等方性設定ステップで設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集ステップと、
    前記編集ステップで編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理ステップと
    を有することを特徴とする画像処理方法。
  6. コンピュータに実行させるためのプログラムであって、
    ハーフトーン処理における空間周波数の等方性を設定する等方性設定ステップと、
    ハーフトーンパラメータに基づいて出力特性を予測する出力特性予測ステップと、
    前記出力特性予測ステップで予測した出力特性および前記等方性設定ステップで設定した等方性に基づき算出される評価値に基づいて、前記ハーフトーンパラメータを編集する編集ステップと、
    前記編集ステップで編集されたハーフトーンパラメータに基づいて画像データを量子化するハーフトーン処理を行うハーフトーン処理ステップと
    をコンピュータに実行させるためのプログラム。
JP2009266589A 2009-11-24 2009-11-24 画像処理装置、画像処理方法、及びプログラム Pending JP2011114395A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009266589A JP2011114395A (ja) 2009-11-24 2009-11-24 画像処理装置、画像処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009266589A JP2011114395A (ja) 2009-11-24 2009-11-24 画像処理装置、画像処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011114395A true JP2011114395A (ja) 2011-06-09

Family

ID=44236444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009266589A Pending JP2011114395A (ja) 2009-11-24 2009-11-24 画像処理装置、画像処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2011114395A (ja)

Similar Documents

Publication Publication Date Title
US8274704B2 (en) Image processing apparatus and method for selecting a processing mode based on attributes of original multivalued image data
JP4777268B2 (ja) 画像形成装置、及び画像処理装置の制御方法
US8040569B2 (en) Image processing apparatus and method for contrast processing and intermediate color removal
US8253974B2 (en) Image forming apparatus, image processing apparatus, and control method therefor
US7798589B2 (en) Image forming apparatus, image processing apparatus, and control method therefor
JP5921110B2 (ja) 画像処理装置およびその制御方法
JP2006289947A (ja) 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法
US8482792B2 (en) Image forming apparatus and control method thereof
JP2010120185A (ja) 画像処理装置及び画像処理方法
JP5843472B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP7336255B2 (ja) 画像処理装置及びその制御方法及びプログラム
JP2010155390A (ja) 画像形成装置およびその制御方法
JP2011114395A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5596913B2 (ja) 画像処理装置および画像処理方法
JP4251492B2 (ja) 画像処理装置、画像記録装置、プログラムおよび記録媒体
JP2009269240A (ja) 画像形成装置及び画像形成方法
JP2007008177A (ja) 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法
JP6192373B2 (ja) 画像処理装置、画像処理方法およびプログラム
JP5627192B2 (ja) 画像処理装置及び画像処理方法
JP2004236249A (ja) 誤差拡散処理装置、画像形成装置、誤差拡散処理方法及びコンピュータプログラム
US8514455B2 (en) Image processing apparatus and method
JP5341467B2 (ja) 画像処理装置、画像処理方法
JP5015695B2 (ja) 画像処理装置、画像記録装置、及びプログラム
JP2006224368A (ja) 記録材の記録位置ずれによる画質の劣化を抑えるディザ
JP2010030171A (ja) 画像形成装置及び画像形成方法