(57)【要約】 【課題】装置の状態に応じて情報呈示の形態を切り替える。【解決手段】情報処理装置は、撮像手段により得られた画像から識別情報を検出し、識別情報に関連づけられた関連情報を取得し、撮像手段の姿勢状態の変化量を測定し、関連情報を出力する。情報処理装置は、出力の態様を、測定された撮像手段の姿勢状態の変化量に基づいて制御する。【選択図】  図１
2016224127.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
撮像手段により得られた画像から識別情報を検出する検出手段と、
前記識別情報に関連づけられた関連情報を取得する取得手段と、
前記撮像手段の姿勢状態の変化量を測定する測定手段と、
前記関連情報を出力する出力手段と、
前記出力手段による出力の態様を、前記測定手段により測定された前記撮像手段の姿勢状態の変化量に基づいて制御する出力制御手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記測定手段は、所定の傾きの基準面に対する前記情報処理装置の傾きの変化量、および所定の方位の基準面に対する前記情報処理装置の方位の変化量を測定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の傾きの基準面と前記方位の基準面は異なることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記測定手段は、前記情報処理装置を保持するユーザの動きの変化量を測定することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ユーザの動きの変化量は、前記情報処理装置の加速度の変化量であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記測定手段により測定された変化量が所定の閾値より大きい場合、前記出力制御手段は、前記関連情報の出力を停止することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記測定手段により測定された変化量が所定の閾値より小さく、かつ、所定の別の閾値より大きい場合、前記出力制御手段は、前記関連情報の出力量を抑えて出力することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記測定手段により測定された変化量が所定の閾値より小さく、かつ、所定の別の閾値より小さい場合、前記出力制御手段は、前記関連情報の出力量を抑えずに出力することを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
前記情報処理装置は前記撮像手段を含むことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記情報処理装置の姿勢状態が変化した場合に、該変化した時間を測定する計時手段を更に有し、
前記情報処理装置の姿勢状態が変化した際の変化の後の姿勢状態が、該変化の前の前記情報処理装置の姿勢状態と同じであり、かつ、前記計時手段により測定された、該変化の前と該変化の後の２つの姿勢状態に対応する前記変化の時間の差が所定の時間内である場合に、前記出力手段は、該変化の前に前記取得手段により取得された前記関連情報を出力することを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１１】
情報処理装置の制御方法であって、
撮像手段により得られた画像から識別情報を検出する検出工程と、
前記識別情報に関連づけられた関連情報を取得する取得工程と、
前記撮像手段の姿勢状態の変化量を測定する測定工程と、
前記関連情報を出力する出力工程と、
前記出力工程における出力の態様を、前記測定工程において測定された前記撮像手段の姿勢状態の変化量に基づいて制御する出力制御工程と、
を有することを特徴とする制御方法。
【請求項１２】
請求項１から請求項１０のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像から認識した物体に関する情報を表示する技術に関する。
【背景技術】
【０００２】
従来、現実環境において、ユーザが着目する対象に、情報処理装置を用いて、該対象の関連情報を付加して呈示する技術がある。これまでに例えば、多数のユーザが同時かつ良好に確認できるように関連情報を呈示する技術が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２０６６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の情報呈示のための装置は、マーカの認識と投影が干渉しないように、マーカ検出時には投影を停止してしまうため、投影しながら他のマーカを捉えて投影内容を切り替えることができない。一方で、単純にマーカ検出時にも投影を継続するだけでは、投影によってマーカが捉えにくくなるうえ、投影位置の変更時に、操作者でない周囲のユーザに不快感を与えてしまうという課題がある。課題となる不快感の具体例としては、無駄に投影映像を追ってしまったり、身体に投影されてしまったりといった問題が挙げられる。投影することによって情報を呈示するシステムでは、複数人と情報共有できる点がメリットの一つであるので、周囲へ与える影響は特に考慮する必要がある。
【０００５】
本発明は、このような課題に鑑みて、装置の状態に応じて情報呈示の形態を切り替えることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための一手段として、本発明の情報処理装置は以下の構成を有する。すなわち、情報処理装置であって、撮像手段により得られた画像から識別情報を検出する検出手段と、前記識別情報に関連づけられた関連情報を取得する取得手段と、前記撮像手段の姿勢状態の変化量を測定する測定手段と、前記関連情報を出力する出力手段と、前記出力手段による出力の態様を、前記測定手段により測定された前記撮像手段の姿勢状態の変化量に基づいて制御する出力制御手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、装置の状態に応じて情報呈示の形態を切り替えることが可能となり、ユーザの利便性が向上する。
【図面の簡単な説明】
【０００８】
【図１】（ａ）は、情報処理装置のハードウェア構成の一例を示す図。（ｂ）は、情報処理装置の機能構成の一例を示す図。
【図２】実施形態１における情報処理装置の処理手順の一例を示すフローチャート（１）。
【図３】実施形態１における情報処理装置の処理手順の一例を示すフローチャート（２）。
【図４】実施形態２における情報処理装置の機能構成の一例を示す図。
【図５】実施形態２における情報処理装置の処理手順の一例を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１０】
［実施形態１］
図１は、本実施形態における情報処理装置１０１のハードウェア構成の一例（図１（ａ））と、情報処理装置の機能構成の一例（図１（ｂ））を示す図である。
【００１１】
図１（ａ）に示す情報処理装置１０１は、カメラ１０２、センサ１０３、出力部１０４、通信部１０５、ＣＰＵ（Central Processing Unit）１０６、プログラムメモリ１０７、メモリ１０８を含んで構成される。カメラ１０２は、撮像手段であり、画像を撮影する。センサ１０３は、例えば情報処理装置１０１に付与される加速度を検知する加速度センサ、傾きを検知するジャイロセンサ、方位を検知する地磁気センサなどであり、１つまたは複数のセンサから構成される。出力部１０４は、例えばプロジェクタであり、文字や画像などを投影する。通信部１０５は、例えばインターネットなどの、情報処理装置１０１の外部ネットワークとの相互通信を行う。具体的には、通信部１０５は、ネットワーク上に存在する各種マーカデータベースにアクセスしてマーカに対応する識別情報を受信したり、識別情報に対応する詳細情報の取得要求を該識別情報の保持先に送信したりする。
【００１２】
ＣＰＵ１０６は、情報処理装置１０１が有する各構成要素を制御する。プログラムメモリ１０７は、例えばＲＯＭ（Read Only Memory）であり、ＣＰＵ１０６により実行される各種プログラムを格納する。メモリ１０８は、例えばＲＡＭ（Random Access Memory）であり、ＣＰＵ１０６によりプログラムが実行される際のワークエリアを提供し、処理に必要な各種データを一時的又は恒久的に格納する。
【００１３】
図１（ｂ）に示す各機能部は、ＣＰＵ１０６が各種プログラムを実行することにより実現される。識別情報検出部１１１は、カメラ１０２によって撮影された画像から、画像処理によって一意に特定される形状、例えばマーカ（指標）を識別情報として検出する。識別情報管理部１１２は、識別情報検出部１１１の処理の管理、および、既に取得されている識別情報の管理等を行う。関連情報取得部１１３は、識別情報検出部１１１によって検出された識別情報から、該識別情報に対応する関連情報を取得する。関連情報取得部１１３は、関連情報を、通信部１０５によって外部ネットワーク上から取得してもよいし、メモリ１０８から取得してもよい。関連情報管理部１１４は、関連情報取得部１１３により取得された関連情報を管理する。機器姿勢状態管理部１１５は、センサ１０３の値などから、機器の傾きや方位（機器姿勢）を測定したり、傾きや方位の変化、移動速度の変化（機器姿勢状態）を測定する。また、機器姿勢状態管理部１１５は、測定した機器姿勢等をメモリ１０８等に記録することにより管理する。変化解析部１１６は、機器姿勢状態管理部１１５により管理されている機器姿勢等の変化を解析する。変化判定部１１７は、変化解析部１１６により解析された結果が所定の閾値よりも大きいかどうかを判定する。出力制御部１１８は、出力部１０４の出力の態様を制御する。例えば、出力制御部１１８は、機器の移動速度によって出力の明るさが変更されるように、出力部１０４の出力を制御する。なお、図１（ｂ）に示す各機能部は、ハードウェアにより実現することもできる。
【００１４】
図２は、情報処理装置１０１の処理手順の一例を示すフローチャートである。図２に示す処理は、カメラ１０２により得られた画像の入力を契機に、ＣＰＵ１０６が各種プログラムを実行することにより、図（ｂ）に示す各機能部により行われる。まず、識別情報管理部１１２は、識別情報検出部１１１がカメラ１０２より得られた画像から識別情報を検出したかどうかを判定する（Ｓ２０１）。ここで、カメラ１０２より得られた画像から識別される情報は、例えば白黒マーカであり、識別情報検出部１１１は、画像認識によってマーカを検出し、検出したマーカに対応する識別情報を検出する。
【００１５】
識別情報管理部１１２は、既に取得されてメモリ１０８に保持される識別情報があるかどうか判定する（Ｓ２０２）。既に識別情報が保持されている場合（Ｓ２０２：Ｙｅｓ）、識別情報管理部１１２は、検出した識別情報と、メモリ１０８に保持されている識別情報とを比較する（Ｓ２０３）。その後、識別情報管理部１１２は、検出された識別情報が新規のものかどうか判定する（Ｓ２０４）。メモリ１０８に保持される識別情報は、１つでも複数でもよく、複数の場合には、Ｓ２０３において識別情報管理部１１２は、比較処理を繰り返したり、保持する識別情報の中で最も類似するものと検出された識別情報とを比較したりする。
【００１６】
検出された識別情報が新規のものであった場合（Ｓ２０４：Ｙｅｓ）、あるいはメモリ１０８に保持される識別情報がない場合（Ｓ２０２：Ｎｏ）、識別情報管理部１１２は、メモリ１０８に、検出された識別情報を記録して保持する（Ｓ２０５）。ここで、記録される識別情報は、マーカを識別できる情報であれば、特定の情報に限定されない。その後、処理はステップＳ２０６へ進む。
【００１７】
一方で、識別情報検出部１１１により検出された識別情報が新規のものでない場合（Ｓ２０４：Ｎｏ）、識別情報管理部１１２は、関連情報管理部１１４に問い合わせることにより、該識別情報の関連情報が出力されているかどうか判定する。検出された識別情報の関連情報が既に出力されているのであれば（Ｓ２１０：Ｙｅｓ）、識別情報管理部１１２は、識別情報検出部１１１が新たに識別情報を検出できるまで待機する。検出された識別情報の関連情報が出力されていないのであれば（Ｓ２１０：Ｎｏ）、関連情報管理部１１４は、関連情報がメモリ１０８に保持されているかどうか判定する（Ｓ２１１）。関連情報がメモリ１０８に保持されている場合（Ｓ２１１：Ｙｅｓ）、出力制御部１１８は、保持されている関連情報を出力するための制御を行う（Ｓ２１２）。本実施形態では、出力制御部１１８による制御により、出力部１０４が関連情報である画像を投影表示する。関連情報がメモリ１０８に保持されていない場合（Ｓ２１１：Ｎｏ）、処理はステップＳ２０６に進む。
【００１８】
ステップＳ２０６において、関連情報取得部１１３は、ステップＳ２０１において検出された識別情報に関連する関連情報をメモリ１０８から取得する。また、関連情報取得部１１３は、ステップＳ２０６において、取得する関連情報に関連した、機器姿勢状態変化判定のための閾値等の登録情報を取得する。ここで、関連情報は、例えば、マーカが貼り付けられている物体（オブジェクト）に関連する詳細情報であり、文字や画像、音声などから構成される。本実施形態では、関連情報取得部１１３は、識別情報と該識別情報に対応する画像情報等が保持されるメモリ１０８から、検出された識別情報で検索して、オブジェクトのサイズなどの詳細情報と、関連する画像等の情報を取得する。なお、上記では、識別情報と関連情報等の情報は、メモリ１０８に保持されるとして説明したが。通信部１０５を介して接続可能な外部ネットワーク上に保持されていてもよい。
【００１９】
出力制御部１１８は、ステップＳ２０６において取得した関連情報を出力する制御を行う（Ｓ２０７）。本実施形態では、ステップＳ２１２と同様に、出力制御部１１８の制御により、出力部１０４が関連情報である画像を投影表示する。その後、変化解析部１１６は、機器姿勢状態管理部１１５で管理される機器姿勢状態として、情報処理装置１０１の姿勢状態を読みだす（Ｓ２０８）。なお、以下において。機器姿勢状態は情報処理装置１０１の姿勢状態として説明するが、カメラ１０２と情報処理装置１０１が別の装置であってもよい。その場合、機器姿勢状態はカメラ１０２の姿勢状態であってもよい。
【００２０】
機器姿勢状態とは、地磁気センサによって算出される情報処理装置１０１の一端が向いている方位、ジャイロセンサによって算出される情報処理装置１０１を基準平面に置いた場合からの傾き、加速度センサによって算出される静止や移動の状態などからなる。機器姿勢状態は、他に、ＧＰＳセンサや地理マップを用いた位置情報や、気圧センサを用いた高さなどが含まれてもよい。
【００２１】
別の例として、機器姿勢状態の取得は、周囲にあるセンサから取得されたデータ用いても実現できる。例えば、投影対象となるオブジェクト内部にセンサを内包させたり、貼付したり、周囲にセンサを設置してもよい。本実施形態による情報処理装置１０１が工場内のメンテナンスなどのために使用される場合には、メンテナンス対象となる配管などの設備や、周囲に近接センサを付加しておく。情報処理装置１０１は、センサから情報を取得することで、該情報処理装置と投影対象オブジェクトとの距離が近づいたかどうかを判定し投影を開始するなどの出力制御を行うこともできる。
【００２２】
さらに別の例として、機器姿勢状態管理部１１５は、機器姿勢状態を、１つのセンサの値だけでなく、複数のセンサの値の組み合わせを用いて推定でき、また補正もできる。また、機器姿勢状態管理部１１５は、センサの値から得られた、機器の加速度の変化量の推移や機器姿勢や機器方位の組み合わせなどから、機器を持つユーザの行動（移動している等）が推定できる。特に、ユーザの立ちあがる、座る、といった行動は、瞬時的に大きな加速度値の変化が生じ、歩く、走る、といった行動は、加速度の出力値に一定周期が認識できる。このため、機器姿勢状態管理部１１５は、加速度の変化から推定される「立つ」、「座る」、「歩いている」などの行動を認識パターンとして保持してもよい。そしてこの場合、変化解析部１１６は、行動内容が変更した時点を行動の変化として検出してもよい。
【００２３】
また、ユーザが、情報処理装置１０１を持って出力部１０４により壁に向けて投影を行っている状態から腕を下ろした場合、大きな加速度変化が生じるため、機器姿勢状態管理部１１５は、ユーザの「腕をおろす」といった行動を検出してもよい。これにより、情報処理装置１０１は、たとえばマーカを認識すると投影を開始し、ユーザが腕をおろした時点で投影を終了することが可能になる。すなわち、ユーザが情報処理装置１０１に明示的に出力制御の指示を入力する必要がなくなり、ユーザの行為に基づいて自然に出力が制御可能となる。ユーザの「腕をおろす」といった行動でなくても、例えば情報処理装置１０１の急激で大きな加速度変化によって、関連情報の投影対象が変更されることが推定でき、また、関連情報の出力をやめることで、スムーズに次の投影対象のマーカを捉えることが可能になる。
【００２４】
また、本実施形態では、機器姿勢状態は、機器姿勢状態管理部１１５によって管理され、センサ値が更新されるごとに機器姿勢状態管理部１１５が測定しなおすものとする。しかし、機器姿勢状態管理部１１５が、任意のタイミングでセンサ１０３からのセンサ値を用いて機器姿勢状態を測定してもよい。近年では、センサ群が別プロセッサを備えることも多く、その場合、センサ１０３が、センサ値の更新を通知したり、センサ値が更新されるごとにあらかじめ定められる処理を実行したりすることが可能になる。もちろん、出力部１０４による関連情報の出力を契機として、機器姿勢状態管理部１１５がセンサ１０３から取得されるセンサ値を用いて機器姿勢状態を測定してもよい。
【００２５】
機器姿勢状態管理部１１５、機器姿勢状態をメモリ１０８に記録する（Ｓ２０９）。なお、機器姿勢状態は、図示しないＤＢに記録されてもよい。そのあと、機器姿勢状態管理部１１５は、情報処理装置１０１の機器姿勢状態に変化が生じた場合に該変化を検出し、変化解析部１１６へ通知できるように設定する（Ｓ２１０）。例えば、機器姿勢状態管理部１１５が機器姿勢状態の変化を検出した際に、変化解析部１１６は、割り込み処理などによって通知を受けられるように設定する。機器姿勢状態管理部１１５はセンサ１０３から受ける値等によって、センサ値の一定の変化を検知し、センサ値に変化が起こった場合に、該当する機器姿勢状態に関する変化を検知する。
【００２６】
例えば、地磁気センサのセンサ値に閾値以上の変化が起こった場合には、機器姿勢状態管理部１１５は、方位の計算を行って、変化解析部１１６は、方位があらかじめ設定される値（例えば１５度）以上変化した際に機器方位の変化として処理する。同時に、ジャイロセンサのセンサ値に閾値以上の変化が起こっている場合には、機器姿勢状態管理部１１５が、傾きの計算を行って、変化解析部１１６が、傾きがあらかじめ設定される値（例えば２０度）以上変化した際に機器傾きの変化として処理する。センサ１０３が複数のセンサから構成される場合には、機器姿勢状態管理部１１５は、各センサの値を用いて機器姿勢状態を算出してもよい。たとえば、機器姿勢状態管理部１１５は、機器の方位は、地磁気センサだけでなく、ジャイロセンサや加速度センサの値も用いて計算することによって補正値を算出することができる。また、変化解析部１１６は、算出される機器姿勢状態の結果によって機器姿勢状態の変化を判定してもよいし、センサごとに対応する機器姿勢状態変化を判定してもよい。
【００２７】
ここで、機器姿勢状態変化を判定するためのセンサ値や状態の変化度合いに対する閾値は、ステップＳ２０６において取得された登録情報等、あらかじめ設定される値のほか、ユーザや、アプリケーションごとに設定できる値であるとしてもよい。また、これらの閾値は、関連情報に記述されるオブジェクトのサイズから対応する値として決定されてもよい。また、オブジェクトサイズごとに、適する閾値が別途データベース（ＤＢ）として保持されていてもよい。あるいは、上述したとおり、センサ１０３がプロセッサを備える場合には、センサ部によって通知される機器姿勢状態の変化を機器姿勢状態管理部１１５が受けるものでもよい。
【００２８】
本実施形態では、機器姿勢状態管理部１１５は、割り込み通知時に、該当する機器姿勢状態の変化を変化解析部１１６に通知するものとする。このことを実現するプログラムとしては、例えば、割り込み時に呼び出される関数に、割り込みの起因となった機器姿勢状態の変化の種類を引数として設定する。引数としてビットごとに変化の種類ごとのフラグとしたり、変化の種類をあらわすデータへのアドレスを渡したりすることによって、複数の変化の種類を扱うこともできる。
【００２９】
図３は、図２に示すステップＳ２０９の処理が行われたあとで、機器姿勢状態管理部１１５によって機器姿勢状態の変化が検出された場合の具体的な処理手順の一例を示すフローチャートである。変化解析部１１６は、機器姿勢状態管理部１１５からの通知を契機に、変化の種類に対応する機器姿勢状態を機器姿勢状態管理部１１５から読みだす。ここでは、機器姿勢状態の変化の種類として、姿勢、方位、ユーザ行動を扱うものとする。
【００３０】
まず、変化解析部１１６は、割り込みの起因となった情報処理装置１０１の機器姿勢状態の変化が機器姿勢の変化であるかどうかを判定する（Ｓ３０１）。機器姿勢の変化とは、基準面に対する機器の傾きが変わることである。例えば基準面を、投影画像を出力する出力部１０４の出力方向と同一面となるようにすることで、投影面の上下左右への変化を検出することが可能になる。このような検出方法によれば、ユーザが、情報処理装置を上向きに変えたり、下向きに変えたり、左に向けたり、右に向けたりという動作に対応できるので、次のマーカを捉えるときや、一度投影をやめるときなどの動作を検出することができる。
【００３１】
変化解析部１１６は、機器姿勢の変化が検出されている場合（Ｓ３０１：Ｙｅｓ）、現在の機器姿勢をメモリ１０８から読みだす（Ｓ３０２）。機器姿勢が変化するごとに、機器姿勢状態管理部１１５が機器姿勢を算出して更新しておくことで、変化解析部１１６は、変化時の機器姿勢を読みだすことができる。あるいは、上述のとおり、機器姿勢状態管理部１１５がセンサ値を取得して測定した機器姿勢を、変化解析部１１６が取得してもよい。そのあと、あるいは、機器姿勢の変化が検出されていない場合（Ｓ３０１：Ｎｏ）、機器姿勢状態管理部１１５は、機器方位の変化が検出されているかどうか判定する（Ｓ３０３）。機器方位の変化とは、機器の基準面が向けられている方角が変わることである。例えば方位の基準面を、傾きの基準面と異なるようにしておくことで、機器姿勢状態管理部１１５は、機器姿勢は同一でも、ユーザがかざす方向が変わったことを検知できる。ユーザが情報処理装置１０１の持ち方を変えなくても、右を向いたり、後ろを向いたりすることで、機器姿勢状態管理部１１５は、例えば投影面が変わることを検知できる。
【００３２】
変化解析部１１６は、機器方位の変化が検出されている場合（Ｓ３０３：Ｙｅｓ）、現在の機器方位を読みだす（Ｓ３０４）。そのあと、あるいは、機器方位の変化が検出されていない場合（Ｓ３０３：Ｎｏ）、変化解析部１１６は、ユーザ行動の変化が検出されているかどうか判定する（Ｓ３０５）。機器の移動によって加速度センサの出力値が変化するので、ユーザが情報処理装置１０１を動かしていることや、動かしていないことが検出できる。さらには、速く動かす、激しく動かすことなども検出できる。これによって、機器の姿勢や方向が変更する際の変化量が検出できるほか、機器の姿勢や方向が変わらない場合でも、ユーザが情報処理装置１０１を持って移動することで、例えば投影対象が変化することを検知できる。他に、出力制御部１１８は、情報処理装置１０１が安定していないことを検出し投影表示を行わないように表示制御することもできる。
【００３３】
変化解析部１１６は、機器の移動が検出されている場合（Ｓ３０５：Ｙｅｓ）、機器の加速度の変化の推移から移動状態を読みだす（Ｓ３０６）。そのあと、あるいは、機器の移動が検出されていない場合（Ｓ３０５：Ｎｏ）、変化解析部１１６は、ステップＳ２０８で保持した機器の状態との差分（変化量）を算出する（Ｓ３０７）。変化解析部１１６は、差分として、機器の姿勢、機器の方位、機器の移動状態、それぞれに関して差分を算出してもよいし、姿勢と方位を合わせて総合的に機器の変化を算出してもよいし、どのような組み合わせであってもよい。なお、変化解析部１１６がセンサの情報が取得できない場合には、再取得してもよい。変化解析部１１６が再取得に失敗した場合には、例えば、出力部１０４を経由してユーザにその旨を通知し、ユーザが出力を制御できるようにする。しかしながら、変化解析部１１６、複数あるうちの１つのセンサ情報が取れなくなった場合などには、取得できるセンサ情報のみを利用して継続するものとし、あるいは、他のセンサを代替にして継続してもよい。
【００３４】
変化判定部１１７は、算出された変化量が、ステップＳ２０６で取得した登録情報に含まれる閾値等の閾値より大きいかどうか判定する（Ｓ３０８）。例えば、機器姿勢や機器方位の変化量が大きい場合には、変化判定部１１７は、投影面や投影対象が変化したと推定できる。ステップＳ２０６で使用される閾値は、関連情報に関連した値であれば、オブジェクトに応じた変化量が設定されることになる。これにより、例えば小さいオブジェクトに対しては小さな閾値が設定されることで、変化判定部１１７は、少し移動すればオブジェクトへの関連情報投影が終了したと推定できる。大きなオブジェクトには大きな閾値を設定できるので、オブジェクトへの投影を行う情報処理装置１０１の姿勢状態の変化時にも投影が継続できる。
【００３５】
変化量が閾値より大きい場合（Ｓ３０８：Ｙｅｓ）、出力制御部１１８は、出力制御の処理を行う（Ｓ３０９）。例えば、出力制御部１１８は、投影出力を停止する制御を行う。一方で、閾値より小さい場合（Ｓ３０８：Ｎｏ）、変化判定部１１７は変化量が一定量以上か判定する（Ｓ３１０）。変化量が閾値より大きくはないが、あらかじめ定められる一定量よりも大きい場合（Ｓ３１０：Ｙｅｓ）、出力制御部１１８は、出力の軽減処理を行う（Ｓ３１１）。例えば、出力制御部１１８は、出力部１０４による投影出力量を抑えることで、表示の明るさを暗くしたり、色味を抑えたりする。一方で、一定量以上にはならない場合（Ｓ３１０：Ｎｏ）、出力制御部１１８は、出力制御は行わずに処理を終了する。
【００３６】
従来の情報処理装置が、マーカが貼付されたオブジェクトのマーカを認識し、マーカの識別情報を取得して、そのオブジェクト上に関連情報を投影する場合、ユーザが他のマーカを捉えた場合にしか自動で出力を制御することはできなかった。これに対して、本実施形態による情報処理装置１０１は、ユーザが投影対象を変更したことや、投影する情報へのユーザの興味が変更されたことを検知した場合に、出力制御することが可能になる。以下、このように処理するための具体例を、図２及び図３に示すフローチャートを用いて詳細に説明する。
【００３７】
ここでは、ユーザが情報処理装置１０１を保持し、情報処理装置１０１が、マーカを認識し、マーカの識別情報から取得したオブジェクトに関連する画像を、オブジェクト上に投影するものとする。また、情報処理装置１０１が有するセンサ１０３は地磁気センサと加速度センサであって、機器姿勢状態管理部１１５は、情報処理装置１０１の方位を算出するものとする。加速度センサと地磁気センサの値によって、情報処理装置１０１内に設置されるセンサ軸方向に対する情報処理装置１０１の回転が取得できる。
【００３８】
なお、方位の算出には、加速度センサ出力と地磁気センサ出力のほか、端末の座標系、加速度センサから取得される重力加速度が用いられる。地磁気センサの値からだけでも方位が取得できるが、地磁気センサの座標軸上に磁場があるうえで静止した状態である必要があるため、センサ軸に対する機器の傾きを考慮するために加速度センサの出力値も用いられる。このほか、磁場の影響下では、地磁気センサの出力値を補正する処理を加えてもよい。ここでは、一定の精度の方位が取得できればどのような算出方法であってもよいため、センサ１０３からの出力によって機器姿勢状態管理部１１５が方位を取得できるものとする。加速度センサと地磁気センサのいずれか、あるいは両方に変化があるごとに新しい方位が算出される。方位は、上書きされるものでもよいし、手ぶれや磁場の影響などで誤差が生じにくくするために、一定時間内の平均値や、推移値などと、新しく取得された値を用いて算出されてもよい。
【００３９】
ユーザがカメラ１０２をオブジェクトに向けると、オブジェクト付近のマーカも含めた画像が入力され、図２に示すステップＳ２０１の処理において、マーカが識別情報として検出される。ここで、マーカは黒枠で囲まれた正方形の図形で、識別情報検出部１１１は、まず黒色や正方形の形状から黒枠を検出する。つづいて、識別情報管理部１１２は、枠内のパターンから、マーカに含まれるデータからオブジェクトの識別情報と、関連情報の取得先や取得方法などを認識する。次にステップＳ２０２において、識別情報管理部１１２は、メモリ１０８に保持される識別情報があるか判定する。ここでは保持される識別情報がないものとし、ステップＳ２０５へ進む。ステップＳ２０５の処理では、識別情報管理部１１２は、検出した識別情報をメモリ１０８において保持する。上記例では識別情報のほか、認識した情報は、取得した時点でメモリ１０８に保存されるものとするが、メモリ１０８に限定されず、図示しないＤＢに保存されてもよい。ここで、容量に応じて、古いものや、使用頻度の低いものから上書きされる。メモリやＤＢに保持することで、次回以降に情報処理装置１０１が入力画像を捉えた場合に、関連情報を取得していれば再度取得しないようにすることができる。
【００４０】
次に、ステップＳ２０６の処理において、関連情報取得部１１３は、認識結果をもとに、関連情報と登録情報を取得する。なお、識別情報別毎に対応付けされた関連情報は、予めメモリ１０８や図示しないＤＢに参照可能な状態で格納されているものとする。次に、ステップＳ２０７の処理において、出力部１０４は、関連情報としての関連画像を出力する。ユーザがカメラ１０２を向けているオブジェクトに、関連画像が投影される。画像を出力したことを契機に、ステップＳ２０８の処理において、機器姿勢状態管理部１１５は、出力時点での情報処理装置１０１の状態を読みだす。機器姿勢状態管理部１１５や加速度センサの出力から、変化解析部１１６は、静止状態に近いかどうかを判断し、静止していない場合や、読みだす値が安定していない場合には、複数回読みだした値の平均値を算出して用いるようにしてもよい。ここで、機器姿勢状態管理部１１５は、読みだした機器姿勢状態を次のステップＳ２０９で記録する。例えばユーザは北に向かって座り、カメラを斜め下に向けているものとし、機器姿勢状態としては、姿勢の左右回転角「０［度］」、上下回転角「２０［度］」、方位「０［度］」、ユーザ行動「座る」がメモリ１０８に記録される。記録される機器姿勢状態は、最新のもののみでもよいが、ある程度の期間の状態が保持され、容量が制限を超える場合には、古いものから上書きされてもよい。
【００４１】
次に、ステップＳ２１０において、機器姿勢状態管理部１１５は、機器姿勢状態に変化があった場合に変化解析部１１６へ通知を行うように設定する。変化解析部１１６は、一定以上の変化が生じた場合に通知を受けるようにするほか、機器姿勢状態管理部１１５によって、変化の種類や大きさの情報を受け取るようにしてもよい。本実施形態では、機器姿勢状態の変化の種類として、姿勢、方位、ユーザ行動が判別されるものとする。
【００４２】
ユーザがオブジェクトの関連画像を見ることを終えて、別の場所にある他のオブジェクトに興味を持ち、他のオブジェクトの関連画像を見ようと、情報処理装置１０１のカメラの向きを他のオブジェクトに向けはじめたとする。この事象を契機に、機器姿勢状態の変化が発生する。ここでは、関連画像を表示していたオブジェクトがユーザの正面にあったのに対し、他のオブジェクトは、ユーザの右側にあるものとする。
【００４３】
なお、説明を簡略化するため、ユーザは情報処理装置１０１の持ち方を一定に保ったまま、身体の向きのみを右方向に変える場合を想定し、機器方位にのみ変化が発生するものとする。最終的に、情報処理装置１０１の変化としては、方位が「北」から「東」へ変更するが、機器姿勢状態管理部１１５は、方位の変化を一定以上検出した段階で、変化解析部１１６へ通知を行う。ここで、方位に関する一定値が「１５［度］」であれば、「１５［度］」が読みだされる。つまり、この時点での機器姿勢状態としては、姿勢の左右回転角０［度］、上下回転角２０［度］、方位「１５［度］」、ユーザ行動「座る」となる。
【００４４】
この機器姿勢状態の変化を契機に、変化解析部１１６は、機器姿勢状態管理部１１５からの割り込み通知をうけ、まず、機器姿勢に変化があったかどうかが、図３に示すステップＳ３０１の処理において判別される。機器姿勢には変化がないので、変化解析部１１６は、次に、ステップＳ３０３の処理において機器方位に変化があるか判別する。機器方位には変化が生じているので、変化解析部１１６は、ステップＳ３０４の処理において、変化後の方位「１５［度］」を読み出して保持する。その後、変化解析部１１６は、ステップＳ３０５の処理において、機器移動の変化があったかどうか判定する。ここでは、機器方位を変えることによる移動変化が生じているが、「座る」という行動に変化が生じないため、機器姿勢状態管理部１１５で変化として検出しない。よって、変化解析部１１６は、次のステップＳ３０７において、ステップＳ２０９で保持する機器姿勢状態と、変化の起きた機器姿勢状態に関して比較する。ここでは、変化解析部１１６は、方位に関して、「０［度］」から「１５［度］」に変化し、１５［度］の差分（変化量）を算出する。
【００４５】
次に、変化判定部１１７は、ステップＳ３０８の処理において、変化量が閾値より大きいか判別する。ここで方位変化の閾値は、あらかじめ「３０［度］」に設定されているものとする。閾値に満たないため、処理はステップＳ３１０に進み、変化判定部１１７は、変化量が一定以上か判別する。ここで、閾値の一定量は「１５［度］」であるとする。ステップＳ３１１に進み、出力制御部１１８は、出力部１０４が関連画像を投影する際の光量を小さくするよう制御する。具体的には、出力制御部１１８は、光量を、たとえば２００［ｌｍ］から１００［ｌｍ］に調節する。出力制御部１１８は、減量する量を変化量に応じて算出してもよい。あるいは、出力制御部１１８は、光量ではなく、投影面の大きさを小さくように制御してもよい。なお、変化判定部１１７がステップＳ３０８において閾値より大きいか判別したが、変化解析部１１６が、あらかじめ閾値や、変化量の一定値より大きい場合にのみ割り込み通知を受けるように設定されていてもよい。出力制御部１１８が投影出力の軽減処理を行ったあとは、変化解析部１１６は、再び割り込み通知を受けるのを待つことになる。
【００４６】
ユーザが右を向く動作は継続するので、再び、変化解析部１１６は、機器姿勢状態の変化によって割り込み通知を受け、ステップＳ３０１の処理において機器姿勢に変化があったかどうかが判別される。機器方位のみが引き続き変化するので、ステップＳ３０３からステップＳ３０４の処理によって、方位「３０［度］」が読みだされる。「座る」という行動にも変化が生じないため、機器姿勢状態管理部１１５はユーザ行動の変化として検出せずに、処理はステップＳ３０５からステップＳ３０７に進む。変化解析部１１６は、ステップＳ２０９で保持する機器姿勢状態と、変化の起きた機器姿勢状態とを比較する。ここでは、変化解析部１１６は、方位に関して、「０［度］」から「３０［度］」に変化し、３０［度］の差分（変化量）を算出する。
【００４７】
次に、変化判定部１１７は、ステップＳ３０８の処理において、変化量が閾値より大きいか判別する。ここで方位変化の閾値「３０［度］」以上となるため、処理はステップＳ３０９に進み、出力部１０４は関連画像の投影を終了し、識別情報管理部１１２は再び識別情報検出部１１１により画像の入力からマーカが検出されるのを待つ。この結果、次のマーカを捉えやすくなったり、無駄な投影を抑えたりすることができる。さらに、オブジェクトの間に人がいる場合などには、その人の身体のうえに投影してしまうことで不快感を抱かれることを防ぐこともできる。
【００４８】
なお、上記例では、情報処理装置１０１が、センサ１０３の値によって機器姿勢状態を検出したが、カメラ１０２の入力画像によって、投影面の状態を判別して、機器がどのような投影面に対して出力しているかという状態を検出してもよい。これによって、情報処理装置１０１は、例えば、白色のオブジェクトの表面に関連画像を出力していた状態から、対象オブジェクトの変更によって、白色が検出されない状態に変化したことによって、ユーザの投影対象が変わると推定することができる。
【００４９】
このように、本実施形態の情報処理装置１０１によれば、ユーザが入力操作を行うことなく、任意の場所への情報表示を継続でき、他の物体へ着目が推移したと推定される場合に出力を変更するように自動で制御させることができる。この結果として、ユーザの利便性が向上する。
【００５０】
［実施形態２］
本実施形態では、一定時間内に機器の状態が元に戻ったことを判定し、情報を再取得せずに既に保持する情報として提示することができる情報処理装置について説明する。なお、実施形態１で既に説明した部分と重複する部分は、同じ符号を付すとともに、その説明を省略する。
【００５１】
本実施形態によれば、何らかの事情によって、瞬間的に機器の姿勢状態の変化が起こったものの、すぐに機器の姿勢状態が元に戻った場合に、再度関連情報を取得することを必要とせず、関連情報の出力を再開することが可能になる。機器の姿勢状態が変化してすぐ元に戻る場合の例としては、ユーザが情報処理装置１０１を右手から左手に持ちかえる場合や、ユーザの癖などで無意識に情報処理装置１０１を持つ手で身体や衣服を触ってしまったり、人から呼ばれて振り返ったりする場合などがある。
【００５２】
図４は、本実施形態における情報処理装置１０１の機能構成の一例を示す図である。実施形態１と異なる点は、情報処理装置１０１がタイマ４０１を有する点である。機器姿勢状態管理部１１５は、タイマ４０１によって計時される、情報処理装置１０１の機器姿勢状態に変化が生じた時間や、前回の変化からの経過時間などを管理する。
【００５３】
図５は、一定時間内に機器姿勢状態の変化が元に戻った場合に、既に保持する関連情報を出力する際の処理手順の一例を示すフローチャートである。変化解析部１１６は、機器姿勢状態の変化を契機に、機器姿勢状態管理部１１５からの割り込み通知をうけ、まず、現在の機器姿勢状態を読みだす（ステップＳ５０１）。続いて、機器姿勢状態管理部１１５は、読みだした機器姿勢状態と同様の機器姿勢状態を、既に記録保持されている機器姿勢状態をから検索する（ステップＳ５０２）。機器姿勢状態管理部１１５は、検索の結果、保持する機器姿勢状態の中に同じ機器姿勢状態があるかどうか判別する（ステップＳ５０３）。
【００５４】
同じ機器姿勢状態が保持されている場合（ステップＳ５０３：Ｙｅｓ）、機器姿勢状態管理部１１５は、該２つの同じ機器姿勢状態が一定時間内の機器姿勢状態か判別する（ステップＳ５０４）。すなわち、機器姿勢状態管理部１１５は、変化の前と該変化の後の２つの機器姿勢状態に対応する変化の時間の差が、一定時間内であるかどうかを判定する。ここで、機器姿勢状態管理部１１５は、一定時間内の機器姿勢状態のみを検索するようにしてもよいが、変化の経緯や変化の仕方を記録することによって、変化に応じて、時間の幅を変更してもよい。例えば、機器姿勢状態管理部１１５は、姿勢変化であれば短い時間変化のみを対象とし、方位変化であれば比較的長い時間の変化でも一定時間内として扱うなどが考えられる。一定時間内の記録であった場合（ステップＳ５０４：Ｙｅｓ）、出力制御部１１８は、前回の関連情報の出力を再開して処理を終了する（ステップＳ５０５）。
【００５５】
機器姿勢状態管理部１１５、検索の結果、同じ機器姿勢状態が保持されていない場合（ステップＳ５０３：Ｎｏ）、現在時刻と機器姿勢状態をメモリ１０８は不図示のＤＢに記録する（ステップＳ５０６）。その後、あるいは、同じ機器姿勢状態があったものの、一定時間内の機器姿勢状態ではなかった場合（ステップＳ５０４：Ｎｏ）、機器姿勢状態管理部１１５は、機器姿勢状態変化を変化解析部１１６へ通知して処理を終了する（ステップＳ５０７）。
【００５６】
ステップＳ５０７の処理において、機器姿勢状態管理部１１５が機器姿勢状態変化を通知することを契機に図３に示すステップＳ３０１の判別処理が実行される。あるいは、本実施形態では、ステップＳ５０１の処理において、機器姿勢状態管理部１１５は、機器姿勢状態を読みだすので、図３に示すステップＳ３０１の処理の前に、機器姿勢状態を取得しているかどうか判定し、取得されている場合には、ステップＳ３０７から処理が開始されてもよい。ここでは、ステップＳ５０７の処理において機器姿勢状態管理部１１５が機器姿勢状態変化を変化解析部１１６へ通知したが、機器姿勢状態管理部１１５からの割り込み処理を複数の処理が待つようにしてもよい。その結果、機器姿勢状態管理部１１５が一定時間内に機器姿勢状態が元に戻ったかどうかについて判別処理を行ったあとで、実施形態１で説明したように、変化判定部１１７が閾値以上の変化かどうかを判別することが可能になる。
【００５７】
なお、本実施形態では、機器姿勢状態管理部１１５が機器姿勢をメモリ１０８にて保持するが、カメラの入力画像を保持してもよい。この場合は、機器姿勢状態管理部１１５は、画像を比較することで、カメラの向きが同じかどうか判定できる。また、機器姿勢状態管理部１１５は、識別情報管理部１１２がステップＳ２０１で識別情報を取得したかどうか判別するタイミングで、該取得が一定時間内かどうかを判定してから、各機能部が前述の処理を行うようにしてもよい。
【００５８】
このように、本実施形態の情報処理装置１０１によれば、実施形態１において述べた効果に加え、機器姿勢状態の変化が一定時間内の場合には、前回の関連情報が出力され、ユーザが意図しない関連情報が表示されることが回避される。
【００５９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１０１  情報処理装置、１０２  カメラ、１０３  センサ、１０４  出力部、１０５  通信部、１０６  ＣＰＵ、１０７  プログラムメモリ、１０８  メモリ、１１１  識別情報検出部、１１２  識別情報管理部、１１３  関連情報取得部、１１４  関連情報管理部、１１５  機器姿勢状態管理部、１１６  変化解析部、１１７  変化判定部、１１８  出漁制御部
【図１】
2016224127.tif 000003
【図２】
2016224127.tif 000004
【図３】
2016224127.tif 000005
【図４】
2016224127.tif 000006
【図５】
2016224127.tif 000007