(57)【要約】【課題】高い圧縮効率でカラー文書画像を好適に圧縮することができる画像圧縮方法、画像圧縮装置及びプログラム並びに記録媒体を提供する。【解決手段】まず、減色処理部１０２によって、カラー文書画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報１０３とインデックスカラー画像１０４とを生成する。そして、カラー情報ソート部１０５等によって、例えば、最大画素数のインデックスに対応するカラー値をカラー文書画像の背景色とする。次に、圧縮順位決定部１１３によって圧縮順位を決定し、２値画像作成圧縮部１０９によって、インデックスごとに部分２値画像を生成するとともに、圧縮順位に従って２値画像を圧縮する。そして、データ結合部１１１によって、背景データ１０８及び部分２値画像の圧縮データを統合して圧縮データ１１２を生成する。【選択図】  図１
2004229261.tif 000002
【特許請求の範囲】
【請求項１】
カラー画像を圧縮する画像圧縮方法であって、
前記カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報と、前記各画素をインデックスに変換したインデックス画像とを生成するインデックス変換工程と、
前記インデックス画像における所定インデックスに対応するカラー値を前記カラー画像の背景色とする背景色決定工程と、
前記カラー情報及び前記背景色に基づいて、前記カラー画像をインデックスごとに圧縮する際の圧縮順位を決定する圧縮順位決定工程と、
前記インデックス画像からそれぞれのインデックスごとに２値画像を生成する２値画像生成工程と、
前記圧縮順位に従って、前記２値画像を圧縮する圧縮工程と、
前記カラー画像の大きさと前記背景色のカラー値とを含む背景データ及び前記インデックスごとの前記２値画像の圧縮データを統合して圧縮画像データを生成する生成工程と
を有することを特徴とする画像圧縮方法。
【請求項２】
前記背景色決定工程は、前記最大画素数のインデックスに対応するカラー値を前記カラー画像の背景色とし、
前記圧縮順位決定工程、２値画像生成工程及び圧縮工程は、該インデックスについての圧縮順位の決定、２値画像の生成及び圧縮を実行しない
ことを特徴とする請求項１に記載の画像圧縮方法。
【請求項３】
前記インデックス変換工程は、所定範囲のカラー値に一のインデックスを対応させ、前記カラー画像のビット数を減少させたインデックス画像を生成することを特徴とする請求項１又は２に記載の画像圧縮方法。
【請求項４】
前記インデックス変換工程は、前記カラー情報として、さらに、前記カラー画像のインデックス化された色ごとの色重心及び色分布範囲を計数することを特徴とする請求項１から３までのいずれか１項に記載の画像圧縮方法。
【請求項５】
前記カラー情報において、前記色重心が近いカラー情報同士を統合する同色統合工程をさらに有することを特徴とする請求項１から４までのいずれか１項に記載の画像圧縮方法。
【請求項６】
前記カラー情報において、互いに輝度色差が近いカラー情報同士を結合して中間色を削減する中間色削減工程をさらに有することを特徴とする請求項１から５までのいずれか１項に記載の画像圧縮方法。
【請求項７】
前記同色統合工程は、前記カラー画像におけるそれぞれの色ごとの画素数と色空間上の位置に応じて予め決められた係数の積をとった値によってソーティングを行い、ソーティング順位を基準にして同色判定を行うことを特徴とする請求項５記載の画像圧縮方法。
【請求項８】
前記同色統合工程は、同色をソーティング上位の色に統合する場合、計数された画素数、色分布範囲及びカラー値の重心を再計算することを特徴とする請求項５又は７に記載の画像圧縮方法。
【請求項９】
前記中間色削減工程は、ソーティング順位を基準にして中間色の削減を行うことを特徴とする請求項６記載の画像圧縮方法。
【請求項１０】
前記中間色削減工程は、同系色をソーティング上位の色に統合する場合、計数された画素数、色分布範囲を再計算し、色重心のみ再計算しないことを特徴とする請求項６又は９に記載の画像圧縮方法。
【請求項１１】
前記背景色決定工程は、ソーティングの最上位に位置する色のカラー値の重心を前記背景色として抽出することを特徴とする請求項１から１０までのいずれか１項に記載の画像圧縮方法。
【請求項１２】
前記中間色削減工程が予め決められた複数の閾値を持ち、カラー値の重心を輝度色差信号に変換して閾値範囲の色をソーティング順位に従って統合削減を行うことを特徴とする請求項７記載の画像圧縮方法。
【請求項１３】
前記カラー値の重心について、輝度色差信号に変換した値を仮のカラー重心として統合削減を行うたびに再計算することを特徴とする請求項１２記載の画像圧縮方法。
【請求項１４】
前記複数の閾値は、圧縮率優先か画像品位優先かによって値を変更することを特徴とする請求項１２載の画像圧縮方法。
【請求項１５】
前記圧縮工程は、前記２値画像をＭＭＲ圧縮することを特徴とする請求項１から１４までのいずれか１項に記載の画像圧縮方法。
【請求項１６】
圧縮順位の決定は、前記背景色抽出工程で抽出された色との色空間上の距離を基準にすることを特徴とする請求項１から１５までのいずれか１項に記載の画像圧縮方法。
【請求項１７】
前記画像圧縮方法は、複数の画像圧縮モードによる画像圧縮を実行可能とし、
第１の圧縮モードにおいては、符号化対象のカラー画像に対して、前記インデックス変換工程と、前記背景色決定工程と、前記圧縮順位決定工程と、前記２値画像生成工程と、前記圧縮工程と、前記生成工程とを実行し、
第２の圧縮モードにおいては、符号化対象のカラー画像に対して、
前記カラー画像の文字領域と非文字領域とを識別する領域識別工程と、
前記文字領域の画像を２値画像用アルゴリズムで圧縮する第２圧縮工程と、
前記非文字領域の画像を多値画像用アルゴリズムで圧縮する第３圧縮工程とを実行する
ことを特徴とする請求項１に記載の画像圧縮方法。
【請求項１８】
カラー画像を圧縮する画像圧縮方法であって、
前記カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報と、前記各画素をインデックスに変換したインデックス画像とを生成するインデックス変換工程と、
前記インデックス画像における所定インデックスに対応するカラー値を前記カラー画像の背景色とする背景色決定工程と、
前記カラー情報及び前記背景色に基づいて、インデックス順位を決定する圧縮順位決定工程と、
前記インデックス画像からそれぞれのインデックスごとに２値画像を生成する２値画像生成工程と、
前記インデックス順位に従って、前記２値画像を圧縮する圧縮工程と、
前記カラー画像の大きさと前記背景色のカラー値とを含む背景データ及び前記インデックスごとの前記２値画像の圧縮データを統合して圧縮画像データを生成する生成工程と
を有することを特徴とする画像圧縮方法。
【請求項１９】
カラー画像を圧縮する画像圧縮方法であって、
前記カラー画像を構成する各画素を所定数の限定色のうちの何れかに分類する分類工程と、
前記限定色のうち、背景色に相当する色を特定する特定工程と、
前記背景色の輝度値を基準とし、該背景色以外の限定色の輝度値に応じて、各限定色の上書き関係を順位付けする順位付け工程と、
各限定色について、該限定色に相当する画素及び該画素の隣接画素で構成される連結画素群を生成する生成工程と、
所定の限定色に相当する連結画素群について、該連結画素群に含まれる隣接画素に、前記上書き関係に基づいて前記所定の限定色よりも上位に相当する限定色の画素が存在する場合、該隣接画素を前記所定の限定色に置換する置換工程と、
前記置換工程で得られた連結画素群を圧縮する圧縮工程と
を有することを特徴とする画像圧縮方法。
【請求項２０】
カラー画像を圧縮する画像圧縮装置であって、
前記カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報と、前記各画素をインデックスに変換したインデックス画像とを生成するインデックス変換手段と、
前記インデックス画像における所定インデックスに対応するカラー値を前記カラー画像の背景色とする背景色決定手段と、
前記カラー情報及び前記背景色に基づいて、前記カラー画像をインデックスごとに圧縮する際の圧縮順位を決定する圧縮順位決定手段と、
前記インデックス画像からそれぞれのインデックスごとに２値画像を生成する２値画像生成手段と、
前記圧縮順位に従って、前記２値画像を圧縮する圧縮手段と、
前記カラー画像の大きさと前記背景色のカラー値とを含む背景データ及び前記インデックスごとの前記２値画像の圧縮データを統合して圧縮画像データを生成する生成手段と
を備えることを特徴とする画像圧縮装置。
【請求項２１】
コンピュータに、
前記カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報と、前記各画素をインデックスに変換したインデックス画像とを生成するインデックス変換手順と、
前記インデックス画像における所定インデックスに対応するカラー値を前記カラー画像の背景色とする背景色決定手順と、
前記カラー情報及び前記背景色に基づいて、前記カラー画像をインデックスごとに圧縮する際の圧縮順位を決定する圧縮順位決定手順と、
前記インデックス画像からそれぞれのインデックスごとに２値画像を生成する２値画像生成手順と、
前記圧縮順位に従って、前記２値画像を圧縮する圧縮手順と、
前記カラー画像の大きさと前記背景色のカラー値とを含む背景データ及び前記インデックスごとの前記２値画像の圧縮データを統合して圧縮画像データを生成する生成手順とを実行させるためのプログラム。
【請求項２２】
請求項２１記載のプログラムを格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カラー文書画像を圧縮処理する画像圧縮方法、画像圧縮装置及びプログラム並びに記録媒体に関する。
【０００２】
【従来の技術】
近年、カラープリンタやカラースキャナ等の普及により、カラー化された文書が増え、これをスキャンにより取り込んで電子ファイルとして保存したり、インターネット等を介して第三者等に送付する機会が増えてきている。しかし、フルカラーデータのままでは記憶装置や回線への負荷が大きいため、圧縮処理等の方法で取り扱うデータ量を小さくする必要がある。
【０００３】
従来、カラー画像を圧縮する方法として、例えば、誤差拡散等で擬似階調を持った２値画像にして圧縮する方法、ＪＰＥＧ形式で圧縮する方法、８ビットのパレットカラーに変換を行ってＺＩＰ圧縮やＬＺＷ圧縮をする方法等があった（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００２−０７７６３１号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、擬似階調の２値画像ではサイズ（データ量）は小さくなるものの、カラー情報が失われてしまう。また、ＪＰＥＧ形式で圧縮した場合は、ＪＰＥＧ特有のモスキートノイズのために、圧縮サイズと文字品位とのトレードオフが生ずる。
【０００６】
さらに、パレットカラーに変換してＺＩＰ圧縮やＬＺＷ圧縮をする方法は、カラー文書画像の大半の色分布は離散的ではなく局所的であるために、その画像を多ビットで保持した場合はもともと効率が悪いので、それを圧縮した結果も当然に効率が悪くなる。
【０００７】
さらにまた、特許文献１に記載の方法によれば、領域判定とＭＭＲによる２値圧縮とＺＩＰによる可逆圧縮と、ＪＰＥＧによる非可逆圧縮との組み合わせにより、通常の文字領域については高い品位が得られるが、例えば原稿に手書き修正したような部分は領域判定が難しく、ＪＰＥＧ圧縮の対象となりモスキートノイズが生ずるような問題があった。
【０００８】
本発明は、このような事情を考慮してなされたものであり、高い圧縮効率でカラー文書画像を好適に圧縮することができる画像圧縮方法、画像圧縮装置及びプログラム並びに記録媒体を提供することを目的とする。また、本発明は、上記カラー文書だけの画像に限らず、文字領域と非文字領域が混在する画像の圧縮にも対応できるようにすることを更なる目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するため、本発明は、カラー画像を圧縮する画像圧縮方法であって、前記カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報と、前記各画素をインデックスに変換したインデックス画像とを生成するインデックス変換工程と、前記インデックス画像における所定インデックスに対応するカラー値を前記カラー画像の背景色とする背景色決定工程と、前記カラー情報及び前記背景色に基づいて、前記カラー画像をインデックスごとに圧縮する際の圧縮順位を決定する圧縮順位決定工程と、前記インデックス画像からそれぞれのインデックスごとに２値画像を生成する２値画像生成工程と、前記圧縮順位に従って、前記２値画像を圧縮する圧縮工程と、前記カラー画像の大きさと前記背景色のカラー値とを含む背景データ及び前記インデックスごとの前記２値画像の圧縮データを統合して圧縮画像データを生成する生成工程とを有することを特徴とする。
【００１０】
【発明の実施の形態】
以下の実施の形態では、例えばカラー複写機に搭載可能な、カラー画像の圧縮技術を説明する。
【００１１】
なお、カラー複写機の機能としては、例えば、カラーコピー機能、カラープリント機能及びカラースキャナ機能があるが、本実施形態で説明する圧縮技術は、このうちカラーコピー機能及びカラースキャナ機能で適用可能である。具体的には、カラー原稿を読み取ることにより得られたカラー画像データを圧縮する際に用いられる圧縮技術である。
【００１２】
また、カラースキャナ機能としては、例えば、カラー原稿を読み取ることにより得られたカラー画像データを圧縮して外部へ送信するデータ送信機能及び同カラー画像データを圧縮して複写機内部の記憶手段に記憶する保存機能があるが、この両方の機能に搭載可能な圧縮技術である。
【００１３】
本実施形態では、以下に示すように複数の圧縮モードを備える。これらモードは、圧縮対象となるカラー画像（カラー原稿）の内容が如何なるものかによって選択される。この選択は、自動的であっても良いし、ユーザの手動であっても良い。
【００１４】
＜＜第１の圧縮モード＞＞
まず、第１の圧縮モードに関する実施形態として、以下で詳細に説明する圧縮方法を実行可能である。この圧縮モードは、少ない色数で構成されたカラー画像の圧縮に適している。よって、この圧縮モードを自動的に選択するには、カラー画像の色分布を判断するか文字及び写真領域を判定してその割合によって判断すれば可能である。或いは、ユーザが手動で選択すれば良い。
【００１５】
以下、図面を参照して、第１の圧縮モードの実施する構成または方法について詳細に説明する。
【００１６】
図７は、本実施形態における圧縮処理対象となるカラー文書画像を構成するデータを説明するための概要図である。図７に示すように、本実施形態では、もとのカラー原稿として、白地の下地に赤文字と黒文字が形成されており、さらに青ボールペンで手書き修正が加えられているものを用いる。これをスキャナで取り込んだカラー画像（すなわち、原画像）に対して、減色処理、同色判定処理、中間色削減処理等をすることにより白色、黒色、赤色、青色の部分２値画像に分割する。
【００１７】
ここで、分割された色毎の画素数を比較すると通常は下地の白色が最も多くなるため、この色が背景色として判定される。そして、背景色と判定された白色は画像データとして保持せず、原稿の実サイズとカラー値によってそのデータが保存され、残る黒色、赤色、青色のカラーに関しては、図７に示すようにその色毎に部分（２値）画像に分割してそれぞれ圧縮保存するようにする。このようにカラー文書画像は、カラー写真等の自然画像と異なり、色の分布が局所的であるため、圧縮効率が高くなる。
【００１８】
ここで、図８は、前景色画像と中間色画像と補完中間色画像を説明するための概要図である。すなわち、中間色削減処理で削減されなかった部分２値画像は図８（ｂ）に示すようになるので、（ｃ）に示す補完中間色画像のように内部を補完してエッジ量を減らし、圧縮効率が上がるようにして画像伸長時に補完中間色画像、次いで前景色画像の順に伸長が行われるようにする。このようにすることで、補完された部分を上のレイヤーとなる前景色画像によって上書きされ、補完処理がなされたかった場合と同じ画像を再現し、かつ圧縮サイズも小さくすることができる。
【００１９】
図９は、本実施形態における補完処理の原理を説明するための概要図である。図９において、「Ａ」という画像パターンの横線９１で示した部分をレイヤー表現した場合、左下図９２のようになる。ここで中間色はエッジを８つ持つパターンで表現されるが、前景色より先に描画するようにすれば右の様に補完処理をしても上から見た場合、補完処理があるなしにかかわらず同じように見える。ここで、補完処理した中間色のエッジ数を調べると、右下図９３に示すように４つであり補完処理前の半分に減少している。これにより部分２値画像の冗長性が高くなり、圧縮効率が向上する。
【００２０】
ここで圧縮順位は、図８（ｂ）に示す中間色画像のようなパターンを持つ色を上位に選べば圧縮サイズは小さくなるが、実際に画像パターンを調べることは処理の負荷が高くなってしまう。通常、文書画像で前景色となる色は白地に黒色や青地に黄色等の可視性の高い色が使われ、問題となる中間色は例えば白と黒の間の灰色といった具合になる。そこで、減色されて残った色について輝度や色差等の値でソーティングし、抽出された背景色を基準に圧縮順位を決めることによって、画像パターンを調べた場合と同じ効果を得ることができる。
【００２１】
図１は、本発明の第１の圧縮モードにおけるカラー文書画像を圧縮する圧縮装置の細部構成を説明するためのブロック図である。図１において、１０１は例えば、スキャナ等でカラー原稿を読み取ることによって得られた原画像（カラー画像）である。また、１０２は減色処理部であり、入力された原画像１０１に対して予め決められた色数に単純減色処理を行い、インデックス化する。
【００２２】
１０３はカラー情報であり、減色処理部１０２でインデックス化された色毎の画素数と色重心と色分布範囲とを表すデータで構成される。１０４はインデックスカラー画像であり、減色処理部１０２で減色された画像が出力されたものである。
【００２３】
１０５はカラー情報ソート部であり、カラー情報１０３のデータを画素数によってソーティングする。また、１０６は同色統合部であり、カラー情報ソート部１０５でソートされたカラー情報１０３を比較して同一色を判断して統合処理を行い、カラー情報の更新をする。
【００２４】
１０７は中間色削減部であり、カラー情報１０３の近傍にあるカラー情報同士の結合処理を行い、中間調に位置する色数の削減を行う。ここで処理された後、残ったカラー情報の最上位の色重心の値が背景色データ１０８となる。１１３は圧縮順位決定部であり、中間色削減部１０７で削減されたカラー情報を輝度でソーティングし、背景色のカラー情報を基準に圧縮を行う順番を決定する。
【００２５】
１０９は２値画像作成圧縮部であり、圧縮順位決定部１１３が決定した順番に従って、背景色以外の残ったカラー情報毎に２値画像を作成し圧縮を行う。この時、圧縮順位の高いカラー情報の画像は、低い順位の画像データによって補完処理をするようにする。
【００２６】
１１０は２値画像圧縮データであり、２値画像作成圧縮部１０９で作成されたデータ群から成り、それぞれに色情報が付加されている。また、１１２はデータ統合部であり、背景色データ１０８と２値画像圧縮データ１１０とを統合して、圧縮画像１１２を作成する。
【００２７】
すなわち、本実施形態では、以下に詳細を説明するように、カラー画像（特に、カラー文書画像）を圧縮する画像圧縮方法について示す。その手順は、まず、減色処理部１０２によって、カラー画像の各画素をカラー値に対応して付与されるインデックスに変換し、インデックス化された色ごとの画素数を含むカラー情報１０３と、各画素をインデックスに変換したインデックス画像（インデックスカラー画像１０４）とを生成する。そして、カラー情報ソート部１０５等によって、インデックス画像における所定インデックスに対応するカラー値をカラー画像の背景色とする。また、圧縮順位決定部１１３によって、カラー情報及び背景色に基づいて、カラー画像をインデックスごとに圧縮する際の圧縮順位を決定する。さらに、２値画像作成圧縮部１０９によって、インデックス画像からそれぞれのインデックスごとに２値画像を生成するとともに、圧縮順位に従って、２値画像を圧縮する。そして、データ結合部１１１によって、カラー画像の大きさと背景色のカラー値とを含む背景データ１０８及びインデックスごとの２値画像の圧縮データを統合して圧縮画像データ（圧縮データ１１２）を生成することを特徴とする。
【００２８】
図２は、本発明の第１の圧縮モードにおけるカラー画像の圧縮処理の流れを説明するためのフローチャートである。
【００２９】
まず、原画像１０１であるカラー画像が入力されると、減色処理部１０２は予め決められた色数に当該原画像１０１の減色処理を行い、カラー情報１０３とインデックスカラー画像１０４を出力する。ここで、本実施形態では、インデックス化においては、所定範囲のカラー値に一のインデックスを対応させ、カラー画像のビット数を減少させたインデックス画像（インデックスカラー画像１０４）を生成することを特徴とする。
【００３０】
尚、本実施形態における減色処理は、フルカラーＲＧＢ２４ビットのデータをＲ−Ｇ−Ｂそれぞれ、２−２−２、３−３−２、３−３−３ビット等のビット数に落とすものである。このビット数の選び方は、色の判定をどの程度の精度で行うかによって任意に選択可能である。以下に示す実施形態では、２−２−２ビットを選択したものとして説明を行う。また、減色処理部１０２から出力されたカラー情報１０３は、減色された色毎の画素数と色重心（色の平均値）と色分布範囲を表す座標データとで構成される。
【００３１】
すなわち、本実施形態における上記画像圧縮方法においては、上述したインデックス変換処理においては、カラー情報として、画素数の他に、さらにカラー画像のインデックス化された色ごとの色重心及び色分布範囲を計数することを特徴とする。
【００３２】
次に、減色処理部１０２で得られたカラー情報１０３は、カラー情報ソート部１０５へ入力され、その画素数とインデックス番号とに応じた重み付けが行われた値によってソーティングされる（ステップＳ２０２）。
【００３３】
ソーティングは基本的に画素数が多いものほど上位に位置させるが、上記重み付け、すなわち係数は、同程度の画素数のカラー情報を比較した場合に原色に近い色が上位になるように調整された値である。図３は、第１の圧縮モードにおけるカラー情報ソート部１０５でのソーティング重み係数の例を示す図である。図３に示すように、本実施形態では、ＲＧＢ各４階調のそれぞれに０．９〜１．２の係数を振り分けている。この値は任意であり、減色処理部１０２での減色数や色の優先度によって変えても良い。
【００３４】
さらに、カラー情報ソート部１０５でソーティングされたカラー情報は、同色統合部１０６へ入力される。同色統合部１０６では、カラー情報の色重心の値をそれぞれ比較して、その距離が近い場合には同一色としてカラー情報の統合を行う（ステップＳ２０３）。この処理は、本来は同じ色でありながら、ＲＧＢの何れかの値が最初の減色処理における閾値に近いために複数のカラーに分離した色を一つの色に戻す処理である。統合が行われるカラー情報は、ソーティングされた上位のカラー情報が残され、色ごとの画素数、色重心及び色分布範囲の各データが再計算される。
【００３５】
すなわち、本実施形態に係る画像圧縮処理では、カラー情報において、色重心が近いカラー情報同士を統合する同色統合処理を行うことを特徴とする。また、当該同色統合処理が、同色をソーティング上位の色に統合する場合、計数された画素数、色分布範囲及びカラー値の重心を再計算することを特徴とする。さらに、同色統合処理が、カラー画像におけるそれぞれの色ごとの画素数と色空間上の位置に応じて予め決められた係数の積をとった値によってソーティングを行い、ソーティング順位を基準にして同色判定を行うことを特徴とする。
【００３６】
さらに、中間色削減部１０７では、同色統合部１０６で更新されたカラー情報の色重心の値を輝度色差の値に変換し、その値をそれぞれ比較して、近傍のカラー情報同士の結合処理を行う（ステップＳ２０４）。これにより中間調に位置する色数の削減を行う。この処理の目的は、例えば元の文書画像が白黒の原稿であっても、スキャナで取り込んだ場合に下地の白色と文字部の黒色の境界部分に白から黒にかけて生じる多くの階調成分を取り除くことである。すなわち、白に近い灰色は白にして、黒に近い灰色は黒にする。また、他の色も同様に処理する。このように、色の画素数と色空間上の位置に応じた係数の積の大きさによってソーティングを行い、その順位によって同色統合処理、中間色削減処理を行う際に色重心の値を再計算しないことにより色の再現性が良くなる。
【００３７】
尚、同色統合部１０６では、削減され結合されるカラー情報はステップＳ２０３におけるカラー情報の更新と同様に再計算され更新するが、色重心の値だけはそのまま残すものとする。これは、色重心の値が最終的な表示色であり、中間色を統合してその色重心を求めた場合、例えば黒であれば灰色が混じって明るめの色になり、白は逆に暗めになってしまうのを防ぐためである。結合された色情報の代表色はソーティング順位の高いカラー情報の色重心が採用される。ここで、ソーティングにおいて画素数だけではなく重み係数を用いるのは、カラー文書原稿で用いられるであろう原色系の色を優先するためである。
【００３８】
すなわち、本実施形態に係る画像圧縮処理では、カラー情報において、互いに輝度色差が近いカラー情報同士を結合して中間色を削減する中間色削減処理を行うことを特徴とする。そして、当該中間色削減処理が、ソーティング順位を基準にして中間色の削減を行うことを特徴とする。また、中間色削減処理が、同系色をソーティング上位の色に統合する場合、計数された画素数、色分布範囲を再計算し、色重心のみ再計算しないことを特徴とする。
【００３９】
そして、中間色削減部１０７で処理された結果の最上位カラー情報が持つ色重心の値を背景色データ１０８として出力する（ステップＳ２０５）。すなわち、本実施形態に係る画像圧縮処理では、ソーティングの最上位に位置する色のカラー値の重心を背景色として抽出することを特徴とする。
【００４０】
さらに、カラー情報のソーティングを行い、その結果を用いてステップＳ２０５で求められた背景色を基準として圧縮順位を決定する（ステップＳ２０６）。例えば、中間色削減部１０７で削減されたカラー情報が識別番号１〜５の５色であって背景色の識別番号が４とした場合、輝度でソーティングした結果が２、３、５、１、４であるとすると圧縮順番は１、５、３、２の順となる。また、白抜き文字を多用した原稿の時は４、１、５、３、２というような順となり、圧縮順番は１、５、３、２の順とする。さらに、２、３、４、５、１のように白抜き文字と通常の文字が混在していると推測される場合は、文書中の使用頻度が低いと思われる白抜き文字の優先度を低くするため、圧縮順番は５、１、３、２とする。
【００４１】
そして、中間色削減部１０７で残ったカラー情報と圧縮順位決定部１１３との結果とインデックスカラー画像１０４とを用いて色毎の２値画像を作成し、ＭＭＲ等の方法で圧縮処理する（ステップＳ２０７）。尚、ここで作成される２値画像は、カラー情報が保持している色分布範囲に応じた大きさであり、原稿の一部にしか存在しない場合はその部分しか圧縮保存しないものとする。
【００４２】
すなわち、本実施形態に係る画像圧縮方法では、背景色決定においては、最大画素数のインデックスに対応するカラー値を前記カラー画像の背景色とする。そして、当該インデックスについての圧縮順位の決定、２値画像の生成及び圧縮を実行しないことを特徴とする。
【００４３】
この色毎の２値画像であるが、例えば、インデックスカラー画像１０４のインデックス番号を０〜６３として、インデックス６３にインデックス６０と６２のカラー情報が統合されているとすると、その２値画像はインデックス６０と６２のデータを論理和した画像であり、インデックス６３が持つカラー情報の色重心の値で描画されることになる。これが色毎の２値画像の基本部分であり、さらにステップＳ２０６において決定された順位に従って補完処理がなされる。
【００４４】
この補完処理においては、背景色の識別番号が１、残りの色の順番が２、３、４とする。識別番号は統合されたインデックス番号の集合を表す仮の識別子である。例えば、ある８画素の並びが１、２、３、４、２、３、３、１であった場合、まず優先順位が最も高い識別番号２について見る。識別番号２のみ注目すれば、ビットパターンは０１００１０００であるが補完処理がなされて０１１１１０００のビットパターンとなる。また、識別番号３、４については、それぞれ００１００１１０、０００１００００である。
【００４５】
この結果作られるのが２値画像圧縮データ１１０であり、カラー情報のデータ毎に色の値、位置と大きさ、ＭＭＲ圧縮のデータ本体からなるデータ群である。そして、データ結合部１１１では、背景色データ１０８と２値画像圧縮データ１１０とをまとめて圧縮データ１１２を作成して出力する（ステップＳ２０８）。すなわち、本実施形態に係る圧縮処理では、２値画像をＭＭＲ圧縮することを特徴とする。
【００４６】
図４は、第１の圧縮モードにおける圧縮データ１１２の構成を説明するための図である。まず、ヘッダ部分には、入力された文書画像（原稿）の大きさ、背景色のカラー値、解像度等の情報が格納されている。ここで、背景色には基本的に画素数が最も多い色が選択されるため、例えば原稿が赤等のカラー用紙に印刷されている場合は赤系の値が入る。しかし、通常は、下地が白色の場合が多いと考えられるので、背景色の白色判定を行い、白色と判断される場合は背景色の値を省略するようにしてもよい。白色判定は、例えば、ＲＧＢのそれぞれの値が一定値以上であって、それぞれの値の差が一定値以内であった場合、白色とみなすようにする。
【００４７】
また、図４に示すように、ヘッダ部の次には各色毎の圧縮データが続く。圧縮データは、その色の値とその色が存在する位置座標と大きさ、ＭＭＲ圧縮データ本体で構成される。例えば、背景色を除いて残った色数がＮであった場合、その色数分だけ同じ構造のデータが存在する。この格納順番であるが、圧縮順位決定部１１３に従うものとする。尚、入力された画像が白紙等の単色原稿であった場合、この部分のデータは作成されない。
【００４８】
また、入力された画像が白黒原稿であった場合、カラー圧縮データ数は１になるので２値画像とほぼ等価のデータ量になる。ここで、黒画素が原稿の一部分のみであればＭＭＲ圧縮データはその部分のみ圧縮するため、通常のＭＭＲ圧縮より小さくなる。
【００４９】
次に、この圧縮データ１１２を原画像に戻す方法であるが、図４に示すヘッダ部分に記憶されている背景色で原稿の全領域をベタ書きした後、格納されている順番に従ってカラー圧縮データのＭＭＲ画像を伸長し、その画像をマスクにして記憶されている位置に色の値で上書きすることで可能である。ここで、格納順は圧縮順位決定部１１３の順に従っており、伸長もこの順番通りになされるため、２値画像作成圧縮部１０９で補完処理の有無にかかわらず伸長の結果は同じになる。このように、圧縮順位に従って部分２値画像を補完することにより、圧縮効率が向上する。また、背景色を基準に圧縮順位を決定することにより、補完処理をした場合に圧縮効率が向上する順位を高速に調べることができる。
【００５０】
図５は、図２の圧縮処理におけるステップＳ２０４で示される中間色削減部１０７の動作手順を詳細に説明するためのフローチャートである。
【００５１】
まず、カラー情報のソーティング順位にリストを作成する（ステップＳ５０１）。そして、このリストにそって中間色の削減処理が行われる。次に、カラー情報の色重心の値をＲＧＢからＹＣｒＣｂの輝度色差信号に変換を行ってデータを付加する（ステップＳ５０２）。色差へ変換を行うのは、輝度差の近い同系色を統合して中間色を削減するのに適しているためである。
【００５２】
ステップＳ５０３、Ｓ５０４，Ｓ５０５では、それぞれのカラー情報に付加されているＹ、Ｃｒ、Ｃｂの各成分の差分がそれぞれ予め決められた閾値以内かどうか比較を行い、その条件以内であればカラー情報の統合を行い色数を削減する。図６は、図５におけるステップＳ５０３〜Ｓ５０５における処理の詳細を説明するためのフローチャートである。尚、図６に示すフローチャートの処理は、ステップＳ５０３〜Ｓ５０５における処理において、ＹＣｒＣｂの比較を行う閾値のみが異なっているものとする。
【００５３】
まず、カラー情報Ｉを図５のステップＳ５０１の処理から与えられたカラー情報のリストの最上位のもの選択する（ステップＳ６０１）。次に、カラー情報ＩのＹＣｒＣｂ値をＹ’Ｃｒ’Ｃｂ’に記憶する（ステップＳ６０２）。そして、カラー情報Ｊに当該リストの最下位のカラー情報を選択する（ステップＳ６０３）。
【００５４】
ここで、カラー情報Ｉ、ＪのＹ、Ｃｒ、Ｃｂのそれぞれの値を比較して、その差が図５のステップＳ５０３〜Ｓ５０５の各ステップにおいて与えられた閾値以内かどうか調べる（ステップＳ６０４）。
【００５５】
その結果、その閾値以内と判断された場合（ＹＥＳ）はステップＳ６０６に進み、そうでないと判断された場合（ＮＯ）はステップＳ６０８へ進む。しかし、カラー情報Ｉ、ＪのＣｒ又はＣｂ値の符号が異なる場合は、カラー情報ＪのＣｒ又はＣｂ値の絶対値を調べて、予め決められたある一定値以上であればこの条件は成立させないようにする。例えば、カラー情報Ｉ、ＪのＣｒ値の差が図５に示すフローチャートで与えられた閾値以内であっても、その符号が異なる場合は、カラー情報Ｊの絶対値を予め決められた値と比較し、小さい場合はステップＳ６０５へ進み、大きい場合はステップＳ６０８へ進むようにする。
【００５６】
Ｃｂの値についても同様の処理をする。これは図５のフローで設定された閾値の大きさによっては単純に差分を比較して統合を行った場合に、淡い青と淡い赤色のような異なる色同士のカラー情報が統合されてしまうのを防ぐためである。逆に、淡い青と淡い赤色のような異なる色同士が統合されないように閾値を設定してしまうと、青と淡い青のような同系色を統合することはできなくなる。
【００５７】
また、ステップＳ６０６では、カラー情報Ｉにカラー情報Ｊのデータを統合する。これによってカラー情報Ｉの色数、分布範囲等の各データは更新されるが色重心の値は更新しない。その代わり、統合した場合の色重心を計算し、それをステップＳ６０２で記憶しておいたＹ’Ｃｒ’Ｃｂ’に反映させる。
【００５８】
次いで、カラー情報Ｊのデータをリストから外す（ステップＳ６０７）。そして、ステップＳ６０８では、カラー情報Ｊのリスト上の一つ上位に位置していたカラー情報がＩであるかどうかを調べる。その結果、Ｉでない場合（ＮＯ）はステップＳ６０９へ進み、Ｉである場合（ＹＥＳ）はステップＳ６１０へ進む。
【００５９】
ステップＳ６０９では、カラー情報Ｊの一つ上位に位置していたカラー情報をカラー情報Ｊに設定してステップＳ６０４へ戻る。一方、ステップＳ６１０では、記憶しているＹ’Ｃｒ’Ｃｂ’の値をカラー情報ＩのＹＣｒＣｂに戻して、図５及び図６に示すフローチャートで閾値比較を行う基準値をステップＳ６０４〜Ｓ６０９で統合されたカラー情報本来の色重心の値に更新する。
【００６０】
ステップＳ６１１では、カラー情報Ｉの一つ下のカラー情報が最下位であるか、又はステップＳ６０７でリストから削除されて存在しないかどうか調べ、存在し、かつ最下位でなければ（ＮＯ）、ステップＳ６１２に進む。そして、ステップＳ６１２において、カラー情報Ｉの一つ下のカラー情報をＩに設定してステップＳ６０２に戻る。一方、ステップＳ６１１でそうでなければ（ＹＥＳ）、処理を終了して、更新したカラー情報のリストを図５のフローチャートに返す。
【００６１】
本実施形態では、図６で説明したステップＳ５０３〜Ｓ５０５のそれぞれで設定される閾値は、同系色を統合する目的のため色差ＣｒＣｂに比較して輝度Ｙの閾値は少し大きめに設定する。そして、ステップＳ５０３では閾値が小さめで比較的輝度色差の差が小さい同系色のカラー情報を統合し、ステップＳ５０４、Ｓ５０５になるにしたがって閾値を大きくして、輝度色差の差が比較的大きい同系色のカラー情報を統合する。ステップＳ５０２で付加した仮の色重心であるＹＣｒＣｂの値を図６のフローチャートで再計算を行うのは、ステップＳ５０４以降の閾値をあまり大きな値に設定しなくても、色の統合をできるようにするためである。
【００６２】
例えば、最初のステップＳ５０３の処理で黒色に明るい黒色が統合されたとする。その場合の仮の色重心であるＹＣｒＣｂの値は明るい黒方向へ移動する。このような場合、暗い灰色との距離が近づくため、次のステップＳ５０４以降の閾値をある程度大きくするだけで黒色に暗い灰色が統合できる。
【００６３】
また、ステップＳ５０３〜Ｓ５０５に示すように、多段の処理にするのは、色の近いものから統合することができ、この段数を変化させることで圧縮データ１１２のサイズを制御することができるためである。
【００６４】
また、図４を見れば分かるように、圧縮データ１１２のサイズを決定する要素の一つがカラー圧縮データの数である。すなわち、最終的に残る色数を制御すれば圧縮サイズの制御も可能になる。例えば、色数を多くすれば元のカラー画像に近い品位になり色数を少なくすれば単純２値の画像に近づく。よって、得ようとする画質と圧縮サイズによってこの段数を決めれば良い。
【００６５】
以下、ステップＳ５０６において、この更新したカラー情報を図２のフローチャートで示す処理に返して終了する。
【００６６】
すなわち、本実施形態に係る画像圧縮方法では、中間色削減処理においては予め決められた複数の閾値を持ち、カラー値の重心を輝度色差信号に変換して閾値範囲の色をソーティング順位に従って統合削減を行うことを特徴とする。また、カラー値の重心について、輝度色差信号に変換した値を仮のカラー重心として統合削減を行うたびに再計算することを特徴とする。さらに、複数の閾値が、圧縮率優先か画像品位優先かによって値を変更することを特徴とする。
【００６７】
上述したように、多くのカラー文書画像が、特定の背景色上に１色又は複数色の文字等が形成されていることに鑑み、これを圧縮する際に色毎の部分２値画像を持つことにより効率よく圧縮することができる。また、中間色削減処理で複数の閾値を用いて、その閾値の数と値を制御することにより画質とサイズを制御することができる。
【００６８】
尚、本圧縮モードでは、カラー文書画像を構成する各画素を所定数の限定色のうちの何れかに分類し、その限定色のうち、背景に相当する色を特定し、背景色の輝度値を基準とし、かつ他の各限定色の輝度値に応じて、各限定色の上書き関係を順位付けし、各限定色について、その限定色に相当する画素及びその隣接画素で構成される連結画素群を生成し、ある限定色Ａ（例えば、図９では中間色に相当）に相当する連結画素群について、そこに含まれる隣接画素に、上書き関係として上記限定色Ａよりも上位（後に上書きされる優先関係であり、例えば、図９では前景色に相当）に相当する限定色が存在する位置の画素が有れば、これに該当する隣接画素を前記限定色Ａに置換し、ここで得られた連結画素群を圧縮するという手順をとることで、背景（例えば、図９では背景色に相当）を上書き関係で最低優先度であると考えて処理する場合において、多くのカラー文書画像が効率よく圧縮される。
【００６９】
（変形例）
上述した第１の圧縮モードの説明では、補完処理を行うのは１次方向（ラスタ方向）だけであったが、採用する２値画像の圧縮手法が２次方向の補完も行うことでサイズの効果が期待できる場合は行うようにしてもよい。
【００７０】
また、上記説明では、輝度によってソーティングを行ったが、背景色と残りの色との色空間上の距離によってソーティングを行ってもかまわない。すなわち、この場合、圧縮順位が、決定した背景色と残りの色との色空間上の距離を基準に決定されることを特徴とする。
【００７１】
さらに、上記説明では、補完方法は注目する色の識別番号の空白部分が下位の識別番号で埋められるかどうかで補完を行っていたが、これを前の画素が１になるかどうかで補完を行っても良い。
【００７２】
さらにまた、上記説明と同じく、識別番号が１で残りの色の順番が２、３、４、そして、８画素の並びが１、２、３、４、２、３、３、１であった場合、識別番号２は２画素目で見つかるため０１、次は識別番号３で前の画素が１になったため０１１、次は４で同様に０１１１というように処理を行い、８画素のビットパターンは０１１１１１１０となる。識別番号３、４についてはそれぞれ００１１０１１０、０００１００００となる。従って、上述した第１の圧縮モードに係る実施形態とは得られるビットパターンは異なるが、エッジ量が同じであるため、大体同じ圧縮サイズを得られ、かつ逐次画素を見ていくだけなので処理が軽く高速処理が可能である。
【００７３】
＜＜第２の圧縮モード＞＞
次に、第２の圧縮モードとして、以下で詳細に説明する圧縮方法を実行可能である。この圧縮モードは、文字と非文字（例えば、写真画像）が混在しているカラー画像の圧縮に適している。よって、この圧縮モードを自動的に選択するには、カラー画像の色分布を判断すれば可能である。或いは、ユーザが手動で選択すれば良い。
【００７４】
以下、第２の圧縮モードの実施する構成又は方法について説明する。
【００７５】
最初に、モードが実施する工程の概略を説明する。まず、符号化対象となる画像全体について輝度ヒストグラムを生成し、２値化し、いくつかの文字領域を取り出す。次に、各文字領域について、文字切り処理を行い、その結果から、再度文字領域として扱うべき領域か否か判断する。その結果、文字領域として扱うべき領域でない場合には、その領域内のオブジェクトが単色かどうか判断し、単色の場合にはＭＭＲ圧縮の対象とし、単色でなければ、ＪＰＥＧ圧縮の対象とする。
【００７６】
一方、文字領域として扱うべき画像と判断された場合には、その領域を構成する色を所定の減色処理によって減らす。この減色処理の結果、１色になった場合にはその色を示すパレット（例えば、（Ｒ，Ｇ，Ｂ）＝（２０，３０，４０））と、２値画像とを関連づけてＭＭＲ圧縮の対象とする。減色処理の結果、所定の色数（例えば、４色）以下で表すことができる場合には、文字切り毎に、各色を示すパレットと、各色の画素位置を示す多値画像とを関連づけてＺＩＰ圧縮の対象とする。所定の色数では表すことができない場合には、減色処理前の原画像をＪＰＥＧ圧縮処理の対象とする。
【００７７】
図１０は、第２の圧縮モードにおける画像圧縮方法を実施するための処理及び中間画像を説明するためのブロック図ある。図１０において、１１０１は原画像である。１１０２は原画像を入力し、画像の最適２値化を行う画像２値化部である。１１０３は画像２値化部により２値化された全面２値化画像である。１１０４は全面２値化画像１１０３を入力して文字領域を検出し、文字領域座標１１１２を作成する文字領域検出部である。
【００７８】
１１０８は文字領域座標１１１２を入力し、その座標内の原画像と２値画像を参照しながら２値画像の黒部分の原画像色を算出し複数のパレット１１１４を作成し、それにしたがって原画像の減色処理を行う文字色抽出部である。
【００７９】
１１０５は文字領域検出部１１０４で文字として検出された領域で、かつ文字色抽出部１１０８にて文字色がＭ色未満となった領域の２値画像１１０３の黒の領域を原画像から抜いて、その周りの色で塗りつぶし、画像Ａを作成する文字部塗りつぶし部である。
【００８０】
１１０６は画像Ａを入力し、縮小して画像Ｂを作成する縮小部である。１１０７は画像Ｂを入力し、ＪＰＥＧ圧縮して圧縮コードＸ（１１３）を作成するＪＰＥＧ圧縮部である。
【００８１】
１１０９は文字色抽出部１１０８により減色された複数の文字領域の減色画像である。１１１０は減色画像１１０９が１ビットであるときに、減色画像を入力しＭＭＲ圧縮して複数の圧縮コードＹ（１１１５）を作成するＭＭＲ圧縮部である。１１１１は減色画像１１０９が２ビット以上であるときに、減色画像を入力しＺＩＰ圧縮して複数の圧縮コードＺ（１１１６）を作成するＺＩＰ圧縮部である。最終的に１Ａでまとめた１１１２から１１１６までのデータが結合してこれが圧縮データとなる。
【００８２】
＜文字領域検出処理＞
図１１は、文字領域検出部１１０４での文字領域検出処理を説明するためのフローチャートである。まず、カラー画像を入力し、間引いて解像度を落しながら輝度変換を行い、輝度画像Ｊを作成する（ステップＳ１３０１）。例えば、原画像がＲＧＢ２４ビット３００ｄｐｉであるとすると、縦方向、横方向とも４画素ごとに、
Ｙ＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ
の演算を行い、新しい画像Ｊを作成すると、画像ＪはＹ８ビット７５ｄｐｉの画像となる。次に、輝度データのヒストグラムを取り、２値化閾値Ｔを算出する（ステップＳ１３０２）。
【００８３】
次に、輝度画像Ｊを閾値Ｔによって２値化し、２値画像Ｋを作成する（ステップＳ１３０３）。さらに、黒画素の輪郭線追跡を行い、すべての黒領域をラベル付けする（ステップＳ１３０４）。次に、黒領域中の文字らしい領域を判定する（ステップＳ１３０５）。そして、形や位置から結合するものを結合する（ステップＳ１３０６）。
【００８４】
＜文字領域に対する文字色抽出処理＞
図１２は、文字色抽出部１１０８における文字色抽出処理を説明するためのフローチャートである。尚、ここでは２値画像として全面２値化画像１１０３を利用したが、これに限られることはなく、例えば、文字領域の座標とカラー画像のみ入力し、カラー画像を改めて２値化した結果を利用して、代表色演算処理を行っても良い。
【００８５】
図１２のフローチャートで示される処理は文字領域検出部１１０４で文字と判定されたすべての領域に対して以下に示すように行われる。
【００８６】
（ステップＳ３００１：再２値化処理）
まず、ステップＳ３００１で再２値化の判断を行う。全面２値化画像１１０３は、すべての文字領域が良好に２値化されたものとは限らない。２値画像が濃すぎる場合も、薄すぎる場合も、共に結果の画質に悪影響を及ぼすので、理想的には文字領域ごとに最適２値化を行うことが望ましい。
【００８７】
具体的には、文字領域検出部１１０４において、文字と判定された領域の２値画像を走査し、孤立点フィルタとのパターンマッチングを行う。そして、孤立点がその領域中に閾値以上存在するか判定し、閾値以上の場合は、その領域の輝度ヒストグラムをとり、最適閾値を算出して再２値化を行う。通常の文字領域であれば、部分的に輝度ヒストグラムを通すことによって、よりよい２値画像が得られるが、まれに前よりも悪い結果（すなわち、再２値化後、前よりも濃い２値結果になる）場合が存在する。
【００８８】
そこで、このような現象を防ぐために、再２値化では全面２値化画像を得る際に使用した２値化閾値を入力し、再２値化のための閾値と比較して、前よりも濃い結果が得られる場合は、再２値化を行わない等の例外処理を設ける。
【００８９】
（ステップＳ３００２：文字切り処理）
次に、ステップＳ３００２で、文字切り情報を作成する。文字きりの処理では、文字領域が横書きであるか縦書きであるかによって処理内容が変わる。この横書きか縦書きかの情報は、文字領域検出部１１０４において黒色の固まりの並びから判断され、作成される。その結果、横書きの場合は、まず主走査方向に２値画像の黒画素の射影を取る。そして、行の切れ目を検出した後、行ごとに副走査方向に黒画素の射影を取り、１文字毎の情報を得る。一方、縦書きの場合は、行切り出しが副走査方向に行われ、文字切り出しが主走査方向に行われる。この時、多少の画像の傾きにも耐えられるように、行切り出しの射影を取るのに行方向に３分割して行う等するとよい。この処理によって、各行の座標情報、及び各行に存在する文字の座標情報を得ることができる。
【００９０】
一方、文字判断処理（後述のステップＳ３００３）では、文字領域検出部１１０４において文字と判定された領域内の黒オブジェクトのそれぞれを、さらに文字であるかどうかを判定するために文字きり情報を利用する。具体的には、１文字の大きさや形から文字であるか否かを判定する。例えば、画質や圧縮という点から鑑みると、単色又は複数色に変換するために「文字である」ことにこだわる必要はない。一例として、単色で表現されたマーク等は、ＪＰＥＧで表現するより単色ＭＭＲで表現したほうが画質圧縮率ともによい。しかし、確率の問題として、文字以外の領域はグラデーションで表現されていることが多いため、文字であるか否かを判定することは重要である。
【００９１】
（ステップＳ３００３：文字判断処理）
次に、ステップＳ３００３で文字判断を行う。ここでは、文字切り（ステップＳ３００２）での情報を入力し、行ごとにその行の平均文字サイズを演算する。このとき、極端に小さい文字の情報は無視すると、よりよい結果が出る。また、その平均サイズよりも極端に大きい文字矩形は文字でないと判定する。さらに、平均に関わらず、縦横比情報等から明らかに文字でない形状の場合は文字でないと判定する。
【００９２】
判定の結果、その領域中にｍ文字存在する場合、ｍ文字すべてが文字でないという判定になった場合、文字領域検出部１１０４は、この領域は画像である、という結果を出力する。
【００９３】
しかし、ｍ文字中ｎ文字（ｍ＞ｎ，ｎ＞＝０）が文字でない、すなわち文字である矩形が残っている場合は、２値画像上から文字でないと判定された黒オブジェクトを消去して、この領域は文字である、という結果を出力する。
【００９４】
さらに、最終画質を考慮して、本実施形態では以下に示す例外処理を加える。例えば、領域中に１０文字存在するときに、飛び飛びの５文字が文字として単色化され、残りが文字でないとしてＪＰＥＧ圧縮されると「ムラ」のある画像が得られ、目視的に好ましくない画像となる。そこで、この文字判断処理において、文字、画像の判断が頻繁に切り替わるようなケースには、その並びや文字と判断される矩形の頻度等から全矩形文字に揃える、又は全矩形画像に揃えるようにする。
【００９５】
上述した文字判断処理で、文字と判断された領域についてはステップＳ３００４に進み、文字でないと判断された領域については、ステップＳ３００５に進む。
【００９６】
（ステップＳ３００５：単色判断処理）
ステップＳ３００５では単色判断を行う。この処理を通る領域は文字領域検出部１１０４にて文字と判定されたものの、文字判断にて文字でないと判定された領域である。前述したように、文字であるか否かにかかわらず、単色で表現されている領域であれば単色化してＭＭＲしたほうが、画質圧縮率ともによい。そこで、この領域に対しては、単色であるか否かの判断を行う。
【００９７】
具体例として、２値画像の黒色部に相当するカラー画像の画素のＲＧＢそれぞれのレベルのヒストグラムを取り、それぞれのヒストグラムすべての分散値が閾値以下であればこの領域は単色であると判定する。その結果、単色である場合にはステップＳ３００６の１色抽出処理に進み、複数色である場合にはＤＯＪＰＥＧを返す。
【００９８】
（ステップＳ３００６：１色抽出処理）
ステップＳ３００６での１色抽出処理を、図１３のフローチャートを用いて説明する。すなわち、図１３は、第２の圧縮モードにおける１色抽出処理を説明するためのフローチャートである。まず、その文字座標が参照する２値画像の細線化処理を行い、スキャナ読み込み時の下地から文字部への変化部にあたる黒画素を減らし、新しい２値画像ｎｅｗｂｉを作成する（ステップＳ１２０１）。
【００９９】
次に、ｎｅｗｂｉの黒画素に対応する原画像のＲＧＢのそれぞれの値のヒストグラムを取る（ステップＳ１２０２）。この処理は、もちろん、ＹＵＶ等の他の色空間で行っても構わない。そして、ＲＧＢそれぞれの代表値を算出する（ステップＳ１２０３）。この代表値は、例えば、一番大きな値とする。又は、ヒストグラムのステップ数を少なくして、大まかなヒストグラムで一番大きな値を得た後に、このヒストグラムに存在する細かなヒストグラムで一番大きな値を得る方法で代表値を求めてもよい。
【０１００】
後者のような方法を取ることにより、図１４に示したようなヒストグラムからノイズ１４０２に惑わされることなく、真の代表値１４０１を得ることができる。図１４は、１色抽出処理における代表値の算出方法を説明する図である。細かなヒストグラムとしては、例えば８ビットのＲデータから図１４に示すような２５６段階のヒストグラムが得られるわけであるが、この場合の最大値は１４０２になり、これは真の代表値ではない。そこで、当該ヒストグラムをオーバーラップする６４の幅に分け、８段階のものを２５６段階のヒストグラムから再計算する。それをＡからＨに示したが、ＡとＨは３２幅しかない。この再計算により代表値はＧに存在することがわかり、Ｇ内の最大値を検索して１４０１を得ることができる。以上の処理をすべての文字座標に繰り返すことにより、すべての文字座標に１つずつ代表色が算出される。
【０１０１】
（ステップＳ３００４：減色処理）
ステップＳ３００４では、文字に対し、減色処理を行う。減色処理部１０８２においては、文字部の色について、元の原稿が単色で表現されていた場合においても、スキャナ読み取り時に、下地から文字部への色の遷移部分が存在する。
【０１０２】
図１５は、スキャナにより発生する文字部の遷移部分（グラデーション）を説明する図である。図１５では簡単のため、ＲＧＢのうち、Ｒのみで説明し、ＧＢについては省略する。Ａという文字はもともとＲ＝３２レベルの単色にて構成されていたものであるが、スキャナにより読み込むと、そのデータは拡大の画素で示すようにばらついてしまう。図１５では、もともとのレベルＲ＝３２近くの黒まで達している画素は３２０１、３２０２、３２０３の３つだけに過ぎず、他の画素は、下地色（例えば、白）とＲ＝３２の間のいずれかのレベルとなる結果、文字が遷移部分のあるグラデーションで表現されている。
【０１０３】
また、図１６は、スキャナにより発生する文字部の遷移部分（グラデーション）を３次元ヒストグラムで表した図である。図１６では、下地色が３５０１に示す白であり、文字色が３５０２に示す黒であるとする。このときの遷移部分を３５０３に示す。ここで、本来単色で表現されていた文字部のスキャナ読み込みによるバラツキである遷移部分を厳密に表現する必要はない。すなわち、その代表色のみで表現することができれば画質もよく、データ量も少なくてすむ。しかしながら、２値画像の細線化等を行ったとしても、この下地から文字部の遷移部分の色を完全に除去することは難しい。
【０１０４】
そこで、１文字は単色であらわされることが多いということを利用して、文字切り情報を使い、１文字１色に限定することにより画質、圧縮率の向上を目指す。但し、当初からグラデーションで表現される文字等を更に高画質で圧縮したい場合には、その文字が複数色で表現されているかの判定等の例外処理を加えればよい。すなわち、このように文字切り情報を利用して１文字１色にすれば、元々単色で表現されていた文字画像のスキャナ読み込みによるバラツキとして発生する遷移部を除去することができる。
【０１０５】
＜文字部塗りつぶし部１１０５＞
文字部塗りつぶし部１１０５の処理の一例を図１７と図１８を用いて説明する。図１７は、文字塗りつぶし処理の概要を説明するための図である。また、図１８は、文字部塗りつぶし処理の流れを説明するためのフローチャートである。
【０１０６】
図１７（ａ）に示すように、グラデーション画像を背景とし、一例として、ＡＢＣという青色の文字が中央付近に描かれた画像を原画像とする。この原画像から図１７（ｂ）に示すような１つの文字領域の２値画像を得たとする。そして、文字部塗りつぶし処理として、まず、ステップＳ１１０１０で、全画像を例えば３２×３２の領域（以下、パーツ）に分割し、パーツごとに処理を行う。図１７（ｃ）にパーツごとに分けた様子を示す。この図では簡単に説明するため、４×５のパーツに分割した状態を示している。図１７（ｃ）の各領域の左上の数字はパーツ番号を示す。この領域分割の個数はこれに限るものではなく、他の分割数であってもよい。
【０１０７】
ステップＳ１１０２０では、未処理のパーツがあるか否かを判断し、未処理のパーツについては、ステップＳ１１０３０に進んで文字塗りつぶし対象領域がそのパーツ内に存在するか否か判断される。尚、文字領域検出部１１０４で文字領域と判定された領域でも、文字色抽出部１１０８でＤＯＪＰＥＧが返された領域は、文字部塗りつぶしの対象領域とはしない。
【０１０８】
図１７（ｃ）に示すように、パーツ００〜０４、１０、１４、２０、２４、３０〜３５は、ステップＳ１１０３０において文字塗りつぶし対象領域がないと判断され、処理は行われずに、次のパーツに進む。文字塗りつぶし対象領域の存在するパーツ（例えばパーツ１１）に対しては、ステップＳ１１０４０に進み、対応する２値画像を参照し、２値画像の白部分に対応するカラー画像のＲＧＢ値（またはＹＵＶ等でも良い）の平均値ａｖｅ＿ｃｏｌｏｒを算出する。次にステップＳ１１０５０において、対応する２値画像を参照し、黒画素に対応する画素の濃度データをａｖｅ＿ｃｏｌｏｒとする。以上の処理を文字塗りつぶし対象領域の存在するパーツ（ここでは、パーツ１２、１３、２１、２２、２３）に繰り返す。このようにして、文字の存在した部分に周りの画素の平均値を埋めることができる。
【０１０９】
このようにして得られた塗りつぶし画像を縮小部１１０６において縮小する。本実施形態では一例として単純間引き処理を行うものとする。尚、この縮小処理と文字部塗りつぶし処理は順番を逆にしても構わない。その場合、２値画像とカラー画像の位置のずれに留意する必要がある。
【０１１０】
さらに、文字領域座標１１１２、パレット１１１４、圧縮コードＸ（１１１３）、圧縮コードＹ（１１１５）、圧縮コードＺ（１１１６）の５つをまとめたフォーマットを必要ならば作成する。
【０１１１】
５つをまとめるフォーマットの一例として、Ａｄｏｂｅ（登録商標）のＰＤＦ等が考えられる。ＡｄｏｂｅのＰＤＦとは、Ａｄｏｂｅが無償配布しているＡｃｒｏｂａｔ  Ｒｅａｄｅｒ（登録商標）というアプリケーションで表示できるフォーマットであり、ドキュメントを作成したアプリケーションがないために、受け手側でファイルを開けないなどのトラブルを避けることができる。その他のフォーマットとしては、ＸＭＬ等がある。ＸＭＬとは、ネットワークを介して文書やデータを交換したり配布したりするための記述言語である。
【０１１２】
（変形例）
上記第２の圧縮モードでは、２値画像は全面単一閾値によって作成したが、これに限られるものではなく、例えば、文字領域検出１０４により検出された文字領域ごとに最適閾値を演算して２値画像を作成してもよい。その場合、図１２のフローチャートにおけるステップＳ３００１の再２値化判断が必要なくなる。
【０１１３】
また、文字部塗りつぶし部１１０５、文字色抽出部１１０８において同じ２値画像を使用したが、これに限られることはなく、それぞれに最適な２値化部を文字部塗りつぶし部１１０５、文字色抽出部１１０８内部に所有するようにしてもよい。
【０１１４】
＜＜他の実施の形態＞＞
尚、本発明は、複数の機器（例えば、ホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置等）に適用してもよい。
【０１１５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１６】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１７】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【０１１８】
【発明の効果】
以上説明したように、本発明によれば、高い圧縮効率でカラー文書画像を好適に圧縮することができる。また、上記カラー文書だけの画像に限らず、文字領域と非文字領域が混在する画像の圧縮にも対応できる。
【図面の簡単な説明】
【図１】本発明の第１の圧縮モードにおけるカラー文書画像を圧縮する圧縮装置の細部構成を説明するためのブロック図である。
【図２】本発明の第１の圧縮モードにおけるカラー画像の圧縮処理の流れを説明するためのフローチャートである。
【図３】第１の圧縮モードにおけるカラー情報ソート部１０５でのソーティング重み係数の例を示す図である。
【図４】第１の圧縮モードにおける圧縮データ１１２の構成を説明するための図である。
【図５】図２の圧縮処理におけるステップＳ２０４で示される中間色削減部１０７の動作手順を詳細に説明するためのフローチャートである。
【図６】図５におけるステップＳ５０３〜Ｓ５０５における処理の詳細を説明するためのフローチャートである。
【図７】本実施形態における圧縮処理対象となるカラー文書画像を構成するデータを説明するための概要図である。
【図８】前景色画像と中間色画像と補完中間色画像を説明するための概要図である。
【図９】同実施形態における補完処理の原理を説明するための概要図である。
【図１０】第２の圧縮モードにおける画像圧縮方法を実施するための処理及び中間画像を説明するためのブロック図ある。
【図１１】文字領域検出部１１０４での文字領域検出処理を説明するためのフローチャートである。
【図１２】文字色抽出部１１０８における文字色抽出処理を説明するためのフローチャートである。
【図１３】第２の圧縮モードにおける１色抽出処理を説明するためのフローチャートである。
【図１４】１色抽出処理における代表値の算出方法を説明する図である。
【図１５】スキャナにより発生する文字部の遷移部分（グラデーション）を説明する図である。
【図１６】スキャナにより発生する文字部の遷移部分（グラデーション）を３次元ヒストグラムで表した図である。
【図１７】文字塗りつぶし処理の概要を説明するための図である。
【図１８】文字塗りつぶし処理を説明するためのフローチャートである。
【符号の説明】
１０１  原画像
１０２  減色処理部
１０３  カラー情報
１０４  インデックスカラー情報
１０５  カラー情報ソート部
１０６  同色統合部
１０７  中間色削減部
１０８  背景色データ
１０９  ２値画像作成圧縮部
１１０  ２値画像圧縮データ
１１１  データ結合部
１１２  圧縮データ
１１３  圧縮順位決定部
【図１】
2004229261.tif 000003
【図２】
2004229261.tif 000004
【図３】
2004229261.tif 000005
【図４】
2004229261.tif 000006
【図５】
2004229261.tif 000007
【図６】
2004229261.tif 000008
【図７】
2004229261.tif 000009
【図８】
2004229261.tif 000010
【図９】
2004229261.tif 000011
【図１０】
2004229261.tif 000012
【図１１】
2004229261.tif 000013
【図１２】
2004229261.tif 000014
【図１３】
2004229261.tif 000015
【図１４】
2004229261.tif 000016
【図１５】
2004229261.tif 000017
【図１６】
2004229261.tif 000018
【図１７】
2004229261.tif 000019
【図１８】
2004229261.tif 000020