JP5736826B2 - Image data processing apparatus, recording apparatus, and image data processing method - Google Patents

Image data processing apparatus, recording apparatus, and image data processing method Download PDF

Info

Publication number
JP5736826B2
JP5736826B2 JP2011032444A JP2011032444A JP5736826B2 JP 5736826 B2 JP5736826 B2 JP 5736826B2 JP 2011032444 A JP2011032444 A JP 2011032444A JP 2011032444 A JP2011032444 A JP 2011032444A JP 5736826 B2 JP5736826 B2 JP 5736826B2
Authority
JP
Japan
Prior art keywords
data
image data
pixel
flag
address
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
JP2011032444A
Other languages
Japanese (ja)
Other versions
JP2012171110A (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 JP2011032444A priority Critical patent/JP5736826B2/en
Publication of JP2012171110A publication Critical patent/JP2012171110A/en
Application granted granted Critical
Publication of JP5736826B2 publication Critical patent/JP5736826B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、第1画像データからこれを縦横変換した第2画像データを生成する画像データ処理装置、記録装置及び画像データ処理方法に関する。   The present invention relates to an image data processing apparatus, a recording apparatus, and an image data processing method for generating second image data obtained by vertically and horizontally converting the first image data.

例えば特許文献1、2には、インクを噴射する印刷ヘッドを備えた記録装置(プリンター)が開示されている。プリンターでは、印刷イメージデータ(第1画像データ)に複数の処理が施されることによりヘッドイメージデータ(第2画像データ)が生成され、このヘッドイメージデータに基づき印刷ヘッドは駆動される。印刷イメージデータは画素が横方向(行方向)に並んでいるのに対して、印刷ヘッドへ送られるヘッドイメージデータは、画素が縦方向に並ぶように配置する必要がある。これは、例えばシリアルプリンターでは、印刷ヘッドの走査方向と直交する方向に複数のノズルが配列されたノズル列が形成されており、印刷ヘッドが走査方向に1画素分移動する度にノズル1列分ずつインクを噴射する必要があるためである。このため、印刷ヘッドの走査方向(横方向)に沿った画素の並び順を、印刷ヘッドのインク噴射順序に合わせてノズル列方向(縦方向)の画素の並び順になるように、印刷イメージデータに縦横変換(回転処理)を施してヘッドイメージデータを生成する。例えば特許文献1、2では、印刷イメージデータはRAM等のメインメモリーから縦横変換装置(回転ユニット)に処理単位ずつ転送され、縦横変換装置においてライン方向(横方向)の画素の並び順が、印刷ヘッドのノズル配列に対応させたラスター方向(縦方向)の画素の並び順に縦横変換され、縦横変換後の処理単位のデータがメインメモリーへ順次転送されることにより、印刷イメージデータの縦横変換が行われる。このときのデータ転送には、処理単位のデータを連続して転送できて高速処理可能なバースト転送が採用される。   For example, Patent Documents 1 and 2 disclose a recording apparatus (printer) including a print head that ejects ink. In the printer, print image data (first image data) is subjected to a plurality of processes to generate head image data (second image data), and the print head is driven based on the head image data. The print image data has pixels arranged in the horizontal direction (row direction), whereas the head image data sent to the print head needs to be arranged so that the pixels are arranged in the vertical direction. This is because, for example, in a serial printer, a nozzle row in which a plurality of nozzles are arranged in a direction orthogonal to the scanning direction of the print head is formed, and each time the print head moves by one pixel in the scanning direction, This is because it is necessary to eject ink one by one. For this reason, in the print image data, the arrangement order of the pixels along the scanning direction (lateral direction) of the print head is aligned with the arrangement order of the pixels in the nozzle row direction (vertical direction) in accordance with the ink ejection order of the print head. Head image data is generated by performing vertical / horizontal conversion (rotation processing). For example, in Patent Documents 1 and 2, print image data is transferred from a main memory such as a RAM to a vertical / horizontal conversion device (rotation unit) for each processing unit, and in the vertical / horizontal conversion device, the arrangement order of pixels in the line direction (horizontal direction) is printed. Vertical / horizontal conversion is performed in the order of the pixels in the raster direction (vertical direction) corresponding to the nozzle arrangement of the head, and the processing unit data after vertical / horizontal conversion is sequentially transferred to the main memory, so that the vertical / horizontal conversion of the print image data is performed. Is called. The data transfer at this time employs burst transfer that can transfer data in units of processing continuously and can perform high-speed processing.

特許文献1、2では、第1画像データ(元画像データ)のうち例えばA×A画素ずつSRAM(メモリー)に転送した後、回転処理を施す。このとき回転処理されるA×A画素は、横方向に並ぶ画素の順番が第1画像データの同一行に属する連続した画素になっているとともに、縦方向に並ぶ画素の順番が第1画像データの同一の列に属する連続した画素となっている。このため、A×A画素を連続的に回転させるだけで、縦横変換を行うことができる。   In Patent Documents 1 and 2, for example, A × A pixels of the first image data (original image data) are transferred to SRAM (memory) and then rotated. The A × A pixels to be rotated at this time are the consecutive pixels belonging to the same row of the first image data in the order of the pixels arranged in the horizontal direction, and the order of the pixels arranged in the vertical direction is the first image data. Are continuous pixels belonging to the same column. For this reason, vertical / horizontal conversion can be performed only by continuously rotating the A × A pixel.

第1画像データの行方向のデータサイズ(ラスターサイズ)が、バースト転送の転送単位であるバーストサイズ(例えば画素N個分のデータサイズ)の整数倍でない場合、バーストサイズ(転送サイズ)に満たない余りの画素ができる。このようにバーストサイズに満たない余りの画素ができる例を図20に示す。   When the data size (raster size) in the row direction of the first image data is not an integral multiple of a burst size (for example, a data size for N pixels) that is a transfer unit of burst transfer, it is less than the burst size (transfer size). Extra pixels are created. FIG. 20 shows an example in which extra pixels less than the burst size can be formed in this way.

図20(a)は回転処理前の印刷イメージデータを示し、図20(b)は回転処理後のヘッドイメージデータを示す。図20(a)では、印刷イメージデータを構成する各画素は、N行×M列のマトリクス状に配列されている。通常、回転処理時の画像データは数100行×数1000列ぐらいの画素数であるが、図20では説明を簡単にするため、画素数6行×10列の画像データの例を示す。ここで、画素の符号「N-M」は、N行M列目の画素データを指す。また、列方向(図20(a)の上下方向)は印刷ヘッドのノズル列を構成するノズルが並ぶノズル列方向に対応し、行方向(同図の左右方向)が印刷ヘッドの走査方向に対応する。   FIG. 20A shows print image data before rotation processing, and FIG. 20B shows head image data after rotation processing. In FIG. 20A, the pixels constituting the print image data are arranged in a matrix of N rows × M columns. Normally, the image data at the time of the rotation process has a number of pixels of about several hundred rows × several 1000 columns, but FIG. 20 shows an example of image data having 6 rows × 10 columns of pixels for the sake of simplicity. Here, the symbol “NM” of the pixel indicates the pixel data of the Nth row and the Mth column. Further, the column direction (vertical direction in FIG. 20A) corresponds to the nozzle column direction in which the nozzles constituting the nozzle column of the print head are arranged, and the row direction (left and right direction in FIG. 20) corresponds to the scan direction of the print head. To do.

回転処理では、メインメモリー100(DRAM)に格納された印刷イメージデータを、例えば4×4画素分の正方領域(正方ブロック)のデータずつ図中に太数字で示す順番で回転ユニットへバースト転送する。そして、回転ユニットは、転送されてきたデータに回転処理(縦横変換)を施し、その回転後のデータを、メインメモリー100へバースト転送し、図20(b)に太数字で示す位置に格納することで、メインメモリー100に縦横変換されたヘッドイメージデータが生成される。   In the rotation processing, print image data stored in the main memory 100 (DRAM) is burst-transferred to the rotation unit in the order indicated by bold numbers in the figure, for example, in each square area (square block) of 4 × 4 pixels. . Then, the rotation unit performs rotation processing (vertical / horizontal conversion) on the transferred data, burst-transfers the rotated data to the main memory 100, and stores the data at the positions indicated by bold numerals in FIG. As a result, the head image data subjected to vertical / horizontal conversion is generated in the main memory 100.

ところで、バースト転送方式では、図20(a)に太線枠で囲った回転処理単位の正方ブロック(4×4画素)のデータを転送する場合、バーストサイズ(同図では4画素分(16ビット×4))のデータずつ、行を切り換えながら4回転送する。そして、正方ブロックが図20(a)に示す太数字「1」、「2」、…「6」の順番で読出されて回転ユニットへ順次転送される。   By the way, in the burst transfer method, when transferring data of a square block (4 × 4 pixels) in a rotation processing unit surrounded by a thick line frame in FIG. 20A, the burst size (4 pixels (16 bits × 16 in FIG. 20)) is transferred. 4)) Transfer the data four times while switching the rows. Then, the square blocks are read in the order of the bold numbers “1”, “2”,... “6” shown in FIG.

特開2004−122594号公報JP 2004-122594 A 特開2008−221769号公報JP 2008-221769 A

ところで、図20(a)に示すように、太数字「3」、「6」のデータは行方向に画素データがバーストサイズの4画素に満たない行余りデータになっており、太数字「4」、「5」、「6」のデータが列方向に画素データが転送回数「4」(4画素)に満たない列余りデータになっている。このため、図20(a)に網掛けで示すダミーデータを用意していた。この場合、4画素に満たないときだけバースト転送の指定の仕方を変えてダミーデータの追加を回避する方法もあるが、CPUのメモリーアクセスが頻繁になって転送速度が却って遅くなり好ましくない。   By the way, as shown in FIG. 20A, the data of the bold numbers “3” and “6” are the remainder data whose pixel data is less than 4 pixels of the burst size in the row direction, and the bold numbers “4”. ”,“ 5 ”,“ 6 ”data is the column remainder data in which the pixel data is less than the number of transfers“ 4 ”(4 pixels) in the column direction. For this reason, dummy data indicated by hatching in FIG. In this case, there is a method of changing the method of specifying burst transfer only when the number of pixels is less than 4 pixels and avoiding the addition of dummy data, but this is not preferable because the memory access of the CPU becomes frequent and the transfer rate is slowed down.

このため、バースト転送方式で高速転送を行おうとすると、ダミーデータを格納しておく必要がある。この場合、印刷イメージデータにダミーデータが追加されるうえ、ヘッドイメージデータにもダミーデータが追加されるので、データ格納領域(記憶容量)の大きなメインメモリー100を用意したり、メインメモリー100における他データの格納領域が圧迫されたりするなどの問題があった。このため、ダミーデータをなるべく減らしたいという要望があった。   For this reason, if high-speed transfer is to be performed by the burst transfer method, it is necessary to store dummy data. In this case, since dummy data is added to the print image data and dummy data is also added to the head image data, a main memory 100 having a large data storage area (storage capacity) is prepared, and other data in the main memory 100 is provided. There were problems such as the data storage area being compressed. For this reason, there has been a demand for reducing dummy data as much as possible.

本発明は、上記課題に鑑みてなされたものであり、その目的の一つは、縦横変換処理速度をさほど落とさず、格納手段における使用格納領域を少なく抑えることができる画像データ処理装置、記録装置及び画像データ処理方法を提供することにある。   The present invention has been made in view of the above problems, and one of its purposes is an image data processing apparatus and a recording apparatus that can reduce the storage area used in the storage means without significantly reducing the vertical / horizontal conversion processing speed. And providing an image data processing method.

上記目的の一つを達成するために、本発明の態様の一つは、第1画像データを縦横変換して第2画像データを生成する画像データ処理装置であって、第1画像データが格納される第1格納手段と、メモリーと、第2画像データを格納するための第2格納手段と、前記第1画像データから同一の列に並ぶ着目画素を少なくとも1つ含む転送サイズの第1データを前記メモリーへ転送する第1の転送手段と、転送された前記第1データを前記メモリーに格納する書込手段と、前記メモリーにおける前記第1データから少なくとも1つの前記着目画素を選択して読み出す読出手段と、前記メモリーから読み出した前記着目画素を含む転送サイズの第2データを前記第2格納手段へ転送する第2の転送手段と、前記第2格納手段に、前記第2画像データの画素配列順になるように前記第2データの画素群を書き込むとともに、前記画素群が着目画素以外の不要画素を含む場合、前記着目画素を不要画素に上書きするとともに、不要画素の着目画素への上書きを禁止する書込調整手段と、を備えたことを要旨とする。   In order to achieve one of the above objects, one aspect of the present invention is an image data processing apparatus for generating second image data by longitudinally and laterally converting first image data, wherein the first image data is stored. First storage means, a memory, second storage means for storing second image data, and first data of transfer size including at least one pixel of interest arranged in the same column from the first image data First transfer means for transferring the first data to the memory, writing means for storing the transferred first data in the memory, and selecting and reading at least one pixel of interest from the first data in the memory A second transfer means for transferring second data having a transfer size including the pixel of interest read from the memory to the second storage means; a second transfer means for transferring the second image data to the second storage means; When the pixel group of the second data is written so as to be in the pixel arrangement order, and the pixel group includes unnecessary pixels other than the target pixel, the target pixel is overwritten with the unnecessary pixel, and the unnecessary pixel is transferred to the target pixel. The gist of the present invention is that it comprises a writing adjustment means for prohibiting overwriting.

本発明の一実施態様によれば、第1の転送手段により、第1画像データから同一の列に並ぶ着目画素を少なくとも1つ含む転送サイズの第1データが転送される。転送された第1データは書込手段によりメモリーに書き込まれる(格納される)。読出手段は、メモリーにおける第1データから少なくとも1つの着目画素を選択して読み出す。メモリーから読み出された着目画素を含む転送サイズの第2データは、第2の転送手段により転送される。転送された第2データ(画素群)は書込調整手段により、第2画像データの画素配列順になるように書き込まれる。このとき、書込調整手段により、第2データが着目画素以外の不要画素を含む場合、着目画素が不要画素に上書きされるとともに、不要画素の着目画素への上書きが禁止される。よって、ラスターサイズが転送サイズの自然数倍になるようにダミーデータを加えることなく、第1画像データから第2画像データへの縦横変換を行うことができる。従って、縦横変換処理速度をさほど落とさず、格納手段における使用格納領域を少なく抑えることができる。
上記目的の一つを達成するために、本発明の態様の一つは、第1画像データを縦横変換して第2画像データを生成する画像データ処理装置であって、第1画像データが格納される第1格納手段と、メモリーと、第2画像データを格納するための第2格納手段と、前記第1画像データから少なくとも1つの着目画素を含む一列に並ぶ複数の画素を選択した転送サイズの第1データを、前記着目画素を順次替えて前記第1格納手段から前記転送サイズずつ転送して前記メモリーに格納する第1転送手段と、前記メモリーに格納された前記第1データの群から少なくとも1つの前記着目画素を含む複数の画素を選択した転送サイズの第2データを、前記着目画素を順次替えて前記メモリーから前記転送サイズずつ前記第2格納手段へ転送し、当該第2データ中の着目画素が前記第2格納手段における前記第2画像データの画素配列順に合った位置に配置される前記第2格納手段中の位置に書き込む第2転送手段と、を備え、前記第2の転送手段は、前記第2データが画素の配列順が不適切なミスアラインである場合に、当該ミスアラインである第2データの画素の配列順を補正する補正手段と、前記第2データが着目画素以外の不要画素を含む場合に、当該不要画素の前記第2格納手段への書込みを禁止する書込調整手段と、を備えたことを要旨とする。
According to one embodiment of the present invention, the first data having a transfer size including at least one pixel of interest arranged in the same column is transferred from the first image data by the first transfer unit. The transferred first data is written (stored) in the memory by the writing means. The reading means selects and reads at least one target pixel from the first data in the memory. The second data having the transfer size including the target pixel read from the memory is transferred by the second transfer unit. The transferred second data (pixel group) is written by the writing adjusting means so as to be in the pixel arrangement order of the second image data. At this time, when the second data includes unnecessary pixels other than the target pixel, the write adjustment unit overwrites the target pixel with the unnecessary pixel and prohibits the unnecessary pixel from being overwritten on the target pixel. Therefore, the vertical / horizontal conversion from the first image data to the second image data can be performed without adding dummy data so that the raster size is a natural number multiple of the transfer size. Therefore, it is possible to suppress the use storage area in the storage means without significantly reducing the vertical / horizontal conversion processing speed.
In order to achieve one of the above objects, one aspect of the present invention is an image data processing apparatus for generating second image data by longitudinally and laterally converting first image data, wherein the first image data is stored. First storage means, a memory, second storage means for storing second image data, and a transfer size in which a plurality of pixels arranged in a line including at least one pixel of interest are selected from the first image data The first data is transferred from the first storage means by the transfer size by sequentially changing the pixel of interest and stored in the memory, and from the group of the first data stored in the memory Second data having a transfer size in which a plurality of pixels including at least one pixel of interest are selected is transferred from the memory to the second storage unit in increments of the transfer size by sequentially changing the pixels of interest. Second transfer means for writing the pixel of interest in the data to a position in the second storage means arranged at a position that matches the pixel arrangement order of the second image data in the second storage means, and The transfer means includes: a correction means for correcting the arrangement order of the pixels of the second data that is the misalignment when the second data is a misalignment in which the arrangement order of the pixels is inappropriate; and the second data is the pixel of interest And a write adjustment unit that prohibits writing of the unnecessary pixel to the second storage unit when unnecessary pixels other than the above are included.

本発明の態様の一つである画像データ処理装置では、前記読出手段は、前記転送サイズをBバイト(但しBは自然数)、当該Bを2の累乗に表したときの指数をm(但しmは自然数)とし、前記メモリーに書き込まれた転送サイズのデータから、前記着目画素のアドレスの下位mビットの位置を読出アドレスとして着目画素を読み出すことが好ましい。   In the image data processing apparatus according to one aspect of the present invention, the reading means is configured such that the transfer size is B bytes (B is a natural number), and an exponent when the B is expressed as a power of 2 is m (note that m Is a natural number), and it is preferable to read the pixel of interest from the transfer size data written in the memory, using the position of the lower m bits of the address of the pixel of interest as a read address.

本発明の一実施態様によれば、読出手段は、メモリーに書き込まれた転送サイズのデータから、着目画素のアドレスの下位mビットの位置を読出アドレスとして着目画素を読み出す。よって、メモリーに格納された転送サイズのデータから着目画素を適切に読み出すことができる。   According to one embodiment of the present invention, the reading means reads the pixel of interest from the transfer size data written in the memory, using the position of the lower m bits of the address of the pixel of interest as the reading address. Therefore, the pixel of interest can be appropriately read from the transfer size data stored in the memory.

本発明の態様の一つである画像データ処理装置では、前記第2データが画素の配列順が不適切なミスアラインであるか否かを判定する判定手段と、前記ミスアラインであると判定された第2データの画素の配列順を補正する補正手段と、を更に備えていることが好ましい。   In the image data processing apparatus according to one aspect of the present invention, a determination unit that determines whether or not the second data is a misalignment in which the pixel arrangement order is inappropriate, and a second that is determined to be the misalignment. It is preferable that correction means for correcting the arrangement order of the two data pixels is further provided.

本発明の一実施態様によれば、判定手段により第2データがミスアラインであると判定されると、補正手段によってミスアラインの第2データの画素の配列順が補正される。よって、補正後の第2データが第2格納手段に書き込まれることで、第2データの画素を回転処理後の適切な位置に書き込むことができる。   According to one embodiment of the present invention, when the determination unit determines that the second data is misaligned, the correction unit corrects the pixel arrangement order of the misaligned second data. Therefore, the corrected second data is written in the second storage unit, so that the pixels of the second data can be written at an appropriate position after the rotation process.

本発明の態様の一つである画像データ処理装置では、前記補正手段は、画素データ毎に付されると共にマスク有効の値とマスク無効の値のうち一方をとる第1フラグを生成する第1フラグ生成手段と、画素データ毎に付されると共にマスク有効の値とマスク無効の値のうち一方をとる第2フラグを生成する第2フラグ生成手段と、前記第2データを構成する前記画素をシフトさせて当該画素の配列順を変更させるシフト処理手段と、前記画素のシフトに伴って前記第1フラグ及び第2フラグをシフトさせると共に、着目画素以外の不要画素に対応する前記第2フラグをマスク有効の値に変更したうえで、シフト後の第1フラグと第2フラグとを論理和演算して第3フラグを生成する第3フラグ生成手段と、を備え、前記第2の転送手段は、シフト後の前記第2データを構成する画素データ毎に前記第3フラグを付けて当該データを第2格納手段に転送する構成であり、前記書込調整手段は、前記第3フラグがマスク無効の値であれば対応する画素データを書込み、マスク有効の値であれば対応する画素データの書込みを禁止するマスク処理手段を備えていることが好ましい。 In the image data processing apparatus according to one aspect of the present invention, the correction unit generates a first flag that is attached to each pixel data and takes one of a mask valid value and a mask invalid value. Flag generating means; second flag generating means for generating a second flag which is attached to each pixel data and takes one of a mask valid value and a mask invalid value; and the pixels constituting the second data A shift processing means for shifting and changing the arrangement order of the pixels; and the second flag corresponding to an unnecessary pixel other than the target pixel is shifted while the first flag and the second flag are shifted in accordance with the shift of the pixel. And a third flag generating means for generating a third flag by performing an OR operation on the shifted first flag and second flag after changing to a mask valid value, wherein the second transfer means comprises: , The third flag is attached to each pixel data constituting the second data after transfer, and the data is transferred to the second storage means. The write adjustment means has the mask invalid for the third flag. It is preferable to provide mask processing means for writing the corresponding pixel data if the value is valid, and prohibiting the writing of the corresponding pixel data if the mask is valid .

本発明の一実施態様によれば、第3フラグがマスク無効の値であれば対応する画素データの書込みが許容され、マスク有効の値であれば対応する画素データの書込みが禁止される。よって、第2格納手段に着目画素を書き込みできるうえ、不要画素による着目画素の上書きを禁止できる。従って、回転処理した着目画素を第2格納手段に先に書き込んだ着目画素を上書きすることなく書き込むことができる。 According to one embodiment of the present invention, the third flag is allowed write of the corresponding pixel data if the value of the invalid mask, the writing of the corresponding pixel data is prohibited if the mask effective value. Therefore, the pixel of interest can be written to the second storage means, and overwriting of the pixel of interest by unnecessary pixels can be prohibited. Therefore, it is possible to write the target pixel that has been subjected to the rotation process without overwriting the target pixel that has been previously written in the second storage means.

