(57)【要約】【課題】メインメモリから不揮発性の記憶装置へのデータの待避を従来よりも少なくする。【解決手段】メインメモリに割り当てられているファイルメモリ１６に、１ページのライン画像データ６０を想定圧縮率Ｒａで圧縮したとすれば圧縮されたこれらのライン画像データ６０を記憶するのに必要になるサイズの領域である必要領域を、ファイルメモリ１６に確保する。そして、圧縮回路１０ｐよってライン画像データ６０から得られたバンド圧縮データ６１の一部分でも必要領域に記憶させることができない場合は、バンド圧縮データ６１を一部分ずつ必要領域に記憶させながら大容量記憶装置１０ｄへ待避させる。記憶させることができる場合は、バンド圧縮データ６１の全部を必要領域に記憶させる。【選択図】図５
2016181847.tif 000002
【特許請求の範囲】
【請求項１】
非圧縮の画像データを圧縮することによって圧縮データを生成する圧縮手段と、
前記圧縮データを記憶するためのファイルメモリ領域が割り当てられるメインメモリと、
所定の圧縮率で前記画像データが圧縮されたとすれば当該圧縮された画像データを記憶するのに必要になるサイズの領域である必要領域を、当該画像データのために前記ファイルメモリ領域に確保する確保手段と、
前記圧縮手段によって前記画像データから得られた前記圧縮データを当該画像データのために確保された前記必要領域に記憶させることができない場合は、当該圧縮データを一部分ずつ当該必要領域に記憶させながら不揮発性の記憶装置へ待避させ、記憶させることができる場合は、当該圧縮データの全部分を当該必要領域に記憶させる、記憶処理手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記所定の圧縮率は、前記ファイルメモリ領域のサイズが大きいほど高く設定される、
請求項１に記載の画像処理装置。
【請求項３】
前記画像データは、スキャナが１枚の用紙から読み取った画像の画像データであり、
前記所定の圧縮率は、前記ファイルメモリ領域に前記圧縮データがほぼ３つ分記憶することができるときの圧縮率である、
請求項１または請求項２に記載の画像処理装置。
【請求項４】
画像処理装置のメインメモリに割り当てられる、非圧縮の画像データを圧縮手段で圧縮することによって生成された圧縮データを記憶するためのファイルメモリ領域を管理する、ファイルメモリ領域管理方法であって、
所定の圧縮率で前記画像データが圧縮されたとすれば当該圧縮された画像データを記憶するのに必要になるサイズの領域である必要領域を、当該画像データのために前記ファイルメモリ領域に確保し、
前記圧縮手段によって前記画像データから得られた前記圧縮データを当該画像データのために確保された前記必要領域に記憶させることができない場合は、当該圧縮データを一部分ずつ当該必要領域に記憶させながら不揮発性の記憶装置へ待避させ、記憶させることができる場合は、当該圧縮データの全部分を当該必要領域に記憶させる、
ことを特徴とするファイルメモリ領域管理方法。
【請求項５】
メインメモリを有し、非圧縮の画像データを圧縮手段で圧縮することによって生成された圧縮データを記憶するために当該メインメモリに割り当てられるファイルメモリ領域を管理するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
所定の圧縮率で前記画像データが圧縮されたとすれば当該圧縮された画像データを記憶するのに必要になるサイズの領域である必要領域を、当該画像データのために前記ファイルメモリ領域に確保する確保処理を実行させ、
前記圧縮手段によって前記画像データから得られた前記圧縮データを当該画像データのために確保された前記必要領域に記憶させることができない場合は、当該圧縮データを一部分ずつ当該必要領域に記憶させながら不揮発性の記憶装置へ待避させ、記憶させることができる場合は、当該圧縮データの全部分を当該必要領域に記憶させる、記憶処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置におけるメインメモリの管理の技術に関する。
【背景技術】
【０００２】
スキャナによって用紙から読み取られた画像の画像データは、バッファに記憶され、圧縮回路によって圧縮される。バッファは、「ビットマップメモリ」と呼ばれることがある。そして、圧縮された画像データ（圧縮データ）は、メインメモリに記憶される。メインメモリには、圧縮データを記憶するための領域として、「ファイルメモリ」、「ファイルメモリ領域」、または「符号メモリ」などと呼ばれる領域が設けられる。よって、圧縮データは、ファイルメモリに記憶される。
【０００３】
画像をコピー（複写）する場合は、ファイルメモリに記憶された圧縮データが伸張回路によって伸張され、プリンタによって印刷が行われる。
【０００４】
複合機には、コピーの機能だけでなく、ファックスおよびＰＣプリントなど様々な機能が備わっている。よって、メインメモリをコピーのためだけに使用することができない。なお、ＰＣプリントは、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどから受信したデータに基づいて画像を用紙に印刷する機能である。
【０００５】
ところが、安価な複合機に備わるメインメモリのサイズは、大きくない。したがって、ファイルメモリに割り当てられるサイズが限られる。
【０００６】
そこで、従来、スキャナによる画像の読取りがファイルメモリの不足によって停滞するのを未然に防止するため、圧縮回路によって得られた圧縮データを一旦、ファイルメモリからハードディスクなどの大容量の不揮発性の記憶装置へ待避（スワップ）させる。そして、適宜、圧縮データをファイルメモリへ復帰させ、印刷を実行する。
【０００７】
しかし、圧縮データを不揮発性の記憶装置へ待避させると、印刷のための全体的な処理が遅くなる。読み書きの速度が遅いからである。よって、速度を上げるには、できるだけ待避させるないことが望ましい。
【０００８】
そこで、画像を複数のバンドに分け、バンド単位でメモリの確保を行う方法が、提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−２００２９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、バンド単位で画像データを取り扱う場合であっても、できるだけ待避を行わないようにすることが望まれる。
【００１１】
本発明は、このような問題点に鑑み、メインメモリから不揮発性の記憶装置へのデータの待避を従来よりも少なくすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一形態に係る画像処理装置は、非圧縮の画像データを圧縮することによって圧縮データを生成する圧縮手段と、前記圧縮データを記憶するためのファイルメモリ領域が割り当てられるメインメモリと、所定の圧縮率で前記画像データが圧縮されたとすれば当該圧縮された画像データを記憶するのに必要になるサイズの領域である必要領域を、当該画像データのために前記ファイルメモリ領域に確保する確保手段と、前記圧縮手段によって前記画像データから得られた前記圧縮データを当該画像データのために確保された前記必要領域に記憶させることができない場合は、当該圧縮データを一部分ずつ当該必要領域に記憶させながら不揮発性の記憶装置へ待避させ、記憶させることができる場合は、当該圧縮データの全部分を当該必要領域に記憶させる、記憶処理手段と、を有する。
【００１３】
好ましくは、前記所定の圧縮率は、前記ファイルメモリ領域のサイズが大きいほど高く設定される。
【００１４】
または、前記画像データは、スキャナが１枚の用紙から読み取った画像の画像データであり、前記所定の圧縮率は、前記ファイルメモリ領域に前記圧縮データがほぼ３つ分記憶することができるときの圧縮率である。
【発明の効果】
【００１５】
本発明によると、メインメモリから不揮発性の記憶装置へのデータの待避を従来よりも少なくすることができる。
【図面の簡単な説明】
【００１６】
【図１】複合機の外観の例を示す図である。
【図２】複合機のハードウエア構成の例を示す図である。
【図３】ビットマップメモリにおけるセルの配置の例を示す図である。
【図４】ファイルメモリにおけるセルの配置の例を示す図である。
【図５】コピーの際のＣＰＵによる制御およびデータの流れの例を示す図である。
【図６】ファイルメモリ管理プログラムによる全体的な処理の流れの例を説明するフローチャートである。
【図７】読取処理の流れの例を説明するフローチャートである。
【図８】メモリ確保処理の流れの例を説明するフローチャートである。
【図９】印刷処理の流れの例を説明するフローチャートである。
【図１０】画像入力処理の流れの例を説明するフローチャートである。
【発明を実施するための形態】
【００１７】
図１は、複合機１の外観の例を示す図である。図２は、複合機１のハードウエア構成の例を示す図である。
【００１８】
図１に示す複合機１は、コピー（複写）、ＰＣプリント、スキャン、およびファクシミリなどの機能を集約した画像処理装置である。一般に、「ＭＦＰ（Multi Function Peripherals）」または「画像形成装置」と呼ばれることがある。
【００１９】
ＰＣプリントは、パーソナルコンピュータ、タブレットコンピュータ、またはスマートフォンなどから受信したデータに基づいて画像を用紙に印刷する機能である。
【００２０】
複合機１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、メインメモリ１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、大容量記憶装置１０ｄ、フラッシュメモリ１０ｅ、タッチパネルディスプレイ１０ｆ、操作キーパネル１０ｇ、ＮＩＣ（Network Interface Card）１０ｈ、ファクシミリモデム１０ｉ、外部出力インタフェース１０ｊ、ＡＤＦ（Auto Document Feeder）１０ｋ、スキャナ１０ｍ、ビットマップメモリ１０ｎ、圧縮回路１０ｐ、伸張回路１０ｑ、およびプリンタ１０ｒなどによって構成される。
【００２１】
タッチパネルディスプレイ１０ｆは、操作用の画面および処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ１０ｆは、タッチされた位置を示す信号をＣＰＵ１０ａへ送る。
【００２２】
操作キーパネル１０ｇは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【００２３】
ＮＩＣ１０ｈは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで他の装置とデータをやり取りする。
【００２４】
ファクシミリモデム１０ｉは、ファクシミリ端末との間でＧ３などのプロトコルでデータをやり取りする。
【００２５】
外部出力インタフェース１０ｊは、デジタルカメラ、可搬型の記録装置、またはタブレットコンピュータなどの外部の装置と接続し、外部の装置とデータをやり取りする。外部出力インタフェース１０ｊとしてＵＳＢ（Universal Serial Bus）またはＩＥＥＥ（Institute of Electrical and Electronics Engineers）１３９４などの規格の入出力装置が用いられる。
【００２６】
ＡＤＦ１０ｋは、所定の位置にセットされた用紙（以下、「原稿用紙」と記載する。）をスキャナ１０ｍへ搬送する。複数の原稿用紙がセットされた場合は、１枚ずつ搬送する。
【００２７】
スキャナ１０ｍは、ＡＤＦ１０ｋから原稿用紙が搬送されてくると、原稿用紙から画像を読み取り、画像の非圧縮のデータつまりビットマップデータを生成する。以下、原稿用紙の１つの面を「ページ」と記載する。
【００２８】
ビットマップメモリ１０ｎは、バッファである。ビットマップメモリ１０ｎには、スキャナ１０ｍによって生成されたビットマップデータが一時的に記憶される。メインメモリ１０ｂのサブとして使用されるので「サブメモリ」と呼ばれることがある。
【００２９】
圧縮回路１０ｐは、ビットマップメモリ１０ｎに記憶されているビットマップデータを圧縮する。これにより、圧縮データが生成される。
【００３０】
圧縮データは、ファイルメモリ１６（図５参照）に一時的に記憶される。なお「ファイルメモリ」は、圧縮データを一時的に格納するためにメインメモリに設けられる領域である。本実施形態では、メインメモリ１０ｂに、所定の容量の領域がファイルメモリ１６として設けられる。ファイルメモリには、ローデータ（ビットマップデータ）が符号化されて記憶されるので、「符号メモリ」と呼ばれることがある。
【００３１】
伸張回路１０ｑは、ファイルメモリ１６に記憶されている圧縮データを伸張することによってビットマップデータを再生し、ビットマップメモリ１０ｎへ送る。
【００３２】
圧縮回路１０ｐおよび伸張回路１０ｑは、ＡＳＩＣ（Application Specific Integrated Circuit）によって実現される。圧縮回路１０ｐおよび伸張回路１０ｑを１つのＡＳＩＣとして実現してもよいし、独立したＡＳＩＣとして実現してもよい。
【００３３】
プリンタ１０ｒは、伸張回路１０ｑからのビットマップデータに基づいて、画像を白紙に印刷する。
【００３４】
ＲＯＭ１０ｃ、大容量記憶装置１０ｄ、またはフラッシュメモリ１０ｅには、複合機１の全体を制御するためのオペレーティングシステムおよび上述の各機能を実現するためのプログラムが記憶されている。特に、コピーの際のメモリの管理を行うためのプログラムとして、ファイルメモリ管理プログラム１Ｐが記憶されている。
【００３５】
これらのプログラムは、必要に応じてメインメモリ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。
【００３６】
また、大容量記憶装置１０ｄには、ファイルメモリ１６に記憶された圧縮データが待避（スワップ）されることがある。
【００３７】
大容量記憶装置１０ｄとして、ハードディスクまたはＳＳＤ（Solid State Drive）などが用いられる。
【００３８】
図３は、ビットマップメモリ１０ｎにおけるセル１５Ｓの配置の例を示す図である。図４は、ファイルメモリ１６におけるセル１６Ｆの配置の例を示す図である。図５は、コピーの際のＣＰＵ１０ａによる制御およびデータの流れの例を示す図である。
【００３９】
次に、コピーの際の各部の処理の流れおよびメモリの管理を、図３〜図５を参照しながら、さらに詳細に説明する。
【００４０】
ビットマップメモリ１０ｎは、上述の通りバッファであるが、図３に示すように、リングバッファの方式によってデータが管理される。また、ビットマップメモリ１０ｎは、所定のサイズの複数のセル１５Ｓに予め分割されて管理されている。
【００４１】
ファイルメモリ１６は、上述の通りメインメモリ１０ｂに設けられる。また、ファイルメモリ１６は、図４に示すように、所定のサイズの複数のセル１６Ｆに予め分割されて管理されている。
【００４２】
ＣＰＵ１０ａは、ファイルメモリ管理プログラム１Ｐに基づいて、図５のように複合機１の各部を制御する。
【００４３】
ユーザがコピーの開始のボタンを押すと、ＣＰＵ１０ａは、原稿用紙の搬送をＡＤＦ１０ｋに実行させる（＃１０１）。
【００４４】
ＣＰＵ１０ａは、Ｋページ目の、所定の圧縮率で圧縮することができた場合のデータを記憶するための領域をビットマップメモリ１０ｎおよびファイルメモリ１６に次のように確保（予約）する。なお、Ｋ＝１，２，…、であり、コピーの開始のボタンが押されたときは、Ｋ＝１、である。また、「圧縮率」は、圧縮後のサイズ／圧縮前のサイズ、である。したがって、圧縮率が大きいほど、圧縮率が悪い。
【００４５】
ＣＰＵ１０ａは、ファイルメモリ１６に、Ｋページ目のライン画像データ６０をすべて圧縮した圧縮データを記憶させるのに必要な個数のセル１６Ｆを確保する。しかし、一般に、圧縮率は画像の特性および圧縮の方式によって異なるので、圧縮データのサイズは圧縮してみないと分からない。そこで、ＣＰＵ１０ａは、予め想定した圧縮率（以下、「想定圧縮率Ｒａ」と記載する。）で１ページ分のライン画像データ６０が圧縮された場合の圧縮データを記憶させるのに必要な個数のセル１６Ｆを確保する。なお、想定圧縮率Ｒａの決定の仕方は、後述する。
【００４６】
もしも、Ｋページ目のライン画像データ６０に対して圧縮の処理を施してもまったく圧縮されなければ、確保したセル１６Ｆだけでは、Ｋページ目のライン画像データ６０の圧縮データが記憶しきれない。
【００４７】
そこで、ＣＰＵ１０ａは、Ｋページ目のすべてのライン画像データ６０の合計のサイズＶｏから、確保したセル１６Ｆの合計のサイズを引いたサイズの分のセル１５Ｓを、ビットマップメモリ１０ｎに確保する。つまり、（Ｖｏ−Ｖｏ・Ｒａ）のデータを記憶させるのに必要な個数のセル１５Ｓを確保する。なお、ライン画像データ６０は圧縮されていないので、サイズＶｏは、原稿用紙のサイズに応じて自ずと決まる。
【００４８】
ＣＰＵ１０ａは、領域がビットマップメモリ１０ｎおよびファイルメモリ１６に確保できたのであれば、この原稿用紙の上端から下端へのスキャンをスキャナ１０ｍに開始させる（＃１０３）。
【００４９】
すると、スキャナ１０ｍは、原稿用紙から所定の幅のラインごとの画像を次々に読み取る。そして、ラインごとに、その画像のビットマップのデータ（以下、「ライン画像データ６０」と記載する。）を生成し、確保されたセル１５Ｓに記憶させる。
【００５０】
ＣＰＵ１０ａは、所定の数のライン画像データ６０がビットマップメモリ１０ｎに記憶されるごとに、これらのライン画像データ６０を圧縮するように圧縮回路１０ｐへ指令する（＃１０４）。
【００５１】
すると、圧縮回路１０ｐは、これらのライン画像データ６０をビットマップメモリ１０ｎから読み出し、纏めて圧縮する。これにより、所定の本数のラインからなる１つのバンドの圧縮データ（以下、「バンド圧縮データ６１」と記載する。）が生成される。そして、圧縮回路１０ｐは、バンド圧縮データ６１を、確保されたセル１６Ｆに記憶させる。
【００５２】
このようにして、Ｋページ目のバンド圧縮データ６１が、確保されたセル１６Ｆに記憶させる。
【００５３】
なお、Ｋページ目の実際の圧縮率によっては、確保したセル１６Ｆのうちの一部が余る場合がある。この場合は、ＣＰＵ１０ａは、余ったセル１６Ｆを開放し、空いている状態に戻してもよい。
【００５４】
ＣＰＵ１０ａは、Ｋページ目のすべてのバンド圧縮データ６１がファイルメモリ１６に記憶されると、これらのバンド圧縮データ６１を伸張するように伸張回路１０ｑへ指令する（＃１０５）。
【００５５】
すると、伸張回路１０ｑは、これらのバンド圧縮データ６１をファイルメモリ１６から読み出し、伸張する。これにより、Ｋページ目のすべてのライン画像データ６０が再生される。
【００５６】
そして、ＣＰＵ１０ａは、伸張回路１０ｑによって再生されライン画像データ６０に基づいて白紙に画像が印刷されるように、プリンタ１０ｒを制御する。
【００５７】
ところで、Ｋページ目のバンド圧縮データ６１のセル１６Ｆをファイルメモリ１６に確保することができない場合がある。この場合は、（Ｋ−１）ページ目またはそれよりも前のページのバンド圧縮データ６１がファイルメモリ１６に記憶されていれば、大容量記憶装置１０ｄへ待避させる（＃１０７）。
【００５８】
ただし、待避はページ単位で行うのが望ましい。つまり、１ページ分のバンド圧縮データ６１のうちの一部分だけを待避させるのではなく、すべてを待避させるのが望ましい。
【００５９】
待避されたバンド圧縮データ６１は、その後、ファイルメモリ１６に空きができれば、ファイルメモリ１６に復帰させられる。そして、上述の通り伸張回路１０ｑによって伸張されてライン画像データ６０が再生され、プリンタ１０ｒによって印刷が実行される。なお、復帰したバンド圧縮データ６１を再び大容量記憶装置１０ｄへ待避させないのが望ましい。
【００６０】
また、Ｋページ目の実際の圧縮率が悪ければ、確保したセル１６Ｃだけでは、バンド圧縮データ６１を記憶させきることができない場合がある。この場合は、ＣＰＵ１０ａは、Ｋページ目の、既にファイルメモリ１６に記憶されているバンド圧縮データ６１を大容量記憶装置１０ｄへ待避させ、セル１６Ｃを確保する（＃１０８）。そして、Ｋページ目の残りのバンド圧縮データ６１も、ファイルメモリ１６へ記憶され次第、順次、大容量記憶装置１０ｄへ待避させる。
【００６１】
図６は、ファイルメモリ管理プログラム１Ｐによる全体的な処理の流れの例を説明するフローチャートである。図７は、読取処理の流れの例を説明するフローチャートである。図８は、メモリ確保処理の流れの例を説明するフローチャートである。図９は、印刷処理の流れの例を説明するフローチャートである。図１０は、画像入力処理の流れの例を説明するフローチャートである。
【００６２】
次に、ファイルメモリ管理プログラム１Ｐによる全体的な処理の流れを、図６〜図１０を参照しながら説明する。
【００６３】
ＣＰＵ１０ａは、ファイルメモリ管理プログラム１Ｐに基づいて図６に示す手順で処理を実行する。
【００６４】
ＣＰＵ１０ａは、初期化処理を実行すると（図６の＃７０１）、タイマをスタートさせ（＃７０２）、一定の時間ごとにステップ＃７０３〜７０７の処理を繰り返す。
【００６５】
ＣＰＵ１０ａは、全体制御処理を実行し（＃７０３）、入力処理を実行する（＃７０４）。全体制御処理は、複合機１の全体的な制御の処理である。入力処理は、タッチパネルディスプレイ１０ｆまたは操作キーパネル１０ｇなどからの入力に応じた処理である。
【００６６】
ＣＰＵ１０ａは、読取処理を実行する（＃７０５）。読取処理の手順は、図７に示す通りである。
【００６７】
スタートの要求があった場合は（図７の＃７２１でＹｅｓ）、ＣＰＵ１０ａは、原稿用紙の搬送を開始するようにＡＤＦ１０ｋへ指示する（＃７２２）。
【００６８】
次に画像を読み取るべきページがある場合は（＃７２３でＹｅｓ）、ＣＰＵ１０ａは、このページのライン画像データ６０およびバンド圧縮データ６１をそれぞれ記憶するためのセル１５Ｓ（図３参照）およびセル１６Ｆ（図４参照）を確保（予約）する処理を、図８に示す手順で行う（＃７２５）。
【００６９】
必要な個数のセル１５Ｓを未だビットマップメモリ１０ｎ（サブメモリ）に確保することができていない場合は（図８の＃７３１でＮｏ）、必要な個数のセル１５Ｓが空いていれば（＃７３２でＹｅｓ）、ＣＰＵ１０ａは、これらのセル１５Ｓを確保する（＃７３３）。そして、セル１５Ｓの確保に成功した旨を回答する（＃７３４）。
【００７０】
一方、必要な個数のセル１５Ｓが空いていなければ（＃７３２でＮｏ）、ＣＰＵ１０ａは、セル１５Ｓの確保に失敗した旨を回答するとともに（＃７３５）、セル１６Ｆの確保に失敗した旨を回答する（＃７３６）。なお、セルの確保などの成否の回答は、所定のフラグのオン／オフを切り換えることによって行えばよい。
【００７１】
必要な個数のセル１６Ｆが空いていれば（＃７３７でＹｅｓ）、ＣＰＵ１０ａは、これらのセル１６Ｆをファイルメモリ１６に確保する（＃７３８）。そして、セル１６Ｆの確保に成功した旨を回答する（＃７３９）。
【００７２】
一方、必要な個数のセル１６Ｆが空いていなければ（＃７３７でＮｏ）、このページよりも前のページのバンド圧縮データ６１がファイルメモリ１６に記憶されていれば（＃７４０でＹｅｓ）、ＣＰＵ１０ａは、大容量記憶装置１０ｄへのこれらのバンド圧縮データ６１の待避を指示する（＃７４１）。そして、このようなバンド圧縮データ６１が記憶されているか否かに関わらず、セル１６Ｆの確保に失敗した旨を回答する（＃７４２）。
【００７３】
必要な個数のセル１５Ｓを既に確保することができている場合は（＃７３１でＹｅｓ）、ＣＰＵ１０ａは、ステップ＃７３２〜＃７３６をスキップし、ステップ＃７３７からの処理を実行する。
【００７４】
なお、上述の通り、セル１６Ｆの必要な個数は、Ｖｏ・Ｒａのサイズのデータを記憶するのに必要な個数である。また、セル１５Ｓの必要な個数は、（Ｖｏ−Ｖｏ・Ｒａ）のサイズのデータを記憶するのに必要な個数である。
【００７５】
図７に戻って、セル１５Ｓおよびセル１６Ｆの確保に成功した場合は（＃７２６でＹｅｓ）、ＣＰＵ１０ａは、スキャンを実行するようにスキャナ１０ｍへ指示する（＃７２７）。
【００７６】
セルの確保に失敗した場合は（＃７２６でＮｏ）、ＣＰＵ１０ａは、セルの確保をリトライするように自らに対して要求する（＃７２８）。そして、図７のルーチンを一旦、終了する。その後、再度、図７のルーチンを実行する際に、リトライが行われる。
【００７７】
次に画像を読み取るべきページがない場合であっても（＃７２３でＮｏ）、セルの確保のリトライの要求があれば（＃７２４でＹｅｓ）、ＣＰＵ１０ａは、セルを確保する処理を行う（＃７２５）。
【００７８】
次に画像を読み取るべきページがなく（＃７２３でＮｏ）、リトライの要求もない場合は（＃７２４でＮｏ）、ＣＰＵ１０ａは、必要に応じてその他の処理を実行する（＃７２９）。
【００７９】
図６に戻って、ＣＰＵ１０ａは、印刷処理を実行する（＃７０６）。印刷処理の手順は、図９に示す通りである。
【００８０】
プリンタ１０ｒからスタートの要求があった場合は（図９の＃７５１でＹｅｓ）、ＣＰＵ１０ａは、次に印刷すべきページのすべてのバンド圧縮データ６１がファイルメモリ１６に記憶されていれば（＃７５２でＹｅｓ）、これらのバンド圧縮データ６１の伸張および出力を伸張回路１０ｑに開始させる（＃７５３）。
【００８１】
あるページの画像の印刷が終了した場合は（＃７５１でＮｏ、＃７５４でＹｅｓ）、ＣＰＵ１０ａは、そのページのすべてのバンド圧縮データ６１をファイルメモリ１６から削除する（＃７５５）。これにより、これらのバンド圧縮データ６１で使用されていたセル１６Ｆが開放され、空いている状態になる。なお、プリンタ１０ｒへ、伸張されたバンド圧縮データ６１が送られた時点で、バンド圧縮データ６１を削除してもよい。
【００８２】
画像の印刷が終了していない場合は（＃７５４でＮｏ）、ＣＰＵ１０ａは、必要に応じてその他の処理を実行する（＃７５６）。
【００８３】
図６に戻って、ＣＰＵ１０ａは、画像入力処理を実行する（＃７０７）。画像入力処理の手順は、図１０に示す通りである。
【００８４】
スキャナ１０ｍによって１つのバンド分のライン画像データ６０が得られ、ビットマップメモリ１０ｎに記憶され始めると（図１０の＃７６１でＹｅｓ）、ＣＰＵ１０ａは、これらのライン画像データ６０の圧縮を開始するように圧縮回路１０ｐへ指令する（＃７６２）。
【００８５】
一旦、図１０のルーチンを抜けるが、その後、これらのライン画像データ６０が圧縮回路１０ｐによって圧縮され、バンド圧縮データ６１が生成される。そして、バンド圧縮データ６１がファイルメモリ１６に記憶される。
【００８６】
バンド圧縮データ６１が生成されファイルメモリ１６に記憶されたが（＃７６３でＹｅｓ）、同じページの残りのバンド圧縮データ６１を記憶するためのセル１６Ｃが不足している場合は（＃７６５でＹｅｓ）、ＣＰＵ１０ａは、既にファイルメモリ１６に記憶されている、そのページのバンド圧縮データ６１を大容量記憶装置１０ｄへ待避させ始める（＃７６６）。これにより、次のバンドのバンド圧縮データ６１のためのセル１６Ｃが空くのを待つ状態（以下、「空き待ち状態」と記載する。）になる（＃７６７）。不足していない場合は（＃７６５でＮｏ）、次のバンドの圧縮を圧縮回路１０ｐに開始させる（＃７６８）。
【００８７】
空き待ち状態になった後（＃７６４でＹｅｓ）、ＣＰＵ１０ａは、次のバンドのバンド圧縮データ６１のためのセル１６Ｃが空けば、つまり、待避によって不足が解消されていれば（＃７６５でＮｏ）、次のバンドのライン画像データ６０の圧縮を圧縮回路１０ｐに開始させる（＃７６８）。
【００８８】
または、待避の指示があった場合は（＃７６９でＹｅｓ）、ＣＰＵ１０ａは、既にファイルメモリ１６へ記憶されている、１つのページのすべてのバンド圧縮データ６１の、大容量記憶装置１０ｄへの待避を開始させる（＃７７０）。
【００８９】
上記のいずれでもない場合は（＃７６１でＮｏ、＃７６３でＮｏ、＃７６９でＮｏ、＃７７０でＮｏ）、ＣＰＵ１０ａは、必要に応じてその他の処理を実行する（＃７７１）。
【００９０】
図６に戻って、ＣＰＵ１０ａは、複合機１のサービスが停止するまで、ステップ＃７０２〜＃７０９の処理を繰り返し実行する。
【００９１】
ところで、Ｋページ目の想定圧縮率Ｒａは、Ｋページ目のすべてのライン画像データ６０の合計のサイズ（サイズＶｏ）およびファイルメモリ１６のサイズＶｆに応じて決定すればよい。
【００９２】
具体的には、次の（１）式によって想定圧縮率Ｒａを決定すればよい。なお、（１）式によって算出される値を多少加減して、想定圧縮率Ｒａを決定してもよい。
Ｒａ＝（Ｖｆ／Ｖｏ）／Ｐａ      ……  （１）
Ｐａは、ファイルメモリ１６にバンド圧縮データ６１をすべて同時期に記憶させておくことができるページの上限の数である。
【００９３】
つまり、想定圧縮率Ｒａは、ページ数Ｐａ分のバンド圧縮データ６１を同時期にファイルメモリ１６に記憶できるようにするための圧縮率であると言える。
【００９４】
特に、ページ数Ｐａを「３」に定めておけば、バンド圧縮データ６１が大容量記憶装置１０ｄへ待避される場合があっても、ファイルメモリ１６の４０％程度のセル１６Ｆを、印刷用に、つまり、待避されたバンド圧縮データ６１の復帰用に、割り当てることができる。これにより、スキャンおよび印刷を並行して実行し易くなる。
【００９５】
なお、ページ数Ｐａ分強のバンド圧縮データ６１を同時期にファイルメモリ１６に記憶できるようにするための圧縮率を想定圧縮率Ｒａとして用いたい場合は、係数α（ただし、α≧１）をページ数Ｐａに掛ければよい。つまり、次の（１）’式によって想定圧縮率Ｒａを求めればよい。
Ｒａ＝（Ｖｆ／Ｖｏ）／（α・Ｐａ）      ……  （１）’
したがって、（１）式または（１）’式によると、例えば、ページ数Ｐａが「３」であり、係数αが「１．１」であり、「Ｖｆ＝Ｖｏ」であれば、想定圧縮率Ｒａは、およそ３０〜３４％である。または、ページ数Ｐａが「３」であり、「Ｖｆ＝２Ｖｏ」であれば、想定圧縮率Ｒａは、およそ６０〜６７％である。
【００９６】
ＣＰＵ１０ａは、想定圧縮率Ｒａを決定する処理を、図６のステップ＃７０４において実行すればよい。具体的には、ユーザがいわゆる原稿モードを指定したり、原稿用紙のサイズを指定したりするごとに、実行すればよい。原稿モードが「写真モード」であればページ数Ｐａが小さくなり、「文書モード」であればページ数Ｐａが大きくなる。また、原稿用紙のサイズが大きいほど、ページ数Ｐａが小さくなる。そして、ページ数Ｐａが変わるごとに、ＣＰＵ１０ａは、（１）式または（１）’式に基づいて想定圧縮率Ｒａを決定する。または、メインメモリ１０ｂにおけるファイルメモリ１６の割当てのサイズ（つまり、サイズＶｆ）が変わるごとに、想定圧縮率Ｒａを決定する。
【００９７】
本実施形態によると、メインメモリから不揮発性の記憶装置へのデータの待避を従来よりも少なくすることができる。これにより、特に、メインメモリのサイズが小さい安価な複合機において、コピーの全体的な処理の高速化を図ることができる。
【００９８】
本実施形態では、画像を白紙に印刷することによって出力したが、ファクシミリまたは電子メールなど他の方法によって出力する場合にも、本発明を適用することができる。
【００９９】
その他、複合機１の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１００】
１  複合機（画像処理装置）
１０ａ  ＣＰＵ（確保手段、記憶処理手段）
１０ｂ  メインメモリ
１０ｐ  圧縮回路（圧縮手段）
１６  ファイルメモリ（ファイルメモリ領域）
１Ｐ  ファイルメモリ管理プログラム
６０  ライン画像データ（画像データ）
６１  バンド圧縮データ（圧縮データ）
【図１】
2016181847.tif 000003
【図２】
2016181847.tif 000004
【図３】
2016181847.tif 000005
【図４】
2016181847.tif 000006
【図５】
2016181847.tif 000007
【図６】
2016181847.tif 000008
【図７】
2016181847.tif 000009
【図８】
2016181847.tif 000010
【図９】
2016181847.tif 000011
【図１０】
2016181847.tif 000012