(57)【要約】【課題】  圧縮率の高い多色画像データ圧縮装置を得ること。【解決手段】  差分絶対値生成部１３は、所定画素に対応する第１プレーンにおける直前画素の画素値と所定画素の画素値との差分絶対値を生成し、符号データ生成部１２は、上記直前画素の画素値と上記所定画素の画素値との大小関係を示す第１の符号データを生成し、差分絶対値生成部２３は、上記所定画素に対応する第２プレーンにおける直前画素の画素値と所定画素の画素値との差分絶対値を生成し、符号データ生成部２２は、上記所定画素に対応する第２プレーンにおける上記直前画素の画素値と上記所定画素の画素値との大小関係を示す第２の符号データを生成し、予測一致データ生成部２４は、上記第１の符号データと上記第２の符号データとが一致するか否かを示す予測一致データを生成し、２値データ圧縮部２５は、予測一致データを圧縮して出力する。【選択図】        図１
2007129468.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第一単位色と第二単位色からなる多色画像データを圧縮する多色画像データ圧縮装置であって、
所定画素に対応する前記第一単位色の第一階調値と、前記所定画素に隣接する隣接画素に対応する前記第一単位色の第二階調値との差分絶対値を生成する第一差分絶対値生成部と、
前記第一階調値と、前記第二階調値との大小関係を示す第一符号データを生成する第一符号データ生成部と、
前記所定画素に対応する前記第二単位色の第三階調値と、前記隣接画素に対応する前記第二単位色の第四階調値との差分絶対値を生成する第二差分絶対値生成部と、
前記第三階調値と、前記第四階調値との大小関係を示す第二符号データを生成する第二符号データ生成部と、
前記第一符号データと前記第二符号データとが一致するか否かを示す第一予測データを生成する第一予測データ生成部とを備えることを特徴とする多色画像データ圧縮装置。
【請求項２】
前記第一差分絶対値生成部で生成した差分絶対値と、前記第一符号データと、前記第二差分絶対値生成部で生成した差分絶対値と、前記第一予測データとのうちの少なくとも１つを圧縮することを特徴とする請求項１に記載の多色画像データ圧縮装置。
【請求項３】
前記第一符号データ生成部、及び前記第二符号データ生成部は、更に、等値関係を示し、
前記第一予測データ生成部は、更に、前記第一符号データが前記等値であると、前記第一符号データ、及び前記第二符号データが一致しているとみなすことを特徴とする請求項１または請求項２に記載の多色画像データ圧縮装置。
【請求項４】
少なくとも第一単位色と第二単位色からなる多色画像データを圧縮する多色画像データ圧縮装置であって、
所定画素に対応する前記第一単位色の第一階調値と、前記所定画素に隣接する隣接画素に対応する前記第一単位色の第二階調値との差分絶対値を生成する第一差分絶対値生成部と、
前記第一階調値と、前記第二階調値との大小・等値関係を示す第一符号データを生成する第一符号データ生成部と、
前記第一符号データの大小・等値関係に基づいて前記所定画素に対応する前記第二単位色の第三階調値と、前記隣接画素に対応する前記第二単位色の第四階調値との差分値を生成する差分値生成部とを備えることを特徴とする多色画像データ圧縮装置。
【請求項５】
前記第一符号データが大であると、前記差分値生成部は、前記差分値を、差分値＝第二単位色の第三階調値−第二単位色の第四階調値、として生成し、
前記第一符号データが小であると、前記差分値生成部は、前記差分値を、差分値＝第二単位色の第四階調値−第二単位色の第三階調値、として生成し、
前記第一符号データが等値であると、前記差分値生成部は、前記差分値を、第二単位色の第三階調値−第二単位色の第四階調値の絶対値として生成することを特徴とする請求項４に記載の多色画像データ圧縮装置。
【請求項６】
前記第一単位色の階調値及び第二単位色の階調値は、空間的に、叉は時系列的に配列されることを特徴とする請求項１から請求項５までの何れか一項に記載の多色画像データ圧縮装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多色画像を圧縮する多色画像データ圧縮装置に関する。
【背景技術】
【０００２】
画像情報を圧縮する手法の１つとして、隣接する画素間に於ける画素値の差分値をとり、この差分を符号化する予測符号化（ＤＰＣＭ）が良く知られている。この手法では、画像全体に於いて、上記画素値の出現分布範囲に比して、上記差分値の出現分布範囲の方が狭くなることから、圧縮率が高まるという性質を利用している。この手法を利用し、更に、圧縮率を高める努力もなされている（特許文献１参照）。
【０００３】
上記技術（特許文献１）では、上記差分値が正、叉は負の何れであるかに基づいて、それぞれの画素を“０”、叉は“１”で表す２値データを作成する。更に、上記差分値の絶対値を生成する。しかる後、正負を表す２値データと、差分値の絶対値をそれぞれ符号化・圧縮している。この手法によれば、差分値の絶対値の出現分布範囲は正の範囲のみになる。即ち、この技術によれば、差分値の絶対値の出現分布範囲は、上記予測符号化（ＤＰＣＭ）のみによる差分値の出現分布範囲よりも狭くなる。従って、より一層圧縮率を高めることが可能になる。
【特許文献１】特開２０００−１５６８６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術（特許文献１）による手法を、例えばＲＧＢ値で表されたカラー画像の圧縮に適用すると、ＲＧＢ値のそれぞれに対して正負を表す２値データが３個各々独立に必要になってくる。その結果、２値データの増加量だけ全体としての圧縮率を低下させてしまうという解決すべき課題が発生する。本発明の目的は、カラー画像における正負を表す２値データの圧縮率を高めカラー画像全体としての圧縮率を高めることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、少なくとも第一単位色と第二単位色からなる多色画像データを圧縮する多色画像データ圧縮装置であって、所定画素に対応する上記第一単位色の第一階調値と、上記所定画素に隣接する隣接画素に対応する上記第一単位色の第二階調値との差分絶対値を生成する第一差分絶対値生成部と、上記第一階調値と、上記第二階調値との大小関係を示す第一符号データを生成する第一符号データ生成部と、上記所定画素に対応する上記第二単位色の第三階調値と、上記隣接画素に対応する上記第二単位色の第四階調値との差分絶対値を生成する第二差分絶対値生成部と、上記第三階調値と、上記第四階調値との大小関係を示す第二符号データを生成する第二符号データ生成部と、上記第一符号データと上記第二符号データとが一致するか否かを示す第一予測データを生成する第一予測データ生成部とを備えることを特徴とする。
【発明の効果】
【０００６】
予測一致データ生成部を備えることによって、第１の符号データを予測値とし、第２のプレーンにおける、第２の符号データとの間で予測データを求めることによって、階調値の出現確率の偏りをより一層大きくすることができるので、第２の符号データをそのまま圧縮するよりも高い圧縮率を得ることが出来る。その結果、圧縮率の高い多色画像データ圧縮装置を得ることが出来るという効果を得る。
【実施例１】
【０００７】
上記従来の技術では、カラー画像を符号化・復号化するためには、正負を表す２値データが各々のプレーンごとに独立に必要であった。本実施例では、第１のプレーンに於ける正負を表す２値データを他のプレーンにおける対応画素の予測値とする。この予測値と現実の正負を表す２値データとが同一であるか否かを検出し、その予測一致データを符号化することとする。現実の画像データでは、同一画素におけるＲＧＢ値の変化の方向性は、等しい場合が多い。従って、符号化すべき情報量は、より一層低減され、圧縮率が高まることになる。以下に、本実施例について詳細に説明する。
【０００８】
図１は、実施例１の構成を示す機能ブロック図である。
図に示すように、実施例１のカラー画像圧縮装置１００は、カラー画像データ入力部１と、カラープレーンデータ分割部２と、第１のプレーンデータ記録部１０と、第１のプレーンデータ圧縮部１１と、第２のプレーンデータ記録部２０と、第２のプレーンデータ圧縮部２１と、第３のプレーンデータ記録部３０と、第３のプレーンデータ圧縮部３１と、データ出力部３とを備える。
【０００９】
カラー画像データ入力部１は、図示しない上位装置からカラー画像データを受入れる部分である。ここでは、カラー画像データは、各画素がＲＧＢ値（Ｒ：８ｂｉｔ、Ｇ：８ｂｉｔ、Ｂ：８ｂｉｔ）で表されているビットマップデータであるものとする。
【００１０】
カラープレーンデータ分割部２は、カラー画像データ入力部１からカラー画像データを受入れてプレーン毎のビットマップデータに分割し、それぞれ対応する、第１のプレーンデータ記録部１０、第２のプレーンデータ記録部２０、及び第３のプレーンデータ記録部３０へ記録させる部分である。ここでは、Ｒプレーンのビットマップデータ、Ｇプレーンのビットマップデータ、Ｂプレーンのビットマップデータに分割し、それぞれ、Ｒプレーンのビットマップデータを第１のプレーンデータ記録部１０へ、Ｇプレーンのビットマップデータを第２のプレーンデータ記録部２０へ、Ｂプレーンのビットマップデータを第３のプレーンデータ記録部３０へ記録させる。
【００１１】
第１のプレーンデータ記録部１０は、カラープレーンデータ分割部２からＲプレーンのビットマップデータを受入れて記録するメモリである。
第１のプレーンデータ圧縮部１１は、その内部に符号データ生成部１２と、差分絶対値生成部１３と、２値データ圧縮部１４と、多値データ圧縮部１５とを有し、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００１２】
ここで、符号データ生成部１２は、直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を生成する。差分絶対値生成部１３は、直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成する。２値データ圧縮部１４は、符号データ生成部１２が生成した直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を圧縮してデータ出力部３へ出力する。多値データ圧縮部１５は、差分絶対値生成部１３が生成した直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を圧縮してデータ出力部３へ出力する。
【００１３】
第２のプレーンデータ記録部２０は、カラープレーンデータ分割部２からＧプレーンのビットマップデータを受入れて記録するメモリである。
第２のプレーンデータ圧縮部２１は、その内部に符号データ生成部２２と、差分絶対値生成部２３と、予測一致データ生成部２４と、２値データ圧縮部２５と、多値データ圧縮部２６とを有し、第２のプレーンデータ記録部２０からＧプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００１４】
ここで、符号データ生成部２２は、直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を生成する。差分絶対値生成部２３は、直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成する。予測一致データ生成部２４は、符号データ生成部２２で生成された符号データ（２値データ）を予測値とし、符合データ生成部１２で生成された符号データが、該予測値と一致しているか否かを示す予測一致データ（２値データ）を生成する。２値データ圧縮部２５は、予測一致データ生成部２４で生成された予測一致データ（２値データ）を圧縮してデータ出力部３へ出力する。多値データ圧縮部２６は、差分絶対値生成部２３が生成した直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を圧縮してデータ出力部３へ出力する。
【００１５】
第３のプレーンデータ記録部３０は、カラープレーンデータ分割部２からＢプレーンのビットマップデータを受入れて記録するメモリである。
第３のプレーンデータ圧縮部３１は、その内部に符号データ生成部３２と、差分絶対値生成部３３と、予測一致データ生成部３４と、２値データ圧縮部３５と、多値データ圧縮部３６とを有し、第３のプレーンデータ記録部３０からＢプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００１６】
ここで、符号データ生成部３２は、直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を生成する。差分絶対値生成部３３は、直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成する。予測一致データ生成部３４は、符号データ生成部３２で生成された符号データ（２値データ）を予測値とし、符合データ生成部１２で生成された符号データが、該予測値と一致しているか否かを示す予測一致データ（２値データ）を生成する。２値データ圧縮部３５は、予測一致データ生成部３４で生成された予測一致データ（２値データ）を圧縮してデータ出力部３へ出力する。多値データ圧縮部３６は、差分絶対値生成部３３が生成した直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を圧縮してデータ出力部３へ出力する。
【００１７】
図２は、実施例１の全体動作を示すフローチャートである。
図２に図１を併用して実施例１のカラー画像圧縮装置１００の全体動作についてステップＳ１−１からステップＳ１−５までステップ順に説明する。
【００１８】
ステップＳ１−１
カラー画像データ入力部１は、図示しない上位装置からカラー画像データを受入れる。本実施例におけるカラー画像データは上記のように一例として、各画素がＲＧＢ値（Ｒ：８ｂｉｔ、Ｇ：８ｂｉｔ、Ｂ：８ｂｉｔ）で表されているビットマップデータであるものとする。
【００１９】
ステップＳ１−２
カラープレーンデータ分割部２は、カラー画像データ入力部１からカラー画像データを受入れて、プレーン毎のビットマップデータに分割し、それぞれ対応する、第１のプレーンデータ記録部１０、第２のプレーンデータ記録部２０、及び第３のプレーンデータ記録部３０へ記録する。ここでは、上記のように一例として、Ｒプレーンのビットマップデータ、Ｂプレーンのビットマップデータ、Ｇプレーンのビットマップデータに分割し、それぞれ、Ｒプレーンのビットマップデータを第１のプレーンデータ記録部１０へ記録し、Ｂプレーンのビットマップデータを第２のプレーンデータ記録部２０へ記録し、Ｇプレーンのビットマップデータを第３のプレーンデータ記録部３０へ記録する。
【００２０】
ステップＳ１−３
第１のプレーンデータ圧縮部１１は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出して、Ｒプレーンに於ける直前の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、Ｒプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。
【００２１】
ステップＳ１−４
第２のプレーンデータ圧縮部２１は、第２のプレーンデータ記録部２０からＧプレーンのビットマップデータを読み出し、更に、第１のプレーンデータ圧縮部１１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を受入れて、Ｇプレーンに於ける予測一致データ（２値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、Ｇプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。
第３のプレーンデータ圧縮部３１は、第３のプレーンデータ記録部３０からＢプレーンのビットマップデータを読み出し、更に、第１のプレーンデータ圧縮部１１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小関係を示す符号データ（２値データ）を受入れて、Ｂプレーンにおける予測一致データ（２値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、Ｂプレーンに直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。
【００２２】
ステップＳ１−５
データ出力部３は、第１のプレーンデータ圧縮部１１、第２のプレーンデータ圧縮部２１、及び第３のプレーンデータ圧縮部３１から受入れた各種の圧縮データを出力してフローを終了する。
【００２３】
図３は、実施例１の第１の差分絶対値圧縮データ取得のフローチャートである。
この動作フローチャートは、図２のステップＳ１−３を詳細に説明するフローチャートである。
図３に図１を併用して第１のプレーンデータ圧縮部１１による差分絶対値圧縮データ取得の動作についてステップＳ１−３−１からステップＳ１−３−４までステップ順に説明する。
【００２４】
ステップＳ１−３−１
差分絶対値生成部１３は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【００２５】
ステップＳ１−３−２
差分絶対値生成部１３は、直前画素の画素値と対象画素の画素値との差分絶対値を生成する。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。全ての画素について、この差分絶対値を取得し、差分絶対値データとしてビットマップ化する。
【００２６】
ステップＳ１−３−３
多値データ圧縮部１５は、差分絶対値生成部１３によって生成された、上記差分絶対値データを受入れて圧縮し、差分絶対値圧縮データを取得する。以後、この差分絶対値圧縮データを（実施例１における）第１の差分絶対値圧縮データと記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒが利用される。
【００２７】
ステップＳ１−３−４
多値データ圧縮部１５は、（実施例１における）第１の差分絶対値圧縮データをデータ出力部３へ送出してフローを終了する。
【００２８】
図４は、実施例１の第１の符号圧縮データ取得のフローチャートである。
この動作フローチャートは、図２のステップＳ１−３を詳細に説明するフローチャートである。
図３に図１を併用して第１のプレーンデータ圧縮部１１による符号圧縮データ取得の動作についてステップＳ１−３−１１からステップＳ１−３−１４までステップ順に説明する。
【００２９】
ステップＳ１−３−１１
符号データ生成部１２は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【００３０】
ステップＳ１−３−１２
符号データ生成部１２は、直前画素の画素値と対象画素の画素値との大小関係を比較する。この比較結果を“０”（大きい）、“１”（大きくない）の２値で表し、全ての画素に対して直前の画素に対する大小関係を表す２値データを取得し、符号データとしてビットマップ化する。以後、符号データ生成部１２によって生成された、このビットマップデータを（実施例１における）第１の符号データと記す。この第１の符号データは、予測一致データ生成部２４、及び予測一致データ生成部３４に於ける予測データとなり、ステップＳ１−４−１３（後述）へ反映される。
【００３１】
ステップＳ１−３−１３
２値データ圧縮部１４は、符号データ生成部１２によって生成された、上記（実施例１における）第１の符号データを受入れて圧縮し、（実施例１における）符号圧縮データを取得する。以後、この符号圧縮データを（実施例１における）第１の符号圧縮データと記す。ここでの圧縮方法は、よく知られている算術符号化を利用する。
【００３２】
ステップＳ１−３−１４
２値データ圧縮部１４は、（実施例１における）第１の符号圧縮データをデータ出力部３へ送出してフローを終了する。
【００３３】
図５は、実施例１の第２（第３）の差分絶対値圧縮データ取得のフローチャートである。
この動作フローチャートは、図２のステップＳ１−４を詳細に説明するフローチャートである。尚、第２の差分絶対値圧縮データ取得の動作と第３の差分絶対値圧縮データ取得の動作とは同じなので一緒にまとめて説明する。以下の記載では、第２の差分絶対値圧縮データ取得の動作を主に記載し、第３の差分絶対値圧縮データ取得の動作については、説明文中の対応する箇所にカッコ書きする。
図５に図１を併用して第２のプレーンデータ圧縮部２１（第３のプレーンデータ圧縮部３１）による差分絶対値圧縮データ取得の動作についてステップＳ１−４−１からステップＳ１−４−４までステップ順に説明する。
【００３４】
ステップＳ１−４−１
差分絶対値生成部２３（差分絶対値生成部３３）は、第２のプレーンデータ記録部２０（第３のプレーンデータ記録部３０）からＧプレーン（Ｂプレーン）のビットマップデータを読み出す。
【００３５】
ステップＳ１−４−２
差分絶対値生成部２３（差分絶対値生成部３３）は、直前画素の画素値と対象画素の画素値との差分絶対値を生成する。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。全ての画素について、この差分絶対値を取得し、差分絶対値データとしてビットマップ化する。
【００３６】
ステップＳ１−４−３
多値データ圧縮部２６（多値データ圧縮部３６）は、差分絶対値生成部２３（差分絶対値生成部３３）によって生成された、上記差分絶対値データを受入れて圧縮し、差分絶対値圧縮データを取得する。以後、この差分絶対値圧縮データを（実施例１における）第２の差分絶対値圧縮データ（第３の差分絶対値圧縮データ）と記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒを利用する。
【００３７】
ステップＳ１−４−４
多値データ圧縮部２６（多値データ圧縮部３６）は、（実施例１における）第２の差分絶対値圧縮データ（第３の差分絶対値圧縮データ）をデータ出力部３へ送出してフローを終了する。
【００３８】
図６は、実施例１の第２（第３）の符号圧縮データ取得のフローチャートである。
この動作フローチャートは、図２のステップＳ１−４を詳細に説明するフローチャートである。尚、第２の符号圧縮データ取得の動作と第３の符号圧縮データ取得の動作とは同じなので一緒にまとめて説明する。以下の記載では、第２の符号圧縮データ取得の動作を主に記載し、第３の符号圧縮データ取得の動作については、説明文中の対応する箇所にカッコ書きする。
図６に図１を併用して第２のプレーンデータ圧縮部２１（第３のプレーンデータ圧縮部３１）による符号圧縮データ取得の動作についてステップＳ１−４−１１からステップＳ１−４−１５までステップ順に説明する。
【００３９】
ステップＳ１−４−１１
符号データ生成部２２は、第２のプレーンデータ記録部２０（第３のプレーンデータ記録部３０）からＧプレーン（Ｂプレーン）のビットマップデータを読み出す。
【００４０】
ステップＳ１−４−１２
符号データ生成部２２（符号データ生成部３２）は、直前画素の画素値と対象画素の画素値との大小関係を比較する。この比較結果を“０”（大きい）、“１”（大きくない）の２値で表し、全ての画素に対して直前の画素に対する大小関係を表す２値データを取得し、符号データとしてビットマップ化する。以後、符号データ生成部２２（符号データ生成部３２）によって生成された、このビットマップデータを（実施例１における）第２の符号データ（第３の符号データ）と記す。
【００４１】
ステップＳ１−４−１３
予測一致データ生成部２４（予測一致データ生成部３４）は、（実施例１における）第１の符号データを予測値として（ステップＳ１−３−１２により反映される）、その予測値がステップＳ１−４−１２で生成された（実施例１における）第２の符号データ（第３の符号データ）と一致しているかどうかを調査し、一致している場合には“０”（一致している）、一致していない場合には“１”（一致していない）の２値で表す。この２値を全ての画素について求め、ビットマップ化することで予測一致データを取得する。以後、第２のプレーンデータ圧縮部２１（第３のプレーンデータ圧縮部３１）による予測一致データを（実施例１における）第２の予測一致データ（第３の予測一致データ）と記す。
【００４２】
ステップＳ１−４−１４
２値データ圧縮部２５（２値データ圧縮部３５）は、予測一致データ生成部２４（予測一致データ生成部３４）によって生成された、上記（実施例１における）第２の予測一致データ（第３の予測一致データ）を受入れて圧縮し、予測一致圧縮データを取得する。以後、第２のプレーンデータ圧縮部２１（第３のプレーンデータ圧縮部３１）による予測一致圧縮データを（実施例１における）第２の予測一致圧縮データ（第３の予測一致圧縮データ）と記す。ここでの圧縮方法は、よく知られている算術符号化を利用する。
【００４３】
ステップＳ１−４−１５
２値データ圧縮部２５（２値データ圧縮部３５）は、（実施例１における）第２の予測一致圧縮データ（第３の予測一致圧縮データ）をデータ出力部３へ送出してフローを終了する。
【００４４】
図７は、実施例１による画像処理結果の説明図である。
この図は、所定のカラーテストパターンから取得した画像データを、本実施例のカラー画像圧縮装置１００（図１）で圧縮処理を行ったときにおける、符号データ生成部２２（図１）及び符号データ生成部３２（図１）での“０”、“１”の出現確率、即ち、第２の符号データ及び第３の符号データでの“０”、“１”の出現確率と、予測一致データ生成部２４（図１）及び予測一致データ生成部３４（図１）での“０”、“１”の出現確率、即ち、第２の予測一致データ及び第３の予測一致データでの“０”、“１”の出現確率とを対比させて表した図である。
【００４５】
図から分かるように、第２の符号データ及び第３の符号データでの“０”、“１”の出現確率と第２の予測一致データ及び第３の予測一致データでの“０”、“１”の出現確率とでは大きな偏りがある。即ち、本実施例では、第２のプレーンデータ圧縮部２１に予測一致データ生成部２４を、第３のプレーンデータ圧縮部３１に予測一致データ生成部３４を、それぞれ備えることによって、第１の符号データを予測値とし、第２、第３のプレーンにおける、直前画素の画素値と対象画素の画素値との大小関係を表わす符号データとの間で予測一致データを求めることによって、図７に示すように出現確率の偏りをより一層大きくすることができるので、第２、第３の符号データをそのまま圧縮するよりも高い圧縮率を得ることが出来るという効果を得る。
【実施例２】
【００４６】
上記実施例１における符号化データは“０”（大きい）、“１”（大きくない）の２値であった。しかしながら、現実の画像では、等しい場合が多く発生する。本実施例では、符号化データを“０”（大きい）、“１”（小さい）、“２”（等しい）の３値データとして取得する。この等値関係にある“２”（等しい）は、上記実施例１では固定的に“１”（大きくない）に含ませることとしていたが、“０”（大きい）、及び“１”（小さい）のどちらに含ませても、変化量は同じ筈である。そこで、本実施例では、状況に応じて、適応的に何れか一方に含めることとする。こうすることによって符号化すべき情報量はより一層低減され、圧縮率が高まることになる。以下に、本実施例について詳細に説明する。
【００４７】
図８は、実施例２の構成を示す機能ブロック図である。
図に示すように、実施例２のカラー画像圧縮装置２００は、カラー画像データ入力部１と、カラープレーンデータ分割部２と、第１のプレーンデータ記録部１０と、第１のプレーンデータ圧縮部４１と、第２のプレーンデータ記録部２０と、第２のプレーンデータ圧縮部５１と、第３のプレーンデータ記録部３０と、第３のプレーンデータ圧縮部６１と、データ出力部３とを備える。以下に実施例１との相違部分のみについて詳細に説明する。実施例１と同様の部分については、実施例１と同一の符号を付して説明を省略する。
【００４８】
第１のプレーンデータ圧縮部４１は、その内部に符号データ生成部４２と、差分絶対値生成部１３と、符号データ記録部４３と、２値データ圧縮部４４と、多値データ圧縮部１５とを有し、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００４９】
ここで、符号データ生成部４２は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データを“０”（大きい）、“１”（小さい）、“２”（等しい）の３値データとして生成する。符号データ記録部４３は、符号データ生成部４２によって生成された符号データ（３値データ）を記録し、後に説明する予測一致データ生成部５３叉は予測一致データ生成部６３によって、その値が更新される部分である。２値データ圧縮部４４は、符号データ記録部４３が記録する符号データ（３値データ）を２値化して圧縮し、データ出力部３へ出力する。
【００５０】
第２のプレーンデータ圧縮部５１は、その内部に符号データ生成部５２と、差分絶対値生成部２３と、予測一致データ生成部５３と、２値データ圧縮部２５と、多値データ圧縮部２６とを有し、第２のプレーンデータ記録部２０からＧプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００５１】
ここで、符号データ生成部５２は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を生成する。予測一致データ生成部５３は、符号データ生成部５２で生成された符号データ（３値データ）と、予測値となる符号データ記録部４３に記録されている符号データ（３値データ）が一致しているか否かを示す予測一致データ（２値データ）を生成する。このとき符号データ記録部４３に記録されている符号データ（３値データ）が“２”（等しい）の場合には、この符号データ記録部４３に記録されている符号データ（３値データ）を符号データ生成部５２で生成された符号データ（３値データ）で更新する部分である。こうすることによって、“２”（等しい）は、“０”（大きい）、及び“１”（小さい）の何れか一方に適応的に含められることになる。
【００５２】
第３のプレーンデータ圧縮部６１は、その内部に符号データ生成部６２と、差分絶対値生成部３３と、予測一致データ生成部６３と、２値データ圧縮部３５と、多値データ圧縮部３６とを有し、第３のプレーンデータ記録部３０からＢプレーンのビットマップデータを読み出して圧縮し、データ出力部３へ送出する部分である。
【００５３】
ここで、符号データ生成部６２は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を生成する部分である。予測一致データ生成部６３は、符号データ生成部６２で生成された符号データ（３値データ）と、予測値となる符号データ記録部４３に記録されている符号データ（３値データ）が一致しているか否かを示す予測一致データ（２値データ）を生成する。このとき符号データ記録部４３に記録されている符号データ（３値データ）が“２”（等しい）の場合には、この符号データ記録部４３に記録されている符号データ（３値データ）を符号データ生成部６２で生成された符号データ（３値データ）で更新する部分である。
【００５４】
図９は、実施例２の全体動作を示すフローチャートである。
図９に図８を併用して実施例２のカラー画像圧縮装置２００の全体動作についてステップＳ２−１からステップＳ２−５までステップ順に説明する。
【００５５】
ステップＳ２−１
カラー画像データ入力部１は、図示しない上位装置からカラー画像データを受入れる。本実施例におけるカラー画像データは上記のように一例として、各画素がＲＧＢ値（Ｒ：８ｂｉｔ、Ｇ：８ｂｉｔ、Ｂ：８ｂｉｔ）で表されているビットマップデータであるものとする。
【００５６】
ステップＳ２−２
カラープレーンデータ分割部２は、カラー画像データ入力部１からカラー画像データを受入れて、プレーン毎のビットマップデータに分割し、それぞれ対応する、第１のプレーンデータ記録部１０、第２のプレーンデータ記録部２０、及び第３のプレーンデータ記録部３０へ記録する部分である。ここでは、上記のように一例として、Ｒプレーンのビットマップデータ、Ｇプレーンのビットマップデータ、Ｂプレーンのビットマップデータに分割し、それぞれ、Ｒプレーンのビットマップデータを第１のプレーンデータ記録部１０へ記録し、Ｇプレーンのビットマップデータを第２のプレーンデータ記録部２０へ記録し、Ｂプレーンのビットマップデータを第３のプレーンデータ記録部３０へ記録する。
【００５７】
ステップＳ２−３
第１のプレーンデータ圧縮部４１は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出して、Ｒプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を生成して符号データ記録部４３に記録し、更に、第２のプレーンデータ圧縮部５１が有する予測一致データ生成部５３によって、叉は、第３のプレーンデータ圧縮部６１が有する予測一致データ生成部６３によって、その値が更新される。叉、符号データ記録部４３が記録する符号データ（３値データ）を２値データ圧縮部４４が２値化して圧縮し、データ出力部３へ出力する。ここで３値データを２値化するには、符号“２”（等しい）を、“０”（大きい）、叉は“１”（小さい）とみなす。
更に、Ｒプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。
【００５８】
ステップＳ２−４
第２のプレーンデータ圧縮部５１は、第２のプレーンデータ記録部２０からＧプレーンのビットマップデータを読み出して、更に、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を受入れて、Ｇプレーンに於ける予測一致データ（２値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、Ｇプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を受入れたときに、その符号データ（３値データ）が“２”（等しい）である場合には、その値を内部に有する符号データ生成部５２が生成した符号データ（３値データ）で更新する。
第３のプレーンデータ圧縮部６１は、第３のプレーンデータ記録部３０からＢプレーンのビットマップデータを受入れ、更に、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を受入れて、Ｂプレーンに於ける予測一致データ（２値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、Ｂプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。叉、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を受入れたときに、その符号データ（３値データ）が２（等しい）である場合には、その値を内部に有する符号データ生成部６２が生成した符号データ（３値データ）で更新する。
【００５９】
ステップＳ２−５
データ出力部３は、第１のプレーンデータ圧縮部４１、第２のプレーンデータ圧縮部５１、及び第３のプレーンデータ圧縮部６１から受入れた各種の圧縮データを出力してフローを終了する。
【００６０】
図１０は、実施例２の第１の差分絶対値圧縮データ取得のフローチャートである。
この動作フローチャートは、図９のステップＳ２−３を詳細に説明するフローチャートである。
図１０に図８を併用して第１のプレーンデータ圧縮部４１による第１の差分絶対値圧縮データ取得の動作についてステップＳ２−３−１からステップＳ２−３−４までステップ順に説明する。
【００６１】
ステップＳ２−３−１
差分絶対値生成部１３は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【００６２】
ステップＳ２−３−２
差分絶対値生成部１３は、直前画素の画素値と対象画素の画素値との差分絶対値を生成する。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。全ての画素について、この差分絶対値を取得し、差分絶対値データとしてビットマップ化する。
【００６３】
ステップＳ２−３−３
多値データ圧縮部１５は、差分絶対値生成部１３によって生成された、上記差分絶対値データを受入れて圧縮し、差分絶対値圧縮データを取得する。以後、この差分絶対値圧縮データを（実施例２における）第１の差分絶対値圧縮データと記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒを利用する。
【００６４】
ステップＳ２−３−４
多値データ圧縮部１５は、（実施例２における）第１の差分絶対値圧縮データをデータ出力部３へ送出してフローを終了する。
【００６５】
図１１は、実施例２の第１の符号圧縮データ取得のフローチャートである。
この動作フローチャートは、図９のステップＳ２−３を詳細に説明するフローチャートである。
図１１に図８を併用して第１のプレーンデータ圧縮部４１による符号圧縮データ取得の動作についてステップＳ２−３−１１からステップＳ２−３−１６までステップ順に説明する。
【００６６】
ステップＳ２−３−１１
符号データ生成部４２は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【００６７】
ステップＳ２−３−１２
符号データ生成部４２は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データを“０”（大きい）、“１”（小さい）、“２”（等しい）の３値データとして生成し、全ての画素に対して直前の画素に対する大小・等値関係を表す符号データとしてビットマップ化する。以後、符号データ生成部４２によって生成された、このビットマップデータを（実施例２における）第１の符号データと記す。この（実施例２における）第１の符号データは、予測一致データ生成部２４、及び予測一致データ生成部３４に於ける予測データとなる。即ち、ステップＳ２−４−１３（後述）へ反映される。
【００６８】
ステップＳ２−３−１３
予測一致データ生成部５３、叉は予測一致データ生成部６３から符号データ（３値データ）の更新要求あればステップＳ２−３−１４へ進み、更新要求が無ければステップＳ２−３−１５へ進む。
【００６９】
ステップＳ２−３−１４
符号データ記録部４３に記録されている符号データ（３値データ）が、符号データ生成部５２、叉は符号データ生成部６２で生成された符号データ（３値データ）で更新され、ステップＳ２−３−１５へ進む。
【００７０】
ステップＳ２−３−１５
２値データ圧縮部４４は、符号データ記録部４３に記録されている最新の符号データ（３値データ）を２値化して圧縮し、符号圧縮データを取得する。以後、この符号圧縮データを（実施例２における）第１の符号圧縮データと記す。ここでの圧縮方法は、よく知られている算術符号化を利用する。ここで３値データを２値化するには、符号“２”（等しい）を、“０”（大きい）、叉は“１”（小さい）とみなす。
【００７１】
ステップＳ２−３−１６
２値データ圧縮部４４は、第１の符号圧縮データをデータ出力部３へ送出してフローを終了する。
【００７２】
図１２は、実施例２の第２（第３）の差分絶対値圧縮データ取得のフローチャートである。
この動作フローチャートは、図９のステップＳ２−４を詳細に説明するフローチャートである。尚、第２の差分絶対値圧縮データ取得の動作と第３の差分絶対値圧縮データ取得の動作とは同じなので一緒にまとめて説明する。以下の記載では、第２の差分絶対値圧縮データ取得の動作を主に記載し、第３の差分絶対値圧縮データ取得の動作については、説明文中の対応する箇所にカッコ書きする。
図１２に図８を併用して第２のプレーンデータ圧縮部５１（第３のプレーンデータ圧縮部６１）による差分絶対値圧縮データ取得の動作についてステップＳ２−４−１からステップＳ２−４−４までステップ順に説明する。
【００７３】
ステップＳ２−４−１
差分絶対値生成部２３（差分絶対値生成部３３）は、第２のプレーンデータ記録部２０（第３のプレーンデータ記録部３０）からＧプレーン（Ｂプレーン）のビットマップデータを読み出す。
【００７４】
ステップＳ２−４−２
差分絶対値生成部２３（差分絶対値生成部３３）は、直前の画素との差分絶対値を生成する。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。全ての画素について、この差分絶対値を取得し、差分絶対値データとしてビットマップ化する。
【００７５】
ステップＳ２−４−３
多値データ圧縮部２６（多値データ圧縮部３６）は、差分絶対値生成部２３（差分絶対値生成部３３）によって生成された、上記差分絶対値データを受入れて圧縮し、差分絶対値圧縮データを取得する。以後、この差分絶対値圧縮データを（実施例２における）第２の差分絶対値圧縮データ（第３の差分絶対値圧縮データ）と記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒを利用する。
【００７６】
ステップＳ２−４−４
多値データ圧縮部２６（多値データ圧縮部３６）は、第２の差分絶対値圧縮データ（第３の差分絶対値圧縮データ）をデータ出力部３へ送出してフローを終了する。
【００７７】
図１３は、実施例２の第２（第３）の符号圧縮データ取得のフローチャートである。
この動作フローチャートは、図９のステップＳ２−４を詳細に説明するフローチャートである。尚、第２の符号圧縮データ取得の動作と第３の符号圧縮データ取得の動作とは同じなので一緒にまとめて説明する。以下の記載では、第２の符号圧縮データ取得の動作を主に記載し、第３の符号圧縮データ取得の動作については、説明文中の対応する箇所にカッコ書きする。
図１３に図８を併用して第２のプレーンデータ圧縮部５１による符号圧縮データ取得の動作、及び第３のプレーンデータ圧縮部６１による符号圧縮データ取得の動作についてステップＳ２−４−１１からステップＳ２−４−１７までステップ順に説明する。
【００７８】
ステップＳ２−４−１１
符号データ生成部５２（符号データ生成部６２）は、第２のプレーンデータ記録部２０（第３のプレーンデータ記録部３０）からＧプレーン（Ｂプレーン）のビットマップデータを読み出す。
【００７９】
ステップＳ２−４−１２
符号データ生成部５２（符号データ生成部６２）は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データを“０”（大きい）、“１”（小さい）、“２”（等しい）の３値データとして生成し、全ての画素に対して直前の画素に対する大小・等値関係を表す符号データとしてビットマップ化する。以後、符号データ生成部５２（符号データ生成部６２）によって生成された、このビットマップデータを（実施例２における）第２の符号データ（第３の符号データ）と記す。
【００８０】
ステップＳ２−４−１３
符号データ記録部４３に記録されている第１の予測データ（３値データ）（ステップＳ２−３−１２より反映される）が、“０”（大きい）、叉は“１”（小さい）の場合にはステップＳ２−４−１４へ進み、“２”（等しい）の場合にはステップＳ２−４−１５へ進む。
【００８１】
ステップＳ２−４−１４
予測一致データ生成部５３（予測一致データ生成部６３）は、符号データ記録部４３に記録されている（実施例２における）第１の符号データ（３値データ）と、符号データ生成部５２（符号データ生成部６２）が生成した符号データ（３値データ）とを比較し、一致する場合には“０”とし、一致しない場合には“１”とする第２の予測一致データ（第３の予測一致データ）（２値データ）を生成する。
【００８２】
ステップＳ２−４−１５
予測一致データ生成部５３（予測一致データ生成部６３）は、符号データ生成部５２（符号データ生成部６２）が生成した（実施例２における）第２の符号データ（第３の符号データ）（３値データ）を符号データ記録部４３へ送出する。従って、符号データ記録部４３に記録されている第１の予測データ（３値データ）は、ステップＳ２−３−１４を経て、（実施例２における）第２の符号データ（第３の符号データ）（３値データ）で更新され、その結果がステップＳ２−４−１４へ反映される（両データが一致する）。以後、第２のプレーンデータ圧縮部５１による予測一致データを（実施例２における）第２の予測一致データと記し、第３のプレーンデータ圧縮部６１による（実施例２における）予測一致データを第３の予測一致データと記す。
【００８３】
ステップＳ２−４−１６
２値データ圧縮部２５（２値データ圧縮部３５）は、予測一致データ生成部５３（予測一致データ生成部６３）によって生成された、上記（実施例２における）第２の予測一致データ（第３の予測一致データ）を受入れて圧縮し、予測一致圧縮データを取得する。以後、第２のプレーンデータ圧縮部５１による予測一致圧縮データを（実施例２における）第２の予測一致圧縮データと記し、第３のプレーンデータ圧縮部６１による予測一致圧縮データを（実施例２における）第３の予測一致圧縮データと記す。ここでの圧縮方法は、よく知られている算術符号化を利用する。
【００８４】
ステップＳ２−４−１７
２値データ圧縮部２５（２値データ圧縮部３５）は、（実施例２における）第２の予測一致圧縮データ（第３の予測一致圧縮データ）をデータ出力部３へ送出してフローを終了する。
【００８５】
以上説明したように、本実施例では、直前画素の画素値と対象画素の画素値の大小・等値関係を示す符号データ生成部を備え、（実施例２における）第１の予測値が“２”（等しい）の場合には、（実施例２における）第２の予測値、または（実施例２における）第３の予測値によって更新されるので、第２の予測値、または第３の予測値が“０”（大きい）、叉は“１”（小さい）の何れであっても予測一致データは
“０”（一致する）とされる。即ち、上記実施例１では“２”（等しい）を固定的に“１”（大きくない）に含ませることとしていたが、本実施例では、状況に応じて、“０”（大きい）、及び“１”（小さい）のどちらかに適応的に含めることが可能になる。こうすることによって符号化すべき情報量はより一層低減され、圧縮率が高めることが出来るという効果を得る。その結果の一例について図を用いて説明する。
【００８６】
図１４は、実施例２による画像処理結果の説明図である。
この図は、上記実施例１と同様のテストパターンに基づく画像データに対して、本実施例の処理を行った結果を表わしている。（実施例２における）第２の予測一致データ、及び（実施例２による）第３の予測一致データによる出現確率“０”と“１”の偏りは、（実施例１における）第２の予測一致データ、及び（実施例１よる）第３の予測一致データによる出現確率“０”と“１”の偏りよりも大きくなっていることがあきらかである。
【実施例３】
【００８７】
本実施例では、第２のプレーンデータ圧縮部、及び第３のプレーンデータ圧縮部は、
第１のプレーンデータ圧縮部で生成される第１の符号データを予測値として、隣接する画素との大小関係を推定し、第１の符号データが“０”の場合には、差分値＝直前画素の画素値−対象画素の画素値、第１の符号データが“１”の場合には、差分値＝対象画素の画素値−直前画素の画素値、第１の符号データが“２”の場合には、対象画素の画素値−直前画素の画素値の絶対値として差分値を導出することとする。こうすることによって、第２のプレーンデータ圧縮部、及び第３のプレーンデータ圧縮部では、第２の符号データ、及び第３の符号データの生成を行う必要がなくなる。これは、現実の画像データでは、同一画素におけるＲＧＢ値の変化の方向性は、等しい場合が多いことに基づいている。しかし、等しくない場合も発生するので上記実施例１、または実施例２とは異なり、差分値の出現分布範囲は正の範囲のみではなく、一部負の範囲にも発生することになる。但し、一部負の範囲にも発生することによって増加する情報量よりも、第２の符号データ、及び第３の符号データを削除することにより低減される情報量の方が大きい。以下に、本実施例について詳細に説明する。
【００８８】
図１５は、実施例３の構成を示す機能ブロック図である。
図に示すように、実施例３のカラー画像圧縮装置３００は、カラー画像データ入力部１と、カラープレーンデータ分割部２と、第１のプレーンデータ記録部１０と、第１のプレーンデータ圧縮部４１と、第２のプレーンデータ記録部２０と、第２のプレーンデータ圧縮部７１と、第３のプレーンデータ記録部３０と、第３のプレーンデータ圧縮部８１と、データ出力部３とを備える。以下に実施例１、または実施例２との相違部分のみについて詳細に説明する。実施例１、または実施例２と同様の部分については、実施例１、または実施例２と同一の符号を付して説明を省略する。
【００８９】
第２のプレーンデータ圧縮部７１は、その内部に差分データ生成部７２と、多値データ圧縮部２６とを有し、第２のプレーンデータ記録部２０から読み出したＧプレーンのビットマップデータを圧縮してデータ出力部３へ送出する部分である。
【００９０】
ここで、差分データ生成部７２は、符号データ記録部４３に記録されている（実施例３における）第１の符号データ（３値データ）に基づいて、直前画素の画素値と対象画素の画素値との大小関係を予測し、可能な限り正の値を出力する差分データ（多値データ）を生成する部分である。叉、（実施例３における）第１の符号データが等値（“２”）の場合には、直前画素の画素値と対象画素の画素値との差分絶対値を生成し、且つ、直前画素の画素値と対象画素の画素値との現実の大小・等値関係を表わす３値データで符号データ記録部４３を更新する部分でもある。
【００９１】
第３のプレーンデータ圧縮部８１は、その内部に差分データ生成部８２と、多値データ圧縮部３６とを有し、第３のプレーンデータ記録部３０から読み出したＢプレーンのビットマップデータを圧縮してデータ出力部３へ送出する部分である。
【００９２】
ここで、差分データ生成部８２は、符号データ記録部４３に記録されている第１の符号データ（３値データ）に基づいて、直前画素の画素値と対象画素の画素値との大小関係を予測し、可能な限り正の値を出力する差分データ（多値データ）を生成する部分である。叉、第１の符号データが等値（“２”）の場合には、直前画素の画素値と対象画素の画素値との差分絶対値を生成し、且つ、直前画素の画素値と対象画素の画素値との現実の大小・等値関係を表わす３値データで更新する部分でもある。
【００９３】
図１６は、実施例３の全体動作を示すフローチャートである。
図１６に図１５を併用して実施例３のカラー画像圧縮装置３００の動作についてステップＳ３−１からステップＳ３−５までステップ順に説明する。
【００９４】
ステップＳ３−１
カラー画像データ入力部１は、図示しない上位装置からカラー画像データを受入れる。本実施例におけるカラー画像データは上記のように一例として、各画素がＲＧＢ値（Ｒ：８ｂｉｔ、Ｇ：８ｂｉｔ、Ｂ：８ｂｉｔ）で表されているビットマップデータであるものとする。
【００９５】
ステップＳ３−２
カラープレーンデータ分割部２は、カラー画像データ入力部１からカラー画像データを受入れて、プレーン毎のビットマップデータに分割し、それぞれ対応する、第１のプレーンデータ記録部１０、第２のプレーンデータ記録部２０、及び第３のプレーンデータ記録部３０へ記録する部分である。ここでは、上記のように一例として、Ｒプレーンのビットマップデータ、Ｂプレーンのビットマップデータ、Ｇプレーンのビットマップデータに分割し、それぞれ、Ｒプレーンのビットマップデータを第１のプレーンデータ記録部１０へ記録し、Ｂプレーンのビットマップデータを第２のプレーンデータ記録部２０へ記録し、Ｇプレーンのビットマップデータを第３のプレーンデータ記録部３０へ記録する。
【００９６】
ステップＳ３−３
第１のプレーンデータ圧縮部４１は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出して、Ｒプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データ（３値データ）を生成して符号データ記録部４３に格納し、更に、第２のプレーンデータ圧縮部７１が有する差分データ生成部７２によって、叉は、第３のプレーンデータ圧縮部８１が有する差分データ生成部８２によって、その値が更新される。叉、符号データ記録部４３が記録する符号データ（３値データ）を２値データ圧縮部４４が２値化して圧縮し、データ出力部３へ出力する。ここで３値データを２値化するには、符号“２”（等しい）を、“０”（大きい）、叉は“１”（小さい）とみなす。更に、Ｒプレーンに於ける直前画素の画素値と対象画素の画素値との差分絶対値（多値データ）を生成し、圧縮してデータ出力部３へ送出する。
【００９７】
ステップＳ３−４
第２のプレーンデータ圧縮部７１は、第２のプレーンデータ記録部２０からＧプレーンのビットマップデータを読み出して、更に、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す（実施例３における）第１の符号データ（３値データ）を受入れて、直前画素の画素値と対象画素の画素値との大小関係を予測し、可能な限り正の値を出力する差分データを生成し、圧縮してデータ出力部３へ送出する。叉、（実施例３における）第１の符号データが等値（“２”）の場合には、直前画素の画素値と対象画素の画素値との現実の大小・等値関係を表わす３値データで符号データ記録部４３に記録されている第１の符号データ（３値データ）を差分データ生成部７２が生成した符号データ（３値データ）で更新する。
第３のプレーンデータ圧縮部８１は、第２のプレーンデータ記録部２０からＢプレーンのビットマップデータを受入れ、更に、第１のプレーンデータ圧縮部４１からＲプレーンに於ける直前画素の画素値と対象画素の画素値との大小・等値関係を示す（実施例３における）第１の符号データ（３値データ）を受入れて、直前画素の画素値と対象画素の画素値との大小関係を予測し、可能な限り正の値を出力する差分データを生成し、圧縮してデータ出力部３へ送出する。叉、（実施例３における）第１の符号データが等値（“２”）の場合には、直前画素の画素値と対象画素の画素値との現実の大小・等値関係を表わす３値データで符号データ記録部４３に記録されている（実施例３における）第１の符号データ（３値データ）を差分データ生成部８２が生成した符号データ（３値データ）で更新する。
【００９８】
ステップＳ３−５
データ出力部３は、第１のプレーンデータ圧縮部４１、第２のプレーンデータ圧縮部７１、及び第３のプレーンデータ圧縮部８１から受入れた各種の圧縮データを出力してフローを終了する。
【００９９】
図１７は、実施例３の第１の差分絶対値圧縮データ取得のフローチャートである。
この動作フローチャートは、図１６のステップＳ３−３を詳細に説明するフローチャートである。
図１７に図１５を併用して第１のプレーンデータ圧縮部４１による差分絶対値圧縮データ取得の動作についてステップＳ３−３−１からステップＳ３−３−４までステップ順に説明する。
【０１００】
ステップＳ３−３−１
差分絶対値生成部１３は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【０１０１】
ステップＳ３−３−２
差分絶対値生成部１３は、直前画素の画素値と対象画素の画素値との差分絶対値を生成する。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。全ての画素について、この差分絶対値を取得し、差分絶対値データとしてビットマップ化する。
【０１０２】
ステップＳ３−３−３
多値データ圧縮部１５は、差分絶対値生成部１３によって生成された、上記差分絶対値データを受入れて圧縮し、差分絶対値圧縮データを取得する。以後、この差分絶対値圧縮データを（実施例３における）第１の差分絶対値圧縮データと記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒを利用する。
【０１０３】
ステップＳ３−３−４
多値データ圧縮部１５は、（実施例３における）第１の差分絶対値圧縮データをデータ出力部３へ送出してフローを終了する。
【０１０４】
図１８は、実施例３の第１の符号圧縮データ取得のフローチャートである。
この動作フローチャートは、図１６のステップＳ３−３を詳細に説明するフローチャートである。
図１８に図１５を併用して第１のプレーンデータ圧縮部４１による符号圧縮データ取得の動作についてステップＳ３−３−１１からステップＳ３−３−１６までステップ順に説明する。
【０１０５】
ステップＳ３−３−１１
符号データ生成部４２は、第１のプレーンデータ記録部１０からＲプレーンのビットマップデータを読み出す。
【０１０６】
ステップＳ３−３−１２
符号データ生成部４２は、直前画素の画素値と対象画素の画素値との大小・等値関係を示す符号データを“０”（大きい）、“１”（小さい）、“２”（等しい）の３値データとして生成し、全ての画素に対して直前の画素に対する大小・等値関係を表す符号データとしてビットマップ化する。以後、符号データ生成部４２によって生成された、このビットマップデータを（実施例３における）第１の符号データと記す。この（実施例３における）第１の符号データは、差分データ生成部７２、及び差分データ生成部８２に於ける予測データとなる。即ち、ステップＳ３−４−２（後述）へ反映される。
【０１０７】
ステップＳ３−３−１３
差分データ生成部７２、叉は差分データ生成部８２から（実施例３における）第１の符号データ（３値データ）の更新要求（ステップＳ３−４−３より）があればステップＳ３−３−１４へ進み、更新要求が無ければステップＳ３−３−１５へ進む。
【０１０８】
ステップＳ３−３−１４
符号データ記録部４３に記録されている符号データ（３値データ）が、差分データ生成部７２、叉は差分データ生成部８２で生成された現実の符号データ（３値データ）で更新される。
【０１０９】
ステップＳ３−３−１５
２値データ圧縮部４４は、符号データ記録部４３に記録されている最新の符号データ（３値データ）を２値化して圧縮し、符号圧縮データを取得する。以後、この符号圧縮データを第１の符号圧縮データと記す。ここでの圧縮方法は、よく知られている算術符号化を利用する。ここで３値データを２値化するには、符号“２”（等しい）を、“０”（大きい）、叉は“１”（小さい）とみなす。
【０１１０】
ステップＳ３−３−１６
２値データ圧縮部４４は、（実施例３における）第１の符号圧縮データをデータ出力部３へ送出してフローを終了する。
【０１１１】
図１９は、実施例３の第２（第３）の差分値圧縮データ取得のフローチャートである。
この動作フローチャートは、図１５のステップＳ３−４を詳細に説明するフローチャートである。尚、第２の差分値圧縮データ取得の動作と第３の差分値圧縮データ取得の動作とは同じなので一緒にまとめて説明する。以下の記載では、第２の差分値圧縮データ取得の動作を主に記載し、第３の差分値圧縮データ取得の動作については、説明文中の対応する箇所にカッコ書きする。
図１９に図１５を併用して第２のプレーンデータ圧縮部７１（第３のプレーンデータ圧縮部８１）による差分値圧縮データ取得の動作についてステップＳ３−４−１からステップＳ３−４−９までステップ順に説明する。
【０１１２】
ステップＳ３−４−１
差分データ生成部７２（差分データ生成部８２）は、第２のプレーンデータ記録部２０（第３のプレーンデータ記録部３０）からＧプレーン（Ｂプレーン）のビットマップデータを読み出す。
【０１１３】
ステップＳ３−４−２
差分データ生成部７２（差分データ生成部８２）は、ステップＳ３−３−１４に基づいて符号データ記録部４３に記録されている（実施例３における）第１の符号データが“２”（等しい）の場合にはステップＳ３−４−３へ進み、それ以外の場合にはステップＳ３−４−４へ進む。
【０１１４】
ステップＳ３−４−３
差分データ生成部７２（差分データ生成部８２）は、直前画素の画素値と対象画素の画素値との差分絶対値を取得してステップＳ３−４−７へ進む。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。但し、分布範囲は正の範囲に限られる。
【０１１５】
ステップＳ３−４−４
差分データ生成部７２（差分データ生成部８２）は、ステップＳ３−３−１４に基づいて符号データ記録部４３に記録されている（実施例３における）第１の符号データが“０”（大きい）の場合にはステップＳ３−４−３へ進み、それ以外（ここでは“１”のみとなる）の場合にはステップＳ３−４−６へ進む。
【０１１６】
ステップＳ３−４−５
差分データ生成部７２（差分データ生成部８２）は、差分値＝直前画素の画素値−対象画素の画素値、として差分値を求める。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。但し、ここでは、分布が、一部負の範囲に分布する可能性がある。
【０１１７】
ステップＳ３−４−６
差分データ生成部７２（差分データ生成部８２）は、差分値＝対象画素の画素値−直前画素の画素値、として差分値を求める。各画素が８ｂｉｔ（０〜２５５）で表されていることから、差分絶対値も８ｂｉｔ（０〜２５５）で表される。但し、ここでは、分布が、一部負の範囲に分布する可能性がある。
【０１１８】
ステップＳ３−４−７
多値データ圧縮部２６（多値データ圧縮部３６）は、差分データ生成部７２（差分データ生成部８２）によって生成された、上記差分データを受入れて圧縮し、差分値圧縮データを取得する。以後、この差分値圧縮データを（実施例３における）第２の差分値圧縮データ（第３の差分値圧縮データ）と記す。ここでの圧縮方法は、多値のエントロピー符号化方式として、よく知られているＲａｎｇｅＣｏｄｅｒを利用する。
【０１１９】
ステップＳ３−４−８
多値データ圧縮部２６（多値データ圧縮部３６）は、第２の差分値圧縮データ（第３の差分値圧縮データ）をデータ出力部３へ送出してフローを終了する。
【０１２０】
図２０は、実施例３による画像処理結果の説明図である。
この図は、実施例１、及び実施例２と同様のテストパターンに基づく画像データに対して、本実施例の処理を行い、取得した第２、第３の差分データ（８ｂｉｔ、０〜２５５、負の値の場合には２の補数）の出現確率から平均情報量（ｂｉｔ/画素）を導出した値を実施例３の第２（第３）の差分データとして表わしている。比較値として（実施例２による）第２（第３）の差分絶対値データと、第２（第３）の符号データとを表わしている。これらの値から、実施例２に該当する、第２の差分絶対値データ（３.５７）と第２の符号データ（０.９９）とを加算した値（４.５７）は、実施例３に該当する実施例３の第２の差分データ（４.２）の方が小さいことが分かる。同様に、実施例２に該当する、第３の差分絶対値データ（４.０）と第３の符号データ（０.９８５）とを加算した値（４.９８５）は、実施例３に該当する実施例３の第３の差分データ（４.７５）の方が小さいことが分かる。
【０１２１】
即ち、本実施例によれば、第１の符号データを予測値として、隣接する画素との大小関係を推定し、差分値を導出することで、その差分値が正の範囲に分布する確率が増加するため、確率分布に偏りが生じ、圧縮率を高めることが可能になるという効果を得る。叉、第１の実施例、及び第２の実施例と比較して、第２、及び第３の符号データを生成する必要が無くなるので、構成が単純になるという効果を得る。
【産業上の利用可能性】
【０１２２】
以上の説明では、ＲＧＢカラー画像データを用いて説明したが、他の複数の単位色からなっている多色画像データにも応用できる。叉、本発明を静止画像圧縮に適用した場合について説明したが、本発明は、この例に限定されるものではない。即ち、本発明を動画像圧縮にも適用可能である。かかる場合には、上記第一単位色の階調値及び第２単位色の階調値は、時系列的に配列されても本発明の手法を応用できるのはいうまでもない。叉、本発明はプリンター、複合機、ＦＡＸなどに使われている画像データには応用できる。
【図面の簡単な説明】
【０１２３】
【図１】実施例１の構成を示す機能ブロック図である。
【図２】実施例１の全体動作を示すフローチャートである。
【図３】実施例１の第１の差分絶対値圧縮データ取得のフローチャートである。
【図４】実施例１の第１の符号圧縮データ取得のフローチャートである。
【図５】実施例１の第２（第３）の差分絶対値圧縮データ取得のフローチャートである。
【図６】実施例１の第２（第３）の符号圧縮データ取得のフローチャートである。
【図７】実施例１による画像処理結果の説明図である。
【図８】実施例２の構成を示す機能ブロック図である。
【図９】実施例２の全体動作を示すフローチャートである。
【図１０】実施例２の第１の差分絶対値圧縮データ取得のフローチャートである。
【図１１】実施例２の第１の符号圧縮データ取得のフローチャートである。
【図１２】実施例２の第２（第３）の差分絶対値圧縮データ取得のフローチャートである。
【図１３】実施例２の第２（第３）の符号圧縮データ取得のフローチャートである。
【図１４】実施例２による画像処理結果の説明図である。
【図１５】実施例３の構成を示す機能ブロック図である。である。
【図１６】実施例３の全体動作を示すフローチャートである。
【図１７】実施例３の第１の差分絶対値圧縮データ取得のフローチャートである。
【図１８】実施例３の第１の符号圧縮データ取得のフローチャートである。
【図１９】実施例３の第２（第３）の差分値圧縮データ取得のフローチャートである。
【図２０】実施例３による画像処理結果の説明図である。
【符号の説明】
【０１２４】
１    カラー画像データ入力部
２    カラープレーンデータ分割部
３    データ出力部
１０    第１のプレーンデータ記録部
１１    第１のプレーンデータ圧縮部
１２    符号データ生成部
１３    差分絶対値生成部
１４    ２値データ圧縮部
１５    多値データ圧縮部
２０    第２のプレーンデータ記録部
２１    第２のプレーンデータ圧縮部
２２    符号データ生成部
２３    差分絶対値生成部
２４    予測一致データ生成部
２５    ２値データ圧縮部
２６    多値データ圧縮部
３０    第３のプレーンデータ記録部
３１    第３のプレーンデータ圧縮部
３２    符号データ生成部
３３    差分絶対値生成部
３４    予測一致データ生成部
３５    ２値データ圧縮部
３６    多値データ圧縮部
【図１】
2007129468.tif 000003
【図２】
2007129468.tif 000004
【図３】
2007129468.tif 000005
【図４】
2007129468.tif 000006
【図５】
2007129468.tif 000007
【図６】
2007129468.tif 000008
【図７】
2007129468.tif 000009
【図８】
2007129468.tif 000010
【図９】
2007129468.tif 000011
【図１０】
2007129468.tif 000012
【図１１】
2007129468.tif 000013
【図１２】
2007129468.tif 000014
【図１３】
2007129468.tif 000015
【図１４】
2007129468.tif 000016
【図１５】
2007129468.tif 000017
【図１６】
2007129468.tif 000018
【図１７】
2007129468.tif 000019
【図１８】
2007129468.tif 000020
【図１９】
2007129468.tif 000021
【図２０】
2007129468.tif 000022