(57)【要約】【課題】従来、カメラでのカーソル撮影と画面上の表示更新との同期を取ることが困難だった。【解決手段】ユーザインタフェース装置１０は、一定周期で変化する画像の識別子を管理する画像ＩＤ管理部１０４と、画像ＩＤに対応付けられたカーソル画像を第１の表示画面１１に表示するカーソル表示部１０７と、画像ＩＤに対応してカーソルの位置座標を記憶するカーソル座標記憶部１０５と、第１の表示画面１１に表示されたカーソルを画像認識するカーソル認識部１０１と、カーソル認識部１０１で認識した結果と記憶しているカーソル位置座標から、操作端末２と第１の表示画面１１との位置関係を推定する位置向き推定部１０２と、推定した位置向き情報に基づいて第１の表示画面１１に表示する画像を生成する画像生成部１０３を備える。【選択図】図５
2009205556.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させるユーザインタフェース装置であって、
表示画面に表示させる表示画像を生成する画像生成手段と、
所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段と、
複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段と、
前記撮像画像に含まれる前記カーソル画像を画像認識し、前記画像ＩＤ記憶手段の記憶内容に基づいて、撮像された前記カーソル画像の画像ＩＤを、認識された前記カーソル画像から特定するカーソル認識手段と、
撮像された前記カーソル画像の前記表示画面上の位置座標を算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段と、
前記カーソル認識手段による前記認識結果と、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段とを備え、
前記カーソル表示手段は、新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させる
ことを特徴とするユーザインタフェース装置。
【請求項２】
前記画像撮像装置は、前記撮像画像を表示する第２の表示手段を備え、
前記カーソル表示手段は、前記位置推定手段によって推定されたフレームの前記位置座標に基づいて、新たなカーソル画像が、前記第２の表示手段に表示される新たな表示画像の中央に位置するように新たな表示画像を生成し、前記第２の表示手段に表示させる
ことを特徴とする請求項１記載のユーザインタフェース装置。
【請求項３】
前記カーソル表示手段は、前記画像生成手段によって生成される表示画面上で、表示するカーソル画像の位置座標を移動させた場合にのみ、カーソル画像及び画像ＩＤを変更する
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項４】
前記カーソル表示手段は、前記推定した位置関係に基づいて、前記画像生成手段によって生成される表示画面上に表示する前記カーソル画像の大きさを変化させ、
前記カーソル座標記憶手段は、表示した前記カーソル画像の位置座標と大きさとを記憶する
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項５】
前記カーソル表示手段は、前記画像ＩＤに応じて、前記カーソル画像に含まれる特定領域の色相成分を、前記画像生成手段によって生成される表示画像の変化に合わせて変化させる
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項６】
前記カーソル表示手段は、前記画像ＩＤに対応付けてカーソル画像の形状を変化させる
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項７】
前記カーソル表示手段は、前記画像ＩＤに対応付けてカーソル画像の軌跡部分を変化させる
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項８】
前記画像撮像装置は、前記撮像画像を表示する第２の表示手段を備え、
前記画像生成手段は、推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記画像撮像装置で撮影した画像とＣＧで生成した画像とを合成して、前記第２の表示画面に表示すべき拡張現実画像を生成する
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項９】
前記カーソル表示手段は、前記第２の表示画面に拡張現実画像を表示しているか否かに基づいて、前記画像生成手段によって生成される表示画像上に表示するカーソル画像の大きさを変える
ことを特徴とする請求項８記載のユーザインタフェース装置。
【請求項１０】
前記画像生成手段は、推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記第２の表示画面に表示されている表示画像の一部分を切り出し、切り出された前記一部の表示画像を拡大して生成する
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項１１】
前記画像生成手段は、ウェブブラウザ上に表示する画像を生成する
ことを特徴とする請求項２記載のユーザインタフェース装置。
【請求項１２】
表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させる情報表示装置であって、
表示画面に表示させる表示画像を生成する画像生成手段と、
所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段と、
複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段と、
前記画像撮像装置から、前記撮像画像に含まれる前記カーソル画像の画像認識結果であり前記カーソル画像を表すカーソルデータを受信するカーソルデータ受信手段と、
前記カーソルデータ受信手段で受信した前記カーソルデータと、前記画像ＩＤ記憶手段の記憶内容とに基づいて、撮像された前記カーソル画像の画像ＩＤを特定するカーソル認識手段と、
撮像された前記カーソル画像の前記表示画面上の位置座標を、前記カーソルデータ受信手段で受信した前記カーソルデータから算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段と、
前記カーソルデータ受信手段で受信した前記カーソルデータと、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段とを備え、
前記カーソル表示手段は、新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させる
ことを特徴とする情報表示装置。
【請求項１３】
情報表示装置の表示画面上に表示されるカーソル画像を撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を前記情報表示装置に表示させる操作端末であって、
前記情報表示装置の表示画面上に表示されるカーソル画像を撮像する撮像手段と、
前記撮像手段によって撮影された撮像画像に含まれる前記カーソル画像を画像認識し、前記画像認識結果として前記カーソル画像を表すカーソルデータを、前記情報表示装置に送信するカーソルデータ送信手段と、
前記情報表示装置から、新たに表示すべきカーソル画像のカーソルデータを受信するカーソルデータ受信手段と、
前記撮像手段によって撮影された前記撮像画像と、前記カーソルデータ受信手段で受信した前記カーソルデータとに基づいて、前記撮像画像に新たなカーソル画像を合成し、表示画像を生成する第２画像生成手段と、
前記第２画像生成手段によって生成された表示画像を表示する第２の表示手段と
を備えることを特徴とする操作端末。
【請求項１４】
前記画像生成手段によって生成される表示画像を表示する表示画面と、請求項１記載のユーザインタフェース装置と
を備えることを特徴とするデジタルテレビ装置。
【請求項１５】
前記画像撮像装置と、請求項２記載のユーザインタフェース装置と
を備えることを特徴とする携帯電話端末。
【請求項１６】
表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させるユーザインタフェース装置ためのプログラムであって、コンピュータを
表示画面に表示させる表示画像を生成する画像生成手段と、所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段と、複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段と、前記撮像画像に含まれる前記カーソル画像を画像認識し、前記画像ＩＤ記憶手段の記憶内容に基づいて、撮像された前記カーソル画像の画像ＩＤを、認識された前記カーソル画像から特定するカーソル認識手段と、撮像された前記カーソル画像の前記表示画面上の位置座標を算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段と、前記カーソル認識手段による前記認識結果と、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段として機能させ、前記カーソル表示手段が、新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させるプログラム。
【請求項１７】
表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させる集積回路であって、
表示画面に表示させる表示画像を生成する画像生成手段と、
所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段と、
複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段と、
前記撮像画像に含まれる前記カーソル画像を画像認識し、前記画像ＩＤ記憶手段の記憶内容に基づいて、撮像された前記カーソル画像の画像ＩＤを、認識された前記カーソル画像から特定するカーソル認識手段と、
撮像された前記カーソル画像の前記表示画面上の位置座標を算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段と、
前記カーソル認識手段による前記認識結果と、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段とを備え、
前記カーソル表示手段は、新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させる
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラを備えた操作端末を利用して、ディスプレイ上に表示されている情報・コンテンツを操作・閲覧するユーザインタフェース装置に関する。
【背景技術】
【０００２】
従来、ディスプレイ上に表示されている情報やウェブ（Ｗｅｂ）コンテンツ、メニュー画面等を直感的に操作・閲覧するユーザインタフェースを実現することを目的として、カメラなどの光学センサを搭載した操作端末により、ディスプレイの位置・向きを推定する技術が提案されている。
【０００３】
まず、リモコンなどの操作端末に搭載されたカメラと、ディスプレイ前面で点滅する点を利用し、ディスプレイ上の指示座標を計算する技術があった（例えば、特許文献１参照）。この技術を使うことで、ユーザが持つ操作端末が示す方向に応じて、ポインティングカーソルを動かすことができる。
【０００４】
また、拡張現実（AugmentedReality）型ユーザインタフェースを実現する技術の一つとして、ディスプレイに表示した明示的な画像マーカを画像認識し、その画像マーカが示す座標系を推定することで、ディスプレイの特定の場所に、情報や３ＤＣＧを重畳して表示する技術があった（例えば、非特許文献１）。これらの拡張現実型ユーザインタフェースは、四角形の画像マーカが示す４頂点の座標値から、カメラ画像の中心を原点とする座標系において、画像マーカの位置向きを示す座標変換マトリックスを、高い精度で求める技術（例えば、非特許文献２）を応用したものである。
【特許文献１】特開２００７−８６９９５号公報
【非特許文献１】岸野泰恵、塚本昌彦、坂根裕、西尾章治郎：「コンピュータディスプレイ上の自律移動型の半透明ビジュアルマーカ」、情報処理学会シンポジウムシリーズ(インタラクション２００２)、Ｖｏｌ．２００２、Ｎｏ．７、ｐｐ．１４−２１、２００２.
【非特許文献２】加藤、Ｍａｒｋ、浅野、橘：「マーカ追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文集  Ｖｏｌ．４  Ｎｏ．４、  ｐｐ．６０７−６１６、１９９９
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ディスプレイ前面の点滅する点を画像認識する方法では、（１）カメラで撮影するタイミングとディスプレイの画面を更新するタイミングとを、正確に同期させる必要があるため、実現が容易ではない、（２）複数のフレーム間の差分画像を利用して、点の位置を取得しているために、認識に時間がかかることや、操作端末を動かした場合に正確な座標値を取得できない、といった課題があった。
【０００６】
また、明示的な画像マーカをディスプレイに表示する方法では、（１）画像マーカをディスプレイの特定位置に表示させた場合は、画面の一部が常に画像マーカによって隠れてしまい、ユーザにとって邪魔になる、（２）画像マーカを邪魔にならない位置に動的に移動させる場合は、画像マーカがカメラ画像から外れたとき認識できなくなることや、ディスプレイ表示とカメラ撮影のタイミングを考慮していないために、ディスプレイ自体の位置向きを正確に取得することができないといった課題があった。
【０００７】
さらに、従来技術では、カメラ画像の中心付近での精度を高めることに主眼をおいていないため、ポインティングのカーソルを表示する用途には使えても、ディスプレイに表示されている内容に対して、拡張現実型ユーザインタフェースを表示する用途には、精度が不十分となりがちであり、重畳して表示するＣＧ画像が不安定になるといった課題もあった。
【０００８】
本発明は、前記従来の課題を解決するものであり、カメラで撮影するタイミングとディスプレイの画像を更新するタイミングの同期を取る必要がなく、かつ、明示的なマーカが画面を占有せずに、ディスプレイの位置・向きを高精度で取得することを目的とする。
【課題を解決するための手段】
【０００９】
前記従来の課題を解決するために、本発明のユーザインタフェース装置は、表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させるユーザインタフェース装置であって、表示画面に表示させる表示画像を生成する画像生成手段と、所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段と、複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段と、前記撮像画像に含まれる前記カーソル画像を画像認識し、前記画像ＩＤ記憶手段の記憶内容に基づいて、撮像された前記カーソル画像の画像ＩＤを、認識された前記カーソル画像から特定するカーソル認識手段と、撮像された前記カーソル画像の前記表示画面上の位置座標を算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段と、前記カーソル認識手段による前記認識結果と、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段とを備え、前記カーソル表示手段は、新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させることを特徴とする。
【００１０】
本構成によって、画像撮像装置であるカメラで撮影するタイミングと、画像生成手段によって生成される表示画像及び前記カーソル表示手段によって生成されるカーソル画像を表示するディスプレイの画像を更新するタイミングとを同期させることなく、かつ、明示的なマーカが画面を占有することもなく、ディスプレイの位置・向きを高精度に取得することができる。
【００１１】
また、前記画像撮像装置は、前記撮像画像を表示する第２の表示手段を備え、前記カーソル表示手段は、前記位置推定手段によって推定された前記フレームの前記位置座標に基づいて、新たなカーソル画像が、前記第２の表示手段に表示される新たな表示画像の中央に位置するように新たな表示画像を生成し、前記第２の表示手段に表示させるとしてもよい。
【００１２】
本発明の上記構成によって、画像撮像装置に相当する操作端末が指し示す正確な位置に、カーソル画像であるポインティングカーソルを表示し、画像生成手段によって生成された表示画像であり、ディスプレイに表示された情報やコンテンツを、直感的に操作・閲覧することができる。同時に、第２の表示手段に表示される新たな表示画像であるカメラ画像の中心部に、カーソル画像が移動することで、カメラ画像の中心部での位置向きの精度を高くする効果もある。
【００１３】
さらに、前記カーソル表示手段は、前記画像生成手段によって生成される表示画面上で、表示するカーソル画像の位置座標を移動させた場合にのみ、カーソル画像及び画像ＩＤを変更させてもよい。
【００１４】
本発明の上記構成によって、カーソルが移動しない場合には、カーソル画像の周期的な変化を目立たせなくすることができる。
【００１５】
また、前記カーソル表示手段は、前記推定した位置関係に基づいて、前記画像生成手段によって生成される表示画面上に表示する前記カーソル画像の大きさを変化させ、前記カーソル座標記憶手段は、表示した前記カーソル画像の位置座標と大きさとを記憶するとしてもよい。
【００１６】
本発明の上記構成によって、ユーザと表示画面との距離が近い場合には、カーソルを小さく表示することができ、ユーザと表示画面との距離が遠い場合に、カーソルを大きく表示することができる。この結果、カーソルの見易さを向上させるだけでなく、カメラ画像に含まれるカーソルの大きさを一定に近づけることで、画像認識の精度も向上させることができる。
【００１７】
また、前記カーソル表示手段は、前記画像ＩＤに応じて、前記カーソル画像に含まれる特定領域の色相成分を、前記画像生成手段によって生成される表示画像の変化に合わせて変化させてもよいし、前記カーソル表示手段は、前記画像ＩＤに対応付けてカーソル画像の形状あるいはカーソル画像の軌跡部分を変化させてもよい。
【００１８】
本発明の上記構成によって、カーソル表示の周期的な変化を目立たせずに、かつ、認識しやすくすることができる。
【００１９】
さらに、前記画像撮像装置は、前記撮像画像を表示する第２の表示手段を備え、前記画像生成手段は、推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記カメラで撮影した画像とＣＧで生成した画像とを合成して、前記第２の表示画面に表示すべき拡張現実画像を生成するとしてもよい。
【００２０】
本発明の上記構成によれば、本発明のユーザインタフェース装置を、容易に、拡張現実型ユーザインタフェースへ適用することができる。
【００２１】
このとき、前記カーソル表示手段は、前記第２の表示画面に拡張現実画像を表示しているか否かに基づいて、前記画像生成手段によって生成される表示画像上に表示するカーソル画像の大きさを変えるとしてもよい。
【００２２】
本発明の上記構成によれば、高い認識精度を必要とする拡張現実画像表示の場合には、カーソル表示を大きくして、認識精度を高めることが可能である。ユーザにとっても、第２の表示画面を通して、拡張現実画像を見ているときは、画像生成手段によって生成される表示画像上のカーソル表示が大きく表示されても邪魔にならない場合が多い。
【００２３】
また、前記画像生成手段は、推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記第２の表示画面に表示されている表示画像の一部分を切り出し、切り出された前記一部の表示画像を拡大して生成するとしてもよい。
【００２４】
本発明の上記構成によれば、画像生成手段によって生成される表示画像に表示されている内容を分かりやすく拡大表示するアプリケーションを実現することができる。
【発明の効果】
【００２５】
本発明のユーザインタフェース装置は、カーソルの移動時にフレームを単位として周期的に変化するカーソル表示を、操作端末の画像撮像装置で撮影し、撮影されたカーソル画像を画像認識することにより、ディスプレイの位置向きを正確に推定することができる。さらに、推定した位置向きに基づき、操作端末の示す指示座標を求めることで、ディスプレイ上の正確な位置にポインティングカーソルを表示することができる。本発明では、ディスプレイ側に特殊なＬＥＤの発光装置や、ディスプレイの表示と画像撮像手段で撮影するタイミングの同期手段などを設置することなく、容易に、使いやすいユーザインタフェースを実現することができる。特に、カメラ画像の中心部に表示するカーソル表示に基づいて、位置向きを推定するために、カメラ画像中心付近での認識精度が高くなるという特徴を持ち、単純にポインティングするユーザインタフェースだけでなく、カメラ画像上での正確な位置向きを必要とする、拡張現実型ユーザインタフェースを実現するためにも利用することができる。さらに、ユーザが持つ操作端末と、ディスプレイの位置関係に応じて、最適な大きさのカーソルを表示することで、認識の精度をさらに高めることもできる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００２７】
（実施の形態１）
本発明のユーザインタフェース装置は、「表示画面上に表示されるカーソル画像を画像撮像装置が撮影して得られる撮像画像の画像認識結果に基づいて、前記カーソル画像を含む新たな画像を表示させるユーザインタフェース装置」の一例であって、情報表示装置の第１の表示画面に表示されたカーソル画像を操作端末の画像撮像部で撮像し、撮像されたカーソル画像が常に操作端末の第２の表示画面の中央に表示されるように、第１の表示画面に表示されるカーソル画像を移動させて表示するという特徴がある。これにより、第１の表示画面に表示されるカーソル画像が、操作端末の動きに追従して、第１の表示画面内を移動するように表示することができる。
【００２８】
図１は、本発明の実施の形態１における情報表示装置１と操作端末２の外観図である。操作端末２は、「前記撮像画像を表示する第２の表示手段を備える前記画像撮像装置」の一例である。図１（ａ）は、操作端末２が指し示す、第１の表示画面１１上の指示座標に、ポインティング用のカーソル画像を表示しているカーソル操作の一例を示したものである。このとき、第１の表示画面１１には、例えば、ウェブブラウザのアプリケーションが表示されており、操作端末２を動かすことで、カーソル画像が動く。カーソル画像が移動した位置に応じて、ユーザが操作ボタンなどのユーザ入力部２２を操作することで、カーソル近辺の位置に表示されているボタンを押すことや、データのドラッグ＆ドロップ操作をすることができる。また、同図では、第２の表示画面２３には、何も表示されていない。
【００２９】
図２は、第１の表示画面１１に表示されたカーソル画像を操作端末２で撮影し、撮影されたカーソル画像を画像解析することにより、次のフレームで第１の表示画面１１上に表示するカーソル画像の表示位置を決定する仕組みを説明する図である。図２（ａ）は、操作端末２が撮影したカーソル画像の画像データを情報表示装置１に送信し、情報表示装置１がカーソルの画像データを解析することにより、カーソル画像の次の表示位置を決定するフィードバックループの一例を示す図である。まず、情報表示装置１の起動時には、カーソル画像は第１の表示画面１１の所定の位置に表示される。このカーソル画像を操作端末２が撮影し（１）、撮影によって得られた画像データを情報表示装置１の本体に送信する（２）。情報表示装置１の内部に備えられるユーザインタフェース装置１０は操作端末２から受信装置した画像データを解析して、カーソル画像の次の表示位置を決定する（３）。このとき、決定されるカーソル画像の次の表示位置は、操作端末２の第２の表示画面２３の中央にカーソル画像が表示されるように、第１の表示画面１１上でのカーソル画像の表示位置が決定される。この決定に従って、第１の表示画面１１上でカーソル画像の表示位置が移動される。操作端末２は、第１の表示画面１１上で移動されて表示されたカーソル画像を撮影し（４）、撮影による画像データを情報表示装置１に送信する。なお、本発明は、実際には、操作端末２に第２の表示画面２３がない場合でも適用可能である。しかし、操作端末２の第２の表示画面２３でカーソル画像を表示している場合には、操作端末２は、第１の表示画面１１で表示されたカーソル画像の移動に応じて、第２の表示画面２３に表示されるカーソル画像の表示位置を移動する。図２（ｂ）は、第１の表示画面１１に表示されるカーソル画像と、情報表示装置１に対して斜め方向から撮影された場合のカーソル画像との関係を示す図である。図２（ｂ）右に示すように、カーソル画像は、正面から見た場合には円形に見えるように表示される。これに対し、操作端末２が情報表示装置１に対して離れた位置から斜め方向にこのカーソル画像を撮影した場合には、図２（ｂ）左に示すように、撮影により得られる画像データが表す形状は、元の画像よりも小さく、楕円形になる。情報表示装置１では、図２（ｂ）左のように得られた画像データを解析して、図２（ｂ）右のように表示されているカーソル画像が、図２（ｂ）左のように変形して撮影される位置を解析する。
【００３０】
図３は、図２（ａ）に示したカーソル画像の表示を行う場合の操作端末２及び情報表示装置１の動作を示すフローチャートである。同図に示すように、まず、情報表示装置１の本体で、第１の表示画面１１に表示しようとする画像データが生成され、画像が表示される（Ｓ２０１）。操作端末２では、第１の表示画面１１に表示された画像を撮影し（Ｓ２０２）、撮影した画像データを情報表示装置１に送信する（Ｓ２０３）。操作端末２から画像データを受信した情報表示装置１では、受信した画像データを解析して、操作端末２に撮像されたカーソルの画像ＩＤ及び位置座標を算出して、カーソル座標記憶部１０５に記憶させる。そして、現在、操作端末２が指し示している第１の表示画面１１上の位置座標を、操作端末２の位置向きから推定して（Ｓ２０４）、次のフレームで第１の表示画面１１に表示すべきカーソルの位置を決定し、決定した位置に次のフレームに対応するカーソルを表示する（Ｓ２０５）。情報表示装置１は、カーソルの画像ＩＤを新たに表示されたカーソルに対応する画像ＩＤに更新する（Ｓ２０６）。操作端末２は、ステップＳ２０２で撮影した第１の表示画面１１の画像を、第２の表示画面２３に表示する（Ｓ２０７）。
【００３１】
図１（ｃ）は、実行対象のアプリケーションが拡張現実型ユーザインタフェースの場合に、第２の表示画面２３に表示されるビットマップイメージの一例を示す図である。図１（ｃ）は、画像撮像部２１で撮影したカメラ画像を背景として、カメラ画像に含まれている第１の表示画面１１の内容に関連する３次元ＣＧ画像を、前記の背景に重畳して表示した図である。このＣＧ画像は、拡張現実の表示技術（例えば、非特許文献２）を利用することで、３次元の物体が実際にディスプレイの前の空間に存在するかのように表示することができ、普通に第１の表示画面１１に表示したＣＧ画像と比較して、立体感や実スケール感などを直感的に理解することができる。
【００３２】
図４は、図１（ｃ）に示した拡張現実型ユーザインタフェースのアプリケーションを実行する場合の操作端末２及び情報表示装置１の動作を示すフローチャートである。同図に示すように、まず、情報表示装置１の本体で、第１の表示画面１１に表示しようとする画像データが生成され、画像３２０が表示される（Ｓ３０１）。操作端末２では、第１の表示画面１１に表示された画像の一部（破線で囲んだ領域３２１）を撮影する（Ｓ３０２）。撮影された領域３２１の画像は、第２の表示画面２３では、表示画像３２２のように表示される。操作端末２は、撮影した画像データを情報表示装置１に送信する（Ｓ３０３）。ここで、ユーザが操作端末２のユーザ入力部２２などを操作することにより、操作端末２は、カーソル画像が表示されている周辺のボタンなどをクリックする意味の指示である入力データを受け付け、受け付けた入力データを情報表示装置１に送信する（Ｓ３０４）。操作端末２から画像データと入力データとを受信した情報表示装置１では、受信した画像データから操作端末２の位置を解析して（Ｓ３０５）、第２の表示画面２３で表示させるための操作端末２用の背景画像３２３と、入力データで指示される拡張現実型ユーザインタフェースを用いて第２の表示画面２３で表示させるための３次元画像（ＭＲ）３２４とを生成して合成する（Ｓ３０６）。情報表示装置１は、合成した操作端末２用のＭＲ合成画像を操作端末２に送信する（Ｓ３０７）。操作端末２にＭＲ合成画像を送信した後、情報表示装置１は、次のフレームで第１の表示画面１１に表示すべき画像を背景画像として生成し、さらに、生成された背景画像上で表示されるべきカーソルの位置を決定する。そして、背景画像上の決定された位置に、次のフレームに対応するカーソル画像を合成して表示する（Ｓ３０８）。情報表示装置１は、カーソルの画像ＩＤを新たに表示されたカーソルに対応する画像ＩＤに更新する（Ｓ３０９）。ステップＳ３０７で、情報表示装置１からＭＲ合成画像を受信すると、操作端末２は、ステップＳ３０７で受信したＭＲが背景画像に重畳して合成された画像３２５を、第２の表示画面２３に表示する（Ｓ３１０）。
【００３３】
以下、情報表示装置１と操作端末２の構成を詳細に説明する。
【００３４】
（情報表示装置１の外観）
図１（ａ）において、情報表示装置１は、第１の表示画面１１を有する。第１の表示画面１１は、具体的には、デジタルテレビの表示画面（ディスプレイ）でよい。デジタルテレビは、具体的には、プラズマディスプレイや、液晶ディスプレイ、有機ＥＬディスプレイでよい。また、情報表示装置１は、パーソナルコンピュータでもよい。この場合、ディスプレイとコンピュータが、一体型のものでもよいし、分離されてケーブルや無線等の通信手段で接続されたものでもよい。本発明で対象とする情報表示装置１は、少なくとも一つの表示画面が必要であるが、その他のハードウェア構成は汎用的な構成でも適用可能である。
【００３５】
（操作端末２の外観）
図１（ａ）において、操作端末２は、画像撮像部２１とユーザ入力部２２と第２の表示画面２３を備えたリモートコントローラであり、情報表示装置１とは、ＩＥＥＥ８０１．１１ｎなどの無線通信手段やＬＡＮケーブルなどの有線通信手段を用いて、情報を送受信することができる。以下、詳細に説明する。
【００３６】
画像撮像部２１は、カラー画像データを撮影可能なカメラであり、具体的には、ＣＣＤやＣＭＯＳなどのイメージセンサに、カラー画像を取得するためのフィルタと、レンズを取り付けたものなどでよい。なお、本実施の形態では、カラー画像の画像情報を用いたが、白黒画像を用いても良い。本発明で利用可能な画像撮像部２１は、第１の表示画面１１であるディスプレイに表示されている画像を撮影可能なイメージセンサであれば、任意のフォーマットのものに対応できる。
【００３７】
ユーザ入力部２２は、ユーザの指示を入力するための入力手段である。具体的には、２次元的な座標を入力することが可能な、タッチパッド、ジョイスティックなどや、ＯＮ・ＯＦＦの入力が可能な、ボタンなどを組み合わせたものでよい。また、第２の表示画面２３と一体化したタッチパネル装置を含んでいてもよい。ユーザ入力部２２で入力されたものは、操作端末２でのイベント処理に利用するだけでなく、データ送信部２４、データ受信部１３を経由して、情報表示装置１のアプリケーション処理部１４へも伝えられ、アプリケーションの選択操作などのイベント入力として利用される。
【００３８】
第２の表示画面２３は、操作端末２に取り付けられた表示画面であり、ユーザインタフェース装置１０の第２画像生成部１０８が生成したＧＵＩ（グラフィカルユーザインタフェース）画像を表示することができる。特に、アプリケーションが、図１（ｃ）のような、拡張現実型ユーザインタフェースの場合には、操作端末２の画像撮像部２１で撮影したカメラ画像上に、関連する情報やＣＧを重畳して表示する。これにより、ユーザにとっては、あたかも、操作端末２の第２の表示画面２３を通して、ディスプレイ（第１の表示画面１１）を眺めるような感覚で、ディスプレイの表示内容に関連する情報やＣＧを重ね合わせて見ることが可能となる。なお、これらの技術は、ビデオシースルー型拡張現実技術と呼ばれる。
【００３９】
（情報表示装置１及び操作端末２の構成）
図５は、本発明の実施の形態１における、情報表示装置１と操作端末２の要部の構成の一例を示すブロック図である。情報表示装置１は、ユーザインタフェース装置１０、第１の表示画面１１、データ送信部１２、データ受信部１３、アプリケーション処理部１４を有する。図１の外観図に含まれる構成は、図１の番号と同じ番号を振ってあり、これらの構成は同一のものであるため、説明を省略する。
【００４０】
操作端末２は、画像撮像部２１、ユーザ入力部２２、第２の表示画面２３、データ送信部２４、データ受信部２５、画面表示部２６を備える。画像撮像部２１、ユーザ入力部２２、第２の表示画面２３に関しては、図１の外観図に対応してすでに説明しているので、同じ参照番号を振り、ここでの説明は省略する。
【００４１】
データ送信部２４とデータ受信部２５は、データ送信部１２と、データ受信部１３と、同様で、具体的には、ＩＥＥＥ８０１．１１ｎなどの無線の通信手段やＬＡＮケーブルなどの有線の通信手段の処理部でよい。
【００４２】
画面表示部２６は、データ受信部２５を経由して送られてくる、画面のビットマップデータを、第２の表示画面２３上に表示するための処理部である。ただし、カーソル表示部１０７と同様に、Ｍｉｃｒｏｓｏｆｔ社製ＷｉｎｄｏｗｓＶｉｓｔａ（登録商標）などのウィンドウシステムを操作端末２が利用している場合は、実際に画面を描画するのではなく、ビットマップデータを画面上に描画してくれるようにシステムに要求するまでの処理を行なう。
【００４３】
以下、ユーザインタフェース装置１０について、詳細に説明する。
【００４４】
ユーザインタフェース装置１０は、カーソル認識部１０１、位置向き推定部１０２、第１画像生成部１０３、画像ＩＤ管理部１０４、カーソル座標記憶部１０５、カーソルデータ記憶部１０６、カーソル表示部１０７及び第２画像生成部１０８を備える。
【００４５】
カーソル認識部１０１は、「前記撮像画像に含まれる前記カーソル画像を画像認識し、前記画像ＩＤ記憶手段の記憶内容に基づいて、撮像された前記カーソル画像の画像ＩＤを、認識された前記カーソル画像から特定するカーソル認識手段」の一例であり、画像撮像部２１で撮影したカラー画像データを、データ受信部１３を介して受け取り、画像中に含まれるカーソルの領域情報を取得する。入力されるカラー画像データは、具体的には、ＲＧＢ形式のデータ形式でよい。ＲＧＢ形式は、Ｒ（赤）、Ｇ（緑）、Ｂ（青）の三つの成分で色を表現したものである。まず、入力されたカラー画像データは、ＨＳＶ形式に変換する。ＨＳＶ形式とは、Ｈ（色相）、Ｓ（彩度）、Ｖ（明度）の三つの成分で表現した色であり、ＲＧＢ形式からＨＳＶへの変換式の一例を図６に示す。ただし、図６において、Ｒ、Ｇ、Ｂはそれぞれ、０〜１．０までの数値であり、Ｈは０〜３６０．０、ＳとＶは、０〜１．０とする。
【００４６】
次に、カーソル認識部１０１では、カーソルの領域をラベリング処理により切り出す（抽出する）。ここでのラベリング処理とは、特定の色の領域をグルーピングして、識別子となる番号を振っていく処理である。具体的には、二値化した画像をピクセル単位に走査し、近接する画素の連結関係を求めて、ラベルを振っていけばよい。例えば、図７（a)に示すカーソル画像が、図７（ｂ）の緑色、図７（ｃ）の黄緑色、及び図７（ｄ）の赤色の３色で構成されているとする。これに対し、ラベリング処理で切り出す領域を、図７（ｂ）の緑色領域と、図７（ｃ）の黄緑色領域の２つの領域とする。このとき、ラベリング処理における二値化処理は、緑色領域と黄緑色領域の２つを含む領域を１とし、それ以外の領域を０とする画像を生成すれば良い。この緑色領域と黄緑色領域の判別方法としては、前記ＨＳＶ形式の色データに対して、「Ｈ（色相）が７０以上、１３５以下」などの条件式で判別すればよい。なお、ＨＳＶ形式では、Ｈが１２０のときが緑色、Ｈが８５のときが黄緑色を示すが、カメラで撮影した画像は照明や大気などの影響で、ディスプレイに表示している色と全く同じ色が取得できるとは限らない。このため、Ｈ（色相）の値が一定の範囲内のときに、所定の色であるとして判別している。このように、Ｈ（色相）を使って判別することによって、部屋の明るさの変化などによる悪影響を受け難い認識結果を得ることができる。また、緑色と黄緑色の２色は、人間の見た目には違いが分かりにくいが、カメラで撮影した画像のＨ（色相）成分を比較することで、定量的に容易に識別できるという特徴を持つ。
【００４７】
具体的には、図８（ａ）のようなカーソルを含むカラー画像を撮影した場合、図８（ｂ）のような、４つのラベルの領域が取得できる。さらに、図９（ａ）のような、各ラベルの位置（代表座標）と大きさ（面積）のデータを取得することができる。代表座標は、具体的には、領域の中心座標を用いても良いし、領域の輪郭線上の特徴点を利用しても良い。ここで、図８（ａ）のカーソル画像は、図８（ｂ）に示すような同じ面積の３つの三角形（ラベル０、ラベル１、ラベル２）と、それよりも面積が一回り大きい三角形（ベース三角形ラベル３）の合計４つの三角形によって構成されている。そこで、ラベリング結果の中から、カーソル画像の候補となる４つの領域を選択し、その４つの領域の中から、面積が最大となる領域を選択することで、カーソルに含まれるベース三角形を決定できる。その後、ラベル０〜ラベル３の４領域の位置関係から、時計回りに、ラベル３→ラベル１→ラベル０→ラベル２という順番でラベルを特定し、それぞれの代表座標を取得することで、四角形を構成する４頂点データを取得することができる。
【００４８】
さらに、図９(ａ)のラベリング結果から代表色のＨＳＶ値を比較し、図１０のようなカラー値と画像ＩＤの対応情報を元に、画像ＩＤを判定する。なお、図１０の対応関係のデータは、カーソルデータ記憶部１０６に保存しておけばよい。以上の処理により、カーソルを構成する４頂点データと、画像ＩＤを取得し、図９（ｂ）に示すカーソルデータを生成できる。ただし、この段階で生成するカーソルデータは、カーソルの候補データであり、誤ったカーソルデータも含めて、複数のカーソルデータが生成される場合もある。この場合、位置向き推定部１０２で、カーソルの位置向きを推定する段階で、複数の候補の中から、正しいカーソルデータを選択すれば良い。
【００４９】
なお、周期的に変化する画像ＩＤを判別する方法は、上記で記述した方法に限定されるものではない。例えば、図１１（ａ）、図１１（ｂ）、図１１（ｃ）に示す、矢印型カーソル表示の場合は、矢印を構成する特定領域の色相値の違いで、３つのカーソル画像から異なる画像ＩＤを取得することができる。この場合、カーソルの輪郭線を直線近似し、図１２のような、特徴点を抽出し、その特徴点の座標に基づき、決められた領域の色値を取得することで実現できる。また、同じ矢印型のカーソルの場合でも、図１１（ｄ）に示すように、カーソルの形状とは別に、バーコード状のＩＤを付加しても良い。さらに、図１１（ｅ）のように、カーソルの軌跡表示部分の形状をコード化してＩＤを表現しても良い。このように、本発明のカーソル表示は、色や形状の情報を手がかりとして、少なくとも数種類のＩＤを識別可能であれば、どのようなデザインでもよい。本発明は、カーソルのデザインに限定されるものではない。
【００５０】
図１３（ａ）は、フレームごとのカーソルの位置の変化を示す図である。図１３（ｂ）は、図１３（ａ）に示した各フレームに対して、順次、画像ＩＤをインクリメントして割り当てる一例を示す図である。図１３（ｃ）は、図１３（ａ）に示した各フレームに対して、カーソルが移動しないフレームには、同じ画像ＩＤを割り当てる一例を示す図である。例えば、図１３（ａ）に示すように、フレーム番号２３とフレーム番号２４とでは、カーソルが移動していない。上記の例では、図１３（ｂ）に示すように、フレームごとに単純にカーソルの画像ＩＤをインクリメントして割り当てたが、図１３（ｃ）のように、カーソルが移動しない場合には、画像ＩＤをインクリメントしないで同じ画像ＩＤを用いるとしてもよい。図１３（ｃ）のように画像ＩＤを割り当てる場合には、フレーム間でカーソルが移動したか否かを判断する必要があるが、フレームレートが高い場合であっても、カーソルの動きが少ないときには画像ＩＤのパターンを増やさなくても対応できるという効果がある。
【００５１】
次に、位置向き推定部１０２は、「前記カーソル認識手段による前記認識結果と、前記カーソル座標記憶手段が記憶している前記位置座標とから、前記画像撮像装置が撮像した前記表示画像と、前記表示画像上の前記画像撮像装置が現在指し示している位置を示す指示座標とを推定する位置推定手段」の一例であり、カーソルを画像認識した結果から、カメラを中心とする座標系におけるディスプレイの位置向きを推定し、さらに、操作端末が示すディスプレイ上での指示座標と算出するものである。以下、詳細に説明する。
【００５２】
まず、カーソル認識部１０１から、図９（ｂ）に示すカーソルを構成する４頂点の座標値と、カーソルの画像ＩＤを取得する。なお、この４頂点は、４頂点以上の数であっても良い。例えば、カーソル画像が、図１１に示す矢印型の場合は、カーソルの輪郭線を直線に近似することによって、図１２に示す７頂点を取得することが可能である。座標値が既知の四角形（あるいは、４頂点以上の頂点データ）から、３次元の位置向きを示す４×４の座標変換マトリックスを生成する方法に関しては、具体的には、非特許文献２で説明されている方法を利用すれば良い。この方法は、拡張現実の研究分野では一般的な計算方法であり、最小２乗法の近似計算を利用して、画像マーカが示す座標変換マトリックスを決定することができる。ただし、最小２乗法の近似誤差は０になるとは限らないため、近似誤差がある閾値以上のものは、位置向きの推定が失敗したものとして扱えば良い。また、複数のカーソルの候補がある場合、近似誤差が最小のデータを、カーソルデータとして選択しても良い。以上のような計算により、カメラを原点とする座標系における、カーソル画像の位置向きを示す４×４の座標変換マトリックスＭ＿ｃを生成できる。
【００５３】
次に、カーソルの画像ＩＤを元に、カーソル座標記憶部１０５から、ディスプレイ上でのカーソルの座標値Ｐ１（Ｐ１ｘ，Ｐ１ｙ）を取得する。この座標値を、ディスプレイ中心からの相対的な位置に変換することで、カーソルを原点とする座標系を、ディスプレイの中心を原点とする座標系に変換するための４×４の座標変換マトリックスＭ＿ｄを生成できる。この結果、２つのマトリックスＭ＿ｃとＭ＿ｄを掛け合わせることで、カメラ画像の中心を原点とする、ディスプレイの位置向きを示す４×４の座標変換マトリックスＭ＿ｃｄを生成できる。また、ディスプレイの原点（すなわち、Ｍ＿ｃｄの平行移動成分Ｔ（Ｔｘ，Ｔｙ，Ｔｚ））を通り、Ｍ＿ｃｄのＺ軸の方向成分のベクトルＲｚ（Ｒｚ＿ｘ，Ｒｚ＿ｙ，Ｒｚ＿ｚ）を法線とする平面と、カメラ画像の中心の点を示すｘ＝ｙ＝０という直線の交点から、カーソルの指示座標Ｐ２（Ｐ２ｘ，Ｐ２ｙ）は算出できる。
【００５４】
最後に、ディスプレイの位置向きを示す４×４の座標変換マトリックスＭ＿ｃｄの平行移動成分Ｔ（Ｔｘ，Ｔｙ，Ｔｚ）から、ディスプレイと操作端末との距離Ｄを生成する。具体的には、Ｄ＝√（Ｔｘ＊Ｔｘ＋Ｔｙ＊Ｔｙ＋Ｔｚ＊Ｔｚ）でよい。ただし、√（Ａ）とは、Ａの平方根を表す。なお、この距離は、絶対値は意味がないため、距離に比例して大きくなる値であればどのような式を用いてもよい。
【００５５】
以上のような計算により、位置向き推定部１０２で、ディスプレイの位置向きを示す４×４の座標変換マトリックスＭｃｄと、ディスプレイ上の指示座標（操作端末２が示すポインティングの座標）Ｐ２（Ｐ２ｘ，Ｐ２ｙ）、ディスプレイと操作端末の距離Ｄ、を決定することができる。
【００５６】
第１画像生成部１０３は、「表示画面に表示させる表示画像を生成する画像生成手段」、「推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記カメラで撮影した画像とＣＧで生成した画像とを合成して、前記第２の表示画面に表示すべき拡張現実画像を生成する前記画像生成手段」、「推定した前記位置座標から、前記画像撮像装置の相対的位置を表す位置向き情報に基づいて、前記第２の表示画面に表示されている表示画像の一部分を切り出し、切り出された前記一部の表示画像を拡大して生成する前記画像生成手段」または「ウェブブラウザ上に表示する画像を生成する前記画像生成手段」の一例であり、アプリケーション処理部１４に応じて、第１の表示画面１１に表示する画面を描画するものである。例えば、対象となるアプリケーションがウェブブラウザの場合は、図１（ａ）の第１の表示画面１１に表示されているような画面を生成する。このとき、ユーザ入力部２２からのユーザ入力だけでなく、位置向き推定部１０２で生成したディスプレイ上での指示座標Ｐ２等も入力インタフェースとして利用することで、直感的な入力手段でアプリケーションを制御し、この結果生成した画面を、第１の表示画面１１に表示することができる。
【００５７】
画像ＩＤ管理部１０４は、「複数種類の前記カーソル画像と、それぞれの前記カーソル画像が表示される表示画像を特定するための画像ＩＤとを予め対応付けて記憶する画像ＩＤ記憶手段」の一例であり、次のフレームで表示するカーソル画像のＩＤを管理するものである。本発明では、ディスプレイとカメラの同期処理を行なわないため、カメラで認識したカーソル画像が、何フレーム前に表示要求を出したものであるのか判別できない。このため、画像ＩＤは、過去に表示したカーソルの位置座標を一定フレーム数保存するためのものである。ここでの一定フレーム数は、カーソル表示部１０７が、カーソルの表示要求を出してから、第１の表示画面１１上に表示され、さらに、画像撮像部２１で撮影されたカメラ画像をユーザインタフェース装置１０が認識するまでにかかる最大の経過時間によって決定すれば良い。例えば、カーソルの表示要求から、ディスプレイ上に表示されるまでの最大時間が０．１秒とし、ディスプレイに表示された画像を画像撮像部２１が撮影してユーザインタフェース装置１０が画像認識するまでにかかる最大時間を０．１秒とすると、０．２秒間が最大時間となる。このとき、１秒間に最大３０フレームの画面更新が行なわれるとすると、６フレーム前のカーソル座標まで保存しておけばよい。この場合、画像ＩＤは０〜５の６通りの整数で表現することができ、画像ＩＤ管理部１０４では、０、１、２、３、４、５、０、１、２、３、４、５、０、１、・・・のように、周期的にＩＤをインクリメントすることで、次のフレームに表示するカーソルのＩＤを決定する。
【００５８】
カーソル座標記憶部１０５は、「撮像された前記カーソル画像の前記表示画面上の位置座標を算出し、算出された前記位置座標を、特定された前記画像ＩＤと対応付けて記憶するカーソル座標記憶手段」の一例であり、カーソル表示部１０７で表示したカーソルのディスプレイ上での座標値と大きさを、画像ＩＤ管理部１０４で管理しているカーソルの画像ＩＤに対応付けて保存するものである。また、カーソル表示部１０７は「前記推定した位置関係に基づいて、前記画像生成手段によって生成される表示画面上に表示する前記カーソル画像の大きさを変化させる前記カーソル表示手段」の一例である。座標値は、例えば、第１の表示装置１１が１９２０ｘ１０８０の解像度のディスプレイの場合、ディスプレイの左上の画素を（０，０）として、右下を（１９１９，１０７９）とする二次元座標として表現できる。カーソルの大きさとは、表示されるスケーリングを画素数に対応付けて表現したものでよい。具体的には、保存されるカーソル座標は、図１４（ａ）のように、画像ＩＤに対応したデータとして保存すればよい。
【００５９】
カーソルデータ記憶部１０６は、画像ＩＤと対応付けてカーソルの画像データを保存するための記憶手段であり、具体的には、図１０のように、画像ＩＤと対応したカーソル画像のビットマップデータそのものでもよいし、画像ＩＤからビットマップデータを生成するためのパラメータのテーブルでもよい。
【００６０】
カーソル表示部１０７は、「所定の時間周期で繰り返し変化する複数種類の１つのカーソル画像を前記画像生成手段によって前記表示画像上に合成させるカーソル表示手段」で、「新たな画像ＩＤに対応する新たなカーソル画像を前記画像ＩＤ記憶手段から読み出し、前記新たなカーソル画像が、前記位置推定手段によって推定された前記指示座標に表示されるように、前記画像生成手段に前記カーソル画像を合成させる前記カーソル表示手段」または「前記位置推定手段によって推定された前記フレームの前記位置座標に基づいて、新たなカーソル画像が、前記第２の表示手段に表示される新たな表示画像の中央に位置するように新たな表示画像を生成し、前記第２の表示手段に表示させる前記カーソル表示手段」の一例である。また、カーソル表示部１０７は「前記画像ＩＤに応じて、前記カーソル画像に含まれる特定領域の色相成分を、前記画像生成手段によって生成される表示画像の変化に合わせて変化させる前記カーソル表示手段」、「前記画像ＩＤに対応付けてカーソル画像の形状を変化させる前記カーソル表示手段」、「前記画像ＩＤに対応付けてカーソル画像の軌跡部分を変化させる前記カーソル表示手段」または「前記第２の表示画面に拡張現実画像を表示しているか否かに基づいて、前記画像生成手段によって生成される表示画像上に表示するカーソル画像の大きさを変える前記カーソル表示手段」の一例である。このカーソル表示部１０７は、操作端末２が示す指示座標に、カーソルを表示するものである。以下、カーソル表示部１０７の処理を詳細に説明する。
【００６１】
まず、位置向き推定部１０２から、ディスプレイ上の指示座標Ｐ２（Ｐ２ｘ，Ｐ２ｙ）と、操作端末とディスプレイとの距離Ｄを受け取る。次に、指示座標Ｐ２（Ｐ２ｘ，Ｐ２ｙ）から、画面上のカーソル位置Ｃ（Ｃｘ，Ｃｙ）を決定し、距離Ｄから、カーソルの大きさＳｃを決定する。具体的には、カーソル位置は、Ｃ（Ｃｘ，Ｃｙ）＝Ｐ２（Ｐ２ｘ，Ｐ２ｙ）でよい。また、カーソルの大きさＳｃは、あらかじめ決めた定数ｋ１、ｋ２を用いて、Ｓｃ＝ｋ１＊Ｄ＋ｋ２という式によって求めてもよい。この結果、ユーザがディスプレイから離れると、カーソルが大きく表示されることで、ユーザから見たカーソル表示の見易さを向上でき、さらに、カーソルの認識もしやすくなる。さらに、カーソルの大きさＳｃは、アプリケーション処理部１４で実行されるアプリケーションの種類に応じて、Ｓｃを変化させても良い。例えば、ポインティングカーソルを表示する用途のときをＳｃ１とした場合に、拡張現実型ユーザインタフェースを表示する用途のとき２＊Ｓｃ１となるようにスケールの係数を調整しても良い。本発明では、カーソルの大きさを調整することによって、カメラ画像上での認識誤差を画素単位に調整することができ、アプリケーションが必要とする認識精度を提供することが可能である。低い精度しか必要でない場合は、カーソルの大きさを小さくすることで、ディスプレイ上のカーソルの見た目を目立たせなくする効果がある。
【００６２】
次に、このカーソル座標とカーソルの大きさに関して、前フレームで表示したカーソルと値を比較し、前フレームと同じ場合は、カーソルの表示は変化させない。このとき、前フレームとの相違が一定の範囲内の場合は、同じ値と判断し、前フレームの値を用いてもよい。これによって、手ぶれなどによるポインティングの揺れを押さえ、カーソル表示を安定化させることができる。前フレームと異なると判断した場合には、画像ＩＤ管理部１０４から次フレームのカーソル画像の画像ＩＤを取得し、その画像ＩＤに対応するカーソル画像を、カーソルデータ記憶部１０６から受け取る（図１３（ｃ）の場合）。次に、カーソル座標記憶部１０５に対して、画像ＩＤと対応するカーソル座標Ｃ（Ｃｘ，Ｃｙ）の更新を要求する。例えば、カーソル座標記憶部１０５に記憶されている内容が図１４（ａ）の状態において、画像ＩＤが２で、位置向き推定部１０２で推定されたカーソルサイズが１１０、カーソルの座標（２３１，２１０）の場合、カーソル座標記憶部１０５に記憶されているカーソル座標データを、図１４（ｂ）のように更新する。最後に、カーソル表示部１０７は、カーソルサイズが１１０で、（２３１，２１０）にカーソルの画像中心となるように、画像ＩＤが２のカーソル画像のビットマップを画面上に描画する。ただし、ＷｉｎｄｏｗｓＶｉｓｔａ（登録商標）などのウィンドウシステムをユーザインタフェース装置１０が利用している場合は、実際にカーソルを描画するのではなく、カーソルを含むビットマップを画面上に描画してくれるようにシステムに要求するまでを処理する。そのため、どのタイミングでカーソルが画面上に表示されるのか、ユーザインタフェース装置１０は管理していない。なお、ウィンドウシステムを経由せずに、画面に表示するビットマップ（フレームバッファ）上に、直接、カーソルを描画するまで処理してもよい。
【００６３】
第２画像生成部１０８は、第２の表示画面２３で表示する画像（ビットマップデータ）を生成する。具体的には、アプリケーションが、画面の拡大表示アプリケーションの場合は、ディスプレイ上の指示座標Ｐ２を取得し、アプリケーション処理部１４で表示しているアプリ画面の指示座標近辺のビットマップを切り出した画像（例えば、図１（ｂ））を生成する。この画像データは、データ送信部１２、データ受信部２５、画面表示部２６を経由して、最終的には、第２の表示画面２３に表示される。また、アプリケーションが、拡張現実型ユーザインタフェースの場合は、位置向き推定部１０２から、ディスプレイの位置向きを示す４×４の座標変換マトリックスＭ＿ｃｄを受け取り、その座標変換マトリックスの指し示す位置向きの基づき、カメラ画像上に表示されているディスプレイの内容と関連する情報をＣＧで重畳表示することで、図１（ｃ）のような合成画像を生成することができる。この合成画像データは、データ送信部１２、データ受信部２５、画面表示部２６を経由して、最終的には、第２の表示画面２３に表示される。
【００６４】
以上が、ユーザインタフェース装置１０の説明である。
【００６５】
次に、データ送信部１２と、データ受信部１３は、具体的には、ＩＥＥＥ８０１．１１ｎなどの無線の通信手段やＬＡＮケーブルなどの有線の通信手段の処理部でよい。本発明は、任意の通信手段を適用することが可能である。
【００６６】
アプリケーション処理部１４は、情報表示装置１で動作するアプリケーションを処理するものであり、具体的なアプリケーションとしては、ウェブブラウザや、３ＤＣＡＤアプリケーションなどでよい。アプリケーションが要求した描画処理は、第２画像生成部１０８に送られて、処理される。なお、本発明は、画面上に情報を表示する任意のアプリケーションに適用することが可能である。
【００６７】
（処理の流れの説明）
以上のように構成されたユーザインタフェース装置１０について、フローチャートを使用して、処理の流れを説明する。
【００６８】
図１５のフローチャートは、操作端末２の画像撮像部２１で取得した画像情報から、ディスプレイの位置向きを推定し、操作端末２が指し示す位置にカーソルを表示するまでの処理である。図１５の処理は、ユーザが操作端末２を操作中に一定時間間隔で呼ばれる（実行される）処理である。この一定時間は、３０分の１秒や６０分の１秒でよい。また、この一定時間とは、正確に定められた時間である必要はなく、連続的に図１５の処理を繰り返して実行してもよい。なお、ユーザが操作端末２を操作中であるかどうかは、ユーザがボタンを押して操作開始を指示したことによって判定しても良いし、加速度センサやジャイロセンサを利用し、ユーザが端末を持っているかどうかによって判定しても良い。
【００６９】
まず、操作端末２の画像撮像部２１で、カラー画像（例えば、図８（ａ））を撮影し、データ送信部２４とデータ受信部１３を経由して、カーソル認識部１０１に送る（ステップＳ１０１）。カーソル認識部１０１では、予め定めた色値（色相の値）を閾値として、ラベリング処理（ステップＳ１０２）を行い、カーソル領域にラベルを割り当てる。ラベリング結果のデータは、図９（ａ）のようになり、この結果、カーソル認識部１０１は、図９（ｂ）のような、カーソルの候補データを生成する。このとき、カーソルの候補がない場合や、正しく４頂点データや画像ＩＤが認識されない場合は、カーソルが認識できなかった場合として処理は終了となる（ステップＳ１０３）。次に、カーソルの候補が１つ以上ある場合は、それぞれの候補に対して、位置向き推定部１０２で、ディスプレイの位置向きを示す座標変換マトリックスＭｃｄと、ディスプレイ上の指示座標Ｐ２（Ｐ２ｘ，Ｐ２ｙ）、操作端末とディスプレイの距離Ｄを生成する（それぞれ、ステップＳ１０４、ステップＳ１０５、ステップ１０６）。このとき、推定時に利用する最小２乗法の認識誤差によって、認識誤差がある閾値以上のものは、正しく推定できなかったものとして処理は終了となる。次に、複数のカーソルが認識された場合は、認識誤差が最も小さなカーソル候補を選択すればよい。
【００７０】
次に、カーソル表示部１０７は、位置向き推定部１０２から、ディスプレイ上の指示座標Ｐ２（Ｐ２ｘ、Ｐ２ｙ）と、操作端末とディスプレイとの距離Ｄを受け取り、次のフレームのカーソルの座標Ｃ（Ｃｘ，Ｃｙ）とカーソルの大きさＳｃを算出する（ステップＳ１０７）。
【００７１】
この結果、前フレームから、カーソルの位置座標または大きさが変化するかどうかを判定し（ステップＳ１０８）、変化している場合にのみ、画像ＩＤ管理部１０４に画像ＩＤの更新を要求して（ステップＳ１０９）、次のフレームの画像ＩＤを受け取り、その画像ＩＤに対応させて、カーソル座標記憶部１０５のデータ更新（ステップＳ１１０）と、カーソル表示部１０７でのカーソル表示処理を行なう（ステップＳ１１１）。ここで、カーソル表示部１０７は、「前記画像生成手段によって生成される表示画面上で、表示するカーソル画像の位置座標を移動させた場合にのみ、カーソル画像及び画像ＩＤを変更する前記カーソル表示手段」の一例である。
【００７２】
さらに、以上の処理によって決定したカーソルの位置・向きに応じて、第１画像生成部１０３では、アプリケーションの内容に応じた画面を生成する。例えば、カーソルがボタン上に移動することで、ボタンの色を変化させるといった処理や、特定のボタン上にカーソルが移動した状態で、ユーザ入力部２２から選択操作のイベントがアプリケーション処理部１４に伝わると、別途ウィンドウを起動して、アプリケーションの表示が更新されるなどの処理を行なう。また、図１（ｃ）のような拡張現実型ユーザインタフェース表示の場合は、ステップＳ１０４で生成された座標変換マトリックスに基づいて、カメラ画像上にＣＧ画像を合成し、その結果は、第２の表示画面２３上に表示される。ただし、これらの処理は、図１５の処理の流れとは独立して動作するものでもよい。
【００７３】
以上が、図１５に示す、ユーザインタフェース装置の処理の流れに関する説明である。
【００７４】
以上のように、第２の表示画面２３の中央に表示されるように制御されるカーソル画像の画像ＩＤが特定されることによって、そのカーソル画像が、何フレーム前に第１の表示画面１１に表示された位置から移動されたかがわかるので、操作端末２の動きに正確に追従した位置に新たなカーソル画像を表示することができる。
【００７５】
なお、図１（ｂ）は、実行対象のアプリケーションが拡大表示アプリケーションの場合に、第２の表示画面２３に表示されるビットマップイメージの一例を示す図である。図１（ｂ）に示すアプリケーション画面は、操作端末２で撮影されたカメラ画像ではなく、第１の表示画面１１に表示されているビットマップの一部分を切り出して拡大表示したものである。この拡大表示アプリケーションを使うことにより、ユーザは、操作端末２で指し示した部分の画面の内容を拡大して表示することができる。このような拡大表示アプリケーションを実行する場合の処理手順は、図４のフローチャートに対応させると次のようになる。すなわち、ステップＳ３０６で、背景画像とＭＲ画像とを合成する代わりに、情報表示装置１の第２画像生成部は背景画像の拡大画像を生成し、ステップＳ３０７では生成した拡大画像を操作端末２へ送信する。ステップＳ３１０で、操作端末２のデータ受信部２５は、情報表示装置１のデータ送信部１２から表示用の拡大画像を受信し、受信した拡大画像を第２の表示画面２３に表示する。
【００７６】
（実施の形態２）
図１６は、本発明の実施の形態２の情報表示装置１６０１及び操作端末１６０２の要部の構成の一例を示すブロック図である。なお、外観図は、図１と同じであるが、本実施の形態２では操作端末１６０２が、携帯電話端末であり、情報表示装置１６０１とは独立した情報機器となる。図１６において、図１および図５と同じ構成要素については同じ符号を用い、説明を省略する。
【００７７】
ここで、図１６に示した実施の形態２の構成と、図５に示した実施の形態１の構成とで大きく異なる点は、ユーザインタフェース装置１０が操作端末１６０２内にあるか、情報表示装置１内にあるか、という点である。具体的には、実施の形態２では、携帯電話端末の外部ディスプレイを、第１の表示画面１１として利用してもよい。この場合、第１の表示画面１１に表示する内容は、携帯電話端末内のユーザインタフェース装置１０の第１画像生成部１０３によって生成される。
【００７８】
情報表示装置１６０１は、第１の表示画面１１と、データ受信部１３、表示モード管理部１５および画面表示部２６を備える。実施の形態１と異なり、データ受信部１３を経由して送られてきた画像データを、画面表示部２６が受け取り、第１の表示画面１１に画像を表示する。このとき、表示モード管理部１５は、画面の表示モードを管理し、外部映像入力が操作端末１６０２からの画像情報を受け付けるモードの場合のみ、データ受信部１３で受け取ったデータを画面表示部２６に送るように制御する。具体的には、このモードは、ユーザからの指示によって変更しても良いし、データ受信部１３を経由して、操作端末１６０２からのモード切り替え要求を利用して変更しても良い。
【００７９】
次に、操作端末１６０２は、ユーザインタフェース装置１０、アプリケーション処理部１４、画像撮像部２１、ユーザ入力部２２、第２の表示画面２３、データ送信部２４を備える。従って、実施の形態１と異なり、操作端末１６０２によって入力または撮像されたユーザ入力データやカラー画像データは、操作端末１６０２の中で、直接、ユーザインタフェース装置１０に送られる。
【００８０】
その他の構成は、実施の形態１と同様であるので、説明を省略する。
【００８１】
実施の形態２では、情報表示装置１６０１と操作端末１６０２とが、全く異なる機器であり、このような場合、情報表示装置１６０１の第１の表示画面１１と、操作端末１６０２の画像撮像部２１とが、タイミングの同期を取って動作することは大変に難しい。本発明では、このような、ディスプレイの表示やカメラの撮影の同期が難しい場合においても、正確な位置向きを推定することが可能である。
【００８２】
（実施の形態３）
図１７は、本発明の実施の形態３の情報表示装置１７０１及び操作端末１７０２の構成の一例を示すブロック図である。本実施の形態３の情報表示装置１７０１と操作端末１７０２とは、いずれか一方の装置にユーザインタフェース装置が含まれるのではなく、それぞれの表示画面で表示すべき画像をそれぞれの画像生成部で生成する点が、上記実施の形態１、２と異なる点である。
【００８３】
具体的には、操作端末１７０２では、図５に示した操作端末２と比較して、画面表示部２６が第２画像生成部１０８に変更され、新たに、カーソル認識部１０１が追加されている。すなわち、実施の形態３の操作端末１７０２では、画面表示部２６のように、ユーザインタフェース装置１０内の第２画像生成部から受信した画像データをそのまま第２の表示画面２３に表示するのではなくて、第２画像生成部１０８が、画像撮像部２１で撮像した撮像画像と情報表示装置１７０１から受信したカーソル画像、画像ＩＤ、操作端末１７０２の位置及び向きなどから第２の表示画面２３に表示する表示画像を生成する。また、操作端末１７０２では、新たにカーソル認識部１０１を備え、カーソル認識部１０１は、画像撮像部２１で撮像したカーソル画像から、画像認識によってカーソル画像の画像ＩＤを特定する機能を備える。カーソル認識部１０１によって認識された認識結果は、操作端末１７０２のデータ送信部２４及び情報表示装置１７０１のデータ受信部１３を経由して、アプリケーション処理部１４及び位置向き推定部１０２に与えられる。
【００８４】
これに対応して、情報表示装置１７０１では、図５に示したユーザインタフェース装置１０からカーソル認識部１０１と第２画像生成部１０８とがなくなっている。このような構成により、情報表示装置１におけるユーザインタフェース装置１０の処理負荷が軽減されるという効果がある。その分、操作端末１７０２は、単なるリモコンではなく、カーソル認識及び第２の表示画面に表示する表示画像を生成する機能を備えた携帯電話機などである必要がある。
【００８５】
なお、ブロック図（図５、１６、１７など）の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。例えばメモリ以外の機能ブロックが１チップ化されていても良い。
【００８６】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【００８７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【００８８】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【００８９】
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ１チップ化せずに別構成としても良い。
【産業上の利用可能性】
【００９０】
本発明にかかるユーザインタフェース装置は、デジタルテレビ装置やパーソナルコンピュータなどのディスプレイに表示されたコンテンツや情報を操作・閲覧するユーザインタフェース等として有用である。また、携帯電話端末の外部ディスプレイ出力時のユーザインタフェースや、据え置き型ゲーム機と携帯型ゲームを連携させて遊ぶゲームのユーザインタフェース等にも応用できる。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施の形態１における操作端末及び情報表示装置の外観図である。
【図２】第１の表示画面１１に表示されたカーソル画像を操作端末２で撮影し、撮影されたカーソル画像を画像解析することにより、次のフレームで第１の表示画面１１上に表示するカーソル画像の表示位置を決定する仕組みを説明する図である。
【図３】図２（ａ）に示したカーソル画像の表示を行う場合の操作端末２及び情報表示装置１の動作を示すフローチャートである。
【図４】図１（ｃ）に示した拡張現実型ユーザインタフェースのアプリケーションを実行する場合の操作端末２及び情報表示装置１の動作を示すフローチャートである。
【図５】本発明の実施の形態１における操作端末及び情報表示装置の要部の構成の一例を示すブロック図である。
【図６】本発明の実施の形態１におけるＲＧＢ形式の画像をＨＳＶ形式の画像に変換するための式を示した図である。
【図７】本発明の実施の形態１におけるカーソル画像の一例と、その色構成を説明するための概念図である。
【図８】本発明の実施の形態１におけるカラー画像データとラベリング処理を説明するための概念図である。
【図９】本発明の実施の形態１におけるラベリング結果データと、カーソルの候補データを説明するための概念図である。
【図１０】本発明の実施の形態１における画像ＩＤとカーソル画像の対応関係を説明するための概念図である。
【図１１】本発明の実施の形態１における矢印型カーソル画像の一例を説明するための概念図である。
【図１２】本発明の実施の形態１における矢印型カーソル画像から取得できる特徴点を説明するための概念図である。
【図１３】本発明の実施の形態１におけるカーソル画像の位置変化と画像ＩＤとの関係を説明するための概念図である。
【図１４】本発明の実施の形態１におけるカーソル座標記憶部に記憶されるデータ処理の流れを説明するための概念図である。
【図１５】本発明の実施の形態１における処理の流れを説明するためのフローチャートである。
【図１６】本発明の実施の形態２における操作端末及び情報表示装置の要部の構成の一例を示すブロック図である。
【図１７】本発明の実施の形態３における操作端末及び情報表示装置の要部の構成の一例を示すブロック図である。
【符号の説明】
【００９２】
１、１６０１、１７０１    情報表示装置
２、１６０２、１７０２    操作端末
１０  ユーザインタフェース装置
１１  第１の表示画面
１２  データ送信部
１３  データ受信部
１４  アプリケーション処理部
１５  表示モード管理部
２１  画像撮像部
２２  ユーザ入力部
２３  第２の表示画面
２４  データ送信部
２５  データ受信部
２６  画面表示部
１０１  カーソル認識部
１０２  位置向き推定部
１０３  画像生成部
１０４  画像ＩＤ管理部
１０５  カーソル座標記憶部
１０６  カーソルデータ記憶部
１０７  カーソル表示部
１０８  第２画像生成部
【図１】
2009205556.tif 000003
【図２】
2009205556.tif 000004
【図３】
2009205556.tif 000005
【図４】
2009205556.tif 000006
【図５】
2009205556.tif 000007
【図６】
2009205556.tif 000008
【図７】
2009205556.tif 000009
【図８】
2009205556.tif 000010
【図９】
2009205556.tif 000011
【図１０】
2009205556.tif 000012
【図１１】
2009205556.tif 000013
【図１２】
2009205556.tif 000014
【図１３】
2009205556.tif 000015
【図１４】
2009205556.tif 000016
【図１５】
2009205556.tif 000017
【図１６】
2009205556.tif 000018
【図１７】
2009205556.tif 000019