本発明の態様の一つである画像データ処理装置では、前記第1の転送手段に対して第1格納手段に格納された前記第1画像データから転送サイズずつ前記第1データを読み出すために指示する読出しアドレスは、前記第1データのうちの着目画素のリードアドレスの下位mビットをマスクして指定することが好ましい。   In the image data processing apparatus according to one aspect of the present invention, the first transfer unit is instructed to read out the first data by transfer size from the first image data stored in the first storage unit. The read address to be specified is preferably specified by masking the lower m bits of the read address of the pixel of interest in the first data.

本発明の一実施態様によれば、第1データのうちの着目画素のリードアドレスの下位mビットをマスクして読出アドレスを指定するので、第1格納手段の適切な読出アドレスから第1データを読み出すことができる。   According to one embodiment of the present invention, since the lower m bits of the read address of the pixel of interest in the first data are masked to designate the read address, the first data is obtained from the appropriate read address of the first storage means. Can be read.

本発明の態様の一つである画像データ処理装置では、前記読出手段は、前記メモリーに格納された前記第1データのうち、前記リードアドレスの下位mビットで示される位置の画素を選択して読み出すことが好ましい。   In the image data processing apparatus according to one aspect of the present invention, the reading unit selects a pixel at a position indicated by lower m bits of the read address from the first data stored in the memory. It is preferable to read.

本発明の一実施態様によれば、読出手段は、メモリーに格納された第1データに属する画素のうち、リードアドレスの下位mビットで示される位置の画素を選択して読み出すことにより、適切な画素が選択された第2データを読み出すことができる。   According to one embodiment of the present invention, the reading means selects and reads out the pixel at the position indicated by the lower m bits of the read address from among the pixels belonging to the first data stored in the memory, thereby appropriately The second data from which the pixel is selected can be read out.

本発明の態様の一つである画像データ処理装置では、前記第2の転送手段に対して前記第2データを前記第2格納手段に書き込ませるために指示する書込アドレスは、前記第2データのうちの着目画素のライトアドレスの下位mビットをマスクして指定することが好ましい。   In the image data processing apparatus according to one aspect of the present invention, the write address instructing the second transfer means to write the second data in the second storage means is the second data. Of these, it is preferable to specify by masking the lower m bits of the write address of the pixel of interest.

本発明の一実施態様によれば、第2データのうちの着目画素のライトアドレスの下位mビットをマスクして書込アドレスを指定するので、第2格納手段の適切な書込アドレスへ第2データを書き込むことができる。   According to one embodiment of the present invention, the lower m bits of the write address of the pixel of interest in the second data are masked to designate the write address, so that the second write means has an appropriate write address. Data can be written.

本発明の態様の一つである記録装置は、上記発明の態様に係る画像データ処理装置と、前記画像データ処理装置によって前記第1画像データが縦横変換された前記第2画像データに基づいて記録を行う記録手段と、を備えたことを要旨とする。   A recording apparatus according to an aspect of the present invention is based on the image data processing apparatus according to the aspect of the invention described above and the second image data obtained by vertically and horizontally converting the first image data by the image data processing apparatus. And a recording means for performing the above.

本発明の一実施態様によれば、第1画像データを縦横変換して第2画像データを生成する際に、記録装置に備えられた第1格納手段及び第2格納手段における各画像データの使用格納領域(使用記憶容量)を小さく抑えつつ、縦横変換処理を行うことができる。   According to one embodiment of the present invention, when the first image data is vertically and horizontally converted to generate the second image data, use of each image data in the first storage means and the second storage means provided in the recording apparatus Vertical / horizontal conversion processing can be performed while keeping the storage area (used storage capacity) small.

本発明の態様の一つは、第1画像データを縦横変換して第2画像データを生成する画像データ処理方法であって、第1画像データから同一の列に並ぶ着目画素を少なくとも1つ含む転送サイズの第1データをメモリーへ転送する第1の転送ステップと、転送された前記第1データを前記メモリーに格納する書込ステップと、前記メモリーにおける前記第1データから少なくとも1つの前記着目画素を選択して読み出す読出ステップと、前記メモリーから読み出した前記着目画素を含む転送サイズの第2データを前記第2格納手段へ転送する第2の転送ステップと、前記第2格納手段に、前記第2画像データの画素配列順になるように前記第2データの画素群を書き込むとともに、前記画素群が着目画素以外の不要画素を含む場合、前記着目画素の不要画素への書込みを許可するとともに、不要画素の着目画素への書込みをマスクする書込調整ステップと、を備えたことを要旨とする。本発明の一実施態様の画像データ処理方法によれば、上記画像データ処理装置に係る発明と同様の効果を得ることができる。
本発明の態様の一つは、第1画像データを縦横変換して第2画像データを生成する画像データ処理方法であって、第1格納手段に格納された第1画像データから少なくとも1つの着目画素を含む一列に並ぶ複数の画素を選択した転送サイズの第1データを、前記着目画素を順次替えて第1格納手段から前記転送サイズずつ転送してメモリーに格納する第1転送ステップと、前記メモリーに格納された前記第1データの群から少なくとも1つの前記着目画素を含む複数の画素を選択した転送サイズの第2データを、前記着目画素を順次替えて前記メモリーから前記転送サイズずつ第2格納手段へ転送し、当該第2データ中の着目画素が前記第2格納手段における前記第2画像データの画素配列順に合った位置に配置される前記第2格納手段中の位置に書き込む第2転送ステップと、を備え、前記第2の転送ステップは、前記第2データが画素の配列順が不適切なミスアラインである場合に、当該ミスアラインである第2データの画素の配列順を補正する補正ステップと、前記第2データが着目画素以外の不要画素を含む場合、当該不要画素の前記第2格納手段への書込みを禁止する書込調整ステップと、を備えたことを要旨とする。
One aspect of the present invention is an image data processing method for generating second image data by performing vertical / horizontal conversion on first image data, and includes at least one pixel of interest arranged in the same column from the first image data. A first transfer step of transferring first data of a transfer size to the memory; a writing step of storing the transferred first data in the memory; and at least one pixel of interest from the first data in the memory A read step for selecting and reading out, a second transfer step for transferring the second data of the transfer size including the pixel of interest read from the memory to the second storage means, and the second storage means to the second storage means When the pixel group of the second data is written so as to be in the pixel arrangement order of the two image data, and the pixel group includes unnecessary pixels other than the target pixel, the target image With Allow writing to unwanted pixels, is summarized as further comprising a, a write adjustment step of masking writing to the pixel of interest unnecessary pixels. According to the image data processing method of one embodiment of the present invention, it is possible to obtain the same effect as that of the image data processing apparatus.
One aspect of the present invention is an image data processing method for generating first image data by converting the first image data into vertical and horizontal directions, and includes at least one attention from the first image data stored in the first storage means. A first transfer step of storing first data of a transfer size in which a plurality of pixels arranged in a row including the pixels are selected, sequentially changing the pixel of interest from the first storage unit, transferring the transfer size by the transfer size, and storing the first data; Second data having a transfer size obtained by selecting a plurality of pixels including at least one pixel of interest from the group of the first data stored in the memory, and second data of the transfer size from the memory by changing the size of the second one by one. The pixel of interest in the second data is placed in a position that matches the pixel arrangement order of the second image data in the second storage means. A second transfer step of writing to the device, wherein the second transfer step is an array of pixels of the second data that is the misalignment when the second data is a misalignment in which the pixel arrangement order is inappropriate A correction step for correcting the order; and a writing adjustment step for prohibiting writing of the unnecessary pixel to the second storage means when the second data includes an unnecessary pixel other than the target pixel. And

一実施形態における複合機の斜視図。1 is a perspective view of a multifunction machine according to an embodiment. 印刷ヘッドの模式底面図。FIG. 2 is a schematic bottom view of a print head. 複合機の電気的構成を示すブロック図。FIG. 2 is a block diagram illustrating an electrical configuration of the multifunction machine. 縦横変換処理に係る電気的構成を示すブロック図。The block diagram which shows the electrical structure which concerns on a vertical / horizontal conversion process. (a)印刷イメージデータの格納状態、(b)ヘッドイメージデータの格納状態をそれぞれ説明するための模式図。(A) The schematic diagram for demonstrating the storage state of print image data, respectively (b) The storage state of head image data. 印刷イメージデータのデータ構造を示す図。The figure which shows the data structure of print image data. (a)印刷イメージデータの格納状態、(b)SRAMへの書込み処理を説明する模式図。(A) Storing state of print image data, (b) Schematic diagram explaining the writing process to SRAM. (a)印刷イメージデータの格納状態、(b)SRAMへの書込み処理を説明する模式図。(A) Storing state of print image data, (b) Schematic diagram explaining the writing process to SRAM. (a)〜(c)SRAMからのデータ読み出しを説明する図。(A)-(c) The figure explaining the data reading from SRAM. (a)SRAMからのデータ読出し処理、(b)1回目〜3回目の読出しデータを示す模式図。(A) Data reading process from SRAM, (b) Schematic diagram showing first to third read data. メインメモリーへのデータ保存を説明する模式図。The schematic diagram explaining the data preservation | save to the main memory. (a)〜(d)ミスアライン処理の1回目の書込み処理を説明する模式図。(A)-(d) The schematic diagram explaining the write-in process of the 1st time of a misalignment process. (a)〜(d)ミスアライン処理の2回目の書込み処理を説明する模式図。(A)-(d) The schematic diagram explaining the write-in process of the 2nd time of misalignment process. 5〜6ライン目を示す印刷イメージデータPDの模式図。The schematic diagram of the printing image data PD which shows the 5th-6th line. (a)〜(c)5〜6ライン目におけるSRAMからのデータ読出し処理を説明する模式図。(A)-(c) The schematic diagram explaining the data read-out process from SRAM in the 5th-6th line. (a)SRAMからのデータ読出処理、(b)1回目〜3回目の読出しデータを示す模式図。(A) Data reading process from SRAM, (b) Schematic diagram showing first to third read data. (a)〜(c)メインメモリーへの1回目のデータの保存を説明する模式図。(A)-(c) The schematic diagram explaining the preservation | save of the 1st data to the main memory. (a)〜(d)ミスアライン処理の1回目の書込み処理を説明する模式図。(A)-(d) The schematic diagram explaining the write-in process of the 1st time of a misalignment process. (a)〜(d)ミスアライン処理の2回目の書込み処理を説明する模式図。(A)-(d) The schematic diagram explaining the write-in process of the 2nd time of misalignment process. (a),(b)従来技術における印刷イメージデータからヘッドイメージデータへの縦横変換処理を説明する模式図。(A), (b) The schematic diagram explaining the vertical / horizontal conversion process from the printing image data to head image data in a prior art.

以下、本発明を具体化した一実施形態を図1〜図19に基づいて説明する。図1に示すように、記録装置の一例である複合機11は、本体12とカバー13とを備える。本体12の下側部分がプリンター部14、上側部分がスキャナー部15になっている。プリンター部14は、例えばインクジェット記録方式を採用する。本体12の前側上段部には、操作パネル部17が設けられている。また、本体12の前側下部には、印刷済みの用紙Pが排出される排紙部18が設けられている。本体12において排紙部18の図1における右上位置には、メモリーカード19を挿抜可能なカードスロット20が設けられている。   Hereinafter, an embodiment embodying the present invention will be described with reference to FIGS. As illustrated in FIG. 1, a multifunction machine 11 that is an example of a recording apparatus includes a main body 12 and a cover 13. The lower part of the main body 12 is a printer unit 14, and the upper part is a scanner unit 15. The printer unit 14 employs, for example, an ink jet recording method. An operation panel portion 17 is provided on the upper front portion of the main body 12. A paper discharge unit 18 for discharging the printed paper P is provided at the lower front side of the main body 12. A card slot 20 into which the memory card 19 can be inserted and removed is provided at the upper right position in FIG.

図1に示すように、操作パネル部17にはその幅方向中央部に表示部21(例えば液晶ディスプレイ)が設けられている。また、操作パネル部17には、電源ボタン22、モード選択ボタン23、印刷/スキャンを開始するスタートボタン24、実行中の動作を中止するストップボタン25等が配設されている。モード選択ボタン23の操作によって、「メモリーカード」「コピー」「スキャン」等を含む5つモードのうち一つを選択でき、メモリーカード19から読み取った画像データに基づく写真等の印刷や、原稿のコピー印刷、原稿のスキャニングなどを行うことができる。   As shown in FIG. 1, the operation panel unit 17 is provided with a display unit 21 (for example, a liquid crystal display) at the center in the width direction. Further, the operation panel unit 17 is provided with a power button 22, a mode selection button 23, a start button 24 for starting printing / scanning, a stop button 25 for stopping an operation being executed, and the like. By operating the mode selection button 23, one of five modes including “memory card”, “copy”, “scan”, and the like can be selected, and printing of a photo or the like based on image data read from the memory card 19 can be performed. Copy printing, document scanning, etc. can be performed.

図3は、複合機11の電気的構成を示すブロック図である。複合機11は、全体的な制御を司る制御装置30を備える。制御装置30は、プリンター部14及びスキャナー部15を駆動制御する。制御装置30は、プリンター部14を構成するキャリッジモーター27、搬送手段を構成する搬送モーター28及び記録手段の一例である印刷ヘッド29(流体噴射ヘッド)を駆動制御することにより、プリンター部14に用紙P(媒体)への印刷を行わせる。   FIG. 3 is a block diagram showing an electrical configuration of the multifunction machine 11. The multifunction machine 11 includes a control device 30 that controls the overall control. The control device 30 drives and controls the printer unit 14 and the scanner unit 15. The control device 30 drives and controls a carriage motor 27 that constitutes the printer unit 14, a conveyance motor 28 that constitutes a conveyance unit, and a print head 29 (fluid ejection head) that is an example of a recording unit. Printing on P (medium) is performed.

この制御装置30には、CPU31(中央処理装置)、ASIC32(Application SpecificIC)、ROM33、メモリーコントローラー34、DRAM(Dynamic Random Access Memory)からなるメインメモリー35及びモーター駆動回路36が備えられている。なお、DRAMとしては、SDRAM(Synchronous DRAM)、DDR SDRAM(Double-Data-Rate SDRAM)、DDR2 SDRAM、DDR3 SDRAMなどが用いられているが、その他、EDO DRAM(Extended Data Out DRAM)、バーストEDO DRAMなどを用いることができる。   The control device 30 includes a CPU 31 (central processing unit), an ASIC 32 (Application Specific IC), a ROM 33, a memory controller 34, a main memory 35 including a DRAM (Dynamic Random Access Memory), and a motor drive circuit 36. As DRAM, SDRAM (Synchronous DRAM), DDR SDRAM (Double-Data-Rate SDRAM), DDR2 SDRAM, DDR3 SDRAM, etc. are used. Etc. can be used.

ROM33には、プログラムや各種制御に必要な設定データなどが記憶されている。CPU31はROM33から読み出したプログラム(例えばファームウェア用プログラム)を実行してコマンド及び指令値をモーター駆動回路36に与えることによりキャリッジモーター27及び搬送モーター28を駆動制御する。これにより、プリンター部14における用紙の搬送制御、及び印刷ヘッド29を備える不図示のキャリッジを主走査方向へ移動させるキャリッジ制御が行われる。   The ROM 33 stores programs, setting data necessary for various controls, and the like. The CPU 31 drives and controls the carriage motor 27 and the carry motor 28 by executing a program (for example, a firmware program) read from the ROM 33 and giving commands and command values to the motor drive circuit 36. Thereby, the conveyance control of the paper in the printer unit 14 and the carriage control for moving the carriage (not shown) including the print head 29 in the main scanning direction are performed.

また、複合機11は、通信インターフェイス(以下、「通信I/F37」という)を備える。例えば不図示のホスト装置(パーソナルコンピューター等)から転送されてきた印刷データは、通信I/F37が受信する。この通信I/F37に接続されたバス38には、制御装置30を構成するCPU31、ASIC32、ROM33、メモリーコントローラー34、メインメモリー35及びモーター駆動回路36が接続されるとともに、スキャナー入力回路41、メモリーカード入出力回路42及び操作パネル部17が接続されている。   The multifunction machine 11 also includes a communication interface (hereinafter referred to as “communication I / F 37”). For example, the communication I / F 37 receives print data transferred from a host device (such as a personal computer) (not shown). The bus 38 connected to the communication I / F 37 is connected with a CPU 31, an ASIC 32, a ROM 33, a memory controller 34, a main memory 35, and a motor drive circuit 36 constituting the control device 30, as well as a scanner input circuit 41, a memory The card input / output circuit 42 and the operation panel unit 17 are connected.

スキャナー部15は、原稿を光学的に読み取るラインセンサー15aと、ラインセンサー15aからの読取信号(アナログ信号)をA/D変換して多階調のRGB画像データ(ラインデータ)として出力するA/D変換回路15bとを備える。スキャナー入力回路41は、CPU31の制御の下、スキャナー部15から入力されるRGB画像データに対してライン間補正処理及び解像度変換処理を施す。そして、これらの処理が施されたRGB画像データはASIC32に入力され、不図示の圧縮回路によりJPEG画像データに圧縮される。また、メモリーカード入出力回路42は、スロット20に挿着されたメモリーカード19から例えばJPEG画像データを読み込む。   The scanner unit 15 optically reads a document, and performs A / D conversion on a read signal (analog signal) from the line sensor 15a and outputs it as multi-gradation RGB image data (line data). D conversion circuit 15b. The scanner input circuit 41 performs inter-line correction processing and resolution conversion processing on the RGB image data input from the scanner unit 15 under the control of the CPU 31. The RGB image data subjected to these processes is input to the ASIC 32, and is compressed into JPEG image data by a compression circuit (not shown). The memory card input / output circuit 42 reads, for example, JPEG image data from the memory card 19 inserted in the slot 20.

メインメモリー35は、その一部の記憶領域が画像データ格納用のバッファーとして使用され、受信バッファー35aと第1格納部35b(中間バッファー)と第2格納部35c(印刷バッファー)とを備える。受信バッファー35aには、ホスト装置から受信した印刷データ、スキャナー部15経由及びメモリーカード入出力回路42経由のJPEG画像データなどが格納される。   A part of the storage area of the main memory 35 is used as a buffer for storing image data, and includes a reception buffer 35a, a first storage unit 35b (intermediate buffer), and a second storage unit 35c (print buffer). The reception buffer 35a stores print data received from the host device, JPEG image data via the scanner unit 15 and the memory card input / output circuit 42, and the like.

ASIC32は、受信バッファー35aに格納された画像データ(印刷データ、JPEG画像データ等)に、その画像データ種に応じた画像処理を施すため、図3に示すJPEG解凍回路43、画像処理回路44、縦横変換装置45及びヘッド制御ユニット46を内蔵している。   The ASIC 32 performs image processing corresponding to the image data type on the image data (print data, JPEG image data, etc.) stored in the reception buffer 35a, so that the JPEG decompression circuit 43, the image processing circuit 44, and the like shown in FIG. A vertical / horizontal conversion device 45 and a head control unit 46 are incorporated.

JPEG解凍回路43は、受信バッファー35aから読み込んだJPEG画像データを解凍(伸張)してRGB画像データに展開し、その展開したRGB画像データを第1格納部35bに格納する。   The JPEG decompression circuit 43 decompresses (decompresses) the JPEG image data read from the reception buffer 35a and develops it into RGB image data, and stores the decompressed RGB image data in the first storage unit 35b.

画像処理回路44は、第1格納部35bから読み込んだRGB画像データに対して、解像度変換処理、色変換処理、ハーフトーン処理等を含む公知の画像処理を施す。ここで、解像度変換処理とは、RGB画像データの解像度を表示用解像度から印刷用解像度に変換する処理である。色変換処理とは、RGB画像データをRGB表色系からCMYK表色系のCMYK画像データへ色変換テーブル(図示せず)を参照して変換する処理である。ハーフトーン処理とは、CMYK画像データの画素の階調値(例えば256階調)を、印刷用の階調値(例えば2階調又は4階調など)に変換する処理である。第1格納部35bは、これらの各画像処理終了後の画像データをそれぞれ格納する3つの格納領域を備え、これらの画像処理を全て終了した最終の印刷イメージデータ(CMYK画像データ)は、第1格納部35bの最終段の格納領域に格納される。   The image processing circuit 44 performs known image processing including resolution conversion processing, color conversion processing, halftone processing, and the like on the RGB image data read from the first storage unit 35b. Here, the resolution conversion processing is processing for converting the resolution of the RGB image data from the display resolution to the printing resolution. The color conversion process is a process of converting RGB image data from RGB color system to CMYK image data of CMYK color system with reference to a color conversion table (not shown). The halftone process is a process of converting a gradation value (for example, 256 gradations) of pixels of CMYK image data into a gradation value for printing (for example, 2 gradations or 4 gradations). The first storage unit 35b includes three storage areas for storing the image data after completion of each of these image processes, and the final print image data (CMYK image data) after completion of all these image processes is the first storage area. It is stored in the storage area of the last stage of the storage unit 35b.

縦横変換装置45は、第1格納部35bから読み込んだ印刷イメージデータに縦横変換処理を施す。縦横変換処理とは、印刷イメージデータの画素の並び順を、表示用の横方向(ライン方向)の並び順から、印刷ヘッド29のノズル配列(つまりインク噴射順序)に合わせた縦方向(ラスター方向)の並び順に変換する処理である。そして、縦横変換処理後のヘッドイメージデータは第2格納部35c(イメージバッファー)に格納される。   The vertical / horizontal conversion device 45 performs vertical / horizontal conversion processing on the print image data read from the first storage unit 35b. Vertical / horizontal conversion processing is a vertical direction (raster direction) in which the order of pixels of print image data is adjusted from the horizontal order (line direction) for display to the nozzle arrangement of the print head 29 (that is, the ink ejection order). ) In the order of arrangement. The head image data after the vertical / horizontal conversion processing is stored in the second storage unit 35c (image buffer).

ヘッド制御ユニット46は、第2格納部35cに格納されたヘッドイメージデータを、印刷ヘッド29による印刷制御(噴射制御)が可能なヘッド制御データに変換する。ヘッド制御データは、ヘッド制御ユニット46から例えば1パス分(印刷ヘッドの1走査分)ずつ印刷ヘッド29へ転送される。印刷ヘッド29は不図示のヘッド駆動回路を内蔵し、ヘッド駆動回路がヘッド制御データに基づきインクの噴射制御を行う。   The head control unit 46 converts the head image data stored in the second storage unit 35 c into head control data that can be printed by the print head 29 (ejecting control). The head control data is transferred from the head control unit 46 to the print head 29, for example, for one pass (one scan of the print head). The print head 29 includes a head drive circuit (not shown), and the head drive circuit performs ink ejection control based on the head control data.

