JP2013206220A - Electronic device and program - Google Patents
Electronic device and program Download PDFInfo
- Publication number
- JP2013206220A JP2013206220A JP2012075499A JP2012075499A JP2013206220A JP 2013206220 A JP2013206220 A JP 2013206220A JP 2012075499 A JP2012075499 A JP 2012075499A JP 2012075499 A JP2012075499 A JP 2012075499A JP 2013206220 A JP2013206220 A JP 2013206220A
- Authority
- JP
- Japan
- Prior art keywords
- command
- execution result
- execution
- processing
- mobile phone
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、電子機器、およびプログラムに関する。 The present invention relates to an electronic device and a program.
近年、電子機器の多くはCPUが搭載され、CPUで実行するプログラムによって様々な機能を実現している。ところが、様々な電子機器で同様の機能を実現するために機器毎に同じようなプログラムを搭載しなければならないという問題がある。このため、コントローラで一元的に処理を実行する技術などが考えられている(例えば特許文献1参照)。 In recent years, many electronic devices are equipped with a CPU, and various functions are realized by programs executed by the CPU. However, there is a problem that a similar program must be installed for each device in order to realize the same function in various electronic devices. For this reason, the technique etc. which perform a process centrally with a controller are considered (for example, refer patent document 1).
従来、他機器と同じ機能を利用する場合、自機器に他機器と同じアプリケーションソフトなどをインストールしたり、コントローラで一元的に処理を実行する必要があった。 Conventionally, when using the same function as that of another device, it is necessary to install the same application software or the like as that of the other device in the own device or to execute processing centrally by the controller.
本発明は、このような事情に鑑みてなされたもので、その目的は、特別な設定や専用の装置を用いることなく、他機器のコマンドを自機器のコマンドと同様に使用できる電子機器、およびプログラムを提供することにある。 The present invention has been made in view of such circumstances, and an object of the present invention is to provide an electronic device that can use commands of other devices in the same manner as the commands of its own device without using special settings or dedicated devices, and To provide a program.
この発明は上述した課題を解決するためになされたもので、本発明は、他機器と通信を行う通信部と、他機器が備えている機能の処理を実行するコマンドである第1コマンドを含む複数のコマンドを管理するコマンド管理部と、前記複数のコマンドのうち選択されたコマンドを、設定されたコマンドの実行手順で実行させる処理を制御する制御部と、前記選択されたコマンドのうちに前記第1コマンドが含まれる場合、前記コマンドの実行手順に従って、前記第1コマンドを前記通信部を介して他機器に送信するとともに、他機器が前記第1コマンドを実行することにより得られた実行結果である第1実行結果を取得するコマンド処理部と、を備え、前記制御部は、前記コマンド処理部が前記第1コマンドによる第1実行結果を取得できない場合、前記第1実行結果の取得を待たずに、前記コマンドの実行手順に従った処理を継続することを特徴とする電子機器である。 The present invention has been made to solve the above-described problems, and the present invention includes a communication unit that communicates with another device, and a first command that is a command for executing processing of a function provided in the other device. A command management unit that manages a plurality of commands; a control unit that controls a process of executing a command selected from the plurality of commands in a set command execution procedure; and When the first command is included, according to the execution procedure of the command, the first command is transmitted to the other device via the communication unit, and the execution result obtained by the other device executing the first command A command processing unit that obtains a first execution result, and the control unit cannot obtain a first execution result by the first command by the command processing unit. If, without waiting for the acquisition of the first execution result, an electronic device, characterized in that to continue the processing according to the execution procedure the command.
また、本発明は、他機器と通信を行う通信部を有する電子機器が備えるコンピュータに、他機器が備えている機能の処理を実行するコマンドである第1コマンドを含む複数のコマンドを管理するコマンド管理ステップと、前記第1コマンドを前記通信部を介して他機器に送信するとともに、他機器が前記第1コマンドを実行することにより得られた実行結果である第1実行結果を取得するコマンド処理ステップと、前記複数のコマンドのうち選択されたコマンドを、設定されたコマンドの実行手順で前記コマンド処理ステップおいてに実行させる処理を制御するとともに、前記コマンド処理ステップにおいて前記第1コマンドによる第1実行結果を取得できない場合、前記第1実行結果の取得を待たずに、前記コマンドの実行手順に従った処理を継続する制御ステップと、を実行させるためのプログラムである。 The present invention also provides a command for managing a plurality of commands including a first command that is a command for executing processing of a function provided in another device in a computer provided in an electronic device having a communication unit that communicates with the other device. Management step and command processing for transmitting the first command to another device via the communication unit and acquiring a first execution result that is an execution result obtained by the other device executing the first command And a step for controlling a command selected from the plurality of commands to be executed in the command processing step by a set command execution procedure, and a first command by the first command in the command processing step. If the execution result cannot be acquired, the processing according to the command execution procedure is not performed without waiting for the acquisition of the first execution result. A control step of continuing a program for executing.
この発明によれば、特別な設定や専用の装置を用いることなく、他機器のコマンドを自機器のコマンドと同様に使用できる。 According to the present invention, commands of other devices can be used in the same manner as commands of the own device without using special settings or dedicated devices.
以下、図面を参照して、本発明の実施の形態について説明する。なお、本実施形態では、複数の様々な機能を有する電子機器(電子カメラ、携帯電話、プリンタなど)の間で互いの機能を利用するコマンド共有機能(以降、C機能と称する)が用いられる。 Embodiments of the present invention will be described below with reference to the drawings. In the present embodiment, a command sharing function (hereinafter referred to as C function) that uses each other's functions among electronic devices (electronic cameras, mobile phones, printers, etc.) having a plurality of various functions is used.
[電子機器10の構成例]
図1は、本発明の一実施形態に係る電子機器10の構成例を示す図である。図1において、電子機器10は、ハードウェア11と、ソフトウェア12とで構成される。
[Configuration Example of Electronic Device 10]
FIG. 1 is a diagram illustrating a configuration example of an
ハードウェア11は、電子機器10本来の機能に対応するための電子機器用回路13と、C機能に対応するための通信回路14(通信部)とを有する。例えば、電子カメラの場合は、撮像回路、表示回路、記録回路などが電子機器用回路13に対応する。なお、携帯電話などの場合は、携帯電話の通信網の基地局との間で通信するための電話機本来の通信回路とは別に、電子機器間で通信可能なBluetooth(登録商標)などの規格に対応する通信回路やその通信回路を使用して通信可能な範囲にある同じ機能に対応する電子機器を探索するソフトウェアを備えたものがあるので、このような携帯電話の場合は通信回路14を新たに設ける必要がなく、電子機器用回路13に含まれている。ここで、通信回路14が行う通信は、無線通信であってもよいし、有線通信であってもよい。
The
ソフトウェア12は、ハードウェア11の各部を制御して電子機器10の動作を実現するOS(オペレーションシステム)を基本とし、OS上で実行される制御プログラム15(制御部)およびC機能プラットホーム16を有する。
The
制御プログラム15は、電子機器10の操作に対応する本来の機能を実現するためのプログラムだけでなく、本実施形態の特徴であるC機能により他機器に搭載された機能を利用するプログラムを有する。例えば、制御プログラム15は、後述のコマンド共有部18において管理されている複数のコマンドのうち選択されたコマンドを、設定されたコマンドの実行順序で実行させる処理を制御するプログラムを有する。なお、自機器の機能および他機器の機能或いは両方を組み合わせた機能のいずれの場合のプログラムであっても、C機能プラットホーム16(コマンド処理部17)に対してコマンド(或いはコマンド実行するタイミングを与えるイベント)を発行して実行結果を得る動作は同じであり、制御プログラム15側で自機器の機能であるか他機器の機能であるかを意識する必要はない。
The
C機能プラットホーム16は、コマンド処理部17と、コマンド共有部18(コマンド管理部)と、通信処理部19とを有する。
The
コマンド処理部17は、コマンド共有部18のコマンドリスト20を参照して、制御プログラム15から送られるコマンドが内部コマンド(自機器で実行するコマンド)であるか外部コマンド(他機器で実行するコマンド)であるかを判別し、内部コマンドである場合は処理を実行して、その実行結果を制御プログラム15側に返す処理を行う。また、コマンド処理部17は、制御プログラム15から送られるコマンドが外部コマンド(第1コマンド)である場合は、外部コマンド(第1コマンド)を通信処理部19からハードウェア11の通信回路14を介して接続される他機器に送信する。そして、コマンド処理部17は、通信回路14および通信処理部19を介して、他機器において外部コマンド(第1コマンド)を実行することにより得られた実行結果(第1実行結果)を受信し、これを制御プログラム15側に返す処理を行う。例えば、コマンド処理部17は、制御プログラム15が制御するコマンドの実行順序に従って、外部コマンド(第1コマンド)を通信回路14(および通信処理部19)を介して他機器に送信するとともに、他機器が外部コマンド(第1コマンド)を実行することにより得られた実行結果である第1実行結果を取得する。
The
また、コマンド処理部17は、他機器から外部コマンド(すなわち自機器で実行するコマンド、第2コマンド)を受信した場合、受信した外部コマンド(第2コマンド)を実行することにより得られた実行結果(第2実行結果)を、他機器に対して送信する。なお、コマンド処理部17は、自機器で実行するコマンド(内部コマンドおよび他機器から受信した外部コマンド)を実行してから実行結果が得られるまでの予測所要時間を算出する処理時間算出部21を備えていてもよい。そして、コマンド処理部17は、この処理時間算出部21が算出した予測所要時間を示す情報を、通信回路14および通信処理部19を介して他機器に送信してもよい。
When the
コマンド共有部18は、自機器または他機器で実行可能なコマンドをコマンドリスト20として管理する。例えば、コマンド共有部18は、他機器が備えている機能の処理を実行するコマンドである外部コマンド(第1コマンド)を含む複数のコマンドを管理する。なお、コマンドリスト20に登録されるコマンドには、コマンド種別やコマンド機能名、パラメータなどコマンドに関係する様々な情報が含まれている。但し、コマンドリスト20はコマンドのリストであって、コマンドを実行するプログラム自体はそれぞれの電子機器にある。また、コマンドリスト20には、予め自機器で実行可能な内部コマンドのリストが登録されているが、通信処理部19が通信回路14で接続される他機器から取得する外部コマンドが適宜追加される。ここで、コマンドリスト20に登録されている外部コマンドの実行先である他機器との通信が通信回路14上で切断されたことを通信処理部19で検出した場合は、コマンドリスト20に登録されている当該機器のコマンドを削除する。なお、コマンド共有部18が管理しているコマンドリスト20は、内部コマンドと外部コマンドとが含まれている状態以外に、内部コマンドのみが含まれている状態、または外部コマンドのみが含まれている状態であってもよい。
The
通信処理部19は、通信回路14を介して予め決められた所定のプロトコルによる通信を確立し、機器情報、コマンドリスト、イベントなどの送受信、或いはコマンドの送信や実行結果の受信などを行う。
The
このように、本実施形態に係る電子機器10は構成され、複数の電子機器10がコマンドを共有して互いの機能を利用できるようになっている。
Thus, the
[電子機器連携システム100の動作例]
次に、電子機器10として、C機能に対応するハードウェア11およびソフトウェア12を備えた電子カメラ101および携帯電話102を用いる場合の電子機器連携システム100の基本動作について説明する。
[Operation Example of Electronic Device Cooperation System 100]
Next, a basic operation of the electronic
図2は、電子機器連携システム100の動作の一例を示す図である。
図2において、電子カメラ101は撮影コマンド151を有し、携帯電話102は電子メールコマンド161と、GPS(Global Positioning system)コマンド162とを有する。撮影コマンド151は、電子カメラ101の撮影を行うコマンドである。電子メールコマンド161は、電子メールを送受信するコマンドである。GPSコマンド162は、緯度、経度などの位置情報を取得するコマンドである。
FIG. 2 is a diagram illustrating an example of the operation of the electronic
In FIG. 2, the
そして、電子カメラ101と携帯電話102のそれぞれのコマンド共有部18は、通信処理部19による通信確立(S101)の後、互いの機器情報とコマンドリスト20(図2では、コマンドリスト131a、コマンドリスト132aに対応)を送受信する。例えば電子カメラ101は、機器情報として自機器がカメラであること、実行可能なコマンドリスト131aとして撮影コマンド151を有すること、などを携帯電話102に送信する(S102)。逆に、携帯電話102は、機器情報として自機器が携帯電話であること、実行可能なコマンドリスト132aとして電子メールコマンド161と、GPSコマンド162とを有すること、などを電子カメラ101に送信する(S103)。
Then, after the
これにより、電子カメラ101は、自機器の撮影コマンド151と、携帯電話102の電子メールコマンド161と、GPSコマンド162とを含むコマンドリスト131bを持つことができる。同様に、携帯電話102は、自機器の電子メールコマンド161およびGPSコマンド162と、電子カメラ101の撮影コマンド151とを含むコマンドリスト131bを持つことができる。なお、送受信するのはコマンドリストであって、コマンドを実行するプログラム自体はそれぞれの電子機器にある。
As a result, the
電子カメラ101と携帯電話102のそれぞれのコマンド処理部17は、コマンド共有部18が保持するコマンドリスト20の中のコマンドを実行する。例えば電子カメラ101はコマンドリスト131aの撮影コマンド151を実行することができ、携帯電話102はコマンドリスト132aの電子メールコマンド161やGPSコマンド162を実行することができる。ここで、コマンドリスト131aおよびコマンドリスト132aは、電子カメラ101および携帯電話102のそれぞれが本来備えているコマンド(内部コマンド)である。さらに、本実施形態に係る電子機器連携システム100では、通信確立後に送受信した他機器のコマンド(外部コマンド)を使用することができる。
The
例えば図2では、電子カメラ101が位置情報を取得したい場合、GPSコマンド162を携帯電話102に送信し(S104)、携帯電話102でGPSコマンド162を実行して取得した位置情報(緯度経度など)を実行結果とするコマンド応答を電子カメラ101に送信する(S105)。
For example, in FIG. 2, when the
このようにして、電子カメラ101は、GPS機能を搭載していなくてもGPSによる位置情報を取得することができ、例えば撮影画像のヘッダ情報に位置情報を付加して保存するような新たな機能を容易に実現することができる。
In this way, the
図3は、本実施形態に係る電子機器連携システム100において、電子機器の電源を投入してからコマンドリストを取得するまでの処理(初期動作)を示すフローチャートである。
FIG. 3 is a flowchart showing processing (initial operation) from when the electronic device is turned on until the command list is acquired in the electronic
(ステップS151)電子機器10の電源が投入されると、C機能プラットホーム16の通信処理部19は通信回路14を起動する。
(Step S151) When the power of the
(ステップS152)通信回路14によって通信可能な範囲にある他の電子機器を探索する。なお、このような機能は、例えばBluetooth(登録商標)などの規格で決められており、通信可能な範囲にある電子機器を見つけることができる。
(Step S <b> 152) Search for other electronic devices within a range in which communication is possible by the
(ステップS153)通信処理部19は、検出した電子機器がC機能に対応する機器であるか否かの判別を行い、C機能に対応しない場合はステップS152に戻って電子機器の探索を継続する。そして、C機能に対応する場合はステップS154に進む。なお、C機能に対応しているか否かの判別は、例えば通信確立時に送受信する制御データにC機能対応有を示す独自の情報を付加することにより実現できる。
(Step S153) The
(ステップS154)機器探索で見つかったC機能に対応する他機器に自機器の機器情報を送信する。 (Step S154) The device information of the own device is transmitted to the other device corresponding to the C function found by the device search.
(ステップS155)機器探索で見つかったC機能に対応する他機器から機器情報を受信する。 (Step S155) Device information is received from another device corresponding to the C function found in the device search.
(ステップS156)自機器が保持するコマンドリストを他機器に送信する。 (Step S156) The command list held by the own device is transmitted to another device.
(ステップS157)他機器が保持するコマンドリストを他機器から受信する。 (Step S157) A command list held by another device is received from the other device.
(ステップS158)他機器から受信したコマンドリストに登録されているコマンドを自機器が保持するコマンドリストに追加する。 (Step S158) The command registered in the command list received from the other device is added to the command list held by the own device.
このようにして、本実施形態に係る電子機器連携システム100では、他機器との間で実行可能なコマンドリストを送受信することによって、他機器のコマンドを自機器のコマンドと同じように実行することができる。しかも、コマンドの実行自体は当該コマンドを有する機器上で行うので、従来のようにコマンドを実行するためのソフトウェアやドライバプログラムをインストールする必要がなく、OSの種類にも依存しない。
In this way, in the electronic
図4は、本実施形態に係る電子機器連携システム100に対応する電子カメラ101においてコマンドを実行する処理を示す図である。図4(a)は、電子カメラ101で撮影した画像に対して画像処理Aを施してメモリカードなどに保存する処理例を示している。ここで、画像処理コマンドAは電子カメラ101では実行できない外部コマンドなので、画像処理プログラムAを有する画像処理サーバ104に画像処理コマンドAと画像データを送信して画像処理サーバ104で画像処理Aを施し、処理後の画像データを電子カメラ101に返信する。そして、電子カメラ101は、画像処理サーバ104から受信した画像処理Aが施された画像データを撮影画像としてメモリカードなどに保存する。
FIG. 4 is a diagram illustrating processing for executing a command in the
さらに、図4(b)は、電子カメラ101で撮影した画像に対して画像処理Bを施してメモリカードなどに保存する処理の流れを示している。ここで、画像処理コマンドBは電子カメラ101で実行可能な内部コマンドなので、自機器内の制御プログラムに画像処理コマンドBと画像データを送って画像処理Bを施し、処理後の画像データを受け取ってメモリカードなどに保存する。
Further, FIG. 4B shows a flow of processing for performing image processing B on an image photographed by the
このように、本実施形態に係る電子機器連携システム100における電子カメラ101は、外部コマンドおよび内部コマンドの区別なく、同じようにコマンドを発行して処理を行うことができる。
As described above, the
[機器情報]
次に、機器情報について説明する。図2で説明したように、本実施形態に係る電子機器連携システム100に対応する電子機器10は、通信確立時に機器情報を送受信する。この機器情報には、例えば以下のような情報が含まれる。
・国ID:各国毎に決められた固有ID、或いは国名でもよい。例えばJAPANなど。・メーカID:メーカ毎に決められた固有ID、或いはメーカ名でもよい。例えばABCDE会社など。
・機器カテゴリID:機器種別毎に決められたカテゴリを示す固有ID、或いは機器名でもよい。例えば電子カメラ、携帯電話、プリンタなど。
・機器ID:機器毎に決められた固有IDで製造番号やシリアル番号など。
・所有者ID:機器の所有者毎に予め決められた固有ID、或いは所有者名や住所、電話番号などであってもよい。
[Equipment information]
Next, device information will be described. As described with reference to FIG. 2, the
Country ID: A unique ID or country name determined for each country may be used. For example, JAPAN. Manufacturer ID: A unique ID determined for each manufacturer or a manufacturer name may be used. For example, ABCDE company.
Device category ID: It may be a unique ID indicating a category determined for each device type, or a device name. For example, electronic cameras, mobile phones, printers, etc.
Device ID: A unique ID determined for each device, such as a manufacturing number or serial number.
Owner ID: It may be a unique ID predetermined for each owner of the device, an owner name, an address, a telephone number, or the like.
このように、本実施形態に係る電子機器連携システム100では、通信確立時に上記のような機器情報を送受信する。これにより、例えば特定国の機器、同一メーカの機器、同じカテゴリの機器、同じ所有者の機器などの特定機器でしかコマンドを利用できないようにすることができる。
As described above, in the electronic
[コマンド]
次に、コマンドに含まれる情報について説明する。図2で説明したように、コマンドには自機器で実行する内部コマンドと、他機器で実行する外部コマンドとがあり、いずれのコマンドにも以下のような情報が含まれる。
・コマンド種別:単体で実行するコマンド、バッチ処理コマンドなど。
・実行可能な機器:例えば電子カメラ、携帯電話などの機器種別や個別の機器IDなど。
(なお、機器種別や機器IDは、通信確立時に送受信される機器情報に含まれる)
・コマンド機能名:例えば撮影機能、位置情報取得機能、プリンタ機能、画像処理機能、超解像度画像処理機能、顔検出機能など。
・コマンドID:コマンド毎に予め決められた固有ID、或いはコマンド名。例えば撮影コマンド、印刷コマンドなど。
・パラメータ:コマンドで参照するパラメータ。例えば撮影コマンドであればシャッタ速度や絞り値或いは撮影モードの選択値(夜景モードなど)。なお、選択可能な数値範囲や全ての選択値の情報も含まれる。
・コマンド実行結果:コマンドの実行によって得られる結果で、数値や画像データなどの実行結果である。例えばGPSコマンドであれば緯度経度などの数値、画像処理であれば処理後の画像データなど。
・アイコン:コマンドを画面に表示する場合に、コマンドを判別し易いようするための画像。例えば電子メールコマンドであれば封書画像のアイコンなど。
・チュートリアル:コマンドの使い方や機能説明。いわゆるHELP情報に相当する。
・コマンドで使用する別のコマンドの情報:バッチ処理などで別のコマンドの実行結果を利用するコマンドなど。例えば現在位置の住所を求める住所コマンドを設けた場合、住所コマンドの中でGPSコマンドを実行して、GPSコマンドで得られる緯度経度の数値から地図上の位置を検索して住所を求める、など。
・作者情報:コマンド作成者のIDや名称など。
[command]
Next, information included in the command will be described. As described with reference to FIG. 2, the command includes an internal command executed by the own device and an external command executed by another device, and each command includes the following information.
-Command type: Commands executed alone, batch processing commands, etc.
Executable devices: device types such as electronic cameras and mobile phones, individual device IDs, etc.
(Note that the device type and device ID are included in device information transmitted and received when communication is established)
Command function name: For example, a shooting function, a position information acquisition function, a printer function, an image processing function, a super-resolution image processing function, a face detection function, etc.
Command ID: A unique ID or command name predetermined for each command. For example, shooting command, printing command, etc.
• Parameter: A parameter that is referenced by a command. For example, in the case of a shooting command, the shutter speed, aperture value, or shooting mode selection value (night view mode, etc.). Information on selectable numerical ranges and information on all selected values is also included.
Command execution result: A result obtained by executing a command, which is an execution result of a numerical value or image data. For example, numerical values such as latitude and longitude are used for GPS commands, and processed image data are used for image processing.
Icon: An image that makes it easy to identify a command when the command is displayed on the screen. For example, if it is an e-mail command, an icon of a sealed image.
・ Tutorial: How to use commands and explanation of functions. This corresponds to so-called HELP information.
-Information on other commands used in commands: Commands that use the execution results of other commands in batch processing, etc. For example, when an address command for obtaining an address at the current position is provided, a GPS command is executed in the address command, and a position on the map is searched for from a numerical value of latitude and longitude obtained by the GPS command.
Author information: ID and name of the command creator.
このように、本実施形態に係る電子機器連携システム100では、通信確立時に上記のような情報を含むコマンドリストを送受信する。これにより、例えばコマンドのパラメータや使い方がわかるので、初めてのコマンドであっても動作設定を簡単に行うことができ、所望の実行結果を得ることができる。
Thus, in the electronic
ここで、様々な電子機器におけるコマンド例を以下に示す。
・電子機器が携帯電話の場合
「GPSコマンド」:GPSの測位データに基づく緯度経度などの位置情報の提供。
「簡易位置情報取得コマンド」:携帯電話通信網の最寄りの基地局の場所に基づく位置情報の提供。
「メール送信コマンド」:電子メールの送信。
「超解像画像処理コマンド」:高解像度化を行う画像処理。
「音声録音コマンド」:マイクロホンで音声を録音。
・電子機器が電子カメラの場合
「静止画AUTO撮影コマンド」:自動露出、自動焦点で静止画撮影。
「高速シャッタ撮影コマンド」:高速シャッタで画像を撮影。
「ボケ優先撮影コマンド」:ボケのある被写界深度の浅い画像を撮影。
「動画撮影コマンド」:動画を撮影。
「画像処理コマンド」:画質調整(ホワイトバランス調整、コントラスト調整、等)を行う画像処理。
「顔検出処理コマンド」:画像から顔を検出する処理。
「付加情報登録コマンド」:画像データにファイル名やヘッダ情報等の付加情報を登録。或いは、画像データに対応付けられた別のデータファイルに付加情報を登録。
「保存コマンド」:記憶媒体(メモリカード)への保存。
・電子機器が画像処理サーバの場合
「画像処理コマンド」:画質調整(ホワイトバランス調整、コントラスト調整、等)を行う画像処理(例えば電子カメラが備えている画像処理機能に対して高機能な処理)。
「顔認識処理コマンド」:画像から顔を検出する処理とともに、特定の個人の顔を認識して検出する処理。
・電子機器がプリンタの場合
「写真印刷L版」:L判で印刷。
「写真印刷A4」:A4で印刷。
・電子機器がFAXの場合
「画像送信」:画像データを送信。
「データ受信」:画像データを受信。
・電子機器がテレビの場合
「画像表示」:画像データを画面に表示。
「チャネル選択」:放送受信するチャネル選択。
・電子機器がビデオの場合
「静止画録画」:静止画像を記録。
「動画録画」:動画像を記録。
このように、本実施形態に係る電子機器連携システム100では、他機器のコマンドを自機器のコマンドと同じように実行することができ、自機器にはない他機器の機能を利用できる。
Here, command examples in various electronic devices are shown below.
When the electronic device is a mobile phone “GPS command”: providing position information such as latitude and longitude based on GPS positioning data.
"Simple location information acquisition command": Provision of location information based on the location of the nearest base station in the mobile phone communication network.
“Mail send command”: Send an e-mail.
“Super-resolution image processing command”: image processing for increasing the resolution.
"Voice recording command": Record voice with a microphone.
When the electronic device is an electronic camera “Still image AUTO shooting command”: Still image shooting with automatic exposure and auto focus.
“High-speed shutter shooting command”: Takes an image with a high-speed shutter.
“Bokeh priority shooting command”: Shoots a blurred image with a shallow depth of field.
“Video shooting command”: Shoots a video.
“Image processing command”: Image processing for adjusting image quality (white balance adjustment, contrast adjustment, etc.).
“Face detection processing command”: processing for detecting a face from an image.
“Additional information registration command”: Registers additional information such as file name and header information in the image data. Alternatively, additional information is registered in another data file associated with the image data.
“Save command”: Save to a storage medium (memory card).
When the electronic device is an image processing server “Image processing command”: Image processing for adjusting image quality (white balance adjustment, contrast adjustment, etc.) (for example, processing that is highly functional with respect to the image processing function of the electronic camera) .
“Face recognition process command”: A process of detecting a face from an image and a process of recognizing and detecting a face of a specific individual.
-When the electronic device is a printer "Photo printing L version": Printed in L size.
“Photo printing A4”: Printing with A4.
-When the electronic device is a FAX "Image transmission": Image data is transmitted.
“Data reception”: Receives image data.
-When the electronic device is a TV “Image display”: Display image data on the screen.
“Channel selection”: Channel selection for broadcast reception.
-When the electronic device is a video "Still image recording": Record a still image.
"Video recording": Record moving images.
As described above, in the electronic
[イベント]
次に、イベントに含まれる情報について説明する。図2では、発行したコマンドを自機器または他機器で実行して実行結果を得る例を示したが、コマンドを実行するタイミングを与えることもできる。例えば図2において、携帯電話102側から電子カメラ101の撮影コマンド151を利用する場合、例えば電子カメラ101のシャッターボタンが押下された時に撮影を行うなど、撮影を行うタイミングを指示しなければならない。なお、携帯電話102側から撮影コマンド151を発行した時に直ぐに撮影を行うような使い方の場合は、シャッターボタンの押下時というイベントを指示する必要はない。
[Event]
Next, information included in the event will be described. Although FIG. 2 shows an example in which the issued command is executed by the own device or another device to obtain an execution result, timing for executing the command can also be given. For example, in FIG. 2, when the
以下にイベントに含まれる情報の一例を示す。
・イベント種別:オペレーション、処理割り込みなどの制御情報。例えばシャッターボタン押下はオペレーション、電子メール受信や予め設定した時刻などは処理割り込み。
・イベントが発生した機器ID:機器情報で説明した機器ID。例えば、機器ID:カメラなど。
・イベント名:イベントの名称。例えばタイマー割り込みやシャッターボタン押下、顔認識、或いは電源オフなど。
・イベントID:イベント名に対応するID。例えばシャッターボタン押下の場合はID=RB_DOWNなど。なお、実際にはこのイベントIDが送受信される。
・パラメータ:イベントで参照するパラメータ。例えばコマンドを実行する時刻など。なお、選択可能な数値範囲や全ての選択値の情報も含まれる。
・アイコン:コマンドリストを表示する場合のアイコン画像。
・チュートリアル:イベントの使い方や機能説明。いわゆるHELP情報に相当する。
・このイベントをトリガーとして実行するコマンド情報:例えばイベントがシャッターボタン押下であれば撮影コマンドなど。
・作者情報:イベント作成者のIDや名称など。
An example of information included in the event is shown below.
Event type: Control information such as operation and processing interrupt. For example, pressing the shutter button interrupts the operation, e-mail reception, and preset time.
Device ID in which an event has occurred: Device ID described in the device information. For example, device ID: camera.
-Event name: Name of the event. For example, timer interruption, shutter button press, face recognition, or power off.
Event ID: ID corresponding to the event name. For example, ID = RB_DOWN when the shutter button is pressed. Actually, this event ID is transmitted and received.
-Parameter: A parameter to be referenced in the event. For example, command execution time. Information on selectable numerical ranges and information on all selected values is also included.
Icon: Icon image when displaying the command list.
・ Tutorial: Event usage and function explanation. This corresponds to so-called HELP information.
Command information executed using this event as a trigger: For example, a shooting command if the event is a shutter button press.
Author information: ID and name of event creator.
このように、本実施形態に係る電子機器連携システム100では、通信確立時に先に説明したコマンドリストに含めて上記のようなイベントも送受信される。これにより、例えばコマンドを実行するためのイベントを知ることができ、イベントのパラメータや使い方なども確認できる。
As described above, in the electronic
ここで、様々な電子機器におけるイベント例を以下に示す。
・電子機器が携帯電話の場合
「電話着信」「メール受信」「キーボード操作」「十字キー操作」など。
・電子機器が電子カメラの場合
「シャッターボタン押下」「ダイヤル操作」「静止画撮影」「SDカード挿入」など。
・電子機器がプリンタの場合
「パネル操作」「SDカード挿入」「インク切れ」など。
・電子機器がテレビの場合
「チャンネル操作」「リモコン操作」など。
・電子機器がビデオの場合
「再生ボタン押下」「早送りボタン押下」など。
Here, examples of events in various electronic devices are shown below.
-If the electronic device is a mobile phone, "Incoming call", "Receiving mail", "Keyboard operation", "Cross key operation", etc.
When the electronic device is an electronic camera, “shutter button press”, “dial operation”, “still image shooting”, “SD card insertion”, etc.
-When the electronic device is a printer, "panel operation", "SD card insertion", "run out of ink", etc.
・ When the electronic device is a TV, “Channel operation”, “Remote control operation”, etc.
When the electronic device is a video, “Play button pressed”, “Fast-forward button pressed”, etc.
このように、本実施形態に係る電子機器連携システム100では、他機器のコマンドや自機器のコマンドを実行するためのイベントも機器間で共有する。
As described above, in the electronic
[電子カメラ101の構成例]
図5は、本実施形態に係る電子機器10が電子カメラ101である場合の構成例を示す図である。
[Configuration Example of Electronic Camera 101]
FIG. 5 is a diagram illustrating a configuration example when the
電子カメラ101は、光学系201と、撮像部202と、バッファ203と、制御部204と、操作部205と、表示部206と、メモリカードIF(インターフェース)207、メモリ208と、通信部209とを備えている。
The
図5において、光学系201は、被写体像を撮像部202の受光面に結像する。ここで、光学系201は、ズームレンズやフォーカスレンズなどの複数枚のレンズおよびレンズ駆動部や絞り機構などを有し、制御部204によって、ズームレンズ位置、フォーカスレンズ位置、絞り値などが制御される。
In FIG. 5, the optical system 201 forms a subject image on the light receiving surface of the imaging unit 202. Here, the optical system 201 includes a plurality of lenses such as a zoom lens and a focus lens, a lens driving unit, an aperture mechanism, and the like, and the
撮像部202は、例えばCMOS型固体撮像素子およびA/D変換器などを有し、固体撮像素子の受光面に結像された被写体像を受光量に応じて電気信号に変換し、さらにA/D変換後の画像データをバッファ203に出力する。
The imaging unit 202 includes, for example, a CMOS solid-state imaging device and an A / D converter, and converts a subject image formed on the light-receiving surface of the solid-state imaging device into an electrical signal according to the amount of received light. The D-converted image data is output to the
バッファ203は、例えば揮発性の高速メモリで構成される。バッファ203は、撮像部202が出力する画像データを一時的に記憶するだけでなく、制御部204が画像処理を行う時のバッファメモリとしても使用される。或いは、表示部206に画像を表示する時の表示メモリとしても使用される。
The
制御部204は、例えば内部に記憶されたプログラム(例えば図1の制御プログラム15)に従って動作するCPUで構成される。制御部204は電子カメラ101全体の動作を制御し、例えば操作部205のモード選択ダイヤル263で電子カメラ101の撮影モードを選択したり、シャッターボタン262の押下時に光学系201のフォーカスレンズ制御や絞り制御を行って撮像部202のメカニカルシャッタまたは電子シャッタを制御して、被写体画像を撮影する。そして、制御部204は、撮像部202から画像データを読み出し、バッファ203に取り込む制御を行う。さらに、制御部204は、バッファ203に取り込まれた画像データに対して所定の画像処理(ホワイトバランス処理,色補間処理,ガンマ補正処理,彩度強調処理,輪郭強調処理、或いはJPEG規格などに準拠した画像圧縮処理)を施し、画像処理後の画像データ(例えばJPEGデータ)に所定のファイル名やヘッダ情報を付加情報として登録(付加)してメモリカード207aに保存する。或いは、バッファ203に取り込まれた画像データを表示部206に撮影画像として表示する。
なお、この制御部204は、例えば図1に示すC機能プラットホーム16および制御プログラム15を含んで構成されている。この後の電子カメラ101の構成を用いた処理に関する説明において、図1に示すC機能プラットホーム16が備える各部および制御プログラム15と、図5に示す制御部204とのそれぞれの名称を適宜使用する。
The
The
操作部205は、電源ボタン261、シャッターボタン262、モード選択ダイヤル263、メニューボタン264、十字キー265などで構成される。ユーザは、これらの操作ボタンを操作して電子カメラ101を使用する。なお、操作部205による操作情報は制御部204に出力され、制御部204は操作部205から入力する操作情報に応じて電子カメラ101の動作を制御する。例えばメニューボタン264を押下すると、制御部204は電子カメラ101の機能を選択するメニュー画面を表示部206に表示する。そして、十字キー265を操作してメニュー画面の操作を行う。特に、本実施形態に係る電子カメラ101では、メニューボタン264を押下すると図6に示すようなコマンドリストが表示され、十字キー265で選択することにより他機器の機能を利用することができる。或いは、これらのコマンドを組み合わせることによって新たなアプリケーション機能を実現できる。
The
図7は、電子機器連携システム100のコマンド実行例を示す図である。
例えば、図7に示すように、機器2のコマンドリストには、自機器のコマンド(内部コマンド)として、機能1から機能3のコマンドが登録されており、他機器(機器2)のコマンド(外部コマンド)として、機能4および機能5のコマンドが登録されている。これにより、機器2は、機能1から機能5の5つのコマンドを使用することができる。そして、機器2は、これらのコマンドを組み合わせたアプリケーションプログラムを実行することができる。図7の例では、機器2は、コマンドの実行順序160として、機器2の機能1のコマンド、機器1の機能4のコマンド、機器1の機能5のコマンド、機器2の機能2のコマンド、機器2の機能3のコマンドの順に実行する。なお、これらのコマンドを組み合わせたアプリケーションプログラムは、内部コマンドと外部コマンドとを組み合わせたものに限られるものではなく、例えば、内部コマンドのみ、または外部コマンドのみを組み合わせたアプリケーションプログラムとしてもよい。
FIG. 7 is a diagram illustrating a command execution example of the electronic
For example, as shown in FIG. 7, in the command list of the
表示部206は、液晶モニタなどで構成される。そして、制御部204によって、撮影画像や設定メニューなどが表示される。
The
メモリカードIF207は、電子カメラ101にメモリカード207aを接続するためのインターフェースである。制御部204はメモリカードIF207を介してメモリカード207aに画像データを読み書きする。
The memory card IF 207 is an interface for connecting the
メモリ208は、例えばフラッシュメモリなどの不揮発性の半導体メモリで構成される。メモリ208には、電子カメラ101に設定された撮影モードや露出情報、フォーカス情報などのパラメータが記憶される。特に本実施形態では、自機器や他機器のコマンドリスト、機器情報、イベントなどが記憶される。
The
通信部209は、図1の通信回路14に対応し、電子機器間で通信可能なBluetooth(登録商標)、Wi−Fi(Wireless Fidelity、登録商標)などの規格に対応する。
The
以上が電子カメラ101の構成および基本動作である。
The above is the configuration and basic operation of the
[電子機器連携システム100の動作例]
次に、電子カメラ101を用いた電子機器連携システム100の動作例について説明する。なお、動作の基本的な流れは以下の通りである。
(1)機器間で通信を確立する。
(2)自機器の情報を相手に送信する。
(3)現在の自機器にて実行可能なコマンドリストなどを相手機器に送信する。
(4)相手機器からも機器情報とコマンドリストを受け取る。
(5)相手機器からコマンドを受信した場合はそのコマンドを実行し、実行結果を返信する。
(6)必要であれば自機器から相手機器にコマンドを送信し、実行結果を受け取る。
[Operation Example of Electronic Device Cooperation System 100]
Next, an operation example of the electronic
(1) Establish communication between devices.
(2) Send information about the device itself to the other party.
(3) A command list that can be executed by the current device is transmitted to the partner device.
(4) Receive device information and command list from the counterpart device.
(5) When a command is received from the counterpart device, the command is executed and the execution result is returned.
(6) If necessary, a command is transmitted from the own device to the other device, and the execution result is received.
図8は、C機能に対応する電子機器10として、電子カメラ101、および携帯電話102を利用して撮影処理を行う場合の電子機器連携システム100の動作の一例である。なお、図2と同符号のブロックおよび処理は同じものを示す。
FIG. 8 is an example of the operation of the electronic
図8において、電子カメラ101と、携帯電話102との間で通信確立(S101)後、図2を用いて説明したように、互いの機器情報や実行可能なコマンドを送受信(S102、S103)する。この図8に示すコマンドリストは図2のコマンドリスト131aおよびコマンドリスト132aに代えて、コマンドリスト131cおよびコマンドリスト132cである。
In FIG. 8, after establishing communication between the
電子カメラ101は、撮影コマンド151と、画像処理コマンド152と、付加情報登録コマンド153と、保存コマンド154とを有する。また、携帯電話102は電子メールコマンド161と、GPSコマンド162と、簡易位置情報取得コマンド163とを有する。電子カメラ101と携帯電話102のそれぞれのコマンド共有部18は、互いの機器情報とコマンドを送受信する。
The
これにより、電子カメラ101が有するコマンドリスト131cには、電子カメラ101が有するコマンドに加えて、電子メールコマンド161と、GPSコマンド162と、簡易位置情報取得コマンド163とが追加される。一方、携帯電話102が有するコマンドリスト132cには、携帯電話102が有するコマンドに加えて、撮影コマンド151と、画像処理コマンド152と、付加情報登録コマンド153と、保存コマンド154とが追加される。
Thereby, in addition to the command which the
すなわち、電子カメラ101のコマンドリスト131cおよび携帯電話102のコマンドリスト132cのそれぞれには、撮影コマンド151と、画像処理コマンド152と、付加情報登録コマンド153と、保存コマンド154と、電子メールコマンド161と、GPSコマンド162と、簡易位置情報取得コマンド163とが保持されている。
That is, the
[コマンドの実行例]
次に、図8において、電子カメラ101がGPSコマンド162を実行する場合は、GPSコマンド162を携帯電話102に送信する(S107)。携帯電話102は、GPSコマンド162を実行して緯度、経度などの位置情報を取得し、取得した位置情報を示すコマンド応答を電子カメラ101に送信する(S108)。そして、電子カメラ101は、携帯電話102から応答コマンドを受信することにより、位置情報を取得する。
[Example of command execution]
Next, in FIG. 8, when the
このようにして、電子カメラ101は、携帯電話102から現在の位置情報を取得することができる。すなわち、例えばGPS機能をもたない電子カメラ101であっても、GPS機能が自機能にあるかのように、GPS機能を有する電子カメラと同様に位置情報を取得することができる。
In this way, the
[制御プログラムによる処理の実行手順の例]
次に、制御プログラム15による処理の実行手順の一例について説明する。ここでは、図8に示す、電子カメラ101と、携帯電話102との2つの電子機器を連携して動作させる電子機器連携システム100を例として、この電子機器連携システム100において実行する処理の実行手順の一例について説明する。この例は、「観光地において電子カメラ101で撮影した画像に位置情報を付加してメモリカード207aに保存する」という利用シーンを想定している。ここで、図8を用いて説明したように、電子カメラ101と、携帯電話102との2つの電子機器は機器情報やコマンドリストを互いに送受信して、同じコマンドリストを共有している状態にある。この場合の利用可能なコマンドは、例えば電子カメラ101の撮影コマンド151、画像処理コマンド152、付加情報登録コマンド153、および保存コマンド154と、携帯電話102の電子メールコマンド161、GPSコマンド162、簡易位置情報取得コマンド163とである。
[Example of process execution procedure by control program]
Next, an example of an execution procedure of processing by the
図9は、制御プログラム15による処理(アプリケーションプログラムAとする)の実行手順の一例を示すフローチャートである。なお、アプリケーションプログラムAの処理は、例えばコマンドリスト131cのコマンドを組み合わせてユーザが自由に作成することができる。例えば図6で説明したような各コマンドに対応するアイコンを処理順に並べることにより、様々なアプリケーション機能を実現できる。本実施形態では既に図9に示す処理順序のアプリケーションプログラムが作成されているものとして説明する。
以下、図9に示す制御プログラム15に設定された実行手順の例を順に説明する。
FIG. 9 is a flowchart illustrating an example of an execution procedure of processing (referred to as application program A) by the
Hereinafter, examples of execution procedures set in the
(ステップS301:GPSコマンド162発行)制御部204は、コマンドリスト131cの中からGPSコマンド162を、通信部209を介して携帯電話102に送信し、実行結果として位置情報を取得する。
(Step S301: Issuing GPS command 162) The
(ステップS302:シャッターボタンイベント)制御部204は、シャッターボタン262が押下されたか否かを判別し、シャッターボタン262が押下されるまで待機する。そして、制御部204は、シャッターボタン262が押下されたことを検出した場合はステップS303に処理を進める。
(Step S302: Shutter button event) The
(ステップS303:撮影コマンド発行)制御部204は、コマンドリスト131cの中から撮影コマンド151を発行し、実行結果として撮影画像を取得する。例えば、制御部204は、撮像部202に、光学系201を介して入射された被写体像による画像データを取得させ、バッファ203に出力させる。
(Step S303: Shooting Command Issue) The
(ステップS304:画像処理コマンド発行)制御部204は、コマンドリスト131cの中から画像処理コマンド152を発行し、取得した撮影画像に対して画像処理(例えば、ホワイトバランス調整、コントラスト調整、JPEG圧縮などの処理)を実行することにより画像データを生成する。
(Step S304: Image processing command issuance) The
(ステップS305:付加情報登録コマンド発行)制御部204は、コマンドリスト131cの中から付加情報登録コマンド153を発行し、ステップS301において取得した位置情報(緯度経度情報、或いは地図データから住所情報に変換してもよい)を含む撮影時の設定情報や関連情報、またはファイル名を、ステップS304において生成した画像データに付加情報として登録する(付加する)。
(Step S305: Issue additional information registration command) The
(ステップS306;保存コマンド)制御部204は、保存コマンド154を発行して、ステップS305において付加情報を付加した画像データを、メモリカードIF207を介してメモリカード207aに保存する。
(Step S306; Save Command) The
なお、発行される各コマンド(或いはイベント)は、自機器または他機器のC機能プラットホーム16(電子カメラ101の場合はC機能プラットホーム251)のコマンド処理部17に送られる。ここで、OSは図6の制御部204に対応する。そして、コマンド処理部17は、コマンド(内部コマンドまたは外部コマンド)を実行する機器にコマンドを発行し、実行結果を取得する。
Each issued command (or event) is sent to the
なお、制御プログラム15による処理は、図9に示すアプリケーションプログラムAによる処理のような外部コマンドと内部コマンドとを組み合わせた処理に限られるものではなく、処理の内容に応じて、外部コマンドのみを組み合わせた処理としてもよいし、内部コマンドのみを組み合わせた処理としてもよい。
Note that the processing by the
図10は、コマンド実行処理の動作の一例を示すフローチャートである。この図10を参照して、電子カメラ101と携帯電話102との2つの電子機器を連携して動作させる電子機器連携システム100において、図9に示す制御プログラム15による処理(アプリケーションプログラムA)の実行手順に従ってコマンドを実行した場合のコマンドの実行処理の一例について説明する。
FIG. 10 is a flowchart illustrating an example of the operation of command execution processing. Referring to FIG. 10, in electronic
まず、制御部204は、アプリケーションプログラムAの実行手順に従ってGPSコマンド162を実行する。具体的には、コマンド処理部17は、コマンド共有部18のコマンドリスト20を参照して、制御プログラム15から受け取ったGPSコマンド162が携帯電話102(他機器)において実行する外部コマンドであることを判別して、GPSコマンド162を通信処理部19から通信回路14を介して接続される携帯電話102に送信する(ステップS401)。
First, the
制御部204は、GPSコマンド162を実行したことに応じて、実行結果である位置情報を取得する。例えば、コマンド処理部17は、GPSコマンド162を携帯電話102に送信したことに応じて、携帯電話102においてGPSコマンド162が実行されて取得された位置情報を、携帯電話102からのコマンド応答により受信する。そして、コマンド処理部17は、受信した位置情報を制御プログラム15側に返す(ステップS402)。
In response to the execution of the
次に、制御部204は、ステップS402においてGPSコマンド162の実行結果を取得したか否か(GPSコマンド162の実行処理が正常に終了したか否か)を判定する(ステップS403)。
Next, the
ステップS403において、GPSコマンド162の実行結果を取得していないと判定された場合、制御部204は、例えば処理エラーを示す表示を行うなどのエラー処理を実行して処理を終了する。
なお、制御部204は、ステップS403の処理において経過時間を監視して、実行結果を取得できない時間が所定の時間以上経過したか否かを検出することによりタイムアウト処理をするか否かを判定してもよい。例えば、制御部204は、処理の経過時間が所定の時間以上経過していない場合には、タイムアウト処理をしないでステップS402に処理を戻し、タイムアウトするまで、GPSコマンド162の実行結果を受信(取得)する処理を継続してもよい。一方、制御部204は、処理の経過時間が所定の時間以上経過した場合には、タイムアウトにより処理を終了してもよい。例えば、制御部204は、タイムアウト処理として、処理エラーを示す表示を行うなどのエラー処理を実行して処理を終了してもよい。
If it is determined in step S403 that the execution result of the
Note that the
一方、ステップS403において、GPSコマンド162の実行結果を取得したと判定した場合、制御部204は、アプリケーションプログラムAの実行手順に従った次のコマンドを選択(次のコマンドに移動)する(ステップS450)。例えば、制御部204は、次にシャッターイベントの受付けを許可するとともに、シャッターイベントを受付けた場合に撮影コマンド151を選択する。
On the other hand, if it is determined in step S403 that the execution result of the
次に、制御部204は、ステップS450において次のコマンドを選択できたか否か、すなわちアプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったか否かを判定する(ステップS451)。この時点では、制御部204は、次のコマンドとして撮影コマンド151を選択するため、処理をステップS401に戻し、撮影コマンド151を制御プログラム15からコマンド処理部17に送信する。ステップS401において、コマンド処理部17は、コマンド共有部18のコマンドリスト20を参照して、制御プログラム15から受け取った撮影コマンド151が電子カメラ101(自機器)において実行する内部コマンドであることを判別して、撮影コマンド151を実行する。
Next, the
そして、制御部204は、ステップS401からS406の処理を、アプリケーションプログラムAの実行手順に従って、撮影コマンド151、画像処理コマンド152、付加情報登録コマンド153、保存コマンド154、の順番にそれぞれ実行する。また、ステップS451において、アプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったと判定された場合、制御部204は処理を終了する。
Then, the
このように、本実施形態に係る電子機器連携システム100では、電子カメラ101の制御部204が、制御プログラム15に設定されたコマンドの実行手順に従って、外部コマンドを携帯電話102に送信することにより携帯電話102において実行するとともに、内部コマンドを電子カメラ101において実行することができる。そして、制御部204は、制御プログラム15に設定されたコマンドの実行手順に従って実行された外部コマンドまたは内部コマンドの実行結果を取得した後に、次の手順のコマンドを実行することができる。
As described above, in the electronic
ところで、図10を用いて説明した処理において、例えば、ステップS403において実行結果を取得できないと判定された場合、取得するまでの間は次のコマンドの実行が待たされる、または取得できないために処理が中断されて終了するといった問題がある。例えば、図9に示すアプリケーションプログラムAの実行手順において、電子カメラ101は、携帯電話102からGPSコマンド162の実行結果を取得できない場合、取得するまでの間はシャッターボタンのイベントを受け付けることができず撮影コマンド151の実行ができない。ここで、携帯電話102からGPSコマンド162の実行結果を取得できない場合とは、例えば、携帯電話102において、動作状態などによってGPSコマンド162を実行する準備ができていない場合、またはGPSコマンド162による処理の実行結果の取得が遅延した場合、などである。この場合、電子カメラ101において撮影処理が行えないために、シャッタータイミングを逃してしまう場合がある。また、実行結果を取得できないことにより、アプリケーションプログラムAの処理が中断されてしまう場合がある。
In the process described with reference to FIG. 10, for example, if it is determined in step S403 that the execution result cannot be acquired, the execution of the next command is awaited until it is acquired, or the process cannot be acquired. There is a problem of being interrupted and exiting. For example, in the execution procedure of the application program A shown in FIG. 9, if the
上述したように、制御プログラム15に設定されたコマンドの実行手順(アプリケーションプログラムAの実行手順)に従って、コマンドを実行した場合に、特に、他機器の動作状況によって、他機器で実行する外部コマンドの実行結果をすぐに取得できない場合がある。このように実行結果を取得できない場合、本実施形態に係る電子機器連携システム100では、そのコマンドの実行結果の取得を後回しにすることによって、制御プログラム15に設定されたコマンドの実行手順に従った処理を継続させるようにする。例えば、電子カメラ101は、携帯電話102からGPSコマンド162の実行結果を取得できない場合にはその取得を待たずに、シャッターボタンのイベントを受け付け可能とし、撮影コマンド151の実行が可能なように制御する。そして、電子カメラ101は、取得できなかったGPSコマンド162の実行結果を後から取得する。
以下に、コマンドの実行結果を取得できない場合に、そのコマンドの実行を後にして実行結果の取得を後から行う処理(遅延実行処理)について説明する。
As described above, when a command is executed in accordance with the command execution procedure set in the control program 15 (application program A execution procedure), the external command executed by the other device depends on the operation status of the other device. The execution result may not be obtained immediately. When the execution result cannot be acquired in this way, the electronic
In the following, a process (delayed execution process) in which when a command execution result cannot be acquired, the execution of the command is executed later and the execution result is acquired later will be described.
[遅延実行処理を用いたコマンドの実行処理の説明]
(遅延実行処理を用いたコマンドの実行処理の第1例)
制御部204は、コマンド共有部18に管理されている複数のコマンドのうち選択されたコマンドを、制御プログラム15に設定されたコマンドの実行手順で実行させる処理を制御する。コマンド処理部17は、このコマンドの実行手順に従って、外部コマンド(第1コマンド)を通信部を介して携帯電話102に送信するとともに、携帯電話102が外部コマンド(第1コマンド)を実行することにより得られた実行結果(第1実行結果)を取得する。制御部204(制御プログラム15)は、コマンド処理部17が外部コマンド(第1コマンド)による実行結果(第1実行結果)を取得できない場合、この実行結果(第1実行結果)の取得を待たずに、コマンドの実行手順に従った処理を継続する。
例えば、制御部204(制御プログラム15)は、コマンド処理部17が実行結果(第1実行結果)を取得できない場合、この実行結果(第1実行結果)を取得する前に実行可能な処理を、コマンドの実行手順に従って継続する。
[Description of command execution processing using delayed execution processing]
(First example of command execution processing using delayed execution processing)
The
For example, when the
図9に示すアプリケーションプログラムAの実行手順を例に説明すると、まず、制御部204は、コマンドリスト131cの中からGPSコマンド162を、通信部209を介して携帯電話102に送信する。ここで、携帯電話102は、例えば、GPSコマンド162を実行する準備ができていない場合、GPSコマンド162を実行することにより得られるはずの位置情報を取得できないため、そのコマンドIDと仮情報(例えばダミーデータ)を電子カメラ101に対して応答(送信)する。これにより、制御部204は、GPSコマンド162の実行結果として、仮情報を取得する(ステップS301)。なお、制御部204は、GPSコマンド162を実行することにより得られる位置情報を取得できない場合、携帯電話102から仮情報を受信しなくとも、自機器において仮情報を生成(設定)してもよい。
The procedure for executing the application program A shown in FIG. 9 will be described as an example. First, the
次に、制御部204は、シャッターボタンイベントの取得を可能に制御し、シャッターボタン262が押下されたことを検出した場合(ステップS302)、撮影コマンド151を発行(実行)し、実行結果として撮影画像を取得する(ステップS303)。そして、制御部204は、取得した撮影画像に対して画像処理を実行することにより画像データを生成する(ステップS304)。ここで、シャッターボタンイベント(ステップS302)、撮影コマンド発行(ステップS303)、および画像処理コマンド発行(ステップS304)の処理は、GPSコマンド162を実行することにより得られる位置情報とは関係なく実行が可能な処理である。
Next, the
続いて、制御部204は、ステップS305の付加情報登録コマンド発行の処理を行う。この処理において、制御部204は、位置情報として上述の仮情報を画像データに登録(付加)する(ステップS305)。そして、制御部204は、保存コマンド154を発行して、上述の仮情報を付加した画像データをメモリカード207aに保存する(ステップS306)。
なお、コマンドの実行結果の代わりの仮情報(例えばダミーデータ)は、その処理において必要に応じて用いればよく、必要がない場合は仮情報を用いることなく、実行手順に従って次のコマンドを実行してもよい。
Subsequently, the
The temporary information (eg, dummy data) instead of the command execution result may be used as necessary in the processing. If it is not necessary, the next command is executed according to the execution procedure without using the temporary information. May be.
このように、制御部204は、携帯電話102に送信した外部コマンドであるGPSコマンド162の実行結果として位置情報を取得できない場合、このGPSコマンド162の実行および位置情報の取得を後にして、制御プログラム15(アプリケーションプログラムA)の実行手順に従って次のコマンドを実行する。これにより、制御部204は、制御プログラム15の処理を中断させることなく継続して実行することができる。例えば、電子カメラ101は、携帯電話102のGPS機能による位置情報を取得できない場合であっても、撮影動作が可能となるように処理を継続することができる。
As described above, when the position information cannot be acquired as the execution result of the
また、制御部204(制御プログラム15)は、外部コマンド(第1コマンド)による実行結果(第1実行結果)の取得を待たずにコマンドの実行手順に従った処理を継続した後に、この実行結果(第1実行結果)をコマンド処理部17に取得させる。例えば、制御部204(制御プログラム15)は、この実行結果(第1実行結果)の取得を待たずにコマンドの実行手順に従った処理を継続した後に、携帯電話102に対して外部コマンド(第1コマンド)をコマンド処理部17に再度送信させる。
Further, the control unit 204 (control program 15) continues the processing according to the command execution procedure without waiting for the acquisition of the execution result (first execution result) by the external command (first command), and then executes the execution result. The
例えば、制御部204は、制御プログラム15(アプリケーションプログラムA)の実行手順に従った処理を継続した後(例えば処理が完了した後)に、再度GPSコマンド162を携帯電話102に送信する。携帯電話102は、例えば、GPSコマンド162が実行可能になった後に電子カメラ101から再度受信したGPSコマンド162を実行することにより位置情報を取得する。すなわち、携帯電話102のコマンド処理部(図1に示す電子機器を携帯電話102とした場合のコマンド処理部17)は、通信回路(図1に示す電子機器を携帯電話102とした場合の通信回路14、通信部)により受信したGPSコマンド162(第2コマンド)による処理を実行できない場合、GPSコマンド162による処理が実行可能になった後に得られた位置情報(実行結果、第2実行結果)を、電子カメラ101(他機器)に送信する。そして、制御部204は、携帯電話102から位置情報を取得した場合、上述の仮情報(例えばダミーデータ)を付加した画像データ(または実行結果が付加されていない画像データ)に対して、正規の位置情報(再度GPSコマンド162を送信することにより携帯電話102がGPSコマンド162を実行して取得した位置情報)を書き込む。
For example, the
これにより、制御部204は、制御プログラム15(アプリケーションプログラムA)の実行手順に従って実行したコマンドの実行結果を取得できない場合であっても、実行手順に従った処理を継続することができるとともに、処理を継続した後に、取得できなかった実行結果を取得して処理に反映することができる。
Thereby, the
なお、制御部204は、コマンドの実行結果を取得できない場合、実行手順に従った処理を継続するために、上述の仮情報(例えばダミーデータ)を用いた仮の処理(仮処理)を実行することに代えて、実行結果を取得できなかったコマンドを代替する代替処理(仮処理)を実行してもよい。この場合の代替処理(仮処理)は、例えば、GPSコマンド126を実行する処理に代えて、GPS機能以外の他の機能によって位置情報を同様に取得する処理である。
If the execution result of the command cannot be acquired, the
例えば、制御部204は、コマンドの実行結果を取得できない場合、コマンドリスト20に登録されているコマンドのうち、同様な機能を実行する代替コマンドを実行することにより得られた実行結果(代替実行結果)を取得する。
図11は、コマンドリスト20に登録されているコマンドの機能グループ毎の分類を示す図である。この図は、電子カメラ101と、携帯電話102と、画像処理サーバ104とがそれぞれ有するコマンドを共有した際の、それぞれのコマンドの機能グループ毎の分類を示している。この機能グループは、例えばコマンドに含まれるコマンド機能名(撮影機能、位置情報取得機能、プリンタ機能、画像処理機能、超解像度画像処理機能、顔検出機能など)に基づいて分類される。
For example, when the execution result of the command cannot be acquired, the
FIG. 11 is a diagram showing the classification of commands registered in the
図11では、撮影機能グループG101には、電子カメラ101が有する静止画撮影コマンドおよび動画撮影コマンドと、携帯電話102が有する静止画撮影コマンドおよび動画撮影コマンドとが含まれている。位置情報取得機能グループG102には、携帯電話102が有するGPSコマンド162および簡易位置情報取得コマンド163が含まれている。画質調整機能グループには、電子カメラ101が有するホワイトバランス調整(WB調整)コマンドおよびコントラスト調整コマンドと、画像処理サーバ104が有するWB調整コマンドおよびコントラスト調整コマンドとが含まれている。顔検出機能グループG104には、電子カメラ101が有する顔検出コマンドと、画像処理サーバ104が有する顔認識コマンドとが含まれている。
In FIG. 11, the shooting function group G101 includes a still image shooting command and a moving image shooting command that the
それぞれの機能グループに含まれているコマンドは、機能の詳細が異なっても基本的な機能が同様であるため、互いに代替処理(仮処理)を行うことにより代替実行結果(仮実行結果、仮情報)を取得することができる。例えば、GPSコマンド162に代えて、簡易位置情報取得コマンド163を代替処理として実行することにより、GPSの測位データに基づく位置情報に比較すると位置精度が劣るが、携帯電話通信網の基地局の場所に基づく位置情報を代替実行結果(仮実行結果)として取得することができる。
The commands included in each function group have the same basic functions even if the details of the functions are different. Therefore, the alternative execution results (provisional execution results, temporary information) can be obtained by performing alternative processing (provisional processing) with each other. ) Can be obtained. For example, by executing the simple position
これにより、制御部204は、コマンド処理部17がGPSコマンド162を実行することにより得られる位置情報を取得できない場合、GPSコマンド162を代替する簡易位置情報取得コマンド163を実行することにより得られた位置情報を代替実行結果(仮実行結果)として取得することが可能である。
Thereby, when the
例えば、制御部204は、コマンド処理部17が外部コマンド(第1コマンド)を実行することにより得られる実行結果(第1実行結果)を取得できない場合、この外部コマンド(第1コマンド)を代替するコマンドを実行することにより得られた実行結果である代替実行結果(第1代替実行結果、仮実行結果)をコマンド処理部17に取得させる。
For example, when the
また、制御部204は、コマンド処理部17が代替実行結果(第1代替実行結果、仮実行結果)を取得したか否か、を判定し、代替実行結果(第1代替実行結果、仮実行結果)を取得したと判定した場合、携帯電話102(他機器)に対して外部コマンド(第1コマンド)をコマンド処理部17に再度送信させる。そして、制御部204は、コマンド処理部17が代替実行結果(第1代替実行結果、仮実行結果)を取得した後に実行結果(第1実行結果)を取得した場合、代替実行結果(第1代替実行結果、仮実行結果)を取得した実行結果(第1実行結果)に変更する。
Further, the
図12は、遅延実行処理を用いたコマンドの実行処理の第1例を示すフローチャートである。この図12を参照して、電子カメラ101と携帯電話102との2つの電子機器を連携して動作させる電子機器連携システム100において、図9に示す制御プログラム15による処理(アプリケーションプログラムA)の実行手順に従ってコマンドを実行した場合を例として、遅延実行処理を用いたコマンドの実行処理の一例について説明する。
なお、図11において図10の各処理に対応する部分には同一の符号を付け、その説明を省略する。
FIG. 12 is a flowchart illustrating a first example of command execution processing using delayed execution processing. Referring to FIG. 12, in electronic
In FIG. 11, parts corresponding to the respective processes in FIG.
ステップS403において、GPSコマンド162の実行結果を取得していないと判定された場合、制御部204は、この実行結果を取得できなかったGPSコマンド162を未取得コマンドとしてメモリ208に記憶させる(ステップS411)。例えば、制御部204は、この実行結果を取得できなかったGPSコマンド162(未取得コマンド)に含まれる情報(コマンドID、コマンド機能名、実行可能な機器、等)をメモリ208に記憶させる。
If it is determined in step S403 that the execution result of the
次に、制御部204は、GPSコマンド162を代替するコマンドとして、簡易位置情報取得コマンド163を携帯電話102に送信する。すなわち、制御部204は、GPSコマンド162の代替処理(仮処理)として、簡易位置情報取得コマンド163を実行する(ステップS412)。
Next, the
続いて、制御部204は、簡易位置情報取得コマンド163を実行することにより得られた位置情報(代替実行結果、仮実行結果)を、携帯電話102から取得する(ステップS413)。そして、制御部204は、ステップS450に処理を進め、図10を用いて説明したように、ステップS401からS406の処理を、アプリケーションプログラムAの実行手順に従って、撮影コマンド151、画像処理コマンド152、付加情報登録コマンド153、保存コマンド154、の順番にそれぞれ実行する。
Subsequently, the
ステップS451において、アプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったと判定された場合、制御部204は、ステップS401〜S451の処理(実行手順に従った処理)において、代替処理が実行されたか否か(仮処理があったか否か)を判定する(ステップS470)。例えば、制御部204は、未取得コマンドがメモリ208に記憶されているか否かにより、代替処理が実行されたか否か(仮処理があったか否か)を判定する。
If it is determined in step S451 that all commands to be executed in accordance with the execution procedure of the application program A have been executed (command end), the
ステップS470において、代替処理が実行された(仮処理有り)と判定された場合、制御部204は、メモリ208に記憶されている未取得コマンド、すなわちGPSコマンド162を、再度携帯電話102に送信して実行する(ステップS480)。
If it is determined in step S470 that the substitute process has been executed (provisional process is present), the
そして、制御部204は、GPSコマンド162を実行することにより得られた位置情報(正規の実行結果)を取得して、ステップS413において取得された代替実行結果の位置情報を、正規の実行結果の位置情報に変更する(正規結果代入、ステップS481)。
Then, the
なお、制御部204は、代替実行結果を正規の実行結果に書き換える場合、例えば、保存した画像データを一旦読み出し、読み出した画像データの付加情報を正規の実行結果に書き換えた後、再び保存してもよい。
Note that, when the alternative execution result is rewritten to the regular execution result, the
なお、図12を用いて説明した処理において、代替実行結果(仮実行結果)を用いる処理に代えて、前述したような仮情報(例えばダミーデータ)を用いる処理としてもよい。 In the process described with reference to FIG. 12, instead of the process using the alternative execution result (provisional execution result), the process using temporary information (for example, dummy data) as described above may be used.
このように、制御部204は、携帯電話102に送信した外部コマンドであるGPSコマンド162の実行結果として位置情報を取得できない場合、このGPSコマンド162を代替するコマンドを実行することにより代替実行結果の位置情報を取得する。また、制御部204は、制御プログラム15(アプリケーションプログラムA)の実行手順に従った処理が終了した後に、再度GPSコマンド162を実行することにより、正規の位置情報(実行結果)を取得する。
As described above, when the position information cannot be acquired as the execution result of the
これにより、制御部204は、制御プログラム15の処理を中断させることなく継続して実行することができる。例えば、電子カメラ101は、携帯電話102のGPS機能による位置情報を取得できない場合であっても、GPS機能に代わる機能による位置情報を代替実行結果として取得することにより、撮影動作が可能となるように処理を継続することができる。また、制御部204は、制御プログラム15の実行手順に従った処理を継続した後に、正規の位置情報(実行結果)を取得して、代替実行結果の位置情報を正規の位置情報に置き換えることができる。また、電子カメラ101は、仮に、携帯電話102のGPS機能による位置情報を後から取得できない場合であっても、GPSの測位データに基づく位置情報に比較すると位置精度が劣るが、携帯電話通信網の基地局の場所に基づく位置情報を概略の位置情報として利用することができる。
Thereby, the
(遅延実行処理を用いたコマンドの実行処理の第2例)
次に、電子カメラ101が携帯電話102に対して外部コマンドを送信した場合に、この外部コマンドによる実行結果が得られるまでの予測した所要時間(予測所要時間)を携帯電話102から取得して処理を行う場合について説明する。
(Second example of command execution processing using delayed execution processing)
Next, when the
携帯電話102(他機器)が外部コマンド(第1コマンド)を実行したことによる処理が完了していない状態、および外部コマンド(第1コマンド)を実行することが不可能な状態の何れかであることによって、電子カメラ101(コマンド処理部17)は、外部コマンド(第1コマンド)を実行することにより得られる実行結果(第1実行結果)を取得できない場合がある。この場合、制御部204は、コマンド処理部17に、携帯電話102において実行結果(第1実行結果)が得られるまでの予測所要時間を示す情報を携帯電話102から取得させるとともに、取得した予測所要時間に基づいて、実行結果(第1実行結果)および代替実行結果(第1代替実行結果)のうちから取得させる実行結果を選択する。
Either the state where the processing by the mobile phone 102 (other device) executing the external command (first command) is not completed or the state where the external command (first command) cannot be executed. Thus, the electronic camera 101 (command processing unit 17) may not be able to acquire an execution result (first execution result) obtained by executing an external command (first command). In this case, the
一方、携帯電話102側は、電子カメラ101から外部コマンド(第2コマンド)を受信した場合、受信した外部コマンド(第2コマンド)を実行することにより実行結果(第2実行結果)が得られるまでの予測所要時間を示す情報を、予測時間算出部(図1に示す電子機器を携帯電話102とした場合の処理時間算出部21)において算出して電子カメラ101に送信する。
On the other hand, when receiving an external command (second command) from the
すなわち、携帯電話102は、自機器が備えている機能の処理を実行する外部コマンド(第2コマンド)を、通信回路(図1に示す電子機器を携帯電話102とした場合の通信回路14、通信部)を介して、電子カメラ101(他機器)から受信する。そして、携帯電話102は、外部コマンド(第2コマンド)を受信した場合、この外部コマンド(第2コマンド)を実行することにより得られた実行結果(第2実行結果)、および、この実行結果(第2実行結果)が得られるまでの予測所要時間を示す情報の何れかを電子カメラ101に対して送信する。
That is, the
例えば、制御部204は、取得した予測所要時間が所定の閾値以上であるか否かを判定する。そして、制御部204は、取得した予測所要時間が所定の閾値以上であると判定した場合、コマンド処理部17に代替実行結果(第1代替実行結果)を取得させる。ここで所定の閾値とは、例えば外部コマンド(第1コマンド)を実行することにより得られる第1実行結果の取得が可能になるまで次の処理を行わずに待機するか否かを判定するために設定された閾値である。すなわち、制御部204は、取得した予測所要時間が所定の閾値未満であると判定した場合、第1実行結果を取得するまで次に処理移行しないで(実行手順に従った処理を係属しないで)待機する。
For example, the
図13は、遅延実行処理を用いたコマンドの実行処理の第2例を示すフローチャートである。この図13を参照して、予測所要時間に応じた遅延実行処理を用いたコマンドの実行処理の一例について説明する。
なお、図13において図12の各処理に対応する部分には同一の符号を付け、その説明を省略する。
FIG. 13 is a flowchart illustrating a second example of command execution processing using delayed execution processing. With reference to FIG. 13, an example of a command execution process using a delay execution process corresponding to the estimated required time will be described.
In FIG. 13, parts corresponding to the respective processes in FIG.
ステップS403において、GPSコマンド162の実行結果を取得していないと判定された場合、制御部204は、携帯電話102の状態(動作状態、コマンド実行状態)を取得する。例えば、制御部204は、携帯電話102においてGPSコマンド162の実行結果が得られるまでの予測所要時間(T)を示す情報を、携帯電話102からコマンド処理部17を介して取得する(ステップS405)。
If it is determined in step S403 that the execution result of the
次に、制御部204は、取得した予測所要時間(T)が所定の閾値(n)以上(T≧n)であるか否かを判定する(ステップS406)。そして、ステップS406において、予測所要時間(T)が所定の閾値(n)以上(T≧n)であると判定された場合、制御部204は、図12を用いて説明したステップS411、S412、S413の処理を実行する。これにより、制御部204は、簡易位置情報取得コマンド163を実行することにより得られた代替実行結果(第1代替実行結果)を携帯電話102から取得して、ステップS450に処理を進める。なお、所定の閾値(n)とは、前述したように、例えば外部コマンド(第1コマンド)を実行することにより得られる第1実行結果の取得が可能になるまで次の処理を行わずに待機するか否かを判定するために設定された閾値(n)である。
Next, the
一方、ステップS406において、予測所要時間(T)が所定の閾値(n)未満(T<n)であると判定された場合、制御部204は、予測所要時間(T)待機した後に(ステップS421)、GPSコマンド162を携帯電話102に再度送信して実行させる(ステップS422)。これにより、携帯電話102においてGPSコマンド162が実行されたことに応じて携帯電話102から送信される位置情報(GPSコマンド162の実行結果、正規の実行結果)を取得する(ステップS423)。
On the other hand, when it is determined in step S406 that the predicted required time (T) is less than the predetermined threshold (n) (T <n), the
このように、制御部204は、コマンド処理部17に、携帯電話102においてGPSコマンド162の実行結果が得られるまでの予測所要時間を示す情報を携帯電話102から取得させるとともに、取得した予測所要時間に基づいて、GPSコマンド162の実行結果および代替実行結果のうちから取得させる実行結果を選択する。つまり、電子カメラ101は、携帯電話102に実行させたGPSコマンド162(外部コマンド)の実行結果が得られるまでの予測所要時間に基づいて、このGPSコマンド162(外部コマンド)の実行結果を取得するまで待機するか、または待機せずに代替コマンドである簡易位置情報取得コマンド163を実行することにより得られる代替実行結果を取得するか、を選択する。
As described above, the
これにより、電子カメラ101は、携帯電話102から外部コマンドを実行することにより得られる実行結果を取得できない場合に、この実行結果が得られるまでの予測所要時間に応じて、代替処理を行うか否かを選択することができる。すなわち、電子カメラ101は、処理の予測所要時間に応じて、実行したコマンドの実行結果を取得するまで待機するか、または待機せずに代替処理を実行することにより次に処理に進むか、を選択することができる。例えば、電子カメラ101は、上述したようなGPSコマンド162の実行結果を取得するまでの予測所要時間が所定の閾値より長い場合、その実行結果の取得を待たずに代替処理を実行することにより、撮影ができなくなることを防止することができる。なお、予測所要時間が所定の閾値より長い場合に行う代替処理は、代替コマンドを実行することにより代替実行結果を取得するのに代えて、代替コマンドを実行せずに単に仮情報(ダミーデータ)を用いた処理としてもよい。
Thereby, when the
(遅延実行処理を用いたコマンドの実行処理の第3例)
次に、遅延実行処理を用いたコマンドの実行処理において、コマンドの再実行により電子カメラ101(自機器)が実行結果(正規の実行結果)を取得する前に、電子カメラ101の電源がオフされた場合の処理を説明する。
例えば、アプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったことにより、ユーザが電源ボタン261を操作して電子カメラ101を電源オフさせる場合がある。この場合、未取得コマンドを再度実行することができないことにより、正規の実行結果を後から取得できない場合がある。このように、電子カメラ101(自機器)が遅延実行処理(未取得コマンドの再実行処理)の前に電源オフされた場合の処理について説明する。
(Third example of command execution processing using delayed execution processing)
Next, in the command execution process using the delayed execution process, the
For example, the user may operate the
図14は、遅延実行処理を用いたコマンドの実行処理の第3例を示すフローチャートである。この図14は、図12に示す処理において実行手順に従った処理を完了した後、且つ未取得コマンドを再度実行する前に、電子カメラ101の電源がオフされた場合の処理を示している。なお、図14において図12の各処理に対応する部分には同一の符号を付け、その説明を省略する。
FIG. 14 is a flowchart illustrating a third example of command execution processing using delayed execution processing. FIG. 14 shows a process when the power of the
ステップS451において、アプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったと判定された場合、制御部204は、電源オフイベントを検出したか否かを判定する(ステップS460)。ステップS451において、電源オフイベントが検出されない場合、制御部204は、図22を用いて説明したステップS470、S480、S481の処理を実行して、ステップS413において取得された代替実行結果の位置情報を、正規の実行結果の位置情報に変更する。
If it is determined in step S451 that all commands executed in accordance with the execution procedure of the application program A have been executed (command end), the
一方、ステップS451において、電源オフイベントが検出された場合(例えば、電源ボタン261が電源オフに操作されたことが検出された場合)、制御部204は、処理が未完了であることを示す情報を表示部206に表示させる(ステップS485)。次に、制御部204は、未取得コマンドに含まれる情報(コマンドID、コマンド機能名、実行可能な機器、等)、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録する(ステップS486)。
On the other hand, when a power-off event is detected in step S451 (for example, when it is detected that the
このように、制御部204は、未取得コマンドを再度実行する前に、電子カメラ101の電源がオフされた場合、処理が未完了であることを示す情報を表示部206に表示させてから電源オフの状態に制御する。また、制御部204は、未取得コマンドを再度実行する前に、電子カメラ101の電源がオフされた場合、未取得コマンドに含まれる情報、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録する。
As described above, when the power of the
これにより、電子カメラ101は、未取得コマンドを再度実行する前に、電子カメラ101の電源がオフされた場合、処理が未完了であることを示す情報を表示部206に表示することができるため、ユーザに対して処理が未完了であることを報知することができる。また、電子カメラ101は、未取得コマンドを再度実行する前に、電子カメラ101の電源がオフされた場合、未取得コマンドに含まれる情報、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録することができる。なお、この未完了処理の登録処理について、詳しくは後述する。
As a result, the
(遅延実行処理を用いたコマンドの実行処理の第4例)
次に、遅延実行処理を用いたコマンドの実行処理において、携帯電話102(他機器)から実行結果を取得する前に、携帯電話102の電源がオフされた場合の処理を説明する。
(Fourth example of command execution processing using delayed execution processing)
Next, in the command execution process using the delay execution process, a process when the power of the
例えば、電子カメラ101が携帯電話102において実行するコマンドを送信した際、または送信した後に実行結果を取得する前に、携帯電話102との通信が遮断されている場合がある。この場合、アプリケーションプログラムAの実行手順で実行するコマンドの実行結果、または未取得コマンドを再度実行することにより得られる実行結果を取得できない場合がある。このような、携帯電話102(他機器)との通信が、処理の途中で遮断された場合の電子カメラ101(自機器)における処理について説明する。なお、通信が遮断された場合とは、携帯電話102の電源がオフされた状態、携帯電話102において通信処理が不可能な動作状態、携帯電話102が通信可能な場所にない状態、などによって通信が遮断された場合である。
For example, communication with the
図15は、遅延実行処理を用いたコマンドの実行処理の第4例を示すフローチャートである。この図15は、図12に示す処理の途中で、携帯電話102との通信が遮断された場合の電子カメラ101の処理を示している。なお、図15において図12の各処理に対応する部分には同一の符号を付け、その説明を省略する。
FIG. 15 is a flowchart illustrating a fourth example of command execution processing using delayed execution processing. FIG. 15 shows processing of the
ステップS403において、GPSコマンド162の実行結果を取得していないと判定された場合、制御部204は、携帯電話102と通信が接続されている状態であるか否か(通信接続済みであるか否か)を判定する(ステップS407)。
If it is determined in step S403 that the execution result of the
ステップS407において、携帯電話102と通信が接続されている状態であると判定された場合、制御部204は、図12を用いて説明したステップS411、S412、S413の処理を実行する。これにより、制御部204は、簡易位置情報取得コマンド163により得られた位置情報(代替実行結果、仮実行結果)を、携帯電話102から取得する。
If it is determined in step S407 that the communication with the
一方、ステップS407において、携帯電話102と通信が接続されていない状態(遮断状態)であると判定された場合、制御部204は、処理を継続するか否かをユーザが選択可能な確認画面(選択メニュー画面など)を、表示部206に表示させる(ステップS408)。
On the other hand, if it is determined in step S407 that the communication with the
そして、制御部204は、ユーザにより処理を継続するか否かの何れが選択されたかを検出し、この検出結果に基づいて、処理を終了するか否かを判定する(ステップS409)。制御部204は、ステップS409において、処理を終了しない(処理を継続することが選択された)と判定した場合、図12を用いて説明したステップS411、S412、S413の処理を実行する。この場合、携帯電話102との通信が遮断されているため、電子カメラ101は、例えば未取得コマンドを登録する(ステップS411)とともに、電子カメラ101内において、仮情報(ダミーデータ)を仮実行結果とする仮処理(ステップS412、S413)を行い、ステップS450に処理を進める。一方、制御部204は、ステップS409において、処理を終了する(処理を継続しないことが選択された)と判定した場合、アプリケーションプログラムAの処理を終了する。
Then, the
また、ステップS451において、アプリケーションプログラムAの実行手順に従って実行するコマンドが全て実行済み(コマンド終了)になったと判定された場合、制御部204は、ステップS401〜S451の処理(実行手順に従った処理)において、代替処理が実行されたか否か(仮処理があったか否か)を判定する(ステップS470)。そして、ステップS470において、代替処理が実行された(仮処理有り)と判定された場合、制御部204は、携帯電話102と通信が接続されている状態であるか否か(通信接続済みであるか否か)を判定する(ステップS471)。
If it is determined in step S451 that all commands to be executed in accordance with the execution procedure of the application program A have been executed (command end), the
ステップS471において、携帯電話102と通信が接続されている状態であると判定された場合、制御部204は、図12を用いて説明したステップS480、S481の処理を実行する。すなわち、制御部204は、GPSコマンド162を再度実行することにより得られた位置情報(正規の実行結果)を取得して、ステップS413において取得された代替実行結果(第1代替実行結果)の位置情報を、正規の実行結果の位置情報に変更する(正規結果代入)。
If it is determined in step S471 that the communication with the
一方、ステップS471において、携帯電話102と通信が接続されていない状態(遮断状態)であると判定された場合、制御部204は、図14を用いて説明したステップS485、S486の処理を実行する。すなわち、制御部204は、処理が未完了であることを示す情報を表示部206に表示させるとともに、未取得コマンドに含まれる情報、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録する。
On the other hand, when it is determined in step S471 that the communication with the
このように、制御部204は、携帯電話102において実行するコマンドを送信した際、または送信した後に実行結果を取得する前に、携帯電話102との通信が遮断されている場合、処理を継続するか否かをユーザが選択可能な確認画面(選択メニュー画面など)を、表示部206に表示させる。また、制御部204は、携帯電話102において実行するコマンドを送信した際、または送信した後に実行結果を取得する前に、携帯電話102との通信が遮断されている場合、処理が未完了であることを示す情報を表示部206に表示させるとともに、未取得コマンドに含まれる情報、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録する。
As described above, the
これにより、電子カメラ101は、携帯電話102との通信が遮断されていることにより、携帯電話102において実行する外部コマンドの実行結果を取得できない場合、処理を継続するか否かをユーザに選択させることができる。また、電子カメラ101は、処理が未完了であることを示す情報を表示部206に表示することができるため、ユーザに対して処理が未完了であることを報知することができる。さらに、電子カメラ101は、未取得コマンドに含まれる情報、および、この未取得コマンドによる実行結果を後から取得するために必要な情報等を、未完了処理として登録することができる。なお、この未完了処理の登録処理について、詳しくは後述する。
As a result, the
(未完了処理の登録)
次に、図13、14に示すステップS486の未完了処理の登録の処理について、詳しく説明する。
図13に示すように、電子カメラ101は、携帯電話102からGPSコマンド162の位置情報(正規の実行結果)を取得できていない状態のまま電源がオフされた場合、その後に、所望の位置情報(撮影した場所の位置情報)を携帯電話102から取得することは困難である。例えば、次に電子カメラ101の電源をオンにしたタイミングで、電子カメラ101と携帯電話102との通信が接続できたとしても、そのタイミングまで携帯電話102の位置(携帯電話102を所有している人のいる場所)が、所望の位置情報(撮影した場所の位置情報)が得られる場所(位置)に留まっているとは限らない。
(Registration of incomplete processing)
Next, the incomplete process registration process in step S486 shown in FIGS. 13 and 14 will be described in detail.
As shown in FIG. 13, when the
また、図14に示すよう、電子カメラ101は、携帯電話102からGPSコマンド162の位置情報(正規の実行結果)を取得できていない状態のまま、携帯電話102との通信が遮断された場合も、その後に、所望の位置情報(撮影した場所の位置情報)を携帯電話102から取得することは同様に困難である。例えば、次に電子カメラ101と携帯電話102との通信が接続できたときに、携帯電話102の位置(携帯電話102を所有している人のいる場所)が、所望の位置情報(撮影した場所の位置情報)が得られる場所に留まっているとは限らない。特に、携帯電話102のユーザと電子カメラ101のユーザとが異なる場合には、次に通信が接続可能となることがあるか否かも不明であり、アプリケーションプログラムAの処理により撮影した場所の位置情報を携帯電話102から取得することはより困難である。
In addition, as shown in FIG. 14, the
本実施形態の電子機器連携システム100において、電子カメラ101は、携帯電話102からGPSコマンド162の位置情報(正規の実行結果)を取得できていない状態のまま電源のオフや通信の遮断が生じた場合に、例えば通信ネットワーク(インターネット)を介して接続されるサーバ(例えばWebサーバ)を利用して、正規の実行結果(位置情報)を後から取得可能である。すなわち、図13、14に示すステップS486の未完了処理の登録の処理は、未取得コマンドが実行可能となった時点で取得した正規の実行結果を、通信ネットワーク(インターネット)を介して接続されるサーバを介して後から取得可能とするための処理である。
In the electronic
図16は、インターネットを介して接続されるWebサーバを含む電子機器連携システム100の一例を示す図である。この図16に示す電子機器連携システム100は、電子カメラ101、携帯電話102、および画像処理サーバ104の3つの電子機器を連携して動作させるとともに、Webサーバ105、パーソナルコンピュータ106(以下、パソコン)、または携帯電話会社のサーバ107に対しても各電子機器がインターネットを介して接続可能な構成である。なお、基地局108は、携帯電話会社のサーバ107と携帯電話102との通信を接続する携帯電話通信網の基地局である。また、基地局109は、インターネットと電子機器間を無線で通信接続するための無線端末(基地局)である。
FIG. 16 is a diagram illustrating an example of an electronic
ここで、図16の3つの電子機器は機器情報やコマンドリストを互いに送受信して、同じコマンドリストを共有している状態にある。図2、および図8を用いて説明したように、電子カメラ101が有するコマンドと、携帯電話102が有するコマンドとは、互いに送受信して同じコマンドリストを共有している。
Here, the three electronic devices in FIG. 16 are in a state where they share the same command list by transmitting / receiving device information and a command list to / from each other. As described with reference to FIGS. 2 and 8, the command that the
なお、図4(a)を用いて説明したように、画像処理サーバ104は、電子カメラ101から外部コマンドとしての画像処理コマンドAを送信することにより、電子カメラ101内部の画像処理とは異なる画像処理を実行することも可能である。この画像処理サーバ104が有する画像処理コマンドAも、上述の3つの電子機器が共有している同じコマンドリストに含まれている構成としてもよい。
As described with reference to FIG. 4A, the
また、電子カメラ101は、ユーザが持ち歩いている携帯電話102との間で、Bluetooth(登録商標)やWi−Fi(登録商標)などに対応する無線方式により制御情報を送受信する。携帯電話102は、基地局108(例えば、携帯電話通信網の基地局)を介して携帯電話会社のサーバ107からインターネットに接続される。また、電子カメラ101は、基地局109(例えば、Wi−Fi(登録商標)などの無線通信の基地局)を介してインターネットに接続される。これにより、電子カメラ101または携帯電話102は、インターネットを介して画像処理サーバ104、Webサーバ105、またはパソコン106(ユーザの自宅にあるパソコン)に接続される。なお、図16の例では、説明がわかり易いように、パソコン106を直接インターネットに接続しているが、実際には光ファイバーやADSLなどの有線、または無線通信の基地局などを介してユーザの自宅のパソコン106に接続される。また、Webサーバ105は、通信によりデータの書き込み(送信)および取得(受信)ができるものであればWebサーバに限られるものではなく、例えば、FTP(File Transfer Protocol)サーバ、メールサーバなどであってもよい。本実施形態では、Webサーバを例として説明する。
In addition, the
以下、図16の動作について順番に説明する。なお、以下の(1)から(10)は図16の(1)から(10)に対応する。 Hereinafter, the operation of FIG. 16 will be described in order. The following (1) to (10) correspond to (1) to (10) in FIG.
(1)電子カメラ101は、携帯電話102にGPSコマンド162を送信する。携帯電話102は、GPSコマンド162を受信したことに応じて、GPSコマンド162を実行してGPSの測位データの受信を開始する。ここで、携帯電話102は、GPSの受信状況が悪く測位データを受信できなかったものとする。電子カメラ101は、GPSコマンド162を実行することにより得られる位置情報を取得できないため、このGPSコマンド162の処理を後回しにして、アプリケーションプログラムAの実行手順に従った次の処理に移行する。
(1) The
(2)電子カメラ101は、シャッターボタン262を押下することにより生じるシャッターイベントを受付可能にする。ユーザが電子カメラ101のシャッターボタン262を押下すると、電子カメラ101は、シャッターボタン262が押下されたことを検出し、次の撮影コマンド実行処理に移行する。
(2) The
(3)電子カメラ101は、撮影コマンド151を実行して、撮影画像をバッファ203に取り込む。
(3) The
(4)電子カメラ101は、画像処理コマンド152を実行し、上述の(3)の処理において取得した撮影画像に対して画像処理(例えば、ホワイトバランス調整、コントラスト調整、JPEG圧縮などの処理)を実行することにより画像データを生成する。なお、この例では、電子カメラ101で実行される内部コマンドの画像処理コマンド152が実行される。
(4) The
(5)電子カメラ101は、付加情報登録コマンド153を実行し、撮影時の設定情報や関連情報、またはファイル名などの付加情報を画像データに登録する(付加する)。ここで、電子カメラ101は、この付加情報として登録されるGPS機能による位置情報を、上述の(1)の処理において取得できていないため、仮情報(ダミーデータ)を付加する(書き込む)。
(5) The
(6)電子カメラ101は、保存コマンド154を実行し、上述の(5)の処理において付加情報を付加した画像データを、メモリカードIF207を介してメモリカード207aに保存する。
(6) The
(7)ここで、電子カメラ101の電源がオフされた場合、または携帯電話102との通信が遮断された場合、電子カメラ101は、インターネットを介してWebサーバ105に接続する。そして、電子カメラ101は、Webサーバ105のサーバ領域において、GPSコマンド162の実行結果を格納するための格納領域を確保する。そして、電子カメラ101は、この格納領域の場所を示すアドレス情報をバッファ203に保持する。
(7) Here, when the power of the
(8)電子カメラ101は、上述の(7)の処理においてWebサーバ105内に確保した格納領域の場所を示すアドレス情報を、携帯電話102に送信する。ここで、電子カメラ101と携帯電話102との直接接続される通信(インターネットを介さない通信)が遮断されている場合、電子カメラ101は、インターネットを介して接続された携帯電話会社のサーバ107と、基地局108とを介して(例えば電子メール機能を用いて)、上述のアドレス情報と、コマンドID、機器ID、所有者IDなどの関連情報と、を携帯電話102に送信する。また、電子カメラ101は、上述の(6)の処理において保存した画像データの付加情報に含まれる位置情報を、仮情報(ダミーデータ)から上述のアドレス情報に変更して再保存する。
(8) The
(9)携帯電話102は、上述の(8)の処理において受信した関連情報により該当する未取得コマンドとしてのGPSコマンド162を実行することによりGPSの測位データを受信した場合、この受信した測位データに基づく位置情報(正規の位置情報)を、上述の(8)の処理において受信したアドレス情報が示すWebサーバ上の格納領域に保存する。
(9) When the
(10)パソコン106は、インターネットを介して、画像データに付加されているアドレス情報が示すWebサーバ上の格納領域にアクセスすることにより、上述の(9)の処理において携帯電話102が保存した位置情報(正規の位置情報)を取得する。
(10) The personal computer 106 accesses the storage area on the Web server indicated by the address information added to the image data via the Internet, so that the location saved by the
このように、電子カメラ101の制御部204は、コマンド処理部17がGPSコマンド162を実行することにより得られる正規の実行結果(第1実行結果)を取得できない場合、アプリケーションプログラムAの実行手順に従った処理を完了した後に、携帯電話102(他機器)により通信ネットワークを介して接続されたWebサーバ105(サーバ)に保存された正規の実行結果(第1実行結果)を、コマンド処理部17に取得させる。例えば、制御部204は、コマンド処理部17が正規の実行結果(第1実行結果)を取得できない場合、携帯電話102が正規の実行結果(第1実行結果、未取得コマンドを後から実行することにより得られる実行結果)を格納するためのサーバ内の格納場所を示すアドレス情報(第1格納場所情報)を、携帯電話102に対して送信させる。
As described above, when the
また、携帯電話102のコマンド処理部は、通信回路が受信したGPSコマンド162(外部コマンド、第2コマンド)による処理を実行できない場合、GPSコマンド162による処理が実行可能となった後に得られた正規の実行結果(第2実行結果、未取得コマンドを後から実行することにより得られる実行結果)を、通信ネットワークを介して接続されたWebサーバ105に格納するコマンドを送信する。なお、上述の携帯電話102のコマンド処理部と通信回路とのそれぞれは、図1に示す電子機器を携帯電話102とした場合のコマンド処理部17と通信回路14(通信部)とである。
例えば、携帯電話102の通信回路は、正規の実行結果(第2実行結果)を格納するためのWebサーバ105内の格納場所を示すアドレス情報(第2格納場所情報)を、電子カメラ101(他機器)から受信する(例えばインターネットを介して受信する)。また、携帯電話102のコマンド処理部は、携帯電話102の通信回路を介して受信したアドレス情報(第2格納場所情報)に基づくWebサーバ105内の格納場所に、上述の正規の実行結果を格納するコマンドを送信する。
In addition, when the command processing unit of the
For example, the communication circuit of the
これにより、電子カメラ101は、携帯電話102からGPSコマンド162の位置情報(正規の実行結果)を取得できていない状態のまま電源のオフや通信の遮断が生じた場合に、後から取得可能ように、インターネットを介して接続されるWebサーバ105内に実行結果を格納するための格納領域を確保するとともに、格納場所を示すアドレス情報を携帯電話102に対して送信することができる。これに対して、携帯電話102は、GPSコマンド162を実行することにより正規の実行結果が得られた後に、電子カメラ101から受信したアドレス情報が示すWebサーバ105内の格納場所に、この正規の実行結果を格納することができる。
As a result, the
すなわち、電子機器連携システム100の遅延実行処理を用いたコマンド実行処理の途中において、電子カメラ101が携帯電話102からGPSコマンド162の位置情報(正規の実行結果)を取得できていない状態のまま、電子カメラ101の電源がオフされた場合、または電子カメラ101と携帯電話102との間の通信が遮断された場合であっても、その後、インターネットを介して接続されるWebサーバ105から、携帯電話102において実行したGPSコマンド162の実行結果を取得することができる。
That is, in the middle of the command execution process using the delay execution process of the electronic
図17は、図13、14に示すステップS486の未完了処理を登録する処理の動作の一例を示すフローチャートである。
まず、電子カメラ101の制御部204は、通信部209により基地局109を介してインターネットに接続し、インターネットを介してWebサーバ105に接続する(ステップS501)。次に、制御部204は、Webサーバ105内に、GPSコマンド162の実行結果を格納するための格納領域(サーバ領域)を確保する(ステップS502)。
FIG. 17 is a flowchart showing an example of the operation of the process for registering the incomplete process in step S486 shown in FIGS.
First, the
そして、制御部204は、ステップS502において格納領域(サーバ領域)の確保に成功したか否かを判定する(ステップS503)。ステップS503において格納領域(サーバ領域)の確保に失敗したと判定された場合、制御部204は、表示部206にエラー情報を表示させて(ステップS506)、処理を終了する。
Then, the
一方、ステップS503において格納領域(サーバ領域)の確保に成功したと判定された場合、制御部204は、格納領域(サーバ領域)の場所を示すアドレス情報を電子カメラ101内のバッファ203に保持させる(登録する)。また、制御部204は、この格納領域(サーバ領域)の場所を示すアドレス情報を携帯電話102に対して送信する。例えば、制御部204は、通信部209により基地局109を介して接続したインターネットを介して携帯電話会社のサーバ107に接続し、さらに基地局108を介して携帯電話102に対してアドレス情報を送信する(ステップS504)。
On the other hand, when it is determined in step S503 that the storage area (server area) has been secured, the
続いて、制御部204は、アプリケーションプログラムAの処理により保存した画像データの付加情報に含まれている位置情報を、仮情報(仮実行結果)から格納領域(サーバ領域)の場所を示すアドレス情報に変更して再保存し(ステップS505)、処理を終了する。
Subsequently, the
一方、携帯電話102は、未取得コマンド(GPSコマンド162)の実行待機中である。そして、ステップS504において電子カメラ101からインターネットを介して送信された格納領域(サーバ領域)の場所を示すアドレス情報を受信する(ステップS601)。
On the other hand, the
次に、携帯電話102は、未取得コマンドであるGPSコマンド162を実行(ステップS602)することにより、実行結果(正規の実行結果)を取得した場合、受信したアドレス情報が示すWebサーバ内の格納領域(サーバ領域)の場所に、取得した実行結果を保存するためのコマンドを送信して(ステップS603)処理を終了する。
Next, when the
なお、携帯電話102は、GPSコマンド162をアプリケーションプログラムAの実行手順に従って実行した際に実行結果を取得できなかったことに応じて、未取得コマンドとして記憶しておいてもよい。また、携帯電話102は、図17のステップS504において、アドレス情報とともに、未取得コマンドのコマンドID、機器ID、所有者IDなどの関連情報を、電子カメラ101から取得してもよい。
Note that the
このように、電子カメラ101は、Webサーバ105内に確保した格納領域の場所を示すアドレス情報を画像データに付加する。携帯電話102は、電子カメラ101から受信したアドレス情報が示すWebサーバ105内の格納場所に、未取得コマンドであるGPSコマンド162が実行されることより得られた実行結果(正規の実行結果)を保存する。
As described above, the
これにより、本実施形態によれば、電子カメラ101が処理中に取得できなかったコマンドの実行結果を、処理が完了した後に携帯電話102との通信が遮断された場合であっても、Webサーバ105から取得することができる。例えば、インターネットを介して接続されているユーザの自宅にあるパソコン106を用いて、画像データの付加情報に含まれるアドレス情報に基づいて、Webサーバ105から正規の実行結果を取得することができる。
As a result, according to the present embodiment, even if the execution result of the command that the
(遅延実行処理を用いたコマンドの実行処理の第5例)
次に、処理(例えばアプリケーションプログラムAの処理)が完了した後、インターネットを介して接続されたWebサーバ105から正規の実行結果を取得可能とする処理について、図15、図16、および図17を用いて説明した処理とは異なる処理の一例について説明する。
(Fifth example of command execution processing using delayed execution processing)
Next, FIG. 15, FIG. 16, and FIG. 17 will be described with respect to the processing that enables acquisition of a regular execution result from the
図15、図16、および図17を用いて説明した処理は、電子カメラ101がWebサーバ内の格納領域を確保して、その確保した格納領域の場所を示すアドレス情報を携帯電話102に送信する処理であるが、これに限られるものではない。例えば、携帯電話102が、Webサーバ内の格納領域を確保して、その確保した格納領域の場所を示すアドレス情報を電子カメラ101に送信する処理としてもよい。なお、携帯電話102がWebサーバ内の格納領域を確保する処理は、図17のステップS501からS504に示す電子カメラ101の処理を、携帯電話102側で実行すればよい。
以下に、携帯電話102が、Webサーバ内の格納領域を確保して、その確保した格納領域の場所を示すアドレス情報を電子カメラ101に送信する処理について説明する。
In the processing described with reference to FIGS. 15, 16, and 17, the
Hereinafter, a process in which the
例えば、電子カメラ101の制御部204(コマンド処理部17)は、携帯電話102(他機器)に対してGPSコマンド162(外部コマンド、第1コマンド)を送信する。
携帯電話102(携帯電話102内のコマンド処理部)は、通信回路(携帯電話102内の通信回路)を介して受信したGPSコマンド162(外部コマンド、第2コマンド)による処理を実行できない場合、または実行しても実行結果を取得できない場合、実行結果(第2実行結果)を格納するためのWebサーバ105内の格納場所を示すアドレス情報(第2格納場所情報)を電子カメラ101(他機器)に対して送信する。また、携帯電話102は、GPSコマンド162(外部コマンド、第2コマンド)による処理を実行した後に得られた実行結果(第2実行結果)を、アドレス情報に基づくWebサーバ105内の格納場所に格納するコマンドを送信する。
For example, the control unit 204 (command processing unit 17) of the
When the mobile phone 102 (command processing unit in the mobile phone 102) cannot execute processing by the GPS command 162 (external command, second command) received via the communication circuit (communication circuit in the mobile phone 102), or If the execution result cannot be obtained even after execution, address information (second storage location information) indicating the storage location in the
また、電子カメラ101は、外部コマンド(第1コマンド、第2コマンド)を送信したことに応じて携帯電話102(他機器)が外部コマンド(第1コマンド、第2コマンド)を実行することにより得られる実行結果(第1実行結果、第2実行結果)を格納するためのWebサーバ105内の格納場所を示すアドレス情報(第1格納場所情報、第2格納場所情報)を、実行結果(第1実行結果、第2実行結果)の代わりの仮実行結果として、携帯電話102(他機器)から受信する。
In addition, the
図18は、遅延実行処理を用いたコマンドの実行処理の第5例を示すフローチャートである。この図18は、図15に示す処理と同様に、実行手順に従った処理中、または実行手順に従った処理の後に未取得コマンドを再送信する処理において、携帯電話102との通信が遮断された場合、後からインターネットを介して正規の実行結果を取得可能とする処理を示している。図18は図15に示す処理と一部が異なる。処理が異なる点は、ステップS410、S431、S432の処理が追加されていることと、図15のステップS486の処理がないことである。なお、図18において図15の各処理に対応する部分には同一の符号を付け、その説明を省略する。なお、以下に説明する処理において、携帯電話102は、Webサーバ105内の格納領域を、事前に確保しているものとする。
FIG. 18 is a flowchart illustrating a fifth example of command execution processing using delayed execution processing. As in the process shown in FIG. 15, communication with the
ステップS407において、携帯電話102と通信が接続されている状態であると判定された場合、制御部204は、携帯電話102からのコマンド応答により、格納領域の場所を示すアドレス情報(格納場所情報)を取得したか否かを判定する(ステップS410)。ステップS410において、アドレス情報(格納場所情報)を取得していない(未取得である)と判定された場合、制御部204は、図12を用いて説明したステップS411、S412、S413の処理を実行する。これにより、制御部204は、簡易位置情報取得コマンド163を実行することにより得られた代替実行結果(第1代替実行結果)を携帯電話102から取得して、ステップS450に処理を進める。
If it is determined in step S407 that the communication with the
一方、ステップS410において、アドレス情報(格納場所情報)を取得したと判定された場合、制御部204は、未取得コマンドを記憶する(ステップS431)とともに、この未取得コマンドのコマンド応答により携帯電話102から取得したアドレス情報(格納場所情報)を、仮実行結果として取得する(ステップS432)。すなわち、制御部204は、この後の処理(付加情報登録コマンドの実行処理)において、位置情報の代わりにアドレス情報(格納場所情報)を画像データの付加情報として付加する。
On the other hand, if it is determined in step S410 that the address information (storage location information) has been acquired, the
ステップS450以降の処理は、図15に示す処理と同様の処理が実行される。但し、ステップS471において、携帯電話102と通信が接続されていない状態(遮断状態)であると判定された場合、制御部204は、処理が未完了であることを示す情報を表示部206に表示させる処理(ステップS485)のみを実行して処理を終了する。つまり、ステップS432において、制御部204は、携帯電話102からアドレス情報(格納場所情報)を取得済みであるため、ステップS485の後に図15に示すステップS486の「未完了処理の登録」の処理は実行する必要がないため実行しない。
In the processing after step S450, processing similar to the processing shown in FIG. 15 is executed. However, when it is determined in step S471 that communication with the
このように、携帯電話102は、電子カメラ101から受信したGPSコマンド162の実行結果を取得できない場合、実行結果を格納するためのWebサーバ105内に確保した格納領域の場所を示すアドレス情報を電子カメラ101に対して送信する。これに対して、電子カメラ101は、携帯電話102から受信したアドレス情報を、位置情報の代わりに画像データの付加情報として付加する。また、携帯電話102は、GPSコマンド162の実行結果を取得した後、アドレス情報が示すWebサーバ105内の格納場所に取得した実行結果(正規の実行結果、位置情報)を書き込む。
As described above, when the
これにより、本実施形態によれば、電子カメラ101が処理中に取得できなかったコマンドの実行結果を、処理が完了した後に携帯電話102との通信が遮断された場合であっても、Webサーバ105から取得することができる。例えば、インターネットを介して接続されているユーザの自宅にあるパソコン106を用いて、画像データの付加情報に含まれるアドレス情報に基づいて、Webサーバ105から正規の実行結果を取得することができる。
As a result, according to the present embodiment, even if the execution result of the command that the
(電子カメラ101がWebサーバ105から実行結果を取得する処理の例)
次に、電子カメラ101がWebサーバ105内の格納領域に保存された正規の実行結果を取得する処理について説明する。
図16を用いて、Webサーバ105内の格納領域に保存された正規の実行結果をインターネットを介してパソコン106を用いて取得する例を説明したがこれに限られるものではない。例えば、電子カメラ101がインターネットを介して正規の実行結果を取得する構成としてもよい。
(Example of processing in which the
Next, a process in which the
Although the example which acquires the regular execution result preserve | saved in the storage area in the
例えば、制御部204は、コマンドの実行手順に従った処理を完了した後に、アドレス情報に基づいて正規の実行結果(第1実行結果)をコマンド処理部17に取得させる。具体的には、コマンド処理部17は、通信部209によりインターネットを介してWebサーバ105に接続し、画像データの付加情報に付加されているアドレス情報が示す格納領域に保存されている正規の実行結果を取得するコマンドを送信する。
For example, after completing the process according to the command execution procedure, the
図19は、電子カメラ101がWebサーバ105から実行結果を取得する処理の一例を示す図である。
FIG. 19 is a diagram illustrating an example of processing in which the
まず、電子カメラ101の制御部204は、通信部209により基地局109を介してインターネットに接続し、インターネットを介してWebサーバ105に接続する(ステップS701)。次に、制御部204は、接続したWebサーバ105内において、携帯電話102から受信したアドレス情報(格納場所情報)が示す格納領域にアクセスする。なお、このアドレス情報は、画像データの付加情報として位置情報の代わりに付加されている情報である。制御部204は、画像データを読み出してアドレス情報を取得する。そして、制御部204は、このアドレス情報(格納場所情報)が示す格納領域に保存されている正規の実行結果を取得するためのコマンドを送信する(ステップS702)。
First, the
続いて、制御部204は、ステップS702において格納領域(サーバ領域)に保存されている正規の実行結果を取得したか否かを判定する(ステップS703)。ステップS703において取得できなかったと判定された場合、制御部204は、表示部206にエラー情報を表示させて(ステップS705)、処理を終了する。
Subsequently, the
一方、ステップS703において取得したと判定された場合、制御部204は、画像データに付加されているアドレス情報を、取得した正規の実行結果に変更して再保存する(正規結果代入、ステップS704)。
On the other hand, if it is determined in step S703 that it has been acquired, the
このように、電子カメラ101は、Webサーバ105内に格納された正規の実行結果を、インターネットを介して取得する。
これにより、電子カメラ101は、処理中に取得できなかったコマンドの実行結果を、処理が完了した後に携帯電話102との通信が遮断された場合であっても、Webサーバ105から取得することができる。
As described above, the
Thereby, the
以上説明してきたように、本実施形態によれば、電子機器10は、他機器で実行する外部コマンドの実行結果を取得できない場合であっても、その取得を後にして実行手順に従った処理を継続することができるとともに、未取得のコマンドを後から再度実行することにより実行結果を取得することができる。また、電子機器10は、他機器との通信が遮断された場合であっても、インターネットを介して接続されたサーバを介して他機器で実行された結果を後から取得することも可能である。
このように、本実施形態によれば、他機器の様々な機能を自機器の機能と同じように利用することができる。
As described above, according to the present embodiment, even when the
Thus, according to this embodiment, various functions of other devices can be used in the same manner as the functions of the own device.
なお、図15、または図18を用いて説明したような、電子カメラ101が携帯電話102で実行される外部コマンドの実行結果を取得できない場合に、実行結果の代わりにWebサーバ105内のアドレス情報を代わりに用いる処理は、携帯電話102において外部コマンドを一時的に実行不可能な場合に実行する処理としてもよいし、携帯電話102において実行した外部コマンドの実行結果の取得に時間がかかることにより実行結果を取得できない場合に実行する処理としてもよい。
If the
また、上記実施形態において、GPSコマンド162の実行結果が取得できない場合を例とした遅延実行処理について説明したが、GPSコマンド162以外のコマンドについても同様に適用することができる。
例えば、プログラムAにおける画像処理コマンド152に代えて、画像処理サーバ104で実行する外部コマンドである画像処理コマンドA(図4(a)参照)としたプログラム実行した際に、電子カメラ101は、画像処理サーバ104の動作状態などによって画像処理コマンドAの実行結果を取得できない場合がある。この場合、電子カメラ101は、画像処理コマンドAの実行結果(画像処理サーバ104において処理された画像データ)を取得する処理を後にして、仮の画像データ(ダミーデータ、例えば全黒の画像データ)を用いて、付加情報登録コマンド153、および保存コマンド154を実行してもよい。この場合、電子カメラ101は、画像処理サーバ104から画像処理された画像データを取得した後に、保存した画像データを読み出して、仮の画像データを取得した画像データに変更して再保存してもよい。
In the above-described embodiment, the delay execution process has been described by way of example in which the execution result of the
For example, when the
また、上記実施形態では、電子機器10として電子カメラ101、携帯電話102、画像処理サーバ104を主な例として説明したが、これらに限られるものではない。本発明の電子機器10は、電子機器の例として上述しているようなプリンタ、FAX、テレビ、ビデオ、等であってもよいし、また、コンピュータ、ゲーム機、電子辞書、電子玩具など、その他の電子機器であってもよい。
In the above embodiment, the
なお、上述のC機能プラットホーム16(251)、または制御部204は専用のハードウェアにより実現されるものであってもよく、また、メモリおよびCPU(中央演算装置)により構成され、上述の各部の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
The above-described C function platform 16 (251) or the
また、上述のC機能プラットホーム16(251)、または制御部204の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
Further, a program for realizing the functions of the above-described C function platform 16 (251) or the
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design and the like within a scope not departing from the gist of the present invention.
10 電子機器、14 通信回路(通信部)、15 制御プログラム(制御部)、17 コマンド処理部、18 コマンド共有部(コマンド管理部)、19 通信処理部、21 処理時間算出部、101 電子カメラ、102 携帯電話、105 Webサーバ(サーバ)、204 制御部、209 通信部
DESCRIPTION OF
Claims (13)
他機器が備えている機能の処理を実行するコマンドである第1コマンドを含む複数のコマンドを管理するコマンド管理部と、
前記複数のコマンドのうち選択されたコマンドを、設定されたコマンドの実行手順で実行させる処理を制御する制御部と、
前記選択されたコマンドのうちに前記第1コマンドが含まれる場合、前記コマンドの実行手順に従って前記第1コマンドを前記通信部を介して他機器に送信するとともに、他機器が前記第1コマンドを実行することにより得られた実行結果である第1実行結果を取得するコマンド処理部と、
を備え、
前記制御部は、
前記コマンド処理部が前記第1コマンドによる第1実行結果を取得できない場合、前記第1実行結果の取得を待たずに、前記コマンドの実行手順に従った処理を継続する
ことを特徴とする電子機器。 A communication unit that communicates with other devices;
A command management unit that manages a plurality of commands including a first command that is a command for executing processing of a function provided in another device;
A control unit that controls processing for executing a command selected from the plurality of commands in accordance with a set command execution procedure;
When the first command is included in the selected command, the first command is transmitted to the other device via the communication unit according to the execution procedure of the command, and the other device executes the first command. A command processing unit for obtaining a first execution result which is an execution result obtained by
With
The controller is
When the command processing unit cannot acquire the first execution result by the first command, the processing according to the command execution procedure is continued without waiting for the acquisition of the first execution result. .
前記第1実行結果の取得を待たずに前記コマンドの実行手順に従った処理を継続した後に、前記コマンド処理部に前記第1実行結果を取得させる
ことを特徴とする請求項1に記載の電子機器。 The controller is
2. The electronic device according to claim 1, further comprising: causing the command processing unit to acquire the first execution result after continuing processing according to the execution procedure of the command without waiting for acquisition of the first execution result. machine.
他機器が前記第1コマンドを実行不可能なことにより前記コマンド処理部が前記第1実行結果を取得できない場合、他機器が備えている前記機能の処理が実行可能になった後、他機器に対して前記第1コマンドを前記コマンド処理部に再度送信させる
ことを特徴とする請求項1または2に記載の電子機器。 The controller is
If the command processing unit cannot acquire the first execution result because the other device cannot execute the first command, the function of the other device can be executed, and then the other device The electronic device according to claim 1, wherein the first command is transmitted again to the command processing unit.
前記コマンド処理部が前記第1実行結果を取得できない場合、前記第1コマンドを代替するコマンドを実行することにより得られた実行結果である第1代替実行結果を前記コマンド処理部に取得させる
ことを特徴とする請求項1から3の何れか一項に記載の電子機器。 The controller is
When the command processing unit cannot acquire the first execution result, the command processing unit acquires a first alternative execution result that is an execution result obtained by executing a command that replaces the first command. The electronic device according to claim 1, wherein the electronic device is characterized.
前記制御部は、
前記コマンド処理部に、他機器において前記第1実行結果が得られるまでの予測所要時間を示す情報を他機器から取得させるとともに、取得した前記予測所要時間に基づいて、前記第1実行結果および前記第1代替実行結果のうちから取得させる実行結果を選択する
ことを特徴とする請求項4に記載の電子機器。 The command processing unit is in a state where the processing by the other device has not been completed due to the execution of the first command, or a state in which the first command cannot be executed. If you cannot get the execution result,
The controller is
The command processing unit causes the other device to acquire information indicating the estimated required time until the first execution result is obtained from the other device, and based on the acquired estimated required time, the first execution result and the The electronic device according to claim 4, wherein an execution result to be acquired is selected from the first alternative execution results.
前記コマンド処理部が前記第1代替実行結果を取得した後に前記第1実行結果を取得した場合、取得済みの前記第1代替実行結果を前記第1実行結果に変更する
ことを特徴とする請求項4または5に記載の電子機器。 The controller is
The acquired first alternative execution result is changed to the first execution result when the command processing unit acquires the first execution result after acquiring the first alternative execution result. 4. The electronic device according to 4 or 5.
前記コマンド処理部が前記第1代替実行結果を取得したか否か、を判定し、前記第1代替実行結果を取得したと判定した場合、他機器に対して前記第1コマンドを前記コマンド処理部に再度送信させる
ことを特徴とする請求項4または5に記載の電子機器。 The controller is
It is determined whether or not the command processing unit has acquired the first alternative execution result. When it is determined that the first alternative execution result has been acquired, the command processing unit sends the first command to another device. The electronic device according to claim 4, wherein the electronic device is transmitted again.
前記コマンド処理部が第1実行結果を取得できない場合、前記コマンドの実行手順に従った処理を完了した後に、他機器により通信ネットワークを介して接続されたサーバに保存された前記第1実行結果を、前記コマンド処理部に取得させる
ことを特徴とする請求項1から7の何れか一項に記載の電子機器。
The controller is
If the command processing unit cannot obtain the first execution result, the first execution result stored in a server connected via a communication network by another device is completed after completing the process according to the command execution procedure. The electronic device according to any one of claims 1 to 7, wherein the command processing unit acquires the electronic device.
他機器に対して前記第1コマンドを送信することに応じて、他機器が前記第1実行結果を格納するための前記サーバ内の格納場所を示す第1格納場所情報を、他機器から受信する
ことを特徴とする請求項8に記載の電子機器。 The command processing unit
In response to sending the first command to another device, the other device receives first storage location information indicating the storage location in the server for storing the first execution result from the other device. 9. The electronic apparatus according to claim 8, wherein
コマンドを実行してから実行結果が得られるまでの予測所要時間を算出する処理時間算出部、
を備え、
自機器が備えている機能の処理を実行する第2コマンドを、前記通信部を介して他機器から受信した場合、前記第2コマンドを実行することにより得られた第2実行結果、および前記第2実行結果が得られるまでの前記予測所要時間を示す情報の何れかを他機器に対して送信する
ことを特徴とする請求項1から9の何れか一項に記載の電子機器。 The command processing unit
A processing time calculation unit for calculating an estimated required time from the execution of the command until the execution result is obtained,
With
A second execution result obtained by executing the second command when the second command for executing the processing of the function of the own device is received from another device via the communication unit; and the second command 2. The electronic device according to claim 1, wherein any one of the information indicating the estimated required time until an execution result is obtained is transmitted to another device.
前記通信部を介して受信した前記第2コマンドによる処理を実行できない場合、前記第2コマンドによる処理が実行可能になった後に得られた前記第2実行結果を、他機器に送信する
ことを特徴とする請求項10に記載の電子機器。 The command processing unit
When the process by the second command received via the communication unit cannot be executed, the second execution result obtained after the process by the second command becomes executable is transmitted to another device. The electronic device according to claim 10.
前記第2実行結果を取得できない場合、前記第2コマンドによる処理を実行した後に得られた前記第2実行結果を、通信ネットワークを介して接続されたサーバに格納するコマンドを送信する
ことを特徴とする請求項10または11に記載の電子機器。 The command processing unit
When the second execution result cannot be acquired, a command for storing the second execution result obtained after executing the process by the second command in a server connected via a communication network is transmitted. The electronic device according to claim 10 or 11.
他機器が備えている機能の処理を実行するコマンドである第1コマンドを含む複数のコマンドを管理するコマンド管理ステップと、
前記第1コマンドを前記通信部を介して他機器に送信するとともに、他機器が前記第1コマンドを実行することにより得られた実行結果である第1実行結果を取得するコマンド処理ステップと、
前記複数のコマンドのうち選択されたコマンドを、設定されたコマンドの実行手順で前記コマンド処理ステップにおいて実行させる処理を制御するとともに、前記選択されたコマンドのうちに前記第1コマンドが含まれる場合であって、前記コマンド処理ステップにおいて前記第1コマンドによる第1実行結果を取得できない場合、前記第1実行結果の取得を待たずに、前記コマンドの実行手順に従った処理を継続する制御ステップと、
を実行させるためのプログラム。 In a computer provided in an electronic device having a communication unit that communicates with other devices,
A command management step for managing a plurality of commands including a first command that is a command for executing processing of a function provided in another device;
A command processing step of transmitting the first command to another device via the communication unit and acquiring a first execution result which is an execution result obtained by the other device executing the first command;
Controlling a process of executing a command selected from the plurality of commands in the command processing step according to a set command execution procedure, and including the first command in the selected command. A control step of continuing the process according to the command execution procedure without waiting for the acquisition of the first execution result when the first execution result by the first command cannot be acquired in the command processing step;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012075499A JP2013206220A (en) | 2012-03-29 | 2012-03-29 | Electronic device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012075499A JP2013206220A (en) | 2012-03-29 | 2012-03-29 | Electronic device and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013206220A true JP2013206220A (en) | 2013-10-07 |
Family
ID=49525212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012075499A Pending JP2013206220A (en) | 2012-03-29 | 2012-03-29 | Electronic device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013206220A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015075664A (en) * | 2013-10-09 | 2015-04-20 | 株式会社ニコン | Interchangeable lens and camera body |
JP2018173654A (en) * | 2018-06-29 | 2018-11-08 | 株式会社ニコン | Interchangeable lens and camera body |
JP2019133195A (en) * | 2019-04-26 | 2019-08-08 | 株式会社ニコン | interchangeable lens |
-
2012
- 2012-03-29 JP JP2012075499A patent/JP2013206220A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015075664A (en) * | 2013-10-09 | 2015-04-20 | 株式会社ニコン | Interchangeable lens and camera body |
JP2018173654A (en) * | 2018-06-29 | 2018-11-08 | 株式会社ニコン | Interchangeable lens and camera body |
JP2019133195A (en) * | 2019-04-26 | 2019-08-08 | 株式会社ニコン | interchangeable lens |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016123137A (en) | Image communication apparatus and imaging apparatus | |
KR101879256B1 (en) | Image capturing apparatus, control method therefor, and storage medium | |
US20140098248A1 (en) | Communication apparatus | |
JP5928455B2 (en) | Digital camera for digital image sharing | |
JP6127382B2 (en) | Electronic device, control method and program | |
JP6020353B2 (en) | Information processing apparatus, image forming apparatus, remote operation method, remote control method, remote operation program, and remote control program | |
JP6266799B2 (en) | Imaging control apparatus, imaging apparatus, imaging control method, and program | |
JP2012099889A (en) | Camera, imaging method, and imaging program | |
US9706101B2 (en) | Image processing terminal, imaging machine, information processing method, program, and remote imaging system to remotely operate the imaging machine | |
US8432452B2 (en) | Imaging system and information processing apparatus for presenting functional information relating to a shooting mode to an imaging apparatus | |
JP2019016891A (en) | Imaging apparatus and image transfer method | |
KR101137348B1 (en) | A mobile phone having a visual telecommunication and a visual data processing method therof | |
JP2013206220A (en) | Electronic device and program | |
JP2018037894A (en) | Electronic device and control method of the same | |
US10771732B2 (en) | System, imaging apparatus, information processing apparatus, and recording medium | |
JP7363479B2 (en) | Programs and electronics | |
JP2013206221A (en) | Electronic device and program | |
JP6869656B2 (en) | Transmitter, receiver, and communication system | |
JP2013206222A (en) | Electronic device and program | |
JP6283989B2 (en) | Image scaling processor | |
JP6061662B2 (en) | Server apparatus, server apparatus control method, and program | |
JP6147108B2 (en) | COMMUNICATION DEVICE, ITS CONTROL METHOD, PROGRAM | |
JP2019003495A (en) | Information processing apparatus, and method and program of controlling the same | |
JP2022053356A (en) | Communication device, control method thereof, and program | |
JP6230435B2 (en) | Data processing apparatus, control method thereof, and program |