(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
B41J 2/52 20060101AFI20240312BHJP
B41J 2/01 20060101ALI20240312BHJP
H04N 1/405 20060101ALI20240312BHJP
【FI】
B41J2/52
B41J2/01 201
H04N1/405 510A
(21)【出願番号】P 2020126933
(22)【出願日】2020-07-28
【審査請求日】2023-05-23
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】角谷 繁明
【審査官】牧島 元
(56)【参考文献】
【文献】特開2020-065100(JP,A)
【文献】特開2020-031313(JP,A)
【文献】特開2005-012726(JP,A)
【文献】特開2012-109867(JP,A)
【文献】特開2002-077612(JP,A)
【文献】特開平11-017945(JP,A)
【文献】特開2010-244098(JP,A)
【文献】特開2014-082551(JP,A)
【文献】特開2015-192309(JP,A)
【文献】米国特許出願公開第2014/0211221(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 2/52
B41J 2/01 - 2/215
H04N 1/405
(57)【特許請求の範囲】
【請求項1】
複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理装置であって、
前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割する分割部と、
前記分割画像の各々に対応して設けられ、前記分割画像の各ラスターに属する画素を順次、着目画素とし、前記着目画素に誤差拡散法を適用してハーフトーン処理を行なうn個のハーフトーン処理部と、
前記各ハーフトーン処理部が前記各分割画像を処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する出力部と
を備え、
前記n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部は、
前記分割画像の上流側で隣接する分割画像を処理するハーフトーン処理部が前記分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理を終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記ハーフトーン処理を開始し、
前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行なう、
画像処理装置。
【請求項2】
前記一致処理における前記予め定めた程度は、完全一致である、請求項1記載の画像処理装置。
【請求項3】
前記一致処理は、前記ハーフトーン処理部における誤差拡散処理法において前記着目画素にドットを形成するか否かの判断を行なう閾値を、前記上流側で隣接する前記分割画像の前記重複するxa画素中の対応する画素についての前記ハーフトーン処理の結果が、ドットを形成するというものである場合には低減し、ドットを形成しないというものである場合には増加する、請求項1に記載の画像処理装置。
【請求項4】
請求項1から請求項3のいずれか一項に記載の画像処理装置であって、
前記分割部は、前記原画像の分割の際に、前記分割画像の各ラスターに、前記分割位置から予め定めた数xb(xbは値1以上の整数)の画素だけ、前記主走査方向下流側の前記分割画像と重複する下流側重複区間を設け、
前記各ハーフトーン処理部は、前記下流側重複区間を含めて、前記誤差拡散法を適用したハーフトーン処理を行なう、
画像処理装置。
【請求項5】
前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に続く画素であって、前記予め定めた数xb以下の画素数xc(xcは値1以上xb以下の整数)の範囲を参照区間として定め、
前記n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部は、前記参照区間の画素に対する前記ハーフトーン処理の際に、前記画素に対する前記ハーフトーン処理の結果を、前記処理対象の分割画像に前記上流側で隣接する分割画像の前記j番目のラスター上の前記下流側重複区間の画素に対するハーフトーン処理の結果に、前記上流側重複区間での一致の程度より低い程度に一致させる低一致処理を行なう、
請求項4記載の画像処理装置。
【請求項6】
前記低一致処理は、前記参照区間において、前記分割位置から離れる第1位置における一致の程度が、前記分割位置より更に離れる第2位置における一致の程度より高い、請求項5記載の画像処理装置。
【請求項7】
複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理方法であって、
前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割し、
前記分割画像の各々に誤差拡散法を適用したハーフトーン処理を並列的に行ない、
前記主走査方向下流側の分割画像に対するハーフトーン処理では、前記分割画像の上流側で隣接する分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理が終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記誤差拡散法を適用した処理を開始し、
前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複領域に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行ない、
前記各分割画像を前記ハーフトーン処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、誤差拡散法を用いた画像処理の技術に関する。
【背景技術】
【0002】
多階調の画像を、これより階調数の少ないドットや画素の集合により再現する際、再現される画像を高品質にするために、どのようにドットの配置を決定するかが重要になる。この技術を、一般にハーフトーン処理と呼ぶ。従来から、高品質のハーフトーン処理を行なう手法として誤差拡散法が知られている。
【0003】
誤差拡散法は、処理の対象となる1つの画素(以下、着目画素とも言う)にドットを形成するか否かを決定すると、その画素で再現しようとする階調値と、形成されるドットによる(あるいはドットが形成されないことによる)濃度を換算した階調値との差異を階調誤差として求め、注目画素の周辺の、まだ処理がなされていない画素に拡散誤差として配分する。このように誤差を、処理対象の画素の周辺に拡散し、誤差の拡散を受けた画素について、同様にドット形成の有無の判断と誤差の拡散とを継続することで、画像全体の階調値は元画像の階調値となり、また形成されるドットの分布も元画像の階調に沿ったものとなる。
【0004】
誤差拡散法を用いたハーフトーン処理は、一般に処理に時間を要するため、以前から、ハーフトーン処理の対象となる画像を分割し、分割された画像毎に並列的に処理を行なうことで、処理時間を短縮し、またハーフトーン処理装置を分割画像の数に応じて用意するスケーラブルな処理装置が提案されている。例えば、特許文献1では、各ハーフトーン処理部が、隣接するハーフトーン処理部との間で、処理する画像の処理開始端と処理終了端近傍の数画素分だけ、誤差をやり取りすることで、分割された画像間でも誤差拡散を行なって、画質を確保できる並列処理を実現している。また、特許文献2では、組織的ディザ法によるハーフトーン処理とを組み合わせることで、境界付近での誤差の拡散が十分に行なわれなくても画質の低下が生じ難い手法を提案している。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2020-65100号公報
【文献】特開2020-31313号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1、2の画像処理方法は、一つの画像を分割して並列的に処理できる優れたものであるが、本発明者は、並列処理するハーフトーン処理部間でやり取りするデータ量を低減し、かつ分割された画像間の境界領域での画質の劣化を抑制できる新たな手法を開発した。
【課題を解決するための手段】
【0007】
本開示は、以下の態様または適用例として実現することが可能である。本開示の第1の実施態様として、複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理装置が提供される。この画像処理装置は、前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割する分割部と、前記分割画像の各々に対応して設けられ、前記分割画像の各ラスターに属する画素を順次着目画素とし、前記着目画素に誤差拡散法を適用してハーフトーン処理を行なうn個のハーフトーン処理部と、前記各ハーフトーン処理部が前記各分割画像を処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する出力部とを備え、前記n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部は、前記分割画像の上流側で隣接する分割画像を処理するハーフトーン処理部が前記分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理を終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記ハーフトーン処理を開始し、前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行なう。
【0008】
本開示の第2の態様として、複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理方法が提供される。この画像処理方法は、前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割し、前記分割画像の各々に誤差拡散法を適用したハーフトーン処理を並列的に行ない、前記主走査方向下流側の分割画像に対するハーフトーン処理では、前記分割画像の上流側で隣接する分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理が終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記誤差拡散法を適用した処理を開始し、前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行ない、前記各分割画像を前記ハーフトーン処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する。
【図面の簡単な説明】
【0009】
【
図2】実施形態の画像処理ルーチンを示すフローチャート。
【
図3】第1実施形態における原画像の分割の様子を示す説明図。
【
図4】第1実施形態での第iユニットによるハーフトーン処理ルーチンを示すフローチャート。
【
図5】第iユニットによる上流側重複区間誤差拡散法処理ルーチンを示すフローチャート。
【
図6A】上流側重複区間での参照関係を示す説明図。
【
図6B】上流側重複区間での誤差拡散の様子を示す説明図。
【
図7】第iユニットによる通常区間誤差拡散法処理ルーチンを示すフローチャート。
【
図8】第2実施形態における第iユニットによるハーフトーン処理ルーチンを示すフローチャート。
【
図9】第2実施形態での第iユニットにおける区間処理ルーチンを示すフローチャート。
【
図10】第3実施形態における原画像の分割の様子を示す説明図。
【
図11】第3実施形態での第iユニットにおける区間処理ルーチンを示すフローチャート。
【
図12】下流側重複区間での誤差拡散の様子を示す説明図。
【
図13】各処理部間のデータ交換の構成例の一つを示す説明図。
【
図14】各処理部間のデータ交換の他の構成例を示す説明図。
【
図15】各処理部間のデータ交換の他の構成例を示す説明図。
【発明を実施するための形態】
【0010】
A.第1実施形態:
(1)ハードウェア構成:
図1は、第1実施形態としての画像処理装置を含むプリンター20の概略構成図である。本実施形態のプリンター20は、インクジェットプリンターである。図示するように、プリンター20は、紙送りモーター74によって印刷媒体Pを搬送する機構と、キャリッジモーター70によってキャリッジ80をプラテン75の軸方向に往復動させる機構と、キャリッジ80に搭載された印刷ヘッド81を駆動してインクの吐出及びドット形成を行なう機構と、これらの紙送りモーター74,キャリッジモーター70,印刷ヘッド81、コンピューター90及び操作パネル99との信号のやり取りを司る制御ユニット30とから構成されている。
【0011】
キャリッジ80をプラテン75の軸方向に往復動させる機構は、プラテン75の軸と平行に架設され、キャリッジ80を摺動可能に保持する摺動軸73と、キャリッジモーター70との間に無端の駆動ベルト71を張設するプーリ72等から構成されている。印刷媒体Pに対するキャリッジ80の移動方向を、主走査方向xと呼ぶ、紙送りモーター74による印刷媒体Pの搬送方向を副走査方向yと呼ぶ。なお、これらの方向はいずれも相対的なものである。
【0012】
キャリッジ80には、カラーインクとして、シアンインクC、マゼンタインクM、イエロインクY、ブラックインクK、ライトシアンインクLc、ライトマゼンタインクLmをそれぞれ収容したカラーインク用のインクカートリッジ82~87が搭載される。キャリッジ80の下部の印刷ヘッド81には、上述の各色のカラーインクに対応するノズル列が形成されている。キャリッジ80にこれらのインクカートリッジ82~87を上方から装着すると、各カートリッジから印刷ヘッド81へのインクの供給が可能となる。
【0013】
制御ユニット30は、コンピューター90や操作パネル77に接続された入力部31、全体の制御を司るCPU40、プログラム等を記憶するROM43、各種データ等を記憶するRAM45、印刷用の各種モーターや印刷ヘッド81を駆動する印刷制御部32等がバスで相互に接続されて構成されている。CPU40は、ROM43に記憶されたプログラムをRAM45に展開し、このブログラムを実行することにより、プリンター20の動作全般を制御する。CPU40は、制御プログラムを実行することにより、分割部41や画像処理部50としても機能する。入力部31は、コンピューター90から画像データを読込んだり、操作パネル77からの操作を読込むといった機能を実現する。また、印刷制御部32は、上述した印刷ヘッド81や各種モーターなどを制御して、印刷媒体Pへの印刷を行なう機能を実現する。
【0014】
画像処理部50は、誤差拡散法に従ったハーフトーン処理を行なう複数の処理部(以下、第1処理部から第n処理部を、Xu(1) ユニットからXu(n) ユニットとも呼ぶ)を備える。これらのn個のXu(1)~Xu(n) ユニットは、誤差拡散法に従うハーフトーン処理をハードウェアにより行なうユニットとして個別に用意されている。もとよりCPU40をマルチコアタイプのものとし、各コアに並列的に動作するハーフトーン処理を割り当てることで実現してもよい。各Xu(1)~Xu(n)ユニットは、共有メモリー58を介して、直接的にデータ交換を行なうことが可能である。こうした共有メモリー58としては、マルチコアタイプのCPUではL2キャッシュなどを利用しても良い。Xu(1)~Xu(n)ユニットの動作については、フローチャートを用いて後で詳しく説明する。
【0015】
ROM43は、制御プログラムの他、誤差拡散マスク等を記憶している。誤差拡散マスクは、後述する誤差拡散法に従うハーフトーン処理において、注目している画素において発生した誤差を注目画素の周辺の画素に格差する際の重み付け係数を集めたものである。誤差拡散マスクの実例は後で具体的に説明する。
【0016】
RAM45は、上述した制御ブログラムの展開に用いられる他、CPU40による演算に必要なデータを一時的な保存したりする目的で用いられる。こうしたデータとしては、以下のものがある。
[1]ハーフトーン処理される原画像を分割した画像データDn
[2]ハーフトーン処理された結果得られた印刷用のドットデータ
[3]着目画素の周辺の各画素に拡散される誤差を記憶する拡散誤差データ
このうち[3]については、各Xu(1)~Xu(n)ユニット毎に必要になるため、RAM45には、第1誤差バッファ~第n誤差バッファに相当する記憶領域が用意されている。なお、第1誤差バッファ~第n誤差バッファに相当する記憶領域は、共有メモリー58に設けてもよい。
【0017】
以上のようなハードウェア構成を有するプリンター20は、キャリッジモーター70を駆動することによって、印刷ヘッド81を印刷媒体Pに対して主走査方向に往復動させ、また、紙送りモーター74を駆動することによって、印刷媒体Pを副走査方向に移動させる。制御ユニット30は、キャリッジ80が往復動する動き(主走査)や、印刷媒体の紙送りの動き(副走査)に合わせて、印刷データに基づいて適切なタイミングでノズルを駆動することにより、印刷媒体P上の適切な位置に適切な色のインクドットを形成する。こうすることによって、プリンター20は、印刷媒体P上にコンピューター90から入力したカラー画像を印刷することが可能となっている。本実施形態のプリンター20は、印刷ヘッド81が印刷媒体Pの幅方向、つまり主走査方向に往復動する、いわゆるシリアルプリンターの構成を採用しているが、プリンター20の形式は、シリアルプリンターに限定されず、ラインプリンターやページプリンターであっても適用可能なことは勿論である。
【0018】
(2)画像処理:
実施形態における印刷処理と、印刷処理において行なわれる画像処理との概要を説明する。
図2は、プリンター20における印刷処理を含む画像処理の内容を示すフローチャートである。ここでの画像処理は、コンピューター90から印刷しようとする画像データが送られていることで開始される。印刷処理を開始すると、CPU40は、コンピューター90から入力部31を介して原画像ORGの画像データを入力する処理を行なう(ステップS100)。本実施例においては、コンピューター90から入力する画像データは、レッド(R)、グリーン(G)、ブルー(B)の3色の色成分からなるデータである。
【0019】
画像データを入力すると、CPU40は、原画像データの解像度を必要に応じて印刷用の解像度に変換し(ステップS110)、更にROM43に記憶されたルックアップテーブル(図示せず)を参照して、画像データについて、RGB形式をCMYKLcLm形式に色変換する(ステップS130)。色変換処理は周知のものなので、その説明は省略する。
【0020】
その後、画像を分割する処理を行なう(ステップS140)。画像の分割は、2以上であれば、いくつでもよい。画像の分割は、画像処理部50が備える処理部の数に応じて行なわれるが、処理部の数より少ない数に分割しても差し支えない。
図3では、上段に、原画像を分割した互いに隣接する3つの分割画像GH(i-1) ,GH(i) ,GH(i+1) を示している。ここで、各画像や各処理部が主走査方向に何番目のものであるかは、サフィックスiで表わすものとしている。原画像ORGをn個に分割する場合、サフィックスiは、値1からnまでの範囲の整数である。原画像の分割は、n等分であってもよいし、各Xu(i) ユニットが処理できる画素数以下であれば、各分割加増の大きさは異なってもよい。
【0021】
以下の説明では、分割画像や処理部は、どの分割画像か、あるいはどのユニットかを特定しない場合には、画像iやXu(i) ユニットのように表記することがある。ここで、二つのXuユニットとして、Xu(i-1) 、Xu(i) を取り上げると、この2つのユニットにおいては、Xu(i) が、「n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部」に相当し、Xu(i-1) が、「分割画像の上流側で隣接する分割画像を処理するハーフトーン処理部」に相当する。また、二つのXuユニットとして、Xu(i) 、Xu(i+1) を取り上げると、この2つのユニットにおいては、Xu(i+1) が、「n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部」に相当し、Xu(i)が、「分割画像の上流側で隣接する分割画像を処理するハーフトーン処理部」に相当する。
【0022】
原画像ORGを単純にn個に等分した画像の主走査方向の画素数をXunitとする。本実施形態では、分割された各画像iに、主走査方向に重複部分を持たせて
複数の分割画像としている。この様子を、
図3の下段に示した。なお、
図3の下段では、理解の便を図って、各分割画像を副走査方向にずらして示した。重複部分は、n等分に分割した各分割画像の主走査方向上流側に付加するものとした。重複部分はxa画素分とし、この重複部分を、以下、上流側重複区間UOAと呼ぶものとする。
図3下段に示したよう、互いに隣接する3つの分割画像GJ(i-1) ,GJ(i) ,GJ(i+1) は、上流側重複区間UOAにおいて重複している。こうした分割画像iに対して、各Xu(i) ユニットは主走査方向のXunit画素および上流側重複区間UOAのxa画素分の処理を担当する。つまり、Xu(i) ユニットはXunit・(i-1)-xaからXunit・i-1までの画素の処理を担当する。仮に、Xunit=100、xa=16とすれば、
Xu(1) ユニットは、画素(-16,y)から画素(99,y)まで、
Xu(2) ユニットは、画素(84,y)から画素(199,y)まで、
Xu(3) ユニットは、画素(184,y)から画素(299,y)まで、
の各116画素それぞれ担当して、画像処理を行なう。なお、分割画素GJ(1) については、上流側重複区間UOAに相当する画像は存在しないが、値0のダミーの画素を配列した画像データを上流側重複区間UOAとして用意し、他の分割画像と同様に扱うものとすればよい。また、各分割画像GJ(i) は副走査方向(y方向)には分割されておらず、副走査方向については、ラスター0からラスターymax まで、画素が配列されている。上流側重複区間UOAを定める画素数xaは、値16に限らず、値1以上であればよい。好ましい範囲は、原画像の大きさや誤差を拡散する範囲の広さなどにより適宜定めればよいが、例えば値4から64画素程度、好ましくは、値16~48画素程度である。
【0023】
原画像ORGを上記の様に分割し、分割画像の画像データGJ(i) として、RAM45に一旦保存した後、各処理部により並列的にハーフトーン処理(ステップS200)を行なう。各分割画像iは、第i処理部(Xu(i) ユニット)によって、誤差拡散法よるハーフトーン処理(ステップS20i)を受ける。各処理部が行なう誤差拡散法によるハーフトーン処理については、後述する。このハーフトーン処理により、本実施形態では、画素毎のドット形成の有無を表わすドットデータが得られる。このハーフトーン処理を終えた後、各処理部により処理された結果であるドットデータを併合する処理(ステップS150)を行ない、原画像ORGに対応する処理済みデータを、印刷制御部32に出力し、画像を印刷媒体Pに出力する印刷処理を実行する(ステップS160)。以上で画像処理ルーチンを終了する。
【0024】
次に、
図4から
図7を用いて、各処理ユニットが実行するハーフトーン処理について説明する。
図4は、Xu(i) ユニットが実行するハーフトーン処理の概要を示す。この処理は、
図2におけるステップS200の各ユニットが実行するハーフトーン処理に相当する。Xu(i) ユニットは、RAM45に保存されていた分割画像GJ(i) に対する処理を開始すると、まず、ハーフトーン処理する画素(着目画素)の座標(x,y)を初期化するために、副走査方向のy座標を値0とする処理(ステップS210i)、および主走査方向のx座標を値-xaとする処理(ステップS215i)を行なう。このx座標は、原画像ORGにおける絶対的な主走査方向の位置を示す座標ではなく、Xunit・(i-1)をx=0とする、分割画像における、いわば相対的な座標である。こうすることで、全ての分割画像GJ(1) ,GJ(2) ,・・・GJ(i) ,・・・GJ(n) に対して、各々の分割画像を処理するXuユニットにおいて、同じ処理が可能となる。このため、図において、各ステップにもサフィックスiを付している。なお、x座標を初期化する際、値0ではなく、値-xaとしているのは、上流側重複区間がxa画素だけ存在するからである。
【0025】
初期化の処理に続けて、Xu(i-1) ユニットのyラスターの処理が完了しているか否かを判断する(ステップS220i)。これは後述するように、yラスターの処理については、上流側で隣接するXu(i-1) ユニットの処理の結果を利用するからである。上流側で隣接するXu(i-1) ユニットは、yラスターの処理を終えると、これを共有メモリー58に書き込むので、Xu(i) ユニットは、この共有メモリー58のデータを参照することにより、上流側で隣接するXu(i-1) ユニットがyラスターの処理を完了したかを知ることができる。Xu(i-1) ユニットがyラスターの処理を完了するまで待ち、完了していると判断できれば、次に区間処理(ステップS230i)を行なう。
【0026】
区間処理(ステップS230i)とは、分割画像GJ(i) が上流側の分割画像GJ(i-1) に隣接する上流側重複区間UOAにおけるハーフトーン処理と、分割画像GJ(i) が上流側の分割画像GJ(i-1) に隣接していない区間(以下、通常区間NOAという)におけるハーフトーン処理と、を併せた処理を言う。第1実施形態では、以下に説明するように、区間毎に独立の処理を行なうが、処理の一部を共通化して実施することも可能である。このため、両者をまとめて区間処理と呼ぶ。
【0027】
本実施形態では、区間処理(ステップS230i)を開始すると、まず座標xにより、現在処理しようとしている画素(着目画素)が、いずれの区間に属するかを判断する(ステップS240)。座標xが、-xa~-1の範囲に入っていれば、上流側重複区間UOAであると判断できるので、この場合には、上流側重複区間誤差拡散法処理(ステップS300)を実行する。他方、座標xが、0~Xunit-1の範囲に入っていれば、通常区間NOAであると判断できるので、この場合には、通常区間誤差拡散法処理(ステップS400)を実行する。上流側重複区間誤差拡散法処理(ステップS300)および通常区間誤差拡散法処理(ステップS400)については、全体処理について説明した後で、詳しく説明する。
【0028】
こうした区間処理(ステップS230i)を行なった後、主走査方向の座標xを値1だけインクリメントし、着目座標を、yラスター上で1つ主走査方向下流側に進める処理を行なう(ステップS260i)。その上で、着目画素のx座標がXunit以上となったかを判断する(ステップS270i)。着目画素のx座標がXunit以上となっていなければ、上述したステップS230iに戻って、更新された着目画素についての区間処理から処理を繰り返す。着目画素のx座標がXunit以上となっていれば、yラスターについての処理は完了したと判断し(ステップS270i、「YES」)、Xu(i) ユニットは、yラスターまで処理を完了したことを、共有メモリー58に書き込む(ステップS275i)。
【0029】
その後、副走査方向の座標yを値1だけインクリメントし、着目座標のy座標1つ副走査方向に進める処理を行なう(ステップS280i)。その上で、着目画素のy座標がymax より大きくなったかを判断する(ステップS290i)。着目画素のy座標がymax より大きくなっていなければ、上述したステップS215iに戻って、着目画素のx座標の初期化(ステップS215i)から上述した処理(ステップS215i~S290i)を繰り返す。着目画素のy座標がymax より大きくなっていれば、0~yラスターについての処理は全て完了したと判断し(ステップS290i、「YES」)、「END」に抜けて、ハーフトーン処理ルーチンを終了する。
【0030】
次に、このXu(i) ユニットが行なう上流側重複区間誤差拡散法処理(ステップS300)について、
図5を用いて説明する。既に説明したように、区間処理(ステップS230i)において着目画素のx座標が上流側重複区間UOAにあると判断されると(ステップS240)、Xu(i) ユニットは、上流側重複区間誤差拡散法処理(ステップS300)を実行する。以下の説明において、着目画素を座標と共に示す場合には、着目画素OP(x,y)と表記する。この処理を開始すると、まず着目画素OP(x,y)の階調データDSi(x,y)を取得する処理を行なう(ステップS310)。各分割画像GJ(i) のデータは、RAM45に保存されているので、これを読み出すことにより、着目画素OP(x,y)の階調データDSi(x,y)を順次取得することができる。
【0031】
次に、誤差バッファから、着目画素OP(x,y)に対応する蓄積誤差dfi(x,y)を読み出し、次式(1)に従って、これを階調データDSi(x,y)に加算して、補正階調値データCDi(x,y)を求める処理を行なう(ステップS320)。
CDi(x,y)=DSi(x,y)+dfi(x,y) …(1)
誤差バッファはRAM45の所定の領域に設けられており、既にハーフトーン処理された画素において生じた濃度誤差に対応する階調誤差を処理対象の画素の周辺の画素に拡散した結果を累積し記憶している。こうして補正階調値データCDi(x,y)を求めた後、完全一致処理(ステップS330)を実行する。
【0032】
この完全一致処理(ステップS330)とは、上流側重複区間UOAにおける誤差拡散法による処理結果を、上流側に隣接する上流側分割画像GJ(i-1) の対応区間の結果に一致させる処理である。以下に説明するこうした処理が実施できるのは、
図4のステップS220iで、上流側に隣接する分割画像GJ(i-1) のyラスターの処理が完了しているからである。処理している分割画像GJ(i) の上流側重複区間UOAにおける誤差拡散法による処理結果を、上流側に隣接する分割画像GJ(i-1) の対応区間の結果に一致させるとは、
図6Aに例示したように、処理している分割画像GJ(i) におけるj番目のラスター上の着目画素OP(x,y)をオン(ドットを形成する)とするかオフ(ドットを形成しない)とするかを、着目画素OP(x,y)に対応する上流側の分割画像GJ(i-1) の画素の処理結果(オン・オフ)に従わせる、ということである。なお、
図6Aの例示では、理解の便を図って、xa=4画素としている。この例に従えば、着目画素(-4,j)、(-2,j)は、上流側の分割画像GJ(i-1) の画素(Xunit-4,j)、(Xunit-2,j)の処理結果に従って、オン(ドットを形成)となり、着目画素(-3,j)、(-1,j)は、上流側の分割画像GJ(i-1) の画素(Xunit-3,j)、(Xunit-1,j)の処理結果に従って、オフ(ドットを不形成)となる。
【0033】
具体的には、完全一致処理(ステップS330)では、着目画素OP(x,y)の上流側の分割画像GJ(i-1) を処理するXu(i-1) ユニットが行なったハーフトーン処理の結果を参照し(ステップS335)、対応画素の処理結果がドットを形成する(ドットオン)であれば、着目画素OP(x,y)にもドットを形成すると判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオンを示す値1を設定し(ステップS341)、更に評価値RTVi(x,y)にドットを形成したことにより実現されると想定されるドットオンの濃度値を設定する(ステップS350)。他方、対応画素の処理結果がドットを形成しない(ドットオフ)であれば、着目画素OP(x,y)にもドットを形成しないと判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオフを示す値0を設定し(ステップS342)、更に評価値RTVi(x,y)にドットを形成しないことにより実現されると想定されるドットオフの濃度値を設定する(ステップS360)。オフ濃度値は、ドットが形成されることにより実現される階調値に対応しており、8ビットで濃度を表現している場合には、一般に濃度値は値255とされる。またオフ濃度値は、ドットが形成されないことにより実現される階調値に対応しており、つまり紙白の濃度値0とされる。
【0034】
上記のステップS341とS342とは、実質的には、着目画素OP(x,y)の結果値RSTi(x,y)に、対応画素の処理結果あるSTi-1 (x,y)を代入する処理(ステップS340)として実現される。このため、完全一致処理(ステップS330)では、まず着目画素OP(x,y)の結果値RSTi(x,y)に、対応画素の処理結果あるSTi-1 (x,y)を代入する単一の処理(ステップS340)を実行し、その上で、着目画素OP(x,y)がドットオンかオフかを判断し(ステップS335)、その結果によって、評価値RTVi(x,y)にオン濃度値を設定するか(ステップS350)、あるいはオフ濃度値を設定するか(ステップS360)という処理の順序としてもよい。この方が処理としては簡略化できるが、
図5の手法であれば、上流側重複区間UOAにおいて、上流側の画像GJ(i-1) の処理結果と一致させるという処理であることが明確になる。
【0035】
一致処理(ステップS330)の後、次式(2)に従って、着目画素の補正階調値データCDi(x,y)と評価値RTVi(x,y)との差分を階調誤差eri(x,y)として求める(ステップS390)。
eri(x,y)=CDi(x,y)-RTVi(x,y) …(2)
その後、誤差拡散処理(ステップS500)を行なう。誤差拡散処理(ステップS500)は、着目画素OP(x,y)に関してステップS390で求めた階調誤差eri(x,y)を着目画素OP(x,y)の周辺の未処理の複数の画素に分配する処理である。この様子を、
図6Bに示した。着目画素OP(x,y)に生じた階調誤差eri(x,y)とは、着目画素OP(x,y)における補正階調値データCDi(x,y)とドットのオン・オフにより印刷媒体P上に形成されたインク滴がその画素において実現している階調との差である。
【0036】
図6Bでは、着目した画素の補正階調値データCDi(x,y)を値159と値96の2つの場合を示している。このとき、上流側重複区間の対応する画素の処理結果に従ってドットのオン・オフを決定すると、補正階調値データCDi(x,y)=159の画素がドットを形成すると判断されると、評価値RTVi(x,y)には値255が設定される。評価値RTViを値255に設定するのは、ドットが形成された場合、その画素に対応した印刷媒体P上の位置の階調値が最大(255)になると擬制しているからである。同様に、補正階調値データCDi(x,y)=96の画素がドットを形成しないと判断されると、評価値RTVi(x,y)に値0が設定される。評価値RTViを値0に設定するのは、ドットが形成されない場合、その画素に対応した印刷媒体P上の位置の階調値は、印刷媒体Pの地色、つまり一般に白色に対応して最小(0)になると擬制しているからである。実際に形成されるドットの大きさやインクの濃度などに応じて、評価値RTVi(x,y)は適宜設定される。
【0037】
上記条件で、階調誤差eri(x,y)を求めると、ドットを形成する場合は、
eri(x,y)=159-255=-96
ドットを形成しない場合は、
eri(x,y)=96-0=96
となる(ステップS390)。そこで、この階調誤差eri(x,y)を、着目画素の周辺の画素に拡散する(ステップS500)。周辺の画素への拡散は、
図6Bに示す誤差拡散マスクEDMに記憶された重み付け係数に従って行なわれる。図示した例では、重み付け係数は、着目画素*の周辺の7つの画素について規定されており、着目画素OP(x,y)に対して画素(x+1,y)と画素(x,y+1)では1/4であり、画素(x+2,y)と画素(x+1,y+1)と画素(x-1,y+1)では1/8であり、画素(x+2,y+1)と画素(x-2,y+1)では1/16である。従って、階調誤差eriが±96であれば、各画素に拡散される誤差は、図示するように、重み付け係数が1/4であれば±24となり、重み付け係数が1/8であれば±12となり、重み付け係数が1/16であれば±6となる。これらの値が、各画素(x,y)に拡散すべき誤差として、RAM45に用意された誤差バッファに加算して格納される。
【0038】
具体的には、RAM45に用意された誤差バッファに格納されている累積誤差dfiが、以下の式(3)に従って更新される。なお、次式(3)を含む以下の説明では、eri(x,y)は、単にeriと略記することがある。
dfi(x+1,y )=dfi(x+1,y )+eri/4
dfi(x+2,y )=dfi(x+2,y )+eri/8
dfi(x-2,y+1)=dfi(x-2,y+1)+eri/16
dfi(x-1,y+1)=dfi(x-1,y+1)+eri/8
dfi(x ,y+1)=dfi(x ,y+1)+eri/4
dfi(x+1,y+1)=dfi(x+1,y+1)+eri/8
dfi(x+2,y+1)=dfi(x+2,y+1)+eri/16
… (3)
こうして着目画素OP(x,y)で生じた階調誤差eriを着目画素OP(x,y)の周辺の画素に拡散する処理を行なった後、「NEXT」に抜けて、上流側重複区間誤差拡散法処理ルーチンを終了する。
【0039】
以上説明したように、本実施形態において、処理対象の分割画像GJ(i) の上流側重複区間(-xa~-1)では、着目画素OP(x,y)にドットを形成するか否かは、処理対象の分割画像GJ(i) の上流側に隣接する分割画像GJ(i-1) の対応する画素のハーフトーン処理結果と同じとし、その結果に応じて、階調誤差eri(x,y)の演算(ステップS390)および誤差拡散処理(ステップS500)を行なうことになる。但し、この上流側重複区間UOAにおけるドット形成の有無は、上流側のXu(i-1) ユニットが決定するので、Xu(i) ユニットによる演算は、ドット形成のオン・オフを上流側のXu(i-1) ユニットによる処理結果に一致させて定めつつ、誤差の演算と誤差の拡散を行なうに留まる。
【0040】
次に、通常区間誤差拡散法処理(
図4、ステップS400)の詳細について、
図7を用いて説明する。この通常区間誤差拡散法処理の各ステップのうち、
図5に示した上流側重複区間誤差拡散法処理の各ステップに対応するものは、下2桁を同一としている。これらのステップについての説明は簡略なものとしている。第i処理部が実行するハーフトーン処理ルーチン(
図4)において着目画素OP(x,y)がいずれの区間に属するかを判断し(ステップS240)、通常区間NOAであると判断されると、まず処理している分割画像GJ(i) の着目画素OP(x,y)の階調データDSi(x,y)を取得する処理を行なう(ステップS410)。各分割画像GJ(i) のデータは、RAM45に保存されているので、これを読み出すことにより、着目画素OP(x,y)の階調データDSi(x,y)を順次取得することができる。
【0041】
次に、誤差バッファから、着目画素OP(x,y)に対応する蓄積誤差dfi(x,y)を読み出し、既述した(1)に従って、これを階調データDSi(x,y)に加算して、補正階調値データCDi(x,y)を求める処理を行なう(ステップS420)。こうして補正階調値データCDi(x,y)を求めた後、この補正階調値データCDi(x,y)が予め定めた閾値THeより大きいか否かの判断を行なう(ステップS435)。閾値THeは、固定値でもよいし、階調データDSi(x,y)に応じて増減するようにしてもよい。
【0042】
補正階調値データCDi(x,y)が閾値THeより大きければ、着目画素OP(x,y)にドットを形成すると判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオンを示す値1を設定し(ステップS441)、更にドットを形成したことにより実現されると想定されるドットオンの濃度値(例えば値255)を評価値RTVi(x,y)に設定する(ステップS450)。他方、補正階調値データCDi(x,y)が閾値THe以下であれば、着目画素OP(x,y)にはドットを形成しないと判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオフを示す値0を設定し(ステップS442)、更にドットを形成しないことにより実現されると想定されるドットオフの濃度値(例えば値0)を評価値RTVi(x,y)に設定する(ステップS460)。
【0043】
これらの処理(ステップS435~S460)の後、通常区間NOAの処理であることから、Xu(i) ユニットによる処理結果である結果値RSTi(x,y)を、RAM45に保存する処理を行なう(ステップS480)。この結果値RSTi(x,y)は、最終的に印刷される画像、つまり画素毎のドットのオン・オフを示す。
【0044】
その後、既述した式(2)に従って、着目画素の補正階調値データCDi(x,y)と評価値RTVi(x,y)との差分を階調誤差eri(x,y)として求め(ステップS490)、求めた階調誤差eri(x,y)を、周辺の未処理の画素に換算する誤差拡散処理(ステップS500)を行なう。誤差拡散処理(ステップS500)は、上流側重複区間誤差拡散法処理ルーチンにおいて説明した誤差拡散処理(ステップS500)と内容は同一である。
【0045】
以上説明した第1実施形態によれば、原画像ORGをn個に分割した各分割画像GJ(1) ~GJ(n) を、n個の処理部により並列に処理する際、下流側でハーフトーン処理を行なうXu(i) ユニットは上流側でハーフトーン処理を行なうXu(i-1) ユニットに対して、1ラスター遅れるだけで処理を開始できる。従って、n個の分割画像に分割している場合には、最小nラスター分の処理時間の遅れで、原画像ORGに対するハーフトーン処理を完了することができる。すなわち、誤差拡散法処理を採用しながら、並列処理の利点を享受できる。この結果、各ハーフトーン処理部をハードウェアにより実現することも容易となる。また、各ハーフトーン処理部はほぼ同一の構成にできるので、分割画像の数に応じてハーフトーン処理部の数を容易に変更でき、いわゆるスケーラブルな構成が実現しやすい。
【0046】
しかも、こうした並列的な処理おいて、上流側重複区間を設け、下流側のXu(i) ユニットは上流側のXu(i-1) ユニットの誤差拡散法による処理結果を採用して誤差拡散処理を行なうので、上流側重複区間の処理が終わったとき、下流側のXu(i) ユニットが処理する最初の画素の誤差バッファには、上流側の分割画像GJ(i) から拡散されるべき誤差の大部分が引き継がれている。この結果、上流側のXu(i-1) ユニットによる上流側重複区間の各画素(-xa~-1)のハーフトーン処理結果と、上流側重複区間に隣接する部分であって、下流側のXu(i) ユニットによる通常区間NOAの始まり部分のハーフトーン処理結果とは、連続性のよいものとなる。具体的には、画像が分割された部分での擬似輪郭の発生や、ドットパターンの有意の乱れなどの発生を抑制できる。もとより、原画像ORGを分割した分割画像GJ(i) の範囲内、つまり-xa~Xunit-1までの範囲内で誤差拡散法による処理を行なっているので、この範囲を超えたドット形成の状況による誤差が完全に考慮されることはないものの、ドット形成により生じる誤差の影響は、遠方では大きく減殺されるから、上流側重複区間UOAを、所定の画素数、例えば8画素から32画素程度とれば、分割画像を個々に処理していることによる画質劣化の発生は十分に抑制される。なお、この上流側重複区間の大きさは、誤差拡散マスクEDMの大きさによって変更してもよい。
【0047】
B.第2実施形態:
次に、第2実施形態の画像処理装置を含むプリンター20について説明する。このプリンター20は、
図1に示した第1実施形態と同様のハードウェア構成を備え、実施するハーフトーン処理が異なる。第2実施形態にいてXu(i) ユニットが実行するハーフトーン処理の概要を、
図8に示した。第2実施形態において、上述した第1実施形態のハーフトーン処理(
図4)と同一の処理については、ステップ番号を同一とし、その説明は簡略なものに留める。第2実施形態でも、Xu(i) ユニットは、RAM45に保存されていた分割画像GJ(i) に対する処理を行なうが、第2実施形態における原画像ORGの分割や上流側重複区間の範囲は、第1実施形態と同様である。
【0048】
図8に示したハーフトーン処理ルーチンを開始すると、副走査方向のy座標を値0とする処理(ステップS210i)、および主走査方向のx座標を値-xaとする処理(ステップS215i)を行なう。このx座標は、原画像ORGにおける絶対的な主走査方向の位置を示す座標ではなく、Xunit・(i-1)をx=0とする、分割画像における、いわば相対的な座標である。
【0049】
初期化の処理に続けて、Xu(i-1) ユニットのyラスターの処理が完了しているか否かを判断する(ステップS220i)。yラスターの処理については、上流側で隣接するXu(i-1) ユニットの処理の結果を利用するからである。Xu(i-1) ユニットがyラスターの処理を完了するまで待ち、完了していると判断できれば、次に区間処理(ステップS230i)を行なう。
【0050】
区間処理(ステップS230i)とは、分割画像GJ(i) が上流側の分割画像GJ(i-1) に隣接する上流側重複区間UOAにおけるハーフトーン処理と、分割画像GJ(i) が上流側の分割画像GJ(i-1) に隣接していない区間(以下、通常区間NOAという)におけるハーフトーン処理と、を併せた処理を言う。第2実施形態では、以下に説明するように、区間毎の処理の一部を共通化して実施する。
【0051】
本実施形態では、区間処理(ステップS230i)を開始すると、まず誤差バッファから、着目画素OP(x,y)に対応する蓄積誤差dfi(x,y)を読み出し、既述した(1)に従って、これを階調データDSi(x,y)に加算して、補正階調値データCDi(x,y)を求める処理を行なう(ステップS222i)。こうして補正階調値データCDi(x,y)を求めた後、区間2値化処理(ステップS235i)を実行する。この区間2値化処理(ステップS235i)は、上流側重複区間UOAと通常区間NOAとについて行なう2値化の処理であり、その概要を、
図9に示す。
【0052】
区間2値化処理では、まず、現在処理しようとしている画素(着目画素)が、いずれの区間に属するかを判断する(ステップS240)。座標xが、-xa~-1の範囲に入っていれば、上流側重複区間UOAであると判断し、着目画素OP(x,y)の上流側の分割画像GJ(i-1) を処理するXu(i-1) ユニットが行なったハーフトーン処理の結果を参照する(ステップS335)。対応画素の処理結果がドットを形成する(ドットオン)であれば、2値化の判断に用いる閾値THeを、予め定めた基準閾値TEから所定値thdを減算した値に設定し(ステップS336)、対応画素の処理結果がドットを形成しない(ドットオフ)であれば、2値化の判断に用いる閾値THeを、予め定めた基準閾値TEに所定値thdを加算した値に設定する(ステップS337)。
【0053】
このステップS336,S337の処理の結果、続くステップS435での2値化の判断、つまり補正階調値データCDi(x,y)が予め定めた閾値THeより大きいか否かの判断の結果が、ステップS335で判断した上流側のXu(i-1) ユニットの対応ドットの形成状態と一致しやすくなる程度である一致率を高めている。一致率は、増減する所定値thdの大きさにより定まる。例えば基準閾値TEが、値127であり、所定値thdが値32であれば、
THe=TE-thd=127-32=95
THe=TE+thd=127+32=159
となり、完全に一致はしないものの、一致する可能性は高くなる。なお、このように基準閾値TEから所定値thdだけ増減するのではなく、対応画素にドットが形成されている場合は、閾値THeを基準値よりかなり低い値、場合によっては値0やマイナスの値に設定したり、対応画素にドットが形成されていない場合は、閾値THeを基準値よりかなり大きな値、場合によっては値255を超える値など、予め定めた値に設定するものとしてもよい。
【0054】
他方、着目画素OP(x,y)が、いずれの区間に属するかを判断(ステップS240)において、座標xが、-xa~-1の範囲に入っていなければ、通常区間NOAであるとして、2値化の判断に用いる閾値THeを、予め定めた基準閾値TEに設定する(ステップS338)。つまり、上流側重複区間であれば、閾値THeを基準閾値TEから所定値thdだけ増加または減少し(ステップS336,S337)、通常区間NOAであれば、閾値THeを基準閾値TEに設定し(ステップS338)、その後、着目画素OP(x,y)の2値化の判断(ステップS435)を行なう。
【0055】
ステップS435において、補正階調値データCDi(x,y)が閾値THeより大きければ、着目画素OP(x,y)にドットを形成すると判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオンを示す値1を設定し(ステップS441)、更にドットを形成したことにより実現されると想定されるドットオンの濃度値(例えば値255)を評価値RTVi(x,y)に設定する(ステップS450)。他方、補正階調値データCDi(x,y)が閾値THe以下であれば、着目画素OP(x,y)にはドットを形成しないと判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオフを示す値0を設定し(ステップS442)、更にドットを形成しないことにより実現されると想定されるドットオフの濃度値(例えば値0)を評価値RTVi(x,y)に設定する(ステップS460)。これらの処理は、第1実施形態で説明した通常区間誤差拡散法処理(
図7)のステップS435~S460と同一である。
【0056】
これらの処理(ステップS435~S460)の後、現在処理している着目画素OP(x,y)がいずれの区間に属しているかを再度判断し(ステップS470)、着目画素OP(x,y)が上流側重複区間UOAに含まれている場合には、何も行なわず、着目画素OP(x,y)が通常区間NOAに含まれている場合には、Xu(i) ユニットによる処理結果である結果値RSTi(x,y)を、RAM45に保存する処理を行なう(ステップS480)。この結果値RSTi(x,y)は、最終的に印刷される画像、つまり画素毎のドットのオン・オフを示しており、上流側重複区間については、上流側の分割画像GJ(i-1) を処理するXu(i-1) により決定されるので、Xu(i) ユニットでは、上流側重複区間では、誤差計算と誤差の拡散のみ行ない、最終的なドットのオン・オフには関与しない。
【0057】
以上説明した区間2値化処理の後、既に説明した誤差拡散処理(ステップS500)を実行する。この誤差拡散処理(ステップS500)は、第1実施形態と同一である。以上で、区間処理(ステップS230i)を終了し、その後、主走査方向の座標xを値1だけインクリメントして、着目座標を、yラスター上で1つ主走査方向下流側に進める処理を行なう(ステップS260i)。その上で、着目画素のx座標がXunit以上となるまで、上記処理(ステップS230i~S260i)を繰り返す判断(ステップS270i)と、着目画素のx座標がXunit以上となった後、Xu(i) ユニットが、yラスターまで処理を完了したことを、共有メモリー58に書き込む(ステップS275i)。
【0058】
その後、副走査方向の座標yを値1だけインクリメントし、着目座標のy座標1つ副走査方向に進め(ステップS280i)、着目画素のy座標がymax より大きくなるまで、上記処理(ステップS215i~S280i)を繰り返す判断(ステップS)290i)を行なう。着目画素のy座標がymax より大きくなっていれば、0~yラスターについての処理は全て完了したと判断し(ステップS290i、「YES」)、「END」に抜けて、第2実施形態のハーフトーン処理ルーチンを終了する。
【0059】
以上説明した第2実施形態によれば、上流側重複区間UOAにおいて、ハーフトーン処理を行なうXu(i) ユニットは、上流側のXu(i-1) ユニットの処理結果に応じて、2値化の閾値THeを増減するので、着目画素OP(x,y)のハーフトーン処理の結果を、上流側のXu(i-1) ユニットの処理結果に近づける。このように、上流側重複区間UOAにおいて、ハーフトーン処理を行なうXu(i) ユニットによる処理結果を、上流側のXu(i-1) ユニットの処理結果に完全に一致させなくても、上流側重複区間の処理が終わったとき、下流側のXu(i) ユニットが処理する最初の画素の誤差バッファには、上流側の分割画像GJ(i) から拡散されるべき誤差のかなりの部分が引き継がれている。この結果、上流側のXu(i-1) ユニットによる上流側重複区間の各画素(-xa~-1)のハーフトーン処理結果と、上流側重複区間に隣接する部分であって、下流側のXu(i) ユニットによる通常区間NOAの始まり部分のハーフトーン処理結果とは、連続性のよいものとなるなど、第1実施形態と同様の作用効果を奏することができる。
【0060】
C.第3実施形態:
(1)基本構成:
次に、第3実施形態の画像処理装置を含むプリンター20について説明する。このプリンター20は、
図1に示した第1実施形態と同様のハードウェア構成を備え、原画像ORGの分割の範囲と、分割画像を処理するハーフトーン処理が異なる。
図10に、原画像ORGを分割した分割画像の範囲を示す。図示するように、第3実施形態での分割部41による原画像ORGの分割は、
図6に示した第1,第2実施形態での分割画像と同様に、各分割画像GJ(i) が画素xaの幅の上流側重複区間UOAを備えると共に、通常区間NOAの主走査方向下流側に、画素xbの幅の下流側重複区間DOAを備えるように行なう。また、上流側重複区間UOAに隣接する、通常区間NOAの画素xcの幅を、参照区間と呼ぶ。参照区間は通常区間NOAに含まれる。従って、1つのXu(i) ユニットが処理する分割画像GJ(i) には、上流側から、上流側重複区間UOA-通常区間NOA(参照区間ROAを含む)-下流側重複区間DOAが存在することになる。これらの各区間での画像処理については、後述する。
【0061】
第3実施形態における画像処理ルーチンは、
図4に示したもとの同様であり、各処理部が実行するハーフトーン処理は、
図8に示した第2実施形態のXu(i) ユニットハーフトーン処理ルーチンと、その区間2値化処理(ステップS235i)を除き同様である。第3実施形態の区間2値化処理を、
図11に示した。第3実施形態における区間2値化処理(ステップS235i)のうち、第2実施形態の区間2値化処理(
図9)と同じ処理には同じステップ番号を付した。また、同じ処理については簡略に説明する。
【0062】
図11に示したXu(i) ユニット区間2値化処理が開始されるまでには、
図8に示したように、初期化の処理(ステップS210i,S215i)やXu(i-1) ユニットによるyラスターの処理の完了の確認(ステップS220i)、更には階調データDSi(x,y)の取得と補正階調値データCDi(x,y)の算出(ステップS221i,S222i)などが行なわれている。その上で、第3実施形態の区間2値化処理(ステップS235i)が実行される。
【0063】
この区間2値化処理(ステップS235i)が開始されると、まず、現在処理しようとしている着目画素OP(x,y)が、上流側重複区間UOAに属するか否かを判断する(ステップS241)。着目画素OP(x,y)の座標xが、-xa~-1の範囲に入っていれば、上流側重複区間UOAであると判断し(ステップS241,「YES」)、第1実施形態で説明した完全一致処理(
図5、ステップS330)を実行する。完全一致処理(ステップS330)は、上流側重複区間UOAにおける誤差拡散法による処理結果を、上流側に隣接する上流側分割画像GJ(i-1) の対応区間の結果に一致させる処理である。こうした処理が実施できるのは、
図8に示したステップS220iで、上流側に隣接する分割画像GJ(i-1) のyラスターの処理が完了してから、区間2値化処理(ステップS235i)が実行されているからである。着目画素OP(x,y)が上流側重複区間UOAに入っていると判断され、完全一致処理が実行されれば、その後、「NEXT」に抜けて、本ルーチンを一旦終了する。
【0064】
現在処理しようとしている着目画素OP(x,y)の座標xが、上流側重複区間UOA以外の区間、つまり通常区間NOAまたは下流側重複区間DOAに属していると判断すると(ステップS241,「NO」)、更に下流側重複区間DOAのうちの参照区間ROAに属しているか否かを判断する(ステップS242)。ハーフトーン処理を行なうXu(i) ユニットは、座標-xaから順に着目画素を移動しながら処理を行なっていくので、
図10に示したように、上流側重複区間UOAの処理の後には、通常区間NOAの画素についての処理を行なうことになり、通常区間NOAの更に参照区間ROAの画素について処理を行なう。具体的には、この場合(ステップS242、「YES」)には、上流側の分割画像GJ(i-1) を処理するXu(i-1) ユニットが行なったハーフトーン処理の結果を参照する(ステップS335)ものとし、対応画素の処理結果がドットを形成する(ドットオン)であれば、閾値THeを次式(4)により定め(ステップS336)、対応画素の処理結果がドットを形成しない(ドットオフ)であれば、閾値THeを次式(5)により定める(ステップS337)。
THe←TE-thd …(4)
THe←TE+thd …(5)
【0065】
このステップS336,S337の処理の際に参照される対応画素は、
図10に示したように、上流側の分割画像GJ(i-1) の下流側重複区間DOAの画素である。この結果、続くステップS435での2値化の判断、つまり補正階調値データCDi(x,y)が予め定めた閾値THeより大きいか否かの判断の結果が、ステップS335で判断した上流側のXu(i-1) ユニットの対応ドットの形成状態と一致しやすくなり、両者の一致率が高まることは、第2実施形態と同様である。
【0066】
他方、着目画素OP(x,y)が、通常区間NOA中の参照区間ROAに属していないと判断すれば(ステップS242、「NO」)、2値化の判断に用いる閾値THeを、予め定めた基準閾値TEに設定する(ステップS338)。つまり、参照区間ROAであれば、閾値THeを基準閾値TEから所定値thdだけ増加または減少し(ステップS336,S337)、参照区間ROA以外の通常区間NOAおよび下流側重複区間DOAであれば、閾値THeを基準閾値TEに設定し(ステップS338)、その後、着目画素OP(x,y)の2値化の判断(ステップS435)を行なう。
【0067】
ステップS435において、補正階調値データCDi(x,y)が閾値THeより大きければ、着目画素OP(x,y)にドットを形成すると判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオンを示す値1を設定し(ステップS441)、更にドットを形成したことにより実現されると想定されるドットオンの濃度値(例えば値255)を評価値RTVi(x,y)に設定する(ステップS450)。他方、補正階調値データCDi(x,y)が閾値THe以下であれば、着目画素OP(x,y)にはドットを形成しないと判断して、着目画素OP(x,y)のハーフトーン処理結果である結果値RSTi(x,y)にドットオフを示す値0を設定し(ステップS442)、更にドットを形成しないことにより実現されると想定されるドットオフの濃度値(例えば値0)を評価値RTVi(x,y)に設定する(ステップS460)。
【0068】
これらの処理(ステップS435~S460)の後、現在処理している着目画素OP(x,y)が通常区間NOAに属しているか否かを判断し(ステップS471)、着目画素OP(x,y)が通常区間NOAに属していない、つまり下流側重複区間DOAに含まれている場合(ステップS471,「NO」)には何も行なわず、着目画素OP(x,y)が通常区間NOAに含まれている場合(ステップS471,「YES」)には、Xu(i) ユニットによる処理結果である結果値RTVi(x,y)を、RAM45に保存する処理を行なう(ステップS480)。この結果値RSTi(x,y)は、最終的に印刷される画像、つまり画素毎のドットのオン・オフを示しており、下流側重複区間については、上流側の分割画像GJ(i-1) を処理するXu(i-1) ユニットにより決定されるので、Xu(i) ユニットでは、下流側重複区間DOAでは、誤差計算と誤差の拡散のみ行ない、最終的なドットのオン・オフには関与しない。なお、上流側重複区間UOAについては、ステップS240の判断の結果、完全一致処理(ステップS330)が実施されるので、下流側重複区間DOA同様、誤差計算と誤差の拡散のみ行ない、最終的なドットのオン・オフには関与しない。
【0069】
以上説明した第3実施形態では、第1,第2実施形態同様、原画像ORGを複数に分割した分割画像を並列に処理できるので、原画像ORG全体の画像処理に要する時間を短縮できる上、更に、以下の作用効果を奏する。
[1]分割画像GJ(i-1) の通常区間NOAの主走査方向下流側に下流側重複区間DOAを設けているので、誤差拡散処理が、分割画像GJ(i-1) とGJ(i) との境界を越えて行なわれる。この様子を、
図12に示した。図では、図示の都合上、下流側重複区間DOAの画素数xbを4画素、参照区間ROAの画素数xcを2画素としているが、実際の処理では、両者は値1以上であればよい。好ましい範囲は、原画像の大きさや誤差を拡散する範囲の広さなどにより、適宜定めればよいが、例えば下流側重複区間DOAの幅である画素数xbは、値4から32画素程度、好ましくは、値8~16画素程度である。また、参照区間ROAの幅である画素数xcは、値2から16画素程度、好ましくは、値4~8画素程度である。
【0070】
この下流側重複区間DOAのxb個の画素については、通常区間NOAと同じように、補正階調値データCDi(x,y)を閾値THeと比較し(ステップS435)、ドットのオン・オフの決定(ステップS441,S442)や評価値RTViの設定(ステップS450,S460)が行なわれる。この結果、誤差拡散マスクEDMの従って、着目画素OP(x,y)より1つ先のラスターy+1上の上流側画素(x-2,y+1)や画素(x-1,y+1)への階調誤差eri(x,y)の拡散も行なわれる。この結果、分割画像GJ(i-1) の画素であって、境界近くの通常区間NOAに属する画素には、近傍の画素の階調誤差eri(x,y)が、より反映されるようになり、ハーフトーン処理された画像の品質は一層向上する。また、既に説明したが、下流側重複区間DOAでのドットのオン・オフの判断結果(ステップS441,S442)は、演算されるだけで、実際に印刷される画素のオン・オフには直接は関与しないものの、下流側重複区間DOAでのドット形成の有無の判断結果(ステップS441,S442)は、分割画像GJ(i-1) の誤差拡散法によるハーフトーン処理の結果を引き継いでいるので、そのドット形成の判断結果は、原画像ORGを分割しないで処理している結果に近くなる。このため、以下に説明する[2]の作用効果が得られる。
【0071】
[2]本実施形態では、下流側重複区間DOAでの画素におけるドット形成の有無を決定するのは、分割画像GJ(i) をハーフトーン処理するXu(i) ユニットである。Xu(i) ユニットは、参照区間ROAでは、分割画像GJ(i-1) の対応画素のドット形成の有無(オン・オフ)に応じて、ドットが形成され易くなる処理(ステップS336,S337)を行なっている。但し、分割画像GJ(i-1) の対応画素のドット形成の有無に完全に一致させているのではなく、閾値THeを、基準閾値TEから所定値thdだけ増加または減少することにより、両者の一致率を高める処理を行なっている。この結果、上記[1]で説明したように、上流側の分割画像GJ(i-1) における参照区間ROAの画素のドット形成に関する判断結果は、原画像ORGを分割しないで処理している結果に近くなっているから、Xu(i) ユニットが、この参照区間ROAを処理する際に、ハーフトーン処理の結果を、Xu(i-1) ユニットのハーフトーン処理の結果に一致されやすくすることで、分割画像GJ(i-1) とGJ(i) との境界でのドット形成のつながりをより高め、画質の一層の向上を図ることができる。
【0072】
この作用効果は、
〈1〉Xu(i-1) ユニットが行なうハーフトーン処理において、下流側重複区間DOAでも誤差拡散を継続することで、上流側重複区間UOAやこれに続く下流側重複区間DOAでのドット形成の判断結果の精度を高め、その上で、
〈2〉Xu(i) ユニットが行なうハーフトーン処理において、上流側重複区間UOAでは、Xu(i-1) ユニットが行なったハーフトーン処理の結果である対応画素のドット形成との一致率を100%(完全一致)とし、これに続く参照区間ROAでは、100%ではないものの一致率を高める低一致処理を行なう、
ことで、得られる。〈1〉により、これらの区間での誤差拡散の結果は、原画像ORGを分割しないで処理した結果に近づき、〈2〉により、通常区間NOAにおいて境界から離れるにしたがって、Xu(i-1) ユニットによる分割画像GJ(i) のハーフトーン処理結果へと、スムースに移行していく。
【0073】
第3実施形態において、上流側重複区間UOAでは完全一致処理(ステップS330)を行なったが、第2実施形態と同様、上流側重複区間UOAでの一致率を100%とはせず、閾値THeの増減により、100%未満で一定以上の一致率とし、参照区間ROAでの一致率をこれより低くするように、閾値THeの増減量を設定してもよい。
【0074】
(2)他の構成1:
上記の第3実施形態の基本構成では、参照区間ROAを設けたが、参照区間ROAを設けず、単に下流側重複区間DOAでの誤差拡散処理だけを行なうものとしてもよい。これでも、上流側重複区間UOAにおける境界付近の画素にハーフトーン処理により拡散される誤差はより正確なものとなるため、境界付近での画質は改善される。
【0075】
(3)他の構成2:
第3実施形態の基本構成の参照区間ROAでは、対応画素におけるドットのオン・オフに従って閾値THeを一律に増減したが、参照区間ROAにおける一致率は、上流側重複区間UOAの後端に位置する画素での一致率以下となるように設定してもよい。あるいは、参照区間ROAを2つ以上に分割し、分割画像GJ(i-1) とGJ(i) との境界からの遠い領域ほど、一致率を低くしていくものとしてもよい。
【0076】
D.他の実施態様:
上述した第1~第3実施形態の他、以下に説明する実施形態が実現可能である。
(1)本開示の第1の実施態様として、複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理装置が提供される。この画像処理装置は、前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割する分割部と、前記分割画像の各々に対応して設けられ、前記分割画像の各ラスターに属する画素を順次着目画素とし、前記着目画素に誤差拡散法を適用してハーフトーン処理を行なうn個のハーフトーン処理部と、前記各ハーフトーン処理部が前記各分割画像を処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する出力部とを備え、前記n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部は、前記分割画像の上流側で隣接する分割画像を処理するハーフトーン処理部が前記分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理を終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記ハーフトーン処理を開始し、前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行なう。
【0077】
この画像処理装置によれば、原画像をn個に分割した各分割画像を、n個の処理部により並列に処理する際、下流側でハーフトーン処理を行なうハーフトーン処理部は上流側でハーフトーン処理を行なうハーフトーン処理部に対して、1ラスター分、遅れるだけで処理を開始できる。従って、n個の分割画像に分割している場合には、最小nラスター分の処理時間の遅れで、原画像に対するハーフトーン処理を終えることができる。上流側重複区間の処理が終わったとき、下流側のハーフトーン処理部が処理する最初の画素の誤差バッファには、上流側の分割画像から拡散されるべき誤差のかなりの部分が引き継がれているので、上流側のハーフトーン処理部による上流側重複区間の各画素のハーフトーン処理結果と、上流側重複区間に隣接する部分であって、下流側のハーフトーン処理部による処理開始部分のハーフトーン処理結果とは、連続性のよいものとなるなどの作用効果を奏することができる。しかも、処理対象の分割画像のj番目のラスター上の上流側重複区間に含まれる画素に対するハーフトーン処理の際に、着目画素に対するハーフトーン処理の結果を、上流側で隣接する分割画像のj番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させるので、画像が分割された部分での擬似輪郭の発生や、ドットパターンの有意の乱れなどの発生を抑制できる。
【0078】
各ハーフトーン処理部が行なう誤差拡散法によるハーフトーン処理は、1ラスター単位での処理に限らず、複数ラスター単位で行ってもよい。例えば2ラスターをまとめて処理する場合、上流側のハーフトーン処理部に対して、下流側のハーフトーン処理部は、2ラスターの遅れで処理を開始できる。また、その場合は、処理の高速化のために、2ラスターにまたがる2画素分の誤差を合算してから拡散するといつた構成を採用してもよい。もとより3ラスター以上を単位として処理してもよい。
【0079】
各ハーフトーン処理部が行なうハーフトーン処理は、誤差拡散法を採用していればよく、2値化に限らず、3値化以上の多値化の処理を実現するものであってもよい。例えば印刷制御部32が、大ドット、小ドットを形成しうる場合には、「ドットを形成しない」「小ドットを形成する」「大ドットを形成する」の3つの状態を作り出せるので、3値化可能ある。また、この大小ドットをライトシアンインクLcやライトマゼンタインクLmでも形成可能とすれば、シアンインクCやマゼンタインクMについては、全部で5値化が実現可能である。こうした3値化以上の多値化を行なう場合には、例えば3値化であれば、3値化のための第1閾値THe1とこれより大きい第2閾値THe2とを、基準閾値として用意した第1基準閾値TE1とこれより大きい第2基準閾値TE2と、この基準閾値を増減する所定値である第1所定値thd1と第2所定値thd2とから定めるものとする。具体的には、着目画素を処理しているハーフトーン処理部の上流側のハーフトーン処理部のハーフトーン処理の結果が大ドットを形成するであれば、第2基準閾値TE2から第2所定値thd2を減算して第2閾値THe2を定め、第1基準値閾値TE1から第1所定値thd1を減算して第1閾値THe1を定める。その上で、補正階調値データCDi(x,y)を第2閾値THe2、第1閾値THe1と順次比較して、大小ドットの形成について判断する。同様に、着目画素を処理しているハーフトーン処理部の上流側のハーフトーン処理部のハーフトーン処理の結果が小ドットを形成するであれば、第2基準閾値TE2に第2所定値thd2を加算して第2閾値THe2を定め、第1基準閾値TE1から第1所定値thd1を減算して第1閾値THe1を定める。その上で、補正階調値データCDi(x,y)を第2閾値THe2、第1閾値THe1と順次比較して、大小ドットの形成について判断する。こうすれば、3値化の場合であっても、対応する画素に形成されるドットの「大」「小」「なし」に、ドット形成の結果を一致させる程度を高めることができる。
【0080】
また、3値化以上の多値化を行なう場合、N種類(Nは3以上の整数)のドットのうち、一番小さいドット、あるいは一番単位面積当たりの濃度の低いドットから順にS種類(Sは1以上N-1以下の整数)のドットについては、誤差拡散法によりハーフトーン処理を行ない、他のドットについては、ディザ法により、ドットを形成するか否かを決定するものとしてもよい。
【0081】
分割部による原画像の分割は、主走査方向に2以上の分割画像に分割するものであればよく、等分割であってもよいし、不等分割であってもよい。また、副走査方向における各ラスター上の分割位置は、一定であってもよいし、斜めであっても良いし、1または複数のラスター毎にずれていても良い。後者の場合、1または複数のラスター毎に境界の位置がずれているので、擬似輪郭などが視認されにくくなる。画像の分割を矩形に限らない場合、各ラスターにおける処理の開始点の画素の座標を、予めテーブル等に用意して、これを参照して処理を開始すれば良い。
【0082】
n個のハーフトーン処理部は、処理対象の分割画像のj番目のラスター上の上流側重複区間に含まれる画素に対するハーフトーン処理の際に、画素に対するハーフトーン処理の結果を、上流側で隣接する分割画像のj番目のラスター上のxa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行なうために、少なくとも上流側のハーフトーン処理部の処理結果を示すデータを取得する。こうした各ハーフトーン処理部間のデータのやり取りは、
図13から
図15に示したように、種々の構成が採用可能である。各図では、n=3、つまり第1~第3処理部51~53の例を示したが、処理部の数は任意である。
図13は、第1~第3処理部51~53が、入力装置61と出力装置62とにそれぞれ接続されており、各処理部51~53間では、下流側の分割画像を処理する処理部52,53が、上流側の分割画像を処理する処理部51,52のハーフトーン処理結果を直接、例えば共有メモリー58を介して、参照できるように構成されている。
【0083】
また、
図14に示した構成例では、第1~第3処理部51~53が、入力装置61と出力装置62とにそれぞれ接続されており、各処理部51~53間では、下流側の分割画像を処理する処理部52,53が、上流側の分割画像を処理する処理部51,52のハーフトーン処理結果を出力装置63を介して、参照できるように構成されている。
【0084】
また、
図15に示した構成例では、第1~第3処理部51~53が、外部とのデータの入力および出力を行なう入出力装置64にそれぞれ接続されており、各処理部51~53間では、下流側の分割画像を処理する処理部52,53が、上流側の分割画像を処理する処理部51,52のハーフトーン処理結果を入出力装置64を介して、参照できるように構成されている。この場合、各処理部51~53は、例えばRAM45において結果値RSTiが格納されるように用意された領域を介して、ハーフトーン処理の結果を参照する。もとより各処理部間のハーフトーン処理結果を参照する構成は、これらの構成に限られるものではなく、例えば参照する画素数は、xa画素、あるいはxa+xb画素程度であることから、専用の記憶領域を用意したり、CPU40内のL2キャッシュを利用したりするなど、種々の構成が採用可能である。
【0085】
こうしたハーフトーン処理を行なう処理部は、処理部間でやり取りするデータが少ないので、ハードウェアによる実現が容易である。特に、下流側の処理部が参照するのは、誤差バッファに蓄積された蓄積誤差dfiではなく、ハーフトーン処理の結果なので、取得するデータ量を小さくできる。この結果、複数のハーフトーン処理部を、複合機の内部に設けるといった構成だけでなく、複数のハーフトーン処理部を、ネットワーク上の異なる装置上において、大きな原画像を手分けしてハーフトーン処理し、これを併せて出力するといった構成も採用可能である。
【0086】
出力部は、各ハーフトーン処理部が各分割画像を処理した結果を併せ、原画像が備える階調値未満の階調値を有する処理済みデータを出力するものであり、出力先としては、各種プリンターやディスプレイなどが想定可能である。プリンターとしては、インクジェット方式に限らず、レーザープリンタや、各種昇華型プリンターなども使用可能である。
【0087】
(2)こうした画像処理装置において、前記一致処理における前記予め定めた程度は、完全一致としてもよい。完全一致の場合には、上流側重複区間でのハーフトーン処理結果をそのまま引き継いで、各ハーフトーン処理部が処理すべき区間の処理に入ることができ、分割画像の処理の連続性を高めることができる。
【0088】
(3)こうした画像処理装置において、前記一致処理は、前記ハーフトーン処理部における誤差拡散処理法において前記着目画素にドットを形成するか否かの判断を行なう閾値を、前記上流側で隣接する前記分割画像の前記重複するxa画素中の対応する画素についての前記ハーフトーン処理の結果が、ドットを形成するというものである場合には低減し、ドットを形成しないというものである場合には増加するものとしてもよい。こうすることでも一致の程度を高めることができる。また、減少または増加する程度を変更することにより、一致の程度を調整することも容易である。もとより、減少または増加するのではなく、より小さな値、より大きな値を予め用意し、閾値をこれらの値に切り替えるものとしてもよい。
【0089】
(4)こうした画像処理装置において、前記分割部は、前記原画像の分割の際に、前記分割画像の各ラスターに、前記分割位置から予め定めた数xb(xbは値1以上の整数)の画素だけ、前記主走査方向下流側の前記分割画像と重複する下流側重複区間を設け、前記各ハーフトーン処理部は、前記下流側重複区間を含めて、前記誤差拡散法を適用したハーフトーン処理を行なうものとしてもよい。こうすれば、原画像を分割する境界を越えて誤差拡散を継続できるので、上流側重複区間における各画素のハーフトーン処理を、原画像を分割しないで処理する場合に、一層近づけることができる。こうした下流側重複区間の画素の数xbは、値1であればよく、例えば4~32画素、好ましくは8から16画素程度の任意の画素数としてよい。
【0090】
(5)こうした画像処理装置において、前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に続く画素であって、前記予め定めた数xb以下の画素数xc(xcは値1以上xb以下の整数)の範囲を参照区間として定め、前記n個の分割画像のうち前記主走査方向下流側の分割画像を処理するハーフトーン処理部は、前記参照区間の画素に対する前記ハーフトーン処理の際に、前記画素に対する前記ハーフトーン処理の結果を、前記処理対象の分割画像に前記上流側で隣接する分割画像の前記j番目のラスター上の前記下流側重複区間の画素に対するハーフトーン処理の結果に、前記上流側重複区間での一致の程度より低い程度に一致させる低一致処理を行なうものとしてもよい。こうすれば、更にハーフトーン処理した後の画素の連続性を高めることができる。
【0091】
(6)こうした画像処理装置において、前記低一致処理は、前記参照区間において、前記分割位置から離れる第1位置における一致の程度が、前記分割位置より更に離れる第2位置における一致の程度より高いものとしてもよい。こうすれば、分割位置に近いほど一致の程度を高めることができ、好ましい。
【0092】
(7)本開示の第2の態様として、複数の画素からなる縦横2次元の原画像を、前記縦横のうちの一方向を主走査方向として順次ハーフトーン処理する画像処理方法が提供される。この画像処理方法は、前記原画像を、前記主走査方向に並んだn個(nは2以上の整数)の分割画像であって、前記主走査方向の画素の並びである各ラスターにおいて、分割位置から、前記主走査方向上流側の前記分割画像に対してxa画素(xaは1以上の整数)だけ重複する上流側重複区間を有する分割画像に分割し、前記分割画像の各々に誤差拡散法を適用したハーフトーン処理を並列的に行ない、前記主走査方向下流側の分割画像に対するハーフトーン処理では、前記分割画像の上流側で隣接する分割画像の副走査方向j番目(jは1以上の整数)のラスター上の画素についての前記ハーフトーン処理が終了した後に、処理対象である分割画像のj番目のラスター上の画素に対する前記誤差拡散法を適用した処理を開始し、前記処理対象の分割画像の前記j番目のラスター上の前記上流側重複区間に含まれる前記画素に対する前記ハーフトーン処理の際に、前記画素に対するハーフトーン処理の結果を、前記上流側で隣接する前記分割画像の前記j番目のラスター上の前記xa画素中の対応する画素についてのハーフトーン処理の結果に、予め定めた程度で一致させる一致処理を行ない、前記各分割画像を前記ハーフトーン処理した結果を併せ、前記原画像が備える階調値未満の階調値を有する処理済みデータを出力する。かかる画像処理方法によっても、大きな遅れなしにハーフトーン処理を並列的に行なうことができ、しかも原画像を分割した境界での画質の低下を抑制できる。
【0093】
(8)上記各実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。ソフトウェアによって実現されていた構成の少なくとも一部は、ディスクリートな回路構成により実現することも可能である。また、本開示の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD-ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。すなわち、「コンピューター読み取り可能な記録媒体」とは、データパケットを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
【0094】
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【0095】
ORG…原画像、DOA…下流側重複区間、NOA…通常区間、ROA…参照区間、UOA…上流側重複区間、P…印刷媒体、20…プリンター、30…制御ユニット、31…入力部、32…印刷制御部、40…CPU、41…分割部、43…ROM、45…RAM、50…画像処理部、51~53…第1~第3処理部、58…共有メモリー、61…入力装置、62,63…出力装置、64…入出力装置、64…入力出力装置、70…キャリッジモーター、71…駆動ベルト、73…摺動軸、74…紙送りモーター、75…プラテン、77…操作パネル、80…キャリッジ、81…印刷ヘッド、82…インクカートリッジ、90…コンピューター、99…操作パネル