図2は、印刷ヘッドの底面(ノズル開口面)を示す。図2に示すように、印刷ヘッド29のノズル開口面29Aには、副走査方向(図2における上下方向)に一定のノズルピッチで配列された計180個のノズル♯1〜♯180よりなるノズル列が4色分(4列)形成されている。本例では、各ノズル列は、180個ずつのノズル29K,29C,29M,29Yを備え、黒(K)、シアン(C)、マゼンタ(M)、イエロー(Y)のインク滴の噴射に使用される。   FIG. 2 shows the bottom surface (nozzle opening surface) of the print head. As shown in FIG. 2, the nozzle opening surface 29A of the print head 29 has a total of 180 nozzles # 1 to # 180 arranged at a constant nozzle pitch in the sub-scanning direction (vertical direction in FIG. 2). Four columns (four columns) are formed. In this example, each nozzle row includes 180 nozzles 29K, 29C, 29M, and 29Y, and is used to eject ink droplets of black (K), cyan (C), magenta (M), and yellow (Y). Is done.

また、印刷ヘッド29には、図2に示す各ノズル♯1〜♯180と対応する吐出駆動素子48がノズルと同数内蔵されている(但し、図2では印刷ヘッド29の外側に模式的に描いている)。吐出駆動素子48は、例えば圧電振動素子又は静電駆動素子からなる。印刷ヘッド29は、不図示のヘッド駆動回路により、ヘッド制御ユニット46から転送されたヘッド制御データに基づいて吐出駆動素子48の駆動制御を行って、ノズルからの噴射制御を行う。もちろん吐出駆動素子48はノズル通路内のインクを加熱するヒーターでもよく、ヒーターで加熱したインク内に沸騰により発生した気泡の膨張を利用してノズルからインク滴を吐出させる構成でもよい。   The print head 29 includes the same number of ejection drive elements 48 corresponding to the nozzles # 1 to # 180 shown in FIG. 2 as the nozzles (however, in FIG. ing). The ejection drive element 48 is composed of, for example, a piezoelectric vibration element or an electrostatic drive element. The print head 29 performs drive control of the ejection drive element 48 based on the head control data transferred from the head control unit 46 by a head drive circuit (not shown), and performs ejection control from the nozzles. Of course, the ejection driving element 48 may be a heater that heats the ink in the nozzle passage, or may be configured to eject ink droplets from the nozzles by utilizing expansion of bubbles generated by boiling in the ink heated by the heater.

図2に示す印刷ヘッド29は、プリンター部14において主走査方向(図2における左右方向)に移動可能に設けられた不図示のキャリッジの下部に固定されている。キャリッジモーター27の駆動により、印刷ヘッド29はキャリッジと共に主走査方向に移動し、その移動途中でノズルからインク滴を1ドット間隔で噴射することにより、用紙Pに印刷が施される。   The print head 29 shown in FIG. 2 is fixed to a lower portion of a carriage (not shown) provided in the printer unit 14 so as to be movable in the main scanning direction (left and right direction in FIG. 2). By driving the carriage motor 27, the print head 29 is moved in the main scanning direction together with the carriage, and printing is performed on the paper P by ejecting ink droplets from the nozzles at intervals of one dot during the movement.

図4は、回転処理に係る部分の詳細な構成図を示す。図4に示すように、縦横変換装置45は、バス38に接続された回転ユニット50と、この回転ユニット50に接続されたSRAM80とを備える。メインメモリー35は、前述の第1格納部35bと第2格納部35cとを備える(但し図4では受信バッファー35aを省略している)。図4に示すように、第1格納部35bには回転ユニット50による回転処理前の印刷イメージデータPDが格納され、第2格納部35cには回転ユニット50による回転処理後のヘッドイメージデータHDが格納されるようになっている。なお、第1格納部35bの印刷イメージデータPDは、縦横変換装置45の上段の画像処理回路44が所定の画像処理を施して生成した図6に示す印刷イメージデータPDを、図5に示す状態に第1格納部35bに格納したものである。   FIG. 4 is a detailed configuration diagram of a portion related to the rotation process. As shown in FIG. 4, the vertical / horizontal conversion device 45 includes a rotation unit 50 connected to the bus 38 and an SRAM 80 connected to the rotation unit 50. The main memory 35 includes the first storage unit 35b and the second storage unit 35c described above (however, the reception buffer 35a is omitted in FIG. 4). As shown in FIG. 4, the print image data PD before the rotation process by the rotation unit 50 is stored in the first storage unit 35b, and the head image data HD after the rotation process by the rotation unit 50 is stored in the second storage unit 35c. It is to be stored. The print image data PD in the first storage unit 35b is the print image data PD shown in FIG. 6 generated by the image processing circuit 44 in the upper stage of the vertical / horizontal conversion device 45 performing predetermined image processing, in the state shown in FIG. Are stored in the first storage unit 35b.

図6は、印刷イメージデータPDのデータ構造を示す。図6に示す印刷イメージデータPDは、縦横変換装置45の上段の画像処理回路44が所定の画像処理を施して生成したものである。1パス分の印刷イメージデータPDのライン数は、ノズル1列当たりのノズル数(本例では180個)と同数の180ラインあるが、説明を簡単にするためにノズル数6個の6ラインの例で説明する。また、印刷ヘッド29の走査1回(1パス)分の印刷イメージデータにおける1ライン当たりの画素数は、M個とする。M個は、用紙に紙幅方向に印刷されるインクドットの最大数(最大ドット数)に相当し、用紙サイズや印刷範囲、印刷解像度にもよるが、例えば数千〜数万個ある。そして、バーストサイズBが、画素4個分(本例えでは8バイト)である場合、Mが、バーストサイズB(本例では8バイト(4画素分))で割り切れず、余りがでる場合を想定する。ここで、余りがでる例であれば、縦横変換装置45の効果的な作用を説明できるので、以下では説明を簡単にするため、印刷イメージデータPDの1ライン当たりの画素数を、バーストサイズBの画素数「4」(8バイト)で割って2画素(4バイト)余る10画素(20バイト)であると仮定して説明する。つまり、印刷イメージデータPDが、N行×M列=6行×10列の例で説明する。この場合、印刷イメージデータPDの1ライン当たりのデータサイズ、つまりラスターサイズを「R」とおく。1ライン当たり10画素の例である本例では、ラスターサイズR=20バイトである。   FIG. 6 shows the data structure of the print image data PD. The print image data PD shown in FIG. 6 is generated by performing predetermined image processing by the upper image processing circuit 44 of the vertical / horizontal conversion device 45. The number of lines of print image data PD for one pass is 180 lines, which is the same as the number of nozzles per nozzle row (180 in this example), but in order to simplify the explanation, 6 lines of 6 nozzles are used. This will be explained with an example. The number of pixels per line in the print image data for one scan (one pass) of the print head 29 is M. M corresponds to the maximum number of ink dots (maximum number of dots) printed on the paper in the paper width direction, and depends on the paper size, print range, and print resolution, for example, thousands to tens of thousands. When the burst size B is 4 pixels (8 bytes in this example), M is assumed to be divisible by the burst size B (8 bytes (4 pixels) in this example). To do. Here, if the remainder is an example, the effective operation of the vertical / horizontal conversion device 45 can be described. Therefore, in order to simplify the description, the number of pixels per line of the print image data PD is set to the burst size B. It is assumed that there are 2 pixels (4 bytes) and 10 pixels (20 bytes) remaining by dividing by the number of pixels “4” (8 bytes). That is, the print image data PD will be described using an example of N rows × M columns = 6 rows × 10 columns. In this case, the data size per line of the print image data PD, that is, the raster size is set to “R”. In this example, which is an example of 10 pixels per line, the raster size R is 20 bytes.

本実施形態の回転ユニット50は、回転処理における回転前の印刷イメージデータPDと回転後のヘッドイメージデータHDの格納領域において、データのラスターサイズR(行方向長)がバーストサイズBの自然数倍に一致しない場合においても、ダミーデータを不要とするためにアライン機能を有する回転処理をハードウェアで実現する。   In the rotation unit 50 of the present embodiment, the raster size R (length in the row direction) of data is a natural number times the burst size B in the storage area of the print image data PD before rotation and the head image data HD after rotation in the rotation process. Even in the case where they do not coincide with each other, a rotation process having an align function is realized by hardware in order to eliminate the need for dummy data.

図5(a)は、メインメモリー35(第1格納部35b)に格納された印刷イメージデータPDの格納状態を示し、図5(b)は、印刷イメージデータPDに回転処理(縦横変換)を施して生成されたヘッドイメージデータHDのメインメモリー35(第2格納部35c)における格納状態を示す。図5(a)では、印刷イメージデータを構成する各画素は、N行×M列のマトリクス状に配列されている。印刷イメージデータPDは、印刷ヘッド29が印刷のため主走査方向に1回移動(1パス)したときの印刷に用いられる1パス分のデータである。よって、回転処理時の印刷イメージデータPDは、ノズル1列分のノズル数(本例では180個)と同数の行数Nで、印刷ヘッド29が主走査したときに主走査方向に形成されるインクドットの最大ドット数と同数の列数Mを有する。このため、印刷イメージデータPDは、通常、数100行×数1000列ぐらいの画素数であるが、説明を簡単にするため、図5では前述のとおり、画素数6行×10列の画像データの例を示す。ここで、画素の符号「N-M」は、N行M列目の画素データを指す。なお、以下の説明では、画素1つ分のデータ単位を「セル」と呼ぶ場合もある。なお、本例の印刷ヘッド29は、1ノズル列当たり1色で4色印刷できるように4列のノズル列を有するので、印刷イメージデータPDをヘッドイメージデータHDに変換する回転処理はインク色毎に行われる。例えば回転ユニット50を色数と同数設けて並列処理したり、1つの回転ユニット50で複数色分の印刷イメージデータPDの回転処理を順番に行ったりしてもよい。   FIG. 5A shows a storage state of the print image data PD stored in the main memory 35 (first storage unit 35b), and FIG. 5B shows a rotation process (vertical / horizontal conversion) on the print image data PD. The storage state of the head image data HD generated in the main memory 35 (second storage unit 35c) is shown. In FIG. 5A, the pixels constituting the print image data are arranged in a matrix of N rows × M columns. The print image data PD is data for one pass used for printing when the print head 29 moves once (one pass) in the main scanning direction for printing. Therefore, the print image data PD at the time of the rotation process is formed in the main scanning direction when the print head 29 performs main scanning with the same number of rows N as the number of nozzles for one nozzle row (180 in this example). The number of columns M is the same as the maximum number of ink dots. For this reason, the print image data PD usually has a number of pixels of about several hundred rows × several thousand columns. However, in order to simplify the explanation, as shown in FIG. An example of Here, the symbol “NM” of the pixel indicates the pixel data of the Nth row and the Mth column. In the following description, a data unit for one pixel may be referred to as a “cell”. Since the print head 29 of this example has four nozzle rows so that four colors can be printed with one color per nozzle row, the rotation processing for converting the print image data PD into the head image data HD is performed for each ink color. To be done. For example, the same number of rotation units 50 as the number of colors may be provided for parallel processing, or a single rotation unit 50 may sequentially rotate the print image data PD for a plurality of colors.

本例では、バースト転送1回分のデータサイズであるバーストサイズB(バイト)は、4画素分に相当する8バイトとする。第1格納部35bは、バーストサイズBを考慮して、行方向のサイズ(Byte)がバーストサイズの自然数倍のC・B(Byte)(但しCは自然数)に設定されている。図5において破線で囲む領域が、1回でバースト転送されるバーストサイズB(4画素分)のデータである。1回のバースト転送でバーストサイズのデータがJ回転送される。バーストサイズB分(行方向のA画素分)ずつのデータを連続してN回バースト転送することにより、A×A個分の画素データを1単位とするデータが転送される。   In this example, the burst size B (byte), which is the data size for one burst transfer, is 8 bytes corresponding to 4 pixels. In the first storage unit 35b, in consideration of the burst size B, the size (Byte) in the row direction is set to C · B (Byte) (where C is a natural number) which is a natural number multiple of the burst size. In FIG. 5, a region surrounded by a broken line is data of a burst size B (for four pixels) that is burst transferred at a time. Burst size data is transferred J times in one burst transfer. By continuously transferring the data for each burst size B (for the A pixel in the row direction) N times, data with A × A pixel data as one unit is transferred.

図5(a)に示すように、メインメモリー35(第1格納部35b)に格納された印刷イメージデータPDの1バースト目のデータ(画素データ「1-1」「1-2」「1-3」「1-4」)を回転処理後のヘッドイメージデータがメインメモリー35(第2格納部35c)に格納された格納状態で見ると、各画素データがばらばらの位置に格納されることが分かる。このように各画素データをばらばらの位置に格納するためには、メモリーアクセスが頻繁となり効率が低下する。そのため、本実施形態では、各画素データがばらばらの位置に格納される割に、メモリーアクセスが頻繁とならず効率よく回転処理が可能なハードウェアからなる縦横変換装置45(回転処理装置)を用いる。   As shown in FIG. 5A, the first burst data (pixel data “1-1”, “1-2”, “1-”) of the print image data PD stored in the main memory 35 (first storage unit 35b). 3 ”“ 1-4 ”) when the head image data after the rotation processing is stored in the main memory 35 (second storage unit 35c), the pixel data may be stored at different positions. I understand. Thus, in order to store the pixel data at different positions, memory access becomes frequent and efficiency is lowered. Therefore, in the present embodiment, a vertical / horizontal conversion device 45 (rotation processing device) made of hardware capable of efficient rotation processing without frequent memory access is used for each pixel data stored in discrete positions. .

図4に示す回転ユニット50は、メモリーコントローラー34に対して読出アドレスAR1とバーストサイズBと転送回数Jとを指定する。メモリーコントローラー34は、指定された読出アドレスAR1からバーストサイズBずつのデータ(A画素分)を連続してA回(J=Aの場合)転送する。これにより回転ユニット50は、A×Aの正方ブロックを第1格納部35bから読み出す。これを連続的に行って、A×Aの正方ブロックずつ読み出される。   The rotation unit 50 shown in FIG. 4 designates the read address AR1, the burst size B, and the transfer count J for the memory controller 34. The memory controller 34 continuously transfers data (for A pixels) of each burst size B from the designated read address AR1 A times (when J = A). Thereby, the rotation unit 50 reads the A × A square block from the first storage unit 35b. This is continuously performed and A × A square blocks are read out.

また、回転ユニット50は、メモリーコントローラー34に対して書込アドレスAW1とバーストサイズBと転送回数Jとを指定する。メモリーコントローラー34は、指定された書込アドレスAW1からバーストサイズB(A画素分)ずつのデータを連続してA回転送する。これにより回転ユニット50は、A×Aの正方ブロックを第2格納部35cに書き込む。そして、これを連続的に行って、A×Aの正方ブロックずつ読み出される。   Further, the rotation unit 50 designates the write address AW1, the burst size B, and the transfer count J to the memory controller 34. The memory controller 34 continuously transfers data of burst size B (for A pixels) A times from the designated write address AW1. Thereby, the rotation unit 50 writes the A × A square block in the second storage unit 35c. Then, this is continuously performed and A × A square blocks are read out.

本実施形態ではバーストサイズBが32バイトであり、メモリーコントローラー34が32バイトバーストを行う構成である。但し、説明を簡単にするため、前述のとおり、バーストサイズBを8バイトとする8バイトバーストを行う例で説明する。もちろん、バーストサイズは適宜設定でき、例えば16バイトバースト、24バイトバースト、64バイトバーストなどを採用することもできる。また、バースト転送回数Jも適宜設定してよい。   In this embodiment, the burst size B is 32 bytes, and the memory controller 34 performs a 32-byte burst. However, in order to simplify the description, as described above, an example of performing an 8-byte burst with a burst size B of 8 bytes will be described. Of course, the burst size can be set as appropriate. For example, a 16-byte burst, a 24-byte burst, a 64-byte burst, or the like can be adopted. Further, the burst transfer count J may be set as appropriate.

以下、図4を用いて、回転ユニット50、メモリーコントローラー34及びSRAM80などの詳細な構成を説明する。
図4に示す回転ユニット50は、入力系として、第1アドレスコントローラー51と、入力インターフェイス(以下、「入力I/F52」と記す)と、入力バッファー53とを備える。なお、本実施形態では、第1アドレスコントローラー51と入力I/F52により、第1の転送手段の一例が構成される。
Hereinafter, detailed configurations of the rotation unit 50, the memory controller 34, the SRAM 80, and the like will be described with reference to FIG.
4 includes a first address controller 51, an input interface (hereinafter referred to as “input I / F 52”), and an input buffer 53 as an input system. In the present embodiment, the first address controller 51 and the input I / F 52 constitute an example of a first transfer unit.

第1アドレスコントローラー51は、メインメモリー35の第1格納部32bに格納された印刷イメージデータPDから読み出すべき着目画素のリードアドレスAR0を生成する。そして、第1アドレスコントローラー51は、生成したリードアドレスAR0を入力I/F52へ送る。   The first address controller 51 generates a read address AR0 of the pixel of interest to be read from the print image data PD stored in the first storage unit 32b of the main memory 35. Then, the first address controller 51 sends the generated read address AR0 to the input I / F 52.

入力I/F52は、第1アドレスコントローラー51からのリードアドレスAR0を基に読出アドレスAR1を生成するアドレス生成部60を備えている。そして、入力I/F52は、メモリーコントローラー34に対して読出アドレスAR1を指定してバースト転送でデータを読み出すバーストリードを要求する。また、入力I/F52は、リードアドレスAR0をポインターコントローラー54に送る。   The input I / F 52 includes an address generation unit 60 that generates a read address AR1 based on the read address AR0 from the first address controller 51. Then, the input I / F 52 requests the memory controller 34 to perform a burst read for designating the read address AR1 and reading data by burst transfer. Further, the input I / F 52 sends the read address AR 0 to the pointer controller 54.

メモリーコントローラー34は、バーストリードを行う機能を持つ読出転送部81(バーストリード処理部)を備えている。読出転送部81は、入力I/F52からバーストリード要求を受け付けると、読出アドレスAR1からバーストサイズB分のデータD1を順次読み出して、入力I/F52へバースト転送する。本例では、バーストサイズBは4画素分のデータサイズである。1回のバーストリード要求で4つの読出アドレスAR1を指定して連続4回のバースト転送が行われる。つまり、読出転送部81は、バーストリード要求で指定された読出アドレスAR1からバーストサイズB(4画素)分ずつ4回読出して回転ユニット50の入力I/F52へバースト転送する。   The memory controller 34 includes a read transfer unit 81 (burst read processing unit) having a function of performing burst read. When the read transfer unit 81 receives a burst read request from the input I / F 52, the read transfer unit 81 sequentially reads the data D1 corresponding to the burst size B from the read address AR1, and burst-transfers the data to the input I / F 52. In this example, the burst size B is a data size for four pixels. Four burst addresses are continuously transferred by designating four read addresses AR1 by one burst read request. In other words, the read transfer unit 81 reads four times from the read address AR1 specified by the burst read request by the burst size B (4 pixels), and performs burst transfer to the input I / F 52 of the rotation unit 50.

入力I/F52は、バースト転送されてきたデータD1を入力すると、データD1の読み出しに使用された対応するリードアドレスAR0と共にデータD1を入力バッファー53に格納する。   When the input I / F 52 receives the data D1 that has been burst transferred, the input I / F 52 stores the data D1 in the input buffer 53 together with the corresponding read address AR0 used to read the data D1.

また、ポインターコントローラー54は、SRAM80へのデータD1の書込位置(書き込み先頭アドレス)を指すライトポインターWPを生成する第1ポインター生成部61と、SRAM80に書き込まれたデータD1からデータD2を構成する4つの画素の読出位置を指すリードポインターRPを生成する第2ポインター生成部62とを備えている。ライトポインターWPは、SRAM80の行方向におけるデータD1の書込開始位置を指すポインターである。また、リードポインターRPは、データD1のうち読出し対象のセルを指すポインターである。第1ポインター生成部61は、SRAM80にデータD1が書き込まれる度に、ライトポインターWPを次の書込開始位置にシフトさせる。本例では、SRAM80の行方向サイズが2・Bバイトの例で説明するものとし、2・Bバイトである場合、ライトポインターWPは、2つの書込位置を順番に切り換わる。   The pointer controller 54 constitutes data D2 from the first pointer generator 61 that generates a write pointer WP that indicates the write position (write start address) of the data D1 to the SRAM 80, and the data D1 written to the SRAM 80. And a second pointer generation unit 62 that generates a read pointer RP indicating the readout position of four pixels. The write pointer WP is a pointer that indicates the write start position of the data D1 in the row direction of the SRAM 80. The read pointer RP is a pointer that points to a cell to be read in the data D1. The first pointer generator 61 shifts the write pointer WP to the next writing start position every time data D1 is written to the SRAM 80. In this example, an example in which the row direction size of the SRAM 80 is 2 · B bytes will be described. When the size is 2 · B bytes, the write pointer WP switches between two write positions in order.

また、第2ポインター生成部62は、SRAM80内の各データD1のうち読み出すべきセルを指すリードポインターRPをリードアドレスAR0から生成する。第2ポインター生成部62は、各データD1に対応するリードアドレスAR0の下位3ビットを、行毎のリードポインターRPの位置として求める。   Further, the second pointer generator 62 generates a read pointer RP indicating a cell to be read out of each data D1 in the SRAM 80 from the read address AR0. The second pointer generator 62 obtains the lower 3 bits of the read address AR0 corresponding to each data D1 as the position of the read pointer RP for each row.

SRAMコントローラー55は、入力バッファー53に格納されたデータD1を順次読込んでSRAM80に書き込む処理を行う書込部63と、SRAM80に格納されたデータD1からリードポインターRPの指すセルを読み出す読出部64とを備える。   The SRAM controller 55 sequentially reads the data D1 stored in the input buffer 53 and writes the data D1 in the SRAM 80, and the reading unit 64 reads out the cell indicated by the read pointer RP from the data D1 stored in the SRAM 80. Is provided.

また、SRAMコントローラー55は、データD1のうちリードポインターRPの指すセルが、印刷イメージデータPDに属するセルでない場合にそのセルをマスクするための第1フラグF1を生成する第1フラグ生成部65を備える。印刷イメージデータPDの開始アドレス(先頭アドレス)とデータサイズが既知であるため、第1フラグ生成部65は、リードアドレスAR0から印刷イメージデータPDに属さない不定のセルを識別可能となっている。そして、第1フラグ生成部65は、リードポインターRPの指すセルが、印刷イメージデータPDの画素である場合には、そのセルに第1フラグF1としてマスクしない旨の「0」を設定し、印刷イメージデータPDの画素ではない不定のセルである場合には、その不定のセルに第1フラグF1としてマスクする旨の「1」を設定する。リードポインターRPは、各データD1に1つずつあるので、L個のリードポインターRPに対応する第1フラグF1を、F1K(但しKは、0,1,2,…L−1;但しLは2以上の自然数))とおく。ここで、Lは、データD1のライン数である。データD1が4ラインの本例では、4つのリードポインターRPが指す4つのセルには、第1フラグF1として、それぞれF1(0),F1(1),F1(2,F1(3)が設定される。SRAMコントローラー55は、読出部64が読み出したL個(本例では4個)のセルと第1フラグF1(K)(但しKは、0,1,2,…L−1)とをそれぞれ対応付けて出力バッファー56へ出力する。   In addition, the SRAM controller 55 includes a first flag generation unit 65 that generates a first flag F1 for masking a cell indicated by the read pointer RP in the data D1 when the cell does not belong to the print image data PD. Prepare. Since the start address (head address) and the data size of the print image data PD are known, the first flag generation unit 65 can identify an indefinite cell that does not belong to the print image data PD from the read address AR0. Then, when the cell pointed to by the read pointer RP is a pixel of the print image data PD, the first flag generation unit 65 sets “0” to the effect that the cell is not masked as the first flag F1, and prints the cell. If the cell is an indefinite cell that is not a pixel of the image data PD, “1” is set to mask the indefinite cell as the first flag F1. Since there is one read pointer RP for each data D1, the first flag F1 corresponding to L read pointers RP is set to F1K (where K is 0, 1, 2,... L−1; where L is A natural number of 2 or more)). Here, L is the number of lines of the data D1. In this example in which the data D1 is four lines, F1 (0), F1 (1), F1 (2, F1 (3) are set as the first flag F1 in the four cells indicated by the four read pointers RP, respectively. The SRAM controller 55 includes L cells (four cells in this example) read by the reading unit 64 and the first flag F1 (K) (where K is 0, 1, 2,... L−1). Are associated with each other and output to the output buffer 56.

回転ユニット50は、出力系として、出力バッファー56と、第2アドレスコントローラー57と、出力インターフェイス(以下、「出力I/F58」と記す)とを備えている。なお、本実施形態では、第2アドレスコントローラー57と出力I/F58により、書込手段の一例が構成される。   The rotation unit 50 includes an output buffer 56, a second address controller 57, and an output interface (hereinafter referred to as “output I / F 58”) as an output system. In the present embodiment, the second address controller 57 and the output I / F 58 constitute an example of a writing unit.

第2アドレスコントローラー57は、メインメモリー35の第2格納部35cにヘッドイメージデータHDの一部として格納すべきセルのライトアドレスAW0を生成する。つまり、SRAM80から読み出したL個のセルをメインメモリー35の第2格納部35cに書き込むためのライトアドレスAW0を生成する。   The second address controller 57 generates the write address AW0 of the cell to be stored as part of the head image data HD in the second storage unit 35c of the main memory 35. That is, the write address AW0 for writing the L cells read from the SRAM 80 to the second storage unit 35c of the main memory 35 is generated.

また、第2アドレスコントローラー57は、ライトアドレスAW0を基にミスアラインであるか否かを判定する判定部66を備えている。ここで、ミスアラインとは、書込み位置が前回の書込み位置と連続せず間に空きを置いて書込む必要があり、そのまま書き込むと本来空けるべき位置に書き込まれてしまうことを指す。第2アドレスコントローラー57は、ライトアドレスAW0の下位3ビットが「000」(2進数)であればミスアラインではないと判定し、「000」以外の値、つまり下位3ビットのうちいずれかのビットに「1」が存在すればミスアラインと判定する。   Further, the second address controller 57 includes a determination unit 66 that determines whether or not a misalignment is made based on the write address AW0. Here, the misalignment means that the writing position is not continuous with the previous writing position and it is necessary to write with a space between them, and if it is written as it is, it is written at a position that should be vacated. The second address controller 57 determines that it is not misaligned if the lower 3 bits of the write address AW0 are “000” (binary number), and sets a value other than “000”, that is, any one of the lower 3 bits. If “1” exists, it is determined as misalignment.

また、第2アドレスコントローラー57は、第2フラグF2を生成する第2フラグ生成部67を備えている。第2フラグ生成部67は、SRAM80から読み出されたセル(画素)の配列順が不適切である場合に、セルを適切な配列順に並び替えるミスアライン処理に用いるために第2フラグF2を生成する。第2フラグF2も、第1フラグF1と同様のマスクフラグであり、マスクしない旨の「0」と、マスクする旨の「1」のフラグ値をとる。第2フラグ生成部67は、値が「0」の第2フラグF2を生成する。第2アドレスコントローラー57は、ライトアドレスAW0と第2フラグF2とミスアライン判定結果とを出力I/F58へ送る。なお、判定部66を出力I/F58に設け、第2アドレスコントローラー57からのライトアドレスAW0を基に出力I/F58内の判定部66がミスラインであるか否かを判定する構成としてもよい。   The second address controller 57 includes a second flag generation unit 67 that generates a second flag F2. The second flag generation unit 67 generates the second flag F2 for use in misalignment processing for rearranging the cells in an appropriate arrangement order when the arrangement order of the cells (pixels) read from the SRAM 80 is inappropriate. . The second flag F2 is also a mask flag similar to the first flag F1, and takes a flag value of “0” not masking and “1” masking. The second flag generation unit 67 generates a second flag F2 having a value “0”. The second address controller 57 sends the write address AW0, the second flag F2, and the misalignment determination result to the output I / F 58. The determination unit 66 may be provided in the output I / F 58 to determine whether or not the determination unit 66 in the output I / F 58 is a miss line based on the write address AW0 from the second address controller 57. .

出力I/F58は、ライトアドレスAW0を基に書込アドレスAW1を生成するアドレス生成部68と、ミスアライン処理のためのセルの配列順変更のためにセルをシフトさせるシフト処理部69と、第1フラグF1と第2フラグF2を用いて第3フラグF3を生成する第3フラグ生成部70とを備えている。   The output I / F 58 includes an address generation unit 68 that generates a write address AW1 based on the write address AW0, a shift processing unit 69 that shifts cells to change the cell arrangement order for misalignment processing, and a first A third flag generation unit 70 that generates a third flag F3 using the flag F1 and the second flag F2 is provided.

シフト処理部69は、ミスアライン処理のためのセルの配列順変更のためにセルをフラグF1,F2と共にシフトさせるシフト処理を行う。第3フラグ生成部70は、シフト処理でシフトさせた着目画素以外の画素に対応する第2フラグF2を「0」から「1」に変更する処理と、第1フラグF1と変更後の第2フラグF2との論理和を演算する論理和演算(OR演算)とを行って、第3フラグF3を生成する。ここで、第3フラグF3は、第1フラグF1や第2フラグF2と同様のマスクフラグであり、マスクしない旨の「0」と、マスクする旨の「1」のフラグ値をとる。   The shift processing unit 69 performs shift processing for shifting the cells together with the flags F1 and F2 in order to change the cell arrangement order for misalignment processing. The third flag generation unit 70 changes the second flag F2 corresponding to the pixel other than the target pixel shifted by the shift process from “0” to “1”, the first flag F1 and the changed second flag The third flag F3 is generated by performing a logical sum operation (OR operation) for calculating a logical sum with the flag F2. Here, the third flag F3 is a mask flag similar to the first flag F1 and the second flag F2, and takes a flag value of “0” for not masking and “1” for masking.

そして、出力I/F58は、メモリーコントローラー34に対して書込アドレスAW1を指定してバースト転送でデータD2を書き込むバーストライトを要求する。このとき、第3フラグF3が付されたデータD2がバーストライト要求される。   The output I / F 58 requests the memory controller 34 to perform a burst write in which the write address AW1 is designated and the data D2 is written by burst transfer. At this time, a burst write request is made for the data D2 with the third flag F3.

図4に示すメモリーコントローラー34は、バーストライト要求を受け付けると、データD2をバースト転送して、メインメモリー35の第2格納部35cにおける指定の書込アドレスAW1にデータD2を書き込む書込転送部82を備える。書込転送部82は、データD2に付された第3フラグF3が「0」の画素データについては書込み(上書き)を許容し、第3フラグF3が「1」の画素データについてはマスクしてその書込み(上書き)を禁止すマスク処理部82Aを備えている。   When the memory controller 34 shown in FIG. 4 receives the burst write request, the memory controller 34 burst-transfers the data D2, and writes the data D2 to the designated write address AW1 in the second storage unit 35c of the main memory 35. Is provided. The write transfer unit 82 allows writing (overwriting) for pixel data for which the third flag F3 attached to the data D2 is “0”, and masks pixel data for which the third flag F3 is “1”. A mask processing unit 82A that prohibits the writing (overwriting) is provided.

次に、回転ユニット50がSRAM80を用いて行う回転処理について説明する。
ラスターサイズRをオフセット量offsetとおくと、その値が20バイトである本例では、offsetは16進数で「0x14」になる。
Next, a rotation process performed by the rotation unit 50 using the SRAM 80 will be described.
If the raster size R is set as an offset amount offset, in the present example in which the value is 20 bytes, the offset is “0x14” in hexadecimal.

ここで、図5(a)に示す例では、第1格納部35bの行方向サイズがバーストサイズBに合わせてその自然数倍のC・B(Byte)に設定されており、一方の印刷イメージデータPDのラスターサイズRが、バーストサイズBで割ると余りの画素ができる値となっている。この場合、図6に示す印刷イメージデータPDの1列目のN個(本例ではN=6)の画素データ「1-1」「2-1」「3-1」…「6-1」は、メインメモリー35の第1格納部35bに格納された状態では、1ライン進む毎に後方へ2個(4バイト)ずつずれる。このため、同一列に属する画素「1-1」「2-1」「3-1」…「6-1」が、バーストサイズBずつ転送される各データD1における4画素中の位置が同じにならない。そのため、従来技術のように、同一列に属する連続する4画素を含む4×4正方ブロックをSRAMでただ回転させるだけでは、縦横変換できない。本例の回転ユニット50は、メモリーコントローラー34の画素(セル)単位での上書きの禁止機能を利用することにより、従来技術のように印刷イメージデータPDにダミーデータを追加することなく、かつ縦横変換処理の効率の低下を招く頻繁なメモリーアクセスを回避しつつ、印刷イメージデータPDをヘッドイメージデータHDに変換する。なお、バーストサイズBに満たない余りの画素数は2個以外の値でもよい。もちろん、本例の縦横変換装置45は、余りの画素数が「0」となる印刷イメージデータPDも縦横変換可能である。   Here, in the example shown in FIG. 5A, the row direction size of the first storage unit 35b is set to C · B (Byte), which is a natural number multiple of the burst size B, and one print image. When the raster size R of the data PD is divided by the burst size B, it is a value that can form a surplus pixel. In this case, N (N = 6 in this example) pixel data “1-1”, “2-1”, “3-1”, and “6-1” in the first column of the print image data PD shown in FIG. In the state stored in the first storage unit 35b of the main memory 35, it is shifted backward by 2 (4 bytes) every time one line is advanced. Therefore, the pixels “1-1”, “2-1”, “3-1”... “6-1” belonging to the same column have the same position in the four pixels in each data D1 to which the burst size B is transferred. Don't be. Therefore, as in the prior art, vertical / horizontal conversion cannot be performed by simply rotating a 4 × 4 square block including four consecutive pixels belonging to the same column with an SRAM. The rotation unit 50 of this example uses the overwriting prohibition function in units of pixels (cells) of the memory controller 34, and does not add dummy data to the print image data PD as in the prior art, and also converts the vertical and horizontal directions. The print image data PD is converted into the head image data HD while avoiding frequent memory accesses that cause a reduction in processing efficiency. Note that the number of remaining pixels that does not satisfy the burst size B may be a value other than two. Of course, the vertical / horizontal conversion device 45 of this example can also perform vertical / horizontal conversion on the print image data PD with the remaining number of pixels of “0”.

SRAM80はバーストサイズB及びバースト転送回数Jを考慮し、16バイト×8ライン×2面分用意する。一般化すれば、行方向にバーストサイズBの自然数Q倍の長さで、かつバースト転送回数Jの自然数S倍のライン数を格納可能な格納サイズを1面とし、これを2面用意する。   The SRAM 80 prepares for 16 bytes × 8 lines × 2 planes in consideration of the burst size B and the burst transfer count J. If generalized, the storage size that can store the number of lines that is a natural number Q times the burst size B in the row direction and that is a natural number S times the natural number S of the burst transfer times J is set as one, and two are prepared.

第1アドレスコントローラー51は、以下のようにリードアドレスAR0を求める。図6に示すように、印刷イメージデータPDの先頭画素、つまり1行(1ライン)・1列(1ラスター)目の画素データの格納位置を開始アドレスADst(先頭アドレス)とおく。また、ライン(行)が次の行にオフセットされる値(オフセット量)を「offset」とおく。このオフセット量offsetは、ラスターサイズRに等しい。これらの情報は、CPU31により第1アドレスコントローラー51に設定される。第1アドレスコントローラー51は、印刷イメージデータPD中のnライン目の先頭アドレスAD0を、以下の式で演算する。   The first address controller 51 obtains the read address AR0 as follows. As shown in FIG. 6, the storage position of the first pixel of the print image data PD, that is, the pixel data of the first row (one line) and first column (one raster) is set as the start address ADst (first address). Further, a value (offset amount) by which a line (row) is offset to the next line is set as “offset”. This offset amount offset is equal to the raster size R. These pieces of information are set in the first address controller 51 by the CPU 31. The first address controller 51 calculates the leading address AD0 of the nth line in the print image data PD by the following formula.

AR0=ADst+offset*(n−1) … (1)
ここで、開始アドレスADstは、第1格納部35bにおいて印刷イメージデータPDが格納される先頭アドレスであり、任意のアドレスである。本例では説明を簡単にするため、開始アドレスADstを「0x0000」とする。
AR0 = ADst + offset * (n−1) (1)
Here, the start address ADst is a leading address where the print image data PD is stored in the first storage unit 35b, and is an arbitrary address. In this example, the start address ADst is set to “0x0000” in order to simplify the description.

第1アドレスコントローラー51は、上記(1)式に基づいてリードアドレスAR0を生成する。このリードアドレスAR0は、メインメモリー35において、印刷イメージデータPDの1列目の画素データ、つまり「1-1」「2-1」「3-1」「4-1」「5-1」「6-1」の位置を指すアドレスである。これらの1列目の画素データ「1-1」「2-1」「3-1」「4-1」「5-1」「6-1」を行方向に配列するように縦横変換する。これらのライン先頭の画素データを選択するために、第1アドレスコントローラー51はリードアドレスAR0を生成する。つまり、ライン先頭の画素を含むバーストサイズB(4画素分)のデータD1が転送対象として選択されるように、第1アドレスコントローラー51はライン先頭の画素データの位置するアドレスをリードアドレスAR0として求める。   The first address controller 51 generates the read address AR0 based on the above equation (1). This read address AR0 is the pixel data of the first column of the print image data PD in the main memory 35, that is, “1-1” “2-1” “3-1” “4-1” “5-1” “ This is an address indicating the position of “6-1”. The pixel data “1-1”, “2-1”, “3-1”, “4-1”, “5-1”, and “6-1” in the first column are vertically and horizontally converted so as to be arranged in the row direction. In order to select the pixel data at the head of these lines, the first address controller 51 generates a read address AR0. That is, the first address controller 51 obtains the address at which the line head pixel data is located as the read address AR0 so that the data D1 of the burst size B (for four pixels) including the line head pixel is selected as the transfer target. .

第1アドレスコントローラー51が生成するリードアドレスAR0は、あくまでライン先頭の画素(1列目の画素)のアドレスであり、これはライン先頭画素が必ずしもバースト転送されるデータD1(図5(a)における破線枠で囲まれたデータ)の先頭画素ではないので、データD1の先頭アドレスと必ずしも一致していない。第1アドレスコントローラー51は、生成したリードアドレスAR0を入力I/F52に送る。   The read address AR0 generated by the first address controller 51 is merely the address of the pixel at the beginning of the line (pixel in the first column), and this is not necessarily the data D1 (FIG. 5A) in which the line head pixel is necessarily burst transferred. Since it is not the first pixel of the data surrounded by the broken line frame, it does not necessarily match the first address of the data D1. The first address controller 51 sends the generated read address AR0 to the input I / F 52.

入力I/F52は、第1アドレスコントローラー51から受け取ったリードアドレスAR0の下位3ビットをマスクすることにより読出アドレスAR1を演算する。読出アドレスAR1は、図5(a)の印刷イメージデータPDにおいて、破線で囲ったバーストサイズBのデータD1の先頭アドレスを指す。すなわち、バーストサイズBを2のm乗で表したときの指数mを用いて、リードアドレスAR0下位mビットをマスクして、読出アドレスAR1を生成する。ここで、リードアドレスAR0の下位3ビットをマスクした値は、その画素データが属するバーストサイズのデータD1(図5(a)の破線領域)の先頭アドレスを示し、下位3ビットは、そのデータD1の先頭アドレスを基準(0)としたときに対象の画素が、先頭アドレスから何バイト目に位置するかを示す。そして、入力I/F52は、メモリーコントローラー34に対して読出アドレスAR1を指定して、メインメモリー35からデータD1のバースト転送を要求するバーストリード要求を行う。また、入力I/F52は、第1アドレスコントローラー51から受け取ったリードアドレスAR0をポインターコントローラー54に渡す。   The input I / F 52 calculates the read address AR1 by masking the lower 3 bits of the read address AR0 received from the first address controller 51. The read address AR1 indicates the head address of the data D1 of the burst size B surrounded by a broken line in the print image data PD in FIG. That is, the read address AR1 is generated by masking the lower m bits of the read address AR0 using the index m when the burst size B is expressed by 2 to the power of m. Here, the value obtained by masking the lower 3 bits of the read address AR0 indicates the head address of the burst size data D1 (dashed area in FIG. 5A) to which the pixel data belongs, and the lower 3 bits indicate the data D1. This indicates how many bytes the target pixel is located from the head address when the head address of is the reference (0). Then, the input I / F 52 designates the read address AR1 to the memory controller 34 and makes a burst read request for requesting burst transfer of data D1 from the main memory 35. Further, the input I / F 52 passes the read address AR 0 received from the first address controller 51 to the pointer controller 54.

メモリーコントローラー34の読出転送部81は、入力I/F52から読出アドレスAR1とともにバーストリード要求を受け付けると、メインメモリー35の読出アドレスAR1からバーストサイズB分のデータD1を読み出し、入力I/F52へバースト転送する。入力I/F52は、メモリーコントローラー34から転送され入力したデータD1をリードアドレスAR0と共に入力バッファー53に格納する。   When the read transfer unit 81 of the memory controller 34 receives a burst read request together with the read address AR1 from the input I / F 52, it reads the data D1 for the burst size B from the read address AR1 of the main memory 35 and bursts it to the input I / F 52. Forward. The input I / F 52 stores the input data D1 transferred from the memory controller 34 in the input buffer 53 together with the read address AR0.

一方、ポインターコントローラー54では、第1ポインター生成部61がライトポインターWPを生成し、第2ポインター生成部62がリードポインターRPを生成する。ライトポインターWPとは、SRAM80へのデータD1の書込位置(書込アドレス)を指すポインターである。第1ポインター生成部61は、4×4画素の正方ブロック(4ライン分のデータD1)が書き込まれる度に、ライトポインターWPをバーストサイズB(4画素)分進んだ次の書込位置にシフトさせる。一方、リードポインターRPは、SRAM80に格納されたデータD1の中からその先頭アドレスを基準として読み出すべき画素データの相対位置(先頭アドレスから何バイト目)を指すポインターである。第2ポインター生成部62は、リードアドレスAR0の下位mビット(本例では下位3ビット)をリードポインターRPの値とする。   On the other hand, in the pointer controller 54, the first pointer generator 61 generates a write pointer WP, and the second pointer generator 62 generates a read pointer RP. The write pointer WP is a pointer that indicates a write position (write address) of the data D1 to the SRAM 80. The first pointer generator 61 shifts the write pointer WP to the next writing position advanced by the burst size B (4 pixels) every time a 4 × 4 pixel square block (data D1 for 4 lines) is written. Let On the other hand, the read pointer RP is a pointer that indicates the relative position (number of bytes from the start address) of the pixel data to be read out from the data D1 stored in the SRAM 80 with reference to the start address. The second pointer generator 62 uses the lower m bits (lower 3 bits in this example) of the read address AR0 as the value of the read pointer RP.

次に、縦横変換装置45の作用を図面に基づいて説明する。
まず、図7及び図8を用いて、メインメモリー35の第1格納部35bに格納された印刷イメージデータPDからバーストサイズBずつのデータD1のバーストリード(バースト転送)及びバーストリードしたデータD1をSRAM80へ書込む処理を説明する。
Next, the operation of the vertical / horizontal conversion device 45 will be described with reference to the drawings.
First, referring to FIG. 7 and FIG. 8, burst read (burst transfer) of data D1 in burst size B and burst read data D1 from print image data PD stored in the first storage unit 35b of the main memory 35 are used. A process of writing to the SRAM 80 will be described.

メインメモリー35の第1格納部35bには、図7(a)に示す状態に印刷イメージデータPDが格納されている。CPU31は、縦横変換装置45に対して、開始アドレスADstとオフセット量offset(=ラスターサイズR)を与える。第1アドレスコントローラー51は、開始アドレスADstとオフセット量offset(=R)とを用いて、前記(1)式に基づいて、リードアドレスAR0=ADst+offset*(n−1)(nはライン番号)を求める。   Print image data PD is stored in the first storage unit 35b of the main memory 35 in the state shown in FIG. The CPU 31 gives the start address ADst and the offset amount offset (= raster size R) to the vertical / horizontal conversion device 45. The first address controller 51 uses the start address ADst and the offset amount offset (= R) to calculate the read address AR0 = ADst + offset * (n−1) (n is a line number) based on the equation (1). Ask.

図7(a)において印刷イメージデータPDの1列目に属する画素(同図に薄い網掛が施された6個の画素)のうち最初の4ライン分の画素データ「1-1」「2-1」「3-1」「4-1」のリードアドレスAR0が、それぞれADst(0x0000)、ADst+offset(0x0014)、ADst+offset*2(0x0028)、ADst+offset*3(0x003C)が求められる。そして、入力I/F52は、メモリーコントローラー34に対して、リードアドレスAR0の下位3ビットをマスクして得た読出アドレスAR1を指示する。すなわち、メモリーコントローラー34に対しては、読出アドレスAR1が、「0x0000」、「0x0010」、「0x0028」、「0x0038」(16進数)として指示される。この結果、その指示された各読出アドレスAR1から図7(a)に破線枠で囲むバーストサイズB分の4つのデータD1が順番に回転ユニット50へバーストリードされる。   In FIG. 7A, the pixel data “1-1” and “2-” for the first four lines among the pixels belonging to the first column of the print image data PD (six shaded pixels in FIG. 7). For the read addresses AR0 of “1”, “3-1”, and “4-1”, ADst (0x0000), ADst + offset (0x0014), ADst + offset * 2 (0x0028), and ADst + offset * 3 (0x003C) are obtained, respectively. The input I / F 52 instructs the memory controller 34 with the read address AR1 obtained by masking the lower 3 bits of the read address AR0. That is, the read address AR1 is designated to the memory controller 34 as “0x0000”, “0x0010”, “0x0028”, “0x0038” (hexadecimal number). As a result, four data D1 corresponding to the burst size B surrounded by the broken line frame in FIG. 7A is burst read from the designated read address AR1 to the rotation unit 50 in order.

これに前後して、ポインターコントローラー54では、SRAM80のライトポインターWPの初期値を求めるとともに、リードアドレスAR0を基にその下位3ビットをSRAM80のリードポインターRPの初期値として求め、これをSRAMコントローラー55に送る。図7(b)において下向きの太線矢印で示すライトポインターWPの指す位置に各データD1を上側の行から順番(行アドレス「+0000」「+0010」「+0020」「+0030」の順番)に書き込む。図7(b)において、斜め太線矢印がリードポインターRPの位置である。4つのリードアドレスAR0の下位3ビットで示される4つのリードポインターRPは、各データD1において1列目の画素「1-1」「2-1」「3-1」「4-1」の位置を指している。すなわち、各データD1には上側の行から順番に、リードポインターRPとして、RP1=0x0、RP2=0x4、RP3=0x0、RP4=0x4が設定される。   Before and after this, the pointer controller 54 obtains the initial value of the write pointer WP of the SRAM 80 and obtains the lower 3 bits as the initial value of the read pointer RP of the SRAM 80 based on the read address AR0. Send to. In FIG. 7B, the respective data D1 are arranged in order from the upper row at the position indicated by the write pointer WP indicated by the downward bold arrow (in the order of row addresses “+0000”, “+0010”, “+0020”, “+0030”). Write to. In FIG. 7B, the slanted thick arrow is the position of the lead pointer RP. The four read pointers RP indicated by the lower 3 bits of the four read addresses AR0 are the positions of the pixels “1-1”, “2-1”, “3-1”, and “4-1” in the first column in each data D1. Pointing. That is, RP1 = 0x0, RP2 = 0x4, RP3 = 0x0, and RP4 = 0x4 are set as the read pointer RP in order from the upper row in each data D1.

また、SRAMコントローラー55によって、各データD1にはそれぞれを構成する画素毎に第1フラグF1が付される。セルが印刷イメージデータPDの有効ラインに属する画素データであれば第1フラグF1はマスクしない旨の「0」が付され、セルが有効ラインに属さなければ第1フラグF1はマスクする旨の「1」が付される。図7(b)の例では、4つのデータD1は全て4個の画素を有するので、各データD1には上側の行から順番に、それぞれを構成する各画素に、第1フラグF1(0=0、F1(1=0、F1(2=0、F1(3=0が付される。つまり、行アドレス「+0000」のデータD1には各画素に第1フラグF1(0=0が付され、行アドレス「+0010」のデータD1には各画素に第1フラグF 1(1=0が付され、行アドレス「+0020」のデータD1には各画素に第1フラグF1(2=0が付され、さらに行アドレス「+0030」のデータD1には各画素に第1フラグF1(3=0が付される。このように1回目のバーストリードによって、SRAM80にはライトポインターWPの指す位置に図7(b)に示す4×4画素の正方ブロックが格納される。各データD1の書込みが終わると、ライトポインターWPは図7(b)に太線矢印で示す書込位置「+0」から、同図に二点鎖線の矢印で示す書込位置「+8」にシフトする。   Further, the SRAM controller 55 adds a first flag F1 to each data D1 for each pixel constituting the data D1. If the cell is pixel data belonging to the valid line of the print image data PD, the first flag F1 is assigned “0” indicating that it is not masked. If the cell does not belong to the valid line, the first flag F1 is masked “ 1 "is attached. In the example of FIG. 7B, since all the four data D1 have four pixels, each data D1 has a first flag F1 (0 = 0) for each pixel constituting the data D1 in order from the upper row. 0, F1 (1 = 0, F1 (2 = 0, F1 (3 = 0). That is, the data D1 of the row address “+0000” has a first flag F1 (0 = 0 added to each pixel). The first flag F 1 (1 = 0 is assigned to each pixel in the data D1 at the row address “+0010”, and the first flag F1 (2 = 2 = to each pixel in the data D1 at the row address “+0020”. In addition, the first flag F1 (3 = 0 is assigned to each pixel in the data D1 of the row address “+0030”, and the SRAM 80 has the write pointer WP in the first burst read. A square block of 4 × 4 pixels shown in Fig. 7 (b) is stored at the position indicated by the write pointer W. P shifts from the writing position “+0” indicated by the bold arrow in FIG. 7B to the writing position “+8” indicated by the two-dot chain line arrow in FIG.

次に2回目のバーストリードが行われる。図8(a)において、印刷イメージデータPDの1回目のバーストリードの対象になった画素のリードアドレスAR0にバーストサイズB分の「8」を加算してリードアドレスAR0が演算される。すなわち、リードアドレスAR0が、それぞれADst+8(0x0008)、ADst+offset+8(0x001C)、ADst+offset*2+8(0x0030)、ADst+offset*3+8(0x0044)が求められる。そして、入力I/F52は、メモリーコントローラー34に対して、リードアドレスAR0の下位3ビットをマスクした読出アドレスAR1を指示する。すなわち、メモリーコントローラー34に対しては、読出アドレスAR1が、「0x0008」、「0x0018」、「0x0030」、「0x0040」(16進数)として指示される。この結果、その指示された各読出アドレスAR1から図8(a)に破線枠で囲むバーストサイズB分の4つのデータD1が順番に回転ユニット50へバーストリードされる。   Next, the second burst read is performed. In FIG. 8A, the read address AR0 is calculated by adding “8” for the burst size B to the read address AR0 of the pixel that is the target of the first burst read of the print image data PD. That is, ADst + 8 (0x0008), ADst + offset + 8 (0x001C), ADst + offset * 2 + 8 (0x0030), and ADst + offset * 3 + 8 (0x0044) are obtained, respectively. The input I / F 52 instructs the memory controller 34 to read address AR1 in which the lower 3 bits of the read address AR0 are masked. In other words, the read address AR1 is instructed to the memory controller 34 as “0x0008”, “0x0018”, “0x0030”, “0x0040” (hexadecimal number). As a result, four data D1 corresponding to the burst size B surrounded by a broken line frame in FIG. 8A is burst read from the designated read address AR1 to the rotation unit 50 in order.

そして、2回目にバーストリードされた各データD1は、図8(b)に破線枠で示すように、書込位置「+8」に上側の行から順番(行アドレス「+0000」「+0010」「+0020」「+0030」の順番)に書き込まれる。   Then, each data D1 burst-read for the second time is written in order from the upper row at the write position “+8” (row addresses “+0000” “+0010”), as indicated by the dashed frame in FIG. 8B. In the order of “+0020” and “+0030”).

また、SRAMコントローラー55によって、各データD1にはそれぞれを構成する画素毎に第1フラグF1が付される。図8(b)の例では、4つのデータD1は全て4個の画素を有するので、各データD1には上側の行から順番に、それぞれを構成する各画素に、第1フラグF1(1)=0、F1(2)=0、F1(3)=0、F1(4)=0が付される。つまり、行アドレス「+0000」のデータD1には各画素に第1フラグF1(1)=0が付され、行アドレス「+0010」のデータD1には各画素に第1フラグF1(2)=0が付され、行アドレス「+0020」のデータD1には各画素に第1フラグF1(3)=0が付され、さらに行アドレス「+0030」のデータD1には各画素に第1フラグF1(4)=0が付される。このように2回目のバーストリードによって、SRAM80にはライトポインターWPの指す位置に図8(b)に示す4×4画素の正方ブロックが格納される。各データD1のSRAM80への書込みが終わると、ライトポインターWPは図8(b)に太線矢印で示す書込位置「+8」から、同図に二点鎖線の矢印で示す書込位置「+0」にシフトする。   Further, the SRAM controller 55 adds a first flag F1 to each data D1 for each pixel constituting the data D1. In the example of FIG. 8B, since all the four data D1 have four pixels, each data D1 has a first flag F1 (1) for each pixel constituting the data D1 in order from the upper row. = 0, F1 (2) = 0, F1 (3) = 0, and F1 (4) = 0. That is, the first flag F1 (1) = 0 is assigned to each pixel in the data D1 at the row address “+0000”, and the first flag F1 (2) is assigned to each pixel in the data D1 at the row address “+0010”. = 0, the data D1 at the row address “+0020” is assigned a first flag F1 (3) = 0 to each pixel, and the data D1 at the row address “+0030” is assigned a first value to each pixel. Flag F1 (4) = 0 is attached. Thus, by the second burst read, the square block of 4 × 4 pixels shown in FIG. 8B is stored in the SRAM 80 at the position indicated by the write pointer WP. When the writing of each data D1 to the SRAM 80 is completed, the write pointer WP moves from the writing position “+8” indicated by the bold arrow in FIG. 8B to the writing position “+0” indicated by the two-dot chain line arrow in FIG. Shift to.

なお、印刷イメージデータPDの1ライン目〜4ライン目を読み出す場合は、その読み出すライン数が4の倍数なので、第1フラグF1はリセット(=0)のままである。しかし、後述する5ライン目と6ライン目を読み出す場合、その読み出すライン数が4の倍数にならず半端なラインはダミーデータとなり、第1フラグF1がセット(=1)される。つまり、読み出すライン数が、1回のバーストリード要求で実施されるバースト転送回数であるJ(本例ではJ=4)の倍数にならない場合、転送すべきライン以外の半端なラインはダミーデータとなり、このダミーデータのセルをマスクする第1フラグF1が有効な値「1」にセットされる。   Note that when the first to fourth lines of the print image data PD are read, the number of lines to be read is a multiple of 4, so the first flag F1 remains reset (= 0). However, when the fifth line and the sixth line, which will be described later, are read, the number of lines to be read is not a multiple of 4, and the odd line becomes dummy data, and the first flag F1 is set (= 1). In other words, if the number of lines to be read is not a multiple of J (J = 4 in this example), which is the number of burst transfers performed in one burst read request, the odd lines other than the lines to be transferred are dummy data. The first flag F1 for masking the dummy data cell is set to a valid value “1”.

次に、SRAMコントローラー55の読出部64がSRAM80からデータを読み出す処理について図9を用いて説明する。読出部64は、図9(a)に示すように、リードポインターRP1〜RP4が指す画素データを読み出し、出力バッファー56へ転送する。すなわち、図9(a)に示す1回目の読出しでは、画素データ「1-1」「2-1」「3-1」「4-1」が読み出され、出力バッファー56へ転送される。画素データを読み出した後、リードポインターRPをカウントアップする。その結果、リードポインターRPが図9(b)に示す位置に1つ進む。   Next, a process in which the reading unit 64 of the SRAM controller 55 reads data from the SRAM 80 will be described with reference to FIG. As shown in FIG. 9A, the reading unit 64 reads the pixel data pointed to by the read pointers RP <b> 1 to RP <b> 4 and transfers it to the output buffer 56. That is, in the first reading shown in FIG. 9A, the pixel data “1-1”, “2-1”, “3-1”, and “4-1” are read and transferred to the output buffer 56. After reading out the pixel data, the read pointer RP is counted up. As a result, the read pointer RP advances by one to the position shown in FIG.

図9(b)に示す2回目の読出しでは、リードポインターRP1〜RP4が指す画素データを読み出し、出力バッファー56へ転送する。すなわち、画素データ「1-2」「2-2」「3-2」「4-2」が読み出され、出力バッファー56へ転送される。画素データを読み出した後、リードポインターRPをカウントアップする。その結果、リードポインターRPが図9(c)に示す位置に1つ進む。図9(c)に示すように、いずれかのラインのリードポインターRPがライトポインターWPに追いついた場合は、読み出しを一旦停止する。その後、メインメモリー35からデータがロードされてライトポインターWPが進めば、読出部64による画素データの読み出しを再開する。   In the second reading shown in FIG. 9B, the pixel data indicated by the read pointers RP 1 to RP 4 is read and transferred to the output buffer 56. That is, pixel data “1-2”, “2-2”, “3-2”, and “4-2” are read and transferred to the output buffer 56. After reading out the pixel data, the read pointer RP is counted up. As a result, the read pointer RP advances by one to the position shown in FIG. As shown in FIG. 9C, when the read pointer RP of any line catches up with the write pointer WP, reading is temporarily stopped. Thereafter, when data is loaded from the main memory 35 and the write pointer WP advances, the reading of the pixel data by the reading unit 64 is resumed.

図10(a)に示すように、メインメモリー35から転送されたデータD1が、SRAM80のそのときのライトポインターWPの指す書込位置に書き込まれると、ライトポインターWPが進む。ライトポインターWPが進めばSRAM80からの画素データの読み出しが再開される。そして、読出部64が、図10(a)に示すように、リードポインターRP1〜RP4が指す画素データを読み出し、出力バッファー56へ転送する。すなわち、画素データ「1-3」「2-3」「3-3」「4-3」が読み出され、出力バッファー56へ転送される。こうして各ラインのリードポインターRPを進めながら、リードポインターRPの指す画素データを読み出す処理を、4ライン分の画素データを全て処理するまで繰り返す。   As shown in FIG. 10A, when the data D1 transferred from the main memory 35 is written in the write position indicated by the write pointer WP at that time in the SRAM 80, the write pointer WP advances. When the write pointer WP advances, reading of pixel data from the SRAM 80 is resumed. Then, as illustrated in FIG. 10A, the reading unit 64 reads the pixel data pointed to by the read pointers RP <b> 1 to RP <b> 4 and transfers it to the output buffer 56. That is, pixel data “1-3”, “2-3”, “3-3”, and “4-3” are read and transferred to the output buffer 56. In this way, while advancing the read pointer RP of each line, the process of reading the pixel data pointed to by the read pointer RP is repeated until all the pixel data for four lines are processed.

例えば図10(a)までの読出処理によって、図10(b)に示すように、1回目の読み出しで画素データ「1-1」「2-1」「3-1」「4-1」が読み出され、2回目の読み出しで画素データ「1-2」「2-2」「3-2」「4-2」が読み出され、さらに3回目の読み出しで画素データ「1-3」「2-3」「3-3」「4-3」が読み出される。そして、各回の読出しデータには、各画素データに第1フラグF1(0)〜F1(3)が付される。1ライン目〜4ライン目であるので、このときの第1フラグF1(0)〜F1(3)はマスクしない旨の値「0」になる。   For example, as shown in FIG. 10B, pixel data “1-1”, “2-1”, “3-1”, and “4-1” are read out by the first reading by the reading process up to FIG. The pixel data “1-2”, “2-2”, “3-2”, and “4-2” are read out in the second reading, and the pixel data “1-3” and “4-2” are read out in the third reading. 2-3, 3-3, and 4-3 are read out. The first flag F1 (0) to F1 (3) is added to each pixel data for each read data. Since the first line to the fourth line, the first flags F1 (0) to F1 (3) at this time have a value “0” indicating that they are not masked.

SRAMコントローラー55による4画素分ずつの読出しデータD2は、各画素に対応する第1フラグF1(0)〜F1(3)と共に出力バッファー56に格納される。出力I/F58は、出力バッファー56から読出しデータD2を第1フラグF1(0)〜F1(3)と共に入力する。   The read data D2 for every four pixels by the SRAM controller 55 is stored in the output buffer 56 together with the first flags F1 (0) to F1 (3) corresponding to each pixel. The output I / F 58 inputs the read data D2 from the output buffer 56 together with the first flags F1 (0) to F1 (3).

第2アドレスコントローラー57は、メインメモリー35の第2格納部35cへデータD2を書き込む際のライトアドレスAW0を生成する。第2アドレスコントローラー57には、CPU31から第2格納部35cに対するデータD2を書き込む際の開始アドレスADst(先頭番地)とオフセット量OFSとが与えられている。第2アドレスコントローラー57は、1回目のライトアドレスAW0を開始アドレスADstとし、2回目以降においては現在のライトアドレスAW0にオフセット量OFSを加えて、次のライトアドレスAW0を演算する。ここで、オフセット量OFSは、処理ライン数×2で与えられる。本例では、ノズル数「6」なので処理ライン数が「6」となり、その2倍の「0x000C」がオフセット量OFS(=0x000C)となる。   The second address controller 57 generates a write address AW0 when writing the data D2 to the second storage unit 35c of the main memory 35. The second address controller 57 is given a start address ADst (first address) and an offset amount OFS when writing data D2 from the CPU 31 to the second storage unit 35c. The second address controller 57 calculates the next write address AW0 by setting the first write address AW0 as the start address ADst and adding the offset amount OFS to the current write address AW0 in the second and subsequent times. Here, the offset amount OFS is given by the number of processing lines × 2. In this example, since the number of nozzles is “6”, the number of processing lines is “6”, and “0x000C” twice that is the offset amount OFS (= 0x000C).

また、第2アドレスコントローラー57では、判定部66がライトアドレスAW0を基にミスアラインであるか否かを判定する。判定部66はライトアドレスAW0の下位mビットが全て「0」であるとミスアラインではないと判定し、下位mビットのいずれかのビットに「1」が存在するとミスアラインであると判定する。例えば図10(b)の1回目読出しデータD2(=「1-1」「2-1」「3-1」「4-1」の画素データ)のときには、ライトアドレスAW0=0x0000でありその下位3ビットが「000」なので、判定部66によりミスアラインではないと判定される。第2アドレスコントローラー57は、ライトアドレスAW0と第2フラグF2とミスアライン判定結果とを出力I/F58へ送る。   In the second address controller 57, the determination unit 66 determines whether the misalignment is made based on the write address AW0. The determination unit 66 determines that there is no misalignment when all the lower m bits of the write address AW0 are “0”, and determines that there is a misalignment when “1” exists in any of the lower m bits. For example, in the case of the first read data D2 (= pixel data of “1-1”, “2-1”, “3-1”, “4-1”) in FIG. 10B, the write address AW0 = 0x0000 and its lower order Since the 3 bits are “000”, the determination unit 66 determines that there is no misalignment. The second address controller 57 sends the write address AW0, the second flag F2, and the misalignment determination result to the output I / F 58.

出力I/F58のアドレス生成部68は、ライトアドレスAW0の下位3ビットをマスクして、書込アドレスAW1を生成する。このとき、ライトアドレスAW0=0x0000なので、書込アドレスAW1=0x0000が求められる。そして、出力I/F58では、第3フラグ生成部70が、第1フラグF1(0)〜F1(3)(=「0000」)と第2フラグF2(0)〜F2(3)(=「0000」)の論理和演算(OR演算)を行って、第3フラグF3(0)〜F3(3)(=「0000」)を生成する。このとき、ミスアライン判定結果からミスアラインではないので、シフト処理部69によるシフト処理は行われない。   The address generation unit 68 of the output I / F 58 masks the lower 3 bits of the write address AW0 to generate the write address AW1. At this time, since the write address AW0 = 0x0000, the write address AW1 = 0x0000 is obtained. Then, in the output I / F 58, the third flag generation unit 70 causes the first flags F1 (0) to F1 (3) (= “0000”) and the second flags F2 (0) to F2 (3) (= “ 0000 ") is performed to generate the third flags F3 (0) to F3 (3) (=" 0000 "). At this time, since the misalignment result is not a misalignment, the shift processing by the shift processing unit 69 is not performed.

出力I/F58は、メモリーコントローラー34に対して、書込アドレスAW1を指定して、第3フラグF3(0)〜F3(3)付きのデータD2のバーストライトを要求する。この結果、図11に示すように、1回目読出しデータD2(=「1-1」「2-1」「3-1」「4-1」の画素データ)が、第2格納部35cの開始アドレスADstに書き込まれる。このようにミスアラインとならない場合は、SRAM80からの画素の読出し順のままデータD2はバースト転送され、第2格納部35cの書込アドレスAW1に書き込まれる。   The output I / F 58 requests the memory controller 34 to write the data D2 with the third flags F3 (0) to F3 (3) by designating the write address AW1. As a result, as shown in FIG. 11, the first read data D2 (= pixel data of “1-1”, “2-1”, “3-1”, “4-1”) is started in the second storage unit 35c. It is written at address ADst. When misalignment does not occur in this way, the data D2 is burst-transferred in the pixel reading order from the SRAM 80 and written to the write address AW1 of the second storage unit 35c.

2回目以降の読出しデータD2を書き込む際の処理は次のように行われる。第2アドレスコントローラー57は、現在のリードアドレスAR0にオフセット量OFSを加算して、次のライトアドレスAW0を求める。このため、2回目の読出しデータD2を書き込む際は、リードアドレスAR0=ADst+OFS=「0x000C」が求められる。また、判定部66は、ライトアドレスAW0(=「0x000C」)の下位3ビットが「100」(2進数)となり、いずれかのビットに「1」が存在するので、ミスアラインと判定する。ミスアラインの場合は2回に分けてバーストライト処理を行う。   The process for writing the second and subsequent read data D2 is performed as follows. The second address controller 57 obtains the next write address AW0 by adding the offset amount OFS to the current read address AR0. Therefore, when writing the read data D2 for the second time, the read address AR0 = ADst + OFS = “0x000C” is obtained. Further, the determination unit 66 determines that the write address AW0 (= “0x000C”) is “100” (binary number) and “1” exists in any of the bits, so that it is misaligned. In case of misalignment, burst write processing is performed in two steps.

まずミスアラインと判定した場合は、このとき第2格納部35cの次の書込アドレスAW1に書き込むべき画素データ以外の画素データの上書きを防ぐため、第2フラグ生成部67が第2フラグF2(0)〜F2(3)を生成する。この時点では第2フラグF2(0)〜F2(3)は、マスク無し状態(値「0」)で生成される。第2アドレスコントローラー57は、ライトアドレスAW0と第2フラグF2(0)〜F2(3)とミスアライン判定結果とを、出力I/F58へ送る。   First, when it is determined as misalignment, the second flag generation unit 67 prevents the pixel data other than the pixel data to be written to the next write address AW1 of the second storage unit 35c from being overwritten at this time. ) To F2 (3). At this time, the second flags F2 (0) to F2 (3) are generated in the no-mask state (value “0”). The second address controller 57 sends the write address AW0, the second flags F2 (0) to F2 (3), and the misalignment determination result to the output I / F 58.

以下、図12及び図13に基づいて、ミスアライン処理を説明する。ミスアライン処理では2回に分けてバーストライト処理(書込処理)が行われる。まず図12に基づいてミスアライン処理の1回目の書込み処理を説明する。   Hereinafter, the misalignment process will be described with reference to FIGS. In the misalignment process, burst write process (write process) is performed in two steps. First, the first writing process of the misalignment process will be described with reference to FIG.

出力I/F58は、図12(a)に示すように、出力バッファー56から入力した第1フラグF1(0)〜F1(3)付きの2回目読出しデータD2に、第2アドレスコントローラー57からの第2フラグF2(0)〜F2(3)を付す。今回のライトアドレスAW0は「0x000C」である。アドレス生成部68は、ライトアドレスAW0=0x000Cの下位3ビットをマスクして、書込アドレスAW1=0x0008を生成する。   As shown in FIG. 12A, the output I / F 58 receives the second read data D2 with the first flags F1 (0) to F1 (3) input from the output buffer 56 from the second address controller 57. The second flags F2 (0) to F2 (3) are attached. The current write address AW0 is “0x000C”. The address generator 68 masks the lower 3 bits of the write address AW0 = 0x000C to generate the write address AW1 = 0x0008.

出力I/F58では、ミスアライン判定結果がミスアラインである場合、シフト処理部69がシフト処理を行う。シフト処理部69は、ライトアドレスAW0の下位mビットをシフト値にして、データD2を構成する4つの画素データをシフトさせるシフト処理を行う。図12(b)に示すように、ライトアドレスAW0の下位3ビットをシフト値にしてシフト処理を行う。ライトアドレスAW0が「0x000C」でその下位3ビットは「100」(=4バイト)であるので、シフト処理部69は、図12(b)に示すように、データD2を構成する4つの画素データを、4バイト(2画素)分だけ図12(b)における右方向(SRAM80からの画素データ読出し順序で後側)へシフトさせる。このとき、右方向へシフトアウトされた画素データ「3-2」「4-2」は、左方向からシフトインされる。シフト処理の結果、画素データ「1-2」「2-2」「3-2」「4-2」が、図12(c)に示すように画素データ「3-2」「4-2」「1-2」「2-2」の順番になる。この画素データのシフト処理に伴って、第3フラグ生成部70により、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)もシフト処理される。第1フラグF1(0)〜F1(3)は、シフト後も全て「0」である。一方、第2フラグF2(0)〜F2(3)は、シフトアウトされた第2フラグF2(2),F2(3)が「1」(マスク)としてシフトインされる(図12(c)参照)。この第2フラグF2のシフトインのときに、「0」(マスク無し)から「1」(マスク有り)に変更する処理は、第3フラグ生成部70が行う。   In the output I / F 58, when the misalignment determination result is a misalignment, the shift processing unit 69 performs a shift process. The shift processing unit 69 performs a shift process for shifting the four pixel data constituting the data D2 using the lower m bits of the write address AW0 as a shift value. As shown in FIG. 12B, shift processing is performed using the lower 3 bits of the write address AW0 as a shift value. Since the write address AW0 is “0x000C” and the lower 3 bits thereof are “100” (= 4 bytes), the shift processing unit 69, as shown in FIG. Is shifted rightward in FIG. 12B by the amount of 4 bytes (2 pixels) (the rear side in the order of reading pixel data from the SRAM 80). At this time, the pixel data “3-2” and “4-2” shifted out to the right are shifted in from the left. As a result of the shift processing, the pixel data “1-2”, “2-2”, “3-2”, and “4-2” are converted into pixel data “3-2” and “4-2” as shown in FIG. It will be in the order of “1-2” and “2-2”. Along with the pixel data shift process, the third flag generation unit 70 also performs the shift process on the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3). The first flags F1 (0) to F1 (3) are all “0” even after the shift. On the other hand, the second flags F2 (0) to F2 (3) are shifted in with the shifted second flags F2 (2) and F2 (3) as “1” (mask) (FIG. 12C). reference). When the second flag F2 is shifted in, the third flag generation unit 70 performs a process of changing from “0” (without mask) to “1” (with mask).

さらに第3フラグ生成部70は、シフト処理後の第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)との論理和演算(OR演算)を行う。この論理和演算の結果、図12(c)に示すように、第3フラグF3(0)〜F3(3)(=「1100」)が生成される。そして、出力I/F58は、メモリーコントローラー34に対して、書込アドレスAW1(=0x0008)を指定して、第3フラグF3(0)〜F3(3)付きのシフト後のデータD2のバーストライトを要求する。メモリーコントローラー34の書込転送部82は、バーストライト要求を受け付けると、書込アドレスAW1にシフト後のデータD2を書き込むに当たり、マスク処理部82Aにマスク処理を行わせる。マスク処理部82Aは、第3フラグF3が「1」である画素データ「3-2」「4-2」をマスクするとともに、第3フラグF3が「0」である画素データ「1-2」「2-2」をマスクしない。このため、図12(d)に示すように、第2格納部35cの書込アドレスAW1には、画素データ「3-2」「4-2」は上書きされず(図12(d)では「dqm」と記載)、画素データ「1-2」「2-2」が上書きされる。この結果、画素データ「1-2」「2-2」は、画素データ「4-1」に対して2画素(つまり画素「5-1」「6-1」)分空けた正しい位置に書き込まれる。   Further, the third flag generation unit 70 performs a logical OR operation (OR operation) between the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3) after the shift process. As a result of this logical sum operation, as shown in FIG. 12C, third flags F3 (0) to F3 (3) (= “1100”) are generated. Then, the output I / F 58 designates the write address AW1 (= 0x0008) to the memory controller 34 and performs burst write of the data D2 after the shift with the third flags F3 (0) to F3 (3). Request. When receiving the burst write request, the write transfer unit 82 of the memory controller 34 causes the mask processing unit 82A to perform mask processing when writing the shifted data D2 to the write address AW1. The mask processing unit 82A masks the pixel data “3-2” and “4-2” whose third flag F3 is “1”, and the pixel data “1-2” whose third flag F3 is “0”. Do not mask “2-2”. For this reason, as shown in FIG. 12D, the pixel data “3-2” and “4-2” are not overwritten in the write address AW1 of the second storage unit 35c (in FIG. dqm ”) and pixel data“ 1-2 ”and“ 2-2 ”are overwritten. As a result, the pixel data “1-2” and “2-2” are written in the correct positions 2 pixels apart from the pixel data “4-1” (that is, pixels “5-1” and “6-1”). It is.

続いてミスアライン処理の2回目の書込み処理を図13に基づいて説明する。第2アドレスコントローラー57はミスアライン処理1回目のライトアドレスAW0=0x000Cに、バーストサイズB(=「0x0008」)を加えてミスアライン処理の2回目のライトアドレスAW0=0x0014を生成する。アドレス生成部68は、今回のライトアドレスAW0=0x0014の下位3ビット「100」(2進数)をマスクして、書込アドレスAW1=0x0010を生成する。   Next, the second writing process of the misalignment process will be described with reference to FIG. The second address controller 57 adds the burst size B (= “0x0008”) to the write address AW0 = 0x000C for the first misalignment process to generate the second write address AW0 = 0x0014 for the misalignment process. The address generation unit 68 masks the lower 3 bits “100” (binary number) of the current write address AW0 = 0x0014 to generate the write address AW1 = 0x0010.

このミスアライン処理の2回目では、図13(a)に示すように、シフト後の2回目読出しデータD2及びシフト後の第1フラグF1(0)〜F1(3)を用いると共に、第2フラグF2(0)〜F2(3)はミスアライン処理の1回目の第2フラグF2(0)〜F2(3)をビット反転させ、「0011」にする。そして、第3フラグ生成部70は、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)との論理和演算(OR演算)を行う。この論理和演算の結果、図13(b)に示すように、第3フラグF3(0)〜F3(3)(=「0011」)が生成される。そして、出力I/F58は、メモリーコントローラー34に対して、書込アドレスAW1(=0x0010)を指定して、第3フラグF3(0)〜F3(3)付きのデータD2のバーストライトを要求する。メモリーコントローラー34の書込転送部82は、バーストライト要求を受け付けると、書込アドレスAW1にデータD2を書き込むに当たり、マスク処理部82Aにマスク処理を行わせる。マスク処理部82Aは、第3フラグF3が「0」である画素データ「3-2」「4-2」をマスクせず、第3フラグF3が「1」である画素データ「1-2」「2-2」をマスクする。このため、図13(c)に示すように、第2格納部35cの書込アドレスAW1には、画素データ「3-2」「4-2は上書きされ、画素データ「1-2」「2-2」は上書きされない(図13(c)では「dqm」と記載)。   In the second misalignment process, as shown in FIG. 13A, the second read data D2 after the shift and the first flags F1 (0) to F1 (3) after the shift are used, and the second flag F2 is used. (0) to F2 (3) bit-invert the second flag F2 (0) to F2 (3) for the first misalignment process to “0011”. Then, the third flag generation unit 70 performs a logical sum operation (OR operation) of the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3). As a result of this logical sum operation, as shown in FIG. 13B, third flags F3 (0) to F3 (3) (= “0011”) are generated. Then, the output I / F 58 designates the write address AW1 (= 0x0010) to the memory controller 34 and requests burst write of the data D2 with the third flags F3 (0) to F3 (3). . When receiving the burst write request, the write transfer unit 82 of the memory controller 34 causes the mask processing unit 82A to perform mask processing when writing the data D2 to the write address AW1. The mask processing unit 82A does not mask the pixel data “3-2” and “4-2” in which the third flag F3 is “0”, and the pixel data “1-2” in which the third flag F3 is “1”. Mask “2-2”. For this reason, as shown in FIG. 13C, the pixel data “3-2” and “4-2” are overwritten in the write address AW1 of the second storage unit 35c, and the pixel data “1-2” “2” -2 "is not overwritten (shown as" dqm "in FIG. 13C).

そして、3回目以降の読出しデータD2について、同様の処理を繰り返す。1ライン目〜4ライン目のデータD2の書込み処理を終えると、メインメモリー35の第2格納部35cには、図13(d)に示すように、データD2中の画素データが縦横変換された場合の適切な位置に書き込まれる。   Then, the same processing is repeated for the third and subsequent read data D2. When the writing process of the data D2 of the first line to the fourth line is finished, the pixel data in the data D2 is converted into the second storage unit 35c of the main memory 35 as shown in FIG. If written in the appropriate location.

次に残りライン数が4の倍数でない場合、つまり図14に示す例では残りライン数が破線枠で囲む5ライン目〜6ライン目の2ラインである場合の処理について説明する。まずメインメモリー35の第1格納部35bからのデータD1の読出し(バーストリード)処理及びSRAM80からの画像データの読出し処理を説明する。   Next, processing when the number of remaining lines is not a multiple of 4, that is, in the example shown in FIG. 14, when the number of remaining lines is two lines from the fifth line to the sixth line surrounded by a broken line frame will be described. First, a process of reading data D1 from the first storage unit 35b of the main memory 35 (burst read) and a process of reading image data from the SRAM 80 will be described.

図15(a)に示す第1格納部35bにおいて着目画素「5-1」「6-1」を含む破線枠で囲まれた各データD1を読み出す。このとき、第1アドレスコントローラー51は、リードアドレスAR0=ADst+offset*4(=0x0050)とAR0=ADst+offset*5(=0x0064)を求める。入力I/F52のアドレス生成部60は、リードアドレスAR0の下位3ビットをマスクして、読出アドレスAR1=0x0050,0x0060を演算する。そして、入力I/F52は、メモリーコントローラー34に対して読出アドレスAR1を指定してバーストリードを要求する。メモリーコントローラー34の読出転送部81は、メインメモリー35の第1格納部35bの指定された読出アドレスAR1からデータD1を順次読出して回転ユニット50にバースト転送する。入力I/F52は、メモリーコントローラー34からバースト転送されたデータD1を入力バッファー53に格納する。   In the first storage unit 35b shown in FIG. 15A, each data D1 surrounded by a broken line frame including the target pixels “5-1” and “6-1” is read. At this time, the first address controller 51 obtains the read address AR0 = ADst + offset * 4 (= 0x0050) and AR0 = ADst + offset * 5 (= 0x0064). The address generation unit 60 of the input I / F 52 calculates the read addresses AR1 = 0x0050 and 0x0060 by masking the lower 3 bits of the read address AR0. The input I / F 52 requests the memory controller 34 to perform a burst read by designating the read address AR1. The read transfer unit 81 of the memory controller 34 sequentially reads the data D1 from the designated read address AR1 of the first storage unit 35b of the main memory 35, and burst-transfers it to the rotation unit 50. The input I / F 52 stores the data D1 burst-transferred from the memory controller 34 in the input buffer 53.

そして、ポインターコントローラー54の第1ポインター生成部61は、SRAM80へのデータD1の書込位置を指すライトポインターWPを生成する。SRAMコントローラー55の書込部63は、ライトポインターWPの指す書込位置にデータD1を書き込む。   Then, the first pointer generator 61 of the pointer controller 54 generates a write pointer WP that points to the write position of the data D1 to the SRAM 80. The writing unit 63 of the SRAM controller 55 writes the data D1 at the writing position indicated by the write pointer WP.

ポインターコントローラー54の第2ポインター生成部62は、リードアドレスAR0の下位3ビットをSRAM80のリードポインターRPの初期値として生成する。但し、第1格納部35bにおいて画素データが存在しない箇所では、リードポインターRPの初期値は「0x0」にされる。よって、リードポインターRPの初期値は、RP1=0x0,RP2=0x4,RP3=0x0,RP4=0x0として演算される。そして、SRAMコントローラー55は、リードポインターRPの指す読出位置からバーストサイズB(4画素)分のデータD1を読み出す。   The second pointer generator 62 of the pointer controller 54 generates the lower 3 bits of the read address AR0 as the initial value of the read pointer RP of the SRAM 80. However, the initial value of the read pointer RP is set to “0x0” at a location where no pixel data exists in the first storage unit 35b. Therefore, the initial values of the read pointer RP are calculated as RP1 = 0x0, RP2 = 0x4, RP3 = 0x0, RP4 = 0x0. Then, the SRAM controller 55 reads data D1 for the burst size B (4 pixels) from the reading position indicated by the read pointer RP.

SRAMコントローラー55の第1フラグ生成部65によって、各データD1にはそれぞれを構成する画素毎に第1フラグF1が付される。セルが印刷イメージデータPDの有効ラインに属する画素データであれば第1フラグF1はマスクしない旨の「0」が付され、セルが有効ラインに属さなければ第1フラグF1はマスクする旨の「1」が付される。図15(b)の例では、4つのデータD1は最初の2つのデータD1が全て4個の画素を有するが、下側の2つのデータはセルが画素データの存在しない不定なので、各データD1には上側の行から順番に、それぞれを構成する各画素に、第1フラグF1(0=0、F1(1=0、F1(2=1、F1(3=1が付される。つまり、行アドレス「+0000」のデータD1には各画素に第1フラグF1(0=0が付され、行アドレス「+0010」のデータD1には各画素に第1フラグF1(1=0が付され、行アドレス「+0020」のデータD1には各セルに第1フラグF1(2=1が付され、さらに行アドレス「+0030」のデータD1には各セルに第1フラグF1(3=1が付される。   The first flag generator 65 of the SRAM controller 55 attaches the first flag F1 to each data D1 for each pixel constituting the data D1. If the cell is pixel data belonging to the valid line of the print image data PD, the first flag F1 is assigned “0” indicating that it is not masked. If the cell does not belong to the valid line, the first flag F1 is masked “ 1 "is attached. In the example of FIG. 15B, the first two data D1 of the four data D1 all have four pixels, but the lower two data are indefinite in which no pixel data exists in each cell, so each data D1 , In order from the upper row, the first flag F1 (0 = 0, F1 (1 = 0, F1 (2 = 1, F1 (3 = 1) is assigned to each pixel constituting each. The first flag F1 (0 = 0 is assigned to each pixel in the data D1 at the row address “+0000”, and the first flag F1 (1 = 0 is assigned to each pixel in the data D1 at the row address “+0010”. Then, the first flag F1 (2 = 1 is assigned to each cell in the data D1 at the row address “+0020”, and the first flag F1 (3 = 3 = to each cell in the data D1 at the row address “+0030”. 1 is attached.

このように残りライン数が4の倍数にならない5〜6ライン目についても、1〜4ライン目と同様にSRAM80に対するデータD1の書込みとデータD2の読出しを行うが、SRAM80への書込処理は有効ラインのみ実施するため、有効でないラインに対するSRAM80には前処理時のデータが残っているため不定となる。また、有効でないラインの第1フラグF1は「1」(マスク有効)となる。   In this way, for the 5th to 6th lines where the remaining number of lines is not a multiple of 4, similarly to the 1st to 4th lines, the data D1 is written to the SRAM 80 and the data D2 is read. Since only the effective line is executed, the data for the pre-processing remains indefinite in the SRAM 80 for the ineffective line. In addition, the first flag F1 of the invalid line is “1” (mask valid).

そして、SRAM80からの1回目の読出しでは、SRAM80から図15(b)に示すリードポインターRPの指す画素データを読み出す。この1回目の読出しでは、図15(c)に示すように、画素データ(セル)「5-1」「6-1」「不定」「不定」が読み出される。このとき、各セルには、第1フラグF1(0)〜F1(3)が「0011」と付される。   Then, in the first reading from the SRAM 80, the pixel data pointed to by the read pointer RP shown in FIG. In this first reading, as shown in FIG. 15C, pixel data (cell) “5-1”, “6-1”, “indefinite”, and “indefinite” are read out. At this time, the first flags F1 (0) to F1 (3) are assigned “0011” to each cell.

各データD1のSRAM80への書込みが終わると、ライトポインターWPがシフトされ、ライトポインターWPの指す次の書込位置にデータD1が書き込まれる。その結果、SRAM80には図16(a)に示す状態にデータD1が書き込まれる。SRAMコントローラー55は、このライトポインターWPの指す書込位置への書込部63によるデータD1の書込処理と並行し、リードポインターRPを進めながら(カウントアップしながら)、リードポインターRPの指す読出位置から画素データを読出す読出部64によるデータD2の読出処理を行う。   When the writing of each data D1 to the SRAM 80 is completed, the write pointer WP is shifted, and the data D1 is written at the next writing position pointed to by the write pointer WP. As a result, data D1 is written in the SRAM 80 in the state shown in FIG. The SRAM controller 55 reads the data indicated by the read pointer RP while the read pointer RP is advanced (while counting up) in parallel with the writing process of the data D1 by the writing unit 63 to the write position indicated by the write pointer WP. Data D2 is read by the reading unit 64 that reads pixel data from the position.

データD2の読出処理の結果、図16(b)に示すように、1回目の読出しでセル「5-1」「6-1」「不定」「不定」が読み出され、各セルにそれぞれ第1フラグF1(0)=0,F1(1)=0,F1(2)=1,F1(3)=1が付される。続く2回目の読出しでセル「5-2」「6-2」「不定」「不定」が読み出され、各セルにそれぞれ第1フラグF1(0)=0,F1(1)=0,F1(2)=1,F1(3)=1が付される。さらに3回目の読出しでセル「5-3」「6-3」「不定」「不定」が読み出され、各セルにそれぞれ第1フラグF1(0)=0,F1(1)=0,F1(2)=1,F1(3)=1が付される。各読出しデータD2は読み出された順番に出力バッファー56へ転送される。出力I/F58は、出力バッファー56から第1フラグF1(0)〜F1(3)付きのデータD2を順番に読み込む。また、出力I/F58は、第2アドレスコントローラー57からライトアドレスAW0及び第2フラグF2(0)〜F2(3)を受け付ける。   As a result of the reading process of the data D2, as shown in FIG. 16B, the cells “5-1”, “6-1”, “undefined”, and “undefined” are read by the first reading, 1 flag F1 (0) = 0, F1 (1) = 0, F1 (2) = 1, F1 (3) = 1 is added. In the second reading, cells “5-2”, “6-2”, “undefined”, and “undefined” are read, and the first flags F1 (0) = 0, F1 (1) = 0, F1 are read in the respective cells. (2) = 1 and F1 (3) = 1 are added. Furthermore, the cells “5-3”, “6-3”, “indeterminate”, and “indeterminate” are read out in the third reading, and the first flag F1 (0) = 0, F1 (1) = 0, F1 is read in each cell. (2) = 1 and F1 (3) = 1 are added. Each read data D2 is transferred to the output buffer 56 in the read order. The output I / F 58 sequentially reads the data D2 with the first flags F1 (0) to F1 (3) from the output buffer 56. The output I / F 58 receives the write address AW0 and the second flags F2 (0) to F2 (3) from the second address controller 57.

次に5〜6ライン目の読出しデータD2のメインメモリー35の第2格納部35cへの保存(書込み)について、図17〜図19に基づいて説明する。まず5〜6ライン目の1回目の読出しデータD2の第2格納部35cへの書込み処理を図17に基づいて説明する。ライトアドレスAW0は、AW0=ADst+((現在のライン番号÷4)×8)により演算される。図17(a)に示すように、1回目の読出しデータD2のときは、ライトアドレスAW0=ADst+8=0x0008なので、下位3ビットが「000」(2進数)になり、ミスアラインではないと判定される。このため、1回目読出しデータD2の各セルには、第2フラグF2(0)〜F2(3)が値「0」(マスク無し)で付される。ミスアラインではないのでシフト処理は行われない。第3フラグ生成部70は、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)の論理和演算(OR演算)を行って、第3フラグF3(0)〜F3(3)を求める。そして、データD2の各セルに第3フラグF3(0)=0,F3(1)=0,F3(2)=1,F3(3)=1が付される。   Next, storing (writing) the read data D2 of the fifth to sixth lines in the second storage unit 35c of the main memory 35 will be described with reference to FIGS. First, the process of writing the first read data D2 of the 5th to 6th lines to the second storage unit 35c will be described with reference to FIG. The write address AW0 is calculated by AW0 = ADst + ((current line number ÷ 4) × 8). As shown in FIG. 17A, in the case of the first read data D2, since the write address AW0 = ADst + 8 = 0x0008, the lower 3 bits are “000” (binary number), and it is determined not to be misaligned. . Therefore, the second flag F2 (0) to F2 (3) is assigned with the value “0” (no mask) to each cell of the first read data D2. Since it is not a misalignment, no shift processing is performed. The third flag generation unit 70 performs a logical sum operation (OR operation) of the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3) to obtain the third flag F3 ( 0) to F3 (3) are obtained. Then, the third flag F3 (0) = 0, F3 (1) = 0, F3 (2) = 1, F3 (3) = 1 is assigned to each cell of the data D2.

そして、リードアドレスAR0の下位3ビットをマスクした書込アドレスAW1=0x0008を指定してバーストライトが要求される。その結果、メモリーコントローラー34によって、図17(c)に破線枠で示すように、書込アドレスAW1にデータD2が書き込まれる。このとき、第3フラグF3(2)=1,F3(3)=1に対応するセルはマスクされるため、画素データ「1-2」「2-2」は上書きされず残ることになる。   Then, burst write is requested by designating the write address AW1 = 0x0008 masking the lower 3 bits of the read address AR0. As a result, the data D2 is written to the write address AW1 by the memory controller 34 as shown by the broken line frame in FIG. At this time, since the cells corresponding to the third flags F3 (2) = 1 and F3 (3) = 1 are masked, the pixel data “1-2” and “2-2” remain without being overwritten.

次に第2アドレスコントローラー57は、今回のライトアドレスAW0にオフセット量OFSを加えて、次のライトアドレスAW0を演算する。次のライトアドレスAW0は、AW0=0x0008+OFS(=0x0C)=0x0014と求められる。   Next, the second address controller 57 calculates the next write address AW0 by adding the offset amount OFS to the current write address AW0. The next write address AW0 is obtained as AW0 = 0x0008 + OFS (= 0x0C) = 0x0014.

図18に示すように、2回目読出しデータD2を書き込むときには、今回のライトアドレスAW0=0x0014なので、下位3ビットが「1 00」(2進数)になり、ミスアラインであると判定される。ミスアライン処理の場合は2回に分けてバーストライト処理(書込処理)を行う。   As shown in FIG. 18, when the second read data D2 is written, since the current write address AW0 = 0x0014, the lower 3 bits are “1 00” (binary number), and it is determined to be misaligned. In the case of misalignment processing, burst write processing (write processing) is performed in two steps.

まずミスアライン処理の1回目では、今回の書込アドレスAW1に書き込むべき画素データ以外の画素データの上書きを防ぐため、第2フラグ生成部67が第2フラグF2(0)〜F2(3)を生成する。この時点では第2フラグF2(0)〜F2(3)は、マスク無し状態(値「0」)で生成される。ライトアドレスAW0と第2フラグF2(0)〜F2(3)とが、第2アドレスコントローラー57から出力I/F58へ送られる。   First, in the first misalignment process, the second flag generation unit 67 generates the second flags F2 (0) to F2 (3) in order to prevent overwriting of pixel data other than the pixel data to be written to the current write address AW1. To do. At this time, the second flags F2 (0) to F2 (3) are generated in the no-mask state (value “0”). The write address AW0 and the second flags F2 (0) to F2 (3) are sent from the second address controller 57 to the output I / F 58.

出力I/F58は、図18(a)に示すように、出力バッファー56から入力した第1フラグF1(0)〜F1(3)付きの2回目読出しデータD2に、第2アドレスコントローラー57からの第2フラグF2(0)〜F2(3)を付す。今回のライトアドレスAW0は「0x0014」である。アドレス生成部68は、ライトアドレスAW0=0x0014の下位3ビットをマスクして、書込アドレスAW1=0x0010を生成する。   As shown in FIG. 18A, the output I / F 58 receives the second read data D2 with the first flags F1 (0) to F1 (3) input from the output buffer 56 from the second address controller 57. The second flags F2 (0) to F2 (3) are attached. The current write address AW0 is “0x0014”. The address generation unit 68 masks the lower 3 bits of the write address AW0 = 0x0014 to generate the write address AW1 = 0x0010.

出力I/F58では、ミスアラインであると判定された場合、シフト処理部69がシフト処理を行う。すなわち、シフト処理部69は、図18(b)に示すように、ライトアドレスAW0の下位3ビットをシフト値にして、データD2を構成する4つの画素データをシフトさせるシフト処理を行う。ライトアドレスAW0が「0x0014」であるので、下位3ビットは「100」(=4バイト)である。よって、シフト処理部69が、図18(b)に示すように、データD2を構成する4つの画素データを、4バイト(2画素)分だけシフトさせる。このとき、同図の右方向へシフトアウトされたセル「不定」「不定」は、左方向からシフトインされる。シフト処理の結果、画素データ「5-2」「6-2」「不定」「不定」が、図18(b)に示すように画素データ「不定」「不定」「5-2」「6-2」の順番になる。この画素データのシフト処理に伴い、第3フラグ生成部70により、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)もシフト処理される。第1フラグF1(0)〜F1(3)は、シフト後にはF1(0)=1,F1(1)=1,F1(2)=0,F1(3)=0になる。一方、第2フラグF2(0)〜F2(3)は、シフトインされた第2フラグF2(2),F2(3)が「1」(マスク有効)になる(図18(b)参照)。   In the output I / F 58, when it is determined that the line is misaligned, the shift processing unit 69 performs a shift process. That is, as shown in FIG. 18B, the shift processing unit 69 performs shift processing for shifting the four pixel data constituting the data D2 using the lower 3 bits of the write address AW0 as a shift value. Since the write address AW0 is “0x0014”, the lower 3 bits are “100” (= 4 bytes). Therefore, the shift processing unit 69 shifts the four pixel data constituting the data D2 by 4 bytes (2 pixels) as shown in FIG. At this time, the cells “indefinite” and “indefinite” shifted out to the right in the figure are shifted in from the left. As a result of the shift processing, the pixel data “5-2”, “6-2”, “indefinite”, and “indefinite” are converted into pixel data “indefinite”, “indefinite”, “5-2”, “6- 2 ”in order. As the pixel data is shifted, the third flag generator 70 also shifts the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3). The first flags F1 (0) to F1 (3) are F1 (0) = 1, F1 (1) = 1, F1 (2) = 0, and F1 (3) = 0 after the shift. On the other hand, in the second flags F2 (0) to F2 (3), the shifted-in second flags F2 (2) and F2 (3) become “1” (mask valid) (see FIG. 18B). .

さらに第3フラグ生成部70は、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)との論理和演算(OR演算)を行う。この論理和演算の結果、第3フラグF3(0)〜F3(3)(=「1100」)が生成される。そして、出力I/F58は、メモリーコントローラー34に対して、書込アドレスAW1(=0x0010)を指定して、第3フラグF3(0)〜F3(3)付きのシフト後のデータD2のバーストライトを要求する。メモリーコントローラー34の書込転送部82は、バーストライト要求を受け付けると、図18(d)に示すように、書込アドレスAW1(=0x0010)にシフト後のデータD2を書き込む。このとき、マスク処理部82Aが、第3フラグF3(0)=1,F3(1)=1であるセル「不定」「不定」をマスクするため、画素データ「3-2」「4-2」は上書きされず残る。   Further, the third flag generation unit 70 performs a logical sum operation (OR operation) between the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3). As a result of this logical sum operation, third flags F3 (0) to F3 (3) (= “1100”) are generated. Then, the output I / F 58 designates the write address AW1 (= 0x0010) to the memory controller 34 and performs burst write of the data D2 after the shift with the third flags F3 (0) to F3 (3). Request. When receiving the burst write request, the write transfer unit 82 of the memory controller 34 writes the shifted data D2 to the write address AW1 (= 0x0010) as shown in FIG. At this time, the mask processing unit 82A masks the cells “indefinite” and “indefinite” with the third flags F3 (0) = 1 and F3 (1) = 1, so that the pixel data “3-2” “4-2” "Remains without being overwritten.

続いてミスアライン処理の2回目の書込み処理を図19に基づいて説明する。第2アドレスコントローラー57はミスアライン処理の1回目のライトアドレスAW0=0x0014に、バーストサイズB(=「0x0008」)を加えてミスアライン処理の2回目のライトアドレスAW0=0x001Cを生成する。アドレス生成部68は、今回のライトアドレスAW0=0x001Cの下位3ビット「100」(2進数)をマスクして、書込アドレスAW1=0x0018を生成する。   Next, the second writing process of the misalignment process will be described with reference to FIG. The second address controller 57 adds the burst size B (= “0x0008”) to the first write address AW0 = 0x0014 in the misalignment process to generate the second write address AW0 = 0x001C in the misalignment process. The address generation unit 68 masks the lower 3 bits “100” (binary number) of the current write address AW0 = 0x001C to generate the write address AW1 = 0x0018.

このミスアライン処理の2回目では、図19(a)に示すように、2回目読出しデータのシフト後のデータD2及び1回目と同じ第1フラグF1(0)〜F1(3)を用いると共に、第2フラグF2(0)〜F2(3)はミスアライン処理の1回目の第2フラグF2(0)〜F2(3)をビット反転させ、「0011」にする。そして、第3フラグ生成部70は、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)との論理和演算(OR演算)を行う。この論理和演算の結果、図19(b)に示すように、第3フラグF3(0)=1,F3(1)=1,F3(2)=1,F3(3)=1が生成される。そして、出力I/F58は、メモリーコントローラー34に対して、書込アドレスAW1(=0x0018)を指定して、第3フラグF3(0)〜F3(3)付きのデータD2のバーストライトを要求する。メモリーコントローラー34の書込転送部82は、バーストライト要求を受け付けると、書込アドレスAW1にデータD2を書き込むに当たり、マスク処理部82Aにマスク書影を行わせる。マスク処理部82Aは、第3フラグF3が「1」であるセル「不定」「不定」「5-2」「6-2」をマスクする。このため、図19(c)に破線枠で示す画素データ「1-3」「2-3」「3-3」「4-3」は上書きされず残る。   In the second misalignment process, as shown in FIG. 19A, the data D2 after the shift of the second read data and the same first flags F1 (0) to F1 (3) as the first time are used. Two flags F2 (0) to F2 (3) bit-invert the second flags F2 (0) to F2 (3) for the first misalignment process to “0011”. Then, the third flag generation unit 70 performs a logical sum operation (OR operation) of the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3). As a result of this OR operation, as shown in FIG. 19B, the third flags F3 (0) = 1, F3 (1) = 1, F3 (2) = 1, and F3 (3) = 1 are generated. The Then, the output I / F 58 designates the write address AW1 (= 0x0018) to the memory controller 34 and requests burst write of the data D2 with the third flags F3 (0) to F3 (3). . When receiving the burst write request, the write transfer unit 82 of the memory controller 34 causes the mask processing unit 82A to perform mask writing when writing the data D2 to the write address AW1. The mask processing unit 82A masks the cells “indefinite”, “indefinite”, “5-2”, and “6-2” in which the third flag F3 is “1”. For this reason, the pixel data “1-3”, “2-3”, “3-3”, and “4-3” indicated by the broken line frame in FIG.

そして、3回目以降の読出しデータD2について、同様の処理を繰り返すことにより、バースト転送でアライン処理を行いながら回転処理が進められる。5〜6ライン目のデータD2の書込み処理によって、メインメモリー35の第2格納部35cには、図19(d)に網掛けで示す画素データが書き込まれる。こうして、第1格納部35bに格納されていた印刷イメージデータPDが縦横変換されたヘッドイメージデータHDが第2格納部35cに格納される。   Then, by repeating the same process for the third and subsequent read data D2, the rotation process is advanced while performing the alignment process by burst transfer. By the writing process of the data D2 on the fifth to sixth lines, the pixel data indicated by hatching in FIG. 19D is written in the second storage unit 35c of the main memory 35. Thus, the head image data HD obtained by vertically and horizontally converting the print image data PD stored in the first storage unit 35b is stored in the second storage unit 35c.

以上詳述したように、本実施形態によれば、以下に示す効果を得ることができる。
(1)SRAM80に書き込んだデータD1からリードポインターRPの指す画素データを選択することによりデータD2を読み出す構成とした。この結果、行余りの画素のある印刷イメージデータPDでも、ダミーデータを追加することなく、バースト転送を効率よく行うことができる。このため、印刷イメージデータPDの格納に必要な第1格納部35bの使用容量、及びヘッドイメージデータHDの格納に必要な第2格納部35cの使用容量をそれぞれ低減できる。従って、メインメモリー35の使用容量を節約でき、他のデータの格納に使用可能な格納領域を増やすことができる。このとき、バースト転送時のメモリーアクセスが頻繁になることもないので、縦横変換処理の処理速度もさほど落とさずに済む。
As described above in detail, according to the present embodiment, the following effects can be obtained.
(1) The data D2 is read by selecting pixel data pointed to by the read pointer RP from the data D1 written in the SRAM 80. As a result, burst transfer can be performed efficiently without adding dummy data, even with print image data PD having extra pixels. Therefore, the used capacity of the first storage unit 35b necessary for storing the print image data PD and the used capacity of the second storage unit 35c required for storing the head image data HD can be reduced. Therefore, the used capacity of the main memory 35 can be saved, and the storage area that can be used for storing other data can be increased. At this time, the memory access at the time of burst transfer does not become frequent, so that the processing speed of the vertical / horizontal conversion processing does not need to be reduced so much.

(2)バーストサイズB(バイト)を2の累乗に表したときの指数をm(但しmは自然数)とした場合、着目画素のリードアドレスAR0の下位mビット(本例では下位3ビット)をマスクすることにより読出アドレスAR1を生成した。よって、適切な読出アドレスAR1を指定して第1格納部35bから回転ユニット50へ適切なデータD1をバースト転送することができる。   (2) When the exponent when the burst size B (byte) is expressed as a power of 2 is m (where m is a natural number), the lower m bits (lower 3 bits in this example) of the read address AR0 of the pixel of interest The read address AR1 is generated by masking. Therefore, it is possible to burst transfer appropriate data D1 from the first storage unit 35b to the rotation unit 50 by designating an appropriate read address AR1.

(3)リードアドレスAR0の下位mビット(本例では下位3ビット)をリードポインターRPの初期値として設定するので、SRAM80に格納されたデータD1から適切な画素データを選択し、適切なデータD2を読み出すことができる。   (3) Since the lower m bits (lower 3 bits in this example) of the read address AR0 are set as the initial value of the read pointer RP, appropriate pixel data is selected from the data D1 stored in the SRAM 80, and the appropriate data D2 Can be read out.

(4)ミスアライン処理であるか否かを判定部66により判定するので、ミスアラインでない場合と、ミスアラインである場合とを分けて、第2格納部35cへの適切なデータD2の書込みを行うことができる。   (4) Since the determination unit 66 determines whether or not the misalignment processing is performed, it is possible to write the appropriate data D2 to the second storage unit 35c separately for the case where the misalignment is not performed and the case where the misalignment is performed. it can.

(5)ライトアドレスAW0の下位mビット(本例では下位3ビット)をマスクして書込アドレスAW1を求めるので、データD2を第2格納部35cの適切な書込位置に書き込むことができる。   (5) Since the write address AW1 is obtained by masking the lower m bits (lower 3 bits in this example) of the write address AW0, the data D2 can be written to an appropriate write position in the second storage unit 35c.

(6)第1フラグF1(0)〜F1(3)を生成し、データD2を構成するセルが印刷イメージデータPDの有効ラインに属する画素であれば「0」(マスク無効)を付し、有効ラインではないセルであって不定であれば「1」(マスク有効)を付す。よって、ミスアラインでないデータD2をそのまま書き込むバーストライト要求を行えば、第2格納部35cの適切な書込位置にデータD2を書き込むことができる、
(7)ミスアライン処理のときには、2回に分けてデータD2の書込み処理を行うことにより、不適切なセルにより必要な画素データが上書きされることを回避できる。
(6) The first flags F1 (0) to F1 (3) are generated, and if the cells constituting the data D2 are pixels belonging to the valid line of the print image data PD, “0” (mask invalid) is added. If the cell is not a valid line and is indefinite, "1" (mask valid) is added. Therefore, if a burst write request for directly writing the data D2 that is not misaligned is made, the data D2 can be written at an appropriate writing position in the second storage unit 35c.
(7) At the time of misalignment processing, it is possible to avoid overwriting necessary pixel data by an inappropriate cell by performing writing processing of data D2 in two steps.

(8)判定部66がミスアラインであると判定した際のミスアライン処理では、ライトアドレスAW0の下位mビット(下位3ビット)をシフト値としてデータD2を構成する画素(セル)をシフトさせるので、画素が適切な位置に存在するデータD2に変更することができる。例えば他の画素の書込位置を確保するため空きを設ける必要がある場合、シフト処理でデータD2内の画素をシフトさせてその配列順を変更することにより、データD2を第2格納部35cに書き込む際に他の画素の書込位置を空けて画素を書き込むことができる。   (8) In the misalignment process when the determination unit 66 determines that the line is misaligned, the pixels (cells) constituting the data D2 are shifted using the lower m bits (lower 3 bits) of the write address AW0 as a shift value. Can be changed to data D2 existing at an appropriate position. For example, when it is necessary to provide a space for securing the writing position of another pixel, the data D2 is stored in the second storage unit 35c by shifting the pixels in the data D2 by the shift process and changing the arrangement order. When writing, it is possible to write a pixel with a writing position of another pixel.

(9)ミスアライン処理のときには、セルのシフト処理に伴って、第3フラグ生成部70が、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)をシフトさせ、シフトインさせた第2フラグF2については「1」に変更した。よって、第3フラグ生成部70が、第1フラグF1(0)〜F1(3)と第2フラグF2(0)〜F2(3)との論理和演算(OR演算)を行うことにより、適切な第3フラグF3(0)〜F3(3)を生成することができる。   (9) In the misalignment process, the third flag generation unit 70 sets the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3) along with the cell shift process. The second flag F2 shifted and shifted in is changed to “1”. Therefore, the third flag generation unit 70 performs an OR operation (OR operation) on the first flags F1 (0) to F1 (3) and the second flags F2 (0) to F2 (3), so that The third flags F3 (0) to F3 (3) can be generated.

