JP2022038519A - 画像処理装置、印刷装置、印刷システムおよび画像処理方法 - Google Patents
画像処理装置、印刷装置、印刷システムおよび画像処理方法 Download PDFInfo
- Publication number
- JP2022038519A JP2022038519A JP2020143081A JP2020143081A JP2022038519A JP 2022038519 A JP2022038519 A JP 2022038519A JP 2020143081 A JP2020143081 A JP 2020143081A JP 2020143081 A JP2020143081 A JP 2020143081A JP 2022038519 A JP2022038519 A JP 2022038519A
- Authority
- JP
- Japan
- Prior art keywords
- halftone
- image
- threshold
- block
- processing
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 306
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 114
- 239000011159 matrix material Substances 0.000 claims abstract description 98
- 238000009792 diffusion process Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims description 83
- 238000012937 correction Methods 0.000 claims description 13
- 230000006866 deterioration Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 abstract description 11
- 239000000976 ink Substances 0.000 description 16
- 230000009897 systematic effect Effects 0.000 description 16
- 102100035647 BRISC and BRCA1-A complex member 1 Human genes 0.000 description 13
- 101000874547 Homo sapiens BRISC and BRCA1-A complex member 1 Proteins 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 13
- 230000015572 biosynthetic process Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 9
- 102100037119 Mas-related G-protein coupled receptor member G Human genes 0.000 description 7
- 101150033080 Mrgprg gene Proteins 0.000 description 7
- 238000009760 electrical discharge machining Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 206010028197 multiple epiphyseal dysplasia Diseases 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 208000035475 disorder Diseases 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 101100025832 Danio rerio nbas gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Landscapes
- Particle Formation And Scattering Control In Inkjet Printers (AREA)
- Color, Gradation (AREA)
- Facsimile Image Signal Circuits (AREA)
Abstract
【課題】誤差拡散法を用いた画像処理における処理時間の短縮と画像の画質劣化の抑制とを図る。
【解決手段】2次元的に配列された複数の画素からなる画像を処理する画像処理方法であって、画像を複数のブロックに分割し、各ブロック含まれる各画素の階調を表わす画像データを、予め用意したハーフトーン用閾値と比較して、誤差拡散法によるハーフトーン処理を行なう。この際に、各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付ける。加えて、隣接区間において、ハーフトーン用閾値をディザ閾値を用いて画素毎に修正し、修正されたハーフトーン用閾値を用いて、ブロック毎に、ハーフトーン処理を並列的かつ独立に行なう。
【選択図】図2
【解決手段】2次元的に配列された複数の画素からなる画像を処理する画像処理方法であって、画像を複数のブロックに分割し、各ブロック含まれる各画素の階調を表わす画像データを、予め用意したハーフトーン用閾値と比較して、誤差拡散法によるハーフトーン処理を行なう。この際に、各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付ける。加えて、隣接区間において、ハーフトーン用閾値をディザ閾値を用いて画素毎に修正し、修正されたハーフトーン用閾値を用いて、ブロック毎に、ハーフトーン処理を並列的かつ独立に行なう。
【選択図】図2
Description
本開示は、誤差拡散を用いた画像処理技術に関する。
画質に優れた画像処理として、従来から誤差拡散法が知られている。誤差拡散法による画像処理では、各画素の持つ階調値を、階調数の少ないドットの分布に変換する。その際、各画素において生じた濃度誤差を、処理している画素の周辺の未処理の画素に拡散するため、処理に時間がかかる。このため、並列処理を行なって、画像処理に要する時間を短くする工夫が種々なされている。例えば特許文献1では、画像を複数のブロックに分け、誤差拡散法により処理する誤差拡散ユニットをブロック毎に設けて、並列処理を実現している。この際、ブロック間の境界部に幅を持たせ、各ブロックにおける処理で境界領域へ拡散される誤差を別のメモリに記憶しておき、記憶しておいた誤差を用いて境界領域の誤差拡散処理を実施する。
しかしながら、こうした手法では、複数のブロックから境界領域に拡散される誤差を記憶し、読み出せるように、各ブロックから高速にアクセス可能なメモリ領域を用意する必要があり、同じシステム内に作り込む必要があった。したがって、各ブロックを処理する誤差拡散ユニットをメモリを共有しない異なるシステムに設けることは困難であった。また、処理対象となるブロックの数や分割の形態によって、境界領域で誤差を拡散する範囲が変化するので、分割処理のスケーラビリティを実現することも困難であった。
本開示の第1の態様として、2次元的に配列された複数の画素からなる画像を処理する画像処理装置が提供される。この画像処理装置は、前記画像を複数のブロックに分割する分割部と、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、を備え、前記複数のハーフトーン処理部の各々は、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう。
本開示の第2の態様として、印刷装置が提供される。この印刷装置は、上述した画像処理装置と、前記各ハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成するドット形成部と、を備える。
更に、本開示の第3の態様として、印刷システムが提供される。この印刷システムは、画像を複数のブロックに分割する分割部と、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応する画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、前記複数のハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成する印刷部と、を備え、前記複数のハーフトーン処理部の各々は、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行ない、前記複数のハーフトーン処理部の少なくとも一部は第1装置内に設けられ、前記ハーフトーン処理部の他の一部は、前記第1装置と回線を介して接続された第2装置内に設けられている。
本開示の第4の態様として、画像処理方法が提供される。この画像処理方法は、2次元的に配列された複数の画素からなる画像を処理する画像処理方法であって、前記画像を複数のブロックに分割し、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較して、誤差拡散法によるハーフトーン処理を行なう際に、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう。
A.第1実施形態:
[1]ハードウェア構成:
図1は、第1実施形態である画像処理装置としてのプリンター20の概略構成図である。このプリンター20は、画像を出力するコンピューター(以下、PCと略記することがある)90に接続されており、PC90が出力する原画像ORGを印刷媒体Pに印刷する。プリンター20は、カラーインクを用いて双方向印刷を行なうシリアル式インクジェットプリンターである。図示するように、プリンター20は、紙送りモーター74によって印刷媒体Pを搬送する機構と、キャリッジモーター70によってキャリッジ80をプラテン75の軸方向に往復動させる機構と、キャリッジ80に搭載された印刷ヘッド81を駆動してインクの吐出及びドット形成を行なう機構と、これらの紙送りモーター74,キャリッジモーター70,印刷ヘッド81、PC90及び操作パネル77との信号のやり取りを司る制御ユニット30とから構成されている。
[1]ハードウェア構成:
図1は、第1実施形態である画像処理装置としてのプリンター20の概略構成図である。このプリンター20は、画像を出力するコンピューター(以下、PCと略記することがある)90に接続されており、PC90が出力する原画像ORGを印刷媒体Pに印刷する。プリンター20は、カラーインクを用いて双方向印刷を行なうシリアル式インクジェットプリンターである。図示するように、プリンター20は、紙送りモーター74によって印刷媒体Pを搬送する機構と、キャリッジモーター70によってキャリッジ80をプラテン75の軸方向に往復動させる機構と、キャリッジ80に搭載された印刷ヘッド81を駆動してインクの吐出及びドット形成を行なう機構と、これらの紙送りモーター74,キャリッジモーター70,印刷ヘッド81、PC90及び操作パネル77との信号のやり取りを司る制御ユニット30とから構成されている。
キャリッジ80をプラテン75の軸方向に往復動させる機構は、プラテン75の軸と平行に架設され、キャリッジ80を摺動可能に保持する摺動軸73と、キャリッジモーター70との間に無端の駆動ベルト71を張設するプーリー72等から構成されている。プラテン75の軸方向に沿ったキャリッジ80の動きによって印刷位置が変更されることを主走査と呼び、この方向を主走査方向(双方向)と呼ぶ。以下の説明では、主走査方向の画素位置を座標xとして表わすものとする。また、プラテン75の回転による印刷媒体Pの搬送によって印刷ヘッド81による印刷位置が変更されることを副走査と呼び、印刷媒体Pが搬送される方向(矢印CV)とは逆方向を副走査方向と呼ぶ。副走査方向の画素位置は、座標yとして表わすものとする。
キャリッジ80には、カラーインクとして、シアンインクC、マゼンタインクM、イエロインクY、ブラックインクK、ライトシアンインクLc、ライトマゼンタインクLmをそれぞれ収容したカラーインク用のインクカートリッジ82~87が搭載される。キャリッジ80の下部の印刷ヘッド81には、上述の各色のカラーインクに対応するノズル列が形成されている。キャリッジ80にこれらのインクカートリッジ82~87を上方から装着すると、各カートリッジから印刷ヘッド81へのインクの供給が可能となる。
制御ユニット30は、入力部31、CPU40、RAM35、印刷制御部32を備える。CPU40は内部に周知のROM45を備える。CPU40は、ROM45に記憶されたプログラムを必要に応じてRAM35に展開し、このブログラムを実行することにより、画像を二値化するハーフトーン処理を含むプリンター20の動作全般を制御する。プリンター20は、ハーフトーン処理として、誤差拡散法と組織的ディザ法の両方を実行可能であるが、図1では、CPU40が誤差拡散法によるハーフトーン処理を行なうものとして、CPU40内部の構成を示している。CPU40は、制御プログラムを実行することにより、分割部41、閾値出力部43、第1処理部51、第2処理部52として機能する。ROM45内には、組織的ディザ法によりハーフトーン処理を行なう際に用いてる閾値マトリクスが複数種類記憶されている。この閾値マトリクスは、本実施形態では、誤差拡散法によるハーフトーン処理においても用いられる。
CPU40は、入力部31を介してPC90から原画像ORGを受け取り、これを第1処理部51,第2処理部52によりハーフトーン処理を行ない、印刷用のドットデータを生成する。CPU40は、生成されたドットデータを用いて、印刷制御部32を介して、上述した印刷ヘッド81や各種モーターなどを制御して、印刷媒体Pへの印刷を行なう。CPU40内の各部の働きについては、後で詳しく説明する。
[2]画像処理:
プリンター20における画像処理ルーチンについて、図2を用いて説明する。プリンター20は、図示する画像処理ルーチンを、PC90から印刷の指示を受けると開始し、まずPC90から原画像ORGの画像データを入力部31を介して入力する処理を行なう(ステップS100)。本実施形態では、原画像ORGは、フルカラーの画像であり、その大きさは、主走査方向に2(xm+1)画素、副走査方向に(yn+1)画素、解像度は600dpiである。原画像ORGを入力すると、次に解像度変換を行なう(ステップS110)。解像度変換は、原画像ORGの解像度と印刷可能な解像度が異なる場合に行なわれる。例えば、原画像ORGの解像度が600dpiで、印刷の解像度として300dpiが指定されていれば、原画像ORGの2×2画素を1つの画素にまとめるといった解像度変換を行ない、後工程におけるハーフトーン処理などの負荷を低減する。
プリンター20における画像処理ルーチンについて、図2を用いて説明する。プリンター20は、図示する画像処理ルーチンを、PC90から印刷の指示を受けると開始し、まずPC90から原画像ORGの画像データを入力部31を介して入力する処理を行なう(ステップS100)。本実施形態では、原画像ORGは、フルカラーの画像であり、その大きさは、主走査方向に2(xm+1)画素、副走査方向に(yn+1)画素、解像度は600dpiである。原画像ORGを入力すると、次に解像度変換を行なう(ステップS110)。解像度変換は、原画像ORGの解像度と印刷可能な解像度が異なる場合に行なわれる。例えば、原画像ORGの解像度が600dpiで、印刷の解像度として300dpiが指定されていれば、原画像ORGの2×2画素を1つの画素にまとめるといった解像度変換を行ない、後工程におけるハーフトーン処理などの負荷を低減する。
次に、後述するハーフトーン処理において用いる閾値マトリクスを準備する処理を行なう(ステップS120)。閾値マトリクスの準備とは、ROM45に記憶された複数の閾値マトリクスから、解像度変換後の画像のハーフトーン処理に適した閾値マトリクスを選択することである。ここで準備する閾値マトリクスとは、組織的ディザ法で用いられるディザ閾値を2次元配列したものであり、所定の大きさを有する。この閾値マトリクスの大きさは、ハーフトーン処理する画像、ここではブロックの解像度などにより異なる。本実施形態では、64画素×64画素の大きさの閾値マトリクスを選択した。組織的ディザ法において、閾値マトリクスを構成する各ディザ閾値は、ハーフトーン処理される画素の階調値と比較してドットデータを生成するのに用いられるが、本実施形態では、組織的ディザ法ではなく誤差拡散法によりハーフトーン処理を行なうので、閾値マトリクスの用途は、後述する用に、誤差拡散法において用いられる閾値ThEを変動させるのに用いられる。
組織的ディザ法は画像処理の手法として広く用いられているので、64画素×128画素、128画素×128画素、128画素×256画素、256画素×256画素など、各種の大きさの閾値マトリクスを準備することは容易である。もとより64画素未満の閾値マトリクスを用いることも差し支えない。また、こうした閾値マトリクスにおけるディザ閾値は、ディザ閾値との比較により形成されたドットの空間周波数が有する特性により、ブルーノイズ特性、グリーンノイズ特性など、各種の特性を有する閾値マトリクスとして準備することができる。本実施形態では、ブルーノイズ特性を有する閾値マトリクスを準備した。なお、後述するように、準備された閾値マトリクスにおけるディザ閾値はそのまま利用される訳ではなく、所定の演算を行なって得られた数値が、ハーフトーン処理におけるハーフトーン用閾値の演算に用いられる。このため、ステップS120では、組織的ディザ法に用いられる閾値マトリクスを準備するのではなく、所定の演算後の数値を元の閾値マトリクスにおけるディザ閾値に対応付けて2次元配列した数値マトリクスとして準備しても良い。
入力した画像データは、RGB形式の多階調のデータなので、次にこれをプリンター20が扱うCMYKのデータに変換する色変換処理(ステップS130)を行なう。もとより、画像データの形式は、プリンター20が扱える形式であれば、いずれの形式でもよく、例えばCMYKのデータであってもよい。またビット数は、標準的な8ビットであってもよく、画質に応じた任意のビット数が採用可能である。CMYKの形式で入力された場合には、色変換処理(ステップS130)は、省略可能である。入力部31による画像データの入力は、PC90との間の有線接続を介して、直接行なうものであってもよいし、イントラネット(登録商標)などのネットワークを介したものであってもよい。もとより、無線接続によるものであってもよいし、メモリカードなどにより、直接画像データのファイルを受け取るようなものであってもよい。上述した解像度変換処理(ステップS110)、閾値マトリクス準備処理(ステップS120)、色変換処理(ステップS130)などの実行順序は、後述する画像の分割処理(ステップS140)も含めて任意であり、いずれの処理から行なっても差し支えない。
本実施形態では、以上のステップS100からS130の処理の後で、原画像ORGの画像データを分割する処理を行なう(ステップS140)。画像データの分割は、図3に例示するように、原画像ORGを複数の分割画像に分ける処理である。この例では、主走査方向に沿って、分割された第1ブロックDG1,第2ブロックDG2に対応する画像データに分割している。第1ブロックDG1,第2ブロックDG2は、本実施形態では、大きさの等しいブロックであり、副走査方向であるy方向については、値0からynまでのn+1個の画素が配列され、主走査方向であるx方向については、値0からxmまでのm+1個の画素が配列されているものとする。このため、各ブロックには、(m+1)(n+1)個の画素が含まれることになる。なお、原画像ORGが主走査方向に、奇数個の画素を配列している場合には、原画像ORGの主走査方向右端に1画素分のダミー画素を加えてから分割し、第2ブロックDG2の右端の画素についての処理結果を用いないようにすればよい。図3では、この分割処理を、符号DVDとして示した。ここで、主走査方向xは、後述する誤差拡散処理において、誤差拡散の処理EDがなされる方向と一致している。
続いて、プリンター20のCPU40は、第1処理部による処理(ステップS201)と第2処理部による処理(ステップS202)とを並列にかつ独立に実行する。ここで、並列に実行するとは、交互に処理することで擬似的に並列に処理することを含まず、2つの処理部により実質的に並列に処理することを意味する。第1処理部51,第2処理部52は、マルチコアのCPU40においてコア毎に処理が割り当てられて、並列処理を行なう構成であってもよいし、それぞれ独立に処理を行なうハードウェアを備えたものであってもよい。
第1処理部51よる処理、第2処理部52による処理については、後で詳しく説明するが、いずれの処理も多階調の画像データを誤差拡散法によりハーフトーン処理して、インク滴のオン(ドットを形成する)とオフ(ドットを形成しない)に対応したドットデータに変換する処理である。図3では、この処理を符号H/Tとして表わし、第1処理部51,第2処理部52により変換されたドットデータを、それぞれ第1ドットデータDDT1、第2ドットデータDDT2として表わした。
第1処理部51および第2処理部52による処理が終了し、第1ドットデータDDT1,第2ドットデータDDT2が形成された後、これらのドットデータを併合する処理を行なう(ステップS150)。併合する処理は、第1ドットデータDDT1と第2ドットデータDDT2とを、元の画像の配置に従って、接続するだけである。この処理を、図3では、符号MRGで表わし、併合後の画像データをMRGGとして例示した。なお、図3では、第1ドットデータDDT1等は、分割された第1ブロックDG1等の画像、つまり誤差拡散処理前の画像との違いを示すために、網掛けした形態で模式的に示しており、実際に形成されるドットデータの形態とは異なる。
こうして第1ブロックDG1と第2ブロックDG2とを併合して得られた画像MRGGを用いて、これを印刷媒体Pに印刷する処理を行なう(ステップS160)。以上で、印刷を伴う画像処理を終了する。なお、印刷処理に際して、キャリッジ80の複数回のパスで画像を完成させるために、キャリッジ80おけるノズルの配列に応じた画素の形成のタイミングと画素の並びとが不一致となる場合がある。こうした場合には、各ノズルの駆動のタイミングに合わせて、ドットデータを入れ替える、いわゆるインターレース処理を行なえばよい。
次に、第1処理部51,第2処理部52が行なう処理について説明する。図4は、第1処理部51,第2処理部52が行なう誤差拡散処理ルーチンを示すフローチャートである。第1処理部51,第2処理部52は、分割処理(ステップS110)によって分割された第1ブロックDG1,第2ブロックDG2の画像データを受け取ると、これに対して、以下に説明する同じ処理を、個別に行なう。
図4に示した処理ルーチンでは、第1ブロックDG1,第2ブロックDG2を構成する複数の画素について、画像の左上を原点、つまり座標(0,0)として、副走査方向の座標yについて、値0からynまで、また主走査方向の座標xについて値0~xmまで、二重のループで繰り返し実行する(ステップS200s,S210s)。この処理がなされる画素を、以下、着目画素*と呼ぶ。具体的には、着目画素に対するステップS220~S290の処理を、ステップS210sからステップS210eまでの間で繰り返し、更にこの処理を、ステップS200sからステップS200eの間で繰り返す。ループの内側では、まず副走査方向のy=0のラスターについて、最初の画素(0,0)から、そのラスターの末尾の画素(xm,0)まで、着目画素*(x,y)を順次移動しながら、処理を行ない、1ラスター上の総ての画素についての処理が完了すると(ステップ210s~S210e)、次に、副走査方向の座標yを値1だけインクリメントし、主走査方向の座標xを初期値(値0)に戻して、そのラスターについての処理を行なうという処理を、副走査方向の座標yが、最終ラスターであるynとなるまで繰り返す(ステップS200s~S200e)。
こうした二重のループ処理が開始されると、まず着目画素の画像データDs(x,y)を入力する処理を行なう(ステップS220)。この画像データDs(x,y)は、原画像ORGの画素が備えていた階調データである。もとより、画像データDs(x,y)は、CMYKの各色のデータを含み、誤差拡散処理も各色についてそれぞれ行なわれる。各色についての処理は、本実施形態では独立の処理としたので、ここではこれらを特に区別せず、1つの処理として説明する。
次に、着目画素の画像データDs(x,y)に拡散誤差ER(x,y)を加え、補正済み画像データDt(x,y)を求める処理を行なう(ステップS230)。ここで、拡散誤差ER(x,y)とは、既に処理済みの画素から着目画素に拡散された誤差の総和である。拡散誤差ER(x,y)は、RAM35に用意された領域である誤差バッファーEDBに格納されている。次に、ハーフトーン用閾値ThEを演算する処理を行なう(ステップS300)。このハーフトーン用閾値ThE(以下、単に閾値ThEとも言う)は、着目画素にドットを形成するか否かを判断する際に用いる判定値である。本実施形態では、閾値ThEは、着目画素の座標(x,y)により値が変動する。閾値ThEの演算方法については、後で詳しく説明する。
閾値ThEを求めた後、この閾値ThEと着目画素の座標の補正済み画像データDt(x,y)との大小を比較する処理を行ない(ステップS240)、補正済み画像データDt(x,y)が閾値ThEより大きければ、ドットを形成するとして、ドットデータDD(x,y)に値1を入れ(ステップS250)、更に補正済み画像データDt(x,y)と最大階調値255との差分を求め、これを誤差値RSTとして記憶する(ステップS260)。他方、補正済み画像データDt(x,y)が閾値ThE以下であれば、ドットを形成しないとして、ドットデータDD(x,y)に値0を入れ(ステップS270)、更に補正済み画像データDt(x,y)と最小階調値0との差分を求め、これを誤差値RSTとして記憶する(ステップS280)。ドットデータDD(x,y)は、RAM35に保存される。
ステップS260,S280で求めている誤差値RSTは、着目画素の階調値に対応してその画素が表現すべき濃度(明度)に対して、ドットを形成すること、または形成しないことにより、濃度誤差がどの程度発生したかを表わす。例えば、着目画素の階調値に対応する濃度が値196であって、閾値ThEが仮に値128であったとすると、ステップS240の判断により、ドットが形成されることになる。ドットが着目画素に形成されると、着目画素は塗り潰され、その濃度は最大濃度に対応する値255となる。しかし本来の濃度は値196であったことから、両者の差分59だけ濃度は過剰となり、濃度誤差が発生することになる。着目画素の濃度が閾値ThE以下の場合はドットを形成しないことにより、濃度は不足し、濃度誤差が生じる。誤差値RSTは、このように画素毎に生じる濃度の不足または過剰に対応した正負の値となる。
そこで、続くステップS290では、この誤差値RSTを、着目画素の周囲に拡散する処理を行なう。この様子を図5に示した。図において、着目画素を「*」として示した。この着目画素*の座標を(x,y)とすると、この実施形態では、画素(x+1,y)および画素(x,y+1)に誤差値RSTの4/16が、それぞれ配分される。このように、誤差値RSTの一部が配分される範囲を示すのが誤差拡散マスクEDMである。この例では、画素(x+2,y)、画素(x対1,y+1)、画素(x-1,y+1)に、誤差値RSTの2/16が、画素(x+2,y+1)、画素(x-2,y+1)に、誤差値RSTの1/16が、それぞれ配分されるように、誤差拡散マスクEDMは、設定されている。本実施形態では、誤差拡散マスクEDMが、全て2P/16(P=0,1、2)に設定されているため、8ビットの2進数で表現された誤差値RSTを(4-P)ビット右シフトするだけで、各画素に配分する誤差を求めることができ簡便である。もとより、誤差拡散マスクEDMの値は2のべき乗以外の値として設定されても差し支えない。誤差拡散マスクEDMは、例えばガウスフィルターと等価な配分割合を備えるものとしてもよい。また、誤差拡散の範囲は、より狭いもの、より広いものであっても差し支えなく、例えば着目画素の階調値に応じて、異なる誤差拡散マスクEDMを切り替えて適用するものとしてもよい。
図5に示した誤差の拡散は、ラスターy上の着目画素*の主走査方向位置xを1つずつ移動しながら、画素(0,y)から(xm,y)まで行なわれるが、着目画素*がブロックの端部近傍に位置する場合には、誤差を受け取るべき画素が存在しない場合がありえる。こうした場合には、拡散すべき誤差はダミー画素に分配しておいても良いし、単に捨ててもよい。例えば、図において着目画素*が座標(xm-1,y)である場合、着目画素の主走査方向位置(x,y)に対して、位置(x+2,y)に分配されるべき2/16の誤差、位置(x+2,y+1)に分配されるべき1/16の誤差を受け取るべき画素は、このブロックには存在しない。また、これらの誤差は、例え隣接するブロックが存在しても、各ブロックについての処理は独立に行なわれるから、隣接するブロックの開始端の画素の画像データには反映されない。同様に、着目画素*が座標(0,y)である場合、着目画素の主走査方向位置(x,y)に対して、位置(x-2,y+1)に分配されるべき1/16の誤差、位置(x-1,y+1)に分配されるべき2/16の誤差を受け取るべき画素も、このブロックには存在せず、また隣接するブロックがあっても反映されない。
以上説明したように、着目画素*において、濃度誤差が発生すると、図4に示した誤差拡散処理によれば、その濃度誤差を反映した誤差値RSTを、着目画素*の周辺の画素であって誤差拡散マスクEDMに定める範囲に、予め定めた割合で分配する。具体的には、周辺の各画素に分配すべきものとして演算された誤差を、RAM35に用意された誤差バッファーEDBに記憶する。このとき、誤差バッファーEDBに既に値が入っていれば、これに加算する。着目画素*におけるドット形成の有無は、原画像ORGにおける各画素の階調値の大小に基本的には追従し、しかもドット形成の有無により生じた濃度誤差は、これを着目画素の周辺に分配していくことで、上述した端部の画素を除いて、大域的には解消する。このため、誤差拡散法により処理された画像(図3、画像MRGG)は、解像度と濃淡の再現性とに優れた高品質の画像となる。
以上説明したステップS220~S290の処理を、まず、主走査方向の位置を表わす座標xをインクリメントしつつ、ラスターの先頭から末尾まで繰り返す(ステップS210s~S210e)。着目画素*の位置xがラスターの末尾まで至ったら、次にラスター位置を表わす座標yを値1だけインクリメントし、着目画素*の位置xを値0にリセットして、上述した処理を行ない、これを先頭ラスター(y=0)から最後のラスター(y=yn)まで繰り返す(ステップS200s~S200e)。この結果、RAM35の所定の領域には、ドットデータがDD(x,y)が形成されるので、既に説明した併合処理(ステップS150)および印刷処理(ステップS160)を行なうと、原画像ORGに対応したハーフトーン画像である画像MRGGが、印刷媒体P上に形成される。
本実施形態では、上述した様に、多階調の原画像ORGをドットデータDDに変換するハーフトーニングとして、誤差拡散法を用いる。誤差拡散法では、ドットデータDDへの変換は、着目画素の階調値を、閾値ThEと比較することにより行なう。この閾値ThEは、本実施形態では、画素位置に応じてその値を変動させている。こうした閾値ThEの演算(ステップS300)の詳細について説明する。
閾値ThEの演算処理を図6に示す。この演算処理を開始すると、まず着目画素*の座標(x,y)を取得する処理を行なう(ステップS310)。次に、この着目画素*が隣接区間NBAに属するか否かの判断を行なう(ステップS315)。隣接区間NBAとは、図7Aに示すように、本実施形態では、原画像ORGを分割した隣接する2つのブロックに跨がる所定の区間であり、本実施形態では、第1ブロックDG1の第2ブロックDG2に接する主走査方向にnb1画素分の区間NBA1と、第2ブロックDG2の第1ブロックDG1に接する主走査方向にnb2画素分の区間NBA2とからなる、主走査方向にdmx画素の区間として設定されている。ブロックが3以上あれば、両端のブロック以外は、区間NBA1と区間NBA2の両方が設定される。隣接区間NBAの画素数dmxは、本実施形態では、選択された閾値マトリクスDMXの主走査方向の数に等しく設定されている。つまり、隣接区間NBAの主走査方向画素数は64である。また、隣接区間NBAのうち各ブロックDG1,DG2のそれぞれの区間NBA1,NBA2の画素数nb1,nb2は、それぞれdmx/2画素、つまり本実施形態では32画素とされている。隣接区間NBAの主走査方向画素数は、32画素以上であることが画質の点から好ましく、128画素以下であることが演算時間を短くする点では望ましい。もとより、32画素未満、128画素より大きくても差し支えない。
更に、その主走査方向画素数は、選択された閾値マトリクスの大きさと必ずしも一致している必要はない。その整数倍、または整数分の1でもよく、また整数倍(整数分の1)でなくてもよい。隣接区間NBAの主走査方向の画素数が閾値マトリクスにおける主走査方向の閾値の数より大きい場合には、閾値マトリクスを繰り返し適用すればよい。また、第1ブロックDG1の区間NBA1の主走査方向の画素数nb1と、第2ブロックDG2の区間NBA2の主走査方向の画素数nb2とは、必ずしも等しい必要はなく、一方が他方より多くても差し支えない。
着目画素*(x,y)が隣接区間に属するかどうか(ステップS315)の判断は、主走査方向の座標xの値により容易に行なうことができる。本実施形態では、第1ブロックDG1と第2ブロックDG2とに属する区間NBA1,NBA2の画素数(幅)は同一としているので、第1ブロックDG1については、着目画素の座標(x,y)のうち、主走査方向の座標xが、以下の不等式(1)を満たせば、着目座標*は、隣接区間に属すると判断し、第1ブロックDG1に隣接する第2ブロックDG2については、以下の不等式(2)を満たせば、着目座標*は、隣接区間に属すると判断する。
xm-MM≦x≦xm …(1)
0≦x≦MM …(2)
ここで、MMは、本実施形態では、ステップS120で選択した閾値マトリクスの主走査方向の大きさMmax の半分から値1引いた値(MM=Mmax /2 -1)、具体的には値31である。なお、上記の例では、処理を容易なものとにするために、隣接区間NBAを構成する区間NBA1,NBA2は閾値マトリクスの主走査方向の画素数の半分としているが、隣接区間の幅は、閾値マトリクスの大きさとは無関係に定めても良い。
xm-MM≦x≦xm …(1)
0≦x≦MM …(2)
ここで、MMは、本実施形態では、ステップS120で選択した閾値マトリクスの主走査方向の大きさMmax の半分から値1引いた値(MM=Mmax /2 -1)、具体的には値31である。なお、上記の例では、処理を容易なものとにするために、隣接区間NBAを構成する区間NBA1,NBA2は閾値マトリクスの主走査方向の画素数の半分としているが、隣接区間の幅は、閾値マトリクスの大きさとは無関係に定めても良い。
図7Aに示した例では、隣接区間の幅、つまり主走査方向の画素数は、閾値マトリクスDMXの主走査方向の閾値数と等しいものとして説明したが、隣接区間の主走査方向の画素数は、閾値マトリクスDMXの主走査方向の閾値数とは相違していても差し支えない。また隣接区間は、第1ブロックDG1や第2ブロックDG2の一部として設定してもよいし、図7Bに示すように、ブロック全部を隣接区間として設定してもよい。図7Bに示した例では、隣接区間NBAは、隣接する両側のブロックの全体と等しい。つまり隣接区間NBAのうち、第1ブロックDG1に含まれる主走査方向の画素数nb1と、第2ブロックDG2に含まれる主走査方向の画素数nb2は、それぞれ第1ブロックDG1の主走査方向画素数(xm+1)、第2ブロックDG2の主走査方向画素数(xm+1)に等しい。
この場合において、隣接区間NBAに適用される閾値マトリクスDMXは、図示するように、第1ブロックDG1の原点位置(0,0)から繰り返し適用され、隣接区間NBAの境界を越えて、第1ブロックDG1から第2ブロックDG2に連続的に適用される。隣接区間NBAの境界において1つの閾値マトリクスDMXが連続的に適用されるという意味では、図7Aと同様である。第1ブロックDG1に対する誤差拡散法処理と第2ブロックDG2に対する誤差拡散法処理とは、並列的に行なわれるので、処理を開始するに当たって、主走査方向に沿って後置されたブロック(ここでは第2ブロックDG2)を処理する処理部(ここでは第2処理部52)は、第1ブロックDG1の主走査方向画素数xm+1と、閾値マトリクスDMXの主走査方向の大きさ(閾値数)Mmax とから、誤差拡散法処理において、閾値マトリクスDMXの主走査方向の何番目(r番目)の閾値から順に利用するかを、以下の式により求めて、誤差拡散法処理を開始すればよい。ここで、主走査方向最初の閾値を0番目の閾値と呼ぶ。以下の式において、関数mod(A,B)は、数値Aを数値Bで除した場合の余り求める関数である。
r=mod(xm+1,Mmax )
第2処理部52は、誤差拡散法処理の開始に先立って、閾値マトリクスDMXの閾値の主走査方向の何番目から適用するかを求めて処理を開始し、以後は、閾値マトリクスDMXを繰り返し適用して、処理を行なえばよい。こうすることで、隣接するブロックにおいて、適用されるDMXの位相が一致し、隣接するブロック間の境界を跨ぐ際に、閾値マトリクスDMXから閾値を連続的に取り出して、誤差拡散法処理に用いることになる。
r=mod(xm+1,Mmax )
第2処理部52は、誤差拡散法処理の開始に先立って、閾値マトリクスDMXの閾値の主走査方向の何番目から適用するかを求めて処理を開始し、以後は、閾値マトリクスDMXを繰り返し適用して、処理を行なえばよい。こうすることで、隣接するブロックにおいて、適用されるDMXの位相が一致し、隣接するブロック間の境界を跨ぐ際に、閾値マトリクスDMXから閾値を連続的に取り出して、誤差拡散法処理に用いることになる。
図6に示した閾値ThE演算ルーチンにおいて、着目画素*が、隣接区間に属していると判断すると(ステップS315:「YES」)、次に、着目画素*の位置に対応する閾値マトリクスDMX上の位置のディザ閾値dtを取得する処理を行なう(ステップS320)。この処理について、図7Cを用いて説明する。実際の閾値マトリクスDMXは、本実施形態では、64画素×64画素のものが選択されているが、説明の便を図って、図では、閾値マトリクスDMXの大きさは、8画素×8画素として示した。また、隣接区間NBAの主走査方向の画素数dmxも値8とし、第1,第2ブロックDG1,DG2の各区間NBA1,NBA2は、それぞれ4画素分として示している。
着目画素*の位置に対応する閾値マトリクスDMX上の位置のディザ閾値dtを取得する処理(ステップS320)とは、着目画素*の座標が、第1ブロックDG1の区間NBA1におけるOP1(xm-3,1)であれば、これに対応する位置(0,1)の閾値D01を取得することに意味する。閾値マトリクスにおける位置を(p,q)とするとき、区間NBA1の座標(x,y)との関係は、次式(3)により求めることができる。
p=MM-(xm-x)、q=mod(y,Mmax ) …(3)
となる。
ここで、x=0~xm、y=0~ynである。同様に、着目画素*の座標が、隣接区間NBAに含まれる第2ブロックDG2の区間NBA2におけるOP2(1,2)であれば、これに対応する位置(5,2)の閾値D52を取得することに意味する。閾値マトリクスにおける位置を(p,q)とするとき、隣接区間NBA2の座標(x,y)との関係は、次式(4)により求めることができる。
p=MM+1+x、q=mod(y,Mmax ) …(4)
となる。
p=MM-(xm-x)、q=mod(y,Mmax ) …(3)
となる。
ここで、x=0~xm、y=0~ynである。同様に、着目画素*の座標が、隣接区間NBAに含まれる第2ブロックDG2の区間NBA2におけるOP2(1,2)であれば、これに対応する位置(5,2)の閾値D52を取得することに意味する。閾値マトリクスにおける位置を(p,q)とするとき、隣接区間NBA2の座標(x,y)との関係は、次式(4)により求めることができる。
p=MM+1+x、q=mod(y,Mmax ) …(4)
となる。
こうして着目画素*の位置に対応する閾値マトリクスDMX上の位置の閾値dtを取得した後、中間値から差分値Δdtを演算する(ステップS330)。本実施形態では、中間値は、閾値マトリクスDMXを構成する全ての閾値の平均値である。中間値は平均値でも良いし、中央値でも良い。例えば、閾値マトリクスDMXを構成する閾値dtが、値1~255までの値を用いていれば、その平均値davは、およそ128となる。そこで、取得した閾値dtとこの平均値davとの差分値Δdtを次式(5)により、求める。
Δdt=dt-dav …(5)
したがって、差分値Δdtは、-127~127となる。
Δdt=dt-dav …(5)
したがって、差分値Δdtは、-127~127となる。
更に、この差分値Δdtを用いて、閾値の変動分thを求める処理を行なう(ステップS340)。変動分thは、本実施形態では、以下の式(6)により求める。
th=k・Δdt …(6)
ここで、kは、係数であり任意の値とすることができるが、通常は、値0より大きく値1未満の数値が用いられる。もとより、係数kは、写真などの自然画像である場合や、文字中心の画像、地図などの細線を多く含む画像など、ハーフトーン処理する画像の性質に応じて切り替えてもよい。
th=k・Δdt …(6)
ここで、kは、係数であり任意の値とすることができるが、通常は、値0より大きく値1未満の数値が用いられる。もとより、係数kは、写真などの自然画像である場合や、文字中心の画像、地図などの細線を多く含む画像など、ハーフトーン処理する画像の性質に応じて切り替えてもよい。
ステップS315において、着目画素*が隣接区間NBAに属していないと判断した場合には、この閾値の変動分thを値0に設定する(ステップS318)。つまり、隣接区間NBAであれば、変動分thを差分値Δdtに比例するようにして求め、隣接区間NBAでなれば、変動分thを値0とするのである。その後、いずれの場合でも、固定分Tdを設定し(ステップS350)、誤差拡散法において用いる閾値ThEを、次式(7)に示すように、固定分Tdと変動分thの総和として求め(ステップS360)、本処理ルーチンを終了する。
ThE=Td+th …(7)
ThE=Td+th …(7)
このステップS330ないしステップS360の処理を合わせて、図7Cでは、関数fn1,fn2として示した。つまり、関数fn1,fn2は、上記式(5)(6)(7)を行なって、ハーフトーン用閾値ThEを求める演算子である。式(5)から(7)をまとめれば、
ThE=Td+k・(dt-dav) …(8)
となる。この結果、閾値ThEは、着目画素*の座標(x,y)に応じて、固定分Tdから増減する値となる。増減の幅は、係数kにより決定される。
ThE=Td+k・(dt-dav) …(8)
となる。この結果、閾値ThEは、着目画素*の座標(x,y)に応じて、固定分Tdから増減する値となる。増減の幅は、係数kにより決定される。
こうして求めた閾値ThEは、既述した図4のステップS240において、着目画素*の補正済み画像データDt(x,y)と比較される。図7Cでは、この処理を比較器cmp1,cmp2として記載した。比較の結果は、図4のステップS250,S270に示したように、ドットを形成する場合には、DD(x,y)=1として、ドットを形成しない場合には、DD(x,y)=0として、出力される。
以上説明した第1実施形態のプリンター20では、ハーフトーン処理する対象の原画像ORGを2つのブロックDG1,DG2に分割し、それぞれに対して、第1処理部51,第2処理部52が、それぞれ独立にハーフトーン処理を行なうが、両ブロックDG1,DG2が隣接する箇所において、両ブロックDG1,DG2に跨がる隣接区間NBAでは、誤差拡散法処理におけるハーフトーン用閾値ThEを、組織的ディザ法において用いる閾値マトリクスDMXを構成する閾値dtを用いて増減している。この結果、隣接区間NBAでは、誤差拡散法によるハーフトーン処理の結果が組織的ディザ法によるハーフトーン処理の結果に近づく。つまり、本実施形態では、第1ブロックDG1の主査走査方向終端およびその近傍で生じた濃度誤差は、第2ブロックDG2には何ら拡散されていないが、ハーフトーン処理により得られた第1ドットデータDDT1と第2ドットデータDDT2とを併合した画像MRGGには、画像を分割した境界線での画質に劣化がほとんど生じない。具体的には、ドット配列の乱れによる擬似輪郭の発生が抑制されており、印刷された画像MRGGの画質は、原画像ORGを分割することなく誤差拡散法によるハーフトーン処理を行なった場合と比べて、ほとんど遜色がない。
処理された画像の一例を、図8に示す。本実施形態の処理を適用する際の原画像ORGの画像データDsの階調値を8ビット表現で値80、ハーフトーン用閾値ThEを求める際の固定分Tdは値86とした。なお、本実施形態では、この固定分Tdは、入力階調値に7/8を乗じ、更に値16を付加するものとして求めたが、固定分Tdは、入力階調値に拠らない固定値としても差し支えない。図では、欄C1~C4にハーフトーン処理された画像を例示した。各画像は、左側が第1ブロックDG1の画像であり、右側がこれに隣接する第2ブロックDG2の画像である。各欄C1~C4は、閾値マトリクスにおける閾値dtの影響を調整する係数kが、それぞれ値0/255,16/255,80/255,160/255の場合に対応している。閾値ThEは、上述した式(8)にしたがって求められ、ドットのオン・オフが決定されている。図示するように、係数k=0/255、つまり閾値マトリクスDMXを構成する閾値dtによるハーフトーン用閾値ThEを増減させない場合には、第1ブロックDG1と第2ブロックDG2との間には、ドットの並びに乱れがあり、擬似輪郭が感じられるなど、画質は劣化している。他方、欄C2~C4のいずれの画像も、第1ブロックDG1と第2ブロックDG2との境界における擬似輪郭などの画質の劣化の発生は抑制され、ほとんど目につかない。
以上説明したように、第1実施形態のプリンター20は、原画像ORGを複数、ここでは2つに分割した上で、分割した第1ブロックDG1,第2ブロックDG2に対して、誤差拡散法によるハーフトーン処理を独立かつ並列に行なうことができ、隣接するブロック間で誤差の配分処理などを必要としない。したがって、ハーフトーン処理に要する時間を短縮でき、しかも誤差拡散法による高い画質という利点を享受できる。なお、原画像ORGの分割は3以上であってもよい。この場合には、第1処理部51,第2処理部52と同様の処理部を、合計で、少なくとも画像の分割数に等しい数だけ用意すればよい。また、3以上のブロックのうちのそれぞれ隣接するブロックの境界において、隣接区間を設ければよく、各隣接区間において、閾値マトリクスDMXを適用する場合、上述した実施形態に示したように、境界において同じ閾値マトリクスDMXから連続的に閾値を取り出し、閾値ThEを求めるものとすればよい。
[3]変形例:
以上説明した第1実施形態では、原画像ORGを分割する際、第1ブロックDG1と第2ブロックDG2との境界にオーバーラップする領域を設けていないが、第1ブロックDG1と第2ブロックDG2との複数画素の幅でオーバーラップする重複領域を設けてもよい。こうした分割の例を、図9Aに示した。図示するように、第1ブロックDG1と第2ブロックDG2とは、主走査方向において複数画素分の重複領域を有する。図では、第1実施形態の各処理との整合性を図って、各ブロックDG1,DG2の主走査方向の画素の並びを第1実施形態と同様、0~xmとして記載したが、重複領域を設ける場合、各ブロックDG1,DG2の画素数は、重複領域の画素数novの半分だけ増加させればよい。
以上説明した第1実施形態では、原画像ORGを分割する際、第1ブロックDG1と第2ブロックDG2との境界にオーバーラップする領域を設けていないが、第1ブロックDG1と第2ブロックDG2との複数画素の幅でオーバーラップする重複領域を設けてもよい。こうした分割の例を、図9Aに示した。図示するように、第1ブロックDG1と第2ブロックDG2とは、主走査方向において複数画素分の重複領域を有する。図では、第1実施形態の各処理との整合性を図って、各ブロックDG1,DG2の主走査方向の画素の並びを第1実施形態と同様、0~xmとして記載したが、重複領域を設ける場合、各ブロックDG1,DG2の画素数は、重複領域の画素数novの半分だけ増加させればよい。
第1ブロックDG1と第2ブロックDG2とに跨がる隣接区間NBAの大きさは、第1実施形態と同一であるが、各ブロックに属する区間NBA1,NBA2の画素数は、重複領域の画素数novに応じて増加させればよい。図示した例では、隣接区間NBAの主走査方向画素数dmxを、第1実施形態と同様、閾値マトリクスDMXの主走査方向画素数Mmax と等しくしているので、
Mmax =nb1+nb2-nov
が成り立つように、各ブロックに属する区間NBA1,NBA2の画素数nb1,nb2を定めればよい。
Mmax =nb1+nb2-nov
が成り立つように、各ブロックに属する区間NBA1,NBA2の画素数nb1,nb2を定めればよい。
図9Bに、第1実施形態の図7Cと同様に、隣接区間NBAにおける着目画素*の位置と閾値マトリクスDMXにおける対応する閾値の位置との関係を例示する。この例では、閾値マトリクスDMXの大きさは8画素×8画素、各ブロックDG1,DG2における隣接区間の主走査方向の幅は5画素、重複領域の幅は2画素、となっている。この場合、第1実施形態で示した各式(1)~(4)は、以下に示すように、式(1A)~(4A)となる。
xm-LL≦x≦xm …(1A)
0≦x≦LL …(2A)
p=LL-(xm-x)、q=mod(y,Mmax ) …(3A)
p=LL+1+x、q=mod(y,Mmax ) …(4A)
この例でも、第1ブロックDG1と第2ブロックDG2とに属する区間NBA1,NBA2の画素数(幅)は同一としているので、LLは、閾値マトリクスの主走査方向の大きさMmax と重複領域の画素数novの合計値の半分から値1引いた値(LL=(Mmax+nov) /2 -1)である。
xm-LL≦x≦xm …(1A)
0≦x≦LL …(2A)
p=LL-(xm-x)、q=mod(y,Mmax ) …(3A)
p=LL+1+x、q=mod(y,Mmax ) …(4A)
この例でも、第1ブロックDG1と第2ブロックDG2とに属する区間NBA1,NBA2の画素数(幅)は同一としているので、LLは、閾値マトリクスの主走査方向の大きさMmax と重複領域の画素数novの合計値の半分から値1引いた値(LL=(Mmax+nov) /2 -1)である。
このように、第1ブロックDG1と第2ブロックDG2とに重複領域を設けても、第1実施形態と同様に、ブロック毎に並列かつ独立に誤差拡散法によるハーフトーン処理を行なうことができる。しかもこのよう重複領域を設ければ、誤差拡散法による誤差の拡散が、分割されたブロック間の境界を越えて行なわれるので、ブロックの境界での画質の劣化は一層抑制される。こうした場合でも、原画像ORG上の主走査方向に並んだ各画素の補正済み画像データDt(x,y)と比較されるハーフトーン用閾値ThEのうちの変動分thは、原画像ORG上の各画素に対応する閾値マトリクスDMX上の位置の閾値dtを順次適用して求められる。このため、特に重複領域OVLでは、第1ブロックDG1に属する画素であっても第2ブロックDG2に属する画素であっても、原画像ORGにおける同じ画素であれば、同じ閾値dtを用いて変動分thが演算され、ハーフトーン用閾値ThEが求められる。この結果、重複領域OVLでのハーフトーン処理の結果は、各ブロックに属する区間NBA1,NBA2で一層似通ったものになり、各ブロックでのハーフトーン処理の結果を併合した結果(図2、ステップS150)も、ブロックの境目での画像の劣化が一層抑制されたものとなる。
B.第2実施形態:
次に第2実施形態について説明する。図10は、第2実施形態の印刷システム120の概略構成図である。図示するように、この印刷システム120は、ネットワーク(LAN)180を介して接続されたコンピューター(PC)190とプリンター130とからなる。PC190は、原画像ORGを作成・編集するものであり、内部に制御部140を備える。なお、図示していないが、制御部140、第1実施形態同様、プログラムを記憶するROMや画像データなどを展開するRAMなどのメモリも備える。
次に第2実施形態について説明する。図10は、第2実施形態の印刷システム120の概略構成図である。図示するように、この印刷システム120は、ネットワーク(LAN)180を介して接続されたコンピューター(PC)190とプリンター130とからなる。PC190は、原画像ORGを作成・編集するものであり、内部に制御部140を備える。なお、図示していないが、制御部140、第1実施形態同様、プログラムを記憶するROMや画像データなどを展開するRAMなどのメモリも備える。
PC190は、制御部140内に、原画像ORGを分割する分割部141、閾値出力部143、第1処理部151、通信部147を備える。各部は、第1実施形態と同様、ROMに記憶されたプログラムをCPUが実行することにより、実現される。閾値出力部143は、誤差拡散法によるハーフトーン処理を行なう第1処理部151に、第1実施形態同様、閾値マトリクスを用いた変動分thを有するハーフトーン用閾値ThEを出力する。第1処理部151は、分割された一方のブロックである第1ブロックDG1をハーフトーン処理し、ドット形成の有無を表わす第1ドットデータDDT1として出力する。通信部147は、LAN180を介して、プリンター130と通信を行なうものであり、分割された他方のブロックである第2ブロックDG2の画像データと第1処理部151が処理した結果である第1ドットデータDDT1とを、プリンター130に出力する。分割部141は第1実施形態同様、原画像ORGを2つに分割する。本実施形態でも、原画像ORGは、2つに分割して処理するが、3つ以上であってもよいことは第1実施形態と同様である。
このPC190と協働して印刷システム120を構成するプリンター130は、LAN180を介した通信を行なう通信部131、第1処理部151と同様の処理を行なう第2処理部132、第2処理部132に対して誤差拡散法によるハーフトーン処理のための閾値ThEを出力する閾値出力部133、分割された画像をドットデータにより併合する併合部135、印刷媒体に対して印刷を行なう印刷部160などを備える。印刷部160を除いて、各部は、プリンター130に備えられたCPUがROMに用意されたプログラムを実行することにより、実現される。印刷部160は、第1実施形態と同様、シリアル式インクジェットプリンターとして必要なハードウェアを備える。
この印刷システム120を構成するPC190およびプリンター130における処理を対比させて、図11に示した。図示する処理のうち、「画像処理ルーチン」は、PC190において、画像の編集等が行なわれ、印刷の指示がなされたときに、デバイスドライバとして用意されたプリンタードライバが実行する処理である。また、「印刷処理ルーチン」は、PC190からの指示を受けて、プリンター130が実行する処理である。
PC190のプリンタードライバは、印刷の指示を受けると、まず原画像ORGの画像データを入力する処理を行なう(ステップS400)。第2実施形態でも、第1実施形態と同様、入力した画像データに対して、解像度変換処理(図2、ステップS110)や閾値マトリクスの準備処理(ステップS120)、更には色変換処理(ステップS130)等を行なうが、それらについては図示および説明は省略する。
プリンタードライバは、解像度変換や閾値マトリクスの準備などの処理を行なった上で、次に原画像ORGを分割する処理を行なう(ステップS440)。この処理も第1実施形態と同様である。分割処理により、原画像ORGは、第1ブロックDG1と第2ブロックDG2とに分割される。そこで、この第2ブロックDG2の画像データを、パケットにし、通信部147を用いて、プリンター130宛てに送信する第2画像送信処理を行なう(ステップS450)。その後、PC190は、送信しなかった側、つまり第1ブロックDG1の画像データを第1処理部151を用いてハーフトーン処理し、ドット形成の有無を表わす第1ドットデータDDT1を生成する(ステップS510)。
プリンター130は、通信部131によりLAN180を介した通信を監視しており、自分宛のパケットが送られてくると、これを受信する(ステップS500)。これが第2画像受信処理である。プリンター130は、PC190から送られてきた第2ブロックDG2の画像データを受信すると、これを第2処理部132を用いてハーフトーン処理し、ドット形成の有無を表わす第2ドットデータDDT2を生成する(ステップS520)。プリンター130側で第2ドットデータDDT2の生成が完了するまでの時間と、PC190側で第1ドットデータDDT1の生成が完了するまでの時間は、両者のCPU等の処理能力により異なる。いずれにせよ、所定の時間内にこれらの処理は並列的かつ独立に行なわれ、完了する。
PC190は、第1ドットデータDDT1の生成が完了すると、これをプリンター130に送信し(ステップS460)、送信が完了すれば、画像処理ルーチンを終了する。他方、プリンター130は、第2ドットデータDDT2の生成が完了すると(ステップS520)、PC190からの第1ドットデータDDT1を受信する(ステップS540)。なお、PC190による第1ドットデータDDT1生成の処理が短時間の内に完了した場合、プリンター130は、第2ドットデータDDT2の生成の完了を待たずに、第2処理部132を用いたハーフトーン処理と平行して、PC190からの第1ドットデータDDT1の送信を受けて、これを受信しても差し支えない。受信した第1ドットデータDDT1は、プリンター130のRAMの所定の領域に保存された後、第2処理部132により生成された第2ドットデータDDT2と同様、併合部135に出力される。
プリンター130は、併合部135により、第1ドットデータDDT1と第2ドットデータDDT2とを併合する(ステップS550)。併合処理では、第1ドットデータDDT1と第2ドットデータDDT2とを、ラスターラインが一致する様に配列する。併合処理されたドットデータは、プリンター130のRAMに一旦保存され、続いて行なわれる印刷処理(ステップS560)において読み出され、順次印刷部160に送り出される。印刷部160は、ドットデータに基づき、印刷媒体に画像を形成する。印刷処理(ステップS560)の完了後、プリンター130は印刷処理ルーチンを終了する。
以上説明した第2実施形態によれば、第1実施形態と同様に、原画像ORGを2つに分けて、ブロックごとに独立に誤差拡散法によるハーフトーン処理を行なうことができ、しかもブロック同士の接続箇所の画質の劣化を抑制できるという効果を奏する。しかも、第2実施形態では、ブロックごとに独立に誤差拡散法によるハーフトーン処理を行なうことができるという特徴を生かして、ハーフトーン処理を、PC190とプリンター130言う異なる装置で行なわせる。したがって、ネットワークなどで接続された機器を組み合わせて原画像ORGを処理することができ、複数の機器を組み合わせて高速な画像処理と高画質の維持という2つの要請を満たすことができる。
上述した実施形態では、原画像ORGを2つに分けて、第1ブロックDG1は、PC190により処理し、第2ブロックDG2はプリンター130より処理した。したがって、両者の処理能力の差により、処理の終了時間が相違する場合があり得る。そこで、PC190とプリンター130のハーフトーン処理の能力差を勘案して、ハーフトーン処理がほぼ同時期に終了するように、原画像ORGを分割するようにしてもよい。例えば、PC190の方が処理能力が高ければ、第1ブロックDG1を第2ブロックDG2より大きくなるよう分割すればよい。こうすれば、両者の処理の完了のタイミングを近づけることができ、印刷システム120としての処理時間を一層短くできる。
C.その他の構成例:
第1実施形態では第1処理部51と第2処理部52とは同じプリンター20内部に設け、第2実施形態では第1処理部151と第2処理部132とは異なる装置内に設けた。いずれにせよ、複数の処理部は、誤差拡散法によるハーフトーン処理を行なうことで生じる濃度誤差を、分割されたブロック同士の接続箇所およびその近傍においてもやり取りする必要がない。したがって、誤差拡散法によるハーフトーン処理を行なう処理部の数を増やしても、処理部の数に応じて原画像ORGを分割して提供すればよく、処理部の数を必要に応じていくらでも増減できる。つまり画像処理装置やこれを用いた印刷装置を、いわゆるスケーラブルに構成できる。このため、誤差拡散法によるハーフトーン処理を行なう処理部を、例えば印刷ヘッド毎に設ければ、印刷装置をスケーラブルに実現可能となる。例えば、A4縦一枚分の印刷範囲を持つ印刷ヘッドに画像処理部を組み込んだユニットを作れば、印刷範囲をA2縦とするには、この印刷ユニットを2台並べて設ければよい。このとき、各印刷ユニット間では、濃度誤差のやり取りをする必要がない。また、印刷範囲をA0縦とするには、この印刷ユニットを4台並べて設ければよい。
第1実施形態では第1処理部51と第2処理部52とは同じプリンター20内部に設け、第2実施形態では第1処理部151と第2処理部132とは異なる装置内に設けた。いずれにせよ、複数の処理部は、誤差拡散法によるハーフトーン処理を行なうことで生じる濃度誤差を、分割されたブロック同士の接続箇所およびその近傍においてもやり取りする必要がない。したがって、誤差拡散法によるハーフトーン処理を行なう処理部の数を増やしても、処理部の数に応じて原画像ORGを分割して提供すればよく、処理部の数を必要に応じていくらでも増減できる。つまり画像処理装置やこれを用いた印刷装置を、いわゆるスケーラブルに構成できる。このため、誤差拡散法によるハーフトーン処理を行なう処理部を、例えば印刷ヘッド毎に設ければ、印刷装置をスケーラブルに実現可能となる。例えば、A4縦一枚分の印刷範囲を持つ印刷ヘッドに画像処理部を組み込んだユニットを作れば、印刷範囲をA2縦とするには、この印刷ユニットを2台並べて設ければよい。このとき、各印刷ユニット間では、濃度誤差のやり取りをする必要がない。また、印刷範囲をA0縦とするには、この印刷ユニットを4台並べて設ければよい。
上記各実施形態では、閾値ThEの変動分thは、式(5)(6)などに示したように、閾値マトリクスを構成する各閾値dtとその平均値davとの差分に基づいて定めたが、各閾値dtと平均値davとの比(dt/dav)によって定めてもよい。また、平均値や中央値に代えて、閾値の最小値より大きく最大値より小さい値との偏差や比によって定めても差し支えない。上記実施形態では、閾値ThEを変動させたが、画像データに変動分を加えてから閾値と比較するようにしてもよい。また、上記各実施形態では、組織的ディザ法によるハーフトーン処理のために用意した閾値マトリクスを利用して変動分thを求めたが、予め閾値マトリクスを利用して、変動分thを計算し、これをROM45に記憶しておいて、ハーフトーン用閾値ThEを求めるようにしてもよい。こうすれば式(5)(6)の演算をいちいち行なう必要がない。
上記の各実施形態では、ブルーノイズ特性を有する閾値マトリクスを用いたが、グリーンノイズ特性など、ブルーノイズ特性以外の特性を有する閾値マトリクスを採用してもよい。あるいは画像の形成をキャリッジ80の往復動の際に行なう双方向印字の場合の画質劣化を抑制した閾値マトリクスを用いてもよい。こうした閾値マトリクスは、例えば特許第4635762号公報、特にその図16および段落0116以下に詳しく説明されているように、応動時のドット形成に用いられる閾値マトリクスと復動時のドット形成に用いられる閾値マトリクスとを生成する際、閾値マトリクスにおける閾値の配置を変更しながら、往動時に形成されるドットの粒状性評価と、復動時に形成されるドットの粒状性評価と、更に往復動により形成されるドットの粒状性評価とを繰り返し、各粒状性評価が最も高くなるように閾値の配置を決定するといった手法により生成可能である。
D.他の実施態様:
(1)本開示の他の実施態様は、2次元的に配列された複数の画素からなる画像を処理する画像処理装置としての態様である。この画像処理装置は、前記画像を複数のブロックに分割する分割部と、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、を備え、前記複数のハーフトーン処理部の各々は、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう。
(1)本開示の他の実施態様は、2次元的に配列された複数の画素からなる画像を処理する画像処理装置としての態様である。この画像処理装置は、前記画像を複数のブロックに分割する分割部と、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、を備え、前記複数のハーフトーン処理部の各々は、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう。
この画像処理装置によれば、誤差拡散法によるハーフトーン処理に用いられるハーフトーン用閾値を、各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素において、組織的ディザ法に用いられる閾値マトリクスの閾値を用いて修正することで変動させているので、複数のブロックにおいて、並列的かつ独立に誤差拡散法を用いてハーフトーン処理を行なっても、複数のブロックのつなぎ目で、擬似輪郭の発生などの画質劣化が生じることを抑制できる。複数のブロックに対する誤差拡散法による処理を独立にできるので、処理の並列化を図ることが容易であり、処理時間の短縮化と画質劣化の抑制とを両立できる。この結果、画像処理装置をスケーラブルに構成することも容易となる。
分割部による画像の分割は、複数のブロックに分割するのであれば、その数は問わない。画像を3以上のブロックに分割する場合、隣接区間は、第1ブロックと第2ブロックとの隣接箇所、第2ブロックと第3ブロックとの隣接箇所のように、2以上生じる。こうした場合に各隣接区間において、適用する閾値マトリクスは、隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付けていれば、全ての隣接区間に同じ閾値マトリクスを適用してもよいし、少なくとも1つの隣接区間において他の隣接区間と異なる閾値マトリクスを適用してもよい。また、分割は、画素が2次元的に配列されたいずれの方向に分割してもよいし、両方向において、例えば2×2のように分割してもよい。この場合、ブロックの隅部では、隣接区間が両方に跨がることになるが、両方の隣接区間に対して同じ閾値マトリクスを適用するのであれば、何ら問題はない。分割は、例えば誤差拡散法による主走査方向に分割する場合、処理が行なわれる各ラスター上の同じ位置で分割してもよいし、一または複数のラスター毎に異なる位置で分割するようにしてもよい。
ハーフトーン処理部は、少なくとも分割したブロックの数だけあればよい。また、画像処理装置は、単独で用いられてもよいが、プリンターなど画像処理を伴う他の装置に組み込まれてもよい。ここで、閾値マトリクスの大きさについては、特に限定されないが、例えば64画素×64画素の大きさを備えるものとしてもよい。閾値マトリクスが所定以上の大きさを有すれば、重複区域での画質の劣化は看取されにくい。もとより、閾値マトリクスの大きさは64画素×64画素未満でも差し支えない。また、32画素×64画素といった方形でない形状の閾値マトリクスでも差し支えない。複数の隣接区間において、適用する閾値マリクスの大きさは、隣接区間毎に同一としてもよいし、少なくとも1つの隣接区間について他の隣接区間と異なる大きさとしてもよい。
(2)こうした画像処理装置において、前記分割部は、前記画像を分割する際、隣接するブロックと重複する所定幅の重複領域を、前記各ブロックに設け、前記ハーフトーン処理部は、前記隣接区間に含まれる前記重複領域において、前記各ブロックに含まれる前記画像の同一画素については、同一のディザ閾値を用いて前記閾値修正処理を行なうものとしてもよい。重複領域を設ければ、画像を重複領域のないブロックに分割した場合と比べて、誤差拡散法による誤差の拡散を広い範囲に対して行なうことができ、誤差拡散法によるハーフトーン処理をブロック毎に行なうことによる画像全体での階調誤差のズレを低減できる。
(3)こうした画像処理装置において、前記ハーフトーン処理部は、前記閾値修正処理を、前記閾値マトリクスに含まれる全ディザ閾値の最小値より大きく最大値より小さい中間値と前記各ディザ閾値との差分値を求め、前記差分値を予め定めた固定分に加減算することで行なうものとしてもよい。中間値としては、前記ディザ閾値の平均値や中央値などを用いることができる。中間値と各ディザ閾値との差分値を求めることで、ハーフトーン用閾値を中間値に対して増減することができる。なお、差分値はそのまま用いてもよいが、これに係数を乗じてから固定分に加減算してもよい。係数としては、値1未満としてもよいし、値1より大きくしてもよい。値1より小さくすれば、ハーフトーン処理部の処理結果に対する組織的ディザ法によるハーフトーン処理の結果の影響を小さくでき、値1より大きくすれば、組織的ディザ法によるハーフトーン処理の結果に一層近づけることができる。中間値は、平均値や中央値のような統計的な値ではなく、最小値より大きく最大値より小さい任意の値を採用可能である。誤差拡散法自体は、誤差を配分していくため、多値化のための閾値が最大値側あるいは最小値側にずれていても、ブロック全体での階調誤差は均されていくので、差分値を求める対象の大小を問わないからである。ハーフトーン用閾値の求め方は、複数の隣接区間において、同じ手法に拠ってもよいし、少なくとも1つの隣接区間について他の隣接区間と異なるものとしてもよい。
(4)こうした画像処理装置において、前記ハーフトーン用閾値のうちの前記固定分は、予め定めた所定値または前記画素の階調値に相関する値のいずれかとしてもよい。固定分を画像データの大きさによらない所定値とすれば、演算が容易となる。他方、固定分を画像データの大きさに対応させて定めれば、誤差拡散法において生じ得る尾引などの解消に役立つ。尾引とは、例えば階調値の高い領域から階調値がゼロに近い低い領域に切り換わるとき、蓄積された誤差が、領域の切り替わりの箇所から一定の間隔で尾を引くように発生する現象を言う。ハーフトーン用閾値の固定分を画像データの大きさに対応させると、蓄積された誤差によるドットの生成が早まり、尾引は生じ難くなる。画像データの大きさに対応させるとは、固定分を画像データの大きさに比例させるだけでなく、段階的に小中大のように切り替えるものや、マップを用いて任意の対応関係にする構成などが含まれる。こうした固定分の定め方も、複数の隣接区間において、同じ手法に拠ってもよいし、少なくとも1つの隣接区間について他の隣接区間と異なるものとしてもよい。
(5)こうした画像処理装置において、前記閾値マトリクスは、ブルーノイズまたはグリーンノイズ特性を備えるものとしてもよい。ブルーノイズ特性やグリーンノイズ特性を有する閾値マトリクスを用いれば、隣接区間でのハーフトーン処理の結果は、定周波成分の少ないドット配置となり、粒状性が目立つことがなく、画質の劣化を抑制できる。閾値マトリクスとしては、ハーフトーン処理の結果得られるドット配置の変動成分の空間周波数fが、3/ミリメートル以上であるものとしてもよい。人の目の感度は、空間周波数が低い変化に対してはと敏感であり、特に画像に関しては、1/ミリメートル程度の変化に対しては鋭敏であることが知られている。したがって、変動成分空間周波数を3/ミリメートル以上とすれば、閾値の変動成分によるハーフトーン処理結果、つまりドット配置の変動が感知されにくい。もとより、これより低い空間周波数としても、ブロック間のつなぎ目の画質劣化を抑制できるという効果は得られる。
(6)こうした画像処理装置において、前記隣接区間は、隣接する両側のブロックの主走査方向の幅を合わせた幅を有するものとしてもよい。こうすれば、ブロック内のどの場所でも、ハーフトーン用閾値を求める際に同じ手法が適用されるので、画像形成の連続性を高めることができる。
(7)こうした画像処理装置において、前記複数のハーフトーン処理部の少なくとも一部は、前記ハーフトーン処理部の他の一部が内蔵される装置とは独立に動作する別個の装置に内蔵されているものとしてもよい。ハーフトーン処理部の少なくとも一部を第1処理部、ハーフトーン処理部の他の一部を第2処理部と呼べば、第1処理部,第2処理部は、誤差拡散法を用いて画像を処理するが、つなぎ目の誤差をやり取りする必要がない。このため、第1処理部と第2処理部とを、独立に動作する別個の装置に内蔵させても、拡散すべき誤差をやり取りするための共有メモリなどの仕組みを用意する必要がない。したがって、第1処理部と第2処理部は独立に動作させることができ、別個の装置に内蔵しても動作させることができる。これは、画像の分割数が3以上になり、第3処理部、第4処理部等を設ける場合でも同様である。つまり各処理部は、必要に応じて増設することが容易な、スケーラブルな構造を有する。独立に動作する別個の装置は、専用の回線で接続してもよいし、汎用の通信回線やLANなどで、有線・無線を問わず接続するものしてもよい。あるいは、印刷用のヘッド毎に処理部を設け、印刷装置の大きさに合わせて、処理部を増設して、画像処理を行なうようにしてもよい。
(8)本開示の他の態様は、上述した画像処理装置と、前記各ハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成するドット形成部と、を備えた印刷装置として実施してもよい。この印刷装置は、印刷しようとする画像を複数のブロックに分割して処理できるので、印刷に要する時間を短くでき、また印刷された画像の品質、特に分割された画像のつなぎ目の画質劣化を抑制できる。
(9)本開示の他の態様は、印刷システムとしての態様である。この印刷システムは、画像を複数のブロックに分割する分割部と、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応する画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、前記複数のハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成する印刷部と、を備え、前記複数のハーフトーン処理部の各々は、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行ない、前記複数のハーフトーン処理部の少なくとも一部は第1装置内に設けられ、前記ハーフトーン処理部の他の一部は、前記第1装置と回線を介して接続された第2装置内に設けられている。
この印刷システムによれば、複数のハーフトーン処理部の少なくとも一部とハーフトーン処理部の他の一部とがそれぞれ誤差拡散法による画像処理を分担できるので、印刷完了までの時間の短縮と、印刷された画像の画質の劣化、特に分割された画像のつなぎ目の画質劣化の抑制とを実現できる。
(10)本開示の更に他の態様は、画像処理方法としての態様である。この画像処理方法は、2次元的に配列された複数の画素からなる画像を処理する画像処理方法であって、前記画像を複数のブロックに分割し、前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較して、誤差拡散法によるハーフトーン処理を行なう際に、前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう。こうすれば、画像処理における処理時間の短縮と分割された画像のつなぎ目の画質劣化の抑制とを図ることができる。また、複数のブロックに対する誤差拡散法による処理を独立にできるので、処理の並列化を図ることが容易であり、処理時間の短縮化と画質劣化の抑制とを両立できる。この結果、画像処理装置をスケーラブルに構成することも容易となる。
(11)上記各実施形態において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。ソフトウェアによって実現されていた構成の少なくとも一部は、ディスクリートな回路構成により実現することも可能である。また、本開示の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア(コンピュータープログラム)は、コンピューター読み取り可能な記録媒体に格納された形で提供することができる。「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスクやCD-ROMのような携帯型の記録媒体に限らず、各種のRAMやROM等のコンピューター内の内部記憶装置や、ハードディスク等のコンピューターに固定されている外部記憶装置も含んでいる。すなわち、「コンピューター読み取り可能な記録媒体」とは、データパケットを一時的ではなく固定可能な任意の記録媒体を含む広い意味を有している。
本開示は、上述の実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態中の技術的特徴は、上述の課題の一部又は全部を解決するために、あるいは、上述の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
20…プリンター、30…制御ユニット、31…入力部、32…印刷制御部、35…RAM、40…CPU、41…分割部、43…閾値出力部、45…ROM、51…第1処理部、52…第2処理部、70…キャリッジモーター、71…駆動ベルト、73…摺動軸、74…紙送りモーター、75…プラテン、77…操作パネル、80…キャリッジ、81…印刷ヘッド、82~87…インクカートリッジ、90…コンビューター(PC)、120…印刷システム、130…プリンター、131…通信部、132…第2処理部、133…閾値出力部、135…併合部、140…制御部、141…分割部、143…閾値出力部、147…通信部、151…第1処理部、160…印刷部、180…LAN、190…コンピューター(PC)
Claims (10)
- 2次元的に配列された複数の画素からなる画像を処理する画像処理装置であって、
前記画像を複数のブロックに分割する分割部と、
前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、
を備え、
前記複数のハーフトーン処理部の各々は、
前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、
前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、
前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう、
画像処理装置。 - 前記分割部は、前記画像を分割する際、隣接するブロックと重複する所定幅の重複領域を、前記各ブロックに設け、
前記ハーフトーン処理部は、前記隣接区間に含まれる前記重複領域において、前記各ブロックに含まれる前記画像の同一画素については、同一のディザ閾値を用いて前記閾値修正処理を行なう、
請求項1記載の画像処理装置。 - 前記ハーフトーン処理部は、前記閾値修正処理を、前記閾値マトリクスに含まれる全ディザ閾値の最小値より大きく最大値より小さい中間値と前記各ディザ閾値との差分値を求め、前記差分値を、予め定めた固定分に加減算することで行なう、請求項1または請求項2に記載の画像処理装置。
- 前記ハーフトーン用閾値のうちの前記固定分は、予め定めた所定値または前記画素の階調値に相関する値のいずれかである、請求項3に記載の画像処理装置。
- 前記閾値マトリクスは、ブルーノイズまたはグリーンノイズ特性を備える、請求項1から請求項4のいずれか一項に記載の画像処理装置。
- 前記隣接区間は、隣接する両側のブロックの主走査方向の幅を合わせた幅を有する、請求項1から請求項5のいずれか一項に記載の画像処理装置。
- 前記複数のハーフトーン処理部の少なくとも一部は、前記ハーフトーン処理部の他の一部が内蔵される装置とは独立に動作する別個の装置に内蔵されている、請求項1から請求項6のいずれか一項に記載の画像処理装置。
- 請求項1から請求項7のいずれか一項記載の画像処理装置と、
前記各ハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成するドット形成部と、
を備えた印刷装置。 - 画像を印刷する印刷システムであって、
前記画像を複数のブロックに分割する分割部と、
前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応する画像データを、予め用意したハーフトーン用閾値と比較することで、誤差拡散法によるハーフトーン処理を行なう複数のハーフトーン処理部と、
前記複数のハーフトーン処理部によるハーフトーン処理の結果を合わせて、印刷媒体上にドットを形成する印刷部と、
を備え、
前記複数のハーフトーン処理部の各々は、
前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、
前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、
前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行ない、
前記複数のハーフトーン処理部の少なくとも一部は第1装置内に設けられ、前記ハーフトーン処理部の他の一部は、前記第1装置と回線を介して接続された第2装置内に設けられている、
印刷システム。 - 2次元的に配列された複数の画素からなる画像を処理する画像処理方法であって、
前記画像を複数のブロックに分割し、
前記分割されたブロックに対応して設けられ、前記ブロックに含まれる各画素の階調に対応した画像データを、予め用意したハーフトーン用閾値と比較して、誤差拡散法によるハーフトーン処理を行なう際に、
前記各ブロックの、隣接するブロックとの境界を跨ぐ所定幅の隣接区間に含まれる各画素に、組織的ディザ法に用いられる閾値マトリクスを構成する各ディザ閾値を対応付け、
前記隣接区間において、前記ハーフトーン用閾値を前記ディザ閾値を用いて画素毎に修正する閾値修正処理を行ない、
前記修正されたハーフトーン用閾値を用いて、前記ハーフトーン処理を、前記ブロック毎に独立に行なう、
画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020143081A JP2022038519A (ja) | 2020-08-27 | 2020-08-27 | 画像処理装置、印刷装置、印刷システムおよび画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020143081A JP2022038519A (ja) | 2020-08-27 | 2020-08-27 | 画像処理装置、印刷装置、印刷システムおよび画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022038519A true JP2022038519A (ja) | 2022-03-10 |
Family
ID=80497943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020143081A Pending JP2022038519A (ja) | 2020-08-27 | 2020-08-27 | 画像処理装置、印刷装置、印刷システムおよび画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022038519A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11917115B1 (en) | 2023-03-10 | 2024-02-27 | Ricoh Company, Ltd. | Shift compensation mechanism |
US12075016B1 (en) | 2023-12-11 | 2024-08-27 | Ricoh Company, Ltd. | Reordered multibit halftone processing with a threshold array |
-
2020
- 2020-08-27 JP JP2020143081A patent/JP2022038519A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11917115B1 (en) | 2023-03-10 | 2024-02-27 | Ricoh Company, Ltd. | Shift compensation mechanism |
US12075016B1 (en) | 2023-12-11 | 2024-08-27 | Ricoh Company, Ltd. | Reordered multibit halftone processing with a threshold array |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6003055B2 (ja) | 印刷制御装置、および、コンピュータプログラム | |
US7874634B2 (en) | Image forming apparatus and image forming method | |
US10798266B2 (en) | Image processing apparatus, printing apparatus, and image processing method for performing halftone processing on divided images | |
JP4736766B2 (ja) | 印刷装置、印刷プログラム、印刷方法および画像処理装置、画像処理プログラム、画像処理方法、並びに前記プログラムを記録した記録媒体 | |
JP5505048B2 (ja) | 印刷装置、印刷方法、印刷データ生成プログラム | |
JP2004284279A (ja) | 画像処理装置、画像処理方法及び画像処理プログラム | |
US20080024826A1 (en) | Image processing device and printing apparatus for performing bidirectional printing | |
JP2022038519A (ja) | 画像処理装置、印刷装置、印刷システムおよび画像処理方法 | |
JP6175915B2 (ja) | 印刷装置、印刷方法、プログラム、および画像処理装置 | |
JP4419947B2 (ja) | 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法 | |
JP6252003B2 (ja) | 印刷装置、印刷方法、画像処理装置およびプログラム | |
JP4434112B2 (ja) | 印刷装置、印刷装置制御プログラム及び印刷装置制御方法 | |
US20220038602A1 (en) | Image processing apparatus and image processing method | |
US11479051B2 (en) | Image processing apparatus controlling printing according to unidirectional printing method or bidirectional printing method | |
JP2000101837A (ja) | 画像処理装置および方法並びに印刷装置 | |
US20120281243A1 (en) | Data processing system and data processing method | |
JP2007068202A (ja) | 印刷装置、印刷プログラム、印刷方法、および画像処理装置、画像処理プログラム、画像処理方法、ならびに前記プログラムを記録した記録媒体 | |
JP7491070B2 (ja) | 画像処理装置、印刷装置、印刷システムおよび画像処理方法 | |
JP2013082122A (ja) | 印刷のための制御装置および方法 | |
JP6202170B2 (ja) | 印刷データ生成装置、および、コンピュータプログラム | |
JP2006264301A (ja) | 印刷装置、印刷プログラム、印刷方法、および画像処理装置、画像処理プログラム、画像処理方法、ならびに前記プログラムを記録した記録媒体 | |
US11660877B2 (en) | Image processing apparatus, image processing method, and inkjet printing apparatus | |
JP6601225B2 (ja) | 制御装置、および、コンピュータプログラム | |
JP6298229B2 (ja) | 印刷データ生成装置、および、コンピュータプログラム | |
JP2006231902A (ja) | 印刷装置、印刷装置制御プログラム及び印刷装置制御方法、並びに印刷用データ生成装置、印刷用データ生成プログラム及び印刷用データ生成方法 |