JP5714156B2 - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP5714156B2 JP5714156B2 JP2014085938A JP2014085938A JP5714156B2 JP 5714156 B2 JP5714156 B2 JP 5714156B2 JP 2014085938 A JP2014085938 A JP 2014085938A JP 2014085938 A JP2014085938 A JP 2014085938A JP 5714156 B2 JP5714156 B2 JP 5714156B2
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- raster
- data
- image
- processing circuit
- 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.)
- Expired - Fee Related
Links
Images
Description
本発明は、画像処理装置および画像処理方法に関し、詳しくは、誤差拡散法によって画像データの量子化を行うための、回路規模の削減およびデータアクセスの高速化の技術に関するものである。 The present invention relates to an image processing apparatus and an image processing method, and more particularly to a technique for reducing circuit scale and increasing data access speed for quantizing image data by an error diffusion method.
記録装置で用いる記録データを得るための、多値の画像データをより階調数の少ないデータに変換する量子化処理として誤差拡散法による処理が知られている。誤差拡散法では、所定方向に配列する1ライン分の画素に対して、そのラインの一方の端の画素から順に他方の端の画素まで量子化処理を行う。この際、各画素において量子化によって発生する誤差は、量子化の対象である注目画素と同一ライン上の画素、およびそのラインと、上記所定方向と直交する方向において隣接するラインの画素に拡散される。1ライン分の画素の量子化が終了すると、隣接する次の1ライン分の画素に対して同様に量子化を行う。このようにして、画像データを構成する総てのラインに対して順次量子化を行う。 A process using an error diffusion method is known as a quantization process for converting multi-value image data into data having a smaller number of gradations in order to obtain print data used in the printing apparatus. In the error diffusion method, quantization processing is performed on pixels for one line arranged in a predetermined direction from a pixel at one end of the line to a pixel at the other end in order. At this time, an error caused by quantization in each pixel is diffused to a pixel on the same line as the target pixel to be quantized and a pixel adjacent to the line in a direction orthogonal to the predetermined direction. The When the quantization of the pixels for one line is completed, the quantization is similarly performed on the adjacent pixels for one line. In this way, quantization is sequentially performed on all lines constituting the image data.
この量子化では、同じラインの画素に対して拡散する誤差データは、それらの画素の量子化が行われるまで、例えば、誤差拡散を実行する回路内のバッファに保存される。また、隣接ラインの画素に拡散する誤差データは、1ライン分がまとめて回路外のメモリに格納され、その隣接ラインの量子化の際にその隣接ラインの画素の処理に合わせてメモリから読み出される。 In this quantization, error data that is diffused with respect to pixels on the same line is stored, for example, in a buffer in a circuit that performs error diffusion until the pixels are quantized. Further, error data diffused to the pixels on the adjacent line is stored in a memory outside the circuit as a whole, and is read from the memory in accordance with the processing of the pixels on the adjacent line when the adjacent line is quantized. .
ところで、近年の記録装置では、色再現性を向上させるためにより多くの種類もしくは色のインクが使用されるようになって来ている。また、記録する画像の高精細化や記録用紙が大サイズ化することによって記録装置が扱う画像データの量が従来に比べて増す傾向にもある。このため、大容量の画像データをより高速に処理することが求められており、特に、誤差拡散法による量子化処理の高速化が求められている。そして、この処理の高速化を、回路規模が増すことなく、従って、コストが増すことなく実現できることが望ましい。 By the way, in recent printing apparatuses, more types or colors of ink have been used to improve color reproducibility. In addition, the amount of image data handled by the recording apparatus tends to increase as compared with the conventional art due to the high definition of the image to be recorded and the increase in the size of the recording paper. For this reason, it is required to process a large amount of image data at a higher speed, and in particular, it is required to increase the speed of the quantization process by the error diffusion method. It is desirable that the processing speed can be increased without increasing the circuit scale, and thus without increasing the cost.
特許文献1には、誤差拡散処理のための回路におけるラインメモリについて1ライン分の画素数より少ない画素数のラインメモリを用いて誤差拡散処理を実行するための構成が記載されている。この構成によって、誤差拡散処理回路のASIC化を容易にして誤差拡散処理の高速化を図っている。
しかしながら、特許文献1に開示されるような従来の誤差拡散処理の構成では、他のラインの画素に拡散するための1ライン分の誤差データを誤差拡散回路外のメモリにおいて書き込みまた読み出すため、このメモリアクセスに比較的時間を要することになる。特に、この誤差拡散回路外のメモリがDRAMなどの比較的動作速度が遅いメモリの場合はさらに誤差データの書き込みや読み出しの時間が長くなる。さらに、インクなど記録材の種類ないし色が増した場合にはそれに応じて誤差拡散処理すべきデータが増すことから、書き込みまたは読み出す誤差データの量も多くなり、さらに誤差拡散処理の高速化が阻害されることになる。また、記録材の種類ないし色が増すことに応じて誤差拡散処理すべきデータが増すと、それに応じて誤差拡散処理回路の規模も増大するという問題も生じる。
However, in the configuration of the conventional error diffusion processing as disclosed in
本発明は、上記従来の問題を解決するためになされたものであり、誤差拡散処理回路の規模を増すことなく、誤差拡散処理を高速に行うことを可能とする画像処理装置および画像処理方法を提供することを目的とする。 The present invention has been made to solve the above-described conventional problems, and provides an image processing apparatus and an image processing method capable of performing error diffusion processing at high speed without increasing the scale of the error diffusion processing circuit. The purpose is to provide.
そのために本発明では、画像処理装置において、複数の画素で構成されるラスターを複数有する画像データに対して、誤差拡散法による量子化処理を行って記録データをラスター毎に生成する画像処理回路と、複数の画素で構成されるラスターから前記画像処理回路による量子化処理により拡散される誤差データを記憶する第1記憶手段と、複数の画素で構成されるラスターから前記画像処理回路による量子化処理により拡散される誤差データを記憶する第2記憶手段と、を有し、前記画像処理回路が量子化処理を行うラスターに拡散する誤差データを前記第2記憶手段から読み出し、前記画像処理回路により量子化処理を行い、前記画像処理回路が量子化処理をしたラスターから拡散される誤差データを前記第2記憶手段に書き込み、前記画像処理回路がラスターを所定数配列して構成される一のバンドの量子化処理を終了する場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段に書き込み、前記画像処理回路が次のバンドの量子化処理をする場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段から読み出し、前記画像処理回路は、N色分の画像データの量子化処理が可能であり、前記N色よりも多い色の画像データの画像処理を行う場合、複数回に分けて量子化処理を実行し、少なくとも第1の色群の画像データの画像処理をする第1画像処理、第2の色群の画像データの画像処理をする第2画像処理の処理順序でバンド毎に繰り返すことを特徴とする。 Therefore, according to the present invention, an image processing circuit that performs quantization processing by an error diffusion method on image data having a plurality of rasters composed of a plurality of pixels and generates recording data for each raster in an image processing apparatus. First storage means for storing error data diffused by a quantization process by the image processing circuit from a raster composed of a plurality of pixels, and a quantization process by the image processing circuit from a raster composed of a plurality of pixels A second storage means for storing error data to be diffused by the image processing circuit, reading error data to be diffused to a raster on which the image processing circuit performs a quantization process from the second storage means, and the image processing circuit The error data diffused from the raster processed by the image processing circuit is written into the second storage means, If the image processing circuit is completed quantization processing of one band formed by a predetermined number of sequences of rasters, write error data to be diffused to a raster belonging to the next band in the first storage means, the image processing circuit If but the quantization processing of the next band, and read out the error data to be diffused to a raster belonging to the next band from the first storage unit, the image processing circuit, the quantization processing of image data of the N color separation In the case of performing image processing of image data having more colors than the N colors, the quantization processing is executed in a plurality of times, and image processing of at least the first color group image data is performed. image processing, characterized by repeating Succoth per band processing order of the second image processing to the image processing of the image data of the second color group.
以上の構成によれば、生成する記録データが12色分など多量になる場合でも、誤差拡散処理回路の規模を増すことなく、誤差拡散処理を高速に行うことが可能となる。 According to the above configuration, error diffusion processing can be performed at high speed without increasing the scale of the error diffusion processing circuit even when the amount of recording data to be generated is as large as 12 colors.
以下、図面を参照して本発明の実施形態を詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
図1は、本発明の一実施形態に係るインクジェット記録装置の概略構成を示す斜視図である。図1において、記録装置100は、キャリッジ53を備える。キャリッジ53は、ガイドレール51および52によって案内され、図中の矢印Xで示される走査方向(主走査方向)に移動できるよう設けられている。そして、キャリッジ53は、記録ヘッド54を着脱自在に搭載するとともに、キャリッジモータ(不図示)の駆動力が無端ベルト等の駆動力伝達機構(不図示)によって伝達されることにより上記移動を行う。これにより、記録ヘッドの記録媒体に対する走査が可能となる。キャリッジ53に搭載された記録ヘッド54に対して、各色のインクを収納したインクタンク(不図示)からチューブを介してインクが供給される。
FIG. 1 is a perspective view showing a schematic configuration of an ink jet recording apparatus according to an embodiment of the present invention. In FIG. 1, the
本実施形態の記録ヘッド54は、インクを吐出可能なノズルを上記走査方向と交差する方向に配列したノズル列を、以下に示す12色のインクについて備えたものである。すなわち、記録ヘッド54は、シアン(C)、フォトシアン(淡シアン;LC)、マゼンタ(M)、フォトマゼンタ(淡マゼンタ;LM)、イエロー(Y)、レッド(Red)、グリーン(Gr)、ブルー(Bl)、ブラック(K)、マットブラック(MK)、グレー(Gry)、およびフォトグレー(淡グレー; LGry)のインクを吐出するためのノズル列を備えている。各ノズルからインクを吐出させるための機構として、電気熱変換体(ヒータ)や圧電効果を利用したピエゾ素子などを用いることができる。電気熱変換体を用いた場合には、電気熱変換体の発熱によってインクを発泡させ、発泡の際に生じる発泡エネルギーを利用して吐出口からインクを吐出させる。
The
記録媒体としての用紙は、ロール状に巻回されたロール紙55を記録装置100に装着し、ロール紙55から引き出されたシート端が挿入口から挿入される。シートは送りローラ56によって走査方向と直交する図中矢印Yで示される搬送方向(副走査方向)に搬送される。記録ヘッド54の走査の間に各ノズルから記録データに応じてインクを吐出する記録動作と、記録ヘッド54の走査による記録幅に対応する距離だけ記録媒体を搬送方向に搬送する搬送動作とを繰り返すことにより、記録媒体上に順次画像を記録する。本実施形態では、記録ヘッドの走査によって最大60インチ幅の記録を行うことができる。
As a recording medium, a
図2は、図1に示した本実施形態に係る記録装置の制御およびデータ処理の構成を示すブロック図である。図2に示すように、本実施形態の記録装置は、制御およびデータ処理を実行する画像形成コントロール部101、図1に主に示した記録機構であるプリンタエンジン128、および図示しない電源回路部等を有して構成される。
FIG. 2 is a block diagram showing a configuration of control and data processing of the recording apparatus according to the present embodiment shown in FIG. As shown in FIG. 2, the printing apparatus of this embodiment includes an image
画像形成コントロール部101は、パーソナルコンピュータ等のホスト装置から記録指示や記録用の画像データを受信し、受信した画像データをプリンタエンジン122で用いる2値の記録データに変換して出力する。図2に示すように、画像形成コントロール部101は、CPU102、通信インターフェース部103、操作部制御回路部104、表示部制御回路部105、RAMコントローラ106、ROMコントローラ107、および拡張バス回路部108を有している。また、画像形成コントロール部101は、画像処理部109およびプリンタエンジンインターフェース部110を備える。上述したこれらの各ブロックはそれぞれバスライン112a〜112iを介してシステムバスブリッジ111に接続されている。本実施形態では、これらの各部は、システムLSIとして1つのパッケージに封止された画像形成コントロール部ASIC(Application Specific Integrated Circuit)113として実現されるものである。さらに、画像形成コントロール部101は、操作部114、表示部115、RAM部116、ROM部118、および機能拡張ユニットを装着する拡張スロット120を備える。
The image
CPU102は、画像形成コントロール部101全体の制御を司るものである。CPU102は、ROM部118またはRAM部116に格納された制御手順を順次読み出し実行することによって、通信インターフェース部103の制御、操作部114および表示部115の制御を行う。また、CPU102は、受信した画像データを画像形成データに変換するための画像処理部109の制御や、生成された画像形成データをプリンタエンジン122へ転送するためのプリンタエンジンインターフェース部110の制御等を行う。
The
通信インターフェース部103は、パーソナルコンピュータやワークステーション等のホスト装置との間でデータの送受信を行い、ホスト装置から受信した画像データをRAMコントローラ106を介してRAM部116に格納する。通信インターフェース部103の通信方式としては、USB(Universal Serial Bus)など公知の方式を用いることができる。操作部制御回路部104は、操作部114を構成するスイッチから出力される電気信号の状態をCPU102からのリード命令に対してレジスタ情報として通知する。表示部制御回路部105は、表示部115を構成する液晶表示装置およびLEDランプに電気信号を出力する。
The
RAMコントローラ106は、RAMバス117を介して画像形成コントロール部のASIC113に接続されたRAM部116の制御を行う。すなわち、RAMコントローラ106は、CPU102および各部からの読み出し要求や書き込み要求に応じて必要な制御信号を生成してRAM部116への書き込みやRAM部116からの読み出しを実現する。ROMコントローラ107は、ROMバス119を介して画像形成コントロール部のASIC113に接続されたROM部118の制御を行う。すなわち、ROMコントローラ107は、CPU102からの読み出し要求に応じて必要な制御信号を生成して、予めROM部118に格納された制御手順やデータを読み出し、システムバスブリッジ111を介してCPU102に読み出した内容を送り返す。また、ROM部118がフラッシュメモリ等の電気的に書き換え可能なデバイスで構成される場合、ROMコントローラ107は必要な制御信号を発生してROM部118の内容を書き換える。
The
拡張バス回路部108は、拡張スロット120に装着した機能拡張ユニットを制御し、拡張バス121を介して機能拡張ユニットにデータを送信する制御および機能拡張ユニットが出力するデータを受信する制御を行う。拡張スロット120には、大容量記憶機能を提供するハードディスクドライブユニット、あるいはUSBやIEEE1394のほか、IEEE1284などに準拠した通信機能によりホスト装置と通信を行う通信ユニットなどを装着することができる。
The expansion bus circuit unit 108 controls the function expansion unit installed in the
画像処理部109は、ホスト装置から受信した画像データをプリンタエンジン122で記録可能な2値の記録データに変換する処理を行う。なお、画像処理部109の詳細な構成については図5にて後述する。
The
プリンタエンジンインターフェース部110は、画像形成コントロール部101とプリンタエンジン122との間でデータの送受信を行う。プリンタエンジンインターフェース部110は、DMAC(Direct Memory Access Controller;ダイレクトメモリアクセスコントローラ)を有している。これにより、プリンタエンジンインターフェース部110は、画像処理部109で生成されRAM部116に格納されている2値記録データを、RAMコントローラ106を介して順次読み出してプリンタエンジン122に転送することができる。なお、画像処理部109、通信インターフェース部103、および拡張バス回路部108は、プリンタエンジンインターフェース部110と同様にDMAC機能を有し、メモリアクセス要求を発行することができる。
The printer
システムバスブリッジ111は、画像形成コントロール部のASIC113を構成する各部の間を接続する機能を備えるほか、複数のブロックから同時にアクセス要求が発行された場合に、バス権を調停する機能を備えている。CPU102およびDMACを有する各ブロックがRAMコントローラ106を介してRAM部116へのアクセス要求をほぼ同時に発行する場合があり、システムバスブリッジ111は予め指定されたプライオリティーにしたがって適切に調停を行うことができる。
The
操作部114は、記録装置100の動作を設定するボタンに連動するスイッチで構成され、これらスイッチの状態を電気信号として出力する。操作部114は、記録装置100の電源のオンおよびオフを指示する電源ボタンを備える。また、操作部114には、動作モードを切り替えるオンラインボタンやメニュー画面の表示を指示するメニューボタン、メニュー画面から項目を選択するための上下左右方向の十字ボタン、および選択項目を確定するOKボタンを備えている。このほか操作部114は、記録の停止を指示するストップボタンおよび記録用紙の給紙方法を選択する給紙選択ボタンを備える。表示部115は、液晶表示装置およびLEDランプ等から構成される。液晶表示装置は、記録装置100の動作状態を表示するほか、操作部114のメニューボタンなどの操作によりメニュー画面の表示を行うことができる。LEDランプは記録装置100の動作状態の表示や警告表示を行うものである。
The
RAM部116は、同期DRAM等で構成され、CPU102が実行する制御手順の格納、画像処理部109において生成された画像データの一時的な記憶、およびCPU102のワークメモリなどの機能を提供するメモリである。ROM部118は、フラッシュメモリ等で構成され、CPU102が実行する制御手順およびプリンタ制御に必要なパラメータを格納する。
The
プリンタエンジン122は、画像形成コントロール部101から送出される2値記録データに基づいて記録媒体に画像を記録するための記録機構である。本実施形態では、プリンタエンジン122は、図1にて上述したように、インクジェット方式の記録ヘッドにより記録媒体に画像を形成するものであり、12色のインクによって、主走査方向に2400dpiの解像度で最大60インチ幅の画像を記録することができる。
The
図3(a)〜(c)は、画像処理部109で処理する画像データの画素を説明する図である。図3(a)において、小さな四角形のそれぞれは1つの画素を表しており、画像処理部109で処理する、各色の画像データは、主走査方向および副走査方向にそれぞれ配列された画素のそれぞれに濃度値が対応付けられたものである。主走査方向に並ぶ一連の画素によって構成される行をラスターと呼び、同じ画素数のラスターを所定数配列した矩形状の画素群をバンドと呼ぶ。なお、バンドを構成するラスター数やラスターを構成する画素数は、1でも複数でもどちらでもよい。
3A to 3C are diagrams illustrating pixels of image data processed by the
画像処理部109は、バンドにおける副走査方向における先頭のラスターから順に、ラスターごとに画像処理を行っていく。また、1つのラスターについては、左端側から右端側へ、または右端側から左端側へ、1画素ずつ順番に処理を行う。図3(b)および図3(c)は、1つのラスターに対する処理方向を示す図であり、図中の数字は画素ごとの処理順序をあらわしている。順方向処理の場合は図3(a)のように左端側から右端側へ順に処理を行い、逆方向処理の場合は図3(b)のように右端側から左端側へ順に処理を行う。
The
本実施形態の画像処理部は、バンドの処理に関して双方向処理と片方向処理を選択して実行することができる。双方向処理では、図4(a)に示すように、1ラスターごとに順方向処理と逆方向処理を切り替えながら画像処理を実行する。また、片方向処理では図4(b)に示すように、バンドを構成する全ラスターについて同じ方向に処理を行う。なお、双方向処理および片方向処理のいずれの場合も、逆方向処理から画像処理を開始することもできる。 The image processing unit of the present embodiment can select and execute bidirectional processing and unidirectional processing for band processing. In the bidirectional processing, as shown in FIG. 4A, image processing is executed while switching between forward processing and backward processing for each raster. Further, in the one-way processing, as shown in FIG. 4B, processing is performed in the same direction for all rasters constituting the band. Note that in both cases of bidirectional processing and unidirectional processing, image processing can be started from backward processing.
本実施形態では、上述のように画像データを構成する画素の座標が、記録媒体における記録領域に対応させて特定される。本実施形態の記録装置では、上述のように主走査方向の最大の記録領域幅は60インチである。この最大幅の記録領域の場合、記録画素は2400dpiの解像度であるから画素数は144000となる。一方、画像処理部109で処理する画像データの解像度は、後述のインデックスデータに応じて二値化処理回路で得られるドット配置パターンの2画素×2画素との関係から、1200dpiである。従って、画像データの1ラスターの画素数は、上記幅の記録領域に対応して最大72000になり、画素座標は、図3(a)左側の画素から順に0〜71999となる。バンドの左端画素および右端画素それぞれの画素座標を指定することにより、処理されるバンドの記録媒体における記録位置を指定することができる。例えば、処理するバンドの左端画素座標を18000、右端画素座標を35999にそれぞれ設定すると、このバンドは記録用紙上の左端側4分の1から用紙中央の範囲に画像が記録される。
In the present embodiment, as described above, the coordinates of the pixels constituting the image data are specified in correspondence with the recording area on the recording medium. In the recording apparatus of the present embodiment, the maximum recording area width in the main scanning direction is 60 inches as described above. In the case of this maximum width recording area, the recording pixel has a resolution of 2400 dpi, so the number of pixels is 144000. On the other hand, the resolution of the image data processed by the
画像処理部109が扱う画像データや誤差拡散処理における誤差データは、後述されるように、第1記憶メモリとしてのRAM部116や画像処理部109内の第2記憶メモリとしての誤差バッファ部が用意され、これらのメモリに格納される。画像データおよび誤差データが格納されるこれらメモリ上の位置は、画素座標0に対応するデータが格納されるべきメモリアドレス、左端画素アドレスおよび右端画素アドレスから算出することができる。この画素座標0に対応するデータが格納されるべきメモリアドレスを原点対応アドレスと呼ぶ。
Image data handled by the
図5は、画像処理部109の機能ブロックの構成および処理される画像データの形式を説明する図である。
FIG. 5 is a diagram for explaining the functional block configuration of the
画像処理部109は、図5に示すように、色変換処理回路部501、量子化処理回路部502、二値化処理回路部503、レジスタ部504、制御回路部505、および誤差バッファ部510を有している。本実施形態では、誤差バッファ部510は、SRAMによって構成する。さらに、画像処理部109は、画像データおよび誤差データを読み出す画像データリードDMAC506および誤差データリードDMAC508、それぞれのデータを書き込む画像データライトDMAC507および誤差データライトDMAC509を有している。以上の構成を有する本実施形態の画像処理部109は、上述したようにASIC113の一部を構成する回路として実現されるものである。そして、画像処理部109は、プリンタエンジン122で用いるインクの色に関して最大6色分の画像データの処理を行う回路である。すなわち、同じ画素(処理対象である注目画素)に対して、以下で説明する色変換処理回路部501、量子化処理回路部502、および二値化処理回路部503の処理をそれぞれ2回実行する。これにより、画像処理部109の回路、ひいてはこの処理部を含むASIC113の回路の規模を小さくすることができる。
As shown in FIG. 5, the
具体的には、色変換処理回路部501は、ホスト装置からの、レッド(R)、グリーン(G)、ブルー(B)それぞれ8ビットで表される色信号(0〜255のいずれかの値)からなる画像データに対して、色補正処理および色空間変換処理を行う。色補正処理では、色信号R、G、Bに対して、それぞれの色信号に対応する一次元のルックアップテーブルに補間演算を併用してガンマ補正処理を行う。次に、色空間変換処理で、1回目の処理として、色信号R、G、Bを、これらの組によって三次元のルックアップテーブルを参照し、この参照結果に補間処理を併用することにより、6色分のインク色信号C、LC、M、LM、Y、Redに変換する。これらのインク色信号はそれぞれ8ビットで表され、0〜255のいずれかの値を持つものである。
Specifically, the color conversion
そして、量子化処理回路部502は、これらの6色の色信号それぞれについて、その詳細が後述される誤差拡散法による量子化処理を行い、0〜4のいずれかの階調レベルを示す、3ビット5値のインデックスデータを出力する。そして、二値化処理回路部503は、インデックスデータに対応したドット配置パターンを適用して、1ビット2値の記録データ(画像データ)を出力する。
Then, the quantization
注目画素の画像データに対する2回目の処理では、先ず、注目画素の同じ画像データである色信号R、G、Bに対して、(色変換処理回路部501の)色補正処理を行う。この処理の結果は1回目と同じであり、色変換処理回路部501の色空間変換処理では、この同じ結果としての色信号R、G、Bに基づいて変換を行う。すなわち、同じ色補正結果としての色信号R、G、Bを、これらの色信号の組によって、三次元ルックアップテーブルを参照し、また、これに補間演算を併用して、2回目の処理に係るインク色信号Gr、Bl、K、MK、Gry、およびLGryに変換する。次に、量子化処理回路部502では、上記インク色信号Gr、Bl、K、MK、GryおよびLGryそれぞれに対して、その詳細が後述される誤差拡散処理によって量子化を行い、それぞれのインク色の5値のインデックスデータを出力する。そして、二値化処理回路部503によってインデックスデータに対応したドット配置パターンが用いられて2値の記録データが出力される。
In the second process for the image data of the target pixel, first, color correction processing (of the color conversion processing circuit unit 501) is performed on the color signals R, G, and B that are the same image data of the target pixel. The result of this process is the same as the first time, and the color space conversion process of the color conversion
このように、本実施形態では、12色のインク色信号からなる記録データを生成するのに同じ画像処理を2回繰り返す構成とする。これにより、画像処理のための回路の規模を小さくすることが可能となる。 As described above, in the present embodiment, the same image processing is repeated twice in order to generate print data including 12 ink color signals. Thereby, the scale of the circuit for image processing can be reduced.
なお、本実施形態では、画像処理における画像データを、RGBの3色の色信号からなるものとしたが、この形態に限られないことはもちろんである。例えば、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色の色信号からなるものであってもよい。また、インク色信号を最大12色とし、これに応じて画像処理回路の規模を最大6色分の処理を実行できるものとしたが、この形態に限られないことももちろんである。用いる最大の数のインク色信号に合せて、それを二またそれ以上に分割した数の処理を行う画像処理回路とすればよい。 In the present embodiment, the image data in the image processing is composed of RGB color signals. However, the present invention is not limited to this form. For example, it may be composed of four color signals of cyan (C), magenta (M), yellow (Y), and black (K). Further, the ink color signal is set to a maximum of 12 colors, and the processing of the image processing circuit corresponding to the maximum 6 colors can be executed according to this, but it goes without saying that the present invention is not limited to this form. An image processing circuit that performs processing of the number divided into two or more according to the maximum number of ink color signals to be used may be used.
図5において、レジスタ部504は、画像処理の開始を指示する画像処理起動レジスタや実行する画像処理の内容およびパラメータを指定するコマンド・パラメータレジスタ等を備えたレジスタ群から構成される。また、レジスタ部504はバンドの先頭ラスターおよび最終ラスターを処理する際の誤差データアクセスに関するパラメータを設定するレジスタを有している。制御回路部505は、画像処理部109全体の制御を行う。例えば、制御回路部505は、CPU102からの起動指示によって動作し、レジスタ部に設定されたパラメータにしたがって画像処理部109内の各機能ブロックやDMAC部に必要な制御信号を出力する。
In FIG. 5, the
また、制御回路部505は、図6(a)に示す各制御信号および図示しない制御信号を出力する。図6(a)において、「現在ラスター処理方向信号」は、処理対象となるラスターの処理方向が順方向か逆方向かを示す信号であり、順方向の場合に「1」、逆方向の場合に「0」を出力する。「先頭ラスター現示信号」は、処理対象となるラスターがバンドの先頭ラスターであるか否かを示す信号であり、先頭ラスターの場合に「1」を出力する。「最終ラスター現示信号」は、処理対象となるラスターがバンドの最終ラスターであるか否かを示す信号であり、最終ラスターの場合に「1」を出力する。「データ転送開始指示信号」は、画像データおよび誤差データのリード(読み出し)またはライト(書き込み)を行う各DMAC(506〜509)にデータ転送の開始を指示する信号であり、「1」を出力することによって転送の開始を指示する。最後に、「ラスター処理完了応答信号」は、各DMACから出力されるラスター処理の完了通知に対して返す応答信号であり、「1」を出力して通知に対する応答を返す。
The
画像データリードDMAC506は、RAM部116に格納された入力画像データを読み出すためのDMACである。また、画像データライトDMAC507は、生成された2値画像データ(記録データ)をRAM部116に格納するためのDMACである。
The image data read
誤差データリードDMAC508は、隣接ラインから拡散される誤差データを読み出すためのDMACである。詳細には、誤差データリードDMAC508は、制御回路部505からの信号に応じて、RAM部116または誤差バッファ部510のいずれかを選択しそこに記憶される1ライン分の誤差データの中から処理に係る画素に対応する誤差データを読み出す。一方、誤差データライトDMAC509は、隣接ラインに拡散するための、誤差データを書き込むためのDMACである。すなわち、誤差データライトDMAC509は、制御回路部505からの信号に応じて、RAM部116または誤差バッファ部510のいずれかを選択し、そこに1ライン分の誤差データを書き込む(格納する)ことができる。
The error data read
より詳細には、誤差データリードDMAC508および誤差データライトDMAC509は、図7(a)に示すように、アクセスするメモリのアドレスが0x00000000〜0x03FFFFFFの範囲にある場合はRAM部116へアクセスするよう制御する。また、アクセスするメモリのアドレスが0xA0000000〜0xA009FFFFの範囲にある場合は誤差バッファ部510へアクセスするよう制御する。また、各DMAC(506〜509)は、1ラスター分のデータの転送が終了すると、図6(b)に示す「ラスター処理完了通知信号」を制御回路部505に出力する。
More specifically, as shown in FIG. 7A, the error data read
レジスタ部504は、図7(b)に示すように、画像処理の開始を指示する画像処理起動レジスタ801、および量子化処理回路部502の動作モードを規定するパラメータを設定するための各レジスタを有して構成される。また、レジスタ部504は、色変換処理や二値化処理の動作モードを設定する図示しないレジスタ群を備える。量子化処理回路部502の動作モードに関連するパラメータは、バンドモードレジスタ802、処理モードレジスタ803、およびラスター数レジスタ804の各レジスタに設定する。さらに、レジスタ部504は、左端画素アドレスレジスタ805、右端画素アドレスレジスタ806、共通原点対応アドレスレジスタ807、先頭ラスター原点対応アドレスレジスタ808、および最終ラスター原点対応アドレスレジスタ809を備えている。
As shown in FIG. 7B, the
バンドモードレジスタ802は、図8(a)に示すように、バンド処理モードを指定するフィールドおよび先頭ラスターの処理方向を指定するフィールドを備えている。また、アクセス設定を行うための処理モードレジスタ803は、図8(b)に示すように、先頭ラスターに拡散する誤差データを読み出すアドレスを指定するフィールドおよび最終ラスターから拡散される誤差データを格納するアドレスを指定するフィールドを備えている。また、処理モードレジスタ803はその他の動作モードを設定するフィールドを有する。これら各レジスタに設定された内容は、レジスタ設定値信号として画像処理部109内の各部に供給され、各部が参照可能に構成されている。
As shown in FIG. 8A, the
以上の構成を有する画像処理部109による、主に誤差拡散法を用いた量子化処理について以下に説明する。先ず、画像処理部109の量子化処理回路部502は、注目画素を含むラスターの前のラスター(以下、「前ラスター」ともいう)から拡散される誤差データを読み出す。そして、読み出した誤差データを色変換処理回路部501から出力された注目画素の画像データに加算する。つまり、注目画素の画像データの階調値に、誤差データによって表現される誤差値を加算する。前ラスターからの拡散される誤差データは、このデータを記憶可能な誤差バッファ部510またはRAM部116に格納されている。そして、後述されるように、アクセス制御を行う誤差データリードDMAC508の制御に基づき、注目画素が属するラスターがどのラスターかに応じて、誤差バッファ部510またはRAM部116から誤差データを読み出す。また、量子化処理回路部502は、注目画素の画像データに対して、その画素が含まれる同一のラスター(以下、「同一ラスター」ともいう)の量子化処理が済んだ画素から拡散される誤差データも加算する。同一ラスターの画素から拡散すべき誤差データは、量子化処理回路部502内の図示しないバッファに一時的に格納される。
A quantization process mainly using the error diffusion method by the
量子化処理回路部502は、以上のようにして同一ラスターおよび前ラスターの画素からの誤差データが加算された注目画素の画像データを、その色信号ごとにしきい値と比較して量子化を行い、インデックスデータを得る。このインデックスデータは、二値化処理回路部503に送られて2値の記録データに変換され、画像データライトDMAC507によってRAM部116に格納される。また、量子化の際に発生する誤差は、同一ラスターおよび隣接ラスターの所定の画素に拡散される。
The quantization
図9は、上述のしきい値との比較によって発生する量子化誤差の拡散を説明する図である。図9において、注目画素「P」の量子化処理によって発生する誤差は、同図に示す拡散係数に従って未処理の周辺画素に拡散される。具体的には、注目画素Pと同一ラスターL1の画素AおよびBに拡散される誤差データは、量子化処理回路部502内の図示しないバッファに保存する。また、隣接ラスターL2の画素C、DおよびEに拡散される誤差データは、量子化処理回路部502内のバッファに一旦記憶されてから、同一画素に対して拡散される誤差データが全て足し合わされる。合算された誤差データは、誤差データライトDMAC509を介して、その詳細は後述されるように、注目画素が属するラスターがどのラスターかに応じて、誤差バッファ部510またはRAM部116に格納される。
FIG. 9 is a diagram for explaining the diffusion of the quantization error generated by the comparison with the above-described threshold value. In FIG. 9, the error generated by the quantization process of the target pixel “P” is diffused to the unprocessed peripheral pixels according to the diffusion coefficient shown in FIG. Specifically, the error data diffused to the pixels A and B of the same raster L1 as the target pixel P is stored in a buffer (not shown) in the quantization
詳しくは、図10(a)に示すように、注目画素Pから隣接ラスターL2の画素Xに拡散される誤差データは、以下の第1、第2、および第3の3つの誤差データを合算したものとなる。第1の誤差データは、図10(a)に示す注目画素「P」から、図9に示される画素Eの拡散係数(1/16)に従って拡散される誤差データである。第2の誤差データは、図10(b)の注目画素「Q」から、図9に示される画素Dの拡散係数(1/4)に従って拡散される誤差データである。第3の誤差データは、図10(c)の注目画素「R」から、図9に示される画素Cの拡散係数(1/8)に従って拡散される誤差データである。 Specifically, as shown in FIG. 10A, the error data diffused from the target pixel P to the pixel X of the adjacent raster L2 is the sum of the following first, second, and third error data. It will be a thing. The first error data is error data diffused from the target pixel “P” shown in FIG. 10A according to the diffusion coefficient (1/16) of the pixel E shown in FIG. The second error data is error data diffused from the target pixel “Q” of FIG. 10B according to the diffusion coefficient (1/4) of the pixel D shown in FIG. The third error data is error data diffused from the target pixel “R” in FIG. 10C according to the diffusion coefficient (1/8) of the pixel C shown in FIG.
画像処理部109は、CPU102がレジスタ部501へ制御パラメータの書き込むことによって画像処理の開始が指示されると、RAM部116に格納された入力画像データをラスターの一方端の画素から他方の端の画素まで順次読み出して、色変換処理、量子化処理および二値化処理を行う。画像処理部109は、これら一連の処理(「ラスター処理」ともいう)を繰り返し、設定されたラスター数の処理が終了すると、CPU102に対して割り込みを発行してバンド処理の完了を通知する。CPU102からの指示により、副走査方向に存在する未処理のバンドについても同様の処理を行うことにより、画像データ全体の二値化処理が行われる。二値化された画像データ(記録データ)は、順次RAM部116に格納され、プリンタエンジンインターフェース部110によってプリンタエンジン122へ送出されることにより、その記録データに基づいて記録媒体に画像が記録される。
When the
図11は、入力した画像データを最終的に二値化して出力する、上述した画像処理を行う際の制御回路部505の処理を説明するフローチャートである。CPU102がレジスタ部504の画像処理起動レジスタ801に「1」を書き込んで画像処理の開始を指示すると、レジスタ部504は、画像処理部109の各部に画像処理起動信号を出力する。制御回路部505は、レジスタ部504からの画像処理起動信号を受信すると、図11のフローチャートに従って画像処理動作を実行して二値化処理を行う。
FIG. 11 is a flowchart for explaining the processing of the
先ず、ステップS1201で、画像処理の開始に先立ち必要な初期化処理等を行う。初期化処理では、処理したラスター数を計数するための内部カウンタ(不図示)のクリア、画像処理部109内の各部への画像処理開始信号の出力等を行う。次に、ステップS1202で、ラスターごとの画像処理パラメータの更新を行う。詳しくは、処理ラスターを計数するカウンタの値およびレジスタ部に設定されたバンドモードレジスタ802の値に応じて、図6(a)に示す、「現在ラスター処理方向信号」、「先頭ラスター現示信号」、および「最終ラスター現示信号」を更新して出力する。これらの各信号は画像処理部109内の各部に供給される。
First, in step S1201, initialization processing and the like necessary before starting image processing are performed. In the initialization process, an internal counter (not shown) for counting the number of processed rasters is cleared, an image processing start signal is output to each part in the
次に、ステップS1203で、画像データリードDMAC506、画像データライトDMAC507、誤差データリードDMAC508、および誤差データライトDMAC509にラスター処理に関するデータ転送の開始を指示する。すなわち、制御回路部505は、図6(a)に示す「データ転送開始指示信号」として「1」を出力して各DMAC(506〜509)のデータ転送開始を指示する。
In step S1203, the image data read
次に、ステップS1204で、各DMAC(506〜509)からのラスター処理終了通知を受信したか否かを判断し、全DMACからのラスター処理終了通知を受信したと判断したときは、ステップS1205へ進み、また、ラスター処理終了通知を受信していないDMACが存在すると判断したときは、再びステップS1204に戻る。各DMAC(506〜509)のラスター処理終了通知を受信しているか否かは、各DMACが出力するラスター処理完了通知信号が「1」であるか否かによって判断する。 Next, in step S1204, it is determined whether or not a raster processing end notification has been received from each DMAC (506 to 509). If it is determined that a raster processing end notification has been received from all DMACs, the process advances to step S1205. If it is determined that there is a DMAC that has not received the raster processing end notification, the process returns to step S1204 again. Whether or not the raster processing end notification of each DMAC (506 to 509) is received is determined by whether or not the raster processing completion notification signal output by each DMAC is “1”.
ステップS1205では、各DMAC(506〜509)に対してラスター処理完了通知に対する応答を返し、ステップS1206へ進む。すなわち、制御回路部505は、ラスター処理完了応答信号として「1」を出力して、ラスター処理完了通知に応答する。
In step S1205, a response to the raster processing completion notification is returned to each DMAC (506 to 509), and the process proceeds to step S1206. That is, the
次に、ステップS1206で、処理ラスター数を計数する内部カウンタの内容を1漸進して、ステップS1207へ進む。ステップS1207では、ラスター数計数を行う内部カウンタで計数している処理ラスター数と、レジスタ部504におけるラスター数指定のためのラスター数レジスタ804に設定されたラスター数とを比較する(第1判断)。計数したラスター数が設定ラスター数に一致しているときは、バンド処理の終了と判断してステップS1208へ進み、計数ラスター数が設定ラスター数に到達していない場合はステップS1202に戻って再びラスター処理を繰り返す。総てのラスター処理が終了すると、ステップS1208で、バンド処理の終了処理を行い、本処理動作を終了する。本ステップでは、CPU102への割り込み信号の活性化等を行う。
Next, in step S1206, the content of the internal counter for counting the number of processed rasters is incremented by 1, and the process proceeds to step S1207. In step S1207, the number of processing rasters counted by the internal counter for counting the number of rasters is compared with the number of rasters set in the
本実施形態では、図11のフローチャートに従った処理をハードウエア記述言語(Hardware Description Language;HDL)によって記述し、これに基づき論理合成を行うことにより、本画像処理動作の実行が可能な論理回路を生成する。そして、この論理合成によって生成された論理回路が制御回路部を構成することになる。 In the present embodiment, the processing according to the flowchart of FIG. 11 is described in a hardware description language (HDL), and a logic circuit capable of executing the image processing operation by performing logic synthesis based on the description. Is generated. The logic circuit generated by this logic synthesis constitutes the control circuit unit.
次に、図12および図13を参照して、誤差データリードDMAC508および誤差データライトDMAC509の処理手順について説明する。これらの処理は、図11のステップS1203の処理によって起動される処理である。
Next, processing procedures of the error data read
先ず、誤差データリードDMAC508は、図12のステップS1301で、制御回路部505からデータ転送の開始を指示されているか否かを判断し、データ転送の開始を指示されている場合はステップS1302へ進む。一方、データ転送の開始を指示されていない場合は再びステップS1301へ戻る。制御回路部505からのデータ転送の開始が指示されているか否かは、データ転送開始指示信号が「1」であるか否かによって判断する。
First, the error data read
次に、誤差データリードDMAC508はステップS1302で、処理ラスターが先頭ラスターであり、かつ先頭ラスター用のアドレスを使用するかどうかを判断し(第2判断)、条件に該当する場合はステップS1303へ進み、該当しない場合はステップS1304へ進む。制御回路部505が出力する先頭ラスター現時信号が「1」であり、レジスタ部504が出力する先頭ラスター使用アドレス信号が「1」の場合に、条件に該当すると判断する。すなわち、先頭ラスター使用アドレス信号が「1」の場合とは、図8(b)に示す「先頭ラスター原点対応アドレスを使用」が「1」であり、「共通原点対応アドレスを使用」が「0」の場合である。これは、誤差データの読みだしをRAM116において行うことを有効にする設定である。これに対し、上記条件に該当しない場合として、先頭ラスター現時信号が「1」で、先頭ラスター使用アドレス信号が「0」の場合がある。この場合は、上記「先頭ラスター原点対応アドレスを使用」が「0」であり、「共通原点対応アドレスを使用」が「1」の場合である。これは、以下で説明する上記の条件に該当する場合の処理とは異なり、先頭ラスターの処理であるにもかかわらず、誤差データの読みだしをRAM116において行うことを無効にする設定である。例えば、4色のインクを用いて記録を行うモードの場合は、本実施形態の最大6色分の処理が可能な回路では、1回の処理で一連の画像処理を行い2値の記録データを得ることができる。従って、先頭ラスターや先頭ラスターの1ライン分の誤差データは4色分として、回路内の誤差バッファ510に格納することができる。このため、先頭ラスターの処理であるにもかかわらず、誤差データの読み出しをRAM116において行うことなく、誤差バッファ510で行うようにする。これは、図13にて後述する、最終ラスターの処理における誤差データの書き込みの場合も同様である。
Next, in step S1302, the error data read
図12を再び参照すると、次に、ステップS1303では、誤差データリードDMAC508は、先頭ラスター原点対応アドレスを使用して読み出し元アドレスを算出し、ステップS1305へ進む。このとき、処理方向が順方向の場合はレジスタ部504に設定された左端画素アドレスからメモリアドレスを算出し、処理方向が逆方向の場合はレジスタ部504に設定された右端画素アドレスからメモリアドレスを算出する。また、制御回路部505が出力する現在ラスター処理方向信号によって、処理ラスターの処理方向を取得する。
Referring to FIG. 12 again, next, in step S1303, the error data read
一方、ステップS1304では、誤差データリードDMAC508は、共通原点対応アドレスを使用して読み出し元アドレスを算出し、ステップS1305へ進む。このときもステップS1303と同様に、処理方向に応じて左端画素アドレスまたは右端画素アドレスを使用してメモリアドレスを算出する。
On the other hand, in step S1304, the error data read
次に、誤差データリードDMAC508は、ステップS1305で、ラスター処理に関する他の初期化処理を行い、読み出し元メモリアドレス以外のパラメータを特定する。また、誤差データリードDMAC508は、処理画素数を計数する誤差データリードDMAC508内のカウンタ(不図示)をクリアする。
Next, in step S1305, the error data read
次に、誤差データリードDMAC508はステップS1306で、読み出しメモリアドレスから誤差データを読み出し、誤差データリードDMAC508内のバッファ(不図示)に格納するとともに、読み出しメモリアドレスを更新する。ここで、処理ラスターが順方向の場合は増加方向に、処理ラスターが逆方向の場合は減少方向にアドレスが更新される。
In step S1306, the error data read
誤差データリードDMAC508はステップS1307で、ステップS1306の処理でバッファに格納した誤差データを1画素ごとに量子化処理回路部502に出力する。また、処理画素数を計数する内部カウンタの内容を1漸進してステップS1308へ進む。
In step S1307, the error data read
ステップS1308では、内部カウンタで計数している処理画素数が1ラスターの画素数に到達しているか否かを判断し、到達している場合はステップS1309へ進み、到達していない場合はステップS1306へ戻って誤差データの読み出しを継続する。なお、1ラスターの画素数は、右端画素アドレスと左端画素アドレスの差に1加算した値として算出する。 In step S1308, it is determined whether or not the number of processed pixels counted by the internal counter has reached the number of pixels of one raster. If reached, the process proceeds to step S1309, and if not, step S1306 is determined. Return to, and continue reading error data. The number of pixels in one raster is calculated as a value obtained by adding 1 to the difference between the right end pixel address and the left end pixel address.
1ラスター分の画素数分の誤差データを読み出すと、誤差データリードDMAC508はステップS1309で、制御回路部505に対してラスター処理の完了を通知して、ステップS1310へ進む。すなわち、誤差データリードDMAC508は、ラスター処理完了通知信号として「1」を出力してラスター処理の完了を通知する。
When the error data corresponding to the number of pixels for one raster is read, the error data read
次に、誤差データリードDMAC508はステップS1310で、制御回路部505からラスター処理の完了通知に対する応答が返されているか否かを判断し、応答がある場合はステップS1311へ進み、応答がない場合はステップS1310へ戻る。制御回路部505からの応答が返されているか否かは、ラスター処理完了応答信号が「1」であるか否かによって判断する。
In step S1310, the error data read
ステップS1311で、誤差データリードDMAC508は、処理したラスターがバンドの最終ラスターか否かを判断し、最終ラスターの場合は本処理動作を終了し、最終ラスターでない場合はステップS1301へ戻って後続ラスターの処理を継続する。
In step S1311, the error data read
一方、誤差データライトDMAC509は、図13のステップS1401で、制御回路部505からデータ転送の開始を指示されているか否かを判断し、データ転送の開始を指示されている場合はステップS1402へ進み、データ転送の開始を指示されていない場合はステップS1401へ戻る。制御回路部505からのデータ転送の開始が指示されているか否かは、データ転送開始指示信号が「1」であるか否かによって判断する。次に、誤差データライトDMAC509はステップS1402で、処理ラスターが最終ラスターであり、かつ最終ラスター用のアドレスを使用するかどうかを判断し、条件に該当する場合はステップS1403へ進み、該当しない場合はステップS1404へ進む。制御回路部505が出力する最終ラスター現時信号が「1」であり、レジスタ部504が出力する最終ラスター使用アドレス信号が「1」の場合に、条件に該当すると判断する。
On the other hand, the error data write
ステップS1403で、誤差データライトDMAC509は、最終ラスター原点対応アドレスを使用して書き込み先アドレスを算出し、ステップS1405へ進む。このとき、処理方向が順方向の場合はレジスタ部504に設定された左端画素アドレスからメモリアドレスを算出し、処理方向が逆方向の場合はレジスタ部504に設定された右端画素アドレスからメモリアドレスを算出する。また、制御回路部505が出力する現在ラスター処理方向信号によって、処理ラスターの処理方向を取得する。
In step S1403, the error data write
一方、ステップS1404では、誤差データライトDMAC509は、共通原点対応アドレスを使用して書き込み左記アドレスを算出し、ステップS1405へ進む。このときもステップS1403と同様に、処理方向に応じて左端画素アドレスまたは右端画素アドレスを使用してメモリアドレスを算出する。
On the other hand, in step S1404, the error data write
次に、誤差データライトDMAC509はステップS1405で、ラスター処理に関する他の初期化処理を行い、書き込み先メモリアドレス以外のパラメータを特定する。また、誤差データライトDMAC509は、処理画素数を計数する誤差データライトDMAC509内のカウンタ(不図示)をクリアする。次に、誤差データライトDMAC509はステップS1406で、量子化処理回路部から出力される1画素分の誤差データを、誤差データライトDMAC509内のバッファ(不図示)に書き込む(格納)する。また、処理画素数を計数する図示しない内部カウンタを1漸進してステップS1407へ進む。
Next, in step S1405, the error data write
次に、誤差データライトDMAC509はステップS1407で、ステップS1406の処理でバッファに格納した誤差データを書き込みメモリアドレスへ書き込むとともに、書き込みメモリアドレスを更新する。処理ラスターが順方向の場合は増加方向に、処理ラスターが逆方向の場合は減少方向にアドレスが更新される。
In step S1407, the error data write
ステップS1408では、内部カウンタで計数している処理画素数が1ラスターの画素数に到達しているか否かを判断し、到達している場合はステップS1409へ進み、到達していない場合はステップS1406へ戻って誤差データの書き込みを継続する。なお、1ラスターの画素数は、右端画素アドレスと左端画素アドレスの差に1加算した値として算出する。 In step S1408, it is determined whether or not the number of processed pixels counted by the internal counter has reached the number of pixels of one raster. If reached, the process proceeds to step S1409, and if not, step S1406 is determined. Go back to and continue writing error data. The number of pixels in one raster is calculated as a value obtained by adding 1 to the difference between the right end pixel address and the left end pixel address.
1ラスターの画素数分の誤差データを書き込むと、誤差データライトDMAC509はステップS1409で、制御回路部505に対してラスター処理の完了を通知して、ステップS1410へ進む。すなわち、誤差データライトDMAC509は、ラスター処理完了通知信号に「1」を出力してラスター処理の完了を通知する。
When the error data for the number of pixels of one raster is written, the error data write
次に、誤差データライトDMAC509はステップS1410で、制御回路部505からラスター処理の完了通知に対する応答が返されているか否かを判断し、応答がある場合はステップS1411へ進み、応答がない場合はステップS1410へ戻る。制御回路部505からの応答が返されているか否かは、ラスター処理完了応答信号が「1」であるか否かによって判断する。ステップS1411で、誤差データライトDMAC509は、処理したラスターがバンドの最終ラスターかどうかを判断し、最終ラスターの場合は本処理動作を終了し、最終ラスターでない場合はステップS1401へ戻って後続のラスター処理を継続する。
In step S1410, the error data write
本実施形態では、図12および図13に示したフローチャートに従う処理をハードウエア記述言語によってそれぞれ記述し、論理合成を行うことにより、それぞれの画像処理動作の実行が可能な誤差データリードDMACおよび誤差データライトDMACを生成する。すなわち、この論理合成によって生成された論理回路がそれぞれ誤差データリードDMAC部および誤差データライトDMAC部を構成する。 In this embodiment, error data read DMAC and error data that can execute each image processing operation by describing the processing according to the flowcharts shown in FIGS. 12 and 13 in the hardware description language and performing logic synthesis. A write DMAC is generated. That is, the logic circuits generated by this logic synthesis constitute an error data read DMAC unit and an error data write DMAC unit, respectively.
図14は、以上説明した本実施形態に係る記録装置における、12色のインク色の記録データを生成するための処理を、特に誤差拡散による量子化を説明するフローチャートである。本処理は、上述したように、同一の入力画像データに対して画像処理を二度行い12色分の記録データを得るものである。 FIG. 14 is a flowchart for explaining processing for generating print data of 12 ink colors, particularly quantization by error diffusion, in the printing apparatus according to the present embodiment described above. In this process, as described above, the same input image data is subjected to image processing twice to obtain recording data for 12 colors.
図14において、最初に、ステップS1501で、CPU102は、前半で処理する6色分の画像処理に対応するレジスタを設定する。すなわち、図15(a)に示す各設定値を画像処理部109のレジスタ部504に設定する。
In FIG. 14, first, in step S1501, the
次に、CPU102はステップS1502で、レジスタ部504の画像処理起動レジスタ801に値「1」をライトして、画像処理を起動する。本ステップの処理によって画像処理部109は、図5およびそれ以降の図を参照して上述したようにして、前半6色分の1バンドの画像処理を実行し、2値の記録データを生成する。
Next, in step S1502, the
ステップS1503では、前半で処理する6色分の画像処理が終了するのを待機する。この画像処理の終了は、画像処理部109が、図11のステップS1208の処理で発行する割り込み通知により判断することができる。
In step S1503, the process waits for completion of image processing for the six colors processed in the first half. The end of the image processing can be determined by an interrupt notification issued by the
前半6色分の画像処理が終了して割り込み通知を受信すると、ステップS1504でCPU102は、後半で処理する6色分の画像処理に対応するレジスタを設定する。すなわち、図15(b)に示す各設定値を画像処理部109のレジスタ部504に設定する。
When the image processing for the first six colors is completed and an interrupt notification is received, the
次に、ステップS1505では、上述のステップS1502の処理と同様にレジスタ部504の画像処理起動レジスタ801に値「1」を書き込んで画像処理を起動する。本ステップの処理により画像処理部は後半6色分の1バンド分の画像処理を実行して2値の記録データを生成する。そして、ステップS1506でCPU102は、後半で処理する6色分の画像処理が終了するのを待機する。画像処理の終了は、画像処理部109が、ステップS1208の処理において発行する割り込み通知により判断する。
In step S1505, the value “1” is written in the image
後半6色分の処理が終了すると、ステップS1507でCPU102は、全画像データの処理が完了したか否かを判断する。未処理の画像データが残っている場合は、ステップS1501に戻って処理を継続し、全画像データの処理が完了している場合は、本処理を終了する。
When the processing for the last six colors is completed, in step S1507, the
以上の記録データ生成において、図15(a)に示す各設定値をレジスタ部504に設定することにより、先頭ラスターの処理では、先頭ラスター原点対応アドレス808に設定されたアドレス0x01200000で示されるRAM部116から誤差データの読み込みを行う。ここには、先行処理したバンドの最終ラスターから拡散される誤差データのうち前半6色分の誤差データが格納されている。また、64番目のラスターが最終ラスターとなり、このラスターでは、最終ラスター原点対応アドレスレジスタ809に設定されたアドレス0x12000000で示されるRAM部116への誤差データ書き込みを行う。この誤差データは、後続するバンドの前半6色を処理する際に、その後続バンドの先頭ラスターに拡散される誤差データとして使用される。一方、2番目のラスターから63番目のラスターまでの中間ラスターでは、共通原点対応アドレスレジスタ807に設定されたアドレス0xA0000000で示される誤差バッファ部510に対して、誤差データのリードおよびライトが行われる。
In the above recording data generation, by setting each set value shown in FIG. 15A in the
また、図15(b)の各設定値をレジスタ部504に設定する後半の6色の画像処理では、同様に先頭ラスターの誤差データ読み込みおよび最終ラスターの誤差データ書き込みはRAM部116に対して実行される。また、上記先頭および最終ラスター以外の中間のラスターでは、前半6色の場合と同様、画像処理部の誤差バッファ部510が誤差データの格納領域として使用される。
Further, in the latter half of the six-color image processing in which the setting values shown in FIG. 15B are set in the
以上説明したように、本実施形態に係る誤差拡散による量子化では、6色分の量子化処理を実行する画像処理回路を二度動作させることにより12色分の二値化画像データを得る。この際、先頭ラスターに拡散する誤差データおよび最終ラスターから拡散される誤差データについては、動作速度が比較的遅いDRAM等で構成されるRAM部116にアクセスする。一方、それ以外の誤差データについては、画像処理回路内の動作速度の速い、すなわちアクセスの時間が短いSRAMで構成される誤差バッファ部510にアクセスする。
As described above, in quantization by error diffusion according to the present embodiment, binarized image data for 12 colors is obtained by operating an image processing circuit that executes quantization processing for 6 colors twice. At this time, the error data diffused from the first raster and the error data diffused from the final raster are accessed to the
これにより、各ラスターの1ライン分の誤差データを読み出し、また、書き込む場合に、比較的動作速度が遅いRAM部116にアクセスするラスターを先頭および最終ラスターのみとすることができる。その結果、誤差データの読み出し、書き込みのためのメモリアクセス速度を全体として向上させることができる。すなわち、同じ画像処理を複数実行するようにして、その処理回路の規模を小さくした場合、誤差バッファ部のような回路内のメモリも、上例の6色分のように、複数回に分割して処理されるデータ量に見合った容量となる。このため、例えば、前半6色分から後半6色分に処理が移るときに、その前後の計12色分の誤差データを誤差バッファ部に同時に格納できず、RAM部116のような処理回路外の他のメモリを利用する。この際、本実施形態では、この他のメモリへのアクセスを先頭および最終ラスターのみとすることにより、このメモリにアクセスすることによる速度の低下をできるだけ抑制することができる。
As a result, when the error data for one line of each raster is read or written, the raster that accesses the
この結果、生成する記録データが12色分など多量になる場合でも、誤差拡散処理回路の規模を増すことなく、誤差拡散処理を高速に行うことが可能となる。 As a result, even when a large amount of recording data is generated, such as 12 colors, the error diffusion processing can be performed at high speed without increasing the scale of the error diffusion processing circuit.
(他の実施形態)
上述の実施形態では、画像データを多値誤差拡散方式による量子化とドット配置パターンとを組み合わせることによって二値の記録データを生成する場合について説明した。しかし、本発明はこれに限定されるものではなく、量子化処理によって直接二値化する二値誤差拡散方式を採用した記録装置においても本発明を構成できることはもちろんである。
(Other embodiments)
In the above-described embodiment, a case has been described in which binary print data is generated by combining image data quantization with a multi-value error diffusion method and a dot arrangement pattern. However, the present invention is not limited to this, and it is needless to say that the present invention can also be configured in a recording apparatus that employs a binary error diffusion system that directly binarizes by quantization processing.
また、上述の実施形態では、CPUおよび各回路ブロックが一つのパッケージに封止されたシステムLSIとして構成される場合について説明した。しかし、本発明はこれに限定されるものではなく、一部の回路ブロックまたは全部の回路ブロックをそれぞれ個別のIC等によって構成することもできる。 In the above-described embodiment, the case where the CPU and each circuit block are configured as a system LSI sealed in one package has been described. However, the present invention is not limited to this, and some or all of the circuit blocks can be configured by individual ICs or the like.
また、上述の実施形態では、ハードウエア記述言語により記述した内容を論理合成して論理回路を生成し、その論理回路によって量子化処理を行う場合について説明したが、本発明はこれに限定されるものではない。上述した実施形態の機能を実現するソフトウエアのプログラムを記憶した記憶媒体を装置に供給し、その装置やコンピュータのCPUが記憶媒体に格納されたプログラムを読み出して実行することによって、量子化処理を行う場合も本発明に含まれる。この場合には、記憶媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムのプログラムコードの指示に基づき、コンピュータ上にて稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も本発明に含まれる。 In the above-described embodiment, the case has been described in which the logic circuit is generated by logically synthesizing the contents described in the hardware description language, and the quantization process is performed by the logic circuit, but the present invention is limited to this. It is not a thing. The storage medium storing the software program for realizing the functions of the above-described embodiments is supplied to the apparatus, and the CPU of the apparatus or computer reads out and executes the program stored in the storage medium, thereby performing the quantization process. This is also included in the present invention. In this case, the program itself read from the storage medium realizes the functions of the above-described embodiments, and the storage medium storing the program constitutes the present invention. Further, based on the instruction of the program code of the program read by the computer, the OS running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing. Cases are also included in the present invention.
(さらに他の実施形態)
本発明は、各画素の階調を表現する画像データを量子化処理するための方式として、注目画素の誤差データをその注目画素の周辺の周辺画素に分散させる誤差拡散方式を用いる画像処理装置、および画像処理方法としても適用可能である。その画像処理装置は、前述した実施形態のように記録装置100に一体的に組み込まれる他、ホスト装置において構成することができる。
(Still another embodiment)
The present invention relates to an image processing apparatus that uses an error diffusion method in which error data of a pixel of interest is distributed to peripheral pixels around the pixel of interest, as a method for quantizing image data representing the gradation of each pixel, It can also be applied as an image processing method. The image processing apparatus can be configured in the host apparatus in addition to being integrated into the
また、本発明は、量子化処理した画像データに基づいて画像を記録するための記録方式について、限定するものではない。したがって、その記録方式は、前述したインクジェット記録方式以外の記録方式であってもよく、また、その記録方式を実現する記録装置の構成も限定されない。 Further, the present invention does not limit the recording method for recording an image based on the quantized image data. Therefore, the recording method may be a recording method other than the ink jet recording method described above, and the configuration of the recording apparatus that realizes the recording method is not limited.
100 記録装置
102 CPU
109 画像処理部
113 画像形成コントロール部ASIC
116 RAM部
118 ROM部
501 色変換処理回路部
502 量子化処理回路部
503 二値化処理回路部
504 レジスタ部
505 制御回路部
508 誤差データリードDMAC
509 誤差データライトDMAC
510 誤差バッファ部
100
109
116
509 Error data write DMAC
510 Error buffer
Claims (13)
複数の画素で構成されるラスターから前記画像処理回路による量子化処理により拡散される誤差データを記憶する第1記憶手段と、
複数の画素で構成されるラスターから前記画像処理回路による量子化処理により拡散される誤差データを記憶する第2記憶手段と、
を有し、
前記画像処理回路が量子化処理を行うラスターに拡散する誤差データを前記第2記憶手段から読み出し、前記画像処理回路により量子化処理を行い、
前記画像処理回路が量子化処理をしたラスターから拡散される誤差データを前記第2記憶手段に書き込み、
前記画像処理回路がラスターを所定数配列して構成される一のバンドの量子化処理を終了する場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段に書き込み、
前記画像処理回路が次のバンドの量子化処理をする場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段から読み出し、
前記画像処理回路は、N色分の画像データの量子化処理が可能であり、前記N色よりも多い色の画像データの画像処理を行う場合、複数回に分けて量子化処理を実行し、少なくとも第1の色群の画像データの画像処理をする第1画像処理、第2の色群の画像データの画像処理をする第2画像処理の処理順序でバンド毎に繰り返すことを特徴とする画像処理装置。 An image processing circuit for generating recording data for each raster by performing a quantization process by an error diffusion method on image data having a plurality of rasters composed of a plurality of pixels;
First storage means for storing error data diffused by a quantization process by the image processing circuit from a raster composed of a plurality of pixels;
Second storage means for storing error data diffused by a quantization process by the image processing circuit from a raster composed of a plurality of pixels;
Have
The error processing diffused to the raster for the quantization processing by the image processing circuit is read from the second storage means, the quantization processing is performed by the image processing circuit,
Write error data diffused from the raster processed by the image processing circuit to the second storage means,
When the image processing circuit finishes the quantization processing of one band configured by arranging a predetermined number of rasters, error data diffused to the raster belonging to the next band is written to the first storage means,
If the image processing circuit to the quantization processing of the next band, and read out the error data to be diffused to a raster belonging to the next band from the first storage means,
The image processing circuit is capable of quantizing image data for N colors, and when performing image processing of image data with more colors than the N colors, the quantization processing is performed in a plurality of times, and wherein at least a first of the first image processing for the image processing of the image data of the color group, Succoth repeated every band in processing order of the second image processing to the image processing of the image data of the second color group An image processing apparatus.
前記第1判定手段により量子化処理を行う画素が属するラスターが最終ラスターであると判定された場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段に書き込むことを特徴とする請求項1〜7のいずれか1項に記載の画像処理装置。 The image processing circuit further comprises first determination means for determining whether the raster on which quantization processing is performed is the final raster of each band,
When it is determined by the first determination means that the raster to which the pixel to be quantized belongs is the final raster, error data diffused to the raster belonging to the next band is written to the first storage means. The image processing apparatus according to claim 1.
前記第2判定手段により量子化処理を行う画素が属するラスターが先頭ラスターであると判定された場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段から読み出すことを特徴とする請求項1〜8のいずれか1項に記載の画像処理装置。 The image processing circuit further comprises second determination means for determining whether the raster on which the quantization processing is performed is a leading raster of each band;
When the second determination means determines that the raster to which the pixel to be quantized belongs is the first raster, the error data diffused to the raster belonging to the next band is read from the first storage means. The image processing apparatus according to claim 1.
前記画像処理回路は、前記第3判定手段により判定された処理方向に応じて、各ラスターの量子化処理を行うことを特徴とする請求項1〜9のいずれか1項に記載の画像処理装置。 The image processing circuit further comprises third determination means for determining a processing direction of a raster for performing quantization processing,
The image processing apparatus according to claim 1, wherein the image processing circuit performs quantization processing of each raster according to a processing direction determined by the third determination unit. .
前記画像処理回路が量子化処理をしたラスターから拡散される誤差データを前記第2記憶手段に書き込む工程と、
前記画像処理回路が量子化処理を行うラスターに拡散する誤差データを前記第2記憶手段から読み出し、前記画像処理回路により量子化処理を行う工程と、
前記画像処理回路がラスターを所定数配列して構成される一のバンドの量子化処理を終了する場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段に書き込む工程と、
前記画像処理回路が次のバンドの量子化処理をする場合、次のバンドに属するラスターに拡散する誤差データを前記第1記憶手段から読み出す工程と、
を備え、
前記画像処理回路は、N色分の画像データの量子化処理が可能であり、前記N色よりも多い色の画像データの画像処理を行う場合、複数回に分けて量子化処理を実行し、少なくとも第1の色群の画像データの画像処理をする第1画像処理、第2の色群の画像データの画像処理をする第2画像処理の処理順序でバンド毎に繰り返すことを特徴とする画像処理方法。 From the image processing circuit that generates the recording data for each raster by performing the quantization process by the error diffusion method on the image data having a plurality of rasters composed of a plurality of pixels, and the raster composed of a plurality of pixels First storage means for storing error data diffused by quantization processing by the image processing circuit; and second storage for storing error data diffused by quantization processing by the image processing circuit from a raster composed of a plurality of pixels. An image processing method in an image processing apparatus having storage means,
Writing error data diffused from the raster processed by the image processing circuit into the second storage means;
A step of reading from the second storage means error data that is diffused to a raster on which the image processing circuit performs quantization processing, and performing the quantization processing by the image processing circuit;
When the image processing circuit finishes the quantization processing of one band configured by arranging a predetermined number of rasters, writing error data diffused to the raster belonging to the next band to the first storage means;
When the image processing circuit performs quantization processing of the next band, reading error data that diffuses to a raster belonging to the next band from the first storage unit;
With
The image processing circuit is capable of quantizing image data for N colors, and when performing image processing of image data with more colors than the N colors, the quantization processing is performed in a plurality of times, An image characterized by being repeated for each band in a processing order of at least a first image processing for image processing of image data of the first color group and a second image processing for image processing of image data of the second color group. Processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014085938A JP5714156B2 (en) | 2014-04-17 | 2014-04-17 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014085938A JP5714156B2 (en) | 2014-04-17 | 2014-04-17 | Image processing apparatus and image processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010116453A Division JP5528209B2 (en) | 2010-05-20 | 2010-05-20 | Image processing apparatus and image processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014132799A JP2014132799A (en) | 2014-07-17 |
JP5714156B2 true JP5714156B2 (en) | 2015-05-07 |
Family
ID=51411640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014085938A Expired - Fee Related JP5714156B2 (en) | 2014-04-17 | 2014-04-17 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5714156B2 (en) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06266324A (en) * | 1993-03-10 | 1994-09-22 | Canon Inc | Method and device for image processing |
JP3106033B2 (en) * | 1993-05-25 | 2000-11-06 | キヤノン株式会社 | Display control device |
JPH1093819A (en) * | 1996-09-12 | 1998-04-10 | Canon Inc | Picture processor |
US5974228A (en) * | 1997-01-28 | 1999-10-26 | Hewlett-Packard Company | Image rendition by plural-row error diffusion, for faster operation and smaller integrated circuits |
JP3963598B2 (en) * | 1998-10-14 | 2007-08-22 | セイコーエプソン株式会社 | Image processing apparatus, processing method, and recording medium |
JP2002094785A (en) * | 2000-09-20 | 2002-03-29 | Canon Inc | Image processing unit, image processing method, and storage medium |
JP3661624B2 (en) * | 2000-10-06 | 2005-06-15 | セイコーエプソン株式会社 | Image processing device |
JP4544142B2 (en) * | 2005-11-18 | 2010-09-15 | セイコーエプソン株式会社 | Image processing device, printer driver, printing system, program |
-
2014
- 2014-04-17 JP JP2014085938A patent/JP5714156B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014132799A (en) | 2014-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008147883A (en) | Image processor, recorder, image processing method, program and storage medium | |
US9672450B2 (en) | Image recording apparatus and control method therefor | |
US9135540B2 (en) | Image processing apparatus, image processing method, and program for processing black characters at high resolution | |
JP5528209B2 (en) | Image processing apparatus and image processing method | |
JP2010035112A (en) | Image processing apparatus and method | |
JP2011095807A (en) | Image processing apparatus and image processing method | |
JP2008142901A (en) | Image formation controller and control method of image formation controller | |
JP5714156B2 (en) | Image processing apparatus and image processing method | |
RU2433450C1 (en) | Recording device and processing method executed by recording device | |
JP2007142797A (en) | Image processor, printer driver, printing system, and program | |
JP5929128B2 (en) | Printing device | |
JP2007136845A (en) | Printing system, image processor, printer driver, and program | |
JP4461890B2 (en) | Printing device | |
JP2012142849A (en) | Image processing device, recording device, and image processing method | |
JP2005007800A (en) | System for printing image based on information of the number of dots formed in specified region | |
US7554691B2 (en) | Printer for printing an image according to presence/absence of dot formation and printing control device thereof | |
JP4544142B2 (en) | Image processing device, printer driver, printing system, program | |
JP2005305832A (en) | Printer | |
JP6091071B2 (en) | Data decoding device | |
JP2006229428A (en) | Image-formation controller, quantization method and printer device | |
JP2005354421A (en) | Color space conversion device, color space conversion method, and image forming controller | |
JP2005117559A (en) | Image reading apparatus, printer, and reading method of image data | |
JP2010000726A (en) | Image processing apparatus, recording apparatus, and image processing method | |
JP2004199118A (en) | Printing system for printing while performing image processing by sharing image processing between image processor and printer | |
JP2010011304A (en) | Image processing apparatus, image processing method, image processing program, and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150126 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150310 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5714156 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |