(57)【要約】【課題】  従来、他機器の機能を容易に利用することが難しかった。【解決手段】  本発明では、他機器と通信を行う通信部と、前記通信部により、自機器のコマンドを他機器へ送信し、他機器のコマンドを受信して他機器のコマンドを取得し、前記自機器のコマンドと他機器のコマンドとを管理するコマンド管理部と、前記コマンド管理部で管理されているコマンドのうち、選択されたコマンドが前記自機器のコマンドである場合は、前記自機器のコマンドに対応する機能の処理を前記自機器で実行し、選択されたコマンドが他機器のコマンドである場合は、前記他機器のコマンドに対応する機能の処理を前記他機器に実行させるコマンド処理部とを有することを特徴とする。【選択図】図１
2012256319.tif 000002
【特許請求の範囲】
【請求項１】
他機器と通信を行う通信部と、
前記通信部により、自機器のコマンドを他機器へ送信し、他機器のコマンドを受信して他機器のコマンドを取得し、前記自機器のコマンドと他機器のコマンドとを管理するコマンド管理部と、
前記コマンド管理部で管理されているコマンドのうち、選択されたコマンドが前記自機器のコマンドである場合は、前記自機器のコマンドに対応する機能の処理を前記自機器で実行し、選択されたコマンドが他機器のコマンドである場合は、前記他機器のコマンドに対応する機能の処理を前記他機器に実行させるコマンド処理部と
を有することを特徴とする電子機器。
【請求項２】
請求項１に記載の電子機器において、
前記コマンド処理部は、選択されたコマンドが他機器のコマンドである場合、前記他機器コマンドを前記通信部により前記他機器に送信し、前記他機器のコマンドの実行結果を前記通信部により前記他機器から受信する
ことを特徴とする電子機器。
【請求項３】
請求項１または２に記載の電子機器において、
前記コマンド管理部は、機器情報、コマンド実行のタイミングを与えるイベント情報を管理することを特徴とする電子機器。
【請求項４】
請求項１から３のいずれか一項に記載の電子機器において、
前記コマンド管理部は、第１機器との間で第１コマンドを受信した後で、新たに第２機器との間で第２コマンドを受信した場合、前記第２コマンドのうち前記第１コマンドに含まれないコマンドを前記第１機器に送信する
ことを特徴とする電子機器。
【請求項５】
請求項１から４のいずれか一項に記載の電子機器において、
前記通信部を介して接続される他機器の中からコマンドを検索するコマンド検索部をさらに設け、
前記コマンド管理部は、前記コマンド検索部が検索したコマンドを加える
ことを特徴とする電子機器。
【請求項６】
請求項１から５のいずれか一項に記載の電子機器において、
前記コマンド毎に公開範囲を設定する公開範囲設定部を更に設け、
前記コマンド管理部は、前記自機器のコマンドを他機器に送信する際、前記自機器のコマンドの公開範囲に前記他機器が含まれていない場合、前記自機器のコマンドを送信しない
ことを特徴とする電子機器。
【請求項７】
請求項１から６のいずれか一項に記載の電子機器において、
前記コマンドに課金情報を設定する課金情報設定部を更に設け、
前記コマンド管理部は、前記課金情報が付加された前記自機器のコマンドを他機器に送信し、
前記コマンド処理部は、前記他機器から前記課金情報が設定された前記自機器のコマンドを受信した場合に、前記自機器のコマンドの実行結果に課金結果を付加して前記他機器に送信する
ことを特徴とする電子機器。
【請求項８】
複数の電子機器を有し、
それぞれの電子機器が個々に有する機能の処理を実行するためのコマンドを所持し、
前記複数の電子機器はコマンドを互いに共有し、
共有したコマンドのうち使用するコマンドを第１の電子機器で選択し、選択された前記コマンドが第１の電子機器のコマンドである場合は、前記第１の電子機器のコマンドの機能に対応する処理を前記第１の電子機器で実行し、選択されたコマンドが第１の電子機器のコマンドでない場合は、前記選択されたコマンドを第２の電子機器に送信し、
前記選択されたコマンドを受信した第２の電子機器は、受信した前記選択されたコマンドが前記第２の電子機器のコマンドである場合は、前記第２の電子機器のコマンドの機能に対応する処理を実行して、実行結果を送信元の電子機器に返信し、受信した前記選択されたコマンドが第２の電子機器のコマンドではない場合は、前記コマンドを前記第２の電子機器とは異なる第３の電子機器へ送信する
ことを特徴とする電子機器連携システム。
【請求項９】
複数の電子機器間で自機器が保持するコマンドを送信し、他機器のコマンドを受信して他機器のコマンドを取得し、自機器が実行する自機器のコマンドと他機器が実行する他機器のコマンドとを管理するコマンド管理手順と、
管理されているコマンドのうち、選択されたコマンドが自機器のコマンドである場合は、前記自機器のコマンドに対応する機能の処理を自機器で実行し、前記選択したコマンドが他機器のコマンドである場合は、前記他機器のコマンドに対応する機能の処理を他機器に実行させるコマンド処理手順と
を有することを特徴とする電子機器制御方法。
【請求項１０】
請求項９に記載の電子機器において、
前記コマンド処理手順は、選択したコマンドが他機器のコマンドである場合、前記他機器のコマンドを前記他機器に送信し、前記他機器のコマンドの実行結果を前記他機器から受信する
ことを特徴とする電子機器制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器および電子機器連携システム並びに電子機器制御方法に関する。
【背景技術】
【０００２】
近年、電子機器の多くはＣＰＵが搭載され、ＣＰＵで実行するプログラムによって様々な機能を実現している。ところが、様々な電子機器で同様の機能を実現するために機器毎に同じようなプログラムを搭載しなければならないという問題がある。このため、コントローラで一元的に処理を実行する技術などが考えられている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−０４４２９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来、他機器と同じ機能を利用する場合、自機器に他機器と同じアプリケーションソフトなどをインストールしたり、コントローラで一元的に処理を実行する必要があった。
【０００５】
本発明の目的は、特別な設定や専用の装置を用いることなく、他機器のコマンドを自機器のコマンドと同様に使用できる電子機器および電子機器連携システム並びに電子機器制御方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明に係る電子機器は、他機器と通信を行う通信部と、前記通信部により、自機器のコマンドを他機器へ送信し、他機器のコマンドを受信して他機器のコマンドを取得し、前記自機器のコマンドと他機器のコマンドとを管理するコマンド管理部と、前記コマンド管理部で管理されているコマンドのうち、選択されたコマンドが前記自機器のコマンドである場合は、前記自機器のコマンドに対応する機能の処理を前記自機器で実行し、選択されたコマンドが他機器のコマンドである場合は、前記他機器のコマンドに対応する機能の処理を前記他機器に実行させるコマンド処理部とを有することを特徴とする。
【０００７】
本発明に係る電子機器連携システムは、複数の電子機器を有し、それぞれの電子機器が個々に有する機能の処理を実行するためのコマンドを所持し、前記複数の電子機器はコマンドを互いに共有し、共有したコマンドのうち使用するコマンドを第１の電子機器で選択し、選択された前記コマンドが第１の電子機器のコマンドである場合は、前記第１の電子機器のコマンドの機能に対応する処理を前記第１の電子機器で実行し、選択されたコマンドが第１の電子機器のコマンドでない場合は、前記選択されたコマンドを第２の電子機器に送信し、前記選択されたコマンドを受信した第２の電子機器は、受信した前記選択されたコマンドが前記第２の電子機器のコマンドである場合は、前記第２の電子機器のコマンドの機能に対応する処理を実行して、実行結果を送信元の電子機器に返信し、受信した前記選択されたコマンドが第２の電子機器のコマンドではない場合は、前記コマンドを前記第２の電子機器とは異なる第３の電子機器へ送信することを特徴とする。
【０００８】
本発明に係る電子機器制御方法は、複数の電子機器間で自機器が保持するコマンドを送信し、他機器のコマンドを受信して他機器のコマンドを取得し、自機器が実行する自機器のコマンドと他機器が実行する他機器のコマンドとを管理するコマンド管理手順と、管理されているコマンドのうち、選択されたコマンドが自機器のコマンドである場合は、前記自機器のコマンドに対応する機能の処理を自機器で実行し、前記選択したコマンドが他機器のコマンドである場合は、前記他機器のコマンドに対応する機能の処理を他機器に実行させるコマンド処理手順とを有することを特徴とする。
【発明の効果】
【０００９】
本発明に係る電子機器および電子機器連携システム並びに電子機器制御方法は、特別な設定や専用の装置を用いることなく、他機器のコマンドを自機器のコマンドと同様に使用することができる。
【図面の簡単な説明】
【００１０】
【図１】電子機器１０の構成例を示す図である。
【図２】本実施形態に係る電子機器連携システム１００の一例を示す図である。
【図３】本実施形態に係る電子機器連携システム１００の初期動作を示すフローチャートである。
【図４】本実施形態に係る電子カメラ１０１の動作例を示す図である。
【図５】一般的な電子カメラ９０１の動作例を示す図である。
【図６】電子カメラ１０１の構成例を示す図である。
【図７】本実施形態に係る電子機器連携システム１００のコマンド表示例を示す図である。
【図８】本実施形態に係る電子機器連携システム１００のコマンド実行例を示す図である。
【図９】本実施形態に係る電子機器連携システム１００の動作例を示す図である。
【図１０】本実施形態に係る電子機器連携システム１００の連携動作例を示す図である。
【図１１】本実施形態に係る電子カメラ１０１の処理例を示すフローチャートである。
【図１２】本実施形態に係るＯＳの処理例を示すフローチャートである。
【図１３】本実施形態に係る電子機器１０におけるコマンド処理部１７の処理例を示すフローチャートである。
【図１４】本実施形態に係る電子機器連携システム１００の応用例１を示す図である。
【図１５】本実施形態に係る電子機器連携システム１００の応用例２を示す図である。
【図１６】本実施形態に係る電子機器連携システム１００の応用例３を示す図である。
【図１７】本実施形態に係る電子機器連携システム１００の応用例４を示す図である。
【図１８】本実施形態に係る電子機器連携システム１００の応用例５を示す図である。
【図１９】本実施形態に係る電子機器連携システム１００の応用例６を示す図である。
【図２０】コマンドの追加・削除の例を示す図である。
【図２１】コマンドリストの検索と表示例を示す図である。
【図２２】複数のコマンドを組み合わせる操作の一例を示す図である。
【図２３】ＧＵＩコマンドの連携例１を示す図である。
【図２４】ＧＵＩコマンドの連携例２を示す図である。
【図２５】ＧＵＩコマンドの連携例３を示す図である。
【図２６】ＧＵＩコマンドの連携例４を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明に係る電子機器および電子機器連携システム並びに電子機器制御方法の実施形態について図面を用いて詳しく説明する。尚、本実施形態では、複数の様々な機能を有する電子機器（電子カメラ、携帯電話、プリンタなど）の間で互いの機能を利用するコマンド共有機能（以降、Ｃ機能と称する）が用いられる。
【００１２】
［電子機器１０の構成例］
図１は、本実施形態に係る電子機器連携システムに対応する電子機器１０の構成例を示す図である。図１において、電子機器１０は、ハードウェア１１と、ソフトウェア１２とで構成される。
【００１３】
ハードウェア１１は、電子機器１０本来の機能に対応するための電子機器用回路１３と、Ｃ機能に対応するための通信回路１４とを有する。例えば、電子カメラの場合は、撮像回路、表示回路、記録回路などが電子機器用回路１３に対応する。尚、携帯電話などの場合は、基地局との間で通信するための電話機本来の通信回路とは別に、電子機器間で通信可能なＢｌｕｅｔｏｏｔｈ（登録商標）などの規格に対応する通信回路やその通信回路を使用して通信可能な範囲にある同じ機能に対応する電子機器を探索するソフトウェアを備えたものがあるので、このような携帯電話の場合は通信回路１４を新たに設ける必要がなく、電子機器用回路１３に含まれている。ここで、通信回路１４は、無線通信であってもよいし、有線通信であってもよい。
【００１４】
ソフトウェア１２は、ハードウェア１１の各部を制御して電子機器１０の動作を実現するＯＳ（オペレーションシステム）を基本とし、ＯＳ上で実行される制御プログラム１５およびＣ機能プラットホーム１６を有する。
【００１５】
制御プログラム１５は、電子機器１０の操作に対応する本来の機能を実現するためのプログラムだけでなく、本実施形態の特徴であるＣ機能により他機器に搭載された機能を利用するプログラムを有する。尚、自機器の機能および他機器の機能或いは両方を組み合わせた機能のいずれの場合のプログラムであっても、Ｃ機能プラットホーム１６（コマンド処理部１７）に対してコマンド（或いはコマンド実行するタイミングを与えるイベント）を発行して実行結果を得る動作は同じであり、制御プログラム１５側で自機器の機能であるか他機器の機能であるかを意識する必要はない。
【００１６】
Ｃ機能プラットホーム１６は、コマンド処理部１７と、コマンド共有部１８と、通信処理部１９とを有する。
【００１７】
コマンド処理部１７は、コマンド共有部１８のコマンドリスト２０を参照して、制御プログラム１５から送られるコマンドが内部コマンド（自機器で実行するコマンド）であるか外部コマンド（他機器で実行するコマンド）であるかを判別し、内部コマンドである場合は処理を実行して、その実行結果を制御プログラム１５側に返す処理を行う。また、制御プログラム１５から送られるコマンドが外部コマンドである場合は、外部コマンドを通信処理部１９からハードウェア１１の通信回路１４を介して接続される他機器に送信する。そして、コマンド処理部１７は、通信回路１４および通信処理部１９を介して他機器での実行結果を受信し、これを制御プログラム１５側に返す処理を行う。
【００１８】
コマンド共有部１８は、自機器および他機器で実行可能なコマンドをコマンドリスト２０として管理するコマンド管理部である。尚、コマンドリスト２０に登録されるコマンドには、コマンド種別やコマンド機能名、パラメータなどコマンドに関係する様々な情報が含まれている。但し、コマンドリスト２０はコマンドのリストであって、コマンドを実行するプログラム自体はそれぞれの電子機器にある。また、コマンドリスト２０には、予め自機器で実行可能な内部コマンドのリストが登録されているが、通信処理部１９が通信回路１４で接続される他機器から取得する外部コマンドが適宜追加される。ここで、コマンドリスト２０に登録されている外部コマンドの実行先である他機器との通信が通信回路１４上で切断されたことを通信処理部１９で検出した場合は、コマンドリスト２０に登録されている当該機器のコマンドを削除する。
【００１９】
通信処理部１９は、通信回路１４を介して予め決められた所定のプロトコルによる通信を確立し、機器情報、コマンドリスト、イベントなどの送受信、或いはコマンドの送信や実行結果の受信などを行う。
【００２０】
このように、本実施形態に係る電子機器１０は構成され、複数の電子機器１０がコマンドを共有して互いの機能を利用できるようになっている。
【００２１】
［電子機器連携システム１００の動作例］
次に、電子機器１０として、Ｃ機能に対応するハードウェア１１およびソフトウェア１２を備えた電子カメラ１０１および携帯電話１０２を用いる場合の電子機器連携システム１００の基本動作について説明する。
【００２２】
図２において、電子カメラ１０１は撮影コマンド１５１を有し、携帯電話１０２は電子メールコマンド１５２と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  ｓｙｓｔｅｍ）コマンド１５３とを有する。撮影コマンド１５１は、電子カメラ１０１の撮影を行うコマンドである。電子メールコマンド１５２は、電子メールを送受信するコマンドである。ＧＰＳコマンド１５３は、緯度、経度などの位置情報を取得するコマンドである。
【００２３】
そして、電子カメラ１０１と携帯電話１０２のそれぞれのコマンド共有部１８は、通信処理部１９による通信確立（Ｓ１０１）の後、互いの機器情報とコマンドリスト２０（図２では、コマンドリスト１３１ａ、コマンドリスト１３２ａに対応）を送受信する。例えば電子カメラ１０１は、機器情報として自機器がカメラであること、実行可能なコマンドリスト１３１ａとして撮影コマンド１５１を有すること、などを携帯電話１０２に送信する（Ｓ１０２）。逆に、携帯電話１０２は、機器情報として自機器が携帯電話であること、実行可能なコマンドリスト１３２ａとして電子メールコマンド１５２と、ＧＰＳコマンド１５３とを有すること、などを電子カメラ１０１に送信する（Ｓ１０３）。
【００２４】
これにより、電子カメラ１０１は、自機器の撮影コマンド１５１と、携帯電話１０２の電子メールコマンド１５２と、ＧＰＳコマンド１５３とを含むコマンドリスト１３１ｂを持つことができる。同様に、携帯電話１０２は、自機器の電子メールコマンド１５２およびＧＰＳコマンド１５３と、電子カメラ１０１の撮影コマンド１５１とを含むコマンドリスト１３２ｂを持つことができる。尚、送受信するのはコマンドリストであって、コマンドを実行するプログラム自体はそれぞれの電子機器にある。
また、コマンド共有部１８は、自機器と通信が確立した他機器が複数野コマンドを所持している場合、複数のコマンド全てを取得しても良いが、他機器が所持する複数のコマンドのうち一部のコマンドのみを取得しても良い。具体的に、上記の電子カメラ１０１は、自機器の撮影コマンド１５１と、携帯電話１０２のコマンドである電子メールコマンド１５２とＧＰＳコマンド１５３と、を含むコマンドリスト１３１ｂを持っているが、携帯電話が有するコマンドのうち、電子メールコマンド１５２のみを取得しコマンドリスト１３１ｂに追加してもよい。
また、通信が確立した機器のコマンド共有部１８は、通信が確立しコマンドを送受信した互いの機器で同じコマンドリストを有していても良いが、異なるコマンドリストを有していてもよい。具体的に上記にある、電子カメラ１０１は、自機器の撮影コマンド１５１と、携帯電話１０２の電子メールコマンド１５２と、ＧＰＳコマンド１５３とを含むコマンドリスト１３１ｂを持っているが、携帯電話１０２は、自機器の電子メールコマンド１５２およびＧＰＳコマンド１５３とを含むコマンドリスト１３２ｂとし、必ずしも電子カメラ１０１の撮影コマンド１５１を含む必要はない。
【００２５】
電子カメラ１０１と携帯電話１０２のそれぞれのコマンド処理部１７は、コマンド共有部１８が保持するコマンドリスト２０の中のコマンドを実行する。例えば電子カメラ１０１はコマンドリスト１３１ａの撮影コマンド１５１を実行することができ、携帯電話１０２はコマンドリスト１３２ａの電子メールコマンド１５２やＧＰＳコマンド１５３を実行することができる。ここで、コマンドリスト１３１ａおよびコマンドリスト１３２ａは、電子カメラ１０１および携帯電話１０２のそれぞれが本来備えているコマンド（内部コマンド）である。さらに、本実施形態に係る電子機器連携システム１００では、通信確立後に送受信した他機器のコマンド（外部コマンド）を使用することができる。
【００２６】
例えば図２では、電子カメラ１０１が位置情報を取得したい場合、ＧＰＳコマンド１５２を携帯電話１０２に送信し（Ｓ１０４）、携帯電話１０２でＧＰＳコマンド１５２を実行して取得した位置情報（緯度経度など）を実行結果とするコマンド応答を電子カメラ１０１に送信する（Ｓ１０５）。
【００２７】
このようにして、電子カメラ１０１は、ＧＰＳ機能を搭載していなくてもＧＰＳによる位置情報を取得することができ、例えば撮影画像のヘッダ情報に位置情報を付加して保存するような新たな機能を容易に実現することができる。
【００２８】
図３は、本実施形態に係る電子機器連携システム１００において、電子機器の電源を投入してからコマンドリストを取得するまでの処理を示すフローチャートである。
【００２９】
（ステップＳ１５１）電子機器１０の電源が投入されると、Ｃ機能プラットホーム１６の通信処理部１９は通信回路１４を起動する。
【００３０】
（ステップＳ１５２）通信回路１４によって通信可能な範囲にある他の電子機器を探索する。尚、このような機能は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）などの規格で決められており、通信可能な範囲にある電子機器を見つけることができる。
【００３１】
（ステップＳ１５３）通信処理部１９は、検出した電子機器がＣ機能に対応する機器であるか否かの判別を行い、Ｃ機能に対応しない場合はステップＳ１５２に戻って電子機器の探索を継続する。そして、Ｃ機能に対応する場合はステップＳ１５４に進む。尚、Ｃ機能に対応しているか否かの判別は、例えば通信確立時に送受信する制御データにＣ機能対応有を示す独自の情報を付加することにより実現できる。
【００３２】
（ステップＳ１５４）機器探索で見つかったＣ機能に対応する他機器に自機器の機器情報を送信する。
【００３３】
（ステップＳ１５５）機器探索で見つかったＣ機能に対応する他機器から機器情報を受信する。
【００３４】
（ステップＳ１５６）自機器が保持するコマンドリストを他機器に送信する。
【００３５】
（ステップＳ１５７）他機器が保持するコマンドリストを他機器から受信する。
【００３６】
（ステップＳ１５８）他機器から受信したコマンドリストに登録されているコマンドを自機器が保持するコマンドリストに追加する。
【００３７】
このようにして、本実施形態に係る電子機器連携システム１００では、他機器との間で実行可能なコマンドリストを送受信することによって、他機器のコマンドを自機器のコマンドと同じように実行することができる。しかも、コマンドの実行自体は当該コマンドを有する機器上で行うので、従来のようにコマンドを実行するためのソフトウェアやドライバプログラムをインストールする必要がなく、ＯＳの種類にも依存しない。
【００３８】
図４は、本実施形態に係る電子機器連携システム１００に対応する電子カメラ１０１でコマンドを実行する様子を描いた図である。図４（ａ）は、電子カメラ１０１で撮影した画像に対して画像処理Ａを施してメモリカードなどに保存する処理例を示している。ここで、画像処理コマンドＡは電子カメラ１０１では実行できない外部コマンドなので、画像処理プログラムＡを有するサーバ１０４に画像処理コマンドＡと画像データを送信してサーバ１０４で画像処理Ａを施し、処理後の画像データを電子カメラ１０１に返信する。そして、電子カメラ１０１は、サーバ１０４から受信した画像処理Ａが施された画像データを撮影画像としてメモリカードなどに保存する。
【００３９】
一方、図５は、従来の電子カメラ９０１で画像処理Ａを施した画像をメモリカードなどに保存する処理の流れを示している。ここで、電子カメラ９０１で画像処理Ａを施すために、画像処理プログラムＡを有するサーバ９０４から画像処理プログラムＡ自体をダウンロードして電子カメラ９０１側で画像処理Ａを施し、処理後の画像データを撮影画像としてメモリカードなどに保存する。ところが、電子カメラ９０１とサーバ９０４とでＯＳなどの実行環境が異なる場合は電子カメラ９０１で画像処理プログラムＡを実行できない。或いは画像処理プログラムＡを電子カメラ９０１で実行するためにドライバソフトウェアなどをインストールしなければならない場合もある。さらに画像処理プログラムＡを電子カメラ９０１で実行できる場合でも、電子カメラ９０１とサーバ９０４ではＣＰＵの処理能力が異なるため、画像処理プログラムＡの処理速度が遅くなる可能性がある。これに対して、図４（ａ）の本実施形態に係る電子機器連携システム１００の場合は、画像処理Ａのコマンド発行を電子カメラ１０１で行い、画像処理Ａ自体はサーバ１０４側で実行するので、電子カメラ１０１のＯＳなどの実行環境や処理速度などの問題は生じない。
【００４０】
さらに、図４（ｂ）は、電子カメラ１０１で撮影した画像に対して画像処理Ｂを施してメモリカードなどに保存する処理の流れを示している。ここで、画像処理コマンドＢは電子カメラ１０１で実行可能な内部コマンドなので、自機器内の制御プログラムに画像処理コマンドＢと画像データを送って画像処理Ｂを施し、処理後の画像データを受け取ってメモリカードなどに保存する。
【００４１】
このように、本実施形態に係る電子機器連携システム１００における電子カメラ１０１は、外部コマンドおよび内部コマンドの区別なく、同じようにコマンドを発行して処理を行うことができる。
【００４２】
［機器情報］
次に、機器情報について説明する。図２で説明したように、本実施形態に係る電子機器連携システム１００に対応する電子機器１０は、通信確立時に機器情報を送受信する。この機器情報には、例えば以下のような情報が含まれる。
・国ＩＤ：各国毎に決められた固有ＩＤ、或いは国名でもよい。例えばＪＡＰＡＮなど。・メーカＩＤ：メーカ毎に決められた固有ＩＤ、或いはメーカ名でもよい。例えばＡＢＣＤＥ会社など。
・機器カテゴリＩＤ：機器種別毎に決められたカテゴリを示す固有ＩＤ、或いは機器名でもよい。例えばカメラ、携帯電話、プリンタなど。
・機器ＩＤ：機器毎に決められた固有ＩＤで製造番号やシリアル番号など。
・所有者ＩＤ：機器の所有者毎に予め決められた固有ＩＤ、或いは所有者名や住所、電話番号などであってもよい。
【００４３】
このように、本実施形態に係る電子機器連携システム１００では、通信確立時に上記のような機器情報を送受信する。これにより、例えば特定国の機器、同一メーカの機器、同じカテゴリの機器、同じ所有者の機器などの特定機器でしかコマンドを利用できないようにすることができる。
【００４４】
［コマンド］
次に、コマンドに含まれる情報について説明する。図２で説明したように、コマンドには自機器で実行する内部コマンドと、他機器で実行する外部コマンドとがあり、いずれのコマンドにも以下のような情報が含まれる。
・コマンド種別：単体で実行するコマンド、バッチ処理コマンドなど。
・実行可能な機器：例えばカメラ、携帯電話などの機器種別や個別の機器ＩＤなど。
（尚、機器種別や機器ＩＤは、通信確立時に送受信される機器情報に含まれる）
・コマンド機能名：例えば撮影機能、ＧＰＳ機能、プリンタ機能、超解像度画像処理機能など。
・コマンドＩＤ：コマンド毎に予め決められた固有ＩＤ、或いはコマンド名。例えば撮影コマンド、印刷コマンドなど。
・パラメータ：コマンドで参照するパラメータ。例えば撮影コマンドであればシャッタ速度や絞り値或いは撮影モードの選択値（夜景モードなど）。尚、選択可能な数値範囲や全ての選択値の情報も含まれる。
・コマンド実行結果：コマンドの実行によって得られる結果で、数値や画像データなどの実行結果である。例えばＧＰＳコマンドであれば緯度経度などの数値、画像処理であれば処理後の画像データなど。
・アイコン：コマンドを画面に表示する場合に、コマンドを判別し易いようするための画像。例えば電子メールコマンドであれば封書画像のアイコンなど。尚、アイコンは、機器毎に色分けしてもよいし、形状、サイズ、模様などを変えてもよい。或いは、アイコン自体を機器の画像やイラストにしてもよい。これにより、どの機器のアイコンであるかを容易に判別できる。
・チュートリアル：コマンドの使い方や機能説明。いわゆるＨＥＬＰ情報に相当する。
・コマンドで使用する別のコマンドの情報：バッチ処理などで別のコマンドの実行結果を利用するコマンドなど。例えば現在位置の住所を求める住所コマンドを設けた場合、住所コマンドの中でＧＰＳコマンドを実行して、ＧＰＳコマンドで得られる緯度経度の数値から地図上の位置を検索して住所を求める、など。
・作者情報：コマンド作成者のＩＤや名称など。
【００４５】
このように、本実施形態に係る電子機器連携システム１００では、通信確立時に上記のような情報を含むコマンドリストを送受信する。これにより、例えばコマンドのパラメータや使い方がわかるので、初めてのコマンドであっても動作設定を簡単に行うことができ、所望の実行結果を得ることができる。
【００４６】
ここで、様々な電子機器におけるコマンド例を以下に示す。
・電子機器が携帯電話の場合
「ＧＰＳコマンド」：緯度経度情報の提供
「メール送信コマンド」：電子メールの送信
「超解像画像処理コマンド」：高解像度化を行う画像処理
「音声録音コマンド」：マイクロホンで音声を録音
・電子機器がカメラの場合
「静止画ＡＵＴＯ撮影コマンド」：自動露出、自動焦点で静止画撮影
「高速シャッタ撮影コマンド」：高速シャッタで画像を撮影
「ボケ優先撮影コマンド」：ボケのある被写界深度の浅い画像を撮影
「動画撮影コマンド」：動画を撮影
・電子機器がプリンタの場合
「写真印刷Ｌ版」：Ｌ判で印刷
「写真印刷Ａ４」：Ａ４で印刷
・電子機器がＦＡＸの場合
「画像送信」：画像データを送信
「データ受信」：画像データを受信
・電子機器がテレビの場合
「画像表示」：画像データを画面に表示
「チャネル選択」：放送受信するチャネル選択
「テレビ番組表取得コマンド」：テレビ放送の番組表を他機器から取得
「テレビ画像取得コマンド」：テレビ放送画面を他機器から取得
・電子機器がビデオの場合
「静止画録画」：静止画像を記録
「動画録画」：動画像を記録
・電子機器がネットワーク接続可能な機器の場合
「インターネット検索コマンド」：ネット情報を他機器から取得
「音楽情報取得コマンド」：ネットワーク上で配信されている音楽情報を取得
このように、本実施形態に係る電子機器連携システム１００では、他機器のコマンドを自機器のコマンドと同じように実行することができ、自機器にはない他機器の機能を利用できる。もちろん、自機器にある機能でも他機器にある同じ機能を利用することもできる。例えば自機器にＧＰＳ機能がある場合に、他機器のＧＰＳ機能を利用してもよく、この場合、自機器ではなく他機器の同じ機能を利用することにより、自機器の処理負荷を低減できるという効果が得られる。或いは、同じ機能であっても性能が異なる場合や処理速度が速い場合などでも他機器の同じ機能を利用する利点がある。また、複数の機器のＧＰＳから得られる位置情報を組み合わせることにより、位置情報の精度を高める処理を行うようにしてもよい。
また、上記の例では、電子カメラ１０１から操作する場合であって、電子カメラ１０１に欲しい機能（プリンタ、画像処理等）を他機器で実行するためのコマンド例を基本に説明した。しかし、コマンドは、電子カメラ１０１以外の機器から操作を行い、電子カメラ１０１以外の機器が欲しい機能を他機器で実行するためのものであってもよい。
例えば、プリンタから操作する場合、電子カメラ１０１側に保存してある画像を閲覧する機能（保存画像取得コマンド）や、サムネイル画像の一覧を取得する機能（サムネイル画像取得コマンド）などでもよい。尚、プリンタから操作する具体例については後で詳しく説明する。
【００４７】
［イベント］
次に、イベントに含まれる情報について説明する。図２では、発行したコマンドを自機器または他機器で実行して実行結果を得る例を示したが、コマンドを実行するタイミングを与えることもできる。例えば図２において、携帯電話１０２側から電子カメラ１０１の撮影コマンド１５１を利用する場合、例えば電子カメラ１０１のシャッターボタンが押下された時に撮影を行うなど、撮影を行うタイミングを指示しなければならない。尚、携帯電話１０２側から撮影コマンド１５１を発行した時に直ぐに撮影を行うような使い方の場合は、シャッターボタンの押下時というイベントを指示する必要はない。
【００４８】
以下にイベントに含まれる情報の一例を示す。
・イベント種別：オペレーション、処理割り込みなどの制御情報。例えばシャッターボタン押下はオペレーション、電子メール受信や予め設定した時刻などは処理割り込み。
・イベントが発生した機器ＩＤ：機器情報で説明した機器ＩＤ。例えば、機器ＩＤ：カメラなど。
・イベント名：イベントの名称。例えばタイマー割り込みやシャッターボタン押下、或いは顔認識など。
・イベントＩＤ：イベント名に対応するＩＤ。例えばシャッターボタン押下の場合はＩＤ＝ＲＢ＿ＤＯＷＮなど。尚、実際にはこのイベントＩＤが送受信される。
・パラメータ：イベントで参照するパラメータ。例えばコマンドを実行する時刻など。尚、選択可能な数値範囲や全ての選択値の情報も含まれる。
・アイコン：コマンドリストを表示する場合のアイコン画像。
・チュートリアル：イベントの使い方や機能説明。いわゆるＨＥＬＰ情報に相当する。
・このイベントをトリガーとして実行するコマンド情報：例えばイベントがシャッターボタン押下であれば撮影コマンドなど。
・作者情報：イベント作成者のＩＤや名称など。
【００４９】
このように、本実施形態に係る電子機器連携システム１００では、通信確立時に先に説明したコマンドリストに含めて上記のようなイベントも送受信される。これにより、例えばコマンドを実行するためのイベントを知ることができ、イベントのパラメータや使い方なども確認できる。
【００５０】
ここで、様々な電子機器におけるイベント例を以下に示す。
・電子機器が携帯電話の場合
「電話着信」「メール受信」「キーボード操作」「十字キー操作」など。
・電子機器がカメラの場合
「シャッターボタン押下」「ダイヤル操作」「静止画撮影」「ＳＤカード挿入」など。
・電子機器がプリンタの場合
「パネル操作」「ＳＤカード挿入」「インク切れ」など。
・電子機器がテレビの場合
「チャンネル操作」「リモコン操作」など。
・電子機器がビデオの場合
「再生ボタン押下」「早送りボタン押下」など。
【００５１】
このように、本実施形態に係る電子機器連携システム１００では、他機器のコマンドや自機器のコマンドを実行するためのイベントも機器間で共有する。
【００５２】
［電子カメラ１０１の構成例］
図６は、本実施形態に係る電子機器１０が電子カメラ１０１である場合の構成例を示す図である。
【００５３】
電子カメラ１０１は、光学系２０１と、撮像部２０２と、バッファ２０３と、制御部２０４と、操作部２０５と、表示部２０６と、メモリカードＩＦ（インターフェース）２０７、メモリ２０８と、通信回路２０９とで構成される。
【００５４】
図６において、光学系２０１は、被写体像を撮像部２０２の受光面に結像する。ここで、光学系２０１は、ズームレンズやフォーカスレンズなどの複数枚のレンズおよびレンズ駆動部や絞り機構などを有し、制御部２０４によって、ズームレンズ位置、フォーカスレンズ位置、絞り値などが制御される。
【００５５】
撮像部２０２は、例えばＣＭＯＳ型固体撮像素子およびＡ／Ｄ変換器などを有し、固体撮像素子の受光面に結像された被写体像を受光量に応じて電気信号に変換し、さらにＡ／Ｄ変換後の画像データをバッファ２０３に取り込む。
【００５６】
バッファ２０３は、例えば揮発性の高速メモリで構成される。バッファ２０３は、撮像部２０２が出力する画像データを一時的に記憶するだけでなく、制御部２０４が画像処理を行う時のバッファメモリとしても使用される。或いは、表示部２０６に画像を表示する時の表示メモリとしても使用される。
【００５７】
制御部２０４は、例えば内部に記憶されたプログラムに従って動作するＣＰＵで構成される。制御部２０４は電子カメラ１０１全体の動作を制御し、例えば操作部２０５のモード選択ダイヤル２６３で電子カメラ１０１の撮影モードを選択したり、シャッターボタン２６２の押下時に光学系２０１のフォーカスレンズ制御や絞り制御を行って撮像部２０２のメカニカルシャッタまたは電子シャッタを制御して、被写体画像を撮影する。そして、制御部２０４は、撮像部２０２から画像データを読み出し、バッファ２０３に取り込む制御を行う。さらに、制御部２０４は、バッファ２０３に取り込まれた画像データに対して所定の画像処理（ホワイトバランス処理，色補間処理，ガンマ補正処理，彩度強調処理，輪郭輪郭強調処理、或いはＪＰＥＧ規格などに準拠した画像圧縮処理）を施し、画像処理後の画像データ（例えばＪＰＥＧデータ）に所定のファイル名やヘッダ情報を付加してメモリカード２０７ａに保存する。或いは、バッファ２０３に取り込まれた画像データを表示部２０６に撮影画像として表示する。
【００５８】
操作部２０５は、電源ボタン２６１、シャッターボタン２６２、モード選択ダイヤル２６３、メニューボタン２６４、十字キー２６５などで構成される。ユーザーは、これらの操作ボタンを操作して電子カメラ１０１を使用する。尚、操作部２０５による操作情報は制御部２０４に出力され、制御部２０４は操作部２０５から入力する操作情報に応じて電子カメラ１０１の動作を制御する。例えばメニューボタン２６４を押下すると、制御部２０４は電子カメラ１０１の機能を選択するメニュー画面を表示部２０６に表示する。そして、十字キー２６５を操作してメニュー画面の操作を行う。特に、本実施形態に係る電子カメラ１０１では、メニューボタン２６４を押下すると図７に示すようなコマンドリストが表示され、十字キー２６５で選択することにより他機器の機能を利用することができる。或いは、これらのコマンドを組み合わせることによって新たなアプリケーション機能を実現できる。
【００５９】
例えば、図８に示すように、機器２のコマンドリストには、自機器のコマンド（内部コマンド）として、機能１から機能３のコマンドが登録されており、他機器（機器２）のコマンド（外部コマンド）として、機能４および機能５のコマンドが登録されている。これにより、機器２は、機能１から機能５の５つのコマンドを使用することができる。そして、これらのコマンドを組み合わせたアプリケーションプログラムを実行することができる。図８の例では、コマンドの実行順序１６１として、機器２の機能１のコマンド、機器１の機能４のコマンド、機器１の機能５のコマンド、機器２の機能２のコマンド、機器２の機能３のコマンドの順に実行する。
尚、図７において、コマンドを示すアイコンは、機器毎に色分けしてもよいし、形状、サイズ、模様などを機器毎に分けてもよい。また、コマンドがどの機器に対応するコマンドであるかが分かるように、機器を示す画像や文字などをコマンドのアイコンの一部に表示してもよい。これにより、同じ機能を有する複数の機器がある場合に、どの機器の機能であるかを容易に判別することができる。例えばカメラ付携帯電話の撮影コマンドと、電子カメラの撮影コマンドとが利用できる場合、アイコンの一部に携帯電話や電子カメラのグラフィックや機器名を付加して表示することにより、どの機器のコマンドであるかが容易に判別可能である。
【００６０】
表示部２０６は、液晶モニタなどで構成される。そして、制御部２０４によって、撮影画像や設定メニューなどが表示される。
【００６１】
メモリカードＩＦ２０７は、電子カメラ１０１にメモリカード２０７ａを接続するためのインターフェースである。制御部２０４はメモリカードＩＦ２０７を介してメモリカード２０７ａに画像データを読み書きする。
【００６２】
メモリ２０８は、例えばフラッシュメモリなどの不揮発性の半導体メモリで構成される。メモリ２０８には、電子カメラ１０１に設定された撮影モードや露出情報、フォーカス情報などのパラメータが記憶される。特に本実施形態では、自機器や他機器のコマンドリスト、機器情報、イベントなどが記憶される。
【００６３】
通信回路２０９は、図１の通信回路１４に対応し、電子機器間で通信可能なＢｌｕｅｔｏｏｔｈ（登録商標）などの規格に対応する。
【００６４】
以上が電子カメラ１０１の構成および基本動作である。
【００６５】
［電子機器連携システム１００の動作例］
次に、電子カメラ１０１を用いた電子機器連携システム１００の動作例について説明する。尚、動作の基本的な流れは以下の通りである。
（１）機器間で通信を確立する。
（２）自機器の情報を相手に送信する。
（３）現在の自機器にて実行可能なコマンドリストなどを相手機器に送信する。
（４）相手機器からも機器情報とコマンドリストを受け取る。
（５）相手機器からコマンドを受信した場合はそのコマンドを実行し、実行結果を返信する。
（６）必要であれば自機器から相手機器にコマンドを送信し、実行結果を受け取る。
【００６６】
図９は、Ｃ機能に対応する電子機器１０として、電子カメラ１０１、携帯電話１０２およびプリンタ１０３を利用する場合の電子機器連携システム１００の一例である。尚、図２と同符号のブロックおよび処理は同じものを示す。
【００６７】
図９において、電子カメラ１０１と、携帯電話１０２との間で通信確立（Ｓ１０１）後、機器情報や実行可能なコマンドを送受信（Ｓ１０２、Ｓ１０３）する。これにより得られるコマンドリストは図２のコマンドリスト１３１ａおよびコマンドリスト１３２ａと同じである。例えば、この時点で電子カメラ１０１のコマンドリスト１３１ｃおよび携帯電話１０２のコマンドリスト１３２ｃには、撮影コマンド１５１と、電子メールコマンド１５２と、ＧＰＳコマンド１５３とが保持されている。
【００６８】
そして、通信確立（Ｓ１０１）より少し遅れて、携帯電話１０２とプリンタ１０３との間で通信確立（Ｓ２０１）が行われ、携帯電話１０２のコマンドリスト１３２ｃに保持されている現時点の実行可能なコマンドを機器情報と共にプリンタ１０３に送信する（Ｓ２０２）。逆に、プリンタ１０３のコマンドリスト１３３ｃに保持されている現時点の実行可能なコマンドを機器情報と共に携帯電話１０２に送信する（Ｓ２０３）。これにより、携帯電話１０２から撮影コマンド１５１と、電子メールコマンド１５２と、ＧＰＳコマンド１５３とがプリンタ１０３に送信されてコマンドリスト１３３ｃに追加され、また、プリンタ１０３から印刷コマンド１５４が携帯電話１０２に送信されてコマンドリスト１３２ｃに追加される。
【００６９】
さらに、携帯電話１０２のコマンド共有部１２３は、コマンドリスト１３３ｃに新たに印刷コマンド１５４が追加されたので、先に通信確立していた電子カメラ１０１に対して印刷コマンド１５４および機器情報を送信する（Ｓ１０６）。これにより、電子カメラ１０１のコマンドリスト１３１ｃに印刷コマンド１５４が追加される。
【００７０】
このようにして、電子カメラ１０１は、携帯電話１０２を介してプリンタ１０３の印刷コマンド１５４を取得でき、印刷機能を利用することが可能になる。尚、電子カメラ１０１とプリンタ１０３とが通信可能な範囲にある場合は、電子カメラ１０１とプリンタ１０３とが直接に通信確立を行って互いのコマンドリストを送受信する。この場合、携帯電話１０２を介して取得する印刷コマンド１５４と、プリンタ１０３から直接受け取る印刷コマンド１５４とが重複するが、電子カメラ１０１のコマンド共有部１８は、コマンドに含まれる機器情報などにより同じプリンタの同じコマンドであることがわかるので、既にコマンドリスト１３１ｃに登録済みのコマンドである場合は重複するコマンドを無視する。
【００７１】
ここで図９において、Ｓ２０２で携帯電話１０２からプリンタ１０３に送信されるコマンドリストの中には、自機器の内部コマンド（電子メールコマンド１５２、ＧＰＳコマンド１５３）だけでなく、他機器の電子カメラ１０１の外部コマンド（撮影コマンド１５１）が含まれている。これにより、直接接続できない機器間においてもコマンドが順に転送され、複数の機器でコマンドを共有することが可能になる。
【００７２】
さらに、新たな機器が追加された場合には、当該機器が有する新たなコマンドを通信確立している複数の機器に送信するので、常に全ての機器のコマンドリストを最新の状態に更新することができる。
【００７３】
特に、本実施形態に係る電子機器連携システム１００では、各機器がマスター／スレーブの関係を持たず対等に動作するので、自機器がマスターであるかスレーブであるかの判定や動作を切り替えるための複雑な切り替え処理などが不要となり、他機器のコマンドを自機器のコマンドと同様に意識することなく実行することができる。
【００７４】
［コマンドの実行例］
次に、図９において、電子カメラ１０１が印刷コマンド１５４を実行する場合は、印刷コマンド１５４を携帯電話１０２に送信する（Ｓ１０７）。携帯電話１０２では、印刷コマンド１５４が自機器のコマンドではなくプリンタ１０３のコマンドなので、印刷コマンド１５４をプリンタ１０３に送信する（Ｓ２０４）。そして、プリンタ１０３で印刷コマンド１５４を実行して撮影画像を印刷し、印刷完了を示すコマンド応答を携帯電話１０２に送信する（Ｓ２０５）。尚、発行されるコマンドには、先に説明した機器情報やコマンド情報により、コマンドを実行する機器の情報が付加されている。プリンタ１０３からコマンド応答を受信した携帯電話１０２は、コマンド発行元の電子カメラ１０１にコマンド応答を送信する（Ｓ１０８）。そして、携帯電話１０２を介してプリンタ１０３の応答コマンドを受信した電子カメラ１０１は、印刷コマンド１５４の実行が完了したことを確認する。
【００７５】
このようにして、電子カメラ１０１は、携帯電話１０２を介してプリンタ１０３で撮影画像を印刷することができる。特に、電子カメラ１０１はプリンタ１０３のドライバソフトウェアのインストールや設定を行う必要がなく、印刷機能が自機能であるかのように撮影画像の印刷を行うことができる。
【００７６】
［その他の例］
次に、図１０は、電子カメラ１０１、携帯電話１０２、プリンタ１０３およびサーバ１０４の４つの電子機器を連携して動作させる電子機器連携システム１００の一例を示す図である。図１０の例は、「観光地において電子カメラ１０１で撮影した画像に位置情報を合成して自宅にあるプリンタ１０３で印刷する」という利用シーンを想定している。ここで、図２および図９で説明したように、図１０の４つの電子機器は機器情報やコマンドリストを互いに送受信して、同じコマンドリストを共有している状態にある。この場合の利用可能なコマンドは、例えば図９で説明したように、電子カメラ１０１の撮影コマンド１５１、携帯電話１０２のＧＰＳコマンド１５３、プリンタ１０３の印刷コマンド１５４、の３つのコマンドと、サーバ１０４の合成コマンド１５５である。
【００７７】
また、電子カメラ１０１は、撮影者が持ち歩いている携帯電話１０２との間をＢｌｕｅｔｏｏｔｈ（登録商標）やＷｉＦｉ（登録商標）などに対応する無線方式で制御情報を送受信する。携帯電話１０２は、基地局を介して携帯電話会社のサーバ１０５からインターネットを介して画像合成の処理を行うサーバ１０４に接続される。そして、サーバ１０４からインターネットを介して撮影者の自宅にあるプリンタ１０３に光ファイバーやＡＤＳＬなどの有線で接続される。尚、図１０の例では、説明がわかり易いように、プリンタ１０３を直接インターネットに接続しているが、実際には撮影者の自宅のルーターやパソコンなどを介してプリンタ１０３に接続される。
【００７８】
以下、図１０の動作について順番に説明する。尚、以下の（１）から（７）は図１０の（１）から（７）に対応する。
【００７９】
（１）撮影者が電子カメラ１０１のシャッターボタン２６２を押下すると、電子カメラ１０１で撮影コマンド１５１が実行され、撮影画像をバッファ２０３に取り込む。
【００８０】
（２）電子カメラ１０１から携帯電話１０２にＧＰＳコマンド１５３が送信され、携帯電話１０２で取得した位置情報（緯度経度情報、或いは地図データで変換した住所情報）を取得する。
【００８１】
（３）電子カメラ１０１は、携帯電話１０２に合成コマンド１５５を送信する。尚、合成コマンド１５５には、（１）で撮影した画像データと、（２）で取得した位置情報とが含まれている。
【００８２】
（４）携帯電話１０２は、合成コマンド１５５が自機器の内部コマンドではないので、合成コマンド１５５を実行する機器であるサーバ１０４にネットワークを経由して転送する。そして、サーバ１０４は、自機器の内部コマンドである合成コマンド１５５を実行し、撮影画像に位置情報を合成した実行結果の画像を合成コマンド１５５の発行元である電子カメラ１０１に送信する。尚、実行結果の画像は、合成コマンド１５５と同じ経路を逆に転送される。
【００８３】
（５）電子カメラ１０１は、サーバ１０４から受け取った合成後の画像データを印刷するために印刷コマンド１５４を携帯電話１０２に送信する。尚、印刷コマンド１５４には合成後の画像データが含まれている。
【００８４】
（６）携帯電話１０２は、印刷コマンド１５４が自機器の内部コマンドではないので、印刷コマンド１５４を実行する機器であるプリンタ１０３にネットワークを経由して転送する。そして、プリンタ１０３は、自機器の内部コマンドである印刷コマンド１５４を実行し、位置情報が合成された撮影画像をプリントする。そして、プリント完了を示す応答を印刷コマンド１５４と同じ経路を逆方向に電子カメラ１０１送信され、電子カメラ１０１は正常に自宅のプリンタ１０３で撮影画像を印刷したことを示すメッセージを表示部２０６に表示し、撮影者はこれを確認する。
【００８５】
このようにして、他機器の様々な機能を自機器の機能と同じように利用することができる。
【００８６】
図１１は、図１０で説明した処理（アプリケーションＡとする）を示すフローチャートである。尚、アプリケーションＡの処理は、例えばコマンドリスト１３１ｃのコマンドを組み合わせてユーザーが自由に作成することができる。例えば図７で説明したような各コマンドに対応するアイコンを処理順に並べることにより、様々なアプリケーション機能を実現できる。本実施形態では既に図１１に示す処理順序のアプリケーションプログラムが作成されているものとして説明する。
【００８７】
（ステップＳ３０１）制御部２０４は、シャッターボタン２６２が押下されたか否かを判別し、シャッターボタン２６２が押下されるまで待機する（シャッターボタンイベント）。そして、シャッターボタン２６２が押下された場合はステップＳ３０２に進む。
【００８８】
（ステップＳ３０２）制御部２０４は、コマンドリスト１３１ｃの中から撮影コマンドを発行し、実行結果として撮影画像を取得する。
【００８９】
（ステップＳ３０３）制御部２０４は、コマンドリスト１３１ｃの中からＧＰＳコマンドを発行し、実行結果として位置情報を取得する。
【００９０】
（ステップＳ３０４）制御部２０４は、ステップＳ３０３の位置情報（緯度経度情報、或いは地図データから住所情報に変換してもよい）を文字にしてステップＳ３０２の撮影画像の一部に合成する。
【００９１】
（ステップＳ３０５）制御部２０４は、印刷コマンド１５５を発行して、プリンタ１０３で合成後の画像を印刷する。
【００９２】
尚、発行される各コマンド（或いはイベント）は、自機器または他機器のＣ機能プラットホーム１６（電子カメラ１０１の場合はＣ機能プラットホーム２５１）のコマンド処理部１７に送られる。ここで、ＯＳは図６の制御部２０４に対応する。そして、コマンド処理部１７は、コマンド（内部コマンドまたは外部コマンド）を実行する機器にコマンドを発行し、実行結果を取得する。
【００９３】
このＯＳの処理を図１２のフローチャートに示す。
【００９４】
（ステップＳ３１１）各電子機器のＯＳは、コマンドが起動されるのを待ち、コマンドが呼び出されるとステップＳ３１２に進む。
【００９５】
（ステップＳ３１２）ＯＳは、呼び出されたコマンドをコマンド処理部１７に送信する。
【００９６】
このようにして、コマンドリストに登録されたコマンドを呼び出す場合は、当該コマンドが内部コマンドまたは外部コマンドに拘らず、各機器のコマンド処理部１７に送られる。
【００９７】
次にコマンド処理部１７の動作について図１３のフローチャートを用いて説明する。
【００９８】
（ステップＳ３２１）コマンド処理部１７は、ＯＳから受け取ったコマンド内容（イベントを含む）をチェックする。
【００９９】
（ステップＳ３２２）コマンドが内部コマンドであるか否かを判別して、内部コマンドの場合はステップＳ３２７に進み、内部コマンドではない場合はステップＳ３２３に進む。
【０１００】
（ステップＳ３２３）コマンドが外部コマンドであるか否かを判別して、外部コマンドの場合はステップＳ３２５に進み、外部コマンドではない場合はステップＳ３２４に進む。
【０１０１】
（ステップＳ３２４）内部コマンドでも外部コマンドでもない場合はイベント（実行トリガ）として処理する。例えばシャッターボタン２６２の押下やタイマー時刻の設定などの処理を行う。
【０１０２】
（ステップＳ３２５）外部コマンドを実行する。この場合は、自機器ではなく外部コマンドに対応する他機器にコマンドを送信して他機器でコマンドを実行する。
【０１０３】
（ステップＳ３２６）他機器で外部コマンドを実行した結果を当該他機器から受信する。
【０１０４】
（ステップＳ３２７）内部コマンドを実行する。この場合は、自機器のＯＳに内部コマンドを送って自機器でコマンドを実行する。
【０１０５】
（ステップＳ３２８）自機器で内部コマンドを実行した結果を受け取る。
【０１０６】
このようにして、コマンド処理部は、内部コマンドまたは外部コマンドに応じてコマンドに対応する機器上でコマンドを実行し、その実行結果を取得する。
【０１０７】
［応用例１］
次に、上記で説明した実施形態の応用例１について説明する。図２や図９の説明では、全ての電子機器が同じコマンドを共有するようにしたが、本応用例１ではコマンドを限定して公開することができる。
【０１０８】
コマンドの限定は、例えば電子機器の種別、所有者、製造メーカー、国など様々な公開条件を設定して、コマンドの使用を制限する。公開条件は、機器間で送受信するコマンドリストの各コマンドの付加情報として記載されている。
【０１０９】
図１４の例では、電子機器の種別によりコマンドの公開を限定する。尚、図１４において、図９と同符号のブロックや信号は同じものを示す。
【０１１０】
図１４において、電子カメラ１０１と、携帯電話１０２との間で通信確立（Ｓ１０１）後、機器情報や実行可能なコマンドを送受信（Ｓ１０２、Ｓ１０３）する。これにより得られる電子カメラ１０１のコマンドリスト１３１ｄは撮影コマンド１５１と、電子メールコマンド１５２と、ＧＰＳコマンド１５３の３つである。また、この時点における携帯電話１０２のコマンドリスト１３２ｄには、点線より上側に記載された撮影コマンド１５１と、電子メールコマンド１５２と、ＧＰＳコマンド１５３の３つが登録されている。
【０１１１】
そして、通信確立（Ｓ１０１）より少し遅れて、携帯電話１０２とプリンタ１０３との間で通信確立（Ｓ２０１）が行われ、携帯電話１０２とプリンタ１０３との間で機器情報や実行可能なコマンドを送受信（Ｓ２０２、Ｓ２０３ａ）する。ここで、プリンタ１０３の印刷コマンド１５４ａは図９の印刷コマンド１５４とは異なり、コマンドの公開を許可する機器の種別（図１４では携帯電話）を示す情報が付加されている。尚、プリンタ１０３は、携帯電話１０２から受け取った機器情報（Ｓ２０２）により、コマンドリストを共有する機器が携帯電話１０２であることがわかるので、印刷コマンド１５４ａをコマンドリストの１つとして携帯電話１０２に送信する（Ｓ２０３ａ）。
【０１１２】
ここで、図９の例では、携帯電話１０２は追加された印刷コマンド１５４を電子カメラ１０１に送信し、電子カメラ１０１のコマンドリスト１３１ｃに印刷コマンド１５４を追加したが、図１４の場合は印刷コマンド１５４ａは携帯電話に限定されるので、携帯電話１０２は印刷コマンド１５４ａのリストを電子カメラ１０１に送信しない。
【０１１３】
この場合、電子カメラ１０１からプリンタ１０３の印刷コマンド１５４ａを利用することはできないが、携帯電話１０２とプリンタ１０３との間では印刷コマンド１５４ａを利用することができ、携帯電話１０２からプリンタ１０３に印刷する画像データを含む印刷コマンド１５４ａを送信して（Ｓ２０６）、プリンタ１０３で印刷コマンド１５４ａを実行し、画像を印刷後に印刷完了の応答を携帯電話１０２に返信する（Ｓ２０７）。
【０１１４】
このようにして、コマンドの公開を限定することにより、特定の電子機器だけコマンドを利用することができる。これにより、各電子機器がコマンドリストとして保持するコマンドの数が少なくなり、メモリ容量を削減できる。尚、公開限定の設定および解除は、当該コマンドを実行する電子機器（図１４の例ではプリンタ１０３）で行うことができる。そして、公開限定が解除された場合は、解除されたことを他機器（携帯電話１０２など）に通知する。公開限定が解除された場合は、図９と同様に、印刷コマンド１５４ａの情報が携帯電話１０２から電子カメラ１０１に送信され、電子カメラ１０１のコマンドリスト１３１ｄに追加登録される。
【０１１５】
［応用例２］
次に、先に説明した実施形態の応用例２について説明する。図２や図９の説明では、同じコマンドを共有して自由に実行できるようにしたが、本応用例２ではコマンドに様々な条件を付加して実行することができる。尚、コマンドの実行条件は、コマンドの利用者に与えられる条件で、例えば課金条件やポイントなどがある。
【０１１６】
図１５の例では、印刷コマンド１５４ｂに課金条件が付加されている。尚、プリンタ１０３から携帯電話１０２に機器情報および実行可能なコマンドリストが送信される時に印刷コマンド１５４ｂと一緒に課金条件が送信される。同様に、携帯電話１０２から電子カメラ１０１に機器情報および実行可能なコマンドリストが送信される時に印刷コマンド１５４ｂの課金条件が送信される。このようにして、各電子機器で共有するコマンドリスト（図１５の例では、コマンドリスト１３１ｅ、コマンドリスト１３２ｅおよびコマンドリスト１３３ｅ）には、課金条件が付加された印刷コマンド１５４ｂが登録される。
【０１１７】
そして、電子カメラ１０１は、撮影コマンド１５１を実行してプリンタ１０３に印刷コマンド１５４ｂを送信する（Ｓ１０７ａ）。印刷コマンド１５４ｂは図２の場合と同様に携帯電話１０２で受信され、再び携帯電話１０２からプリンタ１０３に送信される（Ｓ２０４ａ）。そして、プリンタ１０３で画像がプリントされ、プリンタ１０３から印刷完了と印刷料金（１００円）の情報を含むコマンド応答が印刷コマンド１５４ｂの発行元に送信される（Ｓ２０５ａ）。このコマンド応答は、携帯電話１０２を経由して電子カメラ１０１に送信され（Ｓ１０８ａ）、電子カメラ１０１では、印刷料金が１００円であったことを確認できる。尚、印刷料金の支払いは、プリンタ１０３を管理するＤＰＥショップに出向いて現金で支払ってもよいし、予め登録した銀行口座から引き落とすようにしてもよい。さらに、電子カメラ１０１からプリンタ１０３に印刷コマンド１５４ｂを送信する際に、電子カメラ１０１の使用者のＩＤや電話番号あるいは住所などを印刷コマンド１５４に含めておくことにより、プリンタ１０３を管理するＤＰＥショップから使用者に料金の請求を行うこともできる。
【０１１８】
このように、本応用例２では、コマンドに課金条件などの条件を付加しておくことにより、様々なビジネスやサービスに利用することができる。
【０１１９】
［応用例３］
先に説明した各実施形態では、他機器との間で通信を確立する時にコマンドリストを取得するようにしたが、本応用例３では、必要なコマンドを検索して、必要なコマンドのみのリストを取得することができる。これにより、不要なコマンドをコマンドリストに登録する必要がなくなり、メモリ容量や通信情報量の削減を行うことができる。
【０１２０】
図１６は、本応用例３に係る電子機器連携システム１００において、電子カメラ１０１と携帯電話１０２との間でコマンド検索を行う例を示した図である。図２の例では、通信確立（Ｓ１０１）後に機器情報と実行可能なコマンドリストを電子カメラ１０１と携帯電話１０２との間で送受信したが（Ｓ１０２，Ｓ１０３）、図１６の例では、コマンドリストの送受信を行わないので、電子カメラ１０１のコマンドリスト１３１ａには内部コマンドの撮影コマンド１５１だけが登録されており、携帯電話１０２のコマンドリスト１３２ａにも内部コマンドの電子メールコマンド１５２とＧＰＳコマンド１５３が登録されているだけである。
【０１２１】
そして、電子カメラ１０１で位置情報を利用するアプリケーションを利用する時に、例えば「ＧＰＳ」をキーワードとするコマンド検索メッセージを通信確立済の他機器に送信する（Ｓ１１０）。そして、ＧＰＳコマンド１５３を有する携帯電話１０２から検索結果としてコマンドリスト（ＧＰＳコマンド１５３）が電子カメラ１０１に返信される（Ｓ１１１）。尚、コマンド検索メッセージには、発信元機器ＩＤなどを含んでいるので、携帯電話１０２からプリンタ１０３やサーバ１０４など複数の機器に転送して、必要なコマンドリストを取得することができる。尚、携帯電話１０２のコマンドリスト１３２ａは変更されない。また、図１６の例では、キーワードに合致する他機器から返信されるコマンドリストを全てコマンドリスト１３１ｆに登録するようにしてもよいし、コマンドリスト１３１ｆに登録するコマンドを電子カメラ１０１側で選択できるようにしてもよい。
【０１２２】
このようにして、本応用例３に係る電子機器連携システム１００では、自機器で必要な機能を他機器のコマンドリストから検索して、指定したコマンドのみをコマンドリストに取り込むことができ、不要なコマンドリストを保持する必要がなくなる。
【０１２３】
［応用例４］
先に図１０で説明した実施形態では、他機器との間で一対一でコマンドや実行結果を送受信するようにしたが、本応用例４では、バッチ処理などに対応できるように、コマンドの中にコマンドを含めるネスティングを行うことができる。これにより、プログラムが簡潔になり、機器間で送受信する回数を少なくすることができる。
【０１２４】
図１７は、本応用例４に係る電子機器連携システム１００の動作手順を示す図で、図１０と同様に「観光地において電子カメラ１０１で撮影した画像に位置情報を合成して自宅にあるプリンタ１０３で印刷する」という利用シーンに対応している。ここで、図１７の４つの電子機器は機器情報やコマンドリストを互いに送受信して、同じコマンドリストを共有している状態にある。この場合の利用可能なコマンドは、電子カメラ１０１の撮影コマンド１５１、携帯電話１０２のＧＰＳコマンド１５３、プリンタ１０３の印刷コマンド１５４、の３つのコマンドと、サーバ１０４の合成コマンド１５５である。
【０１２５】
以下、図１７の動作について順番に説明する。尚、以下の（１０）から（１４）は図１７の（１）から（５）に対応する。
【０１２６】
（１０）撮影者が電子カメラ１０１のシャッターボタン２６２を押下すると、電子カメラ１０１で撮影コマンド１５１が実行され、撮影画像をバッファ２０３に取り込む。
【０１２７】
（１１）電子カメラ１０１から携帯電話１０２にＧＰＳコマンド１５３が送信され、携帯電話１０２で取得した位置情報（緯度経度情報、或いは地図データで変換した住所情報）を取得する。
【０１２８】
（１２）電子カメラ１０１は、携帯電話１０２に合成コマンド１５５を送信する。ここで、合成コマンド１５５には、印刷コマンド１５４が含まれている。また、合成コマンド１５５には、（１０）で撮影した画像データと、（１１）で取得した位置情報とが含まれている。
【０１２９】
（１３）携帯電話１０２は、合成コマンド１５５（印刷コマンド１５４を含む）が自機器の内部コマンドではないので、合成コマンド１５５を実行する機器であるサーバ１０４にネットワークを経由して転送する。そして、サーバ１０４は、自機器の内部コマンドである合成コマンド１５５を実行し、撮影画像に位置情報を合成した実行結果の画像を得る。さらに、サーバ１０４は、合成コマンド１５５に印刷コマンド１５４が含まれているので、合成後の画像を含む印刷コマンド１５４をプリンタ１０３に送信する。
【０１３０】
（１４）プリンタ１０３は、自機器の内部コマンドである印刷コマンド１５４を実行し、位置情報が合成された撮影画像をプリントする。
【０１３１】
尚、図１０の例と同様に、プリント完了を示す応答をサーバ１０４に返信し、サーバ１０４は印刷コマンド１５４が含まれていた合成コマンド１５５の発行元の電子カメラ１０１に携帯電話１０２を経由してプリント完了を示す応答を転送する。これにより、電子カメラ１０１は正常に自宅のプリンタ１０３で撮影画像を印刷したことを示すメッセージを表示部２０６に表示し、撮影者はこれを確認できる。
【０１３２】
このように本応用例４では、コマンドの中にコマンドを含めるネスティングを行うことができる。これにより、プログラムが簡潔になり、機器間で送受信する回数を少なくすることができる。尚、図１７の例では、外部コマンド（サーバ１０４）に別の機器（プリンタ１０３）の外部コマンドを含める例を示したが、内部コマンドに外部コマンドを含めてもよいし、同じ他機器の外部コマンドをネスティングしてもよい。
【０１３３】
［応用例５］
上記の各実施形態では、他機器に対してコマンドを送信して他機器の実行結果を受信する例を示したが、本応用例５では、コマンドを実行するタイミングを与えるイベントを送信する例について説明する。これにより、リアルタイムでコマンドを発行する必要がなくなり、コマンド発行側の処理負担を減らすことができる。
【０１３４】
ここで、図１８は、本応用例５に係る電子機器連携システム１００の動作手順を示す図で、例えば「遠隔地に設置した電子カメラ１０１で撮影した画像を自宅のパソコン１０６で閲覧する」という利用シーンを想定している。図１８の電子カメラ１０１とパソコン１０６とは、携帯電話１０２を経由して互いに接続され、同じコマンドリストを共有している状態にある。この場合の利用可能なコマンドは、電子カメラ１０１の撮影コマンド１５１、時刻イベントである。ここで、撮影コマンド１５１は、図２などで説明したコマンドと同じである。また、時刻イベントは、指定した時刻に指定したコマンドを実行させるイベントで、例えば時刻イベントには、実行するコマンド（図１８の例では撮影コマンド１５１）と、実行する時刻（図１８の例ではＡＭ６：００）とが含まれている。
【０１３５】
以下、図１８の動作について順番に説明する。尚、以下の（２０）から（２２）は図１８の（１）から（３）に対応する。
【０１３６】
（２０）パソコン１０６から撮影コマンド１５１を含む時刻イベントを携帯電話１０２に送信する。
【０１３７】
（２１）携帯電話１０２は、パソコン１０６から受信する撮影コマンド１５１を含む時刻イベントを電子カメラ１０１に転送する。
【０１３８】
（２２）電子カメラ１０１は、時刻イベントに含まれているコマンドの実行時刻（ＡＭ６：００）になるまで待機し、電子カメラ１０１内部の時計がＡＭ６：００になった時に撮影コマンド１５４を実行し、撮影画像をバッファ２０３に取り込む。そして、撮影完了を示す応答にバッファ２０３に取り込まれた画像データを付加して携帯電話１０２経由でパソコン１０６側に返信する。これにより、パソコン１０６の画面で撮影画像を閲覧することができる。
【０１３９】
このように本応用例５では、コマンドを実行するタイミングを与えるイベントを送信することにより、リアルタイムでコマンドを発行する必要がなくなり、コマンド発行側の処理負担を減らすことができる。
【０１４０】
［応用例６］
次に、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を持たない機器にＧＵＩ機能を持たせる例について説明する。これにより、単純なボタンしか搭載していない機器の操作性を向上することができ、様々な機能の利用や複雑な設定を容易に行えるようにすることができる。本応用例６では、操作インターフェースを持たないプリンタ１０３の機能設定をタッチパネルなどのＧＵＩインターフェース機能を有する携帯電話１０２で行う例について説明する。
【０１４１】
図１９は、本応用例６に係る電子機器連携システム１００において、携帯電話１０２とプリンタ１０３との間でＧＵＩコマンドを利用する例を示した図である。携帯電話１０２のＧＵＩコマンド１５５以外は図９の例と同じである。図１９において、通信確立（Ｓ２０１）後に機器情報と実行可能なコマンドリストを携帯電話１０２とプリンタ１０３との間で送受信し（Ｓ２０２ｃ，Ｓ２０３）、携帯電話１０２のコマンドリスト１３２ｈと、プリンタ１０３のコマンドリスト１３３ｈは、電子メールコマンド１５２、ＧＰＳコマンド１５３、ＧＵＩコマンド１５５および印刷コマンド１５４が登録されている。
【０１４２】
ここで、ＧＵＩコマンド１５５は、他機器（プリンタ１０３）から受信する設定メニューリストを自機器（携帯電話１０２）の画面１５６に表示したり、タッチパネル式の画面１５６上の項目を指で選択した情報を他機器に返信する機能を提供するコマンドである。図１９の例では、携帯電話１０２の画面１５６にプリンタ１０３の印刷レイアウト選択とズーム設定のメニュー画面が表示されている。そして、プリンタ１０３の利用者は、例えば印刷レイアウトの状態を視覚的に表示するグラフィックな画面の中からレイアウトＡを指でタッチして選択する。或いは、ズーム状態を視覚的に表示する印刷イメージを指で拡大して、数値で表示されるズーム倍率を確認しながらズーム設定を行う。尚、ＧＵＩコマンド１５５による操作情報は携帯電話１０２からプリンタ１０３に送られ、逆にプリンタ１０３から携帯電話１０２にメニュー画面の情報などが送られる（Ｓ２０８）。
【０１４３】
このように、本応用例６に係る電子機器連携システム１００では、ＧＵＩを持たない機器（プリンタ１０３）にＧＵＩ機能を持たせることができ、単純なボタンしか搭載していない機器の操作性を大幅に向上することができる。
【０１４４】
［その他の例］
以上、様々な応用例について説明したが、上記以外にも以下のような応用が可能である。
（１）カメラ付の普通の携帯電話と、３Ｄ機能を有するスマートホンとが連携し、携帯電話のカメラとスマートホンのカメラとを所定の視差で設置し、両方の機器で同時に撮影した２枚の画像をスマートホン側で３Ｄ画像に変換することも可能である。
【０１４５】
この場合、携帯電話とスマートホンのそれぞれの撮影コマンドを共有し、例えばスマートホンのシャッターボタンの押下をイベントとして携帯電話とスマートホンの両方で撮影コマンドを同時に実行する。
（２）電子カメラ１０１とビデオレコーダとを連携させて、電子カメラ１０１のシャッターボタン２６２の押下をイベントとして、ビデオレコーダの録画コマンドを実行することも可能である。
（３）電子カメラ１０１とインターネット上のサーバ１０４とを連携させて、電子カメラ１０１で画像を撮影する毎にサーバ１０４に撮影画像を送信して適切な画像処理を施して保存することも可能である。
【０１４６】
この場合は、電子カメラ１０１には、画像処理エンジンやメモリなどを必要とせず、光学系などを含む撮像部とＣ機能に対応する回路があればよいので、非常に安価なカメラを提供することができる。しかも、図１０のように携帯電話１０２を介してインターネットに接続すればよいので、ネットワーク接続機能の搭載も不要である。
尚、上記の各実施形態では、電子機器の例として、電子カメラ１０１、携帯電話１０２、プリンタ１０３、サーバ１０４を挙げて説明したが、これら以外の電子機器であってもよい。例えば、テレビ、録画機器、ゲーム機器、携帯型音楽プレーヤ、パソコンなどでもよい。或いは、冷蔵庫、エアコン、炊飯器、掃除機などの家電製品、ヘルスメータ、血圧計、心拍センサ、サーモグラフィーカメラなどの生体センサを備える機器、自動車などであってもよい。この場合、冷蔵庫とカメラを連携させて、冷蔵庫のドアを開ける毎に撮影する機能を実現したり、ゲーム機と生体センサを備える機器とを連携させて、ゲーム中のユーザーの心拍数や体温の変化などをモニタする機能を実現することができる。或いは、エアコンの人感センサを利用することもでき、例えばエアコンとカメラとを連携させて、人感センサで人を感知した時にカメラで写真を撮影する機能を実現することができるので、防犯機器として利用可能である。
【０１４７】
［コマンドの表示方法］
次に、コマンドの表示方法について説明する。各機器が利用可能なコマンドは、例えばＧＵＩインターフェースを有する機器の場合、図７で説明したように、利用可能なコマンドのアイコンが画面に表示される。そして、他機器と通信が確立してコマンドリストを受信する毎に利用可能なコマンドが増えると、画面にアイコンが追加されていく。尚、アイコン表示ではなく、コマンド名を示す文字リスト表示であっても同様である。
例えば図２０の場合、電子カメラ１０１の表示部２０６（他機器の表示部でもよい）の画面には機器別にエリア分けされてコマンドリスト（アイコン）が表示されるようになっている。尚、表示エリアを機器別に色分けしてもよい。例えば図２０（ａ）は、他機器との通信が確立する前の状態を示し、自機器の表示エリアには自機器のコマンド（同図の例では静止画撮影コマンドと動画撮影コマンド）が表示されている。次に、図２０（ｂ）では、機器Ａ（例えば携帯電話）との通信が確立して、機器Ａのコマンド（同図の例ではＧＰＳ情報コマンドとメール送信コマンド）が機器Ａのコマンド表示エリアに表示される。さらに、図２０（ｃ）では、機器Ｂ（例えばプリンタ）との通信が確立して、機器Ｂのコマンド（同図の例では印刷コマンド）が機器Ｂのコマンド表示エリアに表示される。
このように、他機器と通信が確立してコマンドリストを受信する毎に利用可能なコマンドのアイコンが追加されていく。逆に、他機器の電源がオフされた場合や通信ができない距離に離れた場合、或いは他機器の使用者が意図的にコマンドの使用を許可しない場合などは、当該機器のコマンドをコマンドリストから削除する。或いは、自機器の使用者が追加された他機器のコマンドを意図的に削除してもよい。この場合は、タッチパネルなどでコマンドを選択して、例えばポップアップ表示される処理選択画面（削除、使い方、パラメータなどの選択画面）で削除を選択すればよい。何れの場合でも、コマンドが利用できなくなった場合は、利用できないことがわかるように表示する。例えば図２０（ｄ）は、機器Ａのコマンドが利用できなくなった状態を示し、機器Ａのコマンドがグレイアウトされた状態になる。或いは、機器Ａのコマンド表示エリア全体をグレイアウトしてもよいし、×印を表示してもよい。さらに、図２０（ｄ）に示すように、使用できない旨を示すメッセージを表示してもよい。例えば、図２０（ｄ）では、「機器Ａは通信範囲外になりました。」というメッセージが表示されている。また、予め設定した期間、コマンドを使用できない状態が続いた場合に、コマンドのアイコンを表示部２０６の画面から消去するようにしてもよい。
ここで、通信が確立していない時でも、過去に一度でも他機器から受信したコマンドがある場合は、当該コマンドのアイコンを表示部２０６に表示してもよい。また、上記の例では、使用できないコマンドのアイコンをグレイアウトするようにしたがアイコンを暗く表示させてもよいし、強調表示（サイズを大きくする等）させてもよい。逆に、使用可能なコマンドのアイコンを明るく表示させてもよいし、形状を変えてもよい。また、機器毎にアイコンを色分けして表示してもよいし、接続中の機器と未接続の機器とを色分けして表示してもよい。或いは、新たに使用できるようになったコマンドのアイコンをアニメーションで振動させたり、光らせるなどの画像効果を持たせてもよい。
【０１４８】
次に、コマンドリストの検索方法や表示方法の一例について説明する。図２１（ａ）および図２１（ｂ）は、電子カメラ１０１の表示部２０６（他機器の表示部でもよい）の画面に表示されたコマンドリストの上部に配置されたタブを選択することによって、コマンドリストの中から特定機能のコマンド（例えばＧＰＳ関連のコマンドや画像処理関連のコマンドなど）を検索する例を示している。図２１（ａ）では、全機能を表示するタブが選択された状態を示し、複数の機能（機能Ａ、機能Ｂおよび機能Ｃなど）の使用可能な全てのコマンドリスト（コマンドａからコマンドｇ）が表示されている。また、図２１（ｂ）は、機能Ａのタブが選択された状態を示し、機能Ａに関係する使用可能なコマンドリスト（同図の例ではコマンドａ、コマンドｅおよびコマンドｇ）が表示される。この時、機能Ａ以外のコマンド名やアイコンをグレイアウトするようにしてもよい。これにより、利用者は使用可能なコマンドを容易に知ることができる。特に図２１（ｂ）の例では、表示されているコマンド名やアイコンの表示位置を変えないので、利用者の混乱を避けることができる。ここで、機能Ａ以外のコマンド名やアイコンをグレイアウトせずに、機能Ａとそれ以外の機能のコマンド名やアイコンの色やサイズを変えるようにしてもよい。
【０１４９】
［コマンド連携の基本機能］
次に、複数のコマンドを組み合わせて連携させることによって特定の機能を実現する例について説明する。ここでは、図７や図２０で説明したように、各コマンドを電子カメラ１０１の表示部２０６（他機器の表示部でもよい）にアイコンで表示するＧＵＩインターフェースを用いることができる。そこで、表示部２０６の画面にアイコンを並べて連結させることにより、バッチ処理のように複数のコマンドを連携させて順番に処理を実行することができる。
ここで、複数のコマンドを組み合わせる操作の一例について説明する。図２２の例では、操作部２０５をタッチパネル式の操作インターフェースで構成し、表示部２０６の画面をコマンドリスト表示領域４０１と、コマンド連携作成領域４０２とに分けて表示する。そして、コマンドリスト表示領域４０１に表示された各種コマンドのアイコンを指でタッチして選択し、そのままコマンド連携作成領域４０２にドラッグして配置する。例えば図２２では、指１で起動トリガのアイコンをドラッグして配置し、次に指２で静止画撮影のアイコンをドラッグして配置する。そして、指３で起動トリガのアイコンから静止画撮影のアイコンまでスライドさせると、コマンド連結用の矢印４０３が表示される。同様の操作を繰り返すことにより、複数のコマンドを連結することができる。尚、設定された条件に応じて分岐する場合は、分岐方向に応じて複数の矢印で連結することができる。
ここで、コマンドのパラメータ入力は、例えば図２２に示すように、パラメータを設定したり、するアイコンにタッチ（又はクリック）すればポップアップウィンドウ４０４が表示され、当該アイコンに関係するパラメータの設定を行うことができる。さらに、例えばアイコンをダブルクリックすることで、コマンドの機能や使い方などを表示するようにしてもよい。これにより、初めて使用するコマンドであっても簡単に使用することができる。さらに、コマンドを実行する機器が分かるように、コマンドのアイコンの一部に機器の形状を示す画像を表示するようにしてもよいし、アイコンの形状自体を機器の画像やイラストにしてもよい。
このようにして、複数のコマンドを連携させて自由に特定の機能を実現することができる。
【０１５０】
［コマンド連携の応用例］
次に、ＧＵＩインターフェースを用いたコマンド連携の応用例について説明する。図７や図２０で説明したように、表示部２０６にＧＵＩ画面を表示して、コマンドをアイコンで表示できる場合、ＧＵＩ画面上で複数のコマンドのアイコンを組み合わせて連携させることにより、単独のコマンドでは達成できないオリジナルの機能を実現することができる。特に単純な動作コマンドだけではなく、論理式やＷＡＩＴ機能なども組み合わせて高機能化することができる。
以下、ＧＵＩ画面上で複数のコマンドのアイコンを組み合わせて連携させるいくつかの例を挙げて説明する。
【０１５１】
（ＧＵＩコマンド連携の例１）
図２３は、先に説明した図１７の構成（電子カメラ１０１、携帯電話１０２、プリンタ１０３、サーバ１０４）で複数のコマンドのアイコンを組み合わせて連携させる一例を示す図である。この場合の使用想定シーンでは、特定の被写体（富士山など）を撮影できるように設置された電子カメラ１０１で、晴れた朝の富士山を露出を変えて２枚自動撮影し、その場のＧＰＳ情報を携帯電話１０２で取得してＷｅｂ上のサーバ１０４の画像合成機能で１枚の画像に合成（レイアウト）後、プリンタ１０３で印刷し、携帯電話１０２から合成した画像を電子メールで指定のアドレスに送信することができる。このような一連の処理を実行するためのコマンド連携について説明する。
図２３の電子カメラ１０１の表示部２０５に表示されるＧＵＩ画面において、先ず、電子カメラ１０１のレリーズボタンの押下が「起動トリガ：シャッタ」のイベントを発生する。そして、”晴れた朝”であるか否かを判別するためにＷｅｂ上のサーバ１０４の「天気情報取得コマンド」を実行するが、「起動トリガ」と「天気情報取得コマンド」との間にジャンプ先を示す「ラベル：ＬＡＢＥＬ１」を配置しておく。「天気情報取得コマンド」で取得した天気情報は、携帯電話１０２の処理「変数格納：Ａ」により変数Ａに格納し、「変数分岐：Ａ＝晴れ」により変数Ａに格納された天気情報が晴れであるか否かに応じて分岐する。尚、分岐先を示す矢印は、判定結果がＹｅｓの場合とＮｏの場合とで色分けしてもよいし、”Ｙｅｓ”や”Ｎｏ”の表示をしてもよい。また、”Ｙｅｓ”や”Ｎｏ”の分岐条件の設定は、例えば矢印をタッチ（又はクリック）するとポップアップメニューが表示され、メニューリストから選択する。図２３の例では、天気が晴れの場合はサーバ１０４の「日時情報取得コマンド」を実行し、天気が晴れではない場合は「ジャンプ：ＬＡＢＥＬ１」を実行して「ラベル：ＬＡＢＥＬ１」に戻り、天気が晴れになるまで同様の処理を繰り返す。
天気が晴れの場合、サーバ１０４の「日時情報取得コマンド」により取得した日時情報をサーバ１０４の処理「変数格納：Ｂ」により変数Ｂに格納し、変数Ｂに格納された日時情報が７：００を過ぎたか否かに応じて分岐する。７：００を過ぎた場合は電子カメラ１０１の「静止画撮影コマンド：自動１（例えばオートフォーカスなど）」を実行し、７：００を過ぎていない場合は「ＷＡＩＴ：１０ｓｅｃ」により１０秒間待機して再び「日時情報取得コマンド」を実行する。ここで、先の「変数分岐：Ａ＝晴れ」から「天気情報取得コマンド」に戻る場合は、「ジャンプ：ＬＡＢＥＬ１」と「ラベル：ＬＡＢＥＬ１」のアイコンで連結したが、「日時情報取得コマンド」と「ＷＡＩＴ：１０ｓｅｃ」のように、アイコンが近くにある場合は、直接、矢印で連結してもよい。図２３の例では、日時が７：００を過ぎるまで待機する。
日時が７：００を過ぎた場合、電子カメラ１０１の「静止画撮影コマンド：自動１」を実行し、撮影した画像を「変数格納：Ｃ」により変数Ｃに格納する。そして、電子カメラ１０１の「露出調整コマンド：＋１」により、露出を＋１する処理を行い、再び「静止画撮影コマンド：自動１」を実行して２枚目の画像を撮影し、撮影した画像を「変数格納：Ｄ」により変数Ｄに格納する。
そして、携帯電話１０２の「ＧＰＳ情報コマンド」を実行し、取得したＧＰＳ情報（位置情報など）を「変数格納：Ｅ」により変数Ｅに格納する。さらに、ここまでの処理で取得した情報（変数Ａ，Ｂ，Ｃ，Ｄ，Ｅ）をサーバ１０４上で１枚の画像に合成する「画像合成コマンド：ＡＢＣＤＥ」を実行し、合成後の画像を「変数格納：Ｆ」により変数Ｆに格納する。変数Ｆに格納された画像は、プリンタ１０３の「印刷コマンド：Ｆ」を実行して印刷した後、携帯電話１０２の「メール送信コマンド：Ｆ」を実行して指定されたアドレスに変数Ｆに格納された合成後の画像を送信する。
このようにして、複数の機器の複数のコマンドのアイコンをＧＵＩ画面で連結することにより、簡単に独自のアプリケーション機能を実現することができる。特に図２３のＧＵＩ画面によるコマンドの連結操作は、電子カメラ１０１や携帯電話１０２の液晶画面で行ってもよいし、プリンタ１０３の液晶画面やサーバ１０４で行ってもよい。また、電子カメラ１０１のシャッタボタンは人が操作してもよいし、携帯電話１０２の特定ボタンやプリンタ１０３の印刷ボタンを電子カメラ１０１のシャッタボタンに割り当てて遠隔操作するようにしてもよい。この場合は、「起動トリガ：シャッタ」のイベントのパラメータで他機器のボタンを指定できるようにしてもよいし、「起動トリガ：シャッタ」のイベントの代わりに他機器のボタンの操作情報を取得するコマンドを配置するようにしてもよい。
【０１５２】
（ＧＵＩコマンド連携の例２）
次に、プリンタ１０３から操作する、ＧＵＩコマンド連携の例について説明する。図２４は、プリンタ１０３と電子カメラ１０１とを用いて、プリンタ１０３の印刷ボタンを電子カメラ１０１のシャッタボタンとして利用するアプリケーションを示している。この場合、プリンタ１０３の液晶画面１０３ａを表示部（電子カメラ１０１の表示部２０６に相当）として、ＧＵＩによるコマンド連結操作を行う。
図２４の例では、「起動トリガ：印刷ボタン」のイベントにより処理が開始される。尚、プリンタ１０３と電子カメラ１０１との間では、先の例と同様に、通信が確立されて互いのコマンドリストを送受信されているものとする。
（ステップＳ４０１）プリンタ１０３の印刷ボタンが押下されたか否かを判別する。印刷ボタンが押下された場合はステップＳ４０２に進み。印刷ボタンが押下されていない場合はステップＳ４０１で印刷ボタンが押下されるまで待機する。
（ステップＳ４０２）プリンタ１０３は、「静止画撮影コマンド」を実行する。この「静止画撮影コマンド」は自機器の内部コマンドではないので、「静止画撮影コマンド」を実行する機器である電子カメラ１０１に転送する。
（ステップＳ４０３）電子カメラ１０１は、プリンタ１０３から転送された自機器の内部コマンドである「静止画撮影コマンド」を実行する。
（ステップＳ４０４）電子カメラ１０１は、撮影した画像を変数Ａに格納する。そして、「静止画撮影コマンド」の転送元のプリンタ１０３に変数Ａに格納された画像を送信する。
（ステップＳ４０５）プリンタ１０３は、電子カメラ１０１から「静止画撮影コマンド」の実行結果である変数Ａを受信する。
（ステップＳ４０６）プリンタ１０３は、変数Ａに格納された画像を印刷する。
このようにして、プリンタ１０３から操作を行い、印刷ボタンを押下するだけで、離れた場所にある電子カメラ１０１で画像を撮影し、撮影した画像を印刷することができる。この場合、プリンタのカーソルボタンなどで露出などの撮影条件を変えられるようにしてもよい。
【０１５３】
（ＧＵＩコマンド連携の例３）
図２５は、電子カメラ１０１と録画機器１０７と人感センサ付きのエアコン１０８とを連携させて、エアコン１０８の人感センサで人間を検知した時に電子カメラ１０１で撮影した画像をそのまま録画機器１０７に保存する例を示している。
図２５の電子カメラ１０１の表示部２０６に表示されるＧＵＩ画面において、先ず、エアコン１０８の人感センサで人間を感知した時に「起動トリガ：シャッタ」のイベントを発生する。「起動トリガ：シャッタ」のイベントは、電子カメラ１０１の「静止画撮影コマンド：自動１」を実行させる。そして、撮影された画像は電子カメラ１０１の処理「変数格納：Ａ」により変数Ａとして内部バッファなどに一時的に取り込まれる。さらに、変数Ａに格納された画像は、録画機器１０７に送信され、録画機器１０７のハードディスクなどに保存される。
このようにして、エアコン１０８の人感センサで人間を感知した時に電子カメラ１０１で撮影した画像を録画機器１０７に保存することができる。この場合、不審者の侵入を検知して画像を撮影する監視カメラシステムとして使用することができる。
【０１５４】
（ＧＵＩコマンド連携の例４）
図２６は、カメラ付き携帯電話１０２とカメラ付きスマートフォン１０９とを連携させて、両方のカメラで同じ被写体を撮影し、スマートフォン１０９側にある画像処理ソフトでステレオ画像を合成する例を示している。この場合、例えば両手に携帯電話１０２とスマートフォン１０９とを持って、携帯電話１０２側のボタンでシャッタのトリガーをかける。
図２６の携帯電話１０２の液晶画面１０２ａに表示されるＧＵＩ画面において、先ず、携帯電話１０２の撮影ボタンの押下が「起動トリガ：シャッタ」のイベントを発生する。「起動トリガ：シャッタ」のイベントは、携帯電話１０２の内部コマンド「静止画撮影コマンド：自動１」を実行して「変数格納：Ａ」により変数Ａに撮影画像を格納する。同時に、「起動トリガ：シャッタ」のイベントは、スマートフォン１０９の外部コマンド「静止画撮影コマンド：自動１」を実行してスマートフォン１０９での撮影画像を「変数格納：Ｂ」により変数Ｂに格納する。そして、スマートフォン１０９は、「画像合成コマンド：ＡＢ」を実行して、変数Ａに格納された画像と変数Ｂに格納された画像とを視差画像として立体画像を合成し、「変数格納：Ｃ」により変数Ｃに格納する。さらに、変数Ｃに格納された立体画像を携帯電話１０２に保存する。
このようにして、２台のカメラを連携して立体画像を撮影することができる。
【０１５５】
（その他の例について）
上記以外の例として、メモリインターフェースが付いていないスマートフォン１０９と、メモリインターフェース付きのプリンタ１０３とを連携させて、プリンタ１０３に接続したＵＳＢメモリに記憶された画像をスマートフォン１０９で読み出したり、画像を閲覧することができる。さらに、閲覧した画像の中から選択した画像をスマートフォン１０９で操作してプリンタ１０３で印刷することもできる。
或いは、携帯電話１０２の電子メール機能と連携して、プリンタ１０３側から携帯電話１０２で受信した電子メールを閲覧したり、電子メールの添付されている画像を選択して印刷することも可能である。
また、プリンタ１０３の表示モニタでインターネットにアクセスすることも可能である。この場合は、プリンタ１０３側から携帯電話１０２などのインターネットアクセス機能（例えばネットアクセスコマンド）を利用してインターネットに接続し、プリンタ１０３の表示モニタにインターネット情報を表示することができ、印刷ボタンでそのまま印刷することも可能である。
さらに、プリンタ１０３とテレビとを連携させて、プリンタ１０３のモニタ画面にテレビ放送の画面を表示させて、そのまま印刷ボタンを押下することによりテレビ画面を印刷する機能を実現することもできる。
同様に、プリンタ１０３とゲーム機器とを連携させて、プリンタ１０３のモニタ画面にゲーム機器の画面を表示させて、印刷ボタンの押下でゲーム画面を印刷する機能を実現することもできる。
以上、ＧＵＩによるコマンド連携の例について説明してきたように、各機器の表示デバイスの画面にコマンドのアイコンを配置して連結するだけの簡単な操作で複数の機器の複数のコマンドを連携させて任意の様々な機能を実現することができる。
尚、ＧＵＩによるコマンド連携で複数のコマンドを実行している途中で、実行中のコマンドが分かるように、実行中のコマンドのアイコンの色、形状、サイズなどを変えたり、アニメーション表示するようにしてもよい。アニメーション表示は、アイコンを振動させたり光らせたりしてもよいし、アイコンが機器の形状を示す画像やイラストで表示されている場合は、動作中の部位（例えばシャッタボタンなど）をアニメーションで動かすように表示してもよい。これにより、使用者が実行中のコマンドや実行内容を容易に認識することができる。
【０１５６】
以上、各実施形態で説明してきたように、本発明に係る電子機器および電子機器連携システム並びに電子機器制御方法は、以下のような効果が得られる。
・同様の通信手段とコマンド共有機能を有する電子機器間で、機器情報、実行可能なコマンドおよびイベントを共有して、他機器のコマンドを自機器のコマンドと同様に使用できるので、自機器にはない他機器の機能を自機器の機能として取り込むことができる。
・各コマンドは、コマンドを実行可能な機器上で実行されるので、自機器のＣＰＵやＯＳに依存せず、様々な機能を実現することができる。
・コマンド自体にそのコマンドを実行する機器のＩＤやコマンドの実行結果を返信するための返信先機器ＩＤ（コマンド送信元ＩＤ）などのパラメータを含むので、複数の機器間でコマンドを転送することにより、直接通信できない機器の機能を利用することができる。
・内部コマンドと外部コマンドを区別なく同じ手続きで実行できる。
・機器が追加された場合でも、追加された機器の制御情報を接続されている全ての機器で共有することができる。
・自機器で必要な機能を他機器のコマンドリストから検索して、指定したコマンドのみをコマンドリストに取り込むことができ、不要なコマンドリストを保持する必要がない。
・コマンド自体が自らの機能やパラメータ或いは使用方法、返信データの種類などの情報を保持するので、コマンドの使い方を調べる必要がなく、簡単に他機器の機能を利用できる。
・コマンドのネスティング（バッチ処理化）が可能なので、例えば複数の電子機器の機能を組み合わせて、新たな機能を実現することができる。
・イベントをトリガーとしてコマンドを実行するので、コマンドを実行するタイミングを自機器で管理する必要がなく、他機器から実行結果が含まれるコマンド応答を受信するまで待機するか、別の処理を行うことができる。
・コマンドの適用範囲（他機器に公開するコマンドの種類）を指定できるので、不特定多数の機器に利用されたくない機能を保護することができる。
・また、課金条件などの付加情報を付けることによって様々なビジネスやサービスに利用することができる。
【０１５７】
尚、本発明に係る電子機器および電子機器連携システム並びに電子機器制御方法について、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【０１５８】
１０・・・電子機器；１１・・・ハードウェア；１２・・・ソフトウェア；１３・・・電子機器用回路；１４・・・通信回路；１５・・・制御プログラム；１６・・・Ｃ機能プラットホーム；１７・・・コマンド処理部；１８・・・コマンド共有部；１９・・・通信処理部；２０，１３１ａ，１３２ａ・・・コマンドリスト；１００・・・電子機器連携システム；１０１，９０１・・・電子カメラ；１０２・・・携帯電話；１０３・・・プリンタ；１０４，１０５，９０４・・・サーバ；１０６・・・パソコン；１０７・・・録画機器；１０８・・・エアコン；１０９・・・スマートフォン；１５１・・・撮影コマンド；１５２・・・電子メールコマンド；１５３・・・ＧＰＳコマンド；１５４・・・印刷コマンド；１５５・・・合成コマンド；２０１・・・光学系；２０２・・・撮像部；２０３・・・バッファ；２０４・・・制御部；２０５・・・操作部；２０６・・・表示部；２０７・・・メモリカードＩＦ；２０８・・・メモリ；２０９・・・通信回路；２６１・・・電源ボタン；２６２・・・シャッターボタン；２６３・・・モード選択ダイヤル；２６４・・・メニューボタン；２６５・・・十字キー
【図１】
2012256319.tif 000003
【図２】
2012256319.tif 000004
【図３】
2012256319.tif 000005
【図４】
2012256319.tif 000006
【図５】
2012256319.tif 000007
【図６】
2012256319.tif 000008
【図７】
2012256319.tif 000009
【図８】
2012256319.tif 000010
【図９】
2012256319.tif 000011
【図１０】
2012256319.tif 000012
【図１１】
2012256319.tif 000013
【図１２】
2012256319.tif 000014
【図１３】
2012256319.tif 000015
【図１４】
2012256319.tif 000016
【図１５】
2012256319.tif 000017
【図１６】
2012256319.tif 000018
【図１７】
2012256319.tif 000019
【図１８】
2012256319.tif 000020
【図１９】
2012256319.tif 000021
【図２０】
2012256319.tif 000022
【図２１】
2012256319.tif 000023
【図２２】
2012256319.tif 000024
【図２３】
2012256319.tif 000025
【図２４】
2012256319.tif 000026
【図２５】
2012256319.tif 000027
【図２６】
2012256319.tif 000028