(57)【特許請求の範囲】
【請求項１】
複数のファイルを合成し、合成ファイルを生成する生成手段と、
前記生成手段によって前記合成ファイルを生成する際に、前記複数のファイルに含まれるオブジェクトのうち、少なくとも１つのオブジェクトについて、他のオブジェクトの背面に配置され、前記合成ファイルを出力するときに可視化されないオブジェクトであるか否かを判定する判定手段と、
前記判定手段による判定の結果、前記少なくとも１つのオブジェクトが、他のオブジェクトの背面に配置され、可視化されないオブジェクトであると判定された場合に、該オブジェクトのデータを別ファイルとして保存する第１の保存手段と、
前記別ファイルに保存されたデータを示す情報をリンク情報として前記合成ファイルに保存する第２の保存手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記合成ファイル及び前記別ファイルには、それぞれ、保存するデータに対応するオブジェクトの付加情報がさらに保存されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記別ファイルには、前記合成ファイルに含まれるオブジェクトの付加情報がさらに保存されることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記付加情報には、前記オブジェクトごとの特徴を表す文字コードが含まれ、
前記文字コードを検索キーとして、ファイルを構成するオブジェクトを検索する検索手段をさらに備えることを特徴とする請求項２又は３に記載の画像処理装置。
【請求項５】
前記検索キー及び検索条件を操作者に入力させるための検索画面を前記画像処理装置の表示装置に表示する第１の表示制御手段をさらに備え、
前記検索条件には、前記第１の保存手段によって保存されたオブジェクトを検索対象にするか否かを示す情報が含まれることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記合成ファイルの編集を操作者に指示させるための編集画面を前記画像処理装置の表示装置に表示する第２の表示制御手段と、
前記編集画面を介して、前記合成ファイルに含まれる少なくとも１つのオブジェクトを削除する指示が入力された場合に、削除する当該オブジェクトと他のオブジェクトとの依存関係を確認する確認手段と、
確認された前記依存関係に基づいて、前記合成ファイル及び前記リンク情報を更新する更新手段と
をさらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記依存関係とは、削除される前記オブジェクトと他のオブジェクトとの位置関係であり、
前記別ファイルには、保存するデータとともに、該データに対応するオブジェクトが前記他のオブジェクトの背面又は前面に配置されているかを示す位置関係の情報が保存されることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
生成手段が、複数のファイルを合成し、合成ファイルを生成する生成ステップと、判定手段が、前記生成ステップにおいて前記合成ファイルを生成する際に、前記複数のファイルに含まれるオブジェクトのうち、少なくとも１つのオブジェクトについて、他のオブジェクトの背面に配置され、前記合成ファイルを出力するときに可視化されないオブジェクトであるか否かを判定する判定ステップと、
第１の保存手段が、前記判定ステップにおける判定の結果、前記少なくとも１つのオブジェクトが、他のオブジェクトの背面に配置され、可視化されないオブジェクトであると判定された場合に、該オブジェクトのデータを別ファイルとして保存する第１の保存ステップと、
第２の保存手段が、前記別ファイルに保存されたデータを示す情報をリンク情報として前記合成ファイルに保存する第２の保存ステップと
を実行することを特徴とする画像処理装置の制御方法。
【請求項９】
請求項８に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のファイルを１つのファイルに合成する画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ネットワークに接続された画像処理装置から他の画像処理装置へ画像データを転送する際に、解像度に依存しない画像データ形式（以下、ベクタデータと称する。）を使用する技術が知られている。このように画像データ形式としてベクタデータを使用することにより、印刷時の解像度変換による画像劣化を防止することができる。また、画像データに付加される付加情報データ（以下、メタデータと称する。）を画像検索に活用したり、印刷処理のヒント情報として使用したりする技術も知られている。
【０００３】
さらに、画像データを画像処理装置内の二次記憶装置にファイルとして保存しておけば、操作者が好きな時間に取り出して繰り返し出力することができる。以下では、このように再利用を目的として画像処理装置の二次記憶装置に画像データをファイル形式で保存する機能をボックス機能と称し、ファイルシステムをボックスと称する。ボックス内に保存するファイルには、ベクタデータやメタデータを使用することができる。また、ボックス内のファイルを合成することもできる。
【０００４】
例えば、特許文献１には、複数の画像データからそれぞれ一部分を抜き出し、１つの画像データに合成する技術が提案されている。また、特許文献１には、合成ファイルに実画像データを格納せず、別ファイルに保存された実画像データを参照するためのリンク情報を埋め込む技術が提案されている。これにより、合成したファイルのサイズを低減させることができる。
【特許文献１】特開２０００−５７３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術には、以下に記載する問題がある。例えば、特許文献１に記載の技術では、複数のファイルの一部の領域を抜き出して新たな合成ファイルを生成しており、当該合成ファイルには操作者の要望を満たすだけの十分な情報が含まれないことがある。さらに、合成ファイルの画像データとして、全ての部分領域を他のファイルへのリンク情報とした場合、当該合成ファイルを出力する際の処理が複雑になるという問題もある。即ち、合成ファイルを出力する際に、全ての領域の実画像データをリンク先から取得する処理を行わなければならず、システムに負荷がかかるとともに、処理に時間がかかってしまう。
【０００６】
本発明は、上述の問題に鑑みて成されたものであり、オブジェクトを含む複数のファイルを合成して合成ファイルを生成する場合に、出力に影響を与えることなく合成ファイルのデータサイズを低減させる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、例えば、画像処理装置として実現できる。本画像処理装置は、複数のファイルを合成し、合成ファイルを生成する生成手段と、生成手段によって合成ファイルを生成する際に、複数のファイルに含まれるオブジェクトのうち、少なくとも１つのオブジェクトについて、他のオブジェクトの背面に配置され、合成ファイルを出力するときに可視化されないオブジェクトであるか否かを判定する判定手段と、判定手段による判定の結果、少なくとも１つのオブジェクトが、他のオブジェクトの背面に配置され、可視化されないオブジェクトであると判定された場合に、オブジェクトのデータを別ファイルとして保存する第１の保存手段と、別ファイルに保存されたデータを示す情報をリンク情報として合成ファイルに保存する第２の保存手段とを備えることを特徴とする。
【０００８】
また、本発明は、例えば、画像処理装置の制御方法として実現できる。制御方法は、生成手段が、複数のファイルを合成し、合成ファイルを生成する生成ステップと、判定手段が、生成ステップにおいて合成ファイルを生成する際に、複数のファイルに含まれるオブジェクトのうち、少なくとも１つのオブジェクトについて、他のオブジェクトの背面に配置され、合成ファイルを出力するときに可視化されないオブジェクトであるか否かを判定する判定ステップと、第１の保存手段が、判定ステップにおける判定の結果、少なくとも１つのオブジェクトが、他のオブジェクトの背面に配置され、可視化されないオブジェクトであると判定された場合に、オブジェクトのデータを別ファイルとして保存する第１の保存ステップと、第２の保存手段が、別ファイルに保存されたデータを示す情報をリンク情報として合成ファイルに保存する第２の保存ステップとを実行することを特徴とする。
【発明の効果】
【０００９】
本発明は、例えば、オブジェクトを含む複数のファイルを合成して合成ファイルを生成する場合に、出力に影響を与えることなく合成ファイルのデータサイズを低減させる画像処理装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【００１１】
＜第１の実施形態＞
以下では、図１乃至図２１を参照して第１の実施形態について説明する。以下では、本発明に係る画像処理装置の一例として１Ｄカラー系のＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ：マルチファンクション周辺機器）を用いて説明する。
【００１２】
＜画像処理装置の構成＞
図１は、第１の実施形態に係るＭＦＰ１００の構成例を示す断面図である。ＭＦＰ１００は、スキャナ部１０１、レーザ露光部１０３、作像部１０４、定着部１０２及び給紙搬送部１０５を備える。
【００１３】
スキャナ部１０１は、原稿台に置かれた原稿に対して、照明を当てて原稿画像を光学的に読み取り、その像を電気信号に変換して画像データを作成する。レーザ露光部１０３は、画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射させ、反射走査光として感光ドラムに照射する。
【００１４】
作像部１０４は、感光ドラムを回転駆動し、帯電器によって帯電させ、レーザ露光部１０３によって感光ドラム上に形成された潜像をトナーによって現像化し、そのトナー像をシートに転写する。その際に転写されずに感光ドラム上に残った微小トナーを回収するといった一連の電子写真プロセスを実行して作像する。その際、シートが転写ベルトの所定位置に巻きつき、４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つそれぞれの現像ユニット（現像ステーション）が入れ替わりで順次前述の電子写真プロセスを繰り返し実行する。４回転の後、４色のフルカラートナー像を転写されたシートは、転写ドラムを離れ、定着部１０２へ搬送される。
【００１５】
定着部１０２は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、作像部１０４によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
【００１６】
給紙搬送部１０５は、シートカセットやペーパーデッキに代表されるシート収納庫を１つ以上持っており、プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚分離し、作像部１０４、定着部１０２へ搬送する。シートは作像部１０４の転写ドラムに巻きつけられ、４回転した後に定着部１０２へ搬送される。４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。また、シートの両面に画像形成する場合は、定着部１０２を通過したシートを再度作像部１０４へ搬送する搬送経路を通るように制御する。
【００１７】
プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信し、当該ＭＦＰ制御部からの指示に応じて制御を実行する。さらに、プリンタ制御部は、上述のスキャナ部１０１、レーザ露光部１０３、作像部１０４、定着部１０２、給紙搬送部１０５の各部の状態を管理する。
【００１８】
＜コントローラユニットの構成＞
図２は、第１の実施形態に係るコントロールユニット２００のハードウェア構成を示すブロック図である。ＭＦＰ１００に備えられるコントロールユニット２００は、画像入力デバイスであるスキャナ２０１と、画像出力デバイスであるプリンタエンジン２０２とに接続され、画像データの読み取りやプリント出力のための制御を行う。また、コントロールユニット２００は、ＬＡＮ１０や公衆回線２０４と接続することで、ＬＡＮ１０又は公衆回線２０４を介して、画像情報やデバイス情報を入出力するための制御を行う。
【００１９】
コントロールユニット２００は、ＣＰＵ２０５、ＲＡＭ２０６、ＲＯＭ２０７、ＨＤＤ２０８、操作部Ｉ／Ｆ２０９、操作部２１０、ネットワークＩ／Ｆ２１１、モデム２１２、システムバス２１３、イメージバスＩ／Ｆ２１４及び画像バス２１５を備える。さらに、コントロールユニット２００は、ラスタイメージプロセッサ（ＲＩＰ）２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０及びカラーマネージメントモジュール（ＣＭＭ）２３０を備える。
【００２０】
ＣＰＵ２０５は、ＭＦＰ１００全体を制御するための中央処理装置である。また、ＣＰＵ２０５は、本発明の特徴的な構成として、生成手段、判定手段、第１の保存手段、第２の保存手段、検索手段、第１の表示制御手段、第２の表示制御手段、確認手段及び更新手段として機能する。各手段については後述する。
【００２１】
ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリであり、入力された画像データを一時記憶するための画像メモリでもある。さらに、ＲＯＭ２０７は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ２０８は、ハードディスクドライブであり、各種処理のためのシステムソフトウェア及び入力された画像データ等を格納する。操作部Ｉ／Ｆ２０９は、画像データ等を表示可能な表示装置を有する操作部２１０に対するインタフェース部であり、操作部２１０に対して操作画面データを出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０から操作者が入力した情報をＣＰＵ２０５に伝える役割をする。ネットワークインタフェース２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ１０に接続して外部装置との間で情報の入出力を行う。さらにまた、モデム２１２は、公衆回線２０４に接続し、外部装置との間で情報の入出力を行う。これらのユニットがシステムバス２１３上に配置されている。
【００２２】
イメージバスＩ／Ｆ２１４は、システムバス２１３と画像データを高速で転送する画像バス２１５とを接続するためのインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５上には、ラスタイメージプロセッサ２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像編集用画像処理部２２０及びＣＭＭ２３０が接続される。
【００２３】
ＲＩＰ２１６は、ページ記述言語（ＰＤＬ）コードや後述するベクトルデータをイメージに展開する。デバイスＩ／Ｆ部２１７は、スキャナ２０１及びプリンタエンジン２０２と、コントロールユニット２００とを接続し、画像データの同期系／非同期系の変換を行う。
【００２４】
また、スキャナ画像処理部２１８は、スキャナ２０１から入力された画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、プリント出力する画像データに対して、プリンタエンジン２０２に応じた補正、解像度変換等の処理を行う。画像編集用画像処理部２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理とも称す。）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラー複合機３におけるスキャナ２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００２５】
＜コントローラソフトウェア構成＞
図３は、第１の実施形態に係るコントロールユニット２００のソフトウェア構成を示すブロック図である。ここでは、主に本発明に関する制御ブロックについて説明する。しかしながら、コントロールユニット２００の制御ブロックは、図３に示す構成に限定されず、他の制御ブロックを含んで構成されてもよい。
【００２６】
コントロールユニット２００には、プリンタＩ／Ｆ部３０１、プロトコル制御部３０２、ベクタデータ生成部３０３、メタデータ生成部３０４、ＰＤＬ解析部３０５、データ描画部３０６が備えられている。また更に、コントロールユニット２００には、パネル入出力制御部３０８、スキャン制御部３１０及び印刷制御部３１１も備えられている。また、コントロールユニット２００には、ページメモリ３０７及びドキュメント記憶部３０９が接続される。
【００２７】
プリンタＩ／Ｆ部３０１は、外部との入出力を制御する。プロトコル制御部３０２は、ネットワークプロトコルを解析・送信することによって外部との通信を制御する。
【００２８】
ベクタデータ生成部３０３は、ビットマップイメージから解像度に依存しない描画記述であるベクタデータを生成（ベクタライズ）する。
【００２９】
メタデータ生成部３０４は、ベクタライズの過程で得られる副次情報をメタデータとして生成する。メタデータとは、描画処理には必要のない検索用の付加的なデータ（付加情報）を示す。
【００３０】
ＰＤＬ解析部３０５は、ＰＤＬを解析し、より処理しやすい形式の中間コード（ＤＬ：ＤｉｓｐｌａｙＬｉｓｔ）に変換する。ＰＤＬ解析部３０５において生成された中間コードはデータ描画部３０６に渡されて処理される。データ描画部３０６は上記中間コードをビットマップデータに展開するものであり、展開されたビットマップデータはページメモリ３０７に逐次描画される。ページメモリ３０７は、レンダラが展開するビットマップデータを一次的に保持する揮発性のメモリである。
【００３１】
パネル入出力制御部３０８は操作パネルからの入出力を制御するものである。
【００３２】
ドキュメント記憶部３０９は、入力文書の一塊（ジョブ）単位にベクタデータ、ＤｉｓｐｌａｙＬｉｓｔ、メタデータを包含するデータファイルを記憶する手段であり、ハードディスク等の二次記憶装置によって実現される。なお、このデータファイルを本実施形態では「ドキュメント」と称す。
【００３３】
スキャン制御部３１０はスキャナから入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部３１１は、ページメモリ３０７の内容をビデオ信号に変換処理し、プリンタエンジン２０２へ画像転送を行なう。プリンタエンジン２０２は、受け取ったビデオ信号を記録紙に視画像形成して可視化するための印刷機構部である。
【００３４】
＜コントローラユニットのデータ処理＞
次に、図４乃至図７を参照して、ドキュメントを構成するベクタデータ、ＤＬ、メタデータがどのように生成されるかについて説明する。図４乃至図６は、第１の実施形態に係るコントロールユニット２００のデータフローを示す図である。
【００３５】
図４は、コピー動作時のデータフローを示す。まず、原稿露光部にセットされた紙原稿は、スキャン処理４０１によってビットマップデータに変換される。次に、ベクタライズ処理４０２とメタデータ生成処理４０４によってビットマップデータからそれぞれ解像度に依存しないベクタデータとそれに付随するメタデータが生成される。ベクタデータ、メタデータの具体な生成方法については後述する。
【００３６】
次に、ドキュメント生成処理４０３によってベクタデータとメタデータが関連付けられたドキュメントが生成される。続いて、ＤＬ生成処理４０５によりドキュメント中のベクタデータからＤＬが生成される。生成されたＤＬは、ドキュメント生成処理４０６によってドキュメントの中に格納されるとともに、レンダリング処理４０７に送られてビットマップに展開される。
【００３７】
展開されたビットマップは、印刷処理４０８によって紙媒体に記録されて印刷物となる。なお、出力された印刷物をまた原稿露光部にセットすればスキャン処理４０１からの処理を行うことができる。
【００３８】
図５は、図４で示したメタデータ生成処理４０４の具体的なデータフローを示す。まず、領域分割処理５０１にてビットマップから領域分割を行う。領域分割とは、入力されたビットマップ画像データを解析し、画像に含まれるオブジェクトの塊毎に領域に分割し、各領域の属性を判定して分類する処理である。属性としては、文字（ＴＥＸＴ）、画像（ＰＨＯＴＯ）、線（ＬＩＮＥ）、図形（ＰＩＣＴＵＲＥ）、表（ＴＡＢＬＥ）等の種類がある。
【００３９】
ここで、図７を参照して、領域分割の一例を説明する。図７は、入力画像に対して領域分割を行った場合の一例を示す図である。入力画像５１に対して領域分割を行った結果が判定結果５２である。判定結果５２で、点線で囲った部分が画像を解析した結果のオブジェクトの１単位を表し、各オブジェクトに対して付されている属性の種類が領域分割の判定結果である。
【００４０】
図５の説明に戻る。属性毎に分類された領域の中から文字属性の領域は、ＯＣＲ処理５０２により文字認識処理され、文字列に変換される。つまり、この文字列は、紙面に印字されている文字列である。
【００４１】
一方、属性毎に分類された領域の中から画像属性の領域は画像情報抽出処理５０３を通して画像情報に変換される。画像情報とは画像の特徴を現す文字列であり、例えば「花」や「顔」といった文字列を示す。画像情報の抽出には、画像特徴量（画像を構成するピクセルの周波数や濃度など）検出や顔認識などの一般的な画像処理技術を用いることができる。
【００４２】
生成された文字列及び画像情報がフォーマット変換処理５０４によって後述するデータフォーマットに整えられ、メタデータが生成される。
【００４３】
図６は、ＰＤＬ（Ｐａｇｅ Ｄｅｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ）プリント時のデータフローを示す。ＰＤＬプリントとは、ＰＣ上のアプリケーションソフトから印刷を指示した場合にＰＣ上のプリンタドライバによって生成されたページ記述言語（ＰＤＬ）を受け取って出力するプリンタ動作のことを示す。
【００４４】
まず、受信したＰＤＬデータがＰＤＬデータ解析処理６０１によって解析され、ベクタデータが生成される。次に、ＤＬ生成処理６０２によりベクタデータからＤＬが生成される。生成されたＤＬは、ドキュメントの中に格納されるとともにレンダリング処理６０３に送られてビットマップに展開される。展開されたビットマップは、印刷処理６０４によって紙媒体に記録されて印刷物となる。この過程で生成されるベクタデータ及びＤＬは、ドキュメント生成処理６０６によってドキュメントに格納される。
【００４５】
さらに、レンダリング処理６０３が生成したビットマップからは、メタデータ生成処理６０５（図５で説明した処理と同様の処理を示す。）により、コピー動作時と同様に文字列や画像情報がメタデータとして生成され、ドキュメントに格納される。
【００４６】
また、ＰＤＬにはＬＩＰＳ（ＬＢＰ Ｉｍａｇｅ Ｐｒｏｃｅｓｓｉｎｇ Ｓｙｓｔｅｍ）やＰＳ（ＰｏｓｔＳｃｒｉｐｔ）など様々な種類が存在するが、ＰＤＬによっては文字列情報を有するものもある。この場合、ＰＤＬデータ解析時に文字列からメタデータが生成され、ドキュメントに格納される。
【００４７】
次に、図８を参照して、ドキュメント生成処理と印刷処理について説明する。図８は、第１の実施形態に係るドキュメント生成処理の処理手順を示すフローチャートである。ドキュメント生成処理は、ビットマップデータを受けてベクタデータ、ＤＬ、メタデータで構成されるドキュメントを生成する処理を示す。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【００４８】
まず、ステップＳ８０１において、ＣＰＵ２０５は、上述した領域分割処理を行う。次に、ステップＳ８０２において、ＣＰＵ２０５は、領域の種別（属性）をＴＥＸＴ，ＧＲＡＰＨＩＣ，ＩＭＡＧＥに分類し、それぞれに対して別々の処理を行う。図７では属性をＴＥＸＴ，ＰＨＯＴＯ，ＬＩＮＥ，ＰＩＣＴＵＲＥ，ＴＡＢＬＥに分類した例を示したが、ここでは、図７に示す属性のうち、ＰＨＯＴＯ，ＰＩＣＵＲＥをＩＭＡＧＥに分類し、ＬＩＮＥ、ＴＡＢＬＥをＧＲＡＰＨＩＣに分類する。
【００４９】
領域属性がＴＥＸＴの場合、ＣＰＵ２０５は、処理をステップＳ８０３に遷移させる。ステップＳ８０３において、ＣＰＵ２０５は、ＯＣＲ処理を実行する、その後、ステップＳ８０４において、ＣＰＵ２０５は、文字列の抽出を行う。さらに、ステップＳ８０５において、ＣＰＵ２０５は、文字列をメタデータに変換し、処理をステップＳ８０６に遷移させて、認識した文字輪郭をベクタデータに変換する。
【００５０】
上述した文字列から生成されるメタデータは、文字コードの羅列である。また、文字コードの羅列は、キーワード検索に必要な情報となる。しかし、ＯＣＲ処理では文字コードは認識できても、「明朝」「ゴシック」等の書体、「１０ｐｔ」「１２ｐｔ」等の文字のサイズ、「イタリック」「ボールド」等の文字修飾までは認識できない。したがって、描画用には文字コードを用いるのではなく文字輪郭をベクタデータとして保持する必要がある。
【００５１】
Ｓ８０２で領域属性がＩＭＡＧＥである場合、ＣＰＵ２０５は、処理をステップＳ８０７に遷移させて画像情報抽出処理を行う。
【００５２】
ステップＳ８０７において、ＣＰＵ２０５は、画像特徴量検出や顔認識などの一般的な画像処理技術を用いて画像の特徴を検知する。続いて、ステップＳ８０８において、ＣＰＵ２０５は、検知した画像の特長を文字列に変換する。この変換は、特徴パラメータと文字列のテーブルを保持しておけば容易に行うことができる。その後、ステップＳ８０９において、ＣＰＵ２０５は、文字列をメタデータへ変換する。
【００５３】
このように、ＩＭＡＧＥの領域属性に対してはベクトル化は行わず、イメージデータをそのままベクタデータに保持する。
【００５４】
Ｓ８０２で領域属性がＧＲＡＰＨＩＣである場合、ＣＰＵ２０５は、処理をステップＳ８１０に遷移させてベクトル化処理を行う。
【００５５】
次に、図９を参照して、ドキュメント印刷処理について説明する。図９は、第１の実施形態に係るドキュメント印刷処理の処理手順を示すフローチャートである。ドキュメント印刷処理は、生成されたドキュメントを印刷出力する処理である。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【００５６】
まず、ステップＳ９０１において、ＣＰＵ２０５は、ドキュメントデータを受け取る。続いて、ステップＳ９０２において、ＣＰＵ２０５は、ドキュメント中のベクタデータからＤＬを生成する。次に、ステップＳ９０３において、ＣＰＵ２０５は、生成したＤＬをドキュメントに追加し、ステップＳ９０４でＤＬをビットマップにレンダリングする。最後に、ステップＳ９０５において、ＣＰＵ２０５は、紙媒体への印刷処理を行い、処理を終了する。
【００５７】
次に、図１０を参照して、ＰＤＬからのドキュメント生成・印刷処理について説明する。図１０は、第１の実施形態に係るドキュメント生成・印刷処理の処理手順を示すフローチャートである。ドキュメント生成・印刷処理は、ＰＤＬデータを受けてドキュメントを生成、印刷出力する処理である。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【００５８】
まず、ステップＳ１００１において、ＣＰＵ２０５は、ＰＤＬデータを解析する。さらに、ステップＳ１００２において、ＣＰＵ２０５は、ＰＤＬデータの解析中に、文字列情報などのメタデータがＰＤＬデータに包含されているか否かを判定する。メタデータが含まれている場合、ＣＰＵ２０５は、処理をステップＳ１００９に遷移させ、ＰＤＬの情報をメタデータに追加する。
【００５９】
一方、ステップＳ１００２で文字列情報などのメタデータ以外のデータについては、ステップＳ１００３に進んでベクタデータに変換した後、ステップＳ１００４に進んでドキュメントを生成する。次に、ステップＳ１００５において、ＣＰＵ２０５は、ＤＬを生成し、ステップＳ１００６に進んで生成したＤＬをドキュメントに追加する。ここまでのフローでドキュメントの生成処理が終了する。その後、ステップＳ１００７及びＳ１００８において、ＣＰＵ２０５は、レンダリング処理を実行し、紙媒体への印刷処理を行い、全ての処理を終了する。
【００６０】
＜ドキュメントデータ構造＞
次に、図１１乃至図１３を参照して、ドキュメントの構造について説明する。図１１乃至図１３は、第１の実施形態に係るドキュメントの構造を示す図である。
【００６１】
図１１は、ドキュメントのデータ構造を示す。ドキュメントは、複数ページからなるデータであり、大きく分けるとベクタデータ１１１１、メタデータ１１１２及びＤＬ１１１３から構成されており、ドキュメントヘッダ（１１０１）を先頭とする階層構造である。
【００６２】
ベクタデータ１１１１は、さらに、ページヘッダ１１０２、サマリ情報１１０３及びオブジェクト１１０４を含む。また、メタデータ１１１２は、さらに、ページ情報１１０５及び詳細情報１１０６を含む。ＤＬ１１１３は、さらに、ページヘッダ１１０７及び描画展開用のインストラクション１１０８を含む。ドキュメントヘッダ１１０１には、ベクタデータの格納場所とＤＬの格納場所が記述されているためベクタデータとＤＬはドキュメントヘッダ１１０１によって関連付けられている。
【００６３】
ベクタデータ１１１１は、印刷解像度に依存しない解像度非依存データである。したがって、ページヘッダ１１０２には、ページの大きさや向きなどのレイアウト情報が記述される。オブジェクト１１０４には、ライン、多角形、ベジェ曲線などの描画データが一つずつリンクされており、複数のオブジェクトがまとめてサマリ情報１１０３に関連付けられている。サマリ情報１１０３は、複数のオブジェクトの特徴をまとめて表現するものであり、図７で説明した分割領域の属性情報などが記述される。
【００６４】
メタデータ１１１２は、描画処理には関係しない検索用の付加情報である。ページ情報１１０５領域には、例えば、メタデータがビットマップデータから生成されたものか、又は、ＰＤＬデータから生成されたものかを示すページ情報が含まれる。また、詳細情報１１０６には、ＯＣＲ情報や画像情報として生成された文字列（文字コード列）が含まれる。
【００６５】
また、ベクタデータ１１１１のサマリ情報１１０３からは、メタデータが参照されており、サマリ情報１１０３から詳細情報１１０６を見つけることができる。
【００６６】
ＤＬ１１１３は、レンダラがビットマップ展開するための中間コードである。ページヘッダ１１０７には、ページ内の描画情報（インストラクション）の管理テーブルなどが記述される。また、インストラクション１１０８には、解像度依存な描画情報が含まれる。
【００６７】
図１３は、ドキュメントデータの具体例を示す。図１３に示す例では、１ページ目のサマリ情報が、「ＴＥＸＴ」と「ＩＭＡＧＥ」を有しているとする。また、「ＴＥＸＴ」のサマリ情報には、Ｈ，ｅ，ｌ，ｌ，ｏ（オブジェクト１３０１）とＷ，ｏ，ｒ，ｌ，ｄ  （オブジェクト１３０２）の文字輪郭がベクタデータとしてリンクされている。
【００６８】
さらに、サマリ情報からは「Ｈｅｌｌｏ」「Ｗｏｒｌｄ」という文字コード列（メタデータ１３０４）が参照されている。また、「ＩＭＡＧＥ」のサマリ情報には、蝶の写真画像（ＪＰＥＧ）１３０３がリンクされている。また、サマリ情報からは「ｂｕｔｔｅｒｆｌｙ」という画像情報（メタデータ１３０５）が参照されている。
【００６９】
したがって、例えば「Ｗｏｒｌｄ」という検索キーワードでページ中のテキストを検索する場合は以下の手順で検出される。まず、ドキュメントヘッダからベクタページデータを順次取得し、ページヘッダにリンクされているサマリ情報から「ＴＥＸＴ」にリンクされているメタデータを検索する。
【００７０】
図１２は、図１１で説明したデータ構造がメモリ上及びファイル上にどのように配置されるかを示している。１２０１はメモリの内容を示し、１２０２はファイルの内容を示す。
【００７１】
１２０１に示すように、ドキュメントは、ベクタデータ領域、メタデータ領域及びＤＬ領域がメモリ上の任意のアドレスに配置される。一方、１２０２に示すように、ドキュメントは、ベクタデータ領域、メタデータ領域及びＤＬ領域が１つのファイルにシリアライズされる。
【００７２】
＜ドキュメント合成処理＞
次に、図１４乃至図２１を参照して、本発明の特徴となるドキュメント合成処理について説明する。まず、以下では、合成するドキュメントをボックスに保存するための操作について説明する。ここでは、リモートコピーでのボックス保存の例を示す。リモートコピーとは、例えば、画像処理装置で読み取った原稿画像を他の画像処理装置で印刷出力する動作を示す。即ち、コピー動作におけるスキャン動作とプリント動作とがネットワーク上の異なる機器で行われる処理である。
【００７３】
図１４は、ＭＦＰ１００の操作部２１０へ表示される表示画面１４０１の一例を示す図である。表示画面１４０１は、操作者がリモートコピーを指示する場合に画像処理装置の操作部２１０に表示される。また、表示画面１４０１は、ユーザ（操作者）が操作画面においてリモートコピーモードボタン１４０２を押下した場合に表示される。
【００７４】
操作者がプリンタ選択ボタン１４０３を押下すると、リモートコピーの出力先として指定可能な画像処理装置のプルダウンリストが表示される。操作者はそのリストの中から所望の画像処理装置の選択が可能である。操作者が選択した画像処理装置の名称が１４０４の表示領域へ表示される。リモートコピーの出力先として指定可能なリモート機器のリストは、予め機器内に保持される。
【００７５】
１４０５は、リモートコピー指定時の、ボックスへの保存選択を行うためのボックス保存選択ボタンを示す。このボックス保存選択ボタン１４０５は、トグル制御になっており、一回押下すると選択された状態となり、もう一回押下すると選択を解除した状態となる。図１４は選択された状態を示している。このボックス保存を選択した状態でリモートコピーを実行すると、リモートコピー先でデータがボックスに保存される。
【００７６】
倍率指定ボタン１４０８は、リモートコピー時に原稿画像に適用される拡大・縮小倍率を指定するためのボタンである。操作者の指定した拡大・縮小倍率は、表示領域１４０９へ表示される。用紙選択ボタン１４０６は、印刷出力を行う用紙を選択するためのボタンである。印刷出力を行う用紙として選択された用紙サイズは、表示領域１４０７へ表示される。ここでは、「ＡＵＴＯ」が選択されており、原稿のスキャン時に原稿サイズを検知するとともに、操作者の指定した拡大・縮小倍率を考慮することにより、最適な出力用紙が自動的に選択されることを示している。
【００７７】
表示領域１４１０には、リモートコピー時のコピー部数が表示されている。コピー部数は、操作者が不図示のハードキーを操作することにより設定可能である。フィニッシング設定ボタン１４１１は、フィニッシャ設定を行うためのボタンである。このフィニッシング設定ボタン１４１１を押下することにより、不図示のフィニッシャ設定画面が表示され、ソートやステイプル、パンチャー等の印刷後の用紙に対する各種フィニッシィングに関する設定を行うことできる。両面指定ボタン１４１２は、両面コピーの指定を行うためのボタンである。応用機能設定ボタン１４１３は、応用機能設定を行うためのボタンである。応用機能設定ボタン１４１３を押下することにより、「ページ連写」、「製本」、「縮小レイアウト」設定など、複合機が有する高度な応用機能の設定を行うことができる。カラーモード設定ボタン１４１４は、カラーモードの設定を行うためのボタンである。
【００７８】
図１５は、第１の実施形態に係るドキュメント合成処理を設定するための表示画面１５００を示す図である。表示画面１５００は、操作者がボックスに保存したファイル（ドキュメント）の結合を指示するために、操作部２１０に表示される画面の一例を示す。
【００７９】
１５０１は、ボックス内に格納されたファイルを一覧表示するための表示部である。１５０２は、ファイルの合成を指示するための合成ボタンを示す。操作者が表示部１５０１の画面上で複数のファイルを選択した状態で合成ボタン１５０２を押下することにより、選択されたファイルが合成されて一つのファイルが生成される。
【００８０】
１５０３は、編集ボタンを示す。表示部１５０１でファイルが選択された状態で編集ボタン１５０３が押下されると、任意の編集作業が行われてファイルが更新される。１５０４は検索ボタンを示す。操作者がファイルを検索したい場合、検索ボタン１５０４を押下し任意の文字列を入力することで、ボックス内のファイルが検索されて、結果が表示部１５０１に一覧表示される。
【００８１】
次に、図１６を参照して、ドキュメント（ファイル）の合成処理の動作について説明する。図１６は、第１の実施形態に係るドキュメントの合成処理の動作を示すフローチャートである。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【００８２】
まずステップＳ１６０１において、ＣＰＵ２０５は、操作者がドキュメントの合成ボタン１５０２を押下することにより、ドキュメントの合成指示を受ける。さらに、ＣＰＵ２０５は、合成の詳細を設定するための設定画面１７０１を操作部２１０に表示させる。
【００８３】
ステップＳ１６０２において、ＣＰＵ２０５は、設定画面１７０１を介して操作者からのドキュメント合成に関する設定を取得する。さらに、ステップＳ１６０３において、ＣＰＵ２０５は、設定画面１７０１を介して設定された情報に従って、ドキュメントの合成処理を実行する。
【００８４】
図１７は、第１の実施形態に係るドキュメント合成の設定画面１７０１の一例を示す図である。操作者は、この設定画面１７０１を操作してドキュメント合成の詳細な指示を設定することができる。また、設定画面１７０１は、図１５に示す表示画面１５００の合成ボタン１５０２が押下された場合に表示される。
【００８５】
１７０２及び１７０３は、合成するドキュメント名称を示す。本実施形態では、図１７に示す「ドキュメントＰ」と「ドキュメントＱ」の合成を例にとって説明する。１７０４は、ドキュメントＰのプレビューを示し、１７０７はドキュメントＱのプレビューを示す。ドキュメントＰは、星型のオブジェクト１７０５と、「ＡＢＣ」というテキストのオブジェクト１７０６とを含んで構成される。ドキュメントＱは、四角のオブジェクト１７０８と、円形のオブジェクト１７０９とを含んで構成される。
【００８６】
１７１０、１７１１、１７１２、１７１３はそれぞれのドキュメントを前景とするか背景とするかを選択するためのボタンを示す。ボタン１７１０を選択すると、ボタン１７１１、１７１２が非選択状態、ボタン１７１３が選択状態となる。ボタン１７１１を選択すると、ボタン１７１０、１７１３が非選択状態、ボタン１７１２が選択状態となる。ボタン１７１２を選択すると、ボタン１７１０、１７１３が非選択状態、ボタン１７１１が選択状態となる。ボタン１７１３を選択すると、ボタン１７１０が選択状態、ボタン１７１１、１７１２が非選択状態となる。図１７においては、ボタン１７１０を選択した例を示している。
【００８７】
１７１４は、合成ボタンを示し、当該ボタンを押下することによりＳ１６０３の合成処理が実行される。図１７の状態で合成ボタン１７１４を押下した場合、ドキュメントＰが背景となり、ドキュメントＱが前景として合成されるため、合成後のドキュメントは後述する図１８に示すようになる。また、１７１５はキャンセルボタンを示し、このボタンが押下されると図１５の表示画面１５００に戻る。
【００８８】
図１８は、第１の実施形態に係るドキュメントの合成結果を示す図である。ドキュメント１８０１は、図１７に示すドキュメントＰ及びドキュメントＱを合成したドキュメントを示す。図１８に示すように、ドキュメントを合成すると、星形のオブジェクト１７０５は四角オブジェクト１７０８の背面に隠れてしまう。
【００８９】
次に、図１９を参照して、本実施形態に係るドキュメントの合成処理の処理フローについて説明する。図１９は、第１の実施形態に係るドキュメントの合成処理の処理手順を示すフローチャートである。本実施形態によれば、複数のドキュメントを合成する場合に、少なくとも１つのオブジェクトが合成ファイルを出力するときに可視化されるか否かを判定し、可視化されないオブジェクトをリンクとして合成する。この場合、リンクとして合成されたオブジェクトに対応する実画像データは、別ファイルに保存される。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【００９０】
まず、ステップ１９０１において、ＣＰＵ２０５は、合成するドキュメントを構成するオブジェクトに対する処理を行う。次に、ステップ１９０２において、ＣＰＵ２０５は、オブジェクトが他のオブジェクトの背面に配置されるか否かを判定する。ここで、背面に配置されないと判定すると、次のオブジェクトの処理に移行する。一方、背面に配置されると判定すると、ステップ１９０３に移行する。
【００９１】
ステップ１９０３において、ＣＰＵ２０５は、背面に配置されると判定されたオブジェクトを別ファイルのリンクリストに設定する。リンクリストは、現在処理中のＭＦＰ１００内に格納されてもよい。また、リンクリストは、現在処理中のＭＦＰ１００に接続されたメモリに格納されてもよい。また、リンクリストは、現在処理中のＭＦＰ１００とネットワークを介して接続された他の処理装置内に格納されてもよい。次に、ステップ１９０４において、ＣＰＵ２０５は、合成するドキュメントにオブジェクトがリンクリストに移動したことを情報をリンク情報として挿入する。
【００９２】
次に、図２０及び図２１を参照して、ドキュメント合成処理の具体例を説明する。図２０は、第１の実施形態に係る合成前のドキュメントデータを示す図である。図２０には、図１７で説明したものと同じドキュメント（Ｐ、Ｑ）を合成してドキュメント（ＰＱ）を生成する場合の合成前のドキュメントデータを示している。
【００９３】
２００１は、テキストのオブジェクト１７０６のベクタデータ（ＣｈａｒＤａｔａ１−１）を示す。２００２は、グラフィックのオブジェクト１７０５のベクタデータ（ＧｒａｐｈｉｃＤａｔａ１−１）を示す。２００５は、ドキュメントＰのメタデータを示す。
【００９４】
２００３は、グラフィックのオブジェクト１７０８のベクタデータ（ＧｒａｐｈｉｃＤａｔａ２−１）を示す。２００４は、グラフィックのオブジェクト１７０９のベクタデータ（ＧｒａｐｈｉｃＤａｔａ２−２）を示す。２００６は、ドキュメントＱのメタデータを示す。
【００９５】
図２１は、第１の実施形態に係る合成後のドキュメントデータを示す図である。図２１には、図１７で説明したものと同じドキュメント（Ｐ、Ｑ）を合成してドキュメント（ＰＱ）を生成する場合の合成後のドキュメントデータを示している。
【００９６】
図２０のテキストオブジェクト２００１は、そのままテキストオブジェクト２１０１として合成される。グラフィックオブジェクト２００２は、Ｓ１９０２の処理でグラフィックオブジェクト２００３の背面に配置されると判定されるため、リンク情報２１０２が挿入される。また、２１１０は、ドキュメントＰＱのメタデータを示す。
【００９７】
また、リンクリスト２１０８が生成され、リンク情報２１０２は「Ｌｉｎｋ  ＃１」２１０５に実体が置かれている。リンクの実体２１０５は、ドキュメント名称（ＰＱ）と、ベクタデータＧｒａｐｈｉｃＤａｔａ（１−１）２１０６と、依存情報と、メタデータ２１０７とを含む。依存情報は、リンクの実体２１０５がどのオブジェクトの背面に配置されているかという情報と、どのオブジェクトの前面に配置されているかという情報とを含む。グラフィックオブジェクト２００３は、そのままグラフィックのオブジェクト２１０３として合成される。グラフィックオブジェクト２００４は、そのままグラフィックの円形オブジェクト２１０４として合成される。
【００９８】
以上説明したように、本実施形態に係る画像処理装置は、複数のファイルを合成する際に、当該複数のファイルに含まれるオブジェクト（画像等）が他のオブジェクトの背面に隠れるか否かを判定する。さらに、画像処理装置は、背面に完全に隠れるオブジェクトをリンクとして合成ファイルに合成し、当該オブジェクトに対応する実画像データを別ファイルに保存する。これにより、本画像処理装置は、合成ファイルを出力する際に、他のオブジェクトに隠れるオブジェクトの実画像データに代えてリンク情報を保存することで、合成ファイルの出力に影響を与えることなく、合成ファイルのデータサイズを低減することができる。また、合成ファイルの出力に必要な実画像データについては、合成ファイルに保存されるため、出力時の処理負荷を低減することができる。なお、上述した説明では、他のオブジェクトの背面に完全に隠れるオブジェクトを、合成ファイルを出力する際に可視化されないオブジェクトとして判定する場合について述べたが、他の態様であっても構わない。即ち、例えば、合成ファイルに含まれる各オブジェクトに対して、当該オブジェクトを出力するか否かを示す属性を設定することが考えられる。このような場合に、合成ファイルに含まれる少なくとも１つのオブジェクトに対して、該オブジェクトを出力しないことを示す属性が設定されている場合に、該オブジェクトは可視化されないと判定してもよい。即ち、少なくとも１つのオブジェクトに対して、出力しないことを示す属性が設定されている場合には、上述した方法で実画像データの代わりにリンク情報を保存することができる。また更には、合成ファイルに含まれる各オブジェクトの色属性に基づいて、該オブジェクトが可視化されるか否かを判定してもよい。即ち、オブジェクトに対して透明又は背景と同一の色属性が設定されている場合には、たとえそのオブジェクトが出力されたとしても実際にはユーザからは識別されず、つまり可視化されない。このため、透明又は背景と同一の色属性が設定されているオブジェクトについても、上述した方法で実画像データの代わりにリンク情報を保存することもできる。
【００９９】
＜第２の実施形態＞
次に、図２２乃至図２５を参照して、第２の実施形態について説明する。第１の実施形態では、ドキュメントの合成処理について説明したが、本実施形態ではドキュメントの編集処理について説明する。
【０１００】
図２２は、第２の実施形態に係るドキュメントの編集処理の処理手順を示すフローチャートである。ここでは、操作者が図１５の編集ボタン１５０３を押下し、ドキュメントを編集する場合の処理フローを示している。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【０１０１】
ステップＳ２２０１において、ＣＰＵ２０５は、ユーザ操作があったか否かを判定する。ここで、ユーザ操作がなかった場合、ＣＰＵ２０５は、処理を終了させる。一方、ユーザ操作があった場合、ＣＰＵ２０５は、処理をステップＳ２２０２に遷移させる。
【０１０２】
ステップＳ２２０２において、ＣＰＵ２０５は、操作したオブジェクトの依存関係（位置関係）を確認する。依存関係の確認とは、ユーザ操作によってオブジェクト配置（重なりの有無）に変更があったか否かを確認することを示す。続いて、ステップＳ２２０３において、ＣＰＵ２０５は、依存関係があったか否かを判定する。ここで、依存関係がなかった場合、ＣＰＵ２０５は、処理を終了させる。一方、依存関係があった場合、ＣＰＵ２０５は、処理をステップＳ２２０４に遷移させる。ステップＳ２２０４において、ＣＰＵ２０５は、依存関係のあったオブジェクトに関するリンク情報を更新する。
【０１０３】
次に、図２３乃至図２５を参照して、ドキュメント編集処理の具体例について説明する。図２３は、第２の実施形態に係る合成したドキュメントを編集するための編集画面２３０１を示す図である。編集画面２３０１は、例えば、図２１で合成したドキュメントＰＱを編集するために、図１５の編集ボタン１５０３を押下したときに操作部２１０に表示される画面である。
【０１０４】
２３０２は、編集するドキュメント名称を表す。ここでは、「ドキュメントＰＱ」となる。本実施形態においては、図２１に示す「ドキュメントＰＱ」の編集を一例に説明する。２３０３は、ドキュメントＰＱのプレビューを示す。ドキュメントＰＱは四角のオブジェクト２３０４と、円形のオブジェクト２３０５と、「ＡＢＣ」というテキストのオブジェクト２３０６とを含む。四角のオブジェクト２３０４の背面には、図示しない星型のオブジェクトが隠されている。
【０１０５】
２３０７は、オブジェクトを移動するためのボタンである。２３０８は削除ボタンであり、このボタンを押下することによりオブジェクトを削除することができる。２３０９は挿入ボタンであり、このボタンを押下することによりオブジェクトを挿入することができる。２３１０は終了ボタンであり、このボタンを押下することにより今までの編集を適用してドキュメントの編集を終了することができる。２３１１はキャンセルボタンであり、このボタンを押下することにより今までの編集を適用せずにドキュメントの編集を終了することができる。
【０１０６】
図２４は、第２の実施形態に係る編集後のドキュメントデータを示す図である。図２４に示すドキュメントデータは、編集画面２３０１を操作して四角のオブジェクト２３０４を削除したときのドキュメントデータである。図２１に示すテキストオブジェクト２１０１は、四角オブジェクト２１０３の削除処理に依存関係がないため、そのままテキストオブジェクト２４０１として残る。また、円形オブジェクト２１０４も四角オブジェクト２１０３の削除処理に依存関係がないため、そのまま円形オブジェクト２４０３として残る。
【０１０７】
リンク情報２１０２は、四角オブジェクト２１０３の削除処理に依存する。したがって、四角オブジェクト２１０３が削除された場合、四角オブジェクト２１０３との依存関係が確認される。この処理は、リンクリスト２１０８に対して、四角オブジェクト２１０３の名称ＧｒａｐｈｉｃＤａｔａ（２−１）を検索し、該当するリンク実体の依存関係を確認することにより実現される。本実施形態においては、リンクリスト２１０８を構成するリンク実体のうち、リンクの実体２１０５がオブジェクト２１０３に依存することが分かり、さらにＧｒａｐｈｉｃＤａｔａ（２−１）が背面に配置されていることが分かる。
【０１０８】
以上により、四角オブジェクト２１０３を削除した場合はリンク情報２１０２をリンク実体に置き換えることが必要である。その結果、リンク情報２１０２は星型オブジェクトの実体２４０２に置き換えられる。図２５は、第２の実施形態に係るドキュメントの編集処理を実行した後のドキュメントを示す図である。図２５に示すように、四角オブジェクト２１０３を削除した後のドキュメントＰＱには、それまではリンク情報として付与されていた星型オブジェクトが配置される。
【０１０９】
以上説明したように、本実施形態に係る画像処理装置は、合成ファイルが編集された場合、例えば、あるオブジェクトが削除された場合に、当該オブジェクトの依存関係を確認する。そして、確認した依存関係（位置関係）に基づいて、合成ファイルとともにリンク情報を更新する。このように、本画像処理装置は、生成後の合成ファイルを容易に編集することができ、リンク情報及び付加情報（イン情報を含む。）に基づいて、編集に応じたデータの更新をすることができる。
【０１１０】
＜第３の実施形態＞
次に、図２６乃至図２９を参照して、第３の実施形態について説明する。本実施形態では、ドキュメントの検索処理について説明する。
【０１１１】
図２６は、第３の実施形態に係るドキュメントの検索処理の処理手順を示すフローチャートである。検索処理は、操作者によって図１５の検索ボタン１５０４が押下された場合に実行される。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【０１１２】
ステップＳ２６０１において、ＣＰＵ２０５は、操作者が入力した検索キーワード（文字コード）及び検索条件に基づいて、検索キーワードを含むドキュメントを検索する。次に、ステップＳ２６０２において、ＣＰＵ２０５は、ＭＦＰ１００の操作部２１０に検索結果を表示する。
【０１１３】
次に、図２７乃至図２９を参照して、ドキュメント検索処理の具体例について説明する。図２７は、第３の実施形態に係るドキュメントの検索画面２７０１を示す図である。検索画面２７０１は、図１５に示す検索ボタン１５０４が押下された場合に表示される。操作者は検索画面２７０１を操作してドキュメントの検索を行うことができる。
【０１１４】
２７０２は、検索の対象とする文字列を操作者が任意に入力できるテキストボックスを示す。図２７の例では、操作者が「ｓｔａｒｔ」という文字列を入力済みである。２７０３は、オブジェクトの重なりにより、出力としては見えないオブジェクトを検索対象にするか否かを選択するためのチェックボックスを示す。図２７では、操作者がチェックボックスを選択している状態を示す。
【０１１５】
２７０４は、検索開始ボタンであり、このボタンを押下することにより、操作者が設定した設定でドキュメント検索が行われる。２７０５は、キャンセルボタンであり、このボタンを押下することにより、図１５の表示画面１５００に戻る。
【０１１６】
図２８は、第３の実施形態に係るドキュメントの検索処理を実行した後の表示画面２８００を示す図である。表示画面２８００は、検索画面２７０１の状態で検索開始ボタン２７０４を押下したときの検索結果を示している。ここでは、検索にヒットした２つのドキュメントＰ、ＰＱが表示されている。
【０１１７】
ここで、図２７の条件で、図２１に示すドキュメントＰＱを検索する処理について詳細に説明する。オブジェクトの検索は、メタデータを対象に行われる。まず、メタデータ２１１０の検索を行うが、「ｓｔａｒ」の文字列にはヒットしない。次に、２７０３のチェックボックスにチェックが入っているため、リンクリスト２１０８のメタデータ２１０７の検索を行う。メタデータ２１０７には、文字列「ｓｔａｒ」が含まれるため、図２７に示す条件での検索結果では、ドキュメントＰＱがヒットすることとなる。一方、２７０３のチェックボックスにチェックが入っていない場合は、リンクリスト２１０８のメタデータ２１０７の検索を行わないため、検索結果は図２９に示すようになる。図２９は、第３の実施形態に係るドキュメントの検索処理を実行した後の表示画面２９００を示す図である。図２９に示すように、チェックボックス２７０３が選択されていない状態での検索結果は、ドキュメントＰＱはヒットせず、ドキュメントＰのみがヒットすることとなる。
【０１１８】
以上説明したように、本実施形態に係る画像処理装置は、合成されるオブジェクトとともに、オブジェクト毎の付加情報が合成ファイル又は別ファイルに保存されてもよい。ここで、付加情報とは、例えば、オブジェクトごとの特徴を表す文字コードであってもよい。この場合、本画像処理装置は、文字コードを検索キーワードとして、操作が所望するオブジェクトを検索することができる。また、合成ファイルにオブジェクトの付加情報が含まれていない場合であっても、リンク情報を用いて操作者が所望するオブジェクトを検索することができる。
【０１１９】
なお、本発明は上記実施形態に限らず様々な変形が可能である。例えば、合成ファイルに含まれる全てのオブジェクトの付加情報（メタデータ）が合成ファイルとは別のファイルに含まれてもよい。これにより、合成ファイルのデータサイズをより低減することができる。
【０１２０】
＜第４の実施形態＞
次に、図３０乃至図３２を参照して、第４の実施形態について説明する。第１の実施形態では、ドキュメントの合成処理について、あるオブジェクトが他のオブジェクトの背面に隠れるか否かを判定して合成処理を行っていた。しかし、本実施形態では、メタデータのサイズがある閾値を越えるか否かを判定して、ドキュメントの合成処理を行う例について説明する。
【０１２１】
図３０は、第４の実施形態に係るドキュメントの合成処理の処理手順を示すフローチャートである。ここでは、メタデータのサイズが予め定められた閾値を越えるか否かを判定しながらドキュメントの合成処理を行う手順について説明する。以下で説明する処理は、コントロールユニット２００のＣＰＵ２０５によって、又はＣＰＵ２０５による制御下のコントロールユニット２００内のいずれかのユニットによって実行される。
【０１２２】
まず、ステップＳ３００１において、ＣＰＵ２０５は、合成するドキュメントを構成するオブジェクトに対して処理を行う。次に、ステップＳ３００２において、ＣＰＵ２０５は、メタデータの合計サイズを算出する。続いて、ステップＳ３００３において、ＣＰＵ２０５は、算出したサイズが予め定められた閾値を超えているか否かを判定する。この閾値は、予め設定された固定値であってもよいし、ＨＤＤの容量を考慮して動的に決定された値でもよい。本発明においては、特に閾値の算出方法については規定しない。
【０１２３】
合計サイズが閾値よりも小さい場合、ＣＰＵ２０５は、次のオブジェクトの処理に移行させる。一方、合計サイズが閾値以上の場合、ＣＰＵ２０５は、処理をステップＳ３００４に遷移させる。ステップＳ３００４において、ＣＰＵ２０５は、合成するオブジェクトのメタデータを別ファイルのリンクリストとして設定する。このリンクリストは、現在処理中のＭＦＰ１００内に格納されてもよいし。現在処理中のＭＦＰ１００に接続されたメモリに格納されてもよい。また、このリンクリストは、現在処理中のＭＦＰ１００とネットワークを介して接続された別の処理装置内に格納されてもよい。次に、ステップＳ３００５において、ＣＰＵ２０５は、合成するドキュメントにメタデータがリンクリストに移動したことを表すリンク情報を挿入する。以上の処理を対象のドキュメントに含まれる全てのオブジェクトに対して行う。
【０１２４】
次に、図３１及び図３２を参照して、本実施形態によるドキュメント合成処理の詳細について説明する。図３１は、第４の実施形態に係るドキュメント合成前のドキュメントデータを示す図である。
【０１２５】
３１０１はテキストのオブジェクト１７０６のベクタデータ（ＣｈａｒＤａｔａ１−１）を示する。３１０２は、グラフィックのオブジェクト１７０５のベクタデータ（ＧｒａｐｈｉｃＤａｔａ１−１）を示す。３１０５は、ドキュメントＰのメタデータを示す。３１０３は、グラフィックのオブジェクト１７０８のベクタデータ（ＧｒａｐｈｉｃＤａｔａ２−１）を示す。３１０４は、グラフィックのオブジェクト１７０９のベクタデータ（ＧｒａｐｈｉｃＤａｔａ２−２）を示す。３１０６は、ドキュメントＱのメタデータを示す。
【０１２６】
図３２は、第４の実施形態に係るドキュメントの合成後のドキュメントデータを示す図である。テキストオブジェクト２００１、グラフィックオブジェクト２００２、及びグラフィックオブジェクト２００３は閾値判定の結果、メタデータの合計サイズが閾値より小さいため単純にオブジェクトが合成されている。しかし、グラフィックオブジェクト２００４の合成の際に、メタデータの合計サイズが閾値を越えたために、グラフィックオブジェクト２００４のメタデータのみリンクリスト３２０５に実体が置かれている。なお、リンク情報はＳｕｍｍａｒｙ３２０６に格納されている。
【０１２７】
以上説明したように、本実施形態に係る画像処理装置は、合成ファイルに含まれるオブジェクトごとの付加情報が予め定められた閾値を超えるか否かを判定し、超える場合にはそのデータサイズ分の付加情報を別ファイルへ保存する。これにより、本画像処理装置は、合成ファイルのデータサイズを一定以内に収めることができ、より好適に合成ファイルのデータサイズを低減させることができる。なお、以上の説明では、図１９に示すフローチャートに基づく処理と図３０に示すフローチャートに基づく処理とは別々に実行される例について説明したが、これらを組み合わせて実施するようにしても構わない。即ち、図１９に示すフローチャートに沿って実画像データからリンク情報への置き換えを行う処理と並行して、図３０に示すフローチャートに沿ったメタデータのサイズ確認及びメタデータへのリンク情報の挿入の処理を行うようにしても良い。
【０１２８】
＜その他の実施形態＞
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体（記録媒体）等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１２９】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１３０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１３１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１３２】
プログラムを供給するための記録媒体としては、例えば、以下のようなものがある。フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）。
【０１３３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。すなわち、ホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１３４】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布する。そして、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１３５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他にも、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１３６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後にも前述した実施形態の機能が実現される。すなわち、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行うことによっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１３７】
【図１】第１の実施形態に係るＭＦＰ１００の構成例を示す断面図である。
【図２】第１の実施形態に係るコントロールユニット２００のハードウェア構成を示すブロック図である。
【図３】第１の実施形態に係るコントロールユニット２００のソフトウェア構成を示すブロック図である。
【図４】、
【図５】、
【図６】第１の実施形態に係るコントールユニット２００のデータフローを示す図である。
【図７】入力画像に対して領域分割を行った場合の一例を示す図である。
【図８】第１の実施形態に係るドキュメント生成処理の処理手順を示すフローチャートである。
【図９】第１の実施形態に係るドキュメント印刷処理の処理手順を示すフローチャートである。
【図１０】第１の実施形態に係るドキュメント生成・印刷処理の処理手順を示すフローチャートである。
【図１１】、
【図１２】、
【図１３】第１の実施形態に係るドキュメントの構造を示す図である。
【図１４】ＭＦＰ１００の操作部２１０へ表示される表示画面１４０１の一例を示す図である。
【図１５】第１の実施形態に係るドキュメント合成処理を設定するための表示画面１５００を示す図である。
【図１６】第１の実施形態に係るドキュメント合成処理の動作を示すフローチャートである。
【図１７】第１の実施形態に係るドキュメント合成の設定画面１７０１の一例を示す図である。
【図１８】第１の実施形態に係るドキュメントの合成結果を示す図である。
【図１９】第１の実施形態に係るドキュメントの合成処理の処理手順を示すフローチャートである。
【図２０】第１の実施形態に係る合成前のドキュメントデータを示す図である。
【図２１】第１の実施形態に係る合成後のドキュメントデータを示す図である。
【図２２】第２の実施形態に係るドキュメントの編集処理の処理手順を示すフローチャートである。
【図２３】第２の実施形態に係る合成したドキュメントを編集するための編集画面２３０１を示す図である。
【図２４】第２の実施形態に係る編集後のドキュメントデータを示す図である。
【図２５】第２の実施形態に係るドキュメントの編集処理を実行した後のドキュメントを示す図である。
【図２６】第３の実施形態に係るドキュメントの検索処理の処理手順を示すフローチャートである。
【図２７】第３の実施形態に係るドキュメントの検索画面２７０１を示す図である。
【図２８】第３の実施形態に係るドキュメントの検索処理を実行した後の表示画面２８００を示す図である。
【図２９】第３の実施形態に係るドキュメントの検索処理を実行した後の表示画面２９００を示す図である。
【図３０】第４の実施形態に係るドキュメントの合成処理の処理手順を示すフローチャートである。
【図３１】第４の実施形態に係るドキュメント合成前のドキュメントデータを示す図である。
【図３２】第４の実施形態に係るドキュメントの合成後のドキュメントデータを示す図である。
【符号の説明】
【０１３８】
２００：コントロールユニット
２０１：スキャナ
２０２：プリンタエンジン
２１０：操作部
３０２：プロトコル制御部
３０３：ベクタデータ生成部
３０４：メタデータ生成部
３０５：ＰＤＬ解析部
３０６：データ描画部
３０７：ページメモリ
３０８：パネル入出力制御部
３０９：ドキュメント記憶部
３１０：スキャン制御部
３１１：印刷制御部
【図１】
0005084606.tif 000002
【図２】
0005084606.tif 000003
【図３】
0005084606.tif 000004
【図４】
0005084606.tif 000005
【図５】
0005084606.tif 000006
【図６】
0005084606.tif 000007
【図７】
0005084606.tif 000008
【図８】
0005084606.tif 000009
【図９】
0005084606.tif 000010
【図１０】
0005084606.tif 000011
【図１１】
0005084606.tif 000012
【図１２】
0005084606.tif 000013
【図１３】
0005084606.tif 000014
【図１４】
0005084606.tif 000015
【図１５】
0005084606.tif 000016
【図１６】
0005084606.tif 000017
【図１７】
0005084606.tif 000018
【図１８】
0005084606.tif 000019
【図１９】
0005084606.tif 000020
【図２０】
0005084606.tif 000021
【図２１】
0005084606.tif 000022
【図２２】
0005084606.tif 000023
【図２３】
0005084606.tif 000024
【図２４】
0005084606.tif 000025
【図２５】
0005084606.tif 000026
【図２６】
0005084606.tif 000027
【図２７】
0005084606.tif 000028
【図２８】
0005084606.tif 000029
【図２９】
0005084606.tif 000030
【図３０】
0005084606.tif 000031
【図３１】
0005084606.tif 000032
【図３２】
0005084606.tif 000033