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

JP6844459B2 - Image processing system, image processing method and image processing device, and image forming system - Google Patents

Image processing system, image processing method and image processing device, and image forming system Download PDF

Info

Publication number
JP6844459B2
JP6844459B2 JP2017138560A JP2017138560A JP6844459B2 JP 6844459 B2 JP6844459 B2 JP 6844459B2 JP 2017138560 A JP2017138560 A JP 2017138560A JP 2017138560 A JP2017138560 A JP 2017138560A JP 6844459 B2 JP6844459 B2 JP 6844459B2
Authority
JP
Japan
Prior art keywords
memory
unit
image data
buffer
data
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
JP2017138560A
Other languages
Japanese (ja)
Other versions
JP2019022071A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2017138560A priority Critical patent/JP6844459B2/en
Publication of JP2019022071A publication Critical patent/JP2019022071A/en
Application granted granted Critical
Publication of JP6844459B2 publication Critical patent/JP6844459B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、画像処理システム、画像処理方法および画像処理装置、ならびに、画像形成システムに関する。 The present invention relates to an image processing system, an image processing method and an image processing apparatus, and an image forming system.

画像データに従いインクをノズルから吐出することで媒体に印字を行うインクジェットプリンタが知られている。一般的には、インクジェットプリンタは、インクを吐出するノズルが媒体の搬送方向である副走査方向に沿って配列されたノズル列を有するヘッド(IJヘッドと呼ぶ)を備える。インクジェットプリンタは、このIJヘッドを副走査方向と直交する主走査方向に走査させることで、複数ラインの印字を纏めて実行でき、効率的に印字を行うことが可能となる。 An inkjet printer that prints on a medium by ejecting ink from a nozzle according to image data is known. Generally, an inkjet printer includes a head (referred to as an IJ head) having a nozzle array in which nozzles for ejecting ink are arranged along a sub-scanning direction which is a transport direction of a medium. By scanning the IJ head in the main scanning direction orthogonal to the sub-scanning direction, the inkjet printer can collectively perform printing of a plurality of lines, and can efficiently perform printing.

このようなインクジェットプリンタでは、ヘッドの配置に合わせて画像データを並び替える処理が必要となる。例えば、印字を行うための画像データがホストコンピュータからインクジェットプリンタに供給される。画像データは、一般的には、画像の左上から主走査方向に連続したアドレスに従い、インクジェットプリンタが備えるメモリ上に書き込まれる。一方、IJヘッドは、上述したように、副走査方向に複数ライン分の印字を纏めて実行する。したがって、メモリ上の画像データに効率良くアクセスするためには、画像データのメモリ上の配置を90°または270°回転させる回転処理(縦横変換処理)が必要となる。画像データの回転処理としては、複数の方法が既に知られている。 In such an inkjet printer, it is necessary to perform a process of rearranging the image data according to the arrangement of the heads. For example, image data for printing is supplied from a host computer to an inkjet printer. Image data is generally written in a memory provided in an inkjet printer according to addresses continuous from the upper left of the image in the main scanning direction. On the other hand, as described above, the IJ head collectively executes printing for a plurality of lines in the sub-scanning direction. Therefore, in order to efficiently access the image data in the memory, a rotation process (vertical / horizontal conversion process) for rotating the arrangement of the image data in the memory by 90 ° or 270 ° is required. A plurality of methods are already known for the rotation processing of image data.

例えば、特許文献1には、1ページの画像データのmライン分をバッファメモリに一時蓄積し、バッファメモリからnドット×mドット単位で画像データを読み出して回転処理を行う技術が開示されている。また、特許文献2には、ビットマップ形式のメモリに記憶された2値画像データを90°単位の回転方向に応じてバイト単位で読み出し、2値画像データの各ビットを回転方向に応じて抽出することで画像データの回転処理を行う技術が開示されている。 For example, Patent Document 1 discloses a technique of temporarily storing m lines of image data on one page in a buffer memory, reading the image data from the buffer memory in units of n dots × m dots, and performing rotation processing. .. Further, in Patent Document 2, the binary image data stored in the memory in the bitmap format is read in byte units according to the rotation direction in 90 ° units, and each bit of the binary image data is extracted according to the rotation direction. A technique for rotating image data by doing so is disclosed.

しかしながら、従来の、ハードウェアを用いた画像データの回転処理は、回路規模が大きくなり、インクジェットプリンタのコストが嵩んでしまうという問題点があった。ハードウェアを用いた高速な回転処理は、例えば、メモリに対してバーストアクセスを行うことで実行可能となる。この場合、バースト転送をより大きな単位で実行することでメモリアクセスの効率を向上させることができる一方で、ブロック単位で回転処理を行う回路の規模が大きくなってしまう。 However, the conventional rotation processing of image data using hardware has a problem that the circuit scale becomes large and the cost of the inkjet printer increases. High-speed rotation processing using hardware can be executed, for example, by performing burst access to the memory. In this case, the efficiency of memory access can be improved by executing the burst transfer in a larger unit, but the scale of the circuit that performs the rotation process in the block unit becomes large.

上述した特許文献1では、メモリに対してブロック単位でのアクセスが必要となり、大きな単位でバースト転送を行った場合に回転処理を行う回路規模が大きくなるという問題点は、解決できていない。また、上述した特許文献2では、バイト単位で読み出した1バイトのデータから1ビットを抽出しているため、同じデータを8回読み出すことになり、処理の高速化が難しい。 In the above-mentioned Patent Document 1, the problem that the memory needs to be accessed in block units and the circuit scale for performing rotation processing becomes large when burst transfer is performed in large units cannot be solved. Further, in the above-mentioned Patent Document 2, since one bit is extracted from the one-byte data read in byte units, the same data is read eight times, which makes it difficult to speed up the processing.

また、インクジェットプリンタ本体のコストを削減するために、画像データの回転処理を、画像データを供給するホストコンピュータ側で実行する事も考えられる。しかしながら、ホストコンピュータにおけるデータ処理は、一般的にはバイト単位で行われるため、例えば1画素のデータサイズが1バイト未満である画像データを回転させる場合、ビット単位の処理が必要となり、処理効率が悪く処理に時間を要してしまうおそれがあるという問題点があった。 Further, in order to reduce the cost of the main body of the inkjet printer, it is conceivable to execute the rotation processing of the image data on the host computer side that supplies the image data. However, since data processing in the host computer is generally performed in byte units, for example, when rotating image data in which the data size of one pixel is less than 1 byte, bit unit processing is required, resulting in high processing efficiency. There is a problem that it may take a long time for processing.

本発明は、上記に鑑みてなされたものであって、画像データの回転処理を、より高速および低コストで実現可能とすることを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to make it possible to realize rotation processing of image data at higher speed and lower cost.

上述した課題を解決し、目的を達成するために、本発明は、情報処理装置と画像処理装置とを含む画像処理システムであって、第1のメモリに記憶される、アドレスが連続する第1の方向に直交する第2の方向に第1の数のラインを含む2次元の画像データに対して、第1の方向に第2の数の画素を含む第1の処理単位で第1の縦横変換を施す第1の変換部と、第1の変換部で第1の縦横変換を施された画像データを、第2のメモリのアドレスが連続する第3の方向に書き込む書き込み部と、第2のメモリに書き込まれた画像データを、バーストアクセスにより、所定数の第1の処理単位を含む第2の処理単位で読み出す読み出し部と、読み出し部により第2のメモリから読み出された第2の処理単位の画像データに対して、画素単位で第2の縦横変換を施す第2の変換部と、それぞれ第1の数の画素が格納可能な、第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリと、第2の変換部で第2の縦横変換が施された第2の処理単位の画像データを、ラインメモリの指定したアドレスに書き込むバッファ書き込み部と、複数のラインメモリから1のラインメモリを順次に選択し、選択したラインメモリから画像データを読み出すバッファ読み出し部とを備え、前記第1の変換部は、前記第1のメモリに記憶される前記画像データを、前記第1の処理単位毎に、アドレスが連続する第1の方向に直交する第2の方向に向けて読み出すことで、前記画像データに対して前記第1の縦横変換を施し、前記第2の変換部は、画素単位でアクセスが可能な第3メモリに書き込んだ処理ブロック分の画素を、書き込み時と異なる方向に読み出す。 In order to solve the above-mentioned problems and achieve the object, the present invention is an image processing system including an information processing device and an image processing device, and is stored in a first memory and has a first continuous address. For two-dimensional image data including a first number of lines in a second direction orthogonal to the direction of, a first vertical and horizontal unit in a first processing unit containing a second number of pixels in the first direction. A first conversion unit that performs conversion, a writing unit that writes image data that has undergone first vertical / horizontal conversion in the first conversion unit in a third direction in which the addresses of the second memory are continuous, and a second A reading unit that reads the image data written in the memory in the second processing unit including a predetermined number of the first processing units by burst access, and a second reading unit that reads the image data from the second memory by the reading unit. Corresponds to the second conversion unit that performs the second vertical / horizontal conversion on the image data of the processing unit in pixel units, and the number of pixels included in the first processing unit that can store the first number of pixels respectively. A buffer memory including the number of line memories to be used, and a buffer writing unit for writing the image data of the second processing unit subjected to the second vertical / horizontal conversion in the second conversion unit to the specified address of the line memory. The first conversion unit includes a buffer reading unit that sequentially selects one line memory from the line memory of the above and reads image data from the selected line memory, and the first conversion unit stores the image data stored in the first memory. Is read out in the second direction orthogonal to the first direction in which the addresses are continuous for each of the first processing units, thereby performing the first vertical-horizontal conversion on the image data, and then performing the first vertical-horizontal conversion. The conversion unit 2 reads the pixels of the processing block written in the third memory, which can be accessed in pixel units, in a direction different from that at the time of writing.

本発明によれば、画像データの回転処理がより高速および低コストで実現可能となるという効果を奏する。 According to the present invention, there is an effect that the rotation processing of image data can be realized at higher speed and lower cost.

図1は、各実施形態に適用可能な画像処理システムの一例の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an example of an image processing system applicable to each embodiment. 図2は、各実施形態に適用可能なIJヘッドの構成の例を示す図である。FIG. 2 is a diagram showing an example of an IJ head configuration applicable to each embodiment. 図3は、各実施形態に適用可能な、IJヘッドによる印字動作の例を示す図である。FIG. 3 is a diagram showing an example of a printing operation by the IJ head, which is applicable to each embodiment. 図4は、実施形態に適用可能な画像データの回転について説明するための図である。FIG. 4 is a diagram for explaining rotation of image data applicable to the embodiment. 図5は、既存の方法による画像データのハードウェアによる回転処理を概略的に説明するための図である。FIG. 5 is a diagram for schematically explaining the hardware rotation process of image data by an existing method. 図6は、第1の実施形態に適用可能なホストPCのハードウェア構成の例を示すブロック図である。FIG. 6 is a block diagram showing an example of the hardware configuration of the host PC applicable to the first embodiment. 図7は、第1の実施形態に適用可能なプリンタのハードウェア構成の例を示すブロック図である。FIG. 7 is a block diagram showing an example of a printer hardware configuration applicable to the first embodiment. 図8は、第1の実施形態に係る変換部の構成の例を示すブロック図である。FIG. 8 is a block diagram showing an example of the configuration of the conversion unit according to the first embodiment. 図9−1は、第1の実施形態に係るホストPCおよびプリンタの機能を説明するための一例の機能ブロック図である。FIG. 9-1 is a functional block diagram of an example for explaining the functions of the host PC and the printer according to the first embodiment. 図9−2は、第1の実施形態に係るホストPCおよびプリンタの機能を説明するための一例の機能ブロック図である。FIG. 9-2 is a functional block diagram of an example for explaining the functions of the host PC and the printer according to the first embodiment. 図10−1は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-1 is a diagram for explaining a 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図10−2は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-2 is a diagram for explaining a 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図10−3は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-3 is a diagram for explaining the 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図10−4は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-4 is a diagram for explaining the 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図10−5は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-5 is a diagram for explaining a 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図10−6は、第1の実施形態に係る、IJヘッドの往路における90°回転処理について説明するための図である。FIG. 10-6 is a diagram for explaining a 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図11は、第1の実施形態に係る、IJヘッドの往路における90°回転処理を示す一例のフローチャートである。FIG. 11 is a flowchart of an example showing the 90 ° rotation process in the outward path of the IJ head according to the first embodiment. 図12−1は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-1 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図12−2は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-2 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図12−3は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-3 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図12−4は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-4 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図12−5は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-5 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図12−6は、第1の実施形態に係る、IJヘッドの復路における270°回転処理について説明する図である。FIG. 12-6 is a diagram illustrating a 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図13は、第1の実施形態に係る、IJヘッドの復路における270°回転処理を示す一例のフローチャートである。FIG. 13 is a flowchart of an example showing the 270 ° rotation process in the return path of the IJ head according to the first embodiment. 図14は、第1の実施形態に係る90°および270°回転処理のタイミングの例を示すタイミングチャートである。FIG. 14 is a timing chart showing an example of the timing of the 90 ° and 270 ° rotation processing according to the first embodiment. 図15−1は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-1 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図15−2は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-2 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図15−3は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-3 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図15−4は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-4 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図15−5は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-5 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図15−6は、第2の実施形態に係る、IJヘッドの復路における270°回転処理について説明するための図である。FIG. 15-6 is a diagram for explaining the 270 ° rotation process in the return path of the IJ head according to the second embodiment. 図16は、第2の実施形態に係る270°回転処理を示す一例のフローチャートである。FIG. 16 is a flowchart of an example showing the 270 ° rotation process according to the second embodiment. 図17は、第3の実施形態に係る変換部の一例の構成を示すブロック図である。FIG. 17 is a block diagram showing a configuration of an example of a conversion unit according to a third embodiment. 図18は、第3の実施形態に係る90°および270°回転処理のタイミングの例を示すタイミングチャートである。FIG. 18 is a timing chart showing an example of the timing of the 90 ° and 270 ° rotation processing according to the third embodiment. 図19は、第4の実施形態に係るSDRAMの構成例を示すブロック図である。FIG. 19 is a block diagram showing a configuration example of the SDRAM according to the fourth embodiment. 図20は、第4の実施形態に係る90°回転および270°回転の例を示すタイミングチャートである。FIG. 20 is a timing chart showing an example of 90 ° rotation and 270 ° rotation according to the fourth embodiment. 図21は、第4の実施形態に係る、書き込み完了通知および読み出し完了通知のタイミングの例を示す図である。FIG. 21 is a diagram showing an example of timing of write completion notification and read completion notification according to the fourth embodiment.

以下に添付図面を参照して、画像処理システム、画像処理方法および画像処理装置、ならびに、画像形成システムの実施形態を詳細に説明する。 Hereinafter, embodiments of an image processing system, an image processing method and an image processing apparatus, and an image forming system will be described in detail with reference to the accompanying drawings.

(各実施形態に適用可能なシステムの概要)
図1は、各実施形態に適用可能な画像形成システムの一例の構成を示す。図1において、画像形成システム1は、それぞれLAN(Local Area Network)といったネットワーク2を介して接続される、プリンタ10とホストコンピュータ(ホストPC)20とを含む。画像形成装置または画像処理装置としてのプリンタ10は、ホストPC20からネットワーク2を介して送信された画像データを受信し、受信した画像データに基づき、紙などの印字媒体に対して印字を行う。
(Outline of system applicable to each embodiment)
FIG. 1 shows an example configuration of an image forming system applicable to each embodiment. In FIG. 1, the image forming system 1 includes a printer 10 and a host computer (host PC) 20 which are connected via a network 2 such as a LAN (Local Area Network), respectively. The printer 10 as an image forming apparatus or an image processing apparatus receives image data transmitted from the host PC 20 via the network 2, and prints on a printing medium such as paper based on the received image data.

例えば、ホストPC20は、プリンタ10の印字を制御するためのプログラムであるプリンタドライバが搭載される。ホストPC20は、例えば文書作成用アプリケーションプログラムを用いて文書データを生成し、生成された文書データをプリンタドライバに渡す。プリンタドライバは、渡された文書データからページ記述言語で記述された印刷データを生成し、生成した印刷データに従いRIP(Raster Image Process)によりラスタイメージによる画像データを生成し、生成した画像データをプリンタ10に転送する。プリンタ10は、ホストPC20から転送された画像データに従い、印字媒体に対する印字を実行する。 For example, the host PC 20 is equipped with a printer driver, which is a program for controlling printing of the printer 10. The host PC 20 generates document data using, for example, a document creation application program, and passes the generated document data to the printer driver. The printer driver generates print data described in the page description language from the passed document data, generates image data based on a raster image by RIP (Raster Image Process) according to the generated print data, and prints the generated image data. Transfer to 10. The printer 10 executes printing on a printing medium according to the image data transferred from the host PC 20.

なお、図1では、プリンタ10とホストPC20とがネットワーク2を介して接続されるように示したが、これはこの例に限定されない。例えば、プリンタ10とホストPC20とがUSB(Universal Serial Bus)といったシリアルインターフェイスを介して接続されていてもよい。また、プリンタ10とホストPC20との接続は、有線接続に限らず、無線通信により接続されていてもよい。 Although FIG. 1 shows that the printer 10 and the host PC 20 are connected via the network 2, this is not limited to this example. For example, the printer 10 and the host PC 20 may be connected via a serial interface such as USB (Universal Serial Bus). Further, the connection between the printer 10 and the host PC 20 is not limited to the wired connection, and may be connected by wireless communication.

各実施形態に適用されるプリンタ10は、画像データに従いインクをノズルから吐出することで媒体に印字を行うインクジェットプリンタである。インクジェットプリンタは、インクを吐出するノズルが印字媒体の搬送方向である副走査方向に沿って配列されたノズル列を有するヘッド(IJヘッドと呼ぶ)を、副走査方向と直交する主走査方向に走査させて印字を行う。 The printer 10 applied to each embodiment is an inkjet printer that prints on a medium by ejecting ink from a nozzle according to image data. In an inkjet printer, a head (called an IJ head) having a nozzle array in which nozzles for ejecting ink are arranged along a sub-scanning direction, which is a transport direction of a printing medium, is scanned in a main scanning direction orthogonal to the sub-scanning direction. Let it print.

図2は、各実施形態に適用可能なIJヘッドの構成の例を示す。図2において、IJヘッド13は、シアン、マゼンタ、イエローおよびブラックそれぞれの色のインクを吐出するノズルがYドット(Yは1以上の整数)分整列したノズル列130C、130M、130Yおよび130Kが設けられる。このIJヘッド13を、ノズル列130C、130M、130Yおよび130Kと直交する方向に移動させながら各ノズルからインクを吐出することで、Yドットの幅で纏めて印字を実行できる。IJヘッド13は、例えば電圧を加えることで変形するピエゾ素子を用いてインクの吐出を制御する。 FIG. 2 shows an example of the configuration of the IJ head applicable to each embodiment. In FIG. 2, the IJ head 13 is provided with nozzle rows 130C, 130M, 130Y and 130K in which nozzles for ejecting inks of cyan, magenta, yellow and black are aligned by Y dots (Y is an integer of 1 or more). Be done. By ejecting ink from each nozzle while moving the IJ head 13 in a direction orthogonal to the nozzle rows 130C, 130M, 130Y and 130K, printing can be collectively performed with a width of Y dots. The IJ head 13 controls ink ejection by using, for example, a piezo element that is deformed by applying a voltage.

なお、以下では、IJヘッド13を移動させながら各ノズル列130C、130M、130Yおよび130Kからインクを吐出する動作を、走査と呼ぶ。 In the following, the operation of ejecting ink from the nozzle rows 130C, 130M, 130Y and 130K while moving the IJ head 13 is referred to as scanning.

図3は、各実施形態に適用可能な、IJヘッド13による印字動作の例を示す。図3において、用紙15は、IJヘッド13による印字が行われる印字媒体である。IJヘッド13により、用紙15に対して印刷対象である画像データ30に従い印字を行う。図3の例では、用紙15は、図中に矢印で示されるように、図の下側から上側に向けた方向に搬送されるものとし、搬送方向の先頭側の端を用紙15の先端とし、搬送方向の後端側の端を用紙15の後端とする。 FIG. 3 shows an example of a printing operation by the IJ head 13 applicable to each embodiment. In FIG. 3, the paper 15 is a printing medium on which printing is performed by the IJ head 13. The IJ head 13 prints on the paper 15 according to the image data 30 to be printed. In the example of FIG. 3, the paper 15 is conveyed in the direction from the lower side to the upper side in the drawing as shown by an arrow in the drawing, and the leading end in the conveying direction is the tip of the paper 15. , The end on the rear end side in the transport direction is defined as the rear end of the paper 15.

IJヘッド13の各ノズル列130C、130M、130Yおよび130Kが用紙15の搬送方向と並行になるように、IJヘッド13の方向を定める。用紙15を固定し、IJヘッド13を用紙の搬送方向と直交する方向に走査させることで、用紙15に対し、搬送方向と直交する方向に、搬送方向にYドット分の幅で、印字を行うことができる。 The direction of the IJ head 13 is determined so that the nozzle rows 130C, 130M, 130Y, and 130K of the IJ head 13 are parallel to the transport direction of the paper 15. By fixing the paper 15 and scanning the IJ head 13 in a direction orthogonal to the paper transport direction, printing is performed on the paper 15 in a direction orthogonal to the transport direction with a width of Y dots in the transport direction. be able to.

以下では、図3に示されるように、IJヘッド13の初期位置を用紙15の左端側とし、用紙15の左端側から右端側に向けてIJヘッド13による走査を行う経路を往路、用紙15の右端側から左端側に向けてIJヘッド13による走査を行う経路を復路と呼ぶ。 In the following, as shown in FIG. 3, the initial position of the IJ head 13 is set to the left end side of the paper 15, and the path for scanning by the IJ head 13 from the left end side to the right end side of the paper 15 is the outbound route and the paper 15. The path of scanning by the IJ head 13 from the right end side to the left end side is called a return path.

プリンタ10は、例えば、用紙15を固定させてIJヘッド13を往路で走査させて、画像データ30における1スキャン分の画像データ311による印字を行う。プリンタ10は、IJヘッド13による用紙15の右端側までの印字が完了すると、その位置でIJヘッド13を停止させて用紙15をYドットに対応する距離だけ搬送する。プリンタ10は、用紙15の右端側に停止されたIJヘッド13を復路で走査させて、画像データ30における1スキャン分の画像データ312による印字を行う。プリンタ10は、IJヘッド13による用紙15の左端側までの印字が完了すると、その位置でIJヘッド13を停止させて、さらに用紙15をYドットに対応する距離だけ搬送する。 The printer 10 is, for example, the IJ head 13 by fixing the sheet 15 by scanning the forward path, performs printing of the image data 31 1 for one scan in the image data 30. When the printer 10 completes printing to the right end side of the paper 15 by the IJ head 13, the printer 10 stops the IJ head 13 at that position and conveys the paper 15 by a distance corresponding to the Y dot. The printer 10, the IJ head 13 which is stopped at the right end side of the paper 15 by scanning in the backward, performs printing based on the image data 31 2 for one scan in the image data 30. When the printer 10 completes printing to the left end side of the paper 15 by the IJ head 13, the printer 10 stops the IJ head 13 at that position and further conveys the paper 15 by a distance corresponding to the Y dot.

プリンタ10は、このIJヘッド13の往路および復路の動作と、用紙15の搬送動作とを繰り返し、各スキャンによる画像データ30の各画像データ311、312、313、…、31mによる印字を順次実行する。これにより、用紙15に対して画像データ30による画像が形成される。 The printer 10 includes a forward path and backward path of the operation of the IJ head 13, repeating the conveying operation of the sheet 15, the image data 31 1 of the image data 30 by each scan, 31 2, 31 3, ..., printing by 31 m Are executed sequentially. As a result, an image based on the image data 30 is formed on the paper 15.

図3の例では、印刷対象となる画像データ30は、用紙15の左上隅に対応する位置を原点とし、原点から左方向(X方向とする)にX画素の幅を有し、原点から下方向(Y方向とする)にm×Yライン(mは1以上の整数)の長さ(高さ)を有するものとする。なお、ラインは、画素がX方向に1列に整列された画素列である。一例として、A4サイズの用紙15に対して、X方向に8インチ、Y方向に11インチの画像データ30による画像全体が印字可能である。 In the example of FIG. 3, the image data 30 to be printed has a position corresponding to the upper left corner of the paper 15 as the origin, has a width of X pixels in the left direction (X direction) from the origin, and is below the origin. It is assumed that the length (height) of m × Y line (m is an integer of 1 or more) is provided in the direction (in the Y direction). The line is a pixel row in which the pixels are arranged in a row in the X direction. As an example, the entire image of the image data 30 of 8 inches in the X direction and 11 inches in the Y direction can be printed on the A4 size paper 15.

例えば、印刷対象となる画像データ30の解像度を320ドット/インチとし、Y=320として各ノズル列130C、130M、130Yおよび130Kがそれぞれ320個のノズルを備える場合を考える。この場合、IJヘッド13の往路、復路の移動、および、用紙15の搬送を11回実行する(m=11)ことで、画像データ30による用紙15に対する印字が完了する。 For example, consider a case where the resolution of the image data 30 to be printed is 320 dots / inch, Y = 320, and each nozzle row 130C, 130M, 130Y, and 130K has 320 nozzles. In this case, printing on the paper 15 by the image data 30 is completed by executing the forward and return movements of the IJ head 13 and the transport of the paper 15 11 times (m = 11).

なお、インクの吐出に係るIJヘッド13の移動の動作を主走査と呼び、用紙15を搬送させることでIJヘッド13による印字位置を変更する動作を副走査と呼ぶ。また、IJヘッド13の移動方向に平行な方向を主走査方向、用紙15の搬送方向に平行な方向を副走査方向と呼ぶ。 The operation of moving the IJ head 13 related to ink ejection is called a main scan, and the operation of changing the printing position by the IJ head 13 by transporting the paper 15 is called a sub scan. Further, the direction parallel to the moving direction of the IJ head 13 is called the main scanning direction, and the direction parallel to the conveying direction of the paper 15 is called the sub-scanning direction.

上述したような、副走査方向に各ノズルが整列されたノズル列130C、130M、130Yおよび130Kを備えるIJヘッド13の主走査により印字を行う場合、画像データ30をIJヘッド13の走査方向(往路、復路)に応じた角度で回転させ画像データ30の縦横を回転させて、IJヘッド13に供給することが好ましい。 When printing is performed by the main scanning of the IJ head 13 including the nozzle rows 130C, 130M, 130Y and 130K in which the nozzles are aligned in the sub-scanning direction as described above, the image data 30 is printed in the scanning direction (outward path) of the IJ head 13. , The return path), and the image data 30 is preferably rotated vertically and horizontally and supplied to the IJ head 13.

図4を用いて、実施形態に適用可能な画像データ30の回転について説明する。画像データ30は、DRAM(Dynamic Random Access Memory)といったメモリに書き込まれる。IJヘッド13には、このメモリに書き込まれた画像データのうち1スキャン分の画像データが読み出されて供給される。一般的に、画像データは、メモリのアドレスが主走査方向に連続するようにメモリに書き込まれる。 The rotation of the image data 30 applicable to the embodiment will be described with reference to FIG. The image data 30 is written in a memory such as a DRAM (Dynamic Random Access Memory). The image data for one scan of the image data written in the memory is read out and supplied to the IJ head 13. Generally, the image data is written to the memory so that the addresses of the memory are continuous in the main scanning direction.

図4(a)は、メモリ40に画像データ30が書き込まれた様子を概略的に示す。図4(a)において、メモリ40は、アドレスad[0]、ad[1]、…、ad[k]、ad[k+1]、…として示されるように、図の左方向に向けてメモリアドレスが連続しているものとする。画像データ30は、メモリアドレスが主走査方向に連続するように、メモリ40に書き込まれる。 FIG. 4A schematically shows how the image data 30 is written in the memory 40. In FIG. 4A, the memory 40 has a memory address toward the left side of the figure as shown by the addresses ad [0], ad [1], ..., Ad [k], ad [k + 1], ... Suppose that is continuous. The image data 30 is written in the memory 40 so that the memory addresses are continuous in the main scanning direction.

IJヘッド13を往路にて走査させる場合、IJヘッド13に対して、図4(a)の画像データ311の左端の、副走査方向の列から画像データを供給する必要がある。一方、IJヘッド13を復路にて走査させる場合は、IJヘッド13に対して、画像データ311の右端の、副走査方向の列から画像データを供給する必要がある。 When scanning the IJ head 13 on the outward path, it is necessary to supply the image data to the IJ head 13 from the leftmost column of the image data 31 1 in FIG. 4A in the sub-scanning direction. On the other hand, when scanning the IJ head 13 on the return path, it is necessary to supply the image data to the IJ head 13 from the row at the right end of the image data 31 1 in the sub-scanning direction.

上述したように、IJヘッド13は、各ノズル列130C、130M、130Yおよび130Kが副走査方向に平行に配列されており、ノズル列数(この場合は4列)に対応する数のラインを、副走査方向に纏めて印字する。一方、画像データ30は、メモリアドレスが主走査方向に連続するようにメモリ40に書き込まれている。そのため、メモリ40からの、IJヘッド13に供給するための画像データ30の読み出しは、メモリ40のアドレスが不連続な方向でメモリ40にアクセスして行うことになる。 As described above, in the IJ head 13, the nozzle rows 130C, 130M, 130Y and 130K are arranged in parallel in the sub-scanning direction, and the number of lines corresponding to the number of nozzle rows (4 rows in this case) is arranged. Print all together in the sub-scanning direction. On the other hand, the image data 30 is written in the memory 40 so that the memory addresses are continuous in the main scanning direction. Therefore, the image data 30 to be supplied to the IJ head 13 is read from the memory 40 by accessing the memory 40 in a direction in which the addresses of the memory 40 are discontinuous.

DRAMなどにおいては、連続したアドレスに対するアクセスであれば、1のアドレス指定に対して、指定されたアドレスから連続する複数のアドレスから一度にデータを読み出して転送するバースト転送を利用でき、効率良くメモリアクセスを実行可能である。しかしながら、不連続なアドレスに対するアクセスの場合、バースト転送が利用できないため、メモリアクセスの効率を向上させるのが困難となる。 In DRAM and the like, for access to consecutive addresses, burst transfer can be used to read and transfer data from multiple consecutive addresses from the specified address at once for one address designation, and memory can be efficiently used. Access is feasible. However, in the case of access to discontinuous addresses, burst transfer cannot be used, which makes it difficult to improve the efficiency of memory access.

そのため、メモリ40に書き込まれた1スキャン分の画像データ311を、図4(b)および図4(c)に示されるように、IJヘッド13の走査方向(往路、復路)に応じて、右回りで90°または270°回転させてメモリ上に配置する。 Therefore, as shown in FIGS. 4 (b) and 4 (c), the image data 31 1 for one scan written in the memory 40 is displayed according to the scanning direction (outward path, return path) of the IJ head 13. Rotate 90 ° or 270 ° clockwise and place it on the memory.

