以下、図面を参照して、本発明の実施形態について説明する。
[概要]
まず、第1の実施形態に係る情報処理装置1の概要について説明する。本実施形態に係る情報処理装置1は、例えば、ノートブック型のPC(Personal Computer;パーソナルコンピュータ)である。なお、情報処理装置1は、デスクトップ型PC、タブレット端末装置、スマートフォンなど、いずれの形態の情報処理装置であってもよい。
情報処理装置1は、システムの動作状態として少なくとも通常動作状態(パワーオン状態)と待機状態との間を遷移可能である。通常動作状態とは、特に制限なく処理の実行が可能な動作状態であり、例えば、ACPI(Advanced Configuration and Power Interface)で規定されているS0状態に相当する。待機状態とは、システム処理の少なくとも一部が制限されている状態であって、通常動作状態よりも消費電力が低い状態である。例えば、待機状態は、スタンバイ状態、スリープ状態等であってもよく、Windows(登録商標)におけるモダンスタンバイや、ACPIで規定されているS3状態(スリープ状態)等に相当する状態であってもよい。また、待機状態には、少なくとも表示部の表示がOFF(画面OFF)となる状態、または画面ロックとなる状態が含まれてもよい。画面ロックとは、処理中の内容が視認できないように予め設定された画像(例えば、画面ロック用の画像)が表示部に表示され、ロックを解除(例えば、ユーザ認証)するまで、使用できない状態である。
以下では、システムの動作状態が待機状態から通常動作状態へ遷移することを起動と呼ぶことがある。待機状態では、一般的に通常動作状態よりも動作の活性度が低いため、情報処理装置1のシステムを起動させることは、情報処理装置1におけるシステムの動作を活性化させることになる。
図1は、本実施形態に係る情報処理装置1のHPD処理の概要を説明する図である。情報処理装置1は、情報処理装置1の近傍に存在する人物を検出する。この人物の存在を検出する処理のことを、HPD(Human Presence Detection)処理と称する。情報処理装置1は、HPD処理により人物の存在の有無を検出し、検出結果に基づいて情報処理装置1のシステムの動作状態を制御する。例えば、情報処理装置1は、図1(A)に示すように、情報処理装置1の前(正面)に人物が存在しない状態(Absence)から存在する状態(Presence)への変化、即ち情報処理装置1へ人物が接近したこと(Approach)を検出した場合、ユーザが接近したと判定し、自動でシステムを起動して通常動作状態へ遷移させる。また、情報処理装置1は、図1(B)に示すように、情報処理装置1の前に人物が存在している状態(Presence)では、ユーザが存在すると判定し、通常動作状態を継続させる。そして、情報処理装置1は、図1(C)に示すように、情報処理装置1の前(正面)に人物が存在している状態(Presence)から存在しない状態(Absence)への変化、即ち情報処理装置1から人物が離脱したこと(Leave)を検出した場合には、ユーザが離脱したと判定し、システムを待機状態へ遷移させる。
情報処理装置1は、前方(正面側)の所定の範囲における人物の存在を検出する。
図2は、本実施形態に係る情報処理装置1の人物の検出範囲の一例を示す図である。図示する例において、情報処理装置1の前方の検出範囲FoV(Field of View:検出視野角)が、人物の検出可能な範囲である。
情報処理装置1は、人物の検出方法として、ToF(Time of Flight)を用いる第1の検出方法と、顔検出を用いる第2の検出方法とを有する。第1の検出方法として、情報処理装置1は、前方へ赤外線を発光する発光部と、発光した赤外線が物体の表面に反射して戻ってくる反射光を受光する受光部とを含んで構成されるToFセンサを備え、所定のサンプリング周期(例えば、1Hz)で、受光部が受光した光を検出し、発光から受光までの時間差を距離に換算するToF方式を用いて、物体(例えば、人物)との距離を検出する。これにより、情報処理装置1は、検出範囲FoVにおける人物の存在を検出する。検出範囲FoVは、ToFセンサが検出可能な検出範囲に相当する。
また、第2の検出方法として、情報処理装置1は、前方を撮像する撮像部を備え、撮像画像から顔が撮像されている顔画像の領域(以下、「顔領域」と称する)を検出することにより、検出範囲FoVにおける人物の存在を検出する。検出範囲FoVは、情報処理装置1が撮像する画角に相当する。なお、ToFセンサが検出可能な検出範囲FoVと、情報処理装置1が撮像する画角に相当する検出範囲FoVとは、いずれも情報処理装置1の前方の所定範囲であるが一致する必要はない。
顔検出を用いた第2の検出方法では、単に人物の存在を検出するだけでなく、顔の向きや顔認証等も行うことができる。例えば、情報処理装置1は、正面を向いているか、横を向いているか等の顔の向きを検出することにより、横を向いているとき(即ち、ユーザがよそ見をしているとき)には画面輝度を低減させて消費電力を抑えることができる。また、情報処理装置1は、前方に存在する人物の顔認証を行うことにより、当該人物が正規のユーザであるか否かを判定することもできる。
このように、顔検出を用いた第2の検出方法は、ToFセンサを用いた第1の検出方法と比較すると、ユーザの存在を検出する際の検出精度が高く検出項目も多いという利点がある。その反面、第2の検出方法は、第1の検出方法と比較すると、消費電力が高い。そこで、情報処理装置1は、特に消費電力を抑えたい待機状態では、基本的に第1の検出方法を用いて処理を実行する。また、情報処理装置1は、通常動作状態では、第2の検出方法が必要なときのみ第2の検出方法を用いて処理を実行し、それ以外は第1の検出方法を用いて処理を実行する。
以下では、ToFセンサを用いた第1の検出方法を用いて人物の存在を検出する処理のことを、「低電力検出処理」と称する。一方、顔検出を用いた第2の検出方法を用いて人物の存在、存在する人物の顔の向き、存在する人物の顔認証(正規のユーザか否かの判定)などを行う処理のことを、「高電力検出処理」と称する。
なお、低電力検出処理は、ToFセンサを用いた検出に限られるものではなく、例えば、前方へ電波を発射し、発射した電波の反射波を受信することにより前方に存在する物体との距離を検出するレーダセンサを用いて、物体(例えば、人物)との距離を検出する処理としてもよい。
ここで、システムの動作状態の遷移と低電力検出処理及び高電力検出処理の遷移とについて、図3を参照して説明する。
図3は、本実施形態に係る動作状態と検出処理の遷移の一例を示す図である。待機状態において、情報処理装置1は、低電力検出処理により人物の存在を検出する。情報処理装置1は、低電力検出処理により人物の存在を検出した場合(Presence=true)、高電力検出処理に切り替えて人物の存在を検出する。情報処理装置1は、高電力検出処理により、存在する人物が正規のユーザか否かを判定し、正規のユーザではない場合には正規のユーザが存在しないと判定し(Presence=false)、低電力検出処理に戻す。一方、情報処理装置1は、高電力検出処理により正規のユーザが存在すると判定した場合(Presence=true)、システムを待機状態から起動して通常動作状態へ遷移させる。
通常動作状態では、高電力検出処理が必要なときのみ高電力検出処理により人物の存在、存在する人物の顔の向き、存在する人物の顔認証(正規のユーザであるか否かの判定)などを行う。そして、情報処理装置1は、高電力検出処理が必要でないときには低電力検出処理を用いる。例えば、情報処理装置1は、検出された人物の状態に応じて高電力検出処理を用いるか或いは低電力検出処理を用いるか選択する。具体的には、情報処理装置1は、検出された人物の動きが大きい場合には、人物の状態(人物の位置、顔の向き等)が変化する可能性が高いため、その変化を検出できるように高電力検出処理を選択する。一方、情報処理装置1は、検出された人物の動きが小さい場合には、人物の状態(人物の位置、顔の向き等)が安定しているため、低電力検出処理を選択する。
例えば、通常動作状態において、情報処理装置1は、低電力検出処理により人物の存在を検出しているときに、人物との距離または位置(方向)の変化に基づいて人物の動きが所定の閾値以上になったと判定した場合には、低電力検出処理から高電力検出処理に切り替える。一方、通常動作状態において、情報処理装置1は、高電力検出処理により人物の存在を検出しているときに、顔領域の大きさの変化または顔の向きの変化などに基づいて人物の動きが所定の閾値未満になったと判定した場合には、高電力検出処理から低電力検出処理に切り替える。また、通常動作状態において、情報処理装置1は、低電力検出処理または高電力検出処理により人物の存在が検出されなくなった場合(Presence=false)、人物が離脱したこと(Leave)を検出し、待機状態へ遷移させる。
ここで、情報処理装置1は、高電力検出処理から低電力検出処理に切り替える場合には、高電力検出処理を停止させる。これにより、低電力検出処理に切り替えた後では、高電力検出処理で消費される電力を削減することができる。一方、情報処理装置1は、低電力検出処理から高電力検出処理に切り替える場合には、低電力検出処理を停止させることなく高電力検出処理を実行してもよいし、低電力検出処理を停止させてもよい。高電力検出処理に比較して低電力検出処理は消費電力が低いため、低電力検出処理を停止した場合と停止していない場合の消費電力の差が小さい。少しでも消費電力を下げたい場合には、高電力検出処理を実行しているときは、低電力検出処理を停止させてもよい。なお、情報処理装置1は、高電力検出処理を実行している際に低電力検出処理を停止させない場合には、高電力検出処理と低電力検出処理との両方の検出結果に基づいて各種の判定や制御を行っても良い。
以下、本実施形態に係る情報処理装置1の構成について詳しく説明する。
[情報処理装置の外観構成]
図4は、本実施形態に係る情報処理装置1の外観の構成例を示す斜視図である。
情報処理装置1は、第1筐体10、第2筐体20、及びヒンジ機構15を備える。第1筐体10と第2筐体20は、ヒンジ機構15を用いて結合されている。第1筐体10は、第2筐体20に対して、ヒンジ機構15がなす回転軸の周りに相対的に回動可能である。第1筐体10と第2筐体20との回動による開き角を「θ」として図示している。
第1筐体10は、Aカバー、ディスプレイ筐体とも呼ばれる。第2筐体20は、Cカバー、システム筐体とも呼ばれる。以下の説明では、第1筐体10と第2筐体20の側面のうち、ヒンジ機構15が備わる面を、それぞれ側面10c、20cと呼ぶ。第1筐体10と第2筐体20の側面のうち、側面10c、20cとは反対側の面を、それぞれ側面10a、20aと呼ぶ。図示において、側面20aから側面20cに向かう方向を「後」と呼び、側面20cから側面20aに向かう方向を「前」と呼ぶ。後方に対して右方、左方を、それぞれ「右」、「左」と呼ぶ。第1筐体10、第2筐体20の左側面をそれぞれ側面10b、20bと呼び、右側面をそれぞれ側面10d、20dと呼ぶ。また、第1筐体10と第2筐体20とが重なり合って完全に閉じた状態(開き角θ=0°の状態)を「閉状態」と呼ぶ。閉状態において第1筐体10と第2筐体20との互いに対面する側の面を、それぞれの「内面」と呼び、内面に対して反対側の面を「外面」と呼ぶ。また、閉状態に対して第1筐体10と第2筐体20とが開いた状態のことを「開状態」と呼ぶ。
図4に示す情報処理装置1の外観は開状態の例を示している。開状態は、第1筐体10の側面10aと第2筐体20の側面20aとが離れた状態である。開状態では、第1筐体10と第2筐体20とのそれぞれの内面が表れる。開状態はユーザが情報処理装置1を使用する際の状態の一つであり、典型的には開き角θ=100~130°程度の状態で使用されることが多い。なお、開状態となる開き角θの範囲は、ヒンジ機構15よって回動可能な角度の範囲等に応じて任意に定めることができる。
第1筐体10の内面には、表示部110が設けられている。表示部110は、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイなどを含んで構成されている。また、第1筐体10の内面のうち表示部110の周縁の領域に、撮像部120が設けられている。撮像部120は、可視光画像を撮像するためのイメージセンサを含んで構成され、上述した可視光カメラ(RGBカメラ)の機能を有する。例えば、撮像部120は、表示部110の周縁の領域のうち側面20a側に配置されている。なお、撮像部120が配置される位置は一例であって、第1筐体10の内面に対面する方向(前方)を撮像することが可能であれば他の位置に配置されてもよい。
撮像部120は、開状態において、第1筐体10の内面に対面する方向(前方)の所定の撮像範囲を撮像する。所定の撮像範囲とは、撮像部120が有する撮像素子(撮像センサ)と撮像素子の撮像面の前方に設けられた光学レンズとによって定まる画角の範囲であり、図2に示す人物(顔)の検出範囲FoVに相当する。例えば、撮像部120は、情報処理装置1の前方(正面側)に存在する人物を含む画像を撮像することができる。
また、第1筐体10の内面のうち表示部110の周縁の領域に、ToFセンサ130が設けられている。図4に示す例では、撮像部120とToFセンサ130とが並んで、表示部110の周縁の領域のうち側面20a側に配置されているが、各々は、第1筐体10の内面のうち表示部110の周縁の領域のいずれの場所に配置されてもよい。
ToFセンサ130は、前方へ赤外線を発光し、発光した赤外線の反射光を受光することにより、ToF方式を用いて前方に存在する物体(例えば、人物)との距離を検出する。例えば、ToFセンサ130は、開状態において、第1筐体10の内面に対面する方向(前方)の検出範囲FoVに存在する物体(例えば、人物)との距離及び位置(方向)を検出する。なお、ToFセンサ130に代えてレーダセンサとしてもよい。
第2筐体20の側面20bには、電源ボタン140が設けられている。電源ボタン140は、電源のオンまたはオフ、待機状態から通常動作状態へ遷移、通常動作状態から待機状態への遷移などをユーザが指示するための操作子である。また、第2筐体20の内面には、ユーザの操作入力を受け付ける入力デバイスとして、キーボード151及びタッチパッド153が設けられている。なお、入力デバイスとして、キーボード151及びタッチパッド153に代えて又は加えて、タッチセンサが設けられてもよいし、マウスや外付けのキーボードが接続されてもよい。タッチセンサが設けられた構成の場合、表示部110の表示面に対応する領域が操作を受け付けるタッチパネルとして構成されてもよい。また、入力デバイスには、音声が入力されるマイクが含まれてもよい。
なお、第1筐体10と第2筐体20とが閉じた閉状態では、第1筐体10の内面に設けられている表示部110、及び撮像部120と、第2筐体20の内面に設けられているキーボード151及びタッチパッド153は、互いに他方の筐体面で覆われ、機能を発揮できない状態となる。
[情報処理装置のハードウェア構成]
図5は、本実施形態に係る情報処理装置1のハードウェア構成の一例を示す概略ブロック図である。この図5において、図4の各部に対応する構成には同一の符号を付している。情報処理装置1は、表示部110、撮像部120、ToFセンサ130、電源ボタン140、入力デバイス150、通信部160、記憶部170、EC(Embedded Controller)200、顔検出部210、メイン処理部300、及び電源部400を含んで構成される。
表示部110は、メイン処理部300により実行されるシステム処理及びシステム処理上で動作するアプリケーションプログラムの処理等に基づいて生成された表示データ(画像)を表示する。
撮像部120は、第1筐体10の内面に対面する方向(前方)の所定の撮像範囲(画角)内の物体の像を撮像し、撮像した画像をメイン処理部300及び顔検出部210へ出力する。例えば、撮像部120は、可視光を用いて撮像する可視光カメラ(RGBカメラ)と赤外線を用いて撮像する赤外線カメラ(IRカメラ)とを備えている。
なお、撮像部120は、可視光カメラと赤外線カメラとのいずれか一方を含んで構成されてもよいし、両方を含んで構成されてもよい。
ToFセンサ130は、前方へ赤外線を発光し、発光した赤外線の反射光を受光することにより、ToF方式を用いて前方に存在する物体(例えば、人物)との距離を検出する。例えば、ToFセンサ130は、第1筐体10の内面に対面する方向(前方)の検出範囲FoVに存在する物体(例えば、人物)との距離及び位置(方向)を検出する。
電源ボタン140は、ユーザの操作に応じて操作信号をEC200へ出力する。入力デバイス150は、ユーザの入力を受け付ける入力部であり、例えばキーボード151及びタッチパッド153を含んで構成されている。入力デバイス150は、キーボード151及びタッチパッド153に対する操作を受け付けることに応じて、操作内容を示す操作信号をEC200へ出力する。
通信部160は、無線または有線による通信ネットワークを介して他の機器と通信可能に接続し、各種のデータの送信および受信を行う。例えば、通信部160は、イーサネット(登録商標)等の有線LANインターフェースやWi-Fi(登録商標)等の無線LANインターフェース等を含んで構成されている。
記憶部170は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、RAM、ROMなどの記憶媒体を含んで構成される。記憶部170は、OS、デバイスドライバ、アプリケーションなどの各種のプログラム、その他、プログラムの動作により取得した各種のデータを記憶する。
電源部400は、情報処理装置1の各部の動作状態に応じて各部へ電力を供給する。電源部400は、DC(Direct Current)/DCコンバータを備える。DC/DCコンバータは、AC(Alternate Current)/DCアダプタもしくはバッテリー(電池パック)から供給される直流電力の電圧を、各部で要求される電圧に変換する。DC/DCコンバータで電圧が変換された電力が各電源系統を介して各部へ供給される。例えば、電源部400は、EC200から入力される制御信号に基づいて各電源系統を介して各部に電力を供給する。
EC200は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)およびI/O(Input/Output)ロジック回路などを含んで構成されたマイクロコンピュータである。EC200のCPUは、自部のROMに予め記憶した制御プログラム(ファームウェア)を読み出し、読み出した制御プログラムを実行して、その機能を発揮する。EC200は、メイン処理部300とは独立に動作し、メイン処理部300の動作を制御し、その動作状態を管理する。また、EC200は、電源ボタン140、入力デバイス150、及び電源部400等と接続されている。
例えば、EC200は、電源部400と通信を行うことにより、バッテリーの状態(残容量など)の情報を電源部400から取得するとともに、情報処理装置1の各部の動作状態に応じた電力の供給を制御するための制御信号などを電源部400へ出力する。また、EC200は、電源ボタン140や入力デバイス150から操作信号を取得し、取得した操作信号のうちメイン処理部300の処理に関連する操作信号についてはメイン処理部300へ出力する。
顔検出部210は、撮像部120により撮像された撮像画像の画像データを処理するプロセッサを含んで構成されている。顔検出部210は、撮像部120により撮像された撮像画像の画像データを取得し、取得した画像データをメモリに一時的に保存する。画像データを保存するメモリは、システムメモリ304であってもよいし、顔検出部210内の不図示のメモリであってもよい。
例えば、顔検出部210は、撮像部120から取得した撮像画像の画像データを処理することにより、撮像画像から顔領域の検出、及び検出された顔領域の顔画像の顔の向きの検出などを行う顔検出処理を行う。顔の検出方法としては、顔の特徴情報を基に顔を検出する顔検出アルゴリズムや、顔の特徴情報を基に機械学習された学習データ(学習済みモデル)や顔検出ライブラリなどを用いた顔検出など、任意の検出方法を適用することができる。
また、顔検出部210は、検出された顔領域の顔画像の顔を認証する顔認証処理を行う。例えば、顔検出部210は、検出された顔領域の顔画像の特徴と予め登録されている正規のユーザの顔画像の特徴とを照合することにより顔認証処理を行う。顔検出部210は、顔検出処理による検出結果、顔認証処理による認証結果などを、メイン処理部300のチップセット303へ送信する。
なお、通常動作状態及び待機状態のいずれにおいても、少なくとも高電力検出処理が実行されている状態では、顔検出部210は動作している。例えば、撮像部120がRGBカメラとIRカメラの両方を備えている場合、IRカメラを用いる方がRGBカメラを用いるよりも顔検出の精度または顔認証の精度を高めることができるが、消費電力は高くなる。そこで、顔検出部210は、待機状態における高電力検出処理ではRGBカメラを用いて顔検出処理または顔認証処理を行い、通常動作状態における高電力検出処理ではIRカメラを用いて顔検出処理または顔認証処理を行ってもよい。なお、顔検出部210は、通常動作状態における高電力検出処理ではIRカメラとRGBカメラの両方を用いて顔検出処理または顔認証処理を行ってもよい。
メイン処理部300は、CPU(Central Processing Unit)301、GPU(Graphic Processing Unit)302、チップセット303、及びシステムメモリ304を含んで構成され、OS(Operating System)に基づくシステム処理によって、OS上で各種のアプリケーションプログラムの処理が実行可能である。
CPU301は、BIOSのプログラムに基づく処理、OSのプログラムに基づく処理、OS上で動作するアプリケーションプログラムに基づく処理などを実行する。CPU301は、チップセット303などからの制御に基づいてシステムの動作状態を制御する。例えば、CPU301は、システムを待機状態から起動させて通常動作状態に遷移させる起動処理を実行する。また、CPU301は、待機状態からの起動後に、正規のユーザであるか否かをユーザ認証するログイン認証処理を実行する。顔認証によるログイン認証の機能が有効に設定されている場合、CPU301は、顔認証によるユーザ認証処理を実行する。一方、顔認証によるログイン認証の機能が無効に設定されている場合、CPU301は、起動処理において顔認証以外(例えば、パスワード認証、PIN認証、指紋認証など)のユーザ認証処理を実行する。
CPU301は、ユーザ認証処理において正規のユーザであると判定した場合には、使用を許可(ログインを許可)し、通常動作状態へ遷移させる。一方、CPU301は、ユーザ認証処理において正規のユーザでないと判定した場合には、使用を許可(ログインを許可)せず、認証待ちの状態を継続する。
GPU302は、表示部110に接続されている。GPU302は、CPU301の制御に基づいて画像処理を実行して表示データを生成する。GPU302は、生成した表示データを表示部110に出力する。
チップセット303は、メモリコントローラとしての機能及びI/Oコントローラとしての機能などを有する。例えば、チップセット303は、CPU301及びGPU302によるシステムメモリ304、記憶部170などからのデータの読出し、書込みを制御する。また、チップセット303は、通信部160、表示部110およびEC200からのデータの入出力を制御する。また、チップセット303は、センサハブとしての機能を有する。例えば、チップセット303は、顔検出部210から取得する顔検出処理による検出結果、顔認証処理による認証結果などを取得する。また、チップセット303は、ToFセンサ130から検出範囲FoVに存在する物体(例えば、人物)との距離及び位置(方向)の検出結果を取得する。例えば、チップセット303は、顔検出部210またはToFセンサ130から取得する情報に基づいて、HPD処理などを実行する。
システムメモリ304は、CPU301で実行されるプログラムの読み込み領域ならびに処理データを書き込む作業領域などとして用いられる。また、システムメモリ304は、撮像部120で撮像された撮像画像の画像データを一時的に記憶する。
なお、CPU301、GPU302、及びチップセット303は、一体化された一つのプロセッサとして構成されてもよいし、一部またはそれぞれが個々のプロセッサとして構成されてもよい。例えば、通常動作状態では、CPU301、GPU302、及びチップセット303のいずれも動作している状態となるが、待機状態では、チップセット303の少なくとも一部のみが動作している状態となる。待機状態では、少なくとも起動時のHPD処理に必要な機能が動作している。
[情報処理装置の機能構成]
次に、情報処理装置1によるHPD処理の機能構成について詳しく説明する。
図6は、本実施形態に係る情報処理装置1の機能構成の一例を示す概略ブロック図である。情報処理装置1は、システム処理部310と、HPD処理部330とを備えている。
HPD処理部330は、チップセット303の処理によりHPD処理を実行する機能構成である。例えば、HPD処理部330は、検出処理選択部331と、人物検出部332と、状態判定部333とを備える。
検出処理選択部331は、人物の存在を検出する際の検出処理として低電力検出処理と高電力検出処理とのいずれかを選択する。例えば、検出処理選択部331は、待機状態において人物の存在を検出する際には、低電力検出処理を選択し、高電力検出処理を停止させる。また、検出処理選択部331は、低電力検出処理により人物が検出された場合には、高電力検出処理を選択し、低電力検出処理から高電力検出処理へ切り替える。
また、通常動作状態では、検出処理選択部331は、検出された人物の状態に応じて低電力検出処理または高電力検出処理を選択する。例えば、検出処理選択部331は、検出された人物の動きが所定の閾値以上の場合には高電力検出処理を選択し、検出された人物の動きが所定の閾値未満の場合には高電力検出処理を停止させて低電力検出処理を選択する。
人物検出部332は、低電力検出処理と高電力検出処理とのうち検出処理選択部331により選択された検出処理を用いて、検出範囲FoV内における人物の存在の有無を検出する。例えば、人物検出部332は、低電力検出処理では、ToFセンサ130による検出結果に基づいて、検出範囲FoV内における人物の存在の有無を検出する。また、人物検出部332は、高電力検出処理では、顔検出部210から取得する顔検出処理による検出結果に基づいて、検出範囲FoV内における人物の存在の有無を検出する。
一例として、待機状態において、人物検出部332は、低電力検出処理により検出範囲FoV内に存在する人物を検出した場合、人物が存在することを示す情報(Presence=true)を、システムを待機状態から起動させる指示としてシステム処理部310へ送信する。
また、起動後の通常動作状態(システムが起動した状態)において、人物検出部332は、高電力検出処理により検出範囲FoV内に存在する人物を検出するとともに、検出範囲FoV内に存在する人物が検出されなくなった場合、人物が存在しないことを示す情報(Presence=false)を、システムを通常動作状態から待機状態へ遷移させる指示としてシステム処理部310へ送信する。
また、人物検出部332は、高電力検出処理では、顔検出部210から取得する顔検出処理による検出結果に基づいて、検出範囲FoV内に検出された人物の顔の向きの情報を取得してもよい。例えば、人物検出部332は、人物の顔の向きが正面である場合、情報処理装置1の方を見ている状態(注目している状態)であることを示す情報(Attention)を、システム処理部310へ送信してもよい。一方、人物検出部332は、人物の顔の向きが横向きである場合、情報処理装置1の方を見ていない状態(注目していない状態)であることを示す情報(No attention)を、システム処理部310へ送信してもよい。
また、人物検出部332は、高電力検出処理では、顔検出部210から取得する顔検出処理による検出結果に基づいて、検出範囲FoV内に検出された人物の顔認証(正規のユーザであるか否か)の結果を取得してもよい。例えば、人物検出部332は、待機状態において検出範囲FoV内に存在する人物が検出された場合、正規のユーザである場合のみ、人物が存在することを示す情報(Presence=true)を、システムを待機状態から起動させる指示としてシステム処理部310へ送信してもよい。また、人物検出部332は、通常動作状態において正規のユーザではない人物が検出範囲FoV内に検出された場合、正規のユーザ以外の人物が検出されたことを示す情報(Non-user detected)を、システム処理部310へ送信してもよい。
状態判定部333は、人物検出部332による人物の検出結果に基づいて、検出範囲FoV内に存在する人物の状態を検出する。例えば、状態判定部333は、検出範囲FoV内に存在する人物の動きを検出し、検出した人物の動きが所定の閾値以上であるか否かを判定する。人物検出部332が低電力検出処理により人物の検出を行っている場合、状態判定部333は、人物との距離または位置(方向)の変化に基づいて人物の動きが所定の閾値以上であるか否かを判定する。一方、人物検出部332が高電力検出処理により人物の検出を行っている場合、状態判定部333は、顔領域の大きさの変化または顔の向きの変化などに基づいて人物の動きが所定の閾値以上であるか否かを判定する。
上述した検出処理選択部331は、通常動作状態において、この状態判定部333の判定結果に基づいて、人物の動きが所定の閾値以上の場合には高電力検出処理を選択し、人物の動きが所定の閾値未満の場合には高電力検出処理を停止させて低電力検出処理を選択する。
システム処理部310は、CPU11がBIOS及びOSによる処理を実行することにより実現される機能構成である。例えば、システム処理部310は、OSによる処理による機能構成として、動作制御部311を含む。
動作制御部311は、システムの動作状態を制御する。例えば、動作制御部311は、HPD処理部330からの制御に基づいてシステムの動作状態を、通常動作状態、待機状態などに制御する。一例として、動作制御部311は、システムを待機状態から起動させる指示として、人物が存在することを示す情報(Presence=true)をHPD処理部330から取得すると、システムの動作状態を待機状態から起動させる。また、動作制御部311は、システムを通常動作状態から待機状態へ遷移させる指示として、人物が存在しないことを示す情報(Presence=false)をHPD処理部330から取得すると、システムの動作状態を通常動作状態から待機状態へ遷移させる。
また、動作制御部311は、通常動作状態において、検出範囲FoV内に存在する人物が情報処理装置1の方を見ていない状態(注目していない状態)であることを示す情報(No attention)をHPD処理部330から取得すると、表示部110の輝度(画面輝度)を低減させてもよい。これにより、ユーザが情報処理装置1の方を見ていない状態で無駄に電力が消費されてしまうことを抑制することができる。
また、動作制御部311は、通常動作状態において、検出範囲FoV内に正規のユーザ以外の人物が検出されたことを示す情報(Non-user detected)をHPD処理部330から取得すると、他人からの覗き込みを警告する警告表示を表示部110に表示させてもよい。これにより、ユーザ(正規のユーザ)以外の人物から画面に表示されている内容が見られてしまうことを抑制することができる。
[HPD制御処理の動作]
次に、図7を参照して、情報処理装置1がHPD処理において低電力検出処理と高電力検出処理とを切り替えてシステムの動作状態を制御するHPD制御処理の動作について説明する。
図7は、本実施形態に係るHPD制御処理の一例を示すフローチャートである。
(ステップS101)HPD処理部330は、待機状態では、低電力検出処理を選択し、低電力検出処理により情報処理装置1の前方の検出範囲FoV内の人物の存在の有無を検出する。そして、ステップS103の処理へ進む。
(ステップS103)HPD処理部330は、低電力検出処理により検出範囲FoV内に存在する人物を検出したか否かを判定する。HPD処理部330は、検出範囲FoV内に存在する人物を検出していないと判定した場合(NO)、ステップS101の処理を継続し、引き続き低電力検出処理を行う。一方、HPD処理部330は、検出範囲FoV内に存在する人物を検出したと判定した場合(YES)、ステップS105の処理へ進む。
(ステップS105)HPD処理部330は、高電力検出処理を実行して、低電力検出処理から高電力検出処理へ切り替える。HPD処理部330は、高電力検出処理により検出範囲FoV内に存在する人物の顔認証の結果に基づいて、正規のユーザの存在の有無を検出する。そして、ステップS107の処理へ進む。
(ステップS107)HPD処理部330は、高電力検出処理により検出範囲FoV内に正規のユーザが存在するか否かを判定する。HPD処理部330は、検出範囲FoV内に正規のユーザを検出していないと判定した場合(NO)、ステップS101の処理に戻り、高電力検出処理を停止して、高電力検出処理から低電力検出処理へ切り替える。一方、HPD処理部330は、検出範囲FoV内に正規のユーザを検出したと判定した場合(YES)、人物(正規のユーザ)が存在することを示す情報(Presence=true)をシステム処理部310へ送信する。
(ステップS201)システム処理部310は、人物が存在することを示す情報(Presence=true)をHPD処理部330から取得すると、システムの動作状態を待機状態から起動させる。そして、システム処理部310は、例えばログイン認証を行った後、通常動作状態へ遷移させる。
(ステップS109)HPD処理部330は、通常動作状態では、まず高電力検出処理を選択する。例えば、HPD処理部330は、高電力検出処理により検出範囲FoV内の人物の存在の有無を検出する。例えば、HPD処理部330は、検出範囲FoV内に人物が検出された場合、検出された人物の顔の向きの情報を顔検出部210から取得し、人物の顔の向きが正面である場合、ステップS111の処理へ進む。
(ステップS111)HPD処理部330は、ステップS109における人物の検出結果に基づいて、検出範囲FoV内に存在する人物の状態を検出する。例えば、HPD処理部330は、検出範囲FoV内に存在する人物の動きを検出し、検出した人物の動きが所定の閾値以上であるか否かを判定する。HPD処理部330は、検出した人物の動きが所定の閾値以上であると判定した場合(YES)、ステップS109に戻り、高電力検出処理を継続する。一方、HPD処理部330は、検出した人物の動きが所定の閾値未満であると判定した場合(NO)、ステップS113の処理へ進む。
(ステップS113)HPD処理部330は、人物の動きが小さい場合、人物の状態(人物の位置、顔の向き等)が安定しているため、高電力検出処理を停止して、高電力検出処理から低電力検出処理へ切り替える。HPD処理部330は、低電力検出処理により検出範囲FoV内に存在する人物を検出し、ステップS115の処理へ進む。
(ステップS115)HPD処理部330は、低電力検出処理により検出範囲FoV内に存在する人物の動きを検出し、検出した人物の動きが所定の閾値以上であるか否かを判定する。HPD処理部330は、検出した人物の動きが所定の閾値未満であると判定した場合(NO)、ステップS113に戻り、低電力検出処理を継続する。一方、HPD処理部330は、検出した人物の動きが所定の閾値以上であると判定した場合(YES)、ステップS109に戻り、高電力検出処理を実行し、低電力検出処理から高電力検出処理へ切り替える。
なお、ステップS109において、HPD処理部330は、検出範囲FoV内に検出された人物の顔の向きが横向きである場合、情報処理装置1の方を見ていない状態(注目していない状態)であることを示す情報(No attention)を、システム処理部310へ送信する。また、ステップS109において、HPD処理部330は、正規のユーザではない人物が検出範囲FoV内に検出された場合、正規のユーザ以外の人物が検出されたことを示す情報(Non-user detected)を、システム処理部310へ送信する。
(ステップS203)システム処理部310は、情報処理装置1の方を見ていない状態(注目していない状態)であることを示す情報(No attention)をHPD処理部330から取得すると、表示部110の輝度(画面輝度)を低減させる。また、システム処理部310は、正規のユーザ以外の人物が検出されたことを示す情報(Non-user detected)をHPD処理部330から取得すると、他人からの覗き込みを警告する警告表示を表示部110に表示させる。
また、ステップS109において、HPD処理部330は、検出範囲FoV内に人物が検出されなくなった場合(人物の離脱が検出された場合)、人物が存在しないことを示す情報(Presence=false)を、システム処理部310へ送信する。なお、HPD処理部330は、検出範囲FoV内に正規のユーザが検出されなくなった場合(正規のユーザの離脱が検出された場合)、人物が存在しないことを示す情報(Presence=false)を、システム処理部310へ送信してもよい。
(ステップS205)システム処理部310は、人物が存在しないことを示す情報(Presence=false)をHPD処理部330から取得すると、表示部110の表示をオフ(画面OFF)に制御する。そして、システム処理部310は、OSのスリープタイマの機能により、無入力(無操作)の状態が一定時間経過した後に待機状態へ遷移し、ステップS101の処理へ戻る。
次に、図8を参照して、図7のHPD制御処理を用いた低電力検出処理と高電力検出処理の切り替え制御による消費電力の削減効果について説明する。
図8は、本実施形に係るHPD処理における消費電力の変化の一例を示す図である。この図において、縦軸がHPD処理(低電力検出処理及び高電力検出処理)による消費電力の合計、横軸が時間であり、低電力検出処理と高電力検出処理の切り替えに応じた消費電力の変化を示している。また、HPD処理による消費電力の合計のうちハッチングありの部分が高電力検出処理による消費電力を示しており、ハッチングなしの部分が低電力検出処理による消費電力を示している。システムの動作状態は、時刻t0~t4と時刻t7以降とが待機状態であり、時刻t4~t7までが通常動作状態である。
まず、待機状態において、時刻t0からt1までは、低電力検出処理が選択されており、高電力検出処理は停止している(図7のステップS101~S103に対応)。そのため、HPD処理による消費電力は、低電力検出処理による消費電力のみとなる。
時刻t1において低電力検出処理により検出範囲FoV内に存在する人物が検出されると(図7のステップS103:YESに対応)、高電力検出処理が実行され、低電力検出処理による消費電力に対して高電力検出処理による消費電力が加わる(図7のステップS105~S107に対応)。
時刻t2において高電力検出処理により検出範囲FoV内に正規のユーザが検出されない場合(図7のステップS107:NOに対応)、高電力検出処理が停止して低電力検出処理に戻る。そのため、HPD処理による消費電力は、低電力検出処理による消費電力のみとなる。
時刻t3において低電力検出処理により検出範囲FoV内に存在する人物が再び検出されると(図7のステップS103:YESに対応)、高電力検出処理が実行され、低電力検出処理による消費電力に対して高電力検出処理による消費電力が加わる(図7のステップS105~S107に対応)。
時刻t4において高電力検出処理により検出範囲FoV内に正規のユーザが検出されると(図7のステップS107:YESに対応)、システムが待機状態から起動し通常動作状態へ遷移する(図7のステップS201に対応)。通常動作状態において、HPD処理による消費電力は、低電力検出処理による消費電力に対して高電力検出処理による消費電力が加わった値となる(図7のステップS109~S111に対応)。
なお、低電力検出処理による消費電力と高電力検出処理による消費電力とは、いずれも待機状態よりも通常動作状態の方が高くなる。これは、通常動作状態では、待機状態でサポートしていない機能(例えば、人物の動き検出など)を実行するためである。また、高電力検出処理では、例えば待機状態でRGBカメラを用い、通常動作状態でIRカメラを用いることによっても、消費電力は待機状態よりも通常動作状態の方が高くなる。
通常動作状態において、時刻t5で高電力検出処理により人物の動きが所定の閾値未満であることが検出されると(図7のステップS111:NOに対応)、高電力検出処理が停止して低電力検出処理に切り替わる。そのため、HPD処理による消費電力は、低電力検出処理による消費電力のみとなる(図7のステップS113~S115に対応)。
時刻t6において、低電力検出処理により人物の動きが所定の閾値以上であることが検出されると(図7のステップS115:YESに対応)、高電力検出処理が実行され、低電力検出処理による消費電力に対して高電力検出処理による消費電力が加わる(図7のステップS109~S111に対応)。
時刻t7において、高電力検出処理により人物(正規のユーザ)の離脱が検出された場合、システムが通常動作状態から待機状態へ遷移する(図7のステップS205に対応)。また、高電力検出処理が停止して低電力検出処理に切り替わる。そのため、HPD処理による消費電力は、低電力検出処理による消費電力のみとなる(図7のステップS101~S103に対応)。
このように、本実施形態によれば、待機状態では主に低電力検出処理を選択することで消費電力を低減するとともに、通常動作状態においても、必要なときのみ高電力検出処理を選択し、それ以外は低電力検出処理を選択することで消費電力を低減することができる。
[実施形態のまとめ]
以上説明してきたように、本実施形態に係る情報処理装置1は、情報処理装置1の前方の検出範囲FoV内(所定方向の一例)の人物を検出するためのToFセンサ130(第1検出デバイスの一例)と、ToFセンサ130よりも高い電力を消費して検出範囲FoVの人物を検出するための撮像部120(第2検出デバイスの一例)とを備えている。また、情報処理装置1は、システム(例えば、OS)のプログラムを一時的に記憶するシステムメモリ304(メモリの一例)と、CPU301、チップセット303、顔検出部210等のプロセッサを備えている。情報処理装置1は、システム(例えば、OS)のプログラムを実行することによりシステムの動作状態を制御する。例えば、情報処理装置1は、ToFセンサ130を用いて検出範囲FoV内の人物を検出する低電力検出処理(第1検出処理の一例)に基づいて、システムを待機状態から起動させる。また、情報処理装置1は、システムが起動した状態(例えば、通常動作状態)では、撮像部120を用いて検出範囲FoV内の人物を検出する高電力検出処理(第2検出処理の一例)を行うとともに、検出された人物の状態に応じて撮像部120を用いた高電力検出処理を停止してToFセンサ130を用いた低電力検出処理により検出範囲FoV内の人物を検出する。
これにより、情報処理装置1は、待機状態だけでなくシステムの起動後の通常動作状態においても必要な時のみ高電力検出処理を行うため、消費電力を低減しつつ、精度よく人物を検出することができる。
例えば、情報処理装置1は、通常動作状態では、検出された人物の動きが所定の閾値以上の場合には撮像部120を用いた高電力検出処理により検出範囲FoV内の人物を検出し、検出された人物の動きが所定の閾値未満の場合には撮像部120を用いた高電力検出処理を停止して、ToFセンサ130を用いた低電力検出処理により検出範囲FoV内の人物を検出する低電力検出処理を行う。
これにより、情報処理装置1は、通常動作状態において、人物の動きが大きい場合には人物の状態(人物の位置、顔の向き等)が変化する可能性が高いため、その変化を検出できるように高電力検出処理を行い、人物の動きが小さい場合には人物の状態(人物の位置、顔の向き等)が安定しているため、低電力検出処理を行うため、消費電力を低減しつつ、精度よく人物を検出することができる。
また、情報処理装置1は、通常動作状態で高電力検出処理を停止した状態では、低電力検出処理により検出された人物の動きが所定の閾値以上になった場合、撮像部120を用いた高電力検出処理を実行して検出範囲FoV内の人物を検出する。
これにより、情報処理装置1は、通常動作状態において高電力検出処理を停止した状態では、低電力検出処理により人物の動きを監視することにより、必要に応じて高電力検出処理に切り替えることができる。よって、消費電力を低減しつつ、精度よく人物を検出することができる。
なお、情報処理装置1は、撮像部120を用いて検出範囲FoV内の人物を検出する高電力検出処理を行う際にはToFセンサ130を用いた低電力検出処理を停止してもよい。
これにより、情報処理装置1は、高電力検出処理を行う際の消費電力を低減することができる。
なお、検出範囲FoV内の物体との距離を計測するToFセンサ130に代えて、レーダセンサとしてもよい。情報処理装置1は、低電力検出処理において、ToFセンサ130またはレーダセンサを用いて検出範囲FoV内の物体との距離を計測することにより人物を検出する。
これにより、情報処理装置1は、低電力検出処理では、顔検出による高電力検出処理に比較して消費電力を低減することができる。
また、撮像部120は、検出範囲FoVを撮像する撮像素子(撮像センサ)を含む。情報処理装置1は、高電力検出処理において、撮像部120を用いて検出範囲FoVを撮像した撮像画像の中から顔領域(顔画像の領域)を検出することにより人物を検出する。
これにより、情報処理装置1は、高電力検出処理では、ToFセンサ130またはレーダセンサを用いた低電力検出処理に比較して、より顔検出により人物の検出精度を高めることができる。
また、情報処理装置1は、高電力検出処理において、検出された顔画像の顔の向きをさらに検出し、検出した顔の向きに応じてシステムの動作状態を制御してもよい。
これにより、情報処理装置1は、人物の動きが大きいときのみ高電力検出処理にすることで、ToFセンサ130またはレーダセンサを用いた低電力検出処理ではできない顔の向きを検出することができる。よって、情報処理装置1は、消費電力を抑えつつ、例えば人物が情報処理装置1の方を見ていない状態(注目していない状態)のときには画面輝度を低減することもできる。
また、情報処理装置1は、高電力検出処理において、検出された顔画像に基づいて顔認証処理を行い、認証結果に応じてシステムの動作状態を制御してもよい。
これにより、情報処理装置1は、高電力検出処理では、ToFセンサ130またはレーダセンサを用いた低電力検出処理ではできない顔認証処理を行うことができる。よって、情報処理装置1は、人物が検出された場合に正規のユーザであるか否かに応じてシステムの動作状態を制御することができる。
また、本実施形態に係る情報処理装置1における制御方法は、情報処理装置1が、ToFセンサ130を用いて検出範囲FoV内の人物を検出する低電力検出処理(第1検出処理の一例)に基づいて、システムを待機状態から起動させるステップと、システムが起動した状態(例えば、通常動作状態)では、撮像部120を用いて検出範囲FoV内の人物を検出する高電力検出処理(第2検出処理の一例)を行うとともに、検出された人物の状態に応じて撮像部120を用いた高電力検出処理を停止してToFセンサ130を用いた低電力検出処理により検出範囲FoV内の人物を検出する低電力検出処理を行うステップと、を含む。
これにより、情報処理装置1は、待機状態だけでなくシステムの起動後の通常動作状態においても必要な時のみ高電力検出処理を行うため、消費電力を低減しつつ、精度よく人物を検出することができる。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の実施形態において説明した各構成は、任意に組み合わせることができる。
また、上記実施形態では、情報処理装置1に撮像部120及びToFセンサ130が内蔵されている構成例を説明したが、これに限られるものではない。例えば、撮像部120またはToFセンサ130は、情報処理装置1に内蔵されていなくてもよく、情報処理装置1の外部アクセサリとして情報処理装置1(例えば、側面10a、10b、10c等のいずれか)に取り付け可能に構成され、無線または有線で情報処理装置1と通信接続されるものであってもよい。
また、CPU301とチップセット303とは個別のプロセッサとして構成されてもよいし、1つのプロセッサとして一体化して構成されてもよい。
また、上記実施形態では、顔検出部210がチップセット303とは別に備えられている例を示したが、顔検出部210の一部または全部は、チップセット303に備えられてもよいし、チップセット303と一体化されたプロセッサに備えられてもよい。また、顔検出部210の一部または全部は、EC200に備えられてもよい。また、上記実施形態では、チップセット303がHPD処理部330を備える例を示したが、HPD処理部330の一部または全部は、EC200に備えられてもよい。
また、上述した待機状態には、ハイバネーション状態やパワーオフ状態等が含まれてもよい。ハイバネーション状態は、例えば、ACPIで規定されているS4状態に相当する。パワーオフ状態は、例えば、ACPIで規定されているS5状態(シャットダウンした状態)に相当する。なお、待機状態のうちスタンバイ状態、スリープ状態、ハイバネーション状態、パワーオフ状態などは、通常動作状態よりも電力の消費量が低い状態(電力の消費を抑えた状態)である。
なお、上述した情報処理装置1は、内部にコンピュータシステムを有している。そして、上述した情報処理装置1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理装置1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理装置1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
また、上述した実施形態における情報処理装置1が備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
また、上記実施形態の情報処理装置1は、PC、タブレット端末装置、スマートフォンなどに限られるものではなく、ゲーム装置や、マルチメディア端末等であってもよい。