JP6260372B2 - 画像処理装置および画像データ処理方法 - Google Patents

画像処理装置および画像データ処理方法 Download PDF

Info

Publication number
JP6260372B2
JP6260372B2 JP2014050622A JP2014050622A JP6260372B2 JP 6260372 B2 JP6260372 B2 JP 6260372B2 JP 2014050622 A JP2014050622 A JP 2014050622A JP 2014050622 A JP2014050622 A JP 2014050622A JP 6260372 B2 JP6260372 B2 JP 6260372B2
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.)
Active
Application number
JP2014050622A
Other languages
English (en)
Other versions
JP2015177260A (ja
Inventor
貴信 杉山
貴信 杉山
渥美 知之
知之 渥美
宗 及川
宗 及川
竜也 北口
竜也 北口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JP2015177260A publication Critical patent/JP2015177260A/ja
Application granted granted Critical
Publication of JP6260372B2 publication Critical patent/JP6260372B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Or Security For Electrophotography (AREA)
  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

本発明は、画像データを圧縮して不揮発性のメモリに記憶させる画像データ処理に関する。
複写機は、スキャナーによって原稿の用紙から画像を読み取り、プリンターによって新しい用紙に印刷する。
複写の指令後、スキャナーは、直ちに読取りを開始することができるが、プリンターは、定着器の温度を上げなければならず、印刷を開始するまでに時間が掛かることがある。また、通常、スキャナーが1枚の用紙から画像を読み取る速さのほうが、プリンターが1枚の用紙に画像を印刷する速さよりも速い。
そこで、従来、複写機は、画像を次のように複写する。スキャナーによって画像を読み取ると、この画像の画像データを圧縮して揮発性のメモリに記憶させ、圧縮した画像データをメモリから不揮発性のストレージに待避させる。そして、プリンターにおける処理の進行の状況に応じて、圧縮した画像データをストレージからメモリに読み出し、これを伸張することによって画像データを復元し、プリンターによって画像を用紙に印刷する。
画像データを圧縮して不揮発性のストレージに待避させるのは、メモリが高価なので、製造のコストの削減のために容量の小さいメモリを使用できるようにするためである。
特開2006−20029号公報 特開2003−198817号公報
複写機のメモリを管理する方法として、次のような方法が提案されている。1ページの画像データを、1ページ未満のバンドデータとして逐次、次のように処理を行う。メモリ管理手段は、画像出力手段が起動後停止不可能な出力手段である場合には、符号メモリを、出力するページ分のデータが全て収まるサイズのメモリ容量だけ確保するとともにビットマップメモリを、ページ分に満たないバンド単位のメモリサイズだけ確保し、画像出力手段が起動後停止不可能な出力手段でない場合には、第2の符号メモリおよびビットマップメモリの両方をバンド単位で確保する(特許文献1)。
または、メモリ制御部のDMA制御により、入力画像に対してデータ圧縮変換を施した後、変換データを画像メモリのバッファ領域を通してHDDへ転送する一連の処理を行う際、複数のデータ転送(同時転送)要求があるか否かにより、分割(複数回)/一括(1回)の各転送操作を選択する。1画像を分割転送する場合にバッファ領域として、HDDへの分割転送量に相当する容量を、又一括転送する場合に一括転送量に相当する容量を確保する(特許文献2)。
上述の方法によると、圧縮した画像データを格納するメモリを効率的に使用することができる。しかし、さらに効率的にこのメモリを使用する方法が求められる。
本発明は、このような課題に鑑み、圧縮した画像データを格納するメモリをより効率的に使用できるようにすることを目的とする。
本発明の一形態に係る画像処理装置は、1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力手段によって出力する画像処理装置であって、前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する、モード設定手段と、前記画像の圧縮されていない画像データである非圧縮画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する圧縮手段と、揮発性のメモリと、前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する領域確保手段と、不揮発性のストレージと、前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃ったら当該すべての圧縮データを前記ストレージへ転送し当該画像と対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像と対応付けて前記ストレージに記憶させる第1の転送手段と、前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送する第2の転送手段と、を有する。
本発明によると、圧縮した画像データを格納するメモリをより効率的に使用できる。
本発明の実施形態に係るMFPのハードウェア構成の概略を示す図である。 MFPの画像処理部の構成を示す図である。 画像処理部内のデータの流れを示す図である。 画像処理部に関わる第1のメモリ使用方法および第2のメモリ使用方法を示す図である。 画像処理部のコントローラーの機能構成を示す図である。 メモリ使用方法の設定処理のフローチャートである。 図6の必要メモリ容量の算出ルーチンのフローチャートである。 図6の空きメモリ容量の算出ルーチンのフローチャートである。 図6のメモリ割当てルーチンのフローチャート図である。 図9のバンドサイズの算出サブルーチンのフローチャートである。 メモリ割り当ての第1例を示す図である。 メモリ割当ての第2例を示す図である。 メモリ割当ての第3例を示す図である。 メモリ割当ての第4例を示す図である。 メモリ使用方法の設定処理の他の例を示すフローチャートである。 図14の必要メモリ容量の算出ルーチンのフローチャートである。
本発明の実施形態に係る画像処理装置としてMFP(Multi-functional Peripheral)を挙げる。MFPはオフィスワークに有用な複数の機能を集約した複合型の情報機器であり、投入されるジョブに応じて、コピー機、プリンター、ネットワークスキャナー、ファクシミリ機、ドキュメントサーバーなどとして動作する。
図1に示されるように、MFP1は、メインコントローラー10、画像処理部13、ストレージ14、通信インタフェース15、操作パネル16、2つのイメージスキャナー17A,17B、プリンターエンジン19、および電源回路20を備える。
メインコントローラー10は、MFP1を制御するためのプログラムを実行するCPU(Central Processing Unit)、プログラムを記憶するROM(Read Only Memory)、およびプログラム実行のワークアリアとして用いられるRAM(Random Access Memory)を有している。
画像処理部13は、イメージスキャナー17A,17Bのそれぞれから入力される画像データ(スキャンデータ)を圧縮する処理、および圧縮された画像データを伸張する処理を行なう。画像処理部13では、圧縮と伸張とに用いるメモリの使用方法として、後述するように第1のメモリ使用方法と第2のメモリ使用方法とが画像データの入出力の状況に応じて設定される。
ストレージ14は例えば数百ギガバイト以上の記憶容量をもつハードディスクドライブである。ストレージ14は、アプリケーションプログラムの保存、設定データの保存、画像処理部13で圧縮された画像データの一時的な記憶などに用いられる。また、ストレージ14には、文書(ドキュメント)の保存用のボックス群が設けられる。ボックス群は、個々のユーザーに割り当てられる個人ボックスおよび複数のユーザーが共有する共有ボックスといった複数のボックスから構成される。
通信インタフェース15は、MFP1と外部装置との通信を可能にする。通信インタフェース15は、MFP1をLAN(Local Area Network)に通信可能に接続するネットワーク・インタフェース・カード(NIC)、および公衆電話回線によるファクシミリ通信のためのモデムを含んでいる。
操作パネル16は、タッチパネルディスプレイとハードキーパネルとを有している。タッチパネルディスプレイは、ソフトウェアキーであるボタンの配置された操作用の画面を表示し、画面に対するタッチ操作を検出する入出力デバイスである。タッチパネルディスプレイは、液晶パネルとその表面に密着する透光性のタッチ面部を有したタッチパネルとから構成される。ハードキーパネルには、処理の開始を指示するスタートキーを含む複数のハードキーが配置されている。
2つのイメージスキャナー17A,17Bはそれぞれ、プラテンガラス上に置かれた原稿シートからそれに記録されている画像を線順次走査によって光学的に読み取る。本実施形態では、これらイメージスキャナー17A,17Bが同型であり、カラー画像およびモノクロ画像の読取りが可能であり、最大読取りサイズがA3サイズであり、かつ共にADF(Auto Document Feeder)を備えているものとする。イメージスキャナー17A,17Bは、原稿シートのサイズを公知の手法によって検知するためのシート検出信号を出力するセンサーを有している。
なお、以下においてイメージスキャナー17A,17Bを総称してイメージスキャナー17ということがある。
プリンターエンジン19は、コピー、プリントおよびファクシミリ受信において、例えば電子写真法によって画像を用紙に印刷する。印刷方法はインクジェット法または他の方法であってもよい。
電源回路20は、商用交流電源から供給される電力を、駆動系および制御系にそれらに適した電圧の電力に変換して供給する。
このようなMFP1は、操作パネル16を用いてユーザーが指定するジョブ、および外部装置からのアクセスによって指定されるジョブを実行する。MFP1が実行可能な様々なジョブの中に、原稿シートからの画像の読取りを伴うジョブ(これを“画像読取りジョブ”と呼称する)が含まれる。1つの画像読取りジョブでは、イメージスキャナー17A,17Bのいずれか片方が用いられる。
画像読取りジョブとして、コピー、スキャン・トゥー・ボックス、およびデータ送信がある。コピーは読み取った原稿画像を用紙に印刷するジョブである。スキャン・トゥー・ボックスは、読取りで得られた画像データをストレージ14のボックスに保存データとして格納するジョブである。データ送信は、読取りで得られた画像データに基づいて送信用の画像データを生成し、生成した画像データを指定された相手先へ送るジョブである。データ送信で指定される相手先は、パーソナルコンピューターに代表されるユーザー端末、ファイルサーバー、電子メールサーバー、ファクシミリ機などである。MFP1の内部にサーバーが設けられている場合、そのサーバーを相手先とすることができる。
MFP1は、イメージスキャナー17Aによる画像の読取りと、イメージスキャナー17Bによる画像の読取りとを並行して行なうことができる。MFP1では、ユーザーが投入した画像読取りジョブ(J)によってイメージスキャナー17A,17Bの一方が使用されているときに、当該ユーザーまたは他のユーザーはイメージスキャナー17A,17Bの他方を使用する画像読取りジョブ(K)の実行開始を指示することができる。
図2は画像読取りジョブに関係する画像処理部13の構成を示している。図示のように画像処理部13はASIC(Application Specific Integrated Circuit)30と符合メモリ35とを有する。ASIC30は、ビットマップメモリ31、圧縮・伸張回路32、DMA転送回路33、およびコントローラー34を備える。
ビットマップメモリ31は、ラスター形式の画像データの一時記憶に用いられる。ビットマップメモリ31は、2つのイメージスキャナー17A,17Bの両方を用いて複数の原稿の読取りを並行して行ないながら画像を印刷するのを可能にするメモリ容量を有している。
圧縮・伸張回路32は、画像データの圧縮および圧縮した画像データの伸張を受け持つ。圧縮・伸張回路32は、イメージスキャナー17A,17Bのそれぞれによって得られた画像データを並行して圧縮することが可能に構成されている。並行して圧縮するための構成は、同時に圧縮を行なうことが可能な複数の圧縮器を備えるものでもよいし、複数の画像データを時分割で圧縮するものであってもよい。
DMA転送回路33は、画像処理部13の内部のデータ転送および画像処理部13と外部とのデータの入出力をDMA(Direct Memory Access)によって行なうための回路である。
コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれのメモリ領域を管理する。コントローラー34は、DMA転送回路33に対して、ビットマップメモリ31および符合メモリ35のそれぞれにおけるデータの格納または読出しのためにアクセスすべきメモリ領域を指定する。このような処理を実現するための制御プログラムを実行するプロセッサー340をコントローラー34は備えている。プロセッサー340が実行する制御プログラムはASIC30内のROMによって記憶されている。
図3は画像処理部内のデータの流れを示している。画像処理部13では次の[1]〜[8]のようにデータが転送される。
[1] 画像読取りジョブの実行が開始されると、使用される一方のイメージスキャナー17(例えばイメージスキャナー17A)から原稿シートの走査で得られた画像データD1が逐次に画像処理部13に入力される。入力された画像データD1はDMA転送されてビットマップメモリ31にいったん格納される。
[2] 原稿の1ページ分またはそれより少ないデータ量の画像データD1がビットマップメモリ31に格納されると、ビットマップメモリ31から圧縮・伸張回路32へ画像データD1がDMA転送される。このとき、イメージスキャナー17Aからの画像データD1の入力が続いている場合、ビットマップメモリ31からの格納されている画像データD1の読出しと並行して、イメージスキャナー17Aから新たに入力された画像データD1のビットマップメモリ31への格納が行なわれる。
[3] 画像データD1を圧縮した画像データD2が、圧縮・伸張回路32から符合メモリ35へDMA転送される。
[4] 符合メモリ35からストレージ14へ画像データD2がDMA転送される。
以上の[1]〜[4]の転送は並行して行なわれる。すなわち、画像データD1をビットマップメモリ31に格納しつつ先に格納された画像データD1を読み出して圧縮し、得られた画像データD2を直ちに符合メモリ35に一時記憶させながら、適宜に画像データD2をストレージ14に蓄積する、という処理が行なわれる。
なお、ストレージ14への転送に先立って画像データD1を圧縮することにより、転送対象のデータ量を低減して転送の所要時間を短縮することができる。
画像読取りジョブがスキャン・トゥー・ボックスである場合には、1枚または複数枚の原稿シートから得られる画像データD1に対応する画像データD2が全てストレージ14に格納されることでジョブが完了する。
これに対して、画像読取りジョブがコピーまたはデータ送信である場合、[1]〜[4]の転送と並行して、次の[5]〜[8]の転送が行なわれる。図3ではコピーの場合が例示されている。
[5] ストレージ14から符合メモリ35へ1ページ分の画像データD2がDMA転送される。
[6] 符合メモリ35から圧縮・伸張回路32へ1ページ分の画像データD2がDMA転送される。画像データD2は圧縮・伸張回路32によって伸張される。
[7] 画像データD2を伸張した画像データD3が、圧縮・伸張回路32からビットマップメモリ31へDMA転送される。
[8] ビットマップメモリ31からプリンターエンジン19へ画像データD3がDMA転送される。この後、プリンターエンジン19内で画像データD3に基づいて印刷用のラスター画像データが生成される。
[1]〜[4]の転送と[5]〜[8]の転送とが並行して行なわれるとき、符合メモリ35には、圧縮・伸張回路32からの画像データD2を記憶する入力用のメモリ領域と、ストレージ14から読み出される1ページ分の画像データD2を記憶する出力用のメモリ領域とが割り当てられる。
このような[1]〜[8]の転送が行なわれる画像処理部13におけるビットマップメモリ31および符合メモリ35の使用に関して、第1のメモリ使用方法および第2のメモリ使用方法がある。画像処理部13では、これら2つのメモリ使用方法が画像読取りジョブの実行開始後の符合メモリ35の空きメモリ容量の増減に応じて動的に使い分けられる。
図4(A)は第1のメモリ使用方法を示し、図4(B)は第2のメモリ使用方法を示している。図4(A)、(B)では、複数枚の原稿シートで構成されるドキュメント(これを原稿という)40の画像をイメージスキャナー17Aが読み取る場合が想定されている。ただし、原稿40は1枚の原稿シートであってもよいし、イメージスキャナー17Bが原稿40の画像を読み取ってもよい。図中、メモリ領域60,70に付された斜線は1ページ分のメモリ容量(メモリサイズ)を有することを表わしている。斜線の付されていないメモリ領域50,80のメモリ容量は1ページ分未満である。
本明細書において、「ページ」という用語は、原稿シートの片面を意味する。「1ページ分」とは、原稿シートの片面から読み取られる画像の全体に対応する分量であることを意味する。
図4(A)に示される第1のメモリ使用方法は、各画像読取りジョブについて、ビットマップメモリ31に原稿40の1ページ分よりも少ない分量(例えば1ぺージ分の半分)の画像データD1の格納が可能なメモリ領域50を確保し、符合メモリ35に1ページ分の圧縮された画像データD2の格納が可能なメモリ領域60を確保する方法である。この方法は、符合メモリ35内の解放されたメモリ領域の容量である空きメモリ容量がメモリ領域60の確保に必要な容量以上である場合に適用される。
第1のメモリ使用方法を適用した場合、例えば2分の1ぺージ分の画像データD1がメモリ領域50に格納された段階(つまり、1ぺージ分の画像データD1が格納される段階よりも早い段階)で、画像データD1の圧縮が開始される。そして、圧縮された画像データD2がメモリ領域60に1ページ分貯められ、ページ単位でストレージ14に転送される。
図4(B)に示される第2のメモリ使用方法は、各画像読取りジョブについて、ビットマップメモリ31に原稿40の1ページ分の画像データD1の格納が可能なメモリ領域70を確保し、符合メモリ35に1ページ分よりも少ない量の画像データD2の格納が可能なメモリ領域80を確保する方法である。この方法は、符合メモリ35に1ページ分のメモリ領域60を確保することができない場合に適用される。メモリ領域80のメモリ容量は、符合メモリ35の空きメモリ容量を超えない範囲内の分量に設定される。
第2のメモリ使用方法を適用した場合、1ぺージ分の画像データD1がメモリ領域70に格納され始めた後、圧縮してメモリ領域80に格納し切れる量の画像データD1が格納されるごとに、画像データD1の圧縮が行なわれる。そして、圧縮されてメモリ80に一時記憶された画像データD2が、逐次にストレージ14に転送される。1ページ分の画像データD2の保持はストレージ14によって行なわれる。
第2のメモリ使用方法には、符合メモリ35の空きメモリ容量が1ページ分に満たない場合に、メモリ割当てを行なおうとしている画像読取りジョブではない他の画像読取りジョブが終了して空きメモリ容量が1ページ分以上に増えるのを待たずに、原稿40の読取りを始めることができるという利点がある。ただし、第1のメモリ使用方法と比べて1ページ当たりの圧縮処理の回数が多くなって転送の効率が低下し、原稿40を走査してデータをストレージ14に貯める一連の動作のパフォーマンス(処理速度)が第1のメモリ使用方法を適用した場合よりも低くなることがある。
図5は画像処理部のコントローラーの機能構成を示している。コントローラー34は、入力モード判別部341、必要メモリ容量算出部342、空きメモリ容量算出部343、およびメモリ領域割当て部344を有している。これら構成要素は、プロセッサー340が制御プログラムを実行することによって実現される機能要素である。
入力モード判別部341は、MFP1に投入された画像読取りジョブに関してメインコントローラー10から与えられる情報に基づいて、画像処理部13におけるメモリ割当てに関わる入力モードを判別する。入力モードは、投入された画像読取りジョブの種別、使用するイメージスキャナー17A,17Bの個数、および読取り条件(読取り対象ページのサイズ、解像度、カラーモードなど)によって分類される。
必要メモリ容量算出部342は、1ページ分の圧縮された画像データD2を格納する場合に符合メモリ35に割り当てるべきメモリ領域のメモリ容量である必要メモリ領域(X)を算出する。必要メモリ領域(X)は、読取り条件に依存する。
空きメモリ容量算出部343は、符合メモリ35における入力に利用可能なメモリ領域のメモリ容量(Y)を算出する。メモリ容量(Y)は、画像読取りジョブの種別(出力用のメモリ領域の必要なジョブかどうか)に依存する。
メモリ割当て部344は、必要メモリ容量算出部342および空きメモリ容量算出部343によって得られた必要メモリ領域(X)とメモリ容量(Y)とに応じて、ページの読取りに適用するメモリ使用方法を決める。そして、メモリ割当て部344は、ビットマップメモリ31および符合メモリ35のそれぞれに、メモリ使用方法に応じたメモリ容量をもつメモリ領域を割り当て、割り当てたメモリ領域のアドレスをDMA転送回路33に通知する。
図6は、画像処理部のコントローラーが実行するメモリ使用方法の設定処理の流れを示している。コントローラー34は、メインコントローラー10から画像読取りジョブがMFP1に投入されたことが通知されたときに、図6の処理(これをメインルーチンという)を実行する。
ここでの説明では、原稿40の画像を読み取る画像読取りジョブ(J1)の投入を契機としてメインルーチンの実行が開始され、この画像読取りジョブ(J1)の投入に際してユーザーがイメージスキャナー17Aを選択したものとする。画像読取りジョブ(J1)が完了する以前に、他の画像読取りジョブ(J2)が投入される場合があり得る。この場合、画像読取りジョブ(J2)にイメージスキャナー17Bが用いられ、2つのイメージスキャナー17A,17Bのそれぞれから画像データD1が画像処理部13に入力されることになる。
コントローラー34は、イメージスキャナー17Aが原稿40から1ページずつ順に連続的に画像を読み取る過程で、各ページの読取りが開始されるとき(S01でYES)、原稿40の態様が“混載”であるかどうかをチェックする(S02)。“混載”とは、原稿40を構成する複数の原稿シートのサイズが同一ではない態様、すなわち少なくとも1枚の原稿シートのサイズが他の原稿シートのサイズと異なる態様である。
本実施形態では、ステップS02のチェックは、画像読取りジョブ(J1)の投入の際にユーザーによって混載モードが選択されているかどうかのチェックとされている。コントローラー34は、メインコントローラー10から取得した画像読取りジョブ(J1)の設定に関する情報に基づいて、混載モードが選択されているかどうかをチェックする。コントローラー34は、混載モードが選択されている場合、原稿40の態様が混載であると判断し、混載モードが選択されていない場合、原稿40の態様が混載ではないと判断する。
原稿40の態様が混載ではない場合(S02でNO)、コントローラー34は、現在の画像入力数を取得し(S03)、前回取得した画像入力数と比べることによって画像入力数が変化したかどうかをチェックする(S04)。画像入力数は、イメージスキャナー17A,17Bのうち、使用されている状態のものの個数である。使用されている状態とは、原稿40がADFの給紙トレイにセッティングされてから最後のページの走査が終了するまでの状態である。
メインルーチンの実行が開始された後に初めて取得される画像入力数は「1」である。初めて画像入力数が取得されるとき、前回の画像入力数は「0」とされる。そして、ステップS04のチェックでは、画像入力数が「0」から「1」へ変化したと判断され、チェック結果はYESとなる。
画像読取りジョブ(J1)の実行中に画像読取りジョブ(J2)の実行が開始された場合、画像読取りジョブ(J2)の実行が開始された後に初めて取得される画像入力数は「2」である。このとき前回の画像入力数は「1」であるので、ステップS04のチェックでは、画像入力数が「1」から「2」へ変化したと判断され、チェック結果はYESとなる。
また、画像読取りジョブ(J1)の実行中に画像読取りジョブ(J2)の実行が開始され、その後にいずれか一方の画像読取りジョブによるイメージスキャナー17の使用が終了した場合、イメージスキャナー17の使用が終了した後に初めて取得される画像入力数は「1」である。このとき前回の画像入力数は「2」であるので、ステップS04のチェックでは画像入力数が「2」から「1」へ変化したと判断され、チェック結果はYESとなる。
一方、画像読取りジョブ(J1)および画像読取りジョブ(J2)のいずれか1つのみが実行されている状態での2回目以降のステップS03の実行で取得される画像入力数は「1」である。このとき前回の画像入力数は「1」であるので、ステップS04のチェックでは画像入力数が変化していないと判断され、チェック結果はNOとなる。ステップS04のチェック結果がNOである場合、フローはステップS08へ進む。
画像読取りジョブ(J1)および画像読取りジョブ(J2)によって2つのイメージスキャナー17A,17Bの両方が使用されている状態での2回目以降のステップS03の実行で取得される画像入力数は「2」である。このとき前回の画像入力数は「2」であるので、ステップS04のチェックでは画像入力数が変化していないと判断され、チェック結果はNOとなる。
ステップS04のチェック結果がYESである場合、フローはステップS05へ進み、コントローラー34は、必要メモリ容量の算出ルーチン(S05)、空きメモリ容量の算出ルーチン(S06)、およびメモリ割当てルーチン(S07)を実行する。これら3つのルーチンが実行されることによって、ビットマップメモリ31および符合メモリ35のメモリ割当てが必要に応じて変更される。
ステップS07のルーチンを実行した後、コントローラー34は、イメージスキャナー17Aからの画像入力(画像データD1の入力)が終了したかどうかをチェックする(S08)。イメージスキャナー17Bも使用された場合は、イメージスキャナー17Bからの画像入力が終了したかどうかもチェックする。すなわち、イメージスキャナー17A,17Bの一方または両方が使用されている状態から両方が共に使用されていない状態になったかどうかをチェックする。
ステップS08のチェック結果がYESである場合、コントローラー34はメインルーチンの実行を終える。その際、コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれに確保されている入力用のメモリ領域を解放して空きメモリ領域とするメモリ管理処理を行なう。
図7は図6の必要メモリ容量の算出ルーチンのフローチャートである。
コントローラー34は、イメージスキャナー17による読取りの解像度、同じく読取りのカラーモード、およびイメージスキャナー17による走査が開始されまたは開始されようとしているページの画像サイズを、メインコントローラー10から取得する(S51、S52、S53)。解像度は、200dpi、300dpi、400dpi、600dpiといった選択肢のうちのユーザーによって選択されたいずれかである。カラーモードは、フルカラー、グレースケール、モノクロ2階調といった選択肢のうちのユーザーによって選択されたいずれかであり、1画素あたりのビット数を特定する情報として取得される。画像サイズは、イメージスキャナー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メガバイトとなる。
図8は図6の空きメモリ容量の算出ルーチンのフローチャートである。
コントローラー34は、符合メモリ35の現在の空きメモリ容量(Z)を取得する(S61)。空きメモリ容量(Z)は、入力用または出力用に既に割り当てられてるメモリ領域のメモリ容量に依存する。すなわち、符合メモリ35のメモリ容量から解放されていないメモリ領域のメモリ容量を差し引いた容量が空きメモリ容量(Z)である。なお、必ずしも空きメモリ容量(Z)の取得を当該ルーチンの最初の処理として行なう必要はなく、後述のステップS70を実行する以前に空きメモリ容量(Z)を取得すればよい。
コントローラー34は、注目する原稿読取りジョブが出力用のメモリ領域を必要とするジョブであるかどうかをチェックする。注目する原稿読取りジョブとは、実行中の1つまたは2つの原稿読取りジョブのうち、メモリ割当てを行ないたい原稿読取りジョブ、すなわち本ルーチンの実行の契機となった1ページの読取りの開始(図6のステップS01)に対応する原稿読取りジョブである。
注目する原稿読取りジョブがスキャン・トゥー・ボックスである場合、ストレージ14から画像データD2を読み出さないので、出力用のメモリ領域は不要である。これに対して、注目する原稿読取りジョブがコピーまたはデータ送信である場合、圧縮されている画像データD2を伸張してプリンターエンジン19または通信インタフェース15へ送るために、出力用のメモリ領域が必要である。
ジョブの種別ごとの出力用のメモリ領域の要否を示す情報を参照することによって、注目する原稿読取りジョブが出力用のメモリ領域を必要としないジョブであるとコントローラー34が判断した場合(S62でNO)、フローはステップS63へ進む。
ステップS63において、コントローラー34は出力ページ数(Q)を「0」とする。出力ページ数(Q)は、何ページ分の出力用のメモリ領域が必要であるかを示す変数である。伸張がページ単位で行なわれることから、必要なメモリ容量を1ページ分の画像データ量を基準に計算するために出力ページ数(Q)が定められる。出力ページ数(Q)が「0」であることは、必要なメモリ容量が0ページ分であること、すなわち出力用のメモリ領域が不要であることを意味する。
一方、注目する原稿読取りジョブが出力用のメモリ領域を必要とするジョブであるとコントローラー34が判断した場合(S62でYES)、フローはステップS62からステップS64へ進み、次のように出力モードに応じて出力ページ数(Q)が定められる。
まず、ステップS64でコントローラー34は、少なくとも1ページ分のメモリ領域が必要であることから、出力ページ数(Q)を「1」とする。
次に、コントローラー34は、出力モードが、90度単位の指定された角度だけ回転させて画像の向きを変える「回転」、または画像のサイズを変える「拡大/縮小」を行なうモードであるかどうかをチェックする(S65)。「回転」および「拡大/縮小」のそれぞれは、処理前のデータの記憶と処理後のデータの記憶とに1ページ分ずつ計2ページ分のメモリ領域を必要とする。したがって、出力モードが「回転」または「拡大/縮小」を行なうモードであると判断した場合(S65でYES)、コントローラー34は出力ページ数(Q)を「2」とする(S66)。ステップS65のチェック結果がNOである場合、フローはステップS66をジャンプしてステップS67へ進む。
なお、「回転」および「拡大/縮小」の両方の処理を行なう出力モードである場合、計2ページ分メモリ領域を用いて一方の処理と他方の処理とが順に行なわれる。すなわち、この場合も出力ページ数(Q)は「2」とされる。
ステップS67において、コントローラー34は、出力モードが複数のページの画像を1ページに配置する「集約」(N in 1ともいう)を行なうモードであるかどうかをチェックする。Nは記録シートの1つの面に集約するページの数(2、4、6、9など)である。「集約」では、Nページ分の画像データD2を符合メモリ35に記憶させるので、Nページ分のメモリ領域が必要である。そして、「回転」または「拡大/縮小」と「集約」とを行なう場合、2Nページ分のメモリ領域が必要である。
ステップS67のチェック結果がYESである場合、コントローラー34は、出力ページ数(Q)をそのN倍の値「N*Q」に置き換える(S68)。つまり、ステップS68で、出力ページ数(Q)は「N」または「2N」となる。
フローはステップS68からステップS69へ進む。また、ステップS67のチェック結果がNOである場合、フローはステップS67をジャンプしてステップS69へ進む。
ステップS69において、コントローラー34は、符合メモリ35に割り当てるべき出力用のメモリ領域のメモリ容量(V)を算出する。ここで行なう演算は、1ページ分の画像データD2のデータ量に相当する図7のステップS54で算出した必要メモリ容量(X)とステップS62からステップS68までの処理で得られた出力ページ数(Q)との乗算である。すなわち、必要メモリ容量(X)と出力ページ数(Q)との積がメモリ容量(V)として算出される。出力ページ数(Q)が「0」の場合、メモリ容量(V)は「0」となる。
続いて、コントローラー34は、符合メモリ35の空きメモリ領域(Z)のうちの入力に利用可能なメモリ領域のメモリ容量(Y)を算出する(S70)。メモリ容量(Y)は、ステップS61で取得した空きメモリ容量(Z)からステップS69で算出した出力用のメモリ容量(V)を差し引いた値である。メモリ容量(Y)を算出したコントローラー34はメインルーチンへ戻ってメモリ割当てルーチンを実行する。
図9は図6のメモリ割当てルーチンのフローチャートである。
コントローラー34は、圧縮・伸張回路32で圧縮された画像データD2の1ページ分を符合メモリ35に格納することが可能であるかどうかを判定する(S71)。この判定に際して、コントローラー34は、既に算出されている必要メモリ容量(X)とメモリ容量(Y)とを比較する。メモリ容量(Y)が必要メモリ容量(X)以上である場合、コントローラー34は1ページ分の格納が可能であると判定し、判定結果を「可能」とする。メモリ容量(Y)が必要メモリ容量(X)未満である場合、コントローラー34は1ページ分の格納が可能ではないと判定し、判定結果を「不可能」とする。
判定結果が「可能」である場合、コントローラー34は、符合メモリ35およびビットマップメモリ31について、第1のメモリ使用方法を適用したメモリ割当てを行なう。すなわち、図4(A)のように、符合メモリ35内に1ページ分の画像データD2の記憶が可能なメモリ容量をもつメモリ領域60を確保する。このとき、メモリ領域60のメモリ容量は必要メモリ容量(X)とされる。また、ビットマップメモリ31内に1ページ分未満の画像データD1の記憶が可能なメモリ容量をもつメモリ領域50を確保する。
一方、判定結果が「不可能」である場合、コントローラー34は、バンドサイズ(R)を設定するバンドサイズ設定サブルーチンを実行し(S74)、その後に第2のメモリ使用方法を適用したメモリ割当てを行なう(S75)。バンドサイズ(R)とは、1ページ分の画像データD1を複数回に分けて圧縮する過程において、各回の圧縮に際してビットマップメモリ31から読み出して符合メモリ35へ転送する画像データD1のデータ量である。なお、ステップS75の処理を実行した後にステップS74のサブルーチンを実行するようにしてもよい。
図10は図9のバンドサイズ設定サブルーチンのフローチャートである。このサブルーチンでは、入力に利用可能な空きメモリ領域のメモリ容量(Y)に応じて、できるだけ大きいバンドサイズ(R)が設定される。それは、バンドサイズ(R)を大きくすることによって、ビットマップメモリ31から圧縮・伸張回路32への転送の回数が少なくなってパフォーマンスが高くなるからである。
コントローラー34は、上述の必要メモリ容量(X)およびメモリ容量(Y)を取得し(S701、S702)、必要メモリ容量(X)に対するメモリ容量(Y)の比率(Y/X)を算出する(S703)。そして、コントローラー34は、あらかじめ定められた複数の閾値(50%、34%、25%、20%、17%)と比率(Y/X)との大小関係に応じて、次のようにバンドサイズ(R)を設定する。なお、各閾値および閾値の個数は例示に限るものではなく、適宜選定することができる。
比率(Y/X)が50%以上100%未満である場合(S704でYES)、コントローラー34は、必要メモリ容量(X)の0.5倍をバンドサイズ(R)に設定する(S705)。この場合、1ページ分の画像データD1が2回に分けて圧縮されることになる。
比率(Y/X)が34%以上50%未満である場合(S706でYES)、コントローラー34は、必要メモリ容量(X)の0.34倍をバンドサイズ(R)に設定する(S707)。この場合、1ページ分の画像データD1が3回に分けて圧縮されることになる。
比率(Y/X)が25%以上34%未満である場合(S708でYES)、コントローラー34は、必要メモリ容量(X)の0.25倍をバンドサイズ(R)に設定する(S709)。この場合、1ページ分の画像データD1が4回に分けて圧縮されることになる。
比率(Y/X)が20%以上25%未満である場合(S710でYES)、コントローラー34は、必要メモリ容量(X)の0.2倍をバンドサイズ(R)に設定する(S711)。この場合、1ページ分の画像データD1が5回に分けて圧縮されることになる。
比率(Y/X)が17%以上20%未満である場合(S712でYES)、コントローラー34は、必要メモリ容量(X)の0.17倍をバンドサイズ(R)に設定する(S713)。この場合、1ページ分の画像データD1が6回に分けて圧縮されることになる。
比率(Y/X)が17%未満である場合(S712でNO)、コントローラー34は、あらかじめ定められた最小バンドサイズ(Rmin)をバンドサイズ(R)に設定する(S714)。最小バンドサイズ(Rmin)ではなく、メモリ容量(Y)をバンドサイズ(R)に設定してもよい。いずれにしても、この場合は1ページ分の画像データD1が7回以上に分けて圧縮されることになる。
以上のとおり、MFP1では、イメージスキャナー17Aおよびイメージスキャナー17Bのいずれかで原稿40から1つのページの読取りが開始されるごとに、画像処理部13に関するメモリ割当てが最適化される。次にメモリ割当ての複数の例を挙げる。
図11はメモリ割り当ての第1例を示している。
図11(A)では、1つの画像読取りジョブ(Ja)が実行中であり、イメージスキャナー17Aを用いて原稿43の読取りが行なわれている。イメージスキャナー17Bは使用されていない。原稿43はA3サイズ(最大読取りサイズ)の複数の原稿シートを有しており、A3サイズのページの読取りが進行中である。画像読取りジョブ(Ja)はスキャン・トゥー・ボックスである。スキャン・トゥー・ボックスでは出力用のメモリ領域を割り当てる必要がない。
図11(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1aの格納が可能なメモリ領域51が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2aの格納が可能なメモリ領域61が割り当てられている。
符合メモリ35のメモリ容量は、画像処理部13の回路設計に際して、上述の最大条件での読取りに際して2ページ分の画像データD2の格納が可能となる最小限の分量に選定されている。したがって、図11(A)の状態で、符合メモリ35は、最大条件での少なくとも1ページ分の空きメモリ容量を有している。
図11(B)では図11(A)の状態から移行した状態が示されている。図11(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Ja)とともに、イメージスキャナー17Bを用いて原稿44を走査する画像読取りジョブ(Jb)が実行中である。画像読取りジョブ(Jb)はスキャン・トゥー・ボックスである。原稿44はA3サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA3サイズのページの読取り(SB)と、この読取り(SB)の開始時点で既に進行中であったイメージスキャナー17AによるA3サイズのページの読取り(SA)とが進行中である。
読取り(SB)の開始時点で、既に図11(A)と同様に第1のメモリ使用方法を適用して読取り(SA)が行なわれているものとする。読取り(SB)の開始に際して、図6のメインルーチンの実行によって、読取り(SB)に適用するメモリ使用方法が決まる。
読取り(SB)に適用するメモリ使用方法を決めるとき、上述のとおり符合メモリ35には、最大条件での少なくとも1ページ分の空きメモリ領域が存在する。つまり、読取り(SB)の必要メモリ容量(X)以上の空きメモリ容量(Z)を符合メモリ35が有しており、図9のステップ72の判定結果は「可能」となる。
したがって、図11(B)では読取り(SB)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1bの格納が可能なメモリ領域52が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2bの格納が可能なメモリ領域62が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域51,52を有し、符合メモリ35は入力用の2つのメモリ領域61,62を有している。
図12はメモリ割り当ての第2例を示している。
図12(A)では、1つの画像読取りジョブ(Jc)が実行中であり、イメージスキャナー17Aを用いて原稿45の読取りが行なわれている。イメージスキャナー17Bは使用されていない。原稿45はA3サイズの複数の原稿シートを有しており、A3サイズのページの読取りが進行中である。画像読取りジョブ(Jc)はスキャン・トゥー・ボックスである。
図12(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1cの格納が可能なメモリ領域53が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2cの格納が可能なメモリ領域63が割り当てられている。図12(A)の状態において符合メモリ35は、最大条件での少なくとも1ページ分の空きメモリ容量(Z)を有している。
図12(B)では図12(A)の状態から移行した状態が示されている。図12(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Jc)とともに、イメージスキャナー17Bを用いて原稿46を読み取る画像読取りジョブ(Jd)が実行中である。画像読取りジョブ(Jd)はコピーである。原稿46はA3サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA3サイズのページの読取り(SD)と、この読取り(SD)の開始時点で既に進行中であったイメージスキャナー17AによるA3サイズのページの読取り(SC)とが進行中である。
読取り(SD)の開始時点で、既に図12(A)と同様に第1のメモリ使用方法を適用して読取り(SC)が行なわれているものとする。読取り(SD)の開始に際して、図6のメインルーチンの実行によって、読取り(SD)に適用するメモリ使用方法が決まる。
読取り(SD)に適用するメモリ使用方法を決めるとき、上述のとおり符合メモリ35には、最大条件での少なくとも1ページ分の空きメモリ領域(Z)が存在する。しかし、読取り(SD)を伴う画像読取りジョブ(Jd)はコピーであるので、符合メモリ35に出力用のメモリ領域91を割り当てる必要がある。このため、符合メモリ35の空きメモリ容量(Z)から出力用のメモリ領域91のメモリ容量(V)を差し引いたメモリ容量、すなわち入力に利用可能なメモリ領域81のメモリ容量(Y)は、圧縮後の画像データD2dの1ページ分よりも少ない。図9のステップ72の判定結果は「不可能」となる。
したがって、図12(B)では読取り(SD)に第2のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分の画像データD1dの格納が可能なメモリ領域71が割り当てられ、符合メモリ35には1ページ分未満の分量の圧縮された画像データD2dの格納が可能なメモリ領域81が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域53,71および出力用の1つのメモリ領域92を有し、符合メモリ35は入力用の2つのメモリ領域63,81および出力用の1つのメモリ領域91を有している。
メモリ領域81の割当てにあたって、図10のバンドサイズ設定サブルーチンが実行され、ビットマップメモリ31のメモリ領域71からの読出しに関わる上述のバンドサイズ(R)が設定される。メモリ領域71に格納された1ページ分の画像データD1dはバンドサイズ分ずつ読み出されて圧縮・伸張回路32へ転送され、バンドサイズ分の圧縮された画像データD2dがメモリ領域71に一時記憶された後、ストレージ14に転送される。ストレージ14では、バンドサイズ分ずつ入力される1ページ分の画像データD2dが出力用のひとかたまりのデータとして記憶される。
なお、ビットマップメモリ31のメモリ領域92には、ストレージ14から符合メモリ35のメモリ領域91へ読み出され、その後に圧縮・伸張回路32で伸張された画像データD3dが格納される。その後、メモリ領域92からプリンターエンジン19へ画像データD3dが転送される。
図13はメモリ割当ての第3例を示している。図13(A)の示す状態は上述の図12(B)の示す状態と同一である。図13(B)の示す状態は、図13(A)で実行中であった画像読取りジョブ(Jc)の実行が完了し、イメージスキャナー17Bを用いる画像読取りジョブ(Jd)の実行が続いている状態である。
図13(B)では、原稿46のA3サイズのページの読取り(SD)が進行中である。ただし、現在の読取り対象のページは図13(A)での読取り対象とは異なるページである。このような読取り(SD)の開始時点で、既にイメージスキャナー17Aを使用する画像読取りジョブ(Jc)は終了していたものとする。
読取り(SD)の開始時点で符合メモリ35における入力に利用可能なメモリ容量(Y)は、符合メモリ35の空きメモリ容量(Z)であり、最大条件での1ページ分以上の分量である。なぜなら、符合メモリ35は最大条件での2ページ分以上のメモリ領域を有し、以前に割り当てられたメモリ領域81は解放されているとみなされ、出力用に割り当てわれているメモリ領域91のメモリ容量が最大条件での1ページ分以下の分量であるからである。
したがって、図13(B)では読取り(SD)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の画像データD1dの格納が可能なメモリ領域56が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2dの格納が可能なメモリ領域66が割り当てられている。ビットマップメモリ31は入力用の1つのメモリ領域56および出力用の1つのメモリ領域92を有し、符合メモリ35は入力用の1つのメモリ領域66および出力用の1つのメモリ領域91を有している。
このように図13の例では、イメージスキャナー17Bを使用する画像読取りジョブ(Jd)の実行の途中で画像入力数が「2」から「1」に変化したことに伴って、画像処理部13のメモリ使用方法が第2のメモリ使用方法から第1のメモリ使用方法に変更されている。
図14はメモリ割り当ての第4例を示している。
図14(A)では、1つの画像読取りジョブ(Je)が実行中であり、イメージスキャナー17Aを用いて原稿47の読取りが行なわれている。イメージスキャナー17Bは使用されていない。画像読取りジョブ(Je)はコピーである。原稿47はA4サイズの複数の原稿シートを有しており、A4サイズのページの読取りが進行中である。そして、読取りと並行してプリンターエンジン19による印刷が行なわれている。印刷のために出力用のメモリ領域93,94が図示のように符合メモリ35およびビットマップメモリ31に割り当てられている。
図14(A)では、ページの読取りに第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1eの格納が可能なメモリ領域54が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2eの格納が可能なメモリ領域64が割り当てられている。符合メモリ35の空きメモリ容量(Z)は、符合メモリ35のもつメモリ容量から入力用のメモリ領域64および出力用のメモリ領域93のそれぞれのメモリ容量を差し引いた分量となっている。
図14(B)では図14(A)の状態から移行した状態が示されている。図14(B)では、イメージスキャナー17Aを用いる上述の画像読取りジョブ(Je)とともに、イメージスキャナー17Bを用いて原稿48の画像を読み取る画像読取りジョブ(Jf)が実行中である。画像読取りジョブ(Jf)はスキャン・トゥー・ボックスである。原稿48はA4サイズの複数の原稿シートを有しており、イメージスキャナー17BによるA4サイズのページの読取り(SF)と、この読取り(SF)の開始時点で既に進行中であったイメージスキャナー17AによるA4サイズのページの読取り(SE)とが進行中である。
読取り(SF)の開始時点で、既に図14(A)と同様に第1のメモリ使用方法を適用して読取り(SE)が行なわれているものとする。読取り(SF)の開始に際して、図6のメインルーチンの実行によって、読取り(SF)に適用するメモリ使用方法が決まる。
読取り(SF)に適用するメモリ使用方法を決めるとき、符合メモリ35の空きメモリ容量(Z)は読取り(SF)の必要メモリ容量(X)以上であった。
したがって、図14(B)では読取り(SF)に第1のメモリ使用方法が適用されている。すなわち、ビットマップメモリ31には1ページ分未満の分量の画像データD1fの格納が可能なメモリ領域55が割り当てられ、符合メモリ35には1ページ分の圧縮された画像データD2fの格納が可能なメモリ領域65が割り当てられている。ビットマップメモリ31は入力用の2つのメモリ領域54,55および出力用の1つのメモリ領域94を有し、符合メモリ35は入力用の2つのメモリ領域64,65および出力用の1つのメモリ領域93を有している。
図15はメモリ使用方法の設定処理の他の例を示すフローチャートである。図6のメインルーチンは、原稿の態様が混載である場合に、読取り対象のページのサイズに応じて読取りに適用するメモリ使用方法を決めるものであった。これに対して、図15の例は、原稿の態様が混載である場合に、当該原稿の全てのページのサイズが当該原稿における最大サイズであるものと見なして、読取りに適用するメモリ使用方法を決めるものである。混載モードにおいて読取り対象のページのサイズを一律に最大サイズと見なす点を除いて、図15の処理の内容は図6の処理の内容とほぼ同様である。
コントローラー34は、イメージスキャナー17が原稿40から1ページずつ順に連続的に画像を読み取る過程で、各ページの読取りが開始されるとき(S21でYES)、現在の画像入力数を取得し(S22)、前回取得した画像入力数と比べることによって画像入力数が変化したかどうかをチェックする(S23)。ステップS23のチェック結果がNOである場合、フローはステップS27へ進む。
ステップS23のチェック結果がYESである場合、フローはステップS24へ進み、コントローラー34は、必要メモリ容量の算出ルーチンを実行する(S24)。続いて、コントローラー34は、入力に利用可能なメモリ領域のメモリ容量(Y)を図8の手順で算出し(S25)、図9の手順のメモリ割当てを実行する(S26)。その後、コントローラー34は、イメージスキャナー17A,17Bの一方または両方が使用されている状態から両方共に使用されていない状態になったかどうかをチェックする(S27)。
ステップS27のチェック結果がNOである場合、フローはステップS21へ戻る。ステップS27のチェック結果がYESである場合、コントローラー34は図15の処理の実行を終える。その際、コントローラー34は、ビットマップメモリ31および符合メモリ35のそれぞれに確保されている入力用のメモリ領域を解放して空きメモリ領域とする。
図16は図15の必要メモリ容量の算出ルーチンのフローチャートである。
コントローラー34は、イメージスキャナー17による読取りの解像度、および同じく読取りのカラーモードをメインコントローラー10から取得する(S41、S42)。さらに、原稿の態様が混載ではない場合(S43でNO)、イメージスキャナー17による走査が開始されまたは開始されようとしているページの画像サイズを、メインコントローラー10から取得する(S54)。また、原稿の態様が混載である場合(S43でYES)、コントローラー34は、原稿を構成する複数の原稿シートのうちの最も大きい原稿シートのサイズ(最大サイズ)を画像サイズに定める(S46)。そして、コントローラー34は、解像度、カラーモードおよび画像サイズに基づいて、必要メモリ容量(X)を算出する(S45)。
以上の実施形態において、イメージスキャナー17A,18が同型である必要はない。イメージスキャナー17,17Bの一方または両方がカラーの読取りができないものであってもよいし、ADFを備えていないものであってもよい。
イメージスキャナー17A,17Bの個数が3以上である場合にも、本発明を適用することができる。イメージスキャナーの個数に応じて、符合メモリ35のメモリ容量を例えばメモリモジュールの増設によって増大させることができる。
画像処理部13の構成は図2の例示に限らない。例えば、ASIC30の中に符合メモリ35を形成してもよい。また、ビットマップメモリ31をASIC30の中に形成せずに、ASIC30を外付けのメモリデバイスの中に設けてもよい。
コピーとファクシミリ送信とを行なうというように、出力用のメモリ領域を用いる複数の画像読取りジョブを並行して行なうことができる。その場合、符合メモリ35に出力用の複数のメモリ領域を割り当てた残りのメモリ容量(Y)に応じて、第1のメモリ使用方法または第2のメモリ使用方法を適用して入力用のメモリ領域を割り当てればよい。
第1のメモリ使用方法を適用した読取りにおいて、符合メモリ35から画像データD2をストレージ14へ転送する際に、画像データD2を格納しているメモリ領域に加えて新たに1つのメモリ領域を確保するようにしてもよい。これにより、ストレージ14への読出しと符合メモリ35への書込みとを並行して行なってパフォーマンスを高めることができる。
1 MFP(画像処理装置)
17A,17B イメージスキャナー(入力手段)
19 プリンターエンジン(出力手段)
15 通信インタフェース(出力手段)
D1 画像データ(非圧縮画像データ)
D2 画像データ(圧縮データ)
32 圧縮・伸張回路(圧縮手段、伸張手段)
35 符合メモリ(揮発性のメモリ)
60 メモリ領域(第1の領域)
80 メモリ領域(第2の領域)
91,93 メモリ領域(第3の領域)
344 メモリ割当て部(モード設定手段、領域確保手段)
14 ストレージ
33 DMA転送回路(第1の転送手段、第2の転送手段)

Claims (11)

  1. 1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力手段によって出力する画像処理装置であって、
    前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する、モード設定手段と、
    前記画像の圧縮されていない画像データである非圧縮画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する圧縮手段と、
    揮発性のメモリと、
    前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する領域確保手段と、
    不揮発性のストレージと、
    前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃ったら当該すべての圧縮データを前記ストレージへ転送し当該画像と対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像と対応付けて前記ストレージに記憶させる第1の転送手段と、
    前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送する第2の転送手段と、
    を有することを特徴とする画像処理装置。
  2. 前記モード設定手段は、前記画像の前記モードを、前記メモリに当該画像の前記第1の領域分の空きがある場合は前記第1のモードに設定し、そうでない場合は前記第2のモードに設定する、
    請求項1に記載の画像処理装置。
  3. 前記圧縮手段は、前記モードが前記第2のモードに設定されている前記画像の前記圧縮データを、前記メモリの使用も確保もされていない空き領域に当該圧縮データを記憶することができるサイズを前記第2の単位として当該画像の前記非圧縮データを圧縮することによって生成する、
    請求項1または請求項2に記載の画像処理装置。
  4. 前記入力手段のそれぞれは、それぞれの前記画像を、用紙の印刷面をスキャンすることによって入力し、
    前記第1の単位は、前記用紙の1面のサイズであり、
    前記圧縮手段は、前記モードが前記第2のモードに設定されている前記画像の前記圧縮データを、前記空き領域に当該画像の(1/M)面分(ただし、M≧2)を記憶させることができるが、(1/(M−1))面分を記憶させることができない場合に、(1/M)面のサイズを前記第2の単位として当該画像の前記非圧縮データを圧縮することによって生成する、
    請求項3に記載の画像処理装置。
  5. 前記領域確保手段は、前記第1の領域、前記第2の領域、および前記第3の領域を、それぞれに前記非圧縮データが記憶される前記画像の特性に基づいて確保する、
    請求項1ないし請求項4のいずれかに記載の画像処理装置。
  6. 前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力される場合は、
    前記モード設定手段は、当該複数の画像について前記モードを共通に設定し、
    前記領域確保手段は、当該複数の画像のうちの最初の画像のために、当該設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、その後、当該確保した領域を残りの画像のために確保し続ける、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  7. 前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力され、かつ、当該複数の画像の用紙のサイズが異なる場合は、
    前記モード設定手段は、当該複数の画像について、当該複数の画像のサイズのうち最も大きいサイズに応じて前記モードを共通に設定し、
    前記領域確保手段は、当該複数の画像のうちの最初の画像のために、当該設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、その後、当該確保した領域を残りの画像のために確保し続ける、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  8. 前記入力手段のうちの同一の入力手段から連続的に前記画像が複数入力され、かつ、当該複数の画像のサイズが異なる場合は、
    前記モード設定手段は、当該複数の画像のそれぞれについて、それぞれの画像のサイズに応じて前記モードを設定し、
    前記領域確保手段は、当該複数の画像それぞれが入力される際に、当該入力される画像のために、当該入力される画像について設定されたモードに応じて前記第1の領域および前記第2の領域のうちのいずれかの領域を確保し、当該入力される画像の前記圧縮データがすべて前記ストレージに転送されたら当該領域を解放させる、
    請求項1ないし請求項5のいずれかに記載の画像処理装置。
  9. 前記領域確保手段は、前記出力手段による現在の出力の対象である前記画像に対して画像処理として、拡大し、縮小し、回転させ、または他の画像とともに1面に集約する処理を行って出力する場合は、さらに、当該画像処理が施された画像の処理済画像データを記憶するための第4の領域を前記メモリに確保する、
    請求項1ないし請求項8のいずれかに記載の画像処理装置。
  10. 1つまたは複数の入力手段と、揮発性のメモリと、不揮発性のストレージと、前記1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力する出力手段とを有する画像処理装置における画像データ処理方法であって、
    前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定し、
    前記画像の非圧縮の画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成し、
    前記メモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、前記出力手段による現在の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保し、
    前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃うごとに当該すべての圧縮データを前記ストレージへ転送し互いに対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像の他の圧縮データと対応付けて前記ストレージに記憶させ、
    前記ストレージから、前記出力手段による現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送させる、
    ことを特徴とする画像データ処理方法。
  11. 1つまたは複数の入力手段のそれぞれによって入力される画像のいずれかを出力する処理を行なうコンピューターに用いられるコンピュータープログラムであって、
    前記コンピューターに、
    前記画像ごとに、当該画像を圧縮するモードを第1のモードおよび第2のモードのうちのいずれかに設定する処理を実行させ、
    前記画像の非圧縮の画像データを、当該画像の前記モードが前記第1のモードに設定されている場合は第1の単位分ごとに圧縮し、前記第2のモードに設定されている場合は前記第1の単位よりも小さい第2の単位分ごとに圧縮することによって、圧縮データを生成する処理を実行させ、
    揮発性のメモリに、前記第1のモードが設定されている前記画像ごとにすべての前記圧縮データを記憶するための第1の領域を確保し、前記第2のモードが設定されている前記画像ごとに1つの前記圧縮データを記憶するための第2の領域を確保し、現在の出力の処理の対象である前記画像のすべての前記圧縮データを記憶するための第3の領域を確保する処理を実行させ、
    前記第1のモードが設定されている前記画像のすべての前記圧縮データが前記メモリに揃うごとに当該すべての圧縮データを不揮発性のストレージへ転送し互いに対応付けて記憶させ、前記第2のモードが設定されている前記画像の前記圧縮データが前記メモリに記憶されるごとに当該圧縮データを前記ストレージに転送し当該画像の他の圧縮データと対応付けて前記ストレージに記憶させる処理を実行させ、
    前記ストレージから、現在の出力の処理の対象である前記画像の前記圧縮データをすべて前記メモリへ転送させる処理を実行させる、
    ことを特徴とするコンピュータープログラム。

JP2014050622A 2014-03-13 2014-03-13 画像処理装置および画像データ処理方法 Active JP6260372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014050622A JP6260372B2 (ja) 2014-03-13 2014-03-13 画像処理装置および画像データ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014050622A JP6260372B2 (ja) 2014-03-13 2014-03-13 画像処理装置および画像データ処理方法

Publications (2)

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

Family

ID=54256064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014050622A Active JP6260372B2 (ja) 2014-03-13 2014-03-13 画像処理装置および画像データ処理方法

Country Status (1)

Country Link
JP (1) JP6260372B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3596221B2 (ja) * 1997-03-21 2004-12-02 富士ゼロックス株式会社 画像処理装置
JP2000101808A (ja) * 1998-09-25 2000-04-07 Fuji Xerox Co Ltd 画像処理装置
JP2003198818A (ja) * 2001-12-27 2003-07-11 Ricoh Co Ltd 画像処理装置

Also Published As

Publication number Publication date
JP2015177260A (ja) 2015-10-05

Similar Documents

Publication Publication Date Title
JP4854309B2 (ja) データ格納制御装置
US8842325B2 (en) Image processing apparatus, control method thereof, and storage medium
US9615000B2 (en) Image processing apparatus and image processing method for efficiently reserving memory
US20050219594A1 (en) Apparatus and method for generating scanned data in a standard format
US20210142129A1 (en) Printing apparatus, method for controlling printing apparatus, and storage medium
JP6655963B2 (ja) 画像処理装置、画像処理装置の制御方法。
JP6260372B2 (ja) 画像処理装置および画像データ処理方法
JP5928505B2 (ja) 画像処理装置、同装置における画像処理方法及び画像処理プログラム
JP5233608B2 (ja) 画像形成装置、画像データ転送方法、及びプログラム
JP5232728B2 (ja) 画像形成装置
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 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2001146046A (ja) 印刷システム
JP5915670B2 (ja) 画像処理装置、同装置における画像処理方法及び画像処理プログラム
JP2018118426A (ja) 画像形成システム、及び画像形成方法
JP3603510B2 (ja) 画像処理装置
JP2011053944A (ja) 画像形成装置、画像形成方法及び制御プログラム
US9491325B2 (en) Image processing apparatus, image processing method for the same, and recording medium
JP3743432B2 (ja) データ処理装置
JP5935428B2 (ja) 読取制御装置、読取システム及びプログラム
JP7383462B2 (ja) 画像処理装置、画像処理装置の制御方法、プログラム
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP2010088007A (ja) 画像形成装置
JP2002117399A (ja) デジタル画像処理装置のメモリ制御装置
JPH11313182A (ja) 画像形成装置

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