(実施形態1)
以下、本発明を実施形態1を示す図面に基づいて説明する。図1は本発明に係る画像処理装置を備える画像形成装置100の構成を示すブロック図である。画像形成装置100(例えば、デジタルカラー複写機や複合機能、プリンタ機能、ファックスや電子メール配信機能を備えた複合機)は、カラー画像入力装置1、カラー画像処理装置2(画像処理装置)、画像形成手段としてのカラー画像出力装置3、各種操作を行うための操作パネル4などを備える。カラー画像入力装置1で原稿を読み取ることにより得られたRGB(R:赤、G:緑、B:青)のアナログ信号の画像データは、カラー画像処理装置2へ出力され、カラー画像処理装置2で所定の処理が行われ、CMYK(C:シアン、M:マゼンタ、Y:イエロー、K:黒)のデジタルカラー信号としてカラー画像出力装置3へ出力される。
カラー画像入力装置1は、例えば、CCD(Charged Coupled Device)を備えたスキャナであり、原稿画像からの反射光像をRGBのアナログ信号として読み取り、読み取ったRGB信号をカラー画像処理装置2へ出力する。また、カラー画像出力装置3は、原稿画像の画像データを記録紙上に出力する電子写真方式やインクジェット方式などを用いた画像形成手段である。また、カラー画像出力装置3は、ディスプレイ等の表示装置であってもよい。
カラー画像処理装置2は、A/D変換部20、シェーディング補正部21、入力階調補正部22、領域分離処理部23、文書照合処理部24、色補正部25、黒生成下色除去部26、空間フィルタ処理部27、出力階調補正部28、階調再現処理部29、これらのハードウエア各部の動作を制御するCPU(Central Processing Unit )又はASIC(Application Specific Integrated Circuit)などにより構成される。
A/D変換部20は、カラー画像入力装置1から入力されたRGB信号を、例えば、10ビットのデジタル信号に変換し、変換後のRGB信号をシェーディング補正部21へ出力する。
シェーディング補正部21は、入力されたRGB信号に対して、カラー画像入力装置1の照明系、結像系、撮像系などで生じた各種の歪みを取り除く補正処理を行い、補正後のRGB信号を入力階調補正部22へ出力する。
入力階調補正部22は、シェーディング補正部21にて各種の歪みが取り除かれたRGB信号に対して、カラーバランスを整える処理を行うとともに、濃度信号などカラー画像処理装置2で採用されている画像処理システムが扱い易い信号に変換する処理を行う。また、入力階調補正部22は、下地濃度の除去又はコントラストなど画質調整処理を施し、処理後のRGB信号を領域分離処理部23へ出力する。
領域分離処理部23は、入力されたRGB信号に基づき、入力された画像中の各画素が、文字領域、網点領域、写真領域の何れであるかを分離する。領域分離処理部23は、分離結果に基づいて、各画素がどの領域に属しているかを示す領域識別信号を黒生成下色除去部26、空間フィルタ処理部27、出力階調補正部28、階調再現処理部29へ出力する。また、領域分離処理部23は、入力されたRGB信号をそのまま後段の文書照合処理部24へ出力する。
文書照合処理部24は、入力された画像(原稿画像)を二値化し、二値画像に基づいて特定された連結領域の特徴点(例えば、重心)を算出し、算出した特徴点の中から複数の特徴点を選択し、選択した特徴点に基づいて不変量としての特徴量(例えば、ハッシュ値)を算出する。文書照合処理部24は、原稿を登録する原稿登録モード時においては、算出した特徴量に基づいて入力された画像を登録画像として登録する。また、文書照合処理部24は、原稿画像を分類するとともに各原稿画像の構成が正しいか否かを検出する場合、算出した特徴量に基づいて原稿画像が登録画像に類似するか否かを判定する。そして、判定結果に基づいて、原稿種類毎に原稿画像を分類し、各原稿種類に含まれる原稿画像の構成が登録画像の構成と一致するか否かを判断する。これにより、原稿画像が属する原稿種類を判別することができるとともに、判別された原稿種類において、原稿画像のページ脱落の有無、原稿画像の順番の入れ替わりの有無、原稿画像の重送の有無等を判断することができる。
入力された原稿画像の構成が登録画像の構成と異なる場合、例えば、原稿画像の一部にページの脱落が有る場合、原稿画像の順番が入れ替わった場合、画像形成装置100は、文書照合処理部24によるすべての原稿画像に対する処理が終了した時点で、原稿画像の構成と登録画像の構成とが異なる位置(エラー発生位置、原稿分割再開位置)を例えば操作パネル4に表示させることによりユーザに通知する。また、文書照合処理部24は、入力されたRGB信号をそのまま後段の色補正部25へ出力する。
文書照合処理部24を、上記のように領域分離処理部23の後段に設けるのではなく入力階調補正部22と並列して、あるいは、シェーディング補正部21と入力階調補正部22との間に設けるようにしても良い。なお、この場合、カラーバランスを整える処理と濃度信号に変換する処理とはシェーディング補正部21で行われる。
色補正部25は、入力されたRGB信号をCMYの色空間に変換し、カラー画像出力装置3の特性に合わせて色補正を行い、補正後のCMY信号を黒生成下色除去部26へ出力する。具体的には、色補正部25は、色再現の忠実化のため、不要吸収成分を含むCMY色材の分光特性に基づいた色濁りを取り除く処理を行う。
黒生成下色除去部26は、色補正部25から入力されたCMY信号に基づいて、K(黒)信号を生成するとともに、入力されたCMY信号からK信号を差し引いて新たなCMY信号を生成し、生成したCMYK信号を空間フィルタ処理部27へ出力する。
黒生成下色除去部26における処理の一例を示す。例えば、スケルトンブラックによる黒生成を行う処理の場合、スケルトンカーブの入出力特性をy=f(x)とし、入力されるデータをC、M、Yとし、出力されるデータをC′、M′、Y′、K′とし、UCR(Under Color Removal)率をα(0<α<1)とすると、黒生成下色除去処理により出力されるデータ夫々は、K′=f{min(C、M、Y)}、C′=C−αK′、M′=M−αK′、Y′=Y−αK′で表される。
空間フィルタ処理部27は、黒生成下色除去部26から入力されたCMYK信号に対して、領域識別信号に基づいたデジタルフィルタによる空間フィルタ処理を行う。これにより、画像データの空間周波数特性が補正され、カラー画像出力装置3における出力画像のぼやけ、又は粒状性劣化を防止する。例えば、空間フィルタ処理部27は、領域分離処理部23において文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、鮮鋭強調処理を施し高周波成分を強調する。また、空間フィルタ処理部27は、領域分離処理部23において網点領域に分離された領域を、入力網点成分を除去するためのローパス・フィルタ処理を施す。空間フィルタ処理部27は、処理後のCMYK信号を出力階調補正部28へ出力する。
出力階調補正部28は、空間フィルタ処理部27から入力されたCMYK信号に対して、カラー画像出力装置3の特性値である網点面積率に変換する出力階調補正処理を行い、出力階調補正処理後のCMYK信号を階調再現処理部29へ出力する。
階調再現処理部29は、領域分離処理部23から入力された領域識別信号に基づいて、出力階調補正部28から入力されたCMYK信号に対して所定の処理を行う。例えば、階調再現処理部29は、文字領域に分離された領域を、特に黒文字又は色文字の再現性を高めるため、カラー画像出力装置3における高周波成分の再現に適するように二値化処理又は多値化処理を行う。
また、階調再現処理部29は、領域分離処理部23において網点領域に分離された領域を、最終的に画像を画素に分離して、それぞれの階調を再現できるように階調再現処理(中間調生成)を行う。さらに、階調再現処理部29は、領域分離処理部23において写真領域に分離された領域を、カラー画像出力装置3における階調再現性に適するように二値化処理又は多値化処理を行う。
カラー画像処理装置2は、階調再現処理部29で処理された画像データ(CMYK信号)を記憶部(不図示)に一旦記憶し、画像形成をする所定のタイミングで記憶部に記憶した画像データを読み出し、読み出した画像データをカラー画像出力装置3へ出力する。これらの制御は、例えば、CPU(不図示)により行われる。
操作パネル4は、例えば、液晶ディスプレイなどの表示部と設定ボタンなどより構成され、操作パネル4より入力された情報(例えば、原稿を登録するための原稿登録モードの指定、分類される原稿毎に原稿画像に対するファイリング、複写、電子配信などの出力処理のオプション選択など)に基づいてカラー画像入力装置1、カラー画像処理装置2、カラー画像出力装置3の動作が制御される。
図2は文書照合処理部24の構成を示すブロック図である。文書照合処理部24は、特徴点算出部241、特徴量算出部242、投票処理部243、類似度判定処理部244、複数枚原稿判定処理部245、メモリ246、前記各部を制御する制御部247などを備えている。
特徴点算出部241は、入力された画像に対して後述する所定の処理を行うとともに、入力された画像を二値化し、二値画像に基づいて特定された連結領域の特徴点(例えば、連結領域を構成する各画素の二値画像における座標値を累積加算し、累積加算した座標値を連結領域に含まれる画素数で除算した値)を抽出(算出)し、抽出した特徴点をメモリ246に記憶させると共に特徴量算出部242へ出力する。
図3は特徴点算出部241の構成を示すブロック図である。特徴点算出部241は、無彩化処理部2410、解像度変換部2411、フィルタ処理部2412、二値化処理部2413、重心算出部2414などを備えている。
無彩化処理部2410は、入力された画像がカラー画像である場合、カラー画像を無彩化して、輝度信号又は明度信号に変換し、変換後の画像を解像度変換部2411へ出力する。例えば、輝度信号Yは、各画素RGBの色成分を夫々Rj、Gj、Bjとし、各画素の輝度信号をYjとして、Yj=0.30×Rj+0.59×Gj+0.11×Bjで表すことができる。なお、上式に限らず、RGB信号をCIE1976L* a* b* 信号に変換することもできる。
解像度変換部2411は、入力された画像がカラー画像入力装置1で光学的に変倍された場合であっても、所定の解像度になるように入力された画像を再度変倍し、変倍された画像をフィルタ処理部2412へ出力する。これにより、カラー画像入力装置1で変倍処理が行われ解像度が変化した場合であっても、その影響を受けることなく特徴点の抽出を行うことができ、精度良く原稿を分類することができる。特に、縮小された文字などの場合、二値化処理を行って連結領域を特定するとき、文字が潰れているために本来離れている領域が繋がった状態で特定され、算出される重心がずれる虞を防止できる。また、解像度変換部2411は、カラー画像入力装置1で等倍時に読み込まれる解像度よりも小さい解像度に変換する。例えば、カラー画像入力装置1において600dpi(dot per inch)で読み込まれた画像を300dpiに変換する。これにより、後段における処理量を低減することができる。
フィルタ処理部2412は、入力された画像が有する空間周波数特性を補正し(例えば、画像の強調化処理及び平滑化処理など)、補正後の画像を二値化処理部2413へ出力する。フィルタ処理部2412は、カラー画像入力装置1の空間周波数特性が機種ごとに異なるため、異なる空間周波数特性を所要の特性に補正する。カラー画像入力装置1が出力する画像(例えば、画像信号)には、レンズ又はミラーなどの光学系部品、CCDの受光面のアパーチャ開口度、転送効率、残像、物理的な走査による積分効果及び走査むら等に起因して画像のぼけなどの劣化が生ずる。フィルタ処理部2412は、境界又はエッジなどの強調処理を行うことにより、画像に生じたぼけなどの劣化を修復する。また、フィルタ処理部2412は、後段で処理される特徴点の抽出処理に不要な高周波成分を抑制するための平滑化処理を行う。これにより、特徴点を精度良く抽出することができ、結果として画像の類似度の判定を精度良く行うことが可能となる。なお、フィルタ処理部2412で使用するフィルタ係数は、使用されるカラー画像入力装置1の機種又は特性などに応じて適宜設定することができる。
図4はフィルタ処理部2412のフィルタ係数の例を示す説明図である。図に示すように、空間フィルタは、例えば、7×7(7行、7列)の大きさを有し、強調処理及び平滑化処理を行う混合フィルタである。入力された画像の画素を走査し、空間フィルタによる演算処理をすべての画素に対して行う。なお、空間フィルタの大きさは、7×7の大きさに限定されるものではなく、3×3、5×5などの大きさであってもよい。また、フィルタ係数の数値は一例であって、これに限定されるものではなく、使用されるカラー画像入力装置1の機種又は特性などに応じて適宜設定することができる。
二値化処理部2413は、入力された画像の輝度値(輝度信号)又は明度値(明度信号)を閾値と比較することにより画像を二値化し、二値化した二値画像を重心算出部2414へ出力する。
重心算出部2414は、二値化処理部2413から入力された二値画像の各画素の二値化情報(例えば、「1」、「0」で表される)に基づいて、各画素に対してラベリング(ラベル付け処理)を行い、同一ラベルが付された画素が連結した連結領域を特定し、特定した連結領域の重心を特徴点として抽出し、抽出した特徴点をメモリ246に記憶させると共に特徴量算出部242へ出力する。なお、特徴点は、二値画像における座標値(x座標、y座標)で表すことができる。
図5は連結領域の特徴点の例を示す説明図である。図において、特定された連結領域は、文字「A」であり、同一ラベルが付された画素の集合として特定される。この文字「A」の特徴点(重心)は、図中黒丸で示される位置(x座標、y座標)となる。
図6は文字列に対する特徴点の抽出結果の例を示す説明図である。複数の文字から構成される文字列の場合、文字の種類により夫々異なる座標を有する特徴点が複数抽出される。
特徴量算出部242は、特徴点算出部241から入力された特徴点(すなわち、連結領域の重心の座標値)夫々を注目特徴点とし、例えば、注目特徴点からの距離が小さい周辺の他の特徴点を4つ抽出する。
図7は注目特徴点と周辺の特徴点を示す説明図である。図に示すように、注目特徴点P1に対して、例えば、閉曲線S1で囲まれる4つの特徴点を抽出する(注目特徴点P1に対しては、注目特徴点P2も1つの特徴点として抽出されている)。また、注目特徴点P2に対して、例えば、閉曲線S2で囲まれる4つの特徴点を抽出する(注目特徴点P2に対しては、注目特徴点P1も1つの特徴点として抽出されている)。
特徴量算出部242は、抽出した4つの特徴点の中から3つの特徴点を選択して、不変量を算出する。なお、選択する特徴点は3つに限られるものではなく、4つ、5つなどの特徴点を選択することもできる。求めたい不変量の種類によって選択すべき特徴点の数が異なる。例えば、3点から求められる不変量は相似不変量(原稿画像の回転、平行移動、拡大縮小を含む幾何学的変化に対して不変なパラメータ)となる。
図8は注目特徴点P1による不変量の算出例を示す説明図であり、図9は注目特徴点P2による不変量の算出例を示す説明図である。図8に示すように、注目特徴点P1の周辺の4つの特徴点から3つの特徴点を選択し、3通りの不変量夫々をH1j(j=1、2、3)とする。不変量H1jは、H1j=A1j/B1jで表される式で算出する。ここで、A1j、B1j夫々は特徴点間の距離を示しており、特徴点間の距離は、各周辺特徴点の座標値に基づいて算出される。これにより、例えば、原稿が回転、移動、傾いた場合であっても、不変量H1jは変化せず、画像の類似度の判定を精度良く行うことができ、類似する原稿を精度良く分類することができる。
同様に、図9に示すように、注目特徴点P2の周辺の4つの特徴点から3つの特徴点を選択し、3通りの不変量夫々をH2j(j=1、2、3)とする。不変量H2jは、H2j=A2j/B2jで表される式で算出する。ここで、A2j、B2j夫々は特徴点間の距離を示しており、上記と同様に特徴点間の距離は、各周辺特徴点の座標値に基づいて算出される。以下同様に、他の注目特徴点に対して不変量を算出することができる。
特徴量算出部242は、夫々の注目特徴点により算出された不変量に基づいて、ハッシュ値(特徴量)Hiを算出する。注目特徴点Piのハッシュ値Hiは、Hi=(Hi1×102 +Hi2×101 +Hi3×100 )/Eで表される。ここで、Eは余りをどの程度設定するかにより決定される定数であり、例えば、「10」とした場合には、余りは「0」〜「9」となり、これが算出するハッシュ値の取り得る範囲となる。また、iは自然数であり特徴点の数を表している。
注目特徴点による不変量を算出する方法は上記方法に限定されない。図10は注目特徴点P3による不変量の算出例を示す説明図であり、図11は注目特徴点P4による不変量の算出例を示す説明図である。図10に示すように、注目特徴点P3の周辺の4つの特徴点から3つの特徴点を選択し、4通りの不変量夫々をH3j(j=1、2、3、4)とする。不変量H3jは、上記方法と同様に、H3j=A3j/B3jにより算出してもよい。
同様に、図11に示すように、注目特徴点P4の周辺の4つの特徴点から3つの特徴点を選択し、4通りの不変量夫々をH4j(j=1、2、3、4)とする。不変量H4jは、H4j=A4j/B4jにより算出してもよい。この場合、注目特徴点Piのハッシュ値Hiは、Hi=(Hi1×103 +Hi2×102 +Hi3×101 +Hi4×100)/Eで算出される。
なお、特徴量としての上記ハッシュ値は一例であって、これに限定されるものではなく、他のハッシュ関数を用いることができる。上記では、周辺の他の特徴点として4点を抽出する例を示しているが、4点に限定されるものではない。例えば、6点抽出するようにしても良い。この場合、6点の特徴点から5点を抽出し、5点を抽出する6通りそれぞれの方法について、5点から3点を抽出して不変量を求め、ハッシュ値を算出するようにしても良い。
特徴量算出部242は、例えば、複数のページで構成される原稿の画像を登録する場合(原稿登録モードの場合)、原稿に含まれる各画像毎に登録画像の原稿ページインデックス(例えば、ID1、ID2、…)を設定する。原稿ページインデックスは、個々の登録画像を識別するものであり、文書を構成する原稿の各ページを識別する。
特徴量算出部242は、原稿登録モードの場合、各原稿毎に原稿種類インデックス(例えば、DocID1、DocID2、…)を設定する。原稿種類インデックスは、複数のページで構成される文書夫々(原稿の種類)を識別するものに相当し、多数の原稿を文書単位で分類する際の分類単位を識別する。
特徴量算出部242は、原稿登録モードの場合、登録画像毎に上述の処理で算出したハッシュ値(例えば、H1、H2、…)及び設定した原稿ページインデックスをハッシュテーブルに登録する。
図12はハッシュテーブル2461の構造を示す説明図である。図12(a)に示すように、ハッシュテーブル2461の構造は、ハッシュ値及び原稿ページインデックスの各欄により構成されている。より具体的には、原稿ページインデックスに対応して、原稿中の位置を示すポイントインデックス、及び不変量(いずれも不図示)が登録されている。画像の類似度を判定するため、予め照合する画像・文書画像などの照合用情報をハッシュテーブル2461に登録しておく。ハッシュテーブル2461はメモリ246に記憶してある。なお、図12(b)に示すように、ハッシュ値が等しい場合(H1=H5)、ハッシュテーブル2461の2つのエントリを1つにまとめることもできる。
図13は原稿の画像を登録する場合の一例を示す説明図である。図13(a)に示すように、3ページ(P1、P2、P3)の原稿を登録する場合、特徴量算出部242は、図13(b)に示すように、3ページ(P1、P2、P3)の画像に対して、ページ順にそれぞれ原稿ページインデックスID1、ID2、ID3を設定するとともに、各原稿ページインデックスID1、ID2、ID3の画像に対してハッシュ値(例えば、H1、H2、…)を算出する。特徴量算出部242は、各画像が原稿の最初のページであるか否かを示す先頭フラグ、各画像が原稿の最後のページであるか否かを示す終了フラグを設定する。なお、各画像が原稿の最初のページである場合、特徴量算出部242は、対する先頭フラグを1に設定し、各画像が原稿の最後のページである場合、対する終了フラグを1に設定し、各画像がこれら以外のページである場合、対する先頭フラグ及び終了フラグを0に設定する。
特徴量算出部242は、3ページの原稿全体(原稿の種類)を識別するための原稿種類インデックスDocID1を設定するとともに、ページ順に各画像に設定した原稿ページインデックスの数を登録ページ数(この場合、「3」)として設定する。特徴量算出部242は、原稿ページインデックス、先頭フラグ、終了フラグ、原稿種類インデックスを後述する原稿画像テーブルに登録する。また、特徴量算出部242は、原稿種類インデックス、登録ページ数を後述する原稿分類テーブルに登録する。
図14は登録する原稿の一例を示す説明図である。図14に示すように、2種類の原稿を登録する場合について説明する。3ページの登録画像で構成された原稿に対して原稿種別インデックスDocID1が設定され、各ページには、原稿ページインデクッスID1、ID2、ID3が設定されている。また、同様に、2ページの登録画像で構成された原稿に対して原稿種別インデックスDocID2が設定され、各ページには、原稿ページインデクッスID4、ID5が設定されている。
図15は原稿画像テーブル2462及び原稿分類テーブル2463の構造を示す説明図である。なお、図15(a)に原稿画像テーブル2462を、図15(b)に原稿分類テーブル2463をそれぞれ示している。原稿画像テーブル2462は、原稿ページインデックス、先頭フラグ、終了フラグ、原稿種類インデックスの各欄で構成され、原稿分類テーブル2463は、原稿種類インデックス、登録ページ数の各欄で構成される。原稿画像テーブル2462及び原稿分類テーブル2463は、原稿登録モードにおいて、原稿を登録する都度、更新される。図15は図14で示される2種類の原稿が登録された場合の原稿画像テーブル2462及び原稿分類テーブル2463を示す。
すなわち、原稿画像テーブル2462によれば、原稿ページインデックスがID1で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の最初のページである。原稿ページインデックスがID2で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の最初のページでも最後のページでもない。原稿ページインデックスがID3で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の最後のページである。また、原稿分類テーブル2463によれば、原稿種類インデックスがDocID1で識別される原稿の登録ページ数は「3」である。
同様に原稿画像テーブル2462によれば、原稿ページインデックスがID4で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿に含まれており、この原稿の最初のページである。原稿ページインデックスがID5で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿に含まれており、この原稿の最後のページである。また、原稿分類テーブル2463によれば、原稿種類インデックスがDocID2で識別される原稿の登録ページ数は「2」である。
文書照合処理部24が、入力された原稿画像を原稿種類毎に分類し、各原稿種類に含まれる原稿画像の構成が登録画像の構成と一致するか否かを判断する際、特徴量算出部242は、原稿画像が予め登録されている登録画像に類似するか否かを判定する場合、算出したハッシュ値を原稿画像毎にメモリ246に記憶する。
投票処理部243は、特徴量算出部242が算出したハッシュ値(特徴量)に基づいて、メモリ246に記憶されたハッシュテーブル2461を検索し、ハッシュ値が一致する場合、該ハッシュ値に登録されている原稿ページインデックス(すなわち、ハッシュ値が一致する画像)に投票する。投票処理部243は、累積加算した得票数を投票結果として類似度判定処理部244へ出力する。
類似度判定処理部244は、投票処理部243から入力された投票結果に基づいて、原稿画像がいずれの登録画像に類似するかを判定し、判定結果を複数枚原稿判定処理部245へ出力する。より具体的には、類似度判定処理部244は、投票処理部243から入力された得票数を原稿画像の最大得票数(特徴点の数×1つの特徴点から算出されるハッシュ値の数で表される)で除算して正規化した類似度を算出する。類似度判定処理部244は、算出した類似度と予め定めた閾値Th(例えば、0.8)とを比較し、類似度が閾値Th以上である場合には、その類似度が算出された登録画像に類似すると判定し、類似度が閾値Thより小さい場合には、原稿画像に類似する登録画像はないと判定して、その判定結果(類似する場合には、原稿ページインデックス)を複数枚原稿判定処理部245へ出力する。なお、投票処理部243から入力された得票数を予め定めた閾値と比較し、得票数が閾値以上であれば、原稿画像が予め登録された登録画像に類似すると判定し、さらに類似と判定された中で最も得票数の高い登録画像が原稿画像に一致すると判定することもできる。
図16は投票結果に基づく類似判定の一例を示す説明図である。図13に示すように、原稿画像から算出されたハッシュ値毎にハッシュテーブルを検索して投票した結果、原稿ページインデックスがID1、ID2、ID3で示される登録画像に対して投票されたとする。投票の結果、得られたそれぞれの得票数を原稿画像の最大得票数で除算して正規化した類似度N1、N2、N3を算出する。算出した類似度が閾値Th以上であるのは、原稿ページインデックスがID1で示される登録画像であるため、原稿画像は、原稿ページインデックスID1の登録画像に類似すると判定される。
複数枚原稿判定処理部245は、処理中のページ(原稿画像)に対応する先頭フラグ、終了フラグ、登録ページ数、読み取った原稿画像のページ数を示す全体カウンタTC、分割された各原稿種類における原稿画像のページ数を示すページカウンタPC、エラーの発生を示すエラーフラグ、エラーの発生したページ数を示すエラー発生位置などの記憶部を備えている。処理を行う前は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置は、いずれも「0」に初期設定されている。なお、エラーが発生した場合、複数枚原稿判定処理部245はエラーフラグを1に設定する。
複数枚原稿判定処理部245は、原稿画像に類似する登録画像がある場合、即ち、類似度判定処理部244から判定結果として原稿ページインデックスが入力された場合、その原稿ページインデックスに基づいて原稿画像テーブル2462を検索し、その原稿ページインデックスの先頭フラグ、終了フラグ、原稿種類インデックスを特定する。また、複数枚原稿判定処理部245は、特定した原稿種類インデックスに基づいて原稿種類テーブル2463を検索し、その原稿種類インデックスに対応する登録ページ数を特定し、特定した先頭フラグ、終了フラグ、登録ページ数を、処理中の原稿画像に対応する先頭フラグ、終了フラグ、登録ページ数に設定する。
なお、原稿画像に類似する登録画像がないという判定結果が類似度判定処理部244から入力された場合、複数枚原稿判定処理部245は、先頭フラグ、終了フラグ、登録ページ数を1に設定する。また、複数枚原稿判定処理部245は、類似度判定処理部244から判定結果を取得する都度、全体カウンタTCに1を加算する。
複数枚原稿判定処理部245は、原稿画像が登録画像に類似すると初めて判定した場合、設定された先頭フラグが1であるか否かを判定する。先頭フラグが1ではない場合、即ち、初めて原稿画像が類似していると判定された登録画像が、この登録画像を含む原稿種類の最初の原稿ではない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
先頭フラグが1である場合、即ち、原稿画像が類似していると初めて判定された登録画像が、この登録画像を含む原稿種類の最初の原稿である場合、複数枚原稿判定処理部245は、ページカウンタPCの値を1に設定する。そして複数枚原稿判定処理部245は、設定された終了フラグが1であるか否かを判定し、終了フラグが1である場合、ページカウンタPCの値が登録ページ数と一致するか否かを判定する。終了フラグが1である場合にページカウンタPCの値が登録ページ数と一致しない場合、即ち、原稿画像が類似する登録画像が原稿種類における最後の原稿であるのに、この原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数(ページカウンタPCの値)が、原稿種類に含まれる登録画像の枚数(登録ページ数)に一致しない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
終了フラグが1である場合にページカウンタPCの値が登録ページ数と一致する場合、原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数が、原稿種類に含まれる登録画像の枚数に一致するので、複数枚原稿判定処理部245は、原稿画像の構成が予め登録された原稿種類に含まれる登録画像の構成と一致するとする。従って、この場合、複数枚原稿判定処理部245は、この原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定する。
また複数枚原稿判定処理部245は、先頭フラグが1である場合、エラーフラグが1であるか否かを判定し、エラーフラグが1である場合、エラー発生位置の値を記録装置(不図示)に記録し、この原稿画像の前に処理された原稿画像が前の原稿種類に含まれる最後の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定する。なお、決定された原稿分割位置を示す情報は、エラーの発生位置とともに判定信号として記録装置へ出力されて記憶される。判定信号を記録する記録装置は、カラー画像処理装置2の内部に設けられていても外部に設けられていても良く、不揮発性のメモリであれば、検知したエラーの位置を保存しておくことができる。
さらに、複数枚原稿判定処理部245がすべての原稿画像に対する上述した処理が終了した場合、画像形成装置100は、記録装置に記録させたエラー発生位置を操作パネル4に表示することによって、カラー画像入力装置1から入力された原稿の構成が、予め登録された原稿の構成とは異なること、及び異なる位置をユーザに通知することができる。
上述した判定信号は、例えば、原稿画像とともにネットワークを介してプリンタや複合機に送信することができ、コンピュータを介して又は直接プリンタへ出力することができる。
これにより、利用者が特別な操作を行うことなく、入力された原稿画像を予め登録された原稿の構成通りに分類することができるとともに、原稿画像の構成が、予め登録された原稿の構成に一致するか否かを判断できる。また、多くの原稿画像が入力された場合であっても、原稿画像を容易に区切ることができ、分類すべき原稿間を検知し分割することができるとともに、分類された原稿毎に、予め登録された原稿の構成に一致するか否かを判断できる。さらに、入力された原稿画像の構成が予め登録された原稿の構成と異なる場合にはその旨をユーザに通知することができる。
次にカラー画像処理装置2の動作について説明する。図17及び図18は原稿登録処理の手順を示すフローチャートである。なお、原稿登録処理は、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿登録処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。以下、カラー画像処理装置2を「処理部」という。
処理部は、原稿登録モードであるか否かを判定し(S11)、原稿登録モードでない場合(S11でNO)、ステップS11の処理を続け、利用者が操作パネル4から原稿登録モードを指定するまで待機する。原稿登録モードである場合(S11でYES)、処理部は、登録画像を取得する(S12)。この場合、登録画像は原稿を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、原稿種類インデックスを設定する(S13)。処理部は、登録画像の特徴点を算出し(S14)、算出した特徴点に基づいてハッシュ値(特徴量)を算出する(S15)。処理部は、登録画像の原稿ページインデックスを設定し(S16)、登録画像の先頭フラグを設定し(S17)、すべての登録画像の処理が終了したか否かを判定する(S18)。
すべての登録画像の処理が終了していない場合(S18でNO)、処理部は、ステップS14以降の処理を続け、残りの登録画像のハッシュ値を算出するとともに、原稿ページインデックス及び先頭フラグの設定を行う。すべての登録画像の処理が終了した場合(S18でYES)、処理部は、各登録画像の終了フラグを設定する(S19)。これにより、各登録画像毎に原稿ページインデックス、先頭フラグ、終了フラグ、原稿種類インデックスが設定される。
処理部は、設定した原稿ページインデックス及び算出したハッシュ値をハッシュテーブル2461に格納することによりハッシュテーブル2461を更新する(S20)。処理部は、設定した原稿ページインデックス、先頭フラグ、終了フラグ及び原稿種類インデックスを原稿画像テーブル2462に格納することにより原稿画像テーブル2462を更新し(S21)、設定した原稿種類インデックス及び登録ページ数を原稿分類テーブル2463に格納することにより原稿分類テーブル2463を更新し(S22)、処理を終了する。
図19乃至図21は原稿画像の構成の検出処理の手順を示すフローチャートである。なお、原稿画像の構成の検出処理も、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿画像の構成検出処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。
処理部は初期設定を行う(S41)。具体的には、処理部は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置の各値を0に設定する。処理部は、すべての原稿画像の処理が終了したか否かを判定し(S42)、すべての原稿画像の処理が終了していない場合(S42でNO)、原稿画像を取得する(S43)。この場合、原稿画像は原稿を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、取得した原稿画像に対して文書照合処理を行う(S44)。なお、文書照合処理の詳細については後述する。すべての原稿画像の処理が終了した場合(S42でYES)、処理部は、エラーフラグが1であるか否かを判定し(S45)、エラーフラグが1である場合(S45でYES)、エラー発生位置の値を記録装置に記録する(S46)。処理部は、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S47)、処理を終了する。エラーフラグが0である場合(S45でNO)、処理部は、ステップS46の処理をスキップし、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S47)、処理を終了する。
処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かを判定する(S48)。類似度が閾値Thより大きい場合(S48でYES)、処理部は、原稿画像が類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2462及び原稿種類テーブル2463を検索し、その原稿ページインデックスの先頭フラグ、終了フラグ、登録ページ数を特定し、処理中の原稿画像に対応する先頭フラグ、終了フラグ、登録ページ数に設定する(S49)。類似度が閾値Thより小さい場合(S48でNO)、処理部は、処理中の原稿画像に対応する先頭フラグ、終了フラグ、登録ページ数の各値に1を設定する(S50)。
処理部は、全体カウンタTCに1を加算する(S51)。処理部は、先頭フラグが1であるか否かを判定し(S52)、先頭フラグが0である場合(S52でNO)、エラーフラグが0であるか否かを判定する(S53)。エラーフラグが0である場合(S53でYES)、処理部は、エラーフラグを1に設定し(S54)、エラー発生位置に全体カウンタTCの値を設定し(S55)、ステップS42へ処理を戻す。エラーフラグが1である場合(S53でNO)、処理部は、ステップS54,55の処理をスキップし、ステップS42へ処理を戻し、ステップS42以降の処理を続け、残りの原稿画像の処理を行う。
先頭フラグが1である場合(S52でYES)、処理部は、エラーフラグが1であるか否かを判定する(S56)。エラーフラグが1である場合(S56でYES)、処理部は、エラー発生位置の値を記録装置に記録し(S57)、エラーフラグを0に設定する(S58)。処理部は、現在の原稿画像が新たな原稿種類に含まれる最初の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定し(S59)、ステップS60へ処理を移行する。エラーフラグが0である場合(S56でNO)、ステップS57〜S59の処理をスキップし、ステップS60へ処理を移行する。
処理部は、ページカウンタPCの値を1に設定する(S60)。処理部は、終了フラグが1であるか否かを判定し(S61)、終了フラグが1である場合(S61でYES)、ステップS72へ処理を移行する。終了フラグが0である場合(S61でNO)、処理部は、すべての原稿画像の処理が終了したか否かを判定し(S62)、すべての原稿画像の処理が終了していない場合(S62でNO)、原稿画像を取得し(S63)、取得した原稿画像に対して文書照合処理を行う(S64)。
すべての原稿画像の処理が終了した場合(S62でYES)、処理部は、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S65)、処理を終了する。処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かを判定する(S66)。類似度が閾値Thより大きい場合(S66でYES)、処理部は、原稿画像が類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2462及び原稿種類テーブル2463を検索し、その原稿ページインデックスの先頭フラグ、終了フラグ、登録ページ数を特定し、処理中の原稿画像に対応する先頭フラグ、終了フラグ、登録ページ数に設定する(S67)。類似度が閾値Thより小さい場合(S66でNO)、処理部は、処理中の原稿画像に対応する先頭フラグ、終了フラグ、登録ページ数の各値に1を設定する(S68)。
処理部は、全体カウンタTCに1を加算し(S69)、ページカウンタPCに1を加算する(S70)。処理部は、終了フラグが1であるか否かを判定し(S71)、終了フラグが0である場合(S71でNO)、ステップS62へ処理を戻し、ステップS62以降の処理を続け、残りの原稿画像の処理を行う。
終了フラグが1である場合(S71でYES)、処理部は、ページカウンタPCの値が登録ページ数に一致するか否かを判定する(S72)。ページカウンタPCの値が登録ページ数に一致する場合(S72でYES)、処理部は、現在の原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定し(S73)、ステップS76へ処理を移行する。ページカウンタPCの値が登録ページ数に一致しない場合(S72でNO)、処理部は、エラーフラグを1に設定し(S74)、エラー発生位置に全体カウンタTCの値を設定し(S75)、ステップS42へ処理を戻し、ステップS42以降の処理を続け、残りの原稿画像の処理を行う。
処理部は、エラーフラグが1であるか否かを判定し(S76)、エラーフラグが1である場合(S76でYES)、エラー発生位置の値を記録装置に記録し(S77)、エラーフラグを0に設定し(S78)、ステップS42へ処理を戻す。エラーフラグが0である場合(S76でNO)、ステップS77,78の処理をスキップし、ステップS42へ処理を戻す。
以下に、上述した原稿画像の構成の検出処理における文書照合処理(図19乃至図21中のステップS44,S64)について説明する。図22は文書照合処理の手順を示すフローチャートであり、図19乃至図21のフローチャートのサブルーチンである。
処理部は、取得した原稿画像の特徴点を算出し(S81)、算出した特徴点に基づいてハッシュ値(特徴量)を算出する(S82)。処理部は、算出したハッシュ値に基づいて、ハッシュテーブル2461を検索し、同じハッシュ値を有する原稿ページインデックスに対して投票処理を行う(S83)。投票処理の結果に基づいて、処理部は、類似度を算出し(S84)、図19乃至図21に示す処理にリターンする。
エラーが発生した場合に発生したエラーの発生位置を操作パネル4に表示させることにより、ユーザにエラーの発生位置を通知することができる。また、現在の原稿画像が新たな原稿種類に含まれる最初の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定し、又は現在の原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定することにより、原稿画像を原稿種類毎に分割することができ、分割される各原稿画像に対してそれぞれ異なる出力処理を施すことができるとともに、各原稿種類毎に原稿画像の構成が正しいか否かを判断することができる。
従って、ユーザは、複数枚の原稿の読み取りを行った場合であっても、通知されたエラー発生位置の原稿のみの読み取りを再度行えばよく、原稿の読み取り処理をやり直す必要がない。また、原稿画像の構成が正しい原稿、及び原稿画像の読み取りの際に重送等が発生せずに正しく読み取られた原稿と、原稿画像の構成に誤りがある原稿とで、ファイリングを行うフォルダ(例えば、画像形成装置100に備えられるハードディスクやネットワークを介してサーバに格納)を各別に設定し、それぞれを分けて格納するようにしても良い。上記フォルダについては、パスを設定しておき、原稿分類の判定結果である判定信号に基づいて、それぞれのフォルダに画像データを格納すれば良い。またフォルダに格納する際、画像データは、例えば、JPEG(Joint Photographic Experts Group)等のフォーマットに圧縮される。
(実施形態2)
以下に、本発明を実施形態2を示す図面に基づいて説明する。なお、本実施形態2の画像形成装置は、上述した実施形態1の画像形成装置100と同様の構成によって実現されるため、構成についての説明は省略する。
上述した実施形態1では、カラー画像処理装置2の文書照合処理部24が、入力された1枚目の原稿画像が登録画像に類似する場合に、類似する登録画像の先頭フラグが1ではない場合、この原稿画像は登録画像の構成とは異なると判断する構成について説明した。また、実施形態1の文書照合処理部24は、入力された原稿画像が登録画像に類似する場合に原稿画像の枚数をカウントし、類似する登録画像の終了フラグが1となった場合に、この原稿画像を含む原稿のページ数と、カウントした枚数とが一致しない場合、この原稿画像は登録画像の構成とは異なると判断する。従って、上述した実施形態1では、例えば3枚以上の原稿画像からなる原稿の構成について正しいか否かを判断する際に有効である。
本実施形態2では、カラー画像処理装置2の文書照合処理部24は、登録画像のそれぞれに各原稿種類におけるページ番号を付与し、入力された原稿画像が登録画像に類似する場合に原稿画像の枚数をカウントするとともに、類似する登録画像のページ番号と、カウントした枚数とが一致するか否かに基づいて、この原稿画像が登録画像の構成と異なるか否かを判断する。具体的には、類似する登録画像のページ番号と、カウントした枚数とが一致しない場合、この原稿画像が登録画像の構成とは異なると判断する。
図23は原稿画像テーブル2464の構造を示す説明図である。図23は図14で示される2種類の原稿が登録された場合の原稿画像テーブル2464を示す。本実施形態2の原稿画像テーブル2464は、原稿ページインデックス、各画像の原稿中のページ番号を示すページID、原稿種類インデックスの各欄で構成される。なお、本実施形態2の原稿分類テーブルは、上述した実施形態1の原稿分類テーブル2463と同様の構成である。また、原稿画像テーブル2464及び原稿分類テーブル2463は、原稿登録モードにおいて、原稿を登録する都度、更新される。
原稿画像テーブル2464によれば、原稿ページインデックスがID1で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の1枚目のページである。原稿ページインデックスがID2で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の2枚目のページである。原稿ページインデックスがID3で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿に含まれており、この原稿の3枚目のページである。
同様に原稿画像テーブル2464によれば、原稿ページインデックスがID4で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿に含まれており、この原稿の1枚目のページである。原稿ページインデックスがID5で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿に含まれており、この原稿の2枚目のページである。
文書照合処理部24は、実施形態1で説明したように、入力された原稿画像を原稿種類毎に分類し、各原稿種類に含まれる原稿画像の構成が登録画像の構成と一致するか否かを判断する際、特徴量算出部242が原稿画像毎にハッシュ値を算出し、投票処理部243がハッシュ値に基づいて、ハッシュ値が一致する登録画像の原稿ページインデックスに投票する。そして、類似度判定処理部244が、投票処理部243による投票結果に基づいて、原稿画像がいずれの登録画像に類似するかを判定し、複数枚原稿判定処理部245が類似度判定処理部244による判定結果に基づいて、入力された原稿画像が予め登録されている登録画像の構成に一致するか否かを判定する。
以下に、本実施形態2の複数枚原稿判定処理部245による処理を説明する。複数枚原稿判定処理部245は、処理中のページ(原稿画像)に対応するページID、登録ページ数、読み取った原稿画像のページ数を示す全体カウンタTC、分割された各原稿種類における原稿画像のページ数を示すページカウンタPC、エラーの発生を示すエラーフラグ、エラーの発生したページ数を示すエラー発生位置などの記憶部を備えている。処理を行う前は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置は、いずれも「0」に初期設定されている。なお、エラーが発生した場合、複数枚原稿判定処理部245はエラーフラグを1に設定する。
複数枚原稿判定処理部245は、原稿画像に類似する登録画像がある場合、即ち、類似度判定処理部244から判定結果として原稿ページインデックスが入力された場合、その原稿ページインデックスに基づいて原稿画像テーブル2464を検索し、その原稿ページインデックスのページID及び原稿種類インデックスを特定する。また、複数枚原稿判定処理部245は、特定した原稿種類インデックスに基づいて原稿種類テーブル2463を検索し、その原稿種類インデックスに対応する登録ページ数を特定し、特定したページID及び登録ページ数を、処理中の原稿画像に対応するページID及び登録ページ数に設定する。
なお、原稿画像に類似する登録画像がないという判定結果が類似度判定処理部244から入力された場合、複数枚原稿判定処理部245は、ページID及び登録ページ数を1に設定する。また、複数枚原稿判定処理部245は、類似度判定処理部244から判定結果を取得する都度、全体カウンタTCに1を加算する。
複数枚原稿判定処理部245は、原稿画像が登録画像に類似すると初めて判定した場合、設定されたページIDが1であるか否かを判定する。ページIDが1ではない場合、即ち、初めて原稿画像が類似していると判定された登録画像が、この登録画像を含む原稿種類の1枚目の原稿ではない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
ページIDが1である場合、即ち、原稿画像が類似していると初めて判定された登録画像が、この登録画像を含む原稿種類の1枚目の原稿である場合、複数枚原稿判定処理部245は、ページカウンタPCの値を1に設定する。そして複数枚原稿判定処理部245は、設定された登録ページ数の値とページIDの値とが一致するか否かを判定し、一致しない場合、即ち、この登録画像が原稿種類の最後の原稿ではない場合、次の原稿画像が登録画像に類似するか否かの判定を行う。複数枚原稿判定処理部245は、次の原稿画像が登録画像に類似すると判定した場合、登録画像の原稿ページインデックスのページID及び登録ページ数を、処理中の原稿画像に対応するページID及び登録ページ数に設定するとともに、全体カウンタTC及びページカウンタPCに1を加算する。
複数枚原稿判定処理部245は、ページカウンタPCの値と設定されたページIDの値とが一致するか否かを判定する。ページカウンタPCの値とページIDの値とが一致しない場合、即ち、この原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数(ページカウンタPCの値)が、原稿種類における登録画像のページ番号(ページIDの値)に一致しない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
ページカウンタPCの値とページIDの値とが一致する場合、原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数が、原稿種類における登録画像のページ番号に一致するので、複数枚原稿判定処理部245は、原稿画像の構成が予め登録された原稿種類に含まれる登録画像の構成と一致するとする。そして複数枚原稿判定処理部245は、設定された登録ページ数がページIDの値に一致するか否かを判定し、一致する場合、即ち、この登録画像が原稿種類における最後のページである場合、この原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定する。
また複数枚原稿判定処理部245は、ページIDが1である場合、エラーフラグが1であるか否かを判定し、エラーフラグが1である場合、エラー発生位置の値を記録装置(不図示)に記録し、この原稿画像の前に処理された原稿画像が前の原稿種類に含まれる最後の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定する。なお、決定された原稿分割位置を示す情報は、エラーの発生位置とともに判定信号として記録装置へ出力されて記憶される。判定信号を記録する記録装置は、カラー画像処理装置2の内部に設けられていても外部に設けられていても良く、不揮発性のメモリであれば、検知したエラーの位置を保存しておくことができる。
さらに、複数枚原稿判定処理部245がすべての原稿画像に対する上述した処理が終了した場合、画像形成装置100は、記録装置に記録させたエラー発生位置を操作パネル4に表示することによって、カラー画像入力装置1から入力された原稿の構成が、予め登録された原稿の構成とは異なること、及び異なる位置をユーザに通知することができる。
上述した判定信号は、例えば、原稿画像とともにネットワークを介してプリンタや複合機に送信することができ、コンピュータを介して又は直接プリンタへ出力することができる。
このように、本実施形態2では、入力された原稿画像が登録画像に類似する場合、各原稿画像のページ位置が、予め登録された原稿におけるページ位置に一致するか否かに基づいて、原稿画像の構成が、予め登録された原稿の構成に一致するか否かを判断できる。従って、原稿画像の構成が正しいか否かを判断できるとともに、複数ページからなる文書中の脱落しているページ番号を把握できる。
次に、本実施形態2における原稿登録処理について説明する。図24及び図25は原稿登録処理の手順を示すフローチャートである。なお、原稿登録処理は、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿登録処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。以下、カラー画像処理装置2を「処理部」という。
処理部は、原稿登録モードであるか否かを判定し(S101)、原稿登録モードでない場合(S101でNO)、ステップS101の処理を続け、利用者が操作パネル4から原稿登録モードを指定するまで待機する。原稿登録モードである場合(S101でYES)、処理部は、登録画像を取得する(S102)。この場合、登録画像は原稿を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、原稿種類インデックスを設定する(S103)。処理部は、登録画像の特徴点を算出し(S104)、算出した特徴点に基づいてハッシュ値(特徴量)を算出する(S105)。処理部は、登録画像の原稿ページインデックスを設定し(S106)、登録画像のページIDを設定し(S107)、すべての登録画像の処理が終了したか否かを判定する(S108)。なお、ページIDは、各登録画像を取得した順に1,2,3…と設定すればよい。
すべての登録画像の処理が終了していない場合(S108でNO)、処理部は、ステップS104以降の処理を続け、残りの登録画像のハッシュ値を算出するとともに、原稿ページインデックス及びページIDの設定を行う。すべての登録画像の処理が終了した場合(S108でYES)、各登録画像毎に原稿ページインデックス、ページID、原稿種類インデックスが設定され、処理部は、設定した原稿ページインデックス及び算出したハッシュ値をハッシュテーブル2461に格納することによりハッシュテーブル2461を更新する(S109)。
処理部は、設定した原稿ページインデックス、ページID及び原稿種類インデックスを原稿画像テーブル2464に格納することにより原稿画像テーブル2464を更新し(S110)、設定した原稿種類インデックス及び登録ページ数を原稿分類テーブル2463に格納することにより原稿分類テーブル2463を更新し(S111)、処理を終了する。
次に、本実施形態2における原稿画像の構成の検出処理について説明する。図26乃至図28は原稿画像の構成の検出処理の手順を示すフローチャートである。なお、原稿画像の構成の検出処理も、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿画像の構成検出処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。
処理部は初期設定を行う(S121)。具体的には、処理部は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置の各値を0に設定する。処理部は、すべての原稿画像の処理が終了したか否かを判定し(S122)、すべての原稿画像の処理が終了していない場合(S122でNO)、原稿画像を取得する(S123)。この場合、原稿画像は原稿を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、取得した原稿画像に対して文書照合処理を行う(S124)。なお、文書照合処理は、実施形態1で説明した処理と同一であるので説明を省略する。すべての原稿画像の処理が終了した場合(S122でYES)、処理部は、エラーフラグが1であるか否かを判定し(S125)、エラーフラグが1である場合(S125でYES)、エラー発生位置の値を記録装置に記録する(S126)。処理部は、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S127)、処理を終了する。エラーフラグが0である場合(S125でNO)、処理部は、ステップS126の処理をスキップし、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S127)、処理を終了する。
処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かを判定する(S128)。類似度が閾値Thより大きい場合(S128でYES)、処理部は、原稿画像が類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2464及び原稿種類テーブル2463を検索し、その原稿ページインデックスのページID及び登録ページ数を特定し、処理中の原稿画像に対応するページID及び登録ページ数に設定する(S129)。類似度が閾値Thより小さい場合(S128でNO)、処理部は、処理中の原稿画像に対応するページID及び登録ページ数の各値に1を設定する(S130)。
処理部は、全体カウンタTCに1を加算する(S131)。処理部は、ページIDの値が1であるか否かを判定し(S132)、ページIDの値が1ではない場合(S132でNO)、エラーフラグが0であるか否かを判定する(S133)。エラーフラグが0である場合(S133でYES)、処理部は、エラーフラグを1に設定し(S134)、エラー発生位置に全体カウンタTCの値を設定し(S135)、ステップS122へ処理を戻す。エラーフラグが1である場合(S133でNO)、処理部は、ステップS134,135の処理をスキップし、ステップS122へ処理を戻し、ステップS122以降の処理を続け、残りの原稿画像の処理を行う。
ページIDの値が1である場合(S132でYES)、処理部は、エラーフラグが1であるか否かを判定する(S136)。エラーフラグが1である場合(S136でYES)、処理部は、エラー発生位置の値を記録装置に記録し(S137)、エラーフラグを0に設定する(S138)。処理部は、現在の原稿画像が新たな原稿種類に含まれる最初の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定し(S139)、ステップS140へ処理を移行する。エラーフラグが0である場合(S136でNO)、ステップS137〜S139の処理をスキップし、ステップS140へ処理を移行する。
処理部は、ページカウンタPCの値を1に設定する(S140)。処理部は、登録ページ数の値がページIDの値に一致するか否かを判定し(S141)、登録ページ数の値がページIDの値に一致する場合(S141でYES)、ステップS155へ処理を移行する。登録ページ数の値がページIDの値に一致しない場合(S141でNO)、処理部は、すべての原稿画像の処理が終了したか否かを判定し(S142)、すべての原稿画像の処理が終了していない場合(S142でNO)、原稿画像を取得し(S143)、取得した原稿画像に対して文書照合処理を行う(S144)。
すべての原稿画像の処理が終了した場合(S142でYES)、処理部は、記録装置に記録したエラー発生位置を操作パネル4に表示させ(S145)、処理を終了する。処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かを判定する(S146)。類似度が閾値Thより大きい場合(S146でYES)、処理部は、原稿画像が類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2464及び原稿種類テーブル2463を検索し、その原稿ページインデックスのページID及び登録ページ数を特定し、処理中の原稿画像に対応するページID及び登録ページ数に設定する(S147)。類似度が閾値Thより小さい場合(S146でNO)、処理部は、処理中の原稿画像に対応するページID及び登録ページ数の各値に1を設定する(S148)。
処理部は、全体カウンタTCに1を加算し(S149)、ページカウンタPCに1を加算する(S150)。処理部は、ページカウンタPCの値がページIDの値に一致するか否かを判定し(S151)、ページカウンタPCの値がページIDの値に一致しない場合(S151でNO)、エラーフラグを1に設定し(S152)、エラー発生位置に全体カウンタTCの値を設定し(S153)、ステップS122へ処理を戻し、ステップS122以降の処理を続け、残りの原稿画像の処理を行う。
ページカウンタPCの値がページIDの値に一致する場合(S151でYES)、処理部は、登録ページ数の値がページIDの値に一致するか否かを判定する(S154)。登録ページ数の値がページIDの値に一致する場合(S154でYES)、処理部は、現在の原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定し(S155)、ステップS156へ処理を移行する。登録ページ数の値がページIDの値に一致しない場合(S154でNO)、ステップS142へ処理を戻し、ステップS142以降の処理を続け、残りの原稿画像の処理を行う。
処理部は、エラーフラグが1であるか否かを判定し(S156)、エラーフラグが1である場合(S156でYES)、エラー発生位置の値を記録装置に記録し(S157)、エラーフラグを0に設定し(S158)、ステップS122へ処理を戻す。エラーフラグが0である場合(S156でNO)、ステップS157,158の処理をスキップし、ステップS122へ処理を戻す。
エラーが発生した場合に発生したエラーの発生位置を操作パネル4に表示させることにより、ユーザにエラーの発生位置を通知することができる。また、現在の原稿画像が新たな原稿種類に含まれる最初の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定し、又は現在の原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定することにより、原稿画像を原稿種類毎に分割することができ、分割される各原稿画像に対してそれぞれ異なる出力処理を施すことができるとともに、各原稿種類に含まれる各ページが正しいか否かを判断することができる。
従って、ユーザは、複数枚の原稿の読み取りを行った場合であっても、通知されたエラー発生位置の原稿のみの読み取りを再度行えばよく、全ての原稿の読み取り処理をやり直す必要がない。また、原稿画像の構成が正しい原稿、及び原稿画像の読み取りの際に重送等が発生せずに正しく読み取られた原稿と、原稿画像の構成に誤りがある原稿とで、ファイリングを行うフォルダ(例えば、画像形成装置100に備えられるハードディスクやネットワークを介してサーバに格納)を各別に設定し、それぞれを分けて格納するようにしても良い。上記フォルダについては、パスを設定しておき、原稿分類の判定結果である判定信号に基づいて、それぞれのフォルダに画像データを格納すれば良い。またフォルダに格納する際、画像データは、例えば、JPEG(Joint Photographic Experts Group)等のフォーマットに圧縮される。
(実施形態3)
以下に、本発明を実施形態3を示す図面に基づいて説明する。なお、本実施形態3の画像形成装置は、上述した実施形態1の画像形成装置100と同様の構成によって実現されるため、構成についての説明は省略する。
上述した実施形態1,2では、カラー画像処理装置2の文書照合処理部24が、原稿画像のページ脱落の有無、原稿画像の順番の入れ替わりの有無、原稿画像の重送の有無等を検出する構成について説明した。従って、上述した実施形態1,2では、複数枚の原稿画像からなる原稿の構成について正しいか否かを精度よく判断できる。本実施形態3では、カラー画像処理装置2の文書照合処理部24が、原稿画像のページ脱落の有無、原稿画像の順番の入れ替わりの有無、原稿画像の重送の有無だけでなく、両面原稿において原稿の表裏の入れ替わりの有無も検出する。従って、本実施形態3の文書照合処理部24は、両面原稿において原稿の表裏が入れ替わっている位置を示す情報を、原稿分割位置を示す情報及びエラーの発生位置とともに判定信号として出力する。
本実施形態3では、図13(a)に示すように、3枚の原稿(P1、P2、P3)の両面(P1表、P1裏、P2表、P2裏、P3表、P3裏)を登録する場合、文書照合処理部24(具体的には、特徴量算出部242)は、3枚の原稿の両面画像(P1表、P1裏、P2表、P2裏、P3表、P3裏)に対して、ページ順にそれぞれ原稿ページインデックスID1、ID2、ID3、ID4、ID5、ID6を設定するとともに、各原稿ページインデックスID1、ID2、ID3、ID4、ID5、ID6の画像に対してハッシュ値(例えば、H1、H2、…)を算出する。特徴量算出部242は、各画像が原稿の何枚目であるかを示すページID、各画像が原稿の表面画像であるか裏面画像であるかを示す面情報を設定する。なお、各画像が原稿の表面画像である場合、特徴量算出部242は、対する面情報を1に設定し、各画像が原稿の裏面画像である場合、対する面情報を2に設定する。
特徴量算出部242は、3枚の原稿全体(原稿の種類)を識別するための原稿種類インデックスDocID1を設定するとともに、各画像に設定したページIDの最大値を登録ページ数(この場合、「3」)として設定する。特徴量算出部242は、原稿ページインデックス、ページID、面情報、原稿種類インデックスを後述する原稿画像テーブルに登録する。また、特徴量算出部242は、原稿種類インデックス、登録ページ数を後述する原稿分類テーブルに登録する。
図29は実施形態3において登録する原稿の一例を示す説明図である。図29に示すように、2種類の原稿を登録する場合について説明する。6ページの登録画像(3枚の原稿両面)で構成された原稿に対して原稿種別インデックスDocID1が設定され、原稿の各ページには、原稿ページインデクッスID1、ID2、ID3、ID4、ID5、ID6が設定されている。また、同様に、4ページの登録画像(2枚の原稿両面)で構成された原稿に対して原稿種別インデックスDocID2が設定され、各ページには、原稿ページインデクッスID7、ID8、ID9、ID10が設定されている。
図30は原稿画像テーブル2465の構造を示す説明図である。本実施形態3の原稿画像テーブル2465は、原稿ページインデックス、ページID、面情報、原稿種類インデックスの各欄で構成される。なお、本実施形態3の原稿分類テーブルは、上述した実施形態1の原稿分類テーブル2463と同様の構成である。また、原稿画像テーブル2465及び原稿分類テーブル2463は、原稿登録モードにおいて、原稿を登録する都度、更新される。
原稿画像テーブル2465によれば、原稿ページインデックスがID1で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の1枚目の表面の画像であり、原稿ページインデックスがID2で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の1枚目の裏面の画像である。原稿ページインデックスがID3で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の2枚目の表面の画像であり、原稿ページインデックスがID4で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の2枚目の裏面の画像である。原稿ページインデックスがID5で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の3枚目の表面の画像であり、原稿ページインデックスがID6で識別される登録画像は、原稿種類インデックスがDocID1で識別される原稿の3枚目の裏面の画像である。また、原稿分類テーブル2463によれば、原稿種類インデックスがDocID1で識別される原稿の登録ページ数は「3」である。
同様に原稿画像テーブル2465によれば、原稿ページインデックスがID7で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿の1枚目の表面の画像であり、原稿ページインデックスがID8で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿の1枚目の裏面の画像である。原稿ページインデックスがID9で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿の2枚目の表面の画像であり、原稿ページインデックスがID10で識別される登録画像は、原稿種類インデックスがDocID2で識別される原稿の2枚目の裏面の画像である。また、原稿分類テーブル2463によれば、原稿種類インデックスがDocID2で識別される原稿の登録ページ数は「2」である。
文書照合処理部24は、実施形態1で説明したように、入力された原稿画像を原稿種類毎に分類し、各原稿種類に含まれる原稿画像の構成が登録画像の構成と一致するか否かを判断する際、特徴量算出部242が原稿画像毎にハッシュ値を算出し、投票処理部243がハッシュ値に基づいて、ハッシュ値が一致する登録画像の原稿ページインデックスに投票する。そして、類似度判定処理部244が、投票処理部243による投票結果に基づいて、原稿画像がいずれの登録画像に類似するかを判定し、複数枚原稿判定処理部245が類似度判定処理部244による判定結果に基づいて、入力された原稿画像が予め登録されている登録画像の構成に一致するか否かを判定する。
ここで、本実施形態3では、原稿の構成だけでなく、両面原稿において原稿の表裏の入れ替わりの有無も検出する。即ち、1枚の原稿の両面からそれぞれ読み取られた原稿画像が入力され、入力された原稿画像の表裏が正しいか否かを判定する。具体的には、類似度判定処理部244は、1枚の原稿の両面からそれぞれ読み取られた2つの原稿画像がともにいずれかの登録画像に類似するか否かを判定し、類似する場合、複数枚原稿判定処理部245は、2つの原稿画像にそれぞれ類似すると判定された2つの登録画像が同一原稿の表裏画像であるか否かを判定する。2つの登録画像が同一原稿の表裏画像である場合、複数枚原稿判定処理部245は、入力された原稿画像の表裏が登録画像の表裏に一致するか否かに基づいて、入力された2つの原稿画像の表裏が正しいか否かを判定する。なお、入力される原稿画像は、先に入力された画像が表面の画像であり、後に入力された画像が裏面の画像であるとする。
以下に、本実施形態3の複数枚原稿判定処理部245による処理を説明する。複数枚原稿判定処理部245は、処理中のページ(原稿画像)に対応するページID、面情報、登録ページ数、読み取った原稿画像のページ数を示す全体カウンタTC、分割された各原稿種類における原稿画像のページ数を示すページカウンタPC、エラーの発生を示すエラーフラグ、エラーの発生したページ数を示すエラー発生位置、表裏が反転しているページ数を示す表裏入替位置などの記憶部を備えている。処理を行う前は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置、表裏入替位置は、いずれも「0」に初期設定されている。なお、エラーが発生した場合、複数枚原稿判定処理部245はエラーフラグを1に設定する。
複数枚原稿判定処理部245は、1枚の原稿の両面からそれぞれ読み取られた2つの原稿画像にそれぞれ類似する登録画像がある場合、即ち、類似度判定処理部244から判定結果として2つの原稿ページインデックスが入力された場合、その2つの原稿ページインデックスに基づいて原稿画像テーブル2465を検索し、その2つの原稿ページインデックスのページIDが同一で、面情報がそれぞれ1又は2であるか否かを判定する。2つの原稿ページインデックスのページIDが同一で、面情報がそれぞれ1又は2である場合、即ち、2つの登録画像が同一原稿の表裏面からそれぞれ読み取られた画像である場合、複数枚原稿判定処理部245は、入力された原稿画像の表裏が登録画像の表裏に一致するか否かを判定する。
入力された原稿画像の表裏が登録画像の表裏に一致する場合、具体的には、原稿の表面から読み取られた原稿画像に類似する登録画像の面情報が1であり、原稿の裏面から読み取られた原稿画像に類似する登録画像の面情報が2である場合、複数枚原稿判定処理部245は、入力された2つの原稿画像の表裏が正しいと判定する。ここで、2つの原稿画像の表裏が正しくない場合、具体的には、原稿の表面から読み取られた原稿画像に類似する登録画像の面情報が2であり、原稿の裏面から読み取られた原稿画像に類似する登録画像の面情報が1である場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数を表裏入替位置に設定する。
2つの原稿画像の表裏が正しい場合、複数枚原稿判定処理部245は、類似度判定処理部244から判定結果として入力された2つの原稿ページインデックスのページID及び原稿種類インデックスを原稿画像テーブル2465から特定する。また、複数枚原稿判定処理部245は、特定した原稿種類インデックスに対応する登録ページ数を原稿種類テーブル2463から特定し、特定したページID及び登録ページ数を、処理中の原稿画像に対応するページID及び登録ページ数に設定する。
なお、2つの原稿画像の一方又は両方に類似する登録画像がないという判定結果が類似度判定処理部244から入力された場合、又は、2つの原稿画像に類似する2つの登録画像が同一原稿の表裏面の画像でない場合、複数枚原稿判定処理部245は、ページID及び登録ページ数を1に設定する。また、複数枚原稿判定処理部245は、類似度判定処理部244から判定結果を取得する都度、全体カウンタTCに1を加算する。
複数枚原稿判定処理部245は、2つの原稿画像がそれぞれ登録画像に類似し、2つの登録画像が同一原稿の表裏面の画像であると初めて判定した場合、設定されたページIDが1であるか否かを判定する。ページIDが1ではない場合、即ち、原稿画像が類似していると初めて判定された登録画像が、この登録画像を含む原稿種類の1枚目の原稿ではない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
ページIDが1である場合、即ち、原稿画像が類似していると初めて判定された登録画像が、この登録画像を含む原稿種類の1枚目の原稿である場合、複数枚原稿判定処理部245は、ページカウンタPCの値を1に設定する。そして複数枚原稿判定処理部245は、設定された登録ページ数の値とページIDの値とが一致するか否かを判定し、一致しない場合、即ち、この登録画像が原稿種類の最後の原稿ではない場合、次の原稿画像が登録画像に類似するか否かの判定を行う。複数枚原稿判定処理部245は、次の2つの原稿画像がそれぞれ登録画像に類似し、2つの登録画像が同一原稿の表裏面の画像であると判定した場合、登録画像の原稿ページインデックスのページID及び登録ページ数を、処理中の原稿画像に対応するページID及び登録ページ数に設定するとともに、全体カウンタTC及びページカウンタPCに1を加算する。
複数枚原稿判定処理部245は、ページカウンタPCの値と設定されたページIDの値とが一致するか否かを判定する。ページカウンタPCの値とページIDの値とが一致しない場合、即ち、この原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数(ページカウンタPCの値)が、原稿種類における登録画像のページ番号(ページIDの値)に一致しない場合、複数枚原稿判定処理部245はエラーが発生したとしてエラーフラグを1に設定するとともに、全体カウンタTCが示すページ数をエラー発生位置に設定する。
ページカウンタPCの値とページIDの値とが一致する場合、原稿画像が登録画像に類似すると判定されるまでに計数された原稿画像数が、原稿種類における登録画像のページ番号に一致するので、複数枚原稿判定処理部245は、原稿画像の構成が予め登録された原稿種類に含まれる登録画像の構成と一致するとする。そして複数枚原稿判定処理部245は、設定された登録ページ数がページIDの値に一致するか否かを判定し、一致する場合、即ち、この登録画像が原稿種類における最後のページである場合、この原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定する。
また複数枚原稿判定処理部245は、ページIDが1である場合、エラーフラグが1であるか否かを判定し、エラーフラグが1である場合、エラー発生位置の値を記録装置(不図示)に記録し、この原稿画像の前に処理された原稿画像が前の原稿種類に含まれる最後の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定する。なお、決定された原稿分割位置を示す情報は、エラーの発生位置及び表裏入替位置とともに判定信号として記録装置へ出力されて記憶される。判定信号を記録する記録装置は、カラー画像処理装置2の内部に設けられていても外部に設けられていても良く、不揮発性のメモリであれば、検知したエラーの位置を保存しておくことができる。
さらに、複数枚原稿判定処理部245がすべての原稿画像に対する上述した処理が終了した場合、画像形成装置100は、記録装置に記録させたエラー発生位置及び表裏入替位置を操作パネル4に表示することによって、カラー画像入力装置1から入力された原稿の構成が、予め登録された原稿の構成とは異なること、異なる位置、及び表裏が入れ替わっている位置をユーザに通知することができる。
上述した判定信号は、例えば、原稿画像とともにネットワークを介してプリンタや複合機に送信することができ、コンピュータを介して又は直接プリンタへ出力することができる。
このように、本実施形態3では、入力された2つの原稿画像がそれぞれ登録画像に類似する場合、同一原稿の表裏面それぞれから読み取られた2つの原稿画像の表裏が、予め登録された原稿の表裏に一致するか否かに基づいて、原稿画像の構成が、予め登録された原稿の構成に一致するか否かを判断できる。従って、原稿画像の構成が正しいか否かを判断できるとともに、複数ページからなる文書中の表裏が反転しているページ番号を把握できる。
次に、本実施形態3における原稿登録処理について説明する。図31及び図32は原稿登録処理の手順を示すフローチャートである。なお、原稿登録処理は、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿登録処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。以下、カラー画像処理装置2を「処理部」という。
処理部は、原稿登録モードであるか否かを判定し(S171)、原稿登録モードでない場合(S171でNO)、ステップS171の処理を続け、利用者が操作パネル4から原稿登録モードを指定するまで待機する。原稿登録モードである場合(S171でYES)、処理部は、登録画像を取得する(S172)。この場合、登録画像は原稿の両面を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、原稿種類インデックスを設定する(S173)。処理部は、登録画像の特徴点を算出し(S174)、算出した特徴点に基づいてハッシュ値(特徴量)を算出する(S175)。処理部は、登録画像の原稿ページインデックスを設定し(S176)、登録画像のページIDを設定し(S177)、登録画像の面情報を設定し(S178)、すべての登録画像の処理が終了したか否かを判定する(S179)。なお、ページIDは、各登録画像を取得した順に1、2、3…と設定すればよく、面情報は、登録画像が原稿読取装置によって読み取られた場合には原稿読取装置における原稿のセット方向に基づいて1(表面)又は2(裏面)を設定する。
すべての登録画像の処理が終了していない場合(S179でNO)、処理部は、ステップS174以降の処理を続け、残りの登録画像のハッシュ値を算出するとともに、原稿ページインデックス、ページID及び面情報の設定を行う。すべての登録画像の処理が終了した場合(S179でYES)、各登録画像毎に原稿ページインデックス、ページID、面情報、原稿種類インデックスが設定され、処理部は、設定した原稿ページインデックス及び算出したハッシュ値をハッシュテーブル2461に格納することによりハッシュテーブル2461を更新する(S180)。
処理部は、設定した原稿ページインデックス、ページID、面情報及び原稿種類インデックスを原稿画像テーブル2465に格納することにより原稿画像テーブル2465を更新し(S181)、設定した原稿種類インデックス及び登録ページ数を原稿分類テーブル2463に格納することにより原稿分類テーブル2463を更新し(S182)、処理を終了する。
次に、本実施形態3における原稿画像の構成の検出処理について説明する。図33乃至図36は原稿画像の構成の検出処理の手順を示すフローチャートである。なお、原稿画像の構成の検出処理も、文書照合処理部24などの専用のハードウエア回路で構成するだけでなく、CPU、RAM、ROMなどを備えたパーソナルコンピュータに、原稿画像の構成検出処理の手順を定めたコンピュータプログラムをロードすることによりCPUでコンピュータプログラムを実行させることにより行うこともできる。
処理部は初期設定を行う(S191)。具体的には、処理部は、全体カウンタTC、ページカウンタPC、エラーフラグ、エラー発生位置、表裏入替位置の各値を0に設定する。処理部は、すべての原稿画像の処理が終了したか否かを判定し(S192)、すべての原稿画像の処理が終了していない場合(S192でNO)、同一原稿の表裏面のそれぞれから読み取られた2つの原稿画像を取得する(S193)。この場合、原稿画像は原稿を原稿読取装置で読み取ることにより取得してもよく、あるいは、パーソナルコンピュータ等の処理装置で作成された電子データを受信することにより取得してもよい。
処理部は、取得した原稿画像に対して文書照合処理を行う(S194)。なお、文書照合処理は、実施形態1で説明した処理と同一であるので説明を省略する。すべての原稿画像の処理が終了した場合(S192でYES)、処理部は、エラーフラグが1であるか否かを判定し(S195)、エラーフラグが1である場合(S195でYES)、エラー発生位置及び表裏入替位置の値を記録装置に記録する(S196)。処理部は、記録装置に記録したエラー発生位置及び表裏入替位置を操作パネル4に表示させ(S197)、処理を終了する。エラーフラグが0である場合(S195でNO)、処理部は、ステップS196の処理をスキップし、記録装置に記録したエラー発生位置及び表裏入替位置を操作パネル4に表示させ(S197)、処理を終了する。
処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かに基づいて、取得した2つの原稿画像の両方が登録画像に類似するか否かを判定する(S198)。2つの原稿画像が登録画像に類似する場合(S198でYES)、処理部は、2つの原稿画像がそれぞれ類似する登録画像の原稿ページインデックスに基づいて原稿画像テーブル2465を検索し、2つの登録画像が同一原稿の表裏面の画像であるか否かを判定する(S199)。2つの登録画像が同一原稿の表裏面の画像である場合(S199でYES)、具体的には、2つの登録画像の原稿ページインデックスのページIDが同一で、面情報がそれぞれ1又は2である場合、処理部は、2つの原稿画像の表裏が登録画像の表裏に一致するか否かを判定する(S200)。
2つの原稿画像の一方又は両方が登録画像に類似しない場合(S198でNO)、又は2つの原稿画像がそれぞれ類似する2つの登録画像が同一原稿の表裏面の画像でない場合(S199でNO)、処理部は、処理中の原稿画像に対応するページID及び登録ページ数の各値に1を設定する(S204)。2つの原稿画像の表裏が登録画像の表裏に一致しない場合(S200でNO)、処理部は、エラーフラグを1に設定し(S201)、表裏入替位置に全体カウンタTCの値を設定し(S202)、ステップS203へ処理を戻す。2つの原稿画像の表裏が登録画像の表裏に一致する場合(S200でYES)、処理部は、ステップS201,S202の処理をスキップし、ステップS203へ処理を移行する。
処理部は、2つの原稿画像がそれぞれ類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2465及び原稿種類テーブル2463を検索し、その原稿ページインデックスのページID及び登録ページ数を特定し、処理中の原稿画像に対応するページID及び登録ページ数に設定する(S203)。
処理部は、全体カウンタTCに1を加算する(S205)。処理部は、ページIDの値が1であるか否かを判定し(S206)、ページIDの値が1ではない場合(S206でNO)、エラーフラグが0であるか否かを判定する(S207)。エラーフラグが0である場合(S207でYES)、処理部は、エラーフラグを1に設定し(S208)、エラー発生位置に全体カウンタTCの値を設定し(S209)、ステップS192へ処理を戻す。エラーフラグが1である場合(S207でNO)、処理部は、ステップS208,209の処理をスキップし、ステップS192へ処理を戻し、ステップS192以降の処理を続け、残りの原稿画像の処理を行う。
ページIDの値が1である場合(S206でYES)、処理部は、エラーフラグが1であるか否かを判定する(S210)。エラーフラグが1である場合(S210でYES)、処理部は、エラー発生位置及び表裏入替位置の値を記録装置に記録し(S211)、エラーフラグを0に設定する(S212)。処理部は、現在の原稿画像が新たな原稿種類に含まれる最初の原稿画像であるとして、前に処理された原稿画像と現在の原稿画像との間に原稿分割位置を決定し(S213)、ステップS214へ処理を移行する。エラーフラグが0である場合(S210でNO)、ステップS211〜S213の処理をスキップし、ステップS214へ処理を移行する。
処理部は、ページカウンタPCの値を1に設定する(S214)。処理部は、登録ページ数の値がページIDの値に一致するか否かを判定し(S215)、登録ページ数の値がページIDの値に一致する場合(S215でYES)、ステップS236へ処理を移行する。登録ページ数の値がページIDの値に一致しない場合(S215でNO)、処理部は、すべての原稿画像の処理が終了したか否かを判定し(S216)、すべての原稿画像の処理が終了していない場合(S216でNO)、同一原稿の表裏面のそれぞれから読み取られた2つの原稿画像を取得し(S217)、取得した2つの原稿画像に対して文書照合処理を行う(S218)。
すべての原稿画像の処理が終了した場合(S216でYES)、処理部は、記録装置に記録したエラー発生位置及び表裏入替位置を操作パネル4に表示させ(S219)、処理を終了する。このとき、読み取った画像データをハードディスク等に格納しておき、裏表のデータを入れ替えるか否かを操作パネル4に表示させ、ユーザに処理を選択するようにしても良い。裏表のデータを入れ替える処理が選択されると、表裏入替位置の情報に基づいて画像データの入れ替え処理が行われる。
処理部は、文書照合処理を実行して得られた類似度が閾値Thより大きいか否かに基づいて、取得した2つの原稿画像の両方が登録画像に類似するか否かを判定する(S220)。2つの原稿画像が登録画像に類似する場合(S220でYES)、処理部は、2つの原稿画像がそれぞれ類似する登録画像の原稿ページインデックスに基づいて原稿画像テーブル2465を検索し、2つの登録画像が同一原稿の表裏面の画像であるか否かを判定する(S221)。
2つの登録画像が同一原稿の表裏面の画像である場合(S221でYES)、具体的には、2つの登録画像の原稿ページインデックスのページIDが同一で、面情報がそれぞれ1又は2である場合、処理部は、2つの原稿画像の表裏が登録画像の表裏に一致するか否かを判定する(S222)。
2つの原稿画像の一方又は両方が登録画像に類似しない場合(S220でNO)、又は2つの原稿画像がそれぞれ類似する2つの登録画像が同一原稿の表裏面の画像でない場合(S221でNO)、処理部は、処理中の原稿画像に対応するページID及び登録ページ数の各値に1を設定し(S226)、ステップS227へ処理を移行する。2つの原稿画像の表裏が登録画像の表裏に一致しない場合(S222でNO)、処理部は、エラーフラグを1に設定し(S223)、表裏入替位置に全体カウンタTCの値を設定し(S224)、ステップS225へ処理を移行する。2つの原稿画像の表裏が登録画像の表裏に一致する場合(S222でYES)、処理部は、ステップS223,S224の処理をスキップし、ステップS225へ処理を移行する。
処理部は、2つの原稿画像がそれぞれ類似する登録画像の原稿ページインデックスに基づいて、原稿画像テーブル2465及び原稿種類テーブル2463を検索し、その原稿ページインデックスのページID及び登録ページ数を特定し、処理中の原稿画像に対応するページID及び登録ページ数に設定する(S225)。
処理部は、全体カウンタTCに1を加算し(S227)、ページカウンタPCに1を加算する(S228)。処理部は、エラーフラグが1であるか否かを判定し(S229)、エラーフラグが1である場合(S229でYES)、エラー発生位置及び表裏入替位置の値を記録装置に記録し(S230)、エラーフラグを0に設定し(S231)、ステップS232へ処理を移行する。エラーフラグが0である場合(S229でNO)、ステップS230,231の処理をスキップし、ステップS232へ処理を移行する。
処理部は、ページカウンタPCの値がページIDの値に一致するか否かを判定し(S232)、ページカウンタPCの値がページIDの値に一致しない場合(S232でNO)、エラーフラグを1に設定し(S233)、エラー発生位置に全体カウンタTCの値を設定し(S234)、ステップS192へ処理を戻し、ステップS192以降の処理を続け、残りの原稿画像の処理を行う。
ページカウンタPCの値がページIDの値に一致する場合(S232でYES)、処理部は、登録ページ数の値がページIDの値に一致するか否かを判定する(S235)。登録ページ数の値がページIDの値に一致する場合(S235でYES)、処理部は、現在の原稿画像が現在の原稿種類に含まれる最後の原稿画像であるとして、現在の原稿画像と次に処理される原稿画像との間に原稿分割位置を決定し(S236)、ステップS192へ処理を戻し、ステップS192以降の処理を続け、残りの原稿画像の処理を行う。登録ページ数の値がページIDの値に一致しない場合(S235でNO)、処理部は、ステップS216へ処理を戻し、ステップS216以降の処理を続け、残りの原稿画像の処理を行う。
エラー又は表裏の入れ替わりが発生した場合に発生した発生位置を操作パネル4に表示させることにより、ユーザにエラー又は表裏の入れ替わりの発生位置を通知することができる。また、原稿画像を原稿種類毎に分割することができるとともに、各原稿種類に含まれる各ページ及び各ページの表裏が正しいか否かを判断することができる。
(実施形態4)
以下に、本発明に係る画像読取装置を実施形態4を示す図面に基づいて説明する。図37は本発明に係る画像読取装置500の構成を示すブロック図である。図に示すように、画像読取装置500は、カラー画像入力装置1、A/D変換部20、シェーディング補正部21、文書照合処理部24などを備えている。カラー画像入力装置1、A/D変換部20、シェーディング補正部21、文書照合処理部24は、上述の画像形成装置100の場合と同様であるので説明は省略する。
以上説明したように、本発明にあっては、複数のページ(例えば、定型フォーム)で構成される原稿をスキャンして電子化文書を生成する場合、予め複数のページの定型フォームの照合用情報とともに、複数のページで構成される原稿のページ構成情報を登録しておく。そして、登録画像と原稿画像との類似を判定することで、分類すべき原稿間を検知して、原稿画像を登録された原稿通りに分類して電子化文書を生成することができるとともに、原稿画像の構成が予め登録された原稿の構成に一致するか否かを判断することができる。すなわち、利用者が特別な操作を行うことなく、予め登録された原稿の構成通りに原稿画像を分類することができるとともに、原稿画像の構成が正しいか否かを判断することができる。
また、予め登録された原稿毎の枚数が異なる場合であっても、原稿の枚数単位で原稿画像を分類することができるとともに、各原稿画像の構成が正しいか否かを判断することができる。また、多くの原稿画像を分類する場合に、原稿同士を容易に区切ることができ、分類すべき原稿間を検知し分割することができ、分割された各原稿画像の構成が正しいか否かを判断することができる。また、登録画像自身を記憶する必要がなく、登録画像に関する特徴量を記憶しておくだけで、原稿画像が登録画像に類似するか否かを容易に判定することができる。
また、スキャン処理時(あるいは、電子データでも可能)に原稿の一部にページ脱落や順番の入れ替わり、両面原稿においては表裏の入れ替わり等があった場合に、その位置を記憶しておき、その位置以降でページ構成が正しくなった箇所から再度電子化文書を生成する。よって、ユーザが大量の原稿をスキャンした場合でも、ページ脱落などの問題が発生した位置を簡単に把握することができるとともに、ページ脱落の発生箇所以降でも電子化文書を生成できるので、ユーザはページ脱落が発生した一部のみを再度スキャンするだけでよくなる。
上述の実施の形態において、カラー画像入力装置1としては、例えば、フラットベッドスキャナ、フィルムスキャナ、デジタルカメラ、携帯電話機などが用いられる。また、カラー画像出力装置3としては、例えば、CRTディスプレイ、液晶ディスプレイなどの画像表示装置、処理結果を記録紙などに出力する電子写真方式又はインクジェット方式のプリンタなどが用いられる。さらに画像形成装置100としては、ネットワークを介してサーバ装置などに接続するための通信手段としてのモデムなどを備えることもできる。また、カラー画像入力装置1からカラー画像データを取得する代わりに、ネットワークを介して外部記憶装置、サーバ装置などからカラー画像データを取得する構成であってもよい。
上述の実施の形態では、文書照合処理部24の中にメモリ246、制御部247を備える構成であるが、これに限定されるものではなく、メモリ246、制御部247を文書照合処理部24の外部に設ける構成であってもよい。
本発明はコンピュータに実行させるためのコンピュータプログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)を記録したコンピュータでの読み取り可能な記録媒体に、原稿登録処理、原稿分類処理、原稿画像の構成の検知処理の制御を行うコンピュータプログラムコードを記録することもできる。この結果、上記原稿登録処理、原稿分類処理、原稿画像の構成の検知処理の制御を行うコンピュータプログラムコードを記録した記録媒体を持ち運び自在に提供することができる。記録媒体としては、マイクロコンピュータで処理が行われるために図示しないメモリ、例えばROMのようなプログラムメディアであってもよく、図示しない外部記憶装置としてのプログラム読取装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。
いずれの場合においても、格納されているコンピュータプログラムコードはマイクロプロセッサがアクセスして実行させる構成であってもよいし、コンピュータプログラムコードを読み出し、読み出されたコンピュータプログラムコードは、マイクロコンピュータの図示されていないプログラム記憶エリアにダウンロードされて、そのコンピュータプログラムコードが実行される方式であってもよい。この場合、ダウンロード用のコンピュータプログラムは予め本体装置に格納されているものとする。
ここで、上記プログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、フレキシブルディスクやハードディスク等の磁気ディスク並びにCD−ROM/MO/MD/DVD等の光ディスクのディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュROM等による半導体メモリを含めた固定的にコンピュータプログラムを担持する媒体であってもよい。
また、この場合、インターネットを含む通信ネットワークを接続可能なシステム構成であることから、通信ネットワークからコンピュータプログラムコードをダウンロードするように流動的にコンピュータプログラムコードを担持する媒体であってもよい。なお、このように通信ネットワークからコンピュータプログラムコードをダウンロードする場合には、そのダウンロード用のコンピュータプログラムは予め本体装置に格納しておくか、あるいは別の記録媒体からインストールされるものであってもよい。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。