JP2002187315A - プリンタ及びプリント方法 - Google Patents

プリンタ及びプリント方法

Info

Publication number
JP2002187315A
JP2002187315A JP2000389369A JP2000389369A JP2002187315A JP 2002187315 A JP2002187315 A JP 2002187315A JP 2000389369 A JP2000389369 A JP 2000389369A JP 2000389369 A JP2000389369 A JP 2000389369A JP 2002187315 A JP2002187315 A JP 2002187315A
Authority
JP
Japan
Prior art keywords
command
image data
data
print
print job
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.)
Pending
Application number
JP2000389369A
Other languages
English (en)
Inventor
Satoru Orii
悟 織井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000389369A priority Critical patent/JP2002187315A/ja
Publication of JP2002187315A publication Critical patent/JP2002187315A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 高速に印刷が出来るプリンタを提供する。 【解決手段】 プリンタ1は、ホスト装置2から、印刷
イメージをCMYKの2値化データの形で送ってくる第
1種の印刷コマンドの他に、印刷イメージをJPEGデ
ータの形で送ってくる第2種の印刷コマンドも受信して
解釈することができる。第2種の印刷コマンドが来ると
きには、それに先行して所定の移行コマンドが来る。コ
マンドコントローラ4は、移行コマンドを検出すること
で、第2種の印刷コマンドが来るか第1種の印刷コマン
ドが来るかを判断する。CMYKの2値化データに移行
コマンドと同じコードが含まれていても、それを移行コ
マンドと誤認して誤ったコマンド処理をすることがない
よう、コマンドコントローラ4は、移行コマンドを検出
したとき、エンジンコントローラ5がCMYKの2値化
データを処理中か否かを調べ、処理中であれば誤認と判
断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホスト装置から印
刷コマンドを受信して印刷を行なうプリンタに関わり、
特に高速印刷のための改良に関する。
【0002】
【従来の技術】プリンタは、一色又は複数色のインクを
用いて、各色インクの微小なドットを用紙面に打つこと
で、人の目には自然な色彩や連続階調をもったイメージ
に見える、ドットマトリックスイメージを印刷する。そ
のため、プリンタは、そのドットマトリックスイメージ
を表したビットマップイメージデータ、すなわち、使用
するインクの色に対応した表色系(以下、インク表色系
という)で表現され、各ピクセル値が、そのピクセル位
置に打つ各色ドットのサイズを表しているビットマップ
イメージデータ(以下、印刷型のビットマップイメージ
データという)を必要とする。インク表色系としては、
カラープリンタの場合、CMYK表色系が一般的である
が、その他にも、例えば5色や6色のインクを使うプリ
ンタでは5色や6色の表色系も使われる。印刷型のビッ
トマップイメージデータのもつ値分解能(各ピクセルの
各色成分値が取り得る値の数)も、プリンタによって異
なり、例えばドットを打つか空白にするかを表した2値
であったり、大ドットか中ドットか小ドットか空白かを
表した4値であったりするが、いずれにせよ、その値分
解能は低い。このように、プリンタが必要とする印刷型
のビットマップデータは、インク表色系の低い値分解能
をもつビットマップデータである。
【0003】これに対し、パーソナルコンピュータなど
のホスト装置側で印刷対象にされる元のイメージデータ
は、多くの場合、例えばRGBフルカラーイメージデー
タのように、インク表色系とは別の表色系で表現されて
おり、且つ、その値分解能は非常に高い(例えばフルカ
ラーであれば、各色256値である)。このようなイン
ク表色系とは別の表色系の高い値分解能をもつ元イメー
ジデータを印刷するためには、それをインク表色系の低
値分解能の印刷型ビットマップデータに変換する処理を
行なわなくてはならない。ここで、表色系を変換する処
理は色変換と呼ばれ、値分解能を低くする変換処理はハ
ーフトーニングと呼ばれている。
【0004】さて、高速に印刷を行なうために、従来の
例えばインクジェットプリンタは、ホスト装置に上記の
色変換やハーフトーニングを任せ、ホスト装置から印刷
型のビットマップデータ(以下、その代表であるCMY
K2値イメージデータを用いて説明する)を受信して印
刷を行なう。それにより、プリンタは色変換やハーフト
ーニングという負担の大きい処理から解放され、高速に
印刷が行なえる。
【0005】
【発明が解決しようとする課題】上記した色変換やハー
フトーニングをホスト装置に任せることで高速に印刷が
できるという利点は、ホスト装置の処理能力が高く、か
つ、ホスト装置とプリンタとが高速なインタフェースで
結ばれている場合には成り立つ。しかし、ホスト装置の
処理能力が低い場合には、ホスト装置側のイメージ変換
に時間がかかり、印刷開始が遅くなってしまう。また、
例えば通信ネットワークのような低速なインタフェース
を介してホスト装置とプリンタとが接続されている場合
には、CMYK2値イメージデータはサイズが大きいた
め、通信ネットワークでの伝送に長い時間がかかり、か
えって印刷が遅くなるという問題がある。特にB0サイ
ズのような超大型のイメージを印刷する場合には、ホス
ト装置での処理やデータ伝送に非常に長い時間がかか
り、実用的でない。
【0006】この長い伝送時間という問題を改善するた
めに、例えばインターネット通信で一般的に行なわれて
いるように、例えばJPEGデータのような小サイズに
圧縮されたイメージデータをホスト装置からプリンタに
送るという方策が考えられる。しかし、そうすると、そ
のJPEGデータをCMYK2値イメージデータに変換
するという負担の大きい作業をプリンタが行なわねばな
らず、それによる速度低下が問題になる。
【0007】また、上記方策をとる場合、CMYK2値
イメージデータを送ってくる印刷ジョブデータ(印刷コ
マンド)と、JPEGデータを送ってくる印刷ジョブデ
ータ(印刷コマンド)とを、プリンタ側で判別すること
も必要になる。その印刷ジョブデータの種類の判別も高
速に且つ正確に行なわなければならない。
【0008】従って、本発明の目的は、高速に印刷が出
来るプリンタを提供することにある。
【0009】本発明の別の目的は、ホスト装置と低速な
インタフェースで結ばれていても、高速に印刷が出来る
プリンタを提供することにある。
【0010】本発明の更に別の目的は、ホスト装置から
送られてくる印刷ジョブデータの種類を高速且つ正確に
判別して、正しくコマンド処理が行なえるプリンタを提
供することにある。
【0011】
【課題を解決するための手段】本発明の第1の観点に従
うプリンタは、ホスト装置から、低値分解能のビットマ
ップイメージデータである印刷型イメージデータを含ん
だ第1種の印刷ジョブデータと、高値分解能のイメージ
データを所定方法で圧縮してなる圧縮型イメージデータ
を含んだ第2種の印刷ジョブデータと、第1種の印刷ジ
ョブデータと第2種の印刷ジョブデータの内の所定の一
方に先行してホスト装置から送られる決まりになってい
る所定コードの移行コマンドとを受信することができる
インタフェースコントローラと、印刷型イメージデータ
を処理してプリントエンジンを駆動するエンジンコント
ローラと、圧縮型イメージデータを解凍し、ハーフトー
ニングを施して印刷型イメージデータに変換して出力す
る専用ハードウェア回路と、インタフェースコントロー
ラが受信したデータストリーム中から移行コマンドを検
出する移行コマンド検出手段と、移行コマンド検出手段
の検出結果に応じて、インタフェースコントローラが第
1種の印刷ジョブデータと第2種の印刷ジョブデータの
いずれを受信するかを判断する判断手段と、判断手段が
第1種の印刷ジョブデータを受信すると判断した場合、
インタフェースコントローラが受信した印刷ジョブデー
タに含まれるイメージデータをエンジンコントローラに
渡し、一方、判断手段が第2種の印刷ジョブデータを受
信すると判断した場合、インタフェースコントローラが
受信した印刷ジョブデータに含まれるイメージデータを
専用ハードウェ回路に渡し、専用ハードウェ回路から出
力されたイメージデータをエンジンコントローラに渡す
イメージ処理コントローラとを備える。
【0012】このプリンタによれば、印刷型のイメージ
データ(実施形態では、例えばCMYK2値イメージデ
ータである)を送って来る第1種の印刷ジョブデータだ
けでなく、圧縮型のイメージデータ(実施形態では、例
えばJPEGデータである)を送ってくる第2種の印刷
ジョブデータも受信することができる。そして、この圧
縮型イメージデータを解凍したりハーフトーニングを施
したりして印刷型イメージデータに変換する処理は、C
PUによるソフト処理ではなく、専用のハードウェア回
路で行なう。その結果、第2種の印刷ジョブデータを用
いれば、ネットワーク環境であっても高速に印刷でき
る。さらに、第1種と第2種の印刷ジョブデータの何れ
を受信するかの判断は、第1種と第2種の印刷ジョブデ
ータのうちの所定の一方に先行して送られてくる決まり
になっている移行コマンドを検出するという簡単な方法
で行なうので、高速に判断できる。
【0013】好適な実施形態では、移行コマンドが検出
されたとき、エンジンコントローラの処理状態を観て、
移行コマンドの検出についての正誤をチェックし、誤っ
た検出は無視するようにしている。これにより、受信し
たイメージデータの中に移行コマンドと同じコードが含
まれていて、これを移行コマンドと誤認して検出するこ
とがあったとしても、その誤検出は無視できるので、正
確なコマンド処理ができる。
【0014】本発明の第2の観点に従うプリント方法
は、ホスト装置から、低値分解能のビットマップイメー
ジデータである印刷型イメージデータを含んだ第1種の
印刷ジョブデータと、高値分解能のイメージデータを所
定方法で圧縮してなる圧縮型イメージデータを含んだ第
2種の印刷ジョブデータとの、いずれかを受信するステ
ップと、第1種の印刷ジョブデータと第2種の印刷ジョ
ブデータの内の所定の一方の受信に先行して、ホスト装
置から所定コードの移行コマンドを受信するステップ
と、ホスト装置から受信したデータストリーム中から移
行コマンドを検出するステップと、移行コマンドの検出
結果に応じて、第1種の印刷ジョブデータと第2種の印
刷ジョブデータのいずれを受信するかを判断するステッ
プと、圧縮型イメージデータを印刷型イメージデータ変
換するための専用ハードウェア回路を用意するステップ
と、判断ステップで第1種の印刷ジョブデータを受信す
ると判断した場合、受信した印刷ジョブデータに含まれ
るイメージデータを前記印刷型イメージデータとみなし
て処理して印刷を行なうステップと、判断ステップで第
2種の印刷ジョブデータを受信すると判断した場合、受
信した印刷ジョブデータに含まれるイメージデータを圧
縮型イメージデータとみなして、専用ハードウェア回路
に入力するステップと、専用ハードウェ回路から出力さ
れたイメージデータを印刷型イメージデータとみなして
処理して印刷を行なうステップとを備える。
【0015】本発明の第3観点に従うプリンタは、ホス
ト装置から、高値分解能のイメージデータを所定方法で
圧縮してなる圧縮型イメージデータを含んだ印刷ジョブ
データを受信するインタフェースコントローラと、イン
タフェースコントローラが受信した印刷ジョブデータに
含まれる前記圧縮型イメージデータを解凍しハーフトー
ニングを施して、低値分解能のビットマップイメージデ
ータである前記印刷型イメージデータに変換する専用ハ
ードウェア回路と、専用ハードウェア回路から受け取っ
た前記印刷型イメージデータを処理してプリントエンジ
ンを駆動するエンジンコントローラとを備える。
【0016】このプリンタによれば、高値分解能のイメ
ージデータを所定方法で圧縮してなる圧縮型イメージデ
ータ(実施形態では、例えばJPEGデータ)をホスト
装置から受信し、専用ハードウェア回路を用いて後続
に、その圧縮型イメージデータを解凍しハーフトーニン
グを施して低値分解能の印刷型データ(実施形態では、
例えばCMYK2値データ)に変換刷るので、高速に印
刷を行なうことができる。
【0017】本発明の第4の観点に従うプリント方法
は、ホスト装置から、高値分解能のイメージデータを所
定方法で圧縮してなる圧縮型イメージデータを含んだ印
刷ジョブデータを受信するステップと、受信した印刷ジ
ョブデータに含まれる圧縮型イメージデータを、専用ハ
ードウェア回路により、解凍しハーフトーニングを施し
て低値分解能のビットマップイメージデータである印刷
型イメージデータに変換するステップと、専用ハードウ
ェア回路で変換された印刷型イメージデータを処理して
印刷を行なうステップとを備える。
【0018】
【発明の実施の形態】図1は、本発明の一実施形態にか
かるプリンタの全体の概略的な構成を示す。
【0019】この実施形態のプリンタ1は、例えばイン
クジェットプリンタであって、パーソナルコンピュータ
などのホスト装置2からビットマップイメージデータを
受信して印刷を行なうように構成されている。しかし、
これは説明のための例示であって、プリンタ1が他の種
類のプリンタ、例えばレーザプリンタなど、であっても
良い。
【0020】このプリンタ1は、2種類の異なるプリン
タ制御言語で書かれた印刷コマンドに対応している。
【0021】1つ目の種類のプリンタ制御言語で書かれ
た印刷コマンドは、CMYK表色系の2値化されたイメ
ージデータを、コマンドデータとして、プリンタ1に送
ってくるものである(つまり、従来のインクジェットプ
リンタで広く用いられている印刷コマンドである)。こ
の印刷コマンドを用いる場合、ホスト装置2の側で元イ
メージデータ(例えばRGBフルカラーイメージデー
タ)に対して色変換やハーフトーニングを行ない、プリ
ンタ1の側でそれを行なう必要が無い。
【0022】2つ目の種類のプリンタ制御言語で書かれ
た印刷コマンドは、RGB多値(例えばRGBフルカラ
ー)イメージデータをJPEGの方法で圧縮したJPE
Gデータをコマンドデータとして、プリンタ1に送って
くるものである。JPEGデータはCMYK2値データ
に比較すると、データ量がだいぶ少ない。よって、この
印刷コマンドを用いると、ホスト装置2とプリンタ1と
が、例えば通信ネットワークのような低速なインタフェ
ースで接続されているときでも、短時間で印刷ジョブデ
ータを伝送し得る。この場合、JPEGデータを解凍
し、色変換やハーフトーニングを行なってCMYK2値
データにするというイメージ変換の作業は、プリンタ1
が行なうことになる。後述するように、プリンタ1はそ
のイメージ変換を、図1に示すコマンドコントローラ4
内の専用ハードウェア回路で行なうことにより高速にそ
れを完了させることができるようになっている。
【0023】上述した2つ目の種類の印刷コマンド、つ
まり、JPEGデータの形でイメージを送ってくる印刷
コマンドを、ネットワーク環境に適していると言う意味
で、この明細書では「ネットワーク印刷コマンド」と呼
ぶ。一方、1つ目の種類の印刷コマンド、つまり、CM
YK2値イメージデータの形でイメージを送ってくる従
来型の印刷コマンドを、「ネットワーク印刷コマンド」
と区別するために、「プリンタ印刷コマンド」と呼ぶ。
なお、「ネットワーク印刷コマンド」及び「プリンタ印
刷コマンド」という名称は、単に両者を区別するために
便宜上付けた名称であって、その印刷コマンドの使用環
境を限定する趣旨ではない。従って、「ネットワーク印
刷コマンド」を、ネットワーク環境だけでなく、例えば
パラレルポートやシリアルポートやUSBポートなどを
介してホスト装置2とプリンタ1が接続されている場合
にも使用することができ。特に、ホスト装置2の処理能
力が低い場合、ホスト装置2とプリンタ1がどのような
インタフェースでせつぞくされていても、「ネットワー
ク印刷コマンド」を用いたほうが「プリンタ印刷コマン
ド」を用いるより、高速に印刷できる可能性が高い。
「プリンタ印刷コマンド」と「ネットワーク印刷コマン
ド」のいずれを用いるかについて、ホスト装置2におい
て選択できるように構成することもできる。
【0024】なお、「プリンタ印刷コマンド」と呼ばれ
るコマンド群には、当然、上述したイメージデータ(つ
まり、CMYK2値イメージデータ)をプリンタに送る
コマンドだけでなく、他の各種のプリンタ制御命令をプ
リンタに伝える様々なコマンド(例えば、後述する初期
化コマンドもその一つである)がある。同様に、「ネッ
トワーク印刷コマンド」と呼ばれるコマンド群にも、当
然、上述したイメージデータ(つまり、JPEGデー
タ)をプリンタに送るコマンドだけでなく、他の各種の
プリンタ制御命令をプリンタに伝える様々なコマンド
(例えば、後述する初期化コマンドもその一つである)
がある。しかし、この明細書では、そうした他の制御命
令のコマンドについては(後述する初期化コマンドを除
き)、本発明と直接的な関連がないので格別の説明は省
略する。また、プリンタ印刷コマンドの中で、CMYK
2値イメージデータを送るコマンドを、他の制御命令の
コマンドから区別して指すときには、ラスタライズされ
たイメージデータを送るという意味で、「ラスタコマン
ド」という用語を用いる。また、ネットワーク印刷コマ
ンドの中で、JPEGイメージデータを送るコマンド
を、他の制御命令のコマンドから区別して指すときに
は、「JPEGコマンド」という用語を用いる。
【0025】図1に示すように、このプリンタ1は、イ
ンタフェースコントローラ3、コマンドコントローラ
4、エンジンコントローラ5及びプリントエンジン6を
備えている。以下、これらのコントローラ3〜5につい
て説明する。
【0026】インタフェースコントローラ3は、ホスト
装置2との通信インタフェースをコントロールして、図
1に実線矢印7で示すようにホスト装置2から送られて
くる印刷コマンド等のデータを受信するものである。イ
ンタフェースコントローラ3は、ホスト装置2と通信す
るための複数のポート(例えば、シリアルポート、パラ
レルポート、USBポート、ネットワークポートなど)
を備え、また共通の出力バスを有している。それら複数
のポートのうち、シリアルポート、パラレルポート及び
USBポートは、通常、それぞれ、そのポート専用のケ
ーブルで1台のホスト装置と接続される。また、ネット
ワークポートは、LANなどの通信ネットワークのケー
ブルと接続され、その通信ネットワーク上の任意のホス
ト装置と通信することができる。これら複数のポート中
のどれか1つのポートに最先に印刷ジョブが到来する
と、インタフェースコントローラ3は、そのポートから
その印刷ジョブを構成する印刷コマンド等のデータを取
り込み、これをその印刷ジョブが終了するまで続け、そ
の間、他のポートはビジー状態にして他の印刷ジョブが
到来しないようにする。このようにして、インタフェー
スコントローラ3は、複数のポートの中で最先に印刷ジ
ョブが到来したポートから、その印刷ジョブのデータを
受信し、受信したデータを共通の出力バスに出力する。
【0027】コマンドコントローラ4は、このプリンタ
1にオプション品として提供されるものである。つま
り、コマンドコントローラ4は、ユーザの任意で、プリ
ンタ1に搭載することもできるし、搭載しないこともで
きる。
【0028】コマンドコントローラ4が搭載されない場
合、プリンタ1内では、インタフェースコントローラ3
の出力バスがエンジンコントローラ5の入力バスに直接
的に接続されることになる。この場合、ホスト装置2か
ら送られた印刷コマンド等のデータ7は、インタフェー
スコントローラ3に受信された後、図1に点線矢印11
で示すように、エンジンコントローラ5に直接入力され
る。エンジンコントローラ5は、プリンタ印刷コマンド
を入力して解釈し、そこにコマンドデータとして含まれ
ているCMYK2値イメージデータをプリントエンジン
6に転送して印刷を行なわせるという機能をもってい
る。しかし、エンジンコントローラ5は、ネットワーク
印刷コマンドが入力されても、これを理解することはで
きない。そのため、コマンドコントローラ4を搭載しな
い場合には、このプリンタ1は、プリンタ印刷コマンド
で構成された印刷ジョブを受信したときだけ印刷が行な
えることになる。つまり、この場合、プリンタ1は、C
MYK2値イメージデータをホスト装置2から受信して
印刷を行なうという、従来のインクジェットプリンタと
基本的に同様な機能を奏する。
【0029】一方、コマンドコントローラ4が搭載され
ると、プリンタ1内では、インタフェースコントローラ
3の出力バスにコマンドコントローラ4の入力バスが接
続され、コマンドコントローラ4の出力バスにエンジン
コントローラ5の入力バスが接続されることになる。よ
って、ホスト装置2からインタフェースコントローラ3
に受信された印刷コマンド等のデータは、図1に矢印8
で示すように、インタフェースコントローラ3からコマ
ンドコントローラ4に送られる。コマンドコントローラ
4は、入力された印刷コマンドがプリンタ印刷コマンド
なのかネットワーク印刷コマンドなのか判別する。そし
て、プリンタ印刷コマンドであれば、コマンドコントロ
ーラ4は、そのプリンタ印刷コマンドをそのまま通過さ
せて、図1に矢印9で示すように、エンジンコントロー
ラ5へ渡す。一方、ネットワーク印刷コマンドであれ
ば、コマンドコントローラ4は、そのネットワーク印刷
コマンドをプリンタ印刷コマンドに変換して、その変換
したプリンタ印刷コマンドを矢印9で示すようにエンジ
ンコントローラ5へ渡す。
【0030】従って、コマンドコントローラ4が搭載さ
れると、このプリンタ1は、プリンタ印刷コマンドの印
刷ジョブにも、ネットワーク印刷コマンドの印刷ジョブ
にも対応できるようになる。ネットワーク印刷コマンド
の印刷ジョブデータは、伝送速度の遅い通信ネットワー
クでも短時間に伝送することができる。また、後に詳述
するように、ネットワーク印刷コマンドに含まれている
JPEGイメージデータを解凍し、色変換し、ハーフト
ーニングを施してCMYK2値イメージデータに変換す
る処理は、コマンドコントローラ4内の専用ハードウェ
回路によって行なわれる。その結果、コマンドコントロ
ーラ4を搭載すること、ネットワーク環境下で高速に印
刷を行なえるという新しい性能がこのプリンタ1に追加
される。ただし、コマンドコントローラ4はオプション
品であるから、ネットワーク環境下での高速印刷機能を
必要としないユーザは、コマンドコントローラ4を購入
する必要は無く、無駄な出費を強要されない。
【0031】コマンドコントローラ4は、ネットワーク
印刷コマンドをプリンタ印刷コマンドに変換するため
に、ネットワーク印刷コマンドのコマンドヘッダ(コマ
ンドコードとパラメータ)をプリンタ印刷コマンドのコ
マンドヘッダに変換する機能と、ネットワーク印刷コマ
ンドにコマンドデータとして含まれているJPEGイメ
ージデータを、解凍し、色変換し、ハーフトーニングを
施してCMYK2値イメージデータに変換する機能とを
有している。
【0032】コマンドコントローラ4は、上述したJP
EGイメージデータからCMYK2値イメージデータへ
のイメージ変換を行うために、それ専用のハードウェア
回路を搭載している。この作業量の大きいイメージ変換
を、従来のデジタルカメラ対応プリンタのようにCPU
によるソフトウェア処理で行なうのではなく、専用のハ
ードウェア回路で行なうことにより、このイメージ変換
を高速に、しかもエンジンコントローラ5での印刷処理
と並行して、行なうことができる。
【0033】また、コマンドコントローラ4は、上述し
たコマンドヘッダの変換を行なうために、エンジンコン
トローラ5がもつCPUとは別のCPUを搭載してい
る。勿論、このコマンドヘッダの変換も、上記のイメー
ジ変換と同様に、CPUではなしに、それ専用のハード
ウェア回路で行なうようにすることもできる。しかし、
この実施形態では、このコマンドヘッダの変換はCPU
のソフトウェア処理で行なう。その理由は、コマンドヘ
ッダには様々な種類があってそれを識別する必要がある
が、それはCPUで行うのに適した作業である(つま
り、専用のハードウェア回路を開発するより安上がりで
ある)とともに、後に詳述するように、コマンドヘッダ
の変換の作業量は大変に小さいものであるため、CPU
で行うのに適した作業が他にも幾つかあるからである。
しかし、これらの作業の量は非常に少ないものであち、
CPUで行なっても極めて十分に短い時間で終えること
ができる。
【0034】このコマンドコントローラ4について、以
下で更に詳細に説明する。図2は、コマンドコントロー
ラ4の構成を示す。
【0035】コマンドコントローラ4は、ASICモジ
ュール10、JPEG解凍器11、SDRAM12、色
変換・2値化器13及びCPU14の5つのICを有し
ている。
【0036】CPU14は、前述したように、ネットワ
ーク印刷コマンドのコマンドヘッダをプリンタ印刷コマ
ンドのそれに変換する処理を行う。また、CPU14
は、後に詳述するように、ASICモジュール10に入
力された印刷コマンドがネットワーク印刷コマンドかプ
リンタ印刷コマンドかに応じてASICモジュール10
のモードを切り換える制御や、その他の幾つかの処理を
行なう。
【0037】ASICモジュール10は、次のような処
理を行うようにカスタマイズされたASICである。す
なわち、ASICモジュール10は、インタフェースコ
ントローラ3から印刷コマンドを受け取り、それがネッ
トワーク印刷コマンドかプリンタ印刷コマンドか識別す
る。その結果、プリンタ印刷コマンドならば、ASIC
モジュール10は、そのプリンタ印刷コマンドをそのま
ま通過させてエンジンコントローラ5へ渡す。一方、ネ
ットワーク印刷コマンドならば、ASICモジュール1
0は、JPEG解凍器11、SDRAM12、色変換・
2値化器13及びCPU14と協働して、そのネットワ
ーク印刷コマンドをプリンタ印刷コマンドに変換してエ
ンジンコントローラ5へ渡す。
【0038】JPEG解凍器11は、ネットワーク印刷
コマンドにデータとして含まれているJPEGイメージ
データを解凍してYUVイメージデータに変換するIC
である。SDRAM12は、前記YUVイメージデータ
から変換されたRGB多値イメージデータを一時的に保
存するためのバッファとして使われる。色変換・2値化
器13は、前記RGB多値イメージデータをCMYK多
値イメージデータに色変換し、さらに、そのCMYK多
値イメージデータをCMYK2値イメージデータに2値
化するICである。
【0039】以下では、ASICモジュール10につい
て、更に詳細に説明する。
【0040】図2に示すように、ASICモジュール1
0は、システムコントローラ20、入力インタフェース
21、コマンドデコーダ22、YUV/RGBコンバー
タ23、メモリコントローラ24、RAMインタフェー
ス25、色変換・2値化器インタフェース26、コマン
ドエンコーダ27、出力インタフェース28及びCPU
インタフェース29を有する。ASICモジュール10
内の上述した要素は全て、CPUインタフェース29を
介してCPU14とバス30を介して通信可能に接続さ
れている。
【0041】これらの要素のうち、入力インタフェース
21、RAMインタフェース25、色変換・2値化器イ
ンタフェース26、出力インタフェース28及びCPU
インタフェース29は、それぞれ、インタフェースコン
トローラ3、SDRAM12、色変換・2値化器13、
エンジンコントローラ5及びCPU14と通信するため
のインタフェースである。
【0042】以下、ASICモジュール10の主要な要
素がもつ機能を詳細に説明する。
【0043】コマンドデコーダ22は、ホスト装置から
受信した印刷コマンドがプリンタ印刷コマンドかネット
ワーク印刷コマンドかを識別してCPU14に通知し、
そして、プリンタ印刷コマンドかネットワーク印刷コマ
ンドかに応じて動作モードを切替えることで、プリンタ
印刷コマンドはそのままASICモジュール10を通過
させ、ネットワーク印刷コマンドはプリンタ印刷コマン
ドに変換されるように制御する機能を有している。
【0044】ここで、プリンタ印刷コマンドかネットワ
ーク印刷コマンドかをコマンドデコーダ22が識別する
ための本実施形態で採用する仕組みをより具体的に説明
すると次の通りである。
【0045】すなわち、図3には、ホスト装置2からプ
リンタ1に送られる印刷ジョブデータの流れの一例が示
されている。この図3の例は、まず、ネットワーク印刷
コマンドで構成された印刷ジョブデータ110が送られ
てきて、次に、ネットワーク印刷コマンドで構成された
印刷ジョブデータ120が送られてきた例である。図3
に示すように、ネットワーク印刷コマンドで構成された
印刷ジョブデータ110が送られる場合には、それに先
だって、所定の移行コマンド100が送られ、その後に
その印刷ジョブを構成するネットワーク印刷コマンド1
11、111、…が送られ(ここでは、代表的にJPE
Gコマンドしか図示してないが、必要に応じて他の制御
命令のコマンドも含まれる)、そして、その印刷ジョブ
の最後に、所定の初期化コマンド112(これは、コマ
ンドヘッダだけから成り、例えば「ESC@」のような
コート゛である)が送られる決まりになっている。一方、
プリンタ印刷コマンドで構成された印刷ジョブ120が
送られる場合には、移行コマンド100を先行せずに、
その印刷ジョブを構成するプリンタ印刷コマンド12
1、121、…が送られ(ここでは、代表的にラスタコ
マンドしか図示してないが、必要に応じて他の制御命令
のコマンドも含まれる)、そして、その印刷ジョブの最
後に、所定の初期化コマンド122(これは、コマンド
ヘッダだけから成り、例えば「ESC@」のようなコー
ト゛である)が送られる決まりになっている。このよう
に、移行コマンド100が印刷ジョブデータに先行する
か否かで、その印刷ジョブデータがネットワーク印刷コ
マンドで構成されたものなのか、プリンタ印刷コマンド
で構成されたものかのかが分るようになっている。ま
た、どの印刷ジョブも、初期化コマンドで終了すること
になっている。
【0046】再び、図2を参照して、プリンタ1内のコ
マンドコントローラ4では、コマンドデコーダ22が、
ホスト装置から送り込まれるデータ列を、コマンドデコ
ーダ22内のレジスタ(図示せず)に予め設定されてい
る移行コマンドと照合することで、移行コマンドを検出
しようとしている。従って、コマンドデコーダ22は、
ホスト装置からネットワーク印刷コマンドの印刷ジョブ
が入って来るときにのみ、その印刷ジョブの入力が開始
する直前に移行コマンドを検出することになる。そし
て、コマンドデコーダ22は、移行コマンドを検出する
と、その旨をCPU14に通知する。
【0047】コマンドデコーダ22は、プリンタ印刷コ
マンド用とネットワーク印刷コマンド用の2種類の動作
モードを有しており、初期状態ではプリンタ印刷コマン
ド用モードになっている。上述したように、ネットワー
ク印刷コマンドの印刷ジョブが入る直前に、コマンドデ
コーダ22は移行コマンドを検出してCPU14に通知
する。すると、CPU14は、コマンドデコーダ22に
指示を出して、その動作モードをプリンタ印刷コマンド
用モードからネットワーク印刷コマンド用モードに切替
える。よって、ネットワーク印刷コマンドの印刷ジョブ
を受けている間は、コマンドデコーダ22は、ネットワ
ーク印刷コマンド用モードになっており、受信した各ネ
ットワーク印刷コマンドからコマンドヘッダを捕らえて
CPU14に送る。印刷ジョブの最後には、前述したよ
うに初期化コマンドを受けるが、コマンドデコーダ22
はその初期化コマンド(これは、コマンドヘッダだけか
ら成る)も捕らえてCPU14に送る。すると、CPU
14は、コマンドデコーダ22に指示を出して、その動
作モードを初期状態のプリンタ印刷コマンド用モードに
戻す。従って、コマンドデコーダ22は、その後にプリ
ンタ印刷コマンドの印刷ジョブを受けるときには、プリ
ンタ印刷コマンド用モードになっている。
【0048】プリンタ印刷コマンド用モードでは、コマ
ンドデコーダ22は、受け取ったプリンタ印刷コマンド
からコマンドヘッダを抽出してCPU14に送るととも
に、受け取ったプリンタ印刷コマンドをそのまま、スル
ー経路32を通じて、コマンドエンコーダ27に送る。
コマンドエンコーダ27に送られたプリンタ印刷コマン
ドは、そのまま出力インタフェース28を通じてエンジ
ンコントローラ5へ送られることになる。
【0049】一方、ネットワーク印刷コマンド用モード
では、コマンドデコーダ22は、受け取ったネットワー
ク印刷コマンドからコマンドヘッダを抽出してCPU1
4に送るとともに、入力したプリンタ印刷コマンドのデ
ータ(JPEGイメージデータ)を、経路31を通じて
YUV/RGBコンバータ23に送る。CPU14に送
られたネットワーク印刷コマンドのコマンドヘッダは、
CPU14によって、対応するプリンタ印刷コマンドの
コマンドヘッダに変換されて、コマンドエンコーダ27
に送られることになる。また、YUV/RGBコンバー
タ23に送られたJPEGイメージデータは、後述する
ように、CMYK2値イメージデータに変換されてか
ら、コマンドエンコーダ27に送られることになる。
【0050】コマンドエンコーダ27は、プリンタ印刷
コマンドを作成して、それを出力インタフェース28を
通じてエンジンコントローラ5に送る機能をもつ。コマ
ンドエンコーダ27は、コマンドデコーダ22と同様、
プリンタ印刷コマンド用とネットワーク印刷コマンド用
の2種類の動作モードをもっており、CPU14からの
指示で、コマンドデコーダ22の動作モードと一致した
動作モードになる。
【0051】従って、プリンタ印刷コマンドが入って来
ているときには、コマンドエンコーダ27は、プリンタ
印刷コマンド用の動作モードになっている。このモード
では、コマンドエンコーダ27は、コマンドデコーダ2
2からスルー経路32を通じて送られてきたプリンタ印
刷コマンドを、そのまま、出力インタフェース28を通
じてエンジンコントローラ5に送る。
【0052】一方、ネットワーク印刷コマンドが入って
来ているときには、コマンドエンコーダ27は、ネット
ワーク印刷コマンド用の動作モードになっている。この
モードでは、コマンドエンコーダ27は、前述したよう
に、CPU14からプリンタ印刷コマンドのコマンドヘ
ッダを受け取り、色変換・2値化器インタフェース26
からCMYK2値イメージデータを受け取ることにな
る。そして、コマンドエンコーダ27は、CPU14か
ら受け取ったプリンタ印刷コマンドのコマンドヘッダの
後に、色変換・2値化器インタフェース26から受け取
ったCMYK2値イメージデータを配置することで、完
全なプリンタ印刷コマンドを生成し、それを出力インタ
フェース28を通じてエンジンコントローラ5に送る。
【0053】YUV/RGBコンバータ23、メモリコ
ントローラ24、RAMインタフェース25及び色変換
・2値化器インタフェース26は、ネットワーク印刷コ
マンドが入って来ているときに、そのネットワーク印刷
コマンドにデータとしてい含まれているJPEGイメー
ジデータをCMYK2値イメージデータに変換するため
に、JPEG解凍器11、SDRAM12及び色変換・
2値化器13と協働して動作するものである。その具体
的な機能は以下の通りである。
【0054】YUV/RGBコンバータ23は、コマン
ドデコーダ22からJPEGイメージデータを受けと
り、それをJPEG解凍器11に送る。JPEG解凍器
11は、受け取ったJPEGイメージデータを解凍して
YUV表色系の多値イメージデータにし、それをYUV
/RGBコンバータ23に返す。YUV/RGBコンバ
ータ23は、返されたYUV表色系の多値イメージデー
タを、YUV表色系からRGB表色系に色変換して、R
GB多値イメージデータにし、それをメモリコントロー
ラ24に送る。
【0055】メモリコントローラ24は、YUV/RG
Bコンバータ23から受け取ったRGB多値イメージデ
ータの画素順序を、ラスタスキャンの順序に並べ替え
る。すなわち、JPEGの圧縮処理では、元画像は8画
素×8画素のブロック領域に分割され、ブロック領域単
位で所定の演算処理がなされる。そのため、YUV/R
GBコンバータ23からメモリコントローラ24に渡さ
れる、JPEGデータから変換された当初のRGB多値
データも、8画素×8画素のブロック領域に分割した形
で画素データが並んでいる。メモリコントローラ24
は、その8画素×8画素のブロック領域に仕分けられて
いる画素データの配列を、印刷処理に適したラスタスキ
ャン(つまり、例えば、画像の左端から右端までの行方
向の水平スキャンを、最上行から1行づつ下へ向って繰
り返していくスキャン)の順序の配列に変換する。メモ
リコントローラ24は、YUV/RGBコンバータ23
から受け取ったRGB多値イメージの各画素データを、
RAMインタフェース25を介してSDRAM12内の
ラスタスキャン順序に従った記憶場所に書き込んでいく
ことで、この並べ替えを行う。これにより、SDRAM
12上には、ラスタスキャンの順序で画素が並んだRG
B多値イメージデータが展開されることになる。続い
て、メモリコントローラ24は、SDRAM12からR
GB多値イメージデータを読み出して、色変換・2値化
器インタフェース26へ送る。
【0056】色変換・2値化器インタフェース26は、
メモリコントローラ24から受け取ったRGB多値イメ
ージデータを色変換・2値化器13へ送る。色変換・2
値化器13は、受け取ったRGB多値イメージデータ
に、RGB表色系からCMYK表色系への色変換を施し
て、これをCMYK多値イメージデータに変換する。次
いで、色変換・2値化器13は、そのCMYK多値イメ
ージデータに2値化処理(例えば、誤差拡散処理又はデ
ィザ処理など)を施して、これをCMYK2値イメージ
データに変換し、そのCMYK2値イメージデータを色
変換・2値化器インタフェース26に返す。色変換・2
値化器インタフェース26は、色変換・2値化器13か
ら受け取ったCMYK2値イメージデータをコマンドエ
ンコーダ27に送る。コマンドエンコーダ27に送られ
たCMYK2値イメージデータは、コマンドエンコーダ
27により、前述したように、CPU14からのプリン
タ印刷コマンドのコマンドヘッダとセットにされてプリ
ンタ印刷コマンドに仕立てられ、出力インタフェース2
8を通じてエンジンコントローラ5へ送られる。
【0057】ASICモジュール10内のシステムコン
トローラ20は、CPU14からの指示で、ASICモ
ジュール10内の各部を初期状態にリセットするための
ユニットである。特に、上述したJPEGイメージデー
タをCMYK2値イメージデータに変換するイメージ処
理に関してエラーが発生した場合(例えば、JPEGデ
ータのビットエラーなどのためにJPEGデータの解凍
が出来なくなったり、或いは、RGB多値データのの色
変換や2値化ができなくなったりした場合)には、シス
テムコントローラ20は、CPU14からの指示で、A
SICモジュール10内のその発生したエラーに直接関
与するイメージ処理のための要素だけを選択的に個別に
リセットする機能をもつ。すなわち、JPEGイメージ
の処理に関してエラーが生じた場合、システムコントロ
ーラ20は、そのイメージ処理に直接関与しないユニッ
ト、特にコマンドヘッダの処理に関与するユニット、す
なわち、入力インタフェース21、コマンドデコーダ2
2、コマンドエンコーダ27、出力インタフェース28
及びCPUインタフェース29はリセットしない。
【0058】これにより、ある特定の印刷コマンドのJ
PEGイメージ処理でエラーが発生しても、ASICモ
ジュール10は、その後から別の印刷コマンドが入って
くれば、その印刷コマンドから正常なJPEGイメージ
処理を再開することが可能である。このことは、例えば
試し印刷を行う時などに次のような利点をもたらす。す
なわち、或る画像の印刷ジョブをホスト装置が作成する
際、その画像の全体を一纏まりでJPEG圧縮するので
はなく、その画像を複数のブロック領域に分割し、各ブ
ロック領域毎にJPEG圧縮して各ブロック領域毎の複
数の印刷コマンドを作成し、それら複数の印刷コマンド
を順次にプリンタ1へ送るようにすることができる。そ
うすると、上記複数のブロック領域の中の或る特定のブ
ロック領域に関し、プリンタ1のJPEGイメージ処理
でエラーが発生したとしても、他のブロック領域のJP
EGイメージ処理は正常に行われるので、エラーの生じ
たブロック領域を除いて、他の領域は正常に印刷される
ことになる。ユーザは、その印刷結果を見て、エラーの
生じたブロック領域以外の領域の画像が、自分にとって
満足の行くものかどうかを確認することができる。この
ことは、特に、例えばB0サイズのような特大サイズの
画像を試し印刷するような場合に、画像の一部分でエラ
ーが発生したとしても、他の部分の良し悪しは確認でき
るという点で便利である。
【0059】次に、以上の構成をもつコマンドコントロ
ーラ4の動作について、図4及び図5を参照して説明す
る。
【0060】図4は、プリンタ印刷コマンドがコマンド
コントローラ4に入ったときの処理の流れを示してい
る。図中、太い実線矢印はプリンタ印刷コマンドの流れ
を示し、太い点線矢印はコマンドヘッダの流れを示して
いる。
【0061】図4において、プリンタ印刷コマンド70
はまず矢印43のようにコマンドデコーダ22に入る。
このとき、コマンドデコーダ22とコマンドエンコーダ
27は共に、初期状態であるプリンタ印刷コマンド用モ
ードになっている。コマンドデコーダ22は、入力した
プリンタ印刷コマンド70からコマンドヘッダ71を抽
出して矢印44で示すようにCPU14に送るととも
に、入力したプリンタ印刷コマンド70をそのまま矢印
45で示すようにコマンドエンコーダ27に送る。コマ
ンドエンコーダ27は、そのプリンタ印刷コマンド70
をそのまま出力インタフェース28を通じてエンジンコ
ントローラ5へ送る。エンジンコントローラ5は、その
プリンタ印刷コマンド70を解釈して印刷を行う。
【0062】図5は、ネットワーク印刷コマンドがコマ
ンドコントローラ4に入ったときの処理の流れを示して
いる。図中、太い実線矢印はネットワーク印刷コマンド
又はプリンタ印刷コマンドの流れを示し、太い点線矢印
はコマンドヘッダの流れを示し、太い一点鎖線矢印は、
イメージデータの流れを示している。
【0063】図5において、ネットワーク印刷コマンド
80はまず矢印53のようにコマンドデコーダ22に入
る。このとき、コマンドデコーダ22とコマンドエンコ
ーダ27は共に、ネットワーク印刷コマンド用モードに
切り替わっている。コマンドデコーダ22は、入力した
ネットワーク印刷コマンド80からコマンドヘッダ81
を抽出して矢印54で示すようにCPU14に送る。C
PU14は、受け取ったネットワーク印刷コマンド80
のコマンドヘッダ81を、対応するネットワーク印刷コ
マンドのコマンドヘッダ91に変換して、矢印55で示
すようにコマンドエンコーダ27に送る。
【0064】コマンドデコーダ22はまた、受け取った
コマンドヘッダ81に後続するJPEGイメージデータ
82を矢印56で示すようにYUV/RGBコンバータ
23に送り、YUV/RGBコンバータ23はそれをJ
PEG解凍器11に送る。JPEG解凍器11は、受け
取ったJPEGイメージデータ52をYUVイメージデ
ータに解凍して、矢印57で示すようにYUV/RGB
コンバータ23に返す。YUV/RGBコンバータ23
は、そのYUVイメージデータをRGB多値イメージデ
ータに変換して、矢印58で示すようにメモリコントロ
ーラ24に送り、メモリコントローラ24はそれをSD
RAM12上でラスタスキャン順序の画素配列に並び替
える。次に、メモリコントローラ24は、矢印59で示
すようにSDRAM12からRGB多値イメージデータ
を読み出して色変換・2値化器インタフェース26へ送
り、色変換・2値化器インタフェース26はそれを色変
換・2値化器13へ送る。色変換・2値化器13は、R
GB多値イメージデータに、RGBからCMYKへの色
変換と、2値化処理とを施して、CMYK2値イメージ
データに変換し、それを矢印60で示すように色変換・
2値化器インタフェース26に返し、色変換・2値化器
インタフェース26はそれをコマンドエンコーダ27に
送る。
【0065】コマンドエンコーダ27は、まずCPU1
4から受け取ったプリンタ印刷コマンドのコマンドヘッ
ダ91を、矢印61で示すように出力インタフェース2
8へ送り、次に、色変換・2値化器インタフェース26
から受け取ったCMYK2値イメージデータ92を、矢
印61で示すように出力インタフェース28へ送る。従
って、そのコマンドヘッダ91とCMYK2値イメージ
データ92からなるプリンタ印刷コマンド90が、出力
インタフェース28からエンジンコントローラ5に送ら
れることになる。エンジンコントローラ5は、そのプリ
ンタ印刷コマンド90を解釈して印刷を行う。
【0066】次に、コマンドコントローラ4が上述した
移行コマンドを正確に検出してプリンタ印刷コマンド用
の動作モードからネットワーク印刷コマンド用の動作モ
ードへ移行したり、その後、印刷ジョブの最後の初期化
コマンドでネットワーク印刷コマンド用の動作モードか
らプリンタ印刷コマンド用の動作モードに移行するため
の構成と動作について詳細に説明する。
【0067】図6は、コマンドコントローラ4内のコマ
ンドデコーダ22がもつ回路要素とCPU14のもつタ
スクのうち、上記の動作モードの移行に関与するものを
示す。図6において、実線矢印は、印刷コマンドやその
コマンドヘッダやコマンドデータやイメージデータの流
れを示しており、点線矢印は、コマンドコントローラ4
内部の要素間やコマンドコントローラ4とエンジンコン
トローラ5間のなどの制御指令の流れを示している。
【0068】図6に示すように、コマンドデコーダ22
は、移行コマンドレジスタ201、シフトレジスタ20
2、比較器203、経路スイッチ204及びデータフロ
ーコントローラ205を有する。移行コマンドレジスタ
201には、上述した移行コマンドが予め格納されてい
る。ホスト装置からのデータストリームは、まず、シフ
トレジスタ202に通される。比較器203は、シフト
レジスタ202内のデータと移行コマンドレジスタ20
1内の移行コマンドとを比較し、一致すると、点線矢印
220で示すように移行要求をCPU14に通知する。
経路スイッチ204は、CPU14からの矢印222や
236で示す制御指令に従って、シフトレジスタ202
を出たデータの送り先を、スルー経路32にするか、デ
ータフローコントローラ205にするかを切替える働き
をする。データフローコントローラ205は、ネットワ
ーク印刷コマンドが入ってきているときに機能するもの
で、そのネットワーク印刷コマンドをコマンドヘッダと
コマンドデータ(JPEGデータ)に分離して、コマン
ドヘッダは矢印229に示すようにCPU14へ送り、
コマンドデータ(JPEGデータ)は矢印233に示す
ようにイメージ変換回路(図2に示した、要素23〜2
6及び11〜13)に送る。
【0069】CPU14は、プリンタ印刷コマンドメイ
ンタスク206、コマンド制御タスク207、ネットワ
ーク印刷コマンドメインタスク208、インタフェース
タスク209及びデータ制御タスク210を有してい
る。プリンタ印刷コマンドメインタスク206は、プリ
ンタ印刷コマンドのコマンドヘッダを解釈するためのタ
スクである。このプリンタ印刷コマンドメインタスク2
06は、また、前述した移行コマンドがコマンドデコー
ダ22で検出された時には、コマンドデコーダ22から
矢印220で示すように移行要求を受けて、矢印221
のようにコマンド制御タスク207を起動し、また、矢
印222,223及び237に示すようにコマンドデコ
ーダ22やコマンドエンコーダ22の動作モードを制御
する役目もつ。コマンド制御タスク207は、プリンタ
印刷コマンドメインタスク206がコマンドエンコーダ
22から矢印220で示した移行要求を受けたときに、
エンジンコントローラ5のコマンド処理状況を矢印22
4及び225に示すように調べ、その結果に応じて、コ
マンドデコーダ22やコマンドエンコーダ22の動作モ
ードを、プリンタ印刷コマンド用のモードからネットワ
ーク印刷コマンド用のモードへ移行してもよいか否か判
断し、その判断結果を矢印226のようにプリンタ印刷
コマンドメインタスク226に通知するタスクである。
【0070】ネットワーク印刷コマンドメインタスク2
08は、ホスト装置から受けたネットワーク印刷コマン
ドのコマンドヘッダを解釈するタスクである。インタフ
ェースタスク209は、コマンドデコーダ22からネッ
トワーク印刷コマンドのコマンドヘッダを矢印229で
示すように受け取って、それを矢印230で示すように
ネットワーク印刷コマンドメインタスク208に渡すた
めのタスクである。データ制御タスク210は、ネット
ワーク印刷コマンドメインタスク208から、矢印23
1で示すようにネットワーク印刷コマンドのコマンドヘ
ッダの解釈結果を受け、それに基いて、矢印234で示
すようにイメージ変換回路23〜26、11〜13を制
御したり、解釈結果に対応したプリンタ印刷コマンドの
コマンドヘッダを作成して、それを矢印232で示すよ
うにコマンドエンコーダ22に送ったりするタスクであ
る。
【0071】以下、図6に示したコマンドデコーダ22
内の各種要素202〜205及びCPU14のもつ各種
タスク206〜210の動作を説明する。
【0072】前述したように、初期状態では、コマンド
デコーダ22及びコマンドエンコーダ27はプリンタ印
刷コマンド用の動作モードになっている。このとき、コ
マンドデコーダ22内の経路スイッチ204は、図6で
実線で示すように受信した印刷コマンドをそのままスル
ー経路32へ流すようになっている。この状態で、ネッ
トワーク印刷コマンドで構成された印刷ジョブが到来す
るときには、それに先行して移行コマンドが入ってく
る。すると、比較器203が、その移行コマンドを検出
して、移行要求を矢印220で示すようにCPU14へ
送る。CPU14では、プリンタ印刷コマンドメインタ
スク206が、その移行要求を受けて、矢印221で示
すようにコマンド制御タスク207を起動する。同時
に、プリンタ印刷コマンドメインタスク206は、矢印
222で示すように経路スイッチ204を点線のように
データフローコントローラ205側へ切替え、かつ、矢
印223で示すようにデータフローコントローラ205
を制御して未だデータを入力しないように止めておく。
【0073】コマンド制御タスク207は、図7に示す
ように動作する。すなわち、上記のように移行要求によ
って起動されると(ステップS1)、移行確認メッセー
ジを作成し(ステップS2)、その移行要求メッセージ
を図6に矢印224で示すようにエンジンコントローラ
5内のCPU211へ通知し(ステップS3)エンジン
コントローラ5内のCPU211から回答が返るのを待
つ(S4)。
【0074】エンジンコントローラ5内のCPU211
は、プリンタ印刷コマンドで構成された印刷ジョブを受
け取り、そのコマンドを解釈して、そこに含まれるCM
YK2値イメージをプリントエンジン6へ転送する処理
を行なうものであるが、上述した図7のステップS3で
通知された移行確認メッセージに対して、図8に示すよ
うな動作を行なう。すなわち、メッセージ待ちの状態
(ステップS11)において、上述した移行確認メッセ
ージをコマンドコントローラ4のCPU14から受ける
と(ステップS12)、CPU211は、自身がラスタ
コマンド(つまり、前述したように、CMYK2値イメ
ージデータを送ってくるプリンタ印刷コマンド)を現在
処理中であるか否かを調査する(ステップS13)。そ
の結果、CPU211は、ラスタコマンドを現在処理中
でなければ、移行を許可することができ、ラスタコマン
ドを現在処理中であれば、移行を許可することができな
いと判断し(ステップS14)、その判断結果に従って
移行許可メッセージか又は移行不可メッセージを作成し
(ステップS15又はS16)、そのメッセージを図6
で矢印225で示すように、コマンドコントローラ4の
CPU14に通知する(ステップS17)。
【0075】再び図7を参照して、コマンドコントロー
ラ4のCPU14のコマンド制御タスク207は、上述
したようにしてエンジンコントローラ5から移行許可メ
ッセージか又は移行不可メッセージが返されると、その
メッセージから移行して良いか否かを判断し(ステップ
S5)、そして、その判断結果に従って、図6で矢印2
26で示すように、移行許可メッセージか又は移行不可
メッセージをプリンタ印刷コマンドメインタスク206
に通知する(ステップS6又はステップS7)。
【0076】再び図6を参照する。CPU14のコマン
ド制御タスク207は、上記したように、移行コマンド
がコマンドデコーダ22で検出された時、エンジンコン
トローラ5が現在ラスタコマンドを処理中であるか否か
を調べて、処理中であれば移行を不許可とし、処理中で
なければ移行を許可する。このようにエンジンコントロ
ーラ5がラスタコマンドを処理中か否かで移行を許可す
るか否かを判断する理由は、ラスタコマンドに含まれる
CMYK2値イメージデータの中から誤って移行コマン
ドを検出してしまった時に、動作モードを移行させない
ようにするためである。すなわち、移行コマンドを所定
のコードであって、プリンタ印刷コマンドのコマンドヘ
ッダに用いられるコードと重複しないように定められて
いる。しかし、プリンタ印刷コマンドのラスタコマンド
に含まれるCMYK2値データは、ありとあらゆる
「0」と「1」の配列をとり得るから、そこに移行コマ
ンドと全く同じ「0」と「1」の配列が含まれているこ
とがある。そうすると、その「0」と「1」の配列をコ
マンドデコーダ22が移行コマンドと誤認して検出して
しまう(その根本原因は、コマンドデコーダ22は自分
ではラスタコマンドの処理を行なわないから、正しい移
行コマンドも、ラスタコマンドに含まれる移行コマンド
と同じコードも区別できないからである)。しかし、ラ
スタコマンドに含まれるコードを移行コマンドと誤認し
た時は、必ず、そのラスタコマンドの処理をエンジンコ
ンローラ5が行なっている最中であり、一方、ネットワ
ーク印刷コマンドに先行してくる正しい移行コマンドを
検出したときには、必ず、エンジンコンローラ5はラス
タコマンド処理を行なっていることがない。よって、こ
のことを調べることで、正しい移行コマンドを検出した
時にのみ、動作モードの移行を許可することができる。
【0077】このようにして動作モードの移行許可又は
移行不可が判断され、その結果の移行許可又は移行不可
メッセージが矢印226のようにプリンタ印刷コマンド
メインタスク206に入ると、プリンタ印刷コマンドメ
インタスク206は次のように動作する。前述したよう
に、移行コマンドが検出された時点で、コマンドプリン
タ印刷コマンドメインタスク206は、経路スイッチ2
04を点線のようにデータフローコントローラ205側
へ切替え、かつ、データフローコントローラ205を未
だデータを入力しないように止めていた。この状態か
ら、移行不可メッセージが入ったときには、プリンタ印
刷コマンドメインタスク206は、経路スイッチ204
を再び実線のようにスルーパス32側へ戻して、ホスト
装置から来たデータ(つまり、ラスタコマンド)が再
び、そのままコマンドエンコーダ27を通ってエンジン
コントローラ5へ送られるようにする。要するに、コマ
ンドデコーダ22及びコマンドエンコーダ27の動作モ
ードをプリンタ印刷コマンド用のモードに維持する。こ
れにより、プリンタ印刷コマンドの処理が再開される。
【0078】一方、移行許可メッセージが入ったときに
は、プリンタ印刷コマンドメインタスク206は、経路
スイッチ204をデータフローコントローラ205側に
倒した状態を維持したまま、データフローコントローラ
205に動作を開始させる。それにより、データフロー
コントローラ205は、移行コマンドに後続するネット
ワーク印刷コマンドを取りこみ、それをコマンドヘッダ
とコマンドデータ(JPEGデータ)に分離し、コマン
ドヘッダは矢印229で示すようにCPU14へ送り、
JPEGデータは矢印233で示すようにイメージ変換
回路23〜26、11〜13へ送る。要するに、コマン
ドデコーダ22の動作モードをプリンタ印刷コマンド用
のモードからネットワーク印刷コマンド用のモードに移
行指させる。同時に、プリンタ印刷コマンドメインタス
ク206は、矢印237で示すようにコマンドエンコー
ダ27の動作モードもネットワーク印刷コマンド用のモ
ードに移行させる。更に同時に、プリンタ印刷コマンド
メインタスク206は、矢印227で示すようにネット
ワーク印刷コマンドメインタスク208を起動する。こ
れにより、ネットワーク印刷コマンドの処理が開始され
る。
【0079】ネットワーク印刷コマンドの処理が開始さ
れると、CPU14では、データフローコントローラ2
05から来るネットワーク印刷コマンドのコマンドヘッ
ダを、インタフェースタスク209が受け取り、これを
矢印230で示すようにネットワーク印刷コマンドメイ
ンタスク208へ送る。ネットワーク印刷コマンドメイ
ンタスク208は、そのコマンドヘッダを解釈し、解釈
結果を矢印231で示すようにデータ制御タスク210
に通知する。データ制御タスク210は、その解釈結果
に基いて、矢印234で示すようにイメージ変換回路2
3〜26、11〜13を制御したり、その解釈結果に対
応するプリンタ印刷コマンドのコマンドヘッダを作成し
て、矢印232で示すようにコマンドエンコーダ27に
送る。一方、イメージ変換回路23〜26、11〜13
は、データフローコントローラ205から来るJPEG
データを解凍し、色変換し、ハーフトーニングを施すこ
とで、CMYK2値イメージデータに変換し、矢印23
5で示すようにコマンドエンコーダ27に送る。コマン
ドエンコーダ27は、受け取ったプリンタ印刷コマンド
のコマンドヘッダととCMYK2値イメージデータとか
らプリンタ印刷コマンドを生成して出力する。
【0080】ネットワーク印刷コマンドの印刷ジョブデ
ータの最後に初期化コマンドが到来すると、その初期化
コマンドは、他のネットワーク印刷コマンドのコマンド
ヘッダと同様に、CPU14内のネットワーク印刷コマ
ンドメインタスク208に受け取られる。ネットワーク
印刷コマンドメインタスク208は、初期化コマンドを
受け取ると、矢印236で示すように経路スイッチ22
8を実線の元の位置に戻すなどて、コマンドデコーダ2
2の動作モードをプリンタ印刷コマンド用のモードにリ
セットし、同様に、コマンドエンコーダ27の動作モー
ドもプリンタ印刷コマンド用のモードにリセットする。
これで、プリンタ印刷コマンドの印刷ジョブが受信でき
る初期状態が回復する。
【0081】以上、本発明の一実施形態を説明したが、
上記の実施形態はあくまで本発明の説明のための例示で
あり、本発明を上記実施形態にのみ限定する趣旨ではな
い。従って、本発明は、上記実施形態以外の様々な形態
でも実施することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかるプリンタの全体の
概略的な構成を示すブロック図。
【図2】印刷ジョブデータの流れの一例を示す図。
【図3】コマンドコントローラ4の構成を示すブロック
図。
【図4】プリンタ印刷コマンドがコマンドコントローラ
4に入ったときの処理の流れを示した図。
【図5】ネットワーク印刷コマンドがコマンドコントロ
ーラ4に入ったときの処理の流れを示した図。
【図6】コマンドコントローラ4内のコマンドデコーダ
22がもつ回路要素とCPU14のもつタスクのうち、
動作モードの移行に関与するものを示すブロック図。
【図7】コマンドコントローラ4内のCPU14のコマ
ンド制御タスク207の動作を示す図。
【図8】エンジンコントローラ5内のCPU211の移
行確認メッセージに対する動作を示す図。
【符号の説明】
1 プリンタ 2 ホスト装置 3 インタフェースコントローラ 4 コマンドコントローラ 5 エンジンコントローラ

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 ホスト装置から、低値分解能のビットマ
    ップイメージデータである印刷型イメージデータを含ん
    だ第1種の印刷ジョブデータと、高値分解能のイメージ
    データを所定方法で圧縮してなる圧縮型イメージデータ
    を含んだ第2種の印刷ジョブデータと、前記第1種の印
    刷ジョブデータと前記第2種の印刷ジョブデータの内の
    所定の一方に先行してホスト装置から送られる決まりに
    なっている所定コードの移行コマンドとを受信すること
    ができるインタフェースコントローラと、 前記印刷型イメージデータを処理してプリントエンジン
    を駆動するエンジンコントローラと、 前記圧縮型イメージデータを解凍し、ハーフトーニング
    を施して前記印刷型イメージデータに変換して出力する
    専用ハードウェア回路と、 前記インタフェースコントローラが受信したデータスト
    リーム中から前記移行コマンドを検出する移行コマンド
    検出手段と、 前記移行コマンド検出手段の検出結果に応じて、前記イ
    ンタフェースコントローラが前記第1種の印刷ジョブデ
    ータと前記第2種の印刷ジョブデータのいずれを受信す
    るかを判断する判断手段と、 前記判断手段が前記第1種の印刷ジョブデータを受信す
    ると判断した場合、前記インタフェースコントローラが
    受信した印刷ジョブデータに含まれるイメージデータを
    前記エンジンコントローラに渡し、一方、前記判断手段
    が前記第2種の印刷ジョブデータを受信すると判断した
    場合、前記インタフェースコントローラが受信した印刷
    ジョブデータに含まれるイメージデータを前記専用ハー
    ドウェ回路に渡し、前記専用ハードウェ回路から出力さ
    れたイメージデータを前記エンジンコントローラに渡す
    イメージ処理コントローラとを備えたプリンタ。
  2. 【請求項2】 前記圧縮型イメージデータがJPEGデ
    ータである請求項1記載のプリンタ。
  3. 【請求項3】 前記判断手段が、前記移行コマンドが検
    出されたとき、前記エンジンコントローラの処理状態を
    観て、前記移行コマンドの検出についての正誤をチェッ
    クし、誤った検出は無視する請求項1記載のプリンタ。
  4. 【請求項4】 ホスト装置から、低値分解能のビットマ
    ップイメージデータである印刷型イメージデータを含ん
    だ第1種の印刷ジョブデータと、高値分解能のイメージ
    データを所定方法で圧縮してなる圧縮型イメージデータ
    を含んだ第2種の印刷ジョブデータとの、いずれかを受
    信するステップと、 前記第1種の印刷ジョブデータと前記第2種の印刷ジョ
    ブデータの内の所定の一方の受信に先行して、ホスト装
    置から所定コードの移行コマンドを受信するステップ
    と、 ホスト装置から受信したデータストリーム中から前記移
    行コマンドを検出するステップと、 前記移行コマンドの検出結果に応じて、前記第1種の印
    刷ジョブデータと前記第2種の印刷ジョブデータのいず
    れを受信するかを判断するステップと、 前記圧縮型イメージデータを前記印刷型イメージデータ
    変換するための専用ハードウェア回路を用意するステッ
    プと、 前記判断ステップで前記第1種の印刷ジョブデータを受
    信すると判断した場合、受信した印刷ジョブデータに含
    まれるイメージデータを前記印刷型イメージデータとみ
    なして処理して印刷を行なうステップと、 前記判断ステップで前記第2種の印刷ジョブデータを受
    信すると判断した場合、受信した印刷ジョブデータに含
    まれるイメージデータを前記圧縮型イメージデータとみ
    なして、前記専用ハードウェア回路に入力するステップ
    と、 前記専用ハードウェ回路から出力されたイメージデータ
    を前記印刷型イメージデータとみなして処理して印刷を
    行なうステップとを備えたプリント方法。
  5. 【請求項5】 前記圧縮型イメージデータがJPEGデ
    ータである請求項4記載のプリント方法。
  6. 【請求項6】 前記検出ステップで前記移行コマンドが
    検出されたとき、前記印刷型イメージデータの処理が現
    在実行中であるか否かを観て、前記移行コマンドの検出
    についての正誤をチェックし、誤った検出は前記判断ス
    テップにて無視するようにするステップを更に備えた請
    求項4記載のプリント方法。
  7. 【請求項7】 ホスト装置から、高値分解能のイメージ
    データを所定方法で圧縮してなる圧縮型イメージデータ
    を含んだ印刷ジョブデータを受信するインタフェースコ
    ントローラと、 前記インタフェースコントローラが受信した印刷ジョブ
    データに含まれる前記圧縮型イメージデータを解凍しハ
    ーフトーニングを施して、低値分解能のビットマップイ
    メージデータである前記印刷型イメージデータに変換す
    る専用ハードウェア回路と、 前記専用ハードウェア回路から受け取った前記印刷型イ
    メージデータを処理してプリントエンジンを駆動するエ
    ンジンコントローラとを備えたプリンタ。
  8. 【請求項8】 ホスト装置から、高値分解能のイメージ
    データを所定方法で圧縮してなる圧縮型イメージデータ
    を含んだ印刷ジョブデータを受信するステップと、 受信した印刷ジョブデータに含まれる前記圧縮型イメー
    ジデータを、専用ハードウェア回路により、解凍しハー
    フトーニングを施して低値分解能のビットマップイメー
    ジデータである印刷型イメージデータに変換するステッ
    プと、 前記専用ハードウェア回路で変換された前記印刷型イメ
    ージデータを処理して印刷を行なうステップとを備えた
    プリント方法。
