(実施形態1)
以下、本発明の実施形態について図面を用いて説明する。
図1は、本実施形態の画像処理装置を含むシステムを示すブロック図である。図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、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等である。
図2は、本実施形態の画像処理装置であるMFP100を示す図である。MFP100は、文書画像の画像入力のためのデバイスであるスキャナ部201と、画像出力デバイスであるプリンタ部202と、CPU205等を有する制御ユニット204と、ユーザインタフェースである操作部203等を有する。制御ユニット204は、スキャナ部201、プリンタ部202、操作部203と接続し、一方では、LAN219や一般の電話回線網である公衆回線(WAN)220と接続することで、画像情報やデバイス情報の入出力を行うコントローラである。CPU205は、制御ユニット204に含まれる各ユニットを制御する。RAM206は、CPU205が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。ROM210は、ブートROMであり、システムのブートプログラム等のプログラムが格納されている。記憶部211は、ハードディスクドライブで、システム制御ソフトウェア、画像データを格納する。操作部I/F207は操作部(UI)203とのインタフェース部で、操作部203に表示するための画像データを操作部203に対して出力する。また、操作部I/F207は、操作部203からMFP100の使用者が入力した情報を、CPU205に伝える役割をする。ネットワークIF208は、MFP100をLAN219に接続し、パケット形式の情報の入出力を行う。MODEM(モデム)209は、MFP100をWAN220に接続し、データの復調および変調を行うことにより情報の入出力を行う。以上のデバイスがシステムバス221上に配置される。
イメージバスインターフェース212はシステムバス221と画像データを高速で転送する画像バス222とを接続し、データ構造を変換するバスブリッジである。画像バス222は、例えば、PCIバスやIEEE1394を有する。画像バス222上には以下のデバイスが配置される。ラスターイメージプロセッサ(RIP)213はPDL(ページ記述言語)コードを解析し、指定された解像度のビットマップイメージに展開する、いわゆるレンダリング処理を実現する。この展開する際には、各画素単位あるいは領域単位で属性情報が付加されることになる。これを像域判定処理と呼ぶ。像域判定より、画素毎にあるいは領域毎に、写真、図面、線画、表などのオブジェクト種類を示す属性情報が付与される。たとえば、PDLコード内のPDL記述のオブジェクトの種類に応じて、RIP213から像域信号が出力され、その信号値で示される属性に応じた属性情報が、オブジェクトに対応する画素や領域に関連づけて保存される。したがって画像データには、関連づけられた属性情報が付属している。デバイスI/F214は、信号線223を介して画像入力デバイスであるスキャナ部201、信号線224を介して画像出力デバイスであるプリンタ部202、をそれぞれ制御ユニット204に接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部215は、入力された文書画像のデータに対し補正、加工、編集を行う。プリンタ画像処理部216は、プリンタ部202に出力すべきプリント出力画像データに対して、プリンタ部202に応じた補正、解像度変換等を行う。画像回転部217は入力された画像データが正立するように回転を行い出力する。データ処理部218については後述する。
次に、図3を用いて、図2のデータ処理部218の詳細説明を行う。データ処理部218は、領域分割部(領域抽出部)301、属性情報付加部302、文字認識部303、メタデータ抽出部304、検索補足情報生成部305、電子文書ページ生成部306、電子文書出力部307を有する。データ処理部218は、スキャナ部でスキャンしたイメージデータ300が入力されてくると、各処理部301〜307で処理を行い、入力イメージデータを各々電子文書ページへと変換する。そして、データ処理部218は、この電子文書ページにメタデータ等の付加情報を加えた電子文書データ310を出力する。複数のイメージデータが入力された場合は、それぞれのイメージデータに対応する複数の電子文書ページが生成され、それらを結合したうえでメタデータ等を加えた電子文書データ310を出力する。以下、図3の各部分の機能の詳細な説明をおこなう。
領域分割部301には、図2のスキャナ部201でスキャンされたイメージデータ、あるいは記憶部211に保存されているイメージデータ(文書画像)が入力される。そして、領域分割部301は、文字、写真、図、表などページ内に配置された文書的な意味でまとまりをもつ領域(各属性を有するオブジェクト)を各々抽出するために、データ中の画素の抽出およびグループ化等の処理を行う。
この際の領域抽出方法(領域分割方法)として、公知の方法を用いることができる。例えば、まず、入力された文書画像が2値化されて2値画像が生成され、2値画像が低解像度化されて間引き画像(縮小画像)が作成される。そして、1/(M×N)の間引き画像が作成される際には、例えば、2値画像がM×N画素毎に分割され、M×N画素内に黒画素が存在する場合には、縮小後の対応する画素が黒画素とされる。一方、M×N画素内に黒画素が存在しない場合には、縮小後の対応する画素が白画素とされる。このようにして、間引き画像が作成される。次に、間引き画像において黒画素が連結する部分(連結黒画素)が抽出されて当該連結黒画素に外接する矩形が作成される。ここで、文書画像内に含まれている文字画像サイズに近い矩形(1文字の矩形)が並んでいる場合は、1つの文字行からなる文字画像である可能性が高い。また、縦横のどちらかが文字画像サイズに近い矩形(数文字が繋がった連結黒画素の矩形)で短辺の近くに同様の矩形が並んでいる場合は、1つの文字行からなる文字画像である可能性が高い。この場合は矩形同士を結合して、1つの文字行を表す矩形とされる。そして、1つの文字行を表す矩形の短辺の長さがほぼ同じで、列方向にほぼ等間隔に並んでいる矩形の集合は、本文部である可能性が高いので結合して本文の領域が抽出される。また、写真領域や図領域や表領域は、文字画像よりも大きいサイズの連結黒画素により抽出される。その結果、例えば、図6の領域601〜605が抽出される。なお、領域601〜605の属性は、後述するように、領域601〜605のサイズや縦横比や黒画素密度や、連結黒画素内部に含まれる白画素の輪郭追跡結果などに基づいて判定される。
属性情報付加部302は、領域分割部301で分割された領域毎に属性を付加する。例えば、図6に示されているようなイメージデータが入力された場合の属性情報付加部302の処理動作を以下で説明する。まず、領域605は、そのページ内で文字数や行数がある程度あり、文字数、行数、段落などの形態を保有する点から、総合的に判定して、「本文」の属性が付加される。残りの領域については、まず、文字画像サイズに近い矩形が含まれている領域か否かが判定される。特に、文字画像が含まれている領域は、領域内で文字画像の矩形が周期的に現れるので、領域内に文字が含まれている領域であるか否かが判定される。その結果、領域601、領域604は文字が含まれる領域であるが、行数や段落が少ないので、「本文」の属性は付加されない。このような「本文」以外の文字領域に関しては、更に、領域の位置や文字サイズや他の領域との距離などを所定の基準と比較して、「キャプション」、「見出し」、「ページヘッダ」、「ページフッタ」などの属性が付加される。一方、属性が付加されない領域については、領域の大きさが非常に小さければ「ノイズ」と判定される。また、画素密度が小さい連結黒画素について、領域の白画素輪郭追跡が行われたときに、その白画素輪郭の外接矩形が整然と並んでいる場合は、当該領域に「表」の属性が付加される。一方、画素密度が小さい連結黒画素について、領域の白画素輪郭追跡が行われたときに、その白画素輪郭の外接矩形が整然と並んでいない場合は、当該領域に「線画」の属性が付加される。また、「表」や「線画」の属性が付加されず、画素密度の高い領域には、「写真」の属性が付加される。
なお、本文でないと判定された文字の領域が、「表」または「線画(図面)」または「写真」の属性が付加された領域の近傍(領域の上または下)に存在する場合、当該「表」、「線画」、「写真」の領域を説明する文字の領域であると判定される。そして、「表」、「線画」、「写真」の領域を説明する文字領域には、「キャプション」の属性が付加される。尚、「キャプション」が付加される領域は、「キャプション」が付随する領域(表/線画/写真)を特定できるように、付随する領域と関連付けて保存される。また、本文の領域の文字画像より大きく、本文の領域の段組とは異なる位置にある領域には、「見出し」の属性が付加される。また、本文の領域の文字画像より大きく、本文の領域の段組の上部に存在する領域には、「小見出し」の属性が付加される。更に、本文の領域の文字画像のサイズ以下の文字画像で、原稿の下端部や上端部に存在する領域には、「ページ」(もしくは、「ページヘッダ」、「ページフッタ」)の属性が付加される。また、文字の領域として判定されたが、「本文」、「見出し」、「小見出し」、「キャプション」、「ページ」の属性も付加されなかった領域には、「文字」の属性が付加される。ここで、領域の属性は、最終的に付加された属性により決定される。
以上のような属性情報付加処理により、領域601には、「見出し」、領域602には、「表」、領域603には、「写真」、領域604には、領域603に付随する「キャプション」、領域605には、「本文」の属性が付加される。
文字認識部303は、文字からなる領域、すなわち属性「文字」、「本文」、「見出し」、「小見出し」、「キャプション」が付加された領域に対し、公知の文字認識方法による認識処理を実行し、認識された文字コード列を対象領域に関連付けて格納する。文字認識部303は、公知の方式を用いて文字以外の領域の内部に含まれている文字部を検出したうえで、文字部に文字認識処理を実行し、結果を対象領域に関連付けて格納するようにしてもよい。たとえば、領域の属性が「線画」や「表」であれば、領域分割部301の処理と同様に、該当領域内で連結黒画素が抽出され、連結黒画素の中で文字サイズに近いものが縦または横に連なって配置される部分が文字部として検出される。「写真」のような自然画領域に対しては、入力された文書画像が数色〜数十色程度に量子化され、その中の連結同色画素に対し同様にサイズ、配置から文字部が検出されてもよい。
このように、領域分割部301、属性情報付加部302、文字認識部303において抽出された、領域の位置や大きさや領域属性の情報、ページ情報、文字認識結果の文字情報(文字コード情報)は、記憶部211に保存される。図7は、図6のイメージデータが入力された場合に記憶部211に保存される情報の例を示す。図7の表中で領域識別番号701の項で識別されるR1〜R5の各行は、図6の領域601〜605に対応している。図7に示されている各領域に対して、領域情報702の項に領域の座標およびページ番号が、属性情報703の項に領域の種別、および領域間の関連を示す情報が格納される。
メタデータ抽出部304は、領域分割部301が抽出した領域に関連づけられたメタデータを、任意の領域から抽出する。ここで、メタデータとは、対象となる領域(オブジェクト)の内容を特定し、検索等に利用可能なキーワードとなる文字列を含む。メタデータ抽出部304は、メタデータの文字列を各領域内の文字認識結果704から抽出する。抽出されたメタデータの文字列は、対象オブジェクト領域と関連づけられたうえで記憶部211に格納される。
次に、メタデータ抽出部304を、図5のブロック図を用いて説明する。メタデータ抽出部304は、キャプション文字列抽出部501、アンカー記述選出部502、アンカー関連文字列抽出部503を有する。以下各部分の機能を詳細に説明する。
キャプション文字列抽出部501は、対象オブジェクト領域の周辺あるいは内部にある領域から、対象オブジェクトを説明する文字情報をキャプション文字列として抽出する。具体的処理例としては、属性情報付加部302によって、対象オブジェクト領域に「キャプション」属性の領域が関連付けられている場合、その領域内の文字認識結果をキャプション文字列として抽出する。それ以外にも、レイアウト関係、および文字列を自然言語的に解析した意味情報から、近接する「キャプション」属性以外の文字領域からキャプション文字列を抽出してもよい。たとえば、「表」のオブジェクト領域の右側にある「本文」のオブジェクト領域の文字認識結果に、「左の表はBBB」という文字列があった場合、「左の表はBBB」あるいは「BBB」を、キャプション文字列として抽出してもよい。さらに、オブジェクト領域内部から抽出された文字列を、キャプション文字列として抽出してもよい。抽出されたキャプション文字列は、対象オブジェクトのメタデータとして記憶部211に格納される
アンカー記述選出部502は、キャプション文字列の中から、対象領域内のオブジェクトを特定可能な文字列をアンカー記述として選出する。アンカー記述(オブジェクトを特定可能な文字列)とは、たとえば「図1」や「Fig.A」など、一般に文書の本文中から図や写真、表などを特定して説明する際に用いられる図番および識別子に類する記述である。各メタデータにおいて選出されたアンカー記述は、メタデータの付随情報として記憶部211に追加される。
アンカー関連文字列抽出部503は、対象オブジェクト領域内部やキャプション領域を除いた領域(本文領域など)に対する文字認識結果から、アンカー記述選出部502が選出したアンカー記述と一致する部分を検出する。そして検出部分の周辺に、対象オブジェクトを説明する文字列が存在すると判定された場合、その文字列の一部もしくは全部をメタデータとして抽出し、対象オブジェクトのメタデータに追加する形で記憶部211に格納する。
ここで、オブジェクトを説明する文字列部分を特定するための処理は、公知の自然言語解析技術を用いておこなうことができる。たとえば、検出したアンカー記述の周辺にある文字列を品詞分解し、主述関係などから「図1は、AAAである」までを説明文字列と特定すればよい。あるいは単にアンカー記述と一致する文字列の前後を固定文字数あるいは句読点等の区切りで機械的に抜きだすようにしてもよい。
なお、アンカー関連文字列抽出部503の処理対象となる文字の領域は、オブジェクト領域と同一のイメージデータ内にある領域だけではなく、別のイメージデータ内にある領域、すなわち別ページに記載された本文の領域などを対象としてもよい。複数ページに相当する複数のイメージデータを逐次的に処理する場合は、あるアンカー記述が選出された時点で、現在処理中および過去に処理済のページに含まれる全ての領域を検出対象に、アンカー関連文字列抽出の処理をおこってもよい。さらにその後、別のページのイメージデータが入力される毎に、処理中ページから抽出された領域の文字認識結果を各アンカー記述の検出対象にして、抽出結果を各メタデータに追加していくようにしてもよい。
図6のイメージデータを入力例として、メタデータ抽出部304が生成するメタデータ情報を記憶部211に格納した場合の例を図8に示す。図8の表中の1行はひとつのオブジェクトに対応するメタデータであり、メタデータ識別番号801によって識別され、それぞれ対象オブジェクト領域802、アンカー記述803、および文字列として順次追加可能なメタデータ内容804を有する。
図8中で、メタデータ識別番号がM1となるメタデータは、対象オブジェクト領域が図7中のR3、すなわち図6の「写真」のオブジェクト領域603に対するメタデータである。M1のメタデータ内容の1個目は、領域R3に付随するキャプション領域R4の文字認識結果から抽出された、キャプション文字列「図1」である。この文字列はアンカー記述選出部502によってそのままアンカー記述として選出されている。M1のメタデータ内容の2個目は、アンカー関連文字列抽出部503が、図6中の「本文」の領域605の文字認識結果から、アンカー記述「図1」と一致する箇所を検出し、その周辺の説明文として切り出した「図1は、AAAである」という文字列である。同様に、図8中の識別番号M2のメタデータは、図6の「表」のオブジェクト領域602に対するメタデータである。メタデータ内容は、「表」の領域内から抽出された文字列から選別された「データ」である。この文字列からアンカー記述は選出されないため、追加のメタデータは抽出されていない。
図8のメタデータ内容804が保持する内容には、それぞれメタデータの文字列に、メタデータの抽出元である領域を特定する領域識別番号が付加されている。このように格納された領域の情報を識別する番号を付加する代わりに、領域の座標やページ番号、種別等の情報を個別で付加するようにしてもよい。
図3の検索補足情報生成部305は、データ処理部218が出力する電子文書データ310に対して領域(オブジェクト)の検索処理を行ったときに、検索結果の領域(オブジェクト)に付随して表示するための検索補足情報を生成する。ここで、検索補足情報とは、検索処理の検索結果を補足説明するための情報である。例えば、検索されたオブジェクトに付加されているメタデータが文書のどの部分から抽出されて付加されたのか、などを示す。このような検索補足情報は、検索結果の妥当性をユーザーが判定する際の助けとなる。
具体的な検索補足情報の例として、以下のような例を説明する。文書画像から抽出された写真オブジェクトに対するメタデータとして、当該写真オブジェクトの近傍にあるキャプション領域から「図1」という文字列が抽出されたものとする。このとき、この「図1」がアンカー記述となり、別の本文の領域から抽出された「図1は、AAAである」という説明文字列が、該写真オブジェクトのメタデータとして関連付けられた電子文書が生成されたものとする。このようにして生成された電子文書に対し、ユーザーが「AAA」というキーワードで検索をおこなった場合、写真の領域のメタデータに文字列「AAA」が含まれるため、写真の領域が検索結果として得られる。このとき文書中で写真が存在するページが表示され、さらに写真部分が枠などで強調されて検索にヒットしていることが提示される。しかし、ユーザーが検索結果の写真を見たときに、検索キーワードと写真の内容が全く異なっていたりすると、ユーザーは、なぜその写真が検索ヒットしたのか分からない場合があり得る。このような場合、本実施形態では検索補足情報が表示されるので、ユーザーは本文の文章中から当該写真のメタデータとして付与した説明文を確認し易くなる。例えば、「図1は、AAAである」という文字列が抽出された文字領域が、検索結果のオブジェクトと同一のページにある場合には、検索補足情報として、その文字領域の方向を示す矢印が表示される。また、例えば、「図1は、AAAである」という文字列が抽出された文字領域が、検索結果の領域(オブジェクト)と異なるページにある場合には、検索補足情報として、その文字列があるページ番号が表示される。また、検索補足情報は、メタデータとして抽出された文字列を含む文字領域の位置を示す情報に限るものではなく、例えば、そのメタデータとして用いられた文字列やその周辺の文字列を検索補足情報として表示するようにしてもよい。このように、検索補足情報とは、検索処理の検索結果であるオブジェクト領域に関連づけられたメタデータを特定するための情報である。また、検索補足情報は、検索結果の領域(オブジェクト)が強調表示されるのに伴って、任意の位置に表示されても良い。
検索補足情報生成部305で生成される検索補足情報は、検索時に検索補足情報を表示する際に用いられる描画データに関する情報を含んでいてもよい。たとえば、ビューワーアプリが検索結果を提示する際に、領域(オブジェクト)を強調する枠などを表示した近傍に、検索補足情報を表示してもよい。検索補足情報を、検索結果表示時にページ内容に重ねて描画する場合の表示例を図14に示す。図14の表示1401は、検索結果の説明文が所在するページが、2ページ後であることを文字コードで描画する例を示している。ここで、「説明は2ページ後」という検索補足情報が、シンボルを用いた描画で表現されても良い。また、検索結果の領域(オブジェクト)の近辺に、検索結果の領域(オブジェクト)のメタデータの文字列、すなわち他ページにある説明文を適宜配置する文字コードが、検索補足情報として、描画されても良い。また、検索結果の領域(オブジェクト)の説明文とその説明文が所在する位置を示す情報が、検索補足情報として、検索結果の領域(オブジェクト)と同時に表示されてもよい。
また、説明文が所在するページ数だけでなく、説明文が何行目にあるかを示す情報を同時に表示してもよい。また、説明文が所在するページのどの位置にあるかを示す情報、例えば「右上」「右下」「左上」「左下」「中央」といった情報を同時に表示してもよい。
電子文書ページ生成部306は、イメージデータを処理して、イメージデータに対応する電子文書のデータを生成する。これは電子文書を読みこんだビューワーアプリ等が、電子文書中の任意ページをディスプレイ等の表示デバイスに表示したり、あるいはプリンタなどで印刷したりする場合に用いられる、ページ内容描画のためのデータである。電子文書ページ生成部306で生成されたデータは一時的に記憶部211に保存され、後述の電子文書出力処理に用いられる。
電子文書1ページ分のデータは、例えば、以下のように生成されても良い。すなわち、処理中のイメージデータをJPEGなど公知の画像圧縮技術で圧縮し、圧縮画像データと表示時の展開サイズを組にした情報が、電子文書1ページ分のデータとされても良い。また、以下のようにしても良い。まず、電子文書1ページ分のデータの生成のために、イメージデータから領域分割部301により分割された各領域を切り出す。次に、当該切り出された各領域のそれぞれに対する圧縮画像データと、イメージデータ上で切り出し領域部分を平滑化した、背景画像の圧縮画像データとを生成する。そして、それらの圧縮画像データが適切な位置および大きさで重ねあわせて展開されるように指示する情報とともに格納された電子文書データが生成されるようにしてもよい。また、文字領域は画像の代わりに内部の文字認識結果を文字コード描画情報で記述しても良い。また、表や線画領域の直線および曲線部分をベクトルパスで近似記述し、かつ背景の平滑化はこの文字やパスの前景部分のみを周囲画素で塗りつぶすようにして生成した背景画像と組みあわせて文字領域としてもよい。このようにすることで、電子文書閲覧および印刷のときの画質を向上させ、あるいは編集や内部オブジェクトの再利用など多目的な用途に供することができる。
ここで、電子文書ページ生成部306は、以下のような電子文書ページを生成しても良い。すなわち、電子文書の閲覧時には表示されないが、オブジェクトの検索をおこなったときに、検索結果を特定および強調する際にのみ表示されるような描画物が重ねて記述された電子文書ページが生成されても良い。 例えば、電子文書ページ生成部306は、検索対象となる表、線画、写真などのオブジェクトが存在する電子文書ページのデータ上に、オブジェクトの画像情報を囲むような枠の描画データを透明色で記述する。そして、電子文書ページ生成部306は、この枠の描画データに各オブジェクトのメタデータを関連付けた電子文書を生成する。この透明色の描画物は、ビューワーアプリで通常の閲覧を行う場合には可視的に描画されることはない。しかし、検索用キーワードを含むメタデータに関連づけられているため、ビューワーアプリ等が、検索時に検索された描画物を強調色で描画して可視化するように制御すれば、オブジェクトに対する検索結果を効果的に提示可能な電子文書が生成される。
さらに、この枠の描画物に、検索補足情報生成部305が生成した検索補足情報の描画物が付随され、描画物全体にメタデータへの関連付けが行われると、ビューワーアプリは検索時に、描画物全体を強調色で描画することになる。なお、描画物全体には、オブジェクトを囲む枠と、検索補足情報の描画データが含まれる。すなわち、枠の描画データと検索補足情報の描画データとが透明色で記述しておくので、通常の表示を行っているときはそれらは可視化されないが、検索時は強調色で描画されることになるので可視化される。その結果、ユーザーは、オブジェクト検索結果の妥当性を容易に確認することができる。
電子文書出力部307は、記憶部211に格納された電子文書ページのデータとメタデータを関連付けて結合し、電子文書データ310として出力する。図10に、図6のイメージデータ1ページを入力した場合に生成される電子文書データ310を、XML形式のテキストファイルで記述した場合の例を示す。
図10の記述1000〜1005は、電子文書ページ生成部306で生成された電子文書1ページを表示する為に用いられるデータを、SVG形式で記述した例である。図10において、記述1001〜1005は、図6の領域601〜605のそれぞれに対応する前景部分のデータを示している。また、記述1000は、入力イメージデータから前景部分が切り出され平滑化された、背景部分のデータを示している。詳細には、記述1000、1003は、テキストエンコードされた画像データを指定位置に貼り付ける記述を示している。また、記述1001、1004、1005は、文字コードを指定位置に描画する記述を示している。また、記述1002は、表の枠をベクトルパスで、中の文字を文字コードでそれぞれ描画する記述を示している。これらの記述は、あくまで一例であって、前述のとおり1ページ全体を表す画像データ1個のみがデータに含まれていてもよい。
図10の記述1010は、電子文書ページ生成部306の説明において例示した、ページの通常表示時には可視的に描画されず、対象オブジェクトの検索時にのみオブジェクトを特定および強調する目的で描画される描画物の記述の例を示している。図10では、記述1010は、後述のメタデータM1に関連して、図6の写真の領域603を特定および強調する目的で描画される記述1011と、メタデータM2に関連して、表の領域602を特定および強調する目的で描画される記述1012とを含む。また、記述1011は、前述の検索補足情報となる文字列「図1は、AAAである」を描画する記述を含む。
図10の記述1020は、メタデータ抽出部304によって生成されたメタデータの記述である。記述1020は、一例として、SVGとは無関係の独自スキーマで記述されている。記述1020は、識別属性idと関連オブジェクト領域属性refを有し、1つのメタデータを表す要素<x:meta>、および、抽出元の領域を指す属性fromを有し、メタデータ内容の文字列ひとつを表す<x:word>要素を有する。本実施形態では、図7のメタデータ格納例の内容に従って、図6の写真の領域603に対するメタデータとして文字列「図1」と「図1は、AAAである」が、表の領域602に対するメタデータとして文字列「データ」が記述されている。
なお図10はあくまで一例であって、SVG以外のXML形式、たとえばXPSやOffice Open XML、PDFを用いて電子文書ページおよび電子文書が記述されてもよい。
以上が本実施形態のMFP100においてデータ処理部218の各ブロック部分の詳細な説明である。
続いて、本実施形態のMFP100を用いて紙文書を電子文書に変換してクライアントPC101に送信し、ユーザーが101上で受信した電子文書をビューワーアプリで閲覧、およびオブジェクトの検索処理をおこなう一連の動作の例を説明する。
まずは、MFP100が、紙文書を電子文書に変換してクライアントPC101等の外部送信先に送信する際の動作例を、図4のフローチャートを用いて説明する。
図4に示すフローチャートは、図2、3、5に示されている各処理部によって実行される。なお、本実施形態では、CPU205が記憶部211(コンピュータ読取可能な記憶媒体)に格納されたコンピュータプログラムを読み取り実行することによって、図3、5に示されている各処理部として機能するものとするが、これに限るものではない。例えば、図3、5に示されている各処理部が、電子回路等のハードウェアで実現されてもよい。
ここで、入力される紙文書の例として、図11のページ1101〜1103の3ページを用いる。図4で説明される処理に対しては、それぞれページ1101〜1103に相当するイメージデータが順に入力されるものとする。なお、ページ1101〜1103内にある点線の矩形はそれぞれのページにある文字や写真の領域範囲を図示するためのものであり、実際に入力される紙文書中には存在しない。
まず、図11のページ1101が最初のページとして入力された場合に実際に処理される図4のステップを説明する。
ステップS401では、紙文書の1ページぶんのイメージデータがスキャナ部201から読み取られ、必要に応じてスキャナ画像処理部215で補正されてデータ処理部218へと入力されて以下に説明する各処理がおこなわれる。ここで、前述のとおり1ページ目の入力としてページ1101が入力されたものとする。
次に、ステップS402では、領域分割部301が、ステップS401で入力されたイメージデータの内容を解析し、イメージデータのページ内に配置された文字、写真、図、表などのオブジェクト領域を抽出する。抽出された領域の情報は、記憶部211に格納される。ここで、図11のページ1101から、領域1111〜1113の3つのオブジェクト領域が抽出される。
次に、ステップS403では、属性情報付加部302がステップS402で抽出された各領域に属性を付加する。本実施形態では、領域1111には「写真」、領域1112には「キャプション」、領域1113には「本文」の属性がそれぞれ格納された領域情報に付加される。また領域1111と領域1112の間には、写真とキャプションの関係があるとしてその情報も格納される。
次に、ステップS404では、文字認識部303がステップS403で文字の属性が付与された領域に対して文字認識処理をおこない、得られた文字コード列を各領域の領域情報に関連づけて記憶部211に格納する。本実施形態では、「キャプション」の領域1112および「本文」の領域1113が文字認識処理の対象となり、内部の画像を文字認識して得られた文字コード列が抽出される。
ステップS402〜404の処理によって、図11のページ1101に対して生成され記憶部211に格納される情報の例が、図12の領域情報1201である。なお、図12の領域情報1202、1203の情報は、2ページ目以降の処理で生成される情報であり、1ページ目の処理の時点ではまだ格納されていないものとする。
次に、ステップS405では、メタデータ抽出部304が、処理中のイメージデータ中にメタデータ抽出対象となるオブジェクト領域が存在するか否かを判定する。ステップS405で、メタデータ抽出対象となるオブジェクト領域が存在すると判定された場合は、ステップS407に処理が進む。一方、ステップS405で、メタデータ抽出対象となるオブジェクト領域が存在しないと判定された場合は、ステップS406に、処理が進む。本実施形態では、線画、写真、表の領域をメタデータ抽出対象として処理する。例えば、ページ1101に対しては、ステップS405で、「写真」の領域1111がメタデータ抽出対象となるオブジェクトと判定されてステップS407に処理が進む。なお、ステップS406の処理については、後述する。
次に、ステップS407では、メタデータ抽出部304のキャプション文字列抽出部501が、処理中のイメージデータ中からキャプション文字列を抽出できるか否かを判定する。ここで、キャプション文字列とは、メタデータ抽出対象のオブジェクト領域を説明する近傍の文字列である。ステップS407で、キャプション文字列が抽出されると判定された場合は、ステップS408に処理が進む。一方、ステップS407で、キャプション文字列が抽出されないと判定された場合は、ステップS406に処理が進む。例えば、ページ1101からは、ステップS407で、「写真」の領域1111のキャプション文字列として「図1」が抽出される。これは領域1111に付随する「キャプション」の領域1112の文字認識結果である。
次に、ステップS408では、キャプション文字列抽出部501によりキャプション文字列が抽出されたオブジェクト領域の各々に対し、メタデータ抽出部304が対応するメタデータのエントリを記憶部211に生成する。メタデータのエントリにはキャプション文字列が関連づけて格納され、さらにキャプション文字列が抽出された領域に関する情報も、キャプション文字列に関連づけて格納される。
次に、ステップS409では、アンカー記述選出部502が、ステップS408でエントリされたメタデータ中のキャプション文字列の中から、アンカー記述を選出できるか否かを判定する。ここで、アンカー記述とは、対象オブジェクトを特定する図番号や記号である。例えば、アンカー記述は、「図1」や「Fig.A」などの記述である。ステップS409でアンカー記述が選出された場合は、アンカー記述がメタデータのエントリに関連付けて格納され、ステップS410に処理が進む。ステップS409でアンカー記述が選出されなかった場合はステップS411に処理が進む。ステップS409では、例えば、ページ1101で「写真」の領域1111のキャプション文字列として抽出された「図1」がそのままアンカー記述とみなされる。そして、キャプション文字列を格納するメタデータのエントリのアンカー記述として「図1」という情報が追加される。
次に、ステップS410では、アンカー関連文字列抽出部503が、これまで処理されたページ内の文字領域に対する文字認識結果の文字コード列の中から、アンカー記述と一致する部分を検出する。アンカー記述と一致する部分が検出された場合は、その周辺の文字列から、対象オブジェクトを説明する文字列が特定され、メタデータとして抽出される。抽出された文字列は、アンカー記述を有すメタデータエントリの内容へと追加格納される。なお、1ページ目であるページ1101の処理時点では、過去に処理済みのページは存在しないので、ステップS410の処理において抽出されるメタデータは無い。
ステップS407〜S410の処理により、図11のページ1101内にある「写真」の領域1111をメタデータ抽出対象として、生成されたメタデータのエントリの格納例を図13(a)のエントリ1301に示す。エントリ1301は、対象オブジェクト領域はR1、すなわち図11の写真の領域1111であり、メタデータ内容としては、キャプション文字列として抽出された「図1」の文字列が、その抽出元の領域を示す情報(R2)と共に格納されている。なお、図13(a)のエントリ1302は図11の2ページ目以降の処理で生成されるエントリであり、1ページ目の処理時点ではまだ格納されていないものとする。
次に、ステップS411では、電子文書ページ生成部306が、処理中ページのイメージデータに対応する、1ページぶんの電子文書ページのデータを生成する。生成された1ページぶんの電子文書ページのデータは、記憶部211に一時保存される。ここで、電子文書ページのデータの生成後、処理中ページのイメージデータが記憶部211から破棄されてもよい。
ステップS411では、以下のようなデータが生成される。すなわち、電子文書の閲覧時にページ内容を描画するために用いられるデータに、ページ内のオブジェクトを検索したときのみに特定および強調表示するため用いられる検索時描画物を重畳した、1ページ分のデータが生成される。さらに、この電子文書ページのデータは、検索時描画物が存在することを示す記述はおこなうが、その描画物の内容に関しては電子文書内の別箇所において定義されるデータを参照するように記述する。
図15の記述1501は、電子文書ページのデータ記述例を示している。記述1501は、図11のページ1101から生成される電子文書ページをSVG(Scalable Vector Graphics)形式で記述した場合の例である。電子文書ページは、SVG形式の電子文書とされるよう記述されている。
図15の記述1501の記述1510は、画像データをページ全体に貼りつけることを指示する記述である。そして、貼り付けられる画像データには、ページ1101の入力イメージデータをそのままJPEG形式で圧縮したものがテキストエンコードされ埋め込まれている。記述1511は、このページに対する検索時描画物の描画指示記述であり、そのトップ要素において、関連するメタデータを特定するための属性x:meta_idにM1が付加されている。また、その子要素にあたる描画物が不可視状態で描画されるよう、文字色、パス色、パス塗りつぶし色を指定するcolor、stroke、fill属性それぞれに透明色が設定されている。さらに、本実施形態ではその子要素としてSVGの<use>要素を配置されている。つまり、検索時描画物のデータは、実際には記述1501には記述されておらず、<use>要素の参照先指定の属性xlink:hrefが示す箇所に記述されたデータを使用し描画するように指定されている。記述1501における参照先は、最終的に出力される電子文書内で、DrawM1というidで識別されるよう記述されるデータである。参照先のデータの内容および出力処理については、後述する。
図4のステップS412では、記憶部211に格納されたメタデータのエントリの中に、アンカー記述が選出されているエントリが存在するか否かが判定される。ステップS412で、アンカー記述が選出されているエントリが1個以上存在すると判定された場合は、ステップS413に、処理が進む。一方、ステップS412で、アンカー記述が選出されているエントリが存在しないと判定された場合は、ステップS414に処理が進む。
ステップS413では、その時点でメタデータエントリに存在するアンカー記述が付与された全エントリを対象に、アンカー関連文字列抽出部503がメタデータ抽出処理をおこなう。ステップS413でのメタデータ抽出処理対象は現在処理中のイメージデータから抽出された文字領域のみを対象とする。ただし、アンカー記述自体が抽出された文字領域はメタデータ抽出処理の対象外とする。
ステップS413の処理内容は、ステップS410の処理とほぼ同等である。しかし、ステップS413の処理では処理対象のアンカー記述は、現在処理中のページから抽出されたものだけではなく過去に処理済みのページから抽出されたものを含み、抽出対象の文字領域は過去に処理済みのページではなく現在処理中のページである。なお、ステップS410が実行されずに、ステップS413でステップS410と同一の処理が実行されてもよい。この場合、ステップS413では、処理中ページから抽出されたアンカー記述に関しては、過去に処理済みのページと現在処理中のページからアンカー関連文字列が抽出される。そして、過去に処理済みのページから抽出されたアンカー記述に関しては、現在処理中のページのみからアンカー関連文字列が抽出される。
次に、ステップS414では、電子文書出力部307が、現在処理中のイメージデータが1ページ目であるか否かを判定する。ステップS414で、1ページ目であると判定された場合は、ステップS415に処理が進む。ステップS414で、1ページ目ではないと判定された場合はステップS416に処理が進む。
ステップS415では、電子文書出力部307が電子文書データ310のヘッダ部分にあたるデータを出力する。このヘッダと後述のフッタのデータの間に、1または複数の電子文書ページのデータをはさみこむことで、1または複数ページの電子文書データ310が定義される。図15に出力される電子文書データ310の例を示す。図15の記述1500は、ステップS415で生成されるヘッダ部分に相当する記述の例である。ステップS415では更に、MFP100が送信先例であるクライアントPC101などの外部送信先とのコネクションを確立し、出力されたデータを直ちにネットワーク104を通して送信先へと送信する。なお、かならずしもステップS415で、コネクションが確立される必要はなく、図4の処理開始前にあらかじめコネクションが確立されてもよい。
ステップS416では、現在処理中のイメージデータに対応する。1ページぶんの電子文書ページの記述を、電子文書データ310の一部として出力する。この電子文書ページの記述は、ステップS406またはステップS411で生成され、記憶部211に一時保存されている。以上の処理により、図15のヘッダの記述1500に続いて1ページ目のページ1101に対応する電子文書ページの記述1501が出力される。
次に、ステップS417では、記憶部211に一時保存されていた処理中のページの電子文書ページのデータが破棄される。
次に、ステップS418では、すべてのページに処理をおこなったか、すなわち現在処理中のイメージデータが最終のページであるか否かが判定される。ステップS418では、たとえば、スキャナの給紙部分に残りの紙が無いことが調べられてもよいし、あらかじめ指定されたページ数と処理済ページ数が比較して判定されてもよい。ステップS418ですべてのページが処理されていると判定された場合には、ステップS419に処理が進む。一方、ステップS418で未処理のページがあると判定された場合には、ステップS401に処理が戻る。ここで、例えば、ステップS418で未処理のページであるページ1102があると判定されて、ステップS401に処理が戻り、ページ1102に対する処理が行われる。なお、ステップS419〜S422の処理については、3ページ目のページ1103に対する処理として後述する。
次に、図11のページ1102が2ページ目として入力された場合に実際に処理される図4のステップを説明する。
ステップS401〜S404では、ページ1102に相当するイメージデータに対して、前述の説明と同様の処理がおこなわれた結果、図12の領域情報1202に相当する領域情報が記憶部211に格納される。
次に、ステップS405では、領域情報1202中にメタデータ抽出対象の「写真」の領域が存在すると判定されてステップS407に処理が進む。
次に、ステップS407〜S409では、「写真」の領域に付随する「キャプション」の領域の文字認識結果から、キャプション文字列「図2 レンズB」1122が抽出されてメタデータのエントリが生成される。さらにキャプション文字列からアンカー記述「図2」が選出され、図13(a)のエントリ1302に相当するメタデータのエントリが生成される。
次に、ステップS410では、ステップS409で選出されたアンカー記述「図2」に対するアンカー関連文字列抽出処理がおこなわれる。ステップS410の抽出対象は、過去に処理済みのページの文字認識結果、すなわち図12における1ページ目の領域情報1201内に付与された文字認識結果となる。しかし、その中にアンカー記述と一致する文字列はないのでメタデータへの追加は発生しない。
次に、ステップS411では、1ページ目と同様に、ページ閲覧用のデータと検索時描画の指示データからなる電子文書ページのデータが生成される。電子文書ページのデータの生成後は、記憶部211のイメージデータが破棄される。図15の記述1502は、図11のページ1102に対応する電子文書ページの記述の一例を示している。
次に、ステップS412では、図13(a)に示す2つのメタデータのエントリが存在し、いずれもアンカー記述付きであるためステップS413に処理が進む。
次に、ステップS413では、現在処理中のページ、すなわち2ページ目の領域情報1202にアンカー関連文字列の抽出対象領域が無いので、何も実行されずにステップS414に処理が進む。
次に、ステップS414では、処理中イメージデータが1ページ目ではないのでステップS416へと進む。
ステップS416〜S417では、ステップS411で生成され記憶部211に一時保存されていた記述1502が2ページ目の電子文書ページとして出力され、出力後に記述1502のデータは、破棄される。
次に、ステップS418では、未処理のページ1103があるためステップS401に処理が戻る。
次に、図11のページ1103が3ページ目として入力された場合に実際に処理される図4のステップを説明する。
ステップS401〜S404では、領域1131を含むページ1103に相当するイメージデータに対して、前述の説明と同様の処理がおこなわれた結果、図12の領域情報1203に相当する領域情報が記憶部211に格納される。
次に、ステップS405では、領域情報1203にメタデータ抽出対象となる表、線画、写真のオブジェクト領域が存在しないためステップS406に処理が進む。
ステップS406では、電子文書ページ生成部306が、処理中ページのイメージデータに対応する、1ページぶんの電子文書ページのデータを生成する。ステップS406で生成されるのは、ステップS411とは異なり、電子文書の閲覧時に該当ページを表示するためのデータのみを含む1ページ分のデータである。生成された1ページぶんの電子文書ページのデータは記憶部211に一時保存される。図15の記述1503に、図11のページ1103から生成される電子文書ページの記述の一例を示す。ステップS411と同様に、電子文書ページのデータ生成後に処理中ページのイメージデータが記憶部211から破棄されてもよい。
次に、ステップS412では、図13(a)に示す2つのメタデータエントリが存在し、いずれもアンカー記述付きであるためステップS413に処理が進む。
次に、ステップS413では、各エントリのアンカー記述に対して、現在処理中のページの文字領域を対象にして、アンカー関連文字列抽出部503の処理がおこなわれる。ここで、3ページ目の領域情報1203の「本文」の領域を抽出対象として抽出処理が行われる。図13(b)にステップS413処理後のメタデータのエントリの例を示す。エントリ1301のメタデータに対しては、アンカー記述「図1」と、領域情報1203の「本文」領域文字認識結果との間で比較処理がおこなわれる。そして、一致部分および周辺から「図1は新型カメラAである」という文字列が抽出され、エントリのメタデータ内容1311に追加されている。同様に、エントリ1302のメタデータに対しては、アンカー記述「図2」との文字認識結果の比較から「図2は新型カメラAに装着可能な望遠レンズである」という文字列が抽出されてメタデータ内容1312に追加されている。メタデータ内容1311、1312には、これらの文字列の抽出元となった領域を識別する情報「R6」が付与されている。
ステップS414では、処理中イメージデータが1ページ目ではないのでステップS416へ処理が進む。
次に、ステップS416〜S417では、ステップS411で生成され記憶部211に一時保存されていた記述1503が3ページ目の電子文書ページとして出力され、出力後に記述1503のデータは破棄される。
次に、ステップS418では、ページ1103は、最後のページなので、ステップS419へと処理が進む。
次に、ステップS419では、出力される電子文書ページのデータの終了を示す記述が出力される。電子文書ページのデータの-終了を示す記述の一例が、図15の記述1504である。
次に、ステップS420では、検索補足情報生成部305が検索時描画物のデータを生成する。この検索時描画物は、ユーザーが出力電子文書データ310に対するオブジェクト検索をおこなった際に、検索結果の妥当性を判定する為の検索補足情報として、検索結果と共に表示する目的で生成される。
ここで、検索補足情報の内容は、対象オブジェクト以外の本文の領域から抽出されたオブジェクトの説明文字列、および抽出元の本文のあるページと対象オブジェクトのあるページの相対関係に関する表現を併せたものとする。ここでオブジェクトの説明文字列とは、図5のアンカー関連文字列抽出部503が各オブジェクトのメタデータのエントリに追加した文字列のことを指す。またページの相対関係とは、対象オブジェクト領域が存在するページと、アンカー関連文字列の抽出元ページとの位置関係に関するものである。
さらにステップS420で生成される検索時描画物のデータは、電子文書データ310に追加されたときに、ステップS411で生成された電子文書ページ内の検索時描画物の描画内容が定義される参照先として機能するように、電子文書の記述として生成される。
図15の記述1505は、検索時描画物の参照先定義となる記述の例である。記述1505の記述1513は、電子文書ページの記述1502の検索時描画物の記述1511から、識別子″DrawM1″で特定される参照先定義である。ここで定義される描画内容は、(X1、Y1)を始点とする幅W1×高さH1の矩形を描画する記述と、「図1はカメラA(2ページ後)」という文字コードを描画する記述を含む。ここで、(X1、Y1)を始点とする幅W1×高さH1の矩形は、図11のページ1101の写真の領域1111の外接矩形に相当する。同様に記述1514は、2ページ目の電子文書ページの記述1503の検索時描画物の記述1512から識別子″DrawM2″で指定される参照先である。その描画内容は、(X4、Y4)を始点とする幅W4×高さH4の矩形の描画と、「図2は新型カメラAに装着可能な望遠レンズである(次ページ)」という文字コードの描画とを含む。ここで、(X4、Y4)を始点とする幅W4×高さH4の矩形は、図11のページ1102の写真の領域1121の外接矩形に相当する。
なお、図4のフローチャートでは、全ページ終了後に1回のみ検索用描画物参照先データ出力の処理をおこなっているが、複数回に分割して出力するように処理されてもよい。例えば、あるオブジェクトに対する説明文字列が後で処理される別ページで見つかった時点で、対応する検索用描画物参照先データの記述を個々に、処理中電子文書ページの記述に続けて出力するように処理されてもよい。
次に、ステップS421では、電子文書出力部307が、電子文書データ310に対するキーワード検索を可能にするためのメタデータを、電子文書の記述として出力する。図15の記述1506は、メタデータの記述の一例を示している。記述1506のメタデータの記述1515は、図1のページ1101の写真の領域1111のオブジェクトに対応するメタデータであり、「図1」と「図1はカメラA」の2つのキーワードを含む。電子文書データ310では、M1の識別子を持つメタデータの記述1515は、電子文書ページの記述1501の検索時描画指示の記述1511と関連付けられている。同様にメタデータの記述1516は、図1のページ1102中の写真の領域1121のオブジェクトに対応するメタデータである。なお、図15のメタデータ設定、すなわち検索用のキーワードの設定は一例であって、たとえば同一メタデータ記述内で同一の文字列を排除したり、または自然言語処理のよる品詞分解を用いて「カメラA」「望遠レンズ」などの名詞のみ選別して設定してもよい。
次に、ステップS422では、電子文書データ310を終端させるフッタに相当する記述が出力される。
なお、ステップS419〜S422で出力された電子文書データの記述は、出力される電子文書の一部としてただちに外部送信先へと送信される。ステップS422の処理終了後に、MFP100は送信先とのコネクションを切断し、送信処理は終了する。最終的に送信先には、図15の記述1500〜1506を順に結合した電子文書が送信される。以上により、入力された文書画像に対応する電子文書の生成が終了する。
以上が本実施形態のMFP100において紙文書を電子文書に変換し、クライアントPC101等の外部送信先へと送信する際の動作例の説明である。
なお、図15は、あくまで一例であって、SVG以外のXML 形式、たとえばXPSやOffice Open XML形式を用いて電子文書ページおよび電子文書が記述されてもよいし、参照方式としてはXPointerなど別の方式を用いられてもよい。また、電子文書ページおよび電子文書は、PDF形式で記述されてもよい。
次に、本実施形態のMFP100が送信した電子文書を受信したクライアントPC101にて、ユーザーが電子文書の内容を閲覧し、さらに電子文書に付与されるメタデータをキーワードとして内部のオブジェクトを検索する際の動作例について説明する。
図16は、本実施形態にてクライアントPC101で実行される電子文書のビューワーアプリの表示画面例である。このビューワーアプリは、ビューワーアプリに読み込まれた電子文書内にある指定された電子文書ページのデータをウィンドウシステムのようなGUI表示画面に表示することが可能である。このようなソフトウェアとしては、例えば、生成される電子文書のフォーマットがPDFである場合は、Adobe Reader(商標)などを用いることができる。
図16は、図15の電子文書例の1ページ目を表示した表示画面の例である。図16において、ページ表示領域1601には、図15の記述1501に基づいて描画されたページが表示されている。なお、図16の表示例では、記述1501の記述1510の部分の描画が行われているが、検索時描画物の記述1511の部分は、透明で描画されるためページ表示領域1601には表示されていない。図16のインタフェース1603は、キーワード検索のためのインタフェースである。
ここで、図16の表示画面の例において、図15の電子文書が読み込まれた状態で、ユーザーがキーワードを用いて内部オブジェクトの検索を試みる場合におこなわれる処理を、図17のフローチャートを用いて説明する。
ステップS1701では、ビューワーアプリのインタフェース1603がユーザーによる検索キーワードの入力を受け付けて、検索開始指示のボタン1604の押下げを受け付けることで検索処理が開始される。ここでは、一例として、ユーザーが「カメラ」というキーワードを入力して検索開始を指示したものとする。ここで、表示1602は、ページ表示領域1601に表示されているページの番号を表示する。
次に、ステップS1702では、ステップS1701で入力が受け付けられたキーワードと、電子文書内のメタデータが格納するメタデータ文字列とを比較し、入力が受け付けられたキーワードと同一文字列を含むメタデータが存在するか否かが判定される。ステップS1702でメタデータが存在しないと判定された場合は、ステップS1707に処理が進み、ユーザーに検索結果該当なしであることを、提示して処理が終了する。ここで、検索結果該当なしであることは、ビューワーアプリのウィンドウ内やダイアログなどにおいて提示されても良い。一方、ステップS1702でメタデータが存在すると判定された場合は、ステップS1703に処理が進む。
ステップS1702の処理では、例えば、図15の電子文書に対して、ビューワーアプリは、メタデータの記述1506に対して「カメラ」という文字列を含むメタデータ記述の有無が検索される。その結果、例えば、記述1506の2つのメタデータの記述1515、1516がいずれも「カメラ」という文字列を有していることが得られる。この場合、最初に出現したメタデータ記述1515に対してステップS1703以降の処理が行われる。後にユーザーが別の検索結果を得るためにステップS1702を再度実行する場合は、順次続くメタデータ、例えば、記述1516に対してステップS1703以降の処理が行われる.
次に、ステップS1703では、ビューワーアプリは、ステップS1702で特定されたメタデータに付与されているidを抽出し、同じ値がx:meta_id属性に記述されている検索時描画物の記述を電子文書中から探索する。そして、x:meta_id属性に記述されている検索時描画物を含む電子文書ページの記述を、ステップS1704以降の処理対象として特定される。ここで、例えば、図15の電子文書中から、メタデータに付与されたidである”M1”と同じx:meta_id属性値を持つ検索描画記述として、記述1511が探索される。その結果、1ページ目の電子文書ページの記述1501が以降の処理対象として特定される。
次に、ステップS1704では、検索結果をユーザーに提示するために、ステップS1703で特定された電子文書ページのデータに従って、ビューワーアプリがページ表示領域1601に電子文書ページを描画する。その内容は、閲覧時に、ページが描画される場合の内容と同じである。ここで、電子文書の1ページ目のデータとして記述1510内容がページ表示領域1601に描画される。
次に、ステップS1705では、ステップS1704でページ表示領域1601に描画されたページ内容に重ねるように、電子文書ページ内にある検索時描画物の内容が強調色を用いて描画される。図15の電子文書例の場合、電子文書ページの記述1501に含まれる検索時描画物の記述は、記述1511であるが、その描画内容は、電子文書内にある別要素への参照で記述されている。したがって、ビューワーアプリはこの参照定義物を含む記述1506の中から、記述1511が参照先として指定する″DrawM1″をid属性値に持つ記述1513を特定し、その内容が赤などの強調色で描画される。
元のページ内容において、検索対象となる写真には「図1」というキャプションしかないので、検索結果として写真の領域を強調する枠が表示されるのみでは、ユーザーは所望の検索結果かどうかを判定するのが難しい。しかし、電子文書の2ページ後に「図1」について説明する「図1はカメラA」という文章があるという検索補足情報が提示されていれば、ユーザーは、検索補足情報を見て妥当性を判定することができる。あるいはユーザーが実際にビューワーアプリで「図1を」説明文を見ようとする場合、対応箇所が2ページ先であることが明示されているため、説明文を探索する手間を省くことができる。
次に、ステップS1706では、ユーザーから、検索結果が所望なものであるか、あるいは次のオブジェクトを検索する必要があるかの入力が受け付けられる。ステップS1706で、ユーザーから次を検索する指示が受け付けられた場合は、ステップS1702に処理が戻る。ステップS1706で、ユーザーから次を検索する指示が受け付けられない場合は、処理が終了する。
図15の電子文書の場合は、ステップS1702に処理が戻った時点でキーワード「カメラ」を有する次のメタデータの記述1516が処理対象となり、そのidである″M2″の識別子を有する検索時描画物の記述1502が探索される。その結果、2ページ目の電子文書データの記述1502のページ内容および検索時描画物がビューワーアプリのページ表示部に描画される。なお、この検索時描画物の内容は、記述1512が有する識別子″DrawM2″で参照される記述1514に定義された内容である。
検索対象となる写真には「図2 レンズB」というキャプションがあるが、ユーザーが検索に用いたキーワードは「カメラ」であるため、写真部分を強調する枠表示のみでは、何故この写真が検索結果となっているのか判定できない可能性がある。しかしながら枠に付随する検索補足情報として、電子文書の次ページにある図2の説明が表示されていることで、ユーザーは検索結果の妥当性を判定することができる。また、ユーザーが説明文を探索する手間をかけずに閲覧することが可能となっている。
以上が、本実施形態のMFP100により紙文書を電子文書に変換してクライアントPC101に送信し、ユーザーがクライアントPC101上で受信した電子文書をビューワーアプリで閲覧、およびオブジェクトの検索処理をおこなう一連の動作の例の説明である。なお、上記の説明では、入力は紙文書であるとしたが、他のアプリケーションなどの電子文書データを元データとし、各ページをイメージデータに変換して入力した場合でも、同等の処理をおこなって電子文書を出力することができる。
以上説明したように、図4のデータ処理フローを用いて文書のイメージデータを電子文書に変換する場合、ステップS402〜S404の処理により、イメージ内の各領域が抽出され、属性や領域間の関係、領域内の文字情報が付与される。ステップS407〜S408の処理では、検索対象となるオブジェクト領域に対し、そのキャプション領域から検索の為のメタデータが抽出される。更にS410、S411の処理では、キャプション中でオブジェクトを特定するアンカー記述を用いて、ページ内の本文の領域を対象にオブジェクトを説明する文字列が抽出される。本処理はオブジェクトと異なるページに含まれる本文の領域も抽出対象となる。ステップS406、S411では、ページ閲覧用の電子文書ページのデータが生成される。特にS411が生成する電子文書ページには、検索対象オブジェクトが検索された時に特定および強調の意図でページ表示に重ねて描画する為のデータ記述も含まれる。なおこの記述部分は閲覧時には不可視となるように描画される、ステップS414以降では、生成された電子文書ページの記述データが、1つの電子文書を定義するように記述を補って電子文書の出力を行う。ここで、ステップS420は、ユーザー検索結果確認の助けとなるような情報を生成し、且つその情報の視覚的描画の記述がステップS411で生成された描画指示の内容定義として機能されるように出力する。またステップS421は、ユーザーがキーワード検索をおこなうためのメタデータと、各ページに存在するオブジェクトに対する検索時の描画指示、および指示内容が関連づけられるようにメタデータを出力する。
このように生成された電子文書に対し、ユーザーがPC上のビューワーアプリ等で検索をおこなった場合、オブジェクトの検索結果にその確認作業の助けとなる検索補足情報が付随して表示される。その結果、ユーザーが検索結果の妥当性を判定する為に、別のページにある説明文章を探索する等の手間を省くあるいは軽減する効果がある。
一方、MFPなどで複数ページからなる紙文書を順次スキャンし、電子文書データへと変換してネットワークを介しPCへと送信する送信機能において、スキャンされたページから変換された電子文書1ページぶんのデータは、数百Kbyte〜数Mbyteとなる。このため、メモリおよびHDDなどの記憶資源節約の観点から、生成された電子文書ページのデータは直ちに送信され、送信後は蓄積されずに破棄されることが望ましい。
このように記憶資源の制限がある場合、オブジェクトに付与するメタデータや検索補足情報を、別ページの本文から抽出しようとする処理に制限が生じる場合がある。たとえば、検索対象のオブジェクトを含む電子文書ページの記述に対し、後でスキャンされたページ中の本文から得られる検索補足のための情報の記述内容を含めようとした場合、以下のような問題がある。すなわち、この情報が得られるまでオブジェクトを含むページ記述生成が未完了のままデータを蓄積しておく必要が生ずる。その結果、オブジェクトを含むページから、機器が蓄積可能なページ数以上後方のページにあるメタデータに関する情報はオブジェクトに付与できない、という制限が発生する可能性があった。
このような課題に対し、本発明の実施形態1の処理として説明した図4のフローチャートに従えば、ステップ411では、電子文書ページ記述部が検索時描画物の内容を別記述箇所への参照として電子文書ページ記述を終端させている。そして、ページ処理サイクル内にあるステップS416で電子文書ページのデータの出力を完了し、かつ直後ステップS417で送信後の電子文書ページ記述データを破棄している。一方、各ページ処理のサイクル外となるステップS420で、オブジェクトが存在するページよりも後のページから抽出された情報を含めて検索補足情報を生成している。そしてこの検索補足情報を含む描画物の記述を、参照先となる検索時描画物の内容定義となるように電子文書に追加している。
その結果、複数ページからなる電子文書生成過程において、オブジェクトが存在する電子文書ページに、それよりも後のページから抽出した検索補足情報を含む検索時描画物を含める為に、ページ処理間にまたがって電子文書データを蓄積しておく必要がなくなる。したがって、特に電子文書ページが画像のデータなどを含んでサイズが大きくなるケースにおいて、電子文書生成処理に必要な記憶資源を大きく削減する効果がある。
(実施形態2)
本発明の実施形態1において、図3の検索補足情報生成部305が生成する情報は、電子文書内でメタデータの一部として格納されてもよい。
本発明の実施形態2のシステム、画像処理装置、および画像処理装置内部のデータ処理部は、本発明の実施形態1における図1、図2、図3の装置と同様なので説明を省略する。
本発明の実施形態2において、MFP100を用いて紙文書を電子文書に変換してクライアントPC101へと送信する際の動作例を図18のフローチャートを用いて説明する。また、図19は、図11のページ1101〜ページ1103を入力した際に、本発明の実施形態2で生成される電子文書の記述例を示している。図19の電子文書の記述は、記述1900〜1906、1911〜1914を含む。
図18におけるステップS401〜S410の処理内容は、それぞれ本発明の実施形態1の説明における図4の各対応ステップで説明した内容と等しいので説明は省略する。
ステップS1811では、図4のステップS411の説明と同様に電子文書ページ生成部304が検索時描画物を含む電子文書ページの記述を生成する。しかし、ステップS411とは異なり、検索時描画物の内容は参照記述ではなく、検索対象場所を特定する枠を描画する記述が直接記述される。図19の電子文書において、1ページ目の電子文書ページの記述1901に含まれる検索時描画物の記述1911は、閲覧時には不可視ではあるが、ビューワーアプリでの検索時に、対象である写真の領域1111を強調する枠を描画する際に用いられる。同様に、記述1902に含まれる記述1912は、2ページ目の写真の領域1121を強調描画するための枠の記述である。また、図19の電子文書は、ヘッダ部分に相当する記述1900を含む。
図18のステップS412〜S419は、本発明の実施形態1のステップS412〜S419と同様なので説明は省略する。
ステップS1820では、検索補足情報生成部305が、ユーザーが出力電子文書データ310に対するオブジェクト検索をおこなった際に、検索結果の妥当性を判定する為の検索補足情報を生成する。検索補足情報の内容は、図4のステップS420で生成する情報と同様に、対象オブジェクト以外の本文の領域から抽出されたオブジェクトの説明文字列、および抽出元の本文のあるページと対象オブジェクトのあるページの相対関係に関する表現を併せたものとする。
ステップS1821では、電子文書出力部307が、電子文書データ310に対するキーワード検索を可能にするためのメタデータに、ステップS1820で生成された検索補足情報を含めた記述を出力する。図19の記述1905は、ステップS1821で出力されるメタデータの記述の一例を示している。記述1913は、識別子M1のメタデータであり、キーワード「図1」と「カメラA」を有す。本実施形態では、このキーワードは、メタデータ抽出部が自然言語処理を用いて助詞等を除いた結果の文字列が設定されている。<x:supp_info>要素には、本メタデータが対応するオブジェクトの検索補足情報として「図1は新型カメラAである(2ページ目の本文に掲載)」という文字列が格納されている。同様に、記述1914は、識別子M2 のメタデータであり、「図2」「カメラA」「装着可能」「望遠レンズ」の4つのキーワードと「図2は新型カメラAに装着可能な望遠レンズである(次ページの本文に記載)」という検索補足情報の文字列が格納されている。
図18のステップ422は、本発明の実施形態1と同様に電子文書のフッタ記述を出力して、本発明の実施形態2の電子文書出力処理は終了する。
なお、本説明で用いた図19の記述例はあくまで一例であって、SVG以外のXML形式、たとえばXPSやOffice Open XML形式などを用いて記述されてもよい。
次に、本実施形態のMFP100が送信した電子文書を受信したクライアントPC101にて、ユーザーがビューワーアプリ等でその内容を閲覧、および内部のオブジェクトを検索する際の動作例について説明する。
図20は、本発明の実施形態2における電子文書ビューワーアプリの表示例である。図20は、図19の電子文書の読み込んだ状態で、ユーザーがキーワード「カメラ」を、インタフェース2002に入力して、ボタン2003を押下げて、検索を行い、1つ目の検索結果が表示されている状態を示している。ここで、表示2006は、ページ表示領域2001に表示されているページの番号を表示する。図20のページ表示領域2001は、キーワード「カメラ」を含むひとつ目のメタデータに対応する写真オブジェクトを含む、1ページ目の電子文書ページの記述1901の描画結果である。ページ表示領域2001は、記述1911にしたがい対象オブジェクトの枠2006が強調色で表示されている。ウィンドウ2004は、本発明の実施形態2におけるビューワーアプリの検索補足情報表示ウィンドウであり、ひとつ目のメタデータ1913に含まれる検索補足情報の文字列を表示する。ユーザーは、ウィンドウ2004の内容を見ることで、検索結果の妥当性を判定したり、その説明文があるページを選択して閲覧することが可能となる。
以上説明したように、本発明の実施形態2を用いて生成された電子文書に対し、ユーザーがPC上のビューワーアプリ等で検索をおこなった場合、オブジェクトの検索結果にその確認作業を補足する為の検索補足情報がビューワーアプリ内に表示される。これにより、ユーザーが検索結果の妥当性を判定する為に、別のページにある説明文章を探索する等の手間を省くあるいは軽減することができる。すなわち、本発明によれば、電子文書に対する検索の検索結果の妥当性が容易に判定可能となる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。