(57)【特許請求の範囲】
【請求項１】
画像読取により画像データを生成し出力するスキャナー部と、
メモリーと、
前記スキャナー部により出力された画像データ、または前記スキャナー部により出力された画像データに対して前段の処理が施された画像データに対して所定の処理を施し、前記所定の処理後の前記画像データを前記メモリー内の所定のメモリー領域に書き込んでいき、前記画像データの書込位置が前記メモリー領域の終端に到達すると、前記画像データの書込位置を前記メモリー領域の先頭に戻して上書していくデータ処理部と、
前記メモリーにおいて前記メモリー領域を確保し、前記データ処理部により上書された領域のサイズから前記メモリー領域の不足量を計測する制御部と、
を備え、
前記制御部は、少なくとも前記不足量の追加領域をさらに確保して前記メモリー領域に追加し、前記データ処理部に前記所定の処理を再実行させること、
を特徴とする画像読取装置。
【請求項２】
前記制御部は、前記メモリーにおいて別の用途に確保されている領域の一部または全部を、前記追加領域として確保することを特徴とする請求項１記載の画像読取装置。
【請求項３】
前記制御部は、ダブルバッファーまたはリングバッファーに使用されるワークメモリー領域のサイズを減少させ、前記ワークメモリー領域の減少分を、前記追加領域として確保することを特徴とする請求項２記載の画像読取装置。
【請求項４】
前記制御部は、複数ページの画像データのソートに使用されるソートメモリー領域のサイズを減少させ、前記ソートメモリー領域の減少分を、前記追加領域として確保することを特徴とする請求項２記載の画像読取装置。
【請求項５】
前記制御部は、マルチジョブ用の予備メモリー領域のサイズを減少させ、前記マルチジョブ用の予備メモリー領域の減少分を、前記追加領域として確保することを特徴とする請求項２記載の画像読取装置。
【請求項６】
前記制御部は、前記画像読取のジョブの終了時に前記追加領域を解放し、解放した領域を前記別の用途に確保されている領域に戻すことを特徴とする請求項２から請求項５のうちのいずれか１項記載の画像読取装置。
【請求項７】
前記スキャナー部は、前記メモリーにおける別のメモリー領域に前記所定の処理前の画像データが記憶されていない場合、画像読取により画像データを再度生成し出力することを特徴とする請求項１記載の画像読取装置。
【請求項８】
前記データ処理部は、前記画像データに対して圧縮処理を施し、圧縮処理後の前記画像データを前記メモリー領域に書き込んでいくことを特徴とする請求項１から請求項７のうちのいずれか１項記載の画像読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像読取装置に関するものである。
【背景技術】
【０００２】
画像読取装置は、ページ画像を光学的に読み取り、そのページ画像の画像データを生成し、その画像データに対して所定の処理を施す。処理の途中、前段、または後段において画像データは所定のメモリー領域に一時的に記憶される。
【０００３】
その際、所定のメモリー領域のサイズより画像データのサイズが大きい場合、通常、処理が中断するが、処理を続行するための方法が提案されている（例えば特許文献１，２参照）。
【０００４】
特許文献１に記載の技術は、メモリー領域のサイズより画像データのサイズが大きい場合、画像データの圧縮率を増加して、画像データのサイズを減らしている。
【０００５】
また、特許文献２に記載の技術は、メモリー領域のサイズより画像データのサイズが大きい場合、画像データの解像度を低下させて画像データのサイズを減らしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−１４５６２号公報
【特許文献２】特開２００７−１７４１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のように画像データのサイズを減らすと、画質が低下するため、好ましくない。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、画像データのサイズがメモリー領域のサイズより大きい場合に、画質を低下させずに、処理を実行することができる画像読取装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では以下のようにした。
【００１０】
本発明に係る画像読取装置は、画像読取により画像データを生成し出力するスキャナー部と、メモリーと、スキャナー部により出力された画像データ、またはスキャナー部により出力された画像データに対して前段の処理が施された画像データに対して所定の処理を施し、所定の処理後の画像データをメモリー内の所定のメモリー領域に書き込んでいき、画像データの書込位置がメモリー領域の終端に到達すると、画像データの書込位置をメモリー領域の先頭に戻して上書していくデータ処理部と、メモリーにおいてメモリー領域を確保し、データ処理部により上書された領域のサイズからメモリー領域の不足量を計測する制御部とを備える。
【００１１】
これにより、メモリー領域の不足量が正確に計測されるため、その不足量の領域を追加確保してから処理を再実行することで、画像データのサイズがメモリー領域のサイズより大きい場合に、画質を低下させずに、処理を実行することができる。
【００１２】
また、制御部は、少なくとも不足量の追加領域をさらに確保してメモリー領域に追加し、データ処理部に所定の処理を再実行させる。
【００１３】
これにより、画像データのサイズがメモリー領域のサイズより大きい場合に、画質を低下させずに、処理を実行することができる。
【００１４】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、制御部は、メモリーにおいて別の用途に確保されている領域の一部または全部を、上述の追加領域として確保する。
【００１５】
これにより、追加領域のために予備の領域を予め確保しておく必要がなく、追加領域のためにメモリーの容量を大きくする必要がない。
【００１６】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、制御部は、ダブルバッファーまたはリングバッファーに使用されるワークメモリー領域のサイズを減少させ、ワークメモリー領域の減少分を、上述の追加領域として確保する。
【００１７】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、制御部は、複数ページの画像データのソートに使用されるソートメモリー領域のサイズを減少させ、ソートメモリー領域の減少分を、上述の追加領域として確保する。
【００１８】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、制御部は、マルチジョブ用の予備メモリー領域のサイズを減少させ、マルチジョブ用の予備メモリー領域の減少分を、上述の追加領域として確保する。
【００１９】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、制御部は、画像読取のジョブの終了時に上述の追加領域を解放し、解放した領域を上述の別の用途に確保されている領域に戻す。
【００２０】
これにより、上述の別の用途において領域が不足しなくて済む。
【００２１】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、スキャナー部は、メモリーにおける別のメモリー領域に所定の処理前の画像データが記憶されていない場合、画像読取により画像データを再度生成し出力する。
【００２２】
また、本発明に係る画像読取装置は、上記の画像読取装置のいずれかに加え、次のようにしてもよい。この場合、データ処理部は、画像データに対して圧縮処理を施し、圧縮処理後の画像データをメモリー領域に書き込んでいく。
【００２３】
圧縮処理の場合、画像データの内容によって圧縮処理後の画像データのサイズが変化するため、圧縮処理後の画像データを記憶するメモリー領域のサイズを最低圧縮率に合わせて設定すると、メモリー領域の使用効率が悪くなるが、これにより、メモリー領域のサイズを最低圧縮率に対応するサイズより小さくしてメモリー領域の使用効率を向上することができる。
【発明の効果】
【００２４】
本発明によれば、画像読取装置において、画像データのサイズがメモリー領域のサイズより大きい場合に、画質を低下させずに、処理を実行することができる。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の実施の形態に係る画像読取装置の構成を示すブロック図である。
【図２】図２は、図１に示す画像読取装置における各種メモリー領域およびデータフローについて説明するブロック図である。
【図３】図３は、図１に示す画像読取装置における圧縮処理について説明するフローチャートである。
【図４】図４は、図１に示す画像読取装置におけるメモリー領域の不足量の測定について説明する図である。
【発明を実施するための形態】
【００２６】
以下、図に基づいて本発明の実施の形態を説明する。
【００２７】
図１は、本発明の実施の形態に係る画像読取装置の構成を示すブロック図である。図１に示す画像読取装置は、互いに接続された、スキャナー部１、画像処理部２、メモリー３、主制御部４、および出力部５を有する。
【００２８】
スキャナー部１は、原稿のページ画像を光学的に読み取り、そのページ画像の画像データを生成し出力する。
【００２９】
また、画像処理部２は、画像データに対して所定の処理を施す。画像処理部２は、スキャナー部１により出力された画像データ、またはスキャナー部１により出力された画像データに対して前段の処理が施された画像データに対して所定の処理を施す。画像処理部２は、その所定の処理後の画像データをメモリー３内の所定のメモリー領域に書き込んでいき、画像データの書込位置がメモリー領域の終端に到達すると、画像データの書込位置をメモリー領域の先頭に戻して上書していく。例えば、画像処理部２は、１または複数のＡＳＩＣ（Application Specific Integrated Circuit）で構成される。
【００３０】
また、メモリー３は、ＤＲＡＭ（Dynamic Random Access Memory）などの揮発性メモリーである。メモリー３において、画像処理部２による処理に要求されるメモリー領域が適宜確保される。
【００３１】
図２は、図１に示す画像読取装置における各種メモリー領域およびデータフローについて説明するブロック図である。
【００３２】
図２において、ＣＣＤ（Charge Coupled Device）１１は、光学的に得られたページ画像を電気信号として出力する撮像素子である。読込用ＡＳＩＣ１２は、ＣＣＤ１１からの電気信号を画像データに変換し出力する回路である。ＣＣＤ１１および読込用ＡＳＩＣ１２は、スキャナー部１に含まれる。
【００３３】
ワークメモリー領域１３は、メモリー３において確保され、読込用ＡＳＩＣ１２の出力バッファーおよびコーデック用ＡＳＩＣ１４の入力バッファーとして使用される。
【００３４】
コーデック用ＡＳＩＣ１４，２０は、画像データの圧縮を行う回路である。コーデック用ＡＳＩＣ１４，２０は、例えばＪＰＥＧ（Joint Photographic Experts Group）などの圧縮方式で画像データの圧縮を行う。
【００３５】
一次ページメモリー領域１５は、メモリー３において確保され、読込用ＡＳＩＣ１２により変換された画像データ（圧縮済み画像データ）、つまり、画像処理用ＡＳＩＣ１８による画像処理前の画像データ（圧縮済み画像データ）を、記憶するためのメモリー領域である。つまり、一次ページメモリー領域１５は、ワークメモリー領域１３より後段（下流側）の領域であって、コーデック用ＡＳＩＣ１４が処理後の画像データを書き込む領域である。
【００３６】
コーデック用ＡＳＩＣ１６は、コーデック用ＡＳＩＣ１４の圧縮方式に対応した伸張方式で、圧縮された画像データの伸張を行う回路である。  
【００３７】
ワークメモリー領域１７は、メモリー３において確保され、コーデック用ＡＳＩＣ１６の出力バッファーおよび画像処理用ＡＳＩＣ１８の入力バッファーとして使用される。
【００３８】
画像処理用ＡＳＩＣ１８は、画像データに所定の画像処理（解像度変換、回転、データ形式の変換など）を施す回路である。
【００３９】
ワークメモリー領域１９は、メモリー３において確保され、画像処理用ＡＳＩＣ１８の出力バッファーおよびコーデック用ＡＳＩＣ２０の入力バッファーとして使用される。
【００４０】
二次ページメモリー領域２１は、メモリー３において確保され、画像処理用ＡＳＩＣ１８による画像処理後の画像データ（圧縮済み画像データ）を記憶するためのメモリー領域である。つまり、二次ページメモリー領域２１は、ワークメモリー領域１９より後段（下流側）の領域であって、コーデック用ＡＳＩＣ２０が処理後の画像データを書き込む領域である。
【００４１】
なお、コーデック用ＡＳＩＣ１４，１６，２０および画像処理用ＡＳＩＣ１８は、画像処理部２に含まれる。
【００４２】
図２に示すように、読込用ＡＳＩＣ１２から出力された画像データは、ワークメモリー領域１３を介してコーデック用ＡＳＩＣ１４に渡され、コーデック用ＡＳＩＣ１４により圧縮された画像データが１バンド（所定数のライン）ずつ順番に一次ページメモリー領域１５に記憶されていく。そして、コーデック用ＡＳＩＣ１６は、一次ページメモリー領域１５に蓄積された圧縮済み画像データを順番に読み出して伸張し、伸張した画像データをワークメモリー領域１７を介して画像処理用ＡＳＩＣ１８に渡す。画像処理用ＡＳＩＣ１８により画像処理を施された画像データは、ワークメモリー領域１９を介してコーデック用ＡＳＩＣ２０に渡され、コーデック用ＡＳＩＣ２０により圧縮された画像データが順番に二次ページメモリー領域２１に記憶されていく。
【００４３】
図１に戻り、主制御部４は、スキャナー部１、画像処理部２、メモリー３、および出力部５を制御する。また、主制御部４は、メモリー３において画像処理部２に要求されるメモリー領域（上述の一次ページメモリー領域１５および二次ページメモリー領域２１）を確保する。一次ページメモリー領域１５および二次ページメモリー領域２１のそれぞれについて、主制御部４は、１ページ分の画像データのサイズがそのメモリー領域のサイズより大きい場合、画像処理部２により上述のように上書された領域のサイズからそのメモリー領域の不足量を計測する。そして、主制御部４は、少なくともその不足量分の追加領域をさらに確保してそのメモリー領域１５，２１に追加し、画像処理部２に所定の処理を再実行させる。
【００４４】
この実施の形態では、主制御部４は、メモリー３において別の用途に確保されている領域の一部または全部を、上述の追加領域として確保する。そして、主制御部４は、画像読取のジョブの終了時に上述の追加領域を解放し、解放した領域を上述の別の用途に確保されている領域に戻す。
【００４５】
例えば、主制御部４は、ダブルバッファーまたはリングバッファーに使用されるワークメモリー領域（例えば、ワークメモリー領域１３，１７，１９）のサイズを減少させ、そのワークメモリー領域の減少分を、上述の追加領域として確保する。
【００４６】
また、例えば、主制御部４は、複数ページの画像データのソートに使用されるソートメモリー領域のサイズを減少させ、そのソートメモリー領域の減少分を、上述の追加領域として確保する。
【００４７】
さらに、例えば、主制御部４は、マルチジョブ用の予備メモリー領域（複数のジョブを並行して実行する際に使用されるメモリー領域）のサイズを減少させ、マルチジョブ用の予備メモリー領域の減少分を、上述の追加領域として確保する。
【００４８】
また、出力部５は、画像処理部２による画像処理後の画像データを出力する。
【００４９】
次に、上記画像読取装置（主に、画像処理部２および主制御部４）の動作について説明する。
【００５０】
ここでは、コーデック用ＡＳＩＣ１４，２０による圧縮処理、およびページメモリー領域１５，２１への圧縮済み画像データの書き込みについて説明する。図３は、図１に示す画像読取装置における圧縮処理について説明するフローチャートである。図４は、図１に示す画像読取装置におけるメモリー領域の不足量の測定について説明する図である。
【００５１】
主制御部４は、ワークメモリー領域１３を確保し、そのアドレス情報（先頭アドレスおよびサイズ、あるいは先頭アドレスおよび終端アドレス）を読込用ＡＳＩＣ１２およびコーデック用ＡＳＩＣ１４にセットする。同様に、主制御部４は、一次ページメモリー領域１５を確保し、そのアドレス情報（先頭アドレスおよびサイズ、あるいは先頭アドレスおよび終端アドレス）をコーデック用ＡＳＩＣ１４，１６にセットする。同様に、主制御部４は、ワークメモリー領域１７を確保し、そのアドレス情報（先頭アドレスおよびサイズ、あるいは先頭アドレスおよび終端アドレス）をコーデック用ＡＳＩＣ１６および画像処理用ＡＳＩＣ１８にセットする。同様に、主制御部４は、ワークメモリー領域１９を確保し、そのアドレス情報（先頭アドレスおよびサイズ、あるいは先頭アドレスおよび終端アドレス）を画像処理用ＡＳＩＣ１８およびコーデック用ＡＳＩＣ２０にセットする。同様に、主制御部４は、二次ページメモリー領域２１を確保し、そのアドレス情報（先頭アドレスおよびサイズ、あるいは先頭アドレスおよび終端アドレス）を画像処理用ＡＳＩＣ１８にセットする。
【００５２】
まず、コーデック用ＡＳＩＣ１４による圧縮処理について説明する。
【００５３】
コーデック用ＡＳＩＣ１４は、１バンド分の画像データをワークメモリー領域１３から読み出して圧縮し、１バンド分の圧縮済みの画像データを一次ページメモリー領域１５に書き込んでいく（ステップＳ１，Ｓ２）。図４（Ａ）および図４（Ｂ）に示すように、一次ページメモリー領域１５の先頭アドレスから順番に画像データの書込位置が移動していく。その際に、コーデック用ＡＳＩＣ１４は、その画像データの書込位置が一次ページメモリー領域１５の終端アドレスに到達したか否かを監視しており（ステップＳ３）、１バンド分の圧縮済みの画像データの書き込みが完了する前に、書込位置が一次ページメモリー領域１５の終端アドレスに到達した場合（図４（Ｃ）の状態）、書込位置を一次ページメモリー領域１５の先頭アドレスに戻す（ステップＳ４）。このとき、１バンド分の圧縮前の画像データのサイズは一定であるが、１バンド分の圧縮済みの画像データのサイズは一定ではない。各バンドの圧縮済み画像データは、１つ前のバンドの圧縮済み画像データに隙間なく連続して書き込まれる。各バンドの圧縮済み画像データの先頭記憶位置および終端記憶位置（またはサイズ）は、主制御部４により管理されて、一次ページメモリー領域１５から各バンドの圧縮済み画像データを読み出すときには、主制御部４により管理されている先頭記憶位置および終端記憶位置（またはサイズ）から、各バンドの圧縮済み画像データの読出位置が特定される。
【００５４】
１バンド分の圧縮済みの画像データの書き込みが完了すると（ステップＳ５）、コーデック用ＡＳＩＣ１４は、１ページ分のバンドの処理が完了したか否かを判定し（ステップＳ６）、１ページ分のバンドの処理が完了していなければ、ステップＳ１に戻り、次のバンドの処理を同様に行う。
【００５５】
このようにして、１ページ分の画像データの圧縮処理が実行される。
【００５６】
１ページ分の画像データの圧縮処理が実行された後、主制御部４は、一次ページメモリー領域１５においてメモリーオーバーが発生したか否かを判定する（ステップＳ７）。
【００５７】
例えば、コーデック用ＡＳＩＣ１４は、画像データの書込位置が一次ページメモリー領域１５の終端アドレスに到達した場合に所定のフラグをセットし、主制御部４は、そのフラグがセットされているか否かに基づいて、メモリーオーバーが発生したか否かを判定する。
【００５８】
メモリーオーバーが発生しなかった場合、主制御部４は、この圧縮処理を終了する。
【００５９】
一方、メモリーオーバーが発生した場合、主制御部４は、図４（Ｄ）に示すように、画像データの最終書込位置（つまり、上書したデータ量）から一次ページメモリー領域１５の不足量を特定する（ステップＳ８）。
【００６０】
そして、主制御部４は、特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能か否かを判定する（ステップＳ９）。
【００６１】
特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能ではない場合、主制御部４は、エラー通知を行い（ステップＳ１０）、この圧縮処理を中止する。主制御部４は、エラー通知として、例えば図示せぬ操作パネルにエラーメッセージを表示させる。
【００６２】
特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能である場合、主制御部４は、上述のようにして、特定した不足量の領域を確保し、確保した領域を一次ページメモリー領域１５に追加する（ステップＳ１１）。
【００６３】
そして、コーデック用ＡＳＩＣ１４の場合、主制御部４は、コーデック用ＡＳＩＣ１４の前段（上流側）にページメモリー領域がないため、圧縮処理前の１ページ分の画像データが残っていないと判断し（ステップＳ１２）、主制御部４は、リトライ通知を行い（ステップＳ１４）、この圧縮処理を中止する。主制御部４は、リトライ通知として、例えば図示せぬ操作パネルに、再度の画像スキャン操作をユーザーに促すメッセージを表示させる。これにより、ユーザーは、画像スキャン操作を再度行い、スキャナー部１は、再度、画像読取を実行する。
【００６４】
次に、コーデック用ＡＳＩＣ２０による圧縮処理について説明する。
【００６５】
コーデック用ＡＳＩＣ２０は、１バンド分の画像データをワークメモリー領域１９から読み出して圧縮し、１バンド分の圧縮済みの画像データを二次ページメモリー領域２１に書き込んでいく（ステップＳ１，Ｓ２）。図４（Ａ）および図４（Ｂ）に示すように、二次ページメモリー領域２１の先頭アドレスから順番に画像データの書込位置が移動していく。その際に、コーデックＡＳＩＣ２０は、その画像データの書込位置が二次ページメモリー領域２１の終端アドレスに到達したか否かを監視しており（ステップＳ３）、１バンド分の圧縮済みの画像データの書き込みが完了する前に、書込位置が二次ページメモリー領域２１の終端アドレスに到達した場合（図４（Ｃ）の状態）、書込位置を二次ページメモリー領域２１の先頭アドレスに戻す（ステップＳ４）。このとき、１バンド分の圧縮前の画像データのサイズは一定であるが、１バンド分の圧縮済みの画像データのサイズは一定ではない。各バンドの圧縮済み画像データは、１つ前のバンドの圧縮済み画像データに隙間なく連続して書き込まれる。各バンドの圧縮済み画像データの先頭記憶位置および終端記憶位置（またはサイズ）は、主制御部４により管理されて、一次ページメモリー領域１５から各バンドの圧縮済み画像データを読み出すときには、主制御部４により管理されている先頭記憶位置および終端記憶位置（またはサイズ）から、各バンドの圧縮済み画像データの読出位置が特定される。
【００６６】
１バンド分の圧縮済みの画像データの書き込みが完了すると（ステップＳ５）、コーデック用ＡＳＩＣ２０は、１ページ分のバンドの処理が完了したか否かを判定し（ステップＳ６）、１ページ分のバンドの処理が完了していなければ、ステップＳ１に戻り、次のバンドの処理を同様に行う。
【００６７】
このようにして、１ページ分の画像データの圧縮処理が実行される。
【００６８】
１ページ分の画像データの圧縮処理が実行された後、主制御部４は、二次ページメモリー領域２１においてメモリーオーバーが発生したか否かを判定する（ステップＳ７）。
【００６９】
例えば、コーデック用ＡＳＩＣ２０は、画像データの書込位置が二次ページメモリー領域２１の終端アドレスに到達した場合に所定のフラグをセットし、主制御部４は、そのフラグがセットされているか否かに基づいて、メモリーオーバーが発生したか否かを判定する。
【００７０】
メモリーオーバーが発生しなかった場合、主制御部４は、この圧縮処理を終了する。
【００７１】
一方、メモリーオーバーが発生した場合、主制御部４は、図４（Ｄ）に示すように、画像データの最終書込位置（つまり、上書したデータ量）から二次ページメモリー領域２１の不足量を特定する（ステップＳ８）。
【００７２】
そして、主制御部４は、特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能か否かを判定する（ステップＳ９）。
【００７３】
特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能ではない場合、主制御部４は、エラー通知を行い（ステップＳ１０）、この圧縮処理を中止する。主制御部４は、エラー通知として、例えば図示せぬ操作パネルにエラーメッセージを表示させる。
【００７４】
特定した不足量の領域を、上述のような別の用途に確保している領域から調達可能である場合、主制御部４は、上述のようにして、特定した不足量の領域を確保し、確保した領域を二次ページメモリー領域２１に追加する（ステップＳ１１）。
【００７５】
そして、コーデック用ＡＳＩＣ２０の場合、主制御部４は、コーデック用ＡＳＩＣ２０の前段（上流側）に一次ページメモリー領域１５が存在するため、圧縮処理前の１ページ分の画像データが残っていると判断し（ステップＳ１２）、主制御部４は、内部リトライを行い（ステップＳ１３）、圧縮処理を実行する。主制御部４は、内部リトライの際、コーデック用ＡＳＩＣ１６および画像処理用ＡＳＩＣ１８を再度動作させて、コーデック用ＡＳＩＣ２０に画像データを再度供給し、ステップＳ１から同様の処理をコーデック用ＡＳＩＣ２０に実行させる。
【００７６】
以上のように、上記実施の形態によれば、画像処理部２は、スキャナー部１により出力された画像データ、またはスキャナー部１により出力された画像データに対して前段の処理が施された画像データに対して所定の処理を施し、所定の処理後の画像データをメモリー３内の所定のメモリー領域１５，２１に書き込んでいき、画像データの書込位置がメモリー領域１５，２１の終端に到達すると、画像データの書込位置をメモリー領域１５，２１の先頭に戻して上書していく。一方、主制御部４は、メモリー３においてメモリー領域１５，２１を確保し、画像処理部２により上書された領域のサイズからメモリー領域１５，２１の不足量を計測する。
【００７７】
これにより、メモリー領域１５，２１の不足量が正確に計測されるため、その不足量の領域を追加確保してから処理を再実行することで、画像データのサイズがメモリー領域１５，２１のサイズより大きい場合に、画質を低下させずに、処理を実行することができる。つまり、圧縮処理でメモリー領域１５，２１が不足しても、圧縮処理での圧縮率は変化させずに圧縮処理を再実行するため、画質を低下させずに、圧縮処理を実行することができる。
【００７８】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００７９】
例えば、上記実施の形態では、ページメモリー領域１５，２１の前段の処理が圧縮処理であるが、別の種別の処理であってもよい。
【産業上の利用可能性】
【００８０】
本発明は、例えば、画像読取機能を有するスキャナー、複写機、複合機などに適用可能である。
【符号の説明】
【００８１】
１  スキャナー部
２  画像処理部（データ処理部の一例）
３  メモリー
４  主制御部（制御部の一例）
１３，１７，１９  ワークメモリー領域
１５  一次ページメモリー領域（メモリー領域の一例）
２１  二次ページメモリー領域（メモリー領域の一例）
【図１】
0005422640.tif 000002
【図２】
0005422640.tif 000003
【図３】
0005422640.tif 000004
【図４】
0005422640.tif 000005