JP5471696B2 - Image processing apparatus and image processing program - Google Patents

Image processing apparatus and image processing program Download PDF

Info

Publication number
JP5471696B2
JP5471696B2 JP2010071361A JP2010071361A JP5471696B2 JP 5471696 B2 JP5471696 B2 JP 5471696B2 JP 2010071361 A JP2010071361 A JP 2010071361A JP 2010071361 A JP2010071361 A JP 2010071361A JP 5471696 B2 JP5471696 B2 JP 5471696B2
Authority
JP
Japan
Prior art keywords
data
storage area
image data
transfer
processing
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.)
Active
Application number
JP2010071361A
Other languages
Japanese (ja)
Other versions
JP2011204052A (en
Inventor
真一 荒崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2010071361A priority Critical patent/JP5471696B2/en
Publication of JP2011204052A publication Critical patent/JP2011204052A/en
Application granted granted Critical
Publication of JP5471696B2 publication Critical patent/JP5471696B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、元画像データに基づいて出力画像データを生成する画像処理装置等に関し、特に、前記元画像データを処理単位ごとに複数の処理部にて処理し、前記出力画像データを生成する画像処理装置等に関する。   The present invention relates to an image processing apparatus that generates output image data based on original image data, and more particularly to an image that generates the output image data by processing the original image data in a plurality of processing units for each processing unit. The present invention relates to a processing apparatus and the like.

画像処理装置の一例として、RIP(Raster Image Processor)として機能するパーソナルコンピュータ(ここではRIP−PCという)が知られている。かかるRIP−PCは、描画コマンドやビットマップ画像データなどの元画像データに対し画像処理を行い、プリンタ(画像出力装置)に供給する印刷データ(出力画像データ)を生成する。画像処理には、描画コマンドに基づきビットマップデータを生成する処理や、ビットマップデータの色や解像度を変換する各種変換処理が含まれる。   As an example of an image processing apparatus, a personal computer (herein referred to as RIP-PC) that functions as a RIP (Raster Image Processor) is known. The RIP-PC performs image processing on original image data such as a drawing command and bitmap image data, and generates print data (output image data) to be supplied to a printer (image output device). The image processing includes processing for generating bitmap data based on a drawing command and various conversion processing for converting the color and resolution of the bitmap data.

RIP−PCがプリンタに印刷データを供給する速度は、RIP−PC内のプロセッサの処理速度やメモリに対するデータ読み書きの速度に依存する。近年では、ページ単位の印刷が可能になるなど、プリンタの印刷速度が向上している。これに伴い、印刷データの供給速度の向上が要望されている。   The speed at which the RIP-PC supplies print data to the printer depends on the processing speed of the processor in the RIP-PC and the data read / write speed with respect to the memory. In recent years, the printing speed of printers has been improved, such as printing in units of pages. Along with this, an improvement in the supply speed of print data is desired.

かかる要望に応えるために、画像処理用のプロセッサを並列化する方法が提案されている。特許文献1、2には、並列化された画像処理プロセッサについて記載されている。RIP−PCにおいては、CPU(Central Processing Unit)に加え、複数のGPU(Graphic Processing Unit)を並列動作可能に設けた構成が知られている。かかるRIP−PCでは、CPUが、たとえば1ページ分の元画像データを所定の処理単位ごとに分割して各GPUに供給し、各GPUに画像処理を行わせて印刷データを生成させる。そして、各GPUが生成した印刷データを収集し、1ページ分の印刷データをプリンタに供給する。   In order to meet such a demand, a method of parallelizing image processing processors has been proposed. Patent Documents 1 and 2 describe parallel image processing processors. In RIP-PC, a configuration is known in which a plurality of GPUs (Graphic Processing Units) are provided in parallel operation in addition to a CPU (Central Processing Unit). In such RIP-PC, for example, the CPU divides original image data for one page into predetermined processing units, supplies the GPUs to each GPU, and causes each GPU to perform image processing to generate print data. Then, the print data generated by each GPU is collected, and the print data for one page is supplied to the printer.

特開平5−266201号公報JP-A-5-266201 特開2002−207711号公報JP 2002-207711 A

ところで、上記のRIP−PCにおける画像処理では、RIP−PCのメモリから各GPUへの元画像データの転送時間と、各GPUにおける処理時間と、各GPUからメモリへの印刷データの転送時間とが発生する。   By the way, in the image processing in the RIP-PC, the transfer time of the original image data from the memory of the RIP-PC to each GPU, the processing time in each GPU, and the transfer time of print data from each GPU to the memory are as follows. Occur.

ここで、元画像データと印刷データとの転送時間をみてみる。データ転送時間は転送されるデータ量に依存するところ、印刷データのデータ量はプリンタが出力可能な画像の画素数に依存して一定であるので、その転送時間はある程度一定している。これに対し、元画像データのデータ量は元画像の構成により異なるので、元画像の構成に応じて元画像データの転送時間には差が生じる。   Now, let's look at the transfer time between the original image data and the print data. Since the data transfer time depends on the amount of data to be transferred, the data amount of the print data is constant depending on the number of pixels of the image that can be output by the printer. Therefore, the transfer time is constant to some extent. On the other hand, since the amount of original image data varies depending on the configuration of the original image, the transfer time of the original image data varies depending on the configuration of the original image.

また、各GPUにおける画像処理時間をみてみると、処理内容により差が生じる。たとえば描画コマンドに基づく元画像データから印刷データを生成する処理の方が、ビットマップデータなどの元画像データから印刷データを生成する処理より処理内容が多いので、処理時間が長くなる。   Also, when looking at the image processing time in each GPU, a difference occurs depending on the processing content. For example, a process for generating print data from original image data based on a drawing command has a longer processing time than a process for generating print data from original image data such as bitmap data, so that the processing time becomes longer.

すると、1ページあたりのデータ転送時間とGPUの画像処理時間の合計がプリンタの印刷所要時間以下であるうちは、余裕をもってプリンタに印刷データを供給できる。しかし、元画像データの転送時間が増大したり、画像処理の負荷が増大したりすることで、データ転送時間と画像処理時間の合計が印刷所要時間を上回るようになると、プリンタの印刷速度に合わせて印刷データを供給できなくなる。すると、複数ページを連続して印刷するようなジョブを実行する場合に、印刷データが供給されずにプリンタから白紙が出力されるといった不都合が生じる。あるいは、これを避けるために、RIP−PCのメモリやプリンタ内のメモリに、印刷データをある程度スプールしておくことがある。そして、スプールされた印刷データ量がある程度減少したときに、プリンタを停止させることも可能である。しかし、これは印刷遅延につながるおそれがある。   Then, as long as the total of the data transfer time per page and the GPU image processing time is equal to or shorter than the required printing time of the printer, the print data can be supplied to the printer with a margin. However, if the transfer time of the original image data increases or the load of image processing increases, the sum of the data transfer time and the image processing time exceeds the required printing time. Print data cannot be supplied. Then, when executing a job for printing a plurality of pages continuously, there is a problem that blank paper is output from the printer without supplying print data. Alternatively, in order to avoid this, print data may be spooled to some extent in the memory of the RIP-PC or the memory in the printer. It is also possible to stop the printer when the spooled print data amount has decreased to some extent. However, this may lead to a printing delay.

そこで、本発明の目的は、GPUに転送される元画像データの構成や、画像処理の内容の如何に関わらず、画像出力装置の動作速度に間に合うように出力画像データを供給できる画像処理装置等を提供することにある。   Accordingly, an object of the present invention is to provide an image processing apparatus capable of supplying output image data in time for the operation speed of the image output apparatus regardless of the configuration of the original image data transferred to the GPU and the content of the image processing. Is to provide.

上記の目的を達成するために、本発明の第1の側面によれば、ページごとの元画像データに基づいて画像出力装置用の出力画像データを生成する画像処理装置において、仮想記憶領域を有する第1の記憶部と、格納されるデータが前記仮想記憶領域に退避される第1の記憶領域と、前記退避がされない第2の記憶領域とを有し、前記第1の記憶部よりデータの読み書きの速度が速い第2の記憶部と、前記ページごとの元画像データを前記ページより小さい処理単位で処理し、前記出力画像データを生成する複数の処理部と、前記第1の記憶領域に格納された前記ページごとの元画像データを前記処理単位ごとに前記複数の処理部に交互に転送して前記出力画像データを生成させる転送部と、前記処理単位の前記元画像データが前記処理部に転送される転送時間を導出する転送時間導出部と、前記処理部にて前記出力画像データが生成される処理時間を導出する処理時間導出部とを設ける。そして、前記転送部は、前記転送時間の前記処理時間に対する比率に基づいて、前記元画像データを前記第1の記憶領域から前記処理部に転送する第1の転送モードと、前記処理部が前記元画像データに基づき前記出力画像データを生成するときに、前記処理部に転送するための前記処理単位の前記元画像データを前記第1の記憶領域から前記第2の記憶領域に転送し、当該元画像データを前記第2の記憶領域から前記処理部に転送する第2の転送モードのいずれかを選択して実行する。   In order to achieve the above object, according to a first aspect of the present invention, an image processing device that generates output image data for an image output device based on original image data for each page has a virtual storage area. A first storage unit; a first storage region where stored data is saved in the virtual storage region; and a second storage region where the data is not saved. A second storage unit having a high speed of reading and writing; a plurality of processing units that process the original image data for each page in a processing unit smaller than the page; and generating the output image data; and the first storage area A transfer unit that alternately transfers the stored original image data for each page to the plurality of processing units for each processing unit to generate the output image data; and the original image data for the processing unit is the processing unit Switch to A transfer time deriving unit that derives a transfer time is provided and a processing time deriving unit that derives the processing time during which the output image data is generated by the processing unit. The transfer unit is configured to transfer the original image data from the first storage area to the processing unit based on a ratio of the transfer time to the processing time. When generating the output image data based on the original image data, the original image data of the processing unit for transfer to the processing unit is transferred from the first storage area to the second storage area, and One of the second transfer modes for transferring the original image data from the second storage area to the processing unit is selected and executed.

上記側面によれば、第2の転送モードでは、仮想記憶領域にデータの退避が行われない第2の記憶領域を用いるので、データの退避が行われる第2の記憶領域を用いる第1の転送モードより、高速なデータ転送が可能となる。よって、処理部に転送される元画像データの構成や、画像処理の内容の如何に関わらず、画像出力装置の動作速度に間に合うように出力画像データを供給できる。また、前記第2の転送モードを実行するときには、前記処理部が前記元画像データに基づき前記出力画像データを生成するときに、前記処理部に転送するための前記処理単位の前記元画像データを前記第1の記憶領域から前記第2の記憶領域に転送する。よって、次の処理単位の元画像データ送信を早いタイミングで実行できるので、その分画像処理にかかる時間を短縮でき、出力画像データの供給の遅延を確実に防止できる。さらに、転送時間導出部は、前記処理単位の前記元画像データを前記処理部に転送する転送時間を導出し、処理時間導出部は、前記処理部における処理時間を導出する。よって、転送部や処理部の処理速度に応じて第1、第2の転送モードの制御が可能になるので、動作環境に依存せずに、出力画像データ供給の遅延を防止できる。   According to the above aspect, in the second transfer mode, since the second storage area in which data is not saved is used in the virtual storage area, the first transfer using the second storage area in which data is saved is performed. Data transfer can be performed faster than in the mode. Therefore, output image data can be supplied in time for the operation speed of the image output apparatus regardless of the configuration of the original image data transferred to the processing unit and the content of the image processing. Further, when executing the second transfer mode, when the processing unit generates the output image data based on the original image data, the original image data of the processing unit to be transferred to the processing unit is stored. Transfer from the first storage area to the second storage area. Therefore, since the original image data transmission of the next processing unit can be executed at an early timing, the time required for the image processing can be reduced correspondingly, and the delay in the supply of the output image data can be reliably prevented. Further, the transfer time deriving unit derives a transfer time for transferring the original image data of the processing unit to the processing unit, and the processing time deriving unit derives a processing time in the processing unit. Therefore, since the first and second transfer modes can be controlled according to the processing speed of the transfer unit and the processing unit, it is possible to prevent a delay in the output image data supply without depending on the operating environment.

上記側面の別の好ましい態様によれば、前記転送部は、前記比率が第1の比率のときには前記第1の転送モード、前記比率が前記第1の比率より大きい第2の比率のときには前記第2の転送モードを選択する。よって、画像処理時間におけるデータ転送時間の比率が大きい場合、つまり転送するデータ量が大きい場合には、第2の転送モードによりデータ転送時間を短縮することができ、出力画像データ供給の遅延を確実に防止できる。   According to another preferred aspect of the above aspect, the transfer unit is configured to perform the first transfer mode when the ratio is a first ratio, and the first transfer mode when the ratio is a second ratio that is greater than the first ratio. 2 transfer mode is selected. Therefore, when the ratio of the data transfer time to the image processing time is large, that is, when the amount of data to be transferred is large, the data transfer time can be shortened by the second transfer mode, and the output image data supply delay is ensured. Can be prevented.

上記側面の別の好ましい態様によれば、前記転送部は、前記画像出力装置に対し複数ページの出力画像データを出力する単一のジョブを実行する間に、前記比率が閾値を上回ったときに前記第1の転送モードから第2の転送モードに切り替える。また、前記比率が前記閾値以下になったときに前記第2の転送モードから前記第1の転送モードに切り替える。よって、画像出力装置からの出力が途切れることなく、ジョブを完了することができる。   According to another preferred aspect of the above aspect, when the transfer unit executes a single job that outputs output image data of a plurality of pages to the image output device, the ratio exceeds a threshold value. Switching from the first transfer mode to the second transfer mode. In addition, when the ratio becomes equal to or less than the threshold, the second transfer mode is switched to the first transfer mode. Therefore, the job can be completed without interrupting the output from the image output apparatus.

本実施形態における画像処理装置の構成を説明する図である。It is a figure explaining the structure of the image processing apparatus in this embodiment. RAM20とGPU14_1、14_2との間のデータ転送を模式的に示す図である。It is a figure which shows typically the data transfer between RAM20 and GPU14_1, 14_2. 通常転送モードと高速転送モードを説明するシーケンス図である。It is a sequence diagram explaining a normal transfer mode and a high-speed transfer mode. 通常転送モードのシーケンスを説明する図である。It is a figure explaining the sequence of normal transfer mode. 高速転送モードの処理シーケンスを説明する図である。It is a figure explaining the processing sequence of high-speed transfer mode. パーソナルコンピュータ2が印刷ジョブを実行するとき動作手順を説明するフローチャート図である。FIG. 10 is a flowchart illustrating an operation procedure when the personal computer 2 executes a print job.

以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.

図1は、本実施形態における画像処理装置の構成を説明する図である。ここでは、画像処理装置は、RIPとして機能するパーソナルコンピュータ2で構成される。また、画像出力装置はプリンタ4で構成される。パーソナルコンピュータ2は、ページごとの元画像データを生成し、これに対し画像処理を行って印刷データ(出力画像データ)を生成する。そして、パーソナルコンピュータ2は、生成した印刷データをプリンタ4に供給する。プリンタ4は、たとえば、ページプリンタである。プリンタ4は、印刷データに基づいて、1ページごとの出力画像をインクやトナーにより印刷用紙に印刷する。   FIG. 1 is a diagram illustrating the configuration of an image processing apparatus according to this embodiment. Here, the image processing apparatus includes a personal computer 2 that functions as a RIP. Further, the image output device is constituted by a printer 4. The personal computer 2 generates original image data for each page, performs image processing on the original image data, and generates print data (output image data). Then, the personal computer 2 supplies the generated print data to the printer 4. The printer 4 is, for example, a page printer. The printer 4 prints an output image for each page on printing paper with ink or toner based on the print data.

パーソナルコンピュータ2の各部について説明する。   Each part of the personal computer 2 will be described.

CPU6は、ROM(Read Only Memory)8に格納された起動プログラムや、ハードディスク10に格納された制御プログラム・処理プログラムに従って動作する。制御プログラムには、オペレーティングシステムOSが含まれる。また、処理プログラムには、たとえば元画像データを生成する描画・文書作成プログラムといったアプリケーションプログラムAPPと、画像処理を行うためのプリンタドライバプログラムPDRが含まれる。   The CPU 6 operates according to a startup program stored in a ROM (Read Only Memory) 8 and a control program / processing program stored in the hard disk 10. The control program includes an operating system OS. The processing program includes an application program APP such as a drawing / document creation program for generating original image data, and a printer driver program PDR for performing image processing.

RAM20は、CPU6が制御プログラム・処理プログラムを実行するときに、各種演算のためのデータを一時的に格納する。また、ハードディスク10は、RAM20に格納されるデータを一時的に退避させるための仮想記憶領域を有する。本実施形態では、プリンタドライバプログラムPDRに従って後述の動作を行うCPU6が「転送部」、「転送時間導出部」、及び「処理時間導出部」に、プリンタドライバプログラムPDRが「画像処理プログラム」に、RAM20が「第2の記憶部」に、ハードディスク10が「第1の記憶部」に対応する。   The RAM 20 temporarily stores data for various calculations when the CPU 6 executes the control program / processing program. The hard disk 10 also has a virtual storage area for temporarily saving data stored in the RAM 20. In this embodiment, the CPU 6 that performs the operations described later in accordance with the printer driver program PDR is the “transfer unit”, the “transfer time deriving unit”, and the “processing time deriving unit”, and the printer driver program PDR is the “image processing program”. The RAM 20 corresponds to a “second storage unit”, and the hard disk 10 corresponds to a “first storage unit”.

CPU6は、アプリケーションプログラムAPPを実行するときに、インターフェース12を介して接続されるディスプレイ9に各種画像や文字を表示する。また、CPU6は、操作入力部7に対するユーザの操作入力を、インターフェース12を介して受け取る。かかる操作入力には、たとえば描画や文書作成、または印刷などの指示入力が含まれる。そして、CPU6は、アプリケーションプログラムAPPやプリンタドライバプログラムPDRに従って、入力に対応する処理を実行する。   When executing the application program APP, the CPU 6 displays various images and characters on the display 9 connected via the interface 12. Further, the CPU 6 receives a user operation input to the operation input unit 7 via the interface 12. Such operation input includes, for example, instruction input such as drawing, document creation, or printing. Then, the CPU 6 executes processing corresponding to the input according to the application program APP and the printer driver program PDR.

CPU6は、アプリケーションプログラムAPPにより生成した1ページごとの元画像データを、RAM20に格納する。また、後述するように、GPU14_1、14_2にて生成され、CPU6に転送される印刷データを、RAM20に格納する。そして、CPU6は、RAM20から印刷データを読み出し、インターフェース12を介してプリンタ4に転送する。   The CPU 6 stores the original image data for each page generated by the application program APP in the RAM 20. As will be described later, print data generated by the GPUs 14_1 and 14_2 and transferred to the CPU 6 is stored in the RAM 20. Then, the CPU 6 reads out the print data from the RAM 20 and transfers it to the printer 4 via the interface 12.

このとき、CPU6は、RAM20の記憶領域をメイン記憶領域20_1、ページロック記憶領域20_2に分けて使用する。メイン記憶領域20_1、ページロック記憶領域20_2の使い分けの方法は、後に詳述する。メイン記憶領域20_1は、格納するデータをハードディスク10上の仮想記憶領域に退避(ページングまたはスワッピング)するための領域であり、「第1の記憶領域」に対応する。これにより、記憶容量不足が回避される。一方、ページロック記憶領域20_2は、かかるデータの退避を行わない、ページロックされた領域であり、「第2の記憶領域」に対応する。よって、ページロック記憶領域20_2では、ハードディスク10へのアクセスを伴わない分、データの読み出しが高速化される。ページロック記憶領域20_2は固定的に確保しておくことも可能であるし、状況に応じて動的に確保することも可能である。ここでは、仮想記憶領域がハードディスク10に設けられる場合を例として説明する。しかし、ハードディスク10以外でも、CPU6からのデータ読み書きの速度はRAM20より劣るものの、RAM20より大容量の記憶媒体であれば、仮想記憶領域を設けることができる。   At this time, the CPU 6 uses the storage area of the RAM 20 divided into a main storage area 20_1 and a page lock storage area 20_2. A method of selectively using the main storage area 20_1 and the page lock storage area 20_2 will be described in detail later. The main storage area 20_1 is an area for saving (paging or swapping) data to be stored in a virtual storage area on the hard disk 10, and corresponds to a “first storage area”. This avoids a shortage of storage capacity. On the other hand, the page lock storage area 20_2 is a page-locked area in which such data is not saved, and corresponds to the “second storage area”. Therefore, in the page lock storage area 20_2, the data reading speed is increased by the amount not accompanied by the access to the hard disk 10. The page lock storage area 20_2 can be secured fixedly or dynamically according to the situation. Here, a case where a virtual storage area is provided in the hard disk 10 will be described as an example. However, other than the hard disk 10, although the data read / write speed from the CPU 6 is inferior to that of the RAM 20, a virtual storage area can be provided as long as the storage medium has a larger capacity than the RAM 20.

CPU6は、転送部として、RAM20に格納した1ページごとの元画像データを、「処理単位」ごとに、インターフェース12を介してGPU14_1、14_2に転送する。処理単位は、プリンタ4が印刷可能な画像の画素数や、GPU14_1、14_2のメモリ容量などに応じて任意に設定される。たとえば、GPU14_1、14_2のメモリ容量は一般的にRAM20より小容量であり、1ページ分の元画像データを保持できる容量を有さない。よって、処理単位は、1ページより小さい単位に設定される。   As a transfer unit, the CPU 6 transfers the original image data for each page stored in the RAM 20 to the GPUs 14_1 and 14_2 via the interface 12 for each “processing unit”. The processing unit is arbitrarily set according to the number of pixels of an image that can be printed by the printer 4, the memory capacity of the GPUs 14_1 and 14_2, and the like. For example, the memory capacity of the GPUs 14_1 and 14_2 is generally smaller than that of the RAM 20, and does not have a capacity to hold original image data for one page. Therefore, the processing unit is set to a unit smaller than one page.

GPU14_1、14_2は、CPU6の指示に従って、転送された元画像データに対し画像処理を行い、印刷データを生成する。すなわち、GPU14_1、14_2は、1ページ分の元画像データに対し、それぞれの使用可能なメモリ容量に応じて処理単位ごとに分担して画像処理を並列して行う。そうすることで、CPU6が単独で、あるいは単一のGPUのみで1ページ分の元画像データを処理するよりも高速に、1ページあたりの画像処理を実行できる。そして、GPU14_1、14_2は、印刷データをCPU6に転送する。GPU14_1、14_2はそれぞれ、図示を省略するが、入出力データを一時的に保持するメモリと、画像処理プログラムに従って画像処理を実行するプロセッサコアとを有する。GPU14_1、14_2では、キャッシュメモリや、分岐予測・非順次命令実行などの制御ハードウェアが省略されている。そして、浮動小数点演算に特化したプロセッサコアが並列化されることで、計算リソースが高密度に集約化されている。以下では、説明の便宜上、GPU14_1、14_2は同じ仕様のものとし、同じデータに関する転送時間や処理時間はGPU14_1、14_2の間で差がないものとする。ただし、これらが異なる場合も、本実施形態に含まれる。また、図1では、GPU14_1、14_2ともにパーソナルコンピュータ2の内部に設けられているが、GPU14_1、14_2の両方またはいずれか一方が、パーソナルコンピュータ2の外部に設けられる構成であってもよい。   The GPUs 14_1 and 14_2 perform image processing on the transferred original image data in accordance with an instruction from the CPU 6, and generate print data. That is, the GPUs 14 </ b> _ <b> 1 and 14 </ b> _ <b> 2 perform image processing in parallel by sharing each page of original image data for each page according to the available memory capacity. By doing so, it is possible to perform image processing per page at a higher speed than when the CPU 6 processes the original image data for one page alone or with only a single GPU. Then, the GPUs 14_1 and 14_2 transfer the print data to the CPU 6. Although not shown, each of the GPUs 14_1 and 14_2 includes a memory that temporarily stores input / output data and a processor core that executes image processing according to an image processing program. In the GPUs 14_1 and 14_2, cache memory and control hardware such as branch prediction / nonsequential instruction execution are omitted. Then, the processor cores specialized for floating point arithmetic are parallelized, so that calculation resources are concentrated at high density. Hereinafter, for convenience of explanation, it is assumed that the GPUs 14_1 and 14_2 have the same specifications, and there is no difference between the GPUs 14_1 and 14_2 in terms of transfer time and processing time for the same data. However, cases where these are different are also included in the present embodiment. In FIG. 1, both the GPUs 14 </ b> _ <b> 1 and 14 </ b> _ <b> 2 are provided inside the personal computer 2, but either or both of the GPUs 14 </ b> _ <b> 1 and 14 </ b> _ <b> 2 may be provided outside the personal computer 2.

GPU14_1、14_2が行う画像処理について説明する。画像処理の内容は、元画像データの種類により異なる。元画像データが、たとえば、ベクタ形式の描画コマンドを含むポストスクリプトなどである場合、これに対する画像処理には、描画コマンドを解析し、画素ごとにRGB(レッド、グリーン、ブルー)階調値を有するRGBビットマップデータを生成する処理、RGBビットマップデータの各画素の階調値をプリンタ4の表色系、たとえばCMYK(シアン、マゼンタ、イエロー、ブラック)階調値に変換してCMYKビットマップデータを生成する色変換処理、CMYKビットマップデータをプリンタ4の印刷解像度に合わせて二値化するハーフトーン処理、および、ハーフトーン処理されたビットマップデータに基づき、プリンタ4における主走査時のドットの記録状態を示すラスタデータと副走査送り量とを有する印刷データを生成する処理などが含まれる。また、元画像データがビットマップデータである場合、これに対する画像処理は、色変換またはハーフトーン処理、及び印刷データの生成処理が含まれる。いずれの場合も、最終的に印刷データが生成されるような画像処理が実行される。   Image processing performed by the GPUs 14_1 and 14_2 will be described. The content of the image processing varies depending on the type of original image data. When the original image data is, for example, a postscript including a drawing command in a vector format, the image processing for the original image data is analyzed and the RGB (red, green, blue) gradation value is obtained for each pixel. Processing for generating RGB bitmap data, the gradation value of each pixel of the RGB bitmap data is converted into a color system of the printer 4, for example, CMYK (cyan, magenta, yellow, black) gradation values, and CMYK bitmap data Based on the color conversion processing for generating image data, the halftone processing for binarizing CMYK bitmap data in accordance with the printing resolution of the printer 4, and the bitmap data subjected to the halftone processing. Print data having raster data indicating a recording state and a sub-scan feed amount is generated. Processing, and the like. When the original image data is bitmap data, the image processing for the original image data includes color conversion or halftone processing and print data generation processing. In either case, image processing is performed so that print data is finally generated.

次に、プリンタ4について詳細に説明する。プリンタ4では、CPU23がROM25に格納された制御プログラムに従って、印刷動作を統合的に制御する。また、CPU23は、パーソナルコンピュータ2から転送される印刷データをインターフェース22を介して受け取り、RAM24にスプールする。RAM24は、たとえば1または複数ページの印刷データを格納できるページバッファである。そして、CPU23は、RAM24から読み出した印刷データを印刷エンジン26に供給する。印刷エンジン26は、出力画像を構成する画素ごとにインクやトナーなどの記録材でドットを形成し、印刷用紙に出力画像を印刷する。   Next, the printer 4 will be described in detail. In the printer 4, the CPU 23 integrally controls the printing operation according to the control program stored in the ROM 25. In addition, the CPU 23 receives print data transferred from the personal computer 2 via the interface 22 and spools it in the RAM 24. The RAM 24 is a page buffer that can store, for example, one or more pages of print data. Then, the CPU 23 supplies the print data read from the RAM 24 to the print engine 26. The print engine 26 forms dots with a recording material such as ink or toner for each pixel constituting the output image, and prints the output image on printing paper.

なお、プリンタ4以外にも、たとえばプロジェクタにより画像出力装置を構成することも可能である。その場合、プロジェクタは、出力画像画像を構成する画素ごとに、その階調値に応じた色の光を照射して、出力画像を投影出力する。   In addition to the printer 4, for example, an image output device can be configured by a projector. In this case, the projector projects and outputs the output image by irradiating light of a color corresponding to the gradation value for each pixel constituting the output image image.

本実施形態の変形例では、パーソナルコンピュータ2は、インターフェース12により接続される外部記憶装置から元画像データを取得してもよい。外部記憶装置は、CD―ROM(Compact Disk ROM)ドライブユニット、MO(Magneto Optic)ドライブユニット、FD(Floppy(登録商標)Disk)ドライブユニット、USB(Universal Serial Bus)インターフェースにより構成され、CD、MO、FDなどの記憶媒体、あるいはUSBメモリなどから元画像データを読み取る。   In a modification of the present embodiment, the personal computer 2 may acquire original image data from an external storage device connected by the interface 12. The external storage device is composed of a CD-ROM (Compact Disk ROM) drive unit, an MO (Magneto Optic) drive unit, an FD (Floppy (registered trademark) Disk) drive unit, and a USB (Universal Serial Bus) interface. CD, MO, FD, etc. The original image data is read from a storage medium or a USB memory.

さらに別の変形例では、パーソナルコンピュータ2は他の情報処理装置から元画像データを取得する。たとえば、パーソナルコンピュータ2は、ネットワーク環境におけるプリンタサーバを構成する。その場合の構成は、破線で図示される。パーソナルコンピュータ2は、ネットワークインターフェース13によりLAN(Local Area Network)などのネットワーク40に接続される。ネットワーク40には、他のパーソナルコンピュータ42が接続される。他のパーソナルコンピュータ42は、アプリケーションプログラムにより生成した元画像データや記憶媒体から読みとった元画像データを、ネットワーク40を介してパーソナルコンピュータ2に転送する。ここで、複数の他のパーソナルコンピュータ42がパーソナルコンピュータ2に元画像データを転送することももちろん可能である。あるいは、ネットワーク40を介さずに、パーソナルコンピュータ2と他のパーソナルコンピュータ42とがピアツーピアで接続される構成も可能である。   In yet another modification, the personal computer 2 acquires original image data from another information processing apparatus. For example, the personal computer 2 constitutes a printer server in a network environment. The configuration in that case is illustrated by a broken line. The personal computer 2 is connected to a network 40 such as a LAN (Local Area Network) by a network interface 13. Another personal computer 42 is connected to the network 40. The other personal computer 42 transfers the original image data generated by the application program and the original image data read from the storage medium to the personal computer 2 via the network 40. Here, it is of course possible for a plurality of other personal computers 42 to transfer the original image data to the personal computer 2. Alternatively, a configuration in which the personal computer 2 and another personal computer 42 are connected by peer-to-peer without using the network 40 is also possible.

パーソナルコンピュータ2では、CPU6が、他のパーソナルコンピュータ42から転送された元画像データをネットワークインターフェース13、インターフェース12を介して受け取り、RAM20に格納する。そして、上述のように、元画像データをGPU14_1、14_2に転送して画像処理させる。この場合、元画像データは、描画コマンド、RGBビットマップデータ、CMYKビットマップデータ、ハーフトーン処理されたビットマップデータのいずれでもよい。それぞれの場合に応じ、GPU14_1、14_2では、最終的に印刷データを生成するような画像処理が行われる。   In the personal computer 2, the CPU 6 receives the original image data transferred from the other personal computer 42 via the network interface 13 and the interface 12 and stores it in the RAM 20. Then, as described above, the original image data is transferred to the GPUs 14_1 and 14_2 for image processing. In this case, the original image data may be any of a drawing command, RGB bitmap data, CMYK bitmap data, and halftone processed bitmap data. Depending on each case, the GPUs 14_1 and 14_2 perform image processing that finally generates print data.

ここで、画像処理の際の、RAM20とGPU14_1、14_2との間のデータ転送について説明する。本実施形態では、2つの転送モードが実行される。   Here, data transfer between the RAM 20 and the GPUs 14_1 and 14_2 during image processing will be described. In this embodiment, two transfer modes are executed.

図2は、RAM20とGPU14_1、14_2との間のデータ転送を模式的に示す図である。図2(A)は「第1の転送モード」(以下、通常転送モードという)に対応し、図2(B)は「第2の転送モード」(以下、高速転送モードという)に対応する。   FIG. 2 is a diagram schematically illustrating data transfer between the RAM 20 and the GPUs 14_1 and 14_2. 2A corresponds to the “first transfer mode” (hereinafter referred to as the normal transfer mode), and FIG. 2B corresponds to the “second transfer mode” (hereinafter referred to as the high-speed transfer mode).

まず通常転送モードについて説明する。図2(A)に示すように、CPU6は、生成され、または他のコンピュータ42から転送された1ページ分の元画像データGDを、まずRAM20のメイン記憶領域20_1に格納する。そして、CPU6は、元画像データGDを、処理単位ごとにGPU14_1、14_2に転送する。ここで、元画像データGD_1はGPU14_1用の処理単位、元画像データGD_2はGPU14_2用の処理単位に対応する。すなわち、CPU6は、元画像データGD_1をGPU14_1に転送し(M2)、元画像データGD_2をGPU14_2に転送する(M4)。   First, the normal transfer mode will be described. As shown in FIG. 2A, the CPU 6 first stores the original image data GD for one page generated or transferred from another computer 42 in the main storage area 20_1 of the RAM 20. Then, the CPU 6 transfers the original image data GD to the GPUs 14_1 and 14_2 for each processing unit. Here, the original image data GD_1 corresponds to a processing unit for the GPU 14_1, and the original image data GD_2 corresponds to a processing unit for the GPU 14_2. That is, the CPU 6 transfers the original image data GD_1 to the GPU 14_1 (M2), and transfers the original image data GD_2 to the GPU 14_2 (M4).

すると、GPU14_1は画像処理を行って印刷データPD_1を生成し、CPU6に転送するので、CPU6はこれをメイン記憶領域20_1に格納する(M6)。一方、GPU14_2は画像処理を行って印刷データPD_2を生成しCPU6に転送するので、CPU6はこれをメイン記憶領域20_1に格納する(M8)。このような動作が1ページ分の元画像データGDのすべてに対し実行されることで、1ページ分の印刷データPDが生成される。   Then, since the GPU 14_1 performs image processing to generate print data PD_1 and transfers it to the CPU 6, the CPU 6 stores it in the main storage area 20_1 (M6). On the other hand, since the GPU 14_2 performs image processing to generate print data PD_2 and transfers it to the CPU 6, the CPU 6 stores it in the main storage area 20_1 (M8). By executing such an operation for all the original image data GD for one page, print data PD for one page is generated.

次に、高速転送モードについて説明する。図2(B)に示すように、CPU6は、RAM20のメイン記憶領域20_1に格納された1ページ分の元画像データGDを、処理単位ごとにページロック記憶領域20_2に転送(または複製)して格納する。ここで、ページロック記憶領域20_2は、GPU14_1用の第1ページロック記憶領域20_21と、GPU14_2用の第2記憶領域20_22とに区分されて使用される。よって、GPU14_1用の元画像データGD_1は第1ページロック記憶領域20_21に格納され(M10)、GPU14_2用の元画像データGD_2は第2ページロック記憶領域20_22に格納される(M12)。   Next, the high-speed transfer mode will be described. As shown in FIG. 2B, the CPU 6 transfers (or duplicates) the original image data GD for one page stored in the main storage area 20_1 of the RAM 20 to the page lock storage area 20_2 for each processing unit. Store. Here, the page lock storage area 20_2 is divided into a first page lock storage area 20_21 for the GPU 14_1 and a second storage area 20_22 for the GPU 14_2. Therefore, the original image data GD_1 for the GPU 14_1 is stored in the first page lock storage area 20_21 (M10), and the original image data GD_2 for the GPU 14_2 is stored in the second page lock storage area 20_22 (M12).

そして、CPU6は、第1ページロック記憶領域20_21から元画像データGD_1を読み出してGPU14_1に転送し(M14)、第2ページロック記憶領域20_22から元画像データGD_2を読み出してGPU14_2に転送する(M16)。   Then, the CPU 6 reads the original image data GD_1 from the first page lock storage area 20_21 and transfers it to the GPU 14_1 (M14), and reads the original image data GD_2 from the second page lock storage area 20_22 and transfers it to the GPU 14_2 (M16). .

すると、GPU14_1は画像処理を行って印刷データPD_1を生成しCPU6に転送するので、CPU6はこれを第1ページロック記憶領域20_21に格納する(M18)。一方、GPU14_2は画像処理を行って印刷データPD_2を生成しCPU6に転送するので、CPU6はこれを第2ページロック記憶領域20_22に格納する(M20)。   Then, the GPU 14_1 performs image processing to generate print data PD_1 and transfers it to the CPU 6. The CPU 6 stores this in the first page lock storage area 20_21 (M18). On the other hand, since the GPU 14_2 performs image processing to generate print data PD_2 and transfers it to the CPU 6, the CPU 6 stores it in the second page lock storage area 20_22 (M20).

そして、CPU6は、ページロック記憶領域20_2から印刷データPD_1、PD_2を読み出し、印刷データPD_1、PD_2をメイン記憶領域20_1に転送(または複製)して格納する(M22、M24)。このような動作が1ページ分の元画像データGDのすべてに対し実行されることで、1ページ分の印刷データPDが生成される。   Then, the CPU 6 reads the print data PD_1 and PD_2 from the page lock storage area 20_2, and transfers (or duplicates) the print data PD_1 and PD_2 to the main storage area 20_1 for storage (M22, M24). By executing such an operation for all the original image data GD for one page, print data PD for one page is generated.

図3は、通常転送モード、高速転送モードにおける動作手順を説明するシーケンス図である。ここでは、説明を明確にする便宜上、GPU14_1のみに対するデータ転送を例として説明する。ただし、ここにおける説明はGPU14_2についても適用される。   FIG. 3 is a sequence diagram illustrating an operation procedure in the normal transfer mode and the high-speed transfer mode. Here, for the sake of clarity of explanation, data transfer for only the GPU 14_1 will be described as an example. However, the description here also applies to the GPU 14_2.

通常転送モードに対応する図3(A)には、横軸の時間軸に対し、処理単位ごとに、RAM20のメイン記憶領域20_1からGPU14_1へのデータ転送シーケンス(1)、GPU14_1からメイン記憶領域20_1へのデータ転送シーケンス(2)、及びGPU14_1における画像処理シーケンス(3)が示される。図3(A)に示すように、通常転送モードでは、1つの処理単位に関し、メイン記憶領域20_1からGPU14_1へのデータ転送シーケンス(1)、GPU14_1における画像処理シーケンス(3)、GPU14_1からメイン記憶領域20_1へのデータ転送シーケンス(2)の順で実行され、これが繰り返される。   In FIG. 3A corresponding to the normal transfer mode, the data transfer sequence (1) from the main storage area 20_1 of the RAM 20 to the GPU 14_1 and the main storage area 20_1 from the GPU 14_1 are shown for each processing unit with respect to the time axis on the horizontal axis. A data transfer sequence (2) to the image processing and an image processing sequence (3) in the GPU 14_1 are shown. As shown in FIG. 3A, in the normal transfer mode, for one processing unit, a data transfer sequence (1) from the main storage area 20_1 to the GPU 14_1, an image processing sequence (3) in the GPU 14_1, and a main storage area from the GPU 14_1. This is repeated in the order of the data transfer sequence (2) to 20_1.

高速転送モードに対応する図3(B)には、横軸の時間軸に対し、処理単位ごとに、メイン記憶領域20_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(1)、第1ページロック記憶領域20_21からGPU14_1へのデータ転送シーケンス(2)、GPU14_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(3)、第1ページロック記憶領域20_21からメイン記憶領域20_1へのデータ転送シーケンス(4)、及びGPU14_1における画像処理シーケンス(5)が示される。図3(B)に示すように、高速転送モードでは、1つの処理単位に関し、メイン記憶領域20_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(1)、第1ページロック記憶領域20_21からGPU14_1へのデータ転送シーケンス(2)、GPU14_1における画像処理シーケンス(5)、GPU14_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(3)、第1ページロック記憶領域20_21からメイン記憶領域20_1へのデータ転送シーケンス(4)の順で実行され、これが繰り返される。   In FIG. 3B corresponding to the high-speed transfer mode, the data transfer sequence (1) from the main storage area 20_1 to the first page lock storage area 20_21 for each processing unit with respect to the time axis on the horizontal axis, the first Data transfer sequence (2) from the page lock storage area 20_21 to the GPU 14_1, data transfer sequence (3) from the GPU 14_1 to the first page lock storage area 20_21, and data transfer from the first page lock storage area 20_21 to the main storage area 20_1 A sequence (4) and an image processing sequence (5) in the GPU 14_1 are shown. As shown in FIG. 3B, in the high-speed transfer mode, the data transfer sequence (1) from the main storage area 20_1 to the first page lock storage area 20_21 and the first page lock storage area 20_21 for one processing unit. Data transfer sequence (2) to the GPU 14_1, image processing sequence (5) in the GPU 14_1, data transfer sequence (3) from the GPU 14_1 to the first page lock storage area 20_21, and from the first page lock storage area 20_21 to the main storage area 20_1 The data transfer sequence (4) is executed in this order, and this is repeated.

ここで、高速転送モードでは、仮想記憶領域にページングを行わない、ページロックされた第1ページロック記憶領域20_21を用いてGPU14_1とのデータ転送を行うので、仮想記憶領域にページングを行うメイン記憶領域20_1からGPU14_1にデータ転送を行う通常転送モードより、データ読み出しを速く行うことができる。よって、データ転送時間が短縮される。   Here, in the high-speed transfer mode, data transfer with the GPU 14_1 is performed using the page-locked first page lock storage area 20_21 which does not perform paging in the virtual storage area, and thus the main storage area which performs paging in the virtual storage area Data can be read faster than the normal transfer mode in which data is transferred from 20_1 to the GPU 14_1. Therefore, the data transfer time is shortened.

さらに、図3(B)に示すように、1つの処理単位についてGPU14_1での画像処理が行われるときに、元画像データの次の処理単位をメイン記憶領域20_1から第1ページロック記憶領域20_21に転送する((1)において矢印A1で指し示す)。また、第1ページロック記憶領域20_21に一旦格納した印刷データは、次の処理単位に関しGPU14_1での画像処理が行われるときに、メイン記憶領域20_1に転送する((4)において矢印A2で指し示す)。よって、生成された印刷データがGPU14_1から転送されたときに、即座に元画像データの次の処理単位の転送を開始できる。よって、全体としての画像処理時間を通常転送モードより短縮することができ、元画像データのデータ量が増大して転送時間が長くなったとしても、プリンタ4に遅延なく印刷データを供給することができる。   Further, as shown in FIG. 3B, when image processing is performed on the GPU 14_1 for one processing unit, the next processing unit of the original image data is transferred from the main storage area 20_1 to the first page lock storage area 20_21. Transfer (indicated by arrow A1 in (1)). The print data once stored in the first page lock storage area 20_21 is transferred to the main storage area 20_1 when the image processing is performed on the GPU 14_1 for the next processing unit (indicated by the arrow A2 in (4)). . Therefore, when the generated print data is transferred from the GPU 14_1, transfer of the next processing unit of the original image data can be started immediately. Therefore, the overall image processing time can be shortened compared with the normal transfer mode, and even if the amount of original image data increases and the transfer time becomes longer, print data can be supplied to the printer 4 without delay. it can.

次に、GPU14_1、14_2を並列で動作させる場合の、通常転送モード、高速転送モードについて説明する。   Next, the normal transfer mode and the high-speed transfer mode when the GPUs 14_1 and 14_2 are operated in parallel will be described.

図4は、通常転送モードのシーケンスを説明する図である。図4(A)、(B)には、横軸の時間軸に対し、処理単位ごとに、RAM20のメイン記憶領域20_1からGPU14_1、へのデータ転送シーケンス(1)、GPU14_1からメイン記憶領域20_1へのデータ転送シーケンス(2)、及びGPU14_1における画像処理シーケンス(3)が示され、さらに、RAM20のメイン記憶領域20_1からGPU14_2へのデータ転送シーケンス(1´)、GPU14_2からメイン記憶領域20_1へのデータ転送シーケンス(2´)、及びGPU14_2における画像処理シーケンス(3´)が示される。ここでは、RAM20のメイン記憶領域20_1からGPU14_1へのデータ転送と、GPU14_1からRAM20のメイン記憶領域20_1へのデータ転送とが、GPU14_2における画像処理と重複するように実行される。それとともに、RAM20のメイン記憶領域20_1からGPU14_2へのデータ転送と、GPU14_2からRAM20のメイン記憶領域20_1へのデータ転送とが、GPU14_1における画像処理と重複するように実行される。   FIG. 4 is a diagram for explaining the sequence of the normal transfer mode. 4A and 4B, the data transfer sequence (1) from the main storage area 20_1 to the GPU 14_1 of the RAM 20 and the processing from the GPU 14_1 to the main storage area 20_1 for each processing unit with respect to the time axis on the horizontal axis. The data transfer sequence (2) and the image processing sequence (3) in the GPU 14_1 are shown, the data transfer sequence (1 ′) from the main storage area 20_1 to the GPU 14_2 of the RAM 20, and the data from the GPU 14_2 to the main storage area 20_1 A transfer sequence (2 ′) and an image processing sequence (3 ′) in the GPU 14_2 are shown. Here, the data transfer from the main storage area 20_1 of the RAM 20 to the GPU 14_1 and the data transfer from the GPU 14_1 to the main storage area 20_1 of the RAM 20 are executed so as to overlap with the image processing in the GPU 14_2. At the same time, data transfer from the main storage area 20_1 of the RAM 20 to the GPU 14_2 and data transfer from the GPU 14_2 to the main storage area 20_1 of the RAM 20 are executed so as to overlap with image processing in the GPU 14_1.

図4(A)は、特に、データ転送時間が画像処理時間以下の場合を示す。ここでは、GPU14_2における画像処理時間T24に、メイン記憶領域20_1からGPU14_1へのデータ転送時間T11と、GPU14_1からメイン記憶領域20_1へのデータ転送時間T12との合計T13が含まれる。一方では、GPU14_1における画像処理時間T14に、メイン記憶領域20_1からGPU14_2へのデータ転送時間T21と、GPU14_2からメイン記憶領域20_1へのデータ転送時間T22との合計T23が含まれる。このようにすることで、GPU14_1、14_2の待ち時間が最小限となり、全体としての処理時間が短縮される。また、データバスの負荷が分散される。   FIG. 4A particularly shows a case where the data transfer time is equal to or shorter than the image processing time. Here, the image processing time T24 in the GPU 14_2 includes a total T13 of the data transfer time T11 from the main storage area 20_1 to the GPU 14_1 and the data transfer time T12 from the GPU 14_1 to the main storage area 20_1. On the other hand, the image processing time T14 in the GPU 14_1 includes a total T23 of the data transfer time T21 from the main storage area 20_1 to the GPU 14_2 and the data transfer time T22 from the GPU 14_2 to the main storage area 20_1. By doing so, the waiting time of the GPUs 14_1 and 14_2 is minimized, and the processing time as a whole is shortened. In addition, the load on the data bus is distributed.

また、図4(B)はデータ転送時間が処理時間より大きい場合を示す。ここでは、メイン記憶領域20_1からGPU14_1へのデータ転送時間T11と、GPU14_1からメイン記憶領域20_1へのデータ転送時間T12の合計時間T13に、GPU14_2における画像処理時間T24が含まれる。一方では、メイン記憶領域20_1からGPU14_2へのデータ転送時間T21と、GPU14_2からメイン記憶領域20_1へのデータ転送時間T22の合計時間T23に、GPU14_1における画像処理時間T14が含まれる。このようにすることで、CPU6の待ち時間が最小限となる。よって、全体としての処理時間が短縮される。また、データバスの負荷が分散される。   FIG. 4B shows a case where the data transfer time is longer than the processing time. Here, the image processing time T24 in the GPU 14_2 is included in the total time T13 of the data transfer time T11 from the main storage area 20_1 to the GPU 14_1 and the data transfer time T12 from the GPU 14_1 to the main storage area 20_1. On the other hand, the image processing time T14 in the GPU 14_1 is included in the total time T23 of the data transfer time T21 from the main storage area 20_1 to the GPU 14_2 and the data transfer time T22 from the GPU 14_2 to the main storage area 20_1. By doing so, the waiting time of the CPU 6 is minimized. Therefore, the processing time as a whole is shortened. In addition, the load on the data bus is distributed.

ここで、元画像データの種類とデータ転送時間の関係に着目すると、元画像データがベクタ形式などの描画コマンドである場合より、ビットマップデータである場合の方が、データ量が大きく、したがってデータ転送時間が長くなる。一方、画像処理時間は、描画コマンドに基づいてビットマップデータを生成し、さらに色変換等の処理を行う場合より、ビットマップデータに対し色変換等の変換処理から行う場合の方が処理負荷が小さく、処理時間が短くなる。すなわち、データ転送時間と画像処理時間との関係は、元画像データのデータ量が小さい場合には、データ転送時間が短い一方で画像処理時間が長く、元画像データのデータ量が大きい場合には、データ転送時間が長い一方で画像処理時間が短いという関係が概ね成り立つ。   Here, focusing on the relationship between the type of the original image data and the data transfer time, the amount of data is larger when the original image data is bitmap data than when the original image data is a drawing command such as a vector format. The transfer time becomes longer. On the other hand, the image processing time is greater when the bitmap data is generated from the conversion command such as color conversion than when the bitmap data is generated based on the drawing command and the color conversion is performed. Smaller and shorter processing time. That is, the relationship between the data transfer time and the image processing time is as follows. When the data amount of the original image data is small, the data transfer time is short while the image processing time is long and the data amount of the original image data is large. The relationship that the image transfer time is short while the data transfer time is long generally holds.

図4(B)では、GPU14_1、14_2に関し、一方へのデータ転送と他方での画像処理を重複させることで処理を高速化している。しかし、たとえば1つの印刷ジョブにおいてページごとに元画像データが異なるような場合に、転送されるデータ量が途中から増大し、画像処理時間の割に転送時間が長くなってくると、画像処理時間内にデータ転送が終了しないおそれが生じる。かかる場合には、次に述べる高速転送モードの方が、転送時間を短縮することができ有利である。   In FIG. 4B, regarding the GPUs 14_1 and 14_2, the processing speed is increased by overlapping the data transfer to one side and the image processing on the other side. However, for example, when the original image data is different for each page in one print job, if the amount of transferred data increases from the middle and the transfer time becomes longer for the image processing time, the image processing time There is a risk that the data transfer will not be completed. In such a case, the high-speed transfer mode described below is advantageous because the transfer time can be shortened.

図5は、高速転送モードの処理シーケンスを説明する図である。横軸の時間軸に対し、処理単位ごとに、メイン記憶領域20_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(1)、第1ページロック記憶領域20_21からGPU14_1へのデータ転送シーケンス(2)、GPU14_1から第1ページロック記憶領域20_21へのデータ転送シーケンス(3)、第1ページロック記憶領域20_21からメイン記憶領域20_1へのデータ転送シーケンス(4)、及びGPU14_1における画像処理シーケンス(5)が示され、さらに、メイン記憶領域20_1から第2ページロック記憶領域20_22へのデータ転送シーケンス(1´)、第2ページロック記憶領域20_22からGPU14_2へのデータ転送シーケンス(2´)、GPU14_2から第2ページロック記憶領域20_22へのデータ転送シーケンス(3´)、第2ページロック記憶領域20_22からメイン記憶領域20_1へのデータ転送シーケンス(4´)、及びGPU14_2における画像処理シーケンス(5´)が示される。   FIG. 5 is a diagram for explaining the processing sequence in the high-speed transfer mode. The data transfer sequence (1) from the main storage area 20_1 to the first page lock storage area 20_21 and the data transfer sequence (2 from the first page lock storage area 20_21 to the GPU 14_1) for each processing unit with respect to the horizontal time axis. ), A data transfer sequence (3) from the GPU 14_1 to the first page lock storage area 20_21, a data transfer sequence (4) from the first page lock storage area 20_21 to the main storage area 20_1, and an image processing sequence (5) in the GPU 14_1. Further, the data transfer sequence (1 ′) from the main storage area 20_1 to the second page lock storage area 20_22, the data transfer sequence (2 ′) from the second page lock storage area 20_22 to the GPU 14_2, and the GPU 14_2 to the second 2 page lock A data transfer sequence (3 ′) to the storage area 20_22, a data transfer sequence (4 ′) from the second page lock storage area 20_22 to the main storage area 20_1, and an image processing sequence (5 ′) in the GPU 14_2 are shown.

