(57)【要約】【課題】特に、文字画像の圧縮率を向上させることができる画像処理方法を提案する。【解決手段】画像処理装置では、左端のブロックから順に、当該ブロックの代表色の色数と、前ブロック代表色との関連、または前ブロックのインデックスとの関連とを考慮しながら、代表色を表わす値についての連続数と、インデックスについての連続性とが別々にカウントされる。インデックスについては、すべてのブロックで異なっているために、連続しないものとして圧縮されが、代表値については、ａブロック〜ｄブロック、ｇ，ｈブロックが、各々、代表値が白および黒であって、ブロックの連続数４，２として圧縮され、ｅ，ｆブロックが、代表色が白であって連続数２として圧縮される。【選択図】図２２
2010141702.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像処理方法であって、
前記画像データを所定サイズのブロックに分割するステップと、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、
前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮するステップとを備える、画像処理方法。
【請求項２】
前記二次圧縮データに圧縮するステップでは、さらに、前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮する、請求項１に記載の画像処理方法。
【請求項３】
画像データを符号化する画像処理方法であって、
前記画像データを所定サイズのブロックに分割するステップと、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、
前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮するステップとを備える、画像処理方法。
【請求項４】
前記二次圧縮データに圧縮するステップでは、さらに、前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮する、請求項３に記載の画像処理方法。
【請求項５】
前記一次圧縮データの前記代表色の数を判別するステップをさらに備え、
前記二次圧縮データに圧縮するステップでは、前記一次圧縮データの前記代表色の数が一致し前記代表値がすべて一致する、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、前記代表値の二次圧縮データに圧縮する、請求項１または４に記載の画像処理方法。
【請求項６】
前記一次圧縮データの前記代表色の数を判別するステップをさらに備え、
前記二次圧縮データに圧縮するステップでは、前記一次圧縮データの前記代表色の数が一致し前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、前記インデックスの二次圧縮データに圧縮する、請求項２または３に記載の画像処理方法。
【請求項７】
前記一次圧縮データの前記代表色の数を判別するステップをさらに備え、
前記二次圧縮データに圧縮するステップでは、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、前記色数を示す情報と、前記代表値が一致する前記ブロックの前記符号化方向の連続数を示す情報と、前記代表値とを含む前記代表値の二次圧縮データに圧縮する、請求項１，４，５のいずれかに記載の画像処理方法。
【請求項８】
前記二次圧縮データに圧縮するステップでは、前記代表値の二次圧縮データの前記代表値が、前回圧縮された、同じ色数の代表値の二次圧縮データの代表値と一致する場合には、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を前記代表値を含まない前記代表値の二次圧縮データに圧縮する、請求項７に記載の画像処理方法。
【請求項９】
前記一次圧縮データの前記代表色の数を判別するステップをさらに備え、
前記二次圧縮データに圧縮するステップでは、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、前記色数を示す情報と、前記インデックスが一致する前記ブロックの前記符号化方向の連続数を示す情報と、前記インデックスとを含む前記インデックスの二次圧縮データに圧縮する、請求項２，３，６のいずれかに記載の画像処理方法。
【請求項１０】
前記二次圧縮データに圧縮するステップでは、前記代表値の二次圧縮データの前記インデックスが、前回圧縮された、同じ色数のインデックスの二次圧縮データのインデックスと一致する場合には、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを前記インデックスを含まない前記インデックスの二次圧縮データに圧縮する、請求項９に記載の画像処理方法。
【請求項１１】
前記二次圧縮データに圧縮するステップでは、前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、前記代表値が一致する前記ブロックの前記符号化方向の連続数を示す情報と、前記代表値を含むか含まないかを示すフラグとを含む前記代表値の二次圧縮データに圧縮する、請求項１，４，５，７，８のいずれかに記載の画像処理方法。
【請求項１２】
前記二次圧縮データに圧縮するステップでは、前記一次圧縮データの前記代表値の色成分値が一致する前記符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値の前記色成分値を、前記代表値の二次圧縮データに圧縮する、請求項１，４，５，７，８，１１のいずれかに記載の画像処理方法。
【請求項１３】
画像データを所定サイズのブロックに分割する分割手段と、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮する一次圧縮手段と、
前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮する代表値二次圧縮手段とを備える、画像処理装置。
【請求項１４】
前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮するインデックス二次圧縮手段とをさらに備える、請求項１３に記載の画像処理装置。
【請求項１５】
画像データを所定サイズのブロックに分割する分割手段と、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮する一次圧縮手段と、
前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮するインデックス二次圧縮手段とを備える、画像処理装置。
【請求項１６】
前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮する代表値二次圧縮手段をさらに備える、請求項１５に記載の画像処理装置。
【請求項１７】
画像データを符号化する処理をコンピュータに実行させるためのプログラムであって、
画像データを符号化する画像処理方法であって、
前記画像データを所定サイズのブロックに分割するステップと、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、
前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮するステップとを前記コンピュータに実行させる、画像処理プログラム。
【請求項１８】
前記二次圧縮データに圧縮するステップでは、さらに、前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮する、請求項１７に記載の画像処理プログラム。
【請求項１９】
画像データを符号化する処理をコンピュータに実行させるためのプログラムであって、
画像データを符号化する画像処理方法であって、
前記画像データを所定サイズのブロックに分割するステップと、
前記ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、前記ブロックに属する各画素の属する前記代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、
前記一次圧縮データのうちの前記インデックスが一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記インデックスを、インデックスの二次圧縮データに圧縮するステップとを前記コンピュータに実行させる、画像処理プログラム。
【請求項２０】
前記二次圧縮データに圧縮するステップでは、さらに、前記一次圧縮データのうちの前記代表値が一致する、符号化方向に連続する前記ブロックの前記一次圧縮データのうちの前記代表値を、代表値の二次圧縮データに圧縮する、請求項１９に記載の画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は画像処理方法、画像処理装置、および画像処理プログラムに関し、特に、画像データの符号化処理を行なう画像処理方法、画像処理装置、および画像処理プログラムに関する。
【背景技術】
【０００２】
画像データを符号化して圧縮する技術として、ＢＴＣ（Block Truncation Coding）圧縮と呼ばれる圧縮方法がある。ＢＴＣ圧縮は、原稿画像データを複数の領域に分割し、各領域内のすべての画素を所定数以下の代表色で表現して符号化する方法である。ＢＴＣ圧縮では、各画素が色値に置き換えられるので、元画像データは元よりも少ない情報量に圧縮されはするものの、圧縮データは元画像の画素数に応じた情報を含んだ、予め規定された固定サイズの情報量に圧縮されるため、必ずしも圧縮効率が高いとは言えない。たとえば、Ｗｏｒｄ（登録商標）などの文書作成プログラムで作成された簡単な文字画像などであっても、ロスレス圧縮（可逆圧縮）でのような情報量にまでは圧縮されない。
【０００３】
ＢＴＣ圧縮に代表される、画素を元画像よりも少ない色の情報に置き換えて符号化する方法においては、画像データをより効率的に圧縮するために、様々な技術が提案されている。たとえば、特開平９−３２２１６２号公報（以下、特許文献１）は、元画像データを２色で塗り分ける際に、ブロック内の画素がすべて同じ色値である場合に、特殊モードとしてその連続性を考慮した圧縮を行なう技術を開示している。またたとえば、特開２００７−４３５７７号公報は、圧縮後の画像データをさらに所定サイズに分割して二次圧縮する技術を開示している。
【特許文献１】特開平９−３２２１６２号公報
【特許文献２】特開２００７−４３５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、これら文献に開示されている技術を採用して、二次圧縮としてブロック間の同一性を利用した圧縮を行なったとしても、圧縮対象の画像が文字画像である場合、文字のある部分の圧縮効率が文字のない部分に比べると低いという問題がある。
【０００５】
本発明はこのような問題に鑑みてなされたものであって、少なくとも２色以上の代表色を用いて圧縮を行なう圧縮方法において、代表色を表現する部分と、各画素の属する代表色の領域を表現する部分とを分けて圧縮処理を行なうことで、文字画像の文字のある部分の圧縮効率を向上することのできる画像処理方法、画像処理装置、および画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明のある局面に従うと、画像処理方法は画像データを符号化する画像処理方法であって、画像データを所定サイズのブロックに分割するステップと、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮するステップとを備える。
【０００７】
好ましくは、二次圧縮データに圧縮するステップでは、さらに、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮する。
【０００８】
本発明の他の局面に従うと、画像処理方法は画像データを符号化する画像処理方法であって、画像データを所定サイズのブロックに分割するステップと、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮するステップとを備える。
【０００９】
好ましくは、二次圧縮データに圧縮するステップでは、さらに、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮する。
【００１０】
好ましくは、画像処理方法は、一次圧縮データの代表色の数を判別するステップをさらに備え、二次圧縮データに圧縮するステップでは、一次圧縮データの代表色の数が一致し代表値がすべて一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮する。
【００１１】
好ましくは、画像処理方法は、一次圧縮データの代表色の数を判別するステップをさらに備え、二次圧縮データに圧縮するステップでは、一次圧縮データの代表色の数が一致しインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮する。
【００１２】
好ましくは、画像処理方法は、一次圧縮データの代表色の数を判別するステップをさらに備え、二次圧縮データに圧縮するステップでは、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、色数を示す情報と、代表値が一致するブロックの符号化方向の連続数を示す情報と、代表値とを含む代表値の二次圧縮データに圧縮する。より好ましくは、二次圧縮データに圧縮するステップでは、代表値の二次圧縮データの代表値が、前回圧縮された、同じ色数の代表値の二次圧縮データの代表値と一致する場合には、符号化方向に連続するブロックの一次圧縮データのうちの代表値を代表値を含まない代表値の二次圧縮データに圧縮する。
【００１３】
好ましくは、画像処理方法は、一次圧縮データの代表色の数を判別するステップをさらに備え、二次圧縮データに圧縮するステップでは、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、色数を示す情報と、インデックスが一致するブロックの符号化方向の連続数を示す情報と、インデックスとを含むインデックスの二次圧縮データに圧縮する。より好ましくは、二次圧縮データに圧縮するステップでは、代表値の二次圧縮データのインデックスが、前回圧縮された、同じ色数のインデックスの二次圧縮データのインデックスと一致する場合には、符号化方向に連続するブロックの一次圧縮データのうちのインデックスをインデックスを含まないインデックスの二次圧縮データに圧縮する。
【００１４】
好ましくは、二次圧縮データに圧縮するステップでは、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値が一致するブロックの符号化方向の連続数を示す情報と、代表値を含むか含まないかを示すフラグとを含む代表値の二次圧縮データに圧縮する。
【００１５】
好ましくは、二次圧縮データに圧縮するステップでは、一次圧縮データの代表値の色成分値が一致する符号化方向に連続するブロックの一次圧縮データのうちの代表値の色成分値を、代表値の二次圧縮データに圧縮する。
【００１６】
本発明のさらに他の局面に従うと、画像処理装置は、画像データを所定サイズのブロックに分割する分割手段と、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮する一次圧縮手段と、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮する代表値二次圧縮手段とを備える。
【００１７】
好ましくは、画像処理装置は、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮するインデックス二次圧縮手段をさらに備える。
【００１８】
本発明のさらに他の局面に従うと、画像処理装置は、画像データを所定サイズのブロックに分割する分割手段と、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮する一次圧縮手段と、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮する第２の二次圧縮手段とを備える。
【００１９】
好ましくは、画像処理装置は、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮する代表値二次圧縮手段をさらに備える。
【００２０】
本発明のさらに他の局面に従うと、画像処理プログラムは画像データを符号化する処理をコンピュータに実行させるためのプログラムであって、画像データを符号化する画像処理方法であって、画像データを所定サイズのブロックに分割するステップと、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮するステップとをコンピュータに実行させる。
【００２１】
好ましくは、二次圧縮データに圧縮するステップでは、さらに、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮する。
【００２２】
本発明のさらに他の局面に従うと、画像処理プログラムは画像データを符号化する処理をコンピュータに実行させるためのプログラムであって、画像データを符号化する画像処理方法であって、画像データを所定サイズのブロックに分割するステップと、ブロックを、２色以上であって所定数以下の代表色を表わす情報である代表値と、ブロックに属する各画素の属する代表色を表わす情報であるインデックスとで表現される一次圧縮データに圧縮するステップと、一次圧縮データのうちのインデックスが一致する、符号化方向に連続するブロックの一次圧縮データのうちのインデックスを、インデックスの二次圧縮データに圧縮するステップとをコンピュータに実行させる。
【００２３】
好ましくは、二次圧縮データに圧縮するステップでは、さらに、一次圧縮データのうちの代表値が一致する、符号化方向に連続するブロックの一次圧縮データのうちの代表値を、代表値の二次圧縮データに圧縮する。
【発明の効果】
【００２４】
本発明によると、文字画像の文字のある部分の圧縮効率を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。
【００２６】
本実施の形態においては、本発明にかかる画像処理装置がパーソナルコンピュータ（以下、ＰＣ）において実現されるものとして説明する。
【００２７】
図１は、画像処理装置として機能する、本実施の形態にかかるＰＣ１およびその周辺機器の構成概念の具体例を示す図である。図１を参照して、ＰＣ１は、操作入力手段であるマウス１１およびキーボード１２と、画像出力手段であるモニタ１３と、画像形成装置であるプリンタ１５と、画像読込手段であるスキャナ１６と、記憶手段の１つである外部記憶装置１４とに接続されている。ＰＣ１は、その内部に入出力インタフェース（Ｉ／Ｆ）１００を含んで、接続されたこれら周辺機器と情報の受け渡しを行なう。さらにＰＣ１はその内部に演算手段であるＣＰＵ（Central Processing Unit）１０１と、記憶手段の１つである記憶装置１０２とを含む。記憶装置１０２には画像処理ソフトが記憶されており、ＣＰＵ１０１が画像処理ソフトを読出して実行することによって、ＰＣ１が本発明にかかる画像処理装置として機能する。
【００２８】
本発明にかかる画像処理装置を実現する装置はＰＣに限定されず、その他の装置であってもよい。その他の装置として代表的な装置は、たとえばＭＦＰ（Multi Function Peripheral）などである画像形成装置が挙げられる。図２は、他の例として本発明にかかる画像処理装置がＭＦＰで実現されるとした場合の、画像処理装置として機能するＭＦＰ２の構成概念の具体例を示す図である。図２を参照して、ＭＦＰ２は、操作入力手段である操作パネル部２１と、画像読込手段であるスキャナ部２２と、画像出力手段であるプリンタ部２３とを含んで構成される。さらにＭＦＰ２はその内部に画像処理部２０１を含む。画像処理部２０１が処理を実行することによって、ＭＦＰ２が本発明にかかる画像処理装置として機能する。
【００２９】
図３は、本実施の形態にかかるＰＣ１のハードウェア構成およびその機能の具体例を示すブロック図である。図３を参照して、ＰＣ１は、先述のように、その内部に入出力Ｉ／Ｆ１００と、ＣＰＵ１０１と、記憶装置１０２とを含む。
【００３０】
入出力Ｉ／Ｆ１００は、マウス１１およびキーボード１２と接続されて、マウス１１および／またはキーボード１２から入力されるユーザ指示を受取る。また、モニタ１３と接続されて、モニタ１３に対して表示用の画像データを渡す。また、スキャナ１６と接続されて、スキャナ１６でスキャンされて得られたスキャン画像（スキャンデータ）を受取る。また、プリンタ１５に接続されて、プリンタ１５に対してプリント用の画像データを渡す。
【００３１】
記憶装置１０２は、先述の画像処理ソフトとオペレーションソフトとを記憶する。これらソフトウェアの少なくとも一部が、外部記憶装置１４に記憶されていてもよい。ＣＰＵ１０１はその内部にメモリを含み、記憶装置１０２から読出したソフトウェアを内部のメモリに展開しつつ実行する。その際、入出力Ｉ／Ｆ１００を介して入力されたデータを用いたり、処理によって生成されたデータを入出力Ｉ／Ｆ１００を介して他の装置に出力したりする。
【００３２】
ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することで実現される画像処理装置は、スキャナ１６で原稿画像を読取って得られる画像データや、ＰＣ１内のアプリケーションソフトウェアなどの実行によって作成される画像データ（たとえば文書作成ソフトウェアの実行によって作成される文書データ）などの画像データを符号化し、圧縮するための処理を施す。以降の説明において、圧縮される前の画像データのことを「原稿画像データ」と称する。
【００３３】
図４は、原稿画像データを圧縮する際の、ＰＣ１の機能構成の具体例を示すブロック図である。図４に示される各機能は、主に、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することでＣＰＵ１０１に構成される機能である。また、図２に示されたハードウェア構成を用いて実現されてもよい。
【００３４】
図４を参照して、ＰＣ１の上記機能は、原稿画像データ入力部３０１、第１圧縮部３０３、第２圧縮部３０５、および圧縮データ出力部３０７を含む。第２圧縮部３０５は、さらに、代表値圧縮部３０５Ａおよびインデックス圧縮部３０５Ｂを含む。
【００３５】
原稿画像データ入力部３０１は、スキャナ１６において原稿画像がスキャンされて入出力Ｉ／Ｆ１００を介して入力される原稿画像データを受け付ける。または、原稿画像データ入力部３０１には図示しないＰＣ１内のアプリケーションソフトウェアなどの実行手段が含まれ、上記アプリケーションソフトウェアなどの実行によって作成される画像データを取得する。原稿画像データ入力部３０１は第１圧縮部３０３に接続され、入力された原稿画像データを第１圧縮部３０３に対して出力する。第１圧縮部３０３は入力された原稿画像データに一次圧縮処理を施す。第１圧縮部３０３はさらに第２圧縮部３０５に接続され、一次圧縮された画像データを第２圧縮部３０５に対して出力する。第２圧縮部３０５は、入力された、一次圧縮された画像データに二次圧縮処理を施す。その際、第２圧縮部３０５に含まれる代表値圧縮部３０５Ａは、一次圧縮された画像データのうちの後述する代表色を表わす代表値部分について二次圧縮処理を施し、インデックス圧縮部３０５Ｂは、一次圧縮された画像データのうちのインデックスを表わす部分について二次圧縮処理を施す。第２圧縮部３０５はさらに圧縮データ出力部３０７に接続されて、二次圧縮された代表値部分、および二次圧縮されたインデックスを表わす部分を、圧縮データ出力部３０７に対して出力する。圧縮データ出力部３０７は、二次圧縮された代表値部分および二次圧縮されたインデックスを表わす部分の対応関係を表わす情報を生成し、当該情報と共に画像データをモニタ１３などに対して出力する。
【００３６】
図５は、第１圧縮部３０３の詳細な構成の具体例を示すブロック図である。図５を参照して、第１圧縮部３０３は、色数判断部５０１、分割部５０３、代表値算出部５０５、および第１圧縮データ生成部５０７を含む。
【００３７】
分割部５０３は、入力された原稿画像データを、たとえば８×８画素などの、予め規定された所定サイズのブロックに分割し、ブロック内の各画素を、最大４色に塗り分ける。その際、色数判断部５０１は、該ブロックが１色のみか否か判断し、その結果を分割部５０３および第１圧縮データ生成部５０７に入力する。分割部５０３は色数判断部５０１での判断結果に応じてブロックの領域分割を繰り返す。代表値算出部５０５は後述する該ブロック内の各領域についての代表値を算出し、その値を第１圧縮データ生成部５０７に入力する。第１圧縮データ生成部５０７は色数判断部５０１での判断結果および代表値算出部５０５での算出結果に基づいて画像データを一次圧縮し、一次圧縮データを生成する。圧縮された画像データには、色数判断部５０１での判断結果である、後述する色数モードを示す情報が付加されている。
【００３８】
図６は、第２圧縮部３０５の詳細な構成の具体例を示すブロック図である。第２圧縮部３０５に含まれる代表値圧縮部３０５Ａおよびインデックス圧縮部３０５Ｂは、いずれも同じ、図６に示される構成である。図６を参照して、第２圧縮部３０３に含まれる代表値圧縮部３０５Ａおよびインデックス圧縮部３０５Ｂは、いずれも、ステータス記憶７０１、ステータス更新部７０３、判別部７０５、前ブロック情報記憶部７０７、カウント部７０９、カウンタ１１１、および第２圧縮データ生成部７１３を含む。
【００３９】
ステータス記憶部７０１は、後述する、最新の処理ステータスを記憶する。前ブロック情報記憶部７０７は、現在処理中のブロックに隣接する、直前に処理したブロック（前ブロックと称する）の情報として、前ブロックの色数モードと代表値とを記憶する。カウンタ７１１は、処理ステータスごとのカウンタを含む。
【００４０】
判別部７０５は、一次圧縮データが（ライン方向に１ブロック分ずつ）入力されるごとに、該ブロックの色数モードおよび前ブロックの色数モード、ならびに該ブロックの代表値および前ブロックの代表値、を比較し、比較結果をステータス更新部７０３、カウント部７０９および／または二次圧縮データ生成部７１３に入力する。ステータス更新部７０３は、上記比較結果に応じてステータス記憶部７０１に記憶されている最新の処理ステータスを更新する。カウント部７０９は、上記比較結果に応じてカウンタ７１１の対応するカウンタをインクリメントする。
【００４１】
二次圧縮データ生成部７１３は、上記比較結果およびカウンタ７１１に基づいて、一次圧縮データを二次圧縮し、二次圧縮データを生成する。
【００４２】
図７は、ＰＣ１において原稿画像データを圧縮する処理の具体例を示すフローチャートである。図７のフローチャートは、ＣＰＵ１０１が記憶装置１０２に記憶される画像処理ソフトを実行することによって実現される。
【００４３】
図７を参照して、ステップＳ１０で埋込データ入力部３０５は、マウス１１やキーボード１２などから入出力Ｉ／Ｆ１００を介して埋込データの入力を受け付ける。ステップＳ１０で入力された原稿画像データは、ステップＳ２０で第１圧縮部３０３において一次圧縮され、その後、ステップＳ３０で第２圧縮部３０５において二次圧縮された後、上記ステップＳ４０で圧縮データ出力部３０７より出力される。
【００４４】
図８は、上記ステップＳ２０での、一次圧縮処理の具体例を示すフローチャートである。図８を参照して、ステップＳ１０１で分割部５０３は、原稿画像データを予め規定された所定サイズのブロックに分割する。変数ｎを初期化した後（ステップＳ１０３）、１インクリメントし（ステップＳ１０５）、ステップＳ１０６，Ｓ１０８で色数判断部５０１は、ステップＳ１０７，Ｓ１０９，Ｓ１１０での領域分割前に、変数ｎに対応するブロック内に１色しかないか否か、２色しかないか否かを判断する。１色しかないと判断された場合には（ステップＳ１０６でＹＥＳ）、以降の領域分割処理をスキップする。１色よりも多い色数があると判断された場合（ステップＳ１０６でＮＯ）、ステップＳ１０７で分割部５０３は、当該ブロックに対して第１の領域分割処理を実行する。変数ｎに対応するブロック内に２色しかないと判断された場合には（ステップＳ１０８でＹＥＳ）、上記ステップＳ１０７で第１の領域分割処理がなされた時点で、以降の領域分割処理をスキップする。２色よりも多い色数があると判断された場合（ステップＳ１０８でＮＯ）、ステップＳ１０９，Ｓ１１０で分割部５０３は、さらに、当該ブロックに対して第２の領域分割処理、第３の領域分割処理を実行する。第１の領域分割処理、第２の領域分割処理、および第３の領域分割処理については、後の具体例を挙げて説明する。
【００４５】
その後、ステップＳ１１１で代表値算出部５０５において当該ブロックの各領域について先述の代表値が算出され、ステップＳ１１３で第１圧縮データ生成部５０７が、当該ブロック内の各画素を算出された代表値で置き換えて一次圧縮データを生成し、出力する。第１圧縮部３０３では以上の処理が、ステップＳ１０１で分割されたブロック数Ｎに達するまで（ステップＳ１１５でＹＥＳ）、各ブロックについて実行される。
【００４６】
以上の一次圧縮方法について、原稿画像データの具体例を挙げて説明する。
上記ステップＳ１０で入力された原稿画像データを所定サイズ（ここでは、８×８画素）に分割した、処理対象である１つのブロックが図９（Ａ）に示される単色（１色）のみからなるとする。当該ブロックは、具体的に第１の色（たとえば赤色）１色のみが施されているとする。このとき、上記ステップＳ１１６で色数判別部５０１は、当該ブロックに１色しかないことを判断し、当該ブロックの色数モードを１色モードと決定する。色が同じであるか否かの、色の同一性は、画素値がまったく同一か否かで判断されてもよいし、ＲＧＢのチャンネルごとに、差が所定（たとえば２）以下であれば同じ色と判断されてもよい。この、色の同一性の判断方法は、以降の処理においても同様とする。処理対象のブロックが１色モードである場合には領域分割処理がすべてなされず、ブロック全体として１つの領域とされる。ステップＳ１１１において、代表値算出部５０５でブロック全体である領域０の代表値が算出される。ここで、先述のように、第１の色が赤色であるとすると、代表値である赤色の色値は、図９（Ｂ）に示されるように、具体的にＲＧＢ値として、以下のように示される：
領域０：（Ｒ，Ｇ，Ｂ）＝（２５２，２２４，２３４）。
【００４７】
処理対象である１つのブロックが図１０（Ａ）に示される２色からなるとする。当該ブロックは、具体的に、全体に第１の色（たとえば赤色）が施され、略中央部に、縦方向に第２の色（たとえば青色）が施されているものとする。このとき、上記ステップＳ１１６で色数判別部５０１は、当該ブロックに２色しかないことを判断し、当該ブロックの色数モードを２色モードと決定する。処理対象のブロックが２色モードである場合には１回の領域分割処理である第１の領域分割処理（Ｓ１０７）がなされ、以降の領域分割処理はなされない。
【００４８】
上記ステップＳ１０７の第１の領域分割処理の具体例として、分割部５０３は、図１０（Ａ）のブロック内の各画素を示すＲＧＢ各色の画像データについて当該ブロック内における色値のばらつきを検出し、最も色値のばらつきの大きな色の画像データを特定する。さらに特定された画像データの色値の平均値を算出し、当該平均値よりも色値の大きい領域と小さい領域とに分割する。図１０（Ｂ）は、図１０（Ａ）のブロックに対して第１の領域分割処理がなされた後を表わしている。上述の第１の領域分割処理がなされることで、第２の色が施されている領域が領域０、第１の色が施されている領域が領域１として分割される。そして、ステップＳ１１１において、代表値算出部５０５で領域０および領域１の代表値が算出される。ここで、先述のように、第１の色が赤色、第２の色が青色であるとすると、各領域の代表値は、図１１に示されるように、具体的にＲＧＢ値として、以下のように示される：
領域０：（Ｒ，Ｇ，Ｂ）＝（  １５，  ３８，２４０）、
領域１：（Ｒ，Ｇ，Ｂ）＝（２５２，２２４，２３４）。
【００４９】
処理対象である１つのブロックが図１２（Ａ）に示される３色以上からなるとする。当該ブロックは、具体的に、矩形の原稿の左上から右下に向かって対角方向に第１の色（たとえば赤色）の濃度が濃くなるグラデーションが施され、略中央部に、縦方向に第２の色（たとえば青色）が施されているものとする。このとき、上記ステップＳ１１６で色数判別部５０１は、当該ブロックに３色以上あることを判断し、当該ブロックの色数モードを、３回領域分割処理を行なうことを考慮した４色モードと決定する。処理対象のブロックが４色モードである場合には３回の領域分割処理である第３の領域分割処理（Ｓ１１０）まで実行される。
【００５０】
図１２（Ｂ）は、図１２（Ａ）のブロックに対して第１の領域分割処理がなされた後を表わしている。上述の第１の領域分割処理がなされることで、第２の色が施されている領域が領域０、第１の色が施されている領域が領域１として分割される。
【００５１】
第１の領域分割処理がなされた後の、図１２（Ｂ）の状態のブロックに対して、上記ステップＳ１０９で、同様にして、第２の領域分割処理が行なわれる。すなわち、上記領域０、領域１内の色の平均値として、各々、色番号００，０１で表わされている色値が算出される。さらに、本実施の形態では、分割部５０３は、領域０，領域１のうち、色値のばらつきが大きい方の領域について、第１の領域分割処理と同様に、当該平均値よりも色値の大きい領域と小さい領域とに分割する。図１３（Ａ）が、図１２（Ｂ）の状態のブロックに対してさらに第２の領域分割処理がなされた後を表わしている。上述の第２の領域分割処理がなされることで、第１の色がグラデーションをなしている領域１が、さらに、グラデーションの薄い側の領域である領域１と、濃い側の領域である領域２とに分割される。
【００５２】
第２の領域分割処理がなされた後の、図１３（Ａ）の状態のブロックに対して、上記ステップＳ１１０で、同様にして、第３の領域分割処理が行なわれる。すなわち、上記領域０〜領域２内の色の平均値として、各々、色番号００，０１，１０で表わされている色値が算出される。さらに、本実施の形態では、分割部５０３は、領域０，領域１，領域２のうち、色値のばらつきが大きい領域について、第１の領域分割処理と同様に、当該平均値よりも色値の大きい領域と小さい領域とに分割する。図１３（Ｂ）が、図１３（Ａ）の状態のブロックに対してさらに第３の領域分割処理がなされた後を表わしている。上述の第３の領域分割処理がなされることで、グラデーションの濃い側の領域である領域２が、さらに、グラデーションの薄い側の領域である領域２と、濃い側の領域である領域３とに分割される。
【００５３】
そして、ステップＳ１１１において、代表値算出部３０３で各領域の代表値として色値の平均値が算出される。ここで、先述のように、第１の色が赤色であり、第２の色が青色である場合、領域０，領域１，領域２，領域３の代表色を示す代表値は、図１４に示されるように、具体的にＲＧＢ値として、以下のように示される：
領域０：（Ｒ，Ｇ，Ｂ）＝（  １５，  ３８，２４０）、
領域１：（Ｒ，Ｇ，Ｂ）＝（２５２，２２４，２３４）、
領域２：（Ｒ，Ｇ，Ｂ）＝（２４７，１４０，１９１）、
領域３：（Ｒ，Ｇ，Ｂ）＝（２３２，  ７１，１２７）。
【００５４】
図１５（Ａ）、図１５（Ｂ）、および図１５（Ｃ）は、上記ステップＳ１１３で出力される１ブロック分の一次圧縮データのデータ構成の具体例を示す図である。一次圧縮データは固定長（たとえば２５６ビット）のデータであって、最初２ビットで色数モードを識別するための識別フラグを示し、その後に、各領域０〜３の代表色を示す情報である代表値が含まれ、必要に応じて、当該ブロックを構成する６４画素の各々について、いずれの領域に属するかを示す情報であるインデックスがさらに含まれる。代表値は、ＲＧＢのチャンネルごとに各８ビットで表わされ、１つの領域の代表値は２４ビットで表わされる。インデックスは、ブロックの６４画素に対して、左上から右へ８画素分記述し、１つ下段のラインに移る、の繰り返しで表現される。２色モードの代表値は、６４画素の各々について、領域０か領域１かのいずれかが１ビットで示され、２色モードのインデックスは６４ビットで表わされる。４色モードの代表値は、６４画素の各々について、領域０〜３のいずれかが２ビットで示され、４色モードのインデックスは１２８ビットで表わされる。
【００５５】
詳しくは、図１５（Ａ）はブロックが１色モードである場合の一次圧縮データの構成、図１５（Ｂ）はブロックが２色モードである場合の一次圧縮データの構成、および図１５（Ｃ）はブロックが４色モードである場合の一次圧縮データの構成の具体例を示す図である。図１５（Ａ）を参照して、１色モードである場合には領域分割処理が行なわれないため領域は１つのみである（領域０）。そのため、一次圧縮データには、識別フラグと、領域０の代表値とのみが含まれ、後の領域にはデータが格納されていない。図１５（Ｂ）を参照して、２色モードである場合には、１回領域分割処理が行なわれるために、一次圧縮データには、識別フラグに加えて、２領域（領域０，１）各々の代表値と、インデックスとが含まれ、後の領域にはデータが格納されていない。図１５（Ｃ）を参照して、４色モードである場合には、３回領域分割処理が行なわれるために、一次圧縮データには、識別フラグに加えて、４領域（領域０〜３）各々の代表値と、インデックスとが含まれ、後の領域にはデータが格納されていない。
【００５６】
図１６は、上記ステップＳ３０での、二次圧縮処理のうち、代表値圧縮部３０５Ａでの二次圧縮処理の具体例を示すフローチャートである。代表値圧縮部３０５Ａは一次圧縮されたブロックのうちの代表値部分について、ブロック間の連続性を考慮して二次圧縮を行なう。後述するように、インデックス圧縮部３０５Ｂでも同様の二次圧縮を行なう。そのために、第１圧縮部３０３から第２圧縮部３０５へは、上記ステップＳ１１３で出力された１ブロックごとに一次圧縮データが入力される。そこで、ステップＳ２０１で変数ｎが初期化された後にステップＳ２０３で変数ｎが１インクリメントされて、ステップＳ２０５で第２圧縮部３０５は、第１圧縮部３０３から上記ステップＳ１１３で出力された１ブロック分の一次圧縮データを変数２に対応するブロックとして受け付ける。ステップＳ２０７で判別部７０５において、ステップＳ２０５で入力されたブロックの色数モードが判別されて、ステップＳ２０９〜Ｓ２１３で、後述する、色数モードに応じた処理が施される。以上の処理が、上記ステップＳ１０１で分割されたブロック数Ｎに達するまで（ステップＳ２１５でＹＥＳ）、ブロックごとに実行される。
【００５７】
ここで、ステップＳ２１７での出力、およびステップＳ２０９〜Ｓ２１３の各色数モード用の処理を説明する前に、処理ステータスについて説明する。処理ステータスは、ブロックの色数モードを考慮して関連あるブロックの連続数をカウントする処理における、前ブロックから現ブロックへの関連性を示す情報である。具体的に、現ブロックの処理状態について、「１色連続中」、「２色連続中」、および「連続中以外」の３つの処理ステータスに分類される。「１色連続中」は、一次圧縮データで１色モードとされたブロックの連続数をカウントしている処理状態を指す。「２色連続中」は、一次圧縮データで２色モードとされたブロックの連続数をカウントしている処理状態を指す。「連続中以外」は何もカウントしていない処理状態を指す。
【００５８】
上記ステップＳ２０３〜Ｓ２１３の処理が上記ステップＳ１０１で分割されたブロック数Ｎに達すると（ステップＳ２１５でＹＥＳ）、ステップＳ２１７で第２圧縮部３０５は、処理ステータスが「連続中以外」以外の処理ステータスである場合には、ステータス記憶部７０１に記憶されている最新の処理ステータスでのブロックの連続数のカウント結果に、当該処理ステータスに応じた連続性モード、および代表値を付加して出力し、二次圧縮処理を終了する。具体的には、第２圧縮データ生成部７１３は、二次圧縮データとして、カウント結果に各処理ステータスに応じた以下の連続性モードを示す情報を出力する：
処理ステータスが「１色連続中」である場合：「２次１色モード」、
処理ステータスが「２色連続中」である場合：「２次２色モード」。
【００５９】
判別部７０５は、第１圧縮部３０３から一次圧縮されたブロックが入力されるたびに、当該ブロックの処理を行なう状態が上記いずれの状態に該当するかを判別し、処理ステータスを決定する。処理開始後は、「連続中以外」以外のいずれかの処理ステータスが決定される。決定された処理ステータスは最新の処理ステータスとしてステータス記憶部７０１に記憶される。
【００６０】
図１７は、上記ステップＳ２０９の、代表値圧縮部３０５Ａでの１色モード用の処理の具体例を示すフローチャートである。図１７を参照して、第１圧縮部３０３から入力された一次圧縮されたブロックが１色モードであると判断した場合、判別部７０５は、ステータス記憶部７０１に記憶されている最新の処理ステータスを確認する。さらに、前ブロック情報記憶部７０７に記憶されている、前ブロックの代表値と当該ブロックの代表値とを比較する。
【００６１】
最新の処理ステータスが「１色連続中」で、当該ブロックの色を示す代表値が１色モードである前ブロックの代表値と一致しているとする（ステップＳ３０１でＹＥＳ）。その場合、ステップＳ３０３でカウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。また、ステータス変更部７０３はステータス記憶部７０１に記憶されている最新の処理ステータスを変更せず、最新の処理ステータスを「１色連続中」のままとする。
【００６２】
最新の処理ステータスが「１色連続中」であっても当該ブロックの代表値が１色モードである前ブロックの代表値と一致していない場合、または最新の処理ステータスが「１色連続中」以外の他の処理ステータスであった場合には（ステップＳ３０１でＮＯ）、ステップＳ３１３で第２圧縮データ生成部７１３は、「連続中以外」以外の処理ステータスである場合には、ステータス記憶部７０１に記憶されている最新の処理ステータスでのブロックの連続数のカウント結果に、当該処理ステータスに応じた連続性モード、および代表値を付加して代表値の二次圧縮データを生成し、出力する。具体的には、第２圧縮データ生成部７１３は、二次圧縮データとして、カウント結果に各処理ステータスに応じた以下の連続性モードを示す情報、および代表値を付加して、後述する図２０のフォーマットで二次圧縮データを生成し、出力する：
処理ステータスが「１色連続中」である場合：「２次１色モード」、
処理ステータスが「２色連続中」である場合：「２次２色モード」。
【００６３】
処理ステータスが「連続中以外」である場合には、上記ステップＳ３１３をスキップし、この段階で二次圧縮データが生成されない。上記ステップＳ３１３で出力される二次圧縮データの具体的なデータ構成については、後に具体例を挙げて説明する。
【００６４】
その後、ステップＳ３１５で判別部７０５は、最新の処理ステータスを「１色連続中」とし、カウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。
【００６５】
図１８は、上記ステップＳ２１１の、代表値圧縮部３０５Ａでの２色モード用の処理の具体例を示すフローチャートである。図１８を参照して、第１圧縮部３０３から入力された一次圧縮されたブロックが２色モードであると判断した場合、判別部７０５は、ステータス記憶部７０１に記憶されている最新の処理ステータスを確認する。さらに、前ブロック情報記憶部７０７に記憶されている、前ブロックの代表値と当該ブロックの代表値とを比較する。
【００６６】
最新の処理ステータスが「２色連続中」で、当該ブロックの両方の色を示す代表値が２色モードである前ブロックの両方の色を示す代表値と一致しているとする（ステップＳ４０１でＹＥＳ）。その場合、ステップＳ４０３でカウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。また、ステータス変更部７０３はステータス記憶部７０１に記憶されている最新の処理ステータスを変更せず、最新の処理ステータスを「２色連続中」のままとする。
【００６７】
いずれか一方の色でも一致していない場合、または「２色連続中」以外の他の処理ステータスであった場合には（ステップＳ４０１でＮＯ）、ステップＳ４０５で第２圧縮データ生成部７１３は、「連続中以外」以外の処理ステータスである場合には、ステータス記憶部７０１に記憶されている最新の処理ステータスでのブロックの連続数のカウント結果に、当該処理ステータスに応じたモード、および代表値を付加して代表値の二次圧縮データを生成し、出力する。各処理ステータスとモードとの対応は、上記ステップＳ３１３で説明された対応と同じである。なお、処理ステータスが「連続中以外」である場合には、上記ステップＳ３１３をスキップし、この段階で二次圧縮データが生成されない。
【００６８】
その後、ステップＳ４０７で判別部７０５は、最新の処理ステータスを「２色連続中」とし、カウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。
【００６９】
図１９は、上記ステップＳ２１３の、代表値圧縮部３０５Ａでの４色モード用の処理の具体例を示すフローチャートである。図１９に示されるように、第１圧縮部３０３から入力された一次圧縮されたブロックが４色モードであると判断された場合には代表値圧縮部３０５Ａは当該モードのブロックの連続数をカウントしないものとする。これは、実際の原稿画像においては、４色で再現することが必要な領域で、同じ４色が含まれるブロックが連続することがほぼないと、との考えに基づくものである。そこで、第１圧縮部３０３から入力された一次圧縮されたブロックが４色モードであると判断された場合には、図１９を参照して、ステップＳ５０１で代表値圧縮部３０５Ａは、「連続中以外」以外の処理ステータスである場合には、当該処理ステータスに応じた連続性モードに代表値を付加して出力する。各処理ステータスとモードとの対応は、上記ステップＳ３１３で説明された対応と同じである。なお、処理ステータスが「連続中以外」である場合には、上記ステップＳ５０１をスキップし、この段階で二次圧縮データが生成されない。
【００７０】
その後さらに、ステップＳ５０３で第２圧縮データ生成部７１３は、入力された４色モードのブロックに「２次４色モード」を示す情報を付加して代表値の二次圧縮データを生成し、出力する。
【００７１】
図２０（Ａ）、図２０（Ｂ）、および図２０（Ｃ）は、上記ステップＳ３１３、Ｓ４０５、Ｓ５０１で生成され、出力される、１ブロック分の、代表値の二次圧縮データのデータ構成の具体例を示す図であり、図２０（Ａ）は「２次１色モード」とされた代表値の二次圧縮データのデータ構成、図２０（Ｂ）は「２次２色モード」とされた代表値の二次圧縮データのデータ構成、および図２０（Ｃ）は「２次４色モード」とされた代表値の二次圧縮データのデータ構成の具体例を示している。
【００７２】
図２０（Ａ）を参照して、「２次１色モード」とされた代表値の二次圧縮データは合計３２ビットで構成されて、図１５（Ａ）に示された、ブロックが１色モードである場合の一次圧縮データの、最初の２ビットで表現された当該一次圧縮データの色数モードを示す識別フラグが、二次圧縮データの連続性モードを示す識別フラグ「０」に置き換えられている。続く、一次圧縮データの空き領域であった３８ビットのうちの先頭の１ビットで、代表色を示す情報である代表値が付加された二次圧縮データであるか否かを示すフラグである代表値出力フラグが表現されている。ここでは、当該フラグに、代表値が付加された二次圧縮データであることを示す「１」が立てられている。代表値出力フラグについては、後の変形例においてさらに説明する。続く５ビットで、当該連続性モードに対応する処理ステータスである「１色連続中」においてカウントされた、一次圧縮データであるブロックの連続数を示す情報が表現されている。一次圧縮データに含まれる各８ビットで表現された１色分の代表値は、代表値の二次圧縮データにそのまま残されている。一次圧縮データにおいて、上の３８ビットのうちの残りの空き領域、および代表値に続く空き領域であった１９２ビットは、代表値の二次圧縮データには含まれていない。
【００７３】
図２０（Ｂ）を参照して、「２次２色モード」とされた代表値の二次圧縮データは合計５６ビットで構成されて、図１５（Ｂ）に示された、ブロックが２色モードである場合の一次圧縮データの、最初の２ビットで表現された当該一次圧縮データの色数モードを示す識別フラグが、二次圧縮データの連続性モードを示す識別フラグ「１」に置き換えられている。続く、一次圧縮データの空き領域であった６ビットのうちの先頭の１ビットで代表値出力フラグが表現され、ここでは、当該フラグに、代表値が付加された二次圧縮データであることを示す「１」が立てられている。続く５ビットで、当該連続性モードに対応する処理ステータスである「２色連続中」の処理ステータスにおいてカウントされた、一次圧縮データであるブロックの連続数を示す情報が表現されている。一次圧縮データに含まれる各８ビットで表現された２色分の代表値は、代表値の二次圧縮データにそのまま残されている。６４ビットで表現されたインデックス、一次圧縮データにおいてインデックスに続く空き領域であった１２８ビット、および２つの代表値の間の空き領域であった８ビットは、代表値の二次圧縮データには含まれていない。
【００７４】
図２０（Ｃ）を参照して、「２次４色モード」とされた代表値の二次圧縮データは合計１０４ビットで構成されて、図１５（Ｃ）に示された、ブロックが４色モードである場合の一次圧縮データの、最初の２ビットで表現された当該一次圧縮データの色数モードを示す識別フラグが、二次圧縮データの連続性モードを示す識別フラグ「２」に置き換えられている。続く、一次圧縮データの空き領域であった６ビットのうちの先頭の１ビットで代表値出力フラグが表現され、ここでは、当該フラグに、代表値が付加された二次圧縮データであることを示す「１」が立てられている。続く５ビットの空き領域、および一次圧縮データに含まれる各８ビットで表現された４色分の代表値は、代表値の二次圧縮データにそのまま残されている。１２８ビットで表現されたインデックス、および４つの代表値の間の空き領域であった各８ビットは、代表値の二次圧縮データには含まれていない。
【００７５】
上記ステップＳ３０での、二次圧縮処理のうち、インデックス圧縮部３０５Ｂでの二次圧縮処理も、図１６〜図１９に示された処理と同様である。すなわち、インデックス圧縮部３０５Ｂは一次圧縮されたブロックのうちのインデックス部分について、ブロック間の連続性を考慮して、第１圧縮部３０３から入力されたブロックの色数モードに応じた処理が施される。
【００７６】
インデックス圧縮部３０５Ｂでの１色モード用の処理もまた、図１７に示された処理とほぼ同様である。すなわち、第１圧縮部３０３から入力された一次圧縮されたブロックが１色モードであると判断した場合、インデックス圧縮部３０５Ｂの判別部７０５は、ステータス記憶部７０１に記憶されている最新の処理ステータスを確認する。さらに、前ブロック情報記憶部７０７に記憶されている、前ブロックのインデックスと当該ブロックのインデックスとを比較する。
【００７７】
最新の処理ステータスが「１色連続中」で、当該ブロックのインデックスが前ブロックのインデックスと一致している場合には（ステップＳ３０１でＹＥＳ）、ステップＳ３０３でカウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。また、ステータス変更部７０３はステータス記憶部７０１に記憶されている最新の処理ステータスを変更せず、最新の処理ステータスを「１色連続中」のままとする。
【００７８】
最新の処理ステータスが「１色連続中」であっても当該ブロックのインデックスが前ブロックのインデックスと一致していない場合、または最新の処理ステータスが「１色連続中」以外の他の処理ステータスであった場合には（ステップＳ３０１でＮＯ）、ステップＳ３１３で第２圧縮データ生成部７１３は、「連続中以外」以外の処理ステータスである場合には、ステータス記憶部７０１に記憶されている最新の処理ステータスでのブロックの連続数のカウント結果に、当該処理ステータスに応じた連続性モード、およびインデックスを付加してインデックスの二次圧縮データを生成し、出力する。具体的には、第２圧縮データ生成部７１３は、二次圧縮データとして、カウント結果に各処理ステータスに応じた以下の連続性モードを示す情報を付加して二次圧縮データを生成し、出力する：
処理ステータスが「１色連続中」である場合：「２次１色モード」、
処理ステータスが「２色連続中」である場合：「２次２色モード」。
【００７９】
処理ステータスが「連続中以外」である場合には、上記ステップＳ３１３をスキップし、この段階で二次圧縮データが生成されない。その後、ステップＳ３１５で判別部７０５は、最新の処理ステータスを「１色連続中」とし、カウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。
【００８０】
インデックス圧縮部３０５Ｂでの２色モード用の処理もまた、図１８に示された処理とほぼ同様である。すなわち、第１圧縮部３０３から入力された一次圧縮されたブロックが２色モードであると判断した場合、インデックス圧縮部３０５Ｂの判別部７０５は、ステータス記憶部７０１に記憶されている最新の処理ステータスを確認する。さらに、前ブロック情報記憶部７０７に記憶されている、前ブロックのインデックスと当該ブロックのインデックスとを比較する。
【００８１】
最新の処理ステータスが「２色連続中」で、当該ブロックのインデックスが前ブロックのインデックスと一致している場合には（ステップＳ４０１でＹＥＳ）、ステップＳ４０３でカウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。また、ステータス変更部７０３はステータス記憶部７０１に記憶されている最新の処理ステータスを変更せず、最新の処理ステータスを「２色連続中」のままとする。
【００８２】
インデックスが一致していない場合、または「２色連続中」以外の他の処理ステータスであった場合には（ステップＳ４０１でＮＯ）、ステップＳ４０５で第２圧縮データ生成部７１３は、「連続中以外」以外の処理ステータスである場合には、ステータス記憶部７０１に記憶されている最新の処理ステータスでのブロックの連続数のカウント結果に、当該処理ステータスに応じたモード、およびインデックスを付加してインデックスの二次圧縮データを生成し、出力する。各処理ステータスとモードとの対応は、上記ステップＳ３１３で説明された対応と同じである。なお、処理ステータスが「連続中以外」である場合には、上記ステップＳ３１３をスキップし、この段階で二次圧縮データが生成されない。
【００８３】
その後、ステップＳ４０７で判別部７０５は、最新の処理ステータスを「２色連続中」とし、カウント部７０９がカウンタ７１１のうちの当該処理ステータスに対応するカウンタの連続数を１加算する。
【００８４】
インデックス圧縮部３０５Ｂでの４色モード用の処理もまた、図１９に示された処理とほぼ同様である。すなわち、第１圧縮部３０３から入力された一次圧縮されたブロックが４色モードであると判断された場合にはインデックス圧縮部３０５Ｂは当該モードのブロックの連続数をカウントしないものとする。これは、実際の原稿画像においては、４色で再現することが必要な領域で、画素に対する４色の配置が同じであるブロック、すなわちインデックスが同じブロックが連続することがほぼないと、との考えに基づくものである。そこで、第１圧縮部３０３から入力された一次圧縮されたブロックが４色モードであると判断された場合には、ステップＳ５０１で第２圧縮データ生成部７１３は、「連続中以外」以外の処理ステータスである場合には、当該処理ステータスに応じた連続性モードにインデックスを付加してインデックスの二次圧縮データを生成し、出力する。各処理ステータスとモードとの対応は、上記ステップＳ３１３で説明された対応と同じである。なお、処理ステータスが「連続中以外」である場合には、上記ステップＳ５０１をスキップし、この段階で二次圧縮データが生成されない。
【００８５】
その後さらに、ステップＳ５０３で第２圧縮データ生成部７１３は、入力された４色モードのブロックに「２次４色モード」を示す情報を付加してインデックスの二次圧縮データを生成し、出力する。
【００８６】
図２１（Ａ）、図２１（Ｂ）、および図２１（Ｃ）は、上記ステップＳ３１３、Ｓ４０５、Ｓ５０１で出力される、１ブロック分の、インデックスの二次圧縮データのデータ構成の具体例を示す図であり、図２１（Ａ）は「２次１色モード」とされたインデックスの二次圧縮データのデータ構成、図２１（Ｂ）は「２次２色モード」とされたインデックスの二次圧縮データのデータ構成、および図２１（Ｃ）は「２次４色モード」とされたインデックスの二次圧縮データのデータ構成の具体例を示している。
【００８７】
図２１（Ａ）を参照して、「２次１色モード」とされたインデックスの二次圧縮データは合計８ビットで構成されて、最初の２ビットで二次圧縮データの連続性モードを示す識別フラグが表現されている。ここでは、「２次１色モード」であることを示す「０」が立てられている。続く６ビットで、当該連続性モードに対応する処理ステータスである「１色連続中」においてカウントされた、一次圧縮データであるブロックの連続数を示す情報が表現されている。１色モードである場合には、当該ブロックのすべての画素に同じ色が配置されているために各画素の属する色領域を指定するインデックスは不要となる。そのため、「２次１色モード」とされたインデックスの二次圧縮データには具体的なインデックスは含まれない。
【００８８】
図２１（Ｂ）を参照して、「２次２色モード」とされたインデックスの二次圧縮データは合計７２ビットで構成されて、図１５（Ｂ）に示された、ブロックが２色モードである場合の一次圧縮データの、最初の２ビットで表現された当該一次圧縮データの色数モードを示す識別フラグが、二次圧縮データの連続性モードを示す識別フラグ「１」に置き換えられている。続く、一次圧縮データの空き領域であった６ビットのうちの先頭の１ビットで、インデックスが付加された二次圧縮データであるか否かを示すフラグであるインデックス出力フラグが表現されている。ここでは、当該フラグに、インデックスが付加された二次圧縮データであることを示す「１」が立てられている。続く５ビットで、当該連続性モードに対応する処理ステータスである「２色連続中」の処理ステータスにおいてカウントされた、一次圧縮データであるブロックの連続数を示す情報が表現されている。一次圧縮データに含まれる６４ビットで表現されたインデックスは、インデックスの二次圧縮データにそのまま残されている。一次圧縮データにおいて各８ビットで表現された２色分の代表値、インデックスに続く空き領域であった１２８ビット、および２つの代表値の間の空き領域であった８ビットは、インデックスの二次圧縮データには含まれていない。
【００８９】
図２１（Ｃ）を参照して、「２次４色モード」とされたインデックスの二次圧縮データは合計１１３６ビットで構成されて、図１５（Ｃ）に示された、ブロックが４色モードである場合の一次圧縮データの、最初の２ビットで表現された当該一次圧縮データの色数モードを示す識別フラグが、二次圧縮データの連続性モードを示す識別フラグ「２」に置き換えられている。続く、一次圧縮データの空き領域であった６ビットのうちの先頭の１ビットでインデックス出力フラグが表現され、ここでは、当該フラグに、インデックスが付加された二次圧縮データであることを示す「１」が立てられている。続く５ビットの空き領域、および１２８ビットで表現されたインデックスは、インデックスの二次圧縮データにそのまま残されている。一次圧縮データに含まれる各８ビットで表現された４色分の代表値、および４つの代表値の間の空き領域であった各８ビットは、インデックスの二次圧縮データには含まれていない。
【００９０】
上記ステップＳ４０で、上のようにして生成された代表値の二次圧縮データおよびインデックスの二次圧縮データは圧縮データ出力部３０７より出力され、たとえば記憶装置１０２や外部記憶装置１４などの、所定の記憶領域に各々書き込まれる。その際、圧縮データ出力部３０７は、同じブロックから生成された代表値の二次圧縮データとインデックスの二次圧縮データとについて、各々が書き込まれた記憶領域上の位置を対応付ける情報を生成し、これらの二次圧縮データと共に出力する。これにより、画像形成装置において二次圧縮データを復元する際に、記憶領域の異なる位置に書き込まれた１つのブロックについての代表値の二次圧縮データとインデックスの二次圧縮データとを対応付けることが可能となる。
【００９１】
図２２を用いて、二次圧縮処理の具体例を説明する。図２２は、一次圧縮後のブロックの連続の二次圧縮処理を説明する図である。図２２（Ａ）は、第１圧縮部３０３から第２圧縮部３０５に順に入力された、一次圧縮されたブロック群の具体例を示しており、横方向（行方向）に８ブロック連続したブロック群が示されている。以降の説明のために、これらブロックを、左から順にａブロック、ｂブロック、…、ｈブロックと称する。これらのブロック群は、文字画像の１行を想定したブロック群であり、ａブロックの先頭からｂブロックの途中まで、ｃブロックの途中からｄブロックの途中まで、およびｇブロックの途中からｈブロックの末尾まで、白色地に黒色が配置されている。
【００９２】
図２２（Ｂ）は、図２２（Ａ）のブロック群を、代表値圧縮部３０５Ａで二次圧縮処理した結果得られる代表値の二次圧縮データの具体例を示す図である。代表値圧縮部３０５Ａでは、ａブロック〜ｄブロック、ｇブロック、およびｈブロックの代表値に対しては図１８に示された２色モード用の二次圧縮処理が施され、ｅブロックおよびｆブロックの代表値に対しては図１７に示された１色モード用の二次圧縮処理が施される。ａブロック〜ｄブロックの代表値およびｇブロックとｈブロックとの代表値は、いずれも、白色および黒色である。また、ｅブロックおよびｆブロックの代表値は同じ白色である。従って代表値の二次圧縮処理の結果、図２２（Ｂ）に示されるように、ａブロック〜ｄブロックの代表値は、連続数を４とした、図２０（Ｂ）に示されたデータ構造の「２次２色モード」の代表値の二次圧縮データに圧縮され、ｅブロックおよびｆブロックの代表値は、連続数を２とした、図２０（Ａ）に示されたデータ構造の「２次１色モード」の代表値の二次圧縮データに圧縮され、ｇブロックおよびｈブロックの代表値は、連続数を２とした、図２０（Ｂ）に示されたデータ構造の「２次２色モード」の代表値の二次圧縮データに圧縮される。
【００９３】
図２２（Ｃ）は、図２２（Ａ）のブロック群を、インデックス圧縮部３０５Ｂで二次圧縮処理した結果得られるインデックスの二次圧縮データの具体例を示す図である。インデックス圧縮部３０５Ｂでも、ａブロック〜ｄブロック、ｇブロック、およびｈブロックのインデックスに対しては図１８に示された２色モード用の二次圧縮処理が施され、ｅブロックおよびｆブロックのインデックスに対しては図１７に示された１色モード用の二次圧縮処理が施される。図２２（Ａ）に示された各ブロックのインデックスは異なっているため、インデックスの二次圧縮処理の結果、図２２（Ｃ）に示されるように、ａブロック〜ｄブロック、ｇブロック、およびｈブロックのインデックスは、各々、図２１（Ｂ）に示されたデータ構造の「２次２色モード」のインデックスの二次圧縮データに圧縮され、ｅブロックおよびｆブロックのインデックスは、各々、図２１（Ａ）に示されたデータ構造の「２次１色モード」のインデックスの二次圧縮データに圧縮される。
【００９４】
図２２（Ａ）の例ではいずれのブロックも代表値およびインデックスの双方が一致してはいないために、これら双方の一致するブロックの連続性を考慮した圧縮方法では、これらブロック群は連続性がないものとして二次圧縮される。それに対して、ＰＣ１における圧縮方法では、代表値については、ａブロック〜ｄブロック、ｇブロック、およびｈブロックの一致が考慮され、ａブロック〜ｄブロックの代表値の連続性、およびｇブロックとｈブロックとの代表値の連続性を考慮して二次圧縮処理がなされる。従って、代表値に関する情報については、圧縮率を向上させることができる。
【００９５】
通常、文字画像は白色と黒色とから構成される２色のブロック、またはいずれか１色のブロックが連続することが多い。そのため、同じ代表値のブロックが連続することは多いが、インデックスは連続しないことが多い。ＰＣ１においては、上述のように、代表値とインデックスとを別個に二次圧縮処理を行なうため、インデックスが異なっていても代表値が同じブロックについては連続性を考慮して圧縮することができる。そのため、特に文字画像のような特定の色で構成される画像については、代表値およびインデックスの双方の一致するブロックの連続性を考慮した圧縮よりも、より圧縮効率を向上させることができる。
【００９６】
なお、以上の説明では、第２圧縮部３０５が代表値圧縮部３０５Ａとインデックス圧縮部３０５Ｂとの両圧縮部を含んで、上記ステップＳ３０で、一次圧縮されたブロックのうちの代表値部分と、インデックス部分とを、各々二次圧縮処理するものとしている。しかしながら、本実施の形態にかかる二次圧縮処理は代表値部分とインデックス部分との両方を二次圧縮する処理に限定されず、いずれか一方のみを二次圧縮する処理も含まれる。上述のように、処理対象の画像が文字画像である場合には、一次圧縮されたブロックのうちの代表値部分のみ連続性を考慮して二次圧縮する処理であっても、代表値およびインデックスの双方の一致するブロックの連続性を考慮した通常の圧縮よりも圧縮効率を向上させることができる。同様に、一次圧縮されたブロックのうちの代表値部分についての圧縮処理は具体的には限定されずにどのような処理であってもよいものとして、インデックス部分のみ連続性を考慮して二次圧縮する処理であっても圧縮効率の向上に寄与し得る。
【００９７】
［変形例１］
変形例１において、前ブロック情報記憶部７０７は、直前のブロックの情報のみならず、各連続性モードについて、少なくとも前回出力された当該連続性モードでの代表値およびインデックスを記憶する。すなわち、「２次１色モード」、「２次２色モード」、および「４色モード」の各連続性モードについて、少なくとも前回当該モードとして二次圧縮データが出力された際に付加された代表値およびインデックスを記憶する。
【００９８】
図２３は、変形例１における代表値圧縮部３０５Ａでの二次圧縮処理において、上記ステップＳ３１３、Ｓ４０５、またはＳ５０１で第２圧縮データ生成部７１３が、連続性モードを示す情報として「２次１色モード」を付加した代表値の二次圧縮データを生成する際の処理の具体例を示す図である。
【００９９】
すなわち、上記ステップＳ３１３、Ｓ４０５、またはＳ５０１で、前ブロックまでの処理の処理ステータスが「１色連続中」であって、前ブロックまでのカウント結果を「２次１色モード」として出力する場合、図２３を参照して、代表値圧縮部３０５Ａの判別部７０５は、さらに、現ブロックの代表値と、前ブロック情報記憶部７０７に記憶されている前回の「２次１色モード」で出力された二次圧縮データの代表値とを比較する（ステップＳ６０１）。その結果、これらの代表値が一致している場合（ステップＳ６０１でＹＥＳ）、第２圧縮データ生成部７１３は、上述の代表値出力フラグを、代表値が付加されていない二次圧縮データであることを示す「０」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報を付加し、代表値を付加せずに二次圧縮データを生成し、出力する（ステップＳ６０３）。
【０１００】
ステップＳ６０１での比較の結果、現ブロックの代表値と前回の「２次１色モード」で出力された二次圧縮データの代表値とが異なっている場合（ステップＳ６０１でＮＯ）、ステータス変更部７０３はステータス記憶部７０１に記憶されている、前回「２次１色モード」として二次圧縮データが出力された際に付加された代表値を、現ブロックの代表値に更新する（ステップＳ６０５）。この場合、第２圧縮データ生成部７１３は、上述した処理と同様に代表値出力フラグを、代表値が付加されている二次圧縮データであることを示す「１」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報、および代表値を付加して二次圧縮データを生成し、出力する（ステップＳ６０３）。
【０１０１】
図２４は、変形例１における代表値圧縮部３０５Ａでの二次圧縮処理において、上記ステップＳ３１３、Ｓ４０５、またはＳ５０１で第２圧縮データ生成部７１３が、連続性モードを示す情報として「２次２色モード」を付加した代表値の二次圧縮データを生成する際の処理の具体例を示す図である。
【０１０２】
すなわち、上記ステップＳ３１３、Ｓ４０５、またはＳ５０１で、前ブロックまでの処理の処理ステータスが「２色連続中」であって、前ブロックまでのカウント結果を「２次２色モード」として出力する場合、図２４を参照して、代表値圧縮部３０５Ａの判別部７０５は、さらに、現ブロックの代表値と、前ブロック情報記憶部７０７に記憶されている前回の「２次２色モード」で出力された二次圧縮データの代表値とを比較する（ステップＳ７０１）。その結果、これらの代表値がすべて一致している場合（ステップＳ７０１でＹＥＳ）、第２圧縮データ生成部７１３は、上述の代表値出力フラグを、代表値が付加されていない二次圧縮データであることを示す「０」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報を付加し、代表値を付加せずに二次圧縮データを生成し、出力する（ステップＳ７０３）。
【０１０３】
ステップＳ７０１での比較の結果、現ブロックの代表値と前回の「２次２色モード」で出力された二次圧縮データの代表値とが１色でも異なっている場合には（ステップＳ７０１でＮＯ）、ステータス変更部７０３はステータス記憶部７０１に記憶されている、前回「２次２色モード」として二次圧縮データが出力された際に付加された代表値を、現ブロックの代表値に更新する（ステップＳ７０５）。この場合、第２圧縮データ生成部７１３は、上述した処理と同様に代表値出力フラグを、代表値が付加されている二次圧縮データであることを示す「１」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報、および代表値を付加して二次圧縮データを生成し、出力する（ステップＳ７０３）。
【０１０４】
図２５は、変形例１における代表値圧縮部３０５Ａでの二次圧縮処理において、上記ステップＳ５０３で第２圧縮データ生成部７１３が、連続性モードを示す情報として「２次４色モード」を付加した代表値の二次圧縮データを生成する際の処理の具体例を示す図である。
【０１０５】
すなわち、上記ステップＳ５０３で判別部７０５は、さらに、現ブロックの代表値と、前ブロック情報記憶部７０７に記憶されている前回の「２次４色モード」で出力された二次圧縮データの代表値とを比較する（ステップＳ８０１）。その結果、これらの代表値がすべて一致している場合（ステップＳ８０１でＹＥＳ）、第２圧縮データ生成部７１３は、上述の代表値出力フラグを、代表値が付加されていない二次圧縮データであることを示す「０」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報を付加し、代表値を付加せずに二次圧縮データを生成し、出力する（ステップＳ８０３）。
【０１０６】
ステップＳ８０１での比較の結果、現ブロックの代表値と前回の「２次４色モード」で出力された二次圧縮データの代表値とが１色でも異なっている場合には（ステップＳ８０１でＮＯ）、ステータス変更部７０３はステータス記憶部７０１に記憶されている、前回「２次４色モード」として二次圧縮データが出力された際に付加された代表値を、現ブロックの代表値に更新する（ステップＳ８０５）。この場合、第２圧縮データ生成部７１３は、上述した処理と同様に代表値出力フラグを、代表値が付加されている二次圧縮データであることを示す「１」として、カウント結果に各処理ステータスに応じた連続性モードを示す情報、および代表値を付加して二次圧縮データを生成し、出力する（ステップＳ８０３）。
【０１０７】
図２６（Ａ）、図２６（Ｂ）、および図２６（Ｃ）は、上記ステップＳ６０３、Ｓ７０３、Ｓ８０３で生成され、出力される、代表値が付加されていない代表値の二次圧縮データのデータ構造の具体例を示す図であり、図２６（Ａ）は「２次１色モード」とされた代表値の二次圧縮データのデータ構成、図２６（Ｂ）は「２次２色モード」とされた代表値の二次圧縮データのデータ構成、および図２６（Ｃ）は「２次４色モード」とされた代表値の二次圧縮データのデータ構成の具体例を示している。これらの二次圧縮データは、各々、代表値を付加して出力する例として図２０（Ａ）、図２０（Ｂ）、および図２０（Ｃ）い示されたデータ構造のうちの代表値が含まれていないデータ構造となっている。つまり、変形例１にかかる二次圧縮処理が行なわれることで、現ブロックの代表値が前回の同じモードでの代表値と同じである場合には、「２次１色モード」である場合には１色分の２４ビット少ない８ビットで構成される二次圧縮データが生成され、「２次２色モード」である場合には２色分の４８ビット少ない８ビットで構成される二次圧縮データが生成され、「２次４色モード」である場合には４色分の９６ビット少ない８ビットで構成される二次圧縮データが生成される。
【０１０８】
具体的に、図２２（Ａ）に示される一次圧縮されたブロック群に対して変形例１にかかる二次圧縮処理が施される場合、ａブロック〜ｄブロックの代表値と、ｇブロックおよびｈブロックの代表値とは同じ白色および黒色であるため、図２７に示されるように、図２２（Ｂ）に示された代表値の二次圧縮データのうち、ｅブロックおよびｆブロックの代表値が、連続数を２とし、代表値が付加されない、図２６（Ｂ）に示されたデータ構造の「２次２色モード」の代表値の二次圧縮データに圧縮される。すなわち、代表値については、図２２（Ｂ）に示された代表値の二次圧縮データよりも、「２次２色モード」の代表値のデータ量である４８ビット分圧縮効率を向上させることができる。
【０１０９】
上述のように、文字画像は白色と黒色とから構成される２色のブロック、またはいずれか１色のブロックが連続することが多く、かつ、その連続が繰り返し現われることが多い。そのため、変形例１のように、先に出力した二次圧縮データとの関連性もさらに考慮することで、特に文字画像のような特定の色で構成される画像については、より圧縮効率を向上させることができる。
【０１１０】
なお、上の例では代表値圧縮部３０５Ａでの二次圧縮処理について具体的に示されているが、インデックス圧縮部３０５Ｂでも、同様に、先に出力した二次圧縮データとの関連性をさらに考慮した二次圧縮を行なうことができる。
【０１１１】
［変形例２］
変形例２として、代表値圧縮部３０５Ａにおいて、代表値の色成分ごとの連続性を考慮した二次圧縮処理が行なわれてもよい。具体的には、代表値がＣＭＹＫ値で表わされる場合、代表値圧縮部３０５Ａは、成分値別に、Ｃ値についての代表値の二次圧縮、Ｍ値についての代表値の二次圧縮、Ｙ値についての代表値の二次圧縮、およびＫ値についての代表値の二次圧縮を実行し、成分値別に二次圧縮データを生成する。この場合、たとえば第１ブロックの代表値が（Ｃ，Ｍ，Ｙ，Ｋ）＝（０，０，０，０）で表わされる白色であり、第２ブロックの代表値が（Ｃ，Ｍ，Ｙ，Ｋ）＝（０，０，０，２５５）で表わされる黒色である場合には、ＣＭＹ成分値は０が連続するために、これらブロックの代表値のＣＭＹ成分の二次圧縮データは連続数２として、各々、１つの二次圧縮データとすることができる。上述のように、文字画像は白色と黒色とから構成される２色のブロック、またはいずれか１色のブロックが連続することが多いために、Ｋ成分以外は０が連続する可能性が高い。なお、代表値がＲＧＢ値で表現されている場合にも、上述の圧縮処理を適用することができる。そのため、変形例２のように、代表値の成分ごとに二次圧縮データを生成することで、特に文字画像のような特定の色で構成される画像については、より圧縮効率を向上させることができる。
【０１１２】
以上の例は、原稿画像データの圧縮処理を、図１に示されたＰＣ１で行なうものとしている。しかしながら、同様にして、図２に示されたＭＦＰ２で行なってもよい。また、ＰＣ１またはＭＦＰ２の少なくとも一部の機能が、他の装置に含まれて、ＰＣ１またはＭＦＰ２が当該他の装置と通信を行ないながら上述の処理を実行するようにしてもよい。さらに、上述の処理をコンピュータに実行させるためのプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）およびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１１３】
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１１４】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０１１５】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【０１１６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１１７】
【図１】本実施の形態にかかるＰＣおよびその周辺機器の構成概念の具体例を示す図である。
【図２】画像処理装置として機能するＭＦＰの構成概念の具体例を示す図である。
【図３】本実施の形態にかかるＰＣのハードウェア構成およびその機能の具体例を示すブロック図である。
【図４】本実施の形態にかかるＰＣの機能構成の具体例を示すブロック図である。
【図５】図４の構成中の第１圧縮部の詳細な構成の具体例を示すブロック図である。
【図６】図４の構成中の第２圧縮部の詳細な構成の具体例を示すブロック図である。
【図７】本実施の形態にかかるＰＣにおいて原稿画像データを圧縮する処理の具体例を示すフローチャートである。
【図８】一次圧縮処理の具体例を示すフローチャートである。
【図９】原稿画像データを圧縮する方法を説明するための図、および代表値の具体例を示す図である。
【図１０】原稿画像データを圧縮する方法を説明するための図である。
【図１１】代表値の具体例を示す図である。
【図１２】原稿画像データを圧縮する方法を説明するための図である。
【図１３】原稿画像データを圧縮する方法を説明するための図である。
【図１４】代表値の具体例を示す図である。
【図１５】１ブロック分の一次圧縮データのデータ構成の具体例を示す図である。
【図１６】二次圧縮処理の具体例を示すフローチャートである。
【図１７】１色モード用の処理の具体例を示すフローチャートである。
【図１８】２色モード用の処理の具体例を示すフローチャートである。
【図１９】４色モード用の処理の具体例を示すフローチャートである。
【図２０】代表値の二次圧縮データのデータ構成の具体例を示す図である。
【図２１】インデックスの二次圧縮データのデータ構成の具体例を示す図である。
【図２２】生成される二次圧縮データを具体的に説明するための図である。
【図２３】変形例１での、２次１色モードの二次圧縮データを生成する際の処理の具体例を示す図である。
【図２４】変形例１での、２次２色モードの二次圧縮データを生成する際の処理の具体例を示す図である。
【図２５】変形例１での、２次４色モードの二次圧縮データを生成する際の処理の具体例を示す図である。
【図２６】変形例１で生成される、代表値の二次圧縮データのデータ構成の具体例を示す図である。
【図２７】変形例１で生成される二次圧縮データを具体的に説明するための図である。
【符号の説明】
【０１１８】
１  ＰＣ、２  ＭＦＰ、１１  マウス、１２  キーボード、１３  モニタ、１４  外部記憶装置、１５  プリンタ、１６  スキャナ、２１  操作パネル部、２２  スキャナ部、２３  プリンタ部、１００  入出力Ｉ／Ｆ、１０１  ＣＰＵ、１０２  記憶装置、２０１  画像処理部、３０１  原稿画像データ入力部、３０３  第１圧縮部、３０５  第２圧縮部、３０５Ａ  代表値圧縮部、３０５Ｂ  インデックス圧縮部、３０７  圧縮データ出力部、５０１  色数判断部、５０３  分割部、５０５  代表値算出部、５０７  第１圧縮データ生成部、７０１  ステータス記憶、７０３  ステータス更新部、７０５  判別部、７０７  前ブロック情報記憶部、７０９  カウント部、１１１  カウンタ、７１３  第２圧縮データ生成部。
【図１】
2010141702.tif 000003
【図２】
2010141702.tif 000004
【図３】
2010141702.tif 000005
【図４】
2010141702.tif 000006
【図５】
2010141702.tif 000007
【図６】
2010141702.tif 000008
【図７】
2010141702.tif 000009
【図８】
2010141702.tif 000010
【図１１】
2010141702.tif 000011
【図１４】
2010141702.tif 000012
【図１５】
2010141702.tif 000013
【図１６】
2010141702.tif 000014
【図１７】
2010141702.tif 000015
【図１８】
2010141702.tif 000016
【図１９】
2010141702.tif 000017
【図２０】
2010141702.tif 000018
【図２１】
2010141702.tif 000019
【図２２】
2010141702.tif 000020
【図２３】
2010141702.tif 000021
【図２４】
2010141702.tif 000022
【図２５】
2010141702.tif 000023
【図２６】
2010141702.tif 000024
【図２７】
2010141702.tif 000025
【図９】
2010141702.tif 000026
【図１０】
2010141702.tif 000027
【図１２】
2010141702.tif 000028
【図１３】
2010141702.tif 000029