JP4852558B2 - Composite device and memory management method in composite device - Google Patents

Composite device and memory management method in composite device Download PDF

Info

Publication number
JP4852558B2
JP4852558B2 JP2008029973A JP2008029973A JP4852558B2 JP 4852558 B2 JP4852558 B2 JP 4852558B2 JP 2008029973 A JP2008029973 A JP 2008029973A JP 2008029973 A JP2008029973 A JP 2008029973A JP 4852558 B2 JP4852558 B2 JP 4852558B2
Authority
JP
Japan
Prior art keywords
memory
job
data
memory block
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008029973A
Other languages
Japanese (ja)
Other versions
JP2009194414A (en
Inventor
智昭 大久保
Original Assignee
株式会社沖データ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2008029973A priority Critical patent/JP4852558B2/en
Publication of JP2009194414A publication Critical patent/JP2009194414A/en
Application granted granted Critical
Publication of JP4852558B2 publication Critical patent/JP4852558B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、内蔵のメモリにデータを格納しながら複数の機能を発揮する複合装置及び複合装置におけるメモリ管理方法に関する。   The present invention relates to a composite device that performs a plurality of functions while storing data in a built-in memory, and a memory management method in the composite device.

一般に複合機或いは複合装置は、電子写真方式の印刷装置に加えてスキャナ機能やファクシミリ機能を備え、例えば画像読み取り装置やファクシミリ装置、複写機として機能できるように構成された装置であり、家庭やオフィスなどに広く普及している。   In general, a multi-function device or multi-function device has a scanner function and a facsimile function in addition to an electrophotographic printing device, and is a device configured to function as, for example, an image reading device, a facsimile device, or a copying machine. Widely used in

ところで、所定の画像データによる画像の出力処理を行なう際にプリンタエンジン部でデータの展開が必要な場合があり、このため例えば複数のホストコンピュータから印刷データが送られてきた場合では、受け取った印刷データを一旦バッファとして機能するハードディスク装置に格納し、格納した印刷データを順次フレームメモリ上で展開することが行われている。   By the way, when performing image output processing with predetermined image data, there is a case where data development is necessary in the printer engine unit. For this reason, for example, when print data is sent from a plurality of host computers, the received print data Data is temporarily stored in a hard disk device functioning as a buffer, and the stored print data is sequentially developed on a frame memory.

従来の画像処理装置の一例(例えば、特許文献1参照。)では、印刷機能を実行するためにフレームメモリと呼ばれる画像展開用のメモリを使用しているが、印刷ジョブがエラーにより中断されたときに、このジョブが使用するフレームメモリ上のデータを待避しフレームメモリを解放することで、別の印刷ジョブがフレームメモリを使用して印刷処理を行えるようにしている。   In an example of a conventional image processing apparatus (for example, see Patent Document 1), an image development memory called a frame memory is used to execute a printing function. However, when a print job is interrupted due to an error. In addition, the data on the frame memory used by this job is saved and the frame memory is released, so that another print job can perform the printing process using the frame memory.

特開平09−071012号公報JP 09-071012 A

しかしながら、複合装置の場合には、さらに多様な機能を装置上発揮させるように動作することから、単にフレームメモリを解放するだけでは、未だ動作上メモリ容量が不足していることがある。すなわち、画像データを処理するためには大きな容量のメモリ領域が必要になるが、このメモリ領域の容量は、画像データの画素数や色数により異なり、画素数や色数が大きいほど使用するメモリの容量も大きくなる。印刷やスキャニング、ファクシミリ通信といった複数の機能をもつ複合装置では、印刷やスキャンの各機能を実行するときに画像データを処理するため、それぞれの機能が大きな容量のメモリをそれぞれ必要とする。各機能が共通のメモリを使用する場合、印刷中にスキャンするといったように、ある機能の実行中に後から別の機能を実行しようとすると、それぞれの機能が使用するメモリ容量の合計が装置に搭載されているメモリ量を超えてしまうことがある。この場合、前の機能の実行が終了するまで後から実行した機能を実行できないという問題が発生する。   However, in the case of a composite device, it operates so that more various functions can be exhibited on the device, so that simply releasing the frame memory may still cause insufficient memory capacity in operation. That is, a large memory area is required to process image data. The capacity of this memory area varies depending on the number of pixels and the number of colors of the image data. The larger the number of pixels and the number of colors, the larger the memory used. The capacity of will also increase. In a composite apparatus having a plurality of functions such as printing, scanning, and facsimile communication, each function requires a large-capacity memory in order to process image data when executing each function of printing and scanning. If each function uses a common memory, if you try to execute another function later while one function is running, such as scanning during printing, the total amount of memory used by each function will be stored in the device. The amount of memory installed may be exceeded. In this case, there arises a problem that the function executed later cannot be executed until the execution of the previous function is finished.

そこで、本発明は、上述の技術的な課題に鑑み、印刷機能だけでなくスキャニングやファクシミリ通信といった多数の機能がある複合装置においても、異なる機能同士でメモリが共有されている状態である機能でメモリが占有された場合でも他の機能を発揮させることが可能な複合装置と、そのような複合装置におけるメモリ管理方法を提供する。   Therefore, in view of the above technical problems, the present invention is a function in which memories are shared between different functions even in a composite apparatus having many functions such as scanning and facsimile communication as well as a printing function. Provided are a composite device capable of exhibiting other functions even when the memory is occupied, and a memory management method in such a composite device.

上述の技術的な課題を解決するため、本発明の複合装置は、第1の画像処理を行う第1の機能部と、前記第1の画像処理とは種類の異なる第2の画像処理を行う第2の機能部とを備え、処理中の前記第1の画像処理に先んじて前記第2の画像処理を割り込み処理させる複合装置において、処理中の前記第1の画像処理で使用されるデータを記憶する第1の記憶部と、前記第1の記憶部に記憶されたデータを待避させるための第2の記憶部と、前記第1の記憶部の空き容量を算出する算出部と、前記算出部で算出された前記空き容量と、割り込み処理される前記第2の画像処理が前記第1の記憶部で必要とするデータ量とを比較する比較部と、を備え、前記第2の画像処理の優先度が前記第1の画像処理の優先度よりも高い場合において、処理中の前記第1の画像処理に先んじて前記第2の画像処理を割り込み処理させる場合に、前記比較部が、前記空き容量が前記第2の画像処理に必要とされるデータ量未満であると判断したときには、前記第1の記憶部に記憶されたデータを前記第2の記憶部に待避させて前記第2の画像処理の割り込み処理を行い、前記空き容量が前記第2の画像処理に必要とされるデータ量以上であると判断したときには、前記第1の記憶部に記憶されたデータを前記第2の記憶部に待避させることなく、前記第1の画像処理と前記第2の画像処理とを並列に処理することを特徴とする。

To solve the technical problems described above, the composite device of the present invention includes a first functional unit for performing a first image processing, different types of second image processing to the first image processing And a second functional unit, wherein the second image processing is interrupted prior to the first image processing being processed, and the data used in the first image processing being processed is A first storage unit for storing; a second storage unit for saving data stored in the first storage unit; a calculation unit for calculating a free capacity of the first storage unit; and the calculation A comparison unit that compares the free space calculated by the unit and the amount of data required for the second image processing to be interrupted by the first storage unit, and the second image processing In the case where the priority of is higher than the priority of the first image processing, When the second image processing is interrupted prior to the first image processing, the comparison unit determines that the free space is less than the amount of data required for the second image processing. When the second image processing is performed, the data stored in the first storage unit is saved in the second storage unit and the interrupt processing of the second image processing is performed, and the free space is required for the second image processing. When it is determined that the amount of data is greater than or equal to the data amount, the first image processing and the second image processing are performed without saving the data stored in the first storage unit in the second storage unit. Are processed in parallel .

本発明の複合装置の好適な実施形態によれば、前記算出部で算出された前記空き容量と、割り込み動作する前記機能部が前記第1の記憶部で処理を行うために必要とされるデータ量の差分を算出する差分算出部を備え、前記待避を行うデータ量を前記差分算出部からの差分を基に決定するように制御することもできる。また、前記第1の記憶部を揮発性メモリとし、前記第2の記憶部を不揮発性メモリとすることもできる。更に本発明の複合装置を、前記第1の記憶部には動作にかかる機能部ごとにメモリブロックを設定すると共に、各メモリブロックには当該メモリブロックが空き領域か否かを示す情報と当該メモリブロックのサイズとを格納するように構成することも可能である。設定されるメモリブロックに応じて前記機能部が行なう処理に対応したジョブ情報が格納しても良い。   According to a preferred embodiment of the composite apparatus of the present invention, the free space calculated by the calculation unit and data required for the functional unit that performs an interrupt operation to perform processing in the first storage unit A difference calculation unit that calculates a difference in amount may be provided, and control may be performed so that the amount of data to be saved is determined based on the difference from the difference calculation unit. The first storage unit may be a volatile memory, and the second storage unit may be a non-volatile memory. Further, in the composite device of the present invention, a memory block is set in the first storage unit for each functional unit to be operated, and information indicating whether or not the memory block is an empty area and the memory in each memory block It can also be configured to store the block size. Job information corresponding to processing performed by the functional unit may be stored in accordance with the set memory block.

また、上述の技術的な課題を解決するため、本発明の複合装置におけるメモリ管理方法は、第1の記憶部に動作中の機能部で使用するデータを記憶する工程と、前記機能部が動作している状態における前記第1の記憶部の空き容量を計算する工程と、割り込み動作を行う機能部で使用されるデータ量と前記第1の記憶部の空き容量を比較する工程と、比較した結果に応じて割り込み動作を行う前記機能部で使用される前記データ量が前記第1の記憶部の空き容量より大きい場合に前記第1の記憶部に記憶されたデータを第2の記憶部に待避させる工程とを有することを特徴とする。   Further, in order to solve the above technical problem, the memory management method in the composite device of the present invention includes a step of storing data used by an operating function unit in the first storage unit, and the function unit operates. The step of calculating the free capacity of the first storage unit in the state of being compared with the step of comparing the amount of data used in the function unit that performs the interrupt operation and the free capacity of the first storage unit When the amount of data used in the function unit that performs an interrupt operation according to the result is larger than the free capacity of the first storage unit, the data stored in the first storage unit is stored in the second storage unit. And a step of evacuating.

このような構成を有する本発明の複合装置によれば、1つの機能を発揮している状態であっても、メモリ使用量の大きな他の機能を割り込ませることができ、通常ではメモリ容量を越えてしまうために同時に実行できないような動作でも割り込ませることができ、例えば印刷を行っている途中で原稿の読み取り動作などの他の動作を割り込ませることができる。換言すれば、記憶部自体をそれほど大きくすることなく同時に複数の機能を発揮できるため、記憶部となるRAM、揮発性メモリなどを比較的に小さな容量とすることもでき、製品全体のコストダウンも容易に実現できる。   According to the composite apparatus of the present invention having such a configuration, even if one function is being performed, it is possible to interrupt another function having a large memory usage, which normally exceeds the memory capacity. Therefore, even an operation that cannot be executed at the same time can be interrupted. For example, another operation such as a document reading operation can be interrupted during printing. In other words, since a plurality of functions can be exhibited at the same time without enlarging the storage unit itself, the storage unit RAM, volatile memory, etc. can be made to have a relatively small capacity, and the cost of the entire product can be reduced. It can be easily realized.

本発明の複合機の好適な実施形態を図面を参照しながら説明する。   A preferred embodiment of a multifunction machine of the present invention will be described with reference to the drawings.

[第1の実施形態]
図1は、本発明の実施形態に係る複合装置である複合機の構成を示すブロック図である。図1に示すように、この本実施形態の複合機100は、複合機100全体の動作を制御するCPU101と、第1の記憶部として機能する揮発性メモリであってデータを記憶するRAM102と、制御プログラムなどを格納するROM103と、ホストコンピュータとの接続のためのインターフェース104と、電子写真方式などにより所要の画像データの出力を行う印刷部105と、原稿の読み取りが可能なスキャナ106と、ユーザが動作を制御するための操作パネル107と、データの大容量記憶手段として機能するハードディスク108から構成される。なお、複合機の種類によっては、さらにファクシミリ通信機能などを有していても良い。
[First embodiment]
FIG. 1 is a block diagram illustrating a configuration of a multifunction peripheral that is a multifunction peripheral according to an embodiment of the present invention. As shown in FIG. 1, the MFP 100 according to this embodiment includes a CPU 101 that controls the operation of the entire MFP 100, a RAM 102 that is a volatile memory that functions as a first storage unit, and stores data. ROM 103 for storing a control program, an interface 104 for connection with a host computer, a printing unit 105 for outputting required image data by an electrophotographic method, a scanner 106 capable of reading a document, a user Comprises an operation panel 107 for controlling the operation and a hard disk 108 functioning as a mass storage means for data. Depending on the type of the multi-function peripheral, a facsimile communication function may be provided.

CPU101は複合機100全体の動作を制御する演算処理ユニットであって、ROM103に格納された制御プログラムに基づいて作動する。RAM102はCPU101のワークメモリとして機能するメモリであり、第1の記憶部として機能するメモリである。RAM102は、システム上、他の機能部に取得されていない状態では例えば200MB(byte)の空き領域を有しており、必要があれば他の機能部の処理を実行するために使用される。すなわち、RAM102は、印刷時には印刷部105へ入力するためのビットマップデータの記憶に用いられ、スキャン時には走査により読み取った画像データの記憶に用いられる。ROM103は複合機100の制御プログラムを格納する。ここで、機能部とは、印刷部、スキャン部、ファクシミリ送受信部などの本複合機が発揮し得る種々の機能を実現するための各信号処理部を指し、システムの構成の中では一部のブロックが共通して使用されることもある。   The CPU 101 is an arithmetic processing unit that controls the operation of the entire multifunction peripheral 100, and operates based on a control program stored in the ROM 103. A RAM 102 is a memory that functions as a work memory of the CPU 101, and a memory that functions as a first storage unit. The RAM 102 has a free area of, for example, 200 MB (bytes) when not acquired by other functional units in the system, and is used to execute processing of other functional units if necessary. That is, the RAM 102 is used for storing bitmap data for input to the printing unit 105 during printing, and is used for storing image data read by scanning during scanning. The ROM 103 stores a control program for the multifunction peripheral 100. Here, the function unit refers to each signal processing unit for realizing various functions that can be performed by the multifunction device, such as a printing unit, a scanning unit, and a facsimile transmission / reception unit. Blocks may be used in common.

インターフェース104は複合機100とホストコンピュータ201〜203を接続するためのLANインターフェースである。ホストコンピュータ201〜203は、ネットワークを組むようにLAN接続されているパーソナルコンピュータ等のコンピュータであり、インターフェース104はホストコンピュータ201〜203のいずれかから送られたページ記述言語(PDL)による印刷データを受信する。また、ホストコンピュータ201〜203いずれかヘスキャナから読み取ったスキャン画像データを送信することもできる。インターフェース104は複数のチャネルを持ち、送信と受信を並行して行うことができる。   The interface 104 is a LAN interface for connecting the multifunction device 100 and the host computers 201 to 203. The host computers 201 to 203 are computers such as personal computers connected via a LAN so as to form a network. The interface 104 receives print data in a page description language (PDL) sent from any of the host computers 201 to 203. To do. The scanned image data read from the scanner can be transmitted to any one of the host computers 201 to 203. The interface 104 has a plurality of channels and can perform transmission and reception in parallel.

印刷部105は電子写真方式のプリントエンジンとして機能し、バスを介してRAM102から転送されたビットマップデータを、電子写真方式によって潜像が形成された感光ドラム上の用紙上に転写して出力する。スキャナ106はCPU101からの指示に応じて原稿を読み取り、スキャン画像データをRAM102ヘバスを介して転送する。スキャナ106は複数の原稿サイズおよび色数(グレースケール:1色、またはカラー:3色)の原稿を読み取ることができる。読み取ったスキャン画像データのサイズは原稿サイズと色数の積に比例する。   The printing unit 105 functions as an electrophotographic print engine, and transfers bitmap data transferred from the RAM 102 via the bus onto a sheet on a photosensitive drum on which a latent image is formed by the electrophotographic method, and outputs it. . The scanner 106 reads a document in accordance with an instruction from the CPU 101 and transfers the scanned image data to the RAM 102 via a bus. The scanner 106 can read a plurality of document sizes and the number of colors (gray scale: one color or color: three colors). The size of the scanned image data read is proportional to the product of the document size and the number of colors.

操作パネル107は表示のための液晶ディスプレイと入力のためのボタンからなる。操作パネル107はスキャナ106で読み取る原稿サイズと、スキャンの開始要求の入力を受け付ける。また、図示を省略しているが、ファクシミリ送受信の操作も可能である。ハードディスク108はRAM102上のデータを待避するための領域を持つ。データを待避するための領域はRAM102のデータ容量より十分大きい。なお、ホストコンピュータ201〜203は、印刷時は印刷データを送信することができ、スキャン時はスキャン画像データを受信することができる。   The operation panel 107 includes a liquid crystal display for display and buttons for input. The operation panel 107 receives an input of a document size read by the scanner 106 and a scan start request. Although not shown, facsimile transmission / reception is also possible. The hard disk 108 has an area for saving data on the RAM 102. The area for saving data is sufficiently larger than the data capacity of the RAM 102. The host computers 201 to 203 can transmit print data during printing, and can receive scan image data during scanning.

図2にRAM102内のメモリマップ示し、その領域区分の一例を示す。RAM102はシステム領域301と共用領域302と固定サイズ領域303の3つの領域に分けて管理される。システム領域301は下記2つの領域から取得するものを除く全てのメモリの取得に用いられる。   FIG. 2 shows a memory map in the RAM 102 and an example of the area division. The RAM 102 is managed by being divided into three areas: a system area 301, a shared area 302, and a fixed size area 303. The system area 301 is used for acquiring all memories except those acquired from the following two areas.

共用領域302は、画像処理に用いる大きいサイズのメモリブロックを確保するために使用される。具体的には、共用領域302は、印刷部105へ入力するためのビットマップデータを記憶するためのメモリブロックの確保と、スキャン画像データを記憶するためのメモリブロックの確保に用いられる。また、固定サイズ領域303はシステムに対して数の変わらないリソースに対して固定サイズのメモリブロックを割り当てるために使用される。具体的には固定サイズ領域303はインターフェース104の送受信バッファとして使用される。   The shared area 302 is used to secure a large-sized memory block used for image processing. Specifically, the shared area 302 is used to secure a memory block for storing bitmap data to be input to the printing unit 105 and a memory block for storing scanned image data. The fixed size area 303 is used to allocate a fixed size memory block to a resource whose number does not change for the system. Specifically, the fixed size area 303 is used as a transmission / reception buffer of the interface 104.

本実施形態の複合機では,処理の一連の単位をジョブと称する。特に印刷データをインターフェース104から受信し、印刷部105から印刷した用紙を出力するまでの一連の処理を印刷ジョブ、操作パネル107からスキャン開始指示を受けてからホストコンピュータへ画像データを送信し終えるまでの一連の動作をスキャンジョブと称する。また、ジョブにはそれぞれ優先度が設定されており、本実施形態においては、スキャンジョブは印刷ジョブよりも高い優先度が設定されている。   In the multifunction peripheral of this embodiment, a series of processing units is referred to as a job. In particular, a series of processes from receiving print data from the interface 104 to outputting printed paper from the printing unit 105 until receiving a scan start instruction from the print job and the operation panel 107 until transmission of image data to the host computer is completed. A series of operations is referred to as a scan job. In addition, priority is set for each job, and in this embodiment, a higher priority is set for a scan job than for a print job.

図3に本実施例における機能ブロック図を示す。ジョブ管理部401は複合機100が処理しているジョブに識別番号を割り当てて管理する。識別番号は登録された順番に付けるため、登録した順番が遅いほど識別番号は大きくなる。ジョブ管理部401はジョブが開始されてから終了するまでそれぞれジョブ情報を保持する。ここでジョブ情報は、シリアル番号などの数字からなる識別番号、実行すべき機能を内容とするジョブ種別(例えば、印刷ジョブかスキャンジョブか)、現在のステータスを示すところの状態(待機中か動作中)からなる。   FIG. 3 shows a functional block diagram in the present embodiment. A job management unit 401 assigns an identification number to a job being processed by the multifunction peripheral 100 and manages the job. Since the identification numbers are given in the registered order, the identification numbers increase as the registered order is later. The job management unit 401 holds job information from the start to the end of the job. Here, the job information includes an identification number consisting of a number such as a serial number, a job type including the function to be executed (for example, a print job or a scan job), and a state indicating the current status (standby or operation) Middle).

共用メモリ管理部402は、共用メモリ403からメモリブロックを取得及び解放を行う。各メモリブロックに対し以下のメモリブロック情報を記憶する。初期状態では共用メモリ403は全て空き領域として割り当て可能である。ここでメモリブロック情報は、先のメモリマップ内の共有領域302の当該ブロックに対応した領域の先頭番地からなる先頭アドレスと、占有するサイズと、メモリブロックを取得したジョブの識別番号(空き領域ならば"無し")と、空き領域か否かのフラッグ情報とからなり、後述するようなメモリブロックの取得や解放動作の際に参照される。共用メモリ403からのメモリブロックの取得および共用メモリ403のメモリブロックの解放については詳細を後述する。   The shared memory management unit 402 acquires and releases a memory block from the shared memory 403. The following memory block information is stored for each memory block. In the initial state, the shared memory 403 can be all allocated as a free area. Here, the memory block information includes the head address including the head address of the area corresponding to the block of the shared area 302 in the previous memory map, the occupied size, and the identification number of the job that acquired the memory block (if it is an empty area) "None") and flag information indicating whether or not the area is a free area, and is referred to when a memory block is acquired or released as described later. Details of obtaining a memory block from the shared memory 403 and releasing the memory block of the shared memory 403 will be described later.

共用メモリ403は、共有メモリ管理部402に制御されながら、印刷ジョブによるビットマップデータとスキャンジョブによるスキャン画像データを必要に応じて記憶する。共用メモリ403にはアクセス速度が速いが比較的高価な揮発性メモリであるRAM102が使用される。待避メモリ404は共用メモリ403のデータを一時的に待避するためのメモリである。待避メモリ404はアクセス速度が遅いが比較的安価な不揮発性メモリが使用され、本実施形態においては大容量のハードディスク108が待避メモリとして機能する。なお、ハードディスク108としては、典型的には内蔵のハードディスクが利用されるが、代わりに外付けのハードディスクやUSBメモリ、メモリカードなどの記憶手段を用いても良く、ネットワーク接続されるサーバーなどであっても良い。   The shared memory 403 stores bitmap data based on a print job and scanned image data based on a scan job as necessary while being controlled by the shared memory management unit 402. The shared memory 403 uses a RAM 102 that is a volatile memory that has a high access speed but is relatively expensive. The save memory 404 is a memory for temporarily saving data in the shared memory 403. As the save memory 404, a non-volatile memory having a low access speed but relatively inexpensive is used. In this embodiment, the large-capacity hard disk 108 functions as the save memory. As the hard disk 108, an internal hard disk is typically used, but an external hard disk, a USB memory, a memory card, or other storage means may be used instead. May be.

共有メモリ管理部402からの命令に従ってデータ待避制御部405は、共用メモリ403上のメモリブロックを待避メモリ404へ待避及び復元する。待避した各ブロックに対して待避ブロック情報を記憶する。待避ブロック情報は、待避メモリ404上の先頭アドレスと、サイズと、待避元の共用メモリ403上のメモリブロックの先頭アドレスと、待避元のメモリブロックを取得していたジョブの識別番号とからなる。   In accordance with a command from the shared memory management unit 402, the data saving control unit 405 saves and restores the memory block on the shared memory 403 to the saving memory 404. Save block information is stored for each block saved. The save block information includes the start address on the save memory 404, the size, the start address of the memory block on the save source shared memory 403, and the identification number of the job that has acquired the save source memory block.

データ待避制御部405は共有メモリ管理部402からデータの待避指示を受けると共用メモリ403からデータを読み出し、待避メモリ404へ書き込み、移動したブロックに対し上記情報を記録する。データ待避制御部405は、復元時には記録した上記情報を使い待避メモリ404からデータを読み出し、共用メモリ403ヘデータを書き込む。印刷データ入力部406は、インターフェース104から所定の印刷データを受信する。印刷データ入力部406が印刷データの受信を開始すると、印刷ジョブ制御部407へ通知し、印刷データ展開部408へ当該印刷データを転送する。印刷データ展開部408が動作を中断している間は印刷データ入力部406はインターフェース104からの印刷データの受信を停止する。   When the data saving control unit 405 receives a data saving instruction from the shared memory management unit 402, the data saving control unit 405 reads the data from the shared memory 403, writes the data in the saving memory 404, and records the information on the moved block. The data saving control unit 405 reads the data from the saving memory 404 by using the recorded information at the time of restoration, and writes the data to the shared memory 403. The print data input unit 406 receives predetermined print data from the interface 104. When the print data input unit 406 starts receiving print data, it notifies the print job control unit 407 and transfers the print data to the print data development unit 408. While the print data expansion unit 408 is interrupted, the print data input unit 406 stops receiving print data from the interface 104.

印刷ジョブ制御部407はジョブ管理部401の制御に従って印刷ジョブの動作を制御する。また、印刷ジョブ制御部407は印刷ジョブを実行するため共用メモリ管理部402から共用メモリを取得する。この印刷ジョブの動作については後述する。印刷データ展開部408は印刷データ入力部406から入力された印刷データを展開し、共用メモリから取得したメモリブロックヘビットマップデータを作成する。印刷制御部409は共用メモリ403からビットマップデータを読み込み印刷部105へ入力することで用紙上ヘビットマップ画像を印刷することを制御する。   A print job control unit 407 controls the operation of the print job according to the control of the job management unit 401. The print job control unit 407 acquires the shared memory from the shared memory management unit 402 in order to execute the print job. The operation of this print job will be described later. The print data expansion unit 408 expands the print data input from the print data input unit 406, and creates bitmap data in the memory block acquired from the shared memory. The print control unit 409 controls printing of the bitmap image on the paper by reading the bitmap data from the shared memory 403 and inputting it to the printing unit 105.

設定入力部410はユーザが操作パネル107を介してスキャンのパラメータである用紙サイズと色数と共にスキャン開始指示を入力すると、その入力されたパラメータと開始指示をスキャンジョブ制御部411へ通知し、スキャンジョブを起動する。スキャンジョブ制御部411はスキャンジョブの動作を制御する制御部であり、スキャンジョブの開始指示を受ける。印刷ジョブと同様に、スキャンジョブの動作については後述する。   When the user inputs a scan start instruction together with the paper size and the number of colors, which are scan parameters, via the operation panel 107, the setting input unit 410 notifies the scan job control unit 411 of the input parameters and start instruction, and scans. Start the job. The scan job control unit 411 is a control unit that controls the operation of a scan job, and receives a scan job start instruction. Similar to the print job, the operation of the scan job will be described later.

スキャン部412はスキャナ106から指定された原稿サイズと色数で画像データを読み込み、スキャン画像データを共用メモリ403へ書き込む。スキャンデータの出力の際、スキャンデータ出力部413は、共用メモリ403からスキャン画像データを読み込みバスを介してインターフェース104からホストコンピュータ201〜203へ出力する。   The scan unit 412 reads image data with the document size and the number of colors designated from the scanner 106, and writes the scan image data to the shared memory 403. When outputting the scan data, the scan data output unit 413 reads the scan image data from the shared memory 403 and outputs it from the interface 104 to the host computers 201 to 203 via the bus.

データ量算出部414はスキャンジョブのパラメータから、スキャンジョブ読み込むスキャン画像データのデータサイズを計算する。具体的には、例えば次の数式(数1)により求める。式中の括弧内は単位である。   The data amount calculation unit 414 calculates the data size of the scanned image data read from the scan job from the parameters of the scan job. Specifically, for example, it is obtained by the following equation (Equation 1). The unit in the parenthesis in the formula is a unit.

(数1)
画像データのデータサイズ(バイト)=
原稿の横長さ(インチ)×スキャナの横方向の解像度(ドット/インチ)×
原稿の縦長さ(インチ)×スキャナの縦方向の解像度(ドット/インチ)×
1ドットの量子化ビット数(ビット)/8×色数
(Equation 1)
Data size of image data (bytes) =
Document length (inch) x Scanner horizontal resolution (dots / inch) x
Document length (inch) x Scanner vertical resolution (dots / inch) x
Quantization bit number of 1 dot (bit) / 8 x number of colors

次に、本実施形態におけるスキャンの設定動作を図4を用いて説明し、次に共用メモリ403からメモリを取得する際の共用メモリ管理部402の動作について詳細を図5および図6を用いて説明する。   Next, the scan setting operation in the present embodiment will be described with reference to FIG. 4, and the operation of the shared memory management unit 402 when acquiring memory from the shared memory 403 will be described in detail with reference to FIGS. explain.

図4に本実施形態の複合機におけるスキャンの設定画面を示す。スキャン設定画面600はサイズ・色選択ボタン601〜604および送信先指定枠605およびスキャン開始指示ボタン606からなる。サイズ・色選択ボタン601〜604はスキャンの用紙サイズおよび色数(カラーかモノクロか)の組み合わせを表示しており、選択されると用紙サイズおよび色数を起動するスキャン処理に設定する。なお、サイズ・色選択ボタン601〜604のサイズおよび色数で示しているものは、例示であり、他の組み合わせでも良い。   FIG. 4 shows a scan setting screen in the MFP according to the present embodiment. The scan setting screen 600 includes size / color selection buttons 601 to 604, a transmission destination designation frame 605, and a scan start instruction button 606. The size / color selection buttons 601 to 604 display a combination of the paper size and the number of colors (color or monochrome) for scanning, and when selected, the paper size and the number of colors are set to a scan process to be activated. In addition, what is shown by the size and the number of colors of the size / color selection buttons 601 to 604 is an example, and other combinations may be used.

送信先指定枠605へはスキャンデータを送付する先のIPアドレスを入力する。アドレスは操作ボタンから直接入力し、或いはプリセットされているものを呼び出す。スキャン開始指示ボタン606は設定内容にしたがってスキャン処理を開始するための指示に使用される。このスキャンの設定画面600は、操作パネル107の表示画面であっても良く、スキャニング処理をホストコンピュータ201〜203からの命令で開始する場合は、このスキャンの設定画面600がホストコンピュータ201〜203のモニターに表示されるようにすることも可能である。   In the transmission destination designation frame 605, the IP address of the transmission destination of the scan data is input. The address is input directly from the operation button, or the preset address is called. A scan start instruction button 606 is used for an instruction to start a scan process according to the set content. The scan setting screen 600 may be a display screen of the operation panel 107. When the scanning process is started by a command from the host computers 201 to 203, the scan setting screen 600 is displayed on the host computers 201 to 203. It can also be displayed on a monitor.

次に、共用メモリ403のメモリブロックを取得する動作について説明する。この共用メモリ403のメモリブロックを取得する動作は、本実施形態の複合機が各機能部がそれぞれの機能を発揮するためにメモリを取得する場合、そのメモリの取得に際して行われる動作であり、割り込み動作について処理する場合のフローでもある。図5は本実施形態における共用メモリ403のメモリブロックを取得する際のフローである。   Next, an operation for acquiring a memory block of the shared memory 403 will be described. The operation of acquiring the memory block of the shared memory 403 is an operation performed when acquiring the memory when the multi-function peripheral according to the present embodiment acquires the memory so that each functional unit performs its function. It is also a flow for processing the operation. FIG. 5 is a flow when acquiring a memory block of the shared memory 403 in this embodiment.

先ず、手順S101で、共用メモリ管理部402はジョブに応じてジョブ管理部401からメモリブロックの取得要求を受けると、共用メモリ403に要求されたサイズを取得するための空き領域があるか判定する。先に実行されている機能がない場合や、既に動作している機能部が取得しているメモリブロックサイズが小さい場合には、メモリ領域に空きがあり(Yes)、空きがあれば直ちにメモリを取得して終了する(S106)。   First, in step S101, when the shared memory management unit 402 receives a memory block acquisition request from the job management unit 401 according to a job, the shared memory 403 determines whether there is a free area for acquiring the requested size. . If there is no previously executed function or if the memory block size acquired by the function unit that is already operating is small, the memory area is empty (Yes). Acquire and end (S106).

もし手順S101でメモリ領域に空きがない場合(No)、手順S102に進み、共用メモリ管理部402は、メモリ取得を要求したジョブ以外のジョブが既に取得したメモリブロックを空き領域と見なせば、要求されたサイズのメモリブロックを取得可能であるかを判定する。もし取得不可能であれば(No)、結果を"取得失敗"として処理を終了する(S108)。例えば、既に動作しているジョブの優先度が他に比べて十分に高い場合には、メモリブロックを明け渡すようには動作はできないため、"取得失敗"の動作を行う。この手順Sl08では共用メモリ管理部402は"失敗"したことを要求元のジョブに通知する。   If there is no space in the memory area in step S101 (No), the process proceeds to step S102, and the shared memory management unit 402 determines that a memory block already acquired by a job other than the job that requested the memory acquisition is an empty area. It is determined whether a memory block of the requested size can be acquired. If acquisition is not possible (No), the result is “acquisition failure” and the process is terminated (S108). For example, if the priority of a job that is already operating is sufficiently higher than the others, the operation cannot be performed so as to give up the memory block, and therefore the “acquisition failure” operation is performed. In this procedure Sl08, the shared memory management unit 402 notifies the requesting job that it has failed.

もし手順S102で取得可能であれば(Yes)、手順S103に進み、共用メモリ管理部402はメモリ取得を要求したジョブより優先度の低いジョブが取得したメモリブロックを仮に空き領域と見なした場合に、要求されたサイズのメモリブロックを取得可能であるかを判定する。ジョブの優先度はジョブの識別番号を用いてジョブ管理部401から取得して判断される。本実施形態では、ジョブの種類に応じて優先度が設定されており、スキャンジョブが印刷ジョブに比べて優先度が高く設定されている。このためメモリブロックに空きがない状態で、印刷ジョブが実行されている場合に、スキャンジョブの割り込みは可能であるが、その逆のスキャンジョブが実行されている場合に、印刷ジョブの割り込みは許可されないように制御される。優先度の関係から、取得不可能であれば結果を"現在は取得不可"として処理を終了する(S107)。この手順S107では、共用メモリ管理部402は"現在は取得不可"であることを要求元のジョブに通知する。   If acquisition is possible in step S102 (Yes), the process proceeds to step S103, and the shared memory management unit 402 assumes that a memory block acquired by a job having a lower priority than the job that requested the memory acquisition is a free area Then, it is determined whether a memory block of the requested size can be acquired. The job priority is determined by obtaining it from the job management unit 401 using the job identification number. In this embodiment, the priority is set according to the type of job, and the priority of the scan job is set higher than that of the print job. Therefore, scan jobs can be interrupted when a print job is executed when there is no space in the memory block, but the print job interrupt is allowed when the opposite scan job is executed. It is controlled not to be done. If it cannot be acquired from the relationship of priorities, the result is determined as “currently not acquired” and the process ends (S107). In step S107, the shared memory management unit 402 notifies the requesting job that “currently unavailable”.

また、手順S103で要求されたサイズのメモリブロックを取得可能と判定した場合(Yes)には、続いて手順Sl04で共用メモリ管理部402は、割り込みの開始動作として、メモリ取得を要求したジョブより優先度が低く、かつ共用メモリ403からメモリブロックを取得している全てのジョブに対し中断を指示する。さらに、手順S105では、共用メモリ管理部402は中断が完了したところで、待避可能となったメモリブロックのデータを待避するようデータ待避制御部405に指示し、データをハードディスク108に待避させる。データを待避したブロックは空きブロックとみなされ、データのハードディスク108への待避は、メモリブロック情報の先頭アドレスとサイズを参照しながら、全サイズについて実行される。   If it is determined in step S103 that a memory block of the requested size can be acquired (Yes), then in step S104, the shared memory management unit 402 performs an interrupt start operation from the job that requested memory acquisition. An interruption is instructed to all jobs having a low priority and acquiring a memory block from the shared memory 403. Further, in step S105, when the interruption is completed, the shared memory management unit 402 instructs the data saving control unit 405 to save the data of the memory block that can be saved, and causes the hard disk 108 to save the data. The block that saved the data is regarded as an empty block, and the saving of the data to the hard disk 108 is executed for all the sizes while referring to the head address and the size of the memory block information.

この待避操作の後、手順S106で共用メモリ管理部402は要求されたメモリブロックを確保する。このようなメモリブロックの取得は、連続する空きブロックを結合した後、空きブロックから要求されたサイズのメモリブロックを割譲することで行われる。割り込みを開始した機能は、メモリブロックの取得により動作可能となり、待避により中断した作業に割り込んで実行されることになる。   After this save operation, in step S106, the shared memory management unit 402 secures the requested memory block. Such acquisition of memory blocks is performed by concatenating consecutive empty blocks and then allocating a memory block of the requested size from the empty blocks. The function that started the interrupt becomes operable by acquiring the memory block, and is executed by interrupting the work interrupted by the saving.

次に、本実施形態における共用メモリ403のメモリブロックを解放する動作について図6を参照して説明する。割り込んだ機能がある場合、その割り込んだ機能の実行が終了したとき、中断していた機能を復元させる必要があり、共用メモリ管理部402はその復元のための制御を行う。図6は本実施形態における共用メモリ403のメモリブロックを解放する際のフローチャートである。   Next, the operation of releasing the memory block of the shared memory 403 in this embodiment will be described with reference to FIG. When there is an interrupted function, it is necessary to restore the interrupted function when the execution of the interrupted function is completed, and the shared memory management unit 402 performs control for the restoration. FIG. 6 is a flowchart for releasing a memory block of the shared memory 403 in this embodiment.

先ず、手順S201で現在動作中であった機能部の動作の終了時などにおいて、共用メモリ管理部402はその機能部から解放されたメモリブロックを空き領域とする。続いて、手順S202では、共用メモリ管理部402は待機状態のジョブがあるか判定する。もし待機状態のジョブが無ければ(No)、中断して再開を待っているジョブは無いことになり、直ちに処理を終了する。   First, at the end of the operation of the functional unit currently operating in step S201, the shared memory management unit 402 sets the memory block released from the functional unit as a free area. Subsequently, in step S202, the shared memory management unit 402 determines whether there is a standby job. If there is no waiting job (No), it means that there is no job that is interrupted and waiting for resumption, and the processing is immediately terminated.

待機状態のジョブがある場合(Yes)、手順S203に進み、共用メモリ管理部402は待機中のジョブが確保していた共通メモリ403のメモリブロックが全て復元可能であるかを判定する。メモリブロックが復元可能であるかの判定は、メモリブロックがより高い優先度のジョブにより使用状態になっていないかで判定する。もし、メモリブロックがより高い優先度のジョブにより使用状態とされる場合には、メモリブロックが全て復元可能ではないため、復元のための処理を終了する。   If there is a waiting job (Yes), the process proceeds to step S203, and the shared memory management unit 402 determines whether all the memory blocks of the common memory 403 reserved by the waiting job can be restored. Whether or not the memory block can be restored is determined based on whether or not the memory block is in use by a job having a higher priority. If the memory block is brought into use by a job with a higher priority, the memory block cannot be fully restored, and the restoration process is terminated.

手順S204では、共用メモリ管理部402はS203の判定で復元可能であれば、データ待避制御部405に指示しデータをメモリに復元する。このとき復元先の共用メモリ403上の領域が、復元しようとしているジョブより優先度の低いジョブによって取得されていれば、その優先度の低いジョブを中断した上で優先度の低いジョブについてのデータを待避させて、待避していたデータを戻すことで復元する。共用メモリ管理部402はメモリブロックを復元したジョブに対し再開許可をジョブ管理部401を介して出す(S205)。これに応じて、メモリブロックにデータが復元されたジョブの実行が再開されることになる。なお、手順S203〜S205の処理は待機しているジョブ全てに対して優先度の高い順に行われ、手順S204では常に優先度が高いジョブが先にメモリ領域を確保するように操作される。   In step S204, the shared memory management unit 402 instructs the data saving control unit 405 to restore the data to the memory if it can be restored in the determination of S203. At this time, if the area on the restoration destination shared memory 403 is acquired by a job having a lower priority than the job to be restored, the job having the lower priority is interrupted after the job having the lower priority is interrupted. Is restored by restoring the saved data. The shared memory management unit 402 gives permission to resume the job whose memory block has been restored via the job management unit 401 (S205). In response to this, the execution of the job whose data is restored in the memory block is resumed. Note that the processing in steps S203 to S205 is performed in the order of high priority for all waiting jobs, and in step S204, a job having a high priority is always operated to secure a memory area first.

次に、図7と図8を参照して、より具体的に印刷ジョブの動作とスキャンジョブの動作についてそれぞれ説明する。図7は本実施形態における印刷ジョブの動作を示すフローチャートである。印刷ジョブが開始する場合に、始めに手順S301でインターフェース104がホストコンピュータ201〜203から印刷データを受信する。この受信によりジョブ管理部401は、印刷ジョブを開始するように動作を始め、手順S302ではジョブ管理部401は、共用メモリ管理部402に信号を送って共用メモリ403からビットマップデータ展開用のメモリブロックを取得するように動作する。   Next, the operation of the print job and the operation of the scan job will be described more specifically with reference to FIGS. FIG. 7 is a flowchart showing the operation of a print job in this embodiment. When the print job starts, first, the interface 104 receives print data from the host computers 201 to 203 in step S301. Upon reception of this, the job management unit 401 starts an operation to start a print job. In step S302, the job management unit 401 sends a signal to the shared memory management unit 402, and a memory for developing bitmap data from the shared memory 403. Works to get a block.

