以下、図面を参照して本発明の実施形態を説明する。図1は、本発明の一実施形態における通信装置を備えた通信システムの構成を示す図である。通信システムは、複数の通信装置(図1の例では通信装置100及び通信装置200)を有している。通信装置100と通信装置200とは複数の通信経路で互いに通信自在に構成されている。通信装置100は、例えば表示部を有さないレンズ型の撮像装置である。また、通信装置200は、例えばスマートフォンである。
第1通信装置としての通信装置100は、撮像部102と、通信部104と、記録部106と、制御部108とを有している。
撮像部102は、撮影レンズと、撮像素子と、アナログ/デジタル(A/D)変換回路等を有している。撮影レンズは、図示しない被写体の像を撮像素子に結像するための光学系である。撮像素子は、撮影レンズを介して結像された被写体の像を電気信号(画像信号)に変換する。A/D変換回路は、撮像素子で得られた画像信号をデジタル信号(画像データ)に変換する。
通信部104は、少なくとも通信装置200との通信を行う。通信部104は、複数(通信経路に対応した通信部(図1の例では第1通信部1041、第2通信部1042、第3通信部1043の3つ)を有している。第1通信部1041は、例えばUSB通信を行う。第2通信部1042は、例えばWiFi通信を行う。第3通信部1043は、例えばBluetooth(登録商標)通信を行う。
記録部106は、例えば通信装置100に内蔵されたフラッシュメモリである。記録部106には、制御部108において生成された撮影画像が画像ファイルの形式で記録される。また、記録部106には、優先度データベース1061が記録されている。優先度データベースは、通信部104のそれぞれの通信機能に対して使用される通信経路の優先度の設定を記憶したデータベースである。
図2は、優先度データベース1061の例を示す図である。図2の例において、優先度は1位が最も高く、3位が最も低いものである。基本的には、大容量通信を行うことができる通信経路に対して高い優先度が設定される。例えば、USB通信は、WiFi通信やBluetooth通信に比べて大容量通信を行うことができる。したがって、基本的には、第1通信部1041は、第2通信部1042、第3通信部1043よりも高い優先度を有している。また、WiFi通信とBluetoothとでは、WiFi通信のほうがBluetooth通信に比べて大容量通信を行うことができる。したがって、基本的には、第2通信部1042は、第3通信部1043よりも高い優先度を有している。
また、図2では、通信機能の例として、ライブビュー転送の機能(LV)、ライブビューバックアップの機能(BU)、レックビュー転送の機能(RV)、ファイル転送の機能(File)、コマンド通信の機能(Com)、情報通信の機能(Info)についての優先度の設定が示されている。ライブビュー転送の機能は、ライブビュー表示用の画像データを転送する機能である。ライブビューバックアップの機能は、ライブビュー転送をしている通信部が切断中となったときのためのライブビュー表示用のバックアップの画像データを転送する機能である。バックアップのものであるため、ライブビューバックアップの機能については、ライブビュー転送とは同じ通信経路は使用されない。また、ライブビューバックアップの機能は、例えばユーザの設定によっては使用されなくても良い。レックビュー転送の機能は、撮影画像を撮影直後に通信装置200の表示部に表示させるために撮影画像を転送する機能である。ファイル転送は、例えば記録部106に記録されている画像ファイルを転送する機能である。ファイル転送の機能はJPEGファイル転送、RAWファイル転送、動画(MOV)ファイル転送の3つに分けられており、ファイルの種類毎に優先度が設定される。コマンド通信の機能は、通信装置100の制御コマンドを通信する機能である。制御コマンドは、例えばカメラ機能の起動コマンド、撮影コマンドといったものを含む。情報通信の機能は、通信装置100の情報を通信する機能である。情報は、例えば、通信装置100の機種名、撮影条件といったものを含む。
図2(a)は、第1通信部1041を最優先にして通信を実行する設定例である。すなわち、図2(a)の例では、ライブビュー転送の機能、レックビュー転送の機能、ファイル転送の機能、コマンド通信の機能、情報通信の機能は、第1通信部1041に割り当てられている。一方、ライブビューバックアップの機能は、第2通信部1042に割り当てられている。
図2(b)は、ライブビュー転送の機能を他の通信機能よりも優先して通信を実行する設定例である。すなわち、図2(b)の例では、ライブビュー転送の機能、レックビュー転送の機能、コマンド通信の機能は、第1通信部1041に割り当てられている。一方、ライブビューバックアップの機能、ファイル転送の機能、情報通信の機能は、第2通信部1042に割り当てられている。図2(b)の例では、第1通信部1041に割り当てる通信機能を減らすことにより、ライブビュー転送用の通信容量に余裕を持たせることが可能である。
図2(c)は、即時応答性が必要な場合の設定例である。すなわち、図2(c)の例では、図2(b)の例に対して、JPEGファイル転送は第1通信部1041に割り当てられている。ライブビュー転送、レックビュー転送、JPEGファイル転送のみを第1通信部1041を用いて行うことにより、撮影画像の確認及び転送が素早く行われ得る。
図2(d)は、ファイル転送を重視する場合の設定例である。すなわち、図2(d)の例では、図2(a)の例に対して、ファイル転送は、複数の通信部に割り当てられている。この例では、1つのファイルが分割され、分割したファイルを複数の通信部で並列的に転送され、通信装置200において分割されていたファイルが結合される。複数の通信部を用いて転送が行われるので、高速の通信が可能である。
図2(a)〜図2(d)で示した設定は、優先度データベース1061に記憶されており、必要に応じて制御部108によって読み出される。そして、読み出した設定に従って通信機能の割り当てが行われる。この割り当ての結果、それぞれの通信機能における通信の際には、接続中の通信部の中で最も高い優先度を有している通信部が使用される。ただし、未使用に設定されている通信部は、接続中であっても使用されない。例えば、図2(a)の設定が優先度データベース2101になされている状態において、第1通信部1041による通信経路が接続中である場合、制御部212は、ライブビュー転送の機能、レックビュー転送の機能、ファイル転送の機能、コマンド通信の機能、情報通信の機能を第1通信部1041に割り当てる。また、制御部212は、ライブビューバックアップの機能を第2通信部1042に割り当てる。一方、第2通信部1042及び第3通信部1043による通信経路が接続中であり、第1通信部1041による通信経路が切断中である場合、制御部212は、ライブビュー転送の機能、レックビュー転送の機能、ファイル転送の機能、コマンド通信の機能、情報通信の機能を第2通信部1042に割り当てる。
なお、優先度データベース1061の設定は、少なくとも2つの通信部が接続中のときに有効な設定である。1つの通信部のみが接続中である場合には、優先度データベース1061の内容によらずに接続中の通信部が使用される。
ここで、図2(a)〜図2(d)で示した設定は一例であって適宜変更可能である。また、優先度データベース1061には、図2(a)〜図2(d)で示した設定の全てが記憶されている必要はない。さらに、ユーザが優先度データベース1061の内容を設定できるようにしても良い。このように装置、機器には機能によって通信の優先度やデータ容量に差異があって、状況に応じて適宜、機能毎に最適な通信や、フェールセーフ通信が切り換えられる事が好ましい。また、状況に応じて、どの機能が重要かも異なってくる。例えば、対象物の観察開始前の設定時にはリアルタイムな画像が重要であり、観察や撮影においては高精細な画像が重要だったりする。画像データは重いが、コマンドは通信上、軽いという特徴がある。
制御部108は、CPUやASICにより構成され、通信装置100の全体的な動作を制御する。制御部108は、撮像制御部1081と、画像処理部1082と、通信機能割当部1083と、通信状況判断部1084と、通信制御部1085とを有している。撮像制御部1081は、撮像部102における撮像動作を制御する。画像処理部1082は、撮像部102で得られた画像データに対して各種の画像処理を施すことにより、ライブビュー画像データや撮影画像データ等を生成する。通信機能割当部1083は、優先度データベース1061の設定に従って通信部104のそれぞれの通信部に通信機能を割り当てる。通信状況判断部1084は、通信部104の通信経路毎の接続状況を判断する。通信制御部1085は、通信機能割当部1083による割り当てに従って通信部による通信を制御する。なお、通信状況判断部1084は、単に通信そのものを判定するのみならず、通信装置の環境や状態などを判定可能としても良い。通信状況判断部1084は、GPS、高度計、温度計、バッテリーチェック機能を有していれば、それらの結果を含めて判断できるようにすることもできる。
第2通信装置としての通信装置200は、表示部202と、タッチパネル204と、操作部206と、通信部208と、記録部210と、制御部212とを有している。通信装置200は、通信装置100を制御することによってユーザにカメラ機能を提供するカメラアプリケーションを少なくとも有している。
表示部202は、例えば液晶ディスプレイであり、各種の画像を表示する。例えば、表示部202は、通信装置100から転送されてきたライブビュー用の画像データに基づくライブビューや記録部106に記録されている画像ファイルに基づく画像を表示する。
タッチパネル204は、表示部202の表示画面に重ねられるようにして設けられている。タッチパネル204は、ユーザのタッチ操作を検出する。操作部206は、電源ボタン等のタッチパネル204とは別の操作部である。
通信部208は、少なくとも通信装置100との通信を行う。通信部208は、複数の通信経路に対応した通信部(図1の例では第1通信部2081、第2通信部2082、第3通信部2083の3つ)を有している。第1通信部2081は、例えばUSB通信を行う。第2通信部2082は、例えばWiFi通信を行う。第3通信部2083は、例えばBluetooth通信を行う。
記録部210は、例えば通信装置200に内蔵されたフラッシュメモリである。記録部210には、通信装置200において各種の機能を動作させるためのアプリケーションが記録される。また、記録部210には、通信装置100と同様の優先度データベース2101が記録されている。
制御部212は、CPUやASICにより構成され、通信装置200の全体的な動作を制御する。制御部212は、表示制御部2121と、通信機能割当部2123と、通信状況判断部2124と、通信制御部2125とを有している。表示制御部2121は、表示部202における表示動作を制御する。また、表示制御部2121は、通信経路の状態を表す表示を表示部202に表示させる。通信機能割当部2123は、優先度データベース2101の設定に従って通信部208のそれぞれの通信部に通信機能を割り当てる。通信状況判断部2124、通信部208の通信経路毎の接続状況を判断する。通信制御部2125は、通信機能割当部2123による割り当てに従って通信部による通信を制御する。
以下、本実施形態の通信システムの動作について説明する。なお、以下の説明において特に断りがないときには、通信装置100の第1通信部1041と通信装置200の第1通信部2081とをまとめて第1通信部と記す。同様に、通信装置100の第2通信部1042と通信装置200の第2通信部2082とをまとめて第2通信部と記す。また同様に、通信装置100の第3通信部1043と通信装置200の第3通信部2083とをまとめて第3通信部と記す。
通信装置100は、例えばレンズ型撮像装置である。レンズ型撮像装置は、レンズ鏡筒状の筐体内に図1で示した各ブロックを有している。このようなレンズ型撮像装置としての通信装置100は、例えば図3(a)に示すように通信装置200とケーブル300を介して接続され得る。このとき、通信装置100と通信装置200の第1通信部による通信経路が接続中になる。本実施形態では、第1通信部、第2通信部、第3通信部の何れかによる通信経路が接続中になったとき、残りの通信部による通信経路の接続も試みられる。図3(a)では、第2通信部によるWiFi通信が確立され、第3通信部によるBluetooth通信が確立されなかった例が示されている。
図3(a)のような状態において、ユーザは、通信装置200を操作してカメラアプリケーションを起動する。このとき、通信装置200の表示部202には、図3(b)に示すように、通信装置100から通信装置200に転送されたライブビュー画像202aが表示される。また、本実施形態では、通信装置100と通信装置200との間の通信経路の状態を表す表示であるアイコン202b、202c、202dも表示される。通信経路の状態とは、例えば、対応する通信経路が現在の通信に使用されているか、対応する通信経路が単に接続中であるか、対応する通信経路が切断中であるかを含む。アイコン202bは、第1通信部による通信経路の状態を示している。図3(b)の例では、アイコン202bは「使用中(LV)」となっている。これにより、ユーザは、ライブビュー転送に第1通信部が使用されていることを知ることができる。また、アイコン202cは「接続中」となっている。これにより、ユーザは、第2通信部による通信経路は接続中であるがデータ通信には使用されていないことを知ることができる。さらに、アイコン202dは「未接続」となっている。これにより、ユーザは、第3通信部による通信経路は切断中であることを知ることができる。図3(b)では文字表示であるが、文字表示に限る物ではないことは言うまでもない。
ユーザは、通信機能の割り当てを変更する場合に、例えばアイコン202b、202c、202dの何れかをタッチする。このとき、図3(c)に示すように、現在の通信経路毎の通信機能の割り当ての一覧が表示される。この一覧は、通信装置100と通信装置200との間で利用可能な通信機能を示すアイコン202eと、それぞれの通信機能に関連付けられた通信経路を示すアイコン202fとを含む。例えば、ユーザによってアイコン202fがタッチされると通信経路のリストが表示される。ユーザは、リストの中から所望の通信経路を選択する。これを受けて通信装置200は、通信経路に対する通信機能の割り当てを変更する。この割り当ては、通信装置100においても共有される。ここで、重要な機能については、現状の通信がNGになっても、フェールセーフ用の通信が可能である旨を表示できるようにしても良い。これによって、USBが切れてもWiFiで挽回するような安心感をユーザに与えることができる。
それぞれの通信経路に対して通信機能の割り当てがされている状態において、優先度の高い通信経路が切断されると、それよりも優先度の低い通信経路を利用して通信が行われる。例えば、図3(d)に示すように、通信装置200からケーブル300が外れてしまい、第1通信部による通信経路が切断されたとき、接続中である第2通信部による通信経路を用いて通信が行われる。すでに接続中の通信経路で通信が行われるので通信経路の切断による影響を最小化することが可能である。これによって、集中した操作の中断による機会損失を最低限にすることができる。通信ができている状態で、この通信が途切れた場合(NG時)に、代替通信をどうするかを機器間でネゴシエーションしておくことによって、こうした効果(フェールセーフ効果)が期待できるが、通信時に関わらず、あらかじめ各機器に同様の設定をしておくことによってもこのフェールセーフ効果は達成可能である。ただし、対応する機器の候補が増えるにつれ、また、状況が様々に変わるようなシーンでは、そのシーン毎に、フェールセーフ策は異なるので、現状の通信時に次の候補を決められる方が臨機応変な対応ができる。こうしたフェールセーフ用のコマンド通信は、画像通信ほどには重いデータを扱う必要はないので、高速簡便に機器間で通信共有が可能である。よって、シーンや条件毎に臨機応変にフェールセーフ策を決め、通信、ネゴシエーションできるようにしても良い。この条件の例としては、「通信が切れた場合」の他、通信が遅くなった場合、電池が消耗した場合、場所を移動する場合、温度が低下した場合、要求の通信スピードが変化した場合、無線が使える環境ではなくなった場合などがあるが、これらを列挙して説明すると煩雑になるので以下に簡単に列挙する。
・場所の変化(近→遠) 機能A、通信方式X、機能B、通信方式X
・場所の変化(遠→近) 機能A、通信方式Y、機能B、通信方式Y
・温度低下 機能A、通信方式X、機能B、通信方式Z
・電池消耗 機能A、通信方式Z、機能B、通信方式Z
なお、フェールセーフの通信方式は、機器の電源設計やアンテナ設計、コネクタ設計等によって、最適なタイプに変更した方が良いことは言うまでもない。また、有線がフェールセーフとなる場合もあり、この場合は、そのコネクタ部を有効にする等、それ相応の制御が行われたり、ユーザに有線接続を示唆するアドバイスを音声や視覚情報で認知せしめたりするような工夫が行われる。通信方式によっては、セキュリティの問題もありパスワードの設定などが必要になるが、こうしたネゴシエーションであらかじめ、そうした手続きが自動で行われる。
図4は、本実施形態の通信システムにおける概念的な動作を示すフローチャートである。図4の処理は、通信装置200の制御部212と通信装置100の制御部108の少なくとも何れかにおいて行われる。以下では、両者を区別せずに制御部として説明する。
ステップS101において、制御部は、通信経路の接続状況に変化があるか否かを判定する。通信経路の接続状況に変化がある場合とは、今まで接続中でなかった通信経路が新たに接続された場合又は今まで接続中であった通信経路が切断された場合である。ステップS101において通信経路の接続状況に変化があると判定された場合には、処理はステップS102に移行する。ステップS101において通信経路の接続状況に変化がないと判定された場合には、処理はステップS105に移行する。
ステップS102において、制御部は、全ての通信経路が切断されたか否かを判定する。ステップS102において全ての通信経路が切断されたと判定された場合に、図4の処理は終了される。ステップS102において全ての通信経路が切断されていないと判定された場合に、処理はステップS103に移行する。
ステップS103において、制御部は、現在の通信経路の状態と優先度データベースの内容とに従って通信経路に通信機能を割り当てる。このとき、制御部は、優先度データベースを参照して、接続中の通信経路の中で最も高い優先度を有する通信経路に対してそれぞれの通信機能を割り当てる。その他、ライブビュー転送等の他の通信において転送する画像データのサイズを小さくしたり、圧縮率を小さくしたりする処理の他、転送のフレームレートを落としたりする処理が考えられる。その後、処理はステップS104に移行する。
ステップS104において、制御部は、ステップS103において通信機能を割り当てた通信部を使用して各種の通信処理を実行する。その後、処理はステップS101に戻る。
ステップS105において、制御部は、ファイル転送を優先するか否かを判定する。ファイル転送を優先する場合とは、例えば大容量の画像ファイルを転送する必要のある場合である。ステップS105においてファイル転送を優先しないと判定された場合に、処理はステップS101に戻る。ステップS105においてファイル転送を優先すると判定された場合に、処理はステップS106に移行する。
ステップS106において、制御部は、ファイル転送優先処理を行う。その後、処理はステップS101に戻る。ファイル転送優先処理としては、例えば、図2(d)のように、複数の通信経路に対してファイル転送の機能を割り当てる処理である。この他、ライブビュー転送等の他の通信において転送する画像データのサイズを小さくしたり、圧縮率を小さくしたりする処理の他、転送のフレームレートを落としたりする処理が考えられる。
図5は、本実施形態の通信システムにおける概念的な動作の変形例を示すフローチャートである。図5の処理も、通信装置200の制御部212と通信装置100の制御部108の少なくとも何れかにおいて行われる。以下では、両者を区別せずに制御部として説明する。
ステップS201において、制御部は、通信経路の接続状況に変化があるか否かを判定する。ステップS201において通信経路の接続状況に変化があると判定された場合には、処理はステップS202に移行する。ステップS201において通信経路の接続状況に変化がないと判定された場合には、処理はステップS206に移行する。
ステップS202において、制御部は、未起動の通信経路を起動する。その後、処理はステップS203に移行する。例えば、第1通信部による通信経路の接続が確認され、かつ、第2通信部が接続中である場合、制御部は、第3通信部による通信経路を起動することを試みる。また、例えば、第1通信部による通信経路の切断が確認され、かつ、第2通信部が接続中である場合、制御部は、第1通信部及び第3通信部による通信経路を起動することを試みる。
ステップS203において、制御部は、全ての通信経路が切断されたか否かを判定する。ステップS203において全ての通信経路が切断されたと判定された場合に、図5の処理は終了される。ステップS203において全ての通信経路が切断されていないと判定された場合に、処理はステップS204に移行する。
ステップS204において、制御部は、現在の通信経路の状態と優先度データベースの内容とに従って通信経路に通信機能を割り当てる。通信方式の他、ライブビュー転送等の他の通信において転送する画像データのサイズを小さくしたり、圧縮率を小さくしたりする処理の他、転送のフレームレートを落としたりする処理が考えられる。その後、処理はステップS205に移行する。
ステップS205において、制御部は、ステップS204において通信機能を割り当てた通信部を使用して各種の通信処理を実行する。その後、処理はステップS201に戻る。
ステップS206において、制御部は、ファイル転送を優先するか否かを判定する。ステップS206においてファイル転送を優先しないと判定された場合に、処理はステップS201に戻る。ステップS206においてファイル転送を優先すると判定された場合に、処理はステップS207に移行する。
ステップS207において、制御部は、ファイル転送優先処理を行う。その後、処理はステップS201に戻る。
図6A及び図6Bは、本実施形態の通信システムにおける通信装置200の動作の具体例としての通信装置200のアプリケーションでカメラ機能が選択された場合の動作を示すフローチャートである。図6A及び図6Bの処理は、制御部212によって制御される。ここで、図6A及び図6Bの処理は、図4の処理の具体例である。図5の処理のように、未起動の通信経路の起動を実行する処理が追加されても良い。
ステップS301において、制御部212は、記録部210に記録されたアプリケーションを表すアイコンを表示部202に表示させる。アイコンは、少なくともカメラアプリケーションに対応したアイコンを含んでいる。
ステップS302において、制御部212は、カメラの起動指示がされたか否かを判定する。例えば、表示部202に表示されているカメラアプリケーションのアイコンがタッチされた場合にカメラの起動指示がされたと判定される。ステップS302においてカメラの起動指示がされていないと判定された場合に、処理はステップS303に移行する。ステップS302においてカメラの起動指示がされたと判定された場合に、処理はステップS304に移行する。
ステップS303において、制御部212は、その他の処理を実行する。その他の処理とは、例えば電話機能に関する処理、電子メール機能に関する処理である。その他の処理の詳細については説明を省略する。
ステップS304において、制御部212は、優先度データベース2101の設定に従ってそれぞれの通信経路に通信機能を割り当てる。このとき、制御部212は、優先度データベース2101を参照して、接続中の通信経路の中で最も高い優先度を有する通信経路に対してそれぞれの通信機能を割り当てる。なお、優先度データベース2101の初期設定は、例えば図2(a)の設定であるとする。
ステップS305において、制御部212は、コマンド通信用の通信経路を使用して共有コマンドを通信装置100に送信する。共有コマンドは、通信機能の割り当ての設定を通信装置100と共有するためのコマンドである。
ステップS306において、制御部212は、通信装置100から共有コマンドを受けたか否かを判定する。ステップS306において通信装置100から共有コマンドを受けたと判定された場合には、処理はステップS307に移行する。ステップS306において通信装置100から共有コマンドを受けていないと判定された場合には、処理はステップS308に移行する。なお、通信装置100(撮像装置)は、共有コマンドを送る機能を持たない場合もあり、その場合は、これらの処理は不要で、ネットワーク通信やメモリカードの差し込みやPCでの設定等、その他の代替手段での切り換えも可能である。
ステップS307において、制御部212は、前記通信機能の割り当ての設定又は共有コマンドに従ってそれぞれの通信経路の割り当てを変更する。ステップS308において、制御部212は、ライブビュー転送用の通信経路を介してライブビュー画像を受信するとともに、ライブビューバックアップ用の通信経路を介してライブビューバックアップ画像を受信する。そして、制御部212は、ライブビュー画像又はライブビューバックアップ画像に基づいて表示部202にライブビューを表示させる。ライブビュー画像とライブビューバックアップ画像の両方が受信されたときには、制御部212は、ライブビュー画像に基づいて表示部202にライブビューを表示させる。一方、ライブビューバックアップ画像のみが受信された場合には、制御部212は、ライブビューバックアップ画像に基づいて表示部202にライブビューを表示させる。
ステップS309において、制御部212は、通信装置(撮像装置等)100と通信装置(スマートフォン等)200との間の通信経路の状態を示す、図2(b)に示すようなアイコン202b、202c、202dを表示部202に表示させる。これによって、ユーザは、通信状態や通信NG時のフェールセーフ等を確認しながら安心して機器の操作を行うことができる。状況に応じて、通信状態を切り換える等、様々な操作時の確認や意思決定に重要な役割を果たすものである。特に、無線などは有線と異なり、目で見ての通信状況が分かりにくいので、こうした工夫が有効になる。また、さらに機器の機能毎に通信設定を行えるようにしても良い。
ステップS310において、制御部212は、ユーザによって通信機能の割り当ての変更操作がされたか否かを判定する。例えば、図2(c)に示すような画面上で通信経路の選択がされた場合に割り当ての変更操作がなされたと判定される。ステップS310においてユーザによる通信機能の割り当ての変更操作がなされたと判定された場合には、処理はステップS311に移行する。ステップS310においてユーザによる通信機能の割り当ての変更操作がなされていないと判定された場合には、処理はステップS313に移行する。ここで、重要な機能については、現状の通信がNGになっても、フェールセーフ用の通信が可能である旨を表示できるようにしても良い。これによって、USBが切れてもWiFiで挽回するような安心感をユーザに与えることができる。なお、ここでは、カメラの例で観察操作が非常に重要であるために、フェールセーフ、挽回等のステップを入れている。この画像観察が途切れると、目視確認が出来なくなって、機器が壊れたかのような印象を受ける。また、観察対象を見失うと、ユーザの判断も誤ってしまう。さらには、観察結果で機器を操作する場合は多く、これを見ながらピントや露出を合わせて、あるいは機器そのものの移動制御なども行う場合がある。これを想定すると、ライブビュー時のフェールセーフで、他の通信に切り替わることは重要である。このフェールセーフは、ライブビューの通信持続のみならず、フレームレートの変更や画質の変更を伴うものでも良い。こうした事も含めてネゴシエーションが重要である。もちろん、ライブビュー(観察)に関わらず、機器や目的に応じて、適宜、このような手当の措置が重要であることは言うまでもない。ここでは、説明を簡単化するために、S310のタイミングで特に、これらのステップを入れた。
ステップS311において、制御部212は、ユーザ操作に従ってそれぞれの通信経路に通信機能を割り当てる。ステップS312において、制御部212は、コマンド通信用の通信経路を使用して共有コマンドを通信装置100に送信する。これにより、通信装置200においてなされた通信機能の割り当ての変更内容が通信装置100においても共有される。これは、この例では操作しているユーザが通信装置200を手にしている例を元に説明しているからで、もちろん、通信装置100から通信装置200に送信してネゴシエーションするような応用も考えられる。また、別の操作装置が遠隔の通信装置200に命じて、通信装置100を設定するような場合も想定している。本発明は、頻繁に、さらに機能毎に通信設定が変えられるので、別の操作装置が、通信装置100と200に同時に設定を行う場合もありうる。
ステップS313において、制御部212は、ユーザによって撮影操作がされたか否かを判定する。例えば、操作部206の所定のボタンの操作がされた場合又はタッチパネル204を介してタッチレリーズ操作がされた場合にユーザによって撮影操作がされたと判定される。ステップS313においてユーザによって撮影操作がされたと判定された場合に、処理はステップS314に移行する。ステップS313においてユーザによって撮影操作がされていないと判定された場合に、処理はステップS321に移行する。
ステップS314において、制御部212は、通信経路の接続状況に変化があるか否かを判定する。ステップS314において通信経路の接続状況に変化があると判定された場合には、処理はステップS315に移行する。ステップS314において通信経路の接続状況に変化がないと判定された場合には、処理はステップS317に移行する。
ステップS315において、制御部212は、優先度データベース2101の設定に従ってそれぞれの通信経路に通信機能を割り当てる。ステップS316において、制御部212は、コマンド通信用の通信経路を使用して共有コマンドを通信装置100に送信する。これにより、通信装置200においてなされた通信機能の割り当ての変更内容が通信装置100においても共有される。なお、ここでは、カメラの例で撮影操作が非常に重要であるために、フェールセーフ、挽回等のステップを入れているが、もちろん、撮影に関わらず、機器や目的に応じて、適宜、このような手当の措置が重要であることは言うまでもない。ここでは、説明を簡単化するために、S313のYの後で特に、これらのステップを入れた。
ステップS317において、制御部212は、コマンド通信用の通信経路を使用して撮影コマンドを通信装置100に送信する。
ステップS318において、制御部212は、通信装置100から共有コマンドを受けたか否かを判定する。ステップS318において通信装置100から共有コマンドを受けたと判定された場合には、処理はステップS319に移行する。ステップS318において通信装置100から共有コマンドを受けていないと判定された場合には、処理はステップS320に移行する。
ステップS319において、制御部212は、共有コマンドに従ってそれぞれの通信経路の割り当てを変更する。これにより、通信装置100においてなされた通信機能の割り当ての変更内容が通信装置200においても共有される。これらの考え方は、機器間で、機能別に通信方式を個別に設定するとか、フェールセーフをどうするかといったネゴシエーションを行っておくといった内容であって、どちらからどちらに指定が行われても良いことは前述した通りである。実際に制御される機能を持つ機器が、それぞれの機能に合わせた要求をする例で書いているが、どのような機能があるかを、もう一方の通信機器が把握しているような場合もある。また、演算スピードが速い機器が、通信状況や相手の機器の実力を判定して共有コマンド指定をしても良い。このとき、ネット連携して、別の機器と機能分担してもよい。
ステップS320において、制御部212は、レックビュー転送用の通信経路を介してレックビュー画像を受信する。そして、制御部212は、レックビュー画像に基づいて表示部202にレックビューを表示させる。
ステップS321において、制御部212は、ユーザによってファイル転送操作がされたか否かを判定する。例えば、所定のボタンの操作又は所定のタッチ操作がされた場合にユーザによってファイル転送操作がされたと判定される。ステップS321においてユーザによってファイル転送操作がされたと判定された場合に、処理はステップS322に移行する。ステップS321においてユーザによってファイル転送操作がされていないと判定された場合に、処理はステップS331に移行する。
ステップS322において、制御部212は、通信経路の接続状況に変化があるか否かを判定する。ステップS322において通信経路の接続状況に変化があると判定された場合には、処理はステップS323に移行する。ステップS322において通信経路の接続状況に変化がないと判定された場合には、処理はステップS325に移行する。
ステップS323において、制御部212は、優先度データベース2101の設定に従ってそれぞれの通信経路に通信機能を割り当てる。
ステップS324において、制御部212は、コマンド通信用の通信経路を使用して共有コマンドを通信装置100に送信する。その後、処理はステップS327に移行する。これにより、通信装置200においてなされた通信機能の割り当ての変更内容が通信装置100においても共有される。なお、前述のように、通信経路の状況変化の判定は、必ずしもこのタイミングで行う必要はなく、ここではカメラを例に説明しているため、ファイル転送を強調して説明している。例えば、通信困難な場所での観察や検査などの結果画像を送信する場合には、迅速なファイル転送が求められることが多く、このような措置を講じることで、より有用な検査用、監視用カメラとしてユーザ価値を高めることが出来る。静止画、動画の画像ファイルのみならず、音声ファイルや、検査結果を文字に変換したテキスト・ファイルであっても良いことは言うまでもない。
ステップS325において、制御部212は、ファイル転送を優先するか否かを判定する。カメラ機能の動作中におけるファイル転送を優先する場合とは、例えばライブビュー表示中に高画質の画像ファイルを転送する必要がある場合、マニュアルフォーカス中において高画質のライブビュー画像を表示させる必要がある場合である。ステップS325においてファイル転送を優先すると判定された場合に、処理はステップS326に移行する。ステップS325においてファイル転送を優先しないと判定された場合に、処理はステップS327に移行する。マニュアルフォーカスのみならず、露出や画角など、詳細画像を見て制御すべき場合は、これに該当する。
ステップS326において、制御部は、ファイル転送優先処理を行う。その後、処理はステップS327に移行する。ファイル転送優先処理としては、例えば、図2(d)のように、複数の通信経路に対してファイル転送の機能を割り当てる処理である。この他、ライブビュー転送等の他の通信において転送する画像データのサイズを小さくしたり、圧縮率を小さくしたりする処理の他、転送のフレームレートを落としたりする処理が考えられる。
ステップS327において、制御部212は、コマンド通信用の通信経路を使用してファイル転送コマンドを通信装置100に送信する。
ステップS328において、制御部212は、通信装置100から共有コマンドを受けたか否かを判定する。ステップS328において通信装置100から共有コマンドを受けたと判定された場合には、処理はステップS329に移行する。ステップS328において通信装置200から共有コマンドを受けていないと判定された場合には、処理はステップS330に移行する。
ステップS329において、制御部212は、共有コマンドに従ってそれぞれの通信経路の割り当てを変更する。ステップS330において、制御部212は、ファイル転送用の通信経路を介して画像ファイルを受信する。そして、制御部212は、受信した画像ファイルを記録部210に記録する。その後、処理はステップS331に移行する。これらの考え方は、機器間で、機能別に通信方式を個別に設定するとか、フェールセーフをどうするかといったネゴシエーションを行っておくといった内容であって、どちらからどちらに指定が行われても良いことは前述した通りである。実際に制御される機能を持つ機器が、それぞれの機能に合わせた要求をする例で書いているが、どのような機能があるかを、もう一方の通信機器が把握しているような場合もある。また、演算スピードが速い機器が、通信状況や相手の機器の実力を判定して共有コマンド指定をしても良い。このとき、ネット連携して、別の機器と機能分担してもよい。
ステップS331において、制御部212は、カメラの終了指示がされたか否かを判定する。例えば、所定のボタンの操作又は所定のタッチ操作がされた場合にカメラの終了指示がされたと判定される。ステップS331においてカメラの終了指示がされていないと判定された場合に、処理はステップS304に移行する。ステップS331においてカメラの終了指示がされたと判定された場合に、図6A及び図6Bの処理は終了される。
図7A及び図7Bは、本実施形態の通信システムにおける通信装置100の動作の具体例としてのカメラ機能の動作を示すフローチャートである。これは、一般の通信機能付きカメラでも良い。図7A及び図7Bの処理は、制御部108によって制御される。
ステップS401において、制御部212は、カメラの起動指示がされたか否かを判定する。例えば、スイッチ操作など起動指示が出る。通信装置200においてカメラの起動指示がされたと判定されたときに、通信装置100においてもカメラの起動指示がされたと判定される。ステップS401においてカメラの起動指示がされていないと判定された場合に、図7A及び図7Bの処理は終了される。ステップS401においてカメラの起動指示がされたと判定された場合に、処理はステップS402に移行する。一般にカメラは観察や撮影時に使われるが、通信装置200は、携帯情報端末等であって、常に電源が入っている場合が多いので、こちらが信号を受け付けるものとして、このステップを設けているが、もちろん、同時に電源を入れるタイプや、反対に通信装置200の操作で、カメラが起動する場合もあるが、それらへの応用は通信要求の方向を変える等で達成可能である。
ステップS402において、制御部108は、ステップS305の処理に従って通信装置200から送信される共有コマンドに従って優先度データベース1061の設定を変更する。
ステップS403において、制御部108は、通信経路の接続状況に変化があるか否かを判定する。ステップS403において通信経路の接続状況に変化があると判定された場合には、処理はステップS404に移行する。ステップS403において通信経路の接続状況に変化がないと判定された場合には、処理はステップS406に移行する。
ステップS404において、制御部108は、優先度データベース1061の設定に従ってそれぞれの通信経路に通信機能を割り当てる。ステップS405において、制御部108は、コマンド通信用の通信経路を使用して共有コマンドを通信装置200に送信する。これにより、通信装置100においてなされた通信機能の割り当ての変更内容が通信装置200においても共有される。繰り返しになるが、これらの考え方は、機器間で、機能別に通信方式を個別に設定するとか、フェールセーフをどうするかといったネゴシエーションを行っておくといった内容であって、どちらからどちらに指定が行われても良いことは前述した通りである。ここで、ライブビュー時、撮像結果などの状況に応じて判断がなされる場合等を想定して、通信装置100からの送信によって説明している。つまり、実際に制御される機能を持つ機器であって、撮影時の状況判定を行える機器が、それぞれの機能に合わせた要求をする例で書いているが、どのような機能があるかを、もう一方の通信機器が把握しているような場合もある。また、演算スピードが速い機器が、通信状況や相手の機器の実力や状況を判定して共有コマンド指定をしても良い。このとき、ネット連携して、別の機器と機能分担しても良い。また、機能毎、状況毎に設定を行っても良く、そのネゴシエーション通信のタイミングや通信の方向も、状況に応じて変更しても良い。
ステップS406において、制御部108は、ライブビュー転送用の通信経路を使用してライブビュー画像を通信装置200に送信する。なお、優先度の低い通信経路を使用してライブビュー画像を送信することになる場合、サイズを小さくしたり、圧縮率を小さくしたり、転送のフレームレートを落としたりする処理が併用されても良い。ステップS407において、制御部108は、ライブビューバックアップ用の通信経路を使用してライブビューバックアップ画像を通信装置200に送信する。なお、優先度の低い通信経路を使用してライブビューバックアップ画像を送信することになる場合、サイズを小さくしたり、圧縮率を小さくしたり、転送のフレームレートを落としたりする処理が併用されても良い。
ステップS408において、制御部108は、通信装置200から共有コマンドを受けたか否かを判定する。ステップS408において通信装置200から共有コマンドを受けたと判定された場合には、処理はステップS409に移行する。ステップS408において通信装置200から共有コマンドを受けていないと判定された場合には、処理はステップS410に移行する。
ステップS409において、制御部108は、共有コマンドに従ってそれぞれの通信経路の割り当てを変更する。これにより、通信装置200においてなされた通信機能の割り当ての変更内容が通信装置100においても共有される。
ステップS410において、制御部108は、撮影コマンドを受信したか否かを判定する。ステップS410において撮影コマンドを受信したと判定された場合に、処理はステップS411に移行する。ステップS410において撮影コマンドを受信していないと判定された場合に、処理はステップS416に移行する。
ステップS411において、制御部108は、撮像部102を制御して撮影動作を実行する。そして、制御部108は、撮影動作によって得られた画像データを画像処理し、画像処理によって得られた画像ファイルを記録部106に記録する。
ステップS412において、制御部108は、通信経路の接続状況に変化があるか否かを判定する。ステップS412において通信経路の接続状況に変化があると判定された場合には、処理はステップS413に移行する。ステップS412において通信経路の接続状況に変化がないと判定された場合には、処理はステップS416に移行する。
ステップS413において、制御部108は、優先度データベース1061の設定に従ってそれぞれの通信経路に通信機能を割り当てる。ステップS414において、制御部108は、コマンド通信用の通信経路を使用して共有コマンドを通信装置200に送信する。これにより、通信装置100においてなされた変更の内容が通信装置200にも通知される。これらの考え方は、機器間で、機能別に通信方式を個別に設定するとか、フェールセーフをどうするかといったネゴシエーションを行っておくといった内容であって、どちらからどちらに指定が行われても良いことは前述した通りである。ここでは、制御される機能を有する側の機器が、制御される時の状況に合わせた要求をする例で書いているが、どのような状況で機能があるかを、もう一方の通信機器が把握しているような場合もある。また、これに限らず、演算スピードが速い機器が、通信状況や相手の機器の実力や状況を推測したり判定したりして共有コマンド指定をしても良い。このとき、ネット連携して、別の機器と機能分担しても良い。
ステップS415において、制御部108は、レックビュー転送用の通信経路を使用してレックビュー画像を送信する。
ステップS416において、制御部108は、ファイル転送コマンドを受信したか否かを判定する。ステップS416においてファイル転送コマンドを受信したと判定された場合に、処理はステップS417に移行する。ステップS416においてファイル転送コマンドを受信していないと判定された場合に、処理はステップS421に移行する。
ステップS417において、制御部108は、通信経路の接続状況に変化があるか否かを判定する。ステップS418において通信経路の接続状況に変化があると判定された場合には、処理はステップS418に移行する。ステップS417において通信経路の接続状況に変化がないと判定された場合には、処理はステップS420に移行する。
ステップS418において、制御部108は、優先度データベース1061の設定に従ってそれぞれの通信経路に通信機能を割り当てる。
ステップS419において、制御部108は、コマンド通信用の通信経路を使用して共有コマンドを通信装置200に送信する。通信装置100においてなされた通信機能の割り当ての変更内容が通信装置200においても共有される。これらの考え方は、機器間で、機能別に通信方式を個別に設定するとか、フェールセーフをどうするかといったネゴシエーションを行っておくといった内容であって、どちらからどちらに指定が行われても良いことは前述した通りである。実際に送信機能を持つ機器が、データに応じた最適な通信機能や送信状況に合わせた要求をする例で書いているが、どのような機能で状況であるかを、もう一方の通信機器が把握しているような場合もある。また、演算スピードが速い機器が、通信状況や相手の機器の実力を判定して共有コマンド指定をしても良い。このとき、ネット連携して、別の機器と機能分担しても良い。
ステップS420において、制御部108は、コマンド通信用の通信経路を使用してファイル転送コマンドによって指定された画像ファイルを送信する。
ステップS421において、制御部108は、カメラの終了指示がされたか否かを判定する。例えば、通信装置200においてカメラの終了指示がされたと判定されたときに、通信装置100においてもカメラの終了指示がされたと判定される。ステップS421においてカメラの終了指示がされていないと判定された場合に、処理はステップS402に戻る。ステップS421においてカメラの起動指示がされたと判定された場合に、図7A及び図7Bの処理は終了される。
以上説明したように本実施形態によれば、複数の通信経路に対応した通信部を有する通信装置からなる通信システムにおいて、通信部毎に異なる通信機能を割り当てることが可能である。これにより、特定の通信機能における通信負荷を減らしたりする等の用途に応じた通信を行うことが可能である。
また、本実施形態によれば、現在の通信にどの通信経路が使用されているか及びそれぞれの通信経路に対してどのような通信機能が割り当てられているかが表示される。これにより、ユーザの利便性が向上される。
また、本実施形態によれば、既存の通信経路が切断中となったり、新規の通信経路が接続中となったりした場合に、優先度データベースの内容に従って通信機能の割り当てが変更される。これにより、通信経路が不意に切断中となった場合に素早く通信を再開することが可能である。また、既存の通信経路よりも優先度の高い通信経路が接続中となった場合にその通信経路を用いて品質の高い通信を行うことが可能である。
また、本実施形態によれば、ライブビュー転送用の通信経路とは別の通信経路を用いてライブビューバックアップ画像を転送するようにしている。これにより、ライブビューを途切れることなく表示させることが可能である。
なお、通信中に状況変化して通信を切り換える状況としては、前述した状況の他に、例えば、カメラで連写をおこなったため、スルー画よりもファイル転送を優先すべき状況になったとか、電力が不足したため、WiFiからの電源を落として、より小電力、あるいは、別電源のBluetooth通信に切り替えたくなったといった状況がある。また、カメラの処理能力の限界に達したため、通信している場合ではなくなったといった、カメラ側(通信装置100)ならではの判断があり、こうした場合は、カメラ側が通信装置200にアクセスした方が良い。また、情報端末(通信装置200)側からカメラに共有コマンドを送る場合としては、情報端末のディスプレイが節電状態になったため、ファイル転送は必要だが高精細のスルー画は不要になったとか、例えば、撮影途中に画像がネットワーク経由で送受信される場合、撮影アプリケーションがバックグラウンドに遷移したといった状況が考えられ、この場合は、通信装置200側から通信装置100にアクセスがあった方が良く、このようにユースシーンやユーザの希望する操作に従って、実際には、適宜、通信を要求する機器は切り替わる状況を想定しなければならず、本発明は、それをカバーしている。つまり、SNSなど外部サービス利用時に外部サービス用ネットワーク接続をしたりしなかったりしながら、撮影のためにカメラ接続して撮影を行うような状況では、通信の接続先を変更しながら操作が行われるので、接続を外す前に次の接続を指定したり、再接続時の取り決めを先立つ通信で指定できるようにしてもよい。
以下、本実施形態の変形例について説明する。
[変形例1]
前述した実施形態では通信経路の数が3つである。これに対し、本実施形態の技術は、通信経路の数が2つでも、4つ以上であっても適用され得る。また、前述した実施形態では有線の通信経路と無線の通信経路とが混在している。これに対し、本実施形態の技術は、有線の通信経路のみ又は無線の通信経路のみであっても適用され得る。さらに、複数の通信経路であれば、種類は同じであっても良い。
また、前述した実施形態では、これに対し、通信装置100と通信装置200との直接通信における適用例が示されている。通信装置100と通信装置200との間の通信はアクセスポイント経由で行われても良い。このような通信システムへの適用例を図8(a)に示す。図8(a)の例では、第2通信部がアクセスポイント400を経由するWiFi通信(インフラストラクチャモード)で通信を行う例が示されている。また、図8(a)の例では、通信装置100及び通信装置200は、アクセスポイント400を介してネットワーク500に接続自在に構成されている。さらに、通信装置100及び通信装置200は、ネットワーク500を介して他の通信装置(撮像装置)600に接続自在に構成されている。機器間通信が出来ない場合に、各機器をネットワークや基地局(あるいは衛星)を介した通信に切り換えて繋ぐのは、距離や混信の制約等が比較的少なくなり有効である。
このような場合、図8(b)に示すように、他の通信装置600との間の通信経路の状態を示すアイコン202gが表示されても良い。このアイコン202gは、通信経路が接続中である場合には点灯され、通信経路が切断中である場合には消灯される。
また、通信装置100と同様、通信装置600の動作も通信装置200によって制御されるように構成されていても良い。このような通信装置600の動作が通信装置200の制御下にあるときにはその旨を示すアイコン202gが表示されても良い。
[変形例2]
前述した図6A及び図6B、図7A及び図7Bの例では、通信を開始するほうの通信装置において通信経路の接続状況が判定される。これに対し、何れか一方の通信装置において通信経路の接続状況が判定されるようになっていても良い。また、優先度データベースの内容と異なる通信経路を介して通信がなされた場合には警告が行われるようになっていても良い。
[その他の変形例]
本実施形態の技術は、産業用分野、医療分野等にも応用が期待される。本実施形態の技術は、複数の通信経路で通信可能な複数の通信装置からなる通信システムに対して適用される。したがって、通信装置100は一般的なカメラといった撮像装置でなくても良く、赤外など特定の波長のカメラであったり、音声や超音波やマイクロ波など電波による検査装置であったりしてもよい。X線の検査や、放射線の測定装置なども対象である。また、通信装置200はスマートフォンでなくて良い。この点において、本実施形態の技術は様々な分野に対する応用が期待される。
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、前述した実施形態による各処理は、コンピュータとしてのCPU等に実行させることができるプログラムとして記憶させておくこともできる。この他、メモリカード、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、CPU等は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
さらに、前記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。