説明

画像処理装置、画像処理方法および画像処理プログラム

【課題】 文字の色を容易かつ高精度に検出する。
【解決手段】 MFPは、カラー画像から文字が表された文字属性の文字領域を抽出する文字領域抽出部310と、文字領域に含まれる文字を細線化する細線化部331と、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色を決定する文字色決定部330と、カラー画像を2値化することによって、2値画像に変換するノイズ除去部320と、2値画像の文字領域を符号化し、符号データを生成する文字領域符号化部340と、生成された符号データと、決定された文字色と、文字領域のカラー画像中の位置とを関連付ける統合部370と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理装置、画像処理方法および画像処理プログラムに関し、特にカラー画像を効率的に圧縮する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【0002】
近年、情報の電子化が進み、文書を紙でなく電子データとして保存あるいは送信する需要が高まっている。さらに、文書がカラーで表されることが多く、電子データもカラー画像であることが望まれる。一方で、カラー画像は、モノクロ画像に比較してデータ量が多くなるため、カラー画像の電子データを圧縮し、圧縮後のデータを保存あるいは送信することがなされている。
【0003】
しかしながら、カラー画像に文字が表されている場合、写真等の圧縮に適した非可逆方式で圧縮すると、伸張後のカラー画像中で文字が読めなくなってしまうといった問題がある。この問題に対応するために、カラー画像を、文字が表された文字領域と、文字領域以外の領域とに分離し、カラー画像の文字領域を可逆圧縮方式で圧縮し、文字領域以外の領域を非可逆圧縮方式で圧縮する技術が、特開2000−350040(特許文献1)または特開平5−130426号公報(特許文献2)に記載されている。さらに、カラー画像に複数の色で文字が表されている場合、複数の色別に文字領域を2値化した画像を可逆圧縮すると、カラー画像を効率的に圧縮することができる。
【0004】
しかしながら、原稿を読み取るスキャナの特性上、スキャナが出力するカラー画像データで、文字の中心部分の画素と文字の輪郭部分の画素とで色が異なるため、文字を構成する画素の値から文字の色を高精度に検出するためには、複雑な処理を行わなければならず、処理に時間がかかるといった問題があった。
【特許文献1】特開2001−312725号公報
【特許文献2】特開2001−312726号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、文字の色を容易かつ高精度に検出することが可能な画像処理装置、画像圧縮方法および画像圧縮プログラムを提供することである。
【0006】
この発明の他の目的は、画像から文字が表された領域を抽出する精度を高めた画像処理装置を提供することである。
【課題を解決するための手段】
【0007】
上述した目的を達成するためにこの発明のある局面によれば、画像処理装置は、カラー画像から文字が表された文字属性の文字領域を抽出する文字領域抽出手段と、文字領域に含まれる文字を細線化する細線化手段と、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色を決定する文字色決定手段と、カラー画像を2値化することによって、2値画像に変換する2値化手段と、2値画像の文字領域を符号化し、符号データを生成する文字領域符号化手段と、生成された符号データと、決定された文字色と、文字領域のカラー画像中の位置とを関連付ける関連付手段と、を備える。
【0008】
この局面に従えば、カラー画像から抽出された文字領域に含まれる文字が細線化され、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色が決定される。そして、カラー画像を2値化した2値画像の文字領域が符号化され、符号データと、決定された文字色と、文字領域のカラー画像中の位置とが関連付けられる。カラー画像を2値化した2値画像の文字領域が符号化されるので、文字全体を同じ色の文字として2値化することができる。また、細線化後の文字を構成する複数の文字中心画素に対応する画像データの画素の色に基づいて文字色が決定されるので、文字の色を正確に検出することができる。その結果、画像中の文字の色を容易かつ高精度に検出することが可能な画像処理装置を提供することができる。
【0009】
好ましくは、細線化手段は、2値画像において主走査方向に連続して配置された黒画素のうちから中心の画素を抽出する主走査方向検出手段と、主走査方向と交わる副走査方向に連続して配置された黒画素のうちから中心の画素を抽出する副走査方向検出手段と、主走査方向検出手段で抽出された中心画素と、副走査方向検出手段で抽出された中心画素とを文字中心画素に決定する決定手段と、を含む。
【0010】
この局面に従えば、主走査方向と副走査方向それぞれで、連続して配置された黒画素のうちから中心の画素を文字中心画素として抽出するので、文字中心画素を容易に抽出することができ、処理速度を速くすることができる。
【0011】
好ましくは、細線化手段は、主走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第1候補画素として抽出する主走査方向検出手段と、主走査方向と交わる副走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第2候補画素として抽出する副走査方向検出手段と、第1候補画素および第2候補画素のいずれでもある画素を文字中心画素に決定する決定手段と、を含む。
【0012】
この局面に従えば、主走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素であって、副走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を文字中心画素とするので、文字中心画素を容易に抽出することができ、処理速度を早くすることができる。
【0013】
好ましくは、文字色決定手段は、複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、度数が第1のしきい値以下の色相階級に分類された画素をノイズとして除去するノイズ除去手段を含む。
【0014】
好ましくは、文字色決定手段は、複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、 複数の色相階級のうちから度数が第1のしきい値を超える色相階級を代表色相として選択する選択手段と、を含み、複数の文字中心画素のうち選択された代表色相の色相階級に分類された文字中心画素の細線化する前の色に基づき文字色を決定する。
【0015】
好ましくは、選択手段は、度数が第1しきい値を超える色相階級が2以上連続する場合、連続する色相階級のうち度数が最大の色相階級を代表色相として選択する色相統合手段を含む。
【0016】
好ましくは、文字色決定手段は、選択手段により複数の代表色相が選択された場合、複数の代表色相にそれぞれ対応する複数の文字色を決定し、文字領域符号化手段は、複数の代表色相それぞれにおいて、2値画像の文字領域に含まれる黒画素のうちから該黒画素に対応するカラー画像の画素の色が該代表色相に対応する文字色と近似する画素を抽出することにより、該代表色相に対応する文字色別2値画像を生成する文字色別2値化データ生成手段と、決定された複数の文字色にそれぞれ対応する複数の文字色別2値化データを符号化し、文字色別符号データを生成する文字色別符号化手段と、を含み、関連付手段は、決定された複数の文字色ごとに、該文字色と、該文字色に対応する文字色別符号データと、文字領域の画像データ中の位置とを関連付ける文字色別関連付手段を含む。
【0017】
好ましくは、文字色決定手段は、複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、 複数の色相階級の度数分布に基づいて、文字領域の属性を文字属性以外の属性に変更する属性変更手段と、を含む。
【0018】
この発明の他の局面によれば、画像処理装置は、カラー画像から文字が表された文字属性の文字領域を抽出する文字領域抽出手段と、カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出する写真/図領域抽出手段と、文字領域に含まれる文字を細線化する細線化手段と、細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、複数の色相階級の度数分布に基づいて、文字領域の属性を文字属性以外の属性に変更する属性変更手段と、を備える。
【0019】
この局面に従えば、文字中心画素それぞれの細線化する前の色の複数の色相階級における度数分布に基づいて、文字領域の属性が文字属性以外の属性に変更される。このため、写真または図が表されている領域が誤って文字領域に判別された場合であっても、適切に領域の属性を判別することができる。その結果、画像から文字が表された領域を抽出する精度を高めた画像処理装置を提供することができる。
【0020】
この発明のさらに他の局面によれば、画像処理方法は、カラー画像から文字が表された文字属性の文字領域を抽出するステップと、文字領域に含まれる文字を細線化するステップと、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色を決定するステップと、カラー画像を2値化することによって、カラー画像を2値画像に変換するステップと、2値画像の文字領域を符号化し、符号データを生成するステップと、生成された符号データと、決定された文字色と、文字領域のカラー画像中の位置とを関連付けるステップと、を含む。
【0021】
この局面に従えば、画像中の文字の色を容易かつ高精度に検出することが可能な画像処理方法を提供することができる。
【0022】
この発明のさらに他の局面によれば、画像処理方法は、カラー画像から文字が表された文字属性の文字領域を抽出するステップと、カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出するステップと、文字領域に含まれる文字を細線化するステップと、細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類するステップと、
複数の色相階級の度数分布に基づいて、文字領域の属性を文字属性以外の属性に変更するステップと、を含む。
【0023】
この局面に従えば、画像から文字が表された領域を抽出する精度を高めた画像処理方法を提供することができる。
【0024】
この発明のさらに他の局面によれば、画像処理プログラムは、カラー画像から文字が表された文字属性の文字領域を抽出するステップと、文字領域に含まれる文字を細線化するステップと、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色を決定するステップと、カラー画像を2値化することによって、カラー画像を2値画像に変換するステップと、2値画像の文字領域を符号化し、符号データを生成するステップと、生成された符号データと、決定された文字色と、文字領域のカラー画像中の位置とを関連付けるステップと、をコンピュータに実行させる。
【0025】
この局面に従えば、画像中の文字の色を容易かつ高精度に検出することが可能な画像処理プログラムを提供することができる。
【0026】
この発明のさらに他の局面によれば、画像処理プログラムは、カラー画像から文字が表された文字属性の文字領域を抽出するステップと、カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出するステップと、文字領域に含まれる文字を細線化するステップと、細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、複数の文字中心画素それぞれを複数の色相階級のいずれかに分類するステップと、
複数の色相階級の度数分布に基づいて、文字領域の属性を文字属性以外の属性に変更するステップと、をコンピュータに実行させる。
【0027】
この局面に従えば、画像から文字が表された領域を抽出する精度を高めた画像処理プログラムを提供することができる。
【発明を実施するための最良の形態】
【0028】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【0029】
図1は、本発明の実施の形態の一つにおける画像形成システムの全体概要を示す図である。図1を参照して、画像形成システム1は、ネットワーク2にそれぞれ接続された画像処理装置としてのMFP(Multi Function Peripheral)100と、コンピュータ3,3A,3B,3Cと、それぞれがMFP100に接続されるデジタルカメラ4と、デジタルビデオカメラ5と、携帯情報端末6とを含む。
【0030】
MFP100は、原稿を読取るためのスキャナ、画像データに基づいて紙などの記録媒体に画像を形成するための画像形成部、ファクシミリを含み、画像読取機能、複写機能、ファクシミリ送受信機能を備えている。
【0031】
コンピュータ3,3A,3B,3Cは、一般的なパーソナルコンピュータであり、MFP100を制御するためのプリンタドライバプログラムがインストールされている。コンピュータ3,3A,3B,3Cは、それらがアプリケーションプログラムを実行することにより、生成されるプリントデータまたは画像データを、MFP100に出力する。MFP100は、携帯情報端末6から入力されるプリントデータまたは画像データを画像処理する、または、そのプリントデータまたは画像データに基づいて、記録媒体に画像を形成する。さらに、コンピュータ3,3A,3B,3Cは、画像処理装置としても機能する。
【0032】
デジタルカメラ4およびデジタルビデオカメラ5は、撮像した静止画像または動画像を記憶し、それらが接続されたMFP100に静止画像または動画像の画像データを出力する。MFP100は、入力される静止画像の画像データを画像処理する、また、静止画像の画像データに基づき用紙等の記録媒体に静止画像を形成する。また、動画像の画像データが入力される場合、1フレームの画像の画像データを画像処理する、また、1フレームの画像の画像データに基づき記録媒体に画像を形成する。携帯情報端末6は、コンピュータ3,3A,3B,3Cと同様に、それがアプリケーションプログラムを実行することにより生成されるデータまたは画像データを、MFP100に出力する。MFP100は、携帯情報端末6から入力されるデータまたは画像データを画像処理する、また、その画像データに基づいて、記録媒体に画像を形成する。
【0033】
ネットワーク2は、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワーク2は、LANに限らず、ワイドエリアネットワーク(WAN)、インターネット等であってもよい。
【0034】
図2は、MFPの外観を示す斜視図である。図2を参照して、MFP100は、自動原稿搬送装置(ADF)10と、画像読取部20と、画像形成部40と、給紙部50と、を含む。ADF10は、原稿台に搭載された複数枚の原稿をさばいて1枚ずつ順に、画像読取部20に搬送する。画像読取部20は、写真、文字、絵等の画像情報を原稿から光学的に読み取って画像データを取得する。画像形成部40は、画像データが入力されると、画像データに基づいて用紙上に画像を形成する。画像形成部40は、シアン、マゼンタ、イエロー、ブラックの4色のトナーを用いて画像を形成する。給紙部50は、用紙を格納しており、格納した用紙を1枚ずつ画像形成部40に供給する。MFP100は、その上面に操作パネル9を備える。
【0035】
図3は、MFPのハード構成の一例を示すブロック図である。図3を参照して、MFP100は、メイン回路101と、ファクシミリ部60と、通信制御部61と、ADF10と、画像読取部20と、画像処理部30と、画像形成部40と、給紙部50とを含む。メイン回路101は、中央演算装置(CPU)111と、CPU111の作業領域として使用されるRAM(Random Access Memory)112と、CPU111が実行するプログラム等を記憶するためのROM(Read Only Memory)113と、表示部114と、操作部115と、大容量記憶装置としてのハードディスクドライブ(HDD)116と、データ通信制御部117と、を含む。CPU111は、表示部114、操作部115、HDD116およびデータ通信制御部117とそれぞれ接続され、メイン回路101の全体を制御する。また、CPU111は、ファクシミリ部60、通信制御部61、ADF10、画像読取部20、画像処理部30、画像形成部40、給紙部50、と接続され、MFP100の全体を制御する。
【0036】
表示部114は、液晶表示装置(LCD)、有機ELD(Electro Luminescence Display)等の表示装置であり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部115は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部115は、表示部114上に設けられたタッチパネルを含む。表示部114と操作部115とで、操作パネル9が構成される。
【0037】
データ通信制御部117は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで通信するためのインターフェースであるLAN端子118と、シリアル通信インターフェース端子119とを有する。データ通信制御部117は、CPU111からの指示に従って、LAN端子118またはシリアル通信インターフェース端子119に接続された外部の機器との間でデータを送受信する。
【0038】
LAN端子118に、ネットワーク2に接続するためのLANケーブルが接続される場合、データ通信制御部117は、LAN端子118を介して接続された他のMFP、スキャナ、プリンタ、またはコンピュータ3,3A,3B,3Cと通信する。シリアル通信インターフェース端子119に機器が接続された場合、データ通信制御部117は、シリアル通信インターフェース端子119に接続された機器、例えば、デジタルカメラ4、デジタルビデオカメラ5または携帯情報端末6との間で通信して画像データを入出力する。また、シリアル通信インターフェース端子119には、フラッシュメモリを内蔵したメモリカード119Aが接続可能である。CPU111は、データ通信制御部117を制御して、メモリカード119AからCPU111または画像処理部30が実行するためのプログラムを読出し、読み出したプログラムをRAM112に記憶し、実行する。
【0039】
なお、CPU111または画像処理部30が実行するためのプログラムを記憶する記録媒体としては、メモリカード119Aに限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード(メモリカードを含む)、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electronically EPROM)などの半導体メモリ等の媒体でもよい。さらに、CPU111がインターネットに接続されたコンピュータからプログラムをダウンロードしてHDD116に記憶する、または、インターネットに接続されたコンピュータがプログラムをHDD116に書込みするようにして、HDD116に記憶されたプログラムをRAM112にロードしてCPU111または画像処理部30で実行するようにしてもよい。ここでいうプログラムは、CPU111または画像処理部30により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【0040】
通信制御部61は、CPU111をPSTN(Public Switched Telephone Networks)7に接続するためのモデムである。MFP100には、PSTN7における電話番号が予め割り当てられており、PSTN7に接続されたファクシミリ装置からMFP100に割り当てられた電話番号に発呼があると、通信制御部61がその発呼を検出する。通信制御部61は、発呼を検出すると通話を確立し、ファクシミリ部60に通信させる。
【0041】
ファクシミリ部60は、PSTN7に接続され、PSTN7にファクシミリデータを送信する、またはPSTN7からファクシミリデータを受信する。ファクシミリ部60は、受信したファクシミリデータを、CPU111に出力する。また、ファクシミリ部60は、受信したファクシミリデータを画像形成部40でプリント可能なプリントデータに変換して、画像形成部40に出力する。これにより、画像形成部40は、ファクシミリ部60により受信されたファクシミリデータを記録シートにプリントする。また、ファクシミリ部60は、HDD116に記憶された画像データをファクシミリデータに変換して、PSTN7に接続されたファクシミリ装置または他のMFPに出力する。これにより、HDD116に記憶されたデータをファクシミリ装置または他のMFPに出力することができる。なお、ファクシミリデータは画像データに含まれる。このように、MFP100は、ファクシミリ送受信機能を有する。
【0042】
MFP100は、スキャナ機能を有し、画像読取部20が原稿を読み取って出力する画像データが、RAM112に一時的に記憶される。また、画像形成部40は、画像読取部20が原稿を読み取って出力する画像データに基づいて、用紙等の記録シート上に画像を形成する。このため、MFP100は、コピー機能を有する。さらに、データ通信制御部117は、ネットワーク2に接続された他のPC3、3A,3B,3Cのいずれかから受信した画像データ、または、シリアル通信インターフェース端子119に接続されたデジタルカメラ4、デジタルビデオカメラ5および携帯情報端末6のいずれかから受信された画像データをRAM112に一時的に記憶する。そして、RAM112に一時的に記憶された画像データに基づいて、用紙等の記録シート上に画像を形成する。このため、MFP100は、プリント機能を有する。
【0043】
画像処理部30は、RAM112に記憶された画像データを画像処理する。画像処理部30は、MFP100がスキャナ機能またはコピー機能を能動化する場合には、画像読取部20が原稿を読み取って出力する画像データを画像処理する。また、画像処理部30は、MFP100がファクシミリ機能を能動化する場合には、ファクシミリ部60が受信するファクシミリデータ(画像データ)を画像処理する。さらに、画像処理部30は、データ通信制御部117が、ネットワーク2に接続された他のPC3、3A,3B,3C、スキャナ、MFPのいずれかから受信した画像データ、またはシリアル通信インターフェース端子119に接続されたデジタルカメラ4、デジタルビデオカメラ5および携帯情報端末6のいずれかから受信された画像データを画像処理する。
【0044】
図4は、画像処理部の機能の一例を示す機能ブロック図である。図4を参照して、画像処理部30は、画像データに前処理を実行し明度画像を出力する前処理部301と、明度画像から文字の表された文字領域を抽出する文字領域抽出部310と、文字領域の画像からノイズを除去するノイズ除去部320と、文字領域に含まれる文字の色を決定する文字色決定部330と、文字領域の画像を符号化する文字領域符号化部340と、明度画像から写真属性および図属性の領域をそれぞれ抽出する写真/図領域抽出部350と、写真属性および図属性の領域の画像を符号化する写真/図領域符号化部360と、符号データを統合する統合部370と、を含む。
【0045】
本実施の形態においては、画像処理部30に入力される画像データは、1画素が赤(R)、緑(G)および青(B)の3つの値(8ビット)を含む24ビットの値を有するカラー画像である。
【0046】
前処理部301は、カラー画像の下地部分を除去する下地除去処理と、下地の除去されたカラー画像を明度画像に変換する明度変換処理と、明度画像をスムージングするスムージング処理とを実行し、スムージング処理した明度画像を文字領域抽出部310および写真/図領域抽出部350に出力する。下地除去処理は、カラー画像の濃度の薄い下地色を除去し、コントラストを伸張する。これにより、カラー画像の傾向を整えることができる。明度変換処理は、カラー画像の各画素値(24ビット)に基づいて明度(8ビット)を算出し、明度画像を生成する。明度画像は、1画素が8ビットの値を有するグレースケールの画像である。明度画像を生成するのは、写真/図領域抽出部350および文字領域抽出部310で、明度画像を処理の対象としているからである。スムージング処理は、明度画像をスムージングする。スムージングすることにより、ノイズが除去されるので、写真/図領域抽出部350および文字領域抽出部310において領域を抽出する精度を向上させることができる。
【0047】
写真/図領域抽出部350の主目的は、文字、図、写真および表の表された領域を含んだカラー画像から図が表された領域および写真が表された領域を抽出することである。図が表された領域および写真が表された領域を抽出するのは、それらの領域は文字が含まれることが少ないからである。文字が含まれることが少ない図および写真の表された領域に対して文字抽出処理を行うと、図および写真の表された領域の一部を誤って文字と判定してしまうため、そのような誤判定を回避するためである。このため、本実施の形態においては、写真/図領域抽出部350において、図属性または写真属性と判定された領域の明度データを、文字領域抽出部310に入力しないようにしている。表の罫線については文字領域抽出部310において罫線除去を行い、罫線の位置情報を写真/図領域符号化部360に伝え、罫線を写真/図領域符号化部360で符号化する。
【0048】
写真/図領域抽出部350は、明度画像を2値化し、2値画像を生成する。そして、生成した2値画像をラベリングする。ラベリングは、2値画像で値が「1」の黒画素のうちで隣接する複数の画素の集合に外接する矩形をブロックとして抽出する処理である。ブロックを矩形とするのは、一般的に、写真、図形などは矩形の画像として原稿に表されることが多いからである。ラベリングにより抽出されたブロックは、それの画像データ中における位置を示す位置情報と関連付けられる。
【0049】
さらに、写真/図領域抽出部350は、抽出されたブロックの大きさやそれぞれの明度画像の特徴量を算出し、ブロックの属性を判別する。複数のブロックが抽出された場合は、複数のブロックそれぞれの属性を判別する。属性は、明度画像のブロックに表されている対象を特定し、文字の表された文字属性と、図形の表された図属性と、写真の表された写真属性と、表属性とを含む。そして、写真/図領域抽出部350は、写真属性または図属性のブロックの位置情報を写真画像符号化部360と文字領域抽出部310に出力する。位置情報は、例えば、画像データにおけるブロックの対角の画素の座標である。
【0050】
図5は、文字領域抽出部の詳細な機能を示す機能ブロック図である。図5を参照して、文字領域抽出部310は、明度画像からエッジを抽出し、エッジ画像を生成するエッジ画像生成部311と、抽出されたエッジで構成される線からエッジ画像の傾きを補正する傾き補正部312と、傾きが補正されたエッジ画像から罫線を除去する罫線除去部313と、エッジ画像から文字領域の候補となるブロックを抽出する候補ブロック抽出部314と、ブロックのエッジ画像が文字属性か否かを判定する判定部315と、文字属性とされたブロックを文字領域に決定する文字領域決定部316と、文字属性でないと判定されたブロックを写真属性の領域に変更する第1属性変更部317と、を含む。
【0051】
エッジ画像生成部311は、前処理部301が出力する明度画像が入力され、明度画像を、例えば微分フィルタを用いてフィルタ処理することにより、エッジ画像を生成する。エッジ画像は、明度画像において、画素の値が、周辺の画素の値と所定の差のある画素をエッジ画素(値が「1」)として含む。傾き補正部312は、抽出されたエッジ画素で構成される線が、水平または垂直となるように、エッジ画像を回転させる。これにより、次の罫線除去部313による罫線の検出精度が向上する。罫線除去部313は、エッジ画像から罫線を検出し、その罫線をエッジ画像から除去する。判定部315における文字判定の精度を向上させるためである。また、エッジ画像の罫線に対応する部分の周辺の明度データを調べ、罫線領域を決定し、罫線の位置情報を写真/図領域符号化部360に出力する。
【0052】
候補ブロック抽出部314は、エッジ画像中から文字領域の候補となる候補ブロックを抽出する。具体的には、まず行間を処理対象から除外する。行間は、エッジ画像の主走査方向(X軸方向)の画素値がすべて「0」のラインである。エッジ画像の行間以外の画素で、近傍のエッジ画素(値が「1」の画素)を連結することにより、連結されたエッジ画素の集合に外接する矩形を候補ブロックとして抽出する。候補ブロックは、画像中で、1行の文字列の外接矩形に相当する。
【0053】
判定部315は、抽出された候補ブロックが、文字属性か否かを判定する。判定方法は、例えば、候補ブロックの縦横比、横方向の長さ、縦方向の長さ、候補ブロックのエッジ画像におけるエッジ画素の占める割合等を基に判定するようにすればよい。判定部315は、候補ブロック抽出部314により複数の候補ブロックが抽出された場合には、複数の候補ブロックそれぞれを判定する。
【0054】
文字領域決定部316は、判定部315により文字属性と判定された候補ブロックを文字領域に決定し、文字領域の画像データ中の位置を示す位置情報をノイズ除去部320に出力する。第1属性変更部317は、判定部315により文字属性と判定されなかった候補ブロックを写真領域に変更し、候補ブロックの画像データ中の位置を示す位置情報を写真/図領域符号化部360に出力する。
【0055】
図6は、ノイズ除去部320の詳細な機能を示す機能ブロック図である。図6を参照して、ノイズ除去部320は、文字領域抽出部310から文字領域の位置情報が入力され、前処理部301から明度画像が入力される。ノイズ除去部320は、明度画像の文字領域に含まれる複数の画素の画素値に基づいて明度ヒストグラムを生成するための明度ヒストグラム生成部321と、ノイズおよび背景を除去するための網点・背景除去部323と、文字領域の属性を写真属性に変更する第2属性変更部325とを含む。
【0056】
網点のノイズは、明度が低い。このため、網点・背景除去部323は、明度画像の文字領域に含まれる複数の画素のうちで所定のしきい値より明度の低い画素を、網点のノイズとして除去する。具体的には、しきい値より明度の低い画素の画素値を「0」にする。さらに、明度画像の文字領域に文字が表されている場合、文字領域に含まれる画素は、文字を構成する画素または背景を構成する画素のいずれかである。文字と背景とでは明度が異なる。このため、明度ヒストグラムは、文字の明度で度数が高くなり、背景の明度で度数が高くなる。複数色の文字を含む場合、複数色それぞれの文字を構成する画素の明度で度数が高くなる。また、背景は、明度が高く、文字は明度が低い。したがって、ノイズ除去部320は、ヒストグラムの度数から文字の明度と背景の明度との間に背景除去のためのしきい値を設定し、明度画像を2値化し、2値画像を生成する。具体的には、明度画像の文字領域に含まれる複数の画素のうちで背景除去のためのしきい値よりも明度の高い画素の画素値を「0」にし、他の画像の値を「1」にする。網点・背景除去部323は、文字領域の位置情報と2値画像とを、文字色決定部330および文字領域符号化部340に出力する。
【0057】
網点・背景除去部323は、背景除去のためのしきい値を設定することができない場合がある。明度画像の文字領域に写真または図が表されている場合である。したがって、網点・背景除去部323は、背景除去のためのしきい値を設定することができない場合、第2属性変更部にエラー信号を出力する。第2属性変更部325は、網点・背景除去部323からエラー信号が入力されると、文字領域の属性を写真領域に変更し、文字領域の画像データ中の位置を示す位置情報を写真/図領域符号化部360に出力する。
【0058】
図7は、文字色決定部の詳細な機能を示す機能ブロック図である。図7を参照して、文字色決定部330は、ノイズ除去部320から2値画像と位置情報とが入力され、カラー画像が入力される。文字色決定部330は、2値画像に含まれる文字の線幅を細くする細線化部331と、カラー画像中における細線の画素値から色相ヒストグラムを生成する色相ヒストグラム生成部332と、ノイズ色相除去部333と、隣接色相統合部334と、第3属性変更部335と、代表色相選択部336と、第4属性変更部337と、文字色算出部338とを含む。
【0059】
細線化部331は、2値画像において主走査方向に連続して配置された黒画素のうちから中心の画素を主走査方向中心画素として抽出し、主走査方向と交わる副走査方向に連続して配置された黒画素のうちから中心の画素を副走査方向中心画素として抽出する。そして、抽出した主走査方向中心画素と、副走査方向中心画素とを文字を構成する文字中心画素に決定する。図8は、文字「A」を含む2値画像の一例を示す図である。文字を構成する画素をハッチングで示している。図9(A)は、主走査方向中心画素の一例を示す図である。図8に示した2値画像から抽出された主走査方向中心画素を、ハッチングで示している。図9(B)は、副主走査方向中心画素の一例を示す図である。図8に示した2値画像から抽出された副走査方向中心画素をハッチングで示している。図9(C)は、文字中心画素の一例を示す図である。文字中心画素は、図9(A)に示した主走査方向中心画素と、図9(B)に示した副走査方向中心画素とを含み、それをハッチングして示している。
【0060】
図7に戻って、細線化部331は、文字中心画素の値を「1」とし、他の画素の値を「0」にした2値画像を色相ヒストグラム生成部332に出力する。上述したように、スキャナの特性からそれが出力する画像中の黒以外の色の文字の輪郭の色が、文字の中心の色と異なるため、文字の色を文字の中心を構成する色から判定するためである。文字の主走査方向の中心の画素と、副走査方法の中心の画素とを抽出する簡単な処理で文字中心画素を抽出することができるので、処理速度が向上する。さらに、処理対象とする画素の数が少なくなるので、後の処理の速度を早くすることができる。
【0061】
また、中心画素を文字の輪郭部分を除いた画素とするようにしてもよい。この場合、細線化部331は、2値画像において主走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第1候補画素として抽出し、副走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第2候補画素として抽出する。そして、第1候補画素および第2候補画素のいずれでもある画素を文字中心画素に決定する。所定数は、文字の太さ、スキャナの読取解像度により定めるようにすればよい。この場合においても、文字の輪郭部分の画素を除去する簡単な処理で文字中心画素を抽出することができるので、処理速度が向上する。さらに、処理対象とする画素の数が少なくなるので、後の処理の速度を早くすることができる。
【0062】
色相ヒストグラム生成部332は、細線化部331から入力される2値画像で値が「1」の画素のカラー画像の画素値に基づいて、色相ヒストグラムを生成する。換言すれば、細線化された文字(文字中心画素)の細線化する前の色に基づき、細線化された文字(文字中心画素)を複数の色相階級のいずれかに分類する。具体的には、2値画像中の処理対象とする画素の位置と、2値化画像の位置情報とから処理対象とする画素に対応するカラー画像中の画素の画素値を取得する。カラー画像中の画素の画素値は、RGB値を有するため、このRGB値をHSL表色系に変換する。そして、色相(H)に基づいて、色相ヒストグラムを生成する。ただし、彩度(S)が所定の値よりも低い場合、明度(L)をしきい値と比較し、白または黒のいずれかの階級に分類する。ここでは、色相ヒストグラムは、色相を32等分した32区間の階級と、白の階級と、黒の階級とを含む。図10に、色相ヒストグラムの階級の一例を示す。
【0063】
ノイズ色相除去部333は、色相ヒストグラム生成部332により生成された色相ヒストグラムにおいて、最大度数を基準に第1しきい値を設定し、第1しきい値以下の度数の階級に振り分けられた画素をノイズとみなし、その画素を処理対象から除外する。ノイズを除去することにより、文字の色の検出精度を向上させることができる。図11は、色相ヒストグラムの一例を示す第1の図である。図11を参照して、度数が1以上の12の階級が存在する。色相の階級「10」で度数が最大の「2500」である。図12は、色相ヒストグラムの一例を示す第2の図である。第1しきい値を、最大度数の30%の「750」としている。図13は、色相ヒストグラムの一例を示す第3の図である。図13は、ノイズ色相を除去した後の色相ヒストグラムを示す。ノイズ色相を除去することにより、4階級の色相に限定される。
【0064】
隣接色相統合部334は、第1のしきい値を超える度数の階級を、代表色相選択部336に出力する。また、第1しきい値を超える度数の階級が連続する場合、連続する階級を統合した1つの階級を、代表色相選択部336に出力する。具体的には、連続する階級のうち度数が最大の階級に統合する。図14は、色相ヒストグラムの一例を示す第4の図である。図14は、階級「29」と階級「30」とを階級「30」に統合した後の色相ヒストグラムを示す。これにより、色相の統合により3階級の色相に限定される。
【0065】
ただし、隣接色相統合部334は、第1しきい値を超える度数の階級が第2のしきい値以上連続する場合、位置情報で特定される文字領域が、文字以外のもの(写真、図形、罫線など)が表わされた領域と判断し、第3属性変更部335にエラー信号を出力する。第2のしきい値は、色相ヒストグラムの階級数により定まり、色相を32等分して32階級とする場合には、4階級とすれば、良好な結果が得られる。
【0066】
第3属性変更部335は、隣接色相統合部334からエラー信号が入力されると、文字領域の属性を写真領域に変更し、文字領域の画像データ中の位置を示す位置情報を写真/図領域符号化部360に出力する。
【0067】
代表色相選択部336は、隣接色相統合部334から入力される階級の色相を、文字領域に含まれる文字の色相に決定し、入力された階級を文字色算出部338に出力する。隣接色相統合部334から複数の階級が入力される場合、複数の階級それぞれの色相を代表色相として決定する。ただし、代表色相選択部336は、隣接色相統合部334から第3のしきい値以上の階級が入力される場合、位置情報で特定される文字領域が、文字でなく写真または図形が表された領域と判断し、第4属性変更部337にエラー信号を出力する。第3のしきい値は、文字領域に含まれる文字の色数の上限であり、第3のしきい値を4とすれば良好な結果が得られる。
【0068】
第4属性変更部337は、代表色相選択部336からエラー信号が入力されると、文字領域の属性を写真領域に変更し、文字領域の画像データ中の位置を示す位置情報を写真/図領域符号化部360に出力する。
【0069】
文字色算出部338は、代表色相選択部336から入力された階級に振り分けられた複数の画素のカラー画像の画素値から文字色を算出し、算出した文字色を文字領域符号化部340に出力する。具体的には、複数の画素のRGB値の平均を算出し、文字色とする。代表色相選択部336から複数の階級が入力される場合、複数の階級毎に文字色を算出する。
【0070】
図15は、文字領域符号化部の詳細な機能を示す機能ブロック図である。図15を参照して、文字領域符号化部340は、ノイズ除去部320から2値画像と位置情報とが入力され、文字色決定部330から文字色が入力され、カラー画像が入力される。文字領域符号化部340は、文字色別の2値画像を生成する文字色別2値画像生成部341と、文字色別の2値画像を圧縮符号化する文字色別符号化部343とを含む。文字色別2値画像生成部341は、2値画像のうち画素値が「1」の画素のうちからカラー画像の画素値が文字色に近い画素を抽出することにより、その文字色に対応する文字色別2値画像を生成する。カラー画像の画素値が文字色と近いか否かは、カラー画像の画素値と文字色との間のRGB色空間における距離が所定の範囲にあるか否かにより判断すればよい。
【0071】
例えば、文字領域に「文字色別に圧縮」の7文字が含まれており、カラー画像において7文字のうち「文字色別」の4文字が赤色、「に」の1文字が黒色、および「圧縮」の2文字が青色の場合、文字領域符号化部340には、赤、黒および青の3つの文字色が入力される。文字色別2値画像生成部341は、赤色の文字色に対応する2値画像として、「文字色別」の4文字を含む文字色別2値化画像を生成し、黒色の文字色に対応する2値画像として、「に」の1文字を含む文字色別2値化画像を生成し、青色の文字色に対応する2値画像として、「圧縮」の2文字を含む文字色別2値化画像を生成する。文字色別2値画像生成部341は、文字色と、その文字色に対応する文字色別2値画像とを文字色別符号化部343に出力する。
【0072】
文字色別符号化部343は、文字色別2値画像を可逆圧縮方式で符号化し、符号データを生成する。そして、符号データと、文字色と、文字領域の位置情報とを統合部370に出力する。可逆圧縮方式は、いずれの方式を用いてもよいが、ここでは、MMR(Modified Modified Read)圧縮方式を用いる。
【0073】
図4に戻って、写真/図領域符号化部360は、文字以外(写真、図、罫線)のカラー画像を、非可逆圧縮方式で符号化し、符号データを生成する。圧縮方式は、非可逆圧縮方式であればよく、ここではJPEG(Joint Photographic Experts Group)方式を用いている。そして、符号データを統合部370に出力する。統合部370は、文字領域符号化部340から入力される符号データ、文字色および文字領域の位置情報と、写真/図領域符号化部360から入力される符号データとを併せて1つのファイルとして出力する。符号データは、それぞれ別々の符号データとして出力する。
【0074】
図16は、圧縮処理の流れの一例を示すフローチャートである。圧縮処理は、圧縮プログラムを実行する画像処理部30により実行される処理である。図16を参照して、画像処理部30は、画像データを受け付けたか否かを判断する(ステップS01)。画像データを受け付けるまで待機状態となり(ステップS01でNO)、画像データを受け付けたならば処理をステップS02に進める。すなわち、画像処理は、画像データを受け付けることにより実行される処理である。画像データは、CPU111からの指示により、画像処理部30が、RAM112から画像データを読み出すことにより受け付ける。画像データは、1画素がRGBの3つの値(8ビット)を含むカラー画像である。
【0075】
次に、カラー画像に前処理を実行することにより明度画像を生成し(ステップS02)、写真領域および図領域を抽出する写真/図領域抽出処理を実行し(ステップS03)、文字領域を抽出する文字領域抽出処理を実行する(ステップS04)。文字領域抽出処理については後述するが、ステップS02において抽出された明度画像から文字領域を抽出する。文字領域は、カラー画像中の位置を示す位置情報で特定される。文字領域抽出処理は、複数の文字領域が抽出される場合がある。
【0076】
ステップS05〜ステップS08の処理は、1つの文字領域に対して実行される処理である。このため、複数の文字領域が抽出された場合は、それらのうち1つを処理対象に設定し、ステップS05以降の処理が実行される。ステップS05においては、ステップS02で生成された明度画像の文字領域からノイズを除去することにより明度画像の文字領域を2値画像に変換する。ノイズを除去できたか否かにより明度画像の文字領域が文字属性か否かを判断する(ステップS06)。文字属性ならば処理をステップS07に進め、文字属性でなければ処理をステップS10に進める。
【0077】
ステップS07においては、カラー画像の文字領域に含まれる文字の色を決定するための文字色決定処理を実行する。そして、カラー画像の文字領域に含まれる文字の色相の状態により、文字領域が文字属性か否かを判断する(ステップS08)。文字属性ならば処理をステップS09に進め、文字属性でなければ処理をステップS10に進める。
【0078】
ステップS09においては、2値画像の文字領域を符号化するための文字領域符号化処理を実行し、処理をステップS10に進める。この段階で、2値画像の文字領域が圧縮符号化される。ステップS10においては、次に処理対象とするべき未処理の文字領域が存在するか否かを判断する。そのような文字領域が存在すればその文字領域を処理対象に設定し、処理をステップS05に戻すが、存在しなければ処理をステップS11に進める。
【0079】
ステップS11においては、ステップS03で抽出された写真/図領域と、ステップS04、ステップS05およびステップS07において文字ではないと判定された領域を圧縮符号化するための写真/図領域符号化処理を実行する。複数の写真/図領域が抽出された場合には、複数の写真/図領域毎に圧縮符号化する。このため、複数の写真/図領域のうち1つを処理対処に設定し、ステップS11を実行する。そして、次に処理対象とするべき未処理の写真/図領域が存在するか否かを判断する(ステップS12)。そのような写真/文字領域が存在すればその写真/文字領域を処理対象に設定し、処理をステップS11に戻すが、存在しなければ処理をステップS13に進める。
【0080】
ステップS13においては、ステップS09において2値画像の文字領域を符号化した符号データと、その文字領域の文字色と、その文字領域の位置情報と、ステップS11においてカラー画像の写真/文字領域を符号化した符号データとを統合し、1つの圧縮データを生成する。
【0081】
図17は、前処理の流れの一例を示すフローチャートである。前処理は、図16のステップS02で実行される処理である。図17を参照して、カラー画像の下地部分を除去する(ステップS21)。カラー画像の濃度の薄い下地色を除去し、コントラストを伸張する。これにより、カラー画像の傾向を整えることができる。そして、下地の除去されたカラー画像を明度画像に変換する(ステップS22)。カラー画像の各画素値(24ビット)の値を明度(8ビット)に変換することにより、カラー画像を明度画像に変換する。次に、明度画像をスムージングする(ステップS23)。明度画像をスムージングすることにより、ノイズが除去されるので、後の処理の精度を向上させることができる。
【0082】
図18は、写真/図領域抽出処理の流れの一例を示すフローチャートである。図18を参照して、図16のステップS02において生成した明度画像を2値化し、2値画像を生成する(ステップS31)。そして、生成した2値画像をラベリングする(ステップS32)。ラベリングにより、2値画像で値が「1」の複数の画素の集合に外接する矩形がブロックとして抽出される。2値画像から複数のブロックが抽出される場合がある。
【0083】
ステップS33〜ステップS35の処理は、1つのブロックに対して実行される処理である。このため、複数のブロックが抽出された場合は、それらのうち1つを処理対象に設定し、ステップS33以降の処理を実行する。ステップS33においては、ステップS31で生成された2値画像の処理対象ブロックの特徴量を算出する。そして、算出した特徴量から処理対象ブロックの属性を判別する。属性は、文字属性と、図属性と、写真属性と、下地属性とを含む。そして、ステップS34においては、処理対象ブロックの属性が、写属性または図属性であれば処理をステップS35に進め、そうでなければステップS35をスキップして処理をステップS36に進める。ステップS35においては、処理対象ブロックを、写真/文字領域と判断し、その処理対象ブロックの2値画像中の位置を示す位置情報を写真/文字領域の位置情報として記憶する。例えば、処理対象ブロックの対抗する2つの頂点の2値画像中の座標をRAM112の写真/文字領域の位置情報を格納する領域に記憶する。
【0084】
ステップS36においては、次に処理対象とするべき未処理のブロックが存在するか否かを判断する。そのようなブロックが存在すればそのブロックを処理対象に設定し、処理をステップS33に戻すが、存在しなければ処理を圧縮処理に戻す。
【0085】
図19は、文字領域抽出処理の流れの一例を示すフローチャートである。文字領域抽出処理は、図16のステップS04において実行される処理である。画像処理部30は、図16のステップS02において生成された明度画像を、例えば微分フィルタを用いてフィルタ処理することにより、エッジ画像を生成する(ステップS41)。そして、エッジ画像の傾きを補正する(ステップS42)。抽出されたエッジ画素で構成される線が、水平または垂直となるように、エッジ画像を回転させる。画像データが、画像読取部20から入力される場合があり、原稿が傾いて読み取られる場合があるからである。そして、エッジ画像から罫線を検出し、その罫線をエッジ画像から除去する(ステップS43)。次のステップS45における文字判定の精度を向上させるためである。
【0086】
次のステップS44においては、エッジ画像中から文字領域の候補となる候補ブロックを抽出する。具体的には、まず行間を処理対象から除外し、エッジ画像のエッジ画素を近傍のエッジ画素と連結することにより、連結された複数のエッジ画素の集合に外接する矩形を候補ブロックとして抽出する。候補ブロックは、画像中で、1行の文字列の外接矩形に相当する。複数の候補ブロックが抽出される場合がある。
【0087】
ステップS45〜ステップS48の処理は、1つの候補ブロックに対して実行される処理である。このため、複数の候補ブロックが抽出された場合は、それらのうち1つを処理対象に設定し、ステップS45以降の処理が実行される。ステップS45においては、処理対象の候補ブロックが、文字属性か否かを判定する。判定方法は、例えば、候補ブロックの縦横比、横方方向の長さ、縦方向の長さ、候補ブロックのエッジ画像におけるエッジ画素の占める割合等を基に判定する。処理対象の候補ブロックが文字属性ならば処理をステップS46に進めるが、そうでなければ処理をステップS47に進める。
【0088】
ステップS46においては、文字属性と判定された候補ブロックを、文字領域と判断し、その候補ブロックのエッジ画像中の位置を示す位置情報を文字領域の位置情報として記憶する。例えば、候補ブロックの対抗する2つの頂点のエッジ画像中の座標をRAM112の文字領域の位置情報を格納する領域に記憶する。
【0089】
一方、ステップS47においては、文字属性と判定されなかった候補ブロックの属性を写真属性に変更し、処理をステップS48に進める。具体的には、その候補ブロックのエッジ画像中の位置を示す位置情報を写真領域の位置情報として記憶するため、候補ブロックの位置情報をRAM112の写真領域の位置情報を格納する領域に記憶する。
【0090】
ステップS48においては、次に処理対象とするべき未処理の候補ブロックが存在するか否かを判断する。そのような候補ブロックが存在すればその候補ブロックを処理対象に設定し、処理をステップS45に戻すが、存在しなければ処理を圧縮処理に戻す。
【0091】
図20は、ノイズ除去処理の流れの一例を示すフローチャートである。ノイズ除去処理は、図16のステップS05において実行される処理である。図20を参照して、画像処理部30は、文字領域の位置情報をRAM112から読み出す(ステップS51)。そして、図16のステップS02で生成された明度画像の文字領域に含まれる複数の画素の画素値に基づいて明度ヒストグラムを生成する(ステップS52)。明度画像の文字領域に含まれる複数の画素のうちで所定のしきい値より明度の低い画素を、網点のノイズとして除去する(ステップS53)。具体的には、しきい値より明度の低い画素の画素値を「0」にする。さらに、ヒストグラムの度数から文字の明度と背景の明度との間に背景除去のためのしきい値を設定する(ステップS54)。しきい値を設定できたならば処理をステップS55に進めるが、しきい値を設定できない場合は処理をステップS57に進める。背景除去のためのしきい値を設定できない場合には、文字領域に文字でなく写真または図が表されている可能性が高いからである。
【0092】
ステップS55においては、背景除去のためのしきい値を用いて、明度画像の文字領域を2値化し、2値画像を生成する。次のステップS56においては、生成した2値画像と位置情報とを関連付け、処理を圧縮処理に戻す。具体的には、その2値画像と位置情報との組をRAM112の所定の領域に記憶する。
【0093】
一方、ステップS57においては、しきい値を設定できなかった文字領域の属性を写真属性に変更し、処理を圧縮処理に戻す。具体的には、その文字領域の位置情報をRAM112の写真領域の位置情報を格納する領域に記憶する。
【0094】
図21は、文字色決定処理の流れの一例を示すフローチャートである。文字色決定処理は、図16のステップS07において実行される処理である。図21を参照して、画像処理部30は、2値画像と位置情報との組をRAM112から読み出す(ステップS61)。読み出した2値画像中の文字の線幅を細くするために細線化処理を実行する(ステップS62)。細線化処理が実行されることにより文字中心画素の値を「1」とし、他の画素の値を「0」にした2値画像が生成される。
【0095】
ステップS63においては、文字領域の色相ヒストグラムを生成する。ステップS61で読み出した位置情報は、カラー画像における文字領域の位置を示す。この位置情報からステップS62で生成された2値画像が含む各画素に対応するカラー画像中の画素を特定することができる。このため、ステップS62で生成され2値画像で値が「1」の画素に対応するカラー画像の画素の画素値に基づいて、色相ヒストグラムを生成する。ここでは、色相ヒストグラムは、色相を32等分した32区間の階級と、白の階級と、黒の階級とを含む。
【0096】
そして、ノイズとなる色相の画素を処理対象から除去する(ステップS64)。具体的には、色相ヒストグラムにおいて、最大度数を基準に第1しきい値を設定し、第1しきい値以下の度数の階級に振り分けられた画素をノイズとみなし、その画素を処理対象から除外する。ノイズを除去することにより、文字の色の検出精度を向上させることができる。第1しきい値は、最大度数の30%とするのが好ましい。
【0097】
次に、色相ヒストグラムにおいて第1のしきい値を超える度数の階級が3つ以上連続するか否かを判断する(ステップS65)。第1しきい値を超える度数の階級が3つ以上連続する場合、処理をステップS71に進めるが、そうでなければ処理をステップS66に進める。第1しきい値を超える度数の階級が3つ以上連続する場合、位置情報で特定される文字領域が、文字でなく写真または図形が表わされている可能性が高いからである。なお、第1しきい値を超える度数の階級が連続する最大のしきい値を2としたが、このしきい値は、これに限定されることなく、色相ヒストグラムの階級に応じて定めることができる。
【0098】
ステップS66においては、第1しきい値を超える度数の階級が連続する場合、連続する階級を度数が最大の代表色相の階級に統合する。これにより、文字色の近い画素を1つの代表色相の階級にすることで、文字色の数を少なくし、圧縮率を向上することができる。また、文字の輪郭部分と中央部分との色を同じ色とすることができ、文字の見栄えをよくすることができる。
【0099】
次のステップS67においては、代表色相の階級数が4以上か否かを判断する。代表色相の階級数が4以上であれば処理をステップS71に進め、そうでなければ処理をステップS68に進める。代表色相の階級数が4以上の場合、カラー画像が文字領域において4色以上を含むことになり、文字でなく写真または図形が表わされている可能性が高いからである。なお、代表色相の階級数が4以上の場合に文字領域を写真属性に変更するようにしたが、このしきい値「4」は、これに限定されることなく、色相ヒストグラムの階級に応じて定めることができる。
【0100】
ステップS68においては、文字色を算出する。文字色は、代表色相の階級に基づいて算出する。代表色相の階級が複数の場合、複数の代表色相の階級毎に文字色を算出するため、複数の代表色相の階級の1つを処理対象に設定する。そして、色相ヒストグラムにおいて、処理対象の代表色相の階級に振り分けられた複数の画素のカラー画像における画素値から文字色を算出する。文字色は、複数の画素のRGB値それぞれを平均したRGB値である。
【0101】
次のステップS69においては、文字色と2値画像と位置情報とを関連付け、処理をステップS70に進める。具体的には、ステップS68で算出された文字色と、ステップS64でノイズが除去された2値画像と、位置情報との組をRAM112の所定の領域に記憶する。
【0102】
次のステップS70においては、次に処理対象とするべき未処理の代表色相の階級が存在するか否かを判断する。未処理の代表色相の階級が存在すれば処理をステップS08に戻し、存在しなければ処理を圧縮処理に戻す。
【0103】
一方、処理をステップS71に進める場合は、ステップS65において第1しきい値を超える度数の階級が3つ以上連続すると判断された場合、または、ステップS67において代表色相の階級数が4以上存在すると判断された場合である。この場合、文字領域には文字でなく写真または図形が表されている可能性が高いので、ステップS71においては、文字領域の属性を写真属性に変更し、処理を圧縮処理に戻す。具体的には、文字領域の位置情報をRAM112の写真領域の位置情報を格納する領域に記憶する。
【0104】
図22は、文字領域符号化処理の流れの一例を示すフローチャートである。文字領域符号化処理は、図16のステップS09において実行される処理である。図22を参照して、画像処理部30は、文字色と、2値画像と、位置情報との組をRAM112から読み出す(ステップS81)。文字色と2値画像と位置情報との組で同じ位置情報の組が複数記憶されている場合には、それらの組のうちから1つを読み出す。そして、文字色別2値画像を生成する(ステップS82)。文字色別2値画像は、カラー画像で文字色に近い色の画素の画素値を「1」とし、他の画素の画素値を「0」とした画像である。具体的には、画像処理部30は、2値画像のうち画素値が「1」の画素のうちからカラー画像の画素値が文字色に近い画素を抽出することにより、その文字色に対応する文字色別2値画像を生成する。カラー画像の画素値が文字色と近いか否かは、カラー画像の画素値と文字色との間のRGB色空間における距離が所定の範囲にあることを条件とする。
【0105】
次のステップS83においては、文字色別2値画像を圧縮符号化し、符号データを生成する。ここでの圧縮符号化は、可逆圧縮方式であり、例えばMMR圧縮方式である。次のステップS84においては、文字色と符号データと位置情報とを関連付け、処理をステップS85に進める。具体的には、ステップS81で読み出した文字色および位置情報と、ステップS84で生成した符号データの組をRAM112の所定の領域に記憶する。
【0106】
次のステップS85においては、次に処理対象とするべき文字色と2値画像と位置情報との組が存在するか否かを判断する。そのような組が存在するならば、処理をステップS81に戻し、存在しなければ処理を圧縮処理に戻す。
【0107】
以上説明したように、本実施の形態におけるMFP100は、カラー画像から抽出された文字領域に含まれる文字を細線化し、細線化された文字を構成する複数の文字中心画素に対応するカラー画像の画素の色に基づいて、文字色を決定する。そして、カラー画像を2値化した2値画像の文字領域を符号化し、符号データと、決定された文字色と、文字領域のカラー画像中の位置とを関連付ける。カラー画像を2値化した2値画像の文字領域を符号化するので、文字全体を同じ色の文字として2値化することができる。また、細線化後の文字を構成する複数の文字中心画素に対応する画像データの画素の色に基づいて文字色を決定するので、文字の色を正確に検出することができる。その結果、画像中の文字の色を容易かつ高精度に検出することができる。
【0108】
また、主走査方向と副走査方向それぞれで、連続して配置された黒画素のうちから中心の画素を文字中心画素として抽出するので、文字中心画素を容易に抽出することができ、処理速度を速くすることができる。
【0109】
さらに、主走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素であって、副走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を文字中心画素とするので、文字中心画素を容易に抽出することができ、処理速度を早くすることができる。
【0110】
なお、上述した実施の形態においては画像処理装置の一例としてMFP100について説明したが、図16〜図21に示した圧縮処理をMFP100に実行させるための画像圧縮方法、または図16〜図21に示した圧縮処理をMFP100またはPC3,3A,3B、3Cに実行させるための画像圧縮プログラムとして発明を捉えることができるのは言うまでもない。
【0111】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0112】
<付記>
(1) 前記第1のしきい値は、度数の最大値に基づき定められる、請求項4に記載の画像処理装置。
(2) 前記属性変更手段は、度数が第1しきい値を超える色相階級が第2のしきい値を超えて連続する場合、前記文字領域の属性を文字属性以外の属性に変更する、請求項8または9に記載の画像処理装置。
(3) 前記文字色決定手段は、前記複数の色相階級のうちから度数が第1のしきい値を超える色相階級を代表色相として選択する選択手段をさらに含み、
前記属性変更手段は、度数が第1しきい値を超える代表色相が第3のしきい値を越えて存在する場合、前記文字領域の属性を文字属性以外の属性に変更する、請求項8または9に記載の画像処理装置。
(4) 前記文字領域符号化手段は、前記2値化データを可逆圧縮する可逆圧縮手段を含む、請求項1に記載の画像処理装置。
(5) カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出する写真/図領域抽出手段と、
前記写真/図領域のカラー画像を符号化する写真/図形領域符号化手段と、をさらに備えた請求項1に記載の画像処理装置。
(6) 前記文字領域符号化手段は、前記2値画像の前記文字領域を可逆圧縮する可逆圧縮手段を含み、
前記写真/図形領域符号化手段は、前記カラー画像の前記写真/図領域を非可逆圧縮する非可逆圧縮手段を含む、(5)に記載の画像処理装置。
【図面の簡単な説明】
【0113】
【図1】本発明の実施の形態の一つにおける画像形成システムの全体概要を示す図である。
【図2】MFPの外観を示す斜視図である。
【図3】MFPのハード構成の一例を示すブロック図である。
【図4】画像処理部の機能の一例を示す機能ブロック図である。
【図5】文字領域抽出部の詳細な機能を示す機能ブロック図である。
【図6】ノイズ除去部320の詳細な機能を示す機能ブロック図である。
【図7】文字色決定部の詳細な機能を示す機能ブロック図である。
【図8】文字「A」を含む2値画像の一例を示す図である。
【図9】(A)は主走査方向中心画素の一例を示す図であり、(B)は副走査方向中心画素の一例を示す図であり、(C)は文字中心画素の一例を示す図である。
【図10】色相ヒストグラムの階級の一例を示す図である。
【図11】色相ヒストグラムの一例を示す第1の図である。
【図12】色相ヒストグラムの一例を示す第2の図である。
【図13】色相ヒストグラムの一例を示す第3の図である。
【図14】色相ヒストグラムの一例を示す第4の図である。
【図15】文字領域符号化部の詳細な機能を示す機能ブロック図である。
【図16】圧縮処理の流れの一例を示すフローチャートである。
【図17】前処理の流れの一例を示すフローチャートである。
【図18】写真/図領域抽出処理の流れの一例を示すフローチャートである。
【図19】文字領域抽出処理の流れの一例を示すフローチャートである。
【図20】ノイズ除去処理の流れの一例を示すフローチャートである。
【図21】文字色決定処理の流れの一例を示すフローチャートである。
【図22】文字領域符号化処理の流れの一例を示すフローチャートである。
【符号の説明】
【0114】
1 画像形成システム、2 ネットワーク、3,3A,3B,3C コンピュータ、4 デジタルカメラ、5 デジタルビデオカメラ、6 携帯情報端末、9 操作パネル、20 画像読取部、20 画像読取部、30 画像処理部、40 画像形成部、50 給紙部、60 ファクシミリ部、61 通信制御部、100 MFP、101 メイン回路、111 CPU、112 RAM、113 ROM、114 表示部、115 操作部、116 HDD、117 データ通信制御部、118 LAN端子、119 シリアル通信インターフェース端子、119A メモリカード、301 前処理部、310 文字領域抽出部、311 エッジ画像生成部、312 傾き補正部、313 罫線除去部、314 候補ブロック抽出部、315 判定部、316 文字領域決定部、317 第1属性変更部、320 ノイズ除去部、321 明度ヒストグラム生成部、323 網点・背景除去部、325 第2属性変更部、330 文字色決定部、331 細線化部、332 色相ヒストグラム生成部、333 ノイズ色相除去部、334 隣接色相統合部、335 第3属性変更部、336 代表色相選択部、337 第4属性変更部、338 文字色算出部、340 文字領域符号化部、341 値画像生成部、343 文字色別符号化部、350 写真/図領域抽出部、360 写真画像符号化部、370 統合部。

【特許請求の範囲】
【請求項1】
カラー画像から文字が表された文字属性の文字領域を抽出する文字領域抽出手段と、
前記文字領域に含まれる文字を細線化する細線化手段と、
前記細線化された文字を構成する複数の文字中心画素に対応する前記カラー画像の画素の色に基づいて、文字色を決定する文字色決定手段と、
前記カラー画像を2値化することによって、2値画像に変換する2値化手段と、
前記2値画像の前記文字領域を符号化し、符号データを生成する文字領域符号化手段と、
前記生成された符号データと、前記決定された文字色と、前記文字領域の前記カラー画像中の位置とを関連付ける関連付手段と、を備えた画像処理装置。
【請求項2】
前記細線化手段は、前記2値画像において主走査方向に連続して配置された黒画素のうちから中心の画素を抽出する主走査方向検出手段と、
前記主走査方向と交わる副走査方向に連続して配置された黒画素のうちから中心の画素を抽出する副走査方向検出手段と、
前記主走査方向検出手段で抽出された中心画素と、前記副走査方向検出手段で抽出された中心画素とを前記文字中心画素に決定する決定手段と、を含む請求項1に記載の画像処理装置。
【請求項3】
前記細線化手段は、主走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第1候補画素として抽出する主走査方向検出手段と、
前記主走査方向と交わる副走査方向に連続して配置された複数の黒画素の両端から所定数の画素を除いた少なくとも1つの画素を第2候補画素として抽出する副走査方向検出手段と、
前記第1候補画素および前記第2候補画素のいずれでもある画素を前記文字中心画素に決定する決定手段と、を含む請求項1に記載の画像処理装置。
【請求項4】
前記文字色決定手段は、前記複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、
度数が第1のしきい値以下の色相階級に分類された画素をノイズとして除去するノイズ除去手段を含む、請求項1に記載の画像処理装置。
【請求項5】
前記文字色決定手段は、前記複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、 前記複数の色相階級のうちから度数が第1のしきい値を超える色相階級を代表色相として選択する選択手段と、を含み、
前記複数の文字中心画素のうち前記選択された代表色相の色相階級に分類された前記文字中心画素の細線化する前の色に基づき前記文字色を決定する、請求項1に記載の画像処理装置。
【請求項6】
前記選択手段は、度数が前記第1しきい値を超える色相階級が2以上連続する場合、連続する色相階級のうち度数が最大の色相階級を代表色相として選択する色相統合手段を含む、請求項5に記載の画像処理装置。
【請求項7】
前記文字色決定手段は、前記選択手段により複数の前記代表色相が選択された場合、前記複数の代表色相にそれぞれ対応する複数の前記文字色を決定し、
前記文字領域符号化手段は、前記複数の代表色相それぞれにおいて、前記2値画像の前記文字領域に含まれる黒画素のうちから該黒画素に対応する前記カラー画像の画素の色が該代表色相に対応する前記文字色と近似する画素を抽出することにより、該代表色相に対応する文字色別2値画像を生成する文字色別2値化データ生成手段と、
前記決定された複数の文字色にそれぞれ対応する複数の文字色別2値化データを符号化し、文字色別符号データを生成する文字色別符号化手段と、を含み、
前記関連付手段は、前記決定された複数の文字色ごとに、該文字色と、該文字色に対応する前記文字色別符号データと、前記文字領域の前記画像データ中の位置とを関連付ける文字色別関連付手段を含む、請求項5に記載の画像処理装置。
【請求項8】
前記文字色決定手段は、前記複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、 前記複数の色相階級の度数分布に基づいて、前記文字領域の属性を文字属性以外の属性に変更する属性変更手段と、を含む請求項1に記載の画像処理装置。
【請求項9】
カラー画像から文字が表された文字属性の文字領域を抽出する文字領域抽出手段と、
カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出する写真/図領域抽出手段と、
前記文字領域に含まれる文字を細線化する細線化手段と、
前記細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類する分類手段と、
前記複数の色相階級の度数分布に基づいて、前記文字領域の属性を文字属性以外の属性に変更する属性変更手段と、を備えた画像処理装置。
【請求項10】
カラー画像から文字が表された文字属性の文字領域を抽出するステップと、
前記文字領域に含まれる文字を細線化するステップと、
前記細線化された文字を構成する複数の文字中心画素に対応する前記カラー画像の画素の色に基づいて、文字色を決定するステップと、
前記カラー画像を2値化することによって、前記カラー画像を2値画像に変換するステップと、
前記2値画像の前記文字領域を符号化し、符号データを生成するステップと、
前記生成された符号データと、前記決定された文字色と、前記文字領域の前記カラー画像中の位置とを関連付けるステップと、を含む画像処理方法。
【請求項11】
カラー画像から文字が表された文字属性の文字領域を抽出するステップと、
カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出するステップと、
前記文字領域に含まれる文字を細線化するステップと、
前記細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類するステップと、
前記複数の色相階級の度数分布に基づいて、前記文字領域の属性を文字属性以外の属性に変更するステップと、を含む画像処理方法。
【請求項12】
カラー画像から文字が表された文字属性の文字領域を抽出するステップと、
前記文字領域に含まれる文字を細線化するステップと、
前記細線化された文字を構成する複数の文字中心画素に対応する前記カラー画像の画素の色に基づいて、文字色を決定するステップと、
前記カラー画像を2値化することによって、前記カラー画像を2値画像に変換するステップと、
前記2値画像の前記文字領域を符号化し、符号データを生成するステップと、
前記生成された符号データと、前記決定された文字色と、前記文字領域の前記カラー画像中の位置とを関連付けるステップと、をコンピュータに実行させる画像処理プログラム。
【請求項13】
カラー画像から文字が表された文字属性の文字領域を抽出するステップと、
カラー画像から写真または図形が表された写真/図属性の写真/図領域を抽出するステップと、
前記文字領域に含まれる文字を細線化するステップと、
前記細線化された文字を構成する複数の文字中心画素それぞれの細線化する前の色に基づき、前記複数の文字中心画素それぞれを複数の色相階級のいずれかに分類するステップと、
前記複数の色相階級の度数分布に基づいて、前記文字領域の属性を文字属性以外の属性に変更するステップと、をコンピュータに実行させる画像処理プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2008−99149(P2008−99149A)
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願番号】特願2006−280790(P2006−280790)
【出願日】平成18年10月13日(2006.10.13)
【出願人】(303000372)コニカミノルタビジネステクノロジーズ株式会社 (12,802)
【Fターム(参考)】