図1は、本発明に係る情報処理装置の一実施例を使用する機器連携システムの概略構成図である。複数のユーザ機器を連携させる機器連携システムの説明例として、2つのユーザ機器、ここでは撮像装置110と通信端末120を連携させるケースを説明する。
撮像装置110と通信端末120は、互いに連携したユーザ操作を必要とするユーザ機器の一例である。撮像装置110と通信端末120は、ネットワーク130を介して機器連携装置(機器連携サーバ)101と接続する。
撮像装置110は、ネットワーク130での情報転送が可能な標準プロトコルで機器連携装置101と通信できる。具体的には、撮像装置110は、HTTP等のプロトコルを用いて機器連携装置101にアクセスし、XML等の記述言語で作成された情報を機器連携装置101に送信する。撮像装置110はまた、機器連携装置101からHTMLまたはXML等の記述言語で作成された情報を受信する。撮像装置110は、機器連携装置101からの受信情報を解析し、表示部111に表示することでユーザに受信内容を通知する。撮像装置110は、連携を要する操作を受けて機器連携装置101に連携操作確認リクエスト信号を送信する。
通信端末120は、パーソナルコンピュータ(PC)またはスマートフォン等の携帯通信端末からなる。通信端末120上では、ネットワーク130での情報転送が可能な標準プロトコルを有するプログラム121が動作可能である。通信端末120は、プログラム121により、HTTP等のプロトコルを用いて機器連携装置101にアクセスし、XML等の記述言語で作成された情報を機器連携装置101に送信する。通信端末120はまた、HTMLやXML等の記述言語で作成された情報を機器連携装置101から受信する。通信端末120(のプログラム121)は、機器連携装置101からの受信情報を指示にディスプレイ上に表示するユーザに受信内容を通知する。
機器連携装置101は、接続するユーザ機器(ここでは、撮像装置110及び通信端末120)の操作データを連携操作データ保存装置102に記憶する。情報データベース104には、値の異なるポーリング間隔を格納した表データが格納されている。連携制御装置103は、機器連携装置101を全体的に制御する。
詳細は後述するが、通信端末120は、ユーザの操作を考慮した連携操作確認のポーリング情報を機器連携装置101から取得し、そのポーリング情報に従うポーリング間隔で連携操作確認リクエスト信号を機器連携装置101に送信する。通信端末120は、この連携操作確認リクエスト信号によりユーザの連携操作の完了を知る。通信端末120は、ユーザの連携操作が完了したことを受けて、表示などを切り替える。
詳細は後述するが、本実施例では、2つのユーザ機器間で所定の操作を連携する必要がある場合に、その操作の確認のために設定される時間(ポーリング間隔)を、ユーザ操作を考慮した一定でない値に設定できる。例えば、一方のユーザ機器が利用するWebサービスのユーザアカウントと、他方のユーザ機器を連携する際、ユーザはユーザ機器毎に操作をするために、これら複数のユーザ機器を持ち替える必要がある。このようなユーザ機器の持ち替えにかかる時間は、各ユーザの操作の習熟度等の原因によりバラツキがある。本実施形態では、このようなユーザ操作にかかる時間を考慮してポーリング間隔を設定できる。
通信端末120のプログラム121は、汎用プログラムでも専用アプリケーションプログラムでもよく、また、ブラウザを利用したWebサービスのためのブラウザであってもよい。
撮像装置110の代わりに、PCまたはスマートフォンのような情報処理機器であってもよい。
ネットワーク130を伝送するデータは、SSL等により暗号化されているのが望ましい。また、撮像装置110及び通信端末120としては、互いに許可された相手にのみ連携のためのデータを送受信できるように一時的な閉鎖ネットワークを構成するのが好ましい。
図2は、機器連携装置101の概略構成ブロック図を示す。表示部201は例えば液晶表示パネルからなり、画像、並びに、管理のための種々のアイコン、メッセージ及びメニュー等を表示する。VRAM202には、表示部201に表示されるべき情報がビットマップ画像として描画される。VRAM202に格納されたビットマップ画像データが所定の順序で表示部201に読出され、対応する情報が画像として表示部201の画面に表示される。
BMU(ビットムーブユニット)203は、例えば、メモリ間(例えば、VRAM202と他のメモリとの間)のデータ転送、メモリと各I/Oデバイス(例えば、ネットワークI/F211)との間のデータ転送を制御する。
キーボード204は、文字等を入力するための各種キーを有する。PD(ポインティングデバイス)205は、例えば、表示部201に表示されるアイコン、メニューその他のコンテンツを指示し、オブジェクトをドラッグドロップするために使用される。いわゆる、マウス、タッチパッド、及びタッチパネル等がこれに相当する。
CPU206は、ROM207、HDD209又はメモリカード210に格納されたOS、または後述する連携を行う制御プログラムに基づいて、各デバイスを制御する。ROM207は、各種制御プログラム及びデータを記憶する。RAM208は、CPU206のワーク領域、エラー処理時のデータの退避領域及び制御プログラムのロード領域等として使用される。HDD209は、各制御プログラム及び一時保管したデータ等を格納する。
ネットワークI/F211は、他の情報処理装置やプリンタ等とネットワークを介して通信を行う手段である。
バス212は、アドレスバス、データバス及びコントロールバスを含む。
CPU206に対する制御プログラムの提供は、ROM207、HDD209、メモリカード210から行うこともできるし、ネットワークI/F211を介して他の情報処理装置等からも行うことができる。
図3は、撮像装置110の概略構成ブロック図を示す。撮影レンズ302は、ズームレンズ及びフォーカスレンズを含む。シャッタ304は絞り機能を備える。撮像部306は、光学像を電気信号に変換するCCD又はCMOSの撮像素子等で構成される。A/D変換部308は、撮像部306から出力されるアナログ信号をデジタル信号に変換する。バリア310は、撮影レンズ302を含む撮像部を覆うことにより、撮影レンズ302、シャッタ304及び撮像部306を含む撮像系を汚れや破損から保護する。
画像処理部312は、A/D変換部308からの画像データ又はメモリ制御部314からの画像データに対し所定の画素補間及び縮小といったリサイズ処理並びに色変換処理を行う。画像処理部312は撮像部により撮像されたRAW画像データから副画像データを生成する。また、画像処理部312は、撮像した画像データに所定の演算処理を行い、得られた演算結果に基づいてシステム制御部316が露光制御及び測距制御を行う。
A/D変換部308からの出力データは、画像処理部312及びメモリ制御部314を介して、或いは、メモリ制御部314を介してメモリ318に直接書き込まれる。メモリ318は、撮像部306によって得られA/D変換部308によりデジタルデータ化された画像データ、及び表示部322に表示するための画像データを格納する。メモリ318は、所定枚数の静止画像や所定時間の動画像および音声を格納するのに十分な記憶容量を備えている。
メモリ318は、画像表示用メモリ(ビデオメモリ)を兼ねる。D/A変換部320は、メモリ318に格納されている表示用画像データをアナログ信号に変換して表示部322に供給する。こうして、表示部322は、メモリ318に書き込まれた表示用画像データの示す画像を表示する。
不揮発性メモリ324は電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ324には、システム制御部316の動作用の定数及びプログラム等が記憶される。ここでいうプログラムは、図5及び図6を参照して説明する動作をシステム制御部316に実現させるプログラムである。
システム制御部316は、撮像装置110全体を制御する。システム制御部316は、不揮発性メモリ324に記録された制御プログラムを実行することで以下に説明する各処理を実現する。システムメモリ326は、RAMからなる。システムメモリ326には、システム制御部316の動作用の定数及び変数、並びに不揮発性メモリ324から読み出したプログラム等が展開される。
モード切替えスイッチ328は、撮像装置110の動作モードとして静止画記録モード、動画記録モード及び再生モード等のいずれかへの切り替えをシステム制御部316に指示する。第1シャッタスイッチ330は、シャッタボタンの操作途中、いわゆる半押し(撮影準備指示)でオンとなって、第1シャッタスイッチ信号SW1を発生する。第1シャッタスイッチ信号SW1により、システム制御部316は、撮像の前処理(自動合焦、露出決定等)を開始する。第2シャッタスイッチ332は、シャッタボタンの操作完了、いわゆる全押し(撮影指示)でオンとなり、第2シャッタスイッチ信号SW2を発生する。システム制御部316は、第2シャッタスイッチ信号SW2により、撮像部306からの信号読み出しから記録媒体350への画像データの書き込みまでの一連の撮影処理の動作を開始する。
操作部334は、表示部322の画面上に配置されるタッチパネルを含み、表示部322に表示される種々の機能アイコンの選択操作により各機能アイコンに割り当てられた操作指示をシステム制御部316に入力できる。機能ボタンとしては、例えば確認ボタン、終了ボタン、戻るボタン、画像送りボタン、ジャンプボタン、絞込みボタン及び属性変更ボタンなどがある。例えば、メニューボタンが押されると、各種の設定メニュー画面が表示部322に表示される。ユーザは、表示部322に表示されたメニュー画面と、画面上の機能ボタン又は、上下左右の4方向ボタン(十字キー)及びSETボタンを用いて、各種設定を行うことができる。
コントローラホイール336は、操作部334に含まれる回転操作可能な操作部材であり、方向ボタンと共に選択項目を指示する際などに使用される。コントローラホイール336を回転操作すると、操作量に応じて電気的なパルス信号が発生し、このパルス信号に基づいてシステム制御部316は撮像装置110の各部を制御する。このパルス信号によって、システム制御部316は、コントローラホイール336が回転操作された角度及び回転量などを判定できる。
コントローラホイール336は回転操作を検出できる操作部材であればどのようなものでもよい。例えば、ユーザの回転操作に応じてコントローラホイール336自体が回転してパルス信号を発生するダイヤル操作部材であってもよい。また、タッチセンサよりなる操作部材で、コントローラホイール336自体は回転せず、コントローラホイール336上でのユーザの指の回転動作などを検出するものであってもよい。これは、いわゆるタッチホイールである。
コントローラリング338は、操作部334に含まれる回転操作部材であり、レンズ鏡筒周りで光軸を中心として回転する操作が可能である。例えばコントローラリング338を操作することで、コントローラリング338は、回転量(操作量)に応じた電気的なパルス信号を発生し、システム制御部316に供給する。システム制御部316は、コントローラリング338からのパルス信号に基づいて撮像装置110の各構成部を制御する。コントローラリング338は機能切替えボタンを有し、この機能切替えボタンがユーザにより押されると、システム制御部316は、コントローラリング338に割り当てる機能を変更可能なメニュー画面を表示部322に表示させる。
コントローラホイール336及びコントローラリング338は、通常モード項目の選択及び値の変更に用いられる。
電源スイッチ340により、撮像装置110の電源のオン/オフを切り替えることができる。
電源制御部342は、電池検出回路、DC−DCコンバータ、及び通電するブロックを切り替えるスイッチ回路等により構成され、電池の装着の有無、電池の種類及び電池残量を検出する。また、電源制御部342は、その検出結果及びシステム制御部316の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体350を含む各部に供給する。
電源部344は、アルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池又はACアダプタ等からなる。
通信部346は、無線または有線ケーブルを介して他の装置と通信し、画像データ及び制御信号を含む種々のデータを送受信できる。
記録媒体I/F(インターフェース)348には、メモリカードやハードディスク等の記録媒体350が接続する。
ネットワークI/F352は、システム制御部316による制御下でネットワークを介して他の機器(ここでは、機器連携装置101)と通信する。
図4は、機器連携装置101が情報データベース104に保存するポーリング間隔情報の一例を示す。ポーリング順番401は、ポーリングの順番を示し、ポーリング間隔欄402は、ポーリング順番401で示されるポーリングの順番に対する、問い合わせを実行するまでのポーリング間隔(又は、応答を待つ待ち時間)を示す。
エントリ403は、ポーリングの順番1回目には30秒経過後に実行することを示す。エントリ404は、ポーリングの順番2回目には15秒経過後に実行することを示す。エントリ405は、ポーリングの順番3回目には8秒経過後に実行することを示す。各エントリ406、407、408は、4秒間隔で実行することを示す。エントリ409は、ポーリングの順番7回目には、8秒経過後に実行することを示す。エントリ410は、ポーリングの順番8回目には15秒経過後に実行することを示す。エントリ411は、ポーリングの順番9回目には30秒経過後に実行することを示す。エントリ412は、ポーリングの順番10回目には60秒経過後に実行することを示す。
ポーリング間隔を例えば10秒というように一律の一定値とする従来例では、連携した操作でユーザが機器を持ち替えるのに要する時間内に無駄にリクエストがされえることがある。このような場合、ユーザが機器を持ち替えた後の連携操作確認では連携操作確認が空きすぎになり、ユーザは確認がされるのを待たされてしまう。これに対し、本実施例では、ポーリング間隔を一定としないことで、無駄なリクエストを削減し、関係する機器及びネットワークの負担を軽減する。また、ユーザが機器を持ち替えるのに相当する時間を経過した状態では、エントリ406〜408に例示するようにポーリング間隔を密にし、これにより、ユーザは、連携の確認を待たなくてよくなる。
エントリ409以降では、通常の想定操作時間内にユーザが連携した操作を行わなかった可能性が大きくなるので、ポーリング間隔を徐々に空けることで無駄なリクエストを軽減する。エントリ412以降ではタイムアウトの扱いとしても良いし、10回目のポーリング間隔を維持して連携操作確認の停止またはタイムアウトが応答されるまで、ポーリングが継続されるようにしてもよい。
ポーリング間隔は、図4に示すような配列表に従いポーリング順番401の順に設定してもよいし、一定の数式に従って設定しても良い。例えば、後者の方法として、(4<=ポーリング順番?4:60/(1<<ポーリング順番)) という計算式で代用できる。この計算式の計算結果の小数点以下を四捨五入すると、エントリ403〜408と同じポーリング間隔となる。
図4に示す配列表を採用する場合でも、エントリ406,407,408に対してエントリ407と同408を省略してもよい。
図5は、撮像装置110と通信端末120を連携させるシーンで撮像装置110及び通信端末120に表示されるメッセージ例を示す。
501は、一方のユーザ機器である撮像装置110で連携を要する操作をユーザが始めた場合の画面を示す。502は、撮像装置110でユーザが画面501の指示に従ってユーザが操作を行うことで表示される画面を示す。
503は、ユーザが撮像装置110から他方のユーザ機器である通信端末120に持ち替えて、通信端末120で操作を行った画面を示す。504は、通信端末120で画面503の指示に従ってユーザが操作を行った画面を示す。このとき後述する処理により、通信端末120は、ユーザの機器の持ち替えに要した時間(画面502から画面503)を考慮して機器連携装置101から指示されたポーリング間隔で、撮像装置110の連携操作確認を実行している。
505は、ユーザが通信端末120から撮像装置110へ持ち替えて、通信端末120で連携を要する操作を実行したことにより、連携を要する操作の完了を表示する撮像装置110の画面を示す。撮像装置110は、後述する処理により、連携を要する操作の完了の確認を機器連携装置101に通知する。
506は、撮像装置110による連携を要する操作の完了確認を表示する通信端末120の画面を示す。
図6を参照して、機器連携装置101による撮像装置110と通信端末120間の操作の連携を説明する。
ステップS601にて、撮像装置110は、図5で示す画面501におけるユーザ操作に応じて、連携操作情報を機器連携装置101に要求する。
ステップS602にて、機器連携装置101は、連携操作情報を生成し、連携開始時間として連携操作情報の要求のあった時間をあわせて記録する。機器連携装置101は、生成した連携操作情報を撮像装置110に返信する。
ステップS603にて、撮像装置110は、図5に画面502として示すように、ステップS601で取得した連携操作情報と、通信端末120における操作を表示する。
ステップS604にて、通信端末120は、図5で画面503として示すように、連携情報を表示する操作をユーザに促す。
ステップS605にて、通信端末120は、連携操作情報とポーリング情報を機器連携装置101に要求する。
ステップS606にて、機器連携装置101は、ステップS602において記録した連携開始時間を利用してポーリング情報を生成し、このポーリング情報を連携操作情報とともに通信端末120に返信する。ステップS602からステップS606において、ユーザが撮像装置110から通信端末120に機器を持ち替える操作を行っていると予想されるので、機器連携装置101は、ユーザ毎に機器の持ち替えに要する時間をポーリング時間に加味する。例えば、ユーザ毎の機器の持ち替えに要する時間からユーザの操作の慣れなどを加味し、操作の早いユーザにはすべてのポーリング時間が短くなるように係数を設定し、操作の遅いユーザにはすべてのポーリング時間が長くなるように係数を設定する。そして、ポーリング時間の基準値からこの係数で調整を行う。別の方法として、ユーザ毎の機器の持ち替えに要する時間から、ユーザ個別にポーリング時間を直接算出しても良い。このようにすることで、ユーザ操作にあわせたタイミングでのポーリング、ユーザの操作の慣れに合わせたポーリング、または、個々のユーザに合わせたポーリングを実施できる。
ステップS607にて、通信端末120は、図5に画面504として示すように、ステップS605で取得した連携操作情報を表示し、連携したユーザ操作を要する撮像装置110における操作の要求を表示する。
また、ステップS605で取得したポーリング情報を基にステップS609で示す機器連携操作の確認のポーリングを実行する。
ステップS608にて、撮像装置110は、ステップS603の状態で図5で示した画面502を示し、ユーザの連携操作情報確認操作を受け付ける。
ステップS609にて、通信端末120は、ステップS605で取得したポーリング情報を基に機器連携操作の確認のポーリングを行う。通信端末120は、このポーリングに対してステップS610、S614で機器連携装置101により送信される連携操作確認結果を取得する。通信端末120は、取得した連携操作確認結果がユーザの機器操作未受信を示す場合、機器連携装置101に対するポーリングを継続し、ユーザの機器操作受信済みでの場合、ポーリングを中止してステップS615を実施する。
図示していないが、通信端末120でユーザ操作が検知されている場合、ユーザの機器の持ち替えがされていないと判断してポーリングを中断しても良い。また、通信端末120は、通信端末120から撮像装置110への問い合わせにかかる時間を考慮して、ポーリング間隔を調整しても良い。
ステップS610にて、機器連携装置101は、通信端末120からの機器連携操作の確認で撮像装置110の連携操作確認が記録されていない場合、ユーザの機器操作が未受信であることを通信端末120に返信する。
ステップS611にて、撮像装置110は、図5に示す画面502でのユーザ操作に応じて、連携操作確認を機器連携装置101に通知する。
ステップS612にて、機器連携装置101は、連携操作が確認されたことを記録する。
ステップS613にて、撮像装置110は、図5で画面505として示すように、連携したユーザ操作の完了を表示する。
ステップS614にて、機器連携装置101は、通信端末120からの機器連携操作の確認で撮像装置110の連携操作確認がステップS612において記録済みなので、ユーザの機器操作が受信済みであることを通信端末120に返信する。
ステップS615にて、通信端末120は、図5の画面506に示すように、連携したユーザ操作の完了を表示する。
このように、撮像装置110の連携したユーザ操作を通信端末120で確認して自動的に画面を切り替えることができる。
本実施例では、ステップS602からステップS606におけるユーザの機器の持ち替えから、ステップS607からステップS611におけるユーザの機器の持ち替えに要する時間を考慮したポーリングが可能となる。
互いに連携させるユーザ機器として撮像装置110と通信端末120を例示したが、その他の情報処理装置であってもよく、これらは説明用の一例に過ぎない。
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリでもよい。
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータはがコンピュータプログラムをダウンロードしてプログラムするような方法も考えられる。