JP2005262651A - Printer, image printing system, and printing method - Google Patents

Printer, image printing system, and printing method Download PDF

Info

Publication number
JP2005262651A
JP2005262651A JP2004078294A JP2004078294A JP2005262651A JP 2005262651 A JP2005262651 A JP 2005262651A JP 2004078294 A JP2004078294 A JP 2004078294A JP 2004078294 A JP2004078294 A JP 2004078294A JP 2005262651 A JP2005262651 A JP 2005262651A
Authority
JP
Japan
Prior art keywords
data
image data
image
request
printer
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.)
Granted
Application number
JP2004078294A
Other languages
Japanese (ja)
Other versions
JP4529501B2 (en
Inventor
Yoshinao Kitahara
義奈朗 北原
Takabumi Higuchi
高文 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004078294A priority Critical patent/JP4529501B2/en
Publication of JP2005262651A publication Critical patent/JP2005262651A/en
Application granted granted Critical
Publication of JP4529501B2 publication Critical patent/JP4529501B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To effectively shorten a printing time even when image data having a larger data amount than the size of a buffer memory is printed by rotating it. <P>SOLUTION: This printer 2 reads the image data for which data is arranged for each line having a height for the portion of a specified number of pixels, and prints the image. The printer 2 has at least the same number of image data buffers 72 as the number of lines of the image in the image data. A requesting means 93 demands data corresponding to a printing region conforming to the printing sequence of the image. A reading means 92 reads the data for the portion of the size of the image data buffers 72 including the data related to the demand when there is no data related to the demand in a plurality of the image data buffers 72, and stores the data in a plurality of the image data buffers 72 conforming to the first read first output rule. An outputting means 92 outputs the data related to the demand to the requesting means 93. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、プリンタ、画像印刷システムおよび印刷方法に関する。   The present invention relates to a printer, an image printing system, and a printing method.

特許文献1および特許文献2には、印刷システムが開示されている。これらの従来の印刷システムは、USBストレージクラスデバイスのデジタルカメラと、USBホストのプリンタとを、USB(Universal Serial Bus)で直接に接続する。そして、この従来の印刷システムでは、カメラは、そのボタンへの操作に応じてプリンタに対する印刷要求を生成し、プリンタは、この要求に基づいて印刷処理に必要となる画像データのファイルをカメラから読み込み、その画像データに基づいて画像を印刷する。   Patent Documents 1 and 2 disclose a printing system. In these conventional printing systems, a USB storage class device digital camera and a USB host printer are directly connected by a USB (Universal Serial Bus). In this conventional printing system, the camera generates a print request for the printer in response to an operation on the button, and the printer reads an image data file necessary for the printing process from the camera based on the request. Then, an image is printed based on the image data.

特開2003−259274号公報(図面、発明の詳細な説明)JP 2003-259274 A (drawings, detailed description of the invention) 特開2002−56676号公報(図面、発明の詳細な説明)JP 2002-56676 A (drawings, detailed description of the invention)

ところで、従来の印刷システムにおいて、プリンタは、カメラに保存されている画像データのファイルを読み込んで、この画像データに基づく画像を印刷する。   By the way, in a conventional printing system, a printer reads an image data file stored in a camera and prints an image based on the image data.

そのため、このプリンタにバッファメモリを設け、そのバッファメモリに画像データのファイルをまとめて読み込み、そのバッファメモリから印刷に必要となるデータを読み出すようにすれば、画像の印刷に必要となるデータが発生するたびにカメラから画像データを読み込む必要がなくなるので、印刷時間が短縮される。   Therefore, if this printer is provided with a buffer memory, the image data files are read into the buffer memory and the data necessary for printing is read out from the buffer memory, the data necessary for image printing occurs. Since it is not necessary to read image data from the camera each time, printing time is shortened.

また、このようなバッファメモリをプリンタに設けたとしても、バッファメモリのサイズより大きなデータ量を有する画像データは、このバッファメモリに複数回にわけて読み込むことで、その画像データを印刷することができる。   Further, even if such a buffer memory is provided in the printer, image data having a data amount larger than the size of the buffer memory can be read into the buffer memory multiple times to print the image data. it can.

しかしながら、このようなバッファメモリをプリンタに設けたとしても、そのバッファメモリのサイズより大きなデータ量を有する画像データの画像を90度回転して印刷する場合にあっては、一定以上の印刷時間の短縮効果を期待することはできない。これは、以下の理由による。   However, even if such a buffer memory is provided in the printer, when an image of image data having a data amount larger than the size of the buffer memory is rotated by 90 degrees and printed, a printing time of a certain time or more is required. The shortening effect cannot be expected. This is due to the following reason.

半導体メモリに記憶されている画像データは、1ピクセル単位でのデータが集められたデータ、あるいは、数ピクセル毎のブロック単位でのデータが集められたデータになっている。また、その複数のピクセル単位のデータあるいは複数のブロック単位のデータは、画像データファイルでは、画像の行ごとに整列して格納されている。   The image data stored in the semiconductor memory is data obtained by collecting data in units of one pixel or data obtained by collecting data in units of blocks every several pixels. Further, the plurality of pixel unit data or the plurality of block unit data are stored in an image data file in a line-by-line manner.

プリンタでは、キャリッジの走査に基づいて、画像の印刷に必要となるデータが発生する。そのため、画像データファィルの画像を90度回転して印刷する場合、プリンタは、キャリッジの1走査分の印刷制御データを生成するために、画像データ内で別々の行に離散的に格納されているデータを順次利用する必要がある。   In the printer, data necessary for printing an image is generated based on scanning of the carriage. Therefore, when the image of the image data file is rotated 90 degrees and printed, the printer is discretely stored in separate rows in the image data in order to generate print control data for one scan of the carriage. It is necessary to use data sequentially.

そして、印刷に使用する画像データを複数回にわけてバッファメモリに読み込んでいる場合において、キャリッジのある1走査分の印刷制御データの生成が完了した後に、その次のキャリッジのある1走査分の印刷制御データの生成を開始するとき、そのときに必要となる画像データがバッファメモリに残っていないことがある。その場合には、再度、カメラから画像データを読み込む必要が生じる。   When the image data used for printing is read into the buffer memory in a plurality of times, after generation of print control data for one scan with a carriage is completed, one scan for the next carriage is completed. When generation of print control data is started, image data required at that time may not remain in the buffer memory. In that case, it is necessary to read image data from the camera again.

したがって、プリンタは、画像データファイルによる画像を90度回転して印刷する場合には、キャリッジの1走査分の印刷制御データを生成するたびにカメラからバッファメモリへの画像データの読み込みが頻繁に発生する。このため、一定以上の印刷時間の短縮効果を期待することはできない。   Therefore, when the printer prints an image of the image data file rotated 90 degrees, the image data is frequently read from the camera to the buffer memory every time print control data for one scan of the carriage is generated. To do. For this reason, it is not possible to expect an effect of shortening the printing time beyond a certain level.

本発明は、以上の問題に鑑みなされたものであり、バッファメモリのサイズより大きなデータ量を有する画像データに基づく画像を回転して印刷する場合であっても、印刷時間の効果的に短縮することができるプリンタ、画像印刷システムおよび印刷方法を提供することを目的とする。   The present invention has been made in view of the above problems, and even when an image based on image data having a data amount larger than the size of the buffer memory is rotated and printed, the printing time is effectively shortened. An object of the present invention is to provide a printer, an image printing system, and a printing method.

本発明に係るプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、画像データにおける画像の行数と少なくとも同数の画像データバッファと、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   The printer according to the present invention is a printer that reads image data in which data is arranged for each row having a height of a predetermined number of pixels and prints the image. A data buffer, request means for requesting data corresponding to the print area in accordance with the print order of the image, and, if there is no data related to the request in a plurality of image data buffers, an image data buffer including the data related to the request It has reading means for reading data of size and storing it in a plurality of image data buffers in accordance with pre-read-first-out rules, and output means for outputting the data related to the request to the request means.

本発明の構成では、複数の画像データバッファは、画像データにおける画像の行数と同数あるいはその行数より多い数になっている。したがって、画像を回転して印刷する場合において、たとえば読込手段が画像の一列目のデータを画像データバッファへ読み込む際に二列目のデータをいっしょに読み込み、要求手段のデータ要求に応じて二列目を印刷する際には、読込手段による画像データバッファへの読込処理をすることなく、出力手段がその一列目のデータとともに読み込んだ二列目のデータを画像データバッファから読み出して出力することができる。   In the configuration of the present invention, the plurality of image data buffers has the same number as the number of lines in the image data or more than the number of lines. Therefore, when the image is rotated and printed, for example, when the reading unit reads the data of the first column of the image into the image data buffer, the data of the second column is read together, and the two columns according to the data request of the request unit When printing the eye, the output means can read out the second column data read together with the first column data from the image data buffer and output it without reading the image data buffer by the reading means. it can.

その結果、この構成を採用すれば、複数の画像データバッファのサイズより大きなデータ量を有する画像データに基づく画像を回転して印刷する場合であっても、印刷時間を効果的に短縮することができる。   As a result, if this configuration is adopted, the printing time can be effectively shortened even when an image based on image data having a data amount larger than the size of the plurality of image data buffers is rotated and printed. it can.

本発明に係る他のプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、所定のサイズを有するバッファメモリと、画像データのデータ量がバッファメモリのサイズより大きい場合には、バッファメモリに、画像データにおける画像の行数と少なくとも同数である第一の数の画像データバッファを形成し、画像データのデータ量がバッファメモリのサイズ以下の場合には、バッファメモリに、第一の数より少ない第二の数の画像データバッファを形成する形成手段と、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   Another printer according to the present invention is a printer that reads image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels and prints the image. When the data amount of data is larger than the size of the buffer memory, a first number of image data buffers that are at least the same as the number of image lines in the image data are formed in the buffer memory, and the data amount of the image data is If the memory size is less than or equal to the size of the memory, a forming means for forming a second number of image data buffers smaller than the first number in the buffer memory, and a request for requesting data corresponding to the print area in accordance with the printing order of the images Means and an image data buffer containing the requested data if the requested data is not in a plurality of image data buffers. Loading the size of the data §, and has a reading means for storing a plurality of image data buffer in accordance with the preliminary read-out Sakide rules, and output means for outputting the data related to the request to the requesting means.

この構成を採用すれば、画像データのデータ量がバッファメモリのサイズより大きい場合には、画像データにおける画像の行数と同数あるいはその行数より多い第一の数の画像データバッファを用いることで、印刷時間を効果的に短縮することができる。   If this configuration is adopted, if the data amount of the image data is larger than the size of the buffer memory, the first number of image data buffers equal to or larger than the number of image lines in the image data can be used. The printing time can be effectively shortened.

また、この構成では、画像データのデータ量がバッファメモリのサイズ以下の場合には、その第一の数より少ない第二の数より少ない数の複数の画像データバッファを用いる。そのため、この構成を採用すれば、画像データのデータ量がバッファメモリのサイズ以下の場合には、その画像データにおける画像の行数と同数あるいはその行数より多い数の複数の画像データバッファを用いる場合にくらべて、画像供給装置からの画像データの読み込み回数を減らし、印刷時間をさらに効果的に短縮することができる。   In this configuration, when the amount of image data is equal to or smaller than the size of the buffer memory, a plurality of image data buffers having a number smaller than the second number and smaller than the second number are used. Therefore, when this configuration is adopted, when the amount of image data is equal to or smaller than the size of the buffer memory, a plurality of image data buffers having the same number as or more than the number of lines in the image data are used. Compared to the case, the number of times of reading image data from the image supply device can be reduced, and the printing time can be shortened more effectively.

本発明に係る第三のプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、所定のサイズを有するバッファメモリと、画像データの行数を取得する取得手段と、バッファメモリに、取得手段により取得された通信データの行数に基づき、その行数と少なくとも同数の複数の画像データバッファを形成する形成手段と、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   A third printer according to the present invention includes a buffer memory having a predetermined size in a printer that reads image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels and prints the image; An acquisition unit that acquires the number of rows of image data; a formation unit that forms, in the buffer memory, a plurality of image data buffers having at least the same number as the number of rows based on the number of rows of communication data acquired by the acquisition unit; In accordance with the print order, the request means for requesting data corresponding to the print area, and if the data related to the request is not in a plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request Reading means for reading and storing in a plurality of image data buffers in accordance with a pre-read first-out rule, and request data to the request means And output means for force, and has a.

この構成を採用すれば、印刷に係る画像データにおける画像の行数と同数あるいはその行数より多い数の画像データバッファを用いるので、使用する画像データに応じた最適な印刷時間の短縮効果を期待することができる。   If this configuration is adopted, the number of image data buffers equal to or larger than the number of image lines in the image data related to printing is used, so an optimum printing time reduction effect corresponding to the image data to be used is expected. can do.

本発明に係る第四のプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、複数の画像データにおける画像の行数の総数と少なくとも同数の画像データバッファと、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータむ画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   A fourth printer according to the present invention is a printer that reads a plurality of image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels, and prints the images side by side in the carriage driving direction. Image data buffers having at least the same number as the total number of image lines in the plurality of image data, request means for requesting data corresponding to the print area in accordance with the printing order of the images, and data related to the requests in the plurality of image data buffers If not, read means for reading the data corresponding to the size of the image data buffer and storing it in a plurality of image data buffers according to the pre-read first-out rule, and the data related to the request to the request means Output means for outputting.

この構成では、複数の画像データバッファは、キャリッジの駆動方向に並べて印刷する画像データにおける画像の行数の総数と同数あるいはその行数の総数より多い数になっている。したがって、この構成を採用すれば、複数の画像データバッファのサイズより大きなデータ量となる複数の画像データに基づく複数の画像を回転して印刷する場合(たとえば、4upレイアウトの場合)であっても、印刷時間を効果的に短縮することができる。   In this configuration, the plurality of image data buffers has the same number as the total number of image lines in the image data to be printed side by side in the carriage driving direction or a number larger than the total number of lines. Therefore, if this configuration is adopted, even when a plurality of images based on a plurality of image data having a data amount larger than the size of the plurality of image data buffers are rotated and printed (for example, in the case of a 4up layout). The printing time can be effectively shortened.

本発明に係る第五のプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、所定のサイズを有するバッファメモリと、複数の画像データの総データ量がバッファメモリのサイズより大きい場合には、バッファメモリに、複数の画像データにおける画像の行数の総数と少なくとも同数である第一の数の画像データバッファを形成し、複数の画像データのデータ量がバッファメモリのサイズ以下の場合には、バッファメモリに、第一の数より少ない第二の数の画像データバッファを形成する形成手段と、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   A fifth printer according to the present invention is a printer that reads a plurality of image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels, and prints the images side by side in the carriage driving direction. When the total data amount of the buffer memory having a predetermined size and the plurality of image data is larger than the size of the buffer memory, the buffer memory has a first number that is at least the same as the total number of image rows in the plurality of image data. Forming a plurality of image data buffers, and forming a second number of image data buffers smaller than the first number in the buffer memory when the data amount of the plurality of image data is less than or equal to the size of the buffer memory Means, requesting means for requesting data corresponding to the print area in accordance with the printing order of the image, and the data related to the request include a plurality of image data. If it is not in the buffer, it reads the data corresponding to the size of the image data buffer including the data related to the request, and stores the data related to the request in a plurality of image data buffers according to the pre-read first-out rule. Output means for outputting to the request means.

この構成を採用すれば、キャリッジの駆動方向に並べて印刷する複数の画像データの総データ量がバッファメモリのサイズより大きい場合には、それら複数の画像データにおける画像の行数の総数と同数あるいはその行数の総数より多い数の画像データバッファを用いることで、印刷時間を効果的に短縮することができる。また、この構成を採用すれば、その複数の画像データの総データ量がバッファメモリのサイズ以下の場合には、画像供給装置からの画像データの読み込み回数を減らして、印刷時間をさらに効果的に短縮することができる。   If this configuration is adopted, when the total data amount of a plurality of image data to be printed side by side in the carriage drive direction is larger than the size of the buffer memory, the same number as the total number of image lines in the plurality of image data or By using a larger number of image data buffers than the total number of lines, the printing time can be effectively shortened. If this configuration is adopted, if the total amount of the plurality of image data is less than or equal to the size of the buffer memory, the number of times the image data is read from the image supply device is reduced, and the printing time is more effectively achieved. It can be shortened.

本発明に係る第六のプリンタは、所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、所定のサイズを有するバッファメモリと、画像データの行数を取得する取得手段と、バッファメモリに、取得手段により取得された画像データの行数に基づき、その行数の総数と少なくとも同数の画像データバッファを形成する形成手段と、画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、要求に係るデータを要求手段へ出力する出力手段と、を有するものである。   A sixth printer according to the present invention is a printer that reads a plurality of image data in which data is arranged for each row having a height of a predetermined number of pixels, and prints the images in the carriage drive direction. A buffer memory having a predetermined size, an acquisition means for acquiring the number of lines of image data, and at least the same number of image data as the total number of lines based on the number of lines of image data acquired by the acquisition means in the buffer memory Including forming means for forming a buffer, request means for requesting data corresponding to the print area in accordance with the printing order of the images, and data relating to the request if the requested data is not in a plurality of image data buffers Reads the data for the size of the image data buffer and stores it in multiple image data buffers according to the pre-read first-out rule. Those having means, and output means for outputting the data related to the request to the requesting means.

この構成を採用すれば、キャリッジの駆動方向に並べて印刷される複数の画像データにおける画像の行数の総数と同数あるいはその行数の総数より多い数の画像データバッファを用いるので、使用する複数の画像データに応じた最適な印刷時間の短縮効果を期待することができる。   If this configuration is adopted, since the number of image data buffers equal to or larger than the total number of image lines in a plurality of image data printed side by side in the carriage driving direction is used, a plurality of image data buffers to be used are used. It is possible to expect an optimal printing time reduction effect according to the image data.

本発明に係る上述したいずれか1つの発明に係るプリンタは、上述したそれぞれの発明の構成に加えて、読込手段が、要求に係るデータが先頭となるように、画像データバッファのサイズ分のデータを読み込むものである。   In the printer according to any one of the above-described inventions according to the present invention, in addition to the configuration of each of the above-described inventions, the reading unit may store data corresponding to the size of the image data buffer so that the requested data comes first. Is to read.

この構成を採用すれば、画像データバッファには、それ以降の印刷で使用するデータがより多く先読みされる。その結果、たとえば、画像データを画像データバッファのサイズごとに分割し、その分割した単位毎に画像データを読み込む場合に比べて、画像データの読み込み回数を減らし、印刷時間をさらに効果的に短縮することができる。   If this configuration is adopted, more data to be used in subsequent printing is prefetched in the image data buffer. As a result, for example, the image data is divided according to the size of the image data buffer, and the number of times of reading the image data is reduced and the printing time is more effectively shortened than when the image data is read for each divided unit. be able to.

本発明に係る上述したいずれか1つの発明に係るプリンタは、上述したそれぞれの発明の構成に加えて、画像データが、符号化された画像データであり、要求手段が、符号化された画像データを復号化するデコーダであり、画像データバッファの数またはその上限値が、デコーダにより復号可能な一辺の画素数に基づいて決定されるものである。   In the printer according to any one of the above aspects of the present invention, in addition to the configuration of each of the above aspects, the image data is encoded image data, and the requesting unit encodes the encoded image data. The number of image data buffers or the upper limit value thereof is determined based on the number of pixels on one side that can be decoded by the decoder.

この構成を採用すれば、符号化された画像データをデコードする場合に、デコードに対応する数の画像データバッファを確保できる。   By adopting this configuration, when decoding the encoded image data, it is possible to secure the number of image data buffers corresponding to the decoding.

本発明に係る上述したいずれか1つの発明に係るプリンタは、上述したそれぞれの発明の構成に加えて、画像データが、符号化された画像データであり、要求手段が、符号化された画像データを復号化するデコーダであり、画像データバッファの数またはその上限値が、デコーダにより復号可能な一辺の画素数および画像データの画像の縦横比に基づいて決定されるものである。   In the printer according to any one of the above aspects of the present invention, in addition to the configuration of each of the above aspects, the image data is encoded image data, and the requesting unit encodes the encoded image data. The number of image data buffers or the upper limit value thereof is determined based on the number of pixels on one side decodable by the decoder and the aspect ratio of the image of the image data.

この構成を採用すれば、符号化された画像データをデコードする場合に、デコードに対応する数の画像データバッファを確保できる。   By adopting this configuration, when decoding the encoded image data, it is possible to secure the number of image data buffers corresponding to the decoding.

本発明に係る上述したいずれか1つの発明に係るプリンタは、上述したそれぞれの発明の構成に加えて、形成手段が、印刷時のキャリッジ駆動方向に対応する画像方向と画像データにおいて連続的に配置される画像の行の方向が90度または270度ずれている場合にのみ動作するものである。   In the printer according to any one of the above-described inventions according to the present invention, in addition to the configuration of each of the inventions described above, the forming unit continuously arranges the image direction and the image data corresponding to the carriage driving direction at the time of printing. It operates only when the direction of the row of the image to be shifted is shifted by 90 degrees or 270 degrees.

本発明に係る画像印刷システムは、半導体メモリと第一の通信手段とを有する画像供給装置と、第一の通信手段と通信する第二の通信手段を有する上述したいずれか1つの発明に係るプリンタとを備え、半導体メモリが、画像データを格納し、プリンタの読込手段が、第一および第二の通信手段を介して半導体メモリから画像データを読み込むものである。   An image printing system according to the present invention includes an image supply device having a semiconductor memory and first communication means, and a printer according to any one of the above-described inventions having second communication means for communicating with the first communication means. The semiconductor memory stores the image data, and the reading means of the printer reads the image data from the semiconductor memory via the first and second communication means.

この構成を採用すれば、画像供給装置の第一の通信手段からプリンタの第二の通信手段へ送信される印刷に係る画像データは、その印刷に係る画像データの行数あるいは複数の画像データの行数の総数に応じた複数の画像データバッファに記憶される。その結果、この構成を採用すれば、メモリのサイズより大きなデータ量を有する画像データや、総データ量がメモリのサイズより大きくなる複数の画像データに基づく画像を回転して印刷する場合であっても、印刷時間を効果的に短縮することができる。   If this configuration is adopted, the image data related to printing transmitted from the first communication means of the image supply device to the second communication means of the printer is the number of lines of the image data related to the printing or a plurality of image data. It is stored in a plurality of image data buffers corresponding to the total number of rows. As a result, if this configuration is adopted, image data having a data amount larger than the memory size or images based on a plurality of image data whose total data amount is larger than the memory size may be rotated and printed. However, the printing time can be effectively shortened.

本発明に係る印刷方法は、所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷する印刷方法であって、画像の印刷順にしたがって、印刷領域に対応するデータを要求するステップと、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、画像データにおける画像の行数と少なくとも同数の画像データバッファに先読先出ルールにしたがって格納するステップと、要求に係るデータをその要求元へ出力するステップと、を有するものである。   A printing method according to the present invention is a printing method for reading image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels, and printing the image, in accordance with the printing order of the images. If the data corresponding to the request is not in a plurality of image data buffers, data corresponding to the size of the image data buffer including the data related to the request is read and the image data in the image data is read. The image data buffer includes at least the same number of lines as the number of lines in accordance with the pre-read first-out rule, and the step of outputting the data related to the request to the request source.

この方法では、印刷に係る画像データは、その画像の行数と同数あるいはその行数より多い数の複数の画像データバッファに格納され、データ要求に対してはその複数の画像データバッファからデータが出力される。したがって、この構成を採用すれば、複数の画像データバッファのサイズより大きなデータ量を有する画像データに基づく画像を回転して印刷する場合であっても、印刷時間を効果的に短縮することができる。   In this method, image data related to printing is stored in a plurality of image data buffers having the same number as or more than the number of lines of the image, and in response to a data request, data is received from the plurality of image data buffers. Is output. Therefore, if this configuration is adopted, even when an image based on image data having a data amount larger than the size of a plurality of image data buffers is rotated and printed, the printing time can be effectively shortened. .

本発明に係る他の印刷方法は、所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷する印刷方法であって、画像の印刷順にしたがって、印刷領域に対応するデータを要求するステップと、要求に係るデータが複数の画像データバッファにない場合には、その要求に係るデータを含む画像データバッファのサイズ分のデータを読み込んで、複数の画像データにおける画像の行数の総数と少なくとも同数の画像データバッファに先読先出ルールにしたがって格納するステップと、要求に係るデータをその要求元へ出力するステップと、を有するものである。   Another printing method according to the present invention is a printing method that reads a plurality of image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels, and prints the images side by side in the carriage driving direction. In accordance with the print order of the images, the step of requesting data corresponding to the print area, and if the data related to the request is not in a plurality of image data buffers, the size of the image data buffer including the data related to the request A step of reading the data and storing the data according to a pre-read first-out rule in at least the same number of image data buffers as the total number of image lines in the plurality of image data, and outputting the data related to the request to the request source , Has.

この方法では、印刷に係る複数の画像データは、その複数の画像の行数の総数と同数あるいはその行数の総数より多い数の複数の画像データバッファに格納され、データ要求に対してはその複数の画像データバッファからデータが出力される。したがって、この構成を採用すれば、複数の画像データバッファのサイズより大きな総データ量となる複数の画像データに基づく画像を回転して印刷する場合であっても、印刷時間を効果的に短縮することができる。   In this method, a plurality of image data relating to printing is stored in a plurality of image data buffers having the same number as the total number of lines of the plurality of images or more than the total number of lines. Data is output from a plurality of image data buffers. Therefore, by adopting this configuration, even when an image based on a plurality of image data having a total data amount larger than the size of the plurality of image data buffers is rotated and printed, the printing time is effectively shortened. be able to.

以下、本発明の実施の形態に係るプリンタ、画像印刷システムおよび印刷方法を、図面に基づいて説明する。画像印刷システムは、ダイレクト印刷システムを例として説明する。印刷方法は、プリンタの動作の一部として説明する。   Hereinafter, a printer, an image printing system, and a printing method according to embodiments of the present invention will be described with reference to the drawings. The image printing system will be described by taking a direct printing system as an example. The printing method will be described as a part of the operation of the printer.

実施の形態1.
図1は、本発明の実施の形態1に係るダイレクト印刷システムを示す図である。ダイレクト印刷システムは、画像供給装置としてのデジタルスチルカメラ(DSC:Digital Still Camera)1と、プリンタ2とを有する。また、DSC1とプリンタ2とは、USBケーブル3にて接続される。
Embodiment 1 FIG.
FIG. 1 is a diagram showing a direct printing system according to Embodiment 1 of the present invention. The direct printing system includes a digital still camera (DSC: Digital Still Camera) 1 as an image supply device and a printer 2. The DSC 1 and the printer 2 are connected by a USB cable 3.

図2は、図1中のDSC1のハードウェア構成を示すブロック図である。DSC1は、プログラムを実行する中央処理装置(CPU:Central Processing Unit)11と、プログラムを記憶するフラッシュメモリ12と、I/O(Input/Output)ポート13と、これらを接続するシステムバス14とを有する。   FIG. 2 is a block diagram showing a hardware configuration of the DSC 1 in FIG. The DSC 1 includes a central processing unit (CPU) 11 that executes a program, a flash memory 12 that stores the program, an I / O (Input / Output) port 13, and a system bus 14 that connects these. Have.

DSC1のI/Oポート13には、撮像装置としてのCCD(Charge Coupled Device)15と、外部メモリ接続装置としてのカードリーダ16と、表示装置としての液晶モニタ17と、入力装置としての入力デバイス18と、第一の通信手段としてのUSB通信I/F(interface:インターフェース)19とが接続される。   In the I / O port 13 of the DSC 1, a CCD (Charge Coupled Device) 15 as an imaging device, a card reader 16 as an external memory connection device, a liquid crystal monitor 17 as a display device, and an input device 18 as an input device. Are connected to a USB communication I / F (interface) 19 as a first communication means.

CCD15は、受光部を有する。この受光部は、複数の受光素子を有する。この複数の受光素子は、受光部に、その全体が略長方形となるように縦方向および横方向に並べて配列されている。各受光素子は、受光光量に応じたレベル信号を出力する。CCD15は、複数の受光素子から出力されるレベル信号に基づいて、受光素子と同数のピクセルデータを生成する。また、CCD15は、この生成した複数のピクセルデータを1つの撮像データとして出力する。   The CCD 15 has a light receiving part. The light receiving unit has a plurality of light receiving elements. The plurality of light receiving elements are arranged in the light receiving portion side by side in the vertical direction and the horizontal direction so that the whole is substantially rectangular. Each light receiving element outputs a level signal corresponding to the amount of received light. The CCD 15 generates the same number of pixel data as the light receiving elements based on the level signals output from the plurality of light receiving elements. Further, the CCD 15 outputs the generated plurality of pixel data as one image data.

カードリーダ16は、挿入部を有する。この挿入部には、カード形状に形成された半導体メモリ20を挿入することができる。カード形状に形成された半導体メモリ20としては、たとえばフラッシュメモリなどがある。そして、カードリーダ16は、挿入部に挿入されている半導体メモリ20にデータを書き込んだり、挿入部に挿入されている半導体メモリ20からデータを読み出したりする。   The card reader 16 has an insertion part. A semiconductor memory 20 formed in a card shape can be inserted into the insertion portion. Examples of the semiconductor memory 20 formed in a card shape include a flash memory. Then, the card reader 16 writes data to the semiconductor memory 20 inserted in the insertion unit, and reads data from the semiconductor memory 20 inserted in the insertion unit.

液晶モニタ17は、表示部を有する。液晶モニタ17は、表示データに基づいて、表示部に、その表示データに基づく画像を表示する。   The liquid crystal monitor 17 has a display unit. The liquid crystal monitor 17 displays an image based on the display data on the display unit based on the display data.

入力デバイス18は、複数の入力キーやタッチパネルを有する。入力デバイス18は、ユーザがプッシュ操作した入力キーに応じた入力データを出力する。また、入力デバイス18は、タッチパネルのユーザにより押圧された位置に応じた入力データを出力する。   The input device 18 has a plurality of input keys and a touch panel. The input device 18 outputs input data corresponding to the input key pushed by the user. The input device 18 outputs input data corresponding to the position pressed by the user of the touch panel.

USB通信I/F19は、USBコネクタを有する。USBコネクタには、USBケーブル3が接続される。USB通信I/F19は、USBコネクタから信号が入力されるとその信号からデータを抽出する。また、USB通信I/F19は、送信するデータに基づいて信号を生成し、この信号をUSBコネクタへ出力する。   The USB communication I / F 19 has a USB connector. A USB cable 3 is connected to the USB connector. When a signal is input from the USB connector, the USB communication I / F 19 extracts data from the signal. The USB communication I / F 19 generates a signal based on the data to be transmitted, and outputs this signal to the USB connector.

図3は、図2中のフラッシュメモリ12の記憶内容を示す図である。DSC1のフラッシュメモリ12には、EXIF(Exchangeable Image File Format)画像データ生成プログラム21と、印刷指示データ生成プログラム22と、画像データ送信プログラム23と、通信制御プログラム群とが記憶される。DSC1の通信制御プログラム群は、USBマスストレージクラスプログラム24とを有する。   FIG. 3 is a diagram showing the stored contents of the flash memory 12 in FIG. The flash memory 12 of the DSC 1 stores an EXIF (Exchangeable Image File Format) image data generation program 21, a print instruction data generation program 22, an image data transmission program 23, and a communication control program group. The DSC 1 communication control program group includes a USB mass storage class program 24.

EXIF画像データ生成プログラム21は、中央処理装置11に実行されることでEXIF画像データ生成部を実現する。EXIF画像データ生成部は、CCD15から出力された撮像データを圧縮してJPEG(Joint Photographic Coding Experts Group)形式の画像データを生成し、この画像データにEXIFヘッダやサムネイル画像データを付加したEXIF画像データを生成し、このEXIF画像データをカードリーダ16へ出力する。EXIFヘッダには、画像の縦方向のピクセル数および横方向のピクセル数、撮影条件などを含めることができる。   The EXIF image data generation program 21 is executed by the central processing unit 11 to realize an EXIF image data generation unit. The EXIF image data generation unit generates image data in JPEG (Joint Photographic Coding Experts Group) format by compressing the image data output from the CCD 15, and EXIF image data obtained by adding an EXIF header or thumbnail image data to the image data. And outputs this EXIF image data to the card reader 16. The EXIF header can include the number of pixels in the vertical direction and the number of pixels in the horizontal direction, shooting conditions, and the like.

印刷指示データ生成プログラム22は、中央処理装置11に実行されることで印刷指示データ生成部を実現する。印刷指示データ生成部は、液晶モニタ17に画像選択画面や印刷条件選択画面を表示する。また、印刷指示データ生成部は、印刷指示データを生成する。この印刷指示データには、画像選択画面に基づいて選択された画像を、印刷条件選択画面に基づいて選択された印刷条件で印刷するための印刷指示が含まれる。   The print instruction data generation program 22 is executed by the central processing unit 11 to realize a print instruction data generation unit. The print instruction data generation unit displays an image selection screen and a print condition selection screen on the liquid crystal monitor 17. The print instruction data generation unit generates print instruction data. The print instruction data includes a print instruction for printing the image selected based on the image selection screen under the print conditions selected based on the print condition selection screen.

画像データ送信プログラム23は、中央処理装置11に実行されることで、送信手段としての画像データ送信部を実現する。画像データ送信部は、送信する画像データのファイルとそのファイルから抽出するデータ位置とが指定されると、そのファイルのそのデータ位置のデータを抽出する。また、画像データ送信部は、抽出したデータを出力する。   The image data transmission program 23 is executed by the central processing unit 11 to realize an image data transmission unit as a transmission unit. When a file of image data to be transmitted and a data position extracted from the file are designated, the image data transmission unit extracts data at the data position of the file. Further, the image data transmission unit outputs the extracted data.

画像データのファイルは、あるデータ量を有する。このファイルのデータ位置とは、この画像ファイルの先頭ビットから数えた場合におけるそのあるビットの順番を示す値である。たとえば、データ位置として10kバイトが指定されると、画像データ送信部は、ファイルの先頭ビットから10kバイト目の所定の長さのデータを抽出する。   The image data file has a certain amount of data. The data position of this file is a value indicating the order of certain bits when counted from the first bit of this image file. For example, when 10 kbytes are designated as the data position, the image data transmitting unit extracts data having a predetermined length of 10 kbytes from the first bit of the file.

USBマスストレージクラスプログラム24は、中央処理装置11に実行されることでUSBマスストレージクラスを実現する。USBマスストレージクラスでは、ホストとデバイスとの間でデータをバルク転送したりすることができる。なお、本実施の形態では、サブクラスとしては、SCSIサブクラスが使用される。   The USB mass storage class program 24 is executed by the central processing unit 11 to realize a USB mass storage class. In the USB mass storage class, data can be bulk transferred between a host and a device. In the present embodiment, a SCSI subclass is used as the subclass.

図4は、図2のDSC1において撮像時に実現される機能を示すブロック図である。図4に示すように、撮像時には、DSC1においてEXIF画像データ生成部31が実現される。   FIG. 4 is a block diagram showing functions realized at the time of imaging in the DSC 1 of FIG. As shown in FIG. 4, the EXIF image data generation unit 31 is realized in the DSC 1 at the time of imaging.

CCD15は、EXIF画像データ生成部31へ撮像データを出力する。EXIF画像データ生成部31は、この撮像データをJPEG方式で圧縮し、EXIF画像データを生成する。カードリーダ16は、このEXIF画像データに所定のファイル名をつけて、このEXIF画像データを半導体メモリ20に書き込む。カードリーダ16は、半導体メモリ20内の複数のEXIF画像データのファイル同士32が互いに区別できるように、その複数のEXIF画像ファイル32には、互いに異なるファイル名を付加する。   The CCD 15 outputs imaging data to the EXIF image data generation unit 31. The EXIF image data generation unit 31 compresses the imaged data using the JPEG method to generate EXIF image data. The card reader 16 assigns a predetermined file name to the EXIF image data and writes the EXIF image data into the semiconductor memory 20. The card reader 16 adds different file names to the plurality of EXIF image files 32 so that the files 32 of the plurality of EXIF image data in the semiconductor memory 20 can be distinguished from each other.

図5は、図4中のEXIF画像データ生成部31による圧縮処理の説明図である。図5(A)は、画像における複数のピクセルの配列を説明する図である。CCD15が出力する撮像データの画像は、図5(A)に示すように、縦方向のピクセル数より横方向のピクセル数が多い、全体が横長の長方形の画像を構成するものとして説明する。   FIG. 5 is an explanatory diagram of compression processing by the EXIF image data generation unit 31 in FIG. FIG. 5A is a diagram illustrating an arrangement of a plurality of pixels in an image. As shown in FIG. 5A, the image of the imaged data output from the CCD 15 will be described as constituting a horizontally-long rectangular image having a larger number of pixels in the horizontal direction than the number of pixels in the vertical direction.

このような撮像データが入力されると、EXIF画像データ生成部31は、図5(B)に示すように、8×8ピクセルを1つのブロックとして、そのブロック毎に空間周波数を演算する。なお、1ブロックあたりのピクセル数は、8×8に限られず、たとえば16×16などであってもよい。   When such imaging data is input, the EXIF image data generation unit 31 calculates 8 × 8 pixels as one block and calculates a spatial frequency for each block, as shown in FIG. 5B. Note that the number of pixels per block is not limited to 8 × 8, and may be 16 × 16, for example.

また、EXIF画像データ生成部31は、図5(B)に示すように、横長の画像の長辺に沿った図中上側のブロックの行から順番に、且つ、同じブロック行の中では図中左側のブロックから順番に、ブロックの空間周波数を演算する。図5(B)は、ブロックの画像上の配置を示す図である。   Further, as shown in FIG. 5B, the EXIF image data generation unit 31 sequentially starts from the row of the upper block in the drawing along the long side of the horizontally long image, and in the same block row. The spatial frequency of the block is calculated in order from the left block. FIG. 5B is a diagram showing the arrangement of blocks on the image.

そして、図5(B)に示すようにm行n列(m、nは、1以上の整数)のブロックのすべてについて空間周波数を演算したら、EXIF画像データ生成部31は、空間周波数の総データ量が所定のデータ量以下となるように空間周波数のデータを間引く。EXIF画像データ生成部31は、JPEG形式のデータの総データ量が所定量以下となるまでこのデータの間引き処理を繰り返す。以上のエンコード処理によって、EXIF画像データ生成部31は、所定のデータ量以下のデータ量のJPEG形式のデータを生成する。なお、JPEG形式のデータにおいて複数のブロックのデータ量は、一定の量に揃わない。   Then, as shown in FIG. 5B, when the spatial frequency is calculated for all the blocks of m rows and n columns (m and n are integers of 1 or more), the EXIF image data generation unit 31 calculates the total spatial frequency data. The spatial frequency data is thinned out so that the amount is equal to or less than the predetermined data amount. The EXIF image data generation unit 31 repeats this data thinning process until the total amount of data in JPEG format is equal to or less than a predetermined amount. Through the above encoding process, the EXIF image data generation unit 31 generates JPEG data having a data amount equal to or less than a predetermined data amount. Note that the data amount of a plurality of blocks in JPEG format data is not uniform.

図5(C)は、EXIF画像データ上での各ブロックのデータ配置を示す図である。EXIF画像データの先頭には、EXIFヘッダのデータが格納される。このEXIFヘッダの後には、複数のブロックのデータがそのエンコード順にしたがって格納されている。つまり、EXIFヘッダの後には、画像の左上のブロック(1)のデータが続く。画像の左上のブロック(1)のデータの次には、そのブロックの右隣りのブロック(2)のデータが続く。画像の一番上のブロック行の右端のブロック(n)のデータの次には、画像の上から二行目のブロック行の左端のブロック(n+1)のデータが続く。複数のブロックデータの最後には、画像の右下のブロック(m×n)のデータがくる。複数のブロックの後には、ファイルのデータの終わりを示すEOF(End Of File)データが格納される。   FIG. 5C is a diagram showing the data arrangement of each block on the EXIF image data. EXIF header data is stored at the beginning of the EXIF image data. After the EXIF header, a plurality of blocks of data are stored in the encoding order. That is, the data of the upper left block (1) of the image follows the EXIF header. The data of the block (1) at the upper left of the image is followed by the data of the block (2) right next to the block. Following the data in the rightmost block (n) in the top block row of the image, the data in the leftmost block (n + 1) in the second block row from the top of the image follows. At the end of the plurality of block data, the data of the lower right block (m × n) of the image comes. After the plurality of blocks, EOF (End Of File) data indicating the end of data of the file is stored.

なお、このように撮像データをJPEG形式に圧縮し、その圧縮された画像データを半導体メモリ20に記憶させた場合、その画像における画像の行数は、ブロック行の行数となる。   When the imaging data is compressed in the JPEG format and the compressed image data is stored in the semiconductor memory 20, the number of image lines in the image is the number of block lines.

図6は、図1中のプリンタ2のハードウェア構成を示すブロック図である。プリンタ2は、中央処理装置41と、中央処理装置41がプログラムの実行の際に利用するメモリ42と、プログラムを記憶する記憶部43と、I/Oポート44と、これらを接続するシステムバス45とを有する。   FIG. 6 is a block diagram showing a hardware configuration of the printer 2 in FIG. The printer 2 includes a central processing unit 41, a memory 42 used when the central processing unit 41 executes a program, a storage unit 43 that stores the program, an I / O port 44, and a system bus 45 that connects them. And have.

プリンタ2のI/Oポート44には、第二の通信手段としてのUSB通信I/F46と、印刷デバイス47とが接続される。プリンタ2のUSB通信I/F46は、DSC1のUSB通信I/F19と同様の機能を有するものであり、その説明を省略する。ただし、プリンタ2のUSB通信I/F46は、USBホストとして機能し、DSC1のUSB通信I/F19は、USBデバイスとして機能する。   A USB communication I / F 46 as a second communication unit and a printing device 47 are connected to the I / O port 44 of the printer 2. The USB communication I / F 46 of the printer 2 has the same function as that of the USB communication I / F 19 of the DSC 1, and the description thereof is omitted. However, the USB communication I / F 46 of the printer 2 functions as a USB host, and the USB communication I / F 19 of the DSC 1 functions as a USB device.

図7は、図1中のプリンタ2の内部機構を示す透過斜視図である。印刷デバイス47は、給紙トレイ51と、給紙ローラ52と、搬送ローラ対53と、排紙トレイ54と、キャリッジ55と、キャリッジ保持部材56とを有する。給紙ローラ52と、搬送ローラ対53と、キャリッジ保持部材56と、キャリッジ55とは、プリンタ2の筐体57の内部に配設される。   FIG. 7 is a transparent perspective view showing the internal mechanism of the printer 2 in FIG. The printing device 47 includes a paper feed tray 51, a paper feed roller 52, a transport roller pair 53, a paper discharge tray 54, a carriage 55, and a carriage holding member 56. The paper feed roller 52, the conveyance roller pair 53, the carriage holding member 56, and the carriage 55 are disposed inside the housing 57 of the printer 2.

給紙トレイ51には、用紙58が載置される。給紙ローラ52は、給紙トレイ51上の用紙58をニップし、給紙トレイ51内の一番上の用紙58を排紙トレイ54の方向へ送り出す。搬送ローラ対53は、この給紙トレイ51から送り出された用紙58をさらに排紙トレイ54の方向へ送る。これにより、給紙トレイ51に載置された用紙58は、1枚ずつ給紙トレイ51から排紙トレイ54へ搬送され、排紙トレイ54に排出される。   The paper 58 is placed on the paper feed tray 51. The paper feed roller 52 nips the paper 58 on the paper feed tray 51 and sends the top paper 58 in the paper feed tray 51 toward the paper discharge tray 54. The conveyance roller pair 53 further feeds the paper 58 sent out from the paper feed tray 51 in the direction of the paper discharge tray 54. As a result, the sheets 58 placed on the sheet feed tray 51 are conveyed one by one from the sheet feed tray 51 to the sheet discharge tray 54 and are discharged to the sheet discharge tray 54.

キャリッジ保持部材56は、長い棒形状に形成される。また、このキャリッジ保持部材56は、搬送ローラ対53と排紙トレイ54との間の用紙58の搬送経路の上方において、その長尺方向が搬送ローラ対53の伸在方向と略平行となる姿勢で配設される。キャリッジ55は、このキャリッジ保持部材56に移動可能に取り付けられる。これにより、キャリッジ55は、搬送ローラ対53の伸在方向に移動することができる。   The carriage holding member 56 is formed in a long bar shape. The carriage holding member 56 is positioned so that its longitudinal direction is substantially parallel to the extending direction of the conveyance roller pair 53 above the conveyance path of the paper 58 between the conveyance roller pair 53 and the paper discharge tray 54. Arranged. The carriage 55 is movably attached to the carriage holding member 56. As a result, the carriage 55 can move in the extending direction of the conveyance roller pair 53.

キャリッジ55は、インクタンクと、複数のノズルとを有する。ノズルは、インクタンク内のインクを吐出する。また、複数のノズルは、キャリッジ55の移動方向と垂直な方向に沿って並べて形成される。なお、複数のノズルは、複数の列に分けて並べられていてもよい。   The carriage 55 has an ink tank and a plurality of nozzles. The nozzle discharges ink in the ink tank. The plurality of nozzles are formed side by side along a direction perpendicular to the moving direction of the carriage 55. The plurality of nozzles may be arranged in a plurality of rows.

このような構成を有する印刷デバイス47は、印刷制御データに基づいて搬送ローラ対53を回転させて、キャリッジ55に対向する位置(印刷位置)に用紙58を搬送する。また、印刷デバイス47は、印刷制御データに基づいてキャリッジ55を移動させながら、所定のノズルからインクを吐出させる。そして、キャリッジ55に1印刷行分のインクを吐出させたら、印刷デバイス47は、搬送ローラ対53を回転させて用紙58をその1印刷行分だけ送る。また、印刷デバイス47は、次の印刷制御データに基づいてキャリッジ55を移動させながら、所定のノズルからインクを吐出させる。このように1印刷行ずつのキャリッジ55からのインクの吐出制御と、1印刷行ずつの用紙58送りとを交互に繰り返すことで、印刷デバイス47は、用紙58の紙面に印刷制御データに基づく画像を形成する。   The printing device 47 having such a configuration rotates the conveyance roller pair 53 based on the print control data, and conveys the paper 58 to a position (printing position) facing the carriage 55. Further, the printing device 47 ejects ink from predetermined nozzles while moving the carriage 55 based on the printing control data. When ink for one printing line is ejected onto the carriage 55, the printing device 47 rotates the pair of conveying rollers 53 to feed the paper 58 for the printing line. Further, the printing device 47 ejects ink from a predetermined nozzle while moving the carriage 55 based on the next printing control data. In this way, by alternately repeating the ink ejection control from the carriage 55 for each print line and the paper 58 feed for each print line, the printing device 47 can print an image based on the print control data on the surface of the paper 58. Form.

また、印刷デバイス47は、用紙58へのインクの吐出が完了したら、搬送ローラ対53を回転させて、印刷位置から排紙トレイ54へ用紙58を排出する。これにより、印刷制御データに基づく画像が形成された用紙58が排紙トレイ54に排出されることになる。   When the ink ejection onto the paper 58 is completed, the printing device 47 rotates the transport roller pair 53 and discharges the paper 58 from the printing position to the paper discharge tray 54. As a result, the paper 58 on which an image based on the print control data is formed is discharged to the paper discharge tray 54.

図8は、図6中の記憶部43の記憶内容を示す図である。プリンタ2の記憶部43には、印刷指示データ解釈プログラム61と、キャッシュシステムプログラム62と、デコーダプログラム63と、印刷制御データ生成プログラム64と、通信制御プログラム群とが記憶される。プリンタ2の通信制御プログラム群は、USBマスストレージクラスプログラム65を有する。図9は、図1のダイレクト印刷システムに実現される機能を示すブロック図である。図8に示す各種プログラムを実行することで、図9におけるプリンタ2側の各種機能が実現される。   FIG. 8 is a diagram showing the stored contents of the storage unit 43 in FIG. The storage unit 43 of the printer 2 stores a print instruction data interpretation program 61, a cache system program 62, a decoder program 63, a print control data generation program 64, and a communication control program group. The communication control program group of the printer 2 has a USB mass storage class program 65. FIG. 9 is a block diagram showing functions implemented in the direct printing system of FIG. By executing the various programs shown in FIG. 8, various functions on the printer 2 side in FIG. 9 are realized.

USBマスストレージクラスプログラム65は、中央処理装置41に実行されることでUSBマスストレージクラス95を実現する。なお、本実施の形態1では、サブクラスとしてSCSIサブクラスが使用される。   The USB mass storage class program 65 is executed by the central processing unit 41 to realize the USB mass storage class 95. In the first embodiment, a SCSI subclass is used as a subclass.

印刷指示データ解釈プログラム61は、中央処理装置41に実行されることで印刷指示データ解釈部91を実現する。印刷指示データ解釈部91は、印刷指示データを解釈して、その印刷指示データにて指定された印刷処理をプリンタ2に実行させる。   The print instruction data interpretation program 61 is executed by the central processing unit 41 to realize the print instruction data interpretation unit 91. The print instruction data interpretation unit 91 interprets the print instruction data, and causes the printer 2 to execute the printing process designated by the print instruction data.

キャッシュシステムプログラム62は、中央処理装置41に実行されることで、読込手段および出力手段としてのキャッシュシステム92を実現する。キャッシュシステム92は、メモリ42にキャッシュメモリ71を生成する。このキャッシュメモリ71は、所定本数の画像データバッファとしての所定本数のキャッシュバッファ72を有する。各キャッシュバッファ72には、記憶しているデータのファイル名(ファイルID)およびデータ位置の範囲を示す情報と、キャッシュした順番(たとえば時刻)の情報とが対応付けられる。   The cache system program 62 is executed by the central processing unit 41 to realize a cache system 92 as a reading unit and an output unit. The cache system 92 generates a cache memory 71 in the memory 42. The cache memory 71 has a predetermined number of cache buffers 72 as a predetermined number of image data buffers. Each cache buffer 72 is associated with information indicating the range of the file name (file ID) and data position of the stored data, and information on the cached order (for example, time).

図10は、図6中のメモリ42に生成されるキャッシュメモリ71の構成を示す図である。図10のキャッシュメモリ71は、P本のキャッシュバッファ72を有する。また、各キャッシュバッファ72は、そのサイズ分のデータを記憶する領域として生成される。   FIG. 10 is a diagram showing a configuration of the cache memory 71 generated in the memory 42 in FIG. The cache memory 71 in FIG. 10 has P cache buffers 72. Each cache buffer 72 is generated as an area for storing data corresponding to the size.

なお、キャッシュバッファ72の本数Pは、印刷可能な画像データサイズの上限値に対応する所定の大きな値とされる。たとえば、ブロックの縦横ピクセル数がhであるEXIF(JPEG)形式の画像データの場合、デコーダ93によりデコード可能な画素数(画像の一辺の画素数)がαとし、画像の縦横比が3:4とすると、Pは、値(α×3/4)/h(=α/h×3/4)の小数点以下を切り上げた整数とされる。あるいは4upの場合を想定して、たとえば、ブロックの縦横ピクセル数がhであるEXIF(JPEG)形式の画像データの場合、デコーダ93によりデコード可能な画素数(画像の一辺の画素数)がαとし、画像の縦横比が3:4とすると、Pは、値(α×3/4)/h×2(=α/h×3/2)の小数点以下を切り上げた整数とされる。   Note that the number P of the cache buffers 72 is a predetermined large value corresponding to the upper limit value of the printable image data size. For example, in the case of image data in EXIF (JPEG) format in which the number of vertical and horizontal pixels of a block is h, the number of pixels that can be decoded by the decoder 93 (the number of pixels on one side of the image) is α, and the aspect ratio of the image is 3: 4. Then, P is an integer obtained by rounding up the decimal point of the value (α × 3/4) / h (= α / h × 3/4). Alternatively, assuming the case of 4up, for example, in the case of EXIF (JPEG) format image data in which the number of vertical and horizontal pixels of the block is h, the number of pixels that can be decoded by the decoder 93 (the number of pixels on one side of the image) is α. When the aspect ratio of the image is 3: 4, P is an integer obtained by rounding up the value (α × 3/4) / h × 2 (= α / h × 3/2) after the decimal point.

また、キャッシュシステム92は、デコーダ93からデータの出力要求があったら、まず、その取得要求に係るデータがキャッシュメモリ71に記憶されているか否かを確認する。そして、取得要求に係るデータがキャッシュメモリ71に記憶されている場合には、キャッシュシステム92は、そのデータをキャッシュメモリ71から読み出して出力する。   In addition, when there is a data output request from the decoder 93, the cache system 92 first checks whether or not the data related to the acquisition request is stored in the cache memory 71. When data related to the acquisition request is stored in the cache memory 71, the cache system 92 reads the data from the cache memory 71 and outputs the data.

取得要求に係るデータがキャッシュメモリ71に記憶されていない場合には、キャッシュシステム92は、その取得要求に係るデータが先頭となるように1つのキャッシュバッファ72のサイズに等しいバイト数のデータの送信要求を生成する。なお、この送信要求では、そのキャッシュするデータのファイル名(あるいはファイルID)も指定される。   When the data related to the acquisition request is not stored in the cache memory 71, the cache system 92 transmits the number of bytes equal to the size of one cache buffer 72 so that the data related to the acquisition request is at the head. Generate a request. In this transmission request, the file name (or file ID) of the data to be cached is also specified.

また、キャッシュシステム92は、要求したデータを受信すると、空いているキャッシュバッファ72を選択して、その選択したキャッシュバッファ72に受信したデータを格納する。なお、空いているキャッシュバッファ72が無い場合には、キャッシュシステム92は、最も早くキャッシュしたキャッシュバッファ72を選択し、その選択したキャッシュバッファ72に受信したデータを格納する。FIFO(First In First Out:先読先出)方式でキャッシュメモリ71が更新される。また、キャッシュシステム92は、その新たなデータを格納したキャッシュバッファ72からあるいはUSBホスト95から出力要求に係るデータを取得し、デコーダ93へ出力する。   When the cache system 92 receives the requested data, the cache system 92 selects a free cache buffer 72 and stores the received data in the selected cache buffer 72. If there is no free cache buffer 72, the cache system 92 selects the cache buffer 72 cached earliest and stores the received data in the selected cache buffer 72. The cache memory 71 is updated by a FIFO (First In First Out) method. In addition, the cache system 92 acquires data related to the output request from the cache buffer 72 storing the new data or from the USB host 95 and outputs the data to the decoder 93.

図8に示すデコーダプログラム63は、中央処理装置41に実行されることで、画像の印刷順にしたがってデータを要求する要求手段としてのデコーダ93を実現する。デコーダ93は、EXIF画像データを復号化し、ロウ(RAW)画像データを生成する。復号化後の画像データでは、各ピクセルのデータが、データとしてピクセル毎に互いに独立した状態に分かれている。データがピクセル毎に分かれている画像データとしては、たとえば、ビットマップ形式の画像データ、TIFF(Tagged Image File Format)形式の画像データなどがある。   The decoder program 63 shown in FIG. 8 is executed by the central processing unit 41, thereby realizing a decoder 93 as a request unit that requests data according to the printing order of images. The decoder 93 decodes the EXIF image data and generates raw (RAW) image data. In the image data after decoding, the data of each pixel is divided into data independent from each other as data. Examples of the image data in which the data is divided for each pixel include bitmap image data and TIFF (Tagged Image File Format) image data.

印刷制御データ生成プログラム64は、中央処理装置41に実行されることで印刷制御データ生成部94を実現する。印刷制御データ生成部94は、データがピクセル毎に分かれている画像データと印刷のレイアウト情報とに基づいて、印刷デバイス47のキャリッジ55および搬送ローラ対53を制御するための印刷制御データを生成する。   The print control data generation program 64 is executed by the central processing unit 41 to realize the print control data generation unit 94. The print control data generation unit 94 generates print control data for controlling the carriage 55 and the conveyance roller pair 53 of the print device 47 based on the image data in which the data is divided for each pixel and the print layout information. .

次に、以上のような構成を有するダイレクト印刷システムの動作を説明する。   Next, the operation of the direct printing system having the above configuration will be described.

DSC1のUSB通信I/F19とプリンタ2のUSB通信I/F46とがUSBケーブル3で接続される。そして、DSC1では、印刷指示データ生成部81と、画像データ送信部82と、USBマスストレージクラス83とが実現される。また、プリンタ2では、印刷指示データ解釈部91と、キャッシュシステム92と、デコーダ93と、印刷制御データ生成部94と、USBマスストレージクラス95とが実現される。キャッシュシステム92は、キャッシュメモリ71を生成する。   The USB communication I / F 19 of the DSC 1 and the USB communication I / F 46 of the printer 2 are connected by the USB cable 3. In DSC 1, a print instruction data generation unit 81, an image data transmission unit 82, and a USB mass storage class 83 are realized. In the printer 2, a print instruction data interpretation unit 91, a cache system 92, a decoder 93, a print control data generation unit 94, and a USB mass storage class 95 are realized. The cache system 92 generates a cache memory 71.

プリンタ2のUSB通信I/F46は、DSC1のUSB通信I/F19へ、USBのディスクリプタの送信要求を送信する。   The USB communication I / F 46 of the printer 2 transmits a USB descriptor transmission request to the USB communication I / F 19 of the DSC 1.

USB通信I/F19は、このディスクリプタの送信要求に応じて、DSC1のディスクリプタを出力する。DSC1のディスクリプタは、プリンタ2のUSB通信I/F46へ送信される。プリンタ2のUSB通信I/F46は、受信したDSC1のディスクリプタに基づいて、エンドポイントと呼ばれる通信バッファを生成する。このエンドポイントには、USBマスストレージクラス83,95同士がデータをバルク転送するために使用するものが含まれている。これにより、USBのコンフィグレーション処理は、完了する。   The USB communication I / F 19 outputs the descriptor of DSC 1 in response to the descriptor transmission request. The descriptor of DSC 1 is transmitted to the USB communication I / F 46 of the printer 2. The USB communication I / F 46 of the printer 2 generates a communication buffer called an end point based on the received descriptor of the DSC 1. This endpoint includes what the USB mass storage classes 83 and 95 use to bulk transfer data. Thus, the USB configuration process is completed.

印刷指示データ生成部81は、まず、半導体メモリ20から、半導体メモリ20に記憶されているEXIF画像ファイル32のファイル名のリストを読み込み、このファイル名のリストを割り付けたEXIF画像ファイル32の選択画面の表示データを液晶モニタ17に出力する。これにより、液晶モニタ17には、EXIF画像ファイル32の選択画面の選択画面が表示される。なお、印刷指示データ生成部81は、ファイル名の替わりにサムネイル画像を読み込み、サムネイル画像を割り付けたEXIF画像ファイル32の画像選択画面を液晶モニタ17に表示させてもよい。   First, the print instruction data generation unit 81 reads the file name list of the EXIF image file 32 stored in the semiconductor memory 20 from the semiconductor memory 20, and selects the EXIF image file 32 to which the file name list is assigned. Are displayed on the liquid crystal monitor 17. Thereby, the selection screen of the selection screen of the EXIF image file 32 is displayed on the liquid crystal monitor 17. Note that the print instruction data generation unit 81 may read a thumbnail image instead of a file name, and cause the liquid crystal monitor 17 to display an image selection screen of the EXIF image file 32 to which the thumbnail image is assigned.

ユーザは、入力キーあるいはタッチパネルを操作して、液晶モニタ17に表示されているファイル名のリストの中から、ファイル名を選択する。この選択操作に応じて、入力デバイス18は、入力データを生成する。印刷指示データ生成部81は、入力データに基づいて、ファイル名を選択する。なお、ユーザが複数のファイル名を選択する操作をした場合には、印刷指示データ生成部81は、その複数のファイル名を選択する。   The user operates the input key or the touch panel to select a file name from the list of file names displayed on the liquid crystal monitor 17. In response to this selection operation, the input device 18 generates input data. The print instruction data generation unit 81 selects a file name based on the input data. When the user performs an operation of selecting a plurality of file names, the print instruction data generation unit 81 selects the plurality of file names.

画像を選択した後、印刷指示データ生成部81は、印刷条件選択画面を液晶モニタ17に表示させる。ユーザの操作に応じて入力デバイス18は、入力データを生成する。この入力データに基づいて、印刷指示データ生成部81は、印刷条件を選択する。なお、印刷条件としては、たとえば画像の印刷品質(高画質、標準など)、用紙58の種類(A4、B5、L判など)、1枚の用紙58に印刷する画像のレイアウト(1up、2up、4upなど)などがある。   After selecting an image, the print instruction data generation unit 81 causes the liquid crystal monitor 17 to display a print condition selection screen. The input device 18 generates input data in response to a user operation. Based on this input data, the print instruction data generation unit 81 selects a print condition. The printing conditions include, for example, the print quality of the image (high quality, standard, etc.), the type of paper 58 (A4, B5, L size, etc.), the layout of the image printed on one paper 58 (1up, 2up, etc.). 4 up).

画像および印刷条件を選択したら、印刷指示データ生成部81は、印刷指示データを生成する。   When the image and the printing conditions are selected, the print instruction data generation unit 81 generates print instruction data.

印刷指示データを生成した後、印刷指示データ生成部81は、この生成した印刷指示データをUSBマスストレージクラス83によりプリンタ2へ送信する。   After generating the print instruction data, the print instruction data generation unit 81 transmits the generated print instruction data to the printer 2 by the USB mass storage class 83.

プリンタ2のUSBマスストレージクラス95は、印刷指示データを受信すると、印刷指示データを印刷指示データ解釈部91へ出力する。なお、この印刷指示データの送信は、たとえば特開2003−256154号公報と同様の方法を利用すればよい。   When receiving the print instruction data, the USB mass storage class 95 of the printer 2 outputs the print instruction data to the print instruction data interpretation unit 91. Note that this print instruction data may be transmitted using a method similar to that disclosed in Japanese Patent Laid-Open No. 2003-256154, for example.

図11は、図10中の印刷指示データ解釈部91の動作を示すフローチャートである。   FIG. 11 is a flowchart showing the operation of the print instruction data interpretation unit 91 in FIG.

印刷指示データ解釈部91は、印刷指示データが入力されると、その印刷指示データにて指定される印刷処理の制御を開始する(ステップS1)。具体的には、印刷指示データ解釈部91は、まず、印刷指示データの中からファイル名(あるいはファイルID)を抽出し、そのファイル名等のファイルの画像サイズ情報の取得要求データを生成する。   When the print instruction data is input, the print instruction data interpretation unit 91 starts control of the print process designated by the print instruction data (step S1). Specifically, the print instruction data interpretation unit 91 first extracts a file name (or file ID) from the print instruction data, and generates acquisition request data for image size information of the file such as the file name.

この画像サイズ情報の取得要求データは、SCSIホスト97からプリンタ2のUSBマスストレージクラス95へ渡され、プリンタ2のUSBマスストレージクラス95により、DSC1のUSBマスストレージクラス83へ転送される。DSC1のUSBマスストレージクラス83は、この画像サイズ情報の取得要求データを画像データ送信部82へ出力する。   This image size information acquisition request data is transferred from the SCSI host 97 to the USB mass storage class 95 of the printer 2 and transferred to the USB mass storage class 83 of the DSC 1 by the USB mass storage class 95 of the printer 2. The USB mass storage class 83 of the DSC 1 outputs this image size information acquisition request data to the image data transmission unit 82.

画像データ送信部82は、画像サイズ情報の取得要求データを受け取ると、その取得要求データに含まれるファイル名を抽出する。また、画像データ送信部82は、そのファイル名のファイル32のEXIFヘッダから、画像の縦方向のピクセル数および横方向のピクセル数を読み込み、この画像の縦方向のピクセル数および横方向のピクセル数の情報を出力する。   When receiving the image size information acquisition request data, the image data transmission unit 82 extracts a file name included in the acquisition request data. Further, the image data transmission unit 82 reads the number of pixels in the vertical direction and the number of pixels in the horizontal direction from the EXIF header of the file 32 of the file name, and the number of pixels in the vertical direction and the number of pixels in the horizontal direction of the image. The information of is output.

