(57)【特許請求の範囲】
【請求項１】
画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、
前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、
前記画像抽出手段によって抽出された画像を前記画像データから消去する消去手段と、
前記消去手段による処理結果である画像を符号化する符号化手段と、
前記ベクトル変換手段によって変換されたベクトル情報及び前記符号化手段による符号化結果を出力する出力手段
を具備し、
前記画像抽出手段は、
画像データから画素の塊を切り出す切出手段と、
前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、
前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段
を具備し、
前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換する
ことを特徴とする画像処理装置。
【請求項２】
コンピュータを、
画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、
前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、
前記画像抽出手段によって抽出された画像を前記画像データから消去する消去手段と、
前記消去手段による処理結果である画像を符号化する符号化手段と、
前記ベクトル変換手段によって変換されたベクトル情報及び前記符号化手段による符号化結果を出力する出力手段
として機能させ、
前記画像抽出手段は、
画像データから画素の塊を切り出す切出手段と、
前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、
前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段
を具備し、
前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換する
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像データ全体又はその画像内の個々の文字画像に対して、ベクトル情報（アウトライン情報を含む）への変換を行う技術が知られている。
これに関連する技術として、例えば、特許文献１には、紙原稿中の文字をアウトライン化する際には、できるだけ高解像度で二値化した文字オブジェクト二値画像をアウトライン化した方が、高画質なアウトラインデータを生成できるが、一方で、高解像度二値画像をアウトライン化する際には、情報量が多いためにアウトライン化に処理時間がかかるという問題点を鑑み、処理時間を短縮しつつ、高品位なアウトライン化画像を生成することを目的とし、小さな文字は高解像度二値画像よりアウトライン化し、大きな文字は低解像度二値画像よりアウトライン化することが開示されている。
【０００３】
また、文書画像を対象とした文字認識では、その文書画像内から認識すべき文字を１つずつ切り出す技術が必要である。
これに関連する技術として、例えば、特許文献２には、文字の種類を誤りなく自動的に認識し、文字認識の際に操作者が文字の種類を切り分ける負荷を軽減すると共に、無駄な動作をさせないようにすることを目的とし、文書画像を認識する文書認識装置におけるマーク取り出し手段は、文書画像内の文字行に対して、連結した黒画素塊を取り出し、マーク解析手段により前記黒画素塊の最下辺の座標における黒画素塊の分布を解析し、文字識別手段は、前記マーク解析手段により解析された黒画素塊の分布に基づいて文字の種類を識別し、マークの解析は、黒画素塊の外接矩形間の接触関係を取り出し、その接触関係にある個数を計数したり、あるいは黒画素塊の外接矩形の縦方向又は横方向のマークの個数を計数することによって行うことが開示されている。
【０００４】
また、例えば、特許文献３には、文書画像から、認識との併用を必要とせずに、高速、高精度に文字を切り出すことを目的とし、縮小した文書画像から文字列を切り出し、文字の変化を文字変形率という形で推定し、接触文字を複数の特徴で複数に切り分け、文字列中の文字外接矩形の考えられる全ての組み合わせに対し、それぞれ評価関数を計算し、その評価関数の値が最適な矩形の組み合わせを文字切り出し結果とする、高速、高精度な文字切り出し方法が開示されている。
【０００５】
また、例えば、特許文献４には、漢字、仮名文字等の文字幅が揃っている一般文字に、英文字などの特殊文字が混在し、文字幅が変動しても、正確に、短時間で切り出し、認識を行うことを目的とし、入力部より入力された画像から黒画素連結成分の外接矩形を外接矩形抽出部により抽出し、抽出された外接矩形で垂直方向に重なる外接矩形を統合し、基本矩形作成部により基本矩形を作成し、この基本矩形の形状位置より、一般文字列、特殊文字列のどちらの文字列であるか文字列判定部により判定し、一般文字列であれば、推定しておいた標準文字幅に基づき、基本矩形を統合し、認識を行い、特殊文字列であれば、統合は行わず、基本矩形単独で認識を行い、これにより、切り出し，認識の繰り返しを最小限に抑え、切り出し精度の向上、処理時間の短縮を実現できることが開示されている。
【０００６】
また、例えば、特許文献５には、日本語文字認識において、文字間の区切位置を明確にし、誤切り出し、誤認識を最小限とすることを目的とし、最も確からしい認識文字コードを出力するため、文字部分の連結成分の外接矩形を抽出する手段と、隣接する外接矩形が横書き文書ならば上下方向に、縦書き文書ならば左右方向に重なっている場合に統合を行う（基本矩形）手段と、基本矩形が単独で１文字として決定できるか否かを判定し、決定できない場合、該基本矩形の範囲を検出し、この範囲に対し切り出し候補として隣接する基本矩形の統合の組み合わせを求め、それぞれに優先順位をつける手段と、全切出候補を認識し、切り出し優先順位及び認識類似度より最も確からしい認識文字コードを出力する手段を有する日本語文字認識装置が開示されている。
【特許文献１】特開２００６−２５３８９２号公報
【特許文献２】特開平０５−０２８３０１号公報
【特許文献３】特開平０５−１２０４８１号公報
【特許文献４】特開平０５−１４３７７６号公報
【特許文献５】特開平０５−１７４１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、画像データ全体又はその画像内の個々の文字画像の全てに対して、ベクトル情報への変換を行うと、変換処理の負荷が増え、変換後の情報量が多くなる。
本発明は、画像データをベクトル情報に変換し、残りの画像データをまとめて出力することで、変換処理の負荷を減らし、変換後の情報量を少なくする画像処理装置及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１記載の発明は、画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、前記画像抽出手段によって抽出された画像を前記画像データから消去する消去手段と、前記消去手段による処理結果である画像を符号化する符号化手段と、前記ベクトル変換手段によって変換されたベクトル情報及び前記符号化手段による符号化結果を出力する出力手段を具備し、前記画像抽出手段は、画像データから画素の塊を切り出す切出手段と、前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段を具備し、前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換することを特徴とする画像処理装置である。
【００１０】
請求項２記載の発明は、コンピュータを、画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、前記画像抽出手段によって抽出された画像を前記画像データから消去する消去手段と、前記消去手段による処理結果である画像を符号化する符号化手段と、前記ベクトル変換手段によって変換されたベクトル情報及び前記符号化手段による符号化結果を出力する出力手段として機能させ、前記画像抽出手段は、画像データから画素の塊を切り出す切出手段と、前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段を具備し、前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換することを特徴とする画像処理プログラムである。
【発明の効果】
【００１１】
請求項１の画像処理装置によれば、ベクトル変換にかかる処理の負荷を軽減することができるようになる。
【００１３】
請求項２の画像処理プログラムによれば、ベクトル変換にかかる処理の負荷を軽減することができるようになる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づき本発明を実現するにあたっての好適な各種の実施の形態を説明する。
図１は、本発明を実現するにあたっての第１の実施の形態の概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウエア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させること、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。
【００１５】
なお、画像データとは、画像を、数値を有した点（ドット）の羅列として表現したデータをいい、ビットマップ画像、ラスタ画像ともいわれる。圧縮又は暗号化等が行われた画像データでもよいが、ベクトル情報又はアウトライン情報は含まれない。画像データを格納するファイル形式として、ＢＭＰ（ＢｉｔＭａＰ）、ＴＩＦＦ（Ｔａｇｇｅｄ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ）、ＰＮＧ（Ｐｏｒｔａｂｌｅ  Ｎｅｔｗｏｒｋ  Ｇｒａｐｈｉｃｓ）、ＪＰＥＧ／ＪＰＥＧ２０００（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）、ＧＩＦ（Ｇｒａｐｈｉｃｓ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ）などがある。また、本実施の形態で扱う画像データは、１枚の画像であってもよいし、複数枚の画像データであってもよい。なお、本実施の形態における対象とする画像データとして、２値画像の画像データを主に例示する。
【００１６】
また、画素の塊とは、４連結又は８連結で連続する黒画素領域（あるいは、白黒反転文字の場合は、「４連結又は８連結で連続する白画素領域」）を少なくとも含み、これらの画素領域の集合をも含む。これらの画素領域の集合とは、４連結等で連続した画素領域が複数あり、その複数の画素領域は近傍にあるものをいう。ここで、近傍にあるものとは、例えば、互いの画素領域が距離的に近いもの、文章としての１行から１文字ずつ切り出すように縦又は横方向に射影し、空白地点で切り出した画像領域、又は一定間隔で切り出した画像領域等がある。
【００１７】
なお、１つの画素の塊として、１文字の画像となる場合が多い。ただし、実際に人間が文字として認識できる画素領域である必要はない。文字の一部分、文字を形成しない画素領域等もあり、前述した画素の塊であればよい。以下、「文字」又は「文字画像」という場合は、特に断りがない限り「画素の塊」の意で用いる。
【００１８】
また、ベクトル化には、アウトライン化を含む。アウトライン化とは、文字画像の輪郭形状をベジエのような曲線等で近似して表す方法である。このような手法の例として、特許文献１記載の技術を挙げることができる。また、ベクトル化とは、対象として文字画像に限られず、前述の画素の塊を対象として、直線、円弧、ベジエ曲線、面、塗り潰し等の数式（アルゴリズム等を含む）等の描画情報によってその画像を表現するものである。以下、アウトライン化を主に例示して説明するが、その他のベクトル化であってもよい。また、ここでは、文字画像に文字コードを割り当てたファイルを生成することもベクトル化に含める。
また、ベクトル情報から画像データを生成すること（ベクトル化の逆）をレンダリング処理という。
また、ファイルとは、一つの単位として記憶又は処理される、名前の付いた情報の集合であり、ＯＳ（オペレーティングシステム）や応用ソフトウエアがプログラムやデータを扱う際のひとまとまりの単位となるものである。
【００１９】
本実施の形態は、図１に示すように、文字切り出しモジュール１１、文字層出力モジュール１２、２値画像層出力モジュール１３、出力ファイル形成モジュール１４を有している。
文字切り出しモジュール１１は、文字層出力モジュール１２、２値画像層出力モジュール１３と接続されており、入力画像データの中から、ベクトル情報に変換する画像である文字画像（画素の塊）を切り出し（抽出し）、切り出した文字画像、その文字画像の文字サイズと位置を文字層出力モジュール１２へ渡す。そして、文字画像以外の画像を２値画像層出力モジュール１３へ渡す。
また、文字画像を抽出するのに、文字認識ソフトウエアなどを利用してもよい。例えば、ひらがなの「い」の画像は、２つの連結画素領域の集合である。このような文字を認識するためには、複数の連結画素成分をまとめる必要がある。文字画像を抽出するため、文字認識ソフトウエアなどを利用して、その文字認識ソフトウエアが抽出した文字矩形を用いて文字画像を抽出するようにしてもよい。そして、文字として認識できた矩形以外の部分を、文字画像以外の画像として２値画像層出力モジュール１３へ渡すようにしてもよい。
【００２０】
文字層出力モジュール１２は、文字切り出しモジュール１１、出力ファイル形成モジュール１４と接続されており、文字切り出しモジュール１１から切り出した文字画像、その文字画像の文字サイズと位置を受け取り、文字画像をベクトル情報に変換して、出力ファイルを形成する文字層のデータを生成する。そして、出力ファイル形成モジュール１４へそのデータを渡す。
【００２１】
２値画像層出力モジュール１３は、文字切り出しモジュール１１、出力ファイル形成モジュール１４と接続されており、文字切り出しモジュール１１から文字画像以外の画像を受け取り、出力ファイルを形成する２値画像層のデータを生成する。そして、出力ファイル形成モジュール１４へそのデータを渡す。
２値画像層出力モジュール１３では、例えば、２値画像を符号化して、２値画像層のデータを出力する。２値画像層のデータとしては、ＣＣＩＴＴ  Ｇ３、ＣＣＩＴＴ  Ｇ４、ＪＢＩＧ、ＪＢＩＧ２などの２値画像用圧縮方式を用いて作成すればよい。又は、ＬＺなどの他の方式を用いて圧縮してもよい。あるいは、単なる無圧縮のビット列としてもよい。
【００２２】
出力ファイル形成モジュール１４は、文字層出力モジュール１２、２値画像層出力モジュール１３と接続されており、文字層出力モジュール１２から文字層のデータを、２値画像層出力モジュール１３から２値画像層のデータを、それぞれ受け取って出力ファイルを生成する。
出力ファイルのデータ構造を図４に示す。出力ファイル４０は、文字層データ４１と２値画像層データ４２を有している。つまり、出力ファイル４０は、文字切り出しモジュール１１が受け付けた画像データの中から、同様の画素の塊をまとめた代表の画素の塊を変換したベクトル情報である文字層データ４１と、前記画像データの中から、前記ベクトル情報としては変換されなかった２値画像層データ４２により構成されている。
出力ファイル４０の形式として、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）（登録商標）を用いてもよい。なお、ＰＤＦの形式（フォーマット）を用いることを説明しているのであって、ＰＤＦ内のデータとして、文字層データ４１、２値画像層データ４２のデータ構造の例が既にあるわけではないことを留意事項として記しておく。
【００２３】
出力ファイル４０を受け取ったシステムは、出力ファイル４０内の文字層データ４１に対してレンダリング処理を行い、２値画像層データ４２を合成して、文字切り出しモジュール１１が受け付けた入力画像と同等の画像を生成する。なお、入力画像と同等の画像とは、その入力画像と同一の画像の他に多少の改変がなされたものであってもよい。
【００２４】
図２は、図１に示した第１の実施の形態における文字切り出しモジュール１１内の構成例についての概念的なモジュール構成図である。
文字切り出しモジュール１１は、画素塊抽出モジュール２１、画素塊サイズ検証モジュール２２、画素塊消去モジュール２３を有している。
画素塊抽出モジュール２１は、画素塊サイズ検証モジュール２２と接続されており、入力画像から画素塊を抽出する。画素塊、その画素塊の抽出は、前述の説明の通りである。
【００２５】
画素塊サイズ検証モジュール２２は、画素塊抽出モジュール２１、画素塊消去モジュール２３と接続されており、画素塊のサイズを検証する。つまり、画素塊をベクトル化すべき画像である文字画像とそれ以外の画像に分けて、文字画像、その文字画像の文字サイズと位置を画素塊消去モジュール２３、出力ファイル形成モジュール１４へ渡す。例えば、画素塊のサイズの検証として、以下の手法（（１）〜（３））がある。
（１）画素塊の黒画素数が閾値以上の場合は、図形などの大マークとして文字ではないと判断する。例えば、閾値として、１００００などの値を示すことができる。
（２）画素塊の黒画素数が閾値以下の場合は、ノイズなどの小マークとして文字ではないと判断する。例えば、閾値として、５などの値を示すことができる。
（３）それ以外の画素塊は、文字画像とする。文字画像、その文字サイズ（切り出し文字の画像サイズ）と入力画像内における位置を抽出し、それを画素塊消去モジュール２３、文字層出力モジュール１２へ渡す。
【００２６】
また、前述の例では、画素塊の黒画素の数で文字か否かを判断したが、他の方法を用いてもよい。
例えば、画素塊を包含する矩形（外接矩形）を抽出し、その矩形の横幅あるいは縦幅のいずれかが閾値より大きければ、文字以外と判断するようにしてもよい。例えば、閾値として、１０００などの値を示すことができる。
例えば、その矩形の横幅あるいは縦幅のいずれも閾値より小さければ、文字以外と判断するようにしてもよい。例えば、閾値として、３などの値を示すことができる。
さらに、前述の例での大きなマークを文字以外と判断しなくてもよい。
前述の例での小さなマークを文字以外と判断しなくてもよい。
【００２７】
画素塊消去モジュール２３は、画素塊サイズ検証モジュール２２と接続されており、文字画像と判断された画素塊を、入力画像から消去する。つまり、画素塊サイズ検証モジュール２２から文字画像、その文字サイズと位置を受け取り、入力画像から、その位置にある文字画像を消去する。文字画像を消去した後の画像を、文字以外の画像として２値画像層出力モジュール１３へ渡す。
【００２８】
図３は、図１に示した第１の実施の形態における文字層出力モジュール１２内の構成例についての概念的なモジュール構成図である。
文字層出力モジュール１２は、フォント登録モジュール３１、文字コード決定モジュール３２、文字層形成モジュール３３を有している。
【００２９】
文字コード決定モジュール３２は、フォント登録モジュール３１、文字層形成モジュール３３と接続されており、文字切り出しモジュール１１の画素塊サイズ検証モジュール２２から切り出し文字の画像を受け取り、それに対して文字コードを割り当てる。そして、その文字コードをフォント登録モジュール３１、文字層形成モジュール３３へ渡す。
この割り当てとしては、エスケープコードなどを割り当てないようにして、適当に割り当ててもよい。また、文字認識を行って、その文字コードを割り当ててもよいし、外字コードを割り当ててもよい。適当に割り当てる場合には、必ずしも、文字コード決定モジュール３２に切り出し文字の画像を入力する必要はない。
【００３０】
フォント登録モジュール３１は、文字コード決定モジュール３２、文字層形成モジュール３３と接続されており、文字切り出しモジュール１１の画素塊サイズ検証モジュール２２から切り出された文字画像と、文字コード決定モジュール３２からその文字画像に対応する文字コードを受け取り、フォントファイルを生成して、文字層形成モジュール３３へ渡す。
つまり、フォント登録モジュール３１は、文字コード決定モジュール３２で割り当てた文字コードに対応する文字形状をフォントファイル形式で登録する。フォントとしては、文字形状をアウトライン化して、アウトラインフォントとして登録してもよいし、ビットマップ形状のまま、ビットマップフォントとして登録してもよい。
【００３１】
文字層形成モジュール３３は、フォント登録モジュール３１、文字コード決定モジュール３２と接続されており、フォント登録モジュール３１からフォントファイル、文字コード決定モジュール３２から文字コード、文字切り出しモジュール１１の画素塊サイズ検証モジュール２２から文字サイズと位置を受け取り、文字層データ４１を生成して、出力ファイル形成モジュール１４へ渡す。
つまり、文字層形成モジュール３３は、フォント登録モジュール３１で生成したフォントファイル形式のデータと、文字コード決定モジュール３２で決定した文字コードと、各文字コードに対応する文字サイズと位置を一つのファイルにまとめる。各文字コードに全て文字サイズと位置が必要なわけではない。相対的にサイズと位置が決定できる場合には、必要な部分のみ指定すればよい。例えば、連続して文字サイズが変化しない場合は、最初に１回のみ指定すればよい。あるいは、Ｙ座標が変化しない場合には、Ｘ座標のみ指定すればよい。あるいは、フォントのサイズが固定されている場合には、サイズを指定する必要はない。
そして、これらのデータを統合して文字層データ４１として出力する。
なお、文字画像をアウトラインフォントとして登録する例を示したが、まず、２値画像である文字画像全体をアウトライン化して、このアウトライン情報を文字層としてもよい。
【００３２】
以上の動作で、文字層データと２値画像層データに分離すること、さらに文字層データと２値画像層データとで入力画像を表現する出力ファイルを生成することに関して説明した。
次に、文字層データと２値画像層データの例を図５に示す。
入力画像データ５０を文字切り出しモジュール１１が受け付ける。入力画像データ５０を、文字画像と文字画像以外の画像に分離する。そして、文字層出力モジュール１２が文字層データ５１を、２値画像層出力モジュール１３が２値画像層データ５２を生成する。
つまり、入力画像データ５０の文字部分（文字画像）だけ抜き出したものが文字層データ５１である。２値画像層は、小さな画素塊や大きな画素塊を抜き出したものであり、図５に示す２値画像層データ５２となる。なお、図５では、文字層データ５１は人間が見ても文字と認識できる画像になっているが、必ずしもそのような画像でなくてもよい。理解不能な形状の画素塊であっても、文字画像として抜き出すようにしてもよい。
【００３３】
次に、第２の実施の形態を説明する。
図６は、第２の実施の形態の文字切り出しモジュール６１内の構成例についての概念的なモジュール構成図を示している。
なお、第１の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
第１の実施の形態の文字切り出しモジュール１１（図１参照）では、文字画像と判断された部分を入力画像から消去して、文字画像以外の画像を抜き出したが、他の方法も可能である。つまり、文字画像以外と判断された部分を画像内に復活（描画）させることで文字以外の画像を生成してもよい。
【００３４】
第２の実施の形態は、第１の実施の形態における文字切り出しモジュール１１を図６に示すような文字切り出しモジュール６１にしたものである。
文字切り出しモジュール６１は、画素塊抽出モジュール２１、画素塊サイズ検証モジュール６２、画素塊復活モジュール６３を有している。
画素塊サイズ検証モジュール６２は、画素塊抽出モジュール２１、画素塊復活モジュール６３と接続されており、画素塊のサイズを検証する。つまり、画素塊をベクトル化すべき画像である文字画像とそれ以外の画像に分けて、文字画像、その文字画像の文字サイズと位置を出力ファイル形成モジュール１４へ渡し、文字画像以外の画像、その画像のサイズと位置を画素塊復活モジュール６３へ渡す。なお、画素塊のサイズの検証手法は、第１の実施の形態における画素塊サイズ検証モジュール２２と同様である。
画素塊復活モジュール６３は、画素塊サイズ検証モジュール６２と接続されており、画素塊サイズ検証モジュール６２から受け取った文字画像以外の画像、その画像のサイズと位置を用いて、文字以外の画像を生成し、２値画像層出力モジュール１３へ渡す。
【００３５】
次に、第３の実施の形態を説明する。
図７は、第３の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、第１の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
第３の実施の形態は、文字切り出しモジュール７１、文字層出力モジュール７６、２値画像層出力モジュール１３、出力ファイル形成モジュール７５を有している。
【００３６】
文字切り出しモジュール７１は、文字切り出し処理の結果として、切り出した文字画像を代表文字決定モジュール７２へ、その文字サイズと位置を文字層出力モジュール７６を介して出力ファイル形成モジュール７５へ、文字以外の画像を２値画像層出力モジュール１３へ渡す。それ以外は、第１の実施の形態における文字切り出しモジュール１１と同様である。
【００３７】
文字層出力モジュール７６は、代表文字決定モジュール７２、フォント登録モジュール７３、文字コード決定モジュール７４を有している。
代表文字決定モジュール７２は、文字切り出しモジュール７１、フォント登録モジュール７３、文字コード決定モジュール７４と接続されており、文字切り出しモジュール７１から切り出された文字画像を受け取り、同様の画素の塊をまとめて代表の画素の塊を生成する。
同様の画素の塊をまとめて代表の画素の塊を生成する処理、つまり文字画像の相似度を検証して代表文字を決定する方式として以下の処理（（１）〜（６））を例に挙げる。
（１）切り出された文字画像である２枚の二値画像を入力する。
（２）２枚の入力画像の黒画素の重心をあわせる。
（３）重心をあわせた２枚の入力画像のＸＯＲ（ｅＸｃｌｕｓｉｖｅ  ＯＲ：排他的論理和）演算を行う。
（４）ＸＯＲ演算の結果、１となった画素（相違する画素）の個数を数える。この個数が閾値以下であれば、類似する文字画像であると判断する。
（５）切り出された文字画像に対して、他の文字画像との相似度を前記の手法で計算し、次々に似ている文字画像をまとめる（似ている文字画像の集合を生成する）。
（６）このように似ている文字画像を共通化して、代表文字を生成する。
つまり、代表文字を生成することによって、入力画像の中から一部の画像データである文字画像を共通化している。具体的には、文字画像を共通化するとは、前述したように、複数の文字画像から１つの共通した代表文字を生成すること、又は複数の文字画像の中から１つの文字画像を代表文字として選択すること等がある。
したがって、代表文字としては、例えば、似ている文字画像の平均値を計算し、それを二値化した文字画像、又は、似ている文字画像の中から１つを選択したもの等となる。
【００３８】
なお、文字画像が類似するか否かの判定として、前述した他に、例えば、切り出された文字画像を１つのベクトルデータとして扱い、クラスタリングを行い、当該文字画像と類似する文字画像を抽出してもよい。この場合、当該文字画像を表すベクトルデータと判定対象の文字画像を表すベクトルデータとの距離（例えば、ユークリッド距離等）が所定値以下（すなわち、２つのベクトルデータの距離が近いとき）の場合は、当該文字画像と判定対象の文字画像とが類似していると判定する。
さらに、２つの文字画像パターンの論理演算の結果画像に基づいて膨張画像を生成し、その膨張画像と重なり合う割合に基づいて、類似しているか否かを判定するようにしてもよい。つまり、完全に一致する場合の膨張させる度合い（膨張半径）によって、相違度を判定するようにしてもよい。
この他に、特開平０７−２００７４５号公報、I. H. Witten, A. Moffat, and T. C. Bell 著 「Managing Gigabytes」 Morgan Kaufmmann Publishers pp. 320-332.等に記載されている方法を用いてもよい。
【００３９】
なお、類似度とは、２つの画像が合同である場合に最大となり、相違する度合いに応じて減少する量のことである。
類似度の代わりに、２つの画像が合同である場合に最小となり、相違する度合いに応じて増加する量を用いてもよい。この場合は、「距離」又は「相違度」と呼ばれる。距離とは、画像をベクトルで表した場合（画素値そのものをベクトルとする、又は画像の特徴量をベクトルとする等）に、ベクトルで表現した画像を空間内に配置し、その空間内での各画像同士の隔たり（距離）のことである。例えば、ユークリッド距離、マンハッタン距離、ハウスドルフ距離、マハラノビス距離、ベクトル間の角度θ、ｃｏｓθ、ｃｏｓθの２乗等がある。
【００４０】
文字コード決定モジュール７４は、代表文字決定モジュール７２、フォント登録モジュール７３、出力ファイル形成モジュール７５と接続されており、代表文字決定モジュール７２から代表文字の文字画像を受け取り、それに対して文字コードを割り当てる。そして、その文字コードをフォント登録モジュール７３、出力ファイル形成モジュール７５へ渡す。受け取る文字画像が代表文字決定モジュール７２によって決定された代表文字画像であること以外は、第１の実施の形態における文字コード決定モジュール３２と同様である。
フォント登録モジュール７３は、代表文字決定モジュール７２、文字コード決定モジュール７４、出力ファイル形成モジュール７５と接続されており、代表文字決定モジュール７２から代表文字の文字画像を、文字コード決定モジュール７４からその代表文字の文字コードを受け取り、フォントファイルを生成して出力ファイル形成モジュール７５へ渡す。受け取る文字画像が代表文字決定モジュール７２によって決定された代表文字画像であること以外は、第１の実施の形態におけるフォント登録モジュール３１と同様である。
【００４１】
出力ファイル形成モジュール７５は、文字切り出しモジュール７１、フォント登録モジュール７３、文字コード決定モジュール７４、２値画像層出力モジュール１３と接続されており、フォント登録モジュール７３からフォントファイルを、文字コード決定モジュール７４から文字コードを、２値画像層出力モジュール１３からは２値画像層のデータを受け取り、出力ファイルを生成する。つまり、第１の実施の形態における文字層形成モジュール３３と出力ファイル形成モジュール１４が行う処理を行う。
【００４２】
第３の実施の形態のように、似た形状の文字画像を集めて、フォント登録する場合には、文字数が多いと、似た形状の文字画像を集める処理負荷が大きくなる。文字数がＮのとき、文字毎に似ているかどうかを判断する処理負荷は、Ｏ（Ｎ２）となるため、Ｎが大きくなると、処理負荷が大きくなり、時間がかかりすぎることとなる。特に、網点からなる写真画像を対象とした場合は、Ｎが非常に大きくなってしまう。しかし、本実施の形態の文字切り出しモジュール７１が文字画像とそれ以外を分けているので、文字画像以外の画像（例えば網点部分）は対象外とするため、処理負荷を軽減させることとなる。
【００４３】
次に、第４の実施の形態を説明する。
図８は、第４の実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、第１、第３の実施の形態と同種の部位には同一符号を付し重複した説明を省略する。
第４の実施の形態は、文字切り出しモジュール７１、文字層出力モジュール８７、２値画像層出力モジュール１３、出力ファイル形成モジュール７５を有している。
【００４４】
文字層出力モジュール８７は、代表文字決定モジュール７２、拡大モジュール８３、フォント登録モジュール８４、文字コード決定モジュール７４を有している。
拡大モジュール８３は、代表文字決定モジュール７２、フォント登録モジュール８４と接続されており、代表文字決定モジュール７２から代表文字の文字画像を受け取り、それに対して拡大した文字画像を生成する。そして、その拡大した文字画像をフォント登録モジュール８４へ渡す。ここでの拡大とは、位相が異なる複数の類似文字画像からより高解像度の文字画像を生成することである。なお、拡大モジュール８３が行う拡大処理については、図９、図１０を用いて後述する。
フォント登録モジュール８４は、拡大モジュール８３、文字コード決定モジュール７４、出力ファイル形成モジュール７５と接続されており、拡大モジュール８３から拡大した代表文字の文字画像と、文字コード決定モジュール７４からその代表文字の文字コードを受け取り、フォントファイルを生成して出力ファイル形成モジュール７５へ渡す。受け取る文字画像が拡大モジュール８３によって拡大された代表文字画像であること以外は、第３の実施の形態におけるフォント登録モジュール７３と同様である。
【００４５】
図９を用いて、第４の実施の形態の処理例を説明する。
文字切り出しモジュール７１は、複数の「２」という文字が記載された入力画像９１０を対象画像とする。文字切り出しモジュール７１は、図９に示すように、文字画像９１１、９１２、９１３を入力画像９１０の解像度で切り出す。そして、文字サイズ／文字位置データ９５０を抽出する。この文字サイズ／文字位置データ９５０を出力ファイル形成モジュール７５へ渡す。
代表文字決定モジュール７２は、これらの複数の「２」という文字画像が類似していると判定する。
文字コード決定モジュール７４は、「２」という文字画像の文字コード・データ９４０を割り当てる。この文字コード・データ９４０をフォント登録モジュール８４、出力ファイル形成モジュール７５へ渡す。
拡大モジュール８３は、文字画像９１１、９１２、９１３の重心（重心線９１１Ａ等の交差点）を求め、その重心を一致させるように位相を移動して高解像度文字画像９２０を生成する。
フォント登録モジュール８４は、高解像度文字画像９２０からアウトライン情報であるフォント・データ９３０を生成する。
出力ファイル形成モジュール７５は、フォント・データ９３０、文字コード・データ９４０、文字サイズ／文字位置データ９５０から出力ファイルを形成する。
【００４６】
図１０を用いて、拡大モジュール８３の処理例を説明する。
図１０（Ａ）は、入力画像９１０の解像度（第１の解像度）における標本化格子（第１の標本化格子１００１、第１の標本化格子１００２、第１の標本化格子１００３、第１の標本化格子１００４）及び文字画像の重心位置（重心１００１Ａ、重心１００２Ａ、重心１００３Ａ、重心１００４Ａ）を表している。
拡大モジュール８３は、まず、図１０（Ｂ）に示すように、文字画像の重心に基づいて、４つの標本化格子の位相を移動させる。
【００４７】
図１０（Ｃ）、図１０（Ｄ）は、第１の解像度よりも高い第２の解像度の標本化格子を設定する手法の例を説明する図である。図１０（Ｃ）に記載された丸数字（１、２、３、４）は、第１の解像度における文字画像の値を例示している。ここで、文字画像は、丸数字１が第１の解像度における標本化格子の格子点上に表されるようにプロットされている。
図１０（Ｄ）において、第２の標本化格子１００６は高解像度文字画像の標本化格子である。
拡大モジュール８３は、第１の解像度における４つの標本化格子の位相が移動されると、図１０（Ｃ）に示すように、第２の解像度における標本化格子を設定し、図１０（Ｄ）に示すように、文字画像の重心が一致するように、第２の解像度における標本化格子の位相を移動させる。
【００４８】
図１０（Ｅ）は、第２の解像度における文字画像の値を算出する手法の例を説明する図である。第２の標本化格子１００６Ａ、第２の標本化格子１００６Ｂ、第２の標本化格子１００６Ｃ、第２の標本化格子１００６Ｄ内の中心にある丸数字は、第２の解像度における文字画像の値を例示しているものである。ここで、第２の解像度における文字画像は、中心にある丸数字が、第２の解像度における標本化格子の格子点上に表されるように示されている。
そして、拡大モジュール８３は、第１の解像度における各文字画像の位相に基づいて、その各文字画像の画素値から、第２の解像度における文字画像の画素値を補間する。本例では、拡大モジュール８３は、最近傍補間法を適用して、第２の解像度における文字画像の画素値を補間する。すなわち、拡大モジュール８３は、第１の解像度における文字画像の４つの値（図１０（Ｅ）では、丸数字の１、２、３、４）のうち、第２の解像度における標本化格子点に最も近い値を選択して、第２の解像度における文字画像の値とする。具体的には、第２の標本化格子１００６Ａでは、中心に最も近い値は「１」であり、「１」を採用している（丸数字は１である）。なお、補間方法は、この方法に限定されるものではなく、その他の方法（例えば、線形補間法など）を適用してもよい。
なお、拡大モジュール８３の処理は、前述の処理に限られず、線形補間、キュービックコンボリューション等でもよい。
【００４９】
図１１を参照して、実施の形態のハードウェア構成例について説明する。図１１に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１１１７と、プリンタなどのデータ出力部１１１８を備えたハードウェア構成例を示している。なお、このハードウェア構成は、他の実施の形態についても適用する。
【００５０】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０１は、前述の実施の形態において説明した各種のモジュール、すなわち、文字切り出しモジュール１１、文字層出力モジュール１２、２値画像層出力モジュール１３、出力ファイル形成モジュール１４等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５１】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１０２は、ＣＰＵ１１０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１０３は、ＣＰＵ１１０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１１０４により相互に接続されている。
【００５２】
ホストバス１１０４は、ブリッジ１１０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１１０６に接続されている。
【００５３】
キーボード１１０８、マウス等のポインティングデバイス１１０９は、操作者により操作される入力デバイスである。ディスプレイ１１１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などから成り、各種情報をテキストやイメージ情報として表示する。
【００５４】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１１１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１１０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクは、入力画像、文字画像、出力ファイルなどが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５５】
ドライブ１１１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１１１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１１０７、外部バス１１０６、ブリッジ１１０５、及びホストバス１１０４を介して接続されているＲＡＭ１１０３に供給する。リムーバブル記録媒体１１１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５６】
接続ポート１１１４は、外部接続機器１１１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１１１４は、インタフェース１１０７、及び外部バス１１０６、ブリッジ１１０５、ホストバス１１０４等を介してＣＰＵ１１０１等に接続されている。通信部１１１６は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部１１１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１１１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００５７】
なお、図１１に示すハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１１に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１１に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００５８】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
前述の実施の形態は、以下のように把握してもよい。
[１]  画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、
前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、
前記ベクトル変換手段によって変換されたベクトル情報及び前記画像データの中から前記画像抽出手段によってはベクトル情報に変換する画像として抽出されなかった画像を出力する出力手段
を具備し、
前記画像抽出手段は、
画像データから画素の塊を切り出す切出手段と、
前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、
前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段
を具備し、
前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換する
ことを特徴とする画像処理装置。
[２]  コンピュータを
画像データの中から、ベクトル情報に変換する画像を抽出する画像抽出手段と、
前記画像抽出手段によって抽出された画像をベクトル情報に変換するベクトル変換手段と、
前記ベクトル変換手段によって変換されたベクトル情報及び前記画像データの中から前記画像抽出手段によってはベクトル情報に変換する画像として抽出されなかった画像を出力する出力手段
として機能させ、
前記画像抽出手段は、
画像データから画素の塊を切り出す切出手段と、
前記切出手段によって切り出された画素の塊から同様の画素の塊をまとめて代表の画素の塊を生成する代表画像生成手段と、
前記代表画像生成手段によって生成された代表の画素の塊と類似しており位相が異なる複数の画像から、該画像よりも高い解像度の画像を生成する高解像度画像生成手段
を具備し、
前記ベクトル変換手段は、前記高解像度画像生成手段によって生成された画像をベクトル情報に変換する
ことを特徴とする画像処理プログラム。
【図面の簡単な説明】
【００５９】
【図１】第１の実施の形態の構成例についての概念的なモジュール構成図である。
【図２】第１の実施の形態における文字切り出しモジュール内の構成例についての概念的なモジュール構成図である。
【図３】第１の実施の形態における文字層出力モジュール内の構成例についての概念的なモジュール構成図である。
【図４】第１の実施の形態における出力ファイルのデータ構造の例を示す説明図である。
【図５】文字層データと２値画像層データの例を示す説明図である。
【図６】第２の実施の形態における文字切り出しモジュール内の構成例についての概念的なモジュール構成図である。
【図７】第３の実施の形態の構成例についての概念的なモジュール構成図である。
【図８】第４の実施の形態の構成例についての概念的なモジュール構成図である。
【図９】文字層出力モジュールの処理例を示す説明図である。
【図１０】拡大モジュールによる高解像度文字画像データの生成処理例を示す説明図である。
【図１１】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【符号の説明】
【００６０】
１１…文字切り出しモジュール
１２…文字層出力モジュール
１３…２値画像層出力モジュール
１４…出力ファイル形成モジュール
２１…画素塊抽出モジュール
２２…画素塊サイズ検証モジュール
２３…画素塊消去モジュール
３１…フォント登録モジュール
３２…文字コード決定モジュール
３３…文字層形成モジュール
６１…文字切り出しモジュール
６２…画素塊サイズ検証モジュール
６３…画素塊復活モジュール
７１…文字切り出しモジュール
７２…代表文字決定モジュール
７３…フォント登録モジュール
７４…文字コード決定モジュール
７５…出力ファイル形成モジュール
７６…文字層出力モジュール
８１…文字切り出しモジュール
８２…代表文字決定モジュール
８３…拡大モジュール
８４…フォント登録モジュール
８５…文字コード決定モジュール
８６…出力ファイル形成モジュール
８７…文字層出力モジュール
８８…２値画像層出力モジュール
【図１】
0004930288.tif 000002
【図２】
0004930288.tif 000003
【図３】
0004930288.tif 000004
【図４】
0004930288.tif 000005
【図５】
0004930288.tif 000006
【図６】
0004930288.tif 000007
【図７】
0004930288.tif 000008
【図８】
0004930288.tif 000009
【図９】
0004930288.tif 000010
【図１０】
0004930288.tif 000011
【図１１】
0004930288.tif 000012