(57)【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と通信可能な通信装置であって、
前記外部装置に対して認証を要求する第１の認証手段と、
前記第１の認証手段により前記外部装置に認証された後、記憶部に記録された画像ファイルのうち前記外部装置に送信する画像ファイルをユーザに選択させる選択手段と、
前記選択手段により画像ファイルが選択された後、前記外部装置に対して再び認証を要求する第２の認証手段と、
前記第２の認証手段により前記外部装置に認証された後、前記選択手段により選択された画像ファイルを前記外部装置に送信する送信手段と、
前記第１の認証手段による前記外部装置に対する認証の要求に応じて、前記外部装置から有効期間が付された暗号情報を取得する第１の取得手段と、を有し、
前記第１の認証手段は、前記第１の取得手段により取得された暗号情報を用いて、前記外部装置との間で予め定められた認証情報を暗号化して前記外部装置に送信することで前記外部装置に認証されることを特徴とする通信装置。
【請求項２】
前記第２の認証手段による前記外部装置に対する認証の要求に応じて、前記外部装置から有効期間が付された暗号情報を取得する第２の取得手段と、
前記第２の認証手段により前記外部装置に認証された後、前記第２の取得手段により取得された暗号情報を用いて、前記選択手段により選択された画像ファイルを暗号化する暗号化手段と、を有し、
前記送信手段は、前記暗号化手段により暗号化された画像ファイルを前記外部装置に送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記送信手段により画像ファイルを送信する前に、前記第２の認証手段は前記第２の取得手段により取得された暗号情報を用いて、前記外部装置との間で予め定められた認証情報を暗号化して前記外部装置に送信することで前記外部装置に認証されることを特徴とする請求項２に記載の通信装置。
【請求項４】
前記第２の認証手段は、前記外部装置との間で予め定められた認証情報と共に、前記選択手段により選択された画像ファイルの属性情報を送信することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記第２の認証手段により前記外部装置に送信された画像ファイルの属性情報に応じて、前記画像ファイルのファイルサイズが前記外部装置の規定するファイルサイズよりも大きい旨、または前記画像ファイルのファイル形式が前記外部装置の規定するファイル形式と異なる旨を前記外部装置から受信する受信手段を有することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記第１の認証手段および前記第２の認証手段による前記外部装置に対する認証の要求に応じて、前記外部装置から認証情報の取得要求を受信する取得要求受信手段を有し、
前記第１の取得手段および前記第２の取得手段は、それぞれ前記取得要求受信手段により受信された取得要求から暗号情報を取得することを特徴とする請求項２ないし５の何れか１項に記載の通信装置。
【請求項７】
前記選択手段によりユーザが画像ファイルを選択するまでに要した選択時間と、前記選択手段により選択された画像ファイルが当該通信装置から前記外部装置に送信されるまでに要する送信時間とを算出する時間算出手段と、
前記時間算出手段により算出された選択時間と送信時間とを用いて、前記第１の取得手段により取得された暗号情報に付された有効期間までに、前記選択手段により選択された画像ファイルを前記外部装置に送信できるか否かを判定する判定手段と、を有し、
前記判定手段により前記有効期間までに画像ファイルを送信できると判定された場合には、前記送信手段は、前記第１の取得手段により取得された暗号情報を用いて暗号化された画像ファイルを前記外部装置に送信することを特徴とする請求項２に記載の通信装置。
【請求項８】
前記判定手段により前記有効期間までに前記画像ファイルを送信できないと判定された場合には、前記送信手段は、前記第２の取得手段により取得された暗号情報を用いて暗号化された画像ファイルを前記外部装置に送信することを特徴とする請求項７に記載の通信装置。
【請求項９】
前記第１の認証手段は、前記外部装置との間で予め定められた認証情報を送信する認証情報送信手段、を有し、
前記時間算出手段は、前記認証情報送信手段により認証情報を送信したときの送信スループットに基づいて、前記選択手段により選択された画像ファイルが当該通信装置から前記外部装置に送信されるまでに要する送信時間を算出することを特徴とする請求項７または８に記載の通信装置。
【請求項１０】
被写体を撮像し画像データを得る撮像手段と、
前記撮像手段により得られた画像データに基づく画像ファイルを前記記憶部に記憶する記憶制御手段と、をさらに有することを特徴とする請求項１ないし９の何れか１項に記載の通信装置。
【請求項１１】
ネットワークを介して外部装置と通信可能な通信装置の制御方法であって、
前記外部装置に対して認証を要求する第１の認証ステップと、
前記第１の認証ステップにより前記外部装置に認証された後、記憶部に記録された画像ファイルのうち前記外部装置に送信する画像ファイルをユーザに選択させる選択ステップと、
前記選択ステップにより画像ファイルが選択された後、前記外部装置に対して再び認証を要求する第２の認証ステップと、
前記第２の認証ステップにより前記外部装置に認証された後、前記選択ステップにより選択された画像ファイルを前記外部装置に送信する送信ステップと、
前記第１の認証ステップによる前記外部装置に対する認証の要求に応じて、前記外部装置から有効期間が付された暗号情報を取得する第１の取得ステップと、を有し、
前記第１の認証ステップでは、前記第１の取得ステップにより取得された暗号情報を用いて、前記外部装置との間で予め定められた認証情報を暗号化して前記外部装置に送信することで前記外部装置に認証されることを特徴とする制御方法。
【請求項１２】
コンピュータを、請求項１ないし９の何れか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、その制御方法およびプログラムに関するものである。特に、ネットワークを介して外部装置にデータを送信する場合に用いられて好適である。
【背景技術】
【０００２】
デジタルスチルカメラ（以下、デジタルカメラという）等で撮影した画像ファイルをネットワークを介して外部装置に送信する技術が知られている。一般的に、外部装置に対してデータを送信する際には、第三者に不正にデータを読み取らせないために暗号化を行う。暗号化として代表的な方法にＳＳＬ通信がある。
【０００３】
ＳＳＬ通信はネットワーク上の認証サーバに対して、電子証明書を送信することで、送信元が予め外部装置へのアクセスが許可されたユーザであるということが証明される。認証を行う際には、認証サーバから取得した鍵情報を元に送信するデータの暗号化を行う。上述したＳＳＬ通信を行い、画像ファイルを送信する場合、送信したデータ全てに対して暗号化処理を行うため、処理負荷が増加してしまう。これに対し、予め画像送信装置と外部装置とで取り決めた認証ＩＤとパスワード（以下、認証ＩＤとパスワードとを認証情報という）を用いることで、外部装置との認証を行うＨＴＴＰ認証という認証方法がある。
【０００４】
具体的には、画像送信装置が外部装置に対して接続要求を行うと、外部装置は画像送信装置に認証情報を要求する。そして、画像送信装置は認証情報を付与して接続要求をやり直す。この際、外部装置が認証を行い認証に成功すると、外部装置は画像送信装置に認証トークンと呼ばれる有効期間が付された情報を送信する。画像送信装置はその認証トークンを用いて、外部装置と通信を行う。ここで、認証情報を送信するときのみＳＳＬ通信を行い、画像ファイル送信時にはＳＳＬ通信を行わないことで送信時の処理負荷を増加させない方法がある。
例えば、特許文献１では、外部装置との認証に用いる認証情報を他の装置にて管理することで、安全性・利便性の高いシステムを提供している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７６７０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述の特許文献１に開示された従来技術では、事前に認証情報が有効か否かを確認することなく、外部装置にアクセスする際に認証情報を利用する。したがって、例えば画像ファイルを選択した後に、送信先の外部装置に認証を行った場合に、認証情報が無効だった場合には、画像ファイルの選択が無駄になってしまうという問題がある。
本発明は、上述した問題点に鑑みて、ユーザにより選択された画像ファイルを外部装置に送信する場合に、外部装置に認証されずに画像ファイルを送信できないことで、画像ファイルの選択の操作が無駄になることを防止することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ネットワークを介して外部装置と通信可能な通信装置であって、前記外部装置に対して認証を要求する第１の認証手段と、前記第１の認証手段により前記外部装置に認証された後、記憶部に記録された画像ファイルのうち前記外部装置に送信する画像ファイルをユーザに選択させる選択手段と、前記選択手段により画像ファイルが選択された後、前記外部装置に対して再び認証を要求する第２の認証手段と、前記第２の認証手段により前記外部装置に認証された後、前記選択手段により選択された画像ファイルを前記外部装置に送信する送信手段と、前記第１の認証手段による前記外部装置に対する認証の要求に応じて、前記外部装置から有効期間が付された暗号情報を取得する第１の取得手段と、を有し、前記第１の認証手段は、前記第１の取得手段により取得された暗号情報を用いて、前記外部装置との間で予め定められた認証情報を暗号化して前記外部装置に送信することで前記外部装置に認証されることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ユーザによる画像ファイルの選択の操作が無駄になることを防止でき、ユーザの利便性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】デジタルカメラの構成を示すブロック図である。
【図２】ＰＣの構成を示すブロック図である。
【図３】デジタルカメラ、ＰＣおよびＷｅｂサーバが接続されたシステムの構成を示す模式図である。
【図４】デジタルカメラに認証情報を記録するときのデジタルカメラの処理手順を示すフローチャートである。
【図５】デジタルカメラに認証情報を記録するときのＰＣの処理手順を示すフローチャートである。
【図６】第１の実施形態に係る、Ｗｅｂサーバに画像ファイルを送信するときのデジタルカメラの処理手順を示すフローチャートである。
【図７】デジタルカメラに表示する画面の一例を示す図である。
【図８】第２の実施形態に係る、Ｗｅｂサーバに画像ファイルを送信するときのデジタルカメラの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施形態について添付の図面に基づいて詳細に説明する。
ここでは、本実施形態の撮像装置としてデジタルカメラを取り上げ、情報処理装置としてパーソナルコンピュータ（以下、ＰＣ）を取り上げ、外部装置としてＷｅｂサーバを取り上げるものとする。
［第１の実施形態］
＜デジタルカメラの構成＞
図１は、本実施形態の撮像装置の一例であるデジタルカメラ１００の構成を示すブロック図である。撮像装置にはデジタルカメラ、デジタルビデオカメラ、いわゆるカメラ付き携帯電話やタブレット端末と呼ばれる装置など、被写体を撮像し画像データを取得することができる装置が含まれる。また、必ずしも撮像手段を備えている必要はなく、画像データを外部装置に送信する機能を有するモバイルデバイスなどを用いることも可能である。
【００１１】
デジタルカメラ１００は、光学系１０１、撮像素子１０２、ＣＰＵ１０３、ＲＡＭ１０４、フラッシュメモリ１０５、記憶媒体１０６、表示部１０７、操作部１０８、通信部１０９およびＧＰＳ通信部１１０を有する。
光学系１０１は、レンズ、シャッター、絞りから構成され、被写体からの光を適切な量とタイミングで撮像素子１０２に結像させる。撮像素子１０２は、光学系１０１を通って結像した光を画像に変換する。
【００１２】
ＣＰＵ１０３は、入力された信号やプログラムに従って、各種の演算やデジタルカメラ１００を構成する各部分の制御を行う。具体的には、ＣＰＵ１０３は、撮像制御、表示制御、記憶制御、通信制御などを行う。
ＲＡＭ１０４は、一時的なデータを記憶し、ＣＰＵ１０３の作業用に使われる。フラッシュメモリ１０５は、デジタルカメラ１００を制御するためのプログラム（ファームウェア）や各種の設定情報を記憶する。
記憶媒体１０６は、記憶部の一例であり、撮像した画像データや生成したＧＰＳログファイルなどを記憶する。なお、本実施形態における記憶媒体１０６は着脱可能な、いわゆるメモリカードであり、ＰＣなどに装着してデータを読み出すことが可能である。つまり、デジタルカメラ１００は記憶媒体１０６へのアクセス手段を有し、記憶媒体１０６へのデータの読み書きを行うことができる。
【００１３】
表示部１０７は、撮像時のビューファインダー画像の表示、撮像した画像の表示、対話的な操作のための文字表示などを行う。なお、デジタルカメラ１００は必ずしも表示部１０７を備える必要はなく、表示部１０７の表示を制御する表示制御機能を有していればよい。
操作部１０８は、ユーザの操作を受け付けるためのものである。操作部１０８は例えばボタンやレバー、タッチパネルなどを用いることが可能である。
【００１４】
通信部１０９は、Ｗｅｂサーバと接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えばＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）が用いられる。なお、通信部１０９は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの有線接続により通信を行ってもよく、無線ＬＡＮなどの無線接続により通信を行ってもよい。また、通信部１０９は、直接Ｗｅｂサーバと接続してもよく、サーバを経由したりインターネットなどのネットワークを介してＷｅｂサーバと接続してもよい。したがって、本実施形態のデジタルカメラ１００は通信装置として機能する。
ＧＰＳ通信部１１０は、ＧＰＳ衛星から位置情報を取得する。取得された位置情報は、ＧＰＳログファイルとして記憶媒体１０６に記憶される。
なお、デジタルカメラ１００の制御は、１つのハードウェアで行ってもよいし、複数のハードウェアが処理を分担しながら、デジタルカメラ１００における処理を実行する手段として機能してもよい。
【００１５】
＜ＰＣの構成＞
次に、ＰＣ２００の構成について説明する。ＰＣ２００はＷｅｂサーバおよびデジタルカメラ１００との間で通信可能である。
図２は、ＰＣ２００の構成を示すブロック図である。
ＰＣ２００は、ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、外部記録装置２０４、無線インターフェイス２０５、ＶＲＡＭ２０６、表示装置２０７、サウンドデバイス２０８、キーボード２０９およびポインティングデバイス２１０を有する。また、ＰＣ２００は、印刷装置２１１および通信インターフェイス２１２などを有する。
【００１６】
ＣＰＵ２０１は、入力信号やプログラムに基づき、表示制御、記録制御および通信制御などを実現する。ＲＡＭ２０２には、プログラムや画像データが展開される。プログラムは、画像表示や画像処理を制御するためのプログラムコードであり、ＣＰＵ２０１によって実行される。その他、ＲＡＭ２０２は、ＣＰＵ２０１のワーク領域、エラー処理時のデータの退避領域などとして使用される。ＨＤＤ２０３は、ＰＣ２００で実行されるプログラムや、画像ファイルやテキストファイルなどのコンテンツファイルなどを格納する。
【００１７】
外部記録装置（Ｒｅｍｏｖａｂｌｅ  Ｄｒｉｖｅ）２０４は、外部記録媒体に対して読み出しおよび書き込みを行う装置である。プログラムや画像データが外部記録媒体に記録されている場合、これらは外部記録装置２０４を介してＲＡＭ２０２にロードされる。外部記録媒体には、例えばＤＶＤ−ＲＷドライブ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどの光ディスクや、フレキシブルディスク、ＭＯなどの磁気ディスク、またフラッシュメモリなどの不揮発性メモリが含まれる。
【００１８】
第１の通信部の一例である無線インターフェイス２０５は、外部装置との間で通信を行うためのインターフェイスである。無線インターフェイス２０５を介して、ＰＣ２００は外部装置との無線通信を行うことができる。
ＶＲＡＭ２０６は、画像データや実行されたプログラムのＵＩなどの映像信号を出力する。表示装置２０７は、ＶＲＡＭ２０６に入力された映像信号の表示処理を行う。表示装置２０７には、例えば、ＣＲＴやＬＣＤを用いることができる。また、ＳＥＤ（Ｓｕｒｆａｃｅ―ｃｏｎｄｕｃｔｉｏｎ  Ｅｌｅｃｔｒｏｎ―ｅｍｉｔｔｅｒ  Ｄｉｓｐｌａｙ）やＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｔ）を用いることができる。サウンドデバイス２０８は、例えば画像データに添付されている音声データを処理し、スピーカなどに転送する。キーボード２０９は文字などを入力するための各種キーを有する。ポインティングデバイス２１０は、例えばマウスパッドである。ポインティングデバイス２１０は、表示装置２０７の表示画面上に表示されたマウスポインタを制御し、プログラムのメニューやその他のオブジェクトを操作するために使用される。
【００１９】
第２の通信部の一例である通信インターフェイス２１２は、例えばＵＳＢ規格にしたがったインターフェイスであり、デジタルカメラ１００の通信部１０９を介してデジタルカメラ１００と通信するために用いられる。本実施形態ではＵＳＢを用いるが、ＬＡＮやＢｌｕｅＴｏｏｔｈ（登録商標）など、他の規格を用いてもよい。上位層でデジタルカメラ１００と通信するためのプロトコルとしては、例えばＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）規格がある。ＰＣ２００は、通信インターフェイス２１２を用いて、外部デバイスとデータを送受信することが可能となる。本実施形態では、ＨＤＤ２０３に記録されたプログラムや画像ファイルをＲＡＭ２０２にロードし、ＣＰＵ２０１がプログラムを実行することにより、ＰＣ２００を通信装置として機能させる。
なお、本実施形態では無線インターフェイス２０５と通信インターフェイス２１２とを別個のデバイスとして説明したが、両者の機能を備えた１つのチップを用いてもよい。
【００２０】
＜接続構成＞
図３（ａ）は、デジタルカメラ１００とＰＣ２００、ＰＣ２００とＷｅｂサーバ３００とが通信可能に接続されたシステムの構成を示す模式図である。
デジタルカメラ１００およびＰＣ２００は、通信ケーブル４０１を介して接続される。通信ケーブル４０１としては、ＰＴＰ規格に従ってデータを送受信できるものであればよく、例えばＵＳＢケーブルが用いられる。また、デジタルカメラ１００とＰＣ２００とは、有線ではなく、例えばＩＥＥＥ８０２．１１ｘ（ｘはａ，ｂ，ｇ，ｎなど）に準拠した無線インターフェイスによって接続されていてもよい。
ＰＣ２００とＷｅｂサーバ３００とは、ネットワーク４０２を介して接続される。ネットワーク４０２を構成する機器として、ルーターやアクセスポイントなどの機器を介在させてもよい。
【００２１】
また、デジタルカメラ１００は、認証情報を用いてＷｅｂサーバ３００と直接通信することが可能である。図３（ｂ）は、デジタルカメラ１００とＷｅｂサーバ３００とが接続された構成を示す模式図である。
デジタルカメラ１００とＷｅｂサーバ３００は、ネットワーク４０２を介して接続される。ネットワーク４０２を構成する機器として、ルーターやアクセスポイントなどの機器を介在させてもよい。
【００２２】
＜システムの全体構成＞
以下、本実施形態における処理の全体的な流れを説明する。
まず、ＰＣ２００は、ネットワーク４０２を介して、Ｗｅｂサーバ３００に、デジタルカメラ１００の認証情報を登録する。具体的には、ＰＣ２００は生成した認証情報をＷｅｂサーバ３００に送信し、Ｗｅｂサーバ３００は送信された認証情報を受信し、記録する。この処理は、図３（ａ）に示す（１）の処理に相当する。認証情報はＰＣ２００にて、デジタルカメラ１００の固有の情報から生成してもよく、ユーザに入力させてもよい。この処理を行うことで、Ｗｅｂサーバ３００にデジタルカメラ１００の認証情報が登録される。
【００２３】
次に、ＰＣ２００とデジタルカメラ１００を、通信ケーブル４０１を介して接続し、デジタルカメラ１００にＷｅｂサーバ３００との認証情報を記録する。この処理は、図３（ａ）に示す（２）の処理に相当する。この処理で、デジタルカメラ１００とＷｅｂサーバ３００とは、共通の認証情報を有することになる。
ここまでの処理が完了した時点で、図３（ｂ）に示すようにデジタルカメラ１００とＷｅｂサーバ３００とは、直接通信することが可能となる。デジタルカメラ１００はＷｅｂサーバ３００に認証情報を送信する。この処理は、図３（ｂ）に示す（３）の処理に相当する。認証が完了すると、デジタルカメラ１００からＷｅｂサーバ３００に送信対象物としての画像ファイルを送信することができる。
【００２４】
＜デジタルカメラによる認証情報の記録処理＞
次に、デジタルカメラ１００の処理について図４を参照して説明する。ここでは、デジタルカメラ１００は、ＰＣ２００から認証情報を受信し、受信した認証情報を記録する。この処理は、上述した図３（ａ）に示す（２）の処理に相当する。なお、この処理におけるＰＣ２００側の処理は、図５のフローチャートに示し、その詳細は後述する。
図４は、デジタルカメラ１００にＷｅｂサーバ３００との認証情報を記録する際の、デジタルカメラ１００の処理手順を示すフローチャートである。デジタルカメラ１００はＰＣ２００から認証情報を取得し、認証情報を設定するために、以下の処理を行う。ここでの認証情報は、ＨＴＴＰ認証における認証情報であり、デジタルカメラ１００がＷｅｂサーバ３００と接続する際に、Ｗｅｂサーバ３００がデジタルカメラ１００からの接続を許可するか否かを判定するために利用される。
【００２５】
まず、ステップＳ４０１では、ＣＰＵ１０３は通信部１０９を介してＰＣ２００と接続したか否かを判定する。ＰＣ２００と接続した場合、ステップＳ４０２に移行する。次に、ステップＳ４０２では、ＣＰＵ１０３は通信部１０９を介してＰＣ２００から認証情報の取得要求が通知されたか否かを判定する。本実施形態では、まずＰＣ２００がデジタルカメラ１００に登録されている認証情報を確認し、ＰＣ２００がデジタルカメラ１００に認証情報を送信するか否かを決定する。ステップＳ４０２において、ＰＣ２００から認証情報の取得要求が通知された場合、ステップＳ４０３に移行し、通知されない場合、ステップＳ４０４に移行する。
【００２６】
ステップＳ４０３では、ＣＰＵ１０３は通信部１０９を介してＰＣ２００にフラッシュメモリ１０５内の認証情報記録領域に記録している認証情報を送信し、ステップＳ４０４に移行する。
ステップＳ４０４では、ＣＰＵ１０３は通信部１０９を介してＰＣ２００からＷｅｂサーバ３００との認証情報を受信したか否かを判定する。ステップＳ４０４において、ＰＣ２００から認証情報を受信した場合、ステップＳ４０５に移行し、ＰＣ２００から認証情報を受信しなかった場合、ステップＳ４０６に移行する。
【００２７】
ステップＳ４０５では、ＣＰＵ１０３はＰＣ２００から受信した認証情報を、フラッシュメモリ１０５内の認証情報記録領域に記録し、ステップＳ４０６に移行する。既に認証情報記録領域に認証情報が記録されている場合は、ＣＰＵ１０３は認証情報を新たな認証情報に更新する。
ステップＳ４０６では、ＣＰＵ１０３は通信部１０９を介して、ＰＣ２００との接続が切断されたか否かを判定する。ＰＣ２００との接続が切断された場合、処理を終了し、ＰＣ２００との接続が切断されていない場合、ステップＳ４０２に戻る。このようにして、デジタルカメラ１００は、ＰＣ２００から認証情報を取得し、認証情報の記録あるいは更新を行う。
なお、図４に示す処理手順では、デジタルカメラ１００は認証情報をフラッシュメモリ１０５内の認証情報記録領域に記録しているが、認証情報を記憶媒体１０６内にファイルとして記録してもよい。
【００２８】
＜デジタルカメラにＷｅｂサーバとの認証情報を記録する際のＰＣの処理＞
次に、デジタルカメラ１００が認証情報を記録する際のＰＣ２００の処理について、図５を参照して説明する。なお、この処理におけるデジタルカメラ１００側の処理は、図４のフローチャートで既に説明している。
図５は、デジタルカメラ１００に認証情報を記録する際の、ＰＣ２００の処理手順を示すフローチャートである。ＰＣ２００は、Ｗｅｂサーバ３００から認証情報を取得し、デジタルカメラ１００に認証情報を記録させるために、以下の処理を行う。なお、ここでは、ＰＣ２００が通信Ｉ／Ｆ２１２を用いてデジタルカメラ１００と接続し、無線Ｉ／Ｆ２０５を用いてＷｅｂサーバ３００と接続する場合について説明する。
【００２９】
まず、ステップＳ５０１では、ＣＰＵ２０１は通信Ｉ／Ｆ２１２を介してデジタルカメラ１００と接続したか否かを判定する。デジタルカメラ１００と接続した場合、ステップＳ５０２に移行する。次に、ステップＳ５０２では、ＣＰＵ２０１は無線Ｉ／Ｆ２０５を介してＷｅｂサーバ３００にデジタルカメラ１００の認証情報の取得要求を行い、ステップＳ５０３に移行する。
ステップＳ５０３では、ＣＰＵ２０１は無線Ｉ／Ｆ２０５を介してＷｅｂサーバ３００からデジタルカメラ１００の認証情報を取得したか否かを判定する。認証情報を取得した場合、ステップＳ５０４に移行し、認証情報を取得できなった場合、ＣＰＵ２０１はＷｅｂサーバ３００に認証情報が登録されていないと判断し、ステップＳ５０５に移行する。
【００３０】
ステップＳ５０４では、ＣＰＵ２０１はＷｅｂサーバ３００から取得したデジタルカメラ１００の認証情報をＨＤＤ２０３に記録し、ステップＳ５０８に移行する。
一方、ステップＳ５０５では、ＣＰＵ２０１は無線Ｉ／Ｆ２０５を介してＷｅｂサーバ３００にデジタルカメラ１００の認証情報の登録要求を行い、ステップＳ５０６に移行する。ステップＳ５０６では、ＣＰＵ２０１は無線Ｉ／Ｆ２０５を介してＷｅｂサーバ３００からデジタルカメラ１００の認証情報登録完了通知を取得したか否かを判定する。認証情報登録完了通知を取得した場合、ＣＰＵ２０１はデジタルカメラ１００の認証情報がＷｅｂサーバ３００に登録できたと判断し、ステップＳ５０７に移行する。ステップＳ５０７では、ＣＰＵ２０１はＷｅｂサーバ３００に登録したデジタルカメラ１００の認証情報をＨＤＤ２０３に記録し、ステップＳ５０８に移行する。
【００３１】
ステップＳ５０８では、ＣＰＵ２０１は通信Ｉ／Ｆ２１２を介してデジタルカメラ１００に認証情報の取得要求を行い、ステップＳ５０９に移行する。これは、デジタルカメラ１００に記録されている認証情報がＷｅｂサーバ３００に登録されている認証情報と一致し、有効であるか否かを判定するために行う処理である。
ステップＳ５０９では、ＣＰＵ２０１は、デジタルカメラ１００から認証情報を取得したか否かを判定する。認証情報を取得した場合、ステップＳ５１０に移行し、認証情報を取得できなかった場合、ＣＰＵ２０１はデジタルカメラ１００に認証情報が記録されていないと判断し、ステップＳ５１１に移行する。
【００３２】
ステップＳ５１０では、ＣＰＵ２０１はデジタルカメラ１００から取得した認証情報と、ＨＤＤ２０３に記録した認証情報とが一致しているか否かを判定する。認証情報が一致している場合、ＣＰＵ２０１はデジタルカメラ１００に記録されている認証情報が有効であると判断し、ステップＳ５１２に移行する。認証情報が一致していない場合、ＣＰＵ２０１はデジタルカメラ１００に記録されている認証情報が有効でないと判断し、デジタルカメラ１００に記録されている認証情報を更新するために、ステップＳ５１１に移行する。
【００３３】
ステップＳ５１１では、ＣＰＵ２０１は通信Ｉ／Ｆ２１２を介して認証情報をデジタルカメラ１００に送信し、ステップＳ５１２に移行する。ステップＳ５１２では、ＣＰＵ２０１は通信Ｉ／Ｆ２１２を介してデジタルカメラ１００との接続が切断されたか否かを判定する。デジタルカメラ１００との接続が切断された場合、処理を終了する。
なお、図５に示す処理手順では、ＰＣ２００は認証情報をＨＤＤ２０３に記録しているが、認証情報を外部記録装置２０４に記録してもよい。
【００３４】
＜Ｗｅｂサーバに画像ファイルを送信する際のデジタルカメラの処理＞
次に、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際のデジタルカメラ１００の処理について、図６および図７を参照して説明する。
図６は、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際のデジタルカメラ１００の処理手順を示すフローチャートである。以下の処理は、フラッシュメモリ１０５に記録されたプログラムをＣＰＵ１０３が読み取り実行することによって実現する。ユーザが操作部１０８を操作し電源をオン操作することにより、デジタルカメラ１００が起動して以下の処理を開始する。
【００３５】
まず、ステップＳ６０１では、ＣＰＵ１０３は表示部１０７に、図７（ａ）に示すような、画像再生画面を表示する。この画像再生画面については後述する。ＣＰＵ１０３は画像再生画面にてユーザが操作部１０８を操作することで画像の送信処理開始指示が行われたか否かを判定し、送信処理開始指示が行われた場合にはステップＳ６０２に移行する。
ステップＳ６０２では、ＣＰＵ１０３はフラッシュメモリ１０５にＷｅｂサーバ３００との認証情報が記録されているか否かを判定する。認証情報が記録されていると判定した場合、ステップＳ６０３に移行し、認証情報が記録されていないと判定した場合、Ｗｅｂサーバ３００との認証を行うことができないため、ステップＳ６１７に移行する。
ステップＳ６１７では、ＣＰＵ１０３は表示部１０７に、図７（ｃ）に示すような認証情報エラー画面を表示し、ユーザに認証情報を設定するように促す。この認証情報エラー画面については後述する。
【００３６】
ステップＳ６０３では、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００に接続要求を行い、ステップＳ６０４に移行する。この処理は、第１の認証手段による処理の一例に対応する。ステップＳ６０４では、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００からデジタルカメラ１００の認証情報の取得要求があるか否かを判定する。ここで、Ｗｅｂサーバ３００はデジタルカメラ１００から接続要求があった際にＨＴＴＰ認証を行うため、デジタルカメラ１００に対するレスポンスとして認証情報の取得要求を行う。この取得要求には、認証トークンが含まれている。認証トークンは、暗号情報の一例であって、デジタルカメラ１００が認証情報を送信する際に認証情報を暗号化するときに用いるものである。認証情報の取得要求があった場合、ステップＳ６０５に移行する。ＣＰＵ１０３が認証情報の取得要求を受信する処理は、取得要求受信手段による処理の一例に対応する。
【００３７】
ステップＳ６０５では、ＣＰＵ１０３は認証情報の取得要求から認証トークンを取得し、取得した認証トークンを一時的なデータとしてＲＡＭ１０４に記憶する。この処理は、第１の取得手段による処理の一例に対応する。
ステップＳ６０６では、ＣＰＵ１０３は通信部１０９を介して、フラッシュメモリ１０５に記録している認証情報を、ＲＡＭ１０４に記憶した認証トークンを用いて暗号化して、Ｗｅｂサーバ３００に送信し、ステップＳ６０７に移行する。この処理は、認証情報送信手段による処理の一例に対応する。Ｗｅｂサーバ３００は、デジタルカメラ１００から受信した認証情報が登録されているか否かを判定し、登録されている場合には、デジタルカメラ１００に認証成功を通知する。
ステップＳ６０７では、ＣＰＵ１０３はＷｅｂサーバ３００との認証が成功したか否かを判定する。具体的には、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００から認証成功通知があったか否かを判定する。認証成功通知があった場合、ステップＳ６０８に移行する。一方、認証成功通知がなかった場合、ＣＰＵ１０３は認証情報が誤っており認証に失敗したと判断し、ステップＳ６１７に移行する。
【００３８】
ステップＳ６０８では、ＣＰＵ１０３は表示部１０７に図７（ｂ）に示すような送信画像選択画面を表示する。この送信画像選択画面については後述する。送信画像選択画面にて、ユーザが操作部１０８を操作することで、送信したい画像ファイルの選択および送信開始指示がＣＰＵ１０３に通知され、ステップＳ６０９に移行する。
【００３９】
ステップＳ６０９では、ＣＰＵ１０３は通信部１０９を介してＷｅｂサーバ３００に接続要求を行い、ステップＳ６１０に移行する。この処理は、第２の認証手段による処理の一例に対応する。ここでは、ＣＰＵ１０３は、認証情報を送信せずに、接続要求を行う。このような処理を行うのは、認証トークンには有効期間が設定されているためである。仮に、ステップＳ６０５で取得した認証トークンを用いて認証情報を暗号化して送信する場合、この認証トークンの有効期間が切れていると、Ｗｅｂサーバ３００での認証が失敗してしまう。すなわち、ユーザが長時間かけて画像ファイルの選択をしていた場合、認証トークンの有効期間が切れてしまい、Ｗｅｂサーバ３００での認証ができず、ユーザによる画像ファイルの選択が無駄になってしまう。したがって、ここでは、ＣＰＵ１０３は接続要求のみを行い、後述するように画像ファイルの選択後に取得した認証トークンを用いて画像ファイルを送信する。
【００４０】
ステップＳ６１０では、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００からデジタルカメラ１００の認証情報の取得要求があるか否かを判定する。認証情報の取得要求があった場合、ステップＳ６１１に移行する。
ステップＳ６１１では、ＣＰＵ１０３は認証情報の取得要求に含まれる認証トークンを取得し、取得した認証トークンを一時的なデータとしてＲＡＭ１０４に記憶する。この処理は、第２の取得手段による処理の一例に対応する。
ステップＳ６１２では、ＣＰＵ１０３はフラッシュメモリ１０５に記録している認証情報を、ステップＳ６１１で取得した認証トークンを用いて暗号化する。続いて、ＣＰＵ１０３は通信部１０９を介して、暗号化した認証情報と送信する画像の情報とをＷｅｂサーバ３００に送信し、ステップＳ６１３に移行する。ここで、送信する画像の情報としては、例えば画像のファイルサイズやファイル形式などの属性情報である。なお、ＣＰＵ１０３は、画像の情報も認証トークンを用いて暗号化した上で送信してもよい。
【００４１】
ステップＳ６１３では、ＣＰＵ１０３はＷｅｂサーバ３００との認証が成功したか否かを判定する。具体的には、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００から認証成功通知があったか否かを判定する。認証成功通知があった場合、ステップＳ６１４に移行する。認証成功通知がなかった場合、ステップＳ６１７に移行する。なお、ここでＷｅｂサーバ３００の認証は、認証情報の確認のみならず、ステップＳ６１２で送信された画像の情報の確認を行ってもよい。具体的には、Ｗｅｂサーバ３００は画像のファイルサイズや画像のファイル形式を確認してもよい。ファイルサイズがＷｅｂサーバ３００の規定する容量を超えていたり、ファイル形式がＷｅｂサーバ３００の規定するファイル形式でなかったりした場合には、Ｗｅｂサーバ３００は認証に失敗したとして取り扱ってもよい。すなわち、Ｗｅｂサーバ３００は規定するファイルサイズやファイル形式ではないことから認証が失敗した旨を送信し、デジタルカメラ１００が受信する。
【００４２】
ステップＳ６１４では、ＣＰＵ１０３はステップＳ６１１で取得した認証トークンを用いて認証情報と画像ファイルとを暗号化する。続いて、ＣＰＵ１０３は通信部１０９を介して、暗号化した認証情報と画像ファイルとをＷｅｂサーバ３００に送信し、ステップＳ６１５に移行する。
ステップＳ６１５では、ＣＰＵ１０３は通信部１０９を介して、Ｗｅｂサーバ３００から認証トークンの有効期間切れ通知があったか否かを判定する。認証トークンの有効期間切れ通知があった場合、ステップＳ６１１に戻り、認証トークンの有効期間切れ通知がなかった場合、ステップＳ６１６に移行する。
ステップＳ６１６では、ＣＰＵ１０３は画像ファイルの送信が完了したか否かを判定する。画像ファイルの送信が完了した場合、処理を終了し、画像ファイルの送信が完了していない場合、ステップＳ６１４に戻る。
【００４３】
図７（ａ）は、デジタルカメラ１００での画像再生画面の一例を示す図である。
ＣＰＵ１０３は表示部１０７に図７（ａ）に示す画面の表示を行う。ここで、釦７０１は、ユーザにより画像送信処理の開始を指示するための画像送信処理開始指示部である。ユーザが操作部１０８を操作することによって釦７０１を押下することで、ＣＰＵ１０３は画像送信処理を開始する。
【００４４】
図７（ｂ）は、デジタルカメラ１００での送信画像選択画面の一例を示す図である。
ＣＰＵ１０３は表示部１０７に図７（ｂ）に示す画面の表示を行う。ここで、選択部７０２は、ユーザに送信したい画像ファイルを選択させる画像選択部である。ユーザが操作部１０８を操作することによって送信したい画像ファイルの選択部７０２を選択すると、ＣＰＵ１０３は選択した画像ファイルの情報を一時データとしてＲＡＭ１０４に記録する。また、釦７０３は、ユーザにより画像送信の開始を指示するための画像送信指示部である。ユーザが操作部１０８を操作することによって釦７０３を押下することで、ＣＰＵ１０３はＷｅｂサーバ３００に画像ファイルの送信を開始する。
【００４５】
図７（ｃ）は、デジタルカメラ１００での認証情報エラー画面の一例を示す図である。
ＣＰＵ１０３は表示部１０７に図７（ｃ）に示す画面の表示を行う。
【００４６】
このように、本実施形態によればユーザが送信したい画像ファイルを選択した後にＷｅｂサーバ３００から送信された認証トークンを用いて画像ファイルを送信する。したがって、ユーザが画像ファイルの選択に長時間かかった場合であっても、認証トークンの有効期間が切れることがなく画像ファイルをＷｅｂサーバ３００に送信することができる。すなわち、本実施形態によればユーザにより選択された画像ファイルを外部装置に送信する場合に、外部装置に認証されずに画像ファイルを送信できないことで画像ファイルの選択の操作が無駄になることを防止でき、ユーザの利便性を向上させることができる。
【００４７】
［第２の実施形態］
＜デジタルカメラの構成とＰＣの構成＞
第２の実施形態では、Ｗｅｂサーバ３００に画像ファイルを送信する際のデジタルカメラ１００の制御方法について説明する。なお、第２の実施形態では、第１の実施の形態で説明したデジタルカメラ１００とＰＣ２００を用いる。したがって、デジタルカメラ１００とＰＣ２００の構成についての説明を省略する。また、デジタルカメラ１００にＷｅｂサーバ３００との認証情報を記録する際のデジタルカメラ１００およびＰＣ２００の処理は上述した第１の実施形態と同様であるため、その説明を省略する。
【００４８】
＜Ｗｅｂサーバに画像ファイルを送信する際のデジタルカメラの処理＞
次に、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際のデジタルカメラ１００の処理について、図８を参照して説明する。
図８は、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際のデジタルカメラ１００の処理手順を示すフローチャートである。以下の処理は、フラッシュメモリ１０５に記録されたプログラムをＣＰＵ１０３が読み取り実行することによって実現する。ユーザが操作部１０８を操作し電源をオン操作することにより、デジタルカメラ１００が起動して以下の処理を開始する。
なお、本実施形態では、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際のステップＳ８０１からステップＳ８０７については、上述した第１の実施形態と同様であるため、その説明を省略する。
【００４９】
ステップＳ８０８では、ＣＰＵ１０３はデジタルカメラ１００に内蔵の時計から現在時刻（Ｔ１）を取得し、一時データとしてＲＡＭ１０４に記録し、ステップＳ８０９に移行する。
ステップＳ８０９では、ＣＰＵ１０３は表示部１０７に図７（ｂ）に示すような送信画像選択画面を表示する。この送信画像選択画面にて、ユーザが操作部１０８を操作することで、送信したい画像ファイルの選択および送信開始指示がＣＰＵ１０３に通知され、ステップＳ８１０に移行する。
【００５０】
ステップＳ８１０では、ＣＰＵ１０３はデジタルカメラ１００に内蔵の時計から現在時刻（Ｔ２）を取得し、一時データとしてＲＡＭ１０４に記録し、ステップＳ８１１に移行する。ステップＳ８１１では、ＣＰＵ１０３は通信部１０９を介して、ステップＳ８０５において取得した認証トークンの有効期間（Ｔ３）をＷｅｂサーバ３００から取得し、一時データとしてＲＡＭ１０４に記録し、ステップＳ８１２に移行する。
ステップＳ８１２では、ＣＰＵ１０３はステップＳ８０６においてＷｅｂサーバ３００に認証情報を送信した際の送信スループットと、ステップＳ８０９において選択した画像ファイルのファイルサイズとから画像送信に要する送信時間（Ｔ４）を算出する。この処理は、時間算出手段による処理の一例に対応する。
【００５１】
次に、ステップＳ８１３では、ＣＰＵ１０３はＴ２とＴ１との差からユーザが画像選択に要した選択時間を算出し、画像選択に要した選択時間と画像送信に要する送信時間（Ｔ４）との和が、認証トークンの有効期間（Ｔ３）よりも大きいか否かを判定する。選択時間と送信時間との和が認証トークンの有効期間よりも大きい場合、ＣＰＵ１０３は認証トークンの有効期間内に画像ファイルを送信できないと判定する。認証トークンの有効期間内に画像ファイルを送信できないと判定した場合、ステップＳ８１５に移行し、送信できると判定した場合、ステップＳ８１４に移行する。
【００５２】
ステップＳ８１４では、ＣＰＵ１０３は通信部１０９を介して、送信する画像の情報をＷｅｂサーバ３００に送信し、ステップＳ８２０に移行する。
ステップＳ８２０では、ＣＰＵ１０３が上述したステップＳ８１３により認証トークンの有効期間内に画像ファイルを送信できると判定している。したがって、ＣＰＵ１０３は、ステップＳ８０５において取得した認証トークンを用いて認証情報と画像ファイルとを暗号化し、暗号化した認証情報と画像ファイルとをＷｅｂサーバ３００に送信する。
一方、ステップＳ８１５では、ＣＰＵ１０３が上述したステップＳ８１３により認証トークンの有効期間内に画像ファイルを送信できないと判定している。したがって、ＣＰＵ１０３は、ステップＳ８１５以降において、再びＷｅｂサーバ３００から認証トークンを取得し、取得した認証トークンを用いて暗号化した画像ファイルをＷｅｂサーバ３００に送信する。
なお、本実施形態では、デジタルカメラ１００からＷｅｂサーバ３００に画像ファイルを送信する際の、ステップＳ８１５からステップＳ８２３については、上述した第１の実施形態のステップＳ６０９からステップＳ６１７と同様であるため、その説明を省略する。
【００５３】
このように、本実施形態によればＷｅｂサーバ３００から送信された認証トークンの有効期間内に、選択された画像ファイルを送信できるか否かを判定し、有効期間内に送信できない場合にのみ認証トークンを再取得する。したがって、有効期間内に送信できる場合には既に取得している認証トークンを用いて画像ファイルを送信すればよいので、再びＷｅｂサーバ３００との間で認証を行う処理を省略でき、ユーザの利便性を向上させることができる。
【００５４】
本実施形態ではステップＳ８１３において、選択時間と送信時間とを加算した時間が認証トークンの有効期間よりも大きい場合、認証トークンの有効期間内に画像ファイルを送信できないと判定し、Ｗｅｂサーバ３００と再度認証を行う。しかしながら、この場合に限られず、判定方法として、例えばユーザに操作部１０８を操作させることによって、デジタルカメラ１００がＷｅｂサーバ３００と再度認証を行うか否かを判定してもよい。
【００５５】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
例えば、上述の実施形態では、Ｗｅｂサーバ３００にて認証情報の登録および管理を行う場合について説明したが、この場合に限られない。例えばＷｅｂサーバ３００とは別に認証用サーバが存在し、認証用サーバにて認証情報の登録および管理を行ってもよい。
また、本発明は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するプログラム（ソフトウェア）を、ネットワークまたは各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（ＣＰＵ）がプログラムを読み出して実行する処理である。
【図１】
0005907611.tif 000002
【図２】
0005907611.tif 000003
【図３】
0005907611.tif 000004
【図４】
0005907611.tif 000005
【図５】
0005907611.tif 000006
【図６】
0005907611.tif 000007
【図７】
0005907611.tif 000008
【図８】
0005907611.tif 000009