JP2013118534A - 撮像装置 - Google Patents

撮像装置 Download PDF

Info

Publication number
JP2013118534A
JP2013118534A JP2011265313A JP2011265313A JP2013118534A JP 2013118534 A JP2013118534 A JP 2013118534A JP 2011265313 A JP2011265313 A JP 2011265313A JP 2011265313 A JP2011265313 A JP 2011265313A JP 2013118534 A JP2013118534 A JP 2013118534A
Authority
JP
Japan
Prior art keywords
digital camera
control unit
network
imaging
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011265313A
Other languages
English (en)
Other versions
JP2013118534A5 (ja
JP5425168B2 (ja
Inventor
Yukifumi Tokunaga
幸史 徳永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to JP2011265313A priority Critical patent/JP5425168B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Priority to DE112012005034.7T priority patent/DE112012005034T5/de
Priority to PCT/JP2012/081012 priority patent/WO2013081082A1/en
Priority to US14/347,416 priority patent/US20140241210A1/en
Priority to CN201280058790.8A priority patent/CN103959827B/zh
Priority to BR112014009202A priority patent/BR112014009202A8/pt
Publication of JP2013118534A publication Critical patent/JP2013118534A/ja
Publication of JP2013118534A5 publication Critical patent/JP2013118534A5/ja
Application granted granted Critical
Publication of JP5425168B2 publication Critical patent/JP5425168B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Studio Devices (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Indication In Cameras, And Counting Of Exposures (AREA)
  • Communication Control (AREA)

Abstract

【課題】撮像装置から情報処理装置にペアリング情報を設定して無線接続する場合、プロトコルを意識することなく、情報処理装置を探索して接続すること可能とする。
【解決手段】撮像装置は、画像を外部に通信するための通信デバイスと、機器探索を行うプロトコルを複数有し、接続したことがない情報処理装置と接続する場合、撮像装置は無線接続してネットワークに参加すると、有している複数の機器探索プロトコルを用いて機器探索を行う手段を有する。
【選択図】図7

Description

本発明は撮像装置に関し、特には情報処理装置との無線接続可能な撮像装置に関する。
近年、無線通信機能を内蔵したデジタルカメラや、無線通信機能を搭載した記録メディアが登場している。これらのデバイスを利用すれば、デジタルカメラで撮影された画像ファイルを即座にパーソナルコンピュータ(以下、PC)に送信することも可能となる。
しかしながら、PCと無線接続する場合に、ネットワーク上の特定のPCに接続するには、デジタルカメラに接続先のPCを特定するための情報を登録する必要がある。このような課題に鑑みて、以下のようなデジタルカメラが提案されている(特許文献1)。すなわち、デジタルカメラとPCが無線接続を行う際、接続対象となるPCにUSBケーブルを介して接続し、通信相手となるPCを特定するためのペアリング情報をデジタルカメラにあらかじめ設定しておく。そして、デジタルカメラは、無線接続の開始が指示されると、ネットワークに対してアドバタイズメントを実行し、設定されたペアリング情報に基づいて特定のPCとの無線接続を行う。
特開2006−67231号公報
特許文献1に記載のデジタルカメラは、無線接続を行う前に、USBケーブルを介して接続して、通信相手となるPCを特定するためのペアリング情報をあらかじめ設定しなければならず、ユーザビリティが悪い。
またPCは、インストールされているOSによって、デバイス同士の接続処理に用いられるディスカバリプロトコルが異なる。代表的なディスカバリプロトコルにUPnP(Universal Plug and Play)やBonjourなどがある。
UPnPは、家庭内のPCや周辺機器、AV機器、電話、家電製品などのデバイスを、ネットワークを通じて接続し、相互に機能を提供しあうための技術仕様である。1999年にMicrosoft社によって提唱され、Intel社など20社以上が支持している。インターネットで標準となっている技術を基盤とし、ネットワークにつなぐだけで複雑な操作や設定作業を伴うことなく機能することを目指している。
また、Bonjourは、Ethernet(登録商標)や無線LAN(Local Area Network)などのIPネットワーク上にあるデバイスを自動的に検出して接続する技術である。IETF(InternetEnginieering Task Force)のZeroconfワーキンググループの標準プロトコルをベースに、Apple Talkと同様の使い勝手をもつゼロコンフィギュレーション技術として開発された。Zeroconfワーキンググループは、IPアドレスの割り当て、名前付け、サービスの検索の3つの機能を要求している。アドレス割り当てでは、ルーターが関与しない通信はローカルネットワークと判断し、自動的にIPアドレスを取得する。名前付けでは、ローカルホスト名を必ずしも設定しなくてよいマルチキャストDNSを使う。サービスの検索では、使いたい機能を持っているデバイスを探し出すことよって、それぞれ解決されている。主にApple社のMacOSにて利用されている。
また、その他のディスカバリプロトコルとして、Sun Microsystems社のJiniがある。特許文献1に記載のデジタルカメラでは、あらかじめペアリング情報を設定する際、PC毎にディスカバリプロトコルの種類を意識しながら設定する必要がある。従って、ネットワークの知識を有するユーザではない場合、正しく設定するには敷居が高い。
また、デジタルカメラとPCとの関係は、画像ファイルの取得を目的とするPCからの指示に応じて、デジタルカメラはPCに画像ファイルを提供する、いわゆるデバイスとコントロールポイントである。そのため、コントロールポイントであるPCがデジタルカメラとの接続開始、画像転送、および接続終了までを一貫して制御するのが一般的である。しかしながらユーザは、撮影後即時に画像ファイルをPCに転送したい場合や、画像ファイルの種類によって送信先のPCを変えたい場合がある。このような場合、デジタルカメラを手にした状態から、デジタルカメラを操作してネットワーク上のPCを列挙し、その中から所望のPCとの接続を指示できる方が、ユーザビリティが高い。
そこで本発明では、無線接続を行う前に、あらかじめUSBケーブルなどを介して情報処理装置と接続して、ペアリング情報を設定することなく所望の情報処理装置と接続することができる撮像装置を実現することを1目的とする。また本発明では、ユーザが接続する情報処理装置が対応するディスカバリプロトコルの種類を意識することなく所望の情報処理装置と接続することができる撮像装置を実現することを1目的とする。また、本発明は、デバイスである撮像装置から、ネットワーク上のコントロールポイントである情報処理装置のうち選択された情報処理装置と接続し、接続が確立した後は、情報処理装置の指示に従って画像ファイルの転送を行う撮像装置の実現を1目的とする。
これら目的の少なくとも1つは、被写体を撮影し画像データを得る撮像手段と、前記撮像手段により得られた画像データを記録媒体に記録する記録手段と、外部装置に画像データを送信する通信デバイスを制御する手段を有する撮像装置であって、前記撮像装置は、機器と接続して通信を実行するための接続モードを有し、前記無線接続モードは各機器と接続するための機器選択手段と、ネットワークに接続するための設定を入力する手段と、ネットワークへの接続を開始すると無線接続を実行する手段を有し、前記撮像装置は、機器探索を行うプロトコルを複数有し、前記撮像装置は、画像データを転送するプロトコルを有し、接続したことがない情報処理装置と接続する場合、前記撮像装置は前記無線接続してネットワークに参加すると、有している複数の機器探索プロトコルを用いて機器探索を行う手段を有し、機器探索で得た情報処理装置の固有情報を保存する手段を有し、機器探索の結果を撮像装置の表示部に表示する手段を有し、ユーザの指示によって機器が選択されたことを検知することをきっかけに、前記撮像装置は選択した機器を発見した機器探索プロトコルで広告処理を行い、接続する機器から送信された接続要求を受けると、接続要求で取得した固有情報と、機器探索時に保存した固有情報を比較し、一致していたら機器と接続してペアリング情報を保存し、接続したことがある機器と接続する場合は、前記ペアリング情報を参照して機器を発見した機器探索プロトコルのみで機器探索を行い、機器が発見されると機器を発見した機器探索プロトコルのみで広告処理を行い、接続する機器から送信された接続要求を受けると、接続要求で取得した固有情報と、機器探索時に保存した固有情報を比較し、一致していたら機器と接続することを特徴とする撮像装置によって実現される。
本発明によれば、無線接続を行う前に、あらかじめUSBケーブルなどを介して情報処理装置と接続して、ペアリング情報を設定することなく所望の情報処理装置と接続することが可能となる。また、ユーザが接続する情報処理装置が対応するディスカバリプロトコルの種類を意識することなく所望の情報処理装置と接続することが可能となる。また本発明では、デバイスである撮像装置から、ネットワーク上のコントロールポイントである情報処理装置のうち選択された情報処理装置と接続し、接続が確立した後は、情報処理装置の指示に従って画像ファイルの転送を行うことが可能となる。
デジタルカメラの構成を示すブロック図。 PCの構成を示すブロック図。 デジタルカメラとPCの接続形態を示す概念図。 デジタルカメラの画像転送処理を示すフローチャート。 デジタルカメラの画像転送処理の際に表示するGUIを示す図。 PCの画像転送処理を示すフローチャート。 デジタルカメラのディスカバリ処理を示すフローチャート。 デジタルカメラのデバイス検索処理を示すフローチャート。 デジタルカメラの広告処理を示すフローチャート。 デジタルカメラ、PCで送受信するSSDPメッセージを示す図。 デジタルカメラ、PCで送受信するディスクリプションを示す図。 デジタルカメラ、PCで送受信するTXTレコードを示す図。 デジタルカメラのディスカバリ処理の際に表示するGUIを示す図。 デジタルカメラのペアリング情報を示す図。 デジタルカメラのディスカバリ処理を示すフローチャート。 PCのディスカバリ処理を示すフローチャート。
<第1の実施形態>
以下、本発明の例示的な実施形態について図を参照して説明するが、本発明は以下の実施形態に限定されない。また、種々の実施形態は適宜組み合わせてもよい。
[デジタルカメラの構成]
以下の説明では、本発明に係る撮像装置の一例として、静止画や動画が撮影可能なデジタルカメラについて説明する。なお、いわゆるカメラ付き携帯電話やカメラ付きのタブレットデバイスのように、デジタルカメラを備えた機器も撮像装置の一例である。
図1は、本実施形態に係るデジタルカメラ100の構成を示すブロック図である。
制御部101は、例えば、CPU(MPU)、メモリ(DRAM、SRAM)などからなり、各種処理(プログラム)を実行してデジタルカメラ100の各ブロックを制御したり、各ブロック間でのデータ送信を制御したりする。また制御部101は、ユーザからの操作を受け付ける操作部102からの操作信号に応じて、デジタルカメラ100の各ブロックを制御する。
操作部102は、例えば、電源ボタン、ズーム調整ボタン、オートフォーカスボタンなどの撮影に関連する各種操作を入力するスイッチ類からなる。また、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、タッチパネル等で構成することが可能であり、ユーザによりこれらのキーやボタンが操作されると制御部101に操作信号を送信する。さらに操作部102はレリーズボタンを含み、レリーズボタンはいわゆる半押し状態で押下されるSW1と、いわゆる全押し状態で押下されるSW2とから構成される。SW1の押下により撮影準備指示が出力され、SW2の押下により撮影指示が出力される。なお、本実施形態では、静止画撮影のためのレリーズボタンと動画撮影のためのレリーズボタンは共用しているが、別のボタンとすることも可能である。
バス103は、各種データ、制御信号、指示信号などをデジタルカメラ100の各ブロックに送るための汎用バスである。
撮像部110は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、CCDセンサやCMOSセンサ等の撮像素子により画像信号に変換する。
また、音声入力部120は、例えば、内蔵された無指向性のマイクまたは音声入力端子を介して接続された外部マイク等により、デジタルカメラ100の周囲の音声を集音する。
メモリ104は、例えばRAM(Random Access Memory)やフラッシュメモリであって、画像信号および音声信号、デジタルカメラ100の設定情報などを一時的に記録する揮発性メモリと不揮発性メモリの双方が備わる。
記録媒体141は、デジタルカメラ100に接続可能な記録媒体である。記録媒体141は、デジタルカメラ100で生成した各種データなどを記録することができる。記録媒体141の例としては、例えばハードディスク、光ディスク、フラッシュメモリなどがあげられる。本実施形態では、いわゆるメモリカードと呼ばれるデジタルカメラ100に装着可能なフラッシュメモリ装置を例に説明する。
音声出力部151は、例えば音声出力端子からなり、接続されたイヤホンやスピーカなどから音声を出力させるために音声信号を送信する。また、音声出力部151は、デジタルカメラ100に内蔵されてもよい。
映像出力部150は、例えば映像出力端子からなり、接続された外部ディスプレイ等に映像を表示させるために画像信号を送信する。また、音声出力部151、映像出力部150は、統合された1つの端子、例えばHDMI(登録商標)端子のような端子であってもよい。
本実施形態に係るデジタルカメラ100はネットワークを介して他の機器と通信部152を通じて通信可能である。通信部152は、RS232C、USB、IEEE1394、P1284、SCSI、モデム、LAN、IEEE802.11などの通信インターフェイスにより、外部デバイスとの間でシリアルまたはパラレル通信によるデータの送受信を有線または無線で行う。また、通信インターフェイスに則って通信プロトコルを実行することで、外部デバイスとデータを送受信することが可能となる。通信プロトコルの一例として、HTTP(Hyper Text Transfer Protocol)やPTP−IP(Picture Transfer Protocol over IP)などが挙げられる。
表示部130は、記録媒体141に記録された画像データや各種メニューなどのGUIを表示する。表示部130は例えば、液晶ディスプレイ、有機ELディスプレイ等を用いることができる。
[パーソナルコンピュータ(PC)の構成]
以下の説明では、情報処理装置の一例として、静止画や動画が取り込み可能なパーソナルコンピュータ(PC)について説明する。なお、プリンタ、いわゆるタブレット型PCやスマートフォン、インターネットテレビなども情報処理装置の一例である。
図2は、本実施形態に係るPC200の構成を示すブロック図である。
PC200は、表示部201と、操作部202と、CPU203と、一次記憶装置204と、二次記憶装置205と、通信装置206とから構成されている。各構成の基本的な機能はデジタルカメラ100と同様であるから、ここでは詳細な説明は省略する。なお、表示部201にはLCDなどのディスプレイ装置が用いられる。また表示部201はPC200が備える必要はなく、PC200は表示部201の表示を制御する表示制御機能を有していればよい。また、二次記憶装置205はハードディスクドライブや外部記憶媒体を読み出しおよび書き込みを行う装置であってよい。外部記録媒体としては、DVD−RWドライブ、CD−ROM、CD−R、DVD−RAMなどの光ディスクや、フレキシブルディスク、MOなどの磁気ディスク、またフラッシュメモリなどの不揮発性メモリなどが例示できる。さらに、操作部202としては、キーボードやマウス、またタッチパネルを用いることが可能である。
通信装置206に用いられる通信インターフェイスやプロトコルは、デジタルカメラ100と同様であるため説明は割愛する。PC200は、この通信装置206を用いて、外部デバイスとデータを送受信することが可能となる。
[デジタルカメラとPCの接続形態について]
以下の説明では、デジタルカメラとPCのネットワーク参加形態の一例として、インフラストラクチャでの接続形態について説明する。なお、デジタルカメラとPCが1対1の接続のみでよい場合は、アドホック、またはWi−Fi Directで接続する形態も一例である。Wi−Fi Directは、無線LANの普及促進団体、Wi−Fiアライアンスが策定した仕様である。この仕様によれば、アクセスポイントがなくても無線LAN搭載の携帯電話やタブレット、PC、デジタルカメラカメラ、プリンタ、携帯用ゲーム機などデバイス同士を無線で接続することができる。
図3は、デジタルカメラ100と複数台のPC200が参加するネットワークの構成を示す概念図である。
301はルーターである。ルーターは、ネットワークの構築、およびネットワークに接続されたポータブルデバイスやPCなどのデバイス間の通信を中継するルーティング機能を提供する。ルーターは、インターネットプロトコルスイートに準拠して、自身に割り振ったIPアドレスをGetewayとしてLANを構成する。また、ルーター301は有線または無線で接続するインターフェイスを有している。有線接続の一例として、LANケーブルでルーターとデバイスを物理的に接続する。無線接続の一例として、IEEE802.11x(xはa,b,g,nなど)に準拠した接続があげられる。ルーターは、SSIDと暗号キーが設定されており、接続デバイスは、SSIDと暗号キーを設定し、承認されることでルーターとの接続が確立される。
有線または無線を通じてLANにポータブルデバイスやPCなどのデバイスが接続されると、接続機器デバイスに対してIPアドレスの割り振りを自動または手動で行う。自動で行う場合の代表的なプロトコルとしてDHCP(Dynamic Host Configuration Protocol)があげられる。そして、デバイス間の通信が行われる際にネットワーク上を流れるデータのプロトコルやIPアドレスを解析し、どの経路を通じて転送すべきかを判断する。
本実施形態では、ルーター301が、Getawayが192.168.0.1のLANを構築している。また、LANに無線接続したデジタルカメラ100には192.168.0.10のIPアドレスが割り当てられている。また、無線接続したPC200(a)の“ComputerA”には192.168.0.20のIPアドレスが割り当てられている。また、無線接続したPC200(b)の“ComputerB”には192.168.0.21のIPアドレスが割り当てられている。また、有線接続したPC200(c)の“ComputerC”には192.168.0.22のIPアドレスが割り振られている。本実施形態では、上述したインフラストラクチャのネットワークを前提に、デジタルカメラ100からユーザが接続を所望するPC200に接続する方法について説明する。
なお、本実施形態のデジタルカメラ100には、ネットワーク上でデバイス探索を行うためのディスカバリプロトコルであるUPnPおよびBonjourの仕様に則ってPC200と通信が可能なプログラムが二次記憶装置105に記録されている。プログラムには、UPnPおよびBonjourを使用した通信を実行するためのコマンド、およびUPnPおよびBonjourで通信するのに必要なデジタルカメラ100の固有のデバイス情報が記録されている。
また、本実施形態のPC200(a)とPC200(c)には、ディスカバリプロトコルの1つであるUPnPの仕様に則ってデジタルカメラ100と通信が可能なプログラムが二次記憶装置205にインストールされている。プログラムには、UPnPを用いた通信を実行するためのコマンド、およびUPnPで通信するのに必要なPC固有のデバイス情報が記録されている。
また、本実施形態のPC200(b)には、ディスカバリプロトコルの1つであるBonjourの仕様に則ってデジタルカメラ100と通信が可能なプログラムが二次記憶装置205にインストールされている。プログラムには、Bonjourを用いた通信を実行するためのコマンド、およびBonjourで通信するのに必要なPC固有のデバイス情報が記録されている。
また、本実施形態のデジタルカメラ100には、画像を転送するためのプロトコルであるPTP−IPの仕様に則ってPC200と画像ファイルの送受信が可能なプログラムが二次記憶装置105に記録されている。プログラムには、PTP−IPを使用した通信の実行のためのコマンド、PTP−IP通信で転送可能なファイルを定義するオブジェクトフォーマットコード、デジタルカメラのセッティング又は状態条件を識別する情報であるデバイスプロパティが記録されている。
また、本実施形態のPC200(a)、PC200(b)、PC200(c)には、画像ファイルを転送するためのプロトコルであるPTP−IPの仕様に則ってPC200と通信が可能なプログラムが二次記憶装置205にインストールされている。
また、本実施形態のデジタルカメラ100内の記録媒体141およびPC200内の二次記憶装置205には、あらかじめ画像ファイルが保存されている。そして、本実施形態における画像の送信処理は、デジタルカメラ100とPC200がネットワークを介して接続され、デジタルカメラ100から供給された画像ファイルがPC200の二次記憶装置205の任意のディレクトリに保存されることで実現される。
本実施形態は、デジタルカメラ100がディスカバリプロトコルであるUPnPおよびBonjourを用いてPC200と接続して、PTP−IPを用いて画像ファイルをPC200に送信する形態を例にあげて詳細を説明する。ただし、本発明は、本実施形態で記したネットワークの構成、ネットワーク接続方法、ディスカバリプロトコルの種類、転送プロトコルに制限されない。
[デジタルカメラの画像転送処理について]
まず、次の一連の処理におけるデジタルカメラ100の動作について説明する。
(1)デジタルカメラ100とPC200が、ルーター301が構築するネットワークを介して接続する。
(2)デジタルカメラ100から供給された画像ファイルがPC200の二次記憶装置205の任意のディレクトリに保存される。
(3)デジタルカメラ100が、ネットワークから離脱する。
図4は、デジタルカメラ100の基本動作を示すフローチャートである。このフローチャートは、操作部102に含まれる電源ボタンや再生ボタンが押下されたことを制御部101が検知したことに応じて開始される。なお、このフローチャートが示す処理は、各部からの入力信号やプログラムにしたがって、制御部101がデジタルカメラ100の各部を制御することにより実現される。特に断らない限り、他のフローチャートが示す処理についても同様である。
まず、S401において、制御部101はデジタルカメラ100の初期化処理を実行する。初期化処理では、記録媒体141の装着の有無をチェックしたり、撮影準備のために鏡筒を駆動したり、電源ボタンや再生ボタンのどちらが押されたかを判断して、起動するモードを切り替えたりする。モードには、画像ファイルを撮影するための撮影モード、画像ファイルを表示部130に表示して閲覧する再生モード、撮影パラメータを変更するメニューモード、無線接続を実行する無線接続モードがある。本実施形態において、操作部102に含まれる再生ボタンを押下してカメラが起動すると、再生モードで起動し、表示部130に本実施形態における再生モードのGUI(図5(a))を表示する。
S402において、制御部101は無線接続モードが選択されたか否かを検知する。図5(a)のGUIには、無線接続モードに遷移するためのボタンアイコン501が配置されている。ユーザは操作部102を操作してボタンアイコン501を押下すると、制御部101は無線接続モードが選択されたと検知して無線接続モードを起動し、表示部130に図5(b)のGUIを表示してS403へ進む。そうでない場合は、ボタンアイコン501が押下されるまで待機する。
S403において、制御部101は接続デバイスが選択されたか否かを検知する。図5(b)のGUIには、デジタルカメラ100と接続可能なデバイスの一覧がボタンアイコンで表示されており、ボタンアイコンを押下すると、各デバイスと接続する処理へ進む。ボタンアイコン502は接続可能なデバイスの1つであるPC200との接続処理へ進むためのボタンアイコンである。本実施形態では、PC200と接続することを目的とするため、ユーザが操作部102を操作してボタンアイコン502を押下すると、制御部101は接続デバイスが選択されたと検知して表示部130に図5(c)のGUIを表示してS404へ進む。そうでない場合は、接続デバイスのボタンアイコンが押下されるまで待機する。
S404において、制御部101は新規接続であるか否かを検知する。図5(c)のGUIには、接続したことがないPC200と接続するためのボタンアイコン503、または接続したことがあるPC200と再度接続するためのボタンアイコン504が表示されている。ユーザが操作部102を操作してボタンアイコン503を押下すると、制御部101は接続したことがないPC200と接続することを検知し、表示部130に図5(d)のGUIを表示してS405へ進む。ボタンアイコン504が押下された場合は、接続したことがあるPC200と接続することを検知してS406へ進む。
S405において、制御部101はネットワーク接続のための設定項目の入力を受付ける。図5(d)のGUIには、ルーター301に無線接続するために必要な設定項目であるSSID(Service Set Identifier)と暗号キーを入力するテキストボックスが配置されている。なお、SSIDとは、IEEE802.11シリーズの無線LANにおけるアクセスポイントの識別子であり、混信を避けるために付けられる名前
である。また、暗号キーは、SSIDに不正アクセスされないよう無線LANの暗号化を行うためのキーである。ユーザは、不図示のソフトウェアキーボードを表示部130に表示し、操作部102を操作して文字を入力する。制御部101は選択された文字をすべてメモリ104に一時記録する。
S406において、制御部101はネットワーク接続を行う。図5(d)のGUIのボタンアイコン505は無線接続の開始を支持するためのボタンアイコンである。接続したことがないPC200と接続する場合は、ユーザが操作部102を操作してボタンアイコン505を押下すると、制御部101はS405でメモリ104に一時記録したSSIDと暗号キーを基に、ルーター301との接続を開始する。一方、接続したことがあるPC200と再度接続する際に仕様するSSIDや暗号キーは、PC200との接続が成功すると他の情報と併せてペアリング情報としてメモリ104の不揮発性メモリに保存されている。ペアリング情報の詳細については後述する。接続したことがあるPC200と接続する場合、制御部101はメモリ104の不揮発性メモリに記録されたペアリング情報のSSIDと暗号キーをメモリ104のRAMにロードしてルーター301との接続を開始する。ルーター301との接続が確立されると、ルーター301はデジタルカメラ100に対してIPアドレスを割り当てる。制御部101は、割り当てられたIPアドレスをメモリ104のRAMに記録する。
S407において、制御部101はPC200と接続するためのディスカバリ(デバイス探索)を行う。ディスカバリの詳細については後述する。
S408において、制御部101は画像転送サービスを開始する。本実施形態における画像転送サービスは、PTP−IPを用いた画像ファイルの転送処理を指す。S407において接続するPC200が選定されると、PC200はデジタルカメラ100に対してセッションを確立するためのコマンドパケットを送信する。デジタルカメラ100は、通信部152を通じてコマンドパケットを受信すると、制御部101はパケットを解析してセッションを確立する処理を実行する。本実施形態におけるPTP−IPの場合、OpenSessionコマンドがそれにあたる。セッションを確立すると、レスポンスコマンドをPC200に送信した後、表示部130に図5(e)のGUIを表示し、画像転送サービスを開始する。に図5(e)のGUIは、図3のPC200(a)との接続が完了した場合を例にしたGUIである。また、他の例として、表示部130を非表示にしてもよい。
S409において、制御部101はPC200から画像送信要求を受信したか否かを検知する。デジタルカメラ100は、ルーター301を介してPC200から画像ファイルの転送指示を示すコマンドパケットを受信する。制御部101はコマンドパケットを解析して画像ファイルの送信指示を示すコマンドであると検知した場合はS410に進む。そうでない場合は、画像ファイルの送信を指示するコマンドパケットを受信するまで待機する。
S410において、制御部101は画像ファイルをPC200に送信する。送信処理では、コマンドパケットに指定されている画像ファイルを記録媒体141から読取り、メモリ104のRAMにロードする。そして、画像ファイルをパケット単位に分割してPC200へ送信する。そして、画像ファイルのサイズ数のパケットをすべて送信した後、レスポンスコマンドをPC200に送信して、画像送信を完了する。
S411において、制御部101はPC200から画像転送サービスの終了通知を受信したか否かを検知する。PC200からルーター301を介してPC200からデジタルカメラ100とのセッションを終了するコマンドパケットが送信される。本実施形態におけるPTP−IPの場合、CloseSessionコマンドがそれにあたる。制御部101は通信部152を通じて受信したコマンドパケットを解析し、セッションの終了を実行してS412に進む。そうでない場合は、セッションを終了するコマンドパケットを受信するまで待機する。
S412において、制御部101はネットワークから離脱する。ここでは、メモリ104のRAMにロードした画像転送プロトコルに従って動作するプログラムをアンロードし、ディスカバリプロトコルのネットワーク離脱のためのコマンドをネットワークにマルチキャストする。本実施形態のUPnPでは、SSDP:Byebyeをマルチキャストする。Bonjourの場合は、MulticastDNS:goodbyeをマルチキャストする。
以上が、本実施形態におけるデジタルカメラ100の画像転送に関わる基本動作である。デジタルカメラ100は、PC200から画像転送プロトコルの指示に従って送信される指示に従って動作するデバイスの役割を担う。
[PCの画像転送処理について]
次に、上述の(1)〜(3)の処理におけるPC200の動作について説明する。
図6は、PC200の基本動作を示すフローチャートである。このフローチャートは、PC200の起動処理が起動処理が完了している状態から開始される。起動処理では、PC200が不図示の操作部の1つである電源ボタンの押下により起動し、各ハードウェアのチェックなどを行い、CPU203が二次記憶装置205に保存されているオペレーティングシステム(以下、OS)を一次記憶装置204にロードする。
まず、S601において、CPU203はネットワーク接続を行う。ネットワーク接続では、無線または有線の通信装置206から所望のネットワークを構築しているルーター301に対して接続し、CPU203はルーター301から割り振られたIPアドレスを一次記憶装置204に記録する。なお、無線および有線接続の方法については、図3、および図4のS406と同様であるため、説明は割愛する。
S602において、CPU203はディスカバリを行う。ディスカバリ(デバイス探索)を行う。ディスカバリの詳細については後述する。
S603において、CPU203は画像転送サービスの開始を指示する。実施形態における画像転送サービスは、PTP−IPを用いた画像ファイルの転送処理を指す。ここでは、デジタルカメラ100とセッションを確立するためのコマンドパケットを送信する。本実施形態におけるPTP−IPの場合、OpenSessionコマンドがそれにあたる。CPU203は、デジタルカメラ100がコマンドパケットを処理した後に送信するレスポンスパケットを受信し、画像転送サービスを開始したと判断すると、S604に進む。
S604において、CPU203はデジタルカメラ100に対して画像ファイルの送信を指示する。CPU203はPTP−IPの画像ファイルの転送を指示するコマンドパケットを生成し、デジタルカメラ100に送信する。本実施形態におけるPTP−IPの場合、GetObjectコマンドがそれにあたる。なお、GetObjectを行う前にGetDeviceInfoコマンドやGetObjectInfoコマンドを実行してデジタルカメラ100のデバイス情報や記録媒体141に保存されている画像ファイルの数や種類を取得する必要がある。
S605において、CPU203は画像ファイルを受信する。デジタルカメラ100から送信された画像ファイルのデータパケットを二次記憶装置205の任意のディレクトリに保存する。画像ファイルのサイズ数すべてのパケットを受信し終えたら、画像ファイルをファイナライズして保存を完了する。複数枚の画像ファイルの受信があった場合は、上述の処理を繰り返す。
S606において、CPU203は画像転送サービスの終了指示を検知したか否かを判定する。ユーザが、所望する画像ファイルの転送を終え、画像転送サービスを終了させるため表示部201に表示した不図示の画像転送プログラムのGUIに配置された終了ボタンを押下すると、CPU203は画像転送サービスの終了指示を検知し、S607へ進む。そうでない場合は、S604に戻り、デジタルカメラ100に対して画像ファイルの送信指示を再度行う。
S607において、CPU203は画像転送サービスの終了を指示する。ここでは、デジタルカメラ100とのセッションを終了するためのコマンドパケットをデジタルカメラ100に送信する。本実施形態におけるPTP−IPの場合、CloseSessionコマンドがそれにあたる。
CPU203は、デジタルカメラ100がコマンドパケットを処理した後に送信するレスポンスコマンドを受信すると、PC200で画像転送サービス用のプログラムを終了する。
以上が、本実施形態におけるPC200の画像転送に関わる基本動作である。PC200は、デジタルカメラ100に対して画像転送プロトコルに従って画像送信の指示をするコントロールポイントの役割を担う。
[デジタルカメラのディスカバリ処理(初回接続)について]
次に、図4のS407のディスカバリの詳細について説明する。図7は、デジタルカメラ100のディスカバリの動作を示すフローチャートである。
まず、S701において、制御部101は接続したことがないPC200と接続するか否かを検知する。図4のS404にて表示した図5(c)のGUIにて、ボタンアイコン503が選択された場合は接続したことがないPC200と接続すると判定して、S702へ進む。そうでない場合は、接続したことがあるPC200との接続を行うため処理Aへ進む。
S702において、制御部101はネットワークに接続されているPC200の検索を開始する。PC200の検索処理の詳細については、図8に示すフローチャートを参照して説明する。図3において説明した通り、本実施形態のデジタルカメラ100はディスカバリプロトコルであるUPnPとBonjourの双方での通信に対応している。そのため、双方のディスカバリプロトコルで検出されるUPnP対応PCおよびBonjour対応PCを接続対象とする。本実施形態の図3におけるPC200(a)とPC200(c)がUPnP対応PCであり、PC200(b)がBonjour対応PCである。なお、UPnP対応PCの一例はMicrosoft社のWindows(登録商標)OSがインストールされたPCであり、Bonjour対応PCの一例はApple社のMacOS(登録商標)がインストールされたPCである。制御部101は機器検索を開始して、図13(f)のGUIを表示部130に表示する。
S801において、制御部101はSSDP:Aliveメッセージのマルチキャストを受信したか否かを検知する。SSDP(Simple Service Discovery Protocol)は、ネットワーク上のUPnPをサポートするデバイスを探索、発見するためのプロトコルである。SSDP:Aliveは、デバイスがネットワークに接続した際、Advertisementと呼ばれる、自身の存在をネットワーク上のデバイスにマルチキャストする動作を行う。図10(a)のAdvertisementはPC200がAdvertisementするためにマルチキャストしたSSDPデータの一例である。HOSTヘッダは、マルチキャストのIPアドレスを示す。CHACHE−CONTROLヘッダは、Advertisementが有効になる時間を秒で示す。LOCATIONヘッダは、PC200のURLを示す。NTタグは、ネットワークに通知するデバイスタイプを示す。SERVERは、PC200のOSを示す。本実施形態の図3では、PC200(a)とPC200(b)がネットワークに接続した後、SSDP:Aliveをマルチキャストする。制御部101は、ネットワーク上のPC200からのSSDP:Aliveを受信したことを検知すると、S802に進む。そうでない場合はS804へ進む。
S802において、制御部101はPC200のデバイス情報を取得のためのHTTP GETを実行する。UPnP対応PCは、自身のデバイス情報をXML(Extensible Markup Language)形式で記載してディスクリプションとして保存している。図11(a)のDescriptionは、PC200が二次記憶装置205に保存しているディスクリプションの一例である。図11(a)のDescriptionはいくつかのタグによって構成されており、例えば、UDNタグはPC200のGUIDを示す。friendryNameタグはPC名を示す。Devicetypeタグはデバイスタイプの種類を示す。また、ServiceTypeタグはPC200が提供可能なサービスを示す。HTTP GETは、HTTPプロトコルに従って通信先からデータを取得するためのメソッドである。制御部101は、S801にてSSDP:Aliveのマルチキャストの受信したことを検知すると、マルチキャストしたPC200に対してディスクリプションの送信を指示する。
S803において、制御部101はディスクリプションを取得する。S802においてPC200がデジタルカメラ100からのディスクリプションの送信指示を受信すると、ディスクリプションをデジタルカメラ100へ送信する。制御部101は、通信部152を通じて取得したディスクリプションをメモリ104のRAMへ保存し、S815へ進む。
S804において、制御部101はMulticastDNS:Notifyメッセージのマルチキャストを受信したか否かを検知する。Notifyメッセージは、MulticastDNSにおいてデバイスがネットワークに接続した際、自身の存在と自身が提供可能なサービスを表すServiceTypeを付加して、ネットワーク上のデバイスにマルチキャストする。本実施形態の図3では、PC200(b)がネットワークに接続した後、PTP−IPでのイニシエータとして動作可能であることを示すServieType“_ptp−init”を付加してNotifyメッセージをマルチキャストする。制御部101は、Notifyメッセージを受信したことを検知すると、S805に進む。そうでない場合はS807へ進む。
S805において、制御部101はTXTレコードを要求する。Bonjour対応PCは、自機のデバイス情報をテキスト形式で記載してTXTレコードとして保存している。図12(a)に、PC200が二次記憶装置205に保存しているTXTレコードの一例を示す。TXTレコードは、ServiceTypeと紐付いており、Keyとその値から構成される。本実施形態におけるPC200からマルチキャストするServiceTypeは“_ptp−init”であり、それに紐付くTXTレコードのVersion KeyはTXTレコードのバージョンを示す。Model Keyは、デバイスのモデルの種類を示す。Product Keyは製品名を示す。Service Available Keyは、サービスが有効になったか否かを示す。有効になった場合はValueが1に更新される。GUID KeyはPC200のGUIDを示す。制御部101は、S802でNotifyメッセージの受信を検知すると、メッセージに付加されたServiceTypeを参照する。そして、画像転送サービスが提供可能であることを示すServiceTypeであった場合、マルチキャストしたPCに対してTXTレコードの送信を指示する。例えば図3の場合、PC200(b)がマルチキャストしたServiceTypeが“_ptp−init”、デジタルカメラ100が検索対象とするPCのServiceTypeが“_ptp−init”であったとする。この場合、PC200(b)に対してTXTレコードの送信を指示する。
S806において、制御部101はTXTレコードを取得する。S805においてPC200がデジタルカメラ100からのTXTレコードの送信指示を受信すると、TXTレコードをデジタルカメラ100へ送信する。制御部101は、通信部152を通じて取得したTXTレコードをメモリ104のRAMへ保存し、S815へ進む。
S807において、制御部101はSSDPのM−Searchを開始する。M−Searchはネットワーク上のUPnP対応デバイスを検出するメソッドである。図10(b)のM−Searchは、M−Searchを実行するためのSSDPデータの一例である。HOSTヘッダは、マルチキャストのIPアドレスを示す。STヘッダは、検索対象とするデバイスタイプを示す。MXヘッダは、検索が有効になる時間を分で示す。
S808において、制御部101はMulticastDNSのQueryを開始する。Queryは、ネットワーク上のBonjour対応デバイスを検出するメソッドであり、検索対象とするServiceTypeを指定してQueryする。
S809において、制御部101はSSDPレスポンスがあるか否かを検出する。S807にてM−Searchを開始すると、ネットワーク上のUPnP対応PCがレスポンスをデジタルカメラ100に送信する。図10(c)はResponseとして送信するSSDPデータの一例である。STヘッダは、検索対象とするデバイスタイプを示す。LOCATIONヘッダは、PC200のIPアドレスを示す。SERVERは、PC200のOSを示す。制御部は、PC200からマルチキャストされたM−SearchのST:タグを参照する。これは、検索デバイスの種類を示すものであり、PC200が対象のデバイスの種類であるならば、PC200は図10(c)のResponseをデジタルカメラ100へ送信する。制御部101は、通信部152を通じてSSDPレスポンスを検知した場合はS810へ進む。そうでない場合はS812へ進む。
S810において、制御部101はPC200のディスクリプション取得のためのHTTP GETを実行する。ここでの処理はS802と同様であるため説明は割愛する。
S811において、制御部101はディスクリプションを取得する。ここでの処理はS803と同様であるため説明は割愛する。
S812において、制御部101はMulticastDNSのQueryレスポンスがあるか否かを検出する。S808にてQueryを開始すると、設定されたServiceTypeに対応するPC200がレスポンスをデジタルカメラ100に送信する。制御部101は、Queryレスポンスを検知した場合はS813へ進む。そうでない場合は機器が検出されなかったと判定し、PC未発見として処理する。
S813において、制御部101はTXTレコードの送信を指示する。ここでの処理はS805と同様であるため説明は割愛する。
S814において、制御部101はTXTレコードを取得する。ここでの処理はS806と同様であるため説明は割愛する。
S815において、制御部101は接続可能PCであるか否かを検知する。UPnP対応PCの場合、図10(a)および(c)のSERVERヘッダを参照して、接続対象となるOSであるかを判定する。接続対象であると判定した場合は、図11(a)のディスクリプションのfriendlyNameタグをPC名として、UDNタグに記載されているGUIDと共にメモリ104に保存する。Bonjour対応PCである場合、不図示のアドレスレコードを取得してPCのホスト名を取得し、ホスト名をPC名として、図12(a)のTXTレコードのGUID Keyと共にメモリ104に保存する。そして、PC発見として処理する。そうでない場合は、PC未発見として処理する。
以上が、検索処理の詳細である。
S703において、制御部101はPC200が発見されたか否かを検知する。図8のデバイス検索処理においてPC200が発見されたと検知した場合はS704に進む。そうでない場合はS706に進む。
S704において、制御部101は発見したPC200のPC名をGUIに表示する。図8のS815にてメモリ104に保存したPC名を表示部130にGUIとして表示する。制御部101は、PCが発見される度にGUIにPC名の表示を追加する。図13(g−1)、(g−2)のGUIはその一例である。図13(g−1)のGUIでは、ディスカバリプロトコルに関係なく、PC名をGUIに表示する。また、別の表示方法として、図13(g−2)のGUIのようにディスカバリプロトコル毎にPC200をカテゴライズして表示してもよい。また、別の方法として、不図示であるが、S706で機器検索時間が経過した後に検索結果を一度に表示してもよい。
S705において、制御部101はPC200が選択されたか否かを検知する。S704において表示した図13(g−1)のGUIのPC名は、操作部102で選択することができる。ユーザが表示されたPC名のいずれかを選択した場合はS712へ進む。そうでない場合は、S706へ進む。
S706において、制御部101はデバイス検索時間がN分経過したか否かを検知する。デバイス検索時間は、あらかじめプログラムで規定されているか、もしくは不図示のメニューモードにてユーザが設定してメモリ104の不揮発性メモリに記録している。制御部101は、規定、設定された時間が経過したことを検知した場合はS707に進む。そうでない場合は、S709へ進む。
S707において、制御部101はPC名が表示済みか否かを検知する。PCが1台以上発見されている場合はS704にて接続可能なPC名がGUIに表示されている。制御部はGUIが表示されていることを検知した場合はS708に進む。そうでない場合、S710に進む。
S708において、制御部101はPC200が選択されたか否かを検知する。この処理はS705と同様であるため説明は割愛する。PC200が選択されたと検知した場合はS712に進む。そうでない場合はS711に進む。
S709において、制御部101は機器検索が中断されたか否かを検知する。図13(f)や(g−1)のGUIには、中断ボタンアイコン1301が配置されており、ユーザが中断ボタンアイコン1301を押下すると、制御部101は中断されたことを検知してデバイス検索を中断して、S707へ進む。そうでない場合、S702に戻り、デバイス検索を続ける。
S710において、制御部101はPC200が発見されなかったことを示すGUIを表示部130に表示する。図13(h)のGUIはその一例である。
S711において、制御部101はユーザが再検索を選択しないか否かを検知する。図13(h)のGUIには再検索を行うためのアイコンボタン1302が配置されている。ユーザが操作部102を操作して再検索のアイコンボタンを押下せず、戻るボタン1303を押下した場合はディスカバリ処理を終了し、S723に進む。そうでない場合は、デバイス検索時間のカウンターをリセットしてS702に戻りデバイス検索を再度実行する。
S712において、制御部101は選択したPC200のペアリング情報をメモリ104のRAMに一時保存する。UPnPの場合、選択したPC200から取得したディスクリプション(図11(a))から、以下の情報を保存する。
・friendlyNameヘッダに記載のPC名、
・発見したディスカバリプロトコルの種類、
・Advertisement(図10(a))またはResponse(図10(c))のLOCATIONヘッダに記載のIPアドレス、および
・UDNタグに記載のGUID(Globally Unique Identifier)
Bonjourの場合、不図示のアドレスレコードから取得したPCのホスト名とIPアドレス、発見したディスカバリプロトコルの種類、TXTレコード(図12(a))のGUID KeyのGUIDを保存する。
S713において、制御部101は広告を開始する。広告処理の詳細については、図9に示すフローチャートを参照して説明する。広告処理を開始すると、制御部101は図13(i)のGUIを表示部130に表示する。
S901において、制御部101はS705もしくはS708で選択したPC200を発見したディスカバリプロトコルがUPnPであるか否かを検知する。S712においてメモリ104のRAMに一時保存したペアリング情報を参照し、UPnPであると検知した場合はS902へ進む。そうでない場合はBonjourであると検知してS903へ進む。
S902において、制御部101はSSDP:Aliveをマルチキャストする。
S903において、制御部101はMulticast DNS NotifyをServiceTypeを添えてマルチキャストする。
S904において、制御部101はPC200からディスクリプションの送信指示があるか否かを検知する。PC200から送信指示があると検知した場合はS905へ進む。そうでない場合は要求があるまで待機する。図11(b)はデジタルカメラ100が保有するディスクリプションの一例である。図11(b)のディスクリプションはいくつかのタグによって構成されており、例えば、URLBaseタグはデジタルカメラ100のIPアドレスを示す。Devicetypeタグはデバイスタイプの種類を示す。friendryNameタグはデジタルカメラ100の名前を示す。UDNタグはデジタルカメラ100のGUIDを示す。また、ServiceTypeタグはデジタルカメラ100が提供可能なサービスを示す。HTTP GETは、HTTPプロトコルに従って通信先からデータを取得するためのメソッドである。なお、図13(i)のGUIにある中断ボタンアイコン1304がユーザによって押下された場合は、制御部101は広告を中断する。
S905において、制御部101はディスクリプションを要求先のPC200へ送信する。
S906において、制御部101はTXTレコードの送信指示があるか否かを検知する。PC200から送信指示があると検知した場合はS907へ進む。そうでない場合は要求があるまで待機する。図12(b)はデジタルカメラ100が保有するTXTレコードの一例である。TXTレコードは、ServiceTypeと紐付いており、Keyとその値から構成される。本実施形態におけるデジタルカメラ100からマルチキャストするServiceTypeは“_ptp”であり、それに紐付くTXTレコードのVersion KeyはTXTレコードのバージョンを示す。Model Keyは、デバイスのモデルの種類を示す。Product Keyは製品名を示す。Service Available Keyは、サービスが有効になったか否かを示す。有効になった場合はValueが1に更新される。GUID Keyはデジタルカメラ100のGUIDを示す。Target GUID KeyはS705で選択されたPC200のGUIDを示す。なお、図13(i)のGUIにある中断ボタンアイコン1304がユーザによって押下された場合は、制御部101は広告を中断する。
S907において、制御部101はTXTレコードを要求先のPC200へ送信する。
以上が、S713におけるデジタルカメラ100の広告処理の詳細である。
S714において、制御部101はPC200から送信されたInitCommandRequestパケットの受信を検知したか否かを検知する。InitCommandRequestパケットはPTP−IPで規定されているパケットタイプの1つであり、PCとデジタルカメラそれぞれのデバイス情報を交換したり、コマンド、データ送受信用のTCPのポート番号を確定したりする。通信部152を通じてInitCommandRequestの受信を検知した場合はS715に進む。そうでない場合はS716へ進む。
S715において、制御部101は識別子が一致するか否かを検知する。この処理では、S705もしくはS708で選択したPC200とInitCommandRequestパケットを送信したPC200が一致しているか否かを検知する。S714で受信したInitCommandRequestパケットに、PC200のGUIDが保存されている。このGUIDとペアリング情報としてS712で保存GUIDを比較し、一致していたら同一PCであると判断し、S717へ進む。そうでない場合はS718へ進む。また、GUIDの比較以外にも、選択したPCのIPアドレスとInitCommandRequestを送信したPCのIPアドレスを比較し、一致していたら同一PCであると判断してもよい。ここでは、ディスカバリ時に選択したPC200とInitCommandRequestパケットを送信したPC200が一致することを確認できる識別子であれば何でもよい。
S716において、制御部101は広告処理の有効期間であるM分経過したか否かを検知する。InitCommandRequestパケットの受信を受け付ける期間があらかじめプログラムで規定されているか、もしくはユーザの指示で設定されており、その時間を過ぎたか否かを検知する。過ぎていない場合はS714を繰り返す。そうでない場合はS723へ進む。
S717において、制御部101はInitAckパケットをPCへ送信する。S715で一致したと判定した場合は、InitCommandRequestパケットの受付を許可したことをPCへ伝えるInit Ackパケット送信する。
S718において、制御部101はInit FailパケットをPCへ送信する。S715で不一致したと判定した場合は、InitCommandRequestパケットの受付を拒否したことをPCへ伝えるInit Failパケット送信する。
S719において、制御部101はInitEventRequestパケットを受信したか否かを検知する。InitEventRequestパケットはPTP−IPで規定されているパケットタイプの1つであり、イベント送受信用のTCPのポート番号を確定する。通信部152を通じてInitEventRequestの受信を検知した場合はS720に進む。そうでない場合はS721へ進む。
S720において、制御部101はPCに対してInitAckパケットを送信する。
S721において、制御部101は広告処理の有効期間であるM分経過したか否かを検知する。S716と同様の時間が設けられており、M分経過した場合はS723へ進む。そうでない場合はS719を繰り返す。
S722において、制御部101はペアリング情報を記録する。S405およびS712でメモリ104に保存した情報を、不揮発性メモリに保存する。図14は保存するペアリング情報を示す概念図である。PC Nameは、接続したPC200の名前を示す。PC GUIDは、接続したPC200のGUIDを示す。Discovery Protocolはデバイス探索に用いたディスカバリプロトコルを示す。IPアドレスは、接続したPC200のIPアドレスを示す。SSIDは、接続したPC200に接続する際に接続したネットワークのSSIDを示す。Security Keyは、接続したPC200に接続する際に接続したネットワークの暗号キーを示す。
S723において、制御部101は接続失敗画面を表示部130に表示する。図13(j)のGUIはその一例である。
以上が、初回接続時におけるデジタルカメラのディスカバリ処理の詳細である。
[デジタルカメラのディスカバリ処理(2回目以降の接続)について]
次に、図4のS407のディスカバリの詳細について説明する。図15は、デジタルカメラ100が接続したことのあるPCと接続するディスカバリの動作を示すフローチャートである。このフローチャートは、ディスカバリ処理の図7のS701にて2回目以上接続と判定されてからS713の広告処理の開始に戻るまでの処理を示す。
まず、S1501において、制御部101はペアリング情報を参照する。メモリ104の不揮発性メモリに記録された前回接続されたペアリング情報を参照する。
S1502において、制御部101は、前回接続されたPC200のディスカバリプロトコルがUPnPであるか否かを検知する。S1501でペアリング情報のディスカバリプロトコルを参照し、UPnPであった場合はS1503へ進む。そうでない場合はS1504へ進む。
S1503において、制御部101はUPnPのデバイス検索を行う。ここでは、図8のS807、S809、S810、S811、S815と同様の処理を逐次的に行うため説明は割愛する。
S1504において、制御部101はBonjourでの機器検索を行う。ここでは、図8のS808、S812、S813、S814、S815と同様の処理を逐次的に行うため説明は割愛する。
S1505において、制御部101はPC200が発見されたか否かを検知する。S1503、またはS1504にて取得したディスクリプション、またはTXTレコードから取得したGUIDとペアリング情報のGUIDとを比較して、一致した場合は接続したことがあるPC200が発見されたと判定する。そうでない場合は、S1506へ進む。
S1506において、制御部101はL分経過したか否かを検知する、あらかじめプログラムで規定されているか、もしくはユーザが設定した時間、S1505により接続したことがあるPC200が発見されるまで処理を繰り返す。L分経過したと検知した場合はS1507へ進む。
S1507において、制御部101はPC200が未発見であるGUIを表示部130に表示する。図13(h)のGUIがその一例である。
S1505によりPCが発見された場合は、図7のS713に進み、広告処理を開始する。その後の処理は同様である。
以上が、接続したことのあるPCと接続するためのディスカバリの動作の詳細である。
[PCのディスカバリ処理について]
次に、PC200における図6のS602のディスカバリの詳細について説明する。図16は、PC200のディスカバリの動作を示すフローチャートである。
まず、S1601において、CPU203は広告処理を開始する。広告処理は、PC200のOSが基本機能として提供していたり、二次記憶装置205にインストールされるアプリケーションの機能として提供したりする。PC200は、対応するディスカバリプロトコルに則って広告処理を開始する。UPnP対応PCの場合はSSDP:Aliveをマルチキャストする。Bonjour対応PCの場合はMulticast DNS Notifyをマルチキャストする。
S1602において、CPU203は機器検索のマルチキャストを受信したか否かを検知する。デジタルカメラ100は、M−Search、またはMulticastDNS のQueryを実行してネットワーク上の機器にマルチキャストする。CPU203は通信装置206を通じてマルチキャストを受信したことを検知すると、S1601に進む。そうでない場合は、マルチキャストを受信するまで処理を続ける。
S1603において、CPU203はレスポンスを送信する。M−Searchの場合、図10(c)のResponseを送信する。Queryの場合、付加されたServiceTypeを参照して、PC200が保有している画像転送サービスであると判定した場合はデジタルカメラ100へレスポンスを送信してS1604へ進む。
S1604において、CPU203はデジタルカメラ100からディスクリプションの要求があるか否かを検知する。デジタルカメラ100はS1603においてレスポンスを受信すると続いてディスクリプションの取得の要求をPC200へ送信する。UPnPの場合、HTTP GETを実行してディスクリプションの取得を指示する。Bonjourの場合、TXTレコードの取得を指示する。CPU203は通信装置206を通じて上記のディスクリプションの送信指示を受信したと検知した場合はS1605へ進む。そうでない場合は、ディスクリプションの送信指示を検知するまで待機する。
S1605において、CPU203はディスクリプションをデジタルカメラ100へ送信する。UPnPの場合は図11(a)に示すようなDescriptionを送信する。Bonjourの場合は図12(a)に示すTXTレコードを送信する。
S1606において、CPU203はデジタルカメラ100の広告マルチキャストを受信したか否かを検知する。図9のS902またはS903にある広告処理を検知すると、S1607へ進む。そうでない場合は広告マルチキャストを受信するまで処理を続ける。
S1607において、CPU203はデジタルカメラに対してディスクリプションの送信を要求する。
S1608において、CPU203はディスクリプションを受信する。UPnPの場合は図11(b)に示すようなディスクリプションをデジタルカメラ100から受信する。Bonjourの場合は図12(b)に示すようなTXTレコードをデジタルカメラ100から受信する。
S1609において、CPU203は画像転送サービスに対応しているか否かを検知する。ディスクリプションには画像転送サービスに対応しているか否かの情報が記載されている。
そのタグを参照して、画像転送サービスに対応しているデジタルカメラであると検知した場合は、S1610に進む。そうでない場合はS1606に戻り、他のPCからの広告マルチキャストを受信するのを待つ。なお、前述の通り、本実施形態における画像転送サービスに用いられるプロトコルはPTP−IPであり、PTP−IPでの接続方法を基に説明する。
S1610において、CPU203はPTP−IPプロトコルのInitCommandRequestパケットをデジタルカメラ100へ送信する。
S1611において、CPU203はデジタルカメラ100が送信した、InitCommandRequestパケットを受け入れたことを示すInitAckパケットを受信したか否かを検知する。通信装置206を通じてInitAckパケットを受信したことを検知した場合はS1612に進む。そうでない場合はS1614に進む。
S1612において、CPU203はPTP−IPプロトコルのInitEventRequestパケットをデジタルカメラ100へ送信する。
S1613において、CPU203はデジタルカメラ100がInitEventRequestパケットを正常に処理したことを通知するInitAckパケットを受信する。
InitAckパケットを受信すると、デジタルカメラ100との接続に成功したと判断し、図6のS603へ進み、画像転送サービスを提供するアプリケーションを起動する。
S1614において、CPU203はデジタルカメラ100が送信した、InitCommandRequestパケットの受け入れを拒否したことを示すInitFailパケットを受信したか否かを検知する。InitFailパケットを受信したと検知した場合はS1615へ進む。そうでない場合は、S1611に戻り、InitCommandRequestパケット対するデジタルカメラ100のレスポンスを待つ。
S1615において、CPU203はS1614にてInitFailパケットを受信するとデジタルカメラ100との接続に失敗したと判断し、接続に失敗したことを示すGUIをPC200の表示部201に表示する。
S1616において、CPU203はデジタルカメラとの接続を終了するか否かを判定する。不図示のGUIにてユーザがPCを操作して画像転送サービスの開始を中断した場合は、接続失敗として処理し、画像転送サービスを終了する。他のデジタルカメラとの接続を待つ場合はS1602へ戻り、処理を続ける。
以上が、PCにおける図6のS602のディスカバリの処理の詳細である。
<他の実施形態>
なお、本実施形態では再生モードから無線接続を行うことを例にしたが、必ずしもこれらのモードに限定されない。例えば、撮影モードやメニューモードに無線接続ボタンを用意し、それをユーザが押下することで接続処理を進めてもよい。
また、本実施形態では無線通信機能を内蔵したデジタルカメラ100を例にあげて説明したが、無線通信が可能な記録メディアがデジタルカメラ100に装着され記録媒体141として無線通信を制御する構成としても構わない。この場合も本実施形態と同様の制御を無線通信が可能な記録メディアの不図示の無線回路部に対して行う。
さらに、デジタルカメラ100をPCなどから遠隔操作するシステムにおいても、本発明は適用可能である。この場合は、PCの制御部がデジタルカメラ100の制御部101に対して各種の問合せ及び制御の要求を行うことにより、遠隔操作で実現することが可能となる。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (1)

  1. ネットワークを介して他の機器と通信可能な撮像装置であって、
    被写体を撮影し画像データを得る撮像手段と、
    前記撮像手段により得られた画像データを記録媒体に記録する記録手段と、
    外部装置に画像データを送信する通信手段を制御する手段を有する撮像装置であって、
    前記撮像装置は、機器と接続して通信を実行するための接続モードを有し、
    前記接続モードは各機器と接続するための機器を選択する手段と、
    ネットワークに接続するための設定を入力する手段と、
    ネットワークへの接続を開始すると無線接続を実行する手段を有し、
    前記撮像装置は、機器の探索を行う複数のプロトコルを有し、
    前記撮像装置は、画像データを転送するプロトコルを有し、
    接続したことがない情報処理装置と接続する場合、前記撮像装置は前記無線接続してネットワークに参加すると、有している複数のプロトコルを用いて機器の探索を行う手段を有し、
    機器の探索で得た情報処理装置に固有の情報を保存する手段を有し、
    機器の探索の結果を撮像装置の表示部に表示する手段を有し、
    ユーザの指示によって機器が選択されたことを検知することをきっかけに、前記撮像装置は選択した機器を発見したプロトコルで広告処理を行い、
    接続する機器から送信された接続の要求を受けると、接続の要求で取得した機器に固有な情報と、機器の探索を行ったときに保存した固有の情報を比較し、一致していたら機器と接続してペアリング情報を保存し、
    接続したことがある機器と接続する場合は、前記ペアリング情報を参照して機器を発見したプロトコルのみで機器の探索を行い、機器が発見されると機器を発見したプロトコルのみで広告処理を行い、
    接続する機器から送信された接続の要求を受けると、接続の要求で取得した機器に固有な情報と、機器の探索を行ったときに保存した固有の情報を比較し、一致していたら機器と接続することを特徴とする撮像装置。
JP2011265313A 2011-12-02 2011-12-02 撮像手段を有する通信装置およびその制御方法 Expired - Fee Related JP5425168B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2011265313A JP5425168B2 (ja) 2011-12-02 2011-12-02 撮像手段を有する通信装置およびその制御方法
PCT/JP2012/081012 WO2013081082A1 (en) 2011-12-02 2012-11-22 Communication apparatus and method of controlling the same
US14/347,416 US20140241210A1 (en) 2011-12-02 2012-11-22 Communication apparatus and method of controlling the same
CN201280058790.8A CN103959827B (zh) 2011-12-02 2012-11-22 通信装置及其控制方法
DE112012005034.7T DE112012005034T5 (de) 2011-12-02 2012-11-22 Kommunikationsvorrichtung und Verfahren zur Steuerung der Vorrichtung
BR112014009202A BR112014009202A8 (pt) 2011-12-02 2012-11-22 aparelho de comunicação e método para controle do mesmo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011265313A JP5425168B2 (ja) 2011-12-02 2011-12-02 撮像手段を有する通信装置およびその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2013241265A Division JP2014060783A (ja) 2013-11-21 2013-11-21 撮像装置

Publications (3)

Publication Number Publication Date
JP2013118534A true JP2013118534A (ja) 2013-06-13
JP2013118534A5 JP2013118534A5 (ja) 2013-08-29
JP5425168B2 JP5425168B2 (ja) 2014-02-26

Family

ID=48535530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011265313A Expired - Fee Related JP5425168B2 (ja) 2011-12-02 2011-12-02 撮像手段を有する通信装置およびその制御方法

Country Status (6)

Country Link
US (1) US20140241210A1 (ja)
JP (1) JP5425168B2 (ja)
CN (1) CN103959827B (ja)
BR (1) BR112014009202A8 (ja)
DE (1) DE112012005034T5 (ja)
WO (1) WO2013081082A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015039136A (ja) * 2013-08-19 2015-02-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10638521B2 (en) 2018-05-08 2020-04-28 Olympus Corporation Electronic device, communication method, and storage medium storing communication program
WO2020095632A1 (ja) * 2018-11-07 2020-05-14 パナソニックIpマネジメント株式会社 通信装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130134585A (ko) * 2012-05-31 2013-12-10 한국전자통신연구원 휴대 단말의 센싱 정보 공유 장치 및 방법
JP2015036900A (ja) * 2013-08-13 2015-02-23 キヤノン株式会社 情報処理装置およびその制御方法、プログラム
US9596143B2 (en) * 2014-07-25 2017-03-14 Cohesity, Inc. Node discovery and cluster formation for a secondary storage appliance
CN104185249B (zh) * 2014-07-31 2015-11-11 合一网络技术(北京)有限公司 基于安卓系统的局域网设备发现方法及动态链接库

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328271A (ja) * 2003-04-23 2004-11-18 Canon Inc 撮像装置及びそのデータ送信制御方法
JP2006108899A (ja) * 2004-10-01 2006-04-20 Matsushita Electric Ind Co Ltd 通信端末装置、電化機器及び通信方法
JP2006295504A (ja) * 2005-04-08 2006-10-26 Canon Inc 情報通信装置及びプロトコル選定方法
JP2007060631A (ja) * 2005-07-29 2007-03-08 Ricoh Co Ltd 画像転送システムおよび画像転送方法
JP2011049857A (ja) * 2009-08-27 2011-03-10 Canon Inc 撮像装置、制御装置、それらの制御方法、プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889188B2 (en) * 2002-11-22 2005-05-03 Intel Corporation Methods and apparatus for controlling an electronic device
US20060168320A1 (en) * 2004-12-30 2006-07-27 Kidd Nelson F Network topology discovery service
KR100714708B1 (ko) * 2006-01-12 2007-05-04 삼성전자주식회사 홈 네트워크에서 디바이스 간 호환성을 지원하는 미들웨어장치 및 그 방법
US7821955B2 (en) * 2006-12-28 2010-10-26 Motorola, Inc. Universal Plug-and-Play latency and delay compensation
JP5425167B2 (ja) * 2011-12-02 2014-02-26 キヤノン株式会社 撮像手段を有する通信装置およびその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328271A (ja) * 2003-04-23 2004-11-18 Canon Inc 撮像装置及びそのデータ送信制御方法
JP2006108899A (ja) * 2004-10-01 2006-04-20 Matsushita Electric Ind Co Ltd 通信端末装置、電化機器及び通信方法
JP2006295504A (ja) * 2005-04-08 2006-10-26 Canon Inc 情報通信装置及びプロトコル選定方法
JP2007060631A (ja) * 2005-07-29 2007-03-08 Ricoh Co Ltd 画像転送システムおよび画像転送方法
JP2011049857A (ja) * 2009-08-27 2011-03-10 Canon Inc 撮像装置、制御装置、それらの制御方法、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015039136A (ja) * 2013-08-19 2015-02-26 キヤノン株式会社 通信装置、通信方法、及びプログラム
US10638521B2 (en) 2018-05-08 2020-04-28 Olympus Corporation Electronic device, communication method, and storage medium storing communication program
WO2020095632A1 (ja) * 2018-11-07 2020-05-14 パナソニックIpマネジメント株式会社 通信装置

Also Published As

Publication number Publication date
WO2013081082A1 (en) 2013-06-06
JP5425168B2 (ja) 2014-02-26
BR112014009202A2 (pt) 2017-06-13
CN103959827A (zh) 2014-07-30
CN103959827B (zh) 2018-05-25
BR112014009202A8 (pt) 2017-06-20
DE112012005034T5 (de) 2014-08-21
US20140241210A1 (en) 2014-08-28

Similar Documents

Publication Publication Date Title
JP5425167B2 (ja) 撮像手段を有する通信装置およびその制御方法
JP5425168B2 (ja) 撮像手段を有する通信装置およびその制御方法
RU2593272C2 (ru) Устройство обработки информации и способ управления таким устройством
US9826021B2 (en) Communication apparatus and method for controlling the same
WO2009090707A1 (ja) 通信端末装置及び通信機器接続制御方法
JP4125223B2 (ja) 通信装置及び撮像装置並びにその制御方法及びネットワークシステム
US20220286731A1 (en) Multimedia apparatus and cast method
US9900829B2 (en) Communication device, method for controlling the communication device, and program
JP7143071B2 (ja) 通信装置、通信システム、通信方法、及び、プログラム
JP2014042353A (ja) 撮像装置
US20170302879A1 (en) Communication apparatus, control method thereof, information processing apparatus, and recording medium
JP2014060783A (ja) 撮像装置
RU2574775C1 (ru) Аппарат связи и способ управления таким аппаратом
RU2574835C1 (ru) Устройство связи и способ управления таким устройством
JP6512882B2 (ja) 通信機器およびその制御方法
JP5775562B2 (ja) 情報処理装置及びその制御方法、及び、プログラム
JP6101312B2 (ja) 通信装置及びその制御方法及びプログラム
WO2020095632A1 (ja) 通信装置
JP2021022797A (ja) 通信装置
JP2017192069A (ja) 通信装置およびその制御方法、プログラム
JP2006080749A (ja) プロトコル機能制御方法
JP2017085246A (ja) 通信装置およびその制御方法、通信システムとプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130717

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130717

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131010

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131126

R151 Written notification of patent or utility model registration

Ref document number: 5425168

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees