(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-01-07
(45)【発行日】2022-01-21
(54)【発明の名称】情報処理装置、及び情報処理方法
(51)【国際特許分類】
G06F 13/10 20060101AFI20220114BHJP
G06F 3/16 20060101ALI20220114BHJP
【FI】
G06F13/10 330B
G06F3/16 630
G06F13/10 330A
G06F13/10 330C
(21)【出願番号】P 2019209328
(22)【出願日】2019-11-20
【審査請求日】2020-10-22
(73)【特許権者】
【識別番号】311012169
【氏名又は名称】NECパーソナルコンピュータ株式会社
(74)【代理人】
【識別番号】100161207
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】高坂 光俊
(72)【発明者】
【氏名】安田 浩子
(72)【発明者】
【氏名】北本 直
【審査官】田名網 忠雄
(56)【参考文献】
【文献】米国特許出願公開第2012/0150546(US,A1)
【文献】特表2017-532669(JP,A)
【文献】米国特許出願公開第2015/0363587(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/10-13/14
G06F 3/16
G06F 9/44-9/445
G10L 21/00
(57)【特許請求の範囲】
【請求項1】
人の発話及び動きのうち少なくとも一方を含む言動を検出可能であり、検出した前記言動と、予め定められた言動とが一致する場合に、検出通知を出力する検出処理部と、
OS(オペレーティングシステム)に基づく処理を実行するメイン制御部とは異なるサブ制御部であって、前記検出処理部が前記検出通知を出力したことを示すイベント情報を保持するとともに、前記メイン制御部の動作を停止した停止状態で、前記検出通知を受信した場合に、前記停止状態を解除して前記OSを起動させるサブ制御部と、
前記OSに基づいて動作する仮想デバイスであって、前記OSが起動したことに応じた、前記OS上で実行されるホストアプリケーションからのイベントの問い合わせを受信した場合に、前記サブ制御部が保持するイベント情報を確認し、当該確認の結果を前記ホストアプリケーションに返信する仮想デバイスと
を備え、
前記メイン制御部によって実行される前記ホストアプリケーションは、
前記確認の結果が、前記検出処理部が前記検出通知を出力したことを示す場合に、予め定められた処理を
前記メイン制御部に実行させる
情報処理装置。
【請求項2】
前記サブ制御部は、前記メイン制御部が動作状態で、且つ、表示部による表示を停止している状態において、前記検出通知を受信した場合に、前記検出通知を受信したことを示すイベント通知を前記仮想デバイスに出力し、
前記仮想デバイスは、前記イベント通知を予め定められた書式に変換して、前記ホストアプリケーションに出力し、
前記ホストアプリケーションは、前記イベント通知によって、前記検出処理部が前記検出通知を出力したことを判定し、前記検出処理部が前記検出通知を出力した場合に、前記予め定められた処理を
前記メイン制御部に実行させる
請求項1に記載の情報処理装置。
【請求項3】
前記ホストアプリケーションは、前記予め定められた処理として、予め設定されたアプリケーションを
前記メイン制御部に実行させる
請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記仮想デバイスは、
BIOS(Basic Input Output System)によって実
現され、前記仮想デバイスと前記サブ制御部との間の入出力処理を行うイベント機能部と、
前記OSに基づくデバイスドライバによって実
現され、前記仮想デバイスと前記ホストアプリケーションとの間の入出力処理を、予め定められたインタフェースで行うドライバインタフェース部と
を備える請求項1から請求項3のいずれか一項に記載の情報処理装置。
【請求項5】
前記人の言動が、人の発話を含む場合、
前記検出処理部は、人が発話した音声を検出し、検出した前記音声と、予め定められたキーフレーズとが一致する場合に、前記検出通知を出力する
請求項1から請求項4のいずれか一項に記載の情報処理装置。
【請求項6】
前記停止状態には、停止前の状態を記憶部に退避した後に前記メイン制御部の動作を停止する休止状態が含まれ、
前記サブ制御部は、前記休止状態で前記検出通知を受信した場合に、
前記メイン制御部に、前記記憶部に退避した前記停止前の状態を復帰させるレジューム処理を実行させて、前記OSを起動させる
請求項1から請求項5のいずれか一項に記載の情報処理装置。
【請求項7】
検出処理部が、人の発話及び動きのうち少なくとも一方を含む言動を検出可能であり、検出した前記言動と、予め定められた言動とが一致する場合に、検出通知を出力する検出処理ステップと、
OS(オペレーティングシステム)に基づく処理を実行するメイン制御部とは異なるサブ制御部が、前記検出処理ステップによって前記検出通知が出力されたことを示すイベント情報を保持するとともに、前記メイン制御部の動作を停止した停止状態で、前記検出通知を受信した場合に、前記停止状態を解除して前記OSを起動させる起動ステップと、
前記OSに基づいて動作する仮想デバイスが、前記OSが起動したことに応じた、前記OS上で実行されるホストアプリケーションからのイベントの問い合わせを受信した場合に、前記サブ制御部が保持するイベント情報を確認し、当該確認の結果を前記ホストアプリケーションに返信する通知ステップと、
前記メイン制御部が、前記ホストアプリケーションの処理において、前記確認の結果が、前記検出処理部が前記検出通知を出力したことを示す場合に、予め定められた処理を実行
する実行処理ステップと
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
近年、停止状態から音声でシステムを起動するWOV(Wake On Voice)機能が知られている(例えば、特許文献1を参照)。このようなWOV機能を利用することで、システムを起動した後に、様々なアプリケーションの動作を実現可能である。特許文献1は、WOV機能を備える携帯電話などの端末機が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、携帯電話よりも大規模なシステムである、例えば、パーソナルコンピュータなどの情報処理装置では、電源管理や各種イベントの検出を行うエンベデッドコントローラなどのサブ制御部と、各種アプリケーションなどのシステムのメイン処理を実行するメイン制御部とを備えている。このような情報処理装置にWOV機能を適用する場合には、例えば、WOV機能を利用するアプリケーションは、WOVのイベントを検出するサブ制御部の仕様(機種)に合わせて開発する必要があり、汎用性が低いという課題があった。
【0005】
本発明は、上記問題を解決すべくなされたもので、その目的は、汎用性を高めることができる情報処理装置、及び情報処理方法を提供することにある。
【課題を解決するための手段】
【0006】
上記問題を解決するために、本発明の一態様は、人の発話及び動きのうち少なくとも一方を含む言動を検出可能であり、検出した前記言動と、予め定められた言動とが一致する場合に、検出通知を出力する検出処理部と、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部とは異なるサブ制御部であって、前記検出処理部が前記検出通知を出力したことを示すイベント情報を保持するとともに、前記メイン制御部の動作を停止した停止状態で、前記検出通知を受信した場合に、前記停止状態を解除して前記OSを起動させるサブ制御部と、前記OSに基づいて動作する仮想デバイスであって、前記OSが起動したことに応じた、前記OS上で実行されるホストアプリケーションからのイベントの問い合わせを受信した場合に、前記サブ制御部が保持するイベント情報を確認し、当該確認の結果を前記ホストアプリケーションに返信する仮想デバイスとを備え、前記メイン制御部によって実行される前記ホストアプリケーションは、前記確認の結果が、前記検出処理部が前記検出通知を出力したことを示す場合に、予め定められた処理を前記メイン制御部に実行させる情報処理装置である。
【0007】
また、本発明の一態様は、上記の情報処理装置において、前記サブ制御部は、前記メイン制御部が動作状態で、且つ、表示部による表示を停止している状態において、前記検出通知を受信した場合に、前記検出通知を受信したことを示すイベント通知を前記仮想デバイスに出力し、前記仮想デバイスは、前記イベント通知を予め定められた書式に変換して、前記ホストアプリケーションに出力し、前記ホストアプリケーションは、前記イベント通知によって、前記検出処理部が前記検出通知を出力したことを判定し、前記検出処理部が前記検出通知を出力した場合に、前記予め定められた処理を前記メイン制御部に実行させるようにしてもよい。
【0008】
また、本発明の一態様は、上記の情報処理装置において、前記ホストアプリケーションは、前記予め定められた処理として、予め設定されたアプリケーションを前記メイン制御部に実行させるようにしてもよい。
【0009】
また、本発明の一態様は、上記の情報処理装置において、前記仮想デバイスは、BIOS(Basic Input Output System)によって実現され、前記仮想デバイスと前記サブ制御部との間の入出力処理を行うイベント機能部と、前記OSに基づくデバイスドライバによって実現され、前記仮想デバイスと前記ホストアプリケーションとの間の入出力処理を、予め定められたインタフェースで行うドライバインタフェース部とを備えるようにしてもよい。
【0010】
また、本発明の一態様は、上記の情報処理装置において、前記人の言動が、人の発話を含む場合、前記検出処理部は、人が発話した音声を検出し、検出した前記音声と、予め定められたキーフレーズとが一致する場合に、前記検出通知を出力するようにしてもよい。
【0011】
また、本発明の一態様は、上記の情報処理装置において、前記停止状態には、停止前の状態を記憶部に退避した後に前記メイン制御部の動作を停止する休止状態が含まれ、前記サブ制御部は、前記休止状態で前記検出通知を受信した場合に、前記メイン制御部に、前記記憶部に退避した前記停止前の状態を復帰させるレジューム処理を実行させて、前記OSを起動させるようにしてもよい。
【0012】
また、本発明の一態様は、検出処理部が、人の発話及び動きのうち少なくとも一方を含む言動を検出可能であり、検出した前記言動と、予め定められた言動とが一致する場合に、検出通知を出力する検出処理ステップと、OS(オペレーティングシステム)に基づく処理を実行するメイン制御部とは異なるサブ制御部が、前記検出処理ステップによって前記検出通知が出力されたことを示すイベント情報を保持するとともに、前記メイン制御部の動作を停止した停止状態で、前記検出通知を受信した場合に、前記停止状態を解除して前記OSを起動させる起動ステップと、前記OSに基づいて動作する仮想デバイスが、前記OSが起動したことに応じた、前記OS上で実行されるホストアプリケーションからのイベントの問い合わせを受信した場合に、前記サブ制御部が保持するイベント情報を確認し、当該確認の結果を前記ホストアプリケーションに返信する通知ステップと、前記メイン制御部が、前記ホストアプリケーションの処理において、前記確認の結果が、前記検出処理部が前記検出通知を出力したことを示す場合に、予め定められた処理を実行する実行処理ステップとを含む情報処理方法である。
【発明の効果】
【0013】
本発明の上記態様によれば、汎用性を高めることができる。
【図面の簡単な説明】
【0014】
【
図1】本実施形態によるパーソナルコンピュータ(PC)の一例を示す外観図である。
【
図2】本実施形態によるPCの主要なハードウェア構成の一例を示す図である。
【
図3】本実施形態によるPCの機能構成の一例を示すブロック図である。
【
図4】本実施形態によるPCの停止状態における動作の一例を示す図である。
【
図5】本実施形態によるPCの表示を停止した動作状態における動作の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態による情報処理装置、及び情報処理方法について、図面を参照して説明する。
【0016】
図1は、本実施形態によるパーソナルコンピュータ(PC)1の一例を示す外観図である。なお、本実施形態において、情報処理装置の一例として、PC1について説明する。
図1に示すように、PC1は、一体型(オールインワンタイプ)のデスクトップPCであり、表示部14を内蔵した本体と、入力部32とを備えている。PC1は、利用者が音声により、予め定められたキーフレーズ(例えば、「○○○起きて」など)を入力することで、システムを起動するWOV機能を有している。
【0017】
図2は、本実施形態によるPC1の主要なハードウェア構成の一例を示す図である。
図2に示すように、PC1は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27と、エンベデッドコントローラ31と、入力部32と、電源回路33と、マイク241と、スピーカ242とを備える。
なお、本実施形態において、CPU11と、チップセット21とは、メイン制御部10に対応する。
【0018】
CPU(Central Processing Unit)11は、プログラム制御により種々の演算処理を実行し、PC1全体を制御している。
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS(オペレーティングシステム)、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0019】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
表示部14は、例えば、液晶ディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
【0020】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。
図2では、デバイスの例示として、BIOSメモリ22と、HDD23と、オーディオシステム24と、WLANカード25と、USBコネクタ26と、撮像部27とが、チップセット21に接続されている。
【0021】
BIOS(Basic Input Output System)メモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0022】
HDD(Hard Disk Drive)23(不揮発性記憶装置の一例)は、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。
【0023】
オーディオシステム24は、マイク241及びスピーカ242が接続され、音データの記録、再生、出力を行う。また、オーディオシステム24は、DSP(Digital Signal Processor)240を備える。
【0024】
DSP240(検出処理部の一例)は、音データの処理を行うプロセッサであり、マイク241が検出した音信号をデジタル信号処理するとともに、チップセット21を介して取得した音データをデジタル信号処理して、スピーカ242から出力させる。また、DSP240は、PC1がWOVを実行する際に、マイク241から入力された音声(検出された音声)が、予め定められたキーフレーズ(又は、キーワード)と一致するか否かを検出し、一致する場合に、WOVの検出信号(検出通知)を出力する。なお、DSP240によるWOVに関する処理の詳細については後述する。
【0025】
WLAN(Wireless Local Area Network)カード25は、ワイヤレス(無線)LANにより、ネットワークに接続して、データ通信を行う。WLANカード25は、例えば、ネットワークからのデータを受信した際に、データを受信したことを示すイベントトリガを発生する。
USBコネクタ26は、USBを利用した周辺機器類を接続するためのコネクタである。
【0026】
撮像部27は、例えば、
図1に示すように、表示部14の上部に配置されているWebカメラであり、画像を撮像する。撮像部27は、例えば、USBインタフェースによりチップセット21と接続されている。
【0027】
エンベデッドコントローラ31は、PC1のシステム状態に関わらず、各種デバイス(周辺装置やセンサ等)を監視し制御するワンチップマイコン(One-Chip Microcomputer)である。また、エンベデッドコントローラ31は、電源回路33を制御する電源管理機能を有している。なお、エンベデッドコントローラ31は、不図示のCPU、ROM、RAMなどで構成されるとともに、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備えている。エンベデッドコントローラ31には、それらの入出力端子を介して、例えば、入力部32、及び電源回路33などが接続されており、エンベデッドコントローラ31は、これらの動作を制御する。
【0028】
エンベデッドコントローラ31は、ACPI(Advanced Configuration and Power Interface)仕様に規定されたシステム状態(例えば、S0状態~S5状態)に応じて、電源回路33を制御する。ここで、S0状態は、最もアクティブな状態であり、メイン制御部10が動作している動作状態(通常稼働状態)である。また、S5状態は、ソフトウェアにより電源をオフしたシャットダウン状態(電源断状態)である。
【0029】
また、S4状態は、CPU11のレジスタ情報、メインメモリ12のデータ、及びチップセット21の設定情報をHDD23(記憶部の一例)に退避して、CPU11、メインメモリ12、及びチップセット21への電源供給を停止したハイバネーション状態である。また、S3状態は、CPU11のレジスタ情報、及びチップセット21の設定情報をメインメモリ12(記憶部の一例)に退避して、CPU11、及びチップセット21への電源供給を停止したスリープ状態である。
【0030】
なお、本実施形態において、停止状態には、メイン制御部10の動作を停止した状態であり、上述したS5状態(シャットダウン状態)、S4状態(ハイバネーション状態)、及びS3状態(スリープ状態)が含まれる。また、レジューム機能を利用する休止状態には、S4状態(ハイバネーション状態)、及びS3状態(スリープ状態)が含まれる。
【0031】
入力部32は、例えば、キーボードなどの、ポインティング・デバイス、タッチパッドなどの入力デバイスである。
【0032】
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、電池ユニット、AC/DCアダプタなどを含んでおり、AC/DCアダプタ、又は電池ユニットから供給される直流電圧を、PC1を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、PC1の各部に電力を供給する。
【0033】
次に、
図3を参照して、本実施形態によるPC1の機能構成について説明する。
図3は、本実施形態によるPC1の機能構成の一例を示すブロック図である。
図3に示すように、PC1は、DSP240と、エンベデッドコントローラ31と、ソフトウェアデバイス50と、OS61と、ホストアプリケーション62と、アプリケーション63とを備える。なお、
図3において、PC1が備える機能構成のうちの、本実施形態の発明に関する主要な機能構成のみを記載している。
【0034】
また、
図3において、ソフトウェアデバイス50、OS61、ホストアプリケーション62、及びアプリケーション63は、HDD23又はBIOSメモリ22が記憶するプログラムをメイン制御部10が実行することで実現されるソフトウェアの機能部である。
【0035】
OS(オペレーティングシステム)61は、例えば、Windows(登録商標)であり、ここでは、HDD23が記憶するOSプログラムをメイン制御部10に実行させることで実現される機能部として説明する。
【0036】
BIOS60は、BIOSメモリ22が記憶するBIOSのプログラムをメイン制御部10に実行させることで実現される機能部であり、各種周辺機器類とOS61との間の入出力処理を行う。
【0037】
ホストアプリケーション62及びアプリケーション63は、OS61上で実行されるソフトウェアの機能部であり、HDD23が記憶するOSプログラムをメイン制御部10に実行させることで実現される。ホストアプリケーション62は、WOVによりPC1のシステム(OS61)が起動した後、予め定められた処理を実行させる特別なアプリケーションである。ここで、予め定められた処理には、予め設定されたアプリケーションを実行させる処理が含まれ、ホストアプリケーション62は、予め定められた処理として、予め設定されたアプリケーション(例えば、アプリケーション63)を実行させる。
【0038】
DSP240(検出処理部の一例)は、WOVを実行する際に、接続されたマイク241を介して、人の音声(人の言動の一例)を検出し、検出した音声と、予め定められた音声とが一致するか否かを判定する。ここで、予め定められた音声は、例えば、「○○○起きて」などの予め定められたキーフレーズである。DSP240は、検出した音声と、予め定められた音声とが一致する場合に、検出通知をエンベデッドコントローラ31に出力する。
【0039】
また、DSP240は、内部にキーフレーズ記憶部41を備える。キーフレーズ記憶部41は、上述した「○○○起きて」などの予め定められたキーフレーズを記憶する。すなわち、DSP240は、マイク241が検出した音声を音声認識処理により、音声のフレーズにテキスト変換し、検出した音声のフレーズと、キーフレーズ記憶部41が記憶するキーフレーズとが一致するか否かを判定する。
【0040】
エンベデッドコントローラ31(サブ制御部の一例)は、OS61に基づく処理を実行するメイン制御部10とは異なる制御部であり、DSP240が検出通知を出力したことを示すイベント情報を保持するとともに、メイン制御部10の動作を停止した停止状態で、検出通知を受信した場合に、停止状態を解除してOS61を起動させる。
【0041】
また、エンベデッドコントローラ31は、内部にWOVイベントフラグ42を有している。WOVイベントフラグ42は、DSP240がWOVの検出通知を出力したことを示すイベント情報を保持するフラグである。例えば、WOVイベントフラグ42が“1”である場合に、WOVイベントが発生した(DSP240から検出通知を受信した)ことを示し、WOVイベントフラグ42が“0”である場合に、WOVイベントが発生していない(DSP240から検出通知を受信していない)ことを示している。
【0042】
エンベデッドコントローラ31は、DSP240から検出通知を受信した場合に、WOVイベントフラグ42を“1”に変更し、DSP240が検出通知を出力したことを示すイベント情報として保持する。なお、WOVイベントフラグ42へのアクセス方法(例えば、アクセスのためのアドレスやインタフェースなど)は、エンベデッドコントローラ31の仕様(機種、型名など)によって異なっている。
【0043】
エンベデッドコントローラ31は、例えば、S5状態(シャットダウン状態)、S4状態(ハイバネーション状態)、又はS3状態(スリープ状態)である場合に、DSP240から検出通知を受信した場合に、電源回路33を制御して、メイン制御部10等に電源を供給して、OS61を起動させる。エンベデッドコントローラ31は、S4状態(ハイバネーション状態)、又はS3状態(スリープ状態)において、OS61を起動(再起動)させる場合に、HDD23又はメインメモリ12に退避した停止前の状態(CPU11のレジスタ情報、メインメモリ12のデータ、及びチップセット21の設定情報)を復帰させるレジューム処理を実行させて、OS61を再起動させる。
【0044】
また、エンベデッドコントローラ31は、例えば、表示停止状態において、DSP240から検出通知を受信した場合に、検出通知を受信したことを示すイベント通知(例えば、WOVイベント通知)をソフトウェアデバイス50に出力する。ここで、表示停止状態とは、メイン制御部10が動作状態(S0状態)で、且つ、表示部14による表示を停止している状態である。
【0045】
ソフトウェアデバイス50(仮想デバイスの一例)は、OS61に基づいて動作する機能部であり、BIOS60のACPIコードで仮想のデバイスとして作成されており、デバイスの入出力インタフェース及びWOVイベント機能(WOV Event Function)を定義する。ソフトウェアデバイス50は、OS61が起動したことに応じた、ホストアプリケーション62からのイベントの問い合わせ(Query Event)を受信した場合に、エンベデッドコントローラ31が保持するイベント情報(WOVイベントフラグ42の情報)を確認し、当該確認の結果をホストアプリケーション62に返信する。
【0046】
この場合、ホストアプリケーション62は、ソフトウェアデバイス50から受信した確認の結果が、DSP240が検出通知を出力したことを示す場合(WOVイベントフラグ42が“1”である場合)に、予め定められた処理(アプリケーション63)を実行させる。
【0047】
また、ソフトウェアデバイス50は、エンベデッドコントローラ31からWOVイベント通知を受信した場合に、受信したWOVイベント通知を予め定められた書式(フォーマット)に変換して、ホストアプリケーション62に出力する。この場合、ホストアプリケーション62は、WOVイベント通知によって、DSP240が検出通知を出力したことを判定し、DSP240が検出通知を出力した場合に、予め定められた処理(アプリケーション63)を実行させる。
【0048】
また、ソフトウェアデバイス50は、イベント機能部51と、ドライバインタフェース部52とを備える。
イベント機能部51は、BIOS60によって実行される機能部(BIOS60の一部)であり、ソフトウェアデバイス50とエンベデッドコントローラ31との間の入出力処理を行う。
【0049】
ドライバインタフェース部52は、OS61に基づくデバイスドライバによって実行される機能部であり、ソフトウェアデバイス50とホストアプリケーション62との間の入出力処理を、予め定められたインタフェースで行う。
【0050】
次に、図面を参照して、本実施形態によるPC1の動作について説明する。
図4は、本実施形態によるPC1の停止状態における動作の一例を示す図である。すなわち、
図4に示す例では、PC1が、S5状態(シャットダウン状態)、S4状態(ハイバネーション状態)、及びS3状態(スリープ状態)のいずれかの停止状態である場合のWOVによる起動動作について説明する。
【0051】
図4に示すように、PC1のDSP240は、まず、音声を検出したか否かを判定する(ステップS101)。DSP240は、マイク241を介して、人の音声を検出したか否かを判定する。DSP240は、音声を検出した場合(ステップS101:YES)に、処理をステップS102に進める。また、DSP240は、音声を検出していない場合(ステップS101:NO)に、処理をステップS101に戻す。
【0052】
ステップS102において、DSP240は、検出した音声が、設定されたキーフレーズと一致するか否かを判定する。DSP240は、例えば、マイク241が検出した音声を音声認識処理により、音声のフレーズにテキスト変換し、検出した音声のフレーズと、キーフレーズ記憶部41が記憶するキーフレーズとが一致するか否かを判定する。DSP240は、検出した音声が設定されたキーフレーズと一致する場合(ステップS102:YES)に、処理をステップS103に進める。また、DSP240は、検出した音声が設定されたキーフレーズと一致しなかった場合(ステップS102:NO)に、処理をステップS101に戻す。
【0053】
ステップS103において、DSP240は、検出通知(例えば、WOVの検出信号)をエンベデッドコントローラ31に出力する。
【0054】
次に、エンベデッドコントローラ31は、DSP240が出力した検出通知(例えば、WOVの検出信号)の受信に応じて、PC1のパワーオン処理を実行する(ステップS104)。すなわち、エンベデッドコントローラ31は、電源回路33を制御して、メイン制御部10等に電源を供給させる。
【0055】
次に、エンベデッドコントローラ31は、OS61に起動要求を出力する(ステップS105)。すなわち、エンベデッドコントローラ31は、メイン制御部10に起動信号(例えば、リセット信号や割り込み信号など)を出力して、OS61を起動又は再起動させる。なお、エンベデッドコントローラ31は、休止状態(S3状態(スリープ状態)又はS4状態(ハイバネーション状態))で検出通知を受信した場合に、記憶部(HDD23又はメインメモリ12)に退避した停止前の状態を復帰させるレジューム処理を実行させて、OS61を起動させる。
【0056】
次に、エンベデッドコントローラ31からの起動要求に応じて、OS61が、システムを起動する(ステップS106)。
【0057】
次に、OS61は、レジューム処理を実行する(ステップS107)。OS61は、例えば、S3状態(スリープ状態)で休止していた場合には、レジューム処理として、メインメモリ12に退避していたCPU11のレジスタ情報、及びチップセット21の設定情報を復帰させる。また、OS61は、例えば、S4状態(ハイバネーション状態)で休止していた場合には、レジューム処理として、メインメモリ12に退避していたCPU11のレジスタ情報、チップセット21の設定情報、及びメインメモリ12のデータを復帰させる。
なお、OS61は、S5状態(シャットダウン状態)で停止していた場合には、レジューム処理をスキップする。
【0058】
次に、OS61は、ホストアプリケーション62に起動要求を出力する(ステップS108)。OS61からの起動要求に応じて、ホストアプリケーション62は、起動して動作を開始する。
【0059】
次に、ホストアプリケーション62は、イベントの問い合わせ(Query Event)をソフトウェアデバイス50に出力する(ステップS109)。
【0060】
次に、ソフトウェアデバイス50は、ホストアプリケーション62からのイベントの問い合わせ(Query Event)に応じて、WOVイベントフラグ42の読み出し要求を、エンベデッドコントローラ31に出力する(ステップS110)。
【0061】
次に、エンベデッドコントローラ31は、ソフトウェアデバイス50からのWOVイベントフラグ42の読み出し要求に応じて、フラグ情報をソフトウェアデバイス50に出力する(ステップS111)。すなわち、エンベデッドコントローラ31は、内蔵するWOVイベントフラグ42の情報であるフラグ情報を読み出し、ソフトウェアデバイス50に出力する。
【0062】
次に、エンベデッドコントローラ31からのフラグ情報に応じて、ソフトウェアデバイス50は、イベントの問い合わせ(Query Event)に対する確認結果をホストアプリケーション62に出力する(ステップS112)。ここで、ソフトウェアデバイス50は、WOVイベントフラグ42のフラグ情報を予め定められた書式(フォーマット)の電文に変換して、確認結果として、ホストアプリケーション62に送信する。
【0063】
次に、ホストアプリケーション62は、確認結果がWOVイベントの発生であるか否かを判定する(ステップS113)。ホストアプリケーション62は、ソフトウェアデバイス50から受信した確認結果が、WOVイベントの発生であるか否か(WOVイベントフラグ42が“1”であるか否か)を判定する。ホストアプリケーション62は、WOVイベントが発生した(WOVイベントフラグ42が“1”である)場合(ステップS113:YES)に、処理をステップS114に進める。また、ホストアプリケーション62は、WOVイベントが発生ていない(WOVイベントフラグ42が“0”である)場合(ステップS113:NO)に、処理をスキップして何も実行しない。
【0064】
次に、ステップS114において、ホストアプリケーション62は、指定したアプリケーション(例えば、アプリケーション63)を起動させる。
このように、本実施形態によるPC1では、停止状態において、音声で予め定められたキーフレーズを入力することで、PC1のシステムが起動し、予め指定したアプリケーションが実行される。
【0065】
例えば、予め定められたキーフレーズが「○○○起きて」であり、ホストアプリケーション62に予め指定したアプリケーションが、メールソフトである場合、停止状態において、利用者が、PC1に「○○○起きて」と話しかけることで、PC1のシステム(OS61)が起動し、ホストアプリケーション62によって、メールソフトが起動させれる。
【0066】
次に、
図5を参照して、本実施形態によるPC1の表示を停止した動作状態(表示停止状態)における動作について説明する。なお、ここでの表示停止状態は、表示部14の表示を停止したS0状態である。また、ここでの表示部14の表示の停止は、ビデオサブシステム13及び表示部14の電源供給も停止するものとする。
図5は、本実施形態によるPC1の表示停止状態における動作の一例を示す図である。
【0067】
図5に示すように、PC1のDSP240は、まず、音声を検出したか否かを判定する(ステップS201)。DSP240は、マイク241を介して、人の音声を検出したか否かを判定する。DSP240は、音声を検出した場合(ステップS201:YES)に、処理をステップS202に進める。また、DSP240は、音声を検出していない場合(ステップS201:NO)に、処理をステップS201に戻す。
【0068】
ステップS202において、DSP240は、検出した音声が、設定されたキーフレーズと一致するか否かを判定する。DSP240は、検出した音声が設定されたキーフレーズと一致する場合(ステップS202:YES)に、処理をステップS203に進める。また、DSP240は、検出した音声が設定されたキーフレーズと一致しなかった場合(ステップS202:NO)に、処理をステップS201に戻す。
【0069】
ステップS203において、DSP240は、検出通知(例えば、WOVの検出信号)をエンベデッドコントローラ31に出力する。
【0070】
次に、エンベデッドコントローラ31は、DSP240が出力した検出通知(例えば、WOVの検出信号)の受信に応じて、WOVイベント通知をソフトウェアデバイス50に出力する(ステップS204)。
【0071】
次に、エンベデッドコントローラ31は、表示部14の電源をオンする処理を実行する(ステップS205)。エンベデッドコントローラ31は、電源回路33を制御して、ビデオサブシステム13及び表示部14に電源(電力)を供給させる。
【0072】
次に、ソフトウェアデバイス50は、エンベデッドコントローラ31からのWOVイベント通知に応じて、WOVイベント通知をホストアプリケーション62に出力する(ステップS206)。ここで、ソフトウェアデバイス50は、受信したWOVイベント通知を予め定められた書式(フォーマット)に変換して、ホストアプリケーション62に出力する。
【0073】
次に、ホストアプリケーション62は、WOVイベントが発生したか否かを判定する(ステップS207)。すなわち、ホストアプリケーション62は、ソフトウェアデバイス50からWOVイベント通知を受信したか否かによって、WOVイベントが発生したか否かを判定する。ホストアプリケーション62は、WOVイベントが発生した場合(ステップS207:YES)に、処理をステップS209に進める。また、ホストアプリケーション62は、WOVイベントが発生ていない場合(ステップS207:NO)に、処理をスキップして何も実行しない。
【0074】
また、一方で、ステップS205におけるビデオサブシステム13及び表示部14への電源(電力)供給に応じて、OS61は、表示部14の表示を再開させる(ステップS208)。
【0075】
次に、ステップS209において、ホストアプリケーション62は、指定したアプリケーション(例えば、アプリケーション63)を起動させる。ここで、ホストアプリケーション62は、OS61によって表示部14の表示が再開された後、予め定められた処理として、指定したアプリケーション(例えば、アプリケーション63)を起動させる。
【0076】
このように、本実施形態によるPC1では、表示停止状態において、音声で予め定められたキーフレーズを入力することで、PC1の表示が再開し、予め指定したアプリケーションが実行される。
【0077】
以上説明したように、本実施形態によるPC1(情報処理装置)は、DSP240(検出処理部)と、エンベデッドコントローラ31と、ソフトウェアデバイス50とを備える。DSP240は、人の言動(例えば、人の音声)を検出可能であり、検出した言動(音声)と、予め定められた言動(音声)とが一致する場合に、検出通知を出力する。ここで、人の言動は、人の発話及び動きのうち少なくとも一方を含む。エンベデッドコントローラ31(サブ制御部)は、OS61(例えば、Windows(登録商標)に基づく処理を実行するメイン制御部10とは異なるサブ制御部であって、DSP240が検出通知を出力したことを示すイベント情報(WOVイベントフラグ42の情報)を保持するとともに、メイン制御部10の動作を停止した停止状態で、検出通知を受信した場合に、停止状態を解除してOS61を起動させる。ソフトウェアデバイス50は、OS61に基づいて動作するソフトウェアデバイス50(仮想デバイス)であって、OS61が起動したことに応じた、OS61上で実行されるホストアプリケーション62からのイベントの問い合わせを受信した場合に、エンベデッドコントローラ31が保持するイベント情報(WOVイベントフラグ42の情報)を確認し、当該確認の結果をホストアプリケーション62に返信する。ホストアプリケーション62は、メイン制御部10によって処理が実行され、確認の結果が、DSP240が検出通知を出力したことを示す場合に、予め定められた処理を実行させる。
【0078】
これにより、本実施形態によるPC1は、エンベデッドコントローラ31とホストアプリケーション62との間を標準のインタフェースとして橋渡しするソフトウェアデバイス50を備えることで、エンベデッドコントローラ31の仕様(機種)に合わせてホストアプリケーション62(WOV機能を利用するアプリケーション)を開発する必要がない。そのため、本実施形態によるPC1は、ホストアプリケーション62(WOV機能を利用するアプリケーション)を開発するコスト、工数、及び期間を低減することができ、汎用性を高めることができる。
【0079】
すなわち、本実施形態によるPC1は、ソフトウェアデバイス50により、プラットフォーム毎のエンベデッドコントローラ31などのハードウェア仕様の差分を吸収することができるため、プラットフォームに依存しないホストアプリケーション62を開発することが可能であり、汎用性を高めることができる。
また、本実施形態によるPC1は、ソフトウェアデバイス50を備えることで、ホストアプリケーション62のメンテナンスコスト(保守コスト)を低減することができる。
【0080】
また、本実施形態では、エンベデッドコントローラ31は、メイン制御部10が動作状態(S0状態)で、且つ、表示部14による表示を停止している状態(表示停止状態)において、検出通知を受信した場合に、検出通知を受信したことを示すイベント通知をソフトウェアデバイス50に出力する。ソフトウェアデバイス50は、イベント通知を予め定められた書式に変換して、ホストアプリケーション62に出力する。ホストアプリケーション62は、イベント通知によって、DSP240が検出通知を出力したことを判定し、DSP240が検出通知を出力した場合に、予め定められた処理を実行させる。
【0081】
これにより、本実施形態によるPC1は、メイン制御部10が動作状態(S0状態)で、且つ、表示部14による表示を停止している状態(表示停止状態)においても、好適にWOV機能を利用することができる。
【0082】
また、本実施形態では、ホストアプリケーション62は、予め定められた処理として、予め設定されたアプリケーション(例えば、アプリケーション63)を実行させる。
これにより、本実施形態によるPC1は、WOV機能を利用して利用者の音声により、システムを起動させることができる上に、さらに指定したアプリケーションを起動させることができる。よって、本実施形態によるPC1は、利便性を向上させることができる。
【0083】
また、本実施形態では、ソフトウェアデバイス50は、イベント機能部51と、ドライバインタフェース部52とを備える。イベント機能部51は、BIOS60によって実行され、ソフトウェアデバイス50とエンベデッドコントローラ31との間の入出力処理を行う。ドライバインタフェース部52は、OS61に基づくデバイスドライバによって実行され、ソフトウェアデバイス50とホストアプリケーション62との間の入出力処理を、予め定められたインタフェースで行う。
【0084】
これにより、本実施形態によるPC1は、BIOS60によるイベント機能部51と、デバイスドライバによるドライバインタフェース部52とを、一度開発することで、ソフトウェアデバイス50を再利用することができ、汎用性を高めることができる。また、本実施形態によるPC1は、イベント機能部51と、ドライバインタフェース部52とを個別に変更、及び更新することができるため、より保守性を高めることができるとともに、機能拡張性を高めることができる。
【0085】
また、本実施形態では、人の言動には、人の発話(音声)が含まれる。人の言動が、人の発話を含む場合、DSP240は、人が発話した音声を検出し、検出した音声と、予め定められたキーフレーズとが一致する場合に、検出通知を出力する。
これにより、本実施形態によるPC1は、容易にWOV機能を実現することができる。
【0086】
また、本実施形態では、停止状態には、停止前の状態を記憶部(HDD23、又はメインメモリ12)に退避した後にメイン制御部10の動作を停止する休止状態(例えば、S3状態又はS4状態)が含まれる。エンベデッドコントローラ31は、休止状態で検出通知を受信した場合に、記憶部(HDD23又はメインメモリ12)に退避した停止前の状態を復帰させるレジューム処理を実行させて、OS61を起動させる。
【0087】
これにより、本実施形態によるPC1は、休止状態(例えば、S3状態又はS4状態)においても、WOV機能を適切に使用することができ、利便性をさらに高めることができる。
【0088】
また、本実施形態による情報処理方法は、検出処理ステップと、起動ステップと、通知ステップと、実行処理ステップとを含む。検出処理ステップにおいて、DSP240が、人の言動を検出し、検出した言動と、予め定められた言動とが一致する場合に、検出通知を出力する。起動ステップにおいて、OS61に基づく処理を実行するメイン制御部10とは異なるエンベデッドコントローラ31が、検出処理ステップによって検出通知が出力されたことを示すイベント情報を保持するとともに、メイン制御部10の動作を停止した停止状態で、検出通知を受信した場合に、停止状態を解除してOS61を起動させる。通知ステップにおいて、OS61に基づいて動作するソフトウェアデバイス50が、OS61が起動したことに応じた、OS61上で実行されるホストアプリケーション62からのイベントの問い合わせを受信した場合に、エンベデッドコントローラ31が保持するイベント情報を確認し、当該確認の結果をホストアプリケーション62に返信する。実行処理ステップにおいて、メイン制御部10が、ホストアプリケーション62の処理において、確認の結果が、DSP240が検出通知を出力したことを示す場合に、予め定められた処理を実行させる。
【0089】
これにより、本実施形態による情報処理方法は、上述したPC1(情報処理装置)と同様の効果を奏し、ホストアプリケーション62(WOV機能を利用するアプリケーション)を開発するコスト、工数、及び期間を低減することができ、汎用性を高めることができる。
【0090】
なお、本発明は、上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で変更可能である。
例えば、上記の実施形態において、情報処理装置が一体型(オールインワンタイプ)のデスクトップPC(PC1)である例を説明したが、これに限定されるものではなく、例えば、ノートブック型PC、タブレット端末装置、外付け表示部を備えるデスクトップPCなどの他の情報処理装置であってもよい。
【0091】
また、上記の実施形態において、PC1は、マイク241及びスピーカ242を内蔵する例を説明したが、これに限定されるものではなく、外付けのマイク241及びスピーカ242により構成してもよい。
【0092】
また、上記の実施形態において、人の言動として、人の発話した音声を検出する例を説明したが、これに限定されるものではなく、例えば、人の動き(モーション)などを撮像部27を介して検出するようにしてもよいし、他のセンサなどの検出を用いてもよい。
【0093】
また、上記の実施形態において、所定の処理として、予め設定されたアプリケーションを実行させる例を説明したが、これに限定されるものではなく、例えば、OS61を使用するための利用者の認証処理であってもよい。また、利用者の認証処理としては、入力部32によるパスワードの入力による認証処理でもよいし、撮像部27を利用した顔認証処理であってもよい。
【0094】
また、上記の実施形態において、PC1は、人の言動を検出した場合に、ホストアプリケーション62が、OS61を起動した後に、予め設定された所定の処理を実行する例を説明したが、これに限定されるものではなく、OS61の起動までで処理を完了してもよい。
【0095】
また、上記の実施形態において、DSP240は、検出した音声のキーフレーズが、予め定められた1つのキーフレーズと一致するか否かを検出する例を説明したが、これに限定されるものではない。DSP240は、予め定められた複数のキーフレーズと比較して、いずれかと一致した場合に、検出通知を出力するようにしてもよい。この場合、エンベデッドコントローラ31は、複数のキーフレーズのそれぞれに対応したWOVイベントフラグを備えて、それぞれのイベント検出をフラグ情報として保持するようにしてもよい。
【0096】
また、この場合、ホストアプリケーション62は、複数のキーフレーズのそれぞれに応じた、予め設定された所定の処理を実行するようにしてもよい。すなわち、PC1は、予め定められたキーフレーズに応じて、起動するアプリケーションを変更するようにしてもよい。
【0097】
また、上記の実施形態において、OS61が、レジューム処理を実行する例を説明したが、これに限定されるものではなく、レジューム処理の一部又は全部をエンベデッドコントローラ31が実行するようにしてもよい。
【0098】
また、上記の実施形態において、表示部14の表示の停止は、ビデオサブシステム13及び表示部14の電源供給も停止するものとして説明したが、これに限定されるものではなく、電源供給を停止せずに、表示部14の表示を停止するようにしてもよい。また、この場合は、
図5のステップS205の処理が、不要になる。また、ホストアプリケーション62が、表示部14の表示の再開を制御するようにしてもよい。
【0099】
また、上記の実施形態において、DSP240は、マイク241が検出した音声を音声認識処理により、音声のフレーズにテキスト変換し、検出した音声のフレーズと、キーフレーズ記憶部41が記憶するキーフレーズとが一致するか否かを判定する例を説明したが、これに限定されるものではない。例えば、DSP240は、利用者の所定のフレーズの音声を録音して抽出した特徴量をキーフレーズ記憶部41に記憶させて、検出した音声の特徴量とを比較するようにしてもよい。
【0100】
なお、上述したPC1が備える各構成は、内部に、コンピュータシステムを有している。そして、上述したPC1が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述したPC1が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0101】
また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0102】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後にPC1が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0103】
また、上述した機能の一部又は全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0104】
1 PC
10 メイン制御部
11 CPU
12 メインメモリ
13 ビデオサブシステム
14 表示部
21 チップセット
22 BIOSメモリ
23 HDD
24 オーディオシステム
25 WLANカード
26 USBコネクタ
27 撮像部
31 エンベデッドコントローラ(EC)
32 入力部
33 電源回路
41 キーフレーズ記憶部
42 WOVイベントフラグ
50 ソフトウェアデバイス
51 イベント機能部
52 ドライバインタフェース部
61 OS
62 ホストアプリケーション
63 アプリケーション
240 DSP
241 マイク
242 スピーカ