JP2017085322A - Image processing system and its control method, and program - Google Patents
Image processing system and its control method, and program Download PDFInfo
- Publication number
- JP2017085322A JP2017085322A JP2015211109A JP2015211109A JP2017085322A JP 2017085322 A JP2017085322 A JP 2017085322A JP 2015211109 A JP2015211109 A JP 2015211109A JP 2015211109 A JP2015211109 A JP 2015211109A JP 2017085322 A JP2017085322 A JP 2017085322A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- cpu
- switching
- image processing
- image
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Advance Control (AREA)
- Microcomputers (AREA)
- Facsimiles In General (AREA)
- Logic Circuits (AREA)
Abstract
Description
本発明は、画像処理装置とその制御方法、及びプログラムに関する The present invention relates to an image processing apparatus, a control method thereof, and a program.
特許文献1は、FPGA(Field Programmable Gate Array)の回路構成を変更する方法として、従来のようにROMからコンフィギュレーションデータをロードする方法とは異なる新しい手法を開示している。それによれば、CPUをマスターデバイスとし、HDDからコンフィギュレーションデータ(回路構成情報)をFPGAにロードしている。この手法によれば、ROMのデータを書き換えることなく、HDDから、その機能に対応するファイルをロードするだけでFPGAの回路構成を更新できる。
また特許文献2は、プログラムで動作する逐次演算部、並列演算部、及びそれらを制御するCPUを有するシステムにおいて、CPUは逐次演算部、並列演算部にプログラムを送信し、両演算部はそのプログラムで動作することを記載している。このとき逐次演算部、並列演算部は、それぞれ自分自身で負荷を測定し、その測定した負荷量をCPUに通知し、CPUは、その負荷量に基づいて、その処理を実行する逐次演算部もしくは並列演算部を決定し、その処理を実行するように指示している。このとき、CPUから指示を受けた演算部は、処理を受けた後に、自身がその処理を受け入れ可能かどうかを判定し、受け入れ可能と判定した場合にその処理を開始する。一方、その処理を受け入れられないと判定した場合は、受け入れ可能になるまで、その演算部で、その処理の実行が待たされることが記載されている。
CPUによる回路構成の変更が可能な(コンフィグレーション可能な)FPGAを備え、同一の処理をCPUとFPGAとで実行できる処理部を複数備えるシステムに、上述の特許文献2で提案されているような技術を適用する場合を考える。このとき、FPGAにより実行させたい処理がある場合、CPUが処理を実行中でなくFPGAが別の処理を実行中であると、そのFPGAによる別の処理が終了するまで、実行させたい処理の開始が待たされることになる。また仮に、実行中でないCPUがその実行させたい処理を開始した場合、CPUがその処理を実行中に、FPGAが使用状態から未使用状態に変化することが考えられる。このように、単に処理を開始する前に、CPUやFPGAそれぞれの状況に応じて処理の振分けを行うと、FPGAを有効活用できない事態が発生し、システム全体のパフォーマンスを向上できないおそれがある。
As described in
本発明の目的は、上記従来技術の課題を解決することにある。 An object of the present invention is to solve the above-described problems of the prior art.
本発明の特徴は、選択された処理形態により処理を実行中に、刻々と変わる処理状況に応じて最適な処理形態で処理を実行する技術を提供することにある。 A feature of the present invention is to provide a technique for executing a process in an optimum process form according to a process situation that changes every moment while the process is being executed in a selected process form.
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
それぞれが並行して処理できる複数の処理手段を有し、前記複数の処理手段の少なくとも一つがFPGA(Field Programmable Gate Array)を有する画像処理装置であって、
前記複数の処理手段の少なくとも一つを使用して実行する複数の処理形態から、所定の処理を実行するための処理形態を選択する選択手段と、
前記複数の処理手段の使用状況を管理する管理手段と、
処理の要求を受け付けると、前記要求された処理を実行するための処理形態を、前記管理手段が管理している前記複数の処理手段の使用状況と、前記選択手段により選択された処理形態とに基づいて決定する決定手段と、
前記決定手段により決定された処理形態で前記要求された処理を実行するように制御する制御手段と、
前記制御手段により前記要求された処理を実行している際、前記決定された処理形態で使用されていない前記複数の処理手段のいずれかが前記要求された処理を実行可能になったかどうかを、前記管理手段が管理している前記使用状況に基づいて判定する判定手段と、
前記判定手段の判定に従って、前記要求された処理を、前記要求された処理を実行可能になった処理手段を使用する処理形態で実行するように処理形態を切り替える切替手段と、を有し、
前記制御手段は、前記切替手段により処理形態の切り替えがなされると、前記実行するように切替えられた処理形態が、前記FPGAを使用する処理形態であれば前記FPGAを前記要求された処理に従って再構成することを特徴とする。
In order to achieve the above object, an image processing apparatus according to an aspect of the present invention has the following arrangement. That is,
Each of the image processing apparatuses includes a plurality of processing units capable of processing in parallel, and at least one of the plurality of processing units includes an FPGA (Field Programmable Gate Array),
Selecting means for selecting a processing form for executing a predetermined process from a plurality of processing forms executed using at least one of the plurality of processing means;
Management means for managing the usage status of the plurality of processing means;
When a processing request is received, the processing mode for executing the requested processing is changed to the usage status of the plurality of processing units managed by the management unit and the processing mode selected by the selection unit. A determination means for determining based on;
Control means for controlling to execute the requested processing in the processing mode determined by the determining means;
When executing the requested processing by the control means, whether any of the plurality of processing means that are not used in the determined processing mode is capable of executing the requested processing, Determination means for determining based on the use status managed by the management means;
Switching means for switching the processing mode so as to execute the requested processing in a processing mode that uses the processing unit capable of executing the requested processing in accordance with the determination of the determination unit;
When the processing mode is switched by the switching unit, the control unit re-executes the FPGA according to the requested processing if the processing mode switched to the execution is a processing mode using the FPGA. It is characterized by comprising.
本発明によれば、所定の処理を、選択された処理形態で開始した後、他の処理手段が実行可能になると、所定の処理をほかの処理形態に切替えて実行できるようになる。これにより、画像処理等の処理時間が短縮されて、パフォーマンスを向上することが可能となる。 According to the present invention, after the predetermined process is started in the selected processing form, when another processing means can be executed, the predetermined process can be switched to another processing form and executed. Thereby, the processing time for image processing or the like is shortened, and the performance can be improved.
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。 Other features and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings. In the accompanying drawings, the same or similar components are denoted by the same reference numerals.
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the present invention according to the claims, and all combinations of features described in the embodiments are not necessarily essential to the solution means of the present invention. .
図1は、本発明の実施形態に係る画像形成装置100の構成を説明するブロック図である。
FIG. 1 is a block diagram illustrating the configuration of an
この実施形態に係る画像形成装置100は、画像データの入出力や送受信と、それに関連する各種の画像処理を行うことができる複合機(MFP)として説明するが、本発明に係る画像処理装置はこのような多機能の画像形成装置に限らない。画像形成装置100は、メインコントローラ(主制御部)101、ユーザインタフェースである操作部102、画像入力デバイスであるスキャナ103、及び、画像出力デバイスであるプリンタ104を備える。操作部102、スキャナ103及び、プリンタ104は、それぞれメインコントローラ101に接続され、メインコントローラ101が各部の動作を制御する。また画像形成装置100は、メインコントローラ101が備える、後述する拡張I/F129を介して拡張処理部105と接続している。メインコントローラ101は、主制御を司るCPU(Central Processing Unit)106を備える。CPU106は、システムバス130を介して、RAM(Random Access Memory)107、ROM(Read Only Memory)108、不揮発メモリ109、HDD(Hard Disk Drive)121と接続する。更に、CPU106は、画像バスI/F(インタフェース)110、操作部I/F111、ネットワーク(NW)通信部112、モデム113、及び、拡張I/F129と接続する。
The
RAM107は、CPU106の主記憶部として作業領域を提供する読み書き可能なメモリで、処理する画像データを一時記憶するための画像メモリとしても使用される。ROM108はブートROMで、起動に必要なブートプログラム、及び、動作に必要な各種処理プログラムを格納している。不揮発メモリ109は、例えばフラッシュメモリ等の不揮発性メモリで、画像形成装置100の電源遮断後にも保持が必要なシステムソフトウエアや設定値や各種データ等を格納している。操作部I/F111は、例えば、タッチパネル機能を有する操作部102との間で入出力を行うためのインタフェースである。操作部I/F111は、操作部102に対して表示すべき画像データを出力し、またユーザが操作部102を介して入力した情報をCPU106に伝送する。ネットワーク通信部112は、LAN等のネットワークと接続するためのインタフェースで、LANに対して情報の入出力を行う。モデム113は公衆回線と接続し、公衆回線との間で情報の入出力を行う。画像バスI/F110は、システムバス130と画像データを転送するための画像バス114とを接続するインタフェースであり、データ構造を変換するバスブリッジとして動作する。
A RAM 107 is a readable / writable memory that provides a work area as a main storage unit of the
画像バス114には、RIP(Raster Image Processor)115、デバイスI/F116、スキャナ画像処理部117、プリンタ画像処理部118、画像回転部119、及び、画像圧縮部120が接続される。RIP115は、LANから受信したPDL(Page Description Language)データをビットマップイメージに展開する。デバイスI/F116は、スキャナ103やプリンタ104とメインコントローラ101とを接続するインタフェースであり、画像データの同期系、又は、非同期系の変換を行う。スキャナ画像処理部117は、スキャナ103から入力した画像データに対して、補正、加工、編集等の画像処理を行う。プリンタ画像処理部118は、プリンタ104へ出力する画像データに対して、色変換、フィルタ処理、解像度変換等の処理を行う。画像回転部119は、画像データの回転を行う。画像圧縮部120は、多値画像データに対して、例えばJPEG圧縮伸張処理を行い、2値画像データに対して、例えばJBIG、MMR、MHなどの符号化方式を用いた圧縮伸張処理を行う。
A RIP (Raster Image Processor) 115, a device I /
HDD121は不揮発のデータ記憶装置であり、画像データ、システムデータ、ユーザデータ等の各種データ、及び、CPU106が実行する動作プログラム等を保持している。拡張処理部105として接続されるFPGAを備えるオプションボードの制御プログラムや回路構成情報もこれに含まれる。メインコントローラ101が、HDD121を接続しない構成を採る場合は、各種データは不揮発メモリ109に保持される。拡張I/F129は、例えば、PCIエクスプレスやUSBなどの周辺機器接続用のインタフェースであり、接続される周辺機器とのデータ送受信を行う。実施形態では、拡張処理部105と接続される。また拡張処理部105への電源供給は、後述する電力供給ライン128を通して行われる。拡張処理部105の詳細は後述する。
The
電源制御部122は、電源装置123から電力供給ライン124を介して受容したDC電源を、電力供給ライン125及び126を介してメインコントローラ101の回路要素140,141に供給する。また電力供給ライン128は、拡張処理部105に電源を供給する。電源制御部122は、後述する画像形成装置100の電力状態に応じて電源供給形態を切り換えて給電制御を行う。また電源制御部122は、操作部I/F111、ネットワーク通信部112、及び、モデム113、及び、CPU106からの制御信号線127を介して制御信号を受信する。そして、この受信した制御信号に基づいて各電力供給ライン(125,126,128)への電力供給制御を行う。電力供給ライン125は、RIP115、デバイスI/F116、スキャナ画像処理部117、プリンタ画像処理部118、画像回転部119、及び、画像圧縮部120を含む回路要素140に接続される。また電力供給ライン126は、CPU106、ROM108、RAM107、画像バスI/F110、操作部I/F111、NW通信部112、モデム部113、HDD121、及び、拡張I/F129を含む回路要素141に接続される。更に電力供給ライン128は、拡張I/F129に接続される回路要素142へ電力を供給する。
The
ここで画像形成装置100は、通常状態と省電力状態の2つの動作状態を取り得る。通常状態では、電源装置123は、電力供給ライン124を介して電源制御部122に電力供給する。このとき電源装置123は、大容量の電源回路と小容量の電源回路を併用し、通常状態で使用する全電力容量(例えば、1400ワット)を供給できる。またCPU106は、電力供給ライン125、電力供給ライン126、及び、電力供給ライン128に対する電力供給が有効となるように電源制御部122を制御する。
Here, the
一方、省電力状態では、電源装置123は、電力供給ライン124を介して電源制御部122に電力を供給する。このとき電源装置123は、小容量の電源回路を使用し、省電力状態で使用する電力容量(例えば、30ワット)を供給できる。またCPU106は、電力供給ライン125と電力供給ライン128を介した電力供給が無効で、かつ、電力供給ライン126を介した電力供給が有効となるように電源制御部122を制御する。このとき、省電力状態で使用を想定しない機能を備える回路要素140や回路要素142に対する電力供給は遮断される。従って、その分、通常状態よりも消費電力を低減できる。他方、省電力状態においても電源供給ライン126を介した電力供給は有効であり、回路要素141を構成する各回路要素は、通常状態と同様に動作できる。
On the other hand, in the power saving state, the
図2は、実施形態に係る画像形成装置の拡張処理部105の構成を説明するブロック図である。
FIG. 2 is a block diagram illustrating the configuration of the
拡張処理部105は、ホストI/F201、FPGA(Field Programmable Gate Array)202、RAM203、CPU204、RAM205、及びそれらを接続するシステムバス206を有している。FPGA202は、回路構成情報に応じて論理回路を変更できる再構成デバイスであり、本実施形態では動的に回路を構成できるFPGAとして説明する。FPGA202の構成は図3を参照して後述する。
The
RAM203は、FPGA202が動作時にワークエリアとして使用する主記憶メモリであり、画像データ等の中間処理データを一時的に保持するのに使用される。CPU204は、ホストI/F201、FPGA202及び、RAM205と接続され、FPGA202の制御やソフトウエアによる画像処理を行う。RAM205は、CPU204の主記憶メモリとして使用されるメモリで、画像データを一時記憶するための画像メモリとしても使用される。システムバス206は、ホストI/F201、FPGA202、及び、CPU204を接続するバスである。この拡張処理部105をメインコントローラ101に接続することにより、画像形成装置100は、FPGA202やCPU204を使用した画像処理機能を拡張機能として実行できる。この拡張処理部105を用いた拡張処理の制御については後述する。
A
図3は、実施形態に係るFPGA202の構成を説明するブロック図である。
FIG. 3 is a block diagram illustrating the configuration of the
FPGA202は、ホストI/F201と接続するためのホストI/F304、RAM203と接続するメモリコントローラ305、CPU204と接続するための外部I/F306、再構成できる論理回路領域となる機能部302とを有している。システムバス301は、ホストI/F304、メモリコントローラ305、外部I/F306及び機能部302を相互に接続している。
The
機能部302は、回路構成情報に基づいて、その回路構成情報に応じた機能を実現する回路が構成されて、その機能を実現する処理部である。ホストI/F304は、ホストI/F201を介して、メインコントローラ101の拡張I/F129と接続される。ホストI/F304は例えば、PCIエクスプレスで構成されるインタフェースであり、CPU106とFPGA202との通信を媒介する。メモリコントローラ305は、RAM203と接続するインタフェースで、機能部302やホストI/F304を介して受信するデータのRAM203への書き込み要求や、RAM203からのデータの読み出し要求に基づくメモリ制御を行う。外部I/F306は、CPU204と接続するインタフェースで、CPU204による機能部302等の制御を行う。実施形態に係るFPGA202では、ホストI/F304、メモリコントローラ305及び外部I/F306は、ハードマクロで構成される固定的な回路とする。
The
またFPGA202は、電源オン時に、図示しないROMからFPGA202のホストI/F304、メモリコントローラ305、外部I/F306を形成する固定回路部の設定情報を読み出す。そして、その読み出した設定情報に基づいて、各I/Fの固定回路部の設定を行うことにより、各I/Fとの通信が可能な状態になる。
Further, when the power is turned on, the
図4は、実施形態に係る画像形成装置100のHDD121に記憶されているFPGA202の回路構成情報の構成を説明する図である。
FIG. 4 is a diagram illustrating the configuration of circuit configuration information of the
この回路構成情報は、HDD121の回路構成情報の格納領域に、各機能ごとに保持されている。図4の回路構成情報401〜403は、各対応する拡張処理機能の回路構成情報である。これらの回路構成情報は、CPU106によりHDD121から読み出され、拡張I/F129を介してFPGA202に転送されることにより、FPGA202の再構成が行われる。
This circuit configuration information is stored in the circuit configuration information storage area of the
この回路構成情報は、機能部302の回路を構成するための回路構成情報であり、この回路構成情報に従って機能部302の回路が再構成される。機能部302に構成される回路の機能の種類に応じて、回路構成情報は複数用意される。実施形態では、回路構成情報401、回路構成情報402、回路構成情報403の3つが用意されており、それぞれ異なる画像処理を実行可能な回路を構成するための情報である。例えば、回路構成情報401〜403は、解像度変換処理、色空間処理、画像加工処理などの拡張処理機能に対応しているとする。また回路構成情報401〜403は、後述する拡張処理701〜703にそれぞれ対応しているものとする。
The circuit configuration information is circuit configuration information for configuring the circuit of the
次に、実施形態に係る拡張処理部105を使用した画像形成装置100の典型的な動作の一例であるコピージョブの処理について説明する。
Next, a copy job process, which is an example of a typical operation of the
CPU106は、操作部102を介して、ユーザによってコピージョブの実行が指示されたことを検知する。コピージョブには、拡張処理部105により提供される拡張処理(典型的には画像処理)を使用する設定がされているものとする。このコピージョブの実行が指示されるとCPU106は、デバイスI/F116を介して、スキャナ103に原稿の読み取りを指示する。スキャナ103は、原稿を読み取って得られた画像データを、デバイスI/F116を介してスキャナ画像処理部117へ送信する。これによりスキャナ画像処理部117は、その画像データに各種画像処理を行い、画像処理後の画像データをRAM107へ送信する。次にCPU106は、RAM107に記憶された画像データを、後述するフローにより決定された処理形態に応じた処理部(CPU或いはFPGA)に送信する。これにより、その処理部は、その画像データに対して拡張画像処理を行ってRAM107へ送信する。ここで、処理形態に応じた処理部は、拡張処理部105(FPGA202、CPU204)、CPU106のいずれかである。次にCPU106は、こうして拡張画像処理がなされた画像データをRAM107からプリンタ画像処理部118へ送信する。プリンタ画像処理部118は、その受信した画像データに各種プリント用画像処理を行ってプリンタ104へ送信することにより、プリンタ104は、その画像データに従って用紙に画像を印刷する。こうして原稿のコピー処理が実行される。
The
次に、上述したコピー等のジョブを実行する際、拡張処理部105を使用した画像処理を行う場合の拡張処理制御フローについて説明する。
Next, an extended processing control flow when performing image processing using the extended
図5は、実施形態に係る画像形成装置100において拡張画像処理を実行するときの処理の流れを説明するフローチャートである。この処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行される。
FIG. 5 is a flowchart for explaining the flow of processing when the extended image processing is executed in the
図6は、実施形態に係る画像形成装置100のメインのCPU106と、FPGA202のCPU204のそれぞれが担当している処理を説明する図である。
FIG. 6 is a diagram for explaining processing in charge of each of the
図5のフローチャートで示す処理は、図6の拡張処理要求の受信処理601、拡張処理のメイン制御602、拡張処理終了処理603の3つのソフトウエアによって実現され、かつ、これら3つのソフトウエアは並行して動作する。1つ目の拡張処理要求の受信処理601は、後述する拡張処理要求を受信する処理であるS500の処理を行う。2つ目の拡張処理のメイン制御602は、後述する拡張処理の主たる制御に相当するS501〜S506の処理を行う。3つ目の拡張処理の終了処理603は、後述する拡張処理の終了処理であるS507の処理を行う。これらのソフトウエアは、電源オン時に起動されて動作を開始する。尚、上述したソフトウェアの構成例は、あくまでも実施形態に係る一例であって、本発明を限定するものではなく、例えば1つのソフトウエアで実装されてもよい。また実施形態では、ユーザにより指定されたコピー等の処理において、拡張処理部105での処理が必要かどうかはCPU106で行われる図示しないソフトウエア処理により判定される。そしてCPU106が、拡張処理部105による処理が必要と判定した場合は、CPU106は、拡張処理部105に対して拡張処理要求を、他の不図示のソフトウエアによるHTTP通信により発行する。
The processing shown in the flowchart of FIG. 5 is realized by three pieces of software, that is, an extension processing
図5の処理は画像形成装置101の電源がオンされることにより開始される。まずS500でCPU106は、拡張処理要求の受信処理を行う。ここでは拡張処理部105に対する拡張処理要求を受信し、受信した拡張処理要求を図7に示すような拡張処理キューに登録する。
The processing in FIG. 5 is started when the
図7は、実施形態に係る拡張処理キューの構成例を説明する図である。 FIG. 7 is a diagram illustrating a configuration example of the extended processing queue according to the embodiment.
拡張処理キューは、受信した拡張処理を保持して管理するためのキューである。受信した拡張処理は、受信した時間順に、エントリNo.1から登録される。例えば、図7の例では、拡張処理701、拡張処理702、拡張処理703の順に受信したので、拡張処理キューのエントリNo.1から順に保持されている。尚、この拡張処理キューは、CPU106の制御の下にRAM107に形成されるものとする。また、拡張処理要求の受信処理については後述する。
The extended processing queue is a queue for holding and managing the received extended processing. The received extension processing is performed in the order of the received time in the entry No. 1 is registered. For example, in the example of FIG. 7, since the extension process 701, the extension process 702, and the extension process 703 are received in this order, the entry number of the extension process queue. It is held in order from 1. This extended processing queue is formed in the RAM 107 under the control of the
次にS501に進みCPU106は、拡張処理要求の選択処理を行う。これは、拡張処理キューに登録されている拡張処理の中から、処理対象とする拡張処理を選択するものである。この拡張処理要求の選択処理については後述する。
In step S501, the
次にS502に進みCPU106は、処理形態の選択処理を行う。ここでは、処理対象として選択された拡張処理を実行するための処理形態(処理部)を選択する処理を行う。ここで処理形態とは、対象となる拡張画像処理を実行するために必要な処理部(CPUやFPGA)を示すものである。
In step S502, the
図8は、実施形態に係る画像形成装置100が拡張処理を実行する際に取り得る処理形態を説明する図である。
FIG. 8 is a diagram illustrating processing modes that can be taken when the
図8の処理形態801は、FPGA202とCPU106の2つの処理部を使用する処理形態である。処理形態802は、拡張処理部105のFPGA202とCPU204の2つの処理部を使用する処理形態である。処理形態803は、CPU106のみを使用する処理形態である。更に処理形態804は、拡張処理部105のCPU204のみを使用する処理形態である。但し、どの処理形態で処理が可能かは処理内容によって異なり、拡張処理毎に処理形態管理テーブルで管理されている。
The
図9は、実施形態に係る画像形成装置100が保持する処理形態管理テーブルの一例を示す図である。尚、このテーブルはRAM107に記憶されている。
FIG. 9 is a diagram illustrating an example of a processing form management table held by the
この処理形態管理テーブルは、処理形態と優先度とを含んでいる。優先度は、処理形態を選択する際の優先度であって、優先度の高い順に「1」〜「4」で表されている。処理形態と優先度については後述するフローの中で参照される。また処理形態は、処理内容に応じて少なくとも1つ以上存在する。 This processing form management table includes processing forms and priorities. The priority is a priority at the time of selecting a processing form, and is represented by “1” to “4” in descending order of priority. The processing form and priority are referred to in a flow to be described later. Further, at least one processing form exists according to the processing content.
図9(A)は、図7の拡張処理701に対応する処理形態管理テーブルを示し、この拡張処理701は4つの処理形態801〜804の何れでも実行可能である。ここでは優先度が「1」の処理形態として処理形態801、優先度が「2」の処理形態として処理形態802、優先度が「3」の処理形態として処理形態803、優先度が「4」の処理形態として処理形態804が定義されている。
FIG. 9A shows a processing form management table corresponding to the expansion process 701 in FIG. 7, and this expansion process 701 can be executed in any of the four
図9(B)は、拡張処理702に対応する処理形態管理テーブルを示し、この拡張処理702は2つの処理形態802,804の何れでも実行可能である。ここでは優先度が「1」の処理形態として処理形態802、優先度が「2」の処理形態として処理形態804が定義されている。
FIG. 9B shows a processing form management table corresponding to the expansion process 702, and this expansion process 702 can be executed in any of the two
図9(C)は、拡張処理703に対応する処理形態管理テーブルを示し、この拡張処理703は2つの処理形態801,802の何れでも実行可能である。ここでは優先度が「1」の処理形態として処理形態801、優先度が「2」の処理形態として処理形態802が定義されている。処理形態の選択処理については後述する。
FIG. 9C shows a processing form management table corresponding to the expansion process 703, and this expansion process 703 can be executed in either of the two
次にS503に進みCPU106は、S502で選択した拡張処理の処理形態がFPGA202を使用する処理形態かどうか判定する。例えば、処理形態801が選択された場合は、FPGA202とCPU106の2つの処理部を使用するため、FPGA202を使用する処理形態であると判定される。一方で、処理形態804の場合は、CPU204のみを使用するため、FPGA202を使用する処理形態でないと判定される。S503でCPU106は、FPGA202を使用する処理形態であると判定した場合はS504に処理を進め、FPGA202を使用する処理形態ではないと判定した場合はS506の処理を進める。S504でCPU106は、FPGA202の再構成要求を発行する。この再構成要求の発行では、後述するFPGA202の再構成処理を行うCPU106で動作するFPGAの再構成処理604に対して、HTTP通信により、再構成要求を表すメッセージと、処理対象である処理内容の情報を送信する。この処理内容の情報は、FPGA202に対して再構成すべき回路構成情報を決定するために使用される。次にS505に進みCPU106は、FPGA202の再構成が完了したか否かを判定する。FPGA202の再構成処理において、CPU106とCPU204とのHTTP通信により再構成の要求と完了の通知が行われる。従って、S505でCPU106は、CPU204から、再構成の要求に対する完了の通知を表すメッセージを受信したかを判定する。S505でCPU106が、FPGA202の再構成が完了したと判定するとS506に進み、そうでないときはS505の処理を繰り返し実行する。
In step S503, the
S506でCPU106は、S502で選択された処理形態の処理部となるCPU(CPU106又はCPU204)或いはFPGA202に対して、HTTP通信により、画像処理要求を発行する。この画像処理要求の発行は、後述する画像処理制御を行うCPU106で動作する画像処理要求の受信処理607、又はCPU204で動作する画像処理要求の受信処理609に対して行われる。この時、CPU106は、画像処理要求を表すメッセージ、画像処理の内容と処理形態の情報、及び、画像データを送信する。この画像処理要求の発行に対して、CPU106又はCPU204で行われる画像処理要求の受信処理については後述する。また、選択された処理形態に応じて、画像処理要求の発行先が変わるが、発行先の変更は、アクセスするIPアドレスやポート番号を変更することで実現される。
In step S <b> 506, the
次にS507に進みCPU106は、拡張処理の終了処理を行う。この拡張処理の終了処理は、基本的には、S506で発行した画像処理要求により画像処理の完了を検知して、拡張処理依頼元へ処理結果を返す処理である。この拡張処理の終了処理については後述する。
Next, proceeding to S507, the
図10は、図5のS500の拡張処理要求の受信処理を説明するフローチャートである。 FIG. 10 is a flowchart for explaining the extension process request reception process of S500 of FIG.
S1000でCPU106は、拡張処理要求を受信したか否かを判定する。上述したように実施形態では、拡張処理要求はHTTP通信により発行される。従って、ここでCPU106は、拡張処理の要求が来たかどうかを、所定のポートの受信を監視することにより実現される。但し、この拡張処理要求の通信方式はあくまでも一例であり、本発明を限定するものではない。S1000でCPU106は、拡張処理要求を受信したと判定するとS1001に進み、CPU106は受信した拡張処理要求を拡張処理キューへ登録して、この処理を終了する。拡張処理キューに関しては、図7を参照して上述したため、その説明を省略する。
In step S1000, the
拡張処理要求の受信処理は、以上のS1000〜S1001の処理により実現される。また上述したように、S500に該当する拡張処理要求の受信処理は、CPU106で他のソフトウエア処理と並列で動作可能な形態となる拡張処理要求受信処理601として実装され、電源起動時に動作が開始される。但し、この受信処理は、実施形態における一例であって、本発明を限定するものではない。
The extension process request reception process is realized by the processes of S1000 to S1001 described above. As described above, the extension process request reception process corresponding to S500 is implemented as the extension process
図11は、図5のS501の拡張処理要求の選択処理を説明するフローチャートである。 FIG. 11 is a flowchart for explaining the extension processing request selection processing in S501 of FIG.
S1100でCPU106は、上述した拡張処理キューを参照して、その拡張処理キューに登録された拡張処理があるか否かを判定する。S1100で登録された拡張処理があると判定した場合はS1101の処理に進むが、S1100で登録された拡張処理がないと判定した場合はS1100の処理を繰り返し行う。例えば、拡張処理キューが図7に示す状態の場合は、登録された拡張処理が1つ以上あるので、CPU106は登録された拡張処理があると判断する。S1101でCPU106は、拡張処理キューの先頭であるエントリーNo.1の拡張処理701を処理対象として決定する。ここで処理対象に決定された拡張処理が、拡張処理部105を使用した拡張処理として実行される。例えば、拡張処理キューが図7に示した状態の場合は、拡張処理701が処理対象として決定される。以降、この処理により決定された処理対象の情報は、ソフトウエアにより管理される。
In step S <b> 1100, the
次にS1102に進みCPU106は、S1101で決定した処理対象を拡張処理キューから削除する。この削除では、必ずエントリーNo.1の拡張処理が削除され、エントリーNo.2以降の拡張処理が繰り上がる。例えば、拡張処理キューが図7に示す状態の場合は、エントリーNo.1の拡張処理701が削除され、次に優先順位の高い拡張処理702がエントリーNo.1へ、拡張処理703がエントリーNo.2へ繰り上がる。
In step S1102, the
図12は、図5のS502の処理形態の選択処理を説明するフローチャートである。 FIG. 12 is a flowchart for describing the processing mode selection processing in S502 of FIG.
まずS1200でCPU106は、処理対象となっている拡張処理の処理内容を取得する。ここで処理対象として決定された処理内容は、上述したようにソフトウエアで管理されている。従って、ソフトウエアにより管理されている処理対象の情報を取得することになる。例えば、S1101の説明における具体例に基づくと、処理内容として拡張処理701が取得される。次にS1201に進みCPU106は、その取得した拡張処理701に対応する処理形態管理テーブルを決定する。例えば、S1201において、取得された処理内容が拡張処理701である場合は、図9(A)に示す処理形態管理テーブルに決定され、この管理テーブルが以降の処理で参照されることになる。
First, in step S1200, the
次にS1202に進みCPU106は、後述する使用可能な処理形態を判定するための一連の処理により使用され、優先度を表す変数であるパラメータNの初期値として、パラメータNに「0」を設定する。次にS1203に進みCPU106は、拡張処理で使用される処理部の空き状況(使用状況)を取得する。尚、このパラメータNはRAM107に記憶されている。この処理について詳細に説明する。
In step S1202, the
CPU106は、画像形成装置100の電源がオンされて起動した等に、例えば図13に示すような処理部の空き状況管理テーブルをRAM107に作成しておく。
When the
図13は、実施形態に係る処理部の空き状況を管理する空き状況管理テーブルの一例を示す図である。 FIG. 13 is a diagram illustrating an example of an availability management table for managing availability of the processing unit according to the embodiment.
この処理部の空き状況管理テーブルは、拡張処理を実行するために必要な処理部として使用可能な処理部と、各処理部の空き状況を示す情報とを有している。CPU106は、この空き状況管理テーブルを参照することにより、各処理部の空き状況を取得することができる。またCPU106は、後述する処理において、空き状況管理テーブルの各処理部の空き状況を示す情報を更新する。実施形態では、拡張処理の処理部として使用可能な処理部は、FPGA202、CPU106及び、CPU204である。例えば、図13に示す空き状況管理テーブルでは、FPGA202、CPU106、CPU204はいずれも未使用であり、全ての処理部が使用可能な状態であることを示している。
The availability management table of the processing unit includes a processing unit that can be used as a processing unit necessary for executing the expansion process, and information indicating the availability of each processing unit. The
次にS1204に進みCPU106は、優先度を表すパラメータNの値をインクリメントする(+1する)。最初パラメータNが「0」の場合、このインクリメント処理によりパラメータNは「1」となる。パラメータNがいずれの値であっても、同様の処理である。次にS1205に進みCPU106は、S1201で決定された処理形態管理テーブルに、パラメータNの値に対応する優先度の処理形態が存在するかどうかを判定する。例えば、処理形態管理テーブルとして拡張処理701のテーブル(図9(A))に決定されている場合、優先度1〜4の処理形態が存在するので、パラメータNが1〜4の範囲であれば処理形態が存在すると判定される。同様に拡張処理702の場合は、パラメータNが1〜2の処理形態は存在し、拡張処理703では、パラメータNが1〜2の処理形態が存在すると判定される。尚、実施形態では、処理形態は必ず1つ以上存在するので、パラメータNが1の場合には、必ず処理形態は存在すると判定される。S1205でCPU106が、処理形態が存在すると判定したときはS1206に進み、そうでないときはS1202に進む。S1206でCPU106は、図13のテーブルを参照して、優先度がNである処理形態に必要な処理部が使用可能かどうかを判定する。この処理は、図9の処理形態管理テーブルと図13の空き状況管理テーブルを参照することにより行われる。
Next, proceeding to S1204, the
例えば、拡張処理701の優先度1の処理形態は処理形態801であり、必要な処理部は、図8よりFPGA202とCPU106となる。従って、この場合は、これら2つの処理部(FPGA202とCPU106)が空き状態であるかを、S1203で、図13の空き状況管理テーブルから取得した空き状況を参照して判定できる。このようにして、必要な処理部が使用可能かどうかを判定する。S1206でCPU106は、パラメータNが示す優先度の処理形態に必要な処理部が使用可能と判定するとS1207に処理を進め、そうでないときはS1204に処理を進める。またS1206でCPU106は、パラメータNが示す優先度の処理形態に必要な処理部が使用できないと判定するとS1204に進み、次のNを+1して次に優先度が高い処理形態を探索する。
For example, the
S1207でCPU106は、拡張処理を行うための処理形態としてパラメータNが示す優先度の処理形態に決定する。次にS1208に進みCPU106は、図13の空き状況管理テーブルに対して、決定した処理形態に必要な処理部を、使用中であることを示す情報(図13では×)に更新する。例えば、処理形態が処理形態801に決定された場合、FPGA202とCPU106の両方を使用するので、図13の空き状況管理テーブルのこれら2つの処理部の状況を、未使用状態(○)から使用状態(×)へ変更する。この処理によって、後から受信した拡張処理との処理部の競合を回避することができる。次にS1209に進みCPU106は、これまでのフローにより決定した内容を拡張処理実行管理テーブルに登録する。
In step S <b> 1207, the
図14は、実施形態に係る拡張処理実行管理テーブルの一例を示す図である。このテーブルはRAM107に設けられている。 FIG. 14 is a diagram illustrating an example of an extended process execution management table according to the embodiment. This table is provided in the RAM 107.
この拡張処理実行管理テーブルは、実行中処理番号、拡張処理の内容、使用中の処理形態、要求ページ数、中断状態などの要素を含んでいる。実行中処理番号は、このテーブルに登録された順に1番から配置され、拡張処理が実行状態に移行した順番を表す。拡張処理の内容は、実行されている拡張処理の内容そのものを表す。使用中の処理形態は、この拡張処理を実行するために使用している処理形態を示している。要求ページ数とは、受信した拡張処理を適用するページ数であり、これは拡張処理要求を受信した時の要求内容に基づいている。中断状態は、以降で説明する中断状態となった時に、中断状態として要求ページ数に対して何ページまで処理が済んだかを表している。尚、中断状態のN/Aは、一度も中断されていないことを示している。従って、S1209では、拡張処理の内容には、実行することが決定した拡張処理を、使用中の処理形態には、S1207で決定した処理形態を設定する。また要求ページ数は、実行する拡張処理の適用ページ数、中断状態にはN/Aを登録する。尚、実行中処理番号は、登録されていない番号で最も小さい値を記載する。以上の処理によりS1209の処理が達成される。 This extended process execution management table includes elements such as the process number being executed, the contents of the extended process, the processing form being used, the number of requested pages, and the suspended state. The in-execution process numbers are arranged from the first in the order registered in this table, and represent the order in which the extension process has shifted to the execution state. The content of the extended process represents the content of the extended process being executed. The processing form in use indicates the processing form used to execute this expansion process. The number of requested pages is the number of pages to which the received extension process is applied, and this is based on the request contents when the extension process request is received. The suspended state indicates how many pages have been processed with respect to the requested number of pages as the suspended state when the suspended state described below is reached. The interrupted N / A indicates that the interrupt has never been interrupted. Therefore, in S1209, the extended process determined to be executed is set in the contents of the extended process, and the process form determined in S1207 is set in the process form in use. In addition, the number of requested pages is the number of pages to which the extended processing to be executed is applied, and N / A is registered in the suspended state. The in-execution process number is the smallest value that is not registered. Through the above processing, the processing of S1209 is achieved.
図15は、実施形態に係る画像形成装置100におけるFPGA202の再構成処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU106が対応するプログラムをROM108或いはHDD121からRAM107に展開して実行することにより実現される。この実施形態ではCPU106は、HTTP通信を介して、再構成の要求を受信することにより実行する。この処理を実行するプログラムは図6のFPGA再構成処理604に対応しており、図5で示すメイン制御の処理フローチャートから独立したものであり、並列的に動作可能な形態で実装される。また、この処理は画像形成装置100の電源オンにより起動されて処理が開始される。
FIG. 15 is a flowchart for explaining the reconstruction process of the
先ずS1500でCPU106は、FPGA202の再構成の要求を受信したか否かを判定する。CPU106が再構成要求を受信するときは、再構成要求を表すメッセージと、対象処理の処理内容の情報が受信される。ここで受信した処理内容の情報は、後述するS1501で参照される。S1500で再構成の要求を受信したと判定するとS1501に進みCPU106は、FPGA202に対して、再構成すべき回路構成情報を決定する。この処理は、S1500で受信した処理内容の情報に基づいて、対応する回路構成情報を決定する処理である。本実施形態では、上述したように回路構成情報401は拡張処理701、回路構成情報402は拡張処理702、回路構成情報403は拡張処理703に対応するとしている。従って、受信した処理内容の情報が拡張処理701である場合は、回路構成情報401がFPGA202を再構成すべき回路構成情報として決定される。
First, in step S1500, the
次にS1502に進みCPU106は、S1501で決定した回路構成情報を使用して、FPGA202の再構成を実施する。この処理は、CPU106がHDD121に格納されている回路構成情報を、拡張I/F129を介して、FPGA202の図示しない所定記憶領域へロードすることにより行われる。この処理によって、FPGA202は処理内容に対応した所望の回路構成へ再構成される。次にS1503に進みCPU106は、FPGA202の再構成の要求元へ、FPGA202の再構成が完了したことを通知する。この通知では、単に完了を表すメッセージが送信される。
In step S1502, the
図16は、実施形態に係る画像形成装置100における画像処理要求の受信処理を説明するフローチャートである。尚、このフローチャートで示す処理は、CPU106が対応するプログラムをROM108或いはHDD121からRAM107に展開して実行することにより実現される。この処理を実行するプログラムは図6の画像処理要求の受信処理607に対応しており、図5で示すメイン制御の処理フローチャートから独立したものであり、並列的に動作可能な形態で実装される。またCPU204で動作する画像処理要求の受信処理は、図6の画像処理要求の受信処理609に対応している。また、画像処理要求の受信処理607,609は、画像形成装置100の電源オンにより起動されて処理が開始される。
FIG. 16 is a flowchart for explaining image processing request reception processing in the
先ずS1600でCPU106は、処理ステータスの確認要求を受信したか否かを判定する。この処理ステータスとは、実行中の画像処理に関する処理状況であり、この処理状況に関する情報は、図17のページ状況管理テーブルと図18のページ内状況管理テーブルにより管理される情報である。これらテーブルはRAM107に設けられている。
First, in step S <b> 1600, the
図17は、実施形態に係る画像形成装置100が保持するページ状況管理テーブルの一例を示す図であり、図に示されるように実行中の画像処理が要求ページに対してどこまで完了したかを管理する。
FIG. 17 is a diagram illustrating an example of a page status management table held by the
図17では、画像処理の対象である全ページ(Nページ)のそれぞれに対して、処理済、処理中、未処理といった状態が記憶されている。 In FIG. 17, states such as processed, processed, and unprocessed are stored for each of all pages (N pages) that are targets of image processing.
図18は、実施形態に係る画像形成装置100が保持するページ内状況管理テーブルの一例を示す図である。
FIG. 18 is a diagram illustrating an example of the in-page situation management table held by the
対象である画像処理は更に細分化すると、いくつかの処理単位に分割することができる。例えば、本実施形態では、画像データは基本的にJPEG方式で圧縮された状態で保管されている。このため、拡張処理701を、より細分化して処理を表すと、JPEG伸張処理、拡張処理、JPEG圧縮処理の3つの処理を含む。そこで、これら処理をページ内状況管理テーブルで表現される下位処理と定義として説明する。また下位処理の内容は、これらの具体的な処理名を記載している。完了領域は、これらの下位処理の単位毎に、処理中のページに対して、どこまでの画像領域の画像データにたいする処理が完了したかを表わしている。これら2つのテーブルにより、要求された画像処理が完了したページ番号や、現在処理中のページの詳細な処理状況を取得できる。こうして取得した結果を、処理ステータスの情報として応答する。尚、これら2つのテーブルは、図19の画像処理の制御処理で更新され、その説明は後述する。 If the target image processing is further subdivided, it can be divided into several processing units. For example, in the present embodiment, the image data is basically stored in a compressed state by the JPEG method. For this reason, if the extended process 701 is further subdivided to represent the process, it includes three processes: a JPEG expansion process, an extended process, and a JPEG compression process. Therefore, these processes will be described as subordinate processes and definitions expressed in the in-page situation management table. Further, the contents of the lower-level processes describe these specific process names. The completion area indicates how far the processing for the image data in the image area has been completed for the page being processed for each unit of the lower processing. With these two tables, the page number at which the requested image processing has been completed and the detailed processing status of the currently processed page can be acquired. The acquired result is returned as processing status information. These two tables are updated by the image processing control process of FIG. 19, and the description thereof will be described later.
先ずS1600でCPU106は、処理ステータスの確認要求を受信したと判定した場合はS1608の処理に進むが、そうでないときはS1601の処理に進む。S1601でCPU106は、中断要求を受信したか否かを判定する。この中断要求は、現在実行中の画像処理を中断する要求である。実施形態では、中断要求は2種類存在する。1つ目は、現在実行中の画像処理を即時中断するための中断要求で、これを即時中断要求とする。2つ目は、現在実行中のページの画像処理の完了を待ってから中断する中断要求で、これをページ間中断要求とする。これらの中断要求の発行に関する制御等は後述する。S1601でCPU106は、中断要求を受信したと判定したときはS1607の処理に進むが、そうでないときはS1602の処理に進む。S1602でCPU106は、画像処理要求を受信したか否かを判定する。この画像処理要求は、前述の図5のS506でCPU106が発行する画像処理要求である。上述したように、この画像処理要求には、実行すべき拡張処理の内容、使用すべき処理形態、入力画像データ等の情報が含まれている。従って、CPU106が画像処理要求を受信すると、その要求に応じた、これらの情報を把握することができる。S1602でCPU106が、画像処理要求を受信したと判定するとS1603の処理に進むが、画像処理要求を受信していないと判定した場合はS1600の処理に移り、次の要求の確認が行われる。
First, in step S1600, if the
S1603でCPU106は、FPGA202を使用するかを判定する。これは受信した画像処理要求で指定された、使用すべき処理形態の情報に基づくものである。例えば、処理形態801の情報を受信した場合は、図8よりFPGA202とCPU106が処理部として使用されるため、FPGA202は使用されると判定される。S1603でFPGA202を使用すると判定した場合はS1604の処理に進み、そうでないときはS1606の処理に進む。
In step S <b> 1603, the
S1604でCPU106は、FPGA202を使用した画像処理の実行スレッドを起動する。この画像処理の実行スレッドは、図6の画像処理制御608に対応し、スレッド起動時には、画像処理の内容、画像処理すべきページ数、入力画像データ、画像処理係数等が渡される。また、このスレッドの起動により、FPGA202を使用した画像処理が、この画像処理要求の受信処理と並行して実行される。また、この画像処理が実行される前に、前述の図15のS1502で、FPGA202は、この画像処理の処理内容に応じた回路構成に再構成されている。尚、画像処理要求の受信処理がCPU204で行われている場合には、図6の画像処理制御610で示すスレッドが起動される。そしてS1605に進みCPU106は、画像処理要求又は中断要求を正常に受け付けた旨の応答を返して、この処理を終了する。またFPGA202を使用しないときはS1606でCPU106は、CPU106自身を使用した画像処理の実行スレッドを起動する。画像処理実行のスレッドに関する説明は、図16のS1606で上述した通りである。
In step S <b> 1604, the
また中断要求を受信したときはS1607に進みCPU106は、S1604又はS1606で起動した画像処理の実行スレッドに対して中断フラグを設定する。ここでは、受信した中断要求が即時中断要求の場合は即時中断フラグを設定し、ページ間中断要求である場合は、ページ間中断フラグを設定する。このようにして中断フラグを設定することにより、後述する画像処理制御処理を中断することが可能となる。
If a suspension request is received, the process advances to step S1607, and the
また処理ステータスの確認要求を受信したときはS1608でCPU106は、処理ステータスの情報を取得する。この処理ステータスは上述した通りである。即ち、CPU106は、図17を参照して説明したページ状況管理テーブルから処理済のページ番号の情報と、図18のページ内状況管理テーブルから、処理中のページに対して完了した下位処理数と処理中の下位処理の完了領域の情報を取得する。そしてS1609に進みCPU106は、S1608で取得した処理ステータスの情報とともに応答を返す。
When the processing status confirmation request is received, the
図19は、実施形態に係る画像形成装置100が画像処理の実行スレッドにより実行する画像処理制御を説明するフローチャートである。尚、このフローチャートで示す処理は、画像処理要求を受信したCPU(CPU106又はCPU204)により実行される。ここではCPU106が画像処理制御を実行するものとして説明するが、CPU204が画像処理要求を受信した場合は、CPU204がこの処理を実行する。いずれのCPUが実行しても、処理内容は基本的に同一である。また、この処理はメイン制御処理である図5で説明した処理から独立したものであり、そのメイン制御処理と並列的に動作可能な形態で実装されている。この処理は、図6の画像処理制御608,610に対応している。この処理は、画像形成装置100の電源がオンされて、装置が起動することにより開始される。
FIG. 19 is a flowchart illustrating image processing control executed by the
まずS1900でCPU106は、この処理の起動時に渡された画像処理の内容、画像処理すべきページ数に基づいて、例えば図17に示すページ状況管理テーブルと、図18に示すページ内状況管理テーブルを作成する。ここで作成されるページ状況管理テーブルは、ページ番号が画像処理すべきページ番号に対応し、状態は全て「未処理」である。同様にページ内状況管理テーブルは、画像処理内容に基づいて、下位処理1〜3に対応する下位処理内容となり、完了領域は「0」である。尚、下位処理番号は、下位処理番号1〜下位処理番号3として説明したが、これに限るものではない。
First, in step S1900, the
次にS1901に進みCPU106は、画像処理を適用すべき全ページの画像データに対して、画像処理が完了したか否かを判定する。これは、ページ状況管理テーブルを参照し、全ページが処理済となっているかを判定する。この処理の開始時は、S1901において、全ページの状態は「未処理」であるため、画像処理が完了していないと判定する。S1901でCPU106は、画像処理が完了したと判定したときはS1913に処理を進め、画像処理が完了していないと判定した場合はS1902に処理を進める。S1902でCPU106は、これから画像処理するページを設定する。ここでは、基本的に、ページ状況管理テーブルのページ番号の小さいものから順に設定される。この画像処理制御の開始時はページ1が設定され、以降ページ2、ページ3と設定されていく。次にS1903に進みCPU106は、ページ間中断フラグが設定されているか否かを判定する。このページ間中断フラグは、ページ間中断要求に基づいて図16のS1607で設定され、ページ間中断要求があったことを表すフラグの情報である。S1903でCPU106は、ページ間中断フラグが設定されていないと判定するとS1904の処理に進み、ページ間中断フラグが設定されていると判定するとS1913の処理に進む。
In step S1901, the
S1904でCPU106は、ページ状況管理テーブルの内のS1902で設定されたページ番号に対する状態を「未処理」から「処理中」に変更する。次にS1905に進みCPU106は、処理中のページの画像データに対して、全ての下位処理が完了したか否かを判定する。これは、ページ内状況管理テーブル(図18)の全ての下位処理の完了領域が、所定値かどうかで判定できる。図18の完了領域の値は、下位処理が完了したページの画像データの副走査方向のライン数を表している。尚、完了領域の値は、最小1ライン毎に更新することができるが、本実施形態では256ライン単位で更新する。また所定値は、入力画像データに依存した値(サイズ)であり、本実施形態では、入力画像データの副走査方向のライン長を表し、例えば「5000」とする。従って、完了領域に記載される数値が入力画像データのライン長と等しければ、そのページの画像データに対する下位処理が完了したことを示している。尚、上記で具体例で説明した事項は、本発明を限定するものではない。S1905でCPU106が、全ての下位処理が完了したと判定したときはS1912に処理を進め、全ての下位処理が完了していないと判定したときはS1906の処理に進む。
In step S1904, the
S1906でCPU106は、即時中断フラグが設定されているかを判定する。この即時中断フラグは、即時中断要求に基づいて図16のS1607で設定されるもので、即時中断要求があったことを表すフラグの情報である。S1906でCPU106が即時中断フラグが設定されていると判定するとS1913に処理を進め、即時中断フラグが設定されていないと判定したときはS1907の処理に移る。S1907でCPU106は、処理中のページの画像データに対して、下位処理Kが完了したか否かを判定する。下位処理Kとは、K=1から始まる下位処理を表すパラメータである。K=1の場合は下位処理1に対応し、以降、K=2では下位処理2、K=3では下位処理3に対応する。尚、S1903とS1904との間で図示しない処理として、パラメータKは「1」に初期化されているものとする。従って、ページ処理において、初めてS1907の処理が実行される場合はK=1である。この場合には、ページ内状況管理テーブルの下位処理1の完了領域が、上述した入力画像データに基づいた所定サイズになっているかを判定する。本実施形態では、上述したように完了領域の値が「5000」となっているか判定することになる。S1907でCPU106は、下位処理Kが完了したと判定しときはS1911の処理に進み、下位処理Kが完了していないと判定したときはS1908の処理に進む。
In step S1906, the
S1908でCPU106は、下位処理する領域を設定する。この下位処理する領域は基本的に、ページ内状況管理テーブルの対応する下位処理の完了領域の続きの領域である。実施形態では、処理の単位を256ラインとしたので、続きの領域から256ライン進んだ領域とする。例えば、完了領域が「0」である場合、1ライン目から256ライン目までを下位処理する領域として設定する。尚、必ずしも256ライン単位である必要はない。ページの終端では、256ラインバウンダリになっていない場合は、256ライン単位以内の領域となる。次にS1909に進みCPU106は、指定された領域に対して、下位処理Kを実行する。繰り返しになるが、ページ処理において、初めて、この下位処理が実行される場合は、下位処理1が、1ライン目から256ライン目に対して実行されることになる。次にS1910に進みCPU106は、ページ内状況管理テーブルの下位処理Kの完了領域を更新してS1906に進む。これはS1909の処理で完了した領域を、ページ内状況管理テーブルの完了領域に反映させるものである。本実施形態では、領域は256ライン単位であるため、完了領域に「256」を加えた値に更新することになる。例えば、図18(A)の下位処理1の状態の場合は、この更新により、完了領域の値は「256」となる。
In step S1908, the
またS1911でCPU106は、下位処理Kの次に行うべき下位処理を設定してS1905に進む。下位処理KのパラメータはK=1から始まっているため、ここではKの値をインクリメントする。従って、K=1の場合は、ここでK=2に設定される。本実施形態ではいずれの値であってもインクリメントを行う。
In step S1911, the
また、該当ページに対する全ての下位処理が完了したときはS1912でCPU106は、ページ状況管理テーブルの状態が「処理中」となっている箇所を「処理済」に更新してS1901に処理を進める。これにより、該当ページの画像処理が完了したことを表現及び管理する。
When all the lower-level processes for the corresponding page are completed, the
またS1913でCPU106は、ページ状況管理テーブルをもとに、画像処理が完了したページの画像処理結果を、画像処理の要求元へ通知及び送信する。また併せて、全ページに対する画像処理が正常終了したメッセージ、又は、中断フラグに基づいて中断終了したメッセージを送信する。
In step S <b> 1913, the
図20は、実施形態に係る画像形成装置100による拡張処理の終了処理(図5のS507)を説明するフローチャートである。この処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行される。
FIG. 20 is a flowchart for explaining the expansion processing end processing (S507 in FIG. 5) by the
まずS2000でCPU106は、画像処理要求に対応する処理結果として正常終了のメッセージを受信したか否か判定する。上述したS1913において、画像処理要求の結果を表すメッセージ(正常終了又は中断終了)と、画像処理後の画像データを処理結果として送信している。このためこの処理では、上述した処理結果のメッセージ内容が正常終了を表しているかを判定することになる。S2000で正常終了のメッセージを受信したと判定したときはS2001の処理に進み、正常終了のメッセージを受信していないと判定した場合はS2000で、正常終了のメッセージを受信するまで待つ。S2001でCPU106は、受信した正常処理に対応する拡張処理の管理情報を、例えば図14の拡張処理実行管理テーブルから削除する。
First, in step S2000, the
例えば図14(A)において、拡張処理701に対応する正常処理のメッセージを受信した場合には、実行中処理番号1に関する情報が削除される。同時に、実行中処理番号2の情報が、実行中処理番号1の情報として管理され、図14(B)で示すようなテーブル内容になる。
For example, in FIG. 14A, when a normal processing message corresponding to the expansion processing 701 is received, the information regarding the
次にS2002に進みCPU106は、空き状況管理テーブルの、処理が完了した処理形態で使用していた処理部を、使用中を示す(×)から未使用を示す(○)に変更する。例えば、処理形態801で行われていた処理が完了した場合は、使用されていたFPGA202とCPU106の使用が終了するので、空き状況管理テーブルのFPGA202とCPU106の空き状況を使用中(×)から未使用(○)へ変更する。この処理によって、他の拡張処理で、これら処理部(FPGA202とCPU106)を使用できるようになる。
Next, proceeding to S2002, the
次にS2003に進みCPU106は、処理形態の最適化処理を行う。これはS2002で使用中であった処理部が未使用となり、別の拡張処理で使用可能な状態に変化している。そのため、処理形態の最適化処理では、現在実行中の拡張処理の処理形態から、より早く処理が完了する処理形態に切り換えることができれば、処理形態の切り換えを行う。この処理形態の最適化処理については後述する。次にS2004に進みCPU106は、完了した拡張処理の処理結果を、HTTP通信により、拡張処理の要求元へ通知する。この処理結果の通知では、拡張処理の結果を表すメッセージ(正常終了、エラー終了など)と、拡張処理を実行した処理済の画像データを送信する。この画像データの送信により、要求された拡張処理が終了する。
In step S2003, the
図21は、図20のS2003の処理形態の最適化処理を説明するフローチャートである。この処理は、図6の処理形態の最適化処理605に対応している。
FIG. 21 is a flowchart for explaining the optimization processing in the processing form of S2003 in FIG. This processing corresponds to the
まずS2100でCPU106は、例えば前述の図14に示すような拡張処理実行管理テーブルの情報を取得する。上述したように拡張処理実行管理テーブルでは、現在実行中の拡張処理が管理されている。従って、CPU106は、その取得した情報に基づいて、現在実行中の拡張処理を確認できる。次にS2101に進みCPU106は、実行中の拡張処理があるか否かを判定する。これは上述したように、S2100で取得した拡張管理実行テーブルの情報に基づいて判定する。ここで実行中の拡張処理があると判定したときはS2102の処理に進み、実行中の拡張処理がないと判定した場合は、この処理を終了する。
First, in step S2100, the
S2102でCPU106は、空き状況管理テーブルから、各処理部の空き状況を取得する。この処理では、S2002で、少なくとも1つ以上の処理部が使用状態から未使用状態へ変更されているので、少なくとも1つ以上の処理部が使用可能な状態である。次にS2103に進みCPU106は、実行中処理番号を表す変数Mを1に設定する。以降、この変数Mに基づいて処理が行われる。この変数Mにより、実行中の全ての拡張処理に対して、以降のS2105〜S2108の処理が行われる。
In S2102, the
次にS2104に進みCPU106は、実行中の全ての拡張処理の切換処理が完了したかどうかを判定する。これは、実行中処理番号を表す変数Mの値が、S2100で取得した拡張処理実行管理テーブルで登録されている実行中処理番号の最大値よりも大きいかどうかで判定できる。例えば、この処理を最初に行う時はM=1であり、実行中処理番号の最大値は少なくとも1以上になるため、実行中の全ての拡張処理に対して切換処理が完了していないと判定される。S2104でCPU106は、実行中の全ての拡張処理に対して切換処理が完了していると判定したときはこの処理を終了し、そうでないときはS2105の処理に進む。
Next, proceeding to S2104, the
S2105でCPU106は、実行中処理番号Mの処理に対応する処理形態の情報を取得する。例えば、M=1のときには、拡張処理実行管理テーブルの実行中処理番号1の使用処理形態の情報を取得する。例えば図14(B)の例では、実行中処理番号1の使用処理形態は処理形態804である。次にS2106に進みCPU106は、実行中処理番号Mの実行中の処理形態よりも、使用可能な上位の処理形態があるかどうか判定する。これはS2105で取得した処理形態と、実行中処理番号Mの拡張処理に対応する処理形態管理テーブル(図9)と、S2102で取得した処理部の空き状況の情報を参照して判定できる。
In step S <b> 2105, the
図14(B)の例で説明すると、実行中処理番号1の使用処理形態は処理形態804、拡張処理の内容は拡張処理702であることが分かる。この拡張処理702に対応する処理形態管理テーブルは、実施形態では図9(B)である。図9(B)より、処理形態804よりも優先度の高い処理形態として処理形態802があることが分かる。更に、処理形態802で使用する処理部であるFPGA202とCPU204とが、共に空き状態であることを判定することになる。より厳密には、切換前の処理形態で使用する処理部から、切換後の処理形態で使用する処理部に変更することで、新たに必要となる処理部の空き状況のみを確認すればよい。なぜなら、切換前の処理形態の処理部は、後述する処理により中断されるため、引き継いで使用可能である。また使用可能な、より優先度の高い処理形態がある場合は、それを切換後に使用する処理形態として以降の処理を行う。尚、優先度が高い処理形態が複数存在する場合は、優先度が最も高い処理形態を、切換後に使用する処理形態とする。
In the example of FIG. 14B, it can be seen that the usage process type of the
S2106でCPU106が、実行中の処理形態よりも優先度の高い処理形態があると判定した場合はS2107の処理に進み、実行中の処理形態よりも優先度の高い処理形態がないと判定した場合はS2108の処理に進む。S2107でCPU106は、処理形態の切換処理を行う。この処理形態の切換処理は、実行中の処理形態から、より優先度の高い処理形態に切り換える処理である。この処理形態の切換処理については後述する。そしてS2108に進みCPU106は、実行中処理番号を表す変数MをインクリメントしてS2104に進む。
When the
S2107の処理形態の切換処理は、4つの形態が実現可能であり、それぞれを図22〜図25のフローチャートを参照して説明する。この処理形態の切換処理は、図6の処理形態の切替処理606に対応している。また、図22〜図25のフローチャートは、本実施形態に係る画像形成装置100に対していずれか1つが適用されるものであり、同時に2つ以上の処理形態の切換処理は適用しない。また4つの処理形態の切換処理を、図22から順に、第一の処理形態の切換処理、第二の処理形態の切換処理、第三の処理形態の切換処理、第四の処理形態の切換処理として説明する。
The processing mode switching processing in S2107 can be implemented in four modes, and each will be described with reference to the flowcharts in FIGS. This processing mode switching process corresponds to the processing
ここで、これら4つの処理形態の切換処理の違いを模式図で表したものが図26及び図27である。図26及び図27は、図面の右方向を経過時間として表している。また図26,27で、処理形態の切換処理を行わない場合の例、第一の処理形態の切換処理を行う場合の例、第二の処理形態の切換処理を行う場合の例、第三の処理形態の切換処理を行う場合の例、及び、第四の処理形態の切換処理を行う場合について示している。また、それぞれの図に記載される切替タイミングは、処理形態の切換処理が行われるタイミングを示したものである。図26と図27は、その切替タイミングが異なる場合の例で示しており、所定の拡張処理を10ページ分、行うことを前提としている。図26と図27において、p1〜p10は、1ページから10ページの画像処理を示している。また、現在の処理形態は、CPU106又はCPU204により実行されるとものとし、切換後の処理形態はFPGA202により実行されるものとしている。但し、これはあくまでも一例であってこれに限るものではない。
Here, FIG. 26 and FIG. 27 schematically show the difference in the switching process of these four processing forms. 26 and 27 show the elapsed time in the right direction of the drawing. 26 and 27, an example in which the processing mode switching process is not performed, an example in which the first processing mode switching process is performed, an example in which the second processing mode switching process is performed, and a third An example in which processing mode switching processing is performed and a case in which switching processing of the fourth processing mode is performed are shown. Moreover, the switching timing described in each figure shows the timing at which the processing mode switching processing is performed. FIG. 26 and FIG. 27 show examples in which the switching timings are different, and it is assumed that predetermined expansion processing is performed for 10 pages. 26 and 27, p1 to p10 indicate image processing from
まず、図26と図27の処理形態の切換処理を行わない場合に関して説明する。処理形態の切換処理を行わない場合には、使用する処理形態に対して実行指示を出した段階の処理形態で10ページの全てに対して同一の処理形態で行った様子を表している。切替タイミングが発生しても、そもそも処理形態の切換処理が行われないため、現在の処理形態から変更されることはない。これに対して、第一から第四の各処理形態の切換処理では、切替タイミングを境界として、処理形態が変更される様子を表している。尚、第一から第四の各処理形態の切換処理の詳細な説明は後述する。 First, a description will be given of a case where the switching process between the processing modes of FIGS. When the processing mode switching process is not performed, the processing mode at the stage where the execution instruction is issued for the processing mode to be used is shown in the same processing mode for all 10 pages. Even if the switching timing occurs, the processing mode switching process is not performed in the first place, so that the current processing mode is not changed. On the other hand, in the switching process of each of the first to fourth processing modes, the processing mode is changed with the switching timing as a boundary. A detailed description of the switching processing of the first to fourth processing modes will be given later.
まず、第一の処理形態の切換処理について説明する。これは、切換前の処理形態で行っている画像処理を即座に中断し、切換後の処理形態でゼロから画像処理をやり直すものである。 First, switching processing of the first processing form will be described. In this method, the image processing performed in the processing mode before switching is immediately interrupted, and the image processing is restarted from zero in the processing mode after switching.
図22は、実施形態に係る画像形成装置100による第一の処理形態の切換処理(S2107)を説明するフローチャートである。尚、このフローチャートで示す処理は、画像処理要求を受信したCPU(CPU106又はCPU204)により実行される。ここではCPU106が実行するものとして説明する。ここではこの処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行されるものとする。
FIG. 22 is a flowchart for describing the switching process (S2107) of the first processing form by the
まずS2200でCPU106は、即時中断要求を発行する。この即時中断要求の発行先は、処理形態の切換処理の対象となっている処理形態のCPUである。このときの処理形態はS2105で取得した処理形態である。本実施形態では、CPU106又はCPU204となる。例えば、処理形態の切換処理の対象が処理形態804の場合には、CPU204に対して即時中断要求を発行することになる。また上述したように、CPU204は、即時中断要求を図16の画像処理要求の受信処理のS1601の処理で検知し、S1607の処理で即時中断フラグを設定する。この一連の動作により、図19の画像処理制御処理のS1904の処理で即時中断することができる。
First, in S2200, the
次にS2201に進みCPU106は、中断要求先の処理形態の処理部から処理結果を受信したか否かを判定する。これはS2200で発行した即時中断要求に応答して、画像処理制御が即時中断したことを確認するものである。画像処理制御処理を中断した場合、図19のS1913で中断終了のメッセージを送信するようにしているので、このメッセージを確認することで判定する。S2201でCPU106は、処理結果を受信したと判定するとS2202の処理に進むが、そうでないときはS2201で処理結果を受信するまで待つ。
Next, proceeding to S2201, the
S2202でCPU106は、S2201で受信した処理結果を削除する。第一の処理形態の切換処理では、切換後の処理形態でゼロから画像処理をやり直すため、S2201で受信した処理結果は以降の処理で不要である。そのため、その処理結果を削除する。次にS2203に進みCPU106は、空き状況管理テーブルに対して、中断した処理形態の処理部の状況を使用中(×)から未使用(○)に変更する。例えば、処理形態804の場合には、図8からCPU204を使用しているので、CPU204の空き状況を使用中から未使用に変更する。次にS2204に進みCPU106は、空き状況管理テーブルの、処理形態の切換後に使用する処理部の状況を未使用(○)から使用中(×)に変更する。ここで、処理形態の切換後に使用する処理部は、図21のS2106で決定した切換後の処理形態の情報を参照することで確認できる。例えば、処理形態804から処理形態802に切換えた場合には、処理形態802で使用するFPGA202とCPU204の空き状況を未使用(○)から使用中(×)に変更する。
In step S2202, the
次にS2205に進みCPU106は、切換後に使用する処理形態がFPGA202を使用するかを判定する。例えば、切換後に使用するものが処理形態802であればFPGA202を使用すると判定する。ここでFPGA202を使用すると判定したときはS2206の処理に進み、FPGA202を使用しないと判定した場合はS2208の処理に進む。S2206でCPU106は、FPGA202の再構成要求を発行する。これは上述した図5のS504と同様の処理であり、再構成要求を表すメッセージと処理対象となっている処理内容の情報を送信する。この処理内容の情報は、FPGA202に対して再構成すべき回路構成情報の決定のために使用される。そしてS2207に進みCPU106は、FPGA202の再構成が完了したかどうか判定する。これは上述したS505と同様の処理であり、FPGA202の再構成が完了したかどうかは、再構成の要求に対する完了の通知を表すメッセージを受信したかにより判定される。S2207でFPGA202の再構成が完了したと判定したときはS2208に進み、CPU106は、切換先となる処理形態に対して画像処理要求を発行する。これはS506と同様の処理であり、CPU106は、切換後に使用する処理形態の処理部となるCPU(CPU106又はCPU204)に対して、画像処理要求を発行する。この画像処理要求の発行では、画像処理成要求を表すメッセージ、処理対象の処理内容と処理形態の情報、及び、画像データを送信する。ここでは、画像処理を適用する画像データの全てに対して、処理要求の発行を行う。一方、FPGA202の再構成が完了していないと判定した場合はS2207の処理を繰り返し実行する。
Next, proceeding to S2205, the
以上説明した第一の処理形態の切換処理により、即時中断要求を発行し、切換前の処理形態の画像処理実行を即時中断させ、切換後の処理形態でゼロから画像処理をやり直す制御が可能となる。 By the switching process of the first processing form described above, an immediate interruption request is issued, the image processing execution of the processing form before switching is immediately interrupted, and the image processing can be controlled from zero again in the processing form after switching. Become.
図26(a)と図27(a)は、第一の処理形態の切換処理による画像処理の様子を表している。ともに、切替タイミングで第一の処理形態の切換処理が動作し、現在の処理形態の画像処理を即座に中断し、切換後の処理形態でページ1から再度実行している。第一の処理形態の切換処理では、このような画像処理の切換処理が実現可能であり、切り換えタイミングに依存してしまうが、処理形態の切換処理を行わない場合に比べて早く処理が完了する。
FIG. 26A and FIG. 27A show the state of image processing by switching processing of the first processing form. In both cases, the switching process of the first processing form operates at the switching timing, the image processing of the current processing form is immediately interrupted, and is executed again from
次に、第二の処理形態の切換処理について説明する。 Next, switching processing of the second processing form will be described.
この第二の処理形態の切換処理は、切換前の処理形態で行っている画像処理を即座に中断し、切換後の処理形態で、切換前の処理形態で画像処理が完了していないページのみ画像処理を実行する。即ち、切換前の処理形態での処理結果を引き継いで、切換後の処理形態に画像処理を実行させる。但し、画像処理が途中のページ(例えば図26(b)、図27(b)のページ4)に関しては、そのページ内の処理を引き継がず、そのページの最初から切換後の処理形態で画像処理を実行させる。即ち、図26(b)、図27(b)では、処理形態を切替えた後、ページ4の最初から画像処理を実行している。 This switching process of the second processing mode immediately interrupts the image processing performed in the processing mode before switching, and only the pages in which the image processing has not been completed in the processing mode after switching in the processing mode after switching. Perform image processing. That is, the processing result in the processing mode before switching is taken over, and the image processing is executed in the processing mode after switching. However, for a page in the middle of image processing (for example, page 4 in FIGS. 26B and 27B), the processing in the page is not taken over, and the image processing is performed in the processing form after switching from the beginning of the page. Is executed. That is, in FIG. 26B and FIG. 27B, image processing is executed from the beginning of page 4 after the processing mode is switched.
図23は、実施形態に係る画像形成装置100による第二の処理形態の切換処理(S2107)を説明するフローチャートである。尚、このフローチャートで示す処理は、画像処理要求を受信したCPU(CPU106又はCPU204)により実行される。ここではCPU106が実行するものとして説明する。ここではこの処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行されるものとする。
FIG. 23 is a flowchart for explaining the switching process (S2107) of the second processing form by the
S2300とS2301の処理は、前述の図22のS2200とS2201と同様の処理であるため、その説明を省略する。S2302でCPU106は、受信した処理結果を拡張処理実行管理テーブル(図14)に登録する。ここで受信した処理結果には、処理済のページの画像データが含まれており、処理済のページ番号を確認できる。処理形態の切換前後で引き継いで画像処理を行うために、後々参照できるように、処理済のページ番号を拡張処理実行管理テーブルの中断状態に格納する。例えば、図14(C)では、切換前の処理形態である処理形態804を中断させ、このとき3ページまで処理が完了しているため中断状態に「3」を登録している。その後、切換後の処理形態である処理形態802は、4ページ目から10ページ目までの画像処理を実行することになる。
Since the processing of S2300 and S2301 is the same processing as S2200 and S2201 of FIG. 22 described above, the description thereof is omitted. In S2302, the
次にS2303とS2304は、図22のS2203とS2204と同様の処理であるため、その説明を省略する。また次にS2305〜2307の処理は、図22のS2205〜S2207と同様の処理であるため、その説明を省略する。そしてS2308に進みCPU106は、拡張処理実行管理テーブルから処理すべきページ番号を取得する。これはS2302で拡張処理実行管理テーブルの中断状態に登録したページ番号を取得するものである。次にS2309に進みCPU106は、切換先となる処理形態に対して画像処理要求を発行する。これは基本的に、図22のS2208と同様の処理であるが、画像処理要求の発行時において、送信する画像データが異なる。ここでは、S2308で取得した処理すべきページ番号に基づいて、処理済のページと未処理のページとを区別し、未処理のページのみを画像処理要求で送信する画像データとする。この部分が図22のS2208とは異なる点である。
Next, S2303 and S2304 are the same processes as S2203 and S2204 in FIG. Further, the processing of S2305 to 2307 is the same processing as S2205 to S2207 of FIG. In step S2308, the
以上説明したようにして第二の処理形態の切換処理を実行できる。この第二の処理形態の切換処理により、即時中断要求を発行し、切換前の処理形態の画像処理実行を即時中断させ、切換後の処理形態では処理結果を引き継いで画像処理を実行する制御が可能となる。 As described above, the switching process of the second processing mode can be executed. By the switching process of the second processing form, an immediate interruption request is issued, the image processing execution of the processing form before the switching is immediately interrupted, and the control of executing the image processing by taking over the processing result in the processing form after the switching is performed. It becomes possible.
図26(b)と図27(b)は、第二の処理形態の切換処理による画像処理の様子を表している。ともに、切替タイミングで第二の処理形態の切換処理が動作し、現在の処理形態の画像処理を即座に中断している。切換後の処理形態では、第一の処理形態の切換処理の場合のようにページ1から再度実行するのではなく、処理結果を引き継いで画像処理を実行している。より詳細に説明すると、切換前となる現在の処理形態ではページ1〜3の処理が完了していて、ページ4の処理の途中で中断している。従って、切換後の処理形態では、ページ4の処理から実行することになる。このように第二の処理形態の切換処理では、処理結果を引き継いで切換後の処理形態で処理を行うため、第一の処理形態の切換処理よりも処理時間の短縮が可能である。
FIG. 26B and FIG. 27B show the state of image processing by the switching processing of the second processing form. In both cases, the switching process of the second processing form operates at the switching timing, and the image processing of the current processing form is immediately interrupted. In the processing mode after switching, image processing is performed by taking over the processing result instead of executing again from
次に第三の処理形態の切換処理について説明する。 Next, switching processing of the third processing form will be described.
この第三の処理形態の切換処理は、切換前の処理形態で行っている画像処理を即座に中断せずに、切替タイミングで処理中のページに対する画像処理が完了した後に、その画像処理を中断して処理形態を切り換える。切換後の処理形態では、第二の処理形態の切換処理と同様に、切換前の処理形態で既に画像処理が完了していないページのみ画像処理を実行する。図26(c)、図27(c)は、第三の処理形態の切換処理を説明している。これら図では、ページ4の画像処理中に切替タイミングが発生しているため、そのページ4の画像処理の完了を待って、処理形態を切り換えている。従って、処理形態を切り換えた後は、ページ5から画像処理が実行される。 The switching process of the third processing mode does not immediately interrupt the image processing performed in the processing mode before the switching, but interrupts the image processing after the image processing for the page being processed is completed at the switching timing. Then, the processing mode is switched. In the processing mode after switching, as in the switching processing in the second processing mode, image processing is executed only for pages for which image processing has not been completed in the processing mode before switching. FIG. 26C and FIG. 27C illustrate the switching process of the third processing form. In these figures, since the switching timing occurs during the image processing of page 4, the processing mode is switched after the completion of the image processing of page 4. Therefore, image processing is executed from page 5 after the processing mode is switched.
図24は、実施形態に係る画像形成装置100による第三の処理形態の切換処理(S2107)を説明するフローチャートである。尚、このフローチャートで示す処理は、画像処理要求を受信したCPU(CPU106又はCPU204)により実行される。ここではCPU106が実行するものとして説明する。ここではこの処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行されるものとする。
FIG. 24 is a flowchart for explaining the switching process (S2107) of the third processing form by the
先ずS2400でCPU106は、ページ間中断要求を発行する。このときのページ間中断要求の発行先は、処理形態の切換処理の対象となっている処理形態のCPUとなる。この処理形態は、S2105で取得した処理形態で、実施形態ではCPU106又はCPU204となる。例えば、処理形態の切換処理の対象が処理形態804の場合は、CPU204に対してページ間中断要求が発行される。また、上述したように、CPU204はページ間中断要求を図16の画像処理要求の受信処理のS1601の処理で検知し、S1607の処理でページ間中断フラグを設定する。この一連の動作により、図19の画像処理制御処理のS1903で、ページ処理の完了後に中断することができる。
First, in step S2400, the
次にS2401に進みCPU106は、中断要求先の処理形態の処理部から処理結果を受信したか否かを判定する。これはS2400で発行したページ間中断要求に応答して、画像処理制御処理がページ間で中断したことを確認するものである。画像処理制御処理を中断した場合には、図19のS1913で中断終了のメッセージを送信するようにしているので、このメッセージを確認することで判定する。但し、ページ間中断要求の場合には、切換前の処理形態が最終ページの処理中であった場合には、S1903の処理の前にS1901の処理で全てのページに対する処理が完了すると判定されるため、正常終了のメッセージを受信することがある。従って、正常終了のメッセージを合わせて確認することでこの処理は実現される。処理結果を受信したと判定した場合はS2402の処理に移る。処理結果を受信していないと判定された場合、S2401で処理結果を受信するまで待つことになる。
Next, proceeding to S2401, the
S2402でCPU106は、受信した処理結果は全ページ処理が完了したものかどうか判定する。S2401で上述したように、全ページ処理が完了している場合には、正常終了を表しているメッセージを処理結果として受信する。従って、正常終了のメッセージ受信をしたかどうかを判定する。受信した処理結果は全ページ処理が完了したものであると判定した場合はこの処理を終了するが、そうでないときはS2403の処理に進む。S2403〜S2410の処理は、図23の第二の処理形態の切換処理のS2302〜S2309と同様であるため、その説明を省略する。
In S <b> 2402, the
以上説明した処理により、第三の処理形態の切換処理が実行される。この第三の処理形態の切換処理では、ページ間中断要求を発行し、切換前の処理形態の画像処理実行で行っているページ処理完了を待ってから中断させ、切換後の処理形態では処理結果を引き継いで画像処理を実行する制御が可能となる。 By the process described above, the switching process of the third process form is executed. In the switching process of the third processing form, an inter-page interruption request is issued, and the process is interrupted after waiting for the completion of the page processing performed in the image processing execution of the processing form before the switching. It is possible to perform control to execute image processing by taking over.
図26(c)と図27(c)は、第三の処理形態の切換処理による画像処理の様子を表している。ともに、切替タイミングで第三の処理形態の切換処理が動作し、現在の処理形態の画像処理で行っているページ処理完了を待ってから中断している。また、切換後の処理形態ではページ1から再度実行するのではなく、処理結果を引き継いで画像処理を実行していることを表している。より詳細に説明すると、切替タイミングでは、切換前となる現在の処理形態ではページ1〜3の処理が完了し、ページ4の処理の途中となっているが、中断はページ4の処理完了を待ってから行っている。そして、切換後の処理形態では、ページ5の処理から実行している。このように、切替タイミングがページ処理の終わりに近ければ、第二の処理形態の切換処理と比べて、図26の例で示すように、より早く処理を完了することができる。
FIG. 26C and FIG. 27C show the state of image processing by the switching processing of the third processing form. In both cases, the switching process of the third processing mode operates at the switching timing, and is suspended after waiting for the completion of the page processing performed in the image processing of the current processing mode. In addition, the processing form after switching indicates that image processing is executed by taking over the processing result instead of executing again from
次に第四の処理形態の切換処理について説明する。 Next, switching processing of the fourth processing mode will be described.
図26と図27を参照すると、第二の処理形態の切換処理で行った方が合計の処理時間が短くなる場合と、第三の処理形態の切換処理で行った方が合計の処理時間が短くなる場合とがあることがわかる。これは切替タイミングの時の処理中のページの処理状況の違いによるものである。図26の切替タイミングでは、処理中のページ4の処理状況が、終盤(図26の例では、11/12まで処理が完了した状態)まで処理が進んだ状態である。これに対して図27の切替タイミングでは、処理中のページ4の処理状況は、処理がまだ序盤(図27の例では1/3まで完了した状態)である。従って、図26の切替タイミングでは、処理中のページ4の処理が完了するのを待ってから処理を中断した方が合計の処理時間が短くなり、図27の切替タイミングでは、即座に中断した方が合計の処理時間が短くなる。そこで第四の処理形態の切換処理では、切替タイミングの時点で、処理中のページの画像処理の進捗状況を取得した上で、即座に処理を中断すべきか、処理中のページ処理が完了するのを待ってから中断すべきかを判定して制御する。 Referring to FIGS. 26 and 27, the total processing time is shorter when the total processing time is shorter in the second processing mode switching process, and the total processing time is shorter in the third processing mode switching process. It turns out that it may become shorter. This is due to the difference in the processing status of the page being processed at the switching timing. In the switching timing of FIG. 26, the processing status of the page 4 being processed is in a state where the processing has progressed to the final stage (in the example of FIG. 26, the processing has been completed up to 11/12). On the other hand, at the switching timing of FIG. 27, the processing status of page 4 being processed is in the early stage (in the example of FIG. 27, the state is completed to 1/3). Therefore, at the switching timing in FIG. 26, the total processing time is shorter when the processing is interrupted after the processing of page 4 being processed is completed, and at the switching timing in FIG. However, the total processing time is shortened. Therefore, in the switching processing of the fourth processing form, at the time of switching timing, after acquiring the progress status of the image processing of the page being processed, the processing should be interrupted immediately or the page processing being processed is completed. Control whether to wait after waiting.
図25は、実施形態に係る画像形成装置100による第四の処理形態の切換処理(2107)を説明するフローチャートである。尚、このフローチャートで示す処理は、画像処理要求を受信したCPU(CPU106又はCPU204)により実行される。ここではCPU106が実行するものとして説明する。ここではこの処理を実行するプログラムはROM108或いはHDD121に記憶されており、実行時RAM107に展開されてCPU106の制御の下に実行されるものとする。
FIG. 25 is a flowchart for explaining a switching process (2107) of the fourth processing form by the
先ずS2500でCPU106は、処理ステータスを取得する。この処理ステータスの取得は、現在の処理形態で処理を実行しているCPUに対して、処理ステータス確認要求を発行することで取得できる。処理ステータス確認要求を発行すると、上述したように、S1600により検知され、処理済みのページ番号の情報と、処理中のページで完了した下位処理の数と処理中の下位処理の完了領域の値が処理ステータスとして取得できる。
First, in S2500, the
次にS2501に進みCPU106は、現在実行中のページに対して、下位処理が所定数以上完了しているかを判定する。S2500で処理ステータスとして処理中のページに対して完了した下位処理の数を取得しているので、この情報を基に判定できる。例えば、図18に示すように、そのページの処理が3つの下位処理で構成される場合は、所定数以上として具体的には2以上の下位処理が完了しているかを判定する。閾値となるこの所定数としては、即座に中断した場合と、現在実行中のページの処理が完了するのを待ってから中断した時に、どちらの方が早くなるかを考慮した値とする。例えば、現在実行中の処理形態では、各下位処理に5秒を必要とし、切換後の処理形態では、各下位処理に1秒を必要とする場合を想定する。この場合は、即時中断した方が確実に早くなる境界として、下位処理が2つ以上完了してない状態となり、この数「2」が所定数として決定される。下位処理が2つ以上完了している場合は、更に処理中の下位処理でページのどの領域まで処理が完了しているかを確認しないと、どちらの中断方法を適用した方が早いかを判断できない。従って、後述するS2502で、更に処理中の下位処理の完了領域の数を判定する。S2501でCPU106は、下位処理が所定数以上完了していると判定した場合はS2502の処理に進み、そうでないときはS2504の処理に進んで、即時中断要求を発行してS2505に進む。S2502でCPU106は、現在実行中の下位処理が所定領域以上完了しているかどうか判定する。S2500で処理ステータスとして処理中の下位処理の完了領域の値を取得しているので、この情報を基に判定できる。
In step S2501, the
S2501を、上述した具体例に沿って説明する。下位処理が2つ以上完了している場合は、遅くとも5秒以内に処理が完了する。また、即座に中断して切換後の処理形態で実行した場合は、3秒で処理が完了する。従って、現在実行中の下位処理が3/5以上完了している場合には、現在実行中のページの処理完了を待ってから中断した方が、合計の処理時間が短くなる。このように、S2502における閾値も、S2501の閾値の考え方と同様に、即座に中断した場合と、現在実行中のページの処理の完了を待ってから中断した場合に、どちらが合計の処理時間が短くなるかを考慮した値となる。S2502でCPU106が、現在実行中の下位処理が所定領域以上完了していると判定した場合はS2503の処理に進み、そうでないときはS2504の処理に移る。
S2501 will be described along the specific example described above. If two or more subordinate processes are completed, the process is completed within 5 seconds at the latest. Further, when the processing is immediately interrupted and executed in the processing mode after switching, the processing is completed in 3 seconds. Therefore, when the lower-level processing currently being executed is completed by 3/5 or more, the total processing time is shortened by suspending the processing after waiting for completion of the processing of the currently-executed page. As described above, the threshold value in S2502 is the same as the threshold value concept in S2501, which is shorter when the processing is interrupted immediately or when the processing is interrupted after completion of processing of the currently executed page. It is a value that considers whether If the
この後のS2503の処理は、図24のS2400と同様の処理であり、S2504の処理は図23のS2300と同様の処理である。またS2505〜S2514の処理は、上述した図24の第三の処理形態の切換処理のS2401〜S2410の処理と同様であるため、それらの説明を省略する。 The subsequent processing of S2503 is the same processing as S2400 of FIG. 24, and the processing of S2504 is the same processing as S2300 of FIG. Further, the processing of S2505 to S2514 is the same as the processing of S2401 to S2410 of the switching processing of the third processing mode in FIG.
以上説明した処理により、第四の処理形態の切換処理が実行される。この第四の処理形態の切換処理では、処理ステータスを確認した上で、ページ間中断要求を発行すべきか、即時中断要求を発行すべきかを判定し、その判定結果に応じた中断要求を発行する。切換後の処理形態では処理結果を引き継いで画像処理を実行させる制御を行っている。 By the process described above, the switching process of the fourth process form is executed. In the switching process of the fourth processing mode, after confirming the processing status, it is determined whether an inter-page interruption request should be issued or an immediate interruption request should be issued, and an interruption request according to the determination result is issued. . In the processing mode after switching, control is performed to execute the image processing by taking over the processing result.
図26(d)と図27(d)は、第四の処理形態の切換処理による画像処理の様子を表している。ともに、切替タイミングで第四の処理形態の切換処理が動作し、現在の処理形態はページ4の処理中の状態である。図26(d)の例では、切替タイミングでページ4は11/12まで完了した状態である。各下位処理の負荷が均等である場合には、下位処理は2つ以上完了した状態、下位処理3の完了領域は3750ライン(75%)まで完了した状態である。従って、実施形態で説明した各閾値で判定すると、図26(d)のように現在処理中のページ4の処理の完了を待ってから切り換える制御となる。これに対して図27(d)の例では、切替タイミングでページ4は1/3まで完了した状態である。各下位処理の負荷が均等である場合には、下位処理は1つ以上完了した状態である。従って、本実施形態で説明した各閾値で判定すると、図27(d)のように、即時に中断させて切り換える制御となる。
FIG. 26D and FIG. 27D show the state of image processing by the switching process of the fourth processing form. In both cases, the switching process of the fourth processing mode operates at the switching timing, and the current processing mode is a state in which page 4 is being processed. In the example of FIG. 26D, page 4 is in a state of being completed up to 11/12 at the switching timing. When the load of each lower process is equal, two or more lower processes are completed, and the completion area of the
このように、第四の処理形態の切換処理では、切替タイミングの処理ステータスに応じて、即座に中断して切り換えるか、現在処理中のページ処理の完了を待ってから中断してから切り換えるかのどちらの方法で行うかを制御できる。従って、いずれの切り換えタイミングでも、合計の処理時間を短くすることが可能となる。尚、第四の処理形態の切換処理では、処理ステータスに応じて、中断方法及び切り換え方法を使い分けたが、更に中断時や、切り換え時のオーバーヘッドが大きい場合は、これを考慮してもよい。オーバーヘッドの一例としては、中断時に要するソフトウエア処理時間、切り換え時に要するソフトウエア処理時間、FPGAの再構成に要する再構成時間等である。 As described above, in the switching processing of the fourth processing mode, whether to immediately stop and switch according to the processing status at the switching timing, or to wait for completion of the page processing currently being processed and then switch to You can control which method to use. Accordingly, the total processing time can be shortened at any switching timing. In the switching process of the fourth processing form, the interruption method and the switching method are properly used according to the processing status. However, this may be taken into consideration when the interruption or the overhead during the switching is large. Examples of the overhead include a software processing time required for interruption, a software processing time required for switching, a reconfiguration time required for FPGA reconfiguration, and the like.
以上説明したように実施形態によれば、要求された拡張処理を行うために、複数存在する処理形態の中から、その優先度と、処理形態に必要な処理部の空き状況を参照して処理形態を決定している。処理部の空き状況に変化があった場合には、現在実行中の拡張処理の処理形態を最適化する処理が働くので、より早く完了する処理形態に切り換えることが可能となる。また、実施形態では、プログラマブルデバイスとしてFPGAを用いて説明してきたが、これに限るものではない。 As described above, according to the embodiment, in order to perform the requested extension processing, processing is performed by referring to the priority and the availability of the processing unit necessary for the processing mode from among a plurality of processing modes. The form is determined. When there is a change in the availability of the processing unit, a process for optimizing the processing form of the currently executed extension process works, so that it is possible to switch to a processing form that is completed earlier. In the embodiment, the description has been made using the FPGA as the programmable device, but the present invention is not limited to this.
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。 The present invention is not limited to the above-described embodiment, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, in order to make the scope of the present invention public, the following claims are attached.
100…画像形成装置、101…メインコントローラ、102…操作部、103…スキャナ、104…プリンタ、105…拡張処理部、106…CPU、107…RAM、202…FPGA,204…CPU、302…機能部
DESCRIPTION OF
Claims (10)
前記複数の処理手段の少なくとも一つを使用して実行する複数の処理形態から、所定の処理を実行するための処理形態を選択する選択手段と、
前記複数の処理手段の使用状況を管理する管理手段と、
処理の要求を受け付けると、前記要求された処理を実行するための処理形態を、前記管理手段が管理している前記複数の処理手段の使用状況と、前記選択手段により選択された処理形態とに基づいて決定する決定手段と、
前記決定手段により決定された処理形態で前記要求された処理を実行するように制御する制御手段と、
前記制御手段により前記要求された処理を実行している際、前記決定された処理形態で使用されていない前記複数の処理手段のいずれかが前記要求された処理を実行可能になったかどうかを、前記管理手段が管理している前記使用状況に基づいて判定する判定手段と、
前記判定手段の判定に従って、前記要求された処理を、前記要求された処理を実行可能になった処理手段を使用する処理形態で実行するように処理形態を切り替える切替手段と、を有し、
前記制御手段は、前記切替手段により処理形態の切り替えがなされると、前記実行するように切替えられた処理形態が、前記FPGAを使用する処理形態であれば前記FPGAを前記要求された処理に従って再構成することを特徴とする画像処理装置。 Each of the image processing apparatuses includes a plurality of processing units capable of processing in parallel, and at least one of the plurality of processing units includes an FPGA (Field Programmable Gate Array),
Selecting means for selecting a processing form for executing a predetermined process from a plurality of processing forms executed using at least one of the plurality of processing means;
Management means for managing the usage status of the plurality of processing means;
When a processing request is received, the processing mode for executing the requested processing is changed to the usage status of the plurality of processing units managed by the management unit and the processing mode selected by the selection unit. A determination means for determining based on;
Control means for controlling to execute the requested processing in the processing mode determined by the determining means;
When executing the requested processing by the control means, whether any of the plurality of processing means that are not used in the determined processing mode is capable of executing the requested processing, Determination means for determining based on the use status managed by the management means;
Switching means for switching the processing mode so as to execute the requested processing in a processing mode that uses the processing unit capable of executing the requested processing in accordance with the determination of the determination unit;
When the processing mode is switched by the switching unit, the control unit re-executes the FPGA according to the requested processing if the processing mode switched to the execution is a processing mode using the FPGA. An image processing apparatus comprising:
選択手段が、前記複数の処理手段の少なくとも一つを使用して実行する複数の処理形態から、所定の処理を実行するための処理形態を選択する選択工程と、
管理手段が、前記複数の処理手段の使用状況を管理する管理工程と、
決定手段が、処理の要求を受け付けると、前記要求された処理を実行するための処理形態を、前記管理工程が管理している前記複数の処理手段の使用状況と、前記選択工程で選択された処理形態とに基づいて決定する決定工程と、
制御手段が、前記決定工程で決定された処理形態で前記要求された処理を実行するように制御する制御工程と、
判定手段が、前記制御工程が前記要求された処理を実行している際、前記決定された処理形態で使用されていない前記複数の処理手段のいずれかが前記要求された処理を実行可能になったかどうかを、前記管理工程が管理している前記使用状況に基づいて判定する判定工程と、
切替手段が、前記判定工程の判定に従って、前記要求された処理を、前記要求された処理を実行可能になった処理手段を使用する処理形態で実行するように処理形態を切り替える切替工程と、を有し、
前記制御工程は、前記切替工程で処理形態の切り替えがなされると、前記実行するように切替えられた処理形態が、前記FPGAを使用する処理形態であれば前記FPGAを前記要求された処理に従って再構成することを特徴とする制御方法。 Each of the control methods includes a plurality of processing units capable of processing in parallel, and at least one of the plurality of processing units controls an image processing apparatus having an FPGA,
A selection step of selecting a processing mode for executing a predetermined process from a plurality of processing modes executed using at least one of the plurality of processing units;
A management step in which the management means manages the usage status of the plurality of processing means;
When the determination unit accepts the processing request, the processing mode for executing the requested processing is selected in the usage status of the plurality of processing units managed by the management step and the selection step. A determination step for determining based on the processing mode;
A control step for controlling the control means to execute the requested processing in the processing mode determined in the determination step;
When the determination unit is executing the requested process in the control step, any of the plurality of processing units that are not used in the determined processing mode can execute the requested process. A determination process for determining whether or not the management process is managing based on the usage status;
A switching step of switching the processing mode so that the switching unit executes the requested processing in a processing mode using the processing unit that can execute the requested processing according to the determination of the determination step. Have
In the control step, when the processing mode is switched in the switching step, if the processing mode switched to be executed is a processing mode using the FPGA, the FPGA is re-executed according to the requested processing. A control method characterized by comprising.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015211109A JP2017085322A (en) | 2015-10-27 | 2015-10-27 | Image processing system and its control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015211109A JP2017085322A (en) | 2015-10-27 | 2015-10-27 | Image processing system and its control method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017085322A true JP2017085322A (en) | 2017-05-18 |
Family
ID=58711325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015211109A Pending JP2017085322A (en) | 2015-10-27 | 2015-10-27 | Image processing system and its control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017085322A (en) |
-
2015
- 2015-10-27 JP JP2015211109A patent/JP2017085322A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6669961B2 (en) | Processor, control method of reconfigurable circuit, and program | |
US20160036998A1 (en) | Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method | |
JP2016063407A (en) | Image forming device, parallel processing control method, and control program | |
JP2016103755A (en) | Information processing apparatus, image processing apparatus including information processing apparatus, and control method and program of the same | |
US9509878B2 (en) | Image processing apparatus and method for controlling the same, and storage medium | |
US10037591B2 (en) | Information processing apparatus and method of controlling the same | |
JP6746326B2 (en) | Printing device, printing method, and program for interpreting print data by a plurality of interpreting means | |
JP2017228010A (en) | Storage control means, information processing apparatus including storage control means, storage control method, and program therefor | |
JP2017130071A (en) | Image processing apparatus, memory control device, and memory control method | |
JP2017085322A (en) | Image processing system and its control method, and program | |
JP5972094B2 (en) | Information processing apparatus, information processing method, and program | |
JP2017129951A (en) | Information processor, control method of information processor, and program | |
JP2012194947A (en) | Image processing device and image processing method | |
JP2016042296A (en) | Image processing apparatus, information processing method, and program | |
JP6996189B2 (en) | Print controller, image forming system and image forming device | |
US10635157B2 (en) | Information processing apparatus, method and non-transitory computer-readable storage medium | |
JP2016189177A (en) | Image processing apparatus, and control method and program for the same | |
JP2016206729A (en) | Information processing apparatus and control method therefor, and program | |
JP2016057828A (en) | Image processing device, control method of the same, and program | |
JP2016076867A (en) | Information processor, control method for information processor, and program | |
JP6128104B2 (en) | Image processing apparatus, control method thereof, and program | |
JP7243108B2 (en) | Information processing device, control method and program | |
JP2016218591A (en) | Information processing device, and control method and program of the same | |
JP2021100182A (en) | Image forming apparatus and method for controlling image forming apparatus | |
JP5938971B2 (en) | Printing apparatus and printing method |