(57)【要約】【課題】  ２系統からの画像出力要求が競合しても、画像出力要求に基づいて画像を適切に出力すること。【解決手段】  画像出力装置１の制御情報生成手段４３は、画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる。１対１通信手段４１は、所定の有線あるいは無線のピアツーピアの第１の通信方式で第１の画像出力要求装置３から画像出力要求を受信する。ネットワーク通信手段３１，３２は、所定の有線あるいは無線の第２の通信方式の通信ネットワーク４に接続され、第２の画像出力要求装置２から該通信ネットワーク４を介して画像出力要求を受信する。排他制御手段４０ａは、第１の画像出力要求装置３からの画像出力要求と第２の画像出力要求装置２からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求を制御情報生成手段４３に処理させる。【選択図】  図２
2007030439.tif 000002
【特許請求の範囲】
【請求項１】
画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる制御情報を生成する制御情報生成手段と、
所定の有線あるいは無線のピアツーピアの第１の通信方式で、画像データに基づく画像の出力を要求する第１の画像出力要求装置から画像出力要求を受信する１対１通信手段と、
所定の有線あるいは無線の第２の通信方式の通信ネットワークに接続され、第２の画像出力要求装置から該通信ネットワークを介して画像出力要求を受信するネットワーク通信手段と、
上記第１の画像出力要求装置からの画像出力要求と上記第２の画像出力要求装置からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求を上記制御情報生成手段に処理させる排他制御手段と、
を備えることを特徴とする画像出力装置。
【請求項２】
前記制御情報生成手段は、前記１対１通信手段と前記第１の画像出力要求装置との通信路または前記ネットワーク通信手段と第２の画像出力要求装置との通信路を使用して、前記第２の画像出力要求装置または前記第１の画像出力要求装置を検出し、
前記排他制御手段は、前記１対１通信手段と前記第１の画像出力要求装置との通信路、および前記ネットワーク通信手段と第２の画像出力要求装置との通信路のうち、先に確立した通信路からの画像出力要求を選択することを特徴とする請求項１記載の画像出力装置。
【請求項３】
前記１対１通信手段は、前記第１の画像出力要求装置との通信路をピアツーピアで確立し、
前記ネットワーク通信手段は、前記第２の画像出力要求装置との通信路を確立し、
前記制御情報生成手段は、前記第１の画像出力要求装置と前記１対１通信手段との通信路および／または前記第２の画像出力要求装置と前記ネットワーク通信手段との通信路を使用して、前記第２の画像出力要求装置または前記第１の画像出力要求装置を検出し、
前記排他制御手段は、前記第１の画像出力要求装置および前記第２の画像出力要求装置のうち、前記制御情報生成手段により先に検出された方からの画像出力要求を選択すること、
を特徴とする請求項１記載の画像出力装置。
【請求項４】
前記１対１通信手段は、前記第１の画像出力要求装置との通信路をピアツーピアで確立し、
前記ネットワーク通信手段は、前記第２の画像出力要求装置との通信路を確立し、
前記制御情報生成手段は、前記第１の画像出力要求装置と前記１対１通信手段との通信路および／または前記第２の画像出力要求装置と前記ネットワーク通信手段との通信路を使用して、前記第２の画像出力要求装置および／または前記第１の画像出力要求装置を検出し、
前記排他制御手段は、前記第１の画像出力要求装置および前記第２の画像出力要求装置のうち、前記制御情報生成手段への画像出力要求の送信処理を先に開始した方からの画像出力要求を選択すること、
を特徴とする請求項１記載の画像出力装置。
【請求項５】
前記１対１通信手段は、前記第１の画像出力要求装置との通信路をピアツーピアで確立し、
前記ネットワーク通信手段は、前記第２の画像出力要求装置との通信路を確立し、
前記制御情報生成手段は、前記第１の画像出力要求装置と前記１対１通信手段との通信路および／または前記第２の画像出力要求装置と前記ネットワーク通信手段との通信路を使用して、前記第２の画像出力要求装置および／または前記第１の画像出力要求装置を検出し、
前記排他制御手段は、前記第１の画像出力要求装置および前記第２の画像出力要求装置からの画像出力要求をキューイングし、画像出力要求に基づく画像出力が終了するごとに順番にキューから次の画像出力要求を前記制御情報生成手段へ出力するキューイング手段を有すること、
を特徴とする請求項１記載の画像出力装置。
【請求項６】
前記排他制御手段は、前記第１の画像出力要求装置および前記第２の画像出力要求装置のうちの一方からの画像出力要求に基づく画像出力が終了するまで、他方から前記制御情報生成手段への画像出力要求を遮断することを特徴とする請求項１から４の中のいずれか１項記載の画像出力装置。
【請求項７】
前記排他制御手段は、前記１対１通信手段により受信された画像出力要求と前記ネットワーク通信手段により受信された画像出力要求が競合する場合に、予め設定された順位に基づき優先的に一方を選択し、選択した画像出力要求を前記制御情報生成手段に供給することを特徴とする請求項１記載の画像出力装置。
【請求項８】
所定の有線あるいは無線のピアツーピアの第１の通信方式で、画像データに基づく画像の出力を要求する第１の画像出力要求装置から画像出力要求を受信するステップと、
所定の有線あるいは無線の第２の通信方式の通信ネットワークに接続され、第２の画像出力要求装置から該通信ネットワークを介して画像出力要求を受信するステップと、
上記第１の画像出力要求装置からの画像出力要求と上記第２の画像出力要求装置からの画像出力要求が競合する場合に、排他的に一方を選択するステップと、
選択された画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる制御情報を生成するステップと、
を備えることを特徴とする画像出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像出力装置および画像出力方法に関する。
【背景技術】
【０００２】
非特許文献１は、ＰｉｃｔＢｒｉｄｇｅによるダイレクト印刷システムを開示する。ダイレクト印刷システムでは、デジタルスチルカメラとプリンタとを、パーソナルコンピュータを介さずに直接に接続する。デジタルスチルカメラは、画像の印刷要求をプリンタへ送信する。プリンタは、印刷要求を解釈し、画像の印刷を実行する。
【０００３】
【非特許文献１】「Ｗｈｉｔｅ  Ｐａｐｅｒ  ｏｆ  ＣＩＰＡ  ＤＣ−００１−２００３  Ｄｉｇｉｔａｌ  Ｐｈｏｔｏ  Ｓｏｌｕｔｉｏｎｓ  ｆｏｒ  Ｉｍａｇｉｎｇ  Ｄｅｖｉｃｅｓ（Ｊａｐａｎｅｓｅ）」Ｃａｍｅｒａ＆Ｉｍａｇｉｎｇ  Ｐｒｏｄｕｃｔｓ  Ａｓｓｏｃｉａｔｉｏｎ、２００３年２月３日。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
現在、ダイレクト印刷システムでは、デジタルスチルカメラ（ＤＳＣ）とプリンタとは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルにより１対１対応で直接に接続されている。最近、ＰＴＰ（Ｐｈｏｔｏ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に対応したＰＴＰ／ＩＰ（ＰＴＰ  ｏｖｅｒ  ＩＰ）が提案されている。そこで、ＤＳＣとプリンタとをＩＰネットワーク接続に対応させ、ＩＰネットワーク経由にてダイレクト印刷をすることが考えられる。
【０００５】
しかしながら、ダイレクト印刷システムに対応するプリンタを、単に、ネットワーク接続に対応させた場合、以下のような課題が考えられる。ダイレクト印刷システムに対応するプリンタを、ネットワーク経由のダイレクト印刷に対応させる場合、そのプリンタは、ＵＳＢケーブルが接続されるＵＳＢコネクタのほかに、ネットワークケーブルが接続されるためのネットワークコネクタを具備することになる。
【０００６】
そのため、ネットワーク経由のダイレクト印刷に対応するプリンタには、ＵＳＢケーブルとネットワークケーブルとが同時に接続される可能性がある。そして、ＵＳＢケーブルで接続されるＤＳＣと、ネットワークケーブル経由で接続されるＤＳＣとが同時に接続されてしまうと、プリンタにおいて、その複数のＤＳＣからの画像出力要求が競合してしまい、画像出力要求に基づいて適切に画像が印刷されない可能性がある。
【０００７】
本発明は、ＵＳＢなどからの画像出力要求とネットワークからの画像出力要求とが競合しても、画像出力要求に基づいて画像を適切に出力することができる画像出力装置および画像出力方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像出力装置は、画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる制御情報を生成する制御情報生成手段と、所定の有線あるいは無線のピアツーピアの第１の通信方式で、画像データに基づく画像の出力を要求する第１の画像出力要求装置から画像出力要求を受信する１対１通信手段と所定の有線あるいは無線の第２の通信方式の通信ネットワークに接続され、第２の画像出力要求装置から該通信ネットワークを介して画像出力要求を受信するネットワーク通信手段と、第１の画像出力要求装置からの画像出力要求と第２の画像出力要求装置からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求を制御情報生成手段に処理させる排他制御手段と、を備えるものである。
【０００９】
これにより、画像出力要求に従って画像を出力する画像出力装置へ画像出力要求を供給する画像出力要求装置を２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【００１０】
本発明に係る画像出力装置は、上述した発明の構成に加えて、制御情報生成手段が、１対１通信手段と第１の画像出力要求装置との通信路またはネットワーク通信手段と第２の画像出力要求装置との通信路を使用して、第２の画像出力要求装置または第１の画像出力要求装置を検出し、排他制御手段が、１対１通信手段と第１の画像出力要求装置との通信路、およびネットワーク通信手段と第２の画像出力要求装置との通信路のうち、先に確立した通信路からの画像出力要求を選択するものである。
【００１１】
これにより、物理層に近い通信レイヤで排他制御を行うため、上位層の通信レイヤを第１の画像要求装置との通信および第２の画像要求装置との通信の２系統のために並列化する必要がなく、処理が簡単になり、上位層にあたる制御情報生成手段などを簡単に実装することができる。
【００１２】
本発明に係る画像出力装置は、上述した発明の構成に加えて、１対１通信手段が、第１の画像出力要求装置との通信路をピアツーピアで確立し、ネットワーク通信手段が、第２の画像出力要求装置との通信路を確立し、制御情報生成手段が、第１の画像出力要求装置と１対１通信手段との通信路および／または第２の画像出力要求装置とネットワーク通信手段との通信路を使用して、第２の画像出力要求装置または第１の画像出力要求装置を検出し、排他制御手段が、第１の画像出力要求装置および第２の画像出力要求装置のうち、制御情報生成手段により先に検出された方からの画像出力要求を選択するものである。
【００１３】
これにより、上位層にあたる制御情報生成手段を並列化する必要がなく、簡単に実装することができる。また、下位層にあたる１対１通信手段と第１の画像出力要求装置との通信レイヤ、およびネットワーク通信手段と第２の画像出力要求装置との通信レイヤが並列化され、下位層では２系統を同時に接続状態することができるため、異なる系統から連続して画像出力をする場合には、下位層での通信路の確立を再度行う必要がなく、直ちに画像出力要求を制御情報生成手段に供給することができる。
【００１４】
本発明に係る画像出力装置は、上述した発明の構成に加えて、１対１通信手段が、第１の画像出力要求装置との通信路をピアツーピアで確立し、ネットワーク通信手段が、第２の画像出力要求装置との通信路を確立し、制御情報生成手段が、第１の画像出力要求装置と１対１通信手段との通信路および／または第２の画像出力要求装置とネットワーク通信手段との通信路を使用して、第２の画像出力要求装置および／または第１の画像出力要求装置を検出し、排他制御手段が、第１の画像出力要求装置および第２の画像出力要求装置のうち、制御情報生成手段への画像出力要求の送信処理を先に開始した方からの画像出力要求を選択するものである。
【００１５】
これにより、制御情報生成手段が並列化され、上位層にあたる制御情報生成手段において２系統を同時に接続状態することができるため、異なる系統から連続して画像出力をする場合には、上位層および下位層での通信路の確立を再度行う必要がなく、直ちに画像出力要求を制御情報生成手段に供給することができる。また、画像出力要求に基づく画像出力がされていない方の画像出力要求装置と制御情報生成手段との接続状態が維持されるため、これらの間での画像出力の設定などの処理を、別の画像出力要求装置による画像出力要求に基づく画像出力が実行されている最中に行うことができる。
【００１６】
本発明に係る画像出力装置は、上述した発明の構成に加えて、１対１通信手段が、第１の画像出力要求装置との通信路をピアツーピアで確立し、ネットワーク通信手段が、第２の画像出力要求装置との通信路を確立し、制御情報生成手段が、第１の画像出力要求装置と１対１通信手段との通信路および／または第２の画像出力要求装置とネットワーク通信手段との通信路を使用して、第２の画像出力要求装置および／または第１の画像出力要求装置を検出し、排他制御手段が、第１の画像出力要求装置および第２の画像出力要求装置からの画像出力要求をキューイングし、画像出力要求に基づく画像出力が終了するごとに順番にキューから次の画像出力要求を制御情報生成手段へ出力するキューイング手段を有するものである。
【００１７】
これにより、画像出力要求に従って画像を出力する画像出力装置へ画像出力要求を供給する画像出力要求装置を２つにして、画像出力要求が競合する場合でも、キューイングによって各画像出力要求に基づいて順番に画像を適切に出力することができる。
【００１８】
本発明に係る画像出力装置は、上述した発明の構成に加えて、排他制御手段が、第１の画像出力要求装置および第２の画像出力要求装置のうちの一方からの画像出力要求に基づく画像出力が終了するまで、他方から制御情報生成手段への画像出力要求を遮断するものである。
【００１９】
これにより、一方の画像出力要求装置からの画像出力要求に基づき画像出力を行っている最中に、他方の画像出力要求装置から画像出力要求が送信されてきても、その時点の画像出力に影響を与えることがない。
【００２０】
本発明に係る画像出力装置は、上述した発明の構成に加えて、排他制御手段が、１対１通信手段により受信された画像出力要求とネットワーク通信手段により受信された画像出力要求が競合する場合に、予め設定された順位に基づき優先的に一方を選択し、選択した画像出力要求を制御情報生成手段に供給するものである。
【００２１】
これにより、例えば、２つの画像出力要求が１対１通信手段などで受信された場合に、先に受信された画像出力要求に基づく画像出力の開始前であれば、後に受信された画像出力要求をその送信元である画像出力要求装置に応じて優先させることができる。
【００２２】
本発明に係る画像出力方法は、所定の有線あるいは無線のピアツーピアの第１の通信方式で、画像データに基づく画像の出力を要求する第１の画像出力要求装置から画像出力要求を受信するステップと、所定の有線あるいは無線の第２の通信方式の通信ネットワークに接続され、第２の画像出力要求装置から該通信ネットワークを介して画像出力要求を受信するステップと、第１の画像出力要求装置からの画像出力要求と第２の画像出力要求装置からの画像出力要求が競合する場合に、排他的に一方を選択するステップと、選択された画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる制御情報を生成するステップと、を備えるものである。
【００２３】
これにより、画像出力要求に従って画像を出力する画像出力装置へ画像出力要求を供給する画像出力要求装置を２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態に係る画像出力装置および画像出力方法を、図面に基づいて説明する。画像出力装置は、ダイレクト印刷システムのプリンタとして説明する。画像出力方法は、そのプリンタの動作として説明する。
【００２５】
実施の形態１．
図１は、本発明の実施の形態１に係る画像出力装置としてのプリンタ１のハードウェア構成図である。プリンタ１は、マイクロコンピュータ１１を有する。マイクロコンピュータ１１は、ネットワークＩ／Ｆ（インタフェース）部２１と、ＵＳＢホストＩ／Ｆ部２３と、中央処理装置（ＣＰＵ）２４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２５と、ＲＯＭ２６と、これらを接続するシステムバス２７と、を有する。ＲＯＭ２６は、メインプログラム２８を記憶する。システムバス２７には、この他にも、図示外の入出力ポートを介して、印刷エンジン２９が接続される。
【００２６】
ネットワークＩ／Ｆ部２１は、ネットワークコネクタ２０に接続される。ネットワークＩ／Ｆ部２１は、送信するデータをネットワークコネクタ２０から送出する。ネットワークＩ／Ｆ部２１は、ネットワークコネクタ２０から信号を受信し、その信号に重畳されるデータを受信する。
【００２７】
ＵＳＢホストＩ／Ｆ部２３は、ＵＳＢコネクタ２２に接続される。ＵＳＢホストＩ／Ｆ部２３は、ＵＳＢコネクタ２２に接続される機器のＵＳＢによる通信を管理する。ＵＳＢホストＩ／Ｆ部２３は、ＵＳＢコネクタ２２に接続される機器との通信とを管理する。また、ＵＳＢホストＩ／Ｆ部２３は、接続要求があったら、ＵＳＢによる接続処理を実行する。
【００２８】
印刷エンジン２９は、用紙に画像などを印刷する装置である。印刷エンジン２９には、インクジェット方式のものなどがある。インクジェット方式の印刷エンジン２９は、用紙を印刷位置へ搬送する機構や、印刷位置にある用紙へインクを吐出する機構などを有する。
【００２９】
図２は、図１のプリンタ１に、第２の画像出力要求装置としてのＤＳＣ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）２と、第１の画像出力要求装置としてのＤＳＣ３が接続されたダイレクト印刷システムを示す図である。
【００３０】
ＤＳＣ２は、通信ネットワーク４を介して、プリンタ１のネットワークコネクタ２０に接続される。通信ネットワーク４には、たとえばイーサネット（登録商標）などのＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）がある。この場合、それら複数の通信ネットワーク４には、その一部として、インターネット、電気通信回線、ＡＴＭ交換網、無線通信網などの大規模ネットワークが含まれていてもよい。
【００３１】
ＤＳＣ３は、ＵＳＢケーブル５により、プリンタ１のＵＳＢコネクタ２２に接続される。
【００３２】
プリンタ１のマイクロコンピュータ１１の中央処理装置２４が、ＲＯＭ２６に記憶されるメインプログラム２８をＲＡＭ２５に読み込んで実行することで、プリンタ１には、排他制御手段としての排他制御部４０ａと、ネットワーク通信手段の一部としてのＴＣＰ／ＩＰ部３１、ネットワーク通信手段の一部としてのＰＴＰ／ＩＰ部３２、１対１通信手段としてのＳＩＣＤ（Ｓｔｉｌｌ  Ｉｍａｇｅ  Ｃａｐｔｕｒｅ  Ｄｅｖｉｃｅ）部４１と、ＰＴＰイニシエータ４２と、印刷指示生成手段としてのＤＰＤＰレイヤ部４３と、スタンドアロン印刷制御部４４と、が実現される。
【００３３】
ＴＣＰ／ＩＰ部３１は、ＴＣＰ／ＩＰのパケットを生成し、そのパケットを他のＴＣＰ／ＩＰ部（たとえば後述するＤＳＣ２のＴＣＰ／ＩＰ部５６）との間で送受する。
【００３４】
ＰＴＰ／ＩＰ部３２は、他のＰＴＰ／ＩＰ部（たとえば後述するＤＳＣ２のＰＴＰ／ＩＰ部５７）との間で、ＰＴＰに基づき、ＰＴＰコマンド、ＰＴＰレスポンス、画像データなどを送受する。ＰＴＰ／ＩＰ部３２は、ＰＴＰコマンドなどをＩＰパケットに変換して送受する。
【００３５】
ＳＩＣＤ部４１は、ＵＳＢのＳＩＣＤクラスに基づく構成を有し、エンドポイントを有する。エンドポイントには、入力用、出力用、制御用のものなどがある。ＳＩＣＤ部４１は、予め対応付けられたエンドポイント間でデータを送受する。
【００３６】
ＰＴＰイニシエータ４２は、ＰＴＰレスポンダ５８，７７へＰＴＰコマンドを送信する。ＰＴＰレスポンダ５８，７７は、ＰＴＰイニシエータ４２へＰＴＰレスポンスを送信する。ＰＴＰコマンドには、画像ファイルを取得するためのゲットオブジェクトやゲットパーシャルオブジェクトなどがある。ゲットオブジェクトやゲットパーシャルオブジェクトでは、画像ファイルと１対１に発行されるファイルＩＤが指定される。ＰＴＰレスポンダ５８，７７は、ゲットオブジェクトやゲットパーシャルオブジェクトを受信すると、ファイルＩＤにより指定された画像ファイル、後述のＤＰＤＰレイヤでのＸＭＬスクリプトファイルなどのファイルを、ＰＴＰイニシエータ４２へ送信する。
【００３７】
ＤＰＤＰレイヤ部４３は、マークアップ言語の一種であるＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で記述されたオペレーションスクリプトやレスポンススクリプトを生成し、他のＤＰＤＰレイヤ部（たとえば後述するＤＰＤＰレイヤ部５９，７８）との間で送受する。ＤＰＤＰのオペレーションスクリプトには、たとえば、画像の印刷を要求するプリントジョブなどがある。ダイレクト印刷の処理を制御するＤＰＤＰレイヤでは、このようなＸＭＬスクリプトファイルが送受される。
【００３８】
排他制御部４０ａは、ＤＳＣ２からの画像印刷要求とＤＳＣ３からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求を制御情報生成手段に供給する排他制御手段として機能する。さらに、この実施の形態１では、排他制御部４０ａは、ＤＳＣ２とＴＣＰ／ＩＰ部３１との通信路、およびＤＳＣ３とＳＩＣＤ部４１との通信路のうち、先に確立した通信路からの画像出力要求を選択する。
【００３９】
図３は、ＤＰＤＰレイヤ部４３が受信するプリントジョブのＸＭＬスクリプトの一例を示す図である。
【００４０】
画像出力要求としてのプリントジョブでは、その先頭に、ＸＭＬのバージョン情報が記述される。ＸＭＬのバージョン情報の後には、画像の印刷条件を指定する印刷条件情報が記述される。図３の例では、印刷品質（ＰｒｉｎｔＱｕａｌｉｔｙ）として高品質（Ｂｅｓｔ）が指定され、用紙サイズ（ＰａｐｅｒＳｉｚｅ）としてＬ版（Ｌ）が指定され、用紙タイプ（ＰａｐｅｒＴｙｐｅ）として標準（Ｄｅｆａｕｌｔ）が指定され、画像ファイルタイプとして「ＪＰＥＧ」が指定され、印刷回数（Ｃｏｐｙ）として１回（０００１）が指定され、画像ファイルの識別番号（ＩｍａｇｅＦｉｌｅＩＤ）として「０００００００１」が指定されている。
【００４１】
これら複数の印刷要求値は、それぞれの印刷設定項目に応じたタグ（たとえば＜ＰｒｉｎｔＱｕａｌｉｔｙ＞，＜／ＰｒｉｎｔＱｕａｌｉｔｙ＞）に挟まれている。複数組の印刷要求値およびタグは、さらに、その全体が、画像の印刷要求であることを示すタグ群（＜Ｒｅｑｕｅｓｔ＞＜ＰｒｉｎｔＪｏｂ＞および＜／ＰｒｉｎｔＪｏｂ＞＜／Ｒｅｑｕｅｓｔ＞）に挟まれている。
【００４２】
スタンドアロン印刷制御部４４は、印刷指示に基づいて、印刷エンジン２９を制御する。スタンドアロン印刷制御部４４は、印刷指示値で指定された用紙に、印刷指示値で指定された画質の画像を、印刷指示値で指定されたレイアウトにて印刷するように、印刷エンジン２９を制御する。
【００４３】
図２において通信ネットワーク４を介してプリンタ１に接続されるＤＳＣ２は、ネットワークコネクタ５１を有するネットワークＩ／Ｆ部５２と、画像ファイル５３を記憶する記憶デバイス５４と、ＵＩ（ユーザインタフェース）部５５と、図示外の中央処理装置と、を有する。また、ＤＳＣ２の図示外の中央処理装置は、図示外のダイレクト印刷プログラムを実行することで、ＴＣＰ／ＩＰ部５６と、ＰＴＰ／ＩＰ部５７と、ＰＴＰレスポンダ５８と、ＤＰＤＰレイヤ部５９と、印刷要求部６０と、ファイルシステム部６１と、を実現する。
【００４４】
記憶デバイス５４は、たとえば半導体メモリ、ハードディスクドライブなどの画像データを記憶するものである。ファイルシステム部６１は、記憶デバイス５４を管理する。ファイルシステム部６１は、記憶デバイス５４に記憶されている画像データを、画像単位で、画像ファイルとして認識する。
【００４５】
ＵＩ部５５は、図示外の液晶デバイスおよび操作キーデバイスを有する。液晶デバイスは、表示データに基づいて、画像を表示する。操作キーデバイスは、キー操作に応じた入力データを生成する。
【００４６】
印刷要求部６０は、画像の印刷要求の情報を特定する。印刷要求部６０は、たとえば、記憶デバイス５４に記憶される画像ファイル５３の画像を液晶デバイスに表示する。印刷要求部６０は、その表示状態において操作キーデバイスから選択を意味する入力データが入力されると、その表示している画像を印刷対象の画像として選択する。印刷要求部６０は、選択内容に応じて画像の印刷要求の内容を特定し、その情報をＤＰＤＰレイヤ部５９へ供給する。
【００４７】
なお、ＤＳＣ２のネットワークＩ／Ｆ部５２、ＴＣＰ／ＩＰ部５６、ＰＴＰ／ＩＰ部５７、ＰＴＰレスポンダ５８およびＤＰＤＰレイヤ部５９は、プリンタ１の同名の構成要素と同様の機能を有するものであり、その説明を省略する。
【００４８】
図２においてＵＳＢケーブル５を介してプリンタ１に接続されるＤＳＣ３は、ＵＳＢコネクタ７１を有するＵＳＢデバイスＩ／Ｆ部７２と、画像ファイル７３を記憶する記憶デバイス７４と、ＵＩ部７５と、図示外の中央処理装置と、を有する。また、ＤＳＣ３の図示外の中央処理装置は、図示外のダイレクト印刷プログラムを実行することで、ＳＩＣＤ部７６と、ＰＴＰレスポンダ７７と、ＤＰＤＰレイヤ部７８と、印刷要求部７９と、ファイルシステム部８０と、を実現する。なお、このＤＳＣ３の各構成要素は、プリンタ１およびＤＳＣ２の同名の構成要素と同様の機能を有するものであり、その説明を省略する。
【００４９】
次に、以上の構成を有するダイレクト印刷システムでの各機器の動作を説明する。まず、プリンタ１に対して、ＤＳＣ３より先にＤＳＣ２が接続される場合について説明し、次に、プリンタ１に対して、ＤＳＣ２より先にＤＳＣ３が接続される場合について説明する。
【００５０】
プリンタ１のネットワークＩ／Ｆ部２１の上位には、排他制御部４０ａ、ＴＣＰ／ＩＰ部３１、ＰＴＰ／ＩＰ部３２、ＰＴＰイニシエータ４２、ＤＰＤＰレイヤ部４３が順番にスタックされる。また、ＤＳＣ２のネットワークＩ／Ｆ部５２の上位には、ＴＣＰ／ＩＰ部５６、ＰＴＰ／ＩＰ部５７、ＰＴＰレスポンダ５８、ＤＰＤＰレイヤ部５９が順番にスタックされる。
【００５１】
これにより、ＤＳＣ２のＴＣＰ／ＩＰ部５６とプリンタ１のＴＣＰ／ＩＰ部３１とは、通信路が確立され、互いにＴＣＰ／ＩＰのパケットを送受可能となる。ＤＳＣ２のＰＴＰ／ＩＰ部５７とプリンタ１のＰＴＰ／ＩＰ部３２とは、互いにＰＴＰコマンド、ＰＴＰレスポンス、画像データなどを送受可能となる。プリンタ１のＰＴＰイニシエータ３３は、ＤＳＣ２のＰＴＰレスポンダ５８へＰＴＰコマンドを送信可能となる。ＤＳＣ２のＰＴＰレスポンダ５８は、プリンタ１のＰＴＰイニシエータ３３へＰＴＰレスポンスや画像データを送信可能となる。
【００５２】
なお、排他制御部４０ａは、例えば、ＴＣＰ／ＩＰ部３１においてＴＣＰの所定のポートでの通信が検出されると、通信ネットワーク４により通信可能な状態になったと判断する。そして、その判断後に、ＤＳＣ３が接続された場合には、排他制御部４０ａは、後述するＤＳＣ３からのＰＴＰコマンドなどを遮断しＰＴＰイニシエータ４２へ供給しない。つまり、ＤＳＣ２がＴＣＰで接続されている間は、ＤＳＣ３からのＰＴＰコマンドなどは遮断される。
【００５３】
以上の接続処理により、排他的に、ＤＳＣ２とプリンタ１との間でのデータ通信が可能な状態となる。
【００５４】
ＤＳＣ２のＤＰＤＰレイヤ部５９やプリンタ１のＤＰＤＰレイヤ部４３は、それぞれの下位のＰＴＰレスポンダ５８あるいはＰＴＰイニシエータ４２が通信可能な状態になると、ＤＰＤＰレイヤでのコネクション処理を開始する。コネクション処理において、ＤＰＤＰレイヤ部４３，５９は、まず、通信相手となるＤＰＤＰレイヤ部を検出するための検出データを、下位のＰＴＰレスポンダ５８あるいはＰＴＰイニシエータ４２に送信させる。
【００５５】
たとえばＤＳＣ２では、ＰＴＰレスポンダ５８が通信可能になると、ＤＰＤＰレイヤ部５９は、ＤＰＤＰレイヤ部４３を検出するための検出データをＰＴＰレスポンダ５８へ供給する。ＰＴＰレスポンダ５８へ供給された検出データは、ＰＴＰ／ＩＰ部５７、ＴＣＰ／ＩＰ部５６を介して、ネットワークＩ／Ｆ部５２へ供給される。ＤＳＣ２のネットワークＩ／Ｆ部５２は、供給された検出データのＴＣＰ／ＩＰのパケットを、ネットワークコネクタ５１から、通信ネットワーク４へ送出する。プリンタ１のネットワークＩ／Ｆ部２１は、通信ネットワーク４から、自分宛てのＴＣＰ／ＩＰのパケットを受信する。
【００５６】
プリンタ１のネットワークＩ／Ｆ部２１が受信したＴＣＰ／ＩＰパケットは、ＴＣＰ／ＩＰ部３１へ供給される。ＴＣＰ／ＩＰ部３１は、ＴＣＰ／ＩＰのパケットからデータ、すなわち検出データを抽出し、ＰＴＰ／ＩＰ部３２を介して、ＰＴＰイニシエータ４２へ供給する。ＰＴＰイニシエータ４２は、受信した検出データを、ＤＰＤＰレイヤ部４３へ供給する。
【００５７】
以上の一連の動作により、ＤＳＣ２のＤＰＤＰレイヤ部５９が生成して送信した検出データは、プリンタ１のＤＰＤＰレイヤ部４３により受信される。
【００５８】
プリンタ１のＤＰＤＰレイヤ部４３は、検出データを受信すると、コネクション処理を開始する。ＤＰＤＰレイヤ部４３は、応答データを、ＤＳＣ２のＤＰＤＰレイヤ部５９へ送信する。これにより、プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９が接続されたことを認識し、ＤＳＣ２のＤＰＤＰレイヤ部５９は、プリンタ１のＤＰＤＰレイヤ部４３が接続されたことを認識する。プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ２のＤＰＤＰレイヤ部５９との間でＤＰＤＰレイヤでの画像印刷のための制御情報の送受が可能となり、通信ネットワーク４を通じたダイレクト印刷が可能な状態となる。なお、検出データおよび応答データを送受する際、ＰＴＰレイヤでは、ＤＰＤＰレイヤの検出データおよび応答データをそれぞれ１つのファイルとして送受するか、検出データおよび応答データにそれぞれ対応するＰＴＰコマンドを送受する。
【００５９】
その後、ＵＩ部５５に対するユーザの操作により、印刷対象となる画像ファイル５３および印刷条件が決定されると、印刷要求部６０は、それらの情報をＤＰＤＰレイヤ部５９に供給する。ＤＰＤＰレイヤ部５９は、その情報に基づいて、例えば図３のような、画像出力要求であるプリントジョブを生成する。この画像出力要求は、１つのＸＭＬスクリプトのテキストファイルとされる。
【００６０】
ＤＳＣ２のＤＰＤＰレイヤ部５９は、生成したプリントジョブを、プリンタ１のＤＰＤＰレイヤ部４３へ送信する。具体的には、ＤＳＣ２のＤＰＤＰレイヤ部５９により生成されたプリントジョブは、ＰＴＰレスポンダ５８、ＰＴＰ／ＩＰ部５７、ＴＣＰ／ＩＰ部５６を介して、ネットワークＩ／Ｆ部５２からＴＣＰ／ＩＰのパケットとして通信ネットワーク４へ送出される。
【００６１】
このＴＣＰ／ＩＰのパケットは、プリンタ１のネットワークＩ／Ｆ部２１により受信される。ＴＣＰ／ＩＰ部３１は、ＴＣＰ／ＩＰのパケットから、プリントジョブを抽出し、ＰＴＰ／ＩＰ部３２を介して、ＰＴＰイニシエータ４２へ供給する。ＰＴＰイニシエータ４２は、受信したプリントジョブを、ＤＰＤＰレイヤ部４３へ供給する。
【００６２】
以上の一連の動作により、ＤＳＣ２のＤＰＤＰレイヤ部５９が生成したプリントジョブは、プリンタ１のＤＰＤＰレイヤ部４３へ供給される。
【００６３】
プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２から、プリントジョブが供給されると、そのプリントジョブに対応する印刷指示を生成する。図３のプリントジョブの場合、ＤＰＤＰレイヤ部４３は、たとえば、識別番号「００００１」の画像ファイルの画像を、Ｌ版の用紙の全面に、高品質で１部印刷する印刷指示を生成する。ＤＰＤＰレイヤ部４３は、生成した印刷指示をスタンドアロン印刷制御部４４へ供給する。また、ＤＰＤＰレイヤ部４３は、プリントジョブにおいて指定されているファイルＩＤの画像ファイル５３を、ＤＳＣ２から取得する。このとき、ＰＴＰイニシエータ４２が画像ファイル５３の送信要求を送信する。その送信要求は、通信ネットワーク４などを介してＤＳＣ２のＰＴＰレスポンダ５８に受信される。ＰＴＰレスポンダ５８は、その送信要求に係る画像ファイル５３をＰＴＰイニシエータ４２へ送信する。
【００６４】
スタンドアロン印刷制御部４４は、まず、供給された印刷指示に対応する印刷エンジン２９の制御データを生成する。スタンドアロン印刷制御部４４は、具体的にはたとえば、印刷する画像のデータから、印刷する用紙のサイズの印刷インク色毎の印刷イメージを生成し、その印刷イメージに対して二値化、インターレースなどの処理をすることで、制御データを生成する。スタンドアロン印刷制御部４４は、生成した制御データを用いて、印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ２が要求した画像を印刷する。
【００６５】
次に、プリンタ１に対して、ＤＳＣ２より先にＤＳＣ３が接続される場合について説明する。
【００６６】
プリンタ１とＤＳＣ３とは、それらのＵＳＢコネクタ２２，７１がＵＳＢケーブル５により接続される。プリンタ１のＵＳＢホストＩ／Ｆ部２３の上位には、排他制御部４０ａ、ＳＩＣＤ部４１、ＰＴＰイニシエータ４２、ＤＰＤＰレイヤ部４３が順番にスタックされる。また、ＤＳＣ３のＵＳＢデバイスＩ／Ｆ部７２の上位には、ＳＩＣＤ部７６、ＰＴＰレスポンダ７７、ＤＰＤＰレイヤ部７８が順番にスタックされる。
【００６７】
ＤＳＣ３のＳＩＣＤ部７６は、ＵＳＢデバイスＩ／Ｆ部７２にＵＳＢケーブル５が接続されると、セットインタフェースコマンドを、プリンタ１のＳＩＣＤ部４１へ送信する。セットインタフェースコマンドは、ＵＳＢデバイスＩ／Ｆ部７２、プリンタ１のＵＳＢホストＩ／Ｆ部２３を介して、ＳＩＣＤ部４１へ送信される。ＤＳＣ３のＳＩＣＤ部７６とプリンタ１のＳＩＣＤ部４１は、それぞれエンドポイントを生成する。
【００６８】
これにより、ＤＳＣ３のＳＩＣＤ部７６とプリンタ１のＳＩＣＤ部４１との間でエンドポイント間の通信路が確立され、データを送受可能な状態となる。したがって、ＵＳＢの上位レイヤにあるプリンタ１のＰＴＰイニシエータ４２と、ＤＳＣ３のＰＴＰレスポンダ７７は、ＰＴＰコマンドなどのデータを送受可能となる。
【００６９】
このとき、排他制御部４０ａは、ＤＳＣ２がＴＣＰ上でプリンタ１に接続していないので、ＤＳＣ３からのＰＴＰコマンドなどをＰＴＰイニシエータ４２にそのまま供給する。なお、この後、ＤＳＣ２がプリンタ１に接続された場合には、排他制御部４０ａは、ＤＳＣ２からのＰＴＰコマンドなどを遮断しＰＴＰイニシエータ４２へ供給しない。つまり、ＤＳＣ３からのＰＴＰコマンドが検出された場合、画像出力（印刷）が終了するまで、ＤＳＣ２からのＰＴＰコマンドなどは遮断される。
【００７０】
ＤＳＣ３のＤＰＤＰレイヤ部７８やプリンタ１のＤＰＤＰレイヤ部４３は、それぞれの下位のＰＴＰレスポンダ７７あるいはＰＴＰイニシエータ４２が通信可能な状態になると、ＤＰＤＰレイヤのコネクション処理を開始する。コネクション処理において使用する検出データおよび応答データは、ＤＳＣ３のＰＴＰレスポンダ７７、ＳＩＣＤ部７６、ＵＳＢデバイスＩ／Ｆ部７２、ＵＳＢケーブル５、プリンタ１のＵＳＢホストＩ／Ｆ部２３、ＳＩＣＤ部４１、およびＰＴＰイニシエータ４２を介して送受される。これにより、プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ３のＤＰＤＰレイヤ部７８との間でＤＰＤＰレイヤでの画像印刷のための制御情報の送受が可能となり、ＵＳＢケーブル５を通じたダイレクト印刷が可能な状態となる。
【００７１】
ＤＳＣ３の印刷要求部７９は、記憶デバイス７４に記憶されている画像ファイル７３の画像を印刷するための選択処理をし、選択情報をＤＰＤＰレイヤ部７８へ供給する。ＤＳＣ３のＤＰＤＰレイヤ部７８は、選択情報に対応するプリントジョブを生成し、プリンタ１のＤＰＤＰレイヤ部４３へ送信する。
【００７２】
プリントジョブは、ＤＳＣ３のＤＰＤＰレイヤ部７８から、ＰＴＰレスポンダ７７、ＳＩＣＤ部７６、ＵＳＢデバイスＩ／Ｆ部７２、ＵＳＢケーブル５、プリンタ１のＵＳＢホストＩ／Ｆ部２３、ＳＩＣＤ部４１、およびＰＴＰイニシエータ４２を介して、ＤＰＤＰレイヤ部４３により受信される。
【００７３】
プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ３からプリントジョブが供給されると、そのプリントジョブに対応する印刷指示を生成するとともに、プリントジョブで指定された画像ファイル７３をＤＳＣ３から取得し、スタンドアロン印刷制御部４４へ供給する。
【００７４】
スタンドアロン印刷制御部４４は、まず、供給された印刷指示に対応する印刷エンジン２９の制御データを生成し、生成した制御データを用いて印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ３が要求した画像を印刷する。
【００７５】
以上のように、実施の形態１によれば、プリンタ１は、画像出力要求に従って、該画像出力要求で指定された画像データに基づく画像を出力させる制御情報を生成する制御情報生成手段として機能するＤＰＤＰレイヤ部４３、およびＵＳＢで、画像データに基づく画像の出力を要求するＤＳＣ３から画像出力要求を受信する１対１通信手段として機能するＳＩＣＤ部４１を備える。さらに、プリンタ１は、ＩＰネットワークである通信ネットワーク４に接続され、ＤＳＣ２から通信ネットワーク４を介して画像出力要求を受信するＴＣＰ／ＩＰ部３１およびＰＴＰ／ＩＰ部３２と、ＤＳＣ３からの画像出力要求とＤＳＣ２からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求をＤＰＤＰレイヤ部４３に処理させる排他制御手段としての排他制御部４０ａとを備える。
【００７６】
これにより、プリンタ１へ画像出力要求を供給するＤＳＣを２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【００７７】
また、上記実施の形態１によれば、ＤＰＤＰレイヤ部４３ａは、ＤＳＣ２とＴＣＰ／ＩＰ部３１との通信ネットワーク４による通信路またはＤＳＣ３とＳＩＣＤ部４１とのＵＳＢの通信路を使用して、ＤＳＣ２またはＤＳＣ３を検出する。そして、排他制御部４０ａは、ＤＳＣ２とＴＣＰ／ＩＰ部３１との通信ネットワーク４による通信路、およびＤＳＣ３とＳＩＣＤ部４１とのＵＳＢの通信路のうち、先に確立した通信路からの画像出力要求を選択する。
【００７８】
これにより、物理層に近い通信レイヤで排他制御を行うため、上位層の通信レイヤであるＤＰＤＰレイヤおよびＰＴＰレイヤをＤＳＣ２との通信およびＤＳＣ３との通信の２系統のためにマルチスレッド化などで並列化する必要がなく、処理が簡単になり、上位層にあたるＤＰＤＰレイヤ部４３などを簡単に実装することができる。
【００７９】
実施の形態２．
本発明の実施の形態２に係る画像出力装置は、実施の形態１におけるプリンタ１において、ＰＴＰイニシエータを並列化し、排他制御部４０ａの代わりに排他制御部４０ｂをＰＴＰイニシエータとＤＰＤＰレイヤ部との間に配置したものである。
【００８０】
図４は、実施の形態２に係る画像出力装置としてのプリンタ１を含むダイレクト印刷システムを示すブロック図である。なお、実施の形態２に係る画像出力装置としてのプリンタ１のハードウェア構成は、実施の形態１の場合と同様である。ただし、メインプログラム２８は、下記の機能が実現されるものに変更される。
【００８１】
プリンタ１は、ネットワークＩ／Ｆ部２１と、ＴＣＰ／ＩＰ部３１と、ＰＴＰ／ＩＰ部３２と、ＵＳＢホストＩ／Ｆ部２３と、ＳＩＣＤ部４１と、マルチスレッド化された２つのＰＴＰイニシエータ４２，９２と、排他制御部４０ｂと、ＤＰＤＰレイヤ部４３と、スタンドアロン印刷制御部４４と、を有する。なお、ＴＣＰ／ＩＰ部３１、ＰＴＰ／ＩＰ部３２、ＳＩＣＤ部４１および２つのＰＴＰイニシエータ４２，９２は、プリンタ１のマイクロコンピュータ１１の中央処理装置２４が、ＲＯＭ２６に記憶されるメインプログラム２８をＲＡＭ２５に読み込んで実行することで、ＤＰＤＰレイヤ部４３、スタンドアロン印刷制御部４４などとともに実現される。
【００８２】
プリンタ１、ＤＳＣ２およびＤＳＣ３の上述した以外の構成要素は、実施の形態１と同名のものと同じ機能を有するものであり、実施の形態１と同一の符号を付して説明を省略する。
【００８３】
次に、以上の構成を有する実施の形態２に係るダイレクト印刷システムの各機器の動作を説明する。
【００８４】
まず、プリンタ１に対するＤＳＣ２およびＤＳＣ３の接続処理について説明する。
【００８５】
プリンタ１とＤＳＣ２とが通信ネットワーク４を介して接続されると、ＤＳＣ２のＴＣＰ／ＩＰ部５６とプリンタ１のＴＣＰ／ＩＰ部３１とが通信可能となる。また、ＤＳＣ２のＰＴＰ／ＩＰ部５７とプリンタ１のＰＴＰ／ＩＰ部３２とが通信可能となり、ＤＳＣ２のＰＴＰレスポンダ５８とプリンタ１のＰＴＰイニシエータ４２とが通信可能となる。
【００８６】
また、プリンタ１とＤＳＣ３とがＵＳＢケーブル５により接続され、ＤＳＣ３とプリンタ１とが通信可能な状態になると、ＤＳＣ３のＳＩＣＤ部７６は、セットインタフェースコマンドを、プリンタ１のＳＩＣＤ部４１へ送信する。セットインタフェースコマンドは、ＤＳＣ３のＵＳＢデバイスＩ／Ｆ部７２、ＵＳＢコネクタ２２およびＵＳＢホストＩ／Ｆ部２３を介して、ＳＩＣＤ部９１へ送信される。これにより、ＤＳＣ３のＳＩＣＤ部７６とプリンタ１のＳＩＣＤ部９１とのエンドポイント間でデータを送受可能な状態となる。ＤＳＣ３のＰＴＰレスポンダ７７とプリンタ１のＰＴＰイニシエータ９２とが通信可能となる。
【００８７】
このように、実施の形態２では、ＰＴＰ以下の物理レベルに近いレベルでは、ＤＳＣ２およびＤＳＣ３が同時にプリンタ１に接続可能である。
【００８８】
ＤＳＣ２のＤＰＤＰレイヤ部５９は、ＰＴＰレスポンダ５８が通信可能になると、コネクション処理を開始する。ＤＰＤＰレイヤ部５９は、通信相手のＤＰＤＰレイヤ部４３を検出するための検出データを送信する。検出データは、ＤＳＣ２からプリンタ１へ送信され、プリンタ１へ送信される。
【００８９】
プリンタ１のＤＰＤＰレイヤ部４３は、この検出データを受信すると、応答データを、ＤＳＣ２のＤＰＤＰレイヤ部５９へ送信する。これにより、プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９が接続されたことを認識し、ＤＳＣ２のＤＰＤＰレイヤ部５９は、プリンタ１のＤＰＤＰレイヤ部４３が接続されたことを認識する。プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ２のＤＰＤＰレイヤ部５９との間でＤＰＤＰレイヤでの画像印刷のための制御情報の送受が可能となり、通信ネットワーク４を通じたダイレクト印刷が可能な状態となる。
【００９０】
このとき、排他制御部４０ｂは、ＤＰＤＰレイヤ部４３を監視しており、ＤＳＣ２およびＤＳＣ３のＤＰＤＰレイヤ部５９，７８のいずれもプリンタ１のＤＰＤＰレイヤ部４３とコネクション処理を行っていない場合には、ＤＳＣ２およびＤＳＣ３のＤＰＤＰレイヤ部５９，７８のいずれかとＤＰＤＰレイヤ部４３とのコネクション処理に係る検出データおよび応答データをそのままＤＰＤＰレイヤ部４３に送受させる。一方、ＤＳＣ２およびＤＳＣ３のＤＰＤＰレイヤ部５９，７８の一方がプリンタ１のＤＰＤＰレイヤ部４３とコネクション処理を行っているあるいは行った場合には、排他制御部４０ｂは、他方とＤＰＤＰレイヤ部４３とのコネクション処理に係る検出データおよび応答データを遮断する。
【００９１】
他方、ＤＳＣ３のＤＰＤＰレイヤ部７８は、ＰＴＰレスポンダ７７が通信可能になると、コネクション処理を開始する。ＤＰＤＰレイヤ部７８は、ＤＰＤＰレイヤ部４３を検出するための検出データを送信する。検出データは、ＤＳＣ３からプリンタ１へ送信される。
【００９２】
このとき、プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ２のＤＰＤＰレイヤ部５９とのコネクション処理が行われていたり、行われた後ではない場合には、ＤＰＤＰレイヤ部４３は、この検出データを受信し、応答データをＤＳＣ３のＤＰＤＰレイヤ部７８へ送信する。これにより、プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ３のＤＰＤＰレイヤ部７８が接続されたことを認識し、ＤＳＣ３のＤＰＤＰレイヤ部７８は、プリンタ１のＤＰＤＰレイヤ部４３が接続されたことを認識する。プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ３のＤＰＤＰレイヤ部７８との間でＤＰＤＰレイヤでのダイレクト印刷のための通信が可能な状態となる。
【００９３】
一方、プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ２のＤＰＤＰレイヤ部５９とのコネクション処理が行われていたり、行われた後である場合には、検出データは、排他制御部４０ｂにより遮断される。これにより、ＤＳＣ３のＤＰＤＰレイヤ部７８のコネクション処理は失敗する。
【００９４】
以上の一連の処理により、プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９およびＤＳＣ３のＤＰＤＰレイヤ部７８の中の先にコネクション処理が完了した方のみからのＤＰＤＰレイヤの画像印刷要求を受け付ける。
【００９５】
プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９あるいはＤＳＣ３のＤＰＤＰレイヤ部７８からのプリントジョブに基づいて印刷指示を生成するとともに、そのプリントジョブで指定された画像ファィル５３，７３を取得し、スタンドアロン印刷制御部４４へ供給する。
【００９６】
スタンドアロン印刷制御部４４は、まず、供給された印刷指示に対応する印刷エンジン２９の制御データを生成し、生成した制御データを用いて、印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ２またはＤＳＣ３が要求した画像を印刷する。
【００９７】
以上のように、実施の形態２によれば、プリンタ１は、ＩＰネットワークである通信ネットワーク４に接続され、ＤＳＣ２から通信ネットワーク４を介して画像出力要求を受信するＴＣＰ／ＩＰ部３１およびＰＴＰ／ＩＰ部３２と、ＤＳＣ３からの画像出力要求とＤＳＣ２からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求をＤＰＤＰレイヤ部４３に処理させる排他制御手段としての排他制御部４０ｂとを備える。
【００９８】
これにより、プリンタ１へ画像出力要求を供給するＤＳＣを２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【００９９】
また、実施の形態２によれば、１対１通信手段としてのＳＩＣＤ部４１と、ＴＣＰ／ＩＰ部３１およびＰＴＰ／ＩＰ部３２は、ＤＳＣ２との通信ネットワーク４を介した通信路およびＤＳＣ３とのＵＳＢ通信路の両方を同時に確立可能であり、ＤＰＤＰレイヤ部４３は、それらの通信路を使用して、ＤＳＣ２またはＤＳＣ３をコネクション処理で検出する。そして、排他制御部４０ｂは、ＤＳＣ２およびＤＳＣ３のうち、ＤＰＤＰレイヤ部４３により先に検出された方からの画像出力要求を選択し、残りのＤＳＣからの画像出力要求を遮断する。
【０１００】
これにより、上位層にあたるＤＰＤＰレイヤ部４３をマルチスレッド化などで並列化する必要がなく、簡単に実装することができる。
【０１０１】
また、下位層にあたるＴＣＰ／ＩＰ部３１とＤＳＣ２との通信ネットワーク４を介した通信レイヤ、およびＳＩＣＤ部４１とＤＳＣ３とのＵＳＢの通信レイヤが並列化され、下位層では２系統を同時に接続状態することができるため、異なる系統から連続して画像出力をする場合には、下位層での通信路の確立を再度行う必要がなく、直ちに画像出力要求をＤＰＤＰレイヤ部４３に供給することができる。
【０１０２】
実施の形態３．
本発明の実施の形態３に係る画像出力装置は、実施の形態１におけるプリンタ１において、ＰＴＰイニシエータおよびＤＰＤＰレイヤ部を並列化し、排他制御部４０ａの代わりに排他制御部４０ｃをＤＰＤＰレイヤ部とスタンドアロン印刷制御部４４との間に配置したものである。
【０１０３】
図５は、実施の形態３に係る画像出力装置としてのプリンタ１を含むダイレクト印刷システムを示すブロック図である。なお、実施の形態３に係る画像出力装置としてのプリンタ１のハードウェア構成は、実施の形態１の場合と同様である。ただし、メインプログラム２８は、下記の機能が実現されるものに変更される。
【０１０４】
プリンタ１は、ネットワークＩ／Ｆ部２１と、ＴＣＰ／ＩＰ部３１と、ＰＴＰ／ＩＰ部３２と、ＵＳＢホストＩ／Ｆ部２３と、ＳＩＣＤ部４１と、マルチスレッド化された２つのＰＴＰイニシエータ４２，９２と、マルチスレッド化された２つのＤＰＤＰレイヤ部４３，９３と、排他制御部４０ｃと、スタンドアロン印刷制御部４４と、を有する。なお、ＴＣＰ／ＩＰ部３１、ＰＴＰ／ＩＰ部３２、ＳＩＣＤ部４１、２つのＰＴＰイニシエータ４２，９２および２つのＤＰＤＰレイヤ部４３，９３は、プリンタ１のマイクロコンピュータ１１の中央処理装置２４が、ＲＯＭ２６に記憶されるメインプログラム２８をＲＡＭ２５に読み込んで実行することで、スタンドアロン印刷制御部４４などとともに実現される。
【０１０５】
プリンタ１、ＤＳＣ２およびＤＳＣ３の上述した以外の構成要素は、実施の形態２と同名のものと同じ機能を有するものであり、実施の形態２と同一の符号を付して説明を省略する。
【０１０６】
次に、以上の構成を有する実施の形態３に係るダイレクト印刷システムにおける各機器の動作を説明する。
【０１０７】
まず、プリンタ１に対するＤＳＣ２およびＤＳＣ３の接続処理について説明する。
【０１０８】
実施の形態３では、実施の形態２と同様に、ＰＴＰ以下の下位通信レイヤについては、ＴＣＰ／ＩＰ部３１とＤＳＣ２との通信路、およびＳＩＣＤ部４１とＤＳＣ３との通信路が同時に確立可能である。
【０１０９】
ＤＳＣ２のＤＰＤＰレイヤ部５９は、ＰＴＰレスポンダ５８が通信可能になると、コネクション処理を開始する。ＤＰＤＰレイヤ部５９は、通信相手のＤＰＤＰレイヤ部４３を検出するための検出データを送信する。検出データは、ＤＳＣ２からプリンタ１へ送信され、プリンタ１のＤＰＤＰレイヤ部４３へ送信される。ＤＰＤＰレイヤ部４３は、この検出データを受信すると、応答データを、ＤＳＣ２のＤＰＤＰレイヤ部５９へ送信する。
【０１１０】
これにより、プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９が接続されたことを認識し、ＤＳＣ２のＤＰＤＰレイヤ部５９は、プリンタ１のＤＰＤＰレイヤ部４３が接続されたことを認識する。プリンタ１のＤＰＤＰレイヤ部４３とＤＳＣ２のＤＰＤＰレイヤ部５９との間での画像印刷のための制御情報の送受が可能となる。
【０１１１】
また、ＤＳＣ３のＤＰＤＰレイヤ部７８は、ＰＴＰレスポンダ７７が通信可能になると、コネクション処理を開始する。ＤＰＤＰレイヤ部７８は、通信相手のＤＰＤＰレイヤ部９３を検出するための検出データを送信する。検出データは、ＤＳＣ３からプリンタ１へ送信される。プリンタ１のＤＰＤＰレイヤ部９３は、この検出データを受信すると、応答データを、ＤＳＣ３のＤＰＤＰレイヤ部７８へ送信する。
【０１１２】
これにより、プリンタ１のＤＰＤＰレイヤ部９３は、ＤＳＣ３のＤＰＤＰレイヤ部７８が接続されたことを認識し、ＤＳＣ３のＤＰＤＰレイヤ部７８は、プリンタ１のＤＰＤＰレイヤ部９３が接続されたことを認識する。プリンタ１のＤＰＤＰレイヤ部９３とＤＳＣ３のＤＰＤＰレイヤ部７８との間で、画像印刷のための制御情報の送受が可能となる。
【０１１３】
以上の一連の処理により、プリンタ１とＤＳＣ２と、および、プリンタ１とＤＳＣ３とがＤＰＤＰレイヤで同時に接続可能となる。
【０１１４】
次に、画像のダイレクト印刷処理について説明する。
【０１１５】
ＤＳＣ２の印刷要求部６０は、画像などを選択すると、選択情報をＤＰＤＰレイヤ部５９へ供給する。ＤＰＤＰレイヤ部５９は、選択情報に応じたプリントジョブを生成する。
【０１１６】
プリントジョブを生成した後、ＤＰＤＰレイヤ部５９は、まず、新しいプリントジョブが受付可能であるか否かを示すパラメータを取得するために、パラメータ要求スクリプトを生成し、これをプリンタ１のＤＰＤＰレイヤ部４３へ送信する。パラメータ要求スクリプトは、ＤＳＣ２からプリンタ１へ送信される。プリンタ１のネットワークＩ／Ｆ部２１が受信したパラメータ要求スクリプトは、ＴＣＰ／ＩＰ部３１、ＰＴＰ／ＩＰ部３２、ＰＴＰイニシエータ４２を介して、ＤＰＤＰレイヤ部４３へ供給される。
【０１１７】
排他制御部４０ｃは、スタンドアロン印刷制御部４４がプリントジョブを処理しているか否かに基づき、パラメータ値をＤＰＤＰレイヤ部４３に通知する。
【０１１８】
プリンタ１のＤＰＤＰレイヤ部４３は、そのパラメータ値をＤＳＣ２のＤＰＤＰレイヤ部５９へ送信する。パラメータ値を含む応答データは、通信ネットワーク４を介してプリンタ１からＤＳＣ２へ送信される。
【０１１９】
ＤＳＣ２のＤＰＤＰレイヤ部５９は、受信したパラメータの値に基づいて、プリンタ１がプリントジョブを受付可能であるか否かを判断する。プリンタ１がプリントジョブを受付可能ではない場合、ＤＰＤＰレイヤ部５９は、たとえば、所定の時間経過後に再度パラメータ値を取得する処理を繰り返す。
【０１２０】
プリンタ１がプリントジョブを受付可能であると、ＤＳＣ２のＤＰＤＰレイヤ部５９は、生成したプリントジョブを、プリンタ１のＤＰＤＰレイヤ部４３へ送信する。プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９からのプリントジョブに基づいて、印刷指示を生成し、スタンドアロン印刷制御部４４へ供給する。スタンドアロン印刷制御部４４は、まず、供給された印刷指示（プリントジョブ）に対応する印刷エンジン２９の制御データを生成し、生成した制御データを用いて、印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ２が要求した画像を印刷する。
【０１２１】
他方、ＤＳＣ３の印刷要求部７９は、画像などを選択すると、選択情報をＤＰＤＰレイヤ部７８へ供給する。ＤＰＤＰレイヤ部７８は、選択情報に応じたプリントジョブを生成する。
【０１２２】
プリントジョブを生成した後、ＤＰＤＰレイヤ部７８は、パラメータ要求スクリプトを生成し、プリンタ１のＤＰＤＰレイヤ部９３へ送信する。プリンタ１のＤＰＤＰレイヤ部９３は、排他制御部４０ｃからスタンドアロン印刷制御部４４のプリントジョブの受付可否に応じた値を受け取り、その値をパラメータ値として含む応答データを生成し、ＤＳＣ３のＤＰＤＰレイヤ部７８へ送信する。
【０１２３】
つまり、排他制御部４０ｃは、スタンドアロン印刷制御部４４がプリントジョブを処理中でなければ、プリントジョブ受付許可を示す値を、スタンドアロン印刷制御部４４がプリントジョブを処理中であれば、プリントジョブ受付拒否を示す値を、ＤＰＤＰレイヤ部４３，９３に供給する。これにより、ＤＳＣ２およびＤＳＣ３のうちのいずれか一方からの画像出力要求に係るプリントジョブが実行されている場合には、他方からの画像出力要求に係るプリントジョブは拒否される。ただし、ＤＰＤＰレイヤレベルでは、プリンタ１とＤＳＣ２，３とは同時に接続可能であるので、プリントジョブは拒否されたＤＳＣとプリンタ１との間で、印刷実行の前処理（プリンタ１からＤＳＣへの印刷条件の通知など）を実行することができる。前処理としては、プリンタ１のＤＰＤＰレイヤ部からＤＳＣのＤＰＤＰレイヤ部への、選択可能な用紙サイズ、用紙種類などといった選択肢データの通知、印刷対象の画像ファイルの選択などが可能である。
【０１２４】
ＤＳＣ３のＤＰＤＰレイヤ部７８は、受信したパラメータの値に基づいて、プリンタ１がプリントジョブを受付可能であるか否かを判断する。プリンタ１がプリントジョブを受付可能ではない場合、ＤＰＤＰレイヤ部７８は、たとえば、所定の時間経過後に再度パラメータを取得する処理を繰り返す。
【０１２５】
プリンタ１がプリントジョブを受付可能であると、ＤＳＣ３のＤＰＤＰレイヤ部７８は、生成したプリントジョブを、プリンタ１のＤＰＤＰレイヤ部９３へ送信する。プリンタ１のＤＰＤＰレイヤ部９３は、印刷指示を生成し、スタンドアロン印刷制御部４４へ供給する。スタンドアロン印刷制御部４４は、供給された印刷指示に対応する印刷エンジン２９の制御データを生成し、生成した制御データを用いて印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ３が要求した画像を印刷する。
【０１２６】
以上のように、実施の形態３によれば、プリンタ１は、ＩＰネットワークである通信ネットワーク４に接続され、ＤＳＣ２から通信ネットワーク４を介して画像出力要求を受信するＴＣＰ／ＩＰ部３１およびＰＴＰ／ＩＰ部３２と、ＤＳＣ３からの画像出力要求とＤＳＣ２からの画像出力要求が競合する場合に、排他的に一方を選択し、選択した画像出力要求をＤＰＤＰレイヤ部４３，９３に処理させる排他制御手段としての排他制御部４０ｃとを備える。
【０１２７】
これにより、プリンタ１へ画像出力要求を供給するＤＳＣを２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【０１２８】
また、実施の形態３によれば、ＴＣＰ／ＩＰ部３１およびＳＩＣＤ部４１は、通信ネットワーク４を介した通信路およびＤＳＣ３とのＵＳＢ通信路の両方を同時に確立可能であり、さらに、制御情報生成手段としてのＤＰＤＰレイヤ部４３，９３は、物理レベルより上位のＤＰＤＰレイヤレベルで、ＤＳＣ２とＤＳＣ３の両方と同時に接続可能である。そして、排他制御部４０ｃは、ＤＳＣ２およびＤＳＣ３のうち、ＤＰＤＰレイヤ部４３，９３への画像出力要求の送信処理を先に開始した方からの画像出力要求を選択する。なお、実施の形態３ではプリントジョブ受付可否のパラメータ値の取得が、画像出力要求の送信処理の最初に行われる。
【０１２９】
これにより、ＤＰＤＰレイヤ部４３，９３が並列化され、上位層にあたるＤＰＤＰレイヤ部４３，９３において２系統を同時に接続状態することができるため、異なる系統から連続して画像出力をする場合には、上位層および下位層での通信路の確立を再度行う必要がなく、直ちに画像出力要求をＤＰＤＰレイヤ部４３，９３に供給することができる。また、画像出力要求に基づく画像出力がされていない方のＤＳＣ（ＤＳＣ２またはＤＳＣ３）とＤＰＤＰレイヤ部（ＤＰＤＰレイヤ部４３，９４）との接続状態が維持されるため、これらの間での画像出力の設定などの処理を、別のＤＳＣによる画像出力要求に基づく画像出力が実行されている最中に行うことができる。
【０１３０】
実施の形態４．
本発明の実施の形態４に係る画像出力装置は、実施の形態３におけるプリンタ１において、ＤＰＤＰレイヤ部４３，９３に、ジョブキューイング部９４を付加したものである。
【０１３１】
図６は、実施の形態４に係る画像出力装置としてのプリンタ１を含むダイレクト印刷システムを示すブロック図である。なお、実施の形態４に係る画像出力装置としてのプリンタ１のハードウェア構成は、実施の形態１の場合と同様である。ただし、メインプログラム２８は、下記の機能が実現されるものに変更される。
【０１３２】
プリンタ１は、ネットワークＩ／Ｆ部２１と、ＴＣＰ／ＩＰ部３１と、ＰＴＰ／ＩＰ部３２と、ＵＳＢホストＩ／Ｆ部２３と、ＳＩＣＤ部４１と、２つのＰＴＰイニシエータ４２，９２と、２つのＤＰＤＰレイヤ部４３，９３と、ジョブキューイング部９４と、スタンドアロン印刷制御部４４と、を有する。なお、ＴＣＰ／ＩＰ部３１、ＰＴＰ／ＩＰ部３２、ＳＩＣＤ部４１、２つのＰＴＰイニシエータ４２，９２、２つのＤＰＤＰレイヤ部４３，９３、およびジョブキューイング部９４は、プリンタ１のマイクロコンピュータ１１の中央処理装置２４が、ＲＯＭ２６に記憶されるメインプログラム２８をＲＡＭ２５に読み込んで実行することで、スタンドアロン印刷制御部４４などとともに実現される。
【０１３３】
ジョブキューイング部９４は、ＤＰＤＰレイヤ部４３，９３が受信したプリントジョブを記憶する。ジョブキューイング部９４は、プリントジョブを、たとえばＲＡＭ２５に確保された記憶領域に保存する。
【０１３４】
プリンタ１、ＤＳＣ２およびＤＳＣ３の上述した以外の構成要素は、実施の形態３と同名のものと同じ機能を有するものであり、実施の形態３と同一の符号を付して説明を省略する。
【０１３５】
次に、以上の構成を有する実施の形態４に係るダイレクト印刷システムにおける各機器の動作を説明する。
【０１３６】
プリンタ１とＤＳＣ２とが通信ネットワーク４を介して接続され、ＤＳＣ２とプリンタ１とは、通信可能な状態になり、データを送受可能な状態となる。また、ＤＳＣ２のＤＰＤＰレイヤ部５９とプリンタ１のＤＰＤＰレイヤ部４３とは、コネクション処理により、通信ネットワーク４を通じたダイレクト印刷のジョブを受付可能な状態となる。
【０１３７】
また、プリンタ１とＤＳＣ３とがＵＳＢケーブル５により接続され、ＤＳＣ３とプリンタ１とが通信可能な状態になると、ＤＳＣ３のＳＩＣＤ部７６とプリンタ１のＳＩＣＤ部４１とは、セットインタフェースコマンドにより、データを送受可能な状態となる。また、ＤＳＣ３のＤＰＤＰレイヤ部７８とプリンタ１のＤＰＤＰレイヤ部９３とは、コネクション処理により、ＵＳＢケーブル５を介したダイレクト印刷のジョブを受付可能な状態となる。
【０１３８】
次に、画像のダイレクト印刷処理について説明する。
【０１３９】
ＤＳＣ２の印刷要求部６０は、画像などを選択すると、選択情報をＤＰＤＰレイヤ部５９へ供給する。ＤＰＤＰレイヤ部５９は、選択情報に応じたプリントジョブを生成する。
【０１４０】
プリントジョブを生成した後、ＤＰＤＰレイヤ部５９は、まず、新しいプリントジョブが受付可能であるか否かを示すパラメータの値を取得するために、パラメータ要求スクリプトを生成し、これをプリンタ１のＤＰＤＰレイヤ部４３へ送信する。
【０１４１】
プリンタ１のＤＰＤＰレイヤ部４３は、ジョブキューイング部９４に、新しいジョブのキューイングが可能であるか否かを確認する。
【０１４２】
プリンタ１の起動直後には、ジョブキューイング部９４は、プリントジョブを記憶していない。ジョブキューイング部９４は、キューイングが可能である旨（つまり、プリントジョブを受付可能である旨）をＤＰＤＰレイヤ部４３へ通知する。
【０１４３】
プリンタ１のＤＰＤＰレイヤ部４３は、ジョブキューイング部９４からの通知に応じた値のパラメータを含む応答データを生成し、ＤＳＣ２のＤＰＤＰレイヤ部５９へ送信する。ＤＳＣ２のＤＰＤＰレイヤ部５９は、受信したパラメータの値に基づいて、プリンタ１がプリントジョブを受付可能であるか否かを判断する。プリンタ１がプリントジョブを受付可能ではない場合、ＤＰＤＰレイヤ部５９は、たとえば、所定の時間経過後に再度パラメータ値を取得する処理を繰り返す。
【０１４４】
プリンタ１がプリントジョブを受付可能であると、ＤＳＣ２のＤＰＤＰレイヤ部５９は、生成したプリントジョブを、プリンタ１のＤＰＤＰレイヤ部４３へ送信する。プリンタ１のＤＰＤＰレイヤ部４３は、ＤＳＣ２のＤＰＤＰレイヤ部５９からのプリントジョブを、ジョブキューイング部９４に記憶させる。
【０１４５】
その後、ＤＰＤＰレイヤ部４３は、ジョブキューイング部９４からプリントジョブを読出し、プリントジョブに基づいて印刷指示を生成し、スタンドアロン印刷制御部４４へ供給する。スタンドアロン印刷制御部４４は、制御データを生成し、印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ２が要求した画像を印刷する。
【０１４６】
なお、ジョブキューイング部９４は、キューイングしているプリントジョブがＤＰＤＰレイヤ部４３，９３により読み出されたら、そのプリントジョブを記憶していた記憶領域を開放する。これにより、ジョブキューイング部９４の空き領域は増える。空き領域が所定のサイズ以上になると、ジョブキューイング部９４が発行するパラメータは、プリントジョブの受付が可能であるときの値になる。
【０１４７】
ＤＳＣ３の印刷要求部７９は、画像などを選択すると、選択情報をＤＰＤＰレイヤ部７８へ供給する。ＤＰＤＰレイヤ部７８は、選択情報に応じたプリントジョブを生成する。
【０１４８】
プリントジョブを生成した後、ＤＰＤＰレイヤ部７８は、パラメータ要求スクリプトを生成し、プリンタ１のＤＰＤＰレイヤ部９３へ送信する。プリンタ１のＤＰＤＰレイヤ部９３は、ジョブキューイング部９４に、新しいジョブのキューイングが可能であるか否かを確認する。
【０１４９】
ジョブキューイング部９４は、プリントジョブを記憶していないとき、あるいは、十分な空き領域がある場合、キューイングが可能である旨をＤＰＤＰレイヤ部９３へ通知する。逆に、プリントジョブを記憶する空き領域が不足しているとき、ジョブキューイング部９４は、キューイングが不可能である旨をＤＰＤＰレイヤ部９３へ通知する。
【０１５０】
プリンタ１のＤＰＤＰレイヤ部９３は、ジョブキューイング部９４からの通知に応じた値のパラメータを含む応答データを生成し、ＤＳＣ３のＤＰＤＰレイヤ部７８へ送信する。ＤＳＣ３のＤＰＤＰレイヤ部７８は、受信したパラメータの値に基づいて、プリンタ１がプリントジョブを受付可能であるか否かを判断する。
【０１５１】
プリンタ１がプリントジョブを受付可能でない場合、ＤＰＤＰレイヤ部７８は、たとえば、所定の時間経過後に再度パラメータ値を取得する処理を繰り返す。この間に、ジョブキューイング部９４にキューイングされていたプリントジョブがＤＰＤＰレイヤ部４３，９３により読み出され、ジョブキューイング部９４の空き領域が増えると、パラメータの値は、キューイングが可能であることを示す値へ変更される。
【０１５２】
プリンタ１が印刷可能であると、ＤＳＣ３のＤＰＤＰレイヤ部７８は、生成したプリントジョブを、プリンタ１のＤＰＤＰレイヤ部９３へ送信する。プリンタ１のＤＰＤＰレイヤ部９３は、受信したプリントジョブを、ジョブキューイング部９４に記憶させる。
【０１５３】
その後、ＤＰＤＰレイヤ部９３は、ジョブキューイング部９４からプリントジョブを読出し、プリントジョブに基づいて印刷指示を生成し、スタンドアロン印刷制御部４４へ供給する。スタンドアロン印刷制御部４４は、制御データを生成し、印刷エンジン２９を制御する。印刷エンジン２９は、スタンドアロン印刷制御部４４の制御に従って、印刷処理を実行する。これにより、プリンタ１は、ＤＳＣ３が要求した画像を印刷する。
【０１５４】
なお、上述した説明では、ジョブキューイング部９４は、先にＤＳＣ２のプリントジョブを記憶し、次に、ＤＳＣ３のプリントジョブを記憶している。このキューイングの順番は、逆になってもよい。
【０１５５】
以上のように、実施の形態４によれば、プリンタ１は、ＩＰネットワークである通信ネットワーク４に接続され、ＤＳＣ２から通信ネットワーク４を介して画像出力要求を受信するＴＣＰ／ＩＰ部３１およびＰＴＰ／ＩＰ部３２６と、ＤＳＣ３からの画像出力要求とＤＳＣ２からの画像出力要求が競合する場合に、ＤＳＣ３からの画像出力要求およびＤＳＣ２からの画像出力要求を排他的に順番に選択し、選択した画像出力要求をＤＰＤＰレイヤ部４３，９３に処理させる排他制御手段としてのジョブキューイング部９４とを備える。
【０１５６】
これにより、プリンタ１へ画像出力要求を供給するＤＳＣを２つにして、画像出力要求が競合する場合でも、一方の画像出力要求が他方の画像出力要求に対して悪影響を与えることなく、いずれかの画像出力要求に基づいて適切に画像を出力することができる。
【０１５７】
また、実施の形態４によれば、キューイング手段としてのジョブキューイング部９４は、ＤＳＣ２およびＤＳＣ３からの画像出力要求をキューイングし、画像出力要求に基づく画像出力が終了するごとに順番にキューから次の画像出力要求をＤＰＤＰレイヤ部４３，９３へ出力する。
【０１５８】
これにより、プリンタ１へ画像出力要求を供給するＤＳＣを２つにして、画像出力要求が競合する場合でも、キューイングによって各画像出力要求に基づいて順番に画像を適切に出力することができる。
【０１５９】
また、ジョブキューイング部９４は、プリントジョブを記憶する十分な記憶領域がないときには、新たなジョブをキューイングすることができない旨の通知をする。したがって、プリンタ１は、ＤＳＣ３からの画像出力要求と、ＤＳＣ２からの画像出力要求とが競合する場合には、可能な範囲でキューイングし、キューイングしきれないときには、先着優先の排他制御により後の印刷要求を待たせ、先の印刷処理が終了したら、その待たせたプリントジョブをキューイングし、印刷することができる。
【０１６０】
また、ＤＳＣ２およびＤＳＣ３は、画像の選択からプリントジョブの送信までの処理を、プリンタ１の印刷状態であるか否かに拘らずに独立して実行することができる。ＤＳＣ２およびＤＳＣ３は、プリンタ１が印刷中であっても、その印刷処理を終了することができる。
【０１６１】
以上の各実施の形態は、本発明の好適な実施の形態の例であるが、本発明は、これに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形、変更が可能である。
【０１６２】
たとえば、上記各実施の形態では、先に接続されたり、先に画像出力要求を送信したりしたＤＳＣが、優先的に印刷可能となる。この他にもたとえば、プリンタ１のＤＰＤＰレイヤ部４３，９３は、予めユーザによりあるいは固定的に設定された順位で優先して接続し、画像出力要求に基づく印刷指示を生成するようにしてもよい。この変形例の場合、一方の画像出力要求を優先的に処理することができる。
【０１６３】
上記各実施の形態では、各ＤＳＣ２，３は、画像出力要求をしたら、その処理を終了している。この他にもたとえば、各ＤＳＣ２，３は、画像出力要求をした後に、画像の印刷状況を表示したりするようにしてもよい。この場合、ＤＳＣ２，３のＤＰＤＰレイヤ部５９，７８は、プリントジョブを送信した後に、周期的に印刷の進捗状況をプリンタ１のＤＰＳＢレイヤ部４３，９３に問い合わせればよい。
【０１６４】
特に、実施の形態３および４では、プリンタ１は、２つのＤＰＤＰレイヤ部４３，９３を有する。この２つのＤＰＤＰレイヤ部４３，９３は、それぞれにプリントジョブを送信してきたＤＳＣ２，３（ジョブオーナー）を判断し、問合せに対して応答する必要がある。
【０１６５】
上記各実施の形態では、ＤＳＣ２と、ＤＳＣ３とがプリンタ１に接続され、これらのＤＳＣ２，３が画像出力要求としてのプリントジョブをプリンタ１へ送信している。この他にもたとえば、ネットワークやＵＳＢ接続が可能なストレージデバイスや、携帯電話端末、ＰＤＡ、スキャナ、パーソナルコンピュータなどを、プリンタ１に接続され、プリントジョブをプリンタ１へ送信する画像出力要求装置としてもよい。
【０１６６】
上記各実施の形態では、プリンタ１が、画像を印刷することで画像出力を実行しているが、画像出力装置の形態を、プリンタではなく、表示装置、投影装置などとしてもよい。その場合には、図１における印刷エンジン２９の代わりに、ディスプレイまたはプロジェクタとその駆動装置を設ければよい。
【産業上の利用可能性】
【０１６７】
本発明は、たとえばデジタルスチルカメラとプリンタとを接続して画像を印刷するダイレクト印刷システムなどに利用することができる。
【図面の簡単な説明】
【０１６８】
【図１】本発明の実施の形態１に係るプリンタのハードウェア構成図である。
【図２】図１のプリンタを有するダイレクト印刷システムを示す図である。
【図３】プリンタのＤＰＤＰレイヤ部が受信するプリントジョブの一例である。
【図４】本発明の実施の形態２に係るダイレクト印刷システムを示す図である。
【図５】本発明の実施の形態３に係るダイレクト印刷システムを示す図である。
【図６】本発明の実施の形態４に係るダイレクト印刷システムを示す図である。
【符号の説明】
【０１６９】
１  プリンタ（画像出力装置）、２  ＤＳＣ（第二の画像出力要求装置）、３  ＤＳＣ（第一の画像出力要求装置）、３１  ＴＣＰ／ＩＰ部（ネットワーク通信手段の一部）、３２  ＰＴＰ／ＩＰ部（ネットワーク通信手段の一部）、４０ａ，４０ｂ，４０ｃ  排他制御部（排他制御手段）、４１，９１  ＳＩＣＤ部（１対１通信手段）、４３，９３  ＤＰＤＰレイヤ部（制御情報生成手段）、９４  ジョブキューイング部（排他制御手段，キューイング手段）
【図１】
2007030439.tif 000003
【図２】
2007030439.tif 000004
【図３】
2007030439.tif 000005
【図４】
2007030439.tif 000006
【図５】
2007030439.tif 000007
【図６】
2007030439.tif 000008