Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4867452B2 - Image processing apparatus and printing apparatus - Google Patents
[go: Go Back, main page]

JP4867452B2 - Image processing apparatus and printing apparatus - Google Patents

Image processing apparatus and printing apparatus Download PDF

Info

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
Application number
JP2006116490A
Other languages
Japanese (ja)
Other versions
JP2007287072A (en
Inventor
健也 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006116490A priority Critical patent/JP4867452B2/en
Publication of JP2007287072A publication Critical patent/JP2007287072A/en
Application granted granted Critical
Publication of JP4867452B2 publication Critical patent/JP4867452B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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.

特開2005−260424号公報(明細書等)JP-A-2005-260424 (specifications, etc.)

しかしながら、複数のプロセッサを有する共有メモリ型の装置の場合、そのようにキャ
ッシュを使用しても、リード処理時のプロセッサのストール期間は発生する。特に、外部
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値化データを生成する共有メモリ型の
並列処理装置である。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing a hardware configuration of the image processing apparatus according to Embodiment 1 of the present invention. This image processing apparatus is built in a printing apparatus such as an ink jet printer, and is a shared memory type parallel processing apparatus that generates binarized data from image data such as RGB data.

図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 processor 1 is an arithmetic processor that controls the processors 2, 6, and 7 and controls the flow of image processing. The processor 2 is an arithmetic processing unit that controls the processors 3, 4, and 5 to execute image data decoding processing and image correction processing, and also executes resizing processing and layout processing. The decoding process is JPEG (Joint Picture Expert
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 processor 3 is an arithmetic processor that executes the first stage of the decoding process, and the processor 4 is an arithmetic processor that executes the latter stage of the decoding process. The processor 5 is an arithmetic processing unit that executes image correction processing.

また、プロセッサ6は、色変換処理、およびハーフトーン処理のうちのエンコーディン
グ処理を実行する演算処理手段としての演算処理器である。CPU6aは、プロセッサ6
に内蔵される演算処理回路である。内部RAM6bは、プロセッサ6に内蔵されバス9を
介さずにCPU6aに接続された内部メモリである。内部RAM6bには、スタティック
RAMなどの高速なメモリが使用される。
The processor 6 is an arithmetic processing unit as arithmetic processing means for executing encoding processing of color conversion processing and halftone processing. CPU 6a is processor 6
It is the arithmetic processing circuit built in. The internal RAM 6b is an internal memory built in the processor 6 and connected to the CPU 6a without passing through the bus 9. A high-speed memory such as a static RAM is used for the internal RAM 6b.

実施の形態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 processor 7 is an arithmetic processing unit as arithmetic processing means for executing decoding processing of halftone processing and rearrangement processing of binarized data. The CPU 7 a is an arithmetic processing circuit built in the processor 7. The internal RAM 7b is an internal memory built in the processor 7 and connected to the CPU 7a without passing through the bus 9. A high-speed memory such as a static RAM is used as the internal RAM 7b.

なお、プロセッサ1〜7は、それぞれ、図示せぬROMなどの記録媒体に予め格納され
DRAM8にロードされたプログラムを順次読み出して実行し、上述の処理を行う。
Each of the processors 1 to 7 sequentially reads and executes a program stored in advance in a recording medium such as a ROM (not shown) and loaded in the DRAM 8 to perform the above-described processing.

また、ダイナミック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 processors 1 to 7 via the bus 9 and stores various data and programs. The capacity of the DRAM 8 is
It is larger than the capacity of the internal RAMs 6b and 7b. The DRAM 8 includes an RGB data buffer 11,
Storage areas such as an intermediate data buffer 12 and an image buffer 13 are provided. The RGB data buffer 11 is a storage area for temporarily storing RGB data generated by the processing of the processors 3 to 5 and serving as input data for the processor 6. The intermediate data buffer 12 temporarily stores intermediate data that is output data of the processor 6 and is input data of the processor 7 (in the first embodiment, data after the halftone process encoding process, hereinafter referred to as encoded data). This is a storage area to be stored. Image buffer 1
Reference numeral 3 denotes a storage area for temporarily storing binarized data to be output from the processor 7.

また、バス9は、データバスおよびプログラムバスを含み、プロセッサ1〜7のそれぞ
れとDRAM8とを接続する信号路である。
The bus 9 includes a data bus and a program bus, and is a signal path that connects each of the processors 1 to 7 and the DRAM 8.

次に、メモリアクセス回路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 processors 1 to 7 and acquires input data from the DRAM 8 via the bus 9 in parallel with the image processing of the processor 6. 6 is a circuit serving as a first memory access means to be supplied to 6. Also,
The memory access circuit MA2 operates independently of the processors 1 to 7 and acquires the data of the first table from the DRAM 8 via the bus 9 in parallel with the image processing of the processor 6. This is a circuit as a second memory access means for supplying to the memory. Also,
The memory access circuit MA 3-1 operates independently of the processors 1 to 7 and acquires the data of the second table from the DRAM 8 via the bus 9 in parallel with the image processing of the processor 6. This is a circuit as second memory access means to be supplied to the processor 6.

また、メモリアクセス回路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 processors 1 to 7 and acquires input data from the DRAM 8 via the bus 9 in parallel with the image processing of the processor 7. 1 is a circuit as a first memory access means for supplying to the memory. Also,
The memory access circuit MA 3-2 operates independently of the processors 1 to 7 and acquires the data of the third table from the DRAM 8 via the bus 9 in parallel with the image processing of the processor 7. This is a circuit as second memory access means to be supplied to the processor 7.

これらのメモリアクセス回路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 processors 6 and 7 in the image processing apparatus according to the first embodiment. As shown in FIG. 2, the internal RAM of the processor 6
In 6b, a pre-conversion table 21 used when converting the gradation resolution before color conversion is stored, and an encode table buffer 22 is provided. The encoding table buffer 22 is a storage area for temporarily storing encoding table data corresponding to one line of image data. The internal RAM 7b of the processor 7 is provided with a decode table buffer 23 and a work buffer 24. The decode table buffer 23 is a storage area for temporarily storing decode table data corresponding to one line of image data. The work buffer 24 is a storage area used in the rearrangement process.

ここで、各メモリアクセス回路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 data queue 41 and a control circuit 42. The data queue 41 is the CPU 6a or CPU
7a is a storage circuit that holds data sequentially supplied from the control circuit 42 in order. The CPU 6a or the CPU 7a can access the data queue 41 without going through the bus 9, and reads the head data of the data queue 41. The top data of the data queue 41 is
When it is read by the CPU 6a or CPU 7a, it is erased from the data queue 41.
When the control circuit 42 is supplied with the head address and the number of data from the CPU 6a or the CPU 7a, the control circuit 42 starts the operation, specifies the addresses in order from the head address, and the data of the number of data specified from the DRAM 8 via the bus 9. Are sequentially read out and stored in the data queue 41.

図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 processors 6 and 7 when the memory access circuits MA1-1 and MA1-2 are used. FIG. 4A shows memory access circuits MA1-1, MA.
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 (RGB data buffer 11 or intermediate data buffer 12) is specified, the CPUs 6a and 7a The head address and the number of data for one line, for example, are supplied to the memory access circuits MA1-1 and MA1-2 (step S11). The memory access circuits MA1-1 and MA1-2 sequentially read the number of data from the head address and store the data in the data queue 41. The CPUs 6a and 7a read the head data from the data queue 41 (step S12) and execute processing for the data (step S13). The head data of the data queue 41 is erased when read by the read CPU 6a or CPU 7a. After the process is completed, the CPUs 6a and 7a determine whether or not the process for the predetermined number of data has been completed (step S14), and step S12 to step until the process for the predetermined number of data is completed. The process of S14 is repeatedly executed.

図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 CPUs 6a and 7a when the memory access circuits MA1-1 and 1-2 are used. As shown in FIG. 5, the memory access circuit MA1
-1, MA1-2 once activated, the data processing of CPU 6a, 7a (step S13
In parallel with this period, data is acquired from the DRAM 8 in parallel. For this reason, it is possible to reduce the frequency of stalling of the CPUs 6a and 7a due to data waiting, that is, latency.
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 address queue 51 and a data queue 52.
And a control circuit 53. The address queue 51 is connected to the CPU 6a, and the CPU 6
This is a memory circuit for sequentially holding addresses sequentially supplied from a. The head data of the address queue 51 is deleted from the address queue 51 when read by the control circuit 53. The data queue 52 is a storage circuit that is connected to the CPU 6 a and sequentially holds data sequentially supplied from the control circuit 53. The CPU 6 a can access the data queue 52 without using the bus 9, and reads the head data in the data queue 52. The head data of the data queue 52 is deleted from the data queue 52 when read by the CPU 6a. The control circuit 53 is a circuit that monitors the address queue 51, reads an address that is head data of the address queue 51, specifies the address, reads data from the DRAM 8 via the bus 9, and stores the data in the data queue 52. .

図7は、メモリアクセス回路MA2使用時のプロセッサ6の動作を説明するフローチャ
ートである。図7(A)は、メモリアクセス回路MA2を使用しない場合の処理の流れを
示す図である。図7(B)は、メモリアクセス回路MA2を使用する場合の処理の流れを
示す図である。
FIG. 7 is a flowchart for explaining the operation of the processor 6 when the memory access circuit MA2 is used. FIG. 7A shows a processing flow when the memory access circuit MA2 is not used. FIG. 7B is a diagram showing a processing flow when the memory access circuit MA2 is used.

処理全体が前段処理と後段処理に分離でき、後段処理にて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 DRAM 8 is used in the post-stage process, the use of the memory access circuit MA2 is effective.

メモリアクセス回路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 CPU 6a executes the 0th pre-stage process (step S31). Next, the CPU 6a issues the address of the 0th data to the address queue 51 (step S32). Then, the counter i is reset to 0 (step S33). Next, the CPU 6a executes the (i + 1) th pre-stage process (step S34). Thereafter, the CPU 6a reads the i-th data from the data queue 52 (step S35), issues the address of the (i + 1) -th data to the address queue 51 (step S36), and executes the i-th subsequent process. (Step S
37). Then, the CPU 6a increments the counter i by 1 (step S38).
), 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 CPU 6a executes the (n-1
) 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 CPU 6a when the memory access circuit MA2 is used. Although FIG. 8 shows a case where data processing (previous processing and subsequent processing) is executed only four times, the number of times of data processing is usually very large. As shown in FIG. 8, the memory access circuit MA2 performs the pre-processing of the CPU 6a (step S34) and / or
Alternatively, data is acquired from the DRAM 8 in parallel with the period of the subsequent process (step S37). For this reason, it is possible to reduce the frequency of stalling of the CPU 6a due to data waiting, that is, latency.

図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 processor 6
The internal RAM 6b of the processor 7 or the internal RAM 7b of the processor 7 can be accessed, and when the head address and the data size are supplied, data corresponding to the data size is read from the DRAM 8 via the bus 9 and the bank flag 61 Is written in either the first bank 62 or the second bank 63 according to the value of. The value of the bank flag 61 is a 1-bit value, and is switched to 0 or 1 by the CPUs 6a and 7a every time certain processing is completed. The first bank 62 and the second bank 63 are respectively connected to the CPUs 6a and 7a.
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 internal RAMs 6b and 7b, but can store table data used for processing one line of image data in one bank 62 and 63. Used.

図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 processors 6 and 7 when the memory access circuits MA3-1 and MA3-2 are used. FIG. 10A shows a memory access circuit MA3-1.
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 CPUs 6a and 7a supply the head addresses of the table data for the 0th line image data and the data length of the data to the memory access circuits MA3-1 and MA3-2 (step S61). The CPUs 6a and 7a reset the counter i to 0 (step S62).
), And waits until the table data for the 0th line is read to the internal RAMs 6b and 7b (step S63). Thereafter, the CPUs 6a and 7a determine the start address and the data length of the table data for the image data of the (i + 1) -th line as the memory access circuits MA3-1 and MA3-.
2 (step S64), the process for the i-th line is executed (step S).
65). Thereafter, the CPUs 6a and 7a increment the counter i by 1 (step S66), and determine whether data processing for n lines has been executed (step S67).
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 CPU 6a when the memory access circuits MA3-1 and MA3-2 are used.
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 CPUs 6a and 7a.
In parallel with the period), table data is acquired from the DRAM 8 and written to the internal RAMs 6b and 7b. For this reason, it is possible to reduce the frequency of stalling of the CPUs 6a and 7a due to data waiting, that is, latency.

上述のようなアーキテクチャは、例えば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 processor 6 will be described. The processor 6 processes the image data line by line. FIG. 12 is a flowchart for explaining image processing for image data for one line in the processor 6. FIG. 13 is a diagram for explaining the data flow of the image processing of FIG. First, first RGB data is acquired (step S101), and edge determination (step S102) and color conversion processing (step S10) are performed on the RGB data.
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 processor 6 in the first embodiment will be described. FIG. 14 is a flowchart for explaining the operation of the processor 6 in the first embodiment. 15 is similar to FIG.
It is a figure explaining the data flow at the time of operation | movement of the processor 6 shown in FIG. Three memory access circuits MA1-1, MA2 and MA3-1 are used to supply data to the processor 6.
Therefore, the processor 6 operates according to the processing procedure of FIG. 4B for the memory access circuit MA1-1, and operates according to the processing procedure of FIG. 7B for the memory access circuit MA2.
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 CPU 6a of the processor 6 supplies the leading address and data length to the memory access circuit MA3-1 to copy the 0th line encoding table data to the internal RAM 6b (step S201). Then, after resetting the counter i to 0 (step S202), the CPU 6a stores the table data for the 0th line in the internal RAM 6b.
(Step S203). Thereafter, the CPU 6a performs the (i + 1) th
) 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 processor 6, the memory access circuit MA3-1 reads the designated data in the encode table 15 from the DRAM 8 and writes it to the first bank 62 or the second bank 63 of the internal RAM 6b. The table data for one line is stored in the first bank 62 and the second bank 63 alternately for each line. This memory access circuit M
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 CPU 6a identifies the start address of the line to be processed in the RGB data buffer 11, and supplies the start address and the number of data for one line to the memory access circuit MA1-1 (step S211). . The CPU 6a uses the counter j
Is reset to 0 (step S212). Thereafter, the CPU 6a determines that the value of the counter j is n
It is determined whether it is larger (step S213). When the value of the counter j is n or less, the CPU 6a executes the processes of steps S214 to S225.

ステップ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 CPU 6a reads the 0th (ie, the first) RGB data in one line from the data queue 41 of the memory access circuit MA1-1 (step S215). Edge determination is performed on the data (step S21).
6). Thereafter, the CPU 6a calculates the address of the storage location of the LUT data necessary for color conversion of the 0th RGB data (step S217), and uses the address as the memory access circuit MA.
2 is written into the address queue 51 (step S218). Thereafter, the CPU 6a increments the value of the counter j to 1 (j = 1) (step S225).

次に、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 CPU 6a reads the first (that is, second) RGB data in one line from the data queue 41 (step S215), and performs edge determination on the RGB data (step S215). Step S216). After that, the CPU 6a uses the second RGB
The storage location address of the LUT data necessary for data color conversion is calculated (step S217).
The address is written into the address queue 51 of the memory access circuit MA2 (step S218). Thereafter, as shown in FIG. 15, the CPU 6a reads the 0th (that is, the first in one line) LUT data from the data queue 52 of the memory access circuit MA2, and based on the LUT data, the 0th RGB The data is color-converted into 0th CYMK data (step S221). Note that the CPU 6a performs pre-conversion with reference to the pre-conversion table 21 before performing color conversion processing, and converts the gradation of RGB data from 256 gradations to 32 gradations. Further, the CPU 6a performs smoothing on the CYMK data after color conversion based on the edge information obtained by the edge determination (step S216) (step S22).
2). Further, as shown in FIG. 15, the CPU 6a reads the encoding table data from the internal RAM 6b, encodes the 0th CYMK data based on the encoding table data (step S223), and uses the encoded data as intermediate data. Store in the intermediate data buffer 12 (step S224).

その後、CPU6aは、カウンタjの値をインクリメントして2(j=2)とする(ス
テップS225)。以下、同様にして、カウンタjの値がnになるまで、上述のステップ
S215〜S218,S220〜S224の処理が繰り返される。
Thereafter, the CPU 6a increments the value of the counter j to 2 (j = 2) (step S225). In the same manner, the processes in steps S215 to S218 and S220 to S224 described above are repeated until the value of the counter j reaches n.

そして、カウンタ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 CPU 6a reads the (n−1) th (that is, the last in one line) LUT data from the data queue 52 of the memory access circuit MA2, and based on the LUT data. The (n-1) th RGB data is converted into the (n-1) th C data.
Color conversion to YMK data is performed (step S221). In addition, the CPU 6a performs CY after color conversion.
Smoothing is performed on the MK data based on the edge information obtained by the edge determination (step S216) (step S222). Further, the CPU 6a has an internal RAM 6b.
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 CPU 6a increments the value of the counter j to (n + 1) (j = n + 1
) (Step S225). Therefore, the CPU 6a, in step S213,
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 DRAM 8 via the bus 9 independently of the processor 6 and in parallel with the processing of the processor 6
Is provided to the processor 6 without going through the bus 9.

次に、プロセッサ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 processor 7 will be described. The processor 7 processes the image data line by line. However, the unit of the image data is a block (that is, one encoded data). FIG. 16 is a flowchart for explaining image processing for image data for one line in the processor 7. FIG. 17 is a diagram showing each area of the image buffer 13. FIG. 18 is a diagram for explaining the data flow of the image processing of FIG. As shown in FIG. 17, the image buffer 13 has an effective nozzle area that ejects ink from the nozzles of the print head corresponding to the image. Depending on the position of the print head, a NULL area exists. The NULL region is a region corresponding to a region where there is no printing paper or a blank region, and is a nozzle region which does not eject ink in the ink nozzle array of the print head. The image buffer 13 stores binary data necessary for one scan of the print head. That is, 1
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 image buffer 13. When ink is ejected by interlace processing, binarized data necessary for one scan is selected and stored in the image buffer 13. As interlace processing, for example, there is processing disclosed in Japanese Patent No. 3371302. Note that the presence / absence and location information of the NULL area is supplied from the processor 1.

図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 image buffer 13 after the rows and columns are exchanged and rotated (step S304). FIG. 19 is a diagram illustrating rearrangement of binarized data. The data supplied to the print head needs to be arranged along the scanning direction of the print head. That is, data necessary for the first ink ejection is arranged at the top of the image buffer 13,
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 image buffer 13 after the rows and columns are exchanged and rotated. (Step S308). Then, the processes in steps S306 to S308 are repeatedly executed until there is no effective nozzle area to be processed.

処理すべき有効ノズル領域がなくなると、次に、処理すべき残りの領域(つまり、下端
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 image buffer 13 is generated. The data is erased after being used in one scan of the print head, and necessary binary data is generated in the next scan.

図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 processor 7 in the first embodiment. FIG. 21 is a flowchart illustrating details of the process in step S411 of FIG.
FIG. 22 is a diagram for explaining the data flow when the processor 7 shown in FIGS. 20 and 21 is operating. For supplying data to the processor 7, two memory access circuits MA1-2, MA
3-2 is used. Therefore, the processor 7 operates according to the processing procedure of FIG. 4B for the memory access circuit MA1-2, and for the memory access circuit MA3-2, FIG.
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 CPU 7a first determines whether there is an effective nozzle area to be processed (step S405). If there is an effective nozzle area to be processed,
The CPU 7a performs the memory access circuit M only for the first line (step S406).
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 DRAM 8 and the internal RAM 7b.
(Step S407), and waits until the decode table data is written to the internal RAM 7b (step S408).

デコードテーブルデータが内部RAM7bに書き込まれると、CPU7aは、メモリア
クセス回路MA3−2に、次のライン用のデコードテーブルデータの先頭アドレスとデー
タ長を供給する(ステップS409)。また、CPU7aは、中間データバッファ12の
先頭アドレスと1ライン分のデータ数をメモリアクセス回路MA1−2に供給する(ステ
ップS410)。
When the decode table data is written to the internal RAM 7b, the CPU 7a supplies the start address and the data length of the decode table data for the next line to the memory access circuit MA3-2 (step S409). Further, the CPU 7a supplies the head address of the intermediate data buffer 12 and the number of data for one line to the memory access circuit MA1-2 (step S410).

メモリアクセス回路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 DRAM 8, and writes it into the internal RAM 7b. Also, when the memory access circuit MA1-2 is supplied with the address and the number of data, the memory access circuit MA1-2 starts to operate and reads encoded data (that is, input data) from the DRAM 8 and stores it in the data queue 41.

その後、CPU7aは、メモリアクセス回路MA1−2のデータキュー41からエンコ
ードデータを順次読み出し、内部RAM7bに格納されているデコードテーブルデータに
基づいて1ライン分のデコード処理を行い、デコード処理で生成された1ライン分の2値
化データを8ラインバッファ17に格納する(ステップS411)。
Thereafter, the CPU 7a sequentially reads the encoded data from the data queue 41 of the memory access circuit MA1-2, performs a decoding process for one line based on the decoding table data stored in the internal RAM 7b, and is generated by the decoding process. The binarized data for one line is stored in the 8-line buffer 17 (step S411).

エンコードデータは、図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 data queue 41 of the memory access circuit MA1-2 to the input register 71 in the CPU 7a (step S421). Next, the CPU 7a obtains one element data (one encoded data) from the input register 71 and decodes it based on the decode table data stored in the decode table buffer 23 of the internal RAM 7b as shown in FIG. Then, the CPU 7a generates binarized data for one block (step S423), and from the binarized data for one block,
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 input register 71 is sequentially selected and processed (step S431), and when the output register 72 is filled with data (step S426).
The CPU 7a stores the binarized data in the 8-line buffer 17 (step S427).
. When all the element data in the input register 71 is processed (step S428), subsequent data is read from the data queue 41 to the input register 71 (step S429).
When the processing is completed for all elements in one line (step S430), step S430
The process of 410 is completed. The input register 71 and the output register 72 are connected to the CPU 7.
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-line buffer 17 is completed in this way, the CPU 7a determines whether or not data for 8 lines is stored in the 8-line buffer 17 (step S412). ). When data for 8 lines is stored in the 8-line buffer 17, the CPU 7a exchanges the data stored in the 8-line buffer 17 for rows and columns using the work buffer 24 in the internal RAM 7b. And stored in the image buffer 13 (step S413). FIG. 23 is a diagram for explaining the binarized data rearrangement operation by the processor 7. As shown in FIG. 23, the 8-line buffer 17
The data read from is stored in the work buffer 24 as it is. The data stored in the work buffer 24 is read at regular intervals and stored in the image buffer 13. In order to reduce the number of direct accesses to the DRAM 8, the work buffer 2
Continuous data corresponding to the number of bits of four columns and rows is read from and written to continuous storage areas in the DRAM 8 in one access. For example, when 1-bit binarized data is used and data is supplied to the print head every 8 nozzles, rearrangement is performed in units of 8 bits.
The number of bits in the columns and rows of the work buffer 24 is the same as the unit (for example, 128 bits) at the time of data access to the DRAM 8.

そして、処理すべき有効ノズル領域がなくなるまで、ステップ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 bus 9 independently of the processor 7 and in parallel with the processing of the processor 7. And is provided to the processor 7 without going through the bus 9.

実施の形態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 processors 6 and 7. In the second embodiment, one processor 6 executes dither halftone processing. FIG. 24 is a block diagram illustrating a configuration related to data processing by the processors 6 and 7 in the image processing apparatus according to the second embodiment. In the second embodiment, dither matrix data 81 and dither matrix buffer 82 are provided instead of the encode table 15 and the encode table buffer 22. The dither matrix data 81 is stored in the DRAM 8, and the memory access circuit MA3-1 reads the dither matrix data 81 and stores it in the dither matrix buffer 82 in the internal RAM 6b. In the second embodiment, the decode table 16,
Memory access circuit MA3-2 and decode table buffer 23 do not exist. In the second embodiment, the processor 6 executes dither halftone processing, and the processor 7
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 processor 6 in the second embodiment will be described. FIG. 25 is a flowchart for explaining the operation of the processor 6 in the second embodiment. FIG. 26 is a diagram for explaining the data flow during operation of the processor 6 shown in FIG. As shown in FIG. 25, the CPU 6 of the processor 6 in the second embodiment.
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 dither matrix data 81 from the DRAM 8 and stores it in the internal RAM 6b. Then, the CPU 6a, as shown in FIG.
The dither matrix data is read from the M6b dither matrix buffer 82, halftone processing is executed (step S223a), and the binarized data is stored in the intermediate data buffer 12 as intermediate data (step S224).

なお、実施の形態2におけるプロセッサ6のその他の動作については、実施の形態1の
ものと同様であるので、その説明を省略する。
Since other operations of the processor 6 in the second embodiment are the same as those in the first embodiment, description thereof is omitted.

次に、実施の形態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 processor 7 in the second embodiment will be described. FIG. 27 is a flowchart for explaining the operation of the processor 7 in the second embodiment. FIG. 28 is similar to FIG.
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 processor 7 shown in FIGS. 27 and 28 is operating. As shown in FIG. 27, the processing (steps S401 to S404) regarding the upper end NULL region and the lower end N
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 processor 6 and the binarized data is stored in the intermediate data buffer 12 as intermediate data. Therefore, the processor 7
Is already binarized. Therefore, the processor 7 performs data extraction and rearrangement to generate binarized data for the image buffer 17.

プロセッサ7のCPU7aは、処理すべき有効ノズル領域があるか否かを判定する(ス
テップS501)。処理すべき有効ノズル領域がある場合、CPU7aは、メモリアクセ
ス回路MA1−2のデータバッファ41から中間データを読み込み、1ラインの2値化デ
ータに必要な2値化データを8ラインバッファ17に格納する(ステップS502)。な
お、ディザ方式においても、ブロック単位で2値化が行われるため、ブロック単位で中間
データは配列されている。このため、各ブロックの2値化データから、1ラインに必要な
2値化データが抽出される。
The CPU 7a of the processor 7 determines whether or not there is an effective nozzle area to be processed (step S501). When there is an effective nozzle area to be processed, the CPU 7a reads the intermediate data from the data buffer 41 of the memory access circuit MA1-2 and stores the binarized data necessary for the one-line binarized data in the 8-line buffer 17. (Step S502). In the dither method, since binarization is performed in units of blocks, intermediate data is arranged in units of blocks. For this reason, the binarized data necessary for one line is extracted from the binarized data of each block.

その際、図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 CPU 7a extracts data necessary for one-line binarized data from the intermediate data loaded into the input register 71. (Step S512) and stored in the output register 72 (step S513). When all the data loaded in the input register 71 is processed, subsequent data is read out to the input register 71. When the output register 72 is filled with data, the data in the output register 72 is stored in the 8-line buffer 17 (step S51).
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-line buffer 17 is completed, the CPU 7a executes the 8-line buffer 1
7 determines whether data for 8 lines is stored (step S503). If data for 8 lines is stored in the 8-line buffer 17, the 8-line buffer 17
Is stored in the image buffer 13 after exchanging the rows and columns (step S504).

