JP2020167470A - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP2020167470A
JP2020167470A JP2019064365A JP2019064365A JP2020167470A JP 2020167470 A JP2020167470 A JP 2020167470A JP 2019064365 A JP2019064365 A JP 2019064365A JP 2019064365 A JP2019064365 A JP 2019064365A JP 2020167470 A JP2020167470 A JP 2020167470A
Authority
JP
Japan
Prior art keywords
image data
delay
image processing
line
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019064365A
Other languages
Japanese (ja)
Inventor
和哉 藤森
Kazuya Fujimori
和哉 藤森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019064365A priority Critical patent/JP2020167470A/en
Publication of JP2020167470A publication Critical patent/JP2020167470A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide an image processing device realizing scanning conversion with reduced buffer capacity while maintaining transfer efficiency with DRAM.SOLUTION: The image processing device is configured to transmit image data between an external storage and image processing means. The image processing device includes: image data reading means for reading image data from the external storage; image data writing means for writing image data to the external storage; delay giving means for giving a desired delay amount for each line of image data; and image data transfer control means for controlling image data transfer between the external storage and the image processing means. The image data transfer control means controls the image data reading means and the image data writing means to transfer a pixel block having a predetermined number of lines determined by the number of pixels and the amount of pixel shift, where the number of pixels contained in a transfer unit to the external storage is a lateral width of the pixel block.SELECTED DRAWING: Figure 1

Description

本発明は、外部記憶装置に保持された画素データをライン毎に所定の遅延を付加もしくは解消して読み書きする技術に関する。 The present invention relates to a technique for reading and writing pixel data held in an external storage device by adding or eliminating a predetermined delay for each line.

デジタル画像データに対してコンピュータで様々な処理を施すことが広く行われている。近年、画像の高解像度化が進み、従来と比較し扱うデータ量が増大している。 It is widely practiced to perform various processing on digital image data by a computer. In recent years, the resolution of images has been increasing, and the amount of data handled has increased as compared with the conventional ones.

画像処理の中には、疑似階調化手段によって二値化処理を行う誤差拡散法がある。誤差拡散法において走査順に従った逐次的な処理を実施すると、画像データの横幅の画素数に応じた大容量の誤差バッファを持つ必要がある。そのため、画像の高解像度化に伴い、より多くの誤差バッファが必要になっている。例えば、CMYK A4サイズ 600DPIで誤差データを8ビットとした場合、1ライン当たり、230kビット(=4COLOR×7200Pix×8ビット)のバッファが必要になる。 Among the image processing, there is an error diffusion method in which binarization processing is performed by pseudo-gradation means. When sequential processing is performed according to the scanning order in the error diffusion method, it is necessary to have a large-capacity error buffer according to the number of pixels in the width of the image data. Therefore, as the resolution of the image increases, more error buffers are required. For example, when the error data is 8 bits in CMYK A4 size 600 DPI, a buffer of 230 kbits (= 4COLOR × 7200Pix × 8 bits) is required per line.

そこでこの誤差バッファの容量を低減させるために、斜め方向に誤差拡散する手法がある(特許文献1)。この手法では、主走査方向に誤差バッファを持たなくて済むが、画素データの走査変換を行う必要がある。特許文献2では、各ラインで異なる段数のFIFOを構成し、走査変換を実現している。 Therefore, in order to reduce the capacity of this error buffer, there is a method of error diffusion in an oblique direction (Patent Document 1). In this method, it is not necessary to have an error buffer in the main scanning direction, but it is necessary to perform scanning conversion of pixel data. In Patent Document 2, each line constitutes a FIFO having a different number of stages to realize scanning conversion.

特開平10−224627JP-A-10-224627 特開平6−98165JP-A-6-98165

特許文献2において、ラインに応じた遅延をFIFO(先入れ先出し)メモリによって走査変換を実現している。斜め方向に走査変換するため、FIFOメモリによって遅延させるべき段数がライン高さ方向に進むにつれ増加する。ライン高さの2乗に比例して、必要なバッファ容量が増加することとなり、回路コストを増加させていた。 In Patent Document 2, scanning conversion is realized by a FIFO (first in, first out) memory for delay according to a line. Since the scanning conversion is performed in the oblique direction, the number of steps to be delayed by the FIFO memory increases as the line height direction progresses. The required buffer capacity increases in proportion to the square of the line height, which increases the circuit cost.

また、斜め方向の画素データを直接DRAMから取得することもできる。しかしながら、一般的に使われるバースト転送を利用する場合、斜めに走査する場合は、行アドレスを変更する必要がある。よって行アドレスの変換のたびにプリチャージ動作が必要になり、アクセスに時間を要し、転送効率を低下させてしまう。 It is also possible to acquire pixel data in the diagonal direction directly from the DRAM. However, when using the commonly used burst transfer, it is necessary to change the row address when scanning diagonally. Therefore, a precharge operation is required every time the row address is converted, which takes time for access and lowers the transfer efficiency.

本発明は、上記課題に鑑み、DRAMとの転送効率を維持しながら、バッファ容量を抑えた走査変換を実現する方法を提供することを目的とする。 In view of the above problems, it is an object of the present invention to provide a method for realizing scanning conversion with reduced buffer capacity while maintaining transfer efficiency with DRAM.

外部記憶装置と画像処理手段の間で画像データを転送する画像供給装置であって、
前記外部記憶装置から画像データを読み込む画像データ読み込み手段と、
前記外部記憶装置に画像データを書き出す画像データ書き出し手段と、
画像データのライン毎に所望の遅延量を付与する遅延付与手段と、
前記外部記憶装置と画像処理手段の間の画像データ転送を制御する画像データ転送制御手段を有し、
前記画像データ転送制御手段は、前記外部記憶装置への転送単位に内包する画素数を横幅にし、上記画素数と画素シフト量によって決まる所定ライン数の画素ブロックを、前記読み込み手段及び書き出し手段に転送させることを特徴とする画像供給装置。
An image supply device that transfers image data between an external storage device and an image processing means.
An image data reading means for reading image data from the external storage device,
An image data writing means for writing image data to the external storage device,
A delay giving means for giving a desired delay amount for each line of image data,
It has an image data transfer control means for controlling the image data transfer between the external storage device and the image processing means.
The image data transfer control means widens the number of pixels included in the transfer unit to the external storage device, and transfers a pixel block having a predetermined number of lines determined by the number of pixels and the amount of pixel shift to the reading means and the writing means. An image supply device characterized by being made to.

本発明によれば、DRAMとの転送効率を維持しながら、ラインごとに設けるバッファ容量を抑制することが可能になる。 According to the present invention, it is possible to suppress the buffer capacity provided for each line while maintaining the transfer efficiency with the DRAM.

機能構成例を示すAn example of functional configuration is shown. 入力画像データの一例を示すAn example of input image data is shown. 入力画像データの転送単位(画素シフト量2)Input image data transfer unit (pixel shift amount 2) 入力画像データの転送単位(画素シフト量3)Input image data transfer unit (pixel shift amount 3) 遅延付与部の内部構造を示す(画素シフト量2)The internal structure of the delay imparting portion is shown (pixel shift amount 2). 動作例を説明するためのフローチャートを示すA flowchart for explaining an operation example is shown. 遅延付与回路の内部構造を示す(画素シフト量3)The internal structure of the delay imparting circuit is shown (pixel shift amount 3).

[実施例1]
実施例1では、N値画像をM値画像(M<N)に変換する誤差拡散処理を用いた例で説明する。
[Example 1]
In the first embodiment, an example using an error diffusion process for converting an N-value image into an M-value image (M <N) will be described.

まず構成要素について説明する。 First, the components will be described.

図1は機能構成例を示すブロック図である。 FIG. 1 is a block diagram showing an example of functional configuration.

図1において、画像データ読み込み部100は例えばスキャナやデジタルカメラ等の画像入力機器やハードディスク等の各種記憶装置(不図示)からN値画像データの分割された処理領域の読み込みを行う。 In FIG. 1, the image data reading unit 100 reads a divided processing area of N-value image data from an image input device such as a scanner or a digital camera or various storage devices (not shown) such as a hard disk.

画像データ書き出し部101はM値に変換したM値画像データを画像入力機器や記憶媒体に書き出す。 The image data writing unit 101 writes the M value image data converted into the M value to an image input device or a storage medium.

ここで、ある画像を複数の領域に分割し、領域毎に処理を行う際の処理領域をバンド領域と呼ぶ。 Here, a processing area when a certain image is divided into a plurality of areas and processing is performed for each area is called a band area.

画像データ転送制御部102は、画像データ読み込み部100にバンド領域内のどの画像ブロックを読み込むかを指示する。また、読み込んだ画像ブロックが所望の遅延が付与されるように遅延付与部103を制御する。 The image data transfer control unit 102 instructs the image data reading unit 100 which image block in the band area to read. Further, the delay adding unit 103 is controlled so that the read image block is given a desired delay.

遅延付与部103は、画像データ読み込み部100から受け取った画像ブロックに所望の遅延を付与し、斜め方向に走査変換し、後段の誤差拡散処理を実施する画像処理部104に画像ブロックを送付する。 The delay adding unit 103 imparts a desired delay to the image block received from the image data reading unit 100, performs scanning conversion in the oblique direction, and sends the image block to the image processing unit 104 that performs the error diffusion processing in the subsequent stage.

画像処理部104は、遅延付与部103から受け取った画像ブロックに対して誤差拡散処理を施し、M<Nの関係となるM値画像データに変換する。また、M値に変換した画像データは、画像処理部104で処理されたM値画像データを遅延付与部103に送付する。 The image processing unit 104 performs error diffusion processing on the image block received from the delay adding unit 103, and converts the image block into M value image data having a relationship of M <N. Further, as for the image data converted into the M value, the M value image data processed by the image processing unit 104 is sent to the delay giving unit 103.

遅延付与部103は、画像処理部104から受け取った画像データに所望の遅延量を付与して、ライン間に生じた遅延を解消させ、斜め方向の走査を主走査方向の走査に戻し、画像データ書き出し部101に送付する。 The delay imparting unit 103 imparts a desired delay amount to the image data received from the image processing unit 104, eliminates the delay generated between the lines, returns the oblique scanning to the scanning in the main scanning direction, and returns the image data. It is sent to the writing unit 101.

画像データ転送制御部102は、ライン間の遅延が解消された画像ブロックが各種記憶媒体の所望の位置に書き出されるように、画像データ書き出し部101を制御する。また、遅延付与部103を制御し、ライン間の遅延が解消されるように所望の遅延を付与するように制御する。 The image data transfer control unit 102 controls the image data writing unit 101 so that the image block in which the delay between the lines is eliminated is written out at a desired position of various storage media. Further, the delay giving unit 103 is controlled to give a desired delay so that the delay between the lines is eliminated.

以下、図を用いて詳細に説明する。 Hereinafter, it will be described in detail with reference to the drawings.

図2は、外部記憶装置への読み込み、書き出しされる画像データのイメージ図である。図2に示すCMYK各色成分のバンド領域の画像データ200に対し、横幅がNバイトで縦がLラインのブロックに分割して転送する。画像ブロックの横幅Nバイトは、外部記憶装置への転送単位と一致する。本実施例の場合、画像ブロックの横幅を画像データの画素数に変換すると、外部記憶装置への読み込み、もしくは書き出しするデータのビット幅が異なるため、画素数は異なる。また、ライン数Lは、後述するように画像処理部104で必要な画素シフト量と横幅のT画素によって決まり、(画素シフト量)×(縦Lライン+1)は(横T画素)より小さくなることはない。即ち、(縦Lライン)は、((横T画素)/(画素シフト量))−1以上となる。図2に示す通り、X軸方向を主走査方向、Y軸方向を副走査方向とする。 FIG. 2 is an image diagram of image data read and written to an external storage device. The image data 200 in the band region of each CMYK color component shown in FIG. 2 is divided into blocks having a width of N bytes and a length of L lines and transferred. The width N bytes of the image block corresponds to the transfer unit to the external storage device. In the case of this embodiment, when the width of the image block is converted into the number of pixels of the image data, the number of pixels is different because the bit width of the data to be read or written to the external storage device is different. Further, the number of lines L is determined by the pixel shift amount required by the image processing unit 104 and the horizontal T pixel as described later, and (pixel shift amount) × (vertical L line + 1) is smaller than (horizontal T pixel). There is no such thing. That is, (vertical L line) is ((horizontal T pixel) / (pixel shift amount)) -1 or more. As shown in FIG. 2, the X-axis direction is the main scanning direction, and the Y-axis direction is the sub-scanning direction.

図3及び図4を用いて、外部記憶装置上のバンド領域を示す。画像データ転送制御部102は、読み込む画素ブロックの位置を画像データ書き出し部101に指示し、画像データの読み込みを行う。 3 and 4 are used to show the band region on the external storage device. The image data transfer control unit 102 instructs the image data writing unit 101 at the position of the pixel block to be read, and reads the image data.

図3及び図4に示す外部記憶装置上のバンド領域は、主走査方向に沿って先頭(図では左端)から末尾(図では右端)までを座標X0から順にX1、X2、・・・と定義する。副走査方向に沿って先頭(図では上端)から末端(図では下端)までを座標L0から順にL1、L2、・・・と定義する。 The band area on the external storage device shown in FIGS. 3 and 4 is defined as X1, X2, ... In order from the coordinate X0 from the beginning (left end in the figure) to the end (right end in the figure) along the main scanning direction. To do. From the beginning (upper end in the figure) to the end (lower end in the figure) along the sub-scanning direction is defined as L1, L2, ... In order from the coordinate L0.

図3は、転送単位当りの画素数が8で、画素シフト量が2の場合の画素ブロック毎にバンド領域を示している。この場合、画素ブロックのライン数は、(横8画素)/(画素シフト量2)=4となるため、ここでは4ラインとして説明する。つまり横画素8×4ラインの単位のブロックに分割して転送する。また、図3の斜線で示した画素を順に画像処理部104に供給する。 FIG. 3 shows a band area for each pixel block when the number of pixels per transfer unit is 8 and the pixel shift amount is 2. In this case, the number of lines in the pixel block is (horizontal 8 pixels) / (pixel shift amount 2) = 4, and therefore, it will be described as 4 lines here. That is, it is divided into blocks of units of 8 × 4 horizontal pixels and transferred. Further, the pixels shown by the diagonal lines in FIG. 3 are sequentially supplied to the image processing unit 104.

画素シフト量は、画像処理部104で実施する誤差拡散処理において、画素(X23,L0)の処理が完了すると、次のラインL1の画素(X21,L1)の処理が確定する。同様に画素(X21、L1)が確定すると、画素(X19、L2)が確定し、さらに画素(X17、L3)が確定することが出来る。さらに画素(X17,L3)が確定されると、第二のグループの画素(X22、L4)が確定できる。つまり、処理画素と当該処理画素の処理を完了すると処理可能となる画素の主走査方向の位置関係を示している。 Regarding the pixel shift amount, when the processing of the pixels (X23, L0) is completed in the error diffusion processing performed by the image processing unit 104, the processing of the pixels (X21, L1) of the next line L1 is determined. Similarly, when the pixels (X21, L1) are fixed, the pixels (X19, L2) are fixed, and the pixels (X17, L3) can be further fixed. Further, when the pixels (X17, L3) are determined, the pixels (X22, L4) of the second group can be determined. That is, it shows the positional relationship between the processed pixel and the pixel that can be processed when the processing of the processed pixel is completed in the main scanning direction.

図4は、転送単位当りの画素数が8で、画素シフト量が3の場合の画素ブロック毎にバンド領域を示している。この場合、画素ブロックのライン数は、(横8画素)/(画素シフト量3)=2.667となる。図4(a)では画素ブロックのライン数を3と固定した例を示す。図4(b)では画素ブロックのライン数を2と3で変動させる例を示す。図4(b)に示す画素ブロックのライン数2と3の割合は、上記で算出したライン数2.667を実現する割合となる。 FIG. 4 shows a band area for each pixel block when the number of pixels per transfer unit is 8 and the pixel shift amount is 3. In this case, the number of lines in the pixel block is (horizontal 8 pixels) / (pixel shift amount 3) = 2.667. FIG. 4A shows an example in which the number of lines of the pixel block is fixed at 3. FIG. 4B shows an example in which the number of lines of the pixel block is varied between 2 and 3. The ratio of the number of lines 2 and 3 of the pixel block shown in FIG. 4B is the ratio for realizing the number of lines 2.667 calculated above.

図4(a)に示すように、画素ブロックのライン数に小数点以下を切り上げて、固定ライン数とする場合、バンド領域を分割した画素ブロックの転送量は一定となる。したがって、画像データ転送制御部102が、画像読み込み部100及び画像書き出し部101に対して制御が簡素化できる。一方で、図4(a)の画素ブロックA3、B3、C3及びD3が示すように、バンド領域外のデータを余剰に読み込みもしくは書き出ししてしまう可能性がある。このように、画素ブロックのライン数を固定にするか変動させるかは、制御の簡素化と転送量についてトレードオフの関係となる。また、画素ブロックのライン数は、(横T画素)/(画素シフト量)以上であればよいが、ライン数を必要以上に大きくすると、上記のように転送したラインが使用されない場合が増えるため、ライン数を必要以上に大きく設定することは好ましくない。 As shown in FIG. 4A, when the number of lines of the pixel block is rounded up to the number of fixed lines, the transfer amount of the pixel block obtained by dividing the band area is constant. Therefore, the image data transfer control unit 102 can simplify the control of the image reading unit 100 and the image writing unit 101. On the other hand, as shown by the pixel blocks A3, B3, C3 and D3 in FIG. 4A, there is a possibility that the data outside the band region is excessively read or written out. In this way, whether the number of lines of the pixel block is fixed or varied is a trade-off relationship between simplification of control and transfer amount. Further, the number of lines in the pixel block may be (horizontal T pixel) / (pixel shift amount) or more, but if the number of lines is increased more than necessary, the lines transferred as described above may not be used. , It is not preferable to set the number of lines larger than necessary.

画像の読み込み及び書き出しにおいては、図3及び図4で示したように、互いに主走査方向の異なるグループの画素ブロックを順に読み込み及び書き出しを行う。 In reading and writing the image, as shown in FIGS. 3 and 4, pixel blocks of groups having different main scanning directions are read and written in order.

図5は、図3に示す画素ブロックに対する遅延付与部103の内部構成を示している。図5の破線で囲った領域が遅延付与部103である。遅延付与部103はラインごとに数の異なるFIFOメモリを備えた構成となっており、ラインごとに遅延量を段階的に変化させるようになっている。 FIG. 5 shows the internal configuration of the delay imparting unit 103 for the pixel block shown in FIG. The area surrounded by the broken line in FIG. 5 is the delay imparting unit 103. The delay adding unit 103 has a configuration in which a different number of FIFO memories is provided for each line, and the delay amount is changed stepwise for each line.

FIFOメモリの段数は以下の計算式で算出できる。 The number of stages of the FIFO memory can be calculated by the following formula.

FIFO段数=画素シフト量×(ライン番号−1)
画素シフト量を2とし、この計算式に基づくと、第一入力遅延ライン501では、FIFO段数は0となるため、画像処理部104に遅延を付与せずにそのまま画像処理部104に入力される。第二入力遅延ライン502では、2つのFIFOメモリ505によって所定の遅延時間だけ遅延されて画像処理部104に入力される。第三入力遅延ライン503では、4つのFIFOメモリ506で先述した所定の遅延時間の2倍だけ遅延され、画像処理部104に入力される。以下、同様にして第四入力遅延ライン504では、6つのFIFOメモリ507で先述した所定の遅延時間の3倍だけ遅延され、画像処理部104に入力される。ここではFIFOメモリによって所望の遅延が与えられたのちに、選択回路511によってデータが選択される構成を示したが、画像処理部104に各入力遅延ラインと各出力遅延ラインが直接、画像処理部104に接続される構成でも構わない。
Number of FIFO stages = Pixel shift amount x (line number-1)
When the pixel shift amount is 2, and based on this calculation formula, the number of FIFO stages is 0 in the first input delay line 501, so that the input is directly input to the image processing unit 104 without giving a delay to the image processing unit 104. .. In the second input delay line 502, the images are input to the image processing unit 104 after being delayed by a predetermined delay time by the two FIFO memories 505. In the third input delay line 503, the four FIFO memories 506 are delayed by twice the predetermined delay time described above, and are input to the image processing unit 104. Hereinafter, in the same manner, in the fourth input delay line 504, the six FIFO memories 507 are delayed by three times the predetermined delay time described above, and are input to the image processing unit 104. Here, a configuration is shown in which data is selected by the selection circuit 511 after a desired delay is given by the FIFO memory, but each input delay line and each output delay line are directly connected to the image processing unit 104 in the image processing unit 104. It may be configured to be connected to 104.

なお、FIFOメモリの段数は、画素シフト量に応じて調整することが望ましい。画素シフト量よりも多い段数にしておくと画像の読み込み位置に柔軟に対応することが出来る。 It is desirable to adjust the number of stages of the FIFO memory according to the pixel shift amount. If the number of steps is set to be larger than the pixel shift amount, it is possible to flexibly correspond to the reading position of the image.

まず、画像ブロックが遅延付与部103を経由し、斜め方向へ走査変換されて画像処理部104に供給する、遅延付与部の入力段520について説明する。 First, the input stage 520 of the delay giving unit, in which the image block is scanned and converted in the oblique direction via the delay giving unit 103 and supplied to the image processing unit 104, will be described.

選択回路511には、第一入力遅延ライン501に入力された画像ブロック1つ分が到来する。次に第二入力遅延ライン502に入力された画像ブロックがこの直後に到来する。そして第三入力遅延ライン503にさらにこの直後に画像ブロックが到来する。最後に第四入力遅延ライン504がさらにこの直後に画像ブロックが到来する。このようにして、走査方向を主走査方向から斜め方向に変換する。 One image block input to the first input delay line 501 arrives at the selection circuit 511. Next, the image block input to the second input delay line 502 arrives immediately after this. Then, an image block arrives at the third input delay line 503 immediately after this. Finally, the image block arrives immediately after the fourth input delay line 504. In this way, the scanning direction is converted from the main scanning direction to the oblique direction.

次に、画像処理部104で所望の画像処理が施された画像ブロックが遅延付与部103に供給され、元の主走査方向に変換される、遅延付与部の出力段521について説明する。 Next, the output stage 521 of the delay imparting unit, in which the image block subjected to the desired image processing by the image processing unit 104 is supplied to the delay imparting unit 103 and converted to the original main scanning direction, will be described.

遅延付与部の出力段側の処理では、ライン内の最大の遅延量から入力段の対応するラインに与えた遅延量を減算した遅延量を付与する。すなわち、第一出力遅延ライン522では、ライン内の最大遅延量6から入力段の遅延量0を減算した6の遅延量を与える。第二出力遅延ライン523では、ライン内の最大遅延量6から入力段の遅延量2を減算した4の遅延量を与える。第三出力遅延ライン524では、ライン内の最大遅延量6から入力段の遅延量4を減算した2の遅延量を与える。同様にして第四出力遅延ライン525では、減算結果が0になるため、遅延量を付加しない。 In the processing on the output stage side of the delay giving unit, a delay amount obtained by subtracting the delay amount given to the corresponding line of the input stage from the maximum delay amount in the line is given. That is, in the first output delay line 522, a delay amount of 6 is given by subtracting the delay amount 0 of the input stage from the maximum delay amount 6 in the line. In the second output delay line 523, a delay amount of 4 obtained by subtracting the delay amount 2 of the input stage from the maximum delay amount 6 in the line is given. In the third output delay line 524, a delay amount of 2 obtained by subtracting the delay amount 4 of the input stage from the maximum delay amount 6 in the line is given. Similarly, in the fourth output delay line 525, since the subtraction result becomes 0, the delay amount is not added.

