以下、本発明を適用した具体的な実施の形態について図面を参照しながら詳細に説明する。
図1は、本発明を適用した第1の実施の形態として示す画像形成システムのブロック図である。第1の実施の形態に係る画像形成システムは、画像処理装置としてのホストPC200と、画像形成装置としてのプリンタ100とを、例えばLAN(Local Area Network)等によって形成される送信経路R1で接続して構成される。
プリンタ100は、ビットマップ形式のデータを用紙等の記録媒体上へ形成する画像形成手段としての印刷機構101と、PDL(Printer Description Language)形式のデータをビットマップ形式のデータへ変換する変換手段としてのビットマップ変換部102と、PDL形式のデータを受信するPDL受信部103と、受信手段としてのインターフェイス104と、ビットマップデータ形式のデータ同士を比較する照合手段としての画像照合部105と、ビットマップ形式のデータを受信する画像受信部106と、報知手毅としての表示パネル107と、PDL形式のデータを保持するPDLバッファ150とを備える。
印刷機構101は、ビットマップ変換部102から供給されたビットマップ形式のデータに基づいて、用紙上に画像を形成し、ユーザに提供する。
ビットマップ変換部102は、画像照合部105から供給された、後述する動作指示に基づいてPDLバッファ150に保持されたPDL形式のデータをビットマップ形式のデータに変換し、画像照合部105又は印刷機構101に供給する。
PDL受信部103は、インターフェイス104から供給されたPDL形式のデータを受信し、当該受信したデータをPDLバッファ150に供給する。
インターフェイス104は、送信経路R1を介してホストPC200から送信された情報を受信し、当該受信した情報に付加された宛先に基づいて当該受信した情報を各部に供給する。具体的には、インターフェイス104は、PDL形式のデータを、PDL受信部103に供給し、ビットマップ形式のデータは画像受信部106に供給する。
画像照合部105は、画像受信部106から供給されたビットマップ形式のデータと、ビットマップ変換部102から供給されたビットマップ形式のデータとを照合し、当該照合結果に基づいてビットマップ変換部102に対して後述する動作指示を供給し、又はPDLバッファ150に保持されたPDL形式のデータを消去する。また、画像照合部105は、照合結果に基づいて、表示パネル107に当該照合結果を供給する
画像受信部106は、インターフェイス104から供給されたビットマップ形式のデータを受信し、当該受信したデータを画像照合部105に供給する。
表示パネル107は、所定の情報を表示することでユーザに情報を報知する。そして具体的には表示パネル107は、プリンタ100の外部に設けられた、例えばLCD(Liquid Crystal Display)装置であり、この様な表示パネル107には、画像照合部105による照合結果がユーザに報知される。
PDLバッファ150は、PDL受信部103から供給されたPDL形式のデータを保持する。そして、PDLバッファ150に保持されたPDL形式のデータは、ビットマップ変換部102によって参照され、又は画像照合部105からの後述する削除指令に基づいて消去される。
また、ホストPC200は、ユーザが操作することで印刷対象データを生成するアプリケーション201と、アプリケーション201において生成された印刷対象データをプリンタ100で認識することが可能となる様、所定の処理を施すプリンタドライバ202とを備える。
アプリケーション201は、ユーザが操作する例えばワープロソフトや描画ソフトである。この様なアプリケーション201は、ユーザによって印刷対象データを印刷する旨の指令が出されると、当該印刷対象データをプリンタドライバ202に供給する。
プリンタドライバ202は、アプリケーション201において生成した印刷対象データを所定の形式に変換して、プリンタ100に送信する。そしてこの様なプリンタドライバ202は、印刷対象データをPDL形式に変換する変換手段としてのPDL変換部203と、PDL変換部203から供給されたPDL形式のデータを保持するバッファ204と、PDL形式のデータをプリンタへ送信する第1の送信手段としてのPDL送信部205と、バッファ204に保持されたPDL形式のデータからビットマップ形式のデータを生成する画像生成手段としての画像生成部207と、画像生成部207において生成されたビットマップ形式のデータをプリンタ100へ送信する第2の送信手段としての画像送信部208とを備える。
PDL変換部203は、アプリケーション201から供給された印刷対象データをPDL形式のデータに変換し、バッファ210に供給する。
バッファ204に蓄積されたPDL形式のデータは、PDL送信部205、及び画像生成部207によって逐次読み出され、PDL送信部205によって読み出されたPDL形式のデータは、インターフェイス206を介してプリンタ100に送信される。
また、画像生成部207は、バッファ204から読み出したPDL形式のデータに基づくビットマップ形式のデータを生成し、当該データを画像送信部208に供給する。
画像送信部208は、画像生成部207において生成されたビットマップ形式のデータを、インターフェイス206を介してプリンタ100に送信する。
以下、上述の構成を備える画像形成システムの動作について詳細な説明をする。
まず、ユーザがアプリケーション201を用いて生成した印刷対象データを印刷しようとする場合のホストPC200の動作について、図2を参照しながら詳細な説明をする。
ユーザが、アプリケーション201を用いて印刷対象データを印刷しようとして印刷指示を発して一連の動作が開始すると、プリンタドライバ202は、ステップS1において画像生成部207を初期化し、画像生成部207に蓄積されたビットマップ形式のデータを消去する。この作業は画像生成部207が、バッファ204からPDL形式のデータを読み出す前までに実施される。
次に、アプリケーション201は、ステップS2において印刷対象データをPDL変換部203に供給し、当該印刷対象データが供給されたPDL変換部203は、ステップS3において当該印刷対象データをPDL形式のデータに変換する。そして、PDL変換部203は、当該変換したPDL形式のデータを、バッファ204へ供給する。
次に、画像生成部207は、ステップS4においてバッファ204に保持されたPDL形式のデータを読み出す。このとき読み出されるPDL形式のデータは変換単位のPDL形式のデータである。
次に、画像生成部207は、ステップS5において、読み出したPDL形式のデータが、ビットマップ形式のデータに変換すべき特定領域T1のデータであるか否かを判断する。ここで、特定領域T1とは、図3に示す様に、ユーザがアプリケーション201を用いて生成した画像データの中の、予め指定された任意の領域である。そして、この特定領域T1は、画像データの書き出し位置から、例えば画像データを形成する文字等が配列される方向に延在する領域であることが好ましい。
そして画像生成部207は、ステップS5において、バッファ204から読み出したPDL形式のデータが、特定領域T1に対応する位置のデータであると判断した場合は、ステップS6において当該読み出したPDL形式のデータに基づくビットマップ形式のデータを生成する。なお、詳細は後述するが、画像生成部207に、さらにビットマップ形式のデータが存在する場合は、画像生成部207は、生成したビットマップ形式のデータと、画像生成部207に存在するビットマップ形式のデータとを合成する。
その後、画像生成部207は、ステップS7において、バッファ204に保持された全てのPDL形式のデータを読み出したか否かを判断する。そして、ここで画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出したと判断した場合は、プリンタドライバ202は、ステップS8の処理を実行する。
一方、ステップS5において、画像生成部207がバッファ204から読み出したPDL形式のデータが、特定領域T1に対応する位置のデータではないと判断した場合は、画像生成部207は、ステップS7においてバッファ204に保持された全てのPDL形式のデータを読み出したか否かを判断する。ここで、画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出したと判断した場合は、画像生成部207で生成されたビットマップ形式のデータを画像送信部213に供給し、プリンタドライバ202は、ステップS8の処理を実行する。
そして、ステップS7において、画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出していないと判断した場合は、画像生成部207は、再度、ステップS5においてバッファ204に保持されたPDL形式のデータの読み出しを行う。一方、バッファ204に保持された全てのPDL形式のデータが読み出され、ステップS6において特定領域T1内の全てのビットマップ形式のデータが合成され、生成された場合は、プリンタドライバ202は、ステップS8の処理を実行する。
次に、PDL送信部205は、ステップS8においてバッファ204に保持されたPDL形式のデータを読み出し、当該PDL形式のデータに、プリンタ100のPDL受信部103を宛先とした宛先情報を付加し、インターフェイス206を介して送信経路R1へ出力する。
次に、画像送信部208は、ステップS9において画像生成部207から供給されたビットマップ形式のデータに、プリンタ100の画像受信部106を宛先とした宛先情報を付加し、インターフェイス206を介して送信経路R1へ出力し、プリンタドライバ202は、一連の処理を終了する。
次に、ホストPC200から送信されたPDL形式のデータ、及びビットマップ形式のデータを受信したプリンタ100の動作について図4を参照しながら詳細な説明をする。
プリンタ200が、インターフェイス104においてPDL形式のデータ、及びビットマップ形式のデータを受信して一連の処理を開始すると、インターフェイス104は、ステップS10においてPDL形式のデータに付加された宛先情報を参照して、当該PDL形式のデータをPDLバッファ150へ供給する。
次に、インターフェイス104は、ステップS11において、インターフェイス104は、ビットマップ形式のデータに付加された宛先情報を参照して、当該ビットマップ形式のデータを画像受信部106へ供給する。そして、画像受信部106は、当該ビットマップ形式のデータを画像照合部105に供給する。
次に、ステップS12において画像照合部105は、ビットマップ形式のデータの受信に応じて、ビットマップ変換部152に対して所定の動作指示を供給する。このとき供給される動作指示は、ビットマップ変換部102に対して、PDLバッファ150に保持されたPDL形式のデータの特定領域T1に対応する箇所のビットマップ形式のデータを生成する旨の指示である。
次に、ステップS13においてビットマップ変換部102は、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、当該読み出したPDL形式のデータに基づいて、特定領域T1に対応する箇所のビットマップ形式のデータを生成する。そしてここで生成されたビットマップ形式のデータは、画像照合部105に供給される。
次に、ステップS14において画像照合部105は、ビットマップ変換部102において生成された特定領域T1に対応する箇所のビットマップ形式のデータと、画像受信部106から供給されたビットマップ形式のデータとを照合し、両者が一致するものであるか否かを判断する。そして判断の結果、両者が一致するものである場合は、全てのPDL形式のデータをビットマップ形式のデータに変換すべく、ステップS15の処理を実行し、両者が一致しない場合は、印刷処理を中止すべく、ステップS18の処理を実行する。
ステップS15において画像照合部105は、ビットマップ変換部102に対して動作指示を供給する。このときビットマップ変換部102に供給される動作指示は、PDLバッファ150に保持された全てのPDL形式のデータをビットマップ形式のデータに変換する旨の指示である。
次に、ビットマップ変換部102は、ステップS16において、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、印刷領域全体のビットマップ形式のデータを生成し、印刷機構101に供給する。その後、印刷機構101は、ステップS17において、当該ビットマップ形式のデータを用紙上に印刷し、プリンタ100は一連の処理を終了する。
一方、ステップS14において、ビットマップ変換部102において生成された特定領域T1のビットマップ形式のデータと、画像受信部106から供給されたビットマップ形式のデータとが一致しないものであると判断された場合、ステップS18において画像照合部105は、表示パネル107にその旨を表示する。そしてここで表示パネル107を介してユーザに報知される情報は、ユーザに印刷処理を中止する旨、及びホストPC200から送信されたPDL形式のデータは、プリンタ100では正しく印刷することができない旨の情報である。
次に、ステップS19において画像照合部105は、削除指示をPDLバッファ150に供給し、PDLバッファ150に保持されたPDL形式のデータの破棄を指示する。
次に、ステップS20においてPDLバッファ150は、削除指示に応じて、PDL受信部103から供給された全てのPDL形式のデータを破棄し、プリンタ200は一連の処理を終了する。
以上の動作により、プリンタ100は、画像照合部105の照合結果に基づいてホストPC200から送信されたPDL形式のデータを正しく印刷できると判断した場合はそのまま印刷処理を行う。一方、PDL形式のデータを正しく印刷できない場合は、プリンタ100はその旨をユーザに報知すると共に、印刷処理を中止することでホストPC200から送信されたPDL形式のデータを間違って変換し、文字化け等を起こしたデータを印刷してユーザに提供してしまうという事態を防止することができる。
なお、第1の実施の形態では、画像生成部207にてPDL形式のデータが影響を及ぼす領域が、特定領域T1と重複するか否かの判断によりビットマップ形式のデータを生成しているが、一旦、画像生成部207を用いてバッファ204に保持された全てのPDL形式のデータに基づくビットマップ形式のデータを生成し、画像送信部208にてビットマップ形式のデータから、特定領域T1のみビットマップデータを抽出して、画像送信部208に送信するものであっても良い。
また、第1の実施の形態では、印刷指示の発生直後に画像生成部207を初期化しているが、当然ながら先に実施された印刷指示の完了と共に画像生成部207を初期化するものであってもよい。
また、第1の実施の形態では、画像照合部105にて画像受信部106から供給されたビットマップ形式のデータと、ビットマップ変換部から供給されたビットマップ形式のデータとを照合しているが、ビットマップ変換部102でPDL形式のデータからビットマップ形式のデータを生成する際に、プリンタに合わせて画像調整される場合やホストPC200からプリンタ100へ送信されるPDL形式のデータが乱数の要素を含んだ不可逆圧縮にて生成されている場合は、画像照合部105における照合の結果が完全に一致する、と判定されない状況が考えられる。その場合は、画像照合部105の判断基準を、両者の完全一致ではなく、照合結果の一致率が所定の閾値を超えるか否か、とすることも可能である。
また、第1の実施の形態では、画像照合部105による照合結果をプリンタ100の表示パネル107を用いてユーザに報知しているが、当該照合結果をプリンタ100からホストPC200へ送信して、ユーザに当該照合結果を報知するものであっても良い。
以下、本発明を適用した第2の実施の形態について詳細な説明をする。第2の実施の形態に係る画像形成システムでは、第1の実施の形態に係る画像形成システムと同一の構成を有する箇所がある為、その箇所については第1の実施の形態に係る画像形成システムと同一符号を付して詳細な説明を省略する。
第2の実施の形態に係る画像形成システムは、図5に示す様に、画像処理装置としてのホストPC400と、画像形成装置としてのプリンタ300とを、例えばLAN等によって形成される送信経路R2で接続して構成される。
プリンタ300は、印刷機構101と、PDL(Printer Description Language)形式のデータをビットマップ形式のデータへ変換する変換手段としてのビットマップ変換部302と、PDL受信部103と、インターフェイス104と、ビットマップデータ形式のデータ同士を比較する照合手段としての画像照合部305と、後述する比較データを受信する比較データ受信部314と、表示パネル107と、PDLバッファ150とを備える。
ビットマップ変換部302は、画像照合部305から供給された、後述する動作指示、及び比較データ受信部314から供給された位置情報に基づいてPDLバッファ150に保持されたPDL形式のデータをビットマップ形式のデータに変換し、画像照合部305又は印刷機構101の図示せぬ露光手段に供給する。
画像照合部305は、比較データ受信部314から供給されたビットマップ形式のデータと、ビットマップ変換部302から供給されたビットマップ形式のデータとを照合し、当該照合結果に基づいてビットマップ変換部102に対して後述する動作指示を供給し、又はPDLバッファ150に保持されたPDL形式のデータを消去する。
比較データ受信部314は、インターフェイス104を介してホストPC400から送信された、後述する比較データを保持し、当該比較データに含まれるビットマップ形式のデータマップを画像照合部305に供給する。また、比較データ受信部314は、当該比較データに含まれる、後述する位置情報をビットマップ変換部302に供給する。
ホストPC400は、アプリケーション201と、アプリケーション201において生成された印刷対象データをプリンタ100で認識することが可能となる様、所定の処理を施すプリンタドライバ402とを備える。
プリンタドライバ402は、アプリケーション201において生成した印刷対象データを所定の形式に変換して、プリンタ300に送信する。そしてこの様なプリンタドライバ402は、PDL変換部203と、バッファ204と、PDL送信部205と、バッファ204に保持されたPDL形式のデータからビットマップ形式のデータを生成する画像生成部415と、ビットマップ形式のデータの影響領域を測定する領域テーブル管理部416と、ビットマップ形式のデータに後述する位置情報を付加してプリンタ300に送信する付加手段、及び第2の送信手段としての比較データ送信部417とを備える。
画像生成部415は、バッファ204から読み出したPDL形式のデータに基づくビットマップ形式のデータを生成し、当該ビットマップ形式のデータの内、後述する描画領域に対応する部分のビットマップ形式のデータを領域テーブル管理部416に供給する。また、画像生成部415は、当該生成したビットマップ形式のデータを比較データ送信部417に供給する。
領域テーブル管理部416は、後述する領域テーブルを格納する。さらに領域テーブル管理部416は、画像生成部415が供給されたビットマップ形式のデータに基づいて、後述する領域テーブルのテーブル値を更新する。また、ここで更新された領域テーブルのテーブル値は、後述する位置情報として比較データ送信部417に供給される。
以下、上述の構成を備える画像形成システムの動作について詳細な説明をする。
まず、ユーザがアプリケーション201を用いて生成した印刷対象データを印刷しようとする場合のホストPC400の動作について、図6を参照しながら詳細な説明をする。
ユーザが、アプリケーション201を用いて印刷対象データを印刷しようとして印刷指示を発して一連の処理が開始すると、プリンタドライバ402は、ステップS21において画像生成部415を初期化し、画像生成部415に蓄積されたビットマップ形式のデータを消去する。この作業は画像生成部415が、バッファ204からPDL形式のデータを読み出す前までに実施される。
次に、プリンタドライバ402は、ステップS22において領域テーブル管理部416のテーブル値を初期化し、領域テーブルのカウント値を全て値0にリセットする。
次に、アプリケーション201は、ステップS23において印刷対象データをPDL変換部203に供給し、当該印刷対象データを供給されたPDL変換部203は、ステップS24において当該印刷対象データをPDL形式のデータに変換する。そして、PDL変換部203は、当該変換したPDL形式のデータを、バッファ204へ供給する。
次に、画像生成部415は、ステップS25においてバッファ204に保持されたPDL形式のデータを読み出す。このとき読み出されるPDL形式のデータは変換単位のPDL形式のデータである。
次に、画像生成部415は、ステップS26において、読み出したPDL形式のデータに基づいて、ビットマップ形式のデータを生成する。
次に、画像生成部415は、ステップS27において、全印刷領域の内、PDL形式のデータが影響を及ぼす描画領域Tmを抽出する。具体的には、印刷可能領域の内、PDL形式のデータが影響を及ぼす描画領域Tmとは、図7、及び図8に示す様に、印刷可能領域T3上を直交平面座標に分割することで形成される複数の領域のうち、実際に画像が形成される領域をいう。同図では、印刷可能領域T3の中心部近傍に直線L1が複数の分割された領域に渡って描かれているが、この場合、画像生成部415によって抽出される描画領域Tmは、領域T4、領域T5、及び領域T6となる。
そして、ステップS28において画像生成部415は、この様にして抽出された描画領域Tmを形成する領域に関する抽出情報を、領域テーブルに反映させる。領域テーブルは、印刷可能領域T3を上述の様に分割した際に、その領域に実際の画像に及ぼす影響の回数を保持するテーブルである。この様な領域テーブルでは、画像生成部415から抽出情報が供給される度に、当該抽出情報に含まれる領域に対応する値のカウント値に数値1を加算する。このカウント値は、画像の重ね合わせ数を示し、例えば、バッファ204に保持されたPDL形式のデータが、背景画像と文字画像を合成して形成された画像のデータであれば、背景画像と文字画像の2つの画像を重ね合わせるので、カウント値は値2となる。そして、この様にしてカウント値を計数することで、実際の画像に影響を及ぼす回数の多い領域のカウント値が上昇する一方、あまり画像に影響を及ぼさない領域のカウント値は低い状態を維持することとなる。
次に、ステップS29において画像生成部415は、PDL形式のデータに基づくビットマップ形式のデータを生成する。なお、この場合、第1の実施の形態と同様に、生成したビットマップ形式のデータと、画像生成部415に存在するビットマップ形式のデータとを合成し、当該合成したビットマップ形式のデータを比較データ送信部417に供給する。
次に、画像生成部415は、ステップS30において、バッファ204に保持された全てのPDL形式のデータを読み出したか否かを判断する。そして、ここで画像生成部415が、バッファ204に保持された全てのPDL形式のデータを読み出したと判断した場合は、プリンタドライバ202は、ステップS31の処理を実行する。一方、ステップS30において画像生成部415が、バッファ204に保持された全てのPDL形式のデータを読み出していないと判断した場合は、バッファ204に保持されたPDL形式のデータの読み出しを行うべく、ステップS25の処理を実行する。
次に、PDL送信部205は、ステップS31においてバッファ204に保持されたPDL形式のデータを読み出し、当該PDL形式のデータにプリンタ300のPDL受信部103を宛先とした宛先情報を付加し、インターフェイス206を介して送信経路R2へ出力する。
次に、比較データ送信部417は、ステップS32において、領域テーブルのテーブル値を参照し、当該参照結果に基づいて画像生成部415から供給されたビットマップ形式のデータの一部を抽出する。具体的には、比較データ送信部417は、先ずテーブル値に表されたカウント値の内、最もカウント値が大きい領域を識別する。例えば、図8に示す様に、画像生成部415による抽出結果のもと、印刷可能領域T3の内、領域T5のカウント値が最も大きい値であった場合は、領域T5が比較データ送信部417によって抽出される。そして、比較データ送信部417は、この抽出結果に基づいて、領域T5の位置情報を抽出する。例えば、領域T5が、印刷可能領域T3に形成された直交平面座標に基づいて(X,Y)=(2,2)の位置にある領域であれば、比較データ送信部417によって抽出される位置情報は、(2,2)という座標値を含む情報となる。そして、この様にして抽出された位置情報は、抽出されたビットマップ形式のデータと共に、比較データとして、ステップS33においてプリンタ300へ送信される。
次に、ホストPC400から送信されたPDL形式のデータ、及び比較情報を受信したプリンタ300の動作について、図9を参照しながら詳細な説明をする。
プリンタ300が、インターフェイス104においてPDL形式のデータ、及び比較情報を受信して一連の処理を開始すると、インターフェイス104は、ステップS41においてPDL形式のデータに付加された宛先情報を参照して、当該PDL形式のデータをバッファ150へ供給する。
次に、インターフェイス104は、ステップS42において、比較データを比較データ受信部314へ供給する。そして、比較データ受信部314は、当該比較情報のうち、位置情報をビットマップ変換部302に供給し、ビットマップ形式のデータを画像照合部305に供給する。
次に、ステップS43において画像照合部305は、ビットマップ形式のデータの受信に応じて、ビットマップ変換部302に対して所定の動作指示を供給する。このとき供給される動作指示は、ビットマップ変換部302に対して、PDLバッファ150に保持されたPDL形式のデータの内、比較データ送信部417によって抽出されたビットマップ形式のデータの一部のビットマップ形式のデータを生成する旨の指示である。
次に、ステップS44においてビットマップ変換部302は、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、当該読み出したPDL形式のデータ及び比較データ受信部314から供給された位置情報に基づいて、領域T5に対応する箇所のビットマップ形式のデータを生成する。具体的にはビットマップ変換部302は、位置情報(2,2)を参照し、位置情報を作成した際と同様の方法で領域T5の位置を特定する。そしてビットマップ変換部302は、この特定した領域T5のビットマップ形式のデータを生成し、当該データを画像照合部305に供給する。
次に、ステップS45において画像照合部305は、ビットマップ変換部302において生成された領域T5に対応する箇所のビットマップ形式のデータと、比較データ受信部314から供給されたビットマップ形式のデータとを照合し、両者が一致するものであるか否かを判断する。そして判断の結果、両者が一致するものである場合は、全てのPDL形式のデータをビットマップ形式のデータに変換すべく、ステップS46の処理を実行し、両者が一致しない場合は、印刷処理を中止すべく、ステップS49の処理を実行する。
ステップS46において画像照合部305は、ビットマップ変換部302に対して動作指示を供給する。このときビットマップ変換部302に供給される動作指示は、PDLバッファ150に保持された全てのPDL形式のデータをビットマップ形式のデータに変換する旨の指示である。
次に、ビットマップ変換部302は、ステップS47において、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、印刷領域全体のビットマップ形式のデータを生成し、印刷機構101に供給する。その後、印刷機構101は、ステップS48において、当該ビットマップ形式のデータを用紙上に印刷し、プリンタ100は一連の処理を終了する。
一方、ステップS45において、ビットマップ変換部302において生成された領域T5に対応する箇所のビットマップ形式のデータと、比較データ受信部314から供給されたビットマップ形式のデータとが一致しないものであると判断された場合、画像照合部105は、ステップS49において表示パネル107にその旨を表示する。そしてここで表示パネル107を介してユーザに報知される情報は、ユーザに印刷処理を中止する旨、及びホストPC400から送信されたPDL形式のデータは、プリンタ300では正しく印刷することができない旨を報知する。
次に、画像照合部305は、削除指示をPDLバッファ150に供給し、PDLバッファ150に保持されたPDL形式のデータの破棄を指示する。
次に、PDLバッファ150は、削除指示に応じて、PDL受信部103から供給された全てのPDL形式のデータを破棄し、プリンタ300は一連の処理を終了する。
以上の様に、第2の実施の形態に係る画像形成システムでは、画像生成部415による抽出結果に基づいて領域テーブルを作成し、当該領域テーブルに基づいて位置情報を生成する。そしてこの位置情報は、印刷対象データに含まれる、ユーザが生成した画像に応じて変化するものである。そして、ユーザが生成した画像が、例えば印刷可能領域の内、少ない領域にのみ表示されるものである場合においても、画像生成部415によってその領域を抽出して、当該抽出結果を画像照合部305による照合作業に用いることで、この照合作業の確率を高めることが可能となる。
なお、この実施例では画像生成部415を初期化した後に、テーブル値を初期化しているが、画像生成部415の初期化作業とテーブル値の初期化作業は逆に行われるものであっても良い。
また、この実施例では、画像生成部415による抽出結果に基づいて、描画領域Tmが示す領域と対応するテーブル値へ値1を加算しているが、何らかの形で描画領域Tmが示す領域を特定することができれば良く、例えば、描画領域Tmと対応したテーブル値以外のテーブル値を変動させたり、対象領域と交差する行、又は列の値を変動させるものであっても良い。また、この場合、印刷されるビットマップ形式のデータの座標を等間隔に分割した領域としている為、領域の幅と高さについてホストPC400とプリンタ300とで同一の値を定めていれば、幅と高さに関する情報は、位置情報と共に送信する必要がない。一方、領域の幅または高さを変動させることも可能であるが、変動させる場合は位置情報に幅と高さの情報も含めることが必要である。
また、比較データ送信部417によって抽出された位置情報が印刷可能領域T3上に示す領域と、ビットマップ変換部302が位置情報に基づいて特定する領域は、同一の領域でなければならないが、上述の様に二次元の直交平面座標を用い、印刷可能領域T3上を行及び列をもって描画領域Tmを特定する必要はなく、印刷時のドット濃度や混色数の要素を加えた三次元以上の分割を行うことも可能である。
また、この実施例では、比較データとして送信する領域を特定するのにビットマップ形式のデータだけを使用しているが、比較データとして送信する領域を特定する方法は、印刷されるエラーメッセージやゴミ印刷のなされやすい領域か否かの情報に基づくものであっても良い。
以下、本発明を適用した第3の実施の形態について詳細な説明をする。第3の実施の形態に係る画像形成システムでは、第1の実施の形態に係る画像形成システムと同一の構成を有する箇所がある為、その点については第1の実施の形態に係る画像形成システムと同一符号を付して詳細な説明を省略する。
第3の実施の形態に係る画像形成システムは、図10に示す様に、画像処理装置としてのホストPC600と、画像形成装置としてのプリンタ500とを、例えばLAN等によって形成される送信経路R3で接続して構成される。
プリンタ500は、印刷機構101と、ビットマップ変換部102と、PDL受信部103と、インターフェイス504と、ビットマップデータ形式のデータ同士を比較する照合手段としての画像照合部505と、ビットマップ形式のデータを受信する画像受信部106と、表示パネル107と、PDL形式のデータを保持するPDLバッファ150と、送信手段としての結果送信部518とを備える。
画像照合部505は、画像受信部106から供給されたビットマップ形式のデータと、ビットマップ変換部102から供給されたビットマップ形式のデータとを照合し、当該照合結果に基づいてビットマップ変換部102に対して後述する動作指示を供給し、PDLバッファ150に保持されたPDL形式のデータを消去する。また、画像照合部505は、照合結果に基づいて、表示パネル107、及び結果送信部518に当該照合結果を供給する
結果送信部518は、画像照合部505から供給された照合結果に、後述するホストPC600の結果受信部を宛先とする宛先情報を付加し、インターフェイス504を介して送受経路R3へ出力する。
また、ホストPC600は、プリンタドライバ602と、アプリケーション201とを備える。
プリンタドライバ602は、アプリケーション201において生成した印刷対象データを所定の形式に変換して、プリンタ500に送信する。そしてこの様なプリンタドライバ202は、印刷対象データをPDL形式のデータに変換する変換手段としてのPDL変換部503と、バッファ204と、PDL送信部205と、画像生成部207と、画像送信部208と、インターフェイス606から照合結果を受信する結果受信部621と、当該照合結果に基づいてプリンタ500の使用の可否を判断する判断手段としての使用可否設定部622とを備える。
以下、上述の構成を備える画像形成システムの動作について詳細な説明をする。
まず、ユーザがアプリケーション201を用いて生成した印刷対象データを印刷しようとする場合のホストPC600の動作について、図11を参照しながら詳細な説明をする。
ユーザによる印刷指示が発生し、ホストPC600が一連の処理が開始すると、アプリケーション201は、ステップS61において印刷対象データをPDL変換部503に供給する。
次に、ステップS62においてPDL変換部503は、プリンタ500が使用できるか否かの使用可否設定を判定する。この使用可否設定は、例えば前回の印刷時に、プリンタ500から送信された照合結果に基づいて行われる。そして、詳細は後述するが、両ビットマップ形式のデータが一致しない場合は、プリンタ500は使用不可と判断され、両ビットマップ形式のデータが一致した場合は、プリンタ500は使用可能と判断される。
そして、ステップS62においてプリンタ500は使用不可であると判断された場合、プリンタドライバ602は、ステップS63において、ユーザに対し、強制的に印刷を行うか否かの判断を要求する。そして、ここでユーザが強制印刷を行わない旨の応答をした場合、プリンタドライバ602は一連の処理を終了する。一方、ユーザが強制印刷を行う旨の応答をした場合は、通常の処理を継続すべく、ステップS64の処理を開始する。
また、ステップS62において、プリンタ500は使用可能であると判断された場合、プリンタドライバ602は、通常の処理を継続すべく、ステップS64の処理を開始する。
次に、プリンタドライバ602は、ステップS64において画像生成部207を初期化し、画像生成部207に蓄積されたビットマップ形式のデータを消去する。この作業は画像生成部207が、バッファ204からPDL形式のデータを読み出す前までに実施される。
次に、PDL変換部503は、ステップS65においてアプリケーション201から供給された印刷対象データをPDL形式のデータに変換する。そして、PDL変換部503は、当該変換したPDL形式のデータを、バッファ204へ供給する。
次に、画像生成部207は、ステップS66においてバッファ204に保持されたPDL形式のデータを読み出す。このとき読み出されるPDL形式のデータは変換単位のPDL形式のデータである。
次に、画像生成部207は、ステップS67において、読み出したPDL形式のデータが、ビットマップ形式のデータに変換すべき特定領域T1のデータであるか否かを判断する。そして画像生成部207は、バッファ204から読み出したPDL形式のデータが、特定領域T1に対応する位置のデータであると判断した場合は、ステップS68において当該読み出したPDL形式のデータに基づくビットマップ形式のデータを生成する。また、画像生成部207にビットマップ形式のデータが存在する場合は、画像生成部207は、生成したビットマップ形式のデータと、画像生成部207に存在するビットマップ形式のデータとを合成する。
その後、画像生成部207は、ステップS69において、バッファ204に保持された全てのPDL形式のデータを読み出したか否かを判断する。そして、ここで画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出したと判断した場合は、プリンタドライバ602は、ステップS70の処理を実行する。一方、ここで、画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出していないと判断した場合は、残りのPDL形式のデータをバッファ204から読み出すべく、再度ステップS66の処理を実行する。
次に、PDL送信部205は、ステップS70においてバッファ204に保持されたPDL形式のデータを読み出し、当該PDL形式のデータに、プリンタ500のPDL受信部103を宛先とした宛先情報を付加し、インターフェイス606を介して送信経路R3へ出力する。
次に、画像送信部208は、ステップS71において画像生成部207から供給されたビットマップ形式のデータに、プリンタ500の画像受信部106を宛先とした宛先情報を付加し、インターフェイス206を介して送信経路R3へ出力する。
次に、プリンタドライバ602は、ステップS72においてプリンタ500の結果送信部から照合結果が送信されたか否かを判断する。そして、プリンタドライバ602は、照合結果が送信されるまでこの判断を繰り返す。そして、プリンタ500から、インターフェイス606を介して結果受信部621に照合結果が送信された場合、ステップS73において結果受信部621は、当該照合結果を使用可否設定部622に供給する。
次に、ステップS74において使用可否設定部622は、当該照合結果に基づいて、プリンタの使用可否を判断する。具体的には、照合結果の内容が、両ビットマップ形式のデータが一致した旨の内容である場合は、使用可否設定部622は、ステップS75においてプリンタ500は使用可能であるという判断結果をPDL変換部503に供給し、プリンタドライバ602は一連の処理を終了する。ここで、PDL変換部503にプリンタ500は使用可能であるという判断結果が供給されると、プリンタドライバ602が次回、使用可否設定を判定する際の判定結果に反映される。
一方、ステップS74における判断の結果、照合結果の内容が、両ビットマップ形式のデータが一致しない旨の内容であれば使用可否設定部622は、ステップS76においてプリンタ500は使用不可であるという判断結果をPDL変換部503に供給し、プリンタドライバ602は一連の処理を終了する。
次に、ホストPC600から送信されたPDL形式のデータ、及びビットマップ形式のデータを受信したプリンタ100の動作について図12を参照しながら詳細な説明をする。
プリンタ500が、インターフェイス504においてPDL形式のデータ、及びビットマップ形式のデータを受信して一連の処理を開始すると、インターフェイス504は、ステップS81においてPDL形式のデータに付加された宛先情報を参照して、当該PDL形式のデータをPDLバッファ150へ供給する。
次に、インターフェイス504は、ステップS82において、インターフェイス504は、ビットマップ形式のデータに付加された宛先情報を参照して、当該ビットマップ形式のデータを画像受信部106へ供給する。そして、画像受信部106は、当該ビットマップ形式のデータを画像照合部505に供給する。
次に、ステップS83において画像照合部505は、ビットマップ形式のデータの受信に応じて、ビットマップ変換部102に対して所定の動作指示を供給する。このとき供給される動作指示は、ビットマップ変換部102に対して、PDLバッファ150に保持されたPDL形式のデータの特定領域に対応する箇所のビットマップ形式のデータを生成する旨の指示である。
次に、ステップS84においてビットマップ変換部102は、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、当該読み出したPDL形式のデータに基づいて、特定領域に対応する箇所のビットマップ形式のデータを生成する。そしてここで生成されたビットマップ形式のデータは、画像照合部505に供給される。
次に、ステップS85において画像照合部505は、ビットマップ変換部102において生成された特定領域に対応する箇所のビットマップ形式のデータと、画像受信部106から供給されたビットマップ形式のデータとを照合し、両者が一致するものであるか否かを判断する。そして判断の結果、両者が一致するものである場合は、全てのPDL形式のデータをビットマップ形式のデータに変換すべく、ステップS86の処理を実行し、両者が一致しない場合は、印刷処理を中止すべく、ステップS90の処理を実行する。
ステップS86において画像照合部505は、ビットマップ変換部102に対して動作指示を供給すると共に、結果送信部518に対して、両ビットマップ形式のデータが一致した旨の照合結果を供給する。このときビットマップ変換部102に供給される動作指示は、PDLバッファ150に保持された全てのPDL形式のデータをビットマップ形式のデータに変換する旨の指示である。
次に、ビットマップ変換部102は、ステップS87において、動作指示に応じてPDLバッファ150からPDL形式のデータを読み出し、印刷領域全体のビットマップ形式のデータを生成し、印刷機構101に供給する。その後、印刷機構101は、ステップS88において、当該ビットマップ形式のデータを用紙上に印刷する。
次に、結果送信部518は、ステップS89において画像照合部505から供給された照合結果に、結果受信部621を宛先とする宛先情報を付加し、当該宛先情報が付加された照合結果を、インターフェイス504を介してホストPC600に供給する。
一方、ステップS85において、ビットマップ変換部102において生成された特定領域T1のビットマップ形式のデータと、画像受信部106から供給されたビットマップ形式のデータとが一致しないものであると判断された場合、画像照合部505は、ステップS90において表示パネル107にその旨を表示すると共に、結果送信部518に照合結果を供給する。そしてここで表示パネル107を介してユーザに報知される情報は、ユーザに印刷処理を中止する旨、及びホストPC600から送信されたPDL形式のデータは、プリンタ100では正しく印刷することができない旨を報知する。
次に、画像照合部505は、ステップS91において削除指示をPDLバッファ150に供給し、PDLバッファ150に保持されたPDL形式のデータの破棄を指示する。
次に、PDLバッファ150は、ステップS92において、画像照合部505から供給された削除指示に応じて、PDL受信部103から供給された全てのPDL形式のデータを破棄する。その後、結果送信部518は、ステップS89において照合結果を、上述した方法でホストPC600に送信し、画像形成システムは一連の処理を終了する。
以上、第3の実施の形態に係る画像形成システムによれば、第1の実施の形態に係る画像形成システムの効果に加えて、プリンタ500は、受信したPDL形式のデータに基づいて生成されたビットマップ形式のデータ、及び受信したビットマップ形式のデータとの照合結果をホストPC600に返信することができる。そして、当該照合結果を受信したホストPC600は、この照合結果に基づいて印刷可否判定を行い、次回の印刷対象データがプリンタドライバ602に供給されたときに、この印刷可否判定を反映させ、ユーザに通知することで、無駄な印刷データの生成をなくすことができる。
以下、本発明を適用した第4の実施の形態について詳細な説明をする。第4の実施の形態に係る画像形成システムでは、第3の実施の形態に係る画像形成システムと同一の構成を有する箇所がある為、その点については第3の実施の形態に係る画像形成システムと同一符号を付して詳細な説明を省略する。
第4の実施の形態に係る画像形成システムは、図13に示す様に、画像処理装置としてのホストPC700と、画像形成装置としてのプリンタ500とを、例えばLAN等によって形成される送信経路R4で接続して構成される。
また、ホストPC700は、プリンタドライバ702と、アプリケーション201とを備える。
プリンタドライバ702は、アプリケーション201において生成した印刷対象データを所定の形式に変換して、プリンタ500に送信する。そしてこの様なプリンタドライバ702は、印刷対象データをPDL形式のデータに変換する変換手段としてのPDL変換部703と、バッファ204と、PDL送信部205と、画像生成部207と、画像送信部208と、インターフェイス606から照合結果を受信する結果受信部621と、プリンタ500から供給された照合結果に基づいて適切なプリンタ記述言語を選択し、PDL変換部703で使用するプリンタ記述言語を、当該選択したプリンタ記述言語への切り替えを行うPDL選択部726と、使用可否設定部622とを備える。
PDL選択部726は、予め複数のバージョンのプリンタ記述言語を記憶しており、例えばプリンタ500から送信された照合結果が、両ビットマップ形式のデータが一致しない旨の内容であった場合は、当該照合結果を参照してプリンタ500の仕様バージョンに適合するプリンタ記述言語を選択し、この選択結果をPDL変換部703、及び使用可否設定部722に供給する。ホストPC700は、この様なPDL選択部726を用いてプリンタ500から送信された照合結果に基づいて、プリンタ500の仕様バージョンに適合するプリンタ記述言語を選択する。そしてPDL選択部726で選択されたプリンタ記述言語は、次回の印刷時におけるPDL変換部703の変換作業において使用することができる為、次回の印刷時には適式なPDL形式のデータをプリンタ500に送信することが可能となる。
以下、上述の構成を備える画像形成システムの動作について図14、及び図15を参照しながら詳細な説明をする。
ユーザによる印刷指示が発生し、一連の処理が開始すると、アプリケーション201は、ステップS101において印刷対象データをPDL変換部703に供給する。
次に、ステップS102においてPDL変換部703は、プリンタ500が使用できるか否かの使用可否設定を判定する。この使用可否判定は、前回の印刷時におけるプリンタ500から送信された照合結果に基づいて行われる。
そして、ステップS102においてプリンタ500は使用不可であると判断された場合、プリンタドライバ702は、ステップS103において、ユーザに対し、強制的に印刷を行うか否かの判断を要求する。そして、ここでユーザが強制印刷を行わない旨の応答をした場合、プリンタドライバ702は一連の処理を終了する。一方、ユーザが強制印刷を行う旨の応答をした場合は、通常の処理を継続すべく、ステップS104の処理を開始する。
次にPDL選択部726は、ステップS104において、PDL変換部703が対応することが可能なプリンタ記述言語の種類数を示す選択残数を使用可否設定部722にセットする。
次に、PDL選択部726は、ステップS105において、プリンタ500に対して特定のバージョンのプリンタ記述言語がデフォルト設定されているか否かを判断する。そして、PDL選択部726による判断の結果、デフォルト設定がされていないと判断された場合、ステップS106においてPDL選択部726は、最新バージョンのプリンタ記述言語を選択し、当該選択結果をPDL変換部703に通知し、一連の処理を継続すべくステップS108の処理を実行する。
一方、ステップS105において、PDL選択部726の判断の結果、デフォルト設定がされていると判断された場合、PDL選択部726は、ステップS107において当該デフォルト設定されている仕様バージョンのプリンタ記述言語を選択し、当該選択結果をPDL変換部703に通知し、一連の処理を継続すべくステップS108の処理を実行する。
次に、プリンタドライバ702は、ステップS108において画像生成部207を初期化し、画像生成部207に蓄積されたビットマップ形式のデータを消去する。この作業は画像生成部207が、バッファ204からPDL形式のデータを読み出す前までに実施される。
次に、PDL変換部203は、ステップS109において、PDL選択部によって選択された仕様バージョンのプリンタ記述言語を用いてアプリケーション201から供給された印刷対象データをPDL形式のデータに変換する。そして、PDL変換部203は、当該変換したPDL形式のデータを、バッファ204へ供給する。
次に、画像生成部207は、ステップS110において、バッファ204に保持されたPDL形式のデータを読み出す。このとき読み出されるPDL形式のデータは変換単位のPDL形式のデータである。
次に、画像生成部207は、ステップS111において、読み出したPDL形式のデータが、ビットマップ形式のデータに変換すべき特定領域T1のデータであるか否かを判断する。そして画像生成部207は、バッファ204から読み出したPDL形式のデータが、特定領域T1に対応する位置のデータであると判断した場合は、ステップS112において当該読み出したPDL形式のデータに基づくビットマップ形式のデータを生成する。また、画像生成部207にビットマップ形式のデータが存在する場合は、画像生成部207は、生成したビットマップ形式のデータと、画像生成部207に存在するビットマップ形式のデータとを合成する。
その後、画像生成部207は、ステップS113において、バッファ204に保持された全てのPDL形式のデータを読み出したか否かを判断する。そして、ここで画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出したと判断した場合は、プリンタドライバ702は、ステップS114の処理を実行する。一方、ここで、画像生成部207が、バッファ204に保持された全てのPDL形式のデータを読み出していないと判断した場合は、残りのPDL形式のデータをバッファ204から読み出すべく、再度ステップS110の処理を実行する。
次に、PDL送信部205は、ステップS114においてバッファ204に保持されたPDL形式のデータを読み出し、当該PDL形式のデータに、プリンタ500のPDL受信部103を宛先とした宛先情報を付加し、インターフェイス206を介して送信経路R4へ出力する。
次に、画像送信部208は、ステップS115において画像生成部207から供給されたビットマップ形式のデータに、プリンタ500の画像受信部106を宛先とした宛先情を付加し、インターフェイス206を介して送信経路R4へ出力する。
次に、プリンタドライバ702は、ステップS116においてプリンタ500の結果送信部518から照合結果が送信されたか否かを判断する。そして、プリンタドライバ702は、照合結果が送信されるまでこの判断を繰り返す。そして、プリンタ500から、インターフェイス606を介して結果受信部621に照合結果が送信された場合、結果受信部621は、ステップS117において、当該照合結果をPDL選択部726に供給する。
次に、ステップS118においてPDL選択部726は、当該照合結果に基づいて、プリンタ500の使用可否を判断する。この判断は、照合結果の内容が、両ビットマップ形式のデータが一致した旨の内容であるか否かによって判断される。具体的には、照合結果の内容が、両ビットマップ形式のデータが一致した旨の内容あれば使用可否設定部622は、ステップS118においてプリンタ500は使用可能であるという判断して、この判断結果をPDL変換部503に供給する。
次に、ステップS119においてPDL選択部726は、現在選択されているプリンタ記述言語の仕様バージョンをデフォルト設定とする。
次に、ステップS120において使用可否設定部722は、使用可否設定を使用可能に設定し、ホストPC700は一連の処理を終了する。
一方、ステップS118においてプリンタ500は使用不可であると判断された場合、PDL選択部726は、現在使用しているプリンタ記述言語の仕様バージョンとは異なるバージョンのプリンタ記述言語の選択を行う。
プリンタ記述言語は、仕様バージョン毎に検証順位が設定されており、例えばデフォルト設定がされていない場合は、図16(a)に示す様に、最新バージョンのプリンタ記述言語の検証順位を1番目とし、順位が上がる毎に古いバージョンのプリンタ記述言語となる。一方、デフォルト設定がなされている場合には、図16(b)に示す様に、デフォルト設定されたバージョンのプリンタ記述言語の検証順位が1番目となり、検証順位が上がるごとに古いバージョンのプリンタ記述言語となる。
PDL選択部726は、ステップS118において、プリンタ500が使用不可であると判断される度に異なるプリンタ記述言語を選択するが、この選択処理は、PDL変換部703が対応することが可能なプリンタ記述言語の数と同一の回数だけ行われる。そして、PDL選択部726は、プリンタ500が使用不可であると判断された後に、PDL変換部703が対応することが可能なプリンタ記述言語の内、未検証のプリンタ記述言語の数を選択残数として管理する。そして、PDL選択部726は、ステップS118においてプリンタ500が使用不可であると判断された後、この選択残数から値1を引くことで残りの選択残数を管理する。そして所定回数の検証が終了し、選択残数が値0になったとき、すなわちPDL変換部703が対応することが可能な全てのプリンタ記述言語について検証が終了したときは、PDL選択部726は、PDL変換部703が対応することが可能なプリンタ記述言語ではプリンタ500を使用することができないと判断する。そして、これらの処理は、以下の様にして行われる。
ステップS118においてPDL選択部726が、プリンタ500が使用不可であると判断すると、ステップS121においてPDL選択部726は、選択残数から値1を引く。
次に、ステップS122においてPDL選択部726は、選択残数が値0以上であるか否かを判断する。そして、ここで選択残数が値0である場合は、PDL選択部726は、PDL変換部703が対応することが可能な全てのプリンタ記述言語についての検証が終了したと判断する。そして、PDL選択部726は、使用可否設定部722に対してこの旨を通知する
次に、ステップS123において使用可否設定部722は、印刷可否設定を使用不可に設定し、ホストP700は一連の処理を終了する。
一方、ステップS122においてPDL選択部726が、選択残数が値0以上であると判断した場合、ステップS123においてPDL選択部726は現在使用しているバージョンのプリンタ記述言語の順位の次点に設定されているバージョンのプリンタ記述言語を選択し、再度ステップS108の処理を行う。
以上の動作により、プリンタ500から送信された照合結果に基づいてプリンタ記述言語の仕様バージョンの切り替えを行い、これを繰り返し行うことで、PDL変換部703による変換処理の際に、プリンタ500に最適なプリンタ記述言語を使用することが可能となる。