(10)第3フラグF3(0)〜F3(3)を付けてデータD2のバーストライトを要求するので、第2格納部35cに先に書き込んだ必要な画素データへの不要なセルによる上書きを回避することができる。   (10) Since burst write of the data D2 is requested with the third flags F3 (0) to F3 (3), the necessary pixel data previously written in the second storage unit 35c is overwritten by unnecessary cells. It can be avoided.

(11)ミスアライン処理の2回目では、1回目のシフト後のデータD2を用い、第1フラグF1を1回目と同じ値とし、第2フラグF2を1回目の値のビット反転としたうえで、第1フラグF1と第2フラグF2との論理和演算を行って第3フラグF3を生成する。よって、2回目のバーストライト処理で、1回目の書込位置でマスクした画素を、2回目の書込位置では書き込むことができる。   (11) In the second misalignment process, the data D2 after the first shift is used, the first flag F1 is set to the same value as the first, and the second flag F2 is bit-inverted from the first value. The third flag F3 is generated by performing an OR operation on the first flag F1 and the second flag F2. Therefore, in the second burst write process, the pixel masked at the first write position can be written at the second write position.

(12)搬送モーター28の駆動により搬送される用紙に印刷ヘッド29がインク滴を噴射して画像を形成するプリンター部14を有する複合機11に縦横変換装置45を設けたので、複合機11においてバースト転送速度の低減を抑えつつ、メインメモリー35の格納領域を有効活用できる。   (12) Since the vertical / horizontal conversion device 45 is provided in the multi-function device 11 having the printer unit 14 in which the print head 29 ejects ink droplets onto the paper conveyed by the driving of the transport motor 28 to form an image, The storage area of the main memory 35 can be effectively used while suppressing a reduction in burst transfer rate.

