(57)【特許請求の範囲】
【請求項１】
プリンタドライバを有する画像処理装置であって、
前記プリンタドライバを用いて、アプリケーションが作成したアプリデータを解析して画像のビットマップデータを生成する生成手段と、
前記アプリデータに含まれる情報であって、当該アプリデータに基づいて前記生成手段により生成されるビットマップデータには含まれない文字情報を取得する取得手段と、
前記取得手段が取得した文字情報を、前記生成手段により生成されるビットマップデータの付加情報として、当該ビットマップデータに付加する付加手段と、
前記付加手段により前記付加情報が付加されたビットマップデータ或いは前記生成手段により生成されたビットマップデータを、プリンタに対して出力する出力手段と、
前記ビットマップデータを保存する処理を前記プリンタに依頼する場合は、前記プリンタにおいて、前記プリンタに保存されたビットマップデータの検索に利用するための前記付加情報が付加されたビットマップデータを前記出力手段に出力させ、前記ビットマップデータを印刷する処理を前記プリンタに依頼する場合は、前記付加情報が付加されていないビットマップデータを前記出力手段に出力させる制御手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記付加情報は、前記アプリデータに含まれる文字コードの少なくとも一部を示す文字情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記付加情報は、前記アプリデータを生成したアプリケーションに関する文字情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記付加情報は、前記アプリデータに含まれる少なくとも一部のオブジェクトの属性情報を示す文字情報であることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
プリンタドライバを有する画像処理装置の制御方法であって、
前記プリンタドライバを用いて、アプリケーションが作成したアプリデータを解析して画像のビットマップデータを生成する生成工程と、
前記アプリデータに含まれる情報であって、当該アプリデータに基づいて前記生成工程で生成されるビットマップデータには含まれない文字情報を取得する取得工程と、
前記取得工程で取得した文字情報を、前記生成工程で生成されるビットマップデータの付加情報として、当該ビットマップデータに付加する付加工程と、
前記付加工程で前記付加情報が付加されたビットマップデータ或いは前記生成工程で生成されたビットマップデータを、プリンタに対して出力する出力工程と、
ビットマップデータを保存する処理を前記プリンタに依頼する場合は、前記プリンタにおいて、前記プリンタに保存されたビットマップデータの検索に利用するための前記付加情報が付加されたビットマップデータを前記出力工程で出力させ、ビットマップデータを印刷する処理を前記プリンタに依頼する場合は、前記付加情報が付加されていないビットマップデータを前記出力工程で出力させる制御工程と、
を備えることを特徴とする画像処理装置の制御方法。
【請求項６】
前記付加情報は、前記アプリデータに含まれる文字コードの少なくとも一部を示す文字情報であることを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項７】
前記付加情報は、前記アプリデータを生成したアプリケーションに関する文字情報であることを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項８】
前記付加情報は、前記アプリデータに含まれる少なくとも一部のオブジェクトの属性情報を示す文字情報であることを特徴とする請求項５に記載の画像処理装置の制御方法。
【請求項９】
請求項５から８のいずれか１項に記載の制御方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項５から８のいずれか１項に記載の制御方法をコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションで作成したアプリデータに基づくビットマップデータを生成する画像処理装置及びその制御方法、プログラム、記憶媒体に関するものである。
【背景技術】
【０００２】
ネットワークを介して接続された複数の装置（プリンタ、スキャナ、デジタル複写機、ファクシミリ装置）を連携して動作させることにより、高度な機能やより高い生産性を実現することが望まれている。また、これらの装置間で、解像度に依存しないデータ形式（以後、ベクタデータ）での画像のやり取りが考えられている。このベクタデータを受信した装置では、受信したベクタデータに基づいてビットマップイメージなどの画像データを生成（ラスタライズ）するため解像度の変換に伴う画像劣化が生じない。これにより各々の装置において最適なビットマップイメージを生成して高品位な画像を得ることができるため、能力が異なる各種デバイスを相互に連携させるための技術として有効である。また更に、このベクタデータに加えて、実際に印刷される画像そのものとは異なる付加情報を保持し、画像を処理する際に参照したり、或いはその付加情報を基に画像を検索したりする技術も開発されている。
【０００３】
また、画像処理装置（ホストコンピュータ）から供給された画像データを出力装置の二次記憶装置にファイルとして保存しておけば、その出力装置を使用してユーザが好きな時間に、そのファイルを取り出して繰り返し印刷や出力を行うことができる。このように再利用を目的として出力装置の二次記憶装置に画像データをファイル形式で保存する機能をボックス機能、ファイルシステムをボックスと呼ぶ。このようなボックス機能を用いると、格納された画像データを再度印刷したり、能力の異なる他の装置に配信したりするなどの処理が容易になり、また一度生成した画像データを繰り返し再利用することも可能になる（特許文献１〜３参照）。
【特許文献１】特開平１１−３３１４５５号公報
【特許文献２】特開平８−６３３４５号公報
【特許文献３】特開２００６―２３９４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来は、上述したような実際に印刷される画像そのものとは異なる付加情報は、アプリケーションが作成したアプリデータを展開することにより得られた画像データに対して、文字認識処理を施すことにより生成していた。そのため、アプリケーションにより作成されたアプリデータに含まれていた情報であって、当該アプリデータを展開することにより消失してしまった情報は、画像データを再利用する際に利用することができなかった。
【０００５】
本発明の目的は上記従来技術の問題点を解決することにある。
【０００６】
本願発明の特徴は、アプリケーションが作成したアプリデータに含まれる情報であって、当該アプリデータに基づいて生成されるビットマップデータには含まれない情報を利用できるようにすることにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
プリンタドライバを有する画像処理装置であって、
前記プリンタドライバを用いて、アプリケーションが作成したアプリデータを解析して画像のビットマップデータを生成する生成手段と、
前記アプリデータに含まれる情報であって、当該アプリデータに基づいて前記生成手段により生成されるビットマップデータには含まれない文字情報を取得する取得手段と、
前記取得手段が取得した文字情報を、前記生成手段により生成されるビットマップデータの付加情報として、当該ビットマップデータに付加する付加手段と、
前記付加手段により前記付加情報が付加されたビットマップデータ或いは前記生成手段により生成されたビットマップデータを、プリンタに対して出力する出力手段と、
前記ビットマップデータを保存する処理を前記プリンタに依頼する場合は、前記プリンタにおいて、前記プリンタに保存されたビットマップデータの検索に利用するための前記付加情報が付加されたビットマップデータを前記出力手段に出力させ、前記ビットマップデータを印刷する処理を前記プリンタに依頼する場合は、前記付加情報が付加されていないビットマップデータを前記出力手段に出力させる制御手段と、を備えることを特徴とする。
【０００８】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
プリンタドライバを有する画像処理装置の制御方法であって、
前記プリンタドライバを用いて、アプリケーションが作成したアプリデータを解析して画像のビットマップデータを生成する生成工程と、
前記アプリデータに含まれる情報であって、当該アプリデータに基づいて前記生成工程で生成されるビットマップデータには含まれない文字情報を取得する取得工程と、
前記取得工程で取得した文字情報を、前記生成工程で生成されるビットマップデータの付加情報として、当該ビットマップデータに付加する付加工程と、
前記付加工程で前記付加情報が付加されたビットマップデータ或いは前記生成工程で生成されたビットマップデータを、プリンタに対して出力する出力工程と、
ビットマップデータを保存する処理を前記プリンタに依頼する場合は、前記プリンタにおいて、前記プリンタに保存されたビットマップデータの検索に利用するための前記付加情報が付加されたビットマップデータを前記出力工程で出力させ、ビットマップデータを印刷する処理を前記プリンタに依頼する場合は、前記付加情報が付加されていないビットマップデータを前記出力工程で出力させる制御工程と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、アプリケーションが作成したアプリデータに含まれる情報であって、当該アプリデータに基づいて生成されるビットマップデータには含まれない付加情報を利用することができ、その付加情報をビットマップデータに付加するか否かにより、そのビットマップデータをプリンタにより印刷させるか、或いは保存させることができるようになる。更に、その付加情報を利用して、プリンタにおいて、そのプリンタで保存しているビットマップデータを検索することができるという効果がある。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１１】
まず、本発明の第１の実施形態に係る画像処理装置（後述する）に接続された１Ｄカラー系ＭＦＰ（多機能処理装置）の構成について説明する。
【００１２】
図１は、本実施の形態に係るＭＦＰ１０００の構成を示す図である。
【００１３】
このカラーＭＦＰ１０００は、原稿露光部、レーザ露光部、感光ドラム、作像部、定着部、給紙／搬送部及び、これらを制御するプリンタ制御部（不図示）を有している。
【００１４】
原稿露光部は、原稿台に置かれた原稿に照明を当てて原稿を光学的に読み取り、その像を電気信号に変換して画像データを作成する。レーザ露光部は、画像データに応じて変調されたレーザ光などの光線を等角速度で回転する回転多面鏡（ポリゴンミラー）に入射し反射走査光として感光ドラム１００を照射する。作像部は、感光ドラム１００を回転駆動するとともに、感光ドラム１００の表面を帯電器によって帯電させ、レーザ露光部によって、その感光ドラム上に画像データに応じた静電潜像を形成する。そして、その静電潜像をトナーによって現像し、そのトナー像を転写ドラム１０１に巻回された記録媒体（シート）に転写する。その際に転写されずに感光ドラム１００上に残った微小トナーを回収するといった一連の電子写真プロセスを実行してシートに像を形成する。ここでシートが転写ドラム１０１に巻き付けられて４回転する間に、マゼンタ（Ｍ）、シアン（Ｃ）、イエロー（Ｙ）、ブラック（Ｋ）のトナーを持つ現像ユニット１０２〜１０５が入れ替わってトナーを供給して順次前述の電子写真プロセスを繰り返し実行する。こうして転写ドラム１０１が４回転して４色のフルカラートナー像が転写されたシートは転写ドラム１０１を離れて定着部へ搬送される。
【００１５】
定着部は、ローラやベルトの組み合わせによって構成され、ハロゲンヒータなどの熱源を内蔵し、作像部によってトナー像が転写されたシート上のトナーを、熱と圧力によって溶解、定着させる。
【００１６】
給紙／搬送部は、シートカセットやペーパーデッキに代表されるシート収納庫を一つ以上有しており、プリンタ制御部の指示に応じてシート収納庫に収納された複数のシートの中から一枚を分離して作像部・定着部へ搬送する。シートは作像部の転写ドラム１０１に巻きつけられ、４回転した後に定着部へ搬送される。このとき上述したように４回転する間に前述のＹＭＣＫ各色のトナー像がシートに転写される。またシートの両面に画像形成する場合は、定着部を通過したシートを再度作像部へ搬送する搬送経路を通るように制御する。
【００１７】
プリンタ制御部は、ＭＦＰ全体を制御するＭＦＰ制御部と通信して、その指示に応じて制御を実行すると共に、前述のスキャナ、レーザ露光、作像、定着、給紙／搬送の各部の状態を管理しながら、全体が調和を保って円滑に動作できるよう指示を行う。
【００１８】
＜ＭＦＰ制御部の構成＞
図２は、ＭＦＰ１０００のＭＦＰ制御部の構成例を説明するブロック図である。
【００１９】
ＭＦＰ制御部２００は、画像入力デバイスであるスキャナ２０１や画像出力デバイスであるプリンタエンジン２０２と接続し、原稿上の画像の読み取りや印刷などの制御を行う。尚、スキャナ２０１は前述の原稿露光部に相当し、プリンタエンジン２０２は、図１のレーザ露光部、感光ドラム、作像部、定着部、給紙／搬送部を含む。このＭＦＰ制御部２００は、ＬＡＮ１０や公衆回線２０４と接続することで画像データやデバイス情報をＬＡＮ１０経由で入出力するための制御を行う。
【００２０】
ＣＰＵ２０５は、このＭＦＰ全体を制御するための中央処理装置である。ＲＡＭ２０６は、ＣＰＵ２０５の処理を実行時に各種データを一時的に記憶するワークメモリを提供するとともに、入力された画像データを一時記憶するメモリでもある。ＲＯＭ２０７はブートＲＯＭであり、ブートプログラムが格納されている。ＨＤＤ２０８はハードディスクドライブであり、各種処理のためのシステムソフトウェアや、入力された画像データ等を格納する。操作部インタフェース（Ｉ／Ｆ）２０９は、画像データ等を表示可能な表示部を有する操作部２１０とのインタフェースを制御するインタフェース部であり、操作部２１０に対して表示データを出力する。また操作部Ｉ／Ｆ２０９は、操作部２１０のキーなどを使用して操作者が入力した情報をＣＰＵ２０５に伝える役割をする。ネットワークＩ／Ｆ２１１は、例えばＬＡＮカード等で実現され、ＬＡＮ１０を介して情報の入出力を行う。またモデム２１２は公衆回線２０４に接続され、公衆回線２０４に接続された外部装置との間で情報の入出力を行う。以上の各部がシステムバス２１３上に配置されている。
【００２１】
イメージバスＩ／Ｆ２１４は、システムバス２１３と、画像データを高速で転送する画像バス２１５とを接続するためのバスインタフェースであり、データ構造を変換するバスブリッジである。画像バス２１５上には、ラスタイメージプロセッサ（ＲＩＰ）２１６、デバイスＩ／Ｆ２１７、スキャナ画像処理部２１８、プリンタ画像処理部２１９、画像処理部２２０、カラーマネージメントモジュール（ＣＭＭ）２３０が接続される。ラスタイメージプロセッサ（ＲＩＰ）２１６は、ページ記述言語（ＰＤＬ）コードや後述するベクトルデータを画像データに展開する。デバイスＩ／Ｆ部２１７は、スキャナ２０１やプリンタエンジン２０２とＭＦＰ制御部２００とを接続し、画像データの同期系／非同期系の変換を行う。またスキャナ画像処理部２１８は、スキャナ２０１から入力した画像データに対して、補正、加工、編集等の各種処理を行う。プリンタ画像処理部２１９は、印刷する画像データに対して、プリンタエンジン２０２に応じた補正、解像度変換等の処理を行う。画像処理部２２０は、画像データの回転や、画像データの圧縮伸長処理等の各種画像処理を行う。ＣＭＭ２３０は、画像データに対して、プロファイルやキャリブレーションデータに基づいた、色変換処理（色空間変換処理ともいう）を施す専用ハードウェアモジュールである。プロファイルとは、機器に依存した色空間で表現したカラー画像データを機器に依存しない色空間（例えばＬａｂなど）に変換するための関数のような情報である。キャリブレーションデータとは、カラーＭＦＰにおけるスキャナ２０１やプリンタエンジン２０２の色再現特性を修正するためのデータである。
【００２２】
＜システム構成＞
図３は、ＭＦＰ１０００と同様の機能を備えた複数のＭＦＰからなる画像処理システムの全体構成を示すブロック図である。
【００２３】
図において、この画像処理システムは、互いにＬＡＮ１０を介して接続された、ＭＦＰ１，ＭＦＰ２，ＭＦＰ３を具備している。ここで各ＭＦＰは、前述の図２に示すような構成を有している。ＨＤＤ（二次記憶装置）Ｈ１，Ｈ２，Ｈ３は図２のＨＤＤ２０８に相当している。ここで各ＭＦＰに搭載されているプリンタエンジン２０２の印刷解像度は、ＭＦＰ毎に異なっており、ＭＦＰ１とＭＦＰ３はともに６００ｄｐｉ、ＭＦＰ２は１２００ｄｐｉとする。また各ＭＦＰに搭載されているＲＩＰ２１６の種類もＭＦＰ毎に異なっており、ＭＦＰ１とＭＦＰ２のＲＩＰは同種（図中、「Ｒａ」）、ＭＦＰ３だけが異なる種類（「Ｒｂ」）である。一般にＲＩＰ２１６は、ＡＳＩＣなどのハードウェアで構成されるため、異なる種類のレンダラは異なる種類の描画命令群を処理することができない。この描画命令群を一般にDisplayList（以下、ＤＬ）と呼ぶ。ＤＬはハードウェアで処理可能なインストラクションであり、複雑な描画記述を持つベクタデータからソフトウェアで生成され、解像度に依存している。
【００２４】
ここでＭＦＰ１，ＭＦＰ２，ＭＦＰ３は、ネットワークプロトコルを使用して互いに通信することができる。尚、ＬＡＮ１０に接続されるこれらのＭＦＰは上記のような物理的な配置に限定されなくても良い。また、ＬＡＮ１０にはＭＦＰ以外の機器（例えばＰＣ、各種サーバ、プリンタなど）が接続されていても良い。
【００２５】
図４は、ＭＦＰ１０００の動作を制御するＭＦＰ制御部のソフトウェアの構成を示す機能ブロック図である。
【００２６】
プリンタインターフェイス４００は、ＬＡＮ１０を介して外部装置（ホストコンピュータ等）とのデータの送受信を制御する。プロトコル制御部４０１は、ネットワークプロトコルを解析・送信することによって外部装置との通信を行う。ベクタデータ生成部４０２は、ビットマップデータから解像度に依存しない描画記述であるベクタデータを生成（ベクタライズ）する。メタデータ生成部４０３は、ベクタライズの過程で得られる副次情報をメタデータとして生成する。ここでメタデータとは、画像を描画する処理には必要のない検索用の付加的なデータを指す。ＰＤＬ解析部４０４は、ＰＤＬを解析し、より処理しやすい形式の中間コード（DisplayList）に変換する。ＰＤＬ解析部４０４で生成された中間コードはデータ描画部４０５に渡されて処理される。データ描画部４０５は、中間コードをビットマップデータに展開する。こうして展開されたビットマップデータは、ＲＡＭ２０６に設けられたページメモリ４０６に逐次描画される。パネル入出力制御部４０７は、操作部２１０との間のデータのやり取りを制御する。ドキュメント記憶部４０８は、入力文書の一塊（ジョブ）単位にベクタデータ、DisplayList、メタデータ等を包含するデータファイルを記憶する。このドキュメント記憶部４０８は、ＨＤＤ２０８等の二次記憶装置によって実現される。尚、このデータファイルを本実施の形態では「ドキュメント（またはDocument）」と呼ぶ。スキャン制御部４０９は、スキャナ２０１から入力した画像データに対して、補正、加工、編集などの各種処理を行う。印刷制御部４１０は、ページメモリ４０６の内容をビデオ信号に変換処理してプリンタエンジン２０２へ転送する。
【００２７】
＜ＭＦＰにおけるデータ処理の説明＞
次に、ドキュメントを構成するベクタデータ、ＤＬ、メタデータがどのように生成されるのかを説明する。
【００２８】
図５〜図７は、ＭＦＰ１０００のＭＦＰ制御部によるデータ処理の流れを説明する図である。
【００２９】
図５は、ＭＦＰ１０００がコピー動作を実行するときのデータフローを説明する図である。
【００３０】
まず原稿露光部にセットされた原稿はスキャン処理５０１によってビットマップデータに変換される。次にベクタライズ処理５０２とメタデータ生成処理５０４によってビットマップデータからそれぞれ解像度に依存しないベクタデータと、それに付随するメタデータが生成される。これらベクタデータ、メタデータの具体的な生成方法については後述する。
【００３１】
次にドキュメント生成処理５０３によってベクタデータとメタデータが関連付けられたドキュメントが生成される。次にＤＬ生成処理５０５によりドキュメント中のベクタデータからＤＬが生成され、この生成されたＤＬはドキュメント中に格納されると共にレンダリング処理５０７に送られてビットマップデータに展開される。こうして展開されたビットマップデータは、印刷処理５０８によって記録媒体であるシートに印刷されて印刷物となる。尚、こうして印刷された印刷物をまた原稿露光部にセットしてスキャン処理５０１からの処理を行うことができる。
【００３２】
図６は、図５で示したメタデータ生成処理の具体的な処理の流れを示す図である。
【００３３】
まず領域分割処理６０１により、ビットマップデータから領域分割を行う。この領域分割は、入力されたビットマップ画像データを解析して、画像に含まれるオブジェクトの塊毎に領域に分割し、各領域の属性を判定して分類する処理である。ここで属性としては、文字（TEXT）、画像（PHOTO）、線（LINE）、図形（PICTURE）、表（TABLE）等がある。
【００３４】
図８は、入力画像に対して領域分割を行った場合の一例を示す図である。
【００３５】
入力画像８０１に対して領域分割を行った結果が判定結果８０２で示されている。この判定結果８０２において、点線で囲った部分が画像を解析した結果のオブジェクトの１単位を表し、各オブジェクトに対して付されている属性の種類が領域分割の判定結果を示している。
【００３６】
こうして属性毎に分類された各領域の中から文字属性の領域は、文字認識処理６０２により文字認識処理され、その領域の文字列は文字コードに変換される。
【００３７】
一方、画像属性の領域は、画像情報抽出処理６０３により画像情報に変換される。この画像情報とは、その画像の特徴を現す文字列であり、例えば「花」や「顔」といった文字列で表される。この画像情報の抽出には画像特徴量（画像を構成するピクセルの周波数や濃度など）の検出や顔認識などの一般的な画像処理技術を用いで実現できる。こうして生成された文字列と画像情報は、フォーマット変換処理６０４によって後述するデータフォーマットに整えられてメタデータが生成される。
【００３８】
図７は、ＰＤＬプリント時のデータ処理の流れを示す図である。ここでＰＤＬプリントとは、ＰＣ（ホストコンピュータ）上のアプリケーションから印刷を指示した場合にＰＣ上のプリンタドライバによって生成されたページ記述言語（ＰＤＬ）を受け取って印刷するプリンタの処理動作である。
【００３９】
ＰＣから受信したＰＤＬデータは、ＰＤＬデータ解析処理７０１によって解析され、ベクタデータが生成される。次にＤＬ生成処理７０２によりベクタデータからＤＬが生成され、生成されたＤＬはドキュメントの中に格納されると共にレンダリング処理７０３に送られてビットマップデータに展開される。こうして展開されたビットマップデータは印刷処理７０４によってシートに印刷されて印刷物となる。この過程で生成されるベクタデータ、ＤＬは、ドキュメント生成処理７０６によってドキュメントとして格納される。
【００４０】
またレンダリング処理７０３が生成したビットマップデータから、メタデータ生成処理７０５により、図５のコピー動作時と同様に、文字列や画像情報がメタデータとして生成されてドキュメントに格納される。更に、ＰＤＬの依存性を除去するために、ベクタデータ生成処理７０７の様に、レンダリング後のビットマップデータからベクタデータを生成する場合もある。
【００４１】
なお、ここではＭＦＰ１０００は文字フォント情報を保持していないものとする。そのため、ＰＣ上のアプリケーションで作成されたアプリデータに文字情報が含まれている場合は、後述するプリンタドライバで予め文字情報が画像データに展開された状態でＰＤＬデータとしてＭＦＰ１０００に送信される。
【００４２】
次に、ドキュメントの生成処理と印刷処理について説明する。
【００４３】
図９は、ＭＦＰ制御部によるドキュメントの生成処理を示すフローチャートである。この処理はビットマップデータを受けてベクタデータ、ＤＬ、メタデータで構成されるドキュメントを生成する処理である。この処理は、ＨＤＤ２０８からＲＡＭ２０６にロードされたプログラムに従ってＣＰＵ２０５の制御の下に実行される。
【００４４】
まずステップＳ１で前述した領域分割処理を行う。次にステップＳ２に進み、その分割した各領域の種別（属性）を判定する。ここでは前述のように、文字、画像、図形とからなる属性ごとに分類し、各属性に対して別々の処理を行う。尚、図８では、属性を文字、画像、線、図形、表に分類した例を示したが、図９では、画像及び図形は「IMAGE」に、線及び表は「GRAPHIC」に分類される。尚、文字は図８と同様に同じ「TEXT」に分類される。
【００４５】
属性が「TEXT」の場合はステップＳ２からステップＳ３に進み、その文字画像に対して文字認識処理を行った後、ステップＳ４に進んで文字列を取得する。その後、ステップＳ５に進み、ステップＳ４で取得した文字列をメタデータに変換する。次にステップＳ６に進み、その認識した文字の輪郭をベクタデータに変換する。そしてステップＳ１１で、ドキュメントのフォーマットに変換してドキュメントに含める。
【００４６】
ここで、ステップＳ５の処理に関してもう少し説明を加える。
【００４７】
文字列から生成されるメタデータは、文字コードの羅列であるが、文字コードの羅列はキーワードによる検索に必要な情報である。しかし、文字認識処理では、文字画像から文字コードへの変換ができても、例えば、その文字画像の「明朝」「ゴシック」等の書体や、「１０ｐｔ」「１２ｐｔ」といった文字のサイズ、「イタリック」「ボールド」といった文字修飾までは認識できない。従って、その文字認識された文字コードから文字画像を描画する場合には、文字コードではなく、その文字輪郭をベクタデータとして保持する必要がある。
【００４８】
一方、ステップＳ２で、その領域の属性がIMAGEであると判定した場合はステップＳ７に進み、画像情報の抽出処理を行う。ステップＳ７では、前述したように、画像特徴量検出や顔認識などの一般的な画像処理技術を用いて画像の特徴を検知する。次にステップＳ８に進み、ステップＳ７で検知した画像の特長を文字列に変換する。この変換は特徴パラメータと、それに対応する文字列を記憶したテーブルを用いることにより容易に実施できる。その後、ステップＳ９に進み、その文字列をメタデータへ変換する。そしてステップＳ１１に進み、ドキュメントのフォーマットに変換してドキュメントに含める。このように属性がIMAGEである領域に対してはベクトル化を行わずにイメージデータをそのままベクタデータとして保持する。
【００４９】
またステップＳ２で、その領域の属性がGRAPHICであると判定した場合はステップＳ１０に進み、ベクトル化処理を行う。そしてステップＳ１１に進んで、ドキュメントのフォーマットに変換してドキュメントに含める。
【００５０】
図１０は、ドキュメントの印刷処理を示している。この処理は生成されたドキュメントを印刷出力する処理である。
【００５１】
図１０は、本実施の形態に係るＭＦＰ制御部によるドキュメントの印刷処理を示すフローチャートである。この処理は、ＨＤＤ２０８からＲＡＭ２０６にロードされたプログラムに従ってＣＰＵ２０５の制御の下に実行される。
【００５２】
まずステップＳ２１で、ドキュメントを受け取る。次にステップＳ２２に進み、そのドキュメントのベクタデータからＤＬを生成する。次にステップＳ２３に進み、ステップＳ２２で生成したＤＬをドキュメントに追加する。次にステップＳ２４に進み、ＤＬをビットマップデータにレンダリングする。最後にステップＳ２５に進み、そのビットマップデータに基づいてシートへの印刷処理を行う。
【００５３】
図１１は、本実施の形態に係るＭＦＰ制御部によるＰＤＬデータからドキュメントを生成して印刷する処理を示すフローチャートである。この処理は、ＨＤＤ２０８からＲＡＭ２０６にロードされたプログラムに従ってＣＰＵ２０５の制御の下に実行される。
【００５４】
まずステップＳ３１で、ＰＤＬデータを解析する。ステップＳ３２では、この解析中に文字列情報などのメタデータ（付加情報）がＰＤＬデータに含まれているかを判定する。メタデータが含まれていればステップＳ３９に進み、そのＰＤＬデータのメタデータをドキュメントに追加する。
【００５５】
一方、ステップＳ３２で、文字列情報などのメタデータ以外のデータの場合はステップＳ３３に進み、ベクタデータに変換する。そしてステップＳ３４に進み、ドキュメントを生成する。次にステップＳ３５に進んでＤＬを生成する。次にステップＳ３６に進み、ステップＳ３５で生成したＤＬをドキュメントに追加する。ここまでの処理フローでドキュメントが生成される。そしてステップＳ３７のレンダリング処理、ステップＳ３８のシートへの印刷処理により全ての処理を終了する。
【００５６】
＜ドキュメントデータ構造＞
次に、ドキュメントのデータ構造を説明する。
【００５７】
図１２、図１３、図１４はドキュメントの構造を示している。
【００５８】
図１２は、本実施の形態に係るドキュメントのデータ構造を示す図である。
【００５９】
ドキュメントは、複数ページからなるデータであり、大きく分けるとベクタデータ１２００、メタデータ１２０１、ＤＬ１２０２で構成され、ドキュメントヘッダ１２０３を先頭とする階層構造である。ベクタデータ１２００は更に、ページヘッダ１２０４、サマリ情報１２０５、オブジェクト１２０６を含んでいる。またメタデータ１２０１は、ページ情報１２０７と詳細情報１２０８とを含んでいる。ＤＬ１２０２は、ページヘッダ１２０９と描画展開用のインストラクション１２１０を有している。ドキュメントヘッダ１２０３には、ベクタデータの格納場所とＤＬの格納場所が記述されている。これにより、ベクタデータ１２００とＤＬ１２０２はドキュメントヘッダ１２０３によって関連付けられている。
【００６０】
ベクタデータ１２００は、解像度非依存の描画データである。ページヘッダ１２０４は、各ページの大きさや向きなどのレイアウト情報を記述する。そしてオブジェクト１２０６には、ライン、多角形、ベジェ曲線などの描画データが一つずつリンクされており、複数のオブジェクトがまとめてサマリ情報１２０５により関連付けられている。このサマリ情報１２０５は、複数のオブジェクトの特徴をまとめて表現するものであり、図８で説明した各領域の属性情報などが記述される。
【００６１】
メタデータ１２０１は、画像を描画する処理には直接関係しない検索用の付加情報である。ページ情報１２０７は、例えばメタデータがビットマップデータから生成されたものであるか、ＰＤＬデータから生成されたであるか、等のページ情報を記述する。また詳細情報１２０８は、ＯＣＲ情報や、画像情報として生成された文字列（文字コード列）を記述する。
【００６２】
またベクタデータ１２００のサマリ情報１２０５はメタデータを参照しており、このサマリ情報１２０５から、対応する詳細情報１２０８を見つけることができる。
【００６３】
ＤＬ１２０２は、レンダラ（ＲＩＰ２１６）がビットマップデータに展開するための中間コードである。ページヘッダ１２０９には、ページ内の描画情報（インストラクション）の管理テーブルなどが記述されている。またインストラクション１２１０は、解像度依存の描画情報で構成されている。
【００６４】
図１３は、ドキュメントデータの具体例を示す図である。
【００６５】
図では、１ページ目のサマリ情報１３０１，１３０２には、「TEXT」と「IMAGE」が保持されている。「TEXT」のサマリ情報には、「H,e,l,l,o」（オブジェクト１３０３）と「W,o,r,l,d」（オブジェクト１３０４）の文字輪郭がベクタデータとしてリンクされている。更に、サマリ情報１３０１から、「Hello」「World」という文字コード列（メタデータ）１３０５が参照されている。また「IMAGE」のサマリ情報１３０２には、蝶の写真画像（JPEG）１３０６がリンクされている。そしてサマリ情報１３０２から「butterfly」という画像情報（メタデータ）１３０７が参照されている。従って、例えば「World」というキーワードでページ中のテキストを検索する場合は、以下の手順で行う。
【００６６】
まずドキュメントヘッダ１２０３からベクタデータのページデータを順次取得し、ページヘッダ１２０４にリンクされているサマリ情報１３０１から属性「TEXT」にリンクされているメタデータ１３０５を検索する。
【００６７】
図１４（Ａ）（Ｂ）は、例えば図１２で説明したデータ構造が、メモリ或はファイルにどのように配置されるのかを示す図である。
【００６８】
図１４（Ａ）は、メモリへのドキュメントの配置を説明する図である。ここではドキュメントは、ベクタデータ領域、メタデータ領域、ＤＬ領域がメモリ上の任意のアドレスに配置される。
【００６９】
図１４（Ｂ）は、ファイルへのドキュメントの配置を説明する図である。ここではドキュメントは、ベクタデータ領域、メタデータ領域、ＤＬ領域が、一つのファイルにシリアライズされる。
【００７０】
以上、ＭＦＰ１０００が有しているソフトウェアによりＰＤＬデータを解析して、ビットマップデータに展開し、印刷する処理について説明した。ところで、上述したように、ＭＦＰが文字フォント情報を保持していない場合は、文字情報についてはホストコンピュータ側のプリンタドライバで予め画像データに展開された状態でＰＤＬデータとしてＭＦＰに送信する必要がある。しかしながらこの場合、ＭＦＰが受信したＰＤＬデータに基づいてベクタデータを生成するとともに、上述した方法でメタデータを生成しようとすると、ビットマップデータに対して文字認識処理を行って文字列情報を取得しなければならない。なぜなら、ホストコンピュータ側のアプリデータに含まれていた文字情報は、プリンタドライバによって画像データに展開された状態でＭＦＰに送信されるため、文字列情報は消失してしまっているからである。従って、このＭＦＰにおける文字認識処理で文字が誤認識されてしまうと、ドキュメントのメタデータとして保持される文字列情報が示す文字と実際の画像に含まれている文字とが異なってしまうおそれがある。
【００７１】
そこで、本実施の形態では、ＭＦＰに接続された画像処理装置（例えば、パーソナルコンピュータ（ＰＣ））において、アプリケーションが作成したアプリデータを展開して画像データを生成する際に以下のような処理を行う。即ち、本実施の形態の画像処理装置（ＰＣ）は、アプリケーションが作成したアプリデータを展開して画像データを生成する場合に、アプリデータに含まれる情報であって、当該アプリデータに基づいて生成された画像データには含まれない情報を取得する。そして、取得した情報を生成された画像データの付加情報として、当該画像データに付加する。更に、この付加情報が付加された画像データを外部装置（ＭＦＰ）に送信する。なお、下記に説明するアプリケーションとは、文書作成や表計算などの用途に用いられるアプリケーションを示す。
【００７２】
また、ここでは、ホストコンピュータ（ＰＣ）と印刷装置（プリンタ）とがネットワークを介して接続されている場合について説明する。なお、ホストコンピュータと印刷装置との接続形態はここで説明するネットワークの形態に限らず、セントロニクスインタフェース、赤外線通信、無線通信、ＵＳＢやＩＥＥＥ１３９４規格で定義されたインタフェース等を採用しても構わない。
【００７３】
図１５は、本実施の形態において画像処理装置として機能するＰＣ１５５０からプリンタ１５２０に印刷データを送信して印刷させる印刷システムにおけるプリンタドライバ１５０１の機能構成を説明する図である。図において、ＣＰＵ１５３１はＲＯＭ１５３５に格納されているブートプログラムに基づいてＰＣ１５５０のシステムを起動する。そしてＣＰＵ１５３１は、このシステム上でＲＯＭ１５３５に格納されている各種制御プログラムを読み出して、ＲＡＭ１５３２をワークエリアとして各種処理を実行する。操作部１５３３は、ユーザからの指示を受け付け、その指示内容をＣＰＵ１５３１に通知する。ネットワークＩ／Ｆ部１５３４は、ＰＣ１５５０とプリンタ１５２０等のネットワーク上の外部装置（例えばＭＦＰ）との間のデータ通信を制御する。
【００７４】
更に、図において、１５００は、ＰＣ１５５０を制御しているＯＳを示す。プリンタドライバ１５０１は、ＯＳ上で動作する、プリンタ１５２０を制御するソフトウェアである。１５０２は、ＰＣ１５５０に備えられたアプリケーションを用いて作成されたアプリデータに基づく画像データをプリンタ１５２０に送信して印刷させる指示や、或いは保存させる指示を受け付けるためのインタフェースを、操作部１５３３を介して提供する。印刷データ制御部１５０４は、アプリケーションから指定される描画命令を受け、プリンタ１５２０で印刷できる印刷データを作成する。アプリ情報取得部１５１０は、アプリデータを作成するアプリケーションに関するアプリ情報を取得する。このアプリ情報とはアプリケーションの製品名やバージョンなどの情報である。ホスト情報取得部１５１２は、設定情報を取得する。この設定情報とは、ユーザインタフェース部１５０２で設定される情報であって、プリンタ１５２０で印刷処理を実行する際の用紙の向き、サイズ、部数、両面／片面指定などを含む。描画命令取得部１５１１は、描画命令を取得する。この描画命令は、線描画やビットマップ描画などの命令で様々なパラメータを含む。また描画に必要なデータがＯＳのサービス関数によって得られる場合もあり、このサービス関数によって得られる情報はプリンタ１５２０におけるベクタライズの処理においても利用される。印刷データ生成部１５１４は、アプリデータを展開することにより画像データを生成する。前述したように、ＭＦＰ側に文字フォント情報が保持されていない場合、アプリデータに含まれる文字情報はプリンタドライバによって画像データに展開される。なお、ここではアプリデータに含まれる文字情報以外の情報は画像データに展開せずにＰＤＬに従って記述されてＭＦＰに送信するものとするが、文字情報以外の情報についても画像データに展開した状態で送信するようにしても構わない。メタデータ生成部１５１３は、アプリ情報取得部１５１０、ホスト情報取得部１５１２、描画命令取得部１５１１で取得した情報を基にメタデータを生成する。即ち、メタデータ生成部１５１３は、アプリデータに含まれる情報であって、当該アプリデータに基づいて生成された画像データには含まれない情報を取得し、この情報に基づいてメタデータを生成する。印刷コマンド制御部１５０３は、印刷データ生成部１５１４により作成された印刷データ及びメタデータ生成部１５１３により生成されたメタデータをプリンタ１５２０に対応した印刷コマンドに変更する。
【００７５】
メタデータ生成部１５１３により生成されたメタデータは、印刷データ生成部１５１４により生成された画像データの付加情報として、当該画像データに付加される。そして、付加情報が付加された画像データは、ネットワークＩ／Ｆ部１５３４を介してプリンタ１５２０に対して出力される。
【００７６】
なお、プリンタドライバ１５０１のメタデータ生成部１５１３で作成されたメタデータと、上述のＭＦＰ１０００のメタデータ生成部４０３で作成されたメタデータは、ＭＦＰ上でマージされる。即ち、プリンタドライバ１５０１のメタデータ生成部１５１３で作成されたメタデータは、ＭＦＰ１０００のメタデータ生成部４０３で作成されたメタデータとともに、「検索」や「ベクタライズ」に利用される。
【００７７】
図１６は、ＭＦＰ１０００において、プリンタドライバが生成したメタデータを用いて、ＰＤＬデータに基づくドキュメントを生成して印刷する処理の流れを説明する図である。ここでは前述の図７と共通する部分は同じ記号で示し、それらの説明を省略している。
【００７８】
ここでは、上述のプリンタドライバ１５０１で生成されたメタデータ１６００が、ＰＤＬデータをレンダリングすることにより得られたビットマップデータから生成されたメタデータとマージされドキュメントが生成される。このメタデータは、このドキュメントの検索等に利用される。また、ＭＦＰにおいて、プリンタドライバ１５０１で生成されたメタデータ１６００を参照してベクタライズすることにより、元のアプリデータにより近い内容を示すベクタデータを得ることができる。
【００７９】
図１７は、プリンタドライバによるメタデータの生成処理を説明する図である。
【００８０】
アプリケーション１７００からのアプリデータやホスト情報１７０１からプリンタドライバ１５０１により、ＰＤＬデータ１７０２とメタデータ１７０３が生成される。即ち、プリンタドライバ１５０１がアプリデータを展開して画像データを生成する時、「ジョブの処理方法」が「保存」の場合、アプリデータに含まれている情報を取得し、メタデータ１７０３を生成する。そして、プリンタ１５２０に、ＰＤＬデータ１７０２と共にメタデータ１７０３を送信する。なお、このときメタデータ１７０５を、描画データ１７０４とマージして、ＰＤＬデータの中に格納するようにしてもよい。このようにして、プリンタ１５２０のボックスに保存されたドキュメントを検索する際に、プリンタドライバ１５０１で生成されたメタデータを利用することが可能になる。
【００８１】
以上の通り、プリンタによっては文字フォント情報を保持していないものもあり、このような場合はホストコンピュータ側で予めアプリデータを画像データに展開した状態でプリンタに送信する。しかしながら、この場合アプリデータに基づいて画像データを生成する際に、文字列情報が失われてしまう場合がある。このため、プリンタ側でビットマップデータに対して文字認識処理を行った結果、ビットマップデータに含まれている文字列を正しく認識できなかった場合、それを基に作成したメタデータを用いて検索すると検索に失敗する場合があった。これに対して、本実施の形態では上述のように構成することで、例えば「ジョブの処理方法」が「保存」の場合（後に検索される可能性が高い）には以下のようにする。即ち、アプリデータを展開して画像データを生成する時に、そのアプリデータに含まれる文字情報（文字コードの少なくとも一部、展開後の画像データには含まれない）を取得し、メタデータ（付加情報）として付加する。そして、そのメタデータを、プリンタにおけるドキュメントの検索等に利用する。
【００８２】
尚、本実施の形態では、「ジョブの処理方法」が「印刷」の場合は、メタデータを付与せずに、印刷に要する時間を短縮するようにしている。
【００８３】
［実施の形態２］
上述の実施の形態１では、プリンタドライバで作成したメタデータをＭＦＰ１０００に送信して、そのメタデータをＭＦＰ１０００における検索で用いる例を説明した。本実施の形態２ではＭＦＰ１０００でベクタライズの処理を行う際にプリンタドライバで生成したメタデータを利用する例を説明する。
【００８４】
プリンタの中には、画像の透過やグラデーションの属性に対応していないものもあるため、これらのプリンタに対しては予め該当するオブジェクトを画像データに展開した状態でプリンタに送信する必要がある。このため、アプリデータを展開して画像データを生成する際に、それらの画像の透過やグラデーションの属性に関する情報が消失してしまう。これにより、透過やグラデーション等の属性を有していたオブジェクトを含むアプリデータに基づいて生成された画像データを、プリンタでベクタライズする際に、透過イメージの重なり部分が分離されて隙間が生じる場合がある。
【００８５】
図１８は、本発明の実施の形態２を説明する図である。
【００８６】
図において、アプリケーション１８００で作成されたアプリデータ１８０１には、円形のオブジェクトと四角形のオブジェクトとが重なり合った領域が５０％透過であることを示すグラフィックスの属性情報が含まれている。このアプリデータ１８０１をプリンタドライバ１５０１が画像データに展開すると、このグラフィックスの属性情報が消失してしまう。この際、画像データへの展開で消失する、このグラフィックスの属性情報を取得し、メタデータ１８０３として、その生成された画像データ（ＰＤＬデータ１８０２）に付加する。そして、ＭＦＰ１０００において、ＰＤＬデータ１８０２をビットマップデータに展開し、ベクタデータを生成する際に、メタデータ１８０３が参照される。即ち、ベクタライズ処理を行う時に、トラッピング等を用いることにより、その円形のオブジェクトと四角形のオブジェクトが重なり合った領域を別のオブジェクトとして誤認識してしまうことなく、透過グラフィックス部分を正確に認識することができる。
【００８７】
［実施の形態３］
本実施の形態３では、プリンタドライバでメタデータに格納したホスト情報（アプリ名、バージョン）を利用したベクタライズの精度向上の例を説明する。
【００８８】
例えば、アプリケーションによっては、アプリケーションで色処理から中間調処理（ＨＴ）まで実施するものがある。そのためＨＴ後の塗り潰しパターンは、プリンタが内蔵しているパターンを用いる一般のアプリケーションとは異なる。しかし、アプリデータを作成したアプリケーションの特徴等をどこまで表現できるかはプリンタに依存することになる。また従来は、プリンタでレンダリングイメージをベクタライズする際にはアプリケーションの特徴等の情報は利用できず、一律な処理を行っていた。
【００８９】
従って、上述のようなアプリケーションでＨＴを実行したデータであっても、プリンタでベクタライズ処理される場合には、そのプリンタが内蔵する特定のパターンを用いてベクタライズされてしまう。
【００９０】
そこで、プリンタドライバ１５０１が、それらの情報を取得し、メタデータとして画像データに付加してプリンタに供給する。これにより、ベクタライズ時にそのメタデータを参照することができ、アプリケーションの特徴に沿ったベクタライズ処理を実行できる。
【００９１】
図１９は、本発明の実施の形態３に係る動作を説明する図である。
【００９２】
例えば、上述のようなアプリケーションがＨＴを実行した部分は、メタデータ１９０１として、アプリデータ１９００に付加してＭＦＰ１０００に送信する。これによりプリンタでは、そのアプリデータのベクタライズ時に、そのメタデータを参照することにより、そのプリンタが内蔵しているパターンではなく、アプリケーションがＨＴを実行したパターンそのものを利用してベクタライズを行うことができる。
【００９３】
尚、この場合、プリンタのＵＩに「アプリの特徴を再現する」ボタンを用意して、アプリケーションがＨＴを実行したパターン、或はプリンタ内蔵のパターンを使用するかを指定できるようにしても良い。
【００９４】
図２０は、本実施の形態に係るプリンタドライバの処理を説明するフローチャートである。なお、この一連の動作の制御は、ＰＣ１５５０のＣＰＵ１５３１がＲＯＭ１５３５に格納されたプログラムに基づいて実行するものとする。
【００９５】
先ずステップＳ２００１で、アプリケーションが作成したアプリデータを受け取る。次にステップＳ２００２に進み、受け取ったアプリデータを展開して画像データを生成する。続くステップＳ２００３では、ユーザからの指示がＭＦＰ１０００に画像データを印刷する処理を依頼するものか、或いは保存する処理を依頼するものかを判定する。この判定の結果、ユーザからの指示がＭＦＰ１０００に画像データを保存する処理を依頼するものである場合に、ステップＳ２００４に進む。ステップＳ２００４では、アプリケーションが作成したアプリデータに含まれ、展開後の画像データに含まれていない情報（文字コードの一部、オブジェクトの属性情報、或いはアプリデータを作成したアプリケーションに関する情報等）を取得する。この処理は、図１５のアプリ情報取得部１５１０、ホスト情報取得部１５１２、描画命令取得部１５１１、メタデータ生成部１５１３により実行される。そしてステップＳ２００５で、取得した情報に基づいてメタデータを生成する。次にステップＳ２００６に進み、ステップＳ２００２で生成された画像データに、ステップＳ２００５で生成したメタデータを付加する。そしてステップＳ２００７に進み、メタデータが付加された画像データを外部機器（ＭＦＰ１０００）に出力する。なお、ステップＳ２００３の判定の結果、ユーザからの指示がＭＦＰ１０００に画像データを印刷する処理を依頼するものである場合は、ステップＳ２００４乃至Ｓ２００６の処理は省略してステップＳ２００７に進む。即ち、この場合は、メタデータが付加されていない画像データが外部装置に送信される。
【００９６】
なお、以上の説明では、ホストコンピュータ側のプリンタドライバがアプリデータを画像データに展開した状態で、ＰＤＬデータとしてＭＦＰに送信する例について説明した。しかしながら、ホストコンピュータからＭＦＰに画像データを送信する場合に、ＰＤＬデータ以外のデータ形式で送信するようにしても構わない。つまり、例えば、上記の構成をホストコンピュータ側で全てのアプリデータを画像データ（例えばビットマップデータ）に展開した状態でＭＦＰ側に送信するホストベース型の印刷システムで採用してもよい。即ち、アプリデータをホストコンピュータ側で画像データに展開することによりアプリデータに含まれている一部の情報が消失するような場合であれば、上記の構成を適用することが可能である。また更に、上記の説明では、アプリデータを画像データに展開することにより消失する情報を取得して付加情報として画像データに付加する構成をホストコンピュータ側のプリンタドライバが備えている例について説明したが、他の態様であっても構わない。即ち、上記プリンタドライバが備える各構成を、ＭＦＰが備えるようにすることもできる。つまり、ホストコンピュータ或いはＭＦＰが備えるアプリケーションで作成されたアプリデータを、ＭＦＰにおいて画像データに展開して出力する際に、この展開処理により消失する情報を画像データの付加情報として付加するようにしても構わない。
【００９７】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【００９８】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００９９】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１００】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１０１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１０２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【０１０３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０４】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０５】
【図１】本実施の形態に係るＭＦＰの構成を示す図である。
【図２】本実施の形態に係るＭＦＰのＭＦＰ制御部の構成例を説明するブロック図である。
【図３】本実施の形態に係る画像処理システムの全体構成を示すブロック図である。
【図４】本実施の形態に係るＭＦＰの動作を制御するＭＦＰ制御部のソフトウェアの構成を示す機能ブロック図である。
【図５】本実施の形態に係るＭＦＰがコピー動作を実行するときのデータフローを説明する図である。
【図６】図５で示したメタデータ生成処理の具体的な処理の流れを示す図である。
【図７】ＰＤＬプリント時のデータ処理の流れを示す図である。
【図８】入力画像に対して領域分割を行った場合の一例を示す図である。
【図９】本実施の形態に係るＭＦＰ制御部によるドキュメントの生成処理を示すフローチャートである。
【図１０】本実施の形態に係るＭＦＰ制御部によるドキュメントの印刷処理を示すフローチャートである。
【図１１】本実施の形態に係るＭＦＰ制御部によるＰＤＬからドキュメントを生成して印刷する処理を示すフローチャートである。
【図１２】本実施の形態に係るドキュメントのデータ構造を示す図である。
【図１３】ドキュメントデータの具体例を示す図である。
【図１４】図８で説明したデータ構造が、メモリ或はファイルにどのように配置されるのかを示す図である。
【図１５】本実施の形態に係るＰＣからプリンタに印刷データを送信して印刷させる印刷システムにおけるプリンタドライバの機能構成を説明する図である。
【図１６】本発明の実施の形態に係るプリンタドライバが生成したメタデータを用いて、ＰＤＬからのドキュメントを生成して印刷する処理の流れを説明する図である。
【図１７】本実施の形態に係るプリンタドライバによるメタデータの生成処理を説明する図である。
【図１８】本発明の実施の形態２を説明する図である。
【図１９】本発明の実施の形態３に係る動作を説明する図である。
【図２０】本実施の形態に係るプリンタドライバの処理を説明するフローチャートである。
【符号の説明】
【０１０６】
１５１０  アプリ情報取得部
１５１１  描画命令取得部
１５１２  ホスト情報取得部
１５１３  メタデータ生成部
【図１】
0005188201.tif 000002
【図２】
0005188201.tif 000003
【図３】
0005188201.tif 000004
【図４】
0005188201.tif 000005
【図５】
0005188201.tif 000006
【図６】
0005188201.tif 000007
【図７】
0005188201.tif 000008
【図８】
0005188201.tif 000009
【図９】
0005188201.tif 000010
【図１０】
0005188201.tif 000011
【図１１】
0005188201.tif 000012
【図１２】
0005188201.tif 000013
【図１３】
0005188201.tif 000014
【図１４】
0005188201.tif 000015
【図１５】
0005188201.tif 000016
【図１６】
0005188201.tif 000017
【図１７】
0005188201.tif 000018
【図１８】
0005188201.tif 000019
【図１９】
0005188201.tif 000020
【図２０】
0005188201.tif 000021