(57)【特許請求の範囲】
【請求項１】
画像処理装置であって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信部と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換部と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信部と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、
を備え、
前記生成部は、 
前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータに含まれる描画コマンドが、前記変換部にて対応する処理が実装されているコマンドであることを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、
前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されていないコマンドであることを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを選択して採用し、前記第１種のラスタデータに前記特定ラスタデータを合成することによって前記出力データを生成する、
画像処理装置。
【請求項２】
請求項１に記載の画像処理装置であって、
前記第１条件は、前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されているコマンドであるとともに、前記特定ベクタデータに含まれる前記描画コマンドがオブジェクトを正しく描画できるか否かが確定していないコマンドである未確定コマンドとは異なることを示す予め決められた描画可能条件を満たすことを含み、
前記第２条件は、前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されていないコマンドであることと、前記特定ベクタデータに含まれる前記描画コマンドが前記変換部にて対応する前記処理が実装されているコマンドでありつつも前記描画可能条件を満たさないことと、のいずれかが満たされることを含む、
画像処理装置。
【請求項３】
請求項２に記載の画像処理装置であって、
前記変換部は、前記ベクタデータの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第１注目ラスタデータを生成し、
前記特定ラスタデータを第２注目ラスタデータと呼ぶとき、
前記第１条件は、
（Ａ）前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されているコマンドであるとともに前記描画可能条件を満たすことと、
（Ｂ）前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されているコマンドであるとともに前記描画可能条件を満たさず、かつ、前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことと、
のいずれかが満たされることを含み、
前記第２条件は、
（Ｃ）前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されていないコマンドであることと、
（Ｄ）前記特定ベクタデータに含まれる前記描画コマンドが前記変換部にて対応する前記処理が実装されているコマンドであるとともに前記描画可能条件を満たさず、かつ、前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、
のいずれかが満たされることを含む、
画像処理装置。
【請求項４】
請求項１に記載の画像処理装置であって、
前記変換部は、前記ベクタデータの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第１注目ラスタデータを生成し、
前記特定ラスタデータを第２注目ラスタデータと呼ぶとき、
前記第１条件は、前記特定ベクタデータに含まれる前記描画コマンドが前記変換部にて対応する前記処理が実装されているコマンドであり、かつ、前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含み、
前記第２条件は、前記特定ベクタデータに含まれる前記描画コマンドが前記変換部にて対応する前記処理が実装されていないコマンドであることと、前記特定ベクタデータに含まれる前記描画コマンドが前記変換部にて対応する前記処理が実装されているコマンドでありつつも前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、
画像処理装置。
【請求項５】
画像処理装置であって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信部と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換部と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信部と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、
を備え、
前記変換部は、前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第１注目ラスタデータを生成し、
前記生成部は、
前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２種のラスタデータのうち前記入力画像中の前記特定オブジェクトに対応する第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、 
前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち前記第２注目ラスタデータを選択して採用し、前記第１種のラスタデータに前記第２注目ラスタデータを合成することによって前記出力データを生成する、
画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記第１条件は、前記特定ベクタデータが、前記特定ベクタデータに含まれる描画コマンドがオブジェクトを正しく描画できるか否かが確定していないコマンドである未確定コマンドとは異なることを示す予め決められた描画可能条件を満たし、かつ、前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たすことを含み、
前記第２条件は、前記特定ベクタデータが前記描画可能条件を満たさないことと、前記特定ベクタデータが前記描画可能条件を満たしつつも前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、
画像処理装置。
【請求項７】
請求項１から６のいずれか１項に記載の画像処理装置であって、
前記画像出力装置は、印刷装置であり、
前記出力データは、前記入力画像を前記印刷装置に印刷させるためのデータであり、
前記第２種のラスタデータは、前記出力データとして利用可能なデータである、
画像処理装置。
【請求項８】
コンピュータプログラムであって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信機能と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換機能と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信機能と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成機能と、
をコンピュータに実現させ、
前記生成機能は、
前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータに含まれる描画コマンドが、前記変換機能にて対応する処理が実装されているコマンドであることを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、
前記特定ベクタデータに含まれる前記描画コマンドが、前記変換機能にて対応する前記処理が実装されていないコマンドであることを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを選択して採用し、前記第１種のラスタデータに前記特定ラスタデータを合成することによって前記出力データを生成する、
コンピュータプログラム。
【請求項９】
コンピュータプログラムであって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信機能と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換機能と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信機能と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成機能と、
をコンピュータに実現させ、
前記変換機能は、前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第１注目ラスタデータを生成し、
前記生成機能は、
前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２種のラスタデータのうち前記入力画像中の前記特定オブジェクトに対応する第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、
前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち前記第２注目ラスタデータを選択して採用し、前記第１種のラスタデータに前記第２注目ラスタデータを合成することによって前記出力データを生成する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、入力された画像データを用いて出力用の画像データを生成する技術に関する。
【背景技術】
【０００２】
従来から、画像データとして、頁記述言語で画像を表現するデータが用いられている。頁記述言語で画像を表現する画像データは、例えば、画像を表す描画コマンドを含んでいる。描画コマンドを用いて画像を表すデータ形式は、ベクタ形式とも呼ばれる。ベクタ形式のデータは、種々の用途、例えば、画像を出力（例えば、印刷、または、表示）するための画像データの生成に用いられている。特許文献１では、印刷のための画像処理として、以下の処理が提案されている。すなわち、画像処理装置はＰＤＦファイル等の頁記述ファイルに含まれるデータを解釈し、データ内のオブジェクトをビットマップへレンダリングし、用紙に対する全てのオブジェクトをレンダリングした後に、画像を印刷する。ここで、オブジェクトは、レイヤー順に、レンダリングされる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１０５３６８号公報
【特許文献２】特開２０１３−１６１２２７号公報
【特許文献３】特開２０００−２２９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、画像処理装置は描画コマンドを解釈して画像データを生成する場合、適切な画像データを生成できない場合があった。例えば、描画コマンドが、画像処理装置に未実装のコマンドを含む場合、画像処理装置は、適切な画像データを生成できない場合があった。その場合、例えば、印刷エラーとして印刷処理が実行されないため、ユーザに不便をもたらす恐れがある。
【０００５】
本開示は、適切な画像データを生成することができる技術を開示する。
【課題を解決するための手段】
【０００６】
本開示は、例えば、以下の態様と適用例を開示する。
［態様１］
画像処理装置であって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信部と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換部と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信部と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、
を備え、
前記生成部は、 
前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータに含まれる描画コマンドが、前記変換部にて対応する処理が実装されているコマンドであることを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、
前記特定ベクタデータに含まれる前記描画コマンドが、前記変換部にて対応する前記処理が実装されていないコマンドであることを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを選択して採用し、前記第１種のラスタデータに前記特定ラスタデータを合成することによって前記出力データを生成する、
画像処理装置。
［態様２］
画像処理装置であって、
外部装置から、入力画像を表すベクタデータであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式の前記ベクタデータを受信する第１受信部と、
前記ベクタデータを、ラスタ形式の第１種のラスタデータに変換する変換部と、
前記外部装置から、前記入力画像を表す前記ラスタ形式の第２種のラスタデータを受信する第２受信部と、
前記第１種のラスタデータと前記第２種のラスタデータとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、
を備え、
前記変換部は、前記ベクタデータのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第１注目ラスタデータを生成し、
前記生成部は、
前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２種のラスタデータのうち前記入力画像中の前記特定オブジェクトに対応する第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第１条件が満たされる場合に、前記第１種のラスタデータを前記出力データとして採用し、 
前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことを含む第２条件が満たされる場合に、前記第２種のラスタデータのうち前記第２注目ラスタデータを選択して採用し、前記第１種のラスタデータに前記第２注目ラスタデータを合成することによって前記出力データを生成する、
画像処理装置。
【０００７】
［適用例１］画像処理装置であって、入力画像を表す第１種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第１種の入力画像データを取得する第１取得部と、前記入力画像を表す第２種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第２種の入力画像データを取得する第２取得部と、前記第１種の入力画像データと前記第２種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第１種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータが解釈可能なことを含む第１条件が満たされる場合に、前記特定ベクタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記特定ベクタデータが解釈不可能なことを含む第２条件が満たされる場合に、前記第２種の入力画像データのうち、前記入力画像中の前記特定オブジェクトに対応するラスタ形式の特定ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。
【０００８】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることを抑制できる。
【０００９】
［適用例２］適用例１に記載の画像処理装置であって、前記第１条件は、前記特定ベクタデータが、解釈可能であるとともに予め決められた描画可能条件を満たすことを含み、前記第２条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記描画可能条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。
【００１０】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。
【００１１】
［適用例３］適用例２に記載の画像処理装置であって、前記生成部は、前記第１種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第１注目ラスタデータを生成し、前記特定ラスタデータを第２注目ラスタデータと呼ぶとき、前記第１条件は、（Ａ）前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たすことと、（Ｂ）前記特定ベクタデータが、解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことと、のいずれかが満たされることを含み、前記第２条件は、（Ｃ）前記特定ベクタデータが解釈不可能であることと、（Ｄ）前記特定ベクタデータが解釈可能であるとともに前記描画可能条件を満たさず、かつ、前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。
【００１２】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。
【００１３】
［適用例４］適用例１に記載の画像処理装置であって、前記生成部は、前記第１種の入力画像データの前記特定ベクタデータをラスタライズすることによって前記特定オブジェクトに対応する第１注目ラスタデータを生成し、前記特定ラスタデータを第２注目ラスタデータと呼ぶとき、前記第１条件は、前記特定ベクタデータが解釈可能であり、かつ、前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含み、前記第２条件は、前記特定ベクタデータが解釈不可能であることと、前記特定ベクタデータが解釈可能でありつつも前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。
【００１４】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。
【００１５】
［適用例５］画像処理装置であって、入力画像を表す第１種の入力画像データであって、オブジェクトを描画するための描画コマンドと、前記描画コマンドによる前記オブジェクトの描画に利用されるパラメータと、を含むベクタ形式のデータを含む前記第１種の入力画像データを取得する第１取得部と、前記入力画像を表す第２種の入力画像データであって、前記ベクタ形式のデータを含まずラスタ形式のデータを含む前記第２種の入力画像データを取得する第２取得部と、前記第１種の入力画像データと前記第２種の入力画像データとの少なくとも一方を用いて、前記入力画像を画像出力装置に出力させるための出力データを生成する生成部と、を備え、前記生成部は、前記第１種の入力画像データのうち、前記入力画像中の特定オブジェクトを描画するための前記ベクタ形式の特定ベクタデータをラスタライズすることによって前記入力画像中の特定オブジェクトに対応する第１注目ラスタデータを生成し、前記生成部は、前記第１注目ラスタデータによって表される第１注目ラスタ画像と、前記第２種の入力画像データのうち前記入力画像中の前記特定オブジェクトに対応する第２注目ラスタデータによって表される第２注目ラスタ画像とが、予め決められた類似条件を満たすことを含む第１条件が満たされる場合に、前記第１注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成し、前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことを含む第２条件が満たされる場合に、前記第２注目ラスタデータを用いて前記出力データのうちの前記特定オブジェクトに対応する部分を生成する、画像処理装置。
【００１６】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることを抑制できる。
【００１７】
［適用例６］適用例５に記載の画像処理装置であって、前記第１条件は、前記特定ベクタデータが予め決められた描画可能条件を満たし、かつ、前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たすことを含み、前記第２条件は、前記特定ベクタデータが前記描画可能条件を満たさないことと、前記特定ベクタデータが前記描画可能条件を満たしつつも前記第１注目ラスタ画像と前記第２注目ラスタ画像とが前記類似条件を満たさないことと、のいずれかが満たされることを含む、画像処理装置。
【００１８】
この構成によれば、特定オブジェクトを描画するためのベクタ形式のデータが適切に処理されずに不適切な出力データが生成されることをより適切に抑制できる。
【００１９】
［適用例７］適用例１から６のいずれか１項に記載の画像処理装置であって、前記画像出力装置は、印刷装置であり、前記出力データは、前記入力画像を前記印刷装置に印刷させるためのデータであり、前記第２種の入力画像データは、前記出力データとして利用可能なデータである、画像処理装置。
【００２０】
この構成によれば、印刷装置に適した出力データを生成できる。
【００２１】
なお、本発明は、種々の態様で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００２２】
【図１】実施例における画像処理システムの構成を示すブロック図である。
【図２】画像処理システム１０００の動作を示すシーケンス図である。
【図３】印刷処理で処理される画像の例を示す概略図である。
【図４】ラスタライズの手順を示すフローチャートである。
【図５】解釈可能なコマンドと解釈不可能なコマンドとの例を示す表である。
【図６】ラスタライズの別の実施例のフローチャートである。
【図７】第２実施例で処理される画像の例を示す概略図である。
【図８】ラスタライズの別の実施例のフローチャートである。
【図９】コマンドの分類例を示す表である。
【図１０】ラスタライズの別の実施例のフローチャートである。
【図１１】ラスタライズの別の実施例のフローチャートである。
【図１２】ラスタライズの別の実施例のフローチャートである。
【発明を実施するための形態】
【００２３】
Ａ．第１実施例：
図１は、実施例における画像処理システムの構成を示すブロック図である。画像処理システム１０００は、画像処理装置１００と、通信端末２００と、を有している。画像処理装置１００と通信端末２００とは、ネットワーク３００（例えば、ＬＡＮ（Local Area Network））に接続されており、互いに通信可能である。
【００２４】
画像処理装置１００は、いわゆるネットワークプリンタである。画像処理装置１００は、プロセッサ１１０と、揮発性記憶装置１２０と、不揮発性記憶装置１３０と、通信インタフェース１６０と、プリンタ部１９０と、を有している。
【００２５】
プロセッサ１１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置１２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置１３０は、例えば、フラッシュメモリである。不揮発性記憶装置１３０は、プログラム１３２を格納している。プロセッサ１１０は、プログラム１３２を実行することによって、種々の機能を実現する（詳細は、後述）。また、プロセッサ１１０は、プログラム（例えば、プログラム１３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置１２０、または、不揮発性記憶装置１３０）に、一時的に格納する。
【００２６】
通信インタフェース１６０は、他の装置と通信するためのインタフェースである（例えば、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。
【００２７】
プリンタ部１９０は、用紙（印刷媒体の一例）上に画像を印刷する装置である。本実施例では、プリンタ部１９０は、シアンＣとマゼンタＭとイエロＹとブラックＫのそれぞれのインクを用いるインクジェット式の印刷装置である。なお、プリンタ部１９０としては、他の方式（例えば、レーザ方式）の印刷装置を採用してもよい。
【００２８】
通信端末２００は、例えば、タブレットコンピュータである。通信端末２００は、プロセッサ２１０と、揮発性記憶装置２２０と、不揮発性記憶装置２３０と、表示部２４０と、操作部２５０と、通信インタフェース２６０と、を有している。
【００２９】
プロセッサ２１０は、データ処理を行う装置であり、例えば、ＣＰＵである。揮発性記憶装置２２０は、例えば、ＤＲＡＭであり、不揮発性記憶装置２３０は、例えば、フラッシュメモリである。不揮発性記憶装置２３０は、プログラム２３２を格納している。プロセッサ２１０は、プログラム２３２を実行することによって、種々の機能を実現する（詳細は、後述）。また、プロセッサ２１０は、プログラム（例えば、プログラム２３２）の実行に利用される種々の中間データを、記憶装置（例えば、揮発性記憶装置２２０、または、不揮発性記憶装置２３０）に、一時的に格納する。
【００３０】
表示部２４０は、画像を表示する装置であり、例えば、液晶ディスプレイである。操作部２５０は、ユーザによる操作を受け取る装置であり、例えば、表示部２４０上に重ねて配置されたタッチパネルである。ユーザは、操作部２５０を操作することによって、後述する画像処理の開始指示等の種々の指示を通信端末２００に入力可能である。
【００３１】
通信インタフェース２６０は、他の装置と通信するためのインタフェースである（例えば、有線ＬＡＮインタフェース、IEEE802.11の無線インタフェース）。
【００３２】
図２は、画像処理システム１０００の動作を示すシーケンス図である。このシーケンス図の処理は、通信端末２００が、画像処理装置１００が提供する印刷サービスの利用指示を、ユーザから受け付けた場合に開始される。画像処理装置１００は、外部装置（例えば、通信端末２００）から受信した画像データ（入力画像データと呼ぶ）を用いて画像を印刷する。図中では、処理を示す符号として、文字「Ｓ」と、文字「Ｓ」に続く数字と、を組み合わせた符号を用いる。
【００３３】
画像処理装置１００には、ベクタ形式のデータを含む画像データを用いて画像を印刷する機能と、ベクタ形式のデータを含まずにラスタ形式のデータを含む画像データを用いて画像を印刷する機能とが、実装されている。以下、ベクタ形式のデータを含む入力画像データを、「第１種入力画像データ」または「入力ベクタデータ」と呼ぶ。また、ベクタ形式のデータを含まずにラスタ形式のデータを含む入力画像データを、「第２種入力画像データ」または「入力ラスタデータ」と呼ぶ。なお、ラスタ形式の画像データは、ビットマップデータとも呼ばれる。
【００３４】
ベクタ形式のデータは、オブジェクトを描画するための描画コマンドと、描画コマンドによるオブジェクトの描画に利用されるパラメータと、を含むデータである。描画コマンドの例としては、円などの図形を描画するコマンドや、圧縮されたビットマップデータを解凍するコマンド、などが挙げられる。描画に利用されるパラメータの例としては、円の中心の位置と半径などの図形の位置と形状とを定めるパラメータや、画像データ中に埋め込まれた圧縮済のビットマップデータ、などが挙げられる。入力ベクタデータの例としては、ＰＤＦ（Portable Document Format）やＸＰＳ（XML Paper Specification）の画像データが挙げられる。本実施例では、画像処理装置１００は、ＰＤＦの画像データを利用可能である。以下、描画コマンドのことを、単に「コマンド」とも呼ぶ。
【００３５】
入力ラスタデータの例としては、PWG raster format（単に「ＰＷＧ」とも呼ぶ）やＪＰＥＧの画像データが挙げられる。ＰＷＧは、IEEE-ISTO（The Institute of Electrical and Electronics Engineers - Industry Standards and : Technology Organization）のプリンタワーキンググループ(PWG)によって提案された形式である。本実施例では、画像処理装置１００は、ＰＷＧの画像データを利用可能である。
【００３６】
以下、ユーザが、ＰＤＦの画像データを印刷対象データとして選択し、印刷対象データの印刷を通信端末２００に指示したこととして、説明を行う。通信端末２００（図１）のプロセッサ２１０は、プログラム２３２に従って動作することによって、図２に示す印刷のための処理を実行する。印刷のための処理を実行する機能は、通信端末２００のオペレーティングシステムに組み込まれている。この代わりに、オペレーティングシステム上で動作するアプリケーションが、印刷のための処理を実行してもよい。また、画像処理装置１００のプロセッサ１１０は、プログラム１３２に従って動作することによって、図２に示す印刷のための処理を実行する。
【００３７】
Ｓ１０では、通信端末２００のプロセッサ２１０は、印刷対象データ（ここでは、ＰＤＦデータ）を、入力ベクタデータとして、画像処理装置１００に送信する。Ｓ２０では、プロセッサ２１０は、印刷対象データをラスタライズすることによって、ラスタデータを生成する。ラスタライズは、ベクタ形式のデータ（描画コマンドなど）を解釈して、ラスタデータを生成する処理である。本実施例では、ラスタデータとして、ＰＷＧデータが生成される。また、生成されるラスタデータの画素密度は、通信端末２００のプログラム２３２の設計に依存して異なり得る。Ｓ３０では、プロセッサ２１０は、生成したラスタデータを、入力ラスタデータとして、画像処理装置１００に送信する。そして、プロセッサ２１０は、印刷のための処理を終了する。なお、入力ベクタデータと入力ラスタデータとは、いずれも、印刷対象データによって表される画像と同じ画像を表している（「入力画像」と呼ぶ）。後述するように、入力ラスタデータは、画像処理装置１００によって利用されない場合がある。従って、本実施例では、プロセッサ２１０は、画像処理装置１００から入力ラスタデータを要求された場合にのみ、Ｓ２０、Ｓ３０を実行する。ただし、プロセッサ２１０は、画像処理装置１００が入力ラスタデータを利用するか否かに拘わらずに、所定の手順に従ってＳ２０、Ｓ３０を実行してもよい。
【００３８】
画像処理装置１００（図１）のプロセッサ１１０は、Ｓ１００で、入力ベクタデータを受信（取得）する。図３は、印刷処理で処理される画像の例を示す概略図である。図中の上段の画像ＩＭｉは、入力画像を示している（「入力画像ＩＭｉ」と呼ぶ）。図３の例では、入力画像ＩＭｉは、背景Ｂｇ上に互いに分離して配置された３個のオブジェクトＯ１、Ｏ２、Ｏ３を表している。
【００３９】
図２のＳ１１０では、プロセッサ１１０は、入力ベクタデータによって表される入力画像ＩＭｉの領域を複数のバンドに区分し、そして、未処理のバンドを注目バンドとして選択する。図３の例では、入力画像ＩＭｉは、４つのバンドＢ１、Ｂ２、Ｂ３、Ｂ４に区分されている。本実施例では、プロセッサ１１０は、入力画像ＩＭｉの領域を、縦方向に並ぶ複数の矩形領域に区分する。１つの矩形領域が１つのバンドに対応する。１つのバンドは、横方向に延びる複数の画素ラインを含んでいる。プロセッサ１１０は、上から順番に１つの未処理のバンドを注目バンドとして選択する。
【００４０】
図２のＳ１２０では、プロセッサ１１０は、注目バンドのラスタライズを実行する。Ｓ１２０では、ラスタライズによって、プリンタ部１９０による印刷のための所定の画素密度（処理画素密度と呼ぶ）のラスタ形式の画像データ（注目バンドラスタデータと呼ぶ）が生成される。本実施例では、生成される注目バンドラスタデータは、赤Ｒ、緑Ｇ、青Ｂの各成分の色値（例えば、０〜２５５の２５６階調の値）を画素ごとに含むＲＧＢ画像データである。ラスタライズの詳細については、後述する。
【００４１】
Ｓ１３０では、プロセッサ１１０は、注目バンドラスタデータの複数の画素の色値を、ＲＧＢの階調値から、印刷用のインクの色成分に対応するＣＭＹＫの階調値に変換する。ＲＧＢとＣＭＹＫとの間の対応関係は、不揮発性記憶装置２３０に予め格納されたルックアップテーブル（図示省略）によって予め規定されている。プロセッサ１１０は、このルックアップテーブルを参照して、色変換を実行する。
【００４２】
Ｓ１４０では、プロセッサ１１０は、色変換済のデータを用いて、ハーフトーン処理を行う。ハーフトーン処理としては、いわゆる誤差拡散法に従った処理が行われる。この代わりに、ディザマトリクスを用いる方法を採用してもよい。ハーフトーン処理によって、注目バンドの画像をプリンタ部１９０に印刷させるための印刷データが生成される。
【００４３】
Ｓ１５０では、プロセッサ１１０は、印刷データをプリンタ部１９０に供給し、プリンタ部１９０に注目バンドの画像を印刷させる。
【００４４】
Ｓ１６０では、プロセッサ１１０は、全てのバンドの処理が完了したか否かを判断する。未処理のバンドが残っている場合（Ｓ１６０：Ｎｏ）、プロセッサ１１０は、Ｓ１１０に移行して、未処理のバンドの処理を実行する。全てのバンドの処理が完了した場合（Ｓ１６０：Ｙｅｓ）、入力画像の全体の印刷が完了し、図２の処理が終了する。
【００４５】
図４は、ラスタライズ（図２：Ｓ１２０）の手順を示すフローチャートである。Ｓ２００では、プロセッサ１１０は、入力ベクタデータの注目バンドに対応する部分を処理画素密度でラスタライズする。図３の例では、入力画像ＩＭｉの４つのバンドＢ１〜Ｂ４のうちの１つの注目バンドのラスタライズが行われる。
【００４６】
図４中の中段の左側に示す第１ラスタ画像ＩＭｖは、入力ベクタデータのラスタライズによって生成されるラスタデータによって表される画像を示している。第１ラスタ画像ＩＭｖは、３個のオブジェクトＯ１、Ｏ２、Ｏ３ｘを表している。２つのオブジェクトＯ１、Ｏ２は、入力画像ＩＭｉ中のオブジェクトＯ１、Ｏ２と、それぞれ同じである。第３オブジェクトＯ３ｘは、入力画像ＩＭｉの第３オブジェクトＯ３を正しく表していない（図３の例では、第３オブジェクトＯ３ｘは、空欄である）。このような不適切なラスタライズは、例えば、第３オブジェクトＯ３を描画するためのコマンドが、プロセッサ１１０によって解釈不可能なコマンドを含んでいる場合に、生じる。
【００４７】
図５は、解釈可能なコマンドと解釈不可能なコマンドとの例を示す表である。本実施例では、「/JBIG2Decode」と「/JPXDecode」との２つのコマンドが解釈不可能である。入力ベクタデータに含まれ得るコマンドのうち、解釈不可能なコマンドを除いた残りの全てのコマンドは、解釈可能である。本実施例では、図１の画像処理装置１００（ここでは、プログラム１３２）にコマンドに応じた処理が実装されているコマンドが、解釈可能なコマンドに分類される。コマンドに応じた処理が実装されていないコマンドが、解釈不可能なコマンドに分類される。従来、このような解釈不可能なコマンドを含む入力ベクタデータを受信されると、画像処理装置は印刷エラーをユーザに通知し、印刷処理を実行しない。
【００４８】
「/JBIG2Decode」は、JBIG2方式で圧縮されたビットマップデータを展開するコマンドである。「/JPXDecode」は、JPEG2000方式で圧縮されたビットマップデータを展開するコマンドである。本実施例では、これらのコマンドは、プログラム１３２に実装されていないので、解釈不可能である。従って、オブジェクトを描画するためのコマンドが、「/JBIG2Decode」と「/JPXDecode」との少なくとも１つを含む場合、プロセッサ１１０は、そのオブジェクトをラスタライズすることができない。図３の例では、第３オブジェクトＯ３のコマンドが、「/JPXDecode」を含んでいることとする。
【００４９】
図４のＳ２１０では、プロセッサ１１０は、入力ベクタデータに含まれるコマンドを解析することによって、注目バンドに含まれるゼロ個以上のオブジェクト領域を特定する。オブジェクト領域は、オブジェクトを表す領域である。プロセッサ１１０は、オブジェクトを描画するコマンドが解釈不可能なコマンドを含むか否かに拘わらず、そのオブジェクトを表す領域の位置と高さと幅とを指定する別のコマンドのパラメータを参照することによって、そのオブジェクト領域を特定可能である。Ｓ２２０では、特定されたオブジェクト領域から、未処理のオブジェクト領域を注目オブジェクト領域として選択する。
【００５０】
Ｓ２３０では、プロセッサ１１０は、注目オブジェクト領域のオブジェクトを描画するためのコマンド（「注目コマンド」と呼ぶ）の全てが解釈可能であるか否かを判断する。例えば、注目オブジェクト領域が、図３のオブジェクトＯ１、Ｏ２を表す領域に含まれる場合、Ｓ２３０の判断結果は「Ｙｅｓ」である。判断結果が「Ｙｅｓ」である場合、Ｓ２５０で、プロセッサ１１０は、注目オブジェクト領域の印刷データの生成に利用すべき入力画像データとして、入力ベクタデータを選択する。すなわち、プロセッサ１１０は、図４の処理で生成される注目バンドラスタデータのうち注目オブジェクト領域に対応するデータとして、入力ベクタデータのラスタライズによって生成されたラスタデータのうちの注目オブジェクト領域に対応するデータ（第１注目ラスタデータと呼ぶ）を採用する。第１注目ラスタデータは、注目コマンドに従うラスタライズによって生成されるラスタデータである。例えば、図３の例では、図４の処理で生成される注目バンドラスタデータのうちオブジェクトＯ１、Ｏ２を表すオブジェクト領域に対応するデータとして、第１注目ラスタデータが採用される。そして、処理は、Ｓ２９０に移行する。
【００５１】
注目コマンドが、１個以上の解釈不可能なコマンドを含む場合、Ｓ２３０の判断結果は「Ｎｏ」である。例えば、注目オブジェクト領域が、図３の第３オブジェクトＯ３を表す領域である場合、判断結果は「Ｎｏ」である。判断結果が「Ｎｏ」である場合、Ｓ２７０で、プロセッサ１１０は、入力ラスタデータを通信端末２００に要求し、そして、通信端末２００から入力ラスタデータを取得する。
【００５２】
なお、本実施例では、通信端末２００のプロセッサ２１０は、図２のＳ２０、Ｓ３０を、バンド毎に進行する。すなわち、プロセッサ２１０は、１つのバンドのラスタライズが完了したら、次のバンドのラスタライズの完了を待たずに、生成したラスタデータを画像処理装置１００に送信する。従って、画像処理装置１００のプロセッサ１１０は、入力ラスタデータの全体の生成完了を待たずに、入力ラスタデータのうちの注目バンド内の注目オブジェクト領域に対応するデータ（第２注目ラスタデータと呼ぶ）を取得したことに応じて、処理を進行できる。
【００５３】
また、本実施例では、入力ラスタデータは、圧縮されている（例えば、パックビッツ圧縮）。従って、Ｓ２７２では、プロセッサ１１０は、取得した第２注目ラスタデータを解凍する。入力ラスタデータが圧縮されていない場合には、Ｓ２７２は省略可能である。なお、本実施例では、通信端末２００によって生成される入力ラスタデータの画素密度は、プリンタ部１９０による印刷のための処理画素密度と同じとは限らない。入力ラスタデータの画素密度が処理画素密度と異なる場合、プロセッサ１１０は、Ｓ２７２で、第２注目ラスタデータの画素密度を処理画素密度に変更する処理（例えば、画像の拡大または縮小）を行って、処理画素密度の第２注目ラスタデータを生成すればよい。
【００５４】
図３の中段の右側の第２ラスタ画像ＩＭｒは、入力ラスタデータによって表される画像を示している。第２ラスタ画像ＩＭｒは、入力画像ＩＭｉと同じく、３個のオブジェクトＯ１、Ｏ２、Ｏ３を表している。
【００５５】
図４のＳ２８０では、プロセッサ１１０は、注目オブジェクト領域の印刷データの生成に利用すべき入力画像データとして、入力ラスタデータを選択する。すなわち、プロセッサ１１０は、図４の処理で生成される注目バンドラスタデータのうち注目オブジェクト領域に対応するデータとして、第２注目ラスタデータ（すなわち、入力ラスタデータのうち注目オブジェクト領域に対応するデータ）を採用する。例えば、図３の例では、図４の処理で生成される注目バンドラスタデータのうち第３オブジェクトＯ３を表すオブジェクト領域に対応するデータとして、第２注目ラスタデータが採用される。そして、処理は、Ｓ２９０に移行する。
【００５６】
Ｓ２９０では、プロセッサ１１０は、注目バンド内の全てのオブジェクト領域の処理が完了したか否かを判断する。未処理のオブジェクト領域が残っている場合（Ｓ２９０：Ｎｏ）、プロセッサ１１０は、Ｓ２２０に移行し、未処理のオブジェクト領域の処理を実行する。
【００５７】
全てのオブジェクト領域の処理が完了した場合（Ｓ２９０：Ｙｅｓ）、Ｓ２９５で、プロセッサ１１０は、Ｓ２５０、Ｓ２８０で選択された第１または第２の注目ラスタデータを合成することによって、注目バンドラスタデータを生成する。そして、図４の処理が終了し、処理は、図２のＳ１３０に移行する。
【００５８】
図３の下段の出力画像ＩＭｏは、順次生成される注目バンドラスタデータによって表される画像（印刷データによって表される画像と同じ）を示している。出力画像ＩＭｏは、入力画像ＩＭｉと同じく、３個のオブジェクトＯ１、Ｏ２、Ｏ３を表している。図中の中段の第１ラスタ画像ＩＭｖと第２ラスタ画像ＩＭｒとのオブジェクト領域のうち、二重線で囲まれるオブジェクト領域は、出力画像ＩＭｏの生成に利用される領域を示している。図３の例では、出力画像ＩＭｏを表すデータ（注目バンドラスタデータ）のうち、オブジェクトＯ１、Ｏ２を表す領域に対応するデータとしては、第１ラスタ画像ＩＭｖのオブジェクトＯ１、Ｏ２を表すデータ（すなわち、入力ベクタデータのラスタライズによって生成されるラスタデータ）が採用される。また、出力画像ＩＭｏを表すデータのうち、第３オブジェクトＯ３を表す領域に対応するデータとしては、第２ラスタ画像ＩＭｒの第３オブジェクトＯ３を表すデータ（すなわち、入力ラスタデータ）が採用される。
【００５９】
以上のように、本実施例では、注目オブジェクト領域のオブジェクトを描画するための注目コマンドが解釈可能な場合に（図４：Ｓ２３０：Ｙｅｓ）、プロセッサ１１０は、注目コマンドを用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する（図４：Ｓ２５０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。また、注目コマンドが解釈不可能なコマンドを含む場合（Ｓ２３０：Ｎｏ）、プロセッサ１１０は、印刷データの生成を中止せずに、入力ラスタデータのうち注目オブジェクト領域に対応する第２注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する（図４：Ｓ２８０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。従って、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００６０】
また、通信端末２００によって生成される入力ラスタデータの画質は、通信端末２００の処理能力に依存して変化し得る。例えば、通信端末２００の処理能力が低い場合には、低画質の入力ラスタデータが生成される場合がある。例えば、通信端末２００によって生成される入力ラスタデータの画素密度が処理画素密度よりも低くて、オブジェクトのエッジがぼやけた入力ラスタデータが生成される場合がある。ここで、仮に、画像処理装置１００が入力ベクタデータを用いずに入力ラスタデータを用いて画像を印刷する場合、低画質の画像が印刷される場合がある。本実施例では、特定の条件が満たされる場合（本実施例では、注目コマンドが解釈可能な場合）、プロセッサ１１０は、プロセッサ１１０によるラスタライズ処理によって生成された第１注目ラスタデータを用いるので、通信端末２００の処理能力に拘わらずに、画像処理装置１００（ここでは、プロセッサ１１０）の処理能力を活用することによって高画質な印刷データを生成できる。
【００６１】
なお、本実施例では、全てのオブジェクトの全てのコマンドが解釈可能な場合には、プロセッサ１１０は、入力ラスタデータを通信端末２００に要求せずに、入力ラスタデータを用いずに、印刷データを生成する。この場合、通信端末２００は、図２のＳ２０、Ｓ３０を実行しない。
【００６２】
Ｂ．第２実施例：
図６は、ラスタライズの別の実施例のフローチャートである。図４の実施例との差異は、２点ある。第１の差異は、図４のＳ２７０、Ｓ２７２が省略され、そして、入力ベクタデータと入力ラスタデータとの一方を選択するための条件判断よりも前に、入力ラスタデータを取得する処理（Ｓ２０３、Ｓ２０６）が実行されている点である。第２の差異は、条件判断のためのＳ２３０が、類似条件を用いて条件判断を行うための処理（Ｓ２６４、Ｓ２６６）に置換されている点である。図６の他の処理は、図４の処理と同じである。図６のステップのうち、図４のステップと同じステップには、同じ符号を付して、その説明を省略する。図６のラスタライズは、図２のＳ１２０に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図１の構成と同じである。
【００６３】
図６の実施例では、Ｓ２０３、Ｓ２０６が、Ｓ２００とＳ２１０との間に実行される。Ｓ２０３では、プロセッサ１１０（図１）は、入力ラスタデータを通信端末２００に要求し、そして、通信端末２００から入力ラスタデータ（特に入力ラスタデータのうちの注目バンドに対応するデータ）を取得する。Ｓ２０６では、プロセッサ１１０は、取得した注目バンドのラスタデータを、解凍する。入力ラスタデータが圧縮されていない場合には、Ｓ２０６は省略可能である。なお、Ｓ２００は、Ｓ２０３とＳ２０６の間に実行されてもよく、Ｓ２０６の後に実行されてもよい。また、Ｓ２１０は、Ｓ２０３とＳ２０６との間、または、Ｓ２００とＳ２０３との間に実行されてもよい。
【００６４】
図７は、第２実施例で処理される画像の例を示す概略図である。図中の上段の画像ＩＭｉ２は、入力画像ＩＭｉ２を示している。この入力画像ＩＭｉ２は、３個のオブジェクトＯ１、Ｏ２ａ、Ｏ３ａを表している。図３の入力画像ＩＭｉとの差異は、２つある。第１の差異は、第２オブジェクトＯ２ａが、複数の要素（例えば、文字、矩形、円など）を各要素の不透明度に応じて重ね合わせることによって得られる画像を表している点である。第２の差異は、第３オブジェクトＯ３ａが、第１オブジェクトＯ１と同様に、画像処理装置１００によるラスタライズによって適切に描画される点である。
【００６５】
図７の中段の左側の第１ラスタ画像ＩＭｖ２は、入力ベクタデータのラスタライズによって生成されるラスタデータによって表される画像を示している。第１ラスタ画像ＩＭｖ２は、３個のオブジェクトＯ１、Ｏ２ａｘ、Ｏ３ａを表している。２個のオブジェクトＯ１、Ｏ３ａは、入力画像ＩＭｉ２のオブジェクトＯ１、Ｏ３ａと、それぞれ同じである。第２オブジェクトＯ２ａｘは、入力画像ＩＭｉ２の第２オブジェクトＯ２ａと若干異なっている。具体的には、複数の要素が重なる部分の色が、入力画像ＩＭｉ２の色とは異なる色に設定されている。このような不適切なラスタライズは、例えば、第２オブジェクトＯ２ａを描画するためのコマンドが複雑な計算式による重ね合わせを表す場合に、計算のエラーによって生じ得る。
【００６６】
図７の例では、第２オブジェクトＯ２ａを描画するコマンドは、「/SMask」を含んでいる。「/SMask」は、ソフトマスクとも呼ばれ、画像内の位置に応じて変化し得る不透明度を設定するコマンドである。「/SMask」は、複数の要素を各要素の不透明度に応じて重ね合わせる場合に、利用される。複数の要素が重なる領域の色値の計算式として、不透明度を用いる種々の計算式を利用可能である（そのような計算式は、ブレンドモードとも呼ばれる）。そのような計算式は、計算式を指定するための描画コマンドを用いることによって、指定可能である。ここで、複雑な計算式が指定される場合、計算エラーによって不適切な色値が算出される場合がある。
【００６７】
図７の中段の右側の第２ラスタ画像ＩＭｒ２は、入力ラスタデータによって表される画像を示している。第２ラスタ画像ＩＭｒ２は、入力画像ＩＭｉ２と同じく、３個のオブジェクトＯ１、Ｏ２ａ、Ｏ３ａを表している。そのため、本実施例では、プロセッサ１１０は、第１ラスタ画像ＩＭｖ２と第２ラスタ画像ＩＭｒ２との差の度合いを用いて、第１ラスタ画像ＩＭｖ２が適切にラスタライズされたか否かを判断する。
【００６８】
具体的に、図６のＳ２２０で注目オブジェクト領域が選択された後、Ｓ２６４で、プロセッサ１１０は、第１注目ラスタデータによって表される第１注目ラスタ画像と、第２注目ラスタデータによって表される第２注目ラスタ画像と、を比較して、第１注目ラスタ画像と第２注目ラスタ画像との差の度合いを算出する。ここで、第１注目ラスタデータは、入力ベクタデータのラスタライズによって生成されたラスタデータのうちの注目オブジェクト領域に対応するデータである。すなわち、第１注目ラスタデータは、注目コマンドのラスタライズによって生成されるラスタデータである。第２注目ラスタデータは、入力ラスタデータのうちの注目オブジェクト領域に対応するデータである。
【００６９】
本実施例では、差の度合いとして、赤Ｒと緑Ｇと青Ｂとのそれぞれの色値のヒストグラムの形状の差の度合いが採用される。具体的には、プロセッサ１１０は、第１注目ラスタ画像と第２注目ラスタ画像とのそれぞれに対して、赤Ｒと緑Ｇと青Ｂとの３つの色値の３つのヒストグラムを作成する。プロセッサ１１０は、２個の注目ラスタ画像の間で同じ色成分のヒストグラムの同じ色値の頻度を比較して、頻度の差分の絶対値を算出する。プロセッサ１１０は、ヒストグラムの全ての色値の頻度の差分の絶対値を足し合わせることによって、合計値を算出する。ゼロの合計値は、２つのヒストグラムの間で分布の形状が同一であることを示している。合計値が小さいほど、２つのヒストグラムの間で分布の形状の差が小さい。すなわち、２個の注目ラスタ画像が類似している場合には、合計値は小さい。プロセッサ１１０は、３つの色成分の３つの合計値の和を、２個の注目ラスタ画像の間の差の度合いとして算出する。例えば、注目オブジェクト領域が第１オブジェクトＯ１（図７）を表す場合には、第１ラスタ画像ＩＭｖ２の第１オブジェクトＯ１と第２ラスタ画像ＩＭｒ２の第１オブジェクトＯ１とは類似しているので、差の度合いが小さい。その場合、第１ラスタ画像ＩＭｖ２中の第１オブジェクトＯ１が適切にラスタライズされた可能性が高い。注目オブジェクト領域が第２オブジェクトＯ２ａを表す場合、第１ラスタ画像ＩＭｖ２の第２オブジェクトＯ２ａｘと第２ラスタ画像ＩＭｒ２の第２オブジェクトＯ２ａとの間に差があるので、差の度合いが大きい。その場合、第１ラスタ画像ＩＭｖ２中の第２オブジェクトＯ２ａｘが適切にラスタライズされなかった可能性が高い。注目オブジェクト領域が第３オブジェクトＯ３ａを表す場合、第１ラスタ画像ＩＭｖ２の第３オブジェクトＯ３ａと第２ラスタ画像ＩＭｒ２の第３オブジェクトＯ３ａとは類似しているので、差の度合いは小さい。なお、このような差の度合いは、２個の画像の間の類似度を示している、ということもできる。
【００７０】
図６のＳ２６６では、プロセッサ１１０は、第１注目ラスタ画像と第２注目ラスタ画像とが、予め決められた類似条件を満たしているか否かを判断する。本実施例では、類似条件は、Ｓ２６４で算出された差の度合いが、予め決められた類似閾値よりも小さいことである。類似条件が満たされる場合（Ｓ２６６：Ｙｅｓ）、プロセッサ１１０は、Ｓ２５０で入力ベクタデータを選択し、Ｓ２９０に移行する。類似条件が満たされない場合（Ｓ２６６：Ｎｏ）、プロセッサ１１０は、Ｓ２８０で入力ラスタデータを選択し、Ｓ２９０に移行する。Ｓ２９０以降の処理は、図４の実施例と同じである。
【００７１】
図７の下段の出力画像ＩＭｏ２は、順次生成される注目バンドラスタデータによって表される画像（印刷データによって表される画像と同じ）を示している。出力画像ＩＭｏ２は、入力画像ＩＭｉ２と同じく、３個のオブジェクトＯ１、Ｏ２ａ、Ｏ３ａを表している。図７の例では、出力画像ＩＭｏ２を表すデータ（注目バンドラスタデータ）のうち、第１オブジェクトＯ１と第３オブジェクトＯ３ａとを表す領域に対応するデータとしては、第１ラスタ画像ＩＭｖ２の第１オブジェクトＯ１と第３オブジェクトＯ３ａとを表すデータ（すなわち、入力ベクタデータのラスタライズによって生成されるラスタデータ）が採用される。また、注目バンドラスタデータのうち、第２オブジェクトＯ２ａを表す領域に対応するデータとしては、第２ラスタ画像ＩＭｒ２の第２オブジェクトＯ２ａを表すデータ（すなわち、入力ラスタデータ）が採用される。
【００７２】
以上のように、第１注目ラスタ画像と第２注目ラスタ画像とが類似条件を満たす場合（Ｓ２６６：Ｙｅｓ）、プロセッサ１１０は、印刷データのうち注目オブジェクト領域に対応する部分を、第１注目ラスタデータを用いて生成する（図６：Ｓ２５０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。第１注目ラスタデータは、入力ベクタデータに含まれる注目コマンドのラスタライズによって生成されたデータである。従って、プロセッサ１１０は、プロセッサ１１０によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。
【００７３】
第１注目ラスタ画像と第２注目ラスタ画像とが類似条件を満たさない場合（Ｓ２６６：Ｎｏ）、プロセッサ１１０は、印刷データのうち注目オブジェクト領域に対応する部分を、第２注目ラスタデータを用いて生成する（図６：Ｓ２８０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。第２注目ラスタデータは、入力ラスタデータのうちの注目オブジェクト領域に対応する部分である。従って、プロセッサ１１０は、注目コマンドを適切に処理できない場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００７４】
Ｃ．第３実施例：
図８は、ラスタライズの別の実施例のフローチャートである。図４の実施例との差異は、Ｓ２３０の判断結果が「Ｙｅｓ」である場合に実行され得るＳ２４０、Ｓ２６０、Ｓ２６２、Ｓ２６４、Ｓ２６６が追加されている点だけである。図８の他の処理は、図４の処理と同じである。図８のステップのうち、図４のステップと同じステップには、同じ符号を付して、その説明を省略する。図８のラスタライズは、図２のＳ１２０に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図１の構成と同じである。
【００７５】
注目コマンドが解釈可能である場合（Ｓ２３０：Ｙｅｓ）、Ｓ２４０で、プロセッサ１１０は、注目コマンドが描画可能条件を満たすか否かを判断する。図９は、コマンドの分類例を示す表である。図５の実施例とは異なり、解釈可能なコマンドは、さらに、描画可能なコマンドと、要素を正しく描画できない場合があるコマンドと、に分類されている。以下、描画可能なコマンドを「描画可能コマンド」とも呼ぶ。また、要素を正しく描画できない場合があるコマンド、すなわち、要素を正しく描画できるか否かが確定していないコマンドを、「未確定コマンド」とも呼ぶ。本実施例では、「/SMask」と「/Group」と「/ICCBased」とは、解釈可能であり、かつ、未確定なコマンドである。解釈不可能なコマンドは、図５の実施例と同じである。解釈可能なコマンドのうち、未確定コマンドを除いた残りの全てのコマンドは、描画可能である。
【００７６】
「/SMask」は、上記の通り、不透明度を設定するコマンドである。「/Group」は、複数の要素を重ね合わせる場合の連続的に重なるグループを規定するコマンドである。「/ICCBased」は、ＩＣＣプロファイルに従って色変換を行うコマンドである。本実施例では、これらのコマンドは、解釈可能であるが、未確定コマンドである。例えば、「/SMask」が用いられる場合には、図７で説明したように、複雑な計算式に起因して不適切な色値が算出される場合がある。「/Group」が用いられる場合も、同様に、複数の要素が重なる部分の色値の計算式が複雑になって、不適切な色値が算出される場合がある。「/ICCBased」が用いられる場合には、プリンタ部１９０が、ＩＣＣプロファイルによって規定される色空間の一部の色を印刷できない場合がある。
【００７７】
本実施例では、図８のＳ２４０で判断される描画可能条件は、注目コマンドの全てが描画可能であることである。例えば、注目オブジェクト領域が、図７の第１オブジェクトＯ１を表す領域に含まれる場合、Ｓ２４０の判断結果は「Ｙｅｓ」である。判断結果が「Ｙｅｓ」である場合、プロセッサ１１０は、Ｓ２５０に移行する。Ｓ２５０に続く処理は、図４の実施例と同じである。
【００７８】
注目コマンドが、未確定コマンドを含む場合、注目コマンドは、描画可能条件を満たしていない（Ｓ２４０：Ｎｏ）。例えば、注目オブジェクト領域が、図７の第２オブジェクトＯ２ａを表す領域に含まれる場合、判断結果は「Ｎｏ」である。判断結果が「Ｎｏ」である場合、プロセッサ１１０は、Ｓ２６０で入力ラスタデータ（特に、注目オブジェクト領域に対応する第２注目ラスタデータ）を取得し、Ｓ２６２で、入力ラスタデータを解凍する。これらのＳ２６０、Ｓ２６２は、図４のＳ２７０、Ｓ２７２と、それぞれ同じである。
【００７９】
第２注目ラスタデータを取得した後、プロセッサ１１０は、第１注目ラスタ画像と第２注目ラスタ画像とが類似条件を満たしているか否かを判断する（Ｓ２６４、Ｓ２６６）。判断のためのＳ２６４、Ｓ２６６は、図６のＳ２６４、Ｓ２６６と、それぞれ同じである。
【００８０】
類似条件が満たされる場合（Ｓ２６６：Ｙｅｓ）、プロセッサ１１０は、Ｓ２５０に移行する。Ｓ２５０に続く処理は、図４の実施例と同じである。類似条件が満たされない場合、プロセッサ１１０は、Ｓ２８０に移行する。Ｓ２８０に続く処理は、図４の実施例と同じである。
【００８１】
以上のように、注目コマンドが、解釈可能、かつ、描画可能条件を満たす場合（Ｓ２３０：Ｙｅｓ、Ｓ２４０：Ｙｅｓ）、プロセッサ１１０は、注目コマンド（すなわち、第１注目ラスタデータ）を用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する（図８：Ｓ２５０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。従って、プロセッサ１１０は、プロセッサ１１０によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。
【００８２】
また、注目コマンドが、解釈可能であるとともに描画可能条件を満たさず（Ｓ２３０：Ｙｅｓ、Ｓ２４０：Ｎｏ）、かつ、第１注目ラスタ画像と第２注目ラスタ画像とが類似条件を満たす場合（Ｓ２６６：Ｙｅｓ）、プロセッサ１１０は、注目コマンド（すなわち、第１注目ラスタデータ）を用いて印刷データのうち注目オブジェクト領域に対応する部分を生成する（図８：Ｓ２５０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。このように、注目コマンドが描画可能条件を満たしていない場合であっても、注目コマンドのラスタライズによって得られる第１注目ラスタ画像が適切な画像を表している場合には、第１注目ラスタデータが用いられる。従って、プロセッサ１１０は、プロセッサ１１０によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。例えば、プロセッサ１１０は、図７の第２オブジェクトＯ２ａを描画するコマンドを適切にラスタライズできる場合には、印刷データのうちの第２オブジェクトＯ２ａに対応する部分を、入力ベクタデータのラスタライズによって生成されるラスタデータを用いて、生成する。
【００８３】
また、注目コマンドが解釈不可能なコマンドを含む場合（Ｓ２３０：Ｎｏ）、プロセッサ１１０は、入力ラスタデータのうち注目オブジェクト領域に対応する第２注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する（図８：Ｓ２８０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。従って、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００８４】
また、注目コマンドが解釈可能であるとともに描画可能条件を満たさず（Ｓ２３０：Ｙｅｓ、Ｓ２４０：Ｎｏ）、かつ、第１注目ラスタ画像と第２注目ラスタ画像とが類似条件を満たさない場合（Ｓ２６６：Ｎｏ）、プロセッサ１１０は、第２注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する（図８：Ｓ２８０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。従って、プロセッサ１１０は、注目コマンドを適切に処理できない場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００８５】
なお、通信端末としては、入力ラスタデータを生成する機能が実装されておらず、入力ベクタデータのみを画像処理装置１００に供給する端末が利用されてもよい。この場合、画像処理装置１００のプロセッサ１１０は、入力ラスタデータを用いずに、入力ベクタデータのラスタライズによって生成されるラスタデータを用いて、印刷データを生成すればよい。入力ベクタデータが解釈不可能なコマンドを含む場合、プロセッサ１１０は、解釈不可能なコマンドによって表されるオブジェクト領域を空欄にすればよい。入力ベクタデータが未確定コマンドを含む場合には、プロセッサ１１０は、その未確定コマンドのラスタライズによって得られるラスタデータを用いて、印刷データを生成すればよい。こうすれば、印刷される画像からのオブジェクトの欠落を抑制できる。一方、本実施例のように入力ラスタデータと入力ベクタデータとの両方を利用可能な場合には、プロセッサ１１０は、未確定コマンドのラスタライズの結果が不適切である場合（Ｓ２６６：Ｎｏ）に入力ラスタデータを用いるので、不適切な印刷データが生成されることを抑制できる。
【００８６】
Ｄ．第４実施例：
図１０は、ラスタライズの別の実施例のフローチャートである。図８の実施例との差異は、類似条件を判断するための処理（Ｓ２６０、Ｓ２６２、Ｓ２６４、Ｓ２６６）が省略されている点だけである。Ｓ２４０の判断結果が「Ｎｏ」である場合、処理は、Ｓ２７０に移行する。図１０の他の処理は、図８の処理と同じである。図１０のステップのうち、図８のステップと同じステップには、同じ符号を付して、その説明を省略する。図１０のラスタライズは、図２のＳ１２０に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図１の構成と同じである。
【００８７】
本実施例では、以下の２つの場合の処理は、図８の実施例と同じである。
（第１の場合）注目コマンドが、解釈可能、かつ、描画可能条件を満たす場合（Ｓ２３０：Ｙｅｓ、Ｓ２４０：Ｙｅｓ）の処理。
（第２の場合）注目コマンドが解釈不可能なコマンドを含む場合（Ｓ２３０：Ｎｏ）の処理。
従って、図８の実施例と同様に、第１の場合には、プロセッサ１１０は、プロセッサ１１０によるラスタライズの処理能力を活用することによって、高画質な印刷データを生成できる。また、第２の場合には、プロセッサ１１０は、注目コマンドが解釈不可能なコマンドを含む場合であっても、入力ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００８８】
さらに、本実施例では、注目コマンドが、解釈可能でありつつも描画可能条件を満たさない場合（Ｓ２３０：Ｙｅｓ、Ｓ２４０：Ｎｏ）、プロセッサ１１０は、入力ラスタデータのうち注目オブジェクト領域に対応する第２注目ラスタデータを用いて、印刷データのうち注目オブジェクト領域に対応する部分を生成する（図１０：Ｓ２８０、Ｓ２９５、図２：Ｓ１３０、Ｓ１４０）。従って、プロセッサ１１０は、注目コマンドを正しくラスタライズできない可能性がある場合に、入力ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００８９】
Ｅ．第５実施例：
図１１は、ラスタライズの別の実施例のフローチャートである。図８の実施例との差異は、描画可能条件を判断するＳ２４０が省略されている点だけである。Ｓ２３０の判断結果が「Ｙｅｓ」である場合、処理は、Ｓ２６０に移行する。図１１の他の処理は、図８の処理と同じである。図１１のステップのうち、図８のステップと同じステップには、同じ符号を付して、その説明を省略する。図１１のラスタライズは、図２のＳ１２０に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図１の構成と同じである。
【００９０】
本実施例では、注目コマンドが解釈不可能なコマンドを含む場合（Ｓ２３０：Ｎｏ）の処理は、図８、図１０の実施例と同じく、入力ラスタデータのうちの第２注目ラスタデータが用いられる。従って、プロセッサ１１０は、注目コマンドが解釈不可能なコマンドを含む場合であっても、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００９１】
また、注目コマンドが解釈可能である場合（Ｓ２３０：Ｙｅｓ）、図８の実施例のＳ２６０〜Ｓ２６６と同様に、類似条件が満たされるか否かに応じて、注目オブジェクト領域の印刷データの生成に用いられる注目ラスタデータが選択される。従って、注目コマンドのラスタライズによって得られる第１注目ラスタ画像が適切な画像を表している場合には（Ｓ２６６：Ｙｅｓ）、第１注目ラスタデータを用いることによって、高画質な印刷データを生成できる。また、注目コマンドのラスタライズによって得られる第１注目ラスタ画像が適切な画像を表していない場合には（Ｓ２６６：Ｎｏ）、第２注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００９２】
Ｆ．第６実施例：
図１２は、ラスタライズの別の実施例のフローチャートである。図１１の実施例との差異は、注目コマンドが解釈可能か否かを判断するＳ２３０が、描画可能条件を判断するＳ２４０に置換されている点だけである。Ｓ２４０の判断結果が「Ｙｅｓ」である場合、処理は、Ｓ２６０に移行する。Ｓ２４０の判断結果が「Ｎｏ」である場合、処理は、Ｓ２７０に移行する。図１２の他の処理は、図１１の処理と同じである。図１２のステップのうち、図１１のステップと同じステップには、同じ符号を付して、その説明を省略する。図１２のラスタライズは、図２のＳ１２０に適用される。画像処理を実行する画像処理システムのハードウェア構成は、図１の構成と同じである。
【００９３】
図８の実施例と同様に、描画可能条件は、注目コマンドの全てが描画可能であることである。従って、注目コマンドが未確定コマンドを含む場合には、Ｓ２４０の判断結果は「Ｎｏ」である。
【００９４】
本実施例では、注目コマンドが描画可能条件を満たす場合（Ｓ２４０：Ｙｅｓ）、図８、図１１の実施例のＳ２６０〜Ｓ２６６と同様に、類似条件が満たされるか否かに応じて、注目オブジェクト領域の印刷データの生成に用いられる注目ラスタデータが選択される。従って、注目コマンドのラスタライズによって得られる第１注目ラスタ画像が適切な画像を表している場合には（Ｓ２６６：Ｙｅｓ）、第１注目ラスタデータを用いることによって、高画質な印刷データを生成できる。また、注目コマンドのラスタライズによって得られる第１注目ラスタ画像が適切な画像を表していない場合には（Ｓ２６６：Ｎｏ）、第２注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる。
【００９５】
また、注目コマンドが描画可能条件を満たさない場合（Ｓ２４０：Ｎｏ）、入力ラスタデータのうちの第２注目ラスタデータを用いることによって、印刷データによって表されるオブジェクトが入力画像のオブジェクトと異なることや印刷中止等の不具合を抑制できる（Ｓ２８０、Ｓ２９５）。
【００９６】
また、本実施例では、注目コマンドが解釈可能か否かに拘わらずに、Ｓ２５０が実行されるためには、類似条件が満たされることが必要である。従って、注目コマンドのラスタライズの不具合に起因して不適切な印刷データが生成されることを抑制できる。
【００９７】
Ｇ．変形例：
（１）入力ベクタデータ（第１種入力画像データ）としては、ＰＤＦの画像データに代えて、描画コマンドとパラメータとを含むベクタ形式のデータを含む他の種々の形式の画像データを採用可能である。例えば、画像処理装置１００に固有な描画コマンドを含む画像データを採用してもよい。
【００９８】
また、入力ラスタデータ（第２種入力画像データ）としては、ＰＷＧの画像データに代えて、ベクタ形式のデータを含まずにラスタ形式のデータを含む他の種々の形式の画像データを採用可能である。例えば、ハーフトーン処理済の画像を表しプリンタ部１９０によって利用可能な形式の画像データ（すなわち、印刷データ）を採用してもよい。
【００９９】
このような入力ベクタデータと入力ラスタデータとを用いれば、プリンタ部に適した印刷データを生成できる。
【０１００】
（２）解釈可能な描画コマンドとしては、図５で説明したコマンドに代えて、他の種々のコマンドを採用可能である。また、一般的には、注目コマンドが解釈可能か否かを判断するための条件としては、注目コマンドの全てが、予め決められた１個以上の解釈可能なコマンドに含まれることを採用可能である。解釈可能なコマンドとしては、画像処理装置１００にコマンドに応じた処理が実装されているコマンドを採用可能である。
【０１０１】
（３）描画可能条件としては、図９で説明したように、注目コマンドの全てが、予め決められた１個以上の描画可能なコマンドに含まれることを採用可能である。この代わりに、プロセッサ１１０は、描画コマンドの解析結果に基づいて描画可能条件が満たされるか否かを判断してもよい。
【０１０２】
例えば、注目コマンドが、テキストを描画するコマンド（「テキストコマンド」と呼ぶ）と、テキストコマンドのパラメータとして、描画される文字列と、フォントを指定する情報と、を含む場合がある。指定されたフォントのデータが利用可能である場合（例えば、フォントのデータが、画像処理装置１００の記憶装置に予め格納されている、または、入力ベクタデータに埋め込まれている場合）、プロセッサ１１０は、テキストコマンドに従って、適切に文字列を描画できる。指定されたフォントのデータが利用可能ではない場合、プロセッサ１１０は、利用可能な代替フォントを用いて、文字列を描画可能である。しかし、指定されたフォントが特殊なフォントである場合、代替フォントを用いたとしても文字列を適切に描画できない場合がある。
【０１０３】
そこで、プロセッサ１１０は、注目コマンドがテキストコマンドを含む場合には、指定されたフォントのデータが利用可能であるか否かを判断する。そして、プロセッサ１１０は、指定されたフォントのデータが利用可能である場合、テキストコマンドは描画可能条件を満たすと判断してもよい。そして、プロセッサ１１０は、指定されたフォントのデータが利用可能ではない場合、テキストコマンドは描画可能条件を満たさないと判断してもよい。
【０１０４】
（４）類似条件としては、ヒストグラムを用いる条件に代えて、２個の注目ラスタ画像が類似していることを示す他の種々の条件を採用可能である。例えば、プロセッサ１１０は、パターンマッチングによって、２個の注目ラスタ画像が類似しているか否か（すなわち、類似条件が満たされるか否か）を判断してもよい。パターンマッチングによる判断方法としては、公知の方法を採用可能である。例えば、プロセッサ１１０は、各注目ラスタ画像から特徴点（例えば、エッジラインの端点と分岐点など）を抽出し、抽出された特徴点から、２個の注目ラスタ画像の両方の同じ位置に配置された特徴点（「同位置特徴点」と呼ぶ）を抽出する。そして、プロセッサ１１０は、特徴点の総数に対する同位置特徴点の総数の割合を算出する。ここで、プロセッサ１１０は、算出された割合が、所定の閾値以上であることを、類似条件として採用してもよい。
【０１０５】
（５）入力ベクタデータを用いて印刷データを生成するための第１条件としては、上記各実施例の条件に代えて、他の種々の条件を採用可能である。例えば、注目コマンドが描画可能コマンドであることを、第１条件として採用してもよい。
【０１０６】
入力ラスタデータを用いて印刷データを生成するための第２条件としては、上記各実施例の条件に代えて、他の種々の条件を採用可能である。例えば、注目コマンドが未確定コマンドを含むことを、第２条件として採用してもよい。
【０１０７】
（６）印刷処理の手順としては、上記各実施例の手順に代えて、他の種々の手順を採用可能である。例えば、図４、図６、図８、図１０、図１１、図１２の処理において、プロセッサ１１０は、横方向に延びる１本の画素ラインの処理を繰り返してもよい。また、プロセッサ１１０は、バンドや画素ラインの処理を繰り返すのではなく、画像の全体を一括して処理してもよい。また、オブジェクト領域を特定する方法（Ｓ２１０）としては、入力ベクタデータを解析する方法に代えて、入力ラスタデータを解析する方法を採用してもよい。ラスタデータの解析によってオブジェクト領域を特定する方法としては、公知の方法を採用可能であり、例えば、以下の方法を採用可能である。ラスタデータによって表されるラスタ画像を複数の処理領域（例えば、矩形領域）に分割し、処理領域毎に特定の色成分の色値（例えば、輝度値）の分散を算出する。そして、分散が所定の閾値（「オブジェクト閾値」と呼ぶ）よりも小さい処理領域を「背景」に分類し、分散がオブジェクト閾値以上の処理領域を「オブジェクト」に分類する。そして、オブジェクトに分類された処理領域が連続することによって構成される１つの連続な領域を、１つのオブジェクト領域として決定する。
【０１０８】
（７）入力ベクタデータと入力ラスタデータとを用いる画像データの生成処理は、印刷データの生成に限らず、一般的に、画像出力装置に画像を出力させるための出力データの生成に適用可能である。例えば、画像出力装置は、画像を表示する画像表示装置（例えば、液晶ディスプレイ）であってよく、出力データは、画像表示装置に画像を表示させるための画像データであってもよい。
【０１０９】
（８）上記実施例において、プリンタ部１９０は、画像処理装置１００に接続された、画像処理装置１００とは異なる別の装置であってもよい。また、ネットワークを介して互いに通信可能な複数の装置（例えば、コンピュータ）が、画像処理装置による画像処理の機能を一部ずつ分担して、全体として、画像処理の機能を提供してもよい（これらの装置を備えるシステムが画像処理装置に対応する）。
【０１１０】
上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の画像処理装置１００のプロセッサ１１０の機能を、専用のハードウェア回路によって実現してもよい。
【０１１１】
また、本発明の機能の一部または全部がコンピュータプログラムで実現される場合には、そのプログラムは、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。プログラムは、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【０１１２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【０１１３】
１００...画像処理装置、１１０...プロセッサ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３２...プログラム、１６０...通信インタフェース、１９０...プリンタ部、２００...通信端末、２１０...プロセッサ、２２０...揮発性記憶装置、２３０...不揮発性記憶装置、２３２...プログラム、２４０...表示部、２５０...操作部、２６０...通信インタフェース、３００...ネットワーク、１０００...画像処理システム、ＩＭｉ、ＩＭｉ２...入力画像、ＩＭｖ、ＩＭｖ２...第１ラスタ画像、ＩＭｒ、ＩＭｒ２...第２ラスタ画像、ＩＭｏ、ＩＭｏ２...出力画像、Ｏ１...第１オブジェクト、Ｏ２ａ、Ｏ２ａｘ...第２オブジェクト、Ｏ３、Ｏ３ａ...第３オブジェクト、Ｂｇ...背景
【図１】
0006394247.tif 000002
【図２】
0006394247.tif 000003
【図３】
0006394247.tif 000004
【図４】
0006394247.tif 000005
【図５】
0006394247.tif 000006
【図６】
0006394247.tif 000007
【図７】
0006394247.tif 000008
【図８】
0006394247.tif 000009
【図９】
0006394247.tif 000010
【図１０】
0006394247.tif 000011
【図１１】
0006394247.tif 000012
【図１２】
0006394247.tif 000013