なお、上記実施形態は以下の形態に変更することもできる。
・転送単位(処理単位)は、4×4画素に限定されず、例えば8×8画素、16×16画素、32×32画素、64×64画素の単位でもよい。また、転送単位は、A×A画素の正方ブロックに限定されず、A×D画素(A≠D)の矩形ブロックでもよい。すなわち、縦横変換処理(回転処理)できる限りにおいて適宜な転送単位を設定できる。
In addition, the said embodiment can also be changed into the following forms.
The transfer unit (processing unit) is not limited to 4 × 4 pixels, and may be units of 8 × 8 pixels, 16 × 16 pixels, 32 × 32 pixels, and 64 × 64 pixels, for example. The transfer unit is not limited to a square block of A × A pixels, but may be a rectangular block of A × D pixels (A ≠ D). That is, an appropriate transfer unit can be set as long as vertical / horizontal conversion processing (rotation processing) is possible.

・第1及び第2の転送手段の転送方式は、バースト転送方式に限定されない。ダイレクトメモリーアクセス転送(DMA転送)で用いられる他の転送方式も採用できる。例えばサイクルスチール転送方式、デマンド転送方式などを採用してもよい。また、第1の転送手段と第2の転送手段で異なる転送方式を採用してもよい。   The transfer method of the first and second transfer means is not limited to the burst transfer method. Other transfer methods used in direct memory access transfer (DMA transfer) can also be adopted. For example, a cycle steal transfer method or a demand transfer method may be employed. Further, different transfer methods may be adopted for the first transfer means and the second transfer means.