ここでは、メイン記憶領域20_1から第1ページロック記憶領域20_21へのデータ転送時間T15と、第1ページロック記憶領域20_21からGPU14_1へのデータ転送時間T16と、GPU14_1から第1ページロック記憶領域20_21へのデータ転送時間T17の合計が、GPU14_2における画像処理時間T24に含まれるように、データ転送が実行される。一方では、メイン記憶領域20_1から第2ページロック記憶領域20_22へのデータ転送時間T25と、第2ページロック記憶領域20_22からGPU14_2へのデータ転送時間T26と、GPU14_2から第2ページロック記憶領域20_22へのデータ転送時間T27の合計が、GPU14_1における画像処理時間T14に含まれるように、データ転送が実行される。このようにすることで、データ転送時間が短縮することに加え、CPU6、及びGPU14_1、14_2の待ち時間が最小限となり、全体としての画像処理時間が短縮される。よって、転送されるデータ量が増大した場合であっても、画像処理時間内にデータ転送を実行でき、印刷データ供給の遅延を防止することができる。また、データバスの負荷が軽減される。   Here, the data transfer time T15 from the main storage area 20_1 to the first page lock storage area 20_21, the data transfer time T16 from the first page lock storage area 20_21 to the GPU 14_1, and the GPU 14_1 to the first page lock storage area 20_21. The data transfer is executed such that the total data transfer time T17 is included in the image processing time T24 in the GPU 14_2. On the other hand, the data transfer time T25 from the main storage area 20_1 to the second page lock storage area 20_22, the data transfer time T26 from the second page lock storage area 20_22 to the GPU 14_2, and the GPU 14_2 to the second page lock storage area 20_22. The data transfer is executed such that the total data transfer time T27 is included in the image processing time T14 in the GPU 14_1. By doing so, in addition to shortening the data transfer time, the waiting time of the CPU 6 and the GPUs 14_1 and 14_2 is minimized, and the image processing time as a whole is shortened. Therefore, even when the amount of data to be transferred increases, data transfer can be executed within the image processing time, and a delay in supplying print data can be prevented. In addition, the load on the data bus is reduced.

次に、通常転送モード、高速転送モードの切替えについて説明する。上述したように、データ転送時間と画像処理時間との関係は、元画像データのデータ量が小さい場合には、データ転送時間が短い一方で画像処理時間が長く、元画像データのデータ量が大きい場合には、データ転送時間が長い一方で画像処理時間が短くなるという関係が概ね成り立つ。このことに着目し、本実施形態では、通常転送モードと高速転送モードを、元画像データをGPU14_1、14_2に転送する転送時間の、GPU14_1、14_2での画像処理時間に対する比率に基づいて切り替える。そうすることで、印刷データの供給速度を所望の速度以上に保ち、プリンタ4の印刷速度に間に合うように印刷データを供給することを可能にする。   Next, switching between the normal transfer mode and the high-speed transfer mode will be described. As described above, when the data amount of the original image data is small, the relationship between the data transfer time and the image processing time is that the data transfer time is short while the image processing time is long and the data amount of the original image data is large. In this case, the relationship that the image processing time is shortened while the data transfer time is long is generally satisfied. Focusing on this, in the present embodiment, the normal transfer mode and the high-speed transfer mode are switched based on the ratio of the transfer time for transferring the original image data to the GPUs 14_1 and 14_2 to the image processing time in the GPUs 14_1 and 14_2. By doing so, it is possible to keep the supply speed of the print data at a desired speed or more and supply the print data in time for the print speed of the printer 4.

