(57)【特許請求の範囲】
【請求項１】
入出力画像を記憶する一次記憶手段と、
二次記憶手段と、
一次記憶手段及び二次記憶手段の相互間において、圧縮された一画像分の画像データを一括転送するか、若しくは、一画像分の画像データを分割し、分割転送するか、いずれかの動作で転送を行うように制御する転送制御手段を有する画像処理装置であって、
前記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を前記一次記憶手段にバッファ領域として確保し、一括転送を行い、一括転送中に他の新たな転送要求を受信した場合は、所定量の領域を前記一次記憶手段にバッファ領域として確保し、分割転送に切替え、一括転送中に他の新たな転送要求を受信しなかった場合は、一括転送を継続することを特徴とする画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル複写機、ファクシミリ、プリンタ、イメージスキャナ、ネットワークファイルサーバ等の画像入出力機器、又はこれらのうちの複数の機能を備えたデジタル複合機等の画像処理装置に関し、入出力デジタル画像を扱う、主に作業用として装備される比較的小容量の画像記憶部（半導体メモリ）とこの記憶部と相互にデータ転送を可能にしたハードディスクドライブ（ＨＤＤ）等の大容量の記憶装置（画像データ保存用）との間で行われるデータ転送の制御技術に関する。
【０００２】
【従来の技術】
近年、複写機のデジタル化が進むと共に画像メモリを応用した、加工、編集が盛んとなってきている。その中で、読取った原稿複数枚分の画像データを画像メモリ（通常、半導体メモリが用いられている）に記憶することで、指定部数まとめてコピー出力し、仕分けの作業をなくす電子ソートという機能がある。全原稿の画像データを保持するため、そのままの画像データを半導体メモリに蓄積するには読取った原稿枚数分のデータ量に相当するメモリが必要になり、メモリコストが膨大になるという理由から、下記１．〜３．の方式が一般的に用いられる。
１． 半導体メモリ＋蓄積（保存）用メモリの構成とし、蓄積用メモリとして半導体メモリより安価なハードディスク等の二次記憶装置を使用する。
２． 半導体メモリ＋蓄積用メモリの構成とし、蓄積用メモリとして半導体メモリを使用し、圧縮処理を用いて画像データを圧縮し、1枚あたりのデータ量を減らすことでトータルのメモリ量を減らす。
３． デジタル複合機では、複数の画像入出力手段（イメージスキャナ、プリンタコントローラ、ファイルサーバ、ＦＡＸコントローラ等）が同一の画像メモリを共有する。
【０００３】
上記のような各種の画像メモリ（記憶手段）に対し、画像データの入出力を実行するためにはＤＭＡ（Direct Memory Access)データ転送方式を用いたメモリ制御コントローラ（以下「ＤＭＡコントローラ」或いは［ＤＭＡＣ」と記す）が使用されることが多い。ＤＭＡコントローラは、ディスクリプタと呼ばれるメモリ領域管理情報を基に画像メモリの特定の領域に対してデータの転送を行う。1画像が格納されるメモリ領域を複数のディスクリプタに分割してデータ転送を行うことも可能であり、例えば、画像メモリをリングバッファの形態で利用することにより、画像データの容量よりも少ないメモリ容量で画像データの入出力を行うことも可能にしている。
ＤＭＡコントローラを用いたメモリ制御では、各ディスクリプタにより指定されたデータ転送の進行状況（開始、終了）や、データ転送の実行タイミング制御（画像メモリ領域の途中でデータ転送を中断したり、再開する等）も可能であるため、ＤＭＡコントローラに接続された一次記憶部としての半導体メモリや、大容量の二次記憶装置のデータ転送のタイミング制御の自由度が高く、応用範囲が広い。
上述のように蓄積（保存用）メモリとして半導体メモリより安価なハードディスク等の二次記憶装置を使用する場合、この種の記憶装置では、通常単一の装置に対して複数のデータ転送（データ書込み、読み出し動作）を行うことはできないため、ＤＭＡコントローラのディスクリプタを用いて二次記憶装置へのデータ転送単位を分割し、これを時分割に実行することで、複数のデータ転送動作をあたかも並行して実行しているようにすることが一般的である。
【０００４】
しかしながら、このような時分割処理を用いる場合、データ転送に要する時間が短くなることはないため、複写機やプリンタ等の画像形成装置のように画像データの入出力に要する時間を最短にすることが装置の生産性に影響を及ぼす場合には、時分割処理を行うことが逆に生産性の低下を招くところもある。
このようなことから、画像データを圧縮し、データ転送量を小さくしたり、データ転送速度の速い二次記憶装置を搭載して、二次記憶装置へのデータ転送に要する時間を短くするような構成を採っていた。また、従来では、メモリ制御の簡素化を図る理由からも積極的に時分割転送を行わずに、画像入出力手段を用いて行われる画像データ入出力動作と略同期して二次記憶装置をリソースとして占有してデータ転送を行う手段を用いていた。
ところで、従来用いられていた二次記憶装置は、画像入出力手段から半導体メモリへの画像データ転送速度に比較して、半導体メモリの画像データを二次記憶装置へ転送する速度が遅く、画像データの圧縮を行って二次記憶装置のデータ処理容量を小さくしても、画像入出力手段−半導体メモリ間のデータ処理速度との差がなかったために、半導体メモリへの転送（データ圧縮等のデータ変換処理も含む）と、二次記憶装置へのデータ転送処理の転送タイミングの制御を独立にかつ最適に制御することによる画像形成装置の生産性の向上度はあまり高くなかった。
【０００５】
【発明が解決しようとする課題】
しかしながら、最近の技術の進歩に伴い、ハードディスク等の二次記憶装置のデータ転送速度の向上やデータ圧縮手段のデータ圧縮率および処理速度の向上が著しく、さらに画像形成装置に接続する画像入出力手段も多様を極めている状況では、従来のようなメモリ制御では記憶装置やデータ圧縮手段の能力を最大限に利用して生産性を確保することが難しくなっている。
本発明は、このような従来技術の状況に鑑みてなされたもので、その目的は、入出力画像を扱う、主に作業用に用いる一次記憶部（例えば半導体メモリ）とこの記憶部と相互にデータ転送を可能にした圧縮データ保存用（大容量）の二次記憶装置（例えばＨＤＤ）を装備する記憶部に、ＤＭＡを用いたメモリ制御方式を適用し、記憶装置の処理能力に応じて最大の利用効率を得るためのリソースの取得、開放を管理し、データ転送動作の開始タイミングを制御することにより記憶領域の利用率の向上、転送時間の短縮化を可能にした転送制御手段を備え、高い生産性の確保を図ることが可能な画像処理装置を提供することにある。
【０００６】
また、上記目的の下に、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかによって、それぞれに適応した効率の良い転送を行うための制御を可能にすることを解決すべき課題としている。
【０００７】
【課題を解決するための手段】
請求項１の発明は、入出力画像を記憶する一次記憶手段と、二次記憶手段と、一次記憶手段及び二次記憶手段の相互間において、圧縮された一画像分の画像データを一括転送するか、若しくは、一画像分の画像データを分割し、分割転送するか、いずれかの動作で転送を行うように制御する転送制御手段を有する画像処理装置であって、前記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を前記一次記憶手段にバッファ領域として確保し、一括転送を行い、一括転送中に他の新たな転送要求を受信した場合は、所定量の領域を前記一次記憶手段にバッファ領域として確保し、分割転送に切替え、一括転送中に他の新たな転送要求を受信しなかった場合は、一括転送を継続することを特徴とする。
【００１１】
【発明の実施の形態】
本発明の画像処理装置を添付する図面を参照して示す以下の実施例に基づき説明する。
図１は、本発明の画像処理装置をデジタル複写機に実施した例を示す概略構成図である。図１を参照して、読み取り部２０の読み取りプロセス、像形成部３０の像形成プロセスを説明する。
読み取りプロセスでは、原稿を原稿台２１に沿って可動な露光ランプ２２によってスキャン露光し、その反射光をＣＣＤ（イメージセンサー）２３によって光電変換を行い、光の強弱に応じた電気信号とする。ＩＰＵ（イメージプロセッシングユニット）２４により、その電気信号をシェーディング補正等の処理を行いＡ／Ｄ変換し、8ビットのデジタル信号とし、さらに変倍処理、ＭＴＦ補正、空間フィルタ処理、γ補正処理、ディザ処理等の画像処理を行い、画像同期信号と共に画像信号を像形成部３０に送る。
図２は、原稿台を上方から見た図である。同図中の走査方向に示すように、ＣＣＤ２３により主走査、スキャナーの移動により副走査が行われ原稿をラスタ形式で読み取る。スキャナー制御部２５は、上記読み取りプロセスを実行するために、各種センサーの検知、スキャン駆動モータ等の制御を行い、また、ＩＰＵ２４に各種パラメータの設定を行う。
【００１２】
像形成プロセスでは、帯電チャージャ３２によって一様に帯電された一定回転する感光体３３を、書込部３１からの画像データによって変調されたレーザー光により露光する。感光体３３には静電潜像ができ、それを現像装置３４によりトナーで現像することにより顕像化したトナー像となる。あらかじめ給紙コロ１５によって給紙トレイ１６より給紙搬送されレジストローラ１４で待機していた転写紙を、感光体３３とタイミングを図って搬送し、転写チャージャ３５によって感光体３３上のトナーを転写紙に静電転写し、分離チャージャー３６によって転写紙を感光体３３より分離する。その後、転写紙上のトナー像を定着装置１３により加熱定着し、排紙ローラ１２により排紙トレイ１１に排紙する。一方、静電転写後の感光体３３に残留したトナー像は、クリーニング装置３７が感光体３３に圧接、除去し、感光体３３は除電チャージャ３８により除電される。プロッタ制御部３９は以上のプロセスを実行するために、各種センサーの検知、駆動モータ等の制御を行う。
【００１３】
ここで、読み取り部２０のＩＰＵ２４より出力される画像同期信号の様子を示す図３を参照して、各画像同期信号とその関係を説明する。
フレームゲート信号（/FGATE）は副走査方向の画像エリアに対しての画像有効範囲を表す信号でこの信号がローレベル（ローアクティブ）の間の画像データが有効とされる。また、この/FGATEは、ライン同期信号（/LSYNC）の立ち下がりエッジでアサート、あるいはネゲートされる。
/LSYNCは、画素同期信号（PCLK）の立ち上がりエッジで所定クロック数（この例では、8CLK）だけアサートされ、この信号の立ち上がり後、所定クロック数（この例では、8CLK）後に、主走査方向の画像データが有効とされる。送られてくる画像データは、PCLKの１周期に対して１つであり、図２の矢印部分より400ＤＰＩ相当に分割されたものである。画像データは矢印部分を先頭にラスタ形式のデータとして送出される。また、画像データの副走査有効範囲は、通常、転写紙サイズによって決まる。
【００１４】
システム制御部１は、複写機全体を制御するためのシステムを構成し、オペレータによる操作部７への入力状態を検知し、読み取り部２０、記憶部４、像形成部３０、ＦＡＸ部９への各種パラメータの設定、プロセス実行指示等を、通信にて行う。
また、システム全体の状態を操作部７にて表示する。システム制御部１への指示はオペレータの操作部７へのキー入力にてなされる。
ＦＡＸ部９は、システム制御部１からの指示により、送られてきた画像データをG3、G4ＦＡＸのデータ転送規定に基づき2値圧縮を行い、電話回線へ転送する。また、電話回線よりＦＡＸ部９に転送されたデータは復元されて2値の画像データとされ、像形成部３０の書込部３１へ送られ顕像化される。
セレクタ部５は、システム制御部１からの指示により、セレクタの状態を変化させ、像形成を行う画像データのソースを読み取り部２０、記憶部４、ＦＡＸ部９の何れかより選択する。
記憶部４は、通常はＩＰＵ２４から入力される原稿の画像データを記憶することで、リピートコピー、回転コピー等の複写アプリケーションに使用される。また、ＦＡＸ部９からの2値画像データを一時記憶させるバッファメモリとしても使用する。これらデータ記憶の指示は、システム制御部１によってなされる。
【００１５】
記憶部４について、その構成をブロック図にて示す図４を参照して、詳細に説明する。以下に、図４に示す各ブロック毎にその機能説明を行う。
＜メモリ制御部４３＞
メモリ制御部４３はＣＰＵ及びロジックで構成され、システム制御部１と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、記憶部４の状態を知らせるためステータス情報をシステム制御部１に送信する。
システム制御部１からの動作コマンドには、画像入力、画像出力、圧縮、伸長等があり、画像入力、画像出力のコマンドは、画像入出力ＤＭＡＣ４１（後述）に、圧縮関連のコマンドは画像転送ＤＭＡＣ４４（後述）、符号転送ＤＭＡＣ４５（後述）、圧縮伸長器４６（後述）に送信される。
＜画像入出力ＤＭＡＣ４１＞
画像入出力ＤＭＡＣ４１は、ＣＰＵ及びロジックで構成され、メモリ制御部４３（後述）と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、画像入出力ＤＭＡＣ４１の状態を知らせるためのステータス情報をメモリ制御部４３に送信する。画像入力のコマンドを受けた場合、入力画像データを入力画像同期信号に従って8画素単位のメモリデータとしてパッキングして、メモリ制御部４３にメモリアクセス信号と共に随時出力する。画像出力のコマンドを受けた場合、メモリ制御部４３からの画像データを出力画像同期信号に同期させて出力する。
＜画像メモリ４２＞
画像メモリ４２は画像データを記憶するところで、ＤＲＡＭ等の半導体記憶素子で構成され、メモリ量の合計は、例えば、600ＤＰＩ、2値画像データのA3サイズ、2面分の18Ｍバイトと、データ圧縮用メモリ9Ｍバイトの合計27ＭＢとしている。メモリ制御部４３から読み出し、書込の制御を行なう。
【００１６】
＜画像転送ＤＭＡＣ４４＞
画像転送ＤＭＡＣ４４はＣＰＵ及びロジックで構成され、メモリ制御部４３と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、画像転送ＤＭＡＣ４４の状態を知らせるためのステータス情報をメモリ制御部４３に送信する。圧縮のコマンドを受けた場合、メモリ制御部４３にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器４６（後述）に転送する。また、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵し、変換された画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。
＜符号転送ＤＭＡＣ４５＞
符号転送ＤＭＡＣ４５はＣＰＵ及びロジックで構成され、メモリ制御部４３と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、符号転送ＤＭＡＣ４５の状態を知らせるためステータス情報をメモリ制御部４３に送信する。伸長のコマンドを受けた場合、メモリ制御部４３にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器４６（後述）に転送する。また、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵し、変換された画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。なお、ＤＭＡＣのディスクリプタアクセス動作については後述する。
＜圧縮伸長器４６＞
ＣＰＵ及びロジックで構成され、メモリ制御部４３と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、圧縮伸長器４６の状態を知らせるためステータス情報をメモリ制御部４３に送信する。2値データをＭＨ（Modified Huffman）符号化方法にて処理する。
＜ＨＤＤコントローラ４７＞
ＣＰＵ及びロジックで構成され、メモリ制御部４３と通信を行ってコマンドを受信し、そのコマンドに応じて動作条件を設定し、また、ＨＤＤコントローラ４７の状態を知らせるためステータス情報をメモリ制御部４３に送信する。ＨＤＤ４８のステータス情報のリード、データ転送を行なう。
このＨＤＤコントローラ４７は、ディスクリプタ方式を用い、圧縮変換後の符号データをＨＤＤ４８へ送信することもできる。
＜ＨＤＤ４８＞
二次記憶装置でハードディスクである。このＨＤＤは、圧縮変換された符号データ（画像メモリ４２内の変換データを格納するバッファ領域から転送される）を保存するための大容量記憶装置であり、ＨＤＤコントローラ４７からの指示により、符号（画像）データを内部のハードディスク（ＨＤ）に書き込んで保存させる動作と、保存した符号データを読み出してＨＤＤコントローラ４７へ送出する動作とを行う。
【００１７】
記憶部４が構成要素とするメモリ制御部４３の内部構成をブロック図にて示す図５を参照して、詳細に説明する。以下に、図５に示す各ブロック毎にその機能説明を行う。
＜入出力画像アドレスカウンタ４３５＞
画像入出力ＤＭＡＣ４１からの入出力メモリアクセス要求信号に応じてカウントアップするアドレスカウンタで、入出力画像データが格納される格納場所を示す22ビットのメモリアドレスを出力する。メモリアクセス開始時にアドレスはいったん初期化される。
＜転送画像アドレスカウンタ４３７＞
転送メモリアクセス許可信号に応じてカウントアップするアドレスカウンタで、転送画像データが一時格納される格納場所を示す22ビットのメモリアドレスを出力する。メモリアクセス開始時にいったんアドレスは初期化される。
＜ライン設定部４３１＞
画像入力時のバッファとして画像（半導体）メモリ４２を使用する場合、差分比較部４３２（後述）で差分算出部４３０（後述）から出力された入力処理ラインと転送ラインの差分結果と比較する値を設定する。システム制御部１から任意の値が設定される。
＜差分算出部４３０＞
画像入力時には、圧縮伸張器４６が出力する転送処理ライン数から画像入出力部が出力する入出力処理ライン数を減算し、結果を差分比較部４３２に出力する。
＜差分比較部４３２＞
画像入力時には、差分算出部４３０が出力する差分ライン数と、ライン設定部が出力する設定値とを大小比較し、差分ライン数＝設定値となったならばエラー信号を出力し、また、差分ライン数が0となったならばアービタ４３４（後述）に出力する比較結果の転送要求マスク信号をアクティブとする。それ以外、または入出力画像が動作中でない状態では、アクティブを出力しない。
【００１８】
＜アドレスセレクタ４３６＞
アービタ４３４により選択されるセレクタで、入出力画像または転送画像のアドレスのどちらが選択される。
＜アービタ４３４＞
画像入出力ＤＭＡＣ４１、画像転送ＤＭＡＣ４４、符号転送ＤＭＡＣ４５からのメモリアクセス要求信号を調停し、アクセス許可信号を出力する。リフレッシュ制御回路を内蔵し、優先順位はリフレッシュ、画像入出力ＤＭＡＣ、画像転送ＤＭＡＣ、符号転送ＤＭＡＣの順で、メモリアクセスが非アクティブの条件で許可先にはメモリアクセス許可信号をアクティブ出力する。また、許可信号を出力すると共に画像メモリ４２のアドレスをセレクトし、アクセス制御回路４３８（後述）にメモリアクセスのスタートを示すトリガ信号を出力する。
＜要求マスク４３３＞
差分比較部４３２からの比較結果にて圧縮伸張部４６のアクセスのための転送メモリアクセス要求信号をマスク（ディスイネーブル状態とすること）し、転送処理を停止させる。
＜アクセス制御回路４３８＞
入力される物理アドレスをアクセス制御回路４３８からの信号により半導体メモリであるＤＲＡＭに対応したロウアドレス、カラムアドレスに分割し11ビットのアドレスバスに出力する。また、アービタ４３４からのアクセス開始信号に従い、ＤＲＡＭ制御信号（ＲＡＳ、ＣＡＳ、ＷＥ）を出力する。
【００１９】
記憶部４全体の動作としては、画像入力、及びデータ蓄積に際しては、システム制御部１からの画像入力指示により、メモリ制御部４３は初期化され、画像データの待ち状態となり、読み取り部２０のスキャナが動作することにより記憶部４に画像データが入力される。入力された画像データは一旦画像（半導体）メモリ４２に書き込まれる。また、書き込まれた画像データの処理ライン数は画像入出力ＤＭＡＣ４１で計数され、メモリ制御部４３へと入力される。圧縮伸長器４６は、画像転送のコマンドを受けて転送メモリアクセス要求信号を出力しているが、メモリ制御部４３の要求マスク部４３３により要求信号がマスクされ、実際のメモリアクセスは行われていない。画像入出力部からの入力データが1ライン終了することで、転送メモリアクセス要求信号のマスクが解除され、半導体メモリ４２の読み出しが行われ画像データの圧縮伸張器４６への転送動作が開始される。また、動作中も差分算出部４３０で２つの処理ライン数の差を算出し、0となればアドレスの追い越しがない様に転送メモリアクセス要求信号にマスクをかけている。以上の動作により、画像メモリ４２に対する書き込み・読み出しに応じた転送制御が行われる。
【００２０】
ここで、画像（ビデオ）入力ＤＭＡＣ４１の画像（半導体）メモリ４２に対するディスクリプタアクセス動作、及びデータ転送動作を説明する。
図６は、ディスクリプタの形式とディスクリプタによる転送動作を説明するための模式図である。図６を参照すると、図中の画像データは、バンド1〜4の４つのバンドに分割されており、各バンドで設定されているライン数の画像データを各々のディスクリプタ1〜4の指示に従って転送する。
1画像中の総転送ライン数を加算する手順を説明すると、まず、ビデオ入力ＤＭＡＣ４１が転送コマンドを受けるとＤＭＡが起動し、あらかじめ内部のディスクリプタ格納レジスタにＣＰＵによって設定されたチェーン先アドレス（a）にディスクリプタ1をリードアクセスし、半導体メモリ４２中のディスクリプタ1の内容をディスクリプタ格納レジスタにロードする。そのロードされた内容には、4ワードで構成されており、次のディスクリプタの格納アドレスを示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ格納先アドレス、転送するデータのデータ量をライン数で示すデータ転送ライン数、及び設定されたライン数転送が終了した場合、ＣＰＵ割り込みを発生するか否かのフォーマット情報がある。フォーマット情報の最下位ビットには、設定されたライン数転送終了の場合にＣＰＵ割り込みを発生させるかさせないかを表わすビットが配置されている。“1”でＣＰＵ割り込みを発生、“0”でＣＰＵ割り込みをマスクする。
図６の例では、1画像を４つのバンドに分割して、４つのディスクリプタのこのフォーマット情報の最下位ビットには1から4まで順に、“1、1、1、1”となっている。各バンドの画像データ転送が終了するとＣＰＵ割り込みが発生し、その割り込み発生により、各ディスクリプタに設定されているライン数を加算することにより転送終了タイミング、及びライン数を検出しながら一次記憶手段としての画像メモリ４２に画像の転送を行う。なお、一次記憶部としての画像メモリ４２は、画像（ビデオ）入力ＤＭＡＣ４１により転送される入力画像のバッファ領域の外に、下記のように、符号転送ＤＭＡＣ４６により圧縮伸長器４６を通して転送されるデータ圧縮された変換データの格納領域としても用いる。
【００２１】
上記のようにして、画像（ビデオ）入力ＤＭＡＣ４１により入力画像を一旦一次記憶部としての画像（半導体）メモリ４２に格納した後、この画像は、二次記憶装置としてのＨＤＤ４８に蓄積するために転送される。本実施例では、入力画像に対して圧縮処理を施し、圧縮後のデータを二次記憶装置に保存する。そのために、画像メモリ４２に保持されている入力画像を画像転送ＤＭＡＣ４４に設定したディスクリプタにより（既知の1画像分のデータ転送ライン数を設定して1ディスクリプタで）圧縮伸長器４６に送り込み、そこで圧縮処理が施される。圧縮処理された後の符号化された変換データ（中間画像データ）は、符号転送ＤＭＡＣ４５に設定したディスクリプタにより画像メモリ４２に設けた変換データを格納するバッファ領域に転送する。圧縮変換後のデータについては、符号転送ＤＭＡＣ４５でカウントした符号量により認識することができる。
この後、画像メモリ４２に設けた圧縮変換データを格納するために確保したバッファ領域に転送されたデータは、ＨＤＤコントローラ４７がメモリ制御部４３と通信を行ってコマンドを受信し、バッファ領域からさらにＨＤＤ４８へ転送し、データをそこに保存する。
このとき、画像メモリ４２に確保したバッファメモリに圧縮後転送されたデータ量によりＨＤＤ４８の記憶領域の確保を行う。
【００２２】
次に、画像入力からＨＤＤ４８へ保存するまでの上記した一連のデータ転送動作を制御する手段に係わる実施例を詳細に説明する。
先ず、一次記憶部への転送に係わる実施例について説明する。
一次記憶部への転送は、二次記憶装置であるＨＤＤ４８に蓄積する前に行われる圧縮処理によりデータ変換された画像データを一時的に保持するために確保したバッファ領域への転送である。確保するバッファ領域のサイズは、基本的には任意に設定することが可能で、例えば、1画像分の領域を取得し、ＨＤＤ４８に確保された連続領域に対して連続転送することも可能であるし、分割転送するための領域を取得し、ＨＤＤ４８に確保された分断領域に対して転送することも可能である。
こうした一次記憶部（画像メモリ４２）の記憶領域の取得および開放を管理するために、以下に示す「画像ＩＤテーブル」「ディスクリプタテーブル」「ブロックテーブル」の３つの管理テーブルを用いる。
まず、「画像ＩＤテーブル」について説明する。
図７は、メモリ制御部４３によって画像メモリ４２の記憶領域の取得および解放を行うために必要な画像ＩＤテーブルの構成例を示すメモリマップ図である。
この画像ＩＤテーブルは、0〜nからなるテーブルＩＤの下に、1テーブルを画像ＩＤと、開始ディスクリプタテーブルＩＤとによって構成する。
画像ＩＤは、画像メモリ（一次記憶部）４２，ＨＤＤ（二次記憶装置）４８でユニーク（特有）なＩＤ（識別情報）であり、各記憶部の異なる画像データで重複したＩＤが存在してはならない。また、画像ＩＤは、0（NULL）を画像ＩＤテーブル上の初期状態とするために、システム予約ＩＤとして使用できないものとする。
開始ディスクリプタテーブルＩＤは、最初に取得したディスクリプタテーブルのＩＤを示す。画像ＩＤテーブルの初期状態は、画像ＩＤをNULLに、開始ディスクリプタテーブルＩＤをEOD（End Of Discriptor）にしておく。
【００２３】
次に、「ディスクリプタテーブル」について説明する。
図８は、メモリ制御部４３によって画像メモリ４２の記憶領域の取得，解放を行うために必要なディスクリプタテーブルの構成例を示すメモリマップ図である。
このディスクリプタテーブルは、“0〜n”からなるテーブルＩＤの下に、1テーブルを開始ブロックＩＤと、使用ブロック数と、次ディスクリプタテーブルＩＤとによって構成する。
開始ブロックＩＤは、最初に取得したブロックのＩＤを示す。
使用ブロック数は、開始ブロックから連続的に取得しているブロック数を意味する。
次ディスクリプタテーブルＩＤは、ＨＤＤ４８の記憶領域を連続的に取得（使用）できない場合に、チェーン構造にして、その記憶領域を不連続的に取得して管理可能にするためのものである。
開始ブロックＩＤとして、EOB（End Of Block）コードが挿入されていると、未使用ディスクリプタと判定できる。
次ディスクリプタテーブルＩＤは、EOT（End Of Table）コードが挿入されている場合、チェーンの最後と判定できる。
ディスクリプタテーブルの初期状態も同様に、開始ブロックをEOBに、使用ブロック数を“0”に、そして次ディスクリプタテーブルＩＤをEOTにしておく。
【００２４】
次に、「ブロックテーブル」について説明する。
図９は、メモリ制御部４３によって画像メモリ４２の蓄積領域の取得，解放を行うために必要なブロックテーブルの構成例を示すメモリマップ図である。
このブロックテーブルは、ＨＤＤ４８の蓄積領域を固定長サイズに細分化し（細分化した単位領域を、以降「ブロック」と呼ぶ）、1ブロックの使用状態を1ビットで表し、“0”を未使用ブロック、“1”を使用ブロックと定義し、圧縮画像記憶領域の使用状態を管理する。
例えば、図４の画像メモリ４２として、上記したように、データ圧縮用の9MBを記憶領域にした場合に固定長のブロックサイズを4KBとした場合、
9216（KB）÷4（KB）＝2304（ブロック）
となり、1ブロックは1ビットなので2304ビットのビットテーブルが必要になる。ブロックテーブルの初期状態は全て“0”（未使用状態）にしておく。
また、1画像データにつき最小で1画像ＩＤテーブル＋1ディスクリプタテーブル＋1ブロックになるため、画像ＩＤテーブルとディスクリプタテーブルの各テーブルの最大数はブロック数分確保しておけば良いことになる。
【００２５】
ここで、上記した「画像ＩＤテーブル」「ディスクリプタテーブル」「ブロックテーブル」により管理された画像メモリ４２の記憶領域において、連続した領域、分断された領域を確保し、一次的に入力画像データ（圧縮後の変換データを含む）を格納するための記憶領域を取得する処理に係わる実施例を示す。
画像メモリ４２へのデータ記憶領域を連続して取得するか、不連続で（分断して）取得しても良いかの設定は、操作部７よりキー操作により設定することが可能である。
図１０〜１２は、連続／分断の設定に従いメモリ制御部４３が実行する画像メモリ４２の記憶領域の取得処理に係わるフローチャートを示す。次に、図１０〜１２を参照して、本実施例を説明する。
記憶領域の取得要求が発生すると、本フローが開始され、先ず、入力値に画像ＩＤと、取得するブロックの連続性を指示する連続ブロック数と、該連続ブロック数を複数取得指示可能にするディスクリプタテーブル個数が必要なため、この入力値を示すパラメータに異常がないか評価する（Ｓ１００２）。入力値を示すパラメータに異常があれば（Ｓ１００２-NO）、“入力パラメータ異常”を返し（Ｓ１００３）、処理を抜ける。
次いで、今回の保存対象画像に対する処理フローの始めに、画像ＩＤテーブル取得処理時に必要なテーブルＩＤカウンタ（画像ＩＤテーブルを指示するカウンタ）と取得済ブロックテーブルカウンタの変数を“0”とする、初期化を行い（Ｓ１００４）、画像ＩＤテーブル取得を試みる（Ｓ１００５）。
画像ＩＤテーブル取得は、画像ＩＤがNULL値になっているテーブルを画像ＩＤテーブルの先頭からループ検索する。ループ検索でテーブルＩＤカウンタが最終テーブルＩＤ値になった場合には、全て使用されているため、テーブルＩＤカウントがFULLであるか否かをチェックし（Ｓ１００６）、FULLである場合、画像ＩＤテーブル取得不能と判定し、“画像ＩＤテーブルFULL”であるを返す、異常処理を行い（Ｓ１００７）、処理を抜ける。
ステップＳ１００６でテーブルＩＤカウントがFULLではない（即ち画像ＩＤが存在した）場合は、テーブルＩＤカウントがNULL値になり、つまり空き画像ＩＤテーブルが存在する（Ｓ１００８-YES）まで、テーブルＩＤカウンタを加算し（Ｓ１００９）、画像ＩＤテーブルをループ検索する。この結果、空き画像ＩＤテーブルが存在した場合は（Ｓ１００８-YES）、対象画像ＩＤテーブルの画像ＩＤに要求画像ＩＤを設定する（Ｓ１０１０）。
【００２６】
次に、ディスクリプタテーブル取得を試みる。最初にディスクリプタ取得処理に必要なテーブルＩＤカウンタ（ディスクリプタテーブルを指示するカウンタ）の変数を“0”とし、前ディスクリプタテーブルＩＤ（変数）をEODにして、初期化を行う（Ｓ１０１２）。
ディスクリプタテーブルの取得は、開始ブロックがEOBになっているテーブルをディスクリプタテーブルの先頭からループ検索する。ループ検索でテーブルＩＤカウンタが最終テーブルＩＤ値になった場合には、全て使用されているため、テーブルＩＤカウントがFULLであるか否かをチェックし（Ｓ１０１３）、FULLである場合、ディスクリプタテーブル取得不能と判定し、“ディスクリプタテーブルFULL”であるを返し、異常処理を行い（Ｓ１０１４）、処理を抜ける。
ステップＳ１０１３でテーブルＩＤカウントがFULLではない（即ちディスクリプタテーブルＩＤが存在した）場合は、開始ブロックがEOBになり、つまり空きディスクリプタテーブルが存在する（Ｓ１０１５-YES）まで、テーブルＩＤカウンタを加算し（Ｓ１０１６）、ディスクリプタテーブルをループ検索する。
この結果、空きディスクリプタテーブルが存在した場合（Ｓ１０１５-YES）、前ディスクリプタテーブルＩＤがEOTであるか否かにより処理を分け、EOTである場合は（Ｓ１０１７-YES）、最初のディスクリプタテーブルと判定し、取得済の画像ＩＤテーブル（Ｓ１０１０、参照）の開始ディスクリプタテーブルＩＤに検索したディスクリプタテーブルＩＤ（カウンタ値）を設定する（Ｓ１０１８）。他方、前ディスクリプタテーブルＩＤにEOT以外の値が代入されている場合は（Ｓ１０１７-NO）、前ディスクリプタテーブルＩＤに設定されているディスクリプタテーブルの次ディスクリプタテーブルＩＤに検索したディスクリプタテーブルＩＤ（カウンタ値）を設定する（Ｓ１０１９）。
ディスクリプタテーブルを取得できたことで、前ディスクリプタテーブルＩＤ（変数）に前ステップで取得したテーブルＩＤカウンタ（カウンタ値）を設定し、取得済ディスクリプタテーブルカウンタをカウントアップする（Ｓ１０２０）。
【００２７】
最後にブロックテーブル取得を試みる。最初に、ブロック取得処理に必要なブロックＩＤカウンタ、開始ブロックＩＤと未使用ブロックカウンタの変数をそれぞれ“0”にして、初期化を行う（Ｓ１０２２）。
ブロックテーブルの取得は“0”（未使用）になっているビットをブロックテーブルの先頭からループ検索する。ループ検索でブロックＩＤカウンタが最終ブロックＩＤ値になった場合、全て使用されているため、テーブルＩＤカウントがFULLであるか否かをチェックし（Ｓ１０２３）、FULLである場合、ブロック取得不能と判定し、“ブロックテーブルFULL”を返し（Ｓ１０２４）、処理を抜ける。
対象ブロックが存在し（Ｓ１０２３-NO）、ブロックテーブルを検索した結果、その対象ブロックがビットが“1”（使用）の場合は（Ｓ１０２５-YES）、連続ブロック数が途切れるので、未使用ブロックカウンタをリセットし（Ｓ１０２６）、ブロックＩＤカウンタを加算させ（Ｓ１０２７）、ステップＳ１０２３へ戻り、次のブロックの検索を続ける。
検索の結果、空きブロックが存在した場合は（Ｓ１０２５-NO）、未使用ブロックカウンタが初期化されているか、即ち“0”であるか判定し（Ｓ１０２８）、“0”である場合には、連続ブロックの最初であるから、連続取得の開始ブロックと判断し、開始ブロックＩＤにブロックＩＤカウンタ値（現対象ブロックを示す）を保持させる（Ｓ１０２９）。その後、未使用ブロックカウンタを1加算する（Ｓ１０３０）。なお、対象ブロックが連続取得の開始ブロックではない場合（Ｓ１０２８-NO）、ステップＳ１０２９を飛ばす。
未使用ブロックカウンタを加算した後、このカウンタ値が連続ブロック数として設定された値に達したか、即ち要求されたブロック数分取得できたかを判定し、取得していない場合は（Ｓ１０３１-NO）、ブロックＩＤカウンタを加算させ（Ｓ１０２７）、ステップＳ１０２３へ戻り、次ブロックの検索を続ける。
【００２８】
要求されたブロック数分取得できた場合は（Ｓ１０３１-YES）、現在取得中のディスクリプタテーブルの開始ブロックに開始ブロックＩＤと使用ブロック数には未使用ブロックカウンタのカウント値を設定する。また、ブロックテーブルの今回取得分のブロックに対し、使用を指示する“1”を設定する（Ｓ１０３２）。
この後、入力パラメータ中に設定されている要求ディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタのカウント値を比較し（Ｓ１０３３）、一致した場合は取得完了と判断して、“取得完了”を返し（Ｓ１０３４）、処理を抜ける。
他方、要求ディスクリプタテーブル個数と取得数が一致しない場合は、次ディスクリプタテーブルを取得するため、ステップＳ１０１２に戻し、ディスクリプタテーブルの取得から始まる記憶領域（ブロック）の取得シーケンスを行う。
【００２９】
次いで、一次記憶部の解放処理について説明する。上記では、圧縮後の画像データを一次的に格納するために転送される画像データの記憶領域を取得する処理を説明したが、一次記憶部（画像メモリ４２）に確保された領域はバッファとして機能するものであり、次の転送先である二次記憶装置への転送を終えると、取得していた記憶領域を開放し、次データのためのバッファ領域として使用できるようにする。このための処理手順を示すものである。
図１３，１４はメモリ制御部４３が実行する画像メモリ４２の記憶領域の解放処理に係わるフローチャートを示す。
図１３，１４に示すように、記憶領域の開放要求が発生すると、本フローが開始され、先ず、入力値として画像ＩＤが必要なため、この入力値を示すパラメータに異常がないか評価する（Ｓ１３０２）。入力値を示すパラメータに異常があれば（Ｓ１３０２-NO）、“入力パラメータ異常”を返し（Ｓ１３０３）、処理を抜ける。
今回の対象画像に対する開放処理の始めに、画像ＩＤテーブル検索処理時に必要なテーブルＩＤカウンタ（画像ＩＤテーブルを指示するカウンタ）の変数を“0”とする、初期化を行い（Ｓ１３０４）、画像ＩＤテーブル検索を試みる（Ｓ１３０５）。
画像ＩＤテーブルの検索は、画像ＩＤテーブルの画像ＩＤが入力パラメータの対象画像ＩＤと一致するまで画像ＩＤテーブルの先頭からループ検索する。ループ検索でテーブルＩＤカウンタが最終テーブルＩＤ値になった場合には、検索できなかったため、テーブルＩＤカウントがFULLであるか否かをチェックし（Ｓ１３０６）、FULLである場合、該当する画像ＩＤテーブル取得不能と判定し、“該当画像ＩＤテーブルなし”を返す終了処理を行い（Ｓ１３０７）、処理を抜ける。
ステップＳ１３０６でテーブルＩＤカウントがFULLではない（即ち検索画像が存在する）場合は、テーブルＩＤカウントが対象画像ＩＤと一致する値になる（Ｓ１３０８-YES）まで、テーブルＩＤカウンタを加算し（Ｓ１３０９）、画像ＩＤテーブルをループ検索する。この結果、対象画像ＩＤと一致する画像ＩＤテーブルが存在した場合は（Ｓ１３０８-YES）、ディスクリプタテーブルの解放、ブロックテーブルの解放を試みるために、次ステップに移行させる。
【００３０】
ディスクリプタテーブル解放では、検索した画像ＩＤテーブルの開始ディスクリプタテーブルＩＤをもとに解放対象の画像ＩＤが使用している最終ディスクリプタテーブルを検索していく。最終ディスクリプタはディスクリプタテーブルの次ディスクリプタテーブルＩＤがEOTになっていることで判定できる。ディスクリプタテーブルの解放順はチェーン構造（図８、参照）上、最後のテーブルから解放するようにしなければならない。
そこで、まず、画像ＩＤテーブルに入力されている開始ディスクリプタテーブルＩＤをディスクリプタテーブルＩＤカウンタに、前ディスクリプタテーブルＩＤをEOTに設定する初期化を行う（Ｓ１３１１）。ディスクリプタテーブルＩＤカウンタからディスクリプタテーブルをループ検索する。ディスクリプタテーブルＩＤカウンタが最終テーブルＩＤ値（FULL）になっても、目的のテーブル（下記のＳ１３１４においてチェックする）が検索できない場合は（Ｓ１３１２-YES）、ディスクリプタ管理テーブルに何らかの異常が生じていると判定し、“ディスクリプタテーブル異常”を返し（Ｓ１３１３）、処理を抜ける。
ディスクリプタテーブルを検索した結果、テーブルＩＤカウンタ値のＩＤを持つディスクリプタテーブルに記載した次ディスクリプタテーブルＩＤがEOT以外の場合（Ｓ１３１４-NO）、前ディスクリプタテーブルＩＤとして現テーブルＩＤカウンタが示す値を設定してから、テーブルＩＤカウンタに次ディスクリプタテーブルＩＤを再設定し（Ｓ１３１５）、ステップＳ１３１２→Ｓ１３１４へ戻す。
【００３１】
ステップＳ１３１４で、テーブルＩＤカウンタ値のＩＤを持つディスクリプタテーブルに記載した次ディスクリプタテーブルＩＤがEOTの場合は、前ディスクリプタテーブルＩＤのディスクリプタテーブルに記載した次ディスクリプタテーブルＩＤをEOTに設定する（Ｓ１３１６）。
解放対象ディスクリプタテーブルＩＤが上記のステップで決定されるので、ここで、決定したブロックテーブルの解放を実行する（Ｓ１３１７）。ブロックの解放は、開放対象ディスクリプタテーブル中に示されている開始ブロックＩＤ及び使用ブロック数から開始ブロックと使用ブロック数分のビットを未使用を示す“0”に設定することにより実行する。
これで、対象ディスクリプタテーブルの開放処理が完了する。ただし、1テーブルづつ処理するので、チェーンで複数テーブルがつながっている場合には、次のテーブルの開放処理を行う必要があり、そのために前ディスクリプタテーブルＩＤを参照し、EOTが設定されているかをチェックする（Ｓ１３１８）。  チェックの結果、EOTが設定されている場合は、対象画像全てのディスクリプタテーブルとブロックテーブルの解放が完了したと判定し処理を抜ける（Ｓ１３１８-YES）。他方、EOTが設定されていない場合は、次のテーブルの開放を行うために、テーブルＩＤカウンタに前ディスクリプタテーブルＩＤを設定して（Ｓ１３１９）、ステップＳ１３１２に戻し、解放処理を行い、EOTが設定されているテーブルに至るまで最後のテーブルから順に解放処理を継続する。
【００３２】
上記で一次記憶部への転送操作の一環として行う記憶領域の取得・開放処理に関して説明したが、次に、二次記憶装置（ＨＤＤ４８）における記憶領域の取得・開放処理について説明する。
ＨＤＤ４８では、画像メモリ４２に確保したデータ変換用のバッファ領域に圧縮後転送されたデータをさらにＨＤＤ４８に転送、データ蓄積を行う。このために、ＨＤＤ４８に確保される記憶領域は、画像メモリ４２に確保されるバッファ領域との関係により決められる。例えば、1画像分のバッファ領域を取得し、ＨＤＤ４８に連続領域を確保し、連続転送することを可能としたり、分割分のバッファ領域を取得し、ＨＤＤ４８の分断領域に分割転送することを可能とする。
二次記憶装置の記憶領域の取得、解放処理は、一次記憶部の取得、解放処理におけると共通の構造に従い実施し得る。即ち図７〜９により示したと同様のメモリマップによるデータ構造を用いる。従って、図７〜９に関する上記説明を参照して、ここでは説明を省略する。
ただし、ブロックテーブルは一次記憶部に比べ記憶領域の容量が大きいため固定長サイズにブロック化する際の単位を、論理アドレス上連続する複数のセクタ（ディスク状の記憶媒体における記憶単位を「セクタ」と言い、セクタ単位でデータの書き込み・読み出しが行われる）の固まりで管理する。
【００３３】
次の実施例は、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかによって、それぞれに適応した転送を行う転送制御に係わる。この実施例において、上記転送制御手段は、単一の転送要求を受信した際に、圧縮された一画像分の画像データの領域を一次記憶部にバッファ領域として確保し、二次記憶装置への転送を一括して行い、また、この一括転送中に他の転送要求を受信した際に、一画像の一部分に当たる所定量の領域を一次記憶部にバッファ領域として確保し、二次記憶装置への転送を分割して行う。
図１５は、画像データの入力時における転送要求、及び二次記憶装置に保存された画像データの読み出し時における転送要求、それぞれに応じて、分割（複数回）／一括（一回）いずれかの転送操作を選択する本実施例の動作フローを示す。図１５を参照し本例の動作を説明すると、操作部７の設定に応じて、データの入出力を行う際、システム制御部１がメモリ制御部４３に対しデータの転送要求を行い、その要求に従ってメモリ制御部４３がその画像データの転送処理を開始するが、受信した要求の転送処理前もしくは転送処理中に、さらにデータの転送要求がある場合、即ち複数の転送処理要求を受信する場合がある。ここでは、複数の転送要求があったか否かにより処理を分岐するので、先ず、複数の転送要求を受信したか否かをチェックする（Ｓ１５０１）。
【００３４】
ここで、複数の転送要求を受信した場合は（Ｓ１５０１-YES）、転送対象となる一画像を複数回に分割して画像メモリ４２（一次記憶部）のバッファ領域を通してＨＤＤ４８（二次記憶装置）へ分割データ転送を行う（Ｓ１５０２）。
複数の転送要求を受信しなかった場合は（Ｓ１５０１-NO）、転送対象となる一画像を一回のデータ転送で画像メモリ４２のバッファ領域を通してＨＤＤ４８へ一括して転送する（Ｓ１５０２）。
いずれの転送操作を行ったときも、データ転送終了まで複数のデータ転送要求の受信がないか、即ち転送処理を実行中にも続けて新たな転送要求が受信されたかを所定のタイミングでチェックをするためにデータ転送が終了しているか否かを確認し（Ｓ１５０４）、データ転送が終了していない場合は（Ｓ１５０４-NO）、複数の転送要求を受信しているかをチェックするステップＳ１５０１に戻し、再びデータ転送操作の選択を行う。他方、ステップＳ１５０４でデータ転送が終了している場合は（Ｓ１５０４-YES）、この処理を抜ける。
【００３５】
ここで、上記の動作フロー（図１５）に示した、複数のデータ転送要求があるか否かにより、選択される分割／一括の各転送操作による転送処理に係わる実施例を示す。
これらの処理は、画像メモリ４２及びＨＤＤ４８への画像転送の際に行われる各記憶手段における記憶領域の取得及び開放処理に、上記した取得・開放処理手段を用い、入力画像に対してデータ圧縮（データ変換）を施した後、圧縮処理後の画像データを一次記憶部（画像メモリ４２）のバッファ領域を通して二次記憶装置（ＨＤＤ４８）に保存する一連の処理を行う。
上記した取得・開放処理手段によれば、転送先の記憶領域を任意の容量で取得可能となるので、画像メモリ４２→ＨＤＤ４８のデータ転送を分割／一括それぞれの動作で行うことが可能になる。一画像を分割して転送する場合は、画像メモリ４２にバッファ領域として固定容量の記憶領域を確保してから、圧縮伸張器４６を通し圧縮変換後のデータをこのバッファ領域に格納し、次に圧縮後のデータサイズ分の容量（最大値は固定容量）でＨＤＤ４８に記憶領域を確保し、バッファ領域からＨＤＤ４８に圧縮後のデータを転送する、という操作を繰り返すことで分割転送ができる。こうした転送処理を行うにあたり、一括転送の際に連続した記憶領域を確保することにより、或いは、分割転送の際に取得する容量を適正化することにより、画像メモリ４２及びＨＤＤ４８の効率的な利用を図ることが可能になる。
【００３６】
以下に、一画像のメモリ４２→ＨＤＤ４８のデータ転送を一括して行う場合と、分割して行う場合、それぞれの転送制御に係わる実施例を示す。
図１６は、画像メモリ４２を経由するＨＤＤ４８へのデータ保存をそれぞれ一回の転送操作で行う一括転送の制御フローを示す。
図１６を参照して動作を説明すると、まず、メモリ制御部４３はシステム制御部１からの指示に従い、データ圧縮後の一画像分のデータ量が全て保持可能な容量を持つバッファ領域を画像メモリ４２に確保する（Ｓ１６０１）。このとき、圧縮伸長器４６の特性によりデータ圧縮前の容量を越えてしまう可能性がある時は、その分も考慮して領域を確保する必要がある。
次に、圧縮伸長器４６を用いデータ圧縮を行い（Ｓ１６０２）、圧縮した一画像分の画像データをステップＳ１６０１で確保した画像メモリ４２のバッファ領域に格納する（Ｓ１６０３）。このときのデータの転送処理動作について述べると、本実施例では、先ず、画像メモリ４２に保持されている入力画像を画像転送ＤＭＡＣ４４に設定したディスクリプタにより圧縮伸長器４６に送り、そこで圧縮処理を施す。次いで、圧縮伸長器４６により圧縮処理された後の符号化された変換データを符号転送ＤＭＡＣ４５に設定したディスクリプタにより画像メモリ４２に設けた変換データを格納するバッファ領域に転送する。なお、ディスクリプタによるＤＭＡ転送については、図６を参照して説明したデータ転送手段におけると同様に実施することが可能である。
バッファ領域への変換データの格納完了後、ＨＤＤコントローラ４７がメモリ制御部４３からのコマンドに従い、ＨＤＤ４８の記憶領域にこの変換データ分の容量を確保する（Ｓ１６０４）。この場合、バッファ領域に保持された一画像分の変換データ量は圧縮処理時にカウントされ、既知であるから、この量を一回の転送操作により転送先であるＨＤＤ４に確保すべき容量として設定することにより、記憶領域を過不足無く確保することができる。ＨＤＤ４８への転送も一回の操作よって転送を完了させるので、ＨＤＤ４８に取得する記憶領域は連続領域で確保することになり、操作部７からの設定によりその指示を行う。
ＨＤＤ４８に連続領域を確保した後、画像メモリ４２のバッファ領域のデータをＨＤＤ４８の確保した記憶領域に転送する（Ｓ１６０５）。転送終了後、画像メモリ４２に確保したバッファ領域を解放し（Ｓ１６０６）、フローを終了させる。
【００３７】
図１７は、画像メモリ４２を経由するＨＤＤ４８への一画像データの保存を複数回の転送操作で行う分割転送の制御フローを示す。
図１７を参照して動作を説明すると、まず、データ圧縮後の一画像データを分割格納するバッファ領域として固定容量を画像メモリ４２に確保する（Ｓ１７０１）。このときに確保する画像メモリ４２のバッファ領域は、予め使用状況によって決めることができる適当な分割データ量（分割数）となるように一画像を分割転送するデータ量に相当する容量を確保するが、固定容量で確保するため、圧縮変換後のデータサイズと関係無く決められる。
この後、圧縮伸長器４６によりデータ圧縮を行い（Ｓ１７０２）、圧縮した画像データをステップＳ１７０１で確保した画像メモリ４２の固定容量のバッファ領域に格納する（Ｓ１７０３）。
このとき、確保した固定容量のバッファ領域は、一画像を複数回で転送することを前提としている、即ち固定容量分だけでデータ圧縮が完了しない場合があるので、圧縮伸長器４６の終了応答の有無によりループ処理を繰り返すか否か判断し、処理手順を変える必要がある。そのために、まず画像メモリ４２に確保した固定容量のバッファ領域中に一時格納された変換データ量分に相当する容量でＨＤＤ４８に領域を確保し（Ｓ１７０４）、確保した領域へバッファ領域の変換データを転送する（Ｓ１７０５）。即ち、バッファ領域へ分割分の変換データの格納を完了した後、ＨＤＤコントローラ４７がメモリ制御部４３からのコマンドに従い、ＨＤＤ４８の記憶領域にこの変換データ分の容量を確保し、転送を行う。このときのデータの転送動作は、基本的に上記実施例（図１６）と同様に実行することが可能である。
この転送が完了した後、圧縮伸長器４６の終了応答の有無により、データ圧縮の完了／未完了を判断するために、終了応答の有無を確認して（Ｓ１７０６）、圧縮未完了の場合は（Ｓ１７０６-NO）、データ圧縮を完了させるまで、ステップＳ１７０２の圧縮処理からのループ処理を繰り返す。ここで、未完了の圧縮処理を継続する場合、データ圧縮した次変換データは、前に使用したと同じ固定容量のバッファ領域に上書きされる。
転送終了後、画像メモリ４２に確保したバッファ領域を解放し（Ｓ１７０７）、フローを終了させる。
この実施例において、ＨＤＤ４８へのデータ転送速度からデータ転送能力を推測することが可能であるから、推測したデータ転送能力により圧縮伸長器４６、画像メモリ４２を選択すること、或いは一次記憶部（画像メモリ４２）のバッファ領域や二次記憶装置（ＨＤＤ４８）の保存領域の占有率を選択することにより使用効率を向上させることが可能となる。
【００３８】
上記のように、一次記憶部及び二次記憶装置の相互間で行われるデータ転送において、発生する転送要求が単一であるか、複数であるかに応じて、転送操作回数を複数回に分割するか、一括するかを選択するようにしたので、複数の場合には、複数画像の転送処理を時分割に並行して行うことによって、個々の画像信号の入出力に対する二次記憶装置（ＨＤＤ４８）の占有時間を分散させ、複数の画像信号を並行して効率良く実行させることが可能になる。
さらに、画像入力から一次記憶部（画像メモリ４２）を経由してデータ圧縮後の画像を二次記憶装置へ保存するまでの一連のデータ転送動作を行う際に、二次記憶装置へのデータ転送の容量に応じて、データ変換後のバッファ領域の容量を最適に確保、制御することが可能になり、冗長な記憶領域の占有を防止し、複数の画像の処理を効率的に行うことが可能になり、一次記憶部に接続される入出力手段の構成に応じて、最適な記憶部の制御を実現することができる。
【００３９】
【発明の効果】
本発明により、入出力画像を一次的に格納する一次記憶手段のバッファ領域及び二次記憶手段の相互間で行われる圧縮データの転送において、発生する転送要求が単一であるか、複数であるかに応じて、転送操作回数を複数回に分割するか、一括するかを選択するようにしたので、転送要求が複数発生した場合に、複数画像の転送処理を時分割に並行して実行することにより、個々の画像信号の入出力に対する二次記憶手段（例えばＨＤＤ）の占有時間を分散し、複数の画像信号を並行して効率良く実行させ、最短時間で転送を完了することを可能にする。
また、転送要求が単一である場合に、一次記憶手段のバッファ領域として、二次記憶手段に一画像を一括転送するデータ量に相当する容量を確保するようにしたので、一画像に対する最適な転送動作を可能にする。
また、分割転送の際に、一次記憶手段のバッファ領域とし、二次記憶手段に分割転送するデータ量に相当する容量を確保するようにしたので、複数回の転送操作により一画像に対する転送を実行するときの最適動作を可能にする。
【図面の簡単な説明】
【図１】  本発明の画像処理装置に係わる一実施例としてのデジタル複写機を示す概略構成図である。
【図２】  図１のデジタル複写機における原稿台を上方から見た図である。
【図３】  図１のデジタル複写機における読み取り部のＩＰＵより出力される画像同期信号の様子を示す図である。
【図４】  図１のデジタル複写機における記憶部の構成を示すブロック図である。
【図５】  記憶部の構成要素であるメモリ制御部の内部構成を示すブロック図である。
【図６】  ディスクリプタの形式とディスクリプタによる転送動作を説明するための模式図である。
【図７】  ＨＤＤの記憶領域の取得および解放を行うために必要な画像ＩＤテーブルの構成例を示すメモリマップ図である。
【図８】  ＨＤＤの記憶領域の取得，解放を行うために必要なディスクリプタテーブルの構成例を示すメモリマップ図である。
【図９】  ＨＤＤの蓄積領域の取得，解放を行うために必要なブロックテーブルの構成例を示すメモリマップ図である。
【図１０】  連続／分断の設定に従い実行される記憶領域の取得処理のフローチャート（その１）を示す。
【図１１】  連続／分断の設定に従い実行される記憶領域の取得処理のフローチャート（その２）を示す。
【図１２】  連続／分断の設定に従い実行される記憶領域の取得処理のフローチャート（その３）を示す。
【図１３】  メモリ制御部が実行する記憶領域の解放処理に係わるフローチャート（その１）を示す。
【図１４】  メモリ制御部が実行する記憶領域の解放処理に係わるフローチャート（その２）を示す。
【図１５】  複数のデータ転送要求の受信有無に応じて、分割／一括いずれかの転送操作を選択する転送動作のフローチャートを示す。
【図１６】  画像メモリを経由してＨＤＤへのデータ保存をそれぞれ１回の転送操作で行う場合の制御動作のフローを示す。
【図１７】  画像メモリを経由してＨＤＤへのデータ保存を複数の分割転送により行う場合の制御動作フローを示す。
【符号の説明】
１…システム制御部、            ４…記憶部、
５…セレクタ部、                ７…操作部、
９…ＦＡＸ部、                ２０…読み取り部、
２１…原稿台、                  ２３…ＣＣＤ、
２４…画像処理部（ＩＰＵ：イメージプロセッシングユニット）、
２５…スキャナ制御部、          ３０…像形成部、
３９…プロッタ制御部、          ４１…画像入出力ＤＭＡＣ、
４２…画像メモリ、              ４３…メモリ制御部、
４４…画像転送ＤＭＡＣ、        ４５…符号転送ＤＭＡＣ、
４６…圧縮伸長器、              ４７…ＨＤＤコントローラ、
４８…ＨＤＤ（ハードディスクドライブ）。
【図１】
0004148680.tif 000002
【図２】
0004148680.tif 000003
【図３】
0004148680.tif 000004
【図４】
0004148680.tif 000005
【図５】
0004148680.tif 000006
【図６】
0004148680.tif 000007
【図７】
0004148680.tif 000008
【図８】
0004148680.tif 000009
【図９】
0004148680.tif 000010
【図１０】
0004148680.tif 000011
【図１１】
0004148680.tif 000012
【図１２】
0004148680.tif 000013
【図１３】
0004148680.tif 000014
【図１４】
0004148680.tif 000015
【図１５】
0004148680.tif 000016
【図１６】
0004148680.tif 000017
【図１７】
0004148680.tif 000018