この手順S302ではビットマップデータ展開用のメモリブロックを取得するように制御が行われるが、成功する場合と、失敗する場合と、現在は取得不可とする場合に3つに枝分かれするように処理される。なお、手順S302は、先の図5に示したメモリ取得のフローにおけるS101〜103に対応する処理である。もし、ビットマップデータ展開用のメモリブロックの取得が失敗する場合、ジョブをキャンセルし(S306)、処理を終了する。また、メモリブロックの取得結果が現在は取得不可であった場合は、ジョブを待機状態へ移行し(S303)、再開後に再度メモリブロックの取得を試みる。ここでメモリブロックの取得結果が"現在は取得不可"と判断される場合は、他のジョブが使用しているメモリブロックを空ければメモリ取得状態に持ち込むことができるが、優先度の関係で現在は割り込むことができない場合であり、例えば、共用メモリ403が例えば印刷ジョブに優先するスキャンジョブなどで大きく占有されている場合に、現在は取得不可としてメモリブロックが空くのを待つことを意味する。   In this step S302, control is performed so as to acquire a memory block for developing bitmap data, but processing is performed to branch into three when successful, when unsuccessful, and when currently unavailable. The The procedure S302 is a process corresponding to S101 to S103 in the memory acquisition flow shown in FIG. If acquisition of the memory block for developing bitmap data fails, the job is canceled (S306), and the process ends. If the acquisition result of the memory block cannot be acquired at present, the job is shifted to the standby state (S303), and the acquisition of the memory block is attempted again after the restart. If it is determined that the memory block acquisition result is "currently impossible to acquire", it is possible to bring it into the memory acquisition state if the memory block used by another job is free. For example, when the shared memory 403 is largely occupied by, for example, a scan job that has priority over a print job, it means that it is currently impossible to wait for a memory block to become free. .

ビットマップデータ展開用のメモリブロックを取得することが成功する場合、すなわち、他のジョブに占有されているメモリブロックがない場合や、他のジョブに占有されているメモリブロックがあってもそのジョブの優先度が低い場合や占有されていても空き容量が十分ある場合には、ビットマップデータ展開用のメモリブロックが取得され、その取得が済んだところで手順S304に進む。手順S304では印刷データからビットマップを展開する画像処理が行なわれ、続いてその展開されたビットマップのデータを印刷部に送信して、対応する画像の印刷を用紙上に行う(S305)。この画像の印刷が済んだところで、展開に供したところの共用メモリ403から取得したメモリブロックが印刷ジョブ用に確保されている状態から解放される(S307)。   If acquisition of a memory block for bitmap data development is successful, that is, if there is no memory block occupied by another job, or if there is a memory block occupied by another job If the priority is low or if there is sufficient free space even if it is occupied, a memory block for bitmap data expansion is acquired, and when the acquisition is completed, the process proceeds to step S304. In step S304, image processing for expanding the bitmap from the print data is performed, and then the expanded bitmap data is transmitted to the printing unit to print the corresponding image on the sheet (S305). When the printing of this image is completed, the memory block acquired from the shared memory 403 provided for development is released from the state reserved for the print job (S307).

以上の手順に示すように、印刷ジョブを開始する場合には、ビットマップデータを展開するためのメモリブロックの取得作業が進められるが、その場合には、実行中や待機中のジョブとの優先度についても判断が加えられ、特に印刷ジョブの場合には、空きのメモリ容量が大きい場合や、他のジョブに比べて優先度が低いことから他のジョブの待機状態などがない場合に、メモリブロックの取得が可能となる。   As shown in the above procedure, when starting a print job, the process of acquiring a memory block for developing bitmap data is advanced. In this case, priority is given to the job being executed or waiting. Judgment is also made on the print job, especially in the case of print jobs, when there is a large amount of free memory or when there is no other job waiting status because the priority is lower than other jobs. The block can be acquired.

次に、図8を参照しながら、本実施形態におけるスキャンジョブの動作について説明する。先ず、ユーザは操作パネル107を操作して、所定のスキャン指示を行い、その指示をCPU101乃至共用メモリ管理部402が受け取る(S401)。このとき操作パネル107からスキャンする画像のサイズと色数の指定も受け付ける。   Next, the operation of the scan job in this embodiment will be described with reference to FIG. First, the user operates the operation panel 107 to give a predetermined scan instruction, and the CPU 101 or the shared memory management unit 402 receives the instruction (S401). At this time, designation of the size and the number of colors of the image to be scanned is also accepted from the operation panel 107.

続いて、ジョブ管理部401は、共用メモリ管理部402に信号を送って共用メモリ403からスキャン画像記憶用のメモリブロックを取得するように動作する(S402)。この手順S402ではスキャン画像記憶用のメモリブロックを取得するように制御が行われるが、成功する場合と、失敗する場合と、現在は取得不可とする場合に3つに枝分かれするように処理される。なお、手順S402は、先の図5に示したメモリ取得のフローにおけるS101〜103に対応する処理である。もし、スキャン画像記憶用のメモリブロックの取得が失敗する場合、ジョブをキャンセルし(S406)、処理を終了する。また、メモリブロックの取得結果が現在は取得不可であった場合は、ジョブを待機状態へ移行し(S403)、再開後に再度メモリブロックの取得を試みる。   Subsequently, the job management unit 401 operates to send a signal to the shared memory management unit 402 to acquire a memory block for storing a scanned image from the shared memory 403 (S402). In this step S402, control is performed so as to acquire a memory block for storing a scanned image, but processing is performed so as to branch into three when succeeding, when failing, and when acquisition is currently impossible. . Step S402 is processing corresponding to S101 to S103 in the memory acquisition flow shown in FIG. If acquisition of the memory block for storing the scanned image fails, the job is canceled (S406), and the process ends. If the acquisition result of the memory block cannot be acquired at present, the job is shifted to a standby state (S403), and an attempt is made to acquire the memory block again after restarting.

手順S402でメモリブロックの取得結果が"現在は取得不可"と判断される場合は、他のジョブが使用しているメモリブロックを空ければメモリ取得状態に持ち込むことができるが、優先度の関係で現在は割り込むことができない場合であり、例えば、共用メモリ403が例えばスキャンジョブにさらに優先するジョブなどで大きく占有されている場合に、現在は取得不可としてメモリブロックが空くのを待つことを意味する。   If it is determined in step S402 that the memory block acquisition result is “currently impossible to acquire”, the memory block used by another job can be brought into the memory acquisition state if it is free. For example, when the shared memory 403 is largely occupied by, for example, a job that has a higher priority than the scan job, it means that the memory block cannot be acquired and waits for a free memory block. To do.

スキャン画像記憶用のメモリブロックを取得することが成功する場合、すなわち、他のジョブに占有されているメモリブロックがない場合や、他のジョブに占有されているメモリブロックがあってもそのジョブの優先度が低い場合や占有されていても空き容量が十分ある場合には、スキャン画像記憶用のメモリブロックが取得され、その取得が済んだところで手順S404に進む。手順S404ではスキャナに原稿を読み取らせ、取得したメモリブロック上に、スキャン画像データを記憶する処理が進められる。続いてその記憶されたスキャン画像データがインターフェース104からホストコンピュータ201〜203のいずれかへ送信される(S405)。このようなスキャン画像データの送信が済んだところで、スキャン画像データを一時的に記憶したメモリブロックがスキャンジョブ用に確保されている状態から解放される(S407)。   If acquisition of a memory block for storing scanned images is successful, that is, if there is no memory block occupied by another job, or if there is a memory block occupied by another job, If the priority is low or if there is sufficient free space even if the priority is occupied, a memory block for storing a scanned image is acquired, and when the acquisition is completed, the process proceeds to step S404. In step S404, the scanner reads the document, and the scan image data is stored on the acquired memory block. Subsequently, the stored scanned image data is transmitted from the interface 104 to any of the host computers 201 to 203 (S405). When the scan image data is transmitted, the memory block temporarily storing the scan image data is released from the state reserved for the scan job (S407).

上述の図7、図8のフローによれば、たとえばスキャンジョブの原稿サイズが小さく、スキャンジョブと印刷ジョブの実行に必要な共用メモリ403上のメモリサイズの合計が共用メモリ403のサイズより小さい場合は、印刷ジョブとスキャンジョブは並列に動作させることができる。ただし、メモリ容量の関係から、印刷ジョブとスキャンジョブは並列に動作できない場合もあり、その場合には、スキャンジョブには印刷ジョブより高い優先度が与えられているため、印刷ジョブに対するスキャンジョブの割り込みなどが実行可能となる。   According to the flow of FIG. 7 and FIG. 8 described above, for example, when the document size of the scan job is small and the total memory size on the shared memory 403 necessary for executing the scan job and the print job is smaller than the size of the shared memory 403 The print job and the scan job can be operated in parallel. However, because of the memory capacity, the print job and scan job may not operate in parallel. In this case, the scan job has a higher priority than the print job. Interrupts can be executed.

ここで本実施形態の複合機100のメモリ容量に関する仕様について例示すると、下記の表1のように表すことができる。   Here, the specification regarding the memory capacity of the multifunction peripheral 100 of the present embodiment can be expressed as shown in Table 1 below.

上記仕様の各数字、先の数1に当てはめると各ジョブが使用する画像用メモリの容量は以下のように計算される。具体的には、印刷ジョブ(A4カラー):66MB(=(210×39.37×10−3)×600×(297×39.37×10−3)×600×4/8×4)、スキャンジョブ(A4カラー):100MB、スキャンジョブ(A3カラー):199MBとなる。但し、1KB=1024byteで計算している。従って、RAM自体が256MBの場合、印刷ジョブが実行されていても取得されているメモリブロックは66MBに過ぎないため、A4カラーのスキャンジョブは問題なく進めることができ、A3カラーのスキャンジョブは従来の技術ではメモリ取得ができないという理由で進めることができないメモリ量である。本実施形態によれば、スキャンジョブと印刷ジョブが競合する場合、スキャンジョブに優先性が付与され、印刷ジョブを実行している間でも印刷ジョブのメモリブロックのデータを待避させてA3カラーのスキャンジョブを割り込ませることが可能である。 Applying each number in the above specification, the previous number 1, the capacity of the image memory used by each job is calculated as follows. Specifically, print job (A4 color): 66 MB (= (210 × 39.37 × 10 −3 ) × 600 × (297 × 39.37 × 10 −3 ) × 600 × 4/8 × 4), Scan job (A4 color): 100 MB, scan job (A3 color): 199 MB. However, it is calculated with 1 KB = 1024 bytes. Therefore, when the RAM itself is 256 MB, the acquired memory block is only 66 MB even if the print job is executed. Therefore, the A4 color scan job can proceed without any problem. This is the amount of memory that cannot be processed because the memory cannot be obtained with this technology. According to the present embodiment, when a scan job and a print job conflict, priority is given to the scan job, and data in the memory block of the print job is saved even during execution of the print job, and A3 color scanning is performed. It is possible to interrupt a job.

図9乃至図12は、本実施形態の複合機のそれぞれ共用メモリ403のメモリマップと対応する管理情報を示す図であり、図9は初期段階、図10は印刷ジョブが動作中の段階、図11は割り込み動作がなされた段階、図12はメモリのサイズが小さい割り込み動作の段階をそれぞれ示す。なお、参照符号501〜507は共用メモリ403上のメモリブロックであり、参照符号511〜517はメモリブロック501〜507に対応するメモリブロック情報である。待避ブロック情報522はメモリブロック502を待避したときの待避ブロック情報である。ジョブ情報552、554、556はジョブ管理部401が管理するジョブの情報である。   9 to 12 are diagrams showing management information corresponding to the memory map of each shared memory 403 of the multifunction peripheral according to the present embodiment. FIG. 9 is an initial stage, FIG. 10 is a stage in which a print job is operating, and FIG. 11 shows a stage where an interrupt operation is performed, and FIG. 12 shows an interrupt operation stage where the memory size is small. Reference numerals 501 to 507 are memory blocks on the shared memory 403, and reference numerals 511 to 517 are memory block information corresponding to the memory blocks 501 to 507. The save block information 522 is save block information when the memory block 502 is saved. Job information 552, 554, and 556 are job information managed by the job management unit 401.

以下に印刷ジョブ実行中に大容量のメモリを使うスキャンジョブを割り込ませた場合と小容量のメモリを使うスキャンジョブを割り込ませた場合の動作例を示す。まず、初期状態では、図9に示すように、共用メモリ403は0x00000000番地から0x0C800000番地までの200MB全て空き領域501とされている。またメモリブロック情報511には、先頭アドレスとして"0x00000000番地"が格納され、サイズとして200MBが格納され、取得したジョブの識別番号が"無し"、空き領域か否かについて"TRUE"と格納されている。初期段階ではジョブに対応していないので、取得したジョブ自体が不存在であり、空き領域か否かについて"TRUE"とは空き領域であることを示す。なお、この初期段階ではジョブ情報および待避ブロック情報は登録されていない。   The following are examples of operations when a scan job using a large memory is interrupted during execution of a print job and when a scan job using a small memory is interrupted. First, in the initial state, as shown in FIG. 9, the shared memory 403 is all 200 MB of free space 501 from address 0x00000000 to address 0x0C800000. The memory block information 511 stores “0x00000000” as the head address, 200 MB as the size, “None” for the acquired job identification number, and “TRUE” as to whether it is a free area. Yes. Since it does not correspond to a job in the initial stage, the acquired job itself does not exist and “TRUE” indicates whether it is a free area or not. In this initial stage, job information and save block information are not registered.

