【文献】
程 浩侃、高橋 伸、田中 二郎,ProphetCursor:顔の向き方向によってカーソル移動を補助する大画面ポインティング手法,[DVD−ROM]論文集 ヒューマンインタフェースシンポジウム2011,日本,2011年 9月13日,pp.1087-1092
(58)【調査した分野】(Int.Cl.,DB名)
前記情報表示部は、前記領域選択部が選択した前記所定の領域に対応する情報として、前記ユーザに操作をさせるためのアイコンを表示させる、請求項1に記載の情報処理装置。
前記情報表示部は、前記領域選択部が選択した前記所定の領域に対応する情報として、前記ユーザに選択をさせるためのメニューを表示させる、請求項1に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0014】
なお、説明は以下の順序で行うものとする。
<1.本開示の一実施形態>
[表示装置の外観例]
[表示装置の機能構成例]
[表示装置の動作]
<2.まとめ>
【0015】
<1.本開示の一実施形態>
[表示装置の外観例]
まず、本開示の一実施形態にかかる表示装置の外観例について説明する。
図1は、本開示の一実施形態にかかる表示装置100の外観例を示す説明図である。以下、
図1を用いて本開示の一実施形態にかかる表示装置100の外観について説明する。
【0016】
図1に示した表示装置100は、本開示の情報処理装置の一例であり、ユーザのジェスチャを検出し、そのジェスチャに応じた処理を実行する。
図1に示したように、本開示の一実施形態にかかる表示装置100は、表示部110と、カメラ120と、を含んで構成される。
【0017】
表示部110は、供給される信号に応じて画像を表示する。カメラ120は、表示部110の表示面と同じ向きに設けられ、表示部110の表示面に対向する物体を撮像する。
図1に示した表示装置100は、カメラ120が撮影した画像からユーザのジェスチャを検出し、そのジェスチャに応じた処理を実行するように構成される。
【0018】
図1に示した表示装置100は、カメラ120が撮影した画像からユーザのジェスチャを検出し、そのジェスチャに応じた処理を実行するように構成される装置であれば何でも良く、例えばテレビであってもよく、またパーソナルコンピュータその他の情報処理装置に接続されるモニタであってもよく、またプロジェクタであってもよい。
【0019】
以上、
図1を用いて、本開示の一実施形態にかかる表示装置100の外観例について説明した。次に、本開示の一実施形態にかかる表示装置100の機能構成例について説明する。
【0020】
[表示装置の機能構成例]
図2は、本開示の一実施形態にかかる表示装置100の機能構成例を示す説明図である。以下、
図2を用いて本開示の一実施形態にかかる表示装置100の機能構成例について説明する。
【0021】
図2に示したように、本開示の一実施形態にかかる表示装置100は、表示部110と、カメラ120と、画像処理部130と、動作検出部140と、領域選択部150と、情報表示部160と、を含んで構成される。
【0022】
表示部110は、上述したように供給される信号に応じて画像を表示する。本実施形態では、表示部110は、情報表示部160から供給される信号に応じた情報を表示する。表示部110は、例えば液晶ディスプレイパネル、有機ELディスプレイパネル、プラズマディスプレイパネルのような表示デバイスの他、表示装置100がプロジェクタの様に壁面等に映像を投影することで情報を表示する装置である場合には、その映像を投影するデバイスおよびそのデバイスが映し出した画像を表示する表示面から構成されていてもよい。
【0023】
カメラ120は、上述してきたように、表示部110の表示面と同じ向きに設けられ、表示部110の表示面に対向する物体を撮像する。カメラ120は、レンズや、CCDイメージセンサ、CMOSイメージセンサその他の撮像素子等を備えており、レンズを通して撮像素子に入射された光を電気信号に変換することで、画像データの基となるデータを得ることができる。カメラ120は、電気信号を画像処理部130へ供給する。
【0024】
画像処理部130は、カメラ120で得られた電気信号に対して所定の信号処理を施して、画像データを得る。画像処理部130は、所定の信号処理として、例えばノイズリダクション処理、ホワイトバランス処理等を実行する。画像処理部130は、信号処理を施して得られる画像データを動作検出部140に供給する。
【0025】
動作検出部140は、画像処理部130から供給される画像データを用いて、表示部110の表示面に対向するユーザの動作を検出する。動作検出部140は、画像データを用いてユーザの動作を検出すると、検出結果を領域選択部150に出力する。動作検出部140は、画像データを用いてユーザの動作を検出するに際して、例えば顔認識処理や、ユーザの所定の動作を検出する処理を実行する。
【0026】
領域選択部150は、動作検出部140によるユーザの動作の検出結果を用いて、表示部110の表示領域の中から領域を選択する。領域選択部150による領域の選択処理については後に詳述する。領域選択部150は、表示部110の表示領域の中から領域を選択すると、選択した領域の情報を情報表示部160に供給する。
【0027】
情報表示部160は、表示部110に対して、領域選択部150が選択した表示部110の表示領域の中の領域に所定の情報を表示させる。情報表示部160が表示部110に表示させる所定の情報は、例えばカーソル、アイコン、メニュー画面等の、ユーザに操作や選択をさせるための情報である。
【0028】
以上、
図2を用いて本開示の一実施形態にかかる表示装置100の機能構成例について説明した。次に、本開示の一実施形態にかかる表示装置100に含まれる動作検出部140の機能構成例について説明する。
【0029】
図3は、本開示の一実施形態にかかる表示装置100に含まれる動作検出部140の機能構成例を示す説明図である。以下、
図3を用いて本開示の一実施形態にかかる表示装置100に含まれる動作検出部140の機能構成例について説明する。
【0030】
図3に示したように、本開示の一実施形態にかかる表示装置100に含まれる動作検出部140は、顔検出部142と、ジェスチャ検出部144と、を含んで構成される。
【0031】
顔検出部142は、画像処理部130から供給される画像データを用いて、画像データに含まれる顔の有無を検出すると共に、顔が含まれていた場合には、その顔が表示部110の表示領域のどの位置を示しているのかを推測する。
【0032】
ジェスチャ検出部144は、画像処理部130から供給される画像データを用いて、画像データに含まれる、ユーザが表示部110に向かって行った所定のジェスチャを検出する。動作検出部140は、顔検出部142による顔検出及びジェスチャ検出部144によるジェスチャ検出の結果を領域選択部150に出力する。領域選択部150は、動作検出部140から供給される、顔検出部142による顔検出及びジェスチャ検出部144によるジェスチャ検出の結果を用いて、表示部110の表示領域の中から領域を選択することができる。
【0033】
以上、
図3を用いて本開示の一実施形態にかかる表示装置100に含まれる動作検出部140の機能構成例について説明した。次に、本開示の一実施形態にかかる表示装置100の動作について説明する。
【0034】
本開示の一実施形態にかかる表示装置100は、カメラ120で撮像して得られる画像データから、表示装置100の表示部110の表示面に対向するユーザの顔およびユーザが行ったジェスチャを検出することができる。そして表示装置100は、ユーザの顔およびユーザが行ったジェスチャの検出結果に基づいて、表示装置100の表示部110の表示領域の中から領域(例えば表示領域上の位置や範囲)を選択することができると共に、その選択した領域に情報(例えば、カーソルやメニュー等)を表示することができる。
【0035】
以下の説明では、本開示の一実施形態にかかる表示装置100の動作の一例として、カメラ120で撮像して得られる画像データから、表示装置100の表示部110の表示面に対向するユーザの顔およびジェスチャを検出して、表示部110におけるユーザの顔の向きに対応する位置にカーソルを表示させる処理について説明する。さらに、カメラ120で撮像して得られる画像データから、表示装置100の表示部110の表示面に対向するユーザのジェスチャを検出し、そのジェスチャに応じてそのカーソルを移動させる処理について説明する。
【0036】
顔検出部142による、画像座標上での顔検出位置を用いた、表示装置100の表示部110を中心とした表示部中心座標系での顔位置を推定する処理について詳細に説明する。まず、顔検出部142は画像座標上での顔検出位置を用いて画像中心座標系の顔位置に変換し、その後カメラ中心座標系での顔位置に変換する。そして、顔検出部142は、カメラ中心座標系での顔位置から、表示装置100の表示部110を中心とした表示部中心座標系での顔位置に変換する。
【0037】
図4は、顔検出部142による画像中心座標系の顔位置への変換処理について示す説明図である。画像処理部130から供給される画像データにおける画像座標上での顔検出位置(x,y)[0≦x、y≦1]から、画像中心座標系での顔位置(v_rad,h_rad)[rad]への変換は、以下の数式で求められる。
v_rad=−face_cy*camViewAngleH
h_rad=−face_cx*camViewAngleH
【0038】
なお、各変数は以下に示した通りの意味である。
face_cx:画像中心座標系での水平方向顔検出位置[−0.5〜0.5]
face_cy:画像中心座標系での垂直方向顔検出位置[−0.5〜0.5]
face_cx=x+w/2+0.5
face_cy=y+h/2+0.5
camViewAngleV:カメラ垂直方向画角[rad]
camViewAngleH:カメラ水平方向画角[rad]
w:顔検出幅[0〜1]
h:顔検出高[0〜1]
【0039】
図5は、顔検出部142による画像中心座標系での顔位置からカメラ中心座標系での顔位置への変換処理について示す説明図である。画像中心座標系での顔位置(v_rad,h_rad)[rad]からカメラ中心座標系での顔位置(cam_x,cam_y,cam_z)[mm]への変換は、以下のような数式で行うことができる。
cam_x=1000*FACESIZE_AT_1000/w
cam_y=cam_x*tan(h_rad)
cam_z=cam_x*tan(v_rad)
【0040】
なお、FACESIZE_AT_1000は、距離1000[mm]時での顔サイズw[0〜1]を表す。
【0041】
図6は、顔検出部142によるカメラ中心座標系での顔位置から、表示装置100の表示部110を中心とした表示部中心座標系での顔位置への変換処理について示す説明図である。カメラ中心座標系での顔位置(cam_x,cam_y,cam_z)[mm]から、表示装置100の表示部110を中心とした表示部中心座標系での顔位置(pos_x,pos_y,pos_z)[mm]への変換は、以下のような数式で行うことができる。
pos_x=cam_x*cos(pitch)+cam_z*sin(pitch)+shift_x
pos_y=cam_y+shift_y
pos_z=−cam_x*sin(pitch)+cam_z*cos(pitch)+shift_z
【0042】
なお、各変数は以下に示した通りの意味である。
pitch:カメラの表示装置100に対する傾き角[rad]
shift_{x,y,z}:カメラ120の中心から表示装置100の表示部110の中心までのx、y、z方向の偏差[mm]
【0043】
以上から、顔検出部142は、画像座標上での顔検出位置から、表示部中心座標系での顔位置を求めることができる。
【0044】
顔検出部142は、顔検出位置(x,y)[0〜1]を取得すると共に、その顔が向いている顔方向(theta,phi)[rad]を取得する。顔検出部142は、表示部中心座標系での顔位置と、顔方向とから、その顔が指し示す表示部110の表示領域上の位置を計算で求めることができる。
図7は、顔検出部142が検出した顔が指し示す表示部110の表示領域上の位置の算出について示す説明図である。
【0045】
表示部中心座標系での顔位置(pos_x,pos_y,pos_z)[mm]と顔方向とから、その顔が指し示す表示部110の表示領域上の位置(dsp_x,dsp_y,dsp_z)[mm]への変換は、以下のような数式で行うことができる。
theta=atan(pos_y/pos_x)
phi=atan(pos_z/pos_x)
【0046】
なお、各変数は以下に示した通りの意味である。
dsp_x=0.0
dsp_y=−pos_y+pos_x*tan(yaw+theta)
dsp_z=pos_z−pos_x*tan(pitch+phi)
【0047】
図8は、顔検出部142が検出した顔が指し示す画面上の位置から画像座標系でのカーソル位置への変換処理について示す説明図である。顔検出部142が検出した顔が指し示す画面上の位置(dsp_x,dsp_y,dsp_z)[mm]から画像座標系でのカーソル位置(csr_x,csr_y)[pixcel]への変換は、以下のような数式で行なうことができる。
【0048】
csr_x=(−dsp_y/dsp_size_w+0.5)*dsp_rsl_w
csr_y=(−dsp_z/dsp_size_h+0.5)*dsp_rsl_h
【0049】
なお、各変数は以下に示した通りの意味である。
dsp_size_w:ディスプレイ横幅長[mm]
dsp_size_h:ディスプレイ縦幅長[mm]
dsp_rsl_w:ディスプレイ横幅解像度[pix]
dsp_rsl_h:ディスプレイ縦幅解像度[pix]
【0050】
以上から、カメラ中心座標系での顔位置と顔方向から、その顔が指す表示部110の表示領域上の領域(座標)を求めることができる。
【0051】
続いて、ジェスチャ検出部144によるジェスチャ検出処理について具体例を上げて詳細に説明する。例えば、ユーザがカメラ120に向かって、手を握ったり(グー)、手を開いたり(パー)するなど、特定の手の形状に変化させると、ジェスチャ検出部144で手検出が行われ、手の動きのトラッキング(手トラッキング)が開始される。
【0052】
ジェスチャ検出部144は、ユーザが特定の動作を行ったことを画像データから検出すると、画像座標上での検出位置からカメラ中心座標系での手位置を推定する。このジェスチャ検出部144による手位置の推定処理は、上述の顔検出部142の場合と同様に行う。
【0053】
ジェスチャ検出部144は、推定したカメラ中心座標系での手位置に関して、一定時間dtでの水平・垂直方向移動量(dHw,dHh)[mm/s]に基づいて、一定時間dt後の画像座標系でのカーソル位置(csr_x
t+dt,csr_y
t+dt)[pixcel]を下記の数式で決定する。
csr_x
t+dt=csr_x
t+gain*dHw
csr_y
t+dt=csr_h
t+gain*dHh
なお、gainは係数であり、gainの値を変化させることで、手トラッキングに基づくカーソルの移動量を調節することができる。
【0054】
顔情報がカーソルに影響を与えるのは、手トラッキングを開始した時のみで、手トラッキングが継続している間は、顔情報はカーソルの移動に影響を与えない。表示装置100は、手トラッキングが継続している間は、ジェスチャ検出部144が検出したユーザの手の位置の情報のみを用いてカーソルを制御する。
【0055】
本開示の一実施形態にかかる表示装置100は、上述した動作を行うことにより、顔情報を使ってカーソルを大きく移動させるとともに、顔情報を使ったカーソルの移動後は、手の移動によって細かくカーソルを移動させることで、目的の位置に容易にカーソルを移動させることができる。
【0056】
図9A〜
図9Cは、本開示の一実施形態にかかる表示装置100の制御例を示す説明図である。
図9A〜
図9Cは、本開示の一実施形態にかかる表示装置100に向かってユーザが顔を動かしたり、所定のジェスチャを行ったりすることで、表示部110に表示されるカーソルの移動を制御する場合の例を示したものである。なお、
図9A〜
図9Cにおいては、表示装置100がウェブブラウザを表示させており、ユーザが表示装置100に向かって顔を動かしたり、腕を挙げたりするなどしてウェブブラウザを操作する場合を例示するものとする。
【0057】
図9Aは、表示装置100の表示部110に、カーソル111が情報表示部160によって表示されている状態において、表示装置100に対向しているユーザが、カーソル111の表示位置ではない表示部110のある場所L1の方向を向いている状態を示している。このように、単にユーザが表示部110のある場所L1の方向を向いているだけでは、情報表示部160はカーソル111の表示位置を場所L1に移動させることはしない。
【0058】
図9Bは、表示装置100の表示部110に、カーソル111が情報表示部160によって表示されている状態において、表示装置100に対向しているユーザが、カーソル111の表示位置ではない表示部110のある場所L1の方向を向いていた上で、右手を挙げたジェスチャを行った状態を示している。ユーザが表示部110のある場所L1の方向を向いている状態で、ユーザが右手を挙げたジェスチャを行うと、カメラ120がユーザを撮像し、動作検出部140が、画像データからユーザの顔の向き及びユーザのジェスチャを検出し、領域選択部150が、動作検出部140の検出結果に基づいて表示部110の位置(場所L1)を選択し、領域選択部150が選択した位置へ情報表示部160がカーソルを表示させる。
【0059】
なお、
図9Aの状態から
図9Bの状態に変化させる際に、表示装置100は、カーソル111の移動の軌跡が分かるようにしてもよく、軌跡を見せずに即座にカーソル111を移動させてもよい。また、
図9Aの状態から
図9Bの状態に変化させる際に、表示装置100は、カーソル111が移動したことが分かるようにカーソル111を強調表示(例えばカーソル111の周囲を光らせる等)してもよい。
【0060】
図9Cは、
図9Bに示した状態に続いて、表示装置100に対向しているユーザが、挙げている右手を動かしている状態を示したものである。
図9Bに示した状態に続いて、表示装置100に対向しているユーザが、挙げている右手を動かすと、カメラ120がユーザを撮像し、動作検出部140が、画像データからユーザのジェスチャを検出し、領域選択部150が、動作検出部140の検出結果に基づいて表示部110の位置を選択し、領域選択部150が選択した位置へ情報表示部160がカーソルを表示させる。すなわち、ユーザが手を右に動かせば、情報表示部160はカーソルを右に動かし、ユーザが手を左に動かせば、情報表示部160はカーソルを左に動かす制御を行う。
【0061】
図9Cのように、表示装置100がユーザの腕の動きに追従してカーソル111を動かしている際は、表示装置100は、例えばウェブブラウザで表示されているウェブページ上のリンクの選択は、ユーザのさらに別の動作(例えば、挙げている腕の手を前に倒す等)を検出した時点で行なっても良い。
【0062】
なお、
図9Cのように、表示装置100に対向しているユーザが、挙げている右手を動かしている状態で、ユーザが顔の向きを変化させても、表示装置100は、カーソルの表示に際して、ユーザの顔の向きの変化には追従しない。カーソルの位置を大きく移動させるためには、例えばユーザは、一度右腕を下ろし、カーソルを表示させたい位置に顔の向きを合わせ、再度右腕を挙げて、手を握り直したり開き直したりする動作を行う。表示装置100は、ユーザが右腕を下ろした後、再度右腕を上げたことを検出すると、その時にユーザの顔が向いている位置にカーソルを表示させる制御を実行する。
【0063】
このように、表示装置100は、カメラ120でユーザを撮像した結果に基づいて表示部110に表示させるカーソルの動きを制御することができる。
【0064】
図10は、本開示の一実施形態にかかる表示装置100の動作を示す流れ図である。
図10の流れ図は、表示装置100が、カメラ120で撮像して得られる画像データからユーザの顔およびジェスチャを認識して、認識結果に応じて表示部110に情報を表示する際の動作について示したものである。以下、
図10を用いて本開示の一実施形態にかかる表示装置100の動作について説明する。
【0065】
ユーザの顔およびジェスチャを認識して、認識結果に応じて表示部110に情報を表示するには、まず表示装置100は、表示装置100に備えられたカメラ120でユーザの姿を撮像する(ステップS101)。表示装置100に備えられたカメラ120でユーザの姿を撮像すると、続いて表示装置100は、カメラ120の撮像により得られる画像データから、ユーザの顔の向き及びユーザのジェスチャを検出する(ステップS102)。このステップS102のユーザの顔の向き及びユーザのジェスチャの検出は動作検出部140が行う。動作検出部140による、ユーザの顔の向き及びユーザのジェスチャの検出は上述したような処理によって行われる。
【0066】
上記ステップS102で、カメラ120の撮像により得られる画像データから、ユーザの顔の向き及びユーザのジェスチャを検出すると、続いて表示装置100は、検出したユーザの顔の向きおよびユーザのジェスチャに応じた、表示部110の表示領域上の領域を選択する(ステップS103)。検出したユーザの顔の向きおよびユーザのジェスチャに応じた、表示部110の表示領域上の領域の選択は、領域選択部150が実行する。
【0067】
上記ステップS103で、検出したユーザの顔の向きおよびユーザのジェスチャに応じた、表示部110の表示領域上の領域を選択すると、続いて表示装置100は、ステップS103で選択した表示部110の表示領域上の領域へ情報(アイコンやメニューなど)を表示する(ステップS104)。ステップS103で選択した表示部110の表示領域上の領域への情報の表示は、情報表示部160が実行する。
【0068】
上記ステップS104で、表示装置100は、ステップS103で選択した表示部110の表示領域上の領域へ情報(アイコンやメニューなど)を表示すると、表示装置100は、上記ステップS102で検出したジェスチャに継続して行われるユーザのジェスチャを検出し、そのジェスチャに応じて、選択する表示部110の表示領域上の領域を変化させる(ステップS105)。表示部110の表示領域上の選択領域の変化は、領域選択部150が実行する。
【0069】
このステップS105の処理は、上述した
図9Cの制御に対応する。すなわち、ユーザが右腕を挙げた後、その右腕を動かしたことを動作検出部140が検出すると、領域選択部150は、動作検出部140の検出結果に応じて選択領域を変化させて、情報表示部160は、領域選択部150が変化させた選択領域に基づいて、表示部110に表示させているカーソル111を移動させる。
【0070】
表示装置100は、このような一連の動作を実行することで、ユーザの顔の向きおよびジェスチャを検出し、その検出結果を用いて、表示部110の表示領域の中から領域を選択し、その選択した領域に情報を表示することができる。
【0071】
例えば、表示装置100は、ユーザが表示部110の方を向いている場合は、表示部110の表示領域の中からユーザが向いている位置を検出し、さらにユーザが特定の動作(例えば右腕を挙げる)を行ったことを検出すると、そのユーザが向いている位置にカーソルを表示させる。そして表示装置100は、ユーザが表示部110の方を向いていて、かつ、上記特定の動作を行ったことで表示部110にカーソルが表示されている状態で、ユーザがさらに別の動作(例えば挙げている右腕を動かす)を行ったことを検出すると、その動作に応じて、表示部110に表示させたカーソルを移動させることができる。
【0072】
以上、表示装置100の動作について説明した。上述の説明では、表示装置100がウェブブラウザを表示し、そのウェブブラウザをカーソルで操作する場合を例示したが、もちろん本開示は係る例に限定されるものではない。
【0073】
例えば、表示装置100が動画像や静止画像などのコンテンツを表示している際に、ユーザにコンテンツの選択や再生・停止などの制御を行わせる場合にも、表示装置100は、上述の顔の向きやジェスチャの検出による制御を実行しても良い。
【0074】
図11は、表示装置100の表示部110に表示される画面の例を示す説明図である。
図11には、表示部110にコンテンツC1が表示されている際に、ユーザのジェスチャによってメニューM1が表示されている状態が示されている。このメニューM1を表示させるには、例えば、ユーザはメニューM1が表示される領域を向き、特定の動作(例えば右腕を挙げる)を行う。表示装置100は、ユーザが上記特定の動作を行った時点の顔の向きを検出し、ユーザの顔が、メニューM1が表示される領域を向いている場合は、情報表示部160により、表示部110にメニューM1を表示させる。
【0075】
なお、
図11では表示部110の右側の領域にメニューM1が表示される場合について示したが、本開示は係る例に限定されるものではない。例えば、ユーザが表示部110の左側の領域を向いた状態で上記特定の動作を行ったことを動作検出部140が検出すると、その表示部110の左側の領域にメニューM1を表示させるようにしても良い。また例えば、表示部110の左側の領域にメニューM1とは異なる別のメニューが表示されるような場合に、ユーザが表示部110の右側の領域を向いて特定の動作を行ったらメニューM1を、表示部110の左側の領域を向いて特定の動作を行ったらメニューM1とは異なるメニューを表示させるようにしても良い。
【0076】
図11では、表示装置100が動画像や静止画像などのコンテンツを表示している際に、ユーザにコンテンツの選択や再生・停止などの制御を行わせる場合を例示した。続いて、表示部110の複数の領域の中から1つの領域の選択をユーザに行わせる場合について説明する。
【0077】
図12は、表示装置100の表示部110に表示される画面の例を示す説明図である。
図12には、6つの領域R1〜R6の中から1つの領域をユーザに選択させる場合が例示されている。なお、6つの領域R1〜R6に表示されているものは、静止画像や動画像のようなコンテンツであってもよく、ウェブブラウザで表示するウェブページが縮小表示されたようなものであってもよい。
【0078】
ユーザは、6つの領域R1〜R6の中から1つの領域を選択するには、6つの領域R1〜R6の中からいずれか1つの領域の方を向き、特定の動作(例えば右腕を挙げる)を行う。表示装置100は、ユーザが上記特定の動作を行った時点の顔の向きを検出し、ユーザの顔が、6つの領域R1〜R6の中のどれか1つの領域を向いていれば、その領域を選択し、その領域に表示されているコンテンツの再生や、縮小表示されているウェブページの全画面への拡大表示などを実行する。
【0079】
表示装置100は、ユーザが特定の動作を行った時点のユーザの顔の向きを検出し、顔が向いている方向に応じて表示動作を変更しても良い。例えば、表示装置100が縦に長いウェブページを表示部110に表示しており、ウェブページを上下にスクロールさせたい場合に、ユーザは表示部110の表示領域の上の部分または下の部分を向いた状態で特定の動作(例えば右腕を挙げる)を行う。表示装置100は、その動作を行った時点でユーザが表示部110の表示領域の上の部分を向いている場合には、表示部110に表示しているウェブページを上にスクロールさせ、表示部110の表示領域の下の部分を向いている場合には、表示部110に表示しているウェブページを下にスクロールさせるようにしてもよい。左右方向にスクロールさせたい場合についても、同様にユーザの顔の向きを検出することで左右方向へのスクロールが可能になる。
【0080】
ユーザが腕の動きによってカーソルを操作させる場合には、ユーザが腕を動かせる範囲には限界があるので、表示装置100は、ユーザが特定の動作(例えば右腕を挙げる動作)を行った時点で、ユーザが操作することができる可動範囲を表示部110に表示させても良い。
【0081】
図13Aおよび
図13Bは、表示装置100の表示部110に表示される画面の例を示す説明図である。
図13および
図13Bには、ユーザが特定の動作(例えば右腕を挙げる動作)を行った時点で、ユーザがカーソル111を操作することができる可動範囲S1を、表示装置100が表示部110に表示させた状態が例示されている。なお、ユーザの可動範囲は、ユーザの顔の向きと、ユーザが特定の動作を行った時点のユーザの姿勢とから決定しても良い。
【0082】
例えば、ユーザが右腕を挙げることでユーザが向いている場所にカーソル111を表示させるような場合、右腕が顔の近くで挙げられていれば、カーソル111の可動範囲S1は、
図13Aに示したように、カーソル111が表示された位置を中心にほぼ円形を描く。一方、右腕が顔から遠い位置で挙げられていれば、カーソル111の可動範囲S1は、
図13Bに示したような形状となる。
【0083】
表示装置100は、検出した特定の動作の違いで、動作の制御を変化させても良い。例えば表示装置100は、ユーザが右腕を挙げた場合において、さらにユーザが右手を握っている場合と、右手を開いている場合とで、手の形状の違いを認識することで異なる動作を実行するようにしても良い。
【0084】
表示装置100は、処理対象の位置と、検出している顔の位置が所定量以上離れていれば、処理をリセットするためのリセット動作を促しても良い。例えば、ユーザが特定の動作(例えば右腕を挙げる動作)を行ったことを検出して表示部110にカーソルを表示させる場合、表示部110に向かってユーザの顔が向いている位置と、表示部110に表示しているカーソルの位置とが所定量離れていると、表示装置100は、情報表示部160に、カーソル表示をリセットするためのリセット動作を促す情報を表示部110に表示させるようにしても良い。
【0085】
表示装置100は、ユーザが特定の動作を行なって表示部110にカーソルを表示させた後の、ユーザの顔の位置と、ユーザが特定の動作を行なっている部位との距離に応じて、表示部110に表示させたカーソルの速度のゲインを変化させても良い。例えば、ユーザの顔の位置と、ユーザが特定の動作を行なっている部位との距離が近ければ、ユーザの腕の動きによってカーソルの移動速度は遅くして、ユーザの顔の位置と、ユーザが特定の動作を行なっている部位との距離が遠ければ、ユーザの腕の動きによってカーソルの移動速度は速くするようにしても良い。
【0086】
表示装置100は、表示部110にカーソルを表示させた後に、そのカーソルの周辺で選択できるコンテンツの有無で、カーソルの移動速度を変化させても良い。例えば、表示部110にカーソルを表示させた後に、そのカーソルの周辺で選択できるコンテンツが複数存在するような場合は、表示装置100は、コンテンツをユーザに選択させやすくするために、カーソルの移動速度を遅くしてもよく、そのカーソルの周辺で選択できるコンテンツが1つだけ存在するような場合または全く存在しないような場合は、カーソルの操作性を重視して、カーソルの移動速度を速くしてもよい。
【0087】
なお、上述の説明では、表示装置100は、ユーザが特定の動作、特に身体的な動作を行った時点での顔の向きに応じて、表示部110にカーソルを表示させていたが、本開示は係る例に限定されるものではない。例えば表示装置100は、ユーザが特定の音声を発した時点でのユーザの顔の向きに応じて、表示部110にカーソルを表示させてもよい。
【0088】
次に、
図14を参照しながら、本開示の一実施形態に係る表示装置100のハードウェア構成について、詳細に説明する。
図14は、本開示の一実施形態に係る表示装置100のハードウェア構成を説明するためのブロック図である。
【0089】
表示装置100は、主に、CPU901と、ROM903と、RAM905と、を備える。また、表示装置100は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
【0090】
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、表示装置100内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
【0091】
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
【0092】
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、表示装置100の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。表示装置100のユーザは、この入力装置915を操作することにより、表示装置100に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0093】
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、表示装置100が行った各種処理により得られた結果を出力する。具体的には、表示装置は、表示装置100が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【0094】
ストレージ装置919は、表示装置100の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータ等を格納する。
【0095】
ドライブ921は、記録媒体用リーダライタであり、表示装置100に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、フラッシュメモリ、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
【0096】
接続ポート923は、機器を表示装置100に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、表示装置100は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。
【0097】
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【0098】
以上、本開示の実施形態に係る表示装置100の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【0099】
<2.まとめ>
以上説明したように本開示の一実施形態にかかる表示装置100によれば、表示装置100の表示部110を向いているユーザの顔の位置およびユーザの動作を検出する。そして、ユーザがある特定の動作を行なったことを検出すると、本開示の一実施形態にかかる表示装置100は、その時の顔の位置に応じて表示部110の領域を選択し、また、その選択した領域に所定の情報(カーソル、メニュー)を表示させる。
【0100】
本開示の一実施形態にかかる表示装置100は、ユーザがジェスチャによって遠隔操作しようとする際に、特定のジェスチャを検出することよって、ユーザによる遠隔操作を容易にさせることが可能となる。
【0101】
なお、上述した本開示の一実施形態にかかる表示装置100の動作は、ハードウェアによって行われてもよく、ソフトウェアによって行われてもよい。ソフトウェアによって行われる場合には、例えば表示装置100に設けられるCPUその他の制御装置が、表示装置100の内部に設けられたROM等の記録媒体に保存されたコンピュータプログラムを読み出して順次実行することによって行われるようにしても良い。
【0102】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【0103】
なお、本技術は以下のような構成も取ることができる。
(1)
ユーザの顔の向き及び該ユーザが行った動作を検出する動作検出部と、
前記動作検出部が、前記ユーザが第1の動作を行ったことを検出すると、該第1の動作の際の前記ユーザの顔の向きに応じて画面上の領域を選択する領域選択部と、
を備える、情報処理装置。
(2)
前記動作検出部が、前記ユーザが前記第1の動作から第2の動作へ移行したことを検出すると、前記領域選択部は、該第2の動作に応じて前記選択した領域を変化させる、前記(1)に記載の情報処理装置。
(3)
前記画面に情報を表示させる情報表示部をさらに備え、
前記情報表示部は、前記領域選択部が選択した前記画面上の領域に情報を表示させる、前記(1)または(2)に記載の情報処理装置。
(4)
前記情報表示部は、前記動作検出部が検出した前記ユーザの顔の位置に応じて表示させる情報を変化させる、前記(3)に記載の情報処理装置。
(5)
前記情報表示部は、前記動作検出部が検出した前記第1の動作の内容に応じて表示させる情報を変化させる、前記(3)または(4)に記載の情報処理装置。
(6)
前記情報表示部は、前記動作検出部が検出した顔の向きに応じて、前記ユーザが前記第1の動作を行った際の表示を変化させる、前記(3)から(5)のいずれかに記載の情報処理装置。
(7)
前記情報表示部は、前記領域選択部が選択した前記画面上の領域にカーソルを表示させる、前記(3)から(6)のいずれかに記載の情報処理装置。
(8)
前記情報表示部は、前記ユーザが前記第1の動作を行った時点での前記ユーザの操作が可能な領域を前記画面に表示させる、前記(3)から(7)のいずれかに記載の情報処理装置。
(9)
前記領域選択部で選択している領域と、前記動作検出部が検出している前記ユーザの顔の向きによって前記領域選択部で選択される領域とが所定量以上離れていれば、前記情報表示部は、前記領域選択部での選択をリセットするためのリセット動作を促す情報を前記画面に表示させる、前記(3)から(8)のいずれかに記載の情報処理装置。
(10)
前記動作検出部が、前記ユーザが前記第1の動作から第2の動作へ移行したことを検出すると、前記領域選択部は、前記ユーザが該第2の動作を行なっている位置と、前記動作検出部が検出している前記ユーザの顔の位置との間の距離に応じて、前記第2の動作に応じて前記選択した領域を変化させる速度を変化させる、前記(2)から(9)のいずれかに記載の情報処理装置。
(11)
前記動作検出部が、前記ユーザが前記第1の動作から第2の動作へ移行したことを検出すると、前記領域選択部は、該第2の動作に応じて前記選択した領域を変化させるとともに、前記選択した領域の周辺のコンテンツの数に応じて、前記第2の動作に応じて前記選択した領域を変化させる速度を変化させる、前記(2)から(10)のいずれかに記載の情報処理装置。
(12)
ユーザの顔の向き及び該ユーザが行った動作を検出する動作検出ステップと、
前記ユーザが第1の動作を行ったことを前記動作検出ステップで検出すると、該第1の動作の際の前記ユーザの顔の向きに応じて画面上の領域を選択する領域選択ステップと、
を備える、情報処理方法。
(13)
コンピュータに、
ユーザの顔の向き及び該ユーザが行った動作を検出する動作検出ステップと、
前記ユーザが第1の動作を行ったことを前記動作検出ステップで検出すると、該第1の動作の際の前記ユーザの顔の向きに応じて画面上の領域を選択する領域選択ステップと、
を実行させる、コンピュータプログラム。