(57)【特許請求の範囲】
【請求項１】
カメラ・モジュールが出力するフレーム・シーケンスから電子機器がジェスチャを認識する方法であって、
人体の部位が前記ジェスチャの前に行われる先行動作を撮影した第１のフレーム・レートの第１のフレーム・シーケンスを受け取るステップと、
前記第１のフレーム・シーケンスから前記先行動作を認識するステップと、
前記先行動作の認識に応じて前記人体の部位の前記先行動作に続く連続した動作として行われる前記ジェスチャを撮影した前記第１のフレーム・レートより高い第２のフレーム・レートで第２のフレーム・シーケンスを受け取るステップと、
前記第２のフレーム・シーケンスから前記ジェスチャを認識するステップと
を有する方法。
【請求項２】
前記先行動作の終了状態が前記ジェスチャの開始状態である請求項１に記載の方法。
【請求項３】
前記第１のフレーム・シーケンスが前記人体の部位が自然状態から前記先行動作の開始状態まで動く状態を撮影したフレームを含む請求項１に記載の方法。
【請求項４】
前記先行動作を認識するステップが、前記自然状態の人体の部位を撮影したフレームと前記先行動作の継続状態の人体の部位を撮影したフレームの差分を計算するステップを含む請求項３に記載の方法。
【請求項５】
前記先行動作を認識するステップが、前記先行動作の継続状態の人体の部位を撮影した２つのフレームの差分を計算するステップを含む請求項３に記載の方法。
【請求項６】
前記第２のフレーム・シーケンスから所定時間前記ジェスチャが行われていないと判断したときに前記ジェスチャの認識を停止して前記第１のフレーム・シーケンスを受け取るステップと、
前記第１のフレーム・シーケンスから前記先行動作を認識するステップと
を有する請求項１に記載の方法。
【請求項７】
前記先行動作を認識するステップが、ユーザに先行動作を認識したことを通知するステップを含む請求項１に記載の方法。
【請求項８】
前記先行動作が、腕が重力に反する方向に移動する動作である請求項１に記載の方法。
【請求項９】
前記人体の部位が腕である請求項１に記載の方法。
【請求項１０】
カメラ・モジュールと、
前記カメラ・モジュールを第１の転送周期または該第１の転送周期よりも短い第２の転送周期でフレーム・シーケンスを出力するように制御するカメラ制御部と、
前記第１の転送周期のフレーム・シーケンスから人体の部位がジェスチャの前に行われる先行動作を認識する先行動作認識部と、
前記第２の転送周期のフレーム・シーケンスから前記人体の部位が前記先行動作に続く連続した動作として行われる前記ジェスチャを認識するジェスチャ認識部と
を有するジェスチャ入力システム。
【請求項１１】
前記カメラ・モジュールは前記第１の転送周期でフレーム・シーケンスを出力する間に省電力状態に遷移することが可能な請求項１０に記載のジェスチャ入力システム。
【請求項１２】
前記先行動作認識部は、前記ジェスチャ認識部よりも大きなグリッドごとに画素値を比較する請求項１０に記載のジェスチャ入力システム。
【請求項１３】
前記第１の転送周期が前記先行動作の開始から終了までの継続時間の１／２以上でかつ前記継続時間以下である請求項１０に記載のジェスチャ入力システム。
【請求項１４】
前記第１の転送周期が、前記先行動作の開始から終了までの継続時間以上でかつ前記継続時間の２倍以下である請求項１０に記載のジェスチャ入力システム。
【請求項１５】
前記先行動作認識部は、前記第２の転送周期のフレーム・シーケンスから前記第１の転送周期で抽出したフレームから前記ジェスチャの有無を判断し、所定の時間前記ジェスチャがないと判断したときに前記ジェスチャ認識部を停止させる請求項１０に記載のジェスチャ入力システム。
【請求項１６】
カメラ・モジュールと、
プロセッサと、
システム・メモリと、
前記カメラ・モジュールを第１の転送周期または該第１の転送周期よりも短い第２の転送周期でフレーム・シーケンスを出力するように制御するデバイス・ドライバと、
前記第１の転送周期のフレーム・シーケンスからジェスチャの前に行われる先行動作を認識するために前記プロセッサが実行する第１のジェスチャ認識エンジンと、
前記第２の転送周期のフレーム・シーケンスから前記先行動作に続く連続した動作として行われる前記ジェスチャを認識するために前記プロセッサが実行する第２のジェスチャ認識エンジンと
を有する電子機器。
【請求項１７】
カメラ・モジュールを搭載するコンピュータに、
前記カメラ・モジュールから第１のフレーム・レートまたは該第１のフレーム・レートより高い第２のフレーム・レートで画像を受け取るステップと、
前記第１のフレーム・レートの画像からジェスチャの前に行われる先行動作を認識するステップと、
前記先行動作の認識に応答して前記第２のフレーム・レートの画像から前記先行動作に続く連続した動作として行われる前記ジェスチャを認識するステップと
を有する処理を実行させるためのコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャを認識するデバイスの消費電力を低減する技術に関し、さらには、ジェスチャをするユーザにデバイスに対する特別な操作をさせないで消費電力を低減する技術に関する。
【背景技術】
【０００２】
ノートブック型パーソナル・コンピュータ（ノートＰＣ）は、キーボード、タッチパッド、タッチスクリーン、ポインティング・デバイス、および操作ボタンなどのさまざまな入力デバイスを備えている。また、ノートＰＣは撮影した画像をリアルタイムで表示したり、ネットワークに転送したりするカメラ・モジュールを搭載することもある。これまで、カメラ・モジュールは動画像や静止画像を記録したりテレビ会議で使ったりすることが多かったが、ジェスチャを認識して入力デバイスとして使用することも行われている。
【０００３】
たとえば、待機状態のノートＰＣを、キーボードやポインティング・デバイスの操作に変えて、ユーザが手を振る動作のようなモーション・ジェスチャ（以下、単にジェスチャ）を認識して待機状態からウェイクさせることができる。あるいは、プロジェクターを使ったプレゼンテーションのときに、ジェスチャで画面をめくることもできる。さらに、意図的なジェスチャだけでなくユーザの自然な顔の向きを認識してユーザが横を向いているときにはノートＰＣを省電力状態に移行させ、正面を向いたときに復帰させるようなこともできる。
【０００４】
ジェスチャを認識してノートＰＣに入力をする１つの方法では、指や腕のようなジェスチャを行う対象物を動画像のフレームごとに認識して、その物体の中心の軌跡のベクトルがジェスチャとして定義された軌跡を辿るかどうかを判断する。この場合手を振るジェスチャを認識するには、ジェスチャの毎秒のサイクル数の２倍以上のフレーム・レート（ｆｐｓ）で動画像を取得しないと画像の取りこぼしができて認識できなくなるためそれに応じたフレーム・レートが必要とされる。
【０００５】
なお、フレーム・レートは１枚の静止画像を作成する複数の撮像素子の集合体が出力する画素信号で構成された画像データを１フレームとしたときに、単位時間で生成または転送されるフレーム数をいう。１枚の静止画像は１フレームに対応し、動画像は時間的に連続して撮影した複数の静止画像のフレーム・シーケンスで構成する。フレーム・レートを下げると所定の制御をするために必要な複数のジェスチャを認識できなくなるため、通常は３０ｆｐｓ程度のフレーム・レートで動画像を転送している。
【０００６】
特許文献１は、動画像のフレーム・レートよりも低いフレーム・レートで画像を転送し、カメラ・モジュールをより長い時間サスペンド状態に遷移させてノートＰＣの消費電力を低減する発明を開示する。同文献は、低いフレーム・レートの画像を受け取る静止画像アプリケーションが、ユーザの顔の向きを判断してノートＰＣの電力を制御することを記載している。特許文献２は、カメラの省電力を図る発明を開示する。同文献は、カメラの撮影画像で人を検出した人検出器の情報に基づいてカメラのパワーを制御することを記載している。特許文献３は、人間がセンサーで検出されたときにジェスチャの開始点と判断してカメラで撮影したデータでジェスチャを認識する発明を開示する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−５８９６１号公報
【特許文献２】特開２０１２−１５５６４６号公報
【特許文献３】特開２０１３−１９６０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
カメラ・モジュールは、画像を転送しないときに省電力状態に遷移することができる。しかしジェスチャの待ち受け状態に入ると、ジェスチャ認識エンジンが突然発生するジェスチャを認識するために、カメラ・モジュールは３０ｆｐｓの動画像を出力し続ける必要がある。したがって、ジェスチャの待ち受け状態でカメラ・モジュールは省電力状態に遷移することができない。さらに動画像を受け取ったジェスチャ認識エンジンは、ジェスチャの有無にかかわらず各フレームを比較してジェスチャを認識する必要があるためＣＰＵの負荷が増加する。
【０００９】
特許文献１に記載する方法でフレーム・レートを下げる方法は、単純なジェスチャの認識には適用できるが、複雑なジェスチャまたは複数のジェスチャを認識することはできない。カメラ・モジュールとＣＰＵにバッテリィから電力を供給するノートＰＣでは、現在の所、ジェスチャ認識エンジンを動作させながら待ち受け状態にすることができないため、キーボードに専用ボタンを設けたりコンビネーション・キーを定義したりして、ジェスチャをする前にユーザの操作でジェスチャ認識エンジンを起動している。
【００１０】
しかし、専用ボタンやコンビネーション・キーの操作は、キーボードやリモート・コントローラの操作からユーザを解放する入力手段としてのジェスチャ入力の利点を損なう。したがって、ジェスチャ認識エンジンをジェスチャで起動および停止できれば、消費電力の低減を図りながらユーザにストレスを与えない使いやすいジェスチャ入力システムを実現できる。
【００１１】
そこで本発明の目的は、電子機器の消費電力を低減しながらジェスチャを認識する方法を提供することにある。さらに本発明の目的は、ユーザがストレスを感じないで電子機器にジェスチャ入力ができる方法を提供することにある。さらに本発明の目的は、そのような方法を実現するジェスチャ入力システム、電子機器、およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明は、カメラ・モジュールが出力するフレーム・シーケンスから電子機器が先行動作に続いて行われるジェスチャを認識する方法を提供する。コンピュータは第１のフレーム・レートで受け取った第１のフレーム・シーケンスから先行動作を認識する。つづいて、先行動作の認識に応じて第１のフレーム・レートより高い第２のフレーム・レートで受け取った第２のフレーム・シーケンスからジェスチャを認識する。
【００１３】
ジェスチャ認識エンジンの起動のためにユーザに特別な操作を要求しないとすれば、発生時期を予測できないジェスチャを認識するために、常時ジェスチャ認識エンジンを稼働させておく必要がある。本発明では、電子機器がジェスチャに先だって行われる先行動作を認識したことに応じてジェスチャを認識する。先行動作は第１のフレーム・レートのフレーム・シーケンスから認識できるため、第２のフレーム・レートのフレーム・シーケンスからジェスチャを認識するよりも消費電力を低減することができる。
【００１４】
第１のフレーム・シーケンスを出力している間、カメラ・モジュールは省電力状態に遷移することができる。先行動作は、第１のフレーム・シーケンスから抽出した連続する２つのフレームの画像で認識することができる。このとき、最低１つのフレームが認識対象の画像を含んでいればよいため、転送周期が先行動作の継続時間の２倍になるまでフレーム・レートを下げることができる。
【００１５】
先行動作は、それぞれに先行動作の認識対象が撮影されている２つのフレームで認識してもよい。この場合、転送周期は、継続時間の１／２以上でかつ継続時間以下とすることができる。先行動作は、一方のフレームに先行動作の認識対象が撮影され他方のフレームに認識対象が撮影されていない２つのフレームで認識することができる。この場合、転送周期は、継続時間以上でかつ継続時間の２倍以下とすることができる。
【００１６】
先行動作の認識に、認識対象の移動方向の判断や認識対象の移動量の判断を含めることで精度を向上させることができる。第１のフレーム・シーケンスから抽出したフレームからジェスチャが行われているか否かを判断し、所定時間ジェスチャが行われていないと判断したときにジェスチャの認識を停止して、第１のフレーム・シーケンスからの先行動作の認識状態に移行することができる。したがって誤って先行動作を認識した場合、あるいは先行動作に続いてユーザがジェスチャをしなかったような場合にただちに第１のフレーム・レートの動作状態に移行することができる。
【００１７】
先行動作を認識したときに、ユーザに先行動作を認識したことを通知することでユーザはジェスチャを開始するタイミングを明確に認識することができる。先行動作は、腕が重力に反する方向に移動する動作、またはジェスチャの開始位置まで腕が移動する動作とすることができる。先行動作の認識は、ジェスチャの認識よりも大きなグリッドごとに画素値を比較することで行うことができるため、ジェスチャの待ち受け中のプロセッサの負担を一層軽減することができる。
【発明の効果】
【００１８】
本発明により、電子機器の消費電力を低減しながらジェスチャを認識する方法を提供することができた。さらに本発明により、ユーザがストレスを感じないで電子機器にジェスチャ入力ができる方法を提供することができた。さらに本発明により、そのような方法を実現するジェスチャ入力システム、電子機器、およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００１９】
【図１】ノートＰＣ１０のハードウェアを説明するための概略の機能ブロック図である。
【図２】ジェスチャ入力システム１００の構成を説明するための機能ブロック図である。
【図３】ジェスチャ入力システム１００の動作を説明するためのフローチャートである。
【図４】先行動作とそれに続くジェスチャの一例を説明するための図である。
【図５】先行モードの継続時間と転送周期の関係を説明するための図である。
【発明を実施するための形態】
【００２０】
［ノートＰＣのハードウェア構成］
図１は、電子機器の一例であるノートＰＣ１０のハードウェアを説明するための概略の機能ブロック図である。本発明との関連において、ノートＰＣ１０のハードウェアの構成は周知であるため説明は簡略化する。ＣＰＵ１１はグラフィック・コアを内蔵しておりＬＣＤ１５とシステム・メモリ１３が接続されている。チップセット１７は、さまざまなインターフェースのコントローラを内蔵している。チップセット１７のＳＡＴＡコントローラにはＨＤＤ１９が接続され、ＵＳＢコントローラにはＵＳＢバス１０２でカメラ・モジュール２１が接続され、ＰＣＩコントローラには無線モジュール２３が接続され、ＬＰＣコントローラにはエンベデッド・コントローラ（ＥＣ）２５が接続されている。
【００２１】
ＥＣ２５は、ノートＰＣ１０の筐体内部の温度を制御したり、デバイスの電力を制御したり、さらにキーボードやマウスの動作制御をしたりするマイクロ・コントローラである。ＥＣ２５にはＤＣ／ＤＣコンバータ２９が接続され、さらに、図示しないキーボード、マウス、充電器、および排気ファンなどが接続される。電池パック２７は、図示しないＡＣ／ＤＣアダプタが接続されていないときにＤＣ／ＤＣコンバータ２９に電力を供給する。ＤＣ／ＤＣコンバータ２９は、ノートＰＣ１０を構成するデバイスに電力を供給する。ノートＰＣ１０は、電池パック２７で動作するときに特にジェスチャ入力システム１００（図２）の消費電力を低減する必要がある。
【００２２】
［ジェスチャ入力システム］
図２は、ノートＰＣ１０が実装するハードウェアおよびソフトウェアで実現したジェスチャ入力システム１００の構成を説明するための機能ブロック図である。ジェスチャ入力システム１００は、カメラ・モジュール２１と、ＨＤＤ１９が格納するデバイス・ドライバ、オペレーティング・システム、およびジェスチャ認識エンジンなどのソフトウェアと、それを実行する図１のハードウェアで構成した、カメラ制御部１０１、画像転送部１０３、インターフェース部１０５、先行動作認識部１０７、ジェスチャ認識部１０９および出力部１１１で構成している。
【００２３】
カメラ・モジュール２１は、一例においてＵＳＢ２．０規格またはＵＳＢ３．０規格に適合するＵＳＢデバイスである。カメラ・モジュール２１は、ノートＰＣ１０の筐体に組み込む組込タイプでもよいし、ノートＰＣ１０の筐体に取り付けたＵＳＢコネクタに接続する外付けタイプでもよい。カメラ・モジュール２１は、ＵＳＢバス１０２でチップセット１７に接続しているが、ワイヤレスＵＳＢでノートＰＣ１０に接続してもよい。
【００２４】
カメラ・モジュール２１は、ジェスチャを認識するための高いフレーム・レートで画像を出力するジェスチャ・モードと、ジェスチャの先行動作を認識するための低いフレーム・レートで画像を出力する先行モードの２つの動作モードで動作することができる。一例において、ジェスチャ・モードのフレーム・レートはＮＴＳＣ方式の３０ｆｐｓ、ＰＡＬ方式およびＳＥＣＡＭ方式の２５ｆｐｓ、携帯電話・移動体端末向け１セグメント部分受信サービス（ワンセグ）の１５ｆｐｓの中から選択することができる。先行モードのフレーム・レートはジェスチャ・モードのフレーム・レートよりは大幅に低く、一例において０．５ｆｐｓ〜４ｆｐｓ程度の範囲から選択することができる。先行モードのフレーム・レートは、図５を参照して説明するように、先行動作の継続時間により決定することができる。
【００２５】
ここにジェスチャとは、指、手、腕または顔などの認識対象となる人体の部位（ジェスチャ部位）が定義された動きをすることをいう。先行動作とは、人体の部位がジェスチャに先立つ動きをすることをいう。先行動作をする人体の部位がジェスチャ部位と同じであれば、ユーザがジェスチャの流れのなかで自然に先行動作をすることができるため都合がよい。ただし、本発明はジェスチャ部位と先行動作をする部位が異なる場合にも適用できる。
【００２６】
ジェスチャ入力システム１００は、先行動作を認識した後にジェスチャを認識する。先行動作は、ジェスチャをする前にユーザが無意識で行う自然な動きであることが好ましい。ジェスチャ部位が手または腕の場合、通常ユーザは、胸や顔の近辺まで腕を持ち上げてからジェスチャを行う。このとき一例において、腕を下げた自然な状態からジェスチャをするために下から上に重力に逆らう方向に腕を持ち上げる動作を先行動作とし、それに続く腕または指の複雑な動きをジェスチャとすることができる。このとき先行動作のフレーム・レートは、このような自然な動作の継続時間を想定してから決めることができる。
【００２７】
ただし本発明では、ユーザがジェスチャの前に意図的に行う動作を先行動作にしてもよい。この場合、ゆっくりと腕を動かすような先行動作を定義すれば、フレーム・レートを一層下げながら、かつ、操作ボタンでジェスチャ認識エンジンを起動するよりもユーザのストレスを軽減することができる。カメラ・モジュール２１は、ＣＭＯＳセンサーまたはＣＣＤセンサーなどのイメージ・センサを含み、ジェスチャ・モードおよび先行モードにおいてＶＧＡ（６４０×４８０）、ＱＶＧＡ（３２０×２４０）、ＷＶＧＡ（８００×４８０）およびＷＱＶＧＡ（４００×２４０）などの画素サイズの画像を転送することができる。
【００２８】
カメラ・モジュール２１は、ＵＳＢ規格に規定するパワー・マネジメントに準拠し、ＵＳＢバス１０２が所定の時間以上アイドル状態のときにサスペンド状態に遷移し、ＵＳＢバス１０２がレジュームしたときにパワー・オン状態に復帰する。カメラ制御部１０１は、ＵＳＢコントローラおよびデバイス・ドライバを含む。カメラ制御部１０１は、カメラ・モジュール２１に撮影パラメータを設定したりデータ転送の制御をしたりする。カメラ制御部１０１はＵＳＢバス１０２の動作をアイドル状態またはアクティブ状態のいずれかに制御する。カメラ制御部１０１は、先行モードおよびジェスチャ・モードで動作するカメラ・モジュール２１から受け取ったフレーム・シーケンスを画像転送部１０３に送る。
【００２９】
画像転送部１０３は、ジェスチャ・モードのときのフレーム・シーケンスを処理するＯＳのストリーミング・サービスを含み、ジェスチャ入力システム１００の動作を制御する。画像転送部１０３は、カメラ・モジュール２１にカメラ制御部１０１を通じて動作モードの指示をする。画像転送部１０３は、カメラ制御部１０１から受け取ったフレーム・シーケンスを、先行モードのときは先行動作認識部１０７だけに転送し、ジェスチャ・モードのときは先行動作認識部１０７とジェスチャ認識部１０９の両方に転送する。インターフェース部１０５はＬＣＤ１５を含み、ジェスチャ入力システム１００の起動および停止、先行モードのときのフレーム・レートの設定、先行動作の認識をしたときのアラートの通知などのサービスをユーザに提供する。
【００３０】
先行動作認識部１０７は、先行モードのときのフレーム・シーケンスから先行動作を認識するためのジェスチャ認識エンジンを含む。ジェスチャ認識部１０９は、ジェスチャ・モードのときのフレーム・シーケンスからジェスチャを認識するための周知のジェスチャ認識エンジンを含む。先行動作認識部１０７は、ジェスチャ認識部１０９がジェスチャの認識をしている間に、画像転送部１０３から受け取ったフレーム・シーケンスを先行モードのフレーム・レートまたはそれ近いフレーム・レートで処理してジェスチャの監視をする監視モードで動作することができる。
【００３１】
先行動作認識部１０７とジェスチャ認識部１０９は同一のジェスチャ認識エンジンの動作モードを変えることで実現してもよいし、異なるジェスチャ認識エンジンで実現してもよい。出力部１１１は、ジェスチャ認識部１０９が認識したジェスチャに関連付けられたイベントやコマンドを出力する。出力部１１１は、プレゼンテーションのときの画面のインクリメントやプロジェクターの操作などのためのイベントやコマンドを出力することができるが特に出力先を限定する必要はない。
【００３２】
［ジェスチャ入力システムの動作］
つぎに、図３を参照してジェスチャ入力システム１００の動作を説明する。ＵＳＢバス１０２がアイドル状態に遷移し、カメラ・モジュール２１が選択サスペンド状態に遷移しているときに、ブロック２０１でインターフェース部１０５を通じてジェスチャ入力システム１００を起動すると、画像転送部１０３はカメラ制御部１０１と先行動作認識部１０７を動作させる。ブロック２０３で画像転送部１０３は、カメラ・モジュール２１を先行モードで動作させるように指示するためにカメラ制御部１０１に転送開始コマンドを送る。転送開始コマンドは画像データのフレーム・レートまたはその逆数の転送周期Ｔを含む。
【００３３】
先行モードでは、ジェスチャ認識部１０９が動作しないためＣＰＵ１１の負荷はその分だけ小さくなる。画像転送部１０３から転送開始コマンドを受け取ったカメラ制御部１０１は、ＵＳＢバス１０２をレジュームさせてカメラ・モジュール２１に１個目のフレーム転送コマンドを送る。ＵＳＢバス１０２がレジュームしたことを検出したカメラ・モジュール２１はウェイクアップして１フレームの画像を生成し出力する。
【００３４】
カメラ制御部１０１は受け取ったフレームを画像転送部１０３に送りかつＵＳＢバス１０２をアイドル状態に遷移させる。ＵＳＢバス１０２がアイドル状態に遷移したことを検出したカメラ・モジュール２１は、最も消費電力の少ない選択サスペンド状態に遷移することができる。１フレームの画像を受け取ったあとにカメラ制御部１０１は、設定された転送周期ＴでＵＳＢバス１０２をレジュームさせてカメラ・モジュール２１に２個目のフレーム転送コマンドを送る。
【００３５】
以後、カメラ・モジュール２１は１フレームの画像を送るたびに選択サスペンド状態に遷移し、ＵＳＢバス１０２はアイドル状態に遷移する。なお、カメラ・モジュール２１は、カメラ制御部１０１から転送周期Ｔを含むフレーム転送コマンドを受け取って、それに応じたタイミングでウェイクアップと選択サスペンド状態を繰り返してフレームを転送することもできる。先行モードのときは、カメラ・モジュール２１が選択サスペンド状態に遷移し、ＵＳＢバス１０２がアイドル状態に遷移することができるため、ジェスチャ・モードのときよりも消費電力は少ない。
【００３６】
ブロック２０５で画像転送部１０３は先行モードのフレーム・シーケンスを先行動作認識部１０７に送る。ここで図４を参照して、ユーザが左腕で先行動作に続いてジェスチャをするときの様子の一例を説明する。図４（Ａ）は、先行動作を開始する前のユーザの自然な姿勢としての両腕を下げた自然状態２８１を示している。図４（Ｂ）は先行動作を開始するためにわずかに左腕を持ち上げた先行動作開始状態２８３を示している。
【００３７】
自然状態２８１と先行動作開始状態２８３の間に左腕があるときも自然状態２８１として扱うことにする。図４（Ｃ）は、左腕を胸の前まで持ち上げた先行動作終了状態２８５を示している。ここでは、先行動作終了状態２８５とジェスチャを開始する状態はほぼ同じ状態として説明するが、両者の関係は先行動作が終了してからジェスチャを開始するというだけであるため先行動作終了状態２８５とジェスチャを開始する状態は必ずしも一致している必要はない。
【００３８】
図４（Ｄ）は、先行動作終了状態２８５からジェスチャを開始して左腕を上限まで上に持ち上げたジェスチャ状態２８７を示し、図４（Ｅ）は先行動作終了状態２８５からジェスチャを開始して左腕を下限まで下げたジェスチャ状態２８９を示している。このとき先行動作終了状態２８５からジェスチャ状態２８７またはジェスチャ状態２８９まで左腕を振る動作を異なるジェスチャに対応させることができる。さらに、それぞれの方向へ左腕を振る回数、速度、左腕と右腕の相違などを異なるジェスチャに対応させることもできる。
【００３９】
ブロック２０７で先行動作認識部１０７は、先行モードのフレーム・シーケンスから第１フレームと第２フレーム、第２フレームと第３フレームというように、連続する２つのフレームを抽出してフレーム間の画素値の差分を計算する。ここで、先行動作認識部１０７が受け取った２つのフレームの画像は、フレーム・レートと先行動作開始状態２８３から先行動作終了状態２８５までの先行動作の継続時間ｔの関係から、２つの態様になる。１つの態様では、先行動作の継続時間ｔの間に１つの先行動作の画像を撮影できる程度までフレーム・レートを低くしたときの態様で、一方のフレームは自然状態２８１の画像で、他方のフレームは先行動作開始状態２８３から先行動作終了状態２８５までの間（先行動作状態）の画像となる。
【００４０】
このときの様子を、図５を参照して説明する。図５（Ａ）は、先行動作について想定した継続時間ｔに対して、転送周期Ｔ１を先行動作の継続時間ｔ以上でかつ継続時間ｔの２倍以下（ｔ≦Ｔ１≦２ｔ）に設定したときに、異なるタイミングで先行動作３０１〜３０５を開始したときの様子を示している。先行動作３０１は、フレーム１の画像を撮影する直前に先行動作を開始しており、フレーム１は先行動作状態の画像を含む。先行動作終了状態２８５がフレーム２の撮影タイミングまでの時間だけ継続すると想定すると、フレーム２は先行動作終了状態２８５の画像を含む。
【００４１】
先行動作３０３は、フレーム１の画像を撮影した後に先行動作を開始しており、フレーム１は自然状態２８１の画像を含み、フレーム２は先行動作状態の画像を含む。先行動作３０５は、フレーム２の撮影のタイミングが継続時間ｔの中間に対応する様子を示しており、フレーム１は自然状態２８１の画像を含み、フレーム２は先行動作状態の画像を含む。
【００４２】
また、先行動作終了状態２８５がフレーム３の撮影タイミングまでの時間だけ継続すると想定すると、フレーム３は先行動作終了状態２８５の画像を含む。整理すると先行動作に対して転送周期Ｔ１（ｔ≦Ｔ１≦２ｔ）を設定したときに、先行モードのフレーム・シーケンスから抽出した２つのフレームが、それぞれ相互に左腕の位置が異なる先行動作状態の画像を含む場合と、一方のフレームが自然状態２８１の画像を含み他方のフレームが先行動作状態の画像を含むことになる。
【００４３】
図５（Ｂ）は、図５（Ａ）と同じ継続時間ｔに対して、転送周期Ｔ２を、継続時間ｔの１／２以上でかつ継続時間ｔ以下（ｔ／２≦Ｔ２≦ｔ）に設定したときに、異なるタイミングで先行動作３２１、３２３を開始したときの様子を示している。先行動作３２１に対してはフレーム１、フレーム２がそれぞれ相互に左腕の位置が異なる先行動作状態の画像含み、先行動作３２３に対してはフレーム２、フレーム３がそれぞれ相互に左腕の位置が異なる先行動作状態の画像を含む。
【００４４】
整理すると、先行動作に対して転送周期Ｔ２（ｔ／２≦Ｔ２≦ｔ）を設定したときは、連続する２つのフレームが常に先行動作状態の画像を含む。先行動作の継続時間ｔを先に想定することで、先行モードの転送周期ＴをＴ１またはＴ２のいずれかで設定することができる。このとき、先行動作認識部１０７は、左腕が自然状態２８１と先行動作状態の２つの画像、または、有意な程度まで左腕の位置が異なる２つの先行動作状態の画像を得たときに先行動作を認識することができる。
【００４５】
図３に戻って、ブロック２０７で先行動作認識部１０７は、連続する２つのフレームについて、適当な大きさのグリッドに区切った領域ごとに各画素について画素値の平均値や中央値などの代表値を計算し、対応するグリッドごとに代表値を比較して画素値の差分を計算する。グリッドの大きさは、腕が認識できる程度に大きくすることができるため先行動作認識部１０７は、より小さいグリッドで認識するジェスチャ認識部１０９よりもＣＰＵ１１に対する負担が小さい。
【００４６】
ブロック２０９で先行動作認識部１０７は差分の有意性を判断する。差分の有意性は先行動作に対応する左腕の動きを認め得るか否かで判断する。このときユーザの洋服の腕の部分と胸の部分が同じ色である場合に、洋服とは異なる色である掌の画像が形成する差分を併せて計算することができる。先行動作認識部１０７は、１つのフレームが自然状態２８１の画像を含み、他のフレームが先行動作状態の画像を含む差分を検出した場合に差分に有意性があると判断する。さらに、先行動作認識部１０７は２つのフレームから、相互に左腕の位置が異なる先行動作状態の画像を含む差分を検出した場合に有意性があると判断する。先行動作認識部１０７は差分を計算するときに、左腕以外の画像の差分を無視することで、いずれの場合も有意な差分が発生したグリッドは、左腕または掌の画像に対応することになる。
【００４７】
先行動作認識部１０７は、差分に有意性があると判断したときはブロック２１１に移行し差分に有意性がないと判断したときはブロック２０５に戻ってつぎの連続する２つのフレームの差分を計算する。ブロック２１１で先行動作認識部１０７は、差分を検出したグリッドから左腕または掌の位置を記録する。それぞれのフレームが先行動作状態の画像を含むときは、先行動作認識部１０７はブロック２１３で腕の移動方向を計算し、ブロック２１５で腕が先行動作開始状態２８３から先行動作終了状態２８５に向かって移動していると判断したときはブロック２１７に移行し、そうでない場合はブロック２０５に戻るようにしてもよい。
【００４８】
ブロック２１７で先行動作認識部１０７は、それぞれのフレームが先行動作状態の画像を含むときは、腕の移動距離から先行動作であるか否かを判断する。腕が先行動作状態にあっても停止しているときは先行動作とはいえない。先行動作認識部１０７は画素値に差分を生じているグリッドから腕または掌が有意な程度に移動していると判断したときは先行動作であるとみなしてブロック２１９に移行し、移動していないと判断したときは左腕が停止しているとみなしてブロック２０５に戻ることができる。
【００４９】
ブロック２１９で先行動作認識部１０７は先行動作を認識したことを画像転送部１０３に通知する。このとき画像転送部１０３はインターフェース部１０５を通じて、音声、画面の変化、またはインディケータＬＥＤなどでユーザにジェスチャが開始できることを通知することができる。ブロック２２１で画像転送部１０３はカメラ制御部１０１にカメラ・モジュール２１をジェスチャ・モードで動作させるように指示する。カメラ制御部１０１は、ジェスチャ・モードを示す転送開始コマンドをカメラ制御部１０１に送る。
【００５０】
カメラ制御部１０１はカメラ・モジュール２１に転送終了コマンドを送って、一旦先行モードでのフレームの転送を終了させてから、ジェスチャ・モードで動作するように指示する。カメラ制御部１０１は、ジェスチャ・モードでのフレーム・レートをカメラ・モジュール２１に指示してもよいが、あらかじめカメラ・モジュール２１がジェスチャ・モードで動作するときのフレーム・レートを保持するようにしてもよい。
【００５１】
カメラ・モジュール２１は、ジェスチャ・モードのフレーム・レートでフレーム・シーケンスの出力を開始する。ジェスチャ・モードで動作するカメラ・モジュール２１は、フレーム・レートが高いため選択サスペンド状態に遷移することはなく、また、ＵＳＢバス１０２もアイドル状態に遷移することはない。画像転送部１０３は、ジェスチャ・モードのフレーム・シーケンスを先行動作認識部１０７とジェスチャ認識部１０９に送る。
【００５２】
ブロック２２３で先行動作認識部１０７は監視モードで動作して、ブロック２６３まで先行動作に続いてジェスチャが行われているか否かを監視する。このとき先行動作認識部１０７は、画像転送部１０３が出力するジェスチャ・モードのフレーム・シーケンスから、所定の複数のフレームをスキップして先行モードの転送周期に合致する転送周期またはそれに近い転送周期でフレーム・シーケンスを受け取る。あるいは、画像転送部１０３が先行動作認識部１０７に、ジェスチャ・モードよりも転送周期を長くしたフレーム・シーケンスを送るようにしてもよい。
【００５３】
ブロック２５１で画像転送部１０３は、ジェスチャ認識エンジンを実行してジェスチャ認識部１０９を起動する。ブロック２５３でジェスチャ認識部１０９は、ジェスチャ・モードのフレーム・シーケンスを受け取って、ブロック２５５で連続するフレームの画素値の差分を計算する。ジェスチャは、先行動作よりも高い分解能で判断する必要があるため、画素値の差分は、ブロック２０７で先行動作認識部１０７が設定したグリッドよりも小さいグリッドについて計算する。
【００５４】
ブロック２５７でジェスチャ認識部１０９は差分の有意性を判断する。差分の有意性は定義されたいずれかのジェスチャに対応する左腕の動きを示すか否かで判断する。ジェスチャ認識部１０９は左腕がジェスチャ状態２８７、２８９の間の位置に存在し、かつ、２つのフレームの画素値が、ジェスチャが行われていることを示す程度に差があるときに有意性があると判断してブロック２５９に移行する。差分に有意性がない場合はブロック２６３に移行する。
【００５５】
ジェスチャ認識部１０９はブロック２５９で、定義されたジェスチャを認識したときはブロック２６１で出力部１１１に認識したジェスチャの識別子を送り認識しないときはブロック２５３に戻ってさらに後続のフレーム・シーケンスの差分を計算してジェスチャの認識を継続する。ブロック２６１で出力部１１１は識別子をあらかじめ関連付けたコマンドまたはイベントとして出力する。ブロック２６１で１つのジェスチャを認識したときはブロック２５３に戻ってつぎのジェスチャを判断する。
【００５６】
ブロック２６３で先行動作認識部１０７は、ジェスチャ状態２８７、２８９の間の位置に腕が存在する２つのフレームの画素値に有意な程度の差分がある状態が、たとえば３秒といった所定時間継続するか否かを判断する。有意な差分がない場合は、左腕が自然状態２８１の場合、またはジェスチャ状態２８７、２８９の間の位置で左腕が停止したような場合で、ユーザがジェスチャを止めたことに相当する。
【００５７】
有意な差分がある場合はジェスチャを継続する意思があると判断してブロック２５３に移行し、有意な差分がない場合はブロック２６５に移行する。ブロック２６５で先行動作認識部１０７は、画像転送部１０３に指示してジェスチャ認識部１０９を停止してブロック２０３に戻る。したがって、先行動作認識部１０７がブロック２１９で誤って先行動作を認識したとき、または先行動作の後にジェスチャが停止したときでも、短時間のうちに先行モードに移行することができるため、無駄に電力を消費することはない。
【００５８】
図３に示した各ブロックおよびその順番はすべてが本発明に必須の要素ではなく、本発明の構成は特許請求の範囲の記載による。たとえば、ブロック２１３、２１５を省略したり、ブロック２２１からブロック２５１までの順番を入れ替えたりすることも当業者にとって容易に想起できる範囲において本発明に含まれる。ジェスチャ入力システム１００は、さまざまな電子機器に搭載することができるが、ノートＰＣ１０の他にバッテリィで動作するスマートフォンまたはタブレット端末などに搭載すると効果的である。
【００５９】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００６０】
１０  ノートブック型パーソナル・コンピュータ
１００  ジェスチャ入力システム
２８１  自然状態
２８３  先行動作開始状態
２８５  先行動作終了状態
２８７、２８９  ジェスチャ状態
【図１】
0005980879.tif 000002
【図２】
0005980879.tif 000003
【図３】
0005980879.tif 000004
【図４】
0005980879.tif 000005
【図５】
0005980879.tif 000006