JP2015177260A - image processing apparatus and image data processing method - Google Patents

image processing apparatus and image data processing method Download PDF

Info

Publication number
JP2015177260A
JP2015177260A JP2014050622A JP2014050622A JP2015177260A JP 2015177260 A JP2015177260 A JP 2015177260A JP 2014050622 A JP2014050622 A JP 2014050622A JP 2014050622 A JP2014050622 A JP 2014050622A JP 2015177260 A JP2015177260 A JP 2015177260A
Authority
JP
Japan
Prior art keywords
image
memory
mode
area
compressed data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014050622A
Other languages
Japanese (ja)
Other versions
JP6260372B2 (en
Inventor
貴信 杉山
Takanobu Sugiyama
貴信 杉山
渥美 知之
Tomoyuki Atsumi
知之 渥美
宗 及川
So Oikawa
宗 及川
竜也 北口
Tatsuya Kitaguchi
竜也 北口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2014050622A priority Critical patent/JP6260372B2/en
Publication of JP2015177260A publication Critical patent/JP2015177260A/en
Application granted granted Critical
Publication of JP6260372B2 publication Critical patent/JP6260372B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To more efficiently use a memory for storing compressed image data.SOLUTION: Non-compressed image data are compressed in each first unit in a first mode and compressed in each second unit smaller than the first unit in a second mode. In a memory, a first area for storing all compressed data in each image set to the first mode is secured and a second area for storing one compressed data in each image set to the second mode is secured. In each storing of all compressed data of the image set to the first mode in the memory, all the compressed data are transferred to a storage and stored in the storage so as to correspond to each other, and in each storing of the compressed data of the image set to the second mode are transferred to the storage and stored so as to correspond to the other compressed data of the image. All the compressed data of the image which is a target for present output processing are transferred from the storage to the memory.

Description

本発明は、画像データを圧縮して不揮発性のメモリに記憶させる画像データ処理に関する。   The present invention relates to image data processing in which image data is compressed and stored in a nonvolatile memory.

複写機は、スキャナーによって原稿の用紙から画像を読み取り、プリンターによって新しい用紙に印刷する。   The copying machine reads an image from a document sheet by a scanner and prints it on a new sheet by a printer.

複写の指令後、スキャナーは、直ちに読取りを開始することができるが、プリンターは、定着器の温度を上げなければならず、印刷を開始するまでに時間が掛かることがある。また、通常、スキャナーが1枚の用紙から画像を読み取る速さのほうが、プリンターが1枚の用紙に画像を印刷する速さよりも速い。   After the copy command, the scanner can start reading immediately, but the printer has to raise the temperature of the fixing device, and it may take time to start printing. In general, the speed at which the scanner reads an image from one sheet of paper is faster than the speed at which the printer prints an image on one sheet of paper.

そこで、従来、複写機は、画像を次のように複写する。スキャナーによって画像を読み取ると、この画像の画像データを圧縮して揮発性のメモリに記憶させ、圧縮した画像データをメモリから不揮発性のストレージに待避させる。そして、プリンターにおける処理の進行の状況に応じて、圧縮した画像データをストレージからメモリに読み出し、これを伸張することによって画像データを復元し、プリンターによって画像を用紙に印刷する。   Therefore, conventionally, a copying machine copies an image as follows. When an image is read by the scanner, the image data of the image is compressed and stored in a volatile memory, and the compressed image data is saved from the memory to a nonvolatile storage. Then, in accordance with the progress of processing in the printer, the compressed image data is read from the storage to the memory, decompressed to restore the image data, and the printer prints the image on paper.

画像データを圧縮して不揮発性のストレージに待避させるのは、メモリが高価なので、製造のコストの削減のために容量の小さいメモリを使用できるようにするためである。   The reason why the image data is compressed and saved in the non-volatile storage is that the memory is expensive, so that a memory with a small capacity can be used to reduce the manufacturing cost.

特開2006−20029号公報Japanese Patent Laid-Open No. 2006-20029 特開2003−198817号公報JP 2003-198817 A

複写機のメモリを管理する方法として、次のような方法が提案されている。1ページの画像データを、1ページ未満のバンドデータとして逐次、次のように処理を行う。メモリ管理手段は、画像出力手段が起動後停止不可能な出力手段である場合には、符号メモリを、出力するページ分のデータが全て収まるサイズのメモリ容量だけ確保するとともにビットマップメモリを、ページ分に満たないバンド単位のメモリサイズだけ確保し、画像出力手段が起動後停止不可能な出力手段でない場合には、第2の符号メモリおよびビットマップメモリの両方をバンド単位で確保する(特許文献1)。   The following methods have been proposed as a method for managing the memory of the copying machine. One page of image data is sequentially processed as band data of less than one page as follows. When the image output means is an output means that cannot be stopped after startup, the memory management means secures only a memory capacity of a size that can accommodate all the data for the page to be output and stores the bitmap memory in the page If only a memory size of less than a band unit is secured and the image output means is not an output means that cannot be stopped after startup, both the second code memory and the bitmap memory are secured in band units (Patent Document) 1).

または、メモリ制御部のDMA制御により、入力画像に対してデータ圧縮変換を施した後、変換データを画像メモリのバッファ領域を通してHDDへ転送する一連の処理を行う際、複数のデータ転送(同時転送)要求があるか否かにより、分割(複数回)/一括(1回)の各転送操作を選択する。1画像を分割転送する場合にバッファ領域として、HDDへの分割転送量に相当する容量を、又一括転送する場合に一括転送量に相当する容量を確保する(特許文献2)。   Alternatively, after performing data compression conversion on the input image by DMA control of the memory control unit, a plurality of data transfer (simultaneous transfer) is performed when performing a series of processes for transferring the converted data to the HDD through the buffer area of the image memory. ) Depending on whether there is a request, each transfer operation of division (multiple times) / batch (once) is selected. A capacity corresponding to the divided transfer amount to the HDD is secured as a buffer area when one image is divided and transferred, and a capacity corresponding to the batch transfer amount is ensured when transferring one image (Patent Document 2).

上述の方法によると、圧縮した画像データを格納するメモリを効率的に使用することができる。しかし、さらに効率的にこのメモリを使用する方法が求められる。   According to the above method, a memory for storing compressed image data can be used efficiently. However, there is a need for a more efficient method of using this memory.

本発明は、このような課題に鑑み、圧縮した画像データを格納するメモリをより効率的に使用できるようにすることを目的とする。   In view of such a problem, an object of the present invention is to more efficiently use a memory for storing compressed image data.

本発明の一形態に係る画像処理装置は、1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力手段によって出力する画像処理装置であって、前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する、モード設定手段と、前記画像の圧縮されていない画像データである非圧縮画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する圧縮手段と、揮発性のメモリと、前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する領域確保手段と、不揮発性のストレージと、前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃ったら当該すべての圧縮データを前記ストレージへ転送し当該画像と対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像と対応付けて前記ストレージに記憶させる第1の転送手段と、前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送する第2の転送手段と、を有する。   An image processing apparatus according to an aspect of the present invention is an image processing apparatus that outputs any one of images input by each of one or a plurality of input units, and outputs the image for each of the images. A mode setting unit that sets a compression mode to one of the first mode and the second mode, and uncompressed image data that is uncompressed image data of the image are displayed in the mode of the image. When the first mode is set, compression is performed every first unit, and when the second mode is set, compression is performed every second unit smaller than the first unit. To store all the compressed data for each of the images for which the first mode is set in the compression means for generating compressed data, a volatile memory, and the memory. A first area is secured, a second area for storing the compressed data for each of the images for which the second mode is set is secured, and the current processing target by the output means Area securing means for securing a third area for storing all the compressed data of a certain image, a non-volatile storage, and all the compressed data of the image for which the first mode is set Are transferred to the storage and stored in association with the image, and the compressed data of the image for which the second mode is set is stored in the memory. A first transfer means for transferring the compressed data to the storage and storing it in the storage in association with the image; A second transfer means for transferring the compressed data of the image is the force of the object of processing to all the memory.

本発明によると、圧縮した画像データを格納するメモリをより効率的に使用できる。   According to the present invention, a memory for storing compressed image data can be used more efficiently.

本発明の実施形態に係るMFPのハードウェア構成の概略を示す図である。FIG. 2 is a diagram illustrating an outline of a hardware configuration of an MFP according to an embodiment of the present invention. MFPの画像処理部の構成を示す図である。2 is a diagram illustrating a configuration of an image processing unit of an MFP. FIG. 画像処理部内のデータの流れを示す図である。It is a figure which shows the flow of the data in an image process part. 画像処理部に関わる第1のメモリ使用方法および第2のメモリ使用方法を示す図である。It is a figure which shows the 1st memory usage method and 2nd memory usage method in connection with an image process part. 画像処理部のコントローラーの機能構成を示す図である。It is a figure which shows the function structure of the controller of an image process part. メモリ使用方法の設定処理のフローチャートである。It is a flowchart of the setting process of a memory usage method. 図6の必要メモリ容量の算出ルーチンのフローチャートである。It is a flowchart of the calculation routine of the required memory capacity of FIG. 図6の空きメモリ容量の算出ルーチンのフローチャートである。It is a flowchart of the calculation routine of the free memory capacity of FIG. 図6のメモリ割当てルーチンのフローチャート図である。FIG. 7 is a flowchart of the memory allocation routine of FIG. 図9のバンドサイズの算出サブルーチンのフローチャートである。10 is a flowchart of a band size calculation subroutine of FIG. 9. メモリ割り当ての第1例を示す図である。It is a figure which shows the 1st example of memory allocation. メモリ割当ての第2例を示す図である。It is a figure which shows the 2nd example of memory allocation. メモリ割当ての第3例を示す図である。It is a figure which shows the 3rd example of memory allocation. メモリ割当ての第4例を示す図である。It is a figure which shows the 4th example of memory allocation. メモリ使用方法の設定処理の他の例を示すフローチャートである。It is a flowchart which shows the other example of a setting process of a memory usage method. 図14の必要メモリ容量の算出ルーチンのフローチャートである。15 is a flowchart of a required memory capacity calculation routine of FIG.

本発明の実施形態に係る画像処理装置としてMFP(Multi-functional Peripheral)を挙げる。MFPはオフィスワークに有用な複数の機能を集約した複合型の情報機器であり、投入されるジョブに応じて、コピー機、プリンター、ネットワークスキャナー、ファクシミリ機、ドキュメントサーバーなどとして動作する。   An MFP (Multi-functional Peripheral) is cited as an image processing apparatus according to an embodiment of the present invention. An MFP is a composite information device that integrates a plurality of functions useful for office work, and operates as a copier, a printer, a network scanner, a facsimile machine, a document server, or the like according to a job to be input.

図1に示されるように、MFP1は、メインコントローラー10、画像処理部13、ストレージ14、通信インタフェース15、操作パネル16、2つのイメージスキャナー17A,17B、プリンターエンジン19、および電源回路20を備える。   As shown in FIG. 1, the MFP 1 includes a main controller 10, an image processing unit 13, a storage 14, a communication interface 15, an operation panel 16, two image scanners 17 </ b> A and 17 </ b> B, a printer engine 19, and a power supply circuit 20.

メインコントローラー10は、MFP1を制御するためのプログラムを実行するCPU(Central Processing Unit)、プログラムを記憶するROM(Read Only Memory)、およびプログラム実行のワークアリアとして用いられるRAM(Random Access Memory)を有している。   The main controller 10 has a CPU (Central Processing Unit) that executes a program for controlling the MFP 1, a ROM (Read Only Memory) that stores the program, and a RAM (Random Access Memory) that is used as a work area for executing the program. doing.

画像処理部13は、イメージスキャナー17A,17Bのそれぞれから入力される画像データ(スキャンデータ)を圧縮する処理、および圧縮された画像データを伸張する処理を行なう。画像処理部13では、圧縮と伸張とに用いるメモリの使用方法として、後述するように第1のメモリ使用方法と第2のメモリ使用方法とが画像データの入出力の状況に応じて設定される。   The image processing unit 13 performs a process of compressing image data (scan data) input from each of the image scanners 17A and 17B, and a process of expanding the compressed image data. In the image processing unit 13, as described later, the first memory usage method and the second memory usage method are set according to the state of input / output of image data, as will be described later. .

ストレージ14は例えば数百ギガバイト以上の記憶容量をもつハードディスクドライブである。ストレージ14は、アプリケーションプログラムの保存、設定データの保存、画像処理部13で圧縮された画像データの一時的な記憶などに用いられる。また、ストレージ14には、文書(ドキュメント)の保存用のボックス群が設けられる。ボックス群は、個々のユーザーに割り当てられる個人ボックスおよび複数のユーザーが共有する共有ボックスといった複数のボックスから構成される。   The storage 14 is, for example, a hard disk drive having a storage capacity of several hundred gigabytes or more. The storage 14 is used for storing application programs, setting data, and temporarily storing image data compressed by the image processing unit 13. The storage 14 is provided with a group of boxes for storing documents. The box group includes a plurality of boxes such as a personal box assigned to each user and a shared box shared by a plurality of users.

通信インタフェース15は、MFP1と外部装置との通信を可能にする。通信インタフェース15は、MFP1をLAN(Local Area Network)に通信可能に接続するネットワーク・インタフェース・カード(NIC)、および公衆電話回線によるファクシミリ通信のためのモデムを含んでいる。   The communication interface 15 enables communication between the MFP 1 and an external device. The communication interface 15 includes a network interface card (NIC) that connects the MFP 1 to a LAN (Local Area Network) so as to be communicable, and a modem for facsimile communication via a public telephone line.

操作パネル16は、タッチパネルディスプレイとハードキーパネルとを有している。タッチパネルディスプレイは、ソフトウェアキーであるボタンの配置された操作用の画面を表示し、画面に対するタッチ操作を検出する入出力デバイスである。タッチパネルディスプレイは、液晶パネルとその表面に密着する透光性のタッチ面部を有したタッチパネルとから構成される。ハードキーパネルには、処理の開始を指示するスタートキーを含む複数のハードキーが配置されている。   The operation panel 16 has a touch panel display and a hard key panel. The touch panel display is an input / output device that displays an operation screen on which buttons as software keys are arranged and detects a touch operation on the screen. The touch panel display includes a liquid crystal panel and a touch panel having a translucent touch surface portion that is in close contact with the surface thereof. The hard key panel has a plurality of hard keys including a start key for instructing the start of processing.

2つのイメージスキャナー17A,17Bはそれぞれ、プラテンガラス上に置かれた原稿シートからそれに記録されている画像を線順次走査によって光学的に読み取る。本実施形態では、これらイメージスキャナー17A,17Bが同型であり、カラー画像およびモノクロ画像の読取りが可能であり、最大読取りサイズがA3サイズであり、かつ共にADF(Auto Document Feeder)を備えているものとする。イメージスキャナー17A,17Bは、原稿シートのサイズを公知の手法によって検知するためのシート検出信号を出力するセンサーを有している。   Each of the two image scanners 17A and 17B optically reads an image recorded on the original sheet placed on the platen glass by line sequential scanning. In this embodiment, these image scanners 17A and 17B are of the same type, can read color images and monochrome images, have a maximum reading size of A3 size, and both have an ADF (Auto Document Feeder). And The image scanners 17A and 17B have sensors that output a sheet detection signal for detecting the size of the original sheet by a known method.

なお、以下においてイメージスキャナー17A,17Bを総称してイメージスキャナー17ということがある。   Hereinafter, the image scanners 17A and 17B may be collectively referred to as an image scanner 17.

プリンターエンジン19は、コピー、プリントおよびファクシミリ受信において、例えば電子写真法によって画像を用紙に印刷する。印刷方法はインクジェット法または他の方法であってもよい。   The printer engine 19 prints an image on paper by, for example, electrophotography in copying, printing, and facsimile reception. The printing method may be an inkjet method or other methods.

電源回路20は、商用交流電源から供給される電力を、駆動系および制御系にそれらに適した電圧の電力に変換して供給する。   The power supply circuit 20 converts the power supplied from the commercial AC power source into power of a voltage suitable for the drive system and the control system and supplies the converted power.

このようなMFP1は、操作パネル16を用いてユーザーが指定するジョブ、および外部装置からのアクセスによって指定されるジョブを実行する。MFP1が実行可能な様々なジョブの中に、原稿シートからの画像の読取りを伴うジョブ(これを“画像読取りジョブ”と呼称する)が含まれる。1つの画像読取りジョブでは、イメージスキャナー17A,17Bのいずれか片方が用いられる。   Such MFP 1 executes a job designated by the user using the operation panel 16 and a job designated by access from an external device. The various jobs that can be executed by the MFP 1 include a job that involves reading an image from an original sheet (referred to as an “image reading job”). In one image reading job, one of the image scanners 17A and 17B is used.

画像読取りジョブとして、コピー、スキャン・トゥー・ボックス、およびデータ送信がある。コピーは読み取った原稿画像を用紙に印刷するジョブである。スキャン・トゥー・ボックスは、読取りで得られた画像データをストレージ14のボックスに保存データとして格納するジョブである。データ送信は、読取りで得られた画像データに基づいて送信用の画像データを生成し、生成した画像データを指定された相手先へ送るジョブである。データ送信で指定される相手先は、パーソナルコンピューターに代表されるユーザー端末、ファイルサーバー、電子メールサーバー、ファクシミリ機などである。MFP1の内部にサーバーが設けられている場合、そのサーバーを相手先とすることができる。   Image reading jobs include copy, scan to box, and data transmission. Copy is a job for printing a read original image on paper. The scan-to-box is a job for storing image data obtained by reading as saved data in a box of the storage 14. Data transmission is a job for generating image data for transmission based on image data obtained by reading, and sending the generated image data to a designated destination. The destination specified for data transmission is a user terminal represented by a personal computer, a file server, an e-mail server, a facsimile machine, or the like. When a server is provided in the MFP 1, the server can be the other party.

MFP1は、イメージスキャナー17Aによる画像の読取りと、イメージスキャナー17Bによる画像の読取りとを並行して行なうことができる。MFP1では、ユーザーが投入した画像読取りジョブ(J)によってイメージスキャナー17A,17Bの一方が使用されているときに、当該ユーザーまたは他のユーザーはイメージスキャナー17A,17Bの他方を使用する画像読取りジョブ(K)の実行開始を指示することができる。   The MFP 1 can read the image by the image scanner 17A and the image by the image scanner 17B in parallel. In the MFP 1, when one of the image scanners 17A and 17B is used by an image reading job (J) submitted by the user, the user or the other user uses the other of the image scanners 17A and 17B. The execution start of K) can be instructed.

図2は画像読取りジョブに関係する画像処理部13の構成を示している。図示のように画像処理部13はASIC(Application Specific Integrated Circuit)30と符合メモリ35とを有する。ASIC30は、ビットマップメモリ31、圧縮・伸張回路32、DMA転送回路33、およびコントローラー34を備える。   FIG. 2 shows the configuration of the image processing unit 13 related to the image reading job. As illustrated, the image processing unit 13 includes an ASIC (Application Specific Integrated Circuit) 30 and a code memory 35. The ASIC 30 includes a bitmap memory 31, a compression / decompression circuit 32, a DMA transfer circuit 33, and a controller 34.

ビットマップメモリ31は、ラスター形式の画像データの一時記憶に用いられる。ビットマップメモリ31は、2つのイメージスキャナー17A,17Bの両方を用いて複数の原稿の読取りを並行して行ないながら画像を印刷するのを可能にするメモリ容量を有している。   The bitmap memory 31 is used for temporary storage of raster format image data. The bitmap memory 31 has a memory capacity that makes it possible to print an image while reading a plurality of documents in parallel using both of the two image scanners 17A and 17B.

圧縮・伸張回路32は、画像データの圧縮および圧縮した画像データの伸張を受け持つ。圧縮・伸張回路32は、イメージスキャナー17A,17Bのそれぞれによって得られた画像データを並行して圧縮することが可能に構成されている。並行して圧縮するための構成は、同時に圧縮を行なうことが可能な複数の圧縮器を備えるものでもよいし、複数の画像データを時分割で圧縮するものであってもよい。   The compression / decompression circuit 32 is responsible for compressing image data and decompressing the compressed image data. The compression / decompression circuit 32 is configured to be able to compress the image data obtained by the image scanners 17A and 17B in parallel. The configuration for compressing in parallel may include a plurality of compressors that can perform compression simultaneously, or may compress a plurality of image data in a time division manner.

DMA転送回路33は、画像処理部13の内部のデータ転送および画像処理部13と外部とのデータの入出力をDMA(Direct Memory Access)によって行なうための回路である。   The DMA transfer circuit 33 is a circuit for performing data transfer inside the image processing unit 13 and data input / output between the image processing unit 13 and the outside by DMA (Direct Memory Access).

コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれのメモリ領域を管理する。コントローラー34は、DMA転送回路33に対して、ビットマップメモリ31および符合メモリ35のそれぞれにおけるデータの格納または読出しのためにアクセスすべきメモリ領域を指定する。このような処理を実現するための制御プログラムを実行するプロセッサー340をコントローラー34は備えている。プロセッサー340が実行する制御プログラムはASIC30内のROMによって記憶されている。   The controller 34 manages the memory areas of the bitmap memory 31 and the code memory 35. The controller 34 designates a memory area to be accessed for storing or reading data in each of the bitmap memory 31 and the code memory 35 to the DMA transfer circuit 33. The controller 34 includes a processor 340 that executes a control program for realizing such processing. A control program executed by the processor 340 is stored in the ROM in the ASIC 30.

図3は画像処理部内のデータの流れを示している。画像処理部13では次の[1]〜[8]のようにデータが転送される。   FIG. 3 shows the flow of data in the image processing unit. In the image processing unit 13, data is transferred as in the following [1] to [8].

[1] 画像読取りジョブの実行が開始されると、使用される一方のイメージスキャナー17(例えばイメージスキャナー17A)から原稿シートの走査で得られた画像データD1が逐次に画像処理部13に入力される。入力された画像データD1はDMA転送されてビットマップメモリ31にいったん格納される。  [1] When the execution of the image reading job is started, image data D1 obtained by scanning the original sheet from one of the used image scanners 17 (for example, the image scanner 17A) is sequentially input to the image processing unit 13. The The input image data D1 is DMA-transferred and temporarily stored in the bitmap memory 31.

[2] 原稿の1ページ分またはそれより少ないデータ量の画像データD1がビットマップメモリ31に格納されると、ビットマップメモリ31から圧縮・伸張回路32へ画像データD1がDMA転送される。このとき、イメージスキャナー17Aからの画像データD1の入力が続いている場合、ビットマップメモリ31からの格納されている画像データD1の読出しと並行して、イメージスキャナー17Aから新たに入力された画像データD1のビットマップメモリ31への格納が行なわれる。  [2] When image data D1 having a data amount for one page of the original or smaller is stored in the bitmap memory 31, the image data D1 is DMA-transferred from the bitmap memory 31 to the compression / decompression circuit 32. At this time, when the input of the image data D1 from the image scanner 17A is continued, the image data newly input from the image scanner 17A in parallel with the reading of the stored image data D1 from the bitmap memory 31. D1 is stored in the bitmap memory 31.

[3] 画像データD1を圧縮した画像データD2が、圧縮・伸張回路32から符合メモリ35へDMA転送される。  [3] Image data D2 obtained by compressing the image data D1 is DMA-transferred from the compression / decompression circuit 32 to the code memory 35.

[4] 符合メモリ35からストレージ14へ画像データD2がDMA転送される。  [4] The image data D 2 is DMA-transferred from the code memory 35 to the storage 14.

以上の[1]〜[4]の転送は並行して行なわれる。すなわち、画像データD1をビットマップメモリ31に格納しつつ先に格納された画像データD1を読み出して圧縮し、得られた画像データD2を直ちに符合メモリ35に一時記憶させながら、適宜に画像データD2をストレージ14に蓄積する、という処理が行なわれる。   The above transfers [1] to [4] are performed in parallel. That is, while storing the image data D1 in the bitmap memory 31, the previously stored image data D1 is read and compressed, and the obtained image data D2 is temporarily stored in the code memory 35, and the image data D2 is appropriately stored. Is stored in the storage 14.

なお、ストレージ14への転送に先立って画像データD1を圧縮することにより、転送対象のデータ量を低減して転送の所要時間を短縮することができる。   Note that by compressing the image data D1 prior to transfer to the storage 14, the amount of data to be transferred can be reduced and the time required for transfer can be shortened.

画像読取りジョブがスキャン・トゥー・ボックスである場合には、1枚または複数枚の原稿シートから得られる画像データD1に対応する画像データD2が全てストレージ14に格納されることでジョブが完了する。   When the image reading job is a scan-to-box, the image data D2 corresponding to the image data D1 obtained from one or more original sheets is stored in the storage 14, and the job is completed.

これに対して、画像読取りジョブがコピーまたはデータ送信である場合、[1]〜[4]の転送と並行して、次の[5]〜[8]の転送が行なわれる。図3ではコピーの場合が例示されている。   On the other hand, when the image reading job is copying or data transmission, the following transfers [5] to [8] are performed in parallel with the transfers [1] to [4]. FIG. 3 illustrates the case of copying.

[5] ストレージ14から符合メモリ35へ1ページ分の画像データD2がDMA転送される。  [5] One page of image data D2 is DMA-transferred from the storage 14 to the code memory 35.

[6] 符合メモリ35から圧縮・伸張回路32へ1ページ分の画像データD2がDMA転送される。画像データD2は圧縮・伸張回路32によって伸張される。  [6] One page of image data D2 is DMA-transferred from the code memory 35 to the compression / decompression circuit 32. The image data D2 is decompressed by the compression / decompression circuit 32.

[7] 画像データD2を伸張した画像データD3が、圧縮・伸張回路32からビットマップメモリ31へDMA転送される。  [7] Image data D3 obtained by expanding the image data D2 is DMA-transferred from the compression / expansion circuit 32 to the bitmap memory 31.

[8] ビットマップメモリ31からプリンターエンジン19へ画像データD3がDMA転送される。この後、プリンターエンジン19内で画像データD3に基づいて印刷用のラスター画像データが生成される。  [8] The image data D3 is DMA-transferred from the bitmap memory 31 to the printer engine 19. Thereafter, raster image data for printing is generated in the printer engine 19 based on the image data D3.

[1]〜[4]の転送と[5]〜[8]の転送とが並行して行なわれるとき、符合メモリ35には、圧縮・伸張回路32からの画像データD2を記憶する入力用のメモリ領域と、ストレージ14から読み出される1ページ分の画像データD2を記憶する出力用のメモリ領域とが割り当てられる。   When the transfers [1] to [4] and the transfers [5] to [8] are performed in parallel, the code memory 35 is used for input to store the image data D2 from the compression / decompression circuit 32. A memory area and an output memory area for storing image data D2 for one page read from the storage 14 are allocated.

このような[1]〜[8]の転送が行なわれる画像処理部13におけるビットマップメモリ31および符合メモリ35の使用に関して、第1のメモリ使用方法および第2のメモリ使用方法がある。画像処理部13では、これら2つのメモリ使用方法が画像読取りジョブの実行開始後の符合メモリ35の空きメモリ容量の増減に応じて動的に使い分けられる。   Regarding the use of the bit map memory 31 and the code memory 35 in the image processing unit 13 to which the transfer of [1] to [8] is performed, there are a first memory use method and a second memory use method. In the image processing unit 13, these two memory usage methods are dynamically used in accordance with the increase or decrease in the free memory capacity of the code memory 35 after the execution of the image reading job is started.

図4(A)は第1のメモリ使用方法を示し、図4(B)は第2のメモリ使用方法を示している。図4(A)、(B)では、複数枚の原稿シートで構成されるドキュメント(これを原稿という)40の画像をイメージスキャナー17Aが読み取る場合が想定されている。ただし、原稿40は1枚の原稿シートであってもよいし、イメージスキャナー17Bが原稿40の画像を読み取ってもよい。図中、メモリ領域60,70に付された斜線は1ページ分のメモリ容量(メモリサイズ)を有することを表わしている。斜線の付されていないメモリ領域50,80のメモリ容量は1ページ分未満である。   FIG. 4A shows a first memory usage method, and FIG. 4B shows a second memory usage method. 4A and 4B, it is assumed that the image scanner 17A reads an image of a document 40 (which is referred to as a document) composed of a plurality of document sheets. However, the document 40 may be a single document sheet, or the image scanner 17B may read an image of the document 40. In the figure, diagonal lines attached to the memory areas 60 and 70 indicate that the memory capacity (memory size) is equivalent to one page. The memory capacity of the memory areas 50 and 80 not hatched is less than one page.

本明細書において、「ページ」という用語は、原稿シートの片面を意味する。「1ページ分」とは、原稿シートの片面から読み取られる画像の全体に対応する分量であることを意味する。   In this specification, the term “page” means one side of an original sheet. “One page” means an amount corresponding to the entire image read from one side of the document sheet.

図4(A)に示される第1のメモリ使用方法は、各画像読取りジョブについて、ビットマップメモリ31に原稿40の1ページ分よりも少ない分量(例えば1ぺージ分の半分)の画像データD1の格納が可能なメモリ領域50を確保し、符合メモリ35に1ページ分の圧縮された画像データD2の格納が可能なメモリ領域60を確保する方法である。この方法は、符合メモリ35内の解放されたメモリ領域の容量である空きメモリ容量がメモリ領域60の確保に必要な容量以上である場合に適用される。   In the first memory use method shown in FIG. 4A, image data D1 of an amount smaller than one page of the original 40 in the bitmap memory 31 (for example, half of one page) for each image reading job. Is secured, and the memory area 60 capable of storing one page of compressed image data D2 is secured in the code memory 35. This method is applied when the free memory capacity, which is the capacity of the released memory area in the code memory 35, is greater than or equal to the capacity necessary for securing the memory area 60.

第1のメモリ使用方法を適用した場合、例えば2分の1ぺージ分の画像データD1がメモリ領域50に格納された段階(つまり、1ぺージ分の画像データD1が格納される段階よりも早い段階)で、画像データD1の圧縮が開始される。そして、圧縮された画像データD2がメモリ領域60に1ページ分貯められ、ページ単位でストレージ14に転送される。   When the first method of using the memory is applied, for example, a stage in which image data D1 for a half page is stored in the memory area 50 (that is, more than a stage in which image data D1 for a page is stored). At an early stage), the compression of the image data D1 is started. The compressed image data D2 is stored in the memory area 60 for one page and transferred to the storage 14 in units of pages.

図4(B)に示される第2のメモリ使用方法は、各画像読取りジョブについて、ビットマップメモリ31に原稿40の1ページ分の画像データD1の格納が可能なメモリ領域70を確保し、符合メモリ35に1ページ分よりも少ない量の画像データD2の格納が可能なメモリ領域80を確保する方法である。この方法は、符合メモリ35に1ページ分のメモリ領域60を確保することができない場合に適用される。メモリ領域80のメモリ容量は、符合メモリ35の空きメモリ容量を超えない範囲内の分量に設定される。   In the second method of using the memory shown in FIG. 4B, for each image reading job, a memory area 70 capable of storing one page of image data D1 of the original 40 is secured in the bitmap memory 31. In this method, a memory area 80 capable of storing a smaller amount of image data D2 than one page is secured in the memory 35. This method is applied when the memory area 60 for one page cannot be secured in the code memory 35. The memory capacity of the memory area 80 is set to an amount that does not exceed the free memory capacity of the code memory 35.

第2のメモリ使用方法を適用した場合、1ぺージ分の画像データD1がメモリ領域70に格納され始めた後、圧縮してメモリ領域80に格納し切れる量の画像データD1が格納されるごとに、画像データD1の圧縮が行なわれる。そして、圧縮されてメモリ80に一時記憶された画像データD2が、逐次にストレージ14に転送される。1ページ分の画像データD2の保持はストレージ14によって行なわれる。   When the second method of using the memory is applied, after each page of image data D1 starts to be stored in the memory area 70, each time the image data D1 is stored in an amount that can be compressed and stored in the memory area 80. Then, the image data D1 is compressed. Then, the compressed image data D2 temporarily stored in the memory 80 is sequentially transferred to the storage 14. The storage 14 holds the image data D2 for one page.

第2のメモリ使用方法には、符合メモリ35の空きメモリ容量が1ページ分に満たない場合に、メモリ割当てを行なおうとしている画像読取りジョブではない他の画像読取りジョブが終了して空きメモリ容量が1ページ分以上に増えるのを待たずに、原稿40の読取りを始めることができるという利点がある。ただし、第1のメモリ使用方法と比べて1ページ当たりの圧縮処理の回数が多くなって転送の効率が低下し、原稿40を走査してデータをストレージ14に貯める一連の動作のパフォーマンス(処理速度)が第1のメモリ使用方法を適用した場合よりも低くなることがある。   In the second memory usage method, when the free memory capacity of the code memory 35 is less than one page, another image reading job that is not an image reading job to be allocated for memory is terminated and free memory is used. There is an advantage that reading of the document 40 can be started without waiting for the capacity to increase to one page or more. However, compared to the first method of using the memory, the number of compression processes per page increases and the transfer efficiency decreases, and the performance (processing speed) of a series of operations for scanning the original 40 and storing data in the storage 14 ) May be lower than when the first memory usage method is applied.

図5は画像処理部のコントローラーの機能構成を示している。コントローラー34は、入力モード判別部341、必要メモリ容量算出部342、空きメモリ容量算出部343、およびメモリ領域割当て部344を有している。これら構成要素は、プロセッサー340が制御プログラムを実行することによって実現される機能要素である。   FIG. 5 shows a functional configuration of the controller of the image processing unit. The controller 34 includes an input mode determination unit 341, a necessary memory capacity calculation unit 342, a free memory capacity calculation unit 343, and a memory area allocation unit 344. These constituent elements are functional elements realized by the processor 340 executing the control program.

入力モード判別部341は、MFP1に投入された画像読取りジョブに関してメインコントローラー10から与えられる情報に基づいて、画像処理部13におけるメモリ割当てに関わる入力モードを判別する。入力モードは、投入された画像読取りジョブの種別、使用するイメージスキャナー17A,17Bの個数、および読取り条件(読取り対象ページのサイズ、解像度、カラーモードなど)によって分類される。   The input mode determination unit 341 determines an input mode related to memory allocation in the image processing unit 13 based on information provided from the main controller 10 regarding the image reading job input to the MFP 1. The input modes are classified according to the type of input image reading job, the number of image scanners 17A and 17B to be used, and reading conditions (reading target page size, resolution, color mode, etc.).

必要メモリ容量算出部342は、1ページ分の圧縮された画像データD2を格納する場合に符合メモリ35に割り当てるべきメモリ領域のメモリ容量である必要メモリ領域(X)を算出する。必要メモリ領域(X)は、読取り条件に依存する。   The required memory capacity calculation unit 342 calculates a required memory area (X) that is a memory capacity of a memory area to be allocated to the code memory 35 when storing compressed image data D2 for one page. The required memory area (X) depends on the reading conditions.

空きメモリ容量算出部343は、符合メモリ35における入力に利用可能なメモリ領域のメモリ容量(Y)を算出する。メモリ容量(Y)は、画像読取りジョブの種別(出力用のメモリ領域の必要なジョブかどうか)に依存する。   The free memory capacity calculation unit 343 calculates the memory capacity (Y) of the memory area available for input in the code memory 35. The memory capacity (Y) depends on the type of image reading job (whether the job requires a memory area for output).

メモリ割当て部344は、必要メモリ容量算出部342および空きメモリ容量算出部343によって得られた必要メモリ領域(X)とメモリ容量(Y)とに応じて、ページの読取りに適用するメモリ使用方法を決める。そして、メモリ割当て部344は、ビットマップメモリ31および符合メモリ35のそれぞれに、メモリ使用方法に応じたメモリ容量をもつメモリ領域を割り当て、割り当てたメモリ領域のアドレスをDMA転送回路33に通知する。   The memory allocation unit 344 uses a memory usage method to be applied to page reading according to the required memory area (X) and the memory capacity (Y) obtained by the required memory capacity calculation unit 342 and the free memory capacity calculation unit 343. Decide. Then, the memory allocation unit 344 allocates a memory area having a memory capacity corresponding to the memory usage method to each of the bitmap memory 31 and the code memory 35 and notifies the DMA transfer circuit 33 of the address of the allocated memory area.

図6は、画像処理部のコントローラーが実行するメモリ使用方法の設定処理の流れを示している。コントローラー34は、メインコントローラー10から画像読取りジョブがMFP1に投入されたことが通知されたときに、図6の処理(これをメインルーチンという)を実行する。   FIG. 6 shows the flow of the setting process of the memory use method executed by the controller of the image processing unit. When notified from the main controller 10 that the image reading job has been input to the MFP 1, the controller 34 executes the processing of FIG. 6 (this is called a main routine).

ここでの説明では、原稿40の画像を読み取る画像読取りジョブ(J1)の投入を契機としてメインルーチンの実行が開始され、この画像読取りジョブ(J1)の投入に際してユーザーがイメージスキャナー17Aを選択したものとする。画像読取りジョブ(J1)が完了する以前に、他の画像読取りジョブ(J2)が投入される場合があり得る。この場合、画像読取りジョブ(J2)にイメージスキャナー17Bが用いられ、2つのイメージスキャナー17A,17Bのそれぞれから画像データD1が画像処理部13に入力されることになる。   In this description, the execution of the main routine is started when the image reading job (J1) for reading the image of the original 40 is input, and the user selects the image scanner 17A when the image reading job (J1) is input. And It is possible that another image reading job (J2) is submitted before the image reading job (J1) is completed. In this case, the image scanner 17B is used for the image reading job (J2), and the image data D1 is input to the image processing unit 13 from each of the two image scanners 17A and 17B.

コントローラー34は、イメージスキャナー17Aが原稿40から1ページずつ順に連続的に画像を読み取る過程で、各ページの読取りが開始されるとき(S01でYES)、原稿40の態様が“混載”であるかどうかをチェックする(S02)。“混載”とは、原稿40を構成する複数の原稿シートのサイズが同一ではない態様、すなわち少なくとも1枚の原稿シートのサイズが他の原稿シートのサイズと異なる態様である。   In the process in which the image scanner 17A sequentially reads images one page at a time sequentially from the document 40, when the reading of each page is started (YES in S01), the controller 34 determines whether the mode of the document 40 is “mixed”. It is checked whether or not (S02). “Mixed loading” is an aspect in which the sizes of a plurality of original sheets constituting the original 40 are not the same, that is, an aspect in which the size of at least one original sheet is different from the sizes of other original sheets.

本実施形態では、ステップS02のチェックは、画像読取りジョブ(J1)の投入の際にユーザーによって混載モードが選択されているかどうかのチェックとされている。コントローラー34は、メインコントローラー10から取得した画像読取りジョブ(J1)の設定に関する情報に基づいて、混載モードが選択されているかどうかをチェックする。コントローラー34は、混載モードが選択されている場合、原稿40の態様が混載であると判断し、混載モードが選択されていない場合、原稿40の態様が混載ではないと判断する。   In this embodiment, the check in step S02 is a check as to whether or not the mixed loading mode is selected by the user when the image reading job (J1) is submitted. The controller 34 checks whether or not the mixed loading mode is selected based on the information regarding the setting of the image reading job (J1) acquired from the main controller 10. The controller 34 determines that the mode of the original 40 is mixed when the mixed loading mode is selected, and determines that the mode of the original 40 is not mixed when the mixed loading mode is not selected.

原稿40の態様が混載ではない場合(S02でNO)、コントローラー34は、現在の画像入力数を取得し(S03)、前回取得した画像入力数と比べることによって画像入力数が変化したかどうかをチェックする(S04)。画像入力数は、イメージスキャナー17A,17Bのうち、使用されている状態のものの個数である。使用されている状態とは、原稿40がADFの給紙トレイにセッティングされてから最後のページの走査が終了するまでの状態である。   When the form of the document 40 is not mixed (NO in S02), the controller 34 acquires the current number of image inputs (S03) and determines whether the number of image inputs has changed by comparing with the previously acquired number of image inputs. Check (S04). The number of image inputs is the number of image scanners 17A and 17B that are in use. The used state is a state from when the document 40 is set to the ADF paper feed tray until the last page is scanned.

メインルーチンの実行が開始された後に初めて取得される画像入力数は「1」である。初めて画像入力数が取得されるとき、前回の画像入力数は「0」とされる。そして、ステップS04のチェックでは、画像入力数が「0」から「1」へ変化したと判断され、チェック結果はYESとなる。   The number of image inputs acquired for the first time after execution of the main routine is started is “1”. When the image input number is acquired for the first time, the previous image input number is set to “0”. In the check in step S04, it is determined that the number of image inputs has changed from “0” to “1”, and the check result is YES.

画像読取りジョブ(J1)の実行中に画像読取りジョブ(J2)の実行が開始された場合、画像読取りジョブ(J2)の実行が開始された後に初めて取得される画像入力数は「2」である。このとき前回の画像入力数は「1」であるので、ステップS04のチェックでは、画像入力数が「1」から「2」へ変化したと判断され、チェック結果はYESとなる。   When the execution of the image reading job (J2) is started during the execution of the image reading job (J1), the number of image inputs acquired for the first time after the execution of the image reading job (J2) is started is “2”. . At this time, since the previous number of image inputs is “1”, it is determined in step S04 that the number of image inputs has changed from “1” to “2”, and the check result is YES.

また、画像読取りジョブ(J1)の実行中に画像読取りジョブ(J2)の実行が開始され、その後にいずれか一方の画像読取りジョブによるイメージスキャナー17の使用が終了した場合、イメージスキャナー17の使用が終了した後に初めて取得される画像入力数は「1」である。このとき前回の画像入力数は「2」であるので、ステップS04のチェックでは画像入力数が「2」から「1」へ変化したと判断され、チェック結果はYESとなる。   In addition, when the image reading job (J2) is started during the execution of the image reading job (J1) and the use of the image scanner 17 by one of the image reading jobs is finished thereafter, the use of the image scanner 17 is stopped. The number of image inputs acquired for the first time after the completion is “1”. At this time, since the previous number of image inputs is “2”, it is determined in step S04 that the number of image inputs has changed from “2” to “1”, and the check result is YES.

一方、画像読取りジョブ(J1)および画像読取りジョブ(J2)のいずれか1つのみが実行されている状態での2回目以降のステップS03の実行で取得される画像入力数は「1」である。このとき前回の画像入力数は「1」であるので、ステップS04のチェックでは画像入力数が変化していないと判断され、チェック結果はNOとなる。ステップS04のチェック結果がNOである場合、フローはステップS08へ進む。   On the other hand, the number of image inputs acquired in the second and subsequent executions of step S03 when only one of the image reading job (J1) and the image reading job (J2) is being executed is “1”. . At this time, since the number of previous image inputs is “1”, it is determined that the number of image inputs has not changed in the check in step S04, and the check result is NO. If the check result in step S04 is NO, the flow proceeds to step S08.

画像読取りジョブ(J1)および画像読取りジョブ(J2)によって2つのイメージスキャナー17A,17Bの両方が使用されている状態での2回目以降のステップS03の実行で取得される画像入力数は「2」である。このとき前回の画像入力数は「2」であるので、ステップS04のチェックでは画像入力数が変化していないと判断され、チェック結果はNOとなる。   The number of image inputs acquired in the second and subsequent executions of step S03 in a state where both of the two image scanners 17A and 17B are being used by the image reading job (J1) and the image reading job (J2) is “2”. It is. At this time, since the previous number of image inputs is “2”, it is determined in the check in step S04 that the number of image inputs has not changed, and the check result is NO.

ステップS04のチェック結果がYESである場合、フローはステップS05へ進み、コントローラー34は、必要メモリ容量の算出ルーチン(S05)、空きメモリ容量の算出ルーチン(S06)、およびメモリ割当てルーチン(S07)を実行する。これら3つのルーチンが実行されることによって、ビットマップメモリ31および符合メモリ35のメモリ割当てが必要に応じて変更される。   If the check result in step S04 is YES, the flow proceeds to step S05, and the controller 34 performs a necessary memory capacity calculation routine (S05), a free memory capacity calculation routine (S06), and a memory allocation routine (S07). Run. By executing these three routines, the memory allocation of the bitmap memory 31 and the code memory 35 is changed as necessary.

ステップS07のルーチンを実行した後、コントローラー34は、イメージスキャナー17Aからの画像入力(画像データD1の入力)が終了したかどうかをチェックする(S08)。イメージスキャナー17Bも使用された場合は、イメージスキャナー17Bからの画像入力が終了したかどうかもチェックする。すなわち、イメージスキャナー17A,17Bの一方または両方が使用されている状態から両方が共に使用されていない状態になったかどうかをチェックする。   After executing the routine of step S07, the controller 34 checks whether or not the image input from the image scanner 17A (input of the image data D1) has been completed (S08). When the image scanner 17B is also used, it is also checked whether the image input from the image scanner 17B is completed. That is, it is checked whether or not one or both of the image scanners 17A and 17B are changed from being in use to both of them.

ステップS08のチェック結果がYESである場合、コントローラー34はメインルーチンの実行を終える。その際、コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれに確保されている入力用のメモリ領域を解放して空きメモリ領域とするメモリ管理処理を行なう。   If the check result in step S08 is YES, the controller 34 ends the execution of the main routine. At that time, the controller 34 performs a memory management process for releasing the input memory area secured in each of the bitmap memory 31 and the code memory 35 to make an empty memory area.

図7は図6の必要メモリ容量の算出ルーチンのフローチャートである。   FIG. 7 is a flowchart of the required memory capacity calculation routine of FIG.

コントローラー34は、イメージスキャナー17による読取りの解像度、同じく読取りのカラーモード、およびイメージスキャナー17による走査が開始されまたは開始されようとしているページの画像サイズを、メインコントローラー10から取得する(S51、S52、S53)。解像度は、200dpi、300dpi、400dpi、600dpiといった選択肢のうちのユーザーによって選択されたいずれかである。カラーモードは、フルカラー、グレースケール、モノクロ2階調といった選択肢のうちのユーザーによって選択されたいずれかであり、1画素あたりのビット数を特定する情報として取得される。画像サイズは、イメージスキャナー17のプラテンガラス上に置かれまたは置かれようとしている原稿シートのサイズである。   The controller 34 acquires the resolution of reading by the image scanner 17, the color mode of reading, and the image size of the page on which scanning by the image scanner 17 is started or about to start from the main controller 10 (S51, S52, S53). The resolution is one selected by the user from the options of 200 dpi, 300 dpi, 400 dpi, and 600 dpi. The color mode is any one selected by the user from options such as full color, gray scale, and monochrome two gradations, and is acquired as information specifying the number of bits per pixel. The image size is the size of the original sheet placed on or about to be placed on the platen glass of the image scanner 17.

コントローラー34は、取得した解像度、カラーモードおよび画像サイズに基づいて、必要メモリ容量(X)を算出する(S54)。この必要メモリ容量(X)とは、1ページ分の画像データD1を圧縮した画像データD2を符合メモリ35に記憶させるのに必要なメモリ容量である。例えば、読取り条件が、最大読取りサイズであるA3サイズ(297mm×420mm)の原稿シートの画像を600dpiでフルカラー(1画素あたり24ビット)で読み取るという条件(これを「最大条件」と呼称する)である場合、画像データD1のデータ量は、おおよそ200メガバイトになる。このデータ量と圧縮率との積が必要メモリ容量(X)である。圧縮率は画像の内容に依存し、圧縮を行なわない段階では真の圧縮率は不明である。そこで、ステップS54では、あらかじめ想定される最も低い圧縮率よりもマイジンを見込んで低く定められた圧縮率(例えば70%)を用いて必要メモリ容量(X)が算出される。ここでの例のように画像データD1のデータ量が200メガバイトである場合、必要メモリ容量(X)は140メガバイトとなる。   The controller 34 calculates the necessary memory capacity (X) based on the acquired resolution, color mode, and image size (S54). The necessary memory capacity (X) is a memory capacity necessary for storing in the code memory 35 the image data D2 obtained by compressing the image data D1 for one page. For example, the reading condition is a condition that an image of an A3 size (297 mm × 420 mm) document sheet, which is the maximum reading size, is read in full color (24 bits per pixel) at 600 dpi (this is referred to as “maximum condition”). In some cases, the data amount of the image data D1 is approximately 200 megabytes. The product of the data amount and the compression rate is the required memory capacity (X). The compression rate depends on the content of the image, and the true compression rate is unknown at the stage where compression is not performed. Therefore, in step S54, the required memory capacity (X) is calculated using a compression rate (for example, 70%) set to be lower than the lowest possible compression rate. If the data amount of the image data D1 is 200 megabytes as in this example, the required memory capacity (X) is 140 megabytes.

図8は図6の空きメモリ容量の算出ルーチンのフローチャートである。   FIG. 8 is a flowchart of the free memory capacity calculation routine of FIG.

コントローラー34は、符合メモリ35の現在の空きメモリ容量(Z)を取得する(S61)。空きメモリ容量(Z)は、入力用または出力用に既に割り当てられてるメモリ領域のメモリ容量に依存する。すなわち、符合メモリ35のメモリ容量から解放されていないメモリ領域のメモリ容量を差し引いた容量が空きメモリ容量(Z)である。なお、必ずしも空きメモリ容量(Z)の取得を当該ルーチンの最初の処理として行なう必要はなく、後述のステップS70を実行する以前に空きメモリ容量(Z)を取得すればよい。   The controller 34 acquires the current free memory capacity (Z) of the code memory 35 (S61). The free memory capacity (Z) depends on the memory capacity of the memory area already allocated for input or output. That is, the free memory capacity (Z) is obtained by subtracting the memory capacity of the memory area that is not released from the memory capacity of the code memory 35. Note that it is not always necessary to acquire the free memory capacity (Z) as the first processing of the routine, and it is sufficient to acquire the free memory capacity (Z) before executing step S70 described later.

コントローラー34は、注目する原稿読取りジョブが出力用のメモリ領域を必要とするジョブであるかどうかをチェックする。注目する原稿読取りジョブとは、実行中の1つまたは2つの原稿読取りジョブのうち、メモリ割当てを行ないたい原稿読取りジョブ、すなわち本ルーチンの実行の契機となった1ページの読取りの開始(図6のステップS01)に対応する原稿読取りジョブである。   The controller 34 checks whether or not the document reading job of interest is a job that requires a memory area for output. The document reading job of interest is a document reading job to which memory allocation is to be performed among one or two document reading jobs being executed, that is, the start of reading one page that triggered the execution of this routine (FIG. 6). This is a document reading job corresponding to step S01).

注目する原稿読取りジョブがスキャン・トゥー・ボックスである場合、ストレージ14から画像データD2を読み出さないので、出力用のメモリ領域は不要である。これに対して、注目する原稿読取りジョブがコピーまたはデータ送信である場合、圧縮されている画像データD2を伸張してプリンターエンジン19または通信インタフェース15へ送るために、出力用のメモリ領域が必要である。   When the document reading job to be noticed is scan-to-box, the image data D2 is not read from the storage 14, so that an output memory area is unnecessary. On the other hand, when the document reading job to be noticed is copy or data transmission, an output memory area is required to decompress the compressed image data D2 and send it to the printer engine 19 or the communication interface 15. is there.

ジョブの種別ごとの出力用のメモリ領域の要否を示す情報を参照することによって、注目する原稿読取りジョブが出力用のメモリ領域を必要としないジョブであるとコントローラー34が判断した場合(S62でNO)、フローはステップS63へ進む。   When the controller 34 determines that the document reading job of interest does not require the output memory area by referring to the information indicating the necessity of the output memory area for each job type (S62) NO), the flow proceeds to step S63.

ステップS63において、コントローラー34は出力ページ数(Q)を「0」とする。出力ページ数(Q)は、何ページ分の出力用のメモリ領域が必要であるかを示す変数である。伸張がページ単位で行なわれることから、必要なメモリ容量を1ページ分の画像データ量を基準に計算するために出力ページ数(Q)が定められる。出力ページ数(Q)が「0」であることは、必要なメモリ容量が0ページ分であること、すなわち出力用のメモリ領域が不要であることを意味する。   In step S63, the controller 34 sets the number of output pages (Q) to “0”. The number of output pages (Q) is a variable indicating how many pages of output memory area are required. Since expansion is performed in units of pages, the number of output pages (Q) is determined in order to calculate the necessary memory capacity based on the amount of image data for one page. The number of output pages (Q) being “0” means that the required memory capacity is 0 pages, that is, no output memory area is required.

一方、注目する原稿読取りジョブが出力用のメモリ領域を必要とするジョブであるとコントローラー34が判断した場合(S62でYES)、フローはステップS62からステップS64へ進み、次のように出力モードに応じて出力ページ数(Q)が定められる。   On the other hand, if the controller 34 determines that the document reading job of interest is a job that requires an output memory area (YES in S62), the flow proceeds from step S62 to step S64, and the output mode is set as follows. Accordingly, the number of output pages (Q) is determined.

まず、ステップS64でコントローラー34は、少なくとも1ページ分のメモリ領域が必要であることから、出力ページ数(Q)を「1」とする。   First, in step S64, the controller 34 needs a memory area of at least one page, so the number of output pages (Q) is set to “1”.

次に、コントローラー34は、出力モードが、90度単位の指定された角度だけ回転させて画像の向きを変える「回転」、または画像のサイズを変える「拡大/縮小」を行なうモードであるかどうかをチェックする(S65)。「回転」および「拡大/縮小」のそれぞれは、処理前のデータの記憶と処理後のデータの記憶とに1ページ分ずつ計2ページ分のメモリ領域を必要とする。したがって、出力モードが「回転」または「拡大/縮小」を行なうモードであると判断した場合(S65でYES)、コントローラー34は出力ページ数(Q)を「2」とする(S66)。ステップS65のチェック結果がNOである場合、フローはステップS66をジャンプしてステップS67へ進む。   Next, whether or not the output mode is a mode in which the output mode is “rotation” for changing the orientation of the image by rotating it by a specified angle of 90 degrees or “enlarging / reducing” for changing the size of the image. Is checked (S65). Each of “rotation” and “enlargement / reduction” requires a memory area for two pages, one for each page, for storing data before processing and for storing data after processing. Therefore, when it is determined that the output mode is a mode for performing “rotation” or “enlargement / reduction” (YES in S65), the controller 34 sets the number of output pages (Q) to “2” (S66). If the check result in step S65 is NO, the flow jumps to step S66 and proceeds to step S67.

なお、「回転」および「拡大/縮小」の両方の処理を行なう出力モードである場合、計2ページ分メモリ領域を用いて一方の処理と他方の処理とが順に行なわれる。すなわち、この場合も出力ページ数(Q)は「2」とされる。   In the output mode in which both “rotation” and “enlargement / reduction” processes are performed, one process and the other process are sequentially performed using the memory area for a total of two pages. That is, also in this case, the number of output pages (Q) is set to “2”.

ステップS67において、コントローラー34は、出力モードが複数のページの画像を1ページに配置する「集約」(N in 1ともいう)を行なうモードであるかどうかをチェックする。Nは記録シートの1つの面に集約するページの数(2、4、6、9など)である。「集約」では、Nページ分の画像データD2を符合メモリ35に記憶させるので、Nページ分のメモリ領域が必要である。そして、「回転」または「拡大/縮小」と「集約」とを行なう場合、2Nページ分のメモリ領域が必要である。   In step S67, the controller 34 checks whether or not the output mode is a mode for performing “aggregation” (also referred to as “N in 1”) in which images of a plurality of pages are arranged on one page. N is the number of pages (2, 4, 6, 9, etc.) collected on one side of the recording sheet. In the “aggregation”, the image data D2 for N pages is stored in the code memory 35, so a memory area for N pages is required. When “rotation” or “enlargement / reduction” and “aggregation” are performed, a memory area of 2N pages is required.

ステップS67のチェック結果がYESである場合、コントローラー34は、出力ページ数(Q)をそのN倍の値「N*Q」に置き換える(S68)。つまり、ステップS68で、出力ページ数(Q)は「N」または「2N」となる。   If the check result in step S67 is YES, the controller 34 replaces the number of output pages (Q) with a value “N * Q” that is N times that number (S68). That is, in step S68, the number of output pages (Q) becomes “N” or “2N”.

フローはステップS68からステップS69へ進む。また、ステップS67のチェック結果がNOである場合、フローはステップS67をジャンプしてステップS69へ進む。   The flow proceeds from step S68 to step S69. If the check result in step S67 is NO, the flow jumps to step S67 and proceeds to step S69.

ステップS69において、コントローラー34は、符合メモリ35に割り当てるべき出力用のメモリ領域のメモリ容量(V)を算出する。ここで行なう演算は、1ページ分の画像データD2のデータ量に相当する図7のステップS54で算出した必要メモリ容量(X)とステップS62からステップS68までの処理で得られた出力ページ数(Q)との乗算である。すなわち、必要メモリ容量(X)と出力ページ数(Q)との積がメモリ容量(V)として算出される。出力ページ数(Q)が「0」の場合、メモリ容量(V)は「0」となる。   In step S <b> 69, the controller 34 calculates the memory capacity (V) of the output memory area to be allocated to the code memory 35. The calculation performed here is the required memory capacity (X) calculated in step S54 of FIG. 7 corresponding to the data amount of the image data D2 for one page, and the number of output pages obtained by the processing from step S62 to step S68 ( Q). That is, the product of the required memory capacity (X) and the number of output pages (Q) is calculated as the memory capacity (V). When the number of output pages (Q) is “0”, the memory capacity (V) is “0”.

続いて、コントローラー34は、符合メモリ35の空きメモリ領域(Z)のうちの入力に利用可能なメモリ領域のメモリ容量(Y)を算出する(S70)。メモリ容量(Y)は、ステップS61で取得した空きメモリ容量(Z)からステップS69で算出した出力用のメモリ容量(V)を差し引いた値である。メモリ容量(Y)を算出したコントローラー34はメインルーチンへ戻ってメモリ割当てルーチンを実行する。   Subsequently, the controller 34 calculates the memory capacity (Y) of the memory area available for input in the free memory area (Z) of the code memory 35 (S70). The memory capacity (Y) is a value obtained by subtracting the output memory capacity (V) calculated in step S69 from the free memory capacity (Z) acquired in step S61. The controller 34 having calculated the memory capacity (Y) returns to the main routine and executes the memory allocation routine.

図9は図6のメモリ割当てルーチンのフローチャートである。   FIG. 9 is a flowchart of the memory allocation routine of FIG.

コントローラー34は、圧縮・伸張回路32で圧縮された画像データD2の1ページ分を符合メモリ35に格納することが可能であるかどうかを判定する(S71)。この判定に際して、コントローラー34は、既に算出されている必要メモリ容量(X)とメモリ容量(Y)とを比較する。メモリ容量(Y)が必要メモリ容量(X)以上である場合、コントローラー34は1ページ分の格納が可能であると判定し、判定結果を「可能」とする。メモリ容量(Y)が必要メモリ容量(X)未満である場合、コントローラー34は1ページ分の格納が可能ではないと判定し、判定結果を「不可能」とする。   The controller 34 determines whether or not one page of the image data D2 compressed by the compression / decompression circuit 32 can be stored in the code memory 35 (S71). In this determination, the controller 34 compares the already-calculated required memory capacity (X) with the memory capacity (Y). When the memory capacity (Y) is equal to or larger than the necessary memory capacity (X), the controller 34 determines that one page can be stored and sets the determination result to “possible”. If the memory capacity (Y) is less than the required memory capacity (X), the controller 34 determines that one page cannot be stored and sets the determination result to “impossible”.

判定結果が「可能」である場合、コントローラー34は、符合メモリ35およびビットマップメモリ31について、第1のメモリ使用方法を適用したメモリ割当てを行なう。すなわち、図4(A)のように、符合メモリ35内に1ページ分の画像データD2の記憶が可能なメモリ容量をもつメモリ領域60を確保する。このとき、メモリ領域60のメモリ容量は必要メモリ容量(X)とされる。また、ビットマップメモリ31内に1ページ分未満の画像データD1の記憶が可能なメモリ容量をもつメモリ領域50を確保する。   When the determination result is “possible”, the controller 34 performs memory allocation to the code memory 35 and the bitmap memory 31 to which the first memory usage method is applied. That is, as shown in FIG. 4A, a memory area 60 having a memory capacity capable of storing one page of image data D2 is secured in the code memory 35. At this time, the memory capacity of the memory area 60 is set to a necessary memory capacity (X). Further, a memory area 50 having a memory capacity capable of storing less than one page of image data D1 is secured in the bitmap memory 31.

一方、判定結果が「不可能」である場合、コントローラー34は、バンドサイズ(R)を設定するバンドサイズ設定サブルーチンを実行し(S74)、その後に第2のメモリ使用方法を適用したメモリ割当てを行なう(S75)。バンドサイズ(R)とは、1ページ分の画像データD1を複数回に分けて圧縮する過程において、各回の圧縮に際してビットマップメモリ31から読み出して符合メモリ35へ転送する画像データD1のデータ量である。なお、ステップS75の処理を実行した後にステップS74のサブルーチンを実行するようにしてもよい。   On the other hand, if the determination result is “impossible”, the controller 34 executes a band size setting subroutine for setting the band size (R) (S74), and thereafter performs memory allocation using the second memory usage method. Perform (S75). The band size (R) is a data amount of the image data D1 that is read from the bitmap memory 31 and transferred to the code memory 35 in each compression process in the process of compressing the image data D1 for one page in a plurality of times. is there. Note that the subroutine of step S74 may be executed after the process of step S75 is executed.

図10は図9のバンドサイズ設定サブルーチンのフローチャートである。このサブルーチンでは、入力に利用可能な空きメモリ領域のメモリ容量(Y)に応じて、できるだけ大きいバンドサイズ(R)が設定される。それは、バンドサイズ(R)を大きくすることによって、ビットマップメモリ31から圧縮・伸張回路32への転送の回数が少なくなってパフォーマンスが高くなるからである。   FIG. 10 is a flowchart of the band size setting subroutine of FIG. In this subroutine, the largest possible band size (R) is set according to the memory capacity (Y) of the free memory area available for input. This is because by increasing the band size (R), the number of transfers from the bitmap memory 31 to the compression / decompression circuit 32 is reduced and the performance is improved.

コントローラー34は、上述の必要メモリ容量(X)およびメモリ容量(Y)を取得し(S701、S702)、必要メモリ容量(X)に対するメモリ容量(Y)の比率(Y/X)を算出する(S703)。そして、コントローラー34は、あらかじめ定められた複数の閾値(50%、34%、25%、20%、17%)と比率(Y/X)との大小関係に応じて、次のようにバンドサイズ(R)を設定する。なお、各閾値および閾値の個数は例示に限るものではなく、適宜選定することができる。   The controller 34 obtains the necessary memory capacity (X) and the memory capacity (Y) described above (S701, S702), and calculates the ratio (Y / X) of the memory capacity (Y) to the necessary memory capacity (X) ( S703). Then, the controller 34 determines the band size as follows according to the magnitude relationship between the predetermined threshold values (50%, 34%, 25%, 20%, 17%) and the ratio (Y / X). (R) is set. Note that the threshold values and the number of threshold values are not limited to examples, and can be selected as appropriate.

比率(Y/X)が50%以上100%未満である場合(S704でYES)、コントローラー34は、必要メモリ容量(X)の0.5倍をバンドサイズ(R)に設定する(S705)。この場合、1ページ分の画像データD1が2回に分けて圧縮されることになる。   When the ratio (Y / X) is not less than 50% and less than 100% (YES in S704), the controller 34 sets 0.5 times the necessary memory capacity (X) as the band size (R) (S705). In this case, one page of image data D1 is compressed in two steps.

比率(Y/X)が34%以上50%未満である場合(S706でYES)、コントローラー34は、必要メモリ容量(X)の0.34倍をバンドサイズ(R)に設定する(S707)。この場合、1ページ分の画像データD1が3回に分けて圧縮されることになる。   When the ratio (Y / X) is not less than 34% and less than 50% (YES in S706), the controller 34 sets 0.34 times the necessary memory capacity (X) as the band size (R) (S707). In this case, one page of image data D1 is compressed in three steps.

比率(Y/X)が25%以上34%未満である場合(S708でYES)、コントローラー34は、必要メモリ容量(X)の0.25倍をバンドサイズ(R)に設定する(S709)。この場合、1ページ分の画像データD1が4回に分けて圧縮されることになる。   When the ratio (Y / X) is 25% or more and less than 34% (YES in S708), the controller 34 sets 0.25 times the necessary memory capacity (X) as the band size (R) (S709). In this case, the image data D1 for one page is compressed in four steps.

比率(Y/X)が20%以上25%未満である場合(S710でYES)、コントローラー34は、必要メモリ容量(X)の0.2倍をバンドサイズ(R)に設定する(S711)。この場合、1ページ分の画像データD1が5回に分けて圧縮されることになる。   When the ratio (Y / X) is 20% or more and less than 25% (YES in S710), the controller 34 sets the band size (R) to 0.2 times the necessary memory capacity (X) (S711). In this case, one page of image data D1 is compressed in five steps.

比率(Y/X)が17%以上20%未満である場合(S712でYES)、コントローラー34は、必要メモリ容量(X)の0.17倍をバンドサイズ(R)に設定する(S713)。この場合、1ページ分の画像データD1が6回に分けて圧縮されることになる。   When the ratio (Y / X) is not less than 17% and less than 20% (YES in S712), the controller 34 sets 0.17 times the necessary memory capacity (X) as the band size (R) (S713). In this case, one page of image data D1 is compressed in six steps.

比率(Y/X)が17%未満である場合(S712でNO)、コントローラー34は、あらかじめ定められた最小バンドサイズ(Rmin)をバンドサイズ(R)に設定する(S714)。最小バンドサイズ(Rmin)ではなく、メモリ容量(Y)をバンドサイズ(R)に設定してもよい。いずれにしても、この場合は1ページ分の画像データD1が7回以上に分けて圧縮されることになる。   When the ratio (Y / X) is less than 17% (NO in S712), the controller 34 sets the predetermined minimum band size (Rmin) to the band size (R) (S714). Instead of the minimum band size (Rmin), the memory capacity (Y) may be set to the band size (R). In any case, in this case, the image data D1 for one page is compressed in seven or more times.

以上のとおり、MFP1では、イメージスキャナー17Aおよびイメージスキャナー17Bのいずれかで原稿40から1つのページの読取りが開始されるごとに、画像処理部13に関するメモリ割当てが最適化される。次にメモリ割当ての複数の例を挙げる。   As described above, in the MFP 1, the memory allocation for the image processing unit 13 is optimized every time reading of one page from the document 40 is started by either the image scanner 17A or the image scanner 17B. Next, several examples of memory allocation are given.

図11はメモリ割り当ての第1例を示している。   FIG. 11 shows a first example of memory allocation.

図11(A)では、1つの画像読取りジョブ(Ja)が実行中であり、イメージスキャナー17Aを用いて原稿43の読取りが行なわれている。イメージスキャナー17Bは使用されていない。原稿43はA3サイズ(最大読取りサイズ)の複数の原稿シートを有しており、A3サイズのページの読取りが進行中である。画像読取りジョブ(Ja)はスキャン・トゥー・ボックスである。スキャン・トゥー・ボックスでは出力用のメモリ領域を割り当てる必要がない。   In FIG. 11A, one image reading job (Ja) is being executed, and the document 43 is read using the image scanner 17A. The image scanner 17B is not used. The document 43 has a plurality of document sheets of A3 size (maximum reading size), and reading of pages of A3 size is in progress. The image reading job (Ja) is a scan-to-box. In scan-to-box, there is no need to allocate a memory area for output.

図11(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1aの格納が可能なメモリ領域51が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2aの格納が可能なメモリ領域61が割り当てられている。   In FIG. 11A, the first memory usage method is applied to reading a page. That is, a memory area 51 capable of storing an amount of image data D1a less than one page is allocated to the bitmap memory 31, and the compressed image data D2a for one page can be stored in the code memory 35. A memory area 61 is allocated.

符合メモリ35のメモリ容量は、画像処理部13の回路設計に際して、上述の最大条件での読取りに際して2ページ分の画像データD2の格納が可能となる最小限の分量に選定されている。したがって、図11(A)の状態で、符合メモリ35は、最大条件での少なくとも1ページ分の空きメモリ容量を有している。   The memory capacity of the code memory 35 is selected to be a minimum amount capable of storing the image data D2 for two pages when reading under the above-mentioned maximum conditions when designing the circuit of the image processing unit 13. Accordingly, in the state of FIG. 11A, the code memory 35 has a free memory capacity for at least one page under the maximum condition.

図11(B)では図11(A)の状態から移行した状態が示されている。図11(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Ja)とともに、イメージスキャナー17Bを用いて原稿44を走査する画像読取りジョブ(Jb)が実行中である。画像読取りジョブ(Jb)はスキャン・トゥー・ボックスである。原稿44はA3サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA3サイズのページの読取り(SB)と、この読取り(SB)の開始時点で既に進行中であったイメージスキャナー17AによるA3サイズのページの読取り(SA)とが進行中である。   FIG. 11B shows a state shifted from the state of FIG. In FIG. 11B, an image reading job (Jb) for scanning the document 44 using the image scanner 17B is being executed together with the above-described image reading job (Ja) using the image scanner 17A. The image reading job (Jb) is a scan-to-box. The original 44 has a plurality of A3 size original sheets. The image scanner 17B reads the A3 size page (SB) and the image scanner 17A that has already been in progress at the start of the reading (SB). A3 page read (SA) is in progress.

読取り(SB)の開始時点で、既に図11(A)と同様に第1のメモリ使用方法を適用して読取り(SA)が行なわれているものとする。読取り(SB)の開始に際して、図6のメインルーチンの実行によって、読取り(SB)に適用するメモリ使用方法が決まる。   Assume that at the start of reading (SB), reading (SA) has already been performed by applying the first method of using the memory as in FIG. At the start of reading (SB), execution of the main routine of FIG. 6 determines the memory usage to be applied to reading (SB).

読取り(SB)に適用するメモリ使用方法を決めるとき、上述のとおり符合メモリ35には、最大条件での少なくとも1ページ分の空きメモリ領域が存在する。つまり、読取り(SB)の必要メモリ容量(X)以上の空きメモリ容量(Z)を符合メモリ35が有しており、図9のステップ72の判定結果は「可能」となる。   When determining the memory usage method to be applied to reading (SB), the code memory 35 has an empty memory area for at least one page under the maximum condition as described above. That is, the code memory 35 has a free memory capacity (Z) that is equal to or larger than the required memory capacity (X) for reading (SB), and the determination result in step 72 in FIG.

したがって、図11(B)では読取り(SB)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1bの格納が可能なメモリ領域52が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2bの格納が可能なメモリ領域62が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域51,52を有し、符合メモリ35は入力用の2つのメモリ領域61,62を有している。   Therefore, in FIG. 11B, the first memory usage method is applied to reading (SB). That is, a memory area 52 capable of storing an amount of image data D1b smaller than one page is allocated to the bitmap memory 31, and the compressed memory 35 can store one page of compressed image data D2b. A memory area 62 is allocated. The bitmap memory 31 has two memory areas 51 and 52 for input, and the code memory 35 has two memory areas 61 and 62 for input.

図12はメモリ割り当ての第2例を示している。   FIG. 12 shows a second example of memory allocation.

図12(A)では、1つの画像読取りジョブ(Jc)が実行中であり、イメージスキャナー17Aを用いて原稿45の読取りが行なわれている。イメージスキャナー17Bは使用されていない。原稿45はA3サイズの複数の原稿シートを有しており、A3サイズのページの読取りが進行中である。画像読取りジョブ(Jc)はスキャン・トゥー・ボックスである。   In FIG. 12A, one image reading job (Jc) is being executed, and the document 45 is read using the image scanner 17A. The image scanner 17B is not used. The document 45 has a plurality of A3 size document sheets, and reading of an A3 size page is in progress. The image reading job (Jc) is a scan-to-box.

図12(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1cの格納が可能なメモリ領域53が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2cの格納が可能なメモリ領域63が割り当てられている。図12(A)の状態において符合メモリ35は、最大条件での少なくとも1ページ分の空きメモリ容量(Z)を有している。   In FIG. 12A, the first memory usage method is applied to reading a page. That is, a memory area 53 capable of storing an amount of image data D1c less than one page is allocated to the bitmap memory 31, and the compressed image data D2c for one page can be stored in the code memory 35. A memory area 63 is allocated. In the state of FIG. 12A, the code memory 35 has a free memory capacity (Z) for at least one page under the maximum condition.

図12(B)では図12(A)の状態から移行した状態が示されている。図12(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Jc)とともに、イメージスキャナー17Bを用いて原稿46を読み取る画像読取りジョブ(Jd)が実行中である。画像読取りジョブ(Jd)はコピーである。原稿46はA3サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA3サイズのページの読取り(SD)と、この読取り(SD)の開始時点で既に進行中であったイメージスキャナー17AによるA3サイズのページの読取り(SC)とが進行中である。   FIG. 12B shows a state shifted from the state of FIG. In FIG. 12B, an image reading job (Jd) for reading the document 46 using the image scanner 17B is being executed together with the above-described image reading job (Jc) using the image scanner 17A. The image reading job (Jd) is a copy. The document 46 has a plurality of A3 size document sheets. The image scanner 17B reads an A3 size page (SD) and the image scanner 17A that has already been in progress at the start of the reading (SD). A3 page read (SC) is in progress.

読取り(SD)の開始時点で、既に図12(A)と同様に第1のメモリ使用方法を適用して読取り(SC)が行なわれているものとする。読取り(SD)の開始に際して、図6のメインルーチンの実行によって、読取り(SD)に適用するメモリ使用方法が決まる。   Assume that at the start of reading (SD), reading (SC) has already been performed by applying the first method of using the memory as in FIG. At the start of reading (SD), execution of the main routine of FIG. 6 determines the memory usage applied to reading (SD).

読取り(SD)に適用するメモリ使用方法を決めるとき、上述のとおり符合メモリ35には、最大条件での少なくとも1ページ分の空きメモリ領域(Z)が存在する。しかし、読取り(SD)を伴う画像読取りジョブ(Jd)はコピーであるので、符合メモリ35に出力用のメモリ領域91を割り当てる必要がある。このため、符合メモリ35の空きメモリ容量(Z)から出力用のメモリ領域91のメモリ容量(V)を差し引いたメモリ容量、すなわち入力に利用可能なメモリ領域81のメモリ容量(Y)は、圧縮後の画像データD2dの1ページ分よりも少ない。図9のステップ72の判定結果は「不可能」となる。   When determining the memory usage method applied to reading (SD), the code memory 35 has a free memory area (Z) for at least one page under the maximum condition as described above. However, since the image reading job (Jd) accompanied by reading (SD) is a copy, it is necessary to allocate a memory area 91 for output to the code memory 35. Therefore, the memory capacity obtained by subtracting the memory capacity (V) of the output memory area 91 from the free memory capacity (Z) of the code memory 35, that is, the memory capacity (Y) of the memory area 81 available for input is compressed. Less than one page of the subsequent image data D2d. The determination result in step 72 in FIG. 9 is “impossible”.

したがって、図12(B)では読取り(SD)に第2のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分の画像データD1dの格納が可能なメモリ領域71が割り当てられ、符合メモリ35には1ページ分未満の分量の圧縮された画像データD2dの格納が可能なメモリ領域81が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域53,71および出力用の1つのメモリ領域92を有し、符合メモリ35は入力用の2つのメモリ領域63,81および出力用の1つのメモリ領域91を有している。   Therefore, in FIG. 12B, the second memory use method is applied to reading (SD). That is, a memory area 71 capable of storing one page of image data D1d is allocated to the bitmap memory 31, and the code memory 35 can store compressed image data D2d in an amount less than one page. A memory area 81 is allocated. The bitmap memory 31 has two memory areas 53 and 71 for input and one memory area 92 for output, and the sign memory 35 has two memory areas 63 and 81 for input and one memory area for output. 91.

メモリ領域81の割当てにあたって、図10のバンドサイズ設定サブルーチンが実行され、ビットマップメモリ31のメモリ領域71からの読出しに関わる上述のバンドサイズ(R)が設定される。メモリ領域71に格納された1ページ分の画像データD1dはバンドサイズ分ずつ読み出されて圧縮・伸張回路32へ転送され、バンドサイズ分の圧縮された画像データD2dがメモリ領域71に一時記憶された後、ストレージ14に転送される。ストレージ14では、バンドサイズ分ずつ入力される1ページ分の画像データD2dが出力用のひとかたまりのデータとして記憶される。   When allocating the memory area 81, the band size setting subroutine shown in FIG. 10 is executed, and the above-described band size (R) related to reading from the memory area 71 of the bitmap memory 31 is set. The image data D1d for one page stored in the memory area 71 is read for each band size and transferred to the compression / decompression circuit 32, and the compressed image data D2d for the band size is temporarily stored in the memory area 71. After that, it is transferred to the storage 14. In the storage 14, image data D2d for one page inputted for each band size is stored as a set of data for output.

なお、ビットマップメモリ31のメモリ領域92には、ストレージ14から符合メモリ35のメモリ領域91へ読み出され、その後に圧縮・伸張回路32で伸張された画像データD3dが格納される。その後、メモリ領域92からプリンターエンジン19へ画像データD3dが転送される。   The memory area 92 of the bitmap memory 31 stores the image data D3d read from the storage 14 to the memory area 91 of the code memory 35 and then decompressed by the compression / decompression circuit 32. Thereafter, the image data D3d is transferred from the memory area 92 to the printer engine 19.

図13はメモリ割当ての第3例を示している。図13(A)の示す状態は上述の図12(B)の示す状態と同一である。図13(B)の示す状態は、図13(A)で実行中であった画像読取りジョブ(Jc)の実行が完了し、イメージスキャナー17Bを用いる画像読取りジョブ(Jd)の実行が続いている状態である。   FIG. 13 shows a third example of memory allocation. The state shown in FIG. 13A is the same as the state shown in FIG. In the state shown in FIG. 13B, the execution of the image reading job (Jc) being executed in FIG. 13A is completed, and the execution of the image reading job (Jd) using the image scanner 17B is continued. State.

図13(B)では、原稿46のA3サイズのページの読取り(SD)が進行中である。ただし、現在の読取り対象のページは図13(A)での読取り対象とは異なるページである。このような読取り(SD)の開始時点で、既にイメージスキャナー17Aを使用する画像読取りジョブ(Jc)は終了していたものとする。   In FIG. 13B, reading (SD) of an A3 size page of the document 46 is in progress. However, the current page to be read is a page different from the page to be read in FIG. It is assumed that the image reading job (Jc) using the image scanner 17A has already ended at the start of such reading (SD).

読取り(SD)の開始時点で符合メモリ35における入力に利用可能なメモリ容量(Y)は、符合メモリ35の空きメモリ容量(Z)であり、最大条件での1ページ分以上の分量である。なぜなら、符合メモリ35は最大条件での2ページ分以上のメモリ領域を有し、以前に割り当てられたメモリ領域81は解放されているとみなされ、出力用に割り当てわれているメモリ領域91のメモリ容量が最大条件での1ページ分以下の分量であるからである。   The memory capacity (Y) available for input in the code memory 35 at the start of reading (SD) is the free memory capacity (Z) of the code memory 35, which is an amount of one page or more under the maximum conditions. This is because the code memory 35 has a memory area of two pages or more under the maximum condition, and the memory area 81 previously allocated is considered to be released, and the memory of the memory area 91 allocated for output This is because the capacity is an amount of one page or less under the maximum condition.

したがって、図13(B)では読取り(SD)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の画像データD1dの格納が可能なメモリ領域56が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2dの格納が可能なメモリ領域66が割り当てられている。ビットマップメモリ31は入力用の1つのメモリ領域56および出力用の1つのメモリ領域92を有し、符合メモリ35は入力用の1つのメモリ領域66および出力用の1つのメモリ領域91を有している。   Therefore, in FIG. 13B, the first memory usage method is applied to reading (SD). That is, a memory area 56 capable of storing less than one page of image data D1d is allocated to the bitmap memory 31, and a memory area capable of storing one page of compressed image data D2d is allocated to the code memory 35. 66 is assigned. The bitmap memory 31 has one memory area 56 for input and one memory area 92 for output, and the code memory 35 has one memory area 66 for input and one memory area 91 for output. ing.

このように図13の例では、イメージスキャナー17Bを使用する画像読取りジョブ(Jd)の実行の途中で画像入力数が「2」から「1」に変化したことに伴って、画像処理部13のメモリ使用方法が第2のメモリ使用方法から第1のメモリ使用方法に変更されている。   As described above, in the example of FIG. 13, the number of image inputs is changed from “2” to “1” during the execution of the image reading job (Jd) using the image scanner 17B. The memory usage method is changed from the second memory usage method to the first memory usage method.

図14はメモリ割り当ての第4例を示している。   FIG. 14 shows a fourth example of memory allocation.

図14(A)では、1つの画像読取りジョブ(Je)が実行中であり、イメージスキャナー17Aを用いて原稿47の読取りが行なわれている。イメージスキャナー17Bは使用されていない。画像読取りジョブ(Je)はコピーである。原稿47はA4サイズの複数の原稿シートを有しており、A4サイズのページの読取りが進行中である。そして、読取りと並行してプリンターエンジン19による印刷が行なわれている。印刷のために出力用のメモリ領域93,94が図示のように符合メモリ35およびビットマップメモリ31に割り当てられている。   In FIG. 14A, one image reading job (Je) is being executed, and the document 47 is read using the image scanner 17A. The image scanner 17B is not used. The image reading job (Je) is a copy. The document 47 has a plurality of A4 size document sheets, and reading of an A4 size page is in progress. In parallel with reading, printing by the printer engine 19 is performed. Output memory areas 93 and 94 are allocated to the code memory 35 and the bit map memory 31 as shown in FIG.

図14(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1eの格納が可能なメモリ領域54が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2eの格納が可能なメモリ領域64が割り当てられている。符合メモリ35の空きメモリ容量(Z)は、符合メモリ35のもつメモリ容量から入力用のメモリ領域64および出力用のメモリ領域93のそれぞれのメモリ容量を差し引いた分量となっている。   In FIG. 14A, the first memory usage method is applied to reading a page. That is, a memory area 54 capable of storing an amount of image data D1e smaller than one page is allocated to the bitmap memory 31, and the compressed image data D2e for one page can be stored in the code memory 35. A memory area 64 is allocated. The free memory capacity (Z) of the code memory 35 is an amount obtained by subtracting the memory capacity of the input memory area 64 and the output memory area 93 from the memory capacity of the code memory 35.

図14(B)では図14(A)の状態から移行した状態が示されている。図14(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Je)とともに、イメージスキャナー17Bを用いて原稿48の画像を読み取る画像読取りジョブ(Jf)が実行中である。画像読取りジョブ(Jf)はスキャン・トゥー・ボックスである。原稿48はA4サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA4サイズのページの読取り(SF)と、この読取り(SF)の開始時点で既に進行中であったイメージスキャナー17AによるA4サイズのページの読取り(SE)とが進行中である。   FIG. 14B shows a state shifted from the state of FIG. In FIG. 14B, an image reading job (Jf) for reading the image of the document 48 using the image scanner 17B is being executed together with the above-described image reading job (Je) using the image scanner 17A. The image reading job (Jf) is a scan-to-box. The original 48 has a plurality of A4 size original sheets. The image scanner 17B reads an A4 size page (SF) and the image scanner 17A that has already been in progress at the start of the reading (SF). A4 page read (SE) is in progress.

読取り(SF)の開始時点で、既に図14(A)と同様に第1のメモリ使用方法を適用して読取り(SE)が行なわれているものとする。読取り(SF)の開始に際して、図6のメインルーチンの実行によって、読取り(SF)に適用するメモリ使用方法が決まる。   Assume that at the start of reading (SF), reading (SE) has already been performed by applying the first method of using the memory as in FIG. At the start of reading (SF), the execution of the main routine of FIG. 6 determines the memory usage to be applied to reading (SF).

読取り(SF)に適用するメモリ使用方法を決めるとき、符合メモリ35の空きメモリ容量(Z)は読取り(SF)の必要メモリ容量(X)以上であった。   When determining the memory usage to be applied to reading (SF), the free memory capacity (Z) of the code memory 35 was greater than the required memory capacity (X) for reading (SF).

したがって、図14(B)では読取り(SF)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1fの格納が可能なメモリ領域55が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2fの格納が可能なメモリ領域65が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域54,55および出力用の1つのメモリ領域94を有し、符合メモリ35は入力用の2つのメモリ領域64,65および出力用の1つのメモリ領域93を有している。   Therefore, in FIG. 14B, the first memory usage method is applied to reading (SF). That is, a memory area 55 capable of storing image data D1f of an amount less than one page is allocated to the bitmap memory 31, and compressed image data D2f for one page can be stored in the code memory 35. A memory area 65 is allocated. The bitmap memory 31 has two memory areas 54 and 55 for input and one memory area 94 for output, and the sign memory 35 has two memory areas 64 and 65 for input and one memory area for output. 93.

図15はメモリ使用方法の設定処理の他の例を示すフローチャートである。図6のメインルーチンは、原稿の態様が混載である場合に、読取り対象のページのサイズに応じて読取りに適用するメモリ使用方法を決めるものであった。これに対して、図15の例は、原稿の態様が混載である場合に、当該原稿の全てのページのサイズが当該原稿における最大サイズであるものと見なして、読取りに適用するメモリ使用方法を決めるものである。混載モードにおいて読取り対象のページのサイズを一律に最大サイズと見なす点を除いて、図15の処理の内容は図6の処理の内容とほぼ同様である。   FIG. 15 is a flowchart showing another example of the setting process of the memory usage method. The main routine of FIG. 6 determines a memory usage method to be applied to reading in accordance with the size of the page to be read when the document mode is mixed. On the other hand, in the example of FIG. 15, when the document mode is mixed loading, the size of all pages of the document is regarded as the maximum size in the document, and the memory use method applied to reading is used. It is a decision. The contents of the process in FIG. 15 are substantially the same as the contents of the process in FIG. 6 except that the size of the page to be read is uniformly regarded as the maximum size in the mixed loading mode.

コントローラー34は、イメージスキャナー17が原稿40から1ページずつ順に連続的に画像を読み取る過程で、各ページの読取りが開始されるとき(S21でYES)、現在の画像入力数を取得し(S22)、前回取得した画像入力数と比べることによって画像入力数が変化したかどうかをチェックする(S23)。ステップS23のチェック結果がNOである場合、フローはステップS27へ進む。   The controller 34 acquires the current number of input images when reading of each page is started in the process in which the image scanner 17 sequentially reads images one page at a time from the document 40 (YES in S21) (S22). Then, it is checked whether or not the image input number has changed by comparing with the previously acquired image input number (S23). If the check result in step S23 is NO, the flow proceeds to step S27.

ステップS23のチェック結果がYESである場合、フローはステップS24へ進み、コントローラー34は、必要メモリ容量の算出ルーチンを実行する(S24)。続いて、コントローラー34は、入力に利用可能なメモリ領域のメモリ容量(Y)を図8の手順で算出し(S25)、図9の手順のメモリ割当てを実行する(S26)。その後、コントローラー34は、イメージスキャナー17A,17Bの一方または両方が使用されている状態から両方共に使用されていない状態になったかどうかをチェックする(S27)。   If the check result in step S23 is YES, the flow proceeds to step S24, and the controller 34 executes a required memory capacity calculation routine (S24). Subsequently, the controller 34 calculates the memory capacity (Y) of the memory area available for input by the procedure of FIG. 8 (S25), and executes the memory allocation of the procedure of FIG. 9 (S26). Thereafter, the controller 34 checks whether or not one or both of the image scanners 17A and 17B is changed from being used to being used (S27).

ステップS27のチェック結果がNOである場合、フローはステップS21へ戻る。ステップS27のチェック結果がYESである場合、コントローラー34は図15の処理の実行を終える。その際、コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれに確保されている入力用のメモリ領域を解放して空きメモリ領域とする。   If the check result in step S27 is NO, the flow returns to step S21. If the check result in step S27 is YES, the controller 34 finishes executing the process of FIG. At that time, the controller 34 releases the input memory area secured in each of the bitmap memory 31 and the code memory 35 to make an empty memory area.

図16は図15の必要メモリ容量の算出ルーチンのフローチャートである。   FIG. 16 is a flowchart of the required memory capacity calculation routine of FIG.

コントローラー34は、イメージスキャナー17による読取りの解像度、および同じく読取りのカラーモードをメインコントローラー10から取得する(S41、S42)。さらに、原稿の態様が混載ではない場合(S43でNO)、イメージスキャナー17による走査が開始されまたは開始されようとしているページの画像サイズを、メインコントローラー10から取得する(S54)。また、原稿の態様が混載である場合(S43でYES)、コントローラー34は、原稿を構成する複数の原稿シートのうちの最も大きい原稿シートのサイズ(最大サイズ)を画像サイズに定める(S46)。そして、コントローラー34は、解像度、カラーモードおよび画像サイズに基づいて、必要メモリ容量(X)を算出する(S45)。   The controller 34 acquires the resolution of reading by the image scanner 17 and the color mode of reading from the main controller 10 (S41, S42). Further, when the document mode is not mixed (NO in S43), the image size of the page on which scanning by the image scanner 17 is started or is about to start is acquired from the main controller 10 (S54). When the document mode is mixed (YES in S43), the controller 34 determines the largest document sheet size (maximum size) among the plurality of document sheets constituting the document as the image size (S46). Then, the controller 34 calculates the necessary memory capacity (X) based on the resolution, the color mode, and the image size (S45).

以上の実施形態において、イメージスキャナー17A,18が同型である必要はない。イメージスキャナー17,17Bの一方または両方がカラーの読取りができないものであってもよいし、ADFを備えていないものであってもよい。   In the above embodiment, the image scanners 17A and 18 need not be the same type. One or both of the image scanners 17 and 17B may not be able to read color, or may not be provided with an ADF.

イメージスキャナー17A,17Bの個数が3以上である場合にも、本発明を適用することができる。イメージスキャナーの個数に応じて、符合メモリ35のメモリ容量を例えばメモリモジュールの増設によって増大させることができる。   The present invention can also be applied when the number of image scanners 17A and 17B is three or more. Depending on the number of image scanners, the memory capacity of the code memory 35 can be increased, for example, by adding memory modules.

画像処理部13の構成は図2の例示に限らない。例えば、ASIC30の中に符合メモリ35を形成してもよい。また、ビットマップメモリ31をASIC30の中に形成せずに、ASIC30を外付けのメモリデバイスの中に設けてもよい。   The configuration of the image processing unit 13 is not limited to the example shown in FIG. For example, the code memory 35 may be formed in the ASIC 30. Further, the ASIC 30 may be provided in an external memory device without forming the bitmap memory 31 in the ASIC 30.

コピーとファクシミリ送信とを行なうというように、出力用のメモリ領域を用いる複数の画像読取りジョブを並行して行なうことができる。その場合、符合メモリ35に出力用の複数のメモリ領域を割り当てた残りのメモリ容量(Y)に応じて、第1のメモリ使用方法または第2のメモリ使用方法を適用して入力用のメモリ領域を割り当てればよい。   A plurality of image reading jobs using an output memory area can be performed in parallel, such as copying and facsimile transmission. In that case, the memory area for input by applying the first memory usage method or the second memory usage method according to the remaining memory capacity (Y) in which a plurality of memory areas for output are allocated to the code memory 35. Can be assigned.

第1のメモリ使用方法を適用した読取りにおいて、符合メモリ35から画像データD2をストレージ14へ転送する際に、画像データD2を格納しているメモリ領域に加えて新たに1つのメモリ領域を確保するようにしてもよい。これにより、ストレージ14への読出しと符合メモリ35への書込みとを並行して行なってパフォーマンスを高めることができる。   In reading using the first memory usage method, when transferring the image data D2 from the code memory 35 to the storage 14, a new memory area is secured in addition to the memory area storing the image data D2. You may do it. Thereby, reading to the storage 14 and writing to the code memory 35 can be performed in parallel to improve performance.

1 MFP(画像処理装置)
17A,17B イメージスキャナー(入力手段)
19 プリンターエンジン(出力手段)
15 通信インタフェース(出力手段)
D1 画像データ(非圧縮画像データ)
D2 画像データ(圧縮データ)
32 圧縮・伸張回路(圧縮手段、伸張手段)
35 符合メモリ(揮発性のメモリ)
60 メモリ領域(第1の領域)
80 メモリ領域(第2の領域)
91,93 メモリ領域(第3の領域)
344 メモリ割当て部(モード設定手段、領域確保手段)
14 ストレージ
33 DMA転送回路(第1の転送手段、第2の転送手段)

1 MFP (image processing device)
17A, 17B Image scanner (input means)
19 Printer engine (output means)
15 Communication interface (output means)
D1 Image data (uncompressed image data)
D2 Image data (compressed data)
32 Compression / decompression circuit (compression means, decompression means)
35 Code memory (volatile memory)
60 memory area (first area)
80 memory area (second area)
91, 93 Memory area (third area)
344 Memory allocation unit (mode setting means, area securing means)
14 Storage 33 DMA transfer circuit (first transfer means, second transfer means)

Claims (11)

1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力手段によって出力する画像処理装置であって、
前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する、モード設定手段と、
前記画像の圧縮されていない画像データである非圧縮画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する圧縮手段と、
揮発性のメモリと、
前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する領域確保手段と、
不揮発性のストレージと、
前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃ったら当該すべての圧縮データを前記ストレージへ転送し当該画像と対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像と対応付けて前記ストレージに記憶させる第1の転送手段と、
前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送する第2の転送手段と、
を有することを特徴とする画像処理装置。
An image processing apparatus for outputting any of images input by each of one or a plurality of input means by an output means,
Mode setting means for setting, for each image, a mode for compressing the image to one of the first mode and the second mode;
Uncompressed image data that is uncompressed image data of the image is compressed for each first unit when the mode of the image is set to the first mode, and the second mode Compression means for generating compressed data by compressing every second unit smaller than the first unit,
Volatile memory,
A first area for storing all the compressed data for each of the images for which the first mode is set is secured in the memory, and for each of the images for which the second mode is set. An area for securing a second area for storing one piece of the compressed data and a third area for storing all the compressed data of the image that is the target of the current processing by the output means Securing means;
Non-volatile storage,
When all the compressed data of the image for which the first mode is set is stored in the memory, all the compressed data is transferred to the storage and stored in association with the image, and the second mode is A first transfer means for transferring the compressed data of the set image to the storage each time the compressed data of the image is stored in the memory, and storing the compressed data in the storage in association with the image;
Second transfer means for transferring from the storage all the compressed data of the image to be processed by the output means to the memory;
An image processing apparatus comprising:
前記モード設定手段は、前記画像の前記モードを、前記メモリに当該画像の前記第1の領域分の空きがある場合は前記第1のモードに設定し、そうでない場合は前記第2のモードに設定する、
請求項1に記載の画像処理装置。
The mode setting means sets the mode of the image to the first mode when the memory has a space for the first area of the image, and to the second mode otherwise. Set,
The image processing apparatus according to claim 1.
前記圧縮手段は、前記モードが前記第2のモードに設定されている前記画像の前記圧縮データを、前記メモリの使用も確保もされていない空き領域に当該圧縮データを記憶することができるサイズを前記第2の単位として当該画像の前記非圧縮データを圧縮することによって生成する、
請求項1または請求項2に記載の画像処理装置。
The compression means has a size capable of storing the compressed data of the image in which the mode is set to the second mode in a free area in which the memory is not used or secured. Generated by compressing the uncompressed data of the image as the second unit;
The image processing apparatus according to claim 1.
前記入力手段のそれぞれは、それぞれの前記画像を、用紙の印刷面をスキャンすることによって入力し、
前記第1の単位は、前記用紙の1面のサイズであり、
前記圧縮手段は、前記モードが前記第2のモードに設定されている前記画像の前記圧縮データを、前記空き領域に当該画像の(1/M)面分(ただし、M≧2)を記憶させることができるが、(1/(M−1))面分を記憶させることができない場合に、(1/M)面のサイズを前記第2の単位として当該画像の前記非圧縮データを圧縮することによって生成する、
請求項3に記載の画像処理装置。
Each of the input means inputs each of the images by scanning a printing surface of paper,
The first unit is the size of one side of the paper,
The compression means stores the compressed data of the image in which the mode is set to the second mode, and the (1 / M) plane portion (where M ≧ 2) of the image is stored in the empty area. If the (1 / (M-1)) plane portion cannot be stored, the uncompressed data of the image is compressed using the (1 / M) plane size as the second unit. Generated by
The image processing apparatus according to claim 3.
前記領域確保手段は、前記第1の領域、前記第2の領域、および前記第3の領域を、それぞれに前記非圧縮データが記憶される前記画像の特性に基づいて確保する、
請求項1ないし請求項4のいずれかに記載の画像処理装置。
The area securing means secures the first area, the second area, and the third area based on the characteristics of the image in which the uncompressed data is stored.
The image processing apparatus according to claim 1.
前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力される場合は、
前記モード設定手段は、当該複数の画像について前記モードを共通に設定し、
前記領域確保手段は、当該複数の画像のうちの最初の画像のために、当該設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、その後、当該確保した領域を残りの画像のために確保し続ける、
請求項1ないし請求項5のいずれかに記載の画像処理装置。
When a plurality of the images are continuously input from the same input means among the input means,
The mode setting means sets the mode in common for the plurality of images,
The area securing means secures one of the first area and the second area according to the set mode for the first image of the plurality of images, Then continue to reserve the reserved area for the remaining images,
The image processing apparatus according to claim 1.
前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力され、かつ、当該複数の画像の用紙のサイズが異なる場合は、
前記モード設定手段は、当該複数の画像について、当該複数の画像のサイズのうち最も大きいサイズに応じて前記モードを共通に設定し、
前記領域確保手段は、当該複数の画像のうちの最初の画像のために、当該設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、その後、当該確保した領域を残りの画像のために確保し続ける、
請求項1ないし請求項5のいずれかに記載の画像処理装置。
When a plurality of the images are continuously input from the same input means of the input means and the paper sizes of the plurality of images are different,
The mode setting means commonly sets the mode according to the largest size of the plurality of images for the plurality of images,
The area securing means secures one of the first area and the second area according to the set mode for the first image of the plurality of images, Then continue to reserve the reserved area for the remaining images,
The image processing apparatus according to claim 1.
前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力され、かつ、当該複数の画像のサイズが異なる場合は、
前記モード設定手段は、当該複数の画像のそれぞれについて、それぞれの画像のサイズに応じて前記モードを設定し、
前記領域確保手段は、当該複数の画像それぞれが入力される際に、当該入力される画像のために、当該入力される画像について設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、当該入力される画像の前記圧縮データがすべて前記ストレージに転送されたら当該領域を解放させる、
請求項1ないし請求項5のいずれかに記載の画像処理装置。
When a plurality of the images are continuously input from the same input means of the input means and the sizes of the plurality of images are different,
The mode setting means sets the mode for each of the plurality of images according to the size of each image,
When each of the plurality of images is input, the area securing unit is configured to set the first area and the second area for the input image according to a mode set for the input image. Secure any one of the areas, and release the area when all the compressed data of the input image is transferred to the storage;
The image processing apparatus according to claim 1.
前記領域確保手段は、前記出力手段による現在の出力の対象である前記画像に対して画像処理として、拡大し、縮小し、回転させ、または他の画像とともに1面に集約する処理を行って出力する場合は、さらに、当該画像処理が施された画像の処理済画像データを記憶するための第4の領域を前記メモリに確保する、
請求項1ないし請求項8のいずれかに記載の画像処理装置。
The area securing means performs processing for enlarging, reducing, rotating, or consolidating with one other image together with other images as image processing for the current output target of the output means In this case, a fourth area for storing processed image data of the image subjected to the image processing is further secured in the memory.
The image processing apparatus according to claim 1.
1つまたは複数の入力手段と、揮発性のメモリと、不揮発性のストレージと、前記1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力する出力手段とを有する画像処理装置における画像データ処理方法であって、
前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定し、
前記画像の非圧縮の画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成し、
前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保し、
前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃うごとに当該すべての圧縮データを前記ストレージへ転送し互いに対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像の他の圧縮データと対応付けて前記ストレージに記憶させ、
前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送させる、
ことを特徴とする画像データ処理方法。
An image processing apparatus having one or more input means, a volatile memory, a nonvolatile storage, and an output means for outputting any of the images input by each of the one or more input means An image data processing method in
For each image, the mode for compressing the image is set to one of the first mode and the second mode,
The uncompressed image data of the image is compressed for each first unit when the mode of the image is set to the first mode, and when the second mode is set Generating compressed data by compressing every second unit smaller than the first unit;
A first area for storing all the compressed data for each of the images for which the first mode is set is secured in the memory, and for each of the images for which the second mode is set. Securing a second area for storing one of the compressed data, securing a third area for storing all the compressed data of the image that is the target of the current processing by the output means;
Each time all the compressed data of the image for which the first mode is set is stored in the memory, all the compressed data is transferred to the storage and stored in association with each other, and the second mode is set Each time the compressed data of the image being stored is stored in the memory, the compressed data is transferred to the storage and stored in the storage in association with other compressed data of the image,
From the storage, to transfer all the compressed data of the image that is the target of the current output processing by the output means to the memory,
An image data processing method characterized by the above.
1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力する処理を行なうコンピューターに用いられるコンピュータープログラムであって、
前記コンピューターに、
前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する処理を実行させ、
前記画像の非圧縮の画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する処理を実行させ、
揮発性のメモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、現在の出力の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する処理を実行させ、
前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃うごとに当該すべての圧縮データを不揮発性のストレージへ転送し互いに対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像の他の圧縮データと対応付けて前記ストレージに記憶させる処理を実行させ、
前記ストレージから、現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送させる処理を実行させる、
ことを特徴とするコンピュータープログラム。

A computer program used in a computer for performing processing for outputting any of images input by each of one or more input means,
On the computer,
For each image, a process for setting the mode for compressing the image to one of the first mode and the second mode is executed,
The uncompressed image data of the image is compressed for each first unit when the mode of the image is set to the first mode, and when the second mode is set By performing compression every second unit smaller than the first unit, a process of generating compressed data is executed,
A first area for storing all the compressed data for each of the images for which the first mode is set is secured in a volatile memory, and the image for which the second mode is set A process for securing a second area for storing one piece of the compressed data every time and a third area for storing all the compressed data of the image that is the target of the current output process And execute
Each time all the compressed data of the image for which the first mode is set is stored in the memory, all the compressed data is transferred to a non-volatile storage and stored in association with each other, and the second mode Each time the compressed data of the image for which is set is stored in the memory, the compressed data is transferred to the storage and associated with other compressed data of the image and stored in the storage.
Causing the storage to execute a process of transferring all the compressed data of the image to be processed for current output to the memory;
A computer program characterized by that.

JP2014050622A 2014-03-13 2014-03-13 Image processing apparatus and image data processing method Active JP6260372B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014050622A JP6260372B2 (en) 2014-03-13 2014-03-13 Image processing apparatus and image data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014050622A JP6260372B2 (en) 2014-03-13 2014-03-13 Image processing apparatus and image data processing method

Publications (2)

Publication Number Publication Date
JP2015177260A true JP2015177260A (en) 2015-10-05
JP6260372B2 JP6260372B2 (en) 2018-01-17

Family

ID=54256064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014050622A Active JP6260372B2 (en) 2014-03-13 2014-03-13 Image processing apparatus and image data processing method

Country Status (1)

Country Link
JP (1) JP6260372B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260804A (en) * 1997-03-21 1998-09-29 Fuji Xerox Co Ltd Picture processor
JP2000101808A (en) * 1998-09-25 2000-04-07 Fuji Xerox Co Ltd Image processing unit
JP2003198818A (en) * 2001-12-27 2003-07-11 Ricoh Co Ltd Image processing apparatus

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260804A (en) * 1997-03-21 1998-09-29 Fuji Xerox Co Ltd Picture processor
JP2000101808A (en) * 1998-09-25 2000-04-07 Fuji Xerox Co Ltd Image processing unit
JP2003198818A (en) * 2001-12-27 2003-07-11 Ricoh Co Ltd Image processing apparatus

Also Published As

Publication number Publication date
JP6260372B2 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
JP4854309B2 (en) Data storage control device
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
US9615000B2 (en) Image processing apparatus and image processing method for efficiently reserving memory
US7782473B2 (en) Apparatus for transforming image data for another and method
US20210142129A1 (en) Printing apparatus, method for controlling printing apparatus, and storage medium
JP6655963B2 (en) An image processing apparatus and a control method for the image processing apparatus.
JP6260372B2 (en) Image processing apparatus and image data processing method
JP5928505B2 (en) Image processing apparatus, image processing method and image processing program in the same
JP5233608B2 (en) Image forming apparatus, image data transfer method, and program
JP5232728B2 (en) Image forming apparatus
US9069507B2 (en) Print server, printing system, and computer program product configured to send print data to an image forming apparatus based on obtained designation of the image forming apparatus
JP6772020B2 (en) Image processing device, control method of image processing device, and program
JP2001146046A (en) Printing system
JP5915670B2 (en) Image processing apparatus, image processing method and image processing program in the same
JP2018118426A (en) Image formation system and image formation method
JP3603510B2 (en) Image processing device
JP2011053944A (en) Image forming device, image forming method, and control program
JP3743432B2 (en) Data processing device
JP5935428B2 (en) Reading control apparatus, reading system, and program
JP7383462B2 (en) Image processing device, control method for image processing device, program
JP6264757B2 (en) Image forming apparatus, image forming system, image forming apparatus control method, and image forming apparatus control program
JPH11313182A (en) Image forming device
JP2002117399A (en) Memory control device for digital image processing device
US9491325B2 (en) Image processing apparatus, image processing method for the same, and recording medium
JP5867566B1 (en) Printing control device, printing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171024

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171127

R150 Certificate of patent or registration of utility model

Ref document number: 6260372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150