説明

画像処理装置、画像処理方法及びプログラム

【課題】複数のオブジェクトのキャプションにおいて同一のアンカー表現が使用されている場合でも、キャプションや本文中の説明文を適切にメタデータとしてオブジェクトに対応付ける。
【解決手段】画像データを所定の領域に分割する領域分割手段(S702)と、前記分割された所定の領域に対し、当該領域に応じた属性を付加する属性情報付加手段(S703)と、前記属性情報付加手段において文字に関連する属性が付加された領域に対し、文字認識処理を行う文字認識手段(S704)と、前記属性情報付加手段において写真、図、表及び/又はこれらに準じた属性が付加されたオブジェクト領域のメタデータを、前記文字認識処理の結果を用いて抽出し、前記オブジェクト領域に付随するキャプション領域を特定する識別子を用いて、前記メタデータを前記オブジェクト領域のオブジェクトに関連付けるメタデータ処理手段(S706)と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書中のオブジェクトを検索可能な電子文書データを生成する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
従来より、文書中に含まれる写真、図(線画)、表等のオブジェクトを検索できるようにすることが考えられている。(本明細書では、「オブジェクト」を、写真、図(線画)、表等の文字以外のオブジェクトを指す用語として使用するものとする。)
例えば、文書から抽出したオブジェクトの近傍にそのオブジェクトを説明する文字列(キャプション)を付し、これをメタデータとして関連付けることで、オブジェクトを検索できるようにする方法が存在する。
【0003】
また、キャプション中に「写真1」、「第1図」、「表1」といったオブジェクトを特定するための図番号などの表現(以下、「アンカー表現」と呼ぶ。)を含む場合、一般的な文書では、そのオブジェクトのより詳しい説明が、当該アンカー表現を用いて本文中にも記載される。このようなアンカー表現も、文書中のオブジェクトを特定するための手段として利用されている。特許文献1では、アンカー表現を含む本文中の説明箇所(以下、「本文中の説明文」と呼ぶ。)を抽出し、オブジェクトのメタデータとして関連付けることが行われている。例えば、図のオブジェクトに隣接するキャプションにアンカー表現「図1」が含まれ、本文中に「図1は、AAAである。」という説明がある場合には、まず、当該図のオブジェクトの識別情報としてアンカー表現「図1」を対応付ける。それとともに、「図1は、AAAである。」という本文中の説明文をもメタデータとして対応付けることにより、該メタデータを利用した図のオブジェクトの検索が可能となる。
【0004】
また、近年のワードプロセッサなどでは、編集機能として、アンカー表現の自動生成機能や文書中に存在するオブジェクトと本文中の説明文との対応付けを行う機能を備えたものがある。これらの機能によって与えられる情報(メタデータ)を電子文書内に格納することで、効率的な文書の編集が可能となっている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−025113号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年のスキャナは、オート・ドキュメント・フィーダなどの機能を備えることから、多数ページに亘る紙文書を容易に読み込めるようになっている。そのため、一度に複数種類の文書を読み込み対象とすることもできる。一方、読み込み対象に異なる文書が混在する場合、同一のアンカー表現を含んだキャプションを持つオブジェクトが複数生じてしまう可能性がある。例えば、同時に読み取ったうちのある文書には、「表1は、□□□です。」のキャプションを持つ表オブジェクトが存在し、別の文書には、「表1は、△△△を示す。」のキャプションを持つ表オブジェクトが存在する場合があり得る。このような状況において、上述した対応付け処理を単純に行なうと、同じ「表1」のアンカー表現に対し2つの表オブジェクトが対応付けられてしまい、結果、「表1」のアンカー表現と適切に対応する本文中の説明文を得られないという事態が生じてしまう。
【0007】
そこで、読み込み対象に異なる種類の文書が混在し、複数のキャプションで同一のアンカー表現が使用されているような場合でも、キャプションや本文中の説明文を適切にメタデータとしてオブジェクトに対応付けできるようにすることが望まれていた。
【課題を解決するための手段】
【0008】
本発明に係る画像処理装置は、画像データを所定の領域に分割する領域分割手段と、前記分割された所定の領域に対し、当該領域に応じた属性を付加する属性情報付加手段と、前記属性情報付加手段において文字に関連する属性が付加された領域に対し、文字認識処理を行う文字認識手段と、前記属性情報付加手段において写真、図、表及び/又はこれらに準じた属性が付加されたオブジェクト領域のメタデータを、前記文字認識処理の結果を用いて抽出し、前記オブジェクト領域に付随するキャプション領域を特定する識別子を用いて、前記抽出したメタデータを前記オブジェクト領域のオブジェクトに関連付けるメタデータ処理手段であって、前記キャプション領域は、前記属性情報付加手段においてキャプションの属性が付加された領域である、メタデータ処理手段と、を備え、前記メタデータ処理手段は、前記キャプション領域に対する前記文字認識処理の結果から、前記オブジェクト領域のオブジェクトを指し示すアンカー表現を前記メタデータとして抽出し、前記アンカー表現を抽出した後に残った文字列をキャプション表現として抽出する第1の抽出手段と、前記属性情報付加手段において本文の属性が付加された本文領域に対する前記文字認識処理の結果から、前記アンカー表現を含む本文中の説明文を前記メタデータとして抽出し、複数のオブジェクト領域について同一のアンカー表現が前記第1の抽出手段において抽出された場合に前記キャプション表現を用いて前記複数のオブジェクト領域のそれぞれに対応する本文中の説明文を前記メタデータとして抽出する、第2の抽出手段と、を含むことを特徴とする。
【発明の効果】
【0009】
本発明によれば、同一のアンカー表現を含んだキャプションを持つオブジェクトが複数存在する場合でも、適切なメタデータをオブジェクトに対応付けることができる。そのため、複数の文書が混在した状態の画像データからでも、個々のオブジェクトに適切なメタデータを付した電子文書の作成が可能となる。
【図面の簡単な説明】
【0010】
【図1】本発明に係る画像処理システムの構成を示すブロック図である。
【図2】MFP100の構成を示す図である。
【図3】データ処理部218の内部構成を示すブロック図である
【図4】メタデータ処理部304の内部構成を示すブロック図である。
【図5】データ処理部218における処理の内容を説明するための図であって、(a)は画像データが領域分割される様子を示す図であり、(b)は領域分割部301、属性情報付加部302、文字認識部303における処理結果の一例を示すテーブルであり、(c)は、フォーマット変換部305において使用される対応テーブルの一例である。
【図6】本発明において生成される電子文書を説明するための図であり、(a)はSVGフォーマットで記述された電子文書の一例であり、(b)は当該電子文書におけるメタデータを表で示したものである。
【図7】本発明に係る画像処理装置における処理の概要を示すフローチャートである
【図8】メタデータの抽出・付与処理の流れを示すフローチャートである。
【図9】本発明に係る画像処理装置の処理を説明するための図であり、(a)はデータ処理部218に入力される画像データとそれに対する領域分割の一例を示す図であり、(b)は当該画像データの場合における領域分割部301、属性情報付加部302、文字認識部303における処理結果の一例を示すテーブルである。
【図10】実施例1に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。
【図11】実施例1に係る、類似度の計算処理の流れを示すフローチャートである。
【図12】類似度の計算処理において得られる途中経過を説明するための図であり、(a)はステップ1103までの処理で得られる結果の一例であり、(b)はステップ1105及び1106における処理で得られる結果の一例である。
【図13】図9(a)の画像データ901〜907について、実施例1に係る処理を行った結果得られるメタデータ情報を表にしたものである。
【図14】実施例2に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。
【図15】実施例2に係る、類似度の計算処理の流れを示すフローチャートである。
【図16】実施例3に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。
【図17】操作部203に表示されるユーザインタフェース(UI)画面の一例である。
【図18】操作部203に表示される警告画面の一例である。
【図19】実施例4に係る、本文中の説明文とオブジェクトとを対応付ける処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0011】
[実施例1]
以下、本発明を実施するための形態について図面を用いて説明する。
【0012】
図1は本実施例に係る画像処理システムの構成を示すブロック図である。
【0013】
図1において、オフィスA内に構築されたLAN102には、複数種類の機能(複写機能、印刷機能、送信機能等)を実現する画像処理装置であるMFP(Multi Function Peripheral)100が接続されている。LAN102は、プロキシサーバ103を介して外部ネットワーク104にも接続されている。クライアントPC101はLAN102を介してMFP100からの送信データを受信したり、MFP100が有する機能を利用したりする。例えば、クライアントPC101は、印刷データをMFP100へ送信することで、その印刷データに基づく印刷物をMFP100で印刷することもできる。尚、図1の構成は一例であり、オフィスAと同様の構成要素を有する、複数のオフィスがネットワーク104上に接続されていても良い。また、ネットワーク104は、典型的にはインターネットやLANやWANや電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等で実現される通信ネットワークである。これは、データの送受信が可能なものであれば、何でも良い。また、クライアントPC101、プロキシサーバ103の各種端末はそれぞれ、汎用コンピュータに搭載される標準的な構成要素を有している。例えば、CPU、RAM、ROM、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等である。
【0014】
図2はMFP100の構成を示す図である。
【0015】
まず、MFP100の構成は、画像入力デバイスであるスキャナ部201と、画像出力デバイスであるプリンタ部202と、CPU205等で構成される制御ユニット204と、ユーザインタフェースである操作部203に大別される。
【0016】
制御ユニット204は、スキャナ部201、プリンタ部202、操作部203と接続し、一方では、LAN219や一般の電話回線網である公衆回線(WAN)220と接続することで、画像情報やデバイス情報の入出力を行うコントローラである。
【0017】
CPU205は、制御ユニット204に含まれる各ユニットを制御する。
【0018】
RAM206はCPU205が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。
【0019】
ROM210はブートROMであり、システムのブートプログラム等のプログラムが格納されている。
【0020】
記憶部211はハードディスクドライブで、システム制御ソフトウェア、画像データを格納する。
【0021】
操作部I/F207は操作部(UI)203とのインターフェース部で、操作部203に表示するための画像データを操作部203に対して出力する。また、操作部I/F207は操作部203から本画像処理装置のユーザが入力した情報を、CPU205に伝える役割をする。
【0022】
ネットワークI/F208は本画像処理装置をLAN219に接続し、パケット形式の情報の入出力を行う。
【0023】
モデム209は本画像処理装置をWAN220に接続し、データの復調・変調を行うことにより情報の入出力を行う。以上のデバイスがシステムバス221上に配置される。
【0024】
イメージバスI/F212はシステムバス221と画像データを高速で転送する画像バス222とを接続し、データ構造を変換するバスブリッジである。
【0025】
画像バス222は、例えば、PCIバスやIEEE1394で構成される。画像バス222上には以下のデバイスが配置される。
【0026】
ラスターイメージプロセッサ(RIP)213はPDL(ページ記述言語)コードを解析し、指定された解像度のビットマップイメージに展開する、いわゆるレンダリング処理を実現する。この展開の際には、各画素単位あるいは領域単位で属性情報が付加されることになる。これを像域判定処理と呼ぶ。像域判定処理により、画素毎にあるいは領域毎に、文字(テキスト)や線(ライン)、グラフィクス、イメージ等といったオブジェクト種類を示す属性情報が付与される。例えば、PDLコード内のPDL記述のオブジェクトの種類に応じて、RIP213から像域信号が出力され、その信号値で示される属性に応じた属性情報が、オブジェクトに対応する画素や領域に関連付けて保存される。したがって画像データには、関連付けられた属性情報が付属している。
【0027】
デバイスI/F214は、信号線223を介して画像入力デバイスであるスキャナ部201、信号線224を介して画像出力デバイスであるプリンタ部202、をそれぞれ制御ユニット204に接続し、画像データの同期系/非同期系の変換を行う。
【0028】
スキャナ画像処理部215は、入力画像データに対し補正、加工、編集を行う。
【0029】
プリンタ画像処理部216は、プリンタ部202に出力すべきプリント出力画像データに対して、プリンタ部202に応じた補正、解像度変換等を行う。
【0030】
画像回転部217は入力された画像データが正立するように回転を行い出力する。
【0031】
データ処理部218については、図3を参照しつつ詳細に説明する。
【0032】
<データ処理部>
データ処理部218は、図3に示すように、領域分割部(領域抽出部)301、属性情報付加部302、文字認識部303、メタデータ処理部304、フォーマット変換部305から構成される。データ処理部218では、入力された画像データ300に対し各処理部301〜305において所定の処理を行い、最終的に電子文書310が生成されて出力される。
【0033】
領域分割部301には、スキャナ部201で読み取られた画像データや、クライアントPC等の外部装置から受け取って記憶部211に保存されている画像データが入力される。そして、入力された画像データから、文字、写真、図、表等の属性別に分割された領域をページ単位で抽出するために、画像データ中の画素の抽出・グループ化等の処理を行う。この際の領域分割方法(領域抽出方法)としては公知の方法を用いればよい。一例を説明すると、まず、入力画像を2値化して2値画像を生成し、2値画像を低解像度化して間引き画像(縮小画像)を作成する。例えば、1/(M×N)の間引き画像を作成する際には、2値画像をM×N画素毎に分割し、M×N画素内に黒画素が存在すれば縮小後の対応する画素を黒画素とし、存在しなければ白画素とすることにより、間引き画像を作成する。次に、間引き画像において黒画素が連結する部分(連結黒画素)を抽出して当該連結黒画素に外接する矩形を作成していく。文字画像サイズに近い矩形(1文字の矩形)が並んでいる場合や、縦横のどちらかが文字画像サイズに近い矩形(数文字が繋がった連結黒画素の矩形)で短辺の近くに同様の矩形が並んでいる場合は、1つの文字行を構成している文字画像である可能性が高い。この場合は矩形同士を結合して、1つの文字行を表す矩形を得る。そして、1つの文字行を表す矩形の短辺の長さがほぼ同じで、列方向にほぼ等間隔に並んでいる矩形の集合は、本文部分である可能性が高いので、結合して本文領域として抽出する。また、写真領域、図領域及び表領域は、文字画像よりも大きいサイズの連結黒画素により抽出される。その結果、例えば、図5(a)の501〜506に示すような各領域が抽出されることとなる。なお、各領域の属性は、後述するように、そのサイズや縦横比や黒画素密度や、連結黒画素内部に含まれる白画素の輪郭追跡結果等に基づいて判定される。
【0034】
属性情報付加部302は、領域分割部301で分割された領域毎にその属性情報を付加する。ここでは、図5(a)に示すように、画像データ500が領域分割部301で分割されたと仮定して説明する。
【0035】
領域506は、ページ内において一定以上の文字数や行数が存在し、段落等の形態を有していることなどから、「本文」の属性が付加される。なお、図面を簡略表示するために、図5(a)の領域506に含まれる文字を黒点で示しているが、実際には複数の文字画像が含まれている。
【0036】
残りの領域501〜505については、まず、文字を含む領域かどうかを判定する。具体的には、文字を含む領域の場合、文字画像の矩形が周期的に領域内に現れるので、文字画像サイズに近い矩形が含まれている領域か否かを判定することになる。その結果、領域501、領域504及び領域505は、文字を含む領域として判定され、「文字含有領域」の属性が付加される。
【0037】
一方、上記以外の領域については、まず、その領域の大きさを判定し、領域が非常に小さい場合には、その属性を「ノイズ」と判定する。領域がそれほど小さくなく一定以上の大きさを有している場合には、何らかのオブジェクトの領域であり、さらに以下の判定を行って、付加する属性(つまり、何のオブジェクトであるか)を決定する。まず、画素密度の低い連結黒画素について、その内部の白画素輪郭追跡を行ったときに、その白画素輪郭の外接矩形が整然と並んでいるかどうかを判定する。白画素輪郭の外接矩形が整然と並んでいる場合は当該領域の属性を「表」と判定し、整然と並んでいない場合は「図(線画)」と判定する。それ以外の画素密度の高い領域については、絵や写真であるとして「写真」と判定される。なお、ここでは、「写真」、「図(線画)」、「表」の3種類にオブジェクトの属性を分類しているが、これに限られるものではなく、別の判定基準を用いて、これらに準じた任意の種類に分類することが可能である。
【0038】
さらに文字含有領域については、当該領域が、「写真」、「図」、「表」等の属性が付加されたオブジェクト領域の近傍(直上又は直下)に存在する場合、当該オブジェクト領域を説明するための文字の領域であると判定し、「キャプション」の属性が付加される。なお、「キャプション」の属性が付加される領域は、その「キャプション」が付随する、「写真」、「図」、「表」等の領域を特定できるように、当該付随する領域と関連付けられて保存される。
【0039】
また、本文部分の文字画像より大きく、かつ、本文部分の段組とは異なる位置にある場合には「見出し」の属性が付加される。また、本文部分の文字画像より大きく、かつ、本文部分の段組の上部に存在する場合には、「小見出し」の属性が付加される。さらに、本文部分の文字画像のサイズよりも小さな文字画像で、かつ、原稿の下端部や上端部に存在する場合には、「ページ」(もしくは、「ページヘッダ」、「ページフッタ」)の属性が付加される。また、文字含有領域として判定されたが、「本文」、「見出し」、「小見出し」、「キャプション」、「ページ」のいずれにも当てはまらなかった場合には、「文字」の属性が付加される。
【0040】
以上のような属性情報を付加する処理によって、画像データ500の場合、領域501:見出し、領域502:表、領域503:写真、領域504:文字、領域505:キャプション(領域503に付随)、領域506:本文、の各属性が付加される。なお、領域501、504及び505の各属性に付された下線は、「文字含有領域」の属性が付加されたことを示す。
【0041】
文字認識部303は、文字画像を含む領域(「文字」、「本文」、「見出し」、「小見出し」、「キャプション」の属性が付加された領域)について、公知の文字認識処理(OCR処理)を実行する。さらに、「表」内の文字画像の領域に関しても、「表内文字」の属性を付与した上で、文字認識処理を行ってもよい。そして、文字認識処理の結果として得られた文字コード列を文字認識情報として格納するとともに対象領域に関連付ける。
【0042】
このように、領域分割部301、属性情報付加部302、文字認識部303の各部において抽出された、領域の位置や大きさ、領域の属性情報、ページの情報、文字認識処理の結果情報(文字コード列)等は、記憶部211に保存される。図5(b)は、上述の画像データ500を処理した場合の結果をテーブルで示したものであり、このような形で記憶部211に保存される。領域504については、写真503内に存在する文字画像の領域なので、「写真503内」の属性が追加されている。なお、領域の位置や大きさを示す、座標X/Y、幅W、高さHにおける、X1等の記号で表されている部分には実際には数値が入る。
【0043】
メタデータ処理部304は、属性情報付加部302においてキャプションが付随する領域とされた、「写真」、「図」、「表」等のオブジェクト領域に対し、当該オブジェクトを検索するための情報となるメタデータを関連付け、記憶部211に保存する処理を行う。具体的には、特定のオブジェクト領域のキャプションとして記載されている文字列と、当該文字列に含まれる図番等の単語(アンカー表現)と同じ単語を用いている本文中の説明箇所(本文中の説明文)とを、オブジェクト検索用のメタデータとして関連付ける。
【0044】
メタデータの関連付けは、オブジェクト毎に与えられる識別子(以下、「キャプション用識別子」と呼ぶ。)によって行う。このキャプション用識別子によって、キャプション又は本文中の説明文と、キャプションが付随するオブジェクト領域とをそれぞれ適切に対応付けられる。個々のオブジェクトに異なるキャプション用識別子が付与されることで、同一のアンカー表現を含んだキャプションを有するオブジェクトが複数存在するような場合にも、適切にメタデータを対応付けることが可能となる。本実施例においては、キャプションが付随するオブジェクト領域を一意に識別するためのID、具体的には、値「1」から始まる通し番号(正の整数)を、キャプション用識別子として用いる。この他、キャプションや本文の文字認識情報の格納位置を示すアドレスやポインタといった位置情報、XMLPathやURLといった参照情報などを、キャプション用識別子として用いてもよい。
【0045】
フォーマット変換部305は、上記各処理部によって得られた各種情報(例えば、ページ情報、領域の位置や大きさ、属性、文字認識情報、メタデータ)を用い、画像データを所定のフォーマットの電子文書に変換する。所定のフォーマットとしては、例えば、PDF、SVG,XPS、OfficeOpenXMLなどがある。フォーマット変換で生成される電子文書は、グラフィックス等によるページ表示情報(表示用画像等)と、文字等の意味記述による内容情報(メタデータ等)を含むことになる。
【0046】
フォーマット変換部305における処理は、2つに大別される。1つは、画像領域に対して、平坦化やスムージング、エッジ強調、色量子化、2値化等のフィルタ処理を施し、画像データ(例えば、「図(線画)」属性が付加された領域に対応する部分の画像)を所定のフォーマットの電子文書に格納できる状態にすることである。所定のフォーマットの電子文書に格納できる状態にすることとは、画像データを、ベクトルパス記述のグラフィックスデータ(ベクトルデータ)や、ビットマップ記述のグラフィックスデータ(例えばJPEGデータ)にすることである。ベクトルデータへ変換する技術は公知のベクトル化技術を用いることが可能である。また、オブジェクト検索時において検索結果を特定・強調する際に表示される枠などのグラフィックス記述(ベクトルパス記述)の生成も行う。もう1つは、生成したベクトルデータやビットマップデータに対して、記憶部211に保存されている領域情報(位置、大きさ、属性)、領域内の文字認識情報、メタデータを付与して、所定のフォーマットの電子文書を作成することである。
【0047】
なお、フォーマット変換部305における各領域に施すべき変換処理方法は、各領域の属性に依存することが多い。例えば、ベクトル変換処理は文字や線画のように白黒或いは少ない色数で構成された図形に対しては好適であるが、写真のように階調性のある画像領域には不適である。そこで、各領域の属性に従った適切な変換を行うため、図5(c)に示すような対応テーブルをあらかじめ設けておいてもよい。
【0048】
例えば、図5(c)に示す対応テーブルの場合には、属性が「文字」、「図(線画)」及び「表」の領域に対してはベクトル変換処理、属性が「写真」の領域に対しては画像切り出し処理が、それぞれ変換処理として実行されるように設定されている。さらに、図5(c)に示す対応テーブルでは、該当領域の画素情報を画像データから消去するかどうかが属性毎に設定されている。例えば、属性が「文字」の領域についてベクトルパス記述データに変換する場合、消去処理ありに設定されている、この場合には、当該変換されたベクトルパスに覆われる部分に対応する画素をその周辺色で塗りつぶす処理を行う。同様に、属性が「写真」の領域について矩形の画像パーツとして切り出す際には、当該切り出された領域に対応する領域範囲内を、その周辺色等で塗りつぶす処理を行う。このような消去処理を行う目的は、各領域に対する塗りつぶし処理の終了した画像データを、「背景」の画像データのパーツとして利用するためである。背景用の画像データ(背景画像)には、領域分割処理で抽出された領域以外の部分(例えば画像データ中の下地に相当する画素)が残っている。電子文書のデータ記述の際には、不図示のベクトル変換処理部や画像切り出し処理部で得られたグラフィックスデータ(前景画像)を背景画像の上に重畳して表示するような記述を行う。これにより、背景画素(下地の色)の情報欠落がなくなり、かつ冗長性のないグラフィックスデータを構成することが可能となる。
【0049】
さらに、対応テーブルを予め複数種類用意しておき、電子文書の用途等に応じて選択するようにしても良い。例えば、図5(c)の対応テーブルを用いた場合には、オブジェクトの大半がベクトルパス記述へと変換されていることから拡大縮小時の画質に優れている。そこで、例えば、文字画像を文字色毎に別個の2値画像を生成して可逆圧縮し、それ以外を背景画像としてJPEG圧縮するような別の対応テーブルを設ける。前者は、グラフィックエディタ等の再利用用途に好適であり、後者は、圧縮率を高くしつつ文字画像が読みやすい電子文書を作成したい場合に適している。このように対応テーブルを使い分けることで、ユーザの用途に合った適切な電子文書を作成することが可能となる。
【0050】
図6(a)は、データ処理部218において生成される電子文書の一例であり、図5(a)の画像データ500を基に生成された、SVG(Scalable Vector Graphics)フォーマットで記述した電子文書600を示している。図6(b)は、当該電子文書600に付与されたメタデータの情報を分かりやすく表にしたものである。
【0051】
この場合において、図6(a)の601〜606は、それぞれ画像データ500における領域501〜506に対応するグラフィックス記述である。601、604〜606は文字コードによる文字描画記述、602はベクトル変換された表の枠のベクトルパス記述、603は切り出し処理された写真画像を貼り付ける記述である。ここで、記述603には、キャプション識別子(caption_id)608として「1」が含まれている。
【0052】
607はメタデータの記述である。記述607には、写真オブジェクト内の文字である「新製品」、キャプション「図1AAA」、キャプション内のアンカー表現「図1」及び当該アンカー表現と本文の文字列とに基づいて抽出した本文中の説明文「図1は、AAAに関する○○です。」が記述されている。さらに、キャプション識別子608と同じ識別子609が記述されている。なお、アンカー表現「図1」を含む「図1は、AAAに関する○○です。」という本文中の説明文(文章)ではなく、単語「AAA」を抽出してメタデータとして付与してもよい。或いは、本文中の説明文と単語の両方をメタデータとしても良い。また、キャプションの文字列についても同様であり、キャプション内から抽出した単語をメタデータとして更に追加するようにしてもよい。
【0053】
<メタデータ処理部>
図4は、メタデータ処理部304の内部構成を示すブロック図である。
【0054】
401はメタデータ付与対象選択部であり、入力された画像データから、メタデータの抽出/付与を行う対象となる領域を選択する処理を行う。本実施例では、キャプション、アンカー表現、本文中の説明文などのメタデータを抽出し付与するためにキャプション領域を持つ画像データが対象となり、キャプション領域が選択される。
【0055】
402はアンカー表現抽出部であり、メタデータ付与対象選択部401で選択されたキャプション領域からアンカー表現を抽出する処理を行う。具体的には、選択されたキャプション領域に関連付けられた文字認識情報を解析し、その中に「図1」のようなアンカー表現が含まれるか検索し、発見した場合には、その該当部分をアンカー表現、それ以外の部分をキャプション表現として抽出する。その際には、文字コードの特性や辞書などを利用して、有意でない文字列(無意味な記号列など)を排除する。これにより、文字認識において、文書のテキスト部分の境界に現れる飾り、分割線、画像を文字と誤認識してしまうことを防ぐ。また、アンカー表現を抽出するために、図番号などの多言語の文字列パターンや、それに対する文字認識の誤認識パターンを利用することで、アンカー表現の抽出精度と、アンカー表現の文字補正を行うことが可能である。また、キャプション表現に対しても同様に、自然言語処理での解析、文字認識の誤認識補正などを行うことが可能で、アンカー表現との境目や、先頭/末尾に現れる記号や文字飾りなどを補正して排除することも可能である。
【0056】
403は本文内検索部であり、アンカー表現抽出部402で得られたアンカー表現を含む本文中の表現(文章)を本文領域に関連付けられた文字認識情報から検索し、これを本文中の説明文として抽出する処理を行う。検索を高速化するため、検索用のインデックスを作成し用いてもよい。なお、インデックスの作成とそれを利用した高速検索の技術は公知のものを適用すればよく、本発明のポイントではないのでここでは説明を省く。また、多数のアンカー表現で一括検索をすることで、高速化を実現してもよい。さらに、検索によって見つかった本文中の説明文に対しても、図番号などの多言語の文字列パターンや、それに対する文字認識の誤認識パターンを利用することで、検索精度の向上や補正が可能となる。
【0057】
404は表現類似度計算部であり、アンカー表現を基軸にして、キャプション表現と、本文中の説明文とを比較し、その類似度を計算する処理を行う。具体的には、キャプション表現と本文中の説明文とを文字のレベルや自然言語解析を用いて単語や意味のレベルでの比較を行い、両表現中のアンカー表現の位置に配慮しながら、類似度の計算を行う。類似度は、アンカー表現により近い位置の文字や単語が一致した場合にその値が大きくなるような尺度である。類似度の詳細については後述する。
【0058】
405はメタデータ収集・出力部であり、上記各部において抽出されたメタデータを収集し、そのメタデータが付与される画像データと対応付けて、フォーマット変換部305に出力する処理を行う。
【0059】
406はメタデータ処理制御部であり、記憶部211に保存されている領域情報(位置、大きさ、属性)411、領域内の文字認識情報412、メタデータ413に基づいて、画像データ300を適切な処理部401〜405へと配分する。そして、メタデータ処理制御部406は、各処理部401〜404から出力されたデータがメタデータ収集・出力部405で統合されるように、メタデータ処理部304全体の制御を行う。
【0060】
次に、本実施例に係る画像処理装置(MFP100)における処理の概要を、図7のフローチャートを参照しつつ説明する。ここでは、図9(a)に示す、2種類の文書が混在した計7ページ分の画像データ(901〜903及び904〜907)について、各オブジェクトに適切なメタデータを付した電子文書を生成する場合を例に説明するものとする。
【0061】
なお、本明細書において各処理部が行うものとして説明される各ステップの処理は、CPU205が記憶部211に格納されたコンピュータプログラムを読み出して実行することにより実現されるが、これに限るものではない。例えば、データ処理部218を構成する各部のうちいずれかを電子回路等のハードウェアで実現するように構成するといったように、各処理部の全部又は一部をハードウェアで行うようにしてもよい。
【0062】
まず、ステップ701で、CPU205は、文書をスキャナ部201によって読み取ることにより、或いはクライアントPC101等から送られ記憶部211に格納されているものを読み出すことにより、上記複数ページの画像データを取得する。取得した画像データ901〜907は、データ処理部218に入力され、さらにメタデータ処理制御部406によって領域分割部301に送られる。
【0063】
ステップ702で、領域分割部301は、入力された画像データ901〜907に対し、ページ単位でその属性別に領域を分割する。画像データ901〜907の場合、908、910、911、912、913、915、917、918、919及び920の各領域に分割される。
【0064】
ステップ703で、属性情報付加部302は、ステップ702において分割された各領域に属性情報を付加する。例えば、3ページ目の画像データ903の場合、領域911には「写真」、領域912には「キャプション」の属性が付加される。さらに、キャプション912には、付随する領域(オブジェクト)が領域911であるという情報も付加する。
【0065】
ステップ704で、文字認識部303は、ステップ703において文字に関する属性(本文、キャプション、見出し、小見出し等)が付加された領域に対して文字認識処理を実行し、その結果を文字認識情報として当該領域に関連付け、記憶部211に格納する。それぞれの文字認識処理の結果は、図9(b)に示すテーブルの文字認識情報の欄に記載された通りである。
【0066】
ステップ705で、データ処理部218は、ステップ702〜704の各処理が全てのページに対して行われたか否かを判定する。ここでは、7ページ分の画像データ901〜907が入力されているので、図9(b)に示すテーブルに示されるような情報がすべて記憶部211に保存されていれば、全てのページに対し処理が済んでいることになる。全てのページに対して処理が済んだと判定されれば、ステップ706へ進む。未処理のページがある場合にはステップ702に戻り、処理を繰り返す。
【0067】
ステップ706で、メタデータ処理部304は、メタデータの抽出・付与の処理を行う。この処理の詳細については、後述する。
【0068】
ステップ707で、フォーマット変換部305は、記憶部211に格納されている各種情報に基づき、図5(c)に示すような対応テーブルを用いて、画像データ901〜907をあらかじめ指定された所定のフォーマットの電子文書に変換する。
【0069】
(メタデータの抽出・付与)
次に、上述のステップ706におけるメタデータの抽出・付与処理の詳細について、図8のフローチャートを用いて説明する。この処理は2つに大別される。1つはアンカー表現及びキャプション表現の抽出に関する第1の抽出(図8(a))であり、もう1つは本文中の説明文の抽出に関する第2の抽出である(図8(b))。アンカー表現及びキャプション表現の抽出に関する処理が先に実行され、その後、本文中の説明文の抽出に関する処理が実行される。
【0070】
まず、アンカー表現及びキャプション表現の抽出に関する処理について、図8(a)のフローチャートを参照しつつ説明する。
【0071】
ステップ801で、メタデータ付与対象選択部401は、記憶部211内の領域情報を参照し、「キャプション」の属性が付与された領域のうちアンカー表現とキャプション表現の抽出処理が未だ行われていない領域を一つ選択する。すなわち、未処理のキャプション領域があるかどうかを判定し、未処理のキャプション領域があれば、当該領域を処理対象として選択してステップ802に進む。「キャプション」の属性を持つ領域が存在しない、或いは、すべて処理済みの場合には、アンカー表現とキャプション表現の抽出処理を終了する。画像データ901〜907が入力されている場合においては、最初のルーチンでキャプション領域912が選択され、次回以降のルーチンで、918、920のキャプション領域が順次選択されることになる。
【0072】
ステップ802で、メタデータ処理制御部406は、選択されたキャプション領域が付随するオブジェクト領域に対してキャプション識別子を付与し、当該付与したキャプション識別子用のメタデータの記憶領域を記憶部211に確保する。キャプション912が選択されている場面では、キャプション912が付随する写真オブジェクト911に対してキャプション識別子「1」が付与され、記憶部211にキャプション識別子「1」のためのメタデータの記憶領域が確保される。
【0073】
ステップ803において、アンカー表現抽出部402は、選択されたキャプション領域の文字認識情報から、アンカー表現及びキャプション表現を抽出する。オブジェクトに付随するキャプションには、アンカー表現のみの場合、キャプション表現のみの場合、その両方が存在する場合などがあり得る。例えば、図のアンカー表現の場合、「図」、「第○○図」、「Fig.」といった特定の文字列(アンカー文字列)と、番号や記号との組み合わせによって表現されることが多い。そこで、候補となり得るアンカー文字列を登録した辞書を予め用意しておき、これと文字認識情報とを比較することによりアンカー表現(アンカー文字列+番号/記号)を特定することができる。そして、キャプション領域の文字認識情報のうち、アンカー表現を構成しない文字列がキャプション表現と判定される。例えば、キャプション領域の文字認識情報が、「図1 AAA」という文字列からなる領域912の場合には、「図1」の部分がアンカー表現に該当し、「AAA」の部分がキャプション表現に該当することになる。この際、キャプション表現の文字数が極端に少なかったり、有意な文字列ではなかったりする場合(例えば、記号列“― ― ― ― ―”など)がある。このような場合には、文書の区切りなどの印が文字列として認識された等、文字ではないものが文字として認識された可能性があるので、キャプション表現として抽出しないようにする。
【0074】
ステップ804で、メタデータ処理制御部406は、ステップ803においてキャプション領域からアンカー表現及び/又はキャプション表現が抽出されたか否かを判定する。すなわち、キャプション識別子が付与されたオブジェクトのメタデータとなる、アンカー表現及びキャプション表現が抽出されたかどうかを判定する。抽出された場合はステップ805に進み、抽出されなかった場合はステップ801に戻る。
【0075】
ステップ805で、メタデータ処理制御部406は、キャプション領域から抽出されたメタデータ(アンカー表現又はキャプション表現、若しくはその両方)を、ステップ802で確保したメタデータの記憶領域に格納する。
【0076】
以上のような処理により、キャプション識別子を介して、抽出されたアンカー表現等が特定のオブジェクトのメタデータとして適切に関連付けられる。
【0077】
アンカー表現及びキャプション表現の抽出によるメタデータ抽出処理が完了すると、続いて、本文中の説明文の抽出に関する処理に移行する。
【0078】
本文中の説明文の抽出に関する処理について、図8(b)のフローチャートを参照しつつ説明する。
【0079】
ステップ806で、メタデータ処理制御部406は、本文中の説明文の抽出に関する処理が未だ行われていないアンカー表現を1つ選択する。すなわち、未処理のアンカー表現があるかどうかを判定し、未処理のアンカー表現があれば、それを選択してステップ807に進む。アンカー表現が存在しないか、すべて処理済みであった場合には、本文中の説明文の抽出に関する処理を終了する。上記の例では、キャプション領域912からアンカー表現として「図1」が抽出されているので、まず、これが最初に選択され、ステップ807に進むこととなる。
【0080】
ステップ807で、メタデータ処理制御部406は、記憶部211に格納された本文領域の文字認識情報から、抽出されたアンカー表現を含む箇所(文章)を抽出し、抽出されたメタデータとしての本文中の説明文とオブジェクトとを対応付ける処理を行う。アンカー表現「図1」が抽出されている上記の例の場合、画像データ901の本文領域908の中に、916で示される単語「図1」が存在する。そして、この単語がアンカー表現「図1」と同一であるため、本文領域908が本文中の説明文として抽出され、写真オブジェクト911のメタデータとして対応付けられることとなる。
【0081】
この際、抽出された本文中の説明文である本文領域に対し、さらに解析を行って、メタデータを抽出するようにしてもよい。例えば、自然言語処理の形態素解析等で単語切り機能や、それで得られた品詞や重要語を判定する方式などを用いて、本文領域908中の単語「カメラ」をメタデータとして抽出することが考えられる。
【0082】
本文中の説明文は、複数抽出される可能性があり、また、抽出された本文中の説明文からさらにメタデータを得ることも考えられるので、本ステップで抽出されるメタデータは複数となる場合もある。本文中の説明文の抽出に関する処理が終わると、ステップ808に進む。
【0083】
ステップ808で、メタデータ処理制御部406は、キャプション識別子が付与されたオブジェクト領域のメタデータとなる本文中の説明文が抽出されたかどうかを判定する。抽出されていればステップ809へ進み、抽出されていなければステップ806に戻り、別の未処理のアンカー表現に対して処理を続ける。
【0084】
ステップ809で、メタデータ処理制御部406は、抽出した本文中の説明文を、ステップ802で確保したメタデータの記憶領域に格納(追加)する。格納後は、ステップ806に戻り、別の未処理のアンカー表現に対して処理を続行する。
【0085】
以上のような処理により、キャプション識別子を介して、抽出された本文中の説明文が特定のオブジェクトのメタデータとして適切に関連付けられる。
【0086】
全てのアンカー表現に対して処理を終えると、メタデータ収集・出力部405は、得られたメタデータを収集し、フォーマット変換部305で受け取れるような画像データの形式でメタデータを画像データに付与する。そして、メタデータが付与された画像データは、フォーマット変換部305に送られる。
【0087】
(本文中の説明文とオブジェクトとの対応付け)
次に、図8のステップ807における処理の詳細について、図10のフローチャートを用いて詳しく説明する。
【0088】
ステップ1001で、メタデータ処理制御部406は、図8のステップ806において選択された特定のアンカー表現を含んだキャプションを持つオブジェクトの数を取得する。画像データ901〜907の場合において、例えば、「図2」のアンカー表現が選択されているとする。この場合、写真オブジェクト919を除き、「図2」を含んだキャプションを持つオブジェクトは存在しないので、「1」がオブジェクトの数として取得される。一方、「図1」のアンカー表現が選択されている場合には、写真オブジェクト911と写真オブジェクト917が「図1」を含んだキャプションを持つオブジェクトとして存在するので、「2」がオブジェクトの数として取得される。
【0089】
ステップ1002で、メタデータ処理制御部406は、ステップ1001で取得したオブジェクトの数が、複数か否かを判定する。取得したオブジェクトの数が「1」の場合、すなわち、同一のアンカー表現を含んだキャプションを持つオブジェクトが他に存在しない場合には、ステップ1003に進む。一方、取得したオブジェクトの数が複数の場合、すなわち、複数のオブジェクトのキャプションにおいて同一のアンカー表現が使用されている場合には、ステップ1005に進む。
【0090】
ステップ1003で、本文内検索部403は、本文領域の文字認識情報に対して当該特定のアンカー表現を検索する処理を行う。上記の例の場合、「図2」のアンカー表現916を含む本文領域915が本文中の説明文として抽出される。本文領域の文字認識情報から当該アンカー表現を含む表現が見つかると、ステップ1004へ進む。
【0091】
ステップ1004で、メタデータ処理制御部406は、当該特定のアンカー表現を含む本文中の表現(本文中の説明文)を、オブジェクトに対応付ける。上記の例の場合、アンカー表現「図2」を含む本文中の説明文として抽出された本文領域915が、写真オブジェクト919に対応付けられる。
【0092】
ステップ1005で、本文内検索部403は、ステップ1003と同様、本文領域の文字認識情報に対して当該特定のアンカー表現を検索する処理を行う。上記の例の場合、「図1」のアンカー表現を含む本文中の説明文として、本文領域908と913が見つけられる。このように本文領域の文字認識情報から当該特定のアンカー表現を含む本文中の説明文が見つかると、ステップ1006へ進む。
【0093】
ステップ1006で、メタデータ処理制御部406は、見つかった本文中の説明文(本文領域)に対し、可能性のあるオブジェクト領域のキャプションとの間で、最適な対応関係を見出すのに必要な数の組合せを作り、個々の組合せについて類似度の計算を行う。上記の例の場合、例えば、同じ「図1」のアンカー表現を含んだキャプション912及び918と、当該アンカー表現を含む本文領域908及び913との間で、2組の組合せが作られる。つまり、この場合、一方の本文中の説明文に対応するキャプションが決まれば他方についても決まる状況にあるので、キャプション912と本文領域908の組合せ及びキャプション918と本文領域908の組合せの計2組の組合せが作られる。もちろん、これと表裏の関係にあるキャプション912と本文領域913の組合せとキャプション918と本文領域913の2組でもよい。ちなみに、同一のアンカー表現を含むキャプション(オブジェクト)が3つあり、対応し得る本文中の説明文も3つ見つかった場合には、5組の組合せが作られることになる。
【0094】
この類似度の計算の詳細については、後述する。類似度の計算を終えると、ステップ1007に進む。
【0095】
ステップ1007で、メタデータ処理制御部406は、ステップ1006で算出された結果に基づき、類似度の値が最も大きい組合せが最適であると見做して、その組合せにおける本文中の説明文とオブジェクト領域とを対応付ける。
【0096】
(類似度の計算処理)
図10のステップ1006における類似度の計算について、図11のフローチャートを参照しつつ、上述した2組の組合せ(キャプション912と本文領域908の第1の組合せ/キャプション918と本文領域908の第2の組合せ)の場合を例に説明する。
【0097】
ステップ1101で、表現類似度計算部404は、計算対象の組合せのキャプションからキャプション表現を取得する。第1の組合せが計算対象の場合には、キャプション912からアンカー表現「図1」を除いた「AAA」がキャプション表現として取得される。取得すると、ステップ1102に進む。
【0098】
ステップ1102で、表現類似度計算部404は、取得したキャプション表現に対して、形態素解析による単語切りを行い、その各単語に対する品詞情報を得る。そして、得られた品詞情報から、名詞などの品詞を保有する単語(以下、「キャプション単語」と呼ぶ。)を、比較対象として選択する。すなわち、重要でない単語やアンカー表現は比較対象から除外し、選択されないようにする。例えば、キャプション表現「AAA」からは1つの名詞「AAA」のみが得られ、キャプション単語として「AAA」、品詞として「名詞」の情報が得られる。これにより、「AAA」が比較対象候補として選択される。なお、本ステップにおいては、複数のキャプション単語が選択され得る。
【0099】
ステップ1103で、表現類似度計算部404は、キャプション単語の重みを1に設定する。すなわち、本実施例においては、アンカー表現からの距離や単語の品詞や特性などから重みの値を計算することは行わない。もっとも、キャプション表現がある程度の長さを持つ文章の場合や、単語の重要度を固有表現抽出や辞書などを利用して算出する場合には、そのような計算によって得られた値を重みとして設定しても構わない。
【0100】
図12(a)は、ここまでの処理により得られる、第1の組合せについての結果を表にしたものである。キャプション表現及びキャプション単語として「AAA」が取得され、キャプション単語の属性として「名詞」を得て、比較対象候補として選択されている。さらに、アンカー表現からの距離情報については使用していないことを示す情報「−」が入り、重みとして「1」が設定されている。
【0101】
次に、ステップ1104で、表現類似度計算部404は、計算対象の組合せにおける本文中の説明文(本文領域)を取得する。第1の組合せの場合、「図1」のアンカー表現909を含む本文中の説明文「カメラAAA(図1)は、風景などの撮影などに・・・。」である本文領域908が取得される。
【0102】
ステップ1105で、表現類似度計算部404は、取得した本文中の説明文に対して、形態素解析による単語切りを行い、その各単語に対する品詞情報を得る。そして、得られた品詞情報から、名詞などの品詞を保有する単語(以下、「説明文単語」と呼ぶ。)を、比較対象として選択する。ここでも、重要でない単語やアンカー表現は比較対象から除外し、選択されないようにする。なお、本ステップにおいては、複数の説明文単語が選択され得る。
【0103】
ステップ1106で、表現類似度計算部404は、選択された説明文単語に対して、本文中の説明文における位置がアンカー表現に近いもの、すなわち、アンカー表現からの距離(単語距離)が近い順に取り出せるように並べる。ここでは、アンカー表現からの距離を、単純に、アンカー表現からその説明文単語までの単語数としている。以下、単語距離が近い順に並べられた説明文単語の列を「説明文単語列」と呼ぶ。そして、この説明文単語列に含まれる説明文単語の個数を変数Nの値として設定する。
【0104】
図12(b)は、取得した本文中の説明文「カメラAAA(図1)は、風景などの撮影などに・・・。」に対する、ステップ1105及び1106における処理の結果を表にしたものである。3つの説明文単語が比較対象候補として選ばれ、アンカー表現である「図1」までの距離が近い順、すなわち、「AAA」、「カメラ」、「風景」の順に取り出せるよう、それぞれ説明文単語列順序として「3」、「2」、「1」が与えられている。そして、この場合の説明文単語列に含まれる説明文単語の数は3つなので、変数Nの値として「3」が設定されることになる。
【0105】
ステップ1107で、表現類似度計算部404は、類似度を表す変数Sの値を初期化する。具体的には、類似度Sの所期値として「0」を設定する。
【0106】
ステップ1108で、表現類似度計算部404は、変数Nの値が、「0」より大きいかどうかを判定する。変数Nの値が「0」より大きい場合には、未処理の比較対象である説明文単語があることを意味するので、ステップ1109へ進む。変数Nの値が「0」の場合は、比較対象である説明文単語の全部に対して処理が済んでいることを意味するので、ステップ1108〜ステップ1113で構成されるルーチンを抜けて終了となる。
【0107】
ステップ1109で、表現類似度計算部404は、説明文単語列から、変数Nの値と等しい値の説明文単語列順序を持つ説明文単語を取り出す。上記の例の場合、説明文単語列順序が「3」である説明文単語「AAA」が最初に取り出される。
【0108】
ステップ1110で、表現類似度計算部404は、アンカー表現からの距離である単語距離を基に、当該説明文単語の重みを計算する。重みは、単語距離に応じて減衰する、「1」を最大、「0」を最小とする値であり、ここでは、単語距離の逆数としている。説明文単語「AAA」の場合、その単語距離は「2」であるので、「0.5」が重みとして算出される。重みを得る方法としては、他にも、線形的に減衰させるもの、対数を使用するもの、分布関数を利用するものなど様々なものが考えられるが、距離に応じて重みが減衰するものであれば何でも構わない。
【0109】
ステップ1111で、表現類似度計算部404は、選択されている説明文単語と、キャプション単語とを比較し、類似度Sを算出する。具体的には、以下の式1に示すように、両単語の文字列が一致した場合を「1」、そうでない場合を「0」とする値に、双方の単語の重みを掛けて、類似度Sを算出する。
【0110】
類似度S= (1 or 0)×(キャプション単語の重み) × (説明文単語の重み)
・・・(式1)
【0111】
このようにして、比較対象となっている説明文単語について類似度Sを計算する。キャプション単語が複数の場合には、選択されている説明文単語と個々に比較を行い、算出された類似度Sのうち最も大きな値のものをSmaxとして決定する。
【0112】
なお、本実施例では、簡単な演算により類似度Sを得ているが、例えば、同義語辞書、言葉の表記のゆれ、ひらがな・カタカナ・漢字などの表記方式などを考慮した比較を行ってもよい。また、類義語辞書を用いた比較や、文脈を見て多義性を判定するような比較言語的な手法を用いた比較を行ってもよい。さらに、文字列レベルの含有率や、同一文字混入率などを考慮に入れてもよい。
【0113】
次に、ステップ1112で、表現類似度計算部404は、ステップ1111において算出した類似度S(又はSmax)の値を、それまでの類似度Sの値に加算し、類似度Sの値を更新する。たとえば、最初のルーチンの場合には、初期値として「0」が設定されているので、ステップ1111において算出した類似度Sの値が、そのまま更新後の類似度Sの値となる。一方、2回目以降のルーチンの場合には、それまでのルーチンで得られている類似度Sの値に、今回決定された類似度S(又はSmax)の値が加算されることになる。
【0114】
ステップ1113で、表現類似度計算部404は、変数Nの値を1減算して、ステップ1108に戻る。
【0115】
図12(b)の例では、比較対象候補の説明文単語は3つであるので、上記ルーチンは3回繰り返されることになる。
【0116】
最初のルーチンでは、変数Nの値として「3」が設定されているので、ステップ1108の判定後、ステップ1109に進む。ステップ1109及び1110においては、上述の通り、「AAA」が取り出された後、単語の重みとして「0.5」が算出される。そして、ステップ1111において、説明文単語「AAA」とキャプション単語「AAA」についての類似度Sの算出処理が実行される。この場合、両単語の文字列は一致しているため、
類似度S=1×1×0.5
となる。そして、キャプション単語は「AAA」の1つだけなので、得られた類似度S=0.5が、ステップ1112において初期値「0」に加算されて、ステップ1113に進む。ステップ1113では、変数Nの値が1減算されて、N=「2」となり、ステップ1108に戻る。以後、同様の処理が2回繰り返され、説明文言語「カメラ」と「風景」についても類似度Sが算出されて、その度に類似度Sが更新される。もっとも、説明文言語「カメラ」と「風景」は、唯一のキャプション単語である「AAA」と単語列が一致しないことから、ステップ1111で算出される類似度Sの値は共に「0」となる。したがって、最終的に得られる類似度Sの値は、0.5+0+0=0.5となる。
【0117】
以上は、第1の組合せについての処理であるが、同様の処理が、キャプション918と本文領域908からなる第2の組合せについても実行される。第2の組合せの場合、キャプション918から得られるキャプション表現は「BBB」であることから、説明文単語と一致することがなく、最終的に得られる類似度Sの値は0となる。その結果、図10のステップ1007において、メタデータ処理制御部406は、類似度Sが0.5である第1の組合せが最適の組合せであると見做して処理を行う。すなわち、第1の組合せに係るキャプション912を持つ写真オブジェクト911と、「カメラAAA(図1)は、風景などの撮影などに・・・。」の本文中の説明文(本文領域908)とが対応付けられる。
【0118】
なお、図11のフローチャートで示した方法に代えて、例えば、文字が一致する割合や、その一致が連続する度合いなどを用いる方法や、重要な表現だけを抽出する等により、特定の表現(文字列)を得て比較する方法などを適用してもよい。
【0119】
図13は、以上のような処理を画像データ901〜907について行った結果得られたメタデータ情報を分かりやすく表にしたものである。
【0120】
例えば、1301で示されるように、本文領域908の本文中の説明文、キャプション912及びそのアンカー表現「図1」は、キャプション識別子「1」によって、写真オブジェクト911と適切に対応付けられている。また、1302で示されるように、本文領域913の本文中の説明文、キャプション918及びそのアンカー表現「図1」も、キャプション識別子「2」によって、写真オブジェクト917と適切に対応付けられている。さらに、1303で示されるように、本文領域915の本文中の説明文、キャプション920及びそのアンカー表現「図2」が、キャプション識別子「3」によって、写真オブジェクト919と適切に対応付けられている。
【0121】
なお、図13の表に示されたメタデータ情報は、実際には、SVGフォーマット等で記述される。その記述方法としては、図6(a)で説明した手法と同様の手法を用いて記述することが可能である。すなわち、図6(a)では、オブジェクトデータ603に対してキャプション識別子608を付与し、更に、当該オブジェクトのメタデータ607に対してキャプション識別子609として同じ識別子が付与されている。図13においても同様に、各オブジェクトに対して付与されたキャプション識別子(1〜3)と同じ識別子を、各オブジェクトに対応するメタデータに付与することにより、どのオブジェクトに対するメタデータなのか識別できるようにする。
【0122】
以上述べたように、本実施例に係る画像処理装置では、文書内の写真、図、表などのオブジェクトと、その内容を説明している本文中の説明文とを、適切に対応付けることが可能となる。これにより、異なる文書の異なるオブジェクトにおけるキャプション内において、特定のアンカー表現が共通に使用されている場合でも、それぞれのオブジェクトに対して適切なメタデータを付与した電子文書データを作成することができる。さらに、メタデータ抽出時において、ページのレイアウトやページ間の距離の影響を非常に小さくできるので、ページの順番がバラバラとなった画像データからでも適切なメタデータを付与することができる。
【0123】
[実施例2]
次に、実施例2として、図8のステップ807における処理、すなわち、選択されたアンカー表現を含む本文中の説明文を抽出し、それとオブジェクト領域とを対応付ける処理の効率を向上させることが可能な態様について、図14及び図15を参照しつつ説明する。
【0124】
図14は、本実施例に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。実施例1に係る図10のフローチャートと共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明する。
【0125】
ステップ1401において、特定のアンカー表現を含んだキャプションを有するオブジェクトの数を取得し、ステップ1402において、取得したオブジェクトの数が複数と判定されると、ステップ1405に進む。なお、オブジェクトの数が「1」である場合のそれ以降の処理(S1403及びS1404)は、図10のステップ1003及びS1404と同様である。
【0126】
ステップ1405で、メタデータ処理制御部406は、本文領域に対して当該アンカー表現を検索する処理を行い、続いてステップ1406において、得られた本文中の説明文が写真等のオブジェクトと同一のページ内に存在するかどうかを判定する。そもそもスキャナで読み取って得られるページ毎の画像データにおいて、同一ページ内に他の文書の画像データが紛れ込むことは考えにくい。そこで、写真等のオブジェクトと見つかった本文中の説明文とが同一ページに存在する場合には双方は対応関係にあるものと考えて類似度の計算を行うことなく対応付けを行うべく、この判定処理を行う。写真等のオブジェクトと本文中の説明文とが同一ページに存在すると判定された場合には、ステップ1407へ進む。ステップ1407で、メタデータ処理制御部406は、当該アンカー表現を含む本文中の説明文を、同一ページ内のオブジェクト領域に対応付ける。その後、ステップ1409へと進む。同一ページに存在しないと判定された場合には、ステップ1408へと進む。
【0127】
ステップ1408で、メタデータ処理制御部406は、他にも見つかった本文中の説明文が存在するかどうかを判定する。すなわち、類似度を計算する必要があるような、オブジェクト領域と本文中の説明文の組合せがあるかどうかを判定する。他に本文中の説明文がないと判定されればこの処理を終了する。他にも本文中の説明文が存在する場合には、ステップ1409へと進む。
【0128】
ステップ1408で、メタデータ処理制御部406は、ステップ1401において取得したオブジェクトの数が3以上か否かを判定する。オブジェクトの数が2の場合はステップ1410へと進み、3以上の場合はステップ1413へと進む。なお、3以上の場合のステップ1413及びステップ1414の処理は、図10のステップ1006及びステップ1007と同様である。
【0129】
ステップ1410で、表現類似度計算部404は、一方のオブジェクト領域と本文中の説明文との組合せについて、上述した図11のフローチャートの処理を実行し、類似度Sを算出する。
【0130】
続いて、ステップ1411で、表現類似度計算部404は、ステップ1410において得られた類似度Sを用い、他方のオブジェクト領域と本文中の説明文との組合せについて図15のフローチャートで示される処理を実行する。具体的には、以下の通りである。
【0131】
まず、ステップ1501で、表現類似度計算部404は、ステップ1410において得られた類似度Sを取得し、これを後述のステップ1514において比較対象とされる類似度ScompとしてRAM206に保持する。そして、ステップ1502へと進む。
【0132】
ステップ1502〜ステップ1513では、図11のステップ1101〜ステップ1112と同様の処理が実行される。そして、ステップ1513において類似度Sの最初の更新処理がなされるとステップ1514へと進む。
【0133】
ステップ1514で、表現類似度計算部404は、ステップ1501において取得し保持されているScompの値と、ステップ1513において更新された類似度Sの値とを比較し、いずれの値が大きいかを判定する。ここで、更新された類似度Sの値がScompよりも大きい場合には、処理を終了し、ステップ1412に進む。この時点で、ステップ1410において取得した類似度S(Scomp)よりも、今回の類似度Sの方が大きいことが確定するためである。更新された類似度Sの値がScompの値よりも小さい場合には、ステップ1515に進み、2回目のルーチンによる類似度Sの算出処理を続行する。
【0134】
2回目以降のルーチンにおいて、類似度Sの更新値がScompより大きいと判定されることなく変数Nの値が0に至った場合には、処理を終了し、ステップ1412に進む。この時点で、ステップ1410において取得した類似度S(Scomp)の方が、今回の類似度Sよりも大きいことが確定する。
【0135】
そして、ステップ1412で、メタデータ処理制御部406は、類似度Sの値が大きい方の組合せにおける、本文中の説明文とオブジェクト領域とを対応付ける。
【0136】
以上の通り、本実施例による場合、写真等のオブジェクトと本文中の説明文とが同一ページ内にあるかどうか、オブジェクトの数が3以上かどうかによって、一部の処理を省略することができ、より高速な処理が可能となる。
【0137】
[実施例3]
実施例1や実施例2においては、写真等のオブジェクト領域と本文中の説明文とを対応付けるに当り、算出した類似度の大小関係のみに基づいて判断していた。ここでは、類似度の算出後に、類似度の大きさが所定の閾値に達しているかどうかを判定する処理を行い、閾値に達している場合にのみ、オブジェクト領域と本文中の説明文とを対応付ける態様について説明する。
【0138】
図16は、本実施例に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。実施例1における図10、実施例2における図14のフローチャートに相当するものであり、これらと共通する部分については説明を簡略化ないしは省略することとし、ここでは差異点を中心に説明する。
【0139】
ステップ1601〜ステップ1608までは、図14のステップ1401〜ステップ1408と同じであり、ステップ1609は図10のステップ1006と同じである。ステップ1609において、最も類似度の大きい組合せが決まると、ステップ1610へと進む。
【0140】
ステップ1610で、表現類似度計算部404は、最も大きかった類似度の値とあらかじめ設定された所定の閾値とを比較し、得られた類似度の値が閾値以上かどうかを判定する。類似度の値が閾値以上の場合には、ステップ1611に進み、本文中の説明文とオブジェクト領域とを対応付ける。類似度の値が閾値に達しない場合には、本文中の説明文とオブジェクト領域とを対応付けることなく処理を終了する。
【0141】
図17は、MFP100の操作部203に表示されるユーザインタフェース(UI)画面の一例である。UI画面1701上には、文書内の写真、図面、表といったオブジェクトの検索機能レベルを指定するためのボタン1702と1703とが設けられている。1702が選択されれば、オブジェクトの検索機能が高い方式、すなわち、本発明に係る方式により電子文書が作成されることになり、1703が選択されれば、ファイルサイズの圧縮を優先した従来の方式により電子文書が作成される。1704は、前述の閾値をユーザが任意の値に設定するためのボタンである。文書内のメタデータ抽出レベルを高くしたい場合にはボタン1704を右側にスライドさせる。これにより、閾値が低く設定され、メタデータが抽出されやすくなる。一方、文書内のメタデータ抽出レベルを低くしたい場合にはボタン1704を左側にスライドさせる。これにより、閾値が高く設定され、メタデータが抽出されにくくなる。このユーザインタフェースを利用して、ユーザは閾値を任意に変更して、メタデータの抽出レベルを所望のレベルに調整することができる。なお、1705は、選択内容をキャンセルするためのCancelボタンであり、1706は、設定内容を確定するためのOKボタンである。
【0142】
本実施例によれば、類似度の値が閾値より小さい場合を、正しいメタデータが抽出できない危険がある場合と考え、メタデータを付与しないようにする。これにより、本文中の説明文とオブジェクト領域との対応付けを誤り、誤ったメタデータを付加してしまうといった事態を防ぐことができ、その後の正確なオブジェクトの検索を担保することが可能となる。
【0143】
[実施例4]
次に、実施例4として、特定のアンカー表現を含んだキャプションを有するオブジェクトが複数存在することが判明した時点で、ユーザにその旨の警告表示を行う態様について説明する。
【0144】
図18は、本実施例において、MFP100の操作部203に表示される警告画面の一例である。そして、図19は、本実施例に係る、本文中の説明文とオブジェクト領域とを対応付ける処理の流れを示すフローチャートである。実施例1に係る図10のフローチャートと共通する部分については説明を簡略化ないしは省略し、ここでは差異点を中心に説明する。
【0145】
ステップ1901において特定のアンカー表現を含んだキャプションを持つオブジェクトの数を取得し、ステップ1902において取得したオブジェクトの数が複数であると判定されると、ステップ1905に進む。
【0146】
ステップ1905で、メタデータ処理制御部406は、例えば、異なる図において同じ図番号を検出したことを示すメッセージ、及び処理を続行するかどうかを指定させるボタン、を含む図18に示すような警告画面を操作部203上に表示する。
【0147】
警告画面1801上において、ユーザが「続ける」ボタン1802を選択すればそのまま処理を続行すべく、ステップ1907へと進む。ステップ1907〜ステップ1909における処理は、図10のステップ1005〜ステップ1007と同じである。一方、「終了」ボタン1803をユーザが選択すれば、処理は中断され、スキャン開始前の状態に戻る。
【0148】
本実施例によれば、同じアンカー表現を含んだキャプションを持つオブジェクトが複数存在することを確認した時点で、そのまま処理を続行するかどうかをユーザに検討する機械を与える。これにより、ユーザは、一旦処理を中断し、正確なメタデータを確実に付与できるようにスキャンを改めて行う機会を得ることができる。
【0149】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
画像データを所定の領域に分割する領域分割手段と、
前記分割された所定の領域に対し、当該領域に応じた属性を付加する属性情報付加手段と、
前記属性情報付加手段において文字に関連する属性が付加された領域に対し、文字認識処理を行う文字認識手段と、
前記属性情報付加手段において写真、図、表及び/又はこれらに準じた属性が付加されたオブジェクト領域のメタデータを、前記文字認識処理の結果を用いて抽出し、前記オブジェクト領域に付随するキャプション領域を特定する識別子を用いて、前記抽出したメタデータを前記オブジェクト領域のオブジェクトに関連付けるメタデータ処理手段であって、前記キャプション領域は、前記属性情報付加手段においてキャプションの属性が付加された領域である、メタデータ処理手段と、
を備え、
前記メタデータ処理手段は、
前記キャプション領域に対する前記文字認識処理の結果から、前記オブジェクト領域のオブジェクトを指し示すアンカー表現を前記メタデータとして抽出し、前記アンカー表現を抽出した後に残った文字列をキャプション表現として抽出する第1の抽出手段と、
前記属性情報付加手段において本文の属性が付加された本文領域に対する前記文字認識処理の結果から、前記アンカー表現を含む本文中の説明文を前記メタデータとして抽出し、複数のオブジェクト領域について同一のアンカー表現が前記第1の抽出手段において抽出された場合に前記キャプション表現を用いて前記複数のオブジェクト領域のそれぞれに対応する本文中の説明文を前記メタデータとして抽出する、第2の抽出手段と、
を含む
ことを特徴とする画像処理装置。
【請求項2】
前記第2の抽出手段は、前記複数のオブジェクト領域のそれぞれに対応する本文中の説明文を前記メタデータとして抽出する場合において、前記本文領域に対する文字認識処理の結果から前記同一のアンカー表現を検索し、見つかった本文中の説明文と各オブジェクト領域のキャプションとの組合せを作成して前記組合せ毎の類似度を計算し、当該類似度の値が最も大きい組合せにおける本文中の説明文を、当該組合せに係るオブジェクト領域のメタデータとして抽出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第2の抽出手段は、前記検索により見つかった本文中の説明文が、オブジェクト領域と同一ページ内に存在する場合に、前記類似度の計算を行うことなく、当該見つかった本文中の説明文を当該同一ページ内のオブジェクト領域のメタデータとして抽出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記第2の抽出手段は、前記類似度の計算によって得られた類似度の値が所定の閾値に達している場合に、見つかった本文中の説明文を当該組合せに係るオブジェクト領域のメタデータとして抽出することを特徴とする請求項2に記載の画像処理装置。
【請求項5】
前記メタデータ処理手段は、複数のオブジェクト領域について同一のアンカー表現が前記第1の抽出手段において抽出された場合に、その旨の警告表示を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項6】
前記オブジェクト領域に関連付けられたメタデータを用いて、前記画像データを所定のフォーマットの電子文書に変換する手段をさらに備えたことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
領域分割手段により、画像データを所定の領域に分割する領域分割工程と、
属性情報付加手段により、前記分割された所定の領域に対し、当該領域に応じた属性を付加する工程と、
文字認識手段により、前記属性情報付加手段において文字に関連する属性が付加された領域に対し、文字認識処理を行う工程と、
メタデータ処理手段により、前記属性情報付加工程において写真、図、表及び/又はこれらに準じた属性が付加されたオブジェクト領域のメタデータを、前記文字認識処理の結果を用いて抽出し、前記オブジェクト領域に付随するキャプション領域を特定する識別子を用いて、前記抽出したメタデータを前記オブジェクト領域のオブジェクトに関連付ける工程であって、前記キャプション領域は、前記属性情報付加工程においてキャプションの属性が付加された領域である、メタデータ処理工程と、
を含み、
前記メタデータ処理工程は、
前記キャプション領域に対する前記文字認識処理の結果から、前記オブジェクト領域のオブジェクトを指し示すアンカー表現を前記メタデータとして抽出し、前記アンカー表現を抽出した後に残った文字列をキャプション表現として抽出する第1の抽出工程と、
前記属性情報付加工程において本文の属性が付加された本文領域に対する前記文字認識処理の結果から、前記アンカー表現を含む本文中の説明文を前記メタデータとして抽出し、複数のオブジェクト領域について同一のアンカー表現が前記第1の抽出工程において抽出された場合に前記キャプション表現を用いて前記複数のオブジェクト領域のそれぞれに対応する本文中の説明文を前記メタデータとして抽出する、第2の抽出工程と、
を含む
ことを特徴とする画像処理方法。
【請求項8】
コンピュータに、請求項7に記載の方法を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2011−192145(P2011−192145A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−59160(P2010−59160)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】