次に、印刷ジョブの実行命令が得られた場合については、初めに印刷ジョブ制御部407はホストコンピュータ201からA4カラーの印刷データを受信すると印刷ジョブ#1を開始する。この動作は図7の手順S301に対応し、以下の印刷ジョブの動作の各手順については図5乃至図8の各手順も参照するものとする。図10に示すように、ジョブ管理部401はこの印刷ジョブに対し識別番号"1"を割り当て、ジョブ種別として"印刷ジョブ"、状態として"動作中" をそれぞれジョブ情報552として登録する。   Next, when a print job execution command is obtained, first, the print job control unit 407 starts print job # 1 when receiving A4 color print data from the host computer 201. This operation corresponds to step S301 in FIG. 7, and for each procedure of the following print job operation, also refer to each procedure in FIGS. As shown in FIG. 10, the job management unit 401 assigns an identification number “1” to this print job, and registers “print job” as the job type and “active” as the status as job information 552.

印刷ジョブ制御部407は印刷ジョブ#1が使うビットマップ展開用のメモリを共用メモリ403から66MB取得するよう共用メモリ管理部402へ要求する(S302)。共用メモリ管理部402は空きメモリブロック501の容量200MBと要求された66MBを比較し(Sl01)、その比較結果に空き容量が十分にあるため、ここからメモリブロック502を取得して(S106)印刷ジョブ制御部407へ返す。このときの共用メモリ403の状態は図10のようになり、0x00000000番地から0x041FFFFF番地の印刷ジョブ#1のメモリブロック502に66MB、0x04200000番地から0x0C800000番地までの空き領域503に134MBが割り当てられている。   The print job control unit 407 requests the shared memory management unit 402 to acquire 66 MB of bitmap development memory used by the print job # 1 from the shared memory 403 (S302). The shared memory management unit 402 compares the capacity of 200 MB of the free memory block 501 with the requested 66 MB (S101), and since the comparison result has a sufficient free capacity, the memory block 502 is acquired from the comparison result (S106). It returns to the job control unit 407. The state of the shared memory 403 at this time is as shown in FIG. 10, and 66 MB is allocated to the memory block 502 of the print job # 1 from addresses 0x00000000 to 0x041FFFFF, and 134 MB is allocated to the free area 503 from addresses 0x04200000 to 0x0C800000. .

この図10の状態におけるメモリブロック情報については、印刷ジョブに対応するものとして、メモリブロック情報512が格納されており、その内容は先頭アドレスを"0x00000000"とし、サイズを66MBとし、取得したジョブの識別番号を"1"とし、空き領域についてのフラグを空きではないことを意味する"FALSE"とするものである。また、同時に空き領域に対するメモリブロック情報513も所定のデータからなり、先頭アドレスとして"0x04200000番地"が格納され、サイズとして134MBが格納され、取得したジョブの識別番号が"無し"、空き領域か否かについて"TRUE"と格納されている。このメモリブロック情報513に対応するジョブ情報は存在しない。   With respect to the memory block information in the state of FIG. 10, memory block information 512 is stored as corresponding to the print job, and the content is set to “0x00000000” at the top address, 66 MB, and the acquired job The identification number is set to “1”, and the flag for the free area is set to “FALSE” which means that it is not free. At the same time, the memory block information 513 for the free area also includes predetermined data, “0x04200000” is stored as the head address, 134 MB is stored as the size, the acquired job identification number is “None”, and whether or not it is a free area Is stored as "TRUE". There is no job information corresponding to the memory block information 513.

次に、印刷ジョブ制御部407は取得したメモリブロック502にビットマップを展開するS304)。ここで、印刷ジョブの実行中にスキャンジョブの割り込みが必要になった場合について説明すると、スキャンジョブ制御部411は操作パネル107から例えばA3カラーのスキャンデータをホストコンピュータ202へ送るよう指示を受けるとスキャンジョブ#2を起動する(S401)。ジョブ管理部401はこのスキャンジョブ#2に対し識別番号"2"を割り当て、ジョブ情報554を登録する。   Next, the print job control unit 407 develops a bitmap in the acquired memory block 502 (S304). Here, a case where a scan job interrupt is required during execution of a print job will be described. When the scan job control unit 411 receives an instruction from the operation panel 107 to send, for example, A3 color scan data to the host computer 202. Scan job # 2 is activated (S401). The job management unit 401 assigns an identification number “2” to this scan job # 2, and registers job information 554.

スキャンジョブ制御部411はA3カラースキャンに使うビットマップ展開用のメモリを共用メモリ403から199MB取得するよう共用メモリ管理部402へ要求する(S402)。このときメモリの容量はデータ量算出部414により算出する。共用メモリ403の空きメモリブロック503は134MBであるため、199MBには足りない(S101)。しかしながらスキャンジョブ#2より優先度の低い印刷ジョブ#1が使用するメモリブロック502を空ければ199MB取得可能である(S102、S103)ため、共用メモリ管理部402はジョブ管理部401へ印刷ジョブ#1を中断するよう指示する(Sl04)。印刷ジョブ制御部407は印刷ジョブ#1が処理を中断しメモリへのアクセスを止めたら共用メモリ管理部402へ通知する。共用メモリ管理部402は通知を受けると、メモリブロック502をデータごと待避するようデータ待避制御部405へ指示する。データ待避制御部405は印刷ジョブ#1が使用していたメモリブロック502の内容を全て待避メモリ404へ記憶し、このメモリブロックを空きメモリとして扱えるようにする(S105)。   The scan job control unit 411 requests the shared memory management unit 402 to acquire 199 MB of bitmap development memory used for the A3 color scan from the shared memory 403 (S402). At this time, the memory capacity is calculated by the data amount calculation unit 414. Since the free memory block 503 of the shared memory 403 is 134 MB, 199 MB is insufficient (S101). However, if the memory block 502 used by the print job # 1 having a lower priority than the scan job # 2 is available, 199 MB can be acquired (S102, S103), so the shared memory management unit 402 sends the print job # to the job management unit 401. 1 is instructed to be interrupted (S104). The print job control unit 407 notifies the shared memory management unit 402 when print job # 1 stops processing and stops accessing the memory. Upon receiving the notification, the shared memory management unit 402 instructs the data saving control unit 405 to save the memory block 502 together with the data. The data saving control unit 405 stores all the contents of the memory block 502 used by the print job # 1 in the saving memory 404 so that the memory block can be handled as an empty memory (S105).

共用メモリ管理部402はメモリブロック502と503を合わせた200MBのメモリブロックから199MBのメモリを取得する(S106)。このときの共用メモリ403の状態は図11のようになる。すなわち、共用メモリ403はA3スキャンジョブ#2に割り当てたメモリブロック504および空きメモリブロック505からなり、スキャンジョブ#2に割り当てたメモリブロック504は、0x00000000番地から0x0C6FFFFF番地のブロックであり、空き領域となったメモリブロック505は0x0C700000番地から0x0C800000番地までのブロックである。印刷ジョブ#1に対するジョブ情報552は状態が"動作中"から"待機中"に変化している。スキャンジョブ#2に対するジョブ情報554が追加され、その状態は"動作中"とされている。また、メモリブロック502を待避した情報として、待避ブロック情報522が新たに登録される。この待避ブロック情報522の内容は、ハードディスク108上の番地である待避メモリ404上の先頭アドレス(例えば、0x0000000)、サイズ、待避元のアドレス、取得したジョブの識別番号からなる。この図10では、印刷ジョブ#1を待避させていることから、サイズとしては66MB、ジョブの識別番号としては"1"が格納され、待避元のアドレス"0x0000000"が格納されている。ジョブの識別番号が格納されているため、その識別番号をキーとして待機中から動作中への再移行も容易に行うことができる。   The shared memory management unit 402 acquires 199 MB of memory from the 200 MB memory block including the memory blocks 502 and 503 (S106). The state of the shared memory 403 at this time is as shown in FIG. That is, the shared memory 403 includes a memory block 504 assigned to the A3 scan job # 2 and a free memory block 505. The memory block 504 assigned to the scan job # 2 is a block from addresses 0x00000000 to 0x0C6FFFFF, The memory block 505 thus obtained is a block from the address 0x0C70000000 to the address 0x0C800000. The job information 552 for the print job # 1 changes from “active” to “standby”. Job information 554 for scan job # 2 is added, and its state is set to “in operation”. Further, as the information for saving the memory block 502, the save block information 522 is newly registered. The contents of the save block information 522 include a head address (eg, 0x0000000) on the save memory 404, which is an address on the hard disk 108, a size, an address of the save source, and an identification number of the acquired job. In FIG. 10, since print job # 1 is saved, the size is 66 MB, the job identification number is “1”, and the save source address “0x0000000” is stored. Since the job identification number is stored, re-migration from standby to operation can be easily performed using the identification number as a key.

スキャナ106は画像を読み取り、スキャンジョブ制御部411は、その読み取ったデータに対応するデータを取得したメモリブロック504に記憶する(S404)ように制御する。次に。メモリブロック504上の画像データは例えばホストコンピュータ202へ送信され(S405)、スキャンジョブ#2に供したメモリブロック504は解放される(S407、S201)。このとき待機状態の印刷ジョブ#1があり(S202)、待避ブロック情報522から復元先の共有領域302を調べると、この印刷ジョブ#1が使用していたメモリ領域502が全て空き領域となったため(S203)、共用メモリ管理部402はデータ待避制御部405に指示し待避メモリ404から待避していたデータを復元する(S204)。復元完了後に共用メモリ管理部402はジョブ管理部401を通して印刷ジョブ管理部407へ印刷ジョブ#1の再開許可を出す(S205)。このときの共用メモリ403の状態は再び示す図10のように復元され、スキャナジョブ#2による印刷ジョブ#1への割り込み動作は終了して、再び印刷ジョブ#1が実行される状態に戻ることになる。   The scanner 106 reads an image, and the scan job control unit 411 controls to store data corresponding to the read data in the acquired memory block 504 (S404). next. The image data on the memory block 504 is transmitted to, for example, the host computer 202 (S405), and the memory block 504 provided for the scan job # 2 is released (S407, S201). At this time, there is a print job # 1 in a standby state (S202), and when the restoration shared area 302 is checked from the save block information 522, the memory area 502 used by the print job # 1 is all free. (S203), the shared memory management unit 402 instructs the data saving control unit 405 to restore the saved data from the saving memory 404 (S204). After the restoration is completed, the shared memory management unit 402 gives permission to resume the print job # 1 to the print job management unit 407 through the job management unit 401 (S205). The state of the shared memory 403 at this time is restored as shown in FIG. 10 again, and the interrupt operation for the print job # 1 by the scanner job # 2 is completed, and the state returns to the state in which the print job # 1 is executed again. become.

次に、図7及び図12を参照しながら、印刷ジョブ#1に占有されるメモリブロックが小さい容量で済むA4カラースキャンジョブ#3の割り込みが行われる場合について説明する。スキャンジョブ制御部411は操作パネル107からA4カラーのスキャンデータを例えばホストコンピュータ202へ送るよう指示を受けると、スキャンジョブ#3を起動する(S401)。スキャンジョブ制御部411はA4カラースキャンに使うビットマップ展開用のメモリを共用メモリ403から100MB取得しようとする(S402)。共用メモリ403の空きメモリブロック503は134MBであり、100MB以上であることからメモリ取得可能である(S101)。従って、100MBのメモリブロック506をA4カラースキャンジョブ#3用に取得して返す(Sl06)。メモリブロック情報517は、空き領域についてのデータであり、134MBから100MBを差し引いて34MBの空き領域のサイズがあることを示している。   Next, with reference to FIG. 7 and FIG. 12, a description will be given of a case where an interrupt of an A4 color scan job # 3 in which the memory block occupied by the print job # 1 requires a small capacity is performed. When the scan job control unit 411 receives an instruction from the operation panel 107 to send A4 color scan data to, for example, the host computer 202, the scan job control unit 411 starts scan job # 3 (S401). The scan job control unit 411 attempts to acquire 100 MB of bitmap development memory used for A4 color scan from the shared memory 403 (S402). Since the free memory block 503 of the shared memory 403 is 134 MB and is 100 MB or more, the memory can be acquired (S101). Accordingly, the 100 MB memory block 506 is acquired and returned for the A4 color scan job # 3 (S1006). The memory block information 517 is data about a free area, and indicates that there is a free area size of 34 MB by subtracting 100 MB from 134 MB.

このときの共用メモリ403の状態を図12に示す。印刷ジョブ#1についてのジョブ情報552が"動作中"であり、これにスキャンジョブ#3に対するジョブ情報556が追加されている。スキャンジョブ#3自体は100MBのサイズのメモリブロックを占有するのみであることから、200MBのRAMの最大空き容量がある場合に、印刷ジョブとは同時進行する形式で処理を進めることができる。よってジョブ情報552、556は共に"動作中"となる。スキャンジョブ制御部411はスキャナ106から画像を読み取り、取得したメモリブロック506に記憶し(S404)、メモリブロック506上の画像データをホストコンピュータ202へ送信し(S405)、送信の完了後にメモリブロック506を解放する(S407、S201)。印刷ジョブ制御部407はA4スキャンジョブと並行して、印刷データをメモリブロック502ヘビットマップとして展開し(S304)、メモリブロック502へ展開したビットマップを印刷部105へ入力して印刷し、印刷後にメモリブロック502を解放する。   The state of the shared memory 403 at this time is shown in FIG. The job information 552 for the print job # 1 is “in operation”, and job information 556 for the scan job # 3 is added thereto. Since scan job # 3 itself only occupies a 100 MB memory block, if there is a maximum free space of 200 MB of RAM, the process can proceed in a form that proceeds simultaneously with the print job. Therefore, the job information 552 and 556 are both “in operation”. The scan job control unit 411 reads an image from the scanner 106, stores it in the acquired memory block 506 (S404), transmits the image data on the memory block 506 to the host computer 202 (S405), and after the transmission is completed, the memory block 506. Is released (S407, S201). In parallel with the A4 scan job, the print job control unit 407 expands the print data to the memory block 502 as a bitmap (S304), inputs the bitmap expanded to the memory block 502 to the printing unit 105, and prints it. Later, the memory block 502 is released.

印刷ジョブ#1とスキャンジョブ#3のメモリ解放が行われると、共用メモリ403の状態は図9のようになり、200MBの空き領域がある全て空き状態に戻っている。このとき、ジョブ情報および待避ブロック情報は登録されていない状態に戻る。   When the memory of the print job # 1 and the scan job # 3 is released, the state of the shared memory 403 is as shown in FIG. 9, and all the 200 MB free areas are returned to the free state. At this time, the job information and the save block information are returned to the unregistered state.

以上のように第1の実施形態の複合機によれば、例えば印刷機能とスキャン機能という異なる機能でメモリを共有している場合でも、印刷機能使用中に、他の機能であるスキャン機能が動作できる。また、必要なメモリ量が小さい場合は複数の機能を同時に実行するため高い利用効率が得られ、必要なメモリ量が大きい場合は優先度の高いジョブにメモリを明け渡すため、割り込んだジョブでも多くのメモリを使用することができ、高い機能性が得られる。   As described above, according to the MFP of the first embodiment, even when the memory is shared by different functions such as the print function and the scan function, the scan function that is another function operates while the print function is used. it can. In addition, when the required amount of memory is small, multiple functions are executed simultaneously, so high usage efficiency is obtained. When the required amount of memory is large, memory is handed over to jobs with high priority, so many jobs that have interrupted Memory can be used and high functionality is obtained.

[第2の実施形態]
本実施形態の複合装置は、第1の実施形態の複合機と同様の構成を有する複合機の例であり、そのブロック構成は図1に示すものと同じである。本実施形態の複合機における機能ブロック図を図13に示す。第1の実施形態の複合機で説明したものと同じブロック部材については、同じ参照符号を用いて図面に表し、且つここでは簡単のため重複した説明は省略する。
[Second Embodiment]
The multifunction device of this embodiment is an example of a multifunction device having the same configuration as that of the multifunction device of the first embodiment, and the block configuration thereof is the same as that shown in FIG. FIG. 13 shows a functional block diagram of the multifunction machine of this embodiment. The same block members as those described in the multifunction machine of the first embodiment are indicated in the drawings using the same reference numerals, and redundant description is omitted here for simplicity.

ここで図3に示した第1の実施形態の複合機と異なる点について説明すると、図13に示すように、共用メモリ403からメモリブロックを取得し且つ解放するための共用メモリ管理部701は、取得領域決定部702からの不足した容量についての算出結果に基づいて作動するように構成されており、後述するように、メモリが不足した場合に、メモリブロックの取得に必要な領域だけデータ待避することを特徴としている。共用メモリ管理部701は、各メモリブロックに対しそれぞれメモリブロック情報を記憶する。メモリブロック情報は、先のメモリマップ内の共有領域の当該ブロックに対応した領域の先頭番地からなる先頭アドレスと、占有するサイズと、メモリブロックを取得したジョブの識別番号(空き領域ならば"無し")と、空き領域か否かのフラッグ情報とからなり、後述するようなメモリブロックの取得や解放動作の際に参照される。なお、初期状態では共用メモリは全て空き領域として割り当てられる。   Here, the difference from the MFP of the first embodiment shown in FIG. 3 will be described. As shown in FIG. 13, the shared memory management unit 701 for acquiring and releasing a memory block from the shared memory 403 includes: The system is configured to operate based on the calculation result of the insufficient capacity from the acquisition area determination unit 702. As described later, when the memory is insufficient, only the area necessary for acquisition of the memory block is saved. It is characterized by that. The shared memory management unit 701 stores memory block information for each memory block. The memory block information includes the start address consisting of the start address of the area corresponding to the block in the shared area in the previous memory map, the occupied size, and the identification number of the job that acquired the memory block ("None if free area" ") And flag information indicating whether or not the area is a free area, and is referred to when a memory block is acquired or released as described later. In the initial state, the shared memory is all allocated as a free area.

共用メモリ管理部701は、第1の実施形態における共用メモリ管理部402とはメモリブロック取得時の動作が異なり、特にメモリが不足した場合に、メモリブロック取得に必要な領域だけデータ待避する。取得領域決定部702はメモリブロックを取得する際に、不足となる容量を算出し、共有メモリ403上のどの領域を割り当てるかを決定する。取得領域決定部702は、データ待避を必要とする領域がなるべく小さくなるように取得される領域を決定する。共用メモリ403からのメモリブロックの取得については詳細に後述する。   The shared memory management unit 701 is different from the shared memory management unit 402 in the first embodiment in the operation at the time of acquiring a memory block, and saves data only in an area necessary for acquiring the memory block, particularly when the memory is insufficient. The acquisition area determination unit 702 calculates an insufficient capacity when acquiring a memory block, and determines which area on the shared memory 403 is to be allocated. The acquisition area determination unit 702 determines an area to be acquired so that an area requiring data saving becomes as small as possible. The acquisition of the memory block from the shared memory 403 will be described later in detail.

図14は本実施形態における共用メモリ403のメモリブロックを取得する際のフローである。図5に先に説明した第1の実施形態の共用メモリ403のメモリブロックを取得する際のフローと比較して説明すると、図5における手順S104と手順S105の代わりに新たな手順S501、S502、S503が実行される流れになっており、これら手順S501〜S503によって、データ待避を必要とする領域がなるべく小さくなるように制御される。なお、S101〜S103、S106〜S108は図5とのものと同様であり、簡単のため重複する説明を省略する。   FIG. 14 is a flow when acquiring a memory block of the shared memory 403 in the present embodiment. Compared to the flow for acquiring the memory block of the shared memory 403 of the first embodiment described above with reference to FIG. 5, new procedures S501, S502, and S102, instead of the procedures S104 and S105 in FIG. S503 is executed, and by these steps S501 to S503, control is performed so that the area requiring data saving becomes as small as possible. Note that S101 to S103 and S106 to S108 are the same as those in FIG. 5, and a duplicate description is omitted for simplicity.

手順S501〜S503に至る前段階として、手順S103では、共用メモリ管理部402はメモリ取得を要求したジョブより優先度の低いジョブが取得したメモリブロックを仮に空き領域と見なした場合に、要求されたサイズのメモリブロックが取得可能であるか否かを判定するが、手順S103で要求されたサイズのメモリブロックを取得可能と判定する場合(Yes)には、手順S501に進む。   As a step before steps S501 to S503, in step S103, the shared memory management unit 402 is requested when a memory block acquired by a job having a lower priority than a job requesting memory acquisition is regarded as a free area. However, if it is determined that the memory block having the size requested in step S103 can be acquired (Yes), the process proceeds to step S501.

手順S501においては、共用メモリ管理部701は取得領域決定部702にメモリブロックとして割り当てるべき領域を問い合わせる。取得領域決定部702は共有メモリ403の各メモリブロックの境界を上端または下端としたメモリブロックを仮定し、仮定したメモリブロックの内、割り当て可能で、空き領域の容量が最も大きなブロックを返す。空き領域の容量が最も大きな単独のブロックを返しただけでは、メモリ容量が不足する場合もあり、その場合には条件を満たす最小限のメモリブロックを複数個待避処理させるように制御することも可能である。もし同じ条件の領域が複数あった場合は、より先頭アドレスの小さい領域を返す。   In step S501, the shared memory management unit 701 inquires the acquisition area determination unit 702 about an area to be allocated as a memory block. The acquisition area determination unit 702 assumes a memory block whose boundary is the upper or lower end of each memory block of the shared memory 403, and returns a block that can be allocated and has the largest free area capacity among the assumed memory blocks. In some cases, the memory capacity may be insufficient if only the single block with the largest free space is returned. In such a case, it is possible to control multiple minimum memory blocks that satisfy the conditions. It is. If there are multiple areas with the same condition, the area with the smaller start address is returned.

次に手順S502では共用メモリ管理部701はS501で決定した割り当て予定の領域を使用するジョブに対して中断指示を出す。この中断指令の後、手順S503では共用メモリ管理部702はジョブの中断が完了すると、そのジョブが使用していたメモリブロックの内、割り当て予定の領域と重複する部分のデータを待避するようデータ待避制御部405に指示し、データ待避制御部405からの指示に従って共用メモリ403から待避メモリ404にデータを待避する。なお、メモリブロックの解放(図6)およびジョブのフロー(図7、図8)は第1の実施形態と同じであるため、重複する説明を省略する。   In step S502, the shared memory management unit 701 issues an interruption instruction to a job that uses the area to be allocated determined in step S501. After the suspension instruction, in step S503, when the shared memory management unit 702 completes the suspension of the job, the shared memory management unit 702 saves data so as to save the portion of the memory block used by the job that overlaps the area to be allocated. The control unit 405 is instructed, and data is saved from the shared memory 403 to the save memory 404 in accordance with an instruction from the data saving control unit 405. Note that the release of the memory block (FIG. 6) and the job flow (FIGS. 7 and 8) are the same as those in the first embodiment, and therefore redundant description is omitted.

次に、図15乃至図18を参照して、本実施形態の複合機の動作について説明する。図15乃至図18は、本実施形態の複合機のそれぞれ共用メモリ403のメモリマップと対応する管理情報を示す図であり、図15は初期段階、図16は印刷ジョブが動作中の段階、図17は印刷ジョブの追加動作がなされた段階、図18は印刷ジョブの1つが停止とされスキャンジョブが割り込んだ段階をそれぞれ示す。なお、参照符号801〜806は共用メモリ403上のメモリブロックであり、参照符号811〜816はメモリブロック801〜806に対応するメモリブロック情報である。待避ブロック情報824はメモリブロック804の一部を待避したときの待避ブロック情報である。ジョブ情報852、854、856はジョブ管理部401が管理するジョブの情報である。   Next, the operation of the multifunction peripheral of this embodiment will be described with reference to FIGS. 15 to 18. 15 to 18 are diagrams showing management information corresponding to the memory map of each shared memory 403 of the multifunction peripheral according to the present embodiment. FIG. 15 is an initial stage, FIG. 16 is a stage in which a print job is operating, and FIG. Reference numeral 17 denotes a stage where a print job addition operation is performed, and FIG. 18 shows a stage where one of the print jobs is stopped and the scan job is interrupted. Reference numerals 801 to 806 are memory blocks on the shared memory 403, and reference numerals 811 to 816 are memory block information corresponding to the memory blocks 801 to 806. The save block information 824 is save block information when a part of the memory block 804 is saved. Job information 852, 854, and 856 are job information managed by the job management unit 401.

以下、印刷ジョブ実行中にスキャンジョブを割り込ませた場合の動作例を説明する。図15に示すように、初期状態では、共用メモリ403は0x00000000番地から0x0C800000番地までの200MB全て空き領域801とされている。またメモリブロック情報811には、先頭アドレスとして"0x00000000番地"が格納され、サイズとして200MBが格納され、取得したジョブの識別番号が"無し"、空き領域か否かについて"TRUE"と格納されている。初期段階ではジョブに対応していないので、取得したジョブ自体が不存在であり、空き領域か否かについて"TRUE"とは空き領域であることを示す。なお、この初期状態においては、ジョブ情報および待避ブロック情報は登録されていない。   Hereinafter, an example of operation when a scan job is interrupted during execution of a print job will be described. As shown in FIG. 15, in the initial state, the shared memory 403 is an empty area 801 in which all 200 MB from address 0x00000000 to address 0x0C800000 is stored. The memory block information 811 stores “0x00000000” as the head address, 200 MB as the size, “None” for the acquired job identification number, and “TRUE” as to whether it is a free area. Yes. Since it does not correspond to a job in the initial stage, the acquired job itself does not exist and “TRUE” indicates whether it is a free area or not. In this initial state, job information and save block information are not registered.

次に、印刷ジョブ制御部407はホストコンピュータ201からA4カラーの印刷データを受信して印刷ジョブ#1を開始するものとする(S301)。ジョブ管理部401はこの印刷ジョブに対し識別番号"1"を割り当て、ジョブ情報852を登録する。印刷ジョブ制御部407は印刷ジョブ#1が使うビットマップ展開用のメモリを共用メモリ403から66MB取得するよう共用メモリ管理部701へ要求する(S302)。この要求に応じて、共用メモリ管理部701は空きメモリブロック801の容量200MBと要求された66MBを比較し(S101)、その比較結果より空き容量が十分にあるため、ここからメモリブロック802を取得し(Sl06)、その旨を印刷ジョブ制御部407へ返す。このときの共用メモリ403の状態は図16のように示され、印刷ジョブ#1のメモリブロック802に66MB、空き領域803に134MB割り当てられている。続いて、印刷ジョブ制御部407は取得したメモリブロック802にビットマップを展開する(S304)。印刷ジョブ制御部407はメモリブロック802へ展開したビットマップを印刷部105へ入力して印刷を開始する(S305)。   Next, the print job control unit 407 receives A4 color print data from the host computer 201 and starts the print job # 1 (S301). The job management unit 401 assigns an identification number “1” to the print job and registers job information 852. The print job control unit 407 requests the shared memory management unit 701 to obtain 66 MB of bitmap development memory used by the print job # 1 from the shared memory 403 (S302). In response to this request, the shared memory management unit 701 compares the capacity of 200 MB of the free memory block 801 with the requested 66 MB (S101), and obtains the memory block 802 from the comparison result because there is sufficient free capacity. (Sl06), a message to that effect is returned to the print job control unit 407. The state of the shared memory 403 at this time is shown in FIG. 16, and 66 MB is allocated to the memory block 802 of the print job # 1 and 134 MB is allocated to the free area 803. Subsequently, the print job control unit 407 develops a bitmap in the acquired memory block 802 (S304). The print job control unit 407 inputs the bitmap developed in the memory block 802 to the printing unit 105 and starts printing (S305).

図16の状態におけるメモリブロック情報については、印刷ジョブに対応するものとして、メモリブロック情報812が格納されており、その内容は先頭アドレスを"0x00000000"とし、サイズを66MBとし、取得したジョブの識別番号を"1"とし、空き領域についてのフラグを空きではないことを意味する"FALSE"とするものである。また、同時に空き領域に対するメモリブロック情報813も所定のデータからなり、先頭アドレスとして"0x04200000番地"が格納され、サイズとして134MBが格納され、取得したジョブの識別番号が"無し"、空き領域か否かについて"TRUE"と格納されている。このメモリブロック情報813に対応するジョブ情報は存在しない。   With respect to the memory block information in the state of FIG. 16, memory block information 812 is stored as corresponding to the print job, the content is set to “0x00000000” at the top address, 66 MB, and identification of the acquired job The number is set to “1”, and the flag for the empty area is set to “FALSE” which means that the number is not empty. At the same time, the memory block information 813 for the free area also includes predetermined data, “0x04200000” is stored as the head address, 134 MB is stored as the size, the acquired job identification number is “None”, and whether or not the free area is empty. Is stored as "TRUE". There is no job information corresponding to the memory block information 813.

次に、1つの印刷ジョブを実行中に、他の印刷ジョブが割り込んだものとする。詳しくは、印刷ジョブ制御部407はホストコンピュータ201からA4カラーの印刷データを受信すると印刷ジョブ#2を開始する(S301)。ジョブ管理部401はこの印刷ジョブに対し識別番号"2"を割り当て、印刷ジョブを内容とするジョブ情報854を登録する。   Next, it is assumed that another print job interrupts during execution of one print job. Specifically, when receiving the A4 color print data from the host computer 201, the print job control unit 407 starts the print job # 2 (S301). The job management unit 401 assigns an identification number “2” to this print job and registers job information 854 containing the print job.

印刷ジョブ制御部407は印刷ジョブ#1が使うビットマップ展開用のメモリを共用メモリ403から66MB取得するよう共用メモリ管理部701へ要求する(S302)。共用メモリ管理部701は空きメモリブロック803の容量134MBと要求された66MBを比較し(S101)、その比較した結果、空き容量が十分にあるためここからメモリブロック804を取得して(S106)、印刷ジョブ制御部407へ返す。このときの共用メモリ403の状態は図17に示す状態となる。印刷ジョブ#1のメモリブロック802に66MB、印刷ジョブ#2のメモリブロック804に66MB、空き領域805に68MB割り当てられている。   The print job control unit 407 requests the shared memory management unit 701 to obtain 66 MB of bitmap development memory used by the print job # 1 from the shared memory 403 (S302). The shared memory management unit 701 compares the capacity of 134 MB of the free memory block 803 with the requested 66 MB (S101), and as a result of the comparison, there is sufficient free capacity, so the memory block 804 is acquired from here (S106), It returns to the print job control unit 407. The state of the shared memory 403 at this time is as shown in FIG. 66 MB is allocated to the memory block 802 of the print job # 1, 66 MB is allocated to the memory block 804 of the print job # 2, and 68 MB is allocated to the free area 805.

印刷ジョブ制御部407は新たに印刷ジョブ#2のために取得したメモリブロック804にビットマップを展開する(S304)。印刷ジョブ制御部407はメモリブロック802へ展開したビットマップを印刷部105へ入力して印刷を開始する(S305)。また、印刷ジョブ制御部407はメモリブロック804へ展開したビットマップを印刷部105へ入力して印刷を開始する(S305)。   The print job control unit 407 expands the bitmap in the memory block 804 newly acquired for the print job # 2 (S304). The print job control unit 407 inputs the bitmap developed in the memory block 802 to the printing unit 105 and starts printing (S305). Further, the print job control unit 407 inputs the bitmap developed in the memory block 804 to the printing unit 105 and starts printing (S305).

続いて、このように印刷ジョブ#1、#2が並列して実行されている状態で、さらにスキャンジョブの割り込みが行われるものとする。このスキャンジョブの割り込みに際しては、スキャンジョブ制御部411は操作パネル107からA4カラーのスキャンデータをホストコンピュータ202へ送るよう指示を受けるとスキャンジョブ#3を起動する(S401)。ジョブ管理部401はこの印刷ジョブに対し識別番号"3"を割り当て、ジョブ情報856を登録する。   Subsequently, it is assumed that the scan job is further interrupted in a state where the print jobs # 1 and # 2 are executed in parallel as described above. When the scan job is interrupted, the scan job control unit 411 starts scan job # 3 upon receiving an instruction from the operation panel 107 to send A4 color scan data to the host computer 202 (S401). The job management unit 401 assigns an identification number “3” to this print job and registers job information 856.

スキャンジョブ制御部411はA4カラースキャンに使うビットマップ展開用のメモリを共用メモリ403から100MB取得するため共用メモリ管理部701へ要求する(S402)。このときメモリの容量は取得領域決定部702により算出する。共用メモリ403の空きメモリブロック805は68MBであるため100MBには足りない(S101)。しかしスキャンジョブ#3より優先度の低い印刷ジョブ#1が使用するメモリブロック802および印刷ジョブ#2が使用するメモリブロック804を空ければ100MB取得可能である(S102、S103)。このため、共用メモリ管理部701は取得する領域を決定するよう取得領域判定部702に要求する。取得領域判定部702は図17の状態にある共有メモリ403の各メモリブロック802、804、805の境界を上端または下端としたメモリブロックを仮定する。仮定した領域は図19に示す領域901〜908のようになり、このうち取得可能なブロックは領域901、902、907、908である。取得領域判定部702が取得可能と判断する領域のうち最も空き領域の割合が大きい領域は領域908であるため、ここでは領域908を取得する領域として返す(S501)。すなわち、領域908は空きメモリブロック805の全部を収容するような領域であり、最も空き領域の割合が大きい領域となる。   The scan job control unit 411 requests the shared memory management unit 701 to acquire 100 MB of the bitmap development memory used for the A4 color scan from the shared memory 403 (S402). At this time, the memory capacity is calculated by the acquisition area determination unit 702. Since the free memory block 805 of the shared memory 403 is 68 MB, it is insufficient for 100 MB (S101). However, if the memory block 802 used by the print job # 1 having a lower priority than the scan job # 3 and the memory block 804 used by the print job # 2 are empty, 100 MB can be acquired (S102, S103). Therefore, the shared memory management unit 701 requests the acquisition area determination unit 702 to determine the area to be acquired. The acquisition area determination unit 702 assumes a memory block having the boundary between the memory blocks 802, 804, and 805 of the shared memory 403 in the state of FIG. The assumed areas are areas 901 to 908 shown in FIG. 19, and the blocks that can be acquired are areas 901, 902, 907, and 908. Of the areas that the acquisition area determination unit 702 determines to be able to acquire, the area with the largest percentage of the free area is the area 908, so the area 908 is returned here as the area to be acquired (S501). That is, the area 908 is an area that accommodates the entire empty memory block 805, and has the largest percentage of the empty area.

共用メモリ管理部701は、取得する領域908の一部を使用している印刷ジョブ#2の処理を中断するようジョブ管理部401へ指示する(S502)。印刷ジョブ102の処理が中断した後、取得予定領域908と重複するメモリブロック804の後半部分32MBを待避メモリ404に待避するようデータ待避制御部405に指示し、データを待避メモリ404に待避する(S503)。共用メモリ管理部701はデータ待避によりメモリブロック804から削った領域(32MB)と空き領域805を合わせてメモリブロック806を取得しスキャンジョブ制御部411へ返す(S106)。   The shared memory management unit 701 instructs the job management unit 401 to interrupt the processing of the print job # 2 that uses a part of the area 908 to be acquired (S502). After the processing of the print job 102 is interrupted, the data save control unit 405 is instructed to save the second half 32 MB of the memory block 804 overlapping the acquisition scheduled area 908 in the save memory 404, and the data is saved in the save memory 404 ( S503). The shared memory management unit 701 acquires the memory block 806 by combining the area (32 MB) removed from the memory block 804 due to data saving and the free area 805, and returns it to the scan job control unit 411 (S106).

このときの共用メモリ403の状態は図18に示す状態となる。印刷ジョブ#1のメモリブロック802に66MB、印刷ジョブ#2のメモリブロック804に34MB、その印刷ジョブ#2のメモリブロック804であった32MBと空き領域805であった68MBが合わせて新たにスキャンジョブ#3のメモリブロック806に68MB割り当てられている。印刷ジョブ#2に対するジョブ情報854は「状態」が停止中に変化している。スキャンジョブ#3に対するジョブ情報856が追加されている。また、メモリブロック804の一部を待避した情報として、その32MB分の待避ブロック情報824が登録されている。待避元のアドレスは0x06400000番地であり、元の印刷ジョブ#2のメモリブロック804の途中の番地である。スキャンジョブ制御部411はスキャナ106から画像を読み取り、取得したメモリブロック806に記憶し(S404)、メモリブロック806上の画像データをホストコンピュータ202へ送信し(S405)。   The state of the shared memory 403 at this time is as shown in FIG. 66 MB in the memory block 802 of the print job # 1, 34 MB in the memory block 804 of the print job # 2, 32 MB that is the memory block 804 of the print job # 2, and 68 MB that is the free area 805 are newly added to the scan job. 68 MB is allocated to the memory block 806 of # 3. The job information 854 for the print job # 2 changes while the “status” is stopped. Job information 856 for scan job # 3 is added. Further, as the information for saving a part of the memory block 804, the saved block information 824 for 32 MB is registered. The address of the saving source is address 0x06400000, which is an address in the middle of the memory block 804 of the original print job # 2. The scan job control unit 411 reads an image from the scanner 106, stores it in the acquired memory block 806 (S404), and transmits the image data on the memory block 806 to the host computer 202 (S405).

メモリブロック806上の画像データをホストコンピュータ202へ送信した後、メモリブロック806を解放する(S407、S201)。このとき待機状態の印刷ジョブ#2があり(S202)、待避ブロック情報824から復元先の共有メモリ403を調べると、この印刷ジョブが使用していたメモリ領域504が全て復元可能となったため(S203)、共用メモリ管理部70lはデータ待避制御部405に指示し、待避メモリ404から待避していたデータを復元する(S204)。復元完了後に共用メモリ管理部701はジョブ管理部401を通して印刷ジョブ管理部407へ印刷ジョブ#2の再開許可を出す(S205)。このときの共用メモリ403の状態は印刷ジョブ#1と印刷ジョブ#2が並列に実行されている図17のように復元される。   After the image data on the memory block 806 is transmitted to the host computer 202, the memory block 806 is released (S407, S201). At this time, there is a print job # 2 in a standby state (S202), and when the restore destination shared memory 403 is checked from the save block information 824, all the memory area 504 used by this print job can be restored (S203). ), The shared memory management unit 701 instructs the data save control unit 405 to restore the saved data from the save memory 404 (S204). After the restoration is completed, the shared memory management unit 701 gives permission to resume the print job # 2 to the print job management unit 407 through the job management unit 401 (S205). The state of the shared memory 403 at this time is restored as shown in FIG. 17 in which the print job # 1 and the print job # 2 are executed in parallel.

印刷ジョブ制御部407はメモリブロック802へ展開したビットマップの印刷が終了したらメモリブロック802を解放する(S307)。また、印刷ジョブ制御部407はメモリブロック804へ展開したビットマップの印刷が終了したらメモリブロック804を解放する(S307)。このように両方のメモリブロック802、804が解放された場合には、共用メモリ403の状態は図15のようになり、全て空き状態に戻ることになる。   The print job control unit 407 releases the memory block 802 when printing of the bitmap developed in the memory block 802 is completed (S307). The print job control unit 407 releases the memory block 804 when printing of the bitmap developed in the memory block 804 is completed (S307). When both the memory blocks 802 and 804 are released in this way, the state of the shared memory 403 is as shown in FIG. 15, and all return to the empty state.

以上のように、第2の実施形態によれば、重複した部分のデータのみを待避することができ、例えば待避されるデータ量は最小限で済むことになるため、データの待避及び復元にかかる時間が短くなるという効果が得られる。また、第1の実施形態と同様に、例えば印刷機能とスキャン機能という異なる機能でメモリを共有している場合でも、印刷機能使用中に、他の機能であるスキャン機能が動作できる。また、必要なメモリ量が小さい場合は複数の機能を同時に実行するため高い利用効率が得られ、必要なメモリ量が大きい場合は優先度の高いジョブにメモリを明け渡すため、割り込んだジョブでも多くのメモリを使用することができ、高い機能性が得られることになる。   As described above, according to the second embodiment, only the overlapped data can be saved, and for example, the amount of data to be saved can be minimized. The effect that time is shortened is acquired. Similarly to the first embodiment, even when the memory is shared by different functions such as a print function and a scan function, for example, the scan function that is another function can be operated while using the print function. In addition, when the required amount of memory is small, multiple functions are executed simultaneously, so high usage efficiency is obtained. When the required amount of memory is large, memory is handed over to jobs with high priority, so many jobs that have interrupted Memory can be used and high functionality can be obtained.

第1の実施形態では、ジョブの優先度をジョブの種類に応じて決定し、スキャンジョブが印刷ジョブより優先度が高いとしたが、逆の優先度またはユーザにより指定された優先度を用いても良い。また、上述の各実施形態で説明した機能部の動作を、印刷動作とスキャン動作を主に説明したが、他の画像処理や複写、ファクシミリ、ネットワーキングについての情報処理などの他の機能についても同様な割り込み処理や待避処理を図るように構成することもできる。   In the first embodiment, the priority of the job is determined according to the type of job, and the scan job has a higher priority than the print job. However, the reverse priority or the priority specified by the user is used. Also good. In addition, although the operation of the functional unit described in each of the above-described embodiments has been mainly described with respect to the printing operation and the scanning operation, the same applies to other functions such as information processing for other image processing, copying, facsimile, and networking. It is also possible to configure so as to perform an interrupt process and a save process.

本発明の第1の実施形態にかかる複合機の一例を示す構成図である。1 is a configuration diagram illustrating an example of a multifunction peripheral according to a first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機のRAM内のメモリマップである。3 is a memory map in the RAM of the multifunction machine according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機の機能ブロック図である。1 is a functional block diagram of a multifunction machine according to a first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機のスキャン動作の設定画面を示す図である。FIG. 3 is a diagram illustrating a setting screen for a scan operation of the multifunction peripheral according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機のメモリ取得動作のフローチャートである。3 is a flowchart of a memory acquisition operation of the multifunction machine according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機のメモリ解放動作のフローチャートである。3 is a flowchart of a memory releasing operation of the multifunction machine according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機の印刷ジョブの実行動作のフローチャートである。6 is a flowchart of an execution operation of a print job of the multifunction peripheral according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機のスキャンジョブの実行動作のフローチャートである。6 is a flowchart of a scan job execution operation of the multifunction peripheral according to the first embodiment of the present invention. 本発明の第1の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、初期状態を示す図である。It is a figure about the memory map and related information of the shared memory of the multifunction peripheral according to the first embodiment of the present invention, and shows an initial state. 本発明の第1の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、印刷ジョブを実行する状態を示す図である。FIG. 5 is a diagram showing a memory map of a shared memory and related information of the multifunction peripheral according to the first embodiment of the present invention, and shows a state in which a print job is executed. 本発明の第1の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、印刷ジョブにスキャンジョブを割り込ませた状態を示す図である。FIG. 6 is a diagram showing a memory map of a shared memory and related information of the multifunction peripheral according to the first embodiment of the present invention, and is a diagram showing a state in which a scan job is interrupted by a print job. 本発明の第1の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、印刷ジョブと小容量のスキャンジョブを同時に実行させる状態を示す図である。2 is a diagram showing a memory map of a shared memory and related information of the multifunction peripheral according to the first embodiment of the present invention, and shows a state in which a print job and a small-capacity scan job are executed simultaneously. FIG. 本発明の第2の実施形態にかかる複合機の機能ブロック図である。FIG. 6 is a functional block diagram of a multifunction machine according to a second embodiment of the present invention. 本発明の第2の実施形態にかかる複合機のメモリ取得動作のフローチャートである。10 is a flowchart of a memory acquisition operation of the multifunction machine according to the second embodiment of the present invention. 本発明の第2の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、初期状態を示す図である。It is a figure about the memory map and related information of the shared memory of the multi-function peripheral according to the second embodiment of the present invention, and shows the initial state. 本発明の第2の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、印刷ジョブを実行する状態を示す図である。It is a figure about the memory map and related information of the shared memory of the multi-function peripheral according to the second embodiment of the present invention, and shows a state in which a print job is executed. 本発明の第2の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、2つの印刷ジョブと同時に実行する状態を示す図である。It is a figure about the memory map and related information of the shared memory of the multifunction peripheral concerning the 2nd Embodiment of this invention, and is a figure which shows the state performed simultaneously with two print jobs. 本発明の第2の実施形態にかかる複合機の共用メモリのメモリマップと関連情報についての図であり、2つの印刷ジョブとスキャンジョブを割り込ませて実行させる状態を示す図である。It is a figure about the memory map and related information of the shared memory of the multi-function peripheral according to the second embodiment of the present invention, and shows a state in which two print jobs and a scan job are interrupted and executed. 本発明の第2の実施形態にかかる複合機の共用メモリのメモリマップと取得領域判定部が取得可能と判断する領域を示す模式図である。It is a schematic diagram which shows the area | region which the memory map of the shared memory of the multifunctional machine concerning the 2nd Embodiment of this invention and an acquisition area determination part judge that it can acquire.

符号の説明Explanation of symbols

100 複合機
101 CPU
102 RAM
103 ROM
104 インターフェイス
105 印刷部
106 スキャナ
107 操作パネル
108 ハードディスク
201〜203 ホストコンピュータ
301 システム領域
302 共用領域
303 固定サイズ領域
401 ジョブ管理部
402 共用メモリ管理部
403 共用メモリ
404 待避メモリ
405 データ待避制御部
406 印刷データ入力部
407 印刷ジョブ制御部
408 印刷データ展開部
409 印刷制御部
410 設定入力部
411 スキャンジョブ制御部
412 スキャン部
413 スキャンデータ出力部
414 データ量算出部
501〜507 メモリブロック
511〜517 メモリブロック情報
522 待避ブロック情報
552、554、556 ジョブ情報
600 スキャン設定画面
601〜604 サイズ・色選択ボタン
605 送信先指定枠
606 スキャン開始指示ボタン
701 共用メモリ管理部
702 取得領域決定部
801〜806 メモリブロック
811〜816 メモリブロック情報
824 待避ブロック情報
552、554、556 ジョブ情報
901〜909 領域
100 MFP 101 CPU
102 RAM
103 ROM
104 Interface 105 Printing Unit 106 Scanner 107 Operation Panel 108 Hard Disk 201-203 Host Computer 301 System Area 302 Shared Area 303 Fixed Size Area 401 Job Manager 402 Shared Memory Manager 403 Shared Memory 404 Save Memory 405 Data Save Controller 406 Print Data Input unit 407 Print job control unit 408 Print data development unit 409 Print control unit 410 Setting input unit 411 Scan job control unit 412 Scan unit 413 Scan data output unit 414 Data amount calculation units 501 to 507 Memory blocks 511 to 517 Memory block information 522 Save block information 552, 554, 556 Job information 600 Scan setting screens 601 to 604 Size / color selection button 605 Destination designation frame 606 Start command button 701 Shared memory management unit 702 Acquisition area determination unit 801 to 806 Memory block 811 to 816 Memory block information 824 Save block information 552, 554, 556 Job information 901 to 909 area

Claims (6)

第1の画像処理を行う第1の機能部と、前記第1の画像処理とは種類の異なる第2の画像処理を行う第2の機能部とを備え、処理中の前記第1の画像処理に先んじて前記第2の画像処理を割り込み処理させる複合装置において、
処理中の前記第1の画像処理で使用されるデータを記憶する第1の記憶部と、
前記第1の記憶部に記憶されたデータを待避させるための第2の記憶部と、
前記第1の記憶部の空き容量を算出する算出部と、
前記算出部で算出された前記空き容量と、割り込み処理される前記第2の画像処理が前記第1の記憶部で必要とするデータ量とを比較する比較部と、
を備え、
前記第2の画像処理の優先度が前記第1の画像処理の優先度よりも高い場合において、処理中の前記第1の画像処理に先んじて前記第2の画像処理を割り込み処理させる場合に、前記比較部が、前記空き容量が前記第2の画像処理に必要とされるデータ量未満であると判断したときには、前記第1の記憶部に記憶されたデータを前記第2の記憶部に待避させて前記第2の画像処理の割り込み処理を行い、前記空き容量が前記第2の画像処理に必要とされるデータ量以上であると判断したときには、前記第1の記憶部に記憶されたデータを前記第2の記憶部に待避させることなく、前記第1の画像処理と前記第2の画像処理とを並列に処理することを特徴とする複合装置。
A first functional unit for performing a first image processing, said a second functional unit performing different second image processing to the first image processing, the first image processing being processed In a composite apparatus that interrupts the second image processing prior to
A first storage unit for storing data used in the first image processing being processed;
A second storage unit for saving data stored in the first storage unit;
A calculation unit for calculating a free capacity of the first storage unit;
A comparison unit that compares the free space calculated by the calculation unit with the amount of data required for the second storage to be interrupted by the first storage unit;
With
When the priority of the second image processing is higher than the priority of the first image processing, when the second image processing is interrupted prior to the first image processing being processed, When the comparison unit determines that the free space is less than the amount of data required for the second image processing, the data stored in the first storage unit is saved in the second storage unit. If the second image processing interrupt processing is performed and it is determined that the free space is greater than or equal to the amount of data required for the second image processing, the data stored in the first storage unit The composite apparatus is characterized in that the first image processing and the second image processing are processed in parallel without causing the second storage section to save .
前記第1の記憶部に記憶されたデータを前記第2の記憶部に待避させて前記第2の画像処理の割り込み処理を行う際に、前記第2の記憶部に待避されるデータは前記第2の画像処理の割り込み処理に必要なデータサイズ分に限り待避させられることを特徴とする請求項1記載の複合装置。When the data stored in the first storage unit is saved in the second storage unit and the second image processing is interrupted, the data saved in the second storage unit is the first data 2. The composite apparatus according to claim 1, wherein the data is saved only for the data size required for the interrupt processing of the second image processing. 前記算出部で算出された前記空き容量と、割り込み処理される前記第2の画像処理が前記第1の記憶部で必要とするデータ量との差分を算出する差分算出部を備え、A difference calculation unit that calculates a difference between the free space calculated by the calculation unit and the amount of data required for the second image processing to be interrupted by the first storage unit;
前記第2の画像処理の割り込み処理に必要なデータサイズ分は前記差分算出部からの差分を基に決定されることを特徴とする請求項2記載の複合装置。The composite apparatus according to claim 2, wherein the data size necessary for the interrupt processing of the second image processing is determined based on a difference from the difference calculation unit.
前記第1の記憶部は、揮発性メモリであり、前記第2の記憶部は不揮発性メモリであることを特徴とする請求項1記載の複合装置。The composite apparatus according to claim 1, wherein the first storage unit is a volatile memory, and the second storage unit is a nonvolatile memory. 前記第1の記憶部には処理にかかる前記第1の機能部、又は前記第2の機能部ごとにメモリブロックが設定され、各メモリブロックには当該メモリブロックが空き領域か否かを示す情報と当該メモリブロックのサイズが格納されることを特徴とする請求項1記載の複合装置。A memory block is set for each of the first functional unit or the second functional unit for processing in the first storage unit, and information indicating whether or not the memory block is an empty area in each memory block 2. The composite apparatus according to claim 1, wherein the size of the memory block is stored. 設定されるメモリブロックに応じて前記第1の機能部、又は前記第2の機能部が行なう処理に対応したジョブ情報が格納されることを特徴とする請求項5記載の複合装置。6. The composite apparatus according to claim 5, wherein job information corresponding to processing performed by the first function unit or the second function unit is stored in accordance with a set memory block.
JP2008029973A 2008-02-12 2008-02-12 Composite device and memory management method in composite device Expired - Fee Related JP4852558B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008029973A JP4852558B2 (en) 2008-02-12 2008-02-12 Composite device and memory management method in composite device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008029973A JP4852558B2 (en) 2008-02-12 2008-02-12 Composite device and memory management method in composite device

Publications (2)

Publication Number Publication Date
JP2009194414A JP2009194414A (en) 2009-08-27
JP4852558B2 true JP4852558B2 (en) 2012-01-11

Family

ID=41076089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008029973A Expired - Fee Related JP4852558B2 (en) 2008-02-12 2008-02-12 Composite device and memory management method in composite device

Country Status (1)

Country Link
JP (1) JP4852558B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5676939B2 (en) * 2010-06-29 2015-02-25 キヤノン株式会社 Image processing apparatus, control method therefor, and program
US8817333B2 (en) * 2010-12-20 2014-08-26 Sharp Kabushiki Kaisha Display device with optical sensor included and image reading method employing same
JP5735812B2 (en) * 2011-01-26 2015-06-17 キヤノン株式会社 Printing apparatus and processing method thereof
JP5729156B2 (en) * 2011-06-20 2015-06-03 カシオ電子工業株式会社 Printing apparatus and printing method
JP6171779B2 (en) * 2013-09-20 2017-08-02 コニカミノルタ株式会社 Image forming apparatus
JP6489075B2 (en) * 2016-06-27 2019-03-27 京セラドキュメントソリューションズ株式会社 Image forming apparatus, program, and information processing method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4696748B2 (en) * 2005-07-25 2011-06-08 富士ゼロックス株式会社 Image forming system, interrupt processing method, and printing apparatus

Also Published As

Publication number Publication date
JP2009194414A (en) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4852558B2 (en) Composite device and memory management method in composite device
JP2009241584A (en) Method of canceling printing job submitted to printer
US9026576B2 (en) Image processing device, job processing method, and program
US8314962B2 (en) Image forming apparatus that discriminates an operation of a service requested and constructs a job corresponding to the operation by selecting a job scenario prepared in advance
JP4895864B2 (en) Image input device, information registration method for image input device, program, and storage medium therefor
KR20140086870A (en) Print control apparatus, method for controlling print control apparatus, and storage medium
JP4461443B2 (en) Image forming apparatus, control system, and screen display method
JP4696748B2 (en) Image forming system, interrupt processing method, and printing apparatus
JP4001531B2 (en) Image forming apparatus
JP5928505B2 (en) Image processing apparatus, image processing method and image processing program in the same
JP6961412B2 (en) Image forming device, control method of image forming device, and program
JP4136397B2 (en) Image forming apparatus and memory management method
JP5232728B2 (en) Image forming apparatus
JP6083416B2 (en) Job execution device, program, and data deletion method
JP5704318B2 (en) Image forming method and image forming apparatus
JP4128467B2 (en) Image forming apparatus and memory map method
JP4128468B2 (en) Information processing apparatus and memory map method
JP2001159964A (en) Image formation system, control method for image formation system and storage medium
JP2011068012A (en) Information processor, method and program for controlling the same
JP2012064184A (en) Printing system and printer
JP5656761B2 (en) Image forming apparatus
JP5062750B2 (en) Image forming apparatus
JP7328095B2 (en) PRINTING DEVICE, PRINTING DEVICE CONTROL METHOD AND PROGRAM
JP2000059587A (en) Compound image processor
JP2009070208A (en) Image processing unit and memory allocation method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110803

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111024

R150 Certificate of patent or registration of utility model

Ref document number: 4852558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees