(57)【要約】【課題】飛び飛びのメモリ領域の管理と、該メモリ領域とハードディスク装置との間での画像データのＤＭＡ転送を効率良く行なうことのできる画像処理装置を提供する。【解決手段】システム画像処理部１６はＣＣＤ１７で読み取った１ページの画像データを複数ブロックに分割して圧縮し、プロセッサ１２は圧縮された画像データ用に複数のメモリ領域をシステムメモリ１５から確保しその先頭アドレスやサイズを示すメモリ管理テーブル４０をＤＭＡコントローラ２４ａが参照するディスクリプタテーブルと同一のデータ構造で作成する。システム制御部１１は、分割され圧縮された各ブロックの画像データをメモリ管理テーブルを参照して複数のメモリ領域に分けて格納し、ＤＭＡコントローラ２４ａはこれらのメモリ領域に格納された画像データを、メモリ管理テーブルをディスクリプタテーブルに使用してＨＤＤ２４に保存する。【選択図】図４
2007312069.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているメモリ領域に前記画像データを分割して格納する格納制御手段と、
画像データを記憶可能なストレージ装置と、
前記メモリと前記ストレージ装置との間での画像データのＤＭＡ転送を、複数回分のＤＭＡ転送の内容を記述可能なＤＭＡ転送用テーブルを参照して実行するＤＭＡ転送手段とを備え、
前記領域確保手段は、前記ＤＭＡ転送手段が前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照できるように、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルと同じデータ構造で作成する
ことを特徴とする画像処理装置。
【請求項２】
メモリと、
画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているメモリ領域に前記画像データを分割して格納する格納制御手段と、
前記メモリと、画像データを記憶可能な外部のストレージ装置との間での画像データのＤＭＡ転送を、複数回分のＤＭＡ転送の内容を記述可能なＤＭＡ転送用テーブルを参照して実行するＤＭＡ転送手段とを備え、
前記領域確保手段は、前記ＤＭＡ転送手段が前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照できるように、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルと同じデータ構造で作成する
ことを特徴とする画像処理装置。
【請求項３】
前記ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合に、
前記領域確保手段は、前記画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成し、
前記ＤＭＡ転送手段は、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照して、前記ストレージ装置から前記メモリへの前記画像データのＤＭＡ転送を実行する
ことを特徴とする請求項１もしくは２に記載の画像処理装置。
【請求項４】
前記格納制御手段が画像データを前記メモリに保存したとき、該保存された画像データに関する属性情報を画像管理テーブルに登録する画像管理情報登録手段をさらに有する
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像処理装置。
【請求項５】
画像データを複数のブロックに分割する画像分割手段を備え、
前記格納制御手段は、前記画像分割手段で複数のブロックに分割された画像データを、前記メモリ管理テーブルに登録されている複数のメモリ領域に格納する
ことを特徴とする請求項１乃至４のいずれか１つに記載の画像処理装置。
【請求項６】
前記複数のメモリ領域に格納されている画像データを、前記画像分割手段で複数のブロックに分割する前の一連の画像データにして前記ストレージ装置に記憶させると共に、該一連の画像データを前記画像処理部で分割されたときのブロック別に識別するためのブロック識別情報を前記一連の画像データに関連付けて記憶する
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記ストレージ装置から前記一連の画像データを読み出す際に、該読み出された一連の画像データを前記メモリ内の複数のメモリ領域に分割して格納すると共に、前記ブロック識別情報に基づき、前記一連の画像データに含まれる各ブロックの画像データがどのメモリ領域に格納されたかを示す画像管理情報を作成する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記ブロックを単位に画像データを圧縮／伸張するようにし、
前記メモリに、圧縮後の画像データを保存する
ことを特徴とする請求項５乃至７のいずれか１つに記載の画像処理装置。
【請求項９】
前記メモリは、メモリ領域の取得と開放とを行なうメモリ管理システムによって管理されている
ことを特徴とする請求項１乃至８のいずれか１つに記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを不連続な複数のメモリ領域に分割して保存する画像処理装置に係わり、特に、複数のメモリ領域とストレージ装置との間で画像データをＤＭＡ（Direct Memory Access）転送するための技術に関する。
【背景技術】
【０００２】
画像データをページ単位に扱う複写機などの画像処理装置では、通常、処理の簡便性や処理速度などを考慮して、読み取った１ページ分の画像データを連続したメモリ領域に保存するように構成されている。
【０００３】
また、大量の画像データを保存するために、メモリに格納されている画像データを圧縮した後、ハードディスク装置などのストレージ装置へ転送して保存することが行なわれる。たとえば、圧縮器から出力される画像データを、一旦、メモリ内のバッファ領域に再格納した後、該バッファ領域からハードディスク装置へ画像データをＤＭＡ転送するような構成がとられる。
【０００４】
また、１ページ分の画像データを複数に分割し、メモリからハードディスク装置への画像データのＤＭＡ転送を分割単位毎に行なわせる画像処理装置（たとえば、特許文献１参照。）や、ハードディスク装置内に確保することのできる連続領域のサイズに応じて、１回当たりのＤＭＡ転送量や確保するバッファ領域のサイズを制御する画像処理装置（たとえば、特許文献２参照。）がある。
【０００５】
このように、複数回のＤＭＡ転送を行なわせる場合には、ＤＭＡ転送終了毎の割り込み発生によるＣＰＵ（Central Processing Unit）の処理負担を軽減させるために、ＤＭＡ用ディスクリプタテーブルが使用される。ＤＭＡ用ディスクリプタテーブルは、ＤＭＡ転送の開始アドレスと転送バイト数とを必要回数分だけ連ねて記述したものであり、ＣＰＵはＤＭＡ用ディスクリプタテーブルを作成し、ＤＭＡコントローラが該ＤＭＡ用ディスクリプタテーブルを先頭から順に参照して複数回のＤＭＡ転送を順次自動実行するようになっている。
【０００６】
【特許文献１】特開２００３−１７９７３２号公報
【特許文献２】特開２００３−１９８８１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
１ページ分の画像データを連続したメモリ領域に保存する方法では、空き領域を合算すれば必要サイズに足りる場合でも、連続領域として確保できるまで処理を待たなければならず、装置としての生産性が低下するという問題があった。たとえば、システムメモリをソフトウェア実行時のワークエリアと画像データの格納用エリアとに共用するような場合には、使用する領域サイズや開放タイミングの違いからメモリ領域が歯抜けになって断片化しやすく、画像データ格納用の大きな連続領域（たとえば、Ａ４モノクロの場合、約４Ｍバイトの領域）を確保することが難しい。
【０００８】
一方、画像データの格納専用に連続領域を常時確保するような構成にすると、最大ページサイズかつ最低圧縮率の場合のメモリ領域を常時確保しておかなければならず、メモリの利用効率が低下してしまう。
【０００９】
そこで、システムメモリ内に飛び飛びに存在するメモリ領域に分散して画像データを格納することができれば都合がよいが、飛び飛びに存在する複数のメモリ領域に画像データを格納するためには、これら複数のメモリ領域の先頭アドレスやサイズなどの情報をまとめて管理する必要が生じる。
【００１０】
また、飛び飛びに存在する複数のメモリ領域に格納された画像データをハードディスク装置などへＤＭＡ転送するためには、転送動作を複数回に分けて実行しなければならないので、ＤＭＡ用ディスクリプタテーブルを利用することが望ましい。
【００１１】
このため、ＣＰＵは、飛び飛びに存在する複数のメモリ領域を管理するための情報の作成に加えて、ＤＭＡ用ディスクリプタテーブルを作成しなければならず、その作成に係わるＣＰＵの処理負担が大きくなるばかりか、これらの情報を記憶するために必要なメモリ容量が増大し、メモリの利用効率が低下してしまう。
【００１２】
本発明は、上記の問題を解決しようとするものであり、飛び飛びに存在する複数のメモリ領域を利用して画像データを格納するための管理情報と、これら複数のメモリ領域とストレージ装置との間で画像データをＤＭＡ転送するための管理情報の作成に係わるＣＰＵの処理負担やこれらの管理情報を記憶するためのメモリ容量を削減することのできる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１３】
上記の目的は、以下に示す各項の本発明により達成される。
【００１４】
（１）メモリと、
画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているメモリ領域に前記画像データを分割して格納する格納制御手段と、
画像データを記憶可能なストレージ装置と、
前記メモリと前記ストレージ装置との間での画像データのＤＭＡ転送を、複数回分のＤＭＡ転送の内容を記述可能なＤＭＡ転送用テーブルを参照して実行するＤＭＡ転送手段とを備え、
前記領域確保手段は、前記ＤＭＡ転送手段が前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照できるように、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルと同じデータ構造で作成する
ことを特徴とする画像処理装置。
【００１５】
上記発明によれば、画像データを格納するために確保した複数のメモリ領域を管理するためのメモリ管理テーブルのデータ構造を、該複数のメモリ領域に分割して格納された画像データをストレージ装置へＤＭＡ転送するためのＤＭＡ転送用テーブルのデータ構造と同一にしている。これにより、メモリ管理テーブルをＤＭＡ転送用テーブルとして兼用することができ、別々に作成する場合に比べて、テーブル作成に係わるＣＰＵの処理負担やテーブルを記憶するためのメモリ容量を削減することができる。
【００１６】
なお、メモリ管理テーブルにはメモリ領域の開始アドレスと領域サイズとの登録を要し、ＤＭＡ転送用テーブルには転送開始アドレスと転送サイズと転送フラグなどの登録を要する。また、メモリ領域に格納された画像データをストレージ装置へＤＭＡ転送する場合は、転送開始アドレスとメモリ領域の開始アドレスとが一致し、転送サイズと領域サイズとが一致する。したがって、メモリ管理テーブルに登録すべき情報はすべてＤＭＡ転送用テーブルに存在する。そこで、メモリ管理テーブルのデータ構造をＤＭＡ転送用テーブルのデータ構造に一致させることで、メモリ管理テーブルとＤＭＡ転送用テーブルとを兼用することができる。なお、メモリ管理テーブルに固有の情報を必要とする場合には、ＤＭＡ転送用テーブルの中で不使用とされているビットなどを使用すればよい。
【００１７】
（２）メモリと、
画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成する領域確保手段と、
前記領域確保手段が作成した前記メモリ管理テーブルを参照して、該メモリ管理テーブルに登録されているメモリ領域に前記画像データを分割して格納する格納制御手段と、
前記メモリと、画像データを記憶可能な外部のストレージ装置との間での画像データのＤＭＡ転送を、複数回分のＤＭＡ転送の内容を記述可能なＤＭＡ転送用テーブルを参照して実行するＤＭＡ転送手段とを備え、
前記領域確保手段は、前記ＤＭＡ転送手段が前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照できるように、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルと同じデータ構造で作成する
ことを特徴とする画像処理装置。
【００１８】
（３）前記ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合に、
前記領域確保手段は、前記画像データを格納するためのメモリ領域を、前記メモリ内の１または２以上の空き領域から確保し、該確保したメモリ領域に関する情報を登録したメモリ管理テーブルを作成し、
前記ＤＭＡ転送手段は、前記メモリ管理テーブルを前記ＤＭＡ転送用テーブルとして参照して、前記ストレージ装置から前記メモリへの前記画像データのＤＭＡ転送を実行する
ことを特徴とする（１）もしくは（２）に記載の画像処理装置。
【００１９】
上記発明では、ストレージ装置に記憶されている画像データを読み出して前記メモリに格納する場合にも、メモリ管理テーブルがＤＭＡ転送用テーブルとして兼用される。
【００２０】
（４）前記格納制御手段が画像データを前記メモリに保存したとき、該保存された画像データに関する属性情報を画像管理テーブルに登録する画像管理情報登録手段をさらに有する
ことを特徴とする（１）乃至（３）のいずれか１つに記載の画像処理装置。
【００２１】
上記発明では、画像管理情報登録手段は、格納制御手段が画像データをメモリに保存したとき、その保存された画像データに関する属性情報を画像管理テーブルに登録する。たとえば、複数のメモリ領域に分割して格納された画像データを元の画像データに繋げるための情報などが属性情報として登録される。
【００２２】
（５）画像データを複数のブロックに分割する画像分割手段を備え、
前記格納制御手段は、前記画像分割手段で複数のブロックに分割された画像データを、前記メモリ管理テーブルに登録されている複数のメモリ領域に格納する
ことを特徴とする（１）乃至（４）のいずれか１つに記載の画像処理装置。
【００２３】
上記発明では、確保されるメモリ領域のサイズに係わらず、画像データが複数のブロックに分割され、分割された画像データが、メモリ管理テーブルに登録されている複数のメモリ領域に分散して格納される。たとえば、１つのブロックが複数のメモリ領域に分かれて格納される場合や、あるブロックを格納したメモリ領域に生じた余りの領域に他のブロックの画像データが格納される場合があってもよい。
【００２４】
（６）前記複数のメモリ領域に格納されている画像データを、前記画像分割手段で複数のブロックに分割する前の一連の画像データにして前記ストレージ装置に記憶させると共に、該一連の画像データを前記画像処理部で分割されたときのブロック別に識別するためのブロック識別情報を前記一連の画像データに関連付けて記憶する
ことを特徴とする（５）に記載の画像処理装置。
【００２５】
上記発明では、複数のメモリ領域に分割して格納された画像データを、元の一連の画像データに繋げてストレージ装置に記憶すると共に、この一連の画像データを元のブロック別に識別するための情報が記憶される。たとえば、ブロック別に圧縮した画像データを一連の画像データに繋げてストレージ装置に記憶している場合でも、ブロック識別情報を参照することで、ブロックの境界を認識して、ブロック別に伸張することができる。
【００２６】
（７）前記ストレージ装置から前記一連の画像データを読み出す際に、該読み出された一連の画像データを前記メモリ内の複数のメモリ領域に分割して格納すると共に、前記ブロック識別情報に基づき、前記一連の画像データに含まれる各ブロックの画像データがどのメモリ領域に格納されたかを示す画像管理情報を作成する
ことを特徴とする（６）に記載の画像処理装置。
【００２７】
上記発明では、ストレージ装置から画像データを読み出して複数のメモリ領域に再格納した際に、どのブロックの画像データがどのメモリ領域に格納されたかを示す画像管理情報が作成される。複数のメモリ領域に格納された画像データを読み出す処理において該画像管理情報を参照することで、複数のメモリ領域に分散して格納されている画像データを元の状態に繋げてページを再現することができる。
【００２８】
（８）前記ブロックを単位に画像データを圧縮／伸張するようにし、
前記メモリに、圧縮後の画像データを保存する
ことを特徴とする（５）乃至（７）のいずれか１つに記載の画像処理装置。
【００２９】
（９）前記メモリは、メモリ領域の取得と開放とを行なうメモリ管理システムによって管理されている
ことを特徴とする（１）乃至（８）のいずれか１つに記載の画像処理装置。
【発明の効果】
【００３０】
本発明に係わる画像処理装置によれば、画像データの格納に使用する複数のメモリ領域を管理するためのメモリ管理テーブルを、これら複数のメモリ領域とストレージ装置との間で画像データをＤＭＡ転送するために使用するＤＭＡ転送用テーブルと同一のデータ構造にしたので、メモリ管理テーブルをＤＭＡ転送用テーブルとして兼用することができ、各テーブルを別々に作成する場合に比べて、テーブルの作成に係わるＣＰＵの処理負担やテーブルを記憶するためのメモリ容量を削減でき、処理効率やメモリの利用効率を向上させることができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面に基づき本発明の実施の形態を説明する。
【００３２】
図１は、本発明の実施の形態に係わる画像処理装置１０の概略構成を示している。画像処理装置１０は、原稿画像を読み取ってその複製画像を記録紙上に形成して出力するコピー機能などを備えた複写機等の装置であり、システム全体の動作を制御するシステム制御部１１と、演算処理機能を果たすプロセッサ１２と、各種周辺機能を制御する周辺制御部１３とを主たる制御部として備えている。
【００３３】
システム制御部１１には、プロセッサ１２および周辺制御部１３のほか、ＬＣＤ（Liquid Crystal Display）パネル１４、システムメモリ１５、システム画像処理部１６が接続されている。ＬＣＤパネル１４は、ユーザからの各種操作の受け付けと各種操作画面や案内画面の表示を行なう。システムメモリ１５は、プロセッサ１２が実行する動作プログラムを格納するほか、プロセッサ１２が動作プログラムを実行する際のワークメモリや画像データの格納領域などに共用される。
【００３４】
システム画像処理部１６には、原稿画像の読み取り素子としてのＣＣＤ（Charge Coupled Device）１７が読取画像処理部１８を介して接続されると共に、レーザプリンタ方式の記録部をなすＬＤ（Laser Diode）１９が記録画像処理部２１を介して接続されている。システム画像処理部１６は、１ページの画像データを複数のブロックに分割する画像分割部１６ａと、画像データの圧縮と伸張を行なう圧縮／伸張部１６ｂとを備えている。
【００３５】
原稿の読取動作では、ＣＣＤ１７から出力された画像データは読取画像処理部１８で各種の画像補正を施された後、システム画像処理部１６に入力される。システム画像処理部１６に入力された画像データは、画像分割部１６ａで複数のブロックに分割され、さらに圧縮／伸張部１６ｂでブロック毎に圧縮される。ブロック毎に圧縮された画像データは、システム制御部１１を通じてシステムメモリ１５に格納される。
【００３６】
記録紙への出力動作においては、システムメモリ１５に格納されている画像データはシステム制御部１１により読み出されてシステム画像処理部１６に入力され、圧縮／伸張部１６ｂで伸張され、さらに元の１ページとなるように合成された後、記録画像処理部２１を経てＬＤ１９へ出力される。
【００３７】
周辺制御部１３には、起動用プログラムなどが予め記憶されたＲＯＭ（Read Only Memory）２２、小容量ストレイジデバイス２３、大容量ストレイジデバイス（ＨＤＤ）２４、不揮発メモリ２５、外部インターフェイス部２６が接続されている。
【００３８】
小容量ストレイジデバイス２３は、制御プログラムや汎用オペレーティング・システムのプログラムの格納などに使用される。ここでは、小容量ストレイジデバイス２３としてフラッシュメモリを使用する。装置の立ち上げ時にＲＯＭ２２内の起動プログラムを実行することで、小容量ストレイジデバイス２３内のプログラムがシステムメモリ１５に展開され、プロセッサ１２が該プログラムに従って処理を行なうように構成されている。
【００３９】
外部記憶装置としての大容量ストレージデバイス（ＨＤＤ）２４は、入出力するデータをＤＭＡ転送するためのＤＭＡコントローラ２４ａを備えたハードディスク装置などで構成されており、画像データの格納などに使用される。不揮発メモリ２５は、装置固有の各種パラメータなどの記憶に使用される。外部インターフェイス部２６は、各種の通信方式で外部装置と接続して通信の制御を行なう機能を果たす。たとえば、接続にはＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４(Institute of Electrical and Electronic Engineers 1394)などが使用される。
【００４０】
なお、画像形成装置１０は、システムメモリ１５に対するメモリ領域の取得と開放を制御するメモリ管理システムを有している。該メモリ管理システムは、プロセッサ１２が制御プログラム内のメモリ管理プログラムを実行することで実現される。メモリ管理システムは、他のプログラムからの要求に応じて、その要求されたサイズのメモリ領域をシステムメモリ１５から確保して要求元のプログラムに提供する。また、確保済みの領域に対する開放指令を他のプログラムから受けると、該当するメモリ領域を未使用領域（空き領域）として開放するように動作する。
【００４１】
図２は、画像分割部１６ａが１ページ分の画像データを分割する際の分割状態の一例を示している。画像分割部１６ａは、１ページ分の画像データ３０を水平方向Ｎ分割、垂直方向Ｍ分割（Ｍ、Ｎは任意の正整数で少なくとも一方は２以上）して、複数のブロック３１に分割する。図２の例は、ライン単位の読み取り方向である水平方向（幅方向）を７分割し、垂直方向（長さ方向）を９分割し、１ページを６３個のブロックに分割している。各ブロックのページ内での位置は、座標情報（Ｘ，Ｙ）で表わされる。圧縮／伸張部１６ｂは、分割されたブロック単位で圧縮／伸張処理を行なう。
【００４２】
各ブロックは同一サイズであり、画像回転処理などの都合から各ブロックにおける水平方向の画素数と垂直方向の画素数とは等しく設定してある。水平方向および垂直方向の分割数は図２に示したものに限定されず、圧縮効率、処理効率、メモリ領域の利用効率などに応じて適宜に設定すればよい。
【００４３】
次に、１ページの原稿画像を読み込んで、その画像データを圧縮してシステムメモリ１５に格納するまでの処理の流れについて説明する。
【００４４】
図３は、読取動作における処理の流れを、図４は、該処理におけるコマンドやデータの流れを示している。ジョブが投入されて図示省略のスタート釦が押されると、プロセッサ１２は図４のスキャナ１７ａにセットされた原稿のサイズを認識すると共に（図３：ステップＳ１０１、図４：Ｐ１）、セットされた原稿１ページを保存するために必要なメモリ容量を求める(ステップＳ１０２)。なお、画像データは圧縮して保存されるので、１ページの保存に必要なメモリ容量は画像の内容に依存して変化する。そこで、この段階では、セットされた原稿サイズに対する標準的なメモリ容量を求めている。
【００４５】
次に、プロセッサ１２は、領域確保手段としてのメモリ管理テーブル生成機能１２ａを呼び出す。メモリ管理テーブル生成機能１２ａは、セットされた原稿１ページの保存に必要なメモリ容量分のメモリ領域をシステムメモリ１５から確保すると共に、確保したメモリ領域の位置やサイズを登録したメモリ管理テーブル４０をシステムメモリ１５内に生成する（図３：ステップＳ１０３、図４：Ｐ２）。メモリ管理テーブル４０は、大容量ストレイジデバイス（ＨＤＤ）２４内のＤＭＡコントローラ２４ａが参照するＤＭＡ用ディスクリプタテーブル（ＤＭＡ転送用テーブル）と同じデータ構造で作成される。なお、必要なメモリ容量を１つの連続した空きメモリ領域として確保できない場合には、飛び飛びに存在する複数の空き領域の総計として確保される。
【００４６】
プロセッサ１２は、生成されたメモリ管理テーブル４０に関する情報（メモリ管理テーブル４０のアドレス情報など）をシステム制御部１１へ通知し（図３：ステップＳ１０４、図４：Ｐ３）、さらにＣＣＤ１７、読取画像処理部１８、システム画像処理部１６を起動して原稿画像の読み取り動作を開始させる（図３：ステップＳ１０５、図４：Ｐ４）。これにより、ＣＣＤ１７で原稿画像を読み取って得た画像データは読取画像処理部１８に入力され、画像補正などの処理を施された後、システム画像処理部１６へ転送される（図３：ステップＳ１０６、図４：Ｐ５）。
【００４７】
システム画像処理部１６は、読取画像処理部１８から入力された画像データを、図２に示すように複数のブロック３１に分割すると共に、分割後のブロックを単位に画像データを圧縮する（図３：ステップＳ１０７、図４：Ｐ６）。システム画像処理部１６は、ブロック単位での画像データの圧縮処理が完了する毎に、そのブロックに関する圧縮完了通知をシステム制御部１１へ通知する（図３：ステップＳ１０８、図４：Ｐ７）。
【００４８】
圧縮完了通知を受けたシステム制御部１１は、メモリ管理テーブル４０を参照して、確保されているメモリ領域の位置とサイズを認識し、該メモリ領域へ圧縮後の画像データを保存する（格納制御手段としての機能、図４：Ｐ８）。また、システム制御部１１は、保存した画像データに関する属性情報をシステムメモリ１５内の画像管理テーブル５０に登録する（画像情報登録手段としての機能、図３：ステップＳ１０９、図４：Ｐ９）。属性情報は、飛び飛びに存在する複数のメモリ領域に格納した画像データを、元の連続した画像データに繋ぎ合わせるための情報を含む。画像管理テーブル５０に関する詳細は後述する。
【００４９】
このように、メモリ管理テーブル４０を参照してシステム制御部１１が自律的にシステムメモリ１５への画像データの転送と保存を行なうので、プロセッサ１２の処理負担が軽減される。また、保存した画像データに関する属性情報をシステム制御部１１（画像情報登録手段）が画像管理テーブル５０に登録するので、画像管理テーブル５０の作成／登録に係わるプロセッサ１２の処理負担も軽減される。また、読み出し時に画像管理テーブル５０を参照することで、飛び飛びに存在する複数のメモリ領域に分散して格納された画像データを、元の１ページの画像データに繋ぎ合わせることが可能になる。
【００５０】
なお、圧縮された画像データのデータ量が標準的なサイズより大きく、メモリ管理テーブル４０に登録したメモリ領域が足りなくなったときは、システム制御部１１がプロセッサ１２に対して新たなメモリ領域の確保を要求し、該要求に応じてプロセッサ１２のメモリ管理テーブル生成機能１２ａが新たなメモリ領域をシステムメモリ１５から確保し、その確保したメモリ領域に関する情報をメモリ管理テーブル４０に追加登録するようになっている。
【００５１】
次に、メモリ管理テーブル４０の作成処理について詳述する。
【００５２】
図５は、メモリ管理テーブル４０の作成処理を示している。メモリ管理テーブル生成機能１２ａは、確保すべきメモリ容量の通知を受けると（ステップＳ２０１）、該メモリ容量分の空き領域の確保動作を開始する。詳細には、システムメモリ１５内の空き領域を検出し(ステップＳ２０２)、検出した空き領域から、メモリユニット（メモリ領域）を確保する（ステップＳ２０３）。
【００５３】
たとえば、検出した空き領域の容量が、これまでに確保したメモリ容量と必要メモリ容量との差分である残りサイズ以下の場合は、検出した空き領域全体をメモリユニットとして確保し、検出した空き領域のサイズが残りサイズより大きい場合は、検出した空き領域の中から残りサイズ分のメモリ領域をメモリユニットとして確保する。また、メモリユニットを、固定長のバウンダリ（たとえば、４Ｋバイトのバウンダリ）に従って確保する場合は、検出した空き領域の中で該バウンダリに従う開始位置から該バウンダリの固定長の整数倍サイズに相当するメモリ領域をメモリユニットとして確保する。
【００５４】
次に、上記のようにして確保したメモリユニットの先頭アドレスやサイズなどの情報（ユニット情報）が登録されたメモリ管理テーブル４０を、ＤＭＡ用ディスクリプタテーブルと同じデータ構造で作成し（ステップＳ２０４）、必要メモリ容量分が確保されなければ（ステップＳ２０５；Ｎ）、ステップＳ２０２に戻って次の空き領域の検出を行なう。必要メモリ容量分のメモリユニット（メモリ領域）が確保されたら（ステップＳ２０５；Ｙ）、処理を終了する（エンド）。なお、必要メモリ容量分のメモリユニットを確保できなかった場合はエラー終了するようになっている。
【００５５】
図６は、システムメモリ１５の空き状態と生成されたメモリ管理テーブル４０の一例を示している。システムメモリ１５内には空き領域が飛び飛びに存在しており、これら飛び飛びに存在する複数の空き領域を総計することにより、必要メモリ容量分のメモリユニット（メモリ領域）が確保される。メモリ管理テーブル４０には、確保したメモリユニット毎に、そのメモリユニットの先頭アドレスＡｄと、領域サイズ(バイト数)Ｓｚと、当該テーブルの終了ビットＥＯＴとを含むユニット情報が、リスト状に登録される。終了ビットＥＯＴは、リストの終端のユニット情報のみ「１」にセットされ、その他は「０」にセットされる。なお、図６以外の図ではメモリ管理テーブル４０を簡略化して表記するが、データ構造は図６に示すものと同一になっている。
【００５６】
このように、確保したメモリユニットに関するユニット情報をまとめて登録したメモリ管理テーブル４０を作成するので、システム制御部１１は、画像データの格納に使用するメモリ領域に関する情報を、メモリ管理テーブル４０を参照することで効率的に得ることができる。また、メモリ管理テーブル４０をＤＭＡコントローラ２４ａが参照するＤＭＡ用ディスクリプタテーブルと同一のデータ構造で作成するので、メモリ管理テーブル４０をＤＭＡ用ディスクリプタテーブルとして兼用することができる。これにより、各テーブルを別々に作成する場合に比べて、テーブルの作成に係わるプロセッサ１２の処理負担やテーブルを記憶するためのメモリ容量を削減でき、処理効率やシステムメモリ１５の利用効率を向上させることができる。メモリ管理テーブル４０を利用したＤＭＡ転送については後述する。
【００５７】
１つのメモリユニットのサイズはＤＭＡコントローラ２４ａが１回のＤＭＡ転送で処理可能な最大バイト数以下に制限される。たとえば、１回のＤＭＡ転送で処理可能な最大バイト数が６４Ｋバイトであり、システムメモリ１５から検出した空き領域のサイズが８０Ｋバイトである場合には、該空き領域はサイズが６４Ｋバイトのメモリユニットと１６Ｋバイトのメモリユニットとに分けて使用され、それぞれのユニットに関するユニット情報がメモリ管理テーブル４０に作成される。
【００５８】
次に、圧縮された１ブロック分の画像データをシステムメモリ１５に格納する処理（図３のステップＳ１０９に相当）の流れを詳細に説明する。
【００５９】
図７は、圧縮された１ブロックの画像データをシステムメモリ１５に格納する処理の流れを示している。システム制御部１１は、システム画像処理部１６から１ブロック分の画像データの圧縮完了通知を受けると（ステップＳ３０１）、メモリ管理テーブル４０を参照し、その先頭から順にメモリユニットを選択し、該選択したメモリユニットの位置（先頭アドレス）とサイズとを把握する(ステップＳ３０２)。
【００６０】
なお、後述の画像管理テーブル５０を参照し、上記選択したメモリユニットの一部領域（先頭からの一部分）が既に使用済みか否かを調べ、一部使用済みの場合は、先頭からその一部使用済み領域の後ろの空き領域までのオフセットを画像管理テーブル５０から認識するようになっている。そして、先の圧縮完了通知に対応するブロックの画像データをそのメモリユニットの先頭から、もしくは一部使用済みの場合はその後ろに格納する（ステップＳ３０３）。
【００６１】
画像データが、このメモリユニットに収まりきらないときは（ステップＳ３０４；Ｙ）、このメモリユニットに対して今回保存した画像データに関する属性情報を画像管理テーブル５０に登録する(ステップＳ３０５)。さらに、メモリ管理テーブル４０を参照して次のメモリユニットを選択し（ステップＳ３０６）、該メモリユニットに対して残りの画像データを格納する（ステップＳ３０３）。
【００６２】
このメモリユニットに当該ブロックの最後まで画像データを格納できたときは（ステップＳ３０４；Ｎ）、このメモリユニットに今回保存した画像データに関する属性情報を画像管理テーブル５０に登録する(ステップＳ３０７)。当該ページに関して未格納のブロックが存在するときは（ステップＳ３０８；Ｎ）、ステップＳ３０１に戻って次のブロックに対する処理を継続し、１ページ分の全ブロックについて格納処理が完了した場合は(ステップＳ３０８；Ｙ)、本処理を終了する（リターン）。
【００６３】
図８は、１ページの画像データ３０ａを６ブロック（水平方向に３分割、垂直方向に２分割）に分割した後、ブロック毎に圧縮された画像データが、メモリ管理テーブル４０ａに基づいてシステムメモリ１５へ格納される様子の一例を示している。
【００６４】
図中の一覧表３２に示すように、この例では、各ブロックの画像データは、１６進数表記で、ブロック（0,0）が０２００ｈバイトに、ブロック（1,0）が０２００ｈバイトに、ブロック（2,0）が０５００ｈバイトに、ブロック（0,1）が０２００ｈバイトに、ブロック（1,1）が０５００ｈバイトに、ブロック（2,1）が０１００ｈバイトにそれぞれ圧縮されるものとする。
【００６５】
メモリ管理テーブル４０ａには、メモリユニットＵ１（先頭アドレス１０００ｈ、サイズ０１００ｈ）、と、メモリユニットＵ２（先頭アドレス１８００ｈ、サイズ０５００ｈ）と、メモリユニットＵ３（先頭アドレス２０００ｈ、サイズ１０００ｈ）とに係わるユニット情報が登録されている。
【００６６】
したがって、一覧表３２に示すように圧縮された画像データの格納処理をシステム制御部１１がメモリ管理テーブル４０ａを参照して実行すると以下のような動作となる。まず、圧縮後のブロック（0,0）の画像データはメモリユニットＵ１の先頭から格納されていき、先頭から０１００ｈバイト分の画像データ（Ａ）を格納した時点でメモリユニットＵ１が満杯になり（処理Ｒ１）、残りの画像データ（Ｂ）は次のメモリユニットＵ２の先頭に格納される（Ｒ２）。
【００６７】
圧縮後のブロック（1,0）の画像データ（Ｃ）は、メモリユニットＵ２の続きのエリアに格納されていき（Ｒ３）、メモリユニットＵ２に全部格納される。圧縮後のブロック（2,0）の画像データは、メモリユニットＵ２の続きのエリアに格納されていき、ブロック（2,0）の先頭から０１００ｈバイト分の画像データ（Ｄ）を格納した時点でメモリユニットＵ２が満杯になり（Ｒ４）、残りの画像データ（Ｅ）はメモリユニットＵ３の先頭に格納される（Ｒ５）。
【００６８】
さらに、圧縮後のブロック（0,1）の画像データ（Ｆ）および圧縮後のブロック（1,1）画像データ（Ｇ）、圧縮後のブロック（2,1）の画像データ（Ｈ）はメモリユニットＵ３の残りエリアにこの順で格納されていき（Ｒ６、Ｒ７、Ｒ８）、１ページ分の格納処理が完了する。
【００６９】
図９は、図８に示すように画像データが格納された場合に生成される画像管理テーブル５０ａと、これに関連するメモリ管理テーブル４０ａおよびジョブ管理テーブル６０ａとを示している。画像管理テーブル５０ａには、１回の格納動作（図８のＲ１〜Ｒ８のそれぞれ）に対して、その格納動作で格納した画像データに関する属性情報ｒ１〜ｒ８が登録される。
【００７０】
ここでは、属性情報ｒとして、当該画像データが属するブロックのブロック番号５１と、格納した画像データのバイト数を示すサイズ情報５２と、画像データの格納されたメモリユニットを特定するためのテーブル番号５３と、そのメモリユニットの先頭から何バイト分後方の位置から当該画像データが格納されているかを示すオフセット情報５４とが登録される。テーブル番号５３は、該当するメモリ管理テーブル４０ａの先頭から何番目に登録されたユニット情報であるかを示しており、該属性情報ｒを特定のユニット情報に関連付けるためのリンク情報である。
【００７１】
たとえば、図９の画像管理テーブル５０ａの１行目に登録されている属性情報ｒ１は図８の格納動作Ｒ１に対応したものであり、ブロック（0, 0）の画像データのうちの最初の０１００ｈバイト（図８のＡ）が、テーブル番号「１」に対応するメモリユニットＵ１の先頭に格納されていることを示している。
【００７２】
また、２行目の属性情報ｒ２は図８の格納動作Ｒ２に対応したものであり、ブロック（0, 0）の画像データの次の１００ｈバイト（図８のＢ）が、テーブル番号「２」に対応するメモリユニットＵ２の先頭に格納されていることを示している。
【００７３】
同様に、３行目の属性情報ｒ３は図８の格納動作Ｒ３に対応したものであり、ブロック（1, 0）の画像データのうち先頭から０２００ｈバイト（図８のＣ）が、テーブル番号「２」に対応するメモリユニットＵ２の先頭から０１００ｈバイト後方へオフセットした位置に格納されていることを示している。
【００７４】
メモリ管理テーブル４０および画像管理テーブル５０は１ページ分の画像データに対してそれぞれ作成されると共に、これらのテーブルとジョブとを関連付けるためのジョブ管理テーブル６０が別途作成される。ジョブ管理テーブル６０には、そのジョブに属するページ毎に、ページ番号（画像Ｎｏ．）とそのページに関するメモリ管理テーブル４０の先頭アドレス（Ｍ_Ａｄ）と画像管理テーブル５０の先頭アドレス（Ｉｍ_Ａｄ）とが対応付けて登録される。
【００７５】
ジョブ管理テーブル６０を参照することで、目的とするジョブの各ページに対応する画像管理テーブル５０とメモリ管理テーブル４０の格納位置を認識でき、該画像管理テーブル５０とメモリ管理テーブル４０とを参照することで、そのページに属する各ブロックの画像データがシステムメモリ１５内のどの位置に分散して格納されているかを認識することができる。しがたって、システムメモリ１５内で飛び飛びの位置にある複数のメモリ領域に格納された１ページ分の画像データを画像管理テーブル５０に基づいて、元の１ページの画像データに繋げて読み出すことが可能になる。
【００７６】
なお、画像管理テーブル５０のテーブル形式は、図９に例示したものに限定されない。たとえば、テーブル番号５３の代わりに、参照先のユニット情報の格納場所を直接示すアドレス情報やポインタ情報を登録してもかまわない。また、テーブル番号５３とオフセット情報５４とに代えて、該当する画像データが格納されているメモリ領域の先頭アドレスを直接、画像管理テーブル５０に登録してもよい。また、画像管理テーブル５０にジョブ番号やジョブ内のページ番号を登録するように構成してもよい。
【００７７】
次に、上記のようにしてシステムメモリ１５内の複数のメモリ領域に格納された画像データを大容量ストレイジデバイス（ＨＤＤ）２４へ保存する動作について説明する。
【００７８】
図１０は、システムメモリ１５に格納された画像データを大容量ストレイジデバイス（ＨＤＤ）２４へＤＭＡ転送して保存する動作の流れを示している。また、該保存動作に係わるコマンドやデータの流れについては図４に示してある。プロセッサ１２は、大容量ストレイジデバイス（ＨＤＤ）２４へ転送するページに関連付けされたメモリ管理テーブル４０の先頭アドレスをＤＭＡコントローラ２４ａへ通知した後、該ＤＭＡコントローラ２４ａを起動する（図１０：ステップＳ４０１、図４：Ｐ１０）。メモリ管理テーブル４０は、ＤＭＡ用ディスクリプタテーブルと同じデータ構造で作成されているので、ＤＭＡコントローラ２４ａはメモリ管理テーブル４０をＤＭＡ用ディスクリプタテーブルと認識し、該ＤＭＡ用ディスクリプタテーブルの記述内容に従ってその先頭から順にＤＭＡ転送を実行する（図１０：ステップＳ４０２、図４：Ｐ１１）。
【００７９】
ＤＭＡ用ディスクリプタテーブルに従ってＤＭＡ転送されたデータは一連の画像データ（１つの画像ファイル７０）として大容量ストレイジデバイス（ＨＤＤ）２４に保存される。
【００８０】
メモリ管理テーブル４０（ＤＭＡ用ディスクリプタテーブル）に記述されたすべてのＤＭＡ転送が完了すると、プロセッサ１２は大容量ストレイジデバイス（ＨＤＤ）２４に保存した画像ファイル７０に関する属性ファイル８０を画像管理テーブル５０に基づいて作成し、これを大容量ストレイジデバイス（ＨＤＤ）２４に保存して(図１０：ステップＳ４０３、図４：Ｐ１２)処理を終了する（エンド）。
【００８１】
図１１は、大容量ストレイジデバイス（ＨＤＤ）２４へ画像データを格納する前と、格納後と、読み出し後における各種テーブルの登録状態を示している。ここでは、図８、図９に示すようにしてシステムメモリ１５に格納された画像データ（画像Ｎｏ．「０００１」とする）を大容量ストレイジデバイス（ＨＤＤ）２４へＤＭＡ転送して格納する場合を例示している。大容量ストレイジデバイス（ＨＤＤ）２４へ格納する前は、図９に示すものと同じメモリ管理テーブル４０ａと画像管理テーブル５０ａとジョブ管理テーブル６０ａとが生成されている。
【００８２】
システムメモリ１５から大容量ストレイジデバイス（ＨＤＤ）２４へのＤＭＡ転送が完了すると、プロセッサ１２は、画像管理テーブル５０ａを参照して属性ファイル８０ａを作成する。属性ファイル８０ａには、ブロック番号とそのブロックのサイズ（バイト数）とが対応付けて登録される。プロセッサ１２は、画像管理テーブル５０ａを検索し、同じブロック番号に係わる属性情報に登録されているサイズを合計して、当該ブロック番号のブロックのサイズを求める。
【００８３】
図１１の例では、ブロック（0,0）のサイズは、画像管理テーブル５０ａに登録されている属性情報ｒ１内のサイズ（０１００ｈ）と属性情報ｒ２内のサイズ（０１００ｈ）とを合算（図１１：ｍ１）して求めている。ブロック（1,0）については画像管理テーブル５０ａに登録されている属性情報ｒ３が１つだけなので、当該属性情報ｒ３内のサイズ（０２００ｈ）をそのまま当該ブロックのサイズとして属性ファイル８０ａに登録している。
【００８４】
画像ファイル７０には、ブロック（0,0）からブロック（2,1）までの画像データが連続したデータとして登録されるため、該連続した画像データをブロック別に識別するための情報（ブロック識別情報）として属性ファイル８０ａが作成される。
【００８５】
大容量ストレイジデバイス（ＨＤＤ）２４へ画像ファイル７０および属性ファイル８０を格納した後、該当するメモリ管理テーブル４０ａおよび画像管理テーブル５０ａはシステムメモリ１５上から削除される。また、メモリ管理テーブル４０ａに登録されていた各メモリ領域は開放される。さらに、格納したページ（図１１では画像Ｎｏ．「０００１」）に係わる情報がジョブ管理テーブル６０ａから削除される（ジョブ管理テーブル６０ｂ参照）。
【００８６】
図１２は、大容量ストレイジデバイス（ＨＤＤ）２４への画像ファイルおよび属性ファイルの格納状態の一例を、ディレクトリ構造で表したものである。画像ファイルは画像ファイル用フォルダ９１にまとめて保存され、属性ファイルは属性ファイル用フォルダ９２にまとめて保存される。画像ファイルとこれに対応する属性ファイルには同じファイル名を付してあり、ファイル名で対応関係を認識できるようにしてある。
【００８７】
なお、各ファイルの格納方法は図１２に例示したものに限定されず、たとえば、画像ファイルと属性ファイルとを同一のフォルダに入れておき、拡張子で区別してもよいし、１つの画像ファイルとこれに関連する属性ファイルとが格納されるフォルダを画像ファイル毎に生成するようにしてもよい。画像ファイルと属性ファイルとの対応関係が認識可能に保存されればよい。
【００８８】
次に、大容量ストレイジデバイス（ＨＤＤ）２４に格納された画像データを読み出してシステムメモリ１５へ格納するまでの読出動作について説明する。
【００８９】
図１３は、大容量ストレイジデバイス（ＨＤＤ）２４からの読出動作の流れを、図１４は、該処理におけるコマンドやデータの流れを示している。まず、プロセッサ１２は、指示されたジョブの内容に応じて、大容量ストレイジデバイス（ＨＤＤ）２４内の該当する画像ファイルを選択した後（ステップＳ５０１）、その画像ファイルに格納されている画像データの容量を調べる（ステップＳ５０２）。
【００９０】
さらに、その画像ファイルに関連付けされている属性ファイルを読み込み（ステップＳ５０３）、ブロック数および各ブロックのサイズを認識する（ステップＳ５０４、図１４：Ｐ２１）。そして、これらのブロックの画像データをブロック毎に格納するためのメモリ領域（メモリユニット）を、メモリ管理テーブル生成機能１２ａを起動してシステムメモリ１５上に確保し（ステップＳ５０５）、対応するメモリ管理テーブル４０をＤＭＡ用ディスクリプタテーブルと同一のデータ構造で作成する（ステップＳ５０６、図１４：Ｐ２２）。
【００９１】
次に、プロセッサ１２は、作成したメモリ管理テーブル４０の先頭アドレスをＤＭＡコントローラ２４ａへ通知した後（ステップＳ５０７）、ＤＭＡコントローラ２４ａを起動する（ステップＳ５０８、図１４：Ｐ２３）。メモリ管理テーブル４０は、ＤＭＡ用ディスクリプタテーブルと同じデータ構造で作成されているので、ＤＭＡコントローラ２４ａはメモリ管理テーブル４０をＤＭＡ用ディスクリプタテーブルと認識し、該ＤＭＡ用ディスクリプタテーブルの記述内容に従ってその先頭から順にＤＭＡ転送を実行し、１つの画像ファイル７０に格納されていた画像データを複数のメモリユニットに分散して格納する（図１４：Ｐ２４）。
【００９２】
メモリ管理テーブル４０（ＤＭＡ用ディスクリプタテーブル）に記述されたすべてのＤＭＡ転送が完了すると（ステップＳ５０９）、プロセッサ１２は、今回のＤＭＡ転送した画像ファイルに関連付けされた属性ファイル８０とメモリ管理テーブル４０とに基づいて画像管理テーブル５０を作成し、該画像管理テーブル５０の先頭アドレスと先のメモリ管理テーブル４０の先頭アドレスとをジョブ管理テーブル６０に登録して(ステップＳ５１０、図１４：Ｐ２５）処理を終了する（エンド）。
【００９３】
図１１の右側には、同図中央の属性ファイル８０ａに対応する画像ファイル（画像Ｎｏ．「０００１」）を大容量ストレイジデバイス（ＨＤＤ）２４からシステムメモリ１５へ読み出した際に作成される画像管理テーブル５０ｂおよびメモリ管理テーブル４０ｂ、ジョブ管理テーブル６０ｃを示してある。メモリ管理テーブル４０ｂには、属性ファイル８０ａに登録されているブロック（0,0）からブロック（2,1）までのそれぞれのサイズに対応するメモリユニットが確保されて登録されている。ここでは、各ブロックが１つのメモリユニットに格納されるので、画像管理テーブル５０ｂには、ブロック毎の属性情報が作成されて登録されている。ジョブ管理テーブル６０ｃには画像Ｎｏ．「０００１」についての情報６５が追加登録されている。
【００９４】
図１５は、大容量ストレイジデバイス（ＨＤＤ）２４への格納前と読み出し後における、画像Ｎｏ．「０００１」の画像データとこれに関連するテーブルとのシステムメモリ１５上での配置を、図１１に対応させて示したものである。大容量ストレイジデバイス（ＨＤＤ）２４への格納前（同図（ａ）は、１つのブロックが複数のメモリユニットに分散して格納されたり（たとえば、ブロック（0,0）はメモリユニット１とメモリユニット２に分散）、複数のブロックに係わる画像データが１つのメモリユニットに混在して格納されたり（たとえば、メモリユニット３にはブロック（2,0）、（0,1）、（1,1）、（2,1）が混在）していたが、大容量ストレイジデバイス（ＨＤＤ）２４から読み出した後は(同図（ｂ）)、１つのメモリユニットに１つのブロックの画像データが格納されている。
【００９５】
メモリ管理テーブル４０ａおよび画像管理テーブル５０ａは、画像データを大容量ストレイジデバイス（ＨＤＤ）２４へ格納した際にシステムメモリ１５上から一旦消去され、大容量ストレイジデバイス（ＨＤＤ）２４からの読み出し時に、新たなメモリ領域を確保し、新たなメモリ管理テーブル４０ｂおよび画像管理テーブル５０ｂが作成されている。ジョブ管理テーブル６０は常時同じ位置（図１５では８０００ｈ）に配置されており、その内容のみが変更されている。
【００９６】
このように、大容量ストレイジデバイス（ＨＤＤ）２４への保存時に属性ファイル７０を作成しておくことで、ブロック毎の境界を認識して大容量ストレイジデバイス（ＨＤＤ）２４から画像データを読み出すことができ、ブロック単位に圧縮されている画像データをブロック単位に伸張することができる。また、ブロック毎にメモリ領域を確保して画像管理テーブル５０ｂで管理することにより、それぞれのブロックはメモリ上で連続したデータ配置となり、画像の回転などの加工が行ないやすくなり、その後の画像処理を効率よく行なうことができる。
【００９７】
なお、１つのブロックを連続して格納できる大きさのメモリ領域（メモリユニット）を確保できないときは、１つのブロックの画像データを複数のメモリ領域(メモリユニット)に分けて格納するように構成してもよい。この場合、大容量ストレイジデバイス（ＨＤＤ）２４から読み出される画像データを、図７、図８に示す格納処理と同様の手順で格納すればよい。
【００９８】
なお、大容量ストレイジデバイス（ＨＤＤ）２４からシステムメモリ１５へ読み出された画像データを印刷出力する場合は、図１４のＰ３１からＰ３５に示す手順で出力動作が実行される。詳細には、プロセッサ１２は、今回出力するページに係わるメモリ管理テーブル４０と画像管理テーブル５０の先頭アドレスおよびページの回転有無などに関する情報をシステム制御部１１に通知すると共に（Ｐ３１）、システム画像処理部１６、記録画像処理部２１、ＬＤ１９を起動する（Ｐ３２）。システム制御部１１は、通知された画像管理テーブル５０およびメモリ管理テーブル４０を参照し、該当する画像データが格納されているメモリユニットの位置とサイズとを認識し、該メモリユニットから画像データを読み出してシステム画像処理部１６へ転送する（Ｐ３３）。
【００９９】
システム画像処理部１６は、１ブロック分の画像データの転送が完了すると、その画像データを伸張して圧縮前の画像データを復元する。また復元した１ブロック分の画像データをページメモリ内の該当位置に配置する（Ｐ３４）。この処理を１ページの全ブロックについて完了するまで継続し、１ページ分の画像データが揃うと、該画像データを記録画像処理部２１を通じてＬＤ１９へ出力して記録紙への印刷を実行する（Ｐ３５）。
【０１００】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１０１】
たとえば、本実施の形態では、システムメモリに画像データを保存するようにしたが、本発明は画像データの保存用に大きな空き領域を常時確保しておくことが難しく、飛び飛びの空き領域に分散して画像データを格納する必要のある場合に有効なものであり、画像データを格納するメモリは、システムメモリ以外のメモリであってもかまわない。
【０１０２】
また、図２や図８に示した画像データの分割状態は例示であり、どのようなサイズのブロックに分割するか、あるいはいくつのブロックに分割するかなどは適宜に設定すればよい。
【０１０３】
画像管理テーブルに登録する情報は、実施の形態で例示したものに限定されず、複数のメモリ領域に分散して格納された画像データを、元の状態に繋ぎ合わせることのできる情報が少なくとも登録されていればよい。
【０１０４】
また、実施の形態では、スキャナから読み込んだ画像データをシステムメモリ１５へ格納するに際して標準的なメモリ領域を確保しておき、画像データの格納中にメモリ領域が不足した場合に新たな領域を追加して確保するようにしたが、最初から充分な量のメモリ領域を確保し、余った分を後で開放するように構成してもよい。なお、上述の実施の形態においては、大容量ストレージデバイス２４が、画像処理装置１０に内蔵される例を述べたが、これに限らず、大容量ストレージデバイス２４と画像処理装置１０とが接続された系においても、本発明は適用可能である。
【図面の簡単な説明】
【０１０５】
【図１】本発明の各実施の形態に係わる画像処理装置の概略構成を示すブロック図である。
【図２】１ページ分の画像データの分割状態の一例を示す説明図である。
【図３】本発明の実施の形態に係わる画像処理装置が行なう読取動作全体を示す流れ図である。
【図４】図３に示す読取動作および大容量ストレイジデバイス（ＨＤＤ）への格納処理におけるコマンドやデータの流れを示す説明図である。
【図５】メモリ管理テーブルの作成処理を示す流れ図である。
【図６】システムメモリの空き状態と生成されたメモリ管理テーブルとの対応関係の一例を示す説明図である。
【図７】システム画像処理部で圧縮された１ブロックの画像データをシステムメモリに格納する格納処理の流れ図である。
【図８】分割された画像データがメモリ管理テーブルに基づいてシステムメモリ上の複数のメモリユニットに格納された状態を示す説明図である。
【図９】図８に示すように画像データが格納された場合に生成される画像管理テーブルの一例と、これに関連するメモリ管理テーブルおよびジョブ管理テーブルを示す説明図である。
【図１０】大容量ストレイジデバイス（ＨＤＤ）への保存動作の手順を示す流れ図である。
【図１１】大容量ストレイジデバイス（ＨＤＤ）へ画像データを保存する前後における各種テーブルの登録状態の一例を示す説明図である。
【図１２】画像ファイルおよび属性ファイルの大容量ストレイジデバイス（ＨＤＤ）への格納状態の一例をディレクトリ構造で表わした説明図である。
【図１３】大容量ストレイジデバイス（ＨＤＤ）からの読出動作の手順を示す流れ図である。
【図１４】図１３に示す読出動作およびシステムメモリからの出力動作におけるコマンドやデータの流れを示す説明図である。
【図１５】大容量ストレイジデバイス（ＨＤＤ）への格納前後における、画像データおよび各種テーブルのシステムメモリ上での配置状態を、図１１に対応させて示した説明図である。
【符号の説明】
【０１０６】
１０…画像処理装置
１１…システム制御部
１２…プロセッサ
１２ａ…メモリ管理テーブル生成機能
１３…周辺制御部
１４…ＬＣＤパネル
１５…システムメモリ
１６…システム画像処理部
１６ａ…画像分割部
１６ｂ…圧縮／伸張部
１７…ＣＣＤ
１７ａ…スキャナ
１８…読取画像処理部
１９…ＬＤ
２１…記録画像処理部
２２…ＲＯＭ
２３…小容量ストレイジデバイス
２４…大容量ストレイジデバイス（ＨＤＤ）
２４ａ…ＤＭＡコントローラ
２５…不揮発メモリ
２６…外部インターフェイス部
３０、３０ａ…１ページ分の画像データ
３１…ブロック
４０、４０ａ、４０ｂ…メモリ管理テーブル
Ａｄ…先頭アドレス
Ｓｚ…領域サイズ
ＥＯＴ…終了ビット
５０、５０ａ、５０ｂ…画像管理テーブル
５１…ブロック番号
５２…サイズ情報
５３…テーブル番号
５４…オフセット情報
Ｒ１〜Ｒ８…格納動作
ｒ１〜ｒ８…属性情報
６０、６０ａ、６０ｂ、６０ｃ…ジョブ管理テーブル
７０…画像ファイル
８０、８０ａ…属性ファイル
９１…画像ファイル用フォルダ
９２…属性ファイル用フォルダ
【図１】
2007312069.tif 000003
【図２】
2007312069.tif 000004
【図３】
2007312069.tif 000005
【図４】
2007312069.tif 000006
【図５】
2007312069.tif 000007
【図６】
2007312069.tif 000008
【図７】
2007312069.tif 000009
【図８】
2007312069.tif 000010
【図９】
2007312069.tif 000011
【図１０】
2007312069.tif 000012
【図１１】
2007312069.tif 000013
【図１２】
2007312069.tif 000014
【図１３】
2007312069.tif 000015
【図１４】
2007312069.tif 000016
【図１５】
2007312069.tif 000017