JP4867452B2 - Image processing apparatus and printing apparatus - Google Patents
Image processing apparatus and printing apparatus Download PDFInfo
- Publication number
- JP4867452B2 JP4867452B2 JP2006116490A JP2006116490A JP4867452B2 JP 4867452 B2 JP4867452 B2 JP 4867452B2 JP 2006116490 A JP2006116490 A JP 2006116490A JP 2006116490 A JP2006116490 A JP 2006116490A JP 4867452 B2 JP4867452 B2 JP 4867452B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory access
- bus
- processor
- memory
- 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
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Color Image Communication Systems (AREA)
- Image Processing (AREA)
Description
本発明は、画像処理装置、印刷装置および画像処理方法に関するものである。 The present invention relates to an image processing apparatus, a printing apparatus, and an image processing method.
複数のプロセッサを使用し並列処理により画像処理を行う装置が提案されている(例え
ば特許文献1参照)。
An apparatus that performs image processing by parallel processing using a plurality of processors has been proposed (see, for example, Patent Document 1).
通常、プロセッサから、プロセッサの外部にあるRAM(ランダムアクセスメモリ)に
アクセスする場合、プロセッサの1命令あたりの所要時間に対比して大きなレイテンシが
発生する。それに起因して、メモリアクセス命令に基づき外部RAMに対するアクセス要
求が発行されてからアクセス処理が完了するまでの期間、プロセッサはストールし次の処
理に進まない。したがって、共有メモリ型の装置の場合には、外部RAMに接続するバス
が複数のプロセッサに対して共通であるため、1プロセッサの場合に比べ、プロセッサが
多いほど、レイテンシが増大する傾向にある。
Normally, when accessing a RAM (Random Access Memory) outside the processor from the processor, a large latency is generated in comparison with the required time per instruction of the processor. As a result, the processor stalls and does not proceed to the next process after the access request to the external RAM is issued based on the memory access instruction until the access process is completed. Therefore, in the case of a shared memory type device, the bus connected to the external RAM is common to a plurality of processors, so that the number of processors tends to increase as compared with the case of one processor.
このような問題に対して、ライト処理に関しては、キャッシュ、ライトバッファ(スト
アバッファ)などがあれば、キャッシュ、ライトバッファなどにデータを書き込んだ時点
でプロセッサはライト処理を完了し次の処理が開始されるため、比較的問題は少ない。
To deal with this problem, if there is a cache, write buffer (store buffer), etc. for write processing, the processor completes the write processing and starts the next processing when data is written to the cache, write buffer, etc. Therefore, there are relatively few problems.
一方、リード処理に関しては、キャッシュを設けることで、レイテンシに起因するプロ
セッサのストールをある程度低減することが可能である。例えば、キャッシュのラインサ
イズが128ビットであり、キャッシュへの1回のアクセス単位が32ビットである場合
には、外部RAMへの1回のアクセスで128ビット分キャッシュに読み出すことで、連
続した領域からデータを読み出す際のアクセス回数が減るため、プロセッサのストール期
間が短くなる。
On the other hand, with respect to read processing, it is possible to reduce processor stall due to latency to some extent by providing a cache. For example, if the cache line size is 128 bits and the unit of access to the cache is 32 bits, a continuous area can be obtained by reading the cache for 128 bits in one access to the external RAM. Since the number of accesses when reading data from the memory is reduced, the stall period of the processor is shortened.
しかしながら、複数のプロセッサを有する共有メモリ型の装置の場合、そのようにキャ
ッシュを使用しても、リード処理時のプロセッサのストール期間は発生する。特に、外部
RAMから、プロセッサのキャッシュや内部RAMのサイズより大きいサイズのテーブル
を適宜読み込んで画像処理を行う場合には、この問題は顕著になる。また、特に、処理対
象となる画像データがプロセッサのキャッシュや内部RAMのサイズより大きいサイズの
場合、外部RAMからデータを繰り返し読み込む動作が必要になるため、レイテンシに起
因したプロセッサのストールが発生しやすい。
However, in the case of a shared memory type device having a plurality of processors, even if such a cache is used, a processor stall period during read processing occurs. In particular, this problem becomes significant when image processing is performed by appropriately reading a table having a size larger than the size of the processor cache or internal RAM from the external RAM. In particular, when the image data to be processed is larger than the size of the cache or internal RAM of the processor, it is necessary to repeatedly read the data from the external RAM, so that the processor is likely to stall due to latency. .
本発明は、上記の問題に鑑みてなされたものであり、複数のプロセッサを有する共有メ
モリ型の装置において、プロセッサのストール期間を短くし、画像処理に要する時間を短
くすることができる画像処理装置および画像処理方法、並びにそれを利用した印刷装置を
得ることを目的とする。
The present invention has been made in view of the above problems, and in a shared memory type apparatus having a plurality of processors, an image processing apparatus capable of shortening the stall period of the processor and shortening the time required for image processing. And an image processing method, and a printing apparatus using the image processing method.
上記の課題を解決するために、本発明では以下のようにした。 In order to solve the above problems, the present invention is configured as follows.
本発明に係る画像処理装置は、複数の演算処理手段と、メモリと、複数の演算処理手段
のそれぞれとメモリとを接続するバスとを備える画像処理装置であって、複数の演算処理
手段のうちのいずれか1つの演算処理手段であって、テーブルを使用して、一連の画像デ
ータに対して画像処理を順次施す演算処理手段と、演算処理手段とは独立に動作し演算処
理手段の画像処理と並行して、バスを介してメモリから画像データを取得しバスを介さず
に演算処理手段に供給する第1のメモリアクセス手段と、演算処理手段とは独立に動作し
演算処理手段の画像処理と並行して、バスを介してメモリからテーブルを取得しバスを介
さずに演算処理手段に供給する第2のメモリアクセス手段とを備える。
An image processing apparatus according to the present invention is an image processing apparatus that includes a plurality of arithmetic processing means, a memory, and a bus that connects each of the plurality of arithmetic processing means and the memory. Any one of the arithmetic processing means, the arithmetic processing means for sequentially performing image processing on a series of image data using a table, and the arithmetic processing means operate independently of the image processing means. In parallel with the first memory access means for obtaining the image data from the memory via the bus and supplying it to the arithmetic processing means without going through the bus, the arithmetic processing means operates independently of the image processing of the arithmetic processing means. And second memory access means for obtaining a table from the memory via the bus and supplying the table to the arithmetic processing means without going through the bus.
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間を短くすることができる。
As a result, since the memory access means executes data read from the shared memory, the processor stall period is shortened and the time required for image processing is shortened regardless of the shared memory type device having a plurality of processors. Can do.
また、本発明に係る画像処理装置は、上記の画像処理装置に加え、次のようにしてもよ
い。つまり、その場合、第2のメモリアクセス手段は、バスを介してメモリからルックア
ップテーブルを取得してバスを介さずに演算処理手段に供給し、演算処理手段は、そのル
ックアップテーブルを使用して、画像データに対して色変換処理を施す。
In addition to the image processing apparatus described above, the image processing apparatus according to the present invention may be configured as follows. That is, in this case, the second memory access means acquires the lookup table from the memory via the bus and supplies the lookup table to the arithmetic processing means without going through the bus, and the arithmetic processing means uses the lookup table. Then, color conversion processing is performed on the image data.
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、色変換処理に要する時間を短くすることができる。
As a result, since the memory access means executes data read from the shared memory, the stall period of the processor is shortened and the time required for the color conversion process is shortened regardless of the shared memory type device having a plurality of processors. be able to.
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第2のメモリアクセス手段は、ハーフトーン処理に使
用するテーブルをバスを介してメモリから取得して、バスを介さずに演算処理手段に供給
し、演算処理手段は、そのテーブルを使用して、画像データに対してハーフトーン処理を
施す。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. That is, in this case, the second memory access means acquires the table used for halftone processing from the memory via the bus and supplies the table to the arithmetic processing means without going through the bus. Is used to perform halftone processing on the image data.
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、ハーフトーン処理に要する時間を短くすることができる。
As a result, since the memory access means executes data reading from the shared memory, the processor stall period is shortened and the time required for the halftone process is shortened regardless of the shared memory type device having a plurality of processors. be able to.
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第1のメモリアクセス手段は、演算処理手段がバスを
介さずに読み取り可能なデータキューと、演算処理手段から先頭アドレスを取得すると、
その先頭アドレスから順番に画像データをメモリからバスを介して取得しデータキューに
格納する制御回路とを有する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. In other words, in this case, the first memory access unit obtains the data queue that the arithmetic processing unit can read without going through the bus, and the start address from the arithmetic processing unit.
And a control circuit for acquiring image data from the memory in order from the head address via a bus and storing the image data in a data queue.
これにより、共有メモリからの入力データの読み込みを第1のメモリアクセス手段が実
行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサの
ストール期間を短くし、画像処理に要する時間を短くすることができる。
As a result, since the first memory access means reads the input data from the shared memory, the processor stall period is shortened and image processing is required regardless of the shared memory type device having a plurality of processors. Time can be shortened.
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、第2のメモリアクセス手段は、演算処理手段がバスを
介さずに書き込み可能なアドレスキューと、演算処理手段がバスを介さずに読み取り可能
なデータキューと、アドレスキューに格納されたアドレスを取得し、テーブルのうち、そ
のアドレスのデータをメモリからバスを介して取得しデータキューに格納する制御回路と
を有する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. In other words, in this case, the second memory access means is stored in the address queue in which the arithmetic processing means can write without going through the bus, the data queue in which the arithmetic processing means can read without going through the bus, and the address queue. And a control circuit that acquires data at the address in the table from the memory via a bus and stores the data in a data queue.
これにより、共有メモリからテーブルをランダムに読み込む処理を第2のメモリアクセ
ス手段が実行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プ
ロセッサのストール期間を短くし、画像処理に要する時間を短くすることができる。
As a result, the second memory access means executes the process of randomly reading the table from the shared memory, so that the processor stall period can be shortened and image processing can be performed regardless of the shared memory type apparatus having a plurality of processors. The time required can be shortened.
また、本発明に係る画像処理装置は、上記の画像処理装置のいずれかに加え、次のよう
にしてもよい。つまり、その場合、演算処理手段は、少なくとも2つのバンクを有する内
部メモリを有する。そして、第2のメモリアクセス手段は、演算処理手段から先頭アドレ
スを取得すると、その先頭アドレスから所定長のデータをメモリからバスを介して取得し
、内部メモリの一方のバンクおよび他方のバンクのいずれかに交互に格納する。
The image processing apparatus according to the present invention may be as follows in addition to any of the image processing apparatuses described above. In other words, in this case, the arithmetic processing means has an internal memory having at least two banks. Then, when the second memory access means acquires the start address from the arithmetic processing means, it acquires data of a predetermined length from the start address from the memory via the bus, and either the one bank or the other bank of the internal memory. Store alternately.
これにより、共有メモリからテーブルを逐次的に読み込む処理を第2のメモリアクセス
手段が実行するため、複数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロ
セッサのストール期間を短くし、画像処理に要する時間を短くすることができる。
Thus, since the second memory access means executes the process of sequentially reading the table from the shared memory, the processor stall period is shortened regardless of the shared memory type apparatus having a plurality of processors. Can be shortened.
本発明に係る印刷装置は、上記の画像処理装置のいずれかを備え、その画像処理装置に
より画像処理を施されて得られたデータに基づいて印刷処理を行う。
A printing apparatus according to the present invention includes any one of the above-described image processing apparatuses, and performs printing processing based on data obtained by performing image processing by the image processing apparatus.
これにより、共有メモリからのデータリードをメモリアクセス手段が実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間、ひいては印刷時間を短くすることができる。
As a result, since the memory access means executes data reading from the shared memory, the processor stall period is shortened and the time required for image processing, and thus the printing time, regardless of the shared memory type device having a plurality of processors. Can be shortened.
本発明に係る画像処理方法は、複数の演算処理手段と、メモリと、複数の演算処理手段
のそれぞれとメモリとを接続するバスとを備える画像処理装置を使用する画像処理方法で
あって、複数の演算処理手段のうちのいずれか1つの演算処理手段により、テーブルを使
用して、一連の画像データに対して画像処理を順次施すステップと、演算処理手段の画像
処理と並行して、バスを介してメモリから画像データを取得してバスを介さずに演算処理
手段に供給するステップと、演算処理手段の画像処理と並行して、バスを介してメモリか
らテーブルを取得してバスを介さずに演算処理手段に供給するステップとを備える。
An image processing method according to the present invention is an image processing method using an image processing apparatus including a plurality of arithmetic processing means, a memory, and a bus connecting each of the plurality of arithmetic processing means and the memory. A step of sequentially performing image processing on a series of image data using a table by any one of the arithmetic processing means, and a bus in parallel with the image processing of the arithmetic processing means. Acquiring the image data from the memory via the bus and supplying it to the arithmetic processing means without going through the bus, and acquiring the table from the memory via the bus in parallel with the image processing of the arithmetic processing means without going through the bus And supplying to the arithmetic processing means.
これにより、共有メモリからのデータリードをプロセッサとは独立に実行するため、複
数のプロセッサを有する共有メモリ型の装置にも拘わらず、プロセッサのストール期間を
短くし、画像処理に要する時間を短くすることができる。
As a result, the data read from the shared memory is executed independently of the processor, so that the processor stall period is shortened and the time required for image processing is shortened regardless of the shared memory type device having a plurality of processors. be able to.
以下、図に基づいて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本発明の実施の形態1に係る画像処理装置のハードウェア構成を示すブロック
図である。この画像処理装置は、インクジェットプリンタなどの印刷装置に内蔵されるも
のであって、RGBデータなどの画像データから2値化データを生成する共有メモリ型の
並列処理装置である。
FIG. 1 is a block diagram showing a hardware configuration of the image processing apparatus according to
図1において、プロセッサ1は、プロセッサ2,6,7を制御し、画像処理の流れを制
御する演算処理器である。プロセッサ2は、プロセッサ3,4,5を制御して画像データ
のデコード処理および画像補正処理を実行させるとともに、リサイズ処理およびレイアウ
ト処理を実行する演算処理器である。デコード処理は、JPEG(Joint Picture Expert
s Group )データなどの符号化された画像データをデコードしRGBデータを生成する処
理である。リサイズ処理は、RGBデータの解像度を変換する処理である。レイアウト処
理は、リサイズ後のRGBデータによる画像を印刷用紙に合わせて配置するようにしたR
GBデータを生成する処理である。プロセッサ3は、デコード処理の前段を実行する演算
処理器であり、プロセッサ4は、デコード処理の後段を実行する演算処理器である。プロ
セッサ5は、画像補正処理を実行する演算処理器である。
In FIG. 1, a
s Group) is a process for decoding encoded image data such as data and generating RGB data. The resizing process is a process for converting the resolution of the RGB data. In the layout process, an image based on the resized RGB data is arranged in accordance with the printing paper.
This is a process for generating GB data. The
また、プロセッサ6は、色変換処理、およびハーフトーン処理のうちのエンコーディン
グ処理を実行する演算処理手段としての演算処理器である。CPU6aは、プロセッサ6
に内蔵される演算処理回路である。内部RAM6bは、プロセッサ6に内蔵されバス9を
介さずにCPU6aに接続された内部メモリである。内部RAM6bには、スタティック
RAMなどの高速なメモリが使用される。
The
It is the arithmetic processing circuit built in. The
実施の形態1では、ハーフトーン処理として、例えば特開2004−297451号公
報に開示されている方式の処理が実行される。この処理では、例えば4×2などの画素ブ
ロック毎にエンコードテーブルを使用して、その画素ブロックを、その画素ブロック内の
2値化後の2値の一方の値の数(以下、ドット数という)にエンコードする。エンコード
されたデータは、各画素ブロックにつき、画素ブロックの位置とその画素ブロックでのド
ット数を有する。エンコード後のデータは、各画素ブロックに対応するデコードテーブル
を使用して、その画素ブロックでのドット数に対応するドットパターンデータにデコード
される。なお、エンコードテーブルのデータは、エンコード時に使用する閾値のテーブル
である。
In the first embodiment, as a halftone process, for example, a process disclosed in Japanese Patent Application Laid-Open No. 2004-297451 is executed. In this process, for example, an encoding table is used for each pixel block such as 4 × 2, and the pixel block is converted into the number of one of the binary values in the pixel block (hereinafter referred to as the number of dots). ). The encoded data has, for each pixel block, the position of the pixel block and the number of dots in that pixel block. The encoded data is decoded into dot pattern data corresponding to the number of dots in the pixel block using a decode table corresponding to each pixel block. The data of the encoding table is a threshold value table used at the time of encoding.
また、プロセッサ7は、ハーフトーン処理のうちのデコード処理、および2値化データ
の並び替え処理を実行する演算処理手段としての演算処理器である。CPU7aは、プロ
セッサ7に内蔵される演算処理回路である。内部RAM7bは、プロセッサ7に内蔵され
バス9を介さずにCPU7aに接続された内部メモリである。内部RAM7bには、スタ
ティックRAMなどの高速なメモリが使用される。
The
なお、プロセッサ1〜7は、それぞれ、図示せぬROMなどの記録媒体に予め格納され
DRAM8にロードされたプログラムを順次読み出して実行し、上述の処理を行う。
Each of the
また、ダイナミックRAM(DRAM)8は、バス9を介してプロセッサ1〜7に接続
され、各種データおよびプログラムを格納する外部メモリである。DRAM8の容量は、
内部RAM6b,7bの容量より大きい。DRAM8には、RGBデータバッファ11、
中間データバッファ12、イメージバッファ13などの記憶領域が設けられる。RGBデ
ータバッファ11は、プロセッサ3〜5の処理により生成されたRGBデータであってプ
ロセッサ6の入力データとなるRGBデータを一時的に格納する記憶領域である。中間デ
ータバッファ12は、プロセッサ6の出力データでありかつプロセッサ7の入力データと
なる中間データ(実施の形態1では、ハーフトーン処理のエンコード処理後のデータ、以
下、エンコードデータという)を一時的に格納する記憶領域である。イメージバッファ1
3は、プロセッサ7の出力データとなる2値化データを一時的に格納する記憶領域である
。
The dynamic RAM (DRAM) 8 is an external memory that is connected to the
It is larger than the capacity of the
Storage areas such as an
また、バス9は、データバスおよびプログラムバスを含み、プロセッサ1〜7のそれぞ
れとDRAM8とを接続する信号路である。
The
次に、メモリアクセス回路MA1−1は、プロセッサ1〜7とは独立に動作しプロセッ
サ6の画像処理と並行して、バス9を介してDRAM8から入力データを取得しバス9を
介さずにプロセッサ6に供給する第1のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA2は、プロセッサ1〜7とは独立に動作しプロセッサ6の画像処
理と並行して、バス9を介してDRAM8から第1のテーブルのデータを取得しバス9を
介さずにプロセッサ6に供給する第2のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA3−1は、プロセッサ1〜7とは独立に動作しプロセッサ6の画
像処理と並行して、バス9を介してDRAM8から第2のテーブルのデータを取得しバス
9を介さずにプロセッサ6に供給する第2のメモリアクセス手段としての回路である。
Next, the memory access circuit MA 1-1 operates independently of the
The memory access circuit MA2 operates independently of the
The memory access circuit MA 3-1 operates independently of the
また、メモリアクセス回路MA1−2は、プロセッサ1〜7とは独立に動作しプロセッ
サ7の画像処理と並行して、バス9を介してDRAM8から入力データを取得しバス9を
介さずにプロセッサ7に供給する第1のメモリアクセス手段としての回路である。また、
メモリアクセス回路MA3−2は、プロセッサ1〜7とは独立に動作しプロセッサ7の画
像処理と並行して、バス9を介してDRAM8から第3のテーブルのデータを取得しバス
9を介さずにプロセッサ7に供給する第2のメモリアクセス手段としての回路である。
In addition, the memory access circuit MA1-2 operates independently of the
The memory access circuit MA 3-2 operates independently of the
これらのメモリアクセス回路MA1−1,MA1−2は、一連の画像データのように、
サイズが大きい一連の入力データを逐次的に読み込む場合に使用される。また、メモリア
クセス回路MA2は、アクセスするテーブルの箇所がランダムである場合に使用される。
実施の形態1では、このメモリアクセス回路MA2は、ルックアップテーブル(LUT)
のデータ読み込みに使用される。また、メモリアクセス回路MA3−1,MA3−2は、
アクセスするテーブルの箇所が連続しており所定のサイズごとにデータが読み込まれる場
合に使用される。実施の形態1では、メモリアクセス回路MA3−1は、エンコードテー
ブルのデータ読み込みに使用され、メモリアクセス回路MA3−2は、デコードテーブル
のデータ読み込みに使用される。
These memory access circuits MA1-1, MA1-2, like a series of image data,
This is used when a series of input data having a large size is read sequentially. The memory access circuit MA2 is used when the location of the table to be accessed is random.
In the first embodiment, the memory access circuit MA2 includes a lookup table (LUT).
Used for reading data. The memory access circuits MA3-1 and MA3-2 are
This is used when the location of the table to be accessed is continuous and data is read for each predetermined size. In the first embodiment, the memory access circuit MA3-1 is used for reading data of the encode table, and the memory access circuit MA3-2 is used for reading data of the decode table.
図2は、実施の形態1に係る画像処理装置のうち、プロセッサ6,7によるデータ処理
に関連する構成を示すブロック図である。図2に示すように、プロセッサ6の内部RAM
6bには、色変換前に階調解像度を変換する際に使用されるプレ変換テーブル21が記憶
されるともに、エンコードテーブルバッファ22が設けられる。エンコードテーブルバッ
ファ22は、画像データ1ライン分に対応するエンコードテーブルのデータを一時的に格
納する記憶領域である。また、プロセッサ7の内部RAM7bには、デコードテーブルバ
ッファ23および作業バッファ24が設けられる。デコードテーブルバッファ23は、画
像データ1ライン分に対応するデコードテーブルのデータを一時的に格納する記憶領域で
ある。作業バッファ24は、並び替え処理の際に使用される記憶領域である。
FIG. 2 is a block diagram illustrating a configuration related to data processing by the
In 6b, a pre-conversion table 21 used when converting the gradation resolution before color conversion is stored, and an encode
ここで、各メモリアクセス回路MA1−1,MA1−2,MA2,MA3−1,MA3
−2の詳細について説明する。
Here, each memory access circuit MA1-1, MA1-2, MA2, MA3-1, MA3.
Details of -2.
図3は、メモリアクセス回路MA1−1,MA1−2およびその周辺の構成を示すブロ
ック図である。図3に示すように、各メモリアクセス回路MA1−1,1−2は、データ
キュー41および制御回路42を有する。データキュー41は、CPU6aまたはCPU
7aに接続され、制御回路42から順次供給されるデータを順番に保持する記憶回路であ
る。CPU6aまたはCPU7aは、データキュー41にバス9を介さずにアクセス可能
であり、データキュー41の先頭データを読み出す。データキュー41の先頭データは、
CPU6aまたはCPU7aにより読み出されると、データキュー41から消去される。
制御回路42は、CPU6aまたはCPU7aから先頭アドレスおよびデータ数を供給さ
れると、動作を開始し、その先頭アドレスから順番にアドレスを指定してバス9を介して
DRAM8から指定されたデータ数のデータを順番に読み出し、データキュー41に格納
する回路である。
FIG. 3 is a block diagram showing the configuration of the memory access circuits MA1-1 and MA1-2 and their peripherals. As shown in FIG. 3, each of the memory access circuits MA1-1 and 1-2 has a
7a is a storage circuit that holds data sequentially supplied from the control circuit 42 in order. The
When it is read by the
When the control circuit 42 is supplied with the head address and the number of data from the
図4は、メモリアクセス回路MA1−1,MA1−2使用時のプロセッサ6,7の動作
を説明するフローチャートである。図4(A)は、メモリアクセス回路MA1−1,MA
1−2を使用しない場合の処理の流れを示す図である。図4(B)は、メモリアクセス回
路MA1−1,MA1−2を使用する場合の処理の流れを示す図である。
FIG. 4 is a flowchart for explaining the operation of the
It is a figure which shows the flow of a process when not using 1-2. FIG. 4B is a diagram showing a process flow when the memory access circuits MA1-1 and MA1-2 are used.
メモリアクセス回路MA1−1,MA1−2を使用しない場合(図4(A))、入力バ
ッファの先頭アドレスが特定されると(ステップS1)、まずそのアドレスからデータが
バスを介してプロセッサへ直接読み込まれる(ステップS2)。そして、そのデータに対
する処理が実行される(ステップS3)。その処理の終了後、次のデータがあるか否かが
判定され(ステップS4)、次のデータがある場合、次のデータのアドレスが計算され、
そのアドレスからデータがバスを介してプロセッサへ直接読み込まれる(ステップS2)
。このようにして、所定の数のデータが読み込まれつつ処理が施される。
When the memory access circuits MA1-1 and MA1-2 are not used (FIG. 4A), when the head address of the input buffer is specified (step S1), data is first transferred directly from the address to the processor via the bus. It is read (step S2). And the process with respect to the data is performed (step S3). After the process, it is determined whether or not there is next data (step S4). If there is next data, the address of the next data is calculated,
Data is read directly from the address into the processor via the bus (step S2).
. In this way, processing is performed while a predetermined number of data is being read.
一方、メモリアクセス回路MA1−1,MA1−2を使用する場合(図4(B))、入
力バッファ(RGBデータバッファ11または中間データバッファ12)の先頭アドレス
が特定されると、CPU6a,7aは、その先頭アドレスと例えば1ライン分のデータ数
をメモリアクセス回路MA1−1,MA1−2に供給する(ステップS11)。メモリア
クセス回路MA1−1,MA1−2は、その先頭アドレスからそのデータ数のデータを順
番に読み出し、データキュー41に格納する。CPU6a,7aは、データキュー41の
先頭データを読み出し(ステップS12)、そのデータに対する処理を実行する(ステッ
プS13)。データキュー41の先頭データは、読み出しCPU6aまたはCPU7aに
読み出されると消去される。CPU6a,7aは、その処理の終了後、所定のデータ数の
データに対する処理が完了したか否かを判定し(ステップS14)、所定のデータ数のデ
ータに対する処理が完了するまで、ステップS12〜ステップS14の処理を繰り返し実
行する。
On the other hand, when the memory access circuits MA1-1 and MA1-2 are used (FIG. 4B), when the head address of the input buffer (
図5は、メモリアクセス回路MA1−1,1−2を使用した場合のCPU6a,7aの
処理スケジュールの一例を示す図である。図5に示すように、メモリアクセス回路MA1
−1,MA1−2は、一旦起動すると、CPU6a,7aのデータ処理(ステップS13
)の期間に、並行して、DRAM8からデータを取得する。このため、データ待ち、すな
わちレイテンシに起因したCPU6a,7aのストールの頻度を低減することができる。
なお、図5では、メモリアクセス回路MA1−1,MA1−2の起動時間が比較的長く表
現されているが、実際には、データ処理時間に比べ非常に短い。
FIG. 5 is a diagram showing an example of a processing schedule of the
-1, MA1-2 once activated, the data processing of
In parallel with this period, data is acquired from the
In FIG. 5, the activation times of the memory access circuits MA1-1 and MA1-2 are expressed to be relatively long, but actually, they are very short compared to the data processing time.
図6は、メモリアクセス回路MA2およびその周辺の構成を示すブロック図である。図
6に示すように、メモリアクセス回路MA2は、アドレスキュー51、データキュー52
および制御回路53を有する。アドレスキュー51は、CPU6aに接続され、CPU6
aから順次供給されるアドレスを順番に保持する記憶回路である。アドレスキュー51の
先頭データは、制御回路53により読み出されると、アドレスキュー51から消去される
。データキュー52は、CPU6aに接続され、制御回路53から順次供給されるデータ
を順番に保持する記憶回路である。CPU6aは、データキュー52にバス9を介さずに
アクセス可能であり、データキュー52の先頭データを読み出す。データキュー52の先
頭データは、CPU6aにより読み出されると、データキュー52から消去される。制御
回路53は、アドレスキュー51を監視し、アドレスキュー51の先頭データであるアド
レスを読み出し、そのアドレスを指定してバス9を介してDRAM8からデータを読み出
し、データキュー52に格納する回路である。
FIG. 6 is a block diagram showing the configuration of the memory access circuit MA2 and its periphery. As shown in FIG. 6, the memory access circuit MA2 includes an
And a
This is a memory circuit for sequentially holding addresses sequentially supplied from a. The head data of the
図7は、メモリアクセス回路MA2使用時のプロセッサ6の動作を説明するフローチャ
ートである。図7(A)は、メモリアクセス回路MA2を使用しない場合の処理の流れを
示す図である。図7(B)は、メモリアクセス回路MA2を使用する場合の処理の流れを
示す図である。
FIG. 7 is a flowchart for explaining the operation of the
処理全体が前段処理と後段処理に分離でき、後段処理にてDRAM8から読み出したデ
ータを使用する場合にメモリアクセス回路MA2の使用が効果的であるため、ここでもそ
のような用途に使用される。
Since the entire process can be separated into a pre-stage process and a post-stage process, and when the data read from the
メモリアクセス回路MA2を使用しない場合(図7(A))、カウンタiが0にリセッ
トされた後(ステップS21)、第iの前段処理が実行され(ステップS22)、その後
、第iのデータがDRAMからバスを介してプロセッサに読み込まれ(ステップS23)
、第iの後段処理が実行される(ステップS24)。その後、カウンタiが1だけインク
リメントされ(ステップS25)、n回の前段処理および後段処理が実行されたか否かが
判定される(ステップS26)。n回の前段処理および後段処理が完了するまで、ステッ
プS22〜ステップS26の処理が実行される。
When the memory access circuit MA2 is not used (FIG. 7A), after the counter i is reset to 0 (step S21), the i-th pre-stage process is executed (step S22), and then the i-th data is stored. The data is read from the DRAM via the bus into the processor (step S23).
The i-th subsequent process is executed (step S24). Thereafter, the counter i is incremented by 1 (step S25), and it is determined whether or not n times of the pre-stage process and the post-stage process have been executed (step S26). Steps S22 to S26 are executed until n times of the pre-stage process and the post-stage process are completed.
一方、メモリアクセス回路MA2を使用する場合(図7(B))、まず、CPU6aは
、第0の前段処理を実行する(ステップS31)。次に、CPU6aは、アドレスキュー
51に対して、第0のデータのアドレスを発行する(ステップS32)。そして、カウン
タiが0にリセットされる(ステップS33)。次に、CPU6aは、第(i+1)の前
段処理を実行する(ステップS34)。その後、CPU6aは、第iのデータをデータキ
ュー52から読み出し(ステップS35)、第(i+1)のデータのアドレスをアドレス
キュー51に発行してから(ステップS36)、第iの後段処理を実行する(ステップS
37)。そして、CPU6aは、カウンタiを1だけインクリメントし(ステップS38
)、n回の前段処理および後段処理が実行されたか否かを判定する(ステップS39)。
n回の前段処理および後段処理が完了するまで、ステップS34〜ステップS39の処理
が実行される。n回の前段処理および後段処理が完了すると、CPU6aは、第(n−1
)のデータをデータキュー52から読み出し(ステップS40)、第(n−1)の後段処
理を実行する(ステップS41)。
On the other hand, when the memory access circuit MA2 is used (FIG. 7B), first, the
37). Then, the
), It is determined whether n times of the pre-stage process and the post-stage process have been executed (step S39).
Steps S34 to S39 are executed until n times of the pre-stage process and the post-stage process are completed. When n times of the pre-stage process and the post-stage process are completed, the
) Is read from the data queue 52 (step S40), and the (n-1) th subsequent process is executed (step S41).
図8は、メモリアクセス回路MA2を使用した場合のCPU6aの処理スケジュールの
一例を示す図である。なお、図8では、データ処理(前段処理と後段処理)が4回だけ実
行される場合を示しているが、通常、データ処理の回数は非常に多くなる。図8に示すよ
うに、メモリアクセス回路MA2は、CPU6aの前段処理(ステップS34)および/
または後段処理(ステップS37)の期間に、並行して、DRAM8からデータを取得す
る。このため、データ待ち、すなわちレイテンシに起因したCPU6aのストールの頻度
を低減することができる。
FIG. 8 is a diagram illustrating an example of a processing schedule of the
Alternatively, data is acquired from the
図9は、メモリアクセス回路MA3−1,MA3−2の周辺の構成を示すブロック図で
ある。図9に示すように、メモリアクセス回路MA3−1,MA3−2は、プロセッサ6
の内部RAM6bまたはプロセッサ7の内部RAM7bにアクセス可能であって、先頭ア
ドレスおよびデータサイズが供給されると、その先頭アドレスからデータサイズ分のデー
タを、バス9を介してDRAM8から読み出し、バンクフラグ61の値に応じて、第1バ
ンク62および第2バンク63のいずれかに書き込む。バンクフラグ61の値は、1ビッ
トの値であり、一定の処理が完了するごとにCPU6a,7aにより0または1に切り替
えられる。また、第1バンク62および第2バンク63は、それぞれ、CPU6a,7a
により要求されるデータサイズより大きい容量を有する記憶領域である。メモリアクセス
回路MA3−1,MA3−2は、テーブル全体を内部RAM6b,7bに格納することが
できないが1ラインの画像データに対する処理に使用するテーブルデータが1つのバンク
62,63に格納可能な場合に、使用される。
FIG. 9 is a block diagram showing a peripheral configuration of the memory access circuits MA3-1 and MA3-2. As shown in FIG. 9, the memory access circuits MA3-1 and MA3-2 include a
The
This is a storage area having a capacity larger than the data size required by. The memory access circuits MA3-1 and MA3-2 cannot store the entire table in the
図10は、メモリアクセス回路MA3−1,MA3−2使用時のプロセッサ6,7の動
作を説明するフローチャートである。図10(A)は、メモリアクセス回路MA3−1,
MA3−2を使用しない場合の処理の流れを示す図である。図10(B)は、メモリアク
セス回路MA3−1,MA3−2を使用する場合の処理の流れを示す図である。
FIG. 10 is a flowchart for explaining the operation of the
It is a figure which shows the flow of a process when not using MA3-2. FIG. 10B is a diagram showing a processing flow when the memory access circuits MA3-1 and MA3-2 are used.
メモリアクセス回路MA3−1,MA3−2を使用しない場合(図10(A))、カウ
ンタiが0にリセットされた後(ステップS51)、画像データの第iラインのためのテ
ーブルのデータがプロセッサによりバスを介してDRAMから読み出され内部RAMに書
き込まれる(ステップS52)。その後、第iラインのデータに対する処理が実行される
(ステップS53)。その後、カウンタiが1だけインクリメントされ(ステップS54
)、nライン分のデータ処理が実行されたか否かが判定される(ステップS55)。nラ
イン分のデータ処理が完了するまで、ステップS52〜ステップS55の処理が実行され
る。
When the memory access circuits MA3-1 and MA3-2 are not used (FIG. 10A), after the counter i is reset to 0 (step S51), the table data for the i-th line of the image data is processed by the processor. Thus, the data is read from the DRAM via the bus and written to the internal RAM (step S52). Thereafter, the process for the i-th line data is executed (step S53). Thereafter, the counter i is incremented by 1 (step S54).
), It is determined whether data processing for n lines has been executed (step S55). Until the data processing for n lines is completed, the processing from step S52 to step S55 is executed.
一方、メモリアクセス回路MA3−1,MA3−2を使用する場合(図10(B))、
まず、CPU6a,7aは、第0ラインの画像データ用のテーブルデータの先頭アドレス
とそのデータのデータ長をメモリアクセス回路MA3−1,MA3−2に供給する(ステ
ップS61)。CPU6a,7aは、カウンタiを0にリセットした後(ステップS62
)、第0ライン用のテーブルデータが内部RAM6b,7bへ読み出されるまで待機する
(ステップS63)。その後、CPU6a,7aは、第(i+1)ラインの画像データ用
のテーブルデータの先頭アドレスとデータ長をメモリアクセス回路MA3−1,MA3−
2に供給してから(ステップS64)、第iラインに対する処理を実行する(ステップS
65)。その後、CPU6a,7aは、カウンタiを1だけインクリメントし(ステップ
S66)、nライン分のデータ処理が実行されたか否かを判定する(ステップS67)。
nライン分のデータ処理が完了するまで、ステップS64〜ステップS67の処理が実行
される。
On the other hand, when the memory access circuits MA3-1 and MA3-2 are used (FIG. 10B),
First, the
), And waits until the table data for the 0th line is read to the
2 (step S64), the process for the i-th line is executed (step S).
65). Thereafter, the
Until the data processing for n lines is completed, the processing from step S64 to step S67 is executed.
図11は、メモリアクセス回路MA3−1,MA3−2を使用した場合のCPU6a,
7aの処理スケジュールの一例を示す図である。なお、図11では、データ処理が4回だ
け実行される場合を示しているが、通常、データ処理の回数は非常に多くなる。また、図
11では、メモリアクセス回路MA3−1,MA3−2の起動時間が比較的長く表現され
ているが、実際には、データ処理時間に比べ非常に短い。図11に示すように、メモリア
クセス回路MA3−1,MA3−2は、CPU6a,7aのデータ処理(ステップS65
)の期間に並行して、DRAM8からテーブルデータを取得し内部RAM6b,7bに書
き込む。このため、データ待ち、すなわちレイテンシに起因したCPU6a,7aのスト
ールの頻度を低減することができる。
FIG. 11 shows the
It is a figure which shows an example of the processing schedule of 7a. Although FIG. 11 shows a case where data processing is executed only four times, the number of data processing is usually very large. In FIG. 11, the activation times of the memory access circuits MA3-1 and MA3-2 are expressed to be relatively long, but actually they are very short compared to the data processing time. As shown in FIG. 11, the memory access circuits MA3-1 and MA3-2 perform data processing (step S65) of the
In parallel with the period), table data is acquired from the
上述のようなアーキテクチャは、例えばTensilica社のXtensaLXとい
った、設計段階で命令やプロセッサのインタフェースを容易に拡張可能なアーキテクチャ
により実現可能である。例えば、XtensaLXでは、プロセッサに接続したキューに
対するアクセス制御を行えるインタフェースをCPUの命令として追加できる。また、上
述のアドレスキューやデータキューにはXtensaLXのLXキュー機能を利用でき、
これにより、CPUがプロセッサ外部の回路とデータ転送を直接行うことができる。
The architecture as described above can be realized by an architecture such as Tensilica's XtensaLX that can easily extend the interface of instructions and processors at the design stage. For example, in XtensaLX, an interface capable of controlling access to a queue connected to a processor can be added as a CPU command. The XtensaLX LX queue function can be used for the address queue and data queue described above.
As a result, the CPU can directly perform data transfer with a circuit outside the processor.
次に、上記装置の動作について説明する。 Next, the operation of the above apparatus will be described.
まず、プロセッサ6における画像処理について説明する。プロセッサ6は、画像データ
を1ラインごと処理する。図12は、プロセッサ6での1ライン分の画像データに対する
画像処理を説明するフローチャートである。図13は、図12の画像処理のデータフロー
を説明する図である。まず、最初のRGBデータが取得され(ステップS101)、その
RGBデータに対して、エッジ判定(ステップS102)、色変換処理(ステップS10
3)、スムージング(ステップS104)、およびハーフトーン処理のエンコード処理(
ステップS105)が実行される。そして、1ラインの全データが処理されたか否かが判
定され(ステップS106)、1ラインに処理されていないRGBデータがある場合には
、次のRGBデータが取得され(ステップS107)、同様の処理(ステップS102〜
S106)が実行される。図13に示すように、エッジ判定では、エッジ情報が検出され
、色変換処理では、画像データの色空間がRGBからCMYKへ変換される。そして、ス
ムージングでは、エッジ情報に基づいてCMYKデータが補正され、エンコード処理では
、エンコードテーブルを参照して、CMYK各色のデータが別々にエンコードされる。
First, image processing in the
3) Encoding of smoothing (step S104) and halftone processing (
Step S105) is executed. Then, it is determined whether or not all data for one line has been processed (step S106). If there is RGB data that has not been processed for one line, the next RGB data is acquired (step S107), and the same processing is performed. Processing (Step S102 ~
S106) is executed. As shown in FIG. 13, edge information is detected in the edge determination, and the color space of the image data is converted from RGB to CMYK in the color conversion process. In the smoothing, the CMYK data is corrected based on the edge information. In the encoding process, the CMYK color data is encoded separately with reference to the encoding table.
次に、実施の形態1におけるプロセッサ6の動作について説明する。図14は、実施の
形態1におけるプロセッサ6の動作を説明するフローチャートである。図15は、図14
に示すプロセッサ6の動作時のデータフローを説明する図である。プロセッサ6へのデー
タ供給には、3つのメモリアクセス回路MA1−1,MA2,MA3−1が使用される。
したがって、プロセッサ6は、メモリアクセス回路MA1−1に対しては図4(B)の処
理手順で動作し、メモリアクセス回路MA2に対しては図7(B)の処理手順で動作し、
メモリアクセス回路MA3−1に対しては図10(B)の処理手順で動作する。つまり、
図14のステップS211〜S225の処理が、図10(B)のステップS65の処理に
相当する。また、図14のステップS215〜S217の処理が図7(B)のステップS
34の処理に相当し、図14のステップS221〜S224の処理が図7(B)のステッ
プS37の処理に相当する。また、図14のステップS216〜S224の処理が、図4
(B)のステップS13の処理に相当する。
Next, the operation of the
It is a figure explaining the data flow at the time of operation | movement of the
Therefore, the
The memory access circuit MA3-1 operates according to the processing procedure of FIG. In other words,
The process of steps S211 to S225 in FIG. 14 corresponds to the process of step S65 in FIG. Further, the processing in steps S215 to S217 in FIG. 14 is changed to step S in FIG.
The processing in steps S221 to S224 in FIG. 14 corresponds to the processing in step S37 in FIG. 7B. Further, the processing of steps S216 to S224 in FIG.
This corresponds to the process of step S13 in (B).
プロセッサ6のCPU6aは、メモリアクセス回路MA3−1に対し、第0のライン用
のエンコードテーブルデータを内部RAM6bにコピーさせるために、その先頭アドレス
とデータ長を供給する(ステップS201)。そして、CPU6aは、カウンタiを0に
リセットした後(ステップS202)、第0ライン用のテーブルデータが内部RAM6b
へ読み出されるまで待機する(ステップS203)。その後、CPU6aは、第(i+1
)ラインの画像データ用のテーブルデータの先頭アドレスとデータ長をメモリアクセス回
路MA3−1に供給してから(ステップS204)、第iラインに対する処理として、ス
テップS211〜S225の処理を実行する。
The
(Step S203). Thereafter, the
) After supplying the head address and data length of the table data for line image data to the memory access circuit MA3-1 (step S204), the processes of steps S211 to S225 are executed as the process for the i-th line.
一方、メモリアクセス回路MA3−1は、プロセッサ6とは独立に、エンコードテーブ
ル15のうちの指定されたデータをDRAM8から読み出し、内部RAM6bの第1バン
ク62または第2バンク63に書き込む。1ライン分のテーブルデータは、ラインごとに
交互に、第1バンク62および第2バンク63に格納される。このメモリアクセス回路M
A3−1の処理は、第(i+1)のラインに対するハーフトーン処理のエンコード処理(
ステップS223)が開始されるまでに完了するのが好ましい。
On the other hand, independent of the
The process of A3-1 is the halftone process encoding process for the (i + 1) th line (
Preferably, it is completed before step S223) is started.
ステップS204の処理の後、CPU6aは、RGBデータバッファ11における処理
対象のラインの先頭アドレスを特定し、その先頭アドレスと1ライン分のデータ数をメモ
リアクセス回路MA1−1に供給する(ステップS211)。CPU6aは、カウンタj
を0にリセットする(ステップS212)。その後、CPU6aは、カウンタjの値がn
より大きいか否かを判断する(ステップS213)。カウンタjの値がn以下である場合
、CPU6aは、ステップS214〜S225の処理を実行する。
After the process of step S204, the
Is reset to 0 (step S212). Thereafter, the
It is determined whether it is larger (step S213). When the value of the counter j is n or less, the
ステップS214〜S224の処理は、カウンタjの値が0からnになるまでに(n+
1)回繰り返して実行される。ただし、1回目の処理(j=0)では、図7(B)のステ
ップS31,S32に相当する処理がステップS215〜S218で実行され、ステップ
S220〜224の処理はスキップされる(ステップS219)。また、(n+1)回目
の処理(j=n)では、図7(B)のステップS40,S41に相当する処理がステップ
S220〜S224で実行され、ステップS215〜S218の処理はスキップされる(
ステップS214)。
The processing of steps S214 to S224 is performed until the value of the counter j changes from 0 to n (n +
1) It is executed repeatedly. However, in the first process (j = 0), processes corresponding to steps S31 and S32 in FIG. 7B are executed in steps S215 to S218, and the processes in steps S220 to 224 are skipped (step S219). . In the (n + 1) th process (j = n), processes corresponding to steps S40 and S41 in FIG. 7B are executed in steps S220 to S224, and the processes in steps S215 to S218 are skipped (
Step S214).
まず、CPU6aは、図15に示すように、1ライン内の第0(すなわち、1ライン内
の最初)のRGBデータをメモリアクセス回路MA1−1のデータキュー41から読み出
し(ステップS215)、そのRGBデータに対してエッジ判定を行う(ステップS21
6)。その後、CPU6aは、第0のRGBデータの色変換に必要なLUTデータの格納
場所のアドレスを計算し(ステップS217)、そのアドレスをメモリアクセス回路MA
2のアドレスキュー51に書き込む(ステップS218)。その後、CPU6aは、カウ
ンタjの値をインクリメントして1(j=1)とする(ステップS225)。
First, as shown in FIG. 15, the
6). Thereafter, the
2 is written into the address queue 51 (step S218). Thereafter, the
次に、CPU6aは、図15に示すように、1ライン内の第1(すなわち、2番目)の
RGBデータをデータキュー41から読み出し(ステップS215)、そのRGBデータ
に対してエッジ判定を行う(ステップS216)。その後、CPU6aは、第2のRGB
データの色変換に必要なLUTデータの格納場所のアドレスを計算し(ステップS217
)、そのアドレスをメモリアクセス回路MA2のアドレスキュー51に書き込む(ステッ
プS218)。その後、CPU6aは、図15に示すように、第0(すなわち、1ライン
内の最初)のLUTデータを、メモリアクセス回路MA2のデータキュー52から読み出
し、そのLUTデータに基づいて、第0のRGBデータを第0のCYMKデータへ色変換
する(ステップS221)。なお、CPU6aは、色変換処理を行う前に、プレ変換テー
ブル21を参照してプレ変換を行い、RGBデータの階調を256階調から32階調へ変
換する。また、CPU6aは、色変換後のCYMKデータに対して、エッジ判定(ステッ
プS216)により得られたエッジ情報に基づいてスムージングを施す(ステップS22
2)。さらに、CPU6aは、図15に示すように、内部RAM6bからエンコードテー
ブルデータを読み出し、そのエンコードテーブルデータに基づいて、第0のCYMKデー
タをエンコードし(ステップS223)、エンコード後のデータを中間データとして中間
データバッファ12に格納する(ステップS224)。
Next, as shown in FIG. 15, the
The storage location address of the LUT data necessary for data color conversion is calculated (step S217).
The address is written into the
2). Further, as shown in FIG. 15, the
その後、CPU6aは、カウンタjの値をインクリメントして2(j=2)とする(ス
テップS225)。以下、同様にして、カウンタjの値がnになるまで、上述のステップ
S215〜S218,S220〜S224の処理が繰り返される。
Thereafter, the
そして、カウンタjの値がnになると、CPU6aは、第(n−1)(すなわち、1ラ
イン内の最後)のLUTデータを、メモリアクセス回路MA2のデータキュー52から読
み出し、そのLUTデータに基づいて、第(n−1)のRGBデータを第(n−1)のC
YMKデータへ色変換する(ステップS221)。また、CPU6aは、色変換後のCY
MKデータに対して、エッジ判定(ステップS216)により得られたエッジ情報に基づ
いてスムージングを施す(ステップS222)。さらに、CPU6aは、内部RAM6b
からエンコードテーブルデータを読み出し、そのエンコードテーブルデータに基づいて、
第(n−1)のCYMKデータをエンコードし(ステップS223)、エンコード後のデ
ータを中間データバッファ12に格納する(ステップS224)。
When the value of the counter j reaches n, the
Color conversion to YMK data is performed (step S221). In addition, the
Smoothing is performed on the MK data based on the edge information obtained by the edge determination (step S216) (step S222). Further, the
Read the encoding table data from, and based on the encoding table data,
The (n-1) th CYMK data is encoded (step S223), and the encoded data is stored in the intermediate data buffer 12 (step S224).
その後、CPU6aは、カウンタjの値をインクリメントして(n+1)(j=n+1
)とする(ステップS225)。このため、CPU6aは、ステップS213において、
カウンタjの値がnより大きいと判定し、1ライン分の処理(ステップS204,S21
1〜S225)を完了する。
Thereafter, the
) (Step S225). Therefore, the
It is determined that the value of the counter j is larger than n, and processing for one line (steps S204, S21)
1 to S225) is completed.
このようにして、メモリアクセス回路MA1−1,MA2,MA3−1は、処理に必要
なデータ(RGBデータ、LUTテーブルデータおよびエンコードテーブルデータ)を、
プロセッサ6とは独立に、かつプロセッサ6の処理と並行してバス9を介してDRAM8
から読み出し、バス9を介さずにプロセッサ6に提供する。
In this way, the memory access circuits MA1-1, MA2, and MA3-1 store data (RGB data, LUT table data, and encode table data) necessary for processing.
The
Is provided to the
次に、プロセッサ7における画像処理について説明する。プロセッサ7は、画像データ
を1ラインごと処理する。ただし、画像データの単位は、ブロック(つまり、1エンコー
ドデータ)とされる。図16は、プロセッサ7での1ライン分の画像データに対する画像
処理を説明するフローチャートである。図17は、イメージバッファ13の各領域を示す
図である。図18は、図16の画像処理のデータフローを説明する図である。図17に示
すように、イメージバッファ13には、画像に対応してインクを印刷ヘッドのノズルから
吐出する有効ノズル領域が存在する。そして、印刷ヘッドの位置によっては、NULL領
域が存在する。NULL領域は、印刷用紙のない領域や余白領域に対応する領域で、印刷
ヘッドのインクノズル配列のうち、インクを吐出しないノズル領域である。イメージバッ
ファ13には、印刷ヘッドの1回の走査に必要な2値化データが格納される。つまり、1
回の走査に使用するノズル数と走査方向におけるドット位置の数との積の2値化データが
イメージバッファ13に格納される。なお、インタレース処理によりインク吐出が行われ
る場合には、1回の走査に必要な2値化データが選択されてイメージバッファ13に格納
される。インタレース処理としては、例えば特許第3371302号明細書に開示されて
いる処理がある。なお、NULL領域の有無や位置の情報はプロセッサ1から供給される
。
Next, image processing in the
Binarized data of the product of the number of nozzles used for one scanning and the number of dot positions in the scanning direction is stored in the
図16に示すように、まず、処理すべき上端NULL領域があるか否かが判定され(ス
テップS301)、処理すべき上端NULL領域がある場合、1ライン分のNULLデー
タ(つまりインクを吐出しないためのデータ)が8ラインバッファに書き込まれる(ステ
ップS302)。8ラインバッファへの書き込みが完了すると、8ラインバッファに8ラ
イン分のデータが格納されているか否かが判定され(ステップS303)、8ラインバッ
ファに8ライン分のデータが格納されている場合には、8ラインバッファに格納されてい
るデータは、行と列を交換されて回転された後、イメージバッファ13に格納される(ス
テップS304)。図19は、2値化データの並べ替えについて説明する図である。印刷
ヘッドに供給されるデータは、印刷ヘッドの走査方向に沿って配置されている必要がある
。つまり、最初のインク吐出に必要なデータがイメージバッファ13の先頭に配置され、
印刷ヘッドが移動した後の次のインク吐出に必要なデータがその次に配置されている必要
がある。一方、通常の画像データは、画像ファイル内で、画像の左から右へ向かって1ラ
インずつ配列している。このため、画像データを回転させる。
As shown in FIG. 16, first, it is determined whether there is an upper end NULL area to be processed (step S301). If there is an upper end NULL area to be processed, NULL data for one line (that is, ink is not ejected). Data) is written into the 8-line buffer (step S302). When writing to the 8-line buffer is completed, it is determined whether or not data for 8 lines is stored in the 8-line buffer (step S303), and data for 8 lines is stored in the 8-line buffer. The data stored in the 8-line buffer is stored in the
Data necessary for the next ink ejection after the print head is moved needs to be arranged next. On the other hand, normal image data is arranged line by line from the left to the right of the image in the image file. For this reason, the image data is rotated.
そして、処理すべき上端NULL領域がなくなるまで、ステップS302〜S304の
処理が繰り返し実行される。
Then, the processes in steps S302 to S304 are repeatedly executed until there is no upper end NULL area to be processed.
処理すべき上端NULL領域がないと、次に、処理すべき有効ノズル領域があるか否か
が判定される(ステップS305)。処理すべき有効ノズル領域がある場合、1ライン分
の中間データがデコードされて2値化データが生成され、1ライン分の2値化データが8
ラインバッファに格納される(ステップS306)。8ラインバッファへの書き込みが完
了すると、8ラインバッファに8ライン分のデータが格納されているか否かが判定され(
ステップS307)、8ラインバッファに8ライン分のデータが格納されている場合には
、8ラインバッファに格納されているデータは、行と列を交換されて回転された後、イメ
ージバッファ13に格納される(ステップS308)。そして、処理すべき有効ノズル領
域がなくなるまで、ステップS306〜S308の処理が繰り返し実行される。
If there is no upper NULL region to be processed, it is next determined whether or not there is an effective nozzle region to be processed (step S305). When there is an effective nozzle area to be processed, intermediate data for one line is decoded to generate binarized data, and binarized data for one line is 8
It is stored in the line buffer (step S306). When writing to the 8-line buffer is completed, it is determined whether 8-line data is stored in the 8-line buffer (
In step S307), when data for 8 lines is stored in the 8-line buffer, the data stored in the 8-line buffer is stored in the
処理すべき有効ノズル領域がなくなると、次に、処理すべき残りの領域(つまり、下端
NULL領域)があるか否かが判定される(ステップS309)。処理すべき下端NUL
L領域がある場合、1ライン分のNULLデータが8ラインバッファに書き込まれる(ス
テップS310)。8ラインバッファへの書き込みが完了すると、8ラインバッファに8
ライン分のデータが格納されているか否かが判定され(ステップS311)、8ラインバ
ッファに8ライン分のデータが格納されている場合には、8ラインバッファに格納されて
いるデータは、行と列を交換されて回転された後、イメージバッファ13に格納される(
ステップS312)。そして、処理すべき下端NULL領域がなくなるまで、ステップS
310〜S312の処理が繰り返し実行される。
When there is no more effective nozzle area to be processed, it is next determined whether or not there is a remaining area to be processed (that is, a lower end NULL area) (step S309). Lower end NUL to be processed
When there is an L area, NULL data for one line is written into the 8-line buffer (step S310). When writing to the 8-line buffer is complete, 8
It is determined whether or not data for a line is stored (step S311), and if data for 8 lines is stored in the 8-line buffer, the data stored in the 8-line buffer is After the columns are exchanged and rotated, they are stored in the image buffer 13 (
Step S312). Then, until there is no lower end NULL area to be processed, step S
The processes of 310 to S312 are repeatedly executed.
このようにして、イメージバッファ13の高さ分の2値化データが生成される。そのデ
ータは、印刷ヘッドの1回の走査で使用された後、消去され、次の走査で必要な2値化デ
ータが生成される。
In this way, binary data corresponding to the height of the
図20は、実施の形態1におけるプロセッサ7の動作を説明するフローチャートである
。図21は、図20のステップS411の処理の詳細を説明するフローチャートである。
図22は、図20および図21に示すプロセッサ7の動作時のデータフローを説明する図
である。プロセッサ7へのデータ供給には、2つのメモリアクセス回路MA1−2,MA
3−2が使用される。したがって、プロセッサ7は、メモリアクセス回路MA1−2に対
しては図4(B)の処理手順で動作し、メモリアクセス回路MA3−2に対しては図10
(B)の処理手順で動作する。つまり、図20のステップS410,S411の処理が、
図10(B)のステップS65の処理に相当する。また、図21のステップS423〜S
425の処理が、図4(B)のステップS13の処理に相当する。
FIG. 20 is a flowchart for explaining the operation of the
FIG. 22 is a diagram for explaining the data flow when the
3-2 is used. Therefore, the
It operates according to the processing procedure (B). That is, the processing of steps S410 and S411 in FIG.
This corresponds to the process of step S65 in FIG. Also, steps S423 to S in FIG.
The process of 425 corresponds to the process of step S13 in FIG.
上端NULL領域についての処理(ステップS401〜S404)は、上述の上端NU
LL領域についての処理(ステップS301〜S304)と同様であるので、その説明を
省略する。また、下端NULL領域についての処理(ステップS414〜S417)も、
上述の下端NULL領域についての処理(ステップS309〜S312)と同様であるの
で、その説明を省略する。
The processing for the top NULL region (steps S401 to S404)
Since this is the same as the processing for the LL area (steps S301 to S304), the description thereof is omitted. In addition, the processing for the bottom NULL area (steps S414 to S417) is also performed.
Since it is the same as the process (steps S309 to S312) for the lower end NULL area, the description thereof is omitted.
処理すべき上端NULL領域がないと、まず、CPU7aは、処理すべき有効ノズル領
域があるか否かを判定する(ステップS405)。処理すべき有効ノズル領域があると、
CPU7aは、最初のラインについてのみ(ステップS406)、メモリアクセス回路M
A3−2に、最初のライン用のデコードテーブルデータの先頭アドレスとデータ長を供給
して最初のライン用のデコードテーブルデータをDRAM8から読み出し内部RAM7b
に書き込ませ(ステップS407)、デコードテーブルデータが内部RAM7bに書き込
まれるまで待機する(ステップS408)。
If there is no upper end NULL area to be processed, the
The
A start address and data length of the decode table data for the first line are supplied to A3-2, and the decode table data for the first line is read from the
(Step S407), and waits until the decode table data is written to the
デコードテーブルデータが内部RAM7bに書き込まれると、CPU7aは、メモリア
クセス回路MA3−2に、次のライン用のデコードテーブルデータの先頭アドレスとデー
タ長を供給する(ステップS409)。また、CPU7aは、中間データバッファ12の
先頭アドレスと1ライン分のデータ数をメモリアクセス回路MA1−2に供給する(ステ
ップS410)。
When the decode table data is written to the
メモリアクセス回路MA3−2は、アドレスとデータ長を供給されると、動作を開始し
、そのデコードテーブルデータをDRAM8から読み出し内部RAM7bに書き込む。ま
た、メモリアクセス回路MA1−2は、アドレスとデータ数を供給されると、動作を開始
し、エンコードデータ(すなわち、入力データ)をDRAM8から読み出しデータキュー
41に格納する。
When the address and data length are supplied, the memory access circuit MA3-2 starts its operation, reads the decode table data from the
その後、CPU7aは、メモリアクセス回路MA1−2のデータキュー41からエンコ
ードデータを順次読み出し、内部RAM7bに格納されているデコードテーブルデータに
基づいて1ライン分のデコード処理を行い、デコード処理で生成された1ライン分の2値
化データを8ラインバッファ17に格納する(ステップS411)。
Thereafter, the
エンコードデータは、図22に示すように、メモリアクセス回路MA1−2のデータキ
ュー41からCPU7a内の入力レジスタ71へ読み込まれる(ステップS421)。次
に、CPU7aは、入力レジスタ71から1要素データ(1エンコードデータ)を取得し
、図22に示すように内部RAM7bのデコードテーブルバッファ23に格納されている
デコードテーブルデータに基づいてデコードする。そして、CPU7aは、1ブロック分
の2値化データを生成し(ステップS423)、その1ブロック分の2値化データから、
処理対象ラインの2値化データのみを抽出し(ステップS424)、出力レジスタ72に
格納する(ステップS425)。入力レジスタ71内のデータが順次選択され処理されて
いき(ステップS431)、出力レジスタ72がデータで埋まると(ステップS426)
、CPU7aは、2値化データを8ラインバッファ17へ格納する(ステップS427)
。また、入力レジスタ71内の全要素データを処理したら(ステップS428)、後続の
データがデータキュー41から入力レジスタ71に読み込まれる(ステップS429)。
そして、1ラインの全要素について処理が完了すると(ステップS430)、ステップS
410の処理が完了する。なお、入力レジスタ71および出力レジスタ72は、CPU7
a内に設けられた128ビットのレジスタである。
As shown in FIG. 22, the encoded data is read from the
Only the binarized data of the processing target line is extracted (step S424) and stored in the output register 72 (step S425). Data in the
The
. When all the element data in the
When the processing is completed for all elements in one line (step S430), step S430
The process of 410 is completed. The
It is a 128-bit register provided in a.
このようにして8ラインバッファ17への1ライン分の2値化データの書き込みが完了
すると、CPU7aは、8ラインバッファ17に8ライン分のデータが格納されているか
否かを判定する(ステップS412)。8ラインバッファ17に8ライン分のデータが格
納されている場合には、CPU7aは、8ラインバッファ17に格納されているデータを
、内部RAM7bにおける作業バッファ24を使用して行と列を交換して、イメージバッ
ファ13に格納する(ステップS413)。図23は、プロセッサ7による2値化データ
の並べ替え動作について説明する図である。図23に示すように、8ラインバッファ17
から読み出されたデータは、そのまま作業バッファ24に格納される。そして、作業バッ
ファ24に格納されたデータは、一定間隔で読み出されて、イメージバッファ13に格納
される。なお、DRAM8に対する直接のアクセス回数を減らすために、作業バッファ2
4の列および行のビット数分の連続データが、1回のアクセスでDRAM8内の連続する
記憶領域に対して読み書きされる。例えば、1ビットの2値化データを使用し8ノズル分
ごとに印刷ヘッドへデータを供給する場合、8ビットを単位として並べ替えが行われる。
また、作業バッファ24の列および行のビット数は、DRAM8へのデータアクセス時の
単位(例えば128ビット)と同一とされる。
When the writing of binary data for one line to the 8-
The data read from is stored in the
Continuous data corresponding to the number of bits of four columns and rows is read from and written to continuous storage areas in the
The number of bits in the columns and rows of the
そして、処理すべき有効ノズル領域がなくなるまで、ステップS408〜S412の処
理が繰り返し実行される。
Then, the processes in steps S408 to S412 are repeatedly executed until there is no effective nozzle area to be processed.
このようにして、メモリアクセス回路MA1−2,MA3−2は、処理に必要なデータ
(エンコードデータおよびデコードテーブルデータ)を、プロセッサ7とは独立に、かつ
プロセッサ7の処理と並行してバス9を介してDRAM8から読み出し、バス9を介さず
にプロセッサ7に提供する。
In this way, the memory access circuits MA1-2 and MA3-2 send data (encoded data and decode table data) necessary for processing to the
実施の形態2.
本発明の実施の形態2に係る画像処理装置は、ハーフトーン処理の方式としてディザ方
式を使用するものである。実施の形態1では、プロセッサ6およびプロセッサ7の2つの
プロセッサによりハーフトーン処理が実行されるが、実施の形態2では、1つのプロセッ
サ6によりディザ方式のハーフトーン処理が実行される。図24は、実施の形態2に係る
画像処理装置のうち、プロセッサ6,7によるデータ処理に関連する構成を示すブロック
図である。実施の形態2では、エンコードテーブル15およびエンコードテーブルバッフ
ァ22の代わりに、ディザマトリクスデータ81およびディザマトリクスバッファ82が
設けられる。DRAM8にディザマトリクスデータ81が格納され、メモリアクセス回路
MA3−1は、ディザマトリクスデータ81を読み出し、内部RAM6bにおけるディザ
マトリクスバッファ82に格納する。また、実施の形態2には、デコードテーブル16、
メモリアクセス回路MA3−2およびデコードテーブルバッファ23は存在しない。実施
の形態2では、プロセッサ6は、ディザ方式のハーフトーン処理を実行し、プロセッサ7
は、ハーフトーン処理を行わない。なお、図24におけるその他の構成については、実施
の形態1(図2)のものと同様であるので、その説明を省略する。
Embodiment 2. FIG.
The image processing apparatus according to Embodiment 2 of the present invention uses a dither method as a halftone processing method. In the first embodiment, halftone processing is executed by the two
Memory access circuit MA3-2 and decode
Does not perform halftone processing. Other configurations in FIG. 24 are the same as those in the first embodiment (FIG. 2), and thus description thereof is omitted.
次に、上記装置の動作について説明する。まず、実施の形態2におけるプロセッサ6の
動作について説明する。図25は、実施の形態2におけるプロセッサ6の動作を説明する
フローチャートである。図26は、図25に示すプロセッサ6の動作時のデータフローを
説明する図である。図25に示すように、実施の形態2におけるプロセッサ6のCPU6
aは、各ライン用のエンコードテーブルデータの代わりにディザマトリクスデータをメモ
リアクセス回路MA3−1に要求する(ステップS201a,S204a)。メモリアク
セス回路MA3−1は、指定されたディザマトリクスデータ81をDRAM8から読み出
し、内部RAM6bに格納する。そして、CPU6aは、図26に示すように、内部RA
M6bのディザマトリクスバッファ82からディザマトリクスデータを読み出し、ハーフ
トーン処理を実行し(ステップS223a)、2値化されたデータを中間データとして中
間データバッファ12に格納する(ステップS224)。
Next, the operation of the above apparatus will be described. First, the operation of the
a requests dither matrix data from the memory access circuit MA3-1 instead of the encoding table data for each line (steps S201a and S204a). The memory access circuit MA3-1 reads the designated
The dither matrix data is read from the M6b
なお、実施の形態2におけるプロセッサ6のその他の動作については、実施の形態1の
ものと同様であるので、その説明を省略する。
Since other operations of the
次に、実施の形態2におけるプロセッサ7の動作について説明する。図27は、実施の
形態2におけるプロセッサ7の動作を説明するフローチャートである。図28は、図27
のステップS502の処理の詳細を説明するフローチャートである。図29は、図27お
よび図28に示すプロセッサ7の動作時のデータフローを説明する図である。図27に示
すように、上端NULL領域に関する処理(ステップS401〜S404)および下端N
ULL領域に関する処理(ステップS414〜S417)については、実施の形態1の場
合と同様であるので、その説明を省略し、ここでは、有効ノズル領域に関する処理につい
て説明する。
Next, the operation of the
It is a flowchart explaining the detail of the process of step S502. FIG. 29 is a diagram for explaining the data flow when the
Since the process related to the UL area (steps S414 to S417) is the same as that in the first embodiment, the description thereof will be omitted, and the process related to the effective nozzle area will be described here.
実施の形態2では、プロセッサ6によりハーフトーン処理が実行され、中間データとし
て2値化後のデータが中間データバッファ12に格納される。したがって、プロセッサ7
の入力データは、既に2値化されている。そのため、プロセッサ7は、データの抽出およ
び並べ替えを行って、イメージバッファ17用の2値化データを生成する。
In the second embodiment, halftone processing is executed by the
Is already binarized. Therefore, the
プロセッサ7のCPU7aは、処理すべき有効ノズル領域があるか否かを判定する(ス
テップS501)。処理すべき有効ノズル領域がある場合、CPU7aは、メモリアクセ
ス回路MA1−2のデータバッファ41から中間データを読み込み、1ラインの2値化デ
ータに必要な2値化データを8ラインバッファ17に格納する(ステップS502)。な
お、ディザ方式においても、ブロック単位で2値化が行われるため、ブロック単位で中間
データは配列されている。このため、各ブロックの2値化データから、1ラインに必要な
2値化データが抽出される。
The
その際、図29に示すように、中間データが入力レジスタ71へロードされ(ステップ
S511)、CPU7aは、入力レジスタ71にロードされた中間データから1ラインの
2値化データに必要なデータを抽出し(ステップS512)、出力レジスタ72に格納す
る(ステップS513)。入力レジスタ71にロードされた全データが処理されると後続
のデータが入力レジスタ71に読み出される。また、出力レジスタ72がデータで埋まる
と、出力レジスタ72内のデータは、8ラインバッファ17に格納され(ステップS51
4)、その後、消去される。ステップS511〜S514の処理は、1ラインの2値化デ
ータが生成されるまで(ステップS515)、繰り返し実行される。
At that time, as shown in FIG. 29, the intermediate data is loaded into the input register 71 (step S511), and the
4) After that, it is erased. The processes in steps S511 to S514 are repeatedly executed until one line of binarized data is generated (step S515).
8ラインバッファ17への書き込みが完了すると、CPU7aは、8ラインバッファ1
7に8ライン分のデータが格納されているか否かを判定し(ステップS503)、8ライ
ンバッファ17に8ライン分のデータが格納されている場合には、8ラインバッファ17
に格納されているデータを、行と列を交換した後、イメージバッファ13に格納する(ス
テップS504)。
When the writing to the 8-
7 determines whether data for 8 lines is stored (step S503). If data for 8 lines is stored in the 8-
Is stored in the
実施の形態3.
本発明の実施の形態3に係る画像処理装置は、ハーフトーン処理の方式として誤差拡散
方式を使用するものである。実施の形態1では、プロセッサ6およびプロセッサ7の2つ
のプロセッサによりハーフトーン処理が実行されるが、実施の形態3では、プロセッサ6
により誤差拡散方式のハーフトーン処理が実行される。実施の形態3におけるハーフトー
ン処理の誤差拡散方式は、例えば特開2002−199220号公報に開示されているも
のであり、誤差データを逐次的に読み込んで1ライン分のハーフトーン処理を実行可能な
ものである。
The image processing apparatus according to
Thus, error diffusion halftone processing is executed. The error diffusion method for halftone processing in the third embodiment is disclosed in, for example, Japanese Patent Laid-Open No. 2002-199220, and can sequentially read error data and execute halftone processing for one line. Is.
図30は、実施の形態3に係る画像処理装置のうち、プロセッサ6,7によるデータ処
理に関連する構成を示すブロック図である。実施の形態3では、実施の形態1のエンコー
ドテーブル15、メモリアクセス回路MA3−1およびエンコードテーブルバッファ22
の代わりに、誤差バッファ91およびメモリアクセス回路MA1−3が設けられる。DR
AM8には誤差バッファ91が設けられ、CPU6aによるハーフトーン処理時の誤差デ
ータが格納される。メモリアクセス回路MA1−3は、メモリアクセス回路MA1−1,
MA1−2と同様のものであり、DRAM8の誤差バッファ91から誤差データを順次読
み出し、データキュー41に格納する。
FIG. 30 is a block diagram illustrating a configuration related to data processing by the
Instead of these, an
The
Similar to MA1-2, the error data is sequentially read from the
なお、図30におけるその他の構成については、実施の形態1または実施の形態2のも
のと同様であるので、その説明を省略する。実施の形態3におけるプロセッサ7およびメ
モリアクセス回路MA1−2の構成および動作については、実施の形態2のものと同様で
あるので、その説明を省略する。
Other configurations in FIG. 30 are the same as those in the first embodiment or the second embodiment, and thus description thereof is omitted. Since the configuration and operation of the
次に、上記装置の動作について説明する。図31は、実施の形態3におけるプロセッサ
6の動作を説明するフローチャートである。実施の形態3では、メモリアクセス回路MA
1−1,MA1−3により、プロセッサ6に、RGBデータおよび誤差データが提供され
る。各ラインの処理の最初に、CPU6aは、誤差バッファの先頭アドレスおよびデータ
数を指定してメモリアクセス回路MA1−3を起動し(ステップS601)、RGBデー
タバッファ11の先頭アドレスおよびデータ数を指定してメモリアクセス回路MA1−1
を起動する(ステップS211)。そして、ハーフトーン処理時には、CPU6aは、内
部RAM6bに格納されている誤差データを参照しつつ誤差拡散方式の処理を行い、発生
した誤差データを誤差バッファ91に格納する(ステップS223b)。そして、CPU
6aは、2値化されたデータを中間データとして中間データバッファ12に格納する(ス
テップS224)。
Next, the operation of the above apparatus will be described. FIG. 31 is a flowchart for explaining the operation of the
1-1 and MA1-3 provide the
Is activated (step S211). At the time of halftone processing, the
6a stores the binarized data in the
なお、実施の形態3におけるプロセッサ6のその他の動作については、実施の形態1ま
たは実施の形態2のものと同様であるので、その説明を省略する。
Since other operations of the
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。例えば、上記各実施の形態のハーフトーン処理において、2値化データではなく4
値化データを生成するようにしてもよい。4値化データはドットの有無とドットのサイズ
を2ビットで表すデータである。したがって、印刷ヘッドへ8要素ごとにデータを供給す
る場合には、16ビット単位でデータが供給される。また、8ラインバッファ17および
イメージバッファ13のサイズも、印刷ヘッドに供給されるデータ単位のサイズに応じて
変更してもよい。また、上記各実施の形態におけるカウンタには、CPU6a,7a内部
のレジスタまたは内部RAM6b,7bの記憶領域が使用される。
Each embodiment described above is a preferred example of the present invention, but the present invention is not limited to these, and various modifications and changes can be made without departing from the scope of the present invention. It is. For example, in the halftone process of each of the above embodiments, the binarized data is not 4
You may make it produce | generate value data. The quaternarized data is data representing the presence / absence of dots and the dot size in 2 bits. Accordingly, when data is supplied to the print head every 8 elements, the data is supplied in units of 16 bits. The sizes of the 8-
本発明は、例えば、複数のプロセッサを有するプリンタに適用可能である。 The present invention is applicable to, for example, a printer having a plurality of processors.
6,7 プロセッサ(演算処理手段)、6b,7b 内部RAM(内部メモリ)、8
DRAM(メモリ)、9 バス、14 LUT(テーブル)、15 エンコードテーブル
(テーブル)、16 デコードテーブル(テーブル)、41 データキュー、42 制御
回路、51 アドレスキュー、52 データキュー、53 制御回路、MA1−1,MA
1−2 メモリアクセス回路(第1のメモリアクセス手段)、MA2,MA3−1,MA
3−2,MA1−3 メモリアクセス回路(第2のメモリアクセス手段)。
6, 7 processor (arithmetic processing means), 6b, 7b internal RAM (internal memory), 8
DRAM (memory), 9 buses, 14 LUT (table), 15 encoding table (table), 16 decoding table (table), 41 data queue, 42 control circuit, 51 address queue, 52 data queue, 53 control circuit, MA1- 1, MA
1-2 Memory access circuit (first memory access means), MA2, MA3-1, MA
3-2, MA1-3 Memory access circuit (second memory access means).
Claims (5)
上記複数の演算処理手段のうちのいずれか1つの演算処理手段であって、テーブルを使用して、一連の画像データに対して画像処理を順次施す演算処理手段と、
上記演算処理手段とは独立に動作し上記演算処理手段の画像処理と並行して、上記バスを介して上記メモリから上記画像データを取得し上記バスを介さずに上記演算処理手段に供給する第1のメモリアクセス手段と、
上記演算処理手段とは独立に動作し上記演算処理手段の画像処理と並行して、上記バスを介して上記メモリから上記テーブルを取得し上記バスを介さずに上記演算処理手段に供給する第2のメモリアクセス手段と、を備え、
前記演算処理手段は、少なくとも2つのバンクを有する内部メモリを有し、
前記第2のメモリアクセス手段は、前記演算処理手段から先頭アドレスを取得すると、その先頭アドレスから所定長のデータを前記メモリから前記バスを介して取得し、上記内部メモリの一方のバンクおよび他方のバンクのいずれかに交互に格納すること、を特徴とする画像処理装置。 In an image processing apparatus comprising a plurality of arithmetic processing means, a memory, and a bus connecting each of the plurality of arithmetic processing means and the memory,
Any one of the plurality of arithmetic processing means, wherein the arithmetic processing means sequentially performs image processing on a series of image data using a table;
In parallel with the image processing of the arithmetic processing means, the image data is acquired from the memory via the bus and supplied to the arithmetic processing means without going through the bus. 1 memory access means;
A second operation that operates independently of the arithmetic processing means and obtains the table from the memory via the bus and supplies the table to the arithmetic processing means via the bus in parallel with the image processing of the arithmetic processing means. comprising of a memory access means, and
The arithmetic processing means has an internal memory having at least two banks,
When the second memory access means obtains the head address from the arithmetic processing means, the second memory access means obtains data of a predetermined length from the head address from the memory via the bus, and one bank and the other of the internal memory An image processing apparatus characterized by storing alternately in any of the banks .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006116490A JP4867452B2 (en) | 2006-04-20 | 2006-04-20 | Image processing apparatus and printing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006116490A JP4867452B2 (en) | 2006-04-20 | 2006-04-20 | Image processing apparatus and printing apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007287072A JP2007287072A (en) | 2007-11-01 |
| JP4867452B2 true JP4867452B2 (en) | 2012-02-01 |
Family
ID=38758761
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2006116490A Expired - Fee Related JP4867452B2 (en) | 2006-04-20 | 2006-04-20 | Image processing apparatus and printing apparatus |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4867452B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015198395A1 (en) * | 2014-06-24 | 2015-12-30 | 株式会社日立製作所 | Parallel computing device and control method therefor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH05128240A (en) * | 1991-10-31 | 1993-05-25 | Fujitsu General Ltd | Picture data transfer system for picture processor |
| JPH06324999A (en) * | 1993-05-14 | 1994-11-25 | Hitachi Ltd | Multiprocessor system |
| JP3573614B2 (en) * | 1998-03-05 | 2004-10-06 | 株式会社日立製作所 | Image processing apparatus and image processing system |
| JP3425421B2 (en) * | 2000-10-10 | 2003-07-14 | 株式会社日立製作所 | Multiprocessor system |
| JP2004355049A (en) * | 2003-05-26 | 2004-12-16 | Sony Corp | Processor system |
| JP2005260424A (en) * | 2004-03-10 | 2005-09-22 | Seiko Epson Corp | Allocation of load when image processing is executed in parallel |
-
2006
- 2006-04-20 JP JP2006116490A patent/JP4867452B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007287072A (en) | 2007-11-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1187059B1 (en) | Method and apparatus for printing computer generated images | |
| JP6772020B2 (en) | Image processing device, control method of image processing device, and program | |
| JP4867452B2 (en) | Image processing apparatus and printing apparatus | |
| JP2000354168A (en) | Image processing device and copy system | |
| JP7332367B2 (en) | Image processing device and image processing method | |
| JP3912372B2 (en) | Color image processing device | |
| US20050285871A1 (en) | Image-processing circuit, electronic apparatus, and method for processing image | |
| JP2003099391A (en) | DMA transfer method | |
| JP4345055B2 (en) | Image processing apparatus and method, and printer system | |
| JP2001096854A (en) | Apparatus and method for printing processing | |
| JP5151328B2 (en) | Image forming apparatus, image transfer method, program, and recording medium | |
| JP2005109856A (en) | Picture rotation circuit and picture processor having the same | |
| US20220332126A1 (en) | Image processing apparatus, method of controlling the same, and storage medium | |
| JP3912371B2 (en) | Color image processing device | |
| AU767448B2 (en) | Method and apparatus for printing computer generated images | |
| JP5826147B2 (en) | Image forming apparatus | |
| JP4765590B2 (en) | Printing apparatus and control method thereof | |
| JP2005305833A (en) | Printing device | |
| JP5899860B2 (en) | Printing apparatus and printing method of printing apparatus | |
| JP2005050341A (en) | Image processor and its method | |
| JP2020185686A (en) | Image processing device. | |
| JP2004120714A (en) | MFP | |
| JPH11138917A (en) | Image data conversion apparatus and image data conversion method | |
| JPH0591292A (en) | Recorder | |
| JPH11348257A (en) | Image recording device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081127 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110228 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110502 |
|
| 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: 20111018 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111031 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |