(57)【特許請求の範囲】
【請求項１】
圧縮対象の画像データの入力を受けて、前記圧縮対象の画像データに対して所定の圧縮処理を施す前に、前記圧縮処理の処理内容に基づいて前記圧縮対象の画像データを複数のプレーン画像データに分離する分離手段と、
前記複数のプレーン画像データのうち少なくとも１つのプレーン画像データに対して前記圧縮処理を施す圧縮処理手段と、
前記圧縮対象の画像データから注目ピクセルを順次選択し、当該注目ピクセルが他のピクセルから予測可能か否かを判断する予測手段と、
前記圧縮対象の画像データに対して拡大または縮小を行って解像度を変換し、該解像度変換後の画像データを構成する各ピクセルの値を補間する拡縮補間手段と、
を備え、
前記分離手段は、前記予測手段で予測された予測可能か否かの情報と、前記拡縮補間手段で補間された各ピクセルの値とに基づいて前記圧縮対象の画像データを第１プレーンの画像データと第２プレーンの画像データとに分離し、
前記圧縮処理手段は、前記圧縮処理として、少なくとも前記第１プレーンの画像データに対して予測符号化による圧縮処理を行う、
ことを特徴とする画像処理装置。
【請求項２】
圧縮対象の画像データの入力を受けて、前記圧縮対象の画像データに対して所定の圧縮処理を施す前に、前記圧縮処理の処理内容に基づいて前記圧縮対象の画像データを複数のプレーン画像データに分離する分離手段と、
前記複数のプレーン画像データのうち少なくとも１つのプレーン画像データに対して前記圧縮処理を施す圧縮処理手段と、
前記圧縮対象の画像データから注目ピクセルを順次選択し、既に注目ピクセルとして選択されたピクセルから当該注目ピクセルが予測できるか否かを判断する前進的予測、及びまだ注目ピクセルとして選択されていないピクセルから当該注目ピクセルが予測できるか否かを判断する後進的予測を実行する予測手段と、
前記圧縮対象の画像データに対して拡大または縮小を行って解像度を変換し、該解像度変換後の画像データを構成する各ピクセルの値を前記圧縮対象の画像データの画像サイズに応じて補間し、補間画像データとして出力する拡縮補間手段と、
を備え、
前記分離手段は、
前記圧縮対象の画像データから注目ピクセルを順次選択し、注目ピクセルの画素値と、該注目ピクセルに対応する前記補間画像データのピクセルの画素値とを比較することで該注目ピクセルがエッジ部分か否かを判定し、該エッジ判定結果あるいは／および、前記予測手段での前進的予測あるいは後進的予測の判断結果に基づいて、前記圧縮対象の画像データの各ピクセルが属するプレーンが第１プレーンか第２プレーンかを決定し、その決定結果に基づいて前記圧縮対象の画像データを第１プレーンの画像データと第２プレーンの画像データとに分離し、
前記圧縮処理手段は、前記圧縮処理として、少なくとも前記第１プレーンの画像データに対して予測符号化による圧縮処理を行う、
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記分離手段は、
前回の注目ピクセルが第２プレーンに属する場合であって、今回の注目ピクセルが、エッジ部分であり、当該今回の注目ピクセルに対する前進的予測あるいは後進的予測の判断結果が予測可能である場合には、当該今回の注目ピクセルを第１プレーンに属すると決定し、
前回の注目ピクセルが第２プレーンに属する場合であって、今回の注目ピクセルに対する前進的予測および後進的予測の判断結果が予測不能である場合には、当該今回の注目ピクセルがエッジ部分であるか否かに拘わらず、当該今回の注目ピクセルを第２プレーンに属すると決定し、
前回の注目ピクセルが第１プレーンに属する場合であって、今回の注目ピクセルに対する前進的予測の判断結果が予測可能である場合には、当該今回の注目ピクセルがエッジ部分であるか否かに拘わらず、当該今回の注目ピクセルを第１プレーンに属すると決定し、
前回の注目ピクセルが第１プレーンに属する場合であって、今回の注目ピクセルが、エッジ部分であって、かつ当該今回の注目ピクセルに対する後進的予測の判断結果が予測可能である場合には、当該今回の注目ピクセルを第１プレーンに属すると決定する、
ことを特徴とする画像処理装置。
【請求項４】
請求項２または３に記載の画像処理装置において、
前記分離手段は、注目ピクセルの画素値と、該注目ピクセルに対応する前記補間画像データのピクセルの画素値との差分が予め定められたしきい値以上の場合には、該注目ピクセルがエッジ部分であると判断する、
ことを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれか１つに記載の画像処理装置において、
前記圧縮処理手段は、前記圧縮処理として、前記第２プレーンの画像データに対してＪＰＥＧ符号化による圧縮処理を行う、
ことを特徴とする画像処理装置。
【請求項６】
請求項１乃至４のいずれか１つに記載の画像処理装置において、
前記圧縮処理手段は、前記圧縮処理として、前記第２プレーンの画像データに対して縮小処理を行った後ＪＰＥＧ符号化による圧縮処理を行う、
ことを特徴とする画像処理装置。
【請求項７】
コンピュータを画像処理装置として機能させるための画像処理プログラムであって、
前記コンピュータを
圧縮対象の画像データの入力を受けて、前記圧縮対象の画像データに対して所定の圧縮処理を施す前に、前記圧縮処理の処理内容に基づいて前記圧縮対象の画像データを複数のプレーン画像データに分離する分離手段と、
前記複数のプレーン画像データのうち少なくとも１つのプレーン画像データに対して前記圧縮処理を施す圧縮処理手段と、
前記圧縮対象の画像データから注目ピクセルを順次選択し、当該注目ピクセルが他のピクセルから予測可能か否かを判断する予測手段と、
前記圧縮対象の画像データに対して拡大または縮小を行って解像度を変換し、該解像度変換後の画像データを構成する各ピクセルの値を補間する拡縮補間手段と、
して機能させ、
前記分離手段は、前記予測手段で予測された予測可能か否かの情報と、前記拡縮補間手段で補間された各ピクセルの値とに基づいて前記圧縮対象の画像データを第１プレーンの画像データと第２プレーンの画像データとに分離する手段であり、
前記圧縮処理手段は、前記圧縮処理として、少なくとも前記第１プレーンの画像データに対して予測符号化による圧縮処理を行う手段である、
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの圧縮処理を行う画像処理装置及び画像処理プログラムに関する。
【０００２】
【従来の技術】
画像データを取り扱う装置においては、データ伝送の負荷を軽減したり、データの蓄積容量を低減するなどの目的から、画像データを圧縮することが広く行われている。画像データを効率良く圧縮するには、画像データの性状に合わせた圧縮方式や圧縮パラメータの選定が重要である。例えば、自然画など空間周波数成分が比較的低周波になる画像の場合はＪＰＥＧ（Joint Picture Experts Group）圧縮方式が適しており、文字等が連続する部分にはランレングス圧縮が適している。
【０００３】
一方画像データの多くは自然画のみ、テキストのみといった単一の性状の部分からなるのではなく、自然画とテキストとが配置された、複合的なものであることが多い。そのため、全体的に一様な圧縮処理を行うと圧縮効率が低下したり、画質が劣化したりすることがある。例えば、自然画とテキストとを含む画像データを、ＪＰＥＧを利用して圧縮処理すると自然画部分については適切な圧縮を行うことができるものの、テキスト部分の画質が劣化したり圧縮率が低下したりする。
【０００４】
そこで、画像データを自然画部分のプレーンとテキスト部分のプレーンとに分離し、各プレーンについて、それぞれ適切な圧縮処理を施すという技術がある。この場合に、プレーンへの分離は、エッジ検出や限定色の有無によってテキストの領域を判別するもの等がある。これらの例としては、例えば特開平７−２３６０６２号公報等に開示された技術がある。さらに、符号化の結果に基づきプレーンへの分離を行う技術が特開平１１−１６８６３３号公報に開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記従来の画像処理技術では、プレーンへの分離に際して圧縮処理とは無関係な処理が利用されたり、符号化の処理を繰り返して行うなど、処理全体に掛かる負荷が増大してしまう。その一方で、分離処理の結果も必ずしも適切なものとはならず、圧縮処理の改善に対する負荷の増大量が見合っていないという問題点がある。
【０００６】
本発明は上記実情に鑑みて為されたもので、少ない処理負荷で、圧縮処理を十分向上できる画像処理装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記従来例の問題点を解決するための本発明は、多段階の処理により画像データを圧縮処理する画像処理装置であって、前段側の処理の結果を利用して画像データを複数のプレーンに分離する分離手段と、前記プレーンに分離された画像データに対して、前記前段側の処理の結果を利用して、それぞれ後段側の処理を行う手段と、を含むことを特徴としている。
【０００８】
ここで、前記後段側の処理を行う手段は、各プレーンごとに互いに異なる処理を選択的に適用することとするのも好ましい。また、前記後段側の処理を行う手段は、各プレーンごとに互いに異なる処理パラメータを用いた処理を適用することとするのも好ましい。
【０００９】
また、本発明のある態様によれば、画像処理装置は、圧縮対象の画像データの入力を受けて、前記圧縮対象の画像データに対して所定の圧縮処理を施す前に、前記圧縮処理の処理内容に基づいて前記圧縮対象の画像データを複数のプレーン画像データに分離する分離手段と、前記複数のプレーン画像データのうち少なくとも１つのプレーン画像データに対して前記圧縮処理を施す圧縮処理手段と、前記圧縮対象の画像データから注目ピクセルを順次選択し、当該注目ピクセルが他のピクセルから予測可能か否かを判断する予測手段と、前記圧縮対象の画像データに対して拡大または縮小を行って解像度を変換し、該解像度変換後の画像データを構成する各ピクセルの値を補間する拡縮補間手段と、を備え、前記分離手段は、前記予測手段で予測された予測可能か否かの情報と、前記拡縮補間手段で補間された各ピクセルの値とに基づいて前記圧縮対象の画像データを第１プレーンの画像データと第２プレーンの画像データとに分離し、前記圧縮処理手段は、前記圧縮処理として、少なくとも前記第１プレーンの画像データに対して予測符号化による圧縮処理を行うことを特徴とする。
さらに、本発明に係る画像処理装置のある態様によれば、画像処理装置は、圧縮対象の画像データの入力を受けて、前記圧縮対象の画像データに対して所定の圧縮処理を施す前に、前記圧縮処理の処理内容に基づいて前記圧縮対象の画像データを複数のプレーン画像データに分離する分離手段と、前記複数のプレーン画像データのうち少なくとも１つのプレーン画像データに対して前記圧縮処理を施す圧縮処理手段と、前記圧縮対象の画像データから注目ピクセルを順次選択し、既に注目ピクセルとして選択されたピクセルから当該注目ピクセルが予測できるか否かを判断する前進的予測、及びまだ注目ピクセルとして選択されていないピクセルから当該注目ピクセルが予測できるか否かを判断する後進的予測を実行する予測手段と、前記圧縮対象の画像データに対して拡大または縮小を行って解像度を変換し、該解像度変換後の画像データを構成する各ピクセルの値を前記圧縮対象の画像データの画像サイズに応じて補間し、補間画像データとして出力する拡縮補間手段と、を備え、前記分離手段は、前記圧縮対象の画像データから注目ピクセルを順次選択し、注目ピクセルの画素値と、該注目ピクセルに対応する前記補間画像データのピクセルの画素値とを比較することで該注目ピクセルがエッジ部分か否かを判定し、該エッジ判定結果あるいは／および、前記予測手段での前進的予測あるいは後進的予測の判断結果に基づいて、前記圧縮対象の画像データの各ピクセルが属するプレーンが第１プレーンか第２プレーンかを決定し、その決定結果に基づいて前記圧縮対象の画像データを第１プレーンの画像データと第２プレーンの画像データとに分離し、前記圧縮処理手段は、前記圧縮処理として、少なくとも前記第１プレーンの画像データに対して予測符号化による圧縮処理を行うことを特徴とする。
【００１０】
また、本発明の別の態様によれば、空間周波数成分への変換を利用して画像データを圧縮処理する画像処理装置であって、画像データを空間周波数成分へ変換する手段と、前記空間周波数成分への変換の結果に基づき、画像データを複数のプレーンに分離する分離手段と、前記複数のプレーンの少なくとも一つに対し、前記空間周波数成分への変換結果を利用した圧縮処理を適用する手段と、を含むこととした。
【００１１】
本発明のさらに別の態様によれば、データのパターンの繰り返し性を利用して画像データを圧縮処理する画像処理装置であって、画像データに対するパターンマッチングを実行する手段と、前記パターンマッチングの結果に基づき、画像データを複数のプレーンに分離する分離手段と、前記複数のプレーンの少なくとも一つに対し、パターンの繰り返し性を利用した圧縮処理を適用する手段と、を含むこととした。
【００１２】
また、上記従来例の問題点を解決するための本発明は、多段階の処理により圧縮された画像データを生成する方法であって、前段側の処理の結果を利用して画像データを複数のプレーンに分離する工程と、前記プレーンに分離された画像データに対して、前記前段側の処理の結果を利用して、それぞれ後段側の処理を行う工程と、を含むことを特徴としている。
【００１３】
さらに、上記従来例の問題点を解決するための本発明は、コンピュータを用い、多段階の処理により画像データを圧縮処理するプログラムであって、前段側の処理の結果を利用して画像データを複数のプレーンに分離する手順と、前記プレーンに分離された画像データに対して、前記前段側の処理の結果を利用して、それぞれ後段側の処理を行う手順と、をコンピュータに実行させることを特徴としている。
【００１４】
【発明の実施の形態】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る画像処理装置は一般的なコンピュータであり、図１に示すように、ＣＰＵ１と、記憶部２と、ハードディスク３と、入出力インタフェース４とを含んで構成される。ＣＰＵ１は、ハードディスク３に格納されているプログラムを実行しており、それにより本発明の各手段を実現するものである。このＣＰＵ１の具体的な処理内容については、後に詳しく説明する。記憶部２は、ＣＰＵ１のワークメモリとして動作している。ハードディスク３は、ＣＰＵ１によって実行されるプログラムが格納されている。入出力インタフェース４は、外部から入力される画像データやユーザの指示をＣＰＵ１に出力する。また、ＣＰＵ１から入力される指示に従い、圧縮処理された画像データを外部に出力する。
【００１５】
次に、ハードディスク３に格納され、ＣＰＵ１によって実行される画像処理のプログラムについて説明する。この画像処理のプログラムは、例えば図２に示すように、画像分離部１１と、圧縮処理部１２とから基本的に構成され、圧縮処理部１２は、前段処理部１３と後段処理部１４とを含む。前段処理部１３は、入力される画像データに対し、圧縮の前段階の処理を実行し、その結果を画像分離部１１に出力する。画像分離部１１は、入力される画像データを複数のプレーンに分離し、各プレーンごとの画像データを生成して圧縮処理部１２の後段処理部１４に出力する。後段処理部１４は、入力される複数のプレーンの画像データに所定処理を実行して圧縮画像データを生成する。なお、すべてのプレーンの画像データについて必ずしも圧縮処理を実行しなければならないものではなく、少なくとも１つのプレーンの画像データについて圧縮処理がされていればよい。
【００１６】
本実施の形態においては、この圧縮の処理として様々な圧縮方法を用いることができる。以下、具体的に予測符号化を用いる場合を例として説明する。
【００１７】
［予測符号化を用いる圧縮処理プログラム］
予測符号化を用いる圧縮処理プログラムは、その具体的な機能ブロックとしては、図３に示すように、縮拡補間部２１と、画素値予測部２２と、判定部２３と、画像分離部２４と、縮小処理部２５と、ＪＰＥＧ符号化部２６と、予測符号化部２７と、符号出力部２８とを含んでなる。ここで、縮拡補間部２１と画素値予測部２２とが行う処理が本発明の前段側の処理に相当し、縮小処理部２５及びＪＰＥＧ符号化部２６と、予測符号化部２７とが行う処理が本発明の後段側の処理に相当する。
【００１８】
縮拡補間部２１は、処理対象となった画像データの入力を受けて、当該画像データの縮小又は拡大処理を行って解像度を変換し、解像度変換後の画像データの各ピクセルの値を４点線形補間法（バイリニア補間法）により得て補間画像データとして出力する。画素値予測部２２は、処理対象となった画像データの入力を受けて、当該画像データの各ピクセルを注目ピクセルとして順次選択し、選択した注目ピクセルの各々について、予測の可否を判断する。そして画像データを構成する各ピクセルの予測可否の情報を、予測可否情報として出力する。ここで予測の可否としては、例えば注目ピクセルの値を当該注目ピクセルの周辺画素の値から予測できるか否かの判断結果等がある。より詳しくは、注目ピクセルが、その周囲のピクセルのうち、既に選択した（過去に注目ピクセルとして）ピクセルから予測できるか否か（前進的予測の可否（isPredictable））と、これから選択しようとする（後に注目ピクセルとして選択される）ピクセルから予測できるか否か（後進的予測の可否（isBackwardPredictable））とをそれぞれ判断し、これら前進的予測の可否と、後進的予測の可否とを予測可否の情報とする。
【００１９】
判定部２３は、縮拡補間部２１と画素値予測部２２とからそれぞれ、解像度変換後の画像データの各ピクセルの値及び、各ピクセルについての予測の可否の情報の入力を受けて、これらに基づき、所定の条件によって各ピクセルの属するべきプレーンを決定する情報（プレーン指定情報）を生成する。ここでの所定の条件の具体的な例は、後に詳しく述べる。またここでは、この判定部２３が出力するプレーン指定情報は、後にＪＰＥＧ符号化を行うべき第１プレーンと、予測符号化を行うべき第２プレーンとのいずれに属するかを示すもので、例えば画像データと同一サイズで、深さ（１ピクセルあたりのビット数）が「１」であるようなマスク画像データであって、第１プレーンに属するべきピクセルに相当するピクセルが「１」、第２プレーンに属するべきピクセルに相当するピクセルが「０」となっているようなマスク画像データとすることができる。
【００２０】
画像分離部２４は、判定部２３が出力するプレーン指定情報に基づき、画像データを構成する各ピクセルを、縮小処理部２５と、予測符号化部２７とのいずれかに選択的に出力する。具体的にこの画像分離部２４は、次の手順で、予測符号化部２７で処理されるべき画像データ（第１プレーンの画像データ）と、縮小処理部２５で処理されるべき画像データ（第２プレーンの画像データ）とをそれぞれ生成する。
【００２１】
すなわち画像分離部２４は、入力される画像データと同じサイズの画像データを記憶する領域を２つ確保する。これら２つのうち一方が第１プレーンの画像データ、他方が第２プレーンの画像データとなる。そして画像分離部２４は入力される画像データの各ピクセルを順次選択し、当該選択したピクセルの値を設定値として取得する。そして、当該ピクセルに対応する、マスク画像データ上のピクセルの値を参照する。そしてそれが「０」となっているときは第１プレーンの画像データ上の対応するピクセルの値を、上記設定値にする。また、マスク画像データ上の対応するピクセルが「１」となっているときには第２プレーンの画像データ上の対応するピクセルの値を、上記設定値にする。従って、第１プレーンの画像データに含まれるピクセルのうち、マスク画像データ上でピクセル値が「１」となっている領域に相当する部分は、領域確保の際に初期化された値のままとなる。このような部分を以下、「無効な（don't care）」ピクセルと呼ぶ。第２プレーンの画像データに含まれるピクセルのうち、マスク画像データ上でピクセル値が「０」となっている領域に相当する部分に位置するものも同様である。
【００２２】
こうしてマスク画像データ上でピクセルの値が「０」となっている領域に相当する画像部分を含んでなる第１プレーンの画像データと、マスク画像データ上でピクセルの値が「１」となっている領域に相当する画像部分を含んでなる第２プレーンの画像データとが生成され、これらが縮小処理部２５と予測符号化部２７とでそれぞれ利用される。
【００２３】
縮小処理部２５は、第２プレーンの画像データを縮小処理し、解像度の変換を行う。ここで行われる縮小処理は、縮拡補間部２１にて行われる縮小処理と同じものである。ＪＰＥＧ符号化部２６は、縮小処理された画像データに対してＪＰＥＧ符号化の処理を行って、当該画像データを圧縮処理して出力する。
【００２４】
予測符号化部２７は、第１プレーンの画像データを予測符号化を利用して圧縮処理し、当該圧縮処理の結果を出力する。符号出力部２８は、ＪＰＥＧ符号化部２６から入力される圧縮処理の結果と、予測符号化部２７から入力される圧縮処理の結果とを含んでなる圧縮画像データを生成して、ハードディスク３等に書き込み、又は入出力インタフェース４を介して外部に出力する。これら各部の処理は、具体的にはＣＰＵ１によって実行される。
【００２５】
ここで判定部２３において、各ピクセルの属するべきプレーンを決定するときの具体的な条件の例について説明する。判定部２３は、図４に示すような処理により実現され、この処理によりプレーンが決定される。ＣＰＵ１は、この判定部２３の処理を開始すると、まず直前に処理したピクセルがどちらのプレーンに属しているかを表す情報（直前情報）を初期化して、予め定めた値（例えば「第１プレーン」）とする（Ｓ１）。また、入力された画像データと同じサイズで深さが１であるようなマスク画像データを生成して記憶部２に格納する。次に、入力される画像データからピクセルを順次選択する（Ｓ２）。なお、ここでピクセル選択の順序は、画素値予測部２２の処理にて注目ピクセルを選択した順序と同じ順序とする。
【００２６】
次にＣＰＵ１は、この選択したピクセルの値と、補間画像データ上の対応するピクセルの値とを比較し、その差が予め定められたしきい値を下回っているか否かを表すブーリアン値をギャップ情報（isGap）として生成する（Ｓ３）。そして直前に処理したピクセルが属するべきプレーンとして記憶されている情報（直前情報）が、「第１プレーン」と「第２プレーン」とのどちらであるかを判断し（Ｓ４）、「第１プレーン」であるときには、上記所定の条件として、処理Ｓ３にて生成したギャップ情報（isGap）と、当該選択したピクセルについての前進的予測の可否（isPredictable）及び後進的予測の可否（isBackwardPredictable）とを用い、
isPredictable || (isGap && isBackwardPredictable)
のブーリアン値を演算して、これが真（true）であるか偽（false）であるかを調べる（Ｓ５）。ここで、記号「||」は、オアを、「&&」は、アンドをそれぞれ意味し、括弧は先に演算することを示す。これらの記号の表記法は、Ｃ言語などの表記法として広く用いられているものである。
【００２７】
ＣＰＵ１は、処理Ｓ５において演算したブーリアン値が真（true）であれば、選択したピクセルの属するべきプレーンを「第１プレーン」と判定して、マスク画像データの対応するピクセルを「１」とし、直前情報を「第１プレーン」とする（Ｓ６）。また処理Ｓ５において演算したブーリアン値が偽（false）であれば、選択したピクセルの属するべきプレーンを「第２プレーン」と判定して、マスク画像データの対応するピクセルを「０」とし、直前情報を「第２プレーン」とする（Ｓ７）。こうして処理Ｓ６又はＳ７によって選択したピクセルについて属するべきプレーンを判定した後、さらに選択していないピクセルがあるか否かを調べ（Ｓ８）、選択していないピクセルがある場合（Ｙｅｓの場合）には、当該ピクセルを選択するよう、処理Ｓ２へ戻って処理を続ける（Ｂ）。また、選択していないピクセルがない場合（Ｎｏの場合）には、記憶部２に格納されているマスク画像データをプレーン指定情報として出力し、処理を終了する。
【００２８】
また、処理Ｓ４において、直前情報が「第２プレーン」であった場合は、ＣＰＵ１は上記所定の条件として、処理Ｓ３にて生成したギャップ情報（isGap）と、当該選択したピクセルについての前進的予測の可否（isPredictable）及び後進的予測の可否（isBackwardPredictable）とを用い、
isGap && (isPredictable || isBackwardPredictable)
のブーリアン値を演算して、これが真（true）であるか偽（false）であるかを調べる（Ｓ９）。そしてその値が真（true）であれば、処理Ｓ６に移行する。また、処理Ｓ９において、その値が偽（false）であれば、処理Ｓ７に移行する（Ａ）。
【００２９】
このように本実施の形態におけるプレーンの判定部２３の処理は、直前に処理したピクセルが第２プレーンに属する場合、ギャップ情報が真（true）（これは画像データ上で、当該ピクセルがエッジ部分に相当する場合に相当する）であっても、予測可能であれば当該ピクセルを第１プレーンに属するものと判定し、ギャップ情報が真（true）であっても予測不能であれば当該ピクセルは第２プレーンに属するものと判定するものである。また、直前に処理したピクセルが第１プレーンに属する場合、既に処理したピクセル（そのうち、第１プレーンに属するものとするのも好ましい）に基づいて予測可能であれば、そのまま当該ピクセルを第１プレーンに属するものと判定し、またギャップ情報が真（true）で、かつ後で処理するピクセルに基づいて予測可能であれば、第１プレーンに属するものと判定する。後者のようにするのは、当該ピクセルが第１プレーンに属するべきピクセル集合の端（左上端など）に位置するものと判断されるからである。なお、ここで示した処理Ｓ５や処理Ｓ９にて行われる論理演算、及びそこに現れるブーリアン値は、実施上の一例であり、他の値や演算を用いても構わない。
【００３０】
本実施の形態における判定部２３の処理において特徴的なことは、直前のピクセルの判定結果を利用していることである。これにより、マスク画像データに孤立点が多発して、マスク画像データの圧縮効率を低減させてしまうといった弊害が防止される。
【００３１】
［判定部２３における判定の条件の他の例］
また、ここでは縮拡補間部２１から入力される補間画像データと入力された画像データとを基に演算されるギャップ情報に加え、予測可能か否かの情報をも利用して各ピクセルの属するべきプレーンを判定しているが、ギャップ情報のみを用いて、ギャップ情報が予め定められたしきい値以上であれば、当該ピクセルを第１プレーンに、ギャップ情報がしきい値を下回っていれば、当該ピクセルを第２プレーンに属するものと判定するといった簡便な処理としてもよい。これは、縮拡補間による劣化が大きいものについては予測符号化を利用するとした判定の処理である。同様に、予測可能性のみを用いて各ピクセルの属するべきプレーンを判定するようにしてもよい。
【００３２】
［動作］
次に、本実施の形態に係る画像処理装置の動作について説明する。入力された画像データについて、ＣＰＵ１が縮拡補間の処理を実行し、補間画像データを記憶部２に格納する。またＣＰＵ１は、入力された画像データに対して各ピクセルが前進的に、又は後進的に予測可能であるか否かを調べ、各ピクセルごとに前進的予測可能性と、後進的予測可能性とを関連づけた情報を記憶部２に格納する。
【００３３】
ＣＰＵ１は、例えば図４に示した処理を実行して、各ピクセルごとに第１、第２のプレーンのどちらに属するべきかを表すプレーン指定情報を生成し、記憶部２に格納する。このプレーン指定情報は、ここでは例えばマスク画像データとして実現される。ＣＰＵ１は、入力される画像データにマスク画像データを適用して、マスク画像データ上で「１」となっているピクセルに対応する、入力画像データのピクセル集合からなる第１プレーンの画像データと、マスク画像データ上で「０」となっているピクセルに対応する、入力画像データのピクセル集合からなる第２プレーンの画像データとに分離して、それぞれの画像データを記憶部２に格納する。
【００３４】
具体的に、図５に示すような、自然画部分Ｎとテキスト画像部分Ｔとを含んだ入力画像データＩＮからは、予測符号化に供されるべき第１プレーンの画像データＰ１と、ＪＰＥＧ符号化に供されるべき第２プレーンの画像データＰ２と、各ピクセルがどちらのプレーンに属するかを示すマスク画像データＭとが生成される。なお、図５に示したマスク画像データＭは、通常ならば、自然画の輪郭線で囲まれた領域だけが黒（０）となるのに対し、ここでは上述の処理の結果として、どちらのプレーンに属するかの判断で、直前のピクセルの状態が利用されることに応じて、輪郭線よりも図面上右側（ピクセルの走査方向）に黒（０）の領域が連続しているように図示されている。
【００３５】
そしてＣＰＵ１は、第１プレーンの画像データについては予測符号化処理を実行し、その結果を記憶部２に格納する。一方、第２プレーンの画像データについては、縮小処理し、さらにＪＰＥＧ符号化して、記憶部２に格納する。ＣＰＵ１は、こうして予測符号化された画像データとＪＰＥＧ符号化後の画像データと、マスク画像データとを合成して出力する。なお、マスク画像データについては、ランレングス圧縮などの圧縮処理を行うのも好ましい。
【００３６】
ここで縮拡補間の処理と、予測可能であるか否かを調べる処理とはそれぞれ、後段側の処理である縮小処理と、予測符号化の処理を行うに際して利用される情報を得るための処理である。このように本実施の形態では、元来必要とされる処理の結果が画像データのプレーンへの分離処理に利用されるため、画像データの圧縮処理全体としての負荷の増大は少なくて済み、しかもプレーンへの分離を達成して圧縮処理を十分向上できる。また、縮拡補間の処理の結果を縮小処理部２５における処理に利用してもよいし、画素値予測部２２の処理結果を予測符号化部２７における処理に利用してもよい。
【００３７】
なお、このようにして圧縮処理された画像データに対しては、第１プレーンの画像データを圧縮した部分に対して予測符号化に対応する復号の処理を行い、第２プレーンの画像データを圧縮した部分に対してＪＰＥＧ符号化に対応する復号の処理と、縮小処理に対応する拡大処理とを行う。そして、マスク画像データを用いて（これが符号化されているときには、復号して用いる）、復号した各プレーンの画像データを合成し、元の画像データを再現する。
【００３８】
［予測符号化に先立つ処理］
ここでＣＰＵ１の予測符号化部２７の処理として、予測符号化に先立ち、次の処理を行っておくのも好ましい。すなわち、ＣＰＵ１は、第１プレーンの画像データを予測符号化するために、当該画像データの各ピクセルを順次選択していくときに、直前に選択したピクセルと現在選択しているピクセルとの間で、その値の差が所定のしきい値より小さい場合には、現在選択しているピクセルの値を、直前に選択したピクセルの値と同じにする。この場合において、画質劣化を防止するためには、ＭＴＦ（Move-to-Front）の評価（どれだけ前に同じ値のピクセルを処理したかで圧縮するための評価）や、誤差拡散などの処理を行うことが好ましいが、簡易処理とするのであれば、これらの処理は必ずしも必要でない。
【００３９】
［空間周波数成分への変換を利用する圧縮処理プログラム］
ここまでの説明では圧縮方法として、予測符号化を利用する場合を例として説明したが、この他にも、空間周波数成分への変換を利用する場合や、データのパターンの繰り返し性を利用する場合等についても同様の処理を行うことができるので、以下、そのような圧縮処理を行う例について説明する。
【００４０】
まず、空間周波数成分への変換を利用する場合について述べる。この場合にＣＰＵ１が実行すべきプログラムは、図６に示すように、ＤＣＴ処理部３１と、判定部３２と、画像分離部３３と、ＪＰＥＧ符号化部３４と、ＬＺ（Lampel-Ziv）符号化部３５と、符号出力部３６とを含んで構成される。
【００４１】
ＤＣＴ（離散コサイン変換）処理部３１は、入力された画像データを例えば８×８の画素ブロックに分割し、各画素ブロックごとの空間周波数成分を演算する。判定部３２は、ＤＣＴ処理部３１から入力される空間周波数成分の情報から、所定高周波成分の強度を演算し、この強度が予め定められたしきい値より小さい場合は、当該画素ブロックに属するピクセルを第１プレーンに属するべきピクセルとし、そうでない場合は、当該画素ブロックに属するピクセルを第２プレーンに属するべきピクセルとするようなプレーン指定情報を生成して画像分離部３３に出力する。
【００４２】
画像分離部３３は、判定部３２からプレーン指定情報の入力を受けて、このプレーン指定情報に基づき、入力される画像データの各ピクセルをＪＰＥＧ符号化部３４とＬＺ符号化部３５とのいずれかに選択的に出力する。具体的に、第１プレーンに属するべきピクセルの部分集合からなる画像データ（第１プレーンの画像データ）は、ＪＰＥＧ符号化部３４に出力され、第２プレーンに属するべきピクセルの部分集合からなる画像データ（第２プレーンの画像データ）は、ＬＺ符号化部３５に出力される。
【００４３】
ＪＰＥＧ符号化部３４は、第１プレーンの画像データについて、ＪＰＥＧ圧縮処理を実行して、その結果を符号出力部３６に出力する。ＬＺ符号化部３５は、第２プレーンの画像データについてＬＺ圧縮処理を実行して、その結果を符号出力部３６に出力する。ここでＬＺ圧縮は、画像データに含まれるパターンの繰り返し性を利用して圧縮を行うもので、その具体的内容は広く知られているので、ここでの詳細な説明を省略する。符号出力部３６は、ＪＰＥＧ圧縮処理された画像データと、ＬＺ圧縮処理された画像データとを含んでなるデータを生成して、圧縮処理結果の画像データとして出力する。
【００４４】
またＪＰＥＧ符号化部３４は、ＤＣＴ処理部３１において生成された空間周波数成分の情報を用いて、これを元に量子化及びエントロピーコーディング処理される。すなわち、この例では、ＤＣＴ処理部における演算の結果が、判定部３２及び画像分離部３３での分離処理と、ＪＰＥＧ符号化部３４でのＪＰＥＧ圧縮処理との双方に利用される。ここでＤＣＴ処理部３１での処理が前段の処理、ＪＰＥＧ符号化部３４での処理が後段の処理にそれぞれ相当する。
【００４５】
［データのパターンの繰り返し性を利用する圧縮処理プログラム］
さらに、データのパターンの繰り返し性を利用する場合について説明する。この場合にＣＰＵ１が実行すべきプログラムは、図７に示すように、パターンマッチ部４１と、判定部４２と、画像分離部４３と、ＪＰＥＧ符号化部４４と、ＬＺ符号化部４５と、符号出力部４６とを含んで構成される。
【００４６】
パターンマッチ部４１は、入力された画像データを例えば８×８の画素ブロックに分割し、各画素ブロック内のピクセルを順次選択しながら調べ、画素ブロック内にパターンとして繰り返し現れるピクセルの値の列があるか否かを調べる。ここで、パターンとして繰り返し現れるピクセルの値の列があると、当該パターンを特定する情報と、当該パターンの発現位置を特定する情報とを出力する。
【００４７】
判定部４２は、パターンマッチ部４１においてパターンとして繰り返し現れるピクセルの値の列が見いだされた場合（パターンマッチ部４１がパターンを特定する情報などを出力している場合）には、当該画素ブロックに属するピクセルを第１プレーンに属するべきピクセルとし、そうでない場合は、当該画素ブロックに属するピクセルを第２プレーンに属するべきピクセルとするようなプレーン指定情報を生成して画像分離部４３に出力する。
【００４８】
画像分離部４３は、判定部４２からプレーン指定情報の入力を受けて、このプレーン指定情報に基づき、入力される画像データの各ピクセルをＬＺ符号化部４５とＪＰＥＧ符号化部４４とのいずれかに選択的に出力する。具体的に、第１プレーンに属するべきピクセルの部分集合からなる画像データ（第１プレーンの画像データ）は、ＬＺ符号化部４５に出力され、第２プレーンに属するべきピクセルの部分集合からなる画像データ（第２プレーンの画像データ）は、ＪＰＥＧ符号化部４４に出力される。
【００４９】
ＪＰＥＧ符号化部４４は、第２プレーンの画像データについて、ＪＰＥＧ圧縮処理を実行して、その結果を符号出力部４６に出力する。ＬＺ符号化部４５は、第１プレーンの画像データについてＬＺ圧縮処理を実行して、その結果を符号出力部４６に出力する。符号出力部４６は、ＪＰＥＧ圧縮処理された画像データと、ＬＺ圧縮処理された画像データとを含んでなるデータを生成して、圧縮処理結果の画像データとして出力する。
【００５０】
ここで、ＬＺ符号化部４５は、パターンマッチ部４１が出力する、パターンを特定する情報と、当該パターンの発現位置を特定する情報とを利用して符号化を実行する。すなわち、ここではパターンマッチ部４１での処理が前段の処理、ＬＺ符号化部４５での処理が後段の処理にそれぞれ相当する。
【００５１】
［画素埋め］
既に説明したように、画像分離部２４，３３，４３で生成される第１プレーンの画像データと第２プレーンの画像データとには、無効な（don't care）ピクセルが含まれている。これらの無効なピクセルは、そのままにしておいても、予め定めた値に設定しても構わないが、以下のような処理を行って適切な値に設定しておくことがより好ましい。
【００５２】
すなわち、画像分離部２４，３３，４３は、各プレーンの画像データの無効なピクセルの値を、各プレーンの画像データの圧縮処理方式に応じて設定する。例えば、予測符号化を用いる場合、予測符号化に供されるプレーンの画像データの無効なピクセルは、当該ピクセルの直前に処理されたピクセルの値と同じに設定しておく。これにより、予測符号化による符号化効率を向上できる。また、ＪＰＥＧ符号化の場合、無効なピクセルの値は、そのピクセルの周囲のピクセルの値の平均値に設定する。これによりＪＰＥＧ符号化による符号化効率を向上できる。
【００５３】
本実施の形態によると、画像データについて圧縮の前処理を実行し、この前処理の結果に基づき画像データを複数のプレーンに分離し、分離された各プレーンの画像データのうち、少なくとも１つを、先に実行された前処理に引き続く後続の圧縮処理（後段側の処理）に供して、圧縮画像データを生成して出力する。従って付加的な処理を用いずに画像データの分離が可能となり、処理負荷の増大を抑えながら、圧縮効率を向上できる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係る画像処理装置の構成ブロック図である。
【図２】  ＣＰＵ１により実行される画像圧縮プログラムの概要を表す機能ブロック図である。
【図３】  ＣＰＵ１により実行される画像圧縮プログラムの一例を表す機能ブロック図である。
【図４】  判定部における具体的処理内容の一例を表すフローチャート図である。
【図５】  本発明の実施の形態に係る画像処理装置の処理中に得られる各プレーンの画像データとマスク画像データとの概要を表す説明図である。
【図６】  ＣＰＵ１により実行される画像圧縮プログラムの別の例を表す機能ブロック図である。
【図７】  ＣＰＵ１により実行される画像圧縮プログラムのさらに別の例を表す機能ブロック図である。
【符号の説明】
１  ＣＰＵ、２  記憶部、３  ハードディスク、４  入出力インタフェース、１１  画像分離部、１２  圧縮処理部、１３  前段処理部、１４  後段処理部、２１  縮拡補間部、２２  画素値予測部、２３，３２，４２  判定部、２４，３３，４３  画像分離部、２５  縮小処理部、２６，３４，４４  ＪＰＥＧ符号化部、２７  予測符号化部、２８，３６，４６  符号出力部、３１  ＤＣＴ処理部、３５，４５  ＬＺ符号化部、４１  パターンマッチ部。
【図１】
0004019790.tif 000002
【図２】
0004019790.tif 000003
【図３】
0004019790.tif 000004
【図４】
0004019790.tif 000005
【図５】
0004019790.tif 000006
【図６】
0004019790.tif 000007
【図７】
0004019790.tif 000008