(57)【特許請求の範囲】
【請求項１】
ホストコンピュータから受信した印刷データを、受信バッファメモリに一時的に蓄積した後、印刷機構部へ転送する第１のデータ転送経路と、
前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送経路と、
を有する印刷装置において、
電源投入後の初期状態では前記第２のデータ転送経路を選択する手段と、
前記印刷データの単位データが前記第２のデータ転送経路を通過する時間間隔を検知する手段と、
前記時間間隔を所定のタイムアウト時間と比較し、前記時間間隔が前記タイムアウト時間を上回っている場合、前記第２のデータ転送経路から前記第１のデータ転送経路に切り替え、前記第１のデータ転送経路で前記印刷データの転送を行う切り替え手段と
を有することを特徴とする印刷装置。
【請求項２】
前記所定のタイムアウト時間は、印刷環境に応じて異なる値を設定することを特徴とする請求項１記載の印刷装置。
【請求項３】
前記切り替え手段は、前記第１のデータ転送経路における印刷データの前記受信バッファメモリへの格納が完了後、格納されたデータを前記受信バッファメモリから出力し終えると、前記印刷機構部への印刷データ転送経路を前記第１のデータ転送経路から前記第２のデータ転送経路に切り替えることを特徴とする請求項１記載の印刷装置。
【請求項４】
ホストコンピュータから受信された印刷データを、印刷装置内部において印刷機構部に対して転送させる際に、前記受信された印刷データを、受信バッファメモリに一時的に蓄積した後、前記印刷機構部へ転送する第１のデータ転送経路と、
前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送経路と、
を有する印刷装置の印刷方法において、
電源投入後の初期状態では前記第２のデータ転送経路が選択され、
前記印刷データの単位データが前記第２のデータ転送経路を通過する時間間隔を検知し、前記時間間隔を所定のタイムアウト時間と比較し、前記時間間隔が前記タイムアウト時間を上回っている場合、前記第２のデータ転送経路から前記第１のデータ転送経路に切り替えられ、前記第１のデータ転送経路で前記印刷データの転送を行うことを特徴とする印刷方法。
【請求項５】
ホストコンピュータから受信された印刷データを、受信バッファメモリを経由させてから印刷機構部へ転送する第１のデータ転送経路と、
前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送経路と、
を有する印刷装置のデータ転送を制御するプログラムにおいて、
電源投入後の初期状態で前記第２のデータ転送経路を選択する手順、
前記印刷データの単位データが前記第２のデータ転送経路を通過する時間間隔を検知する手順、
前記時間間隔を所定のタイムアウト時間と比較する手順、
前記時間間隔が前記タイムアウト時間を上回っている場合、前記第２のデータ転送経路から前記第１のデータ転送経路に切り替え、前記第１のデータ転送経路で前記印刷データを転送させる手順
を前記印刷装置に実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタがホストコンピュータから受信した印刷データを、プリンタ内において伝送する際の、データ伝送技術に関する。
【０００２】
【従来の技術】
最近のプリンタでは、印刷に関わる操作からホストコンピュータを素早く解放させるため、又は印刷速度を向上させるため、あるいは印刷データをよどみなく伝送するために、緩衝記憶装置としての受信バッファメモリを用いることが一般的である。
【０００３】
図５は、上記のような受信バッファメモリを備えるプリンタにおけるデータの流れを表す図である。
【０００４】
図５において、一点鎖線で囲んで表されるのは、各々プリンタ１が有する機能のブロックであり、各機能ブロック１０，２０及び３０のうちのデータやコードの記憶に係る部分は、プリンタ１に実装されているＤＲＡＭモジュール２を用いて構成される。
【０００５】
統轄制御部２０は、印刷機構部３０の動作を制御するとともに、インタフェース部１０から印刷機構部３０へのデータ転送にも関与して、プリンタ１の全体を制御する。この、統轄制御部２０は、ＤＲＡＭモジュール２内の所定のアドレス空間を主記憶領域２１として用い、ＲＯＭ２３に格納されたプログラムをＣＰＵ２２が実行することにより、いわゆるコンピュータ構成で実現される機能のブロックである。
【０００６】
インタフェース部１０は、通信コネクタ１２を介して受信された印刷データを一旦蓄積させるために、同じくＤＲＡＭモジュール２内の所定のアドレス空間を用いて構成される受信バッファメモリ１１を有している。統轄制御部２０ではＣＰＵ２２が受信バッファメモリ１１から印刷データを取り出して、例えばＰＣＩＯ（Processor Controled Input Output）転送により、印刷機構部３０の加工部３２に渡す。加工部３２は印刷データを解釈し、イメージバッファメモリ３１にビットマップ展開する。
【０００７】
ところで近年、印刷機構部の処理速度が著しく向上しているのに対して、プリンタ内部でのデータ転送処理速度は、それ程向上していない。特に、受信バッファメモリには、構造が単純で比較的安価なＤＲＡＭモジュールが用いられるのが一般的であるが、ＤＲＡＭはそれ程高速な半導体メモリであるとは言えない。そのために、上記のように受信バッファメモリに一旦データを蓄えるという仕組みでは、バッファメモリに対するデータの出し入れのために、ある程度の時間が費やされることは回避できない。
【０００８】
例えば、インクジェットプリンタにおいてフルカラーのグラフィック印刷データを処理する場合、データサイズが大きく、一方それを処理する印刷機構部の速度が十分に速い場合には、受信バッファメモリにデータを出し入れする時間の分だけデータの内部転送に遅延が生じて、印刷機構部側がデータ待ちをしているという事態も生じてしまう。
【０００９】
【発明が解決しようとする課題】
そのような事態を生じさせないようにするためには、図５において点線（passs2）で表すように、受信バッファメモリを経由させずに、直接、印刷機構部３０に対してデータを送るようなデータ転送経路とすればよい。しかし、例えばテキストデータの印字を行なう際のようにデータサイズが極めて小さいのに対して印刷領域が広い場合には、逆に、印刷機構の処理能力がデータ量に追いつかず、印刷に破綻を来たしてしまう。さらに、印刷データの中には、グラフィックとテキストの混在文書のようなデータ量に対する印刷機構の処理時間のバランスが異なってくる様なものも存在する。
【００１０】
上記のように様々な印刷文書の形態に対して破綻なく対応するためには、やはり緩衝記憶装置としての受信バッファメモリは必須のものであるといえる。
【００１１】
本発明は、叙上のような問題点を克服するためになされたものであり、その目的とするところは、様々な文書形態において、最も迅速に印刷処理を完了させるために、最適な条件でプリンタ内のデータ転送を行なわせる手段を提供することにある。
【００１２】
【課題を解決するための手段】
上記課題を解決するため、本発明ではホストコンピュータから入力される印刷データを、受信バッファメモリを経由させて印刷機構部に渡す場合と、受信バッファメモリを経由させないで印刷機構部に渡す場合とに場合分けして、状況に応じてその経路を選択できるようにする。
【００１３】
すなわち、請求項１記載の印刷装置内におけるデータ転送装置は、受信した印刷データを、受信バッファメモリに一時的に蓄積した後、印刷機構部へ転送する第１のデータ転送経路と、前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送経路とを備える。このデータ転送装置は、前記印刷機構部へのデータ転送状況を判断するデータ転送状況判断手段をも有している。そして、前記データ転送状況判断手段の判断結果に基づき、前記印刷機構部への印刷データ転送経路を前記第１または第２のデータ転送経路に切り替えるデータ転送経路切り替え手段を有していることを特徴とする。
【００１４】
また、請求項２記載の印刷装置内におけるデータ転送装置は、前記請求項１記載のデータ転送装置において、前記データ転送経路切り替え手段は、前記データ転送状況判断手段の判断の結果、前記印刷機構部に対する印刷データの転送に滞りが無いときには前記第２のデータ転送経路を選択し、前記印刷機構部に対する印刷データの転送に滞りがあるときには前記第１のデータ転送経路を選択するよう構成されていることを特徴とする。
【００１５】
上記課題を解決するための印刷装置内におけるデータ転送方法は以下のようなものとなる。すなわち、請求項３記載のデータ転送方法は、ホストコンピュータから受信された印刷データを、印刷装置内部において印刷機構部に対して転送させる際に、前記受信された印刷データを、受信バッファメモリに一時的に蓄積した後、前記印刷機構部へ転送する第１のデータ転送方法と、前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送方法とを、選択的に採用するデータ転送方法である。そして、前記印刷機構部に対する前記印刷データの転送に滞りが無いときには前記第２のデータ転送方法を採用し、前記印刷機構部に対する前記印刷データの転送に滞りがあるときには前記第１のデータ転送方法を採用してデータを転送することを特徴とする。
【００１６】
上記印刷装置内における印刷データの転送制御手順を実現させるためのコンピュータプログラムは、特定の媒体に記録して保持させることが可能である。すなわち、請求項４記載のプログラムを格納した記録媒体は、ホストコンピュータから受信された印刷データを、受信バッファメモリを経由させてから印刷機構部へ転送する第１のデータ転送経路と、前記受信バッファメモリを経由することなく、前記印刷機構部へ直接転送する第２のデータ転送経路とを備えるプリンタを制御するためのプログラムであって、データ転送経路切り替え手段に、前記印刷機構部へのデータ転送状況判断手段の判断結果に基づき、前記印刷機構部への印刷データ転送経路を前記第１または第２のデータ転送経路に切り替えることを制御内容とするものである。
【００１７】
【発明の実施形態】
以下、本発明の１実施形態について図面を参照して説明する。図１は、実施形態のプリンタにおけるデータ転送経路の概要を表す図である。図では、セントロニクスパラレルやＵＳＢ（Universal Serial Bus）等の各種インタフェースを収用する通信コネクタ１２と、印刷機構部３０に対する窓口となる印刷機構部側インタフェース１５との間におけるデータ転送の様子が表されている。印刷機構部側インタフェース１５は、印刷データが存在する限り、常に印刷機構部３０に対して単位データ（例えば１バイトのデータ）を提示している。印刷機構部３０のデータ処理が順調であるときには、印刷機構部側インタフェース１５から逐次単位データ（１バイト）が取り出されていく。
【００１８】
実施形態におけるプリンタは、ホストコンピュータとの間でパケット通信を行なう。パケット制御のための通信制御部１３は、コントロールチャネルを介してホストコンピュータと通信制御情報をやりとりする。この通信制御部１３は、例えばＡＳＩＣ（Application Specified IC）のようなカスタムチップによって実現されるもので、その機能は従来のプリンタにおけるパケット制御機能と異ならない。
【００１９】
パケット通信を用いてホストコンピュータと通信を行なう場合、以下のような手順がとられる。まず、コントロールチャネルを介して、ホストコンピュータから通信制御部１３に対して受信可能データ量の問い合わせが行なわれる。これに対しプリンタは、受信バッファメモリ１１の空き容量を調べ、通信制御部１３が受信可能データ量をホストコンピュータに通知する。ホストコンピュータはデータチャネルを介して、通知を受けた分量のデータを一括して送信する。
【００２０】
実施形態において特徴的な点は、入力コネクタ１２から印刷機構部側インタフェース１５に至るデータ転送経路が２通り（pass1及びpass2）設けられてあり、経路切り替え部１４がデータ転送状況を監視しつつ、適切な経路を選択してデータを転送させることにある。この経路切り替え部１４は、プリンタの統轄制御部２０と、データ転送状況を監視するための専用チップとによって実現される機能のブロックである。
【００２１】
図２は、上記の経路切り替え部１４が如何にして適切な経路を選択するのかの詳細を説明する図であり、専用チップ４０が担う機能の内容が表されている。専用チップ４０の入力側データセレクタ４１は図１における通信コネクタ１２に対して、また出力側データセレクタ４５は図１における印刷機構部側インタフェース１５に対して、各々接続されている。また、ＣＰＵ２２と（機能的にはプリンタの統轄制御部２０と）通信を行なうためのＣＰＵインタフェース４４が設けられている。
【００２２】
図中、実線の矢印で表されるのは２通りのデータ転送経路（pass1及びpass2）である。印刷データがいずれのデータ転送路を通過している場合にも、タイマー４２が単位データ（１バイト）の通過する時間間隔を検知している。その情報はデータ転送状況判断部４３に対して通知される。
【００２３】
既に述べたように、印刷機構部３０のデータ処理が順調であるときには、印刷機構部側インタフェース１５から逐次単位データが（１バイト）取り出されていく。そのため、データ転送経路を通過していくデータの時間間隔も長くはならない。それに対して、印刷機構部３０でのデータ処理に滞りが生じているときには、データ転送路内における単位データ（１バイト）の通過する時間間隔も長くなる。このような情報に基づいて、データ転送状況判断部４３がプリンタ内部でのデータ転送に滞りが生じているか否かについて判断し、その旨をＣＰＵ２２に対して報告する。ＣＰＵ２２は、その報告に基づいて何れのデータ転送路を用いるかを決定し、入力側データセレクタに指示を与える。
【００２４】
図３には、以上のような判断手順等の具体的流れを表すフローチャートが描かれている。まず、プリンタの電源が投入されると、ＣＰＵ２２から専用チップ４０のＣＰＵインタフェース４４を介して、入力側データセレクタ４１に対してデータ転送経路の選択指示が与えられる（Ｓ１０１）。本実施形態では、プリンタ内部でのデータ転送速度の向上に主眼が置かれるため、電源投入後の初期状態では転送経路（pass2）が選択されるようにしている。この転送経路（pass2）は、通信コネクタ１２と印刷機構部側インタフェース１５との間のデータ転送に際して、受信バッファメモリ１１を経由させずにデータを転送させるための経路である。なお、転送経路（pass2）においては、印刷データの転送にＣＰＵ２２が直接関与することなく、いわゆるＤＭＡ（Direct Memory Access）転送が行なわれる。
【００２５】
次に、データ転送状況判断部４３の記憶部４３１に対して、タイムアウト時間の設定値が与えられ、記憶される（Ｓ１０２）。このタイムアウト時間は、タイマー４２から通知されるデータ通過時間の間隔が、どれだけの大きさになったときにデータ転送に滞りが生じていると判断するかの資料とされる値である。なお、この値は、様々な印刷環境に応じて、異なる値を設定するようにしてもよい。例えば、高品質印刷を行なっているのか、あるいはドラフト印刷を行なっているのかによって、このタイムアウト時間の値を調整してやれば、より適切な条件でデータ転送滞りの判断が行なえることとなる。
【００２６】
印刷データの受信が確認されると（Ｓ１０３においてＹＥＳ）、タイマー４２に対して、単位印刷データ（１バイト）の通過時間間隔の検出開始が指示される（Ｓ１０４）。検出に係る時間は、データ転送状況判断部４３の比較部４３２に対して逐次通知される。この比較部４３２では、記憶部４３１に設定されているタイムアウト時間の値と、通知されてくる時間とを比較する。
【００２７】
印刷機構部側に何らかの事情が発生し（例えば、テキスト印字が連続して機構部の駆動がデータ量に追いつかなくなったとき）、その結果、検出値が設定値を上回ると（Ｓ１０５においてＹＥＳ）データ転送に滞りがあると判断され、その旨はＣＰＵインタフェース４４を介してＣＰＵ２２に報告される。
【００２８】
報告を受けたＣＰＵ２２は、ＣＰＵインタフェース４４を介して入力側データセレクタ４１に対し、データ転送経路（pass1の1）を選択するよう指示が与えられる（Ｓ１０６）。これにより、ＣＰＵ２２は印刷データをＰＣＩＯ転送によって受信バッファメモリ１１に蓄積していく。それと同時に、出力側データセレクタ４５は、転送路（pass1の2）から印刷データを受け入れる状態となって、ＣＰＵ２２によって受信バッファメモリ１１から読み出され、送出されてくる単位データ（１バイト）を印刷機構部側インタフェース１５に送り出す。
【００２９】
図４には、上記のようなデータ転送に滞りが発生した状態での手続の流れについて説明するフローチャートが描かれている。既に述べたように、通信制御部１３はホストコンピュータからの印刷データ受信に際して、一括して受信できるデータ量を応答している。従って、プリンタの統轄制御部２０は、上記情報に基づいて、ホストコンピュータに対して応答した分量の印刷データ全てを受信バッファメモリ１１に格納したか否かを確認できる（Ｓ２０１及びＳ２０２）。
【００３０】
ホストコンピュータに応答した分の全ての印刷データを受信バッファメモリ１１に格納し終えたら（Ｓ２０２においてＹＥＳ）、入力側データセレクタ４１を一旦アイソレーション状態とし、いずれの転送路（pass1及びpass2）をも選択していない状態となるように指示する（Ｓ２０３）。その後、受信バッファメモリ１１に蓄積されている印刷データを、ＣＰＵ２２によって転送路（pass1の2）から出力し終えたら（Ｓ２０４においてＹＥＳ）、再びホストコンピュータからのデータ受信及びプリンタ内部でのデータ転送を開始するため、ＣＰＵ２２は入力側データセレクタ４１に対して、データ転送経路（pass2）を選択するよう指示が与えられる（Ｓ２０５）。また、出力側データセレクタ４５も、転送路（pass2）からデータを受け入れる状態とされる（Ｓ２０６）。
【００３１】
本実施形態は以上のとおりであるが、本発明は上記内容に拘らず、その要旨を逸脱しない範囲で様々な構成変更が可能である。特に、実施形態において受信バッファメモリ１１は、プリンタ１が備えるＤＲＡＭモジュール２の所定のアドレス空間を割り当てて構成されるとしたが、この受信バッファメモリ１１は専用の記憶素子を用いて構成されているものであってもよい。
【００３２】
また、実施形態においては、監視に係るデータ転送状況に応じていずれかのデータ転送経路を選択して使用させるための機能のブロックである経路切り替え部１４（図１）は、プリンタの統轄制御部２０と専用チップ４０が有する機能とが、相互に結びついてこれを実現しているが、これら機能は単独のカスタムチップのみに集約して担わせることも可能である。
【００３３】
また、実施形態において、受信バッファメモリを経由させないデータ転送経路においてはデータのＤＭＡ転送を行なうものとして説明したが、これも通常のＰＣＩＯ転送による構成としても構わない。
【００３４】
【発明の効果】
従来のプリンタにおけるデータの内部転送に際しては、受信バッファメモリに対するデータの書込みや読み出しに、ある程度の時間が費やされることは不可避であった。本発明では、印刷データのサイズがある程度の大きさを有しており、それに対して印刷機構部の処理速度が十分に速いような場合には、受信バッファメモリを経由させずに印刷データの転送を行なわせることが可能となった。
【００３５】
しかも、上記のような状態から何らかの理由によりデータ転送に滞りが生じたときには、従来通り印刷データを受信バッファメモリに経由させることもできる。そのため、例えばホストコンピュータとプリンタとがパケット通信を行なっている場合のように、そのデータ（パケット）の途中でデータ転送を中断させることができないような場合であっても、ホストコンピュータから送信されたデータが、確実にプリンタ側で受信されることが約束され、パケットの取りこぼしが生ずるなどの不都合が発生することもない。
【図面の簡単な説明】
【図１】実施形態のプリンタにおけるデータ転送経路の概要を表す図。
【図２】本発明の経路切り替え手段の主要部分を占める機能を表す図。
【図３】プリンタの電源を投入してから、データ転送に滞りが生じる事態に至る場合の制御手順について説明するフローチャート。
【図４】データ転送に滞りが生じた状態からの制御手順について説明するフローチャート。
【図５】受信バッファメモリを備えるプリンタにおけるデータの流れを表す図。
【符号の説明】
１  プリンタ
３  ホストコンピュータ
１０  インタフェース部
１１  受信バッファメモリ
１２  通信コネクタ
１３  通信制御部
１４  経路切り替え部
１５  印刷機構部側インタフェース
２０  統轄制御部
２２  ＣＰＵ
３０  印刷機構部
４０  専用チップ
４１  入力側データセレクタ
４２  タイマー
４３  データ転送状況判断部
４３１  記憶部
４３２  比較部
４４  ＣＰＵインタフェース
４５  出力側データセレクタ
【図１】
0004529341.tif 000002
【図２】
0004529341.tif 000003
【図３】
0004529341.tif 000004
【図４】
0004529341.tif 000005
【図５】
0004529341.tif 000006