JP5471696B2 - Image processing apparatus and image processing program - Google Patents
Image processing apparatus and image processing program Download PDFInfo
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Image Processing (AREA)
- Facsimiles In General (AREA)
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.
ところで、上記の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.
以下、図面にしたがって本発明の実施の形態について説明する。但し、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 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
パーソナルコンピュータ2の各部について説明する。
Each part of the
CPU6は、ROM(Read Only Memory)8に格納された起動プログラムや、ハードディスク10に格納された制御プログラム・処理プログラムに従って動作する。制御プログラムには、オペレーティングシステムOSが含まれる。また、処理プログラムには、たとえば元画像データを生成する描画・文書作成プログラムといったアプリケーションプログラムAPPと、画像処理を行うためのプリンタドライバプログラムPDRが含まれる。
The
RAM20は、CPU6が制御プログラム・処理プログラムを実行するときに、各種演算のためのデータを一時的に格納する。また、ハードディスク10は、RAM20に格納されるデータを一時的に退避させるための仮想記憶領域を有する。本実施形態では、プリンタドライバプログラムPDRに従って後述の動作を行うCPU6が「転送部」、「転送時間導出部」、及び「処理時間導出部」に、プリンタドライバプログラムPDRが「画像処理プログラム」に、RAM20が「第2の記憶部」に、ハードディスク10が「第1の記憶部」に対応する。
The
CPU6は、アプリケーションプログラムAPPを実行するときに、インターフェース12を介して接続されるディスプレイ9に各種画像や文字を表示する。また、CPU6は、操作入力部7に対するユーザの操作入力を、インターフェース12を介して受け取る。かかる操作入力には、たとえば描画や文書作成、または印刷などの指示入力が含まれる。そして、CPU6は、アプリケーションプログラムAPPやプリンタドライバプログラムPDRに従って、入力に対応する処理を実行する。
When executing the application program APP, the
CPU6は、アプリケーションプログラムAPPにより生成した1ページごとの元画像データを、RAM20に格納する。また、後述するように、GPU14_1、14_2にて生成され、CPU6に転送される印刷データを、RAM20に格納する。そして、CPU6は、RAM20から印刷データを読み出し、インターフェース12を介してプリンタ4に転送する。
The
このとき、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
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
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
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
なお、プリンタ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
さらに別の変形例では、パーソナルコンピュータ2は他の情報処理装置から元画像データを取得する。たとえば、パーソナルコンピュータ2は、ネットワーク環境におけるプリンタサーバを構成する。その場合の構成は、破線で図示される。パーソナルコンピュータ2は、ネットワークインターフェース13によりLAN(Local Area Network)などのネットワーク40に接続される。ネットワーク40には、他のパーソナルコンピュータ42が接続される。他のパーソナルコンピュータ42は、アプリケーションプログラムにより生成した元画像データや記憶媒体から読みとった元画像データを、ネットワーク40を介してパーソナルコンピュータ2に転送する。ここで、複数の他のパーソナルコンピュータ42がパーソナルコンピュータ2に元画像データを転送することももちろん可能である。あるいは、ネットワーク40を介さずに、パーソナルコンピュータ2と他のパーソナルコンピュータ42とがピアツーピアで接続される構成も可能である。
In yet another modification, the
パーソナルコンピュータ2では、CPU6が、他のパーソナルコンピュータ42から転送された元画像データをネットワークインターフェース13、インターフェース12を介して受け取り、RAM20に格納する。そして、上述のように、元画像データをGPU14_1、14_2に転送して画像処理させる。この場合、元画像データは、描画コマンド、RGBビットマップデータ、CMYKビットマップデータ、ハーフトーン処理されたビットマップデータのいずれでもよい。それぞれの場合に応じ、GPU14_1、14_2では、最終的に印刷データを生成するような画像処理が行われる。
In the
ここで、画像処理の際の、RAM20とGPU14_1、14_2との間のデータ転送について説明する。本実施形態では、2つの転送モードが実行される。
Here, data transfer between the
図2は、RAM20とGPU14_1、14_2との間のデータ転送を模式的に示す図である。図2(A)は「第1の転送モード」(以下、通常転送モードという)に対応し、図2(B)は「第2の転送モード」(以下、高速転送モードという)に対応する。
FIG. 2 is a diagram schematically illustrating data transfer between the
まず通常転送モードについて説明する。図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
すると、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
次に、高速転送モードについて説明する。図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
そして、CPU6は、第1ページロック記憶領域20_21から元画像データGD_1を読み出してGPU14_1に転送し(M14)、第2ページロック記憶領域20_22から元画像データGD_2を読み出してGPU14_2に転送する(M16)。
Then, the
すると、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
そして、CPU6は、ページロック記憶領域20_2から印刷データPD_1、PD_2を読み出し、印刷データPD_1、PD_2をメイン記憶領域20_1に転送(または複製)して格納する(M22、M24)。このような動作が1ページ分の元画像データGDのすべてに対し実行されることで、1ページ分の印刷データPDが生成される。
Then, the
図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
高速転送モードに対応する図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
図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
ここで、元画像データの種類とデータ転送時間の関係に着目すると、元画像データがベクタ形式などの描画コマンドである場合より、ビットマップデータである場合の方が、データ量が大きく、したがってデータ転送時間が長くなる。一方、画像処理時間は、描画コマンドに基づいてビットマップデータを生成し、さらに色変換等の処理を行う場合より、ビットマップデータに対し色変換等の変換処理から行う場合の方が処理負荷が小さく、処理時間が短くなる。すなわち、データ転送時間と画像処理時間との関係は、元画像データのデータ量が小さい場合には、データ転送時間が短い一方で画像処理時間が長く、元画像データのデータ量が大きい場合には、データ転送時間が長い一方で画像処理時間が短いという関係が概ね成り立つ。 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
次に、通常転送モード、高速転送モードの切替えについて説明する。上述したように、データ転送時間と画像処理時間との関係は、元画像データのデータ量が小さい場合には、データ転送時間が短い一方で画像処理時間が長く、元画像データのデータ量が大きい場合には、データ転送時間が長い一方で画像処理時間が短くなるという関係が概ね成り立つ。このことに着目し、本実施形態では、通常転送モードと高速転送モードを、元画像データを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
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
CPU6は、通常転送モードにより、元画像データを処理単位ごとにGPU14_1、14_2に転送し、画像処理を指示する(S4)。
In the normal transfer mode, the
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
次に、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
一方、転送対処理時間比率が所定の閾値以下の場合には(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
CPU6は、1ページ分の印刷データが蓄積されるまで手順S4〜S15を繰り返し(S16のNO)、1ページ分の印刷データが蓄積されたときに(S16のYES)、これをプリンタ4に出力する(S17)。なお、手順S16において判断の基準となるページ数は、RAM20の要領に応じて任意に設定される複数ページであってもよい。そうすることで、パーソナルコンピュータ2側でも印刷データをスプールすることができる。
The
そして、CPU6は、最後のページに対する処理が終了するまで上記手順S4〜S17を繰り返し(S18のNO)、最後のページに対する処理が終了すると(S18のYES)本処理を終了する。
Then, the
上記の手順によれば、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の比率より大きい第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の転送モードに切り替えることを特徴とする画像処理装置。 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.
前記転送部は、前記単一のジョブを実行する間に、前記比率が前記閾値以下になったときに前記第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.
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 Expired - Fee Related 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)
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)
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 management method of printer, and recording medium recording program |
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, PRINTER MEMORY MANAGEMENT METHOD, AND RECORDING MEDIUM CONTAINING PROGRAM |
JP2008071346A (en) * | 2007-09-10 | 2008-03-27 | Ricoh Co Ltd | Image processor |
-
2010
- 2010-03-26 JP JP2010071361A patent/JP5471696B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011204052A (en) | 2011-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5171461B2 (en) | Information processing apparatus, information processing method, information processing system, and program | |
JP2011148242A (en) | Image forming apparatus, and program | |
US20120212782A1 (en) | Image forming apparatus, method for controlling image forming apparatus, and storage medium | |
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 | |
US8860971B2 (en) | Printing device and printing method of printing device | |
JP5471696B2 (en) | Image processing apparatus and image processing program | |
US8605315B2 (en) | Print data conversion processing | |
JP2020110926A (en) | Image formation apparatus, control method of image formation apparatus, image formation system and program | |
JP5906648B2 (en) | Image processing apparatus and image processing method | |
JP2011053944A (en) | Image forming device, image forming method, and control program | |
JP5447219B2 (en) | Print data generation apparatus, print data generation method, and print data generation program | |
JP2007087137A (en) | Printing controller, image forming method, and storage medium | |
JP4425837B2 (en) | Image forming apparatus | |
JP5202265B2 (en) | Image processing apparatus, program, and control method for image processing apparatus | |
JP2010188598A (en) | Printing apparatus, driver program and printing system | |
JP2008290362A (en) | Printing controller and image forming 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 | |
JP2006285792A (en) | Image processor and image processing method | |
JP2006155307A (en) | Image processing system performing load distributed processing | |
JP2011194851A (en) | Image processor, image forming system, and image processing program | |
JP2016055536A (en) | Image formation device, program, and control method for image formation device |
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 |
|
LAPS | Cancellation because of no payment of annual fees |