JP4677133B2 - プリンタエミュレート装置及び方法、並びにプログラム - Google Patents
プリンタエミュレート装置及び方法、並びにプログラム Download PDFInfo
- Publication number
- JP4677133B2 JP4677133B2 JP2001220689A JP2001220689A JP4677133B2 JP 4677133 B2 JP4677133 B2 JP 4677133B2 JP 2001220689 A JP2001220689 A JP 2001220689A JP 2001220689 A JP2001220689 A JP 2001220689A JP 4677133 B2 JP4677133 B2 JP 4677133B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- printer
- state
- image data
- engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Description
【発明の属する技術分野】
本発明は、プリンタエミュレート装置及び方法、並びにプログラムに関し、特に、出力画像データを生成するコントローラ部であって、生成された出力画像データを紙等のメディアに出力するエンジン部と協働してプリンタを構成するコントローラ部の動作を検証し、プリンタの開発を支援するプリンタエミュレート装置及び方法、並びにプログラムに関する。
【0002】
【従来の技術】
画像出力装置としてのプリンタは、図27に示すように、ネットワーク、USBインターフェース等を介して、プリンタドライバを有するホストコンピュータに接続される。このプリンタは、ホストコンピュータ等の機器が印刷元データから生成した中間出力データを出力に適した出力画像データに変換するコントローラ部と、コントローラ部から出力された出力画像データを取得し、紙等のメディアに画像出力するエンジン部とを有する。
【0003】
プリンタの一例としてのレーザビームプリンタに画像の出力を行う際には、ホストコンピュータ等の機器でプリンタのコントローラ部に適した中間出力データを生成する。この中間出力データの生成は一般にはプリンタドライバと呼ばれるソフトウェアで行われる。中間出力データは、パラレル回線、ユニバーサルシリアルバス、イーサネット(登録商標)等のネットワーク回線を通じてプリンタのコントローラ部に入力される。コントローラ部では中間出力データをエンジン部に適した出力画像データに変換し、エンジン部からの画像転送許可信号に同期してエンジン部にビデオ信号として出力する。エンジン部では電子写真プロセスを制御・駆動して入力されたビデオ信号を紙等のメディア上に画像として出力する。エンジン部からの画像転送許可信号の出力タイミングは、紙の搬送状態、電子写真プロセスの状態等から決定される。
【0004】
コントローラ部とエンジン部との間はビデオインターフェースと呼ばれる通信路により接続されている。このビデオインターフェースは、出力画像データを転送するためのビデオ信号、ビデオ信号のタイミング等を制御するコントロール信号、コントローラ部がエンジン部に指示を行うためのコマンド信号、エンジン部がコントローラ部にエンジンの状態を伝えるためのステータス信号等の通信を行っている。
【0005】
上記紙の搬送状態とは、給紙中・印字中・排紙中等のエンジン内部での紙の状態のことを示し、電子写真プロセスの状態とはアイドル状態・初期化状態・後処理中状態等を示す。エンジン部は、常に印刷可能な状態であるわけではなく、印刷可能状態になった場合にコントローラ部に画像転送許可信号を出力する。コントローラ部とエンジン部は上記コントロール信号・コマンド信号・ステータス信号を用いて密接に協調して動作している。
【0006】
レーザビームプリンタ以外のプリンタシステム、例えば、インクジェットプリンタにおいても印刷までのデータの流れは同様である。インクジェットプリンタのコントローラ部はホストコンピュータからの中間出力データをエンジン部に適した出力画像データに変換し、エンジン部に同期してラスタ信号として出力する。エンジン部ではインクジェットプロセスを制御駆動して入力したラスタ信号を紙等のメディア上に画像として形成する。
【0007】
上記のようにコントローラ部とエンジン部により構成されるプリンタの開発においては、
1.正常なタイミングで動作し、所望の印刷速度が達成されているか、
2.正常に画像が出力されているか、
の2点が特に重要となっている。
【0008】
従来のプリンタの開発過程や動作検証過程においては、ホストコンピュータで中間出力データを生成し、コントローラ部に送信することで実際にエンジン部を動作させ出力画像(印刷物)を得ている。この出力時間の測定と、出力画像の直接目視によりプリンタの動作の評価と検証をしている。また、この様な中間出力データ生成・エンジン出力・出力時間測定・出力画像評価のプロセスは繰り返し行われている
しかし、実際にプリンタを稼動させて出力画像を得る従来の手法では、コントローラ部とエンジン部の両方の開発が十分に進み、両者が動作する段階に至らなければ行うことができず、開発期間の短縮及び並行開発が困難である。また、画像の評価・印刷時間の測定をする印刷物の量が膨大になり、また多大な時間とトナーや印刷用紙等の消耗品を必要とする問題がある。
【0009】
上記の問題に対し、特開平04-055935では、ホストコンピュータ上のプリンタドライバが生成した中間出力データを受信し、CRT等の表示システムに画像として表示するプリンタエミュレート装置が提案されている。このプリンタエミュレート装置によれば、プリンタの開発過程おいて実際にプリンタを稼動させて出力画像を得ることなくホストコンピュータからの中間出力データを検証することができる。
【0010】
また、特願2001−110529号では、コントローラ部が出力するビデオ信号を受信し、CRT等の表示装置に画像として可視化する画像処理装置が提案されている。この画像処理装置によれば、プリンタの開発過程によってエンジン部を用いることなく、コントローラ部が出力するビデオ信号を可視化することができ、出力画像を検証することができる。
【0011】
上記2つの提案による手法を用いることで、画像を実際に出力する時間、トナーや印刷用紙等の消耗品の節約が可能となる。また、エンジン部を使用することなく出力画像の検証を行うことができ、エンジン部とコントローラ部の分散・平行開発を可能となる。
【0012】
【発明が解決しようとしている課題】
しかしながら、上記提案は中間出力データと出力画像データを確認するためのものであり、その機能はプリンタ開発段階において画像を確認するためのものに限定されていた。プリンタの開発においては上述のように「正常なタイミング・所望の印刷速度の達成」も重要視されるが、上記提案はタイミングと印刷速度に関しては効果が無いと言う問題がある。
【0013】
また、プリンタの印刷速度は実際に画像を出力するエンジン部の能力だけではなく、コントローラ部の出力画像データ生成能力も影響する。すなわち、高速に動作するエンジン部を使用したとしても、コントローラ部が十分な速度で出力画像データを生成してビデオ信号を出力しなければならない。逆にコントローラ部が高速に出力画像データを生成したとしても、エンジン部がそれに応じて動作できなければプリンタ全体として高速には動作できない。このように、プリンタ全体としての速度はコントローラ部とエンジン部が相互に影響しており、評価する際に印刷速度を制限している要因を切り分けるのが困難であった。
【0014】
さらに、上記のようにプリンタの速度はエンジン部とコントローラ部との密接な条件により決定されるため、コントローラ部の開発過程においては、印刷実行時の詳細なエンジン部の状態変化情報が必要であるが、コントローラ部はエンジン部と接続されているため、状態変化情報を取得するのは困難であった。そのため、従来では、ロジックアナライザ等で電気的な波形を観察し推定するか、熟練した技術者がエンジンの動作音等から経験的にエンジンの状態変化を推定していた。
【0015】
本発明の目的は、プリンタ部と協働してプリンタを構成するコントローラ部のタイミング処理及び処理速度の検証をエンジン部が完成していない状況でも行うことができるプリンタエミュレート装置及び方法、並びに記憶媒体を提供することにある。
【0016】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載のプリンタエミュレート装置は、出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート装置において、前記コントローラ部とデータ通信を行うインターフェース手段と、前記インターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得手段と、所定の時間の経過を通知するタイマと、前記タイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレート手段と、前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信手段と、前記エミュレートしたエンジン部の状態に従い前記コントローラ部に対して画像同期信号を生成する生成手段とを備えることを特徴とする。
【0017】
請求項2記載のプリンタエミュレート装置は、請求項1記載のプリンタエミュレート装置において、前記エミュレートしたエンジン部の状態を表示する表示手段を備えることを特徴とする。
【0018】
請求項3記載のプリンタエミュレート装置は、請求項1又は2記載のプリンタエミュレート装置において、前記タイマは、前記所定の時間を設定する設定手段を有することを特徴とする。
【0019】
請求項4記載のプリンタエミュレート装置は、請求項1乃至3のいずれか1項に記載のプリンタエミュレート装置において、前記エミュレート手段は、前記エミュレートしたエンジン部の状態を保持することを特徴とする。
【0020】
請求項5記載のプリンタエミュレート装置は、請求項1乃至4のいずれか1項に記載のプリンタエミュレート装置において、前記エミュレート手段は、前記エンジンの状態が変化した時刻を保持することを特徴とする。
【0021】
請求項6記載のプリンタエミュレート装置は、請求項1乃至5のいずれか1項に記載のプリンタエミュレート装置において、前記取得手段は、前記コマンド信号を取得した時刻を保持することを特徴とする。
【0022】
請求項7記載のプリンタエミュレート装置は、請求項1乃至6のいずれか1項に記載のプリンタエミュレート装置において、前記送信手段は、前記送信したステータス信号を保持することを特徴とする。
【0023】
請求項8記載のプリンタエミュレート装置は、請求項1乃至7のいずれか1項に記載のプリンタエミュレート装置において、前記送信手段は、ステータス信号を送信した時刻を保持することを特徴とする。
【0024】
請求項9記載のプリンタエミュレート装置は、請求項1乃至8のいずれか1項に記載のプリンタエミュレート装置において、前記送信手段は、前記受信したコマンド信号と前記送信したステータス信号の組み合わせを保持することを特徴とする。
【0025】
請求項10記載のプリンタエミュレート装置は、請求項1乃至9のいずれか1項に記載のプリンタエミュレート装置において、擬似的なエラー状態を指定する指定手段を備え、前記エミュレート手段は、前記エンジンの状態を前記指定手段により指定されたエラー状態とすることを特徴とする。
【0026】
請求項11記載のプリンタエミュレート装置は、請求項1乃至10のいずれか1項に記載のプリンタエミュレート装置において、前記インターフェース手段を介して前記コントローラ部から出力される出力画像データを取得する他の取得手段と、前記取得した画像データを保持する画像メモリと、前記保持した画像データを可視化する可視化手段とを備えることを特徴とする。
【0027】
上記目的を達成するために、請求項12記載のプリンタエミュレート方法は、出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート方法において、前記コントローラ部とデータ通信を行うインターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得工程と、所定の時間の経過を通知するタイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレート工程と、前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信工程と、前記エミュレートしたエンジン部の状態に従い前記コントローラ部に対して画像同期信号を生成する生成工程とを備えることを特徴とする。
【0028】
請求項13記載のプリンタエミュレート方法は、請求項12記載のプリンタエミュレート方法において、前記エミュレートしたエンジン部の状態を表示する表示手段を備えることを特徴とする。
【0029】
請求項14記載のプリンタエミュレート方法は、請求項12又は13記載のプリンタエミュレート方法において、前記タイマは、前記所定の時間を設定することを特徴とする。
【0030】
請求項15記載のプリンタエミュレート方法は、請求項12乃至14のいずれか1項に記載のプリンタエミュレート方法において、前記エミュレート工程は、前記エミュレートしたエンジン部の状態を保持することを特徴とする。
【0031】
請求項16記載のプリンタエミュレート方法は、請求項12乃至15のいずれか1項に記載のプリンタエミュレート方法において、前記エミュレート工程は、前記エンジンの状態が変化した時刻を保持することを特徴とする。
【0032】
請求項17記載のプリンタエミュレート方法は、請求項12乃至16のいずれか1項に記載のプリンタエミュレート方法において、前記取得工程は、前記コマンド信号を取得した時刻を保持することを特徴とする。
【0033】
請求項18記載のプリンタエミュレート方法は、請求項12乃至17のいずれか1項に記載のプリンタエミュレート方法において、前記送信工程は、前記送信したステータス信号を保持することを特徴とする。
【0034】
請求項19記載のプリンタエミュレート方法は、請求項12乃至18のいずれか1項に記載のプリンタエミュレート方法において、前記送信工程は、ステータス信号を送信した時刻を保持することを特徴とする。
【0035】
請求項20記載のプリンタエミュレート方法は、請求項12乃至19のいずれか1項に記載のプリンタエミュレート方法において、前記送信工程は、前記受信したコマンド信号と前記送信したステータス信号の組み合わせを保持することを特徴とする。
【0036】
請求項21記載のプリンタエミュレート方法は、請求項12乃至20のいずれか1項に記載のプリンタエミュレート方法において、擬似的なエラー状態を指定する指定工程を備え、前記エミュレート工程は、前記エンジンの状態を前記指定手段により指定されたエラー状態とすることを特徴とする。
【0037】
請求項22記載のプリンタエミュレート方法は、請求項12乃至21のいずれか1項に記載のプリンタエミュレート方法において、前記インターフェース手段を介して前記コントローラ部から出力される出力画像データを取得する他の取得工程と、前記取得した画像データを保持する保持工程と、前記保持した画像データを可視化する可視化工程とを備えることを特徴とする。
【0038】
上記目的を達成するために、請求項23記載のプログラムは、出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート方法をコンピュータに実行させるプログラムにおいて、前記プリンタエミュレート方法は、前記コントローラ部とデータ通信を行うインターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得ステップと、所定の時間の経過を通知するタイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレートステップと、前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信ステップとを備えることを特徴とする。
【0039】
【発明の実施の形態】
以下、本発明の実施の形態に係るプリンタエミュレート装置を図面を参照しながら説明する。
【0040】
図1は、本発明の実施の形態に係るプリンタエミュレート装置を有する画像処理装置の概略構成を示すブロック図である。
【0041】
図1において、本発明の実施の形態に係るプリンタエミュレート装置は、出力画像データを生成するビデオデータ制御部200から成る。ビデオデータ制御部200は、ビデオインターフェース部400を介してコントローラ部100に接続されると共に、直接パーソナルコンピュータの拡張バス300に接続され、コントローラ部100、ビデオインターフェース部400、及びビデオデータ制御部200及び拡張スロット300は画像処理装置と構成する。
【0042】
ビデオデータ制御部200は、互いに直列に接続された、画像入力制御部203、デュアルポートメモリ制御部204、及び画像出力制御部205と、デュアルポートメモリ制御部204に接続された、コントローラインタフェース制御部201、拡張バスインターフェース制御部202、及びフレームメモリ206とを備える。
【0043】
プリンタエミュレート装置としてのビデオデータ制御部200は、コントローラ部100から出力される画像データをフレームメモリ206に蓄積し、さらに蓄積した画像データを拡張バス300を介してパーソナルコンピュータの処理部に転送する機能を有する。
【0044】
コントローラインターフェース制御部201がコントローラ100からの画像転送要求信号に対して画像転送許可信号を発することにより、コントローラ100は画像転送許可信号に同期して画像データの転送を開始する。
【0045】
画像入力制御部203は、コントローラ100が出力する画像データをデュアルポートメモリ制御部204に転送し、さらに、デュアルポートメモリ制御部204は画像入力制御部203から転送された画像データをフレームメモリ206に書き込む。
【0046】
拡張バスインターフェース制御部202は、拡張バス300を介して画像データの転送状態を通知すると共に、転送要求に従ってフレームメモリ206に保持された画像を読出し、画像出力制御部205に転送する。さらに、画像出力制御部205は拡張バス300に画像データを出力する。
【0047】
図2は、図1の画像処理装置の接続構成の説明図である。
【0048】
画像処理装置23は、ケーブルを介してプリンタコントローラ21の出力に接続される。プリンタコントローラ21は、図示しないパラレルインターフェースやUSBインターフェース又はネットワークを介してパーソナルコンピュータ等に接続される。
【0049】
画像処理装置23は、インターフェース部(PCIボード)22を有する汎用コンピュータ24と、CRT25とを備える。
【0050】
プリンタコントローラ21の出力は、本来プリンタのエンジンコントローラに接続されるものである。エンジンコントローラは、例えば電子写真方式のプリンタの場合、レーザードライバを駆動してコントローラにより生成されたラスター画像データを感光体ドラム表面に静電潜像し、トナーを磁気的に付着させ記録用紙に現像する。
【0051】
一方、プリンタエミュレート装置を利用してプリンタコントローラ21の検証を行う場合、ビデオインターフェースをプリンタエミュレート装置23のインターフェース部22に接続する。インターフェース部22はプリンタコントローラ21の出力コマンド等に従って同期信号(水平同期信号及び垂直同期信号)を生成し、プリンタコントローラ21の出力するラスター画像データをインターフェース部22上のメモリに保持する。保持された画像データは汎用コンピュータ24上で動作するソフトウェアにより再構成され、CRT25に表示される。プリンタエミュレート装置23はこのようにプリンタエンジンの代わりに接続され、コントローラのハードウェア/ソフトウェアの開発などに利用される。
【0052】
図3は、図2におけるインターフェース部22の説明図である。
【0053】
インターフェース部22は、ビデオインターフェース部31と、ビデオデータ制御部32とから成る。ビデオデータ制御部32はビデオインターフェースロジック、メモリコントローラ、メモリ、PCIインターフェース等からなり、ビデオインターフェース部31を介してデータの蓄積制御や同期信号(水平同期信号及び垂直同期信号)の生成、プリンタコマンドの処理等を行う。ビデオデータ制御部32は、PCIインターフェースの拡張ボードとして汎用コンピュータ24の拡張スロットに装着される。ビデオインターフェース部31はビデオデータ制御部32に板間結合されるユニットであり、取替え可能な構造をなす。インターフェース部22が汎用の拡張スロットに装着可能な構成をなすため必要な処理速度に応じてシステム制御部となるコンピュータを取り替えることが可能になる。また、ビデオインターフェース部31を取り替え可能な構成にすることにより、他の異なるインターフェースの画像出力装置の開発に本プリンタエミュレート装置を容易に適応させることができる。これにより、ハードウェアがビデオインターフェース部31の変更だけで対応可能である。
【0054】
図4は、図3におけるビデオインターフェース部31の内部構成を示すブロック図である。
【0055】
ビデオインターフェース部31は、コネクタ40と、コネクタ40に接続されたラインドライバ41と、ラインドライバ41に直接、又はFIFO42を介して接続された板間結合用のコネクタ43とを備える。ラインドライバ41は、高速のビデオ信号をケーブルを介して接続するための平衡型の信号インターフェース用ドライバ/レシーバデバイスからなる。FIFO42は、ビデオ同期クロックに従って、画像データが保持される。
【0056】
コネクタ40は、専用のビデオケーブルを介してコントローラ100に接続され、コントローラ100には、各種同期信号、同期信号に同期したCMYK画像データ、プリンタエンジンとのインターフェースを司るシリアルコマンド信号、ステータス信号、各種コントロール信号等が入力される。コネクタ43は、ビデオデータ制御部32との物理的インターフェースを司る。ビデオデータ制御部32はコントローラ100から送出されるプリントコマンド等に従って同期信号(水平同期信号及び垂直同期信号)を生成し(生成手段)、プリンタコントローラ100から同期信号に従って送られる画像データをFIFO42から抽出する。
【0057】
図5は、図1のプリンタエミュレート装置の動作を示すタイミングチャートである。
【0058】
図1のプリンタエミュレート装置は、4色の画像データを順次並行して画像転送処理する。この処理をスムーズに実行するため、プリンタエミュレート装置のフレームメモリは2ページ分の容量を有する。2ページ分のデータを連続して出力することにより、各色の画像データ転送タイミングのズレを利用して1ページ目のデータ転送終了前に、2ページ目の画像データ転送を開始することで、ページ間隔の短縮を行ない、全体の処理時間を大幅に短縮することができる。
【0059】
図5において、画像転送要求信号aがコントローラ100より発せられると、これに対してコントローラインターフェース制御部201は画像転送許可信号bを返送する。画像転送許可信号bを返送されたコントローラ100は所定のタイミングに従って、c〜fの画像データ転送を行う。
【0060】
画像入力制御部203は転送されたc〜fの画像データをデュアルポートメモリ制御部204を介してフレームメモリ206に格納し、1ページ目の画像データ入力4の転送が終了した時点で拡張バスインターフェース制御部202は拡張バス割込み信号gを発生させて1ページ目のデータ格納が終了したことをシステム側に通知する。
【0061】
一方、システム側においては、拡張バス300を介した割込み信号に基づき、ビデオデータ制御部200に格納された画像データの取得を行う。
【0062】
ビデオデータ制御部からシステム側へのデータ転送については拡張バスインターフェースに基づき実行可能であるどのような方法を用いてもよい。例えば、フレームメモリ206を拡張バス上のメモリ空間にマッピングして通常のメモリリードアクセスによって読出す方法や、又はプリンタエミュレート装置側に拡張バス上で動作可能なマスタ転送機能を持たせ、予め指定されたメモリに転送させる方法を用いることが可能である。
【0063】
以上の一連の動作により1ページ目の画像データはコントローラ100よりビデオデータ制御部200を介して拡張バス300に転送され、2ページ目のデータ転送手順も1ページ目の転送と全く同じように行なわれる。
【0064】
図1の画像処理装置は、図5に示すように、コントローラ100からビデオデータ制御部200に対する2ページ目の画像データの転送と、プリンタエミュレート装置200から拡張バス300に対する1ページ目の画像データの転送とを並行して実行する。
【0065】
ビデオデータ制御部200は1ページ目のデータ出力と2ページ目のデータ入力を並行して実行させるために2ページ分のメモリ容量を有し、読出しと書き込みを並行して制御する手段を有するため、ページ間隔の短縮を可能とし、処理のスループットを向上させることができる。
【0066】
次に、本発明の実施の形態に係るプリンタエミュレート装置によって実行されるソフトウェア(ホストとなる汎用コンピュータ24)を説明する。
【0067】
図6は、図2における汎用コンピュータ24上のソフトウェアの構成を示す図である。
【0068】
汎用コンピュータ24は、オペレーティングシステム(基本OS)61と、ドライバ62と、マネージャ63と、アプリケーション64とを備える。
【0069】
本実施の形態では、基本OSとして、米マイクロソフト社のWindows(登録商標)2000を利用している。オペレーティングシステム61はパーソナルコンピュータのメモリ、割込み、ハードディスクなどのリソースを管理する。デバイス62は、本実施の形態に必要なハードウェアであるインターフェース部22に対する基本的操作を提供するソフトウェアであるデバイスドライバを有する。基本的な操作とは、インターフェース部22上のレジスタへのアクセス、バッファメモリへのアクセス、インターフェース部22からの割込みの処理等である。マネージャ63は、インターフェース部22へのより高度な操作を提供するミドルウェアである。高度な操作とは、インターフェース部22上のバッファに格納されたの画像データをDIBフォーマット(デバイス非依存ビットマップ形式)で取得する機能などであり、取得時には縮小・拡大・ディザ補正などを同時に処理することができる。マネージャ63は内部でデバイスドライバを利用している。アプリケーション64は当該装置のオペレータに対するユーザインターフェースとなるソフトウェアである。オペレータはアプリケーション64を通じて、当該装置に起動、停止、解析などの指示を出すことができる。アプリケーション64は内部でミドルウェアを利用している。
【0070】
図7は、図1のプリンタエミュレート装置によって実行されるリアルタイム解析処理のフローチャートである。
【0071】
本フローチャートで示すソフトウェアは全て汎用コンピュータ24上で動作するソフトウェアである。当該ソフトウェアはユーザーに対するGUIを提供すると共にインターフェース部22を制御する。
【0072】
図7において、当該ソフトウェアが起動されると、初期化処理が行われる(ステップS701)。この初期化処理は当該ソフトウェアに関する変数等の初期化と共に、ビデオデータ制御部200に関するレジスタの設定等ハードウェアの初期化処理を実行する。
【0073】
続くステップS702では、CRT25により後述する図8の初期画面を表示する。
【0074】
図8は、図7のステップS702で表示されるCRT25の初期画面の説明図である。
【0075】
図8において、801は画像表示領域であり、この領域801は、プリンタコントローラ21の生成する画像データを表示する。ユーザーは、まず、表示する画像データのサイズと色空間を指定する。802は紙サイズを指定するためのコンボボックス領域であり、この領域802で予め設定された紙サイズに対応する主走査画素数/主走査開始位置/副走査ライン数/副走査開始位置が設定される。803は詳細設定のためのユーザーインターフェースを表示するためのボタンであり、このボタン803の押下によって図9に示す詳細設定ウィンドウが表示される。ここでは予め設定したパラメータを変更することが可能である。
【0076】
図7に戻り、画像サイズの変更が指示されたときは(ステップS703でYES)、指定された画像データを表示するようにパラメータを設定した(ステップS704)後、ステップS705に進む。ビデオデータ制御部200は、設定されたパラメータに従って有効な領域の画像データのみを画像メモリに保持する。
【0077】
また、表示色空間の変更が指示されたときは(ステップS705でYES)、指定された画像データを表示するようにパラメータを設定した(ステップS106)後、ステップS707に進む。表示色空間はカラー、Cプレーン、Mプレーン、Yプレーン、Kプレーンの5種類を選択することが可能である(ラジオボタン804)。プリンタコントローラ21が出力する画像データは通常CMYK色空間であるため、ここでカラーを選択した場合、画像メモリに蓄積したCMYK画像データを取り出し、RGBデータに色変換後表示領域に表示する。C/M/Y/Kプレーンを表示する場合、画像メモリから必要な色プレーンデータのみを取り出し表示する。以上画像サイズ及び表示色空間の設定が終了すると実際の画像取り込みを開始することが可能である。なお、これらのパラメータはデフォルト値が設定されているため、必要が無い場合再設定する必要はない。
【0078】
ステップS707では、開始ボタン805の押下を検出したか否かを判別し、検出しないときは、ステップS703以降の処理を繰り返すと共に、検出したときは、アプリケーションソフトによりマネージャレイヤのソフトウェアを介して制御部に画像データ取得動作の開始を設定して、ビデオデータ制御部200の処理開始レジスタが設定されると同時に本ソフトウェアに対する後述する図10,図14及び図15の割込み処理を有効化する(ステップS708)。
【0079】
この割込み処理は、
1.ビデオデータ制御部200が画像データの1ページ蓄積終了、
2.コントローラ部100が出力するコマンド信号の受信、
3.画像要求信号や画像転送許可信号等のコントロール信号の受信
をソフトウェアに通知するためのものであり、以下、ページエンド割込み処理、コマンド受信割込み処理、コントロール信号受信割込み処理と呼び、夫々、図10の処理、図14の処理、及び図15の処理に対応する。また、割込み処理には上記インターフェース部22からのハードウェア割込みの他に、一定時間の経過後に割込み処理を実行するソフトウェア割込み処理もあり、それをタイマ割込みと呼び図28の処理に対応する。割込みが有効化されると、本ソフトウェアは停止ボタン806が押下されるまで(ステップS709でYES)割込み処理を待ち続け、その後、レジスタを設定して(ステップS710)、本処理を終了する。
【0080】
図10は、図7のステップS708におけるページエンド割込み処理のフローチャートである。
【0081】
図10において、まず、表示色空間としてカラー表示が指定されたか否かを判別し(ステップS1002)、カラー表示が指定されていないときは、画像メモリに蓄積された画像データを指定プレーンを縮小変換しながら汎用コンピュータ25の作業メモリ上に転送する(ステップS1003)。多くの場合、プリンタコントローラの出力する画像データのサイズに比較して画像表示領域のサイズが小さいため縮小変換を行いながら画像データを取り出す。具体的には、画像メモリに蓄積された主走査画素数4864画素、副走査ライン数6849画素等の高精細画像データを1/8倍に縮小し、608画素×856ラインの画像データをパーソナルコンピュータに転送する。更に、この際、サブサンプリングに伴う折り返し雑音などの影響を抑えるため所定の空間フィルタで帯域制限を行う。ここでの縮小変換により画像メモリから画像表示装置へのデータ転送量を削減し、高速な動作を実現することができる。表示領域をより小さくすることでより高速な動作を実現することもできる。取り出す画像データは、表示画像色空間がC/M/Y/Kプレーンに設定されている場合、指定プレーンのみを取り出す。指定プレーンのみを表示する場合、カラー表示する場合に比べてデータ転送量及び処理量が少ないため、汎用コンピュータ25に要求される処理能力を低くすることが可能である。更に、各プレーンのデータをコントローラが生成したデータとしてプレーン毎にそのまま観察することができる。
【0082】
続くステップS1005では、見易さを向上させるためネガポジ反転し、画像表示領域に表示し(ステップS1007)、表示済みの印刷枚数、即ち印刷完了ページ数87を表示する(ステップS1008)。ステップS1007のネガポジ反転は必要が無い場合省略してもよい。
【0083】
一方、ステップS1002の判別の結果、カラー表示が指定されていないときは、CMYK各プレーンの画像データをそれぞれ所定の縮小倍率で取り出し(ステップS1004)、取り出された画像データに対して色変換処理を行った(ステップS1006)後、ステップS1007及びS1008を実行する。
【0084】
ステップS1006の色変換処理は一般的に行われている変換式によりCMYK画像データを表示用のRGB画像データに変換する。下式は色変換の変換式の例を示す。
【0085】
R = 1 - ( C + K )
G = 1 - ( M + K )
B = 1 - ( Y + K )
上記変換式により得られたRGB画像データはステップS1007で画像表示領域にカラー表示される。カラー表示の場合、色変換処理やプリンタエンジンとCRT等の表示デバイスとの色再現性の違いなどから、コントローラの生成するCMYK画像が純粋に再現される訳ではないが、カラー画像として再現されるため明らかなラスタライズエラー等の発見に有効である。
【0086】
図10のステップS1002〜S1008の処理により、ページエンド割込みが発生するに従って、プリンタエンジンを接続した場合の紙への出力と同様に、プリンタコントローラのラスタライズする画像データを表示部にリアルタイムに表示することができる。
【0087】
続くステップS1009〜S1011では、アプリケーションソフトウェア604がエミュレートするエンジンの状態を更新する後述する図11のエンジン状態更新処理を行い(ステップS1009)、後述する図12のタイマ処理を行い(ステップS1010)、後述する図13のコントロール信号処理を行って(ステップS1011)、本処理を終了する。
【0088】
図11は、図10のステップS1009におけるエンジン状態更新処理のフローチャートである。
【0089】
図11において、ページエンド割込み処理によってエンジン状態が遷移したときは(ステップS1101でYES)(エミュレート手段)、エンジン状態を時刻と共にパーソナルコンピュータに記録し(ステップS1102)、新たなエンジンの状態をCRT25の領域808に表示する(ステップS1103)。ステップS1103において、後述する図16のエンジンステータスチャートウィンドウを表示している場合は当該ウィンドウの表示を更新する。
【0090】
図12は、図10のステップS1010におけるタイマ処理のフローチャートである。
【0091】
図12において、タイマ割込みの設定が必要なとき、例えば、「後処理中」のように時間によりエンジンの状態が遷移する可能性があるときは(ステップS1201でYES)、エンジンの状態の遷移に必要な時間に対応したタイマ割込みをセットする(ステップS1202)。
【0092】
図13は、図10のステップS1011におけるコントロール信号処理のフローチャートである。
【0093】
図13において、受信したコマンド又はエンジンの状態遷移に伴ってコントロール信号を出力する必要があるときは(ステップS1301でYES)、当該コントロール信号をマネージャ603を介して出力する(ステップS1302)(送信手段)。
【0094】
図14は、図7のステップS708におけるコマンド受信割込み処理のフローチャートである。
【0095】
図14において、パーソナルコンピュータは受信したコマンド信号をビデオデータ制御部200から読込み、受信時刻と共に記録し(ステップS1401)(取得手段)、受信したコマンド信号を解析して(ステップS1402)、アプリケーション64が保持しているエンジンの状態を解析し(ステップS1403)、新たなエンジンの状態と返信するコマンド信号を決定する。
【0096】
エンジンの状態とは、「アイドル」、「初期化」、「給紙中」等のエンジンの状態を表し、本実施の形態ではアプリケーション64の内部で、エンジンの状態をエミュレートしている。なお、開始ボタン805の押下直後のエンジンの状態は「アイドル」状態である。例えば、エンジンの状態が「アイドル状態」において「印刷準備開始」を表すコマンド信号を受信しした場合、返信するステータス信号を「正常実行」、次のエンジンの状態を「初期化」と決定する。
【0097】
続くステップS1404では、マネージャ63を介してビデオデータ制御部200からステータス信号を返信する(送信手段)。返信したステータス信号はステップS1401で受信したコマンド信号と対応がわかるように記録する(ステップS1405)。受信したコマンド信号とステータス信号は、「印刷準備開始→正常実行」の様に操作者に分かりやすいように対応をつけてCRT25の領域807で表示する(ステップS1406)。ステップS1407〜S1409では、図10のステップS1009〜S1001と同様の処理を実行する。動作例としては、エンジン状態が「アイドル」から「初期化」に遷移した場合は時間T1のタイマ割込みをセットする等のように動作する。
【0098】
図15は、図7のステップS708におけるコントロール信号受信割込み処理のフローチャートである。
【0099】
図15において、パーソナルコンピュータは受信したコントロール信号をビデオデータ制御部200から読込み、受信時刻と共に記録し(ステップS1501)(取得手段)、アプリケーション64が保持しているエンジンの状態と受信したコントロール信号とから新たなエンジンの状態を解析する(ステップS1502)。
【0100】
続くステップS1503〜S1506では、図10のステップS1009〜S1001と同様の処理を実行する。動作例としては、エンジンの状態が「給紙中」の場合にコントロール信号「画像転送要求信号」を受信した場合は、エンジンの状態を「印刷中」に遷移し「画像転送許可信号」を出力する等のように動作する。
【0101】
図28は、図7のステップS708におけるタイマ割り込み処理のフローチャートである。
【0102】
図28において、アプリケーション68が保持しているエンジン状態と割り込みを発生したタイマから新たなエンジンの状態を解析する(ステップS2801)。
【0103】
続くステップS2802〜S2804では、図10のステップS1009〜S1001と同様の処理を実行する。動作例としては、エンジン状態が「排紙中」の場合に時間T4(図16の1603)の経過を通知するタイマ割り込みが発生した場合は、エンジンの状態を「後処理中」に変更するなどのように動作する。
【0104】
図16は、図11のステップS1103において表示されるエンジンステートチャートウィンドウの説明図である。
【0105】
図16において、エンジン状態は1601のようにに楕円で囲まれて表示される。本実施の形態のエンジン部203は6個の内部状態をもつことがわかる。矢印1602はエンジン状態の遷移方向を示しており、矢印に沿わない方向の状態遷移や、矢印が無い状態間の遷移の発生を検出することで、エンジン部の異常を発見することができる。1603が示す不等式は、エンジン状態が遷移するのに必要な時間を示している。この場合は、エンジン状態が「排紙中」の場合に、時間「T3」が経過するとエンジン状態は「後処理中」に遷移することを示している。1604が示す文字列は、エンジン状態が遷移するのに必要なコマンドを示している。この場合は、エンジン状態が「アイドル」の場合に、コマンド「印刷準備実行」を受信するとエンジン状態は「初期化中」に遷移することを示している。なお、アプリケーションソフトウェア604が保持しているエンジン状態は1605の様に目立つように着色されて表示され、当該状態に遷移する前のエンジン状態も1601の様に着色されて表示される。このため、操作者が現在のエンジン状態等のエンジン状態を把握するのは容易になっている。
【0106】
さらに、図16のエンジンステートチャートウィンドウにおいて、1603のような不等式をマウスによりクリックすると図17のエンジンタイミング設定ウィンドウが表示される。図17のエンジンタイミング設定ウィンドウにおいて、各タイミングの時間を1000分の1秒単位で設定することができる(1701)。例えば、本実施の形態のプリンタエミュレート装置において、高速のプリンタエンジンをエミュレートする場合は、印刷時間をはじめとした各数値を小さくする。ここで指定された数値はタイマ処理サブルーチンのS1202でセットするするタイマの時間に影響する。このように、エンジン部の各タイミングを容易に変更することが可能のため、エンジン部の仕様変更に対して速やかに対応することができる。また、本実施の形態のプリンタエミュレータを用いて検証するプリンタコントローラにおいて、処理タイミングではなく、主に画像データを確認したい場合には、初期化時間、給紙時間、排紙時間、後処理時間を0とすることで画像データに関連しない部分の時間を削減することができ、画像データの確認・解析の時間を短縮することができる。なお、図17のエンジンタイミング設定ウィンドウ17は図8のウィンドウの環境設定メニュー810より表示することもできる。
【0107】
さて、停止ボタン806が押下されると、システムは以後オフライン解析モードと呼ぶモードで動作する。
【0108】
オフライン解析モードではリアルタイム解析モード動作時に画像メモリに蓄積した最終ページの画像データに対する解析機能を提供する。図18はオフライン解析モード時のユーザインターフェースを示す。画像表示領域1801には最終ページの画像が表示されている。オフライン解析モードの場合、拡大/縮小機能1802、データ保存機能1803、ログ表示機能1804等のオペレーションを促すボタンが有効化される。
【0109】
図7において、ユーザーが停止ボタンを押下すると(ステップS709でYES)、アプリケーションソフトウェアは、マネージャソフトウェア及びドライバソフトウェアを介して割込み処理の発生を禁止すると共に、ビデオデータ制御部32に対してプリンタコマンドに対するプリンタエミュレーション処理の停止を命じる。このとき、システムは、図18のオフライン解析モードで動作する。オフライン解析モードではリアルタイム解析モード動作時に画像メモリに蓄積した最終ページの画像データに対する解析機能を提供する。
【0110】
図18は、オフライン解析モード時のCRT25の表示画面の説明図である。
【0111】
画像表示領域1801には最終ページの画像が表示されている。オフライン解析モードの場合、拡大/縮小機能1802、データ保存機能1803、ログ表示機能1804等のオペレーションを促すボタンが有効化される。
【0112】
図19は、図1のプリンタエミュレート装置によって実行されるオフライン解析処理のフローチャートである。
【0113】
図19において、表示色空間の変更が指示されたときは(ステップS1901でYES)、後述する図20の画像再取得表示処理を実行して(ステップS1202)、ステップS1903に進む。
【0114】
図20は、図19のステップS1902における画像再取得表示処理のフローチャートである。
【0115】
この処理は、所定の倍率に縮小した所望のプレーンの画像データを画像メモリから転送し表示領域に表示するものである。
【0116】
図20において、まず、表示色空間としてカラー表示が指定されたか否かを判別し(ステップS2002)、カラー表示が指定されておらず、C/M/Y/K独立プレーンが指定されているときは、指定されたプレーンの画像データのみを所望の縮小倍率で縮小変換しながら汎用コンピュータ25の記憶装置に転送し(ステップS2003)、転送された画像データをネガポジ変換(ステップS2004)後モノクログレースケール画像データとして画像表示領域に表示する(ステップS2007)。
【0117】
一方、ステップS2002の判別の結果、カラー表示が指定されたときは、CMYK各プレーンの画像データを所定の倍率に縮小しながらパーソナルコンピュータの記憶装置に転送する(ステップS2005)と共に、転送された画像データに対して色変換処理を行い(ステップS2006)、得られたRGB画像データを画像表示領域に表示する(ステップS2007)。
【0118】
図19に戻り、拡大ボタンが押下されたときは(ステップS1903でYES)、図20の画像再取得表示処理を実行して(ステップS1902)、ステップS19」05に進む。拡大ボタン1回の押下で+10パーセント拡大した画像データを画像メモリから再転送する。この場合もステップS1902で画像メモリから必要な画像データを所定の縮小倍率で転送する。
【0119】
図21は、図19のステップS1903で拡大ボタンを押下したときのCRT25の表示画面の説明図である。
【0120】
画像表示領域2101により高解像度の画像データが転送され表示されている。この場合、画像表示領域に収まらないためスクロールバー2102が自動的に表示される。スクロールバーを操作することで画像全体を確認することが可能である。
【0121】
図19に戻り、縮小ボタンが押下されたときは(ステップS1905でYES)、図20の画像再取得表示処理を実行して(ステップS1902)、ステップS1907に進む。縮小ボタン1回の押下で−10%縮小された画像データを画像メモリから再転送する。
【0122】
続いて、全体表示ボタンが押下されたときは(ステップS1907でYES)、図20の画像再取得表示処理を実行して(ステップS1902)、ステップS1909に進む。全体表示ボタンの押下により、画像表示領域に画像全体を表示可能な縮小倍率で画像データを画像メモリから再転送する。更に、マウスの領域指定による拡大表示も図21に示すように可能である。
【0123】
図21は、マウスによる領域指定の様子を示す図である。
【0124】
2201は指定された領域であり、当該領域が画像表示領域全体に表示されるような倍率で画像メモリからデータを再転送し表示する。
【0125】
なお、図19のフローチャートでは、マウスの操作に関するステップは図示していない。
【0126】
次に、ユーザーが保存ボタンを押下すると(ステップS1909でYES)、表示色空間がカラーに設定されているか否かを判別する(ステップS1910)。
【0127】
保存ボタンを押下したときは、例えば、カラー表示に設定された場合、CRT25の表示画面は図23に示すようになる(TIFF(CMYK)フォーマットでの保存)。
【0128】
ステップS1910の判別の結果、カラーに設定されているときは、画像メモリに蓄積されているCMYK画像データの全色を汎用コンピュータ24の主記憶部に転送し(ステップS1913)、TIFF(CMYK)フォーマットでファイル化し汎用コンピュータ24のハードディスク等に記録する(ステップS1914)。
【0129】
一方、ステップS1910の判別の結果、カラーではなく、C/M/Y/Kプレーン指定が設定されている場合、指定されたプレーンの画像データのみを画像メモリから全て汎用コンピュータ24の主記憶部に転送し(ステップS1911)、モノクロ(BMP)グレースケールのDIBフォーマット画像ファイルとして記録する(ステップS1912)。この処理により、プリンタコントローラによりラスタライズされた画像データを表示領域に表示している画像データの表示色空間に応じて、一般的なフォーマットでファイル化することができる。これにより、他の解析ツール等を利用して画像データを解析することもできる。
【0130】
続いて、図18の画面でコマンド表示ボタン1804が押下されたときは(ステップS1915でYES)、ステップS1401、S1404及び、S1501で蓄積したコマンド信号、ステータス信号、コントロール信号を読み出して(ステップS1916)、読み出した信号を汎用コンピュータのCRT25に転送して表示する(ステップS1917)。このときのCRT25の表示画面は、図24に示すようになり、コマンド信号を受信した時刻(2401)、16進表示のコマンド(2402)、デコードしたコマンド(2403)、16進表示のステータス(2404)、デコードしたステータス(2405)を表示している。さらに、コントロール信号より得られた印刷開始、ページエンド等の情報も時刻とともに表示している(2406)。コントローラ部とエンジン部の間のコマンド、ステータス、及び、コントロール信号を確認することで、コントローラ部とエンジン部が正常な動作を行っているか否か等の検証を行うことができる。
【0131】
次に、図16のエンジンステートチャートウィンドウのログ表示ボタン1606が押されたときは(ステップS1918でYES)、ステップS1102で蓄積したエンジン状態の記録を読み出し(ステップS1919)、読み出した信号を汎用コンピュータ24のCRT25に転送して表示する(ステップS1920)。このときのCRT25の表示画面は、図25に示すようになり、ステータスが遷移した時刻(2501)、遷移前のエンジンステータス(2502)、遷移後のエンジンステータス(2503)を表示している。エンジン部の状態変化タイミングを確認することで、コントローラ部とエンジン部が正常な動作を行っているか否か等のより詳細な検証を行うことができる。
【0132】
上記オフライン解析モードではこれらの解析オペレーションを画像メモリに蓄積した画像データに対して行うことができる。これにより、画像データに対する画素レベル単位の検証等を容易なオペレーションでリアルタイム解析モードの停止後、直ちに行うことができる。即ち、リアルタイム解析モードで連続動作の状況を観察し、異常が発生したと判断した場合、停止ボタンの押下だけで、対象となる画像データをオフラインで詳細に解析することができる。
【0133】
次に、開始ボタン1807を押下したときは(ステップS1921でYES)、直ちにリアルタイム解析モードに移行すべく、ステップS108に進む。リアルタイム解析モードに移行した場合、起動時と同様にプリンタコントローラの出力するラスタ画像データを画像メモリに蓄積し、リアルタイムに画像表示部に表示する。以上のオペレーションにより、リアルタイム解析モードとオフライン解析モードを任意のタイミングで移行しながら、簡単なオペレーションでプリンタコントローラの検証作業を繰り返し行うことができる。
【0134】
以上のオペレーションにより、リアルタイム解析モードとオフライン解析モードを任意のタイミングで移行しながら、簡単なオペレーションでプリンタコントローラの検証作業を繰り返し行うことができる。
【0135】
上記実施の形態では、プリンタとしてレーザービームプリンタを対象にした場合について説明したが、本発明はこれに限るわけではなくバブルジェット(登録商標)方式のプリンタ等他の様々なプリンタコントローラ等の開発に利用することが可能である。その場合、ビデオインターフェース部をプリンタ等のビデオインターフェース方式に合わせて変更することで、様々なプリンタコントローラの開発に利用することが可能である。
【0136】
上記実施の形態では、プリンタ状態の表示例としてステートチャートを利用して表示する場合について説明したが、給紙トレイ、感光ドラム、定着器、排紙トレイ等のプリンタの内部構成がわかるように図示し、エンジン状態の変化に合わせて、感光ドラムの感光や紙送りの様子等をアニメーション表示してもよい。
【0137】
上記実施の形態では、プリンタコマンドログの表示例として16進データをそのまま表示する場合について説明したが、コマンド表にしたがってより分かりやすい様にコマンドをデコードして表示してもよい。
【0138】
さらに、紙切れ、ジャム、トナー切れ等のエラー状態を発生させるようなユーザインターフェースを設けてもよい。
【0139】
図26はエラー状態を発生させる場合のユーザインターフェースの例である。この場合、例えばn枚目の印刷時又はランダムのタイミングで指定したエラー状態を発生させる。これにより、プリンタコントローラのコマンド処理機能の検証をさらに詳細に行うことができる。
【0140】
更に、紙切れやジャム等のエラーレスポンスを返送するようなユーザーインターフェースを設けてもよい(図26)。この場合、例えばn枚目の印刷時又はランダムに指定したエラーレスポンス(この場合「紙切れ」「ジャム」「メカ故障」)を発生させる。つまり指定した所定の発生タイミングで指定したエラー要因を発生させるように設定される。これにより、プリンタコントローラのラスタライズ機能の検証だけでなく、プリンタコマンドに対するレスポンス処理機能の検証も可能になる。
【0141】
上記実施の形態では、オペレーションシステムとして米マイクロソフト社のWindows(登録商標)を利用した場合について説明したが、本発明はこれに限るわけではなく他の様々な環境上で構成することも可能である。
【0142】
上記実施の形態では、パーソナルコンピュータと組み合わせてシステムを構成する場合について説明したが、本発明はこれに限るわけでなく、他の様々な機器と組み合わせて実現してもよい。
【0143】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記録媒体を、システム又は装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し、実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0144】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0145】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0146】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0147】
また、このときのプログラムコードは、MPUネイティブなコードであってもよいし、所定のインタプリタ言語で記述されたものでランタイム時にMPUネイティブなコードに変換されるようなものでもよいし、所定様式で記述されたスクリプトデータであってオペレーティングシステム等により解釈実行されるようなものであってもよい。
【0148】
【発明の効果】
以上詳細に説明したように、本発明によれば、出力画像データを生成するコントローラ部であって、生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の生成するコマンド信号とコントロール信号からエンジン部の状態をエミュレートし、適切なステータス信号とコントロール信号を生成することができ、その結果、コントローラ部のタイミング処理及び処理速度の検証をエンジン部が完成していない状況でも行うことができ、その結果、画像出力装置の開発スピードの向上や開発コストの低減を図ることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るプリンタエミュレート装置を有する画像処理装置の概略構成を示すブロック図である。
【図2】図1の画像処理装置の接続構成の説明図である。
【図3】図2におけるインターフェース部22の説明図である。
【図4】図3におけるビデオインターフェース部31の内部構成を示すブロック図である。
【図5】図1のプリンタエミュレート装置の動作を示すタイミングチャートである。
【図6】図2における汎用コンピュータ24上のソフトウェアの構成を示す図である。
【図7】図1のプリンタエミュレート装置によって実行されるリアルタイム解析処理のフローチャートである。
【図8】図7のステップS702で表示されるCRT25の初期画面の説明図である。
【図9】図8におけるボタン803の押下時にCRT25に表示される詳細設定ウィンドウの説明図である。
【図10】図7のステップS708におけるページエンド割込みの処理のフローチャートである。
【図11】図10のステップS1009におけるエンジン状態更新処理のフローチャートである。
【図12】図10のステップS1010におけるタイマ処理のフローチャートである。
【図13】図10のステップS1011におけるコントロール信号処理のフローチャートである。
【図14】図7のステップS708におけるコマンド受信割込み処理のフローチャートである。
【図15】図7のステップS708におけるコントロール信号受信割込み処理のフローチャートである。
【図16】図11のステップS1103において表示されるエンジンステートチャートウィンドウの説明図である。
【図17】図16における不等式1603をマウスによりクリックしたときに表示されるエンジンタイミング設定ウィンドウの説明図である。
【図18】オフライン解析モード時のCRT25の表示画面の説明図である。
【図19】図7の処理の後に実行されるオフライン解析処理のフローチャートである。
【図20】図8のステップS1202における画像再取得表示処理のフローチャートである。
【図21】図19のステップS1203で拡大ボタンを押下したときのCRT25の表示画面の説明図である。
【図22】マウスによる領域指定の様子を示す図である。
【図23】図19のステップS1209で保存ボタンを押下したときのCRT25の表示画面の説明図である。
【図24】図19のステップS1917で表示されるCRT25の表示画面の説明図である。
【図25】図19のステップS1920で表示されるCRT25の表示画面の説明図である。
【図26】エラーレスポンスを設定する場合のCRT25の表示画面の説明図である。
【図27】従来のプリンタの概略構成を示すブロック図である。
【図28】図7のステップS708におけるタイマ割り込み処理のフローチャートである。
【符号の説明】
100 コントローラ
200 ビデオデータ制御部
201 コントローラインターフェース制御部
202 拡張バスインターフェース制御部
203 画像入力制御部
204 デュアルポートメモリ制御部
205 画像出力制御部
206 フレームメモリ
300 拡張バス
400 ビデオインターフェース部
Claims (23)
- 出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート装置において、
前記コントローラ部とデータ通信を行うインターフェース手段と、
前記インターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得手段と、
所定の時間の経過を通知するタイマと、前記タイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレート手段と、
前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信手段と、
前記エミュレートしたエンジン部の状態に従い前記コントローラ部に対して画像同期信号を生成する生成手段とを備えることを特徴とするプリンタエミュレート装置。 - 前記エミュレートしたエンジン部の状態を表示する表示手段を備えることを特徴とする請求項1記載のプリンタエミュレート装置。
- 前記タイマは、前記所定の時間を設定する設定手段を有することを特徴とする請求項1又は2記載のプリンタエミュレート装置。
- 前記エミュレート手段は、前記エミュレートしたエンジン部の状態を保持することを特徴とする請求項1乃至3のいずれか1項に記載のプリンタエミュレート装置。
- 前記エミュレート手段は、前記エンジンの状態が変化した時刻を保持することを特徴とする請求項1乃至4のいずれか1項に記載のプリンタエミュレート装置。
- 前記取得手段は、前記コマンド信号を取得した時刻を保持することを特徴とする請求項1乃至5のいずれか1項に記載のプリンタエミュレート装置。
- 前記送信手段は、前記送信したステータス信号を保持することを特徴とする請求項1乃至6のいずれか1項に記載のプリンタエミュレート装置。
- 前記送信手段は、ステータス信号を送信した時刻を保持することを特徴とする請求項1乃至7のいずれか1項に記載のプリンタエミュレート装置。
- 前記送信手段は、前記受信したコマンド信号と前記送信したステータス信号の組み合わせを保持することを特徴とする請求項1乃至8のいずれか1項に記載のプリンタエミュレート装置。
- 擬似的なエラー状態を指定する指定手段を備え、
前記エミュレート手段は、前記エンジンの状態を前記指定手段により指定されたエラー状態とすることを特徴とする請求項1乃至9のいずれか1項に記載のプリンタエミュレート装置。 - 前記インターフェース手段を介して前記コントローラ部から出力される出力画像データを取得する他の取得手段と、前記取得した画像データを保持する画像メモリと、前記保持した画像データを可視化する可視化手段とを備えることを特徴とする請求項1乃至10のいずれか1項に記載のプリンタエミュレート装置。
- 出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート方法において、
前記コントローラ部とデータ通信を行うインターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得工程と、
所定の時間の経過を通知するタイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレート工程と、
前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信工程と、
前記エミュレートしたエンジン部の状態に従い前記コントローラ部に対して画像同期信号を生成する生成工程とを備えることを特徴とするプリンタエミュレート方法。 - 前記エミュレートしたエンジン部の状態を表示する表示手段を備えることを特徴とする請求項12記載のプリンタエミュレート方法。
- 前記タイマは、前記所定の時間を設定することを特徴とする請求項12又は13記載のプリンタエミュレート方法。
- 前記エミュレート工程は、前記エミュレートしたエンジン部の状態を保持することを特徴とする請求項12乃至14のいずれか1項に記載のプリンタエミュレート方法。
- 前記エミュレート工程は、前記エンジンの状態が変化した時刻を保持することを特徴とする請求項12乃至15のいずれか1項に記載のプリンタエミュレート方法。
- 前記取得工程は、前記コマンド信号を取得した時刻を保持することを特徴とする請求項12乃至16のいずれか1項に記載のプリンタエミュレート方法。
- 前記送信工程は、前記送信したステータス信号を保持することを特徴とする請求項12乃至17のいずれか1項に記載のプリンタエミュレート方法。
- 前記送信工程は、ステータス信号を送信した時刻を保持することを特徴とする請求項12乃至18のいずれか1項に記載のプリンタエミュレート方法。
- 前記送信工程は、前記受信したコマンド信号と前記送信したステータス信号の組み合わせを保持することを特徴とする請求項12乃至19のいずれか1項に記載のプリンタエミュレート方法。
- 擬似的なエラー状態を指定する指定工程を備え、
前記エミュレート工程は、前記エンジンの状態を前記指定手段により指定されたエラー状態とすることを特徴とする請求項12乃至20のいずれか1項に記載のプリンタエミュレート方法。 - 前記インターフェース手段を介して前記コントローラ部から出力される出力画像データを取得する他の取得工程と、前記取得した画像データを保持する保持工程と、前記保持した画像データを可視化する可視化工程とを備えることを特徴とする請求項12乃至21のいずれか1項に記載のプリンタエミュレート方法。
- 出力画像データを生成すると共にコマンド信号を出力するコントローラ部であって、前記生成された出力画像データをメディアに出力するエンジン部と協働して画像出力装置を構成するコントローラ部の動作を検証するプリンタエミュレート方法をコンピュータに実行させるプログラムにおいて、
前記プリンタエミュレート方法は、
前記コントローラ部とデータ通信を行うインターフェース手段を介して前記コントローラ部から出力されるコマンド信号を取得する取得ステップと、
所定の時間の経過を通知するタイマによる時間経過通知及び前記取得したコマンド信号に従い前記エンジン部の状態をエミュレートするエミュレートステップと、
前記エミュレートした前記エンジン部の状態及び前記取得したコマンド信号に従いステータス信号を送信する送信ステップとを備えることを特徴とするプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001220689A JP4677133B2 (ja) | 2001-07-19 | 2001-07-19 | プリンタエミュレート装置及び方法、並びにプログラム |
US10/114,945 US7428066B2 (en) | 2001-04-09 | 2002-04-04 | Printing apparatus and method for verifying a printer controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001220689A JP4677133B2 (ja) | 2001-07-19 | 2001-07-19 | プリンタエミュレート装置及び方法、並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003025699A JP2003025699A (ja) | 2003-01-29 |
JP4677133B2 true JP4677133B2 (ja) | 2011-04-27 |
Family
ID=19054475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001220689A Expired - Fee Related JP4677133B2 (ja) | 2001-04-09 | 2001-07-19 | プリンタエミュレート装置及び方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4677133B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3594462B2 (ja) * | 1997-10-29 | 2004-12-02 | 富士通株式会社 | 計算機システム |
-
2001
- 2001-07-19 JP JP2001220689A patent/JP4677133B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003025699A (ja) | 2003-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100928747B1 (ko) | 인쇄 프리뷰 기능을 갖는 정보 처리 장치 | |
JP2012038162A (ja) | 自動テストツール・プログラム及び自動テスト方法 | |
US7755781B2 (en) | Image forming apparatus, image forming method and recording medium | |
JPH10301736A (ja) | 印刷システム及び印刷システムにおけるエラー情報の管理方法並びに印刷システムにおけるエラー情報の管理制御プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4059284B1 (ja) | 画像形成装置、検査システムおよび検査プログラム | |
US7428066B2 (en) | Printing apparatus and method for verifying a printer controller | |
JP3840114B2 (ja) | コントローラ部動作検証システム、コントローラ装置、コントローラ装置に適用される画像データ出力制御方法、プログラム、及び記憶媒体 | |
JP2012145949A (ja) | 表示装置、表示装置の制御方法及びプログラム | |
JP4677133B2 (ja) | プリンタエミュレート装置及び方法、並びにプログラム | |
US7456984B2 (en) | Billing control in print system | |
JP3814410B2 (ja) | 印刷制御装置および方法 | |
JP3809343B2 (ja) | 画像処理装置及び画像処理装置の制御方法、並びにプログラム | |
JP3962597B2 (ja) | プリンタエミュレート装置、プリンタエミュレート方法、記憶媒体およびプログラム | |
JP3809348B2 (ja) | 画像処理装置及び方法、並びにプログラム | |
US20190387107A1 (en) | Image processing device, self-diagnostic method and non-transitory recording medium | |
JP4366361B2 (ja) | 画像処理装置及び画像処理装置の制御方法、並びにプログラム | |
JP2003186656A (ja) | コントローラ部動作検証装置、コントローラ部動作検証方法、記憶媒体、及びプログラム | |
JP2003157165A (ja) | コントローラ部動作検証装置、コントローラ部動作検証方法、記憶媒体、及びプログラム | |
JP2003122534A (ja) | 画像処理装置、画像出力装置検証方法、記憶媒体、及びプログラム | |
JP2007168302A (ja) | 印刷装置およびその性能検証方法 | |
JP4227337B2 (ja) | 画像処理装置及び方法、並びにプログラム | |
US20140355036A1 (en) | Printing apparatus, terminal apparatus, and non-transitory computer readable recording medium stored with printing program | |
JP2003170644A (ja) | コントローラ部動作検証装置、コントローラ部動作検証方法、記憶媒体、及びプログラム | |
JP2003226065A (ja) | エミュレート装置及びエミュレート装置の制御方法及びエミュレート装置の制御プログラム及び記憶媒体 | |
JP6024530B2 (ja) | 印刷制御装置、印刷装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060415 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101025 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110131 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4677133 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |