(57)【要約】【課題】反転文字の文字色を強調して視認性を高めることと、入力画像と復元画像と間の見た目の差を小さくすることとのバランスが取れた画像圧縮を実現する。【解決手段】入力された多値画像を圧縮する画像処理装置であって、前記多値画像の文字領域を特定する文字領域特定手段と、特定された前記文字領域に含まれる個々の単位文字を特定する単位文字特定手段と、特定された前記単位文字の情報及び前記多値画像に基づいて、特定された前記文字領域から代表色を抽出して、前記単位文字毎に代表色を設定する代表色設定手段と、を備え、前記代表色設定手段は、特定された前記文字領域が反転文字領域である場合、前記文字領域から抽出された前記代表色を補正する代表色補正手段を含むことを特徴とする。【選択図】図１
2015198385.tif 000002
【特許請求の範囲】
【請求項１】
入力された多値画像を圧縮する画像処理装置であって、
前記多値画像の文字領域を特定する文字領域特定手段と、
特定された前記文字領域に含まれる個々の単位文字を特定する単位文字特定手段と、
特定された前記単位文字の情報及び前記多値画像に基づいて、特定された前記文字領域から代表色を抽出して、前記単位文字毎に代表色を設定する代表色設定手段と、
を備え、
前記代表色設定手段は、特定された前記文字領域が反転文字領域である場合、前記文字領域から抽出された前記代表色を補正する代表色補正手段を含む
ことを特徴とする画像処理装置。
【請求項２】
前記代表色設定手段は、前記単位文字に関する情報に基づく補正係数を用いて前記補正を行うことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正係数は、前記文字領域に含まれる前記単位文字の画素数に基づいて決定されることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記文字領域に含まれる前記単位文字の画素数は、抽出された前記代表色と近似しているとみなせる平均色を有する単位文字の総画素数であり、当該単位文字の総画素数が少ないほど、前記単位文字の可読性が高まるような補正係数が用いられることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
抽出された前記代表色と近似しているとみなせる平均色を、前記単位文字が有しているかどうかが、前記代表色と前記単位文字の平均色との色空間上の距離を用いて判定されることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記補正係数は、前記文字領域に含まれる前記単位文字の数に基づいて決定されることを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記文字領域に含まれる前記単位文字の数は、抽出された前記代表色と近似しているとみなせる平均色を有する単位文字の数であり、当該単位文字の数が少ないほど、当該単位文字の可読性が高まるような補正係数が用いられることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記補正係数は、前記文字領域に含まれる前記単位文字の外接矩形のサイズに基づいて決定されることを特徴とする請求項２に記載の画像処理装置。
【請求項９】
前記文字領域に含まれる前記単位文字の外接矩形のサイズは、抽出された前記代表色に近似しているとみなせる平均色を有する単位文字の外接矩形のサイズであり、当該単位文字の外接矩形のサイズが小さいほど、当該単位文字の可読性が高まるような補正係数が用いられることを特徴とする請求項８に記載の画像処理装置。  
【請求項１０】
前記代表色設定手段は、前記文字領域に含まれる前記単位文字のフォントに基づいて、前記補正の内容を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項１１】
前記代表色設定手段は、前記文字領域に含まれる前記単位文字のフォントがボールド体である場合は、当該単位文字の可読性が高まるような補正を行わないことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記代表色設定手段は、前記文字領域に含まれる前記単位文字のフォントの種類に応じた補正係数を用いて、前記補正を行うことを特徴とする請求項１０又は１１に記載の画像処理装置。
【請求項１３】
前記代表色設定手段は、前記多値画像の解像度に基づいて、前記補正の内容を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項１４】
前記代表色設定手段は、前記多値画像の解像度が所定の閾値より高い場合は、当該単位文字の可読性が高まるような補正を行わないことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
入力された多値画像を圧縮するための画像処理方法であって、
前記多値画像の文字領域を特定する文字領域特定ステップと、
特定された前記文字領域に含まれる個々の単位文字を特定する単位文字特定ステップと、特定された前記単位文字の情報及び前記多値画像に基づいて、特定された前記文字領域から代表色を抽出して、前記単位文字毎に代表色を設定する代表色設定ステップと、
を含み、前記代表色設定ステップは、特定された前記文字領域が反転文字領域である場合、前記文字領域から抽出された前記代表色を補正する代表色補正ステップを含む
ことを特徴とする画像処理方法。
【請求項１６】
コンピュータを、請求項１乃至１４のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値画像を圧縮・伸長する画像処理技術に関する。
【背景技術】
【０００２】
近年、スキャナの普及により文書の電子化が進んでいる。電子化された文書データをフルカラーのビットマップ形式で保存すると、例えば、Ａ４サイズの場合では、読取解像度３００ｄｐｉで、約２４Ｍｂｙｔｅにもなる。これでは、必要なメモリが膨大になるだけでなく、例えばメールに添付して送信するのにもサイズが大きすぎるため、できるだけデータ容量を小さくしたいという要望がある。
【０００３】
そこで、データ容量を小さくするべく、読み取った画像（フルカラー画像）を圧縮することが通常行われており、その圧縮方法としてＪＰＥＧが知られている。ＪＰＥＧは、写真等の自然画像を圧縮するには非常に効果的だが、文字部をＪＰＥＧ圧縮するとモスキートノイズと呼ばれる画像劣化が発生することが知られている。これに対しては、入力されたフルカラー画像を文字領域と写真領域とに分け、文字領域には２値化した上でＭＭＲ圧縮、写真領域にはＪＰＥＧ圧縮を行うことで、文字領域の品位を保ったまま、データサイズを小さくする方法が従来より提案されている。
【０００４】
上記従来の方法は、伸長時において、２値画像の白部分はＪＰＥＧ画像を透過し、黒部分は文字単位や文字領域単位などで決定した代表色をのせた文字で表現することを特徴としている。これにより、元々単色で表現されていた文字部分のスキャナ読込によるバラツキを除去することが可能となる。加えて、圧縮システムに利用することで、高画質・高圧縮の画像が得られる。そして、この方法での高画質化の実現には、文字領域部分の文字から適切な代表色を抽出することが重要となる。この点、スキャナ読込によるバラツキや圧縮作用によって背景の色が文字に滲み込んでしまうことがあり、そのような滲み込みが生じた入力画像中の文字領域の色を、色抽出の際にそのまま再現（抽出）してしまうという問題があった。
【０００５】
このような色抽出技術における問題に対しては、文字の代表色を単位文字に割り当てる際、単位文字の平均色と代表色の色距離が所定の範囲内にある反転文字については所定の色（例えば白）を割り当てるという提案がなされている（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２６０３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１は、文字の視認性を高めるために、元の文字色よりも強調した所定の色を文字の代表色とする技術である。そして、例えば入力画像内の文字が反転文字であって、当該反転文字色が、白以外の薄い色である場合にも、その文字代表色として所定色（例えば白）が割り当てられることになる。
【０００８】
つまり、上記特許文献１の場合、上述のような白以外の反転文字領域に対して、当該反転文字のオリジナルの色とは異なる色が文字代表色として割り当てられてしまう。さらに、薄い文字色を持つ反転文字領域が全体の大半を占めるような入力画像であれば、圧縮前の状態（入力画像）と圧縮伸長後の状態（復元画像）とで、見た目が大きく変わってしまうことになる。
【課題を解決するための手段】
【０００９】
本発明に係る画像処理装置は、入力された多値画像を圧縮する画像処理装置であって、前記多値画像の文字領域を特定する文字領域特定手段と、特定された前記文字領域に含まれる個々の単位文字を特定する単位文字特定手段と、特定された前記単位文字の情報及び前記多値画像に基づいて、特定された前記文字領域から代表色を抽出して、前記単位文字毎に代表色を設定する代表色設定手段と、を備え、前記代表色設定手段は、特定された前記文字領域が反転文字領域である場合、前記文字領域から抽出された前記代表色を補正する代表色補正手段を含むことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、反転文字の文字色を強調して視認性を高めることと、入力画像と復元画像と間の見た目の差を小さくすることとのバランスが取れた画像圧縮が可能となる。
【図面の簡単な説明】
【００１１】
【図１】実施例１に係る、画像圧縮装置としての画像処理装置の内部構成を示す機能ブロック図である。
【図２】入力画像の一例を示す図である。
【図３】２値化処理の流れを示すフローチャートである。
【図４】輝度画像のヒストグラムの一例を示す図である。
【図５】２値化処理で得られた２値画像を示す図である。
【図６】文字領域特定処理の流れを示すフローチャートである。
【図７】２値画像に文字領域特定処理を施した結果を示す図である。
【図８】単位文字特定処理の流れを示すフローチャートである。
【図９】単位文字特定処理を施した結果（一部）を示す図である。
【図１０】代表色設定処理の流れを示すフローチャートである。
【図１１】代表色抽出処理の流れを示すフローチャートである。
【図１２】ヒストグラムを示す図である。
【図１３】候補代表色抽出処理と代表色割当処理の詳細を示すフローチャートである。
【図１４】候補代表色の抽出方法を説明する図である。
【図１５】実施例１に係る、候補代表色補正処理の詳細を示すフローチャートである。
【図１６】文字領域穴埋め処理の流れを示すフローチャートである。
【図１７】画像伸張装置としての画像処理装置の内部構成を示す機能ブロック図である。
【図１８】実施例２に係る、画像圧縮装置としての画像処理装置の内部構成を示す機能ブロック図である。
【図１９】特徴別に再設定された文字領域の一例を示す図である。
【図２０】実施例２に係る、候補代表色補正処理の詳細を示すフローチャートである。
【図２１】実施例３に係る、候補代表色補正処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付図面を参照して、本発明を好適な実施例に従って詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施例１】
【００１３】
図１は、本実施例に係る、スキャナ等で読み取られた多値画像を圧縮する画像圧縮装置としての画像処理装置の内部構成を示す機能ブロック図である。画像圧縮装置１００は、２値化部１０１、文字領域特定部１０２、単位文字特定部１０３、代表色設定部１０４、文字領域穴埋め部１０５、第１圧縮部１０６、第２圧縮部１０７で構成される。
【００１４】
２値化部１０１は、入力画像としてのカラーの多値画像（以下、単に「多値画像」と呼ぶ。）を２値化する。生成された２値画像は、文字領域特定部１０２及び単位文字特定部１０３に送られる。
【００１５】
文字領域特定部１０２は、２値化部１０１から受け取った２値画像に対し所定値を持つ画素（例えば、黒画素）の輪郭線追跡処理等を行って文字領域を特定し、文字領域を識別する情報（以下、文字領域情報）を生成する。文字領域情報には、文字領域の位置（座標）やサイズ、所定値を持つ画素の数といった情報に加え、文字領域内の文字が反転文字であるかどうかを示す属性情報も含まれる。この文字領域情報によって文字領域が特定されることで、文字領域以外の領域（写真やイラスト等の自然（階調）画像を示す自然画像領域）の位置やサイズも特定されることになる。また、文字領域特定部１０２は、生成した文字領域情報に基づいて、文字領域毎の２値画像（以下、部分２値画像）の生成も行なう。そして、文字領域情報は単位文字特定部１０３に送られ、部分２値画像は代表色設定部１０４、文字領域穴埋め部１０５及び第１圧縮部１０６に送られる。
【００１６】
単位文字特定部１０３は、２値化部１０１から受け取った２値画像と文字領域特定部１０２から受け取った文字領域情報を用いて、文字領域内における個々の文字（以下、単位文字）の位置及びサイズを特定する。説明を簡単にするため、本実施例では、特定された各単位文字の位置及びサイズなどを示す情報（以下、単位文字情報）は、文字領域情報に追加されるものとする。単位文字情報が追加された文字領域情報は、代表色設定部１０４と文字領域穴埋め部１０５に送られる。
【００１７】
代表色設定部１０４は、入力画像である多値画像と、文字領域特定部１０２から受け取った部分２値画像と、単位文字特定部１０３から受け取った文字領域情報（単位文字情報を含む）とに基づいて、文字領域毎に代表色を設定する。すなわち、部分２値画像における黒画素の部分と、多値画像上の当該黒画素に相当する位置とを対応付けながら、文字領域中の各単位文字に代表色を設定して、文字領域における代表色を示す情報（以下、文字代表色情報）を生成する。
【００１８】
文字領域穴埋め部１０５は、入力画像である多値画像と、文字領域特定部１０２から受け取った部分２値画像と、単位文字特定部１０３から受け取った文字領域情報とに基づいて穴埋め処理を行い、穴埋め多値画像を生成する。具体的には、多値画像上の文字領域毎に、その単位文字領域の文字画素を文字画素周辺の画素の色、すなわち背景色に置換し、文字を消した画像を生成する処理を行う。
【００１９】
第１圧縮部１０６は、文字領域特定部１０２から受け取った部分２値画像に対し、ＭＭＲ方式による圧縮処理を行って、ＭＭＲ圧縮コード（第１の圧縮コード）を生成する。なお、第１圧縮部における圧縮方式は、２値画像に適した圧縮方式であればよく、例えば、ＪＢＩＧ、ＭＲ、ＭＨ等の他の圧縮方式を用いてもよい。
【００２０】
第２圧縮部１０７は、文字領域穴埋め部１０５から受け取った穴埋め多値画像に対し、ＪＰＥＧ方式による圧縮処理を行って、ＪＰＥＧ圧縮コード（第２の圧縮コード）を生成する。
【００２１】
以上の各部による処理の結果、文字領域情報（単位文字情報を含む）、ＭＭＲ圧縮コード、文字代表色情報、ＪＰＥＧ圧縮コードからなる、入力画像の圧縮データが生成される。生成した圧縮データについては、さらに、ＰＤＦなどに可逆圧縮してもよい。また、入力画像中に文字領域が存在しない場合、圧縮データはＪＰＥＧ圧縮コードのみで構成されることになる。
【００２２】
なお、上述した画像圧縮装置（後述の画像伸張装置も同様）は、例えば、パーソナルコンピュータ等の汎用コンピュータで実現される。そして、汎用コンピュータには、その標準的な構成要素として、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等を有している。また、画像圧縮装置は、汎用コンピュータに対する拡張カードとして実現される専用ハードウエアとして実現されてもよい。さらに、画像圧縮装置を搭載する装置の具体例としては、ネットワーク通信機能を有する複合機（コピー、プリンタ、スキャナ、ファクシミリ機能等を有する装置）、カラースキャナ、カラーファクシミリ等が挙げられる。
【００２３】
続いて、画像圧縮装置１００の各部のうち、２値化部１０１、文字領域特定部１０２、単位文字特定部１０３、代表色設定部１０４、文字領域穴埋め部１０５について、それぞれ詳しく説明する。
【００２４】
まず、２値化部１０１における２値化処理について説明する。
【００２５】
図２は、２値化処理の対象となる入力画像の一例を示す図である。図２において、入力画像２０１は多値画像であり、入力画像２０１の下地は濃い灰色である。また、文字領域２０２及び２０３の反転文字は薄い赤、文字領域２０４の反転文字は白、文字領域２０５の反転文字は薄い黄色、文字領域２０６及び２０７の反転文字は薄い青であるものとする。なお、本実施例では、入力画像２０１はスキャナで読み取った画像データとする。通常、スキャナで読み取った画像には、読取時のバラツキやＪＰＥＧ圧縮の劣化を含んでいると考えられるが、そのような劣化を含まない画像も本実施例の対象であることは言うまでもない。
【００２６】
図３は、２値化処理の流れを示すフローチャートである。なお、以下で述べる内容は、ハードディスク等に格納されたプログラムがＲＡＭに読み出され、これをＣＰＵが実行することにより実現される。
【００２７】
ステップ３０１において、２値化部１０１は、スキャナで読み取って得られた多値画像（例えば、２４ｂｉｔのＲＧＢデータ）から輝度画像を生成する。具体的には、下記の式（１）により輝度Ｙへの変換を行う。  
Ｙ  ＝  ０．２９９×Ｒ  ＋  ０．５８７×Ｇ  ＋  ０．１１４×Ｂ  ・・・式（１）
【００２８】
ステップ３０２において、２値化部１０１は、生成された輝度画像の全面ヒストグラムを作成する。図４は、輝度画像のヒストグラムの一例を示す図である。図４において、横軸はＹ信号の輝度レベル（０〜２５５）を示し、縦軸はその出現頻度を示している。図４のヒストグラムの場合、分布曲線４０１が下地の分布を示し、分布曲線４０２が文字の分布を示している。黒三角のマーク４０３は、下地の分布曲線４０１の頂点と文字の分布曲線４０２の頂点との中間点を示している。
【００２９】
ステップ３０３において、２値化部１０１は、最適な２値化閾値Ｔを導出する。２値化閾値Ｔの導出方法は特に限定されないが、例えば、上述の黒三角のマーク４０３で示される中間点が２値化閾値Ｔとして導出される。
【００３０】
ステップ３０４において、２値化部１０１は、ステップ３０１で生成した輝度画像を、ステップ３０３で導出した２値化閾値Ｔに基づいて２値化し、２値画像を生成する。
【００３１】
以上が、２値化処理の内容である。図５は、図２における入力画像２０１を２値化して得られた２値画像を示しており、背景部（下地部）は黒、反転文字部分は白で表現された画像となっている。
【００３２】
次に、文字領域特定部１０２における文字領域特定処理について説明する。
【００３３】
図６は、文字領域特定処理の流れを示すフローチャートである。なお、以下で述べる内容は、ハードディスク等に格納されたプログラムがＲＡＭに読み出され、これをＣＰＵが実行することにより実現される。
【００３４】
ステップ６０１において、文字領域特定部１０２は、２値化部１０１で生成された２値画像から、公知の黒画素の輪郭追跡処理あるいはラベリング処理などの技術により、黒画素の部分を検出する。
【００３５】
ステップ６０２において、文字領域特定部１０２は、ステップ６０１での検出結果に基づいて、文字領域（その位置やサイズ）を特定する。具体的には、黒画素輪郭で囲まれる画素の塊のうち、面積の大きい黒画素の塊について、内部にある白画素に対しても輪郭線追跡を行って白画素の塊を抽出し、更に一定面積以上の白画素の塊の内部からは再帰的に黒画素の塊を抽出する。こうして得られた黒画素の塊を、大きさ及び形状で分類する。例えば、縦横比が１に近く、大きさが一定の範囲のものを文字相当の画素塊とし、近接する文字が整列良くグループ化可能な部分を文字領域として特定する。
【００３６】
ステップ６０３において、文字領域特定部１０２は、ステップ６０３で特定された文字領域について、反転文字領域であるかどうかを特定する。具体的には、まず、文字領域内の黒画素数と白画素数とを比較する。そして、黒画素数の方が白画素数より多ければ、更に連結白画素のサイズが予め定めた文字サイズの範囲内であるかどうかをチェックする。その結果、連結白画素のサイズが予め定めた文字サイズの範囲内であれば、当該文字領域は反転文字領域であると特定する。
【００３７】
ステップ６０４において、文字領域特定部１０２は、ステップ６０３における処理結果に従い、属性情報を生成する。すなわち、文字領域として特定された領域については、文字領域の位置やサイズなどの情報とともに、反転文字領域であるか否かを示す種別の情報が、属性情報として生成される。また、文字領域以外の領域として特定された領域については、自然画領域であることを示す属性情報が生成される。このようにして生成された属性情報はＲＡＭ等に記憶される。
【００３８】
以上が、文字領域特定処理の内容である。図７は、図６で示した２値画像に文字領域特定処理を施した結果を示している。図７において、白枠で囲まれた領域７０１〜７０３が、特定された文字領域（ここではすべて反転文字領域）を示している。
【００３９】
次に、単位文字特定部１０３における単位文字の特定処理について説明する。  図８は、単位文字特定処理の流れを示すフローチャートである。なお、以下で述べる内容は、ハードディスク等に格納されたプログラムがＲＡＭに読み出され、これをＣＰＵが実行することにより実現される。
【００４０】
ステップ８０１において、単位文字特定部１０３は、処理対象とする文字領域を決定する。上述の図７の場合であれば、各文字領域７０１〜７０３のうち１の文字領域が、処理対象の文字領域として決定される。
【００４１】
ステップ８０２において、単位文字特定部１０３は、文字領域情報に含まれる属性情報を参照して、処理対象の文字領域が、反転文字領域であるかどうかを判定する。判定の結果、反転文字領域である場合は、ステップ８０３に進む。一方、反転文字領域でない場合は、ステップ８０４に進む。
【００４２】
ステップ８０３において、単位文字特定部１０３は、白画素であることを示す所定の画素値を有する画素の集合を単位文字として決定する。
【００４３】
ステップ８０４において、単位文字特定部１０３は、黒画素であることを示す所定の画素値を有する画素の集合を単位文字として決定する。
【００４４】
ステップ８０５において、単位文字特定部１０３は、未処理の文字領域の有無を判定する。未処理の文字領域があれば、ステップ８０１に戻り、次の文字領域を処理対象の文字領域に決定して、ステップ８０２〜ステップ８０５の処理を繰り返す。一方、すべての文字領域についての処理が完了している場合は、ステップ８０６に進む。
【００４５】
ステップ８０６において、単位文字特定部１０３は、ステップ８０３及び８０４で決定された各単位文字について、位置、サイズ、画素数、反転の有無などを示す情報（単位文字情報）を生成する。このようにして生成された単位文字情報はＲＡＭ等に記憶される。
【００４６】
図９は、図７の文字領域７０１に対して単位文字特定処理を施した結果（一部）を示している。図９において、アルファベット「Ａ〜Ｑ」までの各文字に対応する矩形９０１〜９１７が特定された単位文字となっている。なお、文字領域７０１は反転文字領域であるが、説明の便宜上、図９では白と黒を反転させている。同様に、他の文字領域７０２や７０３についても単位文字を特定する処理がなされる。
【００４７】
以上が、単位文字特定処理の内容である。
【００４８】
次に、代表色設定部１０４における代表色設定処理について説明する。上述したように、代表色設定部１０４は、文字領域情報、部分２値画像及び多値画像を入力として取得する。この場合において、部分２値画像は、２値画像の文字領域を切り取ってＲＡＭ等に格納してあるものとする。多値画像も同様にＲＡＭ等に格納してあるものとする。なお、本実施例では、入力画像をそのまま処理の対象として扱っているが、入力画像を圧縮した画像（圧縮多値画像）を処理対象として使用してもよい。その際の圧縮度合い（圧縮率）は、用途や目的に応じて任意の値が設定される。
【００４９】
図１０は、代表色設定処理の流れを示すフローチャートである。なお、以下で述べる内容は、ハードディスク等に格納されたプログラムがＲＡＭに読み出され、これをＣＰＵが実行することにより実現される。
【００５０】
ステップ１００１において、代表色設定部１０４は、処理対象とする文字領域（＝部分２値画像）を決定する。例えば、上述の図７の場合、各文字領域７０１〜７０３のうち１の文字領域が、処理対象の文字領域として決定される。
【００５１】
ステップ１００２において、代表色設定部１０４は、文字領域情報内の属性情報を参照して、処理対象の文字領域が、反転文字領域であるか否かを判定する。判定の結果、反転文字領域である場合は、ステップ１００３に進む。一方、反転文字領域でない場合は、ステップ１００６に進む。
【００５２】
ステップ１００３において、代表色設定部１０４は、処理対象である文字領域（反転文字領域）に対応する部分２値画像に対し色反転処理を行なって色を反転させる。例えば、背景が黒の白文字（いわゆる白抜き文字）であれば、背景が白の黒文字にする。反転文字領域に対して反転処理を実行する理由は、通常の文字領域に施す処理と条件を同じにして、共通のアルゴリズムを適用するためである。
【００５３】
ステップ１００４において、代表色設定部１０４は、処理対象の文字領域（反転文字領域）に対して代表色抽出処理を実行する。図１１は、代表色抽出処理の流れを示すフローチャートである。上述のように代表色抽出処理の対象は、通常の文字領域と反転文字領域の両方となる。ここでは、図７の反転文字領域７０１が処理対象である場合を例に説明するものとする。また、説明において使用する用語を以下のように定義する。
・文字領域内の単位文字部分の画素に対応する多値画像の画素、その色情報の平均を、平均色Ｃ＿ａｖｅ（ｍ）とする。ここで、ｍは文字領域中の単位文字を一意に識別する数値であり、文字領域中にＭ個の単位文字が存在すれば、ｍの取る範囲は１≦ｍ≦Ｍとなる。
・文字領域内の候補代表色をＣ’（ｎ）とする。ここで、ｎは文字領域中の代表色の数を表す。例えば、文字領域７０１に該当する多値画像の文字の色には、白と薄い黄色の２種類があるため、ｎは２となる。なお、ｎの初期値は１であり、代表色抽出処理が終了した段階で候補代表色の数ｎが確定する。
・単位文字毎に割り当てた候補代表色を、代表色Ｃ＿ｑ（ｍ）とする。ｍは文字領域中の単位文字を一意に識別する数値であり、Ｃ＿ａｖｅ（ｍ）で用いたｍと同じ位置の単位文字を指す。
【００５４】
ステップ１１０１において、代表色設定部１０４は、文字領域の代表色数ｎに１を設定する。これは、「第１色目の代表色を抽出する」という意味である。
【００５５】
ステップ１１０２において、代表色設定部１０４は、文字領域情報と、部分２値画像の黒画素の位置に対応する多値画像の色（ＲＧＢ）とを参照しながら、単位文字毎にＲＧＢの平均色Ｃ＿ａｖｅ（ｍ）を算出する。算出された各単位文字のＲＧＢの平均色Ｃ＿ａｖｅ（ｍ）は、例えば、ＹＣｂＣｒのような、輝度Ｙと色差ＣｂＣｒで表現できる色空間に変換してもよい。色空間は、ＬａｂやＹｕｖ等の他の色空間でも構わないものとするが、本実施例では、ＲＧＢからＹＣｂＣｒに変換した場合を例に説明を行う。ＲＧＢからＹＣｂＣｒへの変換式は省略する。
【００５６】
ステップ１１０３において、代表色設定部１０４は、ヒストグラム作成の準備として、ヒストグラムの初期化（ヒストグラムを作成するためのメモリ領域のクリア）を行う。
【００５７】
ステップ１１０４において、代表色設定部１０４は、Ｃ＿ｑ（ｍ）がＮＵＬＬ、すなわち代表色が未割当の単位文字のみを使って、色差ＣｂＣｒの２次元ヒストグラムを作成する。ある文字領域に対する処理開始直後の段階では、文字領域内の単位文字すべてに代表色が割り当てられていないため、すべての単位文字（文字領域７０１では７４個のアルファベット）のＣ＿ａｖｅ（ｍ）を用いてヒストグラムが作成されることになる。図１２は、図７の文字領域７０１についての１回目の処理で作成されるヒストグラムを示している。図１２において、プロット群１２０１は単位文字９０１〜９０９の各単位文字の平均色Ｃ＿ａｖｅをプロットした集合を表し、プロット群１２０２は単位文字９１０以降の各単位文字の平均色Ｃ＿ａｖｅをプロットした集合を表している。ここで、プロット群１２０１とプロット群１２０２との距離が離れているのは、図２で示した入力画像（カラー多値画像）２０１における、文字領域２０４の色（白）と文字領域２０５の色（薄い黄色）との違いによる。さらに、プロット群１２０１内のプロット点の離れ具合、または、プロット群１２０２内のプロット点の離れ具合は、スキャナで読み取られた入力画像のバラツキ、あるいは、その後の処理（例えば、ＪＰＥＧ圧縮）によるバラツキを表している。また、文字領域７０１内の単位文字のうち、プロット群１２０１に対応する単位文字（反転単位文字）９０１〜９０９は、本来であれば白（Ｃｂ，Ｃｒ）＝（０，０）であることが望まれる。しかし、上述したバラツキと同様の理由で、反転文字領域の背景部の色が反転単位文字の文字部に影響してしまい、（Ｃｂ，Ｃｒ）＝（０，０）から離れた場所にプロットされてしまっている。そして、プロット群１２０２の点は文字領域７０１内の２行目から最終行までの単位文字についての文字平均色をプロットしているため、プロット群１２０１より内部に存在するプロット点が多いことが分かる。なお、本実施例では、処理の高速化を優先して、ＣｂＣｒの２次元ヒストグラムを作成する例を示しているが、精度を優先して、ＹＣｂＣｒの３次元ヒストグラムを作成してもよい。
【００５８】
ステップ１１０５において、代表色設定部１０４は、単位文字についての候補代表色Ｃ’（ｎ）を抽出する。候補代表色抽出処理については後述する。
【００５９】
ステップ１１０６において、代表色設定部１０４は、文字領域内の単位文字毎に代表色を割り当てる。代表色割当処理についても後述する。
【００６０】
ステップ１１０７において、代表色設定部１０４は、代表色が未割当の単位文字の有無を判定する。代表色が未割当の単位文字がある場合（Ｃ＿ｑ（ｍ）がＮＵＬＬの場合）には、ステップ１１０８に進む。一方、すべての単位文字に代表色が割り当てられている場合は、本処理を終了する。
【００６１】
ステップ１１０８において、代表色設定部１０４は、代表色数ｎをインクリメント（＋１）する。インクリメントした後は、先行する処理で作成したヒストグラムを初期化し（ステップ１１０３）、Ｃ＿ｑ（ｍ）がＮＵＬＬの単位文字についてのみヒストグラムを作成する（ステップ１１０４）。そして、Ｃ＿ｑ（ｍ）がＮＵＬＬの単位文字がなくなるまで本処理が繰り返される。
【００６２】
以上が、代表色抽出処理の内容である。図７の文字領域７０１が処理対象である場合には、最初のルーチン（代表色数ｎ＝１）において、文字色が薄い黄色の各単位文字（２行目〜９行目の各文字）に対し、その単位文字の集合の合計画素数（２行目〜９行目の文字の画素数を合計した値）に応じた補正が施された代表色が割り当てられる。そして、２回目のルーチン（代表色数ｎ＝２）において、文字色が白の各単位文字（１行目の各文字）に対し、その単位文字の集合の合計画素数（１行目の文字の画素数を合計した値）に応じた補正が施された代表色が割り当てられることになる。
【００６３】
図１０のフローチャートの説明に戻る。
【００６４】
ステップ１００５において、代表色設定部１０４は、処理対象である文字領域（反転文字領域）に対応する部分２値画像に対し再反転処理を行なって色を再度反転させる。これは、代表色が割り当てられた後に、元の反転文字領域に戻すための処理である。
【００６５】
ステップ１００６において、代表色設定部１０４は、処理対象の文字領域（通常の文字領域）に対して、前述した代表色抽出処理を実行する。
【００６６】
ステップ１００７において、代表色設定部１０４は、未処理の文字領域の有無を判定する。未処理の文字領域があれば、ステップ１００１に戻り、次の文字領域を処理対象の文字領域に決定して、ステップ１００２〜ステップ１００７の処理を繰り返す。一方、すべての文字領域についての処理が完了している場合は、本処理を終える。
【００６７】
以上が、代表色設定処理の内容である。
【００６８】
続いて、上述の候補代表色抽出処理（ステップ１１０５）と代表色割当処理（ステップ１１０６）の詳細について説明する。
【００６９】
図１３は、候補代表色抽出処理と代表色割当処理の詳細を示すフローチャートである。図１３のフローチャートにおいて、ステップ１３０１〜１３０３が単位文字の候補代表色Ｃ‘（ｎ）を抽出する処理に相当し、ステップ１３０４〜１３１０が単位文字毎に代表色を割り当てる処理に相当する。
【００７０】
＜候補代表色抽出処理＞
ステップ１３０１において、代表色設定部１０４は、単位文字に割り当てられる代表色の候補となる候補代表色Ｃ’（ｎ）の抽出を行う。ここで、ｎは候補代表色の数であり、前述の代表色数ｎと同じである。また、候補代表色Ｃ’（ｎ）は、Ｃｂの成分とＣｒの成分とからなり、ｎ番目の候補代表色におけるＣｂの成分をＣ’（ｎ）＿ｂ、ｎ番目の候補代表色におけるＣｒの成分をＣ’（ｎ）＿ｒと表すことにする。図１４は、候補代表色Ｃ’（ｎ）の抽出方法を説明する図である。図１４において、点線で示される格子線１４００は、予め設定されたエリアを示しており、各エリアには１つの代表値（Ｃｂ，Ｃｒ）が設定されているものとする。エリアのサイズは任意であるが、サイズが小さければ精度が上がる一方で処理効率が悪くなるので、そのトレードオフを考慮して設定される。
【００７１】
ＹＣｂＣｒがそれぞれ８ｂｉｔで表されるとして、本実施例では、エリアの縦横の幅を３ｂｉｔに設定することにする。ここで、各エリアをＣｂ−Ｃｒ方向に走査し、エリア内のプロット数の最大値を取得する。いま、上述のプロット群１２０１を含む第１エリア１４０１と、上述のプロット群１２０２を含む第２エリア１４０２があり、第２エリア１４０２で最大プロット数が得られるので、△のマーク１４０３で示される候補代表色（Ｃｂ，Ｃｒ）が得られることになる。なお、図１４における、第１エリア１４０１及び第２エリア１４０２は、説明の便宜上、格子線１４００で示される各エリアよりも一回り大きな矩形で示している。ここでは、最大プロット数から候補代表色を決定しているが、プロット群１２０１及び１２０２から、候補代表色を改めて算出してもよい。
【００７２】
図１３のフローチャートの説明に戻る。
【００７３】
ステップ１３０２において、代表色設定部１０４は、処理対象の文字領域が反転文字領域であるか否かを判定する。文字領域が反転文字領域である場合は、ステップ１３０３に進む。一方、文字領域が反転文字領域でない場合は、ステップ１３０４に進む。処理対象の文字領域が図７の反転文字領域７０１である場合は、ステップ１３０３に進むことになる。
【００７４】
ステップ１３０３において、代表色設定部１０４は、ステップ１３０１で抽出した候補代表色Ｃ’（ｎ）の調整を行う。具体的には、文字色を強調して視認性を上げるのか、入力画像における文字本来の色を保持して入力画像との差分を小さくするのかのバランスをとるための補正処理を行う。この補正処理は、ステップ１３０１で抽出された候補代表色が、例えば白であるはずの文字部が滲んでしまったために誤って抽出されている可能性や、強調処理によって元の多値画像における色との差が大きくなり違和感が出る可能性などを考慮して行なうものである。図１５は、候補代表色補正処理の詳細を示すフローチャートである。
【００７５】
ステップ１５０１において、代表色設定部１０４は、処理対象の文字領域における単位文字の数を表す変数（単位文字数）ｍを初期化する。具体的には、ｍ＝１に設定する。
【００７６】
ステップ１５０２において、代表色設定部１０４は、文字の画素数をカウントする変数（累計画素数）Ｓを初期化する。具体的には、Ｓ＝０に設定する。
【００７７】
ステップ１５０３において、代表色設定部１０４は、単位文字数ｍの値が、Ｍ以下であるか否かを判定する。ここで、Ｍは、処理対象の文字領域における単位文字の総数である。単位文字数ｍの値がＭ以下である場合は、未処理の単位文字が存在することを意味するので、ステップ１５０４に進む。一方、単位文字数ｍの値がＭより大きい場合は、文字領域内のすべての単位文字が処理されたことを意味するので、ステップ１５０８に進む。例えば、図７の文字領域７０１であれば、Ｍ＝７４である。そして、単位文字数ｍの値が１〜７４の時はステップ１５０４に進み、単位文字数ｍの値が７５になった時点でステップ１５０８に進むことになる。
【００７８】
ステップ１５０４において、代表色設定部１０４は、ステップ１３０１で抽出された候補代表色Ｃ’（ｎ）と、単位文字の平均色Ｃ＿ａｖｅ（ｍ）との色空間上の距離Ｄを導出する。具体的には、以下の式（２）によって、距離Ｄを算出する。
【００７９】
【数１】
2015198385.tif 000003
【００８０】
ステップ１５０５において、代表色設定部１０４は、求めた距離Ｄと予め設定された閾値ｖとを比較し、求めた距離Ｄが閾値ｖ以下であるか否かを判定する。ここで、閾値ｖは、単位文字の平均色Ｃ＿ａｖｅ（ｍ）が候補代表色Ｃ’（ｎ）の近似色であるか否かを判定するための閾値であり、任意の値が設定される。求めた距離Ｄが閾値ｖ以下（つまり、単位文字の平均色Ｃ＿ａｖｅ（ｍ）が候補代表色Ｃ’（ｎ）の近似色であるとみなせる場合）であれば、ステップ１５０６に進む。一方、求めた距離Ｄが閾値ｖより大きい場合はステップ１５０７に進む。
【００８１】
ステップ１５０６において、代表色設定部１０４は、累計画素数Ｓに単位文字の画素数Ｓ（ｍ）を加算する。各単位文字の画素数は、文字領域情報や部分２値画像を参照することで取得できる。
【００８２】
ステップ１５０７において、代表色設定部１０４は、単位文字数ｍをインクリメント（＋１）し、ステップ１５０３に戻る。
【００８３】
ステップ１５０８において、代表色設定部１０４は、候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を有する単位文字の総画素数（累計画素数Ｓ）に基づき、候補代表色を補正する。具体的には、以下の式（３）で表される補正係数αを、候補代表色Ｃ’（ｎ）の各成分Ｃ’（ｎ）＿ｂとＣ’（ｎ）＿ｒとにそれぞれ乗算することにより、候補代表色を補正する。
【００８４】
【数２】
2015198385.tif 000004
【００８５】
上記式（３）において、「Ｓｔｈ）は定数であり、Ｓｔｈ≧累計画素数Ｓである。また、αの範囲は、０＜α≦１．０であるものとする。なお、上記補正係数αは、以下のような設計思想に基づき設定されている。
【００８６】
候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字の画素数が多ければ（累計画素数Ｓの値が大きい場合）、当該単位文字は、入力画像に占める割合が大きい文字であると考えられる。このような単位文字に対し、可読性が高まるような補正（所定の色としての白に近くなるような大きな補正）を掛けた代表色を割り当てると、入力画像との見た目の差が大きくなり違和感がある。よって、候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字の総画素数が多い場合は、候補代表色を所定の色（白）に補正する度合いが低くなるような補正係数とする。
【００８７】
逆に、候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字の画素数が少なければ（累計画素数Ｓの値が小さい場合）、当該単位文字は、入力画像に占める割合が小さい文字であると考えられる。この場合は、入力画像との見た目の差よりも可読性を優先し、候補代表色を所定の色（白）に補正する度合いが大きくなるような補正係数とする。このように補正係数αを設定することで、「入力画像との色差分」と「可読性」のバランスがとれた代表色の抽出が可能となる。例えば、薄い黄色の反転文字領域２０５の色情報をプロットした結果であるプロット群１２０２（前述の図１２を参照）は、該当する単位文字の総画素数が多いため、元の色である薄い黄色ができるだけ保持されるような補正係数αが設定されることになる。また、白の反転文字領域２０４の色情報をプロットした結果であるプロット群１２０１（前述の図１２を参照）は、該当する単位文字の総画素数が少ないため、候補代表色が所定の色（白）に近くなるような補正係数αが設定されることになる。
【００８８】
なお、補正係数αは上述の例に限定されるものではなく、例えば、単位文字の数を用いて定義されるものであってもよい。この場合の、補正係数αは以下の式（４）で表されることになる。
【００８９】
【数３】
2015198385.tif 000005
【００９０】
上記式（４）において、「ｃｎｔ」は処理対象の文字領域内で候補代表色に近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字の累計数を表す変数である。「ｃｎｔ＿ｔｈ」は定数であり、ｃｎｔ＿ｔｈ≧累計数ｃｎｔである。また、上記式（３）と同様、αの範囲は、０＜α≦１．０であるものとする。これにより、補正係数をより簡便に設定することができる。
【００９１】
以上が、候補代表色抽出処理（候補代表色補正処理を含む）の内容である。
【００９２】
図１３のフローチャートの説明に戻る。
【００９３】
＜代表色割当処理＞
ステップ１３０４において、代表色設定部１０４は、単位文字数ｍを初期化する。具体的には、ｍ＝１に設定する。
【００９４】
ステップ１３０５にて、代表色設定部１０４は、単位文字数ｍの値が、Ｍ以下であるか否かを判定する。上述のとおり、Ｍは、処理対象の文字領域における単位文字の総数である。単位文字数ｍの値がＭ以下である場合は未処理の単位文字が存在することを意味するので、ステップ１３０６に進む。一方、単位文字数ｍの値がＭより大きい場合は、本処理を終了する。
【００９５】
ステップ１３０６において、代表色設定部１０４は、処理対象の単位文字の代表色Ｃ＿ｑ（ｍ）が未決定であるか否かを判定する。未決定である場合は、ステップ１３０７に進む。一方、既に決定されている場合は、ステップ１３１１に進む。処理開始直後の段階では、どの単位文字についても代表色Ｃ＿ｑ（ｍ）が割り当てられていないため、未決定であると判定されてステップ１３０７へ進むことになる。
【００９６】
ステップ１３０７において、代表色設定部１０４は、候補代表色Ｃ’（ｎ）と、単位文字の平均色Ｃ＿ａｖｅ（ｍ）との色空間上の距離Ｄを、上述の式（２）を用いて導出する。この場合において、処理対象の文字領域が反転文字領域であるときは、本ステップにおけるＣ’（ｎ）は、上述のステップ１３０３で補正されたＣ’（ｎ）となる。
【００９７】
ステップ１３０８において、代表色設定部１０４は、求めた距離Ｄと予め設定された閾値ｖとを比較し、求めた距離Ｄが閾値ｖ以下であるか否かを判定する。求めた距離Ｄが閾値ｖ以下（つまり、単位文字の平均色Ｃ＿ａｖｅ（ｍ）が、候補代表色Ｃ’（ｎ）の近似色であるとみなせる場合）であれば、ステップ１３０９に進む。一方、求めた距離Ｄが閾値ｖより大きい場合はステップ１３１０に進む。
【００９８】
ステップ１３０９において、代表色設定部１０４は、候補代表色Ｃ’（ｎ）を、処理対象の単位文字の代表色Ｃ＿ｑ（ｍ）として割り当てる。すなわち、Ｃ’（ｎ）＿ｂをＣ＿ｑ（ｍ）＿ｂに代入し、Ｃ’（ｎ）＿ｒをＣ＿ｑ（ｍ）＿ｒに代入する。
【００９９】
ステップ１３１０において、代表色設定部１０４は、単位文字数ｍをインクリメント（＋１）し、ステップ１３０５に戻る。
【０１００】
例えば、文字領域７０１が処理対象である場合は、第１色目の候補代表色Ｃ’（ｎ）として薄い黄色に近い色が抽出される（ステップ１３０１）。そのため、そのルーチンでは、文字領域７０１のうち１行目の単位文字については距離Ｄが閾値ｖより大きいと判定され（ステップ１３０８でＮｏ）、当該候補代表色Ｃ’（ｎ）が代表色として設定されることはない（ステップ１３０９を経ずにステップ１３１０に進む）。一方、文字領域７０１のうち２行目〜９行目の単位文字については、距離Ｄが閾値ｖ以下であると判定され（ステップ１３０８でＹｅｓ）、当該候補代表色Ｃ’（ｎ）が代表色として設定されることになる（ステップ１３０９）。
【０１０１】
そして、第２色目の候補代表色Ｃ’（ｎ）として白に近い色が抽出される（ステップ１３０１）。そのため、そのルーチンでは、文字領域７０１のうち１行目の単位文字については距離Ｄが閾値ｖ以下であると判定され（ステップ１３０８でＹｅｓ）、当該候補代表色Ｃ’（ｎ）が代表色として設定されることになる（ステップ１３０９）。一方、文字領域７０１のうち２行目〜９行目の単位文字については、距離Ｄが閾値ｖより大きいと判定され（ステップ１３０８でＮｏ）、当該候補代表色Ｃ’（ｎ）が代表色として設定されることはない（ステップ１３０９を経ずにステップ１３１０に進む）。
【０１０２】
以上が、代表色割当処理の内容である。
【０１０３】
なお、２次元ヒストグラムから代表色を求める場合、得られる代表色は輝度成分Ｙを持たないため、文字領域内の同一の代表色をもつ単位文字間で輝度成分Ｙを求める必要がある。具体的には、文字領域内で同じ代表色Ｃ＿ｑ（ｍ）が割り当てられた複数の単位文字の画素に対応する、多値画像の画素のＲＧＢ色情報の平均値に基づき、前述の式（１）を用いて輝度Ｙを求める。さらに、代表色のＲＧＢ情報を必要とする場合は、ＹＣｂＣｒからＲＧＢへの色空間変換を行う。
【０１０４】
次に、文字領域穴埋め部１０５における文字領域穴埋め処理について説明する。文字領域穴埋め処理は、入力された多値画像中の文字にあたる画素を周りの背景色で塗りつぶす処理であり、これにより、後のＪＰＥＧ圧縮における圧縮率が向上する。図１６は、文字領域穴埋め処理の流れを示すフローチャートである。なお、以下で述べる内容は、ハードディスク等に格納されたプログラムがＲＡＭに読み出され、これをＣＰＵが実行することにより実現される。
【０１０５】
ステップ１６０１において、文字領域穴埋め部１０５は、処理対象とする文字領域を決定する。
【０１０６】
ステップ１６０２において、文字領域穴埋め部１０５は、処理対象の文字領域内の背景色を抽出する。具体的には、当該文字領域に対応する部分２値画像における白画素位置に対応する多値画像上の色を参照してその平均値を求め、得られた平均値をその文字領域内の背景色として抽出する。部分２値画像と多値画像の座標対応の方法は、代表色設定部１０４で説明したので、ここでは説明を省略する。
【０１０７】
ステップ１６０３において、文字領域穴埋め部１０５は、抽出された背景色を用いて、処理対象の文字領域を穴埋めする。具体的には、抽出された背景色を、多値画像の文字領域に割り当てる。
【０１０８】
ステップ１６０４において、文字領域穴埋め部１０５は、未処理の文字領域の有無を判定する。未処理の文字領域があれば、ステップ１６０１に戻り、次の文字領域を処理対象の文字領域に決定して、ステップ１６０２〜ステップ１６０４の処理を繰り返す。一方、すべての文字領域についての処理が完了している場合は、本処理を終了する。
【０１０９】
以上が、文字領域穴埋め処理の内容である。
【０１１０】
続いて、上述のような画像圧縮装置で生成された圧縮データを伸張する、画像伸長装置について説明する。図１７は、本実施例に係る、画像伸張装置としての画像処理装置の内部構成を示す機能ブロック図である。画像伸張装置１７００は、第１伸張部１７０１、第２伸張部１７０２、及び合成部１７０３で構成される。  
第１伸長部１７０１は、入力された圧縮データのうちＭＭＲ圧縮コードに対してＭＭＲ伸長処理を行い、２値画像を生成する。
【０１１１】
第２伸長部１７０２は、入力された圧縮データのうちＪＰＥＧ圧縮コードに対してＪＰＥＧ伸長処理を行い、多値画像を生成する。
【０１１２】
合成部１７０３は、第１伸張部１７０１から受け取った２値画像と第２の伸張部１７０２から受け取った多値画像とに基づき、入力された圧縮データに含まれる文字領域情報と文字代表色情報を参照して、最終的な復元画像である伸張画像を生成する。具体的には、各文字領域における代表色を２値画像中の対応する単位文字の各黒画素に割り当て、代表色が割り当てられた２値画像を、多値画像の上に重ね合わせて合成する。この合成の際、２値画像の白画素は多値画像を透過する。
【０１１３】
このようにして、画像圧縮装置により生成された圧縮データが復元され、伸長画像が得られる。
【０１１４】
以上説明したように、本実施例によれば、反転文字領域に対して文字色を強調し視認性を高めることと、圧縮画像と復元画像との見た目の差分を小さくすることとのバランスをとることが可能になる。
【０１１５】
また、入力画像の画質（特に、反転文字領域の画質）を良好に維持した復元画像を再現することができる。
【実施例２】
【０１１６】
次に、候補代表色の調整処理において、補正係数αの設定に単位文字の外接矩形の情報を用いる態様を、実施例２として説明する。なお、実施例１と共通する内容についてはその説明を省略し、以下では実施例１との差異点を中心に説明するものとする。
【０１１７】
図１８は、本実施例に係る、スキャナ等で読み取られた多値画像を圧縮する画像圧縮装置としての画像処理装置の内部構成を示す機能ブロック図である。画像圧縮装置１００は、２値化部１０１、文字領域特定部１０２、単位文字特定部１０３、特徴別文字領域特定部１８０１、代表色設定部１０４、文字領域穴埋め部１０５、第１圧縮部１０６、第２圧縮部１０７で構成される。特徴別文字領域特定部１８０１が追加されている他は、実施例１に係る図１で示した内部構成と同じである。
【０１１８】
特徴別文字領域特定部１８０１は、単位文字特定部１０３で特定された各単位文字の特徴に基づいて、特徴別に文字領域を再設定する。ここで、単位文字の特徴としては、単位文字に外接する矩形の高さや幅などの情報、フォントの種類など文字フォントに関する情報が挙げられる。この場合において、フォントは別途認識モジュールを用いて識別するようにしてもよい。これら特徴別に再設定された文字領域を特定する情報（その特徴を示す情報を含む。以下、特徴別文字領域情報）は、文字領域情報に追加される。図１９は、特徴別に再設定された文字領域の一例を示す図である。前述の図７で示した文字領域（反転文字領域）７０２が単位文字の外接矩形の高さの違いにより、特徴別文字領域１９０１と１９０２に分割されている。同様に、前述の図７で示した文字領域７０３が単位文字のフォントの違いにより、特徴別文字領域１９０３と１９０４とに分割されている。なお、特徴別文字領域１９０５は、文字領域７０１にそのまま対応している。
【０１１９】
図２０は、本実施例に係る、候補代表色補正処理の詳細を示すフローチャートであり、実施例１における図１５のフローチャートに対応している。
【０１２０】
ステップ２００１において、代表色設定部１０４は、図１５のステップ１５０１と同様、処理対象の文字領域における単位文字の数を示す変数（単位文字数）ｍを初期化する。具体的には、ｍ＝１に設定する。
【０１２１】
ステップ２００２において、代表色設定部１０４は、単位文字の外接矩形の高さを表す変数Ｈ、単位文字の外接矩形の幅を表す変数Ｗ、候補代表色に近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を有する単位文字をカウントする変数ｃｎｔ、の３つの変数を初期化する。具体的には、Ｈ＝Ｗ＝ｃｎｔ＝０に設定する。
【０１２２】
ステップ２００３において、代表色設定部１０４は、図１５のステップ１５０３と同様、単位文字数ｍの値が、Ｍ以下であるか否かを判定する。単位文字数ｍの値がＭ以下である場合は、ステップ２００４に進む。一方、単位文字数ｍの値がＭより大きい場合は、ステップ２００８に進む。
【０１２３】
ステップ２００４において、代表色設定部１０４は、図１５のステップ１５０４と同様、ステップ１３０１で抽出された候補代表色Ｃ’（ｎ）と処理対象の単位文字の平均色Ｃ＿ａｖｅ（ｍ）との色空間上の距離Ｄを求める。
【０１２４】
ステップ２００５において、代表色設定部１０４は、図１５のステップ１５０５と同様、求めた距離Ｄと予め設定された閾値ｖとを比較し、求めた距離Ｄが閾値ｖ以下であるか否かを判定する。求めた距離Ｄが閾値ｖ以下（つまり、単位文字の平均色Ｃ＿ａｖｅ（ｍ）が候補代表色Ｃ’（ｎ）の近似色であるとみなせる場合）であれば、ステップ２００６に進む。一方、求めた距離Ｄが閾値ｖより大きい場合はステップ２００７に進む。
【０１２５】
ステップ２００６において、代表色設定部１０４は、候補代表色に近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を有する単位文字の領域の高さＨ（ｍ）及び幅Ｗ（ｍ）を、Ｈ及びＷにそれぞれ加算する。さらに、変数ｃｎｔをインクリメント（＋１）する。
【０１２６】
ステップ２００７において、代表色設定部１０４は、単位文字数ｍをインクリメント（＋１）し、ステップ２００３に戻る。
【０１２７】
ステップ２００８において、単位文字の外接矩形サイズの平均値Ｓ＿ｂｏｘを導出する。この平均値Ｓ＿ｂｏｘは、例えば、以下の式（４）で求められる。
Ｓ＿ｂｏｘ  ＝  （Ｈ／ｃｎｔ）  ×  （Ｗ／ｃｎｔ）      ・・・式（４）
【０１２８】
ステップ２００９において、代表色設定部１０４は、候補代表色と近似しているとみなせる単位文字の外接矩形の平均値Ｓ＿ｂｏｘに基づき、候補代表色を補正する。具体的には、以下の式（５）で表される補正係数αを、候補代表色Ｃ’（ｎ）の各成分Ｃ’（ｎ）＿ｂとＣ’（ｎ）＿ｒとにそれぞれ乗算することにより、候補代表色を補正する。
【０１２９】
【数４】
2015198385.tif 000006
【０１３０】
上記式（５）において、「Ｓ＿ｂｏｘ＿ｔｈ」は定数であり、Ｓ＿ｂｏｘ＿ｔｈ≧Ｓである。また、αの範囲は、０＜α≦１．０であるものとする。なお、上記補正係数αは、以下のような設計思想に基づき設定されている。
【０１３１】
候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字における外接矩形サイズの平均値が大きければ、当該単位文字は、入力画像に占めるサイズが大きい文字であると考えられる。この場合は、このような単位文字に対し、可読性が高まるような補正（所定色（白）に近くなるような大きな補正）を掛けた代表色を割り当てると、入力画像との見た目の差が大きくなり違和感がある。よって、候補代表色と近似しているとみなせる単位文字における外接矩形サイズの平均値が大きい場合は、入力画像との見た目の差が小さくなるように、候補代表色を所定色（白）に補正する度合いが低くなるような補正係数とする。
【０１３２】
逆に、候補代表色と近似しているとみなせる平均色Ｃ＿ａｖｅ（ｍ）を持つ単位文字の外接矩形の平均が小さければ、当該単位文字は、入力画像に占めるサイズが小さい文字であると考えられる。この場合は、入力画像と見た目の差異よりも可読性を優先し、候補代表色を所定色（白）に補正する度合いが大きくなるような補正係数とする。このように補正係数αを設定することで、「入力画像との色差分」と「可読性」のバランスがとれた代表色の抽出が可能となる。例えば、色情報が薄い赤である文字領域２０２に対応する特徴別文字領域１９０１の外接矩形サイズは十分大きいため、元の色である薄い赤色が保持されるような補正係数αが設定されることになる。これに対し、色情報が同じく薄い赤である文字領域２０３に対応する特徴別文字領域１９０２の外接矩形サイズは小さいため、可読性を優先し、候補代表色が所定色（白）に近くなるような補正係数αが設定されることになる。
【０１３３】
以上が、本実施例に係る、候補代表色補正処理の内容である。
【０１３４】
本実施例によれば、原稿上で目立つ大きい文字に対しては元の文字色をできる限り保持した文字代表色を設定することで、文字色を強調して視認性を高めることと、入力画像と復元画像と間の見た目の差を小さくすることとのバランスを取ることが可能になる。
【０１３５】
なお、本実施例では、すべての単位文字を区別することなく扱っていたが、ピリオドやカンマとアルファベットの大文字とでは、外接矩形のサイズが大きく異なる。そこで、各単位文字に対し別途文字認識処理を行うようにし、所定の認識結果（例えば、ピリオドやカンマと判定された文字）については、上述のステップ２００６における加算処理の対象外として扱うようにしてもよい。
【実施例３】
【０１３６】
次に、単位文字のフォント情報を用いて候補代表色の補正を制御する態様について、実施例３として説明する。なお、実施例１及び２と共通する内容についてはその説明を省略し、以下では実施例１との差異点を中心に説明するものとする。
【０１３７】
図２１は、本実施例に係る、候補代表色補正処理の流れを示すフローチャートである。
【０１３８】
ステップ２１０１において、代表色設定部１０４は、処理対象の文字領域についての文字領域情報を取得する。前述のとおり、ここで取得する文字領域情報には上述の特徴別文字領域情報が含まれており、単位文字の特徴の１つとして、単位文字のフォントに関する情報が含まれている。
【０１３９】
ステップ２１０２において、代表色設定部１０４は、取得した特徴別文字領域情報に含まれるフォントに関する情報に基づき、処理対象の単位文字のフォントがボールド体かどうかを判定する。単位文字のフォントがボールド体ではない場合は、ステップ２１０３に進む。一方、単位文字のフォントがボールド体である場合は、本処理を抜ける。
【０１４０】
ステップ２１０３において、代表色設定部１０４は、候補代表色を補正係数αで補正する。この場合の補正係数αは任意の定数とし、その範囲は０＜α≦１．０とする。
【０１４１】
以上が、本実施例に係る、候補代表色補正処理の内容である。なお、本実施例における候補代表色補正処理は、以下のような設計思想に基づいている。
【０１４２】
ボールド体で表現される文字は入力画像の中で目立つ文字であるため、入力画像との見た目の差を小さくすることを優先し、補正係数αを用いた補正を行わない（候補代表色をそのまま使用する）。
【０１４３】
一方、ボールド体ではない通常のフォントで表現される文字については入力画像の中でそれほど目立たないため、可読性を優先し、例えば背景の色が滲んで回り込んでしまった文字が見やすくなるような補正係数を用いて、候補代表色を白に近い所定の色に補正する。
【０１４４】
なお、補正係数αは、フォントの種類毎に設定してもよい。
【０１４５】
本実施例によれば、原稿上で目立つように強調したフォントの文字については、元の文字色が維持されるような代表色を設定することが可能になる。
【０１４６】
＜変形例＞
上記実施例の変形例として、候補代表色を決定するのに用いた多値画像の情報（より詳細には解像度の情報）を用いてもよい。この際は、以下のような設計思想に基づいて、候補代表色補正処理を設計すればよい。
【０１４７】
解像度が高ければ、多値画像は本来の元の文字色を保持していると考えられるので、フォントがボールド体であった場合と同様、候補代表色をそのまま単位文字の代表色に割り当てるようにする。
【０１４８】
一方、解像度が低ければ、文字に背景の色が滲んで回り込んでいるケースが多いと考えられるので、フォントがボールド体でなかった場合と同様、候補代表色を白に近い所定の色に補正する。
【０１４９】
以上、本実施例によれば、より簡便に候補代表色の補正係数の設定が可能になる。
【０１５０】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015198385.tif 000007
【図３】
2015198385.tif 000008
【図４】
2015198385.tif 000009
【図５】
2015198385.tif 000010
【図６】
2015198385.tif 000011
【図７】
2015198385.tif 000012
【図８】
2015198385.tif 000013
【図９】
2015198385.tif 000014
【図１０】
2015198385.tif 000015
【図１１】
2015198385.tif 000016
【図１２】
2015198385.tif 000017
【図１３】
2015198385.tif 000018
【図１４】
2015198385.tif 000019
【図１５】
2015198385.tif 000020
【図１６】
2015198385.tif 000021
【図１７】
2015198385.tif 000022
【図１８】
2015198385.tif 000023
【図１９】
2015198385.tif 000024
【図２０】
2015198385.tif 000025
【図２１】
2015198385.tif 000026
【図２】
2015198385.tif 000027