・アドレス生成方法は、適宜変更してもよい。要するに、目的のアドレスを生成できる方法であれば、他の演算式を用いた演算によりアドレスを生成してもよい。
・印刷イメージデータPDとヘッドイメージデータHDは、同一のメインメモリー35(例えばDRAM)に格納することに限定されず、異なるDRAMに格納する構成としてもよい。
-The address generation method may be changed as appropriate. In short, as long as the method can generate the target address, the address may be generated by an operation using another arithmetic expression.
The print image data PD and the head image data HD are not limited to being stored in the same main memory 35 (for example, DRAM), but may be stored in different DRAMs.

・回転ユニット50は、ハードウェアの構成に限定されず、その一部にソフトウェアの部分を含みハードウェアとソフトウェアとの協働により構成されてもよい。さらには処理速度が多少低下するが、ソフトウェアにより構成されもよい。   The rotation unit 50 is not limited to a hardware configuration, and may include a software portion as a part thereof and may be configured by cooperation of hardware and software. Furthermore, although the processing speed is somewhat reduced, it may be configured by software.

・前記実施形態では、記録装置の一例として、インクジェット式のプリンター部14を備えた複合機が採用されているが、インク以外の他の流体を噴射したり吐出したりする流体噴射装置を採用してもよい。また、微小量の液滴を吐出させる液体噴射ヘッド等を備える各種の液体噴射装置に流用可能である。この場合、液滴とは、上記液体噴射装置から吐出される液体の状態を言い、粒状、涙状、糸状に尾を引くものも含むものとする。また、ここでいう液体とは、液体噴射装置が噴射させることができるような材料であればよい。例えば、物質が液相であるときの状態のものであればよく、粘性の高い又は低い液状体、ゾル、ゲル水、その他の無機溶剤、有機溶剤、溶液、液状樹脂、液状金属(金属融液)のような流状体、また物質の一状態としての液体のみならず、顔料や金属粒子などの固形物からなる機能材料の粒子が溶媒に溶解、分散または混合されたものなどを含む。また、液体の代表的な例としては上記実施形態で説明したようなインクや液晶等が挙げられる。ここで、インクとは一般的な水性インクおよび油性インク並びにジェルインク、ホットメルトインク等の各種液体組成物を包含するものとする。液体噴射装置の具体例としては、例えば液晶ディスプレイ、EL(エレクトロルミネッセンス)ディスプレイ、面発光ディスプレイ、カラーフィルタの製造などに用いられる電極材や色材などの材料を分散または溶解のかたちで含む液体を噴射する液体噴射装置を挙げることができる。また、バイオチップ製造に用いられる生体有機物を噴射する液体噴射装置、精密ピペットとして用いられ試料となる液体を噴射する液体噴射装置、捺染装置やマイクロディスペンサ等であってもよい。さらに、時計やカメラ等の精密機械にピンポイントで潤滑油を噴射する液体噴射装置、光通信素子等に用いられる微小半球レンズ(光学レンズ)などを形成するために紫外線硬化樹脂等の透明樹脂液を基板上に噴射する液体噴射装置、基板などをエッチングするために酸又はアルカリ等のエッチング液を噴射する液体噴射装置を採用してもよい。そして、これらのうちいずれか一種の液体噴射装置に本発明を適用することができる。また、流体は、トナーなどの粉粒体でもよい。なお、本明細書でいう流体には、気体のみからなるものは含まないものとする。   In the above-described embodiment, as an example of the recording apparatus, a multifunction machine including the ink jet printer unit 14 is employed. However, a fluid ejecting apparatus that ejects or discharges fluid other than ink is employed. May be. Further, the present invention can be used for various liquid ejecting apparatuses including a liquid ejecting head that ejects a minute amount of liquid droplets. In this case, the droplet refers to the state of the liquid ejected from the liquid ejecting apparatus, and includes liquid droplets having a granular shape, a tear shape, and a thread shape. The liquid here may be any material that can be ejected by the liquid ejecting apparatus. For example, it may be in a state in which the substance is in a liquid phase, such as a liquid with high or low viscosity, sol, gel water, other inorganic solvents, organic solvents, solutions, liquid resins, liquid metals (metal melts ) And liquids as one state of the substance, as well as those obtained by dissolving, dispersing or mixing particles of a functional material made of solid materials such as pigments and metal particles in a solvent. Further, representative examples of the liquid include ink and liquid crystal as described in the above embodiment. Here, the ink includes general water-based inks and oil-based inks, and various liquid compositions such as gel inks and hot-melt inks. As a specific example of the liquid ejecting apparatus, for example, a liquid containing a material such as an electrode material or a coloring material used for manufacturing a liquid crystal display, an EL (electroluminescence) display, a surface emitting display, a color filter, or the like in a dispersed or dissolved state. A liquid ejecting apparatus for ejecting can be given. Further, it may be a liquid ejecting apparatus that ejects a bio-organic matter used for biochip manufacture, a liquid ejecting apparatus that ejects a liquid as a sample that is used as a precision pipette, a printing apparatus, a microdispenser, or the like. In addition, transparent resin liquids such as UV curable resin to form liquid injection devices that pinpoint lubricant oil onto precision machines such as watches and cameras, and micro hemispherical lenses (optical lenses) used in optical communication elements. A liquid ejecting apparatus that ejects a liquid onto the substrate or a liquid ejecting apparatus that ejects an etching solution such as an acid or an alkali to etch the substrate may be employed. The present invention can be applied to any one of these liquid ejecting apparatuses. Further, the fluid may be a granular material such as toner. In addition, the fluid referred to in this specification does not include a fluid consisting only of a gas.