図4(b)は、往路の例を示している。往路の場合、メモリ40上の画像データ311に対して右回りで90°の回転を施し、第Yラインから第0ラインに向けてメモリアドレスが連続するように、画像データをメモリに書き込む。したがって、回転された画像データ311は、各ラインにおいて位置の対応する各画素が連続したメモリアドレスに書き込まれる。この連続したメモリアドレス対するアクセスにより、各画素のデータを纏めて読み出してIJヘッド13に転送することができる。 FIG. 4B shows an example of the outbound route. In the case of the outbound route, the image data 31 1 on the memory 40 is rotated clockwise by 90 °, and the image data is written to the memory so that the memory addresses are continuous from the Yth line to the 0th line. Therefore, the rotated image data 31 1 is written to the memory address in which each pixel corresponding to the position in each line is continuous. By accessing the continuous memory addresses, the data of each pixel can be collectively read and transferred to the IJ head 13.

図4(c)は、復路の例を示している。復路の場合、メモリ40上の画像データ311に対して右回りで270°の回転を施し、第0ラインから第Yラインに向けてメモリアドレスが連続するように、画像データをメモリに書き込む。この場合も上述した270°の回転の場合と同様に、回転された画像データ311は、各ラインにおいて位置の対応する各画素が連続したメモリアドレスに書き込まれ、各画素のデータを纏めて読み出してIJヘッド13に転送することができる。 FIG. 4 (c) shows an example of the return route. In the case of the return route, the image data 31 1 on the memory 40 is rotated clockwise by 270 °, and the image data is written to the memory so that the memory addresses are continuous from the 0th line to the Yth line. In this case as well, as in the case of the rotation of 270 ° described above, the rotated image data 31 1 is written to the memory address in which each pixel corresponding to the position in each line is continuous, and the data of each pixel is collectively read out. Can be transferred to the IJ head 13.

なお、図4(b)および図4(c)何れの場合も、図中の上端の行から下端の行に向けて順次、読み出しが行われる。 In both cases of FIGS. 4B and 4C, reading is performed sequentially from the uppermost row to the lowermost row in the drawing.

(既存技術による回転処理の例)
ここで、理解を容易とするために、既存の方法による、画像データのハードウェアによる回転処理について、図5を用いて概略的に説明する。図5では、印刷対象となる画像データ30に含まれる各スキャンの画像データ311〜31mのうち1つの画像データ(画像データ31kとする)を右回りに90°回転させる場合について示している。
(Example of rotation processing by existing technology)
Here, in order to facilitate understanding, the rotation processing of the image data by the hardware by the existing method will be schematically described with reference to FIG. In Figure 5, shows the case where 90 ° rotating one image data (the image data 31 k) clockwise out of the image data 31 1 to 31 m of each scan contained in the image data 30 to be printed There is.

図5(a)において、画像データ31kは、図の横方向にX画素、縦方向にYラインを有する画像データが含まれる。ここで、図5(a)の画像データ31kにおいて、左上隅を原点とし、右方向に画素アドレスが増加し、下方向にラインアドレスが増加するものとする。この画像データ31kの左下から左上に向けて、矩形領域33、33、…毎に、順に画像データを読み出す。この例では、各矩形領域33は、4画素×4ラインのサイズを有する。 In FIG. 5A, the image data 31k includes image data having X pixels in the horizontal direction and Y lines in the vertical direction of the figure. Here, in the image data 31k of FIG. 5A, it is assumed that the upper left corner is the origin, the pixel address increases in the right direction, and the line address increases in the downward direction. From the lower left to the upper left of the image data 31 k , the image data is read out in order for each of the rectangular regions 33, 33, .... In this example, each rectangular region 33 has a size of 4 pixels x 4 lines.

矩形領域33において、矢印34で示される方向に配置される各画素は、メモリ上の連続したアドレスに配置されるため、バーストアクセスが可能である。このバーストアクセスが可能な各画素を1回のアクセス単位(バーストサイズ)として各画素を読み出すことで、画像データの読み出しを行う。図5(a)の例では、1回のバーストアクセスにより4画素が読み出され、図中にアクセス順(1)〜(4)として示されるように、下から上方向への4回のバーストアクセスにより矩形領域33内の画像データの読み出しが行われる。 In the rectangular area 33, each pixel arranged in the direction indicated by the arrow 34 is arranged at a continuous address on the memory, so that burst access is possible. Image data is read by reading each pixel with each pixel capable of burst access as one access unit (burst size). In the example of FIG. 5A, four pixels are read out by one burst access, and four bursts from the bottom to the top are shown as access orders (1) to (4) in the figure. The image data in the rectangular area 33 is read out by the access.

図5(a)の例では、1回のバーストアクセスにより矩形領域33から4画素の画像データが読み出されている。メモリから読み出された画像データ31kは、図5(b)の左側に例示されるように、例えば画素単位でアクセスが可能なメモリ35に画素毎に書き込まれる。図5(b)の左側の例では、メモリ35の横1列がバーストサイズとされ、矩形領域33においてバーストアクセスされた順に、メモリ35の図中で上端から下端に向けて各画素が書き込まれる。 In the example of FIG. 5A, image data of 4 pixels is read from the rectangular area 33 by one burst access. Image data 31 k read from the memory, as illustrated on the left side of FIG. 5 (b), is written into each pixel access a memory 35 for example, in units of pixels. In the example on the left side of FIG. 5B, one horizontal row of the memory 35 is set as the burst size, and each pixel is written from the upper end to the lower end in the figure of the memory 35 in the order of burst access in the rectangular area 33. ..

このメモリ35から画素単位で画像データを読み出して、読み出した各画素を、同様に画素単位でアクセスが可能な他のメモリ36(図5(b)右側参照)に書き込む。このとき、メモリ35から読み出した各画素を、配置位置をメモリ35における配置位置に対して右回り(時計回り)に90°回転させて縦横変換を行い、メモリ36に書き込む。例えば、図5(b)を参照し、メモリ35において上端の1行に左から右に向けて書き込まれる各画素A、B、CおよびDが、メモリ36の右端の1列に、上から下に向けて書き込まれる。 Image data is read from the memory 35 in pixel units, and each read pixel is written in another memory 36 (see the right side of FIG. 5B) that can be accessed in pixel units as well. At this time, each pixel read from the memory 35 is vertically and horizontally converted by rotating the arrangement position by 90 ° clockwise with respect to the arrangement position in the memory 35, and is written in the memory 36. For example, referring to FIG. 5B, each pixel A, B, C, and D written from left to right in the uppermost row of the memory 35 is placed in the rightmost column of the memory 36 from top to bottom. Written towards.

このメモリ36に書き込まれた各画素を、図5(c)に示すように、メモリ30と同様に、図の横方向にアドレスが連続するメモリ30’に書き込む。このとき、メモリ36の横方向の1行の4画素をバースト単位として、メモリ36に書き込まれた各画素を4回のバーストアクセスによりメモリ36から読み出して、矩形領域33’で示されるように、各画素をメモリ30’に書き込む。 As shown in FIG. 5C, each pixel written in the memory 36 is written in the memory 30'in which the addresses are continuous in the horizontal direction in the drawing, similarly to the memory 30. At this time, each pixel written in the memory 36 is read out from the memory 36 by four burst accesses, with four pixels in one row in the horizontal direction of the memory 36 as burst units, and as shown by the rectangular area 33'. Each pixel is written to the memory 30'.

図5(a)における1つの矩形領域33から読み出された画像データが、メモリ35および36を用いて90°回転され、図5(c)に示す矩形領域33’単位でメモリに書き込まれる。図5(a)において、画像データ31の下端から上端に向けた矩形領域33単位でのメモリからの読み出しにおいて、上端部の矩形領域33においてアクセス順(Y−3)からアクセス順Yの読み出しが行われることで、矩形領域33単位の列321での処理が完了する。列321の処理が完了すると、画像データ31kにおいて矩形領域33単位で右側に1列分移動して、次の列322において、再び下端から上端に向けてメモリからの読み出しが行われる。 The image data read from one rectangular area 33 in FIG. 5A is rotated by 90 ° using the memories 35 and 36, and is written in the memory in units of the rectangular areas 33'shown in FIG. 5C. In FIG. 5A, in reading from the memory in units of rectangular areas 33 from the lower end to the upper end of the image data 31, the access order Y is read from the access order (Y-3) in the rectangular area 33 at the upper end. by performed, processing in the column 32 1 of the rectangular region 33 units is completed. When the processing of column 32 1 is completed, the image data 31 k is moved by one column to the right in units of 33 rectangular areas, and in the next column 32 2 , reading from the memory is performed again from the lower end to the upper end.

この画像データ31kにおける矩形領域33単位の下端から上端に向けた読み出しに応じて、メモリ30’の左端から右端に向けて、メモリ36から読み出された画像データが矩形領域33’単位で書き込まれる。図5(a)に示す、画像データ31kにおける列321のメモリからの読み出しの完了に応じて、図5(c)に示す、メモリ36から読み出された画像データの、矩形領域33’単位での行321’のメモリ30’への書き込みが完了する。画像データ31kにおいて、メモリ30からの読み出し領域の矩形領域33単位での右側への1列分の移動に応じて、メモリ30’では、矩形領域33’単位で下側に1行分移動(例えば行321’から行322’移動)して、メモリ36から読み出された画像データの書き込みが実行される。 In response to the reading from the lower end to the upper end of the rectangular area 33 unit in the image data 31 k , the image data read from the memory 36 is written in the rectangular area 33'unit from the left end to the right end of the memory 30'. Is done. Figure 5 (a), the Upon completion of reading from the memory column 32 1 in the image data 31 k, shown in FIG. 5 (c), the image data read out from the memory 36, the rectangular area 33 ' writing to 'memory 30' line 32 1 in the unit is completed. In the image data 31 k , in response to the movement of one column to the right in the rectangular area 33 units of the read area from the memory 30, in the memory 30', the rectangular area 33'moves one line downward (in the rectangular area 33'units). for example line 32 1 'lines 32 2' movement) that the image data read out from the memory 36 the write is executed.

なお、270°の回転の場合は、回転の元画像データとなる画像データ31kにおいて、90°回転と逆の順序でメモリ30からの読み出しが行われる。より具体的には、画像データ31kにおける右上隅から下端に向けて矩形領域33単位でメモリ30からの読み出しを行い、1列分の処理が完了すると、左側に1列分移動して、同様に上端から下端から上端に向けて読み出しを行う。回転後のメモリ30’に対する画像データの書き込みは、上述した90°回転の場合と同様である。 In the case of rotation of 270 °, the image data 31k , which is the original image data of rotation, is read from the memory 30 in the reverse order of rotation of 90 °. More specifically, the image data 31 k is read from the memory 30 in units of 33 rectangular areas from the upper right corner to the lower end, and when the processing for one column is completed, the image data is moved to the left by one column, and the same Read from the top to the bottom to the top. Writing the image data to the memory 30'after the rotation is the same as in the case of the 90 ° rotation described above.

ここで、メモリ読み出しに際してバーストサイズを大きくすると、転送効率を向上させることができる。しかしながら、バーストサイズを大きくすることで、1度に縦横変換を行うサイズが大きくなり、縦横変換処理に係る回路の規模が増大することになる。図5(a)〜図5(c)の例では、バーストサイズを大きくすることで、メモリ35および36の規模が増大する。 Here, if the burst size is increased when reading the memory, the transfer efficiency can be improved. However, by increasing the burst size, the size for performing the vertical / horizontal conversion at one time becomes large, and the scale of the circuit related to the vertical / horizontal conversion processing increases. In the examples of FIGS. 5A to 5C, increasing the burst size increases the scale of the memories 35 and 36.

一方、バーストサイズが小さい場合、1度に縦横変換する画像データのサイズが小さくて済むため縦横変換の回路規模は小さくなるが、画像データの転送効率の向上が難しい。また、回転処理として求めるパフォーマンスがそれほど高くなかったとしても、バーストサイズが小さいアクセスを行う機能があると、他の機能のメモリアクセスの効率を向上させることが困難となる可能性がある。特に、少ないリソースで機能を実現する必要がある組み込みシステムにおいては、重要な問題となる。 On the other hand, when the burst size is small, the size of the image data to be vertically and horizontally converted at one time is small, so that the circuit scale of the vertical and horizontal conversion is small, but it is difficult to improve the transfer efficiency of the image data. Further, even if the performance required for rotation processing is not so high, it may be difficult to improve the efficiency of memory access of other functions if there is a function for performing access with a small burst size. In particular, it becomes an important problem in embedded systems that need to realize functions with a small amount of resources.

(第1の実施形態のより詳細な説明)
次に、第1の実施形態についてより詳細に説明する。図6は、第1の実施形態に適用可能なホストPC20のハードウェア構成の例を示す。図6において、ホストPC20は、CPU(Central Processing Unit)2000と、ROM(Read Only Memory)2001と、RAM(Random Access Memory)2002と、グラフィクスI/F(インタフェース)2003と、ストレージ2004と、データI/F2005と、通信I/F2006とを備え、これら各部がバス2010により互いに通信可能に接続される。
(A more detailed description of the first embodiment)
Next, the first embodiment will be described in more detail. FIG. 6 shows an example of the hardware configuration of the host PC 20 applicable to the first embodiment. In FIG. 6, the host PC 20 includes a CPU (Central Processing Unit) 2000, a ROM (Read Only Memory) 2001, a RAM (Random Access Memory) 2002, a graphics I / F (interface) 2003, a storage 2004, and data. The I / F 2005 and the communication I / F 2006 are provided, and each of these parts is communicably connected to each other by the bus 2010.

ストレージ2004は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ2004は、CPU2000が動作するためのプログラムやデータが記憶される。 The storage 2004 is a storage medium that stores data non-volatilely, and a hard disk drive or a flash memory can be applied. The storage 2004 stores programs and data for operating the CPU 2000.

CPU2000は、例えば、ROM2001やストレージ2004に予め記憶されたプログラムに従い、RAM2002をワークメモリとして用い、このホストPC20の全体の動作を制御する。グラフィクスI/F2003は、CPU2000によりプログラムに従い生成された表示制御信号に基づき、ディスプレイ2007が対応可能な表示信号を生成する。ディスプレイ2007は、グラフィクスI/F2003から供給された表示信号に応じた画面を表示する。 The CPU 2000 uses the RAM 2002 as a work memory according to a program stored in advance in the ROM 2001 or the storage 2004, and controls the entire operation of the host PC 20. The graphics I / F 2003 generates a display signal compatible with the display 2007 based on the display control signal generated according to the program by the CPU 2000. The display 2007 displays a screen corresponding to the display signal supplied from the graphics I / F 2003.

データI/F2005は、外部の機器との間でデータの送受信を行う。データI/F2005としては、例えばUSBを適用可能である。この例では、データI/F2005に、ユーザ入力を受け付ける入力デバイスとしてキーボード2008aおよびポインティングデバイス2008bが接続されている。また、データI/F2005に通信方式に対応するケーブル2008cを接続させることで、このケーブル2008cを介した外部の機器との通信が可能となる。通信I/F2006は、CPU2000の指示に従い、ネットワーク2に対する通信を制御する。 The data I / F 2005 transmits / receives data to / from an external device. As the data I / F2005, for example, USB can be applied. In this example, a keyboard 2008a and a pointing device 2008b are connected to the data I / F 2005 as input devices for receiving user input. Further, by connecting the cable 2008c corresponding to the communication method to the data I / F2005, it is possible to communicate with an external device via the cable 2008c. The communication I / F 2006 controls communication to the network 2 according to the instruction of the CPU 2000.

図7は、第1の実施形態に適用可能なプリンタ10のハードウェア構成の例を示す。図7において、プリンタ10は、コントローラ11と、印字部12と、IJヘッド13と、駆動系14aおよび14bと、DRAM(Dynamic RAM)1007と、を含む。これらのうち、駆動系14aは、モータおよび各種機構を含み、IJヘッド13を主走査方向に移動させるための駆動系である。また、駆動系14bは、モータおよび各種機構を含み、用紙15を副走査方向に移動(搬送)させるための駆動系である。IJヘッド13は、図2を用いて説明したように、副走査方向にそれぞれ320ドットのノズルが整列するノズル列130C、130M、130Yおよび130Kを含む。 FIG. 7 shows an example of the hardware configuration of the printer 10 applicable to the first embodiment. In FIG. 7, the printer 10 includes a controller 11, a printing unit 12, an IJ head 13, drive systems 14a and 14b, and a DRAM (Dynamic RAM) 1007. Of these, the drive system 14a includes a motor and various mechanisms, and is a drive system for moving the IJ head 13 in the main scanning direction. Further, the drive system 14b includes a motor and various mechanisms, and is a drive system for moving (conveying) the paper 15 in the sub-scanning direction. The IJ head 13 includes nozzle rows 130C, 130M, 130Y and 130K in which 320-dot nozzles are aligned in the sub-scanning direction, respectively, as described with reference to FIG.

なお、コントローラ11は、汎用のSoC(System-on-a-chip)を用いて構成することができる。また、印字部12は、汎用のSoCが持たないインクジェット方式によるプリンタ独自の機能を含むため、例えばFPGA(Field-Programmable Gate Array)を用いて構成する。 The controller 11 can be configured by using a general-purpose SoC (System-on-a-chip). Further, since the printing unit 12 includes a printer-specific function by the inkjet method that the general-purpose SoC does not have, it is configured by using, for example, FPGA (Field-Programmable Gate Array).

コントローラ11は、CPU1000と、ROM1001と、OP(オペレーションパネル)制御部1002と、OP1002aと、データI/F1003と、外部I/F1004と、メモリコントローラ(MEMC)1005と、内部I/F1006と、を含み、これら各部がバス1010により互いに通信可能に接続される。また、コントローラ11に対して、SDRAM(Synchronous Dynamic Random Access Memory)1007が接続される。 The controller 11 includes a CPU 1000, a ROM 1001, an OP (operation panel) control unit 1002, an OP 1002a, a data I / F 1003, an external I / F 1004, a memory controller (MEMC) 1005, and an internal I / F 1006. Each of these parts is communicably connected to each other by bus 1010. Further, an SDRAM (Synchronous Dynamic Random Access Memory) 1007 is connected to the controller 11.

CPU1000は、例えば、ROM1001に予め記憶されたプログラムに従い、後述するDRAM1007をワークメモリとして用い、このプリンタ10の全体の動作を制御する。OP制御部1002は、OP1002aにプリンタ10の操作画面を表示させると共に、OP1002aに対してなされたユーザ操作を受け付ける。 The CPU 1000 uses, for example, a DRAM 1007 described later as a work memory according to a program stored in the ROM 1001 in advance, and controls the entire operation of the printer 10. The OP control unit 1002 causes the OP 1002a to display the operation screen of the printer 10, and also accepts the user operation performed on the OP 1002a.

データI/F1003は、外部の機器との間でデータの送受信を行う。データI/F1003としては、例えばUSBを適用可能である。プリンタ10は、このデータI/F1003と、上述したホストPC20のデータI/F2005とをケーブル2008cで接続することで、ホストPC20との間でデータ通信を行うことができる。外部I/F1004は、CPU1000の指示に従い、ネットワーク2に対する通信を制御する。プリンタ10は、この外部I/F1004により、ネットワーク2を介してホストPC20との間でデータ通信を行うことができる。 The data I / F 1003 transmits / receives data to / from an external device. As the data I / F1003, for example, USB can be applied. The printer 10 can perform data communication with the host PC 20 by connecting the data I / F 1003 and the data I / F 2005 of the host PC 20 described above with a cable 2008c. The external I / F 1004 controls communication to the network 2 according to the instruction of the CPU 1000. The printer 10 can perform data communication with the host PC 20 via the network 2 by the external I / F 1004.

内部I/F1006は、コントローラ11と印字部12とを接続しコントローラ11と印字部12との間で通信を行うためのインタフェースである。内部I/F1006としては、PCIーExpress(Peripheral Component Interconnect-Express)に準じたインタフェースを適用することができる。この場合、内部I/F1006は、PCIーExpressにおけるルートコンプレックスの機能を含む。 The internal I / F 1006 is an interface for connecting the controller 11 and the printing unit 12 and communicating between the controller 11 and the printing unit 12. As the internal I / F 1006, an interface conforming to PCI-Express (Peripheral Component Interconnect-Express) can be applied. In this case, the internal I / F 1006 includes the function of the root complex in PCI-Express.

MEMC1005は、SDRAM1007と接続され、SDRAM1007に対する読み書きの制御を行う。MEMC1005およびSDRAM1007は、SDRAM1007に対する1つのアドレス指定で複数のアドレスに纏めてアクセスするバーストアクセスと、バーストアクセスによるバースト転送が可能である。 The MEMC1005 is connected to the SDRAM 1007 and controls reading and writing to the SDRAM 1007. The MEMC 1005 and the SDRAM 1007 can perform burst access for collectively accessing a plurality of addresses by designating one address for the SDRAM 1007, and burst transfer by burst access.

ホストPC20から例えばネットワーク2を介して送信された画像データは、外部I/F1004により受信され、外部I/F1004からバス1010を介してMEMC1005に渡される。MEMC1005は、バス1010を介して受け取った画像データをSDRAM1007に書き込む。また、MEMC1005は、SDRAM1007から書き込まれた画像データを読み出して、バス1010を介して内部I/F1006に渡す。 The image data transmitted from the host PC 20 via, for example, the network 2 is received by the external I / F 1004 and passed from the external I / F 1004 to the MEMC 1005 via the bus 1010. The MEMC 1005 writes the image data received via the bus 1010 to the SDRAM 1007. Further, the MEMC 1005 reads the image data written from the SDRAM 1007 and passes it to the internal I / F 1006 via the bus 1010.

なお、図7では、バス1010が、画像データの転送と、CPU1000に係る制御情報などの転送とで共通して用いられているが、これはこの例に限定されない。例えば、画像データが転送される画像バスと、制御情報が転送されるバスとをそれぞれ設けてもよい。 In FIG. 7, the bus 1010 is commonly used for transferring image data and transferring control information related to the CPU 1000, but this is not limited to this example. For example, an image bus to which image data is transferred and a bus to which control information is transferred may be provided.

印字部12は、内部I/F1020と、RDMAC1021と、変換部1022と、ヘッド駆動部1023と、印字制御部1024と、を含む。内部I/F1020は、コントローラ11の内部I/F1006と接続され、印字部12とコントローラ11との間で通信を行うためのインタフェースである。内部I/F1020は、コントローラ11側の内部I/F1006がPCIーExpressによるインタフェースである場合、これに対応し、PCIーExpressにおけるエンドポイントの機能を含む。 The printing unit 12 includes an internal I / F 1020, an RDMAC 1021, a conversion unit 1022, a head driving unit 1023, and a printing control unit 1024. The internal I / F 1020 is connected to the internal I / F 1006 of the controller 11 and is an interface for communicating between the printing unit 12 and the controller 11. The internal I / F 1020 corresponds to the case where the internal I / F 1006 on the controller 11 side is an interface by PCI-Express, and includes the function of the endpoint in PCI-Express.

RDMAC1021は、コントローラ11に接続されMEMC1005に制御されるSDRAM1007からのデータの読み出しを行うDMAC(Direct Memory Access Controller)である。 The RDMAC 1021 is a DMAC (Direct Memory Access Controller) that is connected to the controller 11 and reads data from the SDRAM 1007 controlled by the MEMC 1005.

例えば、RDMAC1021は、内部I/F1020および1006を介して、MEMC1005に対してアドレスを指定し、指定したアドレスからのデータの読み出しを指示する。MEMC1005は、この指示に従いSDRAM1007の指定されたアドレスからデータを読み出し、読み出したデータを、内部I/F1006および1020を介してRDMAC1021に転送する。RDMAC1021は、転送されたデータを変換部1022に渡す。 For example, the RDMAC 1021 specifies an address to the MEMC 1005 via the internal I / F 1020 and 1006 and instructs the MEMC 1005 to read data from the specified address. The MEMC 1005 reads data from the designated address of the SDRAM 1007 according to this instruction, and transfers the read data to the RDMAC 1021 via the internal I / F 1006 and 1020. The RDMAC 1021 passes the transferred data to the conversion unit 1022.

変換部1022は、詳細を後述する、第1の実施形態に係る第2の縦横変換処理を行う。変換部1022は、第2の縦横変換処理を施した画像データをヘッド駆動部1023に供給する。ヘッド駆動部1023は、変換部1022から供給された画像データに基づき、IJヘッド13のピエゾ素子を駆動するための駆動波形を生成し、IJヘッド13に供給する。 The conversion unit 1022 performs the second vertical / horizontal conversion process according to the first embodiment, which will be described in detail later. The conversion unit 1022 supplies the image data subjected to the second vertical / horizontal conversion process to the head drive unit 1023. The head drive unit 1023 generates a drive waveform for driving the piezo element of the IJ head 13 based on the image data supplied from the conversion unit 1022, and supplies the drive waveform to the IJ head 13.

印字制御部1024は、例えばMPU(Micro Processing Unit)、ROM、タイミング生成器および各種のインタフェースを含み、ROMに予め記憶されるプログラムに従い、各種インタフェースを介して、ヘッド駆動部1023およびIJヘッド13、ならびに、各駆動系14aおよび14bの動作の制御を行う。例えば、印字制御部1024は、タイミング生成器により所定のタイミングを指示する各種の制御信号を生成する。印字制御部1024は、生成した各種の制御信号を、RDMAC1021、変換部1022、ヘッド駆動部1023、各駆動系14aおよび14bにそれぞれ供給し、RDMAC1021、変換部1022、ヘッド駆動部1023、各駆動系14aおよび14bの各部における処理のタイミングを制御する。 The print control unit 1024 includes, for example, an MPU (Micro Processing Unit), a ROM, a timing generator, and various interfaces, and the head drive unit 1023 and the IJ head 13 via various interfaces according to a program stored in the ROM in advance. In addition, the operation of each drive system 14a and 14b is controlled. For example, the print control unit 1024 generates various control signals instructing a predetermined timing by a timing generator. The print control unit 1024 supplies various generated control signals to the RDMAC 1021, the conversion unit 1022, the head drive unit 1023, and the drive systems 14a and 14b, respectively, and supplies the RDMAC 1021, the conversion unit 1022, the head drive unit 1023, and each drive system. The timing of processing in each part of 14a and 14b is controlled.

図8は、第1の実施形態に係る変換部1022の構成の例を示す。図8において、変換部1022は、変換メモリ1220と、変換メモリ制御部1222と、バッファメモリ1230と、バッファ制御部1231と、を含む。変換メモリ制御部1222は、変換メモリ1220に対するアクセス制御を行い、変換メモリ1220に対するデータの書き込みと、変換メモリ1220からのデータの読み出しとを制御する。バッファ制御部1231は、バッファメモリ1230に対するアクセス制御を行い、バッファメモリ1230に対するデータの書き込みと、バッファメモリ1230からのデータの読み出しとを制御する。 FIG. 8 shows an example of the configuration of the conversion unit 1022 according to the first embodiment. In FIG. 8, the conversion unit 1022 includes a conversion memory 1220, a conversion memory control unit 1222, a buffer memory 1230, and a buffer control unit 1231. The conversion memory control unit 1222 controls access to the conversion memory 1220, and controls writing data to the conversion memory 1220 and reading data from the conversion memory 1220. The buffer control unit 1231 controls access to the buffer memory 1230, and controls writing data to the buffer memory 1230 and reading data from the buffer memory 1230.

RDMAC1021から変換部1022に渡された画像データは、変換メモリ制御部1222により、画素単位でアクセス可能な変換メモリ1220に書き込まれる。変換メモリ制御部1222は、変換メモリ1220から、所定のタイミングで画像データを読み出し、読み出した画像データをバッファ制御部1231に渡す。バッファ制御部1231は、変換メモリ制御部1222から渡された画像データを、複数のラインメモリを含むバッファメモリ1230に書き込む。バッファ制御部1231は、バッファメモリ1230の各ラインメモリから所定のタイミングで画像データを読み出し、読み出した画像データを変換部1022から出力する。 The image data passed from the RDMAC 1021 to the conversion unit 1022 is written by the conversion memory control unit 1222 to the conversion memory 1220 which can be accessed in pixel units. The conversion memory control unit 1222 reads the image data from the conversion memory 1220 at a predetermined timing, and passes the read image data to the buffer control unit 1231. The buffer control unit 1231 writes the image data passed from the conversion memory control unit 1222 to the buffer memory 1230 including a plurality of line memories. The buffer control unit 1231 reads image data from each line memory of the buffer memory 1230 at a predetermined timing, and outputs the read image data from the conversion unit 1022.

図9−1は、第1の実施形態に係るホストPC20およびプリンタ10の機能を説明するための一例の機能ブロック図である。図9−1の例は、印刷対象となる画像データ30における、IJヘッド13の往路または復路において処理対象となる1スキャン分の画像データ31kについて、横サイズがX画素、縦サイズがYライン、1画素がPビットの2次元の画像データを定義し、また、Aバイトの処理単位を定義する。Aバイト内の画素数Bは、(A×8)/Pとして求められる。なお、X、Y、P、AおよびBは、それぞれ1以上の整数である。 FIG. 9-1 is a functional block diagram of an example for explaining the functions of the host PC 20 and the printer 10 according to the first embodiment. In the example of FIG. 9-1, the horizontal size is X pixels and the vertical size is Y line for the image data 31k for one scan to be processed in the outward path or the return path of the IJ head 13 in the image data 30 to be printed. One pixel defines two-dimensional image data in which P bits are used, and an A-byte processing unit is defined. The number of pixels B in the A byte is calculated as (A × 8) / P. Note that X, Y, P, A and B are integers of 1 or more, respectively.

図9−1において、ホストPC20は、第1変換部200と、送信部201と、画像処理部202と、第1メモリ210とを含む。これらのうち、第1変換部200、送信部201および画像処理部202は、ホストPC20のCPU2000上で、第1の実施形態に係るプログラムが実行されることで実現される。ここで、第1変換部200、送信部201および画像処理部202を実現させるためのプログラムは、例えば、ホストPC20からプリンタ10の動作制御などを行うためのドライバプログラムに含まれる。また、第1メモリ210は、ホストPC20のRAM2002の所定領域を適用することができる。 In FIG. 9-1, the host PC 20 includes a first conversion unit 200, a transmission unit 201, an image processing unit 202, and a first memory 210. Of these, the first conversion unit 200, the transmission unit 201, and the image processing unit 202 are realized by executing the program according to the first embodiment on the CPU 2000 of the host PC 20. Here, the program for realizing the first conversion unit 200, the transmission unit 201, and the image processing unit 202 is included in, for example, a driver program for controlling the operation of the printer 10 from the host PC 20. Further, a predetermined area of RAM 2002 of the host PC 20 can be applied to the first memory 210.

画像処理部202は、例えばホストPC20に搭載される文書作成用アプリケーションプログラムを用いて作成された文書データが渡される。画像処理部202は、渡された文書データに基づきページ記述言語で記述された印刷データを生成し、生成した印刷データに従いRIPによりラスタイメージによる画像データを生成する。画像処理部202は、生成した画像データを、第1メモリ210に書き込む。 The image processing unit 202 is passed, for example, document data created by using a document creation application program mounted on the host PC 20. The image processing unit 202 generates print data described in the page description language based on the passed document data, and generates image data based on a raster image by RIP according to the generated print data. The image processing unit 202 writes the generated image data to the first memory 210.

第1変換部200は、第1メモリ210に書き込まれた画像データに対して、Aバイト単位で縦横変換を行う第1の縦横変換処理を施す。送信部201は、第1変換部200により画像データに第1の縦横変換処理が施された画像データを、Aバイト単位でネットワーク2を介してプリンタ10に送信する。 The first conversion unit 200 performs a first vertical / horizontal conversion process for performing vertical / horizontal conversion in A-byte units on the image data written in the first memory 210. The transmission unit 201 transmits the image data obtained by performing the first vertical / horizontal conversion process on the image data by the first conversion unit 200 to the printer 10 via the network 2 in A-byte units.

