(実施例1)
図1は、本発明の画像処理装置の一例となる、プリンタ機能、コピー機能、ファクシミリ機能を有する複合画像処理装置(以下、MFP:Multi Function Peripheralという)の内部構造を示す断面図である。
図1において、MFP100は、ネットワークを介して印字データを受取り印刷するネットワークプリンタとして使用することができる。また、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に示したMFPの制御ユニットのハードウェア構成を示すブロック図である。
クライアントPC101、MFP102はネットワーク(LAN)を介してMFP100と接続されている。本実施形態においては、クライアントPCやMFPなど、ネットワーク上のノードは複数存在してもよい。
ネットワークインターフェイス部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からの処理を行うことができる。
また、統合ドキュメント生成処理33で生成した統合ドキュメントをHDD210に格納してもよい。これにより、スキャン処理を実現することができる。
図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の画像特徴情報が格納されている。
メタデータ1212、1214、1216には、メタデータとして、セキュリティ情報などの情報をもたせることもできる。セキュリティ情報は、オブジェクトに対してアクセス可能なユーザを特定する情報を格納したり、アクセスを許可するためのパスワード情報を格納することができる。統合ドキュメントはこの他にも様々な種類のメタデータを持つことが可能である。
これまで説明したように、統合ドキュメントは様々な種類のメタデータを持つことができる。このような複数種類のメタデータの中で、特に編集キーワードや編集履歴といった情報は、統合ドキュメントに対する編集処理が行われるたびに情報が追加されるのでメタデータが肥大化することになる。これらの情報が増加した場合、統合ドキュメントを検索する上では利便性が向上することが考えられるが、一方では統合ドキュメントを格納する記憶領域が消費されることとなる。また、メタデータの増大に伴い統合ドキュメントのデータサイズが大きくなるので統合ドキュメントを外部へ送信する場合における送信効率が低下する。従って、肥大化したメタデータを適切に削除する処理が必要になる。図13は本実施形態のMFPにおけるメタデータの削除処理の一例を示すフローチャートである。本フローチャートはMFP100のCPU202が実行する。
ステップS2401において、MFP100が備える統合ドキュメントを記憶するための記憶領域の残量を確認する。統合ドキュメントを記憶するための記憶領域は、HDD210内に設けられている。HDD210の記憶領域全体を統合ドキュメントを記憶するための記憶領域としてもよいし、HDD210の記憶領域全体の中の予め定められた一部の領域を統合ドキュメントを記憶するための記憶領域としてもよい。
記憶領域の残量が一定値以下になった場合(ステップS2042でYes)、ステップS2403−ステップS2406のループ(ループ2)を実行し、そうでない場合、当該本フローチャートを終了する。
そして、HDD210内に記憶されているすべての統合ドキュメントに対してステップS2403−ステップS2406の処理を実行する(ループ2)。
ステップS2403では、1つの統合ドキュメントに注目し、注目統合ドキュメントがメタデータとして編集キーワードを有しているか否かを判定する。編集キーワードを有していればステップS2404へ進み、編集キーワードを有していなければステップS2405へ進む。ステップS2404では、注目統合ドキュメント中の編集キーワードを削除する。そしてステップS2405へ進む。
ステップS2405では、注目統合ドキュメントがメタデータとして編集履歴を有しているか否かを判定する。編集履歴を有していればステップS2406へ進み、編集履歴を有していなければ注目統合ドキュメントに対するループ2内の処理を終了する。
ステップS2406では、注目統合ドキュメント中の編集履歴を削除する。
ループ2内の処理を終了したら、注目統合ドキュメントを他の統合ドキュメントとしてループ2の処理を実行する。全ての統合ドキュメントに対してループ2の処理を実行したら本フローチャートを終了する。
図13の処理を実行することで、統合ドキュメントを記憶する記憶領域の残量が少なくなってきた場合に、メタデータの一部として編集キーワードと編集履歴情報を削除する。これにより、統合ドキュメント自体を削除することなく、記憶領域の空き容量を増加させることができる。
図14は本実施形態のMFPにおけるメタデータの削除処理の他の一例を示すフローチャートである。本フローチャートはMFP100のCPU202が実行する。なお、MFP100は、図13のフローチャート、図14のフローチャートとも実行可能であってもよい。
ステップS2501において、MFP100のHDD210内に格納された統合ドキュメントのうち、予め定められた時間の間アクセスされていない統合ドキュメントを検索する。ここで言うアクセスとは、MFP100を操作するユーザが、操作パネル121を操作して、HDD210内の統合ドキュメントを指定して印刷したり送信したり編集したり表示したりすることを含む。あるいは、クライアントPC101やMFP102などの外部の装置からHDD210内の統合ドキュメントを指定して印刷したり送信したり編集したり表示したりすることも含む。
ステップS2502では、ステップS2501での検索の結果、所定時間アクセスされていない統合ドキュメントがあるか否かを判定する。そのような統合ドキュメントがないと判定した場合には、メタデータを削除すべき統合ドキュメントは無いものとして本フローチャートを終了する。一方、所定時間アクセスされていない統合ドキュメントが存在する場合、それらの統合ドキュメントに対してステップS2503−ステップS2506のループ(ループ3)を実行する。
ステップS2503では、所定時間アクセスが無い統合ドキュメントの内の1つを注目統合ドキュメントとし、注目統合ドキュメント内のメタデータに編集キーワードが存在するか否かを判定する。編集キーワードがあればステップS2504へ進み、編集キーワードを削除してステップS2505へ進む。一方編集キーワードが無ければステップS2505へ進む。
ステップS2505では、注目統合ドキュメント内のメタデータに編集履歴が存在するか否かを判定する。編集履歴があればステップS2506へ進み編集履歴を削除して注目統合ドキュメントに対するループ3内の処理を終了する。一方、編集履歴が存在しなければ注目統合ドキュメントに対するループ3内の処理を終了する。
ループ3内の処理を終了したら、注目統合ドキュメントを他の統合ドキュメントとしてループ3の処理を実行する。所定時間アクセスの無い全ての統合ドキュメントに対してループ3の処理を実行したら本フローチャートを終了する。
なお、図14のフローチャートは、HDD210内の統合ドキュメント格納領域の残量が所定値以下になったことに応答して実行開始するようにしても良い。
図14のフローチャートを実行することにより、所定時間アクセスの無い、即ちあまり利用されることの無いと判断される統合ドキュメントに対しては、メタデータの一部である編集キーワードや編集履歴を削除することで、統合ドキュメントの記憶領域を無駄に消費しないようにすることが可能になる。
図15は、本実施形態のMFPにおけるジョブ実行時のメタデータ削除処理の一例を示すフローチャートである。本フローチャートはMFP100のCPU202が実行する。なお、MFP100は、図13のフローチャート、図14、図15のフローチャートともに実行可能であってもよい。
ステップS2601において、MFP100のHDD210内に格納されている統合ドキュメントに対するジョブの実行指示を受け付ける。実行指示を受け付けるジョブの種類としては、統合ドキュメントをMFP100で印刷出力するローカルプリント、統合ドキュメントを外部のMFP102へ送信し、MFP102で印刷出力するリモートプリント、統合ドキュメントを電子メールやFTPなどのプロトコルを用いてMFP102やクライアントPC101などの装置へ送信する送信ジョブ、統合ドキュメントをファクシミリ送信のための画像フォーマットに変換してから外部装置へファクシミリ送信するFAX送信ジョブなどを含む。
ステップS2602において、実行指示を受け付けたジョブの種類が、統合ドキュメントを外部の装置へ送信するジョブであるか否かを判定する。たとえば、ローカルプリントであればYesと判定し、リモートプリントや送信ジョブである場合にはNoと判定する。また、FAX送信ジョブは統合ドキュメントを送信するジョブではないので、Noと判定する。ステップS2602でYesと判定した場合にはステップS2603へ進み、Noと判定した場合には、ステップS2609へ進み実行指示されたジョブを実行して本フローチャートを終了する。
ステップS2603では、送信する統合ドキュメントを外部装置で再利用可能か否かを判定する。再利用可能と判定した場合にはステップS2609へ進み、再利用しないと判定した場合にはステップS2604へ進む。
送信する統合ドキュメントを外部装置で再利用可能か否かは、実行を指示されたジョブが特定の種類のジョブであるかに基づいて判定する。たとえば、送信ジョブを用いて統合ドキュメントを外部装置へ送信した場合、当該統合ドキュメントは外部装置の記憶装置に格納されることとなる。この場合、外部装置で統合ドキュメントに対して検索や編集などを行うことが考えられるので、編集キーワードや編集履歴といった情報は削除しないことが望ましい。一方、リモートプリントの実行のために統合ドキュメントをMFP102へ送信する場合、MFP102は当該統合ドキュメントに基づく印刷処理を実行するだけであり、統合ドキュメントをMFP102に保存することは無い。この場合、MFP102では編集キーワードや編集履歴といった情報を用いることは無いのでこれらの情報を削除することでデータサイズを小さくした統合ドキュメントをMFP102へ送信することが望ましい。ただし、外部装置で統合ドキュメントを再利用することは無いものの、当該ジョブの実行する上で外部装置にとって有用な情報がメタデータの中に存在するのであれば、そのような情報は削除する必要はない。たとえば、統合ドキュメント中のベクトル化データをRIPする上で有用なメタデータ、たとえば画像特徴情報などは削除せずに統合ドキュメント中に残しておく。
ステップS2604では、ジョブの実行指示対象となる統合ドキュメントのメタデータ内に編集キーワードが存在するか否かを判定する。編集キーワードが存在するならステップS2605へ進み編集キーワードを削除してステップS2606へ進む。編集キーワードが存在しないならステップS2606へ進む。
ステップS2606では、ジョブの実行指示対象となる統合ドキュメントのメタデータ内に編集履歴が存在するか否かを判定する。編集履歴が存在するならステップS2607へ進み編集履歴を削除してステップS2608へ進む。編集キーワードが存在しないならステップS2608へ進む。
ステップS2608では実行指示されたジョブを実行、即ち、統合ドキュメントを外部装置へ送信する処理を実行して本フローチャートを終了する。
図15のフローチャートによれば、統合ドキュメントを外部装置へ送信するようなジョブを実行する場合において、外部装置で当該統合ドキュメントが再利用されないのであれば、メタデータのうちの不必要なデータを削除することで統合ドキュメントの送信効率の低下を防止することができる。
以上、本実施形態によれば、統合ドキュメント中のメタデータを適切なタイミングで削除することにより統合ドキュメントを記憶する記憶領域を無駄に消費することを防止したり、また、統合ドキュメントの送信を効率よく行うことが可能になる。
なお図13、図14、図15のフローチャートでは、メタデータのうち、削除の対象となるものを編集キーワードと編集履歴としたが、これらのうちのいずれか一方のみを削除対象としても良いし、また、他の種類のメタデータを削除対象としてもよい。たとえば、検索キーワードや画像特徴情報といった情報を削除するようにしてもよい。逆に、メタデータのうち、セキュリティ情報といった情報を削除してしまうと、統合ドキュメントに対するセキュリティが低下してしまうことになるので、このような情報は削除の対象外とする。
[他の実施形態]
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。例えば、スキャナ、プリンタ、PC、複写機、複合機及びファクシミリ装置の如くである。
本発明は、前述した実施形態の各機能を実現するための制御プログラムを、システム若しくは装置に対して直接または遠隔から供給し、そのシステム等に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
従って、本発明の機能・処理をコンピュータや上述の装置で実現するために、該コンピュータや上述の装置にインストールされる制御プログラムのプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するための制御プログラム自体も本発明の一つである。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、記録媒体としては、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
また、プログラムは、クライアントコンピュータのブラウザを用いてインターネット/イントラネットのウェブサイトからダウンロードしてもよい。すなわち、該ウェブサイトから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードしてもよいのである。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるウェブサイトからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明の構成要件となる場合がある。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布してもよい。この場合、所定条件をクリアしたユーザにのみ、インターネット/イントラネットを介してウェブサイトから暗号化を解く鍵情報をダウンロードさせ、その鍵情報で暗号化されたプログラムを復号して実行し、プログラムをコンピュータにインストールしてもよい。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されてもよい。なお、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ってもよい。もちろん、この場合も、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ってもよい。このようにして、前述した実施形態の機能が実現されることもある。