・記録装置の一例として複合機を採用したが、記録装置はスキャナー機能を備えないプリンターでもよい。また、記録装置は、インクジェット記録方式に限定されずワイヤインパクト式記録装置、熱転写式記録装置、電子写真式記録装置等であってもよい。また、これらの記録装置は、モノクロ記録装置を採用してもよい。   A multi-function device is used as an example of a recording device, but the recording device may be a printer that does not have a scanner function. The recording device is not limited to the ink jet recording method, and may be a wire impact recording device, a thermal transfer recording device, an electrophotographic recording device, or the like. Further, these recording apparatuses may adopt a monochrome recording apparatus.

・画像データ処理装置はプリンターへの適用に限定されない。画像データの縦横変換処理(回転処理)が行われる情報処理装置に広く適用できる。画像データの縦横変換処理(回転処理)が行われる構成であれば、例えばスキャナー装置、デジタルカメラ、プロジェクター、デジタルフォトフレーム等に、画像データ処理装置を採用してもよい。   -The image data processing apparatus is not limited to application to a printer. The present invention can be widely applied to information processing apparatuses that perform vertical / horizontal conversion processing (rotation processing) of image data. An image data processing device may be employed in, for example, a scanner device, a digital camera, a projector, a digital photo frame, or the like as long as the image data is subjected to vertical / horizontal conversion processing (rotation processing).

11…記録装置の一例である複合機、14…プリンター部、28…搬送手段の一例である搬送モーター、29…記録手段の一例である流体噴射ヘッドとしての印刷ヘッド、34…メモリーコントローラー、35…格納手段の一例としてのメインメモリー、35b…第1格納手段の一例である第1格納部、35c…第2格納手段の一例である第2格納部、45…縦横変換装置、50…回転ユニット、51…第1の転送手段の一例を構成する第1アドレスコントローラー、52…第1の転送手段の一例を構成する入力I/F、54…ポインターコントローラー、55…SRAMコントローラー、57…第2アドレスコントローラー、58…第2の転送手段の一例を構成すると共に書込調整手段の一例を構成する出力I/F、60…アドレス生成部、61…第1ポインター生成部、62…第2ポインター生成部、63…書込手段の一例である書込部、64…読出手段の一例である読出部、65…第1フラグ生成手段の一例である第1フラグ生成部、66…判定手段の一例である判定部、67…第2フラグ生成手段の一例である第2フラグ生成部、68…アドレス生成部、69…書込調整手段及び補正手段の一例を構成すると共にシフト処理手段の一例であるシフト処理部、70…書込調整手段及び補正手段の一例を構成するとともに第3フラグ生成手段の一例である第3フラグ生成部、80…メモリーの一例であるSRAM、81…第1の転送手段の一例である読出転送部、82…第2の転送手段の一例である書込転送部、82A…書込調整手段の一例を構成すると共にマスク処理手段の一例であるマスク処理部、PD…第1画像データの一例である印刷イメージデータ、HD…第2画像データの一例であるヘッドイメージデータ、D1…第1データの一例であるデータ、D2…第2データの一例であるデータ、B…転送サイズの一例であるバーストサイズ、R…ラスターサイズ、AR0…リードアドレス、AR1…読出アドレス、AW0…ライトアドレス、AW1…書込アドレス、F1…第1フラグ、F2…第2フラグ、F3…第3フラグ、m…指数、P…記録媒体の一例である用紙。   DESCRIPTION OF SYMBOLS 11 ... The multifunctional machine which is an example of a recording device, 14 ... Printer part, 28 ... The conveyance motor which is an example of a conveyance means, 29 ... The print head as a fluid ejection head which is an example of a recording means, 34 ... Memory controller, 35 ... Main memory as an example of storage means, 35b: a first storage unit as an example of the first storage means, 35c: a second storage unit as an example of the second storage means, 45 ... vertical / horizontal conversion device, 50 ... rotation unit, 51... First address controller constituting an example of first transfer means, 52... Input I / F constituting an example of first transfer means, 54... Pointer controller, 55... SRAM controller, 57. 58 ... Output I / F constituting an example of the second transfer means and an example of the write adjusting means, 60 ... Address generating unit 61... First pointer generating unit, 62... Second pointer generating unit, 63... Writing unit as an example of writing means, 64... Reading unit as an example of reading means, 65. A certain first flag generation unit, 66 ... a determination unit that is an example of a determination unit, 67 ... a second flag generation unit that is an example of a second flag generation unit, 68 ... an address generation unit, 69 ... a write adjustment unit and a correction unit And a shift processing unit that is an example of a shift processing unit, 70... A third flag generation unit that is an example of a third flag generation unit and 80. SRAM, 81..., A read transfer unit as an example of a first transfer unit, 82... A write transfer unit as an example of a second transfer unit, 82 A... Processing means Example mask processing unit, PD... Print image data as an example of first image data, HD... Head image data as an example of second image data, D1... Data as an example of first data, D2. Data as an example of data, B ... Burst size as an example of transfer size, R ... Raster size, AR0 ... Read address, AR1 ... Read address, AW0 ... Write address, AW1 ... Write address, F1 ... First flag, F2 ... second flag, F3 ... third flag, m ... index, P ... paper as an example of a recording medium.

Claims (8)

第1画像データを縦横変換して第2画像データを生成する画像データ処理装置であって、
第1画像データが格納される第1格納手段と、
メモリーと、
第2画像データを格納するための第2格納手段と、
前記第1画像データか少なくとも1つの着目画素を含む一列に並ぶ複数の画素を選択した転送サイズの第1データを、前記着目画素を順次替えて前記第1格納手段から前記転送サイズずつ転送して前記メモリーに格納する第1転送手段と
前記メモリーに格納された前記第1データの群から少なくとも1つの前記着目画素を含む複数の画素を選択した転送サイズの第2データを、前記着目画素を順次替えて前記メモリーから前記転送サイズずつ前記第2格納手段へ転送し、当該第2データ中の着目画素が前記第2格納手段における前記第2画像データの画素配列順に合った位置に配置される前記第2格納手段中の位置に書き込む第2転送手段と、を備え、
前記第2の転送手段は、前記第2データが画素の配列順が不適切なミスアラインである場合に、当該ミスアラインである第2データの画素の配列順を補正する補正手段と、前記第2データ着目画素以外の不要画素を含む場合に、当該不要画素の前記第2格納手段へ書込みを禁止する書込調整手段と、を備えたことを特徴とする画像データ処理装置。
An image data processing device for generating first image data by converting the first image data into vertical and horizontal directions,
First storage means for storing first image data;
Memory,
Second storage means for storing second image data;
Transferring said first data transfer size selected a plurality of pixels arranged in a row including at least one target pixel first image data or, et al., By the transfer size from the sequentially changed by the first storing means the pixel of interest a first rolling feed means that stores in the memory and,
The transfer second data size that selects a plurality of pixels including at least one of said target pixel from the group of pre-Symbol first data stored in said memory, said transfer size from the memory sequentially changing the target pixel Are transferred to the second storage means one by one , and the pixel of interest in the second data is arranged at a position in the second storage means arranged at a position that matches the pixel arrangement order of the second image data in the second storage means. includes a second rolling feed means for writing, a,
Said second transfer means, when the second data is an unsuitable misalignment is the arrangement order of the pixels, and correcting means for correcting the order of arrangement of the pixels of the second data is the misalignment, before Symbol second If the data contains unwanted pixels other than the target pixel, the image data processing apparatus being characterized in that and a write adjustment means for inhibiting writing to said second storage means of the required pixel.
前記第2転送手段は、前記転送サイズをBバイト(但しBは自然数)、当該Bを2の累乗に表したときの指数をm(但しmは自然数)とした場合、前記着目画素のアドレスの下位mビットの位置を読出アドレスとして前記メモリーから着目画素を読み出すことを特徴とする請求項1に記載の画像データ処理装置。 Said second transfer hand stage, the transfer size B bytes (where B is a natural number), the index when expressed the B to a power of 2 m (where m is a natural number) when a, before Symbol target pixel 2. The image data processing apparatus according to claim 1, wherein the pixel of interest is read out from the memory using the position of the lower m bits of the address as a read address. 前記補正手段は、
画素データ毎に付されると共にマスク有効の値とマスク無効の値のうち一方をとる第1フラグを生成する第1フラグ生成手段と、
画素データ毎に付されると共にマスク有効の値とマスク無効の値のうち一方をとる第2フラグを生成する第2フラグ生成手段と、
前記第2データを構成する前記画素をシフトさせて当該画素の配列順を変更させるシフト処理手段と、
前記画素のシフトに伴って前記第1フラグ及び第2フラグをシフトさせると共に、着目画素以外の不要画素に対応する前記第2フラグをマスク有効の値に変更したうえで、シフト後の第1フラグと第2フラグとを論理和演算して第3フラグを生成する第3フラグ生成手段と、を備え、
前記第2転送手段は、前記第2データを画素毎に前記第3フラグを付けて前記第2格納手段に転送する構成であり、
前記書込調整手段は、前記第3フラグがマスク無効の値であれば対応する画素を書込み、マスク有効の値であれば対応する画素の書込みを禁止するマスク処理手段を備えたことを特徴とする請求項1又は2に記載の画像データ処理装置。
The correction means includes
First flag generation means for generating a first flag that is attached to each pixel data and takes one of a mask valid value and a mask invalid value;
Second flag generating means for generating a second flag that is attached to each pixel data and takes one of a mask valid value and a mask invalid value;
Shift processing means for shifting the pixels constituting the second data to change the arrangement order of the pixels;
The first flag and the second flag are shifted with the shift of the pixel, and the second flag corresponding to an unnecessary pixel other than the target pixel is changed to a mask effective value, and then the first flag after the shift is performed. And a third flag generating means for generating a third flag by performing an OR operation on the second flag and
The second rolling feed means is configured to transfer the second data in the second storage means prior SL with a third flag for each pixel,
The write adjustment means, said third flag is provided with a masking means for inhibiting the writing of picture element corresponding if the corresponding write picture element, mask valid value if the value of the invalid mask The image data processing apparatus according to claim 1, wherein the image data processing apparatus is an image data processing apparatus.
前記第1転送手段に対して前記第1格納手段から前記第1データを読み出すために指示する読出しアドレスは、前記第1データのうちの着目画素のリードアドレスの下位mビットをマスクして指定することを特徴とする請求項1乃至3のいずれか一項に記載の画像データ処理装置。 Read address to instruct to read the pre-Symbol first data from said first storing hand stage with respect to the first rolling feed means masks the lower m bits of the read address of the pixel of interest of the first data image data processing apparatus according to any one of claims 1 to 3, wherein the specifying Te. 前記第2転送手段は、前記メモリーに格納された前記第1データの群のうち、前記リードアドレスの下位mビットで示される位置の画素を選択して前記第2データを読み出すことを特徴とする請求項4に記載の画像データ処理装置。 Said second transfer hand stage of the group of the first data stored in said memory, and characterized in that by selecting the position of the pixel indicated by the lower m bits of the read address reading the second data The image data processing apparatus according to claim 4 . 前記第2転送手段に対して前記第2データを前記第2格納手段に書き込ませるために指示する書込アドレスは、前記第2データのうちの着目画素のライトアドレスの下位mビットをマスクして指定することを特徴とする請求項1乃至5のいずれか一項に記載の画像データ処理装置。 Write address for indicating the second data to the second rolling feed means to be written into said second storage means, masks the lower m bits of the write address of the pixel of interest among the second data image data processing apparatus according to any one of claims 1 to 5, wherein the specifying Te. 請求項1乃至6のいずれか一項に記載の画像データ処理装置と、
前記画像データ処理装置によって前記第1画像データが縦横変換された前記第2画像データに基づいて記録を行う記録手段と、
を備えたことを特徴とする記録装置。
The image data processing device according to any one of claims 1 to 6 ,
Recording means for performing recording based on the second image data obtained by vertically and horizontally converting the first image data by the image data processing device;
A recording apparatus comprising:
第1画像データを縦横変換して第2画像データを生成する画像データ処理方法であって、
第1格納手段に格納された第1画像データから少なくとも1つの着目画素を含む一列に並ぶ複数の画素を選択した転送サイズの第1データを、前記着目画素を順次替えて第1格納手段から前記転送サイズずつ転してメモリーに格納する第1の転送ステップと
前記メモリーに格納された前記第1データの群から少なくとも1つの前記着目画素を含む複数の画素を選択した転送サイズの第2データを、前記着目画素を順次替えて前記メモリーから前記転送サイズずつ第2格納手段へ転送し、当該第2データ中の着目画素が前記第2格納手段における前記第2画像データの画素配列順に合った位置に配置される前記第2格納手段中の位置に書き込む第2転送ステップと、を備え、
前記第2転送ステップは、
前記第2データが画素の配列順が不適切なミスアラインである場合に、当該ミスアラインである第2データの画素の配列順を補正する補正ステップと、
記第2データ着目画素以外の不要画素を含む場合、当該不要画素の前記第2格納手段への書込みを禁止する書込調整ステップと、
を備えたことを特徴とする画像データ処理方法。
An image data processing method for generating first image data by subjecting first image data to vertical and horizontal conversion,
The by the first data transfer size selected a plurality of pixels arranged in a row including one target pixel even without least first image data or et stored in the first storing means, sequentially changing the target pixel 1 a first transfer step of storing in memory and transferred from the storage means by the transfer size,
The transfer second data size that selects a plurality of pixels including at least one of said target pixel from the group of pre-Symbol first data stored in said memory, said transfer size from the memory sequentially changing the target pixel Are transferred to the second storage means one by one, and the pixel of interest in the second data is written at a position in the second storage means arranged at a position that matches the pixel arrangement order of the second image data in the second storage means. a step feeding second rolling includes a
The second transfer step includes
When the second data is a misalignment in which the pixel arrangement order is inappropriate, a correction step of correcting the pixel arrangement order of the second data that is the misalignment;
If the previous SL second data includes unnecessary pixels other than the target pixel, and the second write to that write adjustment step prohibits to the storage means of the unnecessary pixel,
An image data processing method comprising:
JP2011032444A 2011-02-17 2011-02-17 Image data processing apparatus, recording apparatus, and image data processing method Expired - Fee Related JP5736826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011032444A JP5736826B2 (en) 2011-02-17 2011-02-17 Image data processing apparatus, recording apparatus, and image data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011032444A JP5736826B2 (en) 2011-02-17 2011-02-17 Image data processing apparatus, recording apparatus, and image data processing method

Publications (2)

Publication Number Publication Date
JP2012171110A JP2012171110A (en) 2012-09-10
JP5736826B2 true JP5736826B2 (en) 2015-06-17

Family

ID=46974476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011032444A Expired - Fee Related JP5736826B2 (en) 2011-02-17 2011-02-17 Image data processing apparatus, recording apparatus, and image data processing method

Country Status (1)

Country Link
JP (1) JP5736826B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7238457B2 (en) * 2019-02-22 2023-03-14 ブラザー工業株式会社 printer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000218876A (en) * 1999-02-01 2000-08-08 Canon Inc Image data converting circuit and image data converting method
JP2000229454A (en) * 1999-02-10 2000-08-22 Canon Inc Print data converting device and printer
JP2001274975A (en) * 2000-03-24 2001-10-05 Matsushita Electric Ind Co Ltd Image forming device
JP2002292944A (en) * 2001-04-02 2002-10-09 Canon Inc Image recording apparatus and controlling method therefor
JP2006178867A (en) * 2004-12-24 2006-07-06 Nec Saitama Ltd Cpu system using flash memory, flash memory protection circuit and its flash memory protection method
JP4732183B2 (en) * 2006-02-21 2011-07-27 株式会社リコー Image processing apparatus, image processing method, and program for causing computer to execute the method
JP2011182106A (en) * 2010-02-26 2011-09-15 Seiko Epson Corp Image data processor, recorder, and image data processing method

Also Published As

Publication number Publication date
JP2012171110A (en) 2012-09-10

Similar Documents

Publication Publication Date Title
JP3884498B2 (en) Printer and method for printing raster images
JP2007185949A (en) Recorder and its control method, control circuit of recording head and driving method of recording head
JP5245221B2 (en) Droplet discharge device
JP2009029123A (en) Recording device and its control method
US6705697B2 (en) Serial data input full width array print bar method and apparatus
JP5736826B2 (en) Image data processing apparatus, recording apparatus, and image data processing method
US20060290732A1 (en) Ink-jet image forming apparatus and high resolution printing method
JP4691880B2 (en) An image output device that outputs an image while converting resolution of data of a plurality of pixel columns in which dots are formed simultaneously
JP2011182106A (en) Image data processor, recorder, and image data processing method
JP5074733B2 (en) Recording device
JP5975894B2 (en) Image forming apparatus
JP4661194B2 (en) Image recording device
JP6844459B2 (en) Image processing system, image processing method and image processing device, and image forming system
JP2010005919A (en) Inkjet recording device
JP2010143122A (en) Recording apparatus, and recording method
JP5960104B2 (en) Image processing apparatus and image processing method
JP5288722B2 (en) Recording apparatus and control method of the apparatus
JP2008265161A (en) Ink jet recorder and method for forming recording data
JP2005305833A (en) Printer
JP3219869B2 (en) Ink jet recording device
JP2006159551A (en) Inkjet recorder
JP4665492B2 (en) Inkjet printer
JP2002127397A (en) Recording device
JP2009220391A (en) Liquid jet apparatus
JP2009226639A (en) Controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150105

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: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150406

R150 Certificate of patent or registration of utility model

Ref document number: 5736826

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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