(57)【要約】【課題】ブロック単位で画像データを圧縮する圧縮方式において、高解像度画像データを画質低下させずに高圧縮率での圧縮を実現可能とすることを目的とする。【解決手段】入力された画像データを圧縮する画像処理装置であって、前記入力された画像データを所定の数の画素からなるブロックに分割する分割手段と、前記ブロックに含まれる画素の色の種類数である色数が所定の数以上であるか否かを判定する判定手段と、前記判定手段により、当該ブロックの色数が所定の数以上であると判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化手段と、前記判定手段により色数が所定の数以上で無いと判定されたブロック、及び前記擬似階調化手段にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得手段と、前記取得手段にて取得された色の配置と色情報とをブロックごとに記憶する記憶手段とを有する。【選択図】  図５
2011193394.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データを圧縮する画像処理装置であって、
前記入力された画像データを所定の数の画素からなるブロックに分割する分割手段と、
前記ブロックに含まれる画素の色の種類数である色数が所定の数以上であるか否かを判定する判定手段と、
前記判定手段により、当該ブロックの色数が所定の数以上であると判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化手段と、
前記判定手段により色数が所定の数以上で無いと判定されたブロック、及び前記擬似階調化手段にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得手段と、
前記取得手段にて取得された色の配置と色情報とをブロックごとに記憶する記憶手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記所定の数は、２であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記記憶手段は、前記ブロックそれぞれに対し、現在処理しているブロック以前に処理したブロックを更に記憶し、
現在処理しているブロックが前記記憶手段にて記憶したブロックのいずれかに置き換えられるか否か判定する置換判定手段と
を有し、
前記置換判定手段にて置き換えられると判定された場合、当該現在処理しているブロックについては、前記記憶手段にて記憶されたブロックに関連付けられることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記取得手段にて求める色の配置は、配置の組み合わせに対応付けられたパターンであることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記記憶手段は、前記取得手段にて取得した色の配置に対応した順にて色情報を記憶することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
入力された画像データを圧縮する画像処理装置であって、
前記入力された画像データを所定の数の画素からなるブロックに分割する分割手段と、
前記ブロックに含まれる画素の色の種類数である色数が所定の数でありかつ、その色が所定の色であるか否かを判定する判定手段と、
前記判定手段により、ブロック内の色数が所定の数でありかつ、その色が所定の色であるとの条件を満たさないと判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化手段と、
前記判定手段により色数が所定の数でありかつ、その色が所定の色であると判定されたブロック、及び前記擬似階調化手段にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得手段と、
前記取得手段にて取得された色の配置とブロックに含まれる色情報とを記憶する記憶手段と
を有することを特徴とする画像処理装置。
【請求項７】
前記所定の数は１であり、前記所定の色は、前記擬似階調化により処理の前後で色情報が変化しない色であることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
入力された画像データを圧縮する画像処理装置の制御方法であって、
前記画像処理装置の分割手段が、前記入力された画像データを所定の数の画素からなるブロックに分割する分割工程と、
前記画像処理装置の判定手段が、前記ブロックに含まれる画素の色の種類数である色数が所定の数以上であるか否かを判定する判定工程と、
前記画像処理装置の擬似階調化手段が、前記判定工程により、当該ブロックの色数が所定の数以上であると判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化工程と、
前記画像処理装置の取得手段が、前記判定工程により色数が所定の数以上で無いと判定されたブロック、及び前記擬似階調化工程にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得工程と、
前記画像処理装置の記憶手段が、前記取得工程にて取得された色の配置と色情報とをブロックごとに記憶する記憶工程と
を有することを特徴とする制御方法。
【請求項９】
コンピュータを、
入力された画像データを所定の数の画素からなるブロックに分割する分割手段、
前記ブロックに含まれる画素の色の種類数である色数が所定の数以上であるか否かを判定する判定手段、
前記判定手段により、当該ブロックの色数が所定の数以上であると判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化手段、
前記判定手段により色数が所定の数以上で無いと判定されたブロック、及び前記擬似階調化手段にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得手段、
前記取得手段にて取得された色の配置と色情報とをブロックごとに記憶する記憶手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を所定のブロック単位に圧縮する画像データ圧縮処理、当該ブロック単位に圧縮されたデータへの画像処理、および画像データへ復元処理を行う画像処理装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、高解像度のカラー画像への需要は高く、それらの高画質化への要望へ応えるべくデジタル複合機では、１２００ｄｐｉ（ｄｏｔｓ  ｐｅｒ  ｉｎｃｈ）やそれを超える解像度の画像を扱う事が多くなってきている。デジタル複合機に限らずこれら画像を扱う画像処理装置（デジタルカメラやファクシミリ装置）では、メモリ／ハードディスク量の節約や、それらへの書き込み時間を短縮するために、カラー画像データの圧縮を行い、低コスト化や高速化を実現している。従来、カラー静止画像の圧縮方式には、離散コサイン変換を利用したＪＰＥＧ方式や、Ｗａｂｅｌｅｔ変換を利用した方式が多く使われている。
【０００３】
高解像度化が進むにつれて画像処理を必要とする画素数が飛躍的に増えその処理負荷が増大しているという課題がある。例えば６００ｄｐｉから１２００ｄｐｉに解像度が倍になることで処理すべき画素数は４倍になる。前述した画像圧縮を用いた場合はその画素データを参照し、その画素データを変換しようとすると圧縮データの復号処理が必要になってくる。つまり圧縮データのままで画像処理を行う事は出来ず、必ず復号処理が必要になり、高解像度データ全ての画素に対して画素単位に処理を行う必要が出てしまい、処理時間の増大をまねくこととなる。
【０００４】
画素データの圧縮処理を行う技術としては、画素データとその連続数を記憶する公知のランレングス圧縮方式や、ブロック単位でエッジを検出し、そのエッジの持つ２色を記憶することで圧縮する技術（特許文献１等参照）などが開示されている。
【０００５】
また、特許文献２では、ディザパターンを用いて擬似階調化された画像データに対して、画像データを所定のブロックごとに区画し、各ブロック内における画像データの配列パターン、代表値、位置データとを用いて圧縮データを作成する。これにより、圧縮効果を高める手法が提案されている。また、文字や写真等が混在する画像を符号化する方法として、各ブロックのデータに対して、Ｒ，Ｇ，Ｂそれぞれのヒストグラムを取る。そして、それぞれのヒストグラムが、２つの山を持つような分布特性を示すブロックは２色領域、また、ヒストグラムが分散しているブロックは多値領域と判定して、その特性にあった符号化方式の符号化を行うものがある。
【０００６】
特許文献３では、画像データのヒストグラムを取って、画像データを文字・線画か自然画の領域かをそれによって判定している。そして、その結果により符号化方法を変えることにより、画質を維持しつつ、圧縮率を向上させる手法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−２５７４８８号公報
【特許文献２】特開平２００７−１４３０８２号公報
【特許文献３】特開平７−２３６０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ブロック単位で画像データを圧縮する圧縮方式は、ブロック分割した領域の色数が少ないほど、あるいは同じパターンが連続しているほど、高圧縮率で圧縮することが可能である。逆に、エッジ情報が多く含まれる自然画のような画像（図１９（Ａ））では高圧縮率で圧縮することは難しい。
【０００９】
一方、擬似階調化した画像データは、多階調の画像データより階調が小さいため、エッジ情報を多く含む自然画のような画像でも、圧縮率を高めることが可能である。図１９（Ｂ）は、図１９（Ａ）の１９００の部分を拡大した多値階調画像データ、図１９（Ｃ）は、図１９（Ａ）の１９００の部分を擬似階調化した画像データである。図１９（Ｂ）に比べて図１９（Ｃ）の方が、画素が荒く、情報量が小さいことがわかる。しかしながら、中間調の文字のような中間調の濃度が連続しているデータ（例えば、グレー一色が連続したデータ）では、ディザ処理により色数が増えてしまうため、圧縮率を低下させてしまう問題ある。図１９（Ｂ）の２０００の部分と図１９（Ｃ）の２１００の部分を比較すると、図１９（Ｃ）に比べて、図１９（Ｂ）の方が同じ濃度の画素が連続していることがわかる。
【００１０】
本発明は、このような問題を鑑みてなされたもので、高解像度画像データを画質低下させずに高圧縮率での圧縮を実現可能とすることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、以下の構成を有する。入力された画像データを圧縮する画像処理装置であって、前記入力された画像データを所定の数の画素からなるブロックに分割する分割手段と、前記ブロックに含まれる画素の色の種類数である色数が所定の数以上であるか否かを判定する判定手段と、前記判定手段により、当該ブロックの色数が所定の数以上であると判定された場合、当該ブロックに対し画像データを擬似階調化する擬似階調化手段と、前記判定手段により色数が所定の数以上で無いと判定されたブロック、及び前記擬似階調化手段にて擬似階調化されたブロックについて、各ブロックにおける色の配置、及び色情報を取得する取得手段と、前記取得手段にて取得された色の配置と色情報とをブロックごとに記憶する記憶手段とを有する。
【発明の効果】
【００１２】
本発明によれば、画質を低下させずに、画像データを高圧縮率で圧縮することが可能である。特に、自然画像において文字画像を含んでいる画像に対しても、高圧縮率で圧縮することが可能である。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るＭＦＰシステムの概要示した図。
【図２】本実施形態に係るコントローラの概要を示した図。
【図３】本実施形態に係る画像をブロック分割した際のブロックのパターンの図。
【図４】本実施形態に係るブロックのパターンと対応する識別子の図。
【図５】第一の実施形態に係る画像圧縮のフローを示した図。
【図６】本実施形態に係るブロックのパターンのフラグへの変換を示した図。
【図７】第一の実施形態に係る圧縮処理に対する入出力を示した図。
【図８】本実施形態に係るディザマトリックスの例を示した図。
【図９】本実施形態に係るディザ処理を適用した際の例を示した図。
【図１０】第一の実施形態に係る圧縮処理の判定結果を示した図。
【図１１】第一の実施形態に係る圧縮データの構成を示した図。
【図１２】本実施形態に係る展開処理のフローを示した図。
【図１３】第二の実施形態に係る画像圧縮のフローを示した図。
【図１４】第二の実施形態に係る圧縮処理の判定結果を示した図。
【図１５】第二の実施形態に係る圧縮データの構成を示した図。
【図１６】第三の実施形態に係る画像圧縮のフローを示した図。
【図１７】第三の実施形態に係る圧縮処理に対する入出力を示した図。
【図１８】第三の実施形態に係る圧縮データの構成を示した図。
【図１９】本発明に係る課題を説明するための図。
【発明を実施するための形態】
【００１４】
＜第一の実施形態＞
以下、本発明を実施する形態について図面を用いて説明する。図１に、本発明の実施形態のスキャン、プリント、コピーを行うデジタル複合機システム（以降、ＭＦＰと称する）の全体構成図を示す。コントローラ１０１は画像入力デバイスであるスキャナ１０２や画像出力デバイスであるプリンタ１０３、ＬＡＮや公衆回線（ＷＡＮ）等ネットワーク１０４と接続することで、画像情報やデバイス情報の入出力、ＰＤＬデータのイメージ展開を行う。ＣＰＵ１０５はシステム全体を制御するプロセッサである。ＣＰＵ１０５は、メモリ１０６やＨＤＤ記憶部１０７に記憶されたプログラムを読み出し、プログラムの実行を行う。メモリ１０６はＣＰＵ１０５が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ＨＤＤ記憶部１０７はハードディスクドライブで、システムソフトウェア、画像データを格納する。
【００１５】
図２を用いて、図１のコントローラ１０１の動作に関して詳細に説明する。まず、スキャンデータを読み込む場合を説明する。スキャナ１０２からＲＧＢ（ＲＥＤ、ＧＲＥＥＮ、ＢＬＵＥ）３色の読み取り画像データを受け取ったコントローラ１０１では、まずスキャナ用画像処理部２０１にてシェーディング処理やフィルタ処理等の画像処理を行う。画像処理を行ったデータに対し、圧縮部２０２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ（ＤＩＲＥＣＴ  ＭＥＭＯＲＹ  ＡＣＣＥＳＳ  ＣＯＮＴＲＯＬＬＥＲ）２０３を介してメモリ１０６へ格納する。
【００１６】
スキャンデータをプリントする場合は、メモリ１０６に格納されている圧縮データをＤＭＡＣ２１１を介して色処理部２１２へ入力しＣＭＹＫ（ＣＹＡＮ、ＭＡＧＥＮＴＡ、ＹＥＬＬＯＷ、ＢＬＡＣＫ）色空間へ変換する。その後、それらＣＭＹＫの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、ＤＭＡＣ２１１を介して再度メモリ１０６へ格納する。その後プリント用の画像処理を行うために、ＤＭＡＣ２２１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２２２にてラスタ画像データへ展開する。ラスタのＣＭＹＫ画像データをプリント用画像処理部２２３に入力し、そこでディザ法や誤差拡散法による面積階調処理（スクリーン処理）を行い、プリンタ１０３へ出力する。なお、本実施形態においては、ディザ法を用いた例について述べるが、これに特に限定するものではなく、必要に応じて誤差拡散法やその他の方法を用いて面積階調処理を行ってよい。
【００１７】
スキャンデータをネットワークへ送信する場合には、メモリ１０６に格納されている圧縮データを、ＤＭＡＣ２１１を介して色処理部２１２へ入力し色変換を行う。具体的には、ディスプレイガンマ調整や用紙地色調整等を行った後にＹＣｂＣｒ（輝度、ＢＬＵＥ色差、ＲＥＤ色差）色空間へ変換する。その後再度ＤＭＡＣ２１１を介してメモリ１０６へ格納する。その後送信用の画像処理を行うために、ＤＭＡＣ２３１を介して、メモリ１０６に格納されている圧縮データを読み込み、展開部２３２にてラスタ画像データへ展開する。ラスタのＹＣｂＣｒ画像データに対して送信処理部２３３ではカラー画像送信であればＪＰＥＧ圧縮処理を行い、モノクロ２値画像送信であればＹデータに対して２値化を行ってＪＢＩＧ圧縮等を行い、ネットワーク１０４へ出力する。
【００１８】
また、スキャンデータを保存する場合には、メモリ１０６に格納されている圧縮データをＤＭＡＣ２４１を介してディスクスプール高圧縮／展開部２４２へ入力する。ディスクスプール高圧縮／展開部では、ＨＤＤの書き込みスピードがメモリに対して遅いため、さらに高圧縮のＪＰＥＧ圧縮を施す。その後ディスクアクセスコントローラ２４３を介してＨＤＤ記憶部１０７へ圧縮データを保存する。なお、保存されているデータを再度メモリへ展開する場合はその逆処理を行う。
【００１９】
続いて、ＰＤＬのデータをメモリへ書き込む場合を説明する。図２では図示していないが、図１にてネットワークから送られてきたＰＤＬデータをＣＰＵ１０５にてインタープリットしメモリ１０６へディスプレイリストを出力する。その後メモリ１０６に格納されているディスプレイリストをレンダリング部２５１でラスタのＲＧＢ画像データへレンダリングを行い、圧縮部２５２にて画像圧縮処理を行う。その圧縮データをＤＭＡＣ２５３を介してメモリ１０６へ格納する。ＰＤＬ画像データをプリント、ネットワークへ送信、保存する場合はスキャンデータのそれと同様の処理を行うことで実現する事が可能になる。
【００２０】
［ラスタ画像データ圧縮］
以降では本実施形態の特徴となるラスタ画像データの圧縮部２５２の詳細に関して説明を行う。まずページ単位のラスタ画像を２ｘ２画素のブロックに分割し、そのブロック単位でデータの圧縮を行う。なお、２ｘ２画素のブロックを最小単位として説明を進めるが、これに限るものではなく、必要に応じてブロックのサイズを変更してもよい。その際、以下で述べるデータのサイズ等は処理するブロックのサイズに応じて適時調整することとなる。
【００２１】
処理の説明の前に、２ｘ２の４画素データ中に占める色の種類数である色数に応じて発生する組み合わせについて述べる。ここではブロックにおける画素数が４画素であるため、ブロック内に占める色数は最大４色になり、ブロック内では１〜４色の組み合わせしか存在しない。それら４色がとりうる組み合わせ（パターン）について図３を使って説明する。まずブロック内が１色の場合、４画素が同色で構成されている事になるので、その組み合わせは１通りである。次にブロック内が２色の場合を考える。２色が４画素内へレイアウトされる場合の数は、左上の画素の色を第１色、他方を第２色として考えると、左上以外残りの３画素へ第１色もしくは第２色が入るので、４画素同色の場合を除くと、全部で７通りの組み合わせが考えられる。次にブロック内が３色の場合を考える。３色が４画素内へレイアウトされる場合の数は、３色のうち１色だけ２度使われる場合の数と言い換える事が可能で、４画素の座標のうち、２画素が同じ色になる場合の数を求めればよい。つまり３色の場合の数は、４つの座標から２つの座標を取る組み合わせとなり、全部で６通りとなる。最後にブロック内が４色の場合は１色の場合と同様１パターンしか存在しない。これら１〜４色すべての場合の数を合計すると全部で１５通りのパターンが考えられる。
【００２２】
本実施形態では、これらの擬似階調画像のパターンに加えて、多値階調画像でのパターンと区別する必要がある。図１９のように中間調の濃度が連続したブロック内が１色の場合（例えば１色の文字となる）のみ、擬似階調画像に変換せず、多値階調画像のまま圧縮を行うことになるので、このときのパターンは１パターンしか存在しない。これらを合計すると全部で１６通りのパターンが考えられる。これらすべてのパターンを識別するためにフラグを付与する事を考えると、データ量としては４ｂｉｔ必要となる。図示すると図４のように対応付けられており、以降このフラグをパターンフラグと呼ぶ。図４において、フラグ０からＥまでが、図３にて述べた擬似階調画像を示し、フラグＦが多値階調画像を示すこととなる。
【００２３】
上記のように２ｘ２画素の取りうる組み合わせを踏まえて、圧縮部２０２、２５２にて行われる処理フローを、図５を用いて説明する。なお本実施形態において、入力は、例えばＲＧＢ（Ｒｅｄ  Ｇｒｅｅｎ  Ｂｌｕｅ）それぞれ８ｂｉｔの２５６階調を有しており、またデータとしては８ｂｉｔデータの点順次で１画素あたり２４ｂｉｔデータとして説明を行う。しかし、この設定に限定されるものではなく、ｂｉｔ数に関しては必要に応じて変更してもよく、ＣＭＹＫの色空間を取るものや、ＧＲＡＹスケールのデータ、また８ｂｉｔ以外の画素値をとるものでも良い。この場合、以下で説明するデータのサイズも異なってくることは言うまでも無い。
【００２４】
まず２ｘ２画素に分割されたブロックを入力する（Ｓ５０１）。そして、入力されたブロック内全ての２画素の組み合わせに対して、当該画素が有する２４ｂｉｔデータのコンペアを取る（Ｓ５０２）。このコンペアを取った結果、全ビット一致していた場合（すなわち、同一の画素値を有する場合）は１を出力し、不一致の場合は０を出力する。図６において、より具体的に示す。２ｘ２画素からなるブロックの各画素において左上、右上、左下、右下の順に座標１、２、３、４とすると、２画素の組は、１−２、１−３、１−４、２−３、２−４、３−４の全部で６通りある。そのため、６回コンペアを取る必要があり、結果として６ｂｉｔが出力される。例えば全画素同色の場合には、全てのコンペア結果が１を出力し、これに対し、４画素それぞれが異なる画素値を有している場合には、全てのコンペア結果が０を出力する。前述の通り、４画素で色の一致から出現しうるパターン数は１５通りであるため、その６ｂｉｔのコンペア結果に対して４ｂｉｔのパターンフラグを割り当てて変換することが可能である（Ｓ５０３）。
【００２５】
４ｂｉｔのパターンフラグへ変換した後、続いて４画素内で出現した色数および色画素データ（色情報）を抽出する（Ｓ５０４）。パターンフラグから、２ｘ２画素のブロックにおける左上の画素の色を第１色とした場合の第２色以降がどの位置にあるかを求める事が出来る。
【００２６】
ここで図７（ａ）を参照して説明を行う。Ｓ５０４にて４画素内が１色で構成されていることが確定した場合には、そのまま多値画像として出力するので、Ｓ５０５にて１色（２色目以降は存在しない）であると判定する。なお、Ｓ５０５においては、抽出された色数が所定の数以上か否かを判定している（ここでは、単数色か否かを判定している）。そしてパターンフラグをＦに変更し、パターンフラグ４ｂｉｔと２ｘ２画素の注目ブロックにおける１色目の２４ｂｉｔを出力する（Ｓ５０６）。Ｓ５０４にて４画素内が２色以上で構成されていることが確定した場合には、擬似階調画像にするため、ＲＧＢをＣＭＹＫ色空間（各色８Ｂｉｔ）へ変換する（Ｓ５０７）。その後、それらＣＭＹＫの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、ディザ法によるスクリーン処理を行い、１画素あたり４階調（２Ｂｉｔ）へ変換（量子化処理）する（Ｓ５０８）。ディザの閾値により２Ｂｉｔのデータではなく、４Ｂｉｔや１Ｂｉｔに変換してもよい。
【００２７】
擬似階調化した２ｘ２画素のブロックを入力し、そのブロック内全ての２画素の組み合わせに対して８ｂｉｔのコンペアを取る（Ｓ５０９）。このコンペアを取った結果、全ビット一致していた場合は１を出力し、不一致の場合は０を出力する。図６に示すように、２ｘ２画素内の画素において、左上、右上、左下、右下の順に座標１、２、３、４とすると、２画素の組は、１−２、１−３、１−４、２−３、２−４、３−４の全部で６通りある。そのため、６回コンペアを取る必要があり、結果として６ｂｉｔが出力される。例えば全画素同色の場合には、全てのコンペア結果が１を出力し、これに対し、４画素それぞれか異なる画素値を有している場合には、全てのコンペア結果が０を出力する。前述の通り、４画素で色の一致から出現しうるパターン数は１５通りなので、その６ｂｉｔのコンペア結果に対して４ｂｉｔのパターンフラグへ変換することが可能である（Ｓ５１０）。
【００２８】
４ｂｉｔのパターンフラグへ変換した後、続いて４画素内で出現した色数および色画素データを抽出する（Ｓ５１１）。なお、色数および色画素データの再抽出となるが、処理対象のブロックがスクリーン処理済み（Ｓ５０８）であることから、Ｓ５０４において行った色数判断処理とは結果が異なることが考えられる。これにより、色取得、及び配置取得を行う。パターンフラグから、左上の画素を第１色とした場合の第２色以降がどの位置にあるか求める事が出来る。図７（ｂ）を参照しながら説明を行う。例えばＳ５１１にて４画素内が１色で構成されていることが確定した場合には、２色目以降は存在しないため、Ｓ５１２にて１色であると判定する。そして、パターンフラグ４ｂｉｔと注目ブロックの画素が有する１色目の８ｂｉｔを出力する（Ｓ５１３）。また４画素内が２色で構成されていることが確定した場合には、Ｓ５１４にて２色であると判定する。そして、注目ブロックにおける２色目の画素値を有する画素の座標をパターンフラグより算出し、パターンフラグ４ｂｉｔと２色分の画素値１６ｂｉｔ（８ｂｉｔ×２画素分）を出力する（Ｓ５１５）。ブロックに含まれる色が３色、４色で構成されている場合も同様の処理を行う（Ｓ５１６、Ｓ５１７、Ｓ５１８）。この時、ブロック内の座標（左上、右上、左下、右下の順に１、２、３、４）の順にこれまで出現していなかった色画素データを記憶する。
【００２９】
このように、２ｘ２画素からなるブロック内の４色９６ｂｉｔ（８ｂｉｔ×３色分×４画素分）の入力データを４ｂｉｔのパターンフラグとそこに存在する色数分だけ画素値を取得し出力することで、比較的簡単な処理で出力データ量を削減することが可能になる。またパターンフラグを参照することで、そのブロック内の色数を特定することが可能になる。さらには、パターンフラグと色情報の記憶順により、ブロックに含まれる各画素が有する画素値を特定することができる。この処理を画像ブロック全てに対して行うことで、画像全面の可逆性を有するデータ圧縮が可能になる。
【００３０】
［ラスタ画像データ展開］
次に、上述した圧縮部と対になる展開部２２２、２３２の処理に関して図１２を用いて説明する。展開部２２２、２３２では前述したようなパターンフラグ、色情報に基づいて、圧縮した画像データを元のラスタ画像データへ戻す処理の事を指す。メモリ上に図７（ｂ）のように配置されている圧縮データのパターンフラグ書き込み先頭アドレス、第１色書き込み先頭アドレス、および第２、第３、第４色書き込み先頭アドレスの３つのアドレスをＤＭＡＣ２２１、２３１へ指定する。ＤＭＡＣは指定された３つのアドレスからデータを読み出し、展開部へ入力する（Ｓ１２０１）。展開部２２２、２３２ではまず４ｂｉｔのパターンフラグを判定する（Ｓ１２０２）。
【００３１】
パターンフラグがＦである場合（Ｓ１２０３にてＹＥＳ）、注目ブロックは１色だけの多値階調画像であるため、第１色データを２ｘ２画素ブロックの各画素に対し展開する（Ｓ１２０４）。次に、擬似階調画像にするため、ＣＭＹＫ色空間へ変換する（Ｓ１２０５）。その後、変換したＣＭＹＫの値に対して濃度調整、プリンタガンマ補正等の調整の色処理を行った後、ディザ法によるスクリーン処理を行う（Ｓ１２０６）。そして、展開した画像データを出力する（Ｓ１２０８）。
【００３２】
パターンフラグがＦ以外の場合（Ｓ１２０３にてＮＯ）、注目ブロック内の色数を算出する。第１色データに加え、色数に応じて第２、第３、第４色データを読み出し、パターンフラグに応じて画素データを再配置する。以上の処理により、上述した圧縮部にて圧縮した画像データの２ｘ２画素ブロックを展開、復号する。
【００３３】
以下に具体的な画像を１例に挙げて圧縮処理を詳細に説明する。ここでは、入力画像は８ｂｉｔの２５６階調のグレー画像とし、出力画像としては、２ｂｉｔの４階調のグレーの擬似階調画像を扱うものとする。図９（ａ）は、グレー（階調７０）の矩形画像を多値階調で表現した図である。図８（ａ）（ｂ）（ｃ）（ｄ）は、本実施形態のディザ法で使用したディザマトリックスである。図８（ａ）は深さ３のディザマトリックス、図８（ｂ）は深さ４のディザマトリックス、図８（ｃ）は深さ２のディザマトリックス、図８（ｄ）は深さ１のディザマトリックスである。これらのディザマトリックスを用いて、図９（ａ）をディザ法で擬似階調表現すると、図９（ｂ）となる。
【００３４】
図９（ａ）の画像データに対し、本実施形態の圧縮処理を適用した場合において、色数判断処理（Ｓ５０４）の結果を図１０（ａ）に示す。斜線で示したブロックは１色のみのデータであるため、多値階調表現のまま、本実施形態の圧縮処理が施される。一方、斜線以外の部分は、擬似階調表現へ変換する（図１０（ｂ）の斜線部分に該当）。擬似階調画像に変換した後、本実施形態の圧縮処理を施す。このときの２ｘ２画素ブロック毎のフラグとデータサイズを示した表を図１１に示す。図９（ａ）の場合、最終的に入力画像２０４８ｂｉｔに対して、出力画像１６４８ｂｉｔとなる。
【００３５】
以上説明してきた構成により、比較的単純な圧縮方式でメモリ容量やメモリバス帯域の節約が可能になる。
【００３６】
＜第二の実施形態＞
本実施形態では第一の実施形態で述べたラスタ画像データの圧縮部に関して別実施形態を説明する。第一の実施形態では、２ｘ２画素ブロックが中間調の濃度であるグレー１色の画像だけでなく、白１色の画像や黒１色の画像も、多値階調画像と判定され、圧縮処理されてしまう。白１色の画像や黒１色の画像は、擬似階調表現しても、１色の画像で表現されるため、これらの画像も擬似階調画像として圧縮処理することにより圧縮効果を高めることができる。つまり、擬似階調化処理により処理の前後にて色数が変化することが無い色を考慮に入れる。そこで第一の実施形態で述べた色数の結果だけで判断していた圧縮処理に替えて、色値にも着目する圧縮方法に関して説明する。
【００３７】
圧縮部２０２、２５２にて行われる処理フローを、図１３を用いて説明する。なお、Ｓ１３０４及びＳ１３０５以外の処理については、第一の実施形態にて述べた図５のＳ５０１乃至Ｓ５０３、Ｓ５０６乃至Ｓ５１８と同様であるため、ここでは説明を省略する。
【００３８】
Ｓ１３０３（図５のＳ５０３に対応）にて４ｂｉｔのパターンフラグへ変換した後、続いて注目ブロックの４画素内で出現した色数および色データを抽出する（Ｓ１３０４）。ここで、変換したパターンフラグから、左上の画素を第１色とした場合の第２色以降がどの位置にあるか求める事が出来る。図７（ａ）を参照しながら説明を行う。Ｓ１３０４にて注目ブロックにおける４画素内が１色で構成されていることとの条件を満たす場合、色画素データを参照して、黒もしくは白であるかを判定する（Ｓ１３０５）。１色であり、かつ、当該色が白でも黒でもない場合（Ｓ１３０５にてＹＥＳ）、そのまま多値画像として出力するので、パターンフラグをＦに変更し、パターンフラグ４ｂｉｔと１色目の２４ｂｉｔを出力する（Ｓ１３０６）。
【００３９】
４画素内が黒もしくは白１色で構成されている場合、あるいは４画素内が２色以上で構成されているとの条件を満たす場合（Ｓ１３０５にてＮＯ）には、擬似階調画像にするため、ＣＭＹＫ色空間へ変換する（Ｓ１３０７）。なお、Ｓ１３０７は図５のＳ５０７に対応し、以降の処理は図５と同様である。
【００４０】
図９（ａ）に対し第二の実施形態の圧縮処理した場合の色数判断処理（Ｓ１３０４）の結果を図１４（ａ）に示す。図１４（ａ）の斜線で示したブロックは１色のみのデータであるため、多値階調表現のまま、本実施形態の圧縮処理が施される。一方、斜線以外の部分は、擬似階調表現へ変換する（図１４（ｂ）の斜線部分に該当）。擬似階調画像にした後、本実施形態の圧縮処理を施す。このときの２ｘ２画素ブロック毎のパターンフラグとデータサイズを示した表を図１５に示す。図９（ａ）にて示した画像データに対し本実施形態の処理を適用した場合、最終的に入力画像２０４８ｂｉｔに対して、出力画像１２９６ｂｉｔとなる。なお、展開方法に関しては、第一の実施形態にて述べた処理と同様である。
【００４１】
以上説明してきた構成により、第一の実施形態による比較的単純な圧縮方式でメモリ容量やメモリバス帯域の節約が可能となる効果を更に高めることができる。
【００４２】
＜第三の実施形態＞
本実施形態では第一の実施形態や第二の実施形態で述べたラスタ画像データの圧縮部に関して別実施形態を説明する。前述したように本圧縮方法で高圧縮になる事が期待される画像は、画像内で隣接画素値が同色とみなせる領域が多い画像である。そういった画像領域に着目すると、２ｘ２画素のブロック内部だけでなく隣接する２ｘ２画素のブロック間も含めて同色とみなせる場合が多い。そこでこれまでの実施形態で述べたブロック内に閉じた圧縮方法に加え、隣接ブロックの同一性も含めて着目した圧縮方法に関して説明する。
【００４３】
第一の実施形態において述べた図４に２ｘ２のブロックがとりうるパターンフラグに対し、１６通りのパターンを４ｂｉｔで表現している。そこで、パターンフラグを１ｂｉｔ分拡張し、現在処理しているブロック以前に処理したブロックの画素値を記憶する。そして、現在の注目ブロックと直前に処理したブロックの全画素が一致する場合には、現在の注目ブロックの画素値は出力せず、直前のブロックと同じというフラグだけ立てる。このフラグに５ｂｉｔ目を割り当てることで、データのさらなる圧縮が可能になる。この方法によって、新たなパターンフラグを追加した入出力の関係を図１７（ａ）（ｂ）に示す。本実施形態では新たに画素値出力しないパターンが追加されている。
【００４４】
［圧縮処理］
図１６を用いて詳細に説明する。まずラスタ画像データを入力する（Ｓ１６０１）。続いて、入力されたラスタ画像データから２ｘ２画素のブロックを切り出す（Ｓ１６０２）。最初に切り出したブロックであれば、直前ブロックはない（Ｓ１６０３ＹＥＳ）ので、これまで前述の実施形態で説明したように圧縮処理を行う（Ｓ１６０７）。最初のブロックでない場合（Ｓ１６０３ＮＯ）、１つ前に処理し、記憶していた記憶ブロックとの差分算出処理を行う（Ｓ１６０４）。Ｓ１６０４における処理は、例えば同じ座標位置での画素値の差の絶対値の和を求める事で可能である。記憶ブロックとの差がなければ（Ｓ１６０５ＹＥＳ）、前ブロックと同じというパターンフラグを作成し（Ｓ１６０６）、画素データの出力は省略する。以上により、置換可能か否かの置換判定を行う。また、ここで作成されるパターンフラグは、図１７（ａ）（ｂ）における“前ブロックと一致”の場合に相当する。逆に差があれば、前ブロックのデータの再利用は出来ないとし（Ｓ１６０５ＮＯ）、前述の実施形態で説明したように圧縮処理を行う（Ｓ１６０７）。その後、以降のブロックの処理において、Ｓ１６０４にて比較するためのブロックを保持するために、Ｓ１６０７にて圧縮したデータの展開を行う（Ｓ１６０８）。そして、その展開された２ｘ２画素のブロックを記憶ブロックとして記憶しておく（Ｓ１６０９）。なお、記憶する場合には、すでに保持している記憶ブロックを更新して保持してもよい。また、ブロックの記憶に関する処理はＳ１６０７の圧縮処理の前に実施しても良い。記憶ブロックとの差分があるブロックに関しては、前述したような通常の圧縮処理を行いパターンフラグと画素データ（色情報）が出力され、記憶ブロックとの差分がないブロックに関しては、パターンフラグのみ出力する（Ｓ１６１０）。その後、最後のブロックか否かの判定を行い、最後のブロック無ければ（Ｓ１６１１ＮＯ）、画像全体を圧縮するまで繰り返す。最後のブロックであれば（Ｓ１６１１ＹＥＳ）処理を終了する。
【００４５】
［展開処理］
次に、圧縮部と対になる展開部に関して説明する。展開時にパターンフラグを参照した際、前ブロックと同じと識別された際はその注目ブロックの出力は前ブロックの出力そのものを用い、それ以外のフラグの場合は前述した方法で展開が可能である。なおこの際１ブロック分は次ブロックで利用する可能性があるのでバッファする必要がある。
【００４６】
以下に具体的な画像を１例に挙げて圧縮処理を詳細に説明する。ここでは前述の実施形態と同様、入力画像は８ｂｉｔの２５６階調のグレー画像とし、出力画像としては、２ｂｉｔの４階調のグレーの擬似階調画像を扱うものとする。図１６を参照して説明した本実施形態の処理を図９（ａ）の画像データに適用した際の２ｘ２画素ブロック毎のフラグとデータサイズを示した表を図１８（ａ）に示す。なお、ここでは第一の実施形態の処理フロー（図５）に基づいて、処理を行っている。この場合において、図９（ａ）の画像データは、最終的に入力画像２０４８ｂｉｔに対して、出力画像７８４ｂｉｔとなる。同様に、本実施形態の処理を第二の実施形態の処理フロー（図１３）に基づいて、処理を行った場合の２ｘ２画素ブロック毎のフラグとデータサイズを示した表を図１８（ｂ）に示す。この場合において、図９（ａ）の画像データは、最終的に入力画像２０４８ｂｉｔに対して、出力画像６４０ｂｉｔとなる。
【００４７】
このように、隣接ブロック間の同一性に着目する構成をとり、以前に処理したブロックと関連付けることによって、前述の実施形態の効果に加えて、ブロック間の冗長性を少なくし圧縮率を更に高めることが可能になる。
【００４８】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011193394.tif 000003
【図２】
2011193394.tif 000004
【図３】
2011193394.tif 000005
【図５】
2011193394.tif 000006
【図６】
2011193394.tif 000007
【図８】
2011193394.tif 000008
【図１１】
2011193394.tif 000009
【図１２】
2011193394.tif 000010
【図１３】
2011193394.tif 000011
【図１５】
2011193394.tif 000012
【図１６】
2011193394.tif 000013
【図１８】
2011193394.tif 000014
【図４】
2011193394.tif 000015
【図７】
2011193394.tif 000016
【図９】
2011193394.tif 000017
【図１０】
2011193394.tif 000018
【図１４】
2011193394.tif 000019
【図１７】
2011193394.tif 000020
【図１９】
2011193394.tif 000021