まず、画像処理部104で画像処理が施された画像ブロックは、選択回路512を介して、遅延付与部の後段521の各ライン522〜525に供給される。第一入力遅延ライン501に入力された画像ブロックが選択回路512で選択され、第一出力遅延ライン522に供給される。第一出力遅延ライン522では、先述した所定の遅延時間の3倍だけ遅延され、画像データ転送制御部102に供給される。第二入力遅延ライン502に入力された画像ブロックが第二出力遅延ライン523に供給され、先述した所定の遅延時間の2倍だけ遅延されて画像データ転送制御部102に供給される。以下同様に、第三入力遅延ライン503は第三出力遅延ライン524を介し、先述した所定の遅延時間だけ遅延される。第四入力遅延ライン504は第四出力遅延ライン525を介し、遅延を付与せず、それぞれ画像データ転送制御部102に供給され、元の主走査方向に変換される。 First, the image block subjected to image processing by the image processing unit 104 is supplied to each line 522 to 525 of the subsequent stage 521 of the delay imparting unit via the selection circuit 512. The image block input to the first input delay line 501 is selected by the selection circuit 512 and supplied to the first output delay line 522. The first output delay line 522 is delayed by three times the predetermined delay time described above, and is supplied to the image data transfer control unit 102. The image block input to the second input delay line 502 is supplied to the second output delay line 523, and is supplied to the image data transfer control unit 102 with a delay of twice the predetermined delay time described above. Similarly, the third input delay line 503 is delayed by the predetermined delay time described above via the third output delay line 524. The fourth input delay line 504 is supplied to the image data transfer control unit 102 via the fourth output delay line 525 without adding a delay, and is converted to the original main scanning direction.

以下、図6のフローチャートを用いて、図4に示す画素ブロックについて処理する例を説明する。 Hereinafter, an example of processing the pixel block shown in FIG. 4 will be described with reference to the flowchart of FIG.

遅延付与部103は、図4に示す画素ブロックの場合、図7のような構成とする。始めに外部記憶装置から画像データを読み込む例について説明する。 In the case of the pixel block shown in FIG. 4, the delay imparting unit 103 has the configuration as shown in FIG. 7. First, an example of reading image data from an external storage device will be described.

画像データ読み込み部101が外部記憶装置から画像データを読み込む(S601)。 The image data reading unit 101 reads the image data from the external storage device (S601).

画像データ転送制御部102は読み込まれた画像データと画像処理部104で処理内容から必要な画素シフト量を決める(S602)。ここでは、画像処理部104は誤差拡散処理を実施する例を示し、画素シフトは3とする。 The image data transfer control unit 102 determines the required pixel shift amount from the read image data and the processing content in the image processing unit 104 (S602). Here, the image processing unit 104 shows an example of performing error diffusion processing, and the pixel shift is set to 3.

画像データ転送制御部102はS602で決めた画素シフト量に基づき、転送ライン数を決める(S603)。転送ライン数は、先述した計算式に基づき(横8画素)/(画素シフト量3)=2.667ラインとすればよい。ここでは3ライン固定とする。 The image data transfer control unit 102 determines the number of transfer lines based on the pixel shift amount determined in S602 (S603). The number of transfer lines may be (horizontal 8 pixels) / (pixel shift amount 3) = 2.667 lines based on the above-mentioned calculation formula. Here, 3 lines are fixed.

画像データ転送制御部102が画素シフト量と転送ライン数から主走査の位置を決める(S604)。この実施例では、図4(a)に示したように第一のグループの主走査方向の呼び出し位置D1を基準に、副走査方向に一つずらした第二のグループでは、主走査方向を一画像ブロック分減算した位置C2から呼び出す。同様に第三のグループは、さらに主走査方向を一画像ブロック分減算した位置B3から呼び出す。 The image data transfer control unit 102 determines the position of the main scan from the pixel shift amount and the number of transfer lines (S604). In this embodiment, as shown in FIG. 4A, in the second group shifted by one in the sub-scanning direction with reference to the calling position D1 in the main scanning direction of the first group, the main scanning direction is set to one. Called from the position C2 after subtracting the image block. Similarly, the third group is called from the position B3 in which the main scanning direction is further subtracted by one image block.

画像データ転送制御部102が画素位置から誤差データの読み込みが必要かどうかを判定する(S605)。判定は処理される画素データの位置によって決まる。ここでは、第一の転送単位は、先頭画素ラインを含むため、誤差データの読み込みが必要だと判定される。ただし、先頭画素ラインを含む場合でも、画像の最上端で領域間の誤差が存在しない場合は、誤差データの読み込みは不要と判断される。 The image data transfer control unit 102 determines whether or not it is necessary to read the error data from the pixel position (S605). The determination is determined by the position of the pixel data to be processed. Here, since the first transfer unit includes the first pixel line, it is determined that it is necessary to read the error data. However, even when the first pixel line is included, if there is no error between regions at the uppermost end of the image, it is determined that reading the error data is unnecessary.

誤差データの読み込みが必要と判断された場合は、画像処理部104が外部記憶装置から所望の誤差データを読み込む(S606)。 When it is determined that the error data needs to be read, the image processing unit 104 reads the desired error data from the external storage device (S606).

誤差データは画像処理部内の誤差メモリに転送する(S607)。画像処理部104が誤差データを取得し、画像処理部内の誤差メモリに転送する。 The error data is transferred to the error memory in the image processing unit (S607). The image processing unit 104 acquires the error data and transfers it to the error memory in the image processing unit.

誤差データの読み込みが必要ないと判定された場合は、画像データ転送制御部102が遅延付与部103の選択回路731を切り替える(S608)。 When it is determined that it is not necessary to read the error data, the image data transfer control unit 102 switches the selection circuit 731 of the delay imparting unit 103 (S608).

次に画像データ転送制御部102が遅延付与部103の各入力ラインに画素ブロックを転送する(S609)。 Next, the image data transfer control unit 102 transfers the pixel block to each input line of the delay imparting unit 103 (S609).

転送された画素ブロックは、遅延付与部103で遅延ラインごとに所望の遅延が付与される(S610)。 The transferred pixel block is given a desired delay for each delay line by the delay giving unit 103 (S610).

すなわち第一のグループに対応する遅延ラインは、701、702、703であり、第一のグループの第一入力遅延ライン701では、画像処理部104に遅延を付与せずにそのまま画像処理部104に入力される。第一のグループの第二入力遅延ライン702では、3つのFIFOメモリ709によって所定の遅延時間だけの3倍だけ遅延されて画像処理部104に入力される。第一のグループの第三入力遅延ライン703では、6つのFIFOメモリ710で所定の遅延時間の6倍だけ遅延され、画像処理部104に入力される。今回、画素シフト量が3であるため、第一のグループの第一入力遅延ラインを基準として、各ラインで3倍の遅延量が段階的に付与されるように構成される。第2のグループにおいても同様に第二グループの第一入力遅延ライン704を基準として、各ラインで3倍の遅延量が段階的に付与されるように構成される。第3のグループにおいても同様に第3グループの第一入力遅延ライン707を基準として、各ラインで3倍の遅延量が段階的に付与されるように構成される。なお、FIFO段数は先述したFIFO段数の算出式に基づき構成される。ここでも、画素シフト量は3となるため、第一のグループではFIFO段数は、第一入力遅延ライン801から順に0、3、6となる。第二のグループでは、図4(b)の画素の読み込み位置に基づいて遅延量のオフセットを1として、FIFO段数は、第一の入力遅延ライン804から順に1、4、7となる。第三のグループでも同様に、第一の入力遅延ライン807から順にFIFO段数が2、5となる。 That is, the delay lines corresponding to the first group are 701, 702, and 703, and in the first input delay line 701 of the first group, the image processing unit 104 is directly subjected to the image processing unit 104 without giving a delay. Entered. In the second input delay line 702 of the first group, the images are input to the image processing unit 104 with a delay of three times the predetermined delay time by the three FIFO memories 709. In the third input delay line 703 of the first group, the six FIFO memories 710 are delayed by 6 times the predetermined delay time and are input to the image processing unit 104. Since the pixel shift amount is 3 this time, the delay amount of 3 times is gradually applied to each line based on the first input delay line of the first group. Similarly, in the second group, with reference to the first input delay line 704 of the second group, a delay amount of three times is gradually applied to each line. Similarly, in the third group, with reference to the first input delay line 707 of the third group, a delay amount of three times is gradually applied to each line. The number of FIFO stages is configured based on the above-mentioned formula for calculating the number of FIFO stages. Again, since the pixel shift amount is 3, the number of FIFO stages in the first group is 0, 3, and 6 in order from the first input delay line 801. In the second group, the offset of the delay amount is set to 1 based on the reading position of the pixel in FIG. 4B, and the number of FIFO stages is 1, 4, and 7 in order from the first input delay line 804. Similarly, in the third group, the number of FIFO stages is 2, 5 in order from the first input delay line 807.

遅延付与部103で遅延が付与された画像ブロックは、画像処理部104で受信される(S611)。その後、画像処理部104が誤差拡散の処理を実施する(S612)。 The image block to which the delay is given by the delay giving unit 103 is received by the image processing unit 104 (S611). After that, the image processing unit 104 performs error diffusion processing (S612).

画像処理部104で誤差拡散の処理が完了したら、画像ブロックを遅延付与部103に転送する(S613)。 When the image processing unit 104 completes the error diffusion process, the image block is transferred to the delay imparting unit 103 (S613).

其々の入力遅延ラインを通過した画素ブロックは、対応した出力遅延ラインを通過するように選択回路732を切り替える。 The pixel block that has passed each input delay line switches the selection circuit 732 so that it passes through the corresponding output delay line.

すなわち、第一のグループの第一入力遅延ライン701を通過した画素は、第一のグループの第一の出力遅延ライン723を通過するように、選択回路732を切り替える。 That is, the pixels that have passed through the first input delay line 701 of the first group switch the selection circuit 732 so that they pass through the first output delay line 723 of the first group.

以下同様に入力遅延ラインを通過した画素は、対応する出力遅延ラインを通過するように、選択回路732を切り替える。 Similarly, the pixel passing through the input delay line switches the selection circuit 732 so as to pass through the corresponding output delay line.

転送された画素ブロックは、遅延付与部103で遅延ラインごとに所望の遅延が付与される(S614)。 The transferred pixel block is given a desired delay for each delay line by the delay giving unit 103 (S614).