JP2000389369A 2000-12-21 2000-12-21 プリンタ及びプリント方法 Pending JP2002187315A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000389369A JP2002187315A (ja) 2000-12-21 2000-12-21 プリンタ及びプリント方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000389369A JP2002187315A (ja) 2000-12-21 2000-12-21 プリンタ及びプリント方法

Publications (1)

Publication Number Publication Date
JP2002187315A true JP2002187315A (ja) 2002-07-02

Family

ID=18855938

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000389369A Pending JP2002187315A (ja) 2000-12-21 2000-12-21 プリンタ及びプリント方法

Country Status (1)

Country Link
JP (1) JP2002187315A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008055914A (ja) * 2007-10-30 2008-03-13 Canon Inc 印刷装置及びその制御方法並びに制御プログラム
US7468811B2 (en) 2002-10-28 2008-12-23 Fuji Xerox Co., Ltd. Image processing device and method to make an image printable
US9928454B2 (en) 2015-08-26 2018-03-27 Seiko Epson Corporation Host computer, control method of a host computer, and medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7468811B2 (en) 2002-10-28 2008-12-23 Fuji Xerox Co., Ltd. Image processing device and method to make an image printable
US8352860B2 (en) 2002-10-28 2013-01-08 Fuji Xerox Co., Ltd. Image processing device and method for notifying a user of an included compressed image
JP2008055914A (ja) * 2007-10-30 2008-03-13 Canon Inc 印刷装置及びその制御方法並びに制御プログラム
JP4549380B2 (ja) * 2007-10-30 2010-09-22 キヤノン株式会社 印刷装置及びその制御方法並びに制御プログラム
US9928454B2 (en) 2015-08-26 2018-03-27 Seiko Epson Corporation Host computer, control method of a host computer, and medium

