トップ :: H 電気 :: H04 電気通信技術




【発明の名称】 画像処理装置及びその制御方法
【発明者】 【氏名】宇都宮 健人

【氏名】木虎 正和

【要約】 【課題】PCに比べ小さな表示部しかないMFPでは、複数あるオブジェクトから編集対象のオブジェクトを選択することは、非常に困難な作業となる。

【構成】複数オブジェクトを含む画像を表示し、その表示された画像上で指示された位置に対応するオブジェクトを抽出する(S3)。それら抽出されたオブジェクトのそれぞれに対応する個別画像をレイアウトして表示させ(S6)、そのレイアウト表示された個別画像のいずれかを選択し(S7)、その選択したオブジェクトに画像処理を実行する。
【特許請求の範囲】
【請求項1】
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置であって、
前記複数オブジェクトを含む画像を表示する表示手段と、
前記表示手段に表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示手段と、
前記レイアウト表示された個別画像のいずれかを選択する選択手段と、
を有することを特徴とする画像処理装置。
【請求項2】
前記選択手段により選択された個別画像に対応するオブジェクトに対して画像処理を実行する画像処理手段を更に有することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像の画像データはベクタ化されて、複数のタイル領域に分割して記憶されており、前記抽出手段は、前記画像上で指示された位置及び/又は当該位置に隣接するタイル領域に含まれるオブジェクトを抽出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記抽出手段は、前記表示手段における前記画像の表示状況に応じて、前記抽出するタイル領域を変更することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記抽出手段は、前記位置を指示する座標指示具の種類に応じて、前記抽出するタイル領域を変更することを特徴とする請求項3に記載の画像処理装置。
【請求項6】
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置の制御方法であって、
前記複数オブジェクトを含む画像を表示する表示工程と、
前記表示工程で表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出工程と、
前記抽出工程で抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示工程と、
前記レイアウト表示された個別画像のいずれかを選択する選択工程と、
を有することを特徴とする画像処理装置の制御方法。
【請求項7】
前記選択工程で選択された個別画像に対応するオブジェクトに対して画像処理を実行する画像処理工程を更に有することを特徴とする請求項6に記載の画像処理装置の制御方法。
【請求項8】
前記画像の画像データはベクタ化されて、複数のタイル領域に分割して記憶されており、前記抽出工程では、前記画像上で指示された位置及び/又は当該位置に隣接するタイル領域に含まれるオブジェクトを抽出することを特徴とする請求項6又は7に記載の画像処理装置の制御方法。
【請求項9】
前記抽出工程では、前記表示工程での前記画像の表示状況に応じて、前記抽出するタイル領域を変更することを特徴とする請求項8に記載の画像処理装置の制御方法。
【請求項10】
前記抽出工程では、前記位置を指示する座標指示具の種類に応じて、前記抽出するタイル領域を変更することを特徴とする請求項8に記載の画像処理装置の制御方法。
【発明の詳細な説明】【技術分野】
【0001】
本発明は、オブジェクトデータを画像データに展開する画像処理装置及びその制御方法に関するものである。
【背景技術】
【0002】
オフィスにおいてペーパーレス化が進行しており、紙等の印刷物と電子データをシームレスに扱えるような要求が生まれてきている。そのためには、紙と電子データとのI/F機器であるMFP(複合機)においても、ラスタ画像データを図形や文字、線画等のオブジェクトに変換(以降、ベクトル化)して再利用する、よりインテリジェントな機能を持つことが必要となっている(例えば、特許文献1参照)。
【0003】
スキャナ等の入力機器から画像データを読み込んでラスタ画像としてスプールし、そのMFPに接続されたPCや、MFPシステムの組み込みアプリケーション上でベクトル化するMFPが提案されている。このようなMFPシステムでは、MFPシステムの画像データのハンドリングはベクタ化された画像ではないため、オブジェクトを再利用したい場合は、ラスタ画像からベクトル化してオブジェクトを抽出する必要がある。そのため、画像データをベクトルデータのままハンドリングするようなMFPシステムが提案されている。このようなMFPシステムの場合、スキャナで読み込んだラスタ画像に対しては、タイリング処理を施してラスタ画像をタイル化した後、ベクトル化手段でベクトル化する。また、ネットワークI/F手段より入力されたベクタ画像に対してタイリング処理を施して、ベクタ画像のタイル化を行い、全てベクトルデータのタイル画像としてデータをハンドリングする。こうしてベクトル化された画像データは、オブジェクト毎に独立にハンドリングできるため再利用が容易になる。
【0004】
また、従来のMFPにも実装されているプレビュー機能を用いて、オブジェクトの指定や変換を行えるようにすれば、ベクタ画像の再利用性を更に高めることができる。
【特許文献1】特開2005−157449号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
プレビュー画面上で指定されたオブジェクトを検索する場合に、画像全域を検索すると検索に要する時間が長くなる。また画像内で他のオブジェクトが近接していたり、オブジェクトのサイズが小さかったりする場合、所望のオブジェクトを上手くヒットできずに、ユーザが再指定しなければならない虞れがある。
【0006】
特にオリジナルの画像データが多数のオブジェクトからなる画像データで構成されている場合には、PCに比べ小さな表示部しかないMFPでは、複数あるオブジェクトから編集対象のオブジェクトを選択することは非常に困難な作業となる。
【0007】
本発明の目的は上述した従来技術の問題点を解決することにある。
【0008】
本願発明の特徴は、複数のオブジェクトで構成された画像から、所望のオブジェクトを容易に選択して編集できる画像処理装置及びその制御方法を提供することにある。
【課題を解決するための手段】
【0009】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置であって、
前記複数オブジェクトを含む画像を表示する表示手段と、
前記表示手段に表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出手段と、
前記抽出手段により抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示手段と、
前記レイアウト表示された個別画像のいずれかを選択する選択手段と、
を有することを特徴とする。
【0010】
上記目的を達成するために本発明の一態様に係る画像処理装置の制御方法は以下のような工程を備える。即ち、
複数オブジェクトを含む画像をレンダリングして像形成する画像処理装置の制御方法であって、
前記複数オブジェクトを含む画像を表示する表示工程と、
前記表示工程で表示された前記画像上で指示された位置に対応するオブジェクトを抽出する抽出工程と、
前記抽出工程で抽出された前記オブジェクトのそれぞれに対応する個別画像をレイアウトして表示させる抽出画像表示工程と、
前記レイアウト表示された個別画像のいずれかを選択する選択工程と、
を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、複数のオブジェクトで構成された画像から、所望のオブジェクトを容易に選択できる。
【発明を実施するための最良の形態】
【0012】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
[実施の形態1]
図1は、本発明の実施の形態1に係るデジタル複写機(MFP)の構成、及び当該複写機を有するシステム構成を示す図である。
【0014】
101,102,103はネットワーク104に相互に接続されたパーソナルコンピュータ(PC)を示す。これらPCは、オフィス等で使用される一般的なパーソナルコンピュータである。110はデジタル複写機(MFP)を示す。このデジタル複写機(MFP)110は、コピー機能のほかに、PCからの印刷データを受信して印刷するプリンタ機能、原稿画像を読み取ってPCに供給するスキャナ機能、ファクシミリ機能等を有している。
【0015】
以下、このMFP110の構成について詳しく説明する。
【0016】
CCD111は、原稿を読み取ってアナログ電気信号を生成する。A/D変換器112は、このCCD111によって生成されたアナログ電気信号をデジタル電気信号に変換する。IP機能113は、そのデジタル電気信号に対してマスキングやトリミングといったデジタル画像処理を行う。DMAC(Direct MmoryAccess Controller)114は、デジタル複写機の画像メモリ126へDMAでデジタル画像データを転送する。CPU120は、メモリ126に記憶された制御プログラムに従ってこのMFP110の動作を制御する。インターフェース121は、ネットワーク104を介してデジタルカメラやPCを接続するための外部インターフェースである。制御バス122は、このMFP110の制御バスである。圧縮器123は、デジタルカメラが所有する圧縮機能と同等の圧縮機能を有する。伸長器124は、圧縮された画像データを生の画像データに伸張する。解像度変換器125は、画像データを所定の変倍率で変倍する。メモリ126は、ハードディスクやSDRAM等で構成され、デジタル画像データを蓄積する。MMI127は、このMFP110におけるテンキースイッチや液晶画面を有するユーザーインターフェースを司る操作部である。操作部127はタッチパネル形式であり、表示画面上をユーザにより直接操作を行うものである。プリンタ128は、画像データを基に画像を印刷する。外部インターフェース121は、ネットワーク104との接続を制御するネットワークインターフェースであり、例えば10BaseTや100BaseTである。ネットワークコントローラ(NC)129は、ネットワークインターフェース121を経由して、PC101,102,103等から送られてくる印刷データを受信してメモリ126に蓄積する。
【0017】
次に、図2から図7及び図8のフローチャートを使用して本実施の形態1について詳しく説明する。
【0018】
図2は、前述したネットワーク104に接続されたPC上で稼動し、文書データや画像データを作成するアプリケーションソフトによって作成される複数のオブジェクトを説明する図である。
【0019】
201,202,203,204のそれぞれはオブジェクト(画像データ)を示している。
【0020】
図3は、これらオブジェクト201〜204を合成した画像例を示す図である。
【0021】
これら複数のオブジェクトデータで構成された画像データ301を前述のネットワーク104を介してMFP110に転送する。この画像データを受信したMFP110は、その受信した画像データをハードディスク等の大容量メモリ126に蓄積する。
【0022】
ここで通常の印刷指示であれば、このMFP110のCPU120によって、この蓄積したオブジェクトデータをビットマップ画像データに変換し、プリンタ128で印刷する。しかしながら、MFP110の操作部127を使用して、ユーザにより画像編集した後に印刷を行うように指示された場合は、図4に示すように、操作部127の表示部に、そのオブジェクトデータの画像及び色変換パレットを表示する。
【0023】
図4は、本実施の形態に係るMFP110の操作部127の表示部401に表示されたUI画面例を示す図である。
【0024】
ここでは402は、図3のオブジェクトデータに基づく画像の表示例を示し、403は、その画像402の色変換を指示するための色変換パレットを示す。
【0025】
ここでユーザは、その表示された画像のエリアを指等で指示して、その画像に含まれているオブジェクト201〜204のいずれかを選択する。そして、その選択したオブジェクトに対して、色変換パレットによる色変換を指示する。ここで指に対してそのオブジェクトのエリアが狭い場合等は、ユーザが指で所望するオブジェクトを正確に指示するのが困難となる。いま例えば、オブジェクト201の「ABCDEF」を選択しようとしたにも拘わらず、人物のオブジェクト203を選択してしまうことが考えられる。
【0026】
図5は、画像402の人物のオブジェクト203が選択された状態を示す図である。
【0027】
そこで本実施の形態では、ユーザがMFP110の操作部127を使用して画像のエリアを指定すると、その指定されたエリアに存在するオブジェクトを全て選択するようにしている。
【0028】
図6は、画像402の位置602が指示された状態を示す図である。
【0029】
この場合は、その指示された位置602に位置しているオブジェクト201,202、203が選択される。これら選択されたオブジェクト201,202,203を個別にMFP110のメモリ126に展開する。そして操作部127の表示部401に表示するためにレイアウト処理を施して表示する。
【0030】
図7は、こうして表示された、操作部126の表示部401における表示例を示す図で、前述の図4と共通する部分は同じ記号で示している。
【0031】
ここでユーザは、この操作部126の表示部401に表示されたオブジェクト201〜203の画像から編集したいオブジェクトを選択する。そしてその選択したオブジェクトに対して、MFP110に搭載されている画像編集機能を使用して所望の画像処理を行う。
【0032】
こうして画像処理が終了すると、ここでユーザによって編集されなかったオブジェクト(ここではオブジェクト204)と、ユーザが選択して画像処理を施したオブジェクト(ここではオブジェクト201〜203)とをマージする。そしてそのマージしたオブジェクトをレンダリングして最終的な画像データを生成する。こうして生成された画像データに基づいて、プリンタ128により印刷する。
【0033】
図8は、本実施の形態に係るMFP110における処理を説明するフローチャートで、この処理を実行するプログラムは、その実行時にはメモリ128に記憶されておりCPU120の制御の下に実行される。
【0034】
まずステップS1で、例えば前述のオブジェクト画像に対して実行される、画像処理モードが指定されたかどうかを判定し、そうでないときは、そのままステップS9に進んで、そのオブジェクトのレンダリングを行い、ステップS10で印刷を行う。
【0035】
一方ステップS1で、画像処理モードが指定されるとステップS2に進み、その画像に含まれるオブジェクトを指定するために、オブジェクト位置を指示する指示情報が入力されるのを待つ。ここで、例えば前述の図6で示すように、位置602が指示されるとステップS3に進み、その画像の、その指示された位置に含まれる全てのオブジェクトを抽出する。そしてステップS4で、その抽出したオブジェクトのそれぞれをレンダリングし、全てのオブジェクトのレンダリングが終了するとステップS5からステップS6に進み、それら選択したオブジェクトの画像を、図7の701で示すようにレイアウトして表示する。
【0036】
次にステップS7で、これらレイアウト表示された画像のいずれかが選択されるのを待ち、画像が選択されるとステップS8に進み、その選択された画像に対応するオブジェクトに対して画像処理を実行する。そしてステップS9に進み、その画像処理を実行したオブジェクトをレンダリングしてイメージデータに展開する。そしてステップS10で、その展開したイメージデータに基づいてプリンタ128で印刷する。
【0037】
このように本実施の形態に係るMFP110では、PCから送られてきた複数のオブジェクトデータで構成された画像データを蓄積し、このMFP110での画像編集をユーザが所望したならば、操作部127に表示できるサイズに、そのオブジェクトをビットマップ画像に展開して表示する。次にユーザは、その表示された画像の内、編集を行いたい一つのオブジェクトを選択するために、その表示された画像中の所望エリアを指等で指示する。これによりMFP110は、その指示された位置に存在するオブジェクト全てを抽出し、その抽出したオブジェクトを個別にビットマップ画像に展開して個別にレイアウト表示する。ユーザは、これら各個別に表示されたオブジェクトから、再度編集を所望するオブジェクトを選択し、そのオブジェクトの編集モードに移行する。こうして再度編集したオブジェクトの画像データと、それ以外のオブジェクトの画像データとを再度合成し、その合成した画像データに基づいて、合成画像を印刷する。
【0038】
以上説明したように本実施の形態1によれば、複数のオブジェクトの内のいずれかを選択するのが困難な場合であっても、確実にユーザが意図するオブジェクトを指定し、その指定したオブジェクトに対して画像処理などの処理を施すことができるという効果がある。
【0039】
なお、タッチパネル上でユーザに所望のオブジェクトを選択可能とするために、他の手法を用いたり、いくつかの手法を併用するようにしてもよい。また他の手法としては、例えば、オブジェクト毎に分離して表示する、オブジェクトの種別を指定してオブジェクトの種別を特定してから選択させる、などがある。
【0040】
[実施の形態2]
次に本発明の実施の形態2について説明する。この実施の形態2に係るMFPも前述の実施の形態1に係るMFPと同様に、コピー機能、プリンタ機能、スキャナ機能、ファクシミリ機能などを有している。
【0041】
図9は、本発明の実施の形態2に係るMFPの機能構成を説明する機能ブロック図である。
【0042】
MFPコントローラ2001は、このMFP全体の動作を制御している。システムバスブリッジ(SBB)2002は、CPU2003、メモリコントローラ(MC)2004、汎用バス2006、タイル⇔ページベクタ変換部2013、ラスタ→タイルベクタ変換部2014、タイルベクタ展開部(RIP)2018を接続している。ここでRIP2018は、複数の展開部(μRIPa〜d)で構成されている。またMC2004にはシステムメモリ2005が接続されている。このメモリ2005は、CPU2003のプログラムや画像データを一時記憶するための媒体として使われる。
【0043】
汎用バス2006には、ハードディスクコントローラ(HDDC)2007、操作部コントローラ(LCDC)2009及びLANI/F2011が接続されている。HDDC2007は、画像データ等を蓄積するためのハードディスク(HD)2008へのリード/ライトを制御する。LCDC2009は、操作部(表示部を含む)2010への画像出力及び操作部2010における操作情報を入力するように制御する。LANI/F2011は、このMFPが接続されているネットワーク2012を介して、外部機器間との間でデータの送受信を行う。
【0044】
タイル⇔ページベクタ変換部2013は、タイルデータとベクタデータとの間でのデータ変換を行う。ラスタ→タイルベクタ変換部2014は、ラスタデータをベクタデータに変換する。このラスタ→タイルベクタ変換部2014には画像処理部2015が接続され、更に、この画像処理部2015にはスキャナ2016及びプリンタ2017が接続されている。またRIP2018の先には、このRIP2018から出力されるデータを記憶するローカルメモリ2019が接続されている。
【0045】
本実施の形態2に係るコントローラ2001でハンドリングされる画像データは、外部機器との入出力ではページベクタ(PDL,PDF,SVG等)で、スキャナ2016やプリンタ2017との入出力では、ラスタデータでインターフェースされる。ベクタデータは、プリンタ2017を使用した印刷時にCPU2003でプリミティブなオブジェクトにインタプリットされ、DL(DisplayList)と呼ばれる中間データに変換される。
【0046】
本実施の形態2に係るコントローラ2001では、DLデータはRIP2018に接続されたローカルメモリ2019に記憶される。またスキャナ2016で読み取った画像データは、ラスタ→タイルベクタ変換部2014でタイルベクタデータに変換される。従って、システムメモリ2005には、ページベクタとタイルベクタデータの2種類の画像データが記憶される。つまり画像サイズの大きいラスタデータ及びDLデータをシステムメモリ2005に記憶する必要がなくなるため、システムメモリ2005で確保しなければならない画像データ領域を削減することができる。
【0047】
またRIP2018から出力されるDLデータは、タイル単位に分割されたDLデータで記憶される。このため、従来のページ単位のDLデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ2019をオンチップに実装することが可能になり、メモリ読み出し時の遅延を小さくできる。その結果、タイルデータの展開速度を高速化できる。またタイリングされたデータのみを画像データとしてHDD2008に記憶すれば良いので、HDD2008へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。また同時に、画像データをタイル化することによりRIP2018のコストダウンも可能となる。
【0048】
更に、より高い処理能力が要求される場合は、RIP2018に備える各処理ユニット(μRIP)を並列に複数実装することにより、このRIP2018全体の処理能力を向上できる。即ち、コントローラ全体の処理能力を調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
【0049】
以下、本実施の形態に係るMFPの各動作モードでの画像データの処理フローについて説明する。
【0050】
[コピーモード]
図10は、本実施の形態2に係るMFPをコピーモードで動作させる場合のMFPにおける画像データの流れを説明する図で、前述の図9と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。尚、ページベクタ及びタイルベクタ画像データについては、後述のタイル⇔ページベクタ変換部2013の説明で詳細に説明する。
【0051】
操作部2010よりユーザがコピー動作の開始を指示すると、スキャナ2016は原稿画像の読み取り動作を開始する。これによりスキャナ2016から画像処理部2015に画像データ(R,G,B)が入力される。ここでは画像データの処理周波数は、画像処理ブロックのクロック周波数に変換された後、以下の処理が施される。
(A)CCDセンサのラインピッチや色収差などスキャナ特性の補正
(B)色空間補正やシャープネスといった入力画像データの画質補正
(C)入力画像データの枠消しやブック枠消しといった画像加工
この画像処理部2015における画像処理が終了すると、画像処理部2015から出力された画像データはラスタ→タイルベクタ変換部2014に入力される(S21)。
【0052】
次にラスタ→タイルベクタ変換部2014は、タイルベクタ変換処理を行う。即ち、画像データを所定の大きさのブロックに分割し、各ブロック内のラスタ画像データに対してベクトル化処理を行ってブロック単位のベクタ画像データを生成する。こうして生成されたベクタ画像データは、SBB2002によりバスの調停を受け、システムメモリ2005へのバス権を取得すると、MC2004を介してシステムメモリ2005に記憶される(S22)。このようにSBB2002経由でデータバスが接続される場合は、基本的にこのSBB2002によるバスの調停を受けてバス権を取得する手続きを踏む。しかし、以降のフロー説明ではその説明を省略する。
【0053】
こうしてシステムメモリ2005に記憶されたタイルベクタ画像データは、HDDC2007とMC2004を介してSBB2002経由でHDD2008に記憶される(S23)。こうしてHDD2008に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶することができる。
【0054】
次に、このHDD2008に記憶されたタイルベクタ画像データは、プリンタ2017のCPU(不図示)から送られてくるプリンタレディのタイミングに合わせて、HDDC2007の制御の下に読み出され、SBB2002、MC2004を経由してシステムメモリ2005に一時的に記憶される(S24)。これは、読み取った画像データをHDD2008から直接プリンタ2017へ出力する場合、HDD2008のアクセススピードが低速になったり、汎用バス2006のバスの混雑度合によりプリンタ2017に同期して出力のを保証できなくなるためである。そのため、プリンタ2017に同期してデータ転送を行う前に、システムメモリ2005にページデータをスプールしておくことで、リアルタイムなスループットを保証している。
【0055】
こうしてシステムメモリ2005に記憶されたタイルベクタ画像データは、プリンタ2017からコントローラ2001に送られる起動信号に従ってMC2004によって読み出され、SBB2002を介してRIP2018に転送される(S25)。これによりRIP2018ではまず、タイルベクタデータを解析し、タイル単位の描画オブジェクト(タイルDLデータ)を生成(インタプリット)する。こうして生成されたタイルDLデータは、一旦、ローカルメモリ2019に記憶される。次にRIP2018は、ローカルメモリ2019からタイルDLデータを読み出して、タイル単位のラスタ画像へと展開してプリンタ2017に出力する(S26)。
【0056】
本実施の形態2では、前述のように、RIP2018にμRIPa〜μRIPdの4つの処理ユニットを備えている。コントローラ2001は、これらμRIPa〜μRIPdを並行して動作させることにより、タイルベクタデータの展開を高速に実行する。システムのパフォーマンスは、ベクタデータへの展開時間が支配的であり、このようにμRIPの数を増やすことでパフォーマンスの向上が見込める。このため、本実施の形態2に係る構成を用いると、容易にスケーラブルなシステムを構築することが可能となる。
【0057】
こうしてRIP2018で、タイル単位にラスタライズされた画像データは、画像処理部2015に転送され、以下の処理が実行される。
(A)タイル単位のラスタ画像データからページ単位のラスタ画像データへの変換
(B)プリンタの特性に合わせた画像データの色や濃度の補正
(C)画像データを量子化して階調変換を行う中間調処理
(D)プリンタインターフェースのクロックに同期して画像データを出力するための周波数変換処理
画像処理部2015で、これら画像処理が実行されたラスタ画像データは、プリンタ2017に転送されて記録媒体(記録シート)上に印刷される。
【0058】
[プリントモード]
図11は、本実施の形態2に係るMFPをプリントモードで動作させる場合のMFPにおける画像データの流れを説明する図で、前述の図面と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。
【0059】
ネットワーク2012に接続された外部機器(PC等)より、汎用バス2006に接続されたLANI/F2011がページベクタ形式の画像データを受信する。この画像データを、SBB2002に接続されたMC2004を介してシステムメモリ2005に転送する(S31)。こうしてシステムメモリ2005に記憶されたページベクタ画像データは、タイル⇔ページベクタ変換部2013より読み出されてタイルベクタ変換処理が行われる(S32)。即ち、ページベクタ内に存在するオブジェクトを所定の大きさのブロック(タイル)内に収まるオブジェクトに分割し、タイル単位のベクタ画像データを生成する。こうして生成されたベクタ画像データは、SBB2002を介して再びシステムメモリ2005に記憶される(S33)。
【0060】
こうしてシステムメモリ2005に記憶されたタイルベクタ画像データは、HDDC2007とMC2004を介してSBB2002経由でHDD2008に記憶される(S34)。このようにしてHDD2008に画像データを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、MFP内に保存文書として記憶することができる。こうしてHDD2008に記憶されたタイルベクタ画像データは、プリンタ2017のCPU(不図示)から送られてくるプリンタレディのタイミングに合わせて、HDDC2007の制御の下で読み出され、SBB2002,MC2004を経由してシステムメモリ2005に一時的に記憶される(S35)。
【0061】
システムメモリ2005に記憶されたタイルベクタ画像データは、プリンタ2017からコントローラ2001に送られる起動信号に従って、MC2004によって読み出され、SBB2002を介してRIP2018に転送される(S36)。これによりRIP2018は、まずタイルベクタを解析し、タイル単位の描画オブジェクト(タイルDLデータ)を生成(インタプリット)する。次に、その生成したタイルDLデータをローカルメモリ2019に一旦記憶する。
【0062】
次にRIP2018は、そのローカルメモリ2019からタイルDLデータを読み出して、タイル単位のラスタ画像データに展開して出力する。本実施の形態では、RIP2018内に小展開部μRIPa〜μRIPdの4つのユニットを備えている。これらμRIPa〜μRIPdを並行して動作させることにより、タイルベクタのデータ展開を高速に実現できる。システムのパフォーマンスは、ベクタデータの展開時間が支配的であり、このμRIPの数を増やすことでパフォーマンスアップが見込める。よって、本実施の形態に係る構成を用いると容易にスケーラブルなシステムを構築することが可能となる。
【0063】
次にRIP2018によってタイル単位にラスタライズされた画像データは、画像処理部2015に転送され(S37)、以下の処理が実行される。
(A)タイル単位のラスタ画像データからページ単位のラスタ画像データへの変換
(B)プリンタの特性に合わせた画像データの色や濃度の補正
(C)画像データを量子化して画像の階調変換を行う中間調処理
(D)プリンタインターフェースのクロックに同期して画像データを出力するための周波数変換処理
このようにして、画像処理部2015で画像処理が施されたラスタ画像データは、プリンタ2017に転送され記録媒体に印刷される。
【0064】
[送信モード]
図12は、本実施の形態2に係るMFPを送信モードで動作させる場合のMFPにおける画像データの流れを説明する図で、前述の図面と共通する部分は同じ記号で示している。図中、矢印はデータの流れを表しており、実線の矢印はラスタ画像データの流れを示し、破線の矢印はタイル化されたベクタ画像データ、一点鎖線の矢印は、ページ全体を記述したベクタ画像データが流れる方向を示している。尚、ここで画像データをHDD2008に格納するまでのデータの流れは、スキャン画像データの場合は前述の[コピー]と同じであり、ネットワーク上の外部機器からの入力された画像データの場合は前述の[プリント]の場合と同じであるため、その説明を省略する。
【0065】
HDD2008に記憶されたタイルベクタ画像データは、汎用バス2006に接続されたHDDC2007より読み出され、SBB2002を介してシステムメモリ2005に一時的に記憶される(S41)。こうしてシステムメモリ2005に記憶されたタイルベクタ画像データは、タイル⇔ページベクタ変換部2013により読み出されてタイルベクタ変換処理を行う(S42)。即ち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタ画像データを生成する。こうして生成されたページベクタ画像データは、SBB2002を介して再びシステムメモリ2005に記憶される(S43)。そしてシステムメモリ2005に記憶されたページベクタ画像データは、汎用バス2006に接続されたLANI/F2011から読み出され、ネットワーク2012に接続された外部機器(PC等)へ送信される(S44)。
【0066】
本実施の形態2のように、外部機器に送信する際にタイルベクタ画像データをページベクタ画像データに戻し、オブジェクトの数を減らすことで、送信データのデータ量を削減できる。またPDFやSVG等の汎用フォーマットへ容易に変換することができる。
【0067】
[ラスタ→タイルベクタ変換部2014の説明]
コントローラ2001のラスタ→タイルベクタ変換部2014の詳細について説明する。
【0068】
図13は、本実施の形態2に係るラスタタイル変換部2014における処理を説明するフローチャートである。ここでは、このラスタタイル変換部2014による処理が、CPU2003と、その制御プログラムにより実施されている場合で説明する。
【0069】
まずステップS201で、画像処理部2015より入力されたラスタイメージデータを、文字或は線画を含む文字線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分ける。更に、文字線画領域について、主に文字を含む文字領域と、主に表、図形等を含む線画領域とを分離し、その線画領域を更に表領域と図形領域とに分離する。尚、本実施の形態2では、連結画素を検知し、その連結画素の外接矩形領域の形状、サイズ、画素密度等を用いて、各属性毎の領域に分離する。また文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化する。線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)毎に矩形ブロックにセグメント化する。またハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクト毎に、矩形ブロックにセグメント化する。こうして分離された各領域は、更に所定の大きさの領域(タイル)単位に分割され、各タイル単位で次のベクトル化ステップでベクトル化処理される。
【0070】
次にステップS202で、ベクトル化処理により各属性領域のイメージデータをベクトルデータに変換する。このベクトル化の方法としては、例えば以下に示す(a)〜(f)などがある。
(a)属性領域が文字領域のとき、更にOCRによる文字画像のコード変換を行ったり、或は文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
(b)属性領域が文字領域であり、かつOCRによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報(アウトライン)を線分の繋がりとして表現する形式に変換する。
(c)属性領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分の繋がりとして表現する形式に変換する。
(d)上記(b)(c)の線分形式のアウトライン情報を、ベジエ関数などでフィッティングして関数情報に変換する。
(e)上記(c)の図形オブジェクトの輪郭情報から図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
(f)属性領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【0071】
次にステップS203に進み、上記(a)〜(f)により変換されたフォーマットコード情報、図形情報、関数情報等のコマンド定義形の情報にベクトル変換されたデータにヘッダ情報を付加する。ここではコントローラ2001は、ページベクタかタイルベクタかを判別するベクタタイプや当該タイルのページ内の座標位置など判別するためのヘッダ情報を付加する。次にステップS204で、ページの最終データかどうかを調べ、そのページのデータ処理が終了すると、この変換処理を終了するが、終了していない場合はステップS201に戻って前述の処理を繰り返す。このようにして、タイル単位にパッキングされたタイルベクタデータをSBB2002へ出力する。
【0072】
[タイル⇔ページベクタ変換部2013の説明]
コントローラ2001中のタイル⇔ページベクタ変換部2013の詳細について説明する。
【0073】
図14は、ネットワーク上の外部機器(PC等)のアプリケーションで作成されたドキュメントを説明する図である。ここでは便宜上、ドキュメントの短手(横)方向をX方向、長手(縦)方向をY方向と定義する。
【0074】
図15は、図14のドキュメントのプリンタ出力を指示するページベクタ(PDLコマンド)の記述例を示す図である。
【0075】
図において、1501はドキュメント全体の設定に関わるドキュメント設定命令、1502は文字の描画命令を示している。また1503は、図形の描画命令を示している。以下、1501から1503の描画命令の詳細について説明する。
【0076】
C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5はドキュメント1部について一箇所にのみ付されている。これらドキュメント全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)等がある。C1はドキュメント設定開始コマンドである。C2はドキュメントの出力用紙サイズを表すコマンドで、この場合には「A4」の設定になっている。次のC3はドキュメントの方向を示している。この方向にはポートレートとランドスケープがあり、この場合にはポートレート(PORT)を示している。C4はドキュメントのタイプを表すコマンドで、ページベクタで構成されるドキュメントか、タイルベクタで構成されるドキュメントかを表している。この場合にはページベクタ(PAGE)となっている。C5はドキュメント設定終了コマンドである。
【0077】
次にC6〜C21は、ドキュメント801を出力するたのコマンドで、C6〜C11は、文字の描画命令に関連している。C6はページの開始を示す。C7は文字のフォントの種類を選択するためのコマンドで、この場合は、番号「1」が付されたフォントセットを選択している。C8はフォントの大きさを設定するもので「10ポイント」が選択されている。C9は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度が指示される。この輝度は0から255の256段階で指示される。C10は文字を描画する開始位置の座標を示している。座標位置は、ページの左上を原点とした座標で指定する。この場合は、位置(10,5)から文字の描画を開始するように設定されている。C11は実際に描画する文字列(XXXX...)を示している。
【0078】
次に図形(図14の円と1/4円)の描画命令C12〜C22について説明する。
【0079】
C12は、図形の描画の際の面の塗りつぶしの色を示している。色の指定方法は文字の色の場合(C9)と同様である。C13は図形を描画する線の色を指定する。C14は、図形を描画する位置の座標を示している。C15は、円弧を描画する際の半径の長さを指定する命令で、この場合は座標単位で「10」を表している。C16は、C15で指定された半径の閉円弧の描画を示す。コマンド内の2個のパラメータは、円弧を描画する際の描画開始角度と終了角度を示している。ここでは垂直情報を0度として、0度から90度の円弧(1/4円)を描画することを示している。C17〜C21は、C12〜C16のコマンドと同様に、図形の面、線の色の指定、位置の指定等を行っている。C22はコマンドの終了を指定している。
【0080】
図16は、図14に示すドキュメントをブロック(タイル)単位に分割した状態を示す図である。
【0081】
図において、2つの矢印のそれぞれは、ドキュメントの短手方向X、長手方向Yを表す。また図中のX方向に配列された数列はX方向のタイルIDを、Y方向に配列された数列はY方向のタイルIDをそれぞれ表わしている。またA,B,C,Dはそれぞれ、タイルID(0,0),(0,1),(2,4),(1,5)の位置にあるタイルに対応するタイルベクタを表している。
【0082】
図17は、図16のようにブロック単位に分割したデータをタイルベクタで記述した例を示す図である。
【0083】
図17において、1701はドキュメント全体の設定に関わるドキュメント設定命令で,図15の1501に相当している。1702は描画命令全体を表している。1703〜1706は、図16のタイルA,B,C,Dのそれぞれ描画命令列を示している。1707,1708のそれぞれは、タイルDの文字描画命令、図形描画命令列を表す。
【0084】
以下、各タイルに対応する描画命令列1701〜1708の詳細について説明する。
【0085】
ドキュメント設定命令1701のC1〜C5は、前述の図15のコマンドC1〜C5と共通しているが、図17では、ドキュメントのタイプを表すコマンドC4では、タイルベクタを示す(TILE)になっている点が異なっている。
【0086】
C6〜C15,C100〜C106,C120〜C131,C500のそれぞれは、図16に示すドキュメントを出力するたのコマンドである。C6はページの開始を示すためのコマンドである。C7は、図16のタイルAの描画コマンド列1703の開始を示す。このコマンドの2個のパラメータ(0,0)は、ページ内におけるタイルのIDを示している。C8は、このタイルAの描画コマンドの終わりを示している。タイルAのようにオブジェクトが何も存在しないタイルでは、タイルの開始と終了だけが記述される。C9は、図16のタイルBの描画コマンド1704の開始を示す。C10は、このタイルの文字のフォントの種類を選択するためのコマンドで、ここでは番号「1」が付されたフォントセットを選択している。C11はフォントの大きさを設定するもので、「10ポイント」の大きさを選んでいる。C12は文字の色を設定するコマンドで、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、0から255の256段階で表されている。C13は、文字を描画する開始位置の座標を示している。C14は,このタイルBに描画する文字列(XXXX...)を示している。開始位置の座標位置は、タイルの左上を原点とした座標で指定する。この場合は、位置(0,5)から文字列(XXXX)の描画を開始するように設定されている。C15は、このタイルBの描画コマンド列1704の終わりを示す。
【0087】
C100は図16のタイルCの描画コマンド列1705の開始を示す。C101は、このタイルの図形を描画する際の面の塗りつぶしの色を示している。色の指定方法は文字の色の場合と同様である。C102は、図形描画の線の色を指定する。C103は、図形を描画する位置の座標を示している。C104は、円弧を描画する際の半径を指定する命令で、この場合、座標単位で「10」を表している。C105は、C104で指定された半径で閉円弧の描画をするものである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。C106はタイルCの描画コマンド列1705の終わりを示す。
【0088】
次に描画コマンド列1707のC120〜C125は、前述の描画コマンド列1704のC9〜C15までのコマンドと同様に、文字列を描画するフォントの種類、色、大きさ等を指定している。また描画コマンド列1708のC126〜C131は、描画コマンド列1705のC100〜C106と同様に、図形を描画する際の面、線の色の指定、位置の指定などを行なっている。C500はページの終了、即ちコマンドの終了を指定している。
【0089】
本実施の形態2に係るタイル⇔ページベクタ変換部2013は、例えば前述の図15に示すようなページベクタデータを、図17に示すタイルベクタに変換する。
【0090】
図18は、本実施の形態に係るタイル⇔ページベクタ変換部2013による変換処理を説明するフローチャートである。ここでは、このタイル⇔ページベクタ変換部2013における処理が、CPU2003とその制御プログラムにより実現されている場合で説明する。
【0091】
まずステップS301で、システムメモリ2005に記憶されたベクタ画像から、ヘッダ部分に相当するコマンド列を読み込み、ドキュメント全体に関するコマンド部分を解析する。これは前述の図15或は図17のコマンド列C1〜C5を読み込んで処理する場合に該当する。次にステップS302で、ステップS301の解析の結果、ドキュメントのタイプがページベクタ(PAGE)かどうかを判定する。ページベクタの場合はステップS303に進んで、ページベクタ→タイルベクタへの変換を行う。一方、ドキュメントのタイプがタイルベクタ(TILE)の場合はステップS40に進み、タイルベクタ→ページベクタへの変換を実行する。
【0092】
ステップS303では、オブジェクトを記述するコマンド列を読み込む。次にステップS304で、ステップS303で読み込んだコマンド列を解析し、記述されているオブジェクトの大きさが、分割したいタイルサイズを超えているかどうかを判断する。ステップS304で、オブジェクトの分割を行わない場合はステップS305をスキップしてステップS306に進む。一方、オブジェクトの分割を行う場合はステップS305に進み、入力されたオブジェクトの分割処理を行う。
【0093】
ここでは例えば、図14では、1502で、文字列「XXXX...」を含む全ての文字列の描画コマンドを記述しているが、図16のようにタイルに分割した場合は、タイルBには4つの文字「XXXX」しか収まらない。従って、タイルベクタでは文字列を、ブロック(タイル)単位に分割し、別のタイルに含まれる後続の文字列は別の文字列として、次のタイルで記述される。次のタイルに、その文字列が収まらなかったら、同様に、タイルに含まれる文字列に分割し、分割された全ての文字列がタイルサイズに収まるまで、同様の処理を繰り返す。ここで文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その収容できる文字数に従って文字列を分割する。図15のページベクタを図16のように分割した場合は、1つのタイルに収容できる文字数が4つと判断され、図15のC10の文字列は、タイルベクタBとして図17のC14に示す記述に変換される。
【0094】
また図15の1503は図形の描画を記述しているが、1503のC17〜C21で記述されている図形において、図14の4分の3円は、図16では一つのタイルに収まらない。よって、この4分の3円は、タイルDを含む複数のタイルに分割される。この図形の分割に際しては、図形の描画位置や図形の形、大きさからタイルの境界領域と接する部分を算出する。そしてその境界とタイル内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。図15の1503で記述される4分の3円は、図17では、その左下の部分領域が1708のC126からC130のような4分の1円の記述に変換される。また、残りの領域も同様な形の4分の1円の記述に変換される。
【0095】
次にステップS306に進み、入力されたオブジェクトのコマンド記述に対し、タイルベクタ内での描画位置へ変更するために座標位置の変換を行う。ページベクタでは、ページの左上からの位置を記述していたのに対し、タイルベクタではタイルの左上を原点とした位置情報に記述し直す。このように描画位置を、各タイル内の座標で記述することにより、座標計算におけるデータの長さを短くすることができる。これにより位置演算に要する時間を短縮できる。こうして1つのオブジェクトに対するコマンドの記述変換が終了するとステップS307に進み、そのページ内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合はステップS303に戻り、次のコマンドに対してステップS303〜S307の処理を繰り返す。こうして1つのオブジェクトに対するコマンドの処理が終了した場合はステップS308に進む。
【0096】
全ての描画コマンドの記述変換が終了したら、ステップS308で、例えば図16のように分割された各タイル領域に対し、ページの左上から順にタイルベクタとしてシステムメモリ2005への書き出しを行う。タイルベクタとしては、前述のステップS305、S306で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを追加するようなフォーマットで記述する。
【0097】
具体的に説明すると、ページの一番最初のコマンドを書き出す時点では、システムメモリ2005にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタ、例えば図17のタイルAは、1703のように始まりと終わりのコマンドのみでC7〜C8のように記述される。次にステップS303〜S307で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。即ち、タイルBの場合は、図17の1704のC9〜C15で示すような記述となる。またタイルDのように、同じタイルに複数のオブジェクトが存在する場合には、図17の1706のように、1707のオブジェクト記述と1708のオブジェクト記述とを列記する。こうして1つのオブジェクトのタイルベクタへの書き出しが終わるとステップS309に進み、そのページのオブジェクトの記述が全て終了したかどうかを判断する。終了していないと判断した場合はステップS303に戻るが、ページ内の全ての処理が終了した場合には、このページベクタからタイルベクタへの変換処理を終了する。
【0098】
次にステップS302で、ドキュメントタイプがタイル(TILE)であると判断した場合はステップS310に進み、オブジェクトを記述するコマンド列を読み込む。次にステップS311に進み、ステップS310で読み込まれたコマンド列を解析し、その記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能かどうかを判断する。オブジェクトの結合を行わない場合はステップS312をスキップしてステップS313に進むが、オブジェクトの分割を行う場合はステップS312に進む。ステップS312におけるオブジェクトが結合できるかどうかの判断は、読み込んだコマンドの座標位置や、図形の種別等を基に判断する。文字列の場合はフォントサイズやフォントの種類を基に判断する。基本的にはステップS305の流れを逆にしたような形で結合を行う。
【0099】
次にステップS313に進み、入力されたオブジェクトのコマンドの記述に対し、タイルベクタ内での描画位置へ変更するために座標位置の変換を行う。前述したように、タイルベクタでは、タイルの左上を原点とした位置情報を記述していたのに対し、ページベクタでは、ページの左上を原点とした位置情報に記述し直す。1つのオブジェクトに対するコマンドの記述変換が終了するとステップS314に進み、タイル内の全てのオブジェクトのコマンドの記述変換が終了したかどうかを判断し、終了していない場合はステップS310に戻り、次のコマンドに対してステップS310〜S313の処理を繰り返す。こうして1つのオブジェクトに対するコマンドの処理が終了して、描画コマンドの記述変換が終了したらステップS315に進み、ページベクタとしてシステムメモリ2005への書き出しを行う。タイルベクタとしては、前述のステップS305、S306で記述されたコマンドに対し、タイルの始まりと終わりを示すコマンドを削除したようなフォーマットで記述される。
【0100】
具体的には、ページ内の一番最初のタイルに記述されたコマンドを書き出す時点では、システムメモリ2005にオブジェクトがない状態のページベクタを生成しておく。図14の例では、C1〜C6,C22だけで記述されるページである。次にステップS310〜S313で処理されたオブジェクトの記述を追加する。図15の例では、1502のC7〜C11の記述の部分がそれにあたる。この場合のオブジェクトは文字列(XXXX...YY...)を表しているが、これは、ステップS312で図17の1704や1707等で記述される各タイルの文字列を順次結合したオブジェクトの記述に変更されている。こうして1つコマンドのページベクタへの書き出しが終わると次にステップS316に進み、そのタイルのオブジェクトの記述が全て終了したかどうかを判断する。ここで終了していないと判断した場合はステップS310に戻る。そしてステップS316で、タイル内の全ての処理が終了した場合はステップS317に進み、そのページのタイルの記述の処理が全て終了したかどうかを判断する。ここで終了していないと判断した場合はステップS310に戻る。こうしてページ内の全てのタイルの処理が終了した場合には、このタイルベクタからページベクタへの変換処理を終了する。
【0101】
[タイルベクタ展開部(RIP)2018の説明]
次に本実施の形態2に係るコントローラ2001のRIP2018の詳細について説明する。
【0102】
まずコピーやプリント、送信といった画像データの処理を開始する前に、ローカルメモリ2019の初期化と、作成する描画オブジェクトの解像度の設定を行っておく。本実施の形態2では、印刷データの解像度は600dpiとし、ポイントサイズやmm等の単位系で指定された印刷コマンドは、この値を用いてドット数に変換されることになる。
【0103】
図19は、本実施の形態2に係るRIP2018によるタイルベクタの展開処理を説明するフローチャートである。
【0104】
まずステップS501で、システムメモリ2005よりSBB2002を経由してRIP2018に一定サイズ分のタイルベクタデータを入力する。そして、このタイルベクタデータを、ローカルメモリ2019のタイルベクタ領域に一時的に格納する。こうしてタイルベクタがローカルメモリ2019に取り込まれるとステップS502に進み、μRIPa〜dのそれぞれにおいて、タイル展開処理が終了しているかどうかを判断する。μRIPa〜dのいずれかがベクタデータの展開中であれば、その展開処理が終了してデータ展開可能になるまでステップS502で待機する。こうしてμRIPa〜dでベクタデータの展開が可能になるとステップS503に進み、予め定められた文法に従ってローカルメモリ2019に格納されたタイルベクタデータのコマンドを解析する。
【0105】
次にステップS504で、その解釈されたコマンドが描画命令か排紙命令かを判断し、描画命令であると判断した場合はステップS505に進み、描画オブジェクト(DL)の生成を行う。またタイルベクタ内のコマンドが文字描画命令であれば、そのコマンドで指定されるフォントの書体や、文字サイズ、文字コードを基にフォントオブジェクトを生成する。また文字以外の描画命令であれば、そのコマンドで指定された図形(ラインや円、多角形等)の描画オブジェクトを生成し、ローカルメモリ2019のDL領域に格納する。また描画コマンドで指定されない印刷データであると判断した場合には、その印刷データに応じて印刷位置の移動や印刷環境設定等の処理を実行して、一単位分のコマンド解釈を終了してステップS508に進む。
【0106】
一方、ステップS504で、コマンドが描画命令以外の排紙命令と判断した場合はステップS506に進み、μRIP2018はローカルメモリ2019のタイルのラスタメモリ領域に空き領域があるかどうかを判断する。空き領域がない場合は、他のRIP2018の処理が終了し、空き領域が出来るまで待機する。ステップS506でタイルラスタメモリに空き領域がある場合はステップS507に進み、ステップS505で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画(ラスタライズ)する。この時、目的の画像データの解像度が600dpiであれば、タイルラスタ領域には600dpiの画像データとしてラスタライズされる。そして描画が終了したタイルラスタ画像は、SBB2002を介して画像処理部2015に出力される。
【0107】
こうしてステップS505又はS507で、一つのタイルベクタに対するコマンド解析又は描画処理が終了するとステップS508に進み、読み込まれたタイルベクタデータに対し全てが終了したかどうかを判断する。ここでまだ処理が残っていればステップS502に戻り、次のタイルベクタの処理を続ける。そのタイルベクタデータに対する処理が終了している場合はステップS509に進み、1ページ分のタイルベクタデータに対し、全ての処理が終了したかどうかを判断する。ここで、そのページでまだ未処理のデータが残っている場合はステップS501に戻り、システムメモリ2005からタイルベクタデータを読み出して、処理を続ける。こうして1ページ分のタイルベクタデータに対する処理が全て終了すると、このタイルベクタデータの展開処理を終了する。
【0108】
[操作部2010を使用したオブジェクト選択操作]
次に、HDD2008に格納されている画像データを操作部2010の表示部にプレビュー表示し、ユーザが表示されたプレビュー画像から、所定のオブジェクトを選択するときの動作について説明する。
【0109】
図20は、本実施の形態2に係るMFPにおけるプレビュー表示の際の画像データの流れを説明する図で、前述の図9と共通する部分は同じ記号で示している。
【0110】
まず操作部2010の表示部に表示する画像データをHDD2008からMC2004を介してメモリ2005にスプールする(S51)。こうして一旦、メモリ2005にスプールされたデータを、MC2004及びSBB2002を介してRIP2018に転送してタイルベクタデータの展開処理を行う(S52)。このタイルベクタデータの展開処理の詳細は、前述の図19のフローチャートを参照して説明しているので、詳細は省略する。この際、プレビュー表示のための画像の変倍処理も、RIP2018によって行われる。次に、このRIP2018でラスタ展開されたデータを、メモリ2005に書き戻す(S53)。そして、メモリ2005に書き戻されたデータを、LCDC2009の持つDMAC機能を用いて操作部2010に転送し、その表示部に画像として表示する(S54)。
【0111】
次にユーザは、その表示された画像から、画像加工・削除・オブジェクト保存などの処理を行う対象のオブジェクトを選択するために、指或はポインティングデバイスなどを使用して所望の点を選択する。
【0112】
図21は、オブジェクト2101〜2105を含む表示画像から円(オブジェクト2102)を削除する場合を説明する図である。
【0113】
また図22は、図20のS51〜S54で示すデータの流れに伴う、表示部の表示例を示す図である。図23はオブジェクトの拡大図、また図24は、操作部2010の表示部に拡大表示された例を示す図である。
【0114】
図25は、本実施の形態2に係る操作部2010を用いたオブジェクトの選択操作を説明するフローチャートである。
【0115】
まずステップS601で、ユーザはポインティングデバイスや自身の指などを用いて、操作したいオブジェクトを表示部上で指定する。例えば、図21の図形オブジェクト2102が指定したいオブジェクトとする。次にステップS602に進み、指定した点の座標を、操作部2010の表示部のタッチセンサ(不図示)で検出し電気信号として出力する。そしてCPU2003により、タッチセンサの座標系からページラスタ画像に対する座標系に座標変換する。次にステップS603で、その座標変換された選択点の位置情報から、当該選択点が含まれるタイルベクタを抽出するための抽出タイルを決定する。
【0116】
ここで図22のように全画面表示をしている場合は、図21のオブジェクト2101〜2103が非常に近接して表示されている。このためユーザが、図23に示す座標(3,3)のタイル2301のオブジェクト2102を指定したつもりでも、誤って隣のタイル(2,3)のオブジェクト2103が検知されている可能性がある。
【0117】
逆に図24のように拡大表示されている場合は、1タイル分の画像の表示サイズも大きくなるため、ユーザが近接するタイルを誤って指定する可能性は低くなる。従ってステップS603で、操作部2010への表示が全画面表示かどうかを調べる。ここで全画面表示であった場合はステップS604に進み、そうでない場合はステップS605に進む。ステップS604では、図23に示すように、選択点を含むタイル(2,3)2302のベクタデータだけでなく、近接するタイル(3,3)2301,(2,4)2303,(3,4)2304も選択対象のタイルとし、それらタイルのベクタデータも抽出する。
【0118】
一方、全画面表示でない場合はステップS605に進み、図26に示すように、抽出するタイルを、指定座標を含むタイルベクタ(3,3)のみとして抽出する。次にステップS606で、ステップS604又はS605で抽出したタイルのベクタデータに含まれるオブジェクトだけを表示部に表示し、ユーザに所望のオブジェクトを選択させる。次にステップS607に進み、その選択されたオブジェクトに対し、所望の処理(本実施の形態の場合は削除)を行い、その処理した結果を確認のために表示部に表示する。そして、ユーザが適正に処理が行われたかを確認した後、この処理を終了する。
【0119】
本実施の形態2では、全画面表示か拡大表示かで選択させるタイル数が4つか1つの場合を示したが、選択するタイルの数を表示倍率に応じて多段階に可変してもよい。
【0120】
[実施の形態3]
前述の実施の形態2では、画像上の位置が指示された際、表示している倍率に応じて選択するタイル数を可変にしたが、ポインティングデバイスの種類によって可変にしても構わない。例えば、実施の形態2では、ユーザが指で操作部2010のタッチパネル上のオブジェクトを指定していたが、図27のようにペンなどの座標指示具を用いた場合を考える。
【0121】
図27は、本発明の実施の形態3において、座標指示用のペン(座標指示具)を用いて画面上の位置を指示した状態を示す図である。
【0122】
この場合は、表示部に全画面表示されていたとしても、押される面積が小さく、この座標指示具によって、所定のオブジェクトの位置を正確に指定できていると考えられる。従って、この場合は、その指示された位置に該当するタイルのみを選択する。
【0123】
この状態を示したのが図28である。
【0124】
この場合は、必要以上にタイルの数を多くとる必要が無いため、オブジェクト指定に要する時間を高速化することが可能である。
【0125】
ポインティングデバイスの違いは、ユーザ指定によって可変である。またユーザの指を使って指定する場合であっても、人によって指の大きさ等に違いがある。このため、例えば欧米系の地域向けには検索タイル数を大きめに設定し、アジア系の地域向けには小さめに設定するなどしても構わない。
【0126】
以上説明したように本実施の形態2,3によれば、表示部に表示される画像の倍率に応じて、オブジェクトを検索するタイル数を可変にすることにより、オブジェクトの指定を正確に行えるようにできる。
【0127】
また、ポインティングデバイスの違いなどにより、検索するタイル数を最適に設定することで、できるだけ短時間にオブジェクトの指定を行うことが可能になる。
【0128】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また一つの機器からなる装置に適用しても良い。
【0129】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0130】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0131】
プログラムを供給するための記録媒体としては、様々なものが使用できる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などである。
【0132】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0133】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布する形態としても良い。その場合、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムが実行可能な形式でコンピュータにインストールされるようにする。
【0134】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0135】
更に、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれるようにしてもよい。この場合、その後で、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0136】
【図1】本発明の実施の形態1に係るデジタル複写機(MFP)の構成、及び当該複写機を有するシステム構成を示す図である。
【図2】本実施の形態1において、ネットワークに接続されたPC上で稼動し、文書データや画像データを作成するアプリケーションソフトによって作成される複数のオブジェクトを説明する図である。
【図3】複数のオブジェクトを合成した画像の表示例を示す図である。
【図4】本実施の形態に係るMFPの操作部の表示部に表示されたUI画面例を示す図である。
【図5】実施の形態1において、画像の人物オブジェクトが選択された状態を示す図である。
【図6】実施の形態1において、画像の位置が指示された状態を示す図である。
【図7】実施の形態1において、操作部の表示部における表示例を示す図である。
【図8】本実施の形態に係るMFにおける処理を説明するフローチャートである。
【図9】本発明の実施の形態2に係るMFPの機能構成を説明する機能ブロック図である。
【図10】本実施の形態2に係るMFPをコピーモードで動作させる場合のMFPにおける画像データの流れを説明する図である。
【図11】本実施の形態2に係るMFPをプリントモードで動作させる場合のMFPにおける画像データの流れを説明する図である。
【図12】本実施の形態2に係るMFPを送信モードで動作させる場合のMFPにおける画像データの流れを説明する図である。
【図13】本実施の形態2に係るラスタタイル変換部における処理を説明するフローチャートである。
【図14】ネットワーク上の外部機器(PC等)のアプリケーションで作成されたドキュメントを説明する図である。
【図15】図14のドキュメントのプリンタ出力を指示するページベクタ(PDLコマンド)の記述例を示す図である。
【図16】図14に示すドキュメントをブロック(タイル)単位に分割した状態を示す図である。
【図17】図16のようにブロック単位に分割したデータをタイルベクタで記述した例を示す図である。
【図18】本実施の形態に係るタイル⇔ページベクタ変換部による変換処理を説明するフローチャートである。
【図19】本実施の形態2に係るRIPによるタイルベクタの展開処理を説明するフローチャートである。
【図20】本実施の形態2に係るMFPにおけるプレビュー表示の際の画像データの流れを説明する図である。
【図21】オブジェクト2101〜2105を含む表示画像から円(オブジェクト2102)を削除する場合を説明する図である。
【図22】図20のS51〜S54で示すデータの流れに伴う、表示部の表示例を示す図である。
【図23】オブジェクトの拡大図である。
【図24】操作部の表示部に拡大表示された例を示す図である。
【図25】本実施の形態2に係る操作部を用いたオブジェクトの選択操作を説明するフローチャートである。
【図26】拡大表示により一つのタイルのみを選択する例を示す図である。
【図27】本発明の実施の形態3において、座標指示用のペン(座標指示具)を用いて画面上の位置を指示した状態を示す図である。
【図28】本発明の実施の形態3において、座標指示用のペンを用いて画面上の位置を指示した場合に、一つのタイルのみを選択した状態を説明する図である。
【出願人】 【識別番号】000001007
【氏名又は名称】キヤノン株式会社
【出願日】 平成18年7月6日(2006.7.6)
【代理人】 【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳

【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎

【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘

【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二


【公開番号】 特開2008−17210(P2008−17210A)
【公開日】 平成20年1月24日(2008.1.24)
【出願番号】 特願2006−186973(P2006−186973)