ラインごとに遅延付与部の入力段で与えられた遅延差を解消させるように、出力側で遅延を与えられる。すなわち、第一のグループでは、入力側の最大遅延量は6であるため、入力側の遅延量と出力側の遅延量の和が最大遅延量6となるようにFIFOを構成すればよい。例えば、第一のグループの第一出力遅延ライン723に関しては、第一のグループの第一入力遅延ライン701で遅延を付与していないため、(最大遅延量6)−(第一入力ラインの遅延量0)=6となるため、6段のFIFO716で構成する。同様にして、第一のグループの第二出力遅延ライン724に関しては、(最大遅延量6)−(第2入力ラインの遅延量3)=3となるため、3段のFIFO717で構成する。同様にして、第一のグループの第三の出力遅延ライン725に関しては、(最大遅延量6)−(第三入力ラインの遅延量6)=0となるため、FIFO段数は0となる。第二のグループに関しては、最大遅延量が7であるため、第二グループの第一の出力遅延ライン726は6段のFIFO719となる。第二グループの第二の出力遅延ライン727は3段のFIFO720、第二グループの第三の出力遅延ライン728は0段のFIFOとなる。 A delay is given on the output side so as to eliminate the delay difference given in the input stage of the delay giving section for each line. That is, in the first group, since the maximum delay amount on the input side is 6, the FIFO may be configured so that the sum of the delay amount on the input side and the delay amount on the output side is the maximum delay amount 6. For example, regarding the first output delay line 723 of the first group, since no delay is given by the first input delay line 701 of the first group, (maximum delay amount 6)-(delay of the first input line). Since the amount 0) = 6, it is composed of 6 stages of FIFA 716. Similarly, regarding the second output delay line 724 of the first group, since (maximum delay amount 6)-(delay amount 3 of the second input line) = 3, it is composed of three stages of FIFA 717. Similarly, for the third output delay line 725 of the first group, (maximum delay amount 6)-(delay amount 6 of the third input line) = 0, so that the number of FIFO stages is 0. With respect to the second group, the maximum delay amount is 7, so the first output delay line 726 of the second group is a 6-stage FIFA 719. The second output delay line 727 of the second group is a three-stage FIFO 720, and the third output delay line 728 of the second group is a zero-stage FIFO.

次に画像データ転送制御部102が画素位置から誤差データの書き出しが必要かどうかを判定する(S615)。 Next, the image data transfer control unit 102 determines whether or not it is necessary to write out the error data from the pixel position (S615).

判定は処理される画素データの位置によって決まる。ここでは、第一の転送単位の最終ラインは、次の第二の転送単位の先頭行に誤差データを転送する必要があるため、誤差データの書き出しが必要だと判定される。なお、最終ラインを含む場合でも、画像の最下部で領域間の誤差が存在しない場合は、誤差データの書き出しが不要と判定される。 The determination is determined by the position of the pixel data to be processed. Here, since it is necessary to transfer the error data to the first line of the next second transfer unit in the final line of the first transfer unit, it is determined that the error data needs to be written out. Even when the final line is included, if there is no error between the regions at the bottom of the image, it is determined that writing out the error data is unnecessary.

誤差データの書き出しが必要と判断された場合、画像処理部104が誤差データを外部記憶装置へ書き出す(S616)。 When it is determined that the error data needs to be written out, the image processing unit 104 writes the error data to the external storage device (S616).

次に誤差拡散処理を施した画素ブロックを外部記憶装置へ書き出す(S617)。 Next, the pixel block subjected to the error diffusion processing is written to the external storage device (S617).

誤差拡散処理によって、画素データがN値からM値に変換される。画素データのビット幅が変更される場合、転送される画素データのグループ分けが変更される。即ち、画素ブロックは、転送単位×ライン数で定義されるが、転送単位に内包される画素数が変わるため、画素データが内包される画素ブロックが変更となる。これにより、外部記憶装置への転送は常に一定の転送単位で実施され、画像処理の内容によって転送効率が低下するということがない。 Pixel data is converted from N value to M value by error diffusion processing. When the bit width of the pixel data is changed, the grouping of the pixel data to be transferred is changed. That is, the pixel block is defined by the transfer unit × the number of lines, but since the number of pixels included in the transfer unit changes, the pixel block in which the pixel data is included is changed. As a result, the transfer to the external storage device is always performed in a fixed transfer unit, and the transfer efficiency does not decrease depending on the content of the image processing.

すべての画素ブロックが処理されるまで上記の処理を繰り返す(S618)。 The above processing is repeated until all the pixel blocks are processed (S618).

また、横画素6が入力された場合でも対応できる。転送ライン数は、先述した計算式に基づき(横6画素)/(画素シフト量3)=2ライン以上にすればよい。ここでは3ラインとしているため、対応できる。つまり、想定される入力画像の最大の横幅に合わせて転送のライン数を用意しておけば、最大の横幅よりも小さい画像にも対応できる。 Further, even when the horizontal pixel 6 is input, it can be dealt with. The number of transfer lines may be set to (horizontal 6 pixels) / (pixel shift amount 3) = 2 lines or more based on the above-mentioned calculation formula. Since there are 3 lines here, it can be handled. That is, if the number of transfer lines is prepared according to the maximum width of the expected input image, it is possible to handle an image smaller than the maximum width.

以上のようにして、外部記憶装置から画像データをブロック転送する際に、所定ライン数のブロックを主走査位置の異なる領域から複数読み込み、読み込んだ複数ブロックの画素に対し、ライン毎に所定の遅延量を付与して出力することが可能になる。 As described above, when the image data is transferred from the external storage device in blocks, a plurality of blocks having a predetermined number of lines are read from regions having different main scanning positions, and a predetermined delay is provided for each line with respect to the pixels of the read multiple blocks. It becomes possible to give an amount and output it.

このように、画像データと誤差拡散処理に応じて転送するライン数を制御することで、バンド高さに応じたFIFOメモリを設ける必要がないため、バッファ容量を抑制することが可能になる。 In this way, by controlling the number of lines to be transferred according to the image data and the error diffusion processing, it is not necessary to provide the FIFO memory according to the band height, so that the buffer capacity can be suppressed.

上記のような構成にすれば、図6のフローチャートに基づいて、転送する画像ブロックのライン数が可変の場合について誤差拡散の画像処理を実施することができる。 With the above configuration, it is possible to perform error diffusion image processing when the number of lines of the image block to be transferred is variable, based on the flowchart of FIG.

