以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
図1~図33を用いて、本発明の実施の形態1の表示装置について説明する。実施の形態1の表示装置は、特有の遠隔操作制御機能を有する。この機能では、画面に対し、ユーザの近くに仮想面空間が設定される。仮想面空間に対するユーザの手指の進入度合いが検出される。その検出に応じて、仮想面に対するタッチ等の所定の操作が判定される。その所定の操作に対して操作パネル等の操作入力が対応付けられるように制御される。
[表示システム(1)]
図1は、実施の形態1の表示装置を含む、表示システムの構成を示す。図1では、ユーザが表示装置1の画面10を見ている状態を、斜視で概略的に示している。なお、説明上の方向及び座標系として(X,Y,Z)を有し、X方向は第1方向、Y方向は第2方向、Z方向は第3方向である。X方向及びY方向は、画面10を構成する直交する2つの方向であり、X方向は画面内水平方向、Y方向は画面内垂直方向である。Z方向は、画面10のX方向及びY方向に対して垂直な方向である。ユーザは、表示装置1の画面10の映像を視聴する視聴者であり、画面10に対する遠隔操作を行う操作者である。図1では、ユーザの視聴時の姿勢として画面10に正対した標準的な姿勢の場合であり、視聴方向がZ方向に沿っている場合を示す。画面10は、鉛直方向に立っている場合を示す。
ユーザの身体の一部に対応付けられるユーザ基準位置を表す点を点P0で示す。ユーザ基準位置の点P0は、実施の形態1では、頭や顔のうちの一点、例えば両眼の中間点が、代表として設定されている。点P0は、ユーザの視点に対応している。2つのカメラの画像から顔等が検出できる場合、点P0を設定可能である。なお、ユーザ基準位置は、本例に限らず設定可能であり、例えば頭の領域の一点としてもよいし、身体領域のうちの重心点等としてもよい。
ユーザによる遠隔操作の際の手指の位置を表す点を点F0で示す。点F0は、例えばZ方向で画面10に一番近い位置になる手指先端点であり、仮想面空間100に対して一番奥に進入した指先の点である。図1では、右手の一本指の先端を表す点F0が仮想面空間100内に進入して仮想面を操作している様子を示す。
表示装置1は、例えばテレビ受像機であり、放送波を受信して放送番組等を再生表示する機能や、デジタル入力データに基づいて映像を再生表示する機能等を有する。表示装置1は、遠隔操作制御機能を実現する、従来技術に対して改良されたハードウェア及びソフトウェア等が実装されている。画面10は、矩形の平面を有し、中央の点を点Q0とし、4つの角点を点Q1~Q4とする。右辺の中間点を点Q5、左辺の中間点を点Q6、上辺の中間点を点Q7、下辺の中間点を点Q8とする。
表示装置1は、2つのカメラ(即ちステレオカメラ)であるカメラ31及びカメラ32を備えている。2つのカメラは、画面10(点Q7と点Q8を結ぶ軸)に対して左右の位置に配置されている。カメラ31は、右側カメラであり、右辺の中間の点Q5の近くに配置されている。カメラ32は、左側カメラであり、左辺の中間の点Q6の近くに配置されている。2つのカメラは、画面10の前方のユーザを含む所定の範囲を撮影する方向で配置されている。カメラ31,32は、表示装置1の筐体の左右の両脇に支持調整手段を介して接続されている。カメラ31,32の位置や撮影方向は、ユーザによって所定範囲内で微調整可能となっている。カメラ基準位置を表す点は、2つのカメラの中間点であり、本例では点Q0に相当する。カメラ31,32は、表示装置1と無線通信インタフェースで接続されているが、これに限らず、有線通信インタフェースで接続されてもよい。
カメラ31,32は、撮影映像の画像信号を出力する。カメラ画像である動画や静止画内には、対象としてユーザの身体における手指や顔が含まれる。表示装置1は、2つのカメラの撮影映像を用いて、両眼視差に基づいた距離計測によって、対象物体との距離及び対象物体の位置を検出する機能を有する。両眼視差に基づいた距離計測は、公知の原理を適用できる。対象物体との距離は、カメラ基準位置(点Q0)と手指位置(点F0)との距離や、カメラ基準位置(点Q0)とユーザ基準位置(点P0)との距離等である。点F0や点P0は、時点毎に3次元空間の座標系(X,Y,Z)の位置座標として得られる。
ユーザが画面10を見る場合、画面10の4つの点Q1~Q4を底面とし、ユーザ基準位置の点P0を頂点とした、概略的に四角錘形状の空間を有する。点P0と点Q0とを結ぶ直線を、基準軸J0として示す。基準軸J0の方向は、ユーザが画面10の点Q0を見る場合の視聴方向と対応している。
表示装置1は、ユーザ基準位置の点P0の検出に基づいて、空間内に、点P0から前方、即ち画面10に向かうZ方向で、手指が届く範囲内で、所定の第1方向及び長さの位置に、仮想面空間100を設定する。例えば、点P0から基準軸J0に対して右斜め下の角度を持つ基準軸K0上の所定の長さの位置に、仮想面空間100が設定される。本例では、ユーザが右利きの場合に、右手の付近の位置に、仮想面空間100が配置されている。点C0は、仮想面空間100を設定するための基準位置を表す中心点を示す。仮想面空間100は、物理的実体が無く、表示装置1がプロセッサ等による計算によって3次元空間の位置座標として設定する空間である。実施の形態1では、仮想面空間100は、2つの仮想面によって構成される。ユーザに近い手前側にある第1仮想面101と、奥側にある第2仮想面102とを有する。第1仮想面101と第2仮想面102との間には所定の厚さを有する。第1仮想面101と第2仮想面102とで挟まれる、概略直方体または平板状の空間部分が、仮想面空間100である。
図1の設定状態では、ユーザの視点(点P0)から右斜め下に仮想面空間100が配置されている。ユーザが視点から画面10を見る視界において、画面10に対し仮想面空間100が重なっていない。通常の視聴の場合、ユーザの視点と画面10との間には、視聴を妨げる物体は無く、手指もかざされていない。
仮想面である第1仮想面101及び第2仮想面102は、画面10に対するユーザの遠隔操作(仮想面操作、所定の操作、等と記載する場合がある)を受け付ける仮想的な面であって、特に平行な平面である。仮想面は、画面10と一対一で関係付けられるように管理されている。仮想面空間100内の位置と画面10内の位置とが対応付けられている(後述の図3や図8)。仮想面における手指位置の点F0に関係付けられた画面10内の位置の例を点E0で示す。例えば、ユーザが仮想面空間100の右下付近を指し示すように所定の操作をした場合、それに対応して画面10内の右下付近の位置が指し示されるように操作入力が行われる。
仮想面空間100の点C0の設定の仕方としては例えば以下である。仮想面空間100の設定情報に基づいて、空間内で点P0から所定の方向及び距離を持つベクトルの先端の位置に点C0が設定される。これは、言い換えれば、以下としてもよい。まず、点P0から基準軸J0上で点Q0の方向へ所定長の位置に仮の点を設ける。その仮の点から鉛直方向下方へ所定長の位置に次の仮の点を設ける。その仮の点から水平方向で所定長の位置に点C0が設けられる。
表示装置1は、仮想面空間100に対する手指の点F0の位置関係や進入度合い等の状態から、所定の操作を検出する。表示装置1は、その所定の操作を、画面10のGUIあるいは表示装置1本体に対する遠隔操作入力として対応付ける。仮想面空間100における中心の点C0を通る垂直な軸を基準軸K0として示す。表示装置1は、基準軸K0の方向における第1仮想面101や第2仮想面102に対する手指の点F0との距離や進入度合い(深度とも記載する)等を判定する。
表示装置1は、例えば、手指の点F0が第1仮想面101に到達し第1仮想面101以降奥に進入した場合、自動的に、所定の操作を受け付ける状態へ移行させ、画面10にフィードバック用のポインタ画像としてカーソル50を表示する。このカーソル50は、仮想面空間100でのユーザの手指の存在及び位置等の操作状態を、ユーザにフィードバックするための情報である。カーソル50は、仮想面空間100での手指位置の点F0に対応付けられた画面10内の位置の点E0に表示される。フィードバック表示により、ユーザは、仮想面空間100の操作状態を認識しやすくなる。
更に、表示装置1は、手指位置の点F0が第2仮想面102に到達し第2仮想面102以降奥に進入した場合、所定の操作を判定、検出する。所定の操作は、例えば第2仮想面102に対するタッチ、タップ、スワイプ、ピンチ等の操作である。これらの所定の操作は、従来の物理的なタッチパネルに対するタッチ等の操作に準じた操作であるが、何も無い奥行き方向の進入の動きを含む点では異なる操作である。表示装置1は、所定の操作を検出し、検出した手指の位置の点F0の位置座標(または点F0に対応付けられる点E0の位置座標)と、所定の操作を表す操作情報とを含む、操作入力情報を生成する。表示装置1は、その操作入力情報を用いて、画面10のGUIの表示制御を含む表示装置1の動作を制御する。ユーザは、画面10に表示されるコンテンツ、操作パネル、カーソル50等を見ながら、仮想面空間100で手指を動かし、例えば操作パネルの操作ボタンに対するタッチ等の所定の操作を行う。表示装置1は、その所定の操作を検出した場合、その操作ボタンのタッチ操作に対応させて規定されている所定の対応処理(例えば選局)を行う。
表示装置1は、仮想面空間100に対する手指の位置や進入度合い等が検出できればよく、この処理は比較的軽い負荷の処理で実現できる。表示装置1は、従来技術のようにユーザによる複数の各々のジェスチャを高速及び高精度で検出する必要は無い。ユーザは、複数のジェスチャを学習する必要は無く、従来のマウスのクリックやタッチパネルのタッチ等の操作やその感覚に類似した所定の操作を覚えるだけでよい。
[表示システム(2)]
図2は、図1の表示システムの表示装置1の機能ブロック構成を示す。表示装置1は、制御部11、記憶部12、コンテンツ表示部13、GUI表示部14、表示駆動回路15、画面10、遠隔操作制御部20を有する。遠隔操作制御部20は、カメラ31,32を含む撮影部30、手指位置検出部21、ユーザ基準位置検出部22、仮想面設定部23、操作判定部24、操作入力情報出力部25、仮想面調整部26、個人認識部27、記憶部28を有する。
制御部11は、表示装置1の全体を制御する。制御部11は、遠隔操作がされた場合には、その操作入力情報210に応じて表示装置1の動作を制御する。記憶部12は、制御用の情報や、コンテンツ等のデータを記憶する。コンテンツ表示部13は、コンテンツデータに基づいて画面10にコンテンツの映像を表示する。コンテンツは、放送番組、DVD映像、資料ファイル等の各種が可能である。表示駆動回路15は、コンテンツ表示部13やGUI表示部14からの入力映像データに基づいて、映像信号を生成して、画面10に映像を表示する。
GUI表示部14は、表示装置1のOSまたはアプリ等において、画面10のGUIの画像表示を制御する処理や、GUIのオブジェクトに対する操作に応じた規定の対応処理等を行う部分である。GUI表示部14は、特に、画面10に後述の操作パネルや、遠隔操作制御機能に関するメニュー画面等を表示する機能も有する。GUIは、コンテンツ上の重畳表示でもよい。GUI表示部14は、操作入力情報210に基づいて、GUIのオブジェクトに対する操作入力に応じた規定の対応処理を行う。これにより、GUIの表示状態が制御される。また、GUI表示部14は、操作入力情報210を用いて、画面10のカーソル50等の表示状態を制御する。
ユーザは、図1の仮想面空間100に対して操作を行う。その操作は、画面10のGUIに対する遠隔操作である。その操作は、遠隔操作制御部20によって検出され、画面10のGUIに対する操作入力として変換され、操作入力情報210として生成される。撮影部30の2つのカメラ31,32は、それぞれ、ユーザの顔や手指を含む範囲を撮影し、撮影映像200の画像信号を出力する。その撮影映像200は、手指位置検出部21やユーザ基準位置検出部22に入力される。遠隔操作制御部20は、プロセッサ等による計算処理、及び撮影部30の撮影映像200を用いて、空間内におけるユーザの手指の動き等を検出する。
手指位置検出部21は、撮影映像200の画像に基づいて、画像解析処理や、両眼視差に基づいた距離測定の処理によって、手指の点F0の位置座標等を検出する。手指位置検出部21は、検出した手指位置201を表す情報を出力する。両眼視差に基づいた距離測定の処理は、カメラ31,32のカメラ基準位置と手指位置との距離等を測定する処理である(後述の図19)。
ユーザ基準位置検出部22は、撮影映像200の画像に基づいて、ユーザ基準位置を表す点P0の位置座標等を検出する。ユーザ基準位置検出部22は、検出したユーザ基準位置202を表す情報を出力する。
仮想面設定部23は、カメラ基準位置(点Q0)、及びユーザ基準位置202(点P0)を表す情報に基づいて、ユーザの身体の近くの所定の位置に、仮想面空間100を設定する処理を行う。仮想面設定部23は、ユーザ個人毎に設定した仮想面空間100を表す設定情報203を出力し、記憶部28内にも記憶させる。記憶部28は、不揮発性メモリ等で構成され、電源オフ状態でも設定情報203を保持する。
操作判定部24は、手指位置201を表す情報、及び設定情報203に基づいて、仮想面空間100に対する手指の進入度合い等から、所定の操作を判定、検出する。操作判定部24は、例えば第1仮想面101以降奥へ手指が進入したかどうかや、第2仮想面102以降奥へ手指が進入したかどうか等を判定する。操作判定部24は、進入度合い等に基づいて、仮想面空間100に対するタッチ、タップ、スワイプ、ピンチ等の所定の操作を判定する。操作判定部24は、手指の点F0の位置座標や、所定の操作を表す操作情報204を出力する。所定の操作は、GUI表示部14では、GUIのオブジェクトに対する操作入力として解釈される。
操作入力情報出力部25は、手指位置座標や操作情報204に基づいて、所定の形式の操作入力情報210を生成し、操作入力情報210をGUI表示部14等に出力する。操作入力情報210は、時点毎の手指位置の点F0の位置座標情報を含む。操作入力情報210は、所定の操作が検出されている場合、その所定の操作を表す操作情報を含む。操作情報は、タッチ、タップ、スワイプ、ピンチ等の所定の操作の種別や有無等を表す情報である。また、操作入力情報210は、手指位置に応じて、カーソル50等の表示状態を更新する必要がある場合、そのための表示制御情報を含む。表示制御情報は、画面10でのカーソル50等の表示状態を制御するための情報であり、カーソル50の表示有無や、サイズ、色、形状タイプ等の指定の情報を含む。操作入力情報出力部25は、仮想面空間100での手指位置に応じて、画面10内のカーソル50の位置等を変化させるように制御する。
なお、実施の形態1では、画面10の操作パネルに対する遠隔操作を可能とする。操作入力情報210には、その操作パネルに関する表示制御情報を含んでもよい。また、操作入力情報210は、GUI表示部14を制御するための情報に限らず可能である。操作入力情報210は、表示装置1のOS、アプリ、コンテンツ等に対する動作指示のコマンドや制御情報を含んでもよい。例えば、操作入力情報出力部25から制御部11へ操作入力情報210を与え、制御部11が操作入力情報210に基づいて表示装置1の動作の制御処理を行ってもよい。
また、遠隔操作制御部20、例えば操作入力情報出力部25は、仮想面空間100での手指の点F0の位置座標と、画面10内の点E0の位置座標との対応関係の管理や変換処理を自動的に行う。その場合、操作入力情報210には、画面10内の点E0の位置座標情報等を含む。この管理や変換は、GUI表示部14等で行うようにしてもよい。
仮想面調整部26は、操作情報204に基づいて、後述のモードに関する判定や切り替えを行い、ユーザ個人の仮想面空間100の調整のための操作(調整操作と記載する場合がある)を判定する。そして、仮想面調整部26は、その調整操作に応じて、ユーザ個人の仮想面空間100の位置、サイズ、傾き等をリアルタイムで変更する処理を行う。仮想面調整部26は、調整したユーザ個人の仮想面空間100を表す調整情報206を出力する。仮想面調整部26は、調整に伴い、記憶部28のユーザ個人の設定情報203を更新する。なお、調整操作等の判定処理を操作判定部24で行うように併合した形態でもよい。仮想面設定部23は、その調整情報206に基づいて、仮想面空間100の設定状態を更新する。
表示装置1は、予めユーザ毎の仮想面空間100の位置、サイズ、傾き等の初期状態を設定する機能も有する。表示装置1は、ユーザ設定画面を提供し、仮想面空間100の利用方法等のガイドを行い、最初はデフォルトの仮想面空間100を提示し、ユーザによって位置、サイズ、傾き等を調整してもらう。その後、随時、ユーザは、調整機能を用いて、自分用の仮想面空間100を使いやすい所望の状態に調整できる。
個人認識部27は、撮影映像200の入力に基づいて、ユーザ個人を認識する処理を行う。なお、ユーザ基準位置検出部22で顔等を検出している場合には、個人認識部27は、ユーザ基準位置202を表す情報を用いてもよい。個人認識部27は、例えば公知の画像処理に基づいて、画像内の顔部分を検出し、顔特徴情報を抽出し、予め記憶部28に登録されているユーザ個人の顔画像データと比較照合して、ユーザ個人を判定する。個人認識部27は、個人認識の認識結果情報207を出力する。仮想面設定部23は、認識結果情報207に基づいて、そのユーザ個人用に設定されている仮想面の設定情報203を読み出して出力する。なお、ユーザ個人の設定情報203が未登録の場合には、記憶部28からデフォルトの設定情報が読み出されて使用される。個人認識部27は、顔画像から個人を認識する方式以外も適用可能である。例えば、ユーザが入力するユーザID等を用いる方式や、各種の生体認証方式等を適用してもよい。
ユーザ個人の顔画像データの登録の仕方としては以下である。ユーザが、表示装置1の画面10におけるユーザ設定画面から「顔画像登録」項目を選択する。表示装置1は、その選択に応じて、顔画像登録モードに入り、ユーザに顔画像登録の旨のメッセージを表示し、カメラ31,32に顔を向けた状態としてもらう。表示装置1は、その状態で顔を撮影し、その顔画像データ等を、ユーザ個人の情報として登録し、記憶部28に格納する。なお、このような登録を省略し、通常利用時のカメラ画像を利用してもよい。
変形例として、操作判定部24等をGUI表示部14等に統合した形態としてもよい。その場合、遠隔操作制御部20は、少なくとも時点毎の手指の点F0の位置座標を含む操作入力情報210を出力する。
[表示システム(3)]
実施の形態1の表示システムでは、主に手指位置の点F0の検出処理のみで、所定の操作である仮想面操作を実現する。実施の形態1では、最初、顔等のユーザ基準位置の点P0が検出され、その点P0に対して相対的な位置に仮想面空間100が自動的に設定される(後述の図7の相対方式)。その後、その仮想面空間100に対する手指位置の点F0が検出され、所定の操作であるタッチ操作等が判定、検出される。
実施の形態1では、通常の仮想面操作に加え、仮想面空間100の調整のための操作である調整操作を設け、両者の操作を区別して判定、検出する。調整操作の検出に応じて、リアルタイムで、仮想面の位置、サイズ、傾き等が変更される。
実施の形態1では、ユーザに対し、通常の仮想面操作を利用可能とする通常モードとは別に、仮想面の調整を利用可能とする調整モードを明示的に設ける。通常モードと調整モードとが時分割で切り替えられる。通常モードでは、通常の所定の操作が受け付けられ、調整操作は受け付けられない。調整モードでは、調整操作が受け付けられる。表示装置1は、例えば所定のモード切り替え操作(調整モード切り替え操作)の検出に応じて、通常モードから調整モードに切り替える。表示装置1は、所定のモード切り替え操作(通常モード切り替え操作)の検出に応じて、調整モードから通常モードに切り替える。調整モード中、ユーザの調整操作の際には、画面10にフィードバックとして、調整操作状態を表す画像情報等が表示される。
実施の形態1では、通常の所定の操作として、一本指の操作等が可能であり、調整操作として、同様に一本指の操作等が可能である。
[視界における画面と仮想面との関係]
図3は、ユーザの視界における画面10と仮想面空間100の特に第2仮想面102との関係を概略的に示す。画面10の横方向(X方向)のサイズをH0、その半分のサイズをH1、縦方向(Y方向)のサイズをV0、その半分のサイズをV1で示す。視界において、画面10の中心の点Q0に対して外れた位置に仮想面空間100の中心の点C0がある。第1仮想面101の中心点を点C1、第2仮想面102の中心点を点C2とする。図3の例では、画面10に、図示省略するコンテンツ映像や、GUIの操作メニュー300等が表示されている。操作メニュー300には例えば選択肢ボタン301,302が含まれている。本例では、ユーザが第2仮想面102の左下領域の点F0をタッチ操作する様子を示す。点F0の位置座標を(Xf,Yf,Zf)で示す。そのタッチ操作に対応して、画面10内の左下領域にある選択肢ボタン301上の点E0に対するタッチ操作が行われている。点E0の位置座標を(xe,ye)で示す。点F0に対応する点E0の位置には、カーソル50が表示されている。
図3の設定状態では、仮想面空間100は、画面10の点Q0に対して右下付近の位置に配置されている。ユーザの視界の画面10の領域に対し、仮想面空間100の領域が重なっていない。仮想面空間100は、本例のように、ユーザの視界の画面10の領域に対して重ならないように配置できる。これに限らず、仮想面空間100は、ユーザの視界の画面10の領域に対して一部が重なるように配置することもできる。本例のように重ならない配置の場合、ユーザの視点と画面10との間に手指が介在しないので、ユーザは画面10の表示状態が見やすい利点がある。また、本例では、仮想面空間100がユーザの右手の付近に配置されているので、ユーザは、右手の手指をあまり上に上げずに操作可能である利点もある。ユーザは、設定や調整によって、自分が操作しやすい位置等に仮想面を配置できる。
[空間を横から見た状態]
図4は、図1の空間を横から見たYZ平面での状態を示す。カメラ基準位置の点Q0の位置座標を(X0,Y0,Z0)で示す。ユーザ基準位置の点P0の位置座標を(Xp,Yp,Zp)で示す。手指の点F0の位置座標を(Xf,Yf,Zf)で示す。仮想面空間100の中心の点C0の位置座標を(Xc0,Yc0,Zc0)とする。第1仮想面101の中心の点C1の位置座標を(Xc1,Yc1,Zc1)とする。第2仮想面102の中心の点C2の位置座標を(Xc2,Yc2,Zc2)とする。点F0に対応する画面10内の点E0の位置座標を(xe,ye)で示す。
測定できる距離として、点Q0と点P0との距離Dpや、点Q0と点F0との距離Dfを示す。また、手指の点F0と第2仮想面102との距離DSTを示す。距離DSTは正負を持つ値である。本例では、仮想面空間100の上半分側の領域内に手指の点F0がある。それに対応して、画面10の上半分側の領域内に、指し示される点E0がある。
[空間を上から見た状態]
図5は、図1の空間を上から見たXZ平面での状態を示す。図5の状態では、仮想面空間100の第1仮想面101及び第2仮想面102は、基準軸J0に対してユーザの点P0から見て右側にある位置(点C1,C2)に設定されている。仮想面空間100のサイズとして、第1仮想面101及び第2仮想面102のサイズは同じである。ユーザは、手指を仮想面空間100内で所望の面内方向(第2仮想面102等に平行な方向)に自由に動かす。例えば、ユーザは、画面10の左側の領域311内の操作ボタン等の点E0を操作したい場合、それに対応して、仮想面空間100の左側の対応する領域312内に手指の点F0が来るように動かす。
[仮想面空間]
図6は、仮想面空間100に対する手指の位置関係や進入度合い等についての説明図を示す。図6では、図4と同様に空間を横から見た状態で、仮想面空間100付近を拡大で示す。説明上、空間内で、点P0から第1仮想面101までの空間部分を第1空間、第1仮想面101と第2仮想面102との間の空間部分を第2空間、第2仮想面102以降の空間部分を第3空間とする。点P0から第1方向の基準軸K0上で、長さL0の位置に点C0、長さL1の位置に点C1、長さL2の位置に点C2が設けられている。
仮想面空間100の奥行きの厚さM0を示す。厚さM0は、点C1と点C2との距離、長さL1と長さL2との差分である。厚さM0は、デフォルトでは例えば3~5cm程度に設定される。厚さM0は、仮想面に対する奥行き方向での手指の進入度合い等を検出可能とする。厚さM0は、ユーザ設定によって、ユーザ個人にとって操作しやすい厚さに設定可能である。
手指位置の点F0の軌跡の例を、点f0~f5等で示している。基準軸K0の方向で手指を奥側に進入させる場合を示す。画面10の下側の領域321内の操作ボタン等を押す場合に対応して、仮想面空間100の下側の領域322内をタッチ操作する場合を示す。最初、手指位置は、仮想面空間100の外の第1空間内の点f0にあるとする。ユーザが手指を仮想面空間100の方に近づけて点f1に来る。点f1は第1仮想面101よりも手前である。続いて、点f1から、手指が第1仮想面101に到達し、点f2になる。続いて、点f2から、手指が第1仮想面101以降奥に進入し、点f3になる。続いて、点f3から、手指が第2仮想面102に到達し、点f4になる。続いて、点f4から、手指が第2仮想面102以降奥に進入し、点f5になる。更に、点f5から、手指が奥に進入した場合に、点f6になる。
表示装置1は、手指の点F0と各仮想面との距離を把握する。例えば、点f1の時には、第1仮想面101との距離g1、第2仮想面102との距離g2である。例えば、点f3の時には、第1仮想面101との距離g3、第2仮想面102との距離g4である。
また、第2仮想面102よりも奥で、点C2から所定の距離の位置には、第2仮想面102に平行な、制御用の面601がある。第2仮想面102と面601との間の領域602は、所定の操作の判定に用いられる。手指の点F0が面601までの領域602内にある場合、タッチ等の操作を有効とし、面601以降奥に行った場合、無効とする。なお、このような面601が第3仮想面として設定される、と捉えてもよい。即ち、仮想面空間100は、第2仮想面102を主として、2枚以上の仮想面の層から構成される、と捉えてもよい。面601を用いない場合でも最低限の制御は実現できる。
第2仮想面102に対するタッチ操作の場合、例えば手指位置が点f3,f4,f5のような順で遷移する。手指位置が点f4や点f5に留まる場合、タッチ操作として判定される。タップ操作の場合、例えば手指位置が点f3,f4,f5,f4,f3のような順で遷移する。手指位置が点f4や点f5になった後に所定時間内に点f3のような位置に戻る場合、タップ操作と判定される。同様に、ダブルタップ操作等が判定可能である。
手指位置は、仮想面の面内方向でも自由に移動できる。例えば、点f3から点f7や点f8等へ移動できる。図5にも対応する点を示している。スワイプ操作の場合、例えば手指位置が点f3,f4,f5,f9,f10等の順に遷移する。ユーザは、手指を第2仮想面102以降奥の領域602内に押し込み、所望の面内方向に移動させてから、手指を第2仮想面102より手前に戻す。同様に、フリック操作等が判定可能である。
仮想面空間100の傾きは、仮想面の中心点を通る1つの軸(面に平行な軸または面に垂直な軸)及びその角度等で表すことができる。図6の例では、YZ平面で、仮想面の傾きは、仮想面に垂直な軸(基準軸K0)と鉛直方向(Y方向)とが成す角度で45度である。
仮想面の位置、サイズ、傾き等は、ユーザ設定及び調整機能によって可変である。ユーザ個人毎に、仮想面の操作しやすい位置、サイズ、傾き等は、一定とは限らず、異なると考えられる。この点を考慮し、実施の形態1では、調整機能によって、ユーザ個人毎に仮想面の位置、サイズ、傾き等を容易に調整可能である。ユーザは、仮想面を用いた遠隔操作を利用しながら、仮想面の位置等の微調整が可能である。これにより、使い勝手が向上する。
[仮想面設定-相対方式]
図7は、実施の形態1における仮想面空間100の設定方式として相対方式を示す。図7では、空間を上から見たXZ平面で示し、仮想面空間100を一枚の平面で省略して表す。使い勝手を考慮し、相対方式では、仮想面空間100は、ユーザ基準位置からの相対的な距離やベクトル等によって決まる位置に設定される。詳しくは以下である。まず、カメラ画像に基づいて、ユーザ基準位置の点P0が検出される。次に、その点P0から前方(Z方向)における、手指が届く範囲内で、所定の方向及び距離dA1のベクトルvA1で決まる位置にある点C0に、デフォルトの仮想面空間100が設定される。例えば、顔の点P0から基準軸J0に対して前方斜め下の方向の所定の距離dA1の位置の点C0aが、デフォルトの位置とされる。また、デフォルトの位置と共に、デフォルトのサイズや傾きが適用される。デフォルトの仮想面空間100を、変更前の仮想面空間100aとして示す。ユーザが最初に表示装置1を使用する際には、デフォルトの仮想面空間100が設定される。表示装置1には、予めデフォルトの仮想面空間100の設定情報が格納されている。
更に、上記デフォルトの仮想面空間100から、ユーザ個人による調整が可能である。ユーザが、調整操作によって、仮想面空間100aを、所望の好適な位置、サイズ、傾き等に変更する。変更後の状態を仮想面空間100bで示し、中心の点C0bを示す。例えば、中央(点C0a)から右側の位置(点C0b)に移動されている。変更後の仮想面空間100bが、ユーザ個人の仮想面空間100として設定され、設定情報203が更新される。点P0から点C0bへの方向(前述の基準軸K0に相当)及び距離dB1を持つベクトルvB1を示す。また、点Q0から点C0bへの距離dB2を持つベクトルvB2を示す。設定情報203は、例えばベクトルvB1を含み、図6の長さL0と厚さM0、あるいは長さL1,L2を含む。また、設定情報203は、サイズ(SV,SH)や傾きの情報を含む。次回の利用時には、個人認識に基づいて、ユーザ個人に合わせた設定情報203が読み出され、前回と同じ状態の仮想面空間100bが再現される。
なお、ユーザがユーザ設定画面で操作することで、調整済みの仮想面空間100の設定状態を、デフォルトの設定状態に戻すことも容易に可能である。なお、変形例として、予め、デフォルトの仮想面空間100が複数の種類で用意され、ユーザがユーザ設定画面等でそれらから選択して設定可能としてもよい。
図20は、デフォルトの複数の種類の仮想面空間100の提示例をXY平面で示す。デフォルトの点C0の位置の例として、(1)~(6)を示す。(1)は、点P0から前方(Z方向)で中央の所定の距離の位置の場合である。(2)は、右の場合であり、(1)の右横の位置である。(3)は、左の場合であり、(1)の左横の位置である。(1)~(3)の仮想面の傾きは例えば水平面に対して90度の場合である。(4)は、中央斜め下の場合(図7の点C0aに相当)であり、(1)の下の位置である。(5)は、右斜め下の場合であり、(4)の右横の位置である。(6)は、左斜め下の場合であり、(4)の左横の位置である。(4)~(6)の仮想面の傾きは例えば水平面に対して45度の場合である。同様に、複数の位置、サイズ、傾き等から選択可能にできる。また、ユーザ設定画面で、仮想面の位置、サイズ、傾き等の数値を表示し、その数値で設定可能としてもよい。
図7の相対方式では、ユーザが視聴位置を移動した場合、ユーザ基準位置の点P0が移動するので、その点P0に合わせて、ベクトルvB1等の相対関係を維持したまま、仮想面空間100の位置等がユーザに自動的に追随するように更新される。例えば、ユーザ基準位置が点P0から点P0cへ移動した場合を示す。点P0cの検出に基づいて、点P0cから同じベクトルvB1の位置の点C0cに、仮想面空間100cが設定される。
デフォルトの仮想面空間100は、平均的なユーザを想定して設定されている。変形例として、表示装置1は、カメラ画像からユーザが大人か子供か等の分類を判定し、その分類に応じた種類の仮想面を設定するようにしてもよい。例えば、子供の場合、点P0から点C0への距離が大人用よりも短い仮想面空間100が設定される。
[画面と仮想面とのサイズ等の対応関係]
図8は、画面10と仮想面空間100とのサイズ等の対応関係を示す。図8の(A)は、デフォルトの設定例を示す。この状態では、画面10全体の領域に仮想面の領域が一対一で関係付けられている。即ち、第2仮想面102内での点F0の位置と、画面10内での点E0の位置とが対応付けられている。点F0を動かすことで画面10内のすべての点をカバーできる。また、第2仮想面102の縦横の比(SH:SV)は、画面10と同じ比(H0:V0)に設定されている。第2仮想面102のサイズは、画面10よりも小さいサイズに設定されている(SH<H0,SV<V0)。仮想面のサイズが比較的大きい設定の場合、画面10に対するより細かい操作が可能である。仮想面のサイズが比較的小さい設定の場合、仮想面で手指を動かす距離が比較的短くて済む。
図8の(B)は、他の設定例を示す。ユーザ設定機能または実装によって、対応関係を設定可能である。本例では、画面10の全体ではなく、画面10内の一部の領域801に対して第2仮想面102を一対一で関係付けるように設定されている。第2仮想面102は、例えば一部の領域801と同じサイズや比率で設定されている。一部の領域801は、例えば後述の操作パネルが配置される領域としてもよい。この設定の場合、仮想面操作によって、一部の領域801に対する操作ができ、一部の領域801以外の領域に対する無用な操作については不可にできる。
なお、仮想面の縦横の比率は、画面10や領域801とは異なる比率にも設定可能である。仮想面のサイズは、画面10と同じサイズにも設定可能である。仮想面の傾きは、例えば図4のように画面10の傾きとは異なる傾きに設定されるが、画面10と同じ傾きにも設定可能である。
[表示制御(1)]
図6、図9等を用いて、手指と仮想面空間100との位置関係に応じた画面10の表示制御例を説明する。実施の形態1では、画面10に操作パネルや遠隔操作制御機能のメニュー画面等が表示され、それらに対する仮想面操作を可能とする。最初、表示装置1が起動状態で、ユーザの手指が第1空間内の点f0等にある状態とする。この状態で、画面10には、図9の(A)の例のようにコンテンツ映像が表示されている。ユーザは、画面10の映像を視聴中、例えば選局(チャンネル選択)等の操作を行いたい場合、操作パネルを表示するために、手指を図6のように前方に差し出し、基準軸K0上で奥へ動かし、第1仮想面101に近付ける。
手指が第1仮想面101(例えば点f2)に到達し、第1仮想面101以降奥の第2空間内(例えば点f3)に進入する。表示装置1は、その動作に応じて、自動的に遠隔操作を受け付ける状態に移行させる。この状態では、図9の(B)のように、画面10に、その時の手指位置に対応した位置に、カーソル50が表示される。また、画面10の所定位置(例えば右上角隅)に、操作パネルに関するアイコン401が表示される。手指が第1空間から第1仮想面101を通じて第2空間に進入する際、手指位置と第1仮想面101や第2仮想面102との距離に応じて、カーソル50の表示状態が制御される。本例では、第1仮想面101に到達して距離g1がゼロになると、カーソル50が表示される。
ユーザは、手指を第2空間内で自由に動かすことで、画面10内のカーソル50を所望の位置に移動させることができる。第2空間で、手指位置と第2仮想面102との距離に応じて、カーソル50のサイズや色等も制御される。表示装置1は、例えば、距離g4が減少して深度が大きくなるに従い、カーソル50のサイズを減少させ、色を濃い色に変化させる。このように画面10のフィードバック表示の情報量を増やすほど、ユーザは、仮想面の操作状態が認識しやすくなる。ユーザは、仮想面空間100の手指を見なくても操作が可能となる。
また、本例では、手指位置に応じて自動的に操作パネルの表示状態が制御される。アイコン401は、操作パネルの表示をオン/オフするスイッチに相当する。ユーザは、操作パネルを表示したい場合、アイコン401上にカーソル50を移動させるように手指を動かす。ユーザが手指を第2空間内で更に奥に動かし、第2仮想面102(例えば点f4)に到達し、第2仮想面102以降奥の第3空間内(例えば点f5)に進入する。ユーザは、例えばアイコン401上にカーソル50がある状態から、手指を奥に押し込むように第2仮想面102に進入させる。
表示装置1は、手指が第2仮想面102に到達する動作、第3空間内の領域602に進入する動作を、タッチ操作として検出する。アイコン401のタッチ操作に応じて、図9の(C)のように、画面10に操作パネル402が表示される。本例では、画面10内のコンテンツ映像上で一部の領域に操作パネル402が重畳表示される場合を示す。
なお、手指が第1仮想面101に到達した時点ですぐに操作パネル402や後述のメニュー画面を表示する制御も可能である。また、予め表示装置1の起動時や所定の判断時、任意時点でユーザが指示入力した時等に、操作パネル402等を表示する制御も可能である。また、手指が仮想面空間100から外に出た場合、例えば第1仮想面101よりも手前の第1空間に戻った場合等に、自動的に操作パネル402等を非表示にする制御も可能である。
手指が第3空間内で面601よりも手前の領域602にある場合、所定の操作が有効である。ユーザは、領域602内で手指を自由に動かすことができる。手指の動きに応じた所定の操作が検出される。例えば、ユーザが手指位置を第2仮想面102や領域602内に留める場合、タッチ操作(言い換えると長押し操作、ホールド操作)として検出される。更に、ユーザが手指を第2仮想面102や領域602内の状態から手前の第2空間内に戻した場合、タップ操作(言い換えるとクリック操作)として検出される。ユーザが、第2仮想面102や領域602内で手指を面内方向で動かした場合、スワイプ操作(言い換えるとドラッグ操作)として検出される。ユーザが第2仮想面102や領域602内で手指を面内方向ですばやく動かしてから第2空間内に戻した場合、フリック操作として検出される。また、ユーザが第2仮想面102や領域602内で2本の指を近づけたり離したりした場合、その開閉動作はピンチ操作として検出される。
応用制御例として、GUIのオブジェクトや所定の操作に応じて、異なる距離の領域602を適用してもよい。例えば、第1距離の領域602を用いて第1タッチ操作を判定し、第1距離よりも大きい第2距離を用いて第2タッチ操作を判定してもよい。例えば、第1距離を用いて第1オブジェクトのタッチ操作を判定し、第2距離を用いて第2オブジェクトのタッチ操作を判定してもよい。また、GUIのオブジェクトや所定の操作に応じて、手指と第2仮想面102との距離DSTの情報を、操作入力情報210に含めて利用してもよい。例えば、音量変更ボタンに対するタッチ操作の場合に、距離DSTに応じて音量を上下に変更すること等である。また、表示装置1は、手指が領域602内にある状態の時間をカウントし、所定時間以上続いた場合にタッチ操作等として判定してもよい。
手指が第2空間から第2仮想面102を通じて第3空間に進入する際や、第3空間から第2空間に戻る際にも、手指と第2仮想面102との距離DSTに応じて、カーソル50の表示状態が制御される。例えば、手指が第2仮想面102に到達して距離g4がゼロの状態では、カーソル50のサイズが最小となり、赤色となる。また、その時、画面10には、第2仮想面102への接触を表すエフェクト表示や、カーソル50の点滅表示、等が行われてもよい。表示装置1は、手指位置が第3空間内にある状態では、カーソル50を例えば最小のサイズで表示したままとする。表示装置1は、領域602での手指の動きに応じて、カーソル50の位置を変化させる。
表示装置1は、手指位置が第2空間内から第1仮想面101を通じて第1空間内に戻った場合、例えばカーソル50や操作パネル402等をオフ(非表示)にする。また、表示装置1は、手指位置が第2空間内から面内方向で仮想面空間100の外に出た場合(例えば点f3から点f11への遷移)、カーソル50等をオフにしてもよい。また、表示装置1は、手指位置が第3空間内の面601よりも奥に行った場合(例えば点f5から点f6への遷移)、カーソル50等をオフにしてもよい。
なお、ユーザが手指を第2空間内から第1仮想面101を通じて第1空間側に引き抜き、その引き抜いた箇所とは異なる箇所から再度手指を第1仮想面101以降奥に進入させる場合もある。その場合、いくつかの表示制御の方式が適用可能であり、例えば以下がある。(1)手指が引き抜かれた際に画面10のカーソル50が一旦オフにされる。手指が再度進入する際、その再度進入する位置にカーソル50が再度表示される。(2)手指が引き抜かれた際に画面10のカーソル50が一旦オフにされる。手指が再度進入する際、引き抜かれた時と同じ位置にカーソル50が再度表示される。(3)手指が引き抜かれた際に画面10のカーソル50を、引き抜かれた位置で表示したままに維持される。手指が再度進入する際、そのカーソル50が再度動くようになる。
また、表示装置1は、手指位置が第2空間から第2仮想面102を通じて第3空間内に進入した場合に、以下の制御を行ってもよい。表示装置1は、その際の手指位置が、操作ボタン等のオブジェクト上にあった場合には、カーソル50を表示のままとし、操作ボタン等が無い背景領域上にあった場合には、カーソル50をオフにしてもよい。手指位置が第2空間内に戻った場合には、カーソル50が再度オンにされる。また、表示装置1は、手指位置が領域602の面601よりも奥になった場合、カーソル50等をオフにしてもよい。あるいは、面601から外に出た時の状態でカーソル50を表示したままにしてもよい。
図9の(C)の説明に戻る。操作パネル402は、表示装置1本体が持つ公知の機能によって表示が制御される。この操作パネル402は、ハードウェアの操作パネルやリモコンとは別のものであり、ソフトウェアリモコン画面に相当する。操作パネル402は、画面10全体での表示でもよい。操作パネル402自体の表示位置や表示サイズ等の変更も可能である。例えば、操作パネル402の角点の操作によって表示サイズが変更可能である。操作パネル402には、既存のリモコンのボタンに対応して、表示装置1の各種の動作を指示するための操作ボタン等が配置されている。操作パネル402には、既存のリモコンには無い独自のオブジェクトが配置されていてもよい。操作パネル402には、その操作パネルのオン/オフの切り替えのボタン403や、各種の操作ボタン404が配置されている。操作ボタン404は、具体的には、テレビの場合、地上波、CS、BS等の選択ボタン、チャンネル選択ボタン(各チャンネル、アップ、ダウン等)、音量変更ボタン、入力切り替えボタン、設定ボタン、その他がある。
操作パネル402内には全ボタンが配置されてもよいし、ユーザがよく使うボタンが配置されてもよい。操作パネル402は、複数のページに分けられた形式でもよい。例えば、第1ページには基本操作のためのチャンネル選択ボタン等が配置され、第2ページには副次的な操作のためのボタン(例えば明るさ設定ボタン等)が配置される。その場合、操作パネル402にはページ切り替え用のボタン等を有する。
ユーザは、例えば操作パネル402の所望の選局の操作ボタン404にカーソル50を合わせるよう手指を動かして、タッチ操作等を行う。表示装置1は、この操作を検出し、選局指示に対応付けて、選局指示に対応した選局動作を行う。他の各種の操作ボタン404についても同様に操作可能である。
更に、画面10には、遠隔操作制御機能に関するメニュー画面が表示可能である。このメニュー画面は、仮想面空間100の調整等を行うための項目を含む。本例では、操作パネル402内に、1つのボタンとして、そのメニュー画面をオン/オフするためのメニューボタン405が設けられている。ユーザは、仮想面の調整等をしたい場合、このメニューボタン405を同様に操作する。その場合、図10の(A)のように、メニュー画面406が表示される。本例では、操作パネル402からメニュー画面406に表示が切り替えられる場合を示す。表示装置1は、メニュー画面406の表示制御を行う機能も有し、その機能を実現するプログラム等が予め実装されている。メニュー画面406は、そのメニュー画面をオン/オフするボタン407や、遠隔操作制御機能に係わるユーザ設定のボタン408や、仮想面の調整用のボタン409等が配置されている。ボタン408が操作された場合、図示省略するが、ユーザ設定画面が表示される。
なお、操作パネル402内にメニュー画面406の各ボタンが統合配置されていてもよい。操作パネル402とは独立でメニュー画面406の表示が制御されてもよい。画面10内に表示される所定のアイコンの操作に応じてメニュー画面406が表示されてもよい。メニュー画面406の表示を省略し、特定の操作に応じて直接的に後述の調整モード画面が表示されてもよい。
ユーザは、仮想面の調整を行いたい場合、カーソル50を調整用のボタン409に合わせるようにして、同様にタッチ操作等を行う。表示装置1は、この操作の検出に応じて、図10の(B)のように、通常モードから調整モードに切り替えて、画面10に調整モード画面410を表示する。本例では、画面10全体に調整モード画面410が表示される場合を示す。調整モード画面410では、ユーザによる仮想面空間100の調整を支援や補助するためのフィードバック表示が行われる。調整モード画面410では、調整操作の状態を表す画像情報が表示される。表示例として、調整モード画面410には、仮想面枠画像411等が表示される。フィードバック表示によって、ユーザに調整操作状態がより確実に伝わるため、ユーザは、調整操作がしやすく、使い勝手が向上する。調整モードでは、ユーザが手指で第2仮想面102の調整操作によって、仮想面空間100の位置、サイズ、及び傾き等を変更できる(後述の図16等)。調整モード画面410から、ユーザによる所定の操作(例えばモード切り替え操作)に応じて、調整モードを終了して通常モードに切り替えられ、例えば元のメニュー画面406に戻る。
[表示制御(2)]
図11は、他の表示制御例を示す。図11の(A)は、手指が第1空間内にある時に、予め表示装置1の機能によって画面10内にGUIの操作メニュー300が表示されている場合を示す。図11の(B)は、手指が第1仮想面101に到達した時に、カーソル50が表示された状態を示す。このカーソル50は、矢印形状カーソルである。(B)の状態は、手指先端が第2仮想面102から相対的に遠い場合である。カーソル50は、その時の距離DSTに応じたサイズとして相対的に大きいサイズで表示される。この状態では、カーソル50は、例えば黄色で表示される。この状態では、まだカーソル50が大きいので、細かいオブジェクトの選択操作はしにくくなっている。第2空間内の手指の動きに同期して画面10のカーソル50が移動する。ユーザは、カーソル50の動きによって操作状態を認識できる。
更に、図11の(C)は、手指が第2仮想面102に到達した時の状態を示す。(C)の状態は、手指先端が第2仮想面102に相対的に近い場合である。カーソル50は、その時の距離DST(距離g4)に応じたサイズとして相対的に小さいサイズで表示される。この状態では、カーソル50は、例えば赤色に変えられて表示される。この状態では、カーソル50が小さくなっているため、細かいオブジェクトの選択操作がしやすくなっている。この状態では、手指位置が選択肢ボタン302上に対応している。このため、この操作は、選択肢ボタン302に対するタッチ操作となる。GUI表示部14は、選択肢ボタン302のタッチ操作に対応した所定の処理、例えば「選択肢B」の選択決定処理を行い、画面10に選択決定エフェクト表示等を行う。
図12は、変形例として、他のポインタ画像の表示制御例を示す。ポインタ画像は、矢印形状カーソルに限らず、各種可能であり、ユーザ設定も可能である。図12の(A)は、操作パネル402上で、ポインタ画像として、二重円形状のカーソル52A,52Bを表示する例を示す。二重円の内側円は固定の半径、外側円は可変の半径である。外側円の半径が、手指位置と第2仮想面102との距離に応じて可変される。手指位置が第2仮想面102から遠い状態では、相対的に大きいサイズでカーソル52Aが表示され、手指位置が第2仮想面102に近い状態では、相対的に小さいサイズでカーソル52Bが表示される。第2仮想面102に到達した場合、外側円と内側円の半径を同じにしてもよい。
図12の(B)は、ポインタ画像として、ハンド形状のカーソル53A,53Bを表示する例を示す。ハンド形状カーソルは、手指位置と第2仮想面102との距離に応じてサイズ及び形状タイプが可変される。手指位置が第2仮想面102から遠い状態では、大きいサイズで第1形状タイプ(例えば手のひら形状)のカーソル53Aが表示され、手指位置が第2仮想面102に近い状態では、小さいサイズで第2形状タイプ(例えば一本指形状)のカーソル53Bが表示される。
上記のように距離DSTに応じたカーソル50の表示制御を含む視覚的なフィードバックによって、ユーザは、仮想面空間100に対する手指の位置や深度、遠隔操作状態を、よりわかりやすく認識でき、使い勝手が向上する。
[所定の操作]
図13は、実施の形態1で検出可能とする所定の操作の例を示す。図13では、仮想面空間100を横から見た状態で、第2仮想面102に手指が到達及び進入する操作の例を示す。図13の(A)は、一本指の操作を示す。一本指の操作による所定の操作として、タッチ、タップ、スワイプ、フリック等の各種の操作が可能である。図13の(B)は、手のひら全体での操作を示す。手のひらによる所定の操作の例として、同様にタッチ等の各種の操作が可能である。図13の(C)は、片手の複数指での操作を示す。複数指による所定の操作の例として、ピンチ等の操作が可能である。ユーザは、これらの各種の操作を使い分けることができる。遠隔操作制御部20は、これらの各種の操作を区別して検出する。なお、変形例としては、各種の操作のうち一部の操作のみを検出可能とする実装としてもよい。
実施の形態1では、通常モード時、仮想面空間100における例えば一本指の操作を検出し、画面10には、その一本指の操作に対応する1つのカーソル50が図9や図11の例のように表示される。これは、仮想面空間100に最初に進入した一本指や、進入度合いが一番大きい一本指の先端位置を点F0として検出し、対応する位置にカーソル50を表示する方式である。仮想面空間100に対する手のひらの操作の場合にも同様の制御が可能である。変形例として、ユーザが手に指示棒等の物体を持った状態での仮想面操作も同様に可能である(後述)。
図14は、図13の(B)の手のひらの操作の例として、画面10のページやオブジェクトをスワイプ操作で移動させる場合を示す。第2仮想面102に対するスワイプ操作とその際の手指位置の点F0の移動の様子を示す。また、画面10に、ポインタ画像として、手のひら断面形状のカーソル54を表示する場合を示す。表示装置1は、第2仮想面102を通過する手指の断面面積を概略的に計算し、その断面面積に対応させたカーソル54を表示する。カーソル54の形状は概略的でもよく、図12の(B)のようなハンド形状カーソルに代えてもよい。手のひらの操作を受け付ける場合、第2仮想面102から進入する五指の各指を細かく検出する必要は無く、手のひら領域全体で代表的な1つの位置を点F0とすればよい。
図15は、図13の(C)の複数指による操作の例として、ピンチ操作の場合を示す。図15の(A)は、ピンチ操作の第1方式を示す。この方式は、従来のタッチパネルのピンチ操作と類似であり、片手の二本指(例えば親指と人差し指)で2つの点を近接させたり、離したりする開閉の操作である。右側には、第2仮想面102での二指の閉状態及び開状態を示す。第1指の点F01、第2指の点F02を示す。左側には、ピンチ操作、特に閉状態から開状態にするピンチアウト操作に伴い、画面10の画像が拡大される場合を示す。ピンチイン操作による縮小も同様に可能である。ピンチアウトの場合、ユーザは、拡大したい画像の箇所に対応させて、第2仮想面102以降に二本の指先を到達させた状態で、二指を面内方向に拡げる動作を行う。表示装置1は、その動作をピンチアウトとして検出する。二指を拡げた量に応じて、画像の拡大処理がされる。ユーザは、ピンチ操作をやめる場合、第2仮想面102よりも手前に手指を戻す。
ピンチ操作の際、画面10には、ポインタ画像として、カーソル55が表示される。本例では、カーソル55は、二指の点F01,F02に対応する位置にそれぞれ表示される2つのカーソル55-1,55-2から成る。カーソル55-1,55-2は、例えば円形である。表示装置1は、第2仮想面102に進入した二本の指の各位置の点F01,F02を検出し、その各位置から、ピンチ操作を判定、検出する。例えば、表示装置1は、2点間の距離を閾値と比べ、その距離が十分に小さい場合、ピンチ操作(特に閉状態)と推測してもよい。表示装置1は、ピンチ操作の検出に応じて、特有のカーソル55を表示させる。通常のカーソル50とは別の種類のカーソル55を用いることで、ユーザが操作状態をより認識しやすくなる。
図15の(B)は、ピンチ操作の第2方式を同様に示す。この方式は、両手の各一本指で、2つの点を近接等する操作である。このピンチ操作の際、画面10に、カーソル55が同様に表示される。一方のカーソル55-1は、一方の手の点F01の位置に対応し、他方のカーソル55-2は、他方の手の点F02の位置に対応する。第2方式の場合、ピンチ操作における2点をより自由に動かすことができ、2点間の距離を比較的広くとることができる。2つのカーソル55-1,55-2は、2つの矢印形状カーソル等としてもよい。
[仮想面空間の調整]
図16は、実施の形態1で、調整機能を用いた仮想面空間100の調整について示す。実施の形態1の調整方式は、調整モード中に、仮想面空間100の2つの点に対する調整操作によって、仮想面空間100の位置、サイズ、及び傾き等を同時に変更可能とする方式である。図16の(A)は、調整モード中にユーザが手指で仮想面空間100の対角の2つの点を対象に調整操作をしている様子を示す。図16の(B)は、調整操作によって仮想面空間100の位置、サイズ、及び傾きが変更された場合の変更前後の状態を示す。変更前の状態を、仮想面空間100aの第1仮想面101a及び第2仮想面102aで示す。変更後の状態を、仮想面空間100bの第1仮想面101b及び第2仮想面102bで示す。仮想面空間100の中心の点C0は、変更前が点C0a、変更後が点C0bである。
変更前の仮想面空間100aは、例えばデフォルトの設定状態を示し、図7の仮想面空間100aと同じとする。仮想面空間100aのサイズ及び比率は、図8の(A)の設定とする。仮想面空間100aの傾きは、仮想面(または点C0aを通る垂直な軸)と鉛直方向とが成す角度でいえば45度である。調整によって、仮想面空間100の位置が右下の位置に変更され、サイズが拡大され、傾きが奥側に倒れるように変更された場合を示す。変更後の仮想面空間100bは、ユーザの右手に近い位置になっており、右手での操作がしやすくなっている。仮想面空間100bは、サイズが拡大されて、細かい操作がしやすくなっている。仮想面空間100bは、傾きが水平面に近付いており、手指を鉛直方向で進入させる操作がしやすくなっている。本例に限らず、仮想面空間100を元の位置から上に移動させて傾きを鉛直に近付ける調整等、多様な調整が可能である。
[仮想面調整操作]
図17は、図16に対応する仮想面空間100の調整操作の詳細を示す。図17では、ユーザの視点から基準軸K0の方向で仮想面空間100、特に第2仮想面102を正視した場合を示す。ユーザが両手の各一本指で、第2仮想面102の二箇所の点、例えば対角の2つの角点に対する調整操作を行う。この一本指の操作は、対象の点の位置を任意の指(例えば人差し指)で指し示す操作である。実施の形態1では、この一本指の調整操作は、通常時の一本指の操作と同様の操作であり、モードの違いによって区別される。本例では、左手の一本指で左上の角点112を指し示す操作、及び右手の一本指で右下の角点114を指し示す操作を示す。表示装置1は、このように2つの一本指が仮想面の2つの角点の位置に近接する調整操作を検出する。調整操作の際の2つの点は、他の角点(角点111,113)としてもよい。
また、一本指の調整操作は、特に、ある位置の角点を指し示す状態を一定時間以上で維持する操作とする。表示装置1は、手指位置検出、及び時間判断に基づいて、この一本指の調整操作を判定、検出する。時間判断を加えることで、誤検出を低減できる。
ユーザは、第2仮想面102aの2つの角点を左右の二本指で指し示した状態のまま、各指を所望の方向に動かす。ベクトルv1,v2は、その際の指先の移動を示す。ユーザは、仮想面のサイズをより大きくしたい場合、その意図に対応して、2つの角点の間隔を拡げる方向に動かし、サイズを小さくしたい場合、間隔を狭める方向に動かす。ユーザは、仮想面の位置を変えたい場合、2つの角点を所望の方向に移動させる。2つの対角の角点の中間が第2仮想面102の中心の点C2となる。ユーザは、仮想面の傾きを変えたい場合、2つの角点の奥行き方向の位置関係を変えるように動かす。
本例では、角点112,114が角点112b,114bに移動されている。角点112b,114bを結ぶ線を対角線とする矩形が第2仮想面102bとなる。本例では、傾きを変えずにサイズを拡大しながら位置が移動されている。このように、ユーザは、1回の調整操作によって、リアルタイムで、仮想面の位置、サイズ、及び傾き等を同時に所望の状態に変更できる。この変更は、カメラから手指を捉えられる範囲内で可能である。
ユーザは、変更後の仮想面の状態に決定する場合、所定の仮想面決定操作を行う。この決定操作は、一本指の操作を解除する操作であり、一定時間以上で同じ状態を維持してから手指を離す操作である。ユーザは、指先を角点112b,114bに一定時間以上置いた後、指先を第1仮想面101よりも手前に戻すように引き離す。表示装置1は、時間判断等に基づいてその決定操作を検出する。仮想面決定操作によって、変更後の仮想面の状態に決定され、設定情報203が更新される。その後、ユーザは調整のやり直しを同様に行うこともできる。
その後、ユーザは、調整を終了する場合、所定のモード切り替え操作を行う。モード切り替え操作は、例えば図10の(B)の調整モード画面410内に表示される図示しないモード切り替えボタンに対するタッチ操作等としてもよいし、仮想面空間100に対する特定のモード切り替え操作を別に設けてもよい。また、仮想面決定操作とモード切り替え操作を同じにし、仮想面決定操作と同時に調整モード終了としてもよい。表示装置1は、モード切り替え操作に応じて、調整モードを終了して通常モードに戻る。例えば、図10の(A)の状態に戻る。
[調整モード-フィードバック表示]
図18は、図17の調整操作の例に対応した、調整モード時の調整モード画面410でのフィードバック表示例を示す。表示装置1は、操作入力情報210の表示制御情報に基づいて、画面10に、ユーザによる仮想面の調整操作状態をフィードバックするための画像情報を表示する。本例では、調整モード画面410内の一部箇所に「調整モード」の旨を表す画像412が表示されている。調整モード画面410内の中央、点Q0に合わせた位置には、仮想面枠画像411として、破線の矩形が表示されている。矩形において、4つの角点(点k1~k4)の位置には、調整用の端子TS1~TS4が表示されている。端子TS1~TS4は、例えば小さい正方形であるが、これに限らず任意の図形でよい。
ユーザが、図17のように第2仮想面102の角点112,114を指し示す一本指の操作をした時には、調整モード画面410の矩形の対応する端子TS2,TS4が、色を変えて強調表示される。例えば、その端子が青色から赤色にされる。これにより、ユーザは、見えない仮想面の角点に触れている状態を、より確実に認識できる。更に、調整操作に伴って仮想面の位置が変更されている時には、その位置変更方向に対応させて、矢印画像421(本例では右方向矢印)が表示される。また、仮想面のサイズが変更されている時には、その拡大や縮小の方向に応じて、矢印画像422(本例では拡大を表す4つの矢印)が表示される。また、図示しないが、仮想面の傾きが変更されている時には、その傾き変更方向に応じた矢印画像が表示される。
上記フィードバック表示によって、ユーザは、調整操作状態及び表示装置1の処理実行状態を認識しやすく、調整操作をより確実、容易に行うことができる。ユーザは、仮想面空間100の手指の方を見なくても調整操作が可能である。仮想面枠画像411等のフィードバック表示は、ユーザに調整操作状態が概略的に伝わるものであれば任意でよく、仮想面空間100の位置等と厳密に対応した表示(例えば矩形自体の表示位置の変更)は不要である。上記フィードバック表示は、画面10内の一部のみの補助的表示としてもよいし、例えば元の画面10の状態の上の透過表示としてもよい。
[手指位置検出(両眼視差に基づいた距離測定)]
図19は、補足として、手指位置検出部21の手指位置の点F0の検出に関する、両眼視差に基づいた距離測定についての説明図を示す。原理や例を簡単に説明する。図19では、上から見たXZ平面で示す。カメラ31,32の被写体としてユーザAの顔や手を含む身体部分とする。左右のカメラ31,32のレンズ間の長さ902を、距離Dとする。カメラ31,32のレンズの位置を点c1,c2で示す。長さ902の中間点は、カメラ基準位置に相当する。画像911は右側のカメラ31からの撮影画像、画像912は左側のカメラ32からの撮影画像を示す。画像911,912には、ユーザAの頭、顔、腕、手指、上半身等が含まれている。特に、右手の人差し指で仮想面を操作している時の画像である。
長さ930は、Z方向における被写体の手指の点F0までの長さであり、距離Lとする。領域916は、点F0と、カメラ31,32(レンズの点c1,c2)の対とで構成される、長さ902を底辺とし、長さ930を高さとする、三角形の領域である。視差941a,941bは、画像911内の指先位置の視差である。画像911内の指先の点fa、画像912内の指先の点fbを示す。画像911内で、点faと、点fbに相当する点との差を、視差941aで示す。焦点距離942は、カメラ31のレンズの焦点距離であり、距離Fとする。領域943は、カメラ31の画像911の視差941bを底辺とし、焦点距離942を高さとする、三角形の領域である。
カメラ32は撮像素子945を有し、カメラ31は撮像素子946を有する。撮像素子945には、画像912に対応する像が結像される。撮像素子946には、画像911に対応する像が結像される。位置947は、撮像素子945上の被写体の指先位置(点fb)に対応する。位置948は、撮像素子946上の被写体の指先位置(点fa)に対応する。
このように、同じ被写体を2つのカメラ31,32で撮像した画像911,912には、違いが生ずる。手指位置検出部21は、画像911、912を構成する画素を単位として、その違いを計数することによって、違いを表す長さを視差として計測する。この視差(例えば視差941a,941b)と、焦点距離(例えば焦点距離942)とから、公知の原理に基づいて、手指(点F0)との距離930が測定できる。即ち、点F0の位置座標が計算できる。
左側のカメラ32で撮像素子945上に結像した像において、指先位置が位置947である。それに対し、右側のカメラ31で撮像素子946上に結像した像において、指先位置が位置948である。位置947,948が異なっている。これは、画像911,912のように同じ被写体を異なる角度から撮像したことで、像の見え方として、指先位置(点fa,fb)の差異が例えば視差941a,941bとして生ずることに対応する。
光学的性質上、大きな三角形の領域916と、小さな三角形の領域943とには、相似関係がある。視差941aまたは視差941bを距離Sとする。カメラ31,32のレンズ間の長さ902(距離D)と、被写体までの長さ930(距離L)と、焦点距離942(距離F)と、視差941aまたは視差941b(距離S)との間には、L:D=F:Sという関係が成立する。この関係から、長さ930(距離L)は、L=D×F/S、で表される。例として、D=2m、F=2cm、S=2mmを代入すると、L=20mが得られる。
上記点F0の距離測定に限らず、ユーザ基準位置の点P0の距離測定も同様に可能である。カメラ31,32間の距離(例えば長さ902)が既知である場合で、カメラ31,32が固定の位置にある場合、上記方式によって、絶対的な距離測定が可能である。
[効果等]
上記のように、実施の形態1の表示装置1によれば、カメラを用いた遠隔操作制御に関して、簡単に操作できる等、ユーザの使い勝手を良好にできる。ユーザの前方の仮想面に対して手指を進入させる動作によって表示装置1の操作入力が容易に可能である。実施の形態1によれば、ユーザにとって、複数のジェスチャを伴う操作方法の学習が不要であり、学習量が少なくて済む。ユーザは、複雑なジェスチャを覚える必要は無い。ユーザは、リモコン等を使用する必要無く、手ぶらでテレビ等の操作入力が容易に可能である。
実施の形態1によれば、遠隔操作の実現にあたり、カメラ画像内の人物の動きを常に把握する処理や、複数のジェスチャを判定する処理等、多大なバックグラウンドの処理は不要である。実施の形態1では、ユーザに近い位置に設定される仮想面空間100に対する手指の位置や進入度合い等を把握できる程度の処理で、遠隔操作を実現できる。
実施の形態1によれば、仮想面操作は、既存のマウスの操作や、スマートフォン等のタッチパネルのタッチ入力等の操作に類似した操作である。そのため、ユーザは、仮想面操作を覚えやすい。ユーザは、画面10の操作パネル402等に対する簡単な仮想面操作によって、表示装置1の動作を指示できる。
実施の形態1によれば、ユーザの近くに、ユーザが操作しやすいように所望の位置、サイズ、傾き等で仮想面空間100を設定可能である。ユーザは、調整機能を用いて、随時、即座に、仮想面空間100の位置等を自由に調整可能である。そのため、遠隔操作に関して、ユーザの使い勝手を良好にできる。調整の際には、画面10にフィードバック表示がされるので、ユーザは、調整操作がしやすく、容易に調整が可能である。例えば、ユーザは、画面10を視聴する位置や姿勢に応じて、視界の画面10に重ならず、利き手に近い位置等に、仮想面を配置することができる。
また、実施の形態1では、明示的に調整モードを有するので、ユーザとしては、通常利用中であるか、仮想面調整中であるかが、わかりやすい。表示装置1は、通常の操作と調整操作とを区別して検出しやすい。
[変形例]
実施の形態1の表示装置1の変形例として、以下が挙げられる。
変形例として、前述のモード切り替えに関して、調整用のボタン409等を用いる方式以外にも、以下の方式が可能である。ユーザは、通常モード中、現在の仮想面空間100の対角の2点の位置を、手指で指し示して一定時間以上で維持する。例えば、図17と同様に、両手の一本指の操作である。この操作を、調整モードに切り替えるためのモード切り替え操作とする。表示装置1は、そのモード切り替え操作を判定、検出する。表示装置1は、その操作を検出した場合、調整モードに切り替えて、調整モード画面410を表示する。なお、上記モード切り替え操作の判定の際、時間判断には、閾値として比較的長い時間(例えば3秒)を用いてもよい。これにより、通常の操作との区別がしやすい。
変形例として、仮想面空間100は、単一の仮想面から構成されてもよい。手指位置とその単一の仮想面との距離に応じて、同様に表示制御や所定の操作の検出が行われる。例えば、手指位置が単一の仮想面よりも手前にある場合に、画面10にカーソル50を表示するようにしてもよい。
変形例として、1つの仮想面空間100において同時に両手の2つ以上の指の進入を検出した場合に、各手指位置に対応する画面10内の位置にそれぞれの個別のカーソル50を表示する方式としてもよい。即ち、画面10には2つ以上のカーソル50が同時に表示され得る。それらの2つ以上のカーソル50に対応するそれぞれの所定の操作が、独立して扱われる。例えば、画面10内の2つの位置に対する2つのタッチ操作が同時並列的に可能である。ただし、その分計算量は増える。また、この変形例の方式で、例えば2つの手指及び2つのカーソルの独立の制御を行う場合、その2つの手指の操作と、前述のピンチ操作とを区別して検出する必要がある。
[変形例(1)]
カメラ31,32の配置位置は、図1の構成に限らず可能である。配置位置は、例えば画面10の右上の点Q1及び左上の点Q2としてもよいし、右下の点Q3及び左下の点Q4としてもよい。また、その場合、カメラ基準位置と画面10の中心の点Q0とを合わせるための所定の補正計算を適用してもよい。
図21の(A)は、第1変形例の表示システムを示す。第1変形例では、表示装置1の左右の両脇の付近に、位置移動可能なカメラ31,32が配置されている。本例では、ユーザは、画面10に対して正面付近の椅子に座った状態で画面10の映像を視聴している。表示装置1本体に、カメラ31,32が例えば無線通信インタフェースで接続されている。カメラ31,32は、三脚等のカメラ台33,34に装着されている。カメラ台33,34は、ユーザによって移動可能であり、カメラ31,32の高さを含む配置位置や撮影方向等が変更可能となっている。即ち、カメラ31,32のカメラ基準位置は、広い範囲内で調整可能となっている。
図21の(B)は、カメラ31,32の他の配置例を示す。このように、カメラ31,32の配置間隔を拡げることもできる。また、例えば、カメラ31,32を画面10からユーザの方に近付けた配置とすることもできる。
第1変形例では、カメラ31,32の位置が変動し得る。この場合、以下の方式で、カメラ間の距離(図19の長さ902)を計測して、カメラ基準位置の設定が可能である。まず、単純には、ユーザ設定画面等を提供し、ユーザにカメラ31,32の位置や距離等を入力して設定してもらう方式でもよい。その設定値からカメラ基準位置を計算できる。また、一方のカメラから光や音波等の信号を発して、他方のカメラでその信号が観測されるまでの時間を測定し、その時間から距離を計算して自動的に設定する方式等でもよい。ただし、その方式では、極めて短い時間を高精度で測定する必要がある。これに対し、以下に示す方式では、カメラ画像を用いて簡易にカメラ間の距離を測定できる。
図22は、第1変形例で、カメラ間の距離の測定方式の説明図を示す。上側には、それぞれ三脚等のカメラ台33,34上に設けられたカメラ31,32を示す。カメラ台33,34上でカメラ31,32のレンズ31a,32aの方向が可変である。本例では、カメラ31,32は、レンズ31a,32aが向かい合うように配置されている。下側には、カメラ31,32の撮像画面961,962の例を示す。撮像画面961には、相手のカメラのレンズやその下のプレート963が写っている。プレート963は、例えばカメラ製造番号が記載されている。
表示装置1は、予め、カメラ31,32間の距離を例えば長さ2mとした状態で、所定のズーム倍率(例えば1倍)で撮像した画像を、基準として記憶しておく。撮像画面961は、この基準画像に対応する。実際のカメラ31,32の配置状態で同様に撮像された画像が、撮像画面962に対応するとする。その場合、表示装置1は、撮像画面962をズームするように画像を拡大する。例えば、2倍ズーム時に、撮像画面962の画像内容(レンズやプレート963)が、撮像画面961の画像内容と同等の大きさになった場合には、2m×2倍=4mが、カメラ31,32間の絶対距離である。この距離とカメラ31,32の位置とから、カメラ基準位置が得られる。
表示装置1は、このようなカメラ31,32間の距離測定を、初期動作、例えばカメラ31,32の電源がオンされて撮像可能となった時点で実行し、カメラ基準位置を設定してもよい。カメラ台33,34にモータを備え、初期動作時に自動的にカメラ31,32同士を探して、互いにレンズを向き合う適切な角度の状態にして、撮像し合うようにしてもよい。また、撮像画面の画像からプレート963の番号が認識できる場合、相手のカメラを識別可能である。複数のカメラが設置されている場合でも、その番号の認識から各カメラの識別が可能である。
[変形例(2)]
図23は、第2変形例における、調整機能を用いた仮想面空間100の調整について示す。図23の(A)は、調整モード中の仮想面空間100の調整操作の様子を示す。特に、仮想面の対角の2つの角点を操作する場合を示す。図23の(B)は、(A)の調整操作の詳細を示す。変更前の第2仮想面102a、変更後の第2仮想面102bを示す。第2仮想面102の中心点は、変更前が点C2a、変更後が点C2bである。特に、傾きを変えながら位置を移動する場合を示す。
第2変形例では、調整操作として、特有のつまむ操作を設けている。表示装置1は、手指位置検出に基づいて、通常の一本指の操作等とは別の調整操作として、このつまむ操作を判定、検出する。このつまむ操作は、対象の点の位置で、手の二指(例えば親指と人差し指)を近接または接触させて、輪をつくるような操作である。本例では、左手で左上の角点112をつまむ操作、及び右手で右下の角点114をつまむ操作を示す。なお、表示装置1は、つまむ操作の判定の際、カメラ画像に基づいて、手指の形状、例えば輪のような領域を検出することで判定してもよい。
ユーザは、第2仮想面102aの2つの角点をつまむ操作でつまんだ状態のまま、それぞれを所望の方向に動かす。その際の手指の移動のベクトルv1,v2を示す。本例では、第2仮想面102aの角点112,114は、第2仮想面102bの角点112b,114bとなっている。このように、実施の形態1と同様に、リアルタイムで、仮想面の位置、サイズ、及び傾き等を同時に変更できる。
ユーザは、変更後の仮想面の状態で、所定の仮想面決定操作を行う。この決定操作は、つまむ操作を解除する操作であり、例えば角点の位置で二指を開く操作である。図23の(C)は、左手の解除操作の例を示す。角点112bから二指を離し、第2仮想面102bよりも手前に戻す操作である。表示装置1は、その解除操作である決定操作を判定、検出する。上記つまむ操作や決定操作は、前述と同様に、所定時間以上で同じ状態を維持する操作とし、時間判断を加えてもよい。
実施の形態1では、特有のつまむ操作の判定処理が不要であり、ユーザはそのつまむ操作を覚える必要が無い。実施の形態1では、手の一本指または手のひらの位置を検出できる精度があればよい。一方、第2変形例では、通常の一本指の操作とは別につまむ操作の判定処理が必要であるが、それらの操作を区別して検出しやすい。第2変形例では、手の二本の指の位置を検出できる精度があればよい。ユーザは、つまむ操作を覚える必要はあるが、通常の操作とは区別されるので、分かりやすさがある。
上記つまむ操作は、二指で角点を挟むような操作、あるいは二指の位置を角点と殆ど一致させる操作である。これに限らず、上記つまむ操作は、二指で形成された輪によって対象の点を囲む操作としてもよい。対象の点の位置と輪の位置とが殆ど一致する場合に、その囲む操作として判定すればよい。なお、上記つまむ操作(または囲む操作)は、前述の通常の操作の1つであるピンチ操作(言い換えると開閉操作)とは異なる操作として区別される。
[変形例(3)]
図24は、第3変形例における調整方式として、調整モード時の調整モード画面410のフィードバック表示例を示す。第3変形例では、調整方式として、仮想面の位置、サイズ、傾きを、同時ではなく、それぞれ個別に調整可能とする。調整モード画面410の中央に、仮想面枠画像411として破線の矩形が表示されている。矩形の中心の位置に、位置調整用の端子TS0、例えば小さい菱形が表示されている。また、矩形の4つの角点(点k1~k4)には、それぞれ、サイズ調整用の端子TS1~TS4、例えば小さい正方形が表示されている。また、矩形の四辺の各中間点(点k5~k8)には、それぞれ、傾き調整用の端子TS5~TS8、例えば小さい三角が表示されている。
ユーザは、仮想面の位置のみを変更する場合、位置調整操作として、端子TS0に対応する仮想面の中心点の操作、例えばつまむ操作によって、移動させる動作を行う。これによって、全体的に仮想面空間100の位置(点C0)を所望の位置に変更できる。この位置変更の際、サイズや傾きについては元のまま維持される。詳しくは図25等に示す。
ユーザは、サイズや比率のみを変更する場合、サイズ調整操作として、端子TS1~TS4に対応する点の操作、例えば対角の2つの端子をつまむ操作によって移動させる動作を行う。これによって、仮想面のサイズや比率を変更できる。このサイズ変更の際、位置や傾きについては元のまま維持される。詳しくは図27等に示す。なお、サイズ変更の際に、比率が一定に維持される方式としてもよいし、比率が自由に可変である方式としてもよい。また、端子やその操作、またはユーザ設定に応じて、前者の方式の操作と後者の方式の操作とから選択できる形態としてもよい。
ユーザは、傾きのみを変更する場合、傾き調整操作として、端子TS5~TS8に対応する点の操作、例えば辺の中間点をつまむ操作によって手前や奥へ移動させる動作を行う。これによって、仮想面の傾き(点C0を通る軸の方向)を変更できる。この傾きの変更の際、位置やサイズについては元のまま維持される。詳しくは図29等に示す。
位置調整用の端子TS0、サイズ調整用の端子TS1~TS4、及び傾き調整用の端子TS5~TS8は、それぞれ、つまむ操作(図23と同様)を受け付けるつまみ端子としたが、これに限らず、一本指の操作等を受け付ける端子としてもよい。
[仮想面調整-位置(1)]
図25の(A)は、仮想面の位置の調整の様子を、上から見たXZ平面で示す。特に、変更前の仮想面空間100aの第2仮想面102aから、変更後の仮想面空間100bの第2仮想面102bへ、平行移動された場合を示す。変更前の第2仮想面102aは、デフォルトとして、点P0から基準軸J0に対して斜め下の点C2aにある場合である。そこから右側の位置の点C2bに移動させた場合を示す。ユーザは、一本指またはつまむ操作によって、端子TS0に対応する点C2を操作し、所望の位置に移動させる。これに伴い、仮想面空間100は、元のサイズ及び傾きを維持したまま、全体的に位置が変更される。
図25の(B)は、(A)に伴うフィードバック表示例を示す。調整モード画面410に「位置変更中」の旨が表示されている。仮想面枠画像411の端子TS0は、操作の間、赤色にされている。また、概略的に右への移動に応じて、その移動を表す矢印画像423が表示されている。
他のフィードバック表示として以下でもよい。画面10内に、図25の(A)のような、空間(ユーザ基準位置、画面10、仮想面空間100を含む)を上から見た状態を表す模式図を表示してもよい。同様に、空間を横から見た状態の模式図でもよい。模式図は、ユーザに仮想面の位置関係や変更中の状態が概略的に伝わればよく、任意の表示でよい。
[仮想面調整-位置(2)]
図26の(A)は、他の仮想面の位置の調整の制御例を示す。本例では、左利きのユーザが左手で仮想面空間100の第2仮想面102を調整操作する様子を示す。変更前の第2仮想面102a(例えばデフォルトの設定状態)から変更後の第2仮想面102bに位置が平行移動される場合を示す。左利きのユーザにとって、仮想面は、自身の左側の位置に設定されている方が、一般的に使いやすい。ユーザは、調整操作として、第2仮想面102の1つの角点を一本指で指し示す操作を行う。表示装置1は、その調整操作を、位置調整操作として検出する。この操作は、前述のつまむ操作としてもよい。ユーザは、その角点の手指を所望の方向に動かす。例えば、元の位置から左下の好適な位置に動かされる。表示装置1は、その手指の位置に合わせて、仮想面空間100の全体の位置(点C0)を移動させる。
図26の(B)は、(A)の際のフィードバック表示例を示す。これは、ユーザの視点から画面10を見た方向での模式図を表示する場合である。調整モード画面410内には、中心に画面枠画像430が表示されている。また、画面枠画像430に対し、概略的に位置関係が伝わるように、変更前の仮想面枠画像411a、及び変更後の仮想面枠画像411bが表示されている。また、位置移動を表す矢印ベクトル画像431が表示されている。操作がされた端子、例えば左下の端子TS3は、赤色にされている。
他の制御例としては、複数の端子のうち、操作される端子(対応する角点)に応じて、移動可能な方向が限定されるように対応付けられてもよい。例えば、左下の端子TS3が操作される場合には左下方向の移動ができ、左辺中間の端子TS8が操作される場合には左方向への移動ができる、等である。
[仮想面調整-サイズ(1)]
図27の(A)は、仮想面のサイズの調整の様子を、ユーザの視点から画面10及び第2仮想面102を見たXY平面で示す。特に、変更前の仮想面空間100aの第2仮想面102aから、変更後の仮想面空間100bの第2仮想面102bへ、比率一定でサイズを拡大する場合を示す。変更前後の第2仮想面102の中心点は点C2で変わらない。第2仮想面102aの4つの角点は、変更前の点p1a~p4aから、変更後の点p1b~p4bになっている。仮想面の縦横(SH,SV)の比率は、デフォルトでは、画面10の縦横の比率と同じである。本例では、サイズの調整の際、比率が一定に維持される。調整操作は、端子TS1~TS4に対応するうちの任意の1つの角点をつまむ操作である。この操作は、一本指の操作としてもよい。ユーザは、例えば右手で右下の角点(点p4a)をつまむ操作によって、サイズを拡大する方向に動かす。この操作に伴い、仮想面空間100は、元の位置、比率、及び傾きを維持したまま、サイズが拡大される。サイズ縮小も同様に可能である。また、比率可変でサイズを変更する方式も同様に可能である。
図27の(B)は、(A)に伴うフィードバック表示例を示す。調整モード画面410に「サイズ変更中」の旨が表示されている。仮想面枠画像411におけるつまむ操作がされた点に対応する端子TS4は、赤色にされている。また、端子TS1~TS4の近くに、サイズ拡大を表す矢印画像441が表示されている。これに限らず、他の表示例として、端子TS1~TS4を起点としたベクトル矢印画像442を表示してもよい。矩形の外側に、拡大の意味を表す仮想面枠画像443を表示してもよい。他の表示例として、画面10内に、図4のように空間を横から見た状態の模式図や、図5のように上から見た状態の模式図、等を表示してもよい。
[仮想面調整-サイズ(2)]
図28は、他の仮想面のサイズの調整の制御例を示す。図28では、ユーザの視点から画面10及び第2仮想面102を見たXY平面で示す。ユーザが点P0から前方斜め下にある第2仮想面102のサイズを調整操作する様子、及びその際のフィードバック表示例を示す。変更前の第2仮想面102aから変更後の第2仮想面102bへ、横(長さSH)のサイズが縮小されて、比率が変わる場合を示す。調整操作は、仮想面の辺の中間点に対するつまむ操作等とする。これにより、仮想面の縦または横のサイズを変更可能とする。本例では、左右辺の2つの端子TS7,TS8に対応する2つの点を、両手で同時に操作することで、横の長さSHを変更可能とする。本例では、右手のつまむ操作によって右辺の中間点p7aを内側左に動かして点p7bにすると共に、左手のつまむ操作によって左辺の中間点p8aを内側右に動かして点p8bにしている。これにより、第2仮想面102aの横の長さSHaが、第2仮想面102bの横の長さSHbに変更されている。それと共に、第2仮想面102bの比率は、画面10の比率よりも縦長にされている。調整モード画面410では、操作された端子TS7,TS8が赤色にされ、横の長さSHの変更を表す矢印画像451が表示されている。上下辺の中間点の操作によって縦の長さSVについても同様に変更可能である。比率を一定にする方式も同様に可能である。
[仮想面調整-傾き(1)]
図29の(A)は、仮想面の傾きの調整の様子を、空間を横から見たYZ平面で示す。特に、仮想面の傾きをユーザから見て奥側に倒すように変更する場合を示す。変更前の仮想面空間100aの第1仮想面101a及び第2仮想面102aから、変更後の仮想面空間100bの第1仮想面101b及び第2仮想面102bへ変化している。変更前後の仮想面空間100の中心点は点C0で変わらない。第1仮想面101の傾き及び点C1と、第2仮想面102の傾き及び点C2とが変化している。
仮想面空間100の傾きを表す軸が変化している。変更前の仮想面空間100aで、点C0を通り仮想面に垂直な軸を軸J1a、点C0を通り仮想面に平行な軸を軸J2aで示す。軸J1aは基準軸K0と一致している。変更後の仮想面空間100bで、点C0を通り仮想面に垂直な軸を軸J1b、点C0を通り仮想面に平行な軸を軸J2bで示す。変更前後で、仮想面の傾きは、角度αに対応する量で変化している。例えば、軸J1aと軸J1bとが成す角度が角度αである。傾きの変更として、点C0を中心として軸を回転する場合を示しているが、これに限らず、例えば第2仮想面102の点C2を中心として軸を回転する方式や、一辺を固定して回転する方式等も可能である。
調整操作は、辺の中間の端子TS5~TS8に対応するいずれかの点のつまむ操作等とする。ユーザは、例えば上辺の中間の端子TS5に対応する第2仮想面102の上辺中間点のつまむ操作によって、手指を奥側に押すように動かす。これに伴い、仮想面空間100は、元の位置及びサイズを維持したまま、傾きが変更される。なお、その点を手前に引くように動かした場合には、逆方向に傾きが変更される。同様に、下辺中間点、左辺中間点等でも、それぞれに対応する傾きが変更できる。
図29の(B)は、(A)の際のフィードバック表示例を示す。調整モード画面410に「傾き変更中」の旨が表示されている。仮想面枠画像411のつまむ操作がされた端子TS5が赤色にされている。また、端子TS5の近くに、傾き変更方向を表す矢印画像461が表示されている。他の表示例として、傾き変更後の仮想面を表す画像462として台形等を表示してもよい。他の表示例として、図29の(A)のように空間を横から見た状態の模式図や、上から見た状態の模式図等でもよい。
[仮想面調整-傾き(2)]
図30は、仮想面の傾きを調整する他の制御例を示す。図30の(A)は、第2仮想面102の傾きの調整操作の様子を示す。ユーザが両手で第2仮想面102の対角の2点をつまむ操作で、仮想面の傾きを奥に倒すように変更する場合を示す。変更前の第2仮想面102a、変更後の第2仮想面102bを示す。変更の際に、第2仮想面102の下辺の位置が殆ど変わらず、上辺が斜め下に移動する場合を示す。第2仮想面102bでは、傾きが水平面に近付いている。この場合、ユーザの手指を水平面に置くような感覚での仮想面操作がしやすくなる。
図30の(B)は、(A)の際のフィードバック表示例を示す。調整モード画面410に、空間を横から見た模式図が表示されている。この模式図は、ユーザ及びユーザ基準位置(点P0)を表す画像470と、仮想面空間100の変更前後の傾きを表す画像471,472と、画面10を表す画像473とを含み、それらの位置関係の概略が表現されている。画像471,472は、仮想面空間100を横から見た場合の傾きが表現されている。
[フィードバック表示例]
図31は、実施の形態1の変形例として、調整モード時の画面10の他のフィードバック表示例を示す。本例では、調整モード画面410に、カメラ基準位置(点Q0)からユーザ基準位置(点P0)を見た場合の模式的な正面図が表示される。この正面図は、ユーザ及びユーザ基準位置を表す画像480と、仮想面空間100(特に第2仮想面102)を表す仮想面枠画像481とを含む。ユーザの画像480は、カメラ画像を用いて作成した画像でもよいし、輪郭やアイコン等の模式的な画像でもよい。ユーザ基準位置(点P0)に合わせた位置に画像480が表示される。仮想面枠画像481は、点P0に対して相対的に決まる点C0に合わせた位置に表示される。仮想面枠画像481は、デフォルトの位置の場合である。また、調整に応じて、変更後の仮想面を表す仮想面枠画像482を表示してもよい。ユーザは、調整モード画面410を見ることで、現在の仮想面空間100の位置等の状態を概略的に確認できる。
[変形例(4)]
図32は、第4変形例における調整方式として、ユーザの視界における画面10及び第2仮想面102の例を示す。第4変形例では、ユーザに対して明示的な調整モードを設けず、モード切り替えを行わず、画面10に調整モード画面410を表示しない。言い換えると、前述の調整モードは、表示装置1(遠隔操作制御部20)の内部処理として実現される。表示装置1は、通常利用時に、特定の調整操作を検出した場合に、リアルタイムで仮想面の調整を行い、設定情報203を更新する。調整操作は、前述と同様に、仮想面の角点に対する一定時間以上での一本指の操作、またはつまむ操作等とする。本例では、画面10に操作メニュー300やカーソル50が表示されている時、ユーザが第2仮想面102の対角の2つの角点のつまむ操作によって、仮想面の位置を調整する場合を示す。第2仮想面102の位置の点C2は、点C2aから点C2bに変更されている。
画面10には、フィードバック表示例として、調整操作が検出されている時に、その調整操作を表す画像等を表示してもよい。本例では、画面10の中央に「調整中」の旨の画像491が重畳表示されている。この際、カーソル50については、例えば調整操作に移る直前の表示状態のまま維持される。例えば、ユーザが右手を右下の角点に移動させたことで、カーソル50が画面10の右下角隅付近に表示されている。他の表示例としては、調整操作に応じて、カーソル50を非表示にしてもよいし、カーソル50を、通常の矢印形状ではなく、調整中を表す他の種類の画像に切り替えてもよい。
ユーザは、変更後の第2仮想面102bの位置で、仮想面決定操作(例えば前述の解除操作)を行う。表示装置1は、その決定操作を検出すると、仮想面の決定として、設定情報203を更新し、画面10の表示状態を元に戻す。この時、カーソル50も動くようになる。
第4変形例では、明示的なモード切り替えが無いので、ユーザは通常操作と調整操作との区別に少し慣れを必要とするが、その代わり、慣れたユーザであれば、すばやい調整が可能である。
[変形例(5)]
図33は、第5変形例における調整方式として、ユーザの視界で画面10及び第2仮想面102を見た状態を示す。第5変形例では、更に仮想面リセット機能を有する。この機能は、ある位置にある仮想面空間100の設定状態を、特定の操作によって取り消して、ユーザの所望の位置に再設定する機能である。第2仮想面102aは、現在の設定状態を示し、中心が点C2aであり、ユーザ基準位置から見て概略的に右側の位置、画面10からは右下の位置にあるとする。ユーザがこの第2仮想面102aの位置を忘れた場合や見失った場合、調整操作に少し手間がかかる。そこで、仮想面リセット機能を用いることができる。
ユーザは、所定の操作によって調整モードに入る。画面10には調整モード画面410が表示される。ユーザは、空間内で仮想面空間100を再設定したい所望の位置に手指を置き、特定のリセット操作を行う。このリセット操作としては、例えば、第2仮想面102の対角の2つの点(例えば角点111,113)をつまむ操作、かつそのつまんだ状態を一定時間以上で維持する操作とする。表示装置1は、時間判断等に基づいて、そのリセット操作を判定、検出する。この際の時間判断の閾値は、比較的長い時間としてもよい。表示装置1は、リセット操作を検出した2点を対角とする矩形を、その状態での位置、サイズ、及び傾きを持つ第2仮想面102bとして再設定する。第2仮想面102bの中心の位置が点C2bである。点C2bは、ユーザ基準位置から見て概略的に左側の位置、画面10から左下の位置になっている。
また、表示装置1は、リセット操作によって仮想面空間100を再設定した時点で、その状態をユーザに伝えるために、画面10に所定の画像を表示する。本例では、画面10内の中央に「リセット」の旨の画像492が表示されている。同様に、画面10内に、再設定された仮想面空間100の位置等を表す模式図等を表示してもよい。
リセット機能は、言い換えると、元の点C2aの位置の第2仮想面102aを、即座に新たな点C2bの位置に移動させることができる機能である。上記のように、リセット機能を用いて、例えば、ユーザが自分の仮想面空間100の位置等を忘れた場合に、それを探す必要無く、すぐに所望の位置に設定可能である。
(実施の形態2)
図34を用いて、本発明の実施の形態2の表示装置及び遠隔操作制御装置について説明する。実施の形態2等における基本的な構成は、実施の形態1と同様である。以下では、実施の形態2等における実施の形態1とは異なる構成部分を説明する。実施の形態2では、表示装置1とは別に、遠隔操作制御装置3を有し、表示装置1と遠隔操作制御装置3とが通信で接続されており、連携して動作する。
図34は、実施の形態2の表示システムの機能ブロック構成を示す。実施の形態2の表示システムは、表示装置1と遠隔操作制御装置3とが接続されるシステムである。表示装置1とは別の独立した装置である遠隔操作制御装置3に、実施の形態1の遠隔操作制御部20の機能を備えている。遠隔操作制御装置3は、表示装置1の本体や画面10のGUI等に対するユーザの遠隔操作を制御する。遠隔操作制御装置3は、遠隔操作の操作入力情報210を生成して表示装置1に送信する。表示装置1は、その操作入力情報210に基づいて、実施の形態1と同様に本体の動作や画面10のGUI等を制御する。
表示装置1は、図2の構成要素と同様の制御部11等に加え、通信部16を有する。通信部16は、遠隔操作制御装置3の通信部42から操作入力情報210を受信し、GUI表示部14等に与える。遠隔操作制御装置3は、図2の遠隔操作制御部20に相当する同様の構成要素を備えると共に、制御部41、通信部42等を有する。制御部41は、遠隔操作制御装置3の全体を制御する。記憶部28は、制御用の情報やデータを記憶する。通信部42は、表示装置1の通信部16との間で通信処理を行う。通信部16及び通信部42は、所定の通信インタフェースに対応した通信インタフェース装置を含む部分である。通信部42は、操作入力情報出力部25から出力された操作入力情報210を、表示装置1の通信部16へ送信する。
実施の形態2でも、実施の形態1と同様に遠隔操作を実現できる。実施の形態2では、表示装置1に遠隔操作制御機能を実装する必要が無く、既存の表示装置も利用可能である。遠隔操作制御装置3には、各種の表示装置を必要に応じて接続して、表示システムを構成可能である。
(実施の形態3)
図35を用いて、本発明の実施の形態3の表示装置について説明する。実施の形態3では、仮想面空間100の設定方式として、絶対方式を用いる。
図35は、実施の形態3における絶対方式を示す。絶対方式では、空間内で、ユーザ基準位置に依らずに、表示装置1(画面10及びカメラ31,32)の位置を基準とした絶対的な位置に、仮想面空間100が設定される。絶対方式では、画面10及びカメラ基準位置からの相対的なベクトル等で決まる位置の点C0に仮想面空間100が設定される。詳しくは以下である。カメラ31,32のカメラ基準位置は、画面10の点Q0に一致する場合とする。まず、点Q0から所定の方向(Z方向)及び距離dA2を持つベクトルvA2の位置に、仮想面空間100として、デフォルトの仮想面空間100a(中心を点C0aとする)が設定される。更に、仮想面空間100aから、調整によって、ユーザの所望の位置等に、仮想面空間100b(中心を点C0bとする)が設定される。点Q0から点C0bへの方向及び距離dB2を持つベクトルvB2を示す。設定情報203には、例えばベクトルvB2が含まれる。サイズや傾きも同様に設定される。
この絶対方式では、ユーザが移動した場合でも、仮想面空間100の位置等は動かない。ユーザによって表示装置1及びカメラ31,32の位置が移動された場合、それに伴い、仮想面空間100の位置等が追随するように更新される。例えば、カメラ基準位置が点Q0から点Q0cの位置に変更された場合を示す。これに伴い、仮想面空間100の中心は、元のベクトルvB2等の相対関係を維持したまま、点C0bから点C0cに移動されている。
表示装置1には仮想面空間100の設定方式として相対方式、絶対方式のいずれかが予め実装されている。あるいは、2つの方式が実装されており、ユーザ設定によって選択設定可能とする形態としてもよい。いずれの方式でも、ユーザ設定画面で、ユーザ、仮想面、及び表示装置1(画面10、カメラ31,32)等の位置関係を表す模式図等を表示して、ユーザにそれらの設定状態を伝えてもよい。
前述の相対方式や上記絶対方式のベクトル、即ち仮想面空間100を規定する方向や距離等の設定値は、ユーザ設定や調整機能によって変更可能である。また、そのベクトル等を設定するための1つの方式として調整機能を用いる場合に、以下の方式としてもよい。例えば、調整モードで、ユーザが現在の仮想面空間100に対して手指を奥行き方向で前後の所望の位置に動かす。この操作の検出に応じて、仮想面空間100が奥行き方向で平行移動され、変更後の位置に対応して、上記ベクトル等が設定される。
(実施の形態4)
図36を用いて、本発明の実施の形態4の表示装置について説明する。前述の実施の形態1等は、2台のカメラが配置された構成であるが、カメラの台数は、2台に限らず、3台以上としてもよい。実施の形態4では、3台のカメラを用いる。カメラの台数は、両眼視差による距離計測の計算を可能にするために、最低2台を用い、計算の精度や処理速度を上げる場合に、3台以上を用いる。
図36は、実施の形態4の表示装置1を含む表示システムの構成を示す。表示装置1の両脇のカメラ31,32は実施の形態1と同様の要素であり、これに加え、カメラ35を有する。カメラ35は、ユーザの手元を高精度に撮影できるように、ユーザの手元に近い位置に配置されている増設カメラであり、例えば二眼カメラである。本例では、カメラ35は、テーブル上でユーザの右手に近い位置に配置されている。カメラ35によって、カメラ31,32とは異なる方向(例えば身体側面を撮影するX方向)から、ユーザの手指の動きを高解像度で撮影する。カメラ35は、表示装置1と無線通信インタフェースで接続されており、撮影映像のデータを無線通信で表示装置1本体へ送信する。カメラ35の位置や撮影方向等は、ユーザによって変更可能となっている。
表示装置1は、カメラ31,32及びカメラ35からの各画像信号を用いて、両眼視差に基づいた距離計測の処理によって、手指位置(点F0)を高精度に検出する。実施の形態4では、カメラ台数が増えるが、より高精度に手指位置を検出可能である。その精度に応じて、所定の操作の検出や、カーソル50の表示等も、より高精度に実現できる。これにより、より高速な操作入力を実現できる。実施の形態4では、ユーザの視聴位置や姿勢の変化、例えば起立した状態や床に座り込んだ状態でも、カメラ35の位置等の調整によって対応可能であり、安定した確実な遠隔操作が実現できる。
(実施の形態5)
図37,図38を用いて、本発明の実施の形態5の表示装置について説明する。実施の形態5は、表示装置1としてプロジェクタに適用する場合を示す。プロジェクタは、デジタル入力データ等に基づいてスクリーン150の画面10に映像を投射表示する機能等を有する。プロジェクタの内部のハードウェア等の構成は公知技術を適用できる。
図37は、表示装置1を含む表示システムの構成を示す。プロジェクタである表示装置1からスクリーン150に対して映像光が投影表示されることで、画面10が構成されている。表示装置1は、筐体の左右の両脇にカメラ31,32を備えている。表示装置1は、例えばスクリーン150とユーザの椅子との間、テーブル上に配置されている。カメラ31,32は、ユーザの顔や手を含む範囲を撮影する。
変形例として、カメラ31,32は前述と同様に位置移動可能な型としてもよい。表示装置1本体が画面10から離れたテーブルの上に設置され、カメラ31,32が画面10の近傍に設置され、表示装置1本体とカメラ31,32とが有線または無線で接続されていてもよい。
図38は、実施の形態5の変形例の表示システムの構成を示す。この変形例では、プロジェクタである表示装置1が、取り付け器具を介して、天井に設置されている。表示装置1が、スクリーン150とユーザとの間の位置にある。表示装置1の両脇のカメラ31,32は、ユーザに対して上方から頭や手を含む範囲を撮影する。
(実施の形態6)
図39~図42を用いて、本発明の実施の形態6の表示装置について説明する。実施の形態6では、遠隔操作制御に関連して、センサを用いて表示装置1の電源オン/オフ等の動作状態を制御することで、省電力化を実現する機能を有する。例えば、ユーザが表示装置1の近くにいる時のみ、表示装置1本体の表示機能や遠隔操作制御機能が電源オン状態にされる。
[表示システム]
図39は、実施の形態6の表示装置1を含む表示システムの構成を示す。表示装置1は、テレビの場合であり、筐体にカメラ31,32を内蔵している例を示す。カメラ31,32のレンズ部分が外に露出している。カメラ31,32の撮影方向等が調整可能となっている。また、ユーザの手指の近くには、実施の形態4と同様にカメラ35が設置されている。カメラ35を省略した形態でもよい。表示装置1は、制御基板60、人感センサ61、主電源部62等を備えている。制御基板60には、プロセッサや前述の図2の各要素が電子回路として実装されている。各要素は、電源線や通信線で相互に接続されている。主電源部62は、表示装置1本体やカメラ31,32等の各部に電力を供給する。
人感センサ61は、赤外線等を用いて、表示装置1の周辺等の所定の範囲(例えば部屋の内部)における人の存在を感知する。人感センサ61は、人の存在を感知した場合、検出信号を制御基板60の制御部に送る。
図40は、表示装置1の詳しいハードウェア等の機能ブロック構成を示す。表示装置1は、第1アンテナ500、第2アンテナ501、チューナ回路502、復調回路503、映像音声データ信号分離回路504、データ伸張回路505、カメラ信号入力回路510、画像メモリ511、MPU(マイクロプロセッサユニット)520、不揮発性データメモリ521、ビデオ入力回路530、グラフィクス回路540、液晶駆動回路550、スイッチ560、表示パネルの画面10、カメラ31,32,35、人感センサ61、主電源部62、電源プラグ63等を有する。表示装置1には、外部PC700等が接続可能である。
MPU520は、表示装置1全体の制御処理を行う主要制御部である。MPU520は、前述の個人認識、手指位置検出、仮想面の設定、調整、GUI表示制御、等の各種の処理をつかさどる。MPU520は、データ伸張回路505からの信号や、ビデオ入力回路530からの映像信号等に基づいて、グラフィクス回路540や液晶駆動回路550等を制御し、画面10にコンテンツ映像やGUI画像を表示させる。グラフィクス回路540は、映像信号に基づいて液晶駆動回路550を制御する。液晶駆動回路550からの駆動によって画面10に映像が表示される。
不揮発性データメモリ521には、制御用のデータや情報が格納されている。不揮発性データメモリ521には、個人認識用の登録顔画像データや、ユーザ個人毎の仮想面設定情報等も格納されている。
表示装置1内には、各部間を接続する信号線や電源線を有する。電源線651は、主電源部62から制御基板60内のMPU520等の電子回路や人感センサ61へ電力を供給する。電源線652は、主電源部62からカメラ31,32,35へ電力を供給する。なお、カメラ31,32,35自体に独立で電源部を備えていてもよい。信号線610~613等では、制御用の信号等が授受される。
表示装置1は、一般的なテレビと同様の表示機能を有する。第1アンテナ500は、地上波デジタル放送用テレビアンテナである。第2アンテナ501は、衛星放送用テレビアンテナである。表示装置1は、第1アンテナ500及び第2アンテナ501で受信されたテレビ信号をチューナ回路502で検波し、復調回路503で復調する。復調後の信号は、映像音声データ信号分離回路504で映像、音声、データのそれぞれの信号に分離される。データ伸張回路505では、圧縮形式の信号の伸張処理を行い、タイムスケールに同期させる処理を行う。外部PC700等から送られるビデオ信号については、ビデオ入力回路530で適切なフォーマットに変換してグラフィクス回路540に伝達される。
カメラ信号入力回路510は、カメラ31,32,35から得られる撮影映像の画像信号を入力し、画像解析等がしやすい所定の形式の画像信号に変換して、画像メモリ511に並べて記憶する。画像メモリ511から画像信号が信号線610を通じてMPU520へ供給される。
MPU520は、画像メモリ511の画像信号を用いつつ、前述の各種の処理を行う。例えば、MPU520は、画像信号から、人の顔の特徴を抽出し、また、腕や手指の特徴を抽出する。MPU520は、抽出した特徴データを用いて、個人認識処理や、両眼視差に基づいた距離計測処理等を行う。MPU520は、個人認識処理では、抽出した特徴データを、不揮発性データメモリ521に格納されている登録顔特徴データと比較照合して、ユーザ個人を識別する。MPU520は、類似度が一定以上となるものがある場合、対象者がその登録顔特徴データのユーザ個人に該当すると判定する。MPU520は、識別した個人に対応する仮想面設定情報(前述の設定情報203)を不揮発性データメモリ521から読み出す。
人感センサ61は、所定の範囲に人が入ったことを検出した場合、検出信号を、信号線612を通じてMPU520へ与える。MPU520は、人感センサ61からの検出信号を入力した場合、信号線613を通じてスイッチ560に制御信号を与え、スイッチ560をオフ状態からオン状態に切り替える。これにより、主電源部62から電源線651,652を通じて各カメラに電力が供給され、各カメラがオン状態になり、撮影が開始される。MPU520は、表示装置1本体の表示機能をオン状態にする場合、主電源部602から制御基板60の各部への電力供給を開始させる。
人感センサ61によって所定の範囲から人が出たことを検出した場合、検出信号がオフになる。MPU520は、検出信号のオフに応じて、内部タイマ等によって時間のカウントを開始する。MPU520は、所定の時間が経過した後でも検出信号がオンにならない場合には、表示装置1本体の電源をオフ状態にする。即ち、表示装置1は、いわゆるオートシャットオフ機能を有する。
[第1制御処理フロー]
図41は、表示装置1の第1制御処理フローを示す。図41の処理は主にMPU520によって行われる。図41は、ステップS1~S11を有する。以下、ステップの順に説明する。
(S1) 最初、主電源部62の主電源がオフ状態であり、表示装置1本体(表示機能)、カメラ31,32(遠隔操作制御部20)等は、電源オフ状態にされている。人感センサ61は、電源オン状態にされている。MPU520は、人感センサ61からの検出信号を受けて、本制御処理を起動する。表示装置1は、検出信号のオン状態に基づいて、スイッチ560のオンにより、カメラ31,32,35を電源オン状態にし、撮影を開始させる。
(S2) MPU520は、画像メモリ511からの画像信号(あるいは照度センサ等でもよい)に基づいて、室内照明状態が、カメラによってユーザの顔や手指を捉えるのに十分な明るさがあるかを判断する。MPU520は、明るさが十分である場合(Y)にはS4へ遷移し、明るさが不十分である場合(N)にはS3へ遷移する。
(S3) 表示装置1は、表示機能をオン状態とし、画面10に高輝度映像を表示する。高輝度映像は、背景を高輝度とした画像であり、撮影を補助するための画像である。例えば、MPU520は、不揮発性データメモリ521から高輝度画像信号を読み出し、グラフィクス回路540等を制御する。あるいは、表示装置1は、画面10に、室内を明るくさせることを促すメッセージ等をスーパーインポーズ等で表示させてもよい。
(S4) 表示装置1は、カメラ画像から、ユーザの顔の特徴を検出し、登録顔特徴データと比較照合して、ユーザ個人の認識処理を行う。また、表示装置1は、空間内のユーザ基準位置(例えば顔の両眼の中心)を表す点P0を検出する。
(S5) 表示装置1は、ユーザ個人を認識できたかを確認し、ユーザ個人を認識できた場合(Y)にはS6へ遷移し、認識できない場合(N)にはS8へ遷移する。
(S6) 表示装置1は、認識したユーザ個人に対応した仮想面設定情報があるかどうかを確認し、ある場合(Y)にはS7へ遷移し、無い場合(N)にはS8へ遷移する。既に設定されている場合、不揮発性データメモリ521には、ユーザ個人の仮想面設定情報が記憶されている。
(S7) 表示装置1は、不揮発性データメモリ521からユーザ個人の仮想面設定情報を読み出し、空間内にユーザ個人の仮想面空間100を設定する。即ち、前述のように、ユーザ基準位置の点P0から所定の方向(例えば基準軸K0)の所定の距離に仮想面空間100の点C0等が設定され、サイズや傾き等も設定される。
(S8) 表示装置1は、不揮発性データメモリ521からデフォルトの仮想面設定情報を読み出し、空間内に標準の仮想面を設定する。即ち、前述のように、ユーザ基準位置の点P0から所定の方向(例えば基準軸J0)の所定の距離に仮想面空間100の点C0等が設定される。
(S9) 表示装置1は、カメラ画像及び設定された仮想面空間100を用いて、遠隔操作制御処理を行う。この制御処理については、次の図42で示される。
(S10) 表示装置1は、遠隔操作制御や本体の動作を終了するかどうか、所定の判断を行う。例えば、表示装置1は、ユーザが終了操作を入力した場合や、カメラ画像からユーザの不在を検出した場合や、人感センサ61で人の不在を検出した場合等には、終了させると判断し、S11へ遷移する。特に、MPU520は、人感センサ61の検出信号がオン状態からオフ状態に変わった場合、内部タイマで時間をカウントする。MPU520は、所定時間経過後、検出信号が再びオフ状態になっていない場合には、ユーザが部屋から出たと判断し、終了させる。終了ではない場合、S9の処理が繰り返される。
(S11) MPU520は、主電源部62からの電源をオフ状態にするようにスイッチ560を制御し、表示装置1本体の表示機能及びカメラ31,32,35を電源オフ状態にする。即ち、表示装置1は、オートシャットオフ機能によって待機状態に入る。
表示装置1の掃除や保守、表示装置1を長期に使用しない場合等には、人感センサ61及びカメラ31,32,35を含め、主電源部62によって表示システム全体が完全に電源オフ状態に移行される。例えば、ユーザによる主電源部62のハードウェアスイッチの手動操作によってその電源オフが制御される。
[第2制御処理フロー]
図42は、図41のS9の処理内容に対応する、表示装置1の第2制御処理フローを示す。図42の処理は主にMPU520によって行われ、特に図2の遠隔操作制御部20の処理に相当する処理を含む。図42は、ステップS21~S33を有する。以下、ステップの順に説明する。
(S21) 表示装置1は、遠隔操作制御部20による遠隔操作制御機能をオン状態にする。
(S22) 遠隔操作制御部20は、入力のカメラ画像から、前述の両眼視差に基づいて距離計測処理によって、手指位置の点F0を検出する。また、遠隔操作制御部20は、前述の手指位置の点F0と仮想面との距離DSTを計算し、距離DSTに応じた深度等を把握する。
(S23) 遠隔操作制御部20は、手指位置、距離DST、深度等に基づいて、まず、手指が第1仮想面101以降の第2空間に進入したかどうかを判定、検出する。進入した場合(Y)にはS24へ遷移し、進入していない場合(N)にはS22へ戻る。
(S24) 表示装置1は、画面10に前述の操作パネル402を表示させ、また、手指位置や距離DSTに対応させて画面10内にカーソル50を表示させる。その際、遠隔操作制御部20は、そのための表示制御情報を含む操作入力情報210を、GUI表示部14に与える。GUI表示部14は、それに基づいて、操作パネル402やカーソル50を表示する。
(S25) 表示装置1の遠隔操作制御部20は、手指位置が第2仮想面102以降の第3空間に進入したかを判断する。進入した場合(Y)にはS26へ進み、そうでない場合(N)にはS24へ戻る。
(S26) 表示装置1の遠隔操作制御部20は、手指位置、距離DST、深度等に基づいて、仮想面空間100に対する所定の操作、または調整に係わる操作を判定、検出する。遠隔操作制御部20は、所定の操作としてタッチ、スワイプ等の操作を判定、検出する。遠隔操作制御部20は、調整に係わる操作として、調整モードに切り替えるためのモード切り替え操作(調整モード切り替え操作)等を検出する。
(S27) 表示装置1は、上記仮想面の調整に係わる操作を検出した場合(Y)には、A1へ遷移する。
(S28) 遠隔操作制御部20は、所定の操作を表す操作情報を含む、操作入力情報210を出力する。GUI表示部14は、操作入力情報210に応じて、所定の操作に対応付けられた対応処理を実行する。なお、S28によって調整用のボタン409が押された場合、同様にA1に遷移される。S28の後、図42の処理を終了として図41のS9の次のS10になり、S10からS9に戻った場合には、同様に図42の処理が最初から繰り返し行われる。
(S31) A1に遷移した場合、まず、遠隔操作制御部20は、通常モードから調整モードに切り替えて、画面10に調整モード画面410を表示する。
(S32) 遠隔操作制御部20は、仮想面空間100での手指による調整操作(前述の一本指の操作またはつまむ操作、仮想面決定操作等)を検出し、調整操作に応じて仮想面の位置、サイズ、傾き等を調整し、仮想面設定情報を更新する。また、遠隔操作制御部20は、調整操作に応じて画面10にフィードバックの画像等を表示するように、表示制御情報を含む操作入力情報210を出力する。
(S33) 遠隔操作制御部20は、調整モード終了を表すモード切り替え操作(通常モード切り替え操作)を検出した場合、調整モードから通常モードに切り替え、元の画面10の表示状態に戻す。S33の後、図42のA1の処理の終了によって図41のS9の次のS10になり、S10からS9に戻った場合には、同様に図42の処理が最初から繰り返し行われる。
上記のように、実施の形態6によれば、リモコン機器を使用せずに遠隔操作を実現すると共に、省電力化も実現できる。ユーザの存在が人感センサ61で感知されない場合、電力消費が抑制される。ユーザの存在が人感センサ61で感知された場合でも、ユーザが仮想面空間100に対する操作を行わない場合、ユーザは通常のテレビ視聴や他の仕事等を続けることができる。
[変形例]
実施の形態6の変形例として、人感センサ61を用いて電源状態を制御する方式以外にも、カメラ画像を用いて電源状態を制御する方式等でもよい。通常時、カメラ31,32またはカメラ35が電源オン状態とされる。表示装置1は、そのカメラの撮影範囲内におけるユーザによる特定の操作を検出する。この特定の操作は、表示機能や遠隔操作制御機能の電源オン指示意図を表し、例えば、画面10またはそのカメラに対して手のひらを一定時間かざす等の簡単な操作である。この特定の操作は、仮想面操作とは異なる。表示装置1は、その特定の操作を、表示機能や遠隔操作制御機能の電源オン指示として対応付けて、表示装置1本体や遠隔操作制御機能をオン状態にする。同様に、カメラの撮影範囲内におけるユーザによる特定の操作を検出し、表示機能や遠隔操作制御機能の電源オフ指示として対応付けてもよい。
特定の操作が検出されていない状態では、ユーザは、テレビ視聴以外の仕事等を続けることができる。特定の操作が検出された時、テレビがオンになって画面10にコンテンツ映像等が表示され、遠隔操作制御機能が有効状態になる。更にユーザが手指を仮想面空間100に近付けると、前述のように操作パネルやカーソルが表示される。ユーザは、遠隔操作を終了する場合、仮想面空間100から手指を遠ざける。
他の変形例として、図41の第1制御処理中、例えばS2で十分な明るさを確認した後に、以下の処理を追加で行ってもよい。表示装置1は、基準となるカメラ31,32間の距離(図19)及びカメラ基準位置が既に得られているかを確認する。表示装置1は、カメラ31,32の位置が固定で、既にその距離及びカメラ基準位置が設定済みである場合には、以降の処理を省略する。表示装置1は、カメラ31,32の位置が可変で、その距離及びカメラ基準位置が得られていない場合、例えば前述の図22の方式で、カメラ31,32間の距離を自動的に測定し、その距離からカメラ基準位置を計算して設定する。
(実施の形態7)
図43を用いて、本発明の実施の形態7の表示装置について説明する。実施の形態7は、表示装置1の遠隔操作制御機能を、複数のユーザが同時に利用できるように制御する機能を有する。表示装置1は、表示装置1の近くにいる複数人のユーザのうち、所定のユーザに仮想面空間100の操作権限を与える制御を行う。この機能は、例えば複数のユーザが1つの表示装置1の画面10に表示される資料等の映像を共有して見ながら会議等を行う場面において有用である。
[表示システム]
図43は、実施の形態7の表示装置1を含む表示システムの構成を示す。本例は、会議システムに適用した場合を示す。本例では、画面10の映像を利用しながら会議を行う5人のユーザA~Eがいる。ユーザA~Eは、カメラ31,32の撮影範囲内に位置する。表示装置1は、カメラ画像から、ユーザA~Eを各個人として区別して検出する。表示装置1は、ユーザA~Eの各個人に、それぞれの専用の仮想面空間100を設定する。例えば、仮想面102Bは、ユーザBに設定された第2仮想面102を示す。仮想面102Cは、ユーザCに設定された第2仮想面102を示す。
仮に、ユーザA~Eが同時に仮想面の操作を行う場合、その複数人の操作を同時に画面10に反映させると、混乱する可能性がある。そこで、そのように複数人の操作を同時に反映したくない場合、以下のように、単一のユーザのみの操作を反映するように制御する方式を用いる。各ユーザは、利用方法を踏まえ、協調して順番に遠隔操作を行う。
表示装置1は、複数のユーザのうち、仮想面空間100に先に手指を進入した一人のユーザのみに、代表操作者としての権限を与えるように制御する。即ち、早い者勝ち方式でその操作権限が与えられる。会議中、例えばユーザBは、画面10の資料の一部箇所を指し示して説明する必要が生じた場合、自分の仮想面102Bに手指を進入させる。この時、ユーザBが一番先に操作しており、他のユーザは仮想面空間100に進入していないとする。これにより、ユーザBに操作権限が与えられ、ユーザBの手指位置に対応する画面10内の位置の点EBにカーソル50が表示される。
また、表示装置1は、代表操作者が仮想面の操作を行っている時に、画面10内の一部箇所(例えば右上)に、現在の代表操作者を表す画像493を表示する。これにより、全ユーザは、現在の代表操作者を共通に認識できる。この画像493は、カメラ画像を用いて作成されてもよいし、予め登録された顔画像、他のアイコンやマーク等の情報でもよい。
次に、ユーザCが、自分の仮想面102Cに手指を進入させたとする。この時、ユーザBが操作中であるため、ユーザCに操作権限は与えられず、ユーザCの手指位置に対応する画面10内の位置の点ECには何も表示されない。次に、ユーザBが、説明等を終えて、手指を仮想面102Bから手前に戻したとする。これにより、ユーザBの操作権限が解除される。次に、ユーザCが、仮想面102Cに手指を進入させたとする。これにより、ユーザCに操作権限が与えられる。ユーザCの手指位置に対応する画面10内の位置の点ECにカーソル50が表示され、画像493はユーザCを表す画像に変わる。
上記のように、実施の形態7によれば、複数人のユーザが存在する環境で、仮想面を用いた遠隔操作を利用する場合にも、誤検出等が少なく、混乱せずに使い勝手が良い環境を実現できる。従来技術では、カメラ画像に複数の人物が写っている場合、遠隔操作を行うユーザと、それ以外の人物との区別がしにくい。例えば、部屋内の子供や、通りすがりの人の動きが外乱として作用し、ユーザのジェスチャが検出しにくく、誤検出になる可能性がある。従来技術では、会議等の場合にも、複数人の同時の遠隔操作をどのように制御すればうまく実現できるか考慮されていない。実施の形態7によれば、複数人の同時の遠隔操作の利用の場合にも、円滑に実現できる。
上記操作権限の制御は、前述の操作パネル402についても同様に適用可能である。また、変形例として、上記操作権限は、一人に限らず、所定人数に与えるようにしてもよい。その場合、画面10には、所定人数分の複数のカーソル50が表示され、操作権限を持つ各ユーザが同時に遠隔操作可能である。ユーザ個人毎に異なる画像のカーソル50が表示されるように割り当てられる。複数人で共同作業を行うアプリ等の場合、そのような制御が有用である。また、変形例として、複数のユーザの間に、所定の優先順位を設定してもよい。複数のユーザが仮想面に殆ど同時に手指を進入した場合、優先順位に応じて操作権限が与えられる。例えば、優先順位が低いユーザBが操作中に、それよりも優先順位が高いユーザCが仮想面に手指を進入した場合に、操作権限をユーザBからユーザCへ移すように制御してもよい。
[身体連続性の判定]
各実施の形態の補足として以下である。表示装置1は、カメラ画像の解析に基づいて、ユーザの顔や頭の部分と、手指や腕の部分とを検出する際、ユーザ個人の身体の連続性や同一性を判定する。例えば、実施の形態7のように複数人の同時利用の場合、カメラ画像内における顔と、その近くにある手指とが、同一ユーザのものではない可能性もある。例えば、ユーザBの横からユーザAが腕を伸ばしてユーザBの仮想面に手指を進入する場合がある。表示装置1は、このような可能性も考慮し、カメラ画像の解析の際、ユーザ個人の身体の連続性及び同一性を判定する。表示装置1は、例えば、画像内で、ある顔領域から連続的に腕や手指の領域がつながっているかどうかを判定し、つながっている場合には同一ユーザのものと判定する。表示装置1は、画像内の顔と手指とが異なるユーザのものであると判定した場合には、遠隔操作として無効とする。
[手に物体を持つ場合]
遠隔操作の際、基本的に、ユーザは、手に何も持たない状態で仮想面操作が可能である。これに限らず、ユーザは、手に指示棒等の物体を持った状態での仮想面操作も可能である。この場合、表示装置1は、ユーザ設定等に基づいて、カメラ画像から、その所定の指示棒等の物体を検出する。表示装置1は、手指とその物体との連続性も判定する。表示装置1は、その物体の先端の位置を表す点を、点F0として検出する。表示装置1は、予め、指示棒等の物体の画像を登録しておき、カメラ画像からの検出の際に、その物体の色や形状等を検出し、制御に利用してもよい。
以上、本発明を実施の形態に基づいて具体的に説明したが、本発明は上述した実施の形態に限定されず、その要旨を逸脱しない範囲で種々変更可能である。実施の形態の構成要素の追加や削除、分離や併合、置換、組合せ等が可能である。実施の形態の具体例の数値等は一例である。実施の形態の機能等は、一部または全部が集積回路等のハードウェアで実現されてもよいし、ソフトウェアプログラム処理で実現されてもよい。各装置の機能等を構成するソフトウェアは、製品出荷時点で予め装置内に格納されていてもよいし、製品出荷後に外部装置から通信を介して取得されてもよい。本発明は、テレビ等の表示装置に限らず、各種の電子機器やシステム(例えば会議システム、デジタルサイネージ等)の操作入力に適用可能である。