(57)【特許請求の範囲】
【請求項１】
操作対象となる機器と通信する機能をもつ端末装置であって、
画像を撮影する撮像手段と、
機器の特徴を表現する機器特徴情報を保持する機器特徴情報保持手段と、
撮影した画像に前記機器特徴情報が含まれているか否かを判断する画像比較手段と、
操作対象となる機器を選択する機器選択手段と、
機器の操作を記述するスクリプトをデータベースまたは機器から取得するスクリプト取得手段と、
前記スクリプトに従いユーザインタフェース（ユーザインタフェースイメージ）を生成するユーザインタフェース生成手段と、
前記ユーザインタフェースを表示手段に表示する表示制御手段と、
前記ユーザインタフェースを利用して操作者が操作情報を入力する入力手段と、
前記操作情報を前記スクリプトに従い変換して制御情報を生成する制御情報生成手段と、
操作対象となる機器と通信して前記制御情報を機器に送信する通信手段と、
前記撮像手段で撮影した画像を解析して、画像中に生体が含まれるか否かを判断する生体判断手段と、
撮影した画像中に生体が含まれる場合に、撮影した画像から生体部分画像と非生体部分画像を分離する画像分離手段と
を備え、
前記表示手段と前記入力手段は、ディスプレイを兼ねる入力デバイスであるタッチ表示パネルによって構成され、
前記表示手段上に、下から順に、少なくとも、前記ユーザインタフェース、前記生体部分画像を重畳表示する機能を備えたことを特徴とする端末装置。
【請求項２】
請求項１に記載の端末装置において、
前記表示手段上に、下から順に、前記非生体部分画像、前記ユーザインタフェース及び前記生体部分画像を重畳表示する機能を備えたことを特徴とする端末装置。
【請求項３】
請求項１に記載の端末装置において、
前記撮像手段は、可視光による画像撮影と赤外光による画像撮影とを行う機能を備えたことを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信により機器の制御を行う端末装置に係り、特に、携帯電話機などの端末装置に汎用リモコンの機能を持たせて、不特定の機器を制御できるようにした技術に関する。
【背景技術】
【０００２】
近年、家庭内における情報化が進展し、ネットワーク・インターネット関連技術が普及してきた。これに伴い、家庭内において取り扱う情報は質・量共に増加し、情報を取り扱う情報家電においても、簡単な操作で情報を閲覧したり機器を操作したりするユーザーニーズが増加している。
【０００３】
ところが、家庭内で取り扱う情報の増加に伴い、家庭内の情報家電機器（以下、機器と記す）は増加し続け、これら機器の操作方法として一般的な赤外線リモコンも、機器の増加に比例して増えている。つまり、家庭内に多数の赤外線リモコンがあふれかえる結果となり、それが逆にユーザの使い勝手を低下させる問題となってきている。
【０００４】
この問題を解決するための方法として、特許文献１のような技術を用いることにより、ユニバーサルコントローラと呼ばれる汎用のリモコンを、ネットワークに対応した形で実現することが可能となり、赤外線が届かない位置にある機器もリモコン操作することが可能となる。
【特許文献１】特開２００２−２３２９７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記した特許文献１に記載の技術によれば、汎用リモコンを、ネットワークに対応した形で実現可能である。しかし、これを実現するためには、対象となる機器の識別子をあらかじめリモコンに登録しておく必要があり、対象とする機器が新たに追加された場合には、ユーザが識別子を登録するといった手間が発生することになる。
【０００６】
本発明の目的は、機器を端末装置によるリモコン操作の対象として選ぶ仕組み、および、機器にあったユーザインターフェースを生成して操作可能とする仕組みを、操作者（ユーザ）に負担を掛けることなく実現できるようにすることにある。
【課題を解決するための手段】
【０００７】
本願による端末装置の代表的な１つの発明では、画像を撮影する撮像手段と、機器の特徴を表現する機器特徴情報を保持する機器特徴情報保持手段と、撮影した画像に前記機器特徴情報が含まれているか否かを判断する画像比較手段と、操作対象となる機器を選択する機器選択手段と、機器の操作を記述するスクリプトをデータベースまたは機器から取得するスクリプト取得手段と、前記スクリプトに従いユーザインタフェース（ユーザインタフェースイメージ）を生成するユーザインタフェース生成手段と、前記ユーザインタフェースを表示手段に表示する表示制御手段と、前記ユーザインタフェースを利用して操作者が操作情報を入力する入力手段と、前記操作情報を前記スクリプトに従い変換して制御情報を生成する制御情報生成手段と、操作対象となる機器と通信して前記制御情報を機器に送信する通信手段と、前記撮像手段で撮影した画像を解析して、画像中に生体が含まれるか否かを判断する生体判断手段と、撮影した画像中に生体が含まれる場合に、撮影した画像から生体部分画像と非生体部分画像を分離する画像分離手段とを備え、前記表示手段と前記入力手段は、ディスプレイを兼ねる入力デバイスであるタッチ表示パネルによって構成され、前記表示手段上に、下から順に、少なくとも、前記ユーザインタフェース、前記生体部分画像を重畳表示する機能を備える。
【発明の効果】
【０００８】
本発明によれば、機器を端末装置によるリモコン操作の対象として選ぶ仕組み、および、機器にあったユーザインターフェースを生成して操作可能とする仕組みを、操作者（ユーザ）に負担を掛けることなく実現できる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面を用いて説明する。図１は、本発明の一実施形態（以下、本実施形態と記す）に係る端末装置とそれを含んで構成される機器制御システムの構成を示すブロックである。
【００１０】
機器制御システムは、端末装置１と、１台以上の機器５と、機器情報データベース７とを含んで構成される。端末装置１は、撮像手段としてのカメラ４と、表示手段としての表示装置２と、入力手段としてのタッチパネル装置３とを備え、表示装置２とタッチパネル装置３は、ディスプレイを兼ねる入力デバイスであるタッチ表示パネル装置により構成されている。この端末装置１としては、ここでは例えば携帯電話機を想定している。機器５は、エアコンや冷蔵庫などといった家庭内で使用する家電機器、あるいは、パソコンやレコーダ装置などといった情報を取り扱う情報機器であり、通信（無線通信、あるいは場合によっては有線での通信）により機器の遠隔操作を行うことができる情報家電機器となっている。機器情報データベース７は、機器５の情報を格納するデータベース装置であり、この機器情報データベース７は、無線あるいは有線で端末装置１と通信を行うデータベース、または、端末装置１の内部に内蔵されるタイプのデータベースのいずれであってもよく、要は、機器５に関する情報である後記する機器情報２１０を格納し、端末装置１が自由に利用できる仕組みを持つデータベースであればよい。なお、６は生体であり、ここでは、端末装置１を操作する操作者の手指を想定している。
【００１１】
端末装置１内には、撮像制御手段１００、画像比較手段１０１、機器特徴情報保持手段１０２、機器選択手段１０３、生体判断手段１０４、ユーザインタフェース生成手段１０５、スクリプト取得手段１０６、通信手段１０７、画像分離手段１０８、表示制御手段１０９、制御情報生成手段１１０、制御手段１１１、入力受付・解釈手段１１２、座標情報比較手段１１３、位置関係検出手段１１４などが備えられている。そして、これらの各手段の大部分は、端末装置１に内蔵されたＣＰＵ、ＲＯＭ、ＲＡＭ、各種Ｉ／Ｆといったハードウェア資源と、予め用意された各種プログラムとによって、具現化されるようになっている。
【００１２】
撮像制御手段１００は、カメラ４の動作を制御し、また、カメラ４が撮影した被写体（ここでは機器５や生体６）の画像を必要に応じて適宜に処理して一時記憶し、カメラ４で撮影した画像を、画像比較手段１０１、生体判断手段１０４、位置関係検出手段１１４に手渡す。機器特徴情報保持手段１０２は、機器の特徴を表現する後記する機器特徴情報２３０を保持する。画像比較手段１０１は、カメラ４で撮影した画像と、機器特徴情報保持手段１０２の保持する機器特徴情報２３０とを画像比較して、操作対象となる機器５であるか否かを判断する。機器選択手段１０３は、画像比較手段１０１において操作対象となる機器５があると判定された場合に、画像比較手段１０１からの出力と機器特徴情報保持手段１０２の保持する機器特徴情報２３０とを参照して、操作対象となる機器５の識別を行い、この識別した機器５を、通信手段１０７による通信相手として選択したり、端末装置１によるリモコン操作の対象として選択する機能をもつ。また、機器選択手段１０３は、通信手段１０７が機器５が具備する無線タグ（無線ＩＣタグ）と交信して、無線タグ識別子を取得した場合には、無線タグ識別子から機器５の識別を行い、この識別した機器５を、通信相手として選択したり、端末装置１によるリモコン操作の対象として選択する機能をもつ。
【００１３】
生体判断手段１０４は、カメラ４で撮影した画像中に生体６の部分（ここでは、端末装置１を操作する操作者の手指）が撮影されているか否かを、つまり、端末装置１のカメラ４の前に（カメラ４の撮影視野の中に）操作者の手指がかざされているか否かを判断する。本実施形態では、カメラ４は可視光による画像撮影を行うものとなっており、生体判断手段１０４による判断処理は、肌色抽出、輪郭抽出、特徴抽出などの適宜の画像処理と、判定処理とを組み合わせることによって行われる。なお、カメラ４として、可視光による画像撮影と赤外光による画像撮影とを行う機能を備えたものを用いてもよく、この場合には、赤外光による画像撮影での画像から、人間の体温の存在箇所があるかどうかで、カメラ４で撮影した画像中に生体６の部分が撮影されているか否かを判断すればよい。画像分離手段１０８は、カメラ４で撮影した画像に生体の部分が含まれている場合に、カメラ４で撮影した画像（可視光による画像撮影での画像）から、生体６の部分の画像（生体部分画像）と、それ以外の部分の画像（非生体部分画像）とに分離する。画像分離手段１０８は、肌色抽出、輪郭抽出、特徴抽出などの適宜の画像処理により生体６の手指の部分領域を特定して、この特定した生体６の手指の部分領域を抽出することで、生体部分画像と非生体部分画像とに分離する。位置関係検出手段１１４は、カメラ４で撮影した画像と最新の生体部分画像とを用いて、端末装置１の操作者の指先と、端末装置１との位置関係を検出する。つまり、位置関係検出手段１１４は、カメラ４の撮影画角の中で指先がどの座標位置にあるのかを検出する。
【００１４】
通信手段１０７は、選択された機器５と通信を行い、機器５から後記する機器情報２１０を受信したり、機器５に対して制御情報を送信する。また、通信手段１０７は、機器情報データベース７とも通信を行い、後記する機器情報２１０を授受する。なお、機器情報データベース７が例えばＵＳＢにより接続されるＩＣメモリやＨＤＤである場合には、通信手段１０７はＵＳＢ規格のインターフェースを通じて、機器情報データベース７と通信（情報の授受）をする。スクリプト取得手段１０６は、機器５や機器情報データベース７から取得した後記する機器情報２１０から後記するスクリプト３００を取得して、これを保持する。機器特徴情報保持手段１０２は、取得した後記する機器情報２１０から後記する機器特徴情報２３０を取得して、これを保持する。
【００１５】
ユーザインタフェース生成手段１０５は、スクリプト取得手段１０６から手渡された後記するスクリプト３００を解釈して、ユーザインタフェース（ユーザインタフェースイメージ）を生成する。表示制御手段１０９は、表示装置２上に表示させる各種画像データの生成処理を行うもので、下から順に、非生体部分画像、ユーザインタフェース、生体部分画像を重畳させた画像を表示装置２上に表示させたり、下から順に、ユーザインタフェース、生体部分画像を重畳させた画像を表示装置２上に表示させたりなどする機能をもつ。
【００１６】
入力受付・解釈手段１１２は、タッチパネル装置３に操作者の指が触れた場合に、その触れた座標位置を取得して、透明なタッチパネル装置３の下側の表示装置２に表示されたユーザインタフェース中のアイコンがタッチされたと判断すると、そのアイコンに応じたユーザによる操作情報を解釈して、操作情報を制御情報生成手段１１０に手渡す。座標情報比較手段１１３は、位置関係検出手段１１４からの指先の座標情報と、表示制御手段１０９からの表示指先の座標情報とを参照して、表示装置２に表示されたユーザインタフェース上に重畳表示された指先の動き・位置に応じて、操作者により操作情報が入力されたか否かを判断して、つまり、操作者が入力装置３に直接触れることなく操作情報の入力操作を行ったか否かを判断して（表示されたユーザインタフェース中のアイコンに仮想的に触れたか否かを判定して）、仮想的にアイコンがタッチされたと判断すると、そのアイコンに応じたユーザによる操作情報を解釈して、操作情報を制御情報生成手段１１０に手渡す。
【００１７】
制御情報生成手段１１０は、入力された操作情報と、スクリプト取得手段１０６のもつ後記するスクリプト３００とから、機器５を制御するための制御情報を生成する。生成された制御情報は、制御手段１１１を通じて通信手段１０７に渡され、制御手段１１１の制御の下に、通信手段１０７から機器５に送信される。なお、制御手段１１１は、端末装置１全体を統括制御するもので、制御手段１１１の制御の下に各部が動作する。
【００１８】
次に、機器情報管理テーブル２００について、図２を用いて説明する。機器情報管理テーブル２００は、機器情報データベース７が保持し、１または複数の機器情報２１０から構成されるデータ格納テーブルである。機器情報２１０は、機器情報２１０を一意に識別するための機器識別子２２０と、機器のユーザインタフェース及び制御情報を記述するスクリプト３００と、機器の特徴を記述する機種特徴情報２３０とから構成される。
【００１９】
機器識別子２２０は、機器１つ１つにつきユニークな値を持つ識別子であり、１つの機器識別子２２０は、例えば、ＴＣＰ／ＩＰ（Transmission Contorol Protocol/Internet Protocol）プロトコルにおけるＩＰアドレスや、ＭＡＣ（Media Access Control）アドレスのような唯一ある特定の機器を指定する値である。通信手段１０７は、この機器識別子２２０に示された値を用いて、その特定の機器と通信することが可能である。
【００２０】
スクリプト３００は、機器のユーザインタフェース及び制御情報を記述するテキストベースの情報であり、このスクリプト３００の構成については後述する。これを用いることにより、端末装置１は機器５を制御するためのユーザインタフェースを構築したり、また、機器５を制御するための制御情報を生成することが可能である。
【００２１】
機器特徴情報２３０は、機器５が持つ無線タグの識別子である無線タグ識別ＩＤ２４０と、機器５のフロントパネルを撮影したイメージである前面イメージ２３１と、機器５の側面を撮影したイメージである側面イメージ２３２と、機器５の名前をテキストベースで保持する機種名２３３と、機器５のスイッチがどこに配置されているかを示すスイッチ配置位置２３４と、機器５の表示装置の取り付け位置を示す表示装置位置２３５と、機器５がスタンバイ状態になったときに機器５の表示部に表示されるイメージである待ち受け表示イメージ（初期表示イメージ）２３６とから構成される。
【００２２】
次に、スクリプト３００について、図３を用いて説明する。スクリプト３００は、機器のユーザインタフェース及び制御情報を記述するテキストベースの情報であり、その構成を解釈することにより、機器５のユーザインタフェースをどう構築したらよいかを指示する、あるいは、機器５をどのように制御したらよいかを指示する情報であり、例えば、ＨＴＭＬ（Hypertext Marcup Language）、ＸＭＬ（Extensive Marcup Language）、ＲＳＳ（RDF Site Summary or Rich Site Summary or Really Simple Syndication）、ＧＭＬ（Standard Generalized Marcup Language）といった、テキストベースのマークアップ言語により記述することができる。図３においては、スクリプト３００の１例を、ＸＭＬを用いて表現して説明する。
【００２３】
スクリプト３００は、ユーザインタフェース３１０と、レイヤー１（３２０）と、機能１（３３０）と、機能２（３３１）とから構成される。なお、スクリプト３００には、上記ユーザインタフェース３１０、レイヤー１（３２０）、機能１（３３０）、機能２（３３１）が、１つ以上複数個含まれていてもよい。
【００２４】
ユーザインタフェース３１０は、複数のレイヤー（３１１、３１２）で構成される。レイヤー３１１は、＜レイヤー１  event=待ち受け/>と記述され、これはイベント“待ち受け”が発生した際には、“レイヤー１”つまりレイヤー１（３２０）に記載されたユーザインタフェースを実施することを意味する。レイヤー３１２は、＜レイヤー２  event=起動状態/>と記述され、これはイベント“起動状態”が発生した際には、“レイヤー２”に記載されたユーザインタフェースを実施することを意味する。イベント“待ち受け”は、例えば、機器５に電源が供給されているも、ユーザが電源ボタンを押下する前の停止状態のことを示し、イベント“起動状態”は、ユーザが例えば電源ボタンを押下して機器５を立ち上げた直後の状態を意味する。すなわち、機器５がどのような状態にあるかを通信手段１０７を用いて機器５から取得し、それに応じて端末装置１のユーザインタフェースを変更することが可能となる。
【００２５】
レイヤー１（３２０）は、イメージ表示（３２１）とイメージ表示（３２２）と機能２（３２３）とから構成される。イメージ表示３２１は、＜イメージ表示  x=10 y=20 res=背景.jpg/＞と記述される。これは、レイヤー１（３２０）を実施した際に、resに指定した画像、つまり、ここでは“背景.jpg”というイメージファイルを取得し、表示装置２の座標（ｘ、ｙ）＝（１０，２０）の位置に“イメージ表示”する、という動作を実施する。“イメージ表示”は、端末装置１のユーザインタフェースが独自に設ける制御文字列であり、イメージあるいは画像を表示装置２に表示するための文字列であれば、どのようなものであってもよい。
【００２６】
イメージ表示３２２は、＜イメージ表示  x=30 y=40 res=スイッチ.jpg target=機能１/＞と記述される。これは、レイヤー１（３２０）を実施した際に、resに指定した画像、つまり、ここでは“スイッチ.jpg”というイメージファイルを取得し、表示装置２の座標（ｘ、ｙ）＝（３０，４０）の位置に“イメージ表示”する、という動作を実施する。加えて、この画像にハイパーリンクとして“機能１”の割付けを実施する。これは、ユーザが入力装置を用いてこの“スイッチ.jpg”を選択した場合、“機能１”に相当するスクリプトを実施する、という意味を表す。
【００２７】
機能１（３３０）は、＜機能１ device=機器１ command=制御コマンド１ status=起動状態/＞と記述される。これは、前述の“機能１”というスクリプトをどのように実施するかを記載した情報であり、“機器１”に対し“制御コマンド１”という文字列を送出したのち、機器５の状態を“起動状態”とする、という意味を示す。ここで、“制御コマンド１”とは、前述の制御情報のことであり、“機器１”すなわち機器５に対し送出する制御情報である。機能２（３３１）は、＜機能２ device=機器１ command=制御コマンド２ status=待ち受け状態/＞と記述される。これは、“機器１”に対し“制御コマンド２”という文字列を送出したのち、機器５の状態を“待ち受け状態”とする、という意味を示す。ここで、“制御コマンド２”とは、前述の制御情報のことであり、“機器１”すなわち機器５に対し送出する制御情報である。
【００２８】
以上のようなスクリプト３００を用いて、ユーザインタフェースを構築したり、機器に対する制御コマンドの送出方法を記述することができる。
【００２９】
次に、本実施形態において、端末装置１に撮影された機器５をリモコン操作の対象に選び、機器５に適合するユーザインターフェースを生成して、機器５をリモコン操作する動作について、図４に示すフローチャートを用いて説明する。
【００３０】
まず、通信手段１０７を用いて機器５に無線タグ（無線ＩＣタグ）が付加されているか否かを判断するために、無線タグ識別子を取得し（ステップ１００１）、もし機器５に無線タグがあるならば（ステップ１００２で有りならば）、通信手段１０７により機器５との通信回線を開き通信を開始する（ステップ１１００）。次に、機器５から前述の機器情報２１０を取得し（ステップ１１０１）、通信回線を切断して通信を終了する（ステップ１１０２）。次に、端末装置１のカメラ４を用いて、画像を取得し（ステップ１１０３）、ステップ１００６を実行する。なお、ステップ１１０３で取得される画像は、ここでは、機器５と端末装置１の操作者の手指とを含んだ画像である。
【００３１】
ステップ１００２において、機器５に無線タグがないと判断した場合には（ステップ１００２で無しの場合には）、通信手段１０７を用いて機器情報データベース７と通信を行い、機器情報管理テーブル２００から、全ての機器情報２１０を取得する。また、端末装置１のカメラ４を用いて画像を取得し（ステップ１００４）、ステップ２０００の機器判断処理を実施する。ステップ２０００の機器判断処理の詳細については後述する。なお、ステップ１１０４で取得される画像も、ここでは、機器５と端末装置１の操作者の手指とを含んだ画像である。
【００３２】
ステップ２０００の機器判断処理において、機器５の機器識別子２２０が機種特徴情報２３０を参照しても発見できない場合には（ステップ１００５でＮｏ判定の場合には）、ステップ１０００に戻る（ないしは、本フローを終了する）。機器５の機器識別子２２０が機種特徴情報２３０を参照して発見できた場合には（ステップ１００５でＹｅｓ判定の場合には）、機器情報２１０からスクリプト３００を取得する（ステップ１００６）。また、ステップ１１０３からステップ１００６に移行した場合も、機器情報２１０からスクリプト３００を取得する。次に、前述したようにスクリプト３００の解釈を行い、ユーザインタフェース（ユーザインタフェースイメージ）の生成を行う（ステップ１００７）。スクリプト３００の解釈は、基本的にスクリプト３００の最初から文字列を読み込み、ＨＴＭＬ，ＸＭＬ，ＲＳＳ，ＧＭＬなどハイパーテキスト文書の規約に従って解釈することにより、ユーザインタフェースを構築する。
【００３３】
次に、ステップ１１０３あるいはステップ１００４でカメラ４を用いて撮影した画像から、生体部分画像と非生体部分画像とを分離する（ステップ１００８）。次に、非生体部分画像を表示装置２に表示（ステップ１００９）した後、非生体部分画像の上に重ねてユーザインタフェース（ユーザインタフェースイメージ）を表示し（ステップ１０１０）、さらに、ユーザインタフェースの上に重ねて生体部分画像を表示する（ステップＳ１０１１）。図７の（ｂ）は、ステップＳ１０１１での処理の後の、表示装置２上の表示例を示している。そして、ステップ３０００での入力処理及び機器制御処理を実施して、ステップ１０００に戻る。なお、ステップ３０００での入力処理及び機器制御処理の詳細については後述する。
【００３４】
次に、図４の前記したステップ２０００の機器判断処理について、図５に示すフローチャートを用いて説明する。
【００３５】
まず、機器情報データベース７の機器情報管理テーブル２００から取得した機器情報２１０から、１つの機器情報２１０をワークエリアに取り出し（ステップ２００１）、もし、最後の機器情報２１０までの取り出しが終了していて、もはや取り出す機器情報２１０がない場合には（ステップ２００２でＹｅｓ判定の場合には）、操作対象として該当する機器５でない旨を、図４の機器判断処理の出力とし（ステップ２０１２）、本フローを終了する（ステップ２０１４）。
【００３６】
ステップ２００２において機器情報２１０が取り出しできるならば（ステップ２００２でＮｏ判定の場合には）、該機器情報２１０から機器特徴情報２３０を取り出す（ステップ２００３）。次に、図４のステップ１００４で取得した画像（カメラ４で撮影した画像）をワークエリアに取り出し（ステップ２００４）、機種特徴情報２３０の前面イメージ２３１、側面イメージ２３２、機種名２３３、スイッチ配置位置２３４、表示装置位置２３５、待ち受け表示イメージ２３６を、カメラ４で撮影した画像と、画像（イメージ）比較する（ステップ２００４）。この比較は、カメラ４で撮影した画像を伸縮・拡張して、その画像と機種特徴情報２３０内のイメージとを比較する、あるいは、画像の特徴点を取得して、その特徴点が一致するか否かといった、画像比較を行うものであればどのような手順であってもよい。
【００３７】
ステップ２００５において行ったイメージ比較処理において、前面イメージ２３１が一致したと判断した場合には（ステップ２００６でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（ステップ２０１４）。もし、ステップ２００５において行ったイメージ比較処理において、側面イメージ２３２が一致したと判断した場合には（ステップ２００７でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（２０１４）。もし、ステップ２００５において行ったイメージ比較処理において、機種名２３３が一致したと判断した場合には（ステップ２００８でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（ステップ２０１４）。もし、ステップ２００５において行ったイメージ比較処理において、スイッチ配置位置２３４が一致したと判断した場合には（ステップ２００９でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（ステップ２０１４）。もし、ステップ２００５において行ったイメージ比較処理において、表示装置位置２３５が一致したと判断した場合には（ステップ２０１０でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（ステップ２０１４）。もし、ステップ２００５において行ったイメージ比較処理において、待ち受け表示イメージ２３６が一致したと判断した場合には（ステップ２０１１でＹｅｓ判定の場合には）、ステップ２０１３に進み、機器情報２１０の機器識別子２２０を、図４の機器判断処理の出力とし（ステップ２０１３）、本フローを終了する（ステップ２０１４）。もし、ステップ２０１１において待ち受け表示イメージが一致しない場合には（ステップ２０１１でＮｏ判定の場合には）、ステップ２００１で取得した機器情報２１０に該当しなかったと判断し、次の機器情報２１０を取得するためにステップ２００１へ進み、処理を継続する。
【００３８】
次に、タッチパネル装置３を操作者が直接操作して操作情報を入力すること、あるいは、カメラ４で撮影された画像から操作者による操作情報の入力を取得することで、機器５に対する制御情報を生成して、これを機器５に対して送出する処理である、図４の前記したステップ３０００の入力及び機器制御処理について、図６に示すフローチャートを用いて説明する。
【００３９】
まず、図４のステップ１００７において、ユーザインタフェースを生成したか否かを判断し（ステップ３００１）、ユーザインタフェースがないと判断した場合には（ステップ３００１でＮｏ判定の場合には）、操作者の入力を受け付ける必要がないため、本フローを終了する（ステップ３０１５）。もし、ユーザインタフェースがあると判断した場合には（ステップ３００１でＹｅｓ判定の場合には）、図４のステップ１００８においてカメラ４で撮影した画像から分離した生体部分画像を、ワークエリアに取り出し（ステップ３００２）、ワークエリアに既に展開されている前回撮影分の生体部分画像との比較により、操作者が入力したか否かを判断する（ステップ３００３）。これは、例えば、生体部分画像の指（表示された指）がユーザインタフェースのアイコンなどを触った場合には、指部分の動きがその際に停止するため、前回撮影した画像から抽出した生体部分画像との比較を行うことで、操作者が入力したか否かを判断することが可能となる。もし、入力がないと判断した場合には（ステップ３００３でＮｏ判定の場合には）、タッチパネル装置３による入力受け付けに移行し（ステップ３００４）、タッチパネル装置３を用いた操作者の入力操作の有無を判定する（ステップ３００５）。もし入力がない、つまり操作者がタッチパネル装置３を触っていなければ、操作者からの入力がなかったと判断して（ステップ３００５でＮｏ判定をして）、本フローを終了する（ステップ３０１５）。もし入力がある場合、つまり操作者がタッチパネル装置３を触っていれば、操作者からの入力があったと判断して（ステップ３００５でＹｅｓ判定をして）、ステップ３００７の処理を実行する。
【００４０】
また、ステップ３００３において、操作者からの入力があると判断した場合には（ステップ３００３でＹｅｓ判定の場合には）、生体部分画像の特徴情報などから指先がどこにあるかを判断して（ステップ３００６）、指先の座標情報を取得する（ステップ３００７）。タッチパネル装置２からの入力であれば（ステップ３００５でＹｅｓ判定であれば）、そのタッチされた入力位置の座標情報を取得する（ステップ３００７）。
【００４１】
次に、スクリプト３００を参照して、そのハイパーテキストを解釈する（ステップ３００８）。ハイパーテキストにおいて、例えば図３のスクリプト３００の例で説明すると、レイヤー１のイメージ表示３２２のように、アイコンのイメージと、その表示開始位置が記述してあるので、アイコンのサイズと表示開始位置を合わせると特定の範囲を機能１に割り当てることができる。ステップ３００７において取得したＸ，Ｙ座標が、範囲内にあるか否かを判断する（ステップ３００９）。この判断は、スクリプト３００に記載されたすべてのアイコンに対して判断を行い、もし範囲内にないと判断した場合には（ステップ３００９でＮｏ判定の場合には）、そのアイコンを押していないことから、本フローを終了する（ステップ３０１５）。もし範囲内にあると判断した場合には（ステップ３００９でＹｅｓ判定の場合には）、スクリプト３００から処理すべき機能を取得する（ステップ３０１０）。図３の例で説明すると、イメージ表示３２２に対応する“機能１“が機能１（３３０）に記載されているため、そこからdeviceとcommandの情報を取得する（ステップ３０１１）。次に、端末装置１の通信手段１０７を用いて、前記deviceに指定されている機器５と通信を開始し（ステップ３０１２）、commandに記載されている制御コマンド（制御情報）を機器５に対し通信回線を用いて送出し（ステップ３０１３）、然る後、通信を停止する（ステップ３０１４）。そして、本フローを終了し（３０１５）、すべての制御コマンドの送出を終了する。
【００４２】
以上の動作により、端末装置１に撮影された機器５をリモコン操作の対象に選び、該機器５に適合するユーザインターフェースを生成して、機器５をリモコン操作する動作を実現することが可能となる。
【００４３】
図７の（ａ）は、端末装置１のカメラ４により生体（操作者の指先）６を撮影し、撮影された指先によりリモコン操作を行っている様子を示しており、７０１は操作者の目を表している。図７の（ｂ）は、図７の（ａ）において操作者の目７０１が観ている、表示装置２上の表示画像例を示している。図７の（ｂ）において、７０２は、表示画面の一番下側に表示された非生体部分画像、７０３は、非生体部分画像７０２の上側に重畳表示されたユーザインタフェース（ユーザインタフェースイメージ）、７０４は、ユーザインタフェース７０３の上に重畳表示された生体部分画像である。
【００４４】
図７の（ａ）、（ｂ）に示すように、タッチパネル装置３に触れることなく、カメラ４で撮影された指先により、表示装置２上に表示されたユーザインタフェース７０３を仮想的に操作することで、リモコン操作を行うように構成すると、端末装置１が携帯電話機のように小型の装置で、表示装置２のサイズが小さいものであっても、実際の指先よりも小さいサイズの生体部分画像（表示指先画像）によって、ユーザインタフェース７０３中の細かなアイコンを的確に操作することが可能となる。また、ユーザインタフェース７０３に多くのアイコンを配置することも可能となる。
【００４５】
なお、上述の例では、非生体部分画像７０２、ユーザインタフェース７０３、生体部分画像７０４の３者を重畳表示して、非生体部分画像７０２によって、操作している機器５のイメージが操作者に認知できるようにしているが、リモコン操作の際には、非生体部分画像７０２の表示は必ずしも必要ではなく、ユーザインタフェース７０３上に生体部分画像７０４を重畳表示させるだけでもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態に係る端末装置とそれを含んで構成される機器制御システムの構成を示すブロックである。
【図２】本発明の一実施形態に係る端末装置が用いる機器情報データベースが保持する機器情報管理テーブルの内容を示す説明図である。
【図３】図２の機器情報管理テーブル中における機器情報のスクリプトの例を示す説明図である。
【図４】本発明の一実施形態に係る端末装置の処理フローを示すフローチャートである。
【図５】図４中の機器判断処理の詳細を示すフローチャートである。
【図６】図４中の入力及び機器制御処理の詳細を示すフローチャートである。
【図７】本発明の一実施形態に係る端末装置を用いたリモコン操作の例を示す説明図である。
【符号の説明】
【００４７】
１  端末装置
２  表示装置
３  タッチパネル装置
４  カメラ
５  機器
６  生体
７  機器情報データベース
１００  撮像制御手段
１０１  画像比較手段
１０２  機器特徴情報保持手段
１０３  機器選択手段
１０４  生体判断手段
１０５  ユーザインタフェース生成手段
１０６  スクリプト取得手段
１０７  通信手段
１０８  画像分離手段
１０９  表示制御手段
１１０  制御情報生成手段
１１１  制御手段
１１２  入力受付・解釈手段
１１３  座標情報比較手段
１１４  位置関係検出手段
２００  機器情報管理テーブル
２１０  機器情報
２２０  機器識別子
２３０  機器特徴情報
２３１  前面イメージ
２３２  側面イメージ
２３３  機種名
２３４  スイッチ配置位置
２３５  表示装置位置
２３６  待ち受け表示イメージ
２４０  無線タグ識別ＩＤ
３００  スクリプト
３１０  ユーザインタフェース
３２０  レイヤー１
３３０  機能１
３３１  機能２
【図１】
0004676303.tif 000002
【図２】
0004676303.tif 000003
【図３】
0004676303.tif 000004
【図４】
0004676303.tif 000005
【図５】
0004676303.tif 000006
【図６】
0004676303.tif 000007
【図７】
0004676303.tif 000008