以上のように、バンド領域を主走査位置の異なる画素ブロックに分割し、画素ブロックのライン数を(横T画素)/(画素シフト量)以上とすることで、遅延付与回路に対する遅延量を好適に削減することができる。また、画素シフト量と外部記憶装置への転送単位によって画素ブロックの画素数を決めることで、転送効率を維持することができる。 As described above, by dividing the band region into pixel blocks having different main scanning positions and setting the number of lines of the pixel blocks to be (horizontal T pixel) / (pixel shift amount) or more, the delay amount for the delay imparting circuit is suitable. Can be reduced to. Further, the transfer efficiency can be maintained by determining the number of pixels in the pixel block according to the pixel shift amount and the transfer unit to the external storage device.

本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施例の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供しても良い。 The present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiment is supplied to the system or device via a network for data communication or various storage media. Then, the computer (or CPU, MPU, etc.) of the system or device reads and executes the program. Further, the program may be recorded and provided on a computer-readable recording medium.

100 画像データ読み込み部
101 画像データ書き込み部
102 画像データ転送制御部
103 遅延付与部
104 画像処理部
108 画像供給部
100 Image data reading unit 101 Image data writing unit 102 Image data transfer control unit 103 Delaying unit 104 Image processing unit 108 Image supply unit

Claims (6)

外部記憶装置と画像処理手段の間で画像データを転送する画像処理装置であって、
前記外部記憶装置から画像データを読み込む画像データ読み込み手段と、
前記外部記憶装置に画像データを書き出す画像データ書き出し手段と、
画像データのライン毎に所望の遅延量を付与する遅延付与手段と、
前記外部記憶装置と画像処理手段の間の画像データ転送を制御する画像データ転送制御手段を有し、
前記画像データ転送制御手段は、前記外部記憶装置への転送単位に内包する画素数を横幅にし、前記画素数と画素シフト量によって決まる所定ライン数の画素ブロックを、前記読み込み手段及び書き出し手段に転送させることを特徴とする画像処理装置。
An image processing device that transfers image data between an external storage device and an image processing means.
An image data reading means for reading image data from the external storage device,
An image data writing means for writing image data to the external storage device,
A delay giving means for giving a desired delay amount for each line of image data,
It has an image data transfer control means for controlling the image data transfer between the external storage device and the image processing means.
The image data transfer control means widens the number of pixels included in the transfer unit to the external storage device, and transfers a pixel block having a predetermined number of lines determined by the number of pixels and the amount of pixel shift to the reading means and the writing means. An image processing device characterized by being made to.
前記画像データ読み込み手段は、複数の前記画素ブロックを前記外部記憶装置の異なる主走査位置から読み込むとともに、
前記遅延付与手段は、複数の前記画素ブロックの夫々のライン毎に遅延量を付与することを特徴とする請求項1記載の画像処理装置。
The image data reading means reads a plurality of the pixel blocks from different main scanning positions of the external storage device, and at the same time,
The image processing apparatus according to claim 1, wherein the delay imparting means imparts a delay amount to each line of the plurality of pixel blocks.
各ラインの遅延量は、(画素シフト量)×(ライン番号−1)であることを特徴とする請求項1または2に記載の画像処理装置。 The image processing apparatus according to claim 1 or 2, wherein the delay amount of each line is (pixel shift amount) × (line number-1). 前記遅延付与手段は、複数の前記画素ブロックの夫々のライン毎に付与された遅延差を解消するように、ライン毎に所望の遅延量を付与し、
前記画像データ書き出し手段は、遅延差の解消された画素ブロックを前記外部記憶装置の異なる主走査位置に書き出すことを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
The delay imparting means imparts a desired delay amount for each line so as to eliminate the delay difference imparted for each line of the plurality of pixel blocks.
The image processing device according to any one of claims 1 to 3, wherein the image data writing means writes out a pixel block in which the delay difference is eliminated to a different main scanning position of the external storage device.
前記画素ブロックのライン数は(画素数)/(画素シフト量)以上であることを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 4, wherein the number of lines of the pixel block is (number of pixels) / (pixel shift amount) or more. 前記読み込み手段と前記書き出し手段で転送する画素ブロックの画素数は異なることを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。 The image processing apparatus according to any one of claims 1 to 5, wherein the number of pixels of the pixel block transferred by the reading means and the writing means is different.
JP2019064365A 2019-03-28 2019-03-28 Image processing device Pending JP2020167470A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019064365A JP2020167470A (en) 2019-03-28 2019-03-28 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019064365A JP2020167470A (en) 2019-03-28 2019-03-28 Image processing device

Publications (1)

Publication Number Publication Date
JP2020167470A true JP2020167470A (en) 2020-10-08

Family

ID=72715315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019064365A Pending JP2020167470A (en) 2019-03-28 2019-03-28 Image processing device

Country Status (1)

Country Link
JP (1) JP2020167470A (en)

Similar Documents

Publication Publication Date Title
US5204916A (en) Tile-oriented technique for collectively performing image rotation, scaling and digital halftone screening
US20010012113A1 (en) Method and apparatus for image processing, and a computer product
US20010021278A1 (en) Method and apparatus for image processing, and a computer product
JP4929073B2 (en) Multi-function printer
US20110134265A1 (en) Scan conversion device and electronic camera
US6606172B1 (en) Image information processing apparatus, image information processing method and image forming apparatus
JP4143302B2 (en) Image processing apparatus, image processing method, control program, and recording medium
US20100073732A1 (en) Image processing apparatus and image processing method
JPH053549A (en) Image interface device
JP2020167470A (en) Image processing device
US8264730B2 (en) Image processing apparatus and image forming apparatus
JP6324174B2 (en) Image processing apparatus and image processing method
JP5222409B2 (en) Printer device
JP2010161677A (en) Image processing apparatus and image processing method
JP6779263B2 (en) Data processing equipment and methods and programs
JPH021421B2 (en)
JP2007194955A (en) Image processing device
JP4293503B2 (en) Image processing device
JPH11168610A (en) Image processor
JP2505823B2 (en) Document reader
JP4316476B2 (en) Image processing apparatus and image forming apparatus
JP2008300948A (en) Data processing apparatus
JP3798553B2 (en) Image processing device
JP2006092506A (en) Image processor
JP2807231B2 (en) Pixel density conversion method and device