(57)【要約】      （修正有）【課題】  システム全体のシステム・リソースの制約を緩和し、かつトータルスループットを向上することができる画像処理装置を提供する。【解決手段】  ラスタ画像データを、所定の大きさのブロック毎に分割し、ベクトル化処理を実行することにより、当該所定の大きさに分割された各ブロックに対応するブロックベクタ画像データに変換する第１変換手段と、ブロックベクタ画像データを記憶する記憶手段と、ブロックベクタ画像データをラスタ画像データに展開する展開手段と、記入力手段から入力されたラスタ画像データを前記第１変換手段でブロックベクタ画像に変換させ、当該変換されたブロックベクタ画像を前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段とを備える。【選択図】  図１
2006333361.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データに対する処理を実行する画像処理装置であって、
画像データを入力する入力手段と、
画像データを出力する出力手段と、
ラスタ画像データを、所定の大きさのブロック毎に分割し、ベクトル化処理を実行することにより、当該所定の大きさに分割された各ブロックに対応するブロックベクタ画像データに変換する第１変換手段と、
ブロックベクタ画像データを記憶する記憶手段と、
ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
前記入力手段から入力されたラスタ画像データを前記第１変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換手段を更に備え、
前記画像データ転送制御手段は、
前記入力手段から入力された画像データがラスタ画像データである場合は、前記第１変換手段でブロックベクタ画像データに変換させ、
前記入力手段から入力された画像データがページベクタ画像データである場合は、前記第２変換手段でブロックベクタ画像データに変換させ、
前記第１変換手段あるいは前記第２変換手段を用いて変換された前記ブロックベクタ画像データを前記記憶手段に記憶させ、
前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開手段を実行させて得られるラスタ画像データを前記出力手段から出力させる
ように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
１ページ分のブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第３変換手段を更に備え、
前記画像データ転送制御手段は、
前記出力手段から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開手段を実行させて得られるラスタ画像データを前記出力手段から出力させ、
前記出力手段から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記第３変換手段を実行させて得られるページベクタ画像データを前記出力手段から出力させる
ように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記入力手段は、スキャナ部からのラスタ画像データを入力する画像処理部と、外部装置から送信されてきたページベクタ画像データを入力するインターフェースとを含む
ことを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記出力手段は、プリンタ部へ前記ラスタ画像データを出力する画像処理部を含む
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記出力手段は、外部装置に対して前記ページベクタ画像データを出力するインターフェース部を含む
ことを特徴とする請求項３に記載の画像処理装置。
【請求項７】
前記画像データ転送制御手段は、バスを介して、前記各手段に接続され、処理対象の画像データに応じて、当該処理対象の画像データの転送に用いる前記バスの調整制御を実行するバス調停手段を備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項８】
前記画像データ転送制御手段は、前記第１変換手段で生成されたブロックベクタ画像データと、当該ブロックベクタ画像データに対応するページベクタ画像データとを関連付けて、前記記憶手段に予め記憶するように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項９】
曲線オブジェクトを含む前記ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する場合、
前記第２変換手段は、
前記曲線オブジェクトを内包する凸多角形を算出する算出手段と、
前記算出手段で算出した凸多角形と注目ブロックの辺と交差するか否かを評価する評価手段と、
前記評価手段の評価結果に基づいて、前記注目ブロックの注目辺と前記曲線オブジェクトとの交点を算出する交点算出手段と、
前記交点算出手段で算出した交点に基づいて、前記曲線オブジェクトをブロック単位で分割する分割手段と
を備えることを特徴とする請求項２に記載の画像処理装置。
【請求項１０】
イメージオブジェクトを含む前記ページベクタ画像データを、所定の大きさのブロック毎に分割して、前記ブロックベクタ画像データへ変換する場合、
前記第２変換手段は、
前記イメージオブジェクトの解像度と所定解像度を比較する比較手段と、
前記比較手段の比較の結果、前記イメージオブジェクトの解像度が前記所定解像度以下である場合、複数のブロックに跨がって存在する該イメージオブジェクトを、その複数のブロックの各ブロック境界で分割する第１分割手段と、
前記比較手段の比較の結果、前記イメージオブジェクトの解像度が前記所定解像度より大きい場合、複数のブロックに跨がって存在する該イメージオブジェクトを、その複数のブロックの各ブロック境界を越える該イメージのオブジェクトの一部が互いに重複するように分割する第２分割手段と、
を備えることを特徴とする請求項２に記載の画像処理装置。
【請求項１１】
前記展開手段は、
１）処理対象のブロックベクタ画像データが第１分割手段で分割されたものである場合、前記ブロックベクタ画像データに含まれるイメージオブジェクトの注目画素に基づいて、該イメージオブジェクトを補間する第１補間方法を用いて、前記ブロックベクタ画像データをラスタ画像データに展開し、
２）処理対象のブロックベクタ画像データが第２分割手段で分割されたものである場合、前記ブロックベクタ画像データに含まれるイメージオブジェクトの注目画素と周辺画素に基づいて、該イメージオブジェクトを補間する第２補間方法を用いて、前記ブロックベクタ画像データをラスタ画像データに展開する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記所定解像度は、前記展開手段が生成するラスタ画像データの解像度である
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
前記ブロック画像データの前記記憶手段への書込を制御する書込制御手段を更に備え、
前記書込制御手段は、
前記ブロックベクタ画像データにオブジェクトが含まれる場合、当該オブジェクトが含まれるブロックのブロックベクタ画像データを前記記憶手段に書込を実行し、
前記ブロックベクタ画像データにオブジェクトが含まれない場合、当該オブジェクトが含まれていないブロックのブロックベクタ画像データの前記記憶手段への書込を禁止する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項１４】
前記書込制御手段は、処理対象のブロックベクタ画像データの位置を識別するブロック識別情報と、該ブロックベクタ画像データ内のオブジェクトの有無を示すオブジェクト識別情報とを、ブロック単位で管理するブロック管理テーブルを生成し、このブロック管理テーブルを参照して、前記処理対象のブロックベクタ画像データの前記記憶手段への書込を制御する
ことを特徴とする請求項１３に記載の画像処理装置。
【請求項１５】
前記記憶手段の読出対象とするブロックベクタ画像データの位置を示す設定ブロック識別情報を設定する設定手段と、
前記記憶手段に存在するブロックベクタ画像データのブロック識別情報を読出す読出手段と、
前記設定手段で設定した設定ブロック識別情報と、前記読出手段で読み出した読出ブロック識別情報とを比較する比較手段と、
前記比較手段の比較結果に基づいて、前記ブロック画像データを生成する生成手段とを更に備え、
前記比較手段の比較の結果、前記設定ブロック識別情報と、前記読出ブロック識別情報とが不連続である場合、前記生成手段は、その不連続分の、オブジェクトが含まれないブロック画像データを生成する
ことを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
前記展開手段は、複数のブロックベクタ画像データを並列に処理するための、複数の小展開部を有することを特徴とする請求項１に記載の画像処理装置。
【請求項１７】
前記展開手段は、前記複数の小展開部に対して共通のフォントキャッシュ部を備え、
前記フォントキャッシュ部は、フォントキャッシュメモリと、前記複数の展開部それぞれが前記フォントキャッシュメモリを参照中であることを示すロックフラグを記憶するロックフラグレジスタを備える
ことを特徴とする請求項１６に記載の画像処理装置。
【請求項１８】
前記展開手段は、前記小展開部での処理対象のブロックベクタ画像データに含まれるフォントデータに対応する展開済フォントデータが前記フォントキャッシュ部に存在する場合、対応するロックフラグレジスタの前記ロックフラグをセットし、前記展開済フォントデータの読出が終了した時点で、前記ロックフラグをクリアする
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項１９】
前記展開手段は、前記小展開部で展開対象のフォントデータをラスタデータに展開する際に、前記ラスタデータを展開するための空き領域が前記フォントキャッシュメモリに存在しない場合は、前記ロックフラグレジスタでロックフラグがセットされていない該フォントキャッシュメモリ上の展開済フォントデータを、前記展開対象のフォントデータに置き換える
ことを特徴とする請求項１８に記載の画像処理装置。
【請求項２０】
前記複数の小展開部それぞれに、対応するロックフラグレジスタを制御するための制御信号線が接続されている
ことを特徴とする請求項１７に記載の画像処理装置。
【請求項２１】
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、所定の大きさのブロック毎の分割とベクトル化処理とにより、所定の大きさに分割されたブロックベクタ画像データに変換する第１変換工程と、
ブロックベクタ画像データを記憶手段に記憶する記憶工程と、
ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
前記入力されたラスタ画像データを前記第１変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項２２】
ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換工程を更に備え、
前記画像データ転送制御工程では、
前記入力された画像データがラスタ画像データである場合は、前記第１変換工程でブロックベクタ画像データに変換させ、
前記入力された画像データがページベクタ画像データである場合は、前記第２変換工程でブロックベクタ画像データに変換させ、
前記第１変換工程あるいは前記第２変換工程を用いて変換された前記ブロックベクタ画像データを前記記憶手段に記憶させ、
前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開工程を実行させて得られるラスタ画像データを前記出力部から出力させる
ように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項２１に記載の制御方法。
【請求項２３】
１ページ分のブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第３変換工程を更に備え、
前記画像データ転送制御工程では、
前記出力部から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開工程を実行させて得られるラスタ画像データを前記出力部から出力させ、
前記出力部から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記第３変換工程を実行させて得られるページベクタ画像データを前記出力部から出力させる
ように、装置内での処理対象の画像データの転送を制御する
ことを特徴とする請求項２１又は２２に記載の制御方法。
【請求項２４】
入力された画像データに対する処理を実行する画像処理装置の制御を実現するプログラムであって、
ラスタ画像データを、所定の大きさのブロック毎の分割とベクトル化処理とにより、所定の大きさに分割されたブロックベクタ画像データに変換する第１変換工程のプログラムコードと、
ブロックベクタ画像データを記憶手段に記憶する記憶工程のプログラムコードと、
ブロックベクタ画像データをラスタ画像データに展開する展開工程のプログラムコードと、
前記入力されたラスタ画像データを前記第１変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように制御する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
【請求項２５】
ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換工程のプログラムコードを更に備え、
前記制御工程では、
前記入力された画像データがラスタ画像データである場合は、前記第１変換工程でブロックベクタ画像データに変換させ、
前記入力された画像データがページベクタ画像データである場合は、前記第２変換工程でブロックベクタ画像データに変換させ、
前記第１変換工程あるいは前記第２変換工程を用いて変換された前記ブロックベクタ画像データを前記記憶手段に記憶させ、
前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開工程を実行させて得られるラスタ画像データを前記出力部から出力させる
ように制御する
ことを特徴とする請求項２４に記載のプログラム。
【請求項２６】
１ページ分のブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第３変換工程のプログラムコードを更に備え、
前記制御工程では、
前記出力部から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開工程を実行させて得られるラスタ画像データを前記出力部から出力させ、
前記出力部から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記第３変換工程を実行させて得られるページベクタ画像データを前記出力部から出力させる
ように制御する
ことを特徴とする請求項２４又は２５に記載のプログラム。
【請求項２７】
入力された画像データに対する処理を実行する画像処理装置であって、
画像データを入力する入力手段と、
画像データを出力する出力手段と、
ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換手段と、
ブロックベクタ画像データを記憶する記憶手段と、
ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
前記入力手段から入力されたページベクタ画像データを前記第２変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段と
を備えることを特徴とする画像処理装置。
【請求項２８】
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
入力されたページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換工程と、
ブロックベクタ画像データを記憶手段に記憶する記憶工程と、
ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
前記入力されたページベクタ画像データを前記第２変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項２９】
入力された画像データに対する処理を実行する画像処理装置の制御を実現するプログラムであって、
入力されたページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換工程のプログラムコードと、
ブロックベクタ画像データを記憶手段に記憶する記憶工程のプログラムコードと、
ブロックベクタ画像データをラスタ画像データに展開する展開工程のプログラムコードと、
前記入力されたページベクタ画像データを前記第２変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように、制御する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された画像データに対して画像処理を施して管理する画像処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
ネットワーク上に接続され、外部あるいは内部の画像データに対する画像データ処理を実行し、その処理した画像データを出力する画像データ入出力システムが知られている。
【０００３】
この画像データ入出力システムとしては、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれるものがある。
【０００４】
ここで、従来のＭＦＰを制御するコントローラ１００を図２９に示す。コントローラ１００は、システムバスブリッジ（ＳＢＢ）１０１により、ＣＰＵ１０２、メモリコントローラ（ＭＣ）１０３、汎用バス１０５、画像処理部１１０、画像データ展開部（ＲＩＰ（Ｒａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ））１１３が接続されている。
【０００５】
汎用バス１０５には、画像データを蓄積するための：大容量記憶部（ＨＤＤ（ハードディスクドライブ））１０７を制御するハードディスクコントローラ（ＨＤＤＣｏｎｔ）１０６、ＭＦＰが接続されているネットワーク１０８を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークＩ／Ｆ１０９が接続されている。この画像データとしては、ページベクタ形式（ＰＤＬ（ページ記述言語）、ＰＤＦ、ＳＶＧ等）の画像データがある。
【０００６】
ＨＤＤＣｏｎｔ１０６には、ＨＤＤ（ハードディスクドライブ）１０７が接続されており、画像データの記憶媒体として使われる。同様に、ＭＣ１０３には、システムメモリ（Ｍｅｍｏｒｙ）１０４が接続されており、画像データを一時記憶するための媒体として使われる。システムメモリ１０４には、一般的には、ＤＩＭＭが用いられる。
【０００７】
画像処理部１１０には、スキャナ１１１及びプリンタ１１２が接続されている。スキャナ１１１から入力された画像データは、画像処理部１１０によって所定の画像処理が実施された後、コントローラ１００へ入力される。また、コントローラ１００内に記憶されている画像データは、画像処理部１１０によって所定の画像処理が実施され、プリンタ１１２へ出力される。
【０００８】
コントローラ１００でハンドリングされる画像データは、ネットワーク経由での外部機器との入出力はページベクタ形式（ＰＤＬやＰＤＦ、ＳＶＧ等）、スキャナ１１１やプリンタ１１２との入出力はラスタデータ形式でインターフェースされる。外部機器から入力されたページベクタ形式の画像データは、ＣＰＵ１０２により、プリミティブなオブジェクトにインタプリットされ、ＤＬ（ＤｉｓｐｌａｙＬｉｓｔ）と呼ばれる中間データ（ＤＬデータ）に変換されてから、ＲＩＰ１１３に入力される。
【０００９】
これらの画像データはコントローラ１００の内部のシステムメモリ１０４に一旦記憶される。そのため、システムメモリ１０４上には、ラスタデータ、ページベクタデータ（ＰＤＬ等）、ＤＬデータ等の多種類のデータが存在する。
【００１０】
ＨＤＤ１０７には、画像データとしてスキャナ１１３から入力された画像データとＲＩＰ１１３でレンダリングされたラスタ画像データが記憶される。
【００１１】
【特許文献１】特開２００４−１２０６３９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上述のようなＭＦＰが扱う画像データの中でも、ラスタ画像データはデータサイズが大きい。そのため、システムメモリ１０４のメモリサイズや、汎用バス１０５及びＨＤＤＣｏｎｔ１０６−ＨＤＤ１０７間のバンド幅等のシステム・リソースを多く消費する。
【００１３】
これに加え、ＰＤＬデータ等のページベクタデータでは、システム中でインタプリットを行い、描画オブジェクトを生成するＤＬデータに展開する。その際、ＤＬデータをシステムメモリ１０４にスプールするため、それによるメモリリソースの消費量も莫大なものとなっている。
【００１４】
一方、最近はユーザの出力画像の画質要求がますます高くなり、その解決策の１つとして、画像データに対する高解像度化（高画質化）が促進されている。また、画質と並行してシステムの処理速度向上も要求されている。
【００１５】
そのため、上述の様々な要求仕様を満足するために必要なシステム・リソースが肥大化してしまう。従って、プロダクトのコストパフォーマンスでの折り合いをつけることが課題となっている。
【００１６】
また、このプロダクトのコストパフォーマンスに対する課題とは別に、複雑、多様化するシステムを開発するための人的リソースの問題も解決することが要求されている。そして、これを満足するためには、様々な要求仕様に対し、１つの基本システムをスケーラブルな形で構成することにより、製品ラインナップを効率良く整備することが課題となっている。
【００１７】
例えば、図２９における画像処理部１１０やＲＩＰ１１３等のモジュールを、ハイエンドな機種では複数個実装し、分散処理できるようなシステムが必要となってくる。
【００１８】
他方、オフィスにおいてはペーパーレス化が進行しており、紙の出力物と電子データをシームレスに扱えるような要求も生まれてきている。そのためには、紙と電子データとのＩ／Ｆ機器であるＭＦＰにおいても、例えば、蓄積画像データの検索性の向上や、ラスタ画像データをオブジェクト化して再利用可能なオブジェクトデータに変換する、ＰＯＤ（Ｐｒｉｎｔ  Ｏｎ  Ｄｅｍａｎｄ）印刷に対応するために画像加工を高速化する、といったよりインテリジェントな機能を持つことが必要となっている。
【００１９】
本発明は上記の課題を解決するためになされたものであり、システム全体のシステム・リソースの制約を緩和し、かつトータルスループットを向上することができる画像処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記課題を解決するための本発明による画像処理装置は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置であって、
画像データを入力する入力手段と、
画像データを出力する出力手段と、
ラスタ画像データを、所定の大きさのブロック毎に分割し、ベクトル化処理を実行することにより、当該所定の大きさに分割された各ブロックに対応するブロックベクタ画像データに変換する第１変換手段と、
ブロックベクタ画像データを記憶する記憶手段と、
ブロックベクタ画像データをラスタ画像データに展開する展開手段と、
前記入力手段から入力されたラスタ画像データを前記第１変換手段でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開手段で展開して得られるラスタ画像データを前記出力手段から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御手段と
を備える。
【００２１】
また、好ましくは、ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する第２変換手段を更に有する画像処理装置であって、
前記画像データ転送制御手段は、
前記入力手段から入力された画像データがラスタ画像データである場合は、前記第１変換手段でブロックベクタ画像データに変換させ、
前記入力手段から入力された画像データがページベクタ画像データである場合は、前記第２変換手段でブロックベクタ画像データに変換させ、
前記第１変換手段あるいは前記第２変換手段を用いて変換された前記ブロックベクタ画像データを前記記憶手段に記憶させ、
前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開手段を実行させて得られるラスタ画像データを前記出力手段から出力させる
ように、装置内での処理対象の画像データの転送を制御する。
【００２２】
また、好ましくは、１ページ分のブロックベクタ画像データから、ページ全体を示すページベクタ画像データへ変換する第３変換手段を更に有し、
前記画像データ転送制御手段は、
前記出力手段から出力させるべき画像データの形式がラスタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記展開手段を実行させて得られるラスタ画像データを前記出力手段から出力させ、
前記出力手段から出力させるべき画像データの形式がベクタ画像データ形式であると判断した場合は、前記記憶手段に記憶されたブロックベクタ画像データに対して前記第３変換手段を実行させて得られるページベクタ画像データを前記出力手段から出力させる
ように、装置内での処理対象の画像データの転送を制御する。
【００２３】
また、好ましくは、前記入力手段は、スキャナ部からのラスタ画像データを入力する画像処理部と、外部装置から送信されてきたページベクタ画像データを入力するインターフェースとを含む。
【００２４】
また、好ましくは、前記出力手段は、プリンタ部へ前記ラスタ画像データを出力する画像処理部を含む。
また、好ましくは、前記出力手段は、外部装置に対して前記ページベクタ画像データを出力するインターフェース部を含む。
【００２５】
また、好ましくは、前記画像データ転送制御手段は、バスを介して、前記各手段に接続され、処理対象の画像データに応じて、当該処理対象の画像データの転送に用いる前記バスの調整制御を実行するバス調停手段を備える。
【００２６】
また、好ましくは、前記画像データ転送制御手段は、前記第１変換手段で生成されたブロックベクタ画像データと、当該ブロックベクタ画像データに対応するページベクタ画像データとを関連付けて、前記記憶手段に予め記憶するように、装置内での処理対象の画像データの転送を制御する。
【００２７】
また、好ましくは、曲線オブジェクトを含む前記ページベクタ画像データを、所定の大きさのブロックに対応するブロックベクタ画像データへ変換する場合、
前記第２変換手段は、
前記曲線オブジェクトを内包する凸多角形を算出する算出手段と、
前記算出手段で算出した凸多角形と注目ブロックの辺と交差するか否かを評価する評価手段と、
前記評価手段の評価結果に基づいて、前記注目ブロックの注目辺と前記曲線オブジェクトとの交点を算出する交点算出手段と、
前記交点算出手段で算出した交点に基づいて、前記曲線オブジェクトをブロック単位で分割する分割手段と
を備える。
【００２８】
また、好ましくは、イメージオブジェクトを含む前記ページベクタ画像データを、所定の大きさのブロック毎に分割して、前記ブロックベクタ画像データへ変換する場合、
前記第２変換手段は、
前記イメージオブジェクトの解像度と所定解像度を比較する比較手段と、
前記比較手段の比較の結果、前記イメージオブジェクトの解像度が前記所定解像度以下である場合、複数のブロックに跨がって存在する該イメージオブジェクトを、その複数のブロックの各ブロック境界で分割する第１分割手段と、
前記比較手段の比較の結果、前記イメージオブジェクトの解像度が前記所定解像度より大きい場合、複数のブロックに跨がって存在する該イメージオブジェクトを、その複数のブロックの各ブロック境界を越える該イメージのオブジェクトの一部が互いに重複するように分割する第２分割手段と、を備える。
【００２９】
また、好ましくは、前記展開手段は、
１）処理対象のブロックベクタ画像データが第１分割手段で分割されたものである場合、前記ブロックベクタ画像データに含まれるイメージオブジェクトの注目画素に基づいて、該イメージオブジェクトを補間する第１補間方法を用いて、前記ブロックベクタ画像データをラスタ画像データに展開し、
２）処理対象のブロックベクタ画像データが第２分割手段で分割されたものである場合、前記ブロックベクタ画像データに含まれるイメージオブジェクトの注目画素と周辺画素に基づいて、該イメージオブジェクトを補間する第２補間方法を用いて、前記ブロックベクタ画像データをラスタ画像データに展開する。
【００３０】
また、好ましくは、前記所定解像度は、前記展開手段が生成するラスタ画像データの解像度である。
【００３１】
また、好ましくは、前記ブロック画像データの前記記憶手段への書込を制御する書込制御手段を更に備え、
前記書込制御手段は、
前記ブロックベクタ画像データにオブジェクトが含まれる場合、当該オブジェクトが含まれるブロックのブロックベクタ画像データを前記記憶手段に書込を実行し、
前記ブロックベクタ画像データにオブジェクトが含まれない場合、当該オブジェクトが含まれていないブロックのブロックベクタ画像データの前記記憶手段への書込を禁止する。
【００３２】
また、好ましくは、前記書込制御手段は、処理対象のブロックベクタ画像データの位置を識別するブロック識別情報と、該ブロックベクタ画像データ内のオブジェクトの有無を示すオブジェクト識別情報とを、ブロック単位で管理するブロック管理テーブルを生成し、このブロック管理テーブルを参照して、前記処理対象のブロックベクタ画像データの前記記憶手段への書込を制御する。
【００３３】
また、好ましくは、前記記憶手段の読出対象とするブロックベクタ画像データの位置を示す設定ブロック識別情報を設定する設定手段と、
前記記憶手段に存在するブロックベクタ画像データのブロック識別情報を読出す読出手段と、
前記設定手段で設定した設定ブロック識別情報と、前記読出手段で読み出した読出ブロック識別情報とを比較する比較手段と、
前記比較手段の比較結果に基づいて、前記ブロック画像データを生成する生成手段とを更に備え、
前記比較手段の比較の結果、前記設定ブロック識別情報と、前記読出ブロック識別情報とが不連続である場合、前記生成手段は、その不連続分の、オブジェクトが含まれないブロック画像データを生成する。
【００３４】
また、好ましくは、前記展開手段は、複数のブロックベクタ画像データを並列に処理するための、複数の小展開部を有する。
【００３５】
また、好ましくは、前記展開手段は、前記複数の小展開部に対して共通のフォントキャッシュ部を備え、
前記フォントキャッシュ部は、フォントキャッシュメモリと、前記複数の展開部それぞれが前記フォントキャッシュメモリを参照中であることを示すロックフラグを記憶するロックフラグレジスタを備える。
【００３６】
また、好ましくは、前記展開手段は、前記小展開部での処理対象のブロックベクタ画像データに含まれるフォントデータに対応する展開済フォントデータが前記フォントキャッシュ部に存在する場合、対応するロックフラグレジスタの前記ロックフラグをセットし、前記展開済フォントデータの読出が終了した時点で、前記ロックフラグをクリアする。
【００３７】
また、好ましくは、前記展開手段は、前記小展開部で展開対象のフォントデータをラスタデータに展開する際に、前記ラスタデータを展開するための空き領域が前記フォントキャッシュメモリに存在しない場合は、前記ロックフラグレジスタでロックフラグがセットされていない該フォントキャッシュメモリ上の展開済フォントデータを、前記展開対象のフォントデータに置き換える。
【００３８】
また、好ましくは、前記複数の小展開部それぞれに、対応するロックフラグレジスタを制御するための制御信号線が接続されている。
【００３９】
上記課題を解決するための本発明による画像処理装置の制御方法は以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御方法であって、
ラスタ画像データを、所定の大きさのブロック毎の分割とベクトル化処理とにより、所定の大きさに分割されたブロックベクタ画像データに変換する第１変換工程と、
ブロックベクタ画像データを記憶手段に記憶する記憶工程と、
ブロックベクタ画像データをラスタ画像データに展開する展開工程と、
前記入力されたラスタ画像データを前記第１変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように、装置内での処理対象の画像データの転送を制御する画像データ転送制御工程と
を備える。
【００４０】
上記課題を解決するための本発明によるプログラムは以下の構成を備える。即ち、
入力された画像データに対する処理を実行する画像処理装置の制御を実現するプログラムであって、
ラスタ画像データを、所定の大きさのブロック毎の分割とベクトル化処理とにより、所定の大きさに分割されたブロックベクタ画像データに変換する第１変換工程のプログラムコードと、
ブロックベクタ画像データを記憶手段に記憶する記憶工程のプログラムコードと、
ブロックベクタ画像データをラスタ画像データに展開する展開工程のプログラムコードと、
前記入力されたラスタ画像データを前記第１変換工程でブロックベクタ画像データに変換させ、当該変換されたブロックベクタ画像データを前記記憶手段に記憶させ、前記記憶手段に記憶されているブロックベクタ画像データを前記展開工程で展開して得られるラスタ画像データを出力部から出力させるように、制御する制御工程のプログラムコードとを備える。
【発明の効果】
【００４１】
本発明によれば、システム全体のシステム・リソースの制約を緩和し、かつトータルスループットを向上することができる画像処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００４２】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００４３】
［実施形態１］
［ＭＦＰ装置概要］
図１は本発明の実施形態１の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【００４４】
ＭＦＰ１０００を制御するコントローラ１は、システムバスブリッジ（ＳＢＢ）２により、ＣＰＵ３、メモリコントローラ（ＭＣ）４、汎用バス６、タイル／ページベクタ変換部１３、ラスタ／ベクタ変換部１４、画像処理部１５、画像データ展開部（ＲＩＰ）１８が接続されている。
【００４５】
ここで、このＲＩＰ１８は、タイルベクタデータを展開することが可能であり、内部には、複数の小画像データ展開部（μＲＩＰ）１８ａ〜１８ｄが構成されている。
【００４６】
ＭＣ４には、システムメモリ（Ｍｅｍｏｒｙ）５が接続されており、画像データを一時記憶するための媒体として使われる。
【００４７】
汎用バス６には、画像データを蓄積するためのＨＤＤ８を制御するハードディスクコントローラ（ＨＤＤＣｏｎｔ）７及び操作部（例えば、ＬＣＤ等から構成されるタッチパネル）１０を制御する操作部コントローラ９及び、ＭＦＰ１０００が接続されているネットワーク１２を介して、外部機器間との画像データの転送を行うインターフェースになるネットワークＩ／Ｆ１１が接続されている。
【００４８】
尚、操作部１０では、実施形態１及び後述する各実施形態の各種処理の実行指示の入力や、処理結果等を表示するための操作画面が表示され、ユーザは、この操作画面を介して各種操作を実現することができる。
【００４９】
ラスタ／タイルベクタ変換部１４には、画像処理部１５が接続されている。また、画像処理部１５には、スキャナ１６及びプリンタ１７が接続されている。
【００５０】
また、ＳＢＢ２には、ＲＩＰ１８が接続されている。また、ＲＩＰ１８には、ＲＩＰ１８から出力されるデータを記憶するローカルメモリ（ＬｏｃａｌＭｅｍｏｒｙ）１９が接続されている。
【００５１】
コントローラ１でハンドリングされる画像データは、外部機器との入出力はベクタ（ＰＤＬ、ＰＤＦ、ＳＶＧなど）形式の画像データ（以下、ベクタデータとも言う）、スキャナ１６やプリンタ１７との入出力はラスタ形式の画像データ（以下、ラスタデータとも言う）でインターフェースされる。
【００５２】
コントローラ１では、スキャンデータ（ラスタデータ）はラスタ／タイルベクタ変換部１４でタイルベクタデータに変換される。また、このタイルベクタデータからＲＩＰ１８の処理によって得られるタイルＤＬデータは、ＲＩＰ１８に接続されたローカルメモリ１９に記憶される。
【００５３】
従って、システムメモリ５上には、ページベクタデータとタイルベクタデータの２種類の画像のみが記憶される。つまり、画像サイズの大きいラスタデータ及びＤＬデータをシステムメモリ５に記憶する必要がなくなる。そのため、システムメモリ５上で確保しなければならない画像データ領域を削減することができる。
【００５４】
また、ＲＩＰ１８から出力されるＤＬデータはタイル単位に分割された、タイルＤＬデータで記憶される。そのため、従来のページ単位のページＤＬデータに比べ、非常に少ないメモリ容量で記憶できる。従って、ローカルメモリ１９はオンチップ上に実装することが可能になり、メモリレイテンシを小さくできる。その結果、タイルデータ展開速度を高速化することが可能となる。
【００５５】
また、タイルベクタデータのみを画像データとして、ＨＤＤ８上に記憶すれば良いので、ＨＤＤ８へのアクセス速度のボトルネックが緩和され、データ処理の高速化が図れる。同時に、タイル単位で処理することにより、ＲＩＰ１８のコストダウンも可能となる。
【００５６】
より高い処理能力が要求される場合は、ＲＩＰ１８内に備えるμＲＩＰ１８ａ〜１８ｄを並列に複数実装することで、処理能力を可変にすることができる。このようにすることで、コントローラ１の処理能力がシンプルに調整できることから、スケーラビリティの確保が容易なシステムを構築できる。
【００５７】
尚、本発明では、ネットワークＩ／Ｆ１１及びスキャナ１６がコントローラ１内へ画像データを入力する画像入力部として機能する。また、ネットワークＩ／Ｆ１１及びプリンタ１７が画像データを出力する画像出力部として機能する。
【００５８】
以下に、ＭＦＰ１０００が実現可能な各種処理のデータフローについて説明する。
【００５９】
［コピー］
図２は本発明の実施形態１の画像処理システムでのコピー動作に係るデータフローを示す図である。
【００６０】
尚、このデータフローは、ＣＰＵ３の制御の下、ＭＦＰ１０００を構成する各種構成要素を協調動作させることで実現される。
【００６１】
また、図２中に示す矢印は、各種データフローを示している。特に、実線矢印はラスタデータ（ラスタ画像データ）、破線矢印はタイルベクタデータ（タイルベクタ画像データ）、１点鎖線矢印はページベクタデータ（ページベクタ画像データ）のデータフローを示している。ページベクタデータ及びタイルベクタデータについては、後述のタイル／ページベクタ変換部１３で詳細に説明する。
【００６２】
（Ｓ２１）：操作部１０より、ユーザがコピー開始を指示すると、スキャナ１６は原稿画像の読取動作を開始する。スキャナ１４より画像処理部１５へ入力された画像（Ｒ、Ｇ、Ｂ画像）は画像処理部１５のクロック同期に周波数変換された後、例えば、以下の処理が実行される。
【００６３】
１）スキャナ１６内のＣＣＤセンサのラインピッチや色収差等のスキャナ特性の補正処理
２）色空間補正やシャープネス等の入力画像データの画質補正処理
３）入力画像データの枠消やブック枠消等の画像加工処理
（Ｓ２２）：画像処理部１５による画像処理が終了し、画像処理部１５から出力された画像データはラスタ／タイルベクタ変換部１４に入力され、タイルベクタ変換処理が実行される。即ち、ラスタ／タイルベクタ変換部１４は、画像データを所定の大きさのブロック（タイル）に分割する。そして、各ブロック内のラスタデータに対して、ベクトル化処理を実行して、ブロック（タイル）単位のベクタデータ（タイルベクタデータ（ブロックベクタデータ））を生成する。
【００６４】
生成されたタイルベクタデータは、ＳＢＢ２によりバスの調停を受け、システムメモリ５へのバス権を取得し、ＭＣ４を介して、システムメモリ５に記憶される。（尚、ＳＢＢ２経由でデータパスが接続される場合は、基本的にバスの調停を受け、バス権を取得する手続きを踏むが、以降のフロー説明では省略する。）
（Ｓ２３）：システムメモリ５に記憶されたタイルベクタデータは、ＨＤＤＣｏｎｔ７とＭＣ４を介して、ＳＢＢ２経由でＨＤＤ８に記憶される。ＨＤＤ８にタイルベクタデータを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、ＭＦＰ１０００内に保存画像データとして記憶したりすることができる。
【００６５】
（Ｓ２４）：ＨＤＤ８に記憶されたタイルベクタデータは、プリンタ１７内のプリンタＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣｏｎｔ７により読み出され、ＳＢＢ２、ＭＣ４を経由してシステムメモリ５に一時的に記憶される。
【００６６】
仮に、読み取ったタイルベクタデータをＨＤＤ８からダイレクトにプリンタ１７へ出力する場合、ＨＤＤ８のアクセススピードが律則したり、汎用バス６のバスの混雑度合によりプリンタ１７に同期して出力することが保証できなくなる。そのため、プリンタ１７に同期してデータ転送を行う前に、システムメモリ５にページベクタデータをスプールしておくことで、リアルタイムなスループットを保証する。
【００６７】
（Ｓ２５）：システムメモリ５に記憶されたタイルベクタデータは、プリンタ１７からコントローラ１に送られる起動信号に従って、ＭＣ４によって読み出され、ＳＢＢ２を介してＲＩＰ１８に転送される。
【００６８】
ＲＩＰ１８では、まず、タイルベクタデータを解析し、タイル単位の描画オブジェクト（タイルＤＬデータ）の生成（インタプリット）を実行する。生成されたタイルＤＬデータはローカルメモリ１９に一旦記憶される。
【００６９】
ＲＩＰ１８はローカルメモリ１９からタイルＤＬデータを読み出して、タイル単位のラスタデータ（タイルラスタデータ）へと展開し、出力する。
【００７０】
実施形態１では、上述のように、ＲＩＰ１８内に４つの小画像データ展開部（μＲＩＰ）１８ａ〜１８ｄを備えている。コントローラ１は、μＲＩＰ１８ａ〜μＲＩＰ１８ｄを並列に動作させることにより、タイルベクタデータの展開を高速に行わせることができる。
【００７１】
ここで、画像処理システムの全体パフォーマンスは、ベクタデータ展開時間が支配的であり、このμＲＩＰの構成数を増やすことで、パフォーマンスアップが見込める。そのため、本発明のような構成を用いると、その構成数あるいは動作させる構成数を増減させることで、容易にスケーラブルなシステムを構築することが可能となる。
【００７２】
（Ｓ２６）：ＲＩＰ１８によって生成されたタイルラスタデータは、画像処理部１５に転送され、例えば、以下の処理が実行される。
【００７３】
１）タイルラスタデータからページラスタデータへの変換処理
２）プリンタの特性に合わせた出力画像の色や濃度の補正処理
３）画像データを量子化して出力画像の階調変換を行う中間調処理
４）プリンタＩ／Ｆクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部１５で、１）〜４）の画像処理が実行されて得られたラスタデータは、プリンタ１７に転送され、記録媒体上に印刷され出力される。
【００７４】
［プリント］
図３は本発明の実施形態１の画像処理システムでのプリント動作に係るデータフローを示す図である。
【００７５】
尚、このデータフローは、ＣＰＵ３の制御の下、ＭＦＰ１０００を構成する各種構成要素を協調動作させることで実現される。
【００７６】
（Ｓ３１）：ネットワーク１２に接続された外部機器より、汎用バス６に接続されたネットワークＩ／Ｆ１１がページベクタデータを受信する。そして、ＳＢＢ２の先に接続されたＭＣ４を介してシステムメモリ５に転送する。
【００７７】
（Ｓ３２）：システムメモリ５に記憶されたページベクタデータは、タイル／ページベクタ変換部１３より読み出され、タイルベクタ変換処理が実行される。即ち、タイル／ページベクタ変換部は、ページベクタデータ内に存在するオブジェクトを所定の大きさのブロック（タイル）内に収まるオブジェクトに分割する。そして、タイル単位のベクタデータ（タイルベクタデータ）を生成する。
【００７８】
（Ｓ３３）：生成されたタイルベクタデータは、ＳＢＢ２を介して再度システムメモリ５に記憶される。
【００７９】
（Ｓ３４）：システムメモリ５に記憶されたタイルベクタデータは、ＨＤＤＣｏｎｔ７とＭＣ４を介して、ＳＢＢ２経由でＨＤＤ８に記憶される。ＨＤＤ８にタイルベクタデータを記憶することにより、複数部の原稿をコピーする時にソーティングをして、ページ順を変えて出力したり、ＭＦＰ１０００内に保存画像データとして記憶したりすることができる。
【００８０】
（Ｓ３５）：ＨＤＤ８に記憶されたタイルベクタデータは、プリンタ１７内のＣＰＵ（不図示）から送られてくるプリンタレディのタイミングに合わせて、ＨＤＤＣｏｎｔ７により読み出され、ＳＢＢ２、ＭＣ４を経由してシステムメモリ５に一時的に記憶される。
【００８１】
読み取ったタイルベクタデータをＨＤＤ８からダイレクトにプリンタ１７へ出力する場合、ＨＤＤ８のアクセススピードが律則したり、汎用バス６のバスの混雑度合によりプリンタ１７に同期して出力することが保証できなくなる。そのため、プリンタ１７に同期してデータ転送を行う前に、システムメモリ５に１ページ分のベクタ画像データをスプールすることにより、リアルタイムなスループットを保証する。
【００８２】
（Ｓ３６）：システムメモリ５に記憶されたタイルベクタデータは、プリンタ１７からコントローラ１に送られる起動信号に従って、ＭＣ４によって読み出され、ＳＢＢ２を介してＲＩＰ１８に転送される。
【００８３】
ＲＩＰ１８では、まず、タイルベクタデータを解析し、タイル単位の描画オブジェクト（タイルＤＬデータ）の生成（インタプリット）を実行する。生成されたタイルＤＬデータはローカルメモリ１９に一旦記憶される。
【００８４】
ＲＩＰ１８はローカルメモリ１９からタイルＤＬデータを読み出して、タイル単位のラスタデータ（タイルラスタデータ）へと展開し、出力する。
【００８５】
（Ｓ３７）：ＲＩＰ１８によって生成されたタイルラスタデータは、画像処理部１５に転送され、例えば、以下の処理が実行される。
【００８６】
１）タイルラスタデータからページラスタデータへの変換処理
２）プリンタの特性に合わせた出力画像の色や濃度の補正処理
３）画像データを量子化して出力画像の階調変換を実行する中間調処理
４）プリンタＩ／Ｆクロックに同期して画像を出力するための周波数変換処理
そして、画像処理部１５で、１）〜４）の画像処理が実行されて得られたラスタデータは、プリンタ１７に転送され、記録媒体上に印刷され出力される。
【００８７】
[送信]
図４は本発明の実施形態１の画像処理システムでの送信動作に係るデータフローを示す図である。
【００８８】
尚、このデータフローは、ＣＰＵ３の制御の下、ＭＦＰ１０００を構成する各種構成要素を協調動作させることで実現される。
【００８９】
また、画像データをＨＤＤ８に格納するまでのデータフローについては、ラスタデータの場合は［コピー］と、ネットワーク１２上の外部機器からの入力されたページベクタデータの場合は［プリント］と同一であるので、その説明は割愛する。
【００９０】
尚、画像データをＨＤＤ８に格納する処理は、ユーザからの格納指示によって実行されるようにしてもよいし、［コピー］や［プリント］の処理の際にＨＤＤ８に自動的に残しておくようにしてもよい。このようにして、ＨＤＤ８に格納された画像データの中から、ユーザによって指定された画像データを送信するように指示された際に行われる送信処理について説明する。
【００９１】
（Ｓ４１）：ＨＤＤ８に記憶されたタイルベクタデータはＳＢＢ２を介して、汎用バス６に接続されたＨＤＤＣｏｎｔ７より読み出され、システムメモリ５に一時的に記憶される。
【００９２】
（Ｓ４２）：システムメモリ５に記憶されたタイルベクタデータは、タイル／ページベクタ変換部１３より読み出され、タイルベクタ変換処理を実行する。即ち、ブロック単位に分割されたオブジェクトを結合し、ページ全体でオブジェクトを記述したページベクタデータを生成する。つまり、１ページ分のタイルベクタデータを、ページ全体のベクタデータを示すページベクタデータを生成する。
【００９３】
（Ｓ４３）：生成されたページベクタデータは、ＳＢＢ２を介して再度システムメモリ５に記憶される。
【００９４】
（Ｓ４４）：システムメモリ５中に記憶されたページベクタデータは、汎用バス６に接続されたネットワークＩ／Ｆ１１から読み出され、ネットワーク１２に接続された外部機器へと送信転送される。
【００９５】
本発明のように、外部機器に送信する際に、タイルベクタデータをページベクタデータに戻して、そのデータを構成するオブジェクト数を減らすことで、送信データ量を削減することができる。また、ＰＤＦやＳＶＧ等の汎用フォーマットへ容易に変換することができる。
【００９６】
尚、本発明では、スキャナ１６から入力したラスタデータを、外部機器に送信することも可能である。この場合は、そのラスタデータをページベクタに変換してから、外部機器へ送信することが好ましい。
【００９７】
［ラスタ／タイルベクタ変換部］
次に、ラスタ／タイルベクタ変換部１４の処理の詳細について説明する。
【００９８】
図５は本発明の実施形態１のラスタ／タイルベクタ変換部が実行する処理を示すフローチャートである。
【００９９】
（ステップＳ５１：ブロックセレクション（領域分割：ＢＳ）処理）
画像処理部１５より入力されたラスタデータ（イメージデータ）を、文字あるいは線画を含む文字・線画領域と、ハーフトーンの写真領域、不定形の画像領域その他に分割する。さらに、文字・線画領域については、主に文字を含む文字領域と、主に表、図形等を含む線画領域とに分離し、線画領域は表領域と図形領域に分割する。
【０１００】
尚、実施形態１では、処理対象中の画像の連結画素を検知し、その連結画素の外接矩形領域の形状・サイズ・画素密度等の特徴量を用いて、属性毎の領域に分離するものとするが、その他の領域分割手法を用いても構わない。
【０１０１】
文字領域については、文字段落ごとの纏まった塊をブロックとして矩形ブロック（文字領域矩形ブロック）にセグメント化する。線画領域では、表、図形等の個々のオブジェクト（表領域矩形ブロック、線画領域矩形ブロック）ごとに矩形ブロックにセグメント化する。
【０１０２】
ハーフトーンで表現される写真領域は、画像領域矩形ブロック、背景領域矩形ブロック等のオブジェクトごとに、矩形ブロックにセグメント化する。
【０１０３】
分離された各領域は、さらに所定の大きさの領域（タイル）単位に分割され、タイル単位で、次のベクトル化処理でベクトル化される。
【０１０４】
（ステップＳ５２：ベクトル化処理）
ベクトル化処理により、各属性の領域のイメージデータをベクトルデータに変換する（ベクトル化する）。ベクトル化の方法は、例えば、以下、方法（ａ）〜（ｆ）等が存在する。
【０１０５】
（ａ）属性領域が文字領域のとき、さらにＯＣＲによる文字画像のコード変換を行ったり、あるいは文字のサイズ、スタイル、字体を認識し、原稿を走査して得られた文字に可視的に忠実なフォントデータに変換する。
【０１０６】
（ｂ）属性領域が文字領域であり、かつＯＣＲによる認識が不可能であったとき、文字の輪郭を追跡し、輪郭情報（アウトライン）を線分のつながりとして表現する形式に変換する。
【０１０７】
尚、実施形態１では、文字領域に対して、ＯＣＲ結果に応じて、方法（ａ）と方法（ｂ）とのいずれかを用いる例を示したが、これに限るものではなく、例えば、方法（ａ）は用いずに全ての文字領域に対して方法（ｂ）だけを用いるようにしても構わない。
【０１０８】
（ｃ）属性領域が図形領域のとき、図形オブジェクトの輪郭を追跡し、輪郭情報を線分のつながりとして表現する形式に変換する。
【０１０９】
（ｄ）方法（ｂ）及び（ｃ）の線分形式のアウトライン情報をベジエ関数等でフィッティングして、関数情報に変換する。
【０１１０】
（ｅ）方法（ｃ）の図形オブジェクトの輪郭情報から、図形の形状を認識し、円、矩形、多角形、等の図形定義情報に変換する。
【０１１１】
（ｆ）属性領域が図形領域であって、特定領域の表形式のオブジェクトの場合、罫線や枠線を認識し、所定のフォーマットの帳票フォーマット情報に変換する。
【０１１２】
（ステップＳ５３：タイルベクタデータ生成処理）
ステップＳ５２で、方法（ａ）〜（ｆ）のフォーマットコード情報、図形情報、関数情報等のコマンド定義形式情報にベクトル変換されたデータに対し、コントローラ１内でページベクタデータかタイルベクタデータかを判別するベクタタイプや、当該タイルのページ内の座標位置等の座標情報を判別するためのヘッダ情報を付加した、タイルベクタデータを生成する。このようにして、タイル単位に各種情報が付加されたタイルベクタデータをＳＢＢ２へ出力する。
【０１１３】
（ステップＳ５４：終了判定処理）
処理対象のラスタデータの有無を判定する。処理対象のラスタデータがある場合（ステップＳ５４でＮＯ）、ステップＳ５１に戻る。一方、処理対象のラスタデータがない場合（ステップＳ５４でＹＥＳ）、処理を終了する。
【０１１４】
［タイル／ページベクタ変換部］
次に、タイル／ページベクタ変換部１３の処理の詳細を説明するにあたり、処理対象となるドキュメントデータ（画像データ）について説明する。
【０１１５】
図６は本発明の実施形態１のネットワークから転送されてくるドキュメントデータの一例を示している。
【０１１６】
図６では、ドキュメントデータ８０１の短手方向を「Ｘ」方向、長手方向を「Ｙ」方向とするデバイス座標系を定義する。ドキュメントデータ８０１としては、ページベクタデータ、タイルベクタデータ、あるいはラスタデータ表現を含むページベクタデータ（タイルベクタデータ）、あるいはラスタデータのいずれかで構成される可能性がある。
【０１１７】
ここで、ドキュメントデータ８０１が、ページベクタデータである場合、その内容を構成する記述例について、図７を用いて説明する。
【０１１８】
図７は本発明の実施形態１のページベクタデータの記述例を示す図である。
【０１１９】
図７において、９０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、９０２は文字の描画命令部分、９０３は図形の描画命令部分を示している。
【０１２０】
各描画命令部分の詳細について説明する。
【０１２１】
ドキュメント設定命令部分９０１において、Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５は、ドキュメント１部について１ヶ所しか付いていない。
【０１２２】
これらドキュメントデータ全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）等がある。
【０１２３】
ここで、Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、Ａ４の設定になっている。Ｃ３はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート（ＰＯＲＴ）の設定になっている。
【０１２４】
Ｃ４はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータであるかタイルベクタで構成されるドキュメントデータであるかを示している。この場合には、ページ（ＰＡＧＥ）に設定されている。Ｃ５はドキュメント設定終了コマンドである。
【０１２５】
文字の描画命令部分９０２及び図形の描画命令部分９０３を構成するＣ６〜Ｃ２２は、ドキュメントデータを出力するための各種コマンドである。
【０１２６】
Ｃ６はページの開始を示すコマンドである。Ｃ７は文字のフォントの種類を選択するためのコマンドであり、この場合には「１」という番号の付けられたフォントセットに設定されている。Ｃ８はフォントの大きさを設定するコマンドであり、この場合には「１０ポイント」の大きさに設定されている。
【０１２７】
Ｃ９は文字の色を設定するコマンドであり、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、例えば、０から２５５の２５６段階で量子化されているものとする。この場合は、｛０，０，０｝に設定されている。Ｃ１０は文字を描画する開始位置の座標を示すコマンドである。座標位置（Ｘ，Ｙ）は、ページの左上を原点に指定する。この場合は、ページの｛１０，５｝の位置から文字の描画を開始するように設定されている。Ｃ１１は実際に描画する文字列（ＸＸＸＸ・・・ＹＹ・・・）を示すコマンドである。
【０１２８】
Ｃ１２は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。Ｃ１３は図形描画の線の色を指定するコマンドである。Ｃ１４は図形描画位置の座標を示すコマンドである。
【０１２９】
Ｃ１５は円弧を描画する際の半径を指定するコマンドであり、この場合、「１０」座標単位を示している。Ｃ１６は閉円弧の描画をするコマンドである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。
【０１３０】
Ｃ１７〜Ｃ２１は、Ｃ１２〜Ｃ１６までのコマンドと同様に、図形描画の際の面、線の色の指定、位置の指定等のコマンドである。Ｃ２２はページの終了を示すコマンドである。
【０１３１】
一方、ドキュメントデータ８０１がタイルベクタデータである場合について、図８を用いて説明する。
【０１３２】
図８は本発明の実施形態１のタイルベクタデータの例を示す図である。
【０１３３】
図８では、図６のドキュメントデータ８０１（ページベクタデータ）を、ブロック（タイル）単位で分割したタイルベクタデータ（ドキュメントデータ１００１）の一例を示している。
【０１３４】
図８では、ドキュメントデータ１００１の短手方向を「Ｘ」方向、長手方向を「Ｙ」とするデバイス座標系を定義する。また、図中のＸ方向に配列された数列は、Ｘ方向のタイルＩＤ、Ｙ方向に配列された数列は、Ｙ方向のタイルＩＤを表す。Ａ〜Ｄは、それぞれタイルＩＤ＝（０，０）、（１，０）、（２、４）、（１，５）の位置にあるタイルデータを示している。
【０１３５】
ここで、このドキュメントデータ１００１が、タイルベクタデータである場合、その内容を構成する記述例について、図９を用いて説明する。
【０１３６】
図９は本発明の実施形態１のタイルベクタデータの記述例を示す図である。
【０１３７】
図９において、１１０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、１１０２は描画命令部分全体、１１０３〜１１０６はそれぞれタイルＡ，Ｂ，Ｃ，Ｄの描画命令部分を示している。１１０７、１１０８はそれぞれタイルＤの文字の描画命令部分、図形の描画命令部分を示している。
【０１３８】
各描画命令の詳細について説明する。
【０１３９】
ドキュメント設定命令部分１１０１において、Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５は、ドキュメント１部について１ケ所しか付いていない。
【０１４０】
これらドキュメントデータ全体に関係するコマンドには、例えば、キャラクタセットコマンド（フォント指定コマンド）、スケーラブルフォントコマンド（スケーラブルフォントを使用するか否かを指定するコマンド）、ハードリセットコマンド（以前のプリンタ使用環境をリセットするコマンド）等がある。
【０１４１】
ここで、Ｃ１はドキュメント設定開始コマンドである。Ｃ２はドキュメントデータの出力用紙サイズを示すコマンドであり、この場合には、Ａ４の設定になっている。Ｃ３はドキュメントデータの方向を示すコマンドである。ここでは、ポートレートとランドスケープがあるが、この場合にはポートレート（ＰＯＲＴ）の設定になっている。
【０１４２】
Ｃ４はドキュメントデータのタイプを示すコマンドであり、ページベクタで構成されるドキュメントデータあるのかタイルベクタで構成されるドキュメントデータあるかを示している。この場合には、タイル（ＴＩＬＥ）に設定されている。Ｃ５はドキュメント設定終了コマンドである。
【０１４３】
描画命令部分１１０２を構成するＣ６〜Ｃ５００は、ドキュメントデータを出力するための各種コマンドである。
【０１４４】
Ｃ６はページの開始を示すコマンドである。Ｃ７は図８のタイルＡの描画コマンドの開始を示すコマンドである。ここで、ＴｉｌｅＳｔａｒｔ（０，０）中の２個のパラメータは、ドキュメントデータ内におけるタイルＩＤを示している。Ｃ８はタイルＡの描画コマンドの終了を示すコマンドである。タイルＡのように、そのタイル内にオブジェクトが何も存在しない場合は、タイルの開始と終了を示すコマンドだけが記述される。
【０１４５】
Ｃ９は図８のタイルＢの描画コマンドの開始を示すコマンドである。Ｃ１０は文字のフォントの種類を選択するためのコマンドであり、この場合には「１」という番号の付けられたフォントセットに設定されている。Ｃ１１はフォントの大きさを設定するコマンドであり、この場合には「１０ポイント」の大きさに設定されている。
【０１４６】
Ｃ１２は文字の色を設定するコマンドであり、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、例えば、０から２５５の２５６段階で量子化されているものとする。この場合は、｛０，０，０｝に設定されている。Ｃ１３は文字を描画する開始位置の座標を示すコマンドである。座標位置（Ｘ，Ｙ）は、タイルの左上を原点に指定する。この場合は、タイルの｛０，５｝の位置から文字の描画を開始するように設定されている。Ｃ１４は実際に描画する文字列（ＸＸＸＸ）を示すコマンドである。Ｃ１５はタイルＢの描画コマンドの終了を示すコマンドである。
【０１４７】
Ｃ１００は図８のタイルＣの描画コマンドの開始を示すコマンドである。Ｃ１０１は図形描画の際の面の塗りつぶしの色を示すコマンドである。色の指定は、文字の色と同様である。Ｃ１０２は図形描画の線の色を指定するコマンドである。Ｃ１０３は図形を描画する位置の座標を示すコマンドである。
【０１４８】
Ｃ１０４は円弧を描画する際の半径を指定するコマンドであり、この場合、「１０」座標単位を表している。Ｃ１０５は閉円弧の描画をするコマンドである。コマンド内の２個のパラメータは円弧を描画する際の描画開始角度と終了角度を示している。垂直情報を０度として、この場合には０度から９０度の円弧を描画することを示している。Ｃ１０６はタイルＣの描画コマンドの終了を示すコマンドである。
【０１４９】
Ｃ１２０は図８のタイルＤの描画コマンドの開始を示すコマンドである。Ｃ１２１〜Ｃ１３０は、Ｃ９〜Ｃ１５のコマンドと同様に文字の描画命令による文字のフォントの種類、色、大きさ等を指定するコマンド、及びＣ１００〜Ｃ１０６まてのコマンドと同様に図形の描画命令による図形の面、線の色、位置等を指定するコマンドである。Ｃ１３１はタイルＤの描画コマンドの終了を示すコマンドである。
【０１５０】
Ｃ５００はページの終了を示すコマンドである。
【０１５１】
次に、タイル／ページベクタ変換部１３の処理の詳細について、図１０を用いて説明する。
【０１５２】
図１０は本発明の実施形態１のタイル／ページベクタ変換部が実行する処理を示すフローチャートである。
【０１５３】
尚、このタイル／ページベクタ変換部１３では、ページベクタデータとタイルベクタデータ間での相互変換を行うことができる。あるいは、タイル／ページベクタ変換部１３は、ページベクタデータからタイルベクタデータへ変換する変換部と、タイルベクタデータからページベクタデータへ変換する変換部で構成されていても良い。
【０１５４】
（ステップＳ６０１）
まず、システムメモリ５中に記憶されたドキュメントデータ（ベクタデータ）から、ヘッダ部分に相当するコマンド列を読み込み、処理対象となるドキュメントデータ全体に関するコマンド部分を解析する。具体的には、図７または図９のＣ１〜Ｃ５に相当する部分の内容を解析する。
【０１５５】
（ステップＳ６０２）
解析の結果に基づいて、ドキュメントデータのタイプが、ページベクタデータであるか否かを判定する。ページベクタデータである場合（ステップＳ６０２でＹＥＳ）、ステップＳ６０３以降のステップに進み、ページベクタ→タイルベクタ変換を実行する。一方、ページベクタデータでない場合、つまり、タイルベクタデータである場合（ステップＳ６０２でＮＯ）、ステップＳ６１０以降のステップに進み、タイルベクタ→ページベクタ変換を実行する。
【０１５６】
（ステップＳ６０３）
ページベクタデータから、オブジェクトを記述するコマンド列を読み込む。
【０１５７】
（ステップＳ６０４）
ステップＳ６０３で読み込んだコマンド列を解析し、記述されているオブジェクトの大きさが分割したいタイルサイズを超えているか否かを判定する。つまり、オブジェクトの更なる分割が必要であるか否かを判定する。
【０１５８】
オブジェクトの大きさが分割したいタイルサイズを超えていない場合（ステップＳ６０４でＮＯ）、ステップＳ６０５をスキップして、ステップＳ６０６に進む。一方、オブジェクトの大きさが分割したいタイルサイズを超えている場合（ステップＳ６０４でＹＥＳ）、ステップＳ６０５に進む。
【０１５９】
（ステップＳ６０５）
ここでは、入力されたオブジェクトの分割処理を実行する。
【０１６０】
例えば、図７のページベクタデータでは、文字の描画命令部分９０２で、「ＸＸＸＸ・・・ＹＹ・・・」を含む全ての文字列の描画命令を記述している。これに対して、図９のタイルベクタデータでは、例えば、タイルＢに対する描画命令１１０４では、「ＸＸＸＸ」の文字列の描画命令しか記述されていない。
【０１６１】
従って、タイルベクタデータでは、文字列が複数のタイルに跨がる場合は、その文字列を途中（タイル境界）で分割し、分割された後続の文字列は別の文字列として、次のタイルに記述を行う。次のタイルに記述が収まらなかったら、同様にまたタイルに含まれる文字列を分割し、分割された全ての文字列がタイルサイズに収まるまで繰り返す。文字列をどこで切るかは、フォントの種類、サイズからタイル内に収まる文字数を算出し、その数だけの文字を抽出する。
【０１６２】
例えば、図７のページベクタデータの文字の描画命令部分９０２に対して、タイル内に収まる文字数は４つとして算出され、図７のコマンドＣ１１の記述は、タイルＢに対する描画命令を構成するコマンドＣ１３の記述に変換される。
【０１６３】
また、図形の描画命令部分９０３では、コマンドＣ１７〜Ｃ２１で記述されている図形（図６の３／４円）は、図８のタイルベクタデータを構成するタイルの１つには収まらない。そのため、この図形は、タイルＤを含む複数のタイルに分割される。図形の分割は、図形の描画位置や図形の形、大きさからタイルの境界領域と接する部分を算出し、その境界とタイル内に収まっている図形の部分領域で構成される閉領域を新たな図形として記述し直す。
【０１６４】
図７の図形の描画命令部分９０３で記述される図形（図６の３／４円）は、図９では、その左下の部分領域が、図形の描画命令部分１１０８のコマンドＣ１２６からＣ１３０のような１／４円の記述に変換される。また、残りの領域も、同様な形の１／４円の記述に変換される。
【０１６５】
（ステップＳ６０６）
入力されたオブジェクトのコマンドの記述に対し、タイルベクタデータ内での描画位置へ変更するために、座標位置の変換を行う。ページベクタデータでは、ページの左上からの位置を記述していたのに対し、タイルベクタデータではタイルの左上からの位置に記述し直す。描画位置をタイル内の座標で記述することにより、座標計算に要するデータ長を削減することが可能になる。
【０１６６】
（ステップＳ６０７）
１つのオブジェクトに対するコマンドの記述変換が終了したら、ページ内の全てのオブジェクトのコマンドの記述変換が終了したか否かを判定する。終了していない場合（ステップＳ６０７でＮＯ）、ステップＳ６０３に戻り、次のコマンドに対して、ステップＳ６０３〜ステップＳ６０７の処理を繰り返す。一方、終了した場合（ステップＳ６０７でＹＥＳ）、ステップＳ６０８へ進む。
【０１６７】
（ステップＳ６０８）
全てのコマンドの記述変換が終了したら、図８のように分割されたタイルベクタデータ中の各タイルに対し、ページの左上から順にタイルベクタデータとしてシステムメモリ５への書出を実行する。タイルベクタデータとしては、ステップＳ６０５及びステップＳ６０６で記述されたコマンドに対し、タイルの開始と終了を示すコマンドを追加するようなフォーマットで記述される。
【０１６８】
まず、ページの一番最初のコマンドの書出時点では、システムメモリ５内にオブジェクトがない状態のタイルベクタを生成しておく。オブジェクトがないタイルベクタとしては、例えば、図８のタイルＡがある。このタイルＡは、タイルの開始と終了を示すコマンドＣ７及びＣ８のみから構成される描画命令部分１１０３（図９）で記述される。
【０１６９】
次に、ステップＳ６０３〜ステップＳ６０７で処理されたコマンドが存在する座標のタイルに対し、オブジェクトの記述を追加する。例えば、図８のタイルＢの場合は、コマンドＣ９〜Ｃ１５から構成される描画命令部分１１０４（図９）で記述される。また、タイルＤのように、同じタイルに複数のオブジェクトが存在する場合には、描画命令部分１１０６のように、文字の描画命令部分１１０７を構成するオブジェクト記述と、図形の描画命令部分１１０８を構成するオブジェクト記述を列記する。
【０１７０】
（ステップＳ６０９）
１つのオブジェクトのタイルベクタへの書出が終了すると、そのページのオブジェクトの記述が全て終了したか否かを判定する。終了していない場合（ステップＳ６０９でＮＯ）、ステップＳ６０３に戻る。一方、終了した場合（ステップＳ６０９でＹＥＳ）、処理を終了する。
【０１７１】
一方、ステップＳ６０２で、ドキュメントデータのタイプが、タイルベクタデータである場合について説明する。
【０１７２】
（ステップＳ６１０）
タイルベクタデータから、オブジェクトを記述するコマンド列を読み込む。
【０１７３】
（ステップＳ６１１）
ステップＳ６１０で読み込んだコマンド列を解析し、記述されているオブジェクトがそれより以前に読み込まれたタイルと結合可能であるか否かを判定する。結合可能でない場合（ステップＳ６１１でＮＯ）、ステップＳ６１２をスキップし、ステップＳ６１３に進む。一方、結合可能である場合（ステップＳ６１１でＹＥＳ）、ステップＳ６１２に進む。
【０１７４】
尚、オブジェクトが結合可能であるか否かの判定は、読み込んだコマンドの座標位置や、図形の種別等を基に判定する。また、文字列の場合は、フォントサイズやフォントの種類を基に判定する。
【０１７５】
（ステップＳ６１２）
オブジェクトの結合処理を実行する。この処理は、基本的には、ステップＳ６０５の処理手順を逆にすることで実現する。
【０１７６】
（ステップＳ６１３）
入力されたオブジェクトのコマンドの記述に対し、ページベクタデータ内での描画位置へ変更するために、座標位置の変換を行う。タイルベクタデータでは、タイルの左上からの位置を記述していたのに対し、ページベクタデータでは、ページの左上からの位置に記述し直す。
【０１７７】
（ステップＳ６１４）
１つのオブジェクトに対するコマンドの記述変換が終了したら、タイル内の全てのオブジェクトのコマンドの記述変換が終了したか否かを判定する。終了していない場合（ステップＳ６１４でＮＯ）、ステップＳ６１０に戻り、次のコマンドに対して、ステップＳ６１０〜ステップＳ６１３の処理を繰り返す。一方、終了した場合（ステップＳ６１４でＹＥＳ）、ステップＳ６１５へ進む。
【０１７８】
（ステップＳ６１５）
全てのコマンドの記述変換が終了したら、ページベクタデータとしてシステムメモリ５への書出を実行する。ページベクタデータとしては、ステップＳ６１２及びステップＳ６１３で記述されたコマンドに対し、タイルの開始と終了を示すコマンドを削除したようなフォーマットで記述される。
【０１７９】
まず、ページ内の一番最初のタイルに記述されたコマンドの書出時点では、システムメモリ５内にオブジェクトがない状態のページベクタを生成しておく。これは、図７の記述を用いて説明すると、コマンドＣ１〜Ｃ６、コマンドＣ２２だけで記述されるページベクタである。
【０１８０】
次に、ステップＳ６１０〜ステップＳ６１３で処理されたオブジェクトの記述を追加する。図７の記述の場合、文字の描画命令部分９０２を構成するコマンドＣ７〜Ｃ１１がそれにあたる。この場合のオブジェクトは、文字列｛ＸＸＸＸ・・・ＹＹ・・｝を示しているが、これは、ステップＳ６１２で、図９の文字の描画命令部分１１０４や１１０７等で記述される各タイル中の文字列を順次結合したオブジェクトの記述である。
【０１８１】
（ステップＳ６１６）
１つコマンドのページベクタへの書出が終了すると、そのタイルのオブジェクトの記述が全て終了したか否かを判定する。終了していない場合（ステップＳ６１６でＮＯ）、ステップＳ６１０に戻る。一方、終了した場合（ステップＳ６１６でＹＥＳ）、ステップＳ６１７に進む。
【０１８２】
（ステップＳ６１７）
１つのタイルベクタデータの書出が終了すると、そのページのタイルベクタデータの記述に対する処理が全て終了したか否かを判定する。終了していない場合（ステップＳ６１７でＮＯ）、ステップＳ６１０に戻る。一方、終了した場合（ステップＳ６１７でＹＥＳ）、処理を終了する。
【０１８３】
[画像データ展開部（ＲＩＰ）]
次に、コントローラ１中の画像データ展開部１８の詳細について説明する。
【０１８４】
まず、コピーやプリント、送信等の画像データに対する処理を開始する前に、ローカルメモリ１９の初期化と、作成するオブジェクトの解像度の設定を行っておく。実施形態１では、生成解像度は６００ｄｐｉとし、ポイントサイズやｍｍ等の単位系で指定された印刷コマンドは、この値を用いてドット数に変換されることになる。
【０１８５】
以下では、画像データ展開部１８によって、タイルベクタデータ展開を実行する場合の処理について、図１１を用いて説明する。
【０１８６】
図１１は本発明の実施形態１の画像データ展開部が実行する処理を示すフローチャートである。
【０１８７】
（ステップＳ７１）
システムメモリ５より、ＳＢＢ２を経由して、ＲＩＰ１８に一定サイズ分入力されたタイルベクタデータは、ローカルメモリ１９のタイルベクタ領域に一時的に格納する。
【０１８８】
（ステップＳ７２）
タイルベクタデータをローカルメモリ１９に格納したら、ＲＩＰ１８内のμＲＩＰ１８ａ〜１８ｄのいずれかが、タイルベクタデータを展開可能（処理可能）であるか否かを判定する。μＲＩＰ１８ａ〜１８ｄのいずれもタイルベクタデータの展開（処理）中である場合（ステップＳ７２でＮＯ）、それらのいずれかが展開可能になるまで待機する。
【０１８９】
（ステップＳ７３）
μＲＩＰ１８ａ〜１８ｄのいずれかがタイルベクタデータを展開可能になれば、予め定められた文法に従って、ローカルメモリ１９に格納されたタイルベクタデータのコマンド解析を実行する。
【０１９０】
（ステップＳ７４）
コマンド解析結果に基づいて、コマンドが描画命令であるか排紙命令であるかを判定する。描画命令である場合（ステップＳ７４でＹＥＳ）、ステップＳ７５に進む。一方、排紙命令である場合（ステップＳ７４でＮＯ）、ステップＳ７６に進む。
【０１９１】
（ステップＳ７５）
コマンドが描画命令である場合、描画オブジェクト（ＤＬデータ）の生成を実行する。タイルベクタデータ内のコマンドが文字の描画命令である場合、そのコマンドで指定されるフォントの書体や、文字サイズ、文字コードを元にフォントオブジェクトを生成して、ローカルメモリ１９のＤＬデータ領域に格納する。また、文字以外の描画命令、つまり、図形の描画命令である場合、そのコマンドで指定された図形（ラインや円、多角形等）の描画オブジェクトを生成し、ローカルメモリ１９のＤＬデータ領域に格納する。
【０１９２】
また、コマンドが描画命令で指定されない印刷データである場合には、この印刷データに応じて印刷位置移動や印刷環境設定等の印刷制御処理を実行し、一単位分のコマンド解釈を終了する。
【０１９３】
これは、タイルベクタデータ内のコマンド全ての解釈が終了するまで、上記処理を繰り返す。
【０１９４】
（ステップＳ７６）
コマンドが排紙命令である場合、μＲＩＰは、ローカルメモリ１９上のタイルラスタ領域に空き領域があるか否かを判定する。空き領域がない場合（ステップＳ７６でＮＯ）、他のμＲＩＰの処理が終了して、タイルラスタ領域が解放されて、空き領域ができるまで待機する。一方、空き領域がある場合（ステップＳ７６でＹＥＳ）、ステップＳ７７に進む。
【０１９５】
（ステップＳ７７）
タイルラスタ領域に空き領域がある場合、ステップＳ７５で生成された描画オブジェクトを読み出し、タイルラスタ領域に描画（ラスタライズ）する。この時、生成解像度が６００ｄｐｉであれば、タイルラスタ領域には６００ｄｐｉの画像としてラスタライズされる。そして、描画が終了したタイルラスタ画像は、ＳＢＢ２を介して、画像処理部１５に出力する。
【０１９６】
（ステップＳ７８）
ステップＳ７５またはステップＳ７７で一つのタイルベクタデータに対する、コマンド解析または描画処理が終了したら、タイルベクタ領域に格納したタイルベクタデータのすべてに対して処理が終了したか否かを判定する。未処理のタイルベクタデータがある場合（ステップＳ７８でＮＯ）、ステップＳ７２に戻り、次のタイルベクタデータの処理を続ける。一方、未処理のタイルベクタデータがない場合（ステップＳ７８でＹＥＳ）、ステップＳ７９に進む。
【０１９７】
（ステップＳ７９）
１ページ分のタイルベクタデータに対し、全ての処理が終了したか否かを判定する。未処理のタイルベクタデータがある場合（ステップＳ７９でＮＯ）、ステップＳ７１に戻り、システムメモリ５から、タイルベクタデータを読み出して、処理を続ける。一方、未処理のタイルベクタデータがない場合（ステップＳ７９でＹＥＳ）、処理を終了する。
【０１９８】
以上説明したように、実施形態１によれば、システムメモリ上に、入力された画像データをページベクタデータとタイルベクタデータの２種類の形式の画像データのみを記憶する構成を採用する。これにより、画像サイズの大きいラスタデータ及びＤＬデータをシステムメモリに記憶する必要がなくなる。そのため、システムメモリ上で確保しなければならない画像データ領域を削減することができる。
【０１９９】
また、外部機器に画像データを送信する際にはタイルベクタデータをページベクタデータに変換して、画像データ内に存在するオブジェクト数を減らすことで、送信データ量を削減することができる。また、送信先への画像データをページベクタデータで送信することで、送信先では、受信した画像データ（ページベクタデータ）を、ＰＤＦやＳＶＧ等の汎用フォーマットへ容易に変換することができる。
【０２００】
また、データスプールをベクタデータで行うことにより、システムの解像度依存性が解消され、画質とシステムの処理速度向上が並行して実現できるようになる。つまり、コストパフォーマンスの高いシステムを構成することができる。
【０２０１】
さらに、システム内の画像データをベクタデータで取り扱うことにより、蓄積画像データの検索性の向上や、ラスタデータをオブジェクト化して再利用するようなＰＯＤ印刷に対応するための画像加工を高速化に寄与する等の、よりインテリジェントなシステムを実現することができる。
【０２０２】
また、ベクタデータに展開するための画像データ展開部を複数個用意して並列に動作させることで、タイルベクタデータの展開を高速化することができる。また、動作させる画像データ展開部の個数を制御することで、用途や目的に応じて、その処理機能を可変にできるスケーラブルなシステムを構築することが可能となる。
【０２０３】
［実施形態２］
実施形態１では、ＭＦＰから外部機器への送信を行う際には、タイルベクタデータをページベクタデータに変換して、データ量の削減や画像データの汎用性を高めているが、これに限定されない。例えば、画像データを記憶する際にタイルベクタデータだけではなく、予めページベクタデータも併せて記憶するようにしても良い。このような構成の場合、送信の際に、タイルベクタデータからページベクタデータへ変換することなく、外部機器にページベクタデータを送信することもできる。
【０２０４】
尚、システム全体の構成は、実施形態１と同様なので、その詳細については割愛する
以下、実施形態２における画像処理システムでの送信動作について説明する。
【０２０５】
[送信]
図１２は本発明の実施形態２の画像処理システムでの送信動作に係るデータフローを示す図である。
【０２０６】
尚、このデータフローは、ＣＰＵ３の制御の下、ＭＦＰ１０００を構成する各種構成要素を協調動作させることで実現される。
【０２０７】
（Ｓ１３１）：実施形態２では、１つの画像データに対し、ＨＤＤ８にはタイルベクタデータとページベクタデータとが関連付けて記憶される。送信時は、その内のページベクタデータが選択され、ＳＢＢ２を介して、汎用バス６に接続されたＨＤＤＣｏｎｔ７より読み出され、システムメモリ５に一時的に記憶される。
【０２０８】
（Ｓ１３２）：システムメモリ５に記憶されたページベクタデータは、汎用バス６に接続されたネットワークＩ／Ｆ１１から読み出され、ネットワーク１２に接続された外部機器へと転送される。
【０２０９】
尚、実施形態２では、実施形態１に比べて、ＨＤＤ８に記憶すべき画像データ容量が多くなるが、送信時のフローが非常に簡略化される。
【０２１０】
以上説明したように、実施形態２によれば、実施形態１で説明した効果に加えて、１つの画像データに対して、タイルベクタデータと、それに対応するページベクタデータを併せてＨＤＤに記憶管理しておく。これにより、記憶管理されている２種類のベクタデータをＨＤＤから適宜選択するだけで、画像データの出力時により適切なベクタデータを、変換処理を行うことなく、出力することができる。
【０２１１】
［実施形態３］
実施形態３では、実施形態１の図１０のステップＳ６０５のオブジェクトの分割処理の応用例について説明する。
【０２１２】
実施形態３では、タイル／ページベクタ変換部１３において、特に、処理対象のオブジェクトが曲線オブジェクトである場合に、その曲線オブジェクトの分割処理について説明する。
【０２１３】
図１３は本発明の実施形態３のタイルベクタデータの例を示す図である。
【０２１４】
図１３では、ドキュメントデータ１４０１の短手方向を「Ｘ」方向、長手方向を「Ｙ」と定義する。また、図中のＸ方向に配列された数列は、Ｘ方向のタイルＩＤ、Ｙ方向に配列された数列は、Ｙ方向のタイルＩＤを表す。Ａ〜Ｃは、それぞれタイルＩＤ＝（０，０）、（２，３）、（３，３）の位置にあるタイルベクタを示している。
【０２１５】
特に、図１３では、タイルＢ及びＣに曲線オブジェクトが跨がっている、つまり、曲線オブジェクトがタイルＢ及びＣによって分割されている例を示している。
【０２１６】
ここで、このドキュメントデータ１４０１がタイル分割前のページベクタデータである場合、その内容を構成する記述例について、図１４を用いて説明する。
【０２１７】
図１４は本発明の実施形態３のページベクタデータの記述例を示す図である。
【０２１８】
図１４において、１５０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、１５０２は描画命令部分全体を示している。
【０２１９】
各描画命令の詳細について説明する。
【０２２０】
ドキュメント設定命令部分１５０１において、Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５は、ドキュメント１部について１ケ所しか付いていない。
【０２２１】
これらドキュメントデータ全体に関係するコマンドには、実施形態１の図７で詳述した内容と同様である。
【０２２２】
描画命令部分を構成するＣ６〜Ｃ１０は、ドキュメントデータを出力するための各種コマンドである。
【０２２３】
Ｃ６はページの開始を示すコマンドである。Ｃ７は線（曲線）の色を設定するコマンドであり、順にＲ（赤），Ｇ（緑），Ｂ（青）各色成分の輝度を示してある。この輝度は、例えば、０から２５５の２５６段階で量子化されているものとする。この場合は、｛２５５，９２，１２８｝に設定されている。
【０２２４】
Ｃ８は曲線を描画する開始位置（曲線を規定する一方の端点）の座標を示すコマンドである。座標位置（Ｘ，Ｙ）は、ページの左上を原点に指定する。この場合は、ページの｛６６，１１２｝の位置から曲線の描画を開始するように設定されている。Ｃ９は曲線を描画するアンカーポイントと終了位置（曲線を規定する他方の端点）の座標を示すコマンドである。この場合は、ページの｛１２６，９８｝及び｛６６，１２６｝のアンカーポイントを通り、｛１２６，１１２｝の位置で曲線の描画を終了するように設定されている。Ｃ１０はページの終了を示すコマンドである。
【０２２５】
これに対して、ドキュメントデータ１４０１がタイル分割後のタイルベクタデータである場合、その内容を構成する記述例について、図１５を用いて説明する。
【０２２６】
図１５は本発明の実施形態３のタイルベクタデータの記述例を示す図である。
【０２２７】
図１５において、１６０１はドキュメントデータ全体の設定に関わるドキュメント設定命令部分、１６０２は描画命令部分全体、１６０３〜１６０５はタイルＡ〜Ｃの描画命令部分を示している。１６０６及び１６０７はタイルＢの図形（曲線）の描画命令部分、１６０８及び１６０９はタイルＣの図形（曲線）の描画命令部分を示している。
【０２２８】
各描画命令の詳細について説明する。
【０２２９】
ドキュメント設定命令部分１６０１において、Ｃ１〜Ｃ５は、ドキュメント全体に関係するコマンドである。従って、これらのコマンドＣ１〜Ｃ５は、ドキュメント１部について１ケ所しか付いていない。
【０２３０】
これらドキュメントデータ全体に関係するコマンドは、実施形態１の図９で詳述した内容と同様である。
【０２３１】
描画命令部分１６０２を構成するＣ６〜Ｃ５００は、ドキュメントデータを出力するための各種コマンドである。
【０２３２】
Ｃ６はページの開始を示すコマンドである。Ｃ７は図１３のタイルＡの描画コマンドの開始を示すコマンドである。ここで、ＴｉｌｅＳｔａｒｔ（０，０）中の２個のパラメータは、ドキュメントデータ内におけるタイルのＩＤを示している。Ｃ８はタイルＡの描画コマンドの終了を示すコマンドである。タイルＡのように、そのタイル内にオブジェクトが何も存在しない場合は、タイルの開始と終了を示すコマンドだけが記述される。
【０２３３】
ここで、タイルＢ及びＣについては、ページベクタデータ上の１つの曲線オブジェクトが、タイルＢ及びＣによって４つの曲線オブジェクトに分割される。そして、その４つの曲線オブジェクトの内、２つの曲線オブジェクトがそれぞれタイルＢ及びＣに属する。
【０２３４】
そのため、タイルＢの描画命令部分１６０４では、その２つの曲線オブジェクトを構成する色としてコマンドＣ１０１、各曲線オブジェクトの開始位置、アンカーポイント、終了位置からなる描画命令部分１６０６（コマンドＣ１０２及びＣ１０３）、描画命令部分１６０７（コマンドＣ１０４及びＣ１０５）が記述されている。
【０２３５】
同様に、タイルＣの描画命令部分１６０５では、その２つの曲線オブジェクトを構成する色としてコマンドＣ１２１、各曲線オブジェクトの開始位置、アンカーポイント、終了位置からなる描画命令部分１６０８（コマンドＣ１２２及びＣ１２３）、描画命令部分１６０９（コマンドＣ１２４及びＣ１２５）が記述されている。
【０２３６】
次に、タイルＢ及びタイルＣに跨がる曲線オブジェクトのタイル分割について、図１６を用いて説明する。
【０２３７】
図１６は本発明の実施形態３の曲線オブジェクトのタイル分割を説明するための図である。
【０２３８】
図１６（ａ）に示す１つ以上のタイルに跨がる曲線オブジェクトは、図１６（ｂ）に示すように、まず、その曲線が内包される凸多角形Ｐ０−Ｐ１−Ｐ３−Ｐ２を算出する。次に、この曲線オブジェクトが注目タイルのどの辺と交差している可能性があるかを、タイル辺１６Ａ−１６Ｂ，１６Ｂ−１６Ｄ，１６Ｄ−１６Ｃ，１６Ｃ−１６Ａと、線分Ｐ０−Ｐ１，Ｐ１−Ｐ３，Ｐ３−Ｐ２，Ｐ２−Ｐ１のそれぞれの組み合わせで交差するか否かを評価する。
【０２３９】
ここでは、図１６（ｃ）に示すように、線分Ｐ０−Ｐ１及び線分Ｐ３−Ｐ２と交差したタイル辺１６Ｂ−１６Ｄについて、曲線Ｐ０−Ｐ３の交点を算出し、交点Ｐ４，Ｐ５，Ｐ６を取得する。次に、曲線Ｐ０−Ｐ３を、交点Ｐ４，Ｐ５，Ｐ６を端点とした曲線Ｐ０−Ｐ４，Ｐ４−Ｐ５，Ｐ５−Ｐ６，Ｐ６−Ｐ３に分割する。更に、それぞれの曲線のアンカーポイントＰ７，Ｐ８，Ｐ９，Ｐ１０等を算出し、分割された曲線を描画するためのコマンドを生成する。
【０２４０】
以上のようにして、１つ以上のタイルに跨がる曲線オブジェクトを各タイルに分割することができる。
【０２４１】
次に、曲線オブジェクトの分割処理の詳細について、図１７を用いて説明する。
【０２４２】
図１７は本発明の実施形態３の曲線オブジェクトの分割処理の詳細を示すフローチャートである。
【０２４３】
尚、この処理は、図６のステップＳ６０５のオブジェクトの分割処理において、処理対象が曲線オブジェクトである場合に実行する。
【０２４４】
（ステップＳ１８０１）
まず、処理対象の曲線オブジェクトが、既に他の隣接タイルで分割されているか否かを判定する。分割されている場合（ステップＳ１８０１でＹＥＳ）、ステップＳ１８０９に進む。一方、分割されていない場合（ステップＳ１８０１でＮＯ）、ステップＳ１８０２に進む。
【０２４５】
（ステップＳ１８０２）
処理対象の曲線オブジェクトを内包する凸多角形とその頂点を算出する。
【０２４６】
（ステップＳ１８０３）
処理対象の曲線オブジェクトを内包する凸多角形が、注目タイルのどの辺と交差可能性があるかを評価する。
【０２４７】
（ステップＳ１８０４）
ステップＳ１８０３の評価結果から、処理対象の曲線オブジェクトを内包する凸多角形が注目タイルのどれかの辺と交差可能性があるか否かを判定する。交差可能性がない場合（ステップＳ１８０４でＮＯ）、処理を終了する。一方、交差可能性がある場合（ステップＳ１８０４でＹＥＳ）、ステップＳ１８０５に進む。
【０２４８】
（ステップＳ１８０５）
処理対象の曲線オブジェクトを内包する凸多角形と交差可能性のある注目タイルの注目辺（タイル辺）を選択し、当該タイル辺とその曲線オブジェクトの交点を算出する。また、その算出した交点をシステムメモリ５に記憶する。ここで、交点数は、例えば、０から３の可能性がある。
【０２４９】
尚、この交点の算出は、例えば、凸多角形と構成する注目タイルのタイル辺に基づいて規定される方程式に基づいて算出する。
【０２５０】
（ステップＳ１８０６）
処理対象の曲線オブジェクトを内包する凸多角形と交差可能性のある注目辺との交点をすべて算出したか否かを判定する。未算出の注目辺の交点がある場合（ステップＳ１８０６でＮＯ）、ステップＳ１８０５に戻る。一方、未算出の注目辺の交点がない場合（ステップＳ１８０６でＹＥＳ）、ステップＳ１８０７に進む。
【０２５１】
ここで、ステップＳ１８０２〜ステップＳ１８０４の処理を実行することで、処理量の多い交点算出処理（ステップＳ１８０５及びステップＳ１８０６）のループ回数を低減することができる。
【０２５２】
（ステップＳ１８０７）
注目タイルの注目辺と曲線オブジェクトの注目交点を用いて、曲線オブジェクトを分割する。また、分割された曲線の端点とアンカーポイントを算出して、システムメモリ５に記憶する。
【０２５３】
（ステップＳ１８０８）
システムメモリ５に記憶されているタイル辺と曲線オブジェクトの交点すべてにおいて、曲線オブジェクトの分割が終了したか否かを判定する。分割が終了していない場合（ステップＳ１８０８でＮＯ）、ステップＳ１８０７に戻る。一方、分割が終了している場合（ステップＳ１８０８でＹＥＳ）、処理を終了する。
【０２５４】
（ステップＳ１８０９）
一方、ステップＳ１８０１において、処理対象の曲線オブジェクトが、既に他の隣接タイルで分割されている場合、その他の隣接タイルで処理されたときにシステムメモリ５に記憶された、その曲線オブジェクトと隣接タイルとの交点を取得する。
【０２５５】
（ステップＳ１８１０）
他の隣接タイルで算出した、曲線オブジェクトを内包する凸多角形とその頂点を取得して、ステップＳ１８０３へ進む。
【０２５６】
次に、ステップＳ１８０２の処理の詳細について、図１８を用いて説明する。
【０２５７】
図１８は本発明の実施形態３のステップＳ１８０２の処理の詳細を示すフローチャートである。
【０２５８】
（ステップＳ１９０１）
曲線オブジェクトの端点及びアンカーポイントの４点で形成された四角形Ｐ０−Ｐ１−Ｐ３−Ｐ２（例えば、図１６（ｂ））の一頂点Ｐ０が、他の頂点からなる三角形Ｐ１−Ｐ２−Ｐ３に内包されるか否かを判定する。内包される場合（ステップＳ１９０１でＹＥＳ）、ステップＳ１９０６へ進む。一方、内包されない場合（ステップＳ１９０１でＮＯ）、ステップＳ１９０２へ進む。
【０２５９】
（ステップＳ１９０２）
曲線オブジェクトの端点及びアンカーポイントの４点で形成された四角形Ｐ０−Ｐ１−Ｐ３−Ｐ２の一頂点Ｐ１が、他の頂点からなる三角形Ｐ０−Ｐ２−Ｐ３に内包されるか否かを判定する。内包される場合（ステップＳ１９０２でＹＥＳ）、ステップＳ１９０７へ進む。一方、内包されない場合（ステップＳ１９０２でＮＯ）、ステップＳ１９０３へ進む。
【０２６０】
（ステップＳ１９０３）
曲線オブジェクトの端点及びアンカーポイントの４点で形成された四角形Ｐ０−Ｐ１−Ｐ３−Ｐ２の一頂点Ｐ２が、他の頂点からなる三角形Ｐ０−Ｐ１−Ｐ３に内包されるか否かを判定する。内包される場合（ステップＳ１９０３でＹＥＳ）、ステップＳ１９０８へ進む。一方、内包されない場合（ステップＳ１９０３でＮＯ）、ステップＳ１９０４へ進む。
【０２６１】
（ステップＳ１９０４）
曲線オブジェクトの端点及びアンカーポイントの４点で形成された四角形Ｐ０−Ｐ１−Ｐ３−Ｐ２の一頂点Ｐ３が、他の頂点からなる三角形Ｐ０−Ｐ１−Ｐ２に内包されるか否かを判定する。内包される場合（ステップＳ１９０４でＹＥＳ）、ステップＳ１９０９へ進む。一方、内包されない場合（ステップＳ１９０４でＮＯ）、ステップＳ１９０５へ進む。
【０２６２】
（ステップＳ１９０５）
四角形Ｐ０−Ｐ１−Ｐ３−Ｐ２を、曲線オブジェクトを内包する凸多角形とし、これの頂点としてＰ０，Ｐ１，Ｐ２，Ｐ３をシステムメモリ５に記憶し、処理を終了する。
【０２６３】
（ステップＳ１９０６）
三角形Ｐ１−Ｐ２−Ｐ３を、曲線オブジェクトを内包する凸多角形とし、これの頂点としてＰ１，Ｐ２，Ｐ３をシステムメモリ５に記憶し、処理を終了する。
【０２６４】
（ステップＳ１９０７）
三角形Ｐ０−Ｐ２−Ｐ３を、曲線オブジェクトを内包する凸多角形とし、これの頂点としてＰ０，Ｐ２，Ｐ３をシステムメモリ５に記憶し、処理を終了する。
【０２６５】
（ステップＳ１９０８）
三角形Ｐ０−Ｐ１−Ｐ３を、曲線オブジェクトを内包する凸多角形とし、これの頂点としてＰ０，Ｐ１，Ｐ３をシステムメモリ５に記憶し、処理を終了する。
【０２６６】
（ステップＳ１９０９）
三角形Ｐ０−Ｐ１−Ｐ２を、曲線オブジェクトを内包する凸多角形とし、これの頂点としてＰ０，Ｐ１，Ｐ２をシステムメモリ５に記憶し、処理を終了する。
【０２６７】
次に、ステップＳ１８０３の処理の詳細について、図１９を用いて説明する。
【０２６８】
図１９は本発明の実施形態３のステップＳ１８０３の処理の詳細を示すフローチャートである。
【０２６９】
（ステップＳ２００１）
まず、注目タイルが曲線オブジェクトを内包する凸多角形に内包されるか否かを判定する。内包される場合（ステップＳ２００１でＹＥＳ）、ステップＳ２００２へ進む。一方、内包されない場合（ステップＳ２００１でＮＯ）、ステップＳ２００３へ進む。
【０２７０】
（ステップＳ２００２）
すべてのタイル辺が曲線オブジェクトと交差可能性があることを示す情報をシステムメモリ５に記憶し、処理を終了する。
【０２７１】
（ステップＳ２００３）
曲線オブジェクトを内包する凸多角形がタイルに内包されるか否かを判定する。内包される場合（ステップＳ２００３でＹＥＳ）、ステップＳ２００４へ進む。一方、内包されない場合（ステップＳ２００３でＮＯ）、ステップＳ２００５へ進む。
【０２７２】
（ステップＳ２００４）
どのタイル辺も曲線オブジェクトと交差可能性がないことを示す情報をシステムメモリ５に記憶し、処理を終了する。
【０２７３】
（ステップＳ２００５）
４つのタイル辺のひとつを注目タイル辺として設定する。
【０２７４】
（ステップＳ２００６）
３つもしくは４つの凸多角形の辺のひとつを注目凸多角形辺として設定する。
【０２７５】
（ステップＳ２００７）
注目タイル辺と、注目凸多角形辺が交差するか否かを判定する。交差する場合（ステップＳ２００７でＹＥＳ）、ステップＳ２００８へ進む。一方、交差しない場合（ステップＳ２００７でＮＯ）、ステップＳ２００９へ進む。
【０２７６】
（ステップＳ２００８）
注目タイル辺が曲線オブジェクトと交差可能性があることを示す情報をシステムメモリ５に記憶する。
【０２７７】
（ステップＳ２００９）
３つもしくは４つの凸多角形辺すべてに関して、注目凸多角形辺に対する設定処理（ステップＳ２００６及びステップＳ２００７）が完了しているか否かを判定する。完了していない場合（ステップＳ２００９でＮＯ）、ステップＳ２００６へ戻る。一方、完了している場合（ステップＳ２００９でＹＥＳ）、ステップＳ２０１０へ進む。
【０２７８】
（ステップＳ２０１０）
４つのタイル辺すべてに関して、注目タイル辺に対する設定処理（ステップＳ２００５）が完了しているか否かを判定する。完了していない場合（ステップＳ２０１０でＮＯ）、ステップＳ２００５へ戻る。一方、完了している場合（ステップＳ２０１０でＹＥＳ）、処理を終了する。
【０２７９】
以上説明したように、実施形態３によれば、実施形態１及び２で説明した効果に加えて、曲線オブジェクトが存在するページベクタデータをタイルベクタデータに変換する際には、その曲線オブジェクトの形状を評価して、その評価結果に基づいて、タイルベクタデータに変換する。これにより、その曲線オブジェクトが適切にタイル上に分割されたタイルベクタデータを生成することができる。
【０２８０】
［実施形態４］
図２９で示す従来のシステムでは、ＲＩＰ１１３でページベクタデータがラスタデータにレンダリングされる際、ページベクタデータに含まれるイメージオブジェクトは、レンダリングを行う解像度に応じて解像度変換がなされた上で、ラスタデータが生成される。
【０２８１】
イメージオブジェクトの解像度変換の際には、補間処理のないニアレストネイバー法で拡大縮小される場合と、エイリアジングの副作用を避けるためにバイリニア法やバイキュービック法等の補間処理が行われる場合がある。また、特許登録第３１１１９７１号公報に開示されているように、これら複数の補間処理を切り換えることや、補間処理を行う際に補間領域をイメージオブジェクトの境界より広げることが行われている。
【０２８２】
一方、上記実施形態１では、イメージオブジェクトを含むページベクタデータをタイルベクタデータに変換する方法としては、例えば、以下のいくつかの方法が考えられる。
【０２８３】
まず、イメージオブジェクトを含むページベクタデータをタイルベクタデータに分割する際、単一のイメージオブジェクトが存在する複数のタイルに、イメージオブジェクトそのものをコピーして、タイルに埋め込む方法がある。この場合、イメージオブジェクトが存在するタイルＮ個それぞれに対してイメージオブジェクト全体を埋め込むと、イメージオブジェクトサイズのＮ−１倍のデータ量がページ（画像データ）全体で増加する。このため、このような場合には、タイルベクタデータへの変換に伴ってデータ量が増大することになる。
【０２８４】
一方、複数のタイルに跨がって存在するイメージオブジェクトをタイル境界で分割し、それぞれのタイルベクタデータに、それぞれ対応する分割後のイメージオブジェクトを埋め込む方法を採用すれば、タイルベクタデータ変換に伴うデータ量の増大は回避可能である。
【０２８５】
ここで、イメージオブジェクトをレンダリング後の解像度に合わせて解像度変換する際には、バイリニア法やバイキュービック法等の補間処理を選択することも可能である。しかしながら、この場合、タイル境界で分割されたイメージオブジェクトは、タイル境界外に画素を持たない。
【０２８６】
そのため、これらの補間処理を行うと、タイルベクタデータをレンダリングして、タイルラスタデータからなるページラスタデータを生成する際には、ページベクタデータ上のタイル境界に相当する位置にイメージオブジェクトの不連続領域が生じ、画質の劣化が発生することになる。
【０２８７】
そこで、上記の２種類の方法による課題を解決するために、イメージオブジェクトをタイル境界で分割する際には、そのイメージオブジェクトを構成する一部の画素を重複して分割し、補間処理に必要なタイル境界外の画素も併せてタイルベクタデータに埋め込む方法が考えられる。
【０２８８】
この方法を用いれば、データ増大の課題と、補間処理による画質劣化の課題を解決することが可能となる。しかしながら、この方法を採用したとしても、同一の画素を二重以上持つ必要が発生する。そのため、この方法でも、上記の方法ほどではないが、タイルベクタデータへの変換に伴ってデータ量が増大することになる。
【０２８９】
そこで、実施形態４では、特に、イメージオブジェクトを含むページベクタデータからタイルベクタデータへ変換する際のデータ量増大を抑え、かつ画質劣化が生じるような補間処理を行わないことで、エイリアジングの発生も抑えることが可能な、イメージオブジェクトの分割処理について説明する。
【０２９０】
実施形態４では、イメージオブジェクトの解像度は、一般的に、３００ｄｐｉ以下であり、この解像度は、通常は、６００ｄｐｉ以上となるプリント解像度よりも低解像度である場合がほとんどである点に着目している。また、エイリアジングの問題は、画像を縮小する場合が、拡大する場合よりもより顕著な問題となる点に着目している。
【０２９１】
そこで、実施形態４では、閾値解像度を定義して、同一イメージオブジェクトを分割する際に、当該イメージオブジェクトの解像度が閾値解像度よりも高ければ、タイル境界外の周辺画素をベクタタイルデータに重複して保持する。一方、当該イメージオブジェクトの解像度が閾値解像度よりも低ければ、タイル境界外の周辺画素をベクタタイルデータに重複して保持しない構成を採用する。
【０２９２】
更に、イメージオブジェクトのレンダリング時には、タイル境界外周辺画素がない場合にはニアレストネイバー法によって解像度を変換し、タイル境界外周辺画素がある場合にはバイキュービック法、バイリニア法等の補間処理を用いて解像度を変換するように、その変換方法を適応的に切り替える。これにより、イメージオブジェクトのタイル分割によるデータ量増大を抑え、かつ補間処理を行わないことによるエイリアジングの発生も抑えることを実現する。
【０２９３】
以下、実施形態４では、実施形態１の図６のステップＳ６０５のオブジェクトの分割処理の応用例について説明する。
【０２９４】
実施形態４では、タイル／ページベクタ変換部１３において、特に、処理対象のオブジェクトがイメージオブジェクトである場合の、そのイメージオブジェクトの分割処理について説明する。
【０２９５】
まず、１つ以上のタイルに跨がるイメージオブジェクトのタイル分割について、図２０を用いて説明する。
【０２９６】
図２０は本発明の実施形態４のイメージオブジェクトのタイル分割を説明するための図である。
【０２９７】
図２０に示すイメージオブジェクト２０００は、ページベクタデータに含まれており、タイルベクタデータに分割する際には、その配置された座標からタイル１４０２〜１４０５に跨がって存在する。
【０２９８】
タイル／ページベクタ変換部１３によるオブジェクトの分割処理では、まず、イメージオブジェクト２０００の解像度と所定解像度（閾値解像度：例えば、６００ｄｐｉ）を比較する。
【０２９９】
尚、この所定解像度は、通常は、ＲＩＰ１８が生成するラスタデータの解像度であるとする。また、複数種類の解像度のラスタデータを生成可能である場合は、それらの内、最低解像度としても良い。
【０３００】
比較の結果、イメージオブジェクト２０００の解像度が所定解像度よりも低解像度である場合、タイル１４０２〜１４０５に跨がって存在するイメージオブジェクト２０００を、そのタイル１４０２〜１４０５のタイル境界で分割する。そして、その分割されたイメージオブジェクト１４０６〜１４０９をそれぞれ対応するタイル１４０２〜１４０５へ埋め込む。
【０３０１】
一方、イメージオブジェクト２０００の解像度が所定解像度よりも高解像度である場合、タイル１４０２〜１４０５に跨がって存在するイメージオブジェクト２０００を、タイル１４０２〜１４０５のタイル境界を越えるイメージオブジェクト２０００の一部が互いに重複するように分割する。そして、その分割されたイメージオブジェクト１４１０〜１４１３をそれぞれ対応するタイル１４０２〜１４０５へ埋め込む。
【０３０２】
次に、イメージオブジェクトの分割処理の詳細について、図２１を用いて説明する。
【０３０３】
図２１は本発明の実施形態４のイメージオブジェクトの分割処理の詳細を示すフローチャートである。
【０３０４】
（ステップＳ１５０１）
まず、タイルベクタデータの生成対象となる注目タイルを選択する。
【０３０５】
（ステップＳ１５０２）
処理対象のイメージオブジェクトを規定するイメージ座標に注目タイルのタイル境界を投影する。
【０３０６】
（ステップＳ１５０３）
イメージ座標に投影されたタイル境界とイメージオブジェクト自身の外周からなる凸多角形を算出する。当該凸多角形に外接し、かつ直立した長方形を算出する。
【０３０７】
（ステップＳ１５０４）
イメージオブジェクトの解像度と所定解像度とを比較し、イメージオブジェクトの解像度が所定解像度より高いか否かを判定する。所定解像度以下である場合（ステップＳ１５０４でＮＯ）、ステップＳ１５０５へ進む。一方、所定解像度より大きい場合（ステップＳ１５０４でＹＥＳ）、ステップＳ１５０７へ進む。
【０３０８】
（ステップＳ１５０５）
凸多角形に外接する直立した長方形を、イメージオブジェクトを分割する境界として設定する。
【０３０９】
（ステップＳ１５０６）
分割後のイメージオブジェクトが、タイル境界外に画素を持たないことを示す情報をシステムメモリ５に記憶する。
【０３１０】
（ステップＳ１５０７）
一方、ステップＳ１５０４で、イメージオブジェクトの解像度が所定解像度より大きい場合、凸多角形に外接する直立した長方形を、補間処理の参照領域分拡大した拡大長方形を算出する。
【０３１１】
（ステップＳ１５０８）
拡大長方形を、イメージオブジェクトを分割する境界として設定する。
【０３１２】
（ステップＳ１５０９）
分割後のイメージオブジェクトが、タイル境界外に画素を持つことを示す情報をシステムメモリ５に記憶する。
【０３１３】
（ステップＳ１５１０）
設定された境界を外周とするイメージを、処理対象のイメージオブジェクトから抽出する。
【０３１４】
（ステップＳ１５１１）
抽出したイメージを、イメージオブジェクトとして注目タイルへ付与して、処理を終了する。
【０３１５】
次に、図２１のイメージオブジェクトの分割処理の具体例について、図２２を用いて説明する。
【０３１６】
図２２は本発明の実施形態４のイメージオブジェクトの分割処理の具体例を示す図である。
【０３１７】
イメージオブジェクト２２０１は、独自のイメージ座標を持っている（図２２（ａ））。そして、このイメージオブジェクト２２０１は、ページベクタデータ２２０２に対して、アフィン変換によってページベクタデータ座標に投影され（図２２（ｂ））、ページベクタデータ２２０２内でイメージ２２０３として構成される。このページベクタデータ２２０２をタイルベクタデータに変換すると、図２２（ｃ）のようになる。
【０３１８】
オブジェクトの分割処理（図６のステップＳ６０５）による、イメージオブジェクトの分割処理では、まず、ステップＳ１５０１において注目タイル２２０４を選択する（図１６（ｃ））。
【０３１９】
そして、図１６（ｄ）に示すように、続いて、注目タイル２２０４がイメージ座標へ投影される（ステップＳ１５０２）。次に、イメージ座標に投影されたタイル２２０５のタイル境界とイメージオブジェクト２２０１自身の外周からなる凸多角形２２０６を算出し、この凸多角形２２０６に外接し、かつ直立した長方形２２０７を算出する（ステップＳ１５０３）。
【０３２０】
次に、このイメージオブジェクト２２０１の解像度と、所定解像度とを比較する（ステップＳ１５０４）。イメージオブジェクト２２０１の解像度が所定解像度よりも大きい場合（高解像度である場合）、図２２（ｅ）に示すように、この凸多角形２２０６に外接し、かつ直立した長方形２２０７を補間処理の参照領域分拡大した拡大長方形２２０８を算出する（ステップＳ１５０７）。
【０３２１】
次に、拡大長方形２２０８を境界として、図２２（ｆ）に示すように、イメージオブジェクト２２０１から分割されたイメージオブジェクト２２０９を生成する（ステップＳ１５１０）。その後、図２２（ｇ）に示すように、注目タイル２２１０に埋め込まれる（ステップＳ１５１１）。注目タイル２２１０は、タイル内座標を独自に持ち、分割されたイメージオブジェクト２２０９は、タイル内座標に、イメージオブジェクト２２０９として投影される。
【０３２２】
次に、図７のステップＳ７７において、イメージオブジェクトをラスタライズする場合の処理の詳細について、図２３を用いて説明する。
【０３２３】
図２３は本発明の実施形態４のステップＳ７７における、イメージオブジェクトのラスタライズの詳細を示すフローチャートである。
【０３２４】
（ステップＳ１７０１）
まず、タイル内座標系と、デバイス座標系の対応関係を示す第１変換行列を取得する。ここで、デバイス座標系とは、タイルベクタデータから構成されるページ全体に対して定義される座標系であり、例えば、図８で示される座標系である。
【０３２５】
（ステップＳ１７０２）
イメージオブジェクトのイメージ座標系と、タイル内座標との対応関係を示す第２変換行列を取得する。
【０３２６】
（ステップＳ１７０３）
ステップＳ１７０１で取得した第１変換行列と、ステップＳ１７０２で取得した第２変換行列の２つの変換行列を合成した第３変換行列を生成し、この第３変換行列を用いて、デバイス座標系とイメージ座標系の対応関係を算出する。
【０３２７】
（ステップＳ１７０４）
デバイス座標系において、イメージオブジェクトが配置される領域内で、注目画素を選択する。
【０３２８】
（ステップＳ１７０５）
ステップＳ１７０３で合成された第３変換行列を用いて、注目画素のデバイス座標系のデバイス座標からイメージ座標系のイメージ座標の該当画素を算出する。
【０３２９】
（ステップＳ１７０６）
イメージオブジェクトの該当画素がタイル境界外に存在するか否かに基づいて、イメージオブジェクトの補間方法を選択する。タイル境界外に存在しない場合、補間方法として、第１補間方法（ニアレストネイバー法）を選択して、ステップＳ１７０７へ進む。一方、タイル境界外に該当画素の周辺画素が存在する場合、補間方法として、第２補間方法（バイキュービック法）を選択して、ステップＳ１７０８へ進む。
【０３３０】
尚、この補間方法としては、ニアレストレイバー法、バイキュービック法、バイリニア法等の各種補間方法を利用することができる。
【０３３１】
（ステップＳ１７０７）
該当画素の色を取得する。
【０３３２】
（ステップＳ１７０８）
該当画素と周辺画素を取得する。
【０３３３】
（ステップＳ１７０９）
該当画素と周辺画素を用いて、補間処理を実行し、処理結果の色を取得する。
【０３３４】
（ステップＳ１７１０）
取得した色を注目画素の色として設定する。
【０３３５】
（ステップＳ１７１１）
イメージオブジェクトが配置されるデバイス座標系のデバイス座標上の全ての画素を処理したか否かを判定する。全ての画素を処理していない場合（ステップＳ１７１１でＮＯ）、ステップＳ１７０４へ戻る。一方、全ての画素を処理している場合（ステップＳ１７１１でＹＥＳ）、処理を終了する。
【０３３６】
以上説明したように、実施形態４によれば、実施形態１〜３で説明した効果に加えて、処理対象のイメージオブジェクトの解像度に基づいて、イメージオブジェクトのタイル分割方法を適応的に切り替えてタイルベクタデータを生成する。これにより、イメージオブジェクトのタイル分割によるデータ量増大を抑え、かつ補間処理を行わないことによるエイリアジングの発生を抑えることが可能となる。
【０３３７】
［実施形態５］
上述の各実施形態では、画像処理システム内のデータハンドリングをリアルタイムで行える高速化に実行できるようために、タイルベクタデータを生成して、ＨＤＤ８で管理する構成としている。これに対し、実施形態５では、ＨＤＤ８へのタイルベクタデータを格納する時に、それを構成するタイル中にオブジェクトが存在しないタイルは、ＨＤＤ８に書き込まないで管理する。
【０３３８】
これにより、ＨＤＤ８のデータアクセスの高速化を図り、画像処理システムとしてのパフォーマンスをより向上することができる。
【０３３９】
以下、実施形態５における処理概要及び処理フローについて、図２４及び図２５を用いて説明する。
【０３４０】
図２４は本発明の実施形態５の処理概要を説明するための図である。また、図２５は本発明の実施形態５のタイルベクタデータ書込処理を示すフローチャートである。
【０３４１】
（ステップＳ２５０１）
実施形態５では、システムメモリ５に読み込まれた１ページ分の画像データ（ページベクタデータあるいはラスタデータ）を、所定サイズのブロック（タイル（矩形））に分割してタイルベクタデータを生成する。この際、各タイルベクタデータの位置を識別するタイルＩＤ（ブロック識別情報）を生成して、これをタイルベクタデータのヘッダに設定する。
【０３４２】
例えば、図２４（ａ）のページベクタデータ２４０１を、１辺が８画素四方のタイルで分割する場合、このページベクタデータ２４０１は、Ｘ方向に３個分、Ｙ方向に３個分の分割されるとする。これにより、点線で区切られた３×３合計９個のタイルベクタデータに分割される。尚、このタイルの大きさの単位となる１辺の画素数は、ユーザ操作によって変更可能である。
【０３４３】
各タイルは、Ｘ方向に左から０、１、２、Ｙ方向に上から０、１、２とすることにより、各タイルの座標を規定できる。そして、これらの座標の組み合わせが各タイルの位置を識別するタイルＩＤとして利用することができる。例えば、左上のタイルは、タイルベクタデータの開始となるタイルとなり、そのタイルＩＤは（Ｘ，Ｙ）＝（０，０）となる。また、その右側のタイルのタイルＩＤは（Ｘ，Ｙ）＝（１，０）、一番右下のタイルのタイルＩＤは（Ｘ，Ｙ）＝（３，３）となる。
【０３４４】
（ステップＳ２５０２）
システムメモリ５に読み込まれた、１ページ分のページベクタデータに存在するオブジェクトを、タイル内に収まる複数のオブジェクトに分割して、タイルベクタデータを生成する。そのために、タイル内のオブジェクトの有無を識別する識別フラグ（オブジェクト識別情報）を生成し、これをタイルベクタデータのヘッダに設定する。
【０３４５】
具体的には、ページベクタデータ２４０１を構成する各タイルにおいて、オブジェクトの有無を解析する。オブジェクトがある場合は、識別フラグを「１」、オブジェクトがない場合は「０」に設定する。
【０３４６】
例えば、タイルベクタデータ２４０１中のタイルＩＤ＝（０，０）、（１，０）、（２，０）、（０，１）、（０，２）のタイル内には、オブジェクトが存在しないため、識別フラグは「０」となる。一方、残りのタイルＩＤ＝（１，１）、（１，２）、（２，１）、（３，３）のタイル内には、オブジェクトが存在するため、識別フラグは「１」となる。
【０３４７】
（ステップＳ２５０３）
各タイルの位置を識別するタイルＩＤ、タイル内のオブジェクトの有無を示す識別フラグ及び各タイルベクタからタイルベクタデータを生成する。そのために、システムメモリ５に、図２４（ｂ）に示すタイルテーブル２４０２（タイル管理テーブル）を作成する。このタイルテーブル２４０２では、タイルＩＤ、識別フラグ、オブジェクトの内容（オブジェクトなし（ｎｏ  ｏｂｊｅｃｔ）、データ（Ｄａｔａ）等）の情報を、タイル毎に管理する。この場合、タイル名Ｔｉｌｅ０〜Ｔｉｌｅ８のタイルからなるタイルテーブルが構成される。
【０３４８】
（ステップＳ２５０４）
システムメモリ５に読み込まれた、１ページ分のページベクタデータ２４０１に対するタイルテーブル２４０２の生成が完了すると、システムメモリ５からＨＤＤ８へのタイルベクタデータの書込を開始するための書込設定を実行する。ここの書込設定においては、タイル位置を識別するタイルＩＤ＝（０，０）のタイルデータから書込を開始するための設定を実行する。
【０３４９】
（ステップＳ２５０５）
タイルＩＤに基づいて、処理対象のタイルのタイルテーブル２４０２の識別フラグを参照する。そして、その識別フラグ＝１であるか否かを判定する。識別フラグ＝１である場合（ステップＳ２５０５でＹＥＳ）、タイル内にオブジェクトが存在するので、このタイルは、ＨＤＤ８への書込対象であると判定して、ステップＳ２５０６へ進む。一方、識別フラグ＝０である場合（ステップＳ２５０５でＮＯ）、タイル内にオブジェクトが存在しないので、このタイルは、ＨＤＤ８への書込対象でないと判定して、ステップＳ２５０７へ進む。
【０３５０】
（ステップＳ２５０６）：
処理対象のタイルのＨＤＤ８への書込を実行する。
【０３５１】
（ステップＳ２５０７）：
未処理タイルデータの有無を判定する。未処理タイルデータがある場合（ステップＳ２５０７でＹＥＳ）、ステップＳ２５０４へ戻り、次のタイルＩＤが示すタイルデータを処理対象のタイルデータとして設定する。一方、未処理タイルデータがない場合（ステップＳ２５０７でＮＯ）、処理を終了する。
【０３５２】
ここで、ステップＳ１５０４〜ステップＳ１５０７の処理の具体的な動作について、図２４（ａ）を用いて説明する。
【０３５３】
まず、ステップＳ２５０４で、タイルＩＤ＝（０，０）を設定する。これによって、タイルＩＤ＝（０，０）の識別フラグをタイルテーブル２４０２で参照すると、その値は「０」であることから、対応するタイル内にオブジェクトは存在しないと判定する。そのため、このタイルＩＤ＝（０，０）のタイルデータ（Ｔｉｌｅ０）は、ＨＤＤ８への書込は実行しない（書込を禁止する）。
【０３５４】
従って、この場合のタイルＩＤ＝（０，０）のタイルについての処理は、ステップＳ２５０５からステップＳ２５０７へ進む。ステップＳ２５０７では、未処理のタイル（タイルＩＤ）が存在するので、ステップＳ２５０４へ戻る。
【０３５５】
次に、ステップＳ２５０４で、タイルＩＤ＝（１，０）を設定する。これによって、タイルＩＤ＝（１，０）の識別フラグをタイルテーブル２４０２で参照すると、その値は「０」であることから、対応するタイル内にオブジェクトは存在しないと判定する。そのため、このタイルＩＤ＝（１，０）のタイルデータ（Ｔｉｌｅ１）は、ＨＤＤ８への書込は実行しない（書込を禁止する）。
【０３５６】
同様にして、タイルＩＤ＝（２，０）、（０，１）のタイルデータ（Ｔｉｌｅ２、Ｔｉｌｅ３）も識別フラグの値が「０」であることから、そのタイルデータのＨＤＤ８への書込動作を禁止する。
【０３５７】
次のタイルＩＤ＝（１，１）の識別フラグをタイルテーブル２４０２で参照すると、その値は「１」であることから、対応するタイル内にオブジェクトは存在すると判定する。そのため、このタイルＩＤ＝（１，１）のタイルデータ（Ｔｉｌｅ４）は、ＨＤＤ８への書込を実行する。
【０３５８】
従って、この場合のタイルＩＤ＝（１，１）のタイルについての処理は、ステップＳ２５０５からステップＳ２５０６へ進む。そして、書込が終了すると、未処理のタイル（タイルＩＤ）が存在するので、ステップＳ２５０４へ戻る。
【０３５９】
以下、同様にして、タイルＩＤ＝（２，１）のタイルデータ（Ｔｉｌｅ５）も識別フラグの値が「１」であることから、そのタイルデータのＨＤＤ８への書込動作を実行する。次のタイルＩＤ＝（０，２）のタイルデータ（Ｔｉｌｅ６）は識別フラグの値が「０」であることから、そのタイルデータのＨＤＤ８への書込動作を禁止する。更に、タイルＩＤ＝（１，２）、（２，２）のタイルデータ（Ｔｉｌｅ７、Ｔｉｌｅ８）の識別フラグの値が「１」であることから、そのタイルデータのＨＤＤ８への書込動作を実行する。
【０３６０】
そして、タイルＩＤ＝（２，２）に対する処理が完了した時点で、未処理のタイルがなくなるので、書込処理を終了する。
【０３６１】
以上の処理によって、タイルテーブル２４０２で管理されるタイル名Ｔｉｌｅ０〜Ｔｉｌｅ８の内、ＨＤＤ８には、タイル名Ｔｉｌｅ４、５、７及び８のタイルデータだけが格納されることになるので、ＨＤＤ８の記憶容量を節約することができる。また、ＨＤＤ８のタイルデータの格納状態として、タイルテーブル２４０４が生成される。
【０３６２】
次に、ＨＤＤ８に書き込まれたタイルベクタデータをシステムメモリ５へ読み出す場合の読出処理について、図２６を用いて説明する。
【０３６３】
図２６は本発明の実施形態５のタイルベクタデータ読出処理を示すフローチャートである。
【０３６４】
（ステップＳ２６０１）
ＨＤＤ８に存在するタイルデータを読み出して識別するためのタイルＩＤの読出設定を実行する。
【０３６５】
（ステップＳ２６０２）
ＨＤＤ８に格納されているタイルテーブル２４０４を参照して、ＨＤＤ８に実際に格納されているタイルデータのタイルＩＤを読み出してシステムメモリ５に記憶する。
【０３６６】
（ステップＳ２６０３）
読出設定で設定した設定タイルＩＤと、ＨＤＤ８から読み出した読出タイルＩＤが一致しているか否かを判定することで、読出順序が不連続のタイルＩＤの有無を判定する。一致していない場合（ステップＳ２６０３でＹＥＳ）、不連続タイルＩＤがあると判定し、ステップＳ２６０４へ進む。一方、一致している場合（ステップＳ２６０３でＮＯ）、不連続タイルＩＤがないと判定し、ステップＳ２６０５に進む。
【０３６７】
（ステップＳ２６０４）
不連続タイルＩＤがある場合は、内部にオブジェクトが存在しないために、ＨＤＤ８へ書き込まれなかったタイルデータが存在することになる。この場合、読出時にはそのタイルデータを、それを構成要素とするタイルベクタデータを再現するために、タイルテーブル２４０４の状態から、タイルテーブル２４０２の状態へ再構成する必要がある。
【０３６８】
そこで、ここでは、タイルテーブル２４０４に対して、不連続タイルＩＤに該当するタイルデータに関するデータを、タイルテーブル２４０４に追加する。
【０３６９】
（ステップＳ２６０５）
不連続タイルＩＤがない場合は、そのまま、タイルテーブル２４０４を参照して、タイルデータの読出を実行する。
【０３７０】
（ステップＳ２６０６）：
タイルデータの読出の実行後、未処理のタイルの有無を判定する。未処理タイルデータがある場合（ステップＳ２６０６でＮＯ）、ステップＳ２６０１へ戻り、次のタイルＩＤが示すタイルデータを処理対象のタイルデータとして設定する。一方、未処理タイルデータがない場合（ステップＳ２６０６でＹＥＳ）、処理を終了する。
【０３７１】
ここで、ステップＳ２６０１〜ステップ２６０６の処理の具体的な動作について、図２４（ａ）を用いて説明する。
【０３７２】
まず、ステップＳ２６０１で、ＨＤＤ８からタイルデータの読出を実行するために、その読出位置とするタイル位置を先頭ＩＤ＝（０，０）（設定タイルＩＤ）に設定する。
【０３７３】
ステップＳ２６０２で、タイルテーブル２４０４を参照して、ＨＤＤ８からタイルＩＤの読出を実行し、読み出したタイルＩＤ（読出タイルＩＤ）をシステムメモリ５に記憶する。読み出したタイルＩＤは、後のタイルテーブルへのタイルデータの追加処理で使用するため、最新の読出タイルＩＤ履歴をいくつか保存しておく。ここでは、ＨＤＤ８に記憶されているタイルテーブル２４０４からタイルＩＤ＝（１，１）を読み出す。
【０３７４】
ステップＳ２６０３で、タイルＩＤの比較を行う。ここでは、設定タイルＩＤ＝（０，０）に対し、読出タイルＩＤ＝（１，１）であるため、タイルＩＤの読出順序が不連続、つまり、不連続タイルＩＤとなっていることが分かる。不連続タイルＩＤがあるということは、内部にオブジェクトが存在しないタイルデータが存在することを示している。
【０３７５】
そのため、ここでは、ステップＳ２６０４で、タイルテーブルへのタイルデータの追加を実行する。つまり、読出タイルＩＤ＝（１，１）のタイルデータにはオブジェクトデータが存在するため、それより前の不連続分のタイルＩＤ＝（０，０）、（１，０）、（２，０）、（０，１）に関して、オブジェクトが存在しないタイルデータを追加したタイルテーブル２４０２を作成する。この時点では、タイルテーブル２４０２は、タイル名がＴｉｌｅ０〜Ｔｉｌｅ３までが構成される。
【０３７６】
次に、ステップＳ２６０５で、タイルＩＤ＝（１，１）のタイルデータをＨＤＤ８から読み出す。ステップＳ２６０６では、未処理のタイルＩＤが存在するので、ステップＳ２６０１へ戻る。
【０３７７】
次に、ステップＳ２６０１では、設定タイルＩＤ＝（２，１）、ステップＳ２６０２では、読出タイルＩＤ＝（２，１）となる。また、ステップＳ２６０２では、読出タイルＩＤの履歴をシステムメモリ５に保存してあるため、ステップＳ２６０３で、設定タイルＩＤ＝（２，１）に対して、前回の読出タイルＩＤ＝（１，１）との比較を行う。今回は、タイルＩＤの読出順序が連続しているため、ステップＳ２６０５へ進み、タイルＩＤ＝（２，１）のタイルデータをＨＤＤ８から読み出す。
【０３７８】
以下、同様にして、処理を実行することにより、タイルＩＤ＝（０，２）について、そのタイルデータがタイルテーブル２４０２に追加され、タイルＩＤ＝（１，２）、（２，２）については、ＨＤＤ８からのタイルデータの読出が実行される。
【０３７９】
これにより、未処理のタイルＩＤがなくなるので、読出処理を終了する。この読出処理が終了することで、書込処理時と同じタイルテーブル２４０２が再現される。そして、このタイルテーブル２４０２を用いることで、タイルベクタデータ２４０５を復元（読出）することができる。読出処理の終了後、読出タイルＩＤの履歴は消去される。
【０３８０】
以上説明したように、実施形態５によれば、実施形態１〜４で説明した効果に加えて、システムメモリ上に生成されたタイルベクタデータをＨＤＤへ格納する場合には、そのタイルベクタデータを構成する各タイルデータの位置を識別するタイルヘッダ及び、オブジェクトの有無を識別するフラグを管理するタイルテーブルを作成し、オブジェクトが存在しないタイルデータに関しては、ＨＤＤに該当するタイルデータの書込を禁止する。
【０３８１】
これにより、ＨＤＤへ格納するデータ量を削減することが可能となるとともに、ＨＤＤへの書込／読出処理において、アクセス回数を削減でき、動作パフォーマンスの高いシステムが構成を実現することができる。
【０３８２】
［実施形態６］
図２９に示す従来のシステムでは、ページベクタデータに含まれるフォントオブジェクトは、ＣＰＵ１０２によりシステムメモリ１０４上に設けられたフォントキャッシュ（不図示）に、対応するフォントオブジェクトが既に登録されているか否かが検索される。そして、対応するフォントオブジェクトが登録されていない場合、ＣＰＵ１０２により、そのフォントオブジェクトがビットマップ展開された後、フォントキャッシュに登録される。
【０３８３】
そして、その登録されたフォントデータのシステムメモリ１０４上の位置が中間データ内で指示され登録されていれば、展開処理無しに、その展開済フォントデータのシステムメモリ１０４上の位置が中間データ内で指示される。
【０３８４】
中間データを受け取った画像データ展開部１１３は、フォント以外の描画オブジェクトを展開処理すると共に、指示されたフォントキャッシュの位置より展開済フォントデータを読み取り、ビットマップデータを作成して、システムメモリ１０４へ保存する。その後、ＳＢＢ１０１を介して画像処理部１１０で画像処理され、プリンタ１１２へ送られ印刷される。
【０３８５】
このような画像処理システムにおいて、フォントキャッシュの有効活用を行なう構成として、例えば、特開平１０−０１６３１９号公報の構成がある。この構成では、フォントキャッシュデータ毎にカウンタを設け、中間データ生成時にフォントキャッシュにヒットする毎に、カウンタをインクリメントする。また、画像データ展開処理にてヒットしたフォントキャッシュを参照する毎にカウンタをデクリメントする。そして、カウンタが初期値になるまで、フォントキャッシュデータを保持する。
【０３８６】
しかしながら、このような構成では、ヒットする回数分以上のカウンタを用意する必要がある。ここで、通常、処理対象のデータ内に一つの文字が何回出現するかは予想できないので十分大きなカウンタが必要になる。通常、カウンタはフォントキャッシュと同じシステムメモリ上に用意されることになるので、より大きな容量のシステムメモリを必要としてしまう。
【０３８７】
また、さらなる印刷速度向上を狙って、インタプリタ部と画像データ展開部を複数具備し、並列処理を実現した際には、カウンタに対して複数のインタプリタ部と複数の画像データ展開部からのアクセスが同時に発生してしまうことが多発し、並列処理を阻害する可能性も大きくなる。
【０３８８】
そこで、実施形態６では、画像データ展開部が備える複数の小画像データ展開部が並列にラスタライズ処理（ベクタデータをビットマップデータへ変換）を行なう場合に、各小画像データ展開部が参照しているフォントキャッシュデータを確実に保護する構成について説明する。
【０３８９】
このフォントキャッシュを保護するための構成は、各小画像データ展開部が同時に（独立に）操作できるようにすることで、画像データ展開処理の並列動作を阻害することを防止することができる。
【０３９０】
また、このフォントキャッシュを保護するための構成は、該当フォントの出現回数には因らず、並列に動作する小画像データ展開部の個数分だけ用意すればよいので、メモリの使用量を削減することができる。
【０３９１】
以下、実施形態６における、画像データ展開部１８の応用例について説明する。
【０３９２】
まず、画像データ展開部１８の詳細構成について、図２７を用いて説明する。
【０３９３】
図２７は本発明の実施形態６の画像データ展開部の詳細構成を示す図である。
【０３９４】
小画像データ展開部（μＲＩＰ）１８ａ〜１８ｄには、それぞれが並列に入力されるタイルベクタを展開することでパフォーマンス向上を果たしている。２７０５は、一度展開した文字（フォント）データを再利用のために保存するフォントキャッシュである。フォントキャッシュ２７０５には、フォントキャッシュメモリ２７０６と、フォントキャッシュメモリ２７０６を参照中であることを示すロックフラグを記憶するロックフラグレジスタ２７０７〜２７１０より構成されている。尚、図２７では図示していないが、フォントキャッシュメモリ２７０６は、図１のローカルメモリ１９上に割り当てられる。
【０３９５】
２７１１は各μＲＩＰ１８ａ〜１８ｄが共通のフォントキャッシュメモリ２７０６へアクセスするためのバスであり、各μＲＩＰ１８ａ〜１８ｄが展開すべき文字がフォントキャッシュ２７０５に登録されていれば、展開済のフォントデータを２７１１を介してリードするだけで文字の展開が終了する。
【０３９６】
２７１２〜２７１５は、各μＲＩＰ１８ａ〜１８ｄより独立に対応するロックフラグレジスタ２７０７から２７１０を操作するための制御信号線である。μＲＩＰ１８ａはロックフラグレジスタ２７０７へ、μＲＩＰ１８ｂはロックフラグレジスタ２７０８へ、μＲＩＰ１８ｃはロックフラグレジスタ２７０９へ、μＲＩＰ１８ｄはロックフラグレジスタ２７１０へ接続されている。
【０３９７】
２７１６〜２７１９はそれぞれのμＲＩＰ１８ａ〜１８ｄで展開処理対象のタイルベクタデータの一例を示している。
【０３９８】
尚、図２７において、μＲＩＰとロックフラグレジスタは４組示されているが、この数に限定されるものではなく、要求されるシステムのパフォーマンスに合わせて増減して良いことは言うまでもない。
【０３９９】
次に、フォントキャッシュの動作例について、図２８を用いて説明する。
【０４００】
図２８は本発明の実施形態６のフォントキャッシュの動作例を示す図である。
【０４０１】
図２８は、フォントキャッシュメモリ２７０６とロックフラグレジスタ２７０７〜２７１０で構成されるフォントキャッシュ２７０５の一例を示している。
【０４０２】
２１００は、フォントキャッシュ２７０５のデータを管理するためのフォントキャッシュ管理テーブルである。２１０１は、ｎ個の格納部から構成される展開済フォントデータの格納部である。フォントキャッシュ管理テーブル２１００には登録されている文字を識別するための文字識別情報と、その文字の展開済フォントデータが格納されているフォントキャッシュメモリのアドレス（格納アドレス）、及び、小画像データ展開部（μＲＩＰ）の数だけのロックフラグレジスタで構成されている。
【０４０３】
展開済フォントデータの格納部２１０１には、フォントキャッシュ管理テーブル２１００に示される格納アドレスから、各文字の展開済フォントデータが格納されている。
【０４０４】
以下、図２７及び２８を用いて、各μＲＩＰのフォント展開処理とフォントキャッシュの動作について説明する。
【０４０５】
μＲＩＰ１８ａは、タイルベクタデータ２７１６を受け取る。このタイルベクタデータ２７１６には、文字「あ」が含まれている。μＲＩＰ１８ａは、フォントキャッシュ管理テーブル２１００の文字識別情報を検索し、テーブル内のデータエントリ２１０３で「あ」が登録済であることを認識する（ヒットと認識する）。
【０４０６】
この場合、ヒットしたので、μＲＩＰ１８ａは、制御信号線２７１２によって接続されているロックフラグレジスタ２７０７のデータエントリ２１０３に相当するフラグに「１」をセットし、フォントキャッシュメモリ２７０６を参照中であることを示す。
【０４０７】
その後、フォントキャッシュ管理テーブル２１００内のデータエントリ２１０３の格納アドレスで示される「Ａｄｄｒｅｓｓ  １」より、展開済フォントデータ１（２１０９）の読出を開始し、タイルベクタデータ２７１６の展開処理を実行する。展開済フォントデータ１（２１０９）の読出が終了したら、先にセットしたロックフラグレジスタ２７０７のデータエントリ２１０３に相当するフラグを「０」にクリアし、フォントキャッシュメモリ２７０６の参照が終了したことを示す。
【０４０８】
μＲＩＰ１８ｂは、タイルベクタデータ２７１７を受け取る。このタイルベクタデータ２７１７には文字「Ａ」が含まれている。μＲＩＰ１８ｂは、フォントキャッシュ管理テーブル２１００の文字識別情報を検索し、テーブル内の２データエントリ２１０５で「Ａ」が登録済であることを認識する（ヒットと認識する）。
【０４０９】
この場合、ヒットしたので、μＲＩＰ１８ｂは、制御信号線２７１３によって接続されているロックフラグレジスタ２７０８のデータエントリ２１０５に相当するフラグに「１」をセットし、フォントキャッシュメモリ２７０６を参照中であることを示す。
【０４１０】
その後、フォントキャッシュ管理テーブル２１００内のデータエントリ２１０５の格納アドレスで示される「Ａｄｄｒｅｓｓ  ３」より、展開済フォントデータ３（２１１１）の読出を開始し、タイルベクタデータ２７１７の展開処理を実行する。展開済フォントデータ３（２１１１）の読出が終了したら、先にセットしたロックフラグレジスタ２７０８のデータエントリ２１０５に相当するフラグを「０」にクリアし、フォントキャッシュメモリ２７０６の参照が終了したことを示す。
【０４１１】
μＲＩＰ１８ｃは、タイルベクタデータ２７１８を受け取る。このタイルベクタデータ２７１８には文字「Ａ」が含まれている。μＲＩＰ１８ｃは、フォントキャッシュ管理テーブル２１００の文字識別情報を検索し、テーブル内のデータエントリ２１０５で「Ａ」が登録済であることを認識する（ヒットと認識する）。
【０４１２】
この場合、ヒットしたので、μＲＩＰ１８ｃは、制御信号線２７１４によって接続されているロックフラグレジスタ２７０９のデータエントリ２１０５に相当するフラグに「１」をセットし、フォントキャッシュメモリ２７０６を参照中であることを示す。
【０４１３】
その後、フォントキャッシュ管理テーブル２１００内のデータエントリ２１０５の格納アドレスに示される「Ａｄｄｒｅｓｓ  ３」より、展開済フォントデータ３（２１１１）の読出を開始し、タイルベクタデータ２７１８の展開処理を実行する。展開済フォントデータ３（２１１１）の読出が終了したら、先にセットしたロックフラグレジスタ２７０９のデータエントリ２１０５に相当するフラグを「０」にクリアし、フォントキャッシュメモリ２７０６の参照が終了したことを示す。
【０４１４】
μＲＩＰ１８ｄは、タイルベクタデータ２７１９を受け取る。このタイルベクタデータ２７１９には文字「う」が含まれている。μＲＩＰ１８ｄは、フォントキャッシュ管理テーブル２１００の文字識別情報を検索し、「う」が未登録であることを認識する（ミスと認識する）。
【０４１５】
この場合、ミスしたので、μＲＩＰ１８ｄは文字「う」の展開処理を実行する。展開処理が終了すると、文字「う」の展開済フォントデータをフォントキャッシュメモリ２７０５に登録する。このとき、μＲＩＰ１８ｄは、フォントキャッシュ管理テーブル２１００のロックフラグレジスタを参照し、どのフラグもセットされていないもの、つまり、他のどのμＲＩＰも参照中でないものの中から置き換える展開済フォントデータを選択するように動作する。ロックフラグレジスタの内容が、図２８のような状態であれば、データエントリ２１０３と２１０５は置き換え候補から除かれることになる。
【０４１６】
以上説明したフォントキャッシュの構成と動作により、複数の小画像データ展開部（μＲＩＰ）が並列にラスタライズ処理（ベクタデータをビットマップデータへ変換）を行なう場合に、各小画像データ展開部が参照している展開済フォントデータ（フォントキャッシュデータ）は、ロックフラグがセットされているので置き換え対象とはならないので確実に保護できる効果がある。
【０４１７】
また、ロックフラグレジスタは、各μＲＩＰ毎に用意し、独立して操作できる構成にしたので、μＲＩＰの並列動作を阻害する要因から排除される。さらに、ロックフラグレジスタは、μＲＩＰの個数分だけ用意すればよいので、出現回数等によるカウンタによる置き換え保護と比較して、少ないリソース（メモリ等）で実現可能である。
【０４１８】
また、実施形態６では、フォントキャッシュを画像データ展開部内のローカルメモリ１９上に配置したが、システムメモリ８上に構成しても良いことは言うまでもない。
【０４１９】
以上説明したように、実施形態６によれば、画像データ展開部が備える複数の小画像データ展開部が並列にラスタライズ処理（ベクタデータをビットマップデータへ変換）を行なう場合に、各小画像データ展開部が参照しているフォントキャッシュデータを確実に保護することができる。
【０４２０】
この構成によれば、各小画像データ展開部が同時に（独立に）操作できるようにすることで、画像データ展開処理の並列動作を阻害することを防止することができる。また、該当フォントの出現回数には因らず、並列に動作する小画像データ展開部の個数分だけ用意すればよいので、メモリの使用量を削減することができる。
【０４２１】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０４２２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０４２３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０４２４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０４２５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０４２６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０４２７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０４２８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０４２９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０４３０】
【図１】本発明の実施形態１の画像処理システムを構成するＭＦＰのコントローラの詳細を示すブロック図である。
【図２】本発明の実施形態１の画像処理システムでのコピー動作に係るデータフローを示す図である。
【図３】本発明の実施形態１の画像処理システムでのプリント動作に係るデータフローを示す図である。
【図４】本発明の実施形態１の画像処理システムでの送信動作に係るデータフローを示す図である。
【図５】本発明の実施形態１のラスタ／タイルベクタ変換部が実行する処理を示すフローチャートである。
【図６】本発明の実施形態１のネットワークから転送されてくるドキュメントデータの一例を示している。
【図７】本発明の実施形態１のページベクタデータの記述例を示す図である。
【図８】本発明の実施形態１のタイルベクタデータの例を示す図である。
【図９】本発明の実施形態１のタイルベクタデータの記述例を示す図である。
【図１０】本発明の実施形態１のタイル／ページベクタ変換部が実行する処理を示すフローチャートである。
【図１１】本発明の実施形態１の画像データ展開部が実行する処理を示すフローチャートである。
【図１２】本発明の実施形態２の画像処理システムでの送信動作に係るデータフローを示す図である。
【図１３】本発明の実施形態３のタイルベクタデータの例を示す図である。
【図１４】本発明の実施形態３のページベクタデータの記述例を示す図である。
【図１５】本発明の実施形態３のタイルベクタデータの記述例を示す図である。
【図１６】本発明の実施形態３の曲線オブジェクトのタイル分割を説明するための図である。
【図１７】本発明の実施形態３の曲線オブジェクトの分割処理の詳細を示すフローチャートである。
【図１８】本発明の実施形態３のステップＳ１８０２の処理の詳細を示すフローチャートである。
【図１９】本発明の実施形態３のステップＳ１８０３の処理の詳細を示すフローチャートである。
【図２０】本発明の実施形態４のイメージオブジェクトのタイル分割を説明するための図である。
【図２１】本発明の実施形態４のイメージオブジェクトの分割処理の詳細を示すフローチャートである。
【図２２】本発明の実施形態４のイメージオブジェクトの分割処理の具体例を示す図である。
【図２３】本発明の実施形態４のステップＳ７７における、イメージオブジェクトのラスタライズの詳細を示すフローチャートである。
【図２４】本発明の実施形態５の処理概要を説明するための図である。
【図２５】本発明の実施形態５のタイルベクタデータ書込処理を示すフローチャートである。
【図２６】本発明の実施形態５のタイルベクタデータ読出処理を示すフローチャートである。
【図２７】本発明の実施形態６の画像データ展開部の詳細構成を示す図である。
【図２８】本発明の実施形態６のフォントキャッシュの動作例を示す図である。
【図２９】従来の画像処理システムの構成を示す図である。
【符号の説明】
【０４３１】
１  コントローラ
２  システムバスブリッジ
３  ＣＰＵ
４  メモリコントローラ
５  システムメモリ
６  汎用バス
７  ハードディスクコントローラ
８  ハードディスクドライブ
９  操作部コントローラ
１０  操作部
１１  ネットワークＩ／Ｆ
１２  ネットワーク
１３  タイル／ページベクタ変換部
１４  ラスタ／タイルベクタ変換部
１５  画像処理部
１６  スキャナ
１７  プリンタ
１８  画像データ展開部
１８ａ〜１８ｄ  小画像データ展開部
１９  ローカルメモリ
【図１】
2006333361.tif 000003
【図２】
2006333361.tif 000004
【図３】
2006333361.tif 000005
【図４】
2006333361.tif 000006
【図５】
2006333361.tif 000007
【図６】
2006333361.tif 000008
【図７】
2006333361.tif 000009
【図８】
2006333361.tif 000010
【図９】
2006333361.tif 000011
【図１０】
2006333361.tif 000012
【図１１】
2006333361.tif 000013
【図１２】
2006333361.tif 000014
【図１３】
2006333361.tif 000015
【図１４】
2006333361.tif 000016
【図１５】
2006333361.tif 000017
【図１６】
2006333361.tif 000018
【図１７】
2006333361.tif 000019
【図１８】
2006333361.tif 000020
【図１９】
2006333361.tif 000021
【図２０】
2006333361.tif 000022
【図２１】
2006333361.tif 000023
【図２２】
2006333361.tif 000024
【図２３】
2006333361.tif 000025
【図２４】
2006333361.tif 000026
【図２５】
2006333361.tif 000027
【図２６】
2006333361.tif 000028
【図２７】
2006333361.tif 000029
【図２８】
2006333361.tif 000030
【図２９】
2006333361.tif 000031