実施の形態3.
本発明の実施の形態3に係る画像処理装置は、ハーフトーン処理の方式として誤差拡散
方式を使用するものである。実施の形態1では、プロセッサ6およびプロセッサ7の2つ
のプロセッサによりハーフトーン処理が実行されるが、実施の形態3では、プロセッサ6
により誤差拡散方式のハーフトーン処理が実行される。実施の形態3におけるハーフトー
ン処理の誤差拡散方式は、例えば特開2002−199220号公報に開示されているも
のであり、誤差データを逐次的に読み込んで1ライン分のハーフトーン処理を実行可能な
ものである。
Embodiment 3 FIG.
The image processing apparatus according to Embodiment 3 of the present invention uses an error diffusion method as a halftone processing method. In the first embodiment, halftone processing is executed by two processors, the processor 6 and the processor 7, but in the third embodiment, the processor 6
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 processors 6 and 7 in the image processing apparatus according to the third embodiment. In the third embodiment, the encoding table 15, the memory access circuit MA3-1, and the encoding table buffer 22 of the first embodiment.
Instead of these, an error buffer 91 and memory access circuits MA1-3 are provided. DR
The AM 8 is provided with an error buffer 91 for storing error data at the time of halftone processing by the CPU 6a. Memory access circuits MA1-3 are memory access circuits MA1-1, MA1-1.
Similar to MA1-2, the error data is sequentially read from the error buffer 91 of the DRAM 8 and stored in the data queue 41.

なお、図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 processor 7 and the memory access circuit MA1-2 in the third embodiment are the same as those in the second embodiment, description thereof is omitted.

次に、上記装置の動作について説明する。図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 processor 6 in the third embodiment. In the third embodiment, the memory access circuit MA
1-1 and MA1-3 provide the processor 6 with RGB data and error data. At the beginning of the processing of each line, the CPU 6a designates the start address of the error buffer and the number of data and activates the memory access circuit MA1-3 (step S601), and designates the start address and the number of data of the RGB data buffer 11. Memory access circuit MA1-1
Is activated (step S211). At the time of halftone processing, the CPU 6a performs error diffusion processing while referring to error data stored in the internal RAM 6b, and stores the generated error data in the error buffer 91 (step S223b). And CPU
6a stores the binarized data in the intermediate data buffer 12 as intermediate data (step S224).

なお、実施の形態3におけるプロセッサ6のその他の動作については、実施の形態1ま
たは実施の形態2のものと同様であるので、その説明を省略する。
Since other operations of the processor 6 in the third embodiment are the same as those in the first or second embodiment, the description thereof is omitted.

なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定さ
れるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能で
ある。例えば、上記各実施の形態のハーフトーン処理において、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-line buffer 17 and the image buffer 13 may also be changed according to the size of the data unit supplied to the print head. The counters in the above embodiments use registers in the CPUs 6a and 7a or storage areas in the internal RAMs 6b and 7b.

本発明は、例えば、複数のプロセッサを有するプリンタに適用可能である。   The present invention is applicable to, for example, a printer having a plurality of processors.

本発明の実施の形態1に係る画像処理装置の構成図である。1 is a configuration diagram of an image processing apparatus according to Embodiment 1 of the present invention. 実施の形態1におけるプロセッサ6,7周辺の構成図である。2 is a configuration diagram around processors 6 and 7 in Embodiment 1. FIG. メモリアクセス回路MA1およびその周辺の構成図である。2 is a configuration diagram of a memory access circuit MA1 and its periphery. FIG. メモリアクセス回路MA1使用時のプロセッサ動作を説明する図である。It is a figure explaining processor operation at the time of memory access circuit MA1 use. メモリアクセス回路MA1使用時の処理スケジュール例を示す図である。It is a figure which shows the example of a process schedule at the time of memory access circuit MA1 use. メモリアクセス回路MA2およびその周辺の構成図である。2 is a configuration diagram of a memory access circuit MA2 and its periphery. FIG. メモリアクセス回路MA2使用時のプロセッサ動作を説明する図である。It is a figure explaining processor operation at the time of memory access circuit MA2 use. メモリアクセス回路MA2使用時の処理スケジュール例を示す図である。It is a figure which shows the example of a process schedule at the time of memory access circuit MA2 use. メモリアクセス回路MA3の周辺の構成を示すブロック図である。4 is a block diagram showing a configuration around a memory access circuit MA3. FIG. メモリアクセス回路MA3使用時のプロセッサ動作を説明する図である。It is a figure explaining processor operation at the time of memory access circuit MA3 use. メモリアクセス回路MA3使用時の処理スケジュール例を示す図である。It is a figure which shows the example of a process schedule at the time of memory access circuit MA3 use. プロセッサ6での画像処理を説明するフローチャートである。6 is a flowchart for explaining image processing in a processor 6; 図12の画像処理のデータフローを説明する図である。It is a figure explaining the data flow of the image processing of FIG. 実施の形態1におけるプロセッサ6の動作を説明する図である。6 is a diagram for explaining the operation of the processor 6 in Embodiment 1. FIG. 図14に示すプロセッサ動作時のデータフローを説明する図である。It is a figure explaining the data flow at the time of the processor operation | movement shown in FIG. プロセッサ7での画像処理を説明するフローチャートである。6 is a flowchart for explaining image processing in a processor 7; イメージバッファの各領域を示す図である。It is a figure which shows each area | region of an image buffer. 図16の画像処理のデータフローを説明する図である。It is a figure explaining the data flow of the image processing of FIG. 2値化データの並べ替えについて説明する図である。It is a figure explaining rearrangement of binarized data. 実施の形態1におけるプロセッサ7の動作を説明する図である。6 is a diagram for explaining the operation of the processor 7 in Embodiment 1. FIG. 図20のステップS411の処理の詳細を説明する図である。It is a figure explaining the detail of the process of step S411 of FIG. 図20に示すプロセッサ動作時のデータフローを説明する図である。It is a figure explaining the data flow at the time of processor operation shown in FIG. プロセッサ7による2値化データの並べ替え動作を説明する図である。It is a figure explaining the rearrangement operation | movement of the binarized data by the processor. 実施の形態2におけるプロセッサ6,7周辺の構成図である。FIG. 6 is a configuration diagram around processors 6 and 7 in a second embodiment. 実施の形態2におけるプロセッサ6の動作を説明する図である。FIG. 10 is a diagram for explaining the operation of the processor 6 in the second embodiment. 図25に示すプロセッサ動作時のデータフローを説明する図である。It is a figure explaining the data flow at the time of the processor operation | movement shown in FIG. 実施の形態2におけるプロセッサ7の動作を説明する図である。FIG. 10 is a diagram for explaining the operation of the processor 7 in the second embodiment. 図27のステップS502の処理の詳細を説明する図である。It is a figure explaining the detail of the process of step S502 of FIG. 図27に示すプロセッサ動作時のデータフローを説明する図である。It is a figure explaining the data flow at the time of the processor operation | movement shown in FIG. 実施の形態3におけるプロセッサ6,7周辺の構成図である。FIG. 10 is a configuration diagram around processors 6 and 7 in a third embodiment. 実施の形態3におけるプロセッサ6の動作を説明する図である。FIG. 10 is a diagram for explaining the operation of a processor 6 in the third embodiment.

符号の説明Explanation of symbols

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 .
前記第2のメモリアクセス手段は、ハーフトーン処理に使用するテーブルを前記バスを介して前記メモリから取得して、前記バスを介さずに前記演算処理手段に供給し、前記演算処理手段は、そのテーブルを使用して、画像データに対してハーフトーン処理を施すこと、を特徴とする請求項1記載の画像処理装置。 The second memory access means obtains a 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. The image processing apparatus according to claim 1, wherein halftone processing is performed on the image data using a table. 前記第1のメモリアクセス手段は、前記演算処理手段が前記バスを介さずに読み取り可能なデータキューと、前記演算処理手段から先頭アドレスを取得すると、その先頭アドレスから順番に画像データを前記メモリから前記バスを介して取得し上記データキューに格納する制御回路とを有することを特徴とする請求項1記載の画像処理装置。 The first memory access means obtains a data queue that can be read by the arithmetic processing means without going through the bus and a head address from the arithmetic processing means, and sequentially transfers image data from the memory from the head address. The image processing apparatus according to claim 1, further comprising a control circuit that acquires the data via the bus and stores the data in the data queue. 前記第2のメモリアクセス手段は、前記演算処理手段が前記バスを介さずに書き込み可能なアドレスキューと、前記演算処理手段が前記バスを介さずに読み取り可能なデータキューと、前記アドレスキューに格納されたアドレスを取得し、前記テーブルのうち、そのアドレスのデータを前記メモリから前記バスを介して取得し上記データキューに格納する制御回路とを有することを特徴とする請求項1から請求項3のうちのいずれか1項記載の画像処理装置。 The second memory access means stores in the address queue that the arithmetic processing means can write without going through the bus, the data queue that the arithmetic processing means can read without going through the bus, and the address queue. 4. A control circuit for acquiring a stored address, acquiring data of the address in the table from the memory via the bus, and storing the data in the data queue. The image processing device according to claim 1. 請求項1から請求項4のうちのいずれか1項記載の画像処理装置を備え、その画像処理装置により画像処理を施されて得られたデータに基づいて印刷処理を行うことを特徴とする印刷装置。 5. A printing system comprising the image processing apparatus according to claim 1 and performing printing processing based on data obtained by performing image processing by the image processing apparatus. apparatus.
JP2006116490A 2006-04-20 2006-04-20 Image processing apparatus and printing apparatus Expired - Fee Related JP4867452B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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