JP4725526B2 - 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム - Google Patents

情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム Download PDF

Info

Publication number
JP4725526B2
JP4725526B2 JP2007015445A JP2007015445A JP4725526B2 JP 4725526 B2 JP4725526 B2 JP 4725526B2 JP 2007015445 A JP2007015445 A JP 2007015445A JP 2007015445 A JP2007015445 A JP 2007015445A JP 4725526 B2 JP4725526 B2 JP 4725526B2
Authority
JP
Japan
Prior art keywords
image
information processing
captured image
movement
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007015445A
Other languages
English (en)
Other versions
JP2008084287A (ja
Inventor
辰吾 鶴見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007015445A priority Critical patent/JP4725526B2/ja
Priority to US11/844,191 priority patent/US8094204B2/en
Publication of JP2008084287A publication Critical patent/JP2008084287A/ja
Application granted granted Critical
Publication of JP4725526B2 publication Critical patent/JP4725526B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Description

本発明は、情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムに関する。
パーソナルコンピュータ、携帯端末などの装置は、表示画面を備えており、表示画面にはアイコン等を指示するためのポインタが表示される。通常、ポインタの移動、表示画面のスクロールなどの操作は、これらの装置が備えるボタンを操作することによって行われる。
一方、例えば、特許文献1には、振動ジャイロにより変位、速度、又は加速度を検出し、操作内容を表示する技術が開示されている。また、特許文献2には、携帯端末を操作する際に、操作する指の移動を検出して表示画面上のポインタの表示位置を移動させる技術が開示されている。
特開平6−50758号公報 特開2006−99228号公報
しかしながら、振動ジャイロによって変位などを検出する手法では、機器内に振動ジャイロを設ける必要があり、装置構成の複雑化、大型化を招来するという問題がある。また、指の移動を検出する方法では、検出のためのセンサを設ける必要があり、やはり装置が複雑化、大型化するという問題がある。また、指の移動を検出する方法では、大きな移動量を検出することができないため、ポインタの移動量が大きい場合、または画面のスクロール量が大きい場合には、操作が煩雑になるという問題も生じる。
同様に、表示画面以外の装置の機能を制御する場合においても、装置に設けられた操作ボタンを用いて制御する方法では、操作が煩雑であり、瞬時に操作を行うことができないなどの問題が生じていた。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、簡素な構成で装置の機能を制御することが可能な、新規かつ改良された情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、情報処理装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理装置が提供される。
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、情報処理装置自体の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置を動かすことで、情報処理装置を制御することが可能となる。
また、前記画像処理部は、前記撮像画像に複数の特徴点を設定し、オプティカルフローの処理により当該特徴点の動きを時系列に求めることで、前記撮像画像の時系列の動きを解析するものであっても良い。かかる構成によれば、撮像画像に複数の特徴点が設定され、オプティカルフローの処理により特徴点の動きを時系列に求めることで、撮像画像の時系列の動きが解析される。オプティカルフローの処理は特徴点の検出に適しているため、撮像画像に特徴点を設定することで、撮像画像の時系列の動きが精度良く検出される。
また、前記画像処理部は、ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析するものであってもあっても良い。かかる構成によれば、各特徴点の動きを表すアフィン行列のうち、各特徴点の動きを最も精度良く表すアフィン行列を求めることができる。従って、支配的な動きを見せる特徴点に基づいてアフィン行列を算出することが可能となり、それ以外の特徴点をノイズと捉えることができ、撮像画像の動きを精度良く解析することが可能となる。
また、前記画像処理部は、前記撮像画像の動きを、前記撮像素子へ被写体像を結像させる光学系の光軸と直交する方向への移動、前記光軸周りの回転、及び拡大/縮小の少なくとも1つに分類する動き分類手段を含み、前記データ変換部は、分類された前記撮像画像の動きに応じて、異なる前記制御データへ変換するものであっても良い。かかる構成によれば、撮像画像の動きが、結像光学系の光軸と直交する方向への移動、光軸周りの回転、及び拡大/縮小の少なくとも1つに分類され、分類された撮像画像の動きに応じて、異なる前記制御データへの変換が行われる。従って、情報処理装置の動かし方を変えることで、分類された撮像画像の動きに基づいて、情報処理装置に異なる機能を実現させることができる。
また、操作者が操作可能なスイッチを更に備え、前記データ変換部は、前記スイッチの操作状態に基づいて前記制御データを可変するものであっても良い。かかる構成によれば、スイッチの操作状態に基づいて制御データが可変される。従って、撮像画像の動きと、スイッチの操作状態を併用して情報処理装置の機能を制御することができ、情報処理装置が有する各種機能の制御を最適に行うことができる。
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作するものであっても良い。かかる構成によれば、制御データに基づいて、表示部に表示されたポインタが操作される。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、ポインタを操作することが可能となる。
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うものであっても良い。かかる構成によれば、制御データに基づいて、表示部に表示された画面のスクロールが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、画面のスクロールを行うことが可能となる。
また、前記制御部は、前記制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドを行うものであっても良い。かかる構成によれば、制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、ダイレクトコマンドを実行することが可能となる。
また、情報を表示する表示部を更に備え、前記表示部の所定位置にはペイント位置を示すペイントツールが表示され、前記制御部は、前記制御データに基づいて、前記ペイントツール又は前記表示部に表示された背景画面を移動させ、前記ペイントツールの位置で前記背景画面にペイントを行うものであっても良い。かかる構成によれば、表示部の所定位置にはペイント位置を示すペイントツールが表示され、制御データに基づいて、ペイントツール又は表示部に表示された背景画面が移動され、ペイントツールの位置で背景画面にペイントが行われる。従って、煩雑な操作を行うことなく、情報処理装置を動かすことによって、背景画面にペイントを行うことが可能となる。
また、時系列に取得された複数の前記撮像画像のそれぞれに、前記画像処理部で解析された前記撮像画像の動きに関する情報を付加する動き情報付加部と、前記撮像画像の動きに関する情報に基づいて、複数の前記撮像画像を合成する画像合成部と、を更に備えたものであっても良い。かかる構成によれば、時系列に取得された複数の撮像画像のそれぞれに、画像処理部で解析された撮像画像の動きに関する情報が付加され、画像データの動きに関する情報に基づいて、複数の撮像画像が合成される。従って、時系列に取得された撮像画像の位置合わせを精度良く行うことができる。
上記課題を解決するために、本発明の別の観点によれば、有線又は無線により撮像装置と接続される情報処理装置であって、時系列に取得された撮像画像を前記撮像装置から受信する撮像画像受信部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理装置が提供される。
上記構成によれば、時系列に取得された撮像画像が撮像装置から受信され、撮像画像を画像処理することで、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置と別体に設けられた撮像装置を動かすことで、情報処理装置を制御することが可能となる。
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作するものであっても良い。上記構成によれば、制御データに基づいて、情報処理装置の表示部に表示されたポインタが操作される。従って、煩雑な操作を行うことなく、撮像装置を動かすことによって、ポインタを操作することが可能となる。
また、情報を表示する表示部を更に備え、前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うものであっても良い。かかる構成によれば、前記制御データに基づいて、情報処理装置の表示部に表示された画面のスクロールが行われる。従って、煩雑な操作を行うことなく、撮像装置を動かすことによって、画面のスクロールを行うことが可能となる。
上記課題を解決するために、本発明の別の観点によれば、有線又は無線により情報処理装置と接続される撮像装置であって、撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、撮像装置自体の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備える撮像装置が提供される。
上記構成によれば、撮像素子から時系列に撮像画像が取得され、撮像画像を画像処理することで、撮像装置自体の動きに起因する撮像画像の動きが解析される。そして、解析された撮像画像の動きは制御データに変換され、情報処理装置の機能を制御するため、情報処理装置へ送信される。従って、撮像装置を動かすことで、撮像装置と別体に設けられた情報処理装置を制御することが可能となる。
上記課題を解決するために、本発明の別の観点によれば、撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、前記撮像装置は、撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備え、前記情報処理装置は、前記撮像装置から前記制御データを受信する受信部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理システムが提供される。
上記構成によれば、撮像装置では、撮像素子から時系列に撮像画像が取得され、撮像画像が画像処理され、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、情報処理装置の機能を制御するため、情報処理装置へ送信される。情報処理装置では、制御データを受信し、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置に接続された撮像装置を動かすことで、情報処理装置を制御することが可能となる。また、情報処理装置側では、画像データの動きを解析する必要がないため、情報処理装置を簡素に構成することができる。
上記課題を解決するために、本発明の別の観点によれば、撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、前記撮像装置は、撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、前記撮像画像を前記情報処理装置へ送信する撮像画像送信部と、を備え、前記情報処理装置は、前記撮像画像を受信する撮像画像受信部と、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、解析した前記撮像画像の動きを制御データに変換するデータ変換部と、前記制御データに基づいて機能を制御する制御部と、を備える情報処理システムが提供される。
上記構成によれば、撮像装置では、撮像素子から時系列に撮像画像が取得され、撮像画像は情報処理装置へ送信される。情報処理装置では、撮像装置から受信した撮像画像が画像処理され、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、情報処理装置の機能が制御される。従って、情報処理装置に接続された撮像装置を動かすことで、情報処理装置を制御することが可能となる。また、撮像装置側では撮像画像の動きを解析する必要がないため、撮像装置を簡素に構成することができる。
上記課題を解決するために、本発明の別の観点によれば、撮像素子から時系列に撮像画像を取得するステップと、前記撮像画像を画像処理し、前記撮像画像を撮像した装置自体の動きに起因する前記撮像画像の動きを解析するステップと、解析した前記撮像画像の動きを制御データに変換するステップと、前記制御データに基づいて、前記装置又は前記装置に接続された他の装置の機能を制御するステップと、を備える装置制御方法が提供される。
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、撮像画像を撮像した装置自体の動きに起因する撮像画像の動きが解析される。そして、撮像画像の動きは制御データに変換され、制御データに基づいて、画像データを撮像した装置又は当該装置に接続された他の装置の機能が制御される。従って、撮像画像を撮像した装置を動かすことで、動かしている装置自体、またはこの装置に接続された別の装置の機能を制御することができる。
上記課題を解決するために、本発明の別の観点によれば、撮像素子から時系列に撮像画像を取得する手段、前記撮像画像を画像処理し、前記撮像素子を含む装置の動きに起因する前記撮像画像の動きを解析する手段、解析した前記撮像画像の動きを制御データに変換する手段、前記制御データに基づいて機能を制御する手段、としてコンピュータを機能させるためのプログラムが提供される。
上記構成によれば、撮像素子から時系列に取得された撮像画像が画像処理され、撮像素子を含む装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、装置が有する機能が制御される。従って、撮像素子を含む装置を動かすことで、当該装置を制御することが可能となる。
上記課題を解決するために、本発明の別の観点によれば、時系列に取得された撮像画像を撮像装置から受信する手段、前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する手段、解析した前記撮像画像の動きを制御データに変換する手段、前記制御データに基づいて機能を制御する手段、としてコンピュータを機能させるためのプログラムが提供される。
上記構成によれば、時系列に取得された撮像画像が撮像装置から受信され、撮像画像を画像処理することで、撮像装置の動きに起因する撮像画像の動きが解析される。そして、解析した撮像画像の動きは制御データに変換され、制御データに基づいて、装置が有する機能が制御される。従って、別体に設けられた撮像装置から撮像画像を受信することで、受信した装置の機能を制御することが可能となる。
本発明によれば、簡素な構成で装置の機能を制御することが可能な、新規かつ改良された情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラムを提供することが可能となる。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。図1は、第1の実施形態に係る情報処理装置10を示す模式図である。この情報処理装置10は、パーソナルコンピュータの機能を備えた小型の携帯端末(モバイル・パソコン)である。情報処理装置10には、中央に表示画面12が設けられている。図1では、表示画面12上にアイコンなどを操作するためのポインタ13が表示された状態を示している。
表示画面12の周囲には、情報処理装置10の各種機能を操作するための各種ボタン14が配置されている。また、表示画面12が設けられた面の裏側には、背面カメラ16が設けられている。
背面カメラ16は、結像光学系とCCDなどの撮像素子とを備えている。背面カメラ16では、結像光学系によって被写体の像が撮像素子上に結像され、光電変換により画像のデータが取得される。背面カメラ16は表示画面12の裏面に設けられているため、情報処理装置10の使用者は、背面カメラ16を被写体に向けて画像のデータを取得しながら、表示画面12の表示を認識することができる。
なお、以下に説明する各本実施形態では、背面カメラ16で撮像された撮像画像の動きに応じて、情報処理装置10の各種機能を制御するため、背面カメラ16で撮像された画像は常に表示画面12上に表示されるものではない。但し、ボタン14の操作等により設定を変更することで、背面カメラ16で撮像された画像を表示画面12上の全部又は一部に表示することは勿論可能である。また、表示画面12の裏面側に背面カメラ16が設けられるものとしたが、表面側(表示装置12側)にカメラが設けられていても良い。
図2は、情報処理装置10の構成を示すブロック図である。図2に示すように、情報処理装置10はMPU18を備えている。MPU18は、内部に画像処理部20、データ変換部22、および表示制御部24を備えている。また、MPU18には、ボタン14、背面カメラ16、メモリ26、液晶表示部(LCD)28が接続されている。上述した表示画面12は液晶表示部28によって構成される。画像処理部20、データ変換部22、表示制御部24などの機能ブロックは、主として、ハードウェアとしてのMPU18と、MPU18の内部又は外部のROM等に格納されたコンピュータプログラム(ソフトウェア)とを含むコンピュータシステムによって構成される。
背面カメラ16では時系列に被写体の像が撮像される。背面カメラ16で取得された撮像画像の画像データは、画像処理部20に送られる。また、画像データはメモリ26内に蓄積される。画像処理部20では、画像データを画像処理し、背面カメラ16の動き(つまり情報処理装置10の動き)に起因する画像データの動きを解析する。この際、メモリ26に記憶されている前フレームの画像のデータと、撮像された最新のフレームの画像のデータを用いて解析が行われる。
画像処理部20で解析された情報処理装置10の移動情報は、データ変換部22に送られる。また、データ変換部22には、情報処理装置10が備えるアプリケーションの状態、ボタン14の操作状態(例えば、背面カメラ16がズームレンズを備える場合は、そのズーム位置)などが入力される。
データ変換部22では、画像処理部20で解析された動きを、情報処理装置10を制御するための制御データに変換する。すなわち、データ変換部22は、解析された画像データの動き(情報処理装置10の動き)に応じて、情報処理装置10を操作するためのパラメータを演算する機能を有している。また、データ変換部22は、アプリケーションの状態、ボタン14の操作状態に応じて、異なる制御データを出力する。
そして、データ変換部22で演算された制御データに基づいて、情報処理装置10の各種操作が行われる。これにより、情報処理装置10の動きに基づいて、情報処理装置10の各種操作を行うことができる。ここで、情報処理装置10の各種操作とは、例えば表示画面12に表示されたポインタ13の移動、表示画面12に表示されたウィンドウのスクロール、情報処理装置10の起動/停止などのダイレクトコマンドの実施などが挙げられる。
第1の実施形態では、情報処理装置10の動きに応じて、表示画面12に表示されたポインタ13の動きが制御される。従って、データ変換部22は、情報処理装置10の動きに応じて、アプリケーションの状態を考慮した上で、ポインタ13の移動量及び方向を演算する。表示制御部24は、データ変換部22で演算された移動量及び方向に応じて、表示画面12の表示を制御し、表示画面12上でポインタ13を移動させる。
このように、本実施形態の情報処理装置10は、背面カメラ16で撮像された画像に基づいて、情報処理装置10自体の動きを解析し、これに基づいて表示画面12に表示されるポインタ13を移動させる機能を備えている。
これにより、情報処理装置10の使用者は、手で保持している情報処理装置10を動かすことで、ポインタ13を所望の位置に移動させることが可能となる。従って、ボタン操作などの煩雑な作業が不要となり、ポインタ13の移動を瞬時且つ容易に行うことができる。また、情報処理装置10の移動方向、移動量と、ポインタ13の移動方向、移動量を一致させることで、使用者の意図する移動方向に、意図する移動量だけポインタ13を移動させることが可能となる。
また、本実施形態では、ポインタ13を移動させる際に、ボタン14の操作を併用することで、ポインタ13にドラッグ&ドロップ機能を持たせるようにしている。例えば、表示画面12に表示されたアイコン上にポインタ13を配置し、所定のボタン14を押すと、
ドラッグのコマンドが実行され、ポインタ13によってアイコンがドラッグされる。従って、所定のボタン14を押した状態で情報処理装置10を動かし、ポインタ13を移動させることで、アイコンをドラッグした状態で動かすことができる。アイコンを所望の位置に動かした後は、所定のボタン14の操作を停止することで、アイコンをドロップすることができる。
図3は、本実施形態の情報処理装置10で行われる処理の概略を示すフローチャートである。なお、以下に説明する第2〜第5の実施形態で行われる処理の概略も、図3の流れと同様である。先ず、ステップS1では、情報処理装置10の各種情報が取得される。ここで取得される情報としては、ボタン14の操作状態、各種アプリケーションの状態などが含まれる。ドラッグ&ドロップ機能を有するボタン14が押されているか否かは、ステップS1で検知される。
次のステップS2では、背面カメラ16によって撮像された画像が取得される。次のステップS3では、画像データを処理して、画像の移動方向、移動距離などを検出する。ここでは、後述するように、オプティカルフローの処理により、画像の移動方向、移動距離などが解析される。
次のステップS4では、ステップS3で検出された画像の移動方向、移動距離に基づいて、制御データとしてのポインタ13の移動量、移動方向が算出され、制御データに基づいてポインタ13の動きが制御される。この際、ステップS1でドラッグ機能を有するボタン14が押されていることが検知された場合は、ポインタ13によって画面上のアイコン、背景などがドラッグされた状態で移動される。ステップS4の後は処理を終了する(END)。
図3の処理によれば、背面カメラ16で撮像された画像の動きを解析することで、情報処理装置10の動きを解析することができ、これに基づいて、ポインタ13の移動を制御することができる。また、ボタン14の操作を併用して行うことにより、ポインタ13を用いてドラッグなどの操作が可能となる。
図4は、情報処理装置10と、背面カメラ16で撮像された画像をともに示す模式図である。背面カメラ16は、所定の時間間隔で画像を撮像し、時系列に画像のフレームを取得する。撮像画像の動きの解析は、オプティカルフローの処理により、撮像された画像中のある部分が、時系列に取得される画像のフレーム毎に移動する様子を解析することによって行われる。この際、本実施形態では、オプティカルフローの計算に強い特徴点を画像データ中に設定し、特徴点に対してLK(Lucas Kanade)法によるオプティカルフローの処理を行うことで、画像データの解析を行うようにしている。
図4に示すように、撮像画像の動きを解析するため、背面カメラ16で撮像された画像中には複数の特徴点P1,P2,P3,P4,・・・,Pnが設定される。図5は、特徴点P1が設定された画素の周辺を拡大して示す模式図である。図5に示すように、特徴点P1は、X方向、Y方向の双方に隣接する画素に対して輝度に勾配が生じる画素に設定される。他の特徴点も同様に、X方向、Y方向の双方に隣接する画素に対して輝度に勾配が生じる画素に設定される。これにより、各特徴点が任意の方向に移動した場合に、特徴点のX方向、Y方向への移動を確実に検出することができる。また、各特徴点は、隣接する他の特徴点との距離が所定値以上となるように配置され、表示画面12内の画像の全領域にほぼ均一に分散するように配置される。
そして、各特徴点の時系列の動きに基づいて、画像の移動、回転、拡大/縮小が解析される。画像の移動、回転、拡大/縮小が解析されると、これに基づいて、背面カメラ16の光軸(以下、必要に応じて単に光軸という)と直交する方向への情報処理装置10の移動、情報処理装置10の回転、光軸方向への情報処理装置10の移動などを算出することができる。
すなわち、画像処理部20は、各特徴点の時系列の動きを解析した結果に基づいて、画像データの動きを、移動、回転、又は拡大/縮小の少なくとも1つに分類する機能を有している。データ変換部22は、分類されたこれらの動きに応じて、異なる制御データを出力する。従って、情報処理装置10の動かし方を変えることで、情報処理装置10に異なる機能を実行させることができる。
図6、図7及び図9は、画像の移動、回転、拡大/縮小を解析する手法を示す模式図であって、情報処理装置10と背面カメラ16によって撮像された画像をともに示している。
図6は、画像中に設定された特徴点が、光軸と直交する方向への情報処理装置10の動きに伴って移動する様子を示している。図6に示すように、情報処理装置10を矢印A方向に動かすと、背面カメラ16で撮像された画像は矢印B方向に移動する。
図6では、画像中にn個の特徴点が設定されている。ここで、P1(t−1),P2(t−1),P3(t−1),P4(t−1),・・・,Pn(t−1)は、時刻t−1の画像フレームにおける各特徴点の位置を示している。また、P1(t),P2(t),P3(t),P4(t),・・・,Pn(t)は、時刻tの画像フレームにおける各特徴点の位置を示している。従って、時刻t−1から時刻tの間における各特徴点の移動量Δdに基づいて、画像の移動量を算出することができる。
図7は、画像中に設定された特徴点が、情報処理装置10の回転に伴って回転する様子を示している。図7において、Q1(t−1),Q2(t−1),Q3(t−1),Q4(t−1),・・・,Qn(t−1)は、時刻t−1の画像フレームにおけるn個の各特徴点の位置を示している。また、Q1(t),Q2(t),Q3(t),Q4(t),・・・,Qn(t)は、時刻tの画像フレームにおける各特徴点の位置を示している。このように、情報処理装置10を矢印C方向に回転させると、背面カメラ16によって撮像された画像中の各特徴点は矢印D方向に回転する。
図8は、図7に示すような特徴点の移動に基づいて、画像の回転を検出する手法を示す模式図である。図8に示すように、時刻t−1及び時刻tにおける各特徴点の位置を直線で結び、この直線の垂直2等分線L1,L2,L3,・・・,Lnが設定される。そして、各直線L1,L2,L3,・・・,Lnの交点が近接する場合は、回転中心が存在すると判断することができる。本実施形態では、各直線L1,L2,L3,・・・,Lnの交点が図8に示す所定範囲Eの中に存在する場合は、回転中心が存在し、画像が回転したものと判断される。この場合、各直線L1,L2,L3,・・・,Lnの交点の平均位置が回転中心の位置とされる。なお、回転中心の位置は、撮像画像の範囲内に存在する場合に限られず、撮像画像の範囲外に算出されることもある。回転中心が求まると、時刻t−1及び時刻tにおける特徴点の位置に基づいて回転量θを求めることができる。
図9は、画像中に設定された特徴点が、情報処理装置10の前後方向(背面カメラ16の光軸方向)の移動に伴って移動する様子を示す模式図である。情報処理装置10が光軸方向に移動すると、背面カメラ16で撮像された画像が拡大/縮小される。図9では、被写体に対して情報処理装置10を近づけて、画像が拡大される様子を示している。
図9において、R1(t−1),R2(t−1),R3(t−1),R4(t−1),・・・,Rn(t−1)は、時刻t−1の画像フレームにおけるn個の各特徴点の位置を示している。また、R1(t),R2(t),R3(t),R4(t),・・・,Rn(t)は、時刻tの画像フレームにおける各特徴点の位置を示している。また、S(t−1)は時刻t−1の画像フレームにおけるn個の各特徴点の平均位置を示しており、S(t)は時刻tの画像フレームにおけるn個の各特徴点の平均位置を示している。このように、情報処理装置10を光軸方向に移動して物体に近づけると、画像中の特徴点の位置の分散が大きくなる。また、特徴点の平均位置は、画像の中心Oから遠ざかる方向に移動する。ここで、特徴点の分散とは、特徴点の平均位置から各特徴点までの距離で表される。
従って、時系列に変化する特徴点の動きを解析した結果、特徴点の位置の分散が拡大し、且つ特徴点の平均位置が画像の中心Oから離れる方向に移動する場合は、光軸方向で被写体に近づく向きに情報処理装置10が移動したと判断することができる。また、特徴点の分散が小さくなり、特徴点の平均位置が画像の中心Oに近づく場合は、光軸方向で被写体から遠ざかる方向に情報処理装置10が移動したと判断することができる。そして、情報処理装置10光軸方向の移動量は、特徴点の移動量、分散の変化量と、結像光学系の焦点距離等の仕様に基づいて算出することができる。
上述したように、特徴点の動きの解析は、例えばオプティカルフローの計算方法の1つであるLK法を用いて、時系列に変化する画像同士を比較することによって行われる。図10は、LK法を用いて特徴点の動きを解析する手法を示す模式図である。ここでは、LK法により、光軸と直交する方向への特徴点Pの動きを解析する場合を例示する。
ここで、図10(A)は、時刻t−1の画像フレームを示しており、図10(B)は、時刻tの画像フレームを示している。オプティカルフローの処理では、上述したように時刻t−1と時刻tにおける画像データ中の特徴点の移動を解析するが、より具体的には、背面カメラ16で撮像された画像フレームから、解像度を段階的に低下させた画像を複数形成し、先ず解像度を低下させた画像同士で比較が行われる。これにより、特徴点の移動を解析する際の演算処理量を最小限に抑えることができる。なお、各時刻におけるフレームの画像データは、撮像された後、メモリ26に記憶される。
図10(A)及び図10(B)に示すように、背面カメラ16で撮像された画像の画素数を320×240ピクセルとすると、この画像に基づいて、解像度を低下させた160×120ピクセルの画像(1)、更に解像度を低下させた80×60ピクセルの画像(2)の2種類の画像が生成される。画像(1)、画像(2)は、元の320×240ピクセルの画像と同じ画面領域の画像であるが、画素数を少なくすることで解像度が低下されている。
最初に、最も解像度の低い画像(2)において、時刻t−1と時刻tの画像を比較し、特徴点の大まかな移動を解析する。画像(2)は、画素数が少なく、探索範囲が少ないため、オプティカルフローによる特徴点の動きの解析の処理を軽い処理で行うことができる。画像(2)の解析により、時刻t−1における特徴点P(t−1)が時刻tでP(t)の位置に移動していることが簡易的に求まる。
次に、画像(1)上において、画像(2)で特徴点Pの移動が検知された領域を中心として、時刻t−1と時刻tの画像を比較し、特徴点Pの移動をより詳細に解析する。ここでは、画像(2)の解析により探索範囲が絞り込まれるため、必要な領域のみでオプティカルフローを検出することで、特徴点の移動の解析を軽い処理で行うことができる。
次に、背面カメラ16で撮像された320×240ピクセルの画像において、画像(1)で特徴点の移動が検知された領域を中心として、時刻t−1と時刻tの画像を比較し、特徴点の移動をより詳細に解析する。ここでも、画像(1)の解析により探索範囲が更に絞り込まれるため、320×240ピクセルの全画素の画像においてオプティカルフローの検出を軽い処理で行うことができ、特徴点の移動を精度良く解析することができる。
図10の処理によれば、時系列のフレーム毎に特徴点の移動を解析する際に、処理量を抑えることができ、時間遅れを最小限に抑えた状態で、時系列の画像の動きを解析することができる。このようなLK法によるオプティカルフローの画像処理については、例えばホームページ(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」に記載された手法により行うことができる。このように、オプティカルフローの計算に強い特徴点に対してLK法を適用し、解像度を段階的に可変した画像を用いて特徴点の動きを解析することで、短時間で高精度に特徴点のオプティカルフローを算出することができる。
また、オプティカルフローの算出は、LK法以外の他の方法で行っても良く、例えば公知のブロックマッチング(Block Matching)法、勾配法などの方法で行ってもよい。
また、画像データの移動量の解析は、フレーム間差分(Motion History Image)など、オプティカルフロー以外の方法により行ってもよい。フレーム間差分による方法では、時刻t−1と時刻tの画像において、同じ画素同士のレベル(輝度)が比較されて2値化される。そして、2値化した情報に時刻の情報を付加し、モーション・ヒストリー・イメージ(Motion History Image)を作成する。これにより、時系列に動く画像を解析することができ、モーション・ヒストリー・イメージのグラディエント(Gradient)を計算することで、動きのある画像の移動方向、移動距離を算出できる。以上のように、本実施形態において、画像データの移動量を算出するアルゴリズムは特に限定されるものではなく、各種の手法を採用することができる。
図11は、画像の移動、回転、拡大/縮小を検出する処理を示すフローチャートである。先ず、ステップS11では、背面カメラ16で撮像された画像に設定された特徴点の数が所定の閾値未満であるか否かを判定する。そして、特徴点の数が閾値未満の場合は、特徴点の数が不十分であるため、ステップS12へ進み、特徴点を抽出する。一方、特徴点の数が閾値以上の場合は、ステップS13へ進む。
上述したように特徴点は輝度に勾配が生じる位置の画素に設定されるが、背面カメラ16で撮像される画像が変化すると、これに伴って特徴点の数も変動する。背面カメラ16で撮像された画像が変化することで特徴点の数が減少し、所定の閾値未満となった場合は、特徴点の数が閾値以上となるようにステップS12で特徴点の抽出が行われる。
ステップS13では、オプティカルフローの計算を行う。ここでは、各特徴点に対してLK法によりオプティカルフローを計算し、画像座標系における各特徴点の移動方向/移動距離を求める。LK法以外の方法でオプティカルフローを計算する場合は、このステップS13において、他の方法でオプティカルフローが計算される。
次のステップS14では、オプティカルフローの計算により求められた各特徴点の移動距離の標準偏差が第1の閾値未満であるか否かを判定する。標準偏差が第1の閾値未満の場合は、処理を継続するため、ステップS15へ進む。一方、標準偏差が第1の閾値を越えている場合は、各特徴点の移動距離のバラツキが大きく、例えば、背面カメラ16で撮像された画像中に動きのある物体、人物等が存在することが考えられる。このような場合は、画像データが移動距離の検出に適していないため、処理を終了する(END)。
ステップS15では、回転の検出を行う。ここでは、各特徴点が円運動を行ったと仮定した場合に、中心点が位置する可能性のある直線をそれぞれ求め、それらがほぼ一点で交わると認められる場合(図8の領域E内に存在する場合)は、情報処理装置10が光軸と平行な軸周りに回転したと判断する。これにより、回転角度と回転方向が求まる。
次のステップS16では、画像の拡大/縮小、すなわち情報処理装置10の光軸方向への移動を検出する。ここでは、画像座標系上の特徴点の位置の分散が、一定のフレーム数以上の間、単調増加し、特徴点の平均位置が画像の中心位置から遠ざかった場合に、情報処理端末10が光軸方向に被写体に近づく方向に移動したものと判定する。また、特徴点の位置の分散が、一定のフレーム数以上の間、単調減少し、特徴点の平均位置が画像の中心位置に近づいた場合に、情報処理端末10が光軸方向に被写体から離れる方向に移動したものと判定する。
次のステップS17では、特徴点の移動距離または回転角度の標準偏差が第2の閾値未満であるか否かを判定し、移動距離または角度の標準偏差が第2の閾値未満の場合は、ステップS18へ進む。
ステップS18では、光軸に垂直な方向への移動の検出を行う。ここでは、移動距離または回転角度が標準偏差の定数倍以内に入っている特徴点について、移動方向および移動距離を計算し、特徴点の平均移動ベクトルを求め、その逆ベクトルを情報処理装置10の移動ベクトルとし、情報処理装置10の移動方向と距離を求める。ステップS18の後は処理を終了する(END)。
一方、ステップS17において、特徴点の移動距離または回転角度の標準偏差が第2のしきい値以上の場合は、各特徴点の移動量、回転角度のバラツキが大きいため、光軸と直交する一定方向への情報処理装置10の移動量は少ないと判断し、処理を終了する(END)。この場合は、光軸周りの回転(ステップS15)、または光軸方向の移動(ステップS16)のみが検知された状態となる。
図11の手法によれば、オプティカルフローによる特徴点の動きの解析に加えて、特徴点の動きの種類を判別し、動きを移動、回転、拡大/縮小に分類することが可能となる。従って、画像の動きを分類した結果に基づいて、情報処理装置10の動きを、光軸と直交する方向への移動、回転、光軸方向の動きに分類することができ、分類されたこれらの動きに基づいて、情報処理装置10に異なる機能を実行させることができる。
本実施形態では、図11の手法によって画像の移動、回転、拡大/縮小が検出されると、これに基づいて表示画面12上のポインタ13の移動が行われる。図12は、ポインタ13の移動を行う処理を示すフローチャートである。先ず、ステップS21では、情報処理装置10において、カメラ画像によるポインタ制御モードが設定されているか否かが判別される。カメラ画像によるポインタ制御モードは、例えば情報処理装置10が備える各種ボタン14のいずれかが押されることによって設定される。なお、カメラ画像によるポインタ制御モードに設定されていない場合は、ボタン14の操作によってポインタ13を移動させることができる。
次のステップS22では、情報処理装置10が備えるボタン14のうち、ドラッグ&ドロップ機能を行うボタン(ここではボタンAとする)が押されているか否かが判定される。
ボタンAが押されている場合は、ステップS23へ進み、ポインタ13をドラッグ可能状態に設定する。一方、ボタンAが押されていない場合は、ステップS24へ進み、ポインタをドラッグ不可状態に設定する。ステップS23,S24の後は、ステップS25へ進む。
ステップS25では、背面カメラ16の移動ベクトルの光軸に垂直な平面上の成分を利用して、ポインタ13を移動する。すなわち、ここでは、図11のステップS18で求められた情報処理装置10の移動量、移動方向に基づいてポインタ13を移動する。具体的には、情報処理装置10の移動量、移動方向から演算された制御データに基づいて、ポインタ13の移動制御が行われる。
この際、ステップS23でドラッグ可能状態に設定されている場合は、ポインタ13の下にあるアイコン、画面などの対象物がドラッグされた状態でポインタ13とともに移動する。一方、ステップS24でドラッグ不可状態に設定されている場合は、ドラッグをしない状態でポインタ13のみが移動する。ステップS25の後は処理を終了する(END)。
以上説明したように第1の実施形態によれば、情報処理装置10の動きに応じて表示画面12内のポインタ13を動かすことが可能となる。従って、煩雑な操作を伴うことなく、ポインタ13を所望の位置に瞬時かつ容易に動かすことが可能となる。また、画像の動きの解析、制御データへの変換、制御データによる機能の制御(ポインタ13の移動)などの処理は、ソフトウエアにより行うことができるため、動きを検出するためのセンサー等の部材が不要となり、装置を簡素に構成することができる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。第2の実施形態に係る情報処理装置10の構成は第1の実施形態と同様である。また、第2の実施形態において、背面カメラ16の撮像画像による動きの解析は、第1の実施形態と同様に行われる。第2の実施形態は、背面カメラ16で撮像された画像の動きを解析した結果に基づいて、表示画面12のウィンドウのスクロールを行うものである。図13は、表示画面12にホームページのブラウザ、写真、地図、ウェブページなどが表示されている場合に、情報処理装置10を動かして画面をスクロールしている状態を示す模式図である。
図13(A)〜図13(D)において、表示画面12は太枠で示す領域Fに対応しており、領域Fの範囲内の画像が表示画面12に表示される。図13(A)では、複数の写真の一覧が表示されている。また、図13(B)では、1枚の写真のうちの一部が表示されている。また、図13(C)では、関東近辺の地図のうち、東京周辺のエリアが表示されている。また、図13(D)では、ウェブページの一部が表示されている。
図13(E)は、情報処理装置10の移動方向を示している。図13(E)に示す各矢印G1〜G8の方向に情報処理装置10を動かすと、表示画面12内(領域F内)において、情報処理装置10を動かした方向と反対の方向にウィンドウがスクロールする。例えば、図13(E)に示す矢印G1方向に情報処理装置10を動かすと、表示画面12の表示範囲を示す領域Fは、図13(A)〜図13(D)のそれぞれで矢印G1方向に移動し、結果として矢印G1と反対の方向に表示画面12内のウィンドウがスクロールする。
情報処理端末10が回転された場合、または光軸方向に移動された場合は、情報処理装置10の動きに応じて表示画面12が変化するように制御が行われる。例えば、情報処理装置10が回転した場合は、表示画面12が回転するように表示が可変される。また、情報処理装置10が光軸方向に被写体に近づく方向に移動した場合は、表示画面12のウィンドウが拡大するように表示が可変される。また、情報処理装置10が光軸方向に被写体から離れる方向に移動した場合は、表示画面12のウィンドウが縮小するように表示が可変される。
従って、本実施形態によれば、ユーザが情報処理装置10を動かした方向に表示画面12の表示範囲(領域F)を移動することができ、ユーザの操作感覚に適合した最適なスクロールを実現することが可能となる。
また、本実施形態では、情報処理装置10が備える各種ボタン14のうち、ブラウザのコマンドを発行する所定のボタン14が押された状態で情報処理装置10が動かされた場合は、所定のボタン14の押し下げと情報処理装置10の動きとに応じてブラウザのコマンドが発行される。この場合、ウィンドウのスクロールは行われない。発行されるブラウザのコマンドとしては、例えば、表示画面12に表示されたコンテンツの拡大/縮小、次のコンテンツの表示、以前に表示されていたコンテンツの表示などが挙げられる。
図14は、表示画面12のスクロールを行う処理を示すフローチャートである。先ず、ステップS31では、情報処理装置10において、カメラ画像によるウィンドウ制御モードが設定されているか否かが判別される。カメラ画像によるウィンドウ制御モードは、例えば情報処理装置10が備える各種ボタン14のいずれかが押されることによって設定される。ウィンドウ制御モードが設定されている場合はステップS32へ進む。一方、ウィンドウ制御モードが設定されていない場合は処理を終了する(END)。なお、カメラ画像によるウィンドウ制御モードに設定されていない場合は、ボタン14の操作によって表示画面12のスクロールを行うことができる。
次のステップS32では、情報処理装置10が備えるボタン14のうち、ブラウザのコマンドを発行するためのボタン(ここではボタンBとする)が押されているか否かが判定される。
ボタンBが押されている場合は、ステップS33へ進む。この場合は、ボタンBの押し下げと、情報処理装置10の移動との組み合わせに基づいて、ブラウザのコマンドの発行が行われる。
図15は、ステップS33で行われる処理において、情報処理装置10の移動方向と発行コマンドとの関係を示す模式図である。例えば、ステップS33の処理では、情報処理装置10がx>0の範囲で移動した場合に、+y方向への移動量が所定値よりも大きく(y>const)、かつy方向への移動量がx方向への移動量の3倍よりも大きい場合(y>|3x|)の場合は、表示画面12に表示されているコンテンツの拡大が行われる。また、情報処理装置10がx<0の範囲で移動した場合に、−y方向への移動量が所定値よりも大きく(y<-const)、かつy方向への移動量がx方向への移動量の3倍よりも小さい場合(y<|3x|)の場合は、表示画面12に表示されているコンテンツの縮小が行われる。
また、情報処理装置10がy>0の範囲で移動した場合に、+x方向への移動量が所定値よりも大きく(x>const)、かつx方向への移動量がy方向への移動量の3倍よりも大きい場合(x>|3y|)の場合は、表示画面12に次のコンテンツが表示される。また、情報処理装置10がy<0の範囲で移動した場合に、−x方向への移動量が所定値よりも大きく(x<-const)、かつx方向への移動量がy方向への移動量の3倍よりも小さい場合(x<|3y|)の場合は、表示画面12に前に表示していたコンテンツが表示される。
一方、図14のステップS32でボタンBが押されていない場合は、ステップS34へ進む。この場合は、以降の処理で情報処理装置10の動きに応じてウィンドウをスクロールさせる処理が行われる。
すなわち、ステップS34では、画像データから背面カメラ16の光軸周りの回転が検出される。ステップS34で回転が検出された場合は、ステップS35へ進む。ステップS35では、光軸(z軸)周りの回転量が所定値を超えているか否かを判定し(rot_z>const)、回転量が所定値を超えている場合は、表示画面12に表示されているコンテンツを回転量に応じた値だけ回転させる。ステップS35の後は処理を終了する(END)。
ステップS34で回転が検出されなかった場合は、ステップS36へ進む。ステップS36では、画像データから光軸方向への情報処理装置10の移動が検出される。ステップS36で光軸方向の移動が検出された場合は、ステップS37へ進む。
ステップS37では、情報処理装置10の光軸方向の移動量に応じて、コンテンツの拡大、縮小が行われる。例えば、被写体から遠ざかる方向を+方向とした場合に、Z方向の移動量が負の値で所定値よりも小さい場合(z<-const)は、表示画面12に表示されているコンテンツの拡大が行われる。また、Z方向の移動量が所定値よりも大きい場合(z>const)の場合は、表示画面12に表示されているコンテンツの縮小が行われる。ステップS37の後は処理を終了する(END)。
一方、ステップS36で情報処理装置10の光軸方向の移動が検出されなかった場合は、ステップS38へ進む。ステップS38では、背面カメラ16の移動ベクトルの光軸に垂直な平面上の成分を利用して、ウィンドウをスクロールさせる。ここでは、図11のステップS18で求められた情報処理装置10の移動量、移動方向に基づいて、ウィンドウをスクロールする。ステップS38の後は処理を終了する(END)。
以上説明したように第2の実施形態によれば、情報処理装置10の動きに応じて表示画面12のウィンドウのスクロールを行うことが可能となる。従って、煩雑な操作を伴うことなく、表示画面12を瞬時かつ容易に所望の状態にスクロールすることが可能となる。
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。第3の実施形態に係る情報処理装置10の構成は第1の実施形態と同様である。また、第3の実施形態において、背面カメラ16の撮像画像による動きの解析は、第1の実施形態と同様に行われる。第3の実施形態は、背面カメラ16で撮像された画像の動きを解析した結果に基づいて、情報処理装置10の起動、停止などのダイレクトコマンドを実行するものである。
例えば、情報処理装置10が所定方向へ所定量以上移動した場合に情報処理装置10の起動または停止のダイレクトコマンドが実行される。具体的には、図15の場合と同様に、情報処理装置10がx>0の範囲で移動した場合に、+y方向への移動量が所定値よりも大きく(y>const)、かつy方向への移動量がx方向への移動量の3倍よりも大きい場合(y>|3x|)の場合は、情報処理装置10の起動が行われるものとすることができる。また、情報処理装置10がx<0の範囲で移動した場合に、−y方向への移動量が所定値よりも大きく(y<-const)、かつy方向への移動量がx方向への移動量の3倍よりも小さい場合(y<|3x|)の場合は、情報処理装置10の停止が行われるものとすることができる。
また、情報処理装置10の移動を検知してのダイレクトコマンドの実行は、図14のステップS33と同様に、ボタン14の操作が行われている場合に実行されるようにしても良い。これにより、情報処理装置10が動かされた場合に、意図しないタイミングで起動/停止が行われてしまうことを回避できる。
以上説明したように第3の実施形態によれば、情報処理装置10の動きに応じて、起動/停止などのダイレクトコマンドを実行することが可能となる。従って、煩雑な操作を伴うことなく、情報処理装置10を動かすのみで、ダイレクトコマンドを実行することが可能となる。
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。第4の実施形態に係る情報処理装置10の構成は第1の実施形態と同様である。また、第4の実施形態において、背面カメラ16の撮像画像による動きの解析は、第1の実施形態と同様に行われる。第4の実施形態は、背面カメラ16で撮像された画像の動きを解析した結果に基づいて、表示画面12のペイントツールの制御を行うものである。
図16は、情報処理装置10の動きに応じて表示画面12上にペイントを行っている例を示す模式図である。図16(A)は表示画面12に表示された画像にペイントが行われている状態を示している。図16(A)において、表示画面12は太枠で示す領域Hに対応しており、領域Hの範囲内の画像が表示画面12に表示される。
ペイント機能を使用する場合、所定のボタン14を操作することでペイントツール制御モードの設定が行われる。情報処理装置10がペイントツール制御モードに設定されると、図16(A)に示すように、表示画面12上にペイント位置を示すペイントツール30が表示される。ペイントツール30が表示された状態では、ペイントツール機能を行うボタン14を押してペン入力オン状態とすることで、ペイントツール30の先端位置で台紙(背景)の画像に対してペイント(描画)を行うことができる。
図16(B)は、情報処理装置10の移動方向を示している。図16(B)に示す各矢印J1〜J8の方向に情報処理装置10を動かすと、表示画面12内(領域H内)において、情報処理装置10を動かした方向と反対の方向に台紙(背景)が移動する。例えば、図16(B)に示す矢印J1方向に情報処理装置10を動かすと、表示画面12の表示範囲を示す領域Hは、図16(A)の矢印J1方向に移動し、結果として矢印J1と反対の方向に表示画面12内の台紙(背景)が移動する。
ポインタ30の位置は、表示画面12内の所定位置(例えば中央位置)に固定されている。すなわち、領域Hに対するポインタ30の相対的な位置は固定されている。一方、台紙(背景)の画像は、上述したように情報処理装置10の動きに応じて表示画面12内で移動する。従って、ペイントツール機能を行うボタン14を押した状態で図16(B)に示す各方向J1〜J8に情報処理装置10を動かすと、動かした方向に表示画面12の台紙(背景)が移動し、ペイントツール30の先端の位置で台紙に対してペイントが行われる。これにより、例えば平仮名「あ」、「い」を描くように情報処理装置10を動かすと、図16(A)に示すように、表示画面12の台紙の画像上に「あ」、「い」の文字を描くことができる。
また、表示画面12に対して台紙の位置を固定し、情報処理装置10の動きに応じてペイントツール30の位置を動かすようにしてもよい。この場合は、第1の実施形態におけるポインタ13の移動と同様にペイントツール30を動かし、ペイントツール30の先端でペイントを行う。
図17は、ペイントモードで行われる処理を示すフローチャートである。先ず、ステップS41では、情報処理装置10において、ペイントツール制御モードが設定されているか否かが判別される。カメラ画像によるペイントツール制御モードが設定されている場合はステップS42へ進む。一方、カメラ画像によるペイントツール制御モードが設定されていない場合は処理を終了する(END)。なお、カメラ画像によるペイントツール制御モードに設定されていない場合は、ボタン14の操作によってペイントを行うことができる。
ステップS42では、情報処理装置10が備えるボタン14のうち、ペイントツール機能を行うボタン(ここではボタンCとする)が押されているか否かが判定される。
ボタンCが押されている場合は、ステップS43へ進み、ペン入力オン状態に設定される。一方、ボタンCが押されていない場合は、ステップS44へ進み、ペン入力オフ状態に設定される。
ステップS45では、背面カメラ16の移動ベクトルの光軸に垂直な平面上の成分を利用して、台紙(背景)を移動する。ここでは、図11のステップS18で求められた情報処理装置10の移動量、移動方向に基づいて、台紙の移動を行う。これにより、ステップS43でペン入力オン状態に設定されている場合は、ポインタ30の先端位置でペイントが行われ、台紙に対するペイントツール30の軌跡に沿ってペイントが行われる。一方、ステップS44でペン入力オフ状態に設定されている場合は、ペイントは行われず、台紙(背景)のみが移動する。ステップS45の後は処理を終了する(END)。
以上説明したように第4の実施形態によれば、情報処理装置10の動きに応じて、ペイントツール30による台紙へのペイントを制御することが可能となる。従って、ユーザは、情報処理装置10をペイントしたい方向へ動かすことで、表示画面12上に所望のペイントを行うことが可能となる。
(第5の実施形態)
次に、本発明の第5の実施形態について説明する。第5の実施形態に係る情報処理装置10の構成は第1の実施形態と同様である。また、第5の実施形態において、背面カメラ16の撮像画像による動きの解析は、第1の実施形態と同様に行われる。第5の実施形態は、背面カメラ16で撮像された画像に情報処理装置10の移動情報を付加するものである。
第1の実施形態の手法によれば、背面カメラ16で撮像された画像に基づいて、画像データの移動、回転、拡大/縮小を検知することができる。第5の実施形態は、情報処理装置10を移動させながら、背面カメラ16で複数の画像を撮像し、連続して撮像された各画像のデータに、前回撮像された画像からの移動量、回転量などの情報を付加することで、撮像された複数の画像を適正な位置に配置して合成するものである。
図18は、撮像画像に付加されたカメラの移動情報に基づいて、パノラマ画像を合成する処理を示す模式図である。ここで、図18(A)は、水平方向に背面カメラ16を移動 させながら、6枚の画像(No.1〜No.6)を順次に撮像した状態を示している。
撮像時には、No.1〜No.6の各画像のそれぞれに対して、1つ前に撮像された画像に対する背面カメラ16の移動情報(移動量Δx,Δy、回転量θ)が付加される。従って、この移動情報に基づいて隣接する画像を配置していくことで、隣接する画像の情景 を連続的に接続することが可能となる。
図18(A)では、背面カメラ16の画像の移動情報に基づいて、6枚の画像が合成されている。これにより、隣接する撮像画像の相対的な位置を適正に一致させることができ、各画像の境界に位置ずれを発生させることなく、各画像の情景を連続的に接続することが 可能となる。
図18(B)は、図18(A)に示す状態から、上下の余分な画像を切除してパノラマ写真を作成した状態を示している。このように、本実施形態によれば、情報処理装置10を水平方向に移動させて複数の画像を撮像し、隣接する撮像画像をカメラの移動情報に基づいて接続するため、隣接する撮像画像同士にズレが生じさせることなく、各撮像画像を配置することができる。従って、パノラマ写真などの画像を手軽に撮影することが可能と なる。
次に、図19のフローチャートに基づいて、画像データとともに背面カメラ16の移動情報を保存する処理について説明する。先ず、ステップS51では、撮像した写真にカメラの移動情報を付加するモードであるか否かを判定する。カメラの移動情報を付加するモードは、ボタン14の操作によって設定される。
次のステップS52では、背面カメラ16のシャッターが押されたか否かを判定し、シャッターが押されていない場合はステップS53へ進む。一方、シャッターが押された場合は、ステップS54へ進む。
ステップS53へ進んだ場合は、前回シャッターが押されてから現時点までの間における、背面カメラ16が動いた移動量、回転量を積算する。一方、ステップS54へ進んだ場合は、ステップS52でシャッターが押されることによって撮像された画像を保存する。この際、前回シャッターが押されてから、ステップS52でシャッターが押されるまでの間の背面カメラ16の移動を表すベクトルと、回転成分(回転角)を画像とともに保存する。ステップS53,S54の後は処理を終了する(END)。
図19の処理によれば、画像データとともに背面カメラ16の移動情報を保存することができるため、複数の画像データを合成する場合は、画像データとともに保存された移動情報を用いることで、複数の画像データの位置合わせを正確に行うことが可能となる。
以上説明したように第5の実施形態によれば、複数の画像データを撮像した際に、画像データとともに背面カメラ16の移動情報を付加するため、複数の画像データを合成する場合に、正確な位置合わせが可能となる。従って、特別な機材を用いることなく、パノラマ写真などの合成を手軽に行うことが可能となる。
(第6の実施形態)
次に、本発明の第6の実施形態について説明する。図20は、第6の実施形態のシステムの外観を示す模式図である。図20に示すように、第6の実施形態のシステムでは、ノート型のパーソナルコンピュータ(ノートパソコン)30に携帯端末32が接続されている。ノートパソコン30には、表示画面34とキーボード36が設けられている。
携帯端末32は、カメラ40を備えた小型の端末であり、USBマウスとして機能する。携帯端末32は、各種ボタン38を備えている。また、携帯端末32に設けられたカメラ40は、結像光学系と、CCDなどの撮像素子を備えている。
カメラ40では、結像光学系によって被写体の像が撮像素子上に結像され、光電変換により画像のデータが取得される。そして、携帯端末32内では、画像のデータに基づいて、第1の実施形態と同様の手法により携帯端末32の移動が解析される。そして、解析結果はノートパソコン30に送られ、解析結果に基づいてノートパソコン30上のアプリケーションが操作される。具体的には、上述した各実施形態と同様に、携帯端末32の動きに応じて、ノートパソコン30の表示画面34上のポインタ35が移動され、表示画面34のウィンドウのスクロール等が行われる。また、ブラウザのコマンドの実行、ダイレクトコマンドによるノートパソコン30の起動、停止等の操作、ペイントツールによるペイント、画像データへの移動情報の付加などが行われる。
従って、第6の実施形態では、カメラ40を備えた携帯端末32を、ノートパソコン30を操作するためのデバイスとして機能させることができ、マウスを操作する感覚で携帯端末32を動かすことで、ノートパソコン30を操作することが可能となる。従って、例えばノートパソコン30の表示画面34をプロジェクタ等によって壁面に拡大して表示し、プレゼンテーションを行う場合などに、携帯端末32を動かすことでポインタ35を拡大画面上で移動させることがきる。
図21は、第6の実施形態のシステムの構成を示す模式図である。図21に示すように、携帯端末32は、MPU42を備えている。MPU42は、内部に画像処理部44、データ変換部46、および通信制御部49を備えている。また、MPU42には、ボタン38、カメラ40、メモリ26、通信部50が接続されている。
また、ノートパソコン30は、MPU52を備えている。MPU52は、内部にデータ変換部54、および表示制御部56を備えている。また、MPU52には、通信部58、液晶表示部(LCD)60が接続されている。上述した表示画面34は液晶表示部60によって構成される。
携帯端末32内では、カメラ40で取得された画像のデータが画像処理部44に送られる。画像処理部44では、画像データの移動量に基づいて、携帯端末32の動きを解析する。携帯端末32の動きの解析は、第1の実施形態と同様に行われる。
画像処理部44で解析された携帯端末32の動きは、データ変換部46に送られる。また、データ変換部46には、アプリケーションの状態、ボタン38の操作状態(例えば、カメラ40がズームレンズを備える場合は、そのズーム位置)などが入力される。
データ変換部46では、画像処理部62で解析された動きを、ノートパソコン30を制御するための制御データに変換する。すなわち、データ変換部46は、解析された画像データの動き(携帯端末32の動き)に応じて、ノートパソコン32を操作するためのパラメータを演算する機能を有している。また、データ変換部46は、アプリケーションの状態、ボタン38の操作状態に応じて、異なる制御データを出力する。
これにより、演算された制御データをノートパソコン30に送信することで、携帯端末32の動きに基づいてノートパソコン30の各種操作を行うことができる。ここで、ノートパソコン30の各種操作とは、例えば表示画面34に表示されたポインタ35の移動、表示画面34に表示されたウィンドウのスクロール、ノートパソコン30の起動/停止などのダイレクトコマンドの実施など、上述した各実施形態で説明した操作が含まれる。
通信制御部49は、データ変換部46で演算されたパラメータをノートパソコン30へ送る際の通信の制御を行う。通信部50は、通信制御部49の制御を受けて、データ変換部46で演算されたパラメータをノートパソコン30の通信部58へ送信する。
ノートパソコン30の通信部58は、携帯端末32から送られた情報を受信し、MPU52へ送る。MPU52のデータ変換部54は、携帯端末32から送られた情報に基づいて、表示画面34に表示されるポインタ35の移動量及び方向、または表示画面34のウィンドウのスクロール量及び方向などを演算する。表示制御部56は、データ変換部54で演算された移動量及び方向に応じて、ポインタ35の移動、または画面のスクロール等を制御する。
このように、図21のシステムでは、携帯端末32側で画像処理、動きの解析が行われ、携帯端末32の動きに関する情報がノートパソコン30側へ送られる。従って、携帯端末32の動きに応じて、ノートパソコン30の操作を行うことが可能となる。
図22は、第6の実施形態のシステムの他の構成を示す模式図である。図22に示すシステムでは、携帯端末32のMPU42内には、通信制御部49が設けられており、画像処理部44、およびデータ変換部46は設けられていない。また、ノートパソコン30のMPU52内には、画像処理部62、データ変換部64、表示制御部66が設けられている。MPU52には、メモリ68、液晶表示部(LCD)60が接続されている。
携帯端末32内では、カメラ40で取得された画像のデータがMPU42へ送られる。MPU42の通信制御部49は、カメラ40で取得された画像のデータをノートパソコン30へ送る際の通信の制御を行う。通信部50は、通信制御部48の制御を受けて、画像のデータを直接ノートパソコン30の通信部58へ送信する。
このように、図22の例では、カメラ40で取得された画像のデータが、通信部50からノートパソコン30へ直接送られる。ノートパソコン30の通信部58は、携帯端末32から送られた画像データを受信し、MPU52へ送る。また、画像データはメモリ68に蓄積される。MPU52の画像処理部62は、画像データの移動量に基づいて、携帯端末32の動きを解析する。携帯端末32の動きの解析は、第1の実施形態と同様に行われ、メモリ68に記憶されている前フレームの画像のデータと、撮像された最新のフレームの画像のデータを用いて解析が行われる。
画像処理部62で解析された携帯端末32の動きは、データ変換部64に送られる。また、データ変換部64には、ノートパソコン30が備えるアプリケーションの状態、キーボード36の操作状態、ボタン38の操作状態(例えば、カメラ40がズームレンズを備える場合は、そのズーム位置)などが入力される。
データ変換部64では、画像処理部62で解析された動きを、ノートパソコン30を制御するための制御データに変換する。すなわち、データ変換部64は、解析された画像データの動き(携帯端末23の動き)に応じて、ノートパソコン30を操作するためのパラメータを演算する機能を有している。また、データ変換部64は、アプリケーションの状態、キーボード36の操作状態、ボタン38の操作状態に応じて、異なる制御データを出力する。
これにより、演算された制御データを用いて、携帯端末32の動きに基づいて、ノートパソコン30の各種操作を行うことができる。ここで、ノートパソコン30の各種操作とは、ポインタ35の移動、ウィンドウのスクロール、ノートパソコン30の起動/停止などのダイレクトコマンドの実施などが含まれる。
図22のシステムによれば、画像データに基づく携帯端末32の動きの解析をノートパソコン30側で行うことができるため、携帯端末32をより簡素に構成することができる。
以上説明したように第6の実施形態によれば、ノートパソコン30などの被操作デバイスを、カメラ40を備える携帯端末32の動きに応じて操作することができる。従って、簡素な構成でノートパソコン30などの機器を遠隔操作することが可能となる。
(第7の実施形態)
次に、本発明の第7の実施形態について説明する。第7の実施形態に係る情報処理装置10の構成は第1の実施形態と同様である。また、第7の実施形態において、背面カメラ16の撮像画像による動きの解析の基本的な部分は、第1の実施形態と同様に行われる。第7の実施形態は、第1の実施形態において、オプティカルフローを計算した後、特徴点の移動、回転、または拡大・縮小を表すアフィン行列を算出して、これに基づいて情報処理装置10の動きを求めるものである。
図23は、情報処理装置10の背面カメラ16で撮像された画像を示す模式図であって、第7の実施形態の手法により情報処理装置10の動きを検出する様子を示している。図23では、画面の中央に被写体である「木馬」が位置しており、背景に風で「旗」がなびいている様子が映し出されている。
図23は、特徴点の動きの一例として、図9と同様に、画像中に設定された特徴点が情報処理装置10の前後方向の移動に伴って移動する様子を示している。図23において、T1(t−1),T2(t−1),T3(t−1),T4(t−1),・・・,Tn(t−1)は、時刻t−1の画像フレームにおけるn個の各特徴点の位置を示している。また、T1(t),T2(t),T3(t),T4(t),・・・,Tn(t)は、時刻tの画像フレームにおける各特徴点の位置を示している。図9と同様に、情報処理装置10を光軸方向に移動して物体に近づけると、画像中の特徴点の位置の分散が大きくなる。
図23において、被写体である「木馬」は静止している。一方、背景の「旗」は風でなびいており、旗の形状は刻々と変化している。このような場合、静止した被写体である「木馬」に設定された特徴点の動きは、情報処理装置10の動きを良く反映するものとなる。一方、風になびいている旗に設定された特徴点の動きは、情報処理装置10の動きと実際の旗の動きとが合成されたものになるため、これに基づいて情報処理装置10の動きを解析すると、旗の動きの分だけ誤差が生じる。このため、第7の実施形態では、情報処理装置10の動きに応じて支配的な動きを見せる静止被写体上の特徴点に基づいて情報処理装置10の動きを解析し、それ以外の特徴点の動きはノイズ的な動きと捉えることとし、このために情報処理装置10の動きを表すアフィン行列を求めることとしている。
具体的には、画像の中からランダムに特徴点を3つ選び、1フレーム前の3つの特徴点の位置と、現フレームの3つの特徴点の位置とから、1フレーム前の特徴点の位置と、現フレームの特徴点の位置との関係を示すアフィン行列を求める。そして、他の3つの特徴点を順次に選び、同様の手法によりアフィン行列を順次に算出する。そして、求められた複数のアフィン行列のうち、情報処理装置10の動きを最も反映しているアフィン行列を選択し、選択されたアフィン行列に基づいて情報処理装置10の動きを計算する。
アフィン行列による動きの解析は、既知の方法で行うことができる。例えば、現フレームの特徴点の座標を(x’,y’)、1フレーム前の特徴点の座標を(x,y)とすると、アフィン変換は数学的に以下の式で表される。
x’=a・x+c・y+s
y’=b・x+d・y+s
上式を行列で表すと、以下の式が得られる。ここで、Aは3行3列のアフィン行列である。
[x’,y’,1]=[x’,y’,1]・A
この場合、アフィン行列Aのi行目、j列目の要素をαijとすると、α11=a,α12=b,α13=0,α21=c,α22=d,α23=0,α31=s,α32=s,α33=1である。
例えばアフィン行列が反時計周りの角度θの回転を表す場合、アフィン行列Aは、s=s=0とされ、a=cosθ,b=sinθ,c=-sinθ,d=cosθで表される。また、アフィン行列が拡大・縮小を表す場合、b=c=0=s=s=0とされ、aがx軸方向の拡大・縮小率を表し、dがy軸方向の拡大・縮小率を表す。また、アフィン行列が平行移動を表す場合、a=d=1、b=c=0とされ、sがx軸方向の移動量を表し、sがy軸方向の移動量を表す。
図24は、第7の実施形態の処理を示すフローチャートである。図24のフローチャートにおいて、ステップS61〜ステップS63の処理は、図11のステップS11〜S13の処理と同様である。
ステップS63でオプティカルフローを計算した後、次のステップS64では、ランダムに3つの特徴点を選び、3つの特徴点の動きベクトルからアフィン行列を計算する。
次のステップS65では、ステップS64で算出されたアフィン行列のスコアを計算する。ここでは、ステップS64で求めたアフィン行列を1フレーム前の領域内のn個の全ての特徴点に対して乗算する。そして、アフィン行列を乗算することにより得られた特徴点の位置と現フレーム内の特徴点の位置との誤差を各特徴点毎に計算し、誤差が所定の閾値よりも小さい特徴点の数をこのアフィン行列のスコアとする。
次のステップS66では、ステップS64,S65によるアフィン行列のスコアの計算回数が所定の閾値を超えたか否かを判定し、所定の閾値を超えた場合は、次のステップS67へ進む。一方、アフィン行列のスコアの計算回数が所定の閾値を超えていない場合は、ステップS64へ戻り、ステップS64〜S66の処理を繰り返し行う。
ステップS67では、ステップS64〜S66の処理により得られたアフィン行列のスコアのうち、最もスコアの高いアフィン行列を選択する。次のステップS68では、ステップS67で選択されたアフィン行列により、カメラの動きを計算する。ここでは、情報処理装置10の光軸周りの回転、光軸方向への移動、光軸と垂直方向への移動を、アフィン行列を用いて算出する。ステップS68の後は、処理を終了する(END)。
図24の処理によれば、各特徴点の動きを表すアフィン行列のうち、各特徴点の動きを最も精度良く表すアフィン行列を求めることができる。従って、支配的な動きを見せる特徴点に基づいてアフィン行列を算出することが可能となり、それ以外の特徴点をノイズと捉えることができる。従って、情報処理装置10の動きを高精度に表すアフィン行列を算出することが可能となる。
以上説明したように第7の実施形態によれば、アフィン行列を用いることにより、支配的な動きを示した特徴点を用いて情報処理装置10の動きを精度良く検出することが可能となる。従って、情報処理装置10の動きに応じて、情報処理装置10の表示画面12のポインタ13等を正確に操作することが可能となる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
本発明の第1の実施形態にかかる第1の実施形態に係る情報処理装置10を示す模式図である。 情報処理装置の構成を示すブロック図である。 第1の実施形態の情報処理装置で行われる処理の概略を示すフローチャートである。 情報処理装置と、背面カメラで撮像された画像をともに示す模式図である。 特徴点P1が設定された画素を拡大して示す模式図である。 画像の移動を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。 画像の回転を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。 図7に示すような特徴点の移動に基づいて、画像の回転を検出する手法を示す模式図である。 画像の拡大/縮小を解析する手法を示す図であって、情報処理装置と背面カメラによって撮像された画像をともに示す模式図である。 LK法を用いて特徴点の動きを解析する手法を示す模式図である。 画像の移動、回転、拡大/縮小を検出する処理を示すフローチャートである。 ポインタの移動を行う処理を示すフローチャートである。 表示画面にホームページのブラウザ、写真、地図、ウェブページなどが表示されている場合に、情報処理装置を動かして画面をスクロールしている状態を示す模式図である。 表示画面のスクロールを行う処理を示すフローチャートである。 ステップS33で行われる処理において、情報処理装置の移動方向と発行コマンドとの関係を示す模式図である。 情報処理装置の動きに応じて表示画面上にペイントを行っている例を示す模式図である。 ペイントモードで行われる処理を示すフローチャートである。 撮像画像に付加されたカメラの移動情報に基づいて、パノラマ画像を合成する処理を示す模式図である。 画像データとともに背面カメラの移動情報を保存する処理を示すフローチャートである。 第6の実施形態のシステムの外観を示す模式図である。 第6の実施形態のシステムの構成を示す模式図である。 第6の実施形態のシステムの他の構成を示す模式図である。 情報処理装置の背面カメラで撮像された画像を示す模式図であって、第7の実施形態の手法により情報処理装置の動きを検出する様子を示す模式図である。 第7の実施形態の処理を示すフローチャートである。
符号の説明
10 情報処理装置
12,34 表示画面
13,35 ポインタ
14 ボタン
16 背面カメラ
20,44,62 画像処理部
22,54,64 データ変換部
24,56,66 表示制御部
30 ペイントツール
40 カメラ
50,58 通信部

Claims (18)

  1. 撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、
    前記撮像画像を画像処理し、情報処理装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
    解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
    前記制御データに基づいて機能を制御する制御部と、
    を備え
    前記画像処理部は、
    ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
    現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
    前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析することを特徴とする、情報処理装置。
  2. 前記画像処理部は、前記撮像画像に複数の特徴点を設定し、オプティカルフローの処理により当該特徴点の動きを時系列に求めることで、前記撮像画像の時系列の動きを解析することを特徴とする、請求項1に記載の情報処理装置。
  3. 前記画像処理部は、前記撮像画像の動きを、前記撮像素子へ被写体像を結像させる光学系の光軸と直交する方向への移動、前記光軸周りの回転、及び拡大/縮小の少なくとも1つに分類する動き分類手段を含み、
    前記データ変換部は、分類された前記撮像画像の動きに応じて、異なる前記制御データへ変換することを特徴とする、請求項2に記載の情報処理装置。
  4. 操作者が操作可能なスイッチを更に備え、
    前記データ変換部は、前記スイッチの操作状態に基づいて前記制御データを可変することを特徴とする、請求項1に記載の情報処理装置。
  5. 情報を表示する表示部を更に備え、
    前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作することを特徴とする、請求項1に記載の情報処理装置。
  6. 情報を表示する表示部を更に備え、
    前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うことを特徴とする、請求項1に記載の情報処理装置。
  7. 前記制御部は、前記制御データに基づいて、情報処理装置の起動又は停止を含むダイレクトコマンドを行うことを特徴とする、請求項1に記載の情報処理装置。
  8. 情報を表示する表示部を更に備え、前記表示部の所定位置にはペイント位置を示すペイントツールが表示され、
    前記制御部は、
    前記制御データに基づいて、前記ペイントツール又は前記表示部に表示された背景画面を移動させ、前記ペイントツールの位置で前記背景画面にペイントを行うことを特徴とする、請求項1に記載の情報処理装置。
  9. 時系列に取得された複数の前記撮像画像のそれぞれに、前記画像処理部で解析された前記撮像画像の動きに関する情報を付加する動き情報付加部と、
    前記撮像画像の動きに関する情報に基づいて、複数の前記撮像画像を合成する画像合成部と、
    を更に備えることを特徴とする、請求項1に記載の情報処理装置。
  10. 有線又は無線により撮像装置と接続される情報処理装置であって、
    時系列に取得された撮像画像を前記撮像装置から受信する撮像画像受信部と、
    前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
    解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
    前記制御データに基づいて機能を制御する制御部と、
    を備え、
    前記画像処理部は、
    ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
    現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
    前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析することを特徴とする、情報処理装置。
  11. 情報を表示する表示部を更に備え、
    前記制御部は、前記制御データに基づいて、前記表示部に表示されたポインタを操作することを特徴とする、請求項10に記載の情報処理装置。
  12. 情報を表示する表示部を更に備え、
    前記制御部は、前記制御データに基づいて、前記表示部に表示された画面のスクロールを行うことを特徴とする、請求項10に記載の情報処理装置。
  13. 有線又は無線により情報処理装置と接続される撮像装置であって、
    撮像素子を有し、前記撮像素子から時系列に撮像画像を取得する撮像画像取得部と、
    前記撮像画像を画像処理し、撮像装置自体の動きに起因する前記撮像画像の動きを解析する画像処理部と、
    解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
    前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、
    を備え、
    前記画像処理部は、
    ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
    現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
    前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析することを特徴とする、撮像装置。
  14. 撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、
    前記撮像装置は、
    撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、
    前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
    解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
    前記情報処理装置の機能を制御するため、前記制御データを前記情報処理装置へ送信する送信部と、を備え、
    前記画像処理部は、
    ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
    現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
    前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析し、
    前記情報処理装置は、
    前記撮像装置から前記制御データを受信する受信部と、
    前記制御データに基づいて機能を制御する制御部と、を備えることを特徴とする、情報処理システム。
  15. 撮像装置と情報処理装置とが有線又は無線で接続された情報処理システムであって、
    前記撮像装置は、
    撮像素子を有し、前記撮像素子から時系列に前記撮像画像を取得する撮像画像取得部と、
    前記撮像画像を前記情報処理装置へ送信する撮像画像送信部と、を備え、
    前記情報処理装置は、
    前記撮像画像を受信する撮像画像受信部と、
    前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する画像処理部と、
    解析した前記撮像画像の動きを制御データに変換するデータ変換部と、
    前記制御データに基づいて機能を制御する制御部と、を備え、
    前記画像処理部は、
    ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出するアフィン行列算出部と、
    現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択するアフィン行列選択部と、を備え、
    前記アフィン行列選択部により選択されたアフィン行列から前記撮像画像の時系列の動きを解析することを特徴とする、情報処理システム。
  16. 撮像素子から時系列に撮像画像を取得するステップと、
    前記撮像画像を画像処理し、前記撮像画像を撮像した装置自体の動きに起因する前記撮像画像の動きを解析するステップであって、ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出し、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択し、選択されたアフィン行列から前記撮像画像の時系列の動きを解析するステップと、
    解析した前記撮像画像の動きを制御データに変換するステップと、
    前記制御データに基づいて、前記装置又は前記装置に接続された他の装置の機能を制御するステップと、
    を備えることを特徴とする、装置制御方法。
  17. 撮像素子から時系列に撮像画像を取得する手段、
    前記撮像画像を画像処理し、前記撮像素子を含む装置の動きに起因する前記撮像画像の動きを解析する手段であって、ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出し、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択し、選択されたアフィン行列から前記撮像画像の時系列の動きを解析する手段、
    解析した前記撮像画像の動きを制御データに変換する手段、
    前記制御データに基づいて機能を制御する手段、
    としてコンピュータを機能させるためのプログラム。
  18. 時系列に取得された撮像画像を撮像装置から受信する手段、
    前記撮像画像を画像処理し、前記撮像装置の動きに起因する前記撮像画像の動きを解析する手段であって、ランダムに選択された特徴点を用いて、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置との関係を表すアフィン行列を複数算出し、現フレームの特徴点の位置と1つ前のフレームの特徴点の位置に前記アフィン行列を乗算して得られた特徴点の位置との差が所定の閾値以下である特徴点の数を算出し、当該特徴点の数が最も多くなるアフィン行列を選択し、選択されたアフィン行列から前記撮像画像の時系列の動きを解析する手段、
    解析した前記撮像画像の動きを制御データに変換する手段、
    前記制御データに基づいて機能を制御する手段、
    としてコンピュータを機能させるためのプログラム。
JP2007015445A 2006-08-28 2007-01-25 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム Expired - Fee Related JP4725526B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007015445A JP4725526B2 (ja) 2006-08-28 2007-01-25 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム
US11/844,191 US8094204B2 (en) 2006-08-28 2007-08-23 Image movement based device control method, program, and apparatus

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006231154 2006-08-28
JP2006231154 2006-08-28
JP2007015445A JP4725526B2 (ja) 2006-08-28 2007-01-25 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008084287A JP2008084287A (ja) 2008-04-10
JP4725526B2 true JP4725526B2 (ja) 2011-07-13

Family

ID=39113513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007015445A Expired - Fee Related JP4725526B2 (ja) 2006-08-28 2007-01-25 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム

Country Status (2)

Country Link
US (1) US8094204B2 (ja)
JP (1) JP4725526B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5083887B2 (ja) * 2007-12-05 2012-11-28 Kddi株式会社 情報端末装置
JP5223318B2 (ja) * 2007-12-07 2013-06-26 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8159458B2 (en) 2007-12-13 2012-04-17 Apple Inc. Motion tracking user interface
JP2009151896A (ja) * 2007-12-21 2009-07-09 Sony Corp 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
US8269842B2 (en) * 2008-06-11 2012-09-18 Nokia Corporation Camera gestures for user interface control
JP2012501016A (ja) * 2008-08-22 2012-01-12 グーグル インコーポレイテッド モバイルデバイス上の3次元環境内でのナビゲーション
US9454834B2 (en) * 2008-09-26 2016-09-27 Nintendo Co., Ltd. Storage medium storing image processing program for implementing controlled image display according to input coordinate, and information processing device
JP5274187B2 (ja) * 2008-09-30 2013-08-28 任天堂株式会社 画像処理プログラム、情報処理装置、画像処理方法、および画像処理システム
JP4623201B2 (ja) * 2008-10-27 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP4623199B2 (ja) 2008-10-27 2011-02-02 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP2011139282A (ja) * 2009-12-28 2011-07-14 Sony Corp 画像処理装置、撮像装置、画像処理方法およびプログラム
US8538167B2 (en) * 2010-01-07 2013-09-17 Raytheon Company Designating corridors to provide estimates of structures
US9124804B2 (en) * 2010-03-22 2015-09-01 Microsoft Technology Licensing, Llc Using accelerometer information for determining orientation of pictures and video images
JP2011237870A (ja) * 2010-05-06 2011-11-24 Edison Opto Corp 動作方向を検出するための携帯電子装置およびその検出法
CN103649426B (zh) * 2012-01-27 2016-05-11 斗山英维高株式会社 建筑机械的操作安全性提高装置
KR102070562B1 (ko) * 2012-06-19 2020-01-30 삼성전자주식회사 이벤트 기반 이미지 처리 장치 및 그 장치를 이용한 방법
US20140108941A1 (en) 2012-10-17 2014-04-17 Christopher Stephen Joel Method and Apparatus for Automatically Optimizing the Loading of Images in a Cloud-Based Proxy Service
US9674490B2 (en) * 2013-04-18 2017-06-06 Magna Electronics Inc. Vision system for vehicle with adjustable cameras
US9098477B2 (en) 2013-05-15 2015-08-04 Cloudflare, Inc. Method and apparatus for automatically optimizing the loading of images in a cloud-based proxy service
US10216386B2 (en) 2013-06-28 2019-02-26 Rakuten, Inc. Display system, display method, and program
JP6640460B2 (ja) * 2015-03-30 2020-02-05 富士フイルム株式会社 画像撮影装置、画像撮影方法、プログラムおよび記録媒体
US9787951B2 (en) * 2015-12-18 2017-10-10 Serge Kannon Vehicle proximity warning system
JP2019016316A (ja) * 2017-07-11 2019-01-31 株式会社日立エルジーデータストレージ 表示システム、及び表示システムの表示制御方法
JP6761786B2 (ja) * 2017-08-10 2020-09-30 本田技研工業株式会社 天井地図作成方法、天井地図作成装置及び天井地図作成プログラム
CN113178164B (zh) * 2020-10-12 2022-06-03 浙江山泓科技有限公司 一种用于led显示屏的智能图像处理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214945A (ja) * 1996-01-31 1997-08-15 Fujitsu Ltd 画像特徴追跡装置及び画像特徴追跡方法
JP2000267799A (ja) * 1999-03-19 2000-09-29 Mitsubishi Electric Corp 座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002164990A (ja) * 2000-11-28 2002-06-07 Kyocera Corp 携帯通信端末装置
JP2004145527A (ja) * 2002-10-23 2004-05-20 Nec Fielding Ltd 座標情報入力装置
JP2005158057A (ja) * 2003-11-04 2005-06-16 Shinsedai Kk 描画装置、操作物、描画システム、描画プログラム、及び描画方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3218716B2 (ja) 1992-07-31 2001-10-15 ソニー株式会社 入力装置、及び入力システム
US6266082B1 (en) * 1995-12-19 2001-07-24 Canon Kabushiki Kaisha Communication apparatus image processing apparatus communication method and image processing method
US6552744B2 (en) * 1997-09-26 2003-04-22 Roxio, Inc. Virtual reality camera
SE511516C2 (sv) * 1997-12-23 1999-10-11 Ericsson Telefon Ab L M Handburen displayenhet och metod att visa skärmbilder
US7187412B1 (en) * 2000-01-18 2007-03-06 Hewlett-Packard Development Company, L.P. Pointing device for digital camera display
US6937272B1 (en) * 2000-11-08 2005-08-30 Xerox Corporation Display device for a camera
JP2006099228A (ja) 2004-09-28 2006-04-13 Casio Comput Co Ltd データ処理装置及びプログラム
WO2006074290A2 (en) * 2005-01-07 2006-07-13 Gesturetek, Inc. Optical flow based tilt sensor
GB0503253D0 (en) * 2005-02-17 2005-03-23 Univ Northumbria Newcastle User control of a hand-held device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09214945A (ja) * 1996-01-31 1997-08-15 Fujitsu Ltd 画像特徴追跡装置及び画像特徴追跡方法
JP2000267799A (ja) * 1999-03-19 2000-09-29 Mitsubishi Electric Corp 座標位置制御システム、座標位置制御方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002164990A (ja) * 2000-11-28 2002-06-07 Kyocera Corp 携帯通信端末装置
JP2004145527A (ja) * 2002-10-23 2004-05-20 Nec Fielding Ltd 座標情報入力装置
JP2005158057A (ja) * 2003-11-04 2005-06-16 Shinsedai Kk 描画装置、操作物、描画システム、描画プログラム、及び描画方法

Also Published As

Publication number Publication date
JP2008084287A (ja) 2008-04-10
US20080050035A1 (en) 2008-02-28
US8094204B2 (en) 2012-01-10

Similar Documents

Publication Publication Date Title
JP4725526B2 (ja) 情報処理装置、撮像装置、情報処理システム、装置制御方法及びプログラム
JP5014848B2 (ja) 映像パターンを利用したポインティング入力装置、方法、およびシステム
US8964091B2 (en) Digital device and method for controlling the same
JP4569613B2 (ja) 画像処理装置および画像処理方法、並びにプログラム
JP4929109B2 (ja) ジェスチャ認識装置及びその方法
CN112217998B (zh) 拍摄装置、信息处理装置及其控制方法、存储介质
EP3015961B1 (en) Information processing device, control method, program, and storage medium
KR100764698B1 (ko) 카메라 영상의 패턴인식과 해석에 의한 휴대 단말기의사용자 인터페이스 제어 방법 및 그 단말기
US20070018966A1 (en) Predicted object location
US20130088429A1 (en) Apparatus and method for recognizing user input
US20120250940A1 (en) Terminal device, object control method, and program
US10051244B2 (en) Display image formation device and display image formation method
JP2016194799A (ja) 画像解析装置及び画像解析方法
JP2010257037A (ja) 情報処理装置および方法、並びにプログラム
JP2002196877A (ja) イメージセンサを用いた電子機器
JP5318189B2 (ja) インターフェース制御装置、及びその方法
JP2006209359A (ja) 指示動作認識装置、指示動作認識方法及び指示動作認識プログラム
KR100957575B1 (ko) 단말기의 움직임 또는 자세에 기초하여 비주얼 서치를 수행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
WO2008054185A1 (en) Method of moving/enlarging/reducing a virtual screen by movement of display device and hand helded information equipment using the same
US9906710B2 (en) Camera pan-tilt-zoom (PTZ) control apparatus
CN112135034A (zh) 基于超声波的拍照方法、装置、电子设备及存储介质
JP4377247B2 (ja) プロジェクタ投影制御システムおよびプロジェクタ投影制御方法
JP2011134113A (ja) 情報提示装置、情報提示方法、及びプログラム
WO2011096571A1 (ja) 入力装置
JP6746419B2 (ja) 情報処理装置、及びその制御方法ならびにコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees