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