〔実施形態1〕
本発明の一実施形態について説明する。なお、本実施形態では、本発明をデジタルカラー複合機(MFP:Multi-Function Printer)に適用する場合の一例について説明する。
(1−1. デジタルカラー複合機1の構成)
図2は、本実施形態にかかるデジタルカラー複合機(画像処理装置、画像形成装置、画像読取装置)1の概略構成を示すブロック図である。このデジタルカラー複合機1は、コピー機能、プリンタ機能、ファクシミリ送信機能、スキャナ機能、scan to e-mail機能等を有している。
図2に示すように、デジタルカラー複合機1は、カラー画像入力装置2、カラー画像処理装置3、カラー画像出力装置4、通信装置5、操作パネル6を備えている。
カラー画像入力装置(画像読取装置)2は、例えばCCD(Charge Coupled Device )などの光学情報を電気信号に変換するデバイスを備えたスキャナ部(図示せず)より構成され、原稿からの反射光像を、RGB(R:赤・G:緑・B:青)のアナログ信号としてカラー画像処理装置3に出力する。
カラー画像処理装置3は、A/D変換部11、シェーディング補正部12、文書照合処理部13、入力階調補正部14、領域分離処理部15、色補正部16、黒生成下色除去部17、空間フィルタ処理部18、出力階調補正部19、および階調再現処理部20を備えている。カラー画像入力装置2からカラー画像処理装置3に出力されたアナログ信号は、カラー画像処理装置3内を、A/D変換部11、シェーディング補正部12、文書照合処理部13、入力階調補正部14、領域分離処理部15、色補正部16、黒生成下色除去部17、空間フィルタ処理部18、出力階調補正部19、階調再現処理部20の順で送られ、CMYKのデジタルカラー信号としてカラー画像出力装置4に出力される。
A/D(アナログ/デジタル)変換部11は、RGBのアナログ信号をデジタル信号に変換するものである。
シェーディング補正部12は、A/D変換部11より送られてきたデジタルのRGB信号に対して、カラー画像入力装置2の照明系、結像系、撮像系で生じる各種の歪みを取り除く処理を施すものである。また、シェーディング補正部12は、カラーバランスの調整、および濃度信号などカラー画像処理装置3に採用されている画像処理システムの扱い易い信号に変換する処理を施す。
文書照合処理部13は、入力画像データと登録画像との類似性の判定((類似あり/類似なしの判定)を行う。また、文書照合処理部13は入力されたRGB信号をそのまま後段の入力階調補正部14へ出力する。なお、文書照合処理部13の詳細については後述する。
入力階調補正部14は、シェーディング補正部にて各種の歪みが取り除かれたRGB信号に対して、下地色(下地色の濃度成分:下地濃度)の除去やコントラストなどの画質調整処理を施す。
領域分離処理部15は、RGB信号より、入力画像中の各画素を文字領域、網点領域、写真領域のいずれかに分離するものである。領域分離処理部15は、分離結果に基づき、画素がどの領域に属しているかを示す領域識別信号を、色補正部16、黒生成下色除去部17、空間フィルタ処理部18、および階調再現処理部20へと出力するとともに、入力階調補正部14より出力された入力信号をそのまま後段の色補正部16に出力する。
色補正部16は、色再現の忠実化実現のために、不要吸収成分を含むCMY(C:シアン・M:マゼンタ・Y:イエロー)色材の分光特性に基づいた色濁りを取り除く処理を行うものである。
黒生成下色除去部17は、色補正後のCMYの3色信号から黒(K)信号を生成する黒生成、元のCMY信号から黒生成で得たK信号を差し引いて新たなCMY信号を生成する処理を行うものである。これにより、CMYの3色信号はCMYKの4色信号に変換される。
空間フィルタ処理部18は、黒生成下色除去部17より入力されるCMYK信号の画像データに対して、領域識別信号を基にデジタルフィルタによる空間フィルタ処理を行い、空間周波数特性を補正する。これにより、出力画像のぼやけや粒状性劣化を軽減することができる。階調再現処理部20も、空間フィルタ処理部18と同様、CMYK信号の画像データに対して領域識別信号を基に所定の処理を施すものである。
例えば、領域分離処理部15にて文字に分離された領域は、特に黒文字あるいは色文字の再現性を高めるために、空間フィルタ処理部18による空間フィルタ処理における鮮鋭強調処理で高周波数の強調量が大きくされる。同時に、階調再現処理部20においては、高域周波数の再現に適した高解像度のスクリーンでの二値化または多値化処理が選択される。
また、領域分離処理部15にて網点領域に分離された領域に関しては、空間フィルタ処理部18において、入力網点成分を除去するためのローパス・フィルタ処理が施される。そして、出力階調補正部19では、濃度信号などの信号をカラー画像出力装置4の特性値である網点面積率に変換する出力階調補正処理を行った後、階調再現処理部20で、最終的に画像を画素に分離してそれぞれの階調を再現できるように処理する階調再現処理(中間調生成)が施される。領域分離処理部15にて写真に分離された領域に関しては、階調再現性を重視したスクリーンでの二値化または多値化処理が行われる。
上述した各処理が施された画像データは、いったん記憶装置(図示せず)に記憶され、所定のタイミングで読み出されてカラー画像出力装置4に入力される。
カラー画像出力装置4は、カラー画像処理装置3から入力された画像データを記録材(例えば紙等)上に出力するものである。カラー画像出力装置4の構成は特に限定されるものではなく、例えば、電子写真方式やインクジェット方式を用いたカラー画像出力装置を用いることができる。
通信装置5は、例えばモデムやネットワークカードより構成される。通信装置5は、ネットワークカード、LANケーブル等を介して、ネットワークに接続された他の装置(例えば、パーソナルコンピュータ、サーバー装置、他のデジタル複合機、ファクシミリ装置等)とデータ通信を行う。
なお、通信装置5は、画像データを送信する場合、相手先との送信手続きを行って送信可能な状態が確保されると、所定の形式で圧縮された画像データ(スキャナで読み込まれた画像データ)をメモリから読み出し、圧縮形式の変更など必要な処理を施して、通信回線を介して相手先に順次送信する。
また、通信装置5は、画像データを受信する場合、通信手続きを行うとともに、相手先から送信されてくる画像データを受信してカラー画像処理装置3に入力する。受信した画像データは、カラー画像処理装置3で伸張処理、回転処理、解像度変換処理、出力階調補正、階調再現処理などの所定の処理が施され、カラー画像出力装置4によって出力される。なお、受信した画像データを記憶装置(図示せず)に保存し、カラー画像処理装置3が必要に応じて読み出して上記所定の処理を施すようにしてもよい。
操作パネル6は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され(いずれも図示せず)、デジタルカラー複合機1の主制御部(図示せず)の指示に応じた情報を上記表示部に表示するとともに、上記設定ボタンを介してユーザから入力される情報を上記主制御部に伝達する。ユーザは、操作パネル6を介して入力画像データに対する処理要求(例えば処理モード(複写、印刷、送信、編集など)、処理枚数(複写枚数、印刷枚数)、入力画像データの送信先、登録画像の更新など)を入力することができる。上記主制御部は、例えばCPU(Central Processing Unit)等からなり、図示しないROM等に格納されたプログラムや各種データ、操作パネル6から入力される情報等に基づいて、デジタルカラー複合機1の各部の動作を制御する。
(1−2. 文書照合処理部の構成)
次に、文書照合処理部13の詳細について説明する。本実施形態にかかる文書照合処理部13は、入力画像データから複数の特徴点を抽出し、抽出した各特徴点に対して局所的な特徴点の集合を決定し、決定した各集合から特徴点の部分集合を選択し、選択した各部分集合を特徴付ける量として、部分集合中の特徴点に関する複数の組み合わせに基づいて、幾何学的変換に対する不変量をそれぞれ求め、求めた各不変量を組み合わせてハッシュ値を計算し、計算したハッシュ値に対応する登録画像に投票することにより、入力画像データに類似する登録画像の検索、当該登録画像に対する類似性の判定処理(類似あり/類似なしの判定)を行う。
図3は、文書照合処理部13の概略構成を示すブロック図である。この図に示すように、文書照合処理部13は、特徴点算出部31、特徴量算出部32、投票処理部33、類似度判定処理部34、登録処理部37、制御部7、メモリ8を備えている。
制御部7は、文書照合処理部13の各部の動作を制御する。なお、制御部7は、デジタルカラー複合機1の各部の動作を制御するための主制御部に備えられていてもよく、主制御部とは別に備えられ、主制御部と協同して文書照合処理部13の動作を制御するものであってもよい。
また、制御部7は、メモリ8に設けられたハッシュテーブル103の記憶領域を複数の分割領域に分割し、特徴量算出部32で算出された登録画像の特徴量を、予め設定された条件に対応する分割領域に格納(登録)させるための制御を行う。また、制御部7は、ハッシュテーブル103に登録された登録画像の数が所定数に達した場合、ユーザからの消去あるいは上書き指示があった場合、あるいは予め設定された消去条件あるいは上書き条件に該当する場合などに、ハッシュテーブル103に登録されたデータの一部を消去あるいはハッシュテーブル103に登録されたデータの一部に新たなデータを上書きさせるための制御を行う。なお、これらの処理の詳細については後述する。
メモリ8は、文書照合処理部13の各部の処理に用いられる各種データ、処理結果等を記憶するものであり、ハッシュテーブル103、トータル登録数カウンタ104、領域別登録数カウンタ105、領域カウンタ106などを備えている。
ハッシュテーブル103は、登録画像のインデックス(登録画像を識別するための識別情報)と、登録画像が有する特徴量とが対応付けて記憶されるテーブル(記憶部)である。トータル登録数カウンタ104は、ハッシュテーブル103に登録されている登録画像数をカウントしたカウント値を記憶するものである。領域別登録数カウンタ105は、後述する各分割領域に登録されている登録画素数をカウントしたカウント値を分割領域毎に記憶するものであり。領域カウンタ106は、登録画像を登録する分割領域として現在設定されている分割領域を示す値を記憶するものである。ハッシュテーブル103および上記各カウンタの詳細については後述する。
なお、メモリ8あるいはメモリ8の一部(例えばハッシュテーブル103)は、閲覧,編集を予め許可された特定ユーザ(例えば、企業,店舗等におけるセキュリティ責任者(管理者))のみがアクセス可能なフォルダに設けられていてもよい。この場合、例えば上記フォルダに特定ユーザの認証情報(例えば、ユーザ名、パスワード等)を記憶させておき、アクセスが要求された場合、この認証情報を用いて認証処理を行い、アクセスの許可/不許可を判定するようにすればよい。この場合の認証方法は特に限定されるものではなく、従来から公知の種々の方法を用いることができる。
特徴点算出部31は、文字列や罫線の連結部分を抽出し、連結部分の重心を特徴点として算出する。ただし、特徴点算出部31の構成はこれに限るものではなく、例えば従来から公知の種々の法によって特徴点を算出してもよい。
図4は、特徴点算出部31の概略構成を示すブロック図である。この図に示すように、特徴点算出部31は、無彩化処理部41、解像度変換部42、MTF処理部43、2値化処理部44、重心算出部45を備えている。
無彩化処理部41は、シェーディング補正部12から入力された画像データ(RGB信号)がカラー画像であった場合にこの画像データを無彩化して、明度信号もしくは輝度信号に変換するものである。
例えば、無彩化処理部41は、下記式(1)によりRGB信号を輝度信号Yに変換する。
Yi=0.30Ri+0.59Gi+0.11Bi ・・・(1)
ここで、Yは各画素の輝度信号であり、R,G,Bは各画素のRGB信号における各色成分であり、添え字のiは画素毎に付与された値(iは1以上の整数)である。
あるいは、RGB信号をCIE1976L*a*b*信号(CIE:Commission International de l'Eclairage、L*:明度、a*,b*:色度)に変換してもよい。
解像度変換部42は、入力画像データを変倍処理する。例えば、解像度変換部42は、入力画像データがカラー画像入力装置2で光学的に変倍されている場合に、所定の解像度になるように入力画像データを再度変倍する。また、解像度変換部42が、後段の各処理部における処理量を軽減するために、カラー画像入力装置2で等倍時に読み込まれる解像度よりも解像度を落とすための解像度変換を行うようにしてもよい(例えば、600dpi(dot per inch)で読み込まれた画像データを300dpiに変換するなど)。
MTF(modulation transfer function)処理部43は、カラー画像入力装置2の空間周波数特性が機種ごとに異なることを吸収(調整)するために用いられる。CCDの出力する画像信号には、レンズやミラー等の光学部品、CCDの受光面のアパーチャ開口度、転送効率や残像、物理的な走査による積分効果及び操作むら等に起因しMTFの劣化が生じている。このMTFの劣化により、読み込まれた画像がぼやけたものとなっている。MTF処理部43は、適切なフィルタ処理(強調処理)を施すことにより、MTFの劣化により生じるぼやけを修復する処理を行う。また、後段の重心算出部45における特徴点抽出処理に不要な高周波成分を抑制するためにも用いる。すなわち、混合フィルタ(図示せず)を用いて強調および平滑化処理を行う。なお、図5は、この混合フィルタにおけるフィルタ係数の一例を示している。
2値化処理部44は、無彩化された画像データ(輝度値(輝度信号)または明度値(明度信号))と、予め設定された閾値とを比較することにより画像データを二値化する。
重心算出部45は、2値化処理部44で2値化された画像データ(例えば、「1」、「0」で表される)に基づいて、各画素に対してラベリング(ラベル付け処理)を行う。そして、同一ラベルが付された画素が連結した連結領域を特定し、特定した連結領域の重心を特徴点として抽出する。さらに、抽出した特徴点を特徴量算出部32へ出力する。図6は、入力画像データから抽出された連結領域およびこの連結領域の重心の一例を示す説明図であり、「A」という文字列に対応する連結領域および重心を示している。また、図7は、入力画像データに含まれる文字列から抽出された複数の連結領域の各重心(特徴点)の一例を示す説明図である。なお、上記特徴点は、二値画像における座標値(x座標、y座標)で表すことができる。
特徴量算出部32は、特徴点抽出部32a、不変量算出部32b、ハッシュ値算出部32cを備えており、特徴点算出部31で算出された特徴点を用いて、原稿画像の回転、平行移動、拡大、縮小、平行移動等の幾何学的変形に対して不変な量である特徴量(ハッシュ値および/または不変量)を算出する。
特徴点抽出部32aは、図8に示すように、1つの特徴点を注目特徴点とし、この注目特徴点の周辺の特徴点を、注目特徴点からの距離が近いものから順に所定数(ここでは4点)だけ周辺特徴点として抽出する。図8の例では、特徴点aを注目特徴点とした場合には特徴点b,c,d,eの4点が周辺特徴点として抽出され、特徴点bを注目特徴点とした場合には特徴点a,c,e,fの4点が周辺特徴点として抽出される。
また、特徴点抽出部32aは、上記のように抽出した周辺特徴点4点の中から選択しうる3点の組み合わせを抽出する。例えば、図9(a)〜図9(c)に示すように、図8に示した特徴点aを注目特徴点とした場合、周辺特徴点b,c,d,eのうちの3点の組み合わせ、すなわち、周辺特徴点b,c,d、周辺特徴点b,c,e、周辺特徴点b,d,eの各組み合わせが抽出される。
次に、不変量算出部32bは、抽出した各組み合わせについて、幾何学的変形に対する不変量(特徴量の1つ)Hijを算出する。ここで、iは注目特徴点を示す数(iは1以上の整数)であり、jは周辺特徴点3点の組み合わせを示す数(jは1以上の整数)である。本実施形態では周辺特徴点同士を結ぶ線分の長さのうちの2つの比を不変量Hijとする。なお、上記線分の長さは、各周辺特徴点の座標値に基づいて算出すればよい。例えば、図9(a)の例では、特徴点cと特徴点dとを結ぶ線分の長さをA11、特徴点cと特徴点bとを結ぶ線分の長さをB11とすると、不変量H11はH11=A11/B11である。また、図9(b)の例では、特徴点cと特徴点bとを結ぶ線分の長さをA12、特徴点bと特徴点eとを結ぶ線分の長さをB12とすると、不変量H12はH12=A12/B12である。また、図9(c)の例では、特徴点dと特徴点bとを結ぶ線分の長さをA13、特徴点bと特徴点eとを結ぶ線分の長さをB13とすると、不変量H13はH13=A13/B13である。このようにして、図9(a)〜図9(c)の例では、不変量H11,H12,H13が算出される。
次に、ハッシュ値算出部32cは、(Hi1×102+Hi2×101+Hi3×100)/Dの余りの値をハッシュ値(特徴量の1つ)Hiとして算出し、メモリ8に記憶させる。なお、上記Dは余りが取り得る値の範囲をどの程度に設定するかに応じて予め設定される定数である。
なお、不変量Hijの算出方法は特に限定されるものではなく、例えば、注目特徴点の近傍5点の複比、近傍n点(nはn≧5の整数)から抽出した5点の複比、近傍n点から抽出したm点(mはm<nかるm≧5の整数)の配置およびm点から抽出した5点の複比に基づいて算出される値などを注目特徴点についての上記不変量Hijとしてもよい。なお、複比とは、直線上の4点または平面上の5点から求められる値であり、幾何学的変換の一種である射影変形に対する不変量として知られている。
また、ハッシュ値Hiの算出するための式についても上記式(2)に限るものではなく、他のハッシュ関数(例えば特許文献4に記載されているハッシュ関数のうちのいずれか)を用いてもよい。
また、特徴量算出部32の各部は、1つの注目特徴点に対する周辺特徴点の抽出およびハッシュ値Hiの算出が終わると、注目特徴点を他の特徴点に変更して周辺特徴点の抽出およびハッシュ値の算出を行い、全ての特徴点についてのハッシュ値を算出する。
図8の例では、特徴点aを注目特徴点とした場合の周辺特徴点およびハッシュ値の抽出が終わると、次に特徴点bを注目特徴点とした場合の周辺特徴点およびハッシュ値の抽出を行う。図8の例では、特徴点bを注目特徴点とした場合、特徴点a,c,e,fの4点が周辺特徴点として抽出される。そして、図10(a)〜図10(c)に示すように、これら周辺特徴点a,c,e,fの中から選択される3点の組み合わせ(周辺特徴点a,e,f、周辺特徴点c,e,f、周辺特徴点a,c,f)を抽出し、各組み合わせについてハッシュ値Hiを算出し、メモリ8に記憶させる。そして、この処理を各特徴点について繰り返し、各特徴点を注目特徴点とした場合のハッシュ値をそれぞれ求めてメモリ8に記憶させる。
なお、特徴点aを注目特徴点としたときの不変量の算出方法は上記の方法にかぎるものではない。例えば、図45(a)〜図45(d)に示すように、図8に示した特徴点aを注目特徴点とした場合、周辺特徴点b,c,d,eのうちの3点の組み合わせ、すなわち、周辺特徴点b,c,d、周辺特徴点b,c,e、周辺特徴点b,d,e、周辺特徴点c,d,eの各組み合わせを抽出し、抽出した各組み合わせについて、幾何学的変形に対する不変量(特徴量の1つ)Hijを算出するようにしてもよい。
また、図8に示した特徴点bを注目特徴点とした場合、図46(a)〜図46(d)に示すように、特徴点a,c,e,fの4点の周辺特徴点の中から、ある3点の組み合わせ(周辺特徴点a,e,f、周辺特徴点a,c,e、周辺特徴点a,f,c、周辺特徴点e,f,c)を抽出し、各組み合わせについて幾何学的変形に対する不変量Hijを算出するようにしてもよい。なお、この場合、(Hi1×103+Hi2×102+Hi3×101+Hi4×100)/Dの余りの値をハッシュ値として算出し、メモリ8に記憶させればよい。
上記の例では、注目特徴点に最も近い周辺特徴点と2番目に近い周辺特徴点とを結ぶ線分をAij、注目特徴点に最も近い周辺特徴点と3番目に近い周辺特徴点とを結ぶ線分をBijとしたが、これに限らず、例えば周辺特徴点間を結ぶ線分の長さを基準にして選定する等、不変量Hijの算出に用いる線分は任意の方法で選定すればよい。
なお、特徴量算出部32は、入力画像データを登録画像として登録する登録処理を行う場合には、上記のように算出した入力画像データの各特徴点についてのハッシュ値(特徴量)を登録処理部37に送る。
登録処理部37は、特徴量算出部32が算出した各特徴点についてのハッシュ値と、原稿(登録画像)を表すインデックス(原稿ID)とをメモリ8に設けられたハッシュテーブル103に順次登録していく(図11(a)参照)。ハッシュ値がすでに登録されている場合は、当該ハッシュ値に対応付けて原稿IDを登録する。原稿IDは重複することなく順次番号が割り当てられる。なお、算出されたハッシュ値が同値である場合(図11(b)の例ではH1=H5)、これらを1つにまとめてハッシュテーブル103に登録してもよい。また、登録処理部37は、制御部7からの指示に応じて、ハッシュテーブル103を複数の記憶領域(分割領域)に分割し、予め設定された登録条件に応じて登録画像を登録する分割領域を選択し、選択した分割領域に登録画像を登録させる。分割方法および登録方法の詳細については後述する。
また、特徴量算出部32は、入力画像データが既に登録されている登録画像の画像データであるかどうかの判定処理(類似性判定処理)を行う場合には、上記のように算出した入力画像データの各特徴点についてのハッシュ値を投票処理部33に送る。
投票処理部33は、入力画像データから算出した各特徴点のハッシュ値をハッシュテーブル103に登録されているハッシュ値と比較し、同じハッシュ値を有する登録画像に投票する。言い換えれば、登録画像毎に、登録画像が有するハッシュ値と同じハッシュ値が入力画像データから算出された回数をカウントし、カウント値をメモリ8に記憶させる。図12は、登録画像ID1,ID2,ID3に対する投票数の一例を示すグラフである。
類似度判定処理部34は、メモリ8から投票処理部33の投票処理結果(各登録画像のインデックスおよび各登録画像に対する投票数;類似度)を読み出し、最大得票数および最大得票数を得た登録画像のインデックスを抽出する。そして、抽出された最大得票数を予め定められている閾値TH1と比較して類似性(入力画像データが登録画像の画像データであるかどうか)を判定し、判定結果を示す判定信号を制御部7に送る。つまり、最大得票数が予め定められた閾値TH1以上である場合には「類似性あり(入力画像データは登録画像の画像データである)」と判定し、閾値TH1未満である場合には「類似性なし(入力画像データは登録画像の画像データではない)」と判定する。
あるいは、類似度判定処理部34が、各登録画像に対する得票数を投票総数(入力画像データから抽出された特徴点の総数)で除算して正規化することで類似度を算出し、この類似度と予め定められている閾値TH1(例えば投票総数の80%)との比較を行うことによって類似度を判定してもよい。
また、類似度判定処理部34が、各登録画像に対する得票数を、ハッシュ値の登録数が最も多い登録画像についてのハッシュ値の登録数(最大登録数)で除算して正規化することで類似度を算出し、この類似度と予め定められている閾値TH1(例えば投票総数の80%)との比較を行うことによって類似性を判定してもよい。つまり、算出した類似度が閾値TH1以上である場合には「類似性あり」と判定し、閾値TH1未満である場合には「類似性なし」と判定すればよい。なお、この場合、入力画像データから抽出されるハッシュ値の総数は上記最大登録数よりも大きくなる場合があるため(特に原稿および/または登録画像の少なくとも一部に手書き部分がある場合など)、類似度の算出値は100%を超える場合も有り得る。
また、類似性を判定する際の閾値TH1は、各登録画像について一定であってもよく、あるいは各登録画像の重要度等に応じて登録画像毎に設定されてもよい。登録画像の重要度は、例えば、紙幣、有価証券、極秘書類、社外秘の書類等については重要度を最大にし、秘密書類については重要度を紙幣等よりも低くするといったように、登録画像に応じて段階的に設定してもよい。この場合、メモリ8に、登録画像の重要度に応じた重み付け係数を当該登録画像のインデックスと関連付けて記憶させておき、類似度判定処理部34が、最大得票数を得た登録画像に対応する閾値TH1を用いて類似性を判定するようにすればよい。
また、類似性を判定する際、閾値TH1は一定にする一方、各登録画像に対する投票数(各登録画像の得票数)に各登録画像の重み係数を掛けて類似性を判定するようにしてもよい。この場合、メモリ8に、各登録画像の重要度に応じた重み付け係数を各登録画像のインデックスと関連付けて記憶させておき、類似度判定処理部34が、各登録画像の得票数に当該登録画像の重み付け係数を掛けた補正得票数を算出し、この補正得票数に基づいて類似性を判定するようにすればよい。例えば、最大補正得票数と閾値TH1とを比較してもよく、最大補正得票数を投票総数で正規化したものを閾値TH1と比較してもよく、最大補正得票数を最大登録数で正規化したものを閾値TH1と比較してもよい。また、この場合、重み係数は、例えば、1より大きい値であって、かつ登録画像の重要度が高くなるにつれて大きい値になるように設定すればよい。
また、本実施形態では、1つの特徴点(注目特徴点)に対して1つのハッシュ値を算出するものとしているが、これに限らず、1つの特徴点(注目特徴点)に対して複数のハッシュ値を算出するようにしてもよい。例えば、注目特徴点の周辺特徴点として6点を抽出し、この6点から5点を抽出した6通りの組み合わせそれぞれについて、5点から3点を抽出して不変量を求めてハッシュ値を算出する方法を用いてもよい。この場合には、1つの特徴点に対して6個のハッシュ値が算出されることになる。
(1−3.デジタルカラー複合機1における処理)
次に、デジタルカラー複合機1における処理について、図13に示すフロー図を参照しながら説明する。
まず、制御部7は、入力画像データ、および、操作パネル6あるいは通信装置5を介してユーザから入力される処理要求(指示入力)を取得する(S1、S2)。なお、入力画像データは、カラー画像入力装置2で原稿画像を読み取ることによって取得してもよく、通信装置5によって外部の装置から送信される入力画像データを取得してもよく、デジタルカラー複合機1に備えられるカードリーダー(図示せず)等を介して各種記録媒体から入力画像データを読み出して取得してもよい。
次に、制御部7は、上記処理要求によって要求されている処理が登録処理であるか否かを判断する(S3)。そして、登録処理であると判断した場合、制御部7は、文書照合処理部13の各部を制御し、S1で取得した入力データについて特徴点算出処理(S4)および特徴量算出処理(S5)を行わせ、算出した特徴量と原稿ID(登録画像のインデックス)とを対応付けてハッシュテーブル103に登録し(S6)、処理を終了する。ハッシュテーブル103への登録方法の詳細については後述する。
一方、S3において登録処理ではないと判断した場合、制御部7は、文書照合処理部13の各部を制御し、S1で取得した入力データについて特徴点算出処理(S7)、特徴量算出処理(S8)、投票処理(S9)、類似性判定処理(S10)を行わせる。そして、制御部7は、類似性判定処理の結果、類似ありと判定されたか否かを判断する(S11)。そして、類似なしと判断した場合、制御部7は、この入力画像データに対する画像処理(複写、電子配信、ファクシミリ送信、ファイリング、画像データの補正,編集等)の実行を許可し(S12)、処理を終了する。
一方、S11において類似ありと判断した場合、制御部7は、入力画像データに対する画像処理の実行を禁止し(S13)、処理を終了する。なお、本実施形態では、類似ありの場合に処理の実行を許可し、類似なしの場合に処理の実行を禁止する場合の例について説明しているが、これに限るものではない。例えば、類似性の判定結果を所定の通知先への通知するようにしてもよい。また、類似性の判定結果に応じて入力画像データの記録の要否、入力画像データに対応する出力画像に所定の記号等を重畳させることの要否、ユーザ認証を行うことの要否、類似性判定結果の表示の要否などを判断するようにしてもよい。
(1−4.ハッシュテーブル103の編集方法)
(1−4−1a.ハッシュテーブル103の構成)
上述した図11(a)および図11(b)に示したように、ハッシュテーブル103では、1つのハッシュ値に対応して複数の登録画像のインデックスが格納できるようになっている。具体的には、本実施形態では、ハッシュテーブル103全体としての登録可能な画像数を8192、300dpiの一画像当たりの特徴点数を2048個、ハッシュ値の求め方を7通り、ハッシュ値の個数を65536個と想定し、1つのハッシュ値に対応させて登録できる画像数を64個に設定している。ただし、1つのハッシュ値に対応させて登録できる画像数はこれに限るものではなく、本発明を適用する装置あるいはシステムで用いられる登録画像の解像度、登録画像数、ハッシュ値の個数等に応じて適宜設定すればよい。
図1は、ハッシュテーブル103に格納されたハッシュ値(ハッシュ値H1,H2,H3,H4,・・・)、および各ハッシュ値に対応付けて格納された登録画像のインデックスの一例を示す説明図である。
本実施形態では、図1に示すように、ハッシュテーブル103を複数の領域(図1では第1領域〜第4領域)に分割し、各ハッシュ値に対応するインデックスの格納領域を各分割領域に分散して設けるようになっている。例えば、ハッシュ値H1に対応するインデックスの格納領域H1_1,H1−2,H1_3,H1_4がそれぞれ第1領域〜第4領域に設けられる。また、ハッシュ値H2,H3,・・・についても同様に、各ハッシュ値に対応するインデックスの格納領域が第1領域〜第4領域に分散して設けられる。
なお、図1の例では、1つのハッシュ値に対応するインデックスの格納領域として、1アドレスあたり128ビットのアドレスを各分割領域に2アドレスずつ割り当てている。したがって、ハッシュテーブル103全体としては、1つのハッシュ値に対応するインデックスの格納領域は8アドレス割り当てられている。また、図1の例では、1つのインデックスを16ビットで表現している。したがって、1つのハッシュ値に対して、1分割領域あたり16個、ハッシュテーブル103全体としては64個のインデックスを登録できるようになっている。
また、本実施形態では、ハッシュテーブル103に登録可能な登録画像の数は8192個(ID0〜ID8191)に設定されており、各分割領域に登録可能な登録画像の数はそれぞれ2048個に設定されている。そして、第1領域はインデックスID0〜ID2047、第2領域はインデックスID2048〜ID4095、第3領域はインデックスID4096〜ID6143、第4領域はインデックスID6144〜ID8191の格納領域として割り当てられている。
これにより、消去対象のインデックスを指定すれば、ハッシュテーブル103に設けられたアドレス数およびハッシュテーブル103の分割数から、消去対象領域の開始アドレスが存在する分割領域と終了アドレスが存在する分割領域とを一意に決定できるようになっている。また、例えば、インデックスID0〜ID2047まで、すなわち第1領域の全インデックスを消去するといったように、消去対象領域を分割領域単位で指定することもできる。この場合、消去処理をより迅速に行うことができ、また、消去処理のために制御部7にかかる負荷をより軽減できる。
(1−4−1b.ハッシュテーブル103の構成例2)
本実施形態では、ハッシュテーブルに登録可能な登録画像の数は8192個であり、図1の例では、分割されたハッシュテーブルの領域のうち、第1領域はID(インデックス)0〜ID2047、第2領域はID2048〜4095、第3領域はID4096〜6143、第4領域はID6144〜8191の格納領域として割り当てられている。
しかしながら、各分割領域と各分割領域に割り当てるIDとの関係はこれに限るものではない。例えば、図33に示すように、各分割領域において同じIDを割り当ててもよい。つまり、図33の例では、ハッシュテーブルの各分割領域に、ID0〜2047の格納領域として割り当てている。このような構成にすることにより、図1の例ではインデックスのビット数が13ビット(0〜8191)であったが、図33の例では11ビット(0〜2047)に削減できる。このため、図33のように1アドレスに8個のインデックスを格納する場合、格納するビット数を、1アドレス当たり2ビット×8=16ビット分削減できる。したがって、ハッシュテーブルのサイズを小さくすることができる、あるいは、1つのアドレスにより多くのインデックスを登録することができるので、ハッシュテーブルのサイズを大きくすることなく、より多くのインデックスを登録できる。また、インデックスのビット数を削減できるので、投票処理、および類似度判定処理時の演算処理効率を向上させることができる。
なお、図33の例では、各分割領域に割り当てられるインデックスがID0〜2047となるために、複数の分割領域間において、異なる原稿同士が同じIDを有する状態となる。そのため、ハッシュテーブル全体を対象とした投票処理を行って図12のようなヒストグラムを1セットのみ生成すると、異なる原稿であって同じIDを有している原稿に対して重複して投票を行ってしまい、照合判定精度が低下してしまう。
そこで、分割領域毎に投票処理を行い、各分割領域の投票処理において1セットのヒストグラムを生成するようにしてもよい。
図34(a)と図35(a)とは、ハッシュテーブル内における互いに異なる分割領域に対する投票処理結果を示す説明図であり、図34(b)と図35(b)とは、上記投票処理結果を示すヒストグラムである。なお、説明の便宜上、図35(a)および図35(b)ではインデックスID1〜ID6をID1’〜ID6’として記載している。
このように、分割領域毎に投票処理を行うことにより、本来異なる原稿であるID1とID1’とに対して同じIDとして投票されることを防止できる。
また、類似性判定処理において、各分割領域に対する投票結果のヒストグラムから、最大得票数、および最大得票数を得た登録画像のインデックスを抽出し、予め定められた閾値と比較することで、類似性判定を適切に行うことができる。図34(a),図34(b),図35(a),図35(b)の例では、図34(b)のID4が閾値を超えているので、図34(b)に対応する分割領域のID4が類似ありと判定される。
なお、分割領域毎に投票処理および類似性判定処理を行う場合、投票処理部および類似度判定処理部を複数組(例えば分割領域の数と同数)設け、各分割領域に対する投票処理および類似性判定処理を並行して行ってもよい。あるいは、投票処理部および類似度判定処理部を1つだけ設け、各分割領域に対する投票処理および類似性判定処理を順次行うようにしてもよい。
また、上記の説明では、各分割領域について分割領域毎に投票処理および類似性判定処理を行う場合について説明したが、これに限るものではない。例えば、ユーザから指定された特定の分割領域に対してのみ投票処理および類似度判定処理を行うようにしてもよい。あるいは、制御部7がユーザから指定された条件に対応する分割領域を抽出し、抽出した分割領域に対して分割領域毎に投票処理および類似度判定処理を行うようにしてもよい。
(1−4−2.ハッシュテーブル103への登録・消去方法)
本実施形態では、ハッシュテーブル103の記憶領域の分割方法をユーザが以下に示す4つの分割方法の中から任意に選択できるようになっている。
具体的には、ユーザが操作パネル6あるいはデジタルカラー複合機1に通信可能に接続された外部装置を介して分割方法の指定を行いたい旨を入力(例えば、操作パネル6あるいは外部装置(コンピュータ等)の表示画面(液晶ディスプレイなど)に表示されている「分割方法を指定」のボタンを選択)すると、制御部7は、(i)記憶領域の分割数を設定する、(ii)一分割領域あたりの登録可能画像数を設定する、(iii)登録画像の管理期間を設定する、(iv)登録画像の優先度(重要度)を設定する、のいずれの分割方法を選択するかを問い合わせる画面を表示画面に表示させる。そして、ユーザは、これらの分割方法の中から、キー操作、タッチパネル操作、マウス操作等によって所望する方法を選択できるようになっている。
ここで、上記(i)〜(iv)の各分割方法について説明する。なお、本実施形態では、ハッシュテーブル103全体としての登録可能なインデックス数は8192(ID0〜ID8191)であるものとする。
(i)記憶領域の分割数を設定する場合
ユーザが分割方法として上記(i)を選択すると、制御部7は、表示画面に図14(a)に示すように分割数の指定を促す画面を表示させる。ユーザは、この表示画面に応じて所望する分割数を入力することで、記憶領域の分割数を設定できるようになっている。なお、分割数の指定方法はこれに限るものではなく、例えば図14(b)に示すように、制御部7が選択可能な分割数を表示画面に表示させ、表示された分割数の中からユーザが希望する分割数を選択するようにしてもよい。
図15は、上記(i)の分割方法が選択されている場合に、新たな登録画像をハッシュテーブル103に登録するときの処理(上記した図13におけるS6の処理)の流れを示すフロー図である。なお、ここでは、ハッシュテーブル103全体に登録可能な登録画像のインデックス数は8192であり、ハッシュテーブル103の記憶領域の分割数が4であり、各分割領域に登録可能な登録画像のインデックス数が2048である場合について説明する。また、まず第1領域に登録画像のインデックスを登録していき、第1領域への登録数が上限値に達すると第2領域に登録していき、第2領域への登録数が上限値に達すると第3領域に登録していくというように、各分割領域に対して順次登録していく場合について説明する。
図13のS1〜S5の処理によって登録画像の特徴量を取得すると、制御部7は、トータル登録数カウンタ104のカウント値が予め設定された閾値TH2に達しているか否かを判断する(S21)。なお、上記閾値TH2の設定方法は特に限定されるものではないが、本実施形態では、ハッシュテーブル103全体として登録可能な画像数8192の75%にあたる6144に設定している。
そして、トータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合、制御部7は、最も古い登録画像が登録されている分割領域の登録画像を消去する(S22)。そして、トータル登録数カウンタ104のカウンタ値から、消去した登録画像数を減算してトータル登録数カウンタ104のカウンタ値を更新する(S23)。また、消去した分割領域についての領域別登録数カウンタ105のカウント値をリセットする(S24)。
S24において領域別登録数カウンタ105をリセットした後、あるいはS21においてトータル登録数カウンタ104のカウント値が閾値TH2未満であると判断した場合、制御部7は、登録先として現在設定されている分割領域(現在の領域カウンタ106のカウンタ値に対応する分割領域)についての領域別登録数カウンタ105のカウント値がこの分割領域に登録可能な画像数に対応する上限値であるか否かを判断する(S25)。なお、図15の例では、領域別登録数カウンタ105の初期値は0であり、上限値は各分割領域ともに2047である。したがって、領域別登録数カウンタ105のカウント値が2047の場合、当該分割領域に2048個の登録画像のインデックスが登録されていることを意味する。
S25において領域別登録数カウンタ105のカウント値が上限値であると判断した場合、制御部7は、次の分割領域への登録を開始し(S26)、領域カウンタ106のカウント値を上記登録を行った分割領域に対応する値に更新する(S27)。図16は、領域カウンタ106の概要を示す説明図である。領域カウンタ106は、登録画像を登録する分割領域を示すためのカウンタであり、カウンタ値0〜3はそれぞれ第1〜第4領域に対応している。制御部7は、ある分割領域への登録数が上限値に達し、次の分割領域への登録を開始する毎に領域カウンタ106のカウンタ値を1だけインクリメントさせるようになっている。
一方、S25において領域別登録数カウンタ105のカウント値が上限値に達していないと判断した場合、制御部7は、登録先として現在設定されている分割領域へ登録画像のインデックスを登録する(S28)。
S27あるいはS28の処理の後、制御部7は、登録を行った分割領域に対応する領域別登録数カウンタ105のカウント値、およびトータル登録数カウンタ104のカウント値をインクリメントし(S29、S30)、処理を終了する。
なお、上記した図15の例では、S21においてトータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合に、制御部7が、最も古い登録画像が登録されている分割領域の登録画像を自動的に消去するものとしているが、これに限るものではない。例えば、図17(a)に示すように、制御部7が、登録可能残数が少なくなった旨の通知・警告、および最も古い登録画像を消去してよいか否かの問い合わせるための表示画面を操作パネル6の表示部あるいは外部装置の表示部に表示させ、この表示に対するユーザの指示入力に応じて登録画像の消去を行うか否かを判断するようにしてもよい。
(ii)一分割領域あたりの登録可能数を設定する場合
ユーザが分割方法として上記(ii)を選択すると、制御部7は、操作パネル6または外部装置の表示部に図18(a)に示すように一分割領域あたりの登録可能数の指定を促す画面を表示させる。ユーザは、この表示画面に応じて所望する数値を入力することで、各分割領域への登録画像の登録可能数を設定できるようになっている。なお、各分割領域に対する登録可能数は、任意の値に設定することができる。ただし、アドレス管理を容易にするためには、登録可能数を2のn乗に設定することが好ましい。これは、図32に示すように、ハッシュテーブルを各分割領域への登録可能数が2のn乗(nは2以上の整数)になるように分割することにより、各々の分割領域へのアクセスが容易になるためである。
図32は、ハッシュテーブルにおける各分割領域への登録可能数(分割単位;各分割領域に含まれるアドレス数)が2の11乗アドレスになるように分割した場合の例を示す説明図である。
この図に示すように、各分割領域への登録可能数を2のn乗とし、かつ各分割領域に領域カウンタ値を割り当てることにより、各分割領域に対する開始アドレスを一意に決定できる。このため、例えば外部メモリに対してDMA(Direct Memory Access)を行う場合(外部メモリに直接アクセスする場合)に、開始アドレスを容易に算出できる。
一般的に、分割領域に対する開始アドレスは、(領域カウンタ値)×(各分割領域の登録可能数)で算出することができる。この場合、各分割領域の登録可能数は2のn乗でなくてもよい。図32に示した分割領域1は、領域カウンタ値cntがcnt=0×1であり、各分割領域の登録可能数が211=2048なので、この分割領域1に対する開始アドレスstadはstad=cnt×登録可能数=2048=0×800となる。同様に、図32に示した分割領域2は、領域カウンタ値cntはcnt=0×2であり、各分割領域の登録可能数は211=2048なので、この分割領域2に対する開始アドレスstadはstad=cnt×登録可能数=4096=0×1000となる。
ここで、ハッシュテーブルにおける各分割領域のサイズ(各分割領域の登録可能数)を2のn乗にすると、開始アドレスを、領域カウンタとハッシュテーブルのサイズ(各分割領域の登録可能数)とのビット結合のみで表すことができる。このため、開始アドレスを容易に算出できる。
例えば、図32に示した分割領域1の開始アドレスは、分割数は22=4であり、cnt=01b、各分割領域の登録可能数は2048=100000000000bなので、cntと登録可能数2048の下位11bitとをビット結合させて0100000000000b=0×800となる。同様に、分割領域2の開始アドレスは、cnt=10b、各分割領域の登録可能数は2048=100000000000bなので、cntと登録可能数2048の下位11bitとをビット結合させて1000000000000b=0×1000となる。
なお、各分割領域への登録可能数の指定方法は図18(a)に示した方法に限るものではなく、例えば図18(b)に示すように、制御部7が選択可能な数値を表示させ、表示された数値の中からユーザが希望する数値を選択するようにしてもよい。
登録画像を登録するときの処理については、上記した図15の処理と同様である。なお、S21において現在の分割領域へ登録するか、次の分割領域へ登録するかの判断を行うための領域別登録数カウンタ105の比較対象値(図15では2047)は、各分割領域への登録可能数に応じた値に設定すればよい。
なお、S21においてトータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合、図17(b)に示すように、制御部7が、登録可能残数が少なくなった旨の通知・警告、および各分割領域に登録されている登録画像のインデックスの範囲を表示させ、ユーザからの指示入力に応じて、いずれの分割領域の登録画像を消去するのかを判断するようにしてもよい。また、図17(c)に示すように、消去する登録画像のインデックスの範囲についてのユーザの指示入力を促す表示画面を表示させ、ユーザからの指示入力に応じた登録画像を消去するようにしてもよい。
(iii)登録画像の管理期間を設定する場合
ユーザが分割方法として上記(iii)を選択すると、制御部7は、表示画面に図19(a)に示すように各分割領域の管理期間の指定を促す画面を表示させる。ユーザは、この表示画面に応じて所望する数値を入力することで、各分割領域の管理期間を設定できるようになっている。なお、各分割領域の管理期間の指定方法は図19(a)に示した方法に限るものではなく、例えば図19(b)に示すように、制御部7が選択可能な管理期間を表示画面に表示させ、表示された管理期間の中からユーザが希望する管理期間を選択するようにしてもよい。また、ここでは、記憶領域の分割数が4である場合について説明するが、これに限らず、例えばユーザが記憶領域の分割数を任意に設定できるようにしてもよい。
図20は、各分割領域の管理期間が3ヶ月に設定された場合の、各分割領域と当該各分割領域に登録される登録画像の登録日との関係を示す説明図である。この図に示す例では、第1領域には2006年1月1日〜3月31日に登録された登録画像のインデックスが格納され、第2領域には2006年4月1日〜6月30日に登録された登録画像のインデックスが格納され、第3領域には2006年7月1日〜9月30日に登録された登録画像のインデックスが格納され、第4領域には2006年10月1日〜12月31日に登録された登録画像のインデックスが格納されるようになっている。
図21は、上記(iii)の分割方法が選択されている場合に、新たな登録画像をハッシュテーブル103に登録するときの処理(上記した図13におけるS6の処理)の流れを示すフロー図である。なお、ここでは、ハッシュテーブル103全体に登録可能な登録画像のインデックス数は8192であり、ハッシュテーブル103の記憶領域の分割数が4であり、各分割領域に登録可能な登録画像のインデックス数が2048である場合について説明する。
図13のS1〜S5の処理によって登録画像の特徴量を取得すると、制御部7は、トータル登録数カウンタ104のカウント値が予め設定された閾値TH2に達しているか否かを判断する(S31)。なお、上記閾値TH2の設定方法は特に限定されるものではないが、本実施形態では、ハッシュテーブル103全体として登録可能な画像数8192の75%にあたる6144に設定している。
そして、トータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合、制御部7は、最も古い登録期間の登録画像が登録されている分割領域の登録画像を消去する(S32)。そして、トータル登録数カウンタ104のカウンタ値から、消去した登録画像数を減算してトータル登録数カウンタ104のカウンタ値を更新する(S33)。また、消去した分割領域についての領域別登録数カウンタ105のカウント値をリセットする(S34)。
S34において領域別登録数カウンタ105をリセットした後、あるいはS31においてトータル登録数カウンタ104のカウント値が閾値TH2未満であると判断した場合、制御部7は、現在の日付を判断する(S35)。日付の判断方法は特に限定されるものではなく、従来から公知の種々の方法を用いることができる。
次に、制御部7は、S35で判断した日付に対応する分割領域を選択する(S36)。そして、選択した分割領域に対応する領域別登録数カウンタ105のカウント値が当該分割領域に対する登録可能数の上限値であるか否かを判断する(S37)。
そして、S37において登録画像数の上限値に達していない場合、制御部7は、S36で選択した分割領域に登録画像のインデックスを登録する(S38)。
一方、S37において登録画像数の上限値であると判断した場合、制御部7は、他の分割領域に登録するか否かの判断を行う(S39)。例えば、日付に応じた分割領域への登録数が上限値に達している場合に他の分割領域に登録するか否かをユーザが予め設定しておき、制御部7がこの予め設定された条件に応じて判断してもよい。また、制御部7が他の分割領域に登録するか否かの指示入力を促す情報を表示画面に表示させ、ユーザからの指示入力に応じて制御部7が判断するようにしてもよい。
そして、S39において他の分割領域に登録しないと判断した場合、制御部7は登録を行わずに処理を終了する。
また、S39において他の分割領域に登録すると判断した場合、制御部7は、当該他の分割領域への登録を行うとともに(S40)、領域カウンタ106のカウント値を上記登録を行った分割領域に対応する値に更新する(S41)。
なお、S40において登録画像を登録する分割領域は、例えば、S35で判断した日付が属する分割期間の次の分割期間に対応する分割領域であってもよい。また、最も古い分割期間に対応する分割領域に登録されている情報を消去し、当該分割領域に上書きして登録するようにしてもよい。例えば、各分割領域に対応する領域カウンタの値と、各分割領域に割り当てられた期間とを対応付けてメモリ8に記憶させておくことで、消去および上書きを行う分割領域を容易に特定できる。また、例えば、各分割領域に対応する領域カウンタの値と、各分割領域に割り当てられた期間と、分割領域の数(ハッシュテーブル103の分割数)とを対応付けてメモリ8に記憶させておき、これらの各情報と現在の領域カウンタ106の値(S36で選択した分割領域の領域カウンタの値)とに基づいて最も古い分割期間に対応する分割領域を特定することもできる。
S38あるいはS41の処理の後、制御部7は、登録を行った分割領域に対応する領域別登録数カウンタ105のカウント値、およびトータル登録数カウンタ104のカウント値をインクリメントし(S42、S43)、処理を終了する。
なお、図20に示した例では、3ヶ月単位で各分割領域に割り当てる期間を指定する場合について説明したが、これに限るものではない。例えば、各分割領域に割り当てる期間を任意に設定してもよい。また、年、月、日、曜日、特定日など、時間軸(期間)を表す任意の指標によって期間を設定するようにしてもよい。
また、上記した図21の例では、S31においてトータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合に、制御部7が、最も古い登録画像が登録されている分割領域の登録画像を自動的に消去するものとしているが、これに限るものではない。例えば、図17(d)に示すように、制御部7が、登録可能残数が少なくなった旨の通知・警告、および各分割領域に割り当てられた登録期間を表示させるとともに、いずれの登録期間の登録画像を消去するのかに関するユーザの指示入力を受け付け、指示入力に応じた分割領域の登録画像を消去するようにしてもよい。また、図17(e)に示すように、消去する登録期間についてのユーザの入力を促す画面を表示させ、ユーザの指示入力に応じた登録期間の登録画像を消去するようにしてもよい。
また、S40の処理において、図17(d)または図17(e)と略同様の画面を表示させ、ユーザの指示入力に応じた登録画像を消去し、消去した領域に登録画像を登録するようにしてもよい。
(iv)優先度(重要度)を設定する場合
ユーザが分割方法として上記(iv)を選択すると、制御部7は、表示画面に図22(a)に示すように優先度のカテゴリ数(優先度のレベル数)の指定を促す画面を表示させる。ユーザは、この表示画面に応じて所望する数値を入力することで、優先度のカテゴリ数を設定できるようになっている。なお、優先度の高い登録画像については、消去されないように保護(プロテクト)をかけておくようにしてもよい。この場合、例えば図22(b)に示すように、どの優先度の登録画像に保護をかけるのかの指定を促す画面を表示させ、ユーザの指示入力に応じた優先度に対応する登録画像に保護をかけるようにすればよい。
制御部7は、優先度のカテゴリ数が選択されると、ハッシュテーブル103の記憶領域を選択されたカテゴリ数に応じた分割領域に分割し、各分割領域をいずれかの優先度に対応する登録画像の登録領域として割り当てる。つまり、優先度に応じて登録する分割領域を異ならせる。図23は、優先度のカテゴリ数を4に設定した場合のハッシュテーブル103における各分割領域と各分割領域に割り当てられた優先度との関係を示す説明図である。この図に示す例では、ハッシュテーブル103の記憶領域を第1〜第4領域に分割し、第1領域を優先度1の登録画像の登録領域、第2領域を優先度2の登録画像の登録領域、第3領域を優先度3の登録画像の登録領域、第4領域を優先度4の登録画像の登録領域に割り当てる。なお、この図に示す例では、優先度1が最も優先度が高く、優先度4に向かうほど優先度が低くなっていくものとしている。また、この図に示す例では、各分割領域に登録可能な登録画像数は2048となっている。
図24は、上記(iv)の分割方法が選択され、優先度のカテゴリ数が4に設定されている場合に、新たな登録画像をハッシュテーブル103に登録するときの処理(上記した図13におけるS6の処理)の流れを示すフロー図である。
図13のS1〜S5の処理によって登録画像の特徴量を取得すると、制御部7は、トータル登録数カウンタ104のカウント値が予め設定された閾値TH2に達しているか否かを判断する(S51)。なお、上記閾値TH2の設定方法は特に限定されるものではないが、本実施形態では、ハッシュテーブル103全体として登録可能な画像数8192の75%にあたる6144に設定している。
そして、トータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合、制御部7は、最も優先度の低い登録画像が登録されている分割領域の登録画像を消去する(S52)。そして、トータル登録数カウンタ104のカウンタ値から、消去した登録画像数を減算してトータル登録数カウンタ104のカウンタ値を更新する(S53)。また、消去した分割領域についての領域別登録数カウンタ105のカウント値をリセットする(S54)。
次に、制御部7は、登録画像の優先度を判定し(S55)判定した優先度に応じた分割領域を選択する(S56)。なお、登録画像の優先度は、操作パネル6あるいは外部装置を介したユーザからの指示入力に応じて制御部7が判定するようにしてもよく、あるいは制御部7が予め設定された条件に応じて判定するようにしてもよい。
次に、制御部7は、S56で選択した分割領域についての領域別登録数カウンタ105のカウンタ値が、当該分割領域に対する登録可能数の上限値であるか否かを判断する(S57)。そして、上記カウント値が上限値である場合には、登録を行わずに処理を終了する。一方、上記カウント値が上限値に達していない場合には、優先度に応じた分割領域への登録を行うとともに(S58)、当該分割領域に対応する領域別登録数カウンタ105のカウント値およびトータル登録数カウンタ104のカウンタ値をインクリメントさせ(S59、S60)、処理を終了する。
なお、図24の例では、登録画像の優先度に対応する分割領域に登録されている登録画像数が既に上限値に達している場合には、この登録画像については登録しないものとしているが、これに限るものではない。例えば、優先度1に対応する分割領域の登録画像数が上限値に達している場合、優先度の最も低い優先度4の登録領域として割り当てられている第4領域を優先度1の登録領域に割り当てるようにしてもよい。図25は、この場合の処理の流れを示すフロー図である。なお、S51〜S60の処理については図24と同じなのでここでは説明を省略する。
S57においてS56で選択した分割領域についての領域別登録数カウンタ105のカウンタ値が登録可能数の上限値に達していると判断した場合、制御部7は、登録しようとしている登録画像の優先度が1であるか否かを判断する(S61)。そして、優先度が1でない場合には、処理を終了する。
一方、S61において優先度が1であると判断した場合、制御部7は、優先度の最も低い登録画像が登録されている分割領域の登録画像を消去し、当該分割領域を優先度1の登録画像を登録するために使用するか否かを判断する(S62)。この判断は、例えば操作パネル6あるいは外部装置を介したユーザからの指示入力に基づいて判断してもよく、予め設定された条件に基づいて制御部7が判断してもよい。そして、上記分割領域を優先度1の登録画像を登録するために使用しないと判断した場合には、登録を行わずに処理を終了する。
一方、上記分割領域を優先度1の登録画像を登録するために使用すると判断した場合には、当該分割領域に登録されている登録画像を消去し(S63)、当該分割領域に新たな登録画像を登録する(S64)。また、この消去処理および登録処理の結果を反映させるように、当該分割領域に対応する領域別登録数カウンタ105のカウント値およびトータル登録数カウンタ104のカウンタ値を更新し(S65、S66)、処理を終了する。
なお、上記の説明では、優先度1に対応する分割領域の登録画像数が上限値に達したときに、最も優先度の低い分割領域を優先度1の分割領域に変更する例について説明したが、これに限らず、例えば優先度2や優先度3の分割領域の登録画像数が上限値に達したときに、最も優先度の低い分割領域を優先度2や優先度3の分割領域に変更するようにしてもよい。また、最も優先度の低い分割領域をさらに複数の領域に分割し、分割した各領域を優先度1〜3の登録領域に割り当てるようにしてもよい。
また、最も優先度の低い分割領域の登録画像を消去する構成に限らず、例えば、消去する分割領域に関するユーザの指示入力を受け付け、この指示入力に応じた分割領域を削除するようにしてもよい。
また、上記した図24,図25の例では、S51においてトータル登録数カウンタ104のカウント値が閾値TH2に達したと判断した場合に、制御部7が、最も優先度の低い登録画像が登録されている分割領域の登録画像を自動的に消去するものとしているが、これに限るものではない。例えば、優先度の高い登録画像を登録する分割領域については登録画像を消去できないように予め保護をかけておき、図17(f)に示すように、制御部7が、保護されていない分割領域の登録画像を消去するか否かを問い合わせる表示画面を表示させ、ユーザからの指示入力に応じて、当該分割領域の登録画像を消去するか否かを判断するようにしてもよい。また、図17(g)に示すように、制御部7が、消去可能な分割領域に対応する重要度を表示させ、ユーザからの指示入力に応じた分割領域の登録画像を消去するようにしてもよい。
また、ハッシュテーブル103の記憶領域の分割方法は、上記(i)〜(iv)の方法に限るものではなく、他の分割方法を用いてもよい。また、上記(i)〜(iv)のうちのいずれか2つ以上を適宜組み合わせて用いてもよい。
図26は、上記(iii)と(iv)とを組み合わせ、登録期間(登録時期)と優先度とを用いて分割領域を設定した場合の一例を示す説明図である。この図に示す例では、ハッシュテーブル103の記憶領域を第1〜第4領域に分割し、登録期間に応じていずれかの分割領域に登録するように設定している。また、各分割領域をさらに第1〜第4小領域に分割し、各小分割領域をそれぞれ優先度1〜4の登録領域に割り当てている。
図26のような構成とすることにより、現在の登録期間のハッシュテーブルが一杯になった場合に、他の登録期間における優先度の低い領域を現在の登録期間の登録領域に変更して使用したり、現在の登録期間における優先度の低い領域を現在の登録期間における優先度の高い登録画像の登録領域に変更して使用したりすることができる。
また、以下に示す(V)のように、ユーザが指定した原稿のインデックスをハッシュテーブルから消去するようにしてもいよい。
(v)原稿のインデックスを指定して消去する場合
図36は、ユーザが指示した原稿のインデックスをハッシュテーブルから消去する処理の一例を示すフロー図である。
この図に示す例では、まず、ユーザがハッシュテーブルから消去したい原稿の画像データを入力し、制御部7が当該原稿の画像データを入力画像データとして取得する(S71)。ここで、入力画像データは、カラー画像入力装置2で原稿画像を読み取ることによって取得してもよく、通信装置5によって外部の装置から送信される入力画像データを取得してもよく、デジタルカラー複合機1に備えられるカードリーダー(図示せず)等を介して各種記録媒体から入力画像データを読み出して取得してもよい。
次に、制御部7は、文書照合処理部13の各部を制御し、S71で取得した入力データについて特徴点算出処理(S72)、特徴量算出処理(S73)、投票処理(S74)、類似性判定処理(S75)を行わせる。そして、制御部7は、類似性判定処理の結果、類似ありと判定されたか否か、すなわち類似する登録画像があるか否かを判断する(S76)。ここで、類似なしと判定された場合には、制御部7は、入力画像データに対応する原稿は登録されていない(消去すべき登録画像はない)と判断し、処理を終了する。
一方、S76において類似ありと判定された場合、制御部7は、類似ありと判定された登録画像のサムネイル画像を、操作パネル6の表示部、あるいはネットワーク等を介して外部接続されているコンピュータ等の表示装置に表示させる(S77)。
ユーザは、サムネイル表示された登録画像の中に、消去したい原稿が存在した場合は、サムネイル表示された登録原稿の中から消去したい登録画像をキー操作、タッチパネル操作、マウス操作等によって選択する。制御部7は、ユーザからの消去指示(消去すべき登録画像の選択指示)があったか否かを判断する(S78)。
S78において、ユーザからの消去指示がなかった場合、制御部7は、消去すべき登録画像は存在しないと判断し、終了する。なお、消去指示の有無の判断は、例えば所定時間経過しても入力指示がない場合に消去指示なしと判断するようにしてもよく、消去すべき登録画像が存在しない旨のユーザからの指示入力に基づいて判断するようにしてもよい。
S78において消去指示があった場合、制御部7は、選択された登録画像のIDをハッシュテーブルから消去させる(S79)。
その後、制御部7は、他に消去する登録画像が存在する否か、すなわち類似度が所定値以上である登録画像がS79で消去した登録画像以外に存在するか否かを判断し(S80)、他に消去すべき登録画像がない場合には処理を終了する。一方、他に消去すべき登録画像がある場合には、消去されていない登録画像のうち、類似度が所定値以上である登録画像について、S77以降の処理を再び行う。
なお、ユーザが、複数のサムネイル画像の中から消去したい登録画像を同時に複数個選択し、制御部7が選択された複数の登録画像を一括して消去するようにしてもよい。この場合、S80の処理を省略してもよい。
また、ユーザが、消去処理を行う分割領域(消去したい登録画像が存在する領域の条件)と、消去したい原稿とを指定するようにしてもよい。図37は、この場合の処理の一例を示すフロー図である。
この図に示す例では、まず、ユーザがハッシュテーブルから消去したい原稿の画像データを入力し、制御部7が当該原稿の画像データを入力画像データとして取得する(S81)。ここで、入力画像データは、カラー画像入力装置2で原稿画像を読み取ることによって取得してもよく、通信装置5によって外部の装置から送信される入力画像データを取得してもよく、デジタルカラー複合機1に備えられるカードリーダー(図示せず)等を介して各種記録媒体から入力画像データを読み出して取得してもよい。
次に、制御部7は、文書照合処理部13の各部を制御し、S81で取得した入力データについて特徴点算出処理(S82)、特徴量算出処理(S83)を行わせる。
また、制御部7は、ユーザから入力される消去条件(消去処理の対象となる登録画像が登録されている分割領域の条件)を取得する(S84)。例えば、制御部7は、分割領域の番号、登録画像の管理期間、登録画像の優先度(重要度)、登録画像に関連付けられているその他の情報など、分割領域を特定するための情報を操作パネル6あるいはネットワーク等を介して外部接続されたコンピュータ等の表示装置に表示する。なお、登録画像に関連付けられているその他の情報としては、例えば、ユーザ毎にハッシュテーブルを分割する場合、ユーザ名やユーザID等が挙げられる。ユーザは、表示されたこれらの情報を参照し、キー操作、タッチパネル操作、マウス操作等によって、消去条件を選択する。
なお、S82,S83の処理とS84の処理とを並行して行ってもよく、S84の処理をS82,S83の処理よりも先に行ってもよい。
次に、制御部7は、文書照合処理部13の各部を制御し、S84で取得した条件に対応する分割領域に登録されている登録画像に対して、S83で抽出した特徴量を用いて投票処理(S85)および類似性判定処理(S86)を行わせる。以降のS87〜S91の処理は、図36におけるS76〜80の処理と同様であるので、ここでは説明を省略する。
このように、消去条件(消去処理の対象とする分割領域)をユーザが指定することにより、投票処理および類似性判定処理を行う対象領域を限定できるので、これらの処理にかかる処理時間を大幅に短縮できる。
なお、上記したように、図36あるいは図37の処理において、入力画像データに対する類似度が所定値以上である登録画像が複数抽出された場合に、これら複数の登録画像のサムネイル画像を操作パネル6あるいは外部装置の表示部に表示し、ユーザが表示された複数の登録画像の中から消去したい登録画像を任意の数だけ選択し、選択された登録画像を一括して消去するようにしてもよい。
図38は、入力画像データに対する類似度が所定値以上である登録画像が8個抽出され、これら各登録画像のサムネイル画像を表示した場合の表示例を示す説明図である。
なお、入力画像データに対する類似度が所定値以上である登録画像が多数抽出された場合、抽出された登録画像のサムネイル画像を、複数ページに分けて表示するようにしてもよい。この場合、表示するページを切り替えるためのページ送りボタン等を表示させてもよい。あるいは、表示させる登録画像のサムネイル画像をスクロールさせるためのボタン等を表示させてもよい。図39は、登録画像が38個抽出され、これら各登録画像のサムネイル画像を5ページに分けて表示させる場合の1ページ分の表示例を示す説明図である。
また、入力画像データに対する類似度が所定値以上である登録画像が多数抽出された場合、これら各登録画像のサムネイル画像ではなくリスト(一覧表)を表示させるようにしてもよい。図40はリスト表示を行う場合の処理例を示すフロー図である。
図40におけるS101〜S107の処理は、図37におけるS81〜S87の処理と同様である。S107において類似ありと判定された場合、制御部7は、類似ありと判定された登録画像の数(類似度が所定値以上である登録画像の数)が予め設定された閾値未満であるか否かを判断する(S108)。なお、上記の閾値は、操作パネル6あるいは外部装置の表示部の大きさ等の条件に応じて、適宜設定しておけばよい。
そして、閾値未満であると判断した場合、制御部7は、操作パネル6あるいは外部装置の表示部に類似ありと判定された各登録画像のサムネイル画像を表示させる(S109)。
一方、閾値以上であると判断した場合、制御部7は、操作パネル6あるいは外部装置の表示部に類似ありと判定された各登録画像のリストを表示させる(S110)。図41は、リスト表示の一例を示す説明図であり、上記閾値が10に設定されており、抽出された登録画像数が15の場合の例を示している。また、図42は、リスト表示の他の例を示す説明図であり、上記閾値が50に設定されており、抽出された登録画像数が70の場合の例を示している。なお、この図に示すように、抽出された登録画像数が多い場合、リストを複数ページに分けて表示してもよい。この場合、表示するページを切り替えるためのページ送りボタン等を表示させてもよい。あるいは、表示させる登録画像のリストをスクロールさせるためのボタン等を表示させてもよい。
図41および図42に示した例では、その原稿が登録された日、時間、登録者のユーザID等のリストが表示されている。また、それぞれの登録原稿に対して、キー操作、タッチパネル操作、マウス操作等によって削除の要否を選択できるようになっている。なお、これらの情報に加えて、あるいはこれらの情報のうちのいずれかに代えて、各登録画像のIDを表示させてもよい。
S109あるいはS110の処理の後、制御部7は、ユーザからの消去指示(消去すべき登録画像の選択指示)があったか否かを判断する(S111)。なお、ユーザは、サムネイル表示あるいはリスト表示された登録画像の中に消去したい原稿が存在した場合は、表示された登録原稿の中から消去したい登録画像をキー操作、タッチパネル操作、マウス操作等によって選択すればよい。
S111において、ユーザからの消去指示がなかった場合、制御部7は、消去すべき登録画像は存在しないと判断し、終了する。なお、消去指示の有無の判断は、例えば所定時間経過しても入力指示がない場合に消去指示なしと判断するようにしてもよく、消去すべき登録画像が存在しない旨のユーザからの指示入力に基づいて判断するようにしてもよい。
S111において消去指示があった場合、制御部7は、選択された登録画像のIDをハッシュテーブルから消去させる(S112)。その後、制御部7は、他に消去する登録画像が存在する否か、すなわち類似度が所定値以上である登録画像がS112で消去した登録画像以外に存在するか否かを判断し(S113)、他に消去すべき登録画像がない場合には処理を終了する。一方、他に消去すべき登録画像がある場合には、消去されていない登録画像のうち、類似度が所定値以上である登録画像について、S108以降の処理を再び行う。
このように、類似度が所定値以上である登録画像の数が閾値以上であった場合にはリスト表示を行うことにより、多数の登録画像が抽出された場合に抽出された登録画像を示す表示の視認性を向上させ、ユーザに適切に認識させることができる。また、閾値未満であった場合には、サムネイル表示を行うことにより、抽出された登録画像をより好適にユーザに認識させることができる。ただし、これに限らず、抽出された登録画像の数にかかわらず、常にサムネイル表示あるいはリスト表示のいずれかを行うようにしてもよい。また、いずれの表示方法を採用するかをユーザが指定するようにしてもよい。
また、抽出された登録画像のサムネイル画像あるいはリストを表示させる際、入力画像データの各登録画像に対する類似度を示す値(例えば、各登録画像の得票数、各登録画像の得票数を正規化した値、入力画像データから抽出した特徴量の数と当該特徴量のうち登録画像の特徴量と一致する特徴量の数との差分あるいは比など)を表示させるようにしてもよい。
また、抽出された登録画像のサムネイルあるいはリストを表示させる際、入力画像データに対する類似度が高いものから順に表示させるようにしてもよく、登録された日時に応じた順序で表示してもよく、重要度に応じた順序で表示してもよく、ユーザ毎に表示してもよい。
また、図36、図37、および図40の例では、消去したい登録画像の画像データをカラー画像入力装置2で原稿画像を読み取ったり、通信装置5によって外部の装置から取得したり、デジタルカラー複合機1に備えられるカードリーダー(図示せず)等を介して各種記録媒体から取得したりする場合について説明したが、これに限るものではない。例えば、ハッシュテーブルに登録されている登録画像のサムネイル画像を順次表示させるようにしてもよい。図43は、ハッシュテーブルに登録されている登録画像のサムネイル画像を順次表示させる場合の処理例を示すフロー図である。
この図に示す例では、まず、制御部7が、ハッシュテーブルに登録されている登録画像のサムネイル画像を操作パネル6あるいは外部装置の表示部に表示させる(S121)。
次に、制御部7は、登録画像の消去処理を行うか否かを判断する(S122)。この判断は、例えばユーザからの消去処理の続行指示があったか否かによって判断すればよい。
そして、S122において登録画像の消去処理を行わないと判断した場合、制御部7は処理を終了する。
一方、S122において登録画像の消去処理を行うと判断した場合、制御部7は、ユーザからの消去する登録画像の選択指示を受け付け(S123)、選択された登録画像のIDをハッシュテーブルから消去させる(S124)。その後、制御部7は、S122以降の処理を再び行う。
なお、図43では、S121において、ハッシュテーブルに登録されている登録画像のサムネイル画像を表示させるものとしたが、これに限るものではなく、例えば、登録画像のリストを表示させてもよい。また、図36および図37に示した例と同様、ユーザが消去を希望する原稿の入力画像データを、カラー画像入力装置2、通信装置5、あるいはカードリーダー(図示せず)等で取得し、取得した入力画像データの登録画像に対する類似性判定を行い、類似すると判定された登録画像(類似度が所定値以上である登録画像)のサムネイル画像あるいはリストを表示するようにしてもよい。
また、ユーザが、消去処理を行う分割領域(消去したい登録画像が存在する領域の条件)を指定するようにしてもよい。図44は、この場合の処理の流れを示すフロー図である。
この図に示す例では、制御部7は、まず、ユーザから入力される消去条件(消去処理の対象となる登録画像が登録されている分割領域の条件)を取得する(S131)。例えば、制御部7は、分割領域の番号、登録画像の管理期間、登録画像の優先度(重要度)、登録画像に関連付けられているその他の情報など、分割領域を特定するための情報を操作パネル6あるいはネットワーク等を介して外部接続されたコンピュータ等の表示装置に表示する。そして、ユーザは、表示されたこれらの情報を参照し、キー操作、タッチパネル操作、マウス操作等によって、消去条件を選択する。
次に、制御部7は、ユーザから入力された消去条件に対応する分割領域に登録されている登録画像のサムネイル画像を操作パネル6あるいは外部装置の表示部に表示させる(S132)。なお、サムネイル画像を表示する構成に限らず、リストを表示するようにしてもよい。また、該当する登録画像の数が閾値未満の場合にはサムネイル表示を行い、閾値以上の場合にはリストを表示するようにしてもよい。また、サムネイル画像あるいはリストを複数ページに分けて表示するようにしてもよい。
その後、図43のS122〜S124と同様の処理を行う(S133〜S135)。
以上のように、本実施形態にかかるデジタルカラー複合機1は、特徴量と当該特徴量を有する登録画像とが対応付けて登録されるハッシュテーブル103を備え、入力画像データから抽出した特徴量と、ハッシュテーブル103に登録されている特徴量とに基づいて入力画像データと登録画像との類似度を判定するようになっている。そして、ハッシュテーブル103の記憶領域を所定の登録条件に基づいて複数の分割領域に分割し、登録画像と特徴量との対応関係を上記登録条件に応じて各分割領域に分散して登録するようになっている。
これにより、消去および更新する分割領域あるいは登録画像の条件を決定することで、消去および更新する領域を容易に特定し、この領域に対して一括して処理することができる。したがって、ハッシュテーブル全体としての記憶容量にかかわらず、消去および更新を効率的に行うことができるので、登録画像の消去および更新にかかる処理時間を短縮するとともに、この処置に伴う制御部への負荷を軽減することができる。
なお、本実施形態では、ハッシュテーブル103を1つ備え、このハッシュテーブル103の記憶領域を複数に分割して用いる構成について説明した。しかしながら、これに限らず、複数のハッシュテーブルを備え、これら各ハッシュテーブルを上記した説明における各分割領域として用いてもよい。また、複数のハッシュテーブルを備えるとともに、各ハッシュテーブルを複数に分割し、分割した各領域を上記した説明における各分割領域として用いてもよい。
また、本実施形態では、本発明をデジタルカラー複合機1に適用する場合について説明したが、本発明の適用対象はこれに限るものではない。例えば、モノクロの複合機に適用してもよい。また、複合機に限らず、例えば単体のファクシミリ通信装置、複写機、画像読取装置などに適用してもよい。
図27は、本発明をフラットベッドスキャナ(画像読取装置、画像処理装置)1’に適用した場合の構成例を示すブロック図である。
この図に示すように、フラットベッドスキャナ1’は、カラー画像入力装置2とカラー画像処理装置3’とを備えている。カラー画像処理装置3’は、A/D変換部11、シェーディング補正部12、文書照合処理部13、制御部7(図27では図示せず)、メモリ8(図27では図示せず)から構成されており、これに、カラー画像入力装置2が接続され、全体として画像読取装置1’を構成している。なお、カラー画像入力装置(画像読取手段)2におけるA/D変換部11、シェーディング補正部12、文書照合処理部13、制御部7、メモリ8の機能は、上述したデジタルカラー複合機1と略同様であるのでここでは説明を省略する。
また、文書照合処理部13の機能の一部を、デジタルカラー複合機1に通信可能に接続される外部装置(サーバー装置等)において実行するようにしてもよい。
図28は、上記した文書照合処理部13の機能をサーバー装置50と、このサーバー装置50にネットワークを介して通信可能に接続された複合機(MFP)A,B,・・・、プリンタA,B,・・・、ファクシミリA,B,・・・、コンピュータA,B,・・・、デジタルカメラA,B,・・・、スキャナA,B,・・・のうちのいずれか1つ以上とによって実現する画像処理システム100の構成を示す説明図である。
上記スキャナは、原稿台、光走査部、CCD(charge coupled device)等を備えており、原稿台に載置された原稿画像を光走査部によって走査することで原稿画像を読み込んで画像データを生成する。また、上記デジタルカメラは、撮像レンズ、CCD等(画像入力装置)を備えており、原稿画像、人物や風景等を撮影して画像データを生成する。なお、上記スキャナおよびデジタルカメラは、画像を適切に再現するために所定の画像処理(例えば各種補正処理等)を施す機能を有していてもよい。上記プリンタは、コンピュータ、スキャナ、デジタルカメラによって生成された画像データに基づく画像をシート(記録用紙)に印刷する。また、上記ファクシミリは、画像入力装置より読み込まれた画像データに対して、2値化処理、解像度変換処理、回転等の処理を行って所定の形式に圧縮した画像データを相手先に送信したり、相手先から送信されてきた画像データを伸張して画像出力装置の性能に応じて回転処理や解像度変換処理、中間調処理を施し、ページ単位の画像として出力したりする。また、上記複合機は、スキャナ機能、ファクシミリ送信機能、印刷機能(複写機能、プリンタ機能)のうちの少なくとも2つ以上を有するものである。また、上記コンピュータは、スキャナやデジタルカメラにより読み込まれた画像データに対して編集を行ったり、アプリケーションソフトウェアを用いて文書の作成を行ったりする。
図29は、制御部7および文書照合処理部13が有する機能の一部が、サーバー装置50に備えられている場合の構成例を示すブロック図である。
図29に示すように、デジタルカラー複合機1のカラー画像処理装置3は、特徴点算出部31および特徴量算出部32を備えた文書照合処理部13aと、文書照合処理部13aの動作を制御する制御部7aと、文書照合処理部13aの処理に必要な情報を記憶するメモリ8aと、外部の装置との通信を行う通信装置5とを備えている。また、サーバー装置50は、外部の装置との通信を行う通信装置51と、投票処理部33、類似度判定処理部
34、登録処理部37、および登録処理部37を備えた文書照合処理部13bと、文書照合処理部13bを制御する制御部7bと、ハッシュテーブル103、トータル登録数カウンタ104、領域別登録数カウンタ105、領域カウンタ106等の文書照合処理部13bの処理に必要な情報を記憶するメモリ8bとを備えている。なお、デジタルカラー複合機1に備えられる各機能ブロックとサーバー装置50に備えられる各機能ブロックとの間でデータの送受信が必要な場合には、制御部7aおよび制御部7bが通信装置5および51を制御して適宜データの送受信を行う。その他の機能については上述した構成と同様である。
また、図29の例では、特徴量算出部32の全部(特徴点抽出部32a、不変量算出部32b、ハッシュ値算出部32c)がデジタルカラー複合機1に備えられているが、これに限らず、例えば図30に示すように、特徴点抽出部32aおよび不変量算出部32bをデジタルカラー複合機1に備える一方、ハッシュ値算出部32cをサーバー装置50に備えた構成としてもよい。
また、特徴量算出部32の各部をサーバー装置50に備えておき、特徴点算出部31の算出した特徴点に関するデータをデジタルカラー複合機1からサーバー装置50に送信し、サーバー装置50に備えられる特徴量算出部32がメモリ8bに格納されているハッシュテーブル103と受信した特徴点のデータとに基づいてハッシュ値を算出するようにしてもよい。また、特徴点算出部31および特徴量算出部32の各部をサーバー装置50に備えておき、デジタルカラー複合機1からサーバー装置50に入力画像データを送信し、サーバー装置50に備えられる特徴点算出部31および特徴量算出部32がサーバー装置50から受信した入力画像データとメモリ8bに格納されているハッシュテーブル103とに基づいてハッシュ値を算出するようにしてもよい。
また、例えば、入力画像データと登録画像との類似性判定結果の保存、登録画像に対する類似ありと判定された場合に管理者へ通知する処理などをデジタルカラー複合機1で行うのではなく、ネットワークを介して接続されたサーバー装置を介して行うようにしてもよい。また、例えば、ハッシュテーブル103をデジタルカラー複合機1に通信可能に接続されるサーバー装置に設けてもよい。
また、デジタルカラー複合機1において入力画像データと登録画像との類似性判定を行った結果、類似ありと判定された入力画像データおよび当該入力画像データに関するログ情報(操作記録情報;例えば、原稿ID、処理要求を入力したユーザのユーザID、処理要求が入力された日時、処理要求の内容(処理モード、処理枚数、送信先、編集内容等))をデジタルカラー複合機1に通信可能に接続されるサーバー装置に送信し、これらの情報をサーバー装置に記憶させる構成としてもよく、また、必要に応じてこれらの情報をサーバー装置から所定の送信先(例えばデジタルカラー複合機1の管理者)に送信させる構成としてもよい。
また、登録画像に対する類似なしと判定された入力画像データを登録画像として登録するようにしてもよい。この場合、類似なしと判定された入力画像データが登録画像として逐次登録されることになるので、ハッシュテーブル103に登録する登録画像数は非常に多くなる。このため、古い登録画像についてのインデックスを消去していかないと、ハッシュテーブル103がオーバフローしてしまう。したがって、このような用途では、ハッシュテーブル103の消去,更新を頻繁に行う必要があるので、本発明の効果を特に好適に得ることができる。
例えば、ハッシュテーブルを月単位で12分割することにより、分割された各領域を一か月分のジョブログ結果格納用に割り当てることができる。この場合、所定の期間分(例えば11か月分)の登録画像が登録された段階で一番古い月の登録画像を一括して消去するように設定しておくことで、ハッシュテーブルの記憶領域の不足を回避することができる。また、ある月の登録文書数が、一分割領域に登録できる文書数を超えるような場合に、一番古い月の登録画像を記録している分割領域を、現在の月のジョブログ格納先として拡張するように設定しておくことで、月単位の登録画像数の変動が大きい場合でも、現在の月の登録画像を確実に登録することができる。
また、ハッシュテーブルに登録されている登録画像を消去する際、例えば深夜等の比較的システム負荷が低い時間帯に、消去処理を行うようにしてもよい。これにより、システム負荷を分散させることができる。
また、上記各実施形態において、デジタルカラー複合機1および/またはサーバー装置50に備えられる文書照合処理部および制御部を構成する各部(各ブロック)は、CPU等のプロセッサを用いてソフトウェアによって実現される。すなわち、デジタルカラー複合機1および/またはサーバー装置50は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるデジタルカラー複合機1および/またはサーバー装置50の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、デジタルカラー複合機1および/またはサーバー装置50に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによって達成される。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、デジタルカラー複合機1および/またはサーバー装置50を通信ネットワークと接続可能に構成し、通信ネットワークを介して上記プログラムコードを供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
また、デジタルカラー複合機1および/またはサーバー装置50の各ブロックは、ソフトウェアを用いて実現されるものに限らず、ハードウェアロジックによって構成されるものであってもよく、処理の一部を行うハードウェアと当該ハードウェアの制御や残余の処理を行うソフトウェアを実行する演算手段とを組み合わせたものであってもよい。
本発明のコンピュータシステムは、フラットベッドスキャナ・フィルムスキャナ・デジタルカメラなどの画像入力装置、所定のプログラムがロードされることにより上記類似度算出処理や類似性判定処理など様々な処理が行われるコンピュータ、コンピュータの処理結果を表示するCRTディスプレイ・液晶ディスプレイなどの画像表示装置、およびコンピュータの処理結果を紙などに出力するプリンタ等の画像形成装置により構成されてもよい。さらには、ネットワークを介してサーバーなどに接続するための通信手段としてのネットワークカードやモデムなどが備えられていてもよい。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。