(57)【要約】【課題】  画像を記憶する記憶部のリソースの有効利用を図り、生産性を確保する画像処理装置、画像処理プログラムおよび記憶媒体を提供する。【解決手段】  画像データを入力する画像入力手段と、画像データを記憶可能な画像記憶部と、記憶された画像データを出力する画像出力手段と、画像データのデータ形式を該画像出力手段に適したデータ形式に変換するデータ形式変換手段と、データ形式変換手段による変換対象となる画像データを記憶する任意容量のＳ領域を画像記憶部に確保するＳ領域確保手段と、変換後の任意容量の画像データを記憶するＤ領域を画像記憶部に確保するＤ領域確保手段と、Ｓ領域またはＤ領域の少なくとも一方の領域を複数に分割する領域分割手段と、入力された画像データをＳ領域に記憶させる記憶手段と、変換後の画像データをＤ領域に記憶させる変換記憶手段とを有する。【選択図】  図２１
2004220579.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する画像入力手段と、
入力された画像データを記憶可能な画像記憶部と、
前記画像記憶部に記憶された画像データを出力する画像出力手段と、
前記画像出力手段が出力する画像データのデータ形式を該画像出力手段に適したデータ形式に変換するデータ形式変換手段と、
前記データ形式変換手段による変換対象となる画像データを記憶する任意容量のＳＲＣ領域を前記画像記憶部に確保するＳＲＣ領域確保手段と、
変換後の任意容量の画像データを記憶するＤＳＴ領域を前記画像記憶部に確保するＤＳＴ領域確保手段と、
前記ＳＲＣ領域または前記ＤＳＴ領域の少なくとも一方の領域を複数に分割する領域分割手段と、
入力された画像データを前記ＳＲＣ領域に記憶させる記憶手段と、
変換後の画像データを前記ＤＳＴ領域に記憶させる変換記憶手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記画像記憶部に記憶された画像データを記憶可能な別記憶部と、
変換後の画像データを前記別記憶部に転送する転送手段と、
転送される画像データ分の容量を有する転送受容領域を前記別記憶部に確保する転送受容領域確保手段と、
入力された画像データを前記転送受容領域確保手段により確保された前記転送受容領域に記憶させる転送記憶手段と、
前記別記憶部に記憶された画像データを前記画像記憶部に逆転送する逆転送手段と、を有することを特徴とする請求項１記載の画像処理装置。
【請求項３】
外部装置との間でのアクセス制御を行なうアクセス制御手段を具備し、
前記データ形式変換手段は、前記アクセス制御手段によるアクセス制御によって受け付けた変換指示に応じて画像変換を行ない、
前記アクセス制御手段は該変換指示に応じて画像変換した画像を変換指示の発行元に出力することを特徴とする請求項１または２記載の画像処理装置。
【請求項４】
前記画像データは、前記別記憶部を固定長サイズで分割したブロック単位で記憶され、各ブロックが画像の記憶に使用されているかどうかを示すブロックテーブルを有することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記画像データの記憶のために１つ以上連続して取得されたブロックのうちの先頭のブロックに関する情報と、連続するブロックの個数情報とを含むディスクリプタテーブルを有することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記各画像データに一意的に与えられた画像ＩＤと、前記ディスクリプタテーブルとを関連付ける画像ＩＤテーブルを有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
画像データを入力する画像入力手段と、入力された画像データを記憶可能な画像記憶部と、前記画像記憶部に記憶された画像データを出力する画像出力手段と、前記画像記憶部に記憶された画像データを記憶可能な別記憶部とを具備する画像処理装置が備えるコンピュータにインストールされ、このコンピュータに、
前記画像出力手段が出力する画像データのデータ形式を該画像出力手段に適したデータ形式に変換するデータ形式変換機能と、
変換対象となる画像データを記憶する任意容量のＳＲＣ領域を前記画像記憶部に確保するＳＲＣ領域確保機能と、
変換後の任意容量の画像データを記憶するＤＳＴ領域を前記画像記憶部に確保するＤＳＴ領域確保機能と、
前記ＳＲＣ領域または前記ＤＳＴ領域の少なくとも一方の領域を複数に分割する領域分割機能と、
入力された画像データを前記ＳＲＣ領域に記憶させる記憶機能と、
変換後の画像データを前記ＤＳＴ領域に記憶させる変換記憶機能と
を実行させる画像処理プログラム。
【請求項８】
変換後の画像データを前記別記憶部に転送する転送機能と、
転送される画像データ分の容量を有する転送受容領域を前記別記憶部に確保する転送受容領域確保機能と、
入力された画像データを確保された前記転送受容領域に記憶させる転送記憶機能と、
前記別記憶部に記憶された画像データを前記画像記憶部に逆転送する逆転送機能と、
を前記コンピュータに実行させ、
前記別記憶部から逆転送された画像データを記憶可能な前記ＳＲＣ領域を取得し、
逆転送された画像データを、取得された前記ＳＲＣ領域に記憶させる請求項７記載の画像処理プログラム。
【請求項９】
外部装置との間でのアクセス制御を行なうアクセス制御機能を具備し、
前記アクセス制御機能によって受け付けた変換指示に応じて前記データ形式変換機能による画像変換を行ない、
該変換指示に応じて画像変換した画像を変換指示の発行元に出力する請求項７または８記載の画像処理プログラム。
【請求項１０】
コンピュータに読取可能であって、請求項７から９のいずれか１項に記載の画像処理プログラムを記憶する記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理プログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
原稿画像の読み取りや画像の撮影等によって画像を入力する画像入力手段と、入力された画像をデジタル信号に変換した画像データを記憶する半導体メモリと、同様の画像データを記憶するハードディスクドライブ等の大容量の記憶装置と、画像変換（圧縮）処理を行なうＡＳＩＣ（以下ＭＬＢ：Media Link Board）とを有する画像処理装置がある。半導体メモリや記憶装置には、モノクロの画像や、ＣＭＹＫ，ＲＧＢ等のカラー画像が記憶される。
【０００３】
このような画像処理装置には、大容量の記憶装置に記憶した画像データに基づく画像形成を行なう画像形成手段を備えるものがある。画像形成手段を備える画像処理装置としては、例えば、コピー・ファクシミリ・プリンタ等が挙げられる。このような場合、画像入力手段により入力された画像データは、画像出力手段による画像の出力方式に適した方式で蓄積される。
【０００４】
しかしながら、画像出力手段による画像出力方式は、例えば、コピー・ファクシミリ・プリンタ等のように、用途等によって画像出力手段毎に異なっていることがあり、このような場合には画像入力手段により入力された画像データが同一であっても、画像データの蓄積方式は画像出力手段の画像出力方式によって異なることとなる。この結果として、ある画像出力手段に適した方式で蓄積した画像データを、異なる出力方式を有する別の画像出力手段で利用することができず、画像データの汎用性が低くなってしまう。
【０００５】
ところで、画像入力手段から入力された画像データをＭＬＢ等のハードウェアを使用して変換する場合、制御側となるソフトウェア側での処理と実際に画像データを変換するハードウェア側での変換処理との同期を取る必要がある。このため、例えば、ソフトウェアまたはハードウェアのいずれか一方を交互に制御するような単純な制御を行った場合、ハードウェア側で変換処理を行なっている間ソフトウェア側はハードウェア側での変換処理の終了を待たなければならず、逆に、ソフトウェア側で制御処理を行なっている間ハードウェア側はソフトウェア側での制御処理による画像準備の完了を待たなければならず、ソフト・ハードの両方に待ち時間が発生する。
【０００６】
この対策として、バンド単位等の処理単位で同一タイプアクセスが発生する入出力バッファを組み合わせたバッファ・グループを２組構成し、各バッファ・グループが同時期に実行する処理をデータの読み取りまたは書き込みいずれかのみの処理とし、さらに、データバスを書き込み専用と読み出し専用とに分割して、各専用バスにおいてデータの書き込み、読み出しの一方の処理のみを実行する構成とした技術がある（例えば、特許文献１参照）。このような技術によれば、メモリと展開処理装置、入出力装置との間のデータ転送効率およびバス使用効率を高めて処理スループットを改善し、高速処理が可能となる。
【特許文献１】特開２００１−９６８５４公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、近年では、ハードディスク等の２次記憶装置を使用して、データ転送に際しての転送速度の向上やデータ圧縮に際してのデータ圧縮率および処理速度の向上等技術の進歩が著しい。また、画像処理装置における画像入出力手段も多様を極めている。このため、従来のようなメモリ制御では記憶装置やデータ圧縮手段の能力を最大限に利用して生産性を確保することが難しくなっている。
【０００８】
本発明は、このような問題点に鑑み、画像データを記憶する記憶部のリソースの有効利用を図り、生産性を確保する画像処理装置、画像処理プログラムおよびその記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、画像データを入力する画像入力手段と、入力された画像データを記憶可能な画像記憶部と、前記画像記憶部に記憶された画像データを出力する画像出力手段と、前記画像出力手段が出力する画像データのデータ形式を該画像出力手段に適したデータ形式に変換するデータ形式変換手段と、前記データ形式変換手段による変換対象となる画像データを記憶する任意容量のＳＲＣ領域を前記画像記憶部に確保するＳＲＣ領域確保手段と、変換後の任意容量の画像データを記憶するＤＳＴ領域を前記画像記憶部に確保するＤＳＴ領域確保手段と、前記ＳＲＣ領域または前記ＤＳＴ領域の少なくとも一方の領域を複数に分割する領域分割手段と、入力された画像データを前記ＳＲＣ領域に記憶させる記憶手段と、変換後の画像データを前記ＤＳＴ領域に記憶させる変換記憶手段とを有することを特徴とする。
【００１０】
また、上記課題を解決するために、本発明は、前記画像記憶部に記憶された画像データを記憶可能な別記憶部と、変換後の画像データを前記別記憶部に転送する転送手段と、転送される画像データ分の容量を有する転送受容領域を前記別記憶部に確保する転送受容領域確保手段と、入力された画像データを前記転送受容領域確保手段により確保された前記転送受容領域に記憶させる転送記憶手段と、前記別記憶部に記憶された画像データを前記画像記憶部に逆転送する逆転送手段と、を有することを特徴とする。
【００１１】
また、上記課題を解決するために、本発明は、外部装置との間でのアクセス制御を行なうアクセス制御手段を具備し、前記データ形式変換手段は、前記アクセス制御手段によるアクセス制御によって受け付けた変換指示に応じて画像変換を行ない、前記アクセス制御手段は該変換指示に応じて画像変換した画像を変換指示の発行元に出力することを特徴とする。
【００１２】
また、上記課題を解決するために、本発明は、前記画像データは、前記別記憶部を固定長サイズで分割したブロック単位で記憶され、各ブロックが画像の記憶に使用されているかどうかを示すブロックテーブルを有することを特徴とする。
【００１３】
また、上記課題を解決するために、本発明は、前記画像データの記憶のために１つ以上連続して取得されたブロックのうちの先頭のブロックに関する情報と、連続するブロックの個数情報とを含むディスクリプタテーブルを有することを特徴とする。
【００１４】
また、上記課題を解決するために、本発明は、前記各画像データに一意的に与えられた画像ＩＤと、前記ディスクリプタテーブルとを関連付ける画像ＩＤテーブルを有することを特徴とする。
【００１５】
また、上記課題を解決するために、本発明は、画像データを入力する画像入力手段と、入力された画像データを記憶可能な画像記憶部と、前記画像記憶部に記憶された画像データを出力する画像出力手段と、前記画像記憶部に記憶された画像データを記憶可能な別記憶部とを具備する画像処理装置が備えるコンピュータにインストールされ、このコンピュータに、前記画像出力手段が出力する画像データのデータ形式を該画像出力手段に適したデータ形式に変換するデータ形式変換機能と、変換対象となる画像データを記憶する任意容量のＳＲＣ領域を前記画像記憶部に確保するＳＲＣ領域確保機能と、変換後の任意容量の画像データを記憶するＤＳＴ領域を前記画像記憶部に確保するＤＳＴ領域確保機能と、前記ＳＲＣ領域または前記ＤＳＴ領域の少なくとも一方の領域を複数に分割する領域分割機能と、入力された画像データを前記ＳＲＣ領域に記憶させる記憶機能と、変換後の画像データを前記ＤＳＴ領域に記憶させる変換記憶機能とを実行させる。
【００１６】
また、上記課題を解決するために、本発明は、変換後の画像データを前記別記憶部に転送する転送機能と、転送される画像データ分の容量を有する転送受容領域を前記別記憶部に確保する転送受容領域確保機能と、入力された画像データを確保された前記転送受容領域に記憶させる転送記憶機能と、前記別記憶部に記憶された画像データを前記画像記憶部に逆転送する逆転送機能と、を前記コンピュータに実行させ、前記別記憶部から逆転送された画像データを記憶可能な前記ＳＲＣ領域を取得し、逆転送された画像データを、取得された前記ＳＲＣ領域に記憶させる。
【００１７】
また、上記課題を解決するために、本発明は、外部装置との間でのアクセス制御を行なうアクセス制御機能を具備し、前記アクセス制御機能によって受け付けた変換指示に応じて前記データ形式変換機能による画像変換を行ない、該変換指示に応じて画像変換した画像を変換指示の発行元に出力する。
【発明の効果】
【００１８】
本発明によれば、画像データを記憶する記憶部のリソースの有効利用を図り、生産性を確保する画像処理装置、画像処理プログラムおよびその記憶媒体を提供することができる。
【発明を実施するための最良の形態】
【００１９】
本発明の一実施例について図１ないし図２２を参照して説明する。本実施例は、画像処理装置としてデジタル複写機への適用例を示す。
【実施例】
【００２０】
図１は、本実施例のデジタル複写機を概略的に示すブロック図である。本実施例のデジタル複写機１は、原稿の画像を光学的に読み取る画像入力手段としての読取部２、読取部２が読み取った画像に基づく画像データ等を記憶する記憶部３、読取部２が読み取った画像に基づく画像データに基づき画像形成動作を行なう像形成部４、オペレータによる操作を受け付ける操作部５、図示しない外部装置との間でデータの送受信を行なうＦＡＸ部６等を有している。本実施例では、像形成部４、ＦＡＸ部６によって画像出力手段が実現されている。
【００２１】
なお、本実施例では、原稿の画像を光学的に読み取る読取部２によって画像入力手段を実現するようにしたが、これに限るものではなく、例えば、デジタルカメラによって画像入力手段を実現するようにしてもよい。デジタルカメラについては、公知の技術であるため図示および説明を省略する。
【００２２】
また、本実施例では、像形成部４、ＦＡＸ部６によって画像出力手段を実現するようにしたが、これに限るものではなく、例えば、デジタル複写機１に対してＩ／Ｆを介してネットワーク等におけるＰＣ等を通信自在に接続し、読取部２が読み取った画像データをＰＣに転送するような形態においては、ＰＣに対して画像データを転送するインターフェイス等も画像出力手段として機能する。このとき、ネットワークに接続されたＰＣとの間でデータ通信を行なうＩ／Ｆによってアクセス制御手段およびアクセス制御機能が実現される。
【００２３】
読取部２、記憶部３、像形成部４、操作部５およびＦＡＸ部６等の各部は、これらの各部に対して通信自在に接続されたシステム制御部７によって駆動制御される。このシステム制御部７は、読取部２、記憶部３、像形成部４、操作部５およびＦＡＸ部６等の各部との間で通信を行なうことにより、読取部２、記憶部３、像形成部４、操作部５およびＦＡＸ部６等に対して各部の動作のための各種パラメータを設定する。
【００２４】
ここで、操作部５について説明する。操作部５は、オペレータによる操作を受け付け、オペレータに対するインターフェイスとして機能する。特に図示しないが、操作部５は、各種操作キーや、ＬＣＤ（Liquid Crystal Display）等によって構成された表示部等を備えている。表示部には、システム制御部７の制御によって、例えば、デジタル複写機１全体の状態等が表示される。操作部５は、オペレータによる各種操作キーが入力操作された場合に、操作されたキーに応じた信号をシステム制御部７に対して伝達する。
【００２５】
また、デジタル複写機１は、システム制御部７によって駆動制御されて、像形成を行なう画像データのソースを読取部２、記憶部３、ＦＡＸ部６のいずれかから選択するように接続状態を変化させるセレクタ部８を備えている。
【００２６】
次に、読取部２について、読取部２における読み取りプロセスとともに説明する。読取部２は、原稿台９に載置された原稿Ｇを露光する露光ランプ１０と、原稿からの反射光をＣＣＤ（Charge Coupled Device）イメージセンサー（以降、ＣＣＤ）１４に向けて反射させる反射ミラー１１，１２，１３とを備えている。露光ランプ１０および反射ミラー１１，１２，１３は、原稿台９に沿って副走査方向に走行自在な走行体Ｃ１，Ｃ２に搭載されており、露光ランプ１０を発光させながら図示しない駆動モータによって走行体Ｃ１，Ｃ２を原稿台９に沿って走行させることにより原稿Ｇの画像のスキャン露光を行なう。ここで、図２は、原稿台９を上方から見た図である。原稿Ｇは、図２中右上となる基準角部Ｘに原稿Ｇの一の角部を突き当てるようにして原稿台９上に載置される。
【００２７】
また、読取部２は、反射ミラー１１，１２，１３によって反射された原稿Ｇからの反射光が入力されるＣＣＤ１４を備えている。原稿Ｇからの反射光は、図示しないレンズ等によって、ＣＣＤ１４に集光状態で入力される。ＣＣＤ１４は、入力光の光電変換を行ない該入力光の強弱に応じた電気信号を生成し、この電気信号をアナログ画像データとしてＩＰＵ（Image Processing Unit）１５に出力する。ＩＰＵ１５は、ＣＣＤ１４から出力されたアナログ画像データに対してシェーディング補正等の処理を行った後、該アナログ画像データをＡ／Ｄ（Analog／Digital）変換して８ビットのデジタル画像データ（以降、画像データ）を生成する。さらに、ＩＰＵ１５は、画像データに対して、変倍処理、ディザ処理等の画像処理を行なった後、該画像データを画像同期信号と共に像形成部４へ出力する。本実施例では、読取部２による以上の動作を読み取りプロセスとする。
【００２８】
読取部２は、原稿台９に載置された原稿Ｇのサイズや読取部２が備える各部の動作状態等を検出する図示しない各種センサや、図示しない駆動モータ等を駆動制御するスキャナ制御部１６を備えている。スキャナ制御部１６は、上述の読み取りプロセスを実行するために、各種センサからの出力を検知したり、駆動モータを駆動制御したりする。また、スキャナ制御部１６は、ＩＰＵ１５に対して、読み取りプロセスに際して参照される各種パラメータの設定を行う。
【００２９】
ここで、読取部２のＩＰＵ１５から出力される画像同期信号について図３を参照して説明する。図３中に示すフレームゲート信号（/FGATE）は、副走査方向の画像エリアに対しての画像有効範囲を表す信号である。図３に示すように、ＩＰＵ１５から出力される画像データは、このフレームゲート信号（/FGATE）がローレベル（ローアクティブ）の間において有効とされる。また、フレームゲート信号（/FGATE）は、ライン同期信号（/LSYNC）の立ち下がりのエッジでアサートあるいはネゲートされる。
【００３０】
ライン同期信号（/LSYNC）は、画素同期信号（PCLK）の立ち上がりエッジで所定クロック数だけアサートされる。本実施例では、画素同期信号（PCLK）の信号の立ち上がり後、所定クロック後に主走査方向の画像データが有効とされる。送出する画像データは、画素同期信号（PCLK）の１周期に対して１つである。本実施例では、図２に示す基準角部Ｘを始点として、４００ｄｐｉ相当に分割された画像データを送出する。また、本実施例では、図２に示す基準角部Ｘを先頭とするラスタ形式のデータとして画像データを送出する。なお、画像データの副走査有効範囲は、通常、転写紙サイズによって決まる。
【００３１】
ＩＰＵ１５が出力した原稿Ｇの画像データは、記憶部３によって記憶される。これにより、読取部２で読み取った原稿Ｇの画像を、リピートコピーしたり、回転コピーしたりする等の複写アプリケーションに使用することができる。また、記憶部３は、ＦＡＸ部６からの２値画像データを一時記憶させるバッファメモリとしても機能する。ここで、ＦＡＸ部６は、システム制御部の制御によって、ＩＰＵ１５や記憶部３から出力された画像データを、Ｇ３、Ｇ４等のＦＡＸのデータ転送規定に基づいて２値圧縮し、電話回線へ転送する。また、ＦＡＸ部６は、電話回線を介して外部装置から転送されてきた画像データを、２値の画像データに復元し、像形成部４の書込部へ出力する。
【００３２】
次に、像形成部４について、像形成部４における像形成プロセスとともに説明する。像形成部４は、一定速度で回転する感光体１７、感光体１７表面を一様に帯電する帯電チャージャ１８、読取部２のＩＰＵ１５から出力された画像データに基づいて変調したレーザ光を感光体１７表面に向けて出射する書込部１９を備えており、帯電チャージャ１８によって一様に帯電した感光体１７表面を書込部１９によって露光走査することにより、感光体１７表面に画像データに応じた静電潜像を形成する。
【００３３】
また、像形成部４は、感光体１７表面の静電潜像に対してトナーを供給することで感光体１７表面にトナー像を形成する現像装置２０、感光体１７表面に形成されたトナー像を被転写体に静電転写させる転写チャージャ２１を備えており、給紙トレイ２２に積層保持されている転写紙を被転写体として、感光体１７表面に形成されたトナー像を該転写紙に転写する。
【００３４】
トナー像が転写される転写紙は、像形成プロセスの実行に際して、給紙コロ２３によって給紙トレイ２２から搬送経路Ｐ中に給紙され、図示しないレジストローラにより転写チャージャ２１による転写タイミングにタイミング調整されて転写位置に搬送される。
【００３５】
像形成部４は、転写チャージャ２１によってトナー像が転写された転写紙を感光体１７、表面から分離させる分離チャージャ２５、トナー像が転写された転写紙を加熱することによって転写紙上にトナーを定着させる定着装置２６を備えており、定着装置２６によってトナーが定着された転写紙を排紙ローラ２７を介して排紙トレイ２８に排紙する。
【００３６】
さらに、像形成部４は、静電転写後に感光体表面に残存するトナーを除去するクリーニング装置２９、静電転写後に感光体に残留する帯電電気を除電する除電チャージャ３０を備えており、転写紙が分離された後の感光体表面を清掃および除電を行なう。特に図示しないが、本実施例のクリーニング装置２９は、感光体１７に圧接される圧接部材を具備している。本実施例では、像形成部４による以上の動作を像形成プロセスとする。
【００３７】
加えて、像形成部４は、像形成部４が備える各部の動作状態等を検出する図示しない各種センサや、感光体１７等を駆動制御する図示しないモータ等の、像形成部４が備える各部を駆動制御するプロッタ制御部３１を備えている。プロッタ制御部３１は、以上の像形成プロセスを実行するために、各種センサからの出力を検知したり、モータを駆動制御したりする。
【００３８】
次に、記憶部３について図４を参照して説明する。記憶部３は、画像入出力ＤＭＡＣ３２、メモリ制御部３３、画像転送ＤＭＡＣ３４、符号転送ＤＭＡＣ３５、圧縮伸長器３６、ＨＤＤコントローラ３７、別画像記憶部としてのＨＤＤ３８、画像記憶部としての画像メモリ３９、および、データ形式変換手段およびデータ形式変換機能を実現するＭＬＢ４０を備えている。
【００３９】
メモリ制御部３３は、ＲＯＭやＲＡＭ等のメモリが接続された図示しないＣＰＵ（以降、単にＣＰＵとする）およびロジックで構成されている。メモリ制御部３３のメモリには、後述する記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得、解放動作を行なうための画像処理プログラムが格納されている。このため、本実施例では、メモリ制御部３３のメモリによって記憶媒体が実現されている。
【００４０】
メモリ制御部３３のメモリに記憶されている画像処理プログラムは、可搬性を有するメディアにコンピュータ読み取り可能に記録されたプログラムを図示しないメディア情報読取装置により読み取ることによって格納されている。このため、画像処理プログラムを記憶する可搬性を有するメディアによっても記憶媒体が実現される。可搬性を有するメディアとしては、例えば、ＣＤ−ＲＯＭ等の光情報記憶媒体をはじめとする各種の記録メディアを利用することができ、メディア情報読取装置は記憶媒体として利用した可搬性を有するメディアの種類に応じて適宜選択設定される。
【００４１】
システム制御部７との間で通信自在とされているメモリ制御部３３は、システム制御部７との通信によりコマンドを受信し、受信したコマンドに応じた動作設定を行なう。また、メモリ制御部３３は、記憶部３の状態を知らせるため、システム制御部７に対して、ステータス情報を送信する。
【００４２】
システム制御部７からメモリ制御部３３に送信される動作コマンドとしては、画像入力、画像出力、圧縮、伸長等がある。メモリ制御部３３は、システム制御部７から送信されるコマンドが画像入力あるいは画像出力のコマンドである場合に、画像入出力ＤＭＡＣ３２を駆動制御する。また、メモリ制御部３３は、システム制御部７から送信されるコマンドが圧縮関連のコマンドである場合に、画像転送ＤＭＡＣ３４や符号転送ＤＭＡＣ３５、あるいは、圧縮伸長器３６を駆動制御する。
【００４３】
画像入出力ＤＭＡＣ３２は、図示しないＣＰＵおよびロジックで構成され、メモリ制御部３３との間で通信自在とされている。画像入出力ＤＭＡＣ３２は、メモリ制御部３３との通信によりコマンドを受信し、受信したコマンドに応じた動作設定を行なう。また、画像入出力ＤＭＡＣ３２は、画像入出力ＤＭＡＣ３２の状態を知らせるためステータス情報をメモリ制御部３３に送信する。画像入出力ＤＭＡＣ３２は、画像入力のコマンドを受けた場合、入力画像データを入力画像同期信号にしたがい８画素単位のメモリデータとしてパッキングして、メモリ制御部３３にメモリアクセス信号と共に随時出力する。画像出力のコマンドを受けた場合、メモリ制御部３３からの画像データを出力画像同期信号に同期させて出力する。
【００４４】
画像転送ＤＭＡＣ３４は、図示しないＣＰＵおよびロジックで構成され、メモリ制御部３３との間で通信自在とされている。画像転送ＤＭＡＣ３４は、メモリ制御部３３との通信によりコマンドを受信し、受信したコマンドに応じた動作設定を行なう。また、画像転送ＤＭＡＣ３４は、画像転送ＤＭＡＣ３４の状態を知らせるためステータス情報をメモリ制御部３３に送信する。画像転送ＤＭＡＣ３４は、圧縮のコマンドを受けた場合、メモリ制御部３３にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器３６に転送する。また、画像転送ＤＭＡＣ３４は、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵しており、圧縮伸長器３６へのデータ転送に際しては、画像データが格納される格納場所を示す２２ビットのメモリアドレスを圧縮伸長器に出力する。
【００４５】
符号転送ＤＭＡＣ３５は、図示しないＣＰＵおよびロジックで構成され、メモリ制御部３３との間で通信自在とされている。符号転送ＤＭＡＣ３５は、メモリ制御部３３との通信によりコマンドを受信し、受信したコマンドに応じた動作設定を行なう。また、符号転送ＤＭＡＣ３５は、符号転送ＤＭＡＣ３５の状態を知らせるためステータス情報をメモリ制御部３３に送信する。メモリ制御部３３がシステム制御部７から伸長のコマンドを受けた場合、符号転送ＤＭＡＣ３５は、メモリ制御部３３にメモリアクセス要求信号を出力し、メモリアクセス許可信号がアクティブの場合に画像データを受け取って圧縮伸長器３６に転送する。また、符号転送ＤＭＡＣ３５は、メモリアクセス要求信号に応じてカウントアップするアドレスカウンタを内蔵し、画像データが格納される格納場所を示す２２ビットのメモリアドレスを出力する。符号転送ＤＭＡＣ３５のディスクリプタアクセス動作については後述する。
【００４６】
圧縮伸長器３６は、図示しないＣＰＵおよびロジックで構成され、メモリ制御部３３との間で通信自在とされている。圧縮伸長器３６は、メモリ制御部３３との通信によりコマンドを受信し、受信したコマンドに応じて画像データの圧縮／伸長を行なう。圧縮伸長器３６による画像データの圧縮／伸長は、２値データをＭＨ符号化方法にて処理する。なお、２値データのＭＨ符号化方法については説明を省略する。また、圧縮伸長器３６は、状態を知らせるためのステータス情報をメモリ制御部３３に送信する。
【００４７】
ここで、メモリ制御部３３について図５を参照して詳細に説明する。メモリ制御部３３は、画像入出力ＤＭＡＣ３２、画像転送ＤＭＡＣ３４、符号転送ＤＭＡＣ３５からのメモリアクセス要求信号を調停し、所定の許可先に対してアクセス許可信号を出力するアービタ４１を備えている。アービタ４１は、図示しないリフレッシュ制御回路を内蔵し、リフレッシュ、画像入出力ＤＭＡＣ３２、画像転送ＤＭＡＣ３４、符号転送ＤＭＡＣ３５の優先順位で、許可先にメモリアクセス許可信号をアクティブ出力する。許可先へのメモリアクセス許可信号のアクティブ出力は、メモリアクセスが非アクティブであることを条件として行われる。アービタ４１は、許可先にメモリアクセス許可信号をアクティブ出力するとともに、アドレスセレクタを介して画像メモリのアドレスをセレクトし、アクセス制御回路４２にメモリアクセスのスタートを示すトリガ信号を出力する。
【００４８】
アービタ４１により入出力あるいは転送が許可された画像データのアドレスは、入出力画像アドレスカウンタ４３あるいは転送画像アドレスカウンタ４４によってカウントされ、アドレスセレクタ４５でセレクトされる。なお、差分算出部４６、差分比較部４７、ライン設定部４８および要求マスク４９については説明を省略する。
【００４９】
なお、本実施例では、画像メモリ３９にＤＲＡＭを用いており、このためにリフレッシュが必要となるが、例えば、ＳＲＡＭを用いることによりリフレッシュを不要とすることも可能である。しかしながら、本実施例のようにＤＲＡＭを用いることにより装置の製造コストを低く抑えることができる。
【００５０】
アクセス制御回路４２は、メモリ制御部３３に入力された物理アドレスを、半導体メモリであるＤＲＡＭによって構成される画像メモリ３９に対応させてロウアドレスとカラムアドレスとに分割し、１１ビットのアドレスバスに出力する。また、アクセス制御回路４２は、アービタ４１からのアクセス開始信号にしたがい、ＤＲＡＭ制御信号（ＲＡＳ、ＣＡＳ、ＷＥ）を出力する。
【００５１】
画像メモリ３９は、上述したように、ＤＲＡＭ等の半導体記憶素子で構成され、ＩＰＵ１５から出力される画像データを記憶する。画像メモリ３９の記憶容量の合計は、６００ｄｐｉでＡ３サイズの２値画像データの２面分である１８ＭＢと、データ変換（圧縮）用メモリ９ＭＢとの合計である２７ＭＢである。画像メモリ３９は、この２７ＭＢの他に、画像変換（圧縮）用の専用メモリとして７ＭＢの記憶容量を有している。画像メモリ３９の画像データは、メモリ制御部３３の制御によって読み出されたり書き込まれたりする。画像メモリ３９は、ＭＬＢ４０による変換に供される画像データ（Source：以降、ＳＲＣ）や、ＭＬＢ４０により変換された画像データ（Destination：以降、ＤＳＴ）を記憶する。このため、本実施例では、画像メモリ３９によって記憶手段および記憶機能が実現される。また、本実施例では、画像メモリ３９によって変換記憶手段および変換記憶機能が実現される。
【００５２】
ＭＬＢ４０は、画像メモリ３９に記憶された画像の変換処理を行ない、ＡＳＩＣ等によって実現される。ＭＬＢ４０は、ＭＬＢ４０での変換に用いる画像データを該画像データを記憶するＳＲＣ領域に準備したりＨＤＤ３８へ保存する画像データを転送したり像形成部４およびネットワーク等へ画像データを転送したり等の変換以外の動作を行うソフトウェアと、準備された画像データ（ＳＲＣ）を目的のフォーマットに変換したり変換後の画像データ（ＤＳＴ）が書き込まれるＤＳＴ領域に書き出したりすることを基本動作とするハードウェア（制御ソフトを含む）とによって構成されている。
【００５３】
ＭＬＢ４０による画像変換制御に際しては、図６に示すように、入力画像領域（ＳＲＣ領域）、出力画像領域（ＤＳＴ領域）を画像記憶部である画像メモリ３９に確保する。画像メモリ３９に確保するＳＲＣ領域、ＤＳＴ領域の取得動作については後述する。
【００５４】
また、ＭＬＢ４０による画像変換制御に際しては、ＳＲＣ領域、ＤＳＴ領域のそれぞれがリングバッファとして使用され、そのバッファ分割数分に分割される。ここに、ＭＬＢ４０によって、領域分割手段および領域分割機能が実現される。本実施例では、図６に示すようなＳＲＣ領域を分割ＳＲＣ領域としてＳＲＣ１とＳＲＣ２とに分割し、ＤＳＴ領域を分割ＤＳＴ領域としてＤＳＴ１とＤＳＴ２とに分割することで、ＳＲＣ・ＤＳＴをともに２分割した場合について説明する。
【００５５】
図７は、ソフトウェア２０２と、ハードウェア２０３と、入出力先２０１と、共通パラメータ２０４との関係を示すものである。このうち、入出力先２０１には、ネットワークへの送出と、２次的記憶領域への読み書きと、印刷としての出力の３種類ある。
【００５６】
ソフトウェア２０２とハードウェア２０３との間では、通知のやり取りが行われる。また、ソフトウェア２０２と入出力先２０１とでもやり取りが行われる。例えばソフトウェア２０２は、ネットワークを介して他の機器へ画像データを送出する。または、ソフトウェア２０２は、ハードディスクのような２次的記憶領域に読み書きを行う。あるいは、ソフトウェア２０２は、画像データを印刷する。
【００５７】
共通パラメータ２０４は、ソフトウェア２０２と、ハードウェア２０３との各自の状態を表すステータスが保持されているパラメータである。
【００５８】
この共通パラメータは、ＭＬＢ４０による画像変換制御に際し、ソフトウェア２０２およびハードウェア２０３のいずれも、お互いの状態を表すステータスを参照する。ソフトウェア２０２およびハードウェア２０３のお互いの状態を表すステータスは、本実施例において、図８のステータス２０６に示されるように、以下の６つのステータスが存在する。
【００５９】
Ａ：ＳＥＴ    …実行すべき処理に必要な動作を決める
Ｂ：ＧＥＴ    …実行する処理に必要なリソースを取得する
Ｃ：ＥＸＥ    …処理の実行を開始する
Ｄ：ＲＵＮ    …実行中
Ｅ：ＷＡＩＴ  …ハード側の応答待ち
Ｆ：ＥＮＤ    …終了
これらのステータスは、上述したように、ソフトウェア２０２とハードウェア２０３の各々が有する。このように、ソフトウェア側およびハードウェア側のお互いの状態を表すステータスを共通のパラメータとすることで、お互いの処理結果を参照できるようになっている。
【００６０】
次に、ＭＬＢ４０に設けられる各テーブルについて説明する。ＭＬＢ４０には、画像メモリ３９におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作で用いられる画像ＩＤテーブル、ディスクリプタテーブルおよびブロックテーブルが設けられている。
【００６１】
なお、本実施例では、画像ＩＤテーブル、ディスクリプタテーブルおよびブロックテーブルをＭＬＢ４０に設けるようにしたが、これに限るものではなく、例えば、画像メモリ３９に設けるようにしてもよい。
【００６２】
画像ＩＤテーブル５０は、図９に示すように、画像ＩＤが設定される画像ＩＤエリア５１と、開始ディスクリプタテーブルＩＤが設定される開始ディスクリプタテーブルＩＤエリア５２とによって１単位が構成される単位画像ＩＤテーブル５３を複数備えている。
【００６３】
画像ＩＤエリア５２に設定される画像ＩＤは、画像記憶部である画像メモリ３９と別記憶部であるＨＤＤ３８との間で共通のユニークなＩＤであり、各記憶部３９，３８で、異なった画像で重複したＩＤが存在してはならない。
【００６４】
本実施例において、画像ＩＤは、０（ＮＵＬＬ）を、画像ＩＤエリア５１上の初期状態とするために、０はシステム予約ＩＤとして使用できないものとする。
【００６５】
開始ディスクリプタテーブルＩＤエリア５２に設定される開始ディスクリプタテーブルＩＤは、最初に取得したディスクリプタテーブルＩＤを示す。
【００６６】
画像ＩＤテーブル５０は、画像ＩＤエリア５１にＮＵＬＬが設定され、開始ディスクリプタテーブルＩＤエリア５２にＥＯＤ（End Of Descriptor）が設定された状態を初期状態とする。
【００６７】
ディスクリプタテーブル６０は、図１０に示すように、開始ブロックＩＤが設定される開始ブロックＩＤエリア６１、使用ブロック数が設定される使用ブロック数エリア６２、および、次ディスクリプタテーブルＩＤが設定される次ディスクリプタテーブルＩＤエリア６３によって１単位が構成される単位ディスクリプタテーブル６４を複数備えている。
【００６８】
開始ブロックＩＤエリア６１には、該当するディスクリプタが未使用である場合に、ＥＯＢ（End Of Block）コードが挿入される。
【００６９】
使用ブロック数エリア６２に設定される使用ブロック数は、開始ブロックから連続的に取得しているブロック数を意味している。
【００７０】
次ディスクリプタテーブルＩＤエリア６３に設定される次ディスクリプタテーブルＩＤは、ＳＲＣ領域、ＤＳＴ領域を連続して使用することができない場合に、チェーン構造にして、目的とするＳＲＣ領域、ＤＳＴ領域を非連続的に取得、管理可能にするために設定されている。チェーンの最後である単位ディスクリプタテーブルの次ディスクリプタテーブルＩＤエリア６３には、次ディスクリプタテーブルＩＤとしてＥＯＴ（End Of Table）が設定される。
【００７１】
ディスクリプタテーブル６０は、開始ブロックＩＤエリア６１にＥＯＢが設定され、使用ブロック数エリア６２に０が設定され、次ディスクリプタテーブルＩＤエリア６３にＥＯＴが設定されている状態を初期状態とする。
【００７２】
ブロックテーブル７０は、図１１に示すように、画像メモリ３９を固定長サイズのブロックに細分化（以降、ブロック化とする）し、ブロック化により得られる各ブロックの使用状態を１ビットで表わす。本実施例では、０が設定されているブロックを未使用ブロックとし、１が設定されているブロックを使用ブロックと定義する。
【００７３】
例えば、画像メモリ３９において、データ変換（圧縮）用の９ＭＢ分を目的とするＳＲＣ領域、ＤＳＴ領域とし、固定長サイズ（１ブロック）を４ＫＢとした場合、１ブロックを１ビットに対応させるとすると、以下に示す演算を行なうことにより、２３０４ビットのビットテーブルが必要になる。
【００７４】
９２１６（ＫＢ）÷４（ＫＢ）＝２３０４（ブロック）
ブロックテーブル７０は、全ブロックに０が設定されている状態（未使用状態）を初期状態とする。
【００７５】
なお、１つの画像データは、少なくとも１ブロック使用し、その１ブロックに対して、１つの画像ＩＤテーブルと、１つのディスクリプタテーブルが必要となるので、画像ＩＤテーブル５０とディスクリプタテーブル６０の各テーブルの最大数はブロック数分確保しておけば良い。
【００７６】
各テーブルは、以上のようになっている。ＭＬＢ４０には、さらに画像メモリ３９におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作に際して用いられるテーブルＩＤカウンタや、取得済ディスクリプタテーブルカウンタ等の各種カウンタバッファが確保されている。また、ＭＬＢ４０には、画像メモリ３９におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作に際して用いられるブロックＩＤカウンタ、開始ブロックＩＤおよび未使用ブロックカウンタ等が設けられている。
【００７７】
次に、図４に示したＨＤＤコントローラ３７の説明をする。ＨＤＤコントローラ３７は、図示しないＣＰＵおよびロジックで構成され、ＨＤＤ３８のステータスのリードおよびデータ転送を行なう。ＨＤＤコントローラ３７は、メモリ制御部３３との間で通信自在に設けられており、メモリ制御部３３との通信によりコマンドを受信し、受信したコマンドに応じた動作設定を行なう。また、ＨＤＤコントローラ３７は、ＨＤＤコントローラ３７の状態を知らせるためステータス情報を送信する。
【００７８】
また、ＨＤＤ３８は、ＨＤＤコントローラ３７によって駆動制御される２次記憶装置であり、圧縮伸長器３６から出力される画像データを記憶する。なお、ＨＤＤ３８については公知の技術であるため説明を省略するが、ＨＤＤ３８には、上述した画像ＩＤテーブル５０、ディスクリプタテーブル６０およびブロックテーブル７０がそれぞれ確保されている。ただし、ＨＤＤ３８の記憶領域の容量は１次記憶領域の容量に比べて大きいため、ＨＤＤ３８におけるブロックテーブル７０は、固定長サイズにブロック化する際の単位を論理アドレス上連続的な複数のセクタの固まりで管理している。
【００７９】
このＨＤＤ３８の不良セクタについて説明する。まず、ＨＤＤ３８へのアクセスは物理アドレスでなく論理アドレス方式で行われている。ここで、ＨＤＤ３８は、ＨＤＤ３８へのアクセスに際して、論理アドレスで指定されたセクタが不良セクタである場合に、自動的に代替セクタ領域に割り当て直して、論理アドレス上は連続して使用可能であるかの如くに制御する。しかしながら、不良セクタを代替セクタに割り当てることにより、物理アドレス上では不良セクタアドレスが不良セクタアドレスの前後で非連続になる。これにより、ヘッドシークが発生し、データ転送時間に微妙ではあるが影響を生じさせてしまう。
【００８０】
このため、本実施例のＨＤＤ３８には、後述するＨＤＤ３８におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作に際して参照され、ＨＤＤ３８の代替セクタ処理を抑制させるために、不良セクタが発生したアドレスをアクセス禁止にするために管理しておくためのアクセス禁止セクタテーブルが設けられている。
【００８１】
アクセス禁止セクタテーブル８０は、図１２に示すように、登録セクタをカウントする登録セクタカウンタ８１と、セクタＩＤが設定される複数のセクタＩＤエリア８２を有するアクセス禁止テーブル８３とを備えている。各セクタＩＤエリア８２に０が設定されている状態を、アクセス禁止セクタテーブル８０における初期状態とする。登録セクタカウンタ８１は、セクタＩＤエリア８２における初期状態を０とした場合に、セクタＩＤが０であるセクタがアクセス禁止セクタであると誤検出することを抑制するために設けられており、アクセス禁止テーブル８３に登録されているセクタ個数を示している。本実施例では、この登録セクタカウンタ８１が０になっている場合は、アクセス禁止セクタが登録されていないことを表わすものとする。登録セクタカウンタ８１およびアクセス禁止テーブル８３の内容は、デジタル複写機の電源投入時にＨＤＤ３８から画像メモリ３９の画像変換（圧縮）用の専用メモリへ転送され参照可能になっている。
【００８２】
アクセス禁止セクタテーブル８０は、ＨＤＤ３８等のように大容量の記憶装置に設定されることが好ましい。
【００８３】
なお、アクセス禁止セクタテーブル８０によって管理されるアクセス禁止の単位をブロック単位ではなくセクタ単位で管理することにより、ブロック化に際してセクタ数が変更になったり、ＨＤＤ３８のパーティション変更等により使用可能な先頭セクタアドレスが変更になって先頭ブロックの開始セクタにずれが生じて登録しておいた不良セクタとブロックとの整合性がとれなくなってしまったりする等の不具合の発生を防止することができる。
【００８４】
加えて、ＨＤＤ３８には、画像メモリ３９と同様に、後述するＨＤＤ３８におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作に際して用いられるテーブルＩＤカウンタや、取得済ディスクリプタテーブルカウンタ等の各種カウンタバッファ、ブロックＩＤカウンタ、開始ブロックＩＤおよび未使用ブロックカウンタに加えて、内部ループ処理用のカウンタ（ループカウンタ）が設けられている。
【００８５】
上述した構成により、記憶部３は、画像入力およびデータ蓄積に際して、システム制御部７からの指示に応じて画像データを画像メモリ３９の所定の画像領域に書き込んだり、読み出したりする。画像データの書き込みや読み出しに際しては、画像転送ＤＭＡＣ３４で、画像ライン数がカウントされる。
【００８６】
さらに、画像入出力ＤＭＡＣ３２、画像転送ＤＭＡＣ３４、符号転送ＤＭＡＣ３５には、ディスクリプタを格納するディスクリプタ格納レジスタがそれぞれ確保されている。ここで、図１３は、画像転送ＤＭＡＣ３４、および、画像転送ＤＭＡＣ３４におけるディスクリプタ格納レジスタ９０を示している。画像転送ＤＭＡＣ３４は、画像データの転送を制御するデータ転送制御部３４’を有しており、ディスクリプタ格納レジスタ９０はその記憶領域に確保されている。ディスクリプタ格納レジスタ９０には、次のディスクリプタの格納アドレスを示すチェーン先アドレス、転送するデータの先頭アドレスを示すデータ転送先アドレス、転送するデータのデータ量をライン数で示すデータ転送ライン数、および、設定されたライン数転送が終了した場合にＣＰＵ割り込みを発生するか否かのフォーマット情報を記憶する領域９１，９２，９３，９４が、アドレス毎に確保されている。各ディスクリプタ格納レジスタにおいてチェーン先アドレスを記憶する領域９１には、ＣＰＵによって予めチェーン先アドレスが設定されている。フォーマット情報を記憶する領域９４におけるフォーマット情報の最下位ビットには、設定されたライン数の転送が終了した場合にＣＰＵ割り込みを発生させるか否かを表わすビットが配置されている。本実施例では、フォーマット情報の最下位ビットが１である場合にＣＰＵ割り込みを発生させ、０である場合に要求マスクによってＣＰＵ割り込みをマスクする。
【００８７】
次に、ディスクリプタアクセス動作、および、データ転送動作について、画像転送ＤＭＡＣ３４を例にとって説明する。図１３は、画像転送ＤＭＡＣ３４のディスクリプタアクセス動作、および、データ転送動作を示す説明図である。本実施例では、図１３に示すように、４つに分割された各バンドで設定されているライン数の画像データ２１０を画像転送ＤＭＡＣ３４によって転送する。
【００８８】
図１３には、画像転送ＤＭＡＣ３４と、画像データ２１０と、転送データ２１３と、ディスクリプタＡ２１１と、ディスクリプタＡ２１２とが示されている。画像データ２１０は、分割した４つの画像データからなる。転送データ２１３は、転送される画像データ２１３である。ディスクリプタＡ２１１とディスクリプタＢ２１２は、それぞれチェーン先アドレス９１と、データ転送先アドレス９２と、データ転送ライン数９３と、フォーマット情報２１１とを有する。
【００８９】
１画像中の総転送ライン数を加算する場合、メモリ制御部３３は、システム制御部７からの転送コマンドを受信すると、この転送コマンドを画像転送ＤＭＡＣ３４に送信する。
【００９０】
画像転送ＤＭＡＣ３４は、メモリ制御部３３からの転送コマンドを受信するとＤＭＡを起動し、ディスクリプタ格納レジスタ９０に設定されたチェーン先アドレス（例えば、（ａ））に、ディスクリプタＡ２１１をリードアクセスし、画像メモリ３９中のディスクリプタの内容をディスクリプタ格納レジスタ９０にロードする。
【００９１】
上述したように、ディスクリプタ格納レジスタ９０にロードされる内容は、チェーン先アドレス９１、データ転送先アドレス９２、データ転送ライン数９３、および、フォーマット情報９４の４ワードで構成されているため、１つの画像を４つのバンドに分割した場合、ディスクリプタ格納レジスタ９０にはディスクリプタの４つのフォーマット情報がロードされ、フォーマット情報を記憶する領域９４における各フォーマット情報の最下位ビットには、それぞれ、１、１、１、１が配置されている。ＣＰＵ割り込みは、各バンドの画像データ転送が終了した場合に発生し、このＣＰＵ割り込みの発生により、各ディスクリプタに設定されているライン数を加算する。これにより、転送を終了したライン数である転送終了ライン数を検出することができる。
【００９２】
次に、記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得、解放動作について説明する。記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得、解放動作に際しては、上述した画像ＩＤテーブル５０、ディスクリプタテーブル６０およびブロックテーブル７０の３つの管理テーブルを用いる。
【００９３】
記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得、解放動作のうち、まず、記憶部３におけるＳＲＣ領域の取得動作について図１４ないし図１６を参照して説明する。
【００９４】
なお、図１４ないし図１６が示す処理は、画像ＩＤテーブルの空きを探す処理と、ディスクリプタテーブルからあいているディスクリプタを探して必要ならつなげていく処理と、そのディスプリプタに必要なブロックを取得する処理である。
【００９５】
記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得動作に際しては、まず、ステップＳ１で、画像ＩＤと、取得するブロックの連続性を指示する連続ブロック数と、該連続ブロック数の複数取得指示を可能にするディスクリプタテーブル個数とを含む取得要求データの入力の有無を判断することによりＳＲＣ領域、ＤＳＴ領域の取得要求が発生したと判断するまで待機する。
【００９６】
メモリ制御部３３は、ステップＳ１で、取得要求データの入力によりＳＲＣ領域、ＤＳＴ領域の取得要求が発生したと判断した場合には、ステップＳ２で、入力された取得要求データに含まれる画像ＩＤ、連続ブロック数、ディスクリプタテーブル個数を示すデータの異常の有無を判断する。
【００９７】
ステップＳ２で、メモリ制御部３３は、入力された取得要求データに含まれる画像ＩＤ、連続ブロック数、ディスクリプタテーブル個数を示すデータに異常があると判断した場合、ステップＳ３で入力パラメータ異常を出力し、処理を終了する。
【００９８】
一方、ステップＳ２で、メモリ制御部３３が入力された取得要求データに含まれる画像ＩＤ、連続ブロック数、ディスクリプタテーブル個数を示すデータに異常がないと判断した場合、メモリ制御部３３は、ステップＳ４で、画像ＩＤテーブル取得処理時に必要となるテーブルＩＤカウンタと取得済ディスクリプタテーブルカウンタとを初期化し、ステップＳ５で、単位画像ＩＤテーブル５３の取得を試みるため、画像ＩＤテーブル５０を検索する。
【００９９】
ステップＳ５における検索により、画像ＩＤエリア５１にＮＵＬＬが設定されている単位画像ＩＤテーブル５３を検出する前に、テーブルＩＤカウンタが最終テーブルＩＤ値になった場合、メモリ制御部３３は、全ての単位画像ＩＤテーブル５３が使用されているために単位画像ＩＤテーブル５３が取得不能であると判定し、ステップＳ７で「画像ＩＤテーブルフル」を出力して処理を終了する。
【０１００】
一方、テーブルＩＤカウンタが最終テーブルＩＤ値ではないため、画像ＩＤテーブルがＦＵＬＬではないとメモリ制御部３３が判断している場合、ステップＳ８で、画像ＩＤエリア５１にＮＵＬＬが設定されているかどうか判断する。ステップＳ８で、メモリ制御部３３が、画像ＩＤエリア５１がＮＵＬＬではないと判断した場合、ステップＳ９で、テーブルＩＤカウンタを加算し、再びステップＳ５の処理を実行する。
【０１０１】
ステップＳ８で、メモリ制御部３３が、画像ＩＤエリア５１にＮＵＬＬが設定されていると判断した場合、メモリ制御部３３は、空いている単位画像ＩＤテーブル５３が存在したと判断して、この単位画像ＩＤテーブル５３における画像ＩＤエリア５１に取得要求データに含まれる画像ＩＤをステップＳ１０で設定する。
【０１０２】
続いて、メモリ制御部３３は、ステップＳ１１で、テーブルＩＤカウンタと前ディスクリプタテーブルを初期化する。ここで前ディスクリプタテーブルとは実際のディスクリプタテーブルには存在せず、プログラム上のローカル変数である。その構造は、ディスクリプタテーブル６４（図１０参照）の構造に、さらにディスクリプタテーブルＩＤを加えた構造となっている。以下、前ディスクリプタテーブルのディスクリプタテーブルＩＤを、前ディスクリプタテーブルＩＤと表現する。
【０１０３】
フローチャートの説明に戻る。メモリ制御部３３は、ステップＳ１２で、開始ブロックＩＤエリア６１にＥＯＢが設定されている単位ディスクリプタテーブル６４を、ディスクリプタテーブル６０の先頭から検索する。
【０１０４】
ステップＳ１２におけるディスクリプタの検索の結果、テーブルＩＤカウンタが最終テーブルＩＤ値になった場合、全てのディスクリプタテーブル６０が使用されているので、メモリ制御部３３は、ディスクリプタテーブル取得不能であると判定し、ステップＳ１４で、「ディスクリプタテーブルフル」を出力して処理を終了する。
【０１０５】
一方、ステップＳ１２における検索の結果、ディスクリプタテーブルがＦＵＬＬではない、すなわちテーブルＩＤカウンタが最終テーブルＩＤ値ではない場合、図１５のステップＳ１５に処理は進む。ステップＳ１５で、メモリ制御部３３が、開始ブロックＩＤエリア６１における開始ブロックＩＤがＥＯＢではないと判断した場合、ステップＳ１６で、テーブルＩＤカウンタを加算し、再びステップＳ１２の処理を実行する。
【０１０６】
ステップＳ１５で、メモリ制御部３３が、開始ブロックＩＤがＥＯＢであると判断した場合、空いている単位ディスクリプタテーブル６４が存在したと判断して、ステップＳ１７で、前ディスクリプタテーブルＩＤがＥＯＴであるか否かを判断する。
【０１０７】
ステップＳ１７で、メモリ制御部３３が、前ディスクリプタテーブルＩＤがＥＯＴであると判断した場合、メモリ制御部３３は、ステップＳ１８で、上述した処理で取得済の単位画像ＩＤテーブル５３の開始ディスクリプタテーブルＩＤエリア５２に、テーブルＩＤカウント値を設定する。
【０１０８】
一方、ステップＳ１７で、前ディスクリプタテーブルＩＤがＥＯＴではないと判断した場合、メモリ制御部３３は、ステップＳ１９で、前ディスクリプタテーブルの次ディスクリプタテーブルＩＤエリア６３に、テーブルＩＤカウンタ値を設定する。
【０１０９】
次のステップＳ２０で、メモリ制御部３３は、前ディスクリプタテーブルの次ディスクリプタテーブルＩＤエリア６３に、取得したテーブルＩＤカウンタを設定し、取得済ディスクリプタテーブルカウンタを加算する。
【０１１０】
続いてメモリ制御部３３は、ステップＳ２１で、ブロック取得処理に必要な開始ブロックＩＤおよび未使用ブロックカウンタをそれぞれ初期化する。次に、メモリ制御部３３は、ステップＳ２２で、未使用を意味する０になっているビットをブロックテーブル７０の先頭から検索する。
【０１１１】
ステップＳ２２における検索により、ステップＳ２３で、ブロックテーブルがＦＵＬＬ、すなわちテーブルＩＤカウンタが最終ブロックＩＤ値になった場合、全てのブロックテーブルが使用されているためにブロックテーブル取得不能であると判定し、ステップＳ２４で、「ブロックテーブルフル」を出力して、処理を終了する。
【０１１２】
一方、ステップＳ２３で、ブロックテーブルがＦＵＬＬではないと判断した場合、メモリ制御部３３は、ステップＳ２５で、対象となっているブロックが使用中かどうか判断する。
【０１１３】
対象ブロックのビットが１となっており、使用中であると判断した場合、メモリ制御部３３は、メモリ制御部３３は、ステップＳ２６で未使用ブロックカウンタを初期化し、ステップＳ２７で、ブロックカウンタを加算して、再びステップＳ２２の処理を実行する。
【０１１４】
対象ブロックのビットが１ではなく、未使用と判断した場合、メモリ制御部３３は、ステップＳ２８で、この未使用ブロックカウンタが初期化されているか否かを判断する。
【０１１５】
未使用ブロックが初期化されていないと判断した場合、図１６のステップＳ３０へ処理は進む。未使用ブロックが初期化されているとメモリ制御部３３が判断した場合、この未使用ブロックを、連続取得を開始する開始ブロックであると判断する。そして、ステップＳ２９で、メモリ制御部３３は、開始ブロックＩＤエリア６１にこの未使用ブロックのブロックＩＤカウンタを保持させ、ステップＳ３０で、未使用ブロックカウンタを加算する。
【０１１６】
ステップＳ３０での加算により、未使用ブロックカウンタが要求されたブロック数分取得できたか否かを、ステップＳ３１でメモリ制御部３３が判断する。ステップＳ３１で、要求されたブロック数分取得できていないと判断した場合、メモリ制御部３３は、再びステップＳ２７の処理を実行する。
【０１１７】
ステップＳ３１で、要求されたブロック数分取得できていると判断した場合、メモリ制御部３３は、ステップＳ３２で、単位ディスクリプタテーブル６４の開始ブロックＩＤエリア６１に開始ブロックＩＤを設定し、連続ブロック個数分を使用中に設定する。
【０１１８】
次のステップＳ３３で、取得要求されたディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタにおけるカウンタ値とを比較する。
【０１１９】
その結果、取得要求中のディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタのカウンタ値とが一致した場合、取得完了と判断し、ステップＳ３４で取得完了を出力し、処理を終了する。
【０１２０】
一方、取得要求中のディスクリプタテーブル個数と取得済ディスクリプタテーブルカウンタのカウンタ値とが一致しない場合、メモリ制御部３３は、再びステップＳ１２の処理を実行する。
【０１２１】
これにより、記憶部３におけるＳＲＣ領域、ＤＳＴ領域を取得することが可能となる。
【０１２２】
ところで、上述したように取得したＳＲＣ領域、ＤＳＴ領域は、通常の印刷・スキャナ・ファクシミリ等の動作にも使われるため、画像変換用に使用すると他の処理の生産性に影響を与えかねない。
【０１２３】
このため、本実施例では、画像メモリ３９中に画像変換用の領域を別途用意し、この画像変換用の領域に関しては、他の処理で使用中かどうかだけを管理して、一回のページ単位での変換に動的にＳＲＣ領域のみまたはＤＳＴ領域のみ、もしくはＳＲＣ領域およびＤＳＴ領域として使用することが可能である。
【０１２４】
続いて、記憶部３におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作のうち、記憶部３におけるＳＲＣ領域、ＤＳＴ領域の解放動作について図１７および図１８を参照して説明する。
【０１２５】
ステップＳ５０は、解放要求待ちであり、解放要求があるとステップＳ５１に処理が進む。ステップＳ５１は、解放要求における入力パラメータが正当かどうか判断する。入力パラメータが正当では無い場合、ステップＳ５２で、メモリ制御部３３は、入力パラメータエラー出力を行い、処理を終了する。
【０１２６】
入力パラメータに異常がないと判断した場合、ステップＳ５３でメモリ制御部３３は、単位画像ＩＤテーブル５３の検索に際して必要となるテーブルＩＤカウンタを初期化し、ステップＳ５４で、入力パラメータの画像ＩＤと一致する画像ＩＤが設定された画像ＩＤエリア５１を有する単位画像ＩＤテーブル５３を、画像ＩＤテーブル５０の先頭から検索する。
【０１２７】
ステップＳ５４における検索により、画像ＩＤエリア５１における画像ＩＤが入力パラメータの画像ＩＤと一致したと判断する前にテーブルＩＤカウンタが最終テーブルＩＤになったと判断した場合、メモリ制御部３３は、該当する単位画像ＩＤテーブル５３がないと判断し、ステップＳ５６で「該当画像ＩＤなし」を出力して処理を終了する。
【０１２８】
一方、ステップＳ５５で画像ＩＤテーブルがＦＵＬＬではないと判断した場合、メモリ制御部３３は、対象画像ＩＤかどうか判断する。対象画像ＩＤではないと判断した場合、メモリ制御部３３は、ステップＳ５８で、テーブルＩＤカウンタを加算し、再びステップＳ５４の処理を実行する。
【０１２９】
対象画像ＩＤの場合、メモリ制御部３３は、ステップＳ５９で、画像ＩＤテーブルの開始ディスクリプタテーブルＩＤをテーブルＩＤカウンタに設定し、前ディスクリプタテーブルＩＤをＥＯＴに設定する。
【０１３０】
次に、メモリ制御部３３は、ステップＳ６０で、ディスクリプタテーブル６０を検索する。ステップＳ６１で、メモリ制御部３３が、ディスクリプタテーブルがＦＵＬＬであると判断した場合、ステップＳ６２で「ディスクリプタテーブルエラー」を出力し、処理を終了する。
【０１３１】
ステップＳ６１で、ディスクリプタテーブルがＦＵＬＬではないと判断した場合、メモリ制御部３３は、ステップＳ６３で、該当ディスクリプタテーブルの次ディスクリプタテーブルＩＤがＥＯＴかどうか判断する。次ディスクリプタテーブルＩＤがＥＯＴではない場合、メモリ制御部３３は、ステップＳ６４で、前ディスクリプタテーブルＩＤにテーブルＩＤカウンタを設定し、テーブルＩＤカウンタに次ディスクリプタテーブルＩＤを設定し、再びステップＳ６１の処理を実行する。
【０１３２】
次ディスクリプタテーブルＩＤがＥＯＴの場合、メモリ制御部３３は、ステップＳ６５で、前ディスクリプタテーブルの次ディスクリプタテーブルＩＤをＥＯＴに設定する。
【０１３３】
次に、メモリ制御部３３は、ステップＳ６６で、対象ディスクリプタテーブルの開始ブロックから使用ブロック数分のブロックテーブルのビットを初期化する。そして、メモリ制御部３３は、ステップＳ６７で、前ディスクリプタテーブルＩＤがＥＯＴかどうか判断する。前ディスクリプタテーブルＩＤがＥＯＴではない場合、メモリ制御部３３は、ステップＳ６８で、テーブルＩＤカウンタに前ディスクリプタテーブルＩＤを設定し、再びステップＳ６１の処理を実行する。
【０１３４】
前ディスクリプタテーブルＩＤがＥＯＴの場合、処理は終了する。
【０１３５】
次に、ＨＤＤ３８におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作について説明する。ＨＤＤ３８におけるＳＲＣ領域、ＤＳＴ領域の取得／解放動作のうち、画像メモリ３９におけるＳＲＣ領域、ＤＳＴ領域の取得／解放管理動作と同様の動作については図示および説明を省略し、ＨＤＤ３８のみに設けられているアクセス禁止セクタテーブル８０に関する処理について図１９を参照して説明する。
【０１３６】
なお、ＨＤＤ３８においては、ＨＤＤ３８に取得したＳＲＣ領域、ＤＳＴ領域を使用時以外は解放する。これにより、使用中のＳＲＣ領域、ＤＳＴ領域以外の領域を他の処理で使用することができ、ＨＤＤ３８を効率よく使用することができる。
【０１３７】
図１９は、アクセス禁止セクタとして不良セクタを対象にした場合の登録動作を示すフローチャートである。通常、不良セクタはＨＤＤ３８に対する読み出し時に検出されるため、この登録動作は、読み出し動作に際して発生する。
【０１３８】
登録動作に際しては、まず、ステップＳ７０で、メモリ制御部３３は、読み出したセクタが不良セクタであるか否かを判断する。
【０１３９】
ステップＳ７０で、メモリ制御部３３が、不良セクタが発生していないと判断した場合には、処理を終了する。
【０１４０】
一方、ステップＳ７０で、メモリ制御部３３が、読み出したセクタが不良セクタであると判断した場合、メモリ制御部３３は、ステップＳ７１で登録セクタカウンタ８１（図１２参照）を１つ加算するとともに、登録カウンタ番目のアクセス禁止テーブルに不良セクタアドレスを登録して、処理を終了する。
【０１４１】
なお、図示を省略するが、登録セクタカウンタ８１を有限にして管理し登録カウンタ数を超えてしまった場合には、不良セクタ等でアクセス禁止セクタが多発しておりこのＨＤＤ３８の信頼性が低下していることを理由として交換指示を促すことも可能である。
【０１４２】
次に、アクセス禁止セクタをＨＤＤ３８の図示しないブロックテーブル（図１１参照）に反映する動作フローについて図２０を参照して説明する。
【０１４３】
ＨＤＤ３８におけるブロックテーブルの初期化終了後、メモリ制御部３３は、ステップＳ８０で、内部ループ処理用のカウンタをリセットする。
【０１４４】
次のステップＳ８１で、メモリ制御部３３は、カウンタと登録セクタカウンタ８１とを比較する。メモリ制御部３３が、カウンタと登録セクタカウンタ８１とが等しいと判断した場合、処理を終了する。
【０１４５】
一方、メモリ制御部３３が、カウンタと登録セクタカウンタ８１とが一致しないと判断した場合には、アクセス禁止セクタが存在すると判断し、ステップＳ８２で、アクセス禁止セクタテーブル８０からセクタＩＤを取得しブロック化する。
【０１４６】
次のステップＳ８３で、メモリ制御部３３が、ブロック化して図示しないブロックテーブル（図１１参照）中の対象ブロックのビットを１とすることで予め使用ブロック状態に設定するとともに、カウンタのカウンタ値を加算して、再びステップＳ８１の処理を実行する。
【０１４７】
このように、ハードウェアであるＭＬＢ４０によりデータ圧縮（データ変換）された画像データを、画像メモリ３９とＨＤＤ３８のＳＲＣ領域、ＤＳＴ領域を用いることで、各領域に関して、任意の容量も固定の容量も取得可能となる。
【０１４８】
また、画像記憶部として、本実施例の画像メモリ３９中の画像変換専用の領域のように、画像変換専用の記憶領域がある場合、その領域をリソース管理（使用中かどうかを管理する）として取得することも可能である。
【０１４９】
データ転送を分割する場合は、画像メモリ３９におけるＳＲＣ領域、ＤＳＴ領域を固定容量で確保し固定容量分データ変換完了してから、ＨＤＤ３８に転送することを繰り返すことで分割転送が可能になる。
【０１５０】
次に、画像メモリ３９からＨＤＤ３８へのデータ転送を複数回に分割して行なう場合の動作について図２１を参照して説明する。
【０１５１】
まず、メモリ制御部３３は、ステップＳ１００で、データ変換用に用いられる記憶領域を固定容量確保する。次に、メモリ制御部３３は、ステップＳ１０１で、ハードウェアであるＭＬＢ４０を用いて上述ようにデータを変換あるいは圧縮する。
【０１５２】
ステップＳ１０２で、メモリ制御部３３は、変換あるいは圧縮した画像データをステップＳ１００で確保した記憶領域含まれるＤＳＴ領域に保存するとともに、変換する画像データをＳＲＣ領域に補充する。
【０１５３】
次のステップＳ１０３で、メモリ制御部３３は、ステップＳ１０２で使用した容量分の転送受容領域をＨＤＤ３８に確保し、ステップＳ１０４で、変換した画像データをＨＤＤ３８へ転送する。ここに、ステップＳ１０３において、転送受容領域確保手段および転送受容領域確保機能が実現される。また、ここに、ステップＳ１０４において、転送手段および転送機能が実現される。
【０１５４】
なお、ステップＳ１０２において、ＨＤＤ３８から画像メモリ３９に転送される画像データを補充する場合、ステップＳ１０４では、ＨＤＤ３８から対象の画像データ領域を読み出し、読み出した画像データをＨＤＤ３８へ転送（逆転送）する。ここに、逆転送手段および逆転送機能が実現される。
【０１５５】
次のステップＳ１０５で、メモリ制御部３３は、データ圧縮未完了の画像データの有無を判断する。ステップＳ１０５で、メモリ制御部３３が、データ圧縮未完了の画像データがあると判断した場合には、画像データの変換が完了していないと判断して、再びステップＳ１０１の処理を行う。
【０１５６】
ここで、再びステップＳ１０１に進み変換処理を継続する場合は、画像データ変換後のデータを、既に転送が完了しているＤＳＴ領域に上書きする。
【０１５７】
ステップＳ１０５で、メモリ制御部３３が、データ圧縮未完了の画像データがないと判断した場合には、画像データの変換が完了したと判断し、ステップＳ１０６で、画像メモリ３９に確保した固定容量の記憶領域を解放して処理を終了する。
【０１５８】
なお、画像データの補充では、ＨＤＤ３８から同様に転送を繰り返すことで可能である。
【０１５９】
ステップＳ１０１における画像変換に際しては、画像変換用ＡＳＩＣであるＭＬＢ４０を使用している。上述したように、ＭＬＢ４０におけるソフトウェア側・ハードウェア側は、それぞれの状態を表すステータスにしたがって動作している。ステップＳ１０１における画像変換に際しては、図１３中に示すＧＥＴ、ＥＸＥ、ＳＥＴについては、必要な回数だけ繰り返す。
【０１６０】
ところで、ハードウェア・ソフトウェアの終了タイミングを通知する際に、例えば、処理実行中の時でステータスがＷＡＩＴ以外である場合のように、一方がその処理を受け付けられる状態でない場合がある。
【０１６１】
本実施例では、終了タイミングの通知を受け取れない状態で通知された情報を一時保存しておき、処理を受け付けられる状態に戻ったときに、即時実行するという方式を採用している。
【０１６２】
図２２は、ＳＲＣ領域を分割し、ＤＳＴ領域については十分に大きな変換領域がある場合おける動作タイミングを例示するタイミングチャートである。このタイミングチャートは、２次記憶領域やネットワーク送出、印刷などの入出力２０１と、ソフトウェア２０２と、制御ハードウェア２２０と、ハードウェア２０３との間で行われるものである。
【０１６３】
ＳＲＣ領域を用いて処理を行なうソフトウェア側のＩ／Ｆとしては、以下に示す条件を満たさなければならない。１．最初に、ソフトウェアから画像変換要求を出す。２．ハードウェア側に含まれる制御ソフトウェアは、ソフトウェア側からの画像変換要求を受信したときに、変換が開始できれば（変換可能なＳＲＣ領域、ＤＳＴ領域があれば）変換する。３．制御ソフトウェアは、ハードウェアから対象となるＳＲＣ領域の画像の変換完了を受けたときに、ソフトウェア側から対となる画像変換要求（ソフトウェアと制御ソフトウェア内では、矢印の方向が逆の組）を受信していれば、応答を返し、まだ受信していなければ、受信後に応答を返す。４．ソフトウェア側は、制御ソフトウェアからの応答を受信後、その中に含まれているネットワークへの送出・印刷などの要求を実行する。ただし、もう用意する画像がない場合は、制御ソフトウェアからの変換完了を受けるために、要求を出す。５．ソフトウェア側は、ネットワークへの送出・印刷などからの応答を受信後、制御ソフトウェアからの応答を受信していれば、変換要求を出し、受信していなければ、受信後に要求を出す。６．制御ソフトウェアはハードウェア側から変換完了を受けた場合は、画像変換完了応答を返す。この場合、ソフトウェア側は必ず、変換を完了したＤＳＴ領域の画像を保存する。
【０１６４】
なお、上述したように、ソフトウェア側とハードウェア側の制御ソフトウェアとの間のＳＲＣ・ＤＳＴの転送要求等のパラメータは、共通のステータスフラグを利用する。このフラグは、ＵＮＩＸ（登録商標）の共有メモリを利用しており、ソフトウェア側でのみ参照・変更可であり、制御ソフトウェア側では参照のみ可となっている。
【０１６５】
共通のステータスフラグは、ソフトウェア側には参照・変更可であり、制御ソフトウェア側には参照のみ可である為、ソフトウェア側は、制御ソフトウェア側の処理結果を応答の返り値として受け取る。
しかし、前記応答は、ソフトウェア側の処理とは非同期に発生する為、ソフトウェア側のステータスがＷＡＩＴでなければ、処理の実行ができない。その場合は、一時的にソフトウェア側で保存し、ソフトウェア側が処理が可能となった時点で、共通のステータスフラグと内容の照合を行ない、次変換のための準備(ＳＲＣの補充やＤＳＴの保存)を行う。
【０１６６】
その後、共通のステータスフラグの変更を行い、その結果、画像変換が終了していなければ、再度、画像変換要求を行う。
【０１６７】
また制御ソフトウェア側は、その処理結果を、直接反映できない為、共通のステータスフラグに反映するためにローカルな情報を持っている。さらに、制御ソフトウェア側は、画像変換要求を受けた際に、共通のステータスフラグを参照し、内部に保存している。
【０１６８】
これは、制御ソフトウェアは処理が終わった時点で、ローカルな情報と画像変換要求を受けた際に内部に保存した情報を比較して、次画像変換が可能かどうかを判断し、可能であれば、次変換処理を実行する為である。
【０１６９】
これらを踏まえ、図２２の処理内容の説明をする。ソフトウェア２０２は、ステップＳ３０１で、制御ハードウェア２２０にＳＲＣ１の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ３０２で、ハードウェア２０３にＳＲＣ１の変換開始を通知する。ハードウェア２０３は、ステップＳ３０３で、制御ハードウェア２２０にＳＲＣ１完了を通知する。制御ハードウェア２２０は、ステップＳ３０４で、ソフトウェア２０２にＳＲＣ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ３０５で、入出力２０１にＳＲＣ１の処理を通知する。これに対し、入出力先２０１は、ステップＳ３０８で、ソフトウェア２０２にＳＲＣ１の処理完了を通知する。
【０１７０】
その間に、制御ハードウェア２２０は、ステップＳ３０６で、ハードウェア２０３にＳＲＣ２の変換開始を通知する。ハードウェア２０３は、ステップＳ３０７で、制御ハードウェア２２０にＳＲＣ２完了を通知する。
【０１７１】
次に、ソフトウェア２０２は、ステップＳ３０９で、制御ハードウェア２２０にＳＲＣ２の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ３１０で、ソフトウェア２０２にＳＲＣ２の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ３１１で、入出力２０１にＳＲＣ２の処理を通知する。制御ハードウェア２２０は、ステップＳ３１２で、ハードウェア２０３にＳＲＣ１の変換開始を通知する。ハードウェア２０３は、ステップＳ３１３で、制御ハードウェア２２０にＳＲＣ１完了を通知する。
【０１７２】
入出力先２０１は、ステップＳ３１４で、ソフトウェア２０２にＳＲＣ２の処理完了を通知する。ソフトウェア２０２は、ステップＳ３１５で、制御ハードウェア２２０にＳＲＣ１の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ３１６で、ソフトウェア２０２にＳＲＣ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ３１７で、入出力２０１にＳＲＣ１の処理を通知する。
【０１７３】
制御ハードウェア２２０は、ステップＳ３１８で、ハードウェア２０３にＳＲＣ２の変換開始を通知する。入出力先２０１は、ステップＳ３１９で、ソフトウェア２０２にＳＲＣ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ３２０で、制御ハードウェア２２０にＳＲＣ２の画像変換要求を通知する。ハードウェア２０３は、ステップＳ３２１で、制御ハードウェア２２０にＳＲＣ２完了を通知する。制御ハードウェア２２０は、ステップＳ３２２で、ソフトウェア２０２にＳＲＣ２の画像変換終了を通知する。制御ハードウェア２２０は、ステップＳ３２３で、ハードウェア２０３にＳＲＣ１の変換開始を通知する。ソフトウェア２０２は、ステップＳ３２４で、制御ハードウェア２２０に画像変換要求を通知する。
【０１７４】
ハードウェア２０３は、ステップＳ３２５で、制御ハードウェア２２０に変換終了を通知する。制御ハードウェア２２０は、ステップＳ３２６で、ソフトウェア２０２に画像変換完了を通知する。ソフトウェア２０２は、ステップＳ３２７で、入出力２０１にＤＳＴの処理を通知する。入出力先２０１は、ステップＳ３２８で、ソフトウェア２０２にＤＳＴの処理完了を通知する。ソフトウェア２０２は、ステップＳ３２９で、制御ハードウェア２２０に画像変換終了要求を通知する。制御ハードウェア２２０は、ステップＳ３３０で、ソフトウェア２０２に画像変換終了応答を通知する。
【０１７５】
次に、ＤＳＴ領域の分割があり、ＳＲＣについてはＳＲＣ領域内に画像データがすべてある場合についてのＩ／Ｆについて図２３を参照して説明する。
【０１７６】
ソフトウェア２０２は、ステップＳ４０１で、制御ハードウェア２２０にＤＳＴ１の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ４０２で、ハードウェア２０３にＤＳＴ１の変換開始を通知する。ハードウェア２０３は、ステップＳ４０３で、制御ハードウェア２２０にＤＳＴ１完了を通知する。制御ハードウェア２２０は、ステップＳ４０４で、ソフトウェア２０２にＤＳＴ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ４０５で、入出力２０１にＤＳＴ１の処理を通知する。この「ＤＳＴ１の処理を通知する」とは、ＤＳＴ１における処理が完了したことを通知することである。
【０１７７】
制御ハードウェア２２０は、ステップＳ４０６で、ハードウェア２０３にＤＳＴ２の変換開始を通知する。ハードウェア２０３は、ステップＳ４０７で、制御ハードウェア２２０にＤＳＴ２完了を通知する。
【０１７８】
入出力先２０１は、ステップＳ４０８で、ソフトウェア２０２にＤＳＴ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ４０９で、制御ハードウェア２２０にＤＳＴ２の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ４１０で、ソフトウェア２０２にＤＳＴ２の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ４１１で、入出力２０１にＤＳＴ２の処理を通知する。制御ハードウェア２２０は、ステップＳ４１２で、ハードウェア２０３にＤＳＴ１の変換開始を通知する。ハードウェア２０３は、ステップＳ４１３で、制御ハードウェア２２０にＤＳＴ１完了を通知する。
【０１７９】
入出力先２０１は、ステップＳ４１４で、ソフトウェア２０２にＤＳＴ２の処理完了を通知する。ソフトウェア２０２は、ステップＳ４１５で、制御ハードウェア２２０にＤＳＴ１の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ４１６で、ソフトウェア２０２にＤＳＴ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ４１７で、入出力２０１にＤＳＴ１の処理を通知する。制御ハードウェア２２０は、ステップＳ４１８で、ハードウェア２０３にＤＳＴ２の変換開始を通知する。
【０１８０】
入出力先２０１は、ステップＳ４１９で、ソフトウェア２０２にＤＳＴ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ４２０で、制御ハードウェア２２０にＤＳＴ２の画像変換要求を通知する。ハードウェア２０３は、ステップＳ４２１で、制御ハードウェア２２０にＤＳＴ２完了を通知する。制御ハードウェア２２０は、ステップＳ４２２で、ソフトウェア２０２にＤＳＴ２の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ４２３で、入出力２０１にＤＳＴ２の処理を通知する。制御ハードウェア２２０は、ステップＳ４２４で、ハードウェア２０３にＤＳＴ１の変換開始を通知する。入出力先２０１は、ステップＳ４２５で、ソフトウェア２０２にＤＳＴ２の処理完了を通知する。ハードウェア２０３は、ステップＳ４２６で、制御ハードウェア２２０にＤＳＴ１完了並びに変換終了を通知する。ソフトウェア２０２は、ステップＳ４２７で、制御ハードウェア２２０にＤＳＴ１の画像変換要求を通知する。
【０１８１】
制御ハードウェア２２０は、ステップＳ４２８で、ソフトウェア２０２に画像変換完了を通知する。ソフトウェア２０２は、ステップＳ４２９で、入出力２０１にＤＳＴ１の処理を通知する。入出力先２０１は、ステップＳ４３０で、ソフトウェア２０２にＤＳＴ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ４３１で、制御ハードウェア２２０に画像変換終了要求を通知する。制御ハードウェア２２０は、ステップＳ４３２で、ソフトウェア２０２に画像変換終了応答を通知する。
【０１８２】
図２４は、ＳＲＣ領域、ＤＳＴ領域の分割動作におけるＩ／Ｆを示す説明図である。ソフトウェア２０２は、ステップＳ５０１で、制御ハードウェア２２０にＳＲＣ１の画像変換要求を通知する。制御ハードウェア２２０は、ステップＳ５０２で、ハードウェア２０３にＳＲＣ１からＤＳＴ１への変換開始を通知する。ハードウェア２０３は、ステップＳ５０３で、制御ハードウェア２２０にＤＳＴ１完了を通知する。制御ハードウェア２２０は、ステップＳ５０４で、ソフトウェア２０２にＤＳＴ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ５０５で、入出力先２０１にＤＳＴ１の処理を通知する。
【０１８３】
制御ハードウェア２２０は、ステップＳ５０６で、ハードウェア２０３にＳＲＣ１からＤＳＴ２への変換開始を通知する。ハードウェア２０３は、ステップＳ５０７で、制御ハードウェア２２０にＳＲＣ１完了を通知する。入出力先２０１は、ステップＳ５０８で、ソフトウェア２０２にＤＳＴ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ５０９で、制御ハードウェア２２０に画像変換要求とＤＳＴ１の完了を通知する。制御ハードウェア２２０は、ステップＳ５１０で、ソフトウェア２０２にＳＲＣ１の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ５１１で、入出力２０１にＳＲＣ１の処理を通知する。
【０１８４】
制御ハードウェア２２０は、ステップＳ５１２で、ハードウェア２０３にＳＲＣ２からＤＳＴ２への変換開始を通知する。ハードウェア２０３は、ステップＳ５１３で、制御ハードウェア２２０にＤＳＴ２完了を通知する。
【０１８５】
入出力先２０１は、ステップＳ５１４で、ソフトウェア２０２にＳＲＣ１の処理完了を通知する。ソフトウェア２０２は、ステップＳ５１５で、制御ハードウェア２２０に画像変換要求とＳＲＣ１の完了を通知する。制御ハードウェア２２０は、ステップＳ５１６で、ソフトウェア２０２にＤＳＴ２の画像変換終了を通知する。ソフトウェア２０２は、ステップＳ５１７で、入出力先２０１にＤＳＴ２の処理を通知する。制御ハードウェア２２０は、ステップＳ５１８で、ハードウェア２０３にＳＲＣ２からＤＳＴ１への変換開始を通知する。
【０１８６】
入出力先２０１は、ステップＳ５１９で、ソフトウェア２０２にＤＳＴ２の処理完了を通知する。ソフトウェア２０２は、ステップＳ５２０で、制御ハードウェア２２０に画像変換要求とＤＳＴ２の完了を通知する。ハードウェア２０３は、ステップＳ５２１で、制御ハードウェア２２０にＳＲＣ２の完了を通知する。制御ハードウェア２２０は、ステップＳ５２２で、ソフトウェア２０２にＳＲＣ２の画像変換終了を通知する。制御ハードウェア２０３は、ステップＳ５２３で、ハードウェア２０３にＳＲＣ１からＤＳＴ１への変換開始を通知する。ソフトウェア２０２は、ステップＳ５２４で、制御ハードウェア２２０に画像変換要求を通知する。ハードウェア２０３は、ステップＳ５２５で、制御ハードウェア２２０に変換終了を通知する。制御ハードウェア２２０は、ステップＳ５２６で、ソフトウェア２０２に画像変換完了を通知する。ソフトウェア２０２は、ステップＳ５２７で、入出力２０１にＤＳＴの処理を通知する。
【０１８７】
入出力先２０１は、ステップＳ５２８で、ソフトウェア２０２にＤＳＴの処理完了を通知する。ソフトウェア２０２は、ステップＳ５２９で、制御ハードウェア２２０に画像変換終了要求を通知する。制御ハードウェア２２０は、ステップＳ５３０で、ソフトウェア２０２に画像変換終了応答を通知する。
【０１８８】
このように入力画像データの準備、および、出力画像データの変換時においては、実行可能な領域を探し出し、無駄なく動作させることにより、高速、かつ、リソースの有効利用が可能となる。
【０１８９】
なお、ソフトウェア側からメモリを分割しなければ、入力画像領域の画像データ読み込み完了を待ってから、画像変換を開始する。
【０１９０】
以上説明した実施例によれば、入力された画像データに対して分割ＳＲＣ領域単位で変換を施すことができ、また、変換後の画像データを分割ＤＳＴ領域単位で出力することができるので、変換のための画像データの入力、出力するための画像データの変換、および、記憶部からの画像データの出力等に際して、各動作を実行可能な領域を探し出し、変換対象となるＳＲＣ領域、ＤＳＴ領域以外の領域に対して次の画像データとの準備等を行なわせることができるため、無駄なく動作させて、処理の高速化や記憶部のリソースの有効利用を図ることができ、データ転送速度の向上やデータ圧縮率およびＭＬＢ等における処理速度等に応じた生産性を確保することができる。
【０１９１】
これによって、例えば、それぞれ異なるデータ形式を有する画像出力手段により複数の異なるアプリケーションからの画像要求が生じたにも拘わらず、記憶装置にアプリケーション毎のデータ形式の全ての画像データを格納することができない場合にも、画像出力手段のデータ形式に応じた画像変換を効率よく行なうことができる。
【０１９２】
また、記憶部から別記憶部への画像データの転送時間を利用して、別記憶部から記憶部への画像データの逆転送および逆転送された画像データの変換と、画像データの記憶とを同時に行なうことができるので、データ転送効率や記憶装置の利用効率の向上を図るとともに、画像処理装置の生産性を良好に維持することができる。
【０１９３】
さらに、例えば、画像処理装置と外部装置とをネットワークを介して接続することにより、画像データをネットワーク上で共有することができ、各外部装置がそれぞれデータ形式の異なる画像出力手段を備えている場合にも、各画像出力手段のデータ形式に適応したデータ形式の画像データを得ることができる。
【図面の簡単な説明】
【０１９４】
【図１】本実施例のデジタル複写機を概略的に示すブロック図である。
【図２】原稿台を上方から見た図である。
【図３】読取部のＩＰＵから出力される画像同期信号について説明するタイミングチャートである。
【図４】記憶部を示すブロック図である。
【図５】メモリ制御部を示すブロック図である。
【図６】メモリ構成を示す図である。
【図７】ＭＬＢによる画像変換制御を示す説明図である。
【図８】ステータスを示す図である。
【図９】画像ＩＤテーブルを示す説明図である。
【図１０】ディスクリプタテーブルを示す説明図である。
【図１１】ブロックテーブルを示す説明図である。
【図１２】アクセス不可能ブロックテーブルを示す説明図である。
【図１３】ディスクリプタ格納レジスタを示す説明図である。
【図１４】記憶部におけるＳＲＣ領域、ＤＳＴ領域の取得動作について説明するフローチャートである。
【図１５】記憶部におけるＳＲＣ領域、ＤＳＴ領域の取得動作について説明するフローチャートである。
【図１６】記憶部におけるＳＲＣ領域、ＤＳＴ領域の取得動作について説明するフローチャートである。
【図１７】記憶部におけるＳＲＣ領域、ＤＳＴ領域の解放動作について説明するフローチャートである。
【図１８】記憶部におけるＳＲＣ領域、ＤＳＴ領域の解放動作について説明するフローチャートである。
【図１９】アクセス禁止セクタとして不良セクタを対象にした場合の登録動作を示すフローチャートである。
【図２０】アクセス禁止セクタをＨＤＤのブロックテーブルに反映する動作を示すフローチャートである。
【図２１】複数回に分割して１次記憶領域のデータ転送を制御する動作を示すフローチャートである。
【図２２】ＳＲＣの分割動作があり、ＤＳＴについては十分に変換領域が大きい場合についての動作タイミングを例示するタイミングチャートである。
【図２３】ＤＳＴの分割動作があり、ＳＲＣについてはＳＲＣ領域内に画像データがすべてある場合についての動作タイミングを例示するタイミングチャートである。
【図２４】ＳＲＣ領域、ＤＳＴ領域の分割動作についての動作タイミングを例示するタイミングチャートである。
【符号の説明】
【０１９５】
１  画像処理装置
２  画像入力手段
３  画像記憶部
４，６  画像出力手段
３８  別記憶部
３９  画像記憶部
４０  データ形式変換手段
５０  画像ＩＤテーブル
６０  ディスクリプタテーブル
７０  ブロックテーブル
２０１  入出力先
２０２  ソフトウェア
２０３  ハードウェア
２０４  共通パラメータ
２０６  ステータス
【図１】
2004220579.tif 000003
【図２】
2004220579.tif 000004
【図３】
2004220579.tif 000005
【図４】
2004220579.tif 000006
【図５】
2004220579.tif 000007
【図６】
2004220579.tif 000008
【図７】
2004220579.tif 000009
【図８】
2004220579.tif 000010
【図９】
2004220579.tif 000011
【図１０】
2004220579.tif 000012
【図１１】
2004220579.tif 000013
【図１２】
2004220579.tif 000014
【図１３】
2004220579.tif 000015
【図１４】
2004220579.tif 000016
【図１５】
2004220579.tif 000017
【図１６】
2004220579.tif 000018
【図１７】
2004220579.tif 000019
【図１８】
2004220579.tif 000020
【図１９】
2004220579.tif 000021
【図２０】
2004220579.tif 000022
【図２１】
2004220579.tif 000023
【図２２】
2004220579.tif 000024
【図２３】
2004220579.tif 000025
【図２４】
2004220579.tif 000026