ホストPC20における第1の実施形態に係る各機能を実現するためのプログラム(例えばドライバプログラム)は、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。 A program (for example, a driver program) for realizing each function according to the first embodiment on the host PC 20 is a file in an installable format or an executable format, and is a CD (Compact Disk), a flexible disk (FD), or a DVD. It is provided by recording on a computer-readable recording medium such as (Digital Versatile Disk). Not limited to this, the program may be provided by storing it on a computer connected to a network such as the Internet and downloading it via the network. Further, the program may be configured to be provided or distributed via a network such as the Internet.

当該プログラムは、第1変換部200、送信部201および画像処理部202を含むモジュール構成となっている。実際のハードウェアとしては、CPU2000がストレージ2004などの記憶媒体から当該プログラムを読み出して実行することにより、上述した各部がRAM2002などの主記憶装置上にロードされ、第1変換部200、送信部201および画像処理部202が主記憶装置上に生成されるようになっている。 The program has a modular structure including a first conversion unit 200, a transmission unit 201, and an image processing unit 202. As actual hardware, when the CPU 2000 reads the program from a storage medium such as storage 2004 and executes the program, each of the above-described units is loaded onto a main storage device such as RAM 2002, and the first conversion unit 200 and the transmission unit 201 And the image processing unit 202 is generated on the main storage device.

図9−1において、プリンタ10は、受信部100と、書き込み部101と、読み出し部102と、第2変換部103と、バッファ書き込み部104と、バッファ読み出し部105と、第2メモリ110と、第3メモリ111と、バッファメモリ1230と、を含む。 In FIG. 9-1, the printer 10 includes a receiving unit 100, a writing unit 101, a reading unit 102, a second conversion unit 103, a buffer writing unit 104, a buffer reading unit 105, and a second memory 110. A third memory 111 and a buffer memory 1230 are included.

受信部100は、ホストPC20から送信された画像データを受信する。書き込み部101は、受信部100で受信された画像データを、第2メモリ110の連続したアドレスに順次書き込む。読み出し部102は、第2メモリ110に書き込まれた画像データをバーストアクセスにより読み出す。なお、書き込み部101および読み出し部102は、図7のMEMC1005に対応し、第2メモリ110は、図7に示したSDRAM1007の所定の記憶領域を適用することができる。 The receiving unit 100 receives the image data transmitted from the host PC 20. The writing unit 101 sequentially writes the image data received by the receiving unit 100 to the continuous addresses of the second memory 110. The reading unit 102 reads the image data written in the second memory 110 by burst access. The writing unit 101 and the reading unit 102 correspond to the MEMC 1005 shown in FIG. 7, and the second memory 110 can apply the predetermined storage area of the SDRAM 1007 shown in FIG. 7.

第2変換部103は、読み出し部102に対して、第2メモリ110からの第2変換部103の処理ブロック分の画像データの読み出しを要求する。第2変換部103における処理ブロックは、Aバイト分の画素×B画素によるブロックである。この例では、AバイトがB個の画素を含むため、処理ブロックは、B画素×Bライン(B画素×B画素)からなるブロックとなる。読み出し部102は、この要求に応じて、第2メモリ110から当該処理ブロック分の画像データを読み出して第2変換部103に渡す。 The second conversion unit 103 requests the reading unit 102 to read the image data for the processing block of the second conversion unit 103 from the second memory 110. The processing block in the second conversion unit 103 is a block consisting of A-byte pixels × B pixels. In this example, since the A byte includes B pixels, the processing block is a block composed of B pixels × B lines (B pixels × B pixels). In response to this request, the reading unit 102 reads the image data for the processing block from the second memory 110 and passes it to the second conversion unit 103.

第2変換部103は、読み出し部102から渡された処理ブロック分の画像データを画素単位で第3メモリ111に書き込む。なお、第2変換部103は、図8の変換メモリ制御部1222に対応し、第3メモリ111は、図8を用いて説明した変換メモリ1220に対応する。第2変換部103は、処理ブロック分の画像データが第3メモリ111に書き込まれると、書き込まれた画像データを画素単位で読み出して出力する。 The second conversion unit 103 writes the image data for the processing block passed from the reading unit 102 to the third memory 111 in pixel units. The second conversion unit 103 corresponds to the conversion memory control unit 1222 of FIG. 8, and the third memory 111 corresponds to the conversion memory 1220 described with reference to FIG. When the image data for the processing block is written in the third memory 111, the second conversion unit 103 reads out the written image data in pixel units and outputs the data.

このとき、第2変換部103は、第3メモリに書き込まれた画像データを、各画素の書き込み順の方向に対して90°または270°回転させた方向に従い画素単位で読み出す。これにより、第2変換部103は、処理ブロック内で、画像データに対して画素単位で第2の縦横変換処理を施す。第2変換部103は、第2の縦横変換処理により縦横変換された画像データを出力する。 At this time, the second conversion unit 103 reads out the image data written in the third memory in pixel units according to the direction rotated by 90 ° or 270 ° with respect to the writing order direction of each pixel. As a result, the second conversion unit 103 performs the second vertical / horizontal conversion processing on the image data in pixel units within the processing block. The second conversion unit 103 outputs the image data that has been vertically and horizontally converted by the second vertical and horizontal conversion processing.

より具体的には、第2変換部103は、読み出し部102から渡された画像データを、第3メモリ111に対し、画素単位で、第3メモリ111の左端から右端の方向に向けた行方向に書き込む。ここで、第2変換部103は、元データである画像データ30の各ラインの、ライン方向(横方向)の画素位置の一致する各画素が、第3メモリ111の縦方向すなわち列方向で揃うように、画像データの書き込みを行う。そして、第2変換部103は、第3メモリ111から、画像データを列毎に読み出す。 More specifically, the second conversion unit 103 directs the image data passed from the reading unit 102 in the row direction from the left end to the right end of the third memory 111 with respect to the third memory 111 in pixel units. Write to. Here, in the second conversion unit 103, the pixels having the same pixel positions in the line direction (horizontal direction) of each line of the image data 30 which is the original data are aligned in the vertical direction, that is, the column direction of the third memory 111. The image data is written as described above. Then, the second conversion unit 103 reads the image data from the third memory 111 for each column.

バッファ書き込み部104は、第2変換部103から出力された画像データをバッファメモリ1230に書き込む。バッファメモリ1230は、複数本(B本=(A×8)/P本)のラインメモリを含む。各ラインメモリは、バッファ番号BNUM「0」〜「B−1」が割り当てられる。バッファメモリ1230に含まれる各ラインメモリは、Aバイト単位で(Y/B)の深さのサイズ、すなわち、(Y/B)×Aバイトのサイズを有する。バッファメモリ1230は、この深さに応じてアドレスADが指定される。すなわち、バッファメモリ1230に対するアクセスは、アドレスADと、バッファ番号BNUMと、を指定して行われる。バッファ読み出し部105は、バッファメモリ1230から画像データを読み出して出力する。 The buffer writing unit 104 writes the image data output from the second conversion unit 103 to the buffer memory 1230. The buffer memory 1230 includes a plurality of line memories (B lines = (A × 8) / P lines). Buffer numbers BNUM "0" to "B-1" are assigned to each line memory. Each line memory included in the buffer memory 1230 has a depth size of (Y / B) in A-byte units, that is, a size of (Y / B) × A-byte. The address AD of the buffer memory 1230 is specified according to this depth. That is, the access to the buffer memory 1230 is performed by designating the address AD and the buffer number BNUM. The buffer reading unit 105 reads image data from the buffer memory 1230 and outputs the image data.

このように、バッファ書き込み部104およびバッファ読み出し部105は、図8を用いて説明したバッファ制御部1231に含まれる機能である。 As described above, the buffer writing unit 104 and the buffer reading unit 105 are functions included in the buffer control unit 1231 described with reference to FIG.

バッファ読み出し部105から出力された画像データは、ヘッド駆動部1023に渡される。 The image data output from the buffer reading unit 105 is passed to the head driving unit 1023.

図9−2は、上述の図9−1の例に対して具体的な数値を導入した例を示す。図9−2の例では、1スキャン分の画像データ31kの縦サイズがY=320ライン、1画素が2ビット(P=2)、第1変換部200における処理単位を4バイト(A=4)とする。また、上述した1画素が2ビットであるので、Aバイト(=4バイト)内の画素数Bは、B=(4×8)/2=16個となる。 FIG. 9-2 shows an example in which specific numerical values are introduced with respect to the above-mentioned example of FIG. 9-1. In the example of FIG. 9-2, the vertical size of the image data 31 k for one scan is Y = 320 lines, one pixel is 2 bits (P = 2), and the processing unit in the first conversion unit 200 is 4 bytes (A =). 4). Further, since one pixel described above has 2 bits, the number of pixels B in A bytes (= 4 bytes) is B = (4 × 8) / 2 = 16.

なお、画像データ31kの横方向のサイズ(X画素)は、特に限定されないが、横サイズが4バイト単位のバイトバウンダリではない場合は、画像データ31kの各ラインの後端に無効画素を付加して横方向のサイズが4バイト単位のバイトバウンダリになるよう、調整する。以下では、無効画素数Z=13であるものとする。 The horizontal size (X pixels) of the image data 31 k is not particularly limited, but if the horizontal size is not a byte boundary in units of 4 bytes, an invalid pixel is inserted at the rear end of each line of the image data 31 k. In addition, adjust so that the horizontal size becomes a byte boundary in units of 4 bytes. In the following, it is assumed that the number of invalid pixels Z = 13.

図9−2の例では、第1メモリ210は、少なくともX画素×320ラインのサイズを持つ画像データ30が格納される。第1変換部200は、この第1メモリ210に格納される画像データ30のX画素×320ラインの画像データ31k毎に、4バイトを処理単位として処理を行う。また、第3メモリ111は、16画素×16ラインの画像データを画素単位で書込み可能であり、第2変換部103は、これに対応し、16画素×16ライン(16画素×16画素)の処理ブロック内で画像データの縦横変換を行う。 In the example of FIG. 9-2, the first memory 210 stores image data 30 having a size of at least X pixels × 320 lines. The first conversion unit 200 performs processing in units of 4 bytes for each 31 k of image data of X pixels × 320 lines of image data 30 stored in the first memory 210. Further, the third memory 111 can write image data of 16 pixels × 16 lines in pixel units, and the second conversion unit 103 corresponds to this and has 16 pixels × 16 lines (16 pixels × 16 pixels). Vertical / horizontal conversion of image data is performed in the processing block.

また、バファメモリ112は、B本=16本のラインメモリを含み、各ラインメモリは、バッファ番号BNUM「0」〜「15」が割り当てられる。また、各ラインメモリは、4バイト単位で320/16=20の深さのサイズ、すなわち、4バイト×20=640ビットのサイズを持ち、1画素が2ビットであるので、1のラインメモリに対して320画素を書き込み可能である。さらに、各ラインメモリの深さ=20であることから、バッファメモリ1230は、深さ方向にアドレスAD「0」〜「19」を持つ。 Further, the buffer memory 112 includes B lines = 16 line memories, and buffer numbers BNUM "0" to "15" are assigned to each line memory. Further, each line memory has a depth size of 320/16 = 20 in 4-byte units, that is, a size of 4 bytes × 20 = 640 bits, and one pixel is 2 bits, so that one line memory can be used. On the other hand, 320 pixels can be written. Further, since the depth of each line memory is 20, the buffer memory 1230 has addresses AD “0” to “19” in the depth direction.

(第1の実施形態に係る処理の詳細)
次に、第1の実施形態に係る処理について、より詳細に説明する。なお、第1変換部200の処理対象となる、1スキャン分の画像データ31kのサイズ、第1の変換部200の処理単位、第3メモリ111のサイズ、第2変換部103による処理の処理単位である処理ブロックのサイズ、バッファメモリ1230に関する各値は、それぞれ、上述した図9−2に示した値であるものとする。
(Details of processing according to the first embodiment)
Next, the process according to the first embodiment will be described in more detail. Incidentally, be processed by the first conversion unit 200, the size of the image data 31 k of one scan, the processing unit of the first conversion unit 200, the size of the third memory 111, the processing of the processing by the second conversion unit 103 It is assumed that each value regarding the size of the processing block and the buffer memory 1230, which are the units, is the value shown in FIG. 9-2 described above.

(第1の実施形態に係る、IJヘッドの往路における90°回転処理)
先ず、図10−1〜図10−6、および、図11を用いて、第1の実施形態に係る、IJヘッド13の往路における90°回転処理について説明する。図10−1は、印刷対象の画像データ30における、1スキャン分の画像データ31kが第1メモリ210に書き込まれた様子を模式的に示す。画像データ31kは、第1メモリ210のアドレスが連続する横方向をX方向とし、縦方向をY方向として第1メモリ210上に配置される。
(90 ° rotation processing on the outward path of the IJ head according to the first embodiment)
First, the 90 ° rotation process on the outward path of the IJ head 13 according to the first embodiment will be described with reference to FIGS. 10-1 to 10-6 and 11. Figure 10-1 in the image data 30 to be printed, showing how the image data 31 k for one scan is written to the first memory 210 schematically. The image data 31 k is arranged on the first memory 210 with the horizontal direction in which the addresses of the first memory 210 are continuous as the X direction and the vertical direction as the Y direction.

図10−1(c)において、画像データ31kは、縦方向がライン毎に区切られ、横方向が、第1変換部200による処理単位である4バイトのバイトバウンダリに区切られて示されている。各区画のデータは、ライン位置を値p、横方向の処理単位毎の位置を値q(p,qは整数:0≦p≦319,0≦q≦n)として、それぞれ第1メモリ210上でのアドレス「pLーqW」が割り当てられている。 In FIG. 10-1 (c), the image data 31 k is shown by being divided into lines in the vertical direction and divided into a 4-byte byte boundary, which is a processing unit by the first conversion unit 200, in the horizontal direction. There is. The data of each section is on the first memory 210, respectively, with the line position as the value p and the position for each processing unit in the horizontal direction as the value q (p and q are integers: 0 ≦ p ≦ 319, 0 ≦ q ≦ n). The address "pL-qW" in is assigned.

なお、ライン位置および横方向の処理単位の位置は、図において第1メモリ210の左上隅を原点とし、ライン位置は原点から下方向に向けて増加し、処理単位の位置は原点から右方向に向けて増加するものとする。これは、以降の同様な表記について共通である。また、以下では、特に記載の無い限り、『第1メモリ210上でのアドレス「pLーqW」の画像データ』、をデータ「pLーqW」として説明を行う。 The line position and the position of the processing unit in the horizontal direction have the origin at the upper left corner of the first memory 210 in the figure, the line position increases downward from the origin, and the position of the processing unit moves to the right from the origin. It shall increase toward. This is common to the following similar notations. Further, in the following, unless otherwise specified, "image data of the address" pL-qW "on the first memory 210" will be described as data "pL-qW".

また、画像データ31kにおいて、縦方向のサイズは上述したように320ラインであり、横方向のサイズであるX画素は、n個(nは1以上の整数)の処理単位が含まれるサイズを有する。したがって、データ「0L−0W」、「319L−0W」、「0L−nW」および「319L−nW」が、それぞれ、画像データ31kの左上隅、左下隅、右上隅および右下隅における、第1変換部200による処理単位とされる。 Further, in the image data 31 k , the vertical size is 320 lines as described above, and the X pixel, which is the horizontal size, has a size including n processing units (n is an integer of 1 or more). Have. Therefore, the data "0L-0W", "319L-0W", "0L-nW" and "319L-nW" are the first in the upper left corner, the lower left corner, the upper right corner and the lower right corner of the image data 31 k, respectively. It is a processing unit by the conversion unit 200.

さらに、図10−1(c)に示す画像データ31kにおいて、縦方向に連続する処理単位が「列」を形成する。例えば、各データ「pL−qW」において、値qが等しい各画像データにより、1つの列が形成される。 Further, in the image data 31 k illustrated in FIG. 10-1 (c), the processing unit of continuous longitudinally to form a "column". For example, in each data "pL-qW", one column is formed by each image data having the same value q.

図10−1(a)は、画像データ31kの第1ライン目(p=0)の先頭側(左端側、q=0)のデータ「0L−0W」の構成例を示す。この例では、処理単位が4バイト、1画素が2ビットであるので、データ「0L−0W」は、4バイト/2ビット=16個の画素を含む。また、この例では、各画素は、左端側から右端側に向けて、データ「0L−0W」内での位置に対応する#0〜#15の各番号を与えられて示されている。この、データ「0L−0W」の構成は、画像データ31kに含まれる全てのデータ「pLーqW」に共通である。 FIG. 10-1 (a) shows a configuration example of the data “0L-0W” on the head side (left end side, q = 0) of the first line (p = 0) of the image data 31 k. In this example, since the processing unit is 4 bytes and 1 pixel is 2 bits, the data "0L-0W" includes 4 bytes / 2 bits = 16 pixels. Further, in this example, each pixel is given a number of # 0 to # 15 corresponding to the position in the data "0L-0W" from the left end side to the right end side. This configuration of the data "0L-0 W" is common to all data included in the image data 31 k "pL over qW".

図10−1(b)は、画像データ31kの第1ライン目の後端側(右端側、q=n)のデータ「0L−nW」の構成例を示す。上述したように、画像データ31kにZ個の無効画素が存在すると見做される場合、このZ個の無効画素は、画像データ31kの各ラインの後端側に配置される。この例では、Z=13とされて13個の無効画素が存在し、図10−1(b)において、この13個の無効画素が色を変えて示されている。この13個の無効画素が含まれる構成は、画像データ31kの各ラインの後端の各データ「pLーnW」について共通である。 FIG. 10-1 (b) shows a configuration example of the data "0L-nW" on the rear end side (right end side, q = n) of the first line of the image data 31 k. As described above, when it is considered that Z invalid pixels exist in the image data 31 k , the Z invalid pixels are arranged on the rear end side of each line of the image data 31 k. In this example, Z = 13 and 13 invalid pixels exist, and in FIG. 10-1 (b), these 13 invalid pixels are shown in different colors. Configuration included the 13 amino invalid pixels are common for each data of the rear end of each line of the image data 31 k "pL over nW".

第1変換部200は、第1メモリ210から画像データ31kを読み出す処理を、処理単位すなわちデータ「pLーqW」毎に行う。また、90°回転の場合、第1変換部200は、画像データ31kの下端から上端に向けて、データ「pLーqW」を順次、第1メモリ210から読み出す。より具体的には、第1変換部200は、先ず、画像データ31kの左下隅のデータ「319L−0W」を読み出し、次にデータ「318Lー0W」を読み出す。以降、第1変換部200は、図中に矢印Aで示されるように、この列の上端のデータ「0L−0W」まで、順次、各データ「pL−qW」を読み出す。 The first conversion unit 200 performs a process of reading the image data 31 k from the first memory 210 for each processing unit, that is, for each data “pL−qW”. Further, in the case of 90 ° rotation, the first conversion unit 200 sequentially reads the data “pL−qW” from the first memory 210 from the lower end to the upper end of the image data 31 k. More specifically, the first conversion unit 200 first reads the lower-left corner of the data of the image data 31 k "319L-0W", then reads the data "318L over 0W". After that, as shown by an arrow A in the figure, the first conversion unit 200 sequentially reads out each data "pL-qW" up to the data "0L-0W" at the upper end of this column.

このように、第1変換部200は、第1メモリ210に書き込まれた画像データ31kを、処理単位すなわちデータ「pLーqW」毎に、アドレスが連続する方向と直交する方向に向けて読み出すことで、画像データ31kに対して第1の縦横変換処理を行う。 Thus, the first conversion unit 200, the image data 31 k written in the first memory 210, for each processing unit or data "pL over qW", read in the direction perpendicular to the direction in which consecutive addresses As a result, the first vertical / horizontal conversion process is performed on the image data 31 k.

第1変換部200は、第1メモリ210からの1列分のデータ「319L−0W」〜「0L−0W」」の読み出しを完了すると、読み出し位置を処理単位分(Aバイト=4バイト)分右に移動させ、下端から上端に向けて、各データ「319Lー1W」〜「0L−1W」の読み出しを実行する。第1変換部200は、この処理を、画像データ31kの右端の列(データ「319L−nW」〜「0L−nW」)の読み出しが完了するまで繰り返す。 When the first conversion unit 200 completes reading the data "319L-0W" to "0L-0W" for one column from the first memory 210, the first conversion unit 200 sets the reading position for the processing unit (A bytes = 4 bytes). Move to the right and read out each data "319L-1W" to "0L-1W" from the lower end to the upper end. First conversion unit 200, the process is repeated until the reading of the right-most column of the image data 31 k (data "319L-nW" - "0L-nW") is completed.

第1変換部200は、例えば処理単位のデータ「pL−qW」を読み出す毎に、読み出したデータ「pL−qW」を、送信部201によりプリンタ10に送信する。この処理単位のデータ「pL−qW」は、プリンタ10において受信部100に受信され、書き込み部101に渡される。書き込み部101は、渡されたデータ「pL−qW」を、第2メモリ110の連続するアドレスに順次書き込む。 For example, every time the data "pL-qW" of the processing unit is read, the first conversion unit 200 transmits the read data "pL-qW" to the printer 10 by the transmission unit 201. The data "pL-qW" of this processing unit is received by the receiving unit 100 in the printer 10 and passed to the writing unit 101. The writing unit 101 sequentially writes the passed data "pL-qW" to the continuous addresses of the second memory 110.

図10−2は、書き込み部101により第2メモリ110に各データ「pL−qW」が書き込まれた様子を模式的に示す。第2メモリ110は、図において右方向にアドレスが連続する。書き込み部101は、ホストPC20から送信されたデータ「pL−qW」を、受信順に、図中に矢印Bで示されるように、第2メモリ110の左上隅からアドレスが連続する方向に順次書き込んでいく。 FIG. 10-2 schematically shows how each data “pL−qW” is written to the second memory 110 by the writing unit 101. The addresses of the second memory 110 are continuous in the right direction in the figure. The writing unit 101 writes the data "pL-qW" transmitted from the host PC 20 in the order of reception in the direction in which the addresses are continuous from the upper left corner of the second memory 110 as indicated by the arrow B in the figure. I will go.

より具体的には、書き込み部101は、画像データ31kについて最初に受信したデータ「319L−0W」を第2メモリ110の左上隅に書き込み、次に受信したデータ「318L−0W」を、先に書き込んだデータ「319L−0W」の右隣に書き込む。この処理を、第1変換部200による、図10−1(c)に示す画像データ31kの1列分の読み出しが完了するまで繰り返す。図10−2の例では、第1変換部200が画像データ31kの左端の列の上端から読み出したデータ「0L−0W」が第2メモリ110の右端に書き込まれている。 More specifically, the writing section 101 writes the first data received "319L-0W" the image data 31 k in the upper left corner of the second memory 110, and then receives the data "318L-0 W", previously Write to the right side of the data "319L-0W" written in. This process is repeated until the reading of one column of the image data 31 k shown in FIG. 10-1 (c) by the first conversion unit 200 is completed. In the example in Figure 10-2, the data first converter 200 is read out from the upper end of the leftmost column of the image data 31 k "0L-0 W" is written to the right end of the second memory 110.

書き込み部101は、ホストPC20から送信された、第1メモリ210の1列分のデータ「pL−0W」の第2メモリ110への書き込みが完了すると、第1メモリ210の次の列のデータ「pLー1W」を、第2メモリ110の次のラインに、左端側から、連続するアドレスに順次書き込んでいく。 When the writing unit 101 completes writing the data “pL-0W” for one column of the first memory 210 to the second memory 110 transmitted from the host PC 20, the data “pL-0W” in the next column of the first memory 210 is completed. "pL-1W" is sequentially written to the next line of the second memory 110 from the left end side to consecutive addresses.

第1変換部200による、画像データ31kの右端の列(データ「319L−nW」〜「0L−nW」)の読み出しに応じて、書き込み部101により、このデータ「319L−nW」〜「0L−nW」が第2メモリ110に書き込まれる。ここで、第1メモリ210には、処理単位のデータ「pL−qW」が縦方向に連続する列が、(X/4バイト)本、すなわち、(X画素/16画素)本、含まれる。したがって、第1メモリ210上の画像データ31kの全てのデータ「pL−qW」が第2メモリ110に書き込まれた場合、第2メモリ110には、処理単位のデータ「pL−qW」によるラインが(X画素/16画素)本、書き込まれることになる。 According to a first converter 200, in accordance with the reading of the rightmost column of the image data 31 k (data "319L-nW" - "0L-nW"), the writing unit 101, the data "319L-nW" - "0L -NW "is written to the second memory 110. Here, the first memory 210 includes (X / 4 bytes) lines, that is, (X pixels / 16 pixels) lines in which the data "pL-qW" of the processing unit is continuously connected in the vertical direction. Therefore, if all of the data of the image data 31 k in the first memory 210 "pL-QW" is written in the second memory 110, the second memory 110, the line according to the data "pL-QW" of the processing unit (X pixels / 16 pixels) will be written.

第2メモリ110に書き込まれた各データ「pL−qW」は、読み出し部102に読み出されて第2変換部103に渡される。より具体的には、読み出し部102は、第2メモリ110上の各データ「pL−qW」を、右上のデータ「319L−0W」からバーストアクセスにより順次読み出し、第2変換部103の処理ブロック分のデータ「pL−qW」を第2変換部103に渡す。 Each data "pL-qW" written in the second memory 110 is read by the reading unit 102 and passed to the second conversion unit 103. More specifically, the reading unit 102 sequentially reads each data "pL-qW" on the second memory 110 from the data "319L-0W" on the upper right by burst access, and divides the processing blocks of the second conversion unit 103. Data "pL-qW" is passed to the second conversion unit 103.

上述したように、第2変換部103が処理対象とする処理ブロックは、Aバイト×Bライン、すなわち、第1変換部200による処理単位の16個分のデータを含むブロックである。図10−1(c)および図10−2において、第1メモリ210から最初に読み出された、1つの処理ブロックに相当する16個のデータ「319L−0W」〜「304L−0W」を、実線太枠により示している。読み出し部101は、これらデータ「319L−0W」〜「304L−0W」をバーストアクセスにより読み出して、第2変換部103に渡す。 As described above, the processing block to be processed by the second conversion unit 103 is an A byte × B line, that is, a block containing 16 data of the processing unit by the first conversion unit 200. In FIGS. 10-1 (c) and 10-2, 16 data "319L-0W" to "304L-0W" corresponding to one processing block first read from the first memory 210 are displayed. It is shown by a solid thick frame. The reading unit 101 reads these data "319L-0W" to "304L-0W" by burst access and passes them to the second conversion unit 103.

ここで、第2メモリ110において、各データ「pL−qW」は、第1メモリ210の各データ「pL−qW」の1列毎に、アドレスが連続する方向に順次書き込まれている。そのため、読み出し部102は、第1メモリ210における1列分のデータ「pL−qW」を、バーストアクセスを用いて読み出すことができる。一例として、処理ブロック単位でバースト転送を行う場合、Aバイト×Bライン=4バイト×16=64バイトなので、64ビットバスの場合、8バースト転送となる。 Here, in the second memory 110, each data "pL-qW" is sequentially written in the direction in which the addresses are continuous for each column of each data "pL-qW" in the first memory 210. Therefore, the reading unit 102 can read the data "pL-qW" for one column in the first memory 210 by using burst access. As an example, when burst transfer is performed in units of processing blocks, A byte × B line = 4 bytes × 16 = 64 bytes, so in the case of a 64-bit bus, 8 burst transfer is performed.

第2変換部103は、読み出し部102から渡された処理ブロック分のデータ「pL−qW」を第3メモリ111に書き込む。第3メモリ111は、画素単位で画像データの記憶が可能な複数の記憶領域を含む。第2変換部103は、各データ「pL−qW」に含まれる各画素を、第3メモリ111の各記憶領域に書き込む。 The second conversion unit 103 writes the data “pL−qW” for the processing block passed from the read unit 102 to the third memory 111. The third memory 111 includes a plurality of storage areas capable of storing image data on a pixel-by-pixel basis. The second conversion unit 103 writes each pixel included in each data “pL−qW” into each storage area of the third memory 111.

図10−3は、読み出し部102から渡された、第1メモリ210から最初に読み出された処理ブロックに相当する各データ「319L−0W」〜「304L−0W」が第3メモリ111に書き込まれた様子を模式的に示す。 In FIG. 10-3, the data “319L-0W” to “304L-0W” corresponding to the processing block first read from the first memory 210 passed from the reading unit 102 are written to the third memory 111. The state of the data is shown schematically.

図10−3の例では、第3メモリ111は、第2変換部103の処理ブロックに対応して、横方向に16画素(Aバイト)、縦方向に16ライン(Bライン)のサイズを有し、画素単位でアクセスが可能な16×16個の記憶領域1110、1110、…を含む。第3メモリ111は、例えば、図10−3のマトリクスの横方向(行)における位置と、縦方向(列)における位置と、を指定することで、各記憶領域1110、1110、…のうち指定された記憶領域1110にアクセスできる。このようなメモリは、例えばFF(Flip-Flop)を用いて構成することができる。 In the example of FIG. 10-3, the third memory 111 has a size of 16 pixels (A bytes) in the horizontal direction and 16 lines (B line) in the vertical direction corresponding to the processing block of the second conversion unit 103. It also includes 16 × 16 storage areas 1110, 1110, ... Which can be accessed on a pixel-by-pixel basis. The third memory 111 is designated among the storage areas 1110, 1110, ... By designating, for example, the position in the horizontal direction (row) and the position in the vertical direction (column) of the matrix of FIG. 10-3. The stored storage area 1110 can be accessed. Such a memory can be configured by using, for example, FF (Flip-Flop).

第2変換部103は、読み出し部102から渡された各データ「319L−0W」〜「304L−0W」を、第2メモリ110における配置順に従い、第3メモリ111における各記憶領域1110、1110、…によるマトリクスの上端の行から順に書き込む。 The second conversion unit 103 stores the data “319L-0W” to “304L-0W” passed from the reading unit 102 in the storage areas 1110 and 1110 in the third memory 111 according to the arrangement order in the second memory 110. Write in order from the top row of the matrix by….

より具体的には、第2変換部103は、第2メモリ110において第1ライン目の先頭に配置されたデータ「319L−0W」に含まれる各画素#0〜#15(図10−1(a)参照)を、第3メモリ111の上端の行である1行目の各記憶領域1110、1110、…にそれぞれ書き込む。また、第2変換部103は、第2メモリ110においてデータ「319L−0W」の隣に配置されたデータ「318L−0W」に含まれる各画素#0〜#15を、第3メモリ111の2行目の各記憶領域1110、1110、…にそれぞれ書き込む。 More specifically, the second conversion unit 103 includes pixels # 0 to # 15 included in the data "319L-0W" arranged at the head of the first line in the second memory 110 (FIG. 10-1 (FIG. 10-1). a)) is written in each storage area 1110, 1110, ... Of the first line, which is the uppermost line of the third memory 111. Further, the second conversion unit 103 sets each pixel # 0 to # 15 included in the data “318L-0W” arranged next to the data “319L-0W” in the second memory 110 to 2 of the third memory 111. Write to each storage area 1110, 1110, ... On the line.

以降、第2変換部103は、読み出し部102から渡された各データ「pL−qW」に含まれる各画素#0〜#15を、第3メモリ111の各行における各記憶領域1110に、それぞれ書き込む。第2変換部103は、この処理を、読み出し部102から渡された処理ブロックのデータ「304L−0W」に含まれる各画素#0〜#15の、第3メモリ111の下端の行の各記憶領域1110、1110、…に対する書き込みが完了するまで繰り返す。 After that, the second conversion unit 103 writes each pixel # 0 to # 15 included in each data "pL-qW" passed from the reading unit 102 to each storage area 1110 in each line of the third memory 111. .. The second conversion unit 103 performs this processing in each storage of the lower end row of the third memory 111 of each pixel # 0 to # 15 included in the data "304L-0W" of the processing block passed from the reading unit 102. Repeat until writing to the areas 1110, 1110, ... Is completed.

このように、第2変換部103により、処理ブロックの各データ「pL−qW」にそれぞれ含まれる各画素#0〜#15が、第3メモリ111の各行の各記憶領域1110に書き込まれる。これにより、各データ「pL−qW」内で位置が対応する各画素が、第3メモリ111における、当該位置に対応する列の記憶領域1110、1110、…に整列して書き込まれる。図10−3の例では、第3メモリ111の左端の1列に、各データ「319L−0W」〜「304L−0W」における16個の画素#0がそれぞれ書き込まれる。この列の右隣の列は、各データ「319L−0W」〜「304L−0W」における16個の画素#1がそれぞれ書き込まれる。 In this way, the second conversion unit 103 writes each pixel # 0 to # 15 included in each data “pL−qW” of the processing block into each storage area 1110 of each line of the third memory 111. As a result, each pixel whose position corresponds to each other in each data "pL-qW" is aligned and written in the storage areas 1110, 1110, ... Of the column corresponding to the position in the third memory 111. In the example of FIG. 10-3, 16 pixels # 0 in each data “319L-0W” to “304L-0W” are written in the leftmost column of the third memory 111, respectively. In the column to the right of this column, 16 pixels # 1 in each data "319L-0W" to "304L-0W" are written.

以降、第3メモリ111の、各データ「pL−qW」の画素#nが書き込まれる列を、「画素#nの列」などと呼ぶ。 Hereinafter, the column in which the pixel # n of each data “pL−qW” is written in the third memory 111 is referred to as a “column of pixel # n” or the like.

1つの処理ブロック分のデータの第3メモリ111に対する書き込みが完了すると、第2変換部103は、第3メモリ111から、書き込まれた各画素を読み出してバッファ書き込み部104に渡す。ここで、第2変換部103は、第3メモリ111から列毎に画素を読み出してバッファ書き込み部104に渡す。第2の変換部103が第3メモリ111に行方向に書き込まれた各画素を列方向に読み出すことで、画像データの縦横が画素単位で変換される(第2の縦横変換処理)。 When the writing of the data for one processing block to the third memory 111 is completed, the second conversion unit 103 reads each written pixel from the third memory 111 and passes it to the buffer writing unit 104. Here, the second conversion unit 103 reads the pixels from the third memory 111 for each column and passes them to the buffer writing unit 104. When the second conversion unit 103 reads each pixel written in the row direction into the third memory 111 in the column direction, the vertical and horizontal directions of the image data are converted in pixel units (second vertical and horizontal conversion process).

図10−4は、バッファメモリ1230にデータ「319L−0W」〜「0L−0W」が書き込まれた様子を模式的に示す。図10−4の例では、バッファメモリ1230は、それぞれ4バイト(=Aバイト)単位で深さ20(=Y/B)のサイズを持つ、16本(B本)のラインメモリ1120、1120、…を含む。各ラインメモリ1120、1120、…は、それぞれバッファ番号BNUM「0」〜「15」が与えられている。 FIG. 10-4 schematically shows how the data “319L-0W” to “0L-0W” are written in the buffer memory 1230. In the example of FIG. 10-4, the buffer memory 1230 has 16 (B) line memories 1120, 1120, each having a size of 20 (= Y / B) in depth in units of 4 bytes (= A bytes). …including. Buffer numbers BNUM "0" to "15" are assigned to the line memories 1120, 1120, ....

また、バッファメモリ1230は、深さ方向(図の横方向)に、深さに応じたアドレスAD「0」〜「19」を持つ。バッファメモリ1230の1つのアドレスADは、第2変換部103の処理ブロック分、すなわち、第3メモリ111に記憶される全画素の書き込みが可能である。図10−3および図10−4の例では、図10−3に示される第3メモリ111に書き込まれる全データ「319L−0W」〜「304L−0W」が、バッファメモリ1230において、図10−4に実線太枠および色を変えて示す、4バイト幅の1列に書き込まれる。 Further, the buffer memory 1230 has addresses AD "0" to "19" according to the depth in the depth direction (horizontal direction in the figure). One address AD of the buffer memory 1230 can write the processing blocks of the second conversion unit 103, that is, all the pixels stored in the third memory 111. In the examples of FIGS. 10-3 and 10-4, all the data "319L-0W" to "304L-0W" written in the third memory 111 shown in FIG. 10-3 are stored in the buffer memory 1230 in FIG. 10-. It is written in one column with a width of 4 bytes, which is shown in 4 with a thick solid line frame and different colors.

バッファ書き込み部104は、深さ方向のアドレスADを指定し、第2変換部103から渡された第3メモリ111の各列の画素を、16本のラインメモリ1120、1120、…それぞれのアドレスADに示される位置に書き込む。このとき、バッファ書き込み部104は、第3メモリ111の各列の画素を、その列の各データ「pL−qW」内での画素位置に対応するバッファ番号BNUMのラインメモリ1120の、指定されたアドレスADに書き込む。 The buffer writing unit 104 specifies the address AD in the depth direction, and the pixels of each column of the third memory 111 passed from the second conversion unit 103 are converted into 16 line memories 1120, 1120, ... Each address AD. Write in the position indicated by. At this time, the buffer writing unit 104 specifies the pixels of each column of the third memory 111 of the line memory 1120 of the buffer number BNUM corresponding to the pixel positions in each data "pL-qW" of the column. Write to address AD.

一例として、第1メモリ210の左下隅のデータ「319L−0W」を含む処理ブロックであるデータ「319L−0W」〜「304L−0W」をバッファメモリ1230に書き込む場合を考える。この場合、バッファ書き込み部104は、バッファメモリ1230のアドレスAD「0」を指定する。さらに、バッファ書き込み部104は、図10−3に示される、第3メモリ111における画素#0の列(左端の列)から読み出された16個の画素を書き込むためのバッファ番号BNUMとして、バッファ番号BNUM「0」を指定する。 As an example, consider a case where data "319L-0W" to "304L-0W", which are processing blocks including the data "319L-0W" in the lower left corner of the first memory 210, are written to the buffer memory 1230. In this case, the buffer writing unit 104 specifies the address AD "0" of the buffer memory 1230. Further, the buffer writing unit 104 serves as a buffer as a buffer number BNUM for writing 16 pixels read from the pixel # 0 column (leftmost column) in the third memory 111 shown in FIG. 10-3. Specify the number BNUM "0".

バッファ書き込み部104は、バッファ番号BNUM「0」で指定されるラインメモリ1120の、指定されたアドレスAD「0」の位置に、第2変換部103から渡された、各データ「319L−0W」〜「304L−0W」の画素#0を、各データ「319L−0W」〜「304L−0W」のライン番号の降順に、左詰めで書き込んでいく。すなわち、図10−4に点線太枠および色を変えて示す各L画素#0の領域において、左端にデータ「319L−0W」の画素#0が書き込まれ、その右隣にデータ「318L−0W」の画素#0が書き込まれる。当該領域の右端には、データ「304L−0W」の画素#0が書き込まれる。 The buffer writing unit 104 has each data "319L-0W" passed from the second conversion unit 103 to the position of the specified address AD "0" of the line memory 1120 specified by the buffer number BNUM "0". Pixel # 0 of ~ "304L-0W" is written left-justified in descending order of line numbers of each data "319L-0W" to "304L-0W". That is, in the area of each L pixel # 0 shown by the thick dotted line frame and different colors in FIG. 10-4, the pixel # 0 of the data "319L-0W" is written at the left end, and the data "318L-0W" is written to the right of the pixel # 0 Pixel # 0 is written. Pixel # 0 of the data "304L-0W" is written at the right end of the area.

バッファ書き込み部104は、同様にして、第2変換部103から渡された、第3メモリ111の画素#1の列、画素#2の列、…、画素#15の列の各画素を、バッファメモリ1230のバッファ番号BNUM「1」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「0」で指定される位置に書き込む。バッファ書き込み部104は、アドレスAD「0」に対する書き込みが完了すると、その旨を第2変換部103に通知する。 Similarly, the buffer writing unit 104 buffers each pixel of the pixel # 1, the pixel # 2, ..., and the pixel # 15 of the third memory 111 passed from the second conversion unit 103. Write to the position specified by the address AD "0" of each line memory 1120 specified by the buffer numbers BNUM "1" to "15" of the memory 1230. When the writing to the address AD "0" is completed, the buffer writing unit 104 notifies the second conversion unit 103 to that effect.

第2変換部103は、バッファ書き込み部104から、アドレスAD「0」に対する書き込み完了の通知を受け取ると、読み出し部102に対して、第2メモリ110からの次の処理ブロック分のデータの読み出しを要求する。読み出し部102は、この要求に応じて第2メモリ110から次の処理ブロック分のデータ(例えばデータ「303L−0W」〜「288L−0W」)を読み出し、第2変換部103に渡す。 When the second conversion unit 103 receives the notification of the completion of writing to the address AD "0" from the buffer writing unit 104, the second conversion unit 103 reads the data for the next processing block from the second memory 110 to the reading unit 102. Request. In response to this request, the reading unit 102 reads data for the next processing block (for example, data “303L-0W” to “288L-0W”) from the second memory 110 and passes the data to the second conversion unit 103.

第2変換部103は、読み出し部102から渡されたデータを、上述したようにして、画素単位で第3メモリ111に書き込む。第2変換部103は、処理ブロック分の画像データの第3メモリ111への書き込みが完了すると、第3メモリ111に書き込まれた各画素を列毎に読み出して、バッファ書き込み部104に渡す。バッファ書き込み部104は、バッファメモリ1230に対してアドレスADを昇順に指定する。バッファ書き込み部104は、第2変換部103から渡された第3メモリ111の画素#0〜#15の各列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「1」で指定される位置に書き込む。バッファ書き込み部104は、アドレスAD「1」に対する書き込みが完了すると、その旨を第2変換部103に通知する。 The second conversion unit 103 writes the data passed from the reading unit 102 to the third memory 111 in pixel units as described above. When the writing of the image data for the processing block to the third memory 111 is completed, the second conversion unit 103 reads each pixel written in the third memory 111 for each column and passes it to the buffer writing unit 104. The buffer writing unit 104 specifies the address AD for the buffer memory 1230 in ascending order. The buffer writing unit 104 sets each pixel in each column of pixels # 0 to # 15 of the third memory 111 passed from the second conversion unit 103 by the buffer numbers BNUM "0" to "15" of the buffer memory 1230, respectively. Write to the position specified by the address AD "1" in each designated line memory 1120. When the writing to the address AD "1" is completed, the buffer writing unit 104 notifies the second conversion unit 103 to that effect.

このような、第2変換部103から読み出し部102への処理ブロック分の画像データの読み出しの要求から、バッファ書き込み部104による、当該要求に応じて取得した処理ブロック分の各画素データのバッファメモリ1230への書き込みの処理を、Y/B回、すなわち20回繰り返す。これにより、第1メモリ210上の1スキャン分の画像データ31kにおける、先頭の1列分の画像データがバッファメモリ1230に書き込まれることになる。 From such a request for reading the image data of the processing block from the second conversion unit 103 to the reading unit 102, the buffer memory of each pixel data of the processing block acquired by the buffer writing unit 104 in response to the request. The process of writing to 1230 is repeated Y / B times, that is, 20 times. Thus, in the image data 31 k for one scan in the first memory 210, the head of the image data for one column is written into the buffer memory 1230.

ここで、第1メモリ210上の画像データ31kの各ラインにおける、ライン上での位置が対応する320個の画素が、バッファメモリ1230の各ラインメモリ1120にそれぞれ書き込まれている。例えば、各ライン上の左端の320個の各画素#0がバッファ番号BNUM「0」のラインメモリ1120に書き込まれ、次の320個の各画素#1がバッファ番号BNUM「1」のラインメモリ1120に書き込まれる。 Here, in each line of the image data 31 k in the first memory 210, 320 pixels which is positioned on the line corresponding have been written into the line memories 1120 of the buffer memory 1230. For example, the leftmost 320 pixels # 0 on each line are written to the line memory 1120 with the buffer number BNUM "0", and the next 320 pixels # 1 are the line memory 1120 with the buffer number BNUM "1". Written in.

バッファ読み出し部105は、図10−4の矢印Cとして示されるように、各ラインメモリ1120をバッファ番号BNUMの昇順に従い順次指定する。バッファ読み出し部105は、指定されたバッファ番号BNUMのラインメモリ1120に対して、バッファメモリ1230のアドレスを示すアドレスADを昇順に指定し、当該ラインメモリ1120からアドレスADに従い画素を読み出す。バッファ読み出し部105は、読み出した各画素を、ヘッド駆動部1023を介して、IJヘッド13の各ノズル列130C、130M、130Yおよび130Kに、指定されたラインメモリ1120毎に供給する。 The buffer reading unit 105 sequentially designates each line memory 1120 in ascending order of the buffer number BNUM, as shown by an arrow C in FIG. 10-4. The buffer reading unit 105 designates an address AD indicating the address of the buffer memory 1230 in ascending order with respect to the line memory 1120 having the designated buffer number BNUM, and reads pixels from the line memory 1120 according to the address AD. The buffer reading unit 105 supplies each read pixel to the nozzle rows 130C, 130M, 130Y and 130K of the IJ head 13 via the head driving unit 1023 for each designated line memory 1120.

例えば、ヘッド駆動部1023は、バッファ番号BNUM「0」のラインメモリ1120から読み出した320個の画素に基づき、ノズル列130Cの各ノズルを駆動する。同様に、ヘッド駆動部1023は、バッファ番号BNUM「1」のラインメモリ1120から読み出した320個の画素に基づき、ノズル列130Mの各ノズルを駆動する。 For example, the head drive unit 1023 drives each nozzle of the nozzle row 130C based on 320 pixels read from the line memory 1120 of the buffer number BNUM “0”. Similarly, the head drive unit 1023 drives each nozzle of the nozzle row 130M based on 320 pixels read from the line memory 1120 of the buffer number BNUM “1”.

バッファメモリ1230に書き込まれた全ての画素データの読み出しが完了すると、第1メモリ210上の1スキャン分の画像データ31kにおける、次の1列分(例えばデータ「0L−1W」、「1L−1W」、…の列)の画像データをバッファメモリ1230に書き込む処理が行われる。 When the reading of all the pixel data written in the buffer memory 1230 is completed, the image data 31 k for one scan in the first memory 210, the next one column (e.g., data "0L-1W", "1L- The process of writing the image data of "1W", ...) To the buffer memory 1230 is performed.

図10−1〜図10−4を用いて説明した処理を行うことで、図4(a)および図4(c)を用いて説明した、IJヘッド13の往路における、1スキャン分の画像データ311の90°回転が実現できる。 By performing the processing described with reference to FIGS. 10-1 to 10-4, the image data for one scan in the outward path of the IJ head 13 described with reference to FIGS. 4 (a) and 4 (c). A 90 ° rotation of 31 1 can be realized.

第1の実施形態では、この回転処理を、第1メモリ210に書き込まれる1スキャン分の画像データ31kの、アドレスが連続する方向と直交する方向へのバイトバウンダリの処理単位での読み出しと、画素単位でアクセスが可能な第3メモリ111に書き込まれた処理ブロック分の画素を、書き込み時と異なる方向に読み出す処理とを組み合わせて行っている。そのため、画像データ31kの90°の回転処理において、効率良くメモリアクセスを実行でき、回転処理を高速化が可能である。 In the first embodiment, this rotation process is performed by reading the image data 31 k for one scan written in the first memory 210 in a byte boundary processing unit in a direction orthogonal to the direction in which the addresses are continuous. The processing of reading the pixels of the processing block written in the third memory 111, which can be accessed in pixel units, in a direction different from that at the time of writing is performed in combination. Therefore, in the 90 ° rotation process of the image data 31 k, the memory access can be efficiently executed, and the rotation process can be speeded up.

第1の実施形態では、第3メモリ111から画像データ31kにおける各ラインの画素位置を合わせて読み出した各画素を、バッファメモリ1230が有するラインメモリ1120に書き込み、ラインメモリ1120から読み出した画素を、IJヘッド13を駆動するヘッド駆動部1023に渡している。そのため、画像データ31kの90°の回転処理において、回転処理後の画像データを書き込むフレームメモリが不要である。 In the first embodiment, each pixel is read in conjunction pixel positions of each line in the image data 31 k from the third memory 111, writing into the line memory 1120 buffer memory 1230 has the pixel read out from the line memory 1120 , Is passed to the head drive unit 1023 that drives the IJ head 13. Therefore, in the 90 ° rotation process of the image data 31 k, a frame memory for writing the image data after the rotation process is unnecessary.

さらに、第1の実施形態では、第1メモリ210に対するアクセスに、矩形アクセスを行うDMACを用いていないため、コストを削減することが可能である。さらにまた、矩形アクセスを行うDMACを用いる際の、回転後のフレームメモリも不要である。 Further, in the first embodiment, since the DMAC that performs rectangular access is not used for the access to the first memory 210, the cost can be reduced. Furthermore, when using DMAC that performs rectangular access, there is no need for a frame memory after rotation.

なお、上述の、第1メモリ210上の画像データ31kに対する列毎の処理は、例えば、印字制御部1024が、RDMAC1021による読み出し処理、変換部1022による第2の変換処理、ヘッド駆動部1023によるIJヘッド13の駆動処理、駆動系14aおよび14bによる各機構の駆動処理を適切にタイミング制御することで実現できる。 Incidentally, the above-described processing for each column with respect to the image data 31 k in the first memory 210 is, for example, the printing control unit 1024, the second conversion processing by read processing, conversion unit 1022 by RDMAC1021, by the head driver 1023 This can be realized by appropriately timing-controlling the drive processing of the IJ head 13 and the drive processing of each mechanism by the drive systems 14a and 14b.

次に、第1の実施形態に係る無効画素の処理について説明する。上述したように、画像データ31kの横方向のサイズが4バイト単位のバイトバウンダリではない場合、図10−1(b)に示したように、画像データ31kの各ラインの後端にZ個(Z=13とする)の無効画素を付加する。この場合、画像データ31kの各ラインの後端を含む列の各データ「0L−nW」〜「319L−nW」については、第3メモリ111から読み出した各画素をバッファメモリ1230に書き込む際に、無効画素を考慮した処理が行われる。 Next, the processing of invalid pixels according to the first embodiment will be described. As described above, when the horizontal size of the image data 31 k is not a 4-byte unit byte boundary, Z is formed at the rear end of each line of the image data 31 k as shown in FIG. 10-1 (b). Add the number of invalid pixels (Z = 13). In this case, the data "0L-nW '~ of the column that contains the rear end of each line of the image data 31 k for" 319L-nW ", when writing each pixel read from the third memory 111 to the buffer memory 1230 , Processing is performed in consideration of invalid pixels.

図10−5は、読み出し部102から渡された、第1メモリ210から最後に読み出された、第2変換部103の処理ブロックに相当する各データ「15L−nW」〜「0L−nW」が第3メモリ111に書き込まれた様子を模式的に示す。なお、図10−1(c)においては右上、図10−2においては右下にそれぞれ点線太枠で示した範囲に含まれるデータが、図10−5に示される各データ「15L−nW」〜「0L−nW」に対応する。 FIG. 10-5 shows the data “15L-nW” to “0L-nW” that correspond to the processing block of the second conversion unit 103 that was finally read from the first memory 210 and passed from the reading unit 102. Is schematically shown how is written in the third memory 111. The data included in the range shown by the thick dotted frame in the upper right in FIG. 10-1 (c) and in the lower right in FIG. 10-2 are the data "15L-nW" shown in FIG. 10-5. ~ Corresponds to "0L-nW".

図10−5に色を変えて示されるように、第3メモリ111の右端からZ列(13列)が、無効画素が書き込まれる領域となる。図10−6は、第3メモリ111から読み出された各画素がバッファメモリ1230の各ラインメモリ1120、1120、…に書き込まれた様子を模式的に示す。この場合、バッファ番号BNUM「3」〜「15」で指定されるZ本(13本)の各ラインメモリ1120、1120、…に無効画素が書き込まれる(図中に点線太枠、色を変えて示す)。 As shown in different colors in FIG. 10-5, the Z column (13 columns) from the right end of the third memory 111 is an area in which invalid pixels are written. FIG. 10-6 schematically shows how each pixel read from the third memory 111 is written to each line memory 1120, 1120, ... Of the buffer memory 1230. In this case, invalid pixels are written in each of the Z (13) line memories 1120, 1120, ... Designated by the buffer numbers BNUM "3" to "15" (thick dotted line frame and different colors in the figure). Show).

バッファ読み出し部105は、各ラインメモリ1120、1120、…からの画素の読み出しの際に、これら無効画素が書き込まれる各ラインメモリ1120のバッファ番号BNUM「3」〜「15」を指定しない。すなわち、バッファ読み出し部105は、第1変換部200の処理単位のAバイトに含まれる画素数Bから無効画素数Zを減じた値(B−Z)に応じて、バッファ番号BNUM「0」〜「2」の各ラインメモリ1120から画素を読み出す。 The buffer reading unit 105 does not specify the buffer numbers BNUM "3" to "15" of each line memory 1120 in which these invalid pixels are written when reading the pixels from the line memories 1120, 1120, .... That is, the buffer reading unit 105 has the buffer numbers BNUM "0" to "0" according to the value (BZ) obtained by subtracting the number of invalid pixels Z from the number of pixels B included in the A byte of the processing unit of the first conversion unit 200. Pixels are read from each line memory 1120 of "2".

図11は、第1の実施形態に係る、IJヘッド13の往路における90°回転処理を示す一例のフローチャートである。なお、ここでは、バッファメモリ1230のアドレスADについて、バッファ書き込み部104がバッファメモリ1230への書き込みの際に用いるアドレスADを、書き込みアドレスWADRとする。また、バッファ読み出し部105がバッファメモリ1230からの読み出しの際に用いるアドレスADを、読み出しアドレスRADRとする。 FIG. 11 is a flowchart of an example showing the 90 ° rotation process in the outward path of the IJ head 13 according to the first embodiment. Here, regarding the address AD of the buffer memory 1230, the address AD used by the buffer writing unit 104 when writing to the buffer memory 1230 is referred to as the write address WADR. Further, the address AD used by the buffer reading unit 105 when reading from the buffer memory 1230 is referred to as a read address RADR.

ステップS100で、第1変換部200は、第1メモリ210に書き込まれた、1スキャン分の画像データ31kに対して第1の縦横変換処理を施す。すなわち、図10−1(c)を用いて説明したように、第1変換部200は、第1メモリ210に書き込まれた1スキャン分の画像データ31kを、Aバイトの処理単位(データ「pL−qW」)毎に、アドレスが連続する方向と直交する方向に向けて読み出す。第1変換部200により第1メモリから読み出されたデータ「pL−qW」は、ホストPC20からプリンタ10に送信され、書き込み部101により、第2メモリ110の連続するアドレスに順次書き込まれる。 In step S100, the first conversion unit 200 performs the first vertical / horizontal conversion process on the image data 31k for one scan written in the first memory 210. That is, as described with reference to FIG. 10-1 (c), first converter 200, the image data 31 k for one scan written in the first memory 210, A byte processing units (data " For each pL-qW "), the data is read in the direction orthogonal to the continuous direction. The data "pL-qW" read from the first memory by the first conversion unit 200 is transmitted from the host PC 20 to the printer 10, and is sequentially written by the writing unit 101 to the continuous addresses of the second memory 110.

次のステップS101で、第1変換部200は、第1メモリ210からの1列分(Aバイト×Yライン)の処理が完了したか否かを判定する。第1変換部200は、1列分の処理が完了していないと判定した場合(ステップS101、「No」)、処理をステップS100に戻す。一方、第1変換部200は、1列分の処理が完了したと判定した場合(ステップS101、「Yes」)、処理をステップS102に移行させる。 In the next step S101, the first conversion unit 200 determines whether or not the processing for one column (A bytes × Y lines) from the first memory 210 has been completed. When the first conversion unit 200 determines that the processing for one column has not been completed (step S101, "No"), the processing is returned to step S100. On the other hand, when the first conversion unit 200 determines that the processing for one column is completed (step S101, "Yes"), the first conversion unit 200 shifts the processing to step S102.

ステップS102で、バッファ書き込み部104は、書き込みアドレスWADRの値を「値0」に初期化する。例えば、バッファ書き込み部104は、バッファメモリ1230の書き込みアドレスWADRを指定する書き込みアドレスカウンタを含み、ステップS102で、この書き込みアドレスカウンタの値を初期化する。次のステップS103で、読み出し部102は、第2メモリ110から、第2変換部103の処理ブロック分のデータを読み出し、読み出したデータを第2変換部103に入力する。 In step S102, the buffer writing unit 104 initializes the value of the writing address WADR to “value 0”. For example, the buffer writing unit 104 includes a write address counter that specifies the write address WADR of the buffer memory 1230, and in step S102, the value of the write address counter is initialized. In the next step S103, the reading unit 102 reads the data for the processing block of the second conversion unit 103 from the second memory 110, and inputs the read data to the second conversion unit 103.

次のステップS104で、第2変換部103は、読み出し部102から渡された処理ブロック分のデータに対して第2の縦横変換処理を施す。すなわち、図10−3を用いて説明したように、第2変換部103は、読み出し部102から渡された処理ブロック分のデータを、画素単位でアクセス可能な第3メモリ111に対し、行方向に従い書き込む。第2変換部103は、第3メモリ111に書き込まれたデータを、列方向に従い画素単位で読み出し、処理ブロック分のデータの画素単位での縦横変換を行う。第2変換部103は、第3メモリ111から読み出した各列のデータを、バッファ書き込み部104に渡す。 In the next step S104, the second conversion unit 103 performs the second vertical / horizontal conversion processing on the data for the processing block passed from the reading unit 102. That is, as described with reference to FIG. 10-3, the second conversion unit 103 transfers the data for the processing block passed from the reading unit 102 in the row direction with respect to the third memory 111 that can be accessed in pixel units. Write according to. The second conversion unit 103 reads the data written in the third memory 111 in pixel units according to the column direction, and performs vertical / horizontal conversion of the data for the processing block in pixel units. The second conversion unit 103 passes the data of each column read from the third memory 111 to the buffer writing unit 104.

次のステップS105で、バッファ書き込み部104は、第2変換部103から渡されたデータを、バッファメモリ1230が含む各ラインメモリ1120に書き込む。より具体的には、バッファ書き込み部104は、第2変換部103から渡された第3メモリ111の画素#0〜#15の各列のデータを、書き込みアドレスWADRに従い、バッファメモリ1230に含まれる、画素#0〜#15に応じて指定されたバッファ番号BNUM「0」〜「15」のラインメモリ1120、1120、…に書き込む。 In the next step S105, the buffer writing unit 104 writes the data passed from the second conversion unit 103 to each line memory 1120 included in the buffer memory 1230. More specifically, the buffer writing unit 104 includes the data of each column of pixels # 0 to # 15 of the third memory 111 passed from the second conversion unit 103 in the buffer memory 1230 according to the writing address WADR. , Write to the line memories 1120, 1120, ... Of the buffer numbers BNUM "0" to "15" specified according to the pixels # 0 to # 15.

バッファ書き込み部104は、第3メモリ111から読み出された処理ブロック分のデータのバッファメモリ1230への書き込みが完了すると、処理をステップS106に移行させる。バッファ書き込み部104は、ステップS106で、アドレスWADRの値を「1」だけインクリメントする。 When the buffer writing unit 104 completes writing the data of the processing block read from the third memory 111 to the buffer memory 1230, the buffer writing unit 104 shifts the processing to step S106. In step S106, the buffer writing unit 104 increments the value of the address WADR by "1".

次のステップS107で、バッファ書き込み部104は、ステップS103〜ステップS106の処理がバッファメモリ1230の深さ分、すなわち、Y/B回繰り返されたか否かを判定する。バッファ書き込み部104は、繰り返されていないと判定した場合(ステップS107、「No」)、処理をステップS103に戻す。一方、バッファ書き込み部104は、処理がY/B回繰り返されたと判定した場合(ステップS107、「Yes」)、処理をステップS108に移行させる。 In the next step S107, the buffer writing unit 104 determines whether or not the processing of steps S103 to S106 is repeated for the depth of the buffer memory 1230, that is, Y / B times. When the buffer writing unit 104 determines that the process is not repeated (step S107, "No"), the buffer writing unit 104 returns the process to step S103. On the other hand, when the buffer writing unit 104 determines that the process has been repeated Y / B times (step S107, “Yes”), the buffer writing unit 104 shifts the process to step S108.

ステップS108で、バッファ読み出し部105は、読み出しアドレスRADRの値を値「0」に初期化する。例えば、バッファ読み出し部105は、バッファメモリ1230の読み出しアドレスRADRの値を指定する読み出しアドレスカウンタを含み、ステップS108で、この読み出しアドレスカウンタの値を初期化する。次のステップS109で、バッファ読み出し部105は、バッファ番号BNUMを「0」に初期化する。 In step S108, the buffer read unit 105 initializes the value of the read address RADR to the value “0”. For example, the buffer read unit 105 includes a read address counter that specifies the value of the read address RADR of the buffer memory 1230, and initializes the value of the read address counter in step S108. In the next step S109, the buffer reading unit 105 initializes the buffer number BNUM to “0”.

次のステップS110で、バッファ読み出し部105は、バッファメモリ1230に対して読み出しアドレスRADRと、バッファ番号BNUMとを指定する。バッファ読み出し部105は、バッファメモリ1230に含まれる各ラインメモリ1120のうち、バッファ番号BNUMで指定されるラインメモリ1120の、読み出しアドレスRADRで指定する位置からデータを読み出す。 In the next step S110, the buffer reading unit 105 specifies the reading address RADR and the buffer number BNUM for the buffer memory 1230. The buffer reading unit 105 reads data from the line memory 1120 specified by the buffer number BNUM from the positions specified by the read address RADR among the line memories 1120 included in the buffer memory 1230.

次のステップS111で、バッファ読み出し部105は、読み出しアドレスRADRを1だけインクリメントする。次のステップS112で、バッファ読み出し部105は、読み出しアドレスRADRの値が値「Y/B−1」と一致するか否か、換言すれば、読み出しアドレスRADRがバッファメモリ1230の深さ方向の最大のアドレスを示しているか否かを判定する。バッファ読み出し部105は、読み出しアドレスRADRの値が値「Y/B−1」と一致しないと判定した場合(ステップS112、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、読み出しアドレスRADRの値が値「Y/B−1」と一致すると判定した場合(ステップS112、「Yes」)、処理をステップS113に移行させる。 In the next step S111, the buffer read unit 105 increments the read address RADR by 1. In the next step S112, the buffer read unit 105 determines whether or not the value of the read address RADR matches the value "Y / B-1", in other words, the read address RADR is the maximum in the depth direction of the buffer memory 1230. It is determined whether or not the address of is indicated. When the buffer reading unit 105 determines that the value of the reading address RADR does not match the value "Y / B-1" (step S112, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the value of the reading address RADR matches the value "Y / B-1" (step S112, "Yes"), the buffer reading unit 105 shifts the process to step S113.

ステップS113で、バッファ読み出し部105は、バッファ番号BNUMを1だけインクリメントして、処理をステップS114に移行させる。ステップS114で、バッファ読み出し部105は、バッファ番号BNUMがバッファメモリ1230において読み出しを行う最後のラインメモリ1120のバッファ番号BNUMとなっているか否かを判定する。 In step S113, the buffer reading unit 105 increments the buffer number BNUM by 1 to shift the process to step S114. In step S114, the buffer reading unit 105 determines whether or not the buffer number BNUM is the buffer number BNUM of the last line memory 1120 to be read in the buffer memory 1230.

図10−1(b)を用いて説明したように、画像データ31kの横方向のサイズが4バイト単位のバイトバウンダリではない場合、画像データ31kの各ラインの後端にZ個の無効画素を付加している。そのため、ステップS114におけるバッファ番号BNUMの判定条件は、現在バッファメモリ1230に書き込まれているデータが、画像データ31kの第1メモリ210上での後端列のデータであるか否かで異なる。 As described with reference FIG. 10-1 (b), if the horizontal size of the image data 31 k is not a byte boundary of 4 bytes, invalid number Z to the rear end of each line of the image data 31 k Pixels are added. Therefore, the determination condition buffer numbers BNUM is in step S114, data are written into the current buffer memory 1230 is different in whether or not the data of the rear row of on the first memory 210 of the image data 31 k.

ステップS114で、バッファ読み出し部105は、現在バッファメモリ1230に書き込まれているデータが後端列のデータである場合には、無効画素数Zを考慮し、バッファ番号BNUMが値「B−Z−1」であるか否かを判定する。バッファ読み出し部105は、バッファ番号BNUMが値「B−Z−1」ではないと判定した場合(ステップS114、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、バッファ番号BNUMが値「B−Z−1」であると判定した場合(ステップS114、「Yes」)、処理をステップS115に移行させる。 In step S114, when the data currently written in the buffer memory 1230 is the data in the rear end row, the buffer reading unit 105 considers the number of invalid pixels Z and sets the buffer number BNUM to the value "BZ-". 1 ”is determined. When the buffer reading unit 105 determines that the buffer number BNUM is not the value "B-Z-1" (step S114, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the buffer number BNUM has the value "B-Z-1" (step S114, "Yes"), the buffer reading unit 105 shifts the process to step S115.

一方、バッファ読み出し部105は、現在バッファメモリ1230に書き込まれているデータが後端列以外のデータである場合には、バッファ番号BNUMが値「B−1」であるか否かを判定する。バッファ読み出し部105は、バッファ番号BNUMが値「B−1」ではないと判定した場合(ステップS114、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、バッファ番号BNUMが値「B−1」であると判定した場合(ステップS114、「Yes」)、処理をステップS115に移行させる。 On the other hand, when the data currently written in the buffer memory 1230 is data other than the rear end row, the buffer reading unit 105 determines whether or not the buffer number BNUM has the value "B-1". When the buffer reading unit 105 determines that the buffer number BNUM is not the value "B-1" (step S114, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the buffer number BNUM has the value "B-1" (step S114, "Yes"), the buffer reading unit 105 shifts the process to step S115.

ステップS115で、バッファ読み出し部105は、第1メモリ210上の画像データ31kにおける全列分の処理が完了したか否かを判定する。バッファ読み出し部105は、全列分の処理が完了したと判定した場合(ステップS115、「Yes」)、図11のフローチャートによる一連の処理を終了させる。 In step S115, the buffer reading unit 105 determines whether all columns worth of the image data 31 k in the first memory 210 is completed. When the buffer reading unit 105 determines that the processing for all columns has been completed (step S115, “Yes”), the buffer reading unit 105 ends a series of processing according to the flowchart of FIG.

一方、バッファ読み出し部105は、ステップS115で、全列分の処理が終了していないと判定した場合(ステップS115、「No」)、処理をステ116に移行させる。ステップS116で、バッファ読み出し部105は、第1変換部200に対して、第1メモリ210から画像データ31kの次の列の各データ「pL−qW」を読み出す指示を出す。バッファ読み出し部105は、ステップS116の処理後、処理をステップS100に戻す。 On the other hand, when the buffer reading unit 105 determines in step S115 that the processing for all columns has not been completed (step S115, “No”), the buffer reading unit 105 shifts the processing to step 116. In step S116, the buffer read unit 105, the first conversion unit 200 instructs to read the respective data "pL-QW" of the next row of image data 31 k from the first memory 210. After the processing in step S116, the buffer reading unit 105 returns the processing to step S100.

(第1の実施形態に係る、IJヘッドの復路における270°回転処理)
次に、図12−1〜図12−6、および、図13を用いて、第1の実施形態に係る、IJヘッド13の復路における270°回転処理について説明する。第1の実施形態に係る270°回転処理は、上述した90°回転処理に対して、主に、第1メモリ210からのデータの読み出し順と、バッファメモリ1230からのデータの読み出し順とが異なる。以下、90°回転処理に対して異なる点を中心に、説明を行う。
(270 ° rotation process on the return path of the IJ head according to the first embodiment)
Next, the 270 ° rotation process in the return path of the IJ head 13 according to the first embodiment will be described with reference to FIGS. 12-1 to 12-6 and 13. In the 270 ° rotation process according to the first embodiment, the order of reading data from the first memory 210 and the order of reading data from the buffer memory 1230 are mainly different from those of the 90 ° rotation process described above. .. Hereinafter, the description will be given focusing on the differences from the 90 ° rotation process.

図12−1は、印刷対象の画像データ30における、1スキャン分の画像データ31kが第1メモリ210に書き込まれた様子を模式的に示す。この図12−1(a)、図12−1(b)および図12−1(c)に示す各データ「pL−qW」の配置、ならびに、ラインの先頭側および後端側の画素の配置は、上述した図10−1(a)、図10−1(b)および図10−1(c)と同一であるので、ここでの説明を省略する。 Figure 12-1 in the image data 30 to be printed, showing how the image data 31 k for one scan is written to the first memory 210 schematically. Arrangement of each data "pL-qW" shown in FIGS. 12-1 (a), 12-1 (b) and 12-1 (c), and arrangement of pixels on the front end side and the rear end side of the line. Is the same as FIGS. 10-1 (a), 10-1 (b) and 10-1 (c) described above, and thus the description thereof will be omitted here.

第1の実施形態において、第1変換部200は、270°回転の場合、画像データ31kの右端の列から、上端から下端に向けて、データ「pLーqW」を順次、第1メモリ210から読み出す。より具体的には、第1変換部200は、先ず、画像データ31kの右上隅のデータ「0L−nW」を読み出し、次にデータ「1LーnW」を読み出す。以降、第1変換部200は、図中に矢印Dで示されるように、この列の下端のデータ「319L−nW」まで、順次、各データ「pL−qW」を読み出す。 In a first embodiment, the first conversion unit 200 in the case of 270 ° rotation, from the right column of the image data 31 k, from the upper end to the lower end, sequentially data "pL over qW", the first memory 210 Read from. More specifically, the first conversion unit 200 first reads the data in the upper right corner of the image data 31 k "0L-nW", then reads the data "1L over nW". After that, the first conversion unit 200 sequentially reads out each data "pL-qW" up to the data "319L-nW" at the lower end of this column, as indicated by an arrow D in the figure.

このように、270°回転処理においても、第1変換部200により、第1メモリ210に書き込まれた画像データ31kを、データ「pLーqW」毎に、アドレスが連続する方向と直交する方向に向けた読み出しが行われることで、画像データ31kに対して第1の縦横変換処理が行われる。 Thus, also in the 270 ° rotation processing, by the first conversion unit 200, the image data 31 k written in the first memory 210, for each data "pL over qW" direction orthogonal to the direction in which consecutive addresses The first vertical / horizontal conversion process is performed on the image data 31 k by performing the reading toward.

第1変換部200は、第1メモリ210からの1列分のデータ「0L−nW」〜「319L−nW」」の読み出しを完了すると、読み出し位置を処理単位分(Aバイト=4バイト)分左に移動させ、上端から下端に向けて、各データ「0Lー(n−1)W」〜「319L−(n−1)W」の読み出しを実行する。第1変換部200は、この処理を、画像データ31kの左端の列(データ「0L−0W」〜「319L−0W」)の読み出しが完了するまで繰り返す。 When the first conversion unit 200 completes reading the data "0L-nW" to "319L-nW" for one column from the first memory 210, the first conversion unit 200 sets the reading position for the processing unit (A byte = 4 bytes). The data is moved to the left, and each data "0L- (n-1) W" to "319L- (n-1) W" is read from the upper end to the lower end. First conversion unit 200, the process is repeated until the reading of the leftmost column of the image data 31 k (data "0L-0 W" - "319L-0W") is completed.

第1変換部200は、読み出したデータ「pL−qW」を送信部201によりプリンタ10に送信する。この処理単位のデータ「pL−qW」は、プリンタ10において受信部100に受信されて書き込み部101に渡される。書き込み部101は、受信部100から渡されたデータ「pL−qW」を、第2メモリ110の連続するアドレスに順次書き込む。 The first conversion unit 200 transmits the read data "pL-qW" to the printer 10 by the transmission unit 201. The data "pL-qW" of this processing unit is received by the receiving unit 100 in the printer 10 and passed to the writing unit 101. The writing unit 101 sequentially writes the data "pL-qW" passed from the receiving unit 100 to the continuous addresses of the second memory 110.

図12−2は、書き込み部101により第2メモリ110に各データ「pL−qW」が書き込まれた様子を模式的に示す。書き込み部101は、ホストPC20から送信されたデータ「pL−qW」を、受信順に、図中に矢印Bで示されるように、第2メモリ110の左上隅からアドレスが連続する方向に順次書き込んでいく。 FIG. 12-2 schematically shows how each data “pL−qW” is written to the second memory 110 by the writing unit 101. The writing unit 101 writes the data "pL-qW" transmitted from the host PC 20 in the order of reception in the direction in which the addresses are continuous from the upper left corner of the second memory 110 as indicated by the arrow B in the figure. I will go.

より具体的には、書き込み部101は、画像データ31kについて最初に受信したデータ「0L−nW」を第2メモリ110の左上隅に書き込み、次に受信したデータ「1L−nW」を、先に書き込んだデータ「0L−nW」の右隣に書き込む。この処理を、第1変換部200による、図12−1(c)に示す画像データ31kの1列分の読み出しが完了するまで繰り返す。第1変換部200が画像データ31kの右端の列の下端から読み出したデータ「319L−nW」が第2メモリ110の右端に書き込まれ、第1メモリ210の右端の1列のデータ「0L−nW」〜「319L−nW」が、横方向に整列される。 More specifically, the writing section 101 writes the first data received "0L-nW" for the image data 31 k in the upper left corner of the second memory 110, and then receives the data "1L-nW", previously Write to the right side of the data "0L-nW" written in. The process, according to the first conversion unit 200 is repeated until one column of the read image data 31 k illustrated in FIG. 12-1 (c) is completed. First converter 200 is data "319L-nW" read from the lower end of the right-most column of the image data 31 k written at the right end of the second memory 110, a row of data in the right end of the first memory 210 "0L- "nW" to "319L-nW" are aligned in the horizontal direction.

書き込み部101は、ホストPC20から送信された、第1メモリ210の1列分のデータ「pL−nW」の第2メモリ110への書き込みが完了すると、第1メモリ210の次の列のデータ「pL−(n−1)W」を、第2メモリ110の左端側から、連続するアドレスに順次書き込んでいく。第1変換部200による、画像データ31kの左端の列(データ「0L−0W」〜「319L−0W」)の読み出しに応じて、書き込み部101により、このデータ「0L−0W」〜「319L−0W」が第2メモリ110に書き込まれる。 When the writing unit 101 completes writing the data “pL-nW” for one column of the first memory 210 to the second memory 110 transmitted from the host PC 20, the data “pL-nW” in the next column of the first memory 210 is completed. "pL- (n-1) W" is sequentially written to consecutive addresses from the left end side of the second memory 110. According to a first converter 200, in accordance with the reading of the leftmost column of the image data 31 k (data "0L-0 W" - "319L-0W"), the writing unit 101, the data "0L-0 W" - "319L −0W ”is written to the second memory 110.

第2メモリ110に書き込まれた各データ「pL−qW」は、読み出し部102に読み出されて第2変換部103に渡される。より具体的には、読み出し部102は、第2メモリ110上の各データ「pL−qW」を、右上のデータ「0L−nW」からバーストアクセスにより順次読み出し、第2変換部103の処理ブロック分のデータ「pL−qW」を第2変換部103に渡す。 Each data "pL-qW" written in the second memory 110 is read by the reading unit 102 and passed to the second conversion unit 103. More specifically, the reading unit 102 sequentially reads each data "pL-qW" on the second memory 110 from the data "0L-nW" on the upper right by burst access, and divides the processing blocks of the second conversion unit 103. Data "pL-qW" is passed to the second conversion unit 103.

図12−1(c)および図12−2において、第1メモリ210から最初に読み出された、1つの処理ブロックに相当するデータ「0L−nW」〜「15L−nW」を、実線太枠により示している。読み出し部101は、これらデータ「0L−nW」〜「15L−nW」をバーストアクセスにより読み出して、第2変換部103に渡す。 In FIGS. 12-1 (c) and 12-2, the data "0L-nW" to "15L-nW" corresponding to one processing block first read from the first memory 210 are shown in a solid thick frame. Is shown by. The reading unit 101 reads these data “0L-nW” to “15L-nW” by burst access and passes them to the second conversion unit 103.

第2変換部103は、読み出し部102から渡された処理ブロック分のデータ「pL−qW」を第3メモリ111に書き込む。第2変換部103は、各データ「pL−qW」に含まれる各画素を、上述した90°回転処理の場合と同様にして、第3メモリ111の各記憶領域に書き込む。 The second conversion unit 103 writes the data “pL−qW” for the processing block passed from the read unit 102 to the third memory 111. The second conversion unit 103 writes each pixel included in each data “pL−qW” into each storage area of the third memory 111 in the same manner as in the case of the 90 ° rotation process described above.

図12−3は、読み出し部102から渡された、第1メモリ210から最初に読み出された処理ブロックに相当する各データ「0L−nW」〜「15L−nW」が第3メモリ111に書き込まれた様子を模式的に示す。図12−3の例では、第3メモリ111の左端の1列に、各データ「0L−nW」〜「15L−nW」における16個の画素#0がそれぞれ書き込まれる。この列の右隣の列は、各データ「0L−nW」〜「15L−nW」における16個の画素#1がそれぞれ書き込まれる。 In FIG. 12-3, the data “0L-nW” to “15L-nW” corresponding to the processing blocks first read from the first memory 210 passed from the reading unit 102 are written to the third memory 111. The state of the data is shown schematically. In the example of FIG. 12-3, 16 pixels # 0 in each data “0L-nW” to “15L-nW” are written in the leftmost column of the third memory 111, respectively. In the column to the right of this column, 16 pixels # 1 in each data "0L-nW" to "15L-nW" are written.

1つの処理ブロックに含まれる各データ「pL−qW」に含まれる各画素の第3メモリ111に対する書き込みが完了すると、第2変換部103は、第3メモリ111から、書き込まれた各画素を列毎に読み出してバッファ書き込み部104に渡す。 When the writing to the third memory 111 of each pixel included in each data "pL-qW" included in one processing block is completed, the second conversion unit 103 arranges the written pixels from the third memory 111. It is read out every time and passed to the buffer writing unit 104.

このように、270°回転処理においても、第2変換部103が第3メモリ111に行方向に書き込まれた各画素を列方向に読み出すことで、画像データの縦横を画素単位で変換する第2の縦横変換処理が行われる。 In this way, even in the 270 ° rotation process, the second conversion unit 103 converts the vertical and horizontal directions of the image data in pixel units by reading each pixel written in the row direction in the third memory 111 in the column direction. Vertical-horizontal conversion processing is performed.

図12−4は、バッファメモリ1230にデータ「0L−nW」〜「319L−nW」が書き込まれた様子を模式的に示す。この例では、図12−3に示される第3メモリ111に書き込まれる全データ「0L−nW」〜「15L−nW」が、バッファメモリ1230において、図12−4に実線太枠により示す、4バイト幅の1列に書き込まれる。 FIG. 12-4 schematically shows how the data “0L-nW” to “319L-nW” are written in the buffer memory 1230. In this example, all the data "0L-nW" to "15L-nW" written in the third memory 111 shown in FIG. 12-3 are shown in the buffer memory 1230 by a solid line thick frame in FIG. 12-4. Written in one column of byte width.

また、バッファ書き込み部104は、図12−4に示されるように、上述した90°回転処理の場合と同様にして、第2変換部103から渡された、第3メモリ111の画素#0の列、画素#1の列、…、画素#15の列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「0」で指定される位置に書き込む。 Further, as shown in FIG. 12-4, the buffer writing unit 104 is the pixel # 0 of the third memory 111 passed from the second conversion unit 103 in the same manner as in the case of the 90 ° rotation processing described above. Address AD "0" of each line memory 1120 designated by the buffer numbers BNUM "0" to "15" of the buffer memory 1230 for each pixel of the column, the column of the pixel # 1, ..., The column of the pixel # 15. Write to the position specified by.

バッファ書き込み部104は、以降、上述した90°回転処理の場合と同様にして、バッファメモリ1230に対してアドレスADを昇順に指定する。バッファ書き込み部104は、第2変換部103から渡された第3メモリ111の画素#0〜#15の各列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「1」で指定される位置に書き込む。この処理をY/B回、すなわち20回繰り返すことで、第1メモリ210上の1スキャン分の画像データ31kにおける、後端の1列分の画像データがバッファメモリ1230に書き込まれる。 Hereinafter, the buffer writing unit 104 designates the address AD with respect to the buffer memory 1230 in ascending order in the same manner as in the case of the 90 ° rotation processing described above. The buffer writing unit 104 sets each pixel in each column of pixels # 0 to # 15 of the third memory 111 passed from the second conversion unit 103 by the buffer numbers BNUM "0" to "15" of the buffer memory 1230, respectively. Write to the position specified by the address AD "1" in each designated line memory 1120. The process of Y / B times, i.e. by repeating 20 times, the image data 31 k for one scan in the first memory 210, the image data for one column of the rear end is written into the buffer memory 1230.

バッファ読み出し部105は、図12−4の矢印Eとして示されるように、各ラインメモリ1120をバッファ番号BNUMの降順に従い順次指定する。バッファ読み出し部105は、指定されたバッファ番号BNUMのラインメモリ1120に対して、バッファメモリ1230のアドレスを示すアドレスADを昇順に指定し、当該ラインメモリ1120からアドレスADに従い画素を読み出す。バッファ読み出し部105は、読み出した各画素を、ヘッド駆動部1023を介して、IJヘッド13の各ノズル列130C、130M、130Yおよび130Kに、指定されたラインメモリ1120毎に供給する。 The buffer reading unit 105 sequentially designates each line memory 1120 in descending order of the buffer number BNUM, as shown by an arrow E in FIG. 12-4. The buffer reading unit 105 designates an address AD indicating the address of the buffer memory 1230 in ascending order with respect to the line memory 1120 having the designated buffer number BNUM, and reads pixels from the line memory 1120 according to the address AD. The buffer reading unit 105 supplies each read pixel to the nozzle rows 130C, 130M, 130Y and 130K of the IJ head 13 via the head driving unit 1023 for each designated line memory 1120.

ここで、第1の実施形態に係る270°回転処理においては、第1変換部200は、第1メモリ210上の画像データ31kの左端の列からデータ「pL−qW」の読み出しを開始している。そのため、図12−3に色を変えて示されるように、第3メモリ111の右端からZ列(13列)が、無効画素が書き込まれる領域となる。したがって、図12−4に示されるように、バッファ番号BNUM「3」〜「15」で指定されるZ本(13本)の各ラインメモリ1120、1120、…に無効画素が書き込まれる(図中に色を変えて示す)。バッファ読み出し部105は、各ラインメモリ1120、1120、…からの画素の読み出しの際に、これら無効画素が書き込まれる各ラインメモリ1120のバッファ番号BNUM「3」〜「15」を指定しない。 Here, in the 270 ° rotation process according to the first embodiment, the first conversion unit 200 starts reading the data “pL−qW” from the leftmost column of the image data 31 k on the first memory 210. ing. Therefore, as shown in different colors in FIG. 12-3, the Z column (13 columns) from the right end of the third memory 111 is an area in which invalid pixels are written. Therefore, as shown in FIG. 12-4, invalid pixels are written in the Z (13) line memories 1120, 1120, ... Designated by the buffer numbers BNUM "3" to "15" (in the figure). Shown in different colors). The buffer reading unit 105 does not specify the buffer numbers BNUM "3" to "15" of each line memory 1120 in which these invalid pixels are written when reading the pixels from the line memories 1120, 1120, ....

図12−5は、読み出し部102から渡された、第1メモリ210から最後に読み出された処理ブロックに相当する各データ「304L−0W」〜「319L−0W」が第3メモリ111に書き込まれた様子を模式的に示す。図12−5の例では、第3メモリ111の左端の1列に、各データ「319L−0W」〜「304L−0W」における16個の画素#0がそれぞれ書き込まれる。この列の右隣の列は、各データ「319L−0W」〜「304L−0W」における16個の画素#1がそれぞれ書き込まれる。 In FIG. 12-5, the data “304L-0W” to “319L-0W” corresponding to the processing block last read from the first memory 210 passed from the reading unit 102 are written to the third memory 111. The state of the data is shown schematically. In the example of FIG. 12-5, 16 pixels # 0 in each data “319L-0W” to “304L-0W” are written in the leftmost column of the third memory 111, respectively. In the column to the right of this column, 16 pixels # 1 in each data "319L-0W" to "304L-0W" are written.

1つの処理ブロックに含まれる各データ「pL−qW」に含まれる各画素の第3メモリ111に対する書き込みが完了すると、第2変換部103は、第3メモリ111から、書き込まれた各画素を列毎に読み出してバッファ書き込み部104に渡す。 When the writing to the third memory 111 of each pixel included in each data "pL-qW" included in one processing block is completed, the second conversion unit 103 arranges the written pixels from the third memory 111. It is read out every time and passed to the buffer writing unit 104.

図12−6は、バッファメモリ1230にデータ「0L−0W」〜「319L−0W」が書き込まれた様子を模式的に示す。この例では、図12−5に示される第3メモリ111に書き込まれる全データ「304L−0W」〜「319L−0W」が、バッファメモリ1230において、図12−6に実線太枠により示す、4バイト幅の1列に書き込まれる。 FIG. 12-6 schematically shows how the data “0L-0W” to “319L-0W” are written in the buffer memory 1230. In this example, all the data "304L-0W" to "319L-0W" written in the third memory 111 shown in FIG. 12-5 are shown by the solid line thick frame in FIG. 12-6 in the buffer memory 1230. Written in one column of byte width.

また、バッファ書き込み部104は、図12−6に示されるように、第2変換部103から渡された、第3メモリ111の画素#0の列、画素#1の列、…、画素#15の列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「0」で指定される位置に書き込む。 Further, as shown in FIG. 12-6, the buffer writing unit 104 has a row of pixels # 0, a row of pixels # 1, ..., Pixels # 15 of the third memory 111 passed from the second conversion unit 103. Each pixel in the column is written to the position specified by the address AD "0" of each line memory 1120 specified by the buffer numbers BNUM "0" to "15" of the buffer memory 1230.

バッファ書き込み部104は、以降、上述した図12−4による説明と同様にして、アドレスADを昇順に指定して、バッファメモリ1230に対してアドレスAD「1」〜「15」に対する書き込みを実行する。これにより、第1メモリ210上の1スキャン分の画像データ31kにおける1列分の画像データがバッファメモリ1230に書き込まれる。 Hereinafter, the buffer writing unit 104 specifies the address AD in ascending order and executes writing to the address ADs "1" to "15" to the buffer memory 1230 in the same manner as described with reference to FIG. 12-4 described above. .. Thus, the image data for one column in the image data 31 k for one scan in the first memory 210 is written into the buffer memory 1230.

バッファ読み出し部105は、図12−6の矢印Eとして示されるように、各ラインメモリ1120をバッファ番号BNUMの降順に従い順次指定し、指定されたバッファ番号BNUMのラインメモリ1120に対して、アドレスADを昇順に指定し、当該ラインメモリ1120からアドレスADに従い画素を読み出す。バッファ読み出し部105は、読み出した各画素を、ヘッド駆動部1023を介して、IJヘッド13の各ノズル列130C、130M、130Yおよび130Kに、指定されたラインメモリ1120毎に供給する。 As shown by the arrow E in FIG. 12-6, the buffer reading unit 105 sequentially designates each line memory 1120 in descending order of the buffer number BNUM, and addresses AD with respect to the line memory 1120 of the designated buffer number BNUM. Is specified in ascending order, and pixels are read from the line memory 1120 according to the address AD. The buffer reading unit 105 supplies each read pixel to the nozzle rows 130C, 130M, 130Y and 130K of the IJ head 13 via the head driving unit 1023 for each designated line memory 1120.

バッファメモリ1230に書き込まれた全ての画素データの読み出しが完了すると、第1メモリ210上の1スキャン分の画像データ31kにおける、次の1列分(例えばデータ「0L−(n−1)W」、「1L−(n−1)W」、…の列)の画像データをバッファメモリ1230に書き込む処理が行われる。 When the reading of all the pixel data written in the buffer memory 1230 is completed, the image data 31 k for one scan in the first memory 210, the next one column (for example, data "0L- (n-1) W , "1L- (n-1) W", ...) Image data is written to the buffer memory 1230.

図12−1〜図12−6を用いて説明した処理を行うことで、図4(a)および図4(b)を用いて説明した、IJヘッド13の復路における、1スキャン分の画像データ311の270°回転が実現できる。 By performing the processing described with reference to FIGS. 12-1 to 12-6, the image data for one scan in the return path of the IJ head 13 described with reference to FIGS. 4 (a) and 4 (b). A 270 ° rotation of 31 1 can be realized.

図13は、第1の実施形態に係る、IJヘッド13の復路における270°回転処理を示す一例のフローチャートである。なお、図13のフローチャートにおいて、上述した図11のフローチャートと共通する部分には同一の符号を付して、詳細な説明を省略する。 FIG. 13 is a flowchart of an example showing the 270 ° rotation process in the return path of the IJ head 13 according to the first embodiment. In the flowchart of FIG. 13, the same reference numerals are given to the parts common to the flowchart of FIG. 11 described above, and detailed description thereof will be omitted.

図13において、ステップS100〜ステップS108の処理は、ステップS100の第1縦横変換処理における、第1変換部200による第1メモリ210からのデータの読み出し順以外は、図11の90°回転処理のステップS100〜ステップS108の処理と、略同様であるので、詳細な説明を省略する。 In FIG. 13, the processes of steps S100 to S108 are the 90 ° rotation processes of FIG. 11 except for the order of reading data from the first memory 210 by the first conversion unit 200 in the first vertical / horizontal conversion process of step S100. Since the process is substantially the same as the processes of steps S100 to S108, detailed description thereof will be omitted.

図13において、ステップS108でバッファ読み出しアドレスRADRの値が値「0」に初期化されると、処理がステップS120に移行される。ステップS120で、バッファ読み出し部105は、第1メモリ210上の画像データ31kにおいて現在処理対象としている列が、第1メモリ210上の後端列(読み出し処理を最初に行う列)であるか否かを判定する。 In FIG. 13, when the value of the buffer read address RADR is initialized to the value “0” in step S108, the process shifts to step S120. In step S120, whether the buffer read unit 105, the column being currently processed in the image data 31 k in the first memory 210, a rear row of the first memory 210 (columns performing the read process in the first) Judge whether or not.

バッファ読み出し部105は、後端列であると判定した場合(ステップS120、「Yes」)、処理をステップS121に移行させる。ステップS121で、バッファ読み出し部105は、バッファ番号BNUMの値を、無効画素数を考慮した値「B−Z−1」に初期化する。一方、バッファ読み出し部105は、現在処理対象としている列が後端列ではないと判定した場合(ステップS120、「No」)、処理をステップS122に移行させる。ステップS122で、バッファ読み出し部105は、バッファ番号BNUMを値「B−1」に初期化する。 When the buffer reading unit 105 determines that it is the rear end row (step S120, “Yes”), the buffer reading unit 105 shifts the process to step S121. In step S121, the buffer reading unit 105 initializes the value of the buffer number BNUM to the value "BZ-1" in consideration of the number of invalid pixels. On the other hand, when the buffer reading unit 105 determines that the column currently being processed is not the rear end row (step S120, “No”), the buffer reading unit 105 shifts the processing to step S122. In step S122, the buffer reading unit 105 initializes the buffer number BNUM to the value “B-1”.

バッファ読み出し部105は、ステップS121またはステップS122でバッファ番号BNUMを初期化すると、処理をステップS110に移行させる。ステップS110〜ステップS112の処理は、図11の90°回転処理のステップS110〜ステップS112の処理と、略同様である。 When the buffer number BNUM is initialized in step S121 or step S122, the buffer reading unit 105 shifts the process to step S110. The processing of steps S110 to S112 is substantially the same as the processing of steps S110 to S112 of the 90 ° rotation processing of FIG.

すなわち、バッファ読み出し部105は、ステップS110で、バッファメモリ1230に対して読み出しアドレスRADRと、バッファ番号BNUMとを指定し、読み出しアドレスRADRおよびバッファ番号BNUMに従い、バッファメモリ1230からデータを読み出す。バッファ読み出し部105は、次のステップS111で、読み出しアドレスRADRを1だけインクリメントし、次のステップS112で、読み出しアドレスRADRの値が値「Y/B−1」と一致するか否かを判定する。バッファ読み出し部105は、読み出しアドレスRADRの値が値「Y/B−1」と一致しないと判定した場合(ステップS112、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、読み出しアドレスRADRの値が値「Y/B−1」と一致すると判定した場合(ステップS112、「Yes」)、処理をステップS123に移行させる。 That is, in step S110, the buffer read unit 105 specifies the read address RADR and the buffer number BNUM for the buffer memory 1230, and reads data from the buffer memory 1230 according to the read address RADR and the buffer number BNUM. In the next step S111, the buffer reading unit 105 increments the read address RADR by 1, and in the next step S112, determines whether or not the value of the read address RADR matches the value “Y / B-1”. .. When the buffer reading unit 105 determines that the value of the reading address RADR does not match the value "Y / B-1" (step S112, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the value of the reading address RADR matches the value "Y / B-1" (step S112, "Yes"), the buffer reading unit 105 shifts the processing to step S123.

ステップS123で、バッファ読み出し部105は、バッファ番号BNUMを1だけデクリメントし、読み出しアドレスRADRを値「0」に初期化する。次のステップS124で、バッファ読み出し部105は、バッファ番号BNUMが値「0」であるか否かを判定する。バッファ読み出し部105は、バッファ番号BNUMが値「0」ではないと判定した場合(ステップS124、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、バッファ番号BNUMが値「0」であると判定した場合(ステップS124、「Yes」)、処理をステップS115に移行する。 In step S123, the buffer read unit 105 decrements the buffer number BNUM by 1 and initializes the read address RADR to the value "0". In the next step S124, the buffer reading unit 105 determines whether or not the buffer number BNUM has a value of "0". When the buffer reading unit 105 determines that the buffer number BNUM is not the value "0" (step S124, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the buffer number BNUM is the value "0" (step S124, "Yes"), the buffer reading unit 105 shifts the process to step S115.

ステップS115で、バッファ読み出し部105は、第1メモリ210上の画像データ31kにおける全列分の処理が完了したか否かを判定する。バッファ読み出し部105は、全列分の処理が完了したと判定した場合(ステップS115、「Yes」)、図13のフローチャートによる一連の処理を終了させる。また、バッファ読み出し部105は、全列分の処理が終了していないと判定した場合(ステップS115、「No」)、処理をステップS116に移行させ、第1変換部200に対して、第1メモリ210から画像データ31kの次の列の各データ「pL−qW」を読み出す指示を出す。バッファ読み出し部105は、ステップS116の処理後、処理をステップS100に戻す。 In step S115, the buffer reading unit 105 determines whether all columns worth of the image data 31 k in the first memory 210 is completed. When the buffer reading unit 105 determines that the processing for all columns has been completed (step S115, “Yes”), the buffer reading unit 105 ends a series of processing according to the flowchart of FIG. When the buffer reading unit 105 determines that the processing for all columns has not been completed (step S115, “No”), the buffer reading unit 105 shifts the processing to step S116, and causes the first conversion unit 200 to perform the first process. An instruction is given to read each data "pL-qW" in the next column of the image data 31 k from the memory 210. After the processing in step S116, the buffer reading unit 105 returns the processing to step S100.

図14は、第1の実施形態に係る90°および270°回転処理のタイミングの例を示すタイミングチャートである。図14(a)は、書き込み部101による第2メモリ110への書き込み、図14(b)は、読み出し部102による第2メモリ110からの読み出しのタイミングの例をそれぞれ示す。図14(c)は、第2変換部103による第3メモリ111への書き込みのタイミングの例を示す。また、図14(d)は、バッファ書き込み部104によるバッファメモリ1230への書き込み、図14(e)は、バッファ読み出し部105によるバッファメモリ1230からの読み出しのタイミングの例をそれぞれ示す。 FIG. 14 is a timing chart showing an example of the timing of the 90 ° and 270 ° rotation processing according to the first embodiment. FIG. 14A shows an example of the timing of writing to the second memory 110 by the writing unit 101, and FIG. 14B shows an example of the timing of reading from the second memory 110 by the reading unit 102. FIG. 14C shows an example of the timing of writing to the third memory 111 by the second conversion unit 103. 14 (d) shows an example of the timing of writing to the buffer memory 1230 by the buffer writing unit 104, and FIG. 14 (e) shows an example of the timing of reading from the buffer memory 1230 by the buffer reading unit 105.

第1メモリ210から第1変換部200が読み出した、1列目のデータ「pL−qW」の、書き込み部101による第2メモリ110への書き込みが完了すると(図14(a))、読み出し部102により、第2メモリ110から、書き込みが完了したデータ「pL−qW」が第2変換部103の処理ブロック(Aバイト×Bライン)毎に読み出される(図14(b))。第2変換部103は、読み出し部102により読み出された、第2変換部103の処理ブロック分(Aバイト×Bライン)のデータ「pL−qW」を、画素単位で行方向に従い第3メモリ111に書き込む(図14(c))。バッファ書き込み部104は、第3メモリ111への処理ブロック分の書き込みが完了すると、第3メモリ111から、列毎に画素を読み出す。バッファ書き込み部104は、第3メモリ111から列毎に読み出した画素を、バッファメモリ1230に含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む(図14(d))。 When the writing of the data "pL-qW" in the first column read from the first memory 210 to the second memory 110 by the writing unit 101 is completed (FIG. 14A), the reading unit From the second memory 110, the written data “pL−qW” is read out from the second memory 110 for each processing block (A byte × B line) of the second conversion unit 103 (FIG. 14 (b)). The second conversion unit 103 stores the data “pL−qW” of the processing block (A byte × B line) of the second conversion unit 103 read by the reading unit 102 in pixel units according to the row direction in the third memory. Write to 111 (FIG. 14 (c)). When the writing of the processing block to the third memory 111 is completed, the buffer writing unit 104 reads the pixels from the third memory 111 for each column. The buffer writing unit 104 writes the pixels read from the third memory 111 for each column into the line memory 1120 of the buffer number BNUM corresponding to the columns included in the buffer memory 1230 (FIG. 14 (d)).

この、図14(b)〜図14(d)の処理を、Y/B回繰り返すことで、図14(a)に示した、第2メモリ110に対して書き込まれた1列目のデータ「pL−qW」のバッファメモリ1230への書き込みが完了する。バッファメモリ1230への1列目のデータ「pL−qW」の書き込みが完了すると、第1メモリ210から第1変換部200が読み出した2列目のデータ「pL−qW」の、第2メモリ110への書き込みが開始される(図14(a))。 By repeating the process of FIGS. 14 (b) to 14 (d) Y / B times, the data of the first column written to the second memory 110 shown in FIG. 14 (a) " Writing of "pL-qW" to the buffer memory 1230 is completed. When the writing of the first column data "pL-qW" to the buffer memory 1230 is completed, the second memory 110 of the second column data "pL-qW" read from the first memory 210 by the first conversion unit 200. Writing to is started (FIG. 14 (a)).

また、バッファメモリ1230への1列目のデータ「pL−qW」の書き込みが完了すると、2列目のデータ「pL−qW」の第2メモリ110への書き込みと並行して、バッファメモリ1230からのデータの読み出しが開始される(図14(e))。バッファ読み出し部105は、読み出しアドレスRADRをインクリメントしながら指定したバッファ番号BNUMのラインメモリ1120からデータを読み出す。バッファ読み出し部105は、バッファ番号BNUM「0」〜「15」の各ラインメモリ1120について、画像の回転方向に従った順序でデータを読み出す。バッファ読み出し部105は、第2メモリ110に書き込まれた1列目のデータのバッファメモリ1230からの読み出しを、第2メモリ110に対する2列目のデータ「pL−qW」の書き込みが完了するまでの期間に完了させる。 Further, when the writing of the data "pL-qW" in the first column to the buffer memory 1230 is completed, the data "pL-qW" in the second column is written from the buffer memory 1230 in parallel with the writing to the second memory 110. The reading of the data of (FIG. 14 (e)) is started. The buffer read unit 105 reads data from the line memory 1120 of the specified buffer number BNUM while incrementing the read address RADR. The buffer reading unit 105 reads data from each line memory 1120 of the buffer numbers BNUM "0" to "15" in the order according to the rotation direction of the image. The buffer reading unit 105 reads the data in the first column written in the second memory 110 from the buffer memory 1230 until the writing of the data “pL−qW” in the second column to the second memory 110 is completed. Complete in the period.

以上の処理が、第1メモリ210上の画像データ31kの全列分の処理が完了するまで繰り返される。 The above processing is repeated until the processing of all columns of image data 31 k in the first memory 210 is completed.

(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、90°回転処理と270°回転処理とで、第1メモリ210からのデータの読み出し順を異ならせ、第2メモリ110からのデータの読み出し順を共通としていた。これに対して、第2の実施形態では、90°回転処理と270°回転処理とで、第1メモリ210からのデータ読み出し順を共通とし、第2メモリ110からのデータの読み出し順を異ならせる。
(Second embodiment)
Next, the second embodiment will be described. In the first embodiment described above, the 90 ° rotation process and the 270 ° rotation process have different reading orders of data from the first memory 210, and the reading order of data from the second memory 110 is common. On the other hand, in the second embodiment, the 90 ° rotation process and the 270 ° rotation process have the same data read order from the first memory 210 and different data read orders from the second memory 110. ..

なお、第2の実施形態では、第1の実施形態で説明した画像形成システム1、ホストPC20およびプリンタ10の構成および機能をそのまま適用できる。また、第2の実施形態において、90°回転処理は、第1の実施形態で説明した90°回転処理と同一なので、ここでの説明を省略する。 In the second embodiment, the configurations and functions of the image forming system 1, the host PC 20 and the printer 10 described in the first embodiment can be applied as they are. Further, in the second embodiment, the 90 ° rotation process is the same as the 90 ° rotation process described in the first embodiment, and thus the description thereof will be omitted here.

図15−1〜図15−6、および、図16を用いて、第2の実施形態に係る、IJヘッド13の復路における270°回転処理について説明する。 The 270 ° rotation process in the return path of the IJ head 13 according to the second embodiment will be described with reference to FIGS. 15-1 to 15-6 and FIG.

図15−1は、印刷対象の画像データ30における、1スキャン分の画像データ31kが第1メモリ210に書き込まれた様子を模式的に示す。この図15−1(a)、図15−1(b)および図15−1(c)に示す各データ「pL−qW」の配置、ならびに、ラインの先頭側および後端側の画素の配置は、上述した図10−1(a)、図10−1(b)および図10−1(c)と同一であるので、ここでの説明を省略する。 Figure 15-1, the image data 30 to be printed, showing how the image data 31 k for one scan is written to the first memory 210 schematically. Arrangement of each data "pL-qW" shown in FIGS. 15-1 (a), 15-1 (b) and 15-1 (c), and arrangement of pixels on the front end side and the rear end side of the line. Is the same as FIGS. 10-1 (a), 10-1 (b) and 10-1 (c) described above, and thus the description thereof will be omitted here.

さらに、第2の実施形態では、第1変換部200による、第1メモリ210からの画像データ31kの読み出し、および、第1変換部200に読み出された各データ「pL−qW」の書き込み部101による第2メモリ110への書き込み処理は、上述した第1の実施形態における90°回転処理の場合と同一である。図15−2は、書き込み部101により第2メモリ110に各データ「pL−qW」が書き込まれた様子を模式的に示す。 Furthermore, writing in the second embodiment, by the first conversion unit 200 reads the image data 31 k from the first memory 210, and, each data read to the first conversion unit 200, "pL-QW" The writing process to the second memory 110 by the unit 101 is the same as the case of the 90 ° rotation processing in the first embodiment described above. FIG. 15-2 schematically shows how each data “pL−qW” is written to the second memory 110 by the writing unit 101.

第2メモリ110に書き込まれた各データ「pL−qW」は、読み出し部102に読み出されて第2変換部103に渡される。第2の実施形態では、読み出し部102は、第2メモリ110上の各データ「pL−qW」を、左下のデータ「319L−nW」からバーストアクセスにより順次読み出し、第2変換部103の処理ブロック分のデータ「pL−qW」を第2変換部103に渡す。 Each data "pL-qW" written in the second memory 110 is read by the reading unit 102 and passed to the second conversion unit 103. In the second embodiment, the reading unit 102 sequentially reads each data "pL-qW" on the second memory 110 from the lower left data "319L-nW" by burst access, and the processing block of the second conversion unit 103. The minute data "pL-qW" is passed to the second conversion unit 103.

図15−1(c)および図15−2において、第1メモリ210から最初に読み出された、1つの処理ブロックに相当するデータ「319L−nW」〜「304L−nW」を、実線太枠により示している。読み出し部101は、これらデータ「319L−nW」〜「304L−nW」をバーストアクセスにより読み出して、第2変換部103に渡す。 In FIGS. 15-1 (c) and 15-2, the data "319L-nW" to "304L-nW" corresponding to one processing block first read from the first memory 210 are shown in a solid thick frame. Is shown by. The reading unit 101 reads these data "319L-nW" to "304L-nW" by burst access and passes them to the second conversion unit 103.

第2変換部103は、読み出し部102から渡された処理ブロック分のデータ「pL−qW」を第3メモリ111に書き込む。図15−3は、読み出し部102から渡された、第2メモリ110から最初に読み出された、処理ブロックに相当する各データ「319L−nW」〜「304L−nW」が第3メモリ111に書き込まれた様子を模式的に示す。図15−3の例では、第3メモリ111の左端の1列に、各データ「319L−nW」〜「304L−nW」における16個の画素#0がそれぞれ書き込まれる。この列の右隣の列は、各データ「319L−nW」〜「304L−nW」における16個の画素#1がそれぞれ書き込まれる。 The second conversion unit 103 writes the data “pL−qW” for the processing block passed from the read unit 102 to the third memory 111. In FIG. 15-3, the data “319L-nW” to “304L-nW” corresponding to the processing blocks first read from the second memory 110 passed from the reading unit 102 are transferred to the third memory 111. The state of writing is schematically shown. In the example of FIG. 15-3, 16 pixels # 0 in each data “319L-nW” to “304L-nW” are written in the leftmost column of the third memory 111, respectively. In the column to the right of this column, 16 pixels # 1 in each data "319L-nW" to "304L-nW" are written.

1つの処理ブロックに含まれる各データ「pL−qW」に含まれる各画素の第3メモリ111に対する書き込みが完了すると、第2変換部103は、第3メモリ111から、書き込まれた各画素を列毎に読み出してバッファ書き込み部104に渡す。 When the writing to the third memory 111 of each pixel included in each data "pL-qW" included in one processing block is completed, the second conversion unit 103 arranges the written pixels from the third memory 111. It is read out every time and passed to the buffer writing unit 104.

図15−4は、バッファメモリ1230にデータ「319L−nW」〜「0L−nW」が書き込まれた様子を模式的に示す。この例では、図15−3に示される第3メモリ111に書き込まれる全データ「319L−nW」〜「304L−nW」が、バッファメモリ1230において、図15−4に実線太枠により示す、4バイト幅の1列に書き込まれる。 FIG. 15-4 schematically shows how the data “319L-nW” to “0L-nW” are written in the buffer memory 1230. In this example, all the data "319L-nW" to "304L-nW" written in the third memory 111 shown in FIG. 15-3 are shown in the buffer memory 1230 by a solid line thick frame in FIG. Written in one column of byte width.

また、バッファ書き込み部104は、図15−4に示されるように、上述した90°回転処理の場合と同様にして、第2変換部103から渡された、第3メモリ111の画素#0の列、画素#1の列、…、画素#15の列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「0」で指定される位置に書き込む。 Further, as shown in FIG. 15-4, the buffer writing unit 104 is the pixel # 0 of the third memory 111 passed from the second conversion unit 103 in the same manner as in the case of the 90 ° rotation processing described above. Address AD "0" of each line memory 1120 designated by the buffer numbers BNUM "0" to "15" of the buffer memory 1230 for each pixel of the column, the column of the pixel # 1, ..., The column of the pixel # 15. Write to the position specified by.

バッファ書き込み部104は、以降、上述した90°回転処理の場合と同様にして、バッファメモリ1230に対して昇順にアドレスADを指定する。バッファ書き込み部104は、第2変換部103から渡された第3メモリ111の画素#0〜#15の各列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「1」で指定される位置に書き込む。この処理をY/B回、すなわち20回繰り返すことで、第1メモリ210上の1スキャン分の画像データ31kにおける、後端の1列分の画像データがバッファメモリ1230に書き込まれる。 Hereinafter, the buffer writing unit 104 designates the address AD with respect to the buffer memory 1230 in ascending order in the same manner as in the case of the 90 ° rotation processing described above. The buffer writing unit 104 sets each pixel in each column of pixels # 0 to # 15 of the third memory 111 passed from the second conversion unit 103 by the buffer numbers BNUM "0" to "15" of the buffer memory 1230, respectively. Write to the position specified by the address AD "1" in each designated line memory 1120. The process of Y / B times, i.e. by repeating 20 times, the image data 31 k for one scan in the first memory 210, the image data for one column of the rear end is written into the buffer memory 1230.

バッファ読み出し部105は、図15−4の矢印Fとして示されるように、各ラインメモリ1120をバッファ番号BNUMの降順に従い順次指定する。バッファ読み出し部105は、指定されたバッファ番号BNUMのラインメモリ1120に対して、バッファメモリ1230のアドレスを示すアドレスADを降順に指定し、当該ラインメモリ1120からアドレスADに従い画素を読み出す。 The buffer reading unit 105 sequentially designates each line memory 1120 in descending order of the buffer number BNUM, as shown by an arrow F in FIG. 15-4. The buffer reading unit 105 designates an address AD indicating the address of the buffer memory 1230 in descending order with respect to the line memory 1120 having the designated buffer number BNUM, and reads pixels from the line memory 1120 according to the address AD.

すなわち、第2の実施形態では、各ラインメモリ1120のアドレスAD「0」には、画像データ31kの第319ライン〜第304ラインのデータが書き込まれ、アドレスAD「15」には、画像データ31kの第15ライン〜第0ラインのデータが書き込まれる。270°回転処理では、第0ライン〜第15ラインのデータが先に必要となるため、アドレスADを降順で指定する。 That is, in the second embodiment, the address AD "0" of each line memory 1120, the data of the 319 line to the 304 line image data 31 k is written, the address AD "15", the image data The data of the 15th line to the 0th line of 31 k is written. In the 270 ° rotation process, the data of the 0th line to the 15th line is required first, so the address AD is specified in descending order.

バッファ読み出し部105は、読み出した各画素を、ヘッド駆動部1023を介して、IJヘッド13の各ノズル列130C、130M、130Yおよび130Kに、指定されたラインメモリ1120毎に供給する。 The buffer reading unit 105 supplies each read pixel to the nozzle rows 130C, 130M, 130Y and 130K of the IJ head 13 via the head driving unit 1023 for each designated line memory 1120.

ここで、第2の実施形態に係る270°回転処理においては、読み出し部102は、第2メモリ110からのデータ「pL−qW」の読み出しを、第1メモリ210上の画像データ31kの右下隅のデータに対応するデータ「319LーnW」から開始している。そのため、図15−3に色を変えて示されるように、第3メモリ111の右端からZ列(13列)が、無効画素が書き込まれる領域となる。 Here, in the 270 ° rotation processing according to the second embodiment, the read unit 102, the read data "pL-QW" from the second memory 110, the right image data 31 k in the first memory 210 It starts from the data "319L-nW" corresponding to the data in the lower corner. Therefore, as shown in different colors in FIG. 15-3, the Z column (13 columns) from the right end of the third memory 111 is an area in which invalid pixels are written.

したがって、図15−4に示されるように、バッファ番号BNUM「3」〜「15」で指定されるZ本(13本)の各ラインメモリ1120、1120、…に無効画素が書き込まれる(図中に色を変えて示す)。バッファ読み出し部105は、各ラインメモリ1120、1120、…からの画素の読み出しの際に、これら無効画素が書き込まれる各ラインメモリ1120のバッファ番号BNUM「3」〜「15」を指定しない。 Therefore, as shown in FIG. 15-4, invalid pixels are written in the Z (13) line memories 1120, 1120, ... Designated by the buffer numbers BNUM "3" to "15" (in the figure). Shown in different colors). The buffer reading unit 105 does not specify the buffer numbers BNUM "3" to "15" of each line memory 1120 in which these invalid pixels are written when reading the pixels from the line memories 1120, 1120, ....

図15−5は、読み出し部102から渡された、第2メモリ110から最後に読み出された処理ブロックに相当する各データ「15L−0W」〜「0L−0W」が第3メモリ111に書き込まれた様子を模式的に示す。図15−5の例では、第3メモリ111の左端の1列に、各データ「15L−0W」〜「0L−0W」における16個の画素#0がそれぞれ書き込まれる。この列の右隣の列は、各データ「15L−0W」〜「0L−0W」における16個の画素#1がそれぞれ書き込まれる。 In FIG. 15-5, the data “15L-0W” to “0L-0W” corresponding to the processing block last read from the second memory 110 passed from the reading unit 102 are written to the third memory 111. The state of the data is shown schematically. In the example of FIG. 15-5, 16 pixels # 0 in each data “15L-0W” to “0L-0W” are written in the leftmost column of the third memory 111, respectively. In the column to the right of this column, 16 pixels # 1 in each data "15L-0W" to "0L-0W" are written.

1つの処理ブロックに含まれる各データ「pL−qW」に含まれる各画素の第3メモリ111に対する書き込みが完了すると、第2変換部103は、第3メモリ111から、書き込まれた各画素を列毎に読み出してバッファ書き込み部104に渡す。 When the writing to the third memory 111 of each pixel included in each data "pL-qW" included in one processing block is completed, the second conversion unit 103 arranges the written pixels from the third memory 111. It is read out every time and passed to the buffer writing unit 104.

図15−6は、バッファメモリ1230にデータ「0L−0W」〜「319L−0W」が書き込まれた様子を模式的に示す。この例では、図15−5に示される第3メモリ111に書き込まれる全データ「15L−0W」〜「0L−0W」が、バッファメモリ1230において、図15−6に実線太枠により示す、4バイト幅の1列に書き込まれる。 FIG. 15-6 schematically shows how the data “0L-0W” to “319L-0W” are written in the buffer memory 1230. In this example, all the data "15L-0W" to "0L-0W" written in the third memory 111 shown in FIG. 15-5 are shown in the buffer memory 1230 by a solid line thick frame in FIG. Written in one column of byte width.

また、バッファ書き込み部104は、図15−6に示されるように、第2変換部103から渡された、第3メモリ111の画素#0の列、画素#1の列、…、画素#15の列の各画素を、バッファメモリ1230のバッファ番号BNUM「0」〜「15」でそれぞれ指定される各ラインメモリ1120の、アドレスAD「0」で指定される位置に書き込む。 Further, as shown in FIG. 15-6, the buffer writing unit 104 has a row of pixels # 0, a row of pixels # 1, ..., Pixels # 15 of the third memory 111 passed from the second conversion unit 103. Each pixel in the column is written to the position specified by the address AD "0" of each line memory 1120 specified by the buffer numbers BNUM "0" to "15" of the buffer memory 1230.

バッファ書き込み部104は、以降、上述した図15−4による説明と同様にして、バッファメモリ1230に対してアドレスAD「1」〜「15」に対する書き込みを実行する。これにより、第1メモリ210上の1スキャン分の画像データ31kにおける1列分の画像データがバッファメモリ1230に書き込まれる。 Hereinafter, the buffer writing unit 104 executes writing to the addresses AD “1” to “15” to the buffer memory 1230 in the same manner as described with reference to FIG. 15-4 described above. Thus, the image data for one column in the image data 31 k for one scan in the first memory 210 is written into the buffer memory 1230.

バッファ読み出し部105は、図15−6の矢印Fとして示されるように、各ラインメモリ1120をバッファ番号BNUMの降順に従い順次指定する。バッファ読み出し部105は、指定されたバッファ番号BNUMのラインメモリ1120に対して、バッファメモリ1230のアドレスを示すアドレスADを降順に指定し、当該ラインメモリ1120からアドレスADに従い画素を読み出す。 The buffer reading unit 105 sequentially designates each line memory 1120 in descending order of the buffer number BNUM, as shown by an arrow F in FIG. 15-6. The buffer reading unit 105 designates an address AD indicating the address of the buffer memory 1230 in descending order with respect to the line memory 1120 having the designated buffer number BNUM, and reads pixels from the line memory 1120 according to the address AD.

バッファ読み出し部105は、読み出した各画素を、ヘッド駆動部1023を介して、IJヘッド13の各ノズル列130C、130M、130Yおよび130Kに、指定されたラインメモリ1120毎に供給する。 The buffer reading unit 105 supplies each read pixel to the nozzle rows 130C, 130M, 130Y and 130K of the IJ head 13 via the head driving unit 1023 for each designated line memory 1120.

図16は、第2の実施形態に係る270°回転処理を示す一例のフローチャートである。なお、図16のフローチャートにおいて、上述した図11および図13のフローチャートと共通する部分には同一の符号を付して、詳細な説明を省略する。 FIG. 16 is a flowchart of an example showing the 270 ° rotation process according to the second embodiment. In the flowchart of FIG. 16, the same reference numerals are given to the parts common to the flowcharts of FIGS. 11 and 13 described above, and detailed description thereof will be omitted.

図16において、ステップS100で、第1変換部200は、第1メモリ210に書き込まれた、1スキャン分の画像データ31kに対して第1の縦横変換処理を施す。すなわち、第1変換部200は、第1メモリ210に書き込まれた1スキャン分の画像データ31kを、処理単位毎に、左下から上方向に向けて読み出す。第1変換部200により第1メモリから読み出されたデータは、ホストPC20からプリンタ10に送信され、書き込み部101により、第2メモリ110の連続するアドレスに順次書き込まれる。 In FIG. 16, in step S100, the first conversion unit 200 performs the first vertical / horizontal conversion process on the image data 31k for one scan written in the first memory 210. That is, the first conversion unit 200, the image data 31 k for one scan written in the first memory 210, for each processing unit, reads out toward upward from the lower left. The data read from the first memory by the first conversion unit 200 is transmitted from the host PC 20 to the printer 10, and is sequentially written by the writing unit 101 to the continuous addresses of the second memory 110.

次のステップS130で、第1変換部200は、画像データ31kの全列分(Aバイト×Yライン×X/16)の処理が完了したか否か、すなわち、第1メモリ210からの読み出しと、第2メモリ110への書き込みとが完了したか否かを判定する。第1変換部200は、完了していないと判定した場合(ステップS130、「No」)、処理をステップS100に戻し、画像データ31kの次の列について処理を行う。一方、第1変換部200は、画像データ31kの全列分の処理が完了したと判定した場合(ステップS130、「Yes」)、処理をステップS102に移行する。 In the next step S130, the first conversion unit 200 determines whether or not the processing of all columns (A bytes × Y lines × X / 16) of the image data 31k is completed, that is, reads from the first memory 210. And, it is determined whether or not the writing to the second memory 110 is completed. When the first conversion unit 200 determines that the process has not been completed (step S130, “No”), the process returns to step S100, and the process is performed on the next column of the image data 31 k. On the other hand, when the first conversion unit 200 determines that the processing for all the columns of the image data 31k is completed (step S130, “Yes”), the first conversion unit 200 shifts the processing to step S102.

ステップS102〜ステップS107の処理は、上述した図13のフローチャートにおけるステップS102〜ステップS107の処理と略同様であるので、詳細な説明を省略する。なお、ステップS104の第2縦横変換処理は、第2変換部103により、第2メモリ110の左下からデータの読み出しを開始し、右上にてデータの読み出しが完了する処理となる。 Since the processing of steps S102 to S107 is substantially the same as the processing of steps S102 to S107 in the flowchart of FIG. 13 described above, detailed description thereof will be omitted. The second vertical / horizontal conversion process in step S104 is a process in which the second conversion unit 103 starts reading data from the lower left of the second memory 110 and completes reading the data at the upper right.

図16において、バッファ書き込み部104は、ステップS107で、処理がY/B回繰り返されたと判定した場合(ステップS107、「Yes」)、処理をステップS131に移行させる。ステップS131で、バッファ読み出し部105は、バッファメモリ1230の読み出しアドレスRADRを値「B−1」に初期化する。 In FIG. 16, when the buffer writing unit 104 determines in step S107 that the process has been repeated Y / B times (step S107, “Yes”), the buffer writing unit 104 shifts the process to step S131. In step S131, the buffer read unit 105 initializes the read address RADR of the buffer memory 1230 to the value “B-1”.

次のステップS120で、バッファ読み出し部105は、第1メモリ210上の画像データ31kにおいて現在処理対象としている列が、第1メモリ210上の後端列(読み出し処理を最初に行う列)であるか否かを判定する。バッファ読み出し部105は、後端列であると判定した場合(ステップS120、「Yes」)、処理をステップS121に移行させ、バッファ番号BNUMの値を値「B−Z−1」に初期化する。一方、バッファ読み出し部105は、現在処理対象としている列が後端列ではないと判定した場合(ステップS120、「No」)、処理をステップS122に移行させ、バッファ番号BNUMを値「B−1」に初期化する。 In the next step S120, the buffer reading unit 105, the column being currently processed in the image data 31 k in the first memory 210, at the rear end column on the first memory 210 (columns performing the read process in the first) Determine if it exists. When the buffer reading unit 105 determines that it is the rear end row (step S120, “Yes”), the process shifts to step S121, and the value of the buffer number BNUM is initialized to the value “BZ-1”. .. On the other hand, when the buffer reading unit 105 determines that the column currently being processed is not the rearmost column (step S120, “No”), the processing is shifted to step S122, and the buffer number BNUM is set to the value “B-1”. Initialize to.

バッファ読み出し部105は、ステップS121またはステップS122でバッファ番号BNUMを初期化すると、処理をステップS110に移行させる。ステップS110で、バッファ読み出し部105は、バッファメモリ1230に対して読み出しアドレスRADRと、バッファ番号BNUMとを指定し、バッファメモリ1230に含まれる各ラインメモリ1120のうち、バッファ番号BNUMで指定されるラインメモリ1120の、読み出しアドレスRADRで指定する位置からデータを読み出す。バッファ読み出し部105は、データの読み出しを行うと、処理をステップS132に移行させる。 When the buffer number BNUM is initialized in step S121 or step S122, the buffer reading unit 105 shifts the process to step S110. In step S110, the buffer read unit 105 designates the read address RADR and the buffer number BNUM for the buffer memory 1230, and among the line memories 1120 included in the buffer memory 1230, the line designated by the buffer number BNUM. Data is read from the position specified by the read address RADR in the memory 1120. When the buffer reading unit 105 reads the data, the process shifts to step S132.

ステップS132で、バッファ読み出し部105は、読み出しアドレスRADRを1だけデクリメントする。次のステップS133で、バッファ読み出し部105は、読み出しアドレスRADRの値が値「0」であるか否かを判定する。バッファ読み出し部105は、読み出しアドレスRADRの値が値「0」ではないと判定した場合(ステップS133、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、読み出しアドレスRADRの値が値「0」であると判定した場合(ステップS133、「Yes」)、処理をステップS134に移行させる。 In step S132, the buffer read unit 105 decrements the read address RADR by one. In the next step S133, the buffer reading unit 105 determines whether or not the value of the reading address RADR is the value "0". When the buffer reading unit 105 determines that the value of the reading address RADR is not the value "0" (step S133, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the value of the read address RADR is the value "0" (step S133, "Yes"), the buffer reading unit 105 shifts the process to step S134.

ステップS134で、バッファ読み出し部105は、バッファ番号BNUMを1だけデクリメントし、読み出しアドレスRADRを値「B−1」に初期化する。 In step S134, the buffer read unit 105 decrements the buffer number BNUM by 1 and initializes the read address RADR to the value “B-1”.

次のステップS124で、バッファ読み出し部105は、バッファ番号BNUMが値「0」であるか否かを判定する。バッファ読み出し部105は、バッファ番号BNUMが値「0」ではないと判定した場合(ステップS124、「No」)、処理をステップS110に戻す。一方、バッファ読み出し部105は、バッファ番号BNUMが値「0」であると判定した場合(ステップS124、「Yes」)、処理をステップS115に移行する。 In the next step S124, the buffer reading unit 105 determines whether or not the buffer number BNUM has a value of "0". When the buffer reading unit 105 determines that the buffer number BNUM is not the value "0" (step S124, "No"), the buffer reading unit 105 returns the process to step S110. On the other hand, when the buffer reading unit 105 determines that the buffer number BNUM is the value "0" (step S124, "Yes"), the buffer reading unit 105 shifts the process to step S115.

ステップS115で、バッファ読み出し部105は、第1メモリ210上の画像データ31kにおける全列分の処理が完了したか否かを判定する。バッファ読み出し部105は、全列分の処理が完了したと判定した場合(ステップS115、「Yes」)、図16のフローチャートによる一連の処理を終了させる。 In step S115, the buffer reading unit 105 determines whether all columns worth of the image data 31 k in the first memory 210 is completed. When the buffer reading unit 105 determines that the processing for all columns has been completed (step S115, “Yes”), the buffer reading unit 105 ends a series of processing according to the flowchart of FIG.

一方、バッファ読み出し部105は、全列分の処理が終了していないと判定した場合(ステップS115、「No」)、処理をステップS135に移行させ、第2変換部103に対して、第2メモリ110から次の行の各データ「pL−qW」を読み出す指示を出す。バッファ読み出し部105は、ステップS135の処理後、処理をステップS102に戻す。 On the other hand, when the buffer reading unit 105 determines that the processing for all columns has not been completed (step S115, “No”), the buffer reading unit 105 shifts the processing to step S135 and causes the second conversion unit 103 to perform a second process. An instruction is given to read each data "pL-qW" in the next line from the memory 110. After the processing in step S135, the buffer reading unit 105 returns the processing to step S102.

なお、第2の実施形態において、各処理のタイミングは、第1の実施形態において図14を用いて説明したタイミングを適用できるので、ここでの説明を省略する。 In the second embodiment, the timing of each process can be applied to the timing described with reference to FIG. 14 in the first embodiment, and thus the description thereof will be omitted here.

上述したように、第2の実施形態では、90°回転処理と、270°回転処理とで、第1変換部200の処理内容を変える必要が無い。そのため、IJヘッド13の往路および復路において、ホストPC20側では同じ処理を実行し、プリンタ10側で90°回転処理および270°回転処理のうち何れを実行するかを決定できる。 As described above, in the second embodiment, it is not necessary to change the processing content of the first conversion unit 200 between the 90 ° rotation processing and the 270 ° rotation processing. Therefore, in the outward path and the return path of the IJ head 13, the same process can be executed on the host PC 20 side, and it can be determined which of the 90 ° rotation process and the 270 ° rotation process is executed on the printer 10 side.

なお、第2の実施形態に係る270°回転処理は、第1メモリ210から最後に読み出される列のデータを、第2変換部103において最初に処理している。一方、第1の実施形態に係る270°回転処理では、第1メモリ210から最初に読み出される列のデータを、第2変換部103において最初に処理している。そのため、処理速度については、第1の実施形態による270°回転処理の方が有利である。 In the 270 ° rotation process according to the second embodiment, the second conversion unit 103 first processes the data of the column finally read from the first memory 210. On the other hand, in the 270 ° rotation process according to the first embodiment, the second conversion unit 103 first processes the data of the column first read from the first memory 210. Therefore, regarding the processing speed, the 270 ° rotation processing according to the first embodiment is more advantageous.

また、第2の実施形態に係る270°回転処理では、第1メモリ210から最後に読み出される列のデータを、第2変換部103において最初に処理するため、第2メモリ110は、少なくとも1スキャン分の画像データ31kを記憶可能な容量を必要とする。一方、第1の実施形態に係る270°回転処理では、第1メモリ210から最初に読み出される列のデータを、第2変換部103において最初に処理しているため、第2メモリ110は、少なくとも画像データ31kの第1メモリ210における1列分のデータを記憶可能な容量を持てば良く、メモリ容量の点で、有利である。 Further, in the 270 ° rotation process according to the second embodiment, since the data of the column finally read from the first memory 210 is processed first by the second conversion unit 103, the second memory 110 scans at least one scan. It requires a capacity that can store 31 k of image data for a minute. On the other hand, in the 270 ° rotation process according to the first embodiment, since the data of the column first read from the first memory 210 is processed first by the second conversion unit 103, the second memory 110 is at least It suffices to have a capacity capable of storing one column of data in the first memory 210 of the image data 31 k, which is advantageous in terms of memory capacity.

(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、上述した第1の実施形態に係るプリンタ10の変換部1022において、バッファメモリ1230を2つ設け、この2つのバッファメモリ1230をトグルで切り替えるようにしたものである。
(Third Embodiment)
Next, a third embodiment will be described. In the third embodiment, the conversion unit 1022 of the printer 10 according to the first embodiment described above is provided with two buffer memories 1230, and the two buffer memories 1230 are toggled.

図17は、第3の実施形態に係る変換部1022’の一例の構成を示す。なお、図17において、上述した図8と共通する部分には同一の符号を付して、詳細な説明を省略する。 FIG. 17 shows the configuration of an example of the conversion unit 1022'according to the third embodiment. In FIG. 17, the same reference numerals are given to the parts common to those in FIG. 8 described above, and detailed description thereof will be omitted.

図17において、変換部1022’は、図8の変換部1022と比較して、2つのバッファメモリ1230aおよび1230bと、これらバッファメモリ1230aおよび1230bを切り替えるための切替部1232aおよび1232bと、を含む点が異なる。バッファメモリ1230aおよび1230bは、それぞれ図9−1、図9−2に示したバッファメモリ1230と同一の構成を有する。なお、図17において、バッファメモリ1230aおよび1230bは、それぞれバッファメモリ#1、バッファメモリ#2としても示されている。 In FIG. 17, the conversion unit 1022'contains two buffer memories 1230a and 1230b and switching units 1232a and 1232b for switching between the buffer memories 1230a and 1230b, as compared with the conversion unit 1022 of FIG. Is different. The buffer memories 1230a and 1230b have the same configuration as the buffer memories 1230 shown in FIGS. 9-1 and 9-2, respectively. In FIG. 17, the buffer memories 1230a and 1230b are also shown as buffer memory # 1 and buffer memory # 2, respectively.

また、バッファ制御部1231’は、図8のバッファ制御部1231の機能、すなわち、図9−1、図9−2のバッファ書き込み部104およびバッファ読み出し部105の機能に加え、切替部1232aおよび1232bを制御する機能を含む。バッファ制御部1231’は、バッファメモリ1232aおよび1232bのうち一方に書き込みが行われている期間は、他方からの読み出しが可能なように、切替部1232aおよび1232bをトグルで切り替える。 Further, the buffer control unit 1231'in addition to the functions of the buffer control unit 1231 of FIG. 8, that is, the functions of the buffer writing unit 104 and the buffer reading unit 105 of FIGS. 9-1 and 9-2, the switching units 1232a and 1232b. Includes the ability to control. The buffer control unit 1231'switches the switching units 1232a and 1232b by a toggle so that the buffer memories 1232a and 1232b can be read from the other during the period when writing is performed to one of the buffer memories 1232a and 1232b.

図18は、第3の実施形態に係る90°および270°回転処理のタイミングの例を示すタイミングチャートである。図18(a)〜図18(c)は、それぞれ上述した図14(a)〜図14(c)と同様、書き込み部101による第2メモリ110への書き込み、読み出し部102による第2メモリ110からの読み出し、第2変換部103による第3メモリ111への書き込みのタイミングの例をそれぞれ示す。 FIG. 18 is a timing chart showing an example of the timing of the 90 ° and 270 ° rotation processing according to the third embodiment. 18 (a) to 18 (c) are the same as those in FIGS. 14 (a) to 14 (c) described above, in which the writing unit 101 writes to the second memory 110 and the reading unit 102 writes to the second memory 110. An example of the timing of reading from and writing to the third memory 111 by the second conversion unit 103 is shown.

また、図18(d)は、バッファ制御部1231’によるバッファメモリ1230aおよび1230bへの書き込みのタイミングの例、図18(e)は、バッファ制御部1231’によるバッファメモリ1230aおよび1230bからの読み出しのタイミングの例をそれぞれ示す。なお、図18(d)および図18(e)において、バッファメモリ1230aをバッファ#1、バッファメモリ1230bをバッファ#2としてそれぞれ示している。 Further, FIG. 18 (d) shows an example of the timing of writing to the buffer memories 1230a and 1230b by the buffer control unit 1231', and FIG. 18 (e) shows reading from the buffer memories 1230a and 1230b by the buffer control unit 1231'. Examples of timing are shown respectively. In FIGS. 18 (d) and 18 (e), the buffer memory 1230a is shown as the buffer # 1, and the buffer memory 1230b is shown as the buffer # 2, respectively.

第1メモリ210から第1変換部200が読み出した、1列目のデータ「pL−qW」の、書き込み部101による第2メモリ110への書き込みが完了する(図18(a))。読み出し部102は、この1列目のデータ「pL−qW」の第2メモリ110への書き込みが完了した後の時点t1において、第2メモリ110から、書き込みが完了した1列目のデータ「pL−qW」の第2変換部103の処理ブロック毎の読み出しを開始する(図18(b))。 The writing of the data "pL-qW" in the first column read from the first memory 210 by the first conversion unit 200 to the second memory 110 by the writing unit 101 is completed (FIG. 18A). Reading unit 102, at time t 1 after the writing to the second memory 110 in the first column of the data "pL-QW" has been completed, from the second memory 110, the data of the first column the write is complete " The reading of each processing block of the second conversion unit 103 of "pL-qW" is started (FIG. 18 (b)).

第2変換部103は、読み出し部102により読み出された、第2変換部103の処理ブロック分のデータを、画素単位で行方向に従い第3メモリ111に書き込む(図18(c))。バッファ書き込み部104は、例えば時点t1において、データの書き込み先をバッファメモリ1230aに設定する。第2変換部103は、第3メモリ111への処理ブロック分の書き込みが完了すると、第3メモリ111から列毎にデータを読み出す。バッファ書き込み部104は、第2変換部103により第3メモリ111から読み出されたデータを、バッファメモリ1230aに含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む(図18(d))。 The second conversion unit 103 writes the data for the processing block of the second conversion unit 103 read by the reading unit 102 to the third memory 111 in pixel units according to the row direction (FIG. 18C). Buffer write unit 104, for example, at time t 1, it sets the writing destination of the data in the buffer memory 1230a. When the writing of the processing block to the third memory 111 is completed, the second conversion unit 103 reads the data from the third memory 111 for each column. The buffer writing unit 104 writes the data read from the third memory 111 by the second conversion unit 103 to the line memory 1120 of the buffer number BNUM corresponding to the column included in the buffer memory 1230a (FIG. 18 (d)). ).

この、図18(b)〜図18(d)の処理を、Y/B回繰り返すことで、図18(a)に示した、第2メモリ110に対して書き込まれた1列目のデータ「pL−qW」のバッファメモリ1230aへの書き込みが完了する(時点t2)。 By repeating the process of FIGS. 18 (b) to 18 (d) Y / B times, the data of the first column written to the second memory 110 shown in FIG. 18 (a) " The writing of "pL-qW" to the buffer memory 1230a is completed (time point t 2 ).

バッファ読み出し部105は、例えばこの時点t2において、データの読み出し元をバッファメモリ1230aに設定する。バッファ読み出し部105は、時点t2において、バッファメモリ1230aからの、書き込みが完了した当該1列目のデータ「pL−qW」の読み出しを開始する(図18(e))。 Buffer read unit 105, for example, at this point t 2, sets the data read source in the buffer memory 1230a. Buffer read unit 105, at time t 2, from the buffer memory 1230a, starts reading of the first column of the data writing is completed, "pL-QW" (FIG. 18 (e)).

一方、書き込み部101は、時点t1において、第1メモリ210から第1変換部200が読み出した2列目のデータ「pL−qW」の、第2メモリ110への書き込みを開始する(図18(a))。 On the other hand, the writing unit 101, at time t 1, the first memory 210 of the second column of the data first conversion unit 200 reads "pL-QW", to start writing to the second memory 110 (FIG. 18 (A)).

以降、第1列目の処理と同様にして、読み出し部102は、第2メモリ110からの、書き込みが完了した2列目のデータ「pL−qW」の第2変換部103の処理ブロック毎の読み出しを開始する(図18(b)、時点t2)。第2変換部103は、読み出し部102により読み出された、第2変換部103の処理ブロック分のデータを、画素単位で行方向に従い第3メモリ111に書き込む(図18(c))。 After that, in the same manner as the processing of the first column, the reading unit 102 performs each processing block of the second conversion unit 103 of the second column data "pL-qW" that has been written from the second memory 110. Reading is started (FIG. 18 (b), time point t 2 ). The second conversion unit 103 writes the data for the processing block of the second conversion unit 103 read by the reading unit 102 to the third memory 111 in pixel units according to the row direction (FIG. 18C).

バッファ書き込み部104は、時点t2において、データの書き込み先をバッファメモリ1230aからバッファメモリ1230bに切り替える。第2変換部103は、第3メモリ111への処理ブロック分の書き込みが完了する毎に、第3メモリ111から列毎にデータを読み出す。バッファ書き込み部104は、第2変換部103により第3メモリ111から読み出されたデータを、バッファメモリ1230bに含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む処理を行う(図18(d))。 Buffer write unit 104, at time t 2, it switches the write destination of data from the buffer memory 1230a in the buffer memory 1230 b. The second conversion unit 103 reads data from the third memory 111 for each column each time the writing of the processing block to the third memory 111 is completed. The buffer writing unit 104 performs a process of writing the data read from the third memory 111 by the second conversion unit 103 to the line memory 1120 of the buffer number BNUM corresponding to the column included in the buffer memory 1230b (FIG. 18). (D)).

一方、書き込み部101は、時点t2において、第1メモリ210から第1変換部200が読み出した3列目のデータ「pL−qW」の、第2メモリ110への書き込みを開始する(図18(a))。 On the other hand, the writing unit 101, at time t 2, the first memory 210 in the third column of the data first conversion unit 200 reads "pL-QW", to start writing to the second memory 110 (FIG. 18 (A)).

このように、第3の実施形態では、時点t2において、バッファ読み出し部105による、バッファメモリ1230aからの、書き込みが完了した当該1列目のデータ「pL−qW」の読み出しと、バッファ書き込み部104による、バッファメモリ1230bに対する2列目のデータ「pL−qW」の書き込みと、を並行して実行することができる。 Thus, in the third embodiment, at time t 2, by the buffer read portion 105, from the buffer memory 1230a, and the reading of the first column of the data writing is completed, "pL-QW" buffer write unit The writing of the second column data "pL-qW" to the buffer memory 1230b according to 104 can be executed in parallel.

時点t3において、2列目のデータ「pL−qW」のバッファメモリ1230bへの書き込みが完了する。バッファ書き込み部104は、この時点t3において、データの書き込み先をバッファメモリ1230bからバッファメモリ1230aに切り替える。また、バッファ読み出し部105は、この時点t3において、データの読み出し元をバッファメモリ1230aからバッファメモリ1230bに切り替える。 At time t 3, writing to the buffer memory 1230b of the second column of the data "pL-QW" is completed. Buffer write unit 104 at this time t 3, switch the write destination of data from the buffer memory 1230b to the buffer memory 1230a. The buffer reading unit 105, at which point t 3, switch the data read source from the buffer memory 1230a in the buffer memory 1230 b.

時点t3以降も、上述と同様に、3列目のデータ「pL−qW」について、第2メモリ110からの読み出しと(図18(b))、第3メモリ111への書き込みと(図18(c))、が行われ、また、バッファメモリ1230aに対する書き込みと(図18(d))、バッファメモリ1230bからの読み出しと(図18(e))、が並行して実行される。 Also time t 3 or later, in the same manner as described above, the third column of the data "pL-QW", and reading from the second memory 110 (FIG. 18 (b)), and writing to the third memory 111 (FIG. 18 (C)), and writing to the buffer memory 1230a (FIG. 18 (d)) and reading from the buffer memory 1230b (FIG. 18 (e)) are executed in parallel.

このように、第3の実施形態によれば、2つのバッファメモリ1230aおよび1230bの書き込みおよび読み出しをトグルで切り替えることで、バッファ書き込み部104による書き込み処理と、バッファ読み出し部105による読み出し処理とを並行して実行できる。そのため、バッファ読み出し部105から連続的にデータを出力することが可能となり、プリンタ10の印刷性能を向上できる。 As described above, according to the third embodiment, the write process by the buffer write unit 104 and the read process by the buffer read unit 105 are performed in parallel by switching the write and read of the two buffer memories 1230a and 1230b by a toggle. Can be executed. Therefore, it is possible to continuously output data from the buffer reading unit 105, and the printing performance of the printer 10 can be improved.

なお、この第3の実施形態は、上述した第1の実施形態および第2の実施形態に適用可能である。 The third embodiment can be applied to the first and second embodiments described above.

(第4の実施形態)
次に、第4の実施形態について説明する。第4の実施形態は、上述の第3の実施形態の構成に加えて、第2メモリ110として、第2変換部103の処理ブロック分の容量を有するメモリを2面、有し、この2面のメモリの第1面のメモリと第2面のメモリとをトグルで切り替えて用いる例である。図19は、第4の実施形態に係るSDRAM1007の構成例を示す。
(Fourth Embodiment)
Next, a fourth embodiment will be described. In the fourth embodiment, in addition to the configuration of the third embodiment described above, the second memory 110 has two memory surfaces having a capacity equivalent to the processing block of the second conversion unit 103, and the two surfaces. This is an example in which the memory on the first surface and the memory on the second surface of the memory are toggled and used. FIG. 19 shows a configuration example of the SDRAM 1007 according to the fourth embodiment.

図19の例では、SDRAM1007は、記憶領域内に、それぞれ、少なくとも第2変換部103の処理ブロック分のサイズを有する、それぞれ第1面のメモリおよび第2面のメモリとしてのメモリ領域1007aおよび1007bを含む。また、これらメモリ領域1007aおよび1007bは、SDRAM1007においてアドレスが連続する方向に、当該処理ブロック分のサイズを有する。なお、図19では、メモリ領域1007aおよび1007bを、それぞれメモリ領域#1、メモリ領域#2としても示されている。 In the example of FIG. 19, the SDRAM 1007 has at least the size of the processing block of the second conversion unit 103 in the storage area, and the memory areas 1007a and 1007b as the memory of the first surface and the memory of the second surface, respectively. including. Further, these memory areas 1007a and 1007b have a size corresponding to the processing block in the direction in which the addresses are continuous in the SDRAM 1007. In FIG. 19, the memory areas 1007a and 1007b are also shown as the memory area # 1 and the memory area # 2, respectively.

MEMC1005’は、切替部1100aおよび1100bにより、これらメモリ領域1007aおよび1007bの書き込みおよび読み出しをトグルで切り替える。例えば、MEMC1005’は、メモリ領域1007aおよび1007bのうち一方に書き込みが行われている期間は、他方からの読み出しが可能なように、切替部11100aおよび1100bをトグルで切り替える。 The MEMC1005'toggle the writing and reading of the memory areas 1007a and 1007b by the switching units 1100a and 1100b. For example, the MEMC1005'toggle the switching units 11100a and 1100b so that the memory areas 1007a and 1007b can be read from the other during the period when writing is performed.

なお、図19では、切替部1100aおよび1100bがMEMC1005’の外部に設けられているように示されているが、これはこの例に限定されない。すなわち、切替部1100aおよび1100bがMEMC1005’の内部に含まれる構成であってもよい。 Although it is shown in FIG. 19 that the switching portions 1100a and 1100b are provided outside the MEMC1005', this is not limited to this example. That is, the switching portions 1100a and 1100b may be included inside the MEMC1005'.

図20は、第4の実施形態に係る90°回転および270°回転の例を示すタイミングチャートである。図20(a)は、書き込み部101によるメモリ領域1007aおよび1007bに対する書き込みのタイミングの例を示す。また、図20(b)は、読み出し部102によるメモリ領域1007aおよび1007bからの読み出しのタイミングの例を示す。なお、図20(a)および図20(b)においては、メモリ領域1007aおよび1007bを、それぞれR#1、R#2として示している。 FIG. 20 is a timing chart showing an example of 90 ° rotation and 270 ° rotation according to the fourth embodiment. FIG. 20A shows an example of the timing of writing to the memory areas 1007a and 1007b by the writing unit 101. Further, FIG. 20B shows an example of the timing of reading from the memory areas 1007a and 1007b by the reading unit 102. In addition, in FIG. 20A and FIG. 20B, the memory areas 1007a and 1007b are shown as R # 1 and R # 2, respectively.

図20(c)は、第2変換部103による第3メモリ111への書き込みのタイミングの例を示す。図20(d)は、バッファメモリ1230aおよび1230bへの書き込みのタイミングの例、図20(e)は、バッファメモリ1230aおよび1230bからの読み出しのタイミングの例をそれぞれ示す。なお、図20(d)および図20(e)において、バッファメモリ1230aをバッファ#1、バッファメモリ1230bをバッファ#2としてそれぞれ示している。 FIG. 20C shows an example of the timing of writing to the third memory 111 by the second conversion unit 103. FIG. 20 (d) shows an example of the timing of writing to the buffer memories 1230a and 1230b, and FIG. 20 (e) shows an example of the timing of reading from the buffer memories 1230a and 1230b, respectively. In FIGS. 20 (d) and 20 (e), the buffer memory 1230a is shown as the buffer # 1, and the buffer memory 1230b is shown as the buffer # 2, respectively.

先ず、書き込み部101は、第1メモリ210すなわちSDRAM1007へのデータの書き込み先として、メモリ領域1007aを設定する。書き込み部101は、第1メモリ210から第1変換部200が読み出した1列目のデータ「pL−qW」における、1番目の処理ブロック分のデータを、メモリ領域1007aに書き込む(図20(a))。書き込み部101は、処理ブロック分のデータの書き込みが完了すると(時点t10)、データの書き込み先をメモリ領域1007aからメモリ領域1007bに切り替え、書き込みの完了を読み出し部102に通知する。書き込み部101は、第1メモリ210から第1変換部200が読み出した1列目のデータ「pL−qW」における2番目の処理ブロック分のデータをメモリ領域1007bに書き込む。 First, the writing unit 101 sets the memory area 1007a as a destination for writing data to the first memory 210, that is, the SDRAM 1007. The writing unit 101 writes the data for the first processing block in the data “pL−qW” in the first column read from the first memory 210 by the first conversion unit 200 to the memory area 1007a (FIG. 20 (a)). )). The write unit 101 writes the data of the processing block is completed (time t 10), switches the write destination of data from the memory area 1007a in the memory region 1007b, and reports the completion of writing to the reading unit 102. The writing unit 101 writes the data for the second processing block in the data “pL−qW” of the first column read from the first memory 210 by the first conversion unit 200 to the memory area 1007b.

読み出し部102は、時点t10での書き込み部101からの書き込み完了の通知に応じて、第1メモリ210からのデータの読み出し元として、メモリ領域1007aを設定し、メモリ領域1007aから1番目の処理ブロックのデータを読み出す(図20(b))。第2変換部103は、読み出し部102により読み出された1番目の処理ブロック分のデータを第3メモリ111に書き込む(図20(c))。 Reading unit 102 in response to the notification of the writing completion from the writing section 101 at time t 10, as the read original data from the first memory 210, sets the memory region 1007a, 1 th processing from the memory area 1007a Read the block data (FIG. 20 (b)). The second conversion unit 103 writes the data for the first processing block read by the reading unit 102 to the third memory 111 (FIG. 20C).

バッファ書き込み部104は、例えば時点t10において、データの書き込み先をバッファメモリ1230aに設定する。第2変換部103は、第3メモリ111への1番目の処理ブロック分の書き込みが完了すると、第3メモリ111から列毎にデータを読み出す。バッファ書き込み部104は、第2変換部103により第3メモリ111から読み出されたデータを、バッファメモリ1230aに含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む(図20(d))。 Buffer write unit 104, for example, at time t 10, set the write destination of the data in the buffer memory 1230a. When the writing of the first processing block to the third memory 111 is completed, the second conversion unit 103 reads the data from the third memory 111 for each column. The buffer writing unit 104 writes the data read from the third memory 111 by the second conversion unit 103 to the line memory 1120 of the buffer number BNUM corresponding to the column included in the buffer memory 1230a (FIG. 20D). ).

書き込み部101は、第1メモリ210から第1変換部200が読み出した1列目のデータ「pL−qW」における2番目の処理ブロック分のデータの、メモリ領域1007bへの書き込みが完了すると、データの書き込み先をメモリ領域1007bからメモリ領域1007aに切り替え、書き込みの完了を読み出し部102に通知する。書き込み部101は、第1メモリ210から第1変換部200が読み出した1列目のデータ「pL−qW」の3番目の処理ブロック分のデータをメモリ領域1007aに書き込む。 When the writing of the data for the second processing block in the data "pL-qW" of the first column read by the first conversion unit 200 from the first memory 210 to the memory area 1007b is completed, the writing unit 101 completes the data. The writing destination is switched from the memory area 1007b to the memory area 1007a, and the reading unit 102 is notified of the completion of writing. The writing unit 101 writes the data for the third processing block of the data “pL−qW” in the first column read by the first conversion unit 200 from the first memory 210 to the memory area 1007a.

読み出し部102は、書き込み部101からの書き込み完了の通知に応じて、メモリ領域1007bから2番目の処理ブロック分のデータを読み出す(図20(b))。読み出し部102は、メモリ領域1007bからの2番目の処理ブロック分のデータの読み出しが完了すると、読み出し完了を書き込み部101に通知する。 The reading unit 102 reads the data for the second processing block from the memory area 1007b in response to the notification of the completion of writing from the writing unit 101 (FIG. 20B). When the reading unit 102 completes reading the data for the second processing block from the memory area 1007b, the reading unit 102 notifies the writing unit 101 of the completion of reading.

第2変換部103は、読み出し部102により読み出された2番目の処理ブロック分のデータを第3メモリ111に書き込む(図20(c))。第2変換部103は、第3メモリ111への1番目の処理ブロック分の書き込みが完了すると、第3メモリ111から列毎に2番目の処理ブロック分のデータを読み出す。バッファ書き込み部104は、第2変換部103により第3メモリ111から読み出されたデータを、バッファメモリ1230aに含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む(図20(d))。 The second conversion unit 103 writes the data for the second processing block read by the reading unit 102 to the third memory 111 (FIG. 20C). When the writing of the first processing block to the third memory 111 is completed, the second conversion unit 103 reads the data of the second processing block for each column from the third memory 111. The buffer writing unit 104 writes the data read from the third memory 111 by the second conversion unit 103 to the line memory 1120 of the buffer number BNUM corresponding to the column included in the buffer memory 1230a (FIG. 20D). ).

この、図20(a)〜図20(d)の処理を、メモリ領域1007aおよび1007bを処理ブロックの書き込み毎にトグルで切り替えながら、Y/B回繰り返す。これにより、図20(a)に示した、第2メモリ110に対して書き込まれた1列目のデータ「pL−qW」のバッファメモリ1230aへの書き込みが完了する(時点t11)。 The processing of FIGS. 20A to 20D is repeated Y / B times while switching the memory areas 1007a and 1007b with a toggle for each writing of the processing block. As a result, the writing of the first column of data "pL-qW" written to the second memory 110 to the buffer memory 1230a shown in FIG. 20A is completed (time point t 11 ).

バッファ読み出し部105は、例えばこの時点t11において、データの読み出し元をバッファメモリ1230aに設定する。バッファ読み出し部105は、時点t11において、バッファメモリ1230aからの、書き込みが完了した当該1列目のデータ「pL−qW」の読み出しを開始する(図20(e))。 Buffer read unit 105, for example, at this point t 11, set the data read source in the buffer memory 1230a. Buffer read unit 105, at time t 11, from the buffer memory 1230a, starts reading of the first column of the data writing is completed, "pL-QW" (FIG. 20 (e)).

書き込み部101は、上述のようにして、データの書き込み先をメモリ領域1007aおよび1007bで切り替えながら、第1メモリ210から第1変換部200が読み出した1列目のデータ「pL−qW」を処理ブロック毎に、メモリ領域1007aおよび1007bに交互に書き込む。 As described above, the writing unit 101 processes the data "pL-qW" in the first column read from the first memory 210 by the first conversion unit 200 while switching the data writing destination in the memory areas 1007a and 1007b. The memory areas 1007a and 1007b are alternately written for each block.

書き込み部101は、当該1列目のデータ「pL−qW」の書き込みが完了すると、同様にして、第1メモリ210から第1変換部200が読み出した2列目のデータ「pL−qW」の処理ブロック毎の、メモリ領域1007aおよび1007bへの書き込みを実行する(図20(a))。書き込み部101は、2列目のデータ「pL−qW」における1番目の処理ブロック分の例えばメモリ領域1007aへの書き込みが完了すると(時点t11)、書き込みの完了を読み出し部102に通知する。書き込み部101は、処理ブロック分の書き込みの完了毎に、書き込み完了を読み出し部102に通知する。 When the writing of the data "pL-qW" in the first column is completed, the writing unit 101 similarly reads the data "pL-qW" in the second column from the first memory 210 by the first conversion unit 200. Writing to the memory areas 1007a and 1007b for each processing block is executed (FIG. 20A). When the writing of the first processing block of the data “pL−qW” in the second column to, for example, the memory area 1007a is completed (time point t 11 ), the writing unit 101 notifies the reading unit 102 of the completion of writing. The writing unit 101 notifies the reading unit 102 of the completion of writing each time the writing for the processing block is completed.

読み出し部102は、書き込み部101からの書き込み完了の通知に応じて、時点t11において、メモリ領域1007aから2列目のデータ「pL−qW」の1番目の処理ブロック分の読み出しを開始する。読み出し部102は、メモリ領域1007aからの2列目のデータ「pL−qW」の1番目の処理ブロック分のデータの読み出しが完了すると、読み出し完了を書き込み部101に通知する。以降、メモリ領域1007aおよび1007bを交互に切り替えながら、2列目のデータ「pL−qW」の処理ブロック毎の読み出しを行う(図20(b))。 Reading unit 102 is responsive to the write completion notification from the write unit 101, at time t 11, to start the first processing blocks of reading the second row of data from the memory area 1007a "pL-QW". When the reading unit 102 completes reading the data for the first processing block of the data “pL−qW” in the second column from the memory area 1007a, the reading unit 102 notifies the writing unit 101 of the completion of reading. After that, while alternately switching the memory areas 1007a and 1007b, the data "pL-qW" in the second column is read out for each processing block (FIG. 20B).

以下、同様にして、第2変換部103は、読み出し部102により処理ブロック毎に読み出されたデータを第3メモリ111に書き込む(図20(c))。第2変換部103は、第3メモリ111への処理ブロック毎の書き込みの完了に応じて、第3メモリ111から列毎でのデータの読み出しを実行する。 Hereinafter, in the same manner, the second conversion unit 103 writes the data read for each processing block by the reading unit 102 to the third memory 111 (FIG. 20C). The second conversion unit 103 executes reading of data from the third memory 111 for each column in response to the completion of writing for each processing block to the third memory 111.

バッファ書き込み部104は、時点t11において、データの書き込み先をバッファメモリ1230aからバッファメモリ1230bに切り替える。第2変換部103は、第3メモリ111への処理ブロック分の書き込みが完了する毎に、第3メモリ111から列毎にデータを読み出す。バッファ書き込み部104は、第2変換部103により読み出されたデータを、バッファメモリ1230bに含まれる、列に対応するバッファ番号BNUMのラインメモリ1120に書き込む処理を行う(図20(d))。 Buffer write unit 104, at time t 11, switches the write destination of data from the buffer memory 1230a in the buffer memory 1230 b. The second conversion unit 103 reads data from the third memory 111 for each column each time the writing of the processing block to the third memory 111 is completed. The buffer writing unit 104 performs a process of writing the data read by the second conversion unit 103 to the line memory 1120 of the buffer number BNUM corresponding to the column included in the buffer memory 1230b (FIG. 20D).

書き込み部101は、当該2列目のデータ「pL−qW」の書き込みが完了すると、同様にして、第1メモリ210から第1変換部200が読み出した3列目のデータ「pL−qW」の処理ブロック毎の、メモリ領域1007aおよび1007bへの書き込みを実行する。書き込み部101は、2列目のデータ「pL−qW」における1番目の処理ブロック分の例えばメモリ領域1007aへの書き込みが完了すると(時点t12)、書き込みの完了を読み出し部102に通知する。読み出し部102は、書き込み部101からの書き込み完了の通知に応じて、時点t12において、メモリ領域1007aから2列目のデータ「pL−qW」の1番目の処理ブロック分の読み出しを開始する。 When the writing of the data "pL-qW" in the second column is completed, the writing unit 101 similarly reads the data "pL-qW" in the third column from the first memory 210 by the first conversion unit 200. Writing to the memory areas 1007a and 1007b is executed for each processing block. The write unit 101 writes to the second column of the data "pL-QW" first processing blocks of for example a memory area 1007a in is completed (time t 12), and notifies the reading unit 102 of the completion of writing. Reading unit 102 is responsive to the write completion notification from the write unit 101, at time t 12, to start the first processing blocks of reading the second row of data from the memory area 1007a "pL-QW".

図21は、第4の実施形態に係る、書き込み部101および読み出し部102による、書き込み完了通知および読み出し完了通知のタイミングの例を示す。図21(a)は、メモリ領域1007aおよび1007bに対する書き込み処理時間が、読み出し処理時間よりも長い場合の例を示す。また、図21(b)は、メモリ領域1007aおよび1007bに対する書き込み処理時間が、読み出し処理時間よりも短い場合の例を示す。 FIG. 21 shows an example of the timing of the writing completion notification and the reading completion notification by the writing unit 101 and the reading unit 102 according to the fourth embodiment. FIG. 21A shows an example in which the write processing time for the memory areas 1007a and 1007b is longer than the read processing time. Further, FIG. 21B shows an example in which the write processing time for the memory areas 1007a and 1007b is shorter than the read processing time.

なお、図21(a)および図21(b)において、メモリ領域1007aおよび1007bを、それぞれ領域#1、領域#2として示している。 In addition, in FIG. 21A and FIG. 21B, memory areas 1007a and 1007b are shown as areas # 1 and areas # 2, respectively.

図21(a)および図21(b)の何れにおいても、書き込み部101からの書き込み完了通知に応じて、読み出し部102による読み出し処理が開始される。図21(a)の例では、読み出し処理に要する時間が書き込み処理に要する時間よりも短いため、書き込み処理を、書き込み先のメモリ領域1007aおよび1007bを交互に切り替えながら、連続して実行できる。 In both FIGS. 21 (a) and 21 (b), the read process by the read unit 102 is started in response to the write completion notification from the write unit 101. In the example of FIG. 21A, since the time required for the read process is shorter than the time required for the write process, the write process can be continuously executed while alternately switching the memory areas 1007a and 1007b of the write destination.

一方、図21(b)の例では、読み出し処理に要する時間が書き込み処理に要する時間よりも長いため、書き込み部101は、書き込み先のメモリ領域1007aまたは1007bからの読み出しが完了した旨を示す読み出し完了通知を読み出し部102から受けるまで待機して、書き込み処理を開始する。 On the other hand, in the example of FIG. 21B, since the time required for the read process is longer than the time required for the write process, the write unit 101 indicates that the read from the memory area 1007a or 1007b of the write destination is completed. The writing process is started after waiting until the completion notification is received from the reading unit 102.

このように、書き込み完了通知および読み出し完了通知を用いることで、書き込み部101による書き込み処理、および、読み出し部102による読み出し処理の時間の短長に関わらず、メモリ領域1007aおよび1007bに対する書き込みおよび読み出しを、適切に制御することが可能である。 In this way, by using the write completion notification and the read completion notification, the writing and reading to the memory areas 1007a and 1007b can be performed regardless of the short time of the writing process by the writing unit 101 and the reading processing by the reading unit 102. , Can be controlled appropriately.

上述したように、第4の実施形態によれば、第2メモリ110としてのメモリ領域1007aおよび1007bを、第2変換部103の処理ブロック毎に切り替えて、第1の変換部200により第1メモリ210から読み出されたデータ「pL−qW」のメモリ領域1007aおよび1007bへの書き込み、および、メモリ領域1007aおよび1007bを実行している。 As described above, according to the fourth embodiment, the memory areas 1007a and 1007b as the second memory 110 are switched for each processing block of the second conversion unit 103, and the first conversion unit 200 switches the first memory. The data "pL-qW" read from 210 is written to the memory areas 1007a and 1007b, and the memory areas 1007a and 1007b are executed.

ここで、上述した第1の実施形態では、第2メモリ110として、1スキャンによる画像データ31kの1列分の容量が必要であり、第2の実施形態では、当該画像データ31k全体に対応する容量が必要となる。また、第3の実施形態では、第1変換部200で読み出された1列分のデータ「pL−qW」を書き込みながら、その前の列のデータ「pL−qW」を並行して読み出す必要があるため、当該画像データ31kの2列分の容量が必要となる。一方、第4の実施形態では、第2メモリ110としての容量は、第2変換部103の処理ブロックの2つ分(Aバイト×Bライン×2)があればよく、メモリ容量を削減できる。 Here, in the first embodiment described above, the capacity of one column of image data 31 k by one scan is required as the second memory 110, and in the second embodiment, the entire image data 31 k is covered. Corresponding capacity is required. Further, in the third embodiment, it is necessary to read the data "pL-qW" in the previous column in parallel while writing the data "pL-qW" for one column read by the first conversion unit 200. Therefore, the capacity for two columns of the image data 31 k is required. On the other hand, in the fourth embodiment, the capacity of the second memory 110 only needs to be two processing blocks (A bytes × B lines × 2) of the second conversion unit 103, and the memory capacity can be reduced.

また、第4の実施形態では、第1変換部200により第1メモリ210から読み出されたデータ「pL−qW」の1処理ブロック分のメモリ領域1007aへの書き込みが完了した時点で、当該メモリ領域1007aからのデータの読み出しを開始できる。そのため、処理開始から先頭のデータが出力できるまでの時間を短縮できる。 Further, in the fourth embodiment, when the writing of the data "pL-qW" read from the first memory 210 by the first conversion unit 200 to the memory area 1007a for one processing block is completed, the memory is concerned. Reading of data from region 1007a can be started. Therefore, the time from the start of processing to the output of the first data can be shortened.

なお、この第4の実施形態は、上述した第1の実施形態および第2の実施形態に適用可能である。 The fourth embodiment is applicable to the first and second embodiments described above.

(他の実施形態)
上述した第1〜第4の実施形態では、ホストPC20とプリンタ10とを含む画像形成システム1において、第1変換部200および第1メモリ210がホストPC20に含まれ、プリンタ10は、ホストPC20の第1変換部200により第1縦横変換処理を施された画像データに対して、第2変換部103により第2縦横変換処理を施していた。これはこの例に限定されず、第1変換部200をプリンタ10に含めた構成とすることも可能である。
(Other embodiments)
In the first to fourth embodiments described above, in the image forming system 1 including the host PC 20 and the printer 10, the first conversion unit 200 and the first memory 210 are included in the host PC 20, and the printer 10 is the host PC 20. The second conversion unit 103 performed the second vertical / horizontal conversion processing on the image data that had been subjected to the first vertical / horizontal conversion processing by the first conversion unit 200. This is not limited to this example, and a configuration in which the first conversion unit 200 is included in the printer 10 is also possible.

この場合、例えば、第1変換部200は、プリンタ10からホストPC20に対して、ホストPC20が有する第1メモリ210に記憶される画像データの、処理単位での読み出しを第1メモリ210上での画像データの列毎に要求する。第1変換部200は、ホストPC20から送信された処理単位の画像データを、書き込み部101に渡す。 In this case, for example, the first conversion unit 200 reads the image data stored in the first memory 210 of the host PC 20 from the printer 10 to the host PC 20 in processing units on the first memory 210. Request for each column of image data. The first conversion unit 200 passes the image data of the processing unit transmitted from the host PC 20 to the writing unit 101.

これに限らず、第1変換部200および第1メモリ210をプリンタ10に含ませてもよい。 Not limited to this, the printer 10 may include the first conversion unit 200 and the first memory 210.

なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。 It should be noted that each of the above-described embodiments is an example of a preferred embodiment of the present invention, but is not limited thereto, and can be implemented by various modifications without departing from the gist of the present invention.

1 画像形成システム
10 プリンタ
11 コントローラ
12 印字部
13 IJヘッド
15 用紙
20 ホストPC
30,311,312,313,31k,31m 画像データ
101 書き込み部
102 読み出し部
103 第2変換部
104 バッファ書き込み部
105 バッファ読み出し部
110 第2メモリ
111 第3メモリ
200 第1変換部
210 第1メモリ
1005,1005’ MEMC
1007 SDRAM
1021 RDMAC
1022,1022’ 変換部
1023 ヘッド駆動部
1110 記憶領域
1120 ラインメモリ
1220 変換メモリ
1222 変換メモリ制御部
1230,1230a,1230b バッファメモリ
1231,1231’ バッファ制御部
1 Image formation system 10 Printer 11 Controller 12 Printing unit 13 IJ head 15 Paper 20 Host PC
30, 31 1 , 31 2 , 31 3 , 31 k , 31 m Image data 101 Writing unit 102 Reading unit 103 Second conversion unit 104 Buffer writing unit 105 Buffer reading unit 110 Second memory 111 Third memory 200 First conversion unit 210 1st memory 1005, 1005'MEMC
1007 SDRAM
1021 RDMAC
1022, 1022'Conversion unit 1023 Head drive unit 1110 Storage area 1120 Line memory 1220 Conversion memory 1222 Conversion memory control unit 1230, 1230a, 1230b Buffer memory 1231, 1231'Buffer control unit

特許第3948152号公報Japanese Patent No. 3948152 特許第3346916号公報Japanese Patent No. 3346916

Claims (10)

情報処理装置と画像処理装置とを含む画像処理システムであって、
第1のメモリに記憶される、アドレスが連続する第1の方向に直交する第2の方向に第1の数のラインを含む2次元の画像データに対して、該第1の方向に第2の数の画素を含む第1の処理単位で第1の縦横変換を施す第1の変換部と、
前記第1の変換部で前記第1の縦横変換を施された前記画像データを、第2のメモリのアドレスが連続する第3の方向に書き込む書き込み部と、
前記第2のメモリに書き込まれた前記画像データを、バーストアクセスにより、所定数の前記第1の処理単位を含む第2の処理単位で読み出す読み出し部と、
前記読み出し部により前記第2のメモリから読み出された前記第2の処理単位の前記画像データに対して、画素単位で第2の縦横変換を施す第2の変換部と、
それぞれ前記第1の数の画素が格納可能な、前記第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリと、
前記第2の変換部で前記第2の縦横変換が施された前記第2の処理単位の画像データを、前記ラインメモリの指定したアドレスに書き込むバッファ書き込み部と、
複数の前記ラインメモリから1のラインメモリを順次に選択し、選択した該ラインメモリから前記画像データを読み出すバッファ読み出し部とを備え
前記第1の変換部は、前記第1のメモリに記憶される前記画像データを、前記第1の処理単位毎に、アドレスが連続する第1の方向に直交する第2の方向に向けて読み出すことで、前記画像データに対して前記第1の縦横変換を施し、
前記第2の変換部は、画素単位でアクセスが可能な第3メモリに書き込んだ処理ブロック分の画素を、書き込み時と異なる方向に読み出す
画像処理システム。
An image processing system that includes an information processing device and an image processing device.
With respect to the two-dimensional image data stored in the first memory and including the first number of lines in the second direction orthogonal to the first direction in which the addresses are continuous, the second in the first direction. A first conversion unit that performs a first vertical / horizontal conversion in a first processing unit containing the number of pixels of
A writing unit that writes the image data that has undergone the first vertical / horizontal conversion in the first conversion unit in a third direction in which the addresses of the second memory are continuous.
A reading unit that reads out the image data written in the second memory in a second processing unit including a predetermined number of the first processing units by burst access.
A second conversion unit that performs a second vertical / horizontal conversion on a pixel-by-pixel basis with respect to the image data of the second processing unit read from the second memory by the reading unit.
A buffer memory including a number of line memories corresponding to the number of pixels included in the first processing unit, each capable of storing the first number of pixels, and a buffer memory.
A buffer writing unit that writes the image data of the second processing unit that has undergone the second vertical / horizontal conversion in the second conversion unit to a designated address in the line memory, and a buffer writing unit.
A buffer read unit for sequentially selecting one line memory from the plurality of the line memories and reading the image data from the selected line memory is provided .
The first conversion unit reads out the image data stored in the first memory in each of the first processing units in a second direction orthogonal to the first direction in which the addresses are continuous. Therefore, the first vertical / horizontal conversion is performed on the image data, and the image data is subjected to the first vertical / horizontal conversion.
The second conversion unit is an image processing system that reads out the pixels of the processing block written in the third memory, which can be accessed in pixel units, in a direction different from that at the time of writing.
前記第1の変換部は、
前記第1の縦横変換を、前記画像データを90°回転させて前記バッファメモリに書き込む場合と、前記画像データを270°回転させて前記バッファメモリに書き込む場合と、で異なる順序により実行する
請求項1に記載の画像処理システム。
The first conversion unit is
A claim that the first vertical / horizontal conversion is executed in a different order depending on whether the image data is rotated by 90 ° and written to the buffer memory or the image data is rotated by 270 ° and written to the buffer memory. The image processing system according to 1.
前記第1の変換部は、
前記第1の縦横変換を、前記画像データを90°回転させて前記バッファメモリに書き込む場合と、前記画像データを270°回転させて前記バッファメモリに書き込む場合と、で同一の順序により実行する
請求項1に記載の画像処理システム。
The first conversion unit is
A request to execute the first vertical / horizontal conversion in the same order in a case where the image data is rotated by 90 ° and written to the buffer memory and a case where the image data is rotated by 270 ° and written to the buffer memory. Item 1. The image processing system according to item 1.
2つの前記バッファメモリを備え、
前記バッファ読み出し部が、2つの前記バッファメモリのうち一方のバッファメモリに書き込まれた、前記第1のメモリにおける前記第1の処理単位の幅の列に対応する前記画像データを読み出す処理と、
前記書き込み部が、2つの前記バッファメモリのうち他方のバッファメモリに対して、前記第1のメモリにおける次の前記列に対応する前記画像データを書き込む処理と、
を並行して実行する
請求項1乃至請求項3の何れか1項に記載の画像処理システム。
Equipped with the two buffer memories
A process in which the buffer read unit reads out the image data corresponding to a column having a width of the first processing unit in the first memory, which is written in one of the two buffer memories.
A process in which the writing unit writes the image data corresponding to the next column in the first memory to the other buffer memory of the two buffer memories.
The image processing system according to any one of claims 1 to 3, wherein the image processing system is executed in parallel.
前記第2のメモリとして、それぞれ前記第2の処理単位で画像データを書き込み可能な第1面のメモリおよび第2面のメモリを備え、
前記書き込み部は、
前記第1面のメモリおよび前記第2面のメモリのうち前記読み出し部による画素の読み出しが行われていないメモリに前記第2の処理単位での画像データの書き込みを行い、
前記読み出し部は、
前記第1面のメモリおよび前記第2面のメモリのうち前記書き込み部による前記第2の処理単位での画素の書き込みが完了したメモリから該第2の処理単位で画像データを読み出す
請求項4に記載の画像処理システム。
Wherein the second memory, respectively with the second memory of the first surface writable image data in the processing unit and the second surface of the memory,
The writing unit
The image data in the second processing unit is written to the memory on the first surface and the memory on the second surface in which the pixels are not read by the reading unit.
The reading unit is
The fourth aspect of the present invention is to read image data in the second processing unit from the memory on the first surface and the memory in which the writing of pixels in the second processing unit is completed by the writing unit among the memories on the second surface. The image processing system described.
前記第1の変換部は、
前記第1のメモリに記憶される前記画像データの前記第1の方向の画素数が前記第1の処理単位の整数倍ではない場合に、該画素数が前記第1の処理単位の整数倍に満たない数に対応する無効画素を、前記ラインのそれぞれに付加し、
前記バッファ読み出し部は、
前記ラインメモリに書き込まれている前記無効画素を読み出さない
請求項1乃至請求項5の何れか1項に記載の画像処理システム。
The first conversion unit is
When the number of pixels in the first direction of the image data stored in the first memory is not an integral multiple of the first processing unit, the number of pixels becomes an integral multiple of the first processing unit. Invalid pixels corresponding to the number less than the number are added to each of the lines.
The buffer reading unit is
The image processing system according to any one of claims 1 to 5, which does not read the invalid pixels written in the line memory.
情報処理装置と画像処理装置とを含む画像処理システムにおける画像処理方法であって、
第1のメモリに記憶される、アドレスが連続する第1の方向に直交する第2の方向に第1の数のラインを含む2次元の画像データに対して、該第1の方向に第2の数の画素を含む第1の処理単位で第1の縦横変換を施す第1の変換ステップと、
前記第1の変換ステップにより前記第1の縦横変換を施された前記画像データを、第2のメモリのアドレスが連続する第3の方向に書き込む書き込みステップと、
前記第2のメモリに書き込まれた前記画像データを、バーストアクセスにより、所定数の前記第1の処理単位を含む第2の処理単位で読み出す読み出しステップと、
前記読み出しステップにより前記第2のメモリから読み出された前記第2の処理単位の前記画像データに対して、画素単位で第2の縦横変換を施す第2の変換ステップと、
それぞれ前記第1の数の画素が格納可能な、前記第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリと、
前記第2の変換ステップで前記第2の縦横変換が施された前記第2の処理単位の画像データを、それぞれ前記第1の数の画素が格納可能な、前記第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリの、該ラインメモリの指定したアドレスに書き込むバッファ書き込みステップと、
複数の前記ラインメモリから1のラインメモリを順次に選択し、選択した該ラインメモリから前記画像データを読み出すバッファ読み出しステップとを含み、
前記第1の変換ステップは、前記第1のメモリに記憶される前記画像データを、前記第1の処理単位毎に、アドレスが連続する第1の方向に直交する第2の方向に向けて読み出すことで、前記画像データに対して前記第1の縦横変換を施し、
前記第2の変換ステップは、画素単位でアクセスが可能な第3メモリに書き込んだ処理ブロック分の画素を、書き込み時と異なる方向に読み出す、
画像処理方法。
An image processing method in an image processing system including an information processing device and an image processing device.
With respect to the two-dimensional image data stored in the first memory and including the first number of lines in the second direction orthogonal to the first direction in which the addresses are continuous, the second in the first direction. The first conversion step of performing the first vertical / horizontal conversion in the first processing unit including the number of pixels of
A writing step of writing the image data subjected to the first vertical / horizontal conversion by the first conversion step in a third direction in which the addresses of the second memory are continuous, and
A read-out step of reading out the image data written in the second memory in a second processing unit including a predetermined number of the first processing units by burst access.
A second conversion step of performing a second vertical / horizontal conversion on a pixel-by-pixel basis on the image data of the second processing unit read from the second memory by the reading step.
A buffer memory including a number of line memories corresponding to the number of pixels included in the first processing unit, each capable of storing the first number of pixels, and a buffer memory.
The image data of the second processing unit subjected to the second vertical / horizontal conversion in the second conversion step is included in the first processing unit in which the first number of pixels can be stored. A buffer write step of writing to a specified address of the line memory of a buffer memory including a number of line memories corresponding to the number of pixels, and
A buffer read step of sequentially selecting one line memory from the plurality of the line memories and reading the image data from the selected line memory is included.
In the first conversion step, the image data stored in the first memory is read out in each of the first processing units in a second direction orthogonal to the first direction in which the addresses are continuous. Therefore, the first vertical / horizontal conversion is performed on the image data, and the image data is subjected to the first vertical / horizontal conversion.
In the second conversion step, the pixels of the processing block written in the third memory, which can be accessed in pixel units, are read out in a direction different from that at the time of writing.
Image processing method.
第1のメモリに記憶される、アドレスが連続する第1の方向に直交する第2の方向に第1の数のラインを含む2次元の画像データに対して、該第1の方向に第2の数の画素を含む第1の処理単位で第1の縦横変換を施す第1の変換部を含む情報処理装置から送信された、該第1の縦横変換を施された該画像データを、第2のメモリのアドレスが連続する第3の方向に書き込む書き込み部と、
前記第2のメモリに書き込まれた前記画像データを、バーストアクセスにより、所定数の前記第1の処理単位を含む第2の処理単位で読み出す読み出し部と、
前記読み出し部により前記第2のメモリから読み出された前記第2の処理単位の前記画像データに対して、画素単位で第2の縦横変換を施す第2の変換部と、
それぞれ前記第1の数の画素が格納可能な、前記第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリと、
前記第2の変換部で前記第2の縦横変換が施された前記第2の処理単位の画像データを、前記ラインメモリの指定したアドレスに書き込むバッファ書き込み部と、
複数の前記ラインメモリから1のラインメモリを順次に選択し、選択した該ラインメモリから前記画像データを読み出すバッファ読み出し部とを備え
前記第1の変換部は、前記第1のメモリに記憶される前記画像データを、前記第1の処理単位毎に、アドレスが連続する第1の方向に直交する第2の方向に向けて読み出すことで、前記画像データに対して前記第1の縦横変換を施し、
前記第2の変換部は、画素単位でアクセスが可能な第3メモリに書き込んだ処理ブロック分の画素を、書き込み時と異なる方向に読み出す
画像処理装置。
With respect to the two-dimensional image data stored in the first memory and including the first number of lines in the second direction orthogonal to the first direction in which the addresses are continuous, the second in the first direction. The image data subjected to the first vertical-horizontal conversion transmitted from the information processing apparatus including the first conversion unit that performs the first vertical-horizontal conversion in the first processing unit including the number of pixels of A writing unit that writes in the third direction in which the addresses of the two memories are continuous, and
A reading unit that reads out the image data written in the second memory in a second processing unit including a predetermined number of the first processing units by burst access.
A second conversion unit that performs a second vertical / horizontal conversion on a pixel-by-pixel basis with respect to the image data of the second processing unit read from the second memory by the reading unit.
A buffer memory including a number of line memories corresponding to the number of pixels included in the first processing unit, each capable of storing the first number of pixels, and a buffer memory.
A buffer writing unit that writes the image data of the second processing unit that has undergone the second vertical / horizontal conversion in the second conversion unit to a designated address in the line memory, and a buffer writing unit.
A buffer read unit for sequentially selecting one line memory from the plurality of the line memories and reading the image data from the selected line memory is provided .
The first conversion unit reads out the image data stored in the first memory in each of the first processing units in a second direction orthogonal to the first direction in which the addresses are continuous. Therefore, the first vertical / horizontal conversion is performed on the image data, and the image data is subjected to the first vertical / horizontal conversion.
The second conversion unit is an image processing device that reads out the pixels of the processing block written in the third memory, which can be accessed in pixel units, in a direction different from that at the time of writing.
情報処理装置と画像形成装置とを含む画像形成システムであって、
第1のメモリに記憶される、アドレスが連続する第1の方向に直交する第2の方向に第1の数のラインを含む2次元の画像データに対して、該第1の方向に第2の数の画素を含む第1の処理単位で第1の縦横変換を施す第1の変換部と、
前記第1の変換部で前記第1の縦横変換を施された前記画像データを、第2のメモリのアドレスが連続する第3の方向に書き込む書き込み部と、
前記第2のメモリに書き込まれた前記画像データを、バーストアクセスにより、所定数の前記第1の処理単位を含む第2の処理単位で読み出す読み出し部と、
前記読み出し部により前記第2のメモリから読み出された前記第2の処理単位の前記画像データに対して、画素単位で第2の縦横変換を施す第2の変換部と、
それぞれ前記第1の数の画素が格納可能な、前記第1の処理単位に含まれる画素数に対応する数のラインメモリを含むバッファメモリと、
前記第2の変換部で前記第2の縦横変換が施された前記第2の処理単位の画像データを、前記ラインメモリの指定したアドレスに書き込むバッファ書き込み部と、
複数の前記ラインメモリから1のラインメモリを順次に選択し、選択した該ラインメモリから前記画像データを読み出すバッファ読み出し部と、
バッファ読み出し部により前記バッファメモリから読み出された前記画像データに従い印刷媒体に画像を形成する画像形成部とを備え、
前記第1の変換部は、前記第1のメモリに記憶される前記画像データを、前記第1の処理単位毎に、アドレスが連続する第1の方向に直交する第2の方向に向けて読み出すことで、前記画像データに対して前記第1の縦横変換を施し、
前記第2の変換部は、画素単位でアクセスが可能な第3メモリに書き込んだ処理ブロック分の画素を、書き込み時と異なる方向に読み出す
画像形成システム。
An image forming system including an information processing device and an image forming device.
With respect to the two-dimensional image data stored in the first memory and including the first number of lines in the second direction orthogonal to the first direction in which the addresses are continuous, the second in the first direction. A first conversion unit that performs a first vertical / horizontal conversion in a first processing unit containing the number of pixels of
A writing unit that writes the image data that has undergone the first vertical / horizontal conversion in the first conversion unit in a third direction in which the addresses of the second memory are continuous.
A reading unit that reads out the image data written in the second memory in a second processing unit including a predetermined number of the first processing units by burst access.
A second conversion unit that performs a second vertical / horizontal conversion on a pixel-by-pixel basis with respect to the image data of the second processing unit read from the second memory by the reading unit.
A buffer memory including a number of line memories corresponding to the number of pixels included in the first processing unit, each capable of storing the first number of pixels, and a buffer memory.
A buffer writing unit that writes the image data of the second processing unit that has undergone the second vertical / horizontal conversion in the second conversion unit to a designated address in the line memory, and a buffer writing unit.
A buffer read unit that sequentially selects one line memory from the plurality of the line memories and reads the image data from the selected line memory.
It is provided with an image forming unit that forms an image on a print medium according to the image data read from the buffer memory by the buffer reading unit.
The first conversion unit reads out the image data stored in the first memory in each of the first processing units in a second direction orthogonal to the first direction in which the addresses are continuous. Therefore, the first vertical / horizontal conversion is performed on the image data, and the image data is subjected to the first vertical / horizontal conversion.
The second conversion unit is an image forming system that reads out the pixels of the processing block written in the third memory, which can be accessed in pixel units, in a direction different from that at the time of writing.
前記画像形成部は、
前記印刷媒体を副走査方向に移動させる印刷媒体移動部と、
それぞれ前記ラインメモリから読み出された画像データに含まれる画素に従いインクを吐出する前記第1の数のノズルが前記副走査方向に整列したヘッドを主走査方向に移動させるヘッド移動部と
を備える
請求項9に記載の画像形成システム。
The image forming part is
A print medium moving unit that moves the print medium in the sub-scanning direction,
A claim including a head moving unit in which the first number of nozzles, each of which ejects ink according to pixels included in image data read from the line memory, moves heads aligned in the sub-scanning direction in the main scanning direction. Item 9. The image forming system according to Item 9.
JP2017138560A 2017-07-14 2017-07-14 Image processing system, image processing method and image processing device, and image forming system Expired - Fee Related JP6844459B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017138560A JP6844459B2 (en) 2017-07-14 2017-07-14 Image processing system, image processing method and image processing device, and image forming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017138560A JP6844459B2 (en) 2017-07-14 2017-07-14 Image processing system, image processing method and image processing device, and image forming system

Publications (2)

Publication Number Publication Date
JP2019022071A JP2019022071A (en) 2019-02-07
JP6844459B2 true JP6844459B2 (en) 2021-03-17

Family

ID=65353226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017138560A Expired - Fee Related JP6844459B2 (en) 2017-07-14 2017-07-14 Image processing system, image processing method and image processing device, and image forming system

Country Status (1)

Country Link
JP (1) JP6844459B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025047729A1 (en) * 2023-08-31 2025-03-06 ヌヴォトンテクノロジージャパン株式会社 Memory system, memory controller, external memory, memory control method, and operation method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199594A (en) * 1989-01-30 1990-08-07 Fujitsu Ltd Image rotating circuit
JP4109725B2 (en) * 1995-05-01 2008-07-02 キヤノン株式会社 Image processing apparatus and method
JP2005109856A (en) * 2003-09-30 2005-04-21 Canon Electronics Inc Picture rotation circuit and picture processor having the same
JP2005293118A (en) * 2004-03-31 2005-10-20 Toshiba Solutions Corp Disk cache control circuit, disk control device, and disk cache control method
JP2008035035A (en) * 2006-07-27 2008-02-14 Murata Mach Ltd Image processing apparatus
JP4201031B2 (en) * 2006-07-27 2008-12-24 村田機械株式会社 Image processing device
JP4553015B2 (en) * 2008-01-25 2010-09-29 コニカミノルタビジネステクノロジーズ株式会社 Image forming apparatus

Also Published As

Publication number Publication date
JP2019022071A (en) 2019-02-07

Similar Documents

Publication Publication Date Title
JP3884498B2 (en) Printer and method for printing raster images
US5838888A (en) Image recorder
JP4687745B2 (en) Image processing apparatus, image recording system, and program
US6009245A (en) Serial printer, and image buffer access method for serial printer
JPH05304591A (en) Preparing device for full page bit map for raster device and scan-out method for frame buffer
JP6844459B2 (en) Image processing system, image processing method and image processing device, and image forming system
JP2000280564A (en) Printing method and printing system
JP5245221B2 (en) Droplet discharge device
US5887989A (en) Low cost digital printer
US9384431B2 (en) Image processing apparatus, method, and storage medium that perform quantizing processing of image data for at least N colors
JP2018149755A (en) Image forming apparatus, ink discharge method, and liquid discharge apparatus
JP2011076156A (en) Apparatus and method for processing image
US9789718B2 (en) Printing apparatus and control method of the same
JP4544141B2 (en) Image processing device, printer driver, printing system, program
JP4461890B2 (en) Printing device
JP4826099B2 (en) Printing system, printing method and adjustment method
JP5736826B2 (en) Image data processing apparatus, recording apparatus, and image data processing method
JP3446906B2 (en) Host for supplying data to recording apparatus and method for supplying data
JP4007179B2 (en) Printing system that prints while performing image processing by sharing between image processing device and printing device
JP2001096854A (en) Apparatus and method for printing processing
JP5446108B2 (en) Control device and printing device
JP2005305832A (en) Printing device
JP5151328B2 (en) Image forming apparatus, image transfer method, program, and recording medium
JP5343504B2 (en) Inkjet recording apparatus, image forming system, image forming method, and program
US5956472A (en) Data processing method and data processing apparatus and printer using data processing apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210208

R151 Written notification of patent or utility model registration

Ref document number: 6844459

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees