以下、図面を参照して、本発明を実施するための最良の形態(以下「実施形態」と呼ぶ)について説明する。
図1は、本実施形態のシステム構成例を示す図である。図1に示すように、このシステムは、LAN(ローカル・エリア・ネットワーク)等のネットワーク4を介して相互に接続されたデジタル複合機1、クライアントマシン2及び文書DB(データベース)サーバ3から構成されている。
デジタル複合機1は、ネットワークプリンタ、ネットワークスキャナ、複写機、ファクシミリ装置等の機能を兼ね備えた多機能装置である。本実施形態では、デジタル複合機1に対し、スキャナ機能で読み取った原稿画像をXML等の構造化記述言語の構造化文書データに変換する機能を持たせる。そして、この変換機能により紙原稿から構造化文書データを生成し、これを文書DBサーバ3に登録するといった定型的な業務の自動化を目指す。
原稿画像を構造化文書に変換する機能には、デジタル複合機1が備える像域分離機能を利用する。すなわち、複写機や複合機等の画像形成装置は、印刷画質向上のために、読み取った画像中の文字領域と画像領域とを分離する像域分離の機能を備えるものが一般的になっている。また、高速な印刷処理のため、この像域分離の機能の多くの部分はASIC(Application Specific Integrated Circuit) やDSP(Digital Signal Processor)等のハードウエア回路として実装されている。本実施形態では、このような像域分離回路に必要に応じて拡張を施したものを利用することで、構造化文書への変換の効率化を図る。
ただし、像域分離処理では画像中の文字領域や画像領域などの領域分けは分かるものの、各領域がどの種類の構造化文書のどの要素に該当するかなどの構造情報は像域分離だけでは得られない。そこで、本実施形態では、デジタル複合機1の暫定的な自動変換結果に対し、ユーザが修正・編集を加えることで、構造化文書の構造情報を定め、この構造情報をデジタル複合機1にフィードバックすることで、自動変換の精度を向上させていくというアプローチをとる。図1の例では、デジタル複合機1の暫定的な変換結果をクライアントマシン2にインストールされた構造化文書エディタ2aに渡し、このエディタ2a上でユーザが構造情報の編集作業を行う。
デジタル複合機1の制御機構の主要部を図2に示す。図2においてROM(リード・オンリ・メモリ)12には、デジタル複合機1の動作制御のための制御プログラムなどのデジタル情報が格納されている。CPU(中央処理装置)10がこのROM12内の制御プログラムを実行することにより、デジタル複合機1の各部の制御が実現される。
RAM(ランダム・アクセス・メモリ)14は、デジタル複合機1の主記憶装置であり、制御プログラムの実行の際にワークメモリとしても用いられる。RAM14は、例えば、プリントエンジン24に供給する1ページ分の画像データを蓄えるページバッファとして用いることもできる。
大容量記憶装置16は、各種のデータを保存するための補助記憶装置であり、例えばハードディスクやEEPROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性の記憶装置である。
操作パネル18は、この画像形成装置のユーザインタフェースのための表示や、ユーザからの各種指示の入力受付などのためのユーザインタフェース手段である。操作パネル18は、例えば、スタートボタンなどの機械的な操作ボタンと、GUI(グラフィカル・ユーザ・インタフェース)のための液晶タッチパネルと、を備える。液晶タッチパネルは、CPU10で実行される制御プログラムが生成したGUI画面を表示し、そのディスプレイに対するユーザのタッチ位置を検出して制御プログラムに渡す。制御プログラムは、そのタッチ位置の情報からユーザの入力内容を解釈する。
通信インタフェース20は、ネットワーク4上の他の装置とのデータ通信のための制御を行う装置である。リモートホストからのプリント指示等は、この通信インタフェース20を介して画像形成装置内に入力される。
スキャンエンジン22は、原稿を光学的に読み取って電子的な画像データを生成するスキャナ機能を提供する装置である。自動原稿送り装置(ADF)(図示省略)にセットされた原稿は、ADFの機能により1枚ずつスキャンエンジンに送られ、光学的に読み取られる。
プリントエンジン24は、CPU10の制御により供給される画像データを用紙に画像形成(印刷)するプリンタ機能を提供する装置である。
ファクシミリモジュール26は、ファクシミリデータの送受信を行うモジュールである。
像域分離回路28は、スキャンエンジン22が読み取った原稿画像の像域分離を行う回路である。よく知られるように、像域分離では、画像のエッジ強度や空間周波数などの各種の画像特徴を用いて文字や画像などの像域を判別する。従来の像域分離回路はそのような像域分離の結果を出力するものであるが、本実施形態の像域分離回路28はその像域分離結果に加え、各像域の画像特徴のデータも併せて出力する(詳細は後述)。また、従来は、像域分離回路は、もっぱら印刷などといった画像出力のためのみに用いられていたが、本実施形態の像域分離回路28は、画像出力だけでなく、原稿画像から構造化文書を生成する際の前処理にも利用する。
画像処理回路30は、原稿画像に対し、印刷やファクシミリ送信等の用途に応じた画像処理を施す回路である。例えば、印刷を行う場合、像域分離回路28で分離された文字と画像の像域に対し、それぞれ文字用の画像処理(エッジ強調など)と画像用の画像処理(階調補正など)を施す。
このようなデジタル複合機1において、原稿画像を構造化文書へ変換する機能を実現する仕組みについて、図3を参照して説明する。
図3に示す機能モジュールのうち、像域分離回路28はASICやDSPなどのハードウエア回路であり、構造化部40と文字認識部44はCPU10でプログラムを実行することによりソフトウエア的に実現する。また、スキーマDB42は、例えば大容量記憶装置16を用いて構築される。ただし、これはあくまで一例に過ぎず、構造化部40や文字認識部44の一部又は全部をハードウエア回路として実現することも考えられるし、像域分離処理の一部をソフトウエア的に実現することも考えられる。このように本実施形態では複合機の内部処理機構として従来からある像域分離回路を利用して、構造化文書生成の前処理を行っている。
原稿画像を構造化文書へ変換する処理では、まずスキャンエンジン22で読み取られた原稿画像が、像域分離回路28に供給される。像域分離回路28は、その原稿画像に対し像域分離を実行するとともに、分離された各像域の画像特徴データを計算する。この像域分離の処理では、原稿画像各部のエッジ強度や空間周波数(例えばDCT(離散コサイン変換)の周波数成分)などといった1乃至複数の画像特徴を求め、これら画像特徴を総合評価することで画像を1乃至複数の像域に分離し、各像域の種別(文字か写真かグラフィクスか、など)を判別する。従来の画像形成装置でも、その画像特徴の計算とそれに基づく像域分離はその全部又は大部分がハードウエア回路で実現されていたが、本実施形態の像域分離回路28も、それら従来と同様の画像特徴計算及び像域分離のためのハードウエア回路を備える。
そして、本実施形態の像域分離回路28は、更に、分離された各像域について、1乃至複数の画像特徴を求める機能を備える。ここで求める各像域の画像特徴には、例えば、当該像域内の画像の空間周波数情報、当該像域内の画素値のヒストグラム、当該像域内の画像を二値化した二値画像における画素のオン・オフ比(例えばオン画素の割合)、その二値画像におけるランレングスのヒストグラムなどを例示できる。空間周波数情報は、例えば像域の空間周波数分布の特徴を示す平均周波数やピーク周波数などの指標値やその組合せなどである。画素値のヒストグラムは、図4に示すように、画素値ごとに、その画素値を持つ画素が像域内に幾つあるか、その頻度を集計したヒストグラムである。図4は、文字像域の画素値ヒストグラムを模式的に示したものであり、文字像域では文字部分と非文字部分とでコントラストが非常に大きいので、画素値の大きい部分と小さい部分とにピークが現れている。画像像域の場合、ヒストグラムは文字像域のような顕著なピークパターンは示さないため、文字・画像の像域を判別するのにこのヒストグラムを利用できる。そして、同じ文字像域でも文字数や文字サイズ、フォント、字詰め、行詰めなどが異なれば、ヒストグラムのピークの高さや位置が変わってくるため、このヒストグラムは個々の文字像域の識別のための1つの手がかりとなる。画像(写真)像域の場合も同様であり、画像の内容によってヒストグラムの形状は様々に変わるので、このヒストグラムを画像像域自体の識別のための判断材料として使うこともできる。画像特徴としては、このヒストグラムそのものを用いてもよい。また、そのヒストグラムの特徴を示す指標値、例えば各ピークごとの位置(画素値)と高さ(頻度)のペア、を画像特徴としてもよい。カラー画像の場合、R,G,Bなどといった各原色のそれぞれについてのヒストグラム(又はその指標値)の組合せを画像特徴として用いることができる。
像域の二値化結果のランレングスのヒストグラムも、同様に、ランレングス値ごとに、当該像域の二値化結果においてそのランレングス値が現れる頻度を求めてグラフ化したものである。ランレングスは、例えばオン画素について求めればよい。ランレングスのヒストグラムの場合も、そのヒストグラム自身を画像特徴として用いてもよいし、そのヒストグラムの特徴を示す指標値を画像特徴として用いてもよい。
これら像域ごとの画像特徴の算出には、像域分離のための基礎データとして求めた原稿画像各部の画像特徴のデータやその基礎データを求める過程で求めた各種演算結果を流用することができる。例えば、像域分離の基礎に用いる画像特徴には画像の二値化結果を用いるものがあるので、像域分離のために求めた二値化画像は、分離した各像域の画像特徴の算出に利用できる。また、像域分離の方式によっては、像域分離のために原稿画像各部における空間周波数を求めるものもあるので、そのような方式の場合、求めた空間周波数の情報を、各像域の空間周波数分布の特徴を求める際に利用できる。このように、本実施形態の各像域の画像特徴の算出は、既存の像域分離回路の処理結果を利用できるので、像域分離及び画像特徴算出の処理全体としての回路規模の増大を抑えることができる。
以上に例示した像域の画像特徴の演算は、ワイヤードロジック又はDSP或いはそれらの組合せのハードウエア回路として実現できるものである。したがって、従来の像域分離回路にその像域の画像特徴を演算するための回路を追加することで、本実施形態の像域分離回路28を実現することができる。
以上、像域分離回路28が求める各像域の画像特徴をいくつか示したが、これらはあくまで例示的なものに過ぎない。目的・用途に応じて適切な画像特徴を選択し利用すればよい。例示した全てを用いる必要はないし、例示したもの以外を用いてももちろんよい。また、以上に例示した像域の画像特徴は、ハードウエア回路で演算できるものであったが、これに限らず像域の画像特徴のうちのいくつかをソフトウエア処理で求めてももちろんよい。ソフトウエア処理で求められる画像特徴の一例としては、例えば像域の文字数、行数などを例示することができる。
以上のようにして、像域分離回路28は、例えば図3に示すように像域属性100と像域画像110とを出力する。像域属性100は、当該像域の位置及び形状を示す位置・形状情報102と、当該像域の種別を示す像域種別104と、当該像域の各画像特徴(空間周波数、二値化画像のオン・オフ比など)を示す画像特徴情報106とを含む。位置・形状情報102は、像域の形状を矩形とするならば、その対角線上の2頂点の座標情報でよい。この他にも、像域の位置や形状は従来の像域分離で用いられる方式で表現できる。像域画像110は、当該像域の画像データである。これら像域属性100及び像域画像110は、構造化部40に渡される。なお、像域分離回路28が像域属性100と像域画像110の両方を構造化部40に渡す代わりに像域属性100のみを渡し、構造化部40が、その像域属性100の位置・形状情報102を用いて、スキャンエンジン22が読み取った原稿画像の中から像域画像110を取り出して利用してもよい。
構造化部40は、像域属性100及び像域画像110の情報を用いて、原稿画像に対応する構造化文書のデータを作成する。この処理において、構造化部40は、必要に応じ、スキーマDB42に登録されたスキーマ情報を参照する。
スキーマDB42には、図5に示すように、文書種別ごとに、文書種別名200,構造データ202,及び要素データ204を含んだスキーマ情報が登録される。文書種別は、ユーザが適宜定めるものである。例えば、週報、連絡書、依頼書、技術解説、論文など、ユーザが文書DBサーバ3に登録して管理しようとする様々な文書に対し、ユーザは適宜その種別を設定することができる。文書種別名200は文書種別に対しユーザが設定した識別名である。
構造データ202は、当該文書種別に該当する構造化文書の文書構造を示すデータである。周知のように、SGML、XML等を代表とする構造化文書は、図6に示すように、文書要素(以下、単に「要素」という)が構成するツリー(木)構造として規定される。図6に例示する構造化文書は、要素Aの子に要素B及びFが存在し、要素Bの子に要素C,D,Eが存在するというツリー構造を持った文書である。構造データ202は、このように、当該文書種別の構造化文書の要素群がなすツリー構造を示すデータである。
要素データ204は、ツリー構造を構成する各要素の個別の情報であり、図7に示すように、要素名210,位置・形状212,像域種別214,画像特徴216,及びスタイル属性222を含む。要素名210は当該要素の識別名である。位置・形状212は、原稿画像中で当該要素の占める領域(像域)の位置・形状を示し、像域種別214は、当該要素の像域の種別(文字、写真などの区別)を示す。画像特徴216は、当該要素の像域の画像が持つ1乃至複数の画像特徴の情報である。画像特徴216には、DCT周波数218(あるいは空間周波数)、二値化画像のオン・オフ比率220、画素値のヒストグラム情報など、所定の各特徴項目のデータが含まれる。スタイル属性222は、当該要素の像域内の文字・画像に対するスタイル情報である。例えば、像域内の文字のサイズやフォント、字詰めなどの情報がスタイル属性222の一例である。スタイル属性222は、原稿画像中の各像域の内部の解析の際の補助情報として利用したり(例えば文字認識の際の各文字の切り出しに文字サイズや字詰めの情報を活用するなど)、構造化文書を作成する際にその中の要素の属性として記述したりするなどの用途で利用できる。
以上では、様々な画像特徴を例示したが、1つの要素の要素データ204に、それら全ての種類の画像特徴が登録される必要はない。例えば、画像特徴の中には、文字像域同士を区別する際の指標として適切なものもあれば、画像(写真)像域同士の区別のための指標として適切なものもある(種類の異なる像域の識別は像域種別の情報でできる)。したがって、要素データ204には、当該要素の像域種別に対応して選ばれた画像特徴が登録されるようにしてもよい。
なお、同種の文書でも細部が微妙に異なる場合が多いため、同種の文書でも各像域の画像特徴が文書間でぴったり一致することは極めて稀である。このため、同じ文書種別の構造化文書として構造化部40に認識されるようにするために、位置・形状212や画像特徴216の各項目の値は、1つの「点」ではなく、適切な幅を持った「範囲」として設定しておくことが好ましい。
以上に説明したスキーマDB42の登録データ構造はあくまで概念的なものであり、実際の登録データは上述の構造を表現できるものであればどのような表現形式(例えばDTD(文書型定義)、XMLスキーマ)のものでもよい。
構造化部40は、原稿画像中の各像域の像域属性100と像域画像110が与えられた場合、スキーマDB42中の各文書種別のスキーマ情報を参照し、当該原稿画像に適合する文書種別を探す。すなわち、1つの文書種別を取り出して、その文書種別のスキーマ情報の各要素の位置・形状212,像域種別214,画像特徴216が、当該原稿画像の各像域の位置・形状情報102,像域種別104,画像特徴情報106と整合するか否かを判定し、整合すれば当該原稿画像はその文書種別に属すると判定する。この場合、例えば、1つの像域の位置・形状情報102が、ある要素の位置・形状212と一致し(或いはその位置・形状212の値からあらかじめ設定された許容範囲内であり)、且つその像域の像域種別104がその要素の像域種別214と一致し、且つその像域の画像特徴情報106の各項目の値がその要素の画像特徴216の対応項目の値と一致する(或いは許容範囲内である)場合に、その像域がその要素に整合したと判定する。原稿画像中の全ての像域とスキーマ情報の全ての要素とが一対一で余りなく対応し、整合した場合、その原稿画像がそのスキーマ情報の文書種別であると判定される。この判定に伴い、原稿画像の各像域に対応する要素も特定される。また、文書種別の各要素の位置・形状212や画像特徴216の各項目に理想値を定め、原稿画像の各像域の位置・形状や画像特徴の各項目の値を当該原稿画像の特徴を示す座標と見て、その座標と上記理想値の組が示す座標との距離などを原稿画像と文書種別との類似度の指標値として求め、その類似度の指標値が最も良好(距離の場合、最小)なものを当該原稿画像の文書種別と判定してもよい。ただしこの場合、最良の類似度指標値でも、あらかじめ設定したしきい値より低い場合は、その原稿画像に該当する文書種別がないと判定する。該当する文書種別がない場合は、新規の文書種別として処理する(詳細は後述)。
原稿画像が属する文書種別が判別できると、構造化部40は、その文書種別の構造データ202及び要素データ204を用いて、その原稿画像を構造化文書に変換する。すなわち、原稿画像の各像域ごとに、当該像域が文字像域であれば、公知の文字認識処理を行う文字認識部44にその像域の画像を渡して文字認識処理を行わせ、その像域内の文章のテキストデータを得る。この文字認識の際に、スタイル属性222を文字認識部44に渡せば、認識精度の向上が見込める。そして、そのテキストデータを当該像域に対応する要素の要素名210のタグで修飾することにより、当該像域に対応する要素の記述を構成する。また、画像(写真)像域の場合、例えば、その像域の画像のファイルを作成し、その像域に対応する要素の要素名210のタグにその画像ファイルへの参照を記述することで、その像域に対応する要素の記述を構成する。そして、構造データ202が示す要素間のツリー構造に従ってそれら各要素の記述を配列し、必要に応じて像域に対応しない要素の記述を追加することで、構造化文書を生成する。
次に、図8を参照して、デジタル複合機1の処理手順を説明する。例えば、ユーザが、デジタル複合機1の操作パネル18に表示される操作メニューから構造化文書作成を選び、原稿をプラテン又はADFにセットして処理の実行を指示すると、図8の処理手順が開始される。
この手順では、まずスキャンエンジン22がその原稿を読み取り(S1)、読み取った原稿画像を像域分離回路28に渡す。像域分離回路28は、その原稿画像に対して公知の像域分離処理を施し、その結果分離された各像域につき上述の画像特徴を算出し、それらの処理結果(すなわち像域属性100)を構造化部40に渡す。構造化部40は、各像域の像域属性100と、スキーマDB42に登録された各文書種別の情報とを照合することで(S3)、原稿画像が属する文書種別を探す。そのような文書種別が見つかれば(S4の判定結果が肯定(Y))、構造化部40は、その原稿画像に最も適合する文書種別の構造データ202及び要素データ204に従って、上述のようにしてその原稿画像を構造化文書のデータに変換し(S5)、得られた構造化文書データを文書DBサーバ3に登録する(S6)。
スキーマDB42から原稿画像が属する文書種別が見つからなかった場合(S4の判定結果が否定(N))、構造化部40は、各像域の像域属性100及び像域画像110から、暫定的な構造化文書を作成し(S7)、これをクライアントマシン2の構造化文書エディタ2aに提供して(S8)、ユーザの修正・編集を受ける(S9)。
デジタル複合機1が読み込んだ文書が今までに全く入力されたことのない種別の文書である場合、このステップS7以降の処理が行われる。例えば、図9に示す原稿画像300が今までにない種別の文書であった場合、像域分離回路28によりその原稿画像300を像域R1〜R5に分けた像域分離結果310が求められ、ステップS3,4でその原稿画像300が既存のどの文書種別にも該当しないことが分かると、ステップS7で構造化部40は、それら各像域に対して仮の要素名(ここでは便宜上像域の名前に合わせてR1,R2,・・・,R5とする)を付与し、例えば、それら各要素R1〜R5が同列にルート要素の子となる、図10のような仮の文書構造を構築する。また、構造化部40は、図11に示すように、各像域R1〜R5の位置・形状や像域種別、画像特徴(これらは像域分離回路28により既に求められている)を、それら各像域に対応する要素R1〜R2の属性情報として作成する。そして、構造化部40は、前述のスキーマDB42のスキーマ情報を用いた構造化文書の作成方法と同様の方法で、それら文書構造、各要素の属性情報及び各像域の画像から暫定的な構造化文書を作成する。そして、構造化部40は、ステップS8にて、その暫定的な構造化文書とそのスキーマ(図10の文書構造及び図11の各要素の属性情報の情報内容を記述したデータ)のデータをクライアントマシン2の構造化文書エディタ2aに提供する。この提供は、例えばデジタル複写機1にあらかじめクライアントマシン2のアドレス(ユーザのメールアドレスなど)を登録しておき、そのアドレス宛にそのデータを送信することで実現してもよいし、あるいはそのデータを、あらかじめ指定されたユーザの親展ボックスに保存し、そのユーザがクライアントマシン2からその親展ボックスにアクセスしてそのデータをダウンロードすることにより実現してもよい。また、ユーザがデジタル複合機1に対してパスワード入力等によるユーザ認証を済ませた上で構造化文書作成を指示していたならば、構造化文書やスキーマ情報は、そのユーザがあらかじめデジタル複合機1(或いは該複合機1がユーザ認証を依頼するユーザ管理サーバ)に登録した電子メールアドレスに送ったり、そのユーザの親展ボックスに保存したりすることもできる。
このようにして暫定的な構造化文書とそのスキーマの情報を受け取ったクライアントマシン2で、ユーザが構造化文書エディタ2aを起動してその暫定的な構造化文書(及びスキーマ)のデータを編集対象として指定すると、構造化文書エディタ2aは、クライアントマシン2のディスプレイの画面に、図12に示すように、暫定的な構造化文書の画像320を表示する。図12では、煩雑さを避けるため、暫定的な構造化文書の画像320として各要素R1〜R5に対応する像域の輪郭を示したが、実際には図9の原稿画像300のように各像域の内容(テキストや画像など)を表示する。また、その表示に、それら各像域の範囲を示す画像(例えば像域の輪郭線)を重畳してもよい。このように表示された暫定的な構造化文書に対し、構造化文書エディタ2aは、ユーザから文書種別名の入力や、各要素(像域)の要素名の入力を受け付ける。要素名の入力は、例えば表示された構造化文書の要素をマウスのクリック操作等で選択すると、要素名入力用のダイアログボックスが表示され、それに対しユーザが要素名を入力するなどといったユーザインタフェースを用いればよい。同様に、選択した要素に対し、スタイル属性をユーザが入力できるようにすることもできる。スタイル属性、例えば文字サイズやフォントなどは、例えばプルダウンメニュー等の形で、あらかじめ用意された選択肢から選択するようにすればよい。このようなユーザの編集作業により、文書種別名や各要素の要素名等が確定した構造化文書330ができる。この例では、各要素の要素名を指定しただけでツリー構造は変わらないため、図10に示した仮の要素名のツリーが、図13に示すように、同じツリー構造で要素名のみが仮のものから真のものに変わるだけである。ここで、ルート要素の要素名には、例えば、入力された文書種別名がセットされる。
このように入力された文書種別名や各要素名、スタイル属性などの情報が、当該構造化文書のスキーマ(例えば図11)に登録されることで、当該構造化文書のスキーマの編集が完了する。スキーマの他の情報、すなわち位置・形状や像域種別、画像特徴などは、デジタル複合機1から提供されたときからの情報内容が維持される。
なお、以上のように単に要素名を入力するだけでなく、既存要素を束ねる要素を挿入するなどの、構造レベルでの編集も可能である。これは、例えば、暫定的な構造化文書を表示した画面上で、束ねたい要素たちを内包する範囲の範囲指定を受け付け、その範囲に対して要素名の入力を受け付けるなどのユーザインタフェース機構により実現できる。これにより、例えば図14に例示するように、「表題」、「著者名」、「要約」の各要素を束ねる要素「代表項目」を、ルート要素「報告書」の子として挿入できる。このようなツリー構造上の編集結果もスキーマ情報(の構造情報部分)に反映される。
ユーザは、このようにして編集された構造化文書のスキーマ情報をデジタル複合機1に送り、スキーマDB42に登録する。
このようにしてある文書種別のスキーマ情報がデジタル複合機1のスキーマDB42に一旦登録されると、その後同じ文書種別の原稿がデジタル複合機1に入力されれば、その原稿画像の各像域はそのスキーマ情報が示す各要素の位置・形状及び画像特徴と整合するため、そのスキーマ情報を用いて構造化文書へと変換される。これにより、例えば図15に示すように、「○○○○の調査」という表題の報告書がデジタル複合機1に入力され、構造化文書への変換が指示されると、「報告書」のスキーマ情報に従って処理されることで、その文書「○○○○の調査」の各像域のテキストや画像は「報告書」の各要素に対応づけられ、これに基づき構造化文書が作成される。
このように、本実施形態によれば、ユーザが作成したスキーマ情報がデジタル複合機1のスキーマDB42に一旦登録されれば、その後同じ文書種別の原稿がデジタル複合機1に入力されれば、原稿の画像からそのスキーマ情報に従って自動的に構造化文書データが生成される。この自動処理では、原稿画像の各像域の画像特徴を構造化文書の各要素の画像特徴(これはスキーマ情報に含まれる)と比較することで、各像域がどの要素に該当するかを判定するので、単に像域と要素の位置・形状の比較だけで判定する方式よりも高精度の判定が可能である。また、このとき用いる画像特徴は、像域分離回路28のハードウエア処理により求めるので、高速処理、リアルタイム処理が実現可能である。
また、本実施形態では、新規な文書種別の原稿が入力された場合、デジタル複合機1が、像域分離回路28及び構造化部40により暫定的な構造化文書とそのスキーマ情報を生成し、これをユーザに提供するので、ユーザは比較的簡単な編集作業でスキーマ情報を完成させることができる。
次に、上記実施形態の変形例を、図16を参照して説明する。図16において、図8に示したステップと同一のステップには同一符号を付して説明を省略する。
上記実施形態では、スキーマDB42に登録されるスキーマ情報には、そのスキーマ情報の元になった原稿の各像域の位置・形状や各種画像特徴の値が登録されており、これらの値を基準に同一文書種別の原稿の解析が行われる。ところが、同一の文書種別の文書であっても、その中の各要素の位置・形状及び各画像特徴の値はある程度ばらつくので、原稿画像の文書種別を判定する際、原稿の各像域の値とスキーマ情報の各要素の値との一致を厳格に要求しすぎると、文書種別の判定が成り立たなくなる。かといって、一致と判定する際の許容範囲を広くとりすぎると誤判定が増える。適切な許容範囲は、文書種別ごと、像域・要素ごとに異なると考えられる。そこで、この変形例では、同じ文書種別に属する多くの原稿の読み取り結果を用いてスキーマ情報内の位置・形状212や画像特徴216の各項目の値の許容範囲を適切に決める処理を説明する。
この処理では、ユーザは、構造化文書作成の対象として入力する原稿の文書種別を知っている場合、その種別をデジタル複合機1に入力する。すなわち、例えば、メニュー上で構造化文書作成が指示された場合、スキーマDB42に登録された文書種別の種別名のリストを操作パネル18のディスプレイに表示し、その中から入力する原稿の文書種別をユーザに選択させればよい。ユーザは、文書種別を知っていれば、その種別を選択してから処理開始を指示し、知らなければ選択せずに処理開始を指示すればよい。
そして、処理開始が指示されると、デジタル複合機1は、原稿を読み取って(S1)、像域分離及び画像特徴の計算(S2)を行う。そして、文書種別の選択がなされていなければ、前述の図8のステップS3以降の処理に進む。一方、文書種別の選択がなされている場合は、構造化部40は、その選択された文書種別のスキーマ情報をスキーマDB42から求め、そのスキーマ情報に示される各要素の位置・形状212、像域種別214及び画像特徴216と、原稿画像の各像域の位置・形状情報、像域種別、及び画像特徴情報とを照合し(S12)、各要素と各像域とが一対一で対応し整合するかどうかを判定する(S13)。この照合・判定は、ユーザの文書種別選択の誤りを検出する目的なので、図8のステップS3,S4での判定の際よりも甘い判定基準(例えば許容範囲がS3,S4の場合よりも大きい、など)で判定する。そして、整合しないと判定した場合は、構造化部40は、文書種別選択の誤りの可能性を示唆するメッセージを操作パネル18に表示するなどのエラー処理を行う(S14)。一方、整合すると判定した場合は、構造化部40は、選択された文書種別のスキーマ情報に従って、原稿画像を構造化文書へと変換し(S15)、その変換結果を文書DBサーバ16に登録する(S16)。そして更に構造化部40は、その原稿画像の各像域の位置・形状情報102及び画像特徴情報106の各項目の値を、スキーマDB42内の当該スキーマ情報の位置・形状212及び画像特徴216の各項目の情報に反映させる(S17)。ここでは、例えば、原稿画像の像域の位置・形状が、スキーマ情報に登録された対応要素の位置・形状の許容範囲から外れている場合、その像域の位置・形状の値を含むようその許容範囲を修正する。また、スキーマ情報における位置・形状等が、平均値や分散などの統計データで規定されている場合、その統計データをいま処理した原稿画像の各像域の情報を用いて修正する。なお、スキーマ情報の各項目を統計データで表す場合、原稿の各像域が各要素に対応するかどうかは、各像域の位置・形状等が文書のある要素であることについての統計的な確からしさをその要素の統計データから求め、その確からしさに基づき判定を行えばよい。
以上、本発明の好適な実施形態と変形例を説明したが、以上に説明したものはあくまで一例に過ぎず、本発明の範囲内で様々な変形が可能である。例えば、以上の例では、デジタル複合機1が作成した暫定的な構造化文書のスキーマ情報を、クライアントマシン2の構造化文書エディタ2aで修正したが、これに限らず、例えばデジタル複合機1に上述したスキーマ情報の編集機能を持たせてもよい。
また、以上の例では、デジタル複合機1が読み取った原稿画像について、そのデジタル複合機1が像域分離を行い、構造化文書に変換したが、上述の像域分離及び構造化文書への変換のための上述の各機能は、原稿画像を読み取った装置とは別の装置で実行されてもよい。このことは、以下に示す各変形例についても言えることである。すなわち、以下では、更なる変形例を、上述のデジタル複合機1で実現した場合を例にとって説明するが、以下に示す変形例の機能は、原稿画像を読み取った装置とは別の装置で実行されてもよい。
この場合、別の装置は、例えば、汎用のコンピュータにて上述の各部の機能又は処理内容を記述したプログラムを実行することにより実現してもよい。コンピュータは、例えば、ハードウエアとして、CPU(中央演算装置)、メモリ(一次記憶)、各種I/O(入出力)インタフェース等がバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、HDD(ハードディスクドライブ)やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブが接続される。このようなドライブは、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク経由で、HDD等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
別の変形例の処理手順を、図17を参照して説明する。図17の手順では、デジタル複合機1の像域分離回路28が構造化の対象となる原稿画像を像域分離し、構造化部40がその像域分離の結果を用いて、暫定的な構造化文書及びスキーマ情報(例えば、図10に例示したようなフラットな構造のもの)を作成する(S21)。また、この像域分離の結果における分離精度(像域分離精度と呼ぶ)を計算する(S22)(便宜上ステップS21の後にS22を示したが、像域分離精度の計算は、像域分離処理と平行して実行してもよい)。像域分離精度は、像域分離処理により求められる個々の像域ごとに計算することができる。
すなわち、像域分離では、画素、或いは複数の画素からなるブロック、等といった画像単位について画像特徴を求め、画像単位ごとに、その周波数特性等の画像特徴から、その画像単位が文字、連続調(写真)画像、誤差拡散画像、などといった像域種別のいずれに属するかを判定する。この判定のために、例えば、像域種別ごとに画像特徴の値(或いは複数の画像特徴の値の組。以下、簡単のため「画像特徴値」と総称する)の範囲が定められており、画像単位の画像特徴値が、ある像域種別に対応する範囲に含まれれば、その画像単位はその像域種別に該当すると判定される。しかし、そのように範囲に含まれるか否かに従って自動判定した場合、画像単位の画像特徴値がある像域種別に対応する範囲に含まれてさえいれば、その画像特徴値がその範囲と別の像域種別の範囲との境界部に位置しようと、そのような別の像域種別の範囲と紛れない、当該像域種別の可能性が高い位置に位置しようと、その画像単位は等しくその像域種別と判定されてしまう。しかし、本来ならば、前者(境界部に位置する場合)は、後者よりも、当該画像単位が判定結果の像域種別である可能性は低いのである。このように、画像単位が同じようにある像域種別と判定された場合でも、前者よりも後者の方が、その判定結果の確からしさが高い。この確からしさが、前述の像域分離精度である。例えば、画像単位の画像特徴値と、像域種別に対応する画像特徴値の範囲とを用いて、その画像単位がその像域種別に属する確からしさ、すなわち像域分離精度を求めるための評価式、或いは評価ルールなどを定義することができる。例えば、単純な例では、画像特徴値がaからbの範囲に含まれれば、当該画像単位は像域分離精度0.1で像域種別Aに属し、bからcの範囲に含まれれば、像域分離精度0.9で像域種別Aに属する、等といったルールを定義することができる。
以上一例を示したが、上述の方式に限らず、像域種別の判定にどのような方法を用いるにしても、画像単位の画像特徴値が各像域種別における画像特徴の典型的な値にどれだけ近いか又は遠いかに応じて、その画像単位が各像域種別に属する確からしさを数値化する
ことができる。像域分離精度を求める機能は、像域分離回路28に設けることができる。
このような評価式や評価ルールなどにより求められた各画像単位の像域分離精度を総合することで、原稿画像の像域分離結果全体についての像域分離精度を求めることができる。各画像単位の像域分離精度を総合してを求めるための演算には、様々なものが考えられる。例えば、各画像単位の像域分離精度の中で最も低い値を、像域分離結果全体の像域分離精度とする方式がその一つである。また、各画像単位の像域分離精度から所定の計算式(例えば平均を求めるための式や、二乗平均を求めるための式など)を用いて全体の像域分離精度を求めてもよい。どのような計算式が適切かは、用いる画像特徴の種類にもよるし、像域分離処理の内容にもよるが、いずれにしても、各画像単位の像域分離精度から像域分離結果全体の像域分離精度を定義することは可能である。
このようにして、像域分離結果全体の像域分離精度が求められると、その精度が予め定めた閾値以上であるか否かが判定される(S23)。閾値以上であれば、像域分離精度が十分に高いということであり、その場合、デジタル複合機1は、ステップS21で求めた暫定的な構造化文書及びスキーマ情報を、正式の構造化文書及びスキーマ情報として文書DBサーバ3及びスキーマDB42に登録する(S24)。
一方、像域分離精度が閾値未満であれば、暫定的な構造化文書及びスキーマ情報をクライアントに提供し(S25)、構造化文書及びスキーマ情報に対する編集作業をユーザから受けて(S26)、その編集結果を反映した構造化文書及びスキーマ情報を文書DBサーバ3及びスキーマDB42に登録する(S27)。ステップS26での編集は、大略的には図8の手順におけるステップS9での編集と同様である。ただし、ステップS26の場合、像域分離精度が低いので、誤った像域分離がなされている可能性が高い。したがって、ステップS26の編集では、暫定的なスキーマ情報に示される像域そのものの位置、形状、サイズなどがユーザにより変更される場合もある。そのような像域についての変更は、スキーマ情報や、このスキーマ情報に準拠する構造化文書へと反映される。このように、像域分離精度が閾値より低い場合は、像域分離結果そのものの信頼性が低いため、ユーザの介入を求めるのである。
なお、ステップS23で用いる閾値は、実験などにより妥当な値を予め定めておき、それをデジタル複合機に登録しておけばよい。
このように、図17の手順では、像域分離精度が閾値以上の場合には、ユーザの手を煩わせることなく、自動的に構造化文書及びスキーマ情報の登録を行う。このように自動的に登録される構造化文書及びスキーマ情報には、論理構造がある限定されたものになる(例えばフラット構造)、或いは図12に例示したような要素の意味づけができない(あるいは言語解析その他の高度な分析処理によりある程度の意味づけをすることも不可能ではないが、そのような自動処理では高精度の意味づけは期待できない)、などといった点はある。しかし、このような点を考慮しても、ユーザの省力化の方が重要であれば、図17のような手順を用いる意義がある。
次に、図17の手順の変形を、図18を用いて説明する。図18の処理のために、スキーマDB42における各文書種別のスキーマ情報に対応づけて、その文書種別に該当する文書の画像を仮に像域分離したとした場合に得られると想定される像域分離の結果(言い換えれば、各画像単位の像域種別の判定結果)とそれら各画像単位の像域分離精度とが参照値として登録されているものとする。そのような参照値は、例えばその文書種別に該当する文書の画像に対し、実際に像域分離を施すことで求めることができる。新規の文書種別に属する原稿を本システムに読み込んだときに求められる像域分離結果や像域分離精度を、その文書種別の参照値とすることもできる。また、文書種別に属する複数の原稿の平均的な像域分離結果や像域分離精度を参照値としてもよい。
図18の手順では、デジタル複合機1は、原稿画像に対して像域分離を行い(S31)、その像域分離の結果と、各画像単位の像域分離精度とを求める(S32)。そして、それら各画像単位の像域種別の判定結果と各画像単位の像域分離精度と、スキーマDB42中の各文書種別のスキーマ情報に対応づけられた像域分離結果及び像域分離精度の参照値との比較から、原稿画像に適合する文書種別を検索する(S33)。ステップS33では、例えば、原稿画像の像域分離結果及び像域分離精度と、文書種別に対応する参照値との距離を求め、その距離が所定の閾値以下であれば、その文書種別は原稿画像に適合する(すなわち、その原稿画像がその文書種別に属する可能性が所定の閾値以上の確からしさで言える)と判定し、抽出することができる。そして、検索された文書種別の中の、原稿画像に対して最も適合する文書種別(例えば、前述の距離が最も小さいもの)に対応するスキーマ情報に従って、原稿画像を構造化文書に変換する(S35)。このステップS35での変換処理は、図8の手順のステップS5と同様の処理でよい。そして、その結果生成された構造化文書を、文書DBサーバ3に登録する。
また、ステップS34で原稿画像に適合する文書種別がないと判定された場合は、例えば、図17の手順のステップS22に進めばよい。この場合、デジタル複合機1は、原稿画像全体の像域分離精度を求め、これが所定の閾値以上であれば、その原稿画像が新規の文書種別(すなわちスキーマDB42に今まで登録されていなかった文書種別)であると判断して、その原稿画像の像域分離結果から生成した暫定的な構造化文書及びスキーマ情報を、文書DBサーバ3及びスキーマDB42に登録する(S24)。また、原稿画像全体の像域分離精度が閾値未満の場合は、ユーザに暫定的な構造化文書及びスキーマ情報を提供して、これに対する確認又は編集を受け、その結果得られる構造化文書及びスキーマ情報を文書DBサーバ3及びスキーマDB42に登録する(S25〜S27)。
なお、ステップS34で原稿画像に適合する文書種別がないと判定された場合に、以上のような処理の代わりに、図8の手順のステップS3以降の処理を行うようにしてもよい。
次に、更なる変形例を、図19を参照して説明する。図19の処理のために、スキーマDB42における各文書種別のスキーマ情報に対応づけて、その文書種別に該当する文書の代表画像がシステムに登録されている。代表画像は、例えば、その文書種別に該当する具体的な文書画像の1つであってもよいし、その文書画像に該当する複数の文書の画像の平均画像であってもよい。各文書種別の代表画像は、デジタル複合機1からアクセスできるところであればどこに格納されていてもよい。例えば、代表画像は、スキーマDB42に格納されていてもよいし、文書DBサーバ3に格納されていてもよい。
図19の手順では、デジタル複合機1は、構造化の対象である原稿画像を取得すると、システムに登録された各文書種別の代表画像の中から、その原稿画像に対する類似度が所定値以上であるものを検索する(S41)。原稿画像に対する代表画像の類似度は、画像同士の類似度を求める既存の手法により求めることができる。例えば、原稿画像と代表画像の対応画素同士の値の差分について、全画素にわたっての二乗平均をとったものを原稿画像と代表画像の距離とし、その距離が近いほど類似度が高くなる評価式により類似度を計算する、などである。このような画像同士の類似度は、ハードウエア回路でもソフトウエア処理でも求めることができる。本システムに、そのような類似度を求めるためのハードウエア又はソフトウエアを搭載すればよい。
そして、所定値以上の類似度を持つ文書種別があるかどうかを判定し(S42)、そのような文書種別が見つかった場合は、その中で最も類似度の高い文書種別のスキーマ情報に従って、原稿画像を構造化文書に変換する(S43)。この変換処理は、図8の手順のステップS5と同様な処理内容でよい。そして、得られた構造化文書を文書DBサーバ3に登録する(S44)。
また、このような処理の代わりに、ステップS42の所定値以上の類似度を持つ文書種別が複数見つかった場合、図8のS2以降の処理を行ってもよい。この場合、原稿画像に適合する文書種別を、スキーマDB42に登録されたすべての文書種別の中から探す代わりに、それら所定値以上の類似度を持つ文書種別の中から探索すればよい。
また、ステップS42の判定で、所定値以上の類似度を持つ文書種別がないと判定された場合には、例えば図17の処理を行えばよい。また、この代わりに図8の処理を行ってもよいし、図18の処理を実行するようにしてもよい。
このように、図19の処理手順では、像域分離とそれに基づく構造化の処理を行う前に、画像のレベルでの類似度により原稿画像が属する可能性の高い文書種別を絞り込み、そのような絞り込み結果に対して像域分離に基づく構造化のための処理を行う。したがって、像域分離に基づく構造化のための処理に要する時間が短くなる。
以上の図17〜図19を用いて説明した各例では、各種の判定のためにそれぞれ閾値を用いたが、このような閾値を設定したり、変更したりするためのユーザインタフェースを、デジタル複合機1に設けてもよい。また、図17〜図19を用いて説明した各処理を実行するか否かを設定するためのユーザインタフェースをデジタル複合機1に設けてもよい。
1 デジタル複合機、2 クライアントマシン、2a 構造化文書エディタ、3 文書DBサーバ、4 ネットワーク、28 像域分離回路、40 構造化部、42 スキーマDB、44 文字認識部、100 像域属性、102 位置・形状情報、104 像域種別、106 画像特徴情報、110 像域画像。