(57)【要約】【課題】規格が異なる２以上の画像記録サービスに対して画像記録の要求を行なうための統一したインターフェースを提供する。【解決手段】Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎの直下に配設されるＣｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅは、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＰｒｉｎｔの相違を抽象化する機能を備えたレイヤであり、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎは、印刷サービス規格上の相違を意識する必要がなくなり、共通のインターフェース仕様によりいずれの印刷サービスも制御する。【選択図】  図３
2008107940.tif 000002
【特許請求の範囲】
【請求項１】
画像データを通信媒体経由で画像記録装置に転送して記録を行なう情報処理装置であって、
画像データの画像記録を行なうサービス規格毎に設けられ、画像記録サービス規格に則って画像記録装置に対する処理要求を行なうとともに、画像記録装置からの処理結果又はイベント情報を受け取る画像記録制御用ミドルウェア部と、
ユーザ・インターフェース・アプリケーションからの処理要求の受理と画像記録制御用ミドルウェア部からの処理結果をユーザ・インターフェース・アプリケーションに通知する共通アプリケーション・インターフェース部と、
を具備することを特徴とする情報処理装置。
【請求項２】
画像記録制御用ミドルウェア部は、当該画像記録制御用ミドルウェア部内部の状態を制御する状態制御部と、通信媒体を介して接続される画像記録装置の対応仕様を管理するとともに、前記ユーザ・インターフェース・アプリケーションから指示された画像記録設定情報を保持して管理する画像記録設定管理部と、実行中の画像記録ジョブの進捗状況の管理を行なうジョブ管理部を備える、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記共通アプリケーション・インターフェース部は、前記ユーザ・インターフェース・アプリケーションからの画像記録装置の接続要求に応じて、所望の画像記録サービス規格に対応する状態制御部に対して画像記録装置の接続要求を行ない、
該状態制御部は、接続を行なった画像記録装置から取得したサポート情報を画像記録サービス規格に依存しない共通フォーマット形式で前記ユーザ・インターフェース・アプリケーションに通知する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記共通アプリケーション・インターフェース部は、ユーザ・インターフェース・アプリケーションからの画像記録要求に応答して、所望の画像記録サービス規格に対応する状態制御部に画像記録要求を発行し、
該状態制御部は、接続中の画像記録装置に関する印刷設定を画像記録設定管理部から取得し、ジョブ管理部に対して内部的に管理する画像記録ジョブ情報の生成を指示してから、画像記録装置に対する印刷要求を発行するとともに、対応する画像記録装置からの印刷受付を受け取り、共通フォーマット形式に変換して、前記ユーザ・インターフェース・アプリケーションに通知する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記状態制御部は、画像記録処理中の画像記録装置から通知されるイベント情報を受け取って、画像記録サービス規格に依存しない共通のフォーマット形式のイベント情報に変換して、共通のタイミングで前記ユーザ・インターフェース・アプリケーションに通知する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項６】
前記画像記録制御用ミドルウェア部は、ＰｉｃｔＢｒｉｄｇｅ及びＰｒｉｎｔＥｎｈａｎｃｅｄそれぞれのサービス規格に対応付けて配設される、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
画像データを通信媒体経由で画像記録装置に転送して記録を行なう情報処理方法であって、
ユーザ・インターフェース・アプリケーションからの画像記録装置の接続要求に応じて、所望の画像記録サービス規格に対応する画像記録装置の接続処理を行なうとともに、該画像記録装置から取得したサポート情報を画像記録サービス規格に依存しない共通フォーマット形式で前記ユーザ・インターフェース・アプリケーションに通知するステップと、
前記ユーザ・インターフェース・アプリケーションからの画像記録要求に応答して、接続中の画像記録装置に関する印刷設定を取得し、ジョブ管理部に対して内部的に管理する画像記録ジョブ情報を生成してから、画像記録サービス規格に従って画像記録装置に対する印刷要求を発行するとともに、対応する画像記録装置からの印刷受付を受け取り、共通フォーマット形式に変換して、前記ユーザ・インターフェース・アプリケーションに通知するステップと、
画像記録処理中の画像記録装置から通知されるイベント情報を受け取って、画像記録サービス規格に依存しない共通のフォーマット形式のイベント情報に変換して、共通のタイミングで前記ユーザ・インターフェース・アプリケーションに通知するステップと、
を具備することを特徴とする情報処理方法。
【請求項８】
画像データを通信媒体経由で画像記録装置に転送して記録を行なうための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
ユーザ・インターフェース・アプリケーションからの画像記録装置の接続要求に応じて、所望の画像記録サービス規格に対応する画像記録装置の接続処理を行なうとともに、該画像記録装置から取得したサポート情報を画像記録サービス規格に依存しない共通フォーマット形式で前記ユーザ・インターフェース・アプリケーションに通知する手順と、
前記ユーザ・インターフェース・アプリケーションからの画像記録要求に応答して、接続中の画像記録装置に関する印刷設定を取得し、ジョブ管理部に対して内部的に管理する画像記録ジョブ情報を生成してから、画像記録サービス規格に従って画像記録装置に対する印刷要求を発行するとともに、対応する画像記録装置からの印刷受付を受け取り、共通フォーマット形式に変換して、前記ユーザ・インターフェース・アプリケーションに通知する手順と、
画像記録処理中の画像記録装置から通知されるイベント情報を受け取って、画像記録サービス規格に依存しない共通のフォーマット形式のイベント情報に変換して、共通のタイミングで前記ユーザ・インターフェース・アプリケーションに通知する手順と、
を実行させることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタなどの画像記録装置に画像データを供給して記録を行なう情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、画像データを通信媒体経由で画像記録装置に転送して記録を行なう情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、画像記録サービスを行なう複数の規格が並存する環境下において、画像データを通信媒体経由で画像記録装置に転送して記録を行なう情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに係り、特に、ユーザ・アプリケーションに対して、規格が異なる２以上の画像記録サービスに対して画像記録の要求を行なうための統一したインターフェースを提供する情報処理装置及び情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
カメラは、視覚的な情報を記録する手段として長い歴史を持つ。最近では、フィルムや感光板を使って撮影する銀塩カメラに代わって、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｎｔａｌ−Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）などの固体撮像素子で捕捉した画像をデジタル符号化するデジタルカメラが広範に普及している。デジタルカメラによれば、デジタル符号化された画像をメモリに記憶し、コンピュータによる画像処理や画像管理を行なうことができ、さらにフィルムの寿命という問題がないといった利点がある。
【０００４】
デジタルカメラにおける撮像画像は、多くの場合、カメラ本体内でＪＰＥＧ（Ｊｏｉｎｔ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などの形式で符号化圧縮され、内蔵メモリあるいはメモリスティック（登録商標）など着脱メディアに保存される。このような保存画像は、例えばメディア経由で、あるいはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などのケーブル接続を利用してパーソナル・コンピュータへ転送され、パーソナル・コンピュータ上で提供されるリッチなＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）操作環境を介して画像ファイルの保存や管理、再生、画質変換などの画像処理、画像編集する、さらには画像をプリントアウトするといったさまざまなデータ処理を施すことができる。
【０００５】
デジタルカメラの撮像画像をパーソナル・コンピュータ経由でプリントアウトする場合、データ転送やプリント操作を行なうためのアプリケーションソフトが必要であり、煩わしい作業となる。そこで、最近では、デジタルカメラで撮像した画像データをパーソナル・コンピュータに取り込むことなく、デジタルカメラをプリンタに直接接続してプリントアウトする「ダイレクトプリント」技術が一般化しつつある。
【０００６】
例えば、ＣＩＰＡ（Ｃａｍｅｒａ  ＆  Ｉｍａｇｉｎｇ  Ｐｒｏｄｕｃｔｓ  Ａｓｓｏｃｏａｔｉｏｎ：カメラ映像機器工業会）では、デジタルカメラとプリンタ間でダイレクトプリントを行なうための通信規格として、“ＰｉｃｔＢｒｉｄｇｅ”を策定している。ＰｉｃｔＢｒｉｄｇｅ対応の機器同士は、特別なソフトウェアをインストールすることなく、ＵＳＢケーブルで接続して直接印刷を行なうことができる。デジタルカメラ側では、液晶モニタで表示中の画像をボタン操作などで簡単にプリントアウトすることができる。また、印刷設定（用紙サイズなど）を指定することができる他、指定がない画像はプリンタ側の標準設定で印刷する機能もある。また、指定した画像を印刷するだけでなく、縮小した画像の一覧を印刷するインデックスプリント機能や、同一画像の複数枚プリント、日付入りプリントなど多彩な機能を利用することができる。さらに、印刷中にエラーが発生した場合には、デジタルカメラの液晶モニタなどを介してエラー表示を行なうことができる。
【０００７】
既に市販されている多くのデジタルカメラ及びプリンタがＰｉｃｔＢｒｉｄｇｅ規格に対応している。ＰｉｃｔＢｒｉｄｇｅ規格では、物理層にＵＳＢを使用するとともに、データの通信プロトコルとしてＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を使用することが想定されている。ＰＴＰは、ＵＳＢ接続によりデジタルカメラからコンピュータへ画像を転送するプロトコルであり、例えばＷｉｎｄｏｗｓ（登録商標）ＸやＭａｃＯＳ  Ｘといったコンピュータの主要なオペレーティング・システムで標準的に使用することかできる。
【０００８】
例えば、ＵＳＢ規格を用いた通信仕様としてマスストレージ、ＰＴＰ及びＰｉｃｔＢｒｉｄｇｅ規格のいずれかに切り換えて使用することが可能で、現在設定指定の通信仕様に接続先の機器が対応していないときには内部的に通信ラインを初期化して通信仕様の設定を変更するデジタルスチルカメラについて提案がなされている（例えば、特許文献１を参照のこと）。
【０００９】
デジタルカメラとプリンタ間を接続する手段として、ＵＳＢ以外に、ＩＰネットワークを使用する方法も考えられる。ＰＴＰはＵＳＢ接続をベースにしたものであるが、無線ＬＡＮ経由でも転送可能となるようにＩＰ対応に拡張したＰＴＰ／ＩＰもＣＩＰＡにより公開されている。
【００１０】
他方、ＩＰネットワークを通じて複数の機器が相互に機能（サービス）を提供し合う技術仕様として、米マイクロソフト社が提唱するＵＰｎＰ（登録商標）が知られている（例えば、非特許文献１を参照のこと）。ＵＰｎＰネットワーク上の機器はサービスを提供するデバイスと、サービスを制御するコントロール・ポイントに分類され、両者間ではサービスの通知と検出が行なわれる。また、デバイスは、ＵＰｎＰネットワークに接続されると、ネットワーク上のＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバからＩＰアドレスを取得し、デバイスの種類とそのデバイスが有するサービスに関する情報をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述したメッセージをマルチキャスト送信する。
【００１１】
例えば、ＵＰｎＰコントロール・デバイスとしてネットワーク接続可能で、ネットワーク上に存在する複数のＵＰｎＰデバイスの中から制御対象とすべき特定の機器（プリンタ）を自動的に選択するデジタルカメラについて提案がなされている（例えば、特許文献２を参照のこと）。
【００１２】
ＵＰｎＰ（登録商標）をベースにしてデジタルカメラとプリンタ間でダイレクトプリントを行なう通信規格として、“ＰｒｉｎｔＥｎｈａｎｃｅｄ”が存在する。ＰｒｉｎｔＥｎｈａｎｃｅｄによれば、無線ＬＡＮなどのＩＰネットワーク上でデジタルカメラをプリンタだけでなくその他のさまざまなＵＰｎＰ対応のデジタル機器と接続することができる。ＰｒｉｎｔＥｎｈａｎｃｅｄは、上述のＰｉｃｔＢｒｉｄｇｅに比べると普及は遅れているものの、ＩＰアドレス割り当てや名前解決、デバイス発見と機能の把握を始め、ＵＰｎＰにおいて規定されている標準的な手続や機能を享受することができ、ＵＳＢ接続に比べはるかに豊富なユースケースが考えられる。
【００１３】
ＰｉｃｔＢｒｉｄｇｅとＰｒｉｎｔＥｎｈａｎｃｅｄというダイレクトプリントに関する２通りの規格は、デジタルカメラとプリンタとの接続形態や規格をサポートする機器が相違する。このため、今後はいずれか一方の規格に収斂するというよりも、むしろ用途に応じて異なった使い方をし、両規格が並存することが予想される。したがって、同一の機器（例えば１台のデジタルカメラ）がこれら２通りのダイレクトプリント・サービスを同時に備えることも考えられる。
【００１４】
いずれのダイレクトプリント・サービスを使用するのであれ、ユーザの視点では同じく写真を印刷することに他ならない。しかしながら、両者は本質的に異なる規格であるため、デジタルカメラなどダイレクトプリント・サービスを要求するクライアント機器においては、同じユーザ・インターフェースを提供するアプリケーションであっても規格毎に別々にアプリケーションを開発しなければならず、装置コストが増大してしまうという問題がある。
【００１５】
【特許文献１】特開２００５−１２８８６９号公報
【特許文献２】特開２００５−２１７９７４号公報
【非特許文献１】Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ  Ｄｅｖｉｃｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ  Ｖｅｒｓｉｏｎ  １．０
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、画像データを通信媒体経由で画像記録装置に転送して記録を好適に行なうことができる、優れた情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１７】
本発明のさらなる目的は、画像記録サービスを行なう複数の規格が並存する環境下において、画像データを通信媒体経由で画像記録装置に転送して記録を好適に行なうことができる、優れた情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【００１８】
本発明のさらなる目的は、ユーザ・アプリケーションに対して、規格が異なる２以上の画像記録サービスに対して画像記録の要求を行なうための統一したインターフェースを提供することができる、優れた情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１９】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、画像データを通信媒体経由で画像記録装置に転送して記録を行なう情報処理装置であって、
画像データの画像記録を行なうサービス規格毎に設けられ、画像記録サービス規格に則って画像記録装置に対する処理要求を行なうとともに、画像記録装置からの処理結果又はイベント情報を受け取る画像記録制御用ミドルウェア部と、
ユーザ・インターフェース・アプリケーションからの処理要求の受理と画像記録制御用ミドルウェア部からの処理結果をユーザ・インターフェース・アプリケーションに通知する共通アプリケーション・インターフェース部と、
を具備することを特徴とする情報処理装置である。
【００２０】
デジタルカメラで撮像した画像データをパーソナル・コンピュータに取り込むことなく、デジタルカメラをプリンタに直接接続してプリントアウトする「ダイレクトプリント」技術が一般化しつつある。現在、ＰｉｃｔＢｒｉｄｇｅとＰｒｉｎｔＥｎｈａｎｃｅｄというダイレクトプリントに関する２通りの規格が存在するが、今後も用途に応じて異なった使い方をし、両規格が並存することが予想される。
【００２１】
しかしながら、これらの印刷サービス規格は本質的に相違するため、デジタルカメラなどダイレクトプリント・サービスを要求するクライアント機器においては、同じユーザ・インターフェースを提供するアプリケーションであっても、規格毎に別々にユーザ・アプリケーションを開発する必要があり、装置コストを増大する要因となる。
【００２２】
そこで、本発明に係る情報処理装置は、画像データの画像記録を行なうサービス規格毎に設けられ、画像記録サービス規格に則って画像記録装置に対する処理要求を行なうとともに、画像記録装置からの処理結果又はイベント情報を受け取る画像記録制御用ミドルウェア部と、ユーザ・インターフェース・アプリケーションからの処理要求の受理と画像記録制御用ミドルウェア部からの処理結果をユーザ・インターフェースに通知する共通アプリケーション・インターフェース部を備えている。
【００２３】
すなわち、ユーザ・インターフェース・アプリケーションの直下に配設される共通アプリケーション・インターフェースは、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＰｒｉｎｔの相違を抽象化する機能を備えたレイヤであり、ユーザ・インターフェース・アプリケーションはＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＰｒｉｎｔの規格上の相違を意識する必要がなくなり、これらの印刷サービスを共通のインターフェース仕様によって制御することが可能になる。
【００２４】
画像記録制御用ミドルウェア部は、当該画像記録制御用ミドルウェア部内部の状態を制御する状態制御部と、通信媒体を介して接続される画像記録装置の対応仕様を管理するとともに、前記ユーザ・インターフェース・アプリケーションから指示された画像記録設定情報を保持して管理する画像記録設定管理部と、実行中の画像記録ジョブの進捗状況の管理を行なうジョブ管理部を備えている。
【００２５】
状態制御部は、ユーザ・インターフェース・アプリケーションからの処理要求を受け付けて中間処理を行ない、下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに処理要求を発行する。また、状態制御部は、下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアから処理要求に対する処理結果を受けて中間処理を行ない、適宜抽象化した形でユーザ・インターフェース・アプリケーションに通知する情報を生成する。ここで言う処理結果とは、プリンタに要求した処理の実行結果や、プリンタから通知されたイベント情報などである。
【００２６】
プリント設定管理部は、例えばＵＰｎＰ接続したプリンタの対応仕様を管理するとともに、ユーザ・インターフェース・アプリケーションから指示されたプリント設定情報を保持して管理する。
【００２７】
ジョブ管理部は、実行中のプリント・ジョブの進捗状況の管理を行なう。また、ジョブ管理部は、ユーザ・インターフェース・アプリケーションから指示された印刷要求を複数のプリント・ジョブに分割して、例えば下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに対するプリント要求として発行する場合に、内部で分割した各ジョブの管理を行なう。
【００２８】
前記共通アプリケーション・インターフェース部は、ユーザ・インターフェース・アプリケーションからの画像記録要求に応答して、所望の画像記録サービス規格に対応する状態制御部に画像記録要求を発行する。
【００２９】
そして、状態制御部は、接続中の画像記録装置に関する印刷設定を画像記録設定管理部から取得し、ジョブ管理部に対して内部的に管理する画像記録ジョブ情報の生成を指示してから、画像記録装置に対する印刷要求を発行するとともに、対応する画像記録装置からの印刷受付を受け取り、共通フォーマット形式に変換して、前記ユーザ・インターフェース・アプリケーションに通知する。
【００３０】
また、前記状態制御部は、画像記録処理中の画像記録装置から通知されるイベント情報を受け取って、画像記録サービス規格に依存しない共通のフォーマット形式のイベント情報に変換して、共通のタイミングで前記ユーザ・インターフェース・アプリケーションに通知する。
【００３１】
また、本発明の第２の側面は、画像データを通信媒体経由で画像記録装置に転送して記録を行なうための処理をコンピュータ上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、前記コンピュータに対し、
ユーザ・インターフェース・アプリケーションからの画像記録装置の接続要求に応じて、所望の画像記録サービス規格に対応する画像記録装置の接続処理を行なうとともに、該画像記録装置から取得したサポート情報を画像記録サービス規格に依存しない共通フォーマット形式で前記ユーザ・インターフェース・アプリケーションに通知する手順と、
前記ユーザ・インターフェース・アプリケーションからの画像記録要求に応答して、接続中の画像記録装置に関する印刷設定を取得し、ジョブ管理部に対して内部的に管理する画像記録ジョブ情報を生成してから、画像記録サービス規格に従って画像記録装置に対する印刷要求を発行するとともに、対応する画像記録装置からの印刷受付を受け取り、共通フォーマット形式に変換して、前記ユーザ・インターフェース・アプリケーションに通知する手順と、
画像記録処理中の画像記録装置から通知されるイベント情報を受け取って、画像記録サービス規格に依存しない共通のフォーマット形式のイベント情報に変換して、共通のタイミングで前記ユーザ・インターフェース・アプリケーションに通知する手順と、
を実行させることを特徴とするコンピュータ・プログラムである。
【００３２】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータにインストールすることによって、コンピュータ上では協働的作用が発揮され、本発明の第１の側面に係る情報処理装置と同様の作用効果を得ることができる。
【発明の効果】
【００３３】
本発明によれば、画像記録サービスを行なう複数の規格が並存する環境下において、画像データを通信媒体経由で画像記録装置に転送して記録を好適に行なうことができる、優れた情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３４】
また、本発明によれば、ユーザ・アプリケーションに対して、規格が異なる２以上の画像記録サービスに対して画像記録の要求を行なうための統一したインターフェースを提供することができる、優れた情報処理装置及び情報処理方法、並びにコンピュータ・プログラムを提供することができる。
【００３５】
本発明によれば、同一の機器に異なる印刷サービスが組み込まれる場合でも、ユーザ・アプリケーションは共通の処理でそれぞれの印刷サービスを制御することができる。すなわち、規格毎に別々にユーザ・アプリケーションを開発する必要がなくなるので、装置コストを削減することができる。
【００３６】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【発明を実施するための最良の形態】
【００３７】
以下、図面を参照しながら本発明の実施形態について詳解する。
【００３８】
図１には、本発明の一実施形態に係る情報機器１のハードウェア構成を模式的に示している。情報機器１の一例はデジタルカメラであり、撮像画像を蓄積するとともに、ＰｉｃｔＢｒｉｄｇｅ又はＰｒｉｎｔＥｎｈａｎｃｅｄいずれかの印刷サービス規格に則ってダイレクトプリントを実施することができる。但し、カメラ・ブロックの構成は従来技術をそのまま適用できるとともに、それ自体は本発明の要旨に関連しないので、図１ではカメラ・ブロックを省略している。
【００３９】
情報機器１は各種モジュールがシステムバス１０３経由でＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００に接続して構成されている。ＣＰＵ１００は、所定の処理プログラムをフラッシュメモリ１０２からメモリ１０１に展開して実行することにより、当該機器１全体の動作を統括的に制御する。また、ＣＰＵ１００はプログラム実行時のシステム変数や環境変数をメモリ１０１に一時記憶する。
【００４０】
図示しないカメラ・ブロックにより撮影された画像データは、フラッシュメモリ１０２に格納されている。画像データは、印刷実行の際には、一旦メモリ１０１に読み出される。
【００４１】
ＬＣＤコントローラ１０５は、ＬＣＤモニタ１０４の表示内容を制御する。ユーザは、例えばＬＣＤモニタ１０４の表示画面を見ながらキー操作部１０６から入力することにより情報機器１の操作を行なうことができる。
【００４２】
ＵＳＢコントローラ１１４がシステムバス１０３に接続され、ＵＳＢコントローラ１１４の先にはＵＳＢコネクタ１１５が接続されている。図示のように、ＰｉｃｔＢｒｉｄｇｅ対応のプリンタ１１７と情報機器１とがＵＳＢケーブル１１６を介して接続されている場合、ＰｉｃｔＢｒｉｄｇｅサービスを使用して、フラッシュメモリ１０２内の画像データをＰｉｃｔＢｒｉｄｇｅ対応プリンタ１１７でダイレクトプリントすることができる。
【００４３】
また、無線ＬＡＮモジュール１０８が無線ＬＡＮインターフェース・コントローラ１０７を介してシステムバス１０３に接続され、さらに外部インターフェースとしてＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）処理部１０９が接続されている。図示のように、情報機器１のＲＦ処理部１０９がアクセスポイント（ＡＰ）１１１の通信セル内にあり、且つＰｒｉｎｔＥｎｈａｎｃｅｄ対応のプリンタ１１３がＥｔｈｅｒｎｅｔ（登録商標）などのＬＡＮケーブル１１２経由でアクセスポイント１１１に接続されている場合、ＰｒｉｎｔＥｎｈａｎｃｅｄサービスを使用して、フラッシュメモリ１０２内の画像データをＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタ１１３でダイレクトプリントすることができる。
【００４４】
図２には、情報機器１内に実装されているソフトウェア・プログラムのスタック構造を模式的に示している。図示のプロトコル・スタックは、ＰｉｃｔＢｒｉｄｇｅとＰｒｉｎｔＥｎｈａｎｃｅｄという２通りの印刷サービスを実装し、各サービスを利用してダイレクトプリントを行なうことができる。
【００４５】
ＰｉｃｔＢｒｉｄｇｅ側は、ＰｉｃｔＢｒｉｄｇｅミドルウェア層と、ＰＴＰミドルウェア層と、ＵＳＢミドルウェア層及びＵＳＢコントローラ用のドライバ層をスタックして構成される。
【００４６】
また、ＰｒｉｎｔＥｎｈａｎｃｅｄ側は、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェア層と、ＵＰｎＰミドルウェア層と、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）層と、ＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）又はＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）などからなるトランスポート層、並びにＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などからなるネットワーク層と、無線ＬＡＮ及び無線ＬＡＮインターフェース用のドライバ層をスタックして構成される。
【００４７】
ここで、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＢｒｉｄｇｅは異なる印刷サービス規格であるため、図２に示したスタック構造では、フロントエンドのＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎにおいて双方のサービス向けの機能を実装しなければならない。すなわち、同図に示すように、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｉｔｏｎは、ＰｒｉｎｔＥｎｈａｎｃｅｄ向けの“ＰｒｉｎｔＥｎｈａｎｃｅｄ  Ａｐｐｌｉｃａｔｉｏｎ（仮称）”モジュールと、ＰｉｃｔＢｒｉｄｇｅ向けの“ＰｉｃｔＢｒｉｄｇｅ  Ａｐｐｌｉｃａｔｉｏｎ（仮称）”モジュールを備える必要があり、これは同じユーザ・インターフェースを提供するアプリケーションであっても規格毎に別々にアプリケーションを開発することに相当し、コスト増大を招来する。
【００４８】
そこで、図３に示したような代替案となるプロトコル・スタック構造が考えられる。図示のスタック構造では、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎの直下にＣｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅが配設されている。このＣｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅは、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＰｒｉｎｔの相違を抽象化する機能を備えたレイヤであり、この場合、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎは、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＰｒｉｎｔの規格上の相違を意識する必要がなくなり、これらの印刷サービスを共通のインターフェース仕様によって制御することが可能になる。
【００４９】
ＰｉｃｔＢｒｉｄｇｅ側のスタックは、Ｃｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｆｅｒｆａｃｅの下位において、ＰｉｃｔＰｒｉｄｇｅ対応のプリンタ制御用ミドルウェア（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌｌｅｒ  Ｍｉｄｄｌｅｗａｒｅ）を介在させて、ＰｉｃｔＢｒｉｄｇｅミドルウェア層と、ＰＴＰミドルウェア層と、ＵＳＢミドルウェア層及びＵＳＢコントローラ用のドライバ層をスタックして構成される。
【００５０】
また、ＰｒｉｎｔＥｎｈａｎｃｅｄ側は、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応のプリンタ制御用ミドルウェアを介在させて、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェア層と、ＵＰｎＰミドルウェア層と、ＨＴＴＰ層と、ＵＤＰ又はＴＣＰなどからなるトランスポート層、並びにＩＰなどからなるネットワーク層と、無線ＬＡＮ及び無線ＬＡＮインターフェース用のドライバ層をスタックして構成される。
【００５１】
図４には、印刷サービス規格毎に設けられるプリンタ制御用ミドルウェアの機能ブロック図を示している。プリンタ制御用ミドルウェアは、Ｃｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ（共通アプリケーション・インターフェース）とともに、最上位にＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎに通信規格の相違を抽象化するための中間処理を行なうミドルウェアである。
【００５２】
Ｃｏｍｍｏｎ  Ａｐｐｌｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅは、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格の内容を知らないＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎが制御可能となるように抽象化・汎用化させたインターフェースを提供し、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎ側からの処理要求の受理と、プリンタ制御用ミドルウェアからＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎへの処理結果の通知などの通信処理を行なう。
【００５３】
プリンタ制御用ミドルウェアは、状態制御部（Ｓｔａｔｅ  Ｃｏｎｔｒｏｌｌｅｒ）と、プリント設定管理部（Ｐｒｉｎｔ  Ｓｅｔｔｉｎｇ  Ｍａｎａｇｅｍｅｎｔ）と、ジョブ管理部（Ｊｏｂ  Ｍａｎａｇｅｍｅｎｔ）を備えている。
【００５４】
状態制御部は、当該ミドルウェア内部の状態を管理し、ミドルウェア全体の動作を制御する。具体的には、状態制御部は、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎからの処理要求を受け付けて中間処理を行ない、下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに処理要求を発行する。また、状態制御部は、下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアから処理要求に対する処理結果を受けて中間処理を行ない、適宜抽象化した形でＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎに通知する情報を生成する。ここで言う処理結果とは、プリンタに要求した処理の実行結果や、プリンタから通知されたイベント情報などである。
【００５５】
プリント設定管理部は、ＵＰｎＰ接続したプリンタの対応仕様を管理するとともに、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎから指示されたプリント設定情報を保持して管理する。
【００５６】
ジョブ管理部は、実行中のプリント・ジョブの進捗状況の管理を行なう。また、ジョブ管理部は、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎから指示された印刷要求を複数のプリント・ジョブに分割して下位のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに対するプリント要求として発行する場合に、内部で分割した各ジョブの管理を行なう。
【００５７】
図４に示したプロトコル・スタック構造によれば、最上位のＵｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎにとっては、ＰｒｉｎｔＥｎｈａｎｃｅｄとＰｉｃｔＢｒｉｄｇｅという２種類の通信規格の相違が抽象化されており、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタ、あるいはＰｉｃｔＢｒｉｄｇｅ対応プリンタのいずれに対してプリントアウトを行なう場合であっても、プリンタ制御用ミドルウェアによる処理は同様となる。
【００５８】
図５には、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎにおいて印刷処理を行なう基本的な処理手順をフローチャートの形式で示している。ＰｉｃｔＢｒｉｄｇｅ又はＰｒｉｎｔＥｎｈａｎｃｅｄいずれのプロトコルを用いて印刷処理を行なう場合であっても同様の処理手順となることを十分理解されたい。
【００５９】
まず、関連するミドルウェアを起動して、その初期化処理を行なう（ステップＳ１）。
【００６０】
次いで、ＵＳＢケーブル又はＵＰｎＰネットワーク越しにプリンタが接続されているかどうかを探索し（ステップＳ２）、プリンタを発見することができたならば（ステップＳ３）、そのプリンタに接続する（ステップＳ４）。
【００６１】
その後、接続したプリンタから対応仕様を取得すると（ステップＳ５）、プリンタとの接続が完了する（ステップＳ６）。
【００６２】
続いて、ユーザが当該Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅが提供する操作画面などを通して印刷する画像を選択するとともに（ステップＳ７）、印刷するレイアウトを指定すると（ステップＳ８）、下位レイヤに印刷コマンドを発行して、印刷を実行する（ステップＳ９）。
【００６３】
ＰｉｃｔＢｒｉｄｇｅ又はＰｒｉｎｔＥｎｈａｎｃｅｄいずれのプロトコルを用いて印刷処理を行なう場合であっても、印刷処理の進捗情報を、下位レイヤを通じて受信する（ステップＳ１０）。そして、印刷処理が完了すると完了の通知を受信する（ステップＳ１１）。
【００６４】
そして、印刷処理が完了すると、アイドル状態に戻り（ステップＳ１２）、ステップＳ４で接続したプリンタとの接続を切断し（ステップＳ１３）、起動中のミドルウェアを終了する（ステップＳ１４）。
【００６５】
図６には、図３に示したプロトコル・スタック構造において印刷処理を実行する際の動作シーケンス例を示している。同図において、印刷ミドルウェアは、ＰｉｃｔＢｒｉｄｇｅミドルウェアとＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに相当する。また、通信ミドルウェアは、ＰｉｃｔＢｒｉｄｇｅにおけるＰＴＰ並びにＵＳＢドライバに相当するとともに、ＰｒｉｎｔＥｎｈａｎｃｅｄにおけるＵＰｎＰ、ＨＴＴＰ、ＴＣＰ／ＩＰに相当する。また、物理レイヤは、ＰｉｃｔＢｒｉｄｇｅではＵＳＢに、ＰｒｉｎｔＥｎｈａｎｃｅｄでは無線ＬＡＮ若しくはＥｔｈｅｒｎｅｔ（登録商標）に相当する。
【００６６】
印刷処理が起動すると、ＵＩアプリケーションからの初期化指示に従って、共通アプリケーション・インターフェースが印刷ミドルウェア及び通信ミドルウェアの初期化処理を行なう。この初期化処理は、ＰｉｃｔＢｒｉｄｇｅ、ＰｒｉｎｔＥｎｈａｎｃｅｄの各システムに依存する処理となる。
【００６７】
次いで、共通アプリケーション・インターフェースは、ＵＩアプリケーションからの要求に従って、ＵＳＢや無線ＬＡＮなどの通信路越しに接続されているプリンタを探索する。
【００６８】
そして、発見されたプリンタとの接続が確立される。印刷ミドルウェアは、実際には、プリンタとの間で複数の通信が行なわれる。その通信内容は、ＰｉｃｔＢｒｉｄｇｅ、ＰｒｉｎｔＥｎｈａｎｃｅｄの各システムに依存する。
【００６９】
次いで、ＵＩアプリケーションは、共通アプリケーション・インターフェースに対して印刷設定を行ない、その後に印刷実行を要求する。そして、印刷が行なわれる間、共通アプリケーション・インターフェースは、印刷処理を実行するプリンタ側から受信したイベントをＵＩアプリケーションに通知する。
【００７０】
このようにして、印刷処理が終了すると、ＵＩアプリケーションは、共通アプリケーション・インターフェースに対して、終了処理を指示する。共通アプリケーション・インターフェースは、ＰｉｃｔＢｒｉｄｇｅ、ＰｒｉｎｔＥｎｈａｎｃｅｄの各システムに依存した終了処理を、印刷ミドルウェア並びに通信ミドルウェアに対して行なう。
【００７１】
図７には、プリンタを接続する際におけるプロトコル・スタックでの処理の流れを図解している。
【００７２】
ＰｉｃｔＢｒｉｄｇｅ対応プリンタを接続する場合、共通アプリケーション・インターフェースは、ＵＩアプリケーションからの接続要求に応答して、ＰｉｃｔＢｒｉｄｇｅ対応状態制御部（Ｓｔａｔｅ  Ｃｏｎｔｒｏｌｌｅｒ）に指示を発行し、ＰｉｃｔＢｒｉｄｇｅ対応状態制御部はＰｉｃｔＢｒｉｄｇｅミドルウェアにプリンタの接続を要求する。ＰｉｃｔＢｒｉｄｇｅミドルウェアは、ＰｉｃｔＢｒｉｄｇｅ  Ｄｉｓｃｏｖｅｒｙ処理を行なって、ＰｉｃｔＢｒｉｄｇｅ対応プリンタの接続を行なう。
【００７３】
続いて、ＰｉｃｔＢｒｉｄｇｅミドルウェアは、−ＧｅｔＣａｐａｂｉｌｉｔｉｅｓ（）リクエストを発行して、ＰｉｃｔＢｒｉｄｇｅ対応プリンタからサポート情報を収集すると、これをＰｉｃｔＢｒｉｄｇｅ対応状態制御部に通知する。ＰｉｃｔＢｒｉｄｇｅ対応状態制御部は、受け取ったサポート情報を、システムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに渡す（図８を参照のこと）。そして、共通アプリケーション・インターフェースは、ＵＩアプリケーションに対して、プリンタのサポート情報と併せて接続完了を通知する。ＵＩアプリケーションは、接続完了の通知に基づいて、印刷設定画面を生成し、ユーザに提示する。
【００７４】
一方、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタを接続する場合、共通アプリケーション・インターフェースは、ＵＩアプリケーションからの接続要求に応答して、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部（Ｓｔａｔｅ  Ｃｏｎｔｒｏｌｌｅｒ）に指示を発行し、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部はＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアにプリンタの接続を要求する。ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアは、ＳＳＤＰ：ＳＵＢＳＣＲＩＢＥリクエストを送信して、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタの接続を行なう。
【００７５】
続いて、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアは、−ＧｅｔＭｅｄｉａＬｉｓｔ（）アクション、−ＧｅｔＭａｒｇｉｎｓ（）アクションを発行して、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからサポート情報を収集すると、これをＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部に通知する。ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、受け取ったサポート情報を、システムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに渡す（図８を参照のこと）。そして、共通アプリケーション・インターフェースは、ＵＩアプリケーションに対して、プリンタのサポート情報と併せて接続完了を通知する。ＵＩアプリケーションは、接続完了の通知に基づいて、印刷設定画面を生成し、ユーザに提示する。
【００７６】
図９には、ＰｉｃｔＢｒｉｄｇｅ対応プリンタからサポート情報を収集する具体例を図解している。
【００７７】
ＰｉｃｔＢｒｉｄｇｅでは、プリンタ側が日付挿入印刷をサポートしているか、どんな用紙サイズをサポートしているか、サポートしている用紙サイズ毎にどんなレイアウトをサポートしているかなど、デジタルカメラ側の商品仕様に応じてデジタルカメラ側が要求する印刷機能を、接続したプリンタがサポートしているかどうか接続時に確認するようになっている。デジタルカメラ側からは、自分が欲しい情報の取得が終わるまで何度も繰り返して問い合わせる。
【００７８】
ＰｉｃｔＢｒｉｄｇｅ対応状態制御部は、プリンタから収集した情報を基に共通のフォーマット情報を生成し、ＵＩアプリケーションに対して印刷可能なパラメータの情報を通知する。
【００７９】
図１０には、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからサポート情報を収集する具体例を図解している。
【００８０】
ＰｒｉｎｔＥｎｈａｎｃｅｄでは、デジタルカメラ側でＸＨＴＭＬによってレイアウトを生成するため、日付挿入印刷やレイアウトについてのサポート状況は問い合わせない。プリンタがサポートする用紙サイズや、各用紙サイズのマージン領域（印刷が保証される領域の、用紙の端からのサイズ）の数値は問い合わせる。デジタルカメラ側からは、自分が欲しい情報の取得が終わるまで何度も繰り返して問い合わせる。
【００８１】
ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、プリンタから収集した情報を基に、共通のフォーマット情報を生成し、ＵＩアプリケーションに印刷可能なパラメータの情報を通知する。日付挿入印刷は常に可能であるため、日付印刷可能という情報をセットする。取得したマージン情報を基にして、用紙サイズ毎に指定可能なレイアウトの情報を生成する。
【００８２】
図１１には、プリンタに対して印刷要求を発行する際におけるプロトコル・スタックでの処理の流れを図解している。
【００８３】
ＰｉｃｔＢｒｉｄｇｅ対応プリンタに対して印刷要求を行なう場合、共通アプリケーション・インターフェースは、ＵＩアプリケーションからの印刷要求に応答して、ＰｉｃｔＢｒｉｄｇｅ対応状態制御部（Ｓｔａｔｅ  Ｃｏｎｔｒｏｌｌｅｒ）に印刷要求を発行する。ＰｉｃｔＢｒｉｄｇｅ対応状態制御部は、印刷設定管理部（Ｐｒｉｎｔ  Ｓｅｔｔｉｎｇ  Ｍａｎａｇｅｍｅｎｔ）から接続中のＰｉｃｔＢｒｉｄｇｅ対応プリンタに関する印刷設定を取得するとともに、ジョブ管理部（Ｊｏｂ  Ｍａｎａｇｅｍｅｎｔ）に対して内部的に管理する印刷ジョブ情報の生成を指示してから、ＰｉｃｔＢｒｉｄｇｅミドルウェアに印刷要求を発行する。ＰｉｃｔＢｒｉｄｇｅミドルウェアは、ＰｉｃｔＢｒｉｄｇｅ規格に従って、接続中のＰｉｃｔＢｒｉｄｇｅ対応プリンタに対する印刷要求を発行する。
【００８４】
ＰｉｃｔＢｒｉｄｇｅ対応プリンタからは、印刷受付が返信される。ＰｉｃｔＢｒｉｄｇｅ対応状態制御部は、ＰｉｃｔＢｒｉｄｇｅミドルウェア経由でこの印刷受付を受理すると、システムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに印刷受付を通知する。そして、共通アプリケーション・インターフェースは、ＵＩアプリケーションに対して、この印刷受付を通知する。
【００８５】
一方、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに対して印刷要求を行なう場合、共通アプリケーション・インターフェースは、ＵＩアプリケーションからの印刷要求に応答して、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部（Ｓｔａｔｅ  Ｃｏｎｔｒｏｌｌｅｒ）に印刷要求を発行する。ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、印刷設定管理部（Ｐｒｉｎｔ  Ｓｅｔｔｉｎｇ  Ｍａｎａｇｅｍｅｎｔ）から接続中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに関する印刷設定を取得するとともに、ジョブ管理部（Ｊｏｂ  Ｍａｎａｇｅｍｅｎｔ）に対して内部的に管理する印刷ジョブ情報の生成を指示してから、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに印刷要求を発行する。ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアは、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格に従って、接続中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに対する印刷要求を発行する。
【００８６】
ＰｉｃｔＢｒｉｄｇｅ対応プリンタからは、印刷受付が返信される。ＰｉｃｔＢｒｉｄｇｅ対応状態制御部は、ＰｉｃｔＢｒｉｄｇｅミドルウェア経由でこの印刷受付を受理すると、システムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに印刷受付を通知する。そして、共通アプリケーション・インターフェースは、ＵＩアプリケーションに対して、この印刷受付を通知する。
【００８７】
ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからは、印刷受付が返信される。ＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェア経由でこの印刷受付を受理すると、システムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに印刷受付を通知する。そして、共通アプリケーション・インターフェースは、ＵＩアプリケーションに対して、この印刷受付を通知する。
【００８８】
その後、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタは、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに対して印刷ドキュメントの取得要求を発行し、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアから送られてくる印刷ドキュメント・データを印刷処理する。
【００８９】
図１２には、デジタルカメラ側のＰｉｃｔＢｒｉｄｇｅミドルウェアが、ＰｉｃｔＢｒｉｄｇｅ規格に従って、接続中のＰｉｃｔＢｒｉｄｇｅ対応プリンタに対する印刷要求を発行し、これに対してＰｉｃｔＢｒｉｄｇｅ対応プリンタから印刷受付が返されるシーケンス例を示している。図示の通り、印刷要求（ＤＰＳ＿ＳｔａｒｔＪｏｂ（）ｒｅｑｕｅｓｔ）とこれに対するレスポンスはＸＭＬ形式のメッセージとして記述される。そして、このようなリクエスト−レスポンス手続が行なわれた後、デジタルカメラ側からは、ＰＴＰプロトコルを用いてプリンタに画像データが送信される。
【００９０】
また、図１３には、デジタルカメラ側のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアが、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格に従い、接続中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに対する印刷要求を発行し、これに対してＰｉｃｔＢｒｉｄｇｅ対応プリンタから印刷受付が返されるシーケンス例を示している。図示の通り、印刷要求はＨＴＴＰプロトコル上でＰＯＳＴメソッドを用いて行なわれる。ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアは、接続中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに対してＣｒｅａｔｅＵＲＩＪｏｂ（）ａｃｔｉｏｎを発行して、印刷ドキュメント・データの格納場所の作成を要求する。ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタは、要求された格納場所を確保すると、レスポンスをＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに返す。これらのメッセージは、ＸＭＬ形式のメッセージとして記述される。
【００９１】
また、図１４には、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタがＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに対して印刷ドキュメントの取得要求を発行し、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアから印刷ドキュメント・データが送られてくるシーケンス例を示している。図示の通り、印刷ドキュメントの取得要求はＨＴＴＰプロトコル上でＧＥＴメソッドを用いて行なわれる。すなわち、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタがＧＥＴリクエストを発行して、所望の印刷ドキュメント・データを要求し、これに対し、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアは印刷ドキュメント・データを返す。これらのメッセージは、ＸＭＬ形式のメッセージとして記述される。以降は、ＨＴＴＰプロトコルに従って、画像データがプリンタへ転送される。
【００９２】
図１５には、印刷処理時にプリンタから通知されるイベントを受信する際におけるプロトコル・スタックでの処理の流れを図解している。
【００９３】
印刷処理中のＰｉｃｔＢｒｉｄｇｅ対応プリンタからは、イベント・メッセージが通知される。同様に、印刷処理中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからも、イベント・メッセージが通知される。ＰｉｃｔＢｒｉｄｇｅ対応状態制御部及びＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、それぞれＰｉｃｔＢｒｉｄｇｅミドルウェア及びＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアを経由して、イベント・メッセージを受け取る。
【００９４】
ＰｉｃｔＢｒｉｄｇｅとＰｒｉｎｔＥｎｈａｎｃｅｄは全く異なる印刷サービス規格であり、それぞれのプリンタから通知されるイベント情報の内容は一致しない。片方の規格で通知されるイベント情報が、もう一方の規格では同じ内容のメッセージの定義が無い場合もある。
【００９５】
図１６には、ＰｉｃｔＢｒｉｄｇｅ規格においてイベント通知を行なうシーケンス例を示している。同規格では、プリンタ側で用紙への印刷が始まったタイミングで、ＤＰＳ＿ＮｏｔｉｆｙＪｏｂＳｔａｔｕｓ（）ｒｅｑｕｅｓｔコマンドを用いて、印刷の進捗の通知が行なわれる。また、印刷処理が終了した時点で、ＤＰＳ＿ＮｏｔｉｆｙＤｅｖｉｃｅＳｔａｔｕｓ（）ｒｅｑｕｅｓｔコマンドを用いて、プリンタの状態が通知される。
【００９６】
また、図１７には、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格においてイベント通知を行なうシーケンス例を示している。同規格では、ＳＳＤＰ：ＮＯＴＩＦＹメッセージを用いてイベント情報の通知が行なわれる。まず、印刷処理を開始する時点で、プリンタの状態が通知され、用紙への印刷が完了して排紙されるタイミングで印刷の進捗状況が通知され、印刷処理が完了した時点でプリンタの状態が通知される。
【００９７】
本実施形態では、ＰｉｃｔＢｒｉｄｇｅ対応状態制御部及びＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、受け取ったイベント情報をシステムに依存しない共通のフォーマットに変換して、共通アプリケーション・インターフェースに通知する。すなわち、上述したような印刷サービス規格毎に区々となるイベント通知の内容から、印刷進捗状況、プリンタの現在の状態、エラー情報などを取り出して、システムに依存しない抽象化した形式のイベント情報として、共通アプリケーション・インターフェースに通知する。
【００９８】
また、イベント情報を通知するタイミングも、ＰｉｃｔＢｒｉｄｇｅ対応プリンタとＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタでは相違するので、ＰｉｃｔＢｒｉｄｇｅ対応状態制御部及びＰｒｉｎｔＥｎｈａｎｃｅｄ対応状態制御部は、共通アプリケーション・インターフェースに対して同じタイミングで通知するよう、タイミング合わせの処理を行なう。
【産業上の利用可能性】
【００９９】
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。
【０１００】
本明細書では、並存するダイレクトプリント・サービスの規格としてＰｉｃｔＢｒｉｄｇｅとＰｒｉｎｔＥｎｈａｎｃｅｄを例に挙げたが、本発明の要旨は必ずしもこれらに限定されるものではなく、他の異なる規格の組み合わせにおいても同様に本発明を適用することができる。
【０１０１】
要するに、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【図面の簡単な説明】
【０１０２】
【図１】図１は、本発明の一実施形態に係る情報機器１のハードウェア構成を模式的に示した図である。
【図２】図２は、情報機器１内に実装されているソフトウェア・プログラムのスタック構造を模式的に示した図である。
【図３】図３は、情報機器１内に実装されているソフトウェア・プログラムのスタック構造を模式的に示した図である。
【図４】図４は、プリンタ制御用ミドルウェアの機能ブロック図を示した図である。
【図５】図５は、Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  Ａｐｐｌｉｃａｔｉｏｎにおいて印刷処理を行なう基本的な処理手順を示したフローチャートである。
【図６】図６は、図３に示したプロトコル・スタック構造において印刷処理を実行する際の動作シーケンス例を示した図である。
【図７】図７は、プリンタを接続する際におけるプロトコル・スタックでの処理を説明するための図である。
【図８】図８は、ＰｉｃｔＢｒｉｄｇｅ対応プリンタ並びにＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからそれぞれ取得したサポート情報を共通フォーマットに変換する様子を示した図である。
【図９】図９は、ＰｉｃｔＢｒｉｄｇｅ対応プリンタからサポート情報を収集する具体例を示した図である。
【図１０】図１０は、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタからサポート情報を収集する具体例を示した図である。
【図１１】図１１は、プリンタに対して印刷要求を発行する際におけるプロトコル・スタックでの処理の流れを説明するための図である。
【図１２】図１２は、デジタルカメラ側のＰｉｃｔＢｒｉｄｇｅミドルウェアが、ＰｉｃｔＢｒｉｄｇｅ規格に従って、接続中のＰｉｃｔＢｒｉｄｇｅ対応プリンタに対する印刷要求を発行し、これに対してＰｉｃｔＢｒｉｄｇｅ対応プリンタから印刷受付が返されるシーケンス例を示した図である。
【図１３】図１３は、デジタルカメラ側のＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアが、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格に従い、接続中のＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタに対する印刷要求を発行し、これに対してＰｉｃｔＢｒｉｄｇｅ対応プリンタから印刷受付が返されるシーケンス例を示した図である。
【図１４】図１４は、ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタがＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアに対して印刷ドキュメントの取得要求を発行し、ＰｒｉｎｔＥｎｈａｎｃｅｄミドルウェアから印刷ドキュメント・データが送られてくるシーケンス例を示した図である。
【図１５】図１５は、印刷処理時にプリンタから通知されるイベントを受信する際におけるプロトコル・スタックでの処理の流れを示した図である。
【図１６】図１６は、ＰｉｃｔＢｒｉｄｇｅ規格においてイベント通知を行なうシーケンス例を示した図である。
【図１７】図１７は、ＰｒｉｎｔＥｎｈａｎｃｅｄ規格においてイベント通知を行なうシーケンス例を示した図である。
【符号の説明】
【０１０３】
１…情報機器（デジタルカメラ）
１００…ＣＰＵ
１０１…メモリ
１０２…フラッシュメモリ
１０３…システムバス
１０４…ＬＣＤモニタ
１０５…ＬＣＤコントローラ
１０７…無線ＬＡＮインターフェース・コントローラ
１０８…無線ＬＡＮモジュール
１０９…ＲＦ処理部
１１１…アクセスポイント
１１２…ＬＡＮケーブル
１１３…ＰｒｉｎｔＥｎｈａｎｃｅｄ対応プリンタ
１１４…ＵＳＢコントローラ
１１５…ＵＳＢコネクタ
１１６…ＵＳＢケーブル
１１７…ＰｉｃｔＢｒｉｄｇｅ対応プリンタ
【図２】
2008107940.tif 000003
【図３】
2008107940.tif 000004
【図４】
2008107940.tif 000005
【図５】
2008107940.tif 000006
【図７】
2008107940.tif 000007
【図８】
2008107940.tif 000008
【図９】
2008107940.tif 000009
【図１０】
2008107940.tif 000010
【図１１】
2008107940.tif 000011
【図１２】
2008107940.tif 000012
【図１３】
2008107940.tif 000013
【図１４】
2008107940.tif 000014
【図１５】
2008107940.tif 000015
【図１６】
2008107940.tif 000016
【図１７】
2008107940.tif 000017
【図１】
2008107940.tif 000018
【図６】
2008107940.tif 000019