(57)【特許請求の範囲】
【請求項１】
メモリに書き込まれた描画コマンドを解析して画像データに階調処理を施す画像処理装置であって、
描画コマンドを解析する描画コマンド解析手段と、
全ての前記描画コマンドが登録された描画コマンドテーブルと、
エラー処理コマンドが記憶されたエラー処理コマンド記憶手段と、
メモリから読み出した前記描画コマンドが前記描画コマンドテーブルに登録されていないコマンドエラーを前記描画コマンド解析手段が検出した場合、前記エラー処理コマンド記憶手段に記憶されたエラー処理コマンドを実行してエラー処理を実行するエラー処理実行手段と、
描画処理を実行中のページのページ番号をカウントするページ番号カウント手段と、
前記コマンドエラーが検出された場合、外部装置にエラー検出を通知するエラー通知手段と、を有し、
前記外部装置からの指示によって、前記コマンドエラーが検出されたページから階調処理を再開する、ことを特徴とする画像処理装置。
【請求項２】
前記描画コマンドを生成してメモリに書き込んだ前記外部装置から前記描画コマンドのアドレスを取得し、該アドレスの前記描画コマンドを読み出すメモリアクセス手段を有し、
前記メモリアクセス手段は、前記描画コマンドのアドレスが予め登録されている描画コマンド記憶領域の範囲外のアドレスであるアドレスエラーを検出した場合、前記エラー処理実行手段にエラー検出を通知する、ことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記コマンドエラー又は前記アドレスエラーが検出された場合、前記エラー処理実行手段は、前記エラー処理コマンド記憶手段に記憶されたエラー処理コマンドを実行して、階調処理後の画像データを白画素で置き換える、階調処理後の画像データの白黒を反転させる、又は、エラーメッセージを形成する画素をメモリに書き込む、のいずれかを行う、
ことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記コマンドエラー又は前記アドレスエラーが検出された場合、
前記コマンドエラー又は前記アドレスエラーの識別情報、及び、前記描画コマンドが記憶されているメモリのアドレス、を含むエラー情報を記憶するエラー情報記憶手段を有する、ことを特徴とする請求項２記載の画像処理装置。
【請求項５】
前記コマンドエラーが検出された場合、
前記エラー情報記憶手段は、さらに、前記コマンドエラーが検出された前記描画コマンドを記憶する、ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記エラー通知手段は、前記アドレスエラーが検出された場合、前記外部装置にエラー検出を通知し、
前記外部装置からの指示によって、前記アドレスエラーが検出されたページから、階調処理を再開する、ことを特徴とする請求項２記載の画像処理装置。
【請求項７】
メモリに書き込まれた描画コマンドを解析する描画コマンド解析手段と、
全ての前記描画コマンドが登録された描画コマンドテーブルと、
エラー処理コマンドが記憶されたエラー処理コマンド記憶手段と、
メモリから読み出した前記描画コマンドが前記描画コマンドテーブルに登録されていないコマンドエラーを前記描画コマンド解析手段が検出した場合、前記エラー処理コマンド記憶手段に記憶されたエラー処理コマンドを実行してエラー処理を実行するエラー処理実行手段と、
コマンドエラーが検出された場合、コマンドエラーの識別情報、及び、前記描画コマンドが記憶されているメモリのアドレス、を含むエラー情報を記憶するエラー情報記憶手段と、
階調処理後の画像データをメモリに書き込む階調処理手段と、
描画処理を実行中のページのページ番号をカウントするページ番号カウント手段と、
前記コマンドエラーが検出された場合、外部装置にエラー検出を通知するエラー通知手段と、を有し、
前記外部装置からの指示によって、前記コマンドエラーが検出されたページから階調処理を再開する画像処理装置と接続された情報処理装置に、
前記画像処理装置からエラーの検出の通知を受け付けるステップと、
エラーの検出を受け付けた場合、前記画像処理装置の前記エラー情報記憶手段からエラー情報を読み出すステップと、を実行させるプログラム。
【請求項８】
請求項１〜６いずれか１項記載の前記画像処理装置と、
印刷データを送信する端末とネットワークを介して通信する通信手段と、
前記通信手段が受信した印刷データから前記描画コマンドを生成し、メモリに書き込む前記外部装置と、
前記画像処理装置がメモリに書き込んだ階調処理後の画像データを読み出して、プリンタエンジンを制御するエンジンコントローラと、
画像データを記録媒体に形成する前記プリンタエンジンと、を有する画像形成装置。
【請求項９】
メモリに書き込まれた描画コマンドを解析して画像データに階調処理を施す画像処理方法であって、
描画コマンド解析手段が、前記描画コマンドを解析する描画コマンド解析ステップと、
メモリから読み出した前記描画コマンドが、全ての前記描画コマンドが登録された描画コマンドテーブルに登録されているか否かを判定するステップと、
前記描画コマンド解析手段が、メモリから読み出した前記描画コマンドが前記描画コマンドテーブルに登録されていないコマンドエラーを検出した場合、
エラー処理実行手段が、エラー処理コマンドが記憶されたエラー処理コマンド記憶手段からエラー処理コマンドを読み出し実行してエラー処理を実行するエラー処理実行ステップと、
描画処理を実行中のページのページ番号をカウントするページ番号カウントステップと、
前記コマンドエラーが検出された場合、外部装置にエラー検出を通知するエラー通知ステップと、
前記外部装置からの指示によって、前記コマンドエラーが検出されたページから階調処理を再開するステップと、を有する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
メモリに書き込まれた描画コマンドを解析して階調処理後の画像データをメモリに書き込む画像処理装置に関する。
【背景技術】
【０００２】
デジタル複写機やプリンタなどの画像形成装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）から送信された印刷データに多くの画像処理プロセスを施して用紙などの記録媒体に出力する。
【０００３】
図1は一般的な画像処理プロセスを説明する図の一例である。
１．ＰＣ上のアプリケーションがＯＳやプリンタドライバを利用してＰＤＬ（ページ記述言語）を生成しメモリに書き込むプロセス
２．画像形成装置のＣＰＵ（ソフトウェア）がＰＤＬの印刷データを解析して中間言語で記述された描画コマンドを生成しメモリに書き込むプロセス
３．描画装置が描画コマンドを解析し、階調処理後（２値化された）の画像データ（バンドデータ）をメモリへ書き込むプロセス
４．符号化装置が、２値画像を圧縮アルゴリズム（ＪＢＩＧなど）により符号化しメモリに書き込むプロセス、
５．復号装置が、メモリから符号化された画像データを読み込み復号し、Ｃ，Ｍ，Ｙ，Ｋの各版に対応するラスタデータをプリンタエンジンに転送するプロセス
このような画像処理プロセスは、解像度の増加やカラー化が進むにつれ、また、印刷時間を短縮するという要求に伴い、さらなる高速化が求められており、高速化を図った技術が提案されている（例えば、特許文献１参照。）。特許文献１には、描画ワードＸ幅のハーフトンパターンをハーフトンパターンのＹ幅分記憶しておくことで、高速化する画像処理装置が開示されている。同じ階調値である描画オブジェクトに対して効率よくハーフトンパターンを使用することができるので、画像処理を高速化できる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の描画装置は、画像処理中に生じ得るエラーを検出する手段がなく、ソフトウェアが機器を停止するなどのエラー制御ができないという問題がある。
【０００５】
画像形成装置はプリンタ機能だけでなく、スキャナ機能、コピー機能、ファクシミリ機能等、複数の機能を搭載する多機能化が進んでおり、各機能のジョブを受け付けるアプリが搭載されている。このため、例えば、プリンタアプリが印刷している間に、コピーアプリが起動されるなど、複数のアプリが並行に実行されることがある。各アプリがジョブを実行する際、競合しないようにソフト・ハードのリソースの使用権限が調停される。しかし、例えば複数のアプリのメモリへの書き込みタイミング等により、ソフトウェアが描画コマンドをメモリに書き込む際に、描画コマンドがデータ化けするおそれがあることが知られている。
【０００６】
また、メモリへの書き込みにソフトウェアはポインタの示すアドレスを使用するが、ポインタの不整合などにより、本来書き込むべき領域（アドレス）でない領域にソフトウェアが描画コマンドを書き込むおそれがある。
【０００７】
描画装置は、ソフトウェアが誤ってデータ化けさせた描画コマンドを解析して階調処理したり、ソフトウェアが想定外の領域に描画処理コマンドを書き込んだことを検出する手段を有しておらず、画像処理を継続してしまう。この場合、画像形成装置が異常画像をプリントアウトすることになる。
【０００８】
図２（ａ）（ｂ）は異常画像を模式的に説明する図の一例である。例えば、印刷データが"Ａ"という文字の場合、エラーが発生しなければ、図２（ａ）の左の図のように"Ａ"という文字が印刷される。これに対し、例えば図示する位置でエラーが発生した場合、本来、斜めに描画されるラインがエラー発生時の位置から直線になるなどの印刷結果が得られる場合がある。
【０００９】
また、例えば、印字データが文章の場合、エラーが発生しなければ、図２（ａ）の左の図のように印刷データに従った文字や記号が印刷される。これに対し、何らかのエラーが発生した場合、一部に文脈からは明らかにおかしい文字や記号が印刷される。大部分の文章は異常がないため、図２（ｂ）のような異常画像はユーザも気付きにくく、後になって再印刷が必要であることに気付くという事態が起こる。
【００１０】
本発明は、上記課題に鑑み、描画処理が読み出すメモリに書き込みエラーが生じた場合に異常画像などの印刷を抑制できる画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明は、メモリに書き込まれた描画コマンドを解析して画像データに階調処理を施す画像処理装置であって、描画コマンドを解析する描画コマンド解析手段と、全ての前記描画コマンドが登録された描画コマンドテーブルと、エラー処理コマンドが記憶されたエラー処理コマンド記憶手段と、メモリから読み出した描画コマンドが前記描画コマンドテーブルに登録されていないコマンドエラーを前記描画コマンド解析手段が検出した場合、前記エラー処理コマンド記憶手段に記憶されたエラー処理コマンドを実行してエラー処理を実行するエラー処理実行手段と、描画処理を実行中のページのページ番号をカウントするページ番号カウント手段と、前記コマンドエラーが検出された場合、外部装置にエラー検出を通知するエラー通知手段と、を有し、前記外部装置からの指示によって、前記コマンドエラーが検出されたページから階調処理を再開する、ことを特徴とする。
【発明の効果】
【００１２】
描画処理が読み出すメモリに書き込みエラーが生じた場合に異常画像などの印刷を抑制できる画像処理装置を提供することができる。
【図面の簡単な説明】
【００１３】
【図１】一般的な画像処理プロセスを説明する図の一例である。
【図２】異常画像を模式的に説明する図の一例である。
【図３】描画装置の概略的な特徴を説明する図の一例である。
【図４】画像形成装置の構成図の一例である。
【図５】画像形成装置の概略的なハードウェア構成図の一例である。
【図６】ＰＤＬの印刷データがプリンタエンジンに送出されるまでの流れを説明する図の一例である。
【図７】描画コマンドのリスト例を示す図である。
【図８】描画コマンドのフォーマット例を示す図である。
【図９】エラー処理コマンドの一例を説明する図の一例である。
【図１０】描画装置の構成図の一例である。
【図１１】ＣＰＵが実行するソフトウェアの機能ブロック図の一例である。
【図１２】描画装置がバンドデータを描画する手順を示すフローチャート図の一例である。
【図１３】描画装置がエラーを検出した場合に印刷される出力例を示す図である。
【図１４】描画装置の概略的な特徴を説明する図の一例である（実施例２）。
【図１５】描画装置の構成図の一例である（実施例２）。
【図１６】描画装置がバンドデータを描画する手順を示すフローチャート図の一例である（実施例２）。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例１】
【００１５】
図３は、本実施例の描画装置の概略的な特徴を説明する図の一例である。
【００１６】
Ｓ１．上述したように、ＣＰＵはソフトウェアを実行してＰＤＬ（Page Description Language）フォーマットの印刷データを解析して中間言語で記述された描画コマンドをメインメモリ１１０の中間言語メモリ領域に書き込む。
【００１７】
Ｓ２．描画装置１００は、描画コマンドが書き込まれたメインメモリ１１０のアドレスをＣＰＵから取得する。そして、描画コマンド解析装置は描画コマンドを解析する前に、描画コマンドがコマンドテーブルに搭載されているか否かを判定する。描画コマンドの種類は有限なので、コマンドテーブルに全ての描画コマンドをリストアップしておくことができる。したがって、コマンドテーブルの描画コマンドと一致しない描画コマンドは、中間言語メモリ領域に書き込まれる際にエラーが生じていると判断できる。
【００１８】
Ｓ３．描画コマンド解析装置は、中間言語メモリ領域から読み出した描画コマンドがコマンドテーブルのコマンドと一致しない場合、エラー処理コマンド制御装置に通知する。  Ｓ４．エラー処理コマンド制御装置は、メインメモリ１１０のエラー処理コマンド領域からエラー処理コマンドを読み出して実行することで、白データを印刷するなどのエラー処理を行う。
【００１９】
このように、中間言語メモリ領域に書き込まれた描画コマンドがコマンドテーブルに登録されているか否かを判断することで、エラーの発生を検出でき、異常画像をそのまま印刷することを防止でき、復帰制御など適切な対応を取ることが可能になる。
【００２０】
〔構成例〕
図４は、画像形成装置２００の構成図の一例を示す。画像形成装置２００は、４つのトナーボトル１１Ｙ、１１Ｃ、１１Ｍ、１１Ｋ（以下、区別しない場合トナーボトル１１という）、４つの画像形成ユニット１４Ｙ、１４Ｃ、１４Ｍ、１４Ｋ（以下、区別しない場合画像形成ユニット１４という）、光書込装置１８、中間転写ベルト１２、給紙トレイ１９、定着ユニット２２等を有する。
【００２１】
光書込装置１８は、後述する描画装置１００が生成した画像データを主走査方向の１ラインずつ取り出して、レーザ駆動部に出力する。レーザ駆動部は１ライン分の画像データによりレーザを変調して半導体レーザを駆動することで、感光体１６にレーザ光を照射する。光書込装置１８から照射されたレーザ光は感光体１６の円筒の軸方向（主走査方向）を走査するので、感光体１６の外周面に画像データに応じた静電潜像が書き込まれる。本実施例の描画装置１００は、光書込装置１８に画像データを供給するものである。
【００２２】
画像形成ユニット１４は、それぞれ中間転写ベルト１２に各色のトナー画像を形成する。各画像形成ユニット１４は、矢印方向へ回転駆動される感光体１６Ｙ、１６Ｃ、１６Ｍ、１６Ｋ（以下、区別しない場合、感光体１６という）の周囲に配置された帯電部２７、現像部２８、クリーニング部１７等を有する。
【００２３】
帯電部２７は、ローラ状に形成された導電性部材を有し、この帯電部２７にバイアス電圧が電源装置から供給されることにより感光体１６の外周面が一様に帯電される。感光体１６は、不図示のモータにより中間転写ベルト１２と同じ表面速度に回転駆動される。
【００２４】
現像部２８は、感光体１６へトナーボトル１１が供給するトナーを感光体１６の外周面に付着させることにより、感光体１６上の静電潜像をトナー画像として顕像化する。
【００２５】
中間転写ベルト１２は、樹脂フィルム又はゴムを基体として形成されたループ状の無端ベルトである。中間転写ベルト１２は、ローラにより支持されてローラを駆動するモータにより回転駆動される。中間転写ベルト１２の内周面側には、各感光体１６と対向する位置に４個の転写ローラ１５Ｙ、１５Ｃ、１５Ｍ、１５Ｋが配置されている。
【００２６】
中間転写ベルト１２と感光体１６Kは常時接触しているが、中間転写ベルト１２と感光体１６Ｙ、１６Ｃ、１６Ｍは、不図示の接離機構により、接続状態と離間状態が制御される。転写ローラ１５は、電源装置から供給される電力により転写電圧により電位差を生じさせ、各色のトナー画像を中間転写ベルト１２上に転写させる。各色のトナー画像が中間転写ベルト１２上に順次転写されることにより、中間転写ベルト１２上にはカラーのトナー画像が担持される。
【００２７】
クリーニング部１８は感光体１６から中間転写ベルト１２にトナー画像が転写された後に残留したトナーを除去する。また、中間転写ベルト１２の外周面側には転写媒体にカラーのトナー画像が転写された後に、残留したトナーや紙粉等をクリーニングするクリーニング装置１３が配置されている。
【００２８】
画像形成装置２００の下方には、転写媒体（印刷用紙）を積層する給紙トレイ１９が配置されている。給紙トレイ１９内に積層されている転写媒体は、給紙ローラ２０により最上位のものから順に分離給紙される。また、画像形成装置２００の右側面には、開閉式の給紙トレイ１９が設けられており、手差しされた転写媒体を積層するために使用される。
【００２９】
給紙トレイ１９又は開閉式の給紙トレイ１９から分離給紙された転写媒体は搬送経路を搬送され、ニップ部２９、定着ユニット２２、及び、排紙トレイ２３へと搬送される。
【００３０】
レジストローラ３０は、所定のタイミングで間欠的に回転駆動されるローラである。レジストローラ３０は、レジストローラ３０の位置まで搬送された転写媒体を、中間転写ベルト１２上のトナー画像がニップ部２９に到着するタイミングで、ニップ部２９へ搬送する。転写媒体がニップ部２９を通過する過程において、二次転写ローラ２１が圧力と静電力により中間転写ベルト上１２のトナー画像を転写媒体に転写する。
【００３１】
定着ユニット２２は、内部に定着ヒータ２５を備えた定着ローラ２４と、加圧ローラ９を有し、トナー画像が転写された転写媒体に対して熱と圧力を加えてトナーを溶融し、トナー画像を転写媒体に定着させる。定着ローラ２４の表面の温度がサーミスタ２６により検出されている。定着ユニット２２を通過した転写媒体は、画像形成装置２００の上面部に形成されている排紙トレイ２３に排紙される。
【００３２】
図４では、電子写真方式の画像形成装置２００を例に説明したが、インクジェット方式の画像形成装置２００も描画コマンドから階調処理された画像データを生成する点では同じなので、インクジェット方式の画像形成装置２００に本実施例の描画装置１００を適用できる。
【００３３】
図５は、画像形成装置２００の概略的なハードウェア構成図の一例を示す。図では、メインメモリ１１０へのアクセスを行うメモリコントローラ４８に、ＣＰＵ４４、プリンタエンジン５４、描画装置１００、及び、メインメモリ１１０等が接続されている。この他、メインメモリ１１０にはパネル４１、符号化装置５２、及び、通信コントローラ４７が接続されている。
【００３４】
パネル４１はユーザが画像形成装置２００を操作する操作部とメニューを含む画面を表示するＵＩである。パネル４１はユーザの操作を受け付けてパネルコントローラ４２に通知する。パネルコントローラ４２はユーザの操作に応じて予め定められた遷移順にパネル４１に表示する画面を切り換える。また、パネルコントローラ４２はパネル４１が受け付けたユーザの操作をローカルＩ／Ｆ４５に通知する。ローカルＩ／Ｆ４５は割り込みなどの仕組みを利用して操作内容をＣＰＵ４４に通知する。
【００３５】
ローカルＩ／Ｆ４５にはＲＯＭ４３が接続されている。ＲＯＭ４３には画像形成装置２００の起動時に不図示のＨＤＤからメインのプログラムを読み出してメインメモリ１１０に書き込むためのブートローダや、静的なパラメータ等が記憶されている。なお、ＲＯＭ４３にメインのプログラムを記憶しておくこともできる。
【００３６】
ＣＰＵ４４はメインのプログラムを実行して、画像形成装置２００の全体の制御を行う。本実施例のＣＰＵ４４は少なくとも、ＰＤＬの印刷データを解析して描画コマンドをメインメモリ１１０に書き込む処理、及び、エラーの発生時に描画装置１００から通知を受け取って印刷の停止・再開処理を行う。ＣＰＵ  Ｉ／Ｆ４６はＣＰＵ４４とメモリコントローラ４８を切り離し、ＣＰＵ４４とメモリコントローラ４８が通信する際に、ＣＰＵ４４とメモリコントローラ４８が応答待ちなどにより待機状態とならないよう、互いの通信部分を司る。
【００３７】
符号化装置５２は、メインメモリ１１０に記憶されたバンドデータをＪＢＩＧなどの符号化方法で符号化し、メモリコントローラ４８を介して、メインメモリ１１０の符号ページメモリ領域へ符号データを書き込む。復号装置５１は、符号化装置５２により符号化され書き込まれた符号データを、メモリコントローラ４８を介して読み出し、復号する。復号装置５１にはエンジンコントローラ５３が接続されており、エンジンコントローラ５３は、復号装置５１で復号された画像データを受けとり、プリンタエンジン５４へ転送する。エンジンコントローラ５３は例えば図２の光書込装置１８を画像データに応じて制御する。
【００３８】
メモリコントローラ４８は、ローカルＩ／Ｆ４５、ＣＰＵ  Ｉ／Ｆ４６、通信コントローラ４７、復号装置５１、符号化装置５２、描画装置１００、及び、メインメモリ１１０との間で、アクセス要求を調停しながら各種のデータの書き込み、読み出しを行う。メインメモリ１１０については次述するが、メインメモリ１１０にはＰＤＬの印刷データ、描画コマンド、バンドデータ、符号化ページデータ、及び、メインのプログラム等が記憶される。
【００３９】
描画装置１００は、描画コマンドを解析して画像データに階調処理を施すことで２値化された画像データをメインメモリ１１０に書き込む。以下、この画像データをバンドデータという。描画装置１００について詳細は後述する。
【００４０】
画像形成装置２００はＰＣ３００とネットワーク５０を介して接続されている。通信コントローラ４７は、ネットワーク５０に接続してＰＣ３００から受信したＰＤＬの印刷データを取得し、メインメモリ１１０に書き込む。通信コントローラ４７は例えばイーサネットカードを挙げることができる。ネットワーク５０は、ルータやＬ３スイッチを超えないＬＡＮ（ＶＬＡＮを含む）、ルータやＬ３スイッチを介してＬＡＮ同士が接続されたＷＡＮ、及び、インターネットを含むネットワークのいずれでもよい。また、有線接続、無線接続を問わない。
【００４１】
〔画像処理手順〕
図６は、ＰＤＬの印刷データがプリンタエンジン５４に送出されるまでの流れを説明する図の一例である。画像形成装置２００は画像処理のステップ毎にメインメモリ１１０にアクセスしながら処理を進めていく。
【００４２】
メインメモリ１１０は、予めいくつかの領域に区分されている。メインメモリ１１０は、例えば、ＳＤＲＡＭである。メモリコントローラ４８は、１つのステップでは１つの種類のデータにアクセスするので、同種のデータは連続した領域に記憶された方が、アクセス効率が向上する。このため、メインメモリ１１０は、原則的に（何らかのエラー生じなければ）領域毎に記憶されるデータが固定されている。
【００４３】
メインメモリ１１０の各領域は、例えばＰＤＬメモリ領域、中間言語メモリ領域、バンドメモリ領域、符号ページメモリ領域、プログラム領域、ワーク領域、及び、その他の領域である。そして、本実施例の場合、余裕をもって用意されているその他の領域にエラー処理コマンド領域を有する。エラー処理コマンド領域は、描画装置１００がエラーを検出した場合に、描画装置１００が実行するコマンドである。
【００４４】
なお、プログラム領域には、ＣＰＵ４４が実行するメインのプログラムが記憶され、ワーク領域には、ＣＰＵ４４などによる処理の中間結果が記憶される。
【００４５】
ＰＣ上で動作しているアプリケーションが印刷する場合、プリンタドライバがＰＤＬ（ページ記述言語）で記述された印刷データを生成し、ネットワーク５０を介して画像形成装置に送信する。画像形成装置２００の通信コントローラ４７は、ＰＤＬの印刷データを受け取り、メインメモリ１１０のＰＤＬメモリ領域へ格納する。メモリコントローラ４８は印刷データを記憶したこと及び先頭アドレスと印刷データのサイズを、ＣＰＵ４４に割り込みすることで通知する。
【００４６】
ＣＰＵ４４はメインのプログラムを実行しており、印刷データを受信したことを検知すると、印刷データの印刷を開始する。まず、メインメモリ１１０のＰＤＬメモリ領域からＰＤＬの印刷データを読み出し解析して、中間言語による印刷データ（描画コマンド）を生成する。ＣＰＵ４４は生成した描画コマンドをメインメモリ１１０の中間言語メモリ領域に記憶する。ＣＰＵ４４は描画コマンドを生成したこと、及び、描画コマンドの先頭アドレスと描画コマンドのサイズを描画装置１００に通知する。
【００４７】
描画装置１００は、メインメモリ１１０の描画コマンドを読み込み、描画コマンドを解析してバンドデータを生成する。描画装置１００はバンドデータをメインメモリ１１０のバンドメモリ領域に書き込む。バンドメモリ領域は、1ページ分を副走査方向に８〜１６等分したバンドサイズのメモリ容量を有する。描画コマンドについては後述するが、描画コマンドの実行により四角形、三角形等が描かれ、また、階調処理が行われ２値化されたバンドデータが生成される。描画装置１００は、処理の状態をステータスレジスタでＣＰＵ４４に通知する。
【００４８】
ＣＰＵ４４はステータスレジスタによりバンドデータの書き込みの進捗を監視して、符号化装置５２にバンドデータの符号化を要求する。符号化装置５２は、メインメモリ１１０のバンドメモリ領域からバンドデータを読み出して、ＪＢＩＧなどの２値画像の圧縮アルゴリズムにより符号化し、符号ページメモリ領域に記憶する。符号化装置５２は、ＣＰＵ４４に要求されたバンドデータの符号化が終了するとＣＰＵ４４に通知する。符号化ページメモリ領域は1ページ分の容量又は１バンド分以上の容量を有する。
【００４９】
ＣＰＵ４４は１ページ分の符号化が終了すると、復号装置５１に復号を要求する。復号装置５１は、メインメモリ１１０に記憶されたバンドごとの符号からなる１ページ分の符号化データを読み込んで復号し、エンジンコントローラ５３へ転送する。エンジンコントローラ５３は、プリンタエンジン５４を制御してプリンタエンジン５４で印刷データの印刷を行う。
【００５０】
〔描画コマンド〕
図７は、描画コマンドのリスト例を、図8は描画コマンドのフォーマット例を、それぞれ示す。
【００５１】
４色カラープリンタの場合、４つのトナー画像が重畳して１つのカラー画像が生成されるため、描画コマンドはＣ、Ｍ、Ｙ、Ｋの各色毎に用意される。
バンド初期化コマンド：バンドの先頭アドレスとバンドの高さと幅を定義している。
バンド初期化コマンドは１つが４×３２bitのコマンド長であり、バンド初期化コマンドヘッダ、バンド先頭アドレス、バンド高さ、及び、バンド幅を有する。なお、ＮＯＰ（Ｎｏ  Ｏｐｅｒａｔｉｏｎ）は何もしない命令を意味する。
描画階調定義コマンド：ハーフトンしきい値アドレス、描画階調値を定義している。
描画階調定義コマンドは１つが３×３２bitのコマンド長であり、ハーフトンしきい値アドレス、及び、描画階調値を有する。
しきい値テーブルセットコマンド：ハーフトンパターンのＸ幅、Ｙ幅と各画素ごとのしきい値テーブルのアドレスを定義している。
しきい値テーブルセットコマンドは、１つが３×３２bitのコマンド長であり、しきい値テーブルセットコマンドヘッダ、ハーフトンパターンＸ幅、ハーフトンパターンＹ幅、及び、しきい値テーブルアドレスを有する。
四角形描画コマンド：指定された四角形の左上の座標から右下の座標までの四角形を定義する。
四角形描画コマンドは、１つが３×３２bitのコマンド長であり、左上Ｘ座標、左上Ｙ座標、右下Ｘ座標、及び、右下Ｙ座標を有する。
三角形描画コマンド：指定された三角形の各端点座標の３角形を定義する。
三角形描画コマンドは、１つが４×３２bitのコマンド長であり、3組の「端点Ｘ座標、端点Ｙ座標」を有する。
バンド終了コマンド：バンドの終了を定義する。
バンド終了コマンドは、１つが１×３２bitのコマンド長であり、バンド終了コマンドヘッダを有する。
【００５２】
後述する、本実施例のコマンドテーブルには描画装置１００が解析可能な全ての描画コマンドのコマンドヘッダが登録されている。なお、１つのバンドについて最初の描画コマンドはバンド初期化コマンドであり、最後の描画コマンドはバンド終了コマンドである。
【００５３】
図９は、エラー処理コマンドの一例を説明する図の一例である。エラー処理コマンドは、例えば、以下の３つがある。
（１）白データ出力コマンド
図9（ａ）は白データ出力コマンドの一例を示す。白データ出力コマンドは、エラー検出後のバンドを白データとして出力するコマンドである。白データ出力コマンドは、１つが１×３２bitのコマンド長である。
（２）反転データ出力コマンド
図9（ｂ）は反転データ出力コマンドの一例を示す。反転データ出力コマンドは、描画中のバンドの白黒を反転して出力するコマンドである。反転データ出力コマンドは、１つが１×３２bitのコマンド長である。
（３）エラー情報出力コマンド
図9（ｃ）はエラー情報出力コマンドの一例を示す。エラー情報出力コマンドは、描画中のバンドにエラーメッセージを出力するコマンドである。エラー情報出力コマンドは、１つが２×３２bitのコマンド長であり、エラー情報開始アドレス、及び、エラー情報終了アドレスを有する。エラー情報開始アドレスはエラー処理コマンド領域に記憶されているエラーメッセージの描画コマンドの先頭アドレスであり、エラー情報終了アドレスはエラーメッセージの描画コマンドの終了アドレスである。
【００５４】
〔描画装置〕
図１０は、描画装置１００の構成図の一例である。描画装置１００は、コントローラ１０８、エラー処理コマンド制御装置１０７、描画コマンド解析装置１０６、水平ライン変換装置１０５、水平ライン描画装置１０４、パラメータ記憶装置１０３、ハーフトンしきい値記憶装置１０２、及び、メモリコントローラＩ／Ｆ１０１を有する。
【００５５】
メモリコントローラＩ／Ｆ１０１は、メモリコントローラ４８と描画装置１００との間のインタフェースである。メモリコントローラＩ／Ｆ１０１には、ＣＰＵから描画コマンドのアドレスが通知される。
【００５６】
メインメモリ１１０からＰＤＬの印刷データを読み出す際、メモリコントローラＩ／Ｆ１０１は、メモリリクエストをメモリコントローラ４８に出力する。メモリコントローラ４８は、メモリアクセスを調停して描画装置１００がメインメモリ１１０にアクセスできるようになるとメモリアックをメモリＩ／Ｆに返す。
【００５７】
メモリコントローラＩ／Ｆ１０１は、Ｒ／Ｗ信号で読み出し（Ｒ）を指定し、ＰＤＬの印刷データのメモリアドレスをメモリコントローラ４８に出力する。
【００５８】
メモリコントローラ４８はメインメモリ１１０の指定されたアドレスからＰＤＬの印刷データを読み出して、メモリコントローラＩ／Ｆ１０１に出力する。
【００５９】
また、メインメモリ１１０にバンドデータを書き込む際、メモリコントローラＩ／Ｆ１０１は、メモリリクエストをメモリコントローラ４８に出力する。メモリコントローラ４８は、メモリアクセスを調停して描画装置１００がメインメモリ１１０にアクセスできるようになるとメモリアックをメモリＩ／Ｆに返す。
【００６０】
メモリコントローラＩ／Ｆ１０１は、Ｒ／Ｗ信号で書き込み（Ｗ）を指定し、バンドデータのメモリアドレスをメモリコントローラ４８に出力する。メモリコントローラ４８はメインメモリ１１０の指定されたアドレスにバンドデータを書き込む。
【００６１】
コントローラ１０８は、描画装置１００の処置手順の全体を制御する。本実施例では、描画コマンド解析装置１０６がエラーを検出した場合に、コントローラ１０８はＣＰＵ４４に割り込みして通知する。また、コントローラ１０８は、ページカウンタ１３０を有する。ページカウンタ１３０は、描画したバンド数をカウントして、予め既知の１ページ分に相当するバンド数のバンドの描画が完了する毎にページ数を１つインクリメントする。これにより、エラーの生じたページを特定できるようになる。
【００６２】
描画コマンド解析装置１０６は、メモリコントローラＩ／Ｆ１０１がメインメモリ１１０から取得した描画コマンドを解析し、描画コマンドに応じた処理を行う。
・バンド初期化コマンドを取得した場合、描画コマンド解析装置１０６は、バンド先頭アドレス、バンド高さ及びバンド幅をパラメータ記憶装置１０３へ記憶させる。
・描画階調定義コマンドを取得した場合、描画コマンド解析装置１０６は、描画階調値をパラメータ記憶装置１０３へ記憶させ、ハーフトンしきい値アドレスで指定されたハーフトンしきい値記憶装置１０２に出力する。水平ライン描画装置１０４は、ハーフトンしきい値記憶装置１０２からハーフトンしきい値を読み込み、描画階調値で２値化する。
・しきい値テーブルセットコマンドを取得した場合、描画コマンド解析装置１０６は、ハーフトンパターンのＸ幅、Ｙ幅をパラメータ記憶装置１０３へ記憶し、しきい値テーブルアドレスの示すメインメモリ１１０のワーク領域のしきい値テーブルを読み込み、ハーフトンしきい値記憶装置１０２へ書き込む。
・四角形描画コマンドヘッダを取得した場合、描画コマンド解析装置１０６は、四角形コマンドと四角形の左上Ｘ座標、Ｙ座標、右下のＸ座標、Ｙ座標を水平ライン変換装置１０５に出力する。
・三角形描画コマンドヘッダを取得した場合、描画コマンド解析装置１０６は、三角形コマンドと三角形の３つの端点の座標を水平ライン変換装置１０５に出力する。
・バンド終了コマンドを取得した場合、描画コマンド解析装置１０６は、バンドの描画を終了する。
【００６３】
描画コマンド解析装置１０６は、描画コマンドが適正か否かを判定するため、コマンドテーブル１２０を有している。コマンドテーブル１２０には、描画装置１００が解析可能な全ての描画コマンドのコマンドヘッダが登録されている。コマンドテーブル１２０は、ＲＯＭ４３又は不図示のＨＤＤに記憶されており、画像形成装置２００の起動時に、例えばメインのプログラムが初期設定として描画コマンド解析装置１０６のレジスタに書き込む。
【００６４】
水平ライン変換装置１０５は、描画コマンド解析装置１０６から描画コマンドを取得して水平ラインへ変換し、水平ラインのパラメータである水平ラインＹ値、水平ライン始点値及び水平ライン終点値を水平ライン描画装置１０４へ出力する。
【００６５】
水平ライン描画装置１０４は、水平ライン変換装置１０５から取得した水平ラインのパラメータに基づき、水平ラインを描画する。水平ライン描画装置１０４は、ハーフトンしきい値記憶装置１０２からハーフトンしきい値を読み込み、描画階調値で２値化しハーフトンパターンを生成する。このハーフトンパターンと、パラメータにより指示される水平ラインの描画マスクとのＡＮＤ計算を行い、描画パターンを生成する。この描画パターンがバンドデータとなる。
【００６６】
描画コマンド解析装置１０６は、描画コマンドの解析の１つとして、メモリコントローラＩ／Ｆ１０１が取得した描画コマンドがコマンドテーブル１２０に登録されているか否かを判定する。メインメモリ１１０から読み出した描画コマンドがコマンドテーブル１２０に登録されていない場合、エラー処理コマンド制御装置１０７にエラー検出を通知する。また、描画コマンド解析装置１０６は、メインメモリ１１０から読み出した描画コマンドがコマンドテーブル１２０に登録されていない場合、エラー情報を例えばパラメータ記憶装置１０３に記憶しておく。エラー情報は、
・エラーを検出した描画コマンド
・中間言語メモリ領域のアドレス
・エラーの種類（この場合はコマンドエラー）
などである。
【００６７】
エラー情報を記憶しておくことで、後にＣＰＵ４４がエラー情報を読み出し、どのようなエラーが生じたのかをＨＤＤ等に記録することができる。また、エラーの種類は、実施例２のエラーの検出方法により検出されたエラーと区別するための情報であり、どのようなエラーが検出されたかを後に解析することを可能にする。
【００６８】
エラー検出の通知を受けると、エラー処理コマンド制御装置１０７は、エラー処理コマンド領域のエラー処理コマンドを読み出し、エラー処理を実行する。
（１）白データ出力コマンド
白データ出力コマンドを読み出した場合、エラー処理コマンド制御装置１０７は、バンドの全体又はバンドのエラー検出後の領域を白画素に設定する。具体的には、前者の場合、すでにメインメモリ１１０のバンドメモリ領域に書き込んだバンドデータを含め、バンドの全体に白画素"１"を上書きする。後者の場合、すでにメインメモリ１１０のバンドメモリ領域に書き込んだバンドデータの末尾から、バンド高さに相当するアドレスまで、白画素"１"を書き込む。
（２）反転データ出力コマンド
反転データ出力コマンドを読み出した場合、エラー処理コマンド制御装置１０７は、バンドの全体又はバンドのエラー検出までの領域の白黒を反転する。具体的には、前者の場合、エラー検出の後も、描画コマンド解析装置１０６は描画コマンドの解析とバンドメモリ領域へのバンドデータの書き込みを継続する。描画コマンド解析装置１０６がバンド終了コマンドヘッダを読み出すと、エラー処理コマンド制御装置１０７はバンドメモリ領域から書き込んだバンドデータを順次、読み出し、白画素"１"を黒画素"０"に、黒画素"０"を白画素"１"にそれぞれ反転する。
【００６９】
後者の場合、エラー処理コマンド制御装置１０７は、すでにメインメモリ１１０のバンドメモリ領域に書き込んだバンドデータを、バンドメモリ領域から順次、読み出し、白画素"１"を黒画素"０"に、白画素"０"を黒画素"１"にそれぞれ反転する。エラー検出後からバンド領域の残りの領域には白画素"１"を書き込む。
（３）エラー情報出力コマンド
エラー情報出力コマンドを読み出した場合、エラー処理コマンド制御装置１０７は、エラー情報開始アドレスから描画コマンドを読み出し、描画コマンド解析装置１０６に描画処理を要求する。エラー情報開始アドレスからエラー情報終了アドレスまで描画コマンドを読み出し、水平ライン変換装置１０５，水平ライン描画装置１０４が描画処理することで、エラーメッセージが描画される。
【００７０】
エラー処理コマンド制御装置１０７は、エラー処理を終了するとコントローラ１０８に通知する。コントローラ１０８はＣＰＵ４４に割り込み、エラー発生を通知する。
【００７１】
〔ソフトウェアの機能ブロック〕
図１１はＣＰＵ４４が実行するソフトウェアの機能ブロック図の一例を示す。描画制御部４４１は、ＰＤＬの印刷データの印刷から出力までの一連の処理を制御する。すなわち、ＰＤＬの印刷データがメインメモリ１１０に書き込まれると、描画制御部４４１は印刷を開始する。まず、描画制御部４４１は、描画コマンド生成部４４２に処理を要求する。
【００７２】
描画コマンド生成部４４２はメインメモリ１１０に記憶されたＰＤＬの印刷データを解析して描画コマンドを生成し、メインメモリ１１０に書き込む。描画コマンド生成部４４２は、バンド幅分以上の中間言語の印刷データを生成すると、描画装置１００にバンドデータの生成を要求する。
【００７３】
この後、描画制御部４４１は、ステータスレジスタにより描画装置１００の描画処理の進捗を監視し、描画コマンド生成部４４２に中間言語メモリ領域を更新させたり、符号化装置５２にバンドデータの符号化を要求する。描画制御部４４１は、ＰＤＬの印刷データを全て読み出し、描画コマンドの生成、バンドデータの生成、符号化、復号、及び、印刷までの処理が終了すると終了する。
【００７４】
また、描画制御部４４１は、描画装置１００からエラー検出が通知されると、描画停止部４４３に描画を停止させる。描画停止部４４３は描画装置１００の所定のポートをＨレベルにしたり、描画装置１００のコントローラに命令を書き込むなどして描画を停止させる。
【００７５】
また、描画制御部４４１は、描画装置１００からエラー検出が通知されると、エラー情報読み取り部４４４に、描画装置１００からエラー情報を読み取るように要求する。エラー情報読み取り部４４４は描画装置１００のパラメータ記憶装置１０３からエラー情報を読み取り、ＨＤＤなどの不揮発メモリに記録する。こうすることで、画像形成装置２００の電源が落ちたり再起動しても、エラー情報を保持できる。
【００７６】
描画制御部４４１は、エラー情報読み取り部４４４がエラー情報を読み出すと、印刷再開部４４５に印刷の再開を要求する。印刷再開部４４５は、描画装置１００のコントローラ１０８からエラーの生じたページ番号を取得して、描画制御部４４１に通知する。描画制御部４４１は描画コマンド生成部４４２に対し、エラーの生じたページのＰＤＬの印刷データから、再度、描画コマンドを生成させる。これによりエラーの生じたページから印刷を再開できる。
【００７７】
〔動作手順〕
図１２は、描画装置がバンドデータを描画する手順を示すフローチャート図の一例を示す。
【００７８】
描画装置１００はメインメモリ１１０から描画コマンドを読み出す（Ｓ１０）。描画コマンドは1つずつ読み出してもよいし、複数個をまとめて読み出してもよい。複数個読み出された場合は、不図示のバッファにキューイングされる。
【００７９】
描画コマンド解析装置１０６は、読み出した描画コマンドがコマンドテーブル１２０に登録されているか否かを判定する（Ｓ２０）。読み出した描画コマンドがコマンドテーブル１２０に登録されている場合（Ｓ２０のＹｅｓ）、描画コマンド解析装置１０６は描画コマンドを解析して従来どおりの処理を行う（Ｓ３０）。
【００８０】
読み出した描画コマンドがコマンドテーブル１２０に登録されていない場合（Ｓ２０のＮｏ）、描画コマンド解析装置１０６はパラメータ記憶装置１０３にエラー情報を書き込む（Ｓ４０）。また、描画コマンド解析装置１０６はエラー処理コマンド制御装置１０７にエラー検出を通知する。
【００８１】
エラー処理コマンド制御装置１０７は、エラー処理コマンドをメインメモリ１１０から読み出してエラー処理を実行する（Ｓ５０）。エラー処理コマンドは白データ出力コマンド、反転データ出力コマンド、エラー情報出力コマンドのいずれかであるが、白データ出力コマンドに続けてエラー情報出力コマンドを実行するなど、適宜組み合わせることもできる。
【００８２】
次に、エラー処理コマンド制御装置１０７はコントローラ１０８にエラー検出を通知するので、コントローラ１０８がＣＰＵ４４に割り込みする（Ｓ６０）。この後、描画装置１００の動作は、ＣＰＵ４４により制御される。
【００８３】
ＣＰＵ４４は割込みにより描画停止部４４３を動作させる（Ｓ１１０）。
【００８４】
描画停止部４４３は、描画装置１００の描画処理を停止させる（Ｓ１２０）。
【００８５】
また、ＣＰＵ４４はエラー検出の割込みにより、1ページの途中までであってもバンドデータが得られている範囲で、印刷までの工程を行う。このため、描画制御部４４１は、符号化装置５２にバンドデータの符号化を要求し、符号化が終了すると復号装置５１に復号を要求して、用紙に画像データを印刷する。
【００８６】
次に、エラー情報読み取り部４４４は描画装置１００からエラー情報を読み取る（Ｓ１３０）。ＣＰＵ４４はエラー情報を不図示のＨＤＤ等に記憶する。
【００８７】
また、印刷再開部４４５は、描画装置１００からページ番号を読み出して、印刷を再開する（Ｓ１４０）。すなわち、描画コマンド生成部４４２は、エラーの生じたページのＰＤＬの印刷データから、再度、描画コマンドを生成する。なお、描画停止部４４３は、描画装置１００に対し描画処理の停止を解除する。これにより、メインメモリに書き込まれる際にエラーが生じたページから印刷が再開される。
【００８８】
〔エラー処理による出力例〕
図１３は、描画装置１００がエラーを検出した場合に印刷される出力例を示す図である。図１３（ａ）は白データ出力コマンドによる出力例を、図１３（ｂ）は反転データ出力コマンドによる出力例を、図１３（ｃ）はエラー情報出力コマンドによる出力例を、それぞれ示す。
【００８９】
エラー処理コマンドが白データ出力コマンドの場合、バンドの全体を白データとして出力するコマンドであるとすると、エラーが検出されたバンドには何も印字されない。
【００９０】
エラー処理コマンドが反転データ出力コマンドの場合、エラーが検出されたバンドの全体の白黒を反転させて出力するコマンドであるとすると、エラーが検出されたバンドは白黒が反転して印字される。図１３（ｂ）では、ＰＣから送信された印刷データに含まれない"＃"が印字されているが、このようなわずかなエラー（文字化け）はユーザも気付きにくい。しかし、図１３（ｂ）のように白黒反転して印字することで、ユーザはエラーが発生したことを一目で把握でき、どのようなエラーが生じたかを確認できる。
【００９１】
エラー処理コマンドがエラー情報出力コマンドの場合、エラーが生じたバンドにエラーメッセージが印字される。図１３（ｃ）では「Ｅｒｒｏｒ」と印字されているが、エラーが生じたことを示すメッセージであればよい。また、言葉や単語で印字するのでなく、「１２３４」のようなエラーコードを印字してもよい。この場合、ユーザがエラーコードを画像形成装置２００の販売店やサポートセンタに連絡すれば、サポートセンタがどのようなエラーが発生したかを解析できる。
【００９２】
以上説明したように、本実施例の描画装置１００は、中間言語メモリ領域に書き込まれた描画コマンドがコマンドテーブル１２０に登録されているか否かを判断することで、エラーの発生を検出できる。エラーの発生が検出された場合、用紙に形成される画像を制御し、印刷を停止するのでユーザはエラーが発生したことを把握できる。また、エラー情報を記録するので、どのようなエラーが生じたか後に解析することができる。また、エラーの発生したページから印刷を再開するので利便性を向上できる。
【実施例２】
【００９３】
実施例１にて説明したように、描画装置１００にエラーが生じる場合、ＣＰＵ４４が中間言語メモリ領域に書き込む描画コマンドが本来のものと異なることが多い。しかし、このような現象以外に、ＣＰＵ４４が中間言語メモリ領域に書き込むべき描画コマンドを別の領域（例えば、ＰＤＬメモリ領域や符号ページメモリ領域）に跨って書き込んだり、全く別のメモリ領域に書き込む現象が発生する場合がある。例えば、ＣＰＵ４４が参照するポインタが正しくないような場合、ＣＰＵ４４がアクセスするメインメモリ１１０のアドレスが想定外のものとなることがある。中間言語メモリ領域外に描画コマンドが書き込まれと、描画コマンドがメインメモリの他のデータにより破壊されたり、逆にメインメモリの他のデータが描画コマンドにより破壊されるおそれがあり、異常画像が印刷されるおそれがある。
【００９４】
そこで、本実施例ではＣＰＵ４４が中間言語メモリ領域外に描画コマンドを書き込んだことを検出できる描画装置１００について説明する。
【００９５】
図１４は、本実施例の描画装置１００の概略的な特徴を説明する図の一例である。中間言語メモリ領域は固定なので、描画装置１００に中間言語メモリ領域の開始アドレスと終了アドレスを設定しておけば、描画装置１００は描画コマンドが中間言語メモリ領域に書き込まれたか否かを判定できる。例えば、画像形成装置２００の起動時に、メインのプログラムが初期設定としてメモリコントローラＩ／Ｆ１０１に中間言語メモリ領域の開始アドレスと終了アドレスを設定しておく。
【００９６】
上記のように、ＣＰＵ４４は、描画装置１００に描画コマンドの解析を要求する際、描画コマンドの先頭アドレスを通知する。
(i)  したがって、メモリコントローラＩ／Ｆ１０１は、描画コマンドの先頭アドレスが中間言語メモリ領域の開始アドレスと終了アドレス内か否かにより、中間言語メモリ領域外に描画コマンドが書き込まれたか否かを検出できる。
(ii)  また、メモリコントローラＩ／Ｆ１０１は、メモリコントローラ４８に出力するメモリアドレスが、中間言語メモリ領域か否かに基づき、中間言語メモリ領域外に描画コマンドが書き込まれたか否かを検出できる。メモリコントローラＩ／Ｆ１０１は、ＣＰＵ４４が描画装置１００に通知した描画コマンドの先頭アドレスから、バンド終了コマンドヘッドまで描画コマンドを読み出す。したがって、メモリコントローラＩ／Ｆ１０１は、メモリコントローラ４８に出力するメモリアドレスが、中間言語メモリ領域か否かに基づき、エラーの発生を検出することができる。この場合、メモリコントローラＩ／Ｆ１０１はメモリコントローラ４８に読み出しを要求する毎にエラーが発生したか否かを判定することができる。
【００９７】
図１５は、本実施例の描画装置１００の構成図の一例である。図１５において図１０と同一部には同一の符号を付しその説明は省略する。図１５の描画装置１００が有するブロックは図１０と同様であるが、メモリコントローラＩ／Ｆ１０１が開始アドレスと終了アドレスを記憶している。また、メモリコントローラＩ／Ｆ１０１とエラー処理コマンド制御装置１０７，及び、パラメータ記憶装置１０３が接続されている。
【００９８】
メモリコントローラＩ／Ｆ１０１は、エラーを検出すると、エラー情報を例えばパラメータ記憶装置１０３に記憶しておく。エラー情報は、
・中間言語メモリ領域のアドレス
・エラーの種類（この場合はアドレスエラー）
などである。
【００９９】
エラー情報を記憶しておくことで、後にＣＰＵ４４がエラー情報を読み出し、どのようなエラーが生じたのかを記録することができる。また、エラーの種類により、描画コマンド解析装置１０６が検出したコマンドエラーが検出されたのか、メモリコントローラＩ／Ｆ１０１が検出したアドレスエラーが検出されたのかを、サポートセンタなどが解析時に判別できる。
【０１００】
また、メモリコントローラＩ／Ｆ１０１はエラーを検出すると、エラー処理コマンド制御装置１０７にエラー検出を通知する。
【０１０１】
エラー処理コマンド制御装置１０７は、エラー処理コマンド領域のエラー処理コマンドを読み出し、エラー処理を実行する。エラー処理は、上記の（１）〜（３）と同様である。ただし、エラーの種類を印刷された用紙から判定するため、コマンドエラーとアドレスエラーにより、エラー処理を替えてもよい。例えば、コマンドエラーの場合は（１）をエラー処理とし、アドレスエラーの場合は（２）をエラー処理とする。または、コマンドエラー及びアドレスエラーをいずれも（３）をエラー処理とするが、コマンドエラーかアドレスエラーかによってメッセージを切り換える。こうすることで、サポートセンタなどはどのようエラーが発生したかを容易に判別できる。
【０１０２】
図１６は、描画装置がバンドデータを描画する手順を示すフローチャート図の一例を示す。図１６の手順はステップＳ５が追加されている以外は、図１２とほぼ同様である。
【０１０３】
すなわち、メモリコントローラＩ／Ｆ１０１は、描画コマンドを読み出すために、メモリコントローラ４８に出力するメモリアドレスが、中間言語メモリ領域内に記憶されているか否かを判定する（Ｓ５）。
【０１０４】
中間言語メモリ領域内の場合（Ｓ５のＹｅｓ）、図１２と同様に描画コマンドが読み出され、コマンドエラーの検出等の処理が実行される。
【０１０５】
中間言語メモリ領域内でない場合（Ｓ５のＮｏ）、処理はステップＳ４０に進み実施例１と同様に処理される。すなわち、メモリコントローラＩ／Ｆ１０１はエラー情報を書き込む（Ｓ４０）。エラー処理コマンド制御装置１０７は、エラー処理コマンドをメインメモリ１１０から読み出してエラー処理を実行する（Ｓ５０）。エラー処理コマンド制御装置１０７はコントローラ１０８にエラー検出を通知するので、コントローラ１０８がＣＰＵ４４に割り込みする（Ｓ６０）。この後、描画装置１００の動作は、ＣＰＵ４４により制御される。
【０１０６】
なお、本実施例では実施例１のコマンドエラーと組み合わせて説明したが、アドレスエラーの検出機能のみを描画装置１００に搭載することもできる。
【０１０７】
以上説明したように、本実施例の描画装置１００によれば、実施例1の効果に加え、エラーの検出範囲を拡大することができる。
【符号の説明】
【０１０８】
４４        ＣＰＵ
４７        通信コントローラ
４８        メモリコントローラ
５１        復号装置
５２        符号化装置
５３        エンジンコントローラ
５４        プリンタエンジン
１００      描画装置
１１０      メインメモリ
１０１      メモリコントローラＩ／Ｆ
１０６      描画コマンド解析装置
１０７      エラー処理コマンド制御装置
１０８      コントローラ
２００      画像形成装置
３００      ＰＣ
【先行技術文献】
【特許文献】
【０１０９】
【特許文献１】特開２００６−１２１４３７号公報
【図１】
0005810734.tif 000002
【図２】
0005810734.tif 000003
【図３】
0005810734.tif 000004
【図４】
0005810734.tif 000005
【図５】
0005810734.tif 000006
【図６】
0005810734.tif 000007
【図７】
0005810734.tif 000008
【図８】
0005810734.tif 000009
【図９】
0005810734.tif 000010
【図１０】
0005810734.tif 000011
【図１１】
0005810734.tif 000012
【図１２】
0005810734.tif 000013
【図１３】
0005810734.tif 000014
【図１４】
0005810734.tif 000015
【図１５】
0005810734.tif 000016
【図１６】
0005810734.tif 000017