(57)【要約】【課題】近接無線通信を用いた画像出力装置の制御を柔軟に行うことを可能とする。【解決手段】近接無線通信による通信が可能な状態でデジタルカメラからプリンタに対して印刷要求を送信し（ＳＥＱ５０１）、プリンタは、この印刷要求に応じて印刷処理を開始させる（ＳＥＱ５０２）。その後、デジタルカメラとプリンタとの距離が通信可能範囲外となり通信切断が発生した場合に（ＳＥＱ５０３）、プリンタの印刷処理を一時中断させる（ＳＥＱ５０４）。このとき、デジタルカメラにおいて、通信が再確立された場合にプリンタで行う処理を設定し、プリンタの出力処理を定義するスクリプトを生成する。このスクリプトを、再度、デジタルカメラとプリンタとの間の通信が確立された際に（ＳＥＱ５０５）、プリンタに送信する（ＳＥＱ５０９）。【選択図】図１１
2010011364.tif 000002
【特許請求の範囲】
【請求項１】
画像入力装置と画像出力装置とを近接無線通信で接続し、該画像入力装置から該近接無線通信により送信された画像データを該画像出力装置で出力する画像出力システムであって、
前記画像入力装置は、
前記近接無線通信が接続されているか切断されているかを検出する第１の検出手段と、
前記画像出力装置に行わせる出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、
少なくとも前記ユーザ操作受け付け手段に受け付けられた前記ユーザ操作に応じて、前記出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、
前記近接無線通信を行う第１の通信手段と、
前記第１の通信手段により画像データの送信を行った後に前記第１の検出手段により前記切断が検出され、該切断の検出の後に該第１の検出手段により前記接続が再び検出されたら、前記スクリプト生成手段により生成された前記出力処理定義スクリプトを前記第１の通信手段で送信させる第１の制御手段と
を備え、
前記画像出力装置は、
前記近接無線通信が接続されているか切断されているかを検出する第２の検出手段と、
前記近接無線通信を行う第２の通信手段と、
画像データを出力する画像出力手段と、
前記第１の通信手段で送信された画像データを前記第２の通信手段で受信し、受信された該画像データを前記画像出力手段で出力しているときに前記第２の検出手段により前記切断が検出されたら、該画像出力手段による該画像データの出力を中断させ、該第２の検出手段により前記接続が再び検出されたら、前記第１の通信手段により送信され前記第２の通信手段で受信した前記出力処理定義スクリプトに応じて、前記画像出力手段による画像データの出力処理を制御する第２の制御手段と
を備える
ことを特徴とする画像出力システム。
【請求項２】
画像出力装置と近接無線通信で接続され、該画像出力装置に対して該近接無線通信により画像データを送信する画像入力装置は、
前記近接無線通信が接続されているか切断されているかを検出する第１の検出手段と、
前記画像出力装置に行わせる出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、
少なくとも前記ユーザ操作受け付け手段に受け付けられた前記ユーザ操作に応じて、前記出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、
前記近接無線通信を行う第１の通信手段と
を備え、
前記画像出力装置は、
前記近接無線通信が接続されているか切断されているかを検出する第２の検出手段と、
前記近接無線通信を行う第２の通信手段と、
画像データを出力する画像出力手段と
を備える画像出力システムの制御方法であって、
前記画像入力装置が前記第１の通信手段により画像データの送信を行う画像データ送信ステップと、
前記画像出力装置が、前記画像データ送信ステップで送信された前記画像データを前記第２の通信手段で受信して前記画像出力手段で出力しているときに前記第２の検出手段により前記切断が検出されたら、該画像出力手段による該画像データの出力を中断させる中断ステップと、
前記画像入力装置が、前記画像データ送信ステップにより前記画像データの送信を行った後に前記第１の検出手段により前記切断が検出され、該切断の検出の後に該第１の検出手段により前記接続が再び検出されたら、前記スクリプト生成手段により生成された前記出力処理定義スクリプトを前記第１の通信手段で送信する送信ステップと、
前記画像出力装置が、前記第２の検出手段により前記接続が再び検出されたら、前記第１の通信手段で送信された前記出力処理定義スクリプトを前記第２の通信手段で受信し、受信した該出力処理定義スクリプトに応じて、前記画像出力手段による画像データの出力処理を制御する制御ステップと
を有する
ことを特徴とする画像出力システムの制御方法。
【請求項３】
近接無線通信で接続された画像出力装置に対して画像データを送信する画像入力装置であって、
前記近接無線通信が接続されているか切断されているかを検出する検出手段と、
前記画像出力装置の出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、
少なくとも前記ユーザ操作受け付け手段に受け付けられた前記ユーザ操作に応じて、前記画像出力装置に行わせる出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、
前記近接無線通信を行う通信手段と、
前記通信手段により画像データの送信を行った後に前記検出手段により前記切断が検出され、該切断の検出の後に該検出手段により前記接続が再び検出されたら、前記スクリプト生成手段により生成された前記出力処理定義スクリプトを前記通信手段で送信させる制御手段と
を備えることを特徴とする画像入力装置。
【請求項４】
前記制御手段は、
前記画像出力装置で中断されている前記画像データの出力処理について、前記ユーザ操作に応じて、少なくとも該出力の中止と、該出力の再開と、該出力の中止および新規の前記画像データの出力の開始とのうち何れか１つを定義する前記出力処理定義スクリプトを、前記スクリプト生成手段に生成させる
ことを特徴とする請求項３に記載の画像入力装置。
【請求項５】
前記スクリプト生成手段は、
前記検出手段により前記切断が検出され、前記接続が再び検出されるまでの間、前記ユーザ操作受け付け手段に対して何も操作が行われなかったら、前記出力の再開を定義する前記出力処理定義スクリプトを生成する
ことを特徴とする請求項４に記載の画像入力装置。
【請求項６】
前記画像入力装置は、
ユーザに対する通知を表示する表示手段をさらに有し、
前記制御手段は、
前記検出手段により前記切断が検出されたら、前記表示手段に対して、少なくとも前記接続が切断されていることを示す前記通知を表示させる
ことを特徴とする請求項３乃至請求項５の何れか１項に記載の画像入力装置。
【請求項７】
前記制御手段は、
前記検出手段により前記切断が検出されたら、前記表示手段に対して、さらに、前記画像入力装置と前記画像出力装置との前記近接無線通信が再び接続された際に該画像出力装置に対して指定可能な出力処理を示す前記通知を表示させる
ことを特徴とする請求項６に記載の画像入力装置。
【請求項８】
前記指定可能な出力処理を示す通知は、前記画像入力装置と前記画像出力装置とを再び接続する操作により、中断されている画像データの出力処理の再開が行われることを示す通知である
ことを特徴とする請求項７に記載の画像入力装置。
【請求項９】
近接無線通信で接続された画像出力装置に対して画像データを送信する画像入力装置の制御方法であって、
前記近接無線通信が接続されているか切断されているかを検出する検出ステップと、
前記画像出力装置の出力処理を指定するユーザ操作を受け付けるユーザ操作受け付けステップと、
少なくとも前記ユーザ操作受け付けステップにより受け付けられた前記ユーザ操作に応じて、前記画像出力装置に行わせる出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成ステップと、
前記近接無線通信を行う通信ステップと、
前記通信ステップにより画像データの送信を行った後に前記検出ステップにより前記切断が検出され、該切断の検出の後に該検出ステップにより前記接続が再び検出されたら、前記スクリプト生成ステップにより生成された前記出力処理定義スクリプトを前記通信ステップで送信させる制御ステップと
を備えることを特徴とする画像入力装置の制御方法。
【請求項１０】
近接無線通信により接続された画像入力装置から送信された画像データを出力する画像出力装置であって、
前記近接無線通信が接続されているか切断されているかを検出する検出手段と、
前記近接無線通信を行う通信手段と、
画像データを出力する画像出力手段と、
前記通信手段で受信された、前記近接無線通信で送信された前記画像データを前記画像出力手段で出力しているときに前記検出手段により前記切断が検出されたら、該画像出力手段による該画像データの出力を中断させ、該検出手段により前記接続が再び検出されたら、前記通信手段で受信した出力処理定義スクリプトに応じて、前記画像出力手段による画像データの出力処理を制御する制御手段と
を備える
ことを特徴とする画像出力装置。
【請求項１１】
近接無線通信により接続された画像入力装置から送信された画像データを出力する画像出力装置の制御方法であって、
前記近接無線通信が接続されているか切断されているかを検出する検出ステップと、
前記近接無線通信を行う通信ステップと、
画像データを出力する画像出力ステップと、
前記通信ステップで受信された、前記近接無線通信で送信された前記画像データを前記画像出力ステップで出力しているときに前記検出ステップにより前記切断が検出されたら、該画像出力ステップによる該画像データの出力を中断させ、該検出ステップにより前記接続が再び検出されたら、前記通信ステップで受信した出力処理定義スクリプトに応じて、前記画像出力ステップによる画像データの出力処理を制御する制御ステップと
を備える
ことを特徴とする画像出力装置の制御方法。
【請求項１２】
コンピュータを請求項１および請求項３乃至請求項８の何れか１項に記載の画像入力装置として機能させるプログラム。
【請求項１３】
コンピュータを請求項１または請求項１０に記載の画像出力装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像入力装置と画像出力装置との間でデータ通信を行う際の技術に関する。
【背景技術】
【０００２】
近年、ＲＦＩＤやＮＦＣなどに代表されるように、通信距離が１ｍ未満といった近接無線通信によって情報をやり取りする技術の普及が進んでいる。なお、ＲＦＩＤは、Radio Frequency Identificationの略称である。また、ＮＦＣは、Near Field Communicationの略称である。
【０００３】
一方、近接無線通信は、無線通信であること、通信可能範囲が狭いこと、通信状況をユーザが把握するのが困難であることなどから、比較的簡単に通信の切断が発生してしまう。したがって、近接無線通信を用いた機器間の通信においては、通信切断への対処を十分に考える必要がある。特許文献１では、画像入力装置と画像出力装置間の通信切断に対して、通信切断が発生した場合に出力処理を中断し、通信が再度確立されたら出力処理を再開する方法が提案されている。
【０００４】
【特許文献１】特開２００４−２５２９５２
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されている方法では、実行中の出力処理をキャンセルするためにユーザが意図的に通信を切断しても、通信の再確立時に出力処理が再開されてしまうという問題点があった。
【課題を解決するための手段】
【０００６】
上述した課題を解決するために、第１の発明は、画像入力装置と画像出力装置とを近接無線通信で接続し、画像入力装置から近接無線通信により送信された画像データを画像出力装置で出力する画像出力システムであって、画像入力装置は、近接無線通信が接続されているか切断されているかを検出する第１の検出手段と、画像出力装置に行わせる出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、少なくともユーザ操作受け付け手段に受け付けられたユーザ操作に応じて、出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、近接無線通信を行う第１の通信手段と、第１の通信手段により画像データの送信を行った後に第１の検出手段により切断が検出され、切断の検出の後に第１の検出手段により接続が再び検出されたら、スクリプト生成手段により生成された出力処理定義スクリプトを第１の通信手段で送信させる第１の制御手段とを備え、画像出力装置は、近接無線通信が接続されているか切断されているかを検出する第２の検出手段と、近接無線通信を行う第２の通信手段と、画像データを出力する画像出力手段と、第１の通信手段で送信された画像データを第２の通信手段で受信し、受信された画像データを画像出力手段で出力しているときに第２の検出手段により切断が検出されたら、画像出力手段による画像データの出力を中断させ、第２の検出手段により接続が再び検出されたら、第１の通信手段により送信され第２の通信手段で受信した出力処理定義スクリプトに応じて、画像出力手段による画像データの出力処理を制御する第２の制御手段とを備えることを特徴とする画像出力システムである。
【０００７】
また、第２の発明は、画像出力装置と近接無線通信で接続され、画像出力装置に対して近接無線通信により画像データを送信する画像入力装置は、近接無線通信が接続されているか切断されているかを検出する第１の検出手段と、画像出力装置に行わせる出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、少なくともユーザ操作受け付け手段に受け付けられたユーザ操作に応じて、出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、近接無線通信を行う第１の通信手段とを備え、画像出力装置は、近接無線通信が接続されているか切断されているかを検出する第２の検出手段と、近接無線通信を行う第２の通信手段と、画像データを出力する画像出力手段とを備える画像出力システムの制御方法であって、画像入力装置が第１の通信手段により画像データの送信を行う画像データ送信ステップと、画像出力装置が、画像データ送信ステップで送信された画像データを第２の通信手段で受信して画像出力手段で出力しているときに第２の検出手段により切断が検出されたら、画像出力手段による画像データの出力を中断させる中断ステップと、画像入力装置が、画像データ送信ステップにより画像データの送信を行った後に第１の検出手段により切断が検出され、切断の検出の後に第１の検出手段により接続が再び検出されたら、スクリプト生成手段により生成された出力処理定義スクリプトを第１の通信手段で送信する送信ステップと、画像出力装置が、第２の検出手段により接続が再び検出されたら、第１の通信手段で送信された出力処理定義スクリプトを第２の通信手段で受信し、受信した出力処理定義スクリプトに応じて、画像出力手段による画像データの出力処理を制御する制御ステップとを有することを特徴とする画像出力システムの制御方法である。
【０００８】
また、第３の発明は、近接無線通信で接続された画像出力装置に対して画像データを送信する画像入力装置であって、近接無線通信が接続されているか切断されているかを検出する検出手段と、画像出力装置の出力処理を指定するユーザ操作を受け付けるユーザ操作受け付け手段と、少なくともユーザ操作受け付け手段に受け付けられたユーザ操作に応じて、画像出力装置に行わせる出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成手段と、近接無線通信を行う通信手段と、通信手段により画像データの送信を行った後に検出手段により切断が検出され、切断の検出の後に検出手段により接続が再び検出されたら、スクリプト生成手段により生成された出力処理定義スクリプトを通信手段で送信させる制御手段とを備えることを特徴とする画像入力装置である。
【０００９】
また、第４の発明は、近接無線通信で接続された画像出力装置に対して画像データを送信する画像入力装置の制御方法であって、近接無線通信が接続されているか切断されているかを検出する検出ステップと、画像出力装置の出力処理を指定するユーザ操作を受け付けるユーザ操作受け付けステップと、少なくともユーザ操作受け付けステップにより受け付けられたユーザ操作に応じて、画像出力装置に行わせる出力処理を定義する出力処理定義スクリプトを生成するスクリプト生成ステップと、近接無線通信を行う通信ステップと、通信ステップにより画像データの送信を行った後に検出ステップにより切断が検出され、切断の検出の後に検出ステップにより接続が再び検出されたら、スクリプト生成ステップにより生成された出力処理定義スクリプトを通信ステップで送信させる制御ステップとを備えることを特徴とする画像入力装置の制御方法である。
【００１０】
また、第５の発明は、近接無線通信により接続された画像入力装置から送信された画像データを出力する画像出力装置であって、近接無線通信が接続されているか切断されているかを検出する検出手段と、近接無線通信を行う通信手段と、画像データを出力する画像出力手段と、通信手段で受信された、近接無線通信で送信された画像データを画像出力手段で出力しているときに検出手段により切断が検出されたら、画像出力手段による画像データの出力を中断させ、検出手段により接続が再び検出されたら、通信手段で受信した出力処理定義スクリプトに応じて、画像出力手段による画像データの出力処理を制御する制御手段とを備えることを特徴とする画像出力装置である。
【００１１】
また、第６の発明は、近接無線通信により接続された画像入力装置から送信された画像データを出力する画像出力装置の制御方法であって、近接無線通信が接続されているか切断されているかを検出する検出ステップと、近接無線通信を行う通信ステップと、画像データを出力する画像出力ステップと、通信ステップで受信された、近接無線通信で送信された画像データを画像出力ステップで出力しているときに検出ステップにより切断が検出されたら、画像出力ステップによる画像データの出力を中断させ、検出ステップにより接続が再び検出されたら、通信ステップで受信した出力処理定義スクリプトに応じて、画像出力ステップによる画像データの出力処理を制御する制御ステップとを備えることを特徴とする画像出力装置の制御方法である。
【発明の効果】
【００１２】
本発明は、上述した構成を有するため、近接無線通信を用いた画像出力装置の制御を柔軟に行うことが可能である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態を、図面を参照しながら説明する。本発明は、画像入力装置（例えばデジタルカメラ）と、画像出力装置（例えばプリンタ）とを、近接無線通信で接続した際の、画像出力装置の制御に関する。
【００１４】
なお、本明細書において、「近接無線通信」とは、通信距離が１ｍ未満、特には数１０ｃｍ未満であることを想定して規定された通信プロトコルに基づく無線通信を意味するものとする。このような通信プロトコルとしては、通信距離が約７０ｃｍ以下の「近傍型」、同約１０ｃｍ以下の「近接型」非接触通信プロトコルが知られている。具体的には、ISO/IEC 15693、ISO/IEC 14434、ECMA-340 (ISO/IEC 18092)などの規格が存在する。
【００１５】
先ず、図１および図２を用いて、本発明の実施形態における画像出力システムに適用可能な画像入力装置および画像出力装置について説明する。
【００１６】
図１は、本発明の実施形態に適用可能な画像入力装置としてのデジタルカメラ１００の一例の構成を示す。被写体からの光が、撮影レンズ１０および絞り機構を備えるシャッタ１２を介して、光学像を電気信号に変換する、ＣＣＤやＣＭＯＳセンサによる撮像素子を持つ撮像部１４に入射される。Ａ／Ｄ変換器１６は、撮像部１４から出力されたアナログ信号をディジタル信号に変換し、画像データとして出力する。タイミング発生回路１８は、メモリ制御回路２２およびシステム制御部５０により制御され、撮像部１４、Ａ／Ｄ変換器１６およびＤ／Ａ変換器２６に対して、クロック信号や制御信号を供給する。
【００１７】
画像処理回路２０は、Ａ／Ｄ変換器１６やメモリ制御回路２２から供給された画像データに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路２０においては、Ａ／Ｄ変換器１６から供給される画像データを用いて所定の演算処理を行う。演算結果は、メモリ制御回路２２を介してシステム制御部５０に供給される。システム制御部５０は、この演算結果に基づいて露光制御部４０、測距制御部４２、フラッシュ４８に対して制御を行う。これにより、ＴＴＬ（スルー・ザ・レンズ）方式のＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ならびに、ＥＦ（フラッシュプリ発光）処理が行われる。さらに、画像処理回路２０においては、撮像したＡ／Ｄ変換器１６から供給された画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてＴＴＬ方式のＡＷＢ（オートホワイトバランス）処理も行っている。
【００１８】
メモリ制御回路２２は、Ａ／Ｄ変換器１６、タイミング発生回路１８、画像処理回路２０、画像表示メモリ２４、Ｄ／Ａ変換器２６、メモリ３０、ならびに、圧縮伸長回路３２を制御する。Ａ／Ｄ変換器１６から出力された画像データは、画像表示メモリ２４を介して、あるいは、直接的に、メモリ制御回路２２に供給される。この画像データは、メモリ制御回路２２により、画像表示メモリ２４やメモリ３０に書き込まれる。
【００１９】
表示手段としての画像表示部２８は、供給された画像データをＬＣＤや有機ＥＬディスプレイなどによる表示デバイスに表示させる。画像表示メモリ２４に書き込まれた表示用の画像データは、Ｄ／Ａ変換器２６を介して画像表示部２８により表示される。撮像部１４で撮像した画像データを画像表示部２８で逐次表示すれば、電子ファインダ機能を実現することが可能である。また、画像表示部２８は、システム制御部５０の指示により任意に表示をＯＮ／ＯＦＦすることが可能であり、表示をＯＦＦにした場合にはデジタルカメラ１００の電力消費を大幅に低減することができる。
【００２０】
メモリ３０は、撮像して得られた静止画像データや動画像データを格納し、所定枚数の静止画像データや所定時間の動画像データを格納するのに十分な記憶容量を備えている。そのため、複数枚の静止画像を連続して撮影する連写撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ３０に対して行うことが可能となる。また、メモリ３０はシステム制御部５０の作業領域としても使用することが可能である。
【００２１】
圧縮伸長回路３２は、メモリ３０に格納された画像を読み込んで、適応離散コサイン変換（ＡＤＣＴ）、ウェーブレット変換などを用いた周知のデータ圧縮処理或いは伸長処理を行い、処理を終えたデータをメモリ３０に書き込む。
【００２２】
露光制御部４０は、撮像部１４の撮像素子への露光量を制御するための絞り機能を備えるシャッタ１２を制御する。また、システム制御部５０は、露光制御部４０の測光結果に基づいてフラッシュ４８によるフラッシュ調光機能を実現する。
【００２３】
測距制御部４２は、撮影レンズ１０のフォーカシングを制御し、ズーム制御部４４は撮影レンズ１０のズーミングを制御する。バリア制御部４６は、デジタルカメラ１００の撮影レンズ１０を覆うことにより、汚れや破損を防止するバリアである保護部１０２の動作を制御する。フラッシュ４８は、撮影時の補助光源として機能し、調光機能も有する。また、ＡＦ補助光の投光機能も有する。露光制御部４０、測距制御部４２は、ＴＴＬ方式を用いて制御されており、撮像した画像データを画像処理回路２０によって演算した演算結果に基づき、システム制御部５０が露光制御部４０、測距制御部４２に対して制御を行う。
【００２４】
第１の制御手段としてのシステム制御部５０は、例えばマイクロプロセッサからなる。メモリ５２は、例えばＲＯＭであって、システム制御部５０の動作用の定数、変数、プログラムなどを予め記憶する。システム制御部５０は、メモリ５２に記憶されたプログラムなどに従い、デジタルカメラ１００全体を制御する。
【００２５】
また、スクリプト生成手段としてのシステム制御部５０は、プログラムに従い、画像出力装置に対する出力処理を定義する出力処理定義スクリプト（以下、スクリプトと略称する）を作成する。そして、生成したスクリプトを、通信部１１０、コネクタ（アンテナ）１１２を介して、図示しない画像出力装置に送信する。図示しない画像出力装置からスクリプトが送信されてきた場合には、当該スクリプトは、コネクタ（アンテナ）１１２により受信され、通信部１１０からシステム制御部５０に送られる。システム制御部５０は、通信部１１０から送られたスクリプトを解析し、解析結果に基づいてデジタルカメラ１００を動作させる。
【００２６】
表示部５４は、システム制御部５０でのプログラムの実行に応じて、文字、画像、音声などを用いて動作状態やメッセージなどを通知する。表示部５４は、例えばデジタルカメラ１００の操作部７０近傍の視認し易い位置に、１または複数が設置され、ＬＣＤやＬＥＤといった表示素子や、発音素子などの組み合わせにより構成される。また、表示部５４は、その一部の機能が光学ファインダ１０４内に設置されている。
【００２７】
表示部５４の表示内容のうち、ＬＣＤなどに表示するものとしては、単写／連写撮影表示、セルフタイマー表示、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示およびシャッタスピード表示などがある。さらに、絞り値表示、露出補正表示、フラッシュ表示、赤目緩和表示、マクロ撮影表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示などが、ＬＣＤに表示される。さらにまた、外部記憶媒体９３の情報および外部記憶媒体９３の着脱状態表示や、日付、時刻表示などがＬＣＤに表示される。
【００２８】
また、表示部５４の表示内容のうち、光学ファインダ１０４内に表示するものとしては、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタスピード表示、絞り値表示、露出補正表示などがある。
【００２９】
不揮発性メモリ５６は、例えばＥＥＰＲＯＭなどの電気的に消去および記録が可能なメモリが用いられる。不揮発性メモリ５６には、例えばこのデジタルカメラ１００における各種の設定情報が記憶される。
【００３０】
モードダイアルスイッチ６０は、電源オフ、自動撮影モード、撮影モード、パノラマ撮影モード、再生モード、マルチ画面再生・消去モード、ＰＣ接続モードなどの、デジタルカメラ１００における各機能モードの切り替えを行う。
【００３１】
シャッタスイッチ６２は、ＡＦやＡＥ等の撮影スタンバイ動作を行うためのスイッチ（図中ではＳＷ１と記す）で、シャッタスイッチ６４は、シャッタスイッチ６２の操作後、実際に撮影を行うための撮影スイッチ（図中ではＳＷ２と記す）である。すなわち、シャッタスイッチ６２は、シャッタボタンを半押し状態で作動し、シャッタスイッチ６４は、シャッタボタンを押し込んだ状態で作動する。
【００３２】
画像表示ＯＮ／ＯＦＦスイッチ６６は、画像表示部２８のＯＮ／ＯＦＦを設定する。この機能により、光学ファインダ１０４を用いて撮影を行う際に、ＬＣＤなどからなる画像表示部２８への電流供給を遮断することにより、省電力を図ることが可能となる。
【００３３】
クイックレビューＯＮ／ＯＦＦスイッチ６８は、撮影直後に、撮影した画像データを自動再生するクイックレビュー機能を設定する。また、画像表示部２８をＯＦＦとした場合におけるクイックレビュー機能の設定をする機能も備える。
【００３４】
ユーザ操作受け付け手段としての操作部７０は、各種ボタンやタッチパネルといった操作子が設けられ、ユーザ操作を受け付ける。操作部７０に設けられる操作子の例としては、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写／連写／セルフタイマー切り替えボタンなどがある。操作部７０には、さらに、メニュー移動＋（プラス）ボタン、メニュー移動−（マイナス）ボタン、再生画像移動＋（プラス）ボタン、再生画像−（マイナス）ボタン、撮影画質選択ボタンなどが設けられる。さらにまた、操作部７０には、露出補正ボタン、日付／時間設定ボタン、画像削除ボタン、画像削除取消しボタンなどが設けられる。これらの操作子は、それぞれ独立したスイッチなどで構成してもよいし、タッチパネル上の領域として構成してもよい。また、操作部７０に上下左右方向をそれぞれ指定する方向キーと、決定キーとを設け、画像表示部２８に表示される設定画面上のカーソル表示と組み合わせて、各操作子それぞれの機能を実現することもできる。
【００３５】
電源制御部８０は、電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路などにより構成される。電源制御部８０は、電源８６の電池装着の有無、電池の種類、電池残量の検出を行い、検出結果およびシステム制御部５０の指示に基づいてＤＣ−ＤＣコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
【００３６】
電源８６は、アルカリ電池、リチウム電池といった一次電池や、ＮｉＣｄ電池ＮｉＭＨ電池、Ｌｉ電池といった二次電池、ＡＣアダプターなどからなり、コネクタ８２およびコネクタ８４を介して電源制御部８０に接続される。
【００３７】
Ｉ／Ｆ（インターフェイス）９１は、外部記憶媒体９３とのインターフェイスであり、システム制御部５０の指示に応じたカードコントローラ９０の制御に基づき、外部記憶媒体９３に対するデータの記録および再生を行う。コネクタ９２は、外部記憶媒体９３との接続を行う。記録媒体着脱検知部９８は、コネクタ９２に外部記憶媒体９３が装着されているか否かを検知する。
【００３８】
すなわち、撮像部１４における撮像により得られた画像データが圧縮伸長回路３２で圧縮され、圧縮画像データとなる。この圧縮画像データが、システム制御部５０の制御に基づき、カードコントローラ９０およびインターフェイス９１を介して外部記憶媒体９３に供給され、ファイルとして記憶される。
【００３９】
光学ファインダ１０４を利用すれば、画像表示部２８による電子ファインダ機能を使用することなく、撮影を行うことが可能である。また、光学ファインダ１０４内には、表示部５４の一部の機能、例えば、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタスピード表示、絞り値表示、露出補正表示などが設けられる。
【００４０】
第１の通信手段としての通信部１１０は、このデジタルカメラ１００と外部の機器との間のデータ通信を制御する。例えば、システム制御部５０により外部記憶媒体９３から読み出された画像データが、通信部１１０により、後述するコネクタ（アンテナ）１１２により外部の機器に送信される。
【００４１】
通信部１１０に適用可能な通信方式は、外部の機器との間で双方向にデータ通信が可能であれば特に限定されない。例えば、ＵＳＢやＩＥＥＥ１３９４を通信部１１０に適用することができる。無線通信を通信部１１０に適用することもできる。これに限らず、ＲＳ２３２ＣやＰ１２８４、ＳＣＳＩ、モデム、ＬＡＮなどを通信部１１０に適用してもよい。
【００４２】
コネクタ（アンテナ）１１２は、通信部１１０が外部の機器との間でのデータ通信を行う際に、当該外部の機器との電気的な接続を行う。通信部１１０に対し、ＵＳＢやＩＥＥＥ１３９４といった有線による通信を行う通信方式が適用されている場合には、コネクタ（アンテナ）１１２は、物理的接触を行うための端子が設けられた構造とされる。すなわち、この場合、ＵＳＢやＩＥＥＥ１３９４のケーブルに設けられた端子と、コネクタ（アンテナ）１１２に設けられた端子とを物理的に接触させることで、通信部１１０と外部の機器とが電気的に接続される。また、通信部１１０に対し、データ通信を無線通信にて行う通信方式が適用されている場合には、コネクタ（アンテナ）１１２は、電波の送受信を行うためのアンテナとして構成される。
【００４３】
本実施形態においては、通信部１１０が無線通信を行うようにされ、コネクタ（アンテナ）１１２がアンテナとして構成されているものとする。さらに、本実施形態においては、通信部１１０、ならびに、コネクタ（アンテナ）１１２は、近接無線通信を用いてデータ通信を行うものとし、コネクタ（アンテナ）１１２は、無線通信によるデータの送受信を行う送受信回路を含む（図示しない）。
【００４４】
第１の検出手段としてのコネクタ（アンテナ）１１２は、近接無線通信による通信の接続および切断状態を検知することができる。一例として、コネクタ（アンテナ）１１２は、接続先の機器と一定間隔で通信を行い、接続先機器からのレスポンスが一定時間内に無かった場合、通信が切断状態になったと判断することができる。通信の接続も同様に、例えば、コネクタ（アンテナ）１１２は、接続が確立されていない状態で通信を試み、接続先機器からのレスポンスがあったら、通信が接続状態になったと判断することができる。これに限らず、例えば電磁誘導により接続先機器に電力を供給するタイプの近接無線通信では、コネクタ（アンテナ）１１２が電力供給側の場合、接続先機器がコネクタ（アンテナ）１１２に接近して電力が供給されることで通信が開始される。そして、当該機器がコネクタ（アンテナ）１１２から離れることで電力の供給が停止し、通信が中断される。コネクタ（アンテナ）１１２は、通信の接続または切断状態を検知し、システム制御部５０に通知する。
【００４５】
なお、通信部１１０により通信されるデータは、撮影によって得られた画像データに限らず、上述したように、接続先機器としての画像出力装置の出力処理を定義する出力処理定義スクリプトも含む。この出力定義スクリプトの詳細については、後述する。システム制御部５０は、コネクタ（アンテナ）１１２により画像出力装置の近接無線通信による接続または切断状態が検知されたと通知されたら、通知された通信状態に応じて、画像出力装置に送信する出力処理定義スクリプトを作成する。作成された出力処理定義スクリプトは、通信部１１０およびコネクタ（アンテナ）１１２を介して、接続先の画像出力装置に送信される。
【００４６】
図２は、本発明の実施形態に適用可能な画像出力装置としてのプリンタ２００の一例の構成を示す。画像出力手段としてのプリントエンジン２０２は、用紙に対して実際に画像のプリントを行う。給紙部２１３から用紙を供給し、プリント処理部２０５によってデータ印刷処理を行い、カートリッジ装着部２１５に装着されたインクカートリッジのインクを使用してプリントを行い、排紙部２１４からプリントされた用紙を排紙する。
【００４７】
第２の制御手段としてのシステムコントローラ２０７は、例えばマイクロプロセッサ、ＲＯＭおよびＲＡＭを有し、ＲＯＭに予め記憶されたプログラムに従い、ＲＡＭをワークメモリとして用いてこのプリンタ２００の全体を制御する。操作部２０４は、複数の操作子が設けられ、ユーザ操作を受け付ける。操作部２０４に設けられる操作子としては、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置などの１または複数の組み合わせが考えられる。操作部２０４に設けられた操作子が操作されると、操作に応じた制御信号がシステムコントローラ２０７に供給される。システムコントローラ２０７は、この制御信号に基づき、プリンタ２００に対して操作に応じた動作を行わせる。
【００４８】
表示部２０３は、ＬＣＤやＬＥＤといった表示デバイスや、音声出力を行う音声デバイスを有する。表示処理部２０６は、システムコントローラ２０７からの指示により、表示部２０３で表示するためのデータを生成し、表示部２０３に供給する。
【００４９】
不揮発性メモリ２０８は、例えばＥＥＰＲＯＭなどの電気的に消去および記録が可能なメモリが用いられる。不揮発性メモリ２０８に対して、プリンタ２００の無線設定情報を記憶することができる。メモリ２０９は、ＲＯＭであって、プリンタの動作用の定数、変数、プログラムなどが予め記憶される。
【００５０】
第２の通信手段としての通信部２１６は、アンテナ２１７を介して行う無線通信を制御する。アンテナ２１７は、無線通信による電波の送受信を行うためのもので、無線通信によるデータの送受信を行う送受信回路を含む（図示しない）。なお、本実施形態においては、通信部２１６およびアンテナ２１７は、近接無線通信を行うようにされている。
【００５１】
また、第２の検出手段としてのアンテナ２１７は、近接無線通信による通信の接続および切断状態を検知することができる。一例として、アンテナ２１７は、接続先の機器と一定間隔で通信を行い、接続先機器からのレスポンスが一定時間内に無かった場合、通信が切断状態になったと判断することができる。通信の接続も同様に、例えば、アンテナ２１７は、接続が確立されていない状態で通信を試み、接続先機器からのレスポンスがあったら、通信が接続状態になったと判断することができる。これに限らず、例えば電磁誘導により接続先機器に電力を供給するタイプの近接無線通信では、アンテナ２１７が電力供給側の場合、接続先機器がアンテナ２１７に接近して電力が供給されることで通信が開始される。そして、当該機器がアンテナ２１７から離れることで電力の供給が停止し、通信が中断される。アンテナ２１７は、通信の接続または切断状態を検知し、システムコントローラ２０７に通知する。
【００５２】
システムコントローラ２０７は、アンテナ２１７から通知された通信状態に応じて、接続先機器としての画像入力装置に対して送信する出力処理定義スクリプトを作成する。作成された出力処理定義スクリプトは、通信部２１６およびアンテナ２１７を介して、接続先の画像入力装置に送信される。
【００５３】
ＵＳＢホストインターフェイス２１１は、パーソナルコンピュータといった外部ホスト機器と、ＵＳＢを用いて接続するためのＵＳＢインターフェイスである。また、ＵＳＢデバイスインターフェイス２１２は、デジタルカメラなどの外部デバイス機器と、ＵＳＢを用いて接続するためのＵＳＢインターフェイスである。
【００５４】
なお、上述したデジタルカメラ１００、プリンタ２００の制御は、それぞれ１つのハードウェアが実行してもよいし、複数のハードウェアが役割を分担し、全体として１つの制御部として機能するようにしてもよい。
【００５５】
次に、本発明の実施形態による、近接無線通信を用いた通信制御方法を説明するのに先立って、図３に例示されるように、デジタルカメラ１００とプリンタ２００とを、例えばＵＳＢケーブル２５０により接続して有線通信を行う一般的な例について説明する。すなわち、デジタルカメラ１００から出力された画像データを、ＵＳＢケーブル２５０を介して直接的にプリンタ２００に送信して印刷させる、ダイレクトプリントを行う。この場合、デジタルカメラ１００側のコネクタ（アンテナ）１１２は、ＵＳＢに対応するコネクタとして構成される。
【００５６】
なお、ダイレクトプリントとは、画像入力装置と画像出力装置を、直接的にＵＳＢケーブルなどで接続し、画像入力装置から転送されてくる画像データを画像出力装置側で出力するものである。このダイレクトプリントを実現するための規格としてPictBridgeがあり、ＣＩＰＡ（カメラ映像機器工業会）により作成された技術規格書「CIPA DC-001-2003」により規定されている。以下では、デジタルカメラ１００およびプリンタ２００は、PictBridge規格に準拠した動作が可能であるものとする。
【００５７】
図４は、PictBridgeによる通信プロトコルアーキテクチャを示す。最下層の物理通信レイヤとして例えばＵＳＢを用い、その上のトランスポート層の通信プロトコルとしてＰＴＰを用いる。なお、ＰＴＰは、Picture Transfer Protocolの略である。ＰＴＰトランスポート層と上位のＤＰＳアプリケーション層との間にＤＰＳ層を設け、ＰＴＰプロトコルとのマッピングを行う。PictBridgeは、ＤＰＳ層とＤＰＳアプリケーション層とのインターフェイスプロトコルを規定する。
【００５８】
PictBridgeのソフトウェアコンポーネントとして、ＤＰＳ層内にあるDPS Discoveryが規定される。それと共に、ＤＰＳアプリケーション内にあるDPS Print SeverおよびClient、DPS Storage ServerおよびClientが規定される。DPS Discoveryは、接続された互いの機器がＤＰＳ機能を有するか否かのネゴシエーションを行うコンポーネントである。
【００５９】
ＤＰＳアプリケーションの動作は、サーバ／クライアントモデルにより説明される。すなわち、ＤＰＳアプリケーションは、基本的に、クライアントからの要求に対してサーバが応答し、その結果をサーバからクライアントに返すというシーケンスで、各ＤＰＳオペレーションが完結する。また、サーバから発行される通知に対してクライアントが応答し、その受け取り確認をサーバに返すというシーケンスで、ＤＰＳイベントが完結する。
【００６０】
図５は、PictBridgeを用いて、デジタルカメラ１００において外部記憶媒体９３に記憶された１つのファイルの画像データを、プリンタ２００で出力する際の一例のシーケンスを示す。ここでは、特に通信の切断などが発生しない一般的な例について説明する。
【００６１】
ユーザによりデジタルカメラ１００とプリンタ２００とがＵＳＢケーブル２５０により接続されると、デジタルカメラ１００およびプリンタ２００との間で、ＵＳＢケーブル２５０を介して電気的な接続が発生する（ＳＥＱ４００）。すると、デジタルカメラ１００およびプリンタ２００は、DPS Discovery処理を実行し（ＳＥＱ４０１）、互いにPictBridgeによるダイレクトプリントに対応しているか否かのネゴシエーションを行う。
【００６２】
DPS Discovery処理の結果、互いにPictBridgeによるダイレクトプリントに対応している場合には、デジタルカメラ１００がプリンタ２００にDPS_ConfigurePrintServiceスクリプトを送信する（ＳＥＱ４０２）。これにより、デジタルカメラ１００の情報をプリンタ２００に通知する。プリンタ２００は、このDPS_ConfigurePrintServiceスクリプトに対して、タグdpsVersion、タグproductNameおよびタグvendorNameなどのパラメータを含む応答スクリプトをデジタルカメラ１００に返す。デジタルカメラ１００は、これらタグdpsVersion、タグproductNameおよびタグvendorNameなどのパラメータに基づき、プリンタ２００を識別することができる。これらタグdpsVersion、タグproductNameおよびタグvendorNameなどのパラメータは、例えばデジタルカメラ１００のメモリ３０または不揮発性メモリ５６に記憶される。
【００６３】
プリンタ２００は、DPS_ConfigurePrintServiceスクリプトによりデジタルカメラ１００の情報を取得すると、デジタルカメラ１００に対し、DPS_NotifyDeviceStatusスクリプトを送信する（ＳＥＱ４０３）。DPS_NotifyDeviceStatusスクリプトにより、デジタルカメラ１００に対してプリンタ２００の状態（ここではアイドル状態）が送信される。これにより、デジタルカメラ１００に対して、プリンタ２００が印刷処理を受信可能である旨が通知される。
【００６４】
次に、デジタルカメラ１００は、DPS_GetCapabilityスクリプトをプリンタ２００に送信し、プリンタ２００に対して能力情報(capability)を問い合わせる（ＳＥＱ４０４）。プリンタの能力情報とは、プリンタが扱うことができる用紙サイズ、用紙タイプ、出力可能な画像ファイルのフォーマットや、日付印刷、ファイル名印刷、画像補正、レイアウト印刷、固定サイズ印刷、トリミング印刷などに対応しているかを示すパラメータである。デジタルカメラ１００は、このプリンタ２００の能力情報を把握した上でプリンタ２００に対してDPS_StartJobスクリプトを送信し、能力情報に応じた印刷開始要求を行う（ＳＥＱ４０５）。DPS_StartJobスクリプトについての詳細は、後述する。
【００６５】
ＳＥＱ４０５の印刷開始要求に対して、プリンタ２００は、DPS_GetFileInfoスクリプトをデジタルカメラ１００に送信する（ＳＥＱ４０６）。このDPS_GetFileInfoスクリプトにより、デジタルカメラ１００に対して、印刷が指示された画像データのファイルＩＤに基づきファイル情報が要求される。DPS_GetFileInfoスクリプトに応答して、デジタルカメラ１００からプリンタ２００に対して、ファイル情報(FileInfo)が送信される（ＳＥＱ４０７）。このファイル情報には、ファイル容量（ファイルサイズ）、サムネイル画像の有無、ファイルの属性などの情報が含まれる。
【００６６】
プリンタ２００は、ＳＥＱ４０７で送信されたファイル情報を受信して、ファイル情報に示されるファイルを処理可能であるか否かを判断する。若し、処理可能であると判断されれば、デジタルカメラ１００に対してDPS_GetFileスクリプトを送信し、当該ファイルを要求する（ＳＥＱ４０８）。デジタルカメラ１００は、DPS_GetFileスクリプトにより要求されたファイルの画像データ(Image File)を、プリンタ２００に対して送信する（ＳＥＱ４０９）。
【００６７】
プリンタ２００は、ＳＥＱ４０９で送信された画像データを受け取ると、印刷中(Printing)を示すステータス情報が含まれるDPS_NotifyDeviceStatusスクリプトを、デジタルカメラ１００に対して送信する（ＳＥＱ４１０）。さらに、プリンタ２００は、DPS_NotifyJobStatusスクリプトによって、印刷の進捗状況をカメラに通知する（ＳＥＱ４１１）。そして、プリンタ２００は、ＳＥＱ４０９で受け取った画像データの印刷を開始する（ＳＥＱ４１２）。
【００６８】
印刷処理が終了すると、プリンタ２００は、アイドル状態(Idle)を示すステータス情報が含まれるDPS_NotifyDeviceStatusスクリプトをデジタルカメラ１００に送信する（ＳＥＱ４１３）。このDPS_NotifyDeviceStatusスクリプトにより、デジタルカメラ１００に、プリンタ２００がアイドル状態になったことが通知される。
【００６９】
なお、上述したDPS_NotifyJobStatusスクリプトおよびDPS_NotifyDeviceStatusスクリプトの発行タイミングと、画像データの取得の順番は、一例であり、実装により様々なケースが起こり得る。また、図５に例示した印刷シーケンスは、ＵＳＢの代わりに近接無線通信を用いて通信を行った場合でも、通信切断が発生しなければ同様のシーケンスとなる。
【００７０】
次に、PictBridgeにおいて定義されるスクリプトのうち、本発明の実施形態に関わりの深いスクリプトについて説明する。なお、PictBridgeのスクリプトは、ＸＭＬ(Extensible Markup Language)を用いて記述される。ＸＭＬは、独自の定義が可能なタグを用いて情報を記述するようにした言語である。タグは、一般的には、範囲の開始および終了をそれぞれ示す一対の記号からなる。範囲の開始を示す開始タグは、予め定義された文字列を記号「<」と「>」とで囲んで表現される。終了を示す終了タグは、開始を示すタグ中に記される文字列と同一の文字列を記号「</」と「>」とで囲んで表現される。
【００７１】
一対のタグによって指定された範囲に対して、記号「<」と「>」（あるいは記号「</」と「>」）とで囲まれた文字列によって、任意の意味を持たせることが可能である。また、タグ中に、所定のパラメータの記述を含ませることができる。タグは、入れ子構造を取ることが可能である。通常、ＸＭＬファイルの記述において、入れ子のレベルは、各行のインデントの深さで表現される。
【００７２】
図６は、DPS_StartJobスクリプトの一例の構造を示す。DPS_StartJobスクリプトは、デジタルカメラ１００がプリンタ２００に対して印刷開始要求を行うスクリプトである。タグstartJobにより、このスクリプトがDPS_StartJobであることが示される。また、タグstartJobで指定される範囲に記述されるタグjobConfigは、この範囲にこの印刷ジョブのコンフィグレーションが記述されることを示す。同様に、タグprintInfoは、この範囲にプリント情報が記述されることを示す。
【００７３】
コンフィグレーションにおいて、タグqualityは、印刷する画質を示す値（例えば標準、高画質など）が記述される。タグpaperSizeは、用紙サイズを示す値が記述される。タグpaperTypeは、用紙タイプを示す値（例えば普通紙、写真用紙、インクジェット用紙など）が記述される。タグfileTypeは、印刷する画像ファイルのタイプを指定する値が記述される。例えば、ＤＰＯＦファイルを使用する場合には、このタグfileTypeにより指定される。
【００７４】
タグdatePrintは、日付印刷の有無を示す値が記述される。タグfileNamePrintは、ファイル名の印刷の有無を示す値が記述される。タグimageOptimizeは、画像補正を行うかどうかを示す値が記述される。タグfixedSizeは、固定サイズの印刷を行うか否かを示す値が記述される。タグcroppingは、トリミング印刷を行うか否かを示す値が記述される。
【００７５】
プリント情報において、タグfileIDは、印刷を行う画像データが格納されたファイルのファイルＩＤが記述される。タグdateは、日付情報が記述される。
【００７６】
図７は、DPS_NotifyDeviceStatusスクリプトの一例の構造を示す。DPS_NotifyDeviceStatusスクリプトは、プリンタ２００がデジタルカメラ１００に対してプリンタ２００の状態を通知するスクリプトである。タグnotifyDeviceStatusにより、このスクリプトがDPS_NotifyDeviceStatusスクリプトであることが示される。
【００７７】
タグdpsPrintServiceStatusは、プリンタ２００の状態を示す値が記述される。プリンタ２００の状態としては、アイドル状態、プリント状態、およびポーズ状態が含まれる。タグjobEndReasonは、プリント処理の終了状況を示す値が記述される。これは、最終ページの印刷が完了すると、プリンタ２００からデジタルカメラ１００に対して通知される。タグerrorStatusは、終了したプリント処理のエラーの状態を示す値が記述される。これは、エラーが発生した場合に通知される。タグerrorReasonは、エラーの発生理由を示す値が記述される。これは、タグerrorStatusと共に用いられる。
【００７８】
タグdisconnectEnableは、通信が切断されても印刷可能か否かを示す値が記述される。タグcapabilityChangedは、プリンタ２００における能力情報(capability)が変更されたか否かを示す値が記述される。タグnewJobOKは、プリンタ２００が印刷要求を受付可能であるか否かを示す値が記述される。
【００７９】
図８は、DPS_NotifyJobStatusスクリプトの一例の構造を示す。DPS_NotifyJobStatusスクリプトは、プリンタ２００がデジタルカメラ１００に対して印刷の進捗状況を通知するスクリプトである。タグnotifyJobStatusは、このスクリプトがDPS_NotifyJobStatusスクリプトであることを示す。タグprogressは、印刷要求のあった画像枚数を示す値と、現在何枚目を印刷中かを示す値とが、それぞれ３桁の十進数で記述される。一例として、６枚の印刷要求があり、４枚目の印刷を開始する際には、図８に例示されるように、「004/006」という文字列が、タグprogressに対して埋め込まれる。タグimagesPrintedは、複数枚の印刷指定を行った際の印刷済み枚数を示す値が、３桁の十進数で記述される。
【００８０】
PictBridgeを使用した印刷処理では、以上のようにスクリプト中のタグに必要なパラメータを埋め込み、デジタルカメラとプリンタとの間で送受信することで、印刷処理を行う。
【００８１】
＜実施形態＞
次に、本発明の実施形態による通信処理について説明する。本発明の実施形態では、デジタルカメラ１００とプリンタ２００との間の通信を、上述した、通信距離が１ｍ未満、特には数１０ｃｍ未満であることを想定した通信プロトコルに基づく近接無線通信によって行う。この場合、図９に例示されるような通信可能範囲が存在し、デジタルカメラ１００およびプリンタ２００における、近接無線通信の送受信部がこの通信可能範囲外であれば、通信を行うことができない。
【００８２】
すなわち、図９（ａ）に例示されるように、デジタルカメラ１００およびプリンタ２００における、近接無線通信の送受信部の位置が通信可能範囲内にあれば、デジタルカメラ１００とプリンタ２００との間で近接無線通信による通信が可能である。一方、例えばユーザがデジタルカメラ１００を持って移動し、図９（ｂ）に例示されるように、デジタルカメラ１００およびプリンタ２００における、近接無線通信の送受信部の位置が通信可能範囲外になったとする。この場合には、デジタルカメラ１００とプリンタ２００との間で、近接無線通信による通信が切断される。また、図９（ｂ）の状態から再度、デジタルカメラ１００をプリンタ２００に近付けて図９（ａ）の状態にすると、近接無線通信による通信が再開される。
【００８３】
なお、以下では、煩雑さを避けるために、「デジタルカメラ１００およびプリンタ２００における、近接無線通信の送受信部の位置が通信可能範囲内にある」ことを、「デジタルカメラ１００とプリンタ２００とが通信可能範囲内にある」と記載する。同様に、「デジタルカメラ１００およびプリンタ２００における、近接無線通信の送受信部の位置が通信可能範囲外にある」ことを、「デジタルカメラ１００とプリンタ２００とが通信可能範囲外にある」と記載する。
【００８４】
本発明の実施形態では、PictBridgeによるダイレクトプリントを近接無線通信を用いて行う。その上で、本発明の実施形態は、デジタルカメラ１００およびプリンタ２００における近接無線通信の送受信部が通信可能範囲外になり通信が切断され、さらに、当該送受信部が通信可能範囲内になり通信が再開された場合の処理に関するものである。
【００８５】
すなわち、近接無線通信による通信が可能な状態でデジタルカメラ１００からプリンタ２００に対して印刷要求を送信し、プリンタ２００は、この印刷要求に応じて印刷処理を開始させる。その後、デジタルカメラ１００とプリンタ２００との距離が通信可能範囲外となり通信切断が発生した場合に、プリンタ２００の印刷処理を一時中断させる。そして、この印刷処理の一時中断の後に再度通信が確立した場合のプリンタ２００の印刷処理を変更可能にする。
【００８６】
この中断のタイミングとしては、その時点で行っている画像データの用紙１枚に対する印刷が終了した後に中断、あるいは、その時点で行っている画像データの用紙１枚に対する印刷の途中で即時中断などが考えられる。さらに、デジタルカメラ１００から取得済みの画像データによる印刷を全て終了した後に中断することも考えられる。以下では、その時点で行っている画像データの用紙１枚に対する印刷の終了後に、印刷処理が中断され、プリンタがポーズ状態になるものとして説明する。
【００８７】
印刷処理の変更は、通信切断後に再度通信が確立した際にデジタルカメラ１００からプリンタ２００に送信するスクリプトを変更することで実現する。通信が再確立された場合にプリンタ２００で行う処理の例としては、（１）中断されている印刷処理の中止、（２）中断されている印刷処理の再開、ならびに、（３）中断されている印刷処理の中止と新規の印刷処理の開始が挙げられる。
【００８８】
図１０は、本発明の実施形態による処理の流れを概略的に示すフローチャートである。デジタルカメラ１００とプリンタ２００との間での近接無線通信による通信が確立すると（ステップＳ１０）、デジタルカメラ１００からプリンタ２００に画像データが転送され、プリンタ２００においてこの画像データの印刷が開始される（ステップＳ１１）。
【００８９】
プリンタ２００がステップＳ１１で開始された印刷を行っている最中に、例えばユーザがデジタルカメラ１００をプリンタ２００から遠ざけ、デジタルカメラ１００とプリンタ２００とが通信可能範囲外になると、通信が切断される。通信が切断されると、プリンタ２００は、ステップＳ１１で開始された印刷を中断し、ポーズ状態となる（ステップＳ１３）。
【００９０】
プリンタ２００がポーズ状態の間に、デジタルカメラ１００は、選択画面を表示し、ユーザからの操作を受け付ける（ステップＳ１４）。ユーザはデジタルカメラ１００に対して、デジタルカメラ１００とプリンタ２００との間の通信が再確立された後の、プリンタ２００の動作に関する設定を行うことができる。本実施形態では、下記（１）〜（３）の３通りの動作を設定可能である。
（１）中断されている印刷処理の中止
（２）中断されている印刷処理の再開
（３）中断されている印刷処理の中止と新規の印刷処理の開始
【００９１】
なお、これら（１）〜（３）の動作のうち、（２）の「中断されている印刷処理の再開」は、例えば、ステップＳ１４においてデジタルカメラ１００に対して何も操作がなされない場合に、設定される。また、（３）の「中断されている印刷処理の中止と新規の印刷処理の開始」がユーザにより選択されると、ユーザは、デジタルカメラ１００に対して、ステップＳ１３で中断された印刷処理の中止と、新規の印刷処理の実行とを設定する。
【００９２】
ユーザがデジタルカメラ１００をプリンタ２００に近付け、デジタルカメラ１００とプリンタ２００とが通信可能範囲内になると、近接無線通信による通信が再び確立される（ステップＳ１５）。すると、デジタルカメラ１００からプリンタ２００に対して、ステップＳ１４のユーザ操作に基づいて設定されたプリンタ２００の動作を示す情報が送信される。
【００９３】
プリンタ２００は、デジタルカメラ１００から送信されたこの情報に応じて、以降の処理を決定する（ステップＳ１６）。すなわち、ステップＳ１４におけるユーザ操作が、（１）の「中断されている印刷処理の中止」であれば、処理がステップＳ１７に移行され、ステップＳ１３で中断された印刷処理が中止される。また、ステップＳ１４におけるユーザ操作が、（２）の「中断されている印刷処理の再開」であれば、処理がステップＳ１８に移行され、ステップＳ１３で中断された印刷処理が再開される。さらに、ステップＳ１４におけるユーザ操作が、（３）の「中断されている印刷処理の中止と新規の印刷処理の開始」であれば、処理がステップＳ１９に移行される。そして、ステップＳ１３で中断された印刷処理が中止されると共に、新規の印刷処理が開始される。
【００９４】
＜中断されている印刷処理の中止＞
先ず、（１）の、中断されている印刷処理を中止する例について説明する。図１１は、この中断されている印刷ジョブを中止する際の一例のシーケンスを示す。先ず、ユーザが印刷ジョブＡを作成し、デジタルカメラ１００をプリンタ２００に近付ける。そして、デジタルカメラ１００がプリンタ２００の通信可能範囲内に入ると、デジタルカメラ１００とプリンタ２００とが近接無線通信により接続される（ＳＥＱ５００）。
【００９５】
デジタルカメラ１００とプリンタ２００とが近接無線通信により接続されると、ＳＥＱ５０１により、印刷の前処理が行われ、印刷処理が開始される。すなわち、ＳＥＱ５０１では、図５を用いて説明したＳＥＱ４０１〜ＳＥＱ４１１の処理により、DPS Doscovery処理によるネゴシエーション（ＳＥＱ４０１）が行われる。その後、各スクリプトにより互いの情報がやりとりされる（ＳＥＱ４０２〜ＳＥＱ４０４）。そして、デジタルカメラ１００からプリンタ２００に対して印刷ジョブＡによる印刷要求を送信する。プリンタ２００において、デジタルカメラ１００から送信（画像データ送信ステップ）された画像データの印刷処理が開始される（ＳＥＱ４０５〜ＳＥＱ４１１）。
【００９６】
印刷処理中（ＳＥＱ５０２）に、例えばユーザがデジタルカメラ１００をプリンタ２００から遠ざけて、デジタルカメラ１００がプリンタ２００の通信可能範囲外に出ると、近接無線通信による通信が切断される（ＳＥＱ５０３）。通信が切断されると、プリンタ２００は、現在印刷中の画像データの１枚の用紙に対する印刷終了後に、印刷処理を中断し（ＳＥＱ５０４）、ポーズ状態となる。
【００９７】
ＳＥＱ５０３における通信切断の発生時に、システム制御部５０は、デジタルカメラ１００の画像表示部２８に対して、図１２に例示されるように、印刷処理が中断している旨をユーザに通知するための表示３００を行う。また、そのまま再度デジタルカメラ１００をプリンタ２００に近付けると、中断していた印刷が再開される旨を通知する表示３０１も行う。さらに、システム制御部５０は、画像表示部２８に対して、中断されている印刷処理のキャンセルを促す表示３０２も行うと共に、表示３０２に対応して、キャンセルボタン３０３が表示される。このように、画像表示部２８に対して、デジタルカメラ１００からプリンタ２００に対して指定可能な出力処理を示す表示がなされる。
【００９８】
キャンセルボタン３０３は、例えば操作部７０に設けられる、上下左右の方向を指示する十字キー７０Ａを操作して選択した後、選択項目の決定を指示する決定キー７０Ｂにより操作することができる。中断中の印刷処理を中止させるには、操作部７０の操作子、例えば十字キー７０Ａと決定キー７０Ｂによりキャンセルボタン３０３を操作し、デジタルカメラ１００を再度、プリンタ２００に近付ける。
【００９９】
デジタルカメラ１００をプリンタ２００に近付けたことで、デジタルカメラ１００とプリンタ２００との間の通信が再度、確立される（ＳＥＱ５０５）。そこで、デジタルカメラ１００は、DPS_ConfigurePrintServiceスクリプトをプリンタ２００に送信する（ＳＥＱ５０６）。プリンタ２００は、このDPS_ConfigurePrintServiceスクリプトを受信すると、受信された当該スクリプトに対する応答を、応答スクリプトを用いてデジタルカメラ１００に対して返す。
【０１００】
プリンタ２００からの応答スクリプトを受信したデジタルカメラ１００は、受信した応答スクリプトの中に存在するタグdpsVersion、タグproductNameおよびタグvendorNameなどのパラメータを取得する。そして、取得されたこれらのパラメータを、ＳＥＱ５０３による通信切断が発生する前のパラメータと比較する。そして、比較の結果、前回の通信確立時と同じプリンタであるかどうかを判断する。
【０１０１】
例えば、システム制御部５０は、メモリ３０または不揮発性メモリ５６から、ＳＥＱ４０２に対するプリンタ２００からの応答スクリプトのタグdpsVersion、タグproductNameおよびタグvendorNameなどのパラメータを読み出す。そして、読み出されたこれらのパラメータと、今回取得したパラメータとを比較する。
【０１０２】
パラメータの比較の結果、若し、前回の通信確立時と異なるプリンタであると判断されれば、デジタルカメラ１００において、システム制御部５０は、画像表示部２８に対して印刷処理が継続できない旨の表示を行う。同様に、プリンタ２００において、システムコントローラ２０７は、表示部２０３に対して印刷処理が継続できない旨の通知を行う。
【０１０３】
一方、パラメータの比較の結果、前回の通信確立時と同じプリンタであったと判断されたら、デジタルカメラ１００は、プリンタ２００の状態を把握するために、DPS_GetDeviceStatusスクリプトをプリンタ２００に送信する（ＳＥＱ５０７）。
【０１０４】
上述したように、本発明の実施形態では、プリンタ２００は、デジタルカメラ１００からの画像データを印刷中に近接無線通信による通信切断が発生すると、実行中の印刷処理を一時中断状態とする。したがって、プリンタ２００は、DPS_GetDeviceStatusスクリプトに応じて、ポーズ状態(Paused)であることを示す応答スクリプトを、デジタルカメラ１００に対して送信する（ＳＥＱ５０８）。
【０１０５】
このポーズ状態を示す応答スクリプトを受信したデジタルカメラ１００は、中断されている印刷処理をキャンセルするために、DPS_AbortJobスクリプトをプリンタ２００に対して送信する（ＳＥＱ５０９）。プリンタ２００は、このDPS_AbortJobスクリプトを受信すると、中断されている印刷処理を中止する（ＳＥＱ５１０）。プリンタ２００は、印刷処理が中止され、アイドル状態(Idle)になったら、DPS_NotifyDeviceStatusスクリプトをデジタルカメラ１００に送信し、その旨を通知する（ＳＥＱ５１１）。
【０１０６】
なお、ＳＥＱ５０７でデジタルカメラ１００がプリンタ２００に対して状態を問い合わせた結果が、印刷中であった場合には、デジタルカメラ１００は、プリンタ２００に対して印刷中止処理を指示する。これは、デジタルカメラ１００が、DPS_AbortJobスクリプト中のタグabortStyleのパラメータを変更してプリンタ２００に対して送信することでなされる。
【０１０７】
タグabortStyleタグでは、プリンタ２００の印刷中止処理の種類を指定することができる。具体的には、印刷途中であっても直ちに印刷処理を中止するか、現在印刷中の画像データの用紙１枚に対する印刷後に印刷処理を中止するかを指定できる。この印刷処理の中止の種類は、デジタルカメラ１００、若しくは、プリンタ２００のユーザ設定などで変更可能としても良い。この場合も、プリンタ２００は、印刷中止処理の完了後、図１１におけるＳＥＱ５１０と同様にして、デジタルカメラ１００に対してDPS_NotifyDeviceStatusスクリプトを送信し、アイドル状態になった旨を通知する。
【０１０８】
＜中断されている印刷処理の再開＞
次に、（２）の、中断されている印刷処理を再開する例について説明する。図１３は、中断されている印刷処理の再開の際の一例のシーケンスを示す。ここでは、用紙１０枚に対する画像データの印刷要求を、デジタルカメラ１００からプリンタ２００に対して指示する場合を例に挙げて説明する。
【０１０９】
ＳＥＱ６００およびＳＥＱ６０１のシーケンスは、上述した図１１のＳＥＱ５００および〜ＳＥＱ５０１のシーケンスと同様である。すなわち、ユーザが印刷ジョブＡを作成し、デジタルカメラ１００をプリンタ２００に近付けると、デジタルカメラ１００とプリンタ２００とが近接無線通信により接続される（ＳＥＱ６００）。そして、ＳＥＱ６０１により、プリンタ２００において、図５を用いて説明したＳＥＱ４０１〜ＳＥＱ４１１の処理により印刷の前処理が行われ、印刷処理が開始される。
【０１１０】
印刷処理中（ＳＥＱ６０２）にデジタルカメラ１００がプリンタ２００の通信可能範囲外に出ると、近接無線通信による通信が切断される（ＳＥＱ６０３）。通信が切断されると、プリンタ２００は、現在印刷中の画像データの例えば１枚目の用紙に対する印刷終了後に、印刷処理を中断し（ＳＥＱ６０４）、ポーズ状態となる。
【０１１１】
また、ＳＥＱ６０３における通信切断の発生時に、システム制御部５０は、デジタルカメラ１００の画像表示部２８に対して、図１２に例示されるような、印刷処理の中断および再開を示す表示３００および表示３０１を行う。それと共に、システム制御部５０は、中断されている印刷処理のキャンセルを促す表示３０２も行うと共に、表示３０２に対応して、キャンセルボタン３０３が表示される。
【０１１２】
また、プリンタ２００は、ＳＥＱ６０４においてポーズ状態になったら、次に印刷すべき画像データの取得を要求するために、表示部２０３におけるＬＥＤ表示やＬＣＤ表示、音声表示を用いてその旨をユーザに通知するようにしてもよい。
【０１１３】
ＳＥＱ６０３の通信切断により中断された印刷処理（ＳＥＱ６０１）を再開させるには、ＳＥＱ６０４でプリンタ２００がポーズ状態になった際に、再度、デジタルカメラ１００をプリンタ２００に近付ける。このとき、デジタルカメラ１００に対する印刷処理のキャンセルの指定は行われない。すなわち、ユーザは、デジタルカメラ１００の操作部７０に対して何の操作も行う必要が無い。
【０１１４】
デジタルカメラ１００をプリンタ２００に近付けたことで、デジタルカメラ１００とプリンタ２００との間の通信が再度、確立される（ＳＥＱ６０５）。そこで、デジタルカメラ１００は、DPS_ConfigurePrintServiceスクリプトをプリンタ２００に送信する（ＳＥＱ６０６）。プリンタ２００は、このDPS_ConfigurePrintServiceスクリプトを受信すると、受信された当該スクリプトに対する応答を、応答スクリプトを用いてデジタルカメラ１００に対して返す。デジタルカメラ１００は、既に説明したように、プリンタ２００からの応答スクリプトのパラメータに基づき、接続されたプリンタ２００が前回の通信確立時と同じプリンタ２００であるかどうかを判断する。
【０１１５】
パラメータの比較の結果、若し、前回の通信確立時と異なるプリンタであると判断されれば、デジタルカメラ１００において、システム制御部５０は、の画像表示部２８に対して印刷処理が継続できない旨の表示を行う。同様に、プリンタ２００において、システムコントローラ２０７は、表示部２０３に対して印刷処理が継続できない旨の通知を行う。
【０１１６】
一方、パラメータの比較の結果、前回の通信確立時と同じプリンタであったと判断されたら、デジタルカメラ１００は、プリンタ２００の状態を把握するために、DPS_GetDeviceStatusスクリプトをプリンタ２００に送信する（ＳＥＱ６０７）。プリンタ２００は、DPS_GetDeviceStatusスクリプトに応じて、ポーズ状態であることを示す応答スクリプトを、デジタルカメラ１００に対して送信する（ＳＥＱ６０８）。
【０１１７】
デジタルカメラ１００は、ＳＥＱ６０８でプリンタ２００から送信された応答スクリプトを受信すると、中断されている印刷処理の再開要求であるDPS_ContinueJobスクリプトをプリンタ２００に送信する（ＳＥＱ６０９）。この印刷再開要求を受けたプリンタ２００は、ＳＥＱ６０１において既に印刷要求のあった用紙１０枚分の画像データのうち、１枚分の印刷が完了しているため、ＳＥＱ６１０以降のシーケンスにより、２枚目の画像データから印刷処理を開始する。
【０１１８】
なお、ＳＥＱ６１０以降のシーケンスは、図５を用いて説明したＳＥＱ４０６〜ＳＥＱ４１３のシーケンスと同様である。すなわち、ＳＥＱ６０９の印刷再開要求に対して、プリンタ２００は、DPS_GetFileInfoスクリプトをデジタルカメラ１００に送信し、印刷を指示された画像データのファイル情報を要求する（ＳＥＱ６１０）。プリンタ２００は、DPS_GetFileInfoスクリプトに応答してデジタルカメラ１００から送信された（ＳＥＱ６１１）ファイル情報に基づき、ファイルを処理可能であるか否かを判断する。処理可能であると判断されれば、プリンタ２００は、デジタルカメラ１００に対してDPS_GetFileスクリプトを送信し、当該ファイルを要求する（ＳＥＱ６１２）。
【０１１９】
プリンタ２００は、ＳＥＱ６１２による要求に応じてデジタルカメラ１００から送信された（ＳＥＱ６１３）画像データを受信する。印刷処理中(Printing)であることを示すDPS_NotifyDeviceStatusスクリプトがプリンタ２００からデジタルカメラ１００に対して送信される（ＳＥＱ６１４）。また、印刷の進捗情報をデジタルカメラ１００に通知するDPS_NotifyJobStatusスクリプトが、プリンタ２００からデジタルカメラ１００に対して送信される（ＳＥＱ６１５）。そして、プリンタ２００において、印刷処理が開始される（ＳＥＱ６１６）。
【０１２０】
用紙１枚に対する画像データの印刷が終了すると、シーケンスがＳＥＱ６１０に戻される。そして、次に印刷すべき画像データのファイル情報が取得され、当該ファイル情報に示される画像データのファイルがデジタルカメラ１００からプリンタ２００に対して送信される。
【０１２１】
このＳＥＱ６１０〜ＳＥＱ６１６のシーケンスが、ＳＥＱ６０１で印刷要求のあった枚数が完了するまで繰り返される。印刷の進捗情報をデジタルカメラ１００に通知する、DPS_NotifyJobStatusスクリプトのタグprogressに示される、現在何枚目を印刷中かを示す値が、印刷処理が進行する毎に変化する。一方、ＳＥＱ６１４による、印刷処理中であることを示すDPS_NotifyDeviceStatusスクリプトは、ＳＥＱ６０５による通信の再確立後の最初の印刷処理の時にのみ、送信される。
【０１２２】
印刷要求のあった全ての画像データの印刷が完了したら、プリンタ２００は、DPS_NotifyDeviceStatusスクリプトにより、アイドル状態となった旨をデジタルカメラ１００に対して通知して（ＳＥＱ６１７）、一連の印刷処理が終了される。
【０１２３】
＜中断されている印刷処理の中止と新規の印刷処理の開始＞
次に、（３）の、中断されている印刷処理を中止し、新規の印刷処理を開始する例について説明する。図１４は、中断されている印刷処理を中止し、新規の印刷処理を開始する際の一例のシーケンスを示す。ここでは、用紙１０枚に対する画像データの印刷要求を、デジタルカメラ１００からプリンタ２００に対して指示する場合を例に挙げて説明する。
【０１２４】
ＳＥＱ７００およびＳＥＱ７０１のシーケンスは、上述した図１１のＳＥＱ５００および〜ＳＥＱ５０１のシーケンスと同様である。すなわち、ユーザが印刷ジョブＡを作成し、デジタルカメラ１００をプリンタ２００に近付けると、デジタルカメラ１００とプリンタ２００との間の近接無線通信による通信が確立される（ＳＥＱ７００）。そして、ＳＥＱ７０１により、プリンタ２００において、図５を用いて説明したＳＥＱ４０１〜ＳＥＱ４１１の処理により印刷の前処理が行われ、印刷処理が開始される。
【０１２５】
印刷処理中（ＳＥＱ７０２）にデジタルカメラ１００がプリンタ２００の通信可能範囲外に出ると、近接無線通信による通信が切断される（ＳＥＱ７０３）。そして、プリンタ２００は、現在印刷中の画像データの例えば１枚目の用紙に対する印刷終了後に、印刷処理を中断し（ＳＥＱ７０４）、ポーズ状態となる。
【０１２６】
また、ＳＥＱ７０３における通信切断の発生時に、システム制御部５０は、デジタルカメラ１００の画像表示部２８に対して、図１２に例示されるような、印刷処理の中断および再開を示す表示３００および表示３０１を行う。それと共に、システム制御部５０は、中断されている印刷処理のキャンセルを促す表示３０２も行うと共に、表示３０２に対応して、キャンセルボタン３０３が表示される。
【０１２７】
ここで、ユーザは、カメラの操作部７０を操作してキャンセルボタン３０３を指定して、デジタルカメラ１００側で印刷ジョブＡをキャンセルする。さらに、ユーザがキャンセル後に表示されるメニュー画面（図示しない）から新たに印刷ジョブＢを作成する。その後、ユーザがデジタルカメラ１００をプリンタ２００に近付けると、デジタルカメラ１００とプリンタ２００との間で近接無線通信による通信が確立される（ＳＥＱ７０５）。
【０１２８】
ＳＥＱ７０５によりデジタルカメラ１００とプリンタ２００との間の通信が再度、確立されると、デジタルカメラ１００は、DPS_ConfigurePrintServiceスクリプトをプリンタ２００に送信する（ＳＥＱ７０６）。デジタルカメラ１００は、図１１のＳＥＱ５０６と同様に、ＳＥＱ７０６で送信されたスクリプトに対する応答スクリプトに基づき、接続されたプリンタ２００が前回の通信確立時（ＳＥＱ７０１）と同じプリンタ２００であるかどうかを判断する。
【０１２９】
若し、前回の通信確立時と異なるプリンタであると判断されれば、デジタルカメラ１００の画像表示部２８およびプリンタ２００の表示部２０３に対し、印刷処理が継続できない旨の通知が行われる。
【０１３０】
一方、前回の通信確立時と同じプリンタであると判断されたら、デジタルカメラ１００は、プリンタ２００の状態を把握するために、DPS_GetDeviceStatusスクリプトをプリンタ２００に送信する（ＳＥＱ７０７）。プリンタ２００は、DPS_GetDeviceStatusスクリプトに応じて、ポーズ状態であることを示す応答スクリプトを、デジタルカメラ１００に対して送信する（ＳＥＱ７０８）。この応答スクリプトに応じて、デジタルカメラ１００は、中断されている印刷処理を中止するために、印刷処理の中止要求である、DPS_AbortJobスクリプトをプリンタ２００に送信する（ＳＥＱ７０９）。プリンタ２００は、このDPS_AbortJobスクリプトを受信すると、ＳＥＱ７０３による通信切断前で中断されていた、印刷ジョブＡによる印刷を中止する（ＳＥＱ７１０）。
【０１３１】
なお、DPS_AbortJobスクリプト内のタグabortStyleタグでは、プリンタ２００の印刷中止処理の種類を指定することができる。具体的には、印刷途中であっても直ちに印刷処理を中止するか、現在印刷中の画像データの用紙１枚に対する印刷後に印刷処理を中止するかを指定できる。
【０１３２】
プリンタ２００は、ＳＥＱ７０９の印刷中止要求に応じて印刷中止処理を行った後、DPS_NotifyDeviceStatusスクリプトにおけるタグnewJobOKの値を、印刷可能状態を示す"TRUE"とする。プリンタ２００は、このDPS_NotifyDeviceStatusスクリプトをデジタルカメラ１００に送信する（ＳＥＱ７１１）。これにより、プリンタ２００からデジタルカメラ１００に対して、新規の印刷処理を受付可能である旨が通知される。デジタルカメラ１００は、このDPS_NotifyDeviceStatusスクリプトに応じて、新規の印刷ジョブＢを示すDPS_StartJobをプリンタ２００に送信する（ＳＥＱ７１２）。
【０１３３】
なお、ＳＥＱ７１２以降のシーケンスは、図５を用いて説明したＳＥＱ４０６〜ＳＥＱ４１３のシーケンスと同様である。すなわち、ＳＥＱ７１２の、印刷ジョブＢの印刷開始要求に対して、プリンタ２００は、DPS_GetFileInfoスクリプトをデジタルカメラ１００に送信し、印刷を指示された画像データのファイル情報を要求する（ＳＥＱ７１３）。プリンタ２００は、DPS_GetFileInfoスクリプトに応答してデジタルカメラ１００から送信された（ＳＥＱ７１４）ファイル情報に基づき、ファイルを処理可能であるか否かを判断する。処理可能であると判断されれば、プリンタ２００は、デジタルカメラ１００に対してDPS_GetFileスクリプトを送信し、当該ファイルを要求する（ＳＥＱ７１５）。
【０１３４】
プリンタ２００は、ＳＥＱ７１５による要求に応じてデジタルカメラ１００から送信された（ＳＥＱ７１６）画像データを受信する。印刷処理中であることを示すDPS_NotifyDeviceStatusスクリプトがプリンタ２００からデジタルカメラ１００に対して送信される（ＳＥＱ７１７）。また、印刷の進捗情報をデジタルカメラ１００に通知するDPS_NotifyJobStatusスクリプトが、プリンタ２００からデジタルカメラ１００に対して送信される（ＳＥＱ７１８）。そして、プリンタ２００において、印刷処理が開始される（ＳＥＱ７１９）。
【０１３５】
用紙１枚に対する画像データの印刷が終了すると、シーケンスがＳＥＱ７１３に戻される。そして、次に印刷すべき画像データのファイル情報の取得が取得され、当該ファイル情報に示される画像データのファイルがデジタルカメラ１００からプリンタ２００に対して送信される。
【０１３６】
このＳＥＱ７１３〜ＳＥＱ７１９のシーケンスが、ＳＥＱ７１３で印刷要求のあった枚数が完了するまで繰り返される。印刷の進捗情報をデジタルカメラ１００に通知する、DPS_NotifyJobStatusスクリプトのタグprogressに示される、現在何枚目を印刷中かを示す値が、印刷処理が進行する毎に変化する。一方、ＳＥＱ７１７による、印刷処理中であることを示すDPS_NotifyDeviceStatusスクリプトは、ＳＥＱ７０５による通信の再確立後の最初の印刷処理の時にのみ、送信される。
【０１３７】
印刷要求のあった全ての画像データの印刷が完了したら、プリンタ２００は、DPS_NotifyDeviceStatusスクリプトにより、アイドル状態となった旨をデジタルカメラ１００に対して通知して（ＳＥＱ７２０）、一連の印刷処理が終了される。
【０１３８】
以上説明したように、本発明の実施形態によれば、近接無線通信を用いて、画像入力装置と画像出力装置間でダイレクトプリントを行う場合に、ユーザに煩雑な操作をさせることなく、出力処理の中断、再開および新規出力処理の開始を行うことが可能となる。
【０１３９】
＜他の実施形態＞
既に説明したように、上述の実施形態は、デジタルカメラ１００側のメモリ５２と、プリンタ２００側のシステムコントローラ２０７が有するＲＯＭとに記憶されるコンピュータプログラムにより実現される。したがって、当該コンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【０１４０】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータ（ＣＰＵ）で読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。
【０１４１】
上述の実施形態を実現するためのコンピュータプログラムは、上述のメモリ５２およびシステムコントローラ２０７が有するＲＯＭに予め記憶されて提供される。これに限らず、記憶媒体又は有線／無線通信により装置に供給してもよい。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、ＭＯ、ＣＤ、ＤＶＤ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【０１４２】
有線／無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムファイル）をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。
【０１４３】
そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。
【０１４４】
つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【０１４５】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。
【０１４６】
また、上述の実施形態を実現するためのコンピュータプログラムは、すでに装置上で稼働するＯＳの機能を利用するものであってもよい。
【０１４７】
さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部を装置に装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるＣＰＵで実行するようにしてもよい。
【図面の簡単な説明】
【０１４８】
【図１】本発明の実施形態に適用可能な画像入力装置としてのデジタルカメラの一例の構成を示すブロック図である。
【図２】本発明の実施形態に適用可能な画像出力装置としてのプリンタの一例の構成を示すブロック図である。
【図３】デジタルカメラとプリンタとを有線接続して通信を行う一般的な例について説明するための図である。
【図４】PictBridgeによる通信プロトコルアーキテクチャを説明するための図である。
【図５】PictBridgeを用いて、デジタルカメラにおいて外部記憶媒体に記憶された１つのファイルの画像データを、プリンタで出力する際の一例のシーケンスを示すシーケンスチャートである。
【図６】DPS_StartJobスクリプトの一例の構造を示す図である。
【図７】DPS_NotifyDeviceStatusスクリプトの一例の構造を示す図である。
【図８】、DPS_NotifyJobStatusスクリプトの一例の構造を示す図である。
【図９】近接無線通信による通信可能範囲を説明するための図である。
【図１０】本発明の実施形態による処理の流れを概略的に示すフローチャートである。
【図１１】本発明の実施形態による、中断印刷ジョブを中止する際の一例のシーケンスを示すシーケンスチャートである。
【図１２】デジタルカメラの画像表示部に対する一例の表示を示す図である。
【図１３】本発明の実施形態による、中断されている印刷処理の再開の際の一例のシーケンスを示すシーケンスチャートである。
【図１４】本発明の実施形態による、中断されている印刷処理を中止し、新規の印刷処理を開始する際の一例のシーケンスを示すシーケンスチャートである。
【符号の説明】
【０１４９】
２８  画像表示部
５０  システム制御部
５４  表示部
７０  操作部
１００  デジタルカメラ
１１０  通信部
１１２  コネクタ（アンテナ）
２００  プリンタ
２０３  表示部
２０４  操作部
２０７  システムコントローラ
２１６  通信部
２１７  アンテナ
【図１】
2010011364.tif 000003
【図２】
2010011364.tif 000004
【図３】
2010011364.tif 000005
【図４】
2010011364.tif 000006
【図５】
2010011364.tif 000007
【図６】
2010011364.tif 000008
【図７】
2010011364.tif 000009
【図８】
2010011364.tif 000010
【図９】
2010011364.tif 000011
【図１０】
2010011364.tif 000012
【図１１】
2010011364.tif 000013
【図１２】
2010011364.tif 000014
【図１３】
2010011364.tif 000015
【図１４】
2010011364.tif 000016