(57)【要約】【課題】  照合する画像間の分布形状を考慮した類似性を色別に求めることを可能とし、高精度で、かつ画像変形に対しても安定的に画像照合することができる画像処理装置および方法を提供する。【解決手段】  この画像処理装置および方法では、行または列ごとに同じ色の画素を計数し、各色につきヒストグラムを生成し、ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、ヒストグラムを複数のシンボルからなるシンボル列へ変換し、各色につき得られたシンボル列を結合し、各画像につき得られた、結合されたシンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価する。【選択図】  図１８
2010003244.tif 000002
【特許請求の範囲】
【請求項１】
行および列方向に複数の画素が配列してなる画像間の類似評価を行う画像処理装置であって、
前記行または列ごとに同じ色または同じ階調の画素を計数し、各色または各階調につきヒストグラムを生成する生成部と、
前記ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、前記ヒストグラムを複数の前記シンボルからなるシンボル列へ変換し、前記各色または各階調につき得られた前記シンボル列を結合する変換部と、
各画像につき得られた、結合された前記シンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価する評価部とを備える、画像処理装置。
【請求項２】
前記変換部は、総画素数が多い色順または階調順に、前記シンボル列を結合する、請求項１に記載の画像処理装置。
【請求項３】
前記生成部は、前記行ごとに同じ色または同じ階調の画素を計数し、前記各色または各階調につき行方向に係るヒストグラムを生成するとともに、前記列ごとに同じ色または同じ階調の画素を計数し、前記各色または各階調につき列方向に係るヒストグラムを生成する、請求項１または２に記載の画像処理装置。
【請求項４】
前記各色または各階調のヒストグラムから各色または各階調の総画素数を計算し、各色または各階調間の総画素数の差が閾値を超えるか否かを判定する判定部をさらに備え、
前記変換部は、前記差が前記閾値を超えないと判定された場合、前記各色または各階調のシンボル列を結合せず、前記評価部は、前記各色または各階調のシンボル列をそれぞれ照合する、請求項１〜３のいずれか１項に記載の画像処理装置。
【請求項５】
行および列方向に複数の画素が配列してなる画像間の類似評価を、画像処理装置により行う方法であって、前記画像処理装置は、生成部と、変換部と、評価部とを備えており、
前記生成部により、前記行または列ごとに同じ色または同じ階調の画素を計数し、各色または各階調につきヒストグラムを生成するステップと、
前記変換部により、前記ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、前記ヒストグラムを複数の前記シンボルからなるシンボル列へ変換し、前記各色または各階調につき得られた前記シンボル列を結合するステップと、
前記評価部により、各画像につき得られた、結合された前記シンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価するステップとを含む、画像処理方法。
【請求項６】
前記結合するステップでは、総画素数が多い色順または階調順に、前記シンボル列を結合する、請求項５に記載の画像処理方法。
【請求項７】
前記生成するステップでは、前記行ごとに同じ色または同じ階調の画素を計数し、前記各色または各階調につき行方向に係るヒストグラムを生成するとともに、前記列ごとに同じ色または同じ階調の画素を計数し、前記各色または各階調につき列方向に係るヒストグラムを生成する、請求項５または６のいずれか１項に記載の画像処理方法。
【請求項８】
前記各色または各階調のヒストグラムから各色または各階調の総画素数を計算し、各色または各階調間の総画素数の差が閾値を超えるか否かを判定するステップをさらに含み、
前記結合するステップでは、前記差が前記閾値を超えないと判定された場合、前記各色または各階調のシンボル列を結合せず、前記評価するステップでは、前記各色または各階調のシンボル列をそれぞれ照合する、請求項５〜７のいずれか１項に記載の画像処理方法。
【請求項９】
請求項５〜８のいずれか１項に記載の画像処理方法を実現するための画像処理装置により読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似画像検索の高速化を図ることができ、画像変形に対しても安定的に画像照合を行うことができる画像処理装置、画像処理方法およびその方法を実現するための装置読み取り可能なプログラムに関する。
【背景技術】
【０００２】
画像データベースからの類似画像の検索は、一般に、画像データに関連付けられたキーワードに基づき行われている。このキーワードに基づく検索は、高い精度で類似画像を検索することができるものの、画像データの記憶の際、その画像データにキーワードを関連付けて記憶しなければならず、キーワードが関連付けられていない場合には、１つずつ画像を確認しなければならず、ユーザにとって利便性が悪いという問題があった。
【０００３】
この問題を解決するべく、画像から画像特徴量を抽出し、その画像特徴量を用いて類似画像を検索する技術が提案されている（例えば、特許文献１および非特許文献１参照）。これらは、画像の構図と色とを同時に考慮して類似画像検索を行う技術を開示するものであり、画像特徴量としては、画像内での全体的な色分布の状況を示すヒストグラムを用いている。ヒストグラムは、固定色ごとの画素数（度数）を求め、画像の全画素数で正規化したものである。
【０００４】
特許文献１には、異なる画像データをそれぞれ複数のブロックに分割し、ブロックごとに取得された画像データの画像特徴量を所定の順序で並べて特徴量行列を作り、その特徴量行列を構成する各特徴量列間の距離を、ＤＰマッチングを用いて算出し、算出した距離を２次元に配列してラインペナルティマトリクスを生成して、異なる画像データの類似度を、このマトリクスを用いてＤＰマッチングにより算出する装置および方法が記載されている。このように、各特徴量列間の距離を配列したマトリクスを用いて類似度を算出することで、画像特徴量の位置情報を考慮しつつ、その位置情報にある程度の違いがあった場合でも、高精度かつ高速に検索することができる。
【０００５】
非特許文献１には、提示した例示画像から得られる特徴量とデータベース中の画像の特徴量との比較を行い、特徴量間の類似性の大きいデータベース中の画像を求めることにより、類似検索を行うことが記載されている。この技術は、最初に、３０枚の画像をデータベース中からランダムに選んで表示し、ユーザがこの中から必要な画像のイメージに近いものを何点か選択する。次に、これらの画像から得られる特徴量に基づいて検索のための重み付けを決定し、これらを用いて類似判定基準を作成し検索を行うものである。このように、ユーザが選択した複数枚の画像の特徴量から検索の際の類似判定に用いる重み付けを自動的に設定し、その重み付けを用いて検索を行うことができるため、ユーザの意図を反映した検索を可能にし、また、簡単で、かつ良好な結果を得ることができる。
【特許文献１】特開２００６−１４６７１５号公報
【非特許文献１】南部藤太朗、八村広三郎、「類似判定基準の自動設定を行う画像検索システム」、[online]、平成１４年９月、人文科学とコンピュータシンポジウム、[平成２０年６月１２日検索]、インターネット＜URL:http://www.arc.ritsumei.ac.jp/img/nambu2002.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１では、画像データを複数のブロックに分割し、ブロック単位の照合結果を求めることにより、空間分布も考慮した照合を実現しようとしているが、各ブロック間の照合を多数回実施しなければならず、さらには、照合する画像間において分割単位が一致しない場合にはブロック単位の照合が失敗するおそれもある。これを回避するため、分割単位を小さくすることができるが、分割単位を小さくすると照合すべきブロック数が増加し、さらなる計算量の増加を招くという問題がある。
【０００７】
また、上記非特許文献１では、各固定色の画像平面上のマクロな分布状況を示すものとして、固定色ごとに画像の縦・横両方に射影ヒストグラムを求め、その射影ヒストグラムの分布の中央値（メディアン）を与える座標位置を求める方法が記載されているが、この方法では、色の分布の中央値を与える座標位置を求めるのみで、分布形状そのものを特徴付けるものではなく、高い精度で照合を行うには不十分である。
【０００８】
したがって、照合する画像間の分布形状を考慮した類似性を色別に求めることを可能とし、高精度で、かつ画像変形に対しても安定的に画像照合することができる画像処理装置や画像処理方法等の提供が望まれている。
【課題を解決するための手段】
【０００９】
本発明の発明者は、鋭意検討の結果、色別に複数のヒストグラムを求め、それら複数のヒストグラムをシンボルが時系列に並ぶシンボル列によって表現し、複数のシンボル列を結合して１つの識別情報を生成し、色別に形成されたシンボル列を結合してなる識別情報を照合することで、高速で、かつ正確に画像間の比較処理を実行することができ、画像変形に対しても安定的に画像照合を行うことができることを見出した。
【００１０】
本発明は、上記のことを見出すことによりなされたものであり、上記課題は、本発明の画像処理装置および画像処理方法、さらにはその方法を実現するための装置読み取り可能なプログラムを提供することにより解決することができる。
【００１１】
すなわち、本発明によれば、行および列方向に複数の画素が配列してなる画像間の類似評価を行う画像処理装置であって、行または列ごとに同じ色または同じ階調の画素を計数し、各色につきヒストグラムを生成する生成部と、ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、ヒストグラムを複数のシンボルからなるシンボル列へ変換し、各色につき得られたシンボル列を結合する変換部と、各画像につき得られた、結合されたシンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価する評価部とを備える、画像処理装置が提供される。この生成部および変換部では、各色につきヒストグラムを生成し、各色につきシンボル列を得ることに限られるものではなく、グレー画像の各階調につきヒストグラムを生成し、各階調につきシンボル列を得ることもできる。
【００１２】
上記の変換部は、総画素数が多い色順に、シンボル列を結合することができる。総画素数が多い色のシンボル列は、総画素数の少ない色のシンボル列に比較して、画像データの特徴を有している。同じ画像なら、行または列方向ごとに同じようなシンボル列になるため、変化が激しい総画素数が多い色のシンボル列や、変化に乏しい総画素数が少ない色のシンボル列も、同じ傾向を示す。仮に、比較する原稿同士で原稿方向が異なっていても、シンボル列の長さ順に従って結合しておけば、照合すべき方向同士が並ぶ順になる可能性が高い。このことから、原稿方向を揃える処理が不要となり、都合がよい。その結果、類似画像検索の高速化を図ることができる。
【００１３】
上記の生成部は、行ごとに同じ色の画素を計数し、各色につき行方向に係るヒストグラムを生成するとともに、列ごとに同じ色の画素を計数し、各色につき列方向に係るヒストグラムを生成することが好ましい。このように複数の方向に係るヒストグラムを生成することで、より特徴が表れやすく、比較処理を高速に実行することができ、より高精度で、かつ画像変形に対しても類似評価を行うことができる。
【００１４】
また、画像処理装置は、各色のヒストグラムから各色の総画素数を計算し、各色間の総画素数の差が閾値を超えるか否かを判定する判定部をさらに備えることができる。この場合、変換部は、その差が閾値を超えないと判定された場合、各色のシンボル列を結合せず、評価部は、各色のシンボル列をそれぞれ照合する。
【００１５】
本発明によれば、行および列方向に複数の画素が配列してなる画像間の類似評価を、画像処理装置により行う方法も提供することができる。この画像処理方法は、上記の生成部と変換部と評価部とを備える画像処理装置により行うことができ、行または列ごとに同じ色または同じ階調の画素を計数し、各色につきヒストグラムを生成するステップと、ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、ヒストグラムを複数のシンボルからなるシンボル列へ変換し、各色につき得られたシンボル列を結合するステップと、各画像につき得られた、結合されたシンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価するステップとを含む。
【００１６】
また、上記の画像形成方法を実現するための画像形成装置により読み取り可能なプログラムとして提供することもでき、そのプログラムが記録された画像処理装置により読み取り可能な記録媒体としても提供することができる。
【発明を実施するための最良の形態】
【００１７】
図１は、画像処理装置の１つの実施形態を示した図である。図１では、パーソナルコンピュータ（ＰＣ）１０、１１、１２がネットワーク１３を介して互いに接続されている。ＰＣ１０、１１、１２は、画像処理装置で行うべき画像間の類似評価を行う処理の一部をそれぞれが行うことができるように構成されている。
【００１８】
ＰＣ１０、１１、１２のそれぞれは、図２に示すように、画像間の類似評価を行うために構成されたプログラムを実行するＣＰＵ２０と、そのプログラムを格納するメモリ２１と、画像データ等を格納する外部記憶装置としてのＨＤＤ２２、ＣＤ−ＲＯＭドライブ２３、ＦＤドライブ２４と、ネットワーク１３に接続された他のＰＣとの通信を行うための通信装置２５と、ユーザに対し、処理の内容や処理結果を表示するための表示装置２６と、ユーザが情報等を入力するための入力装置２７とを備え、バス２８を介して互いに接続されている。
【００１９】
ＣＰＵ２０は、上記プログラムのほか、各種制御処理を実行し、メモリ２１は、そのための制御プログラムや、ブートプログラム、その他の各種データを格納する。なお、ＰＣ１０、１１、１２が備えるＣＰＵは、上記プログラムを実行することにより、後述するヒストグラムを生成する生成部、シンボル列へ変換する変換部および両画像が類似すると評価する評価部として機能する。この実施形態の場合、例えば、ＰＣ１０のＣＰＵが、生成部として機能し、ＰＣ１１のＣＰＵが、変換部として機能し、ＰＣ１２のＣＰＵが、評価部として機能するように構成することができる。このように各ＰＣ１０、１１、１２に各機能を分担させることに限られるものではなく、１つのＰＣですべての機能を実現することもできる。
【００２０】
この画像処理装置は、行および列方向に複数の画素が配列してなる画像間の類似評価を行う装置であり、上述した生成部、変換部、評価部を備える。生成部は、行または列ごとに同じ色または同じ階調の画素を計数し、各色または各階調につきヒストグラムを生成する。変換部は、ヒストグラムにおいて計数された各画素数を予め設定された画素数範囲に応じて量子化し、量子化した各値に対してシンボルを割り当てて、ヒストグラムを複数のシンボルからなるシンボル列へ変換し、各色または各階調につき得られたシンボル列を結合する。そして、評価部は、各画像につき得られた、結合されたシンボル列を照合し、共通するシンボルが指定数以上ある場合に、両画像が類似すると評価する。
【００２１】
ここで、画像間の類似評価を含む処理の一例として画像検索処理について説明する。図３（ａ）は、原稿画像を例示した図である。この原稿画像に対し、特定の行画像を検索する場合を考える。特定の行画像とは、原稿画像中と同一である必要はなく、解像度が異なっていても、部分的な行として形状が同じであればよく、画像として完全一致することに限定されない。ここでは、１行全体を文字領域の単位として使用しているが、これに限られるものではなく、その１行のうちのある一部分や、２行以上であってもよい。
【００２２】
図３（ｂ）は、原稿画像中の黒画素で示される部分に外接する外接矩形を表示した図である。黒画素が連続して形成される部分を１つの字体と認識し、その字体を４本の線分により取り囲んで外接矩形を構成する。「文」や「も」は、すべての線がつながっているため、１つの字体として認識される。これに対し、「は」、「字」、「紙」は、これらの字を構成する線と線の間に隙間があり、黒画素がつながっていないため、黒画素がつながっている部分を１つの字体として認識し、その字体を４本の線分により取り囲んで外接矩形を構成する。
【００２３】
このようにして構成された外接矩形を、近隣同士連結し、これを行に成長させると、図３（ｃ）に示すような１行全体を取り囲む矩形となる。この矩形で囲まれた文字列を抽出する処理を、行切り出し処理という。
【００２４】
図４は、上記のようにして切り出した文字列画像と、その射影ヒストグラムとを例示した図である。行方向を矢線Ａに示す方向とし、黒画素を計数する方向、すなわち列方向を矢線Ｂに示す方向とする。切り出した文字列は、図４（ａ）に示すように「通信管理レポ」であり、１列ごとに矢線Ｂに示す方向へ黒画素の数が計数される。図４（ｂ）に示す射影ヒストグラムは、縦軸を黒画素数、横軸を行方向位置として、計数された黒画素の数を、行方向位置に対応させて図示したものである。文字に縦線があると、黒画素が矢線Ｂに示す方向に連続して並んでいるため黒画素数が多く、文字と文字との間の隙間部分では、黒画素が矢線Ｂに示す方向に１つも存在しないので、黒画素数は０となっている。なお、図４（ｂ）には、射影ヒストグラム中の各点がつなぎ合わされ、波形が形成されているのが示されている。
【００２５】
図４（ｂ）に示す射影ヒストグラムを参照すると、「通信管理レポ」の各文字に対応して波形が形成されるが、その波形は、文字によって異なっている。「通」と「レ」ではその波形は大きく異なっている。このことは、この射影ヒストグラムが、文字画像の特徴を抽出するために利用できることを意味する。なお、この射影ヒストグラムは、その波形を特徴とするものであるから、文字画像として文字間の分割を前提とするものではなく、一行に並ぶ文字列であれば、手書き文字、筆記体、アラビア文字等であってもよい。
【００２６】
また、射影ヒストグラムは、矢線Ｂに示す方向に黒画素数を計数するため、同じ文字であっても画像サイズが異なれば黒画素数が異なることとなるが、隣り合う黒画素数の相対的な関係は同じであるから、画像サイズに依存しないことがわかる。
【００２７】
射影ヒストグラムは、黒画素数を計数するものであるから、１画素単位で変化する。黒画素数は、画像を読み取る際の読み取りノイズやかすれ等によって容易に変化する。このため、精度的に問題が生じるように思われるが、射影ヒストグラムの波形形状は概ね安定している。よって、射影ヒストグラムの正確な値を用いて、波形を照合することに意味はなく、およその値を利用しても波形形状の特徴は十分に表現可能である。
【００２８】
このことから、射影ヒストグラムの各黒画素数を、予め設定された画素数の範囲に割り当てられた固定段階の値へ量子化し、各黒画素数を、それらより少ない固定段階の値へと変換することができる。量子化は、行方向の座標ｉの位置の射影ヒストグラムの値（黒画素数）をｙｉとし、例えば、以下の基準に基づき５段階の値に変換することにより行うことができる。
【００２９】
（１）ｙｉが０以上１０未満のとき、０段階。
（２）ｙｉが１０以上２０未満のとき、１段階。
（３）ｙｉが２０以上３０未満のとき、２段階。
（４）ｙｉが３０以上４０未満のとき、３段階。
（５）ｙｉが４０以上５０未満のとき、４段階。
【００３０】
図５に、５段階の値へ変換した後の図を示す。Ｃで示された波形は、黒画素数の値を示し、Ｄで示された波形は、量子化した後の波形を示す。図５を参照すると、量子化しても、波形形状の特徴を十分に表現できていることがわかる。
【００３１】
このようにして量子化を行うと、各射影ヒストグラムの値は、５段階の値に制限され、その結果、各段階をシンボル化することが可能となる。各段階の値は、以下の規則に基づきシンボル化することができる。
【００３２】
（i）  ０段階のとき、ａへ変換。
（ii） １段階のとき、ｂへ変換。
（iii）２段階のとき、ｃへ変換。
（iv） ３段階のとき、ｄへ変換。
（v）  ４段階のとき、ｅへ変換。
【００３３】
この規則に従うことで、言語を問わず、一般的な文字領域画像はすべて、射影ヒストグラムへ変換し、量子化し、シンボル化するという過程を経て、文字領域画像は、例えば「ａｂａａｂｃｃｅｅａａ・・・」という文字画像の特徴を保持したまま、「ａ」、「ｂ」、「ｃ」、「ｄ」、「ｅ」といった文字や記号等からなるシンボルが並んだシンボル列へと変換することができる。
【００３４】
このことから、２つの文字領域画像を比較する作業、例えば、画像検索においては被検索（データベース）領域画像と、検索（クエリー）領域画像の両方をシンボル化し、シンボル列へと変換することで、変換された２つのシンボル列を照合するのみで容易に、かつ高い精度で画像間の類似評価を行うことができる。
【００３５】
なお、シンボル列の照合は、例えば、従来から開発されているテキスト処理の技術によって実現可能である。その１つとして、動的計画法に基づく文字列照合法を挙げることができる。この方法は、２つの文字列間の距離を算出し、その距離を利用して２つの文字列の類似性を判断するものである。距離尺度としては、編集距離等を挙げることができる。また、N-gram法を用いて２つの文字列間の類似性を判断することもできる。N-gram法は、検索対象を単語単位ではなく、文字数がＮ個からなるＮ文字単位で分解し、その文字単位の出現頻度を求める方法である。
【００３６】
図６を参照して、N-gram法を利用した文字列照合処理について説明する。図６（ａ）は、「ａ」、「ｂ」、「ｃ」からなる文字列を例示した図である。固定文字数（ここでは、３文字）の部分文字列（trigram）を１単位とし、文字列中にそのtrigramが出現した回数を計数し、図６（ｂ）に示すN-gramリストを作成している。その計数結果は、trigramが「ａｂｃ」については２回、「ｂｃａ」については２回、「ｃａａ」については２回、「ａａｂ」については１回となっている。
【００３７】
このN-gramリストは、２つの文字列が類似しているほど、その結果が類似する。なお、類似するか否かの評価は、例えば、２つのN-gramリストＡ、Ｂにおいて出現回数が一致する部分文字列の数を計数し、その数が、指定した数以上か否かを基準に行うことができる。上記の例で言えば、指定数が３で、N-gramリスト中の「ａｂｃ」、「ｂｃａ」、「ｃａａ」、「ａａｂ」が、一方の画像については２、２、２、１回で、他方の画像については２、１、２、１回であった場合、「ａｂｃ」、「ｃａａ」、「ａａｂ」については２、２、１回で共通しているため、共通する部分文字列の数は３であり、指定数３以上の条件を満たしている。よって、この場合、両画像は類似すると評価する。
【００３８】
図６（ｃ）には、文書Ａと文書Ｂとが示されており、これらの文書に含まれる文字領域をシンボル化してシンボル列で表現されているのが示されている。文書から文字領域を抽出する方法としては、これまで知られたいかなる方法でも用いることができるが、領域識別やレイアウト分析等の文字認識分野において一般的な技術を採用することができる。これらのシンボル列をtrigramが出現した回数を計数し、N-gramリストを作成し、共通する部分文字列の数が指定数以上であるか否かを判定することにより、それら２つの文字列の一致度を評価することができる。
【００３９】
N-gramリストの照合方法としては、順位相関係数を用いる方法がある。順位相関係数は、データが順位（ランク）という特殊な場合の相関係数で、相関係数は、２つの確率変数間の類似性の度合いを示す指標である。この方法については詳述しないが、照合方法としては、以下に例示する方法を用いることができる。
【００４０】
図７を参照して、文書画像照合処理について詳細に説明する。ステップ７００において、処理を開始し、ステップ７１０において、画像の入力を受け付け、ノイズ除去や２値化処理等の必要な処理を行う。次に、ステップ７２０において、レイアウト分析（領域識別）を行い、文字領域を抽出する。文字領域を抽出すると、図３（ｂ）に示す状態となる。そして、ステップ７３０において、文字領域から行画像を抽出する。行画像を抽出すると、図３（ｃ）に示す状態となる。
【００４１】
ステップ７４０において、各行画像中の文字をシンボル化し、それをつなげてシンボル列へ変換する。この変換処理の詳細は、図８を参照して詳細に説明する。ステップ７５０において、変換したシンボル列からN-gramの出現頻度を集計する。そして、ステップ７６０において、比較対象の文書画像から同様にして作成したN-gramの出現頻度の集計結果と照合する。なお、ステップ７５０および７６０における処理は、従来のＤＰマッチングによる文字列間距離測定によっても実現することができる。
【００４２】
ステップ７４０における処理を、図８を参照して説明する。ステップ８００において、抽出された行画像から行高さを推定する。具体的には、行画像の高さや、行内の矩形の最大高さとすることができる。ステップ８１０において、行方向に対して垂直な列方向へ黒画素数を計数し、射影ヒストグラムを作成する。ステップ８２０において、射影ヒストグラムの計数された各黒画素数を、ステップ８００において推定した行高さを使用して量子化する。例えば、矩形の最大高さが５０画素であるとき、その５０画素を上記（１）〜（５）のように５つの段階に分け、量子化することができる。
【００４３】
ステップ８３０において、量子化された各値を各シンボルへ変換し、シンボルが並んだシンボル列を作成する。ステップ８４０において、作成されたシンボル列をデータベースに記録する。ここでは行高さの最大高さを使用して量子化したが、行高さを使用することなく、射影ヒストグラムの最大値を基準に量子化することもできる。
【００４４】
これまで、文字行画像と文字行画像との類似度を計算する一例を示し、説明してきた。なお、文字行画像と文字行画像とを照合することができるのであれば、上記の方法に限定されるものではない。以下、文字行画像と文字行画像とをシンボル列に変換した後、類似度を判定するための照合処理を施すことが可能であるとして、文字行画像だけではなく、２次元画像についても適用可能な方法について説明する。
【００４５】
まず、図９を参照して、従来の照合処理を簡単に説明しておく。図９（ａ）は、フルカラーの２次元画像を例示した図である。従来の処理では、図９（ａ）に示すカラー画像を減色した後、同色の画素のみを抽出した画素において、図９（ｂ）に示すように、行方向および列方向に射影ヒストグラムを求め、その中央値（メディアン）の座標を求め、画像の幅を高さで正規化したものを分布中心とし、それを画像特徴としている。
【００４６】
この従来の処理では、図９（ｂ）を参照してわかるように、画素の分布形状に関係なく中央値の座標のみを画像特徴として使用することから、分布中心は画像の大まかな特徴しか表現できない。このため、２つの画像の色と形状が同じであれば分布中心も同一であることは保証されるが、形状が大きく異なる場合でも分布中心がほぼ同一になるおそれがある。そうすると、形状が大きく異なるにもかかわらず、両画像は類似すると評価されることになる。
【００４７】
そこで、図１０（ａ）に示すように、行方向に求めた射影ヒストグラムと列方向に求めた射影ヒストグラムとを連結し、図１０（ｂ）に示すように、１つの射影ヒストグラムにした後、上述した方法によりシンボル化し、シンボル列へ変換する。このようにすることで、上述した文字行画像同士の照合処理と同様の方法で、類似判断を行うことができる。
【００４８】
画像を構成する各画素は、色情報（例えば、ＲＧＢ値）を有するため、そのＲＧＢ値により画素の色を判定することができ、そのＲＧＢ値に基づき同じ色を有する画素を抽出することができる。つまり、注目する単一色からなる画像を作成し、その画像から射影ヒストグラムを求める。比較対象画像に対しても同様に、その注目する色と同じ色からなる画像を作成し、射影ヒストグラムを作成する。これら２つの射影ヒストグラムを比較し、形状が類似していれば元画像も類似していると判断することができる。
【００４９】
フルカラー（３２ビット）画像で表現可能な色は、１６７７７２１６色と非常に多く、非常に細かい色の違いも区別することができる。特に、写真等の自然画像の場合、高い再現力を伴って描写された画像中に含まれる色の数は、非常に多く、同一色を見つけることが難しい場合もある。同一画像ではなく、類似画像を求めることが目的であれば、多少の色の差は無視した方が類似画像を見つけやすい。このことから、類似する色を１つの代表色で表現するために、減色処理を施す。この減色処理により、画像中に含まれる色数を所望の数に制限し、色の差を考慮する程度を調整することができる。なお、色数を少なく制限すれば制限するほど、色の差が無視される傾向が強くなる。減色アルゴリズムとしては、例えば、メディアンカット減色法や、このメディアンカット減色法に誤差拡散処理を追加した方法や、K-Means法等を挙げることができる。
【００５０】
メディアンカット減色法について簡単に説明すると、ＲＧＢで表される色空間を、まず、赤成分の画素値を大きい順に並べ、全画素を画素数が半分になる箇所を分割面として分割する。同様にして、緑成分の分割面、青成分の分割面を求め、各分割面で分割する。このようにして、分割された色空間が選択すべき色数以下になるまで分割し、選択すべき色数に達したときの分割面を選択されたインデックスとする。インデックス作成後、各画素の色数に対応するインデックスカラーで埋めることにより減色画像を作成することができる。なお、このようにして減色処理を行うと、歪みが生じ、その歪みは輪郭を目立たせる。目立たないようにするために、減色処理後、ディザ処理を施すことができる。
【００５１】
図１１に減色処理が施される画像例を示す。図１１（ａ）は、３２ビットのフルカラー画像である。すなわち、１６７７７２１６色で表現された画像である。図１１（ｂ）は、８色に減色された画像である。この図１１（ｂ）を参照すると、フルカラーから８色に減色されたとしても、印象が大きくことならないことがわかる。フルカラー画像と減色処理された画像では、色数の差が非常に大きいが、人間の感覚ではほぼ類似した画像に見え、このことは、減色処理された画像を照合対象としても、フルカラー画像を照合対象とした場合とほぼ同様な類似性判断結果を得ることができることを意味する。
【００５２】
図１１（ｃ）は、減色された画像のうち、最も画素数が多かった色のみを抽出し、その色を黒色とし、その他の色を白色とした場合の画像である。この最も画素数が多かった色は、この画像を特徴付けるにあたって最も支配的な色となる。この画像からは、周辺が同じ黒色であり、中心に別の白色が略円状にあるという大まかな特徴を認識することができる。
【００５３】
図１１（ｄ）は、２番目に画素数が多かった色を抽出し、その色を黒色とし、その他の色を白色とした場合の画像を示し、図１１（ｅ）は、３番目に画素数が多かった色を抽出し、その色を黒色とし、その他の色を白色とした場合の画像を示す。このように色別に分離することにより画像内に描写されている物体の概形が特徴的に抽出されている。
【００５４】
これは、カラー画像に限られるものではなく、グレー画像についても階調の程度により同様に扱うことができる。図１２は減色処理が施される画像例を示し、図１２（ａ）はオリジナルのグレー画像を、図１２（ｂ）はそのグレー画像の階調数を減じた画像を、図１２（ｃ）は最も画素数が多かった階調のみを抽出し、そのときの色を黒色とし、その他の階調のものを白色とした場合の画像を、図１２（ｄ）は２番目に多かった階調のみを抽出し、そのときの色を黒色とし、その他の階調のものを白色とした場合の画像を、図１２（ｅ）は３番目に多かった階調のみを抽出し、そのときの色を黒色とし、その他の階調のものを白色とした場合の画像を示す。減色処理では、例えば２５６階調のグレー画像を８階調へ減色することができる。
【００５５】
図１１に示した減色処理の詳細を、図１３に示すフローチャートを参照して説明する。ステップ１３００において処理を開始し、まず、ステップ１３１０において、記録すべき画像データがなくなったかを判定する。なくなった場合は、ステップ１３８０へ進み、この処理を終了する。記録すべき画像データがまだ存在する場合、ステップ１３２０へ進み、まだ記録されていない画像データを読み込む。次に、ステップ１３３０へ進み、読み込んだ画像データに対し、減色アルゴリズムを適用し、減色処理を行う。
【００５６】
ステップ１３４０において、同じ画素値、すなわち同じ色から構成される画像を色別に作成する。これは、最も画素数が多かった色のみを抽出し、その色を黒色とし、その他の色を白色とした場合の画像や、２番目に多かった色のみを抽出し、そのときの色を黒色とし、その他の階調のものを白色とした場合の画像といったように、色別の画像を作成する。
【００５７】
ステップ１３５０において、異なり色数のリストを作成するために、色の種類を色情報として記録する。画像によっては、赤味がかったものや、青味がかったものがあり、赤味がかったものの場合、減色に際し、代表色として赤系の色が多く選択され、緑や青系の色の選択は少なくなる。このため、色情報として記録されていない色も存在し、このような色は新色として追加される。ステップ１３６０において、単色画像の画像特徴を抽出する。具体的には、まず、各画像の各列につき、黒画素数を計数して、各色のヒストグラムを生成する。この画像ヒストグラムを生成する処理は生成部が行う。そのヒストグラムの各値を段階に分け、量子化し、シンボル化する。シンボル化したものをつなぎ合わせ、シンボル列へ変換する。このシンボル列への変換処理は変換部が行う。ステップ１３７０において、そのシンボル列を色情報とともにデータベースに記録する。データベースは、図１に示すいずれかのＰＣが備える記憶装置、ネットワーク１３に接続された別途設けられる記憶装置、図２に示すＨＤＤ等とすることができる。その後、再びステップ１３１０へ戻り、記録すべき画像データが存在するかを判定する。
【００５８】
次に、図１４を参照して、データベースに記録された画像の色情報を量子化し、色コードブックを作成する処理について説明する。この処理は、図１３に示す減色処理によりデータベースに色情報を記録した後に行うことができる。
【００５９】
ステップ１４００において処理を開始し、ステップ１４１０で、図１３のステップ１３５０において記録した色情報を読み込む。ステップ１４２０において、ベクトル量子化法（例えば、ＬＢＧ法）を用いて、色情報から代表色リストを作成する。このベクトル量子化法は、サンプルをＮ個ずつ取り込み、Ｎ次元のベクトルとし、全てのサンプルを取り込んだ後、符号化する数であるＭ個に各ベクトルをクラスタリングし、Ｍ個に分けられたクラスタの各々から１つずつ代表ベクトルを決め、そのクラスタ内の他のベクトルをその代表ベクトルへ置き換え、その代表ベクトルを符号化することにより量子化する。したがって、ステップ１４２０では、読み込んだ色情報をＮ次元のベクトルとし、Ｍ個のクラスタに分け、各クラスタにつき代表ベクトルを決定し、その代表ベクトルを符号化することにより量子化して代表色を決定し、それをリスト化することで、代表色リストを作成する。クラスタは、近似した色の集合で、代表色は、そのクラスタを代表する色である。
【００６０】
ステップ１４３０において、代表色リストを色コードブックとして記録し、ステップ１４４０で処理を終了する。
【００６１】
図１５を参照して、データベースに記録された画像の色情報を量子化する処理について説明する。ステップ１５００において処理を開始し、ステップ１５１０で、未処理の画像特徴データがあるかを判定する。未処理の画像特徴データがない場合には、ステップ１５５０へ進み、この処理を終了する。
【００６２】
ステップ１５１０で未処理の画像特徴データが存在する場合、ステップ１５２０へ進み、データベースから画像特徴データと色情報とを読み込む。ステップ１５３０で、図１４のステップ１４３０にて作成した色コードブックを用いて、色情報を量子化する。量子化された色情報は、代表色リストのどの色で代替するかを決定する。
【００６３】
ステップ１５４０で、画像特徴データと色情報と量子化した色情報とを関連付けて記録する。その後、再びステップ１５１０へ戻り、未処理の画像特徴データが存在するかを判定する。
【００６４】
図１６を参照して、この量子化した結果を用いて行う検索処理について説明する。ステップ１６００において処理を開始し、ステップ１６１０で、まず、質問画像データを読み込む。例えば、画像をスキャンすることにより、質問画像データを読み込むことができる。ステップ１６２０で、その質問画像に対し、減色処理を施す。上述した減色アルゴリズムを適用することにより、減色処理を施すことができる。ステップ１６３０で、図１１（ｃ）〜（ｅ）に示すような色別の画像データを生成し、ステップ１６４０で、図１４のステップ１４３０にて作成した色コードブックを用いて、色別に色情報を量子化する。そして、ステップ１６５０で、色別の画像データの画像特徴を抽出する。このとき、生成部は、色別の画像データからヒストグラムを生成し、変換部は、画像特徴であるシンボル列への変換を行う。
【００６５】
次に、ステップ１６６０で、質問画像の画像特徴を、データベースに記録されている画像特徴と照合し、類似画像の検索を行う。すなわち、質問画像から変換されたシンボル列を、データベースに記録されているシンボル列と照合し、シンボル列中のシンボルがどの程度一致しているかを判断して、類似画像を検索する。その際、量子化した色情報が一致することが必要であるが、ヒストグラム形状の類似性を色別に判定すると、色別に類似度を算出する必要があり、さらに、色別の類似度から総合的類似度を算出する必要がある。これでは高速検索を行うことができない。このため、変換部は、色別に作成されたヒストグラム形状から求めたシンボル列を、画素数の多い色順に連結することにより、１つのシンボル列にまとめる。変換部が１つにまとめた後、評価部は、１つにまとめたシンボル列を照合し、それらシンボル列間の類似性を評価する。
【００６６】
画像を色別に分離してから、色別にヒストグラム形状を求め、シンボル列に変換しているので、シンボルを連結しても複数色からなる元画像から直接、ヒストグラム形状を求め、シンボル列に変換した場合とは異なり、色別の形状特徴は保存されたままである。したがって、形状特徴と色情報とを同時に用いて画像の類似度を評価することができる。このようにすれば、色別に類似度を評価する必要がないため、高速処理を実現することができる。
【００６７】
そのための処理を、図１７を参照して詳細に説明する。図１７は、データベースに画像を記録するためのフローを示した図である。ステップ１７００で処理を開始し、ステップ１７１０で、記録すべき画像データが存在するか否かを判定する。ここで、記録すべき画像データが存在しない場合は、ステップ１８００へ進み、この処理を終了する。ステップ１７１０で、記録すべき画像データが存在する場合、ステップ１７２０へ進み、処理すべき画像データを読み込む。そして、ステップ１７３０で、読み込んだ画像データに対し、減色アルゴリズムを適用する。ステップ１７４０において、同じ画素値（同じ色）から構成される画像を色別に作成する。
【００６８】
その後、ステップ１７５０において、異なり色数リストを作成するために、色の種類を色情報として記録する。新色であれば、色を追加する。ステップ１７６０で、単色画像の画像特徴を抽出する。このとき、生成部は、列ごとに黒画素数を計数し、画素ヒストグラムを作成し、変換部は、画素ヒストグラムの各値（各列における黒画素数）を段階に分け、それをシンボル化し、シンボルをつなぎ合わせてシンボル列へ変換する。
【００６９】
ステップ１７７０で、画素ヒストグラムから色別に画素の総数を求める。ステップ１７８０で、画素数が多い色の順に、予め決定した方向から各色のシンボル列を連結し、１つのシンボル列を作成する。例えば、画素数が多い順に、左側からつなぎ合わせて１つのシンボル列を作成する。
【００７０】
ステップ１７９０で、そのシンボル列（画像特徴）と色情報（減色後の色と量子化後の色の組）をデータベースに記録する。このようにして記録された被検索データを検索する場合は、図１６に示した検索処理を実行することにより行うことができる。
【００７１】
色別に求められたヒストグラムから変換されたシンボル列を１つのシンボル列へ連結するための順序は、類似画像であれば同じ順になるような、また異なる画像であれば違う順になるような、一定の規則に基づいて行う。これは、連結する順序が異なると、部分的には類似するシンボル列が見つかるものの、全体としては大きく異なってしまうシンボル列パターンが形成されてしまうので、上述した傾向を満たす規則に基づき連結順を決める必要がある。
【００７２】
色別の画素数の多い順にパターンを連結する場合、色別の画素数の差が大きく、スキャンや減色化といった画像条件によって、画素数の多い順の順序が変化しない場合には問題は生じない。しかしながら、色別の画素数がわずかなものである場合、比較対象画像間の画像条件が異なると、色別の画素数に基づく順序が変化する場合があり、そういった場合、シンボル列パターンが部分的に入れ替わってしまうおそれがある。そうすると、色別の画素数の差が僅差である場合には、実際に両画像は類似しているものの、評価部による評価では類似していないと評価される場合がある。
【００７３】
そこで、色別の画素数の差が大きいものである場合は、上述した方法で類似性を評価し、その差が小さい場合には、同じ色あるいは類似する色同士のパターンを比較し、類似性を評価するように判定部を設ける。この判定部は、各色のヒストグラムから各色の総画素数を計算し、各色間の総画素数の差が閾値を超えるか否かを判定する。この判定を受けて、変換部は、その差が閾値を超えないと判定された場合、各色のシンボル列を結合せず、評価部は、各色のシンボル列をそれぞれ照合する。
【００７４】
このように、色別の画素数の差によって、色別のシンボル列を連結するか否かを切り替え、照合することで、色別の画素数が特徴的な画像に対しては高速検索を実現しつつ、色別の画素数が微差である画像に対しても、質問画像と被検索画像との間の画像条件の違いに起因して検索が失敗することがなくなる。この処理を、図１８を参照して詳細に説明する。
【００７５】
図１８は、色別の画素数の差に応じ、画像照合の方法を切り替えて画像検索する処理を示したフローチャートである。ステップ１８１０で処理を開始し、ステップ１８２０で、質問画像データを読み込む。ステップ１８３０で、読み込んだ質問画像データに対し、減色処理を施す。ステップ１８４０で、色別に画像を作成する。ステップ１８５０で、図１４のステップ１４３０で作成した色コードブックを用いて、色別に色情報を量子化する。
【００７６】
次に、ステップ１８６０で、色別の画像データの画像特徴を抽出する。生成部は、列ごとに黒画素数を計数し、各色のヒストグラムを作成し、変換部は、ヒストグラムの各値（各列における黒画素数）を段階に分け、それを対応するシンボルへ変換し、変換されたシンボルをつなぎ合わせて各色のシンボル列を作成する。これまでは、図１６に示した検索処理と同様である。ステップ１８７０では、判定部は、作成した色別のヒストグラムから求めた各色間の総画素数の差あるいは比が閾値を超えるか否かを判定する。この判定は、各色間につき行われ、いずれの色間についても閾値を超える場合に、閾値を超えると判定する。このようにして判定された結果が、閾値を超える場合にはステップ１８９０へ進み、閾値以下である場合にはステップ１８８０へ進む。
【００７７】
ステップ１８８０で、画素毎に色別にシンボル化されているデータベース中の被検索画像と、ステップ１８６０で求めた各色のシンボル列とをそれぞれ比較し、類似度を算出する。類似度は、共通するシンボル数が多いほど高くなるが、予め指定した数以上のシンボルが共通する場合に両画像が類似すると評価することができる。この評価は、シンボルを１つずつ照合するのではなく、上述したＮ個の文字からなる部分文字列により照合することもできる。
【００７８】
ステップ１８９０では、色別のシンボル列を連結し、１つのシンボル列を作成する。その後、ステップ１９００で、画像毎に１つに連結されたシンボル列を記録したデータベース中の被検索画像と、ステップ１８９０で求めた連結されたシンボル列とを比較し、類似度を算出する。
【００７９】
このように、被検索データについては、色別のシンボル列と、色別のシンボル列を連結した１つのシンボル列との両方を記録しておけば、質問画像に応じて検索シンボルを切り替える場合において、処理毎に、シンボル列を連結する必要がないため、高速処理を実現することが可能となる。
【００８０】
なお、明細書中には特に示していないが、画像の読み込みは入力部、減色処理は減色処理部、画像データの作成は画像データ生成部、色情報の量子化は量子化部が行うことができ、画像処理装置は、これらの各部を備えることができる。これらの各部および上記判定部も、上記の生成部、変換部および評価部と同様、プログラムとして構成し、ＣＰＵがプログラムを実行することにより、ＣＰＵをこれらの各部として機能させることができる。したがって、本発明は、画像間の類似評価を行う画像処理装置および画像処理方法として提供することもできるが、その画像処理装置により読み取り可能なプログラムとしても提供することができるものである。
【００８１】
これまで本発明を実施の形態をもって説明してきたが、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【図面の簡単な説明】
【００８２】
【図１】本発明の画像処理装置の１つの構成例を示した図。
【図２】図１に示すＰＣの構成例を示した図。
【図３】原稿、矩形抽出、行切り出しを例示した図。
【図４】射影ヒストグラムを例示した図。
【図５】量子化した結果を射影ヒストグラムとともに例示した図。
【図６】N-gramリストを用いて文書画像の一致度を評価しているところを示した図。
【図７】文書画像照合処理の流れを示した図。
【図８】シンボル列への変換処理を示した図。
【図９】分布中心を用いて２次元画像を表現したところを示した図。
【図１０】２次元画像を１つのヒストグラムへ変換する１実施形態を示した図。
【図１１】フルカラー画像を減色し、画素数が多い順に色別画像を作成しているところを示した図。
【図１２】グレー画像の階調数を減じ、画素数が多い順に階調別画像を作成しているところを示した図。
【図１３】データベース中に画像を記録する処理の流れを示した図。
【図１４】データベース中に記録された画像の色情報の色別コードブックを作成する処理の流れを示した図。
【図１５】色情報のコードブックを用いてデータベース中の画像の色情報を量子化する処理の流れを示した図。
【図１６】質問画像の色情報を量子化し、データベース中の画像を検索する処理の流れを示した図。
【図１７】データベース中に画像を蓄積する別の処理の流れを示した図。
【図１８】質問画像の色情報を量子化し、データベース中の画像を検索する別の処理の流れを示した図。
【符号の説明】
【００８３】
１０、１１、１２…ＰＣ、１３…ネットワーク、２０…ＣＰＵ、２１…メモリ、２２…ＨＤＤ、２３…ＣＤ−ＲＯＭドライブ、２４…ＦＤドライブ、２５…通信装置、２６…表示装置、２７…入力装置、２８…バス
【図１】
2010003244.tif 000003
【図２】
2010003244.tif 000004
【図３】
2010003244.tif 000005
【図４】
2010003244.tif 000006
【図５】
2010003244.tif 000007
【図６】
2010003244.tif 000008
【図７】
2010003244.tif 000009
【図８】
2010003244.tif 000010
【図９】
2010003244.tif 000011
【図１０】
2010003244.tif 000012
【図１１】
2010003244.tif 000013
【図１２】
2010003244.tif 000014
【図１３】
2010003244.tif 000015
【図１４】
2010003244.tif 000016
【図１５】
2010003244.tif 000017
【図１６】
2010003244.tif 000018
【図１７】
2010003244.tif 000019
【図１８】
2010003244.tif 000020