説明

画像処理装置及びその制御方法、プログラム

【課題】 システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供する。
【解決手段】 第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する。その判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する。変換された第2ベクタ画像データと、第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、最終的な第1ベクタ画像データとして生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力された画像データに対して画像処理を施して管理する画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【0002】
ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。
【0003】
この画像データ入出力システムとしては、MFP(Multi Function Peripheral)と呼ばれるものがある。
【0004】
ここで、従来のMFPを制御するコントローラ100を図2に示す。コントローラ100は、システムバスブリッジ(SBB)101により、CPU102、メモリコントローラ(MC)103、汎用バス105、画像処理部112、画像データ展開部(RIP(Raster Image Processor))115が接続されている。
【0005】
汎用バス105には、画像データを蓄積するためのHDD(ハードディスクドライブ)107を制御するハードディスクコントローラ(HDDCont)106及び操作部(例えば、LCD等から構成されるタッチパネル)109を制御する操作部コントローラ108、MFPが接続されているネットワーク111を介して、外部機器間との画像データの転送を行うインターフェースになるネットワーク I/F110が接続されている。この画像データとしては、ページベクタ形式(PDL(ページ記述言語)、PDF、SVG等)の画像データがある。
【0006】
HDDCont106には、HDD(ハードディスクドライブ)107が接続されており、画像データの記憶媒体として使われる。同様に、MC103には、システムメモリ(Memory)104が接続されており、画像データを一時記憶するための媒体として使われる。システムメモリ104には、一般的には、DIMMが用いられる。
【0007】
画像処理部112には、スキャナ113及びプリンタ114が接続されている。スキャナ113から入力された画像データは、画像処理部112によって所定の画像処理が実施された後、コントローラ100へ入力される。また、コントローラ100内に記憶されている画像データは、画像処理部112によって所定の画像処理が実施され、プリンタ112へ出力される。
【0008】
コントローラ100でハンドリングされる画像データは、ネットワーク経由での外部機器との入出力はページベクタ形式(PDLやPDF、SVG等)、スキャナ113やプリンタ114との入出力はラスタデータ形式でインターフェースされる。外部機器から入力されたページベクタ形式の画像データはCPU102により、プリミティブなオブジェクトにインタプリットされ、DL(DisplayList)と呼ばれる中間データに変換されてから、RIP115に入力される。
【0009】
これらの画像データはコントローラ100の内部のシステムメモリ104に一旦記憶されるため、システムメモリ104上には、ラスタデータ、ページベクタデータ(PDL等)、DLデータ等の多種類のデータが存在する。
【0010】
HDD107には、画像データとしてスキャナ113から入力された画像データとRIP115でレンダリングされたラスタ画像データが記憶される。
【0011】
このMFPが扱う画像データの中でも、ビットマップ画像データはデータサイズが大きい。そのため、システムメモリ104のメモリサイズや、汎用バス105及びHDDCont106−HDD107間のバンド幅等のシステム・リソースを多く消費する。ユーザから要求されるシステムの処理速度は、年々高いものとなっており、それを満足するためには必要なシステム・リソースが肥大化してしまう。
【0012】
そこで、画像処理部112やRIP115の中に画像圧縮伸張器を用意し、スキャナ113から入力されたラスタ画像データやPDLデータ中に記述されているビットマップ画像データを、JPEG等の画像圧縮処理を実施して、システム・リソースにかかる負担を低減するようなシステムが考えられる(例えば、特許文献1)。
【0013】
一方、最近はユーザの出力画像の画質要求がますます高くなり、その解決策の1つとして、画像データに対する高解像度化(高画質化)が促進されている。これに対し、システムリソースにかかる負担コストを抑制させるための画像圧縮処理は、画質劣化については不可避である。そのため、画像圧縮処理による圧縮率を向上させることと、高画質化は、通常、トレードオフの関係にある。そこで、この2つの目的を好適に両立させることが必要となっている。
【0014】
スキャン画像(ラスタ画像)からベクタ画像(ベクタ形式の画像データ)に変換するベクタ変換は、この問題点を解消する1つの方法である。例えば、図2の従来例の画像処理部112に、ラスタ画像/ベクタ画像変換処理部を実装し、ラスタ画像をベクタ画像に変換する。
【0015】
このベクタ変換により、スキャナ113で読み取ったラスタ画像も、文字部分は文字コードやアウトライン化されたり、細線やイラスト等は、その直線、曲線を関数化されたり、表等は表データとして処理されるようになる。従って、文字や細線再現で高画質化することが可能になる。
【0016】
また、画像データがコード化や関数化されるため、保存時にはファイル容量は非常に小さくなる。データ送信機能時においても、その容量が小さいために送信にかかる時間が短縮できる。加えて、システム・リソースに対する負担も低減される。
【特許文献1】特開平11−224331号公報
【発明の開示】
【発明が解決しようとする課題】
【0017】
上述の画像処理部112にラスタ画像/ベクタ画像変換処理部を実装したシステムでは、スキャン画像に対するデータ量の低減や高画質化に寄与することはできるが、ネットワーク111から受信する画像データに対しては寄与しない。通常、ネットワーク111から受信する画像データは、ベクタ形式の画像データであるが、その画像データ中には、別途スキャナで読み取った画像を、例えば、パーソナルコンピュータ等の端末上の画像処理アプリケーションで貼り付けたデータ等も含まれている。こういう類の画像は、ベクタ形式の画像データといっても、その実体は文字コードに変換されたりや関数化されているわけではなく、ラスタ画像と同じである。
【0018】
また、図形描画用アプリケーションでも各オブジェクト(文字、イメージ等)をビットマップ(ラスタ)画像化して出力するタイプのものも存在する。これらの画像に対しては、スキャン画像と同様にシステム・リソースを低減できる方法が課題となってくる。
【0019】
本発明は上記の課題を解決するためになされたものであり、システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0020】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、 入力された画像データに対して画像処理を施して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換手段と、
前記変換手段で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成手段と
を備える。
【0021】
また、好ましくは、前記画像処理装置は、前記生成手段が生成された前記第1ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第1ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段とを更に備える画像処理システムである。
【0022】
また、好ましくは、当該画像処理装置とネットワークを介して接続される、当該画像処理装置から出力される画像データを入力して出力する画像処理システムを更に備え、
前記画像処理装置は、前記画像処理システムへの画像データの出力を制御するドライバ手段である。
【0023】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換手段と、
前記第1変換手段で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成手段と
を備える。
【0024】
また、好ましくは、前記生成手段で生成した前記第1ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第1ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段と
を更に備える。
【0025】
また、好ましくは、前記生成手段で生成した第1ベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する第2変換手段と、
前記第2変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備える。
【0026】
また、好ましくは、前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する。
【0027】
また、好ましくは、処理対象のベクタ画像データ中に含まれるラスタ画像データ表現部分をベクタ画像データに変換するか否かを指定する指定手段を更に備える。
【0028】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する変換手段と、
前記変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備える。
【0029】
また、好ましくは、前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する。
【0030】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換工程と、
前記変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程と
を備える。
【0031】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換工程と、
前記第1変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程と
を備える。
【0032】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程と、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程と、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程と、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程と
を備える。
【0033】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程のプログラムコードと
を備える。
【0034】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換工程のプログラムコードと、
前記第1変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程のプログラムコードと
を備える。
【0035】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程のプログラムコードと、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程のプログラムコードと、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程のプログラムコードと
を備える。
【発明の効果】
【0036】
本発明によれば、システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【0037】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【0038】
[実施形態1]
[MFP装置概要]
図1は本発明の実施形態1の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。
【0039】
MFP1000を制御するコントローラ1は、システムバスブリッジ(SBB)2により、CPU3、メモリコントローラ(MC)4、汎用バス6、ラスタ/ベクタ変換部14、画像処理部15、画像データ展開部(RIP)18が接続されている。
【0040】
MC4には、システムメモリ(Memory)5が接続されており、画像データを一時記憶するための媒体として使われる。
【0041】
汎用バス6には、画像データを蓄積するためのHDD8を制御するハードディスクコントローラ(HDDCont)7及び操作部(例えば、LCD等から構成されるタッチパネル)10を制御する操作部コントローラ9及び、MFP1000が接続されているネットワーク12を介して、外部機器間との画像データの転送を行うインターフェースになるネットワーク I/F11が接続されている。
【0042】
尚、操作部10では、後述する実施形態1の各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。
【0043】
画像処理部15には、スキャナ16及びプリンタ17が接続されている。コントローラ1でハンドリングされる画像データは、外部機器との入出力はベクタ(PDL、PDF、SVGなど)形式の画像データ(以下、ベクタ画像データとも言う)、スキャナ16やプリンタ17との入出力はラスタ形式の画像データ(以下、ラスタ画像データとも言う)でインターフェースされる。
【0044】
[プリント時のデータフロー]
図3は本発明の実施形態1の画像処理システムにおけるネットワークから転送されてきたデータをプリントする際の処理フローを示す図である。
【0045】
尚、この処理フローは、CPU3の制御の下、MFPを構成する各種構成要素を協調動作させることで実現される。
【0046】
(S31):ネットワーク12に接続された外部機器より、汎用バス6に接続されたネットワーク I/F11がベクタ画像データを受信する。そして、SBB2の先に接続されたMC4を介してシステムメモリ5に転送する。
【0047】
(S32):システムメモリ5に記憶されたベクタ画像データは、MC4により読み出され、SBB2を介してラスタ/ベクタ変換部14に転送される。
【0048】
ラスタベクタ変換部14では、ネットワーク12から受信したベクタ画像データにラスタ画像データ表現が含まれるか否かを判定する。
【0049】
ラスタ画像データ表現が含まれる場合は、ラスタ画像データ表現をベクタ画像データに変換するベクタ変換処理を実行して、変換されたベクタデータをSBB2、MC4を介してシステムメモリ5に書き戻す。
【0050】
一方、ラスタ画像データ表現が含まれない場合は、そのままのベクタ画像データをそれぞれSBB2、MC4を介してシステムメモリ5に書き戻す。
【0051】
このラスタ/ベクタ変換部14による処理を実行することにより、ネットワーク12上から受信した画像データのデータ量を削減することができる。また、その画像データには文字コード化、関数化等が実行されるので、その画質の低下を防止することができる。このラスタ/ベクタ変換処理の詳細については後述する。
【0052】
(S33):システムメモリ5に書き戻されたベクタ画像データは、SBB2を介して汎用バス6に接続されたHDDCont7によってHDD8に記憶される。HDD8にベクタ画像データを記憶することにより、ページ順を変えて出力したり、MFP1000内に保存文書データとして記憶したりすることができる。
【0053】
HDD8に記憶されたベクタ画像データは、プリンタ17内のCPU(不図示)から送られてくるプリンタレディのタイミングに合わせて、HDDCont7により再び読み出され、SBB2、MC4を経由してシステムメモリ5に一時的に記憶される。
【0054】
読み取ったベクタ画像データをHDD8からダイレクトにプリンタ17へ出力する場合、HDD8のアクセススピードが律則したり、汎用バス6のバスの混雑度合によりプリンタ17に同期して出力することが保証できなくなる。そのため、プリンタ17に同期してデータ転送を行う前に、システムメモリ5に1ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。
【0055】
(S34):システムメモリ5に記憶されたベクタ画像データは、SBB2、MC4を介してCPU3によって読み出され、ベクタ画像データの各オブジェクトを記述するコマンドの解析がなされる。解析の結果、ベクタ画像データは、DL(ディスプレイリスト)データと呼ばれる描画オブジェクトを表す中間データに変換されシステムメモリ5に書き戻される。
【0056】
ここで、ベクタ画像データ中にラスタ画像データ表現が存在すると、中間データに変換されず、ラスタ画像データのままシステムメモリ5に書き戻されるため、大きなメモリ容量が必要となる。しかしながら、本発明では、S32で、ラスタ画像データを最小限に押さえられるようになっているため、従来のシステムよりも、メモリ容量の消費量を少なくすることができる。
【0057】
(S35):システムメモリ5にスプールされたDLデータはプリンタ17から送られてくる起動信号により、MC4、SBB2を介し、RIP18に送信される。そして、RIP18で、そのDLデータはレンダリング処理されて、ラスタ画像データに展開され、SBB2経由で画像処理部15へ転送される。
【0058】
(S36): RIP18によって生成されたラスタ画像データは、画像処理部15に転送され、例えば、以下の処理が実行される。
【0059】
1)プリンタの特性に合わせた出力画像の色や濃度の補正処理
2)画像データを量子化して出力画像の階調変換を行う中間調処理
3)プリンタI/Fクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部15で、1)〜3)の画像処理が実行されたラスタ画像データは、プリンタ17に転送され、記録媒体上に印刷され出力される。
【0060】
[ラスタ/ベクタ変換部]
次に、ラスタ/ベクタ変換部14の処理の詳細について説明する。
【0061】
図4は本発明の実施形態1のネットワークから転送されてくるドキュメントデータの一例を示している。
【0062】
図4では、ドキュメントデータの短手方向を「X」方向、長手方向を「Y」方向と定義する。ドキュメントデータ401としては、ベクタ画像データ、あるいはラスタ画像データ表現を含むベクタ画像データ、あるいはラスタ画像データのいずれかで構成される可能性がある。
【0063】
ここで、ドキュメントデータ401が、ベクタ画像データである場合、その内容を構成する記述例について、図5を用いて説明する。
【0064】
図5は本発明の実施形態1のベクタ画像データの記述例を示す図である。
【0065】
図5において、501はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、502は文字の描画命令部分、503は図形の描画命令部分を示している。
【0066】
各描画命令部分の詳細について説明する。
【0067】
ドキュメント設定命令部分501において、C1〜C5は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドC1〜C5は、ドキュメント1部について1ヶ所しか付いていない。
【0068】
これらドキュメントデータ全体に関係するコマンドには、例えば、キャラクタセットコマンド(フォント指定コマンド)、スケーラブルフォントコマンド(スケーラブルフォントを使用するか否かを指定するコマンド)、ハードリセットコマンド(以前のプリンタ使用環境をリセットするコマンド)等がある。
【0069】
ここで、C1はドキュメント設定開始コマンドである。C2はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、A4の設定になっている。C3はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート(PORT)を示している。
【0070】
C4はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータであるのかタイルベクタで構成されるドキュメントデータであるかを示している。この場合には、ページ(PAGE)となっている。C5はドキュメント設定終了コマンドである。
【0071】
文字の描画命令部分502及び図形の描画命令部分からなるC6〜C22は、ドキュメントデータを出力するための各種コマンドである。
【0072】
C6はページの開始を示すコマンドである。C7は文字のフォントの種類を選択するためのコマンドであり、この場合には「1」という番号の付けられたフォントセットを選択している。C8はフォントの大きさを設定するコマンドであり、この場合には「10ポイント」の大きさを選んでいる。
【0073】
C9は文字の色を設定するコマンドであり、順にR(赤),G(緑),B(青)各色成分の輝度を示してある。この輝度は、例えば、0から255の256段階で量子化されているものとする。この場合は、{0,0,0}に設定されている。C10は文字を描画する開始位置の座標を示すコマンドである。座標位置(X,Y)は、ページの左上を原点に指定する。この場合は、ページの{10,5}の位置から文字の描画を開始するように設定されている。C11は実際に描画する文字列(XXXX・・・YY・・・)を示すコマンドである。
【0074】
C12は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。C13は図形描画の線の色を指定するコマンドである。C14は図形を描画する位置の座標を示すコマンドである。
【0075】
C15は円弧を描画する際の半径を指定するコマンドであり、この場合、「10」座標単位を示している。C16は閉円弧の描画をするコマンドである。コマンド内の2個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を0度として、この場合には0度から90度の円弧を描画することを示している。
【0076】
C17〜C21は、C12〜C16までのコマンドと同様に、図形描画の際の面、線の色の指定、位置の指定等のコマンドである。C22はページの終了を示すコマンドである。
【0077】
一方、ドキュメントデータ401がラスタ画像データ(ベクタ画像データの記述内容によってラスタ画像データとして扱われる画像データ)の記述を含むベクタ画像データである場合、その内容を構成する記述例について、図6を用いて説明する。
【0078】
図6は本発明の実施形態1のラスタ画像データの記述を含むベクタ画像データの例を示す図である。
【0079】
図6において、601はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、602はラスタ画像データの描画命令部分を示している。
【0080】
ここで、ドキュメント設定命令部分601は、図5のドキュメント設定命令部分501と同様である。
【0081】
ラスタ画像データの描画命令部分602において、C6〜C106はラスタ画像データを出力するためのコマンドである。
【0082】
C6はページの開始を示すコマンドである。C7はラスタ画像データのタイプを示すコマンドであり、この場合は、ドキュメントデータ401が「RGB」で表されるラスタ画像データであることを示している。C8はラスタ画像データの開始位置を示すコマンドである。この場合は、ドキュメントデータ全面がラスタ画像データであるので、原点{0,0}を示している。
【0083】
C9はラスタ画像データの大きさを示すコマンドであり、WIDTHがX方向の画素数、HIGHTがY方向の画素数を示している。この場合は、X方向が1000画素、Y方向が1000画素の画素数を持つ画像を示している。
【0084】
C10〜C75は、各画素のRGB値を示すコマンドであり、ラスタ画像データの開始位置から、まず、X方向に座標を進め、X方向の最終座標位置まできたら、Y方向の座標を進めるような順序で記述されるデータストリームとなっている。この場合は、まず、Rのデータストリームを記述し、Rの記述が終了したらG、Gが終了したらBというようにラスタ画像データを構成するRGB面順次走査の記述となっている。もちろん、記述はこの順番に限られるものでなく、座標の走査の方法が異なっても構わないし、画素単位にRGB値を走査する点順次走査の記述となっても構わない。
【0085】
図5と図6を比較して明らかなように、ベクタ画像データ中にラスタ画像データを記述すると、その内容を示す全体の記述量が増え、データ容量が大きくなってしまう。そこで、ラスタ/ベクタ変換部14では、入力されたベクタ画像データ中のラスタ画像データに相当する記述部分のベクタ変換を行う。
【0086】
例えば、ラスタ画像データに対する記述が、文字画像や表画像である場合には、その文字画像や表画像に対応するベクタ画像データを生成することができる。つまり、文字画像であれば、それに対応するベクタ画像データ(文字コード)を生成することができるし、表画像であれば、それに対応するベクタ画像データ(表を構成する罫線を示すベクタデータ)を生成することができる。
【0087】
次に、ラスタ/ベクタ変換部14の処理フローについて、図7を用いて説明する。
【0088】
図7は本発明の実施形態1のラスタ/ベクタ変換部の処理フローを示すフローチャートである。
【0089】
(ステップS71 ブロックセレクション(領域分割:BS)処理):
システムメモリ5から転送されてきたベクタ画像データに対し、イメージデータを記述している部分のデータ(例えば、図6のC10〜C75)を抜き出し、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域等の領域(オブジェクト)に分割する。
【0090】
さらに、文字・線画領域については、主に文字を含む文字領域と、主に表、図形等を含む線画領域とに分割し、線画領域は表領域と図形領域に分割する。
【0091】
尚、実施形態1では、処理対象中の画像の連結画素を検知し、その連結画素の外接矩形領域の形状・サイズ・画素密度等の特徴量を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【0092】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック(文字領域矩形ブロック)にセグメント化し、線画領域では、表、図形等の個々のオブジェクト(表領域矩形ブロック、線画領域矩形ブロック)ごとに矩形ブロックにセグメント化する。
【0093】
ハーフトーンの写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。これらの矩形ブロックの情報を「領域分割情報」という。
【0094】
ブロックセレクション処理では、このようにして生成された矩形ブロックのそれぞれについて、図8に示す属性等のブロック情報を生成する。
【0095】
図8において、ブロック情報には、各ブロックの属性、位置の座標X、座標Y、幅W、高さHが含まれる。属性は1〜5の数値で与えられ、1は文字領域矩形ブロック、2は図面領域矩形ブロック、3は表領域矩形ブロック、4は線画領域矩形ブロック、5は写真領域矩形ブロックを示す。座標X、座標Yは入力画像における各矩形ブロックの始点のX、Y座標(左上角の座標)である。幅W、高さHは矩形ブロックのX座標方向の幅、Y座標方向の高さである。
【0096】
(ステップS72 文字領域判定処理):
ステップS71で分割された各ブロックが文字領域であるか否かを判定する。処理対象のブロックが文字領域である場合(ステップS72でYES)、ステップS73に進み、パターンマッチングの一手法を用いて文字認識を行い、対応する文字コード(文字認識結果)を生成する。一方、処理対象のブロックが文字領域でない場合(ステップS72でNO)、ステップS78に進む。
【0097】
(ステップS73 文字認識結果生成処理):
文字領域に対し、横書き、縦書きの判定(組み方向判定)を行うために、領域内で画素値に対する水平・垂直射影を取る。次に、水平・垂直射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定する。
【0098】
水平・垂直射影の分散評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。また、前述の水平・垂直射影を利用して、同時に文字のサイズも検出することが可能である。
【0099】
切り出された各文字画像について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。観測特徴ベクトルの抽出には、種々の公知の抽出方法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【0100】
前述の抽出方法にて得られた観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。そして、この算出された距離を評価して、最も距離の近い字種を、文字画像に対する文字認識結果として生成する。
【0101】
(ステップS74 類似度判定処理):
次に、距離の評価において、最短距離が所定値以上であるか否かで類似度が高いか否かを判定する。最短距離が所定値以上である場合(ステップS74でNO)、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで、最短距離が所定値以上である場合は、前述の認識結果を採用せず、ステップS77に進む。一方、最短距離が所定値未満である場合(ステップS74でYES)、ステップS73の認識結果を採用して、ステップS75に進む。
【0102】
(ステップS75 フォント認識処理):
文字認識の際に用いる、字種数分の辞書特徴ベクトルを、文字形状種、即ち、フォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォント(フォント情報)を認識する。
【0103】
(ステップS76 文字ベクトルデータ変換処理):
文字認識結果生成処理及びフォント認識処理によって得られた文字コード及びフォント情報各々にあらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。尚、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記憶する。
【0104】
(ステップS77 アウトラインベクトルデータ変換処理):
文字画像を一般的な線画と同様に扱い、その文字画像をアウトライン化する。即ち、誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【0105】
以上の処理により、文字領域に属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換できる。
【0106】
(ステップS78 写真領域判定処理)
ステップS72で、文字領域でないと判定されたブロックに対し、写真領域であるか否かを判定する。写真領域でない場合(ステップS78でNO)、ステップS79に進み、文字領域とは異なるベクトル化を行う。一方、写真領域である場合(ステップS78でYES)、写真領域については、ベクトル化を実行せず、イメージデータのまま出力し終了する。
【0107】
(ステップS79 文字領域以外の領域のベクトル化処理(輪郭ベクトルデータ変換処理))
ステップS78で判定される文字領域及び写真領域以外の領域、即ち、図面領域、線画領域、表領域等の領域と判断されたときは、ブロック内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【0108】
文字領域以外の領域のベクトル化においては、まず、線画等を直線および/または曲線の組み合わせとして表現するために、曲線を複数の区間(画素列)に区切る「角」を検出する。角とは曲率が極大となる点であり、図9の曲線上の画素Piが角か否かの判断は以下のように行う。
【0109】
即ち、Piを起点とし、曲線に沿ってPiから両方向に所定画素(k個とする。)ずつ離れた画素Pi−k、Pi+kを線分Lで結ぶ。画素Pi−k、Pi+k間の距離をd1、線分Lと画素Piとの距離をd2、曲線の画素Pi−k、Pi+k間の弧の長さをAとするとき、d2が極大となるとき、あるいは比(d1/A)が閾値以下となるときに画素Piを角と判断する。
【0110】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は、最小二乗法等により実行し、曲線への近似は3次スプライン関数などを用いる。画素列を分割する角の画素は、近似直線あるいは近似直線における、始端または終端となる。
【0111】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判定し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【0112】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記憶する。
【0113】
図10に示すように、ある注目区間で外輪郭PRjと、内輪郭PRj+1あるいは別の外輪郭が近接している場合、2個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。
【0114】
例えば、輪郭Pj+1の各画素Piから輪郭PRj上で最短距離となる画素Qiまでの距離PiQiを算出し、PQiのばらつきがわずかである場合には、注目区間を画素Pi、Qiの中点Miの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離PiQiの平均値とする。
【0115】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【0116】
ステップS76、ステップS77及びステップS79で各領域毎の処理が終了すると、図6のラスタ画像データに対するベクタ変換後のベクタ画像データは、図5に示すベクタ画像データと同様の記述からなる構成となり、そのデータ容量を低減しつつ、また画質の劣化を防止することができる。
【0117】
以上説明したように、実施形態1によれば、入力されたベクタ画像データ中に含まれるラスタ画像データ表現(例えば、画像領域中の文字や線画部分)をベクタ変換して、そのデータ量を低減することで、ラスタ画像データ表現を含むベクタ画像データとして受信した画像データを管理するためのシステム・リソースを効率的に使用することができる。
【0118】
[実施形態2]
実施形態1においては、例えば、外部機器上の画像処理アプリケーションによって生成される様々なデータ形式(データ構成)の画像データを、ネットワーク経由でMFPが受信した後に、その内容に基づいて、ラスタ/ベクタ変換処理によるデータ変換を実行していたが、これに限定されない。
【0119】
例えば、ネットワークのトラフィックを軽減するという観点からは、MFPとのインターフェースとなるPC等の端末(外部機器)上のプリンタドライバ内に、ラスタ/ベクタ変換部14に対応するラスタ/ベクタ変換部を搭載しても構わない。
【0120】
つまり、MFPへの送信対象となる画像データの内容に基づいて、外部機器上で、その画像データに対してラスタ/ベクタ変換処理を実行した上で、得られるベクタ画像データをMFPに送信する。
【0121】
これにより、ネットワークを介する外部機器とMFP間でのデータ転送においては、ベクタ画像データによるデータ転送となり、ラスタ画像データの転送に比べて、ネットワークのトラフィックを低減することができる。
【0122】
このような場合の構成例について、図11を用いて説明する。
【0123】
[MFP装置概要]
図11は本発明の実施形態2の画像処理システムの構成を示すブロック図である。
【0124】
尚、図11において、コントローラ1101内あるいはそれに接続される、各種構成要素1102〜1112及び1115〜1117は、それぞれ実施形態1の図1のコントローラ1内あるいはそれに接続される、各種構成要素2〜12及び15〜17に対応するのでその詳細については省略する。
【0125】
図11において、MFP1000が接続するネットワーク1112の先には、PC1117が接続されている。PC1117上には、PC1117のOSプログラム上で動作するアプリケーション1118、プリンタドライバ1119が含まれている。
【0126】
プリンタドライバ1119には、実施形態1のラスタ/ベクタ変換部14に対応するラスタ/ベクタ変換部1120を備えられている。そして、アプリケーション1118で作成された画像データは、PC1117内部の標準的なグラフィックインターフェースに変換され、プリンタドライバ1119に転送される。プリンタドライバ1119は受信した画像データを解析し、ラスタ/ベクタ変換部1120で、アプリケーション1118から受信した画像データ中のラスタ画像データ部分のベクタ画像データへの変換を行った後、ネットワーク1112へ出力する。
【0127】
以上説明したように、実施形態2によれば、MFP1000に接続される外部機器に組み込まれたドライバ部で、ラスタ/ベクタ変換部を実現することで、外部機器とMFPを接続するネットワーク間で転送される画像データのデータサイズを低減することができる。
【0128】
これにより、外部機器とMFPからなるシステム全体のシステム・リソースを効率的に使用することができる。
【0129】
また、MFP側では、外部機器からネットワークを介して画像データを受信する場合には、常に、最適なベクタ変換処理がなされたベクタ画像データを受信することができるので、MFP内のシステム・リソースを効率的に使用することができる。
【0130】
[実施形態3]
実施形態1や2では、処理対象の画像データ中のラスタ画像データ部分は必ずベクタ画像データに変換されていたが、その処理対象の画像データの生成元アプリケーションによっては、出力先となる出力装置(例えば、プリンタ等)に最適な生のラスタ画像を生成し、それをMFPに転送している場合もある。
【0131】
このような場合は、ラスタ画像データをベクタ変換してベクタ画像データを生成しても、最終的にそのベクタ画像データを画像データ展開部でラスタ画像データに戻した時には、変換前のオリジナルラスタ画像データと、そのデータ値が異なる可能性がある。
【0132】
そのため、ユーザがこのような処理内容を希望しない場合、あるいはオリジナルのラスタ画像データと画像データ展開部による展開後のラスタ画像データ間でのデータ値が異なる可能性がある場合には、ベクタ変換を実行するベクタ変換モードに加えて、データ量が多くてもオリジナルのラスタ画像データが出力できるモード(ベクタ変換禁止モード)を設けて、用途に応じて、各モードを切り替える構成にしても良い。
【0133】
モードの切替は、実施形態1であれば、例えば、操作部10からの操作により、モード切替を実現する。また、実施形態2であれば、例えば、PC上に表示されるプリンタドライバの設定画面に対する操作により、モード切替を実現する。
【0134】
以上説明したように、実施形態3によれば、ラスタ画像データをベクタ画像データに変換するか否かを、システムの操作者や外部機器の操作者が任意に指定することができるので、ユーザが意図する、より好適な画像出力環境を提供することができる。
【0135】
[実施形態4]
実施形態1では、ラスタ/ベクタ変換部は、入力されたラスタ画像データに対して、ラスタ/ベクタ変換処理によるデータ変換を実行していたが、これに限定されない。
【0136】
実施形態4では、例えば、画像データ展開部にラスタ/ベクタ変換部を接続することで、レンダリング時に一時的にラスタ化されたラスタ画像データに対し、ラスタ/ベクタ変換を実行することにより、処理データ量を低減させる構成について説明する。
【0137】
[MFP装置概要]
図12は本発明の実施形態4の画像処理システムの構成を示すブロック図である。
【0138】
尚、図12において、コントローラ1101内あるいはそれに接続される、各種構成要素1102〜1112及び1114〜1117は、それぞれ実施形態1の図1のコントローラ1内あるいはそれに接続される、各種構成要素2〜12及び14〜17に対応するのでその詳細については省略する。
【0139】
実施形態1と実施形態4の異なる点は、実施形態1では、ラスタ/ベクタ変換部14がシステムバスブリッジ2に接続されているのに対し、実施形態4では、対応するラスタ/ベクタ変換部1214が画像データ展開部1218に接続されている点である。
【0140】
尚、実施形態4の構成は、ネットワークからベクタ画像データを受信した場合を想定した構成となっているが、実施形態1のように、ラスタ画像データ表現を含むベクタ画像データを受信した場合を想定して、実施形態1の図1の構成と、実施形態4の図12の構成を組み合わせ構成であっても良いことは言うまでもない。この場合、図1のラスタ/ベクタ変換部14と、図12のラスタ/ベクタ変換部1214の両方がMFP内で存在することになる。
【0141】
[従来のフォールバック]
ネットワークから転送されてきたベクタ画像データの出力フローは、実施形態1で説明した通りであるが、その中でDLデータと呼ばれる中間言語生成時に発生するフォールバックと呼ばれる処理について説明する。
【0142】
DLデータは、オブジェクトを別々のプレーンに書き込む、いわゆる、レイヤ構造で生成される。図4のドキュメントデータを、DLデータで表現した時の概念について、図13を用いて説明する。
【0143】
図13は従来のフォールバック処理を説明するための図である。
【0144】
1300はネットワーク1212から受信したベクタ画像データである。ベクタ画像データ1300は、CPU1203によってその内容が解析され、オブジェクト1309〜1312が認識され、各オブジェクトのDLデータはシステムメモリ1205内に確保されたそれぞれ別のレイヤに格納される。
【0145】
通常、背景用のレイヤが用意されるので、背景はレイヤ1301に、オブジェクト1309〜1311はそれぞれレイヤ1302〜1304に格納される。ベクタ画像データ1300は背景を持たないので、この場合のレイヤ1301は空である。
【0146】
このDLデータ生成を行うときに、システムの制約(メモリサイズや制御可能なレイヤ数)によりレイヤが4つまでしか持てない場合は、オブジェクト1312のDLデータ生成ができない。このような状態になったときは、オブジェクト1301〜1304を1ページの画像として画像データ展開部1218に転送し、一旦、ラスタ展開を行った後、背景画像としてレイヤ1301に書き戻す。
【0147】
ここで、ラスタ展開すると、画像データ量として必要メモリ容量が増加してしまうので、システムメモリ5のレイヤ1の領域に収まるように、JPEG等の画像圧縮形式を用いてデータ圧縮を行ってから格納する。このような処理を、フォールバック処理と呼ぶ。フォールバック処理を行うと、レイヤ1302〜1304は空きレイヤ1305〜1308となる。
【0148】
このように、フォールバック処理が行われた後には、空きレイヤ1305〜1308が得られるので、ベクタ画像データ1300の未処理(未格納)の残ったオブジェクト1312をレイヤ1306に格納することが可能になる。
【0149】
図13のレイヤ1305〜1308は、フォールバック処理後にオブジェクトが格納された状態を示している。
【0150】
[ベクタ変換を含むフォールバック処理]
従来のフォールバック処理では、文字や関数で記述されているオブジェクトがラスタ化され、さらには必要に応じてデータが圧縮される。そのため、オブジェクト中の図形の滑らかさや文字の細線部の画質が損なわれてしまう。また、データ量が大きいと圧縮率を上げて何回も圧縮処理をかけ直すため、パフォーマンスも悪くなる。
【0151】
そこで、実施形態4では、このような事態を避けるため、ベクタ変換を含むフォールバック処理を実行する。これについて、図14を用いて説明する。
【0152】
図14は本発明は実施形態4のラスタ/ベクタ変換処理を含むフォールバック処理を説明するための図である。
【0153】
入力画像は、図13と同様、ベクタ画像データ1300であり、それに基づいて生成された各オブジェクトのDLデータの一部がレイヤ1401〜1404にマッピングされるところまでは、従来のフォールバック処理と同じである。
【0154】
従来のフォールバック処理では、オブジェクト1312を格納するために、フォールバック処理で、そのオブジェクトをラスタ画像データに変換し、圧縮処理してラスタ画像データで保存する構成としている。
【0155】
これに対し、実施形態4では、画像データ展開部1218からラスタ/ベクタ変換部1214にラスタ展開したラスタ画像データの一部(例えば、同一の属性(ブロック情報)を有するオブジェクト)を転送して、その展開されたラスタ画像データを再度ベクタ変換する。
【0156】
図14の例の場合は、レイヤ3及びレイヤ4に格納されている、図形の属性を有するオブジェクト1310及び1311をラスタ展開後に再度ベクタ変換する。
【0157】
その結果、フォールバック処理後には、レイヤ1404が空きレイヤとなり、この空きレイヤにオブジェクト1312のDLデータを格納することが可能となる。
【0158】
これにより、実施形態4のフォールバック処理後には、オブジェクト1312はレイヤ1408に格納され、ベクタ画像データ1300中の各オブジェクトのDLデータ生成を全て実行することができる。
【0159】
特に、実施形態4では、属性が文字のオブジェクト1309はそのまま文字のオブジェクトに対応するDLデータとして、1つのレイヤに格納される。また、属性が図形のオブジェクトであるオブジェクト1310と1311が合成された図形のオブジェクトのDLデータとして、1つのレイヤの格納される。そのため、データ量の増加を招くことなく、レイヤに格納するDLデータの画質の劣化も防止することができる。
【0160】
別の例について説明する。
【0161】
図15は、点線で囲まれた矩形の図形を有するベクタ画像データ1500のフォールバック処理を説明するための図である。
【0162】
全体的な処理の流れは、図14と同じであるが、ベクタ画像データ1500を生成する生成元アプリケーションが矩形であるオブジェクト1509を構成する各点線を1つのオブジェクトとして記述している場合は、従来のフォールバック処理では、各オブジェクトのDLデータの一部だけがレイヤ1502〜1504にマッピングされることになる。
【0163】
これに対し、実施形態4では、同一の属性を有するオブジェクトのDLデータについては、同一のレイヤに格納するフォールバック処理を実行するので、レイヤ1501〜1504の状態に対し、レイヤ1505〜1508の構成で、オブジェクト1509のDLデータを生成して格納することができる。これにより、オブジェクトの画質を損ねることなく、それを管理するためのシステム・リソースを劇的に低減することができる。
【0164】
以上説明したように、実施形態4によれば、MFP内で、ベクタ画像データから中間データの生成途中で、その中間データを一旦ラスタ画像データに変換し、そのラスタ画像データをもとに、再度、ベクタ画像データに生成し直すことで、中間データを管理するためのシステム・リソースの制約を緩和することができる。
【0165】
[実施形態5]
ベクタ画像データを生成する生成元アプリケーションから転送されるベクタ画像データは、アプリケーションまたはアプリケーションの操作者が、その画像データの種別を認識できる場合が多い。そのような場合は、実施形態1〜4において、ラスタ/ベクタ変換の実行の是非を、アプリケーション上で指示する構成にすることも可能である。
【0166】
例えば、文書作成用のアプリケーションに、デジタルカメラで撮影した風景画像データを貼り付けて生成した画像データの場合は、貼り付けた風景画像データに対してラスタ/ベクタ変換を実行しても、写真領域としてラスタ画像のまま残る可能性が高い。
【0167】
このような場合は、アプリケーション上でラスタ/ベクタ変換を実行しない(禁止する)情報をベクタ画像データ中に埋め込み出力するか、あるいはアプリケーションとシステム間でネゴシエーションするかして、予め処理対象のベクタ画像データに対してラスタ/ベクタ変換を実行しないように設定することが可能となる。
【0168】
逆に、画像編集用アプリケーションの中に、サフィックスとして文字を埋め込んだ場合には、アプリケーション側が、それを画像として貼り付ける場合などもある。そのような場合は、貼り付けたサフィックスに対し、その領域にのみラスタ/ベクタ変換を実行するために、アプリケーション側から処理対象の領域を明示的に指定する構成とすることも可能である。
【0169】
尚、本発明に係る画像処理システムは、図1、図11、図12に示す画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等の種々機器を用いて実現することが可能である。
【0170】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0171】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【0172】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0173】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【0174】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0175】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0176】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0177】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0178】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0179】
【図1】本発明の実施形態1の画像処理システムを構成するMFPのコントローラの詳細を示すブロック図である。
【図2】従来の画像処理システムの構成を示す図である。
【図3】本発明の実施形態1の画像処理システムにおけるネットワークから転送されてきたデータをプリントする際の処理フローを示す図である。
【図4】本発明の実施形態1のネットワークから転送されてくるドキュメントデータの一例を示している。
【図5】本発明の実施形態1のベクタ画像データの記述例を示す図である。
【図6】本発明の実施形態1のラスタ画像データの記述を含むベクタ画像データの例を示す図である。
【図7】本発明の実施形態1のラスタ/ベクタ変換部の処理フローを示すフローチャートである。
【図8】本発明の実施形態1のブロック情報の一例を示す図である。
【図9】本発明の実施形態1のベクトル化を説明するための図である。
【図10】本発明の実施形態1のベクトル化を説明するための図である。
【図11】本発明の実施形態2の画像処理システムの構成を示すブロック図である。
【図12】本発明の実施形態4の画像処理システムの構成を示すブロック図である。
【図13】従来のフォールバック処理を説明するための図である。
【図14】本発明は実施形態4のラスタ/ベクタ変換処理を含むフォールバック処理を説明するための図である。
【図15】本発明は実施形態4のラスタ/ベクタ変換処理を含むフォールバック処理を説明するための図である。
【符号の説明】
【0180】
1 コントローラ
2 システムバスブリッジ
3 CPU
4 メモリコントローラ
5 システムメモリ
6 汎用バス
7 ハードディスクコントローラ
8 ハードディスクドライブ
9 操作部コントローラ
10 操作部
11 ネットワーク I/F
12 ネットワーク
14 ラスタ/ベクタ変換部
15 画像処理部
16 スキャナ
17 プリンタ

【特許請求の範囲】
【請求項1】
入力された画像データに対して画像処理を施して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換手段と、
前記変換手段で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記画像処理装置は、前記生成手段が生成された前記第1ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第1ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段とを更に備える画像処理システムである
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
当該画像処理装置とネットワークを介して接続される、当該画像処理装置から出力される画像データを入力して出力する画像処理システムを更に備え、
前記画像処理装置は、前記画像処理システムへの画像データの出力を制御するドライバ手段である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項4】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換手段と、
前記第1変換手段で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項5】
前記生成手段で生成した前記第1ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第1ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段と
を更に備えることを特徴とする請求項1または4に記載の画像処理装置。
【請求項6】
前記生成手段で生成した第1ベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する第2変換手段と、
前記第2変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備えることを特徴とする請求項4に記載の画像処理装置。
【請求項7】
前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
処理対象のベクタ画像データ中に含まれるラスタ画像データ表現部分をベクタ画像データに変換するか否かを指定する指定手段を更に備える
ことを特徴とする請求項1または4に記載の画像処理装置。
【請求項9】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する変換手段と、
前記変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備えることを特徴とする画像処理装置。
【請求項10】
前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する
ことを特徴とする請求項9に記載の画像処理装置。
【請求項11】
入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換工程と、
前記変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項12】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換工程と、
前記第1変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項13】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程と、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程と、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程と、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項14】
入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項15】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から第1ベクタ画像データを入力した場合に、その第1ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第2ベクタ画像データに変換する第1変換工程のプログラムコードと、
前記第1変換工程で変換された第2ベクタ画像データと、前記第1画像データ中の前記ラスタ画像データ表現部分以外の第3ベクタ画像データとを、前記第1ベクタ画像データとして生成する生成工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項16】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程のプログラムコードと、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程のプログラムコードと、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程のプログラムコードと
を備えることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2006−309671(P2006−309671A)
【公開日】平成18年11月9日(2006.11.9)
【国際特許分類】
【出願番号】特願2005−134525(P2005−134525)
【出願日】平成17年5月2日(2005.5.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】