(57)【特許請求の範囲】
【請求項１】
画像データの隣接する２ラインをペアとして、所定ライン毎にラン長の分布を算出するラン長分布算出手段と、前記ラン長分布算出手段で算出されたラン長分布に基づき、前記画像データが人工画像か自然画像かを判別する画像種判別手段と、前記画像データにロスレスの圧縮処理を施す第1の圧縮手段と、前記画像データにロッシーの圧縮処理を施す第2の圧縮手段とを有し、前記画像種判別手段が、前記画像データを人工画像と判別した場合に前記ロスレスの圧縮処理を行い、前記画像データが自然画像と判別した場合に前記ロッシーの圧縮処理を行なう画像処理装置であって、前記ラン長は、第１のライン中の第１の画素と同一の特性値であり、前記第１の画素に隣接する、第２のライン中の第２の画素をペアとし、連続したペアの数であることを特徴とする画像処理装置。
【請求項２】
画像データの隣接しない２ラインをペアとして、所定ライン毎にラン長の分布を算出するラン長分布算出手段と、前記ラン長分布算出手段で算出されたラン長分布に基づき、前記画像データが人工画像か自然画像かを判別する画像種判別手段と、前記画像データにロスレスの圧縮処理を施す第1の圧縮手段と、前記画像データにロッシーの圧縮処理を施す第2の圧縮手段とを有し、前記画像種判別手段が、前記画像データを人工画像と判別した場合に前記ロスレスの圧縮処理を行い、前記画像データが自然画像と判別した場合に前記ロッシーの圧縮処理を行なう画像処理装置であって、前記ラン長は、第１のライン中の第１の画素と同一の特性値であり、第２のライン上で前記第１の画素の位置と同一位置にある第２の画素をペアとし、連続したペアの数であることを特徴とする画像処理装置。
【請求項３】
画像データの隣接する２ラインをペアとして、所定ライン毎にラン長の分布を算出するラン長分布算出工程と、前記ラン長分布算出工程で算出されたラン長分布に基づき、前記画像データが人工画像か自然画像かを判別する画像種判別工程と、前記画像データにロスレスの圧縮処理を施す第1の圧縮工程と、前記画像データにロッシーの圧縮処理を施す第2の圧縮工程とを有し、前記画像種判別工程が、前記画像データを人工画像と判別した場合に前記ロスレスの圧縮処理を行い、前記画像データが自然画像と判別した場合に前記ロッシーの圧縮処理を行なう画像処理方法であって、前記ラン長は、第１のライン中の第１の画素と同一の特性値であり、前記第１の画素に隣接する、第２のライン中の第２の画素をペアとし、連続したペアの数であることを特徴とする画像処理方法。
【請求項４】
画像データの隣接しない２ラインをペアとして、所定ライン毎にラン長の分布を算出するラン長分布算出工程と、前記ラン長分布算出工程で算出されたラン長分布に基づき、前記画像データが人工画像か自然画像かを判別する画像種判別工程と、前記画像データにロスレスの圧縮処理を施す第1の圧縮工程と、前記画像データにロッシーの圧縮処理を施す第2の圧縮工程とを有し、前記画像種判別工程が、前記画像データを人工画像と判別した場合に前記ロスレスの圧縮処理を行い、前記画像データが自然画像と判別した場合に前記ロッシーの圧縮処理を行なう画像処理方法であって、前記ラン長は、第１のライン中の第１の画素と同一の特性値であり、第２のライン上で前記第１の画素の位置と同一位置にある第２の画素をペアとし、連続したペアの数であることを特徴とする画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の種類を判別して処理する画像種判別方法、画像種判別装置、画像種に適した圧縮方法で画像を圧縮する画像処理装置および方法に関し、アプリケーションプログラムやプリンタドライバ等のデバイスドライバ、その他画像を扱う機器に好適な技術である。
【０００２】
【従来の技術】
コンピュータの普及と高性能化により、写真のような自然画像とは異なったロゴやバナーのような人工的な画像（以下、人工画像）の作成が容易となっている。このような人工画像は、同一色の画素が連続する一方で、隣接画素間の色が極端に異なる場合があるという特徴を持つ。
【０００３】
一般に、画像データは容量が大きいため、その保存や送信に際しては、通常、圧縮が施される。そして、自然画像の圧縮法としては、例えばＪＰＥＧ方式がある。しかし、ＪＰＥＧは、隣接画素の色の差が小さいという自然画像の特徴を前提としているため、このような前提が成立しない人工画像に適用すると、画質劣化を招くという問題がある。また逆に、人工画像に適した圧縮方法（例えば、ランレングス符号化）を自然画像に適用すると、圧縮率が上がらないという問題が生じる。
【０００４】
そこで、これら異なった種類の画像に対しては、異なった圧縮方式を適用することが望ましい。このような従来例として、第１の圧縮方法で画像を部分的に圧縮し、その圧縮率が所定のしきい値を超えているときには第１の圧縮方法で画像を圧縮し、そうでないときは第２の圧縮方法を選択して画像を圧縮するプリンタシステムが提案されている（特許第２８１４９７０号を参照）。
【０００５】
【発明が解決しようとする課題】
しかし、上記した方法では、圧縮率のみから異なる圧縮方法を選択しているので、必ずしも画像の種類（自然画像と人工画像など）に最適な圧縮方法を選択しているとはいえない。
【０００６】
本発明は上記した問題点に鑑みてなされたもので、
本発明の目的は、自然画像と人工画像のような、異なった特徴を持つ画像を簡易に判別し、判別された画像種に適切な圧縮方法を選択する画像処理装置および方法を提供することにある。
【０００７】
【課題を解決するための手段】
本発明では、画像データのラン長（ランレングス）の分布を求めることによって、画像種が自然画像であるか人工画像であるかを判別する。自然画像と判別された場合には、自然画像に適した圧縮方法（ＪＰＥＧ）を選択し、人工画像と判別された場合には、人工画像の圧縮率を上げることができ、また画質的に人工画像に適した圧縮方法（ランレングス符号化）を選択する。
【０００８】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて具体的に説明する。
【０００９】
図１は、本発明の実施例の第１の構成を示す。図において、１は画像データ、２は画像データの所定方向のラン長の分布を算出するラン長分布算出手段、３はラン長分布を基に画像データの種類を判別する画像種判別手段、４は第１の画像圧縮手段、５は第２の画像圧縮手段、６は判別された画像種を基に第１または第２の画像圧縮手段の出力を選択する選択手段、７は圧縮データである。
【００１０】
第１の画像圧縮手段４は、オリジナル画像をロスレスのランレングス符号化で圧縮する圧縮手段であり、圧縮法を示すヘッダ（例えばビット１）を付けた圧縮データを選択手段６に出力する。また、第２の画像圧縮手５は、オリジナル画像をロッシーなＪＰＥＧで圧縮する圧縮手段であり、圧縮法を示すヘッダ（例えばビット０）を付けた圧縮データを選択手段６に出力する。
【００１１】
図２は、本発明の実施例の第２の構成を示す。図１の構成と相違する点は、選択回路６が第１の画像圧縮手段４と第２の画像圧縮手段５の入力側に設けられている点である。図１の構成では、ラン長の分布算出、画像種の判別処理と、画像圧縮処理とを並行して行ったが、図２の構成では、前処理の段階で、ラン長分布算出手段２は画像データのラン長の分布を算出し、ラン長の分布を基に画像種判別手段３は画像データの画像種を判別する。画像種判別手段３からの判別信号が選択手段６に与えられ、圧縮処理の段階で、画像データ１は選択手段６で選択された第１または第２の画像圧縮手段４、５で圧縮され、圧縮法を示すヘッダが付加された圧縮データ７が出力される。
【００１２】
図３は、典型的な自然画像の例を示す。また、図４は、図３の円内を拡大した図である。自然画像は、その照明条件（太陽光等）が被写体の位置によって異なり、かつＣＣＤなどの撮像素子のノイズも加わるため、画像を構成する画素の色は、隣接画素同士でもほとんど同じにはならない。
【００１３】
すなわち、図４の矢印方向に、同じ色が連続する長さ（同色画素のラン長）の統計をとった場合、ほとんどが１（同色が連続しないため１、あるいはこれを０として扱う場合もある）となる。つまり、自然画の同色画素のラン長（ランレングス）の分布は、ほとんど０に集中する。図５は、自然画像のラン長の分布を示す。
【００１４】
これに対して、図６は、典型的な人工画像の例である。人工画像は、ある領域を同一色や同一パターンで塗りつぶすことによって作成することが多いため、同色画素のラン長には長いものと短いものが混在し、その分布の幅は自然画像よりも遙かに広いものとなる。図７は、人工画像のラン長の分布を示す。このように、自然画像と人工画像では、ラン長の分布が異なる。
【００１５】
図８は、画像判別の実験結果例を示す。図９は実験に使用した人工画像の例を示し、図１０は実験に使用した自然画像の例を示す。
【００１６】
（実施例１）
そこで、本発明の実施例１では、画像データの画素の特性値（上記した例では色）について、所定方向（図４の例では矢印方向）へのラン長の分布を求めることにより、画像の種類（自然画像か人工画像か等）を簡易に判別し、画像の種類に適した処理を選択する。
【００１７】
図１１、１２は、本発明の実施例１に係る処理フローチャートである。図１１は、図１に示す第１の構成により実行される処理フローチャートであり、図１２は、図２に示す第２の構成により実行される処理フローチャートである。
【００１８】
ラン長分布算出手段２は、オリジナル画像データ１を読込後、該画像の２０行おきに（全ての行について処理してもよいが、必ずしもその必要はない）、該行の同色画素のラン長を求め、ラン長毎の頻度を保持する（図１１のステップ１０１、図１２のステップ２０１）。なお、上記した行は、主走査ラインに相当する
。
【００１９】
ここで、ラン長（ランレングス）とは周知の量であり、本実施例においては図１３に示すように、１つの行（ライン）において同一色の画素がいくつ続くかを数えたものであり、図１３の例では、左から順に１、０、１、１となる。なお、ラン長を２、１、２、２と数えても良いが、数え始めの点を除く場合には上記したように１、０、１、１となる。また、同一色とは、２つの画素においてＲ，Ｇ，Ｂ各々の値がすべて等しいことを意味する。
【００２０】
２０行おきのすべての行についてのラン長の頻度が保持された後、前記頻度の合計をｎ（ラン長が全部でｎ個あったということ）、ｉ番目のラン長をＸｉとしたとき、以下の式（１）または式（２）を用いてラン長の分散ＤｅｖＲｕｎを計算する（図１１のステップ１０２、図１２のステップ２０２）。
【００２１】
一般に、ある値の分布を調べるためには、その値のヒストグラムをとり、その形状を比較することにより行う。しかし、分布の幅が広いか狭いかだけを見れば充分である場合には、前記値の分散を求めるのが簡易な方法である。本実施例および後述する実施例では、ラン長の分布を分散として求めることにより、簡単な計算で分布形状の指標を得ることができる。
【００２２】
【数１】
0004001261.tif 000002
【００２３】
画像種判別手段３は、分散ＤｅｖＲｕｎが実験で規定された閾値Ｔｈ（たとえば１０）以上の場合には（図１１のステップ１０３でＹｅｓ、図１２のステップ２０３でＹｅｓ）、人工画像であると判別し、図１の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４で圧縮されたデータを選択し、出力する（ステップ１０４）。図２の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４を選択し、画像データ１は第１の画像圧縮手段４で圧縮される（ステップ２０４）。
【００２４】
このように、オリジナル画像が人工画像と判別されたとき、画質的に人工画像に適したロスレスのランレングス符号化が選択され、高い圧縮率のデータが得られる。
【００２５】
一方、分散ＤｅｖＲｕｎ＜Ｔｈの場合（図１１のステップ１０３でＮｏ、図１２のステップ２０３でＮｏ）、画像種判別手段３は自然画像であると判別し、図１の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５で圧縮されたデータを選択し、出力する（ステップ１０５）。図２の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５を選択し、画像データ１は第２の画像圧縮手段５で圧縮される（ステップ２０５）。
【００２６】
このように、オリジナル画像が自然画像と判別されたとき、ロッシーなＪＰＥＧが選択される。
【００２７】
なお、上記したように、ラン長の分布を画像の水平方向（一方向）だけから採取してもよいが、２方向（水平および垂直方向）から採取すれば、画像種判別の信頼性を向上させることができる。
【００２８】
（実施例２）
図１４は、人工画像として代表的な縞からなる模様を示す。この縞からなる模様場合、矢印方向にラン長の分布をとると全て０となり自然画像的な分布となる。そこで、このような場合には、ラン長の分布ではなく、隣接する２つのラインの重複性として“重複ランの長さ（以下、重複ラン長）”の分布を求める。
【００２９】
すなわち、図１４において、ラインＡ上とラインＢ上の画素の色は全く同一であるから、重複ラン長＝１１と定義する。またラインＣ，Ｄ間においては、ラインＣ上の画素と、それに対するラインＤ上の画素の色はまったく一致しないため、重複ラン長はすべて０と定義する。従って、画像全体では、人工画像の重複ラン長の分布は広い幅を持つが、自然画像では図４に示すように、重複ラン長はほとんど０である。
【００３０】
実施例２では、人工画像がパターンからなる場合等に、隣接する２ラインの重複性を見ることにより、画像の種類（自然画像か人工画像か等）を簡易に判別し、画像の種類に適した処理を選択する。
【００３１】
図１５、１６は、本発明の実施例２に係る処理フローチャートである。図１５は、図１に示す第１の構成により実行される処理フローチャートであり、図１６は、図２に示す第２の構成により実行される処理フローチャートである。
【００３２】
ラン長分布算出手段２は、オリジナル画像データ１を読込後、該画像の２０行おきに、該行の重複ラン長を求め、ラン長毎の頻度を保持する（図１５のステップ３０１、図１６のステップ４０１）。また、該画像の２０列おきに、該列の重複ラン長を求め、ラン長毎の頻度を保持する（図１５のステップ３０２、図１６のステップ４０２）。実施例１と同様に、ラン長の分布を画像の一方向（例えば水平方向）だけから採取してもよいが、２方向（水平および垂直方向）から採取すれば、画像種判別の信頼性を向上させることができる。なお、水平方向を主走査方向とすると、垂直方向は副走査方向となる。
【００３３】
重複ラン長とは、画像データ中に所定方向へ向かう隣接する２ライン（図１７のＡ，Ｂ）を想定し、該第１のライン中の第１の画素（例えばＣ）と、該第１の画素と同一の特性値（図１７では色）を有し、該第１の画素に隣接する、第２のライン中の第２の画素（例えばＤ）をペアとした場合、該ペアのラン長（ただし、前記第１の画素Ｃと第２の画素Ｄの特性値が同一であればよく、隣接するペア同士の特性値が一致する必要はない；Ｃ＝Ｄ、Ｅ＝Ｆであり、ＣとＥの特性値が不一致でもよい）を指し、図１７のように２，０，２，０となる（数えはじめのペアを除いて、１，０，１，０のように数えることも可能である）。
【００３４】
次いで、ラン長分布算出手段２は、２０行おき、および２０列おきのすべての行、列についての重複ラン長の頻度が保持された後、前記頻度の合計をｎ（重複ランが全部でｎ個あったということ）、ｉ番目の重複ラン長をＸｉとした場合、前記した式（１）または式（２）を用いて重複ラン長の分散ＤｅｖＲｕｎを計算する（図１５のステップ３０３、図１６のステップ４０３）。
【００３５】
画像種判別手段３は、分散ＤｅｖＲｕｎが実験で規定された閾値Ｔｈ以上の場合には（図１５のステップ３０４でＹｅｓ、図１６のステップ４０４でＹｅｓ）、人工画像であると判別し、図１の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４で圧縮されたデータを選択し、出力する（ステップ３０５）。図２の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４を選択し、画像データ１は第１の画像圧縮手段４で圧縮される（ステップ４０５）。
【００３６】
一方、分散ＤｅｖＲｕｎ＜Ｔｈの場合（図１５のステップ３０４でＮｏ、図１６のステップ４０４でＮｏ）、画像種判別手段３は自然画像であると判別し、図１の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５で圧縮されたデータを選択し、出力する（ステップ３０６）。図２の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５を選択し、画像データ１は第２の画像圧縮手段５で圧縮される（ステップ４０６）。
【００３７】
（実施例３）
図１４に示す縞からなるパターンの場合は、隣接する２ラインの他に、隣接しない２ライン間での重複ラン長の分布を求めてもよい。つまり、ラインＡ，Ｃ間では重複ラン長＝１１であり、ラインＣ，Ｅ間では重複ラン長＝０となるからである。
【００３８】
すなわち、重複ランと同様の量として、画像データ中に所定方向へ向かう隣接しない２ラインを想定し、第１のライン中の第１の画素と、該第１の画素と同一の特性値を有し、第２のライン上で第１の画素の位置と同一位置にある第２の画素をペアとした場合、該ペアのラン長（ただし、第１と第２の画素の特性値が同一であればよく、隣接するペア同士の特性値が一致する必要はない。以下、「非隣接重複ラン」いう）も有用である。
【００３９】
非隣接重複ラン長は、図１４の２ラインＡ，Ｃのペアを例に採ると、１１（１サンプルのみ）であり、Ｃ，Ｅのペアを例に採ると、０，０，０，０，０，０，０，０，０，０，０（１１サンプル）である。
【００４０】
実施例３では、人工画像が縞などのパターンからなる場合等に、隣接しない２ラインの重複性を見ることにより、画像の種類（自然画像か人工画像か等）を簡易に判別し、画像の種類に適した処理を選択にする。
【００４１】
図１８、１９は、本発明の実施例３に係る処理フローチャートである。図１８は、図１に示す第１の構成により実行される処理フローチャートであり、図１９は、図２に示す第２の構成により実行される処理フローチャートである。
【００４２】
ラン長分布算出手段２は、オリジナル画像データ１の２０行おきに、非隣接重複ラン長を計算し、ラン長毎の頻度を保持する（図１８のステップ５０１、図１９のステップ６０１）。ここで「非隣接」の度合いとしては、図１４の例で説明したように１ラインおき（例えばＡとＣ）としている。
【００４３】
次いで、非隣接重複ラン長の分散ＤｅｖＲｕｎを計算し（図１８のステップ５０２、図１９のステップ６０２）、ＤｅｖＲｕｎをオリジナル画像の横画素数（ライン方向の画素数）ｗｉｄｔｈの２乗で正規化する（図１８のステップ５０３、図１９のステップ６０３）。ラン長や重複ラン長は、画素数が多いほど大きな値をとると考えられるため、分散を所定方向（横方向）の画素数の２乗で正規化することによって分布形状の指標の精度を向上させることができる。
【００４４】
画像種判別手段３は、正規化されたＤｅｖＲｕｎが実験で規定された閾値Ｔｈ以上の場合には（図１８のステップ５０３でＹｅｓ、図１９のステップ６０３でＹｅｓ）、人工画像であると判別し、図１の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４で圧縮されたデータを選択し、出力する（ステップ５０４）。図２の構成においては、選択手段６に対して人工画像を選択する信号を指示する。選択手段６は、第１の画像圧縮手段４を選択し、画像データ１は第１の画像圧縮手段４で圧縮される（ステップ６０４）。
【００４５】
一方、正規化されたＤｅｖＲｕｎ＜Ｔｈの場合（図１８のステップ５０３でＮｏ、図１９のステップ６０３でＮｏ）、画像種判別手段３は自然画像であると判別し、図１の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５で圧縮されたデータを選択し、出力する（ステップ５０５）。図２の構成においては、選択手段６に対して自然画像を選択する信号を指示する。選択手段６は、第２の画像圧縮手段５を選択し、画像データ１は第２の画像圧縮手段５で圧縮される（ステップ６０５）。
【００４６】
なお、実施例３についても、実施例１、２と同様に、ラン長の分布を画像の２方向（水平および垂直方向）から採取することにより、画像種判別の信頼性を向上させることができる。
【００４７】
上記した各実施例では、「画素の特性値」を色の全成分値、つまりＲＧＢの画像ならＲＧＢ値の全て、ＣＭＹＫ画像ならＣＭＹＫの全てとし、色の全成分値を用いてラン長等を求めることにより、分布形状の指標を高精度に求めることができた。
【００４８】
すなわち、オリジナル画像がＲＧＢ画像である場合には、ラン長等を求めるときには、Ｒ，Ｇ，Ｂのすべての値が一致することを条件としていた。しかし、計算を簡単にするために、輝度成分が多く含まれたＧの値だけを参照し（２つの画素の違いは、両者の輝度成分に大きく反映されるので）、Ｇの値が一致すればラン長としてカウントしてもよい。これにより、簡易な計算で、分布形状の指標を高速に求めることができる。
【００４９】
図２０は、６画素のＧの値をグレーレベルで示した図であり、Ｇのラン長としては、２、４となる。
【００５０】
同様に、図２１は、オリジナル画像がＣＭＹＫ画像であり、輝度成分が多く含まれたＭの値だけを参照して（２つの画素の違いは、両者の輝度成分に大きく反映されるので）、Ｍの値が一致すれば重複ラン長としてカウントした例である。この例でも、簡易な計算で、分布形状の指標を高速に求めることができる。
【００５１】
図２１の例では、１２画素のＭの値をグレーレベルで示し、Ｍの重複ラン長としては、２，０，２，０となる。
【００５２】
図２２は、１つの画像中に自然画像と人工画像が混在している場合の例である。この場合、前述した画像種判別法では、人工画像部分の影響によって、全体のラン長や重複ラン長は人工画像的な分布となってしまう。そこで、人工画像と自然画像が混在した場合でも適切な処理を行うために、画像を図２２に示すように複数のブロック（タイル）に分割し、分割されたブロック毎に、前述した各実施例と同様の計算を行い、ブロック毎に画像種を判別して、圧縮手段を選択する。
【００５３】
図２３は、画像をブロックに分割して処理する場合の第１の構成を示し、図１の構成にさらに画像分割手段８が追加されている。図２４は、画像をブロックに分割して処理する場合の第２の構成を示し、図２の構成にさらに画像分割手段８が追加されている。
【００５４】
図２５は、圧縮されたデータを復元するための構成を示す。圧縮されたデータ７はデコーダ９に入力され、デコーダ９では、圧縮データのヘッダを復号することにより、圧縮方法を識別し、その識別結果でランレングス復号器１０またはＪＰＥＧ伸張手段１１の何れかを用いて画像データ１２を復元する。
【００５５】
上記したように、本発明は専用のハードウェアによって実施してもよいことは当然であるが、汎用のコンピュータシステムを利用し、ソフトウェアで実施してもよい。ソフトウェアで実施する場合には、本発明の各実施例で説明した、処理フローチャートの各ステップを実行するプログラムが記録媒体などに記録されていて、該記録媒体などからプログラムがコンピュータシステムに読み込まれてＣＰＵによって実行される。
【００５６】
図２６は、本発明をソフトウェアで実施する場合の第１の構成例を示す。データバスを介して、ＨＤＤ（ハードディスク）、ＲＡＭ、ＣＰＵが接続され、以下の手順により、オリジナル画像の種類の判別と、該種類に応じた圧縮処理が実行される。
１．ＨＤＤ上に記録されたオリジナル画像は、ＣＰＵからの命令によってＲＡＭ上に読み込まれる。
２．ＣＰＵは、ＲＡＭ上の画像を読み込み、本発明の判別方法によって画像種を判別し、画像種に応じた圧縮方法を選択して圧縮を行う。
３．ＣＰＵは、圧縮後のデータをＲＡＭ上の別の領域に書き込む。
４．全てのオリジナル画像が圧縮されると、ＣＰＵからの命令によって、圧縮後のデータがＨＤＤ上に記録される。
【００５７】
図２７は、本発明をソフトウェアで実施する場合の第２の構成例を示す。データバスを介して、ＨＤＤ、ＲＡＭ１（ＰＣ内）、ＣＰＵ１（ＰＣ内）、プリンタが接続されている。
【００５８】
オリジナル画像をプリントアウトする際に、該画像の種類を判別し、該種類に応じた圧縮を行い、圧縮後のデータがプリンタに送信される。プリンタへの送信データ量が低減されるため、送信時間が短縮され、圧縮・伸張に要する時間を加味しても、高速なプリントが可能になる。
１．ＨＤＤ上に記録されたオリジナル画像は、ＣＰＵからの命令によってＲＡＭ上に読み込まれる。
２．ＣＰＵ１は、ＲＡＭ１上の画像を読み込み、本発明の判別方法によって画像種を判別し、該種類に応じた圧縮方法を選択して圧縮を行う。
３．ＣＰＵ１は、圧縮後のデータをＲＡＭ１上の別の領域に書き込む。
４．ＣＰＵ１からの命令によって、圧縮後のデータがプリンタ内のＲＡＭ２上に記録される。
５．プリンタ内のＣＰＵ２は、圧縮後のデータを読み込み、該圧縮後のデータのヘッダ部分に記録された情報から前記選択された圧縮方法を識別し、該圧縮方法を逆に処理することによって復号値を得て、画像の伸張を行う。
６．ＣＰＵ２は、伸張後のデータをＲＡＭ２上に書き込む。
７．その後プリンタは、伸張されたデータを所定の手順でプリントアウトする。
上記した構成例では、オリジナル画像がハードディスクに用意されていたが、本発明のオリジナル画像はこれに限定されず、例えばスキャナなどから読み込んだ画像データやネットワークを介して取り込んだ画像データでもよい。また、図２７の構成例において、圧縮後の画像をネットワークを介して他の外部装置（プリンタなど）に出力するようにしてもよい。
【００５９】
なお、本発明は上記した実施例に限定されず種々の変更が可能である。例えば、本発明の画像種判別方法は、適切な圧縮方法の選択の他に、画像種に適した色変換処理や中間調処理を選択する場合などにも適用することができる。
【００６０】
【発明の効果】
以上、説明したように、本発明によれば、以下のような効果が得られる。
（１）画像データのラン長の分布を基に人工画像と自然画像を簡易かつ精度よく判別でき、画像種に適した圧縮方法を選択することが可能となる。
（２）人工画像が所定パターンからなる場合に、隣接する２ラインまたは隣接しない２ラインの重複ラン長の分布を求めることにより、画像の種類を簡易かつ精度よく判別でき、画像種に適した圧縮方法を選択することが可能となる。
（３）複数方向のラン長の分布を求めているので、人工画像と自然画像を簡易かつ高い信頼性で判別することができる。
（４）画像をブロックに分割し、ブロック毎にラン長の分布を求めているので、人工画像と自然画像が混在した場合でも、ブロック毎に適切な圧縮方法を選択することが可能となる。
（５）ラン長の分布を分散として求めているので、簡易な計算で分布形状の指標を得ることができ、また分散を所定方向の画素数の２乗で正規化しているので、分布形状の指標の精度を向上させることができる。
（６）色の全成分値を用いてラン長の分布を求めているので、分布形状の指標を高精度に求めることができる。
（７）色のＧ成分またはＭ成分のみを用いてラン長の分布を求めているので、簡易な計算で、分布形状の指標を高速に求めることができる。
【図面の簡単な説明】
【図１】  本発明の実施例の第１の構成を示す。
【図２】  本発明の実施例の第２の構成を示す。
【図３】  自然画像の例を示す。
【図４】  自然画像の一部拡大図を示す。
【図５】  自然画像のラン長の分布を示す。
【図６】  人工画像の例を示す。
【図７】  人工画像のラン長の分布を示す。
【図８】  画像判別の実験結果例を示す。
【図９】  実験に使用した人工画像の例を示す。
【図１０】  実験に使用した自然画像の例を示す。
【図１１】  本発明の実施例１に係る第１の処理フローチャートである。
【図１２】  本発明の実施例１に係る第２の処理フローチャートである。
【図１３】  実施例１におけるラン長の数え方を説明する図である。
【図１４】  縞からなる模様の例を示す。
【図１５】  本発明の実施例２に係る第１の処理フローチャートである。
【図１６】  本発明の実施例２に係る第２の処理フローチャートである。
【図１７】  重複ランを説明する図である。
【図１８】  本発明の実施例３に係る第１の処理フローチャートである。
【図１９】  本発明の実施例３に係る第２の処理フローチャートである。
【図２０】  Ｇの値のみによるラン長の例を示す。
【図２１】  Ｍの値のみによる重複ラン長の例を示す。
【図２２】  １つの画像中に自然画像と人工画像が混在している例を示す。
【図２３】  画像をブロックに分割して処理する場合の第１の構成を示す。
【図２４】  画像をブロックに分割して処理する場合の第２の構成を示す。
【図２５】  圧縮されたデータを復元するための構成を示す。
【図２６】  本発明をソフトウェアで実施する場合の第１の構成例を示す。
【図２７】  本発明をソフトウェアで実施する場合の第２の構成例を示す。
【符号の説明】
１、１２  画像データ
２  ラン長分布算出手段
３  画像種判別手段
４  第１の画像圧縮手段
５  第２の画像圧縮手段
６  選択手段
７  圧縮データ
８  画像分割手段
９  デコーダ
１０  ランレングス復号器
１１  ＪＰＥＧ伸張手段
【図１】
0004001261.tif 000003
【図２】
0004001261.tif 000004
【図３】
0004001261.tif 000005
【図４】
0004001261.tif 000006
【図５】
0004001261.tif 000007
【図６】
0004001261.tif 000008
【図７】
0004001261.tif 000009
【図８】
0004001261.tif 000010
【図９】
0004001261.tif 000011
【図１０】
0004001261.tif 000012
【図１１】
0004001261.tif 000013
【図１２】
0004001261.tif 000014
【図１３】
0004001261.tif 000015
【図１４】
0004001261.tif 000016
【図１５】
0004001261.tif 000017
【図１６】
0004001261.tif 000018
【図１７】
0004001261.tif 000019
【図１８】
0004001261.tif 000020
【図１９】
0004001261.tif 000021
【図２０】
0004001261.tif 000022
【図２１】
0004001261.tif 000023
【図２２】
0004001261.tif 000024
【図２３】
0004001261.tif 000025
【図２４】
0004001261.tif 000026
【図２５】
0004001261.tif 000027
【図２６】
0004001261.tif 000028
【図２７】
0004001261.tif 000029