(57)【要約】【課題】  ＰＣに比べ小さな表示部しかないＭＦＰでは、複数あるオブジェクトから編集対象のオブジェクトを選択することは、非常に困難な作業となる。【解決手段】  複数オブジェクトを含む画像を表示し、その表示された画像上で指示された位置に対応するオブジェクトを抽出する（Ｓ３）。それら抽出されたオブジェクトのそれぞれに対応する個別画像をレイアウトして表示させ（Ｓ６）、そのレイアウト表示された個別画像のいずれかを選択し（Ｓ７）、その選択したオブジェクトに画像処理を実行する。【選択図】  図８
2008017210.tif 000002
【特許請求の範囲】
【請求項１】
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置であって、
前記複数オブジェクトを含む画像を表示する表示手段と、
前記表示手段に表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示手段と、
前記レイアウト表示された個別画像のいずれかを選択する選択手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記選択手段により選択された個別画像に対応するオブジェクトに対して画像処理を実行する画像処理手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記画像の画像データはベクタ化されて、複数のタイル領域に分割して記憶されており、前記抽出手段は、前記画像上で指示された位置及び／又は当該位置に隣接するタイル領域に含まれるオブジェクトを抽出することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記抽出手段は、前記表示手段における前記画像の表示状況に応じて、前記抽出するタイル領域を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記抽出手段は、前記位置を指示する座標指示具の種類に応じて、前記抽出するタイル領域を変更することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置の制御方法であって、
前記複数オブジェクトを含む画像を表示する表示工程と、
前記表示工程で表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出工程と、
前記抽出工程で抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示工程と、
前記レイアウト表示された個別画像のいずれかを選択する選択工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項７】
前記選択工程で選択された個別画像に対応するオブジェクトに対して画像処理を実行する画像処理工程を更に有することを特徴とする請求項６に記載の画像処理装置の制御方法。
【請求項８】
前記画像の画像データはベクタ化されて、複数のタイル領域に分割して記憶されており、前記抽出工程では、前記画像上で指示された位置及び／又は当該位置に隣接するタイル領域に含まれるオブジェクトを抽出することを特徴とする請求項６又は７に記載の画像処理装置の制御方法。
【請求項９】
前記抽出工程では、前記表示工程での前記画像の表示状況に応じて、前記抽出するタイル領域を変更することを特徴とする請求項８に記載の画像処理装置の制御方法。
【請求項１０】
前記抽出工程では、前記位置を指示する座標指示具の種類に応じて、前記抽出するタイル領域を変更することを特徴とする請求項８に記載の画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクトデータを画像データに展開する画像処理装置及びその制御方法に関するものである。
【背景技術】
【０００２】
オフィスにおいてペーパーレス化が進行しており、紙等の印刷物と電子データをシームレスに扱えるような要求が生まれてきている。そのためには、紙と電子データとのＩ／Ｆ機器であるＭＦＰ（複合機）においても、ラスタ画像データを図形や文字、線画等のオブジェクトに変換（以降、ベクトル化）して再利用する、よりインテリジェントな機能を持つことが必要となっている（例えば、特許文献１参照）。
【０００３】
スキャナ等の入力機器から画像データを読み込んでラスタ画像としてスプールし、そのＭＦＰに接続されたＰＣや、ＭＦＰシステムの組み込みアプリケーション上でベクトル化するＭＦＰが提案されている。このようなＭＦＰシステムでは、ＭＦＰシステムの画像データのハンドリングはベクタ化された画像ではないため、オブジェクトを再利用したい場合は、ラスタ画像からベクトル化してオブジェクトを抽出する必要がある。そのため、画像データをベクトルデータのままハンドリングするようなＭＦＰシステムが提案されている。このようなＭＦＰシステムの場合、スキャナで読み込んだラスタ画像に対しては、タイリング処理を施してラスタ画像をタイル化した後、ベクトル化手段でベクトル化する。また、ネットワークＩ／Ｆ手段より入力されたベクタ画像に対してタイリング処理を施して、ベクタ画像のタイル化を行い、全てベクトルデータのタイル画像としてデータをハンドリングする。こうしてベクトル化された画像データは、オブジェクト毎に独立にハンドリングできるため再利用が容易になる。
【０００４】
また、従来のＭＦＰにも実装されているプレビュー機能を用いて、オブジェクトの指定や変換を行えるようにすれば、ベクタ画像の再利用性を更に高めることができる。
【特許文献１】特開２００５−１５７４４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
プレビュー画面上で指定されたオブジェクトを検索する場合に、画像全域を検索すると検索に要する時間が長くなる。また画像内で他のオブジェクトが近接していたり、オブジェクトのサイズが小さかったりする場合、所望のオブジェクトを上手くヒットできずに、ユーザが再指定しなければならない虞れがある。
【０００６】
特にオリジナルの画像データが多数のオブジェクトからなる画像データで構成されている場合には、ＰＣに比べ小さな表示部しかないＭＦＰでは、複数あるオブジェクトから編集対象のオブジェクトを選択することは非常に困難な作業となる。
【０００７】
本発明の目的は上述した従来技術の問題点を解決することにある。
【０００８】
本願発明の特徴は、複数のオブジェクトで構成された画像から、所望のオブジェクトを容易に選択して編集できる画像処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置であって、
前記複数オブジェクトを含む画像を表示する表示手段と、
前記表示手段に表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示手段と、
前記レイアウト表示された個別画像のいずれかを選択する選択手段と、
を有することを特徴とする。
【００１０】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置の制御方法であって、
前記複数オブジェクトを含む画像を表示する表示工程と、
前記表示工程で表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出工程と、
前記抽出工程で抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示工程と、
前記レイアウト表示された個別画像のいずれかを選択する選択工程と、
を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数のオブジェクトで構成された画像から、所望のオブジェクトを容易に選択できる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
［実施の形態１］
図１は、本発明の実施の形態１に係るデジタル複写機（ＭＦＰ）の構成、及び当該複写機を有するシステム構成を示す図である。
【００１４】
１０１，１０２，１０３はネットワーク１０４に相互に接続されたパーソナルコンピュータ（ＰＣ）を示す。これらＰＣは、オフィス等で使用される一般的なパーソナルコンピュータである。１１０はデジタル複写機（ＭＦＰ）を示す。このデジタル複写機（ＭＦＰ）１１０は、コピー機能のほかに、ＰＣからの印刷データを受信して印刷するプリンタ機能、原稿画像を読み取ってＰＣに供給するスキャナ機能、ファクシミリ機能等を有している。
【００１５】
以下、このＭＦＰ１１０の構成について詳しく説明する。
【００１６】
ＣＣＤ１１１は、原稿を読み取ってアナログ電気信号を生成する。Ａ／Ｄ変換器１１２は、このＣＣＤ１１１によって生成されたアナログ電気信号をデジタル電気信号に変換する。ＩＰ機能１１３は、そのデジタル電気信号に対してマスキングやトリミングといったデジタル画像処理を行う。ＤＭＡＣ（Direct MmoryAccess Controller）１１４は、デジタル複写機の画像メモリ１２６へＤＭＡでデジタル画像データを転送する。ＣＰＵ１２０は、メモリ１２６に記憶された制御プログラムに従ってこのＭＦＰ１１０の動作を制御する。インターフェース１２１は、ネットワーク１０４を介してデジタルカメラやＰＣを接続するための外部インターフェースである。制御バス１２２は、このＭＦＰ１１０の制御バスである。圧縮器１２３は、デジタルカメラが所有する圧縮機能と同等の圧縮機能を有する。伸長器１２４は、圧縮された画像データを生の画像データに伸張する。解像度変換器１２５は、画像データを所定の変倍率で変倍する。メモリ１２６は、ハードディスクやＳＤＲＡＭ等で構成され、デジタル画像データを蓄積する。ＭＭＩ１２７は、このＭＦＰ１１０におけるテンキースイッチや液晶画面を有するユーザーインターフェースを司る操作部である。操作部１２７はタッチパネル形式であり、表示画面上をユーザにより直接操作を行うものである。プリンタ１２８は、画像データを基に画像を印刷する。外部インターフェース１２１は、ネットワーク１０４との接続を制御するネットワークインターフェースであり、例えば10BaseTや100BaseTである。ネットワークコントローラ（ＮＣ）１２９は、ネットワークインターフェース１２１を経由して、ＰＣ１０１，１０２，１０３等から送られてくる印刷データを受信してメモリ１２６に蓄積する。
【００１７】
次に、図２から図７及び図８のフローチャートを使用して本実施の形態１について詳しく説明する。
【００１８】
図２は、前述したネットワーク１０４に接続されたＰＣ上で稼動し、文書データや画像データを作成するアプリケーションソフトによって作成される複数のオブジェクトを説明する図である。
【００１９】
２０１，２０２，２０３，２０４のそれぞれはオブジェクト（画像データ）を示している。
【００２０】
図３は、これらオブジェクト２０１〜２０４を合成した画像例を示す図である。
【００２１】
これら複数のオブジェクトデータで構成された画像データ３０１を前述のネットワーク１０４を介してＭＦＰ１１０に転送する。この画像データを受信したＭＦＰ１１０は、その受信した画像データをハードディスク等の大容量メモリ１２６に蓄積する。
【００２２】
ここで通常の印刷指示であれば、このＭＦＰ１１０のＣＰＵ１２０によって、この蓄積したオブジェクトデータをビットマップ画像データに変換し、プリンタ１２８で印刷する。しかしながら、ＭＦＰ１１０の操作部１２７を使用して、ユーザにより画像編集した後に印刷を行うように指示された場合は、図４に示すように、操作部１２７の表示部に、そのオブジェクトデータの画像及び色変換パレットを表示する。
【００２３】
図４は、本実施の形態に係るＭＦＰ１１０の操作部１２７の表示部４０１に表示されたＵＩ画面例を示す図である。
【００２４】
ここでは４０２は、図３のオブジェクトデータに基づく画像の表示例を示し、４０３は、その画像４０２の色変換を指示するための色変換パレットを示す。
【００２５】
ここでユーザは、その表示された画像のエリアを指等で指示して、その画像に含まれているオブジェクト２０１〜２０４のいずれかを選択する。そして、その選択したオブジェクトに対して、色変換パレットによる色変換を指示する。ここで指に対してそのオブジェクトのエリアが狭い場合等は、ユーザが指で所望するオブジェクトを正確に指示するのが困難となる。いま例えば、オブジェクト２０１の「ＡＢＣＤＥＦ」を選択しようとしたにも拘わらず、人物のオブジェクト２０３を選択してしまうことが考えられる。
【００２６】
図５は、画像４０２の人物のオブジェクト２０３が選択された状態を示す図である。
【００２７】
そこで本実施の形態では、ユーザがＭＦＰ１１０の操作部１２７を使用して画像のエリアを指定すると、その指定されたエリアに存在するオブジェクトを全て選択するようにしている。
【００２８】
図６は、画像４０２の位置６０２が指示された状態を示す図である。
【００２９】
この場合は、その指示された位置６０２に位置しているオブジェクト２０１，２０２、２０３が選択される。これら選択されたオブジェクト２０１，２０２，２０３を個別にＭＦＰ１１０のメモリ１２６に展開する。そして操作部１２７の表示部４０１に表示するためにレイアウト処理を施して表示する。
【００３０】
図７は、こうして表示された、操作部１２６の表示部４０１における表示例を示す図で、前述の図４と共通する部分は同じ記号で示している。
【００３１】
ここでユーザは、この操作部１２６の表示部４０１に表示されたオブジェクト２０１〜２０３の画像から編集したいオブジェクトを選択する。そしてその選択したオブジェクトに対して、ＭＦＰ１１０に搭載されている画像編集機能を使用して所望の画像処理を行う。
【００３２】
こうして画像処理が終了すると、ここでユーザによって編集されなかったオブジェクト（ここではオブジェクト２０４）と、ユーザが選択して画像処理を施したオブジェクト（ここではオブジェクト２０１〜２０３）とをマージする。そしてそのマージしたオブジェクトをレンダリングして最終的な画像データを生成する。こうして生成された画像データに基づいて、プリンタ１２８により印刷する。
【００３３】
図８は、本実施の形態に係るＭＦＰ１１０における処理を説明するフローチャートで、この処理を実行するプログラムは、その実行時にはメモリ１２８に記憶されておりＣＰＵ１２０の制御の下に実行される。
【００３４】
まずステップＳ１で、例えば前述のオブジェクト画像に対して実行される、画像処理モードが指定されたかどうかを判定し、そうでないときは、そのままステップＳ９に進んで、そのオブジェクトのレンダリングを行い、ステップＳ１０で印刷を行う。
【００３５】
一方ステップＳ１で、画像処理モードが指定されるとステップＳ２に進み、その画像に含まれるオブジェクトを指定するために、オブジェクト位置を指示する指示情報が入力されるのを待つ。ここで、例えば前述の図６で示すように、位置６０２が指示されるとステップＳ３に進み、その画像の、その指示された位置に含まれる全てのオブジェクトを抽出する。そしてステップＳ４で、その抽出したオブジェクトのそれぞれをレンダリングし、全てのオブジェクトのレンダリングが終了するとステップＳ５からステップＳ６に進み、それら選択したオブジェクトの画像を、図７の７０１で示すようにレイアウトして表示する。
【００３６】
次にステップＳ７で、これらレイアウト表示された画像のいずれかが選択されるのを待ち、画像が選択されるとステップＳ８に進み、その選択された画像に対応するオブジェクトに対して画像処理を実行する。そしてステップＳ９に進み、その画像処理を実行したオブジェクトをレンダリングしてイメージデータに展開する。そしてステップＳ１０で、その展開したイメージデータに基づいてプリンタ１２８で印刷する。
【００３７】
このように本実施の形態に係るＭＦＰ１１０では、ＰＣから送られてきた複数のオブジェクトデータで構成された画像データを蓄積し、このＭＦＰ１１０での画像編集をユーザが所望したならば、操作部１２７に表示できるサイズに、そのオブジェクトをビットマップ画像に展開して表示する。次にユーザは、その表示された画像の内、編集を行いたい一つのオブジェクトを選択するために、その表示された画像中の所望エリアを指等で指示する。これによりＭＦＰ１１０は、その指示された位置に存在するオブジェクト全てを抽出し、その抽出したオブジェクトを個別にビットマップ画像に展開して個別にレイアウト表示する。ユーザは、これら各個別に表示されたオブジェクトから、再度編集を所望するオブジェクトを選択し、そのオブジェクトの編集モードに移行する。こうして再度編集したオブジェクトの画像データと、それ以外のオブジェクトの画像データとを再度合成し、その合成した画像データに基づいて、合成画像を印刷する。
【００３８】
以上説明したように本実施の形態１によれば、複数のオブジェクトの内のいずれかを選択するのが困難な場合であっても、確実にユーザが意図するオブジェクトを指定し、その指定したオブジェクトに対して画像処理などの処理を施すことができるという効果がある。
【００３９】
なお、タッチパネル上でユーザに所望のオブジェクトを選択可能とするために、他の手法を用いたり、いくつかの手法を併用するようにしてもよい。また他の手法としては、例えば、オブジェクト毎に分離して表示する、オブジェクトの種別を指定してオブジェクトの種別を特定してから選択させる、などがある。
【００４０】
［実施の形態２］
次に本発明の実施の形態２について説明する。この実施の形態２に係るＭＦＰも前述の実施の形態１に係るＭＦＰと同様に、コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能などを有している。
【００４１】
図９は、本発明の実施の形態２に係るＭＦＰの機能構成を説明する機能ブロック図である。
【００４２】
ＭＦＰコントローラ２００１は、このＭＦＰ全体の動作を制御している。システムバスブリッジ（ＳＢＢ）２００２は、ＣＰＵ２００３、メモリコントローラ（ＭＣ）２００４、汎用バス２００６、タイル⇔ページベクタ変換部２０１３、ラスタ→タイルベクタ変換部２０１４、タイルベクタ展開部（ＲＩＰ）２０１８を接続している。ここでＲＩＰ２０１８は、複数の展開部（μＲＩＰａ〜ｄ）で構成されている。またＭＣ２００４にはシステムメモリ２００５が接続されている。このメモリ２００５は、ＣＰＵ２００３のプログラムや画像データを一時記憶するための媒体として使われる。
【００４３】
汎用バス２００６には、ハードディスクコントローラ（ＨＤＤＣ）２００７、操作部コントローラ（ＬＣＤＣ）２００９及びＬＡＮＩ／Ｆ２０１１が接続されている。ＨＤＤＣ２００７は、画像データ等を蓄積するためのハードディスク（ＨＤ）２００８へのリード／ライトを制御する。ＬＣＤＣ２００９は、操作部（表示部を含む）２０１０への画像出力及び操作部２０１０における操作情報を入力するように制御する。ＬＡＮＩ／Ｆ２０１１は、このＭＦＰが接続されているネットワーク２０１２を介して、外部機器間との間でデータの送受信を行う。
【００４４】
タイル⇔ページベクタ変換部２０１３は、タイルデータとベクタデータとの間でのデータ変換を行う。ラスタ→タイルベクタ変換部２０１４は、ラスタデータをベクタデータに変換する。このラスタ→タイルベクタ変換部２０１４には画像処理部２０１５が接続され、更に、この画像処理部２０１５にはスキャナ２０１６及びプリンタ２０１７が接続されている。またＲＩＰ２０１８の先には、このＲＩＰ２０１８から出力されるデータを記憶するローカルメモリ２０１９が接続されている。
【００４５】
本実施の形態２に係るコントローラ２００１でハンドリングされる画像データは、外部機器との入出力ではページベクタ（ＰＤＬ，ＰＤＦ，ＳＶＧ等）で、スキャナ２０１６やプリンタ２０１７との入出力では、ラスタデータでインターフェースされる。ベクタデータは、プリンタ２０１７を使用した印刷時にＣＰＵ２００３でプリミティブなオブジェクトにインタプリットされ、ＤＬ（DisplayList）と呼ばれる中間データに変換される。
【００４６】
本実施の形態２に係るコントローラ２００１では、ＤＬデータはＲＩＰ２０１８に接続されたローカルメモリ２０１９に記憶される。またスキャナ２０１６で読み取った画像データは、ラスタ→タイルベクタ変換部２０１４でタイルベクタデータに変換される。従って、システムメモリ２００５には、ページベクタとタイルベクタデータの２種類の画像データが記憶される。つまり画像サイズの大きいラスタデータ及びＤＬデータをシステムメモリ２００５に記憶する必要がなくなるため、システムメモリ２００５で確保しなければならない画像データ領域を削減することができる。
【００４７】
またＲＩＰ２０１８から出力されるＤＬデータは、タイル単位に分割されたＤＬデータで記憶される。このため、従来のページ単位のＤＬデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ２０１９をオンチップに実装することが可能になり、メモリ読み出し時の遅延を小さくできる。その結果、タイルデータの展開速度を高速化できる。またタイリングされたデータのみを画像データとしてＨＤＤ２００８に記憶すれば良いので、ＨＤＤ２００８へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。また同時に、画像データをタイル化することによりＲＩＰ２０１８のコストダウンも可能となる。
【００４８】
更に、より高い処理能力が要求される場合は、ＲＩＰ２０１８に備える各処理ユニット（μＲＩＰ）を並列に複数実装することにより、このＲＩＰ２０１８全体の処理能力を向上できる。即ち、コントローラ全体の処理能力を調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
【００４９】
以下、本実施の形態に係るＭＦＰの各動作モードでの画像データの処理フローについて説明する。
【００５０】
［コピーモード］
図１０は、本実施の形態２に係るＭＦＰをコピーモードで動作させる場合のＭＦＰにおける画像データの流れを説明する図で、前述の図９と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。尚、ページベクタ及びタイルベクタ画像データについては、後述のタイル⇔ページベクタ変換部２０１３の説明で詳細に説明する。
【００５１】
操作部２０１０よりユーザがコピー動作の開始を指示すると、スキャナ２０１６は原稿画像の読み取り動作を開始する。これによりスキャナ２０１６から画像処理部２０１５に画像データ（Ｒ，Ｇ，Ｂ）が入力される。ここでは画像データの処理周波数は、画像処理ブロックのクロック周波数に変換された後、以下の処理が施される。
（Ａ）ＣＣＤセンサのラインピッチや色収差などスキャナ特性の補正
（Ｂ）色空間補正やシャープネスといった入力画像データの画質補正
（Ｃ）入力画像データの枠消しやブック枠消しといった画像加工
この画像処理部２０１５における画像処理が終了すると、画像処理部２０１５から出力された画像データはラスタ→タイルベクタ変換部２０１４に入力される（Ｓ２１）。
【００５２】
次にラスタ→タイルベクタ変換部２０１４は、タイルベクタ変換処理を行う。即ち、画像データを所定の大きさのブロックに分割し、各ブロック内のラスタ画像データに対してベクトル化処理を行ってブロック単位のベクタ画像データを生成する。こうして生成されたベクタ画像データは、ＳＢＢ２００２によりバスの調停を受け、システムメモリ２００５へのバス権を取得すると、ＭＣ２００４を介してシステムメモリ２００５に記憶される（Ｓ２２）。このようにＳＢＢ２００２経由でデータバスが接続される場合は、基本的にこのＳＢＢ２００２によるバスの調停を受けてバス権を取得する手続きを踏む。しかし、以降のフロー説明ではその説明を省略する。
【００５３】
こうしてシステムメモリ２００５に記憶されたタイルベクタ画像データは、ＨＤＤＣ２００７とＭＣ２００４を介してＳＢＢ２００２経由でＨＤＤ２００８に記憶される（Ｓ２３）。こうしてＨＤＤ２００８に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、ＭＦＰ内に保存文書として記憶することができる。
【００５４】
次に、このＨＤＤ２００８に記憶されたタイルベクタ画像データは、プリンタ２０１７のＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣ２００７の制御の下に読み出され、ＳＢＢ２００２、ＭＣ２００４を経由してシステムメモリ２００５に一時的に記憶される（Ｓ２４）。これは、読み取った画像データをＨＤＤ２００８から直接プリンタ２０１７へ出力する場合、ＨＤＤ２００８のアクセススピードが低速になったり、汎用バス２００６のバスの混雑度合によりプリンタ２０１７に同期して出力のを保証できなくなるためである。そのため、プリンタ２０１７に同期してデータ転送を行う前に、システムメモリ２００５にページデータをスプールしておくことで、リアルタイムなスループットを保証している。
【００５５】
こうしてシステムメモリ２００５に記憶されたタイルベクタ画像データは、プリンタ２０１７からコントローラ２００１に送られる起動信号に従ってＭＣ２００４によって読み出され、ＳＢＢ２００２を介してＲＩＰ２０１８に転送される（Ｓ２５）。これによりＲＩＰ２０１８ではまず、タイルベクタデータを解析し、タイル単位の描画オブジェクト（タイルＤＬデータ）を生成（インタプリット）する。こうして生成されたタイルＤＬデータは、一旦、ローカルメモリ２０１９に記憶される。次にＲＩＰ２０１８は、ローカルメモリ２０１９からタイルＤＬデータを読み出して、タイル単位のラスタ画像へと展開してプリンタ２０１７に出力する（Ｓ２６）。
【００５６】
本実施の形態２では、前述のように、ＲＩＰ２０１８にμＲＩＰａ〜μＲＩＰｄの４つの処理ユニットを備えている。コントローラ２００１は、これらμＲＩＰａ〜μＲＩＰｄを並行して動作させることにより、タイルベクタデータの展開を高速に実行する。システムのパフォーマンスは、ベクタデータへの展開時間が支配的であり、このようにμＲＩＰの数を増やすことでパフォーマンスの向上が見込める。このため、本実施の形態２に係る構成を用いると、容易にスケーラブルなシステムを構築することが可能となる。
【００５７】
こうしてＲＩＰ２０１８で、タイル単位にラスタライズされた画像データは、画像処理部２０１５に転送され、以下の処理が実行される。
（Ａ）タイル単位のラスタ画像データからページ単位のラスタ画像データへの変換
（Ｂ）プリンタの特性に合わせた画像データの色や濃度の補正
（Ｃ）画像データを量子化して階調変換を行う中間調処理
（Ｄ）プリンタインターフェースのクロックに同期して画像データを出力するための周波数変換処理
画像処理部２０１５で、これら画像処理が実行されたラスタ画像データは、プリンタ２０１７に転送されて記録媒体（記録シート）上に印刷される。
【００５８】
［プリントモード］
図１１は、本実施の形態２に係るＭＦＰをプリントモードで動作させる場合のＭＦＰにおける画像データの流れを説明する図で、前述の図面と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。
【００５９】
ネットワーク２０１２に接続された外部機器（ＰＣ等）より、汎用バス２００６に接続されたＬＡＮＩ／Ｆ２０１１がページベクタ形式の画像データを受信する。この画像データを、ＳＢＢ２００２に接続されたＭＣ２００４を介してシステムメモリ２００５に転送する（Ｓ３１）。こうしてシステムメモリ２００５に記憶されたページベクタ画像データは、タイル⇔ページベクタ変換部２０１３より読み出されてタイルベクタ変換処理が行われる（Ｓ３２）。即ち、ページベクタ内に存在するオブジェクトを所定の大きさのブロック（タイル）内に収まるオブジェクトに分割し、タイル単位のベクタ画像データを生成する。こうして生成されたベクタ画像データは、ＳＢＢ２００２を介して再びシステムメモリ２００５に記憶される（Ｓ３３）。
【００６０】
こうしてシステムメモリ２００５に記憶されたタイルベクタ画像データは、ＨＤＤＣ２００７とＭＣ２００４を介してＳＢＢ２００２経由でＨＤＤ２００８に記憶される（Ｓ３４）。このようにしてＨＤＤ２００８に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、ＭＦＰ内に保存文書として記憶することができる。こうしてＨＤＤ２００８に記憶されたタイルベクタ画像データは、プリンタ２０１７のＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣ２００７の制御の下で読み出され、ＳＢＢ２００２，ＭＣ２００４を経由してシステムメモリ２００５に一時的に記憶される（Ｓ３５）。
【００６１】
システムメモリ２００５に記憶されたタイルベクタ画像データは、プリンタ２０１７からコントローラ２００１に送られる起動信号に従って、ＭＣ２００４によって読み出され、ＳＢＢ２００２を介してＲＩＰ２０１８に転送される（Ｓ３６）。これによりＲＩＰ２０１８は、まずタイルベクタを解析し、タイル単位の描画オブジェクト（タイルＤＬデータ）を生成（インタプリット）する。次に、その生成したタイルＤＬデータをローカルメモリ２０１９に一旦記憶する。
【００６２】
次にＲＩＰ２０１８は、そのローカルメモリ２０１９からタイルＤＬデータを読み出して、タイル単位のラスタ画像データに展開して出力する。本実施の形態では、ＲＩＰ２０１８内に小展開部μＲＩＰａ〜μＲＩＰｄの４つのユニットを備えている。これらμＲＩＰａ〜μＲＩＰｄを並行して動作させることにより、タイルベクタのデータ展開を高速に実現できる。システムのパフォーマンスは、ベクタデータの展開時間が支配的であり、このμＲＩＰの数を増やすことでパフォーマンスアップが見込める。よって、本実施の形態に係る構成を用いると容易にスケーラブルなシステムを構築することが可能となる。
【００６３】
次にＲＩＰ２０１８によってタイル単位にラスタライズされた画像データは、画像処理部２０１５に転送され（Ｓ３７）、以下の処理が実行される。
（Ａ）タイル単位のラスタ画像データからページ単位のラスタ画像データへの変換
（Ｂ）プリンタの特性に合わせた画像データの色や濃度の補正
（Ｃ）画像データを量子化して画像の階調変換を行う中間調処理
（Ｄ）プリンタインターフェースのクロックに同期して画像データを出力するための周波数変換処理
このようにして、画像処理部２０１５で画像処理が施されたラスタ画像データは、プリンタ２０１７に転送され記録媒体に印刷される。
【００６４】
［送信モード］
図１２は、本実施の形態２に係るＭＦＰを送信モードで動作させる場合のＭＦＰにおける画像データの流れを説明する図で、前述の図面と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。尚、ここで画像データをＨＤＤ２００８に格納するまでのデータの流れは、スキャン画像データの場合は前述の［コピー］と同じであり、ネットワーク上の外部機器からの入力された画像データの場合は前述の［プリント］の場合と同じであるため、その説明を省略する。
【００６５】
ＨＤＤ２００８に記憶されたタイルベクタ画像データは、汎用バス２００６に接続されたＨＤＤＣ２００７より読み出され、ＳＢＢ２００２を介してシステムメモリ２００５に一時的に記憶される（Ｓ４１）。こうしてシステムメモリ２００５に記憶されたタイルベクタ画像データは、タイル⇔ページベクタ変換部２０１３により読み出されてタイルベクタ変換処理を行う（Ｓ４２）。即ち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタ画像データを生成する。こうして生成されたページベクタ画像データは、ＳＢＢ２００２を介して再びシステムメモリ２００５に記憶される（Ｓ４３）。そしてシステムメモリ２００５に記憶されたページベクタ画像データは、汎用バス２００６に接続されたＬＡＮＩ／Ｆ２０１１から読み出され、ネットワーク２０１２に接続された外部機器（ＰＣ等）へ送信される（Ｓ４４）。
【００６６】
本実施の形態２のように、外部機器に送信する際にタイルベクタ画像データをページベクタ画像データに戻し、オブジェクトの数を減らすことで、送信データのデータ量を削減できる。またＰＤＦやＳＶＧ等の汎用フォーマットへ容易に変換することができる。
【００６７】
［ラスタ→タイルベクタ変換部２０１４の説明］
コントローラ２００１のラスタ→タイルベクタ変換部２０１４の詳細について説明する。
【００６８】
図１３は、本実施の形態２に係るラスタタイル変換部２０１４における処理を説明するフローチャートである。ここでは、このラスタタイル変換部２０１４による処理が、ＣＰＵ２００３と、その制御プログラムにより実施されている場合で説明する。
【００６９】
まずステップＳ２０１で、画像処理部２０１５より入力されたラスタイメージデータを、文字或は線画を含む文字線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分ける。更に、文字線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、その線画領域を更に表領域と図形領域とに分離する。尚、本実施の形態２では、連結画素を検知し、その連結画素の外接矩形領域の形状、サイズ、画素密度等を用いて、各属性毎の領域に分離する。また文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化する。線画領域では、表、図形等の個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）毎に矩形ブロックにセグメント化する。またハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクト毎に、矩形ブロックにセグメント化する。こうして分離された各領域は、更に所定の大きさの領域（タイル）単位に分割され、各タイル単位で次のベクトル化ステップでベクトル化処理される。
【００７０】
次にステップＳ２０２で、ベクトル化処理により各属性領域のイメージデータをベクトルデータに変換する。このベクトル化の方法としては、例えば以下に示す（ａ）〜（ｆ）などがある。
（ａ）属性領域が文字領域のとき、更にＯＣＲによる文字画像のコード変換を行ったり、或は文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
（ｂ）属性領域が文字領域であり、かつＯＣＲによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報（アウトライン）を線分の繋がりとして表現する形式に変換する。
（ｃ）属性領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分の繋がりとして表現する形式に変換する。
（ｄ）上記（ｂ）（ｃ）の線分形式のアウトライン情報を、ベジエ関数などでフィッティングして関数情報に変換する。
（ｅ）上記（ｃ）の図形オブジェクトの輪郭情報から図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
（ｆ）属性領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【００７１】
次にステップＳ２０３に進み、上記（ａ）〜（ｆ）により変換されたフォーマットコード情報、図形情報、関数情報等のコマンド定義形の情報にベクトル変換されたデータにヘッダ情報を付加する。ここではコントローラ２００１は、ページベクタかタイルベクタかを判別するベクタタイプや当該タイルのページ内の座標位置など判別するためのヘッダ情報を付加する。次にステップＳ２０４で、ページの最終データかどうかを調べ、そのページのデータ処理が終了すると、この変換処理を終了するが、終了していない場合はステップＳ２０１に戻って前述の処理を繰り返す。このようにして、タイル単位にパッキングされたタイルベクタデータをＳＢＢ２００２へ出力する。
【００７２】
［タイル⇔ページベクタ変換部２０１３の説明］
コントローラ２００１中のタイル⇔ページベクタ変換部２０１３の詳細について説明する。
【００７３】
図１４は、ネットワーク上の外部機器（ＰＣ等）のアプリケーションで作成されたドキュメントを説明する図である。ここでは便宜上、ドキュメントの短手（横）方向をＸ方向、長手（縦）方向をＹ方向と定義する。
【００７４】
図１５は、図１４のドキュメントのプリンタ出力を指示するページベクタ（ＰＤＬコマンド）の記述例を示す図である。
【００７５】
図において、１５０１はドキュメント全体の設定に関わるドキュメント設定命令、１５０２は文字の描画命令を示している。また１５０３は、図形の描画命令を示している。以下、１５０１から１５０３の描画命令の詳細について説明する。
【００７６】
Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５はドキュメント１部について一箇所にのみ付されている。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）等がある。Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントの出力用紙サイズを表すコマンドで、この場合には「Ａ４」の設定になっている。次のＣ３はドキュメントの方向を示している。この方向にはポートレートとランドスケープがあり、この場合にはポートレート(PORT)を示している。Ｃ４はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントか、タイルベクタで構成されるドキュメントかを表している。この場合にはページベクタ（PAGE）となっている。Ｃ５はドキュメント設定終了コマンドである。
【００７７】
次にＣ６〜Ｃ２１は、ドキュメント８０１を出力するたのコマンドで、Ｃ６〜Ｃ１１は、文字の描画命令に関連している。Ｃ６はページの開始を示す。Ｃ７は文字のフォントの種類を選択するためのコマンドで、この場合は、番号「１」が付されたフォントセットを選択している。Ｃ８はフォントの大きさを設定するもので「１０ポイント」が選択されている。Ｃ９は文字の色を設定するコマンドで、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度が指示される。この輝度は０から２５５の２５６段階で指示される。Ｃ１０は文字を描画する開始位置の座標を示している。座標位置は、ページの左上を原点とした座標で指定する。この場合は、位置（１０，５）から文字の描画を開始するように設定されている。Ｃ１１は実際に描画する文字列（ＸＸＸＸ...）を示している。
【００７８】
次に図形（図１４の円と１／４円）の描画命令Ｃ１２〜Ｃ２２について説明する。
【００７９】
Ｃ１２は、図形の描画の際の面の塗りつぶしの色を示している。色の指定方法は文字の色の場合（Ｃ９）と同様である。Ｃ１３は図形を描画する線の色を指定する。Ｃ１４は、図形を描画する位置の座標を示している。Ｃ１５は、円弧を描画する際の半径の長さを指定する命令で、この場合は座標単位で「１０」を表している。Ｃ１６は、Ｃ１５で指定された半径の閉円弧の描画を示す。コマンド内の２個のパラメータは、円弧を描画する際の描画開始角度と終了角度を示している。ここでは垂直情報を０度として、０度から９０度の円弧（１／４円）を描画することを示している。Ｃ１７〜Ｃ２１は、Ｃ１２〜Ｃ１６のコマンドと同様に、図形の面、線の色の指定、位置の指定等を行っている。Ｃ２２はコマンドの終了を指定している。
【００８０】
図１６は、図１４に示すドキュメントをブロック（タイル）単位に分割した状態を示す図である。
【００８１】
図において、２つの矢印のそれぞれは、ドキュメントの短手方向Ｘ、長手方向Ｙを表す。また図中のＸ方向に配列された数列はＸ方向のタイルＩＤを、Ｙ方向に配列された数列はＹ方向のタイルＩＤをそれぞれ表わしている。またＡ，Ｂ，Ｃ，Ｄはそれぞれ、タイルＩＤ（０，０），（０，１），（２，４），（１，５）の位置にあるタイルに対応するタイルベクタを表している。
【００８２】
図１７は、図１６のようにブロック単位に分割したデータをタイルベクタで記述した例を示す図である。
【００８３】
図１７において、１７０１はドキュメント全体の設定に関わるドキュメント設定命令で，図１５の１５０１に相当している。１７０２は描画命令全体を表している。１７０３〜１７０６は、図１６のタイルＡ，Ｂ，Ｃ，Ｄのそれぞれ描画命令列を示している。１７０７，１７０８のそれぞれは、タイルＤの文字描画命令、図形描画命令列を表す。
【００８４】
以下、各タイルに対応する描画命令列１７０１〜１７０８の詳細について説明する。
【００８５】
ドキュメント設定命令１７０１のＣ１〜Ｃ５は、前述の図１５のコマンドＣ１〜Ｃ５と共通しているが、図１７では、ドキュメントのタイプを表すコマンドＣ４では、タイルベクタを示す（TILE）になっている点が異なっている。
【００８６】
Ｃ６〜Ｃ１５，Ｃ１００〜Ｃ１０６，Ｃ１２０〜Ｃ１３１，Ｃ５００のそれぞれは、図１６に示すドキュメントを出力するたのコマンドである。Ｃ６はページの開始を示すためのコマンドである。Ｃ７は、図１６のタイルＡの描画コマンド列１７０３の開始を示す。このコマンドの２個のパラメータ（０，０）は、ページ内におけるタイルのＩＤを示している。Ｃ８は、このタイルＡの描画コマンドの終わりを示している。タイルＡのようにオブジェクトが何も存在しないタイルでは、タイルの開始と終了だけが記述される。Ｃ９は、図１６のタイルＢの描画コマンド１７０４の開始を示す。Ｃ１０は、このタイルの文字のフォントの種類を選択するためのコマンドで、ここでは番号「１」が付されたフォントセットを選択している。Ｃ１１はフォントの大きさを設定するもので、「１０ポイント」の大きさを選んでいる。Ｃ１２は文字の色を設定するコマンドで、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、０から２５５の２５６段階で表されている。Ｃ１３は、文字を描画する開始位置の座標を示している。Ｃ１４は，このタイルＢに描画する文字列（ＸＸＸＸ...）を示している。開始位置の座標位置は、タイルの左上を原点とした座標で指定する。この場合は、位置（０，５）から文字列（ＸＸＸＸ）の描画を開始するように設定されている。Ｃ１５は、このタイルＢの描画コマンド列１７０４の終わりを示す。
【００８７】
Ｃ１００は図１６のタイルＣの描画コマンド列１７０５の開始を示す。Ｃ１０１は、このタイルの図形を描画する際の面の塗りつぶしの色を示している。色の指定方法は文字の色の場合と同様である。Ｃ１０２は、図形描画の線の色を指定する。Ｃ１０３は、図形を描画する位置の座標を示している。Ｃ１０４は、円弧を描画する際の半径を指定する命令で、この場合、座標単位で「１０」を表している。Ｃ１０５は、Ｃ１０４で指定された半径で閉円弧の描画をするものである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。Ｃ１０６はタイルＣの描画コマンド列１７０５の終わりを示す。
【００８８】
次に描画コマンド列１７０７のＣ１２０〜Ｃ１２５は、前述の描画コマンド列１７０４のＣ９〜Ｃ１５までのコマンドと同様に、文字列を描画するフォントの種類、色、大きさ等を指定している。また描画コマンド列１７０８のＣ１２６〜Ｃ１３１は、描画コマンド列１７０５のＣ１００〜Ｃ１０６と同様に、図形を描画する際の面、線の色の指定、位置の指定などを行なっている。Ｃ５００はページの終了、即ちコマンドの終了を指定している。
【００８９】
本実施の形態２に係るタイル⇔ページベクタ変換部２０１３は、例えば前述の図１５に示すようなページベクタデータを、図１７に示すタイルベクタに変換する。
【００９０】
図１８は、本実施の形態に係るタイル⇔ページベクタ変換部２０１３による変換処理を説明するフローチャートである。ここでは、このタイル⇔ページベクタ変換部２０１３における処理が、ＣＰＵ２００３とその制御プログラムにより実現されている場合で説明する。
【００９１】
まずステップＳ３０１で、システムメモリ２００５に記憶されたベクタ画像から、ヘッダ部分に相当するコマンド列を読み込み、ドキュメント全体に関するコマンド部分を解析する。これは前述の図１５或は図１７のコマンド列Ｃ１〜Ｃ５を読み込んで処理する場合に該当する。次にステップＳ３０２で、ステップＳ３０１の解析の結果、ドキュメントのタイプがページベクタ（PAGE）かどうかを判定する。ページベクタの場合はステップＳ３０３に進んで、ページベクタ→タイルベクタへの変換を行う。一方、ドキュメントのタイプがタイルベクタ(TILE)の場合はステップＳ４０に進み、タイルベクタ→ページベクタへの変換を実行する。
【００９２】
ステップＳ３０３では、オブジェクトを記述するコマンド列を読み込む。次にステップＳ３０４で、ステップＳ３０３で読み込んだコマンド列を解析し、記述されているオブジェクトの大きさが、分割したいタイルサイズを超えているかどうかを判断する。ステップＳ３０４で、オブジェクトの分割を行わない場合はステップＳ３０５をスキップしてステップＳ３０６に進む。一方、オブジェクトの分割を行う場合はステップＳ３０５に進み、入力されたオブジェクトの分割処理を行う。
【００９３】
ここでは例えば、図１４では、１５０２で、文字列「ＸＸＸＸ...」を含む全ての文字列の描画コマンドを記述しているが、図１６のようにタイルに分割した場合は、タイルＢには４つの文字「ＸＸＸＸ」しか収まらない。従って、タイルベクタでは文字列を、ブロック（タイル）単位に分割し、別のタイルに含まれる後続の文字列は別の文字列として、次のタイルで記述される。次のタイルに、その文字列が収まらなかったら、同様に、タイルに含まれる文字列に分割し、分割された全ての文字列がタイルサイズに収まるまで、同様の処理を繰り返す。ここで文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その収容できる文字数に従って文字列を分割する。図１５のページベクタを図１６のように分割した場合は、１つのタイルに収容できる文字数が４つと判断され、図１５のＣ１０の文字列は、タイルベクタＢとして図１７のＣ１４に示す記述に変換される。
【００９４】
また図１５の１５０３は図形の描画を記述しているが、１５０３のＣ１７〜Ｃ２１で記述されている図形において、図１４の４分の３円は、図１６では一つのタイルに収まらない。よって、この４分の３円は、タイルＤを含む複数のタイルに分割される。この図形の分割に際しては、図形の描画位置や図形の形、大きさからタイルの境界領域と接する部分を算出する。そしてその境界とタイル内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。図１５の１５０３で記述される４分の３円は、図１７では、その左下の部分領域が１７０８のＣ１２６からＣ１３０のような４分の１円の記述に変換される。また、残りの領域も同様な形の４分の１円の記述に変換される。
【００９５】
次にステップＳ３０６に進み、入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために座標位置の変換を行う。ページベクタでは、ページの左上からの位置を記述していたのに対し、タイルベクタではタイルの左上を原点とした位置情報に記述し直す。このように描画位置を、各タイル内の座標で記述することにより、座標計算におけるデータの長さを短くすることができる。これにより位置演算に要する時間を短縮できる。こうして１つのオブジェクトに対するコマンドの記述変換が終了するとステップＳ３０７に進み、そのページ内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合はステップＳ３０３に戻り、次のコマンドに対してステップＳ３０３〜Ｓ３０７の処理を繰り返す。こうして１つのオブジェクトに対するコマンドの処理が終了した場合はステップＳ３０８に進む。
【００９６】
全ての描画コマンドの記述変換が終了したら、ステップＳ３０８で、例えば図１６のように分割された各タイル領域に対し、ページの左上から順にタイルベクタとしてシステムメモリ２００５への書き出しを行う。タイルベクタとしては、前述のステップＳ３０５、Ｓ３０６で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを追加するようなフォーマットで記述する。
【００９７】
具体的に説明すると、ページの一番最初のコマンドを書き出す時点では、システムメモリ２００５にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタ、例えば図１７のタイルＡは、１７０３のように始まりと終わりのコマンドのみでＣ７〜Ｃ８のように記述される。次にステップＳ３０３〜Ｓ３０７で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。即ち、タイルＢの場合は、図１７の１７０４のＣ９〜Ｃ１５で示すような記述となる。またタイルＤのように、同じタイルに複数のオブジェクトが存在する場合には、図１７の１７０６のように、１７０７のオブジェクト記述と１７０８のオブジェクト記述とを列記する。こうして１つのオブジェクトのタイルベクタへの書き出しが終わるとステップＳ３０９に進み、そのページのオブジェクトの記述が全て終了したかどうかを判断する。終了していないと判断した場合はステップＳ３０３に戻るが、ページ内の全ての処理が終了した場合には、このページベクタからタイルベクタへの変換処理を終了する。
【００９８】
次にステップＳ３０２で、ドキュメントタイプがタイル（TILE）であると判断した場合はステップＳ３１０に進み、オブジェクトを記述するコマンド列を読み込む。次にステップＳ３１１に進み、ステップＳ３１０で読み込まれたコマンド列を解析し、その記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能かどうかを判断する。オブジェクトの結合を行わない場合はステップＳ３１２をスキップしてステップＳ３１３に進むが、オブジェクトの分割を行う場合はステップＳ３１２に進む。ステップＳ３１２におけるオブジェクトが結合できるかどうかの判断は、読み込んだコマンドの座標位置や、図形の種別等を基に判断する。文字列の場合はフォントサイズやフォントの種類を基に判断する。基本的にはステップＳ３０５の流れを逆にしたような形で結合を行う。
【００９９】
次にステップＳ３１３に進み、入力されたオブジェクトのコマンドの記述に対し、タイルベクタ内での描画位置へ変更するために座標位置の変換を行う。前述したように、タイルベクタでは、タイルの左上を原点とした位置情報を記述していたのに対し、ページベクタでは、ページの左上を原点とした位置情報に記述し直す。１つのオブジェクトに対するコマンドの記述変換が終了するとステップＳ３１４に進み、タイル内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合はステップＳ３１０に戻り、次のコマンドに対してステップＳ３１０〜Ｓ３１３の処理を繰り返す。こうして１つのオブジェクトに対するコマンドの処理が終了して、描画コマンドの記述変換が終了したらステップＳ３１５に進み、ページベクタとしてシステムメモリ２００５への書き出しを行う。タイルベクタとしては、前述のステップＳ３０５、Ｓ３０６で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを削除したようなフォーマットで記述される。
【０１００】
具体的には、ページ内の一番最初のタイルに記述されたコマンドを書き出す時点では、システムメモリ２００５にオブジェクトがない状態のページベクタを生成しておく。図１４の例では、Ｃ１〜Ｃ６，Ｃ２２だけで記述されるページである。次にステップＳ３１０〜Ｓ３１３で処理されたオブジェクトの記述を追加する。図１５の例では、１５０２のＣ７〜Ｃ１１の記述の部分がそれにあたる。この場合のオブジェクトは文字列（ＸＸＸＸ...ＹＹ...）を表しているが、これは、ステップＳ３１２で図１７の１７０４や１７０７等で記述される各タイルの文字列を順次結合したオブジェクトの記述に変更されている。こうして１つコマンドのページベクタへの書き出しが終わると次にステップＳ３１６に進み、そのタイルのオブジェクトの記述が全て終了したかどうかを判断する。ここで終了していないと判断した場合はステップＳ３１０に戻る。そしてステップＳ３１６で、タイル内の全ての処理が終了した場合はステップＳ３１７に進み、そのページのタイルの記述の処理が全て終了したかどうかを判断する。ここで終了していないと判断した場合はステップＳ３１０に戻る。こうしてページ内の全てのタイルの処理が終了した場合には、このタイルベクタからページベクタへの変換処理を終了する。
【０１０１】
［タイルベクタ展開部（ＲＩＰ）２０１８の説明］
次に本実施の形態２に係るコントローラ２００１のＲＩＰ２０１８の詳細について説明する。
【０１０２】
まずコピーやプリント、送信といった画像データの処理を開始する前に、ローカルメモリ２０１９の初期化と、作成する描画オブジェクトの解像度の設定を行っておく。本実施の形態２では、印刷データの解像度は６００ｄｐｉとし、ポイントサイズやｍｍ等の単位系で指定された印刷コマンドは、この値を用いてドット数に変換されることになる。
【０１０３】
図１９は、本実施の形態２に係るＲＩＰ２０１８によるタイルベクタの展開処理を説明するフローチャートである。
【０１０４】
まずステップＳ５０１で、システムメモリ２００５よりＳＢＢ２００２を経由してＲＩＰ２０１８に一定サイズ分のタイルベクタデータを入力する。そして、このタイルベクタデータを、ローカルメモリ２０１９のタイルベクタ領域に一時的に格納する。こうしてタイルベクタがローカルメモリ２０１９に取り込まれるとステップＳ５０２に進み、μＲＩＰａ〜ｄのそれぞれにおいて、タイル展開処理が終了しているかどうかを判断する。μＲＩＰａ〜ｄのいずれかがベクタデータの展開中であれば、その展開処理が終了してデータ展開可能になるまでステップＳ５０２で待機する。こうしてμＲＩＰａ〜ｄでベクタデータの展開が可能になるとステップＳ５０３に進み、予め定められた文法に従ってローカルメモリ２０１９に格納されたタイルベクタデータのコマンドを解析する。
【０１０５】
次にステップＳ５０４で、その解釈されたコマンドが描画命令か排紙命令かを判断し、描画命令であると判断した場合はステップＳ５０５に進み、描画オブジェクト（ＤＬ）の生成を行う。またタイルベクタ内のコマンドが文字描画命令であれば、そのコマンドで指定されるフォントの書体や、文字サイズ、文字コードを基にフォントオブジェクトを生成する。また文字以外の描画命令であれば、そのコマンドで指定された図形（ラインや円、多角形等）の描画オブジェクトを生成し、ローカルメモリ２０１９のＤＬ領域に格納する。また描画コマンドで指定されない印刷データであると判断した場合には、その印刷データに応じて印刷位置の移動や印刷環境設定等の処理を実行して、一単位分のコマンド解釈を終了してステップＳ５０８に進む。
【０１０６】
一方、ステップＳ５０４で、コマンドが描画命令以外の排紙命令と判断した場合はステップＳ５０６に進み、μＲＩＰ２０１８はローカルメモリ２０１９のタイルのラスタメモリ領域に空き領域があるかどうかを判断する。空き領域がない場合は、他のＲＩＰ２０１８の処理が終了し、空き領域が出来るまで待機する。ステップＳ５０６でタイルラスタメモリに空き領域がある場合はステップＳ５０７に進み、ステップＳ５０５で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画（ラスタライズ）する。この時、目的の画像データの解像度が６００ｄｐｉであれば、タイルラスタ領域には６００ｄｐｉの画像データとしてラスタライズされる。そして描画が終了したタイルラスタ画像は、ＳＢＢ２００２を介して画像処理部２０１５に出力される。
【０１０７】
こうしてステップＳ５０５又はＳ５０７で、一つのタイルベクタに対するコマンド解析又は描画処理が終了するとステップＳ５０８に進み、読み込まれたタイルベクタデータに対し全てが終了したかどうかを判断する。ここでまだ処理が残っていればステップＳ５０２に戻り、次のタイルベクタの処理を続ける。そのタイルベクタデータに対する処理が終了している場合はステップＳ５０９に進み、１ページ分のタイルベクタデータに対し、全ての処理が終了したかどうかを判断する。ここで、そのページでまだ未処理のデータが残っている場合はステップＳ５０１に戻り、システムメモリ２００５からタイルベクタデータを読み出して、処理を続ける。こうして１ページ分のタイルベクタデータに対する処理が全て終了すると、このタイルベクタデータの展開処理を終了する。
【０１０８】
［操作部２０１０を使用したオブジェクト選択操作］
次に、ＨＤＤ２００８に格納されている画像データを操作部２０１０の表示部にプレビュー表示し、ユーザが表示されたプレビュー画像から、所定のオブジェクトを選択するときの動作について説明する。
【０１０９】
図２０は、本実施の形態２に係るＭＦＰにおけるプレビュー表示の際の画像データの流れを説明する図で、前述の図９と共通する部分は同じ記号で示している。
【０１１０】
まず操作部２０１０の表示部に表示する画像データをＨＤＤ２００８からＭＣ２００４を介してメモリ２００５にスプールする（Ｓ５１）。こうして一旦、メモリ２００５にスプールされたデータを、ＭＣ２００４及びＳＢＢ２００２を介してＲＩＰ２０１８に転送してタイルベクタデータの展開処理を行う（Ｓ５２）。このタイルベクタデータの展開処理の詳細は、前述の図１９のフローチャートを参照して説明しているので、詳細は省略する。この際、プレビュー表示のための画像の変倍処理も、ＲＩＰ２０１８によって行われる。次に、このＲＩＰ２０１８でラスタ展開されたデータを、メモリ２００５に書き戻す（Ｓ５３）。そして、メモリ２００５に書き戻されたデータを、ＬＣＤＣ２００９の持つＤＭＡＣ機能を用いて操作部２０１０に転送し、その表示部に画像として表示する（Ｓ５４）。
【０１１１】
次にユーザは、その表示された画像から、画像加工・削除・オブジェクト保存などの処理を行う対象のオブジェクトを選択するために、指或はポインティングデバイスなどを使用して所望の点を選択する。
【０１１２】
図２１は、オブジェクト２１０１〜２１０５を含む表示画像から円（オブジェクト２１０２）を削除する場合を説明する図である。
【０１１３】
また図２２は、図２０のＳ５１〜Ｓ５４で示すデータの流れに伴う、表示部の表示例を示す図である。図２３はオブジェクトの拡大図、また図２４は、操作部２０１０の表示部に拡大表示された例を示す図である。
【０１１４】
図２５は、本実施の形態２に係る操作部２０１０を用いたオブジェクトの選択操作を説明するフローチャートである。
【０１１５】
まずステップＳ６０１で、ユーザはポインティングデバイスや自身の指などを用いて、操作したいオブジェクトを表示部上で指定する。例えば、図２１の図形オブジェクト２１０２が指定したいオブジェクトとする。次にステップＳ６０２に進み、指定した点の座標を、操作部２０１０の表示部のタッチセンサ（不図示）で検出し電気信号として出力する。そしてＣＰＵ２００３により、タッチセンサの座標系からページラスタ画像に対する座標系に座標変換する。次にステップＳ６０３で、その座標変換された選択点の位置情報から、当該選択点が含まれるタイルベクタを抽出するための抽出タイルを決定する。
【０１１６】
ここで図２２のように全画面表示をしている場合は、図２１のオブジェクト２１０１〜２１０３が非常に近接して表示されている。このためユーザが、図２３に示す座標（３，３）のタイル２３０１のオブジェクト２１０２を指定したつもりでも、誤って隣のタイル（２，３）のオブジェクト２１０３が検知されている可能性がある。
【０１１７】
逆に図２４のように拡大表示されている場合は、１タイル分の画像の表示サイズも大きくなるため、ユーザが近接するタイルを誤って指定する可能性は低くなる。従ってステップＳ６０３で、操作部２０１０への表示が全画面表示かどうかを調べる。ここで全画面表示であった場合はステップＳ６０４に進み、そうでない場合はステップＳ６０５に進む。ステップＳ６０４では、図２３に示すように、選択点を含むタイル（２，３）２３０２のベクタデータだけでなく、近接するタイル（３，３）２３０１，（２，４）２３０３，（３，４）２３０４も選択対象のタイルとし、それらタイルのベクタデータも抽出する。
【０１１８】
一方、全画面表示でない場合はステップＳ６０５に進み、図２６に示すように、抽出するタイルを、指定座標を含むタイルベクタ（３，３）のみとして抽出する。次にステップＳ６０６で、ステップＳ６０４又はＳ６０５で抽出したタイルのベクタデータに含まれるオブジェクトだけを表示部に表示し、ユーザに所望のオブジェクトを選択させる。次にステップＳ６０７に進み、その選択されたオブジェクトに対し、所望の処理（本実施の形態の場合は削除）を行い、その処理した結果を確認のために表示部に表示する。そして、ユーザが適正に処理が行われたかを確認した後、この処理を終了する。
【０１１９】
本実施の形態２では、全画面表示か拡大表示かで選択させるタイル数が４つか１つの場合を示したが、選択するタイルの数を表示倍率に応じて多段階に可変してもよい。
【０１２０】
［実施の形態３］
前述の実施の形態２では、画像上の位置が指示された際、表示している倍率に応じて選択するタイル数を可変にしたが、ポインティングデバイスの種類によって可変にしても構わない。例えば、実施の形態２では、ユーザが指で操作部２０１０のタッチパネル上のオブジェクトを指定していたが、図２７のようにペンなどの座標指示具を用いた場合を考える。
【０１２１】
図２７は、本発明の実施の形態３において、座標指示用のペン（座標指示具）を用いて画面上の位置を指示した状態を示す図である。
【０１２２】
この場合は、表示部に全画面表示されていたとしても、押される面積が小さく、この座標指示具によって、所定のオブジェクトの位置を正確に指定できていると考えられる。従って、この場合は、その指示された位置に該当するタイルのみを選択する。
【０１２３】
この状態を示したのが図２８である。
【０１２４】
この場合は、必要以上にタイルの数を多くとる必要が無いため、オブジェクト指定に要する時間を高速化することが可能である。
【０１２５】
ポインティングデバイスの違いは、ユーザ指定によって可変である。またユーザの指を使って指定する場合であっても、人によって指の大きさ等に違いがある。このため、例えば欧米系の地域向けには検索タイル数を大きめに設定し、アジア系の地域向けには小さめに設定するなどしても構わない。
【０１２６】
以上説明したように本実施の形態２，３によれば、表示部に表示される画像の倍率に応じて、オブジェクトを検索するタイル数を可変にすることにより、オブジェクトの指定を正確に行えるようにできる。
【０１２７】
また、ポインティングデバイスの違いなどにより、検索するタイル数を最適に設定することで、できるだけ短時間にオブジェクトの指定を行うことが可能になる。
【０１２８】
（他の実施形態）
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【０１２９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【０１３０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１３１】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などである。
【０１３２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【０１３３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【０１３４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１３５】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１３６】
【図１】本発明の実施の形態１に係るデジタル複写機（ＭＦＰ）の構成、及び当該複写機を有するシステム構成を示す図である。
【図２】本実施の形態１において、ネットワークに接続されたＰＣ上で稼動し、文書データや画像データを作成するアプリケーションソフトによって作成される複数のオブジェクトを説明する図である。
【図３】複数のオブジェクトを合成した画像の表示例を示す図である。
【図４】本実施の形態に係るＭＦＰの操作部の表示部に表示されたＵＩ画面例を示す図である。
【図５】実施の形態１において、画像の人物オブジェクトが選択された状態を示す図である。
【図６】実施の形態１において、画像の位置が指示された状態を示す図である。
【図７】実施の形態１において、操作部の表示部における表示例を示す図である。
【図８】本実施の形態に係るＭＦにおける処理を説明するフローチャートである。
【図９】本発明の実施の形態２に係るＭＦＰの機能構成を説明する機能ブロック図である。
【図１０】本実施の形態２に係るＭＦＰをコピーモードで動作させる場合のＭＦＰにおける画像データの流れを説明する図である。
【図１１】本実施の形態２に係るＭＦＰをプリントモードで動作させる場合のＭＦＰにおける画像データの流れを説明する図である。
【図１２】本実施の形態２に係るＭＦＰを送信モードで動作させる場合のＭＦＰにおける画像データの流れを説明する図である。
【図１３】本実施の形態２に係るラスタタイル変換部における処理を説明するフローチャートである。
【図１４】ネットワーク上の外部機器（ＰＣ等）のアプリケーションで作成されたドキュメントを説明する図である。
【図１５】図１４のドキュメントのプリンタ出力を指示するページベクタ（ＰＤＬコマンド）の記述例を示す図である。
【図１６】図１４に示すドキュメントをブロック（タイル）単位に分割した状態を示す図である。
【図１７】図１６のようにブロック単位に分割したデータをタイルベクタで記述した例を示す図である。
【図１８】本実施の形態に係るタイル⇔ページベクタ変換部による変換処理を説明するフローチャートである。
【図１９】本実施の形態２に係るＲＩＰによるタイルベクタの展開処理を説明するフローチャートである。
【図２０】本実施の形態２に係るＭＦＰにおけるプレビュー表示の際の画像データの流れを説明する図である。
【図２１】オブジェクト２１０１〜２１０５を含む表示画像から円（オブジェクト２１０２）を削除する場合を説明する図である。
【図２２】図２０のＳ５１〜Ｓ５４で示すデータの流れに伴う、表示部の表示例を示す図である。
【図２３】オブジェクトの拡大図である。
【図２４】操作部の表示部に拡大表示された例を示す図である。
【図２５】本実施の形態２に係る操作部を用いたオブジェクトの選択操作を説明するフローチャートである。
【図２６】拡大表示により一つのタイルのみを選択する例を示す図である。
【図２７】本発明の実施の形態３において、座標指示用のペン（座標指示具）を用いて画面上の位置を指示した状態を示す図である。
【図２８】本発明の実施の形態３において、座標指示用のペンを用いて画面上の位置を指示した場合に、一つのタイルのみを選択した状態を説明する図である。
【図１】
2008017210.tif 000003
【図２】
2008017210.tif 000004
【図３】
2008017210.tif 000005
【図４】
2008017210.tif 000006
【図５】
2008017210.tif 000007
【図６】
2008017210.tif 000008
【図７】
2008017210.tif 000009
【図８】
2008017210.tif 000010
【図９】
2008017210.tif 000011
【図１０】
2008017210.tif 000012
【図１１】
2008017210.tif 000013
【図１２】
2008017210.tif 000014
【図１３】
2008017210.tif 000015
【図１４】
2008017210.tif 000016
【図１５】
2008017210.tif 000017
【図１６】
2008017210.tif 000018
【図１７】
2008017210.tif 000019
【図１８】
2008017210.tif 000020
【図１９】
2008017210.tif 000021
【図２０】
2008017210.tif 000022
【図２１】
2008017210.tif 000023
【図２２】
2008017210.tif 000024
【図２３】
2008017210.tif 000025
【図２４】
2008017210.tif 000026
【図２５】
2008017210.tif 000027
【図２６】
2008017210.tif 000028
【図２７】
2008017210.tif 000029
【図２８】
2008017210.tif 000030