(57)【特許請求の範囲】
【請求項１】
画像データの行方向または列方向に掃引し、同一画素値が連続するラン長を算出するラン長算出手段と、
算出されたラン長のうち前記画像データの画像幅−１以下のラン長よりラン長の分散を算出する分散算出手段と、
算出された分散が所定値（ＴＨ1 ）より大きいときは人工画像であると判定し、所定値（ＴＨ1 ）以下のときは自然画像と判定する判定手段と、
を備えたことを特徴とする画像種別判別装置。
【請求項２】
前記ラン長算出手段が所定行または所定列毎に掃引を行うようにしたことを特徴とする請求項１記載の画像種別判別装置。
【請求項３】
前記画像データに対してガマットマッピングを行い、前記ラン長算出手段が前記ガマットマッピングが行われた画像データに対して掃引を行うようにしたことを特徴とする請求項１または２記載の画像種別判別装置。
【請求項４】
画像データの行方向または列方向に掃引し、前回掃引された画像データと今回掃引した画像データとを各画素毎に比較し、同一画素値が連続する重複ラン長を算出するラン長算出手段と、
前記画像データの画像幅−１以下の前記重複ラン長の頻度の合計が所定数以下のとき人工画像であると判定する判定手段とを備えたことを特徴とする画像種別判別装置。
【請求項５】
前記請求項１乃至４のいずれかに記載の画像種別判別装置を備えた画像処理装置であって、前記判定手段で人工画像と判定されたときは前記画像データを第１の圧縮方法で圧縮し、自然画像と判定されたときは前記画像データを第２の圧縮方法で圧縮する圧縮手段を備えたことを特徴とする画像処理装置。
【請求項６】
コンピュータに、前記請求項１乃至４のいずれかに記載の手段を手段として機能させるプログラム。
【請求項７】
コンピュータに、前記請求項１乃至４のいずれかに記載の手段を手段として機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の種類を判別する画像種別判別装置、画像種別に適した圧縮方法で画像を圧縮する画像処理装置、プログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
コンピュータの普及と高性能化により、写真のような自然画像とは異なったロゴやバナーのような人工的な画像（以下、人工画像）の作成が容易となっている。このような人工画像は、同一色の画素が連続する一方で、隣接画素間の色が極端に異なる場合があるという特徴を持つ。
【０００３】
一般に、画像データは容量が大きいため、その保存や送信に際しては、通常、圧縮が施される。そして、自然画像の圧縮法としては、例えばＪＰＥＧ方式がある。しかし、ＪＰＥＧは、隣接画素の色の差が小さいという自然画像の特徴を前提としているため、このような前提が成立しない人工画像に適用すると、画質劣化を招くという問題がある。また逆に、人工画像に適した圧縮方法（例えば、ランレングス符号化）を自然画像に適用すると、圧縮率が上がらないという問題が生じる。
【０００４】
そこで、これら異なった種類の画像に対しては、異なった圧縮方式を適用することが望ましい。このような従来例として、第１の圧縮方法で画像を部分的に圧縮し、その圧縮率が所定のしきい値を超えているときには第１の圧縮方法で画像を圧縮し、そうでないときは第２の圧縮方法を選択して画像を圧縮するプリンタシステムが提案されている（特許第２８１４９７０号を参照）。
【０００５】
【発明が解決しようとする課題】
しかし、上記した方法では、圧縮率のみから異なる圧縮方法を選択しているので、必ずしも画像の種類（自然画像と人工画像など）に最適な圧縮方法を選択しているとはいえない。
【０００６】
本発明は上記した問題点に鑑みてなされたもので、自然画像と人工画像のような、異なった特徴を持つ画像を簡易に判別し、判別された画像種別に適切な圧縮方法で圧縮する画像種別判別装置、画像処理装置、プログラムおよび記録媒体を提供することを課題とする。
【０００７】
【課題を解決するための手段】
請求項１の発明においては、画像データの行方向または列方向に掃引し、同一画素値が連続するラン長を算出するラン長算出手段と、算出されたラン長のうち前記画像データの画像幅−１以下のラン長よりラン長の分散を算出する分散算出手段と、算出された分散が所定値（ＴＨ1 ）より大きいときは人工画像であると判定し、所定値（ＴＨ1 ）以下のときは自然画像と判定する判定手段と、備える。
【０００９】
請求項２の発明においては、前記ラン長算出手段が所定行または所定列毎に掃引を行う。
請求項３の発明においては、前記画像データに対してガマットマッピングを行い、前記ラン長算出手段が前記ガマットマッピングが行われた画像データに対して掃引を行う。
【００１０】
請求項４の発明においては、画像データの行方向または列方向に掃引し、前回掃引された画像データと今回掃引した画像データとを各画素毎に比較し、同一画素値が連続する重複ラン長を算出するラン長算出手段と、前記画像データの画像幅−１以下の前記重複ラン長の頻度の合計が所定数以下のとき人工画像であると判定する判定手段とを備えた。
【００１４】
請求項５の発明においては、前記請求項１乃至４のいずれかに記載の画像種別判別装置を備えた画像処理装置であって、前記判定手段で人工画像と判定されたときは前記画像データを第１の圧縮方法で圧縮し、自然画像と判定されたときは前記画像データを第２の圧縮方法で圧縮する圧縮手段を備える。
【００１５】
請求項６の発明においては、コンピュータに、前記請求項１乃至４のいずれかに記載の手段を手段として機能させるプログラム。
請求項７の発明においては、コンピュータに、前記請求項１乃至４のいずれかに記載の手段を手段として機能させるプログラムを記録した記録媒体。
【００１６】
【発明の実施の形態】
本発明の実施の形態を図１〜図３を参照して説明する。図１は本発明の実施例の構成図、図２および図３は本発明の第１の実施例の動作フローチャートである。
【００１７】
図１において、１は画像メモリ、２は色分離部、３はラン長算出部、４は分散算出部、５は判定部、６は符号化部、７は制御部、８および９はインタフェース（Ｉ／Ｏ）、１０は処理を行うプロセッサ（ＣＰＵ）である。
【００１８】
先ず、第１の実施例の動作を説明する前に原理を説明する。
図４（Ａ）は自然画像の一例を、また図５は人工画像の一例を示す。また図４（Ｂ）は図４（Ａ）の円内を拡大した図である。
自然画像は、図４（Ｂ）に示されるように、隣接する画素の画素値の相関が小さく、また人工画像は、図５に示されるように、キャラクタ内が同一色で塗りつぶされるため、隣接画素の画素値が同一となり相関が大となる。
【００１９】
そこで、図６に示されるように、画像データを行方向または列方向に掃引して、同一画素値が連続するラン長の頻度分布を求めると、図７に示されるような頻度分布が得られる。
【００２０】
自然画像は同一画素値が連続する割合が低く、図７（Ａ）に示されるように、ラン長が小さい部分に集中した頻度分布となり、一方人工画像は同一画素値が連続する割合が高く、図７（Ｂ）に示されるように、ラン長が大なる部分に分散した頻度分布となる。
【００２１】
なお図７（Ａ）および（Ｂ）に示されるＰ1 およびＰ2 なる頻度は、それぞれ図４（Ａ）および図５に示される画像に余白が有る場合に生じるもので、Ｐ1 は上部および下部余白によって生じ、またＰ2 は左および右余白によって生じるものである。
【００２２】
そこで、本発明においては、画像データを行方向または列方向に掃引してラン長の頻度分布を求め、求められた頻度分布よりラン長の分散を求め、求められたラン長の分散が所定値より大の場合は人工画像であると判定し、所定値より小さい場合は自然画像であると判定して画像種別を判別する。
【００２３】
また、図４（Ａ）に示されるように自然画像の周囲に余白が有る場合は、図７（Ａ）に示されるように、余白に対応したラン長に頻度Ｐ1 およびＰ2 が生じる。
このように自然画像に頻度Ｐ1 およびＰ2 が生じると自然画像のラン長頻度分布より求めたラン長の分散が大となって人工画像であると誤判定される場合が生じる。
【００２４】
したがって、ラン長が画像幅または略画像幅に対応する所定数以上のラン長の頻度を除いて（Ｐ1 を除く）分散を算出する。
【００２５】
つぎに、図２および図３を参照して、本発明の第１の実施例の動作を説明する。
ステップＳ１では、制御部７は、Ｉ／Ｏ８を介して画像データを取込み、画像メモリ１に記録する。
【００２６】
ステップＳ２では、色分離部２は、画像メモリ１に記録されている画像データをＲ（赤）、Ｇ（緑）およびＢ（青）成分に分離する。
なお、色成分の分離をＹ（黄）、Ｍ（マゼンダ）およびＣ（シアン）、またはＹ（輝度）、Ｕ（赤の色差）およびＶ（青の色差）に分離するようにしてもよい。
【００２７】
ステップＳ３では、ラン長算出部３は、ステップＳ２で分離されたＲ，ＧおよびＢ成分の画像データに対して２０行（または２０列）おきに掃引して同一画素値が連続するラン長を算出する。
なお実施例では２０行おきに掃引していたが、２０行に限定されるものではなく、全ての行を掃引するようにしてもよい。
【００２８】
ステップＳ４では、分散算出部４は、ステップＳ３で算出されたラン長が画像幅−１以下か否かを判定し、画像幅−１以下の場合はステップＳ５に移って図示しないメモリに記録する。
【００２９】
なおステップＳ４でラン長が画像幅−１以下か否かを判定していたが、画像に余白が有るか否かが判定できれば良く、ラン長が画像幅に近い所定数以下であるかを判定させるようにしてもよい。
【００３０】
ステップＳ６では全ての色成分に対する画像データに対してラン長の算出が行われたか否かが判定され、判定がＮＯの場合はステップＳ３に移ってステップＳ３〜Ｓ６が繰返される。
【００３１】
ステップＳ７では、分散算出部４は、ステップＳ５で記録されたラン長より次式の式（１）または式（２）を用いてラン長の分散（ＤＥＶ）を算出する。
【数１】
0003950305.tif 000002
【００３２】
ステップＳ８では、判定部５は、ステップＳ７で算出された分散ＤＥＶが所定値（ＴＨ1 ）より大か否かを判定し、判定がＹＥＳの場合は人工画像であると判別し、また判定がＮＯの場合は自然画像であると判別して符号化部６に転送する。
【００３３】
ステップＳ９では、符号化部６は、判定部５で人工画像であると判定された場合は、画像メモリ１に記録されている画像データに対して人工画像に対して適した例えばランレングス符号化を行ってＩ／Ｏ９より出力する。
【００３４】
ステップＳ１０では、符号化部６は、判定部５で自然画像であると判定された場合は、画像メモリ１に記録されている画像データを自然画像に適した例えば離散ユーサイン変換またはウェーブレット変換等を行って符号化し、Ｉ／Ｏ９より出力する。
【００３５】
ステップＳ１１では、制御部７は、次の人工画像が有るか否か判定し、有る場合はステップＳ１に移ってステップＳ１〜Ｓ１１が繰返される。
なお実施例ではステップＳ２でＲ，ＧおよびＢ成分に分離し、分離された全ての成分の画像データに対してステップＳ３でラン長の算出を行わせていたが、輝度成分が多く含まれるＧ成分のみの画像データに対してのみ掃引を行い、ラン長の算出を行うようにしてもよい。
【００３６】
また画像をＹ，ＵおよびＶに分離した場合はＹ成分のみに対してラン長を算出するようにしてもよい。
【００３７】
つぎに、図８および図９を参照して、本発明の第２の実施例の動作を説明する。
第１の実施例では、図５に示す人工画像のキャラクタ内が同一色で塗りつぶされた場合であったが、例えば図１０に示されるように、縞からなる模様で塗りつぶされている場合は、図７（Ｂ）で示した人工画像のラン長の頻度分布は図７（Ａ）に示される自然画像のラン長の頻度分布に近づき、自然画像と誤判定される場合が発生する。
【００３８】
そこで、第２の実施例では、ラン長の算出に代えて重複するラン長の算出を行わせるようにする。
すなわち、図１１に示されるように、前回掃引された各画素データと今回掃引された各画素データとを順次比較し、画素値が一致した場合は０を、一致しない場合は１とすると、１が出力された場合はラン長を１、０が出力された場合は０が連続して出力される個数をラン長として出力する（以後、重複ラン長と言う）。
【００３９】
このように重複ラン長を算出することによって図１０で示すような縞模様で塗りつぶされている場合でも算出された重複ラン長は第１の実施例のように同一色で塗りつぶされた場合と同一のラン長を得ることができる。
【００４０】
図８および図９で示す第２の実施例の動作フローチャートにおいては、図２および図３で説明した第１の実施例の動作フローチャートのステップＳ３〜Ｓ７に代えてステップＳ２３〜Ｓ２７が実行される。
すなわち、ステップＳ２３では、ラン長算出部３は、前述したように重複ラン長を算出する。
【００４１】
ステップＳ２４では、分散算出部４は、ステップＳ２３で算出された重複するラン長が画像幅−１以下であるか否かを判定し、判定がＹＥＳの場合はステップＳ２５に移って図示しないメモリに重複するラン長を記録する。
ステップＳ２６で重複ラン長の算出が全て終了した場合はステップＳ２７に移り、図示しないメモリに記録されている重複ラン長より式（１）または式（２）により分散を算出する。
【００４２】
つぎに、図１２を参照して、本発明の第３の実施例を説明する。
第３の実施例では、図１２に示されるように、第２の実施例で説明した図８のステップＳ２２およびＳ２３の間に、ガマットマッピングを行うステップＳ４０が挿入され、その他は第２の実施例の動作と同じである。
【００４３】
第２の実施例は、人工画像のキャラクタが縞模様で塗りつぶされた場合でも対処できるものであったが、第３の実施例は人工画像の背景が行方向または列方向に画素値が連続的に変化するグラデーションした画像に対処するものである。
【００４４】
このようにグラデーションした画像にも対処するため、ステップＳ２２でＲ，ＧおよびＢ成分に分離された画像データに対してステップＳ４０でガマットマッピングを行う。
【００４５】
ガマットマッピングは画像をプリンタ等に出力する場合に広く用いられているものであり、出力機器の色再現域はＣＲＴ等の表示装置より狭いためガマットマッピングが行われている。
【００４６】
ガマットマッピングを行うと原画像中では異なる２色が同じ色にマッピングされることがある。この結果、グラデーション画像においては本来異なる隣接する画素の色が同じ色にマッピングされ、同一色が連続する割合が増加し、人工画像と判断することが可能となる。
【００４７】
つぎに、図１３を参照して、本発明の第４の実施例を説明する。
第４の実施例は、前述した第３の実施例と同様に人工画像の背景がグラデーションした画像に対処するものである。
第４の実施例では、図１３に示されるように、第２の実施例で説明した図８のステップＳ２７とＳ２８の間にステップＳ５０およびＳ５１が挿入され、その他は第２の実施例で説明した通りである。
【００４８】
人工画像の背景等が全面グラデーションされた画像においては、重複ラン長の分散ＤＥＶは自然画像の分散より小さくなり、またステップＳ２３で算出した重複ラン長は画像幅のラン長が非常に多くなり、この画像幅のラン長はステップＳ２４で削除されるため、重複するラン長の頻度の合計は通常の画像に比べて非常に少なくなる。
【００４９】
そこで、ステップＳ２７で算出した分散ＤＥＶが第２の所定値ＴＨ2 より少ないか否かをステップＳ５０で判定し、判定がＹＥＳの場合ステップＳ５１に移り、ラン長の頻度の合計が所定数ｎ1 より少ないか否かを判定し、判定がＹＥＳの場合は人工画像であると判別し、ステップＳ２８に移る。
なおステップＳ５０を削除して、ステップＳ５１のみで判定させるようにしてもよい。
【００５０】
つぎに、図１４および図５を参照して、本発明の第５の実施例を説明する。
第５の実施例は第４の実施例と同様に人工画像の背景等が全面グラデーションされた画像に対処するものである。
【００５１】
第５の実施例においては、図８で説明した第２の実施例のステップＳ２４が削除され、ステップＳ２１〜Ｓ２３およびＳ２５〜Ｓ２７に対応するステップＳ６０〜Ｓ６６が実行される。
【００５２】
ステップＳ６７では、ステップＳ６６で算出された分散ＤＥＶが所定値ＴＨ3 以下であるか否かが判定され、判定がＮＯの場合はステップＳ６９に移る。
【００５３】
ステップＳ６８では、ステップＳ６４で記録された重複ラン長の中で画像幅に対応するラン長の頻度の合計が所定数ｎ2 以上であるか否かを判定し、判定がＹＥＳの場合は人工画像であるとしてステップＳ７１に移り、判定がＮＯの場合ステップＳ６９に移る。
【００５４】
ステップＳ６９では、ステップＳ６４で記録された重複ラン長の中で画像幅に対応する重複ラン長以下のラン長に対して分散ＤＥＶを算出し、ステップＳ７０に移り、図８および図９で説明した第２の実施例のステップＳ２８〜Ｓ３１に対応したステップＳ７０〜Ｓ７３が実行される。
【００５５】
【発明の効果】
以上説明したように、同一画素値が連続するラン長または重複するラン長を算出し、所定長以下のラン長に対してラン長の分散を算出し、算出された分散が所定値より大の場合は人工画像と判定し、所定値以下の場合は自然画像と判定するようにしたので、容易に人工画像と自然画像とを正確に判別することができる。
【図面の簡単な説明】
【図１】本発明の実施例の構成図である。
【図２】本発明の第１の実施例の動作フローチャートである。
【図３】本発明の第１の実施例の動作フローチャートである。
【図４】自然画像の一例を示す図である。
【図５】人工画像の一例を示す図である。
【図６】ラン長を説明する図である。
【図７】自然画像および人工画像のラン長の頻度分布の一例を示す図である。
【図８】本発明の第２の実施例の動作フローチャートである。
【図９】本発明の第２の実施例の動作フローチャートである。
【図１０】縞模様の人工画像の説明図である。
【図１１】重複するラン長を説明する図である。
【図１２】本発明の第３の実施例の動作フローチャートである。
【図１３】本発明の第４の実施例の動作フローチャートである。
【図１４】本発明の第５の実施例の動作フローチャートである。
【図１５】本発明の第５の実施例の動作フローチャートである。
【符号の説明】
１      画像メモリ
２      色分離部
３      ラン長算出部
４      分散算出部
５      判定部
６      符号化部
７      制御部
８，９  インタフェース（Ｉ／Ｏ）
１０    プロセッサ（ＣＰＵ）
【図１】
0003950305.tif 000003
【図２】
0003950305.tif 000004
【図３】
0003950305.tif 000005
【図４】
0003950305.tif 000006
【図５】
0003950305.tif 000007
【図６】
0003950305.tif 000008
【図７】
0003950305.tif 000009
【図８】
0003950305.tif 000010
【図９】
0003950305.tif 000011
【図１０】
0003950305.tif 000012
【図１１】
0003950305.tif 000013
【図１２】
0003950305.tif 000014
【図１３】
0003950305.tif 000015
【図１４】
0003950305.tif 000016
【図１５】
0003950305.tif 000017