(57)【要約】【課題】  システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供する。【解決手段】  第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する。その判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する。変換された第２ベクタ画像データと、第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、最終的な第１ベクタ画像データとして生成する。【選択図】  図３
2006309671.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに対して画像処理を施して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換手段と、
前記変換手段で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記画像処理装置は、前記生成手段が生成された前記第１ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第１ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段とを更に備える画像処理システムである
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
当該画像処理装置とネットワークを介して接続される、当該画像処理装置から出力される画像データを入力して出力する画像処理システムを更に備え、
前記画像処理装置は、前記画像処理システムへの画像データの出力を制御するドライバ手段である
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換手段と、
前記第１変換手段で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成手段と
を備えることを特徴とする画像処理装置。
【請求項５】
前記生成手段で生成した前記第１ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第１ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段と
を更に備えることを特徴とする請求項１または４に記載の画像処理装置。
【請求項６】
前記生成手段で生成した第１ベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する第２変換手段と、
前記第２変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備えることを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する
ことを特徴とする請求項６に記載の画像処理装置。
【請求項８】
処理対象のベクタ画像データ中に含まれるラスタ画像データ表現部分をベクタ画像データに変換するか否かを指定する指定手段を更に備える
ことを特徴とする請求項１または４に記載の画像処理装置。
【請求項９】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する変換手段と、
前記変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備えることを特徴とする画像処理装置。
【請求項１０】
前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する
ことを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換工程と、
前記変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１２】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換工程と、
前記第１変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１３】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程と、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程と、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程と、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項１４】
入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項１５】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換工程のプログラムコードと、
前記第１変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項１６】
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程のプログラムコードと、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程のプログラムコードと、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データに対して画像処理を施して管理する画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。
【０００３】
この画像データ入出力システムとしては、ＭＦＰ（Multi Function Peripheral）と呼ばれるものがある。
【０００４】
ここで、従来のＭＦＰを制御するコントローラ１００を図２に示す。コントローラ１００は、システムバスブリッジ（ＳＢＢ）１０１により、ＣＰＵ１０２、メモリコントローラ（ＭＣ）１０３、汎用バス１０５、画像処理部１１２、画像データ展開部（ＲＩＰ（Raster Image Processor））１１５が接続されている。
【０００５】
汎用バス１０５には、画像データを蓄積するためのＨＤＤ（ハードディスクドライブ）１０７を制御するハードディスクコントローラ（ＨＤＤＣｏｎｔ）１０６及び操作部（例えば、ＬＣＤ等から構成されるタッチパネル）１０９を制御する操作部コントローラ１０８、ＭＦＰが接続されているネットワーク１１１を介して、外部機器間との画像データの転送を行うインターフェースになるネットワーク  Ｉ／Ｆ１１０が接続されている。この画像データとしては、ページベクタ形式（ＰＤＬ（ページ記述言語）、ＰＤＦ、ＳＶＧ等）の画像データがある。
【０００６】
ＨＤＤＣｏｎｔ１０６には、ＨＤＤ（ハードディスクドライブ）１０７が接続されており、画像データの記憶媒体として使われる。同様に、ＭＣ１０３には、システムメモリ（Ｍｅｍｏｒｙ）１０４が接続されており、画像データを一時記憶するための媒体として使われる。システムメモリ１０４には、一般的には、ＤＩＭＭが用いられる。
【０００７】
画像処理部１１２には、スキャナ１１３及びプリンタ１１４が接続されている。スキャナ１１３から入力された画像データは、画像処理部１１２によって所定の画像処理が実施された後、コントローラ１００へ入力される。また、コントローラ１００内に記憶されている画像データは、画像処理部１１２によって所定の画像処理が実施され、プリンタ１１２へ出力される。
【０００８】
コントローラ１００でハンドリングされる画像データは、ネットワーク経由での外部機器との入出力はページベクタ形式（ＰＤＬやＰＤＦ、ＳＶＧ等）、スキャナ１１３やプリンタ１１４との入出力はラスタデータ形式でインターフェースされる。外部機器から入力されたページベクタ形式の画像データはＣＰＵ１０２により、プリミティブなオブジェクトにインタプリットされ、ＤＬ（ＤｉｓｐｌａｙＬｉｓｔ）と呼ばれる中間データに変換されてから、ＲＩＰ１１５に入力される。
【０００９】
これらの画像データはコントローラ１００の内部のシステムメモリ１０４に一旦記憶されるため、システムメモリ１０４上には、ラスタデータ、ページベクタデータ（ＰＤＬ等）、ＤＬデータ等の多種類のデータが存在する。
【００１０】
ＨＤＤ１０７には、画像データとしてスキャナ１１３から入力された画像データとＲＩＰ１１５でレンダリングされたラスタ画像データが記憶される。
【００１１】
このＭＦＰが扱う画像データの中でも、ビットマップ画像データはデータサイズが大きい。そのため、システムメモリ１０４のメモリサイズや、汎用バス１０５及びＨＤＤＣｏｎｔ１０６−ＨＤＤ１０７間のバンド幅等のシステム・リソースを多く消費する。ユーザから要求されるシステムの処理速度は、年々高いものとなっており、それを満足するためには必要なシステム・リソースが肥大化してしまう。
【００１２】
そこで、画像処理部１１２やＲＩＰ１１５の中に画像圧縮伸張器を用意し、スキャナ１１３から入力されたラスタ画像データやＰＤＬデータ中に記述されているビットマップ画像データを、ＪＰＥＧ等の画像圧縮処理を実施して、システム・リソースにかかる負担を低減するようなシステムが考えられる（例えば、特許文献１）。
【００１３】
一方、最近はユーザの出力画像の画質要求がますます高くなり、その解決策の１つとして、画像データに対する高解像度化（高画質化）が促進されている。これに対し、システムリソースにかかる負担コストを抑制させるための画像圧縮処理は、画質劣化については不可避である。そのため、画像圧縮処理による圧縮率を向上させることと、高画質化は、通常、トレードオフの関係にある。そこで、この２つの目的を好適に両立させることが必要となっている。
【００１４】
スキャン画像（ラスタ画像）からベクタ画像（ベクタ形式の画像データ）に変換するベクタ変換は、この問題点を解消する１つの方法である。例えば、図２の従来例の画像処理部１１２に、ラスタ画像／ベクタ画像変換処理部を実装し、ラスタ画像をベクタ画像に変換する。
【００１５】
このベクタ変換により、スキャナ１１３で読み取ったラスタ画像も、文字部分は文字コードやアウトライン化されたり、細線やイラスト等は、その直線、曲線を関数化されたり、表等は表データとして処理されるようになる。従って、文字や細線再現で高画質化することが可能になる。
【００１６】
また、画像データがコード化や関数化されるため、保存時にはファイル容量は非常に小さくなる。データ送信機能時においても、その容量が小さいために送信にかかる時間が短縮できる。加えて、システム・リソースに対する負担も低減される。
【特許文献１】特開平１１−２２４３３１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上述の画像処理部１１２にラスタ画像／ベクタ画像変換処理部を実装したシステムでは、スキャン画像に対するデータ量の低減や高画質化に寄与することはできるが、ネットワーク１１１から受信する画像データに対しては寄与しない。通常、ネットワーク１１１から受信する画像データは、ベクタ形式の画像データであるが、その画像データ中には、別途スキャナで読み取った画像を、例えば、パーソナルコンピュータ等の端末上の画像処理アプリケーションで貼り付けたデータ等も含まれている。こういう類の画像は、ベクタ形式の画像データといっても、その実体は文字コードに変換されたりや関数化されているわけではなく、ラスタ画像と同じである。
【００１８】
また、図形描画用アプリケーションでも各オブジェクト（文字、イメージ等）をビットマップ（ラスタ）画像化して出力するタイプのものも存在する。これらの画像に対しては、スキャン画像と同様にシステム・リソースを低減できる方法が課題となってくる。
【００１９】
本発明は上記の課題を解決するためになされたものであり、システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、  入力された画像データに対して画像処理を施して管理する画像処理装置であって、
画像データを入力する入力手段と、
前記入力手段から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換手段と、
前記変換手段で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成手段と
を備える。
【００２１】
また、好ましくは、前記画像処理装置は、前記生成手段が生成された前記第１ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第１ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段とを更に備える画像処理システムである。
【００２２】
また、好ましくは、当該画像処理装置とネットワークを介して接続される、当該画像処理装置から出力される画像データを入力して出力する画像処理システムを更に備え、
前記画像処理装置は、前記画像処理システムへの画像データの出力を制御するドライバ手段である。
【００２３】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換手段と、
前記第１変換手段で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成手段と
を備える。
【００２４】
また、好ましくは、前記生成手段で生成した前記第１ベクタ画像データを記憶する記憶手段と、
前記記憶手段に記憶された第１ベクタ画像データをラスタ画像データに展開する展開手段と、
前記展開手段で展開されたラスタ画像データを、画像出力部に出力する出力手段と
を更に備える。
【００２５】
また、好ましくは、前記生成手段で生成した第１ベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する第２変換手段と、
前記第２変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備える。
【００２６】
また、好ましくは、前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する。
【００２７】
また、好ましくは、処理対象のベクタ画像データ中に含まれるラスタ画像データ表現部分をベクタ画像データに変換するか否かを指定する指定手段を更に備える。
【００２８】
上記の目的を達成するための本発明による画像処理装置は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力手段と、
前記入力手段から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成手段と、
前記中間データ生成手段で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開手段と、
前記展開手段で展開したラスタ画像データをベクタ画像データに変換する変換手段と、
前記変換手段によって得られるベクタ画像データの中間データを、前記中間データ生成手段を用いて生成する制御手段と
を備える。
【００２９】
また、好ましくは、前記展開手段は、前記記憶部に記憶されている生成済の中間データの内、同一の属性を有する中間データ全体をラスタ画像データに展開する。
【００３０】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
画像データを入力する入力工程と、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換工程と、
前記変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程と
を備える。
【００３１】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程と、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換工程と、
前記第１変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程と
を備える。
【００３２】
上記の目的を達成するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御方法であって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程と、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程と、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程と、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程と、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程と
を備える。
【００３３】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
画像データを入力する入力工程のプログラムコードと、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程のプログラムコードと
を備える。
【００３４】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から第１ベクタ画像データを入力した場合に、その第１ベクタ画像データ中にラスタ画像データ表現部分が含まれているか否かを判定する判定工程のプログラムコードと、
前記判定工程の判定結果に基づいて、前記ラスタ画像データ表現部分を第２ベクタ画像データに変換する第１変換工程のプログラムコードと、
前記第１変換工程で変換された第２ベクタ画像データと、前記第１画像データ中の前記ラスタ画像データ表現部分以外の第３ベクタ画像データとを、前記第１ベクタ画像データとして生成する生成工程のプログラムコードと
を備える。
【００３５】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
外部機器よりネットワークを介して入力された画像データに対して画像処理を施して管理する画像処理装置の制御を実現するプログラムであって、
前記ネットワークを介して、前記外部機器より画像データを入力する入力工程のプログラムコードと、
前記入力工程から入力したベクタ画像データを構成するオブジェクト毎に、ラスタ画像データを生成するための中間データを生成する中間データ生成工程のプログラムコードと、
前記中間データ生成工程で生成する中間データを一時的に記憶部に記憶するための記憶領域を確保できない場合、前記記憶部に記憶されている生成済の中間データをラスタ画像データに展開する展開工程のプログラムコードと、
前記展開工程で展開したラスタ画像データをベクタ画像データに変換する変換工程のプログラムコードと、
前記変換工程によって得られるベクタ画像データの中間データを、前記中間データ生成工程を用いて生成する制御工程のプログラムコードと
を備える。
【発明の効果】
【００３６】
本発明によれば、システム全体のシステム・リソースの制約を緩和することができる画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００３８】
［実施形態１］ 
［ＭＦＰ装置概要］
図１は本発明の実施形態１の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【００３９】
ＭＦＰ１０００を制御するコントローラ１は、システムバスブリッジ（ＳＢＢ）２により、ＣＰＵ３、メモリコントローラ（ＭＣ）４、汎用バス６、ラスタ／ベクタ変換部１４、画像処理部１５、画像データ展開部（ＲＩＰ）１８が接続されている。
【００４０】
ＭＣ４には、システムメモリ（Ｍｅｍｏｒｙ）５が接続されており、画像データを一時記憶するための媒体として使われる。
【００４１】
汎用バス６には、画像データを蓄積するためのＨＤＤ８を制御するハードディスクコントローラ（ＨＤＤＣｏｎｔ）７及び操作部（例えば、ＬＣＤ等から構成されるタッチパネル）１０を制御する操作部コントローラ９及び、ＭＦＰ１０００が接続されているネットワーク１２を介して、外部機器間との画像データの転送を行うインターフェースになるネットワーク  Ｉ／Ｆ１１が接続されている。
【００４２】
尚、操作部１０では、後述する実施形態１の各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。
【００４３】
画像処理部１５には、スキャナ１６及びプリンタ１７が接続されている。コントローラ１でハンドリングされる画像データは、外部機器との入出力はベクタ（ＰＤＬ、ＰＤＦ、ＳＶＧなど）形式の画像データ（以下、ベクタ画像データとも言う）、スキャナ１６やプリンタ１７との入出力はラスタ形式の画像データ（以下、ラスタ画像データとも言う）でインターフェースされる。
【００４４】
［プリント時のデータフロー］
図３は本発明の実施形態１の画像処理システムにおけるネットワークから転送されてきたデータをプリントする際の処理フローを示す図である。
【００４５】
尚、この処理フローは、ＣＰＵ３の制御の下、ＭＦＰを構成する各種構成要素を協調動作させることで実現される。
【００４６】
（Ｓ３１）：ネットワーク１２に接続された外部機器より、汎用バス６に接続されたネットワーク  Ｉ／Ｆ１１がベクタ画像データを受信する。そして、ＳＢＢ２の先に接続されたＭＣ４を介してシステムメモリ５に転送する。
【００４７】
（Ｓ３２）：システムメモリ５に記憶されたベクタ画像データは、ＭＣ４により読み出され、ＳＢＢ２を介してラスタ／ベクタ変換部１４に転送される。
【００４８】
ラスタベクタ変換部１４では、ネットワーク１２から受信したベクタ画像データにラスタ画像データ表現が含まれるか否かを判定する。
【００４９】
ラスタ画像データ表現が含まれる場合は、ラスタ画像データ表現をベクタ画像データに変換するベクタ変換処理を実行して、変換されたベクタデータをＳＢＢ２、ＭＣ４を介してシステムメモリ５に書き戻す。
【００５０】
一方、ラスタ画像データ表現が含まれない場合は、そのままのベクタ画像データをそれぞれＳＢＢ２、ＭＣ４を介してシステムメモリ５に書き戻す。
【００５１】
このラスタ／ベクタ変換部１４による処理を実行することにより、ネットワーク１２上から受信した画像データのデータ量を削減することができる。また、その画像データには文字コード化、関数化等が実行されるので、その画質の低下を防止することができる。このラスタ／ベクタ変換処理の詳細については後述する。
【００５２】
（Ｓ３３）：システムメモリ５に書き戻されたベクタ画像データは、ＳＢＢ２を介して汎用バス６に接続されたＨＤＤＣｏｎｔ７によってＨＤＤ８に記憶される。ＨＤＤ８にベクタ画像データを記憶することにより、ページ順を変えて出力したり、ＭＦＰ１０００内に保存文書データとして記憶したりすることができる。
【００５３】
ＨＤＤ８に記憶されたベクタ画像データは、プリンタ１７内のＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣｏｎｔ７により再び読み出され、ＳＢＢ２、ＭＣ４を経由してシステムメモリ５に一時的に記憶される。
【００５４】
読み取ったベクタ画像データをＨＤＤ８からダイレクトにプリンタ１７へ出力する場合、ＨＤＤ８のアクセススピードが律則したり、汎用バス６のバスの混雑度合によりプリンタ１７に同期して出力することが保証できなくなる。そのため、プリンタ１７に同期してデータ転送を行う前に、システムメモリ５に１ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。
【００５５】
（Ｓ３４）：システムメモリ５に記憶されたベクタ画像データは、ＳＢＢ２、ＭＣ４を介してＣＰＵ３によって読み出され、ベクタ画像データの各オブジェクトを記述するコマンドの解析がなされる。解析の結果、ベクタ画像データは、ＤＬ（ディスプレイリスト）データと呼ばれる描画オブジェクトを表す中間データに変換されシステムメモリ５に書き戻される。
【００５６】
ここで、ベクタ画像データ中にラスタ画像データ表現が存在すると、中間データに変換されず、ラスタ画像データのままシステムメモリ５に書き戻されるため、大きなメモリ容量が必要となる。しかしながら、本発明では、Ｓ３２で、ラスタ画像データを最小限に押さえられるようになっているため、従来のシステムよりも、メモリ容量の消費量を少なくすることができる。
【００５７】
（Ｓ３５）：システムメモリ５にスプールされたＤＬデータはプリンタ１７から送られてくる起動信号により、ＭＣ４、ＳＢＢ２を介し、ＲＩＰ１８に送信される。そして、ＲＩＰ１８で、そのＤＬデータはレンダリング処理されて、ラスタ画像データに展開され、ＳＢＢ２経由で画像処理部１５へ転送される。
【００５８】
（Ｓ３６）：  ＲＩＰ１８によって生成されたラスタ画像データは、画像処理部１５に転送され、例えば、以下の処理が実行される。
【００５９】
１）プリンタの特性に合わせた出力画像の色や濃度の補正処理
２）画像データを量子化して出力画像の階調変換を行う中間調処理
３）プリンタＩ／Ｆクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部１５で、１）〜３）の画像処理が実行されたラスタ画像データは、プリンタ１７に転送され、記録媒体上に印刷され出力される。
【００６０】
［ラスタ／ベクタ変換部］
次に、ラスタ／ベクタ変換部１４の処理の詳細について説明する。
【００６１】
図４は本発明の実施形態１のネットワークから転送されてくるドキュメントデータの一例を示している。
【００６２】
図４では、ドキュメントデータの短手方向を「Ｘ」方向、長手方向を「Ｙ」方向と定義する。ドキュメントデータ４０１としては、ベクタ画像データ、あるいはラスタ画像データ表現を含むベクタ画像データ、あるいはラスタ画像データのいずれかで構成される可能性がある。
【００６３】
ここで、ドキュメントデータ４０１が、ベクタ画像データである場合、その内容を構成する記述例について、図５を用いて説明する。
【００６４】
図５は本発明の実施形態１のベクタ画像データの記述例を示す図である。
【００６５】
図５において、５０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、５０２は文字の描画命令部分、５０３は図形の描画命令部分を示している。
【００６６】
各描画命令部分の詳細について説明する。
【００６７】
ドキュメント設定命令部分５０１において、Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５は、ドキュメント１部について１ヶ所しか付いていない。
【００６８】
これらドキュメントデータ全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）等がある。
【００６９】
ここで、Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、Ａ４の設定になっている。Ｃ３はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート（ＰＯＲＴ）を示している。
【００７０】
Ｃ４はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータであるのかタイルベクタで構成されるドキュメントデータであるかを示している。この場合には、ページ（ＰＡＧＥ）となっている。Ｃ５はドキュメント設定終了コマンドである。
【００７１】
文字の描画命令部分５０２及び図形の描画命令部分からなるＣ６〜Ｃ２２は、ドキュメントデータを出力するための各種コマンドである。
【００７２】
Ｃ６はページの開始を示すコマンドである。Ｃ７は文字のフォントの種類を選択するためのコマンドであり、この場合には「１」という番号の付けられたフォントセットを選択している。Ｃ８はフォントの大きさを設定するコマンドであり、この場合には「１０ポイント」の大きさを選んでいる。
【００７３】
Ｃ９は文字の色を設定するコマンドであり、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、例えば、０から２５５の２５６段階で量子化されているものとする。この場合は、｛０，０，０｝に設定されている。Ｃ１０は文字を描画する開始位置の座標を示すコマンドである。座標位置（Ｘ，Ｙ）は、ページの左上を原点に指定する。この場合は、ページの｛１０，５｝の位置から文字の描画を開始するように設定されている。Ｃ１１は実際に描画する文字列（ＸＸＸＸ・・・ＹＹ・・・）を示すコマンドである。
【００７４】
Ｃ１２は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。Ｃ１３は図形描画の線の色を指定するコマンドである。Ｃ１４は図形を描画する位置の座標を示すコマンドである。
【００７５】
Ｃ１５は円弧を描画する際の半径を指定するコマンドであり、この場合、「１０」座標単位を示している。Ｃ１６は閉円弧の描画をするコマンドである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。
【００７６】
Ｃ１７〜Ｃ２１は、Ｃ１２〜Ｃ１６までのコマンドと同様に、図形描画の際の面、線の色の指定、位置の指定等のコマンドである。Ｃ２２はページの終了を示すコマンドである。
【００７７】
一方、ドキュメントデータ４０１がラスタ画像データ（ベクタ画像データの記述内容によってラスタ画像データとして扱われる画像データ）の記述を含むベクタ画像データである場合、その内容を構成する記述例について、図６を用いて説明する。
【００７８】
図６は本発明の実施形態１のラスタ画像データの記述を含むベクタ画像データの例を示す図である。
【００７９】
図６において、６０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、６０２はラスタ画像データの描画命令部分を示している。
【００８０】
ここで、ドキュメント設定命令部分６０１は、図５のドキュメント設定命令部分５０１と同様である。
【００８１】
ラスタ画像データの描画命令部分６０２において、Ｃ６〜Ｃ１０６はラスタ画像データを出力するためのコマンドである。
【００８２】
Ｃ６はページの開始を示すコマンドである。Ｃ７はラスタ画像データのタイプを示すコマンドであり、この場合は、ドキュメントデータ４０１が「ＲＧＢ」で表されるラスタ画像データであることを示している。Ｃ８はラスタ画像データの開始位置を示すコマンドである。この場合は、ドキュメントデータ全面がラスタ画像データであるので、原点｛０，０｝を示している。
【００８３】
Ｃ９はラスタ画像データの大きさを示すコマンドであり、ＷＩＤＴＨがＸ方向の画素数、ＨＩＧＨＴがＹ方向の画素数を示している。この場合は、Ｘ方向が１０００画素、Ｙ方向が１０００画素の画素数を持つ画像を示している。
【００８４】
Ｃ１０〜Ｃ７５は、各画素のＲＧＢ値を示すコマンドであり、ラスタ画像データの開始位置から、まず、Ｘ方向に座標を進め、Ｘ方向の最終座標位置まできたら、Ｙ方向の座標を進めるような順序で記述されるデータストリームとなっている。この場合は、まず、Ｒのデータストリームを記述し、Ｒの記述が終了したらＧ、Ｇが終了したらＢというようにラスタ画像データを構成するＲＧＢ面順次走査の記述となっている。もちろん、記述はこの順番に限られるものでなく、座標の走査の方法が異なっても構わないし、画素単位にＲＧＢ値を走査する点順次走査の記述となっても構わない。
【００８５】
図５と図６を比較して明らかなように、ベクタ画像データ中にラスタ画像データを記述すると、その内容を示す全体の記述量が増え、データ容量が大きくなってしまう。そこで、ラスタ／ベクタ変換部１４では、入力されたベクタ画像データ中のラスタ画像データに相当する記述部分のベクタ変換を行う。
【００８６】
例えば、ラスタ画像データに対する記述が、文字画像や表画像である場合には、その文字画像や表画像に対応するベクタ画像データを生成することができる。つまり、文字画像であれば、それに対応するベクタ画像データ（文字コード）を生成することができるし、表画像であれば、それに対応するベクタ画像データ（表を構成する罫線を示すベクタデータ）を生成することができる。
【００８７】
次に、ラスタ／ベクタ変換部１４の処理フローについて、図７を用いて説明する。
【００８８】
図７は本発明の実施形態１のラスタ／ベクタ変換部の処理フローを示すフローチャートである。
【００８９】
（ステップＳ７１  ブロックセレクション（領域分割：ＢＳ）処理）：
システムメモリ５から転送されてきたベクタ画像データに対し、イメージデータを記述している部分のデータ（例えば、図６のＣ１０〜Ｃ７５）を抜き出し、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域等の領域（オブジェクト）に分割する。
【００９０】
さらに、文字・線画領域については、主に文字を含む文字領域と、主に表、図形等を含む線画領域とに分割し、線画領域は表領域と図形領域に分割する。
【００９１】
尚、実施形態１では、処理対象中の画像の連結画素を検知し、その連結画素の外接矩形領域の形状・サイズ・画素密度等の特徴量を用いて、属性毎の領域に分割するものとするが、その他の領域分割手法を用いても構わない。
【００９２】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化し、線画領域では、表、図形等の個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）ごとに矩形ブロックにセグメント化する。
【００９３】
ハーフトーンの写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。これらの矩形ブロックの情報を「領域分割情報」という。
【００９４】
ブロックセレクション処理では、このようにして生成された矩形ブロックのそれぞれについて、図８に示す属性等のブロック情報を生成する。
【００９５】
図８において、ブロック情報には、各ブロックの属性、位置の座標Ｘ、座標Ｙ、幅Ｗ、高さＨが含まれる。属性は１〜５の数値で与えられ、１は文字領域矩形ブロック、２は図面領域矩形ブロック、３は表領域矩形ブロック、４は線画領域矩形ブロック、５は写真領域矩形ブロックを示す。座標Ｘ、座標Ｙは入力画像における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）である。幅Ｗ、高さＨは矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さである。
【００９６】
（ステップＳ７２  文字領域判定処理）：
ステップＳ７１で分割された各ブロックが文字領域であるか否かを判定する。処理対象のブロックが文字領域である場合（ステップＳ７２でＹＥＳ）、ステップＳ７３に進み、パターンマッチングの一手法を用いて文字認識を行い、対応する文字コード（文字認識結果）を生成する。一方、処理対象のブロックが文字領域でない場合（ステップＳ７２でＮＯ）、ステップＳ７８に進む。
【００９７】
（ステップＳ７３  文字認識結果生成処理）：
文字領域に対し、横書き、縦書きの判定（組み方向判定）を行うために、領域内で画素値に対する水平・垂直射影を取る。次に、水平・垂直射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判定する。
【００９８】
水平・垂直射影の分散評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。また、前述の水平・垂直射影を利用して、同時に文字のサイズも検出することが可能である。
【００９９】
切り出された各文字画像について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。観測特徴ベクトルの抽出には、種々の公知の抽出方法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【０１００】
前述の抽出方法にて得られた観測特徴ベクトルと、あらかじめ字種毎に求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。そして、この算出された距離を評価して、最も距離の近い字種を、文字画像に対する文字認識結果として生成する。
【０１０１】
（ステップＳ７４  類似度判定処理）：
次に、距離の評価において、最短距離が所定値以上であるか否かで類似度が高いか否かを判定する。最短距離が所定値以上である場合（ステップＳ７４でＮＯ）、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで、最短距離が所定値以上である場合は、前述の認識結果を採用せず、ステップＳ７７に進む。一方、最短距離が所定値未満である場合（ステップＳ７４でＹＥＳ）、ステップＳ７３の認識結果を採用して、ステップＳ７５に進む。
【０１０２】
（ステップＳ７５  フォント認識処理）：
文字認識の際に用いる、字種数分の辞書特徴ベクトルを、文字形状種、即ち、フォント種に対して複数用意しておき、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォント（フォント情報）を認識する。
【０１０３】
（ステップＳ７６  文字ベクトルデータ変換処理）：
文字認識結果生成処理及びフォント認識処理によって得られた文字コード及びフォント情報各々にあらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。尚、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記憶する。
【０１０４】
（ステップＳ７７  アウトラインベクトルデータ変換処理）：
文字画像を一般的な線画と同様に扱い、その文字画像をアウトライン化する。即ち、誤認識を起こす可能性の高い文字については、可視的にイメージデータに忠実なアウトラインのベクトルデータを生成する。
【０１０５】
以上の処理により、文字領域に属するイメージ情報をほぼ形状、大きさ、色が忠実なベクトルデータに変換できる。
【０１０６】
（ステップＳ７８  写真領域判定処理）
ステップＳ７２で、文字領域でないと判定されたブロックに対し、写真領域であるか否かを判定する。写真領域でない場合（ステップＳ７８でＮＯ）、ステップＳ７９に進み、文字領域とは異なるベクトル化を行う。一方、写真領域である場合（ステップＳ７８でＹＥＳ）、写真領域については、ベクトル化を実行せず、イメージデータのまま出力し終了する。
【０１０７】
（ステップＳ７９  文字領域以外の領域のベクトル化処理（輪郭ベクトルデータ変換処理））
ステップＳ７８で判定される文字領域及び写真領域以外の領域、即ち、図面領域、線画領域、表領域等の領域と判断されたときは、ブロック内で抽出された黒画素塊の輪郭をベクトルデータに変換する。
【０１０８】
文字領域以外の領域のベクトル化においては、まず、線画等を直線および／または曲線の組み合わせとして表現するために、曲線を複数の区間（画素列）に区切る「角」を検出する。角とは曲率が極大となる点であり、図９の曲線上の画素Ｐｉが角か否かの判断は以下のように行う。
【０１０９】
即ち、Ｐｉを起点とし、曲線に沿ってＰｉから両方向に所定画素（ｋ個とする。）ずつ離れた画素Ｐｉ−ｋ、Ｐｉ＋ｋを線分Ｌで結ぶ。画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の距離をｄ１、線分Ｌと画素Ｐｉとの距離をｄ２、曲線の画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の弧の長さをＡとするとき、ｄ２が極大となるとき、あるいは比（ｄ１／Ａ）が閾値以下となるときに画素Ｐｉを角と判断する。
【０１１０】
角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は、最小二乗法等により実行し、曲線への近似は３次スプライン関数などを用いる。画素列を分割する角の画素は、近似直線あるいは近似直線における、始端または終端となる。
【０１１１】
さらにベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判定し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。
【０１１２】
以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記憶する。
【０１１３】
図１０に示すように、ある注目区間で外輪郭ＰＲｊと、内輪郭ＰＲｊ＋１あるいは別の外輪郭が近接している場合、２個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。
【０１１４】
例えば、輪郭Ｐｊ＋１の各画素Ｐｉから輪郭ＰＲｊ上で最短距離となる画素Ｑｉまでの距離ＰｉＱｉを算出し、ＰＱｉのばらつきがわずかである場合には、注目区間を画素Ｐｉ、Ｑｉの中点Ｍｉの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離ＰｉＱｉの平均値とする。
【０１１５】
線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【０１１６】
ステップＳ７６、ステップＳ７７及びステップＳ７９で各領域毎の処理が終了すると、図６のラスタ画像データに対するベクタ変換後のベクタ画像データは、図５に示すベクタ画像データと同様の記述からなる構成となり、そのデータ容量を低減しつつ、また画質の劣化を防止することができる。
【０１１７】
以上説明したように、実施形態１によれば、入力されたベクタ画像データ中に含まれるラスタ画像データ表現（例えば、画像領域中の文字や線画部分）をベクタ変換して、そのデータ量を低減することで、ラスタ画像データ表現を含むベクタ画像データとして受信した画像データを管理するためのシステム・リソースを効率的に使用することができる。
【０１１８】
［実施形態２］
実施形態１においては、例えば、外部機器上の画像処理アプリケーションによって生成される様々なデータ形式（データ構成）の画像データを、ネットワーク経由でＭＦＰが受信した後に、その内容に基づいて、ラスタ／ベクタ変換処理によるデータ変換を実行していたが、これに限定されない。
【０１１９】
例えば、ネットワークのトラフィックを軽減するという観点からは、ＭＦＰとのインターフェースとなるＰＣ等の端末（外部機器）上のプリンタドライバ内に、ラスタ／ベクタ変換部１４に対応するラスタ／ベクタ変換部を搭載しても構わない。
【０１２０】
つまり、ＭＦＰへの送信対象となる画像データの内容に基づいて、外部機器上で、その画像データに対してラスタ／ベクタ変換処理を実行した上で、得られるベクタ画像データをＭＦＰに送信する。
【０１２１】
これにより、ネットワークを介する外部機器とＭＦＰ間でのデータ転送においては、ベクタ画像データによるデータ転送となり、ラスタ画像データの転送に比べて、ネットワークのトラフィックを低減することができる。
【０１２２】
このような場合の構成例について、図１１を用いて説明する。
【０１２３】
［ＭＦＰ装置概要］
図１１は本発明の実施形態２の画像処理システムの構成を示すブロック図である。
【０１２４】
尚、図１１において、コントローラ１１０１内あるいはそれに接続される、各種構成要素１１０２〜１１１２及び１１１５〜１１１７は、それぞれ実施形態１の図１のコントローラ１内あるいはそれに接続される、各種構成要素２〜１２及び１５〜１７に対応するのでその詳細については省略する。
【０１２５】
図１１において、ＭＦＰ１０００が接続するネットワーク１１１２の先には、ＰＣ１１１７が接続されている。ＰＣ１１１７上には、ＰＣ１１１７のＯＳプログラム上で動作するアプリケーション１１１８、プリンタドライバ１１１９が含まれている。
【０１２６】
プリンタドライバ１１１９には、実施形態１のラスタ／ベクタ変換部１４に対応するラスタ／ベクタ変換部１１２０を備えられている。そして、アプリケーション１１１８で作成された画像データは、ＰＣ１１１７内部の標準的なグラフィックインターフェースに変換され、プリンタドライバ１１１９に転送される。プリンタドライバ１１１９は受信した画像データを解析し、ラスタ／ベクタ変換部１１２０で、アプリケーション１１１８から受信した画像データ中のラスタ画像データ部分のベクタ画像データへの変換を行った後、ネットワーク１１１２へ出力する。
【０１２７】
以上説明したように、実施形態２によれば、ＭＦＰ１０００に接続される外部機器に組み込まれたドライバ部で、ラスタ／ベクタ変換部を実現することで、外部機器とＭＦＰを接続するネットワーク間で転送される画像データのデータサイズを低減することができる。
【０１２８】
これにより、外部機器とＭＦＰからなるシステム全体のシステム・リソースを効率的に使用することができる。
【０１２９】
また、ＭＦＰ側では、外部機器からネットワークを介して画像データを受信する場合には、常に、最適なベクタ変換処理がなされたベクタ画像データを受信することができるので、ＭＦＰ内のシステム・リソースを効率的に使用することができる。
【０１３０】
［実施形態３］
実施形態１や２では、処理対象の画像データ中のラスタ画像データ部分は必ずベクタ画像データに変換されていたが、その処理対象の画像データの生成元アプリケーションによっては、出力先となる出力装置（例えば、プリンタ等）に最適な生のラスタ画像を生成し、それをＭＦＰに転送している場合もある。
【０１３１】
このような場合は、ラスタ画像データをベクタ変換してベクタ画像データを生成しても、最終的にそのベクタ画像データを画像データ展開部でラスタ画像データに戻した時には、変換前のオリジナルラスタ画像データと、そのデータ値が異なる可能性がある。
【０１３２】
そのため、ユーザがこのような処理内容を希望しない場合、あるいはオリジナルのラスタ画像データと画像データ展開部による展開後のラスタ画像データ間でのデータ値が異なる可能性がある場合には、ベクタ変換を実行するベクタ変換モードに加えて、データ量が多くてもオリジナルのラスタ画像データが出力できるモード（ベクタ変換禁止モード）を設けて、用途に応じて、各モードを切り替える構成にしても良い。
【０１３３】
モードの切替は、実施形態１であれば、例えば、操作部１０からの操作により、モード切替を実現する。また、実施形態２であれば、例えば、ＰＣ上に表示されるプリンタドライバの設定画面に対する操作により、モード切替を実現する。
【０１３４】
以上説明したように、実施形態３によれば、ラスタ画像データをベクタ画像データに変換するか否かを、システムの操作者や外部機器の操作者が任意に指定することができるので、ユーザが意図する、より好適な画像出力環境を提供することができる。
【０１３５】
［実施形態４］
実施形態１では、ラスタ／ベクタ変換部は、入力されたラスタ画像データに対して、ラスタ／ベクタ変換処理によるデータ変換を実行していたが、これに限定されない。
【０１３６】
実施形態４では、例えば、画像データ展開部にラスタ／ベクタ変換部を接続することで、レンダリング時に一時的にラスタ化されたラスタ画像データに対し、ラスタ／ベクタ変換を実行することにより、処理データ量を低減させる構成について説明する。
【０１３７】
［ＭＦＰ装置概要］
図１２は本発明の実施形態４の画像処理システムの構成を示すブロック図である。
【０１３８】
尚、図１２において、コントローラ１１０１内あるいはそれに接続される、各種構成要素１１０２〜１１１２及び１１１４〜１１１７は、それぞれ実施形態１の図１のコントローラ１内あるいはそれに接続される、各種構成要素２〜１２及び１４〜１７に対応するのでその詳細については省略する。
【０１３９】
実施形態１と実施形態４の異なる点は、実施形態１では、ラスタ／ベクタ変換部１４がシステムバスブリッジ２に接続されているのに対し、実施形態４では、対応するラスタ／ベクタ変換部１２１４が画像データ展開部１２１８に接続されている点である。
【０１４０】
尚、実施形態４の構成は、ネットワークからベクタ画像データを受信した場合を想定した構成となっているが、実施形態１のように、ラスタ画像データ表現を含むベクタ画像データを受信した場合を想定して、実施形態１の図１の構成と、実施形態４の図１２の構成を組み合わせ構成であっても良いことは言うまでもない。この場合、図１のラスタ／ベクタ変換部１４と、図１２のラスタ／ベクタ変換部１２１４の両方がＭＦＰ内で存在することになる。
【０１４１】
［従来のフォールバック］
ネットワークから転送されてきたベクタ画像データの出力フローは、実施形態１で説明した通りであるが、その中でＤＬデータと呼ばれる中間言語生成時に発生するフォールバックと呼ばれる処理について説明する。
【０１４２】
ＤＬデータは、オブジェクトを別々のプレーンに書き込む、いわゆる、レイヤ構造で生成される。図４のドキュメントデータを、ＤＬデータで表現した時の概念について、図１３を用いて説明する。
【０１４３】
図１３は従来のフォールバック処理を説明するための図である。
【０１４４】
１３００はネットワーク１２１２から受信したベクタ画像データである。ベクタ画像データ１３００は、ＣＰＵ１２０３によってその内容が解析され、オブジェクト１３０９〜１３１２が認識され、各オブジェクトのＤＬデータはシステムメモリ１２０５内に確保されたそれぞれ別のレイヤに格納される。
【０１４５】
通常、背景用のレイヤが用意されるので、背景はレイヤ１３０１に、オブジェクト１３０９〜１３１１はそれぞれレイヤ１３０２〜１３０４に格納される。ベクタ画像データ１３００は背景を持たないので、この場合のレイヤ１３０１は空である。
【０１４６】
このＤＬデータ生成を行うときに、システムの制約（メモリサイズや制御可能なレイヤ数）によりレイヤが４つまでしか持てない場合は、オブジェクト１３１２のＤＬデータ生成ができない。このような状態になったときは、オブジェクト１３０１〜１３０４を１ページの画像として画像データ展開部１２１８に転送し、一旦、ラスタ展開を行った後、背景画像としてレイヤ１３０１に書き戻す。
【０１４７】
ここで、ラスタ展開すると、画像データ量として必要メモリ容量が増加してしまうので、システムメモリ５のレイヤ１の領域に収まるように、ＪＰＥＧ等の画像圧縮形式を用いてデータ圧縮を行ってから格納する。このような処理を、フォールバック処理と呼ぶ。フォールバック処理を行うと、レイヤ１３０２〜１３０４は空きレイヤ１３０５〜１３０８となる。
【０１４８】
このように、フォールバック処理が行われた後には、空きレイヤ１３０５〜１３０８が得られるので、ベクタ画像データ１３００の未処理（未格納）の残ったオブジェクト１３１２をレイヤ１３０６に格納することが可能になる。
【０１４９】
図１３のレイヤ１３０５〜１３０８は、フォールバック処理後にオブジェクトが格納された状態を示している。
【０１５０】
［ベクタ変換を含むフォールバック処理］
従来のフォールバック処理では、文字や関数で記述されているオブジェクトがラスタ化され、さらには必要に応じてデータが圧縮される。そのため、オブジェクト中の図形の滑らかさや文字の細線部の画質が損なわれてしまう。また、データ量が大きいと圧縮率を上げて何回も圧縮処理をかけ直すため、パフォーマンスも悪くなる。
【０１５１】
そこで、実施形態４では、このような事態を避けるため、ベクタ変換を含むフォールバック処理を実行する。これについて、図１４を用いて説明する。
【０１５２】
図１４は本発明は実施形態４のラスタ／ベクタ変換処理を含むフォールバック処理を説明するための図である。
【０１５３】
入力画像は、図１３と同様、ベクタ画像データ１３００であり、それに基づいて生成された各オブジェクトのＤＬデータの一部がレイヤ１４０１〜１４０４にマッピングされるところまでは、従来のフォールバック処理と同じである。
【０１５４】
従来のフォールバック処理では、オブジェクト１３１２を格納するために、フォールバック処理で、そのオブジェクトをラスタ画像データに変換し、圧縮処理してラスタ画像データで保存する構成としている。
【０１５５】
これに対し、実施形態４では、画像データ展開部１２１８からラスタ／ベクタ変換部１２１４にラスタ展開したラスタ画像データの一部（例えば、同一の属性（ブロック情報）を有するオブジェクト）を転送して、その展開されたラスタ画像データを再度ベクタ変換する。
【０１５６】
図１４の例の場合は、レイヤ３及びレイヤ４に格納されている、図形の属性を有するオブジェクト１３１０及び１３１１をラスタ展開後に再度ベクタ変換する。
【０１５７】
その結果、フォールバック処理後には、レイヤ１４０４が空きレイヤとなり、この空きレイヤにオブジェクト１３１２のＤＬデータを格納することが可能となる。
【０１５８】
これにより、実施形態４のフォールバック処理後には、オブジェクト１３１２はレイヤ１４０８に格納され、ベクタ画像データ１３００中の各オブジェクトのＤＬデータ生成を全て実行することができる。
【０１５９】
特に、実施形態４では、属性が文字のオブジェクト１３０９はそのまま文字のオブジェクトに対応するＤＬデータとして、１つのレイヤに格納される。また、属性が図形のオブジェクトであるオブジェクト１３１０と１３１１が合成された図形のオブジェクトのＤＬデータとして、１つのレイヤの格納される。そのため、データ量の増加を招くことなく、レイヤに格納するＤＬデータの画質の劣化も防止することができる。
【０１６０】
別の例について説明する。
【０１６１】
図１５は、点線で囲まれた矩形の図形を有するベクタ画像データ１５００のフォールバック処理を説明するための図である。
【０１６２】
全体的な処理の流れは、図１４と同じであるが、ベクタ画像データ１５００を生成する生成元アプリケーションが矩形であるオブジェクト１５０９を構成する各点線を１つのオブジェクトとして記述している場合は、従来のフォールバック処理では、各オブジェクトのＤＬデータの一部だけがレイヤ１５０２〜１５０４にマッピングされることになる。
【０１６３】
これに対し、実施形態４では、同一の属性を有するオブジェクトのＤＬデータについては、同一のレイヤに格納するフォールバック処理を実行するので、レイヤ１５０１〜１５０４の状態に対し、レイヤ１５０５〜１５０８の構成で、オブジェクト１５０９のＤＬデータを生成して格納することができる。これにより、オブジェクトの画質を損ねることなく、それを管理するためのシステム・リソースを劇的に低減することができる。
【０１６４】
以上説明したように、実施形態４によれば、ＭＦＰ内で、ベクタ画像データから中間データの生成途中で、その中間データを一旦ラスタ画像データに変換し、そのラスタ画像データをもとに、再度、ベクタ画像データに生成し直すことで、中間データを管理するためのシステム・リソースの制約を緩和することができる。
【０１６５】
［実施形態５］
ベクタ画像データを生成する生成元アプリケーションから転送されるベクタ画像データは、アプリケーションまたはアプリケーションの操作者が、その画像データの種別を認識できる場合が多い。そのような場合は、実施形態１〜４において、ラスタ／ベクタ変換の実行の是非を、アプリケーション上で指示する構成にすることも可能である。
【０１６６】
例えば、文書作成用のアプリケーションに、デジタルカメラで撮影した風景画像データを貼り付けて生成した画像データの場合は、貼り付けた風景画像データに対してラスタ／ベクタ変換を実行しても、写真領域としてラスタ画像のまま残る可能性が高い。
【０１６７】
このような場合は、アプリケーション上でラスタ／ベクタ変換を実行しない（禁止する）情報をベクタ画像データ中に埋め込み出力するか、あるいはアプリケーションとシステム間でネゴシエーションするかして、予め処理対象のベクタ画像データに対してラスタ／ベクタ変換を実行しないように設定することが可能となる。
【０１６８】
逆に、画像編集用アプリケーションの中に、サフィックスとして文字を埋め込んだ場合には、アプリケーション側が、それを画像として貼り付ける場合などもある。そのような場合は、貼り付けたサフィックスに対し、その領域にのみラスタ／ベクタ変換を実行するために、アプリケーション側から処理対象の領域を明示的に指定する構成とすることも可能である。
【０１６９】
尚、本発明に係る画像処理システムは、図１、図１１、図１２に示す画像処理システムに限定されるものではなく、専用の画像処理装置、汎用コンピュータ等の種々機器を用いて実現することが可能である。
【０１７０】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１７１】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１７２】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１７３】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１７４】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１７５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１７６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１７７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１７８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１７９】
【図１】本発明の実施形態１の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【図２】従来の画像処理システムの構成を示す図である。
【図３】本発明の実施形態１の画像処理システムにおけるネットワークから転送されてきたデータをプリントする際の処理フローを示す図である。
【図４】本発明の実施形態１のネットワークから転送されてくるドキュメントデータの一例を示している。
【図５】本発明の実施形態１のベクタ画像データの記述例を示す図である。
【図６】本発明の実施形態１のラスタ画像データの記述を含むベクタ画像データの例を示す図である。
【図７】本発明の実施形態１のラスタ／ベクタ変換部の処理フローを示すフローチャートである。
【図８】本発明の実施形態１のブロック情報の一例を示す図である。
【図９】本発明の実施形態１のベクトル化を説明するための図である。
【図１０】本発明の実施形態１のベクトル化を説明するための図である。
【図１１】本発明の実施形態２の画像処理システムの構成を示すブロック図である。
【図１２】本発明の実施形態４の画像処理システムの構成を示すブロック図である。
【図１３】従来のフォールバック処理を説明するための図である。
【図１４】本発明は実施形態４のラスタ／ベクタ変換処理を含むフォールバック処理を説明するための図である。
【図１５】本発明は実施形態４のラスタ／ベクタ変換処理を含むフォールバック処理を説明するための図である。
【符号の説明】
【０１８０】
１  コントローラ
２  システムバスブリッジ
３  ＣＰＵ
４  メモリコントローラ
５  システムメモリ
６  汎用バス
７  ハードディスクコントローラ
８  ハードディスクドライブ
９  操作部コントローラ
１０  操作部
１１  ネットワーク  Ｉ／Ｆ
１２  ネットワーク
１４  ラスタ／ベクタ変換部
１５  画像処理部
１６  スキャナ
１７  プリンタ
【図１】
2006309671.tif 000003
【図２】
2006309671.tif 000004
【図３】
2006309671.tif 000005
【図４】
2006309671.tif 000006
【図５】
2006309671.tif 000007
【図６】
2006309671.tif 000008
【図７】
2006309671.tif 000009
【図８】
2006309671.tif 000010
【図９】
2006309671.tif 000011
【図１０】
2006309671.tif 000012
【図１１】
2006309671.tif 000013
【図１２】
2006309671.tif 000014
【図１３】
2006309671.tif 000015
【図１４】
2006309671.tif 000016
【図１５】
2006309671.tif 000017