図6は、パーソナルコンピュータ2が印刷ジョブを実行するときの動作手順を説明するフローチャート図である。図6の手順は、CPU6とGPU14_1、14_2における動作手順を示す。   FIG. 6 is a flowchart for explaining an operation procedure when the personal computer 2 executes a print job. The procedure of FIG. 6 shows an operation procedure in the CPU 6 and the GPUs 14_1 and 14_2.

CPU6は、印刷開始の指示が入力され、または他のパーソナルコンピュータから印刷開始の指示が送られると(S2)、通常転送モードに設定して(S3)画像処理を開始する。   When an instruction to start printing is input or an instruction to start printing is sent from another personal computer (S2), the CPU 6 sets the normal transfer mode (S3) and starts image processing.

CPU6は、通常転送モードにより、元画像データを処理単位ごとにGPU14_1、14_2に転送し、画像処理を指示する(S4)。   In the normal transfer mode, the CPU 6 transfers the original image data to the GPUs 14_1 and 14_2 for each processing unit, and instructs image processing (S4).

GPU14_1、14_2は、元画像データと画像処理の指示を受け取ると(S6)、これに応答して画像処理を行い(S8)、印刷データを生成する。そして、GPU14_1、14_2は、印刷データをCPU6に転送する(S10)。   Upon receiving the original image data and the image processing instruction (S6), the GPUs 14_1 and 14_2 perform image processing in response thereto (S8) and generate print data. Then, the GPUs 14_1 and 14_2 transfer the print data to the CPU 6 (S10).

