説明

画像処理装置及び画像処理方法

【課題】使用されている色の数が予め定めた代表色数より多い場合であっても、元の画像を使用することなく、色の再現性を確保できるように画像を圧縮する。
【解決手段】代表色圧縮方式を用いて圧縮する際に、各々のブロックで抽出した代表色の数と予め定めた代表色数とを比較し、抽出した代表色の数が代表色数を超える所定のブロックに対して減色情報を生成して可逆圧縮すると共に、所定のブロックの数を第1のカウンタでカウントし、第1のカウンタのカウント値が予め定めたカウント閾値を超える場合は、減色情報のサイズと予め定めたサイズ閾値とを比較し、減色情報のサイズがサイズ閾値以下の場合は、画像の圧縮データと可逆圧縮した減色情報とを出力し、伸張する際は、画像の圧縮データと可逆圧縮した減色情報とを伸張した後、所定のブロックの所定のピクセルの色を元の色に置き換えて画像を復元する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関し、特に、代表色に置き換えることによって画像を圧縮する画像処理装置及び当該画像処理装置における画像処理方法に関する。
【背景技術】
【0002】
画像を特定のブロックに分割して、ブロック毎に代表的な色(代表色と呼ぶ。)を抽出して、ブロック内の各ピクセルの色を抽出した代表色のいずれかに置き換えるという方式は、一般的な画像の圧縮方法として知られている。
【0003】
通常、この方式では、一定のブロック内の代表色の色数は固定として制御する。これは代表色に置き換えた後の各ブロックのサイズを一定にするためであり、ブロックサイズを一定にすることにより、圧縮後のサイズが固定になり、任意の領域に対してアドレス計算が可能になり、画像回転、裏面用上下反転出力等の制御が比較的容易に実現できる、というメリットが得られる。
【0004】
このような画像の圧縮方法に関して、例えば、下記特許文献1には、ドット毎に色データを有する画像データに対して圧縮及び伸長を行う画像処理装置において、前記画像データから、所定領域内のドット群の色数を検出し、前記検出された色数が第1の色数の時に、当該所定領域のドット群の画像データを可逆圧縮方式で圧縮、伸長し、前記検出された色数が前記第1の色数よりも多い第2の色数の時に、当該所定領域のドット群の画像データを非可逆圧縮方式で圧縮、伸長する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−333017号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、ブロック内の代表色をN色に固定した場合、ブロック内で使用されている色数がN色以下の場合は正確に色を再現することができるが、ブロック内で使用されている色数がN色よりも多い場合、代表色として選択されなかった色は、代表色Nのうちのどれかに書き換えられる(減色処理が発生する)ことになり、結果的に色の再現性が犠牲になってしまう。
【0007】
色の再現性を確保するためには、実際に使用されている色数に応じて代表色数Nを設定する必要があるが、圧縮対象となる画像内に、減色が発生するブロックがどの程度存在するかは、実際に圧縮処理を行ってみなくては分からない。そのため、減色が発生したブロックの数によっては、代表色数Nの値を変更して再度圧縮処理を行わなければならず、その結果、圧縮処理が完了するまで圧縮対象となる元の画像を保持しなければならなくなり、メモリを占有してしまう。
【0008】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、使用されている色の数が予め定めた代表色数より多い場合であっても、元の画像を使用することなく、色の再現性を確保できるように画像を圧縮することができる画像処理装置及び画像処理方法を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明は、処理対象の画像を複数の領域に分割し、分割した領域毎に代表色を抽出し、領域内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方式を用いて、前記画像を圧縮して圧縮データを生成する圧縮部と、前記圧縮データを伸張して出力画像を生成する伸張部と、を備える画像処理装置において、前記圧縮部は、前記画像を圧縮する際に、各々の領域で抽出した代表色の数と予め定めた代表色数とを比較し、前記抽出した代表色の数が前記代表色数を超える所定の領域に対して、前記所定の領域を特定する情報と、前記抽出した代表色から外れた色の所定のピクセルを特定する情報と、前記所定のピクセルの元の色を特定する情報と、を含む減色情報を生成して可逆圧縮すると共に、前記所定の領域の数を第1のカウンタでカウントし、前記第1のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記減色情報のサイズと予め定めたサイズ閾値とを比較し、前記減色情報のサイズが前記サイズ閾値以下の場合は、前記画像の圧縮データと可逆圧縮した減色情報とを出力し、前記伸張部は、前記画像の圧縮データと前記可逆圧縮した減色情報とを伸張した後、前記所定の領域の前記所定のピクセルの色を前記元の色に置き換えて前記画像を復元するものである。
【0010】
また、本発明は、処理対象の画像を複数の領域に分割し、分割した領域毎に代表色を抽出し、領域内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方式を用いて、前記画像を圧縮して圧縮データを生成し、前記圧縮データを伸張して出力画像を生成する装置における画像処理方法であって、前記画像を圧縮する際に、各々の領域で抽出した代表色の数と予め定めた代表色数とを比較し、前記抽出した代表色の数が前記代表色数を超える所定の領域に対して、前記所定の領域を特定する情報と、前記抽出した代表色から外れた色の所定のピクセルを特定する情報と、前記所定のピクセルの元の色を特定する情報と、を含む減色情報を生成して可逆圧縮すると共に、前記所定の領域の数を第1のカウンタでカウントする第1の処理と、前記第1のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記減色情報のサイズと予め定めたサイズ閾値とを比較し、前記減色情報のサイズが前記サイズ閾値以下の場合は、前記画像の圧縮データと可逆圧縮した減色情報とを出力する第2の処理と、前記画像の圧縮データと前記可逆圧縮した減色情報とを伸張した後、前記所定の領域の前記所定のピクセルの色を前記元の色に置き換えて前記画像を復元する第3の処理と、を実行するものである。
【発明の効果】
【0011】
本発明の画像処理装置及び画像処理方法によれば、使用されている色の数が予め定めた代表色数より多い場合であっても、元の画像を使用することなく、色の再現性を確保できるように画像を圧縮することができる。
【0012】
その理由は、画像処理装置の圧縮部では、処理対象の画像を分割した各領域に対して予め定めた代表色数で圧縮して代表色圧縮データを生成する際に、代表色以外の色に関する減色情報を生成し、減色が発生した領域の数や減色情報のサイズ、回転処理の要否に基づいて、代表色圧縮データのみを出力するか、代表色圧縮データと減色情報を出力するか、代表色圧縮データと減色情報を用い、代表色数を変更した代表色圧縮データを生成して出力するか、のいずれかの処理を実施し、代表色圧縮データと減色情報とが出力された場合には、伸張部では、減色が発生した部分を減色情報で上書きして画像を復元するからである。
【図面の簡単な説明】
【0013】
【図1】代表色数が4の場合の画像処理方法を説明する図である。
【図2】減色が生じた場合の従来の処理を説明する図である。
【図3】本発明の第1の実施例に係る減色情報のフォーマットを示す図である。
【図4】代表色数が5の場合の画像処理方法を説明する図である。
【図5】本発明の第1の実施例に係る画像処理装置の構成を示すブロック図である。
【図6】本発明の第1の実施例に係る画像処理装置の圧縮モジュールの構成を示すブロック図である。
【図7】本発明の第1の実施例に係る圧縮部(圧縮モジュール)の動作を示すフローチャート図である。
【図8】本発明の第2の実施例に係る圧縮部(圧縮モジュール)の動作を示すフローチャート図である。
【図9】本発明の第3の実施例に係る圧縮部(圧縮モジュール)の動作を示すフローチャート図である。
【発明を実施するための形態】
【0014】
背景技術で示したように、一般的な画像の圧縮方法として、ブロック内の各ピクセルの色を代表色に置き換えるという画像圧縮方式が用いられているが、ブロック内で使用されている色数が予め定めた代表色数よりも多い場合は、代表色に当てはまらない色をいずれかの代表色に置き換える(すなわち、減色が発生する)ため、色の再現性が犠牲になってしまう。色の再現性を保つためには、代表色数を増やして再度圧縮処理を実施する必要があるが、減色が発生するか否かは実際に圧縮処理を行ってみなければ分からないため、代表色数を増やして再度圧縮処理を実施できるようにするためには、圧縮処理が完了するまで元の画像を保持しなくてはならず、メモリを占有してしまう。
【0015】
そこで、本発明の一実施の形態では、画像を特定のサイズの領域(例えば、矩形ブロック)に分割し、矩形ブロック内で代表色を抽出し、ブロック内の各ピクセルの色を抽出した代表色のいずれかに置き換えることで画像を圧縮する画像圧縮方式を採用して画像を圧縮する際に、処理対象のブロックから抽出した代表色数と予め定めた代表色数Nとを比較し、ブロックから抽出した代表色数がNを超えた場合に、矩形ブロックを一意に特定する情報と、色の置き換えが発生したピクセルを特定する情報と、そのピクセルの置き換え前の色の情報と、を含む減色情報を可逆圧縮形式によって生成する。
【0016】
そして、減色が発生したブロック数、減色情報のサイズ、回転処理の要否に基づいて、(1)減色が発生したブロック数が予め定めた閾値以下の場合は、減色情報は破棄して代表色数Nの圧縮データのみを出力し、(2)減色が発生したブロック数が閾値を超えた場合で、減色情報のサイズが予め定めた閾値以下であり、かつ、圧縮データに回転処理を施す必要がない場合は、代表色数Nの圧縮データと圧縮した減色情報の2つを出力し、(3)減色が発生したブロック数が閾値を超えた場合で、減色情報のサイズが予め定めた閾値を超えた場合、または、圧縮データに回転処理を施す必要がある場合は、代表色数Nの圧縮データと減色情報とを用いて代表色数N+1の圧縮データを生成して出力する。
【0017】
このような制御を行うことにより、ブロックに使用されている色の数が予め定めた代表色数Nより多い場合であっても、元の画像を使用することなく、色の再現性を確保することができる。
【実施例1】
【0018】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の第1の実施例に係る画像処理装置及び画像処理方法について、図1乃至図7を参照して説明する。図1は、代表色数が4の場合の画像処理方法を説明する図であり、図2は、使用されている色数が代表色数を超える場合の従来の画像処理方法を説明する図である。また、図3は、本実施例の減色情報のフォーマットを示す図であり、図4は、代表色数が5の場合の画像処理方法を説明する図である。また、図5は、本実施例の画像処理装置の構成を示すブロック図であり、図6は、圧縮モジュールの構成を示すブロック図、図7は、圧縮部10b(圧縮モジュール)の動作を示すフローチャート図である。
【0019】
本実施例の画像処理装置及び画像処理方法を説明する前に、代表色を用いて画像を圧縮する方法について説明する。
【0020】
図1(a)は、代表色の構成(ハッチングの種類で色の違いを表現している。)を示し、図1(b)は、処理対象の画像を分割した領域(本実施例ではブロックとする。)の各ピクセルに代表色を当てはめた画像の例を示している。この例では、1つのブロックを構成するピクセル数を8×8とし、1つのブロックが最大4色(代表色数をNとしたときに、N=4)の代表色を持つとしている。この場合、ブロック内の各ピクセルがどの代表色を使用するかは、2bitで表現できることになる。
【0021】
このような構成の場合、圧縮対象となるブロックに含まれる色の数(厳密には、RGB値が所定の範囲内の色を同一色とした場合の色の数)が4色以下であれば、それらの色を代表色として、各ピクセルにどの代表色を使用しているかの情報を2bitで示すことによって、対象となるブロックを可逆圧縮することができる。
【0022】
しかしながら、図2(a)に示すように、圧縮対象となるブロックに含まれる色の数が5色以上(図では7色)となった場合には、ブロックの中での出現頻度の高い方から順に4色を代表色として設定するため、4つの代表色以外の色を使用しているピクセル(図2(b)の黒四角で示したピクセル)については、4つの代表色の中で最も色の近い代表色を選択することになり(図2(c)参照)、圧縮対象のブロックは非可逆圧縮となる。
【0023】
この問題を回避するためには、ブロックに含まれる色数に合わせて代表色数を設定すればよいが、各ブロックの代表色として何色必要であるかは圧縮する画像に依存するため、通常、圧縮前に最適な代表色数Nを設定することは困難である。そのため、代表色による圧縮処理の実行中に減色が発生したブロックが大量に生じた場合には、代表色数Nを増やして最初から再度、圧縮処理を行わなければならず、再度、圧縮処理を行うためには、圧縮処理が終了するまで圧縮元の画像を保持しなければならず、その間、メモリを占有してしまう。
【0024】
そこで、本実施例では、上記のような非可逆圧縮となった(使用されている色数が代表色数Nを上回った)ブロックについては、公知の手法を用いて圧縮処理を行った通常の圧縮データ(以下、代表色圧縮データと呼ぶ。)の他に、図3に表されるような減色情報を生成する。この減色情報は、例えば、非可逆圧縮となったブロックを特定する情報(ブロック番号)、代表色以外の色の数を示す減色数、代表色以外の各色の色情報(減色代表色情報)、その色を有するピクセルの数(対応ピクセル数)、各々のピクセルを特定する情報(対応ピクセル情報)などで構成される。
【0025】
そして、この減色情報を、通常の代表色圧縮データとは別の領域に可逆圧縮形式によって出力を行う。その際、代表色圧縮データは圧縮後のデータサイズが固定であるため、通常、減色情報は代表色圧縮データの格納領域の直後の領域に出力される。
【0026】
但し、代表色圧縮データに合わせて減色情報を出力する場合、減色情報のサイズが大きい場合は、やはりメモリを占有してしまう。また、代表色圧縮データに回転処理が適用されて、減色情報との対応づけが困難になった場合は、代表色圧縮データと減色情報によって圧縮前の画像を復元することができない。そのような場合は、代表色数を増やした新たな代表色圧縮データを生成することになるが、その際、元の画像を用いて代表色圧縮データを生成するのではなく、代表色圧縮データと減色情報を用いて、代表色数を増やした新たな代表色圧縮データを生成する。
【0027】
以下、代表色の色数を4から5に増やした代表色圧縮データを生成する手法を説明する。
【0028】
まず、図2(b)のように、代表色以外の色を最も色の近い代表色に置き換えた代表色圧縮データに対して先頭からデータ伸張を行い、代表色数を5、位置情報表現ビット数を3のフォーマット(図4(a)参照)に変換する。その際、元々の画像は4色分の情報しか持たないため、この状態では代表色5はブランクで、位置情報の最上位ビットも0のままである。
【0029】
次に、このフォーマットデータに対して、減色情報から各ブロックの5番目の代表色情報を抜き出し、上書きを実施することで、図4(b)に示すように、代表色5の部分と、対応するピクセルの位置の情報を更新する。最後に、減色情報の6番目以降のデータをチェックして、代表色の1から5のどれに最も近いかを判断し、対応するピクセルのデータを最も近い代表色を示す位置情報に置き換える。この一連の処理を行なうことによって、代表色N=5のデータを生成することができる。
【0030】
このように、本実施例では、通常の代表色圧縮データの他に可逆圧縮した減色情報も合わせて出力されるため、使用されている色数が代表色数Nを超えた場合であっても、代表色圧縮データと減色情報を使用する(代表色圧縮データを先に伸張して、減色情報によって上書きする)ことによって、圧縮前の画像を復元することができる。また、減色情報のサイズが大きい場合や代表色圧縮データに回転処理が適用されている場合は、代表色圧縮データと減色情報を用いて代表色数を変更した代表色圧縮データを生成して出力するため、元の画像を保持する必要がなくなり、メモリの占有を抑制することができる。
【0031】
次に、上記制御を行うための装置構成について説明する。図5は、本実施例の画像処理装置の構成を示すブロック図であり、図6は、画像処理装置に含まれる圧縮モジュールの構成を示すブロック図である。
【0032】
本実施例の画像処理装置10は、プリンタやスキャナなどであり、図5に示すように、制御部10aと、圧縮部10bと、伸張部10cと、原稿をスキャンした画像を圧縮部10bに渡したり、伸張部10cで伸張した画像を用いて印刷等を実行する処理部10dなどで構成される。
【0033】
制御部10aは、CPU(Central Processing Unit)とROM(Read Only Memory)やRAM(Random Access Memory)などのメモリとで構成され、CPUは、ROMに記憶したプログラムをRAMに展開して実行し、画像処理装置10全体を制御する。
【0034】
圧縮部10bは、処理対象となる画像(例えば、処理部(画像読取部)で読み取った画像や他の装置から取得した画像)をブロックに分割し、各ブロックを代表色によって圧縮する部分であり、例えば、圧縮部10bをハードウェアで構成した圧縮モジュールは、図6に示すように、入力バッファ11、代表色抽出回路12、第1ワークメモリ13、第2ワークメモリ14、代表色数比較回路15、データ制御回路16、第1出力バッファ17、第2出力バッファ18、ピクセル評価回路19、可逆圧縮回路20、カウンタ21、代表色数N設定レジスタ22、ブロックカウンタ23などで構成される。この圧縮モジュールの各部の動作については後述する。
【0035】
伸張部10cは、代表色圧縮データを伸張して処理部10d(印刷部)で処理可能なデータに復元する部分であり、例えば、伸張部10cをハードウェアで構成した伸張モジュールは、代表色圧縮データや減色情報を伸張する可逆伸張回路、伸張したデータを記録するメモリ、減色情報に基づいてブロック内のピクセルの色を変換する変換回路、ブロックを並び替えるセレクタ回路などで構成される。
【0036】
処理部10dは、画像読取部や印刷部などで構成される。画像読取部は、原稿を走査する光源と、原稿で反射された光を電気信号に変換するCCD(Charge Coupled Devices)等のイメージセンサと、電気信号をA/D変換して画像データとして出力するA/D変換器等により構成される。印刷部は、伸張部10cで伸張した画像を用紙に転写する。具体的には、帯電装置により帯電された感光体ドラムに露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに1次転写し、転写ベルトから紙媒体に2次転写し、更に定着装置で紙媒体にトナー像を定着させる処理を行う。
【0037】
なお、図5及び図6は、本実施例の画像処理装置10の一例であり、その構成は適宜変更可能である。例えば、図5では、圧縮部10bと伸張部10cとを別々に設けているが、これらは1つにまとめてもよい。
【0038】
次に、本実施例の特徴部分である圧縮モジュールの動作について、図6のブロック図及び図7のフローチャート図を参照して説明する。なお、以下の説明において、圧縮する画像は予め所定のサイズのブロックに分割され、代表色数N、減色ブロック数に対する閾値、減色情報のサイズに対する閾値などは予め設定されているものとし、カウンタのカウント値はリセットされているものとする。
【0039】
まず、圧縮対象となるブロックの各ピクセルに使用されている色を抽出し、ブロック内の色数が予め定めた代表色数N以下であるかを判断する(S101)。具体的には、代表色抽出回路12は、入力バッファ11内に格納されている対象ブロックの各ピクセルの色をチェックして、出現頻度順に、代表色数N設定レジスタ22に設定されているN色分の代表色を抽出する。この時、抽出した代表色の情報を、代表色情報として第1ワークメモリ13上に出力する。同時に、対象となるブロックから抽出された色が合計何色であったかを示す情報を代表色数比較回路15に渡す。代表色数比較回路15では、ブロック内で抽出された代表色数と、代表色数N設定レジスタ22に設定されている値Nとの比較を行う。
【0040】
ブロック内で抽出された代表色数が予め定めた代表色数Nよりも大きい場合は、減色ブロック数カウンタをカウントアップし(S102)、減色情報を抽出して圧縮結果別領域に出力する(S103)。具体的には、代表色数比較回路15は、カウンタ21の値を1つインクリメントする。また、代表色数比較回路15は、何色の減色が発生したか(代表色数N設定レジスタ22に設定されている値Nとブロック内で抽出された代表色数との差)をデータ制御回路16に減色数Mとして送ると共に、減色情報の“減色数”として第2ワークメモリ14上に出力する。上記カウンタ21の値は、最終的に、圧縮データの中に減色が発生したブロックがいくつ存在するかを示す値となり、圧縮が完了した後、カウンタ21の値によって、どのデータを圧縮結果として採用するかの判断材料として使用する。
【0041】
データ制御回路16は、代表色数比較回路15から減色数Mを受け取ると、代表色抽出回路12を制御して、N+1番目の代表色を第2ワークメモリ14上に減色情報の“減色代表色情報1”として出力させる。次に、このN+1番目の代表色の情報を、ピクセル評価回路19に送り、ピクセル評価回路19は、N+1番目の代表色に対応するピクセルの数とその位置情報を、第2ワークメモリ14上に減色情報の“対応ピクセル情報1”として出力する。そして、この動作をN+M番目の代表色の出力が完了するまで繰り返す。
【0042】
減色情報を出力した後、若しくは、ブロック内の色数がN以下の場合は、予め定めた代表色数Nで代表色圧縮を実施する(S104)。具体的には、ピクセル評価回路19は、ブロック内の各ピクセルに対して、上記の代表色抽出回路12が抽出したN色の代表色のうち、最も色が近いものを選択し、選択した代表色を表すバイナリコードを位置情報として、第1ワークメモリ14上に出力する。この代表色情報と位置情報の組み合わせが代表色圧縮情報となる。そして、上記S101〜S103の処理を最終ブロックまで実施する(S105)。
【0043】
次に、減色ブロック数(カウンタ21の値)が予め定めた閾値以下であるかを判断する(S106)。
【0044】
減色ブロック数が閾値以下の場合は、色の再現性が確保できると考えられることから、代表色数Nで代表色圧縮した結果を出力する(S107)。具体的には、データ制御回路16は、第1出力バッファ17を操作して、第1ワークメモリ13に格納されているデータを、代表色圧縮データとして外部に出力する。
【0045】
一方、減色ブロック数が閾値を超えている場合は、回転処理が必要であるかを判断し(S108)、回転処理が必要ない場合は、減色情報のサイズが予め定めた閾値以下であるかを判断する(S109)。
【0046】
減色情報のサイズが閾値以下の場合は、代表色数Nで代表色圧縮した結果と減色情報を合わせて圧縮結果として出力する(S110)。具体的には、データ制御回路16は、第1出力バッファ17、第2出力バッファ18を操作して、第1ワークメモリ13、第2ワークメモリ14に格納されているデータを、代表色圧縮データと、圧縮済み減色情報として外部に出力する。この際に、第2ワークメモリ14側のデータについては、可逆圧縮回路20によって、可逆データ圧縮が実行される。
【0047】
一方、回転処理が必要な場合(S108のYes)、若しくは、減色情報のサイズが閾値を超えている場合(S109のNo)は、代表色数Nで代表色圧縮を行った結果と減色情報とを用いて、代表色数N+1の代表色圧縮データを生成して出力する(S111)。
【0048】
その後、伸張部では、圧縮モジュールから、代表色数Nで圧縮した代表色圧縮データ、若しくは代表色数Nで圧縮した代表色圧縮データと減色情報、若しくは代表色数N+1で圧縮した代表色圧縮データを取得する。そして、代表色圧縮データのみを取得した場合は、代表色圧縮データを伸張して画像データを復元し、代表色圧縮データと減色情報を取得した場合は、代表色圧縮データを先に伸張して、減色情報によって上書きすることによって画像データを復元する。
【0049】
そして、処理部(印刷部)では、伸張部から画像データを取得し、その画像データに基づいて印刷処理を行う。
【0050】
このように、本実施例によれば、代表色圧縮データと減色情報と別々に保持することによって、圧縮処理が完了した後に、減色が発生したブロックの数が閾値を越えたか、減色情報のサイズが閾値を超えたか、圧縮データに対して回転処理が必要かなどの条件に応じて、(1)代表色数Nで代表色圧縮を行なったデータのみを圧縮結果として出力する、(2)代表色数Nの代表色圧縮データと圧縮した減色情報の両方を圧縮結果として出力する、(3)代表色数N+1で代表色圧縮を行なった代表色圧縮データを生成して、これを圧縮結果として出力する、という3種類の形態から最適なものを選択することができ、これにより、使用されている色の数が予め定めた代表色数Nより多い場合であっても、元の画像を使用することなく、色の再現性を確保することができる。
【0051】
なお、上記実施例では、代表色数が4の場合を例にして説明したが、任意の代表色数に対して同様に適用することができる。
【実施例2】
【0052】
次に、本発明の第2の実施例に係る画像処理装置及び画像処理方法について、図8を参照して説明する。図8は、本実施例の画像処理装置の圧縮モジュールの動作を示すフローチャート図である。
【0053】
前記した第1の実施例では、減色が発生したブロックの数を単純にカウントして、その値が予め定めた閾値を超えた場合に、代表色を1色増やす制御を行ったが、本実施例では、減色が発生したブロックの数をカウントするカウンタG1の他に、代表色を1色増やした場合でも減色が発生してしまうブロックの数をカウントするカウンタG2を設けて、代表色数を増やす場合に、カウンタG2のカウンタ値によって代表色を1色増やすのか、2色増やすのかの判定を行う。
【0054】
この場合の圧縮モジュールの動作について、図8のフローチャート図を参照して説明する。なお、以下の説明においても、圧縮する画像は予め所定のサイズのブロックに分割され、代表色数N、減色ブロック数に対する閾値、減色情報のサイズに対する閾値は予め設定されているものとし、カウンタのカウント値はリセットされているものとする。
【0055】
まず、圧縮対象となるブロックの各ピクセルに使用されている色を抽出し、ブロック内の色数が予め定めた代表色数N以下であるかを判断する(S201)。ブロック内で抽出された代表色数が予め定めた代表色数Nよりも大きい場合は、減色ブロック数カウンタG1をカウントアップする(S202)。
【0056】
次に、本実施例では、ブロック内の色数がN+1以下であるかを判断し(S203)、ブロック内で抽出された代表色数がN+1よりも大きい場合は、減色ブロック数カウンタG2をカウントアップする(S204)。そして、減色情報を抽出して圧縮結果別領域に出力する(S205)。
【0057】
減色情報を出力した後、若しくは、ブロック内の色数がN以下の場合は、予め定めた代表色数Nで代表色圧縮を実施し(S206)、上記S201〜S206の処理を最終ブロックまで実施する(S207)。
【0058】
次に、減色ブロック数G1(減色ブロック数カウンタG1のカウント値)が予め定めた閾値以下であるかを判断する(S208)。
【0059】
減色ブロック数G1が閾値以下の場合は、色の再現性が担保できると考えられることから、代表色数Nで代表色圧縮した結果を出力する(S209)。一方、減色ブロック数G1が閾値を超えている場合は、回転処理が必要であるかを判断し(S210)、回転処理が必要ない場合は、減色情報のサイズが予め定めた閾値以下であるかを判断する(S211)。そして、減色情報のサイズが閾値以下の場合は、代表色数Nで代表色圧縮した結果と減色情報を合わせて圧縮結果として出力する(S212)。
【0060】
一方、回転処理が必要な場合(S210のYes)、若しくは、減色情報のサイズが閾値を超えている場合(S211のNo)は、減色ブロック数G2(減色ブロック数カウンタG2のカウント値)が予め定めた閾値(減色ブロック数G1の判定に使用する閾値と同じであっても異なっていてもよい。)以下であるかを判断する(S213)。そして、減色ブロック数G2が閾値以下の場合は、代表色数Nで代表色圧縮を行った結果と減色情報とを用いて、代表色数N+1の代表色圧縮データを生成して出力し(S215)、減色ブロック数G2が閾値を超えている場合は、代表色数Nで代表色圧縮を行った結果と減色情報とを用いて、代表色数N+2の代表色圧縮データを生成して出力する(S214)。
【0061】
このように、減色が発生したブロックの内、代表色を1色増やした場合でも減色が発生するブロックの数をカウントすることにより、代表色数N+1の代表色圧縮データを生成すべきか、代表色数N+2の代表色圧縮データを生成すべきかを判断することができるため、色の再現性を高めることができる。
【0062】
なお、上記実施例では、カウンタG1とカウンタG2の2つのカウンタを用いる場合について説明したが、例えば、代表色を2色増やした場合でも減色が発生してしまうブロックの個数をカウントするG3、代表色を3色増やした場合でも減色が発生してしまうブロックの個数をカウントするG4、とカウンタの数を増やしていき、増やす代表色の色数の最適化を図ることも可能である。
【実施例3】
【0063】
次に、本発明の第3の実施例に係る画像処理装置及び画像処理方法について、図9を参照して説明する。図9は、本実施例の画像処理装置の圧縮モジュールの動作を示すフローチャート図である。
【0064】
前記した第2の実施例では、代表色を1色増やした場合でも減色が発生してしまうブロックの個数をカウントするG2を設けたが、本実施例では、第2の実施例とは逆に、代表色数をN−1に減らしても減色が発生しないブロックの数をカウントするカウンタG3を実装し、このカウンタG3のカウンタ値が予め定めた閾値以上であれば、代表色圧縮情報から代表色数を1色減らした代表色圧縮情報を生成し、圧縮結果として出力する。
【0065】
この場合の圧縮モジュールの動作について、図9のフローチャート図を参照して説明する。なお、以下の説明においても、圧縮する画像は予め所定のサイズのブロックに分割され、代表色数N、減色ブロック数及び減色可能ブロック数に対する閾値、減色情報のサイズに対する閾値は予め設定されているものとし、カウンタのカウント値はリセットされているものとする。
【0066】
まず、圧縮対象となるブロックの各ピクセルに使用されている色を抽出し、ブロック内の色数が予め定めた代表色数N以下であるかを判断する(S301)。ブロック内で抽出された代表色数が代表色数Nよりも大きい場合は、減色ブロック数カウンタG1をカウントアップし(S302)、減色情報を抽出して圧縮結果別領域に出力する(S303)。
【0067】
一方、ブロック内で抽出された代表色数が代表色数N以下の場合は、ブロック内の色数がN−1以下であるかを判断し(S304)、ブロック内で抽出された代表色数がN−1以下の場合は、減色可能ブロック数カウンタG3をカウントアップする(S305)。
【0068】
減色情報を出力した後、若しくは減色可能ブロック数カウンタG3をカウントアップした後、若しくは、ブロック内の色数がN−1を超えている場合は、予め定めた代表色数Nで代表色圧縮を実施する(S306)。そして、上記S301〜S306の処理を最終ブロックまで実施する(S307)。
【0069】
次に、減色ブロック数G1(減色ブロック数カウンタG1のカウント値)が予め定めた閾値以下であるかを判断する(S308)。
【0070】
減色ブロック数G1が閾値以下の場合は、減色可能ブロック数G3(減色可能ブロック数カウンタG3のカウント値)が予め定めた閾値(減色ブロック数G1の判定に使用する閾値と同じであっても異なっていてもよい。)以上であるかを判断する(S309)。そして、減色可能ブロック数G3が閾値以上の場合は、代表色数Nで代表色圧縮を行った結果と減色情報とを用いて、代表色数N−1の代表色圧縮データを生成して出力し(S310)、減色可能ブロック数G3が閾値より小さい場合は、代表色数Nで代表色圧縮した結果を出力する(S311)。
【0071】
一方、減色ブロック数G1が閾値を超えている場合は、回転処理が必要であるかを判断し(S312)、回転処理が必要ない場合は、減色情報のサイズが予め定めた閾値以下であるかを判断する(S313)。
【0072】
減色情報のサイズが閾値以下の場合は、代表色数Nで代表色圧縮した結果と減色情報を合わせて圧縮結果として出力し(S314)、回転処理が必要な場合(S312のYes)、若しくは、減色情報のサイズが閾値を超えている場合(S313のNo)は、代表色数Nで代表色圧縮を行った結果と減色情報とを用いて、代表色数N+1の代表色圧縮データを生成して出力する(S315)。
【0073】
このように、代表色を1色減らしても減色が発生しないブロックの数をカウントすることにより、代表色数Nの代表色圧縮データを生成すべきか、代表色数N−1の代表色圧縮データを生成すべきかを判断することができるため、圧縮データのサイズを縮小することができる。
【0074】
なお、第2の実施例では、代表色を増やした場合でも減色が発生してしまうブロックの数をカウントするカウンタを実装し、本実施例では、代表色数を減らした場合でも減色が発生しないブロックの数をカウントするカウンタを実装したが、双方のカウンタを同時に実装して制御することも可能である。
【0075】
また、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りおいて、その構成や制御は適宜変更可能である。
【0076】
例えば、前記した第1乃至第3の実施例では、回転処理が発生したら、減色情報のデータは代表色圧縮情報にフィードバック後に、破棄することを前提としている。これは、代表色圧縮データはブロック単位でサイズが固定であるため、データに対して90°単位の回転処理を行う場合でも回転後のアドレス計算が容易であり、ブロック内のデータの位置情報のみを回転させれば良いため、比較的単純な処理で回転可能であるのに対して、減色情報のデータはデータ先頭からの圧縮であり、ブロック毎にサイズが不定であるため、圧縮状態での回転は非常に困難であるからである。
【0077】
しかしながら、回転後の代表色圧縮データを伸張した結果に対して、伸張結果が連続した領域としてメモリ上に存在する場合には、ブロック番号から、対応するブロックが配置されているアドレスを計算で求めることは可能であり、求めたアドレスに対応するピクセル情報を、回転を考慮して上書きすることで、可逆伸張が可能となる。従って、回転処理が発生した場合であっても、代表色圧縮データと減色情報を出力することも可能である。
【産業上の利用可能性】
【0078】
本発明は、圧縮/伸張した画像を用いて処理を行う装置、例えば、プリンタやスキャナ、複合機(MFP:Multi Function Peripheral)などに利用可能である。
【符号の説明】
【0079】
10 画像処理装置
10a 制御部
10b 圧縮部
10c 伸張部
10d 処理部
11 入力バッファ
12 代表色抽出回路
13 第1ワークメモリ
14 第2ワークメモリ
15 代表色数比較回路
16 データ制御回路
17 第1出力バッファ
18 第2出力バッファ
19 ピクセル評価回路
20 可逆圧縮回路
21 カウンタ
22 代表色数N設定レジスタ
23 ブロックカウンタ

【特許請求の範囲】
【請求項1】
処理対象の画像を複数の領域に分割し、分割した領域毎に代表色を抽出し、領域内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方式を用いて、前記画像を圧縮して圧縮データを生成する圧縮部と、前記圧縮データを伸張して出力画像を生成する伸張部と、を備える画像処理装置において、
前記圧縮部は、前記画像を圧縮する際に、各々の領域で抽出した代表色の数と予め定めた代表色数とを比較し、前記抽出した代表色の数が前記代表色数を超える所定の領域に対して、前記所定の領域を特定する情報と、前記抽出した代表色から外れた色の所定のピクセルを特定する情報と、前記所定のピクセルの元の色を特定する情報と、を含む減色情報を生成して可逆圧縮すると共に、前記所定の領域の数を第1のカウンタでカウントし、前記第1のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記減色情報のサイズと予め定めたサイズ閾値とを比較し、前記減色情報のサイズが前記サイズ閾値以下の場合は、前記画像の圧縮データと可逆圧縮した減色情報とを出力し、
前記伸張部は、前記画像の圧縮データと前記可逆圧縮した減色情報とを伸張した後、前記所定の領域の前記所定のピクセルの色を前記元の色に置き換えて前記画像を復元する、
ことを特徴とする画像処理装置。
【請求項2】
前記圧縮部は、更に、前記画像の圧縮データに対して回転処理が適用されるかを判断し、前記減色情報のサイズが前記サイズ閾値以下であり、かつ、前記画像の圧縮データに対して回転処理が適用されない場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを出力する、
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記圧縮部は、前記減色情報のサイズが前記サイズ閾値を超えるか、若しくは、前記画像の圧縮データに対して回転処理が適用される場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数に1を加算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記圧縮部は、更に、前記所定の領域に対して、前記抽出した代表色の数と前記代表色数に1を加算した代表色数とを比較し、前記抽出した代表色の数が前記1を加算した代表色数を超える領域の数を第2のカウンタでカウントし、前記第1のカウンタが前記カウント閾値を超え、かつ、前記第2のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数に2を加算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記圧縮部は、更に、前記抽出した代表色の数が前記代表色数以下となる領域に対して、前記抽出した代表色の数と前記代表色数から1を減算した代表色数とを比較し、前記抽出した代表色の数が前記1を減算した代表色数以下となる領域の数を第3のカウンタでカウントし、前記第1のカウンタのカウント値が前記カウント閾値以下であり、かつ、前記第3のカウンタのカウント値が予め定めたカウント閾値以上の場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数から1を減算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項1又2に記載の画像処理装置。
【請求項6】
処理対象の画像を複数の領域に分割し、分割した領域毎に代表色を抽出し、領域内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方式を用いて、前記画像を圧縮して圧縮データを生成し、前記圧縮データを伸張して出力画像を生成する装置における画像処理方法であって、
前記画像を圧縮する際に、各々の領域で抽出した代表色の数と予め定めた代表色数とを比較し、前記抽出した代表色の数が前記代表色数を超える所定の領域に対して、前記所定の領域を特定する情報と、前記抽出した代表色から外れた色の所定のピクセルを特定する情報と、前記所定のピクセルの元の色を特定する情報と、を含む減色情報を生成して可逆圧縮すると共に、前記所定の領域の数を第1のカウンタでカウントする第1の処理と、
前記第1のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記減色情報のサイズと予め定めたサイズ閾値とを比較し、前記減色情報のサイズが前記サイズ閾値以下の場合は、前記画像の圧縮データと可逆圧縮した減色情報とを出力する第2の処理と、
前記画像の圧縮データと前記可逆圧縮した減色情報とを伸張した後、前記所定の領域の前記所定のピクセルの色を前記元の色に置き換えて前記画像を復元する第3の処理と、を実行する、
ことを特徴とする画像処理方法。
【請求項7】
前記第2の処理では、更に、前記画像の圧縮データに対して回転処理が適用されるかを判断し、前記減色情報のサイズが前記サイズ閾値以下であり、かつ、前記画像の圧縮データに対して回転処理が適用されない場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを出力する、
ことを特徴とする請求項6に記載の画像処理方法。
【請求項8】
前記第2の処理では、前記減色情報のサイズが前記サイズ閾値を超えるか、若しくは、前記画像の圧縮データに対して回転処理が適用される場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数に1を加算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項6又は7に記載の画像処理方法。
【請求項9】
前記第1の処理では、更に、前記所定の領域に対して、前記抽出した代表色の数と前記代表色数に1を加算した代表色数とを比較し、前記抽出した代表色の数が前記1を加算した代表色数を超える領域の数を第2のカウンタでカウントし、
前記第2の処理では、前記第1のカウンタが前記カウント閾値を超え、かつ、前記第2のカウンタのカウント値が予め定めたカウント閾値を超える場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数に2を加算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項8に記載の画像処理方法。
【請求項10】
前記第1の処理では、更に、前記抽出した代表色の数が前記代表色数以下となる領域に対して、前記抽出した代表色の数と前記代表色数から1を減算した代表色数とを比較し、前記抽出した代表色の数が前記1を減算した代表色数以下となる領域の数を第3のカウンタでカウントし、
前記第2の処理では、前記第1のカウンタのカウント値が前記カウント閾値以下であり、かつ、前記第3のカウンタのカウント値が予め定めたカウント閾値以上の場合は、前記画像の圧縮データと前記可逆圧縮した減色情報とを用いて、前記代表色数から1を減算した新たな代表色数に基づく圧縮データを生成して出力する、
ことを特徴とする請求項6又7に記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−134807(P2012−134807A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2010−285755(P2010−285755)
【出願日】平成22年12月22日(2010.12.22)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】