以下、本発明に関する好ましい実施形態について、図面を参照しつつ詳細に説明する。なお、以下に説明する実施形態において互いに共通する部材や構成要素には同一符号を付しており、それらについて重複する説明は省略する。
(第1実施形態)
図1は、本実施形態におけるワークフロー推定システム1の一構成例を示す図である。ワークフロー推定システム1は、複数の画像処理装置2と、これら画像処理装置2と通信可能な解析サーバー4とが設けられる。画像処理装置2と解析サーバー4とは、インターネットを介して接続されてもよいし、社内LAN(Local Area Network)などのローカルネットワークにより接続されていてもよい。尚、図1では、複数の画像処理装置2として、3台の画像処理装置2a,2b,2cが設けられる場合を例示しているが、画像処理装置2の台数はこれに限られるものではない。
画像処理装置2は、例えばプリント機能やコピー機能、スキャン機能を備えるMFP(Multi Functional Peripherals)であってもよいし、プリントのみ行うことが可能なプリンター、スキャンのみ可能なスキャナであってもよい。解析サーバー4は、画像処理装置2から受信するジョブログ情報などのデータを蓄積可能なサーバーであり、例えばハードディスクドライブ(HDD)のような記憶部52を備える。
ワークフロー推定システム1は、文書の取得履歴や文書への編集履歴を抽出可能なシステムである。より具体的に説明すると、ワークフロー推定システム1は、複数の画像処理装置2のそれぞれで印刷ジョブやスキャンジョブなどのジョブが実行されると、そのジョブの実行履歴に関する履歴情報が各画像処理装置2から解析サーバー4へ送信され、各画像処理装置2で実行されたジョブの履歴が解析サーバー4において管理される。そして解析サーバー4は、各画像処理装置2で実行されたジョブの履歴に基づき、一の文書に対する編集履歴を抽出することができるように構成される。例えば、一の画像処理装置2で印刷出力された文書が複数のユーザー間を流通する場合において、各ユーザーによって文書に対する編集(追記や修正、削除など)が行われた後、その編集後の文書が複数の画像処理装置2のいずれかでスキャン機能によって読み取られると、解析サーバー4には、最初の印刷出力時の履歴情報と、その後のスキャン時の履歴情報とが送信される。そのため解析サーバー4は、それらの履歴情報に基づいて一の文書に対する編集履歴を抽出する。
本実施形態において文書とは、文字その他の可読的な記号、或いは図画を紙その他の媒体に表示したものをいう。また、このような文書には、例えば稟議書や回覧文書のように複数のユーザーの間を移転することが予定される文書も含まれる。
ここで、一例として、図1を参照しつつ、ユーザーAが文書を印刷出力した後、その文書をユーザーAからユーザーBに渡し、その後更にユーザーBが文書をユーザーCに渡す場合のワークフローについて説明する。図1の例では、ユーザーAにより画像処理装置2に接続可能なパーソナルコンピュータ(PC)などの情報処理装置100から画像処理装置2aに対してプリントジョブが送信され、プリントジョブを受信した画像処理装置2aが当該ジョブを実行することによって文書P1が印刷される。ユーザーAは、印刷された文書P1をユーザーBに移転すると、ユーザーBは文書P1に押印などの編集作業を行う。ユーザーBは、編集作業によって文書P1に変更部分St1を付加した文書P2を画像処理装置2bにてコピーを行う。そして、ユーザーBはユーザーCに文書P2を移転すると、ユーザーCは文書P2に対して押印などの編集作業を行い、変更部分St2を付加する。ユーザーCは、文書P2に変更部分St2を付加した文書P3を画像処理装置2cにおいてスキャンを行う。ワークフロー推定システム1では、文書の取得者によって画像処理装置2を使用したジョブが実行された場合に、画像処理装置2がその文書に関する取得履歴や編集履歴などの履歴情報を取得する。そして画像処理装置2は、その取得した履歴情報を解析サーバー4に送信する。これにより、複数の画像処理装置2のいずれでジョブが実行された場合でも、そのジョブの実行履歴が解析サーバー4において管理される。
次に、上記のようなワークフローが行われる場合において各装置間を流れるデータについて説明する。ユーザーAが情報処理装置100を操作して画像処理装置2aに印刷指示を行うと、情報処理装置100は、印刷対象となる文書データを含むプリントジョブを生成し、そのプリントジョブを画像処理装置2aに送信する(D1)。本実施形態において画像処理装置2aは、ユーザーAがジョブを送信する際に、ユーザー認証を行う。これにより、画像処理装置2aは、ユーザーAによりジョブが送信されたことを認識する。これとは異なり、ユーザー認証を行うことなく、画像処理装置2aはユーザーAにより送信されたジョブ(D1)を実行してもよい。画像処理装置2aは、ジョブを受信すると、受信したジョブを実行する。画像処理装置2aは、ジョブを実行した場合に、ジョブ実行日時やジョブの内容を含むジョブログ情報Jl1(Jl)を取得する。
図2は、ジョブログ情報Jlの構成の一例を示す概念図である。本実施形態においてジョブログ情報Jlは、画像処理装置2において実行されたジョブに関する情報であり、例えば、ジョブの実行日時に関する情報や、ジョブが実行された画像処理装置2に関する装置情報、ジョブを実行させたユーザーに関するユーザー情報などを含む。画像処理装置2aが取得したジョブログ情報Jl1(Jl)は、ジョブが実行された日時を示す実行日時情報Jl1a(Jla)と、ジョブが実行された画像処理装置2を示す装置情報Jl1b(Jlb)と、ジョブの実行を指示したユーザーを示すログインユーザー情報Jl1c(Jlc)と、ジョブの内容を示すジョブ内容情報Jl1d(Jld)を備える構成である。実行日時情報Jl1aと装置情報Jl1bによると、ジョブがいつ、どの画像処理装置2により実行されたかが分かる。そして、図1の例のように、ユーザーが取得した文書に関して画像処理装置2を用いてコピーやスキャンなどの画像処理を行う場合、実行日時情報Jl1aと装置情報Jl1bによって、文書が実行日時情報Jl1aに示される日時において、どの画像処理装置2でスキャンなどのジョブが実行されたかを特定することができる。これに加えて、ログインユーザー情報Jl1c(Jlc)によると、誰が文書を取得しているかが分かる。さらに、画像処理装置2で実行されたジョブの内容を示すジョブ内容情報Jl1d(Jld)により、画像処理装置2においてどのような内容の画像処理が行われたかが分かる。
図1に戻り、画像処理装置2aは、ジョブログ情報Jl1と共に文書画像データDG1(DG)も取得している。例えば印刷ジョブの場合には、情報処理装置100から受信する印刷ジョブに印刷対象となる文書の画像データが含まれるため、その画像データが文書画像データDG1となる。またスキャンジョブの場合には、スキャン機能により文書を読み取って生成した画像データが文書画像データDG1となる。画像処理装置2aは、ジョブの実行に伴って生成するジョブログ情報Jl1と、その文書画像データDG1とを相互に関連付けて記憶部12に記憶させる。また画像処理装置2aは、ジョブ実行に伴って取得した文書画像データDG1から文書を特徴づける特徴データSD1(SD)を抽出する(D5)。本実施形態において特徴データSDとは、文書画像データDGに対応する文書を特徴付ける情報であり、一の文書を他の文書と区別して認識することが可能な情報である。例えば特徴データSDは、文書画像データDGにおけるレイアウトなどの形式的情報から抽出される情報や文書画像データDG内に含まれる文字列など、文書の内容に関連する内容的情報から抽出される情報を含む。そして画像処理装置2aは、文書画像データDG1を解析することにより、文書画像データDG1から特徴データSD1を抽出する。そして画像処理装置2aは、抽出された特徴データSD1とジョブログ情報Jl1とを、解析サーバー4に対して送信する(D7)。これにより、解析サーバー4は、各画像処理装置2においてジョブが実行されることによるジョブログ情報Jlを一括して管理可能となる。また、画像処理装置2は、解析サーバー4に対して文書画像データを送信するのではなく、文書画像データDG1から抽出した特徴データSD1を送信することにより、解析サーバー4に通信負荷をかけることを防止でき、また、解析サーバー4の記憶部52の記憶領域が圧迫されることを防止できる。
図3は、文書画像データDG1(DG)の一例を示す図である。文書画像データDG1(DG)は、文書が複数のユーザーの間を移転する場合に編集が行われる編集部DG1a(DGa)と、表題部DG1b(DGb)と、文書の内容を記載する内容部DG1c(dGc)と、文書の作成日や文書番号、文書作成者の所属や氏名など文書の形式的事項を示す書誌部DG1d(DGd)などのコンテンツを備える。画像処理装置2aは、文書画像データDG1を取得すると、上述したように文書画像データDG1に基づき文書P1を特徴付ける特徴データSD1(SD)を抽出する(D5)。特徴データSD1の抽出方法の一例として、画像処理装置2aは、文書画像データDG1(DG)に含まれる各コンテンツのレイアウトを抽出する。画像処理装置2aは、文書画像データDG1(DG)内の画像成分を抽出して、画像成分が存在する領域と画像成分が存在しない余白領域とを識別する。次に、画像成分が存在する領域内をさらに解析することにより、行数や一行に表示される文字数、さらに文字のポイントを抽出する。そして、例えば文字のポイントに基づいてタイトル表示領域であると推認したり、或いは行数や一行に表示される文字数に基づいて内容表示領域と推認することにより、これら各領域のレイアウトを抽出する。また、例えば画像処理装置2aが記憶部12に文書の様式データ(図示せず)を予め記憶する場合に、画像処理装置2aは、当該様式データに基づいて、文書画像データDG1内からタイトル表示領域や内容表示領域、書誌表示領域などのレイアウトを抽出する。最後に、画像処理装置2aは、これらの処理により抽出した余白領域や行数、一行に表示される文字数、文字のポイントなどの情報や、タイトル表示領域や内容表示領域、或いは書誌表示領域などのレイアウトを、特徴データSD1として抽出する。
また画像処理装置2aは、文書画像データDG1に対してOCR(Optical Characterizing Recognition)を行うことにより文字列を抽出し、抽出された文字列に基づいてキーワードを生成してもよい。キーワードの検出方法として、例えば画像処理装置2aの記憶部12に文字を識別するための辞書情報を備える場合や、或いは抽出されたレイアウトに基づいて、文書画像データDG1の所定の領域内の文字列からキーワードを抽出してもよい。画像処理装置2aは、抽出されたキーワードを特徴データSD1に含める。なお、後者の場合、例えば書誌部DG1dにおいて文書番号や日付、或いは人名や部署名などに基づきキーワードを生成し、特徴データSD1として抽出してもよい。さらにこれとは異なり、文書画像データDG1の所定の領域内の文字列を特徴データSD1として抽出してもよい。
特徴データSD1とジョブログ情報Jl1が画像処理装置2aから解析サーバー4に送信され(D7)、解析サーバー4が特徴データSD1とジョブログ情報Jl1を受信すると、解析サーバー4は、特徴データSD1とジョブログ情報Jl1とを関連付けて管理する。一例として、解析サーバー4は、特徴データSD1とジョブログ情報Jl1を対応付けた管理情報MIを生成し、記憶部52に格納する。図4は、管理情報MIの構成の一例を示す概念図である。管理情報MIは、ジョブの実行日時に関する実行日時情報MIaと、ジョブが実行された装置に関する装置情報MIbと、画像処理装置2を操作してジョブを実行させたユーザーに関するログインユーザー情報MIcと、画像処理装置2により実行されたジョブの内容に関するジョブ内容情報MIdと、文書画像データDGのレイアウトに関するレイアウト情報MIeと、文書画像データDGから抽出された文字列に基づき生成されたキーワードに関するキーワード情報MIfを備える構成である。管理情報MIのうち、実行日時情報MIaと、装置情報MIbと、ログインユーザー情報MIcと、ジョブ内容情報MIdは、ジョブログ情報Jlに対応する。管理情報MIのうち、レイアウト情報MIeと、キーワード情報MIfとは、特徴データSDに対応する。
図例では、レイアウト情報MIeは、文書画像データDG内において表題が表示される領域の位置を示すタイトル表示領域情報や、文書画像データDG内における文書の内容を示す内容部DGc(図3参照)が表示される領域の位置を示す内容記載領域情報や、文書画像データDGにおける一行に表示される文字数情報や、文書画像データDGにおける行数情報などを含む。レイアウト情報MIeに含まれるタイトル表示領域情報や内容記載領域情報は、例えば画像処理装置2が記憶部12に予め文書の様式データを記憶している場合に、この様式データに基づいて文書画像データDGから抽出される。キーワード情報MIfは、文書画像データDGから抽出された文字列に基づいて生成されたキーワードを含む。例えば、文書画像データDGから抽出された文字列から生成する。また、文書画像データDG内の例えば書誌部DGd(図3参照)など所定の領域に含まれる文字列からキーワードを生成してもよい。
図1に戻り、文書P1がユーザーBに移転して、文書P1を取得したユーザーBが文書P1に変更部分St1を加えると、文書P1の同一性が喪失される。その結果、文書P1とは別の文書である文書P2が生成される。ユーザーBの操作に基づき画像処理装置2bにて文書P2のコピーが実行されると(D10)、画像処理装置2bは文書P2に対応する文書画像データDG2を取得すると共に、コピーに対応するジョブログ情報Jl2を取得する。画像処理装置2bは、文書画像データDG2から特徴データSD2を抽出して(D12)、抽出された特徴データSD2をジョブログ情報Jl2と共に解析サーバー4に送信する(D14)。画像処理装置2bにより送信された特徴データSD2とジョブログ情報Jl2を取得すると、解析サーバー4は、これらを関連付けて記憶部52に格納し、記憶部52の管理情報MIを更新する。
文書P2がユーザーBからユーザーCに移転し、文書P2を取得したユーザーCがさらに文書P2に変更部分St2を加えると、文書P2の同一性が喪失される。その結果、文書P2とは別の文書である文書P3が生成される。ユーザーCの操作に基づいて画像処理装置2cにおいて文書P3のスキャンが行われると(D16)、画像処理装置2cは、文書P3に対応する文書画像データDG3を生成する。画像処理装置2cは、生成された文書画像データDG3を記憶部12に格納すると共に、実行されたスキャンジョブに関するジョブログ情報Jl3を取得し、記憶部12において文書画像データDG3と関連付けて記憶する。画像処理装置2cは、生成された文書画像データDG3から特徴データSD3を抽出して(D18)、抽出された特徴データSD3をジョブログ情報Jl3と共に解析サーバー4に送信する(D20)。画像処理装置2cにより送信された特徴データSD2とジョブログ情報Jl2を取得すると、解析サーバー4は、これらを関連付けて記憶部52に格納し、記憶部52の管理情報MIを更新する。
画像処理装置2a、2b、2cにおいてジョブが実行されると、各画像処理装置において取得された文書画像データDG1、DG2、DG3から文書を特徴づける特徴データSD1、SD2、SD3がそれぞれ抽出され、抽出された特徴データSD1、SD2、SD3がジョブの実行日時等を含むジョブログ情報Jl1、Jl2、Jl3と共に解析サーバー4に送信される。すなわち、画像処理装置2a、2b、2cから、文書画像データDGではなく文書画像データDGよりも一般的にデータ量が小さい特徴データSDが送信される。そのため、文書画像データDGが送信される場合に比べて解析サーバー4の通信負荷を軽減でき、また、解析サーバー4の記憶領域を圧迫することを防止できるのである。
次に、解析サーバー4が外部デバイスから文書の履歴要求を受け付けた場合について説明する。ユーザーDにより操作される携帯端末101から画像処理装置2cへアクセスされた場合、画像処理装置2cの記憶部12に記憶されている文書画像データDG3が携帯端末101にダウンロードされることがある(D30)。そしてユーザーDは、ダウンロードした文書画像データDG3に基づいて解析サーバー4に履歴要求を行う(D32)。すなわち、ユーザーDは、文書画像データDG3を解析サーバー4に送信し、文書画像データDG3に対応する文書P3について取得履歴や編集履歴を含む履歴を要求する。ただし、これに限らず、例えば文書に関するジョブを実行した画像処理装置2が、当該ジョブ実行に伴って抽出した文書画像データDGの特徴データSDを解析サーバー4に送信して、文書の履歴要求を行うことも可能である。
図5は、解析サーバー4が履歴要求を受け付けた場合の処理の一例を示す全体図である。携帯端末101は、履歴要求の対象である対象文書に対応する対象画像データTDを保持している。対象画像データTDは、上述したように携帯端末101が例えば画像処理装置2にアクセスして、画像処理装置2に記憶される文書画像データDGをダウンロードすることにより取得される。携帯端末101から対象画像データTDと共に履歴要求が解析サーバー4に対して送信され(D32)、解析サーバー4が履歴要求を受け付けると、解析サーバー4は、対象画像データTDから対象文書を特徴づける対象特徴データSPを抽出する(D34)。対象特徴データSPは、画像処理装置2において文書画像データDGから特徴データSDを抽出する場合と同じアルゴリズムにより抽出される。
図6は、対象特徴データSPの構成の一例を示す概念図である。対象特徴データSPは、対象画像データTDのレイアウトから抽出されたレイアウト情報SPaと、対象画像データTDから抽出された文字列に基づいて生成されたキーワード情報SPbとを備える。レイアウト情報SPaは、対象画像データTDのレイアウトから抽出可能な情報、例えば、文書のタイトルが表示されるタイトル表示領域情報や、文書の内容が記載される内容記載領域情報や、一行に含まれる文字数情報や行数情報などを含む。キーワード情報SPbは、対象画像データTDに対するOCR処理などにより抽出された文字列から、所定の文字列を抽出することにより生成されたキーワードを含む。なお、キーワード情報SPbは、対象画像データTD内の所定の領域に含まれる文字列から生成してもよい。
図5に戻り、解析サーバー4は、対象特徴データSPを抽出すると(D34)、記憶部52に記憶されている管理情報MIを読み出し、対象特徴データSPと特徴データSDとを対比し、対象特徴データSPと同一の特徴データSDに関連付けられるジョブログ情報Jlを抽出する(D36)。なお、特徴データSDのレイアウト情報MIeにおいて(図4参照)、タイトル表示領域や内容記載領域などの位置情報と、対象特徴データSPのレイアウト情報SPaにおけるタイトル表示領域や内容記載領域などの位置情報(図6参照)とは、完全に一致することは通常少ない。すなわち、画像処理装置2においてスキャンやコピー実行時の紙送りの際に、各ローラーの回転速度の微差によって紙が斜行して搬送され、傾斜した状態で読み取られるということが生じる。そうすると、スキャンやコピーなどそれぞれのジョブ実行により生成される文書画像データDGに含まれるコンテンツの位置は、完全に一致することは少ないと言える。そこで、解析サーバー4は、対象特徴データSPに含まれるタイトル表示領域や内容記載領域などの位置情報と、特徴データSDに含まれるタイトル表示領域や内容記載領域などの位置情報との対比において、両者がいずれも所定の領域内に存在する場合には、両者が同一の位置に存在するものとみなす。これにより、ジョブ実行の際に各コンテンツの表示位置に僅かな差が生じた場合であっても、解析サーバー4は対象特徴データSPと特徴データSDとが同一であると判定できる。そして解析サーバー4は、当該特徴データSDと関連付けられるジョブログ情報Jlを的確に抽出できるのである。
また、解析サーバー4は、対象特徴データSPと近似する特徴データSDに関連付けられるジョブログ情報Jlも抽出する(D36)。すなわち、対象特徴データSP(図6参照)と特徴データSD(図4参照)とが完全に同一でない場合であっても、例えば両者において所定数以上の一致がある場合には、解析サーバー4は両者が近似すると判定する。例えば解析サーバー4が対象特徴データSPを抽出する際に、対象画像データTD内の押印に対応する領域からキーワードを抽出した場合、押印に含まれる文字(図7のキーワードに含まれる文字「山下」)がキーワードとして抽出されることがある。一方、例えば画像処理装置2において文書に関するジョブが実行された後に当該文書に押印がなされた場合には、押印に含まれる文字は特徴データSDとして抽出されない。図例では、対象特徴データSPのキーワード情報SPbにおける押印から抽出されたキーワードは、管理情報MIのキーワード情報MIfに含まれていないことから、対象特徴データSPと完全に同一の特徴データSDを含む管理情報MIは存在しないということになる。しかし、対象特徴データSPと特徴データSDのそれぞれに含まれる情報のうち、所定数以上の情報が一致する場合には、特徴データSDは履歴要求の対象文書の履歴に対応する文書の特徴データSDである蓋然性が高いことから、解析サーバー4は、近似する特徴データSDについても抽出する。
ジョブログ情報Jlを抽出すると、解析サーバー4は、ジョブログ情報Jlに含まれる装置情報Jlb(図2参照)に基づいてジョブが実行された画像処理装置2を特定する。そして、解析サーバー4は、抽出されたジョブログ情報Jlのジョブ実行日時情報Jlaを参照して、時系列に基づいてジョブが実行された各画像処理装置2に対する指示を生成する。すなわち、本実施形態におけるワークフロー推定システム1は、画像処理装置2により記憶されている文書画像データDG同士の差分を画像処理装置2において検出させることにより、文書に対する編集履歴を特定する。図例では、画像処理装置2a、2b、2cの順にジョブが実行されている。そこで、解析サーバー4は、画像処理装置2aに対して抽出されたジョブログ情報Jlのうち、ジョブログ情報Jl1を送信し、画像処理装置2aが記憶している文書画像データDG1のうち、ジョブログ情報Jl1に対応する文書画像データDG1を画像処理装置2bに送信するよう指示を生成する。そして、解析サーバー4は、生成された指示をジョブログ情報Jl1と共に画像処理装置2aに送信する(D38)。次に、解析サーバー4は、画像処理装置2bに対して、画像処理装置2aから受信する文書画像データDGと、画像処理装置2bが記憶している文書画像データDG2のうちジョブログ情報Jl2に対応する文書画像データDG2とを対比して、差分を検出するよう指示を生成する。また、ジョブログ情報Jl2に対応する文書画像データDG2を画像処理装置2cに対して送信する指示も合わせて生成し、これらの指示をジョブログ情報Jl2と共に画像処理装置2bに送信する(D40)。解析サーバー4は、最後にジョブを実行した画像処理装置2cに対して、画像処理装置2bから受信する文書画像データDG2と、画像処理装置2cが記憶している文書画像データDG3のうちジョブログ情報Jl3に対応する文書画像データDG3とを対比して、差分を検出するよう指示を生成する。
解析サーバー4からの指示を受信すると、画像処理装置2aは、当該指示と共に受信したジョブログ情報Jl1を参照して、記憶部12に記憶している文書画像データDG1のうち当該ジョブログ情報Jl1に対応する文書画像データDG1を抽出する。そして、画像処理装置2aは、抽出された文書画像データDG1を画像処理装置2bに送信する(D46)。画像処理装置2bは、解析サーバー4からの指示を受信すると、当該指示と共に受信したジョブログ情報Jl2を参照して、記憶部12に記憶している文書画像データDG2のうち、受信したジョブログ情報Jl2と対応する文書画像データDG2を抽出する。そして、画像処理装置2aから文書画像データDG1を受信すると、画像処理装置2bは、受信した文書画像データDG1と抽出された文書画像データDG2との差分を検出する(D48)。画像処理装置2bは、差分検出結果を解析サーバー4に対して送信する(D50)。また、画像処理装置2bは、解析サーバー4から受信した指示に応じて抽出された文書画像データDG2を画像処理装置2cに対して送信する(D52)。最後に、画像処理装置2cは、解析サーバー4から指示を受信すると、指示と共に受信したジョブログ情報Jl3を参照して、記憶部12に記憶されている文書画像データDG3のうち、解析サーバー4から受信したジョブログ情報Jl3に対応する文書画像データDG3を抽出する。そして、画像処理装置2bから文書画像データDG2を受信すると、画像処理装置2cは、受信した文書画像データDG2と抽出された文書画像データDG3との差分を検出する(D54)。画像処理装置2cは、差分検出結果を解析サーバー4に対して送信する(D56)。
解析サーバー4は、画像処理装置2b及び2cから差分検出結果を受信すると、抽出したジョブログ情報Jlと受信した差分検出結果に基づいて、履歴要求に対する回答RPを生成する(D58)。図7は、回答RPの構成の一例を示す概念図である。回答RPは、履歴要求の対象文書に関してジョブが実行された順序に関する順序情報RPaと、対象文書に関するジョブが実行された日時に関する実行日時情報RPbと、対象文書に関するジョブが実行された画像処理装置2に関する装置情報RPcと、対象文書に関するジョブを実行させたユーザーに関するログインユーザー情報RPdと、実行されたジョブの内容に関するジョブ内容情報RPeと、対象文書に対して行われた編集部分に関する編集情報RPfとを備える。回答RPを構成する情報のうち、順序情報RPaと、実行日時情報RPbと、装置情報RPcと、ログインユーザー情報RPdと、ジョブ内容情報RPeは、いずれも解析サーバー4が記憶部52から抽出したジョブログ情報Jlに基づいて生成される。順序情報RPaと、実行日時情報RPbと、装置情報RPcと、ログインユーザー情報RPdと、ジョブ内容情報RPeによると、対象文書がいつの時点で、誰に所持されており、どのように移転したのか推定可能である。図例では、対象文書は、2015年1月1日に、ユーザーAにより画像処理装置2aにおいてプリントされ、2015年1月15日にユーザーBにより画像処理装置2bにおいてコピーされ、2015年1月12日にユーザーCにより画像処理装置2cにおいてスキャンされたことが示される。そうすると、対象文書は、2015年1月1日にプリントされたことによりまずユーザーAに所持されており、2015年1月5日に画像処理装置2bにおいてコピーが実行されるまでに、ユーザーAからユーザーBに移転され、ユーザーBにより所持されていたことが推定可能である。そして、2015年1月5日に画像処理装置2bにおいてコピーが実行されてから2015年1月12日に画像処理装置2cにおいてスキャンが実行されるまでに、対象文書はユーザーBからユーザーCに移転され、ユーザーCにより所持されていたことが推定可能である。
回答RPのうち、編集情報RPfは、画像処理装置2b及び2cから受信した差分検出結果に基づき生成される。図1に示したように、文書P1と文書P2とを比較すると、文書P2には、文書P1にない変更部分St1が存在するという差異がある。そうすると、文書P1に対応する文書画像データDG1と文書P2に対応する文書画像データDG2とを対比すると、変更部分St1に対応する部分が差分として検出される。解析サーバー4は、画像処理装置2bから受信した文書画像データDG1と文書画像データDG2との差分検出結果を参照し、画像処理装置2bにおいてコピーが行われた対象文書には、画像処理装置2aにおいてプリントされたときの対象文書と比べて、変更部分St1が追加されていたとして、画像処理装置2bに関する編集情報RPfに変更部分St1を盛り込む。
また、図1において、文書P2と文書P3とを比較すると、文書P3には、文書P2にはない変更部分St2が存在するという差異がある。そうすると、文書P2に対応する文書画像データDG2と、文書P3に対応する文書画像データDG3とを対比すると、変更部分St2に対応する部分が差分として検出される。そして、解析サーバー4は、画像処理装置2cから受信した文書画像データDG2と文書画像データDG3との差分検出結果を参照し、画像処理装置2cにおいてスキャンが行われた対象画像には、画像処理装置2bにおいてコピーされたときの対象文書と比べて、変更文書St2が追加されていたとして、画像処理装置2cに関する編集情報RPfに変更部分St1を盛り込む。回答RPの構成の1つに編集情報RPfが備えられることにより、対象文書に対して、いつ、誰によって、どのような編集が行われたのか推定可能となる。最後に、解析サーバー4は、生成された回答を、携帯端末101に対して送信する(D60)。
なお、図例では、携帯端末101が対象画像データTDを解析サーバー4に送信すると共に履歴要求を行う場合を示したが、これとは異なり、例えば画像処理装置2が、自機にて記憶している特徴データSDを解析サーバー4に送信すると共に履歴要求を行ってもよい。例えば、ユーザーAが、文書P1に対する履歴を調査する目的で、画像処理装置2aに文書P1の特徴データSD1が記憶されている場合に、画像処理装置2aを操作して解析サーバー4に対して特徴データSD1を送信すると共に文書P1を対象文書とする履歴要求を行うことが可能である。このような場合、解析サーバー4は、画像処理装置2aから履歴要求と特徴データSD1とを受信すると、対象画像である文書P1の特徴データSD1を対象特徴データSPとして、記憶部52に記憶されている管理情報MIから対象特徴データSPと同一又は近似する特徴データSDも対応するジョブログ情報Jlを抽出する。
次に、本実施形態におけるワークフロー推定システム1を構成する画像処理装置2と、解析サーバー4のそれぞれの構成を説明する。図8は、画像処理装置2の機能構成の一例を示すブロック図である。
画像処理装置2は、解析サーバー4や情報処理装置100、或いは携帯端末101など外部デバイスとの通信におけるインタフェースとなる通信インタフェース14と、制御部10と、ハードディスクドライブなどにより構成される記憶部12と、プリントジョブを実行するプリンタ部18と、スキャンジョブを実行するスキャナ部19とを備える。制御部10は、記憶部12に記憶される制御用プログラム(図示せず)が実行されることにより、入力されたジョブの実行を制御するジョブ実行部20と、ジョブ実行部20によるジョブ実行の際にジョブログ情報Jlを取得するログ取得部22と、ジョブ実行部20により文書に関するジョブが実行された場合に、文書画像データDGを取得する文書画像取得部24と、文書画像取得部24により取得された文書画像データDGから特徴データSDを抽出する特徴データ抽出部26として機能する。
ジョブ実行部20は、ジョブの実行を制御する処理部である。ジョブ実行部20は、操作部16への操作入力に基づいて生成されたジョブや、外部デバイスから受信したジョブをプリンタ部18やスキャナ部19に実行させる。ログ取得部22は、ジョブ実行部20により文書に関するジョブが実行された場合に、ジョブログ情報Jlを取得する処理部である。ログ取得部22は、文書に関するジョブがジョブ実行部20により実行された場合に、当該ジョブのジョブログ情報Jlを取得し、記憶部12に格納する。
文書画像取得部24は、ジョブ実行部20によるジョブの実行に伴って文書に対応する文書画像データDGを取得する処理部である。例えば、図1に示したように、画像処理装置2aが情報処理装置100から文書P1に対応する文書画像データDG1と共にプリントジョブを受信した場合において、ジョブ実行部20により文書P1に関するプリントジョブが実行されると、文書画像取得部24は、文書P1に対応する文書画像データDG1を取得して記憶部12に格納する。また、画像処理装置2cの操作部16への操作入力に基づいて、ジョブ実行部20により文書P3に関するスキャンジョブが実行され、文書P3に対応する文書画像データDG3が生成された場合に、文書画像取得部24は、文書画像データDG3を取得して記憶部12に格納する。
特徴データ抽出部26は、文書画像取得部24により取得された文書画像データDGから、文書を特徴付ける特徴データSDを抽出する処理部である。特徴データ抽出部26は、例えば文書画像データDGのレイアウトを抽出し、一行に表示される文字数、行数、余白領域などの情報を特徴データSDとして抽出する。また、例えば記憶部12に予め文書の様式データが記憶される場合に、文書画像データDG内において文書表題が表示される領域情報や、文書の作成日や作成者など文書の形式的事項が表示される書誌部が表示される領域情報などを特徴データSDとして抽出する。
また、制御部10は、文書画像データDGから文字列情報を抽出する文字列抽出部34を備える。文字列抽出部34は、例えば文書画像データDGに対しOCR処理を行い、文書画像データDGから文字列情報を抽出する。また、文字列抽出部34は、文書画像データDGがドキュメントデータである場合、OCR処理を行うことなく、当該ドキュメントデータから文字列情報を抽出する。文字列抽出部34により文字列が抽出されると、特徴データ抽出部26は、抽出された文字列を特徴データSDに含めてもよいし、記憶部12に記憶している辞書情報(図示せず)に基づいて、所定の文字列からなるキーワードを生成し、特徴データSDに含めてもよい。或いは、特徴データ抽出部26は、抽出された文書画像データDGのレイアウトにおける所定の領域(例えば書誌部が表示される領域)内に含まれる文字列に基づいて、キーワードを生成してもよい。文字列に基づいて特徴データSDを抽出することにより、文書を特徴付けるより詳細な情報を特徴データSDに組み込むことが可能となる。また、キーワードを特徴データSDに含むことにより、特徴データSDを検索する時間を短縮化できる。
制御部10は、さらに、解析サーバー4からの指示に応じて文書画像データDGを抽出する画像抽出部28と、解析サーバー4からの指示を受け付け、或いは解析サーバー4からの指示に応じてデータを送信する送受信部30と、本実施形態におけるワークフロー推定システム1を構成する画像処理装置2のうち自機とは異なる画像処理装置2から受信した文書画像データDGと、画像抽出部28により抽出された文書画像データDGとの差分を検出する差分検出部32とを備える。
画像抽出部28は、解析サーバー4からの指示に応じて、指示と共に受信するジョブログ情報Jlに関連付けられている文書画像データDGを抽出する処理部である。文書画像取得部24により取得された文書画像データDGと、ログ取得部22により取得されたジョブログ情報Jlとは、共に記憶部12に記憶され、ジョブ毎に互いに関連付けられて格納される。画像抽出部28は、解析サーバー4からジョブログ情報Jlを受信すると、記憶部12に記憶されるジョブログ情報Jlを読み出し、受信したジョブログ情報Jlと同一のジョブログ情報Jlに関連付けられている文書画像データDGを抽出する。そして、送受信部30は、画像抽出部28により抽出された文書画像データDGを、解析サーバー4から受信した指示に応じて、自機とは異なる画像処理装置2に対して送信する。また、送受信部30は、本実施形態におけるワークフロー推定システム1を構成する複数の画像処理装置2のうち自機とは異なる画像処理装置2から受信する文書画像データDGを受け付ける。
差分検出部32は、画像抽出部28により抽出された文書画像データDGと、送受信部30により受け付けられた文書画像データDGとの差分を検出する処理部である。解析サーバー4は、対象文書の履歴に対応するジョブログ情報Jlを抽出し(図5のD36)、抽出したジョブログ情報Jlに基づいて、ジョブが実行された時系列に応じて各画像処理装置2に対して画像送信指示(図5のD38、D40)や差分検出指示(図5のD42)を送信する。すなわち、自機とは異なる画像処理装置2により送信され、送受信部30により受け付けられた文書画像データDGと、解析サーバー4から受信したジョブログ情報Jlに基づいて抽出した文書画像データDGとは、ともに対象文書の履歴に対応する文書画像データDGである。しかも、図5に示したように、ジョブが実行された順に応じて解析サーバー4は各画像処理装置2に対する指示を生成することから、差分検出部32は、画像抽出部28により抽出された文書画像データDGと、送受信部30により受け付けられた文書画像データDGとの差分を検出することにより、対象文書に対する編集部分を特定することができるのである。これにより、画像処理装置2から解析サーバー4に文書画像データDGを送信することなく、画像処理装置2によって時系列に基づく複数の文書画像データDGの間の差分を検出することが可能となるのである。
次に、解析サーバー4の構成について説明する。図9は、解析サーバー4の機能構成の一例を示すブロック図である。解析サーバー4は、CPU50と、記憶部52と、画像処理装置2や携帯端末101など外部デバイスとの通信におけるインタフェースとなる通信インタフェース54とを備える。CPU50は、記憶部52に記憶される制御用プログラム(図示せず)が実行されることにより、画像処理装置2から受信する特徴データSDとジョブログ情報Jlとを関連付けて管理する情報管理部60と、外部デバイスから受信する文書に関する履歴要求を受け付ける要求受付部62と、履歴要求の対象文書を特徴付ける対象特徴データSPを取得する対象特徴取得部64と、情報管理部60により管理される特徴データSDと対象特徴取得部64により取得される対象特徴データSPとを対比して所定のジョブログ情報Jlを抽出するログ抽出部66と、ログ抽出部66により抽出されたジョブログ情報Jlに基づいて、ジョブが実行された画像処理装置2を特定する装置特定部68と、装置特定部68により特定された画像処理装置2に対して所定の指示を送信する送信指示部70と、履歴要求に対する回答を行う回答部72として機能する。
情報管理部60は、本実施形態におけるワークフロー推定システムを構成する複数の画像処理装置2のそれぞれから受信する特徴データSDとジョブログ情報Jlとを関連付けて管理する処理部である。情報管理部60は、画像処理装置2から特徴データSDとジョブログ情報Jlとを受信すると、受信した特徴データSDとジョブログ情報Jlとを関連付けた管理情報MI(図4参照)を生成する。
要求受付部62は、外部デバイスから受信する文書に関する履歴要求を受け付ける処理部である。図5に示したように、解析サーバー4は、携帯端末101から履歴要求を受け付け可能である(図5のD32)ことに加え、本実施形態におけるワークフロー推定システム1を構成する画像処理装置2a、2b、又は2cからの履歴要求も受け付け可能である。
対象特徴取得部64は、要求受付部62により受け付けられた履歴要求の対象文書を特徴付ける対象特徴データSPを取得する処理部である。例えば、画像処理装置2a、2b又は2cから履歴要求を受信すると共に、画像処理装置2a、2b又は2cに記憶されている特徴データSD1、SD2又はSD3を受信した場合に、対象特徴取得部64は、受信した特徴データSD1、SD2又はSD3を取得する。対象特徴取得部64は、要求受付部62により履歴要求と共に履歴要求の対象文書に対応する対象画像データTDを取得した場合に、当該対象画像データTDから対象特徴データSPを抽出してこれを取得する。図5の例に示したように、携帯端末101から履歴要求と共に当該履歴要求の対象文書に対応する対象画像データTDを取得した場合に、対象特徴取得部64は、例えば対象画像データTDのレイアウトを抽出してレイアウト情報SPaを生成する(図6参照)。また、対象特徴取得部64は、対象画像データTDに対しOCRを行って文字列を抽出し、抽出した文字列を対象特徴データSPに含めてもよい。或いは、対象特徴取得部64は、抽出した文字列からキーワード情報SPbを生成して、生成したキーワード情報SPbを対象特徴データSPに含めてもよい(図6参照)。対象特徴取得部64が対象画像データTDから対象特徴データSPを抽出することにより、要求受付部62が受け付けた履歴要求と共に対象特徴データSPを受信しなかった場合であっても、対象特徴データSPを取得することが可能となる。なお、対象特徴取得部64は、画像処理装置2の特徴データ抽出部26と同じアルゴリズムにより、対象画像データTDから対象特徴データSPを抽出してもよい。特徴データSDと対象特徴データSPが同じアルゴリズムにより抽出されることにより、解析サーバー4は、対象特徴データSPに基づいて、対象文書の履歴に対応するジョブログ情報Jlに関連付けられる特徴データSDを検索する精度が高まる。
ログ抽出部66は、情報管理部60により管理される特徴データSDと、対象特徴取得部64により取得された対象特徴データSPとを対比し、対象特徴データSPと同一又は近似する特徴データSDに関連付けられたジョブログ情報Jlを抽出する処理部である。ログ抽出部66は、記憶部52に記憶されている管理情報MIを読み出し、管理情報MIに含まれている特徴データSDと対象特徴データSPとを対比する。そして、両者が同一である場合には、管理情報MIにおいて当該特徴データSDと関連付けられているジョブログ情報Jlを抽出する。また、管理情報MIに含まれている特徴データSDと対象特徴データSPとが同一でない場合であっても、両者に含まれる情報のうち所定数以上の情報において一致する場合、両者は近似するとして、ログ抽出部66は管理情報MIにおいて当該特徴データSDと関連付けられているジョブログ情報Jlを抽出する。例えば、図6に一例として示した対象特徴データSPにおけるキーワード情報SPbには、押印から抽出されたキーワード(例として「山下」の文字)が含まれる。他方、図4の例に示した管理情報MIにおけるキーワード情報MIfには、押印から抽出されたキーワードは含まれていない。履歴要求の対象文書には、対象文書が移転する間に、対象文書の取得者によって編集が行われることが予定される文書が含まれている。すなわち、対象文書の履歴に対応する文書画像データDGと、対象文書に対応する対象画像データTDとは、完全に同一でないことがある。そうすると、対象画像データTDから抽出された対象特徴データSPと、対象文書の履歴に対応する文書画像データDGから抽出された特徴データSDとは、完全に同一でないことが生じるのである。そこで、対象特徴データSPと特徴データSDとが、それぞれに含まれる情報のうち、所定数以上の情報において一致する場合には、当該特徴データSDは対象文書の履歴に対応する文書画像データDGから抽出された蓋然性が高いとし、ログ抽出部66は当該特徴データSDに関連付けられたジョブログ情報Jlを抽出する。
装置特定部68は、ログ抽出部66により抽出されたジョブログ情報Jlに基づいて、ジョブが実行された画像処理装置2を特定する処理部である。上述したとおりログ抽出部66は、管理情報MIにおいて対象特徴データSPと同一又は近似する特徴データSDに関連付けられたジョブログ情報Jlを抽出する。図4の例において示したように、ジョブログ情報Jlは、ジョブが実行された画像処理装置2の装置情報MIbを含んでいる。装置特定部68は、ジョブログ情報Jlに含まれる装置情報MIbを参照して、ジョブが実行された画像処理装置2を特定する。送信指示部70は、装置特定部68により特定された画像処理装置2のそれぞれに対して、ログ抽出部66により抽出されたジョブログ情報Jlに対応する文書画像データDGを、装置特定部68により特定された画像処理装置2のうち、当該画像処理装置2とは異なる画像処理装置2であって、当該画像処理装置2と連続してジョブが実行された画像処理装置2に送信するよう指示する処理部である。送信指示部70は、例えば抽出されたジョブログ情報Jlを、実行日時情報MIa(図4参照)に基づき時系列に沿った順序にソートする。そして、装置特定部68により特定された各画像処理装置2に対して、時系列に応じて画像送信指示を生成し、又は差分検出指示を生成する(図5参照)。図4の例において、画像処理装置2aによりまずプリントジョブが実行され、次に画像処理装置2bにおいてコピージョブが実行され、最後に画像処理装置2cにおいてスキャンジョブが実行されている。そこで、送信指示部70は、図5の例に示すように、画像処理装置2aに対し、ジョブログ情報Jl1に対応する文書画像データDG1を画像処理装置2bに送信するよう画像送信指示を生成してこれを送信する(D38)。また、送信指示部70は、画像処理装置2bに対して、画像処理装置2aから受信する文書画像データDG1と、ジョブログ情報Jl2に対応する文書画像データDG2との差分を検出すると共に、ジョブログ情報Jl2に対応する文書画像データDG2を画像処理装置2cに送信するよう画像送信指示を生成してこれを送信する(D40)。さらに、送信指示部70は、画像処理装置2cに対して、画像処理装置2bから受信する文書画像データDG2と、ジョブログ情報Jl3に対応する文書画像データDG3との差分を検出するよう差分検出指示を生成してこれを送信する(D42)。これにより、解析サーバー4は、複数の画像処理装置2により記憶されているジョブログ情報Jlに対応する文書画像データDGを、時系列に基づき連続する順に応じてそれぞれの間の差分を検出させることができ、対象文書に対する時系列に基づく編集履歴を取得可能となる。
回答部72は、履歴要求に対する回答を行う処理部であり、回答生成部74と、判定部76と、選択部78とをさらに備える。回答生成部74は、ログ抽出部66により抽出されたジョブログ情報Jlに基づいて、履歴要求に対する回答RPを生成する処理部である。これにより、対象文書に関して、いつ、どのようなジョブが実行されたのかが分かる回答を生成可能である。また、図4に示したように、ジョブログ情報Jlには、ログインユーザー情報MIcが含まれることから、回答生成部74は、図7の回答RPの例のように、履歴要求に対してジョブログ情報Jlに含まれるログインユーザー情報MIcに基づき、対象文書の移転履歴を含む回答RPを生成する。図7の例では、ユーザーAによりプリントされた文書がユーザーAにより取得され、次にユーザーBに移転し、さらにユーザーBからユーザーCに移転したことが推定可能な回答RPが生成される。
回答生成部74はさらに、複数の画像処理装置2から時系列に基づき連続する文書画像データDG間の差分の検出結果を受信すると、差分の検出結果に応じて時系列に基づく対象文書の変更履歴を含めた回答RPを生成する。例えば、図7の例に示したように、画像処理装置2aに記憶されている文書画像データDG1と、画像処理装置2bに記憶されている文書画像データDG2との差分検出結果に基づいて、回答生成部74は、変更部分St1をユーザーBによるジョブに対応する編集情報RPfとして表示する。また、画像処理装置2bに記憶されている文書画像データDG2と、画像処理装置2cに記憶されている文書画像データDG3との差分検出結果に基づいて、回答生成部74は、変更部分St2をユーザーCによるジョブに対応する編集情報RPfとして表示する。これにより、変更部分St1についてはユーザーBにより追加されたことと、変更部分St2についてはユーザーCによって追加されたことが推定可能である。
判定部76は、時系列に基づいて連続するジョブログ情報Jlに対応する2つの文書画像データDGの間の差分が所定値以上である場合に、前記2つの文書画像データDGが互いに異なる文書の履歴に対応する文書画像データであると判定する処理部である。すなわち、ログ抽出部66は、対象特徴データSPと同一又は近似する特徴データSDに関連付けられているジョブログ情報Jlを抽出する。上述したとおり、対象特徴データSPと特徴データSDにそれぞれ含まれる情報のうち、所定数以上の情報が一致する場合、ログ抽出部66は当該特徴データSDに関連付けられるジョブログ情報Jlを抽出する。そうすると、対象特徴データSPと特徴データSDとが近似していても、対象文書とは異なる文書の履歴に対応する文書画像データDGの特徴データSDである可能性がある。対象特徴データSP又は特徴データSDに含まれる情報が少ない場合には、この可能性は一層高くなる。そこで、ログ抽出部66により抽出されたジョブログ情報Jlに基づいて、時系列により連続する2つの文書画像データDG間の差分が検出された結果、差分が所定値以上である場合には、判定部76は、これら2つの文書画像データDGが、互いに異なる文書の履歴に対応する文書画像データであると判定する。すなわち、このような場合には、2つの文書画像データDGのいずれか又は両方が、対象文書の履歴に対応する文書画像データではない可能性があるため、2つの文書画像データDGを互いに異なる文書の履歴に対応するものであると判定するのである。
選択部78は、判定部76によって互いに異なる文書の履歴に対応する文書画像データであると判定された2つの文書画像データDGのそれぞれを、対象画像データTDと対比して、対象文書の履歴に対応する文書画像データDGを選択する処理部である。判定部76は、差分検出の結果、差分が所定値以上である2つの文書画像データDGを、互いに異なる文書の履歴に対応する文書画像データであると判定する。なお、画像処理装置2は、差分検出の結果、差分が所定値以上である場合、差分検出の対象となった2つの文書画像データDGとそれぞれに対応するジョブログ情報Jlとを解析サーバー4に送信する。2つの文書画像データDGを画像処理装置2から受信すると、選択部78は、受信した2つの文書画像データDGそれぞれと対象画像データTDとを対比する。そして、例えば文書画像データDGと対象画像データTDとの差分が所定値以内である場合に、当該文書画像データDGを対象文書の履歴に対応する文書画像データDGとして選択する。回答生成部74は、選択された文書画像データDGに対応するジョブログ情報Jlを対象文書の履歴に対応するジョブログ情報Jlであるとして、当該ジョブログ情報Jlを含むジョブログ情報Jlに基づいて回答RPを生成する。これにより、ログ抽出部66により対象文書の履歴に対応しないジョブログ情報Jlが誤って抽出された場合であっても、対象文書の履歴に対応しないジョブログ情報Jlを回答から除くことが可能となる。
次に、本実施形態におけるワークフロー推定システム1を構成する画像処理装置2及び解析サーバー4のそれぞれにおける処理手順の一例を説明する。図10は、画像処理装置2において行われる主要な処理手順の一例を示したフローチャートである。画像処理装置2は、電源が供給されることにより起動すると(ステップS1)、ジョブ実行指示を検知したか否かを判定し(ステップS3)、ジョブ実行指示を検知した場合(ステップS3でYES)、画像処理装置2は、ジョブ実行指示に応じてジョブを実行する(ステップS5)と共に、ジョブログ情報Jlを生成して(ステップS7)取得する。また、画像処理装置2は、ジョブ実行に伴って文書画像データDGを取得する(ステップS9)。そして、画像処理装置2は、取得した文書画像データDGから、文書を特徴付ける特徴データSDを抽出する特徴データ抽出処理を実行する(ステップS11)。特徴データ抽出処理の具体的な処理手順については後述する。ステップS3においてジョブの実行指示を検知していないと判定した場合(ステップS3でNO)、ステップS5からステップS11の処理をスキップする。
次に、画像処理装置2は、解析サーバー4からの指示を受信したか否かを判定する(ステップS13)。解析サーバー4からの指示を受信したと判定した場合(ステップS13でYES)、画像処理装置2は、解析サーバー4から受信した指示に応じて文書画像データDG間の差分検出などを行う差分検出処理(ステップS15)を実行する。差分検出処理(ステップS15)の具体的な処理手順については後述する。他方、解析サーバー4からの指示を受信していないと判定した場合(ステップS13でNO)、ステップS15をスキップする。最後に、画像処理装置2は、終了指示を検知したか否かを判定し(ステップS17)、終了指示を検知した場合(ステップS17でYES)、起動を終了させる。他方、終了指示を検知しなかったと判定した場合(ステップS17でNO)、ステップS3に戻り、終了指示を検知するまでステップS3からステップS15の処理を繰り返し実行する。
図11は、特徴データ抽出処理(図10のステップS11)の具体的な処理手順の一例を示すフローチャートである。画像処理装置2は、取得した文書画像データDGからレイアウトを抽出する(ステップS21)と共に、文書画像データDGから文字列を抽出する(ステップS23)。上述したように文書画像データDGがドキュメントデータでない場合には、画像処理装置2は文書画像データDGに対してOCRを行った後に、文字列を抽出する。次に、画像処理装置2は、抽出した文字列に基づいてキーワードを生成する(ステップS25)。そして、画像処理装置2は、抽出したレイアウト、文字列やキーワードに基づいて特徴データSDを生成し(ステップS27)、最後に、ジョブログ情報Jlと特徴データSDとを解析サーバー4へ送信して処理を終了する。
図12は、差分検出処理(図10のステップS15)の具体的な処理手順の一例を示すフローチャートである。解析サーバー4から指示を受信すると(図10のステップS13)、画像処理装置2は、記憶部12に記憶する文書画像データDGから、解析サーバー4から受信した指示に応じて文書画像データDGを抽出する(ステップS31)。なお、解析サーバー4から指示と共にジョブログ情報Jlを受信した場合には、受信したジョブログ情報Jlに対応する文書画像データDGを抽出する。次に、画像処理装置2は、解析サーバー4から受信した指示が、自機とは異なる画像処理装置2に対して抽出された文書画像データDGを送信する画像送信指示か否かを判定する(ステップS33)。そして、解析サーバー4からの指示が画像送信指示であると判定した場合(ステップS33でYES)、画像送信指示により指示された画像処理装置2に対して、抽出された文書画像データDGを送信する(ステップS35)。他方、画像送信指示ではないと判定した場合(ステップS33でNO)、ステップS35をスキップする。
次に、画像処理装置2は、解析サーバー4からの指示が、自機とは異なる他の画像処理装置2から受信する文書画像データDGと、ステップS31で抽出した文書画像データDGとの差分を検出する差分検出指示か否かを判定する(ステップS37)。解析サーバー4からの指示が差分検出指示であると判定した場合(ステップS37でYES)、画像処理装置2は、他の画像処理装置2から文書画像データDGを受信したか否かを判定する(ステップS39)。そして、他の画像処理装置2から文書画像データDGを受信していないと判定した場合(ステップS39でNO)、画像処理装置2は、自機とは異なる画像処理装置2から文書画像データDGを受信するまで処理を待機する。他方、他の画像処理装置2から文書画像データDGを受信したと判定した場合(ステップS39でYES)、画像処理装置2は、ステップS31で抽出した文書画像データDGと、受信した文書画像データDGとの差分を検出し(ステップS41)、差分検出結果を解析サーバー4へ送信する(ステップS43)。
さらに、差分検出の結果、差分が所定値以上であるか否かを判定し(ステップS45)、差分が所定値以上である場合(ステップS45でYES)、画像処理装置2は、差分検出の対象となった2つの文書画像データDGを解析サーバー4へ送信して(ステップS47)差分検出処理を終了する。解析サーバー4において、2つの文書画像データDGのうちいずれが履歴要求の対象文書の履歴に対応する文書画像データDGであるか判定するためである。他方、差分が所定値未満である場合(ステップS45でNO)、ステップS47をスキップする。なお、ステップS37において、解析サーバー4から受信した指示が差分検出指示ではないと判定した場合(ステップS37でNO)、ステップS39からステップS47の処理をスキップして差分検出処理を終了する。
次に、解析サーバー4により行われる処理手順について説明する。図13は、解析サーバー4により行われる主要な処理手順の一例を示すフローチャートである。解析サーバー4は、電源投入により起動処理を行うと、常時起動状態を維持する。そして、特徴データSDを画像処理装置2から受信したか否かを判定する(ステップS51)。特徴データSDを受信したと判定した場合(ステップS51でYES)、解析サーバー4は、特徴データSDと、特徴データSDと共に受信したジョブログ情報Jlとを関連付けた管理情報MIを生成し(ステップS53)、生成した管理情報MIを記憶部52に記憶させる(ステップS55)。ステップS51で特徴データSDを受信していないと判定した場合(ステップS51でNO)、ステップS53及びステップS55をスキップする。
次に、解析サーバー4は、携帯端末101や画像処理装置2a、2b、2cなどの外部デバイスから履歴要求を受信したか否かを判定する(ステップS57)。履歴要求を受信したと判定した場合(ステップS57でYES)、解析サーバー4は、履歴要求フラグをオンにセットする(ステップS59)。他方、履歴要求を受信していないと判定した場合(ステップS57でNO)、さらに解析サーバー4は、履歴要求フラグがオンにセットされているか否かを判定し(ステップS61)、履歴要求フラグがオンにセットされていると判定した場合(ステップS61でYES)、履歴要求に基づく処理を実行中であるとして、ステップS63を実行する。ステップS63では、解析サーバー4は、画像処理装置2に対して指示を送信済みであるか否かを判定し(ステップS63)、画像処理装置2に対し指示を未送信であると判定した場合(ステップS63でNO)、記憶部52に記憶している管理情報MIからジョブログ情報Jlを抽出して画像処理装置2に対する指示を生成するログ抽出処理(ステップS65)を実行する。他方、画像処理装置2に対して指示を送信済みであると判定した場合(ステップS63でYES)、ログ抽出処理(ステップS65)をスキップする。
さらに、解析サーバー4は、画像処理装置2から差分検出結果を受信したか否かを判定し(ステップS67)、差分検出結果を受信したと判定した場合(ステップS67でYES)、履歴要求に対する回答RPを行う回答処理(ステップS69)を実行する。回答処理を実行した後、解析サーバー4は、ステップS51に戻り、以降の処理を繰り返し実行する。ステップS67で差分検出結果を受信していないと判定した場合(ステップS67でNO)、回答処理(ステップS69)をスキップしてステップS51に戻る。なお、ステップS61において履歴要求フラグがオンにセットされていないと判定した場合(ステップS61でNO)、履歴要求に応じた処理を実行中でないため、ステップS63からステップS69をスキップしてステップS51に戻る。
図14は、ログ抽出処理(図13のステップS65)の具体的な処理手順の一例を示すフローチャートである。解析サーバー4は、まず、履歴要求を受け付けた際に、対象文書を特徴付ける対象特徴データSPを取得したか否かを判定し(ステップS71)、対象特徴データSPを取得したと判定した場合(ステップS71でYES)、管理情報MIに含まれる特徴データSDを読み出し(ステップS73)、対象特徴データSPと特徴データSDとを対比する(ステップS75)。他方、履歴要求を受け付けた際に対象特徴データSPを取得していない場合(ステップS71でNO)、解析サーバー4は、履歴要求と共に受信した対象画像データTDを解析して(ステップS77)対象特徴データSPを抽出する特徴データ抽出処理(ステップS79)を実行する。図例において特徴データ抽出処理は、画像処理装置2において特徴データSDを抽出する特徴データ抽出処理(図11)と同様の処理であるため、説明を省略する。そして、解析サーバー4は、特徴データ抽出処理(ステップS79)を実行して対象特徴データSPを抽出すると、特徴データSDを読み出す(ステップS73)。
次に、対象特徴データSPと特徴データSDを対比した結果(ステップS75)、解析サーバー4は、両者が完全に一致するか否かを判定し(ステップS81)、完全に一致すると判定した場合(ステップS81でYES)、特徴データSDに関連付けられているジョブログ情報Jlを抽出する(ステップS83)。他方、対象特徴データSPと特徴データSDとが完全には一致しないと判定した場合(ステップS81でNO)、解析サーバー4は、さらに両者が近似するか否かを判定する(ステップS85)。上述したように、対象特徴データSPと特徴データSDのそれぞれに含まれる情報のうち、所定数以上の情報が一致する場合には、両者は近似すると判定し(ステップS85でYES)、当該特徴データSDに関連付けられているジョブログ情報Jlを抽出する(ステップS83)。これに対し、両者は近似しないと判定した場合(ステップS85でNO)、解析サーバー4はステップS83をスキップし、当該特徴データSDに関連付けられているジョブログ情報Jlを抽出しない。そして、解析サーバー4は、管理情報MIに含まれる全ての特徴データSDについて、対象特徴データSPとの対比済みか否かを判定し(ステップS87)、対比済みでないと判定した場合(ステップS87でNO)、管理情報MIに含まれる全ての特徴データSDについて対比済みとなるまでステップS73からステップS83までの処理を繰り返し実行する。
そして、管理情報MIに含まれる全ての特徴データSDについて、対象特徴データSPと対比済みであると判定した場合(ステップS87でYES)、解析サーバー4は、抽出されたジョブログ情報Jlの装置情報MIbに基づいて、ジョブが実行された画像処理装置2を特定する(ステップS91)。次に、特定された各画像処理装置2に対する指示を生成し(ステップS93)、各画像処理装置2へ生成した指示を送信して(ステップS95)ログ抽出処理を終了する。
図15は、回答処理(図13のステップS69)の具体的な処理手順の一例を示すフローチャートである。画像処理装置2から差分検出結果を受信すると、解析サーバー4は、差分が所定値以上であるか否かを判定する(ステップS101)。差分が所定値以上であると判定した場合(ステップS101でYES)、差分検出の対象となった2つの文書画像データDGが互いに異なる文書の履歴に対応する文書画像データであると判定し、対象文書の履歴に対応する文書画像データDGを判定し、この文書画像データDGに対応するジョブログ情報Jlを選択する選択処理(ステップS103)を実行する。そして、選択処理(ステップS103)により選択されたジョブログ情報Jlに基づいて回答を生成する(ステップS105)。他方、差分が所定値以上ではないと判定した場合(ステップS101でNO)、解析サーバー4は、選択処理(ステップS103)をスキップして回答RPを生成する(ステップS105)。
最後に、解析サーバー4は、生成した回答RPを、解析サーバー4に対し履歴要求を送信した外部デバイスに送信し(ステップS107)、履歴要求フラグをオフにセットして(ステップS109)回答処理を終了する。
図16は、選択処理(図15のステップS103)の具体的な処理手順の一例を示すフローチャートである。差分が所定値以上であり、差分検出の対象となった2つの文書画像データDGが互いに異なる文書の履歴に対応する文書画像データであると判定されると、解析サーバー4は、差分検出結果と共に画像処理装置2から受信した当該2つの文書画像データDGのそれぞれと、対象画像データTDとの差分を検出する(ステップS121)。次に、検出された差分が所定値以内であるか否かを判定し(ステップS123)、差分が所定値以内であると判定した場合(ステップS123でYES)、解析サーバー4は、当該文書画像データDGに対応するジョブログ情報Jlを、対象文書の履歴に対応するジョブログ情報Jlとして選択する(ステップS125)。他方、差分は所定値より高い値であると判定した場合(ステップS123でNO)、当該文書画像データDGに対応するジョブログ情報Jlを、対象文書の履歴に対応するジョブログ情報Jlではないとして回答生成から除外する(ステップS127)。
(第2実施形態)
次に、本発明に関する第2実施形態について説明する。上記第1実施形態では、解析サーバー4から画像処理装置2に対して送信される指示に基づいて、画像処理装置2において文書画像データDGの間の差分を検出する場合を説明した。第2実施形態では、解析サーバー4は、抽出したジョブログ情報Jlにより特定される画像処理装置2に対して、当該ジョブログ情報Jlに対応する文書画像データDGを要求し、要求した文書画像データDGを画像処理装置2から受信すると、解析サーバー4が文書画像データDGの間の差分を検出する場合を示す。解析サーバー4からの要求に応じて画像処理装置2は文書画像データDGを抽出して送信し、解析サーバー4が文書画像データDGの間の差分を検出する処理を行うことにより、画像処理装置2は、要求に応じて文書画像データDGを解析サーバー4に対して送信すればよいため、上記第1実施形態に比べて画像処理装置2における処理を簡便化できる。なお、解析サーバー4に対して送信される文書画像データDGは、解析サーバー4にて抽出されたジョブログ情報Jlに対応する文書画像データDGだけであるため、ジョブ実行に伴って取得された文書画像データDGが全て解析サーバー4に送信される場合と比べると、解析サーバー4の通信負荷が重くなるというおそれは低い。
図17は、第2実施形態における画像処理装置2の機能構成の一例を示すブロック図である。なお、上記第1実施形態と同じ構成や処理についての重複する説明は省略する。また、第1実施形態と同じ符合により表現される構成や処理については、第1実施形態における構成や処理と同じである。第2実施形態における画像処理装置2の制御部10は、送受信部90を備える。送受信部90は、解析サーバー4からの要求に応じて、記憶部12に記憶されている文書画像データDGのうち、当該要求により特定されるジョブログ情報Jlに対応する文書画像データDGを抽出して、解析サーバー4に対して送信する処理部である。解析サーバー4からジョブログ情報Jlを受信すると共に当該ジョブログ情報Jlに対応する文書画像データDGの要求を受信した場合、送受信部90は、記憶部12に記憶される文書画像データDGのうち、受信したジョブログ情報Jlに対応する文書画像データDGを抽出する。そして、送受信部90は、抽出した文書画像データDGを解析サーバー4に対して送信する。
図18は、第2実施形態における解析サーバー4の機能構成の一例を示すブロック図である。解析サーバー4のCPU50は、画像要求部95と、差分検出部97とを備える。画像要求部95は、装置特定部68により特定された画像処理装置2に対して、ログ抽出部66により抽出されたジョブログ情報Jlに対応する文書画像データDGを要求する処理部である。装置特定部68がジョブログ情報Jlに基づいてジョブが実行された画像処理装置2を特定すると、画像要求部95は、抽出されたジョブログ情報Jlをそれぞれ対応する画像処理装置2に送信し、ジョブログ情報Jlに対応する文書画像データDGを解析サーバー4に送信するよう要求する。
差分検出部97は、画像要求部95により文書画像データDGを要求した画像処理装置2から当該文書画像データDGを受信すると、時系列に基づいて連続するジョブログ情報Jlに対応する文書画像データの間の差分を検出する処理部である。差分検出部97は、各画像処理装置2から要求した文書画像データDGを受信すると、時系列に基づき連続するジョブログ情報Jlに対応する文書画像データDG同士の差分を検出する。差分検出部97により差分検出が行われると、差分検出部97による差分検出結果に応じて、回答生成部74は、時系列に基づく対象文書の変更履歴を含めた回答を生成する。解析サーバー4による文書画像データDG間の差分を検出することにより、対象文書に対して、いつ、誰が、どのような編集を行ったのか推定可能となる。
次に、画像処理装置2及び解析サーバー4において行われる処理手順の一例を説明する。図19は、画像処理装置2において行われる主要な処理手順の一例を示すフローチャートである。上述したように、上記第1実施形態と同じ符合で表現される処理は第1実施形態と同様であり、説明を省略する。画像処理装置2は、ステップS150において解析サーバー4から文書画像データDGを要求する画像要求を受信したか否かを判定し(ステップS150)、受信したと判定した場合(ステップS150でYES)、画像処理装置2は、画像要求と共に受信したジョブログ情報Jlに対応する文書画像データを抽出し、解析サーバー4に送信する(ステップS152)。他方、画像要求を受信していないと判定した場合(ステップS150でNO)、ステップS152をスキップする。画像処理装置2は、解析サーバー4の要求に応じて自機にて記憶している文書画像データDGから抽出した文書画像データDGを解析サーバー4に送信すれば足りるのであり、上記第1実施形態に比べて画像処理装置2の処理を簡便化できる。
次に、本実施形態における解析サーバー4の処理手順について説明する。図20は、解析サーバー4において行われる主要な処理手順の一例を示すフローチャートである。ステップS160において、解析サーバー4は画像処理装置2から文書画像データDGを受信したか否かを判定し(ステップS160)、受信したと判定した場合(ステップS160でYES)、時系列に基づき連続するジョブログ情報Jlに対応する文書画像データDG間の差分を検出し、検出結果に応じて回答を生成する回答処理(ステップS162)を実行する。他方、文書画像データDGを受信していないと判定した場合(ステップS160でNO)、回答処理(ステップS162)をスキップする。図21は、回答処理(図20のステップS162)の具体的な処理手順の一例を示すフローチャートである。解析サーバー4は、画像処理装置2から文書画像データDGを受信すると、時系列に基づいて連続するジョブログ情報Jlに対応する文書画像データDG同士の差分を検出する。以下の処理は、上記第1実施形態における処理と同じである。
(変形例)
以上、本発明に関する実施形態の一例を説明したが、本発明は、上記実施形態において説明したものに限られるものではなく、種々の変形例が適用可能である。
上記第1実施形態におけるワークフロー推定システム1を構成する画像処理装置2a、2b、2cは、互いに通信可能であったが、これに限らず、本発明は、例えば、画像処理装置2b及び2cがファイヤウォールにより外部からアクセスできないローカルネットワーク内に設けられ、画像処理装置2b又は2cから画像処理装置2aへアクセスすることは可能であるが、画像処理装置2aからローカルネットワーク内の画像処理装置2b又は2cに対してアクセスすることができない場合も含む。この場合、解析サーバー4は、ローカルネットワーク外に設けられ、ローカルネットワーク内にある中継サーバーと接続される接続仲介サーバーを介して、中継サーバーに対して、解析サーバー4との接続状態を確立するよう要求する。そして、中継サーバーから解析サーバー4に対して接続要求がなされることにより解析サーバー4と中継サーバーとの接続状態が確立された後に、解析サーバー4は、画像処理装置2aに対し、画像処理装置2b又は2cに対して送信する文書画像データDGを解析サーバー4に対して送信するよう指示する。そして、画像処理装置2aから文書画像データDGを受信すると、解析サーバー4は、受信した文書画像データDGを画像処理装置2b又は2cに転送する。このように、解析サーバー4が、ファイヤウォールにより外部と隔てられたローカルネットワーク内に設けられる画像処理装置2b及び2cと、当該ローカルネットワーク外に設けられる画像処理装置2aとの通信を中継することにより、画像処理装置2aにおいて記憶されている文書画像データDGを、画像処理装置2b又は2cに確実に取得させることが可能となる。