この間、CPU6は、手順S4を実行するときにタイマを動作させ、転送完了後にデータ転送に要した時間を計測する(S11)。そして、CPU6は、印刷データを受け取って(S12)、元画像データの転送後からの経過時間を計測して、GPU14_1、14_2での画像処理時間を計測する(S13)。ここで、印刷データのデータ量は、プリンタ4で印刷可能な画像の画素数や、GPU14_1、14_2の処理能力に応じて予め導出される。よって、印刷データの転送時間も予め計算により導出される。ここにおいて、元画像データ、印刷データの転送時間を導出するCPU6が、転送時間導出部に対応する。また、画像処理時間は、元画像データ転送後からの経過時間から、印刷データの転送時間を減算することで導出される。ここにおいて、画像処理時間を導出するCPU6が、処理時間導出部に対応する。   During this time, the CPU 6 operates a timer when executing step S4, and measures the time required for data transfer after the transfer is completed (S11). The CPU 6 receives the print data (S12), measures the elapsed time after the transfer of the original image data, and measures the image processing time in the GPUs 14_1 and 14_2 (S13). Here, the data amount of the print data is derived in advance according to the number of pixels of an image that can be printed by the printer 4 and the processing capability of the GPUs 14_1 and 14_2. Accordingly, the transfer time of the print data is derived in advance by calculation. Here, the CPU 6 for deriving the transfer time of the original image data and the print data corresponds to the transfer time deriving unit. The image processing time is derived by subtracting the print data transfer time from the elapsed time after the original image data transfer. Here, the CPU 6 for deriving the image processing time corresponds to a processing time deriving unit.

次に、CPU6は、転送対処理時間比率((元画像データの転送時間+印刷データの転送時間)/画像処理時間)が、所定の閾値を上回っている場合には(S14のYES)、高速転送モードに設定して(S15)処理を続行する。この場合、データ転送時間が画像処理時間に対して大きくなっており、元画像データのデータ量が増大したことを意味する。そこで、高速転送モードに切り替えることで、印刷データの供給が遅延することを防止する。ここにおいて、判断のための閾値は、印刷データの供給が遅延する蓋然性が高くなることが想定されるような閾値を実験や計算により求め、任意に設定することができる。また、転送対処理時間比率を、(元画像データの転送時間/画像処理時間)としてもよい。   Next, when the transfer to processing time ratio ((original image data transfer time + print data transfer time) / image processing time) exceeds a predetermined threshold (YES in S14), the CPU 6 The transfer mode is set (S15) and the process is continued. In this case, the data transfer time is longer than the image processing time, which means that the data amount of the original image data has increased. Therefore, the supply of print data is prevented from being delayed by switching to the high-speed transfer mode. Here, the threshold value for the determination can be arbitrarily set by obtaining a threshold value that is assumed to increase the probability that the supply of the print data will be delayed by experiments and calculations. Alternatively, the transfer to processing time ratio may be (original image data transfer time / image processing time).

一方、転送対処理時間比率が所定の閾値以下の場合には(S14のNO)、通常転送モードのまま処理を続行する。ここで、高速転送モードを実行するときにはページロック記憶領域20_2をRAM20に確保し、通常転送モードを実行するときにはこれを解放するような制御を実行することが可能である。そうすることですることで、ページロックされたページロック記憶領域20_2によりRAM20の記憶領域を圧迫することを回避することができる。よって、CPU20が他の制御プログラムや処理プログラムを実行しているようなときに、RAM20を効率的に使用することができ、処理効率低下を防止できる。また、他のパーソナルコンピュータ2がネットワーク上のプリンタサーバを構成し、ネットワーク上の複数のパーソナルコンピュータ42から元画像データが送信される場合であっても、RAM20の記憶領域を有効に使用することができる。   On the other hand, when the transfer to processing time ratio is equal to or smaller than the predetermined threshold (NO in S14), the processing is continued in the normal transfer mode. Here, it is possible to execute control such that the page lock storage area 20_2 is secured in the RAM 20 when the high-speed transfer mode is executed, and is released when the normal transfer mode is executed. By doing so, it is possible to avoid pressing the storage area of the RAM 20 with the page-lock storage area 20_2 that is page-locked. Therefore, when the CPU 20 is executing another control program or processing program, the RAM 20 can be used efficiently, and a reduction in processing efficiency can be prevented. Even when another personal computer 2 constitutes a printer server on the network and original image data is transmitted from a plurality of personal computers 42 on the network, the storage area of the RAM 20 can be used effectively. it can.

CPU6は、1ページ分の印刷データが蓄積されるまで手順S4〜S15を繰り返し(S16のNO)、1ページ分の印刷データが蓄積されたときに(S16のYES)、これをプリンタ4に出力する(S17)。なお、手順S16において判断の基準となるページ数は、RAM20の要領に応じて任意に設定される複数ページであってもよい。そうすることで、パーソナルコンピュータ2側でも印刷データをスプールすることができる。   The CPU 6 repeats steps S4 to S15 until one page of print data is accumulated (NO in S16), and when one page of print data is accumulated (YES in S16), this is output to the printer 4. (S17). It should be noted that the number of pages serving as a criterion for determination in step S16 may be a plurality of pages that are arbitrarily set according to the procedure of the RAM 20. By doing so, the print data can also be spooled on the personal computer 2 side.

そして、CPU6は、最後のページに対する処理が終了するまで上記手順S4〜S17を繰り返し(S18のNO)、最後のページに対する処理が終了すると(S18のYES)本処理を終了する。   Then, the CPU 6 repeats the above steps S4 to S17 until the process for the last page ends (NO in S18), and ends the process when the process for the last page ends (YES in S18).

上記の手順によれば、1つの印刷ジョブの途中でも通常転送モード高速転送モードを切り替えることができる。これにより、ページごと、あるいは処理単位ごとに画像の構成が異なり、したがって元画像データの転送時間が異なるような場合であっても、データ転送時間が増加することで印刷データの供給が遅れることを防止できる。よって、プリンタ4から白紙が出力されたり、プリンタ4の印刷を一旦停止させたりといったことを回避でき、印刷が遅延することを防止できる。   According to the above procedure, the normal transfer mode and the high-speed transfer mode can be switched even during one print job. As a result, even if the image configuration is different for each page or processing unit, and therefore the transfer time of the original image data is different, the supply of print data is delayed by increasing the data transfer time. Can be prevented. Therefore, it is possible to avoid a case where blank paper is output from the printer 4 or to temporarily stop printing of the printer 4, and it is possible to prevent the printing from being delayed.

本実施形態によれば、パーソナルコンピュータごとにCPUやGPUの処理性能が異なり、データ転送時間や画像処理時間が異なる場合であっても、これらの比率により通常転送モード高速転送モードを切り替えるので、動作環境に依存することなく上述の効果が得られる。   According to this embodiment, even if the processing performance of the CPU or GPU is different for each personal computer and the data transfer time or the image processing time is different, the normal transfer mode high-speed transfer mode is switched according to these ratios. The above effects can be obtained without depending on the environment.

また、上述の説明は、2つのGPUを用いて画像処理を行う場合を例とした。しかしながら、3つ以上のGPUを用いて画像処理を行う場合であっても、本実施形態が適用できる。   In the above description, an example is described in which image processing is performed using two GPUs. However, this embodiment can be applied even when image processing is performed using three or more GPUs.

以上、説明したとおり、本実施形態によれば、GPUに転送される元画像データの画像の構成や画像処理の内容の如何に関わらず、画像出力装置の動作速度に間に合うように出力画像データを供給することが可能となる。   As described above, according to the present embodiment, the output image data is output in time for the operation speed of the image output apparatus regardless of the image configuration of the original image data transferred to the GPU and the content of the image processing. It becomes possible to supply.

2:パーソナルコンピュータ 4:プリンタ 6:CPU 14_1、14_2:GPU
20:RAM 20_1:メイン記憶領域 20_2:ページロック記憶領域
2: Personal computer 4: Printer 6: CPU 14_1, 14_2: GPU
20: RAM 20_1: Main storage area 20_2: Page lock storage area

Claims (5)

ページごとの元画像データに基づいて画像出力装置用の出力画像データを生成する画像処理装置において、
仮想記憶領域を有する第1の記憶部と、
格納されるデータが前記仮想記憶領域に退避される第1の記憶領域と、前記退避がされない第2の記憶領域とを有し、前記第1の記憶部よりデータの読み書きの速度が速い第2の記憶部と、
前記ページごとの元画像データを前記ページより小さい処理単位で処理し、前記出力画像データを生成する複数の処理部と、
前記第1の記憶領域に格納された前記ページごとの元画像データを前記処理単位ごとに前記複数の処理部に交互に転送して前記出力画像データを生成させる転送部と、
前記処理単位の前記元画像データが前記処理部に転送される転送時間を導出する転送時間導出部と、
前記処理部にて前記出力画像データが生成される処理時間を導出する処理時間導出部とを有し、
前記転送部は、前記転送時間の前記処理時間に対する比率に基づいて、前記元画像データを前記第1の記憶領域から前記処理部に転送する第1の転送モードと、前記処理部が前記元画像データに基づき前記出力画像データを生成するときに、前記処理部に転送するための前記処理単位の前記元画像データを前記第1の記憶領域から前記第2の記憶領域に転送し、当該元画像データを前記第2の記憶領域から前記処理部に転送する第2の転送モードのいずれかを選択して実行することを特徴とする画像処理装置。
In an image processing device that generates output image data for an image output device based on original image data for each page,
A first storage unit having a virtual storage area;
A second storage area in which stored data is saved in the virtual storage area and a second storage area in which the data is not saved; and a data read / write speed is higher than that in the first storage unit. A storage unit of
A plurality of processing units for processing the original image data for each page in a processing unit smaller than the page, and generating the output image data;
A transfer unit for generating the output image data by alternately transferring the original image data for each page stored in the first storage area to the plurality of processing units for each processing unit;
A transfer time deriving unit for deriving a transfer time for transferring the original image data of the processing unit to the processing unit;
A processing time deriving unit for deriving a processing time for generating the output image data in the processing unit,
The transfer unit transfers the original image data from the first storage area to the processing unit based on a ratio of the transfer time to the processing time, and the processing unit transmits the original image. When generating the output image data based on the data, the original image data of the processing unit to be transferred to the processing unit is transferred from the first storage area to the second storage area. An image processing apparatus comprising: selecting and executing one of second transfer modes in which data is transferred from the second storage area to the processing unit.
請求項1において、
前記転送部は、前記比率が第1の比率のときには前記第1の転送モード、前記比率が前記第1の比率より大きい第2の比率のときには前記第2の転送モードを選択することを特徴とする画像処理装置。
In claim 1,
The transfer unit selects the first transfer mode when the ratio is a first ratio, and selects the second transfer mode when the ratio is a second ratio larger than the first ratio. An image processing apparatus.
請求項1または2において、
前記転送部は、前記画像出力装置に対し複数ページの出力画像データを出力する単一のジョブを実行する間に、前記比率が閾値を上回ったときに前記第1の転送モードから第2の転送モードに切り替えることを特徴とする画像処理装置。
In claim 1 or 2,
The transfer unit executes a second transfer from the first transfer mode when the ratio exceeds a threshold value while executing a single job for outputting output image data of a plurality of pages to the image output device. An image processing apparatus characterized by switching to a mode.
請求項3において、
前記転送部は、前記単一のジョブを実行する間に、前記比率が前記閾値以下になったときに前記第2の転送モードから前記第1の転送モードに切り替えることを特徴とする画像処理装置。
In claim 3,
The transfer unit switches from the second transfer mode to the first transfer mode when the ratio falls below the threshold during execution of the single job. .
画像処理装置に、ページごとの元画像データに基づいて画像出力装置用の出力画像データを生成させる画像処理プログラムにおいて、
前記画像処理装置が、
仮想記憶領域を有する第1の記憶部と、
格納されるデータが前記仮想記憶領域に退避される第1の記憶領域と、前記退避がされない第2の記憶領域とを有し、前記第1の記憶部よりデータの読み書きの速度が速い第2の記憶部と、
前記ページごとの元画像データを前記ページより小さい処理単位で処理し、前記出力画像データを生成する複数の処理部とを有し、
前記第1の記憶領域に格納されたページごとの元画像データを前記処理単位ごとに前記複数の処理部に交互に転送して前記出力画像データを生成させる転送手順と、
前記処理単位の前記元画像データが前記処理部に転送される転送時間を導出する手順と、
前記処理部にて前記出力画像データが生成される処理時間を導出する手順とを前記画像処理装置に実行させ、
前記転送手順では、前記転送時間の前記処理時間に対する比率に基づいて、前記元画像データを前記第1の記憶領域から前記処理部に転送する第1の転送モードと、前記処理部が前記元画像データに基づき前記出力画像データを生成するときに、前記処理部に転送するための前記処理単位の前記元画像データを前記第1の記憶領域から前記第2の記憶領域に転送し、当該元画像データを前記第2の記憶領域から前記処理部に転送する第2の転送モードのいずれかを選択して実行することを特徴とする画像処理プログラム。
In an image processing program for causing an image processing device to generate output image data for an image output device based on original image data for each page,
The image processing apparatus is
A first storage unit having a virtual storage area;
A second storage area in which stored data is saved in the virtual storage area and a second storage area in which the data is not saved; and a data read / write speed is higher than that in the first storage unit. A storage unit of
A plurality of processing units for processing the original image data for each page in a processing unit smaller than the page and generating the output image data;
A transfer procedure for generating the output image data by alternately transferring the original image data for each page stored in the first storage area to the plurality of processing units for each processing unit;
A procedure for deriving a transfer time for transferring the original image data of the processing unit to the processing unit;
Causing the image processing apparatus to execute a procedure for deriving a processing time for generating the output image data in the processing unit;
In the transfer procedure, based on a ratio of the transfer time to the processing time, a first transfer mode in which the original image data is transferred from the first storage area to the processing unit, and the processing unit has the original image When generating the output image data based on the data, the original image data of the processing unit to be transferred to the processing unit is transferred from the first storage area to the second storage area. An image processing program that selects and executes one of the second transfer modes for transferring data from the second storage area to the processing unit.
JP2010071361A 2010-03-26 2010-03-26 Image processing apparatus and image processing program Active JP5471696B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010071361A JP5471696B2 (en) 2010-03-26 2010-03-26 Image processing apparatus and image processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010071361A JP5471696B2 (en) 2010-03-26 2010-03-26 Image processing apparatus and image processing program

Publications (2)

Publication Number Publication Date
JP2011204052A JP2011204052A (en) 2011-10-13
JP5471696B2 true JP5471696B2 (en) 2014-04-16

Family

ID=44880621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010071361A Active JP5471696B2 (en) 2010-03-26 2010-03-26 Image processing apparatus and image processing program

Country Status (1)

Country Link
JP (1) JP5471696B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6817827B2 (en) * 2017-01-23 2021-01-20 Necプラットフォームズ株式会社 Accelerator processing management device, host device, accelerator processing execution system, method and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1058766A (en) * 1996-08-23 1998-03-03 Fuji Xerox Co Ltd Image data output control device
JP2000222140A (en) * 1999-01-28 2000-08-11 Seiko Epson Corp Printer, memory managing method for printer, and recording medium where program is recorded
JP4394387B2 (en) * 2003-07-10 2010-01-06 株式会社リコー Image processing apparatus and memory disk management method
JP2005231374A (en) * 2005-04-11 2005-09-02 Seiko Epson Corp Printer, method for managing memory of the printer and record medium recording program
JP2008071346A (en) * 2007-09-10 2008-03-27 Ricoh Co Ltd Image processor

Also Published As

Publication number Publication date
JP2011204052A (en) 2011-10-13

Similar Documents

Publication Publication Date Title
JP2011148242A (en) Image forming apparatus, and program
JP5171461B2 (en) Information processing apparatus, information processing method, information processing system, and program
US8687223B2 (en) Image processing apparatus and image processing method utilizing efficient memory regions
JP2008017441A (en) Data processing apparatus, data processing method, and program
JP2008108006A (en) Print control device, print control method, program and storage medium
US20120212782A1 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP2007087137A (en) Printing controller, image forming method, and storage medium
JP5471696B2 (en) Image processing apparatus and image processing program
US8605315B2 (en) Print data conversion processing
US20130128307A1 (en) Printing device and printing method of printing device
JP4425837B2 (en) Image forming apparatus
JP5906648B2 (en) Image processing apparatus and image processing method
JP2010056769A (en) Device and method for processing image
JP2011053944A (en) Image forming device, image forming method, and control program
JP2006285792A (en) Image processor and image processing method
JP5447219B2 (en) Print data generation apparatus, print data generation method, and print data generation program
JP2020110926A (en) Image formation apparatus, control method of image formation apparatus, image formation system and program
JP5202265B2 (en) Image processing apparatus, program, and control method for image processing apparatus
JP2010188598A (en) Printing apparatus, driver program and printing system
JP6264757B2 (en) Image forming apparatus, image forming system, image forming apparatus control method, and image forming apparatus control program
JP5899860B2 (en) Printing apparatus and printing method of printing apparatus
JP2011155502A (en) Printing system performing color/monochrome determination, printing method, program
JP2016055536A (en) Image formation device, program, and control method for image formation device
JP2006155307A (en) Image processing system performing load distributed processing
JP2011194851A (en) Image processor, image forming system, and image processing program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140120

R150 Certificate of patent or registration of utility model

Ref document number: 5471696

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350