"画像データをM×N画素単位のタイルブロックに分割する第一画像分割手段201と、前記タイルブロックより小さいP×Q画素単位のピースブロックに分割する第二画像分割手段203と、前記ピースブロック内の各画素の色データを比較することによりピースブロックの色配置パターンと構成色情報を生成するパターンフラグ生成手段204と、前記タイルブロック単位で前記パターンフラグ生成手段の出力をまとめ、付加情報であるヘッダーを付加しパケットデータを生成するパケット生成手段205とを備え画像圧縮処理を行う画像処理装置において、パケットデータのデータ量と閾値との比較手段208と、パケットデータ修正手段208を備え、各パケットデータのデータ量が予め決められた閾値を超えていた場合に、生成済みのパターンフラグと構成色情報を用いて、ピースブロックの色情報の減色処理を行い、パターンフラグと構成色情報を作り直してパケットのデータ量を削減することを特徴とする画像処理装置。MおよびNが32画素、PおよびQが2画素であることを特徴とする請求項1に記載の画像処理装置。パケットデータと比較する閾値が、画像データの圧縮後の目標データ量を、タイルブロック数で分割した値であることを特徴とする請求項1に記載の画像処理装置。特許文献1においては、ブロック内を2色化し、その2色の配置に関する形状情報と2色の色情報を記憶していた。しかし、さらなる高画質化、処理高速化を図るため、本出願人は特願2009221444で以下のような提案をしている。前記技術は、まず、画像データをブロック毎に分割し、ブロック内の各画素の色データを比較することにより、注目ブロックに含まれる色データの配置パターン情報と、注目ブロックに含まれる色数分の色データ情報とを出力する。そして、出力された色データ情報のうち、ブロックにおける予め決められた位置の画素に対応する第1の色データ情報、それ以外の色データ情報、配置パターン情報をそれぞれ、それぞれ異なるメモリ領域にまとめて格納することを特徴としている。これにより、2色より多い色数を持つブロックの画質を落とさずに高画質化を実現し、特定位置の間引き画像データを連続メモリ領域に置き、復号化することなく低解像度画像を扱えるようにすることで、処理高速化を実現しようとしている。一方で、前記技術は、ある閾値によって、ブロック内の画素間の色差が大きいか小さいかを判断し、色差が小さい場合に、減色処理をおこなうことで、圧縮率を上げる技術が記載されている。すなわち、一度圧縮処理を実行し、圧縮後データが目標値より小さくなっていなかった場合、減色処理用の閾値を設定し、再び圧縮処理をする必要があり、再圧縮に時間がかかるといった課題があった。画像データをM×N画素単位のタイルブロックに分割する第一画像分割手段201と、前記タイルブロックより小さいP×Q画素単位のピースブロックに分割する第二画像分割手段203と、前記ピースブロック内の各画素の色データを比較することによりピースブロックの色配置パターンと構成色情報を生成するパターンフラグ生成手段204と、前記タイルブロック単位で前記パターンフラグ生成手段の出力をまとめ、付加情報であるヘッダーを付加しパケットデータを生成するパケット生成手段205とを備え画像圧縮処理を行う画像処理装置において、パケットデータのデータ量と閾値との比較手段208と、パケットデータ修正手段208を備え、各パケットデータのデータ量が予め決められた閾値を超えていた場合に、生成済みのパターンフラグと構成色情報を用いて、ピースブロックの色情報の減色処理を行い、パターンフラグと構成色情報を作り直してパケットのデータ量を削減することを特徴とする画像処理装置。符号化及び減色処理を繰り返すことなく、圧縮後データ量の削減が可能となる。以下、本発明を実施するための最良の形態について図面を用いて説明する。本実施形態では、画像処理装置として、スキャン、プリント、コピーなどの複数の機能を有するデジタル複合機MFPを例に説明する。[第1の実施形態]まず、図1に基づいて、デジタル複合機の構成例について説明する。スキャナ101は、デジタル複合機の画像入力機器である。プリンタ102は、デジタル複合機の画像出力機器である。CPU103は、後述するHDD記憶部104に格納されたプログラムに従ってデジタル複合機全体を制御するプロセッサである。HDD記憶部104は、ハードディスクドライブであり、システムソフトウェアやアプリケーションプログラム、画像データなどを格納する。メモリ105は、CPU103が動作するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。ネットワーク106は、LANや公衆回線WANなどを介して、PCや他のデジタル複合機等との端末と接続し、画像情報やデバイス情報の入出力を行う。レンダリング部107は、ネットワーク106を介して受信したPDLデータのイメージ展開を行う。画像圧縮部108は、画像データの画像圧縮処理を行い、圧縮データの生成を行う。画像伸張部109は、圧縮データの画像伸張処理を行い、伸張データの生成を行う。この画像圧縮部108と画像伸張部109における、内部構成及び処理については後に詳細に述べる。画像処理部110は、画像データに対してシェーディング処理やフィルタ処理、色空間変換処理、濃度調整、ガンマ補正等の様々な画像処理を行う。上述したこれらの各部は、システムバス111により接続されている。次に、デジタル複合機がコピー動作及び、プリント動作をする際の一連の画像処理について詳細に説明する。まず始めに、デジタル複合機がコピー動作をする際の一連の画像処理について説明をする。まず、スキャナ101は原稿画像をRGB3色のビットマップの画像データとして読み込みを行う。読み込まれた画像データは一旦HDD104に格納される。HDD104に格納された前記画像データは、システムバスを介して画像処理部110に送られる。画像処理部110において、画像データはシェーディング処理やフィルタ処理等のスキャン用画像処理が行われ、HDD104に格納される。HDD104に格納された画像処理後のスキャン画像データは、画像圧縮部108へ送られる。画像圧縮部108は、受け取った画像データに対して画像圧縮処理を行い、画像データから圧縮データに変換する。次に、変換された圧縮データは、一旦メモリ105に格納され、その後、HDD記憶部104に格納される。HDD記憶部104に格納された圧縮データは、再びメモリに格納され、その後、画像伸張部109に送られる。画像伸張部109は、受け取った圧縮データに対して画像伸張処理を行い、圧縮データから画像データ非圧縮に変換する。伸張された画像データは、再びHDD104に格納され、その後、画像処理部110に転送され、色空間変換処理によりRGB色空間からCMYK色空間へ変換される。その後、変換されたCMYKの各値に対して濃度調整やプリンタガンマ補正などの色処理を行い、更にディザ法や誤差拡散法による面積階調処理を行った後、該画像処理後のデータをプリンタ102へ出力する。次に、デジタル複合機がPCからのプリントジョブに応じて、プリント動作をする際の一連の画像処理について説明する。まず、ネットワーク106はLAN等のネットワークインターフェースを介してPCからPDLデータを受信する。受信したPDLデータは、一旦、HDD104に格納される。その後、PDLデータは、レンダリング部107に転送される。次に、レンダリング部107において、解析されRGBのビットマップ画像データへレンダリングされた後、HDD104に転送される。RGBビットマップ画像データがHDD記憶部104に格納された後の処理については、コピー動作時と同様の処理で実現可能であるため、説明を省略する。次に、本発明の特徴である画像圧縮処理について詳細に説明する。なお、本実施例においては、画像圧縮部108では、コピー動作時にはスキャンされた画像データを圧縮し、プリント動作時にはPDLデータから生成された画像データを圧縮するものとしたが、このような構成に限るものではない。例えば、図1のように共通の画像圧縮部を設けるのではなく、スキャンした画像データ用の画像圧縮部とPDLデータから生成された画像データ用の画像圧縮部を個別に設けるように構成してもよい。画像圧縮処理の詳細な説明に先立って、以下の本実施例において、32×32画素のブロックをタイル、2×2画素のブロックをピースと呼ぶこととする。まず、本実施例における画像圧縮部108の詳細な構成を図2に基づいて説明する。DMAC201は、HDD104からタイル毎に画像データの読み込みを行う。タイルバッファ202は、DMAC201に読み込んだ画像データをタイル毎に一時的に記憶するための一時記憶手段である。ピース抽出手段203は、タイルバッファ202に格納されたタイル単位の画像データからピース毎に画像データを抽出する。パターンフラグ生成手段204は、ピース毎に、2×2画素中の色の並びを表す色配置パターンフラグと、2×2画素中の予め定めた位置の色情報を表す第1の色データと、残りの色データを表す第2,3,4色の色データとを生成する。パターンフラグ生成手段204における色配置情報となるパターンフラグの生成については、後で詳しく説明する。パケット生成手段205は、パターンフラグ生成手段204によりピース毎に生成された色配置パターンフラグと第1の色データと第2,3,4色の色データをタイル毎にまとめ、更に所定の固定長のヘッダーデータを付加したパケットデータを生成する。このヘッダーデータは、ページID、タイル座標、色空間情報、画素データのビット数、タイルのデータサイズ、属性情報の有無、圧縮フラグ等の情報である。ここで、ページIDは、ページ単位に付加されるユニークなID番号である。タイル座標は、このタイルがページ単位のラスタ画像上のその位置にあるかを示す座標情報である。ここには、X座標とY座標の2次元で座標が記述される。色空間は、このタイルが、RGB画像なのかCMYK画像なのかGRAY-SCALE画像なのかを識別するための識別子を示す情報である。画素データのビット数は、タイル内の1画素当たりのビット長を示す情報である。タイルのデータサイズは、このタイルの後述する第1色のデータのデータサイズと後述する第2,3,4色のデータのデータサイズとを示すバイト単位の情報である。属性情報の有無は、画像データに文字や写真といった属性情報が画素単位で付加されているか否かを示す情報である。圧縮フラグは、このタイルが圧縮されたデータか、非圧縮のデータかを示すフラグの情報である。パケットバッファ206は、パケット生成手段205により生成されたパケットデータを一時的に格納するための一時記憶手段である。パケット修正手段208は、パケット生成手段205がパケット生成を終了するたびに、生成されたパケットのデータ量と予め決められた閾値とを比較する。データ量が閾値を超えていた場合、パケットバッファ内に格納されたパケットデータを修正し、データ量の削減を行うものである。パケット修正に関する処理の詳細は後に説明する。212のDMACはパケットバッファ205に格納されたパケットデータをメモリ105へ書き込む。次に、図3を用いて前述の色配置パターンフラグの生成処理を詳しく説明する。ここで301は2x2画素から構成されるピースであり、2×2画素内の左上から右上、左下、右下の画素の位置順に、座標1、2、3、4とする。2画素の組み合わせを座標で表すと、1-2、1-3、1-4、2-3、2-4、3-4の全部で6通り図3の302あるので、前記6通りの組み合わせごとにコンペアを取り、結果を6ビットの出力とする。図3に示すコンペア結果のように、全画素が同色であれば、全てのコンペア結果が1を出力し、逆に4画素が全てバラバラの画素値を持っていれば、全てのコンペア結果が0を出力する。つまり、4画素で色の一致から出現し得る色配置のパターンの数は15通りなので、6ビットのコンペア結果に応じて、4ビットのパターンフラグを特定することができる。次に、4画素内で出現した色数及び色データを抽出する。図3に示したように、4ビットのパターンフラグまたは6ビットのコンペア結果に対して、ピース内での各色の配置を示す各パターンが対応づけられているので、各ピースにおける色数と色データを特定することができる。なお、本実施例の図3では、全てのパターンにおいて、左上の画素の色画素値が第1色1番目の色データとなるように定義している。パターンフラグが0の場合は、色数1で、左上の画素の色画素値を第1色として抽出する。また、パターンフラグが1~7の場合は、色数2で、左上の画素の色画素値を第1色として抽出し、更に、各パターンフラグに応じて定義されている第2色2番目の色データが存在する位置の画素の色画素値を抽出する。例えば、パターンフラグが1の場合は、右上の画素の色を第2色として抽出する。また、パターンフラグが8~Dの場合は、色数3で、左上の画素の色画素値を第1色として抽出し、更に各パターンフラグに応じて定義されている第2色2番目の色データ及び第3色3番目の色データが存在する位置の画素の色画素値を抽出する。例えば、パターンフラグが8の場合は、右上の画素の色画素値を第2色として抽出し、右下の画素の色画素値を第3色として抽出する。また、パターンフラグがEの場合は、左上の画素の色を第1色、右上の画素の色を第2色、左下の画素の色を第3色、右下の画素の色を第4色として抽出する。即ち、パターンフラグまたはコンペア結果に基づいて、ピースの色数が特定され、それぞれに応じたパターンフラグと色データとを出力する。この出力されるデータを、図4を用いて説明する。図4に示すように、例えばパターンフラグが0即ち4画素内が1色で構成されているの場合、2色目以降は存在しないので、パターンフラグの4ビットと1色目の画素値24ビット分の色データとを出力する。また、パターンフラグが1~7即ち4画素内が2色で構成されているの場合、2色目が存在する画素の座標をパターンフラグより算出し、パターンフラグの4ビットと2色分の画素値48ビット分の色データを出力する。また、パターンフラグが8~D即ち3色の場合、パターンフラグの4ビットと3色分の画素値72ビット分の色データとを出力する。そして、パターンフラグがE即ち4色の場合、パターンフラグの4ビットと4色分の画素値96ビット分の色データとを出力する。言い換えると、各ピースから出力される色データは、ピース内の座標左上から右上、左下、右下の順に1、2、3、4順に走査した場合に、出現していなかった色データが第1色から順に出力されることに相当する。このように、パターンフラグ生成手段204では、ピース内の4色96ビットの入力データから4ビットのパターンフラグと、そこに存在する色数分の画素値を生成し、パケット生成手段205へ出力する。次に図5及び図6を用いてパケット生成手段の処理について詳細に説明する。パケット生成手段205は、受け取ったパターンフラグと第1色の色データと第2,3,4色の色データの各々をタイル分のデータが図5で示すデータ構成になるようにパケットバッファ206に格納する。全てのピースに対するパターンフラグと第2及び3,4色が格納されると、図6で示す、上述したヘッダーデータを付加してパケットデータを生成する。さらに、パケット修正手段208に対して、パケット生成完了を通知する。なお、本実施例におけるパケットデータとは、ヘッダーデータとタイルデータをまとめたデータ図6参照であるものとする。次に、画像伸張部109による圧縮データの画像伸張処理について、詳細に説明する。図7は本実施例における画像伸張部109の構成を示すブロック図である。DMAC701は、HDD104から圧縮された画像データであるパケットデータを順次読み込む。パケットバッファ702は、DMAC701により読み込んだパケットデータを一時的に記憶するための一時記憶手段である。パターンフラグ解析手段703は、ピース毎に入力される色配置のパターンフラグと第1色の色データ、第2,3,4色の色データに基づいて、ピースデータの伸張復元を行う。ピース書込み手段704は、伸張されたピースデータを受け取って、タイルバッファ705に送信する。ピースの復元については、タイルバッファ704は、伸張された、つまり復元された2×2画素のビットマップ画像データを所定位置に格納し、32×32画素のビットマップタイル画像データを一時的に記憶するための一時記憶手段である。パケットデータの全てのピースが伸張された後、DMAC706は、パケットバッファ705に格納されたタイルデータをHDD104に転送する。以上のような処理をページ分の全パケットデータに対して適応することで画像データの伸張処理を行う。次に、本特許の特徴であるパケット修正手段208におけるパケット修正処理について詳しく説明する。図8はバケット修正手段208のパケット修正処理におけるフローチャートである。パケット生成手段205がパケットバッファ206にパケットデータを格納した後、パケット修正手段208は、パケットバッファ内に格納されたパケットデータのヘッダーを解析し、前記格納されたパケットデータの総データ量を読み取るS801。次に、読み取ったパケットデータ量と予め決められた閾値と比較するS802。ここで使用する閾値とは、例えば、1ページあたりの圧縮後データの目標データ量を、1ページあたりの総タイル数で割った値である。パケットデータ量が前記閾値を超えていない場合S802、当該パケットに関しては、パケット修正処理としては何もせずに終了する。パケットデータ量が前記閾値を超えていた場合S802、次にパケットバッファ206からピースのパターンフラグを読み込むS803。パターンフラグの値が0、つまり2×2画素のピースが1色の色データでのみ構成されていた場合S804、現在処理対象のピースに対しては修正を行わない。さらに、現在処理対象のピースがタイル中で最後のピースかの判断を行うS810。最後のピースであれば、パケット修正処理を終了する。最後のピースでなければS810次のピースを読み込みS803順次処理を進める。S804の判断、つまり処理対象のピースが3色以上で構成されていた場合、パケットバッファ206から対象ピースにおける第2、3、4色データを読み込むS805。次に、第2、3、4色データの差分を解析するS806。解析の結果から、減色処理が可能であるかを判断するS807。前記判断について図9の表を用いて詳細に説明する。S805において読み込まれた第2,3,4色は、2種類の色データか、または3種類の色データである。例えば、今、2種類の色データであった場合、図9中の表の上段にあるように構成色をR0,G0,B0とR1,G1,B1とする。このとき、表中の条件を満たした場合、構成色を1色に減色可能であると判断し、その構成色は前記2種類の色データの平均色とする。また、表中のTHはCPUから予め設定される閾値であり、一つの色として判断しても画質劣化が少なくなることを想定して設定される値である。本実施例では10とする。S805において読み込まれた第2,3,4色が3種類の色データであった場合、図9中の表の下段にあるように構成色をR0,G0,B0、R1,G1,B1、R2,G2,B2とする。このとき、表中の下段の条件式1及び2、3のすべてを満たした場合、構成色を1色に減色可能であると判断する、その構成色は前記3種類の色データの平均色とする。また、表中の下段の条件式1及び2、3のうち何れか2つを満たした場合にも、構成色を1色に減色可能であると判断する。例えば条件式1及び2を満たした場合、構成色はR0,G0,B0とする。また、例えば条件式1及び3を満たした場合、構成色はR1,G1,B1とする。さらには、例えば条件式2及び3を満たした場合、構成色はR2,G2,B2とする。以上説明してきたように減色が可能であるか判断しS807、減色が可能である場合、新しいパターンフラグである4を対象ピースのパターンフラグとして、パケットバッファ内に上書きするS808。さらに、パケットバッファ内の第2,3,4色データに、前述した手法で求めた新しい色データを上書きするS809。S803からS809までの処理を順次繰り返し、タイル内のピース全てに行うことでパケット修正処理は終了する。以上、説明したとおり、本発明の構成をとることにより、タイル単位で圧縮処理をしながら、圧縮結果に伴って、減色処理をリアルタイムに行うことが出来る。さらには、減色処理を行う際に、再度、元画像データから圧縮データを作ることなく、一回目の圧縮結果を利用することで効率的な圧縮が可能となる。"