(57)【要約】【課題】本発明は、入力画像データを一旦可変長圧縮してメモリに保管した後に該メモリの圧縮データを伸長して出力する画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。【解決手段】複合装置１は、可変長圧縮されてメモリ１２に記憶された圧縮データを、伸長器２６からの終端データ信号通知に応じてディスクリプタに基づいてメモリ１２から読み出して伸長器２６に転送する場合に、読み出した圧縮単位の圧縮データを、バッファライト制御部４３が適宜のバッファ４４ａ〜４４ｃに書き込んでライト完了通知を発行し、バッファリード制御部４５がバッファ４４ａ〜４４ｃから圧縮データを読み出して伸長器２６へ出力する。バッファライト制御部４３は、圧縮データのデータサイズがディスクリプタ指定のサイズを越えているか、伸長器２６から終端データ信号通知が入力されると、次のディスクリプタと圧縮データの読み出しを行わせる。【選択図】          図１
2011155609.tif 000002
【特許請求の範囲】
【請求項１】
所定データ量を圧縮単位として該圧縮単位毎に入力される画像データを圧縮手段で１つの圧縮データに可変長圧縮して、記憶手段に転送して記憶した圧縮データを、圧縮データを伸長する伸長手段からの次データの転送を許可する次データ転送許可信号に応じてリードＤＭＡ制御手段によって該記憶手段のディスクリプタに基づいて該記憶手段から該圧縮単位毎に該圧縮データを読み出して該伸長手段に転送する画像処理装置において、
前記リードＤＭＡ制御手段は、
前記記憶手段から前記ディスクリプタ及び前記圧縮単位の前記圧縮データを読み出す読み出し手段と、
前記読み出し手段による前記記憶手段からの前記ディスクリプタ及び前記圧縮データの読み出しを制御するディスクリプタリード制御手段と、
前記読み出し手段によって前記記憶手段から読み出された前記圧縮単位の前記圧縮データを一時保管する複数のバッファと、
前記読み出し手段によって読み出された前記圧縮単位の前記圧縮データの前記バッファに対する書き込みを制御するとともに該圧縮データの該バッファへの書き込みを完了すると書き込み完了通知を発行するバッファライト制御手段と、
前記バッファに書き込まれた前記圧縮データの読み出しを前記バッファライト制御手段の発行する書き込み完了通知に基づいて制御して読み出した該圧縮データを前記伸長手段へ出力するバッファリード制御手段と、
前記読み出し手段が前記記憶手段から読み出した前記圧縮単位の前記圧縮データのデータサイズが前記ディスクリプタで指定されている指定データサイズを越えているか否かを判定するデータサイズ判定手段と、
を備え、
前記バッファライト制御手段は、前記圧縮データサイズが前記指定データサイズを越えていると前記データサイズ判定手段が判定するか、前記伸長手段から前記次データ転送許可信号が入力されると、前記ディスクリプタリード制御手段にサイズ完了通知を行い、
前記ディスクリプタリード制御手段は、前記バッファライト制御手段から前記サイズ完了通知があると、次の前記ディスクリプタと前記圧縮データの読み出しを行うことを特徴とする画像処理装置。
【請求項２】
前記データサイズ判定手段は、前記バッファライト制御手段が前記バッファに書き込んだ回数をカウントするライトカウント手段を備えていることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記リードＤＭＡ制御手段は、
無効な前記圧縮データをカウントする無効データカウンタを備えていることを特徴とする請求項１または請求項２記載の画像処理装置。
【請求項４】
前記データサイズ判定手段は、前記次データ転送完了信号よりも前に、前記圧縮データのデータサイズが前記指定データサイズを越えていると前記データサイズ判定手段が判定すると、前記バッファへの無効データの書き込みを禁止することを特徴とする請求項１から請求項３のいずれかに記載の画像処理装置。
【請求項５】
前記リードＤＭＡ制御手段は、
前記読み出し手段による読み取りコマンドを発行した後、該読み取りコマンドに対する読み取りデータ応答を待つことなく次の読み取りコマンドを発行するコマンド先投げの個数が設定される先投げ個数設定手段と、
前記先投げ個数設定手段に設定されている前記先投げ個数だけ前記読み出し手段に前記先投げを行わせる先投げ制御手段と、
を備えていることを特徴とする請求項１から請求項４のいずれかに記載の画像処理装置。
【請求項６】
前記バッファライト制御手段は、前記先投げ個数だけ前記バッファへの前記圧縮データの書き込みが完了しても前記書き込み完了通知の発行を停止することを特徴とする請求項５記載の画像処理装置。
【請求項７】
所定データ量を圧縮単位として該圧縮単位毎に入力される画像データを圧縮処理ステップで１つの圧縮データに可変長圧縮して記憶手段に転送して記憶した圧縮データを、圧縮データを伸長する伸長処理ステップからの次データの転送を許可する次データ転送許可信号に応じてリードＤＭＡ制御処理ステップによって該記憶手段のディスクリプタに基づいて該記憶手段から該圧縮単位毎に該圧縮データを読み出して該伸長処理ステップに転送する画像処理方法において、
前記リードＤＭＡ制御処理ステップは、
前記記憶手段から前記ディスクリプタ及び前記圧縮単位の前記圧縮データを読み出す読み出し処理ステップと、
前記読み出し処理ステップによる前記記憶手段からの前記ディスクリプタ及び前記圧縮データの読み出しを制御するディスクリプタリード制御処理ステップと、
前記読み出し処理ステップによって読み出された前記圧縮単位の前記圧縮データの複数のバッファに対する書き込みを制御するとともに該圧縮データの該バッファへの書き込みを完了すると書き込み完了通知を発行するバッファライト制御処理ステップと、
前記バッファに書き込まれた前記圧縮データの読み出しを前記バッファライト制御処理ステップの発行する書き込み完了通知に基づいて制御して読み出した該圧縮データを前記伸長処理ステップへ出力するバッファリード制御処理ステップと、
前記読み出し処理ステップで前記記憶手段から読み出された前記圧縮単位の前記圧縮データのデータサイズが前記ディスクリプタで指定されている指定データサイズを越えているか否かを判定するデータサイズ判定処理ステップと、
を有し、
前記バッファライト制御処理ステップは、前記データサイズ判定処理ステップで前記圧縮データサイズが前記指定データサイズを越えていると判定されるか、前記伸長処理ステップからの前記次データ転送許可信号が入力されると、前記ディスクリプタリード制御処理ステップにサイズ完了通知を行い、
前記ディスクリプタリード制御処理ステップは、前記バッファライト制御処理ステップから前記サイズ完了通知があると、次の前記ディスクリプタと前記圧縮データの読み出しを行うことを特徴とする画像処理方法。
【請求項８】
所定データ量を圧縮単位として該圧縮単位毎に入力される画像データを圧縮処理で１つの圧縮データに可変長圧縮して記憶手段に転送して記憶した圧縮データを、圧縮データを伸長する伸長処理からの次データの転送を許可する次データ転送許可信号に応じてリードＤＭＡ制御処理によって該記憶手段のディスクリプタに基づいて該記憶手段から該圧縮単位毎に該圧縮データを読み出して該伸長処理に転送する画像処理プログラムであって、
コンピュータに、
前記リードＤＭＡ制御処理として、
前記記憶手段から前記ディスクリプタ及び前記圧縮単位の前記圧縮データを読み出す読み出し処理と、
前記読み出し処理による前記記憶手段からの前記ディスクリプタ及び前記圧縮データの読み出しを制御するディスクリプタリード制御処理と、
前記読み出し処理によって読み出された前記圧縮単位の前記圧縮データの複数のバッファに対する書き込みを制御するとともに該圧縮データの該バッファへの書き込みを完了すると書き込み完了通知を発行するバッファライト制御処理と、
前記バッファに書き込まれた前記圧縮データの読み出しを前記バッファライト制御処理の発行する書き込み完了通知に基づいて制御して読み出した該圧縮データを前記伸長処理へ出力するバッファリード制御処理と、
前記読み出し処理で前記記憶手段から読み出された前記圧縮単位の前記圧縮データのデータサイズが前記ディスクリプタで指定されている指定データサイズを越えているか否かを判定するデータサイズ判定処理と、
を実行させ、
前記バッファライト制御処理においては、前記データサイズ判定処理で前記圧縮データサイズが前記指定データサイズを越えていると判定されるか、前記伸長処理からの前記次データ転送許可信号が入力されると、前記ディスクリプタリード制御処理にサイズ完了通知を行わせ、
前記ディスクリプタリード制御処理においては、前記バッファライト制御処理から前記サイズ完了通知があると、次の前記ディスクリプタと前記圧縮データの読み出しを行わせることを特徴とする画像処理プログラム。
【請求項９】
請求項８記載の画像処理プログラムを記録したことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関し、詳細には、入力画像データを一旦可変長圧縮してメモリに保管した後に該メモリの圧縮データを伸長して出力する画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に関する。
【背景技術】
【０００２】
複写装置、プリンタ装置、ファクシミリ装置、複合装置等の画像処理装置においては、スキャナで読み取られた原稿の画像データをプリンタで画像形成出力する場合、以下のような処理手順によって行われる。すなわち、画像処理装置は、スキャナで読み取られて出力される画像データを圧縮器で可変長圧縮して圧縮データとし、ＣＰＵ（Central Processing Unit ）を介することなく、ＤＭＡＣ（Direct Memory Access Controller）によってメモリに転送して出力用の圧縮データとして保存する。その後、画像処理装置は、メモリ上の圧縮データをＤＭＡＣで読み出して伸長器で伸長し、必要な画像処理を施して、プリンタで印刷出力する。
【０００３】
このような一連の画像データ処理においては、スキャナの動作が一定の速度で行われるため、メモリへのデータ転送を一定速度で行う必要がある。
【０００４】
そして、処理速度を向上させるために、上記スキャナで読み取られた画像データを圧縮してメモリに保存し、全ての圧縮データのメモリへの保存が完了する前に、メモリの圧縮データの読み出しを開始して、読み出した圧縮データを伸長してプロッタで印刷する処理を連続して行う逐次処理を行っている。この場合、画像データを圧縮してメモリに転送保存する圧縮転送処理とメモリの圧縮データを伸長してプロッタに転送する伸長転送処理を適切に連携させて全体の転送処理を速やかに行うことが、コピースピード、特に、１枚目のコピーであるファーストコピーの処理時間を短くする上で、重要である。
【０００５】
また、今日、画像データにおいては、印刷出力用のＣ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）のＣＭＹＫ画像データだけでなく、転送や再利用が図られるため、Ｒ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）のＲＧＢ画像データもメモリ上でハンドリングする必要がある。したがって、今日の画像処理装置においては、画像データの転送経路も複雑となってきており、コピー動作を行う場合の原稿の読み取りから印刷出力までのファーストコピー時間が長くなる原因の一つとなっている。
【０００６】
また、入力される画像データを圧縮器で可変長圧縮してメモリに圧縮データとして保存する場合、圧縮器で圧縮される圧縮データのデータサイズが一定でないため、圧縮転送処理と伸長転送処理を連続して行う逐次処理においては、画像データの圧縮率に応じて圧縮器での処理時間にバラツキが発生し、ファーストコピー時間を保証することができなくなる。すなわち、ＤＭＡＣによる圧縮データの転送では、所定データ量の圧縮データがバッファに蓄積されると、メモリにＤＭＡ転送して書き込みを行い、メモリに書き込まれた圧縮データを所定量読み出してバッファに書き込んで、該バッファの圧縮データを伸長器に出力する。したがって、圧縮器の圧縮率によって圧縮器での処理時間にバラツキが発生すると、バッファに所定データ量の圧縮データが蓄積される時間にバラツキが発生し、圧縮転送と伸長転送を適切に連携させることができなくなる。
【０００７】
そして、従来、画像データを可変長圧縮して書き込み側バッファに蓄積した後に、メモリに転送して記憶し、記憶された圧縮データを読み出して伸長するときに、書き込み側バッファの蓄積量が第１の所定量に達したとき、または、第１の所定量に達する前に書き込み開始から所定時間経過したときのいずれか早いほうのタイミングで転送する技術が提案されている（特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術にあっては、圧縮器で可変長圧縮された圧縮データが書き込み側バッファに所定量（転送パケットサイズ）蓄積されなくても、一定時間が経過すると、メモリへのデータ転送を行っているため、転送パケットサイズが蓄積される前に一定時間が経過して書き込み側バッファの圧縮データをメモリに転送すると、圧縮器内に圧縮途中のデータが残ることとなり、一定時間毎に一定の画像データをメモリに転送することができず、ファーストコピー時間のバラツキを完全に抑制することができないおそれがある。
【０００９】
そこで、本発明は、記憶手段に書き込まれた圧縮データの読み出し時間を短縮して、画像データを圧縮して記憶手段に転送する圧縮転送から該記憶手段の圧縮データを伸長側に転送する伸長転送の連携をより一層適切に行い、転送処理時間をより一層短縮する画像処理装置、画像処理方法、画像処理プログラム及び記録媒体を提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するために、所定データ量を圧縮単位として可変長圧縮されて記憶手段に記憶された圧縮データを、伸長側からの次データ転送許可信号に応じてディスクリプタに基づいて該記憶手段から該圧縮単位毎に読み出して該伸長側に転送する場合に、該記憶手段から読み出した圧縮単位の圧縮データを複数のバッファのうち適宜のバッファに書き込み、該圧縮データの該バッファへの書き込みを完了すると書き込み完了通知を発行して、該書き込み完了通知に基づいて該バッファに書き込まれた圧縮データを読み出して前記伸長側へ出力するとともに、該記憶手段から読み出した前記圧縮単位の前記圧縮データのデータサイズを判定し、該圧縮データサイズがディスクリプタの指定する指定データサイズを越えていると判定されるか、伸長側から前記次データ転送許可信号が入力されると、サイズ完了通知を発行して、該サイズ完了通知があると、次のディスクリプタと圧縮データの記憶手段からの読み出しを行うことを特徴としている。
【００１１】
また、本発明は、前記圧縮データが前記バッファに書き込まれた回数をカウントすることを特徴としてもよい。
【００１２】
さらに、本発明は、無効な前記圧縮データをカウントすることを特徴としてもよい。
【００１３】
また、本発明は、前記次データ転送完了信号よりも前に、前記圧縮データのデータサイズが前記指定データサイズを越えていると、前記バッファへの無効データの書き込みを禁止することを特徴としてもよい。
【００１４】
さらに、本発明は、前記読み出し手段による読み取りコマンドの先投げを適宜設定して、設定されている該先投げ個数だけ、記憶手段からデータの読み取りを行うための読み取りコマンドの先投げを行うことを特徴としてもよい。
【発明の効果】
【００１５】
本発明によれば、記憶手段に書き込まれた圧縮データの読み出し時間を短縮することができ、画像データを圧縮して記憶手段に転送する圧縮転送から該記憶手段の圧縮データを伸長側に転送する伸長転送の連携をより一層適切に行って、転送処理時間をより一層短縮することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施例を適用した複合装置の要部ブロック構成図。
【図２】画像伸長器の詳細なブロック構成図。
【図３】バッファリード制御部の処理を示すフローチャート。
【図４】バッファライト制御部の処理を示すフローチャート。
【図５】ディスクリプタサイズよりも可変長圧縮データのデータサイズが小さい場合のメモリ領域の圧縮データとディスクリプタを示す図。
【図６】図５の状態時のバッファライト制御部とバッファリード制御部のタイミング図。
【図７】ディスクリプタサイズよりも可変長圧縮データのデータサイズが大きい場合のメモリ領域の圧縮データとディスクリプタを示す図。
【図８】図７の状態時のバッファライト制御部とバッファリード制御部のタイミング図。
【図９】無効データカウントを行う場合のバッファライト制御部の処理を示すフローチャート。
【図１０】図９の続きの処理を示すフローチャート。
【図１１】無効データカウントを行う場合のバッファライト制御部とバッファリード制御部のタイミング図。
【図１２】先投げを伴うバッファライト制御部の処理を示すフローチャート。
【図１３】先投げを行う場合のバッファライト制御部とバッファリード制御部のタイミング図。
【発明を実施するための形態】
【００１７】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
【実施例１】
【００１８】
図１〜図１３は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の一実施例を示す図であり、図１は、本発明の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体の一実施例を適用した複合装置１の要部ブロック構成図である。
【００１９】
図１において、複合装置１は、スキャナ２、コントローラボード３及びプロッタ４等を備えているとともに、図示しないが、操作表示部、ファクシミリ通信部、ネットワーク通信部等を備えており、コントローラボード３は、ＡＳＩＣ（Application Specific Integrated Circuit）１１、メモリ１２及びＡＳＩＣ１３等を搭載しているとともに、図示しないＣＰＵ（Central Processing Unit ）、ＲＯＭ等を搭載している。コントローラ３は、ＣＰＵがＲＯＭ内のプログラムに基づいて複合装置１の各部を制御して、複合装置１としてのコピー機能、プリンタ機能、ファクシミリ機能、データ転送機能等の複合装置１としての基本処理を実行するとともに、本発明の画像処理を実行する。
【００２０】
ＡＳＩＣ１１は、スキャナＩ／Ｆ２１、画像伸長器２２、画像処理器２３等を搭載しており、スキャナＩ／Ｆ２１は、圧縮器２４とＷＤＭＡＣ２５を、画像伸長器２２は、伸長器２６とＲＤＭＡＣ２７を、画像処理器２３は、画像処理部２８とＷＤＭＡＣ２９を搭載している。また、メモリ１２には、圧縮器２４で可変長圧縮された圧縮データ（符号データ）ＦＤと伸長器２６で伸長された画像データＧＤが保管されるとともに、後述するディスクリプタが記憶される。
【００２１】
ＡＳＩＣ１３は、プロッタＩ／Ｆ３１を搭載しており、プロッタＩ／Ｆ３１は、ＲＤＭＡＣ３２を搭載している。
【００２２】
スキャナ２は、例えば、ＣＣＤ（Charge Coupled Device ）を利用したイメージスキャナ等が利用されており、一般に、ＡＤＦ（自動原稿送り装置）を備えている。ＡＤＦには、複数枚の原稿がセットされ、ＡＤＦは、セットされた原稿を１枚ずつスキャナ２の原稿読み取り位置に送給する。スキャナ２は、ＡＤＦから搬送されてきた原稿を走査し、原稿の画像を所定の解像度で読み取って、ＲＧＢの画像信号をデジタル変換した後、ＡＳＩＣ１１の圧縮器２４に出力する。
【００２３】
プロッタ４は、所定の印刷方式、例えば、電子写真方式、インク噴射方式のプロッタ部が用いられており、カラー、または、モノクロで用紙に画像を印刷出力する。
【００２４】
メモリ１２は、ＲＡＭ等で構成され、上述のように、ＡＳＩＣ１１の圧縮器２４で圧縮された圧縮データ（符号データ）ＦＤがＷＤＭＡＣ２５によって書き込まれて、画像伸長器２２のＲＤＭＡＣ２７によって読み出される。また、画像伸長器２２の伸長器２６で伸長され画像処理部２３で画像処理された画像データＧＤが書き込まれ、ＡＳＩＣ１３のＲＤＭＡＣ３２によって読み出される。さらに、メモリ１２は、ＣＰＵによって、ＷＤＭＡＣ２５の利用するライト用ディスクリプタ、ＷＤＭＡＣ２９の利用するライト用ディスクリプタ、ＲＤＭＡＣ２７の利用するリード用ディスクリプタ及びＲＤＭＡＣ３２の利用するリード用ディスクリプタが書き込まれる。
【００２５】
圧縮器（圧縮手段）２４は、スキャナ２から入力される画像データを所定のデータ量を圧縮単位として、該圧縮単位毎に、所定の可変長圧縮方式（例えば、ＪＰＥＧ等）で可変長圧縮を順次実行して、ＷＤＭＡＣ２５に出力する。
【００２６】
ＷＤＭＡＣ２５は、ＣＰＵを介することなく、圧縮器２４の圧縮した圧縮データをデータバスを介してメモリ１２に転送して、メモリ１２の指定のメモリアドレスに符号データ（圧縮データ）ＦＤとして書き込む。この書き込みアドレスは、ＣＰＵが書き込んだメモリ１２のライト用ディスディスクリプタ（ＤＰＲ）によって指定されるアドレスである。
【００２７】
画像伸長器２２のＲＤＭＡＣ（リードＤＭＡ制御手段）２７は、メモリ１２の指定アドレスの圧縮データ（符号データ）ＦＤを読み出して伸長器２６に転送し、この読み出し指定アドレスは、ＣＰＵが書き込んだメモリ１２のリード用ディスクリプタ（ＤＰＲ：descriptor）によって指定されるアドレスである。伸長器（伸長手段）２６は、圧縮データを原画像データに伸長して、伸長した画像データを画像処理器２３の画像処理部２８に渡す。
【００２８】
画像処理部２８は、伸長された画像データに対してプロッタ部４で印刷出力するのに必要な画像処理を行って、ＷＤＭＡＣ２９に出力する。
【００２９】
ＷＤＭＡＣ２９は、ＣＰＵを介することなく、画像処理部２８の画像処理した画像データをデータバスを介してメモリ１２に転送して、メモリ１２の指定のメモリアドレスに画像データＧＤとして書き込む。この書き込みアドレスは、ＣＰＵが書き込んだメモリ１２のライト用ディスディスクリプタＤＰＲによって指定されるアドレスである。
【００３０】
ＡＳＩＣ１３は、画像出力用のＡＳＩＣであり、プロッタＩ／Ｆ３１は、ＲＤＭＡＣ３２を備えていて、ＣＰＵの書き込んだディスクリプタＤＰＲの指定するアドレスから画像データＧＤを読み出してプロッタ４に転送する。
【００３１】
上記画像伸長器２２は、図２に示すようにブロック構成されており、ＲＤＭＡＣ２７が、メモリＩ／Ｆ４１、ＤＰＲリード制御部４２、バッファライト制御部４３、３つのバッファ４４ａ、４４ｂ、４４ｃ及びバッファリード制御部４５等を備えている。また、伸長器２６は、バッファ５１及び演算処理部５２を備えており、演算処理部５２は、終端データ検知部５３を備えている。
【００３２】
伸長器２６は、ＲＤＭＡＣ２７から送られてくる可変長圧縮データB_Dataを一定量バッファ５１に取り込み、演算処理部５２がバッファ５１の圧縮データB_Dataを演算処理部５２で伸長して画像データに変換して、画像処理器２３に出力する。
【００３３】
終端データ検知部５３は、可変長圧縮データの終端を検知し、終端を検知すると、次データ転送許可信号である終端データ信号（NEXT）をＲＤＭＡＣ２７のＤＰＲリード制御部４２、バッファライト制御部４３及びバッファリード制御部４５に出力するとともに、バッファ５１をクリアする。
【００３４】
ＤＰＲリード制御部（ディスクリプタリード制御手段）４２は、下記の３つの条件のうちいずれかの条件を満たす状態になると、メモリ１２上のディスクリプタを読み取らせ、ディスクリプタリード完了通知（ＤＰＲリード完了）をメモリＩ／Ｆ４１とバッファライト制御部４３に通知する。
【００３５】
（ａ）バッファライト制御部４３からのサイズ完了通知を受け取る。
【００３６】
（ｂ）バッファライト制御部４３からサイズ完了通知を受け取る前に、伸長器２６から終端データ信号（NEXT）通知を受け取る。
【００３７】
（ｃ）レジスタ（図示略）からポインタ情報が通知される。
【００３８】
また、ＤＰＲリード制御部４２ディスクリプタ（ＤＰＲ）内に次のディスクリプタポインタ情報があるので、再度通知を受けたときには、そのポインタのディスクリプタを取り込んで、次のディスクリプタポインタ情報が終了となるまで、同様の処理を繰り返す。
【００３９】
メモリＩ／Ｆ部（読み出し手段）４１は、ディスクリプタポインタがＤＰＲリード制御部４２から通知された場合、そのディスクリプタポインタに基づいてリードコマンドを発行する。また、メモリＩ／Ｆ４１は、アドレス生成部４１ａを備えており、ＤＰＲリード制御部４２からＤＰＲリード完了通知を受けると、アドレス生成部４１ａが、バッファライト制御部４３のライトカウンタ４３ａのカウントするライトカウント値とＤＰＲリード制御部４２から通知されるスタートアドレスの和を算出してアドレスを生成する。メモリＩ／Ｆ４１は、アドレス生成部４１ａがアドレスを生成すると、該アドレスに基づいてリードコマンドを発行する。メモリＩ／Ｆ４１は、発行したリードコマンドのメモリ１２のアドレスからを読み取り、読み取ったデータがディスクリプタの場合には、該ディスクリプタをＤＰＲリード制御部４２へ、読み取ったデータが可変長圧縮データA_Dataの場合は、バッファライト制御部４３へ、それぞれ出力する。
【００４０】
バッファライト制御部（バッファライト制御手段）４３は、可変長圧縮データが入力されると、制御を開始し、メモリＩ／Ｆ４１から入力される圧縮データを、３つのバッファ４４ａ〜４４ｃのうち選択したバッファ４４ａ〜４４ｃに格納する。バッファライト制御部４３は、ライトカウンタ４３ａとバッファライトカウンタ４３ｂを備えている。バッファラインカウンタ４３ｂは、圧縮データをバッファ４４ａ〜４４ｃに書き込む毎にカウントアップし、カウントアップする度に、０、１、２、０、１、２、０、・・・のようにカウント値が遷移する。また、バッファライト制御部４３は、バッファ４４ａ〜４４ｃに圧縮データを書き込むごとに、ライト完了通知をバッファリード制御部４５に発行するとともに、ラインカウント４３ａをインクリメントし、ＤＰＲリード制御部４２から通知されるディスクリプタサイズ（ＤＰＲサイズ）とラインカウンタのカウント値が一致すると、サイズ完了通知をＤＰＲリード制御部４２に出力する。
【００４１】
バッファ４４ａ〜４４ｃは、１コマンド分（圧縮単位）の圧縮データを保存できる記憶素子であり、バッファライト制御部４３から可変長圧縮データが格納されて、バッファリード制御部４５によって読み出される。
【００４２】
バッファリード制御部（バッファリード制御手段）４５は、バッファリードカウンタ４５ａを備えており、バッファライト制御部４３からライト完了通知を受け取ると、バッファリードカウンタ４５ａのカウント値に基づいて可変長圧縮データをバッファ４４ａ〜４４ｃから取り出す。バッファリードカウンタ４５ａは、３つバッファ４４ａ〜４４ｃがある場合、カウントアップする度に、０、１、２、０、１、２、０、・・・とカウント値が遷移する。また、バッファリード制御部４５は、バッファ４４ａ〜４４ｃから読み込んだ可変長圧縮データを伸長器２６に可変長圧縮データB_Dataとして出力すると、可変長圧縮データB_Dataを出力するごとに、リード完了通知をメモリＩ／Ｆ４１に発行する。
【００４３】
すなわち、画像伸長器２２は、メモリ１２に格納された可変長圧縮データ（符号データ）ＦＤの読み出し時間を短縮して、入力画像データを圧縮してメモリ１２に格納する圧縮転送処理とメモリ１２の圧縮データを読み出して伸長する伸長転送処理とを適切に連携させて、圧縮転送処理と伸長転送処理の全体の転送処理に要する転送時間を短縮し、ファーストコピー時間を短縮させる。
【００４４】
そして、本実施例の複合装置１は、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、ＥＰＲＯＭ、フラッシュメモリ、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Versatile Disk）、ＳＤ（Secure Digital）カード、ＭＯ（Magneto-Optical Disc）等のコンピュータが読み取り可能な記録媒体に記録されている本発明の画像処理方法を実行する画像処理プログラムを読み込んでＲＯＭ等に導入することで、後述するメモリ１２に書き込まれた圧縮データの読み出し時間を短縮して、画像を圧縮してメモリ１２に転送する圧縮転送から該メモリ１２の圧縮データを伸長器２６に転送する伸長転送の連携をより一層適切に行い、転送処理時間をより一層短縮する画像処理方法を実行する画像処理装置として構築されている。この画像処理プログラムは、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
【００４５】
次に、本実施例の作用を説明する。本実施例の複合装置１は、メモリ１２に格納された可変長圧縮データ（符号データ）ＦＤの読み出し時間を短縮して、入力画像データを圧縮してメモリ１２に格納する圧縮転送処理とメモリ１２の圧縮データを読み出して伸長する伸長転送処理とを適切に連携させて、圧縮転送処理と伸長転送処理の全体の転送処理に要する転送時間を短縮させる。
【００４６】
すなわち、一定の速度で入力される入力画像データを可変長圧縮してメモリ１２に転送保管し、メモリ１２上の可変長圧縮データを読み出して伸長して出力する場合、入力画像データを可変長圧縮してメモリ１２へ転送する圧縮転送処理に対して、メモリ１２内の可変長圧縮データを読み出して伸長する伸長転送処理よりもバスの使用権を優先的に与えてデータ転送を行う。したがって、圧縮転送が伸長転送を追い抜いて適切な後段の処理を行うことができなくなるおそれがある。
【００４７】
そこで、本実施例の複合装置１は、ＲＤＭＡＣ２７によるメモリ１２の可変長圧縮データの読み出し時間を短縮して、圧縮転送処理と伸長転送処理を適切に連携させ、転送処理全体の処理速度の向上を図っている。
【００４８】
まず、ＲＤＭＡＣ２７のバッファリード制御部４５の処理について、図３に基づいて説明する。バッファリード制御部４５は、バッファリードカウンタ４５ａのカウント値に対応するバッファ４４ａ〜４４ｃから可変長圧縮データを取得して伸長器２６に出力し（ステップＳ１０１）、バッファリードカウンタ４５ａのカウント値を、インクリメントする（ステップＳ１０２）。このバッファリードカウンタ４５ａのカウント値は、上述のように、０、１、２、０、１、２、０、・・・と遷移する。バッファリード制御部４５は、バッファリードカウンタ４５ａのカウント値をインクリメントすると、リード完了通知をメモリＩ／Ｆ４１に出力し（ステップＳ１０３）、伸長器２６から終端データ信号（NEXT）通知があるかチェックする（ステップＳ１０４）。
【００４９】
バッファリード制御部４５は、ステップＳ１０４で、終端データ信号（NEXT）通知がないときには、そのまま処理を終了し、終端データ信号（NEXT）通知があると、バッファライト制御部４３から通知されるバッファライトカウントによってバッファリードカウンタ４５ａを上書きして、終端データ信号（NEXT）通知によって無効データを送った際のカウントアップを無効にして、処理を終了する（ステップＳ１０５）。
【００５０】
次に、バッファライト制御部４３の処理について、図４に基づいて説明する。バッファライト制御部４３は、メモリ１２から読み取った可変長圧縮データがメモリＩ／Ｆ４１から入力されると、バッファライトカウンタ４３ｂのカウント値のバッファ４４ａ〜４４ｃを選択して該可変長圧縮データを格納し（ステップＳ２０１）、ライトカウンタ４３ａ及びバッファライトカウンタ４３ｂのカウント値をインクリメントする（ステップＳ２０２）。このバッファライトカウンタ４３ｂのカウント値は、上述のように、０、１、２、０、１、２、０、・・・とカウント値が遷移する。
【００５１】
バッファライト制御部４３は、ライト完了通知をバッファリード制御部４５に行って（ステップＳ２０３）、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウンタ４３ａのカウント値（ライトカウント）と一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックする（ステップＳ２０４）。
【００５２】
バッファライト制御部４３は、ステップＳ２０４で、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致せず、かつ、終端データ信号（NEXT）通知もないときには、そのまま処理を終了し、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致したか、または、終端データ信号（NEXT）通知があると、終端データ信号（NEXT）であるかチェックする（ステップＳ２０５）。
【００５３】
バッファライト制御部４３は、ステップＳ２０５で、終端データ信号（NEXT）でないときには、サイズ完了通知をＤＰＲリード制御部４２に行った後（ステップＳ２０６）、ライトカウンタ４３ａをクリアして、処理を終了し（ステップＳ２０７）、終端データ信号（NEXT）であるときには、ライトカウンタ４３ａをクリアして、処理を終了する（ステップＳ２０７）。
【００５４】
したがって、ディスクリプタ（ＤＰＲ）に記載されているデータサイズ（ＤＰＲサイズ）よりも圧縮器２４で圧縮されて、ディスクリプタに従ってＷＤＭＡＣ２１によってメモリ１２に書き込まれた可変長圧縮データのデータサイズの方が小さい場合には、例えば、図５に示すように、ＤＰＲサイズ内に可変長圧縮データが納まり、このときのバッファライト制御部４３とバッファリード制御部４５の各信号及びデータのタイミングは、図６のように示される。なお、図５において、メモリ領域の左側に示されているＤＰＲ１、ＤＰＲ２が、対応する位置の可変長圧縮データ用のディスクリプタを示しており、メモリ領域に記載されている各数値（１、２、・・・・ｎ＋５、ｎ＋６）が１コマンド分の可変長圧縮データであって、数字は、何回コマンドを発行すると、読み込みデータであるかを示している。数値のうち、「ｎ」は、終端データの含まれている可変長圧縮データを読み込むコマンド回数を示している。
【００５５】
そして、図６において、バッファリードカウント、バッファライトカウントの値、「０」、「１」、「２」は、バッファ４４ａ、４４ｂ、４４ｃのうち、どのバッファ４４ａ、４４ｂ、４４ｃに可変長圧縮データを格納するか、また、読み出すかを示している。そして、バッファライト制御部４３は、終端データが含まれているｎ番目の可変長圧縮データが、伸長器２６で処理されて、終端データ信号（NEXT）通知を受け取ると、次のディスクリプタ（図６では、ＤＰＲ２）の読み込みを行い、次のブロック（ブロック２）のコマンドが発行される。
【００５６】
また、ディスクリプタ（ＤＰＲ）に記載されているデータサイズ（ＤＰＲサイズ）よりも圧縮器２４で圧縮されて、ディスクリプタに従ってＷＤＭＡＣ２１によってメモリ１２に書き込まれた可変長圧縮データのデータサイズの方が大きい場合には、例えば、図７に示すように、ＤＰＲサイズ内に可変長圧縮データが納まりきれず、このときのバッファライト制御部４３とバッファリード制御部４５の各信号及びデータのタイミングは、図８に示すように示される。なお、図７の数値等は、図５の場合と同様である。
【００５７】
そして、図８において、ライトカウントとＤＰＲサイズが同じになると、バッファライト制御部４３は、ＤＰＲリード制御部４２にサイズ完了通知を出力し、次のディスクリプタ（図８では、ＤＰＲ２）が読み込みを行い、次のブロック（ブロック２）のコマンドが発行される。バッファライト制御部４３は、サイズ完了通知を発行した後に、伸長器２６からNEXT信号が通知されると、伸長器２６内のバッファ５１がクリアされるため、バッファライトカウンタ４３ｂのカウント値であるバッファライトカウントが初期値の「０」となって、次のブロック（図８では、ＤＰＲ２）の最初からコマンドが発行される。
【００５８】
このように、本実施例の複合装置１は、所定データ量を圧縮単位として可変長圧縮されてメモリ１２に記憶された圧縮データを、伸長器２６からの次データ転送許可信号である終端データ信号（NEXT）通知に応じてディスクリプタに基づいてメモリ１２から圧縮単位毎に圧縮データを読み出して伸長器２６に転送する場合に、メモリ１２から読み出した圧縮単位の圧縮データを複数のバッファ４４ａ〜４４ｃのうち適宜のバッファ４４ａ〜４４ｃに書き込み、該圧縮データのバッファ４４ａ〜４４ｃへの書き込みを完了すると書き込み完了通知であるライト完了通知をバッファリード制御部４５に発行して、該ライト完了通知に基づいてバッファリード制御部４５が、該バッファ４４ａ〜４４ｃに書き込まれた圧縮データの読み出しを制御して、読み出した圧縮データを伸長器２６へ出力する。また、バッファライト制御部４３が、メモリ１２から読み出した圧縮単位の圧縮データのデータサイズをライトカウンタ４３ａのカウント結果によって判定し、圧縮データサイズがディスクリプタの指定する指定データサイズであるＤＰＲサイズを越えていると判定されるか、伸長器２６からの終端データ信号（NEXT）通知が入力されると、バッファライト制御部４３が、サイズ完了通知をＤＰＲリード制御部４２に発行して、ＤＰＲリード制御部４２が、サイズ完了通知があると、次のディスクリプタと圧縮データのメモリ１２からの読み出しを行っている。
【００５９】
したがって、圧縮データサイズがディスクリプタで指定されたデータサイズ（ＤＰＲサイズ）よりも小さい場合であっても、バッファ４４ａ〜４４ｃを制御して速やかにメモリ１２から圧縮データを伸長器２６へ転送することができ、メモリ１２に書き込まれた圧縮データの読み出し時間を短縮することができる。その結果、画像データを圧縮してメモリ１２に転送する圧縮転送からメモリ１２の圧縮データを伸長器２６に転送する伸長転送の連携をより一層適切に行って、転送処理時間をより一層短縮することができる。
【００６０】
また、本実施例の複合装置１は、ライトカウンタ４３ａにより、バッファライト制御部４３がバッファ４４ａ〜４４ｃに書き込んだ回数をカウントしている。
【００６１】
したがって、ライトカウンタ４３ａのライトカウント値によって、サイズ完了を判断して、次のディスクリプタの読み取りを行うことができ、圧縮データのメモリ１２からのリード処理をより一層高速に行うことができる。
【００６２】
なお、本実施例の複合装置１においては、ＲＤＭＡＣ２７のバッファライト制御部４３に、無効データカウンタ（図示略）とサイズ完了フラグを設けてこれらの動作状態に応じて可変長圧縮データのバッファ４４ａ〜４４ｃへの書き込みを制御してもよい。この場合、バッファライト制御部４３は、終端データ信号（NEXT）通知が伸長器２６から入る前にサイズ完了通知をアサートするときに同時にサイズ完了フラグをアサートし、その後、終端データ信号（NEXT）通知が入ると、サイズ完了フラグをネゲートする。また、無効データカウンタは、サイズ完了フラグがアサートされていて、かつ、ライトカウントがバッファ４４ａ〜４４ｃの数である「３」となったときに、無効データカウント値をインクリメントする。
【００６３】
そして、この場合、バッファライト制御部４３は、図９及び図１０に示すように処理を行う。なお、図９及び図１０において、図４の処理ステップと同様の処理ステップには、同一のステップナンバを付与して、その説明を簡略化する。すなわち、バッファライト制御部４３は、メモリ１２から読み取った可変長圧縮データがメモリＩ／Ｆ４１から入力されると、サイズ完了フラグがアサートされていて、かつ、ライトカウンタ４３ａのライトカウント値がバッファ４４ａ〜４４ｃの数である「３」であるかチェックし（ステップＳ３０１）、サイズ完了フラグがアサートされていて、かつ、ライトカウンタ４３ａのライトカウント値が３（バッファ４４ａ〜４４ｃの数）であるという条件を満たしていないときには、無効データカウンタのカウント値（無効データカウント）が、「０」よりも大きいかチェックする（ステップＳ３０２）。
【００６４】
バッファライト制御部４３は、ステップＳ３０２で、無効データカウントが「０」のときには、バッファライトカウンタ４３ｂのカウント値のバッファ４４ａ〜４４ｃを選択して該可変長圧縮データを格納し（ステップＳ２０１）、ライトカウンタ４３ａ及びバッファライトカウンタ４３ｂのカウント値をインクリメントする（ステップＳ２０２）。そして、バッファライト制御部４３は、ライト完了通知をバッファリード制御部４５に行って（ステップＳ２０３）、図１０に示すように、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックする（ステップＳ２０４）。
【００６５】
バッファライト制御部４３は、上記ステップＳ３０２で、無効データカウントが「０」よりも大きいと、無効データカウンタのカウント値をデクリメントし（ステップＳ３０３）、ライト完了通知をバッファリード制御部４５に行って（ステップＳ２０３）、図１０に示すように、ＤＰＲサイズがライトカウントと一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックする（ステップＳ２０４）。
【００６６】
さらに、バッファライト制御部４３は、上記ステップＳ３０１で、サイズ完了フラグがアサートされていて、かつ、ライトカウンタ４３ａのライトカウント値がバッファ４４ａ〜４４ｃの数である「３」であるという条件を満たしているときには、無効データカウンタのカウント値をインクリメントし（ステップＳ３０４）、ライト完了通知をバッファリード制御部４５に行って（ステップＳ２０３）、図１０に示すように、ＤＰＲサイズがライトカウントと一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックする（ステップＳ２０４）。
【００６７】
バッファライト制御部４３は、ステップＳ２０４で、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致せず、かつ、終端データ信号（NEXT）通知もないときには、そのまま処理を終了し、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致したか、または、終端データ信号（NEXT）通知があると、終端データ信号（NEXT）であるかチェックする（ステップＳ２０５）。
【００６８】
バッファライト制御部４３は、ステップＳ２０５で、終端データ信号（NEXT）でないときには、サイズ完了フラグをアサートして（ステップＳ３０５）、サイズ完了通知をＤＰＲリード制御部４２に行った後（ステップＳ２０６）、ライトカウンタ４３ａをクリアして、処理を終了する（ステップＳ２０７）。
【００６９】
バッファライト制御部４３は、ステップＳ２０５で、終端データ信号（NEXT）であるときには、サイズ完了フラグの状態をチェックし（ステップＳ３０６）、サイズ完了フラグがネゲートのときには、ライトカウンタ４３ａをクリアして、処理を終了する（ステップＳ２０７）。バッファライト制御部４３は、ステップＳ３０６で、サイズ完了フラグがアサートのときには、サイズ完了フラグをネゲートして処理を終了する（ステップＳ３０７）。
【００７０】
そして、図９及び図１０の場合、バッファライト制御部４３とバッファリード制御部４５の各信号及びデータのタイミングは、図１１のように示される。すなわち、ライトカウンタ４３ａのカウント値であるライトカウントとディスクリプタ（ＤＰＲサイズ）が一致すると、バッファライト制御部４３は、ＤＰＲリード制御部４２にサイズ完了通知を出し、次のディスクリプタ（図１１では、ＤＰＲ２）の読み込みを行わせ、次のブロック（ブロック２）のコマンドをメモリＩ／Ｆ４１に発行させる。
【００７１】
バッファライト制御部４３は、入力される可変長圧縮データ（A_Data）がバッファ４４ａ〜４４ｃの数である「３」を超えると、バッファ４４ａ〜４４ｃに可変長圧縮データを格納しなくなり、その間、コマンドに影響するライトカウンタ４３とバッファライトカウンタ４３ｂのカウントアップを停止する。
【００７２】
バッファライト制御部４３は、終端データ信号（NEXT）がアサートされると、無効データのコマンドを発行した分だけ、バッファ４４ａ〜４４ｃに可変長圧縮データを格納せずに、有効データの分から可変長圧縮データの格納を始める。
【００７３】
このように、ＲＤＭＡＣ２７のバッファライト制御部４３が、無効な圧縮データをカウントする無効データカウンタを備えていると、入力される無効データの数をカウントすることができ、圧縮データのメモリ１２からの読み取り処理を高速に行うことができるとともに、無効データの処理を適切に行うことができる。
【００７４】
また、このように、ライトカウンタ４３ａが、伸長器２６からの終端データ信号（NEXT）通知よりも前に、圧縮データのデータサイズが指定データサイズであるＤＰＲサイズを越えていると判定すると、バッファ４４ａ〜４４ｃへの無効データの書き込みを禁止すると、効率的に可変圧縮データを伸長器２６に出力することができ、より一層処理速度を向上させることができる。
【００７５】
また、本実施例の複合装置１は、バッファライト制御部（先投げ制御手段）４３に、図示しないが、可変長圧縮データの先投げ個数の設定されるレジスタ（先投げ個数設定手段）及びこの先投げしたコマンド数をカウントする先投げカウンタを設け、メモリＩ／Ｆ４１からコマンドの先投げを行うようにしてもよい。この場合、コマンドの先投げ個数の設定値は、ＣＰＵによってレジスタに設定され、先投げカウンタは、ＤＰＲリード制御部４２からのＤＰＲリード完了通知がアサートされると、先投げ設定値がレジスタから代入されて、先投げカウント値が「０」になるまでデクリメントされる。なお、ここで、先投げとは、メモリＩ／Ｆ４１からメモリ１２にデータ読み取りのための読み取りコマンドを発行した後、該読み取りコマンドに対する読み取りデータ応答を待つことなく次の読み取りコマンドを発行することをいう。
【００７６】
この場合、バッファライト制御部４３は、図１２に示すように、図４のステップＳ２０２からステップＳ２０４の間に、コマンドの先投げに関する処理が追加された処理を実行する。なお、図１２において、図４の処理ステップと同様の処理ステップには、同一のステップナンバを付与して、その説明を簡略化する。すなわち、バッファライト制御部４３は、メモリ１２から読み取った可変長圧縮データがメモリＩ／Ｆ４１から入力されると、図４に示したステップＳ２０１の処理であるバッファライトカウンタ４３ｂのカウント値のバッファ４４ａ〜４４ｃを選択して該可変長圧縮データを格納し、ライトカウンタ４３ａ及びバッファライトカウンタ４３ｂのカウント値をインクリメントする（ステップＳ２０２）。なお、この処理を行う場合、ライトカウントのクリアの初期値は、コマンドの先投げ個数設定値である。
【００７７】
次に、バッファライト制御部４３は、先投げカウンタのカウント値が「０」よりも大きい（先投げカウント＞０）か否かチェックし（ステップＳ４０１）、先投げカウント値が「０」のときには、バッファリード制御部４５にライト完了通知を行って（ステップＳ２０３）、ＤＰＲリード制御部４２からＤＰＲリード完了通知があるかチェックする（ステップＳ４０３）。
【００７８】
バッファライト制御部４３は、ステップＳ４０１で、先投げカウンタの先投げカウント値が「０」よりも大きいときには、先投げカウンタの先投げカウント値をデクリメントして（ステップＳ４０２）、ライト完了通知を行うことなく、ＤＰＲリード完了通知があるかチェックする（ステップＳ４０３）。
【００７９】
バッファライト制御部４３は、ステップＳ４０３で、ＤＰＲリード完了通知がないときには、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックして（ステップＳ２０４）、以降、図４の場合と同様に処理する。
【００８０】
バッファライト制御部４３は、ステップＳ４０３で、ＤＰＲリード完了通知があるときには、処理開始前にレジスタにセットされた先投げ個数設定値を先投げカウンタに入力し（ステップＳ４０４）、ＤＰＲサイズ（ディスクリプタサイズ）がライトカウントと一致（ＤＰＲサイズ＝ライトカウント）したか、または、終端データ信号（NEXT）通知があったかをチェックして（ステップＳ２０４）、以降、図４の場合と同様に処理する。
【００８１】
そして、図１２の場合、バッファライト制御部４３とバッファリード制御部４５の各信号及びデータのタイミングは、図１３のように示される。なお、図１３は、レジスタに設定された先投げ個数を、「３」としたときを示している。すなわち、メモリＩ／Ｆ４１が、ＤＰＲリード（ディスクリプタリード）完了後に、先投げ分コマンドを発行し、ＤＰＲ２を読み込む。このとき、バッファライト制御部４３が完了通知を３回出さないため、その分、バッファリード制御部４５から可変長圧縮データB_Dataが出力されなくなる。バッファリード制御部４５は、終端データ信号（NEXT）を受け取ると、バッファ４４ａ〜４４ｃに先投げ分の可変長圧縮データが溜まっているため、可変圧縮データB_Dataの出力を開始する。
【００８２】
このように、メモリＩ／Ｆ４１にディスクリプタ及び圧縮データを読み取るための読み取りコマンド（リードコマンド）をメモリ１２に発行した後、該読み取りコマンドの応答を待つことなく次の読み取りコマンドを発行を発行する先投げコマンドの個数がレジスタに設定されると、該レジスタに設定されている先投げコマンドの個数だけメモリＩ／Ｆ４１にコマンドの先投げを行わせると、適宜の先投げ個数を設定して先投げを行うことができ、メモリ１２へのバスの利用帯域を最適化して、圧縮データの読み取り処理の処理効率を向上させることができる。
【００８３】
また、バッファライト制御部４３が、先投げ個数だけバッファ４４ａ〜４４ｃへの圧縮データの書き込みが完了してもライト完了通知の発行を停止すると、先投げコマンドの発行を適切に行うことができる。
【００８４】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【００８５】
本発明は、入力画像データを一旦可変長圧縮してメモリに保管した後に該メモリの圧縮データを伸長して出力する複写装置、複合装置等の画像処理装置、画像処理方法、画像処理プログラム及び記録媒体に利用することができる。
【符号の説明】
【００８６】
１  複合装置
２  スキャナ
３  コントローラボード
４  プロッタ
１１  ＡＳＩＣ
１２  メモリ
１３  ＡＳＩＣ
２１  スキャナＩ／Ｆ
２２  画像伸長器
２３  画像処理器
２４  圧縮器
２５  ＷＤＭＡＣ
２６  伸長器
２７  ＲＤＭＡＣ
２８  画像処理部
２９  ＷＤＭＡＣ
ＦＤ  圧縮データ（符号データ）
ＧＤ  画像データ
３１  プロッタＩ／Ｆ
３２  ＲＤＭＡＣ
４１  メモリＩ／Ｆ
４２  ＤＰＲリード制御部
４３  バッファライト制御部
４４ａ、４４ｂ、４４ｃ  バッファ
４５  バッファリード制御部
５１  バッファ
５２  演算処理部
５３  終端データ検知部
【先行技術文献】
【特許文献】
【００８７】
【特許文献１】特開２００９−３３４２８号公報
【図１】
2011155609.tif 000003
【図２】
2011155609.tif 000004
【図３】
2011155609.tif 000005
【図４】
2011155609.tif 000006
【図５】
2011155609.tif 000007
【図６】
2011155609.tif 000008
【図７】
2011155609.tif 000009
【図８】
2011155609.tif 000010
【図９】
2011155609.tif 000011
【図１０】
2011155609.tif 000012
【図１１】
2011155609.tif 000013
【図１２】
2011155609.tif 000014
【図１３】
2011155609.tif 000015