(実施例1)
図1は、本発明の画像処理装置の一例となる、プリンタ機能、コピー機能、ファクシミリ機能を有する複合画像処理装置(以下、MFP:Multi Function Peripheralという)の内部構造を示す断面図である。
図1において、100はMFPであり、ネットワークを介して印字データを受取り印刷するネットワークプリンタとして使用することができる。また、MFP100は、電話回線にも接続されており、ファクシミリ装置としても使用でき、更に、単体でもコピー機として使用することができる。
操作パネル121は、操作のためのスイッチ、及びMFP100の状態等を表示する液晶タッチパネルで構成されている。制御ユニット201は、MFP100を統御する。
レーザ・ドライバ502は、半導体レーザ発振器503を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ発振器503から発射すべきレーザビーム504をオン・オフ切替する。レーザビーム504は、回転多面鏡505で左右方向に振られて静電ドラム506上を走査することにより、静電ドラム506上に静電潜像を形成する。この静電潜像は、静電ドラム506の周囲に配備された現像ユニット(トナーカートリッジ)507によって現像された後、記録用紙に転写される。記録用紙としては、カット・シートを用いる。カット・シートは、MFP100に装着した給紙カセット108、109、110及び111に収納される。カット・シートは、給紙ローラ113、114、115、及び116により装置内に取込まれ、用紙搬送ローラ112によって用紙搬送ベルト117に乗せられて像形成・現像機構を通過する。
記録用紙に転写されたトナー(粉末インク)は、定着器118で熱と圧力により記録用紙に定着される。このトナー定着がなされた記録用紙は、搬送ローラ119,120によってMFP100の外部に排紙される。
スキャナユニット122は原稿をスキャンしてその反射像を撮像する。撮像された像は、A/D変換されて制御ユニット501に送られ、必要な処理を施されてビデオ信号となり、レーザ・ドライバ502に入力される。
また、外部ネットワークを通して印刷データが送信されてくると、印字データは制御ユニット201内で解析されてビデオ信号となり、レーザ・ドライバ502に入力される。
図2は、図1に示したMFP100の制御ユニット201のハードウェア構成を示すブロック図である。
クライアントPC101、MFP102はネットワーク(LAN)を介してMFP100と接続されている。本実施形態においては、クライアントPCやMFPなど、ネットワーク上のノードは複数存在してもよい。
スキャナユニット122は、図1におけるスキャナユニット122に相当する。
ネットワークインターフェイス部203はネットワーク上の他のノードとの通信のためにネットワークとのインターフェースを司る。例えば、クライアントPC101から送信されるPDL(Page Description Language)等の印刷データは、ネットワークインターフェイス部203を介して受信される。ネットワークインターフェイス部203は必要に応じて他の機器と暗号化通信を行うことができる。
操作パネル(操作部)121は、ユーザがMFP100をコントロールするためのユーザインターフェイスである。操作パネル121は、タッチパネルディスプレイと操作キーとを備え、ユーザに操作画面を提供するとともにユーザによる操作指示を受け付ける。操作部インターフェース130は、CPU202と操作パネル121とを接続するためのインターフェイスである。操作パネル121は、ネットワークインターフェイス部203を介して他のMFPの操作も行うことができる。操作パネル121からコピーの実行が指示されると制御ユニット501はコピー処理においてスキャナユニット122から送られてきたビデオ信号に関して画像処理を行い、出力インターフェイス部209を通して印刷機構部104に送りコピー処理を行う。
ここで施される画像処理とは、例えばスキャナユニット122の読み取り解像度から印刷機構部104の印刷解像度への変換や、印刷機構部104の用紙の搬送方向に合わせた画像の回転処理などが含まれる。
ハードディスク(HDD)210は、画像データや後述する統合ドキュメントや、各種データベースなどが格納される。
CPU202によるこれら一連の処理の処理手順はROM206、あるいはHDD210内にプログラムされており、CPU202はこれらプログラムをRAM207にロードして実行する。RAM207は、画像データに対する画像処理のための一時的な記憶領域としても用いられる。
また、スキャナユニット122からのデータはRAM207上に蓄えられて必要な処理が施される。
NVRAM(Non Volatile RAM)205は、EEPROM等で構成する不揮発性メモリである。NVRAM205はMFP100の各種設定値を記憶する。
なお、図1のMFP100は、制御ユニット201、操作パネル121、スキャナユニット122印刷機後部104によって構成されている。
図3本実施形態におけるMFPによるコピー動作時のデータフローの一例を示す図である。このコピー動作は、MFP100のCPU202がHDD210或はROM206に格納されたプログラムをRAM207にロードして実行し、MFP100内の必要なハードウェアを動作させることによって実現される。
スキャナユニット122にセットされた紙原稿はスキャン処理31によって読み取られる。そして原稿を読み取ることによって生成された画像データはビットマップデータに変換される。次にベクタライズ処理32でビットマップデータからベクタデータを、メタデータ生成処理34でメタデータが生成される。ベクタデータは、ビットマップデータに対してベクトル化処理を行った後のデータである。また、メタデータはビットマップデータに関する副次的(付随的)な情報である。つまり、メタデータは、ビットマップデータ、或はビットマップデータに基づいて生成される統合ドキュメントに関する副次情報(付随情報)或は副次情報の集合である。メタデータは、例えば、統合ドキュメントを検索する場合のインデクスとして用いることができる。ベクタデータ、メタデータの具体な生成方法については後述する。
次に統合ドキュメント生成処理33によってベクタデータとメタデータが関連付けられた統合ドキュメントが生成される。次にDL生成処理35により統合ドキュメント中のベクタデータからディスプレイリスト(DL)が生成され、生成されたDLは統合ドキュメントの中に格納される(36)。DLとは、ベクタデータをレンダリングしてビットマップに変換する途中の段階で生成される中間コードである。一般的に、ベクタデータをビットマップに展開するよりもDLをビットマップに展開する方が展開処理を高速に行うことができる。DLそして、レンダリング処理37に送られてビットマップに展開される。
統合ドキュメント生成処理33の処理により生成されるベクタデータとメタデータの2つを統合したデータ、あるいは、36の処理により生成されるベクタデータとメタデータとDLの3つのデータを統合したデータを、本実施形態では「統合ドキュメント」と呼ぶ。
展開されたビットマップは印刷処理38によって紙媒体に記録されて印刷物となる。なお、出力された印刷物をまた原稿露光部にセットすればスキャン処理31からの処理を行うことができる。
図3のコピー動作では、原稿をスキャンすることによって得られるビットマップデータを一旦統合ドキュメントに変換してから再びビットマップに変換して印刷処理をすることになる。ビットマップデータを一旦ベクトル化してから再びビットマップに変換する処理は一見無駄な変換処理を行っているようであるが、次のような利点がある。例えば、変倍処理を伴うコピー動作を行う場合、統合ドキュメントに変換した後にベクタデータに対して変倍処理を行うことによってビットマップデータに対する変倍処理を行わずに済む。一般的にビットマップデータに対する変倍処理は画質の低下を伴うことが多い。しかし、ビットマップデータから変換されたベクタデータで変倍処理を行うようにすればそのような画質の低下が起こらずに済む。
図4は図3で示したメタデータ生成処理34の具体的なデータフローを示している。この処理は、MFP100のCPU202がHDD210或はROM206に格納されたプログラムをRAM207にロードして実行し、MFP100内の必要なハードウェアを動作させることによって実現される。
まず領域分割処理41にてビットマップから領域分割を行う。
領域分割とは、入力されたビットマップ画像データを解析して、画像に含まれるオブジェクトの塊毎に領域に分割し、各領域の属性を判定して分類する処理である。属性としては、文字(TEXT)、画像(PHOTO)、線(LINE)、図形(GRAPHIC)、表(TABLE)等の種類がある。
ここで図6に、入力画像データに対して領域分割を行った結果の一例を示す。入力画像61に対して領域分割を行った結果が判定結果62である。判定結果62で、点線で囲った部分が画像を解析した結果のオブジェクトの1単位を表し、各オブジェクトに対して付されている属性の種類が領域分割の判定結果である。
属性毎に分類された領域の中から文字属性の領域はOCR処理42により文字認識処理され、文字列に変換される。つまり、この文字列は紙面に印字されている文字列である。
一方、属性毎に分類された領域の中から画像属性の領域は画像特徴情報抽出処理43を通して画像特徴情報に変換される。画像特徴情報とは画像の特徴を現す文字列であり例えば「花」や「顔」といった文字列である。また、図形属性の領域についても画像特徴情報抽出処理45を行って画像特徴情報に変換する。画像特徴情報の抽出には画像特徴量(画像を構成するピクセルの周波数や濃度など)検出や顔認識などの一般的な画像認識技術を用いることができる。
生成された文字列と画像情報はフォーマット変換処理44によって後述するデータフォーマットに整えられてメタデータが生成される。
図5はPDL(Page Description Language)プリント時のデータフローである。PDLプリントとはPC(Personal Computer)上のアプリケーションソフトから印刷を指示した場合にPC上のプリンタドライバによって生成されたページ記述言語(PDL)を受け取って出力する、プリント動作のことである。PDLプリント動作は、MFP100のCPU202がHDD210或はROM206に格納されたプログラムをRAM207にロードして実行し、MFP100内の必要なハードウェアを動作させることによって実現される。
まず受信したPDLデータはPDLデータ解析処理51によって解析され、ベクタデータが生成される。
次にDL生成処理52によりベクタデータからDLが生成され、生成されたDLは統合ドキュメントの中に格納されると共にレンダリング処理53に送られてビットマップに展開される。展開されたビットマップは印刷処理54によって紙媒体上に記録されて印刷物となる。
この過程で生成されるベクタデータ、DLは統合ドキュメント生成処理56によって統合ドキュメントに格納される。
さらに、レンダリング処理53で生成したビットマップからは図4で説明したメタデータ生成処理55により、コピー動作時と同様に文字列や画像特徴情報がメタデータとして生成され、統合ドキュメントに格納される。
また、PDLには例えばLIPS(LBP Image Processing System、登録商標)やPS(PostScript、登録商標)など様々な種類が存在するが、PDLの種類によってはPDL中に文字列情報を持っているものもある。この場合はPDL解析時に文字列を抽出し、文字列からからメタデータが生成し、統合ドキュメントに格納することが可能である。
次に、統合ドキュメント生成処理と印刷処理についてフローチャートを用いて説明する。
図7のフローチャートは本実施形態における統合ドキュメント生成処理を示している。この処理はビットマップデータを受けてベクタデータ、DL、メタデータで構成されるドキュメントを生成する処理である。この処理は、図3のデータフローの32乃至36の処理に相当する。また、ビットマップデータは、例えば、図3のスキャン処理31などによって得られるビットマップデータに相当する。本フローチャートはMFP100のCPU202によって実行される。
まずステップS701で前述した領域分割処理を行う。次にステップS702において領域の種類(属性)をTEXT、GRAPHIC、IMAGEに分類し、それぞれに対して別々の処理を行う。図6では属性をTEXT、PHOTO、LINE、GRAPHIC、TABLEに分類した例を示したが、図7の例では、TEXT、GRAPHIC、IMAGEの3種類に分類するものとする。もちろん、画像の領域を他の分類方法によって分類しても構わない。領域属性がTEXTの場合は、ステップS703に進んでOCR処理を行った後、ステップS704において文字列(キーワード)の抽出を行う。その後、ステップS705において文字列をメタデータとして登録し、ステップS706に進んで認識した文字輪郭をベクタデータに変換する。
文字列から生成されるメタデータは文字コードの羅列であるが、文字コードの羅列はキーワード検索に必要な情報である。
しかし、OCR処理では文字コードは認識できても「明朝」「ゴシック」といった書体や「10pt」「12pt」といった文字のサイズや「イタリック」「ボールド」といった文字修飾までは認識できない。したがって描画用には文字コードを用いるのではなく文字輪郭をベクタデータとして保持する必要がある。ステップS704では文字画像の輪郭をベクタデータに変換することで、書体や文字サイズや文字修飾を認識せずとも、ビットマップイメージ中の文字の書体や文字サイズや文字修飾を再現することが可能になる。
一方、ステップS702において領域属性がIMAGEである場合は、ステップS707に進んで画像情報抽出処理を行う。
ステップS707では前述したように、画像特徴量検出や顔認識などの一般的な画像認識技術を用いて画像の特徴を検知し、画像の特徴をあらわす情報である画像特徴情報を抽出する。次にステップS708において、先に抽出した画像特徴情報を文字列に変換する。この変換は画像特徴情報と文字列とを対応付けるテーブルを保持しておけば容易に実現可能である。
その後、ステップS709において文字列をメタデータとして登録する。
IMAGEとして分類された領域の画像に対してはベクトル化を行わず、イメージデータをそのまま統合ドキュメント中のベクタデータとして保持する。
ステップS702において領域属性がGRAPHICである場合は、ステップS710に進んでベクトル化処理を行い、ステップS711でメタデータの登録を行う。ステップS711では、例えばステップS707やS708で行ったように画像の特徴を文字列に変換する処理を行うことによって得られたメタデータを登録する。ステップS712では、各領域から生成したベクタデータ、メタデータを統合ドキュメントフォーマットに変換する。そしてフローチャートを終了する。
なお、ステップS706やステップS710でのベクトル化処理で生成したベクタデータから更にディスプレイリスト(DL)を生成し、統合ドキュメント中にDLを含めるようにしてもよい。
図8はPDLからの統合ドキュメント生成・印刷処理の一例を示すフローチャートである。この処理は外部からPDLデータを受信し、統合ドキュメントを生成し印刷出力する処理であり、図5のデータフローで行われる処理に相当する。本フローチャートはMFP100のCPU202によって実行される。
受信したPDL中の全てのデータに対して、L810とL820の間のループ1の処理を繰り返す。まずステップS801でPDLデータを解析する。そしてステップS802において、解析の結果、文字列情報などのメタデータがPDLに包含されているか否かを判定する。PDL中にメタデータが含まれていると判定した場合には(ステップS802でYes)、ステップS809に進んでPDL中のメタデータを抽出する。そしてステップS803へ進む。
一方、ステップS802において、解析したPDLデータが文字列情報などのメタデータ以外のデータである場合、例えば、描画コマンドなどのデータである場合、ステップS803に進んでベクタデータに変換する。そして、ステップS804に進んで統合ドキュメントのフォーマットに変換する。
次にステップS805においてベクタデータに基づいてDLを生成し、ステップS806に進んで生成したDLを統合ドキュメントに追加する。
そして、ステップS807の統合ドキュメント中のベクタデータに基づいてレンダリング処理を行う。更に、ステップS808においてレンダリング後のビットマップデータから作成し、ステップS809で抽出したメタデータとともに統合ドキュメント中のめたデータとして追加する。そして、ステップS809でレンダリング後のビットマップデータに基づいて紙媒体への印刷処理を行う。そして本フローチャートを終了する。
次に、統合ドキュメントの構造を説明する。
図9、は統合ドキュメントの構造の一例を示す図である。
統合ドキュメント900は複数ページからなるデータであり、大きく分けるとベクタデータ920、メタデータ940、DL960、で構成されており、ドキュメントヘッダ910を先頭とする階層構造である。ベクタデータ920はさらに、ページヘッダ922、サマリ情報924、オブジェクト926で構成されている。メタデータ940はさらにページ情報942と詳細情報944で構成されている。DL960はさらに、ページヘッダ962と描画展開用のインストラクション964から構成されている。
ドキュメントヘッダ910にはベクタデータ920の格納場所とDL960の格納場所が記述されているためベクタデータ920とDL960はドキュメントヘッダ910によって関連付けられている。
ベクタデータ920は、ビットマップデータに対して文字認識処理、アウトライン化処理、図形認識処理などの複数の処理の少なくともいずれかを実行することによって生成される。ベクタデータ(ベクトル化データ)とは、上述の少なくともいずれかの処理を実行することによって得られる直線や曲線を構成する複数の画素を補完する数式として定義する画像である。なお、本実施形態では、ビットマップデータの少なくとも一部がベクトル化されたデータもベクタデータであるものとする。
ベクタデータ920は解像度非依存な描画データであるので、ページヘッダ922はページの大きさや向きなどのレイアウト情報が記述される。オブジェクト926にはライン、多角形、ベジェ曲線などの描画データが一つずつリンクされており、複数のオブジェクトがまとめてサマリ情報924に関連付けられている。サマリ情報924は複数のオブジェクトの特徴をまとめて表現するものであり、図6で説明した分割領域の属性情報などが記述される。1つのサマリ情報に関連付けられている複数のオブジェクトは同じ画像属性のオブジェクトになる。
メタデータ940は描画処理には直接は関係せず、主に検索に用いられる付加情報である。ページ情報942領域には、例えばメタデータがビットマップデータから生成されたものなのか、PDLデータから生成されたものなのか、などのページ情報が、詳細情報944にはOCR情報や画像情報として生成された文字列(文字コード列)が記述される。
また、ベクタデータ920のサマリ情報924からはメタデータが参照されており、サマリ情報924からメタデータ940の詳細情報944を見つけることができる。
DL960はレンダラがビットマップ展開するための中間コードである。ページヘッダ962にはページ内の描画情報(インストラクション)の管理テーブルなどが記述され、インストラクション964は解像度依存な描画情報で構成されている。
図10は統合ドキュメントの一具体例を示す図である。
ビットマップ画像である図10(a)に基づいて生成した統合ドキュメントを図10(b)に示す。
図10(a)のビットマップ画像1000は、文字領域(TEXT)1002と蝶の写真を示すイメージ領域(IMAGE)1004とを含む画像である。このようなビットマップ画像を変換した統合ドキュメントのデータ構造が図10(b)である。
図10(b)において、ドキュメントヘッダ1005にページヘッダ1006、「TEXT」の領域に対応したサマリ情報1008、「IMAGE」の領域に対応したサマリ情報1014がリンクされている。「TEXT」のサマリ情報1008にはH,e,l,l,oオブジェクト1010とW,o,r,l,dオブジェクト1012の文字輪郭がベクタデータとしてリンクされている。
さらにサマリ情報1008からは「Hello」「World」という文字コード列が格納されたメタデータ1020がリンクしている。
また、「IMAGE」のサマリ情報1014には蝶の写真画像(例えばJPEG形式の画像データ)のオブジェクト1016がリンクされている。
さらに「IMAGE」のサマリ情報1014からは「butterfly」という画像特徴情報1022が参照されている。
例えば「World」というキーワードで統合ドキュメント中のテキストを検索する場合は以下の手順で検出すればよい。まずドキュメントヘッダからベクタページデータを順次取得し、ページヘッダにリンクされているサマリ情報のうち、「TEXT」領域にサマリ情報(図10(b)の場合、1008)にリンクされているメタデータ(図10(b)の場合、1020)を検索する。
図11は本実施形態における統合ドキュメントの他の一例を示す図である。図10における統合ドキュメントに比べ、メタデータの種類が異なっている。
図11(a)の画像は、「TEXT」の領域(1102、1104)、「GRAPHIC」の領域であるグラフ1106、「IMAGE」の領域である工場の写真1108から構成されている。
図11(b)は図11(a)の画像を統合ドキュメントに変換した場合のデータ構造におけるメタデータ部分を示す図である。図11(b)のメタデータは、ページヘッダ1110、検索キーワード1114、編集キーワード1116、編集履歴1118から構成されている。
検索キーワード1114は、図11(a)の画像中、検索に用いられるであろうキーワードをメタデータとして格納した領域である。通常、検索キーワードはそのドキュメントの特徴が格納されており、図11(a)のような画像データならば、「GRAPHIC」領域中のグラフの内容を示す「CO2推移表」や、「IMAGE」領域中の工場の写真を示す「工場」などがそれに相当する。これらのキーワードは検索キーワード1114内に格納される。
編集キーワード1116は、図11(a)の画像中、編集対象になるであろうキーワードをメタデータとして格納した領域である。通常、ドキュメント中でドキュメントの特徴を表すオブジェクトは変更される事は少ない。例えば「温暖化現象」という内容のドキュメントにおいて「温暖化」というキーワードなどは変更されるとまったく別のドキュメントになってしまうため、変更されることは少ない。逆にグラフや表などは値の更新などが行われるために編集対象になりやすい。また、図についている表題中の「図」などという語は「Fig」などと語に変換されたりすることがよくある。このように編集されやすい語や図を編集用の検索用のキーワードとして編集キーワード1116に格納される。図11(a)においては編集キーワードとして「表1」、「写真1」などが図11(b)で示されるメタデータ内の編集キーワード1116に格納される。
更に図11(b)には、編集履歴1118がメタデータとして格納することができる。編集履歴をメタデータとして記録することにより、どのようなキーワードが編集対象となったかを知ることが出来、編集対象キーワードとしてどのようなキーワードを選べばよいかを決定することが可能になる。
図12は統合ドキュメントの編集処理の一例を示した図である。
3ページの画像データ1200を統合ドキュメントに変換すると、ドキュメントヘッダ1208で特定されるデータ構造を有する統合ドキュメントが生成される。画像データ1200の1ページ目は「IMAGE」オブジェクト領域1202、「TEXT」オブジェクトA1204、「TEXT」オブジェクトB1206の3つの領域から構成されている。ドキュメントヘッダ1201で示される統合ドキュメントは、これまでの説明と同様にサマリ情報、オブジェクト、メタデータとを有する。なお、図12の統合ドキュメントは、ドキュメントヘッダ1208内に、編集禁止情報1210を格納している。ドキュメントヘッダ1208内に編集禁止情報を「編集禁止:ON」とすることによって、統合ドキュメント内の全てのオブジェクトに対して編集を禁止することができる。また、ページヘッダやサマリ情報内に編集禁止情報を持たせることによって、ページ単位、オブジェクト単位での編集制限を行うことが可能になる。編集禁止情報は通常フラグで実現される。または編集禁止を解除するためのパスワードなどを格納しても良い。
メタデータ1212は、「TEXT」オブジェクトA1204に対応するメタデータである。メタデータ1212は検索キーワード領域、編集キーワード領域、編集履歴領域を含む。メタデータ1212に含まれるこれらの領域のそれぞれは、メタデータとしての文字列の群を形成する。メタデータ1212には、検索キーワードとして「都市」、「CO2排出量」、「推移図」、「関連図」などの単語が、編集キーワードとして「第一段落」が、編集履歴として「第一段落の文章変更」含まれている。
メタデータ1214は「TEXT」オブジェクトB1206に対応するメタデータである。メタデータ1214には、検索キーワードとして「CO2排出量」、「比較図」、「統計」が、編集キーワードとして「表1」、「Fig.1」、「Fig.2」が格納されている。更に、編集履歴として「図1」を「Fig.1」に変更したことと「図2」を「Fig.2」に変更したことが格納されている。
メタデータ1216は「IMAGE」オブジェクト1202に対応するメタデータである。ここにはオブジェクト1202の画像特徴情報が格納されている。
HDD210には統合ドキュメントに対する編集履歴と生成された編集用キーワードをユーザ毎に記録したデータベースである。統合ドキュメント中のメタデータに含まれる編集履歴と編集キーワードとを収集して、編集処理を行ったユーザ毎に分類してHDD210内に記憶する。
編集情報データベース1218は、MFP100のHDD210内に構築されるデータベースである。編集情報データベース1218には、統合ドキュメントに対する編集の履歴をユーザ毎に保存している。後に詳述するが、編集情報データベース1218に保存されたキーワードは、統合ドキュメントの編集を行う際に検索対象となりやすいキーワードである。統合ドキュメント中のオブジェクトから得られた文字列のうち、編集情報データベース1218に保存されたキーワードと適合した文字列をメタデータとして登録すれば、検索や編集などで用いられる可能性の高い文字列をメタデータとすることができる。これによって全ての副次情報をメタデータとして登録せずに済み、統合ドキュメントのメタデータが肥大化することを防止できる。編集情報データベース1218はメタデータとすべき文字列を記憶したデータベースであればよいので、統合ドキュメントに対する編集の履歴の他に、統合ドキュメントの検索に用いたキーワードをデータベース化したものでもよい。あるいは検索のためによく用いられるキーワードを登録したデータベースであってもよい。また、編集情報データベース1218は、MFP100のHDD210以外の記憶装置内に構築されていてもよい。例えば、ネットワーク上の他のMFPのHDD内に編集情報データベース1218が構築されていてもよい。また、MFP以外にデータベースサーバを別途用意し、当該データベースサーバ内に編集情報データベース1218を構築してもよい。
図13は画像処理装置による統合ドキュメントの編集処理の一例を示すフローチャートである。本フローチャートは、MFP100のCPU202が実行する。
まず、ステップS1301において、ユーザによる操作パネル121の操作により統合ドキュメントの編集指示を受け付ける。ステップS1301において、操作パネル121には、図14や図15に示すような操作画面が表示される。
図14は、MFPの操作パネルの表示例を示す図である。ここでは統合ドキュメントの編集例として、統合ドキュメント中の単語である“図”を“Fig”に変更する場合を例にとって説明する。図14(a)は、操作パネル121に置換対象とする文字列を入力する欄(1402)と、置換後の文字列を入力する欄(1404)を表示している。ユーザは、「置換前の文字列」の下の入力欄1402に置換対象の文字列を入力し、「置換後の文字列」の下の入力欄1404に変換後の文字列を入力する。ここでは置換対象の文字列として“図”を入力し、変換後の文字列として“Fig”を入力する。その後、実行ボタン1406を押下すると、図14(b)の画面に遷移する。
図14(b)の画面には、置換対象設定ボタン1408が表示されている。ユーザがこのボタン1408を押下すると図14(c)の画面に遷移する。図14(c)の画面では、置換する文字列の条件を入力することができる。図の「オブジェクトの種類」の下の3つのボタンは文字列が含まれる描画オブジェクトの種類を示す。オブジェクトの選択は排他的ではなく複数選択することも可能である。その下のページ範囲入力欄1410は置換対象となるページの範囲を指定するための入力欄である。
上記の説明では記述していないが、近傍検索などの条件設定を追加しても良い。
図14では、統合ドキュメント中の文字列の置換を行う場合の操作パネル121の表示例を示したが、統合ドキュメント中のある段落を他の段落に置換する編集も存在する。
図15は、統合ドキュメント中の段落を他の段落に置換する場合の操作パネルの表示例を示す図である。図15(a)(a)では「置換対象段落」として、置換される段落を指定する。また、「置換段落」として置換する段落を指定する。段落の指定には2通りあり、「段落番号指定」(1502、1504)では統合ドキュメントのファイル名と段落番号によって段落を指定する。一方、「キーワード指定」(1506、1508)ではユーザに指定されたキーワードを含む段落対象の段落として特定する。図15(b)は「段落番号指定」(1502、または1504)を押下した場合に表示される入力画面の一例を示す。また、図15(c)では「キーワード指定」(1506、1508)を押下した場合に表示される入力画面の一例を示す。
図13のフローチャートの説明に戻る。ステップS1302において、メタデータ、あるいはドキュメントヘッダ内の編集禁止情報を確認し、編集禁止であったならば本フローチャートを終了する。編集禁止情報がなければステップS1301で指定された統合ドキュメントの編集指示で指定された全ての編集処理についてL1300とL1310の間のループ処理を繰り返し行う。
ステップS1303では、ステップS1301で指定された置換前の文字列と同じ文字列が統合ドキュメント中のメタデータに含まれる「編集キーワード」内に存在するか否かを検索する。ステップS1303での検索の結果、文字列が「編集キーワード」中に存在しなければ(ステップS1304でNo)ステップS1305へ進み、統合ドキュメント内のオブジェクト内から、置換前の文字列を検索する。例えば、統合ドキュメント内のオブジェクトが「TEXT」属性であればオブジェクト全体に対して置換前文字列の検索を行う。ここで、必要に応じてOCR処理を行ってもよい。ここで印刷データのレンダリング後の画像に対してOCRをかけたものを検索する理由として連続した文字列でありながらベクタデータ内では別々に格納された文字列を認識するためである。
置換する文字列を見つけたならばステップS1306へ進み、ステップS1301で指定された置換文字列に置換する等の編集処理を行う。
一方、ステップS1303での検索の結果、文字列が「編集キーワード」中に存在した場合(ステップS1304でYes)、ステップS1306に進む。ステップS1306では当該編集キーワードで特定されるオブジェクト内の文字列をステップS1301で指定した置換文字列に置換するなどの編集処理を行う。なお、ステップS1303の処理のように、オブジェクト全体から文字列を検索するよりも、編集キーワードに基づいてオブジェクト中の編集対象文字列を特定する方がより高速文字列を特定することが可能になる。ステップS1306で行われる編集処理は、文字列単位での編集の場合もあり、段落単位での編集の場合もある。
ステップS1306で行った編集処理が段落単位での編集であったならば(ステップS1307でYes)ステップS1308へ進み、統合ドキュメント内のオブジェクトを分割し、編集部分だけの格納ブロックを生成する。
そして、ステップS1309へ進み、分割したオブジェクトのそれぞれに対してメタデータを再生成する。
そして、ステップS1310へ進み、ステップS1306で編集した段落内の文字列を抽出し、編集用検索キーワードを生成する。
そして、ステップS1311へ進み、再生成したメタデータ内にステップ1306で行った編集の履歴を抽出する。そして、ステップS1312へ進み、再生成したメタデータ内にステップ1310で生成した編集用検索キーワードを格納する。
一方、文字列単位での編集があったならば(ステップS1307でNo、かつ、ステップS1313でYes)、ステップS1314へ進み、メタデータ内にステップ1306で行った編集の編集履歴を抽出する。そして、ステップS1315へ進み、ステップS1306で編集した文字列を抽出し、編集用検索キーワードを生成する。
そして、ステップS1316へ進み、ステップS1314で抽出した編集履歴と、ステップS1315で抽出した編集キーワードとを、編集対象となったオブジェクトのメタデータとして保存する。
全ての編集処理が終了したらステップS1317へ進み、今回使用された編集キーワードとそのヒット率を元にユーザ別編集情報データベース内にあるユーザ情報に含まれる検索ヒット率が高いキーワードの一覧を更新する。
図16は、図15に示した編集処理によって、オブジェクトとメタデータがどのように変化するのかを示した図である。図16は統合ドキュメント内の「TEXT」オブジェクト内の段落及び単語の編集を行っている。編集前の「TEXT」オブジェクト1602おいて、第一段落1604が置換対象となり、第二段落1606中の「図」という文字列が置換対象となっている。メタデータ1698は編集前オブジェクトに対応するメタデータである。
編集後オブジェクト1610は第一段落1604を別の段落の文章で置換した後のオブジェクトである。編集後オブジェクト1614は、第二段落1606の文字列「図」を、文字列「Fig.」に置換し他オブジェクトである。本実施形態では、段落ごとに編集を行った場合、編集を行った段落ごとに分割したオブジェクトを生成する。図13のフローチャートにおけるステップS1308の処理を行うことによってこのようにオブジェクトが分割される。
編集前オブジェクト1602が編集後オブジェクト1610、1614に分割されたことに伴い、対応するメタデータ1612、1616も編集後オブジェクトに対応して再生成される。
ステップS1310で抽出した編集キーワードは、ステップS1312においてメタデータ1612の編集キーワードとして格納される。ステップS1315で抽出された編集キーワードはステップS1316においてメタデータ1616の編集キーワードとして格納される。
ステップS1311で抽出された編集履歴は、ステップS1312でメタデータ1612の編集履歴として保存される。ステップS1314で抽出された編集履歴は、ステップS1316においてメタデータ1616の編集履歴として格納される。
図17は本実施形態の画像処理装置における、編集キーワードの登録処理の一例を示すフローチャートである。本フローチャートは、MFP100のCPU202が実行する。
まず、ステップS1701で、統合ドキュメントではない文書データがMFP100のHDD210に格納される。文書データとしては、原稿をスキャンして得られる画像データや、外部から受信したPDLや文書データなどが相当する。
次に、ステップS1702で制御ユニット201によって文書データを変換して統合ドキュメントを生成する。この変換、生成処理は図7や図8で説明した処理に相当する。ここで、変換前の文書データに編集禁止を示す情報が付加されている場合や、ユーザによって編集禁止の指定がされた場合にはドキュメントヘッダやメタデータ内の編集禁止情報格納領域に禁止を示すデータを格納する。
次にステップS1703に進み、生成されたメタデータ内に編集禁止の情報があれば編集キーワードの作成処理を行わずに本フローチャートを終了する。一方、編集禁止情報が無ければ(ステップS1703でNo)、ステップS1704乃至ステップS1706までの処理統合ドキュメントの全てのページに対して実行する。ステップS1704では、予め編集に対象になりやすい単語や描画オブジェクトに関するキーワードを登録した汎用キーワードデータベースを参照して、汎用キーワードデータベースに登録されているキーワードが内部ドキュメント内に含まれていないかを検索する。
図18は本実施形態における汎用キーワードデータベースの一例を示す。汎用キーワードデータベースは制御ユニット201上のHDD210、ROM206、RAM207上のいずれかに構築される。キーワードの文字列を管理するポインタとキーワードの文字列から構成されている。そして、組み合わされた文字列がキーワードになる場合、例えば“XX月XX日”のように連続していない「月」と「日」が組み合わさってキーワードになる場合は「月」と「日」は別に格納されポインタでリンクされる。
ステップS1704での検索の結果、統合ドキュメント内に汎用キーワードデータベース内に登録されているキーワードが存在するオブジェクトがあったならば(ステップS1705でYes)、ステップS1706に進む。ステップS1706では、当該適合したキーワードを当該オブジェクトに対応するメタデータ内の編集用キーワード格納領域に格納する。一方、ステップS1704での検索の結果、統合ドキュメント内に汎用キーワードデータベース内に登録されているキーワードが存在するオブジェクトがなければ、次のページのオブジェクトに対してステップS1704乃至ステップS1706の処理を行う。
全てのページに対してステップS1704乃至ステップS1706の処理を実行したら本フローチャートを終了する。図17のフローチャートは、統合ドキュメントを生成する処理、例えば、図7のフローチャートのステップS705、ステップS709、ステップS7121や、図8のフローチャートにおけるステップS808の中で実行するようにしてもよい。
図13あるいは図17のフローチャートを実行することで、統合ドキュメントに対して、編集処理で用いられるであろうキーワードを予めメタデータに格納しておくことが出来る。よって統合ドキュメント内の全てのキーワードをメタデータに格納することなく、かつ編集処理で用いられるであろうキーワードをメタデータに格納しておくことが出来、効率的にメタデータを構築することが可能になる。
図19は本実施形態の画像処理装置における、編集キーワード登録処理の他の一例を示すフローチャートである。本フローチャートは、MFP100のCPU202が実行する。MFP100は図17のフローチャートを実行でき、かつ図19のフローチャートが実行であってもよい。
まず、ステップS1901で、統合ドキュメントではない文書データがMFP100のHDD210に格納される。文書データとしては、原稿をスキャンして得られる画像データや、外部から受信したPDLなどが相当する。
そして、ステップS1902で、文書データを変換して統合ドキュメントを生成する。統合ドキュメントの生成処理は図7、あるいは図8に示した方法を用いる。ここで、変換前の文書データに編集禁止を示す情報が付加されていた場合や、ユーザによって編集禁止の指定がされた場合にはドキュメントヘッダやメタデータ内の編集禁止情報格納領域に禁止を示すデータを格納する。
そして、ステップS1903に進み、生成されたメタデータ内に編集禁止の情報があれば編集キーワードの作成処理を行わずに本フローチャートを終了する。
一方、編集が禁止されていなければ(ステップS1903でNo)、編集情報データベース1218(図12)にステップS1901で文書データをHDD210に格納したユーザの情報が登録されていないかを検索する。編集情報データベース1218にユーザ情報が無ければ(ステップS1904でNo)本フローチャートを終了する。
図20に本実施形態におけるユーザ別編集情報データベースの一例を示す。図20にはユーザ別の編集履歴情報が編集情報データベース1218内に格納されている様子を示している。編集情報データベース1218内には、各ユーザの識別情報(ユーザID)に対応して、編集履歴1(2002)、編集履歴2(2010)と続く複数の編集履歴が格納されている。各編集履歴には、編集の内容2004、そのときに使用された編集キーワード2006、編集後に生成されたキーワード2008が格納されている。
図19の説明にもどる。編集情報データベース1218にステップS1901で文書データをHDD210に格納したユーザの情報が存在する場合、ステップS1905乃至ステップS1914の処理を統合ドキュメント内の全てのページに対して繰り返し処理する。一方、編集情報データベース1218にステップS1901で文書データをHDD210に格納したユーザの情報が存在しない場合(ステップS1904でNo)、本フローチャートを終了する。
ステップS1905では、編集情報データベース1218内の当該ユーザの編集情報に、編集履歴として段落単位の編集に関する記録があるかを検索する。段落単位の編集記録があればステップS1906に進み、そうでなければステップS1911へ進む。ステップS1905では、そのとき編集された段落と同一の段落がステップS1902で生成した統合ドキュメント内に無いかを検索する。ここでは、編集情報データベース1218に格納されている段落単位での編集キーワードと統合ドキュメント中のメタデータに含まれるキーワードとを照合して検索する。あるいは、編集情報データベース1218に格納されている段落単位での編集キーワードと統合ドキュメント中の「TEXT」オブジェクト内の文字列とを照合して検索する。
もし過去に編集された事がある段落と同一のものが含まれるオブジェクトが存在するならば (ステップS1907でYes)、ステップS1908へ進み、そうでなければステップS1911へ進む。ステップS1908では、当該オブジェクトの中からその段落を独立したベクタデータのオブジェクトとして分割する。そして、ステップS1909において、ステップS1908で分割したオブジェクトに対するメタデータを生成する。そして、ステップS1910に進み、ステップS1906での検索において用いられたキーワードを編集情報データベース1218から取り出し、分割されたオブジェクトに対するメタデータの編集用キーワードの格納領域に登録する。
ステップS1911では、編集情報データベース1218内の当該ユーザの編集情報に、単語単位での編集記録があるかを検索する。ここでは、編集情報データベース1218に格納されている単語単位での編集のキーワードと統合ドキュメント中のメタデータに含まれるキーワードとを照合して検索する。或は、編集情報データベース1218に格納されている単語単位での編集のキーワードと統合ドキュメント中の「TEXT」オブジェクト内の文字列とを照合して検索する。編集記録があれば(ステップS1905でYes)該当する単語が内部ドキュメントに含まれるかを検索する。
もし、過去に編集した単語と同一の単語があれば(ステップS1913でYes)、ステップS1914に進み、そうでなければ次のページの処理へ進む。ステップS1914では、検索でヒットした単語を含むオブジェクトのメタデータ中の編集キーワードとして、当該単語を登録する。図19のフローチャートを実行することにより、新たに統合ドキュメントを生成した際に、その統合ドキュメントを生成したユーザが過去に行った編集で用いられたキーワードを当該統合ドキュメントのメタデータとして登録することが可能になる。よって、編集されたことのない統合ドキュメントをあらたに生成した時点で、編集時によく使われるであろうキーワードをメタデータに含めることが可能になり、当該統合ドキュメントのメタデータを効率よく登録することが可能になる。
図21は本実施形態における画像処理装置における検索キーワード登録処理の一例を説明するフローチャートである。本フローチャートは、MFP100のCPU202が実行する。MFP100は図17や図19のフローチャートを実行でき、かつ図21のフローチャートが実行可能であってもよい。
図21のフローチャートを実行する前提として、MFP100のHDD210内に検索キーワードデータベースが構築されているものとする。検索キーワードデータベースは、編集情報データベース1218(図12)と類似のデータベースであるが、統合ドキュメントに対する検索の履歴を収集し、検索に用いられやすいキーワードを記憶したデータベースである。
まず、ステップS2101で、統合ドキュメントではない文書データがMFP100のHDD210に格納される。文書データとしては、原稿をスキャンして得られる画像データや、外部から受信したPDLなどが相当する。
そして、ステップS2102で、文書データを変換して統合ドキュメントを生成する。統合ドキュメントの生成処理は図7、あるいは図8に示した方法を用いる。ここで、変換前の文書データに編集禁止を示す情報が付加されていた場合や、ユーザによって編集禁止の指定がされた場合にはドキュメントヘッダやメタデータ内の編集禁止情報格納領域に禁止を示すデータを格納する。
そして、ステップS2103に進み、生成されたメタデータ内に編集禁止の情報があれば編集キーワードの作成処理を行わずに本フローチャートを終了する。
一方、編集が禁止されていなければ(ステップS2103でNo)、ステップS2104乃至ステップS2106を統合ドキュメントの全てのページに対して繰り返し実行する。
ステップS2104では、文書データから抽出した文字列のうち、検索キーワードデータベースに登録された文字列と合致するものがあるか否かを検索する。そして、合致するものがあれば(ステップS2105でYes)その文字列を統合ドキュメントのメタデータとして登録する(ステップS2106)。
このようにして、文書データから抽出された文字列の全てをメタデータとして登録するのではなく、検索キーワードデータベースを用いて検索に用いられる可能性の高い文字列をメタデータとして登録する。これにより、統合ドキュメント中のメタデータが肥大化することを防ぐことができる。
図22は本実施形態の画像処理装置における、編集キーワード登録処理の更なる他の一例を示すフローチャートである。本フローチャートは、MFP100のCPU202が実行する。なお、MFP100は、図17や図19のフローチャートを実行でき、更に図22のフローチャートを実行するようにしてもよい。
ステップS1901乃至ステップS1903は、図19のフローチャートのステップS1901乃至ステップS1903と同じ処理であるので説明を省略する。
ステップS2204では、ステップS1902で生成された統合ドキュメントのメタデータと、HDD210に既に格納されている、同一ユーザが生成を指示した他の統合ドキュメントのメタデータと比較する。ここで、メタデータ同士を比較して、両者で共通に持つキーワードの数に基づいてメタデータが類似するか否かを判定する。
そして、類似するメタデータを持つ統合ドキュメントがなければ(ステップS2205でNo)本フローチャートを終了する。一方、類似するメタデータを持つ統合ドキュメントが存在するならば(ステップS2205でYes)、統合ドキュメント中の全てのページに対してステップS2206乃至ステップS2208の処理を繰り返す。
ステップS2206では、類似したメタデータを持つ統合ドキュメントのメタデータに対応するオブジェクトを特定する。そしてステップS2207に進み、当該オブジェクトと同一のオブジェクトがステップS1902で生成した統合ドキュメント内に含まれるか否かを判定する。
含まれていなければ(ステップS2207でNo)、次のページの処理に進み、含まれていたならば(ステップS2207でYes)、オブジェクトに対応するメタデータに編集キーワードとして、類似メタデータの編集キーワードを格納する。
図22のフローチャートによれば、新たに生成した統合ドキュメントと類似したドキュメントが存在すれば、類似ドキュメントのメタデータ中の編集キーワードを新たに生成した統合ドキュメントのメタデータとして登録することが出来る。これにより、新たに生成した統合ドキュメントのメタデータを効率よく登録することが可能になる。
<置換操作の変形例>
上述の実施形態において、図14、図15に示したように、統合ドキュメント中の文字列の置換を行う場合の操作として操作パネル121を用いての文字入力による操作例を示した。他の操作例を図23に示す。
図23は図14、図15の操作例における操作パネル121に替えてタッチパネルを用いた操作例を示した図である。タッチパネル2602に表示されるウィンドウ2604上において、ユーザが画像指定ボタン2608を押すと、HDD210内の統合ドキュメントや、スキャナユニット122から読み込まれた画像データに基づいて生成された統合ドキュメントが表示される。ここで、ユーザはタッチペン2610を使用して置換を行う部分を指定することで統合ドキュメントの置換のための操作を行う事ができる。
また、音声入力可能な画像処理装置ならば図14、図15で示されたパネルでの文字入力の変わりに音声入力を行っても良い。
<データベースの共有>
次にネットワークを介して編集キーワード等のデータベースを複数のMFP間で共有する処理について説明する。
上述の実施形態では、統合ドキュメントはMFP100のHDD210格納されている。しかし、複数のMFPがネットワークを介して接続されている画像処理システムにおいては、それぞれの画像処理装置にHDDを備えている。そして、あるユーザの所有する統合ドキュメントが複数のMFPのHDDに分散して格納されていてもよい。
図24にネットワークを介して複数のMFPが接続された画像処理システムの一例を示す。図24において、画像処理システムは、互いにLAN(Local Area Network)2700等を介して接続された、第1MFP2710、第2MFP2720、第3MFP2730で構成されている。
各MFPはそれぞれHDD(Hard Disk Drive:二次記憶装置)2712、2722、2732を具備している。各HDD2712、2722、2732統合ドキュメントなどのデータが格納されている。各MFPは所定のネットワークプロトコルを使用して互いに通信することができる。なお、LAN2700上に接続されるこれらのMFPは図24に示すような物理的な配置に限定しなくてよい。また、LAN2700上にはMFP以外の機器(例えばPC、各種サーバ、プリンタなど)が接続されていてもよい。 図24のシステムにおいて、例えば、第1MFP2710で編集した統合ドキュメントのメタデータを他のMFP(2720、2730)へ送信し、他のMFP(2720、2730)は受信したメタデータを各々のHDD(2722、2732)に格納する。これにより、各MFP間で編集キーワードや編集履歴等のデータベースを共有することができる。
図25は本実施形態におけるメタデータの共有処理を説明するフローチャートである。ここでは、一例として、第1MFP2710で統合ドキュメントを編集し、そのメタデータを第2MFP2720、第3MFP2730へ送信する場合について説明する。図25の(a)のフローチャートは、第1MFP2710が実行するフローチャートであり、(b)のフローチャートは第2MFP2720、第3MFP2730のそれぞれが実行するフローチャートである。まず、第1MFP2710は、ステップS2802において、図13で示した統合ドキュメント編集処理のフローを実行する。
そして、ステップS2804で、第1MFP2710のHDD210内のユーザー別編集情報データベースに登録した編集履歴と編集キーワードとを他のMFP(2720、2730)へ送信してフローチャートを終了する。以上が第1MFP2710の処理である。
一方、ステップS2806において第2、第3MFP(2720、2730)は第1MFP2710から編集履歴と編集キーワードを受信する。
そして、ステップS2808において、編集履歴の内容を各MFPが備えるHDD210内のユーザー別編集情報データベースにステップS2806で受信した編集履歴、編集キーワードを記憶する。
そして、ステップS2810において、新しく登録された編集キーワードを元に検索ヒット率が高いキーワードの一覧を更新する。そして本フローチャートを終了する。
<編集キーワード登録処理の変形例>
図22のフローチャートでは、統合ドキュメントを生成した場合に、同一MFPのHDD210内に記憶されている類似ドキュメントのメタデータを、生成した統合ドキュメントのメタデータとして登録した。しかし、類似ドキュメントはネットワークに接続された他のMFPに記憶されたドキュメントであってもよい。
図26は編集キーワード登録処理の変形例となるフローチャートである。ここでは、図24のシステムにおいて、第1MFPが新たに統合ドキュメントを生成し、生成したドキュメントのメタデータを登録する場合を例にとって説明する。図26において、(a)は第1MFP2710が実行する処理であり、(b)は第2、第3MFP(2720、2730)のそれぞれが実行する処理である。
まず、ステップS2902で、第1MFP2710で統合ドキュメントを生成し、第1MFP2710のHDD210に生成した統合ドキュメントを記憶する。そして、ステップS2904で、生成した統合ドキュメント中のメタデータに編集禁止を示す情報が付加されているか否かをチェックする。チェックの結果、編集禁止を示す情報が付加かされている場合(ステップS2904でNo)には、本フローチャートを終了し、そうでなければ(ステップS2904でNo)ステップS2906へ進む。ステップS2906では、第1MFP2710はメタデータを第2、第3MFPへ送信し、類似した統合ドキュメントの検索を依頼する。
そして、ステップS2908で、ステップS2902で生成された統合ドキュメントのメタデータと、HDD210に既に格納されている、同一ユーザが生成を指示した他の統合ドキュメントのメタデータと比較する。
更に、ステップS2910では、ステップS2906で送信したメタデータに対する応答として、第2MFP2720、あるいは第3MFP2730からの検索結果を受信する。検索結果としてもし類似した統合ドキュメントがあればそのメタデータを受信する。
そして、ステップS2812において、ステップS2908での比較結果、およびステップS2901で受信したメタデータから、類似するメタデータを持つ統合ドキュメントがあるか否かを判定する。もしあれば(ステップS2912でYes)ステップS2914乃至ステップS2918の処理を類似した統合ドキュメントの全ページに対して繰り返し実行する。一方、類似しためたデータを持つ統合ドキュメントが無ければ本フローチャートを終了する。
ステップS2914では、類似したメタデータを持つ統合ドキュメントのメタデータに対応するオブジェクトを特定する。そしてステップS2916に進み、当該オブジェクトと同一のオブジェクトがステップS2902で生成した統合ドキュメント内に含まれるか否かを判定する。
含まれていなければ(ステップS2916でNo)、次のページの処理に進み、含まれていたならば(ステップS2916でYes)、オブジェクトに対応するメタデータに編集キーワードとして、類似メタデータの編集キーワードを格納する。
図26の(b)は、第2、第3MFP(2720、2730)での処理を示すフローチャートである。本処理は、第2、第3MFP(2720、2730)のCPU202が実行する。
まず、ステップS2920では、第1MFP2710がステップS2906において送信したメタデータを受信する。そして、ステップS2922において受信したメタデータと、HDD210に既に格納されている、同一ユーザが生成を指示した他の統合ドキュメントのメタデータと比較する。そして、類似するメタデータを持つ統合ドキュメントが無ければ(ステップS2924でNo)本フローチャートを終了する。一方、類似するメタデータを持つ統合ドキュメントが存在するならば(ステップS2924でYes)、その統合ドキュメントのメタデータを第1MFP2710へ送信する。そして本フローチャートを終了する。なお、類似した統合ドキュメントを特定する方法としては、様々な方法が考えられる。例えば、それぞれの統合ドキュメントから得られる特徴量同士を比較し、類似度を算出し、その類似度が一定の類似度以上の値であれば両ドキュメントは類似度が高いものと判定してもよい。
図26のフローチャートを実行することにより、生成した統合ドキュメントに類似した統合ドキュメントの検索を、統合ドキュメントを生成したMFP以外のMFPをも対象に行うことができる。これにより、図22での処理よりも類似した統合ドキュメントを見つけ出す可能性が高まり、統合ドキュメント中のメタデータの登録をより効率的に行うことができる。
以上説明したように、本実施形態によれば、統合ドキュメントから、検索で用いられるであろうキーワードや、編集で用いられるであろうキーワードをメタデータとして登録することができる。これにより、生成した統合ドキュメントのメタデータを効率的に生成することができ、統合ドキュメントのメタデータが必要以上に大きくなることを防止することができる。
[他の実施形態]
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、PC、複写機、複合機及びファクシミリ装置の如くである。
本発明は、前述した実施形態の各機能を実現するための制御プログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
従って、本発明の機能・処理をコンピュータや上述の装置で実現するために、該コンピュータや上述の装置にインストールされる制御プログラムのプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するための制御プログラム自体も本発明の一つである。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット/イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット/イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。