(57)【要約】【課題】画質の低下を抑えつつ、高い圧縮率で効率的に代表色圧縮を行う。【解決手段】処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像処理装置において、前記画像を代表色数Ｎで圧縮してＮ色圧縮データを生成すると同時に、代表色数Ｍ（Ｍ＜Ｎ）で圧縮を行った場合の画質を評価する指標を算出する圧縮部と、前記指標と予め設定した閾値との比較結果に基づいて、Ｎ色からＭ色への減色処理によって画質が低下するか否かを判定する制御部と、Ｎ色からＭ色への減色処理によって画質が低下しないと判定された場合に、前記Ｎ色圧縮データの代表色をＮ色からＭ色に減色してＭ色圧縮データを生成する変換部と、を備える。【選択図】図４
2014003484.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像処理装置において、
前記画像を代表色数Ｎで圧縮してＮ色圧縮データを生成すると同時に、代表色数Ｍ（Ｍ＜Ｎ）で圧縮を行った場合の画質を評価する指標を算出する圧縮部と、
前記指標と予め設定した閾値との比較結果に基づいて、Ｎ色からＭ色への減色処理によって画質が低下するか否かを判定する制御部と、
Ｎ色からＭ色への減色処理によって画質が低下しないと判定された場合に、前記Ｎ色圧縮データの代表色をＮ色からＭ色に減色してＭ色圧縮データを生成する変換部と、を備える、
ことを特徴とする画像処理装置。
【請求項２】
前記画像圧縮装置は、前記制御部に含まれる主記憶部とは別に副記憶部を有し、
前記圧縮部は、生成した前記Ｎ色圧縮データを前記副記憶部に格納し、Ｎ色からＭ色への減色処理を行わない場合は、前記Ｎ色圧縮データを前記主記憶部に書き込み、
前記変換部は、Ｎ色からＭ色への減色処理を行う場合は、前記副記憶部から前記Ｎ色圧縮データを読み込み、変換した前記Ｍ色圧縮データを前記主記憶部に書き込む、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像処理装置において、
前記画像を代表色数Ｍで圧縮してＭ色圧縮データを生成すると同時に、前記Ｍ色圧縮データの画質を評価する指標を算出する圧縮部と、
前記指標と予め設定した閾値との比較結果に基づいて、前記Ｍ色圧縮データの画質が低いか否かを判定する制御部と、を備え、
前記圧縮部は、前記Ｍ色圧縮データの画質が低いと判定された場合は、前記画像を代表色数Ｎ（Ｎ＞Ｍ）で圧縮してＮ色圧縮データを生成する、
ことを特徴とする画像処理装置。
【請求項４】
前記制御部は、前記画像が高画質を必要とする画像であるか否かに基づいて前記閾値を増減する、
ことを特徴とする請求項１乃至３のいずれか一に記載の画像処理装置。
【請求項５】
前記圧縮部は、圧縮処理に際して、各ブロックがＭ個の領域に分割された段階で、各領域の各色の階調の最大値と最小値の幅を示すレンジ値を取得し、各領域の各色のレンジ値の中から最大のレンジ値を選択してブロックレンジ値とし、前記画像を構成する全てのブロックの前記ブロックレンジ値を積算した値をブロック数で除算して平均レンジ値を算出し、
前記制御部は、前記平均レンジ値が前記閾値よりも大きい場合は、画質の低下が大きい若しくは画質が低いと判断する、
ことを特徴とする請求項１乃至４のいずれか一に記載の画像処理装置。
【請求項６】
前記圧縮部は、圧縮処理に際して、各ブロックがＭ個の領域に分割された段階で、各領域の各色の階調の最大値と最小値の幅を示すレンジ値を取得し、各領域の各色のレンジ値の中から最大のレンジ値を選択してブロックレンジ値とし、前記画像を構成する全てのブロックの前記ブロックレンジ値の中から最大のブロックレンジ値を選択して最大ブロックレンジ値として設定すると共に、全てのブロックの前記ブロックレンジ値を積算した値をブロック数で除算して平均レンジ値を算出し、
前記制御部は、前記平均レンジ値又は前記最大ブロックレンジ値が前記閾値よりも大きい場合は、画質の低下が大きい若しくは画質が低いと判断する、
ことを特徴とする請求項１乃至４のいずれか一に記載の画像処理装置。
【請求項７】
処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方法であって、
前記画像を代表色数Ｎで圧縮してＮ色圧縮データを生成すると同時に、代表色数Ｍ（Ｍ＜Ｎ）で圧縮を行った場合の画質を評価する指標を算出する第１の処理と、
前記指標と予め設定した閾値との比較結果に基づいて、Ｎ色からＭ色への減色処理によって画質が低下するか否かを判定する第２の処理と、
Ｎ色からＭ色への減色処理によって画質が低下しないと判定された場合に、前記Ｎ色圧縮データの代表色をＮ色からＭ色に減色してＭ色圧縮データを生成する第３の処理と、を実行する、
ことを特徴とする画像圧縮方法。
【請求項８】
処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方法であって、
前記画像を代表色数Ｍで圧縮してＭ色圧縮データを生成すると同時に、前記Ｍ色圧縮データの画質を評価する指標を算出する第１の処理と、
前記指標と予め設定した閾値との比較結果に基づいて、前記Ｍ色圧縮データの画質が低いか否かを判定する第２の処理と、
前記Ｍ色圧縮データの画質が低いと判定された場合は、前記画像を代表色数Ｎ（Ｎ＞Ｍ）で圧縮してＮ色圧縮データを生成する第３の処理と、を実行する、
ことを特徴とする画像圧縮方法。
【請求項９】
前記第２の処理では、前記画像が高画質を必要とする画像であるか否かに基づいて前記閾値を増減する、
ことを特徴とする請求項７又は８に記載の画像圧縮方法。
【請求項１０】
前記第１の処理では、圧縮処理に際して、各ブロックがＭ個の領域に分割された段階で、各領域の各色の階調の最大値と最小値の幅を示すレンジ値を取得し、各領域の各色のレンジ値の中から最大のレンジ値を選択してブロックレンジ値とし、前記画像を構成する全てのブロックの前記ブロックレンジ値を積算した値をブロック数で除算して平均レンジ値を算出し、
前記第２の処理では、前記平均レンジ値が前記閾値よりも大きい場合は、画質の低下が大きい若しくは画質が低いと判断する、
ことを特徴とする請求項７乃至９のいずれか一に記載の画像圧縮方法。
【請求項１１】
前記第１の処理では、圧縮処理に際して、各ブロックがＭ個の領域に分割された段階で、各領域の各色の階調の最大値と最小値の幅を示すレンジ値を取得し、各領域の各色のレンジ値の中から最大のレンジ値を選択してブロックレンジ値とし、前記画像を構成する全てのブロックの前記ブロックレンジ値の中から最大のブロックレンジ値を選択して最大ブロックレンジ値として設定すると共に、全てのブロックの前記ブロックレンジ値を積算した値をブロック数で除算して平均レンジ値を算出し、
前記第２の処理では、前記平均レンジ値又は前記最大ブロックレンジ値が前記閾値よりも大きい場合は、画質の低下が大きい若しくは画質が低いと判断する、
ことを特徴とする請求項７乃至９のいずれか一に記載の画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像圧縮方法に関し、特に、代表色に置き換えることによって画像を圧縮する画像処理装置及び当該画像処理装置における画像圧縮方法に関する。
【背景技術】
【０００２】
画像を特定のブロックに分割して、各ブロックの中から代表的な色（代表色と呼ぶ。）を抽出し、ブロック内の各ピクセルの色を抽出した代表色に置き換えるという画像圧縮方式は、一般的な画像の圧縮手法として知られている。
【０００３】
通常、この画像圧縮方式では、抽出する代表色の色数は固定である。このため、ブロック内で使用されている色数が予め定めた代表色数よりも多い場合は、代表色に当てはまらない色をいずれかの代表色に置き換える（すなわち、減色が発生する）ため、画質の低下が起こる。一方、圧縮前の画像に含まれる色数が少ない場合や、非常に単調な画像である場合など、少ない代表色数による圧縮でも画質の低下を起こさないような場合においても、予め設定された固定数の代表色の抽出による圧縮処理を行うため、必要数以上の代表色の抽出を行って圧縮処理後のデータサイズが不必要に大きくなり、高い圧縮率が得られない。
【０００４】
このような問題に関して、例えば、下記特許文献１には、ドット毎に色データを有する画像データに対して圧縮及び伸長を行う画像処理装置において、前記画像データから、所定領域内のドット群の色数を検出し、前記検出された色数が第１の色数の時に、当該所定領域のドット群の画像データを可逆圧縮方式で圧縮、伸長し、前記検出された色数が前記第１の色数よりも多い第２の色数の時に、当該所定領域のドット群の画像データを非可逆圧縮方式で圧縮、伸長する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１９３３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画質の低下を抑えつつ、高い圧縮率を得る方法として、代表色数を増減して再度、圧縮処理を実施する方法が考えられるが、代表色数が適切であるかどうかは実際に圧縮処理を行ってみなければ分からないため、圧縮データの生成に時間がかかってしまう。また、元の画像は、圧縮処理が完了するまで保持しなければならないため、メモリを占有してしまう。
【０００７】
また、他の方法として、圧縮対象となる画像を評価して代表色数を決定し、決定した代表色数で圧縮する方法が考えられる。しかしながら、この方法では、圧縮対象の画像を評価する間、圧縮処理を開始することができないため、やはり圧縮データの生成に時間がかかってしまう。また、圧縮処理とは別に画像を評価する処理を新たに追加する必要があるため、処理が複雑になってしまう。
【０００８】
また、上記特許文献１の技術では、分割したブロックの色数が所定数以上の場合、このブロックを疑似階調化し、色数が所定数未満のブロックはそのままとして、各ブロックの色の配置、及び色情報を記録するという方式で圧縮を行っており、必要以上の代表色の抽出を抑制することができる。しかしながら、この方法では、１つのブロックの圧縮データに対して、最低でも予め設定した所定数の色情報を保持することになり、この所定数が必要以上に大きいと、高い圧縮率を得ることができない。また、一旦、予め設定した所定数に基づく圧縮処理を行った場合、この所定数をあとで減らして、圧縮データを更に再圧縮するという処理を行うことができない。そのため、更に圧縮しても画質の低下が認められないような場合でも、それ以上の圧縮ができず、高い圧縮率を得ることができない。
【０００９】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、画質の低下を抑えつつ、高い圧縮率で効率的に代表色圧縮を行うことができる画像処理装置及び画像圧縮方法を提供することにある。
【００１０】
また、本発明の他の目的は、メモリを効率的に利用することができる画像処理装置及び画像圧縮方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像処理装置において、前記画像を代表色数Ｎで圧縮してＮ色圧縮データを生成すると同時に、代表色数Ｍ（Ｍ＜Ｎ）で圧縮を行った場合の画質を評価する指標を算出する圧縮部と、前記指標と予め設定した閾値との比較結果に基づいて、Ｎ色からＭ色への減色処理によって画質が低下するか否かを判定する制御部と、Ｎ色からＭ色への減色処理によって画質が低下しないと判定された場合に、前記Ｎ色圧縮データの代表色をＮ色からＭ色に減色してＭ色圧縮データを生成する変換部と、を備えるものである。
【００１２】
また、本発明は、処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像処理装置において、前記画像を代表色数Ｍで圧縮してＭ色圧縮データを生成すると同時に、前記Ｍ色圧縮データの画質を評価する指標を算出する圧縮部と、前記指標と予め設定した閾値との比較結果に基づいて、前記Ｍ色圧縮データの画質が低いか否かを判定する制御部と、を備え、前記圧縮部は、前記Ｍ色圧縮データの画質が低いと判定された場合は、前記画像を代表色数Ｎ（Ｎ＞Ｍ）で圧縮してＮ色圧縮データを生成するものである。
【００１３】
また、本発明は、処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方法であって、前記画像を代表色数Ｎで圧縮してＮ色圧縮データを生成すると同時に、代表色数Ｍ（Ｍ＜Ｎ）で圧縮を行った場合の画質を評価する指標を算出する第１の処理と、前記指標と予め設定した閾値との比較結果に基づいて、Ｎ色からＭ色への減色処理によって画質が低下するか否かを判定する第２の処理と、Ｎ色からＭ色への減色処理によって画質が低下しないと判定された場合に、前記Ｎ色圧縮データの代表色をＮ色からＭ色に減色してＭ色圧縮データを生成する第３の処理と、を実行するものである。
【００１４】
また、本発明は、処理対象の画像を複数のブロックに分割し、分割したブロック毎に代表色を抽出し、ブロック内の各ピクセルを、抽出した代表色のいずれかに割り当てて圧縮する画像圧縮方法であって、前記画像を代表色数Ｍで圧縮してＭ色圧縮データを生成すると同時に、前記Ｍ色圧縮データの画質を評価する指標を算出する第１の処理と、前記指標と予め設定した閾値との比較結果に基づいて、前記Ｍ色圧縮データの画質が低いか否かを判定する第２の処理と、前記Ｍ色圧縮データの画質が低いと判定された場合は、前記画像を代表色数Ｎ（Ｎ＞Ｍ）で圧縮してＮ色圧縮データを生成する第３の処理と、を実行するものである。
【発明の効果】
【００１５】
本発明の画像処理装置及び画像圧縮方法によれば、画像データの代表色圧縮において、代表色数がＮ色の圧縮処理を行う際に、代表色数をＭ色（Ｎ＞Ｍ）に減色することによる画質の低下の度合いを示す指標を算出し、算出した指標と予め設定した閾値との比較結果により、画質の低下が小さいと判断できる場合には、Ｎ色の圧縮データをＭ色に再圧縮（変換）するため、画質の低下を抑えつつ、高い圧縮率で効率的に代表色圧縮を行うことができる。
【００１６】
また、元の非圧縮の画像データからＭ色の圧縮データを生成するのではなく、Ｎ色の圧縮データをＭ色の圧縮データに変換するため、元の非圧縮の画像データを保持する必要がなくなり、メモリを効率的に利用することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施例に係る画像処理システムの構成を示すブロック図である。
【図２】本発明の一実施例に係る画像処理部の圧縮モジュールの構成を示すブロック図である。
【図３】本発明の一実施例に係る画像処理部の変換モジュールの構成を示すブロック図である。
【図４】本発明の一実施例に係る画像処理装置の動作を示すフローチャート図である。
【図５】代表色圧縮の例を示す図である。
【図６】代表色を６色から４色に変換する例を示す図である。
【図７】代表色抽出方法（領域２分割の例）を示す図である。
【図８】代表色抽出方法（領域４分割の例）を示す図である。
【図９】領域４分割時の各色階調レンジの分布例を示す図である。
【図１０】ページ平均レンジが下がりやすい画像の例を示す図である。
【図１１】４色の代表色圧縮の例を示す図である。
【図１２】６色の代表色圧縮の例を示す図である。
【図１３】例外分割の例を示す図である。
【発明を実施するための形態】
【００１８】
背景技術で示したように、一般的な画像の圧縮方法として、ブロック内の各ピクセルの色を代表色に置き換えるという画像圧縮方式が用いられているが、ブロック内で使用されている色数が予め定めた代表色数よりも多い場合は、減色が発生するために画質の低下が起こる。画質の低下を防ぐためには、代表色数を増やして圧縮処理を実施する必要があるが、代表色数を増やすと高い圧縮率を得ることができない。
【００１９】
画質の低下を抑えつつ、高い圧縮率を得る方法として、代表色数を増減して再度、圧縮処理を実施する方法が考えられるが、この方法では、圧縮データの生成に時間がかかり、元の画像を保持するためにメモリを占有してしまう。また、圧縮前に画質を評価して代表色数を決定する方法も考えられるが、この方法でも、圧縮データの生成に時間がかかり、画像を評価する処理が新たに必要になるため、処理が複雑になってしまう。
【００２０】
そこで、本発明の一実施の形態では、画像を特定のサイズの矩形ブロックに分割し、矩形ブロック内で代表色を抽出し、抽出した代表色にブロック内の各ピクセルの色を置き換えることで画像を圧縮する画像圧縮方式において、一回目の圧縮処理において抽出する代表色数をＮ色として１ページ分の画像を圧縮処理し、代表色Ｎ色の圧縮データを出力する。この圧縮処理に際して、代表色数をＭ色（Ｎ＞Ｍ）として圧縮を行った場合に画質の低下の度合いを示す指標（以降、画質評価指標と呼ぶ。）の算出を行い、代表色Ｎ色の圧縮データと共に出力する。
【００２１】
上記の圧縮処理完了後、画質評価指標を参照し、この画質評価指標が予め設定した閾値より大きいか否かを比較し、画質評価指標が閾値よりも大きい場合（画質の低下が大きい場合）は、Ｍ色に再圧縮不可能であると判断し、代表色数がＮ色の圧縮データを最終圧縮データとする。一方、画質評価指標が閾値以下の場合（画質の低下が小さい場合）は、Ｍ色に再圧縮可能であると判断し、代表色数がＮ色の圧縮データをＭ色へ再圧縮する処理を行う。これにより、画質の低下を抑えつつ、高い圧縮率で効率的に代表色圧縮を行うことができる。
【００２２】
また、代表色数がＭ色の圧縮データを生成する場合に、元の画像データを用いて再度、圧縮処理を行うのではなく、代表色数がＮ色の圧縮データをＭ色の圧縮データに変換する。これにより、元の画像データを保持する必要がなくなり、メモリを効率的に利用することができる。
【実施例１】
【００２３】
上記した本発明の一実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る画像処理装置及び画像圧縮方法について、図１乃至図１３を参照して説明する。図１は、本実施例の画像処理システムの構成を示すブロック図である。また、図２は、本実施例の画像処理部の圧縮モジュールの構成を示すブロック図、図３は、変換モジュールの構成を示すブロック図であり、図４は、本実施例の画像処理装置の動作を示すフローチャート図である。また、図５は、代表色圧縮の例を示す図であり、図６は、代表色を６色から４色に変換する例を示す図である。また、図７及び図８は、代表色抽出方法を示す図であり、図９は、領域４分割時の各色階調レンジの分布例を示す図、図１０は、ページ平均レンジが下がりやすい画像の例を示す図である。また、図１１は、４色の代表色圧縮の例を示す図、図１２は、６色の代表色圧縮の例を示す図であり、図１３は、例外分割の例を示す図である。
【００２４】
図１に示すように、本実施例の画像圧縮処理は、ＣＰＵ（Central Processing Unit）１０とＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などのメインメモリ２０とが接続され、バス４０を介して、ＣＰＵ１０と画像入力部３０と画像処理部５０とが接続されるシステム環境で行われる。
【００２５】
ＣＰＵ１０とメインメモリ２０とで制御部が構成され、制御部は、圧縮モジュール６０から後述する画質評価指標を取得し、画質評価指標と予め記憶した閾値との比較結果に基づいて、減色により画質が低下するか否かを判定し、画質が低下しないと判定した場合は、変換モジュール７０に圧縮データの再圧縮を指示する。画像入力部３０は、圧縮対象となる画像データを取得する。画像処理部５０は、画像データの圧縮を行う圧縮部（圧縮モジュール６０と呼ぶ。）と圧縮データの変換を行う変換部（変換モジュール７０と呼ぶ。）とを備える。
【００２６】
なお、これらの要素は、複合機（ＭＦＰ：Multi Function Peripheral）などの１つの装置に含まれるようにしてもよいし、画像入力部３０を別の装置として分離してもよい。また、本実施例では、画質が低下するか否かを制御部が判定する構成とするが、画像処理部５０（圧縮モジュール６０）が判定する構成としてもよい。以下、圧縮モジュール６０と変換モジュール７０について詳細に説明する。
【００２７】
［圧縮モジュール］
上記圧縮モジュール６０は、図２に示すように、入力バッファ６１、代表色抽出回路６２、ピクセル評価回路６３、ワークメモリ６４、画質評価指標算出回路６５、代表色数Ｎ設定レジスタ６６、代表色数Ｍ設定レジスタ６７、出力バッファ６８などで構成される。なお、以下の説明では、代表色数が６色の圧縮処理を行う際に、代表色数が４色の圧縮処理における画質を評価するものとして説明する。
【００２８】
入力画像データ８０は、所定のサイズのブロック（例えば、８×８ｄｏｔ）に分割されたデータであり、このデータが圧縮モジュール６０に入力されると、データは入力バッファ６１に格納される。代表色抽出回路６２は、入力バッファ６１内に格納されている対象ブロックの各ピクセルの色情報をチェックし、代表色数Ｎ設定レジスタ６６に設定されているＮ色（ここでは６色）の代表色を抽出する。この時、抽出された代表色の情報は、代表色情報６４ａとしてワークメモリ６４上に格納される。また、代表色の抽出過程において、代表色数Ｍ設定レジスタ６７に設定されているＭ色（ここでは４色）の代表色抽出が完了した時点で、対象ブロックに対して代表色数がＭ色の圧縮を行った場合のブロック画質評価指標８２を画質評価指標算出回路６５に出力する。
【００２９】
ピクセル評価回路６３は、対象ブロックの各ピクセルの色と、上記代表色抽出回路６２が抽出したＮ色の代表色とを比較し、最も色が近い代表色を選択し、選択した代表色のインデックス番号を位置情報６４ｂとしてワークメモリ６４上に格納する。上記代表色情報６４ａと位置情報６４ｂの組み合わせが代表色数がＮ色の圧縮データとなり、対象ブロックの圧縮処理が完了した時点で、ワークメモリ６４上の圧縮データを、出力バッファ６８を介してＮ色圧縮データ８１として出力する。
【００３０】
画質評価指標算出回路６５は、代表色抽出回路６２が対象ブロックを処理するたびに出力するブロック画質評価指標８２を受け取り、この値を１ページ分積算し、１ページの処理が完了した時点で、積算した値を総ブロック数で除算することにより、ページ全体のブロック画質評価指標８２の平均値を得る。また、必要に応じて、ブロック画質評価指標８２のページ内における最大値を保持する。１ページの圧縮処理完了後に得られる、ブロック画質評価指標８２の平均値と最大値をページ画質評価指標８３として出力する。
【００３１】
［変換モジュール］
変換モジュール７０は、図３に示すように、入力バッファ７１、代表色再抽出回路７２、位置情報変換回路７３、ワークメモリ７４、代表色数Ｎ設定レジスタ７５、代表色数Ｍ設定レジスタ７６、出力バッファ７７などで構成される。なお、以下の説明では、代表色数が６色の圧縮データを４色の圧縮データに変換するものとして説明する。
【００３２】
Ｎ色圧縮データ８１は、８×８ｄｏｔのブロックに分割された入力画像データにＮ色（Ｎ＝６）の代表色圧縮処理を行った圧縮データであり、この圧縮データが変換モジュール７０に入力されると、圧縮データは入力バッファ７１に格納される。代表色再抽出回路７２は、入力バッファ７１に格納されているＮ色圧縮データ８１の代表色情報及び位置情報をチェックし、Ｎ色（Ｎ＝６）の代表色情報を代表色数Ｍ設定レジスタ７６に設定されているＭ色（Ｍ＝４）の代表色情報に変換する処理を行い、代表色情報７４ａとしてワークメモリ７４に格納する。例えば、Ｎ色（Ｎ＝６）の代表色からＭ色（Ｍ＝４）の代表色への変換は、Ｎ色（Ｎ＝６）の代表色のうち、第５番目と第６番目の代表色を第１番目〜第４番目の代表色のいずれかにマージすることにより行い、この時、第５番目及び第６番目の代表色を第何番目の代表色にマージしたかを示すインデックス番号の変換情報を位置情報変換回路７３に出力する。
【００３３】
位置情報変換回路７３は、入力バッファ７１からＮ色圧縮データ８１の位置情報を取り込み、次に、代表色再抽出回路７２から代表色インデックス番号の変換情報を受け取る。そして、この代表色インデックス番号の変換情報に基づき、Ｎ色圧縮データ８１の位置情報をＭ色圧縮データの位置情報に変換する処理を行い、位置情報７４ｂとしてワークメモリ７４に格納する。代表色情報７４ａと位置情報７４ｂの組み合わせが変換後の圧縮データとなり、変換処理完了後、ワークメモリ７４上の圧縮データを、出力バッファ７７を介してＭ色圧縮データ８４として出力する。
【００３４】
上記構成の画像処理装置の動作について、図４のフローチャート図を参照して説明する。
【００３５】
まず、画像入力部３０から取得した非圧縮の画像データをメインメモリ２０に格納する。次に、メインメモリ２０上の非圧縮画像データを圧縮モジュール６０に入力し、圧縮モジュール６０は、代表色数が６色の圧縮処理を行い、圧縮データをメインメモリ２０に格納する（Ｓ１０１）。この時、圧縮モジュール６０で圧縮処理を行うと同時に、代表色数を４色に減色した場合の画質低下の度合いを評価するための画質評価指標を出力する。
【００３６】
この画質評価指標をＣＰＵ１０に取り込み、ＣＰＵ１０は、代表色数を４色に減色することによる画質低下が小さいかを判断する（Ｓ１０２）。具体的には、画質評価指標と予め設定した閾値とを比較することで画質低下の大小を判定する。この時、予め入力される画像データに対して、高画質が必要とされる、或いは高画質が必要とされないことが分かっている場合などは、上記閾値を増減させることにより、ジョブ及びページ単位で代表色数が適切に切り替わるように制御する。
【００３７】
ＣＰＵ１０は、代表色数を４色に減色することによる画質低下が小さいと判断した場合は、メインメモリ２０に格納されている６色の圧縮データを変換モジュール７０に入力し、変換モジュール７０は、代表色数が６色の圧縮データから４色の圧縮データへの変換処理を行い（Ｓ１０３）、変換された４色の圧縮データを最終圧縮データとしてメインメモリ２０に格納する（Ｓ１０４）。一方、ＣＰＵ１０は、代表色数を４色に減色することによる画質低下が大きいと判断した場合は、代表色数の減色処理を行わず、その時点でメインメモリ２０に格納されている、代表色数が６色の圧縮データを最終圧縮データとする（Ｓ１０５）。
【００３８】
次に、本発明で行う代表色圧縮について、図面を参照して具体的に説明する。
【００３９】
まず、図５（ａ）に示す入力画像ブロック（８×８ｄｏｔとする。）を構成する各ピクセルの色情報（ハッチングの種類で色及び濃淡を表現している。）から、代表的な色を４色抽出し、図５（ｂ）に示すように、抽出したそれぞれの代表色に対して、２ｂｉｔのインデックス番号を順番に付与する。次に、図５（ａ）に示す入力画像ブロックを構成する各ピクセルの色情報に対して、図５（ｂ）に示す代表色の色情報のうち最も色の近い代表色を選択し、選択した代表色のインデックス番号を対象のピクセル位置に並べる。この処理により図５（ｃ）の位置情報が得られる。図５（ｂ）の代表色情報と図５（ｃ）の位置情報の組み合わせが図５（ａ）の入力画像ブロックの４色圧縮データとなる。圧縮処理後の画像は、図５（ｄ）のように色の置き換えによる減色が生じる。
【００４０】
そこで、本実施例では、まず、代表色数を６色として代表色圧縮を行う。そして、代表色数を減らすと画質の低下が問題となる場合は６色の代表色圧縮データを用い、代表色数を減らしても画質の低下が問題とならない場合は、６色の代表色圧縮データを４色の代表色圧縮データに変換する。
【００４１】
ここで、代表色圧縮データは、代表色情報と位置情報の組み合わせのデータであり、このデータに対して代表色数の減色によるデータ変換処理を行う場合、代表色情報の再抽出と位置情報の変換処理を行う。変換のシーケンスは、まず、図６に示すように、６色の代表色から４色の代表色を再抽出する処理を行う。この時、抽出される４色の代表色のそれぞれにインデックス番号を付与し、これにより、６色を４色に変換することによる位置情報内のインデックス番号の変換情報を得る。そして、この変換情報に基づいて位置情報を変換し、４色の代表色情報とそれに対応する位置情報を作成することで変換処理が完了となる。図６の場合、インデックス番号０００と１００をインデックス番号００に変換し、インデックス番号００１と１０１をインデックス番号０１に変換し、インデックス番号０１０と０１１はそれぞれ１０と１１に変換する。
【００４２】
以下、上記の代表色圧縮の各処理について説明する。なお、簡単のため、入力画像ブロックの各ピクセルの色情報はＲＧＢ色空間で表すものとし、また、入力画像ブロック内の全てのピクセルにおいてＢ色の階調を０とし、代表色抽出処理に際してＲＧ色のみについて考えるものとする。
【００４３】
［代表色の抽出処理］
まず、入力画像ブロックの全てのピクセルの色情報を図７のようにグラフにプロットする。ここでは、Ｂ色階調は全ピクセルで０であるので図７はＲＧ色のみを表示している。次に、Ｒ色及びＧ色の各階調の最大値及び最小値より、レンジ値（最大値−最小値）を計算する。図７の場合、Ｒ色のレンジ値が２２５、Ｇ色のレンジ値が１７０となり、このうちレンジ値が大きいＲ色を選択する。次に、選択された色のレンジ中間値を閾値として、領域を２つに分割し、生成された領域を、領域１、領域２とする。
【００４４】
以降、生成された全ての領域ごとに各色のレンジ値を計算し、その中でレンジ値が最大となる色を含む領域を選択し、その領域をレンジ値が大きい方の色のレンジ中間値を閾値として２つに分割するという処理を、生成された領域の数が抽出する代表色数と同数になるまで繰り返す。上記処理を行い、領域分割をした結果、図８のように領域分割されたとする。そして、各領域内のピクセルの色情報を平均して代表色とする。
【００４５】
［画質評価指標の算出処理］
本実施例では、画質評価指標は、代表色数が４色の代表色圧縮を行った際の圧縮処理後の画像の画質を評価する指標として算出するものとする。また、代表色の抽出過程において、３回の領域分割処理を行い、４つの領域に分割された状態を想定する。この状態で各領域各色のレンジ値を算出し、図９のように各領域各色のレンジ値が算出されたとする。
【００４６】
まず、各領域の各色レンジ値の中から最大のレンジ値を選択する。この選択されたレンジ値が十分に小さい場合は、最大のレンジ値を含む領域、及びその他の領域において、それぞれの領域内に存在するピクセルの色階調が狭い範囲内に収まっており、これらのピクセルの色情報を１つの代表色に置き換えたとしても画質の低下は小さく、それ以上の領域分割を行って代表色数を増加させる必要性が小さいと判断できる。従って、領域４分割時の各領域の各色レンジ値中の最大レンジ値を、代表色数が４色の代表色圧縮を行った際の、圧縮処理後の画質を評価する指標とする（以降、ブロックレンジと表記する)。
【００４７】
図９の場合、ブロックレンジは６となる。ブロックレンジは、１ブロックの画像の圧縮処理を行った際の、１ブロックの画像の画質を評価する指標であり、これを１ページの画像を評価する指標とし、ページ単位の画質評価を可能とするため、１ページを構成する全てのブロックのブロックレンジを積算した値を、ページを構成するブロック数で除算し、平均のブロックレンジを算出する（以降、ページ平均レンジと表記する）。そして、ＣＰＵ１０は、このページ平均レンジの値を参照することにより、圧縮対象のページ画像データに対し、代表色数が４色の圧縮を行った場合の画質低下を判断する。
【００４８】
上記のページ平均レンジのみを画質評価指標とした場合、圧縮処理後のページ全体の画質の低下を正当に評価できない場合がある。例えば、図１０のように、モノクロのテキスト文書の中に一部高精細な画像を含むようなページ画像データの場合、ページ平均レンジは小さい値となる事が予想され、この値のみを見れば、代表色数が４色の圧縮処理を行っても画質の低下は小さいと判断できる。しかしながら、実際には、高精細の画像を構成するブロックではブロックレンジが大きくなり、この高精細な画像部分で著しい画質の低下が起こる可能性がある。
【００４９】
そこで、上記のような不具合が発生しないように、１ページを構成するブロック全てのブロックレンジをピークホールドし、最終的に保持された値をページ最大レンジとする。ＣＰＵ１０は、この値を参照することにより、ページ平均レンジが十分に小さい値でもページ最大レンジが大きい値であった場合、ページの一部で画質の低下が著しい箇所があると判断することができ、画質低下の評価を適切に実施することができる。
【００５０】
［代表色圧縮データの減色処理］
図１１（ａ）は８×８ｄｏｔのブロックを構成する全画素の色情報を色空間上にプロットし、色情報のレンジを基に４つの領域に分割したものである。４色圧縮の場合、この状態から、領域ごとに領域内に存在する画素の色情報の平均値を算出し、その平均値をその領域の代表色とする。図１１（ｂ）のように、４色圧縮データは、各領域の代表色情報と、ブロック内の各ピクセルがどの代表色に該当するかを表す位置情報により構成される。
【００５１】
６色圧縮の場合は、図１２（ａ）のように、図１１（ａ）に表す領域４分割の後、更に２回の領域分割を行って６つの領域に分割する。その後、４色圧縮の場合と同様に代表色を算出し、代表色情報と位置情報により図１２（ｂ）に示す６色圧縮データとする。
【００５２】
上記の６色圧縮データを４色圧縮データに変換する場合、（１）代表色情報を再度抽出して６色を４色に減色する処理と、（２）位置情報を４色用に変換する処理と、（３）６色の圧縮を行う際の事前処理と、が必要となる。詳細を以下に示す。
【００５３】
（１）代表色情報の再抽出による減色処理
図１１（ａ）に示す領域４分割の後、領域１を分割して領域１と領域５を生成し、領域２を分割して領域２と領域６を生成したものが図１２（ａ）に示す領域６分割の例となる。代表色数を６色から４色に減色する処理は、６色圧縮データにおける代表色１と５、及び代表色２と６をマージし、代表色１と２を再抽出することで行われる。代表色１と５をマージして代表色１を再抽出する場合、以下の手順に従って処理する。
【００５４】
手順１
位置情報から代表色１及び５のそれぞれに該当するピクセル数（Ｃ１、Ｃ５）をカウントする。
【００５５】
手順２
代表色１及び５の色情報とそれぞれのピクセル数のカウント値を乗算する。
（Ｒ１，Ｇ１，Ｂ１）×Ｃ１＝（Ｒ１×Ｃ１，Ｇ１×Ｃ１，Ｂ１×Ｃ１）
（Ｒ５，Ｇ５，Ｂ５）×Ｃ５＝（Ｒ５×Ｃ５，Ｇ５×Ｃ５，Ｂ５×Ｃ５）
【００５６】
手順３
手順２の各積算値を加算し、各代表色のピクセル数のカウント値の和で除算する（平均値の算出）。
｛（Ｒ１×Ｃ１，Ｇ１×Ｃ１，Ｂ１×Ｃ１）＋（Ｒ５×Ｃ５，Ｇ５×Ｃ５，Ｂ５×Ｃ５）｝／（Ｃ１＋Ｃ５）＝（代表色１再抽出値）
【００５７】
上記手順により代表色１の再抽出が完了する。同様に代表色２と５をマージし、代表色２を再抽出する。代表色３と４はそのまま流用する。以上により、代表色６色から４色への変換が完了する。
【００５８】
（２）位置情報の変換
６色圧縮データの位置情報（各ピクセル３ｂｉｔ）を４色圧縮データの位置情報（各ピクセル２ｂｉｔ）に変換する。
６色圧縮データ      ４色圧縮データ
０００      ⇒      ００
００１      ⇒      ０１
０１０      ⇒      １０
０１１      ⇒      １１
１００      ⇒      ００（代表色５は代表色１にマージしているため１００は００に変換）
１０１      ⇒      ０１（代表色６は代表色２にマージしているため１０１は０１に変換）
【００５９】
（３）６色圧縮時の事前処理
（１）の代表色情報の再抽出を行う場合、６色圧縮データを作成する際に事前処理を加える必要がある。代表色情報の再抽出処理では、４分割以降の分割で生成された領域を元の領域にマージして代表色を再抽出する処理を行っている。この処理を行うためには、４分割以降の分割で新たに生成された領域と、その分割対象となった元の領域とを関連付ける情報が必要となる。すなわち、図１１（ａ）及び図１２（ａ）に表す例では、領域１を分割し、領域１と領域５が生成されているので、領域５が新たに生成された領域で、領域１が分割対象となった元の領域となる。上記情報を圧縮データ内に持たせるために、各領域から生成される代表色のインデックス番号の割り当てに以下の規則を適用する。
【００６０】
規則１
領域          インデックス
領域ｎ代表色：      ０００
領域ｍ代表色：      ００１
領域ａ代表色：      ０１０
領域ｂ代表色：      ０１１
領域５代表色：      １００
領域６代表色：      １０１
領域ｎ：４回目分割処理時に分割対象となった領域
領域ｍ：５回目分割処理時に分割対象となった領域
領域５：４回目分割処理時に新たに生成された領域
領域６：５回目分割処理時に新たに生成された領域
領域ａ，ｂ：領域ｎ，ｍ，５，６以外の領域
【００６１】
ここで、図１３に示すように、４回目の分割で領域１が分割対象となり、新たに領域５が生成され、５回目の分割で領域５が分割対象となり、新たに領域６が生成される場合、領域ｍ＝５となるため、規則１に示すインデックスの割り当て方法は適用できない。また、図１３において、５回目の分割で領域１が分割対象となる場合も、同様に規則１を適用できない。上記のように、５回目の分割で、領域ｎまたは領域５が分割対象となる場合、規則１が適用できなくなるので、この場合は、インデックス番号の割り当てに以下の規則を適用する。
【００６２】
規則２
領域          インデックス
領域ｎ代表色：      ０００
領域ａ代表色：      ００１
領域ｂ代表色：      ０１０
領域ｃ代表色：      ０１１
領域５代表色：      １１０
領域６代表色：      １１１
領域ｎ：４回目分割処理時に分割対象となった領域
領域５：４回目分割処理時に新たに生成された領域
領域６：５回目分割処理時に新たに生成された領域
領域ａ，ｂ，ｃ：領域ｎ，５，６以外の領域
【００６３】
このように、規則１又は規則２に従ってインデックスを割り当てることにより、代表色の再抽出処理時に、どの代表色をどの代表色にマージすればよいかを容易に判別することが可能となる。つまり、規則１に従ってインデックス割り当てがされている場合、インデックス１００の代表色をインデックス０００の代表色にマージし、インデックス１０１の代表色をインデックス００１の代表色にマージすることになる。また、規則２に従ってインデックス割り当てがされている場合、インデックス０００、１１０、１１１の代表色をマージすることになる。従って、代表色の再抽出処理時に、手順１（ピクセル数のカウント）の段階で、位置情報の中にインデックス１１０、１１１が含まれるか否かにより、規則１又は規則２のどちらに従ってインデックス割り当てがなされたかを容易に判別することができる。
【００６４】
以上説明したように、画像データの代表色圧縮において、代表色数がＮ色の圧縮処理を行う際に、代表色数をＭ色（Ｎ＞Ｍ）に減らすことによる画質の低下を示す画質評価値を算出し、その画質評価値と閾値との比較結果により、画質の低下がそれほど見込まれないと判断できる場合には、代表色数がＮ色の圧縮データをＭ色に再圧縮することにより、画質の低下を抑えつつ、更に高い圧縮率を得ることができる。また、代表色数がＮ色の圧縮データから直接、Ｍ色の圧縮データを作成するため、元の非圧縮の画像データを保持する必要がなくなり、メモリを効率的に利用することができる。
【実施例２】
【００６５】
次に、本発明の第２の実施例に係る画像処理装置及び画像処理方法について説明する。
【００６６】
前記した第１の実施例では、１回目の圧縮処理でＮ色の代表色圧縮を行い、この処理が完了した後、Ｍ色（Ｎ＞Ｍ）への再圧縮が可能であると判断された場合、Ｎ色圧縮データをＭ色圧縮データに変換する処理を行ったが、１回目の圧縮処理でＭ色の代表色圧縮を行うこともできる。
【００６７】
この場合、Ｍ色の代表色圧縮を行う際に、画質評価値を算出し、Ｍ色の代表色圧縮処理が完了した後、画質評価指標に基づいてＭ色圧縮データの画質を評価し、画質の低下が大きいと判断した場合は、Ｍ色圧縮データを破棄し、再度、Ｎ色（Ｎ＞Ｍ）の代表色圧縮を行う。また、画質の低下が小さいと判断した場合、１回目のＭ色圧縮データを最終圧縮データとする。
【００６８】
この構成でも、Ｍ色の代表色圧縮処理の際に生成した画質評価指標を用いて、Ｍ色圧縮データの画質を適切に評価することができるため、画質の低下を抑制することができる。また、先に代表色数の少ない圧縮データを生成するため、圧縮前の画像に含まれる色数が少ない場合や、非常に単調な画像である場合など、少ない代表色数による圧縮でも画質の低下を起こさないような場合には、圧縮データを生成するまでに要する時間を短縮することができる。
【実施例３】
【００６９】
次に、本発明の第３の実施例に係る画像処理装置及び画像処理方法について説明する。  
【００７０】
前記した第１の実施例では、１回目の圧縮処理でＮ色圧縮データを一旦、メインメモリ２０に書き戻し、Ｎ色圧縮データをＭ色（Ｎ＞Ｍ）圧縮データに変換する場合、メインメモリ２０上のＮ色圧縮データを再度、変換モジュール７０に入力したが、画像処理装置がローカルメモリを備える場合は、最初のＮ色圧縮データをメインメモリ２０に書き戻さず、ローカルメモリに格納することもできる。
【００７１】
この場合、画像処理装置内で再圧縮の可否を判断し、再圧縮が可能であると判断した場合、ローカルメモリ上のＮ色圧縮データを変換モジュール７０に入力し、変換モジュール７０でＭ色圧縮データに変換してメインメモリ２０に書き戻す。また、再圧縮が不可と判断した場合、ローカルメモリ上のＮ色圧縮データをそのままメインメモリ２０に書き戻す。これにより、メインメモリ２０に書き込む処理は１回となるため、圧縮処理における制御部の処理を簡略化することができる。
【００７２】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りおいて、その構成や制御は適宜変更可能である。
【００７３】
例えば、上記各実施例では、Ｎを６、Ｍを４とする場合について記載したが、ＮとＭは、Ｎ＞Ｍの関係を満たす正数であれば、任意に設定することができる。
【産業上の利用可能性】
【００７４】
本発明は、圧縮した画像を利用する装置、例えば、プリンタやスキャナ、複合機などに利用可能である。
【符号の説明】
【００７５】
１０  ＣＰＵ
２０  メインメモリ
３０  画像入力部
４０  バス
５０  画像処理部
６０  圧縮モジュール
６１  入力バッファ
６２  代表色抽出回路
６３  ピクセル評価回路
６４  ワークメモリ
６４ａ  代表色情報
６４ｂ  位置情報
６５  画質評価指標算出回路
６６  代表色数Ｎ設定レジスタ
６７  代表色数Ｍ設定レジスタ
６８  出力バッファ
７０  変換モジュール
７１  入力バッファ
７２  代表色抽出回路
７３  位置情報変換回路
７４  ワークメモリ
７４ａ  代表色情報
７４ｂ  位置情報
７５  代表色数Ｎ設定レジスタ
７６  代表色数Ｍ設定レジスタ
７７  出力バッファ
８０  入力画像データ
８１  Ｎ色圧縮データ
８２  ブロック画質評価指標
８３  ページ画質評価指標
８４  Ｍ色圧縮データ
【図１】
2014003484.tif 000003
【図２】
2014003484.tif 000004
【図３】
2014003484.tif 000005
【図４】
2014003484.tif 000006
【図５】
2014003484.tif 000007
【図６】
2014003484.tif 000008
【図７】
2014003484.tif 000009
【図８】
2014003484.tif 000010
【図９】
2014003484.tif 000011
【図１０】
2014003484.tif 000012
【図１１】
2014003484.tif 000013
【図１２】
2014003484.tif 000014
【図１３】
2014003484.tif 000015