説明

画像処理装置、画像処理方法、および画像処理プログラム

【課題】ハーフトーン処理で生成される画像再生用の出力データの階調数が少なくても高い階調特性や正確な濃度特性を有する画像処理装置、画像処理方法及び画像処理プログラムを提供する。
【解決手段】画像処理装置は、階調入力データの画素の位置に対応して複数有するルックアップテーブル122を有する。そして、ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに代表ガンマテーブルが割り当てられ、各代表ガンマテーブルはそれに対応する同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルを有し、複数の拡散ガンマテーブルの画像再生出力データを理想的な出力階調値の近傍の離散値に分散させることで、その分散された複数の画像再生出力データにより、仮想上の代表ガンマテーブルの出力階調値を高精度に再現することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、および画像処理プログラムに関し、特に、低ビットの画像再生出力データであっても正確な濃度特性と高い階調特性を有する画像再生出力データを生成することができる画像処理装置、画像処理方法、および画像処理プログラムに関する。
【背景技術】
【0002】
プリンタや複写機などの画像形成装置に利用される画像処理装置は、ハーフトーン処理により、画素の階調入力データを画素内のドットサイズに対応する画像再生出力データに変換する。階調入力データは、例えば8ビットで構成される階調値データであり、最小値(階調値0%)から最大値(階調値100%)の間に256階調を有するデータである。このような階調入力データは、多値ディザ法により、画素内に形成されるドットのサイズの出力データに変換される。出力データが8ビットの場合は、画素内のドットサイズも256階調を有する。そして、この出力データが印刷エンジンに供給され、印刷エンジンは、供給された出力データに基づいて、画素内のドットを形成する。この画像再生のための出力データは、例えば、レーザビームにより走査される電子写真では、感光体ドラムに照射されるレーザビームのビーム幅データ、またはレーザを駆動するパルス幅データに対応する。
【0003】
一般的なハーフトーン処理によれば、階調入力データに対応して出力データを有するガンマテーブルを参照して、階調入力データが画像再生用の出力データ(パルス幅データ)に変換される。そして、その出力データに基づいて、パルス幅変調ユニットが、レーザの駆動パルス信号を生成し、印刷エンジンに供給する。このガンマテーブルを適切に設計することにより、画像再生用の出力データにより、所望のスクリーンを提供することができる。スクリーンの特性には、例えば、スクリーン線数などが含まれる。
【0004】
かかるハーフトーン処理を行う画像処理については、たとえば、特許文献1、2などに記載されている。
【0005】
従来のハーフトーン処理は、例えば、8ビットの階調入力データに対して、8ビットまたはそれより少ないビット数の出力データに変換し、その出力データにより画素内のドットサイズが決められている。したがって、画像として再生される画素内のドットサイズは、出力データのビット数に対応する階調数を有し、階調数を高くするためには出力データのビット数を多くすることが望ましい。
【特許文献1】特開2000−85187号公報
【特許文献2】特開2000−228728号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
近年において、コストダウンの要請から、ハーフトーン処理で生成される出力データのビット数を、例えば4ビットなど、より少なくして、その出力データから駆動パルス信号を生成するパルス幅変調ユニットの構成を簡単化することが望まれている。パルス幅変調ユニットは、入力されるデータのビット数が少ないほど、その回路構成が簡単になり、低コスト化を図ることができるからである。
【0007】
しかしながら、出力データのビット数を少なくすると、出力データにより表現可能なドットサイズの階調数が少なくなり、再生される画素内のドットに、高い階調特性や正確な濃度特性を与えることができなくなる。例えば、出力データが8ビットであれば256階調を表現可能であるが、出力データが4ビットであると16階調しか表現できず、階調特性が低くなり、濃度特性においても所望の濃度を再現できないことになる。
【0008】
そこで、本発明の目的は、ハーフトーン処理で生成される画像再生用の出力データの階調数が少なくても高い階調特性や正確な濃度特性を有する画像処理装置、画像処理方法及び画像処理プログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明の第1の側面によれば、画像処理装置は、画素の階調入力データを画素のドットサイズに対応する画像再生出力データに変換するハーフトーン処理ユニットと、前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルとを有する。そして、ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに代表ガンマテーブルが割り当てられ、各代表ガンマテーブルはそれに対応する同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルを有し、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかを有する。複数の拡散ガンマテーブルの画像再生出力データを理想的な出力階調値の近傍の離散値に分散させることで、その分散された複数の画像再生出力データにより、仮想上の代表ガンマテーブルの出力階調値を高精度に再現することができる。
【0010】
上記第1の側面において、好ましい実施例によれば、前記複数の拡散ガンマテーブルは、それに対応する同一インデックス画素群内においてランダムに分散配置される。ランダムに分散配置することで、規則的に配置した場合に発生するモアレ模様を抑制することができる。
【0011】
更に、上記第1の側面において、好ましい実施例によれば、前記複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかをランダムに有する。代表ガンマテーブルの理想的な出力階調値の近傍にある離散的な画像再生出力データのいずれかをランダムに有することで、視覚的な階調の飛び(トーンジャンプ)を抑制することができる。
【0012】
上記の目的を達成するために、本発明の第2の側面によれば、画像処理方法は、階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、画素の階調入力データを画素のドットサイズに対応する画像再生出力データに変換するハーフトーン処理工程を有する。このルックアップテーブルは、第1の側面と同様に、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに複数の拡散ガンマテーブルを有する。
【0013】
上記の目的を達成するために、本発明の第3の側面によれば、画像処理プログラムは、階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、画素の階調入力データを画素のドットサイズに対応する画像再生出力データに変換するハーフトーン処理手順をコンピュータに実行させる。そして、ルックアップテーブルは、上記第2の側面と同じである。
【発明を実施するための最良の形態】
【0014】
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0015】
図1は、本実施の形態における画像処理装置の構成図である。画像処理装置100は、画素の階調入力データINを画素のドットサイズに対応する画像再生出力データOUTに変換するハーフトーン処理ユニット110と、階調入力データINに対応して画像再生出力データOUTを有するガンマテーブル124−1〜124−Nを、階調入力データの画素の位置(X,Y)に対応して複数有するルックアップテーブル122とを有する。ルックアップテーブル122は、例えば高速のスタティックRAMで構成され、画素の位置(X,Y)に対応して参照すべきガンマテーブルを特定するインデックスIndexを有するインデックステーブル120と、複数のガンマテーブル124―1〜124−Nとを有する。ハーフトーン処理ユニット110は、画素位置(X,Y)に応じて参照すべきインデックステーブル120の画素位置(x、y)を求め、その画素位置(x、y)に基づいてインデックステーブル120を参照する。そして、参照したインデックステーブル120のインデックス番号Indexに対応するガンマテーブル124−1〜124−Nを参照して、画像再生出力データOUTを取得する。そして、ハーフトーン処理ユニット110は、取得した画像再生出力データOUTを、パルス幅変調ユニット130に供給し、パルス幅変調ユニット130が駆動パルス幅信号PWを生成し、図示しない印刷エンジンに供給する。印刷エンジンでは、駆動パルス幅信号PWに基づいて、感光体ドラムにビームを照射し、感光体ドラム上に静電潜像を形成する。そして、この静電潜像にトナーを付着させてドットに現像し、記録用紙などの記録媒体上に転写する。したがって、画像再生出力データOUTは、画素のドットサイズに関する印刷画像の再生用のデータである。なお、この画像再生出力データOUTには、後述するとおり、画素内に生成するドットの位置が右寄せか左寄せかの情報L/Rが含まれる。以下に示す実施の形態では、この右寄せか左寄せかの情報L/Rは、インデックステーブル120から出力される。
【0016】
図2は、一般的なインデックステーブルとガンマテーブルとの関係を示す図である。ここに示されたインデックステーブル120は、12×12の画素マトリクスにそれぞれ参照すべきガンマテーブル番号1〜6が格納されている。インデックステーブル120は、太枠で囲った4×6の最小マトリクス単位の繰り返しであり、この最小マトリクス単位内に、ガンマテーブル1が2箇所、ガンマテーブル2が4箇所、ガンマテーブル3が2箇所、ガンマテーブル4が8箇所、ガンマテーブル5が4箇所、ガンマテーブル6が4箇所に配置されている。この最小マトリクス単位が繰り返されることで、ガンマテーブル1は、変位ベクトル(+2,+3),(+2,−3),(−2,+3),(−2,−3)の位置に繰り返し配置される。但し、図2中のインデックステーブル120の右側最上位置を座標(X,Y)の原点とする。ガンマテーブル2は、X方向に隣接しており、変位ベクトル(+2,+3),(+2,−3),(−2,+3),(−2,−3)の位置に繰り返し配置される。他のガンマテーブルも同様に固有の変位ベクトル上に配置されている。
【0017】
このように、共通の変位ベクトル上に配置される画素群には、同一のインデックス番号が与えられ、そのインデックス番号に対応するガンマテーブルが参照される。そこで、このように同じ変位ベクトル上に配置される画素群を、同一インデックス画素群と称することにする。
【0018】
図2には、6種類のガンマテーブル124が示されている。ガンマテーブルは、入力階調値に対応して画像再生出力である出力パルス幅値を格納するものであり、図中、ガンマテーブル1は、低い入力階調値の領域で最小値から最大値に成長する出力パルス幅値を有する。ガンマテーブル2,3,4は、図示されるように、中間の入力階調値の領域で最小値から最大値に成長する出力パルス幅値を有し、ガンマテーブル5,6は、比較的高い入力階調値の領域で最小値から最大値に成長する出力パルス幅値を有する。
【0019】
図3は、図2の例において入力階調値を増加した場合の画素のドットの成長を示す図である。上記のようなガンマテーブル及びインデックステーブル120によれば、入力階調値が増加するに応じて、入力階調値が低い領域(入力階調値10、40、90)では、インデックス1の画素にドットが形成され(入力階調値10)、続いてインデックス2の画素にドットが形成され(入力階調値40)、そして、インデックス2の画素と平行してインデックス3の画素にドットが形成される(入力階調値90)。つまり、入力階調値が低い領域では、インデックステーブル20のインデックス1、2、3の画素にドットが順次成長する。そして、入力階調値が高い領域(入力階調値150,220,250)では、インデックス4の画素にドットが成長し(入力階調値150)、更に、それに続いてインデックス5、6の画素にドットが成長する(入力階調値220、250)。
【0020】
したがって、入力階調値90や150の成長ドットに示されるように、インデックス1の画素を結ぶ線上にスクリーン線が形成されることになる。
【0021】
図2のガンマテーブル124は、8ビットの入力階調値に対して8ビットの出力パルス幅を有する。したがって、256階調の入力に対して256階調(0〜255)の出力を有する。そのため、入力階調値の階調の変化に対応して、ガンマテーブルの出力階調値も必要に応じて変化させることができる。ところが、出力パルス幅データが6ビットの場合は、出力は64階調(0〜63)しか取りえず、入力階調値の階調の変化に対応して、ガンマテーブルの出力階調値を変化させることができない場合がある。ましてや、出力パルス幅データが4ビットの場合は、その出力は16階調(0〜15)しかなく、入力階調値の階調変化に対応して出力階調値を変化させることができない場合が更に増える。更に、出力データのビット数が少なくなるとその階調がより離散的になり、再現できるドットサイズの階調解像度が低下する。
【0022】
図4は、ガンマテーブルの入力階調値の変化に対する出力階調値の変化量を示す図である。図2に示したガンマテーブルについて、(A)出力データが8ビットの場合、(B)出力データが6ビットの場合、(C)出力データが4ビットの場合において、入力階調値が1階調変化した時の6つのガンマテーブルの出力データの合計階調値の差分(変化量)を示している。図4(A)(B)(C)において、上段がガンマテーブルを、下段が合計出力階調値の差分を示す。
【0023】
図4(A)の8ビットの出力データの場合は、そのガンマテーブル124は図2のガンマテーブル124と同じである。この場合、入力階調値が1階調変化する時の出力パルス幅の差分は、全て0階調以外であり、入力階調値の255回の階調変化に対して合計出力パルス幅も255回にわたり階調変化している。したがって、入力階調値の変化に対して忠実に変化する出力パルス幅値を出力データとして生成することができる。
【0024】
図4(B)の6(M=6)ビットの出力データの場合は、それぞれのガンマテーブル1〜6の出力の最小幅は255/(2M-1)=4であり、上段のガンマテーブル124によれば、出力パルス幅の離散値の間が図4(A)の場合に比較して荒くなっていることがわかる。そのため、入力階調値の255回の階調変化に対して、合計出力パルス幅は、44回にわたり階調変化ゼロになり、211回しか階調変化していない。
【0025】
更に、図4(C)の4(M=4)ビットの出力データの場合は、それぞれのガンマテーブル1〜6の出力の最小幅は255/(2M-1)=17であり、上段のガンマテーブル124によれば、出力パルス幅の離散値の間が図4(A)や(B)の場合に比較して更に荒くなっている。そのため、入力階調値の255回の階調変化に対して、合計出力パルス幅は、わずか82回しか階調変化しておらず、実に173回にわたり階調変化ゼロになる。しかも、出力パルス幅の差分は、大部分で0または17であり、高入力階調値領域では出力パルス幅の差分が34になる場合もある。
【0026】
つまり、出力データのビット数を減らして出力データの階調数を減らした結果、出力パルス幅の差分がゼロになる回数が増大し、更に、変化してもその差分量が大きくなる。このことは、入力階調値の255階調数に対して、出力パルス幅の階調数は大幅に減り且つ差分も大幅に大きくなることを意味し、高い階調特性と正確な濃度特性が損なわれることを意味する。
【0027】
図5は、出力階調が4ビットの場合におけるガンマテーブルの拡大図である。この図では、実線がガンマテーブルGの入出力特性であり、縦軸には出力パルス幅が8ビット(256階調)の場合の階調値で表示されている。前述したとおり、4ビットの出力階調の最小幅は17であるから、その採りうる離散点は、8ビット(256階調)の場合の0,17,34,51,68,85,102,119,136,153,170,187,204,221,238,255である。図5の縦軸には、その一部の出力離散点153,170,187が示される。実線で示したガンマテーブルGは、8ビットであれば四角W,X,Yで示した点の階調値が出力データとして出力されるが、4ビットの場合は、153,170,187の離散点のみしか採りえないので、黒丸で示した階調値が出力データとして出力される。例えば、8ビット出力では四角Xは出力階調値161になるところ、4ビットではその近傍の黒丸の出力階調値153(4ビットでは1001=9)になる。つまり、4ビットの出力データでは、より離散的になり、8ビットの出力データの階調値と一致させることができなくなる。更に、一方では、8ビットの出力データで四角W,Xの出力階調値145と161とは、4ビットの出力データでは同じ出力階調値153になり、その出力階調値の差分はゼロであるが、他方では、8ビットの出力データで四角X,Yの出力階調値161と167とは、4ビットの出力データでは153と170になり、その出力階調値の差分は17になる。したがって、4ビットの出力階調値では、入力階調値の変化に対して差分ゼロになる場合もあれば、入力階調値の変化に対して期待される出力階調値の差分とは異なる大きな差分になる場合もある。
【0028】
図6は、本実施の形態における拡散ガンマテーブルの原理を説明する図である。拡散ガンマテーブルの原理によれば、8ビット出力の場合の四角Xに対して、その四角Xの出力階調値161の近傍にある4ビット出力の離散点X1(出力階調値153)、X2(出力階調値170)を複数の拡散ガンマテーブルに割り当てて、離散点X1とX2をもつ拡散ガンマテーブルの個数を最適化して、それらの平均出力階調値が四角Xの161に最も近くなるようにする。たとえば、離散点X1を5個、離散点X2を4個にすると、それら9個の離散点の出力階調値の平均値は、(153×5+170×4)/9=160.55と、四角Xの出力階調値161に近い値になる。このように、4ビット出力のように離散幅が大きな出力階調値しか採り得ない場合であっても、複数の画素に異なる離散値X1,X2を割り当てることによってガンマテーブルGの四角Xの出力階調値に極めて近い階調値を表現することができる。ここで、ガンマテーブルGを代表ガンマテーブルと、異なる離散値を有するテーブルを拡散ガンマテーブルと、それぞれ称する。
【0029】
図7は、代表ガンマテーブルGに複数の拡散ガンマテーブルG1,G2,G3を割り当てた場合の例を示す図である。この例では、表示を簡単化するために、代表ガンマテーブルGに3つの拡散ガンマテーブルG1,G2,G3を割り当てている。拡散ガンマテーブルG1は、代表ガンマテーブルGの四角(例えばX)の近傍に位置する4ビットの離散点(例えばX1,X2)のうち白丸の離散点(例えばX2)をとり、代表ガンマテーブルGの近傍で上下に変化する出力値を有する。同様に、拡散ガンマテーブルG2は、近傍の4ビット離散点のうち三角の離散点をとり、拡散ガンマテーブルG3は、近傍の4ビット離散点のうち菱形の離散点をとる。一例として四角Xは、2個の離散点X1と1個の離散点X2に拡散または分散されている。この場合の平均値は、(153×2+170×1)/3=158.7となる。このように、拡散または分散する拡散ガンマテーブルの数を増やすことにより、その出力階調値の平均値を代表ガンマテーブルGの出力階調値により近づけることができる。
【0030】
そして、図2のインデックステーブルに示されるように、画素マトリクスの所定の領域内には同じ代表ガンマテーブルGをとる画素が複数存在するので、その複数の画素の代表ガンマテーブルGを異なる拡散ガンマテーブルに割り当てることで、当該所定の領域内において、平面的に理想的な代表ガンマテーブルの出力階調値を表現することができる。この複数の拡散ガンマテーブルの配置は、分散されれば良いが、好ましくは、規則的よりも不規則にまたはランダムに分散されることが良い。また、各拡散ガンマテーブルが採る離散値は、代表ガンマテーブルGの出力階調値の近傍の4ビット離散値のいずれかをとれば良いが、好ましくは、近傍の4ビット離散値のいずれかをランダムに採るようにする。
【0031】
図17は、本実施の形態における代表ガンマテーブルから拡散ガンマテーブルを生成するフローチャート図である。図6、図7で説明した方法をまとめると次のとおりである。ある代表ガンマテーブルGについて、入力階調値INに対応する出力パルス幅Xを取得する(S12)。図6の例では、X=161である。そして、目標値である出力パルス幅X=161に対する隣接離散点xl=170,xs=153を、拡散数N=3個に分配し、xlとxsの分配数L=1、N−L=2を求める。このxlの分配数Lは、例えば、L=INT[{(X−xs)/(xl−xs)}×N+0.5]により求めることができる。ここで、INT[ ]は切り捨て処理を示す。上記の例にあてはめれば、L=INT[{(161−153)/(170−153)}×3+0.5]=1となる。そして、N=3個の拡散ガンマテーブルに対して、L=1個には離散値xl=170を、N−L=2個には離散値xs=153を、ランダムに与える。また、N=3個の拡散ガンマテーブルの配置もランダムに決定される。
【0032】
そして、拡散されたN=3個の拡散ガンマテーブルのL=1個の出力値xl=170とN−L=2個の出力値xs=153との平均値xは、x={xl×L+xs×(N−L)}/N=158.7になる。拡散数Nを増やすことで、平均値xの精度を高めることができる。
【0033】
図8は、本実施の形態における代表ガンマテーブルを有する同一インデックス画素群を示す図である。ここに示したインデックステーブル120は、図8中の対応表121Aに示したように、図2のインデックステーブル120のインデックス番号1〜6を、新たなインデックス番号0〜11に変換した例であり、新たなインデックス番号の偶数0,2,4,6,8,10は、画素内のドットを左寄せし、その奇数1,3,5,7,9,11は、画素内のドットを右寄せする画素に対応付けられ、インデックス番号の偶数/奇数の情報L/Rが、パルス幅変調ユニットへの画像再生出力データOUTに加えられる。したがって、図8のインデックステーブルの左上の4×6のマトリクス内には、インデックス番号0,2,3,4,6,7,8,9,10,11が割り当てられているが、そのインデックス番号0には図2のガンマテーブル1が、インデックス番号2,3には、ガンマテーブル2が、インデックス番号4,5にはガンマテーブル3が、以下、6,7にはガンマテーブル4が、8,9にはガンマテーブル5が、10,11にはガンマテーブル6がそれぞれ参照される。
【0034】
さて、図8において、変位ベクトル(±2、±3)の位置に配置されるインデックス番号0の同一インデックス画素群は、図示されるように、左上の4×6の小さい画素マトリクス内には2個配置され、図8の16×18の画素マトリクス内には24個配置されている。そこで、本実施の形態では、このインデックス番号0の同一インデックス画素群の代表ガンマテーブル0に、複数(9種類)の拡散ガンマテーブルを割り当てる。しかも、複数の拡散ガンマテーブルを同一インデックス画素群内で平面的に分散させ、好ましくはランダムに分散配置する。
【0035】
図9は、本実施の形態による拡散ガンマテーブルに対するインデックステーブルを示す図である。本実施の形態では、図12で後述するような広い画素マトリクス(32×30画素マトリクス)内に配置されるインデックス0の同一インデックス画素群80個を、9種類の拡散マトリクスに割り当てている。図9のインデックステーブル120Aには、その一部の画素マトリクスのみが示される。図9中の下に示される対応表121Bには、図2、図8、図9のインデックス番号の対応が示されている。図8のインデックス0の画素群に対しては、拡散ガンマテーブルのインデックス番号0,12,24,36,48,60,72,84,96が割り当てられる。しかも、その割り当て方は、平面的にランダムな配置にされている。図8の他のインデックス番号の同一インデックス画素群に対しても、同様に9種類または8種類の拡散ガンマテーブルがそれぞれ割り当てられる。その割り当てられた拡散ガンマテーブルのインデックス番号が対応表121Bに示されている。
【0036】
図10は、図9に示した拡散ガンマテーブルが採りうる出力階調値の一例を示す図である。図6で示した四角Xの出力階調値161に対して、4ビット離散点X1(出力階調値153)と離散点X2(出力階調値170)とが、拡散ガンマテーブル0,12,24,36,48,60,72,84,96にランダムに割り当てられている。ここに表れている24個の画素の代表ガンマテーブル0に対応付けられる9種類の拡散ガンマテーブルのうち、13個の拡散ガンマテーブルには離散点X1(出力階調値153)が、10個の拡散ガンマテーブルには離散点X2(出力階調値170)がランダムに割り当てられている。その割り当て比を概算すると13:10=5:4である。このように、代表ガンマテーブルに割り当てられた複数の拡散ガンマテーブルの配置をランダムにし、その拡散ガンマテーブルに対して代表ガンマテーブルの出力階調値の近傍の離散点もランダムに割り当てることで、代表ガンマテーブルの出力階調値161に極めて近似する階調値を空間的に表現することができる。図9に示した他の拡散ガンマテーブルについても、それぞれ対応する代表ガンマテーブルの出力階調値近傍の4ビット離散点がランダムに割り当てられる。
【0037】
図11は、8ビット出力の代表ガンマテーブルのインデックステーブルとその代表ガンマテーブルの一例を示す図である。このインデックステーブル120は、図8のインデックステーブル20と同じであり、画素サイズが32×30に拡大されている。図8でも説明したとおり、インデックステーブル120内のインデックス0(代表ガンマテーブル0)の同一インデックス画素群は、同じ変位ベクトル(±3,±4)の位置に配置されている。画素マトリクス32×30内には、インデックス0の同一インデックス画素は、合計で80個存在する。そして、その代表ガンマテーブル0は、図11中の黒四角に示されるように、入力階調の増加に伴って8ビット出力パルス幅を有する。この代表ガンマテーブル0を単純に4ビット出力パルス幅に変更すると、図11中の白四角に示されるように、離散的な値しかとりえないようになる。
【0038】
図11には、代表ガンマテーブル0のインデックス0に加えて、代表ガンマテーブル2,3,4,6,7,8,9,10,11のインデックスも含まれる。これら同一のインデックスの画素群も、それぞれ同じ変位ベクトル上の位置に配置されている。
【0039】
図12は、本実施の形態による拡散ガンマテーブルに対するインデックステーブルとガンマテーブルとを示す図である。このインデックステーブル120Aは、図9のインデックステーブル120Aと同じであり、画素サイズが32×30に拡大されている。図中、代表ガンマテーブル0に対応するインデックス0の画素群に対して、ハーフトーンで表示している。そして、図11内の80個の同一インデックス画素群(インデックス0)に、9種類の拡散ガンマテーブルを割り当てている。つまり、代表ガンマテーブル0は、9個の拡散ガンマテーブル0,12、8個の拡散ガンマテーブル124、9個の拡散ガンマテーブル36,48,60,72,84,96に分散または拡散される。インデックステーブル120A内には、他の代表ガンマテーブルに対しても複数の拡散ガンマテーブルのインデックス番号が割り当てられている。
【0040】
図12に示した拡散ガンマテーブル124には、9種類の拡散ガンマテーブルの4ビット出力パルス幅がプロットされている。つまり、破線で示した代表ガンマテーブルGに対して、その出力値に隣接する4ビット離散値X1,X2が拡散ガンマテーブルの出力値として割り当てられている。つまり、9種類の拡散ガンマテーブルの出力値に離散値X1,X2のいずれかを割り当てる。したがって、離散値X1,X2に対して、合計で9種類の拡散ガンマテーブルが割り当てられることになる。この離散値は、代表ガンマテーブルGの出力値に近接する単数のまたは複数の4ビット離散値であり、それらの離散値が、平均すると代表ガンマテーブルの出力値に近似するように、複数の拡散ガンマテーブルに割り当てられる。
【0041】
図13、図14、図15は、図12の9種類の拡散ガンマテーブルの配置及び具体的テーブル値を示す図である。図13には、拡散ガンマテーブル0,12,24のインデックステーブル内の配置とテーブル値が、図14には、同テーブル36,48,60のインデックステーブル内の配置とテーブル値が、図15には、同テーブル72,84,96のインデックステーブル内の配置とテーブル値がそれぞれ示される。インデックステーブルのインデックス番号はフォントサイズが小さくて判別困難であるが、図12と同じである。しかし、図13〜図15のインデックステーブルによれば、ランダムに拡散配置された各拡散ガンマテーブルの位置と数が確認できる。また、拡散ガンマテーブルのテーブル値は4ビット離散値を有するが、この例では、破線の代表ガンマテーブルの出力値に近接する上下2つの離散値のいずれかが各拡散ガンマテーブルに割り当てられている。したがって、図13〜図15の拡散ガンマテーブルにより、入力階調値0〜25までの各階調値において、各拡散ガンマテーブルが上下のいずれの離散値を有するかが確認できる。つまり、図7に示した拡散ガンマテーブルと同様であり、9種類の拡散ガンマテーブルは、破線の代表ガンマテーブルの出力値に近似する離散値を出力値として有し、その離散値の割り当ての割合を制御することで、拡散ガンマテーブルの出力値の平均値が代表ガンマテーブルの出力値にきわめて近くなる。
【0042】
上記の説明から、本実施の形態におけるルックアップテーブルは、もはや代表ガンマテーブルをもたず、代表ガンマテーブルに変えて複数の拡散ガンマテーブルを有する。その意味からすると、同一インデックス画素群には、仮想的な代表ガンマテーブルが割り当てられ、その仮想上の代表ガンマテーブルが複数の拡散ガンマテーブルを有することになる。そして、その複数の拡散ガンマテーブルの出力値の平均が、代表ガンマテーブルの出力値に近似する。
【0043】
図16は、図11と図12のガンマテーブルと入力階調値の変化に対する出力パルス幅の差分とを示す図である。図4と同じ種類の図である。図16(A)は、図11に示した代表ガンマテーブル0,2,3,4,6,7,8,9,10,11と、入力階調値の変化に対する合計出力パルス値の差分を示す。つまり、図4(A)と同じであり、255回の全ての入力階調値の変化に対して合計出力パルス値が変化している。
【0044】
一方、図16(B)は、図12に示した拡散ガンマテーブルと、入力階調値の変化に対する合計出力パルス値の差分を示す。つまり、図9の対応表121Bに示されるように、代表ガンマテーブル0は、拡散ガンマテーブル0〜96に拡散され、代表ガンマテーブル2,3は、拡散ガンマテーブル2〜98,3〜87に拡散され、代表ガンマテーブル4は、拡散ガンマテーブル4〜100に拡散され、代表ガンマテーブル6,7は、拡散ガンマテーブル6〜102,7〜103に拡散され、代表ガンマテーブル8,9は、拡散ガンマテーブル8〜104,9〜105に拡散され、代表ガンマテーブル10,11は、拡散ガンマテーブル10〜106,11〜107に拡散される。
【0045】
図16(B)に示されるように、複数の拡散ガンマテーブルに拡散または分散させることで、出力値が4ビット離散値であっても、平均出力値は代表ガンマテーブルと同等にすることができる。その結果、入力階調値の変化に対して、合計の出力パルス幅差分は255段階全てで変化し、その差分の傾向は、図16(A)と同じである。但し、縦軸のスケールは、図16(A)の40に対して、図16(B)ではその9倍の360になっている。
【0046】
図16(C)は、(B)の9種類の拡散ガンマテーブルの平均値に変換したテーブルと、その場合の入力階調値の変化に対する出力パルス幅の差分が示される。平均値にすると、そのガンマテーブルは、図16(A)の代表ガンマテーブルと殆ど同じであることが理解できる。また、出力パルス幅の差分は、図16(B)と縦軸のスケールのみが異なるだけであり、図16(A)の縦軸と同じスケール、同じ差分になっている。この図16(C)で確認できることは、各代表ガンマテーブルを複数の拡散ガンマテーブルに拡散または分散することで、第1に、低ビット化され出力階調数が少なくても、代表ガンマテーブルにきわめて近い出力値を再現することができ(ガンマテーブル参照)、第2に、低ビット化され出力階調数が少なくても、255の高い階調特性を得ることもできる(出力パルス幅差分参照)。したがって、ハーフトーン処理ユニットが低ビット化された画像再生出力データに変換しても、高ビットの出力データと同等に高精度の濃度特性と、高階調特性とを有することができる。
【0047】
[変形例]
上記の実施の形態では、8ビットの入力階調データに対して4ビットの出力パルス幅データに変換するに際して、代表ガンマテーブルを複数の拡散ガンマテーブルに拡散または分散させている。つまり、代表ガンマテーブルの出力が8ビット、256階調であるのに対して、拡散ガンマテーブルの出力はそれより少ない4ビット、16階調である。そのような場合でも、複数の拡散ガンマテーブルに拡散または分散することで、高階調特性、高精度濃度特性を実現する。本実施の形態はそれに限定されずに、拡散ガンマテーブルを利用して、8ビットの入力階調データに対して8ビットの出力パルス幅データに変換する場合においても、各代表ガンマテーブルをそれと同じ8ビット出力データを有する複数の拡散ガンマテーブルに拡散または分散させることで、画質を向上させることができる。この場合は、8ビットの代表ガンマテーブルでは表現できない高階調の出力濃度を表現することができる。つまり、8ビットの代表ガンマテーブルでは、256階調しか表現できないが、複数の拡散ガンマテーブルに拡散または分散させることで、256階調以上の階調特性を出力データに与えることができる。但し、1つの代表ガンマテーブルを複数の拡散ガンマテーブルに置き換える必要があり、ガンマテーブルのメモリ容量を増大させることになる。その場合は、例えば、共通の代表ガンマテーブルに加えて、それとの差分値のみを少ないビット数で有する拡散ガンマテーブルを複数設けることで、全体のメモリ容量の増大を抑制することができる。それ以外にも、ハーフトーン処理ユニットが、代表ガンマテーブルの出力データにランダムに差分値を与えて拡散ガンマテーブルの出力データとして出力するようにしてもよい。
【0048】
図1の画像処理構成図では、ハーフトーン処理ユニット110がルックアップテーブル122を参照して画像再生出力データOUT,L/Rを出力する。しかし、かかる変換処理は、マイクロプロセッサによるソフトウエア処理によっても行うことができる。その場合、プロセッサが、入力階調データINと画素位置情報(X,Y)に基づいて、ルックアップテーブル122を格納した高速メモリを参照して、入力階調データINを画像再生出力データOUT,L/Rを生成する。
【図面の簡単な説明】
【0049】
【図1】本実施の形態における画像処理装置の構成図である。
【図2】一般的なインデックステーブルとガンマテーブルとの関係を示す図である。
【図3】図2の例において入力階調値を増加した場合の画素のドットの成長を示す図である。
【図4】ガンマテーブルの入力階調値の変化に対する出力階調値の変化量を示す図である。
【図5】出力階調が4ビットの場合におけるガンマテーブルの拡大図である。
【図6】本実施の形態における拡散ガンマテーブルの原理を説明する図である。
【図7】代表ガンマテーブルGに複数の拡散ガンマテーブルG1,G2,G3を割り当てた場合の例を示す図である。
【図8】本実施の形態における代表ガンマテーブルを有する同一インデックス画素群を示す図である。
【図9】本実施の形態による拡散ガンマテーブルに対するインデックステーブルを示す図である。
【図10】図9に示した拡散ガンマテーブルが採りうる出力階調値の一例を示す図である。
【図11】8ビット出力の代表ガンマテーブルのインデックステーブルとその代表ガンマテーブルの一例を示す図である。
【図12】本実施の形態による拡散ガンマテーブルに対するインデックステーブルとガンマテーブルとを示す図である。
【図13】図12の9種類の拡散ガンマテーブルの配置及びテーブル値を示す図である。
【図14】図12の9種類の拡散ガンマテーブルの配置及びテーブル値を示す図である。
【図15】図12の9種類の拡散ガンマテーブルの配置及びテーブル値を示す図である。
【図16】図11と図12のガンマテーブルと入力階調値の変化に対する出力パルス幅の差分とを示す図である。
【図17】本実施の形態における代表ガンマテーブルから拡散ガンマテーブルを生成するフローチャート図である。
【符号の説明】
【0050】
110:ハーフトーン処理ユニット、120: インデックステーブル
122:ルックアップテーブル、130:パルス幅変調ユニット
IN:階調入力データ、(X,Y):画素位置
OUT:画像再生出力データ、L/R:右寄せ・左寄せ情報

【特許請求の範囲】
【請求項1】
階調入力データから画像再生出力データを生成する画像処理装置において、
前記階調入力データを画素のドットサイズに対応する前記画像再生出力データに変換するハーフトーン処理ユニットと、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有し、前記ハーフトーン処理ユニットにより参照されるルックアップテーブルとを有し、
前記ルックアップテーブルにおいて、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに代表ガンマテーブルが割り当てられ、各代表ガンマテーブルはそれに対応する同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルで構成され、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかを有することを特徴とする画像処理装置。
【請求項2】
請求項1において、前記複数の拡散ガンマテーブルは、それに対応する同一インデックス画素群内においてランダムに分散配置されることを特徴とする画像処理装置。
【請求項3】
請求項1において、前記複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかをランダムに有することを特徴とする画像処理装置。
【請求項4】
階調入力データから画像再生出力データを生成する画像処理装置において、
前記階調入力データを画素のドットサイズに対応する前記画像再生出力データに変換するハーフトーン処理ユニットと、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有し、前記ハーフトーン処理ユニットにより参照されるルックアップテーブルとを有し、
前記ルックアップテーブルにおいて、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに対して、当該同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルが割り当てられ、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、少なくとも一部で異なる離散的な画像再生出力データを有し、当該複数の拡散ガンマテーブルの画像再生出力データの平均値が、前記同一インデックス画素群の仮想上の代表ガンマテーブルの出力階調値にほぼ一致することを特徴とする画像処理装置。
【請求項5】
請求項1または4において、前記代表ガンマテーブルの出力階調値はNビット、2N階調を有し、前記拡散ガンマテーブルの画像再生出力データは、Mビット(M<N)、2M階調を有することを特徴とする画像処理装置。
【請求項6】
階調入力データから画素のドットサイズに対応する画像再生出力データを生成する画像処理方法において、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、前記階調入力データを前記画像再生出力データに変換するハーフトーン処理工程を有し、
前記ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに代表ガンマテーブルが割り当てられ、各代表ガンマテーブルはそれに対応する同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルで構成され、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかを有することを特徴とする画像処理方法。
【請求項7】
階調入力データから画素のドットサイズに対応する画像再生出力データを生成する画像処理方法において、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、前記階調入力データを前記画像再生出力データに変換するハーフトーン処理工程を有し、
前記ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに対して、当該同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルが割り当てられ、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、少なくとも一部で異なる離散的な画像再生出力データを有し、当該複数の拡散ガンマテーブルの画像再生出力データの平均値が、前記同一インデックス画素群の仮想上の代表ガンマテーブルの出力階調値にほぼ一致することを特徴とする画像処理方法。
【請求項8】
階調入力データから画素のドットサイズに対応する画像再生出力データを生成する画像処理プログラムにおいて、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、前記階調入力データを前記画像再生出力データに変換するハーフトーン処理手順をコンピュータに実行させ、
前記ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに代表ガンマテーブルが割り当てられ、各代表ガンマテーブルはそれに対応する同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルで構成され、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、前記代表ガンマテーブルの出力階調値の近傍にある離散的な画像再生出力データのうちいずれかを有することを特徴とする画像処理プログラム。
【請求項9】
階調入力データから画素のドットサイズに対応する画像再生出力データを生成する画像処理プログラムにおいて、
前記階調入力データに対応して画像再生出力データを有するガンマテーブルを、階調入力データの画素の位置に対応して複数有するルックアップテーブルを参照して、前記階調入力データを前記画像再生出力データに変換するハーフトーン処理手順をコンピュータに実行させ、
前記ルックアップテーブルでは、所定の変位ベクトル上に配置された同一インデックス画素群それぞれに対して、当該同一インデックス画素群内で平面的に分散配置された複数の拡散ガンマテーブルが割り当てられ、当該複数の拡散ガンマテーブルは、前記階調入力データに対応して、少なくとも一部で異なる離散的な画像再生出力データを有し、当該複数の拡散ガンマテーブルの画像再生出力データの平均値が、前記同一インデックス画素群の仮想上の代表ガンマテーブルの出力階調値にほぼ一致することを特徴とする画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2006−33401(P2006−33401A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−209031(P2004−209031)
【出願日】平成16年7月15日(2004.7.15)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】