この画像の縦方向のピクセル数および横方向のピクセル数の情報は、DSC1のUSBマスストレージクラス83によりプリンタ2へ送信され、プリンタ2のUSBマスストレージクラス95により印刷指示データ解釈部91に入力される。   Information on the number of pixels in the vertical direction and the number of pixels in the horizontal direction of the image is transmitted to the printer 2 by the USB mass storage class 83 of the DSC 1 and is input to the print instruction data interpretation unit 91 by the USB mass storage class 95 of the printer 2. The

画像の縦方向のピクセル数および横方向のピクセル数の情報が入力されると、印刷指示データ解釈部91は、印刷指示データに含まれるレイアウト情報とそれらの縦横の各ピクセル数とに基づいて、画像を回転させる必要があるか否かを判断する(ステップS2)。   When information on the number of pixels in the vertical direction and the number of pixels in the horizontal direction of the image is input, the print instruction data interpretation unit 91, based on the layout information included in the print instruction data and the number of pixels in the vertical and horizontal directions, It is determined whether the image needs to be rotated (step S2).

画像の縦方向のピクセル数と横方向のピクセル数の情報が入力されると、印刷指示データ解釈部91は、印刷指示データに含まれるレイアウト情報とそれらの縦横の各ピクセル数とに基づいて、画像を回転して印刷するか否かを判断する(ステップS2)。   When information on the number of pixels in the vertical direction and the number of pixels in the horizontal direction is input, the print instruction data interpretation unit 91, based on the layout information included in the print instruction data and the number of pixels in the vertical and horizontal directions, It is determined whether the image is rotated and printed (step S2).

たとえば、キャリッジ走査方向が用紙58の短辺と平行であって、印刷レイアウトが1upまたは4upである場合、画像の縦方向のピクセル数が横方向のピクセル数より小さいときには、印刷指示データ解釈部91は、画像を回転すると判断し、画像の縦方向のピクセル数が横方向のピクセル数以上であるときには、印刷指示データ解釈部91は、画像を回転しないと判断する。   For example, when the carriage scanning direction is parallel to the short side of the paper 58 and the print layout is 1 up or 4 up, the print instruction data interpretation unit 91 is used when the number of pixels in the vertical direction of the image is smaller than the number of pixels in the horizontal direction. Is determined to rotate the image, and when the number of pixels in the vertical direction of the image is equal to or greater than the number of pixels in the horizontal direction, the print instruction data interpretation unit 91 determines not to rotate the image.

また、たとえば、キャリッジ走査方向が用紙58の短辺と平行であって、印刷レイアウトが2upまたは8upである場合、画像の縦方向のピクセル数が横方向のピクセル数以下であるときには、印刷指示データ解釈部91は、画像を回転しないと判断し、画像の縦方向のピクセル数が横方向のピクセル数より大きいときには、印刷指示データ解釈部91は、画像を回転すると判断する。   Further, for example, when the carriage scanning direction is parallel to the short side of the paper 58 and the print layout is 2 up or 8 up, the print instruction data is obtained when the number of pixels in the vertical direction of the image is equal to or less than the number of pixels in the horizontal direction. The interpretation unit 91 determines that the image is not rotated, and when the number of pixels in the vertical direction of the image is larger than the number of pixels in the horizontal direction, the print instruction data interpretation unit 91 determines to rotate the image.

図12は、画像のピクセル数について説明する図である。図12(A)に示すように、画像の横ピクセル数は、エンコード方向に沿った一辺(つまりブロック行)のピクセル数であり、画像の縦ピクセル数は、エンコード方向に対して垂直な一辺(つまりブロック列)のピクセル数である。   FIG. 12 is a diagram for explaining the number of pixels of an image. As shown in FIG. 12A, the number of horizontal pixels of an image is the number of pixels on one side (that is, a block row) along the encoding direction, and the number of vertical pixels of the image is one side (vertical to the encoding direction ( That is, the number of pixels in the block row).

また、画像を回転すると判断する場合には、図12(B)に示すように、キャリッジの走査方向(つまり1回に印刷するライン向き)と画像データのエンコード方向に対応する画像201上の方向とが垂直となる場合である。   When it is determined that the image is to be rotated, as shown in FIG. 12B, the direction on the image 201 corresponding to the scanning direction of the carriage (that is, the line direction to be printed at one time) and the encoding direction of the image data. Are vertical.

画像を回転する必要がないと判断した場合、印刷指示データ解釈部91は、ファイル名を指定して、そのファイル名のファイル32に含まれるEXIF画像データをデコードする指示をデコーダ93へ出力する(ステップS3)。つまり、印刷指示データ解釈部91は、画像を回転することなくデコード処理を行う指示をデコーダ93へ出力する。   If it is determined that it is not necessary to rotate the image, the print instruction data interpretation unit 91 designates a file name and outputs an instruction to decode the EXIF image data included in the file 32 of the file name to the decoder 93 ( Step S3). That is, the print instruction data interpretation unit 91 outputs an instruction to perform decoding processing to the decoder 93 without rotating the image.

また、画像を回転する必要があると判断した場合、印刷指示データ解釈部91は、ファイル名(あるいはファイルID)を指定するとともに、そのファイル名等のファイル32に含まれるEXIF画像データの画像を回転しながらデコードする指示をデコーダ93へ出力する(ステップS4)。   If it is determined that the image needs to be rotated, the print instruction data interpretation unit 91 designates the file name (or file ID), and the EXIF image data image included in the file 32 such as the file name. An instruction to decode while rotating is output to the decoder 93 (step S4).

図13は、図10中のデコーダ93の動作を示すフローチャートである。図14は、図10中のキャッシュシステム92の動作を示すフローチャートである。   FIG. 13 is a flowchart showing the operation of the decoder 93 in FIG. FIG. 14 is a flowchart showing the operation of the cache system 92 in FIG.

デコーダ93は、まず、印刷指示データ解釈部91からのデコード指示に画像を回転させる指示が含まれているか否かを判断する(ステップS11)。   First, the decoder 93 determines whether or not an instruction to rotate the image is included in the decode instruction from the print instruction data interpretation unit 91 (step S11).

画像を回転させる指示が含まれていない場合、デコーダ93は、EXIF画像データの読み込みを開始する(ステップS12)。具体的には、デコーダ93は、ファイル名を指定して、そのファイルの先頭から1ワード分のデータを出力する指示をキャッシュシステム92へ出力する。   If the instruction to rotate the image is not included, the decoder 93 starts reading the EXIF image data (step S12). Specifically, the decoder 93 designates a file name and outputs an instruction to output data for one word from the head of the file to the cache system 92.

ファイルの先頭から1ワード分のデータを出力する指示が入力されると、キャッシュシステム92は、その指示に係る1ワード分のデータがキャッシュメモリ71内に格納されているか否かを判断する(ステップS31)。指定されたファイル名のEXIF画像ファイル32をはじめて読み込む場合には、そのファイルのデータはキャッシュメモリ71に読み込まれていない。したがって、キャッシュシステム92は、その指示に係る1ワード分のデータがキャッシュメモリ71内に格納されていないと判断する。   When an instruction to output data for one word from the head of the file is input, the cache system 92 determines whether or not the data for one word related to the instruction is stored in the cache memory 71 (step). S31). When the EXIF image file 32 having the designated file name is read for the first time, the data of the file is not read into the cache memory 71. Therefore, the cache system 92 determines that the data for one word related to the instruction is not stored in the cache memory 71.

指示に係る1ワード分のデータがキャッシュメモリ71内に格納されていない場合、キャッシュシステム92は、データの送信要求を生成する(ステップS32)。このデータの送信要求には、要求に係るファイル名と、読み込むデータのデータ位置の範囲(たとえば読み込むデータ位置の範囲の先頭バイトのデータ位置と最終バイトのデータ位置とを組み合わせたもの)とが含まれる。最初のデータの送信要求では、読み込むデータの先頭バイトとしてファイルの先頭バイトが指定され、最終バイトとしてキャッシュバッファ72のサイズに相当するバイトが指定される。   When the data for one word related to the instruction is not stored in the cache memory 71, the cache system 92 generates a data transmission request (step S32). This data transmission request includes the file name associated with the request and the range of the data position of the data to be read (for example, a combination of the data position of the first byte and the data position of the last byte of the range of the read data position) It is. In the first data transmission request, the first byte of the file is designated as the first byte of the data to be read, and the byte corresponding to the size of the cache buffer 72 is designated as the last byte.

このデータの送信要求は、キャッシュシステム92から出力された後、プリンタ2のUSBマスストレージクラス95、プリンタ2のUSB通信I/F46、DSC1のUSB通信I/F19およびDSC1のUSBマスストレージクラス83を介して、画像データ送信部82へ送信される。   After the data transmission request is output from the cache system 92, the USB mass storage class 95 of the printer 2, the USB communication I / F 46 of the printer 2, the USB communication I / F 19 of DSC1, and the USB mass storage class 83 of DSC1 are output. To the image data transmitting unit 82.

画像データ送信部82は、データの送信要求が入力されると、その要求に係るデータを半導体メモリ20から読み込む。この最初のデータの要求に基づいて、画像データ送信部82は、指定されたファイル名のEXIF画像ファイル32の先頭バイトから、キャッシュバッファ72のサイズに相当するバイトまでのデータを読み込む。   When a data transmission request is input, the image data transmission unit 82 reads data relating to the request from the semiconductor memory 20. Based on the request for the first data, the image data transmission unit 82 reads data from the first byte of the EXIF image file 32 having the designated file name to a byte corresponding to the size of the cache buffer 72.

画像データ送信部82に読み込まれたデータは、画像データ送信部82から出力された後、DSC1のUSBマスストレージクラス83、DSC1のUSB通信I/F19、プリンタ2のUSB通信I/F46およびプリンタ2のUSBマスストレージクラス95を介して、キャッシュシステム92へ送信される。   After the data read into the image data transmission unit 82 is output from the image data transmission unit 82, the USB mass storage class 83 of DSC 1, the USB communication I / F 19 of DSC 1, the USB communication I / F 46 of printer 2, and the printer 2 Is sent to the cache system 92 via the USB mass storage class 95.

キャッシュシステム92は、要求していたデータが入力されると、そのデータを空いているキャッシュバッファ72に書き込む(ステップS33)。また、キャッシュシステム92は、そのキャッシュバッファ72に格納したデータのファイル名および格納しているデータ位置の範囲を示す情報と、キャッシュした時刻の情報とを記憶する。なお、空いているキャッシュバッファ72が無い場合には、キャッシュシステム92は、最も早くデータをキャッシュしたキャッシュバッファ72を選択し、その選択したキャッシュバッファ72に受信したデータを上書きする。   When the requested data is input, the cache system 92 writes the data in the free cache buffer 72 (step S33). The cache system 92 also stores information indicating the file name of the data stored in the cache buffer 72 and the range of the stored data position, and cache time information. If there is no free cache buffer 72, the cache system 92 selects the cache buffer 72 that cached the data earliest and overwrites the received data in the selected cache buffer 72.

そして、キャッシュシステム92は、そのデータをデコーダ93へ出力する(ステップS34)。   Then, the cache system 92 outputs the data to the decoder 93 (step S34).

キャッシュシステム92に要求した1ワード分のデータがキャッシュシステム92から入力されると、図13に示すように、デコーダ93は、そのデータの入力によって、ブロック1つ分のすべてのデータの読み込みが完了したか否かを判断する(ステップS13)。そして、デコーダ93は、JPEGの符号化ブロック1つ分のすべてのデータの読み込みが完了するまで、次の1ワード分のデータの出力要求をキャッシュシステム92へ繰り返し出力する。   When the data for one word requested to the cache system 92 is input from the cache system 92, as shown in FIG. 13, the decoder 93 completes the reading of all the data for one block by the input of the data. It is determined whether or not it has been done (step S13). The decoder 93 then repeatedly outputs an output request for the next one word of data to the cache system 92 until all the data for one JPEG encoded block has been read.

キャッシュシステム92は、デコーダ93から1ワード分のデータの出力要求が入力される度に、キャッシュバッファ72のデータの範囲を示す情報と要求されたデータの位置とを比較して、その要求に係るデータがキャッシュメモリ71内にあるか否かを判断する(ステップS31)。また、キャッシュシステム92は、キャッシュメモリ71内にデータがある場合には、キャッシュメモリ71から読み出して出力し(ステップS34)、キャッシュメモリ71内にデータがない場合には、DSC1から新たなデータを取得して(ステップS32,S33)、要求に係るデータを出力する(ステップS34)。   Each time a data output request for one word is input from the decoder 93, the cache system 92 compares information indicating the data range of the cache buffer 72 with the position of the requested data, and relates to the request. It is determined whether or not the data is in the cache memory 71 (step S31). Further, when there is data in the cache memory 71, the cache system 92 reads and outputs the data from the cache memory 71 (step S34), and when there is no data in the cache memory 71, new data is received from the DSC 1. Acquired (steps S32 and S33), and outputs data related to the request (step S34).

デコーダ93は、ブロック1つ分のすべてのデータの読み込みが完了すると、そのブロックのデコード処理を行う(ステップS14)。デコーダ93は、復号化したピクセル毎のピクセルのデータを印刷制御データ生成部94へ出力する。なお、デコード処理は、1ブロック毎ではなく所定の数のブロックに対してまとめて行うようにしてもよい。   When the reading of all the data for one block is completed, the decoder 93 performs a decoding process for the block (step S14). The decoder 93 outputs the decoded pixel data for each pixel to the print control data generation unit 94. Note that the decoding process may be performed collectively for a predetermined number of blocks instead of for each block.

デコード処理が完了すると、デコーダ93は、印刷指示データ解釈部91が指定したファイルのEXIF画像データをすべて読み込んだか否かを判断する(ステップS15)。そして、デコーダ93は、指定されたファイルのすべてのEXIF画像データを読み込んだ場合には、デコード処理を終了する。   When the decoding process is completed, the decoder 93 determines whether all the EXIF image data of the file designated by the print instruction data interpretation unit 91 has been read (step S15). When the decoder 93 has read all the EXIF image data of the designated file, the decoder 93 ends the decoding process.

なお、ファイルのすべてのEXIF画像データを読み込んだ否かは、ファイルの最後に付加されているEOFデータを読み込んだか否かに基づいて判断すればよい。   Whether or not all the EXIF image data of the file has been read may be determined based on whether or not the EOF data added at the end of the file has been read.

指定されたファイルのすべてのEXIF画像データの読込みが完了していない場合には、デコーダ93は、次のブロックの先頭ビットから、ワード毎のデータ読み込み処理を再開する(ステップS16)。   If reading of all the EXIF image data of the designated file has not been completed, the decoder 93 resumes the data reading process for each word from the first bit of the next block (step S16).

なお、ブロック1つ分のすべてのデータの読み込みが完了したと判断する際に、デコーダ93は、その最後に読み込んだデータの最終バイトの次のバイトを次のブロックの先頭バイトと判断する。   When determining that all the data for one block has been read, the decoder 93 determines the byte next to the last byte of the last read data as the first byte of the next block.

以上の処理により、印刷指示データ解釈部91がデコーダ93に指定したファイルのEXIF画像データはすべて、ピクセル毎のピクセルデータへ変換され、印刷制御データ生成部94へ出力される。   Through the above processing, all the EXIF image data of the file designated by the print instruction data interpretation unit 91 to the decoder 93 is converted into pixel data for each pixel and output to the print control data generation unit 94.

印刷制御データ生成部94は、ブロック毎に入力されるピクセルデータを保持する。そして、印刷制御データ生成部94は、少なくとも1印刷行(つまり、少なくとも1回のキャリッジ走査)分のピクセルデータがそろったら、その1印刷行分のピクセルデータに基づいて印刷制御データを生成する。印刷デバイス47は、この印刷制御データを用いて用紙58に少なくとも1行分の印刷処理を行う。   The print control data generation unit 94 holds pixel data input for each block. Then, when the pixel data for at least one print line (that is, at least one carriage scan) has been prepared, the print control data generation unit 94 generates print control data based on the pixel data for the one print line. The printing device 47 performs printing processing for at least one line on the paper 58 using the print control data.

また、印刷制御データ生成部94は、この1印刷行分のピクセルデータに基づく印刷制御データの生成処理を、すべてのピクセルデータについて繰り返す。これにより、排紙トレイ54に排出される用紙58には、印刷指示データ解釈部91がデコーダ93に指定したファイルのEXIF画像データに基づく画像が所定のレイアウトにて形成される。また、その画像は、画像の長手方向が用紙58の給紙方向となる姿勢にて形成される。   The print control data generation unit 94 repeats the print control data generation process based on the pixel data for one print line for all pixel data. As a result, an image based on the EXIF image data of the file designated by the print instruction data interpretation unit 91 in the decoder 93 is formed on the paper 58 discharged to the paper discharge tray 54 with a predetermined layout. Further, the image is formed in a posture in which the longitudinal direction of the image is the paper feeding direction of the paper 58.

