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