(57)【要約】【課題】本発明は、画像データの流れを制御する画像制御装置に関し、メモリの割当てを動的に変化させることによりメモリの利用効率を高める。【解決手段】メモリのサイズを認識するとともにプログラムのサイズを求めて、メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、出力画像データのサイズを求めて画像データ領域上に出力画像データを格納するための出力画像用領域を割り当てるとともに、画像処理に必要な領域サイズを求めて画像データ領域上に画像処理用領域を割り当て、さらに画像データ領域上に、入力されてきた画像データを一旦格納しておくための画像読取用領域を割り当て、入力されてきた画像データを画像読取用領域に一旦格納し、画像読取用領域から画像データを読み出し画像処理用領域を使いながら画像処理を行ない、最終的に出力画像用領域に格納する。【選択図】        図１６
2009055226.tif 000002
【特許請求の範囲】
【請求項１】
外部と通信し画像データを入力する通信部と、
画像データに基づく画像を用紙上に出力する画像形成装置に向けて画像データを出力する出力部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
前記メモリ上に複数の格納領域を割り当てる割当部とを備え、
前記割当部が、
前記メモリのサイズを認識するとともにプログラムのサイズを求めて、前記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
前記通信部から入力される画像データが、圧縮処理前又は伸長処理後の第１の画像データであるか、圧縮処理後伸長処理前の第２の画像データであるかに応じて、
前記第１の画像データの場合は、前記画像データ領域全域を、前記画像出力部により出力される出力画像データを格納する出力用画像領域として割り当て、前記第２の画像データの場合は、前記画像出力部により出力される出力画像データのサイズを求めて、前記画像データ領域上に該出力画像データを格納するための出力用画像領域を割り当てるとともに、前記画像データ領域の残り領域を、前記第２の画像データを格納しておくための出力画像データ蓄積用領域として割り当てるものであり、
前記制御部は、前記通信部から第１の画像データが入力される場合は、該通信部から入力されてきた画像データを前記画像出力用領域に格納し、前記通信部から第２の画像データが入力される場合は、該通信部から入力されてきた画像データを前記出力画像データ蓄積用領域に一旦格納し該出力画像データ蓄積用領域から画像データを読み出し伸長処理を行なって前記出力画像用領域に格納するものであることを特徴とする画像制御装置。
【請求項２】
複数の読取速度の中から選択された読取速度で原稿を読み取って画像データを取得する画像読取装置から画像データを入力する入力部と、
外部と通信し画像データを出力する通信部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
前記メモリ上に複数の格納領域を割り当てる割当部とを備え、
前記割当部が、
前記メモリのサイズを認識するとともにプログラムのサイズを求めて、前記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
前記通信部により出力される出力画像データのサイズを求めて前記画像データ領域上に該出力画像データを格納するための出力画像用領域を割り当てるとともに、画像処理に必要な領域サイズを求めて前記画像データ領域上に画像処理用領域を割り当て、さらに前記画像データ領域から前記出力画像用領域と前記画像処理用領域とを除いた残りの領域を、前記入力部から入力されてきた画像データを一旦格納しておくための画像読取用領域として割り当てるものであり、
前記制御部は、前記入力部から入力されてきた画像データを前記画像読取用領域に一旦格納し、該画像読取用領域から画像データを読み出し前記画像処理用領域を使いながら画像処理を行なって前記出力画像用領域に格納するものであることを特徴とする画像制御装置。
【請求項３】
前記制御部は、画像処理に要する画像処理速度を求め、前記入力部から入力される画像データの入力速度と該画像処理速度との差分により前記画像読取用領域に蓄積される画像データが該画像読取用領域から溢れないレベルの、前記画像読取装置での原稿の読取りに使用される読取速度を求めるものであることを特徴とする請求項２記載の画像制御装置。
【請求項４】
前記制御部は、前記画像読取装置での原稿の読取速度を求めるにあたり、該画像読取装置で選択可能な複数の読取速度のうちの高速の読取速度から低速の読取速度に向かって順に、当該読取速度で原稿を読み取って得た画像データが前記画像読取用領域から溢れないか否かを算出し、該画像データが該画像読取用領域から溢れないレベルの最高速の読取速度を求めるものであることを特徴とする請求項３記載の画像制御装置。
【請求項５】
複数の読取速度の中から選択された読取速度で原稿を読み取って画像データを取得する画像読取装置から画像データを入力する入力部と、
画像データに基づく画像を用紙上に出力する画像形成装置に向けて画像データを出力する出力部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
前記メモリ上に複数の格納領域を割り当てる割当部とを備え、
前記割当部が、
前記メモリのサイズを認識するとともにプログラムのサイズを求めて、前記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
前記出力部により出力される出力画像データのサイズを求めて前記画像データ領域上に該出力画像データを格納するための出力画像用領域を割り当てるとともに、画像処理に必要な領域サイズを求めて前記画像データ領域上に画像処理用領域を割り当て、さらに前記画像データ領域上に前記入力部から入力されてきた画像データを一旦格納しておくための画像読取用領域を割り当てるものであり、
前記制御部は、前記入力部から入力されてきた画像データを前記画像読取用領域に一旦格納し、該画像読取用領域から画像データを読み出し前記画像処理用領域を使いながら画像処理を行ない、最終的に前記出力画像用領域に格納するものであることを特徴とする画像制御装置。
【請求項６】
当該画像制御装置が、画像データをページ順に出力する丁合モードを有するものであって、
前記割当部は、丁合モードにおいて、前記画像データ領域上に、前記メモリのサイズに応じたサイズの、丁合モードで使われる丁合用領域を割り当てた上で前記画像読取用領域を割り当てるものであることを特徴とする請求項５記載の画像制御装置。
【請求項７】
当該画像制御装置が、前記画像読取装置で複数の原稿から読み取って得た複数の入力画像データを画像処理により１つの出力用画像データに編集する複数画像編集モードを有するものであって、
前記割当部は、複数画像編集モードにおいて、前記画像データ領域上に、複数画像編集モードで使われる複数画像編集用領域を割り当てた上で前記画像読取用領域を割り当てるものであることを特徴とする請求項５又は６記載の画像制御装置。
【請求項８】
前記複数画像編集モードが第１サブモードと第２サブモードとを有し、
前記割当部は、前記第１サブモードでは、前記画像データ領域上に、１つの出力用画像データに編集される複数の入力画像データを格納するサイズの複数画像編集用領域を割り当て、前記第２のサブモードでは、前記画像データ領域上に１つの入力画像データを格納するサイズの複数画像編集用領域を割り当てるものであることを特徴とする請求項７記載の画像制御装置。
【請求項９】
前記制御部は、画像処理に要する画像処理速度を求め、前記入力部から入力される画像データの入力速度と該画像処理速度との差分により前記画像読取用領域に蓄積される画像データが該画像読取用領域から溢れないレベルの、前記画像読取装置での原稿の読み取りに使用される読取速度を求めるものであることを特徴とする請求項５から８のうちいずれか１項記載の画像制御装置。
【請求項１０】
前記制御部は、前記画像読取装置での原稿の読取速度を求めるにあたり、該画像読取装置で選択可能な複数の読取速度のうちの高速の読取速度から低速の読取速度に向かって順に、当該読取速度で原稿を読み取って得た画像データが前記画像読取用領域から溢れないか否かを算出し、該画像データが該画像読取用領域から溢れないレベルの最高速の読取速度を求めるものであることを特徴とする請求項９記載の画像制御装置。
【請求項１１】
当該画像制御装置が、画像データをページ順に出力する丁合モードを有するものであって、
前記割当部は、丁合モードにおいて、前記画像データ領域上に、前記メモリのサイズに応じたサイズの、丁合モードで使われる丁合用領域を割り当てた上で、前記画像読取用領域を割り当てるものであり、さらに、
前記割当部は、前記制御部により求められた画像処理速度と前記画像読取装置での原稿の読取に使用される読取速度とに基づいて、前記画像読取用領域として必要なサイズを求め、該サイズの領域を画像読取用領域として割り当て直すとともに、前記メモリのサイズに応じて割り当てた丁合用領域のサイズに、前記画像読取用領域を割り当て直すことによって生じた残りのサイズを加えたサイズの領域を、丁合用領域として割り当て直すものであることを特徴とする請求項９又は１０記載の画像制御装置。
【請求項１２】
前記割当部は、前記画像データ領域上に前記画像処理用領域を割り当てるにあたり、前記メモリのサイズと画像処理内容とに基づくサイズの画像処理用領域を割り当てるものであることを特徴とする請求項５から１１のうちいずれか１項記載の画像制御装置。
【請求項１３】
前記制御部は、丁合モードで動作している間、前記画像読取装置で原稿を１枚読み取るごとに、前記丁合用領域に、次の原稿を読み取って得た画像データを格納できるだけの空き領域が存在するか否かを判定し、該空き領域が存在しない場合に、ユーザの選択に応じて動作を中止させ、又はこれまでに原稿を読み取って得た画像データの範囲内で、前記画像形成装置に画像を形成させるものであることを特徴とする請求項６又は１１記載の画像制御装置。
【請求項１４】
前記制御部は、丁合モードで動作している途中で前記丁合用領域が満杯になった場合に、ユーザの選択に応じて、動作を中止させ、又は、これまでに原稿を読み取って得た画像データのうちの、読取りが完了している原稿から得られた画像データの範囲内で、前記画像形成装置に画像を形成させるものであることを特徴とする請求項６又は１１記載の画像制御装置。
【請求項１５】
前記制御部は、前記丁合モードにおいては、前記出力部に前記画像形成装置に向けて出力させる出力画像データを、前記出力画像用領域と前記画像読取用領域との双方を合わせた領域に格納し、前記出力部は、該合わせた領域に格納された出力画像データを前記画像形成装置に向けて出力するものであることを特徴とする請求項６又は１１記載の画像制御装置。
【請求項１６】
前記割当部は、１つのジョブの開始時に前記メモリ上に複数の格納領域を割り当て、
前記制御部は、１つのジョブが終了するまで、前記割当部による、該１つのジョブの開始時における格納領域の割り当てに従って画像データの流れを制御するものであることを特徴とする請求項１から１５記載の画像制御装置。
【請求項１７】
前記制御部は、前記画像読取装置で読取られた画像データを、一定の単位で処理するものであり、前記一定の単位は前記メモリのサイズに応じたサイズに設定されることを特徴とする請求項２から１６のうちのいずれか１項記載の画像制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データの流れを制御する画像制御装置に関する。
【背景技術】
【０００２】
近年、プリンタ機能、スキャナ機能およびコピー機能といった複数の機能を有する複合機が広く普及してきている。この複合機においても近年コストダウン要求がますます厳しくなり、その複合機を制御するためのソフトウェアが格納されるメモリも、そのサイズを大幅に削る必要に迫られている。
【０００３】
特に小型機では必要最低限のメモリサイズでも、場合によっては更に縮小を余儀なくされる場合がある。ところが一方では、スキャナや自動原稿送り機の制御や、ソフトウエアによる画像処理などを１つのＣＰＵで制御するなど、メモリの使用量やＲＯＭサイズが増加するような状況となってきている。このような状況の中、従来ではシステムを構成するソフトウェアモジュールが個々にメモリの確保を行い、処理速度は動作モードによらず一定であった（または専用のメモリや処理速度を保証するハードウェアが用意されていた）。そのことにより、メモリの虫食い状態が発生しやすく、無駄も多く発生していた。
【０００４】
ここで特許文献１には、各制御部に専用のＲＡＭをもつ構成が示されており、特許文献２には、各用途でメモリ領域を固定的に持っている構成が示されており、特許文献３には、プリンタに送る画像を制御するためのメモリ構成が開示されており、特許文献４〜６には、画像データをページ単位で取り扱い、専用のページメモリを持つ構成が開示されている。
【特許文献１】特開平９−２４５１５７号公報
【特許文献２】特開平１０−２００７１４号公報
【特許文献３】特開平１０−２９４８３４号公報
【特許文献４】特開２００４−７４０３号公報
【特許文献５】特開２００４−１０４７４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記事情に鑑み、メモリの割当てを動的に変化させることによりメモリの使用効率を高めた画像制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成する本発明の画像制御装置のうちの第１の画像制御装置は、
外部と通信し画像データを入力する通信部と、
画像データに基づく画像を用紙上に出力する画像形成装置に向けて画像データを出力する出力部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
上記メモリ上に複数の格納領域を割り当てる割当部とを備え、
上記割当部が、
上記メモリのサイズを認識するとともにプログラムのサイズを求めて、上記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
上記通信部から入力される画像データが、圧縮処理前又は伸長処理後の第１の画像データであるか、圧縮処理後伸長処理前の第２の画像データであるかに応じて、
第１の画像データの場合は、画像データ領域全域を、画像出力部により出力される出力画像データを格納する出力用画像領域として割り当て、第２の画像データの場合は、画像出力部により出力される出力画像データのサイズを求めて、画像データ領域上にその出力画像データを格納するための出力用画像領域を割り当てるとともに、画像データ領域の残り領域を、上記第２の画像データを格納しておくための出力画像データ蓄積用領域として割り当てるものであり、
上記制御部は、通信部から第１の画像データが入力される場合は、通信部から入力されてきた画像データを画像出力用領域に格納し、通信部から第２の画像データが入力される場合は、通信部から入力されてきた画像データを出力画像データ蓄積用領域に一旦格納しその出力画像データ蓄積用領域から画像データを読み出し伸長処理を行なって出力画像用領域に格納するものであることを特徴とする。
【０００７】
また、本発明の画像制御装置のうちの第２の画像制御装置は、
複数の読取速度の中から選択された読取速度で原稿を読み取って画像データを取得する画像読取装置から画像データを入力する入力部と、
外部と通信し画像データを出力する通信部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
上記メモリ上に複数の格納領域を割り当てる割当部とを備え、
上記割当部が、
上記メモリのサイズを認識するとともにプログラムのサイズを求めて、上記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
上記通信部により出力される出力画像データのサイズを求めて画像データ領域上に出力画像データを格納するための出力画像用領域を割り当てるとともに、画像処理に必要な領域サイズを求めて画像データ領域上に画像処理用領域を割り当て、さらに画像データ領域から出力画像用領域と画像処理用領域とを除いた残りの領域を、上記入力部から入力されてきた画像データを一旦格納しておくための画像読取用領域として割り当てるものであり、
上記制御部は、入力部から入力されてきた画像データを画像読取用領域に一旦格納し、画像読取用領域から画像データを読み出し画像処理用領域を使いながら画像処理を行なって出力画像用領域に格納するものであることを特徴とする。
【０００８】
ここで、上記第２の画像制御装置において、上記制御部は、画像処理に要する画像処理速度を求め、上記入力部から入力される画像データの入力速度と上記画像処理速度との差分により画像読取用領域に蓄積される画像データがその画像読取用領域から溢れないレベルの、上記画像読取装置での原稿の読取りに使用される読取速度を求めるものであってもよい。
【０００９】
この場合に、上記制御部は、上記画像読取装置での原稿の読取速度を求めるにあたり、その画像読取装置で選択可能な複数の読取速度のうちの高速の読取速度から低速の読取速度に向かって順に、当該読取速度で原稿を読み取って得た画像データが画像読取用領域から溢れないか否かを算出し、その画像データが画像読取用領域から溢れないレベルの最高速の読取速度を求めるものであることが好ましい。
【００１０】
また、本発明の画像制御装置のうちの第３の画像制御装置は、
複数の読取速度の中から選択された読取速度で原稿を読み取って画像データを取得する画像読取装置から画像データを入力する入力部と、
画像データに基づく画像を用紙上に出力する画像形成装置に向けて画像データを出力する出力部と、
プログラムおよび画像データが格納されるメモリと、
プログラムを実行しプログラムの実行により画像データの流れを制御する制御部と、
上記メモリ上に複数の格納領域を割り当てる割当部とを備え、
上記割当部が、
上記メモリのサイズを認識するとともにプログラムのサイズを求めて、上記メモリ上にプログラムが格納されるプログラム領域と画像データが格納される画像データ領域を割り当て、
上記出力部により出力される出力画像データのサイズを求めて画像データ領域上に出力画像データを格納するための出力画像用領域を割り当てるとともに、画像処理に必要な領域サイズを求めて画像データ領域上に画像処理用領域を割り当て、さらに画像データ領域上に上記入力部から入力されてきた画像データを一旦格納しておくための画像読取用領域を割り当てるものであり、
上記制御部は、上記入力部から入力されてきた画像データを画像読取用領域に一旦格納し、画像読取用領域から画像データを読み出し画像処理用領域を使いながら画像処理を行ない、最終的に出力画像用領域に格納するものであることを特徴とする。
【００１１】
ここで、本発明の第３の画像制御装置において、当該画像制御装置が、画像データをページ順に出力する丁合モードを有するものであって、上記割当部は、丁合モードにおいて、画像データ領域上に、上記メモリのサイズに応じたサイズの、丁合モードで使われる丁合用領域を割り当てた上で上記画像読取用領域を割り当てるものであることが好ましい。
【００１２】
また、本発明の第３の画像制御装置において、当該画像制御装置が、上記画像読取装置で複数の原稿から読み取って得た複数の入力画像データを画像処理により１つの出力用画像データに編集する複数画像編集モードを有するものであって、
上記割当部は、複数画像編集モードにおいて、画像データ領域上に、複数画像編集モードで使われる複数画像編集用領域を割り当てた上で画像読取用領域を割り当てるものであることが好ましく、
その場合に、上記複数画像編集モードが第１サブモードと第２サブモードとを有し、上記割当部は、第１サブモードでは、画像データ領域上に、１つの出力用画像データに編集される複数の入力画像データを格納するサイズの複数画像編集用領域を割り当て、第２のサブモードでは、画像データ領域上に１つの入力画像データを格納するサイズの複数画像編集用領域を割り当てるものであることが好ましい。
【００１３】
さらに、本発明の第３の画像制御装置において、上記制御部は、画像処理に要する画像処理速度を求め、上記入力部から入力される画像データの入力速度と上記画像処理速度との差分により画像読取用領域に蓄積される画像データがその画像読取用領域から溢れないレベルの、上記画像読取装置での原稿の読み取りに使用される読取速度を求めるものであることが好ましく、
その場合に、上記制御部は、上記画像読取装置での原稿の読取速度を求めるにあたり、その画像読取装置で選択可能な複数の読取速度のうちの高速の読取速度から低速の読取速度に向かって順に、当該読取速度で原稿を読み取って得た画像データが画像読取用領域から溢れないか否かを算出し、画像データが画像読取用領域から溢れないレベルの最高速の読取速度を求めるものであることが好ましい。
【００１４】
また、上記第３の画像制御装置において、当該画像制御装置が、画像データをページ順に出力させる丁合モードを有するものであって、
上記割当部は、丁合モードにおいて、画像データ領域上に、上記メモリのサイズに応じたサイズの、丁合モードで使われる丁合用領域を割り当てた上で、上記画像読取用領域を割り当てるものであり、さらに、
上記割当部は、上記制御部により求められた画像処理速度と上記画像読取装置での原稿の読取に使用される読取速度とに基づいて、画像読取用領域として必要なサイズを求め、そのサイズの領域を画像読取用領域として割り当て直すとともに、上記メモリのサイズに応じて割り当てた丁合用領域のサイズに、上記画像読取用領域を割り当て直すことによって生じた残りのサイズを加えたサイズの領域を、丁合用領域として割り当て直すものであることが好ましい。
【００１５】
さらに、上記第３の画像制御装置において、上記割当部は、上記画像データ領域上に画像処理用領域を割り当てるにあたり、上記メモリのサイズと画像処理内容とに基づくサイズの画像処理用領域を割り当てるものであることが好ましい。
【００１６】
さらに、上記第３の画像制御装置において、上記制御部は、丁合モードで動作している間、上記画像読取装置で原稿を１枚読み取るごとに、丁合用領域に、次の原稿を読み取って得た画像データを格納できるだけの空き領域が存在するか否かを判定し、その空き領域が存在しない場合に、ユーザの選択に応じて動作を中止させ、又はこれまでに原稿を読み取って得た画像データの範囲内で、上記画像形成装置に画像を形成させるものであってもよく、
あるいは、上記制御部は、丁合モードで動作している途中で丁合用領域が満杯になった場合に、ユーザの選択に応じて、動作を中止させ、又は、これまでに原稿を読み取って得た画像データのうちの、読取りが完了している原稿から得られた画像データの範囲内で、上記画像形成装置に画像を形成させるものであってもよい。
【００１７】
また、上記第３の画像制御装置において、上記制御部は、丁合モードにおいては、上記出力部に上記画像形成装置に向けて出力させる出力画像データを、出力画像用領域と画像読取用領域との双方を合わせた領域に格納し、上記出力部は、その合わせた領域に格納された出力画像データを上記画像形成装置に向けて出力するものであることが好ましい。
【００１８】
尚、上記第１、第２、および第３の画像制御装置のいずれかにおいても、上記割当部は、１つのジョブの開始時に上記メモリ上に複数の格納領域を割り当て、上記制御部は、１つのジョブが終了するまで、その１つのジョブの開始時における格納領域の割り当てに従って画像データの流れを制御するものであることが好ましい。
【００１９】
また、上記第１、第２、および第３の画像制御装置のいずれにおいても、上記制御部は、上記画像読取装置で読取られた画像データを、一定の単位で処理するものであり、上記一定の単位は上記メモリのサイズに応じたサイズに設定されることが好ましい。
【発明の効果】
【００２０】
本発明のうち請求項１に記載された第１の画像制御装置は、いわゆるプリンタとしての機能を制御するための画像制御装置であり、この第１の画像制御装置によれば、通信部から入力される画像データが圧縮画像データであるか否かに応じてメモリが最適に割り当てられる。
【００２１】
また、本発明のうちの請求項２に記載された第２の画像制御装置は、いわゆるスキャナとしての機能を制御するための画像制御装置であり、この第２の画像制御装置によれば、出力画像用領域、画像読取用領域、画像処理用領域が、例えばジョブごと等に動的に最適化される。
【００２２】
ここで、請求項３に記載された態様によれば、サイズが制限された画像読取用領域しか確保できない場合であっても、原稿の読取速度の調整により正常動作が確保される。
【００２３】
また、請求項４に記載された態様によれば、原稿の読取速度の調整にあたり、使用可能な最高速の読取速度が求められ、画像読取用領域のサイズが制限された中にあっても、その条件下で最も高速の動作が選択される。
【００２４】
また、本発明のうちの請求項５に記載された第３の画像制御装置は、いわゆるコピー機としての機能を制御するための画像制御装置であり、この第３の画像制御装置によれば、出力画像用領域、画像読取用領域、画像処理用領域が、例えばジョブごと等に動的に最適化される。
【００２５】
ここで、請求項６の態様によれば、丁合モードでは丁合用領域も好適に割り当てられる。
【００２６】
さらに、請求項７の態様によれば、複数画像編集モードでは複数画像編集用領域も好適に割り当てられる。
【００２７】
さらに、請求項８の態様によれば、ユーザの好みに応じた、第１のサブモードと第２のサブモードのそれぞれで、画像データ領域が好適に分割される。
【００２８】
また、請求項９の態様によれば、第２の画像制御装置における請求項３の態様と同様、サイズが制限された画像読取用領域しか確保できない場合であっても、原稿の読取速度の調整により正常動作が確保される。
【００２９】
また、請求項１０の態様によれば、第２の画像制御装置における請求項４の態様と同様、原稿の読取速度の調整にあたり、使用可能な最高速の読取速度が求められ、画像読取用領域のサイズが制限された中にあっても、その条件下で最も高速の動作が選択される。
【００３０】
また、請求項１１の態様によれば、ぎりぎりまで広い丁合用領域が確保される。
【００３１】
また、請求項１２の態様によれば、好適なサイズの画像処理用領域が割り当てられる。
【００３２】
さらに、請求項１３の態様によれば、原稿を読み取る前に丁合用領域の満杯が判定されるため、無駄な動作が防止でき、一方、請求項１４の態様によれば丁合用領域をぎりぎり満杯となるまで無駄なく利用できる。
【００３３】
さらに、請求項１５の態様によれば、画像データ出力用バッファとして使用される領域を広く確保できる。
【００３４】
さらに、請求項１６の態様によれば、メモリ上の領域の割り当てがジョブごとに動的に最適化される。
【００３５】
さらに、請求項１７の態様によれば、メモリのサイズに応じて効率的な処理が行なわれる。
【発明を実施するための最良の形態】
【００３６】
以下図面を参照して本発明の実施の形態を説明する。
【００３７】
図１は、本発明の一実施形態としての画像制御装置を含むシステム構成図である。
【００３８】
この図１には、プリンタ、スキャナ、およびコピー機としての機能を有する複合機１０が示されており、この複合機にはネツトワークまたはＵＳＢ等を介して複数の情報処理装置（パーソナルコンピュータ（ＰＣ）など）２０が接続されている。
【００３９】
また、この複合機１０は、画像制御装置１００、ユーザインタフェース２００、画像読取装置３００、および画像形成装置４００で構成されている。
【００４０】
画像制御装置１００は、画像データの流れの制御や画像処理等を担当している要素であり、ユーザインタフェース２００は、ユーザとこの複合機１０との間のマン・マシンインタフェースを担当している要素である。この複合機１０を動作させるのに必要な制御情報は、場面に応じて、このユーザインタフェース２００から指示入力されるか、あるいは情報処理装置１０から制御信号として入力される。
【００４１】
また、画像読取装置３００はいわゆるスキャナと呼ばれる装置であり、用紙上に記録されている画像を読み取って画像データを生成する装置である。ここでは、この画像読取装置３００は、複数の読取速度のうちの画像制御装置１００からの制御信号に応じた読取速度で原稿を読み取ることができる構成となっている。
【００４２】
また、画像形成装置４００は、用紙上に画像を形成する、いわゆるプリンタであり、例えば電子写真方式の画像形成装置が好適である。
【００４３】
図２は、図１に示す複合機１０を構成する画像制御装置１００の内部構成を示すブロック図である。
【００４４】
この図２に示す画像制御装置１００は、ユーザインタフェース制御部１０１、ＣＰＵ１０２、ＲＯＭ１０３、ＳＤＲＡＭ１０４、入力制御部１０５、出力制御部１０６、ネットワーク制御部１０７、ＵＳＢ制御部１０８、および画像処理部１０９を備えており、これらの各要素１０１〜１０９は、システムバス１１０を介して互いに接続されている。
【００４５】
ユーザインタフェース１０１は、ユーザインタフェース２００との間の信号の授受を担っており、ＣＰＵ１０２は、ＲＯＭ１０３又はＳＤＲＡＭ１０４に格納されているプログラムを実行することにより全体の制御を担っている。また、ＲＯＭ１０３は、プログラムを不揮発的に格納しておくメモリである。このＲＯＭ１０３に格納されているプログラムのうち、電源投入時に動作する一部のプログラムは、ＲＯＭに格納されたままの状態でＣＰＵ１０２で実行され、その他のプログラムは、電源投入時にＳＤＲＡＭ１０４に展開されて、その後の必要なタイミングでＣＰＵ１０２で実行される。ＲＯＭ１０３に格納されたままＣＰＵ１０２で実行すると動作速度が遅いため、ここでは、一旦高速アクセス可能なＳＤＲＡＭ１０４に展開し、ＳＤＲＡＭ１０４に展開された状態でＣＰＵ１０２で実行する構成を採用している。入力制御部１０５は、画像読取装置３００からの画像データの入力を担当しており、入力された画像データはＳＤＲＡＭ１０４に格納される。
【００４６】
出力制御部１０６は、ＳＤＲＡＭ１０４に格納されている画像データを画像形成装置４００に向けて出力する役割りを担っている。さらに、ネットワーク制御部１０７は、ネットワークを介して接続された情報処理装置２０との間の通信を担っており、情報処理装置２０から送信されてきた制御データや画像データの受信や、情報処理装置２０に向けての画像データの送信を担っている。ネットワーク制御部１０７で受信した画像データはＳＤＲＡＭに格納され、また、ネットワーク制御部１０７が情報処理装置２０に向けて画像データを送信するときはＳＤＲＡＭ１０４に格納されている画像データが読み出されて送信される。
【００４７】
ＵＳＢ制御部１０８は、ＵＳＢ規格に準拠した通信方式で通信を行なう情報処理装置２０との間の通信を担っている、画像データ等の送受信に関しては、通信方式が異なることを除き、ネットワーク制御部１０７と同様である。
【００４８】
画像処理部１０９は、ＳＤＲＡＭ１０４に格納されている画像データの画像処理を担っており、画像処理後の画像データは、再びＳＤＲＡＭ１０４に書き戻される。
【００４９】
この図１，図２に示す複合機１０は、プリンタと、スキャナと、コピーとの３つの機能を有しており、この複合機１０をプリンタとして使用するときは、外部の情報処理装置２０から、ネットワーク制御部１０７又はＵＳＢ制御部１０８を介して入力されてきた画像データが画像形成装置４００に送られて用紙上に画像がプリント出力され、スキャナとして使用するときは、画像読取装置３００で原稿上の画像が読み取られて画像データが生成され、その画像データがネットワーク制御部１０７又はＵＳＢ制御部１０８を介して外部の情報処理装置２０に向けて送信される。さらに、この複合機１０をコピー機として使用するときは、画像読取装置３００で原稿上の画像が読み取られて画像データが生成され、その画像データ出力制御部１０６を介して画像形成装置４００に送られてその画像データに基づく画像が用紙上にプリント出力される。
【００５０】
この複合機１０をプリンタ、スキャナ、およびコピー機として使用するときの動作自体は、従来の複合機と変わるところはなく、詳細説明は省略し、以下では、本発明の特有な点の実施形態である、ＳＤＲＡＭ１０４上の領域の分割方法について説明する。
【００５１】
図３は、電源投入時に実行されるプログラム（領域分割に関する部分のみ。以下に説明する各プログラムにおいてこの注釈は省略し、単にプログラムと称する）のフローチャートである。
【００５２】
この図３に示すプログラムは、図２に示すＲＯＭ１０２に格納された状態のまま、ＣＰＵ１０２で実行される。
【００５３】
ここでは、先ずＳＤＲＡＭ１０４のメモリサイズ（記憶領域の大きさ）が検知され（ステップＳ０１）、さらに、そのＲＯＭ１０２に格納されているソフトウェア（ＳＷ）のバージョンや、機能の有効・無効のチェックが行なわれる（ステップＳ０２）。
【００５４】
図１，図２に示す複合機１０は、プリンタ、スキャナ、およびコピー機の全ての機能を有しているが、例えばコピーのみの機能を有する装置であっても、プリンタの機能のみを有する装置であってもプログラムが共用されており、ここでは、この複合機１０の機能の有効・無効チェックが行なわれる。
【００５５】
図４は、ソフトウェアのバージョンと各種機能の有効・無効により決定されるプログラムのサイズを示す図である。
【００５６】
ＲＯＭ１０２内には、この図４に示すようなテーブル（および後述する各種のテーブル）が格納されており、図３に示すフローチャートのステップＳ０３では、図４に示すテーブルが参照されて、ＳＤＲＡＭ１０４上の必要なプログラムサイズが求められる。ここでは一例として、ソフトウェアバージョンがＶｅｒ３．００であり、コピー、スキャン、プリントの全ての機能を有するため、プログラム領域としては（１．５＋４＋２．５＋２）＝１０（ＭＢ）必要となる。
【００５７】
図５は、メモリマップを示す図である。
【００５８】
ここでは、一例としてＳＤＲＡＭ１０４は４０ＭＢのメモリサイズを有しており、プログラム領域として１０ＭＢが割り当てられ、残りの３０ＭＢが画像データが格納される画像データ領域として確保される。
【００５９】
図３に示すステップＳ０４では、ＲＯＭ１０３内に格納されているプログラムおよび後述する各種テーブルがＳＤＲＡＭ１０４のプログラム領域に転送される。このとき、無効な機能のプログラム部品については転送されない。
【００６０】
さらにその各領域（プログラム領域と画像データ領域）のサイズやアドレスがＳＤＲＡＭ１０３内に保存される。
【００６１】
図６は、ジョブスタート時に実行されるプログラムのフローチャートである。
【００６２】
このプログラムは、電源投入時にＳＤＲＡＭ１０４のプログラム領域に格納されており、その状態で実行される。ここでは、先ず、今回のジョブの、コピー、スキャン、プリントの別／入力画像サイズ／出力画像サイズ／圧縮種別／拡大縮小率／丁合あり・なし／Ｎｕｐあり・なし等のジョブ情報が参照される（ステップＳ１１）。ここで、原稿種別とは、その原稿が文字の原稿であるか、写真の原稿であるか、文字と写真が混在した原稿であるか、という種別であり、ユーザにより指定される。また、Ｎｕｐとは、例えば画像読取装置で読み取って得た複数枚分の画像の画像データを例えば縮小して１枚分の画像の画像データに編集して出力するモードをいい、例えば２枚の入力画像を１枚の出力画像として出力する場合は２ｕｐと称し、４枚の入力画像を１枚の出力画像として出力する場合は４ｕｐと称される。
【００６３】
ステップＳ１１で参照されるジョブ情報は、自動検知されるものもあり、残りは図１，図２に示すユーザインタフェース２００で設定され、あるいは、外部の情報処理装置２０から制御データとして入力される。
【００６４】
ステップＳ１２では、プリント／スキャン／コピーの別が判定され、プリント、スキャン、コピーのいずれであるかに応じて、それぞれ、処理Ａ、処理Ｂ、処理Ｃに進む。
【００６５】
図７は、プリントモードで実行される処理Ａのプログラムのフロートャートである。
【００６６】
このプリントモードは、外部の情報処理装置（ＰＣ）から画像データを受信し、その受信した画像データを画像形成装置４００に送って用紙上に画像を出力するモードである。
【００６７】
ここでは、先ず、ＰＣから受け取る画像データが圧縮された形式の画像データであるか否かが判定され（ステップＳ２１）、圧縮された形式ではない生のままの画像データの場合は、ステップＳ２２に進んで、画像データ領域（図３参照）のサイズ（ここに示す例では３０ＭＢ）がそのまま、画像形成装置４００に出力する画像データを格納しておくバッファとしての役割りを成す出力画像用領域サイズとして決定され、ステップＳ２３では、その領域のアドレスが決定される。
【００６８】
一方、ＰＣから送られてくる画像データが圧縮された形式の画像データであるときは、ステップＳ２４に進み、出力画像サイズ（例えばＡ４）等からそのＡ４の用紙上に出力する画像を表わす画像データを格納するのに必要な出力画像領域のサイズが決定され（ステップＳ２４）、さらにＰＣから送られてきた画像データが蓄積される出力画像データ蓄積用領域のサイズが決定される。ここでは、この出力画像データ蓄積用領域のサイズは、図３に示す画像データ領域サイズ（３０ＭＢ）から出力画像用領域サイズを差し引いた残りのサイズである。ステップＳ２６では、それら各領域のアドレスが決定される。
【００６９】
図８は、メモリマップを示す図である。
【００７０】
図８（Ａ）は、ＰＣから圧縮された画像データが入力される場合のメモリマップであり、図３に示す画像データ領域（３０ＭＢ）のうち、出力画像サイズ（例えばＡ４）から決定される出力画像用領域としてここでは１０ＭＢが割り当てられ、残りの２０ＭＢが出力画像データ蓄積用領域として割り当てられている。
【００７１】
ＰＣから入力されてきた圧縮画像データは、出力画像データ蓄積用領域に一旦格納され、伸長されて出力画像用領域に格納される。この出力画像用領域に格納された画像データが、画像形成装置４００に送られる。
【００７２】
図８（Ｂ）は、ＰＣから圧縮されていない（生の）画像データが入力される場合のメモリマップである。図３に示す画像データ領域（３０ＭＢ）全域が出力画像用領域として用いられる。
【００７３】
図９は、スキャナモードで実行される処理Ｂのプログラムのフローチャートである。
【００７４】
このスキャナモードでは、画像読取装置３００で原稿が読み取られて画像データが生成され、その生成された画像データが外部のＰＣ等に向けて出力される。
【００７５】
この図９に示すフローチャートでは、先ず、読込み画像サイズ／出力画像サイズ／拡大縮小率等から出力画像用領域のサイズが求められ、さらに画像処理を行なうための画像処理領域のサイズが決定される（ステップＳ３１）。
【００７６】
図１０は、画像処理用領域のサイズ決定用のテーブルを示す図である。
【００７７】
ＲＯＭ１０３内には、あらかじめこの図１０に示すテーブルが格納されており、画像処理用領域のサイズを決定するにあたっては、この図１０に示すテーブルが参照される。例えば、ここに示す例ではＳＤＲＡＭ１０４のメモリサイズは４０ＭＢであり、例えば、丁合、Ｎｕｐ、拡大縮小等のないノーマルの状態では、４０ＭＢのノーマルの欄が参照されて画像処理用領域のサイズが決定される。
【００７８】
この画像処理用領域のサイズをＳＤＲＡＭ１０４のメモリサイズ（ここでは４０ＭＢ）等に応じて決定するのは、画像読取装置で読取られた画像データを、そのメモリサイズ等に応じた一定の単位で処理するためである。
【００７９】
次に、図９のステップＳ３２では、画像データ領域の空きサイズが算出される。この空きサイズは、ここでは、（画像データ領域のサイズ（３０ＭＢ）−出力画像用領域−画像処理用領域）により算出される。ここでは、この空きサイズを（Ａ）と称する。
【００８０】
次に、ステップＳ３３では、読込み画像サイズ／原稿種別／拡大縮小率等から画像処理速度および画像処理時間が決定される。
【００８１】
図１１は、画像処理速度決定用のテーブルを示す図である。
【００８２】
ＲＯＭ１０３内にはこの図１１に示すテーブルがあらかじめ格納されており、画像処理速度の決定にあたっては、このテーブルが参照される。
【００８３】
この図１１に示すテーブルには、拡大縮小率と、原稿種別（文書、文字／写真、写真の別）とに応じた画像処理速度（１ピクセルあたり画像処理に要する時間）が示されている。
【００８４】
このテーブルにより画像処理速度が決定され、読込み画像サイズ（ピクセル数）とこの画像処理速度から、画像１枚あたりの画像処理に必要な画像処理時間が決定される。
【００８５】
次に、図９のステップＳ３４では、読込み画像サイズと画像読取装置３００での読取速度から、その１枚の画像を読み込むのに要する画像読込み時間が算出される。この画像読取装置２００は、複数の読取速度の中から指定したいずれの読取速度でも読み取ることができる装置であり、このステップＳ３４では、このステップＳ３４を通過するごとに、速い読取速度から遅い読取速度に向けて順に読取速度が選択されて、その選択された読取速度を採用した場合の画像読込み時間が算出される。
【００８６】
次にステップＳ３５では、画像処理時間と画像読込み時間との差分が算出され、その差分から読込みに必要な画像読取用領域のサイズが決定される。この画像読取用領域は、画像読取装置３００で得られた画像データが先ず最初に一旦格納される領域であり、画像処理時にこの領域から読み出される。画像の読取りと画像処理は並行して実行され、したがってこの画像読取用領域は、画像処理速度が読取速度を上まわれば僅かなサイズの領域で済み、画像処理速度よりも画像読取速度が遅ければ遅いほど、１枚の画像を読み取る間にその画像読取用領域に蓄積される画像データの量が増えることになる。このステップＳ３５では、１枚の画像を読み取る間に蓄積される画像データを格納しておくのに必要な画像読取用領域のサイズが算出される。ここでは、この算出された画像読取用領域のサイズを（Ｂ）で表わす。
【００８７】
ステップＳ３６では、（Ａ）≧（Ｂ）か否かが判定される。（Ａ）≧（Ｂ）のときはステップＳ３２で算出された空き領域のサイズ（Ａ）が画像読取用領域として必要なサイズ（Ｂ）よりも大きいことを意味しており、ステップＳ３７に進む。一方、（Ａ）＜（Ｂ）のときは、画像処理が間に合わずに空き領域のサイズよりも画像処理用領域の必要サイズの方が大きいことを表わしており、このときはステップＳ３４に戻り、一段低い画像読取速度で再び算出（ステップＳ３４，Ｓ３５）、比較（ステップＳ３６）が行なわれる。
【００８８】
ステップＳ３６で（Ａ）≧（Ｂ）であると判定されるとステップＳ３７に進み、このステップＳ３７では、画像読取用領域のサイズが（Ａ）のサイズ、すなわち空き領域全域に決定され、さらに画像読込み速度が（Ａ）≧（Ｂ）を満足する範囲内での最高速度に決定される。ステップＳ３８では、各領域のアドレスが決定される。
【００８９】
図１２は、メモリマップを示す図である。
【００９０】
ここでは、図５に示す画像データ領域（３０ＭＢ）が、出力画像用領域（１０ＭＢ）、画像処理用領域（５ＭＢ）、および画像読取用領域（１５ＭＢ）に分割されている。
【００９１】
画像読取装置３００で得られた画像データは、画像読取用領域に一旦格納されるが、この画像処理用領域への画像データの格納と並行してこの画像読取用領域に既に格納された画像データが読み出され、画像処理用領域が用いられて画像処理が行なわれて出力画像用領域に格納される。出力画像用領域に格納された画像データは、ここから読み出されて外部のＰＣ等に送られる。
【００９２】
ここでは、画像読取りと画像処理とが並行して行なわれ、画像処理速度が画像読取速度よりも遅いときはその差分に相当する画像データが画像読取用領域に少しずつ蓄積されていくことになるが、ここでは上記のようにして、画像データが画像読取用領域から溢れることがない画像読取速度に抑えられており、正常動作が保証されている。
【００９３】
図１３，図１４は、コピーモードで実行される処理Ｃのプログラムのフローチャートの、それぞれ前半部分および後半部分である。
【００９４】
図１３のステップＳ４１では、図９のステップＳ３１と同様にして、画像出力用領域のサイズおよび画像処理用領域のサイズが決定される。
【００９５】
ステップＳ４２では今回のジョブが丁合ありのジョブであるか否かが判定され、丁合ありの場合はステップＳ４３に進み、丁合用領域サイズとして、ＳＤＲＡＭ１０４のメモリサイズに応じた、最小必要サイズが仮設定される。ここで、丁合とは、ページ番号を１，２，３（３ページの場合）としたとき、１→２→３→１→２→３→１→２→３（３部の場合）の順に用紙上に画像を形成することをいう。
【００９６】
丁合を行なうには、全ページ（ここでは例えば３ページ分）の画像データを全て格納しておき、最後のページまで読み込みが行なわれた後になってから画像を出力する必要があるため、全ページの画像データを格納しておくだけの丁合用領域が必要となる。この丁合用領域のサイズが大きければ大きいほど多数ページの丁合が可能となる。
【００９７】
図１５は、メモリサイズと丁合用領域（最小必要サイズ）との対応テーブルを示す図である。
【００９８】
ＲＯＭ１０３内には、この図１５に示すテーブルがあらかじめ格納されており、丁合用領域（最小必要サイズ）の決定にあたっては、このテーブルが参照される。ここで例示しているＳＤＲＡＭ１０４のメモリサイズは４０ＭＢであり、したがってここでは、丁合用領域（最小必要サイズ）として５ＭＢが採用される。
【００９９】
ステップＳ４４では、今回のジョブでは、Ｎｕｐ（２ｕｐ又は４ｕｐ）ありか否かが判定され、Ｎｕｐありの場合はステップＳ４５に進んで、さらに読込み速度優先か否かが判定される。この読込み速度優先か否かは、あらかじめ初期設定として、あるいはこのジョブの実行に際しユーザにより設定される。
【０１００】
読込み速度優先の場合、Ｎ枚の画像を一旦連続的に読み込んだ後で出力画像を編集するため、Ｎ枚の画像を読み込むことのできるサイズのＮｕｐ用領域が必要となる。このＮ枚の画像を読み込むことができるサイズは、拡縮等を横に置くと出力画像のサイズと同じであり、ステップＳ４６ではＮｕｐ用領域サイズとして出力画像サイズと同じサイズが設定される。
【０１０１】
読込み速度優先ではない場合は、画像を１枚読み込んでその１枚分を出力画像用に編集してから次の画像を１枚読み込めばよく、したがってＮｕｐ用領域サイズとして、出力画像サイズの１／Ｎのサイズが設定される。この場合、読込み速度が犠牲になる分、例えば丁合とＮｕｐとの双方が指定されている場合には、より大きなサイズの丁合用領域を確保することができ、より多数ページの丁合が可能となる。
【０１０２】
ステップＳ４８では、画像データ領域中の空きサイズが算出される。ここでは空きサイズを（Ａ）と称する。このステップＳ４８における空きサイズの求め方は、図９のステップＳ３２と同様であるが、丁合用領域やＮｕｐ用領域が設定されているときは、それらを差し引いた領域が空き領域となる。
【０１０３】
ステップＳ４９では、画像処理速度および画像処理時間が算出され、図１３のステップＳ５０では、読込み時間が算出され、ステップＳ５１では、読込みに必要な画像読取用領域のサイズ（（Ｂ）と称する）が算出され、ステップＳ５２では（Ａ）と（Ｂ）との大小が比較される。これらステップＳ４９〜Ｓ５２の処理は、図９のステップＳ３３〜Ｓ３６の処理と同一であり、重複説明は省略する。
【０１０４】
ステップＳ５３では丁合ありか否かが判定され、丁合なしの場合はステップＳ５７に進み、図９のステップＳ３７と同様、空き領域のサイズ（Ａ）がそのまま画像読取用領域サイズとして決定され、画像読込み速度も（Ａ）≧（Ｂ）を設定する範囲内の最高速度に決定される。
【０１０５】
一方、丁合ありの場合は、ステップＳ５４に進み、ステップＳ５１で求めた画像読取用領域として必要なサイズ（Ｂ）が画像読取用領域のサイズとして決定され、画像読取速度が画像読取用領域としてサイズ（Ｂ）を必要とする画像読取速度に決定され、さらにステップＳ５５に進み、図１３のステップＳ４３で仮設定された最小必要サイズに、空き領域のサイズ（Ａ）と画像読取用領域として必要なサイズ（Ｂ）との差分が加算される。すなわち、空き領域（Ａ）のうち、その画像読取速度で必要なサイズ（Ｂ）の画像読取用領域が設定され、その差分（Ａ）−（Ｂ）は丁合用領域に組み込まれて、できるだけ大サイズの丁合用領域が設定され、その分多数ページの丁合が可能となる。
【０１０６】
ステップＳ５７では、各領域のアドレスが決定される。
【０１０７】
図１６は、メモリマップを示す図である。
【０１０８】
ここに示す例では、図５に示す３０ＭＢ分の画像データ領域が、５ＭＢの出力画像用領域、１０ＭＢの画像読取用領域、５ＭＢの画像処理用領域、１０ＭＢの丁合用領域に分割されている。
【０１０９】
画像読取装置３００で得られた画像データは一旦画像読取用領域に格納され、画像処理用領域を使用しながら画像処理が行なわれて画像出力用領域に格納され、その後、その画像出力用領域の画像データが圧縮処理されて丁合用領域に格納される。最終ページまでの画像データが得られると今度は丁合用領域から圧縮画像データがページ順に読み出され伸長処理が行なわれて再び出力画像用領域に格納され、この出力画像用領域の画像データが画像形成装置４００に送られて用紙上に画像が形成される。この丁合の際のメモリの使い方については更に後述する。
【０１１０】
丁合用領域に代えてＮｕｐ両域が設定されている場合は、画像読取装置３００で得られた画像データが一旦画像読取用領域に格納され、画像処理用領域を経てＮｕｐ用領域に格納される。このＮｕｐ用領域に格納された画像データは、出力画像としての編集処理を受けながら出力画像用領域に移され、出力画像用領域にＮｕｐ用の出力画像データが揃った時点で、その出力画像用領域の出力画像データが画像形成装置に送られ、用紙上にＮｕｐ用の画像が形成される。
【０１１１】
丁合用領域とＮｕｐ用領域との双方が設定されているときは、画像読取用領域→画像処理用領域→Ｎｕｐ用領域→出力画像用領域と進んできて、出力画像用領域に１枚分の出力画像データが揃うと、今度は圧縮処理が行なわれて丁合用領域に格納される。最終ページまで同様の処理が繰り返された後、今度は丁合用領域から圧縮画像データがページ順に読み出され伸長処理が行なわれて再び出力画像用領域に格納され、この出力画像用領域の画像データが画像形成装置４００に送られて用紙上に画像が形成される。
【０１１２】
図１７は、原稿１枚分の画像読込みが行なわれるごとに動作するプログラムのフローチャートである。
【０１１３】
ここでは、先ず丁合ありか否かが判定され（ステップＳ６１）、丁合になしの場合は何もせずに抜ける。
【０１１４】
丁合ありの場合、丁合用領域内の未だ画像データが格納されていない空きサイズ（Ａ）が取得され、さらに、出力画像サイズから１ページ分の画像データを格納するのに必要なサイズ（Ｂ）が算出され（ステップＳ６２）、それら（Ａ）と（Ｂ）が比較される。（Ａ）≧（Ｂ）のときは、次の原稿を読み取ったときに格納できるだけの空き領域があるため、次の原稿の読み取りが行なわれる（ステップＳ６４）。
【０１１５】
（Ａ）＜（Ｂ）のときは、ユーザインタフェース２００に、空き容量なしが表示され（ステップＳ６５）、ユーザによりジョブの中止が指示されるか出力開始が指示されるかに応じて、ジョブの中止が指示されたときはその時点でジョブが停止されてメモリがクリアされる。
【０１１６】
出力開始が指示されたときは、それまでに読み込んで得た画像データについて用紙上へのプリント出力が行なわれる（ステップＳ６７）。
【０１１７】
この図１７の場合、原稿を読み込むのに必要なサイズ（Ｂ）は、予測で算出するため、余裕を考えたサイズを算出するように設定されている。このため次の原稿も読み込めるかも知れないが、読み込めないおそれがあるときは、読み込む前に空き容量なしと表示されることになる。
【０１１８】
図１８は、図１７に代わるプログラムのフローチャートである。
【０１１９】
ここでも先ず丁合ありか否かが判定され（ステップＳ６１）、丁合なしの場合は何もせずに抜ける。
【０１２０】
丁合ありの場合、原稿の読み込みを開始し（ステップＳ７２）、１枚の原稿の一部である一定処理単位毎に丁合用領域の空きサイズ（Ａ）が取得されるとともに、出力画像サイズから一定処理単位のサイズ（Ｂ）が算出され（ステップＳ７３）、（Ａ）と（Ｂ）との大小が比較されて（Ａ）≧（Ｂ）のときは次の処理単位分だけ読み込みが継続される（ステップＳ７５）。
【０１２１】
図１９は、処理単位の一例を示す図である。
【０１２２】
１枚の原稿を、読込み方向を横切る方向に複数の短冊の領域に区切った領域１つ１つが処理単位である。
【０１２３】
図１８に戻って説明を続ける。
【０１２４】
ステップＳ７４で、（Ａ）≧（Ｂ）ではないと判定されると、原稿の読み込みが停止される（ステップＳ７６）。その後の各ステップＳ７７〜Ｓ８０の処理は、図１７の各ステップＳ６５〜Ｓ６８の処理と同様である。ただし、ステップＳ７６で、１枚の原稿の途中で停止したときは、ステップＳ７９のプリント出力では、その途中まで読み込まれた原稿の画像データは無視される。
【０１２５】
この図１８のフローの場合、最後に途中までしか読み込まれなかった原稿は、読み込みを開始する必要がなかったことになり、その分、結果的には無駄な動きとなるが、１枚の原稿を読み込む前に判定する図１７の場合と比べ丁合用領域をぎりぎりまで利用することができる。
【０１２６】
図２０は、丁合ありの場合の特殊処理を示すプログラムのフローチャートである。
【０１２７】
ここでは丁合あり、なしが判定され（ステップＳ９１）、丁合なしのときは前述のようにして各領域のアドレスが決定されるが（ステップＳ９３）、丁合ありの場合、画像データをＳＤＲＡＭ１０４から読み出して画像形成装置４００に送るための画像出力用のバッファとして使用できる領域として、出力画像用領域のサイズと画像読取用領域のサイズとを加算したサイズの領域が画像出力用のバッファとして設定される。すなわち、図１６に示すメモリマップのうちの出力画像用領域（５ＭＢ）と画像読取用領域（１０ＭＢ）との双方を合わせた領域が画像出力用のバッファとして用いられる。
【０１２８】
前述したように、丁合ありのときは、最後のページの原稿が読み込まれるまで、丁合用領域に画像データが蓄積される。換言すると、画像の読取りの途中では、画像データの出力は行なわれずに、画像読取りが終了してから画像データの出力が行なわれる。さらに換言すると、画像読取用領域が画像読取り用の領域としての役割りを終えた後になって画像データの出力が行なわれる。したがって画像データを出力する時点では、画像読取用領域も画像データ出力用のバッファとして使用することができる。
【０１２９】
図２１は、実メモリマップ（Ａ）と仮想メモリマップ（Ｂ）を示した図である。
【０１３０】
上記の説明から分かるように、仮想的な画像出力用領域としては、実際のメモリマップ（Ａ）の出力画像用領域（５ＭＢ）と画像読取用領域（１０ＭＢ）とを合わせた１５ＭＢの領域が利用され、さらに、１０ＭＢの画像読取用領域、５ＭＢの画像処理用領域、１０ＭＢの丁合用領域はそれぞれそのまま利用される。このため仮想的には、図２１（Ｂ）のように大サイズのメモリとして利用される。
【０１３１】
本実施形態では、図２１（Ｂ）のように利用していることから、メモリが一層効率的に利用されることになる。
【図面の簡単な説明】
【０１３２】
【図１】本発明の一実施形態としての画像制御装置を含むシステム構成図である。
【図２】図１に示す複合機を構成する画像制御装置の内部構成を示すブロック図である。
【図３】電源投入時に実行されるプログラムのフローチャートである。
【図４】ソフトウェアのバージョンと各種機能の有効・無効により決定されるプログラムのサイズを示す図である。
【図５】メモリマップを示す図である。
【図６】ジョブスタート時に実行されるプログラムのフローチャートである。
【図７】プリントモードで実行される処理Ａのプログラムのフロートャートである。
【図８】メモリマップを示す図である。
【図９】スキャナモードで実行される処理Ｂのプログラムのフローチャートである。
【図１０】画像処理用領域のサイズ決定用のテーブルを示す図である。
【図１１】画像処理速度決定用のテーブルを示す図である。
【図１２】メモリマップを示す図である。
【図１３】コピーモードで実行される処理Ｃのプログラムのフローチャートの前半部分である。
【図１４】コピーモードで実行される処理Ｃのプログラムのフローチャートの後半部分である。
【図１５】メモリサイズと丁合用領域（最小必要サイズ）との対応テーブルを示す図である。
【図１６】メモリマップを示す図である。
【図１７】原稿１枚分の画像読込みが行なわれるごとに動作するプログラムのフローチャートである。
【図１８】図１７に代わるプログラムのフローチャートである。
【図１９】処理単位の一例を示す図である。
【図２０】丁合ありの場合の特殊処理を示すプログラムのフローチャートである。
【図２１】実メモリマップ（Ａ）と仮想メモリマップ（Ｂ）を示した図である。
【符号の説明】
【０１３３】
１０    複合機
２０    情報処理装置
１００    画像制御装置
１０１    ユーザインタフェース制御部
１０２    ＣＰＵ
１０３    ＲＯＭ
１０４    ＳＤＲＡＭ
１０５    入力制御部
１０６    出力制御部
１０７    ネットワーク制御部
１０８    ＵＳＢ制御部
１０９    画像処理部
１１０    システムバス
２００    ユーザインタフェース
３００    画像読取装置
４００    画像形成装置
【図１】
2009055226.tif 000003
【図２】
2009055226.tif 000004
【図３】
2009055226.tif 000005
【図４】
2009055226.tif 000006
【図５】
2009055226.tif 000007
【図６】
2009055226.tif 000008
【図７】
2009055226.tif 000009
【図８】
2009055226.tif 000010
【図９】
2009055226.tif 000011
【図１０】
2009055226.tif 000012
【図１１】
2009055226.tif 000013
【図１２】
2009055226.tif 000014
【図１３】
2009055226.tif 000015
【図１４】
2009055226.tif 000016
【図１５】
2009055226.tif 000017
【図１６】
2009055226.tif 000018
【図１７】
2009055226.tif 000019
【図１８】
2009055226.tif 000020
【図１９】
2009055226.tif 000021
【図２０】
2009055226.tif 000022
【図２１】
2009055226.tif 000023