ところで、デコーダ93によるワード単位でのデータ読み込みが進んで、キャッシュバッファ72内にデコーダ93により要求されるデータがなくなると、キャッシュシステム92は、1つのキャッシュバッファ72分のデータをDSC1から新たに取得する。また、キャッシュシステム92は、DSC1から新たに取得したデータを、空いているキャッシュバッファ72、あるいは、空いているキャッシュバッファ72が無い場合には最も更新時刻が古いキャッシュバッファ72に格納する。また、キャッシュシステム92は、新たに取得したデータの中から、デコーダ93により要求されたデータを読み出して、デコーダ93へ出力する。   By the way, when the data reading in units of words by the decoder 93 advances and the data requested by the decoder 93 is no longer in the cache buffer 72, the cache system 92 newly acquires data for one cache buffer 72 from the DSC1. To do. Further, the cache system 92 stores the data newly acquired from the DSC 1 in the free cache buffer 72 or in the cache buffer 72 having the oldest update time when there is no free cache buffer 72. Further, the cache system 92 reads out the data requested by the decoder 93 from the newly acquired data and outputs the data to the decoder 93.

このように、キャッシュメモリ71にキャッシュされるデータは、デコーダ93によるワード単位でのデータ読み込みが進むにつれて更新される。また、先にキャッシュしたデータは、後からキャッシュしたデータによって消去される。   As described above, the data cached in the cache memory 71 is updated as the data reading in units of words by the decoder 93 proceeds. Further, the data cached first is erased by the data cached later.

図15は、画像を回転しない場合におけるキャッシュメモリ71の状態変化の一例を示す図である。図15(A)は、キャッシュメモリ71に読み込まれるEXIF画像データのデータ構造を示すものである。図15(B)は、画像を回転させずにデコードする場合において、デコードを開始した直後のキャッシュメモリ71の記憶状態の一例を示す図である。図15(C)は、画像を回転させずにデコードする場合において、デコードを終えた時のキャッシュメモリ71の記憶状態の一例を示す図である。   FIG. 15 is a diagram illustrating an example of a state change of the cache memory 71 when the image is not rotated. FIG. 15A shows the data structure of EXIF image data read into the cache memory 71. FIG. 15B is a diagram showing an example of the storage state of the cache memory 71 immediately after starting decoding in the case of decoding without rotating the image. FIG. 15C is a diagram illustrating an example of a storage state of the cache memory 71 when decoding is completed in the case where decoding is performed without rotating an image.

画像を回転させずにデコードする場合、図15に例示するように、キャッシュメモリ71には、EXIF画像データの先頭から順番に読み込まれる。また、空いているキャッシュバッファ72が無くなったら、古いデータを記憶するキャッシュバッファ72から順番に、新たに読み込んだデータにて上書きされる。   When decoding without rotating the image, the EXIF image data is sequentially read from the top of the cache memory 71 as illustrated in FIG. When there is no more free cache buffer 72, the cache buffer 72 that stores old data is overwritten with newly read data in order.

したがって、EXIF画像データを回転させずに印刷する場合には、キャッシュシステム92は、EXIF画像データを、キャッシュバッファ72のサイズ分ずつ先頭から順番にキャッシュする。また、EXIF画像データの各バイトは、1回ずつキャッシュメモリ71に読み込まれる。   Therefore, when printing the EXIF image data without rotating it, the cache system 92 caches the EXIF image data in order from the top in increments of the size of the cache buffer 72. Each byte of the EXIF image data is read into the cache memory 71 once.

図13および図14に戻り、印刷指示データ解釈部91からのデコード指示に画像を回転させる指示が含まれている場合には、デコーダ93は、そのデコードを指示されたEXIF画像データのプレスキャンを開始する(ステップS17)。   Returning to FIG. 13 and FIG. 14, when the instruction to rotate the image is included in the decode instruction from the print instruction data interpretation unit 91, the decoder 93 prescans the EXIF image data instructed to be decoded. Start (step S17).

プレスキャンにおいて、デコーダ93は、ファイル名を指定して、キャッシュシステム92に対して1ワード単位でデータ読込み指示を出力し、EXIF画像データを先頭から最後まで順番に読み込む。キャッシュシステム92は、デコーダ93から要求されたデータがキャッシュメモリ71にある場合には、そのキャッシュメモリ71からデータを読み出してデコーダ93へ出力し(ステップS34)、デコーダ93から要求されたデータがキャッシュメモリ71にない場合には、そのデータを含むデータをDSC1からキャッシュバッファ72へ読み込み(ステップS32、S33)、その1ワードのデータをデコーダ93へ出力する(ステップS34)。   In the pre-scan, the decoder 93 designates a file name, outputs a data reading instruction in units of one word to the cache system 92, and reads EXIF image data in order from the top to the end. When the data requested from the decoder 93 is in the cache memory 71, the cache system 92 reads the data from the cache memory 71 and outputs the data to the decoder 93 (step S34), and the data requested from the decoder 93 is cached. If it is not in the memory 71, the data including the data is read from the DSC 1 into the cache buffer 72 (steps S32 and S33), and the one-word data is output to the decoder 93 (step S34).

キャッシュシステム92から1ワード分のデータが入力されると、デコーダ93は、そのデータが、ブロック行の先頭バイトであるか否かを判断する。ブロック行の先頭バイトとは、画像においてブロック行の左端に位置するブロックの先頭バイトである。   When data of one word is input from the cache system 92, the decoder 93 determines whether or not the data is the first byte of the block line. The first byte of the block row is the first byte of the block located at the left end of the block row in the image.

そして、キャッシュシステム92から入力されたデータがブロック行の先頭バイトである場合には、デコーダ93は、その先頭バイトの、EXIF画像データにおけるデータ位置、すなわちEXIF画像データの先頭ビットから何バイト目のデータであるのかを記憶する。   When the data input from the cache system 92 is the first byte of the block row, the decoder 93 reads the data position of the first byte in the EXIF image data, that is, how many bytes from the first bit of the EXIF image data. It memorizes whether it is data.

デコーダ93は、EXIF画像データの終わりまでワード単位でのデータ取得を繰り返す。そして、EXIF画像データの終わりまでワード単位でのデータ取得を繰り返した後には、デコーダ93は、EXIF画像データに含まれる画像のすべてのブロック行の先頭バイトのデータ位置を記憶している。なお、各ブロック行の先頭バイトのデータ位置は、それぞれのポインタバッファに記憶される。   The decoder 93 repeats data acquisition in word units until the end of the EXIF image data. After repeating the data acquisition in units of words until the end of the EXIF image data, the decoder 93 stores the data positions of the first bytes of all the block rows of the image included in the EXIF image data. The data position of the first byte of each block row is stored in each pointer buffer.

以上のプレスキャン処理を完了したら、デコーダ93は、EXIF画像データのデコードのための読み込みを開始する(ステップS18)。デコーダ93は、まず、画像の一番上のブロック行(つまり、画像データの先頭に最も近い1行分のブロック)の先頭バイトからワード単位でのデータ読み込みを開始する。キャッシュシステム92は、デコーダ93に要求されたデータを、必要に応じてキャッシュしながらデコーダ93へ出力する。なお、本実施の形態では、画像の上とは、画像データのはじめの部分による画像部分をいい、画像の左とは、画像データの最初のブロックによる画像が配置される側をいう。   When the above prescan process is completed, the decoder 93 starts reading for decoding the EXIF image data (step S18). First, the decoder 93 starts reading data in units of words from the first byte of the uppermost block row of the image (that is, one block closest to the beginning of the image data). The cache system 92 outputs the data requested by the decoder 93 to the decoder 93 while caching the data as necessary. In the present embodiment, the top of the image refers to the image portion of the first portion of the image data, and the left of the image refers to the side on which the image of the first block of the image data is placed.

また、デコーダ93は、ブロック1つ分のすべてのデータの読み込みが完了したか否かを判断し(ステップS19)、それが完了するまでワード単位のデータの読み込みを繰り返す。   Further, the decoder 93 determines whether or not reading of all data for one block is completed (step S19), and repeats reading of data in units of words until it is completed.

そして、ブロック1つ分のすべてのデータの読み込みが完了すると、デコーダ93は、そのデータの次のバイトのデータ位置を記憶する。デコーダ93は、このブロック行について、この新たなデータ位置を、このブロック行のポインタバッファに上書きする(ステップS20)。   When all the data for one block has been read, the decoder 93 stores the data position of the next byte of the data. The decoder 93 overwrites the pointer buffer of this block row with this new data position for this block row (step S20).

ポインタバッファに格納するデータ位置を更新したら、デコーダ93は、読み込んだブロックのデコード処理を行う(ステップS21)。また、デコーダ93は、デコード処理により生成したピクセル毎のピクセルのデータを印刷制御データ生成部94へ出力する。なお、デコーダ93は、複数ブロックをまとめて復号化するようにしてもよい。   After updating the data position to be stored in the pointer buffer, the decoder 93 decodes the read block (step S21). Further, the decoder 93 outputs pixel data for each pixel generated by the decoding process to the print control data generation unit 94. Note that the decoder 93 may decode a plurality of blocks collectively.

デコード処理が完了すると、デコーダ93は、印刷指示データ解釈部91が指定したファイル32のEXIF画像データをすべてデコードしたか否かを判断する(ステップS22)。そして、デコーダ93は、指定されたファイルのすべてのEXIF画像データをデコードした場合には、デコード処理を終了する。   When the decoding process is completed, the decoder 93 determines whether all the EXIF image data of the file 32 designated by the print instruction data interpretation unit 91 has been decoded (step S22). When the decoder 93 has decoded all the EXIF image data of the designated file, the decoder 93 ends the decoding process.

指定されたファイルのすべてのEXIF画像データの読込みが完了していない場合には、デコーダ93は、さらに画像のブロック列1列(つまり、少なくとも1回のキャリッジ走査による印刷に必要なブロック1列)分のデータ読込みが完了しているか否かを判断する(ステップS23)。   If reading of all the EXIF image data of the specified file has not been completed, the decoder 93 further includes one block row of images (ie, one block row necessary for printing by at least one carriage scan). It is determined whether or not the reading of the minute data has been completed (step S23).

画像の左上のブロックのデコード処理が完了した時点では、EXIF画像データをデコードのためにすべて読み込んでおらず、また、画像のブロック列1列分のデータ読込みも完了していない。そのため、デコーダ93は、次のブロック行のデコード処理を開始する(ステップS24)。   When the decoding process of the upper left block of the image is completed, the EXIF image data is not read for decoding, and the data reading for one block row of the image is not completed. Therefore, the decoder 93 starts the decoding process for the next block row (step S24).

具体的には、デコーダ93は、画像の上から二行目のブロック行に対応するポインタバッファからデータ位置を読み込み、このデータ位置からワード単位でのデータ読み込みを開始する。そして、デコーダ93は、ブロック1つ分のデータを読み込んだら(ステップS19)、その画像の上から二行目のブロック行のポインタバッファの値を、そのブロックの最後のデータの次のデータのデータ位置に更新し(ステップS20)、そのブロックのデコード処理を行う(ステップS21)。   Specifically, the decoder 93 reads the data position from the pointer buffer corresponding to the second block line from the top of the image, and starts reading data in word units from this data position. Then, after reading the data for one block (step S19), the decoder 93 sets the value of the pointer buffer in the second block line from the top of the image to the data of the data next to the last data in the block. The position is updated (step S20), and the block is decoded (step S21).

また、デコーダ93は、このブロック行毎のデコード処理(ステップS19〜S24)を繰り返す。そして、画像の左端のブロック列のすべてのブロックについてデコード処理が完了すると、デコーダ93は、画像の一番上のブロック行についてのデコード処理を行う(ステップS25)。このとき、画像の一番上のブロック行に対応するポインタバッファには、画像の左端のブロックの最終バイトの次のバイトのデータ位置が格納されている。したがって、デコーダ93は、画像の一番上のブロック行の左から二番目のブロックのデコード処理を行うことになる。   The decoder 93 repeats the decoding process for each block row (steps S19 to S24). When the decoding process is completed for all the blocks in the leftmost block row of the image, the decoder 93 performs the decoding process for the top block row of the image (step S25). At this time, the pointer buffer corresponding to the top block row of the image stores the data position of the byte next to the last byte of the leftmost block of the image. Therefore, the decoder 93 performs the decoding process for the second block from the left of the uppermost block row of the image.

以上のように、デコーダ93は、画像のブロック行毎にブロックの先頭ビットを格納するポインタバッファを設け、各ブロックのデータを読み込んだらこのポインタバッファに格納されるデータ位置を順次更新し、複数のブロック行について順番にデコード処理を繰り返す。これにより、デコーダ93は、画像の左側(つまり最初に印刷される画像に対応するブロック列)のブロック列から右側のブロック列までについて順番にデコード処理を行うことになる。   As described above, the decoder 93 is provided with a pointer buffer for storing the first bit of the block for each block row of the image. When the data of each block is read, the data position stored in the pointer buffer is sequentially updated, Repeat the decoding process for the block rows in order. As a result, the decoder 93 performs the decoding process in order from the block sequence on the left side of the image (that is, the block sequence corresponding to the image to be printed first) to the block sequence on the right side.

また、印刷制御データ生成部94は、ブロック毎に入力されるピクセルデータを保持する。そして、印刷制御データ生成部94は、少なくとも1印刷行(つまり、少なくとも1回のキャリッジ走査)分のピクセルデータがそろったら、その1印刷行分のピクセルデータに基づいて印刷制御データを生成する。印刷デバイス47は、この印刷制御データを用いて用紙58に少なくとも1行分の印刷処理を行う。   The print control data generation unit 94 holds pixel data input for each block. Then, when the pixel data for at least one print line (that is, at least one carriage scan) has been prepared, the print control data generation unit 94 generates print control data based on the pixel data for the one print line. The printing device 47 performs printing processing for at least one line on the paper 58 using the print control data.

また、印刷制御データ生成部94は、この少なくとも1印刷行分のピクセルデータに基づく印刷制御データの生成処理を、すべてのピクセルデータについて繰り返し行う。これにより、排紙トレイ54に排出される用紙58には、印刷指示データ解釈部91がデコーダ93に指定したファイルのEXIF画像データに基づく画像が所定のレイアウトにて形成される。また、その画像は、画像の長手方向が用紙58の給紙方向となる姿勢にて、つまり90度あるいは270度に回転して形成される。   Further, the print control data generation unit 94 repeatedly performs the generation process of the print control data based on the pixel data for at least one print line for all the pixel data. As a result, an image based on the EXIF image data of the file designated by the print instruction data interpretation unit 91 in the decoder 93 is formed on the paper 58 discharged to the paper discharge tray 54 with a predetermined layout. Further, the image is formed in a posture in which the longitudinal direction of the image is the feeding direction of the paper 58, that is, rotated by 90 degrees or 270 degrees.

ところで、このように画像を回転して印刷する場合であっても、デコーダ93によるワード単位でのデータ読み込みが進んで、キャッシュバッファ72内にデコーダ93により要求されるデータがなくなると、キャッシュシステム92は、キャッシュバッファ72のサイズ分のデータをDSC1から新たに取得する。また、キャッシュシステム92は、DSC1から新たに取得したデータを、空いているキャッシュバッファ72、あるいは、空いているキャッシュバッファ72が無い場合には最も更新時刻が古いキャッシュバッファ72に格納する。   By the way, even when the image is rotated and printed in this way, when the data reading in units of words by the decoder 93 proceeds and the cache buffer 72 has no data requested by the decoder 93, the cache system 92 Acquires new data for the size of the cache buffer 72 from the DSC 1. Further, the cache system 92 stores the data newly acquired from the DSC 1 in the free cache buffer 72 or in the cache buffer 72 having the oldest update time when there is no free cache buffer 72.

図16は、画像を回転する場合におけるキャッシュメモリ71の状態変化の一例を示す図である。図16(A)は、キャッシュメモリ71に読み込まれるEXIF画像データのデータ構造を示すものである。図16(B)は、画像を回転させてデコードする場合において、ブロックを一列分のデコード処理が完了した時点でのキャッシュメモリ71の記憶状態の一例を示す図である。図16(C)は、画像を回転させてデコードする場合において、ブロックを2列分のデコード処理が完了した時点でのキャッシュメモリ71の記憶状態の一例を示す図である。   FIG. 16 is a diagram illustrating an example of a state change of the cache memory 71 when an image is rotated. FIG. 16A shows the data structure of EXIF image data read into the cache memory 71. FIG. 16B is a diagram illustrating an example of a storage state of the cache memory 71 at the time when the decoding process for one column is completed when the image is rotated and decoded. FIG. 16C is a diagram illustrating an example of the storage state of the cache memory 71 at the time when the decoding process for two columns of blocks is completed when the image is rotated and decoded.

なお、キャッシュシステム92は、画像のブロック行の行数m以上の本数Pのキャッシュバッファ72を有する。また、通常、キャッシュバッファ72のサイズは、1つのブロックのデータ量より大きい。ちなみに、JPEG形式の画像データにおいて一列分のブロックのデータ量は、数十バイト、大きくても数キロバイトであるのが一般的である。   Note that the cache system 92 includes P number of cache buffers 72 that are greater than or equal to the number m of block lines of an image. In general, the size of the cache buffer 72 is larger than the data amount of one block. Incidentally, in JPEG image data, the data amount of a block for one column is generally several tens of bytes, or several kilobytes at most.

そのため、画像を回転してデコードする場合において、画像の左端の一列(まり、最初に印刷される画像に対応するブロック列)分のブロックのデコードが完了した時点では、図16(B)に例示するように、キャッシュメモリ71の複数のキャッシュバッファ72には、画像の左端のブロック列のすべてのブロックのデータがキャッシュされることになる。また、画像の左端の一列分のブロックのデータとともにキャッシュされた画像の左から二列目のブロックのデータも、消されることなく、すべてキャッシュメモリ71内に残っている。したがって、この場合では、キャッシュシステム92がDSC1からデータをキャッシュしないでも、デコーダ93は、左から二列目以降のブロックをデコードすることができる。   Therefore, when decoding the image by rotating it, the decoding of the block for the leftmost column of the image (the block column corresponding to the first image to be printed) is completed as shown in FIG. 16B. Thus, the data of all the blocks in the block column at the left end of the image are cached in the plurality of cache buffers 72 of the cache memory 71. In addition, the data of the block in the second column from the left of the cached image together with the data of the block for the leftmost column of the image remains in the cache memory 71 without being erased. Therefore, in this case, even if the cache system 92 does not cache data from the DSC 1, the decoder 93 can decode the blocks in the second column from the left.

また、キャッシュシステム92は、キャッシュメモリ71内にデコーダ93から要求されたデータがキャッシュメモリ71内に無い場合には、そのデータを先頭とするキャッシュバッファ72のサイズに相当するデータ量のデータを、DSC1からキャッシュバッファ72へ読み込む。つまり、図16(C)に例示するように、キャッシュシステム92は、画像の一番上の左から二番目のブロックがデコードされる際には、そのブロックのデータの中のキャッシュしていない分のデータだけを新たにキャッシュする。なお、このキャッシュの際に、左から三番目以降のブロックのデータも一緒にキャッシュされる。   If the cache memory 71 does not have the data requested from the decoder 93 in the cache memory 71, the cache system 92 stores data having a data amount corresponding to the size of the cache buffer 72 starting from the data, Read from the DSC 1 to the cache buffer 72. In other words, as illustrated in FIG. 16C, when the second block from the left on the top of the image is decoded, the cache system 92 does not cache the data in the block. Only new data is cached. In this cache, the data of the third and subsequent blocks from the left are also cached together.

ブロック列における各ブロックのデータ量が均一である理想的な場合には、ブロック行の本数と同数にキャッシュバッファ72に格納されているデータが、同時期に順番にキャッシュアウトし、各ブロック行の後続のデータがキャッシュインすることになる。この理想状態の場合では、各データは、一度だけキャッシュインし、そのデータのデコーダ93への読み込みが完了すると、キャッシュアウトしていく。   In an ideal case where the amount of data in each block in the block column is uniform, the data stored in the cache buffer 72 as many as the number of block rows is cached in order at the same time. Subsequent data will be cached in. In this ideal state, each data is cached in only once, and when the data is read into the decoder 93, it is cached out.

実際の場合、ブロック列における各ブロックのデータ量が均一となることは稀であると予想されるが、その場合でも、ブロック行数以上のキャッシュバッファ72が用意されていることにより、2つのブロック行を跨いだデータがキャッシュバッファ72に格納されず、また、印刷上の同一走査ラインに対応する、複数のブロック行に属する複数のブロックが、複数のキャッシュバッファ72に並行して架空のされた状態となる可能性が高くなる。これにより、データのキャッシュアウトおよび再度のキャッシュインの頻度が少なくて済み、キャッシュシステム92でのキャッシュヒット率が高まる。   In an actual case, it is expected that the data amount of each block in the block sequence is rarely uniform, but even in that case, two blocks are provided by providing the cache buffer 72 having the number of block lines or more. The data straddling the line was not stored in the cache buffer 72, and a plurality of blocks belonging to a plurality of block lines corresponding to the same scanning line on printing were imaginary in parallel with the plurality of cache buffers 72. The possibility of becoming a state increases. As a result, the frequency of data cache-out and cache-in again can be reduced, and the cache hit rate in the cache system 92 is increased.

さらに、キャッシュシステム92は、DSC1に対するデータリードの最小単位で、読み込みデータを指定する。このため、過去にキャッシュインしデコードに既に使用されたデータが再度キャッシュインする割合が低減する。なお、この実施の形態1では説明の都合上、データリードの最小単位を1バイト単位としているが、SCSIコマンドを使用する場合には、通常、データリードの最小単位は、512バイトか1024バイトとなる。また、データリードの最小単位は、使用するファイルシステムやファイル管理プロトコルによって異なるため、実装される方式の最小単位のデータ量を採用すればよい。   Further, the cache system 92 designates read data in the minimum unit of data read for DSC1. For this reason, the rate at which data cached in the past and already used for decoding is cached in again is reduced. In the first embodiment, for convenience of explanation, the minimum unit of data read is set to 1 byte unit. However, when a SCSI command is used, the minimum unit of data read is usually 512 bytes or 1024 bytes. Become. Further, since the minimum unit of data read varies depending on the file system and file management protocol to be used, the data amount of the minimum unit of the implemented method may be adopted.

次に、本実施の形態1によるキャッシュシステム92の有効性を示すために、他のキャッシュ方式との比較について説明する。   Next, in order to show the effectiveness of the cache system 92 according to the first embodiment, a comparison with other cache methods will be described.

図17は、他のキャッシュ方式でのキャッシュメモリの状態変化を示す図である。この方式では、画像を回転する場合においてキャッシュバッファの本数Pを画像のブロックの行数mより少なくしたものである。また、この方式では、キャッシュシステムがキャッシュバッファのサイズごとにEXIF画像データを分割し、その分割単位毎にデータをキャッシュする。   FIG. 17 is a diagram showing a change in the state of the cache memory in another cache method. In this method, when the image is rotated, the number P of cache buffers is smaller than the number m of lines in the block of the image. In this method, the cache system divides the EXIF image data for each cache buffer size, and caches the data for each division unit.

図17(A)は、画像を回転してデコードする場合において、デコードを開始した直後にキャッシュバッファが一杯になった時点でのキャッシュメモリの記憶状態の一例を示す図である。図17(B)は、画像を回転してデコードする場合において、ブロックを1列分デコードした時点でのキャッシュメモリの記憶状態の一例を示す図である。   FIG. 17A is a diagram illustrating an example of a storage state of the cache memory at the time when the cache buffer becomes full immediately after starting decoding in the case of decoding by rotating an image. FIG. 17B is a diagram illustrating an example of the storage state of the cache memory at the time when the block is decoded by one column when the image is rotated and decoded.

キャッシュバッファの本数Pが画像のブロックの行数mより少ない場合、キャッシュメモリの容量が画像データより小さいと、図17(A)に示すように、キャッシュメモリには、ブロック一列分のデータをキャッシュすることができない。したがって、一列分のブロックのデコード処理が完了した時点では、図17(B)に示すように、画像の一番上のブロック行のデータは、キャッシュメモリに残っていない。そのため、キャッシュシステムは、デコーダが各ブロックをデコードする度に、DSC1からデータをキャッシュしなければならない。また、キャッシュバッファのサイズを読み込み単位としているため、キャッシュインしても使用されないデータが多くなる。   When the number of cache buffers P is less than the number m of image block rows and the cache memory capacity is smaller than the image data, as shown in FIG. Can not do it. Therefore, at the time when the block decoding process for one column is completed, as shown in FIG. 17B, the data in the uppermost block row of the image does not remain in the cache memory. Therefore, the cache system must cache data from DSC 1 each time the decoder decodes each block. In addition, since the size of the cache buffer is used as a read unit, a large amount of data is not used even when cached in.

この従来の方式、つまり図17の方式のようにキャッシュバッファの本数Pが画像のブロックの行数mより少なく、EXIF画像データをキャッシュバッファのサイズごとに分割した単位でデータをキャッシュする場合に比べて、この実施の形態1に係るダイレクト印刷システムは、DSC1での印刷画像の選択操作からプリンタ2での印刷完了までの時間を格段に短縮することができる。   Compared to the conventional system, that is, the number of cache buffers P is smaller than the number m of image block lines as in the system of FIG. 17, and EXIF image data is cached in units divided by cache buffer size. Thus, the direct printing system according to the first embodiment can significantly reduce the time from the print image selection operation in the DSC 1 to the completion of printing in the printer 2.

たとえば、縦3450ピクセル、横4600ピクセルの画像を8×8ピクセル毎にブロックのデータへ変換する場合、ブロック行の行数は、432(≒3450/8=431.25)行となる。この画像4つを1枚の用紙58に印刷する場合には、用紙58の給紙方向に垂直な方向に2つの画像を並べることになる。このとき、1印刷行を生成するためには、864(=432×2)個のブロックをデコードする必要がある。   For example, when an image having a length of 3450 pixels and a width of 4600 pixels is converted into block data every 8 × 8 pixels, the number of block rows is 432 (≈3450 / 8 = 431.25). When printing these four images on one sheet 58, the two images are arranged in a direction perpendicular to the sheet 58 feeding direction. At this time, in order to generate one print line, it is necessary to decode 864 (= 432 × 2) blocks.

このような4つの画像を3Mバイトのキャッシュメモリでキャッシュして回転して印刷する場合において、従来の方式で1本15kバイトのキャッシュバッファを200本だけ用いる場合に比べて、本実施の形態のキャッシュメモリの構造では、DSC1での印刷画像の選択操作からプリンタ2での印刷完了までの時間が約5分の1に減らすことができた。   In the case where such four images are cached in a 3M-byte cache memory and rotated and printed, compared to the case where only 200 cache buffers each having 15 kbytes are used in the conventional method, the present embodiment With the structure of the cache memory, the time from the selection operation of the print image in the DSC 1 to the completion of printing in the printer 2 can be reduced to about 1/5.

なお、3Mバイトのキャッシュメモリ71において本実施の形態のキャッシュメモリの構造を実現する場合、キャッシュバッファ72のサイズは、3472(≒3M/864)バイトになる。   When the cache memory structure of the present embodiment is realized in the 3 Mbyte cache memory 71, the size of the cache buffer 72 is 3472 (≈3M / 864) bytes.

また、そのような3Mバイトのキャッシュメモリ71において864本のキャッシュバッファ72を構成した場合、4Mバイトの画像データによる1つの画像を1枚の用紙58に回転して印刷するときには、200本のキャッシュバッファを構成した場合に比べて、DSC1での印刷画像の選択操作からプリンタ2での印刷完了までの時間を約3分の1に減らすことができた。   Further, in the case where 864 cache buffers 72 are configured in such a 3 Mbyte cache memory 71, when one image based on 4 Mbyte image data is rotated and printed on one sheet 58, 200 caches are stored. Compared with the case where the buffer is configured, the time from the selection operation of the print image in DSC 1 to the completion of printing in the printer 2 can be reduced to about one third.

以上のように、この実施の形態1に係るダイレクト印刷システムでは、上記構成により、キャッシュメモリ71の効率が向上し、容量が小さいキャッシュメモリ71であっても大きな画像データに基づく画像を迅速に印刷することができる。上述した理想的な状態の場合には、画像を回転して印刷する場合であっても、デコード処理の際には、およそEXIF画像データのデータ量をキャッシュバッファ72のサイズで割った回数(余りがある場合には商に1を加えた回数)だけ、DSC1からプリンタ2へデータをキャッシュするだけで、そのEXIF画像データに基づく画像を印刷することができる。   As described above, in the direct printing system according to the first embodiment, with the above configuration, the efficiency of the cache memory 71 is improved, and an image based on large image data can be quickly printed even with the cache memory 71 having a small capacity. can do. In the case of the ideal state described above, even when the image is rotated and printed, the number of times of the EXIF image data divided by the size of the cache buffer 72 (remainder) during the decoding process. In the case where there is, the image based on the EXIF image data can be printed only by caching the data from the DSC 1 to the printer 2 by the number of times obtained by adding 1 to the quotient).

また、この実施の形態1では、キャッシュシステム92は、読み込むデータの先頭に、デコーダ93に要求されたデータが含まれるように半導体メモリ20からデータを読み込んでいる。そのため、キャッシュバッファ72には、それ以降の印刷で使用するデータがより多く先読みされる。その結果、たとえば、画像データを画像データバッファ71のサイズごとに分割し、その分割した単位毎に画像データを読み込む場合に比べて、画像データの読み込み回数を減らすことができる。   In the first embodiment, the cache system 92 reads data from the semiconductor memory 20 so that the data requested by the decoder 93 is included at the head of the data to be read. For this reason, the cache buffer 72 is prefetched more data used in subsequent printing. As a result, for example, the number of times image data is read can be reduced as compared with a case where image data is divided for each size of the image data buffer 71 and image data is read for each divided unit.

なお、この実施の形態1では、キャッシュシステム92は、画像データにおける画像のブロック行の行数(m)と同数あるいはそのブロック行の行数(m)より多い数の複数のキャッシュバッファ72を生成している。このほかにもたとえば、複数の画像データの画像をキャリッジ55の駆動方向に並べて印刷する場合には、キャッシュシステム92は、それら複数の画像データのブロック行の行数の総数と同数あるいはそのブロック行の行数の総数より多い数の複数のキャッシュバッファ72を生成するようにすれば、同様の効果を期待することができる。   In the first embodiment, the cache system 92 generates a plurality of cache buffers 72 having the same number as the number of block lines (m) in the image data or more than the number of block lines (m). doing. In addition to this, for example, when images of a plurality of image data are printed side by side in the driving direction of the carriage 55, the cache system 92 is equal to the total number of block lines of the plurality of image data or the block lines thereof. If a plurality of cache buffers 72 having a number larger than the total number of lines are generated, the same effect can be expected.

実施の形態2.
本発明の実施の形態2に係るダイレクト印刷システムは、画像データのサイズに応じて、キャッシュメモリ71の構成を変更するようにしたものである。なお、DSC1の構成および動作は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。また、プリンタ2のハードウェア構成は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。
Embodiment 2. FIG.
In the direct printing system according to the second embodiment of the present invention, the configuration of the cache memory 71 is changed according to the size of the image data. The configuration and operation of the DSC 1 are the same as those of the first embodiment, and the same reference numerals are given and description thereof is omitted. The hardware configuration of the printer 2 is the same as that of the first embodiment, and the same reference numerals are given and the description thereof is omitted.

図18は、本発明の実施の形態2のプリンタ2における記憶部43の記憶内容を示す図である。また、図19は、本発明の実施の形態2のダイレクト印刷システムに実現される機能を示すブロック図である。プリンタ2の記憶部43には、印刷指示データ解釈プログラム101と、キャッシュシステムプログラム102と、デコーダプログラム63と、印刷制御データ生成プログラム64と、通信制御プログラム群とが記憶される。プリンタ2の通信制御プログラム群は、USBマスストレージクラスプログラム65とを有する。   FIG. 18 is a diagram illustrating the contents stored in the storage unit 43 in the printer 2 according to the second embodiment of the present invention. FIG. 19 is a block diagram illustrating functions implemented in the direct printing system according to the second embodiment of the present invention. The storage unit 43 of the printer 2 stores a print instruction data interpretation program 101, a cache system program 102, a decoder program 63, a print control data generation program 64, and a communication control program group. The communication control program group of the printer 2 has a USB mass storage class program 65.

デコーダプログラム63、印刷制御データ生成プログラム64およびUSBマスストレージクラスプログラム65は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。   The decoder program 63, the print control data generation program 64, and the USB mass storage class program 65 are the same as those in the first embodiment, and the description thereof will be omitted by attaching the same reference numerals.

印刷指示データ解釈プログラム101は、中央処理装置41に実行されることで印刷指示データ解釈部111を実現する。キャッシュシステムプログラム102は、中央処理装置41に実行されることで、形成手段、読込手段および出力手段としてのキャッシュシステム112を実現する。これら印刷指示データ解釈部111およびキャッシュシステム112は、実施の形態1のものと基本的に同じものであるが、後述するように、画像を回転して印刷する際の動作の一部が変更されている。   The print instruction data interpretation program 101 is executed by the central processing unit 41 to realize the print instruction data interpretation unit 111. The cache system program 102 is executed by the central processing unit 41 to realize a cache system 112 as a forming unit, a reading unit, and an output unit. The print instruction data interpretation unit 111 and the cache system 112 are basically the same as those in the first embodiment, but as described later, some of the operations when rotating and printing an image are changed. ing.

次に、以上のような構成を有するダイレクト印刷システムの動作を説明する。 Next, the operation of the direct printing system having the above configuration will be described.

DSC1では、印刷指示データ生成部81と、画像データ送信部82と、USBマスストレージクラス83とが実現される。また、プリンタ2では、印刷指示データ解釈部111と、キャッシュシステム112と、デコーダ93と、印刷制御データ生成部94と、USBマスストレージクラス95とが実現される。形成手段としてのキャッシュシステム112は、メモリ42に、所定のサイズを有するバッファメモリとしてのキャッシュメモリ113を生成する。この生成時のキャッシュメモリ113内のキャッシュバッファのサイズおよび本数は、実施の形態1のキャッシュメモリ71のものと同じである。   In DSC1, a print instruction data generation unit 81, an image data transmission unit 82, and a USB mass storage class 83 are realized. In the printer 2, a print instruction data interpretation unit 111, a cache system 112, a decoder 93, a print control data generation unit 94, and a USB mass storage class 95 are realized. The cache system 112 as a forming unit generates a cache memory 113 as a buffer memory having a predetermined size in the memory 42. The size and number of cache buffers in the cache memory 113 at the time of generation are the same as those of the cache memory 71 of the first embodiment.

そして、プリンタ2のUSB通信I/F46とDSC1のUSB通信I/F19とによるコンフィグレーション処理が完了し、DSC1の印刷指示データ生成部81から印刷指示データ解釈部111へ印刷指示データが送信される。   Then, the configuration processing by the USB communication I / F 46 of the printer 2 and the USB communication I / F 19 of the DSC 1 is completed, and the print instruction data is transmitted from the print instruction data generation unit 81 of the DSC 1 to the print instruction data interpretation unit 111. .

図20は、図19中の印刷指示データ解釈部111の動作を示すフローチャートである。   FIG. 20 is a flowchart showing the operation of the print instruction data interpretation unit 111 in FIG.

印刷指示データ解釈部111は、印刷指示データが入力されると、その印刷指示データにて指定される印刷処理の制御を開始する(ステップS41)。具体的には、印刷指示データ解釈部111は、まず、印刷指示データの中からファイル名等を抽出し、そのファイル名のファイルのデータ量(ファイルサイズ)と、そのファイルに含まれる画像のサイズ情報との取得を要求するデータを生成する。   When the print instruction data is input, the print instruction data interpretation unit 111 starts control of the print process specified by the print instruction data (step S41). Specifically, the print instruction data interpretation unit 111 first extracts a file name and the like from the print instruction data, the file data amount (file size) of the file name, and the size of the image included in the file Generate data requesting acquisition of information.

このファイルのデータ量および画像サイズ情報の取得要求データは、画像データ送信部82へ送信される。画像データ送信部82は、画像サイズ情報の取得要求データを受け取ると、その取得要求データに含まれるファイル名を抽出する。また、画像データ送信部82は、そのファイル名のファイル32から、そのデータ量および画像サイズ情報を読み込み、これらを印刷指示データ解釈部111へ送信する。   This file data amount and image size information acquisition request data is transmitted to the image data transmission unit 82. When receiving the image size information acquisition request data, the image data transmission unit 82 extracts a file name included in the acquisition request data. Further, the image data transmission unit 82 reads the data amount and the image size information from the file 32 with the file name, and transmits them to the print instruction data interpretation unit 111.

印刷指示データ解釈部111は、画像ファイル32のデータ量(ファイルサイズ)、画像の縦ピクセル数と横ピクセル数を受信すると、画像の回転が必要か否かを判断する(ステップS42)。   When receiving the data amount (file size) of the image file 32, the number of vertical pixels and the number of horizontal pixels of the image, the print instruction data interpretation unit 111 determines whether the image needs to be rotated (step S42).

印刷指示データ解釈部111は、画像の回転が必要ではない場合には、キャッシュメモリ113の第一の再構成指示をキャッシュシステム112へ出力する。キャッシュシステム112は、この再構成指示を受け取ると、キャッシュバッファの本数を少なくし(たとえば200本)、一本のキャッシュバッファの容量を実施の形態1のキャッシュバッファの容量より大きくする(たとえば、15kバイト)(ステップS43)。   The print instruction data interpretation unit 111 outputs a first reconfiguration instruction for the cache memory 113 to the cache system 112 when image rotation is not necessary. Upon receiving this reconfiguration instruction, the cache system 112 reduces the number of cache buffers (for example, 200), and makes the capacity of one cache buffer larger than the capacity of the cache buffer of the first embodiment (for example, 15k). Byte) (step S43).

その後、実施の形態1と同様にしてデコーダ93により画像データのデコードが行われる(ステップS3)。この場合、キャッシュバッファのサイズが大きいので、キャッシュバッファ内のデータの入れ替えを行う回数が減る。   Thereafter, the image data is decoded by the decoder 93 in the same manner as in the first embodiment (step S3). In this case, since the size of the cache buffer is large, the number of times of exchanging data in the cache buffer is reduced.

一方、印刷指示データ解釈部111は、画像の回転が必要である場合には、画像ファイル32のデータ量がキャッシュメモリ113のサイズ以下であるか否かを判断する(ステップS44)。   On the other hand, if it is necessary to rotate the image, the print instruction data interpretation unit 111 determines whether the data amount of the image file 32 is equal to or smaller than the size of the cache memory 113 (step S44).

印刷指示データ解釈部111は、画像ファイル32のデータ量がキャッシュメモリ113のサイズ以下である場合、キャッシュメモリ113の第一の再構成指示をキャッシュシステム112に行わせる(ステップS45)。その後、デコーダ93により画像を回転させる順番で画像データのデコードが行われる(ステップS4)。この場合、画像の回転が行われるが、画像ファイル32のすべてのデータがキャッシュされているため、キャッシュデータのヒット率は高くなり、この点についての問題は特に生じない。   If the data amount of the image file 32 is less than or equal to the size of the cache memory 113, the print instruction data interpretation unit 111 causes the cache system 112 to issue a first reconfiguration instruction for the cache memory 113 (step S45). Thereafter, the decoder 93 decodes the image data in the order in which the images are rotated (step S4). In this case, the image is rotated, but since all the data of the image file 32 is cached, the hit rate of the cache data is high, and there is no particular problem with this point.

また、印差指示データ解釈部111は、画像ファイル32のデータ量がキャッシュメモリ113のサイズより大きい場合、キャッシュメモリ113の第二の再構成指示をキャッシュシステム112へ出力する。キャッシュシステム112は、この再構成指示を受け取ると、キャッシュバッファのサイズと本数を、実施の形態1の場合と同様に設定する(ステップS46)。つまり、ステップS43の場合と比べ、キャッシュバッファの本数は多くなり、一本のキャッシュバッファサイズは小さくなる。   Further, when the data amount of the image file 32 is larger than the size of the cache memory 113, the stamp difference instruction data interpretation unit 111 outputs a second reconfiguration instruction of the cache memory 113 to the cache system 112. Upon receiving this reconfiguration instruction, the cache system 112 sets the size and number of cache buffers in the same manner as in the first embodiment (step S46). That is, as compared with the case of step S43, the number of cache buffers increases and the size of one cache buffer decreases.

その後、実施の形態1と同様にしてデコーダ93により、画像を回転させる順番で、画像データのデコードが行われる(ステップS4)。このように、実施の形態2では、キャッシュメモリ113のサイズが画像ファイル32のデータ量より小さく、かつ画像の回転が必要である場合にのみ、実施の形態1のキャッシュ方式で、キャッシュシステム112およびキャッシュメモリ113が動作する。   Thereafter, as in the first embodiment, the decoder 93 decodes the image data in the order in which the images are rotated (step S4). As described above, in the second embodiment, only when the size of the cache memory 113 is smaller than the data amount of the image file 32 and the image needs to be rotated, the cache system 112 and the cache system 112 and The cache memory 113 operates.

なお、印刷制御データ生成部94の動作および印刷デバイス47による用紙58への印刷処理については、実施の形態1の場合と同様であるので、その説明を省略する。   Note that the operation of the print control data generation unit 94 and the printing process on the paper 58 by the printing device 47 are the same as those in the first embodiment, and a description thereof will be omitted.

以上のように、この実施の形態2では、キャッシュメモリ113のサイズが画像ファイル32のデータ量より小さく、かつ画層の回転が必要である場合にのみ、実施の形態1のキャッシュ方式で、キャッシュシステム112およびキャッシュメモリ113が動作し、それ以上の場合では、キャッシュバッファの本数が少なくかつキャッシュバッファの容量が大きくされる。これにより、キャッシュメモリ113のサイズが画像ファイル32のデータ量より小さく、かつ画像の回転が必要である場合には、実施の形態1と同様にしてキャッシュデータヒット率を高くし印刷時間を低減でき、また、そうでない場合には、キャッシュメモリ113のデータの出し入れの回数を少なくして印刷時間を低減することができる。   As described above, in the second embodiment, only when the size of the cache memory 113 is smaller than the data amount of the image file 32 and the rotation of the layer is necessary, the cache method of the first embodiment is used. In the case where the system 112 and the cache memory 113 operate and more than that, the number of cache buffers is small and the capacity of the cache buffer is increased. As a result, when the size of the cache memory 113 is smaller than the data amount of the image file 32 and image rotation is required, the cache data hit rate can be increased and the printing time can be reduced as in the first embodiment. In other cases, the printing time can be reduced by reducing the number of times data is taken in and out of the cache memory 113.

なお、この実施の形態2では、キャッシュシステム112は、画像データにおける画像のブロック行の行数(m)と同数あるいはそのブロック行の行数(m)より多い数の複数のキャッシュバッファを生成している。このほかにもたとえば、複数の画像データの画像をキャリッジ55の駆動方向に並べて印刷する場合には、キャッシュシステム112は、それら複数の画像データのブロック行の行数の総数と同数あるいはそのブロック行の行数の総数より多い数の複数のキャッシュバッファを生成するようにすれば、同様の効果を期待することができる。   In the second embodiment, the cache system 112 generates the same number of cache buffers as the number of block lines (m) in the image data or more than the number of block lines (m). ing. In addition to this, for example, when images of a plurality of image data are printed side by side in the driving direction of the carriage 55, the cache system 112 is equal to the total number of block lines of the plurality of image data or the block lines thereof. If a plurality of cache buffers having a number larger than the total number of lines are generated, the same effect can be expected.

実施の形態3.
本発明の実施の形態3に係るダイレクト印刷システムは、画像ファイル32のデータ量に応じてキャッシュメモリ133の構成を変更するようにしたものである。なお、DSC1の構成および動作は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。また、プリンタ2のハードウェア構成は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。
Embodiment 3 FIG.
In the direct printing system according to the third embodiment of the present invention, the configuration of the cache memory 133 is changed according to the data amount of the image file 32. The configuration and operation of the DSC 1 are the same as those of the first embodiment, and the same reference numerals are given and description thereof is omitted. The hardware configuration of the printer 2 is the same as that of the first embodiment, and the same reference numerals are given and the description thereof is omitted.

図21は、本発明の実施の形態3のプリンタ2における記憶部43の記憶内容を示す図である。また、図22は、本発明の実施の形態3のダイレクト印刷システムに実現される機能を示すブロック図である。プリンタ2の記憶部43には、印刷指示データ解釈プログラム121と、キャッシュシステムプログラム122と、デコーダプログラム63と、印刷制御データ生成プログラム64と、通信制御プログラム群とが記憶される。プリンタ2の通信制御プログラム群は、USBマスストレージクラスプログラム65を有する。   FIG. 21 is a diagram showing the contents stored in the storage unit 43 in the printer 2 according to the third embodiment of the present invention. FIG. 22 is a block diagram showing functions implemented in the direct printing system according to the third embodiment of the present invention. The storage unit 43 of the printer 2 stores a print instruction data interpretation program 121, a cache system program 122, a decoder program 63, a print control data generation program 64, and a communication control program group. The communication control program group of the printer 2 has a USB mass storage class program 65.

デコーダプログラム63、印刷制御データ生成プログラム64およびUSBマスストレージクラスプログラム65は、実施の形態1のものと同じであり、同一の符号を付して説明を省略する。   The decoder program 63, the print control data generation program 64, and the USB mass storage class program 65 are the same as those in the first embodiment, and the description thereof will be omitted by attaching the same reference numerals.

印刷指示データ解釈プログラム121は、中央処理装置41に実行されることで印刷指示データ解釈部131を実現する。キャッシュシステムプログラム122は、中央処理装置41に実行されることで、形成手段、読込手段および出力手段としてのキャッシュシステム132を実現する。これら印刷指示データ解釈部131およびキャッシュシステム132は、実施の形態1のものと基本的に同じものであるが、後述するように、画像を回転して印刷する際の動作の一部が変更されている。   The print instruction data interpretation program 121 is executed by the central processing unit 41 to realize the print instruction data interpretation unit 131. The cache system program 122 is executed by the central processing unit 41 to realize a cache system 132 as a forming unit, a reading unit, and an output unit. The print instruction data interpretation unit 131 and the cache system 132 are basically the same as those in the first embodiment, but as described later, a part of the operation when rotating and printing an image is changed. ing.

次に、以上のような構成を有するダイレクト印刷システムの動作を説明する。   Next, the operation of the direct printing system having the above configuration will be described.

DSC1では、印刷指示データ生成部81と、画像データ送信部82と、USBマスストレージクラス83とが実現される。また、プリンタ2では、印刷指示データ解釈部131と、キャッシュシステム132と、デコーダ93と、印刷制御データ生成部94と、USBマスストレージクラス95とが実現される。形成手段としてのキャッシュシステム132は、メモリ42に、所定のサイズを有するバッファメモリとしてのキャッシュメモリ133を生成する。   In DSC1, a print instruction data generation unit 81, an image data transmission unit 82, and a USB mass storage class 83 are realized. In the printer 2, a print instruction data interpretation unit 131, a cache system 132, a decoder 93, a print control data generation unit 94, and a USB mass storage class 95 are realized. The cache system 132 as a forming unit generates a cache memory 133 as a buffer memory having a predetermined size in the memory 42.

そして、プリンタ2のUSB通信I/F46とDSC1のUSB通信I/F19とによるコンフィグレーション処理が完了し、DSC1の印刷指示データ生成部81から印刷指示データ解釈部131へ印刷指示データが送信される。   Then, the configuration processing by the USB communication I / F 46 of the printer 2 and the USB communication I / F 19 of the DSC 1 is completed, and the print instruction data is transmitted from the print instruction data generation unit 81 of the DSC 1 to the print instruction data interpretation unit 131. .

図23は、図22中の印刷指示データ解釈部131の動作を示すフローチャートである。   FIG. 23 is a flowchart showing the operation of the print instruction data interpretation unit 131 in FIG.

印刷指示データ解釈部131は、印刷指示データが入力されると、その印刷指示データにて指定される印刷処理の制御を開始する(ステップS1)。具体的には、印刷指示データ解釈部131は、まず、画像サイズ情報の取得要求データを、画像データ送信部82へ送信する。画像データ送信部82は、画像サイズ情報の取得要求データを受け取ると、その取得要求データに含まれるファイル名等を抽出する。また、画像データ送信部82は、そのファイル名のファイル32から、その画像サイズ情報を読み込み、これを印刷指示データ解釈部131へ送信する。   When the print instruction data is input, the print instruction data interpretation unit 131 starts control of the printing process designated by the print instruction data (step S1). Specifically, the print instruction data interpretation unit 131 first transmits image size information acquisition request data to the image data transmission unit 82. When receiving the image size information acquisition request data, the image data transmission unit 82 extracts a file name and the like included in the acquisition request data. Further, the image data transmission unit 82 reads the image size information from the file 32 with the file name, and transmits it to the print instruction data interpretation unit 131.

印刷指示データ解釈部131は、これらの情報を受信したら、画像の縦方向のピクセル数および横方向のピクセル数の情報並びに用紙58への画像の印刷レイアウトに基づいて、画像を回転させる必要があるか否かを判断する(ステップS2)。   Upon receiving these pieces of information, the print instruction data interpretation unit 131 needs to rotate the image based on the information about the number of pixels in the vertical direction and the number of pixels in the horizontal direction and the print layout of the image on the paper 58. Whether or not (step S2).

そして、画像を回転する必要がないと判断した場合、実施の形態1と同様にデコードおよび印刷処理が行われる(ステップS3)。   If it is determined that there is no need to rotate the image, decoding and printing processing is performed as in the first embodiment (step S3).

一方、画像を回転する必要があると判断した場合、印刷指示データ解釈部131は、画像の縦方向のピクセル数の情報と、印刷レイアウトとに基づいて、キャッシュメモリ133内のキャッシュバッファの本数および一本のキャッシュバッファの容量を演算する(ステップS51)。   On the other hand, when determining that the image needs to be rotated, the print instruction data interpretation unit 131 determines the number of cache buffers in the cache memory 133 and the number of cache buffers in the cache memory 133 based on the information about the number of pixels in the vertical direction of the image and the print layout. The capacity of one cache buffer is calculated (step S51).

具体的にはたとえば、用紙の給紙方向と垂直な方向に画像を並べることなく印刷する場合(たとえば1upの場合)には、印刷指示データ解釈部131は、画像の縦のピクセル数を1ブロックの縦のピクセル数(ここでは8)で割る。そして、印刷指示データ解釈部131は、その演算結果の商の値(余りがある場合には、商に1を加算した値)を、キャッシュメモリ133内のキャッシュバッファの本数として演算する。なお、一本のキャッシュバッファの容量は、たとえば、キャッシュメモリ133の容量をキャッシュバッファの本数で割り、読み込みの最小単位未満の端数を切り捨てることで得られる。   Specifically, for example, when printing without arranging images in a direction perpendicular to the paper feeding direction (for example, in the case of 1 up), the print instruction data interpretation unit 131 sets the number of vertical pixels of the image to 1 block. Divided by the number of vertical pixels (here, 8). Then, the print instruction data interpretation unit 131 calculates the value of the quotient (the value obtained by adding 1 to the quotient when there is a remainder) as the number of cache buffers in the cache memory 133. Note that the capacity of one cache buffer is obtained, for example, by dividing the capacity of the cache memory 133 by the number of cache buffers and rounding off fractions less than the minimum unit of reading.

ほかにもたとえば、用紙の給紙方向と垂直な方向に2つの画像を並べて印刷する場合(たとえば4upの場合)には、印刷指示データ解釈部131は、画像の縦のピクセル数を1ブロックの縦のピクセル数(ここでは8)で割る。そして、印刷指示データ解釈部131は、その演算結果の商の値(余がある場合には、商に1を加算した値)の二倍を、キャッシュメモリ133内のキャッシュバッファの本数として演算する。   In addition, for example, when printing two images side by side in a direction perpendicular to the paper feeding direction (for example, in the case of 4 up), the print instruction data interpretation unit 131 sets the number of vertical pixels of the image to one block. Divide by the number of vertical pixels (here 8). Then, the print instruction data interpretation unit 131 calculates twice the value of the quotient of the calculation result (the value obtained by adding 1 to the quotient when there is a remainder) as the number of cache buffers in the cache memory 133. .

なお、用紙の給紙方向と垂直な方向にp(pは自然数)個の画像を並べる場合には、1画像あたりの演算結果のp倍を、キャッシュメモリ133内のキャッシュバッファの本数として演算すればよい。また、複数の画像を並べる場合に、各画像のピクセル数が異なるときには、各画像の縦ピクセル数の和からキャッシュバッファの本数を計算するようにしてもよい。   When p (p is a natural number) images are arranged in a direction perpendicular to the paper feeding direction, p times the calculation result per image is calculated as the number of cache buffers in the cache memory 133. That's fine. When arranging a plurality of images, if the number of pixels of each image is different, the number of cache buffers may be calculated from the sum of the number of vertical pixels of each image.

また、印刷指示データ解釈部131は、演算したキャッシュバッファの本数および容量の情報をキャッシュシステム132へ出力する。   Further, the print instruction data interpretation unit 131 outputs the calculated number and capacity information of the cache buffer to the cache system 132.

印刷指示データ解釈部131からキャッシュバッファの本数の情報が入力されると、形成手段としてのキャッシュシステム132は、キャッシュメモリ133内のキャッシュバッファの本数がその指示された本数および容量となるように、キャッシュメモリ133を再構成する。   When information on the number of cache buffers is input from the print instruction data interpretation unit 131, the cache system 132 as a forming unit causes the number of cache buffers in the cache memory 133 to be the instructed number and capacity. The cache memory 133 is reconfigured.

その後、実施の形態1のステップS45と同様にして、EXIF画像データの画像は回転しながらデコードされ、その画像が印刷される(ステップS4)。   Thereafter, as in step S45 of the first embodiment, the image of the EXIF image data is decoded while being rotated, and the image is printed (step S4).

以上のように、この実施の形態3では、印刷に係る画像データにおける画像のブロック行の数と同数のキャッシュバッファを形成し用いるので、キャッシュメモリ133の使用効率をより高くすることができ、画像データに応じた最適な印刷時間の短縮効果を期待することができる。   As described above, in the third embodiment, since the same number of cache buffers as the number of block lines of the image in the image data related to printing is formed and used, the use efficiency of the cache memory 133 can be further increased, and the image It is possible to expect an optimal printing time reduction effect according to the data.

なお、この実施の形態3では、キャッシュシステム132は、画像データにおける画像のブロック行の行数(m)と同数あるいはそのブロック行の行数(m)より多い数の複数のキャッシュバッファを生成している。このほかにもたとえば、複数の画像データの画像をキャリッジ55の駆動方向に並べて印刷する場合には、キャッシュシステム132は、それら複数の画像データのブロック行の行数の総数と同数あるいはそのブロック行の行数の総数より多い数の複数のキャッシュバッファを生成するようにすれば、同様の効果を期待することができる。   In the third embodiment, the cache system 132 generates a plurality of cache buffers equal to the number of block lines (m) in the image data or larger than the number of block lines (m). ing. In addition to this, for example, when images of a plurality of image data are printed side by side in the driving direction of the carriage 55, the cache system 132 is equal to the total number of block lines of the plurality of image data or the block lines thereof. If a plurality of cache buffers having a number larger than the total number of lines are generated, the same effect can be expected.

以上の各実施の形態は、本発明の好適な実施の形態であるが、本発明はこれに限定されるものではなく、種々の変形、変更が可能である。   Each of the above embodiments is a preferred embodiment of the present invention, but the present invention is not limited to this, and various modifications and changes are possible.

上記実施の形態では、画像を回転させる場合には、デコーダ93はプレスキャンをしてから、デコードのためのデータの読み込みを開始している。この他にもたとえば、デコード処理の前段階において画像の画質を変更するためのAPF(Auto Picture Fine)処理などの画像最適化処理をする場合には、その処理に使用するパラメータを生成するために画像データをスキャンする際に各ブロック行の先頭バイトのデータ位置をポインタバッファに格納し、デコーダ93によるプレスキャン処理を省略するようにしてもよい。   In the above embodiment, when rotating an image, the decoder 93 performs pre-scanning and then starts reading data for decoding. In addition to this, for example, when image optimization processing such as APF (Auto Picture Fine) processing for changing the image quality of an image is performed in the previous stage of decoding processing, in order to generate parameters used for the processing When scanning image data, the data position of the first byte of each block row may be stored in the pointer buffer, and the prescan process by the decoder 93 may be omitted.

また、ほかにもたとえば、デコーダ93は、画像を回転する場合であっても画像を回転しない場合と同様にプレスキャンをすることなく、EXIF画像データの先頭から順番にデータを読み込んでその画像の左端のブロック列のデコード処理を開始し、その画像の左端のブロック列のデコード処理の際に各ブロック行の左から二番目のブロックの先頭バイトのデータ位置をポインタバッファに格納し、各ブロック行の左から二番目以降のブロック列のデコード処理においてはそのポインタバッファを用いてブロック行毎の読み込み処理を行うようにしてもよい。   In addition, for example, the decoder 93 reads the data in order from the beginning of the EXIF image data without pre-scanning as in the case where the image is not rotated even when the image is rotated. Start decoding of the leftmost block sequence, and store the data position of the first byte of the second block from the left of each block row in the pointer buffer when decoding the leftmost block sequence of the image. In the decoding process of the second and subsequent block strings from the left, the pointer buffer may be used to perform the reading process for each block row.

上記各実施の形態では、EXIF画像データをキャッシュして印刷処理をしている。この他にもたとえば、ダイレクト印刷システムは、JPEG画像データ、ビットマップ形式の画像データなどを印刷してもよい。たとえば横長の画像のビットマップ形式の画像データの場合には、その画像における画像の行数はピクセル行となるので、その縦方向のピクセル数と同数あるいはそれ以上の数のキャッシュバッファを用いれば、実施の形態1と同様の効果を得ることができる。つまり、ビットマップ形式の画像データなどでは、1回のデータのキャッシュによって、キャリッジの複数回の走査で使用するデータを読み込むことができ、それによる印刷時間の短縮効果を得ることができる。   In each of the above embodiments, the EXIF image data is cached for printing processing. In addition to this, for example, the direct printing system may print JPEG image data, bitmap-format image data, and the like. For example, in the case of image data in the bitmap format of a horizontally long image, the number of lines of the image in the image is a pixel line, so if the number of cache buffers equal to or more than the number of pixels in the vertical direction is used, The same effect as in the first embodiment can be obtained. That is, in bitmap format image data and the like, data used in multiple scans of the carriage can be read by one-time data cache, thereby obtaining an effect of shortening the printing time.

上記各実施の形態では、DSC1のカードリーダ16に挿入された半導体メモリ20のEXIF画像データの画像を回転して印刷している。この他にもたとえば、本発明は、プリンタにカードリーダを設け、このカードリーダに挿入された半導体メモリ20のEXIF画像データの画像を回転して印刷する場合にも適用することができる。   In each of the above embodiments, the image of the EXIF image data in the semiconductor memory 20 inserted in the card reader 16 of the DSC 1 is rotated and printed. In addition, for example, the present invention can be applied to a case where a printer is provided with a card reader and the image of the EXIF image data in the semiconductor memory 20 inserted in the card reader is rotated and printed.

また、上記各実施の形態では、DSC1とプリンタ2がUSBにより接続されているが、その代わりに、別のインタフェースを採用してもよい。その場合、有線のインタフェースや有線の通信方式の他、ブルートゥース(商標)、赤外線通信などの無線のインタフェースや無線LANなどの有線の通信方式を使用してもよい。また、DSC1とプリンタ2との間のダイレクト印刷の制御コマンドやその応答などをUSBマスストレージクラスを利用して行っているが、その代わりに、PictBridge(商標)などを利用するようにしてもよい。   In each of the above embodiments, the DSC 1 and the printer 2 are connected by USB, but instead, another interface may be adopted. In that case, in addition to a wired interface or a wired communication method, a wireless interface such as Bluetooth (trademark) or infrared communication, or a wired communication method such as a wireless LAN may be used. In addition, although direct printing control commands and responses between the DSC 1 and the printer 2 are performed using the USB mass storage class, PictBridge (trademark) or the like may be used instead. .

また、上記各実施の形態では、DSC1に画像ファイル32が格納されているが、その代わりに、携帯電話機、音楽プレーヤ、撮影機能のないストレージ装置などといった他の電子機器を使用してもよい。その場合、その電子機器には、プリンタ2と通信可能な通信手段が設けられる。   In each of the above embodiments, the image file 32 is stored in the DSC 1, but instead, other electronic devices such as a mobile phone, a music player, and a storage device without a photographing function may be used. In that case, the electronic device is provided with communication means capable of communicating with the printer 2.

また、上記各実施の形態では、キャッシュシステム92,112,132、デコーダ93、印刷制御データ生成部94は、ソフトウェアにより実現されているが、これらのうちの一部または全部を専用のハードウェアにより実現するようにしてもよい。   In each of the above-described embodiments, the cache systems 92, 112, 132, the decoder 93, and the print control data generation unit 94 are realized by software. Some or all of these are realized by dedicated hardware. It may be realized.

なお、上記各実施の形態では、EXIF画像データ32のデータ量としてファィルサイズを使用しているが、その代わりに、EXIF画像データ32のEXIFヘッダを除いたデータ量としてもよい。   In each of the above embodiments, the file size is used as the data amount of the EXIF image data 32, but instead, the data amount excluding the EXIF header of the EXIF image data 32 may be used.

本発明は、たとえばデジタルカメラとプリンタとを直接に接続し、そのデジタルカメラに記憶されている画像データファイルに基づく画像をプリンタで印刷するダイレクト印刷システムに利用することができる。   The present invention can be used, for example, in a direct printing system in which a digital camera and a printer are directly connected and an image based on an image data file stored in the digital camera is printed by the printer.

本発明の実施の形態1に係るダイレクト印刷システムを示す図である。It is a figure which shows the direct printing system which concerns on Embodiment 1 of this invention. 図1中のDSCのハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of DSC in FIG. 図2中のフラッシュメモリの記憶内容を示す図である。It is a figure which shows the memory content of the flash memory in FIG. 図2のDSCにおいて撮像時に実現される機能を示すブロック図である。It is a block diagram which shows the function implement | achieved at the time of imaging in DSC of FIG. 図4中のEXIF画像データ生成部による圧縮処理の説明図である。It is explanatory drawing of the compression process by the EXIF image data generation part in FIG. 図1中のプリンタのハードウェア構成を示すブロック図である。FIG. 2 is a block diagram illustrating a hardware configuration of the printer in FIG. 1. 図1中のプリンタの内部機構を示す透過斜視図である。FIG. 2 is a transparent perspective view showing an internal mechanism of the printer in FIG. 1. 図6中の記憶部の記憶内容を示す図である。It is a figure which shows the memory content of the memory | storage part in FIG. 図1のダイレクト印刷システムに実現される機能を示すブロック図である。It is a block diagram which shows the function implement | achieved by the direct printing system of FIG. 図6中のメモリに実現されるキャッシュメモリの構成を示す図である。It is a figure which shows the structure of the cache memory implement | achieved in the memory in FIG. 図10中の印刷指示データ解釈部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the printing instruction data interpretation part in FIG. 画像のピクセル数について説明する図である。It is a figure explaining the pixel number of an image. 図10中のデコーダの動作を示すフローチャートである。11 is a flowchart showing an operation of the decoder in FIG. 10. 図10中のキャッシュシステムの動作を示すフローチャートである。It is a flowchart which shows operation | movement of the cache system in FIG. 画像を回転しない場合でのキャッシュメモリの状態変化の一例を示す図。The figure which shows an example of the state change of the cache memory when not rotating an image. 画像を回転する場合におけるキャッシュメモリの状態変化の一例を示す図。The figure which shows an example of the state change of the cache memory in the case of rotating an image. 他のキャッシュ方式でのキャッシュメモリの状態変化の比較例を示す図。The figure which shows the comparative example of the state change of the cache memory in another cache system. 本発明の実施の形態2に係るダイレクト印刷システムのプリンタの記憶部の記憶内容を示す図。The figure which shows the memory content of the memory | storage part of the printer of the direct printing system which concerns on Embodiment 2 of this invention. 本発明の実施の形態2に係るダイレクト印刷システムに実現される機能を示すブロック図。The block diagram which shows the function implement | achieved by the direct printing system which concerns on Embodiment 2 of this invention. 図19中の印刷指示データ解釈部の動作を示すフローチャートである。FIG. 20 is a flowchart showing an operation of a print instruction data interpretation unit in FIG. 19. FIG. 本発明の実施の形態3に係るダイレクト印刷システムのプリンタの記憶部の記憶内容を示す図。The figure which shows the memory content of the memory | storage part of the printer of the direct printing system which concerns on Embodiment 3 of this invention. 本発明の実施の形態3に係るダイレクト印刷システムに実現される機能を示すブロック図。FIG. 9 is a block diagram showing functions implemented in a direct printing system according to Embodiment 3 of the present invention. 図22中の印刷指示データ解釈部の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the printing instruction data interpretation part in FIG.

符号の説明Explanation of symbols

1 DSC(画像供給装置)、2 プリンタ、19 USB通信I/F(第一の通信手段)、20 半導体メモリ、46 USB通信I/F(第二の通信手段)、55 キャリッジ、72 キャッシュバッファ(画像データバッファ)、82 画像データ送信部(送信手段)、93 デコーダ(要求手段)、92 キャッシュシステム(読込手段、出力手段)、113,133 キャッシュメモリ(バッファメモリ)、112,132 キャッシュシステム(形成手段、読込手段、出力手段) 1 DSC (image supply device), 2 printer, 19 USB communication I / F (first communication means), 20 semiconductor memory, 46 USB communication I / F (second communication means), 55 carriage, 72 cache buffer ( Image data buffer), 82 Image data transmission unit (transmission means), 93 Decoder (request means), 92 Cache system (reading means, output means), 113, 133 Cache memory (buffer memory), 112, 132 Cache system (formation) Means, reading means, output means)

Claims (13)

所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、
上記画像データにおける画像の行数と少なくとも同数の画像データバッファと、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads image data in which data is arranged for each row having a height of a predetermined number of pixels and prints the image,
At least the same number of image data buffers as the number of image lines in the image data;
Request means for requesting data corresponding to the print area in accordance with the printing order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers Reading means for storing according to
Output means for outputting data relating to the request to the request means;
A printer comprising:
所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、
所定のサイズを有するバッファメモリと、
上記画像データのデータ量が上記バッファメモリのサイズより大きい場合には、上記バッファメモリに、上記画像データにおける画像の行数と少なくとも同数である第一の数の画像データバッファを形成し、上記画像データのデータ量が上記バッファメモリのサイズ以下の場合には、上記バッファメモリに、上記第一の数より少ない第二の数の画像データバッファを形成する形成手段と、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads image data in which data is arranged for each row having a height of a predetermined number of pixels and prints the image,
A buffer memory having a predetermined size;
When the data amount of the image data is larger than the size of the buffer memory, a first number of image data buffers equal to at least the number of image rows in the image data is formed in the buffer memory, and the image Forming means for forming, in the buffer memory, a second number of image data buffers smaller than the first number when the amount of data is less than or equal to the size of the buffer memory;
Request means for requesting data corresponding to the print area in accordance with the printing order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers Reading means for storing according to
Output means for outputting data relating to the request to the request means;
A printer comprising:
所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷するプリンタにおいて、
所定のサイズを有するバッファメモリと、
上記画像データの行数を取得する取得手段と、
上記バッファメモリに、上記取得手段により取得された上記通信データの行数に基づき、その行数と少なくとも同数の複数の画像データバッファを形成する形成手段と、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads image data in which data is arranged for each row having a height of a predetermined number of pixels and prints the image,
A buffer memory having a predetermined size;
Obtaining means for obtaining the number of rows of the image data;
Forming means for forming, in the buffer memory, a plurality of image data buffers having at least the same number as the number of lines based on the number of lines of the communication data acquired by the acquiring means;
Request means for requesting data corresponding to the print area in accordance with the printing order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers Reading means for storing according to
Output means for outputting data relating to the request to the request means;
A printer comprising:
所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、
上記複数の画像データにおける画像の行数の総数と少なくとも同数の画像データバッファと、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータむ上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads a plurality of image data in which data is arranged for each row having a height of a predetermined number of pixels, and prints these images in the carriage drive direction.
At least the same number of image data buffers as the total number of image rows in the plurality of image data;
Request means for requesting data corresponding to the print area in accordance with the print order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers. Therefore, the reading means for storing,
Output means for outputting data relating to the request to the request means;
A printer comprising:
所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、
所定のサイズを有するバッファメモリと、
上記複数の画像データの総データ量が上記バッファメモリのサイズより大きい場合には、上記バッファメモリに、上記複数の画像データにおける画像の行数の総数と少なくとも同数である第一の数の画像データバッファを形成し、上記複数の画像データのデータ量が上記バッファメモリのサイズ以下の場合には、上記バッファメモリに、上記第一の数より少ない第二の数の画像データバッファを形成する形成手段と、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads a plurality of image data in which data is arranged for each row having a height of a predetermined number of pixels, and arranges and prints these images in the carriage drive direction.
A buffer memory having a predetermined size;
When the total data amount of the plurality of image data is larger than the size of the buffer memory, the first number of image data that is at least equal to the total number of image rows in the plurality of image data is stored in the buffer memory. Forming means for forming a buffer and forming a second number of image data buffers smaller than the first number in the buffer memory when the data amount of the plurality of image data is less than or equal to the size of the buffer memory When,
Request means for requesting data corresponding to the print area in accordance with the printing order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers Reading means for storing according to
Output means for outputting data relating to the request to the request means;
A printer comprising:
所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷するプリンタにおいて、
所定のサイズを有するバッファメモリと、
上記画像データの行数を取得する取得手段と、
上記バッファメモリに、上記取得手段により取得された上記画像データの行数に基づき、その行数の総数と少なくとも同数の画像データバッファを形成する形成手段と、
画像の印刷順にしたがって、印刷領域に対応するデータを要求する要求手段と、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データバッファに先読先出ルールにしたがって格納する読込手段と、
上記要求に係るデータを上記要求手段へ出力する出力手段と、
を有することを特徴とするプリンタ。
In a printer that reads a plurality of image data in which data is arranged for each row having a height of a predetermined number of pixels, and arranges and prints these images in the carriage drive direction.
A buffer memory having a predetermined size;
Obtaining means for obtaining the number of rows of the image data;
Forming means for forming in the buffer memory at least the same number of image data buffers as the total number of lines based on the number of lines of the image data acquired by the acquiring means;
Request means for requesting data corresponding to the print area in accordance with the printing order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the pre-read first-out rule is read into the plurality of image data buffers Reading means for storing according to
Output means for outputting data relating to the request to the request means;
A printer comprising:
前記読込手段は、前記要求に係るデータが先頭となるように、前記画像データバッファのサイズ分のデータを読み込むことを特徴とする請求項1から請求項6の中のいずれか1項記載のプリンタ。   The printer according to any one of claims 1 to 6, wherein the reading unit reads data corresponding to a size of the image data buffer so that data relating to the request is at the head. . 前記画像データは、符号化された画像データであり、
前記要求手段は、符号化された前記画像データを復号化するデコーダであり、
前記画像データバッファの数またはその上限値は、上記デコーダにより復号可能な一辺の画素数に基づいて決定されること、
を特徴とする請求項1から請求項6の中のいずれか1項記載のプリンタ。
The image data is encoded image data,
The request means is a decoder for decoding the encoded image data;
The number of the image data buffers or the upper limit value thereof is determined based on the number of pixels on one side that can be decoded by the decoder;
The printer according to any one of claims 1 to 6, wherein:
前記画像データは、符号化された画像データであり、
前記要求手段は、符号化された前記画像データを復号化するデコーダであり、
前記画像データバッファの数またはその上限値は、上記デコーダにより復号可能な一辺の画素数および前記画像データの画像の縦横比に基づいて決定されること、
を特徴とする請求項1から請求項6の中のいずれか1項記載のプリンタ。
The image data is encoded image data,
The request means is a decoder for decoding the encoded image data;
The number of the image data buffers or the upper limit value thereof is determined based on the number of pixels on one side decodable by the decoder and the aspect ratio of the image of the image data,
The printer according to any one of claims 1 to 6, wherein:
前記形成手段は、印刷時のキャリッジ駆動方向に対応する画像方向と画像データにおいて連続的に配置される画像の行の方向が90度または270度ずれている場合にのみ動作することを特徴とする請求項2、請求項3、請求項5および請求項6の中のいずれか1項記載のプリンタ。   The forming unit operates only when an image direction corresponding to a carriage driving direction at the time of printing and a direction of a row of continuously arranged images in the image data are shifted by 90 degrees or 270 degrees. The printer according to any one of claims 2, 3, 5, and 6. 半導体メモリと第一の通信手段とを有する画像供給装置と、
上記第一の通信手段と通信する第二の通信手段を有する請求項1から10の中のいずれか1項記載のプリンタとを備え、
上記半導体メモリは、画像データを格納し、
前記プリンタの前記読込手段は、上記第一および第二の通信手段を介して上記半導体メモリから画像データを読み込むことを特徴とする画像印刷システム。
An image supply device having a semiconductor memory and a first communication means;
A printer according to any one of claims 1 to 10, comprising a second communication means for communicating with the first communication means,
The semiconductor memory stores image data,
The image printing system, wherein the reading unit of the printer reads image data from the semiconductor memory via the first and second communication units.
所定画素数分の高さを有する行ごとにデータが配列されている画像データを読み込んでその画像を印刷する印刷方法であって、
画像の印刷順にしたがって、印刷領域に対応するデータを要求するステップと、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記画像データにおける画像の行数と少なくとも同数の画像データバッファに先読先出ルールにしたがって格納するステップと、
上記要求に係るデータをその要求元へ出力するステップと、
を有することを特徴とする印刷方法。
A printing method for reading image data in which data is arranged for each row having a height of a predetermined number of pixels and printing the image,
Requesting data corresponding to the print area according to the print order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and at least as many as the number of lines of the image in the image data Storing in the image data buffer according to a pre-read first-out rule;
Outputting the data related to the request to the request source;
A printing method characterized by comprising:
所定画素数分の高さを有する行ごとにデータが配列されている複数の画像データを読み込んでそれらの画像をキャリッジの駆動方向に並べて印刷する印刷方法であって、
画像の印刷順にしたがって、印刷領域に対応するデータを要求するステップと、
上記要求に係るデータが上記複数の画像データバッファにない場合には、その要求に係るデータを含む上記画像データバッファのサイズ分のデータを読み込んで、上記複数の画像データにおける画像の行数の総数と少なくとも同数の画像データバッファに先読先出ルールにしたがって格納するステップと、
上記要求に係るデータをその要求元へ出力するステップと、
を有することを特徴とする印刷方法。
A printing method for reading a plurality of image data in which data is arranged for each row having a height corresponding to a predetermined number of pixels and printing the images side by side in a carriage driving direction,
Requesting data corresponding to the print area according to the print order of the images;
When the data related to the request is not in the plurality of image data buffers, the data corresponding to the size of the image data buffer including the data related to the request is read, and the total number of image rows in the plurality of image data And storing in at least the same number of image data buffers according to the pre-read-first-out rule;
Outputting the data related to the request to the request source;
A printing method characterized by comprising:
JP2004078294A 2004-03-18 2004-03-18 Printer, image printing system, and printing method Expired - Fee Related JP4529501B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004078294A JP4529501B2 (en) 2004-03-18 2004-03-18 Printer, image printing system, and printing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004078294A JP4529501B2 (en) 2004-03-18 2004-03-18 Printer, image printing system, and printing method

Publications (2)

Publication Number Publication Date
JP2005262651A true JP2005262651A (en) 2005-09-29
JP4529501B2 JP4529501B2 (en) 2010-08-25

Family

ID=35087690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004078294A Expired - Fee Related JP4529501B2 (en) 2004-03-18 2004-03-18 Printer, image printing system, and printing method

Country Status (1)

Country Link
JP (1) JP4529501B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038713A (en) * 2007-08-03 2009-02-19 Seiko Epson Corp Image data processor and image data processing method
JP2009060314A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Image data processor and image data processing method
JP2009060313A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Image data processor and processing method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239339A (en) * 1988-07-29 1990-02-08 Hitachi Ltd Cache memory device
JPH04153753A (en) * 1990-10-18 1992-05-27 Fujitsu Ltd Cache memory control system
JPH0553909A (en) * 1991-08-23 1993-03-05 Pfu Ltd Cache memory control system for image data processing
JPH09101915A (en) * 1995-10-06 1997-04-15 Matsushita Electric Ind Co Ltd Control method of cache memory
JPH11328014A (en) * 1998-03-20 1999-11-30 Kyushu System Joho Gijutsu Kenkyusho Cache memory system capable of changing block size
JP2001157029A (en) * 1999-11-26 2001-06-08 Seiko Epson Corp Image data processor, image data processing method and recording medium
JP2002230539A (en) * 2001-01-31 2002-08-16 Mitsubishi Electric Corp Parallel image processing device and method
JP2004082592A (en) * 2002-08-28 2004-03-18 Seiko Epson Corp Printer with cache memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239339A (en) * 1988-07-29 1990-02-08 Hitachi Ltd Cache memory device
JPH04153753A (en) * 1990-10-18 1992-05-27 Fujitsu Ltd Cache memory control system
JPH0553909A (en) * 1991-08-23 1993-03-05 Pfu Ltd Cache memory control system for image data processing
JPH09101915A (en) * 1995-10-06 1997-04-15 Matsushita Electric Ind Co Ltd Control method of cache memory
JPH11328014A (en) * 1998-03-20 1999-11-30 Kyushu System Joho Gijutsu Kenkyusho Cache memory system capable of changing block size
JP2001157029A (en) * 1999-11-26 2001-06-08 Seiko Epson Corp Image data processor, image data processing method and recording medium
JP2002230539A (en) * 2001-01-31 2002-08-16 Mitsubishi Electric Corp Parallel image processing device and method
JP2004082592A (en) * 2002-08-28 2004-03-18 Seiko Epson Corp Printer with cache memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009038713A (en) * 2007-08-03 2009-02-19 Seiko Epson Corp Image data processor and image data processing method
US8284436B2 (en) 2007-08-03 2012-10-09 Seiko Epson Corporation Image data processing apparatus and method
JP2009060314A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Image data processor and image data processing method
JP2009060313A (en) * 2007-08-31 2009-03-19 Seiko Epson Corp Image data processor and processing method
US8134736B2 (en) 2007-08-31 2012-03-13 Seiko Epson Corporation Image data processing apparatus and method

Also Published As

Publication number Publication date
JP4529501B2 (en) 2010-08-25

Similar Documents

Publication Publication Date Title
US7274478B2 (en) Image printing apparatus and image printing control method
JP4262186B2 (en) Image supply apparatus, control method for the apparatus, and printing system
WO2000015442A1 (en) Printer, image processing device, image processing method, and recording medium
JP4574282B2 (en) Image supply device, device control method, printing system, and print control method
US20090059312A1 (en) Image data processing apparatus and method
JP4529501B2 (en) Printer, image printing system, and printing method
US8134736B2 (en) Image data processing apparatus and method
US20100238504A1 (en) Printing system
JP2006343922A (en) Image data acquisition device, printer and image data acquisition method
JP2004282382A (en) Network terminal equipment
JP2005340918A (en) Image display device, image supply device, image display system, and image display method
JP4604795B2 (en) Image data cache device, printing device, and image data cache method
US20020186242A1 (en) Image input control method, information processing apparatus, storage medium, and program
JP2006272723A (en) Image data cache apparatus, printer and image data cache method
US11314995B2 (en) Image processing apparatus, image processing method, and storage medium
KR100727929B1 (en) Method and apparatus for processing scan data in both sides scanning
JP3213203B2 (en) Facsimile machine
JP2005262652A (en) Image output indicating device, image output device, image storing device, image output system, image output indicating method, and image output method
JP2006277267A (en) Image data cache device, printer, and image data cache method
JP3213093B2 (en) Facsimile machine
JP4612822B2 (en) Image supply device, method for controlling the device, and printing system
JP4709246B2 (en) Image supply device, method for controlling the device, and printing system
JP2005338156A (en) Image supplying device, image display device, image display system, image supplying method, and image display method
KR100677541B1 (en) Method and apparatus for processing scan data using black and white compressing in both sides scanning
JP2009130590A (en) Printer and its control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070115

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100427

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100531

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees