(57)【要約】【課題】簡素な構成で表示画面などの機能を制御することが可能な、新規かつ改良された情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムを提供すること。【解決手段】結像光学系と撮像素子とを有し、撮像素子から時系列に撮像画像を取得する背面カメラ１６と、撮像画像を画像処理し、情報処理装置１０自体の動きに起因する撮像画像の動きを解析する画像処理部２０と、解析した撮像画像の動きを制御データに変換するデータ変換部２２と、制御データに基づいて情報処理装置１０の表示画面１２を制御する表示制御部２４と、を備える。情報処理装置１０自体の動きに起因する撮像画像の動きを解析することができるため、情報処理装置１０を動かすことで、情報処理装置１０の表示画面１２などの各種機能を操作することが可能となる。【選択図】図２
2008084287.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、
前記撮像画像を画像処理し、情報処理装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
前記制御データに基づいて機能を制御する制御部と、
を備えることを特徴とする、情報処理装置。
【請求項２】
前記画像処理部は、前記撮像画像に複数の特徴点を設定し、オプティカルフローの処理により当該特徴点の動きを時系列に求めることで、前記撮像画像の時系列の動きを解析することを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記画像処理部は、
ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と１つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
現フレームの特徴点の位置と１つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記画像処理部は、前記撮像画像の動きを、前記撮像素子へ被写体像を結像させる光学系の光軸と直交する方向への移動、前記光軸周りの回転、及び拡大／縮小の少なくとも１つに分類する動き分類手段を含み、
前記データ変換部は、分類された前記撮像画像の動きに応じて、異なる前記制御データへ変換することを特徴とする、請求項２に記載の情報処理装置。
【請求項５】
操作者が操作可能なスイッチを更に備え、
前記データ変換部は、前記スイッチの操作状態に基づいて前記制御データを可変することを特徴とする、請求項１に記載の情報処理装置。
【請求項６】
情報を表示する表示部を更に備え、
前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作することを特徴とする、請求項１に記載の情報処理装置。
【請求項７】
情報を表示する表示部を更に備え、
前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うことを特徴とする、請求項１に記載の情報処理装置。
【請求項８】
前記制御部は、前記制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドを行うことを特徴とする、請求項１に記載の情報処理装置。
【請求項９】
情報を表示する表示部を更に備え、前記表示部の所定位置にはペイント位置を示すペイントツールが表示され、
前記制御部は、
前記制御データに基づいて、前記ペイントツール又は前記表示部に表示された背景画面を移動させ、前記ペイントツールの位置で前記背景画面にペイントを行うことを特徴とする、請求項１に記載の情報処理装置。
【請求項１０】
時系列に取得された複数の前記撮像画像のそれぞれに、前記画像処理部で解析された前記撮像画像の動きに関する情報を付加する動き情報付加部と、
前記撮像画像の動きに関する情報に基づいて、複数の前記撮像画像を合成する画像合成部と、
を更に備えることを特徴とする、請求項１に記載の情報処理装置。
【請求項１１】
有線又は無線により撮像装置と接続される情報処理装置であって、
時系列に取得された撮像画像を前記撮像装置から受信する撮像画像受信部と、
前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
前記制御データに基づいて機能を制御する制御部と、
を備えることを特徴とする、情報処理装置。
【請求項１２】
情報を表示する表示部を更に備え、
前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作することを特徴とする、請求項１１に記載の情報処理装置。
【請求項１３】
情報を表示する表示部を更に備え、
前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うことを特徴とする、請求項１１に記載の情報処理装置。
【請求項１４】
有線又は無線により情報処理装置と接続される撮像装置であって、
撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、
前記撮像画像を画像処理し、撮像装置自体の動きに起因する前記撮像画像の動きを解析する画像処理部と、
解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、
を備えることを特徴とする、撮像装置。
【請求項１５】
撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、
前記撮像装置は、
撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、
前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備え、
前記情報処理装置は、
前記撮像装置から前記制御データを受信する受信部と、
前記制御データに基づいて機能を制御する制御部と、を備えることを特徴とする、情報処理システム。
【請求項１６】
撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、
前記撮像装置は、
撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、
前記撮像画像を前記情報処理装置へ送信する撮像画像送信部と、を備え、
前記情報処理装置は、
前記撮像画像を受信する撮像画像受信部と、
前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
前記制御データに基づいて機能を制御する制御部と、を備えることを特徴とする、情報処理システム。
【請求項１７】
撮像素子から時系列に撮像画像を取得するステップと、
前記撮像画像を画像処理し、前記撮像画像を撮像した装置自体の動きに起因する前記撮像画像の動きを解析するステップと、
解析した前記撮像画像の動きを制御データに変換するステップと、
前記制御データに基づいて、前記装置又は前記装置に接続された他の装置の機能を制御するステップと、
を備えることを特徴とする、装置制御方法。
【請求項１８】
撮像素子から時系列に撮像画像を取得する手段、
前記撮像画像を画像処理し、前記撮像素子を含む装置の動きに起因する前記撮像画像の動きを解析する手段、
解析した前記撮像画像の動きを制御データに変換する手段、
前記制御データに基づいて機能を制御する手段、
としてコンピュータを機能させるためのプログラム。
【請求項１９】
時系列に取得された撮像画像を撮像装置から受信する手段、
前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する手段、
解析した前記撮像画像の動きを制御データに変換する手段、
前記制御データに基づいて機能を制御する手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ、携帯端末などの装置は、表示画面を備えており、表示画面にはアイコン等を指示するためのポインタが表示される。通常、ポインタの移動、表示画面のスクロールなどの操作は、これらの装置が備えるボタンを操作することによって行われる。
【０００３】
一方、例えば、特許文献１には、振動ジャイロにより変位、速度、又は加速度を検出し、操作内容を表示する技術が開示されている。また、特許文献２には、携帯端末を操作する際に、操作する指の移動を検出して表示画面上のポインタの表示位置を移動させる技術が開示されている。
【０００４】
【特許文献１】特開平６−５０７５８号公報
【特許文献２】特開２００６−９９２２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、振動ジャイロによって変位などを検出する手法では、機器内に振動ジャイロを設ける必要があり、装置構成の複雑化、大型化を招来するという問題がある。また、指の移動を検出する方法では、検出のためのセンサを設ける必要があり、やはり装置が複雑化、大型化するという問題がある。また、指の移動を検出する方法では、大きな移動量を検出することができないため、ポインタの移動量が大きい場合、または画面のスクロール量が大きい場合には、操作が煩雑になるという問題も生じる。
【０００６】
同様に、表示画面以外の装置の機能を制御する場合においても、装置に設けられた操作ボタンを用いて制御する方法では、操作が煩雑であり、瞬時に操作を行うことができないなどの問題が生じていた。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、簡素な構成で装置の機能を制御することが可能な、新規かつ改良された情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、情報処理装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理装置が提供される。
【０００９】
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、情報処理装置自体の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置を動かすことで、情報処理装置を制御することが可能となる。
【００１０】
また、前記画像処理部は、前記撮像画像に複数の特徴点を設定し、オプティカルフローの処理により当該特徴点の動きを時系列に求めることで、前記撮像画像の時系列の動きを解析するものであっても良い。かかる構成によれば、撮像画像に複数の特徴点が設定され、オプティカルフローの処理により特徴点の動きを時系列に求めることで、撮像画像の時系列の動きが解析される。オプティカルフローの処理は特徴点の検出に適しているため、撮像画像に特徴点を設定することで、撮像画像の時系列の動きが精度良く検出される。
【００１１】
また、前記画像処理部は、ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と１つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、現フレームの特徴点の位置と１つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析するものであってもあっても良い。かかる構成によれば、各特徴点の動きを表すアフィン行列のうち、各特徴点の動きを最も精度良く表すアフィン行列を求めることができる。従って、支配的な動きを見せる特徴点に基づいてアフィン行列を算出することが可能となり、それ以外の特徴点をノイズと捉えることができ、撮像画像の動きを精度良く解析することが可能となる。
【００１２】
また、前記画像処理部は、前記撮像画像の動きを、前記撮像素子へ被写体像を結像させる光学系の光軸と直交する方向への移動、前記光軸周りの回転、及び拡大／縮小の少なくとも１つに分類する動き分類手段を含み、前記データ変換部は、分類された前記撮像画像の動きに応じて、異なる前記制御データへ変換するものであっても良い。かかる構成によれば、撮像画像の動きが、結像光学系の光軸と直交する方向への移動、光軸周りの回転、及び拡大／縮小の少なくとも１つに分類され、分類された撮像画像の動きに応じて、異なる前記制御データへの変換が行われる。従って、情報処理装置の動かし方を変えることで、分類された撮像画像の動きに基づいて、情報処理装置に異なる機能を実現させることができる。
【００１３】
また、操作者が操作可能なスイッチを更に備え、前記データ変換部は、前記スイッチの操作状態に基づいて前記制御データを可変するものであっても良い。かかる構成によれば、スイッチの操作状態に基づいて制御データが可変される。従って、撮像画像の動きと、スイッチの操作状態を併用して情報処理装置の機能を制御することができ、情報処理装置が有する各種機能の制御を最適に行うことができる。
【００１４】
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作するものであっても良い。かかる構成によれば、制御データに基づいて、表示部に表示されたポインタが操作される。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、ポインタを操作することが可能となる。
【００１５】
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うものであっても良い。かかる構成によれば、制御データに基づいて、表示部に表示された画面のスクロールが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、画面のスクロールを行うことが可能となる。
【００１６】
また、前記制御部は、前記制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドを行うものであっても良い。かかる構成によれば、制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、ダイレクトコマンドを実行することが可能となる。
【００１７】
また、情報を表示する表示部を更に備え、前記表示部の所定位置にはペイント位置を示すペイントツールが表示され、前記制御部は、前記制御データに基づいて、前記ペイントツール又は前記表示部に表示された背景画面を移動させ、前記ペイントツールの位置で前記背景画面にペイントを行うものであっても良い。かかる構成によれば、表示部の所定位置にはペイント位置を示すペイントツールが表示され、制御データに基づいて、ペイントツール又は表示部に表示された背景画面が移動され、ペイントツールの位置で背景画面にペイントが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、背景画面にペイントを行うことが可能となる。
【００１８】
また、時系列に取得された複数の前記撮像画像のそれぞれに、前記画像処理部で解析された前記撮像画像の動きに関する情報を付加する動き情報付加部と、前記撮像画像の動きに関する情報に基づいて、複数の前記撮像画像を合成する画像合成部と、を更に備えたものであっても良い。かかる構成によれば、時系列に取得された複数の撮像画像のそれぞれに、画像処理部で解析された撮像画像の動きに関する情報が付加され、画像データの動きに関する情報に基づいて、複数の撮像画像が合成される。従って、時系列に取得された撮像画像の位置合わせを精度良く行うことができる。
【００１９】
上記課題を解決するために、本発明の別の観点によれば、有線又は無線により撮像装置と接続される情報処理装置であって、時系列に取得された撮像画像を前記撮像装置から受信する撮像画像受信部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理装置が提供される。
【００２０】
上記構成によれば、時系列に取得された撮像画像が撮像装置から受信され、撮像画像を画像処理することで、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置と別体に設けられた撮像装置を動かすことで、情報処理装置を制御することが可能となる。
【００２１】
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作するものであっても良い。上記構成によれば、制御データに基づいて、情報処理装置の表示部に表示されたポインタが操作される。従って、煩雑な操作を行うことなく、撮像装置を動かすことによって、ポインタを操作することが可能となる。
【００２２】
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うものであっても良い。かかる構成によれば、前記制御データに基づいて、情報処理装置の表示部に表示された画面のスクロールが行われる。従って、煩雑な操作を行うことなく、撮像装置を動かすことによって、画面のスクロールを行うことが可能となる。
【００２３】
上記課題を解決するために、本発明の別の観点によれば、有線又は無線により情報処理装置と接続される撮像装置であって、撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、撮像装置自体の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備える撮像装置が提供される。
【００２４】
上記構成によれば、撮像素子から時系列に撮像画像が取得され、撮像画像を画像処理することで、撮像装置自体の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、情報処理装置の機能を制御するため、情報処理装置へ送信される。従って、撮像装置を動かすことで、撮像装置と別体に設けられた情報処理装置を制御することが可能となる。
【００２５】
上記課題を解決するために、本発明の別の観点によれば、撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、前記撮像装置は、撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備え、前記情報処理装置は、前記撮像装置から前記制御データを受信する受信部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理システムが提供される。
【００２６】
上記構成によれば、撮像装置では、撮像素子から時系列に撮像画像が取得され、撮像画像が画像処理され、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、情報処理装置の機能を制御するため、情報処理装置へ送信される。情報処理装置では、制御データを受信し、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置に接続された撮像装置を動かすことで、情報処理装置を制御することが可能となる。また、情報処理装置側では、画像データの動きを解析する必要がないため、情報処理装置を簡素に構成することができる。
【００２７】
上記課題を解決するために、本発明の別の観点によれば、撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、前記撮像装置は、撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、前記撮像画像を前記情報処理装置へ送信する撮像画像送信部と、を備え、前記情報処理装置は、前記撮像画像を受信する撮像画像受信部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理システムが提供される。
【００２８】
上記構成によれば、撮像装置では、撮像素子から時系列に撮像画像が取得され、撮像画像は情報処理装置へ送信される。情報処理装置では、撮像装置から受信した撮像画像が画像処理され、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置に接続された撮像装置を動かすことで、情報処理装置を制御することが可能となる。また、撮像装置側では撮像画像の動きを解析する必要がないため、撮像装置を簡素に構成することができる。
【００２９】
上記課題を解決するために、本発明の別の観点によれば、撮像素子から時系列に撮像画像を取得するステップと、前記撮像画像を画像処理し、前記撮像画像を撮像した装置自体の動きに起因する前記撮像画像の動きを解析するステップと、解析した前記撮像画像の動きを制御データに変換するステップと、前記制御データに基づいて、前記装置又は前記装置に接続された他の装置の機能を制御するステップと、を備える装置制御方法が提供される。
【００３０】
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、撮像画像を撮像した装置自体の動きに起因する撮像画像の動きが解析される。そして、撮像画像の動きは制御データに変換され、制御データに基づいて、画像データを撮像した装置又は当該装置に接続された他の装置の機能が制御される。従って、撮像画像を撮像した装置を動かすことで、動かしている装置自体、またはこの装置に接続された別の装置の機能を制御することができる。
【００３１】
上記課題を解決するために、本発明の別の観点によれば、撮像素子から時系列に撮像画像を取得する手段、前記撮像画像を画像処理し、前記撮像素子を含む装置の動きに起因する前記撮像画像の動きを解析する手段、解析した前記撮像画像の動きを制御データに変換する手段、前記制御データに基づいて機能を制御する手段、としてコンピュータを機能させるためのプログラムが提供される。
【００３２】
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、撮像素子を含む装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、装置が有する機能が制御される。従って、撮像素子を含む装置を動かすことで、当該装置を制御することが可能となる。
【００３３】
上記課題を解決するために、本発明の別の観点によれば、時系列に取得された撮像画像を撮像装置から受信する手段、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する手段、解析した前記撮像画像の動きを制御データに変換する手段、前記制御データに基づいて機能を制御する手段、としてコンピュータを機能させるためのプログラムが提供される。
【００３４】
上記構成によれば、時系列に取得された撮像画像が撮像装置から受信され、撮像画像を画像処理することで、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、装置が有する機能が制御される。従って、別体に設けられた撮像装置から撮像画像を受信することで、受信した装置の機能を制御することが可能となる。
【発明の効果】
【００３５】
本発明によれば、簡素な構成で装置の機能を制御することが可能な、新規かつ改良された情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムを提供することが可能となる。
【発明を実施するための最良の形態】
【００３６】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３７】
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。図１は、第１の実施形態に係る情報処理装置１０を示す模式図である。この情報処理装置１０は、パーソナルコンピュータの機能を備えた小型の携帯端末（モバイル・パソコン）である。情報処理装置１０には、中央に表示画面１２が設けられている。図１では、表示画面１２上にアイコンなどを操作するためのポインタ１３が表示された状態を示している。
【００３８】
表示画面１２の周囲には、情報処理装置１０の各種機能を操作するための各種ボタン１４が配置されている。また、表示画面１２が設けられた面の裏側には、背面カメラ１６が設けられている。
【００３９】
背面カメラ１６は、結像光学系とＣＣＤなどの撮像素子とを備えている。背面カメラ１６では、結像光学系によって被写体の像が撮像素子上に結像され、光電変換により画像のデータが取得される。背面カメラ１６は表示画面１２の裏面に設けられているため、情報処理装置１０の使用者は、背面カメラ１６を被写体に向けて画像のデータを取得しながら、表示画面１２の表示を認識することができる。
【００４０】
なお、以下に説明する各本実施形態では、背面カメラ１６で撮像された撮像画像の動きに応じて、情報処理装置１０の各種機能を制御するため、背面カメラ１６で撮像された画像は常に表示画面１２上に表示されるものではない。但し、ボタン１４の操作等により設定を変更することで、背面カメラ１６で撮像された画像を表示画面１２上の全部又は一部に表示することは勿論可能である。また、表示画面１２の裏面側に背面カメラ１６が設けられるものとしたが、表面側（表示装置１２側）にカメラが設けられていても良い。
【００４１】
図２は、情報処理装置１０の構成を示すブロック図である。図２に示すように、情報処理装置１０はＭＰＵ１８を備えている。ＭＰＵ１８は、内部に画像処理部２０、データ変換部２２、および表示制御部２４を備えている。また、ＭＰＵ１８には、ボタン１４、背面カメラ１６、メモリ２６、液晶表示部（ＬＣＤ）２８が接続されている。上述した表示画面１２は液晶表示部２８によって構成される。画像処理部２０、データ変換部２２、表示制御部２４などの機能ブロックは、主として、ハードウェアとしてのＭＰＵ１８と、ＭＰＵ１８の内部又は外部のＲＯＭ等に格納されたコンピュータプログラム（ソフトウェア）とを含むコンピュータシステムによって構成される。
【００４２】
背面カメラ１６では時系列に被写体の像が撮像される。背面カメラ１６で取得された撮像画像の画像データは、画像処理部２０に送られる。また、画像データはメモリ２６内に蓄積される。画像処理部２０では、画像データを画像処理し、背面カメラ１６の動き（つまり情報処理装置１０の動き）に起因する画像データの動きを解析する。この際、メモリ２６に記憶されている前フレームの画像のデータと、撮像された最新のフレームの画像のデータを用いて解析が行われる。
【００４３】
画像処理部２０で解析された情報処理装置１０の移動情報は、データ変換部２２に送られる。また、データ変換部２２には、情報処理装置１０が備えるアプリケーションの状態、ボタン１４の操作状態（例えば、背面カメラ１６がズームレンズを備える場合は、そのズーム位置）などが入力される。
【００４４】
データ変換部２２では、画像処理部２０で解析された動きを、情報処理装置１０を制御するための制御データに変換する。すなわち、データ変換部２２は、解析された画像データの動き（情報処理装置１０の動き）に応じて、情報処理装置１０を操作するためのパラメータを演算する機能を有している。また、データ変換部２２は、アプリケーションの状態、ボタン１４の操作状態に応じて、異なる制御データを出力する。
【００４５】
そして、データ変換部２２で演算された制御データに基づいて、情報処理装置１０の各種操作が行われる。これにより、情報処理装置１０の動きに基づいて、情報処理装置１０の各種操作を行うことができる。ここで、情報処理装置１０の各種操作とは、例えば表示画面１２に表示されたポインタ１３の移動、表示画面１２に表示されたウィンドウのスクロール、情報処理装置１０の起動／停止などのダイレクトコマンドの実施などが挙げられる。
【００４６】
第１の実施形態では、情報処理装置１０の動きに応じて、表示画面１２に表示されたポインタ１３の動きが制御される。従って、データ変換部２２は、情報処理装置１０の動きに応じて、アプリケーションの状態を考慮した上で、ポインタ１３の移動量及び方向を演算する。表示制御部２４は、データ変換部２２で演算された移動量及び方向に応じて、表示画面１２の表示を制御し、表示画面１２上でポインタ１３を移動させる。
【００４７】
このように、本実施形態の情報処理装置１０は、背面カメラ１６で撮像された画像に基づいて、情報処理装置１０自体の動きを解析し、これに基づいて表示画面１２に表示されるポインタ１３を移動させる機能を備えている。
【００４８】
これにより、情報処理装置１０の使用者は、手で保持している情報処理装置１０を動かすことで、ポインタ１３を所望の位置に移動させることが可能となる。従って、ボタン操作などの煩雑な作業が不要となり、ポインタ１３の移動を瞬時且つ容易に行うことができる。また、情報処理装置１０の移動方向、移動量と、ポインタ１３の移動方向、移動量を一致させることで、使用者の意図する移動方向に、意図する移動量だけポインタ１３を移動させることが可能となる。
【００４９】
また、本実施形態では、ポインタ１３を移動させる際に、ボタン１４の操作を併用することで、ポインタ１３にドラッグ＆ドロップ機能を持たせるようにしている。例えば、表示画面１２に表示されたアイコン上にポインタ１３を配置し、所定のボタン１４を押すと、
ドラッグのコマンドが実行され、ポインタ１３によってアイコンがドラッグされる。従って、所定のボタン１４を押した状態で情報処理装置１０を動かし、ポインタ１３を移動させることで、アイコンをドラッグした状態で動かすことができる。アイコンを所望の位置に動かした後は、所定のボタン１４の操作を停止することで、アイコンをドロップすることができる。
【００５０】
図３は、本実施形態の情報処理装置１０で行われる処理の概略を示すフローチャートである。なお、以下に説明する第２〜第５の実施形態で行われる処理の概略も、図３の流れと同様である。先ず、ステップＳ１では、情報処理装置１０の各種情報が取得される。ここで取得される情報としては、ボタン１４の操作状態、各種アプリケーションの状態などが含まれる。ドラッグ＆ドロップ機能を有するボタン１４が押されているか否かは、ステップＳ１で検知される。
【００５１】
次のステップＳ２では、背面カメラ１６によって撮像された画像が取得される。次のステップＳ３では、画像データを処理して、画像の移動方向、移動距離などを検出する。ここでは、後述するように、オプティカルフローの処理により、画像の移動方向、移動距離などが解析される。
【００５２】
次のステップＳ４では、ステップＳ３で検出された画像の移動方向、移動距離に基づいて、制御データとしてのポインタ１３の移動量、移動方向が算出され、制御データに基づいてポインタ１３の動きが制御される。この際、ステップＳ１でドラッグ機能を有するボタン１４が押されていることが検知された場合は、ポインタ１３によって画面上のアイコン、背景などがドラッグされた状態で移動される。ステップＳ４の後は処理を終了する(END)。
【００５３】
図３の処理によれば、背面カメラ１６で撮像された画像の動きを解析することで、情報処理装置１０の動きを解析することができ、これに基づいて、ポインタ１３の移動を制御することができる。また、ボタン１４の操作を併用して行うことにより、ポインタ１３を用いてドラッグなどの操作が可能となる。
【００５４】
図４は、情報処理装置１０と、背面カメラ１６で撮像された画像をともに示す模式図である。背面カメラ１６は、所定の時間間隔で画像を撮像し、時系列に画像のフレームを取得する。撮像画像の動きの解析は、オプティカルフローの処理により、撮像された画像中のある部分が、時系列に取得される画像のフレーム毎に移動する様子を解析することによって行われる。この際、本実施形態では、オプティカルフローの計算に強い特徴点を画像データ中に設定し、特徴点に対してＬＫ(Lucas Kanade)法によるオプティカルフローの処理を行うことで、画像データの解析を行うようにしている。
【００５５】
図４に示すように、撮像画像の動きを解析するため、背面カメラ１６で撮像された画像中には複数の特徴点Ｐ１，Ｐ２，Ｐ３，Ｐ４，・・・，Ｐｎが設定される。図５は、特徴点Ｐ１が設定された画素の周辺を拡大して示す模式図である。図５に示すように、特徴点Ｐ１は、Ｘ方向、Ｙ方向の双方に隣接する画素に対して輝度に勾配が生じる画素に設定される。他の特徴点も同様に、Ｘ方向、Ｙ方向の双方に隣接する画素に対して輝度に勾配が生じる画素に設定される。これにより、各特徴点が任意の方向に移動した場合に、特徴点のＸ方向、Ｙ方向への移動を確実に検出することができる。また、各特徴点は、隣接する他の特徴点との距離が所定値以上となるように配置され、表示画面１２内の画像の全領域にほぼ均一に分散するように配置される。
【００５６】
そして、各特徴点の時系列の動きに基づいて、画像の移動、回転、拡大／縮小が解析される。画像の移動、回転、拡大／縮小が解析されると、これに基づいて、背面カメラ１６の光軸（以下、必要に応じて単に光軸という）と直交する方向への情報処理装置１０の移動、情報処理装置１０の回転、光軸方向への情報処理装置１０の移動などを算出することができる。
【００５７】
すなわち、画像処理部２０は、各特徴点の時系列の動きを解析した結果に基づいて、画像データの動きを、移動、回転、又は拡大／縮小の少なくとも１つに分類する機能を有している。データ変換部２２は、分類されたこれらの動きに応じて、異なる制御データを出力する。従って、情報処理装置１０の動かし方を変えることで、情報処理装置１０に異なる機能を実行させることができる。
【００５８】
図６、図７及び図９は、画像の移動、回転、拡大／縮小を解析する手法を示す模式図であって、情報処理装置１０と背面カメラ１６によって撮像された画像をともに示している。
【００５９】
図６は、画像中に設定された特徴点が、光軸と直交する方向への情報処理装置１０の動きに伴って移動する様子を示している。図６に示すように、情報処理装置１０を矢印Ａ方向に動かすと、背面カメラ１６で撮像された画像は矢印Ｂ方向に移動する。
【００６０】
図６では、画像中にｎ個の特徴点が設定されている。ここで、Ｐ１（ｔ−１），Ｐ２（ｔ−１），Ｐ３（ｔ−１），Ｐ４（ｔ−１），・・・，Ｐｎ（ｔ−１）は、時刻ｔ−１の画像フレームにおける各特徴点の位置を示している。また、Ｐ１（ｔ），Ｐ２（ｔ），Ｐ３（ｔ），Ｐ４（ｔ），・・・，Ｐｎ（ｔ）は、時刻ｔの画像フレームにおける各特徴点の位置を示している。従って、時刻ｔ−１から時刻ｔの間における各特徴点の移動量Δｄに基づいて、画像の移動量を算出することができる。
【００６１】
図７は、画像中に設定された特徴点が、情報処理装置１０の回転に伴って回転する様子を示している。図７において、Ｑ１（ｔ−１），Ｑ２（ｔ−１），Ｑ３（ｔ−１），Ｑ４（ｔ−１），・・・，Ｑｎ（ｔ−１）は、時刻ｔ−１の画像フレームにおけるｎ個の各特徴点の位置を示している。また、Ｑ１（ｔ），Ｑ２（ｔ），Ｑ３（ｔ），Ｑ４（ｔ），・・・，Ｑｎ（ｔ）は、時刻ｔの画像フレームにおける各特徴点の位置を示している。このように、情報処理装置１０を矢印Ｃ方向に回転させると、背面カメラ１６によって撮像された画像中の各特徴点は矢印Ｄ方向に回転する。
【００６２】
図８は、図７に示すような特徴点の移動に基づいて、画像の回転を検出する手法を示す模式図である。図８に示すように、時刻ｔ−１及び時刻ｔにおける各特徴点の位置を直線で結び、この直線の垂直２等分線Ｌ１，Ｌ２，Ｌ３，・・・，Ｌｎが設定される。そして、各直線Ｌ１，Ｌ２，Ｌ３，・・・，Ｌｎの交点が近接する場合は、回転中心が存在すると判断することができる。本実施形態では、各直線Ｌ１，Ｌ２，Ｌ３，・・・，Ｌｎの交点が図８に示す所定範囲Ｅの中に存在する場合は、回転中心が存在し、画像が回転したものと判断される。この場合、各直線Ｌ１，Ｌ２，Ｌ３，・・・，Ｌｎの交点の平均位置が回転中心の位置とされる。なお、回転中心の位置は、撮像画像の範囲内に存在する場合に限られず、撮像画像の範囲外に算出されることもある。回転中心が求まると、時刻ｔ−１及び時刻ｔにおける特徴点の位置に基づいて回転量θを求めることができる。
【００６３】
図９は、画像中に設定された特徴点が、情報処理装置１０の前後方向（背面カメラ１６の光軸方向）の移動に伴って移動する様子を示す模式図である。情報処理装置１０が光軸方向に移動すると、背面カメラ１６で撮像された画像が拡大／縮小される。図９では、被写体に対して情報処理装置１０を近づけて、画像が拡大される様子を示している。
【００６４】
図９において、Ｒ１（ｔ−１），Ｒ２（ｔ−１），Ｒ３（ｔ−１），Ｒ４（ｔ−１），・・・，Ｒｎ（ｔ−１）は、時刻ｔ−１の画像フレームにおけるｎ個の各特徴点の位置を示している。また、Ｒ１（ｔ），Ｒ２（ｔ），Ｒ３（ｔ），Ｒ４（ｔ），・・・，Ｒｎ（ｔ）は、時刻ｔの画像フレームにおける各特徴点の位置を示している。また、Ｓ（ｔ−１）は時刻ｔ−１の画像フレームにおけるｎ個の各特徴点の平均位置を示しており、Ｓ（ｔ）は時刻ｔの画像フレームにおけるｎ個の各特徴点の平均位置を示している。このように、情報処理装置１０を光軸方向に移動して物体に近づけると、画像中の特徴点の位置の分散が大きくなる。また、特徴点の平均位置は、画像の中心Ｏから遠ざかる方向に移動する。ここで、特徴点の分散とは、特徴点の平均位置から各特徴点までの距離で表される。
【００６５】
従って、時系列に変化する特徴点の動きを解析した結果、特徴点の位置の分散が拡大し、且つ特徴点の平均位置が画像の中心Ｏから離れる方向に移動する場合は、光軸方向で被写体に近づく向きに情報処理装置１０が移動したと判断することができる。また、特徴点の分散が小さくなり、特徴点の平均位置が画像の中心Ｏに近づく場合は、光軸方向で被写体から遠ざかる方向に情報処理装置１０が移動したと判断することができる。そして、情報処理装置１０光軸方向の移動量は、特徴点の移動量、分散の変化量と、結像光学系の焦点距離等の仕様に基づいて算出することができる。
【００６６】
上述したように、特徴点の動きの解析は、例えばオプティカルフローの計算方法の１つであるＬＫ法を用いて、時系列に変化する画像同士を比較することによって行われる。図１０は、ＬＫ法を用いて特徴点の動きを解析する手法を示す模式図である。ここでは、ＬＫ法により、光軸と直交する方向への特徴点Ｐの動きを解析する場合を例示する。
【００６７】
ここで、図１０（Ａ）は、時刻ｔ−１の画像フレームを示しており、図１０（Ｂ）は、時刻ｔの画像フレームを示している。オプティカルフローの処理では、上述したように時刻ｔ−１と時刻ｔにおける画像データ中の特徴点の移動を解析するが、より具体的には、背面カメラ１６で撮像された画像フレームから、解像度を段階的に低下させた画像を複数形成し、先ず解像度を低下させた画像同士で比較が行われる。これにより、特徴点の移動を解析する際の演算処理量を最小限に抑えることができる。なお、各時刻におけるフレームの画像データは、撮像された後、メモリ２６に記憶される。
【００６８】
図１０（Ａ）及び図１０（Ｂ）に示すように、背面カメラ１６で撮像された画像の画素数を３２０×２４０ピクセルとすると、この画像に基づいて、解像度を低下させた１６０×１２０ピクセルの画像（１）、更に解像度を低下させた８０×６０ピクセルの画像（２）の２種類の画像が生成される。画像（１）、画像（２）は、元の３２０×２４０ピクセルの画像と同じ画面領域の画像であるが、画素数を少なくすることで解像度が低下されている。
【００６９】
最初に、最も解像度の低い画像（２）において、時刻ｔ−１と時刻ｔの画像を比較し、特徴点の大まかな移動を解析する。画像（２）は、画素数が少なく、探索範囲が少ないため、オプティカルフローによる特徴点の動きの解析の処理を軽い処理で行うことができる。画像（２）の解析により、時刻ｔ−１における特徴点Ｐ（ｔ−１）が時刻ｔでＰ（ｔ）の位置に移動していることが簡易的に求まる。
【００７０】
次に、画像（１）上において、画像（２）で特徴点Ｐの移動が検知された領域を中心として、時刻ｔ−１と時刻ｔの画像を比較し、特徴点Ｐの移動をより詳細に解析する。ここでは、画像（２）の解析により探索範囲が絞り込まれるため、必要な領域のみでオプティカルフローを検出することで、特徴点の移動の解析を軽い処理で行うことができる。
【００７１】
次に、背面カメラ１６で撮像された３２０×２４０ピクセルの画像において、画像（１）で特徴点の移動が検知された領域を中心として、時刻ｔ−１と時刻ｔの画像を比較し、特徴点の移動をより詳細に解析する。ここでも、画像（１）の解析により探索範囲が更に絞り込まれるため、３２０×２４０ピクセルの全画素の画像においてオプティカルフローの検出を軽い処理で行うことができ、特徴点の移動を精度良く解析することができる。
【００７２】
図１０の処理によれば、時系列のフレーム毎に特徴点の移動を解析する際に、処理量を抑えることができ、時間遅れを最小限に抑えた状態で、時系列の画像の動きを解析することができる。このようなＬＫ法によるオプティカルフローの画像処理については、例えばホームページ(http://robots.stanford.edu/cs223b04/algo_tracking.pdf)に掲載された論文「Pyramidal Implementation of the Lucas Kanade Feature Tracker Description of the algorithm; Jean-Yves Bouguet, Intel Corporation, Microprocessor Research Labs」に記載された手法により行うことができる。このように、オプティカルフローの計算に強い特徴点に対してＬＫ法を適用し、解像度を段階的に可変した画像を用いて特徴点の動きを解析することで、短時間で高精度に特徴点のオプティカルフローを算出することができる。
【００７３】
また、オプティカルフローの算出は、ＬＫ法以外の他の方法で行っても良く、例えば公知のブロックマッチング(Block Matching)法、勾配法などの方法で行ってもよい。
【００７４】
また、画像データの移動量の解析は、フレーム間差分(Motion History Image)など、オプティカルフロー以外の方法により行ってもよい。フレーム間差分による方法では、時刻ｔ−１と時刻ｔの画像において、同じ画素同士のレベル（輝度）が比較されて２値化される。そして、２値化した情報に時刻の情報を付加し、モーション・ヒストリー・イメージ(Motion History Image)を作成する。これにより、時系列に動く画像を解析することができ、モーション・ヒストリー・イメージのグラディエント(Gradient)を計算することで、動きのある画像の移動方向、移動距離を算出できる。以上のように、本実施形態において、画像データの移動量を算出するアルゴリズムは特に限定されるものではなく、各種の手法を採用することができる。
【００７５】
図１１は、画像の移動、回転、拡大／縮小を検出する処理を示すフローチャートである。先ず、ステップＳ１１では、背面カメラ１６で撮像された画像に設定された特徴点の数が所定の閾値未満であるか否かを判定する。そして、特徴点の数が閾値未満の場合は、特徴点の数が不十分であるため、ステップＳ１２へ進み、特徴点を抽出する。一方、特徴点の数が閾値以上の場合は、ステップＳ１３へ進む。
【００７６】
上述したように特徴点は輝度に勾配が生じる位置の画素に設定されるが、背面カメラ１６で撮像される画像が変化すると、これに伴って特徴点の数も変動する。背面カメラ１６で撮像された画像が変化することで特徴点の数が減少し、所定の閾値未満となった場合は、特徴点の数が閾値以上となるようにステップＳ１２で特徴点の抽出が行われる。
【００７７】
ステップＳ１３では、オプティカルフローの計算を行う。ここでは、各特徴点に対してＬＫ法によりオプティカルフローを計算し、画像座標系における各特徴点の移動方向／移動距離を求める。ＬＫ法以外の方法でオプティカルフローを計算する場合は、このステップＳ１３において、他の方法でオプティカルフローが計算される。
【００７８】
次のステップＳ１４では、オプティカルフローの計算により求められた各特徴点の移動距離の標準偏差が第１の閾値未満であるか否かを判定する。標準偏差が第１の閾値未満の場合は、処理を継続するため、ステップＳ１５へ進む。一方、標準偏差が第１の閾値を越えている場合は、各特徴点の移動距離のバラツキが大きく、例えば、背面カメラ１６で撮像された画像中に動きのある物体、人物等が存在することが考えられる。このような場合は、画像データが移動距離の検出に適していないため、処理を終了する(END)。
【００７９】
ステップＳ１５では、回転の検出を行う。ここでは、各特徴点が円運動を行ったと仮定した場合に、中心点が位置する可能性のある直線をそれぞれ求め、それらがほぼ一点で交わると認められる場合（図８の領域Ｅ内に存在する場合）は、情報処理装置１０が光軸と平行な軸周りに回転したと判断する。これにより、回転角度と回転方向が求まる。
【００８０】
次のステップＳ１６では、画像の拡大／縮小、すなわち情報処理装置１０の光軸方向への移動を検出する。ここでは、画像座標系上の特徴点の位置の分散が、一定のフレーム数以上の間、単調増加し、特徴点の平均位置が画像の中心位置から遠ざかった場合に、情報処理端末１０が光軸方向に被写体に近づく方向に移動したものと判定する。また、特徴点の位置の分散が、一定のフレーム数以上の間、単調減少し、特徴点の平均位置が画像の中心位置に近づいた場合に、情報処理端末１０が光軸方向に被写体から離れる方向に移動したものと判定する。
【００８１】
次のステップＳ１７では、特徴点の移動距離または回転角度の標準偏差が第２の閾値未満であるか否かを判定し、移動距離または角度の標準偏差が第２の閾値未満の場合は、ステップＳ１８へ進む。
【００８２】
ステップＳ１８では、光軸に垂直な方向への移動の検出を行う。ここでは、移動距離または回転角度が標準偏差の定数倍以内に入っている特徴点について、移動方向および移動距離を計算し、特徴点の平均移動ベクトルを求め、その逆ベクトルを情報処理装置１０の移動ベクトルとし、情報処理装置１０の移動方向と距離を求める。ステップＳ１８の後は処理を終了する(END)。
【００８３】
一方、ステップＳ１７において、特徴点の移動距離または回転角度の標準偏差が第２のしきい値以上の場合は、各特徴点の移動量、回転角度のバラツキが大きいため、光軸と直交する一定方向への情報処理装置１０の移動量は少ないと判断し、処理を終了する(END)。この場合は、光軸周りの回転（ステップＳ１５）、または光軸方向の移動（ステップＳ１６）のみが検知された状態となる。
【００８４】
図１１の手法によれば、オプティカルフローによる特徴点の動きの解析に加えて、特徴点の動きの種類を判別し、動きを移動、回転、拡大／縮小に分類することが可能となる。従って、画像の動きを分類した結果に基づいて、情報処理装置１０の動きを、光軸と直交する方向への移動、回転、光軸方向の動きに分類することができ、分類されたこれらの動きに基づいて、情報処理装置１０に異なる機能を実行させることができる。
【００８５】
本実施形態では、図１１の手法によって画像の移動、回転、拡大／縮小が検出されると、これに基づいて表示画面１２上のポインタ１３の移動が行われる。図１２は、ポインタ１３の移動を行う処理を示すフローチャートである。先ず、ステップＳ２１では、情報処理装置１０において、カメラ画像によるポインタ制御モードが設定されているか否かが判別される。カメラ画像によるポインタ制御モードは、例えば情報処理装置１０が備える各種ボタン１４のいずれかが押されることによって設定される。なお、カメラ画像によるポインタ制御モードに設定されていない場合は、ボタン１４の操作によってポインタ１３を移動させることができる。
【００８６】
次のステップＳ２２では、情報処理装置１０が備えるボタン１４のうち、ドラッグ＆ドロップ機能を行うボタン（ここではボタンＡとする）が押されているか否かが判定される。
【００８７】
ボタンＡが押されている場合は、ステップＳ２３へ進み、ポインタ１３をドラッグ可能状態に設定する。一方、ボタンＡが押されていない場合は、ステップＳ２４へ進み、ポインタをドラッグ不可状態に設定する。ステップＳ２３，Ｓ２４の後は、ステップＳ２５へ進む。
【００８８】
ステップＳ２５では、背面カメラ１６の移動ベクトルの光軸に垂直な平面上の成分を利用して、ポインタ１３を移動する。すなわち、ここでは、図１１のステップＳ１８で求められた情報処理装置１０の移動量、移動方向に基づいてポインタ１３を移動する。具体的には、情報処理装置１０の移動量、移動方向から演算された制御データに基づいて、ポインタ１３の移動制御が行われる。
【００８９】
この際、ステップＳ２３でドラッグ可能状態に設定されている場合は、ポインタ１３の下にあるアイコン、画面などの対象物がドラッグされた状態でポインタ１３とともに移動する。一方、ステップＳ２４でドラッグ不可状態に設定されている場合は、ドラッグをしない状態でポインタ１３のみが移動する。ステップＳ２５の後は処理を終了する(END)。
【００９０】
以上説明したように第１の実施形態によれば、情報処理装置１０の動きに応じて表示画面１２内のポインタ１３を動かすことが可能となる。従って、煩雑な操作を伴うことなく、ポインタ１３を所望の位置に瞬時かつ容易に動かすことが可能となる。また、画像の動きの解析、制御データへの変換、制御データによる機能の制御（ポインタ１３の移動）などの処理は、ソフトウエアにより行うことができるため、動きを検出するためのセンサー等の部材が不要となり、装置を簡素に構成することができる。
【００９１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態に係る情報処理装置１０の構成は第１の実施形態と同様である。また、第２の実施形態において、背面カメラ１６の撮像画像による動きの解析は、第１の実施形態と同様に行われる。第２の実施形態は、背面カメラ１６で撮像された画像の動きを解析した結果に基づいて、表示画面１２のウィンドウのスクロールを行うものである。図１３は、表示画面１２にホームページのブラウザ、写真、地図、ウェブページなどが表示されている場合に、情報処理装置１０を動かして画面をスクロールしている状態を示す模式図である。
【００９２】
図１３（Ａ）〜図１３（Ｄ）において、表示画面１２は太枠で示す領域Ｆに対応しており、領域Ｆの範囲内の画像が表示画面１２に表示される。図１３（Ａ）では、複数の写真の一覧が表示されている。また、図１３（Ｂ）では、１枚の写真のうちの一部が表示されている。また、図１３（Ｃ）では、関東近辺の地図のうち、東京周辺のエリアが表示されている。また、図１３（Ｄ）では、ウェブページの一部が表示されている。
【００９３】
図１３（Ｅ）は、情報処理装置１０の移動方向を示している。図１３（Ｅ）に示す各矢印Ｇ１〜Ｇ８の方向に情報処理装置１０を動かすと、表示画面１２内（領域Ｆ内）において、情報処理装置１０を動かした方向と反対の方向にウィンドウがスクロールする。例えば、図１３（Ｅ）に示す矢印Ｇ１方向に情報処理装置１０を動かすと、表示画面１２の表示範囲を示す領域Ｆは、図１３（Ａ）〜図１３（Ｄ）のそれぞれで矢印Ｇ１方向に移動し、結果として矢印Ｇ１と反対の方向に表示画面１２内のウィンドウがスクロールする。
【００９４】
情報処理端末１０が回転された場合、または光軸方向に移動された場合は、情報処理装置１０の動きに応じて表示画面１２が変化するように制御が行われる。例えば、情報処理装置１０が回転した場合は、表示画面１２が回転するように表示が可変される。また、情報処理装置１０が光軸方向に被写体に近づく方向に移動した場合は、表示画面１２のウィンドウが拡大するように表示が可変される。また、情報処理装置１０が光軸方向に被写体から離れる方向に移動した場合は、表示画面１２のウィンドウが縮小するように表示が可変される。
【００９５】
従って、本実施形態によれば、ユーザが情報処理装置１０を動かした方向に表示画面１２の表示範囲（領域Ｆ）を移動することができ、ユーザの操作感覚に適合した最適なスクロールを実現することが可能となる。
【００９６】
また、本実施形態では、情報処理装置１０が備える各種ボタン１４のうち、ブラウザのコマンドを発行する所定のボタン１４が押された状態で情報処理装置１０が動かされた場合は、所定のボタン１４の押し下げと情報処理装置１０の動きとに応じてブラウザのコマンドが発行される。この場合、ウィンドウのスクロールは行われない。発行されるブラウザのコマンドとしては、例えば、表示画面１２に表示されたコンテンツの拡大／縮小、次のコンテンツの表示、以前に表示されていたコンテンツの表示などが挙げられる。
【００９７】
図１４は、表示画面１２のスクロールを行う処理を示すフローチャートである。先ず、ステップＳ３１では、情報処理装置１０において、カメラ画像によるウィンドウ制御モードが設定されているか否かが判別される。カメラ画像によるウィンドウ制御モードは、例えば情報処理装置１０が備える各種ボタン１４のいずれかが押されることによって設定される。ウィンドウ制御モードが設定されている場合はステップＳ３２へ進む。一方、ウィンドウ制御モードが設定されていない場合は処理を終了する(END)。なお、カメラ画像によるウィンドウ制御モードに設定されていない場合は、ボタン１４の操作によって表示画面１２のスクロールを行うことができる。
【００９８】
次のステップＳ３２では、情報処理装置１０が備えるボタン１４のうち、ブラウザのコマンドを発行するためのボタン（ここではボタンＢとする）が押されているか否かが判定される。
【００９９】
ボタンＢが押されている場合は、ステップＳ３３へ進む。この場合は、ボタンＢの押し下げと、情報処理装置１０の移動との組み合わせに基づいて、ブラウザのコマンドの発行が行われる。
【０１００】
図１５は、ステップＳ３３で行われる処理において、情報処理装置１０の移動方向と発行コマンドとの関係を示す模式図である。例えば、ステップＳ３３の処理では、情報処理装置１０がx>0の範囲で移動した場合に、＋y方向への移動量が所定値よりも大きく(y>const)、かつy方向への移動量がx方向への移動量の３倍よりも大きい場合(y>|3x|)の場合は、表示画面１２に表示されているコンテンツの拡大が行われる。また、情報処理装置１０がx<0の範囲で移動した場合に、−y方向への移動量が所定値よりも大きく(y<-const)、かつy方向への移動量がx方向への移動量の３倍よりも小さい場合(y<|3x|)の場合は、表示画面１２に表示されているコンテンツの縮小が行われる。
【０１０１】
また、情報処理装置１０がy>0の範囲で移動した場合に、＋x方向への移動量が所定値よりも大きく(x>const)、かつx方向への移動量がy方向への移動量の３倍よりも大きい場合(x>|3y|)の場合は、表示画面１２に次のコンテンツが表示される。また、情報処理装置１０がy<0の範囲で移動した場合に、−x方向への移動量が所定値よりも大きく(x<-const)、かつx方向への移動量がy方向への移動量の３倍よりも小さい場合(x<|3y|)の場合は、表示画面１２に前に表示していたコンテンツが表示される。
【０１０２】
一方、図１４のステップＳ３２でボタンＢが押されていない場合は、ステップＳ３４へ進む。この場合は、以降の処理で情報処理装置１０の動きに応じてウィンドウをスクロールさせる処理が行われる。
【０１０３】
すなわち、ステップＳ３４では、画像データから背面カメラ１６の光軸周りの回転が検出される。ステップＳ３４で回転が検出された場合は、ステップＳ３５へ進む。ステップＳ３５では、光軸（ｚ軸）周りの回転量が所定値を超えているか否かを判定し(rot_z>const)、回転量が所定値を超えている場合は、表示画面１２に表示されているコンテンツを回転量に応じた値だけ回転させる。ステップＳ３５の後は処理を終了する(END)。
【０１０４】
ステップＳ３４で回転が検出されなかった場合は、ステップＳ３６へ進む。ステップＳ３６では、画像データから光軸方向への情報処理装置１０の移動が検出される。ステップＳ３６で光軸方向の移動が検出された場合は、ステップＳ３７へ進む。
【０１０５】
ステップＳ３７では、情報処理装置１０の光軸方向の移動量に応じて、コンテンツの拡大、縮小が行われる。例えば、被写体から遠ざかる方向を＋方向とした場合に、Ｚ方向の移動量が負の値で所定値よりも小さい場合(z<-const)は、表示画面１２に表示されているコンテンツの拡大が行われる。また、Ｚ方向の移動量が所定値よりも大きい場合(z>const)の場合は、表示画面１２に表示されているコンテンツの縮小が行われる。ステップＳ３７の後は処理を終了する(END)。
【０１０６】
一方、ステップＳ３６で情報処理装置１０の光軸方向の移動が検出されなかった場合は、ステップＳ３８へ進む。ステップＳ３８では、背面カメラ１６の移動ベクトルの光軸に垂直な平面上の成分を利用して、ウィンドウをスクロールさせる。ここでは、図１１のステップＳ１８で求められた情報処理装置１０の移動量、移動方向に基づいて、ウィンドウをスクロールする。ステップＳ３８の後は処理を終了する(END)。
【０１０７】
以上説明したように第２の実施形態によれば、情報処理装置１０の動きに応じて表示画面１２のウィンドウのスクロールを行うことが可能となる。従って、煩雑な操作を伴うことなく、表示画面１２を瞬時かつ容易に所望の状態にスクロールすることが可能となる。
【０１０８】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。第３の実施形態に係る情報処理装置１０の構成は第１の実施形態と同様である。また、第３の実施形態において、背面カメラ１６の撮像画像による動きの解析は、第１の実施形態と同様に行われる。第３の実施形態は、背面カメラ１６で撮像された画像の動きを解析した結果に基づいて、情報処理装置１０の起動、停止などのダイレクトコマンドを実行するものである。
【０１０９】
例えば、情報処理装置１０が所定方向へ所定量以上移動した場合に情報処理装置１０の起動または停止のダイレクトコマンドが実行される。具体的には、図１５の場合と同様に、情報処理装置１０がx>0の範囲で移動した場合に、＋y方向への移動量が所定値よりも大きく(y>const)、かつy方向への移動量がx方向への移動量の３倍よりも大きい場合(y>|3x|)の場合は、情報処理装置１０の起動が行われるものとすることができる。また、情報処理装置１０がx<0の範囲で移動した場合に、−y方向への移動量が所定値よりも大きく(y<-const)、かつy方向への移動量がx方向への移動量の３倍よりも小さい場合(y<|3x|)の場合は、情報処理装置１０の停止が行われるものとすることができる。
【０１１０】
また、情報処理装置１０の移動を検知してのダイレクトコマンドの実行は、図１４のステップＳ３３と同様に、ボタン１４の操作が行われている場合に実行されるようにしても良い。これにより、情報処理装置１０が動かされた場合に、意図しないタイミングで起動／停止が行われてしまうことを回避できる。
【０１１１】
以上説明したように第３の実施形態によれば、情報処理装置１０の動きに応じて、起動／停止などのダイレクトコマンドを実行することが可能となる。従って、煩雑な操作を伴うことなく、情報処理装置１０を動かすのみで、ダイレクトコマンドを実行することが可能となる。
【０１１２】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。第４の実施形態に係る情報処理装置１０の構成は第１の実施形態と同様である。また、第４の実施形態において、背面カメラ１６の撮像画像による動きの解析は、第１の実施形態と同様に行われる。第４の実施形態は、背面カメラ１６で撮像された画像の動きを解析した結果に基づいて、表示画面１２のペイントツールの制御を行うものである。
【０１１３】
図１６は、情報処理装置１０の動きに応じて表示画面１２上にペイントを行っている例を示す模式図である。図１６（Ａ）は表示画面１２に表示された画像にペイントが行われている状態を示している。図１６（Ａ）において、表示画面１２は太枠で示す領域Ｈに対応しており、領域Ｈの範囲内の画像が表示画面１２に表示される。
【０１１４】
ペイント機能を使用する場合、所定のボタン１４を操作することでペイントツール制御モードの設定が行われる。情報処理装置１０がペイントツール制御モードに設定されると、図１６（Ａ）に示すように、表示画面１２上にペイント位置を示すペイントツール３０が表示される。ペイントツール３０が表示された状態では、ペイントツール機能を行うボタン１４を押してペン入力オン状態とすることで、ペイントツール３０の先端位置で台紙（背景）の画像に対してペイント（描画）を行うことができる。
【０１１５】
図１６（Ｂ）は、情報処理装置１０の移動方向を示している。図１６（Ｂ）に示す各矢印Ｊ１〜Ｊ８の方向に情報処理装置１０を動かすと、表示画面１２内（領域Ｈ内）において、情報処理装置１０を動かした方向と反対の方向に台紙（背景）が移動する。例えば、図１６（Ｂ）に示す矢印Ｊ１方向に情報処理装置１０を動かすと、表示画面１２の表示範囲を示す領域Ｈは、図１６（Ａ）の矢印Ｊ１方向に移動し、結果として矢印Ｊ１と反対の方向に表示画面１２内の台紙（背景）が移動する。
【０１１６】
ポインタ３０の位置は、表示画面１２内の所定位置（例えば中央位置）に固定されている。すなわち、領域Ｈに対するポインタ３０の相対的な位置は固定されている。一方、台紙（背景）の画像は、上述したように情報処理装置１０の動きに応じて表示画面１２内で移動する。従って、ペイントツール機能を行うボタン１４を押した状態で図１６（Ｂ）に示す各方向Ｊ１〜Ｊ８に情報処理装置１０を動かすと、動かした方向に表示画面１２の台紙（背景）が移動し、ペイントツール３０の先端の位置で台紙に対してペイントが行われる。これにより、例えば平仮名「あ」、「い」を描くように情報処理装置１０を動かすと、図１６（Ａ）に示すように、表示画面１２の台紙の画像上に「あ」、「い」の文字を描くことができる。
【０１１７】
また、表示画面１２に対して台紙の位置を固定し、情報処理装置１０の動きに応じてペイントツール３０の位置を動かすようにしてもよい。この場合は、第１の実施形態におけるポインタ１３の移動と同様にペイントツール３０を動かし、ペイントツール３０の先端でペイントを行う。
【０１１８】
図１７は、ペイントモードで行われる処理を示すフローチャートである。先ず、ステップＳ４１では、情報処理装置１０において、ペイントツール制御モードが設定されているか否かが判別される。カメラ画像によるペイントツール制御モードが設定されている場合はステップＳ４２へ進む。一方、カメラ画像によるペイントツール制御モードが設定されていない場合は処理を終了する(END)。なお、カメラ画像によるペイントツール制御モードに設定されていない場合は、ボタン１４の操作によってペイントを行うことができる。
【０１１９】
ステップＳ４２では、情報処理装置１０が備えるボタン１４のうち、ペイントツール機能を行うボタン（ここではボタンＣとする）が押されているか否かが判定される。
【０１２０】
ボタンＣが押されている場合は、ステップＳ４３へ進み、ペン入力オン状態に設定される。一方、ボタンＣが押されていない場合は、ステップＳ４４へ進み、ペン入力オフ状態に設定される。
【０１２１】
ステップＳ４５では、背面カメラ１６の移動ベクトルの光軸に垂直な平面上の成分を利用して、台紙（背景)を移動する。ここでは、図１１のステップＳ１８で求められた情報処理装置１０の移動量、移動方向に基づいて、台紙の移動を行う。これにより、ステップＳ４３でペン入力オン状態に設定されている場合は、ポインタ３０の先端位置でペイントが行われ、台紙に対するペイントツール３０の軌跡に沿ってペイントが行われる。一方、ステップＳ４４でペン入力オフ状態に設定されている場合は、ペイントは行われず、台紙（背景）のみが移動する。ステップＳ４５の後は処理を終了する(END)。
【０１２２】
以上説明したように第４の実施形態によれば、情報処理装置１０の動きに応じて、ペイントツール３０による台紙へのペイントを制御することが可能となる。従って、ユーザは、情報処理装置１０をペイントしたい方向へ動かすことで、表示画面１２上に所望のペイントを行うことが可能となる。
【０１２３】
（第５の実施形態）
次に、本発明の第５の実施形態について説明する。第５の実施形態に係る情報処理装置１０の構成は第１の実施形態と同様である。また、第５の実施形態において、背面カメラ１６の撮像画像による動きの解析は、第１の実施形態と同様に行われる。第５の実施形態は、背面カメラ１６で撮像された画像に情報処理装置１０の移動情報を付加するものである。
【０１２４】
第１の実施形態の手法によれば、背面カメラ１６で撮像された画像に基づいて、画像データの移動、回転、拡大／縮小を検知することができる。第５の実施形態は、情報処理装置１０を移動させながら、背面カメラ１６で複数の画像を撮像し、連続して撮像された各画像のデータに、前回撮像された画像からの移動量、回転量などの情報を付加することで、撮像された複数の画像を適正な位置に配置して合成するものである。
【０１２５】
図１８は、撮像画像に付加されたカメラの移動情報に基づいて、パノラマ画像を合成する処理を示す模式図である。ここで、図１８（Ａ）は、水平方向に背面カメラ１６を移動  させながら、６枚の画像（Ｎｏ．１〜Ｎｏ．６）を順次に撮像した状態を示している。
【０１２６】
撮像時には、Ｎｏ．１〜Ｎｏ．６の各画像のそれぞれに対して、１つ前に撮像された画像に対する背面カメラ１６の移動情報（移動量Δｘ，Δｙ、回転量θ）が付加される。従って、この移動情報に基づいて隣接する画像を配置していくことで、隣接する画像の情景  を連続的に接続することが可能となる。
【０１２７】
図１８（Ａ）では、背面カメラ１６の画像の移動情報に基づいて、６枚の画像が合成されている。これにより、隣接する撮像画像の相対的な位置を適正に一致させることができ、各画像の境界に位置ずれを発生させることなく、各画像の情景を連続的に接続することが  可能となる。
【０１２８】
図１８（Ｂ）は、図１８（Ａ）に示す状態から、上下の余分な画像を切除してパノラマ写真を作成した状態を示している。このように、本実施形態によれば、情報処理装置１０を水平方向に移動させて複数の画像を撮像し、隣接する撮像画像をカメラの移動情報に基づいて接続するため、隣接する撮像画像同士にズレが生じさせることなく、各撮像画像を配置することができる。従って、パノラマ写真などの画像を手軽に撮影することが可能と  なる。
【０１２９】
次に、図１９のフローチャートに基づいて、画像データとともに背面カメラ１６の移動情報を保存する処理について説明する。先ず、ステップＳ５１では、撮像した写真にカメラの移動情報を付加するモードであるか否かを判定する。カメラの移動情報を付加するモードは、ボタン１４の操作によって設定される。
【０１３０】
次のステップＳ５２では、背面カメラ１６のシャッターが押されたか否かを判定し、シャッターが押されていない場合はステップＳ５３へ進む。一方、シャッターが押された場合は、ステップＳ５４へ進む。
【０１３１】
ステップＳ５３へ進んだ場合は、前回シャッターが押されてから現時点までの間における、背面カメラ１６が動いた移動量、回転量を積算する。一方、ステップＳ５４へ進んだ場合は、ステップＳ５２でシャッターが押されることによって撮像された画像を保存する。この際、前回シャッターが押されてから、ステップＳ５２でシャッターが押されるまでの間の背面カメラ１６の移動を表すベクトルと、回転成分（回転角）を画像とともに保存する。ステップＳ５３，Ｓ５４の後は処理を終了する(END)。
【０１３２】
図１９の処理によれば、画像データとともに背面カメラ１６の移動情報を保存することができるため、複数の画像データを合成する場合は、画像データとともに保存された移動情報を用いることで、複数の画像データの位置合わせを正確に行うことが可能となる。
【０１３３】
以上説明したように第５の実施形態によれば、複数の画像データを撮像した際に、画像データとともに背面カメラ１６の移動情報を付加するため、複数の画像データを合成する場合に、正確な位置合わせが可能となる。従って、特別な機材を用いることなく、パノラマ写真などの合成を手軽に行うことが可能となる。
【０１３４】
（第６の実施形態）
次に、本発明の第６の実施形態について説明する。図２０は、第６の実施形態のシステムの外観を示す模式図である。図２０に示すように、第６の実施形態のシステムでは、ノート型のパーソナルコンピュータ（ノートパソコン）３０に携帯端末３２が接続されている。ノートパソコン３０には、表示画面３４とキーボード３６が設けられている。
【０１３５】
携帯端末３２は、カメラ４０を備えた小型の端末であり、ＵＳＢマウスとして機能する。携帯端末３２は、各種ボタン３８を備えている。また、携帯端末３２に設けられたカメラ４０は、結像光学系と、ＣＣＤなどの撮像素子を備えている。
【０１３６】
カメラ４０では、結像光学系によって被写体の像が撮像素子上に結像され、光電変換により画像のデータが取得される。そして、携帯端末３２内では、画像のデータに基づいて、第１の実施形態と同様の手法により携帯端末３２の移動が解析される。そして、解析結果はノートパソコン３０に送られ、解析結果に基づいてノートパソコン３０上のアプリケーションが操作される。具体的には、上述した各実施形態と同様に、携帯端末３２の動きに応じて、ノートパソコン３０の表示画面３４上のポインタ３５が移動され、表示画面３４のウィンドウのスクロール等が行われる。また、ブラウザのコマンドの実行、ダイレクトコマンドによるノートパソコン３０の起動、停止等の操作、ペイントツールによるペイント、画像データへの移動情報の付加などが行われる。
【０１３７】
従って、第６の実施形態では、カメラ４０を備えた携帯端末３２を、ノートパソコン３０を操作するためのデバイスとして機能させることができ、マウスを操作する感覚で携帯端末３２を動かすことで、ノートパソコン３０を操作することが可能となる。従って、例えばノートパソコン３０の表示画面３４をプロジェクタ等によって壁面に拡大して表示し、プレゼンテーションを行う場合などに、携帯端末３２を動かすことでポインタ３５を拡大画面上で移動させることがきる。
【０１３８】
図２１は、第６の実施形態のシステムの構成を示す模式図である。図２１に示すように、携帯端末３２は、ＭＰＵ４２を備えている。ＭＰＵ４２は、内部に画像処理部４４、データ変換部４６、および通信制御部４９を備えている。また、ＭＰＵ４２には、ボタン３８、カメラ４０、メモリ２６、通信部５０が接続されている。
【０１３９】
また、ノートパソコン３０は、ＭＰＵ５２を備えている。ＭＰＵ５２は、内部にデータ変換部５４、および表示制御部５６を備えている。また、ＭＰＵ５２には、通信部５８、液晶表示部（ＬＣＤ）６０が接続されている。上述した表示画面３４は液晶表示部６０によって構成される。
【０１４０】
携帯端末３２内では、カメラ４０で取得された画像のデータが画像処理部４４に送られる。画像処理部４４では、画像データの移動量に基づいて、携帯端末３２の動きを解析する。携帯端末３２の動きの解析は、第１の実施形態と同様に行われる。
【０１４１】
画像処理部４４で解析された携帯端末３２の動きは、データ変換部４６に送られる。また、データ変換部４６には、アプリケーションの状態、ボタン３８の操作状態（例えば、カメラ４０がズームレンズを備える場合は、そのズーム位置）などが入力される。
【０１４２】
データ変換部４６では、画像処理部６２で解析された動きを、ノートパソコン３０を制御するための制御データに変換する。すなわち、データ変換部４６は、解析された画像データの動き（携帯端末３２の動き）に応じて、ノートパソコン３２を操作するためのパラメータを演算する機能を有している。また、データ変換部４６は、アプリケーションの状態、ボタン３８の操作状態に応じて、異なる制御データを出力する。
【０１４３】
これにより、演算された制御データをノートパソコン３０に送信することで、携帯端末３２の動きに基づいてノートパソコン３０の各種操作を行うことができる。ここで、ノートパソコン３０の各種操作とは、例えば表示画面３４に表示されたポインタ３５の移動、表示画面３４に表示されたウィンドウのスクロール、ノートパソコン３０の起動／停止などのダイレクトコマンドの実施など、上述した各実施形態で説明した操作が含まれる。
【０１４４】
通信制御部４９は、データ変換部４６で演算されたパラメータをノートパソコン３０へ送る際の通信の制御を行う。通信部５０は、通信制御部４９の制御を受けて、データ変換部４６で演算されたパラメータをノートパソコン３０の通信部５８へ送信する。
【０１４５】
ノートパソコン３０の通信部５８は、携帯端末３２から送られた情報を受信し、ＭＰＵ５２へ送る。ＭＰＵ５２のデータ変換部５４は、携帯端末３２から送られた情報に基づいて、表示画面３４に表示されるポインタ３５の移動量及び方向、または表示画面３４のウィンドウのスクロール量及び方向などを演算する。表示制御部５６は、データ変換部５４で演算された移動量及び方向に応じて、ポインタ３５の移動、または画面のスクロール等を制御する。
【０１４６】
このように、図２１のシステムでは、携帯端末３２側で画像処理、動きの解析が行われ、携帯端末３２の動きに関する情報がノートパソコン３０側へ送られる。従って、携帯端末３２の動きに応じて、ノートパソコン３０の操作を行うことが可能となる。
【０１４７】
図２２は、第６の実施形態のシステムの他の構成を示す模式図である。図２２に示すシステムでは、携帯端末３２のＭＰＵ４２内には、通信制御部４９が設けられており、画像処理部４４、およびデータ変換部４６は設けられていない。また、ノートパソコン３０のＭＰＵ５２内には、画像処理部６２、データ変換部６４、表示制御部６６が設けられている。ＭＰＵ５２には、メモリ６８、液晶表示部（ＬＣＤ）６０が接続されている。
【０１４８】
携帯端末３２内では、カメラ４０で取得された画像のデータがＭＰＵ４２へ送られる。ＭＰＵ４２の通信制御部４９は、カメラ４０で取得された画像のデータをノートパソコン３０へ送る際の通信の制御を行う。通信部５０は、通信制御部４８の制御を受けて、画像のデータを直接ノートパソコン３０の通信部５８へ送信する。
【０１４９】
このように、図２２の例では、カメラ４０で取得された画像のデータが、通信部５０からノートパソコン３０へ直接送られる。ノートパソコン３０の通信部５８は、携帯端末３２から送られた画像データを受信し、ＭＰＵ５２へ送る。また、画像データはメモリ６８に蓄積される。ＭＰＵ５２の画像処理部６２は、画像データの移動量に基づいて、携帯端末３２の動きを解析する。携帯端末３２の動きの解析は、第１の実施形態と同様に行われ、メモリ６８に記憶されている前フレームの画像のデータと、撮像された最新のフレームの画像のデータを用いて解析が行われる。
【０１５０】
画像処理部６２で解析された携帯端末３２の動きは、データ変換部６４に送られる。また、データ変換部６４には、ノートパソコン３０が備えるアプリケーションの状態、キーボード３６の操作状態、ボタン３８の操作状態（例えば、カメラ４０がズームレンズを備える場合は、そのズーム位置）などが入力される。
【０１５１】
データ変換部６４では、画像処理部６２で解析された動きを、ノートパソコン３０を制御するための制御データに変換する。すなわち、データ変換部６４は、解析された画像データの動き（携帯端末２３の動き）に応じて、ノートパソコン３０を操作するためのパラメータを演算する機能を有している。また、データ変換部６４は、アプリケーションの状態、キーボード３６の操作状態、ボタン３８の操作状態に応じて、異なる制御データを出力する。
【０１５２】
これにより、演算された制御データを用いて、携帯端末３２の動きに基づいて、ノートパソコン３０の各種操作を行うことができる。ここで、ノートパソコン３０の各種操作とは、ポインタ３５の移動、ウィンドウのスクロール、ノートパソコン３０の起動／停止などのダイレクトコマンドの実施などが含まれる。
【０１５３】
図２２のシステムによれば、画像データに基づく携帯端末３２の動きの解析をノートパソコン３０側で行うことができるため、携帯端末３２をより簡素に構成することができる。
【０１５４】
以上説明したように第６の実施形態によれば、ノートパソコン３０などの被操作デバイスを、カメラ４０を備える携帯端末３２の動きに応じて操作することができる。従って、簡素な構成でノートパソコン３０などの機器を遠隔操作することが可能となる。
【０１５５】
（第７の実施形態）
次に、本発明の第７の実施形態について説明する。第７の実施形態に係る情報処理装置１０の構成は第１の実施形態と同様である。また、第７の実施形態において、背面カメラ１６の撮像画像による動きの解析の基本的な部分は、第１の実施形態と同様に行われる。第７の実施形態は、第１の実施形態において、オプティカルフローを計算した後、特徴点の移動、回転、または拡大・縮小を表すアフィン行列を算出して、これに基づいて情報処理装置１０の動きを求めるものである。
【０１５６】
図２３は、情報処理装置１０の背面カメラ１６で撮像された画像を示す模式図であって、第７の実施形態の手法により情報処理装置１０の動きを検出する様子を示している。図２３では、画面の中央に被写体である「木馬」が位置しており、背景に風で「旗」がなびいている様子が映し出されている。
【０１５７】
図２３は、特徴点の動きの一例として、図９と同様に、画像中に設定された特徴点が情報処理装置１０の前後方向の移動に伴って移動する様子を示している。図２３において、Ｔ１（ｔ−１），Ｔ２（ｔ−１），Ｔ３（ｔ−１），Ｔ４（ｔ−１），・・・，Ｔｎ（ｔ−１）は、時刻ｔ−１の画像フレームにおけるｎ個の各特徴点の位置を示している。また、Ｔ１（ｔ），Ｔ２（ｔ），Ｔ３（ｔ），Ｔ４（ｔ），・・・，Ｔｎ（ｔ）は、時刻ｔの画像フレームにおける各特徴点の位置を示している。図９と同様に、情報処理装置１０を光軸方向に移動して物体に近づけると、画像中の特徴点の位置の分散が大きくなる。
【０１５８】
図２３において、被写体である「木馬」は静止している。一方、背景の「旗」は風でなびいており、旗の形状は刻々と変化している。このような場合、静止した被写体である「木馬」に設定された特徴点の動きは、情報処理装置１０の動きを良く反映するものとなる。一方、風になびいている旗に設定された特徴点の動きは、情報処理装置１０の動きと実際の旗の動きとが合成されたものになるため、これに基づいて情報処理装置１０の動きを解析すると、旗の動きの分だけ誤差が生じる。このため、第７の実施形態では、情報処理装置１０の動きに応じて支配的な動きを見せる静止被写体上の特徴点に基づいて情報処理装置１０の動きを解析し、それ以外の特徴点の動きはノイズ的な動きと捉えることとし、このために情報処理装置１０の動きを表すアフィン行列を求めることとしている。
【０１５９】
具体的には、画像の中からランダムに特徴点を３つ選び、１フレーム前の３つの特徴点の位置と、現フレームの３つの特徴点の位置とから、１フレーム前の特徴点の位置と、現フレームの特徴点の位置との関係を示すアフィン行列を求める。そして、他の３つの特徴点を順次に選び、同様の手法によりアフィン行列を順次に算出する。そして、求められた複数のアフィン行列のうち、情報処理装置１０の動きを最も反映しているアフィン行列を選択し、選択されたアフィン行列に基づいて情報処理装置１０の動きを計算する。
【０１６０】
アフィン行列による動きの解析は、既知の方法で行うことができる。例えば、現フレームの特徴点の座標を（ｘ’，ｙ’）、１フレーム前の特徴点の座標を（ｘ，ｙ）とすると、アフィン変換は数学的に以下の式で表される。
ｘ’＝ａ・ｘ＋ｃ・ｙ＋ｓｘ
ｙ’＝ｂ・ｘ＋ｄ・ｙ＋ｓｙ
【０１６１】
上式を行列で表すと、以下の式が得られる。ここで、Ａは３行３列のアフィン行列である。
［ｘ’，ｙ’，１］＝［ｘ’，ｙ’，１］・Ａ
この場合、アフィン行列Ａのｉ行目、ｊ列目の要素をαｉｊとすると、α１１＝ａ，α１２＝ｂ，α１３＝０，α２１＝ｃ，α２２＝ｄ，α２３＝０，α３１＝ｓｘ，α３２＝ｓｙ，α３３＝１である。
【０１６２】
例えばアフィン行列が反時計周りの角度θの回転を表す場合、アフィン行列Ａは、ｓｘ＝ｓｙ＝０とされ、ａ＝cosθ，ｂ＝sinθ，ｃ＝-sinθ，ｄ＝cosθで表される。また、アフィン行列が拡大・縮小を表す場合、ｂ＝ｃ＝０＝ｓｘ＝ｓｙ＝０とされ、ａがｘ軸方向の拡大・縮小率を表し、ｄがｙ軸方向の拡大・縮小率を表す。また、アフィン行列が平行移動を表す場合、ａ＝ｄ＝１、ｂ＝ｃ＝０とされ、ｓｘがｘ軸方向の移動量を表し、ｓｙがｙ軸方向の移動量を表す。
【０１６３】
図２４は、第７の実施形態の処理を示すフローチャートである。図２４のフローチャートにおいて、ステップＳ６１〜ステップＳ６３の処理は、図１１のステップＳ１１〜Ｓ１３の処理と同様である。
【０１６４】
ステップＳ６３でオプティカルフローを計算した後、次のステップＳ６４では、ランダムに３つの特徴点を選び、３つの特徴点の動きベクトルからアフィン行列を計算する。
【０１６５】
次のステップＳ６５では、ステップＳ６４で算出されたアフィン行列のスコアを計算する。ここでは、ステップＳ６４で求めたアフィン行列を１フレーム前の領域内のｎ個の全ての特徴点に対して乗算する。そして、アフィン行列を乗算することにより得られた特徴点の位置と現フレーム内の特徴点の位置との誤差を各特徴点毎に計算し、誤差が所定の閾値よりも小さい特徴点の数をこのアフィン行列のスコアとする。
【０１６６】
次のステップＳ６６では、ステップＳ６４，Ｓ６５によるアフィン行列のスコアの計算回数が所定の閾値を超えたか否かを判定し、所定の閾値を超えた場合は、次のステップＳ６７へ進む。一方、アフィン行列のスコアの計算回数が所定の閾値を超えていない場合は、ステップＳ６４へ戻り、ステップＳ６４〜Ｓ６６の処理を繰り返し行う。
【０１６７】
ステップＳ６７では、ステップＳ６４〜Ｓ６６の処理により得られたアフィン行列のスコアのうち、最もスコアの高いアフィン行列を選択する。次のステップＳ６８では、ステップＳ６７で選択されたアフィン行列により、カメラの動きを計算する。ここでは、情報処理装置１０の光軸周りの回転、光軸方向への移動、光軸と垂直方向への移動を、アフィン行列を用いて算出する。ステップＳ６８の後は、処理を終了する(END)。
【０１６８】
図２４の処理によれば、各特徴点の動きを表すアフィン行列のうち、各特徴点の動きを最も精度良く表すアフィン行列を求めることができる。従って、支配的な動きを見せる特徴点に基づいてアフィン行列を算出することが可能となり、それ以外の特徴点をノイズと捉えることができる。従って、情報処理装置１０の動きを高精度に表すアフィン行列を算出することが可能となる。
【０１６９】
以上説明したように第７の実施形態によれば、アフィン行列を用いることにより、支配的な動きを示した特徴点を用いて情報処理装置１０の動きを精度良く検出することが可能となる。従って、情報処理装置１０の動きに応じて、情報処理装置１０の表示画面１２のポインタ１３等を正確に操作することが可能となる。
【０１７０】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１７１】
【図１】本発明の第１の実施形態にかかる第１の実施形態に係る情報処理装置１０を示す模式図である。
【図２】情報処理装置の構成を示すブロック図である。
【図３】第１の実施形態の情報処理装置で行われる処理の概略を示すフローチャートである。
【図４】情報処理装置と、背面カメラで撮像された画像をともに示す模式図である。
【図５】特徴点Ｐ１が設定された画素を拡大して示す模式図である。
【図６】画像の移動を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。
【図７】画像の回転を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。
【図８】図７に示すような特徴点の移動に基づいて、画像の回転を検出する手法を示す模式図である。
【図９】画像の拡大／縮小を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。
【図１０】ＬＫ法を用いて特徴点の動きを解析する手法を示す模式図である。
【図１１】画像の移動、回転、拡大／縮小を検出する処理を示すフローチャートである。
【図１２】ポインタの移動を行う処理を示すフローチャートである。
【図１３】表示画面にホームページのブラウザ、写真、地図、ウェブページなどが表示されている場合に、情報処理装置を動かして画面をスクロールしている状態を示す模式図である。
【図１４】表示画面のスクロールを行う処理を示すフローチャートである。
【図１５】ステップＳ３３で行われる処理において、情報処理装置の移動方向と発行コマンドとの関係を示す模式図である。
【図１６】情報処理装置の動きに応じて表示画面上にペイントを行っている例を示す模式図である。
【図１７】ペイントモードで行われる処理を示すフローチャートである。
【図１８】撮像画像に付加されたカメラの移動情報に基づいて、パノラマ画像を合成する処理を示す模式図である。
【図１９】画像データとともに背面カメラの移動情報を保存する処理を示すフローチャートである。
【図２０】第６の実施形態のシステムの外観を示す模式図である。
【図２１】第６の実施形態のシステムの構成を示す模式図である。
【図２２】第６の実施形態のシステムの他の構成を示す模式図である。
【図２３】情報処理装置の背面カメラで撮像された画像を示す模式図であって、第７の実施形態の手法により情報処理装置の動きを検出する様子を示す模式図である。
【図２４】第７の実施形態の処理を示すフローチャートである。
【符号の説明】
【０１７２】
１０    情報処理装置
１２，３４    表示画面
１３，３５    ポインタ
１４    ボタン
１６    背面カメラ
２０，４４，６２    画像処理部
２２，５４，６４    データ変換部
２４，５６，６６    表示制御部
３０    ペイントツール
４０    カメラ
５０，５８    通信部
【図１】
2008084287.tif 000003
【図２】
2008084287.tif 000004
【図３】
2008084287.tif 000005
【図４】
2008084287.tif 000006
【図５】
2008084287.tif 000007
【図６】
2008084287.tif 000008
【図７】
2008084287.tif 000009
【図８】
2008084287.tif 000010
【図９】
2008084287.tif 000011
【図１０】
2008084287.tif 000012
【図１１】
2008084287.tif 000013
【図１２】
2008084287.tif 000014
【図１３】
2008084287.tif 000015
【図１４】
2008084287.tif 000016
【図１５】
2008084287.tif 000017
【図１６】
2008084287.tif 000018
【図１７】
2008084287.tif 000019
【図１８】
2008084287.tif 000020
【図１９】
2008084287.tif 000021
【図２０】
2008084287.tif 000022
【図２１】
2008084287.tif 000023
【図２２】
2008084287.tif 000024
【図２３】
2008084287.tif 000025
【図２４】
2008084287.tif 000026