(57)【要約】【課題】スタンドアロンプリンタ内部の、プリンタドライブタスクが割り込み処理で行われているため、その間画像処理部はレイアウトタスクを行うことができず、プリンタのスループットが低下する。【解決手段】プリンタドライブタスク２２３は、応答監視手段１００を備え、印刷エンジン制御部１１１にクレジット要求（Ｓ１０）を出した後にそのタスクを中断し、応答監視手段１００からの再開信号でプリンタドライブタスク２２３を再開させて、印刷エンジン制御部１１１に印刷データを転送するようにした。【選択図】図３
2004082335.tif 000002
【特許請求の範囲】
【請求項１】
画像データを受信して当該画像を印刷するプリンタにおいて、
前記画像データを受信し、当該画像データを印刷データに変換するレイアウトタスクと、
前記印刷データを、印刷エンジンを制御するエンジン制御部に転送するプリンタドライブタスクと、
前記エンジン制御部からの応答信号を監視する応答監視手段とを有し、
前記プリンタドライブタスクは、前記エンジン制御部が受信可能なデータ量を要求するクレジット要求を当該エンジン制御部に送信し、その後スリープ状態になり、前記応答監視手段が、前記クレジット要求に対する前記データ量を含む応答信号の受信を確認した後に、前記スリープ状態から復帰して、当該データ量に応じた印刷データを前記エンジン制御部に送信することを特徴とするプリンタ。
【請求項２】
前記応答監視手段は、前記エンジン制御部から通知された前記応答信号のデータ長分だけ、当該応答信号を受信したかを監視することを特徴とする請求項１記載のプリンタ。
【請求項３】
前記プリンタドライブタスクは、前記応答信号のデータ長を前記エンジン制御部から受信し、前記応答監視手段に受信予定データ長として設定することを特徴とする請求項１又は２記載のプリンタ。
【請求項４】
画像データを受信して当該画像を印刷するプリンタにおいて、
前記画像データを受信し、当該画像データを印刷データに変換するレイアウトタスクと、
前記印刷データを、印刷エンジンを制御するエンジン制御部に転送するプリンタドライブタスクと、
前記エンジン制御部からの応答信号を監視する応答監視手段とを有し、
前記プリンタドライブタスクは、前記エンジン制御部が受信可能なデータ量を要求するクレジット要求を当該エンジン制御部に送信してからスリープ状態になり、
その後、前記レイアウトタスクを開始することを特徴とするプリンタ。
【請求項５】
前記応答監視手段が、ＦＩＦＯを有することを特徴とする請求項１乃至４記載のプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタに関し、より詳しくは記憶媒体に蓄積された画像データを、プリンタ自身で画像処理して印刷するスタンドアロンプリンタに関するものである。
【０００２】
【従来の技術】
従来、メモリカード等の記憶媒体から画像データを受け取り、印刷データに変換し、印刷データを印刷エンジンに送信して印刷を行うプリンタ、いわゆるスタンドアロンプリンタがある（例えば、非特許文献１参照。）。デジタルカメラや、デジタルビデオカメラ等の記憶媒体として、様々なメモリモジュールがある。これらコンパクトフラッシュ（登録商標）、スマートメディア、メモリスティック等のメモリモジュールに記憶された画像データを、ホストコンピュータが画像処理を行って印刷データに変換し、その印刷データを、ホストコンピュータのパラレルポートやＵＳＢポート経由で接続されたプリンタに送信してプリントアウトしていた。しかし、スタンドアロンプリンタでは、ホストコンピュータを介さずにプリンタ自体で画像処理を行い、印刷エンジンを駆動して、プリントアウトを行う。メモリモジュールから直接画像データを受け取り、それを画像処理して印刷データに変換して印刷するため、印刷したい時はプリンタのみの起動でコンピュータは起動しなくてもよいため、即座に印刷できるという利便性の高いものである。
【０００３】
スタンドアロンプリンタは、メモリモジュールから画像データを受け取って画像処理する画像処理部と、印刷データを印刷する印刷エンジンからなる。メモリモジュールから受け取った画像データを、印刷データに変換処理するレイアウトタスクは画像処理部で行われる。画像処理部で変換処理された印刷データは、プリンタドライブタスクによって印刷エンジンに送信されて実際に印刷される。
【０００４】
図４は、従来の、プリンタドライブタスクとプリンタエンジン制御部とのシーケンスチャートである。プリンタドライブタスクでは、エンジン制御部にクレジット要求（１０）して、印刷データをどの程度送信してよいか問い合わせる。エンジン制御部は、それに応答（２０）して受信可能な印刷データのデータ量をプリンタドライブタスクに返す。プリンタドライブタスクでは、そのデータ量分の印刷データ（３０）をエンジン制御部に送信する。
【０００５】
プリンタドライブタスクは、ハードウエア的にはレジスタを用い、エンジン制御部からの応答（２０）を受信して画像処理部に送っている。エンジン制御部からの応答（２０）を最後まで受信しないと、送信可能な印刷データのデータ量を取得できず、プリンタドライブタスクは、エンジン制御部に画像処理部からの印刷データを送信できない。
【０００６】
【非特許文献１】
セイコーエプソン株式会社カタログ、コード：ＣＬＰＭ８５０ＰＴＢ、２００２年６月５日、ｐ．１−６
【０００７】
【発明が解決しようとする課題】
しかしながら、上記プリンタドライブタスクによる、クレジット要求とデータ量の受信処理が割り込み処理で行われているため、その間画像処理部はレイアウトタスクを行うことができず、プリンタのスループットが低下するという課題があった。
【０００８】
また、レジスタの容量が少ないと１度に受け取れるエンジン制御部からの応答（２０）が少ないため、応答（２０）の受信処理を繰り返し行って最後まで受信するのに時間がかかり、その間画像処理部はレイアウトタスクを実行できず、プリンタのスループットが低下するという課題があった。
【０００９】
そこで、本発明の目的は、プリンタドライブタスクによる割り込み時間を短縮し、画像処理部からの印刷データを効率よくエンジン制御部に送信できる、スループットの高いプリンタを提供することにある。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、本発明の一つの側面は、画像データを受信してその画像を印刷するプリンタにおいて、画像データを受信し、その画像データを印刷データに変換するレイアウトタスクと、印刷データを、印刷エンジンを制御するエンジン制御部に転送するプリンタドライブタスクと、エンジン制御部からの応答信号を監視する応答監視手段とを有し、プリンタドライブタスクは、エンジン制御部が受信可能なデータ量を要求するクレジット要求をエンジン制御部に送信し、その後スリープ状態になり、応答監視手段が、クレジット要求に対するデータ量を含む応答信号の受信を確認した後に、スリープ状態から復帰して、データ量に応じた印刷データをエンジン制御部に送信することを特徴とするプリンタにある。
【００１１】
プリンタドライブタスクは、エンジン制御部からの応答信号の受信状態を応答監視部に監視させるので、割り込み状態のまま応答信号を待ち続けることがなく、割り込み時間を短くすることができるので、プリンタのスループットが向上する。
【００１２】
本発明の他の側面は、画像データを受信して画像を印刷するプリンタにおいて、画像データを受信し、画像データを印刷データに変換するレイアウトタスクと、印刷データを、印刷エンジンを制御するエンジン制御部に転送するプリンタドライブタスクと、エンジン制御部からの応答信号を監視する応答監視手段とを有し、プリンタドライブタスクは、エンジン制御部が受信可能なデータ量を要求するクレジット要求をエンジン制御部に送信してからスリープ状態になり、その後、レイアウトタスクが開始されることを特徴とするプリンタにある。
【００１３】
プリンタドライブタスクがスリープ状態になっている間は、レイアウトタスクが画像処理を行えるため、より効率的に画像処理ができてプリンタのスループットが向上する。
【００１４】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではなく、特許請求の範囲に記載された発明とその均等物にまで及ぶものである。
【００１５】
図１は、本発明の実施の形態例のプリンタのハードウエアブロック図である。図１において、ＣＰＵ１０１は、プリンタ内部での画像処理と、プリンタエンジン制御部との通信などを行う。また、ＲＯＭ１０３には、ＣＰＵ１０１が実行する各種のプログラムが格納されている。ＲＡＭ１０７は、ＣＰＵ１０１のワーク領域として使用されるが、画像処理されたデータなどを一時的に格納するバッファとしても機能する。カード入出力部１１９は、具体的には各種メモリモジュールのスロットである。着脱可能なメモリモジュールが、電気的に接続される。メモリモジュールには、画像データファイル等が格納されている。画像処理用各種機能ユニット１０５は、カード入出力部１０９から画像データを読み込んだり、読み込んだデータを画像処理したりする。
【００１６】
画像処理用各種機能ユニット１０５は、８ビットデータ通信路１１３を介して、図示しない印刷エンジンを制御するプリンタエンジン制御部１１１と、接続されている。画像処理用各種機能ユニット１０５は、８ビットデータ通信路１１３を介して、プリンタエンジン制御部１１１と通信をしている。この通信処理が、いわゆるプリンタドライブタスクである。
【００１７】
ここで、画像処理用各種機能ユニット１０５は応答監視手段１００を持っており、プリンタドライブタスクにおけるプリンタエンジン制御部１１１からの受信バイト数を監視している。この応答監視手段１００は、より具体的にはＦＩＦＯ等のメモリが挙げられる。しかしながら、それに限定されず、同等の機能を持つ手段であれば何らかまわない。
【００１８】
上述したプリンタドライブタスクは、プリンタエンジン制御部１１１にクレジット要求を出す。プリンタエンジン制御部１１１は、このクレジット要求に応答して、プリンタドライブタスクが受け取る受信バイト数を画像処理部に応答する。この応答によって、受信バイト数がプリンタドライブタスクに感知される。即ち、プリンタドライブタスクは、応答監視手段１００がプリンタドライブタスクに割り込み要求を出すまでに受信する予定のデータである受信バイト数を、設定する。
【００１９】
プリンタドライブタスクは、この受信バイト数を設定すると、プリンタエンジン制御部１１１からのデータ受信とその受信データの容量の監視は応答監視手段１００に行わせて、タスクの休眠状態（スリープ状態）になり自らのＣＰＵリソースをレイアウトタスクに返す。
【００２０】
これによって、従来のように、プリンタドライブタスクが割り込み状態のままエンジン制御部からの応答を全て受け取るまで、ＣＰＵ１０１のリソースを独占することがなくなる。プリンタドライブタスクがスリープ状態になって、ＣＰＵリソースをレイアウトタスクに返した時から、レイアウトタスクは処理を開始することができる。
【００２１】
応答監視手段１００は、受信バイト数が設定された容量になるまでデータを受信して、その後、スリープ状態であったプリンタドライブタスクをウエイクアップさせる。具体的には、応答監視手段１００が、プリンタドライブタスクが走っているＲＴＯＳ（Ｒｅａｌ　Ｔｉｍｅ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）から、ウェイクアップシグナルを出させて、プリンタドライブタスクに割り込み処理を開始させる。
【００２２】
ウエイクアップしたプリンタドライブタスクは、割り込み処理を行い、応答監視手段１００から、設定された受信バイト数分の応答データを受信する。この応答データから、プリンタドライブタスクがプリンタエンジン制御部に送信可能な、印刷データのデータ量が感知される。この感知されたデータ量分の印刷データが、プリンタドライブタスクから印刷エンジン制御部１１１へと送信される。
【００２３】
この様に、応答監視手段１００を設け、プリンタドライブタスクは印刷エンジン制御部１１１にクレジット要求を出して、受信バイト数設定後、即座にＣＰＵリソースをレイアウトタスクに返して自らはスリープ状態となるので、ＣＰＵリソースが有効に使われてスループットが向上する。
【００２４】
更に、応答監視手段１００は、設定された受信バイト数まで、データの受信とその受信データの容量を監視して、設定された受信バイト数分受信した後、速やかにプリンタドライブタスクに優先度の高い割り込みを開始させて、プリンタエンジン制御部１１１に印刷データの送信を行う。このため、プリンタドライブタスクにおけるプリンタエンジン制御部への印刷データの送信にも滞りがなくスループットが向上する。
【００２５】
図２は、本発明の実施の形態例のプリンタ内部の処理のソフトウエアブロック図である。また、図３は、本発明の実施の形態例のプリンタドライブタスクのソフトウエア部をハードウエア部と対比させた図である。以下、図２を用いてプリンタ内部の主なタスクを説明し、図３を用いて、その主なタスクの中でもプリンタドライブタスクについて特に詳しく説明する。図２、図３において、同一部分には、同一の符号を用いる。
【００２６】
図２において、主なタスクは、画像処理の主な部分を実行するレイアウトタスク２０３と、プリンタエンジン制御部２２５との通信を主として行うプリンタドライブタスク２２３の２つである。
【００２７】
画像処理には、レイアウトタスク２０３だけでなく、デコードタスク２０５、２値化・ラスタライズタスク２１５等のタスクがある。
【００２８】
レイアウトタスク２０３は、デコードタスクにファイル読み出し命令２０４を出し、ＪＰＥＧデコードモジュール２０７、ファイルシステム２０９、カード入出力アクセスモジュール２１１によって、図示しないメモリカードから画像データを読み出し、ＪＰＥＧ方式で符号化された画像データをデコードし、そのデコードされた画像データを、デコード結果格納バッファ２１３に書き込む。また、上記デコードが終わると、レイアウトタスクにデコードタスクの終了通知を返す。
【００２９】
そして、レイアウトタスク２０３は２値化・ラスタライズタスク２１５に２値化・ラスタライズ命令２１４を出す。２値化・ラスタライズタスク２１５は、２値化モジュール２１７とラスタライズモジュール２１９によってタスクを実行して、印刷データをラスタライズデータバッファ２２１に書き込み、プリンタドライブタスク２２３に出力命令２１６を出す。
【００３０】
プリンタドライブタスクは出力命令２１６を受けてプリンタエンジン制御部２２５へクレジット要求を出してスリープ状態になり、ＣＰＵリソースをレイアウトタスクに返す。
【００３１】
この様に、プリンタ内部の処理において、レイアウトタスク２０３とプリンタドライブタスク２２３は、特に重要であり、双方が円滑に処理をしないと、高速なプリンタ動作は望めないのである。
【００３２】
図３において、右側がソフトウエア部、左側がハードウエア部である。その境界は一点鎖線で示してある。プリンタドライブタスク２２３は、上述したようにプリンタエンジン制御部１１１にクレジット要求（Ｓ１０）を出す。プリンタエンジン制御部１１１は、このクレジット要求に対してプリンタドライブタスク２２３側が受け取る受信バイト数を、応答（Ｓ２０）する。この応答を受けて、プリンタドライブタスク２２３は、受け取る受信バイト数を設定する（Ｓ３０）。
【００３３】
ここで、受け取る受信バイト数の設定は、ハードウエア的には応答監視手段１００が受信する受信バイト数の設定となる。この応答監視手段１００は、より具体的には、シリアル書き込みかつシリアル読み出しのメモリ、例えばＦＩＦＯであるが、これに限定されない。
【００３４】
プリンタドライブタスク２２３は、受信バイト数の設定（Ｓ３０）が終わると、タスクを中断させてスリープ状態（Ｓ４０）となる。この時プリンタドライブタスク２２３は、ＣＰＵのリソースをレイアウトタスク２０３に返す。即ち、プリンタドライブタスク２２３がスリープ状態（Ｓ４０）になった時から、レイアウトタスク２０３は、画像処理を開始することができる。
【００３５】
一方、応答監視手段１００は、プリンタエンジン制御部１１１から応答を受け続け、受け取った応答データの容量を監視する。応答監視手段１００は、設定された受信バイト数分データを受信すると、割り込み要求（Ｓ４５）を発生させる。即ち、プリンタドライブタスク２２３が動作しているＲＴＯＳ（Ｒｅａｌ　Ｔｉｍｅ　Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）に割り込み要求（Ｓ４７）を出して、ウエイクアップ信号（Ｓ４９）をプリンタドライブタスク２２３に送らせる。プリンタドライブタスク２２３は、このウエイクアップ信号に応答してウエイクアップ（Ｓ５０）し、割り込み処理を開始する。
【００３６】
プリンタドライブタスク２２３は、応答を受信した旨のフラグをセット（Ｓ６０）して、応答監視手段１００から、設定された受信バイト数分の受信データを受け取り、受信データに含まれるクレジット数、即ちプリンタエンジン制御部１１１が受信可能なデータ量を参照し、そのプリンタエンジン制御部１１１に転送可能なデータ量をセット（Ｓ７０）し、セットされたデータ量分の印刷データをプリンタエンジン制御部に転送（Ｓ８０）する。
【００３７】
以上、述べたとおり、応答監視手段１００を設けて、プリンタドライブタスク２２３が、クレジット要求の回答を受けて受信バイト数の設定をした後すぐにスリープ状態（Ｓ４０）になり、ＣＰＵのリソースをレイアウトタスク２０３に返すことができる。よって、ＣＰＵのリソースを効率的に使うことができ、スループットが向上する。
【００３８】
また、応答監視手段１００は、設定された受信バイト数分のデータを受信後、速やかにプリンタドライブタスクをスリープ状態（Ｓ４０）からウエイクアップ（Ｓ５０）させて、優先度の高い割り込み処理を行わせる。即ち、プリンタドライブタスクは、応答監視手段１００から受信データを受け取って応答を受信した旨のフラグをセット（Ｓ６０）し、プリンタエンジン制御部１１１に転送可能なデータ量をセット（Ｓ７０）して、セットされたデータ量分の印刷データを転送（Ｓ８０）する。このため、画像処理の効率化のみでなく、優先度の高い割り込み処理を行って、迅速に印刷データが転送できるので、スループットが向上する。
【００３９】
以上、本発明によれば、スタンドアロンプリンタにおいて、プリンタドライブタスクによる割り込み時間を短縮し、画像処理部からの印刷データを効率よくエンジン制御部に送信できる、スループットの高いプリンタを提供できる。
【図面の簡単な説明】
【図１】本発明の実施の形態例のプリンタのハードウエアブロック図である。
【図２】本発明の実施の形態例のプリンタ内部の処理のソフトウエアブロック図である。
【図３】本発明の実施の形態例のプリンタドライブタスクのソフトウエア部をハードウエア部と対比させた図である。
【図４】従来の、プリンタドライブタスクとプリンタエンジン制御部とのシーケンスチャートである。
【符号の説明】
１００　　　応答監視手段
１０１　　　ＣＰＵ
１０３　　　ＲＯＭ
１０５　　　画像処理用各種機能ユニット
１０７　　　ＲＡＭ
１０９　　　カード入出力部
１１１　　　プリンタエンジン制御部
２０３　　　レイアウトタスク
２２３　　　プリンタドライブタスク
（Ｓ１０）　クレジット要求
（Ｓ２０）　応答
（Ｓ３０）　受信バイト数
（Ｓ４０）　スリープ状態
（Ｓ５０）　ウエイクアップ
（Ｓ６０）　応答受信フラグセット
（Ｓ７０）　転送可能データ量セット
（Ｓ８０）　ｎクレジットデータ転送
【図１】
2004082335.tif 000003
【図２】
2004082335.tif 000004
【図３】
2004082335.tif 000005
【図４】
2004082335.tif 000006