(57)【要約】【課題】本発明は、画像圧縮処理を行って画像を一旦保管した後に画像形成する画像形成装置及び画像処理方法に関する。【解決手段】画像形成装置１は、データ圧縮処理部２４による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を圧縮情報メモリ書き戻し部２６がメモリ２に書き戻し、該書き戻された圧縮情報を利用してデータ圧縮処理部２４が圧縮処理を行う。したがって、画像データの１ページを複数のバンドに分けて可変長圧縮する場合にも、圧縮処理のためのパラメータ設定やデータ圧縮処理部２４の起動等のソフトウェアによる処理を省いて処理効率を向上させることができる。【選択図】          図１
2008227872.tif 000002
【特許請求の範囲】
【請求項１】
メモリ上に符号用メモリ領域を確保するメモリ確保手段と、該確保された符号用メモリ領域の情報等に基づいて該メモリに元画像用ディスクリプタ及び符号用ディスクリプタ等の圧縮指示情報を設定する圧縮指示情報設定手段と、該メモリから該元画像用ディスクリプタと該符号用ディスクリプタを読み出すディスクリプタ読出手段と、該ディスクリプタ読出手段の読み出した元画像用ディスクリプタに基づいて該メモリ上の元画像を所定の可変長圧縮方法で圧縮処理し該圧縮処理した符号を該メモリの該ディスクリプタ読出手段の読み出した符号用メモリ領域に書き込む圧縮手段と、該圧縮手段による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を前記メモリに書き戻す圧縮情報書き戻し手段とを備え、前記ディスクリプタ読出手段が前記圧縮指示情報設定手段で設定した圧縮情報を読み出して、該ディスクリプタ読出手段の読み出した圧縮情報に基づいて前記圧縮手段が圧縮処理を行うことを特徴とする画像形成装置。
【請求項２】
前記画像形成装置は、前記圧縮処理の一時停止状態を保持する一時停止状態保持手段と、前記圧縮情報書き戻し手段が前記メモリに書き戻した前記圧縮情報を読み出す圧縮情報読出手段と、を備え、前記符号用メモリ領域の不足等の理由で前記圧縮処理の一時停止が発生すると、該一時停止状態保持手段が該一時停止状態を保持し、該一時停止状態中に、該圧縮情報読出手段が前記圧縮情報を読み出し、前記メモリ確保手段が該読み出された圧縮情報に基づいて前記符号用メモリ領域の再確保を行い、前記圧縮指示情報設定手段が該再確保された符号用メモリ領域情報等に基づいて前記圧縮指示情報を再設定し、該一時停止状態が解除されると、該再設定された圧縮指示情報に応じて前記圧縮手段による圧縮処理を再開することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記画像形成装置は、前記メモリ確保手段による前記符号用メモリ領域のメモリ確保量として適宜のメモリ量を指示するメモリ確保指示手段を、さらに備えていることを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項４】
前記画像形成装置は、過去の圧縮履歴等から圧縮対象の元画像データの圧縮率を予測して最適な符号用メモリ量を予測する符号量予測手段を備え、前記メモリ確保手段が、該符号量予測手段の予測した符号用メモリ量に応じた符号用メモリ領域を前記メモリに確保することを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項５】
前記画像形成装置は、前記圧縮手段での符号サイズ等の圧縮完了状態を解析する解析手段を備え、該解析手段が前記圧縮処理によって前記元画像データよりも前記符号が膨張したことを解析すると、該符号を破棄して該元画像データを前記メモリに格納することを特徴とする請求項１から請求項４のいずれかに記載の画像形成装置。
【請求項６】
メモリ上に符号用メモリ領域を確保するメモリ確保工程と、該確保された符号用メモリ領域の情報等に基づいて該メモリに元画像用ディスクリプタ及び符号用ディスクリプタ等の圧縮指示情報を設定する圧縮指示情報設定工程と、該メモリから該元画像用ディスクリプタと該符号用ディスクリプタを読み出すディスクリプタ読出工程と、該ディスクリプタ読出工程で読み出された元画像用ディスクリプタに基づいて該メモリ上の元画像を所定の可変長圧縮方法で圧縮処理し該圧縮処理した符号を該ディスクリプタ読出工程で読み出された該メモリの符号用メモリ領域に書き込む圧縮工程と、前記圧縮工程による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を前記メモリに書き戻す圧縮情報書き戻し工程とを有し、前記ディスクリプタ読出工程において前記圧縮指示情報設定工程で設定した圧縮情報を読み出して、前記圧縮工程において該ディスクリプタ読出工程で読み出した圧縮情報に基づいて圧縮処理を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及び画像処理方法に関し、詳細には、画像圧縮処理を行って画像を一旦保管した後に画像形成する画像形成装置及び画像処理方法に関する。
【背景技術】
【０００２】
スキャナで読み取られた画像をプロッタで印刷出力する場合、スキャナによってＲＧＢ点順次で読み取られた画像を画像処理して、プロッタで出力するためのＣＭＹＫ面順次の画像に変換するが、ＲＧＢ点順次画像をＣＭＹＫ面順次画像に変換する過程では、Ｃ，Ｍ，Ｙ，Ｋそれぞれの画像データを同時に生成する。
【０００３】
そして、スキャナ、複写装置等の画像処理装置においては、スキャナで読み取った画像を圧縮処理して一旦メモリに蓄積し、その後、メモリから圧縮データを読み出し、リアルタイムに伸長してプロッタに出力することが行われている。
【０００４】
この画像を圧縮処理する際には、Ｃ，Ｍ，Ｙ，Ｋの画像が１ページ分画像処理されてから圧縮処理を開始するのでは、ファーストコピーの速度が遅くなり、また、１ページ分の画像を１つの符号として圧縮すると、ページの一部分を復号する場合にも１ページ分全体の復号処理が必要になる。さらに、Ｃ，Ｍ，Ｙ，Ｋの画像が１ページ分画像処理されるためには、各色１ページ分のメモリ領域を確保しないと、画像処理が開始できない。
【０００５】
そこで、従来から、１ページを複数のバンドに分けて画像処理することが行われている。
【０００６】
また、従来、プリンタエンジンへの画像データの転送が間に合わない圧縮率であると、圧縮後の符号（画像データ）を格納するメモリを複数に分け、画像データの読み出し時には、該複数のメモリを同時にアクセスすることで、画像の取り込みが間に合わなくなることを防ぐ技術が提案されている（特許文献１参照）。
【０００７】
【特許文献１】特開２００５−２２３６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術にあっては、画像データの圧縮を効率的にかつ高速に行う上で、改良の必要があった。
【０００９】
すなわち、従来の画像データの１ページを複数のバンドに分けて画像処理する技術を利用して、画像データを圧縮する場合、一度に圧縮する画像データサイズが小さくなるため、圧縮処理のためのパラメータ設定、圧縮器の起動等の制御回路によるソフトウェア処理が頻発し、処理効率を低下させて、処理速度を向上させる上で、改良の必要があった。
【００１０】
また、特許文献１記載の従来技術にあっては、圧縮後の画像データを物理的に複数のメモリに分けて格納することで処理速度の向上を図っているため、物理的に異なるメモリを複数個必要とし、メモリの利用効率が悪いだけでなく、コストが高くなるという問題がある。
【００１１】
そこで、本発明は、メモリの利用効率を向上させつつ、画像圧縮処理速度を向上させることのできる画像形成装置及び画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【００１２】
請求項１記載の発明の画像形成装置は、メモリ上に符号用メモリ領域を確保するメモリ確保手段と、該確保された符号用メモリ領域の情報等に基づいて該メモリに元画像用ディスクリプタ及び符号用ディスクリプタ等の圧縮指示情報を設定する圧縮指示情報設定手段と、該メモリから該元画像用ディスクリプタと該符号用ディスクリプタを読み出すディスクリプタ読出手段と、該ディスクリプタ読出手段の読み出した元画像用ディスクリプタに基づいて該メモリ上の元画像を所定の可変長圧縮方法で圧縮処理し該圧縮処理した符号を該メモリの該ディスクリプタ読出手段の読み出した符号用メモリ領域に書き込む圧縮手段と、該圧縮手段による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を前記メモリに書き戻す圧縮情報書き戻し手段とを備え、前記ディスクリプタ読出手段が前記圧縮指示情報設定手段で設定した圧縮情報を読み出して、該ディスクリプタ読出手段の読み出した圧縮情報に基づいて前記圧縮手段が圧縮処理を行うことにより、上記目的を達成している。
【００１３】
この場合、例えば、請求項２に記載するように、前記画像形成装置は、前記圧縮処理の一時停止状態を保持する一時停止状態保持手段と、前記圧縮情報書き戻し手段が前記メモリに書き戻した前記圧縮情報を読み出す圧縮情報読出手段と、を備え、前記符号用メモリ領域の不足等の理由で前記圧縮処理の一時停止が発生すると、該一時停止状態保持手段が該一時停止状態を保持し、該一時停止状態中に、該圧縮情報読出手段が前記圧縮情報を読み出し、前記メモリ確保手段が該読み出された圧縮情報に基づいて前記符号用メモリ領域の再確保を行い、前記圧縮指示情報設定手段が該再確保された符号用メモリ領域情報等に基づいて前記圧縮指示情報を再設定し、該一時停止状態が解除されると、該再設定された圧縮指示情報に応じて前記圧縮手段による圧縮処理を再開してもよい。
【００１４】
また、例えば、請求項３に記載するように、前記画像形成装置は、前記メモリ確保手段による前記符号用メモリ領域のメモリ確保量として適宜のメモリ量を指示するメモリ確保指示手段を、さらに備えていてもよい。
【００１５】
さらに、例えば、請求項４に記載するように、前記画像形成装置は、過去の圧縮履歴等から圧縮対象の元画像データの圧縮率を予測して最適な符号用メモリ量を予測する符号量予測手段を備え、前記メモリ確保手段が、該符号量予測手段の予測した符号用メモリ量に応じた符号用メモリ領域を前記メモリに確保してもよい。
【００１６】
また、例えば、請求項５に記載するように、前記画像形成装置は、前記圧縮手段での符号サイズ等の圧縮完了状態を解析する解析手段を備え、該解析手段が前記圧縮処理によって前記元画像データよりも前記符号が膨張したことを解析すると、該符号を破棄して該元画像データを前記メモリに格納してもよい。
【００１７】
請求項６記載の発明の画像処理方法は、メモリ上に符号用メモリ領域を確保するメモリ確保工程と、該確保された符号用メモリ領域の情報等に基づいて該メモリに元画像用ディスクリプタ及び符号用ディスクリプタ等の圧縮指示情報を設定する圧縮指示情報設定工程と、該メモリから該元画像用ディスクリプタと該符号用ディスクリプタを読み出すディスクリプタ読出工程と、該ディスクリプタ読出工程で読み出された元画像用ディスクリプタに基づいて該メモリ上の元画像を所定の可変長圧縮方法で圧縮処理し該圧縮処理した符号を該ディスクリプタ読出工程で読み出された該メモリの符号用メモリ領域に書き込む圧縮工程と、前記圧縮工程による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を前記メモリに書き戻す圧縮情報書き戻し工程とを有し、前記ディスクリプタ読出工程において前記圧縮指示情報設定工程で設定した圧縮情報を読み出して、前記圧縮工程において該ディスクリプタ読出工程で読み出した圧縮情報に基づいて圧縮処理を行うことにより、上記目的を達成している。
【発明の効果】
【００１８】
本発明によれば、圧縮手段による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報をメモリに書き戻し、該書き戻された圧縮情報を利用して圧縮手段が圧縮処理を行うので、画像データの１ページを複数のバンドに分けて可変長圧縮する場合にも、圧縮処理のためのパラメータ設定や圧縮手段の起動等のソフトウェアによる処理を省いて処理効率を向上させることができ、処理速度を向上させることができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【実施例１】
【００２０】
図１〜図７は、本発明の画像形成装置及び画像処理方法の第１実施例を示す図であり、図１は、本発明の画像形成装置及び画像処理方法の第１実施例を適用した画像形成装置１の機能ブロック構成図である。
【００２１】
図１において、画像形成装置１は、コピー装置、プリンタ、複合装置等であり、メモリ２、優先順位指示部３、メモリ領域確保部４、圧縮処理パラメータ設定部５、圧縮情報リード部６、圧縮処理完了状態解析部７、割り込み検知部８、圧縮処理起動部、圧縮処理再起動部１０及び圧縮処理部１１等を備えている。なお、図１には、後述する実施例で用いる符号量予測部１２が破線で記載されている。
【００２２】
圧縮処理部１１は、圧縮パラメータ保持部２１、元画像用ディスクリプタリード部２２、符号用ディスクリプタリード部２３、データ圧縮処理部２４、圧縮処理シーケンス制御部２５、圧縮情報メモリ書き戻し部２６、一時停止状態保持部２７及び割り込み発生部２８等を備えている。
【００２３】
画像形成装置１は、図示しないが、ＣＰＵ（Central Processing Unit ）、大容量不揮発性メモリ（ハードディスク等）及び画像形成エンジン等のハードウェアを備えており、ＣＤ（Compact Disc）、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory ）、ＣＤ−ＲＷ（Compact Disc Rewritable ）、ＤＶＤ（Digital Video Disk）、メモリカードフレキシブルディスク等の記録媒体に記録されている画像処理プログラムと必要なデータを、大容量不揮発性メモリに読み込んで格納して、適宜のＯＳ（Operating System）上で実行することで、後述する画像処理方法を実行する画像形成装置１が構築されている。そして、上記メモリ２と圧縮処理部１１は、ハードウェアで実装され、優先順位指示部３、符号量予測部１２、メモリ領域確保部４、圧縮処理パラメータ設定部５、圧縮情報リード部６、圧縮処理完了状態解析部７、割り込み検知部８、圧縮処理起動部９、圧縮処理再起動部１０及び後述する符号量予測部１２は、ソフトウェアで実装されている。
【００２４】
メモリ２は、ＲＡＭ（Random Access Memory）等で構成され、圧縮元の画像データ（元画像データ）、圧縮後の符号（圧縮後画像データ）、元画像保存先のアドレス、サイズ、処理方法等の情報を保持する元画像用ディスクリプタ及び符号保存先のアドレス、サイズ、処理方法等の情報を保持する符号用ディスクリプタ等を保存するとともに、圧縮情報メモリ書き戻し部２６によって書き戻されるデータ圧縮部２４での圧縮処理によっる圧縮処理に関連する各種圧縮情報を保存する。なお、本実施例の画像形成装置１は、この圧縮情報メモリ書き戻し部２６が、メモリ２の符号用ディスクリプタに圧縮情報を書き戻しているが、書き戻すメモリ２の領域としては、符号用ディスクリプタに限るものではなく、メモリ２の領域であって、書き戻された圧縮情報の場所を認識して、読み書きが可能な領域であればよい。
【００２５】
優先順位指示部（メモリ確保指示手段）３は、画像形成装置１の保持するメモリ２のメモリ容量等に応じて、システムとしての動作速度を考慮しながら、符号を書き戻すために必要なメモリ量と処理方法を決定して、メモリ領域確保部４に通知する。
【００２６】
メモリ領域確保部（メモリ確保手段）４は、優先順位指示部３から通知されるメモリ量と処理方法に基づいて符号書込用のメモリ領域をメモリ２に確保する。
【００２７】
圧縮処理パラメータ設定部（圧縮指示情報設定手段）５は、メモリ領域確保部４によって確保されたメモリ２のメモリ領域のアドレス、サイズ、各バンド毎に一時停止割り込みを発生するか否か等の圧縮処理方法を元画像用ディスクリプタ及び符号用ディスクリプタに設定し、また、圧縮方法の指示を圧縮処理部１１の圧縮パラメータ保持部２１に設定する。
【００２８】
圧縮パラメータ保持部２１は、圧縮処理パラメータ設定部５によって設定された圧縮方法のパラメータを保持し、該保持した圧縮方法のパラメータをデータ圧縮処理部２４に渡す。
【００２９】
圧縮処理起動部９は、圧縮処理開始命令を圧縮処理シーケンス制御部２５に発行し、圧縮処理シーケンス制御部２５は、圧縮処理起動部９から圧縮処理開始命令または一時停止状態保持部２７から一時停止を解除して圧縮処理を開始する命令があると、元画像用ディスクリプタリード部２２にリード指示を行う。
【００３０】
元画像用ディスクリプタリード部（ディスクリプタ読出手段）２２は、圧縮処理シーケンス制御部２５からリード指示があると、メモリ２から元画像用のディスクリプタ情報をリードし、該リードした情報をデータ圧縮処理部２４、圧縮処理シーケンス制御部２５に通知する。
【００３１】
符号用ディスクリプタリード部（ディスクリプタ読出手段）２３は、圧縮処理シーケンス制御部２５からリード指示があると、メモリ２から符号用のディスクリプタ情報をリードし、該リードした情報をデータ圧縮処理部２４、圧縮処理シーケンス制御部２５に通知する。
【００３２】
データ圧縮処理部（圧縮手段）２４は、圧縮パラメータ保持部２１、元画像用ディスクリプタリード部２２及び符号用ディスクリプタリード部２３から通知されたパラメータに従ってメモリ２上の元画像をリードし、圧縮処理した後、メモリ２に符号を書き戻す。この場合、データ圧縮処理部２４は、元画像または符号用のディスクリプタに設定されている１バンドのデータを処理し終わると、圧縮処理シーケンス制御部２５からの指示待ちとなる。
【００３３】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４における圧縮処理状態と、元画像用ディスクリプタリード部２２及び符号用ディスクリプタリード部２３のディスクリプタ情報に従って次に行うべき動作を判断して、画像用ディスクリプタリード部２２、符号用ディスクリプタリード部２３、一時停止状態保持部２７、割り込み発生部２８及び圧縮情報メモリ書き戻し部２６等に通知する。
【００３４】
圧縮情報メモリ書き戻し部（圧縮情報書き戻し手段）２６は、圧縮処理シーケンス制御部２５において元画像１バンド分の圧縮処理が完了したと判断されると、元画像がどの程度の符号サイズになったか、符号用ディスクリプタの何バンド目で符号が完結したか等の圧縮情報をメモリ２、特に、符号用ディスクリプタに書き戻す。
【００３５】
一時停止状態保持部（一時停止状態保持手段）２７は、圧縮処理シーケンス制御部２５において元画像の圧縮が全て完了していないにもかかわらず符号を書き込むためのメモリ領域（符号用メモリ領域）と該符号用メモリ領域を示す符号用ディスクリプタが用意されていないと判断された場合、メモリ領域確保と符号用ディスクリプタの用意をするために、一時的にデータ圧縮処理を停止した状態を保持する。
【００３６】
割り込み発生部２８は、一時停止状態保持部２７において用意した符号用ディスクリプタとメモリ領域を使い切ったため、一時停止状態になったことを割り込み検知部８に通知し、また、圧縮処理シーケンス制御部２５の用意した符号用ディスクリプタとメモリ領域を使い切ったため、中断したことを割り込み検知部８に通知し、さらに、圧縮処理シーケンス制御部２５において全ての元画像の圧縮処理が終了したと判断されると、圧縮動作が終了したことを割り込み検知部８に通知する。なお、上記中断するか、一時停止するかは元画像用ディスクリプタに、圧縮処理パラメータ設定部５によって画像処理方法として設定されている。
【００３７】
割り込み検知部８は、割り込み発生部２８の発行した一時停止割り込みを検知し、圧縮情報リード部６に一時停止した状態の詳細情報をメモリ２からリードするよう促す。この一時停止品状態の詳細情報は、上記圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻された圧縮情報である。また、割り込み検知部８は、割り込み発生部２８の発行した中断割り込みを検知し、圧縮情報リード部６に中断した状態の詳細情報をメモリ２からリードするよう促す。さらに、割り込み検知部８は、割り込み発生部２８の発行した完了割り込みを検知し、圧縮情報リード部６に完了状態の詳細情報をメモリからリードするよう促す。
【００３８】
圧縮情報リード部６は、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻された圧縮後の符号サイズと符号用ディスクリプタの何バンド目で符号が完結したかの情報を読み出して、メモリ領域確保部４及び圧縮処理完了状態解析部７に渡す。
【００３９】
圧縮処理再起動部１０は、割り込み検知部８によって一時停止状態にあることを検知し、メモリ領域確保部４によってメモリ２のメモリ領域が再確保された後で、圧縮動作を再開するよう一時停止状態保持部２７に通知する。
【００４０】
圧縮処理完了状態解析部７は、圧縮情報リード部６の取得した情報から符号サイズや膨張した符号を特定し、優先順位指示部３に通知する。圧縮処理完了状態解析部７は、圧縮の結果、膨張した場合は、優先順位指示部３及びメモリ領域確保部４を介してメモリ２の符号を破棄し、元画像を利用する場合は、解析結果を用いて、ハードディスクに保存したり、印刷エンジンに転送したり等の出力処理を行う出力用のデータを決定する。
【００４１】
次に、本実施例の作用を説明する。本実施例の画像形成装置１は、圧縮情報メモリ書き戻し部２６で圧縮時の圧縮情報をメモリ２、具体的には、メモリ２の符号用ディスクリプタに書き戻すことで、ハードウェアである圧縮処理部１１での連続処理を可能として、処理速度を向上させている。
【００４２】
なお、本実施例においては、画像を以下の条件で可変長圧縮符号方式で圧縮する場合について、図２及び図３の画像圧縮処理を示すフローチャートに基づいて説明する。
条件１：符号の保存方法：符号が膨張した場合には、元画像を保存する。
条件２：メモリ確保方法：メモリ２のメモリ領域を、元画像：圧縮後符号＝１：１で確保する。
条件３：圧縮完了判定方法：圧縮完了割り込みと一時停止割り込みを用いて圧縮完了判定を行う。
【００４３】
画像形成装置１は、まず、図２に示すように、優先順位指示部３が、処理速度を優先させるために、符号化後の画像データである符号が元画像と同じサイズになってしまっても保存できるように、圧縮後の符号を保存するためのメモリ領域として、例えば、図４に示すように、元画像と同じサイズのメモリ領域（元画像：圧縮後符号＝１：１）を確保させる指示（優先順位指示）をメモリ領域確保部４及び符号量予測部１２に行う（ステップＳ１０１）。なお、ここで、処理速度を優先させるために、元画像と同じサイズのメモリ領域を符号保存用に確保しているのは、可変長符号の符号化アルゴリズムにもよるが、通常、元画像のサイズよりも符号のサイズが大きくなることは稀だからである。
【００４４】
次に、メモリ領域確保部４が、優先順位指示部３から指示された符号用のメモリ領域をメモリ２のシステムメモリ領域の中から確保する（ステップＳ１０２）。
【００４５】
メモリ領域確保部４は、メモリ２に元画像のサイズや先頭アドレスの書かれたディスクリプタと呼ばれる情報群を保存する。この元画像用ディスクリプタは、連続して保存する画像の枚数分用意され、ディスクリプタで指定される画像の一枚一枚は、元画像をさらに細かく分割したもの（バンド）であってもよく、この場合、元画像と同じバンド数分符号書込先として符号用メモリ領域を確保する。そして、ディスクリプタには、それぞれ次に処理するバンドを示すディスクリプタの先頭アドレスも合わせて記録されているため、圧縮処理シーケンス制御部２５は、１バンドの処理が終了すると、次のバンドのディスクリプタをリードするというchain動作を行い、連続して複数枚のバンドを圧縮処理することができる。メモリ領域確保部４は、同様に、圧縮後の符号を保存するために、上記確保したバンド（メモリ領域）を示すディスクリプタを作成し、メモリ２に保存するとともに、最終バンドの元画像用ディスクリプタへは、圧縮が完了しなかった場合には、一時停止するように設定する（ステップＳ１０３）。
【００４６】
さらに、圧縮処理パラメータ設定部５が、例えば、画像の主走査長やメモリ幅、圧縮方式や圧縮パラメータ等、バンド間で共通のパラメータを作成して、圧縮パラメータ保持部２１に保存し、また、一時停止解除後のパラメータを保存する（ステップＳ１０４）。これらのパラメータは、圧縮動作を行う際にデータ圧縮処理部２４から参照されるため、圧縮処理パラメータ設定部５は、これらのパラメータをレジスタに保持する。すなわち、圧縮処理パラメータ設定部５は、ディスクリプタやレジスタに、ハードウェアである圧縮処理部１１で処理する圧縮元画像データと圧縮後の符号、圧縮方法等の設定を行う。この場合、図４に示すように、圧縮処理パラメータ設定部５は、複数の符号をソフトウェアの介在無しでハードウェアである圧縮処理部１１により連続して圧縮処理動作を行えるように、ディスクリプタを複数用意し、ディスクリプタ間がchainするように設定する。
【００４７】
そして、圧縮処理に必要な全てのパラメータがメモリ２及びレジスタに保存されると、圧縮処理パラメータ設定部５が、圧縮処理起動部９に圧縮処理を開始するよう命令を発行し（ステップＳ１０５）、圧縮処理起動部９が圧縮処理シーケンス制御部２５に圧縮処理開始命令を出し、圧縮処理シーケンス制御部２５が、元画像用ディスクリプタリード部２２にディスクリプタのリード命令を出して、圧縮処理に先立って、まず、元画像用ディスクリプタリード部２２が、１バンド目の元画像用ディスクリプタをメモリ２からリードし（ステップＳ１０６）、符号用ディスクリプタリード部２３が、１バンド目の符号用ディスクリプタをメモリ２からリードする（ステップＳ１０７）。
【００４８】
必要なパラメータが揃うと、データ圧縮処理部２４が、図４に示したように、圧縮処理を開始し、元画像用ディスクリプタにあるメモリ２上のアドレスから元画像をリードし、圧縮パラメータに従って圧縮処理して、圧縮処理した符号を符号用ディスクリプタに指示されたメモリ２のアドレスに書き戻す（ステップＳ１０８）。
【００４９】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４による圧縮処理を開始すると、元画像１バンド分の圧縮処理が完了したかチェックし（ステップＳ１０９）、完了していないときには、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１０）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０７に戻って、符号用ディスクリプタをリードして、圧縮を継続して元画像１バンド分の圧縮が完了したかチェックする（ステップＳ１０７〜Ｓ１０９）。
【００５０】
ステップＳ１０９で、符号用に用意したメモリ領域１バンドが埋まる前に元画像の１バンドの圧縮が完了すると、圧縮処理シーケンス制御部２５は、元画像１バンドが圧縮の結果どんな大きさの符号になったかと、このバンドでの元画像の圧縮が終了したことを示すＷＢフラグ（ライトバックフラグ）をメモリ２上の符号用ディスクリプタに書き戻し（ステップＳ１１１）、全元画像の圧縮が完了したかチェックする（ステップＳ１１２）。すなわち、符号が元画像と比較して膨張した場合は、元画像１バンド分を圧縮し終わる前に符号書込用に用意した１バンドのメモリ領域（符号用メモリ領域）が一杯になるため、次の符号領域に符号を書き込むために次の符号用ディスクリプタをリードする処理に移行する。図２の処理では、元画像と符号用メモリ領域を１：１のサイズで用意しているので、この場合、処理中の元画像が膨張したことを示しており、この場合に、次の符号用バンドで元画像１バンドの残り部分の圧縮が終了すると、ステップＳ１０９で、ＹＥＳとなり、元画像１バンドの圧縮が終了したときの符号用ディスクリプタに符号量とＷＢフラグが書き戻される（ステップＳ１１１）。
【００５１】
次に、ステップＳ１１２で、全ての元画像の圧縮が完了していないときには、圧縮処理シーケンス制御部２５は、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１３）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０６に戻って、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照して、元画像用ディスクリプタを読み出して、同様に符号用ディスクリプタも次の新しいものを読み出し、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理から上記同様に処理する（ステップＳ１０６〜Ｓ１１３）。すなわち、ステップＳ１１３において、符号用メモリ領域がまだ確保されている状態で、連続で処理する元画像のバンドがまだ残っている場合（ＹＥＳの場合）、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照してディスクリプタを読み出し（ステップＳ１０６）、同様に符号用ディスクリプタも次の新しいものを読み出して（ステップＳ１０７）、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理を行う（ステップＳ１０８）。
【００５２】
ステップＳ１１０で、元画像１バンド分の圧縮が完了していない状態で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図５に示すように、圧縮処理を一時停止し（ステップＳ１１４）、また、ステップＳ１１２で、全ての元画像の圧縮が完了する前に、ステップＳ１１３で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図３に示すように、圧縮処理シーケンス制御部２５は、データ圧縮処理部２４での圧縮処理を一時停止に移行させて、一時停止状態保持部２７にメモリ領域確保と符号用ディスクリプタを用意するために、一時的にデータ圧縮処理を停止した状態を保持し（ステップＳ１１４）、割り込み発生部２８に一時停止状態に入ったことを通知する（ステップＳ１１５）。すなわち、本実施例では、元画像と符号用メモリ領域を１：１のサイズで用意しているため、１バンドでも膨張が発生した場合には、圧縮処理が完了せず、一時停止状態となる。
【００５３】
割り込み発生部２８は、一時停止状態になったことを割り込み検知部８に通知し（ステップＳ１１６）、割り込み検知部８が一時停止状態になったことを検知すると、圧縮情報リード部６が、メモリ２から符号サイズとＷＢフラグを読み込んで、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べて、一時停止に入ったときの元画像の圧縮進捗状況を判断する（ステップＳ１１７）。
【００５４】
圧縮処理完了状態解析部７は、圧縮情報リード部６によって、圧縮が終了していない元画像のバンドがいくつあるかを解析すると、残っている元画像と同じサイズのメモリ領域を確保するように判断してメモリ領域確保部４にメモリ領域確保の優先順位指示を行い（ステップＳ１１８）、メモリ領域確保部４がメモリを確保する（ステップＳ１１９）。すなわち、図６に示すように、圧縮情報メモリ書き戻し部２６の書き戻した情報から膨張した符号を書き込んだメモリ領域の情報を取得して、そのメモリ領域を新たに次の符号を書き込む領域として確保する。そして、本実施例では、符号が膨張した場合に元画像を保存するとともに、元画像と符号用メモリ領域を１：１で確保する条件としているため、既に膨張したことが分かっている符号を書き込んだメモリ領域を破棄し、残りの元画像の圧縮後の符号を書き込むためのメモリ領域として再利用することができる。
【００５５】
次に、圧縮処理パラメータ設定部５は、確保し直したメモリ領域の情報を新たな符号用ディスクリプタとしてメモリに書き戻し（ステップＳ１２０）、必要に応じてレジスタへの符号化パラメータの変更を行って、レジスタに保持させ（ステップＳ１２１）、一時停止状態にある圧縮処理の再開の命令を圧縮再起動部１１に出して（ステップＳ１２２）、図２に示すステップＳ１０６に戻って、元画像用ディスクリプタのリードから上記同様に処理する（ステップＳ１０６〜Ｓ１２２）。
【００５６】
そして、図２のステップＳ１１２において、全ての元画像の圧縮が完了すると、図３に示すように、割り込み発生部２８が、完了割り込みを割り込み検知部８に発生し（ステップＳ１２３）、割り込み検知部８は、完了割り込みを検知して、圧縮情報リード部６に通知する（ステップＳ１２４）。
【００５７】
圧縮情報リード部６は、用意した符号用ディスクリプタを全て読み込み（ステップＳ１２５）、ステップＳ１１１で圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べる。これによって、各元画像が膨張したか、符号サイズはいくつになったかを知ることができる。すなわち、本実施例では、バンド毎に、膨張した場合は元画像を出力用（印刷出力用、ハードディスク等への保存出力用等）として保存し、小さくなった場合は符号を出力用として保存する。符号を保存する場合は、圧縮処理パラメータ設定部５は、ステップＳ１２５で読み込んだ圧縮後の符号サイズを、符号の属性として同時にメモリ２に保管する（ステップＳ１２６）。
【００５８】
すなわち、本実施例の画像形成装置１は、圧縮で膨張した符号がない場合には、図４に示したように、元画像Ｃ，Ｍ，Ｙ，Ｋの４バンドを１回のハードウェア起動で圧縮処理し、膨張した符号がなかったために、そのまま圧縮処理を完了する。この場合、ＷＢフラグ及び符号量（圧縮サイズ）は、各符号用ディスクリプタに書き戻され、圧縮情報リード部６によって読み取られた符号用ディスクリプタ情報から全ての符号用ディスクリプタにＷＢフラグが立っており、元画像１バンドにつき符号１バンドが生成されたことが、圧縮処理完了状態解析部７によって判断される。また、保存される符号のサイズは、圧縮情報リード部６が、同時に読み込んで、その値を符号の属性情報として保管する。
【００５９】
一方、本実施例の画像形成装置１は、圧縮で膨張して用意した符号用メモリ領域に書ききれないとき、例えば、図５に示したように、元画像Ｃ，Ｍ，Ｙ，Ｋの４バンドのうち、２バンド目の元画像Ｍが膨張してしまったため、用意したＭ用の符号用メモリ領域に書ききれないときには、圧縮処理を一時停止する。すなわち、図５では、元画像Ｍが膨張し、符号用メモリ領域を２バンド分（または、２バンド目の途中まで）消費しており、圧縮情報メモリ書き戻し部２６によるＷＢフラグと符号サイズの書き戻しは、符号ディスクリプタの２枚目には行われておらず、圧縮情報リード部６で、ＣＰＵがディスクリプタをリードした際、２枚目のディスクリプタにはＷＢフラグがないため、膨張したと判断することができる。
【００６０】
そして、画像形成装置１は、図５のようにして圧縮処理を一時停止状態とすると、図６に示すように、元画像Ｋ用の符号用メモリ領域を再確保し、一時停止状態を解除して、圧縮を継続する。すなわち、一時停止状態ではＷＢフラグが３つ立っているので、用意した元画像Ｃ，Ｍ，Ｙ，Ｋのうち、最後の元画像Ｋのみが圧縮を終了していないと判断することができ、図３のステップＳ１１９のメモリ領域再確保処理で、元画像Ｋと同じ大きさの符号用メモリ領域を符号Ｍ用であったメモリ領域に確保して、一時停止状態を解除する。すなわち、圧縮情報リード部６は、元画像Ｍが膨張していることが分かっているため、元画像Ｍの符号を書き込んだメモリ領域を破棄し、そのメモリ領域を符号Ｋ用に再確保して利用している。
【００６１】
このように、本実施例の画像形成装置１は、データ圧縮処理部２４による圧縮処理での符号量及び符号用ディスクリプタ情報等の圧縮情報を圧縮情報メモリ書き戻し部２６がメモリ２に書き戻し、該書き戻された圧縮情報を利用してデータ圧縮処理部２４が圧縮処理を行っている。
【００６２】
したがって、画像データの１ページを複数のバンドに分けて可変長圧縮する場合にも、圧縮処理のためのパラメータ設定やデータ圧縮処理部２４の起動等のソフトウェアによる処理を省いて処理効率を向上させることができ、処理速度を向上させることができる。
【００６３】
また、本実施例の画像形成装置１は、元画像と符号用メモリ領域を１：１のサイズで用意しているので、画像の特性によっては稀な確率で膨張することはあるが、ほとんどの場合、一時停止状態になることもなく、一回のメモリ確保と圧縮処理起動動作のみで複数バンドの元画像を符号に圧縮することができ、データ圧縮処理部２４の起動、メモリ確保処理の時間を大幅に削減することができ、処理速度を大幅に向上させることができる。
【００６４】
さらに、本実施例の画像形成装置１は、符号用メモリ領域の不足等の理由で圧縮処理の一時停止が発生すると、一時停止状態保持部２７が該一時停止状態を保持し、該一時停止状態中に、圧縮情報リード部６が圧縮情報メモリ書き戻し部２６がメモリ２に書き戻した圧縮情報を読み出し、該読み出された圧縮情報に基づいてメモリ領域確保部４が符号用メモリ領域の再確保を行い、圧縮処理パラメータ設定部５が該再確保された符号用メモリ領域情報等に基づいて圧縮指示情報を再設定し、一時停止状態が解除されると、該再設定された圧縮指示情報に応じてデータ圧縮処理部２４による圧縮処理を再開している。
【００６５】
したがって、途中まで圧縮した元画像を最初から再圧縮する無駄を省くことができ、処理速度をより一層向上させることができる。
【００６６】
また、本実施例の画像形成装置１は、優先順位指示部３が、ユーザの設定等に応じて符号用メモリ領域のメモリ確保量として適宜のメモリ量を指示し、メモリ領域確保部４が該指示に応じた符号用メモリ領域をメモリ２に確保している。
【００６７】
したがって、圧縮後の符号のメモリ確保量と処理速度等の条件を考慮して、適宜設定された符号用メモリ領域のメモリ量を確保して、利用性を向上させつつ、処理速度を向上させることができる。
【００６８】
さらに、本実施例の画像形成装置１は、圧縮処理での符号サイズ等の圧縮完了状態を圧縮処理完了状態解析部７で解析して、圧縮処理によって元画像データよりも符号が膨張したことを解析すると、該符号を破棄して該元画像データをメモリ２に格納している。
【００６９】
したがって、データ保存容量を最小限に抑制することができるとともに、データ保存領域を一定サイズ以下にしてシステム設計することができ、コストを削減することができる。
【実施例２】
【００７０】
図７〜図１１は、本発明の画像形成装置及び画像処理方法の第２実施例を示す図であり、図７及び図８は、本発明の画像形成装置及び画像処理方法の第２実施例を適用した画像形成装置による画像圧縮処理を示すフローチャートである。
【００７１】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置に適用したものであり、本実施例の説明においては、上記第１実施例で用いた符号をそのまま用いて説明する。
【００７２】
本実施例の画像形成装置１は、画像を以下の条件で可変長圧縮符号方式で圧縮する。
条件１：符号の保存方法：符号が膨張した場合には、元画像を保存する。
条件２：メモリ確保方法：メモリ２のメモリ領域を、元画像：圧縮後符号＝４：１で確保する。メモリを再確保する場合にも、元画像１バンドの１／４のサイズの符号用バンドを４バンドセットで確保する。
条件３：圧縮完了判定方法：圧縮完了割り込みと一時停止割り込みを用いて圧縮完了判定を行う。
【００７３】
すなわち、第１実施例の場合の条件と異なるのは、メモリ確保方法のみであり、第１実施例の場合、元画像：圧縮後符号＝１：１であったものを、元画像：圧縮後符号＝４：１としたものである。
【００７４】
そこで、本実施例の説明においては、図７及び図８の画像圧縮処理のフローチャートにおいて、図２及び図３に示した第１実施例の画像圧縮処理のフローチャートと同様の処理ステップには、同一のステップ番号を付して、その説明を簡略化する。
【００７５】
画像形成装置１は、図７において、まず、優先順位指示部３が、メモリ２の有効利用を図るために、符号化後の画像データである符号が元画像の１／４以下のサイズの場合に保存できるように、図９に示すように、圧縮後の符号を保存するためのメモリ領域として、元画像の１／４のサイズのメモリ領域（元画像：圧縮後符号＝４：１）を確保させる指示（優先順位指示）をメモリ領域確保部４及び符号量予測部１２に行う（ステップＳ２０１）。
【００７６】
次に、メモリ領域確保部４が、優先順位指示部３から指示された符号用のメモリ領域として、元画像の１／４のサイズのメモリ領域を４バンド分符号書込先として確保する（ステップＳ２０２）。
【００７７】
メモリ領域確保部４は、同様に、圧縮後の符号を保存するために、上記確保したバンド（メモリ領域）を示すディスクリプタを作成し、特に、最終バンドの元画像用ディスクリプタへは、圧縮が完了しなかった場合には、一時停止するよう設定して、メモリ２に保存する（ステップＳ１０３）。
【００７８】
さらに、圧縮処理パラメータ設定部５が、例えば、画像の主走査長やメモリ幅、圧縮方式や圧縮パラメータ等、バンド間で共通のパラメータを作成して、圧縮パラメータ保持部２１に保存し、また、一時停止解除後のパラメータをレジスタに保存する（ステップＳ１０４）。
【００７９】
そして、圧縮処理に必要な全てのパラメータがメモリ２及びレジスタに保存されると、圧縮処理パラメータ設定部５が、圧縮処理起動部９に圧縮処理を開始するよう命令を発行し、圧縮処理起動部９が圧縮処理シーケンス制御部２５に圧縮処理開始命令を出し、圧縮処理シーケンス制御部２５が元画像用ディスクリプタリード部２２にディスクリプタのリード命令を出して、圧縮処理に先立って、まず、元画像用ディスクリプタリード部２２が、１バンド目の元画像用ディスクリプタをメモリ２からリードし（ステップＳ１０６）、符号用ディスクリプタリード部２３が、１バンド目の符号用ディスクリプタをメモリ２からリードする（ステップＳ１０７）。
【００８０】
必要なパラメータが揃うと、データ圧縮処理部２４が、図９に示したように、圧縮処理を開始し、元画像用ディスクリプタにあるメモリ２上のアドレスから元画像をリードし、圧縮パラメータに従って圧縮処理して、圧縮処理した符号を符号用ディスクリプタに指示されたメモリ２のアドレスに書き戻す（ステップＳ１０８）。
【００８１】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４による圧縮処理を開始すると、元画像１バンド分の圧縮処理が完了したかチェックし（ステップＳ１０９）、完了していないときには、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１０）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０７に戻って、符号用ディスクリプタをリードして、圧縮を継続して元画像１バンド分の圧縮が完了したかチェックする（ステップＳ１０７〜Ｓ１０９）。
【００８２】
ステップＳ１０９で、符号用に用意したメモリ領域１バンドが埋まる前に元画像の１バンドの圧縮が完了すると、圧縮処理シーケンス制御部２５は、元画像１バンドが圧縮の結果どんな大きさの符号になったかと、このバンドでの元画像の圧縮が終了したことを示すＷＢフラグ（ライトバックフラグ）をメモリ２上の符号用ディスクリプタに書き戻し（ステップＳ１１１）、全元画像の圧縮が完了したかチェックする（ステップＳ１１２）。
【００８３】
ステップＳ１１２で、全ての元画像の圧縮が完了していないときには、圧縮処理シーケンス制御部２５は、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１３）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０６に戻って、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照して、元画像用ディスクリプタを読み出して、同様に符号用ディスクリプタも次の新しいものを読み出し、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理から上記同様に処理する（ステップＳ１０６〜Ｓ１１３）。
【００８４】
ステップＳ１１０で、元画像１バンド分の圧縮が完了していない状態で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図８に示すように、圧縮処理を一時停止し（ステップＳ１１４）、また、ステップＳ１１３で、全ての元画像の圧縮が完了する前に、符号用のメモリ領域がなくなるか、図１０に示すように、ディスクリプタが無くなると、圧縮処理シーケンス制御部２５は、データ圧縮処理部２４での圧縮処理を一時停止に移行させて、一時停止状態保持部２７にメモリ領域確保と符号用ディスクリプタを用意するために、一時的にデータ圧縮処理を停止した状態を保持し（ステップＳ１１４）、割り込み発生部２８に一時停止状態に入ったことを通知する（ステップＳ１１５）。すなわち、本実施例の場合、ディスクリプタが無くなることで、元画像を圧縮した符号が膨張したことが分かる。
【００８５】
割り込み発生部２８は、一時停止状態になったことを割り込み検知部８に通知し（ステップＳ１１６）、割り込み検知部８が一時停止状態になったことを検知すると、圧縮情報リード部６が、メモリ２から符号サイズとＷＢフラグを読み込んで、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べて、一時停止に入ったときの元画像の圧縮進捗状況を判断する（ステップＳ１１７）。
【００８６】
圧縮処理完了状態解析部７は、圧縮情報リード部６によって、圧縮が終了していない元画像のバンドがいくつあるかを解析すると、残っている元画像の１／４のサイズのメモリ領域を元画像の残りバンド数分確保するように判断してメモリ領域確保部４にメモリ領域確保の優先順位指示を行い（ステップＳ２０３）、メモリ領域確保部４がメモリを確保する（ステップＳ２０４）。すなわち、図１１に示すように、圧縮情報メモリ書き戻し部２６の書き戻した情報から膨張した符号を書き込んだメモリ領域の情報を受け取り、そのメモリ領域を新たに次の符号を書き込む領域として確保する。そして、本実施例では、符号が膨張した場合に元画像を保存するとともに、元画像と符号用メモリ領域を４：１で確保する条件としているため、符号が膨張したかどうかの判断は、符号が５バンド以上になることを確認してからでなければ行うことができない。したがって、膨張したことが判明するまでは、すなわち、１バンドの元画像が符号用バンド５枚以上になるまでは、そのメモリ領域を再利用することはできない。例えば、図１１に示すように、符号用ディスクリプタが無くなってしまったときには、膨張が確定していない状態で、一時停止状態になり、この場合は、新たなメモリ領域を確保し直さなければならない。
【００８７】
次に、圧縮処理パラメータ設定部５は、確保し直したメモリ領域の情報を新たな符号用ディスクリプタとしてメモリに書き戻し（ステップＳ１２０）、必要に応じてレジスタへの符号化パラメータの変更を行って、レジスタに保持させ（ステップＳ１２１）、一時停止状態にある圧縮処理の再開の命令を圧縮再起動部１１に出して（ステップＳ１２２）、ステップＳ１０６に戻って、元画像用ディスクリプタのリードから上記同様に処理する（ステップＳ１０６〜Ｓ１２２）。
【００８８】
そして、図７のステップＳ１１２において、全ての元画像の圧縮が完了すると、図８に示すように、割り込み発生部２８が、完了割り込みを割り込み検知部８に発生し（ステップＳ１２３）、割り込み検知部８は、完了割り込みを検知して、圧縮情報リード部６に通知する（ステップＳ１２４）。
【００８９】
圧縮情報リード部６は、用意した符号用ディスクリプタを全て読み込み（ステップＳ１２５）、ステップＳ１１１で圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べる。これによって、各元画像が膨張したか、符号サイズはいくつになったかを知ることができる。すなわち、本実施例では、バンド毎に、膨張した場合は元画像を保存し、小さくなった場合は符号を保存する。符号を保存する場合は、圧縮処理パラメータ設定部５が、ステップＳ１２５で読み込んだ圧縮後の符号サイズを、符号の属性として同時にメモリ２に保管する（ステップＳ１２６）。
【００９０】
すなわち、本実施例の画像形成装置１は、圧縮で膨張した符号がない場合には、図９に示したように、元画像Ｃ，Ｍ，Ｙ，Ｋの４バンドを１回のハードウェア起動で圧縮処理し、１／４以下のサイズの符号になって膨張した符号がなかったために、そのまま圧縮処理を完了する。この場合、ＷＢフラグ及び符号量（圧縮サイズ）は、各符号用ディスクリプタに書き戻され、圧縮情報リード部６によって読み取られた符号用ディスクリプタ情報から全ての符号用ディスクリプタにＷＢフラグが立っており、元画像４バンドにつき符号１バンドが生成されたことが、圧縮処理完了状態解析部７によって判断される。また、保存される符号のサイズは、圧縮情報リード部６が、同時に読み込んで、その値を符号の属性情報として保管する。
【００９１】
一方、本実施例の画像形成装置１は、圧縮で膨張して用意した符号用メモリ領域に書ききれないとき、例えば、図１０に示したように、元画像Ｃ，Ｍ，Ｙ，Ｋの４バンドのうち、元画像Ｍが膨張してしまい、用意した符号用メモリ領域に書ききれずに、符号用ディスクリプタが無くなると、圧縮処理を一時停止する。すなわち、図１０では、元画像Ｍが膨張し、符号用メモリ領域を３バンド分を消費しており、圧縮情報メモリ書き戻し部２６によるＷＢフラグと符号サイズの書き戻しは、符号ディスクリプタの２枚目、３枚目、４枚目には行われておらず、圧縮情報リード部６で、ディスクリプタをリードした際、ＷＢフラグがないため、元画像Ｍの圧縮が終了していないと判断することができる。
【００９２】
そして、画像形成装置１は、図１０のようにして圧縮処理を一時停止状態とすると、図１１に示すように、元画像Ｍ，Ｙ，Ｋ用の符号用メモリ領域を再確保し、一時停止状態を解除して、圧縮を継続する。すなわち、一時停止状態ではＷＢフラグが１つだけ立っているので、用意した元画像Ｃ，Ｍ，Ｙ，Ｋのうち、元画像Ｍ，Ｙ，Ｋが圧縮を終了していないと判断することができ、図７のステップＳ２０４のメモリ領域再確保処理で、図１１に示すように、元画像の１／４の大きさの符号用メモリ領域を４バンド分確保して、一時停止状態を解除する。すなわち、圧縮情報リード部６は、元画像Ｍが膨張しているかどうかは分からないため、元画像Ｍの符号を書き込んだメモリ領域は破棄することができず、ステップＳ２０４のメモリ領域再確保処理では、新たな領域を確保して利用している。
【００９３】
このように、本実施例の画像形成装置１は、元画像と符号用メモリ領域を４：１のサイズでメモリ２のメモリ領域の確保を行っているため、必要なメモリサイズを削減することができ、コストを削減することができる。また、本実施例の画像形成装置１は、少ないメモリ容量で処理を行うことができるため、複数の処理を同時に実行する場合に、他のアプリケーションをメモリ確保によって邪魔することを抑制することができ、有限のメモリ量を有効活用して、画像形成装置１としてのパフォーマンスを向上させることができる。
【００９４】
なお、この元画像と符号用メモリ領域の比率は、４：１に限るものではなく、圧縮アルゴリズムの平均圧縮率や最低圧縮率とその頻度によって適宜設定して、メモリの確保を指示してもよい。
【実施例３】
【００９５】
図１２及び図１３は、本発明の画像形成装置及び画像処理方法の第３実施例を適用した画像形成装置による画像圧縮処理を示すフローチャートである。
【００９６】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置に適用したものであり、本実施例の説明においては、上記第１実施例で用いた符号をそのまま用いて説明する。
【００９７】
本実施例の画像形成装置１は、画像を以下の条件で可変長圧縮符号方式で圧縮する。
条件１：符号の保存方法：符号が膨張した場合には、符号を保存する。
条件２：メモリ確保方法：メモリ２のメモリ領域を、速度優先させるため、元画像：圧縮後符号＝１：１で確保する。
条件３：圧縮完了判定方法：圧縮完了割り込みと一時停止割り込みを用いて圧縮完了判定を行う。
【００９８】
すなわち、第１実施例の場合の条件と異なるのは、符号の保存方法のみであり、第１実施例の場合、圧縮で膨張すると、元画像を保存しているが、本実施例では、膨張しても、符号を保存する。
【００９９】
そこで、本実施例の説明においては、図１２及び図１３の画像圧縮処理のフローチャートにおいて、図２及び図３に示した第１実施例の画像圧縮処理のフローチャートと同様の処理ステップには、同一のステップ番号を付して、その説明を簡略化する。
【０１００】
画像形成装置１は、図１２に示すように、まず、優先順位指示部３が、処理速度を優先させるために、符号化後の画像データである符号が元画像と同じサイズになってしまっても保存できるように、圧縮後の符号を保存するためのメモリ領域として、元画像と同じサイズのメモリ領域（元画像：圧縮後符号＝１：１）を確保させる指示（優先順位指示）をメモリ領域確保部４及び符号量予測部１２に行う（ステップＳ１０１）。
【０１０１】
次に、メモリ領域確保部４が、優先順位指示部３から指示された符号用のメモリ領域をメモリ２のシステムメモリ領域の中から確保する（ステップＳ１０２）。
【０１０２】
そして、ディスクリプタには、それぞれ次に処理するバンドを示すディスクリプタの先頭アドレスも合わせて記録されているため、圧縮処理シーケンス制御部２５は、１バンドの処理が終了すると、次のバンドのディスクリプタをリードするというchain動作を行い、連続して複数枚のバンドを圧縮処理することができる。メモリ領域確保部４は、同様に、圧縮後の符号を保存するために、上記確保したバンド（メモリ領域）を示すディスクリプタを作成し、メモリ２に保存する（ステップＳ１０３）。
【０１０３】
さらに、圧縮処理パラメータ設定部５が、例えば、画像の主走査長やメモリ幅、圧縮方式や圧縮パラメータ等、バンド間で共通のパラメータを作成して、圧縮パラメータ保持部２１に保存し、また、一時停止解除後のパラメータを保存する（ステップＳ１０４）。
【０１０４】
そして、圧縮処理に必要な全てのパラメータがメモリ２及びレジスタに保存されると、圧縮処理パラメータ設定部５が、圧縮処理起動部９に圧縮処理を開始するよう命令を発行し、圧縮処理起動部９が、圧縮処理シーケンス制御部２５に圧縮処理開始命令を出し、圧縮処理シーケンス制御部２５が元画像用ディスクリプタリード部２２にディスクリプタのリード命令を出して、圧縮処理に先立って、まず、元画像用ディスクリプタリード部２２が、１バンド目の元画像用ディスクリプタをメモリ２からリードし（ステップＳ１０６）、符号用ディスクリプタリード部２３が、１バンド目の符号用ディスクリプタをメモリ２からリードする（ステップＳ１０７）。
【０１０５】
必要なパラメータが揃うと、データ圧縮処理部２４が、圧縮処理を開始し、元画像用ディスクリプタにあるメモリ２上のアドレスから元画像をリードし、圧縮パラメータに従って圧縮処理して、圧縮処理した符号を符号用ディスクリプタに指示されたメモリ２のアドレスに書き戻す（ステップＳ１０８）。
【０１０６】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４による圧縮処理を開始すると、元画像１バンド分の圧縮処理が完了したかチェックし（ステップＳ１０９）、完了していないときには、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１０）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０７に戻って、符号用ディスクリプタをリードして、圧縮を継続して元画像１バンド分の圧縮が完了したかチェックする（ステップＳ１０７〜Ｓ１０９）。
【０１０７】
ステップＳ１０９で、符号用に用意したメモリ領域１バンドが埋まる前に元画像の１バンドの圧縮が完了すると、圧縮処理シーケンス制御部２５は、元画像１バンドが圧縮の結果どんな大きさの符号になったかと、このバンドでの元画像の圧縮が終了したことを示すＷＢフラグ（ライトバックフラグ）をメモリ２上の符号用ディスクリプタに書き戻し（ステップＳ１１１）、全元画像の圧縮が完了したかチェックする（ステップＳ１１２）。
【０１０８】
ステップＳ１１２で、全ての元画像の圧縮が完了していないときには、圧縮処理シーケンス制御部２５は、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１３）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０６に戻って、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照して、元画像用ディスクリプタを読み出して、同様に符号用ディスクリプタも次の新しいものを読み出し、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理から上記同様に処理する（ステップＳ１０６〜Ｓ１１３）。
【０１０９】
ステップＳ１１０で、元画像１バンド分の圧縮が完了していない状態で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図１３に示すように、圧縮処理を一時停止し（ステップＳ１１４）、また、ステップＳ１１２で、全ての元画像の圧縮が完了する前に、ステップＳ１１３で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、圧縮処理シーケンス制御部２５は、データ圧縮処理部２４での圧縮処理を一時停止に移行させて、一時停止状態保持部２７にメモリ領域確保と符号用ディスクリプタを用意するために、一時的にデータ圧縮処理を停止した状態を保持し（ステップＳ１１４）、割り込み発生部２８に一時停止状態に入ったことを通知する（ステップＳ１１５）。すなわち、本実施例の場合、元画像と符号用メモリ領域を１：１のサイズで用意しているため、１バンドでも膨張が発生した場合には、圧縮処理が完了せず、一時停止状態となる。
【０１１０】
割り込み発生部２８は、一時停止状態になったことを割り込み検知部８に通知し（ステップＳ１１６）、割り込み検知部８が一時停止状態になったことを検知すると、圧縮情報リード部６が、メモリ２から符号サイズとＷＢフラグを読み込んで、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べて、一時停止に入ったときの元画像の圧縮進捗状況を判断する（ステップＳ１１７）。
【０１１１】
圧縮情報リード部６によって、圧縮が終了していない元画像のバンドがいくつあるかを解析すると、残っている元画像と同じサイズのメモリ領域を確保するように判断してメモリ領域確保部４にメモリ領域確保の優先順位指示を行い（ステップＳ１１８）、メモリ領域確保部４がメモリを確保する（ステップＳ３０１）。すなわち、圧縮情報メモリ書き戻し部２６の書き戻した情報から膨張した符号を書き込んだメモリ領域の情報を受け取り、そのメモリ領域を新たに次の符号を書き込む領域として確保する。そして、本実施例では、符号が膨張した場合であっても符号を保存するとともに、元画像と符号用メモリ領域を１：１で確保している条件としているため、既に膨張したことが分かっている符号を書き込んだメモリ領域を破棄することなく、残りの元画像の圧縮後の符号を書き込むためのメモリ領域を確保する。
【０１１２】
次に、圧縮処理パラメータ設定部５は、確保し直したメモリ領域の情報を新たな符号用ディスクリプタとしてメモリに書き戻し（ステップＳ１２０）、必要に応じてレジスタへの符号化パラメータの変更を行って、レジスタに保持させ（ステップＳ１２１）、一時停止状態にある圧縮処理の再開の命令を圧縮再起動部１１に出して（ステップＳ１２２）、ステップＳ１０６に戻って、元画像用ディスクリプタのリードから上記同様に処理する（ステップＳ１０６〜Ｓ３０１〜Ｓ１２２）。
【０１１３】
そして、図１２のステップＳ１１２において、全ての元画像の圧縮が完了すると、図１３に示すように、割り込み発生部２８が、完了割り込みを割り込み検知部８に発生し（ステップＳ１２３）、割り込み検知部８は、完了割り込みを検知して、圧縮情報リード部６に通知する（ステップＳ１２４）。
【０１１４】
圧縮情報リード部６は、用意した符号用ディスクリプタを全て読み込み（ステップＳ１２５）、ステップＳ１１１で圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べる。これによって、各元画像が膨張したか、符号サイズはいくつになったかを知ることができる。すなわち、本実施例では、バンド毎に、圧縮処理で、膨張した場合も、小さくなった場合も、符号を出力用として保存し、符号を保存する場合は、ステップＳ１２５で読み込んだ圧縮後の符号サイズを、符号の属性として同時にメモリ２に保管する（ステップＳ３０２）。
【０１１５】
このように、本実施例の画像形成装置１は、元画像を圧縮した結果の符号が元画像よりも膨張したかどうかに関わらず符号のみをメモリ２に保存している。
【０１１６】
したがって、プログラムを単純化することができ、コストを削減することができる。
【実施例４】
【０１１７】
図１４及び図１５は、本発明の画像形成装置及び画像処理方法の第４実施例を適用した画像形成装置による画像圧縮処理を示すフローチャートである。
【０１１８】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置に適用したものであり、本実施例の説明においては、上記第１実施例で用いた符号をそのまま用いて説明する。
【０１１９】
本実施例の画像形成装置１は、画像を以下の条件で可変長圧縮符号方式で圧縮する。
条件１：符号の保存方法：符号が膨張した場合には、元画像を保存する。
条件２：メモリ確保方法：メモリ２のメモリ領域を、速度優先させるため、元画像：圧縮後符号＝１：１で確保する。
条件３：圧縮完了判定方法：圧縮完了割り込みと中断割り込みを用いて圧縮完了判定を行う。
【０１２０】
すなわち、第１実施例の場合の条件と異なるのは、圧縮完了判定方法のみであり、符号用のメモリ領域が足りなくなると、圧縮処理を中断して、圧縮が完了していない元画像を最初から圧縮処理し直すことにある。この場合、一時停止して再開する訳ではないので、圧縮途中で符号メモリ領域が足りなくなってしまった場合は、元画像はメモリ領域の確保等の圧縮作業を最初からやり直す必要がある。
【０１２１】
そこで、本実施例の説明においては、図１４及び図１５の画像圧縮処理のフローチャートにおいて、図２及び図３に示した第１実施例の画像圧縮処理のフローチャートと同様の処理ステップには、同一のステップ番号を付して、その説明を簡略化する。
【０１２２】
画像形成装置１は、図１４に示すように、まず、優先順位指示部３が、処理速度を優先させるために、符号化後の画像データである符号が元画像と同じサイズになってしまっても保存できるように、圧縮後の符号を保存するためのメモリ領域として、元画像と同じサイズのメモリ領域（元画像：圧縮後符号＝１：１）を確保させる指示（優先順位指示）をメモリ領域確保部４及び符号量予測部１２に行う（ステップＳ１０１）。
【０１２３】
次に、メモリ領域確保部４が、優先順位指示部３から指示された符号用のメモリ領域をメモリ２のシステムメモリ領域の中から確保する（ステップＳ１０２）。
【０１２４】
そして、ディスクリプタには、それぞれ次に処理するバンドを示すディスクリプタの先頭アドレスも合わせて記録されているため、圧縮処理シーケンス制御部２５は、１バンドの処理が終了すると、次のバンドのディスクリプタをリードするというchain動作を行い、連続して複数枚のバンドを圧縮処理することができる。メモリ領域確保部４は、同様に、圧縮後の符号を保存するために、上記確保したバンド（メモリ領域）を示すディスクリプタを作成し、メモリ２に保存するとともに、最終バンドの元画像用ディスクリプタへは、圧縮が完了しなかった場合には、中断するよう設定する（ステップＳ４０１）。
【０１２５】
さらに、圧縮処理パラメータ設定部５が、例えば、画像の主走査長やメモリ幅、圧縮方式や圧縮パラメータ等、バンド間で共通のパラメータを作成して、圧縮パラメータ保持部２１に保存し、また、中断解除後のパラメータを保存する（ステップＳ１０４）。  
【０１２６】
そして、圧縮処理に必要な全てのパラメータがメモリ２及びレジスタに保存されると、圧縮処理パラメータ設定部５が、圧縮処理起動部９に圧縮処理を開始するよう命令を発行し（ステップＳ１０５）、圧縮処理起動部９が圧縮処理シーケンス制御部２５に圧縮処理開始命令を出し、圧縮処理シーケンス制御部２５が元画像用ディスクリプタリード部２２にディスクリプタのリード命令を出して、圧縮処理に先立って、まず、元画像用ディスクリプタリード部２２が、１バンド目の元画像用ディスクリプタをメモリ２からリードし（ステップＳ１０６）、符号用ディスクリプタリード部２３が、１バンド目の符号用ディスクリプタをメモリ２からリードする（ステップＳ１０７）。
【０１２７】
必要なパラメータが揃うと、データ圧縮処理部２４が、圧縮処理を開始し、元画像用ディスクリプタにあるメモリ２上のアドレスから元画像をリードし、圧縮パラメータに従って圧縮処理して、圧縮処理した符号を符号用ディスクリプタに指示されたメモリ２のアドレスに書き戻す（ステップＳ１０８）。
【０１２８】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４による圧縮処理を開始すると、元画像１バンド分の圧縮処理が完了したかチェックし（ステップＳ１０９）、完了していないときには、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１０）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０７に戻って、符号用ディスクリプタをリードして、圧縮を継続して元画像１バンド分の圧縮が完了したかチェックする（ステップＳ１０７〜Ｓ１０９）。
【０１２９】
ステップＳ１０９で、符号用に用意したメモリ領域１バンドが埋まる前に元画像の１バンドの圧縮が完了すると、圧縮処理シーケンス制御部２５は、元画像１バンドが圧縮の結果どんな大きさの符号になったかと、このバンドでの元画像の圧縮が終了したことを示すＷＢフラグ（ライトバックフラグ）をメモリ２上の符号用ディスクリプタに書き戻し（ステップＳ１１１）、全元画像の圧縮が完了したかチェックする（ステップＳ１１２）。
【０１３０】
ステップＳ１１２で、全ての元画像の圧縮が完了していないときには、圧縮処理シーケンス制御部２５は、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１３）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０６に戻って、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照して、元画像用ディスクリプタを読み出して、同様に符号用ディスクリプタも次の新しいものを読み出し、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理から上記同様に処理する（ステップＳ１０６〜Ｓ１１３）。すなわち、ステップＳ１１３において、符号用メモリ領域がまだ確保されている状態で、連続で処理する元画像のバンドがまだ残っている場合（ＹＥＳの場合）、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照してディスクリプタを読み出し（ステップＳ１０６）、同様に符号用ディスクリプタも次の新しいものを読み出して（ステップＳ１０７）、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理を行う（ステップＳ１０８）。
【０１３１】
ステップＳ１１０で、元画像１バンド分の圧縮が完了していない状態で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、圧縮処理を中断し（ステップＳ１１４）、また、ステップＳ１１２で、全ての元画像の圧縮が完了する前に、ステップＳ１１３で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図１５に示すように、圧縮処理シーケンス制御部２５は、データ圧縮処理部２４での圧縮処理を中断させて（ステップＳ４０２）、割り込み発生部２８に中断状態に入ったことを通知して、割り込み発生部２８は、中断状態になったことを割り込み検知部８に通知する（ステップＳ４０３）。すなわち、本実施例の場合、元画像と符号用メモリ領域を１：１のサイズで用意しているため、１バンドでも膨張が発生した場合には、圧縮処理が完了せず、中断状態となる。
【０１３２】
割り込み検知部８が中断状態になったことを検知すると、圧縮情報リード部６が、メモリ２から符号サイズとＷＢフラグを読み込んで、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べて、中断状態に入ったときの元画像の圧縮進捗状況を判断する（ステップＳ４０４）。
【０１３３】
圧縮情報リード部６によって、圧縮が終了していない元画像のバンドがいくつあるかを解析すると、圧縮が完了している元画像と完了していない元画像を判別し、圧縮が終わっていない元画像については、該元画像と同じサイズの符号用メモリ領域を確保し、ステップＳ１０１に戻って、最初から圧縮動作をやり直す（ステップＳ４０５）。すなわち、ＷＢフラグを解析して、膨張した符号を判断し、元画像より縮小した符号と膨張したバンドの元画像を出力用として決定し、縮小した符号は、圧縮後の符号サイズを符号の属性として記録する。また、符号サイズとＷＢフラグの情報から未圧縮の元画像が何バンド残っているかを解析して、該元画像と同じサイズの符号用メモリ領域を確保し、図１４に示すように、ステップＳ１０１に戻って、最初から圧縮動作をやり直す。
【０１３４】
ステップＳ１０１に戻ると、上記同様に処理を行い（ステップＳ１０１〜Ｓ４０５）、ステップＳ１１２で、全ての元画像の圧縮が完了すると、図１５に示すように、割り込み発生部２８が、完了割り込みを割り込み検知部８に発生し（ステップＳ１２３）、割り込み検知部８は、完了割り込みを検知して、圧縮情報リード部６に通知する（ステップＳ１２４）。
【０１３５】
圧縮情報リード部６は、用意した符号用ディスクリプタを全て読み込み（ステップＳ１２５）、ステップＳ１１１で圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べる。これによって、各元画像が膨張したか、符号サイズはいくつになったかを知ることができる。すなわち、本実施例では、バンド毎に、膨張した場合は元画像を出力用として保存し、小さくなった場合は符号を出力用として保存する。符号を保存する場合は、ステップＳ１２５で読み込んだ圧縮後の符号サイズを、符号の属性として同時にメモリ２に保管する（ステップＳ１２６）。
【０１３６】
このように、本実施例の画像形成装置１は、圧縮処理途中で符号用メモリ領域が足りなくなった時に中断して、圧縮の完了していない元画像を最初から圧縮処理し直している。
【０１３７】
したがって、符号用メモリ領域が不足して中断してメモリの再確保を行っている間に、メモリ確保の終了している別の圧縮したい元画像に対してデータ圧縮処理部２４を開放することができ、複数のアプリケーションが同じデータ圧縮処理部２４を利用する場合に、システムとしてのパフォーマンスを向上させることができる。
【実施例５】
【０１３８】
図１６及び図１７は、本発明の画像形成装置及び画像処理方法の第５実施例を適用した画像形成装置による画像圧縮処理を示すフローチャートである。
【０１３９】
なお、本実施例は、上記第１実施例の画像形成装置１と同様の画像形成装置に適用したものであり、本実施例の説明においては、上記第１実施例で用いた符号をそのまま用いて説明する。
【０１４０】
そこで、本実施例の説明においては、図１６及び図１７の画像圧縮処理のフローチャートにおいて、図２及び図３に示した第１実施例の画像圧縮処理のフローチャートと同様の処理ステップには、同一のステップ番号を付して、その説明を簡略化する。
【０１４１】
本実施例の画像形成装置１は、画像を以下の条件で可変長圧縮符号方式で圧縮する。
条件１：符号の保存方法：符号が膨張した場合には、元画像を保存する。
条件２：メモリ確保方法：メモリ２のメモリ領域を、以前の圧縮履歴から平均圧縮率を計算して、効率の良いメモリ領域を確保する。
条件３：圧縮完了判定方法：圧縮完了割り込みと一時停止割り込みを用いて圧縮完了判定を行う。
【０１４２】
すなわち、第１実施例の場合の条件と異なるのは、メモリ確保方法のみであり、符号量予測部１２が、メモリ領域確保部４による符号用メモリ確保領域として、一時停止状態になる確率が少なく、かつメモリ確保量が無駄にならない最適値を計算する。
【０１４３】
そこで、本実施例の画像形成装置１は、図１に破線で示した符号量予測部１２を備えており、符号量予測部１２は、以前の画像の圧縮率等を計算して保持して、今後の画像の圧縮率を予測し、メモリ領域確保部４に通知する。
【０１４４】
画像形成装置１は、図１６に示すように、まず、優先順位指示部３が、符号用メモリ領域として、最適化されたメモリ量を確保するように指示をメモリ領域確保部４及び符号量予測部１２に行う（ステップＳ５０１）。
【０１４５】
次に、符号量予測部１２が、過去の圧縮率データ等から処理速度を最適にする符号用メモリサイズを予測計算し（ステップＳ５０２）、メモリ領域確保部４が、符号量予測部１２の予測に基づいて最適なメモリ量の符号用メモリ領域をメモリ２のシステムメモリ領域の中から確保する（ステップＳ５０３）。すなわち、符号量予測部１２で、一時停止状態になる確率が少なく、かつ、メモリ確保量が無駄にならない最適なメモリ量を予測し、この予測に基づいて、メモリ領域確保部４が符号用メモリ領域を確保する。
【０１４６】
メモリ領域確保部４は、圧縮後の符号を保存するために、上記確保したバンド（メモリ領域）を示すディスクリプタを作成し、特に、最終バンドの元画像用ディスクリプタへは、圧縮が完了しなかった場合には、一時停止するように設定して、メモリ２に保存する（ステップＳ１０３）。
【０１４７】
さらに、圧縮処理パラメータ設定部５が、例えば、画像の主走査長やメモリ幅、圧縮方式や圧縮パラメータ等、バンド間で共通のパラメータを作成して、圧縮パラメータ保持部２１に保存し、また、一時停止解除後のパラメータをレジスタに保存する（ステップＳ１０４）。
【０１４８】
そして、圧縮処理に必要な全てのパラメータがメモリ２及びレジスタに保存されると、圧縮処理パラメータ設定部５が、圧縮処理起動部９に圧縮処理を開始するよう命令を発行し（ステップＳ１０５）、圧縮処理起動部９が圧縮処理シーケンス制御部２５に圧縮処理開始命令を出し、圧縮処理シーケンス制御部２５が元画像用ディスクリプタリード部２２にディスクリプタのリード命令を出して、圧縮処理に先立って、まず、元画像用ディスクリプタリード部２２が、１バンド目の元画像用ディスクリプタをメモリ２からリードし（ステップＳ１０６）、符号用ディスクリプタリード部２３が、１バンド目の符号用ディスクリプタをメモリ２からリードする（ステップＳ１０７）。
【０１４９】
必要なパラメータが揃うと、データ圧縮処理部２４が、圧縮処理を開始し、元画像用ディスクリプタにあるメモリ２上のアドレスから元画像をリードし、圧縮パラメータに従って圧縮処理して、圧縮処理した符号を符号用ディスクリプタに指示されたメモリ２のアドレスに書き戻す（ステップＳ１０８）。
【０１５０】
圧縮処理シーケンス制御部２５は、データ圧縮処理部２４による圧縮処理を開始すると、元画像１バンド分の圧縮処理が完了したかチェックし（ステップＳ１０９）、完了していないときには、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１０）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０７に戻って、符号用ディスクリプタをリードして、圧縮を継続して元画像１バンド分の圧縮が完了したかチェックする（ステップＳ１０７〜Ｓ１０９）。
【０１５１】
ステップＳ１０９で、符号用に用意したメモリ領域１バンドが埋まる前に元画像の１バンドの圧縮が完了すると、圧縮処理シーケンス制御部２５は、元画像１バンドが圧縮の結果どんな大きさの符号になったかと、このバンドでの元画像の圧縮が終了したことを示すＷＢフラグ（ライトバックフラグ）をメモリ２上の符号用ディスクリプタに書き戻し（ステップＳ１１１）、全元画像の圧縮が完了したかチェックする（ステップＳ１１２）。
【０１５２】
ステップＳ１１２で、全ての元画像の圧縮が完了していないときには、圧縮処理シーケンス制御部２５は、符号用のメモリ領域及びディスクリプタがあるかチェックして（ステップＳ１１３）、符号用のメモリ領域とディスクリプタがあるときには、ステップＳ１０６に戻って、元画像用ディスクリプタに記録された次の元画像用ディスクリプタの先頭アドレスを参照して、元画像用ディスクリプタを読み出して、同様に符号用ディスクリプタも次の新しいものを読み出し、元画像１バンドを符号化して新たな符号用メモリ領域に符号化されたデータを書き込む処理から上記同様に処理する（ステップＳ１０６〜Ｓ１１３）。
【０１５３】
ステップＳ１１０で、元画像１バンド分の圧縮が完了していない状態で、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、図１７に示すように、圧縮処理を一時停止し（ステップＳ１１４）、また、ステップＳ１１３で、全ての元画像の圧縮が完了する前に、符号用のメモリ領域がなくなるか、ディスクリプタが無くなると、圧縮処理シーケンス制御部２５は、データ圧縮処理部２４での圧縮処理を一時停止に移行させて、一時停止状態保持部２７にメモリ領域確保と符号用ディスクリプタを用意するために、一時的にデータ圧縮処理を停止した状態を保持し（ステップＳ１１４）、割り込み発生部２８に一時停止状態に入ったことを通知する（ステップＳ１１５）。
【０１５４】
割り込み発生部２８は、一時停止状態になったことを割り込み検知部８に通知し（ステップＳ１１６）、割り込み検知部８が一時停止状態になったことを検知すると、圧縮情報リード部６が、メモリ２から符号サイズとＷＢフラグを読み込んで、圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べて、一時停止に入ったときの元画像の圧縮進捗状況を判断する（ステップＳ１１７）。
【０１５５】
圧縮処理完了状態解析部７は、圧縮情報リード部６によって、圧縮が終了していない元画像のバンドがいくつあるかを解析すると、残り画像の書き込み先について、優先順位指示部３が、符号用メモリ領域として、処理速度を最適化するメモリ量を確保するように指示を符号量予測部１２に行い（ステップＳ５０４）、符号量予測部１２が、過去のデータ等から処理速度を最適にする符号用メモリサイズを予測計算して（ステップＳ５０５）、メモリ領域確保部４が該符号量予測部１２の予測に基づいて最適なメモリ量の符号用メモリ領域を確保する（ステップＳ５０６）。
【０１５６】
次に、圧縮処理パラメータ設定部５は、確保し直したメモリ領域の情報を新たな圧縮処理パラメータとしてメモリに書き戻し（ステップＳ１２０）、必要に応じてレジスタへの圧縮処理パラメータの変更を行って、レジスタに保持させ（ステップＳ１２１）、一時停止状態にある圧縮処理の再開の命令を圧縮再起動部１１に出して（ステップＳ１２２）、図１６に示すステップＳ１０６に戻って、元画像用ディスクリプタのリードから上記同様に処理する（ステップＳ１０６〜Ｓ５０４〜Ｓ５０６〜Ｓ１２２）。
【０１５７】
そして、図１６のステップＳ１１２において、全ての元画像の圧縮が完了すると、図１７に示すように、割り込み発生部２８が、完了割り込みを割り込み検知部８に発生し（ステップＳ１２３）、割り込み検知部８は、完了割り込みを検知して、圧縮情報リード部６に通知する（ステップＳ１２４）。
【０１５８】
圧縮情報リード部６は、用意した符号用ディスクリプタを全て読み込み（ステップＳ１２５）、ステップＳ１１１で圧縮情報メモリ書き戻し部２６によってメモリ２に書き戻されたＷＢフラグが立っているかどうかと符号サイズを調べる。これによって、各元画像が膨張したか、符号サイズはいくつになったかを知ることができる。すなわち、本実施例では、バンド毎に、膨張した場合は元画像を出力用として保存し、小さくなった場合は符号を出力用として保存する。符号を保存する場合は、ステップＳ１２５で読み込んだ圧縮後の符号サイズを、符号の属性として同時にメモリ２に保管する（ステップＳ１２６）。
【０１５９】
このように、本実施例の画像形成装置１は、符号用メモリ領域の確保量の最適値を符号量予測部１２で過去の圧縮履歴等から圧縮対象の元画像データの圧縮率を予測して最適な符号用メモリ量を予測し、メモリ領域確保部４が該予測結果に応じて符号量メモリ領域をメモリ２に確保している。
【０１６０】
したがって、無駄なメモリ確保を防止して、画像形成装置１全体のパフォーマンスを向上させることができるとともに、圧縮処理が一時停止状態になる確率を減して、圧縮処理速度をも向上させることができる。
【０１６１】
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【産業上の利用可能性】
【０１６２】
本発明は、メモリの元画像を可変長圧縮して該メモリに該圧縮した符号を格納する画像処理を行う複合装置、複写装置、プリンタ等の画像形成装置及び画像処理方法に適用することができる。
【図面の簡単な説明】
【０１６３】
【図１】本発明の第１実施例を適用した画像形成装置の機能ブロック構成図。
【図２】図１の画像形成装置による画像圧縮処理を示すフローチャート。
【図３】図２の画像圧縮処理の続きの処理を示すフローチャート。
【図４】図２の画像圧縮処理で膨張した符号がない場合の動作説明図。
【図５】図２の画像圧縮処理で元画像Ｍが膨張して一時停止が発生した場合の動作説明図。
【図６】図４の一時停止状態から元画像Ｋの符号用メモリ領域を再確保し一時停止状態を解除して圧縮を継続する動作説明図。
【図７】本発明の第２実施例を適用した画像形成装置による画像圧縮処理を示すフローチャート。
【図８】図７の画像圧縮処理の続きの処理を示すフローチャート。
【図９】図７及び図８の画像圧縮処理で膨張した符号がない場合の動作説明図。
【図１０】図７及び図８の画像圧縮処理で元画像Ｍが膨張して一時停止が発生した場合の動作説明図。
【図１１】図１０の一時停止状態から元画像Ｍ，Ｙ，Ｋの符号用メモリ領域を再確保し一時停止状態を解除して圧縮を継続する動作説明図。
【図１２】本発明の第３実施例を適用した画像形成装置による画像圧縮処理を示すフローチャート。
【図１３】図１２の画像圧縮処理の続きの処理を示すフローチャート。
【図１４】本発明の第４実施例を適用した画像形成装置による画像圧縮処理を示すフローチャート。
【図１５】図１４の画像圧縮処理の続きの処理を示すフローチャート。
【図１６】本発明の第５実施例を適用した画像形成装置による画像圧縮処理を示すフローチャート。
【図１７】図１６の画像圧縮処理の続きの処理を示すフローチャート。
【符号の説明】
【０１６４】
１  画像形成装置
２  メモリ
３  優先順位指示部
４  メモリ領域確保部
５  圧縮処理パラメータ設定部
６  圧縮情報リード部
７  圧縮処理完了状態解析部
８  割り込み検知部
９  圧縮処理起動部
１０  圧縮処理再起動部
１１  圧縮処理部
１２  符号量予測部
２１  圧縮パラメータ保持部
２２  元画像用ディスクリプタリード部
２３  符号用ディスクリプタリード部
２４  データ圧縮処理部
２５  圧縮処理シーケンス制御部
２６  圧縮情報メモリ書き戻し部
２７  一時停止状態保持部
２８  割り込み発生部
【図１】
2008227872.tif 000003
【図２】
2008227872.tif 000004
【図３】
2008227872.tif 000005
【図４】
2008227872.tif 000006
【図５】
2008227872.tif 000007
【図６】
2008227872.tif 000008
【図７】
2008227872.tif 000009
【図８】
2008227872.tif 000010
【図９】
2008227872.tif 000011
【図１０】
2008227872.tif 000012
【図１１】
2008227872.tif 000013
【図１２】
2008227872.tif 000014
【図１３】
2008227872.tif 000015
【図１４】
2008227872.tif 000016
【図１５】
2008227872.tif 000017
【図１６】
2008227872.tif 000018
【図１７】
2008227872.tif 000019