Similar Documents

Publication Publication Date Title
JP3332443B2 (ja) 情報処理装置および情報処理方法
US6384930B1 (en) Printer control circuit, printer and print system
US6177934B1 (en) Server device and image processing device
US7760373B2 (en) Print control apparatus, print control method and printer
US6804016B2 (en) Control apparatus for a scanner/printer
JPH06214921A (ja) サーバー装置の入出力機器制御方法
US6538762B1 (en) Printer controller, and print system
JPH06214920A (ja) サーバー装置およびその通信処理方法
JPH07271702A (ja) スキャナプリンタサーバーシステムおよびスキャナプリンタサーバーシステムの有効機能管理方法
JP4329311B2 (ja) 画像形成装置及び方法並びに画像形成システム
US6804028B1 (en) Image processing apparatus and method, and storage medium storing computer-readable program
JP2001325087A (ja) 書き換え可能なコマンド記憶部を利用したコマンド解析
JP2001102935A (ja) データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
US6981069B2 (en) Compressed data transmission over a plurality of transmission paths
JP2002187315A (ja) プリンタ及びプリント方法
JP2002178608A (ja) プリンタ及びプリント方法
JP3257895B2 (ja) スキャナプリンタサーバーシステムおよび自動画像転送方法およびスキャナプリンタサーバー
JPH08238761A (ja) 記録装置及びその記録装置を用いたファクシミリ装置
JPH11240227A (ja) プリンタ及びプリントシステム
JP3147264B2 (ja) 画像処理装置及びその変換方法
US6741371B1 (en) Image forming system, image forming apparatus, and control method therefor
US20050237559A1 (en) Image printing system, image input device, and image output device
JPH0816332A (ja) スキャナプリンタサーバーシステムおよびそのデータ処理方法
JP2002118756A (ja) データ転送方法とデータ転送装置と画像処理装置及び画像形成装置
JP3244138B2 (ja) サーバー装置