以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る表示システム10の構成を示す。表示システム10は、実空間内の対象物14をユーザの指定に応じて特定し、その画像を撮像して保存する。そして、表示システム10は、指定された日時となったこと等の予め定められた条件が満たされたことに応じて、対象物14の画像を表示する。このように、表示システム10は、実空間内の対象物14をあたかも"コピー"し、条件に応じて表示することによりあたかも"ペースト"することができる。これにより、必要な画像を必要なときに得られる環境を提供することができる。
例えば、図1に示されるように、表示システム10は、ユーザが持つハガキを対象物14として特定し、ハガキの画像を撮像して保存する。次に、表示システム10は、ハガキの画像を表示させたいタイミングの指定をユーザから受ける。その後、指定されたタイミングとなったとき、表示システム10は、対象物14であるハガキの出力画像20を部屋の壁に表示する。このように表示システム10は、ユーザが表示させたい対象物14を、ユーザの望むタイミングで表示させることができる。
表示システム10は、1または複数の動作撮像部22と、1または複数の対象撮像部24と、1または複数の画像表示部26と、制御装置30とを備える。本実施形態のように、表示システム10は部屋内に設けられてよい。なお、表示システム10は、一つの部屋内のみならず複数の部屋にまたがって設けられてもよく、各部屋に動作撮像部22、対象撮像部24、および画像表示部26の少なくとも1つを設けて部屋をまたがったコピーアンドペーストを実現してもよい。
1または複数の動作撮像部22のそれぞれは、ユーザの動きを撮像する。動作撮像部22は、スチルカメラまたはビデオカメラであってよい。ユーザの動作をより広い範囲で捉えるように、動作撮像部22は対象撮像部24に対して焦点距離の小さいレンズを備えてもよい。また、動作撮像部22は、移動するユーザに合わせて、位置および/または撮影方向等を変更するために駆動部を有してよい。動作撮像部22は、ユーザの動きを3次元で検出すべく、ステレオカメラ等の多眼カメラであってよく、これに代えて赤外線発光部および赤外線カメラを有する深度センサ等を有していてもよい。
1または複数の対象撮像部24のぞれぞれは、ユーザが指定する対象物14の画像(対象画像)を撮像する。対象撮像部24は、例えば、スチルカメラまたはビデオカメラである。離れた対象画像を鮮明に撮像できるように、対象撮像部24は、動作撮像部22と比較して高倍率のレンズまたはズームレンズを備えてもよく、および/または、より高解像度の画像を撮像可能であってもよい。対象撮像部24は、位置および/または撮影方向等を変更するために駆動部を有してよく、これにより指定された場所を撮像することができる。
1または複数の画像表示部26のそれぞれは、実空間に画像を表示する。例えば、画像表示部26は、部屋内に画像を投影表示するプロジェクタ等である。なお、画像表示部26がプロジェクタである場合、画像表示部26は位置および/または投影方向等を変更するために駆動部を有してよく、これにより指定された場所に画像を投影表示することができる。これに代えて、画像表示部26は、ディスプレイ等の表示装置であってもよい。
制御装置30は、動作撮像部22のそれぞれ、対象撮像部24のそれぞれ、および画像表示部26のそれぞれに対して、有線または無線により接続され、これらの動作を制御する。より具体的には、制御装置30は、各動作撮像部22が撮像した画像を取得して、ユーザの動きを認識する。
次に、制御装置30は、各対象撮像部24が撮像したユーザの動きから対象物14を特定して、対象画像を取得する。次に、制御装置30は、対象画像および/またはユーザから対象画像を表示させるための条件を取得する。そして、制御装置30は、対象画像を表示させる条件が満たされたときに、画像表示部26に対象画像を所定の表示位置に表示させる。
なお、表示システム10は、実空間における対象物14の3次元位置を検出する位置検出装置を、動作撮像部22および対象撮像部24とは別に備えてもよい。位置検出装置は、例えば、右側カメラと左側カメラとを有するステレオカメラである。このような位置検出装置は、右側カメラにより撮像された画像と左側カメラにより撮像された画像との間の視差により、画面内の対象物14までの距離を検出する。そして、表示システム10は、位置検出装置によって検出された対象物14の位置および距離情報を用いて、対象撮像部24の向きおよびピント位置等を調整し、対象撮像部24に鮮明な対象画像を撮像させる。また、表示システム10は、外部に設けられた動作撮像部22および対象撮像部24および画像表示部26を着脱可能な制御装置30により構成されてもよい。
図2は、本実施形態に係る制御装置30の機能構成の一例を、動作撮像部22、対象撮像部24、および画像表示部26とともに示す。制御装置30は、対象特定部40と、対象画像入力部42と、条件入力部46と、表示位置特定部48と、記憶部50と、ユーザ検出部52と、動作検出部54と、画像出力部56とを有する。
対象特定部40は、動作撮像部22が撮像した画像又は動画等を受け取り、動作撮像部22が撮像したユーザの動きから対象物14を特定する。具体的には、対象特定部40は、動作撮像部22が撮像した画像等から、ユーザの体の部分の動きを検出して、ユーザが予め定められた動きをしたかを判断する。ユーザが予め定められた動きをした場合は、対象特定部40は、その動きから対象物14を特定する。
次に、対象特定部40は、対象撮像部24を制御して対象物14の方向に向けさせ、対象画像を撮像させる。具体的には、対象特定部40は、動作撮像部22および対象撮像部24の両方から対象画像を取得して、対象物14を画像の中心で鮮明に撮像するように対象撮像部24の向きおよびピント位置等を制御する。そして、対象特定部40は、対象撮像部24の向きおよびピント位置等を対象物14に合わせた後、対象画像入力部42に対象画像を取得するよう指示する。
対象画像入力部42は、対象特定部40の指示に応じて、対象撮像部24が対象物14を撮像した対象画像を入力する。対象画像入力部42は、対象画像を条件入力部46および記憶部50に供給する。
条件入力部46は、対象画像を表示する条件を入力し、記憶部50に格納する。例えば、条件入力部46は、制御装置30の外部のキーボード等の入力機器と接続されて、入力機器を介してユーザが入力した条件を記憶部50に格納する。条件入力部46は、指定された日時になったこと、指定された人物が検出されたこと、および/または指定された特定の動きを検出したことを、対象画像を表示する条件としてよい。また、条件入力部46は、ユーザから「指定された人物」の顔画像等を入力して、人物特定用の画像としてユーザ検出部52に供給してよい。
これに代えて、および/またはこれに加えて、条件入力部46は、対象画像入力部42から受け取った対象画像から日時の情報を取得し、取得した日時または日時よりも予め定められた時間前の日時を、対象画像を表示する条件としてもよい。条件入力部46は、対象画像を表示する条件を、対象画像に対応付けて記憶部50に格納する。
表示位置特定部48は、ユーザが撮像された画像等を動作撮像部22から取得して、画像等におけるユーザの動きから対象画像を表示すべき表示位置を特定する。具体的には、表示位置特定部48は、動作撮像部22が撮像した画像等から、ユーザの体の部分の動きを検出する。そして、検出したユーザの動きから、対象画像を表示すべき位置を特定する。表示位置特定部48は、特定した表示位置を対象画像に対応付けて記憶部50に格納する。
記憶部50は、例えばハードディスク装置等の記憶装置であり、対象画像入力部42から対象画像を取得し、条件入力部46から対象画像を表示すべき条件を取得し、表示位置特定部48から対象画像の表示位置を取得して、これらを対応付けて記憶する。
ユーザ検出部52は、動作撮像部22から画像等を取得して、予め定められた範囲内に予め定められたユーザが存在するか否かを検出する。例えば、ユーザ検出部52は、動作撮像部22の撮像範囲内または室内等において撮像された人物と、予め登録された人物の顔等を比較する。そして、ユーザ検出部52は、その比較結果から、画像中に予め定められたユーザが存在するかの情報を画像出力部56に供給する。また、ユーザ検出部52は、条件入力部46から新しく登録する人物の顔画像等を取得した場合は、人物と顔画像等を対応付けて保存し、以後のユーザ検出で使用する。
動作検出部54は、動作撮像部22の画像から、対象物14の表示を指示するユーザの動きを検出する。具体的には、動作検出部54は、動作撮像部22が撮像した画像等から、ユーザの体の部分の動きを検出する。そして、ユーザの動きが予め定められた動きのパターンに該当する場合は、動作検出部54は、ユーザの動きのパターンを示す情報を画像出力部56に入力する。
画像出力部56は、対象物14を表示すべき条件が満たされたことに応じて、対象画像を、画像出力部56に接続された画像表示部26に出力する。具体的には、画像出力部56は、記憶部50にアクセスして、各対象画像に対応付けられた条件のうち、ユーザ検出部52が検出したユーザ、動作検出部54が検出したユーザの動きのパターン、および現在時刻に適合する条件が存在するか否か検索する。記憶部50内のいずれかの条件が成立している場合には、画像出力部56は、条件に対応付けられた対象画像を表示位置とともに、画像出力部56に接続された画像表示部26に出力する。そして、画像表示部26は、受け取った表示位置の情報に基づき投影方向および出力画像20の大きさ等を変更し、対象画像を指定された表示位置に表示する。
このような構成により、制御装置30は、対象画像および対象画像を表示すべき条件を取得して保存する。そして、制御装置30は、動作撮像部22が撮像したユーザの画像等および日時等から対象画像を表示すべき条件が満たされたか否かを判断する。そして、対象画像を表示する条件が満たされたときに、制御装置30は、保存した対象画像を表示させることができる。
図3および図4は、本実施形態に係る制御装置30における、対象物を撮像する際の処理フローを示す。制御装置30は、対象物14を撮像する場合において、図3のステップS101からS106および図4のS107からS113までの処理を実行する。
まず、ステップS101において、動作撮像部22がユーザを撮像する。次に、ステップS102において、対象特定部40は、動作撮像部22が撮像した画像または動画からユーザの動きを認識する。例えば、対象特定部40は、撮像された画像等における対象物14を特定するための指示を認識するために検出すべき体の部分(例えば、手、指、または腕等)の動きを追跡し、動きの方向、動きの量、および/または大きさの変化等を検出する。
次に、ステップS103において、対象特定部40は、ユーザが予め定められた動きをしたことを検出したか否か判断する。対象特定部40は、例えば、図1に示すようにユーザが手に持った物体を対象撮像部24に近づける動作、ユーザが部屋内にある物体を指差す動作、またはユーザが部屋内のある物体に片手で触れるとともにもう一方の手を回す動作等のジェスチャーを検出してよい。
また、例えば、ホワイトボード、壁面またはテーブル上に記載され、または置かれた書類等を対象物14とする場合、対象特定部40は、ホワイトボード上の書類等をユーザが手のひら等で塗りつぶすようになぞる動作を検出してよい。対象特定部40が予め定められた動きを検出できたとき(ステップS103のY)は、処理はステップS104に進み、検出できないとき(ステップS103のN)は、処理はステップS101に戻る。
次に、ステップS104において、対象特定部40は、検出されたユーザの動きから、対象物14を特定する。例えば、ユーザが手に持った物体を対象撮像部24に近づける動作を検出した場合は、ユーザが手に持った物体を対象物14として特定する。図1に示す例では、対象特定部40は、ユーザが手に持って対象撮像部24に近づけているハガキを対象物14として特定している。
ここで、対象特定部40は、以下に示すようなユーザの動きをもとに、対象物14を特定してよい。例えば、対象特定部40は、ユーザが部屋内にある物体を指差す動作を検出した場合は、ユーザが指差した対象の物体を対象物14として特定する。また、例えば、対象特定部40は、ユーザが部屋内のある物体に片手で触れるとともにもう一方の手を回す動作を検出した場合には、ユーザが触れている物体を対象物14として特定する。また、例えば、対象特定部40は、ユーザがホワイトボード上の書類等をユーザが手のひら等で塗りつぶすようになぞる動作を検出した場合は、ホワイトボード上のユーザがなぞった範囲を対象物14として特定する。
続いて、ステップS105において、対象特定部40は、対象撮像部24に対象物14の撮像を指示する。具体的には、対象特定部40は、まず、対象撮像部24から画像を取得した後、対象撮像部24からの画像中における、対象物14の占める範囲を画定する。対象撮像部24からの画像に対象物14が含まれていない場合には、対象撮像部24の撮影範囲に対象物14が含まれるように、対象特定部40は対象撮像部24の向きを変更させる。
次に、対象特定部40は、対象物14を画像の中心で捉えるように対象撮像部24の向きを変更する。対象物14を画像の中心で捉えたときに、対象特定部40は対象画像入力部42に対象画像の取得を指示する。
次に、ステップS106において、対象画像入力部42が、対象撮像部24から対象画像を取得する。ここで、鮮明な対象画像を取得する目的で、対象画像入力部42は、対象撮像部24に対象物14を中心に入れたままズームして拡大して撮像させてもよい。
次に、図4に示すステップS107において、対象画像入力部42は対象物14を撮像した対象画像を入力して、条件入力部46および記憶部50に供給する。対象画像入力部42は、対象物14を撮像した画像の全体を供給してもよく、これに代えて、対象物14が含まれる一部範囲を切り出した画像を供給してもよい。
次にステップS108において、条件入力部46は、対象画像入力部42から入力された対象画像を認識することにより、対象画像を表示するタイミングを決定して入力する。例えば、対象物14が日付の記載された書類である場合、条件入力部46は、書類に記載された日付および/または時刻を認識して、当該日付の予め定められた時間、当該時刻、または当該時刻から所定の時間を差し引いた時刻を、対象画像を表示すべきタイミングであると決定する。条件入力部46は、対象画像を表示するタイミングを、対象画像を表示すべき条件として、対象画像と対応付けて記憶部50に格納する。
次にステップS109において、条件入力部46は、ステップS108において画像表示タイミングを決定したか否かについて判断する。画像表示タイミングを決定した場合(ステップS109のY)、処理はステップS110に進み、決定できなかった場合(ステップS109のN)、処理はステップS111に進む。
処理がステップS110に進んだ場合、条件入力部46は、ユーザが対象画像を表示させるための条件入力を指示したか否かについて判断する。ユーザが条件入力をした場合(ステップS110のY)、処理はステップS111に進む。ユーザが条件入力をしなかった場合(ステップS110のN)、ステップS108で決定したタイミングのみが、対象画像を表示するための条件となる。この場合、処理はステップS112へ進む。
処理がステップS111に進んだ場合、条件入力部46は、対象画像を表示する条件を入力し、入力した条件を記憶部50に格納する。例えば、条件入力部46は、入力機器を介してユーザの指示を取得し、ユーザの指示に基づいて「所定の日時および/または時刻になったこと」、「所定の人物が部屋内に存在すること」、および「ユーザが所定の動作を行ったこと」、またはこれらのAND条件、およびOR条件等による組み合わせを対象画像を表示する条件として入力する。ユーザの指示がない場合、条件入力部46は、「ステップS101〜104で、対象物14を特定したユーザが部屋内に存在すること」等の予め定められた条件を、対象画像を表示するための条件としてよい。
ステップS111において、「所定の日時および/または時刻になったこと」を条件とする場合、条件入力部46は、入力機器を介してユーザが指定する日時等を条件として入力してよい。この場合、条件入力部46は、ユーザが指定した日時と他の条件の組み合わせを、対象画像を表示する条件としてよい。
「所定の人物が部屋内に存在すること」を条件とする場合、条件入力部46は、予め用意された人物の選択肢の中からユーザが選択した「所定の人物」が部屋内に存在することを、条件として入力してよい。これに代えて、条件入力部46は、ユーザが指定する予め用意された人物以外の人物を「所定の人物」として新しく登録してもよい。この場合、条件入力部46は、ユーザから新しく登録する人物の顔画像または全身画像等を取得し、ユーザ検出部52に供給する。ユーザ検出部52は、入力された人物の顔画像等を新しく登録する。
なお、「所定の人物」は、対象物14を指定したユーザ自身であってもよく、別の人物であってもよい。「所定の人物」が対象物14を指定したユーザ自身の場合、表示システム10は、自分へのリマインダとして対象画像を表示させることができる。「所定の人物」が対象物14を指定したユーザ自身でない場合、表示システム10は、指定したユーザから「所定の人物」宛のメッセージとして対象画像を表示させることができる。
ステップS111において、「ユーザが所定の動作を行ったこと」を条件とする場合、条件入力部46は、予め用意された動きの選択肢の中からユーザが選択した「所定の動作」を条件として入力する。例えば、図1の例では、条件入力部46は、ユーザが壁を指さす動作を「所定の動作」として入力している。これに代えて、条件入力部46は、ユーザがジャンプする動作、ユーザがその場で回転する動作、またはユーザが動作撮像部22の前を通過する動作等を「所定の動作」として入力してよい。
次に、ステップS112において、表示位置特定部48は、動作撮像部22が撮像したユーザの動きから、対象画像を表示すべき表示位置を特定する。表示位置特定部48は、撮像された画像等における表示位置を特定するための指示を入力するために動かすべき体の部分(例えば、手、指、または腕等)の動きを追跡し、動きの方向、動きの量、および/または大きさの変化等を検出する。
例えば、テーブルの上を手のひらで触れるまたはたたく等の動作を検出した場合、表示位置特定部48は、そのテーブルを表示位置として特定する。また、例えば、ユーザの指先が部屋の壁を指し、または壁の領域を四角く画定する動きを検出した場合、表示位置特定部48は、その物体の壁の画定された領域を表示位置として特定する。表示位置は、部屋の壁以外でもよく、例えば、部屋の床、天井、および家具等であってよい。
なお、ユーザが表示位置を特定する動きは、ユーザが対象物14を指定する動きと同じであってもよいが、誤検出を防ぐためにこれらは異なる動きであることが望ましい。ユーザが表示位置を特定する動きを検出できなかったときは、表示位置特定部48は、予め定められた位置を表示位置として特定してよい。表示位置特定部48は、特定された表示位置を、対象画像と対応付けて記憶部50に格納する。
次に、ステップS113において、記憶部50は、条件入力部46から入力された対象画像を表示するための条件および表示位置特定部48から入力された対象画像の表示位置を、対象画像に対応付けて記憶する。例えば、記憶部50は、複数のレコードからなるテーブルを備え、対象画像、対象画像を表示するための条件、および対象画像の表示位置を同一のレコードに対応させて格納することで、これらを記憶する。
以上により、ステップS201からS207を経ることにより、表示システム10は、ユーザが指定する対象画像、対象画像を表示する条件、および対象画像の表示位置を取得して保存することができる。
図5は、本実施形態に係る制御装置30における、出力画像を表示させる際の処理フローを示す。制御装置30は、対象物14の表示する場合において、図5のステップS201からS207の処理を実行する。
まず、ステップS201において、動作撮像部22がユーザを撮像する。次に、ステップS202において、ユーザ検出部52は、動作撮像部22が撮像した画像等を取得して、予め定められた範囲内に予め定められたユーザが存在するか否かを検出する。
例えば、ユーザ検出部52は、動作撮像部22の画像中の一定範囲内に存在する人物の顔の特徴と、予め登録されている人物の顔の特徴とを顔認証技術を用いて比較する。顔の特徴は、例えば、目、鼻、および/または口等の位置、形状、顔面中に占める面積割合、および/または皮膚の色等であってよい。ユーザ検出部52は、撮像された人物の特徴と、予め登録されている人物の特徴とを比較する。これに代えて、および/またはこれに加えて、ユーザ検出部52は、ユーザの画像のうち顔以外の体のパーツおよび体型等の特徴を比較しても良い。
そして、ユーザ検出部52は、両者の特徴が完全に一致するか、または一定程度以上一致する場合、ユーザ検出部52は撮像された人物と予め登録された人物を同一ユーザと判断する。そして、ユーザ検出部52は、その判断結果から画像中に予め定められたユーザが存在するかの情報を画像出力部56に供給する。
次に、ステップS203において、動作検出部54が、動作撮像部22から撮像した画像を取得して、対象物14の表示を指示するユーザの動きを検出する。例えば、動作検出部54は、撮像された画像等におけるユーザの体の全体または部分(例えば、顔、手、または足等)の動きを追跡し、動きの方向、動きの量、および/または大きさの変化等を検出する。例えば、図1の例では「ユーザが壁を指さす動作」を検出している。ユーザが予め定められたパターンの動きしたことを検出した場合は、動作検出部54は、ユーザの動きのパターン等の情報を画像出力部56に供給する。
次に、ステップS204において、画像出力部56が、記憶部50から条件を満たす対象画像の有無を検索する。具体的には、画像出力部56は、現在時刻、ステップS202で得られたユーザの検出結果、およびステップS203で得られた動作の検出結果と、記憶部50に記憶された対象画像の表示すべき条件とを対比して、表示すべき条件を満たす対象画像が記憶部50に存在するか検索する。例えば、図1の例では、画像出力部56は、「ユーザが壁を指さす動作をしたこと」を条件とする対象画像が記憶部50に存在するか検索し、条件を満たすハガキの画像を発見する。
次に、ステップS205において、条件を満たす対象画像が発見された場合(ステップS205のY)、処理はステップS206に進む。条件を満たす対象画像が発見されなかった場合(ステップS205のN)、処理はステップS201に戻る。
ステップS206において、画像出力部56は、画像表示部26を指定方向に向ける。具体的には、画像出力部56は、記憶部50から条件を満たす対象画像およびその対象画像の表示位置を取得する。そして、画像出力部56は、表示位置に対象画像を表示させることができるように、画像表示部26の投影方向、および投影画像の大きさを変更する。
次に、ステップS207において、画像出力部56は、条件を満たす対象画像を画像表示部26に出力して、画像表示部26に条件を満たす対象画像を表示させる。例えば、画像出力部56は、指定された条件に基づいて対象物14の表示を指示するユーザの動きが検出されたことに応じて、対象画像を出力する。図1の例では、「ユーザが壁を指さす動作をしたこと」が検出されたことに応じて、画像出力部56が対象画像としてハガキの画像を出力している。
また、例えば、画像出力部56は、指定された条件に基づいてユーザ検出部52が予め定められたユーザを検出したことに応じて、対象画像を出力する。また、例えば、画像出力部56は、指定された条件に基づいて条件入力部46が入力したタイミングに対象画像を出力する。
なお、画像出力部56は、記憶部50からの対象画像をそのまま出力してもよく、これに代えて、対象画像を含む画像、または対象画像を元に対象物14の機能を付加した画像を出力してもよい。
例えば、対象画像に文字が含まれる場合、文字の内容をテキストデータに変換して文字以外の対象画像とともに出力する。また、対象物14に時計の文字盤などの時刻を示す情報が含まれる場合、表示された時刻を時刻データに変換して時刻以外の対象画像とともに出力してよい。対象画像を含む画像、対象画像を元に対象物14の機能を付加した画像は、コンピュータグラフィックス等により生成されてよい。
以上により、ステップS201からS207を経ることにより、表示システム10は、ユーザの指定する条件が満たされたことに応じて、対象画像を任意の位置に表示することができる。
図6は、本実施形態に係る表示システム10において、「案内状」を対象物14とした場合の例を示す。例えば、対象物14が結婚式の案内状である場合、案内状には結婚式の日時が記載されている。そこで、表示システム10は、案内状に記載された日付を認識して、結婚式の当日の朝などの予め定められた時刻に案内状の画像を表示させる。
他の例として、対象特定部40は、ユーザが指定した請求書または納税通知書等の書類を対象物14として特定してよい。画像出力部56は、書類に記載された期限から予め定められた期間前になったことに応じて、書類の対象画像を出力してよい。このように、表示システム10は、日付が記載される書類の対象画像を当該日付が徒過する前に表示させることができる。
さらに他の例として、表示システム10は、時刻を表す画像を当該時刻に合わせて表示してもよい。時刻を表す画像は、「午前11時10分」または「AM11:10」等の時刻を表す文字列であってよく、時刻を表示する時針、分針、および秒針等のアナログ時計の画像であってもよい。また、表示システム10は、時刻を表す画像を、当該時刻に表示されるべき他の画像(例えば、服用する時間が決まっている薬の画像および収納場所等)とともに表示してもよい。このように、表示システム10は、対象物が表す日付・時刻に関連したタイミングで対象物を表示させることができる。
図7は、第2の実施形態に係る制御装置300の機能構成の一例を示す。本実施形態においては、対象撮像部240が動作撮像部22および対象撮像部24を兼ねる点が、第1の実施形態と異なっている。本実施形態によれば、対象撮像部240を全て同一の機器で構成できるので、機器の設置および管理の費用および煩雑さ等を低減することができる。この場合、対象撮像部240は、広い範囲を移動するユーザおよび細かい文字等を含む対象物14の両方を捉えることが求められる。したがって、対象撮像部240は、ユーザの動きを撮像する間は広角で撮像し、対象物14を撮像する際にはより望遠に撮像するべく、画角を調整できるズームレンズを備えてよい。
図8は、本実施形態に係るコンピュータ1900のハードウエア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、および表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、およびCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、および入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000およびグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010およびRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。例えば、通信インターフェイス2030は、対象特定部40、対象画像入力部42、条件入力部46、表示位置特定部48、記憶部50、ユーザ検出部52、動作検出部54、および画像出力部56にネットワークを介して接続され、ネットワーク経由で画像および制御信号を授受してもよい。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラムおよびデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、および入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900を制御装置30として機能させるプログラムは、画像取得モジュールと、動作検出モジュールと、特定モジュールと、表示制御モジュールと、機能実行モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、対象特定部40、対象画像入力部42、条件入力部46、表示位置特定部48、記憶部50、ユーザ検出部52、動作検出部54、および画像出力部56としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウエア資源とが協働した具体的手段である対象特定部40、対象画像入力部42、条件入力部46、表示位置特定部48、記憶部50、ユーザ検出部52、動作検出部54、および画像出力部56として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の制御装置30が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。