(57)【特許請求の範囲】
【請求項１】
振動時の装置の動きを推定する動き推定装置であって、
前記装置の動きを表す予測モデルと、前記装置の第１物理量としての加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、前記装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の前記装置の動きを推定する推定部を備える、動き推定装置。
【請求項２】
請求項１に記載の動き推定装置であって、
前記予測モデルでは、あるタイミングでの前記第１物理量の予測確率分布が、当該あるタイミングよりも前のタイミングでの前記第１物理量の推定確率分布を用いた外挿式で表される、動き推定装置。
【請求項３】
請求項１及び請求項２のいずれか一つに記載の動き推定装置であって、
前記観測モデルでは、前記装置の変位及び総変位についての平均あるいは前記装置の回転角及び総回転角についての平均が零として表されている、動き推定装置。
【請求項４】
請求項１から請求項３のいずれか一つに記載の動き推定装置であって、
前記検出値に対して第１フィルタ処理を行う第１フィルタをさらに備え、
前記観測モデルでは、前記第１フィルタ処理が行われた前記検出値が用いられる、動き推定装置。
【請求項５】
請求項１から請求項４のいずれか一つに記載の動き推定装置であって、
前記推定部での推定結果に対して第２フィルタ処理を行う第２フィルタをさらに備える、動き推定装置。
【請求項６】
請求項１から請求項５のいずれか一つに記載の動き推定装置であって、
前記推定部は、前記装置の動きの推定結果として、前記装置の加速度、速度、変位及び総変位のいずれか一つの第１推定値、あるいは前記装置の回転角速度、回転角及び総回転角のいずれか一つの第２推定値を生成する、動き推定装置。
【請求項７】
請求項６に記載の動き推定装置と、
表示部と、
前記動き推定装置の前記推定部で生成される前記変位の前記第１推定値あるいは前記回転角の前記第２推定値に基づいて、前記表示部に表示される画像の表示位置を制御することによって、当該画像の地球に対する位置を制御する表示制御部と
を備える、電子機器。
【請求項８】
請求項２に記載の動き推定装置と、
表示部と、
前記表示部の表示を制御する表示制御部と
を備え、
前記動き推定装置の前記推定部は、前記装置の動きの推定結果として、前記装置の第２物理量としての変位あるいは回転角の推定値を生成し、
前記表示制御部は、前記第２物理量の推定値に基づいて、前記表示部に表示される画像の表示位置を制御することによって、当該画像の地球に対する位置を制御し、
前記予測モデルでは、あるタイミングでの前記第２物理量の予測確率分布が、当該あるタイミングよりも前のタイミングでの前記第１物理量の推定確率分布を用いた予測式で表され、
前記推定部は、
前記あるタイミングでの前記第１物理量の推定確率分布を、前記外挿式において前記前のタイミングでの前記第１物理量の推定確率分布として使用して、前記あるタイミングよりも先のタイミングでの前記第１物理量の予測確率分布を求め、求めた前記先のタイミングでの前記第１物理量の予測確率分布を用いた前記ベイズ推定に基づいて、前記先のタイミングでの前記第１物理量の推定確率分布を生成するという処理を繰り返し実行することによって得られた前記第１物理量の推定確率分布を、前記予測式において前記前のタイミングでの前記第１物理量の推定確率分布として使用して、前記画像が前記表示部で表示される表示タイミングでの前記第２物理量の予測確率分布を求め、
前記表示タイミングでの前記第２物理量の予測確率分布を用いた前記ベイズ推定に基づいて、前記表示タイミングでの前記第２物理量の推定値を生成する、電子機器。
【請求項９】
コンピュータを制御するための制御プログラムであって、
前記コンピュータに、
装置の動きを表す予測モデルと、前記装置の加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、前記装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の前記装置の動きを推定する処理を実行させる制御プログラム。
【請求項１０】
振動時の装置の動きを推定する動き推定方法であって、
前記装置の動きを表す予測モデルと、前記装置の加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、前記装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の前記装置の動きを推定する、動き推定方法。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、日本国特許出願２０１８−１９３３６３号（２０１８年１０月１２日出願）の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
【技術分野】
【０００２】
本開示は、装置の動きの推定に関する。
【背景技術】
【０００３】
特許文献１には、電子機器に関する技術が記載されている。また特許文献２及び非特許文献１には、ベイズ推定に関する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１４１７００号公報
【特許文献２】特開２００５−１６５６８８号公報
【非特許文献】
【０００５】
【非特許文献１】樋口和之編著、「データ同化入門−次世代のシミュレーション技術−」、朝倉書店、２０１１年９月
【発明の概要】
【発明が解決しようとする課題】
【０００６】
電気機器等の装置の動きを推定する場合には、適切に装置の動きを推定できることが望まれる。【０００７】
そこで、本発明は上述の点に鑑みて成されたものであり、装置の動きを適切に推定できることを可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
動き推定装置、電子機器、制御プログラム及び動き推定方法が開示される。一の実施の形態では、動き推定装置は、振動時の装置の動きを推定する動き推定装置である。動き推定装置は推定部を備える。推定部は、装置の動きを表す予測モデルと、装置の第１物理量としての加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の装置の動きを推定する。【０００９】
また、一の実施の形態では、電子機器は、上記の動き推定装置と、表示部と、表示制御部とを備える。表示制御部は、動き推定装置の推定部で生成される変位あるいは回転角の推定値に基づいて、表示部に表示される画像の表示位置を制御することによって、当該画像の地球に対する位置を制御する。【００１０】
また、一の実施の形態では、制御プログラムは、コンピュータを制御するための制御プログラムである。制御プログラムは、コンピュータに、装置の動きを表す予測モデルと、装置の加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の装置の動きを推定する処理を実行させる。【００１１】
また、一の実施の形態では、動き推定方法は、振動時の装置の動きを推定する動き推定方法である。動き推定方法は、装置の動きを表す予測モデルと、装置の加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の装置の動きを推定する。
【発明の効果】
【００１２】
装置の動きを適切に推定することができる。
【図面の簡単な説明】
【００１３】
【図１】電子機器の外観の一例を示す斜視図である。
【図２】電子機器の外観の一例を示す背面図である。
【図３】電子機器の構成の一例を示すブロック図である。
【図４】制御部の構成の一例を示すブロック図である。
【図５】電子機器の動作の一例を示すフローチャートである。
【図６】電子機器の動作の一例を示すフローチャートである。
【図７】電子機器の動作の一例を示すフローチャートである。
【図８】制御部の構成の一例を示すブロック図である。
【図９】電子機器の動作の一例を説明するための図である。
【図１０】電子機器の動作の一例を示すフローチャートである。
【図１１】電子機器の動作の一例を説明するための図である。
【図１２】電子機器の動作の一例を説明するための図である。
【図１３】電子機器の構成の一例を示すブロック図である。
【図１４】電子機器が搭載される車両の一例を示す図である。
【図１５】電子機器の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
＜電子機器の外観＞
図１及び２は電子機器１の外観の一例を示す斜視図及び背面図である。図１及び２に示されるように、装置の一種である電子機器１は、平面視で略長方形の板状の機器ケース１１を備えている。機器ケース１１は電子機器１の外装を構成している。
【００１５】
機器ケース１１の前面１１ａには、文字、記号、図形等の各種情報が表示される表示面１２１が位置している。本例では、表示面１２１は、機器ケース１１に含まれる透明部分によって構成されている。表示面１２１の背面側には後述するタッチパネル１３０が位置する。これにより、ユーザは、電子機器１の前面の表示面１２１を指等で操作することによって、電子機器１に対して各種情報を入力することができる。なお、ユーザは、指以外の操作子、例えば、スタイラスペンなどのタッチパネル用ペンで表示面１２１を操作することによっても、電子機器１に対して各種情報を入力することができる。
【００１６】
機器ケース１１の前面１１ａの上端部にはレシーバ穴１２が位置している。前面１１ａの下端部にはスピーカ穴１３が位置している。機器ケース１１の下側の側面１１ｃにはマイク穴１４が位置している。
【００１７】
機器ケース１１の前面１１ａの上端部からは、後述する第１カメラ１９０が有するレンズ１９１が視認可能となっている。図２に示されるように、機器ケース１１の背面１１ｂの上端部からは、後述する第２カメラ２００が有するレンズ２０１が視認可能となっている。
【００１８】
電子機器１は、複数の操作ボタンを含む操作ボタン群１４０を備える。複数の操作ボタンのそれぞれはハードウェアボタンである。具体的には、複数の操作ボタンのそれぞれは押しボタンである。なお、操作ボタン群１４０に含まれる少なくとも一つの操作ボタンは、表示面１２１に表示されるソフトウェアボタンであってもよい。
【００１９】
操作ボタン群１４０には、機器ケース１１の前面１１ａの下端部に位置する操作ボタン１４１，１４２，１４３が含まれる。また、操作ボタン群１４０には、機器ケース１１の表面に位置する電源ボタン及びボリュームボタンが含まれてもよい。
【００２０】
操作ボタン１４１は、例えばバックボタンである。バックボタンは、表示面１２１の表示を一つ前の表示に切り替えるための操作ボタンである。ユーザが操作ボタン１４１を操作することよって、表示面１２１の表示が一つ前の表示に切り替わる。操作ボタン１４２は、例えばホームボタンである。ホームボタンは、表示面１２１にホーム画面を表示させるための操作ボタンである。ユーザが操作ボタン１４２を操作することよって、表示面１２１にホーム画面が表示される。操作ボタン１４３は、例えば履歴ボタンである。履歴ボタンは、電子機器１で実行されたアプリケーションの履歴を表示面１２１に表示させるための操作ボタンである。ユーザが操作ボタン１４３を操作することよって、表示面１２１には、電子機器１で実行されたアプリケーションの履歴が表示される。
【００２１】
以下では、図１，２に示されるＸＹＺ直交座標系を用いて電子機器１を説明することがある。Ｘ軸方向、Ｙ軸方向及びＺ軸方向は、電子機器１の短手方向、長手方向及び厚み方向にそれぞれ設定されている。
【００２２】
＜電子機器の電気的構成＞
図３は電子機器１の電気的構成の一例を主に示すブロック図である。図３に示されるように、電子機器１は、制御部１００、無線通信部１１０、表示部１２０、タッチパネル１３０、操作ボタン群１４０及び加速度センサ１５０を備える。さらに電子機器１は、レシーバ１６０、スピーカ１７０、マイク１８０、第１カメラ１９０、第２カメラ２００及び電池２１０を備える。電子機器１が備えるこれらの構成要素は、機器ケース１１内に収められている。電子機器１は、一種のコンピュータであると言える。
【００２３】
制御部１００は、電子機器１の他の構成要素を制御することによって、電子機器１の動作を統括的に管理することが可能である。制御部１００は制御装置あるいは制御回路とも言える。制御部１００は、以下にさらに詳細に述べられるように、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも１つのプロセッサを含む。
【００２４】
種々の実施形態によれば、少なくとも１つのプロセッサは、単一の集積回路（ＩＣ）として、または複数の通信可能に接続された集積回路（ＩＣ）及び／またはディスクリート回路（discrete circuits）として実行されてもよい。少なくとも１つのプロセッサは、種々の既知の技術に従って実行されることが可能である。
【００２５】
１つの実施形態において、プロセッサは、例えば、関連するメモリに記憶された指示を実行することによって１以上のデータ計算手続又は処理を実行するように構成された１以上の回路又はユニットを含む。他の実施形態において、プロセッサは、１以上のデータ計算手続き又は処理を実行するように構成されたファームウェア（例えば、ディスクリートロジックコンポーネント）であってもよい。
【００２６】
種々の実施形態によれば、プロセッサは、１以上のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号処理装置、プログラマブルロジックデバイス、フィールドプログラマブルゲートアレイ、またはこれらのデバイス若しくは構成の任意の組み合わせ、または他の既知のデバイス及び構成の組み合わせを含み、以下に説明される機能を実行してもよい。
【００２７】
本例では、制御部１００は、ＣＰＵ（Central Processing Unit）１０１、ＤＳＰ（Digital Signal Processor）１０２及び記憶部１０３を備える。記憶部１０３は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）などの、ＣＰＵ１０１及びＤＳＰ１０２が読み取り可能な非一時的な記録媒体を含む。記憶部１０３が有するＲＯＭは、例えば、不揮発性メモリであるフラッシュＲＯＭ（フラッシュメモリ）である。記憶部１０３には、電子機器１を制御するための複数の制御プログラム１０３ａ等が記憶されている。制御部１００の各種機能は、ＣＰＵ１０１及びＤＳＰ１０２が記憶部１０３内の各種制御プログラム１０３ａを実行することによって実現される。
【００２８】
なお制御部１００は、複数のＣＰＵ１０１を備えてもよい。この場合、制御部１００は、比較的複雑な処理を行う、処理能力が高いメインＣＰＵと、比較的簡単な処理を行う、処理能力が低いサブＣＰＵとを備えてもよい。また制御部１００は、ＤＳＰ１０２を備えなくてもよいし、複数のＤＳＰ１０２を備えてもよい。また、制御部１００の全ての機能あるいは制御部１００の一部の機能は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。
【００２９】
記憶部１０３は、ＲＯＭ及びＲＡＭ以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えてもよい。記憶部１０３は、例えば、小型のハードディスクドライブ及びＳＳＤ（Solid State Drive）などを備えていてもよい。
【００３０】
記憶部１０３内の複数の制御プログラム１０３ａには、様々なアプリケーション（アプリケーションプログラム）が含まれている。記憶部１０３には、例えば、音声通話及びビデオ通話を行うための通話アプリケーション、ウェブサイトを表示するためのブラウザ、電子メールの作成、閲覧及び送受信を行うためのメールアプリケーションが記憶されている。また記憶部１０３には、第１カメラ１９０及び第２カメラ２００を利用して被写体を撮影するためのカメラアプリケーション、記憶部１０３に記録されている静止画及び動画を表示するための記録画像表示アプリケーション、記憶部１０３に記憶されている音楽データの再生制御を行うための音楽再生制御アプリケーションなどが記憶されている。記憶部１０３内の少なくとも一つのアプリケーションは、記憶部１０３内にあらかじめ記憶されているものであってよい。また、記憶部１０３内の少なくとも一つのアプリケーションは、電子機器１が他の装置からダウンロードして記憶部１０３内に記憶したものであってよい。
【００３１】
無線通信部１１０は、アンテナ１１１を有している。無線通信部１１０は、アンテナ１１１を用いて、例えば複数種類の通信方式で無線通信することが可能である。無線通信部１１０の無線通信は、制御部１００によって制御される。無線通信部１１０は、通信回路あるいは無線通信回路とも言える。
【００３２】
無線通信部１１０は、携帯電話システムの基地局と無線通信することが可能である。無線通信部１１０は、当該基地局及びインターネット等のネットワークを通じて、電子機器１とは別の携帯電話機及びウェブサーバ等と通信することが可能である。電子機器１は、他の携帯電話機等と、データ通信、音声通話及びビデオ通話等を行うことが可能である。
【００３３】
また無線通信部１１０、ＷｉＦｉ等の無線ＬＡＮ（Local Area Network）を用いて無線通信を行うことが可能である。また無線通信部１１０は、近距離無線通信を行うことが可能である。例えば、無線通信部１１０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）に準拠して無線通信することが可能である。無線通信部１１０は、ＺｉｇＢｅｅ（登録商標）及びＮＦＣ（Near Field Communication）の少なくとも一方に準拠して無線通信することが可能であってもよい。
【００３４】
無線通信部１１０は、アンテナ１１１で受信した信号に対して増幅処理等の各種処理を行い、処理後の受信信号を制御部１００に出力する。制御部１００は、入力される受信信号に対して各種処理を行って、当該受信信号に含まれる情報を取得する。また、制御部１００は、情報を含む送信信号を無線通信部１１０に出力する。無線通信部１１０は、入力される送信信号に対して増幅処理等の各種処理を行って、処理後の送信信号をアンテナ１１１から無線送信する。
【００３５】
表示部１２０は、電子機器１の前面に位置する表示面１２１と、表示パネル１２２とを備えている。表示パネル１２２は、例えば液晶表示パネルであって、液晶、ガラス基板、偏光板及びバックライト等を備える。表示パネル１２２は、各種情報を表示することが可能である。表示パネル１２２は、機器ケース１１内において、表示面１２１と対向している。これにより、表示パネル１２２に表示される情報が表示面１２１に表示される。表示部１２０は画面表示部とも言える。
【００３６】
タッチパネル１３０は、表示面１２１に対する指等の操作子による操作を検出することが可能である。タッチパネル１３０は、例えば、投影型静電容量方式のタッチパネルである。タッチパネル１３０は、例えば、表示面１２１の裏側に位置する。ユーザが指等の操作子によって表示面１２１に対して操作を行ったとき、その操作に応じた電気信号をタッチパネル１３０は制御部１００に入力することが可能である。制御部１００は、タッチパネル１３０からの電気信号（出力信号）に基づいて、表示面１２１に対して行われた操作の内容を特定することが可能である。そして制御部１００は、特定した操作内容に応じた処理を行うことが可能である。タッチパネル１３０はタッチセンサとも言える。なお、表示パネル１２２及びタッチパネル１３０の代わりに、タッチパネルが組み込まれたインセル型の表示パネルが採用されてもよい。
【００３７】
操作ボタン群１４０の各操作ボタンは、ユーザによって操作されると、操作されたことを示す操作信号を制御部１００に出力することが可能である。これにより、制御部１００は、各操作ボタンについて、当該操作ボタンが操作されたか否かを判断することができる。操作信号が入力された制御部１００が他の構成要素を制御することによって、電子機器１では、操作された操作ボタンに割り当てられている機能が実行される。
【００３８】
マイク１８０は、電子機器１の外部から入力される音を電気的な音信号に変換して制御部１００に出力することが可能である。電子機器１の外部からの音は、マイク穴１４から電子機器１の内部に取り込まれてマイク１８０に入力される。
【００３９】
スピーカ１７０は、例えばダイナミックスピーカである。スピーカ１７０は、制御部１００からの電気的な音信号を音に変換して出力することが可能である。スピーカ１７０から出力される音は、スピーカ穴１３から外部に出力される。ユーザは、スピーカ穴１３から出力される音を、電子機器１から離れた場所でも聞こえることが可能である。
【００４０】
レシーバ１６０は受話音を出力することが可能である。レシーバ１６０は例えばダイナミックスピーカである。レシーバ１６０は、制御部１００からの電気的な音信号を音に変換して出力することが可能である。レシーバ１６０から出力される音はレシーバ穴１２から外部に出力される。レシーバ穴１２から出力される音の音量は、スピーカ穴１３から出力される音の音量よりも小さくなっている。ユーザは、レシーバ穴１２から出力される音を、当該レシーバ穴１２に耳を近づけることによって聞くことができる。なお、レシーバ１６０の代わりに、機器ケース１１の前面部分を振動させる、圧電振動素子等の振動素子を設けてもよい。この場合には、音は、当該前面部分の振動によりユーザに伝達される。
【００４１】
第１カメラ１９０は、レンズ１９１及びイメージセンサなどを備えている。第２カメラ２００は、レンズ２０１及びイメージセンサなどを備えている。第１カメラ１９０及び第２カメラ２００のそれぞれは、制御部１００による制御に基づいて被写体を撮影し、撮影した被写体を示す静止画あるいは動画を生成して制御部１００に出力することが可能である。
【００４２】
第１カメラ１９０のレンズ１９１は、機器ケース１１の前面１１ａから視認可能となっている。したがって、第１カメラ１９０は、電子機器１の前面側（表示面１２１側）に存在する被写体を撮影することが可能である。第１カメラ１９０はインカメラと呼ばれる。一方で、第２カメラ２００のレンズ２０１は、機器ケース１１の背面１１ｂから視認可能となっている。したがって、第２カメラ２００は、電子機器１の背面側に存在する被写体を撮影することが可能である。第２カメラ２００はアウトカメラと呼ばれる。
【００４３】
加速度センサ１５０は、電子機器１の加速度を検出することが可能である。加速度センサ１５０は例えば３軸加速度センサである。加速度センサ１５０は、Ｘ軸方向、Ｙ軸方向及びＺ軸方向（図１，２参照）の電子機器１の加速度を検出することが可能である。加速度センサ１５０は、所定間隔ごとに、加速度を検出してその検出結果を出力する。本例では、当該所定間隔は５ｍｓであるが、他の値でもよい。以後、当該所定間隔を検出間隔と呼ぶことがある。また、検出間隔の長さをＴで表すことがある。
【００４４】
電池２１０は電子機器１の電源を出力することが可能である。電池２１０は例えば充電式の電池である。電池２１０から出力される電源は、電子機器１が備える制御部１００及び無線通信部１１０などの各種構成に対して供給される。
【００４５】
なお電子機器１は、加速度センサ１５０を備えなくてもよい。この場合、電子機器１は、それとは別体の加速度センサと、無線あるいは有線で接続されてよい。
【００４６】
また電子機器１は、加速度センサ１５０以外のセンサを備えてもよい。例えば、電子機器１は、気圧センサ、地磁気センサ、温度センサ、近接センサ、照度センサ、位置センサ及びジャイロセンサの少なくとも一つを備えてもよい。また電子機器１は、それとは別体の、加速度センサ１５０以外のセンサと、無線あるいは有線で接続されてもよい。
【００４７】
＜電子機器の動きの推定＞
本例では、制御部１００は、図４に示されるように、機能ブロックとして動き推定装置４００を備える。動き推定装置４００は、加速度センサ１５０の検出値１５１に基づいて、振動時の電子機器１の動きを推定することが可能である。ここで、振動は、周期的な振動と非周期的な振動の両方を含む概念である。振動は、揺れあるいは揺動とも言える。以後、単に動きと言えば、電子機器１の動きを意味する。また、検出値１５１、つまり加速度センサ１５０で検出される加速度を加速度検出値と呼ぶことがある。
【００４８】
図４に示されるように、動き推定装置４００は、推定部３００と、第１フィルタ３１０と、第２フィルタ３２０とを備える。推定部３００、第１フィルタ３１０及び第２フィルタ３２０の少なくとも一つは、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。
【００４９】
本例では、動き推定装置４００は、動きの推定結果についての後述の利用方法を考慮して、例えば、電子機器１についての、周波数帯が２Ｈｚ以上５Ｈｚ以下の振幅が数ｍｍの小さいランダム振動を対象振動とする。そして、制御部１００は、対象振動を行っている電子機器１の動きを推定することができる。このような条件を満たす対象振動としては、例えば、電子機器１を手に持つユーザがバスあるいは電車等の車両内に存在する場合に、当該車両の振動によって生じる電子機器１の振動が挙げられる。また、対象振動としては、電子機器１を持つユーザの手が加齢あるいは病気などの事情により震える場合の電子機器１の振動が挙げられる。なお、対象振動は本例に限られない。
【００５０】
加速度センサ１５０の検出値１５１は、対象振動以外の影響も受ける。例えば、検出値１５１は重力の影響を受ける。また、電子機器１を手に持つユーザが車両内に存在する場合には、検出値１５１は、車両にかかる遠心力の影響を受けたり、車両が発進したり停止したりする際の当該車両の加速度の影響を受けたりする。また、検出値１５１は、ユーザが随意的に手をゆっくり動かす場合にも影響を受けたりする。これらの外乱に抗して、対象となる補正すべき動きを単離して推定する必要がある。
【００５１】
第１フィルタ３１０は、加速度センサ１５０の検出値１５１から、対象振動以外の影響を除去するために、検出値１５１に対してフィルタ処理を行う。第１フィルタ３１０は、例えばハイパスフィルタであって、その通過帯域が例えば２Ｈｚ以上に設定される。なお、第１フィルタ３１０はバンドパスフィルタであってもよい。このバンドパスフィルタの通過帯域は例えば２Ｈｚ以上５Ｈｚ以下に設定される。第１フィルタ３１０の通過帯域は本例に限られない。
【００５２】
推定部３００は、第１フィルタ３１０でフィルタ処理された検出値１５１と、観測モデル３５０と、予測モデル３６０とを用いたベイズ推定に基づいて、対象振動時の電子機器１の動きを推定する。推定部３００は、例えば、逐次ベイズフィルタと呼ばれる方法で、対象振動時の電子機器１の動きを推定する。逐次ベイズフィルタについては上記の非特許文献１に記載されている。本例では、後述するように、推定部３００は、電子機器１の動きの推定結果として、例えば、電子機器１の加速度の推定値と、電子機器１の速度の推定値と、電子機器１の変位の推定値と、電子機器１の総変位の推定値とを生成する。
【００５３】
ここで、電子機器１の変位とは、電子機器１の位置についての基準位置からの変化の量を意味する。電子機器１の変位は、基準位置に対する相対的な位置を示しているとも言える。また電子機器１の総変位とは、電子機器１の各時刻の変位を足し合わせたものである。基準位置としては、例えば、動き推定装置４００が動作を開始したときの電子機器１の位置が採用される。動き推定装置４００は、電子機器１の動作開始に応じて動作を開始してもよいし、動作中の電子機器１に対するユーザの操作に応じて動作を開始してもよい。また、動き推定装置４００は、動作中の電子機器１において他の条件が成立した場合に、動作を開始してもよい。
【００５４】
以後、ベイズ推定によって得られる電子機器１の加速度、速度、変位及び総変位の推定値を、それぞれ、加速度推定値、速度推定値、変位推定値及び総変位推定値と呼ぶことがある。また、単に加速度と言えば、電子機器１の加速度を意味し、単に速度と言えば、電子機器１の速度を意味する。また、単に変位と言えば、電子機器１の変位を意味し、単に総変位と言えば、電子機器１の総変位を意味する。加速度、速度、変位及び総変位のそれぞれは、電子機器１の物理量であると言える。
【００５５】
第２フィルタ３２０は、推定部３００での推定結果に対してフィルタ処理を行う。本例では、第２フィルタ３２０は、推定部３００から出力される加速度推定値、速度推定値、変位推定値及び総変位推定値のそれぞれに対して個別にフィルタ処理を行う。第２フィルタ３２０は、ハイパスフィルタであってもよいし、バンドパスフィルタであってもよい。第２フィルタ３２０のフィルタ特性は、第１フィルタ３１０のフィルタ特性と同じであってもよいし、異なっていてもよい。例えば、第２フィルタ３２０の通過帯域は、第１フィルタ３１０の通過帯域と同じであってもよいし、異なっていてもよい。推定部３００での推定結果に対してフィルタ処理を行うことによって、推定結果の利用態様に適した推定結果を得ることができる。
【００５６】
＜推定部の動作の詳細＞
ベイズの定理によると、時刻ｔの事後確率ｐ（ｘｔ｜ｚ１：ｔ）は以下の式（１）で表すことができる。事後確率ｐ（ｘｔ｜ｚ１：ｔ）は確率分布であって、事後分布ｐ（ｘｔ｜ｚ１：ｔ）とも呼ばれる。
【００５７】
【数１】
0006621167.tif 000002
【００５８】
ここで、ｘは、状態を表すベクトルであって、状態ベクトルと呼ばれる。状態ベクトルｘｔは時刻ｔの状態ベクトルｘを意味する。ｚは、観測を表すベクトルであって、観測ベクトルと呼ばれる。観測ベクトルｚｔは時刻ｔの観測ベクトルを意味する。観測ベクトルｚ１：ｔは、時刻１〜ｔまでの観測ベクトルを意味する。式（１）に示されるように、時刻ｔの事後確率ｐ（ｘｔ｜ｚ１：ｔ）は、確率分布ｐ（ｚｔ｜ｘｔ）と、確率分布ｐ（ｘｔ｜ｘｔ−１）と、時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）とで表すことができる。確率分布ｐ（ｚｔ｜ｘｔ）は観測モデルと呼ばれ、確率分布ｐ（ｘｔ｜ｘｔ−１）は予測モデルあるいはシステムモデルと呼ばれる。
【００５９】
状態ベクトルｘ及び観測ベクトルｚのそれぞれには、少なくとも一つの変数が含まれる。本例では、状態ベクトルｘには、変数として、加速度、速度、変位及び総変位が含まれる。観測ベクトルｚには、変数として、加速度、速度、変位及び総変位が含まれる。状態ベクトルｘ及び観測ベクトルｚに含まれる変数は確率変数であるとも言える。
【００６０】
推定部３００は、式（１）を用いて事後確率ｐ（ｘｔ｜ｚ１：ｔ）を求めることによってベイズ推定を行う。つまり、推定部３００は、前回の推定結果としての事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）に対して、予測モデルと観測モデルを適用することによって、事後確率ｐ（ｘｔ｜ｚ１：ｔ）を逐次的に推定する。推定部３００は、ｐ（ｚｔ｜ｘｔ）として観測モデル３５０を使用し、確率分布ｐ（ｘｔ｜ｘｔ−１）として予測モデル３６０を使用する。推定部３００は、求めた事後確率ｐ（ｘｔ｜ｚ１：ｔ）が最大となる状態ベクトルを推定状態ベクトルする。そして、推定部３００は、推定状態ベクトルの加速度、速度、変位及び総変位の成分を、それぞれ、加速度推定値、速度推定値、変位推定値及び総変位推定値とする。
【００６１】
＜観測モデルの一例＞
本例では、観測モデル３５０は対象振動を表す観測モデルである。本例では、観測モデル３５０は、対象振動に関する統計的な事前知識を表す確率分布である。具体的には、観測モデル３５０は、対象振動時の電子機器１の加速度、速度、変位及び総変位を表す最大４次元の確率分布である。以後、観測モデル３５０の各次元についての周辺確率分布を、それぞれ、第１確率分布、第２確率分布、第３確率分布及び第４確率分布と呼ぶことがある。
【００６２】
ここで、上述のように、対象振動の振幅は小さい。したがって、対象振動時の電子機器１の位置はあまり変化しない。本例では、対象振動時の電子機器１の変位を、例えば、当該変位を確率変数とする、平均が零で分散の小さい固定の第１確率分布で表すことによって、観測モデル３５０において、電子機器１の位置があまり変化しないという知識を表現する。観測モデル３５０では、対象振動時の電子機器１の変位の平均が零であると表現されていると言える。また、本例では、対象振動時の電子機器１の加速度を、例えば、当該加速度を確率変数とする、平均が加速度検出値で分散の小さい第２確率分布で表す。第２確率分布の平均としては、例えば、第１フィルタ３１０でフィルタ処理された加速度検出値が採用される。第２確率分布は加速度検出値に応じて変化する。また、本例では、対象振動時の電子機器１の速度を、例えば、当該速度を確率変数とする、平均が零で分散の小さい固定の第３確率分布で表すことによって、観測モデル３５０において、電子機器１の速度があまり大きくならないという知識を表現する。
【００６３】
また、観測モデル３５０は、対象振動を表す観測モデルであることから、観測モデル３５０において、電子機器１が振動するという知識を表現する必要がある。本例では、対象振動時の電子機器１の総変位を、例えば、当該総変位を確率変数とする、平均が零の固定の第４確率分布で表すことによって、観測モデル３５０において、電子機器１が振動するという知識を表現する。観測モデル３５０では、対象振動時の電子機器１の総変位の平均が零であると表現されていると言える。
【００６４】
観測モデル３５０については、例えば機械学習によって対象振動に対して決定される。この場合、観測モデル３５０は、例えば最尤推定法が使用されて決定されてもよい。また、観測モデル３５０は、対象振動の振動環境における実測値の統計分布に基づいて決定されてもよい。また、観測モデル３５０は、機械学習と実測値の統計分布の両方に基づいて決定されてもよい。第１〜第４確率分布としては、例えば正規分布が採用されてもよい。この場合、ベイズ推定でのフィルタとして、高速なカルマンフィルタが採用できる。
【００６５】
＜予測モデルの一例＞
予測モデル３６０では、時刻ｔでの加速度の予測値がａ（ｔ）で表され、加速度についての時刻ｔでの予測誤差がｗ＿ａ（ｔ）で表される。本例では、電子機器１の加速度は滑らかに変化するものとし、以下の式（２）が成立すると考える。
【００６６】
【数２】
0006621167.tif 000003
【００６７】
式（２）より、予測モデル３６０では、ノイズ成分であるとも言える予測誤差を考慮しなければ、加速度は線形変化すると言える。本例では、予測値ａ（ｔ）は確率分布で表される。以後、予測値ａ（ｔ）を予測確率分布ａ（ｔ）と呼ぶことがある。予測誤差は、例えば、時刻に応じて変化しない固定の確率分布が採用される。予測誤差は例えば機械学習によって決定される。この場合、予測誤差は例えば最尤推定法が使用されて決定されてもよい。予測誤差を表す確率分布として、例えば正規分布が採用されてもよい。この場合、ベイズ推定でのフィルタとして、高速なカルマンフィルタが採用できる。
【００６８】
式（２）から以下の式（３）が得られる。
【００６９】
【数３】
0006621167.tif 000004
【００７０】
推定部３００は、式（３）を用いて、時刻ｔでの加速度の予測値ａ（ｔ）を求める。このとき、推定部３００は、式（３）のａ（ｔ−１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての加速度の周辺確率分布を代入する。また推定部３００は、式（３）のａ（ｔ−２）に対して、推定された時刻ｔ―２の事後確率ｐ（ｘｔ−２｜ｚ１：ｔ−２）についての加速度の周辺確率分布を代入する。
【００７１】
ここで、時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての加速度の周辺確率分布は、時刻ｔ―１の加速度の推定確率分布であると言える。また、時刻ｔ−２の事後確率ｐ（ｘｔ−２｜ｚ１：ｔ−２）についての加速度の周辺確率分布は、時刻ｔ―２の加速度の推定確率分布であると言える。したがって、予測モデル３６０では、時刻ｔでの加速度の予測確率分布ａ（ｔ）は、時刻ｔ−１での加速度の推定確率分布と、時刻ｔ−２での加速度の推定確率分布と、時刻ｔでの予測誤差ｗ＿ａ（ｔ）とで表されると言える。式（３）より、時刻ｔでの加速度の予測確率分布ａ（ｔ）は、時刻ｔ−１での加速度の推定確率分布と、時刻ｔ−２での加速度の推定確率分布とを用いた外挿により求められると言える。予測モデル３６０では、あるタイミングでの加速度の予測確率分布が、それよりも前のタイミングでの加速度の推定確率分布を用いた外挿式で表されると言える。なお、推定部３００は、動作開始直後において、加速度の過去の推定確率分布が存在しない場合には、ａ（ｔ−１）及びａ（ｔ−２）に初期確率分布（例えば、平均が零で分散が所定値である正規分布）を代入する。
【００７２】
また、予測モデル３６０では、時刻ｔでの速度の予測値がｖ（ｔ）で表され、時刻ｔでの変位の予測値がｒ（ｔ）で表され、時刻ｔでの総変位の予測値がｓ（ｔ）で表される。
【００７３】
ここで、電子機器１の速度については、電子機器１の加速度を積分することによって得られる。また、電子機器１の変位については、電子機器１の速度を積分することによって得られる。そして、電子機器１の総変位については、電子機器１の変位を積分することによって得られる。
【００７４】
予測モデル３６０では、速度の予測値ｖ（ｔ）、変位の予測値ｒ（ｔ）及び総変位の予測値ｓ（ｔ）が、加速度センサ１５０の検出間隔の長さＴを用いた以下の式（４），（５），（６）でそれぞれ表される。予測モデル３６０では、速度についての時刻ｔでの予測誤差がｗ＿ｖ（ｔ）で表され、変位についての時刻ｔでの予測誤差がｗ＿ｒ（ｔ）で表され、総変位についての時刻ｔでの予測誤差がｗ＿ｓ（ｔ）で表される。本例では、予測値ｖ（ｔ）、予測値ｒ（ｔ）及び予測値ｓ（ｔ）のそれぞれは確率分布で表される。以後、予測値ｖ（ｔ）、予測値ｒ（ｔ）及び予測値ｓ（ｔ）を、それぞれ、予測確率分布ｖ（ｔ）、予測確率分布ｒ（ｔ）及び予測確率分布ｓ（ｔ）と呼ぶことがある。
【００７５】
【数４】
0006621167.tif 000005
【００７６】
【数５】
0006621167.tif 000006
【００７７】
【数６】
0006621167.tif 000007
【００７８】
推定部３００は、式（４）を用いて、時刻ｔでの速度の予測値ｖ（ｔ）を求める。このとき、推定部３００は、式（４）のａ（ｔ−１）及びｖ（ｔ―１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての加速度及び速度の周辺確率分布をそれぞれ代入する。したがって、式（４）は、時刻ｔ−１での加速度の推定確率分布と時刻ｔ−１での速度の推定確率分布とを用いた、時刻ｔでの速度の確率分布を予測する予測式であると言える。
【００７９】
また、推定部３００は、式（５）を用いて、時刻ｔでの変位の予測値ｒ（ｔ）を求める。このとき、推定部３００は、式（５）のａ（ｔ−１）、ｖ（ｔ−１）及びｒ（ｔ−１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての加速度、速度及び変位の周辺確率分布をそれぞれ代入する。したがって、式（５）は、時刻ｔ−１での加速度の推定確率分布と、時刻ｔ−１での速度の推定確率分布と、時刻ｔ−１での変位の推定確率分布と用いた、時刻ｔでの変位の確率分布を予測する予測式であると言える。
【００８０】
また、推定部３００は、式（６）を用いて、時刻ｔでの総変位の予測値ｓ（ｔ）を求める。このとき、推定部３００は、式（６）のａ（ｔ−１）、ｖ（ｔ−１）、ｒ（ｔ−１）及びｓ（ｔ―１）に対して、予測された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての加速度、速度、変位及び総変位の周辺確率分布をそれぞれ代入する。したがって、式（６）は、時刻ｔ−１での加速度の推定確率分布と、時刻ｔ−１での速度の推定確率分布と、時刻ｔ−１での変位の推定確率分布と、時刻ｔ−１での総変位の推定確率分布と用いた、時刻ｔでの総変位の確率分布を予測する予測式であると言える。
【００８１】
推定部３００は、加速度センサ１５０から出力される加速度検出値（言い換えれば、検出値１５１）と、予測モデル３６０での式（３）〜（６）と、観測モデル３５０とを用いたベイズ推定に基づいて、現在の電子機器１の動きを推定する動き推定処理を行う。
【００８２】
図５は推定部３００での動き推定処理の一例を示すフローチャートである。図５に示される動き推定処理は、加速度センサ１５０において新たに加速度が検出されるたびに実行される。本例では、推定部３００は、動き推定処理において、例えば、Ｘ軸方向の加速度推定値、速度推定値、変位推定値及び総変位推定値を求める。また、推定部３００は、動き推定処理において、例えば、Ｙ軸方向の加速度推定値、速度推定値、変位推定値及び総変位推定値を求める。
【００８３】
推定部３００は、加速度センサ１５０から最新の加速度検出値を取得すると、図５に示されるように、ステップｓ１において、予測モデル３６０を用いて、現在の加速度の予測値を求める。本例では、推定部３００は、予測モデル３６０を用いて、Ｘ軸方向の加速度の予測値と、Ｙ軸方向の加速度の予測値とを別々に求める。
【００８４】
ステップｓ１において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布を式（３）のａ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理のステップｓ１においてａ（ｔ−１）に代入したＸ軸方向の加速度の周辺確率分布を、式（３）のａ（ｔ−２）に代入する。言い換えれば、推定部３００は、前々回の動き推定処理で得られた事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布を、式（３）の予測値ａ（ｔ−２）に代入する。これにより得られた予測値ａ（ｔ）、つまり予測確率分布ａ（ｔ）を、推定部３００は、Ｘ軸方向の現在の加速度の予測値（言い換えれば、予測確率分布）とする。推定部３００は、同様にして、式（３）を用いて、Ｙ軸方向の現在の加速度の予測値を求める。
【００８５】
次にステップｓ２において、推定部３００は、予測モデル３６０を用いて、現在の速度の予測値を求める。本例では、推定部３００は、予測モデル３６０を用いて、Ｘ軸方向の速度の予測値と、Ｙ軸方向の速度の予測値とを別々に求める。
【００８６】
ステップｓ２において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布を式（４）のａ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布を式（４）のｖ（ｔ−１）に代入する。これにより得られた予測値ｖ（ｔ）、つまり予測確率分布ｖ（ｔ）を、推定部３００は、Ｘ軸方向の現在の速度の予測値とする。推定部３００は、同様にして、式（４）を用いて、Ｙ軸方向の現在の速度の予測値を求める。
【００８７】
次にステップｓ３において、推定部３００は、予測モデル３６０を用いて、現在の変位の予測値を求める。本例では、推定部３００は、予測モデル３６０を用いて、Ｘ軸方向の変位の予測値と、Ｙ軸方向の変位の予測値とを別々に求める。
【００８８】
ステップｓ３において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布を式（５）のａ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布を、式（５）のｖ（ｔ−１）に代入する。そして、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の変位の周辺確率分布を、式（５）のｒ（ｔ−１）に代入する。これにより得られた予測値ｒ（ｔ）、つまり予測確率分布ｒ（ｔ）を、推定部３００は、Ｘ軸方向の現在の変位の予測値とする。推定部３００は、同様にして、式（５）を用いて、Ｙ軸方向の現在の変位の予測値を求める。
【００８９】
次にステップｓ４において、推定部３００は、予測モデル３６０を用いて、現在の総変位の予測値を求める。本例では、推定部３００は、予測モデル３６０を用いて、Ｘ軸方向の総変位の予測値と、Ｙ軸方向の総変位の予測値とを別々に求める。
【００９０】
ステップｓ４において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布を式（６）のａ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布を、式（６）のｖ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の変位の周辺確率分布を、式（６）のｒ（ｔ−１）に代入する。そして、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の総変位の周辺確率分布を、式（６）のｓ（ｔ−１）に代入する。これにより得られた予測値ｓ（ｔ）、言い換えれば予測確率分布ｓ（ｔ）を、推定部３００は、Ｘ軸方向の現在の総変位の予測値とする。推定部３００は、同様にして、式（６）を用いて、Ｙ軸方向の現在の総変位の予測値を求める。
【００９１】
次にステップｓ５において、推定部３００は、ステップｓ１〜ｓ４で求めた予測値と観測モデル３５０とを用いたベイズ推定に基づいて、加速度の推定値、速度の推定値、変位の推定値及び総変位の推定値を生成する。
【００９２】
本例では、推定部３００は、ステップｓ１〜ｓ４で求めたＸ軸方向の予測値と観測モデル３５０とを用いたベイズ推定に基づいて、Ｘ軸方向の加速度、速度、変位及び総変位の推定値を生成する。また、推定部３００は、ステップｓ１〜ｓ４で求めたＹ軸方向の予測値と観測モデル３５０とを用いたベイズ推定に基づいて、Ｙ軸方向の加速度、速度、変位及び総変位の推定値を生成する。
【００９３】
ステップｓ５では、推定部３００は、ステップｓ１〜ｓ４で得られたＸ軸方向の加速度、速度、変位及び総変位の予測値（言い換えれば、予測確率分布）を上述の式（１）のｐ（ｘｔ｜ｘｔ−１）に代入する。また推定部３００は、観測モデル３５０を式（１）のｐ（ｚｔ｜ｘｔ）に代入する。このとき、推定部３００は、Ｘ軸方向の最新の加速度検出値（詳細には、第１フィルタ３１０でフィルタ処理されたＸ軸方向の最新の加速度検出値）を第２確率分布の平均として用いる。そして、推定部３００は、前回の動き推定処理のステップｓ５で得られた事後確率ｐ（ｘｔ｜ｚ１：ｔ）を式（１）の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）に代入して、事後確率ｐ（ｘｔ｜ｚ１：ｔ）を求める。これにより、時刻ｔの事後確率ｐ（ｘｔ｜ｚ１：ｔ）が推定される。推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についての各次元の周辺確率分布は、次回の動き推定処理での予測値の算出に使用される。推定部３００は、推定した事後確率ｐ（ｘｔ｜ｚ１：ｔ）が最大となる状態ベクトルを特定し、それを推定状態ベクトルとする。推定部３００は、推定状態ベクトルの加速度、速度、変位及び総変位の成分を、それぞれ、Ｘ軸方向の現在の加速度推定値、速度推定値、変位推定値及び総変位推定値とする。電子機器１が対象振動を行っている場合には、ステップｓ５では、対象振動時の電子機器１のＸ軸方向の加速度、速度、変位及び総変位の推定値が得られると言える。同様にして、推定部３００は、式（１）を用いて、Ｙ軸方向の加速度、速度、変位及び総変位の推定値を生成する。このとき、推定部３００は、Ｙ軸方向の最新の加速度検出値（詳細には、第１フィルタ３１０でフィルタ処理されたＹ軸方向の最新の加速度検出値）を第２確率分布の平均として用いる。
【００９４】
第２フィルタ３２０は、推定部３００で生成される、Ｘ軸方向の加速度、速度、変位及び総変位の推定値のそれぞれと、推定部３００で生成される、Ｙ軸方向の加速度、速度、変位及び総変位の推定値のそれぞれとに対して個別にフィルタ処理を行う。
【００９５】
なお、動き推定処理では、ａ（ｔ−１）に、フィルタ処理された加速度の周辺確率分布が入力されてもよい。また、ａ（ｔ−２）に、フィルタ処理された加速度の周辺確率分布が入力されてもよい。また、ｖ（ｔ―１）には、フィルタ処理された速度の周辺確率分布が入力されてもよい。また、ｒ（ｔ−１）には、フィルタ処理された変位の周辺確率分布が入力されてもよい。また、ｓ（ｔ−１）には、フィルタ処理された総変位の周辺確率分布が入力されてもよい。
【００９６】
動き推定処理では、同様にして、Ｚ軸方向の加速度、速度、変位及び総変位の推定値の少なくとも一つが生成されてもよい。また、動き推定処理では、Ｘ軸方向の加速度、速度、変位及び総変位の推定値の少なくとも一つが生成されなくてもよい。また、動き推定処理では、Ｙ軸方向の加速度、速度、変位及び総変位の推定値の少なくとも一つが生成されなくてもよい。また、回転振動についても同様の枠組みでベイズ推定を行ってもよい。
【００９７】
また、動き推定処理でのステップｓ１〜ｓ４の実行順序は上記の例に限られない。例えば、ステップｓ１は、ステップｓ２〜ｓ４のいずれか一つのステップの後に実行されてもよいし、ステップｓ４は、ステップｓ１〜ｓ３のいずれか一つのステップの前に実行されてもよい。
【００９８】
また、推定部３００は、現在よりも先のタイミングでの電子機器１の動きを推定することができる。図６はこの場合の推定部３００の動作の一例を示すフローチャートである。以後、上述のステップｓ１〜ｓ５の一連の処理を単位推定処理と呼ぶ。図６の例では、推定部３００は、単位推定処理を必要回数Ｍ（Ｍは１以上整数）だけ実行することによって、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの電子機器１の動きを推定することができる。Ｍ＝１の場合には、つまり単位推定処理が１回だけ実行される場合には、図６に示される動き推定処理は、図５に示される動き推定処理と実質的に同じとなる。
【００９９】
推定部３００は、加速度センサ１５０から新たな加速度検出値を取得すると、図６に示されるように、ステップｓ１１において単位推定処理を実行する。その後、ステップｓ１２において、推定部３００は、単位推定処理を必要回数Ｍだけ実行したか否かを判定する。
【０１００】
ステップｓ１２においてＹＥＳと判定されると、推定部３００は動き推定処理を終了する。一方で、ステップｓ１２においてＮＯと判定されると、推定部３００はステップｓ１１を再度実行して、単位推定処理を再度実行する。以後、推定部３００は同様に動作する。
【０１０１】
動き推定処理での２回目の単位推定処理のステップｓ１では、１回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が式（３）のａ（ｔ−１）に代入される。そして、１回目の単位推定処理においてａ（ｔ−１）に代入されたＸ軸方向の加速度の周辺確率分布が、式（３）のａ（ｔ−２）に代入される。これにより得られた予測値ａ（ｔ）（言い換えれば、予測確率分布ａ（ｔ））を、推定部３００は、現在よりもＴ時間先のタイミングでのＸ軸方向の加速度の予測値とする。２回目の単位推定処理のステップｓ１では、同様にして、現在よりもＴ時間先のタイミングでのＹ軸方向の加速度の予測値が求められる。
【０１０２】
また、動き推定処理でのＮａ回目（３≦Ｎａ≦Ｍ）の単位推定処理のステップｓ１では、（Ｎａ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が式（３）のａ（ｔ−１）に代入される。そして、（Ｎａ−２）回目の単位推定処理で推定されて事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が、式（３）のａ（ｔ−２）に代入される。これにより得られた予測値ａ（ｔ）を、推定部３００は、現在よりも（Ｔ×（Ｎａ−１））時間先のタイミングでのＸ軸方向の加速度の予測値とする。Ｎａ回目の単位推定処理のステップｓ１では、同様にして、現在よりも（Ｔ×（Ｎａ−１））時間先のタイミングでのＹ軸方向の加速度の予測値が求められる。
【０１０３】
動き推定処理のＮｂ回目（２≦Ｎｂ≦Ｍ）の単位推定処理のステップｓ２では、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が式（４）のａ（ｔ−１）に代入される。そして、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布が式（４）のｖ（ｔ−１）に代入される。これにより得られた予測値ｖ（ｔ）を、推定部３００は、現在よりも（Ｔ×（Ｎｂ―１））時間先のタイミングでのＸ軸方向の速度の予測値とする。Ｎｂ回目の単位推定処理のステップｓ２では、同様にして、現在よりも（Ｔ×（Ｎｂ―１））時間先のタイミングでのＹ軸方向の速度の予測値が求められる。
【０１０４】
動き推定処理において、推定部３００が、単位推定処理を複数回実行することは、推定部３００が、あるタイミングでの推定確率分布を、式（３）の外挿式において前のタイミングでの推定確率分布として使用して、当該あるタイミングよりも先のタイミングでの予測確率分布を求め、求めた当該先のタイミングでの予測確率分布を用いたベイズ推定に基づいて、当該先のタイミングでの推定確率分布を生成する処理を繰り返し実行することであると言える。
【０１０５】
動き推定処理のＮｂ回目の単位推定処理のステップｓ３では、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が式（５）のａ（ｔ−１）に代入される。また、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布が式（５）のｖ（ｔ−１）に代入される。そして、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の変位の周辺確率分布が式（５）のｒ（ｔ−１）に代入される。これにより得られた予測値ｒ（ｔ）を、推定部３００は、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでのＸ軸方向の変位の予測値とする。Ｎｂ回目の単位推定処理のステップｓ３では、同様にして、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでのＹ軸方向の変位の予測値が求められる。
【０１０６】
動き推定処理のＮｂ回目の単位推定処理のステップｓ４では、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の加速度の周辺確率分布が式（６）のａ（ｔ−１）に代入される。また、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の速度の周辺確率分布が式（６）のｖ（ｔ−１）に代入される。また、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の変位の周辺確率分布が式（６）のｒ（ｔ−１）に代入される。そして、（Ｎｂ−１）回目の単位推定処理で推定された事後確率ｐ（ｘｔ｜ｚ１：ｔ）についてのＸ軸方向の総変位の周辺確率分布が式（６）のｓ（ｔ−１）に代入される。これにより得られた予測値ｓ（ｔ）を、推定部３００は、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでの総変位の予測値とする。Ｎｂ回目の単位推定処理のステップｓ４では、同様にして、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでのＹ軸方向の総変位の予測値が求められる。
【０１０７】
動き推定処理のＮｂ回目の単位推定処理のステップｓ５では、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでのＸ軸方向の加速度、速度、変位及び総変位の推定値と、現在よりも（Ｔ×（Ｎｂ−１））時間先のタイミングでのＹ軸方向の加速度、速度、変位及び総変位の推定値とが生成される。
【０１０８】
以上のようにして単位推定処理が必要回数Ｍだけ実行されることによって、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの電子機器１の動きが推定される。言い換えれば、単位推定処理が必要回数Ｍだけ実行されることによって、最新の加速度検出値が得られたタイミングよりも（Ｔ×（Ｍ−１））時間先のタイミングでの電子機器１の動きが推定される。電子機器１が対象振動を行っている場合には、対象振動時の電子機器１についての現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの動きが推定される。本例では、対象振動時の電子機器１についての現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの加速度、速度、変位及び総変位の推定値が得られる。図６の動き推定処理によれば、推定部３００は、現在よりもＴの整数倍だけ先のタイミングでの電子機器１の動きを推定する。
【０１０９】
なお、推定部３００は、現在よりもＴの整数倍だけ先のタイミングではなく、現在よりも先の所望のタイミングでの電子機器１の動きを推定することも可能である。図７はこの場合の動き推定処理の一例を示すフローチャートである。以下の説明では、現在よりも先の所望のタイミングを推定タイミングと呼ぶ。
【０１１０】
図７に示されるように、ステップｓ２１において、推定部３００は、推定タイミングに基づいて必要回数Ｍを決定する。ステップｓ２１では、推定部３００は、推定タイミングが、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングを超えずに、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングに最も近くなるようなＭの値を決定する。
【０１１１】
ここで、推定タイミングが現在よりもＴ０時間先のタイミングであるとする。ステップｓ２１では、推定部３００は、Ｔ×（Ｍ−２）＜Ｔ０≦Ｔ×（Ｍ−１）を満たすようなＭの値を決定する。例えば、Ｔ０＝１８ｍｓであるとする。つまり、推定タイミングが、現在よりも１８ｍｓ先のタイミングであるとする。Ｍ＝４のとき、Ｔ×（Ｍ−１）＝５ｍｓ×３＝１５ｍｓとなる。Ｍ＝５のとき、Ｔ×（Ｍ−１）＝５ｍｓ×４＝２０ｍｓとなる。したがって、Ｔ０＝１８ｍｓの場合、Ｔ×（Ｍ−２）＜Ｔ０≦Ｔ×（Ｍ−１）を満たすＭの値は５となる。
【０１１２】
ステップｓ２１の後、推定部３００は、上述のステップｓ１１及びｓ１２を実行する。ステップｓ１２においてＮＯと判定されると、ステップｓ１１が再度実行され、以後、推定部３００は同様に動作する。一方で、ステップｓ１２においてＹＥＳと判定されると、ステップｓ２２が実行される。ステップｓ２２において、推定部３００は、（Ｍ−１）回目の単位推定処理のステップｓ５での動きの推定結果と、Ｍ回目の単位推定処理のステップｓ５での動きの推定結果とに基づいて、推定タイミングでの電子機器１の動きを推定する。
【０１１３】
ステップｓ２２では、推定部３００は、（Ｍ−１）回目の単位推定処理で得られる、現在よりも（Ｔ×（Ｍ−２））時間先のタイミングでのＸ軸方向の加速度の推定値と、Ｍ回目の単位推定処理で得られる、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでのＸ軸方向の加速度の推定値とに基づいて、推定タイミングでのＸ軸方向の加速度の推定値を生成する。例えば、推定部３００は、現在よりも（Ｔ×（Ｍ−２））時間先のタイミングでのＸ軸方向の加速度の推定値と、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでのＸ軸方向の加速度の推定値とを用いた線形補間によって、推定タイミングでのＸ軸方向の加速度の推定値を生成する。
【０１１４】
ここで、推定タイミングでのＸ軸方向の加速度の推定値をＡ０とする。また、現在よりも（Ｔ×（Ｍ−２））時間先のタイミングでのＸ軸方向の加速度の推定値をＡ１とし、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでのＸ軸方向の加速度の推定値をＡ２とする。また、（Ｔ×（Ｍ−２））をＴ１とし、（Ｔ×（Ｍ−１））をＴ２とする。推定部３００は、例えば、以下の式（７）を用いて、推定タイミングでのＸ軸方向の加速度の推定値Ａ０を求める。
【０１１５】
【数７】
0006621167.tif 000008
【０１１６】
ステップｓ２２において、推定部３００は、同様にして、推定タイミングでのＸ軸方向の速度、変位及び総変位の推定値を求める。またステップｓ２２において、推定部３００は、同様にして、推定タイミングでのＹ軸方向の加速度、速度、変位及び総変位の推定値を求める。
【０１１７】
なお、Ｔ０＝Ｔ×（Ｍ−１）の場合には、つまり、推定タイミングが、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングである場合には、ステップｓ２２において、推定部３００は、Ｍ回目の単位推定処理での動きの推定結果を、推定タイミングでの動きの推定結果として使用する。Ｔ０＝Ｔ×（Ｍ−１）、かつＭ≧２の場合には、図７に示される動き推定処理は、図６に示される動き推定処理と実質的に同じとなる。また、Ｔ０＝Ｔ×（Ｍ−１）、かつＭ＝１の場合には、図７に示される動き推定処理は、図５に示される動き推定処理と実質的に同じとなる。
【０１１８】
また、推定部３００は、ステップｓ２２を実行しなくてもよい。つまり、推定部３００は、線形補間を実行しなくてもよい。この場合、推定部３００は、Ｔ０が（Ｔ×（Ｍ−１））と一致しない場合には、現在から（Ｔ×（Ｍ−１））時間先のタイミングでの動きの推定結果を、推定タイミングでの動きの推定結果としてもよい。
【０１１９】
以上のように、本例では、加速度センサ１５０の加速度検出値と、電子機器１の動きを表す予測モデル３６０と、当該加速度検出値が用いられる、電子機器１の振動を表す観測モデル３５０とを用いたベイズ推定に基づいて、振動時の電子機器１の動きが推定される。これにより、振動時の電子機器１の動きを適切に推定することができる。
【０１２０】
また、本例に係る予測モデル３６０では、上述の式（３）に示されるように、あるタイミングでの加速度の予測確率分布が、当該あるタイミングよりも前のタイミングでの加速度の推定確率分布を用いた外挿式で表される。そして、あるタイミングでの推定確率分布を、外挿式において前のタイミングでの推定確率分布として使用して、当該あるタイミングよりも先のタイミングでの予測確率分布を求め、求めた先のタイミングでの予測確率分布を用いたベイズ推定に基づいて当該先のタイミングでの推定確率分布を生成するという処理を繰り返し実行することによって、所望のタイミングでの加速度の推定確率分布を求めることができる。よって、外挿式を使用して、所望のタイミングでの加速度の推定値を簡単に得ることができる。
【０１２１】
また本例では、観測モデル３５０において、対象振動時の電子機器１の変位の平均が零であると表現されている。言い換えれば、観測モデル３５０では、変位の周辺確率分布の平均が零とされている。したがって、対象振動時の電子機器１の変位の推定値が零から大きく離れる可能性を低減することができる。よって、対象振動の振幅が小さいという状況に応じた変位の推定値を適切に得ることができる。
【０１２２】
また本例では、観測モデル３５０において、対象振動時の電子機器１の総変位の平均が零であると表現されている。言い換えれば、観測モデル３５０では、総変位の周辺確率分布の平均が零とされている。これにより、電子機器１の振動に応じた変化を行う変位の推定値を適切に得ることができる。以下にこの点について詳細に説明する。以下の説明では、例えば、電子機器１がＸ軸方向に沿って振動しているにもかかわらず、加速度センサ１５０での加速度の検出誤差等によって、予測モデル３６０からは、すなわち、検出値の積分計算だけからは、電子機器１のＸ軸方向の変位の符号が常にプラスであると予測されるような第１の状況を考える。また、電子機器１がＸ軸方向に沿って振動しているにもかかわらず、加速度センサ１５０での加速度の検出誤差等によって、予測モデル３６０からは、すなわち、検出値の積分計算だけからは、電子機器１のＸ軸方向の変位の符号が常にマイナスであると予測されるような第２の状況を考える。
【０１２３】
第１の状況において、対象振動時の電子機器１の総変位の平均が零であると観測モデル３５０で表現されていない場合には、変位の第１確率分布の働きにより、ベイズ推定によって求められる電子機器１のＸ軸方向の変位の推定値が零付近になる可能性は高くなるものの、マイナスの値になる可能性は低い。したがって、第１の状況において観測モデル３５０の総変位の周辺確率分布の平均が零に設定されていない場合には、Ｘ軸方向の変位の推定値の符号がプラスからマイナスにならずに、当該推定値が電子機器１のＸ軸方向に沿った振動に応じた値とならない可能性がある。同様に、第２の状況において総変位の周辺確率分布の平均が零に設定されていない場合には、Ｘ軸方向の変位の推定値の符号がマイナスからプラスにならずに、当該推定値が電子機器１のＸ軸方向に沿った振動に応じた値とならない可能性がある。
【０１２４】
ここで、Ｘ軸方向の総変位は、Ｘ軸方向の変位の符号がプラスである間、増加し続ける。一方で、Ｘ軸方向の総変位を減少させるためには、Ｘ軸方向の変位の符号がマイナスとなる必要がある。
【０１２５】
本例のように、観測モデル３５０において、対象振動時の電子機器１の総変位の平均が零であると表現されている場合には、第１の状況において、総変位の推定値が零に近づくように変位の推定値の符号がマイナスとなる可能性が高くなる。また、第２の状況では、総変位の推定値が零に近づくように変位の推定値の符号がプラスになる可能性が高くなる。よって、本例のように、観測モデル３５０の総変位の第４確率分布の平均が零に設定されている場合には、電子機器１の振動に応じた変化を行う変位の推定値を適切に得ることができる。
【０１２６】
なお、上記の例では、観測モデル３５０において、電子機器１の速度があまり大きくならないという知識が表現されているが、速度に関するこのような表現は無くてもよい。また、推定部３００は、加速度、速度、変位及び総変位の推定値のうちの少なくとも一つを生成しなくてもよい。つまり、推定部３００は、動きの推定結果として、加速度、速度、変位及び総変位の少なくとも一つの推定値を生成してもよい。
【０１２７】
＜動きの推定結果の利用方法の一例＞
動き推定装置４００での動きの推定結果は様々な場面で利用することが可能である。以下に、一例として、電子機器１が、画像の表示制御において、動き推定装置４００での動きの推定結果を利用する場合について説明する。
【０１２８】
＜動きの推定結果を利用した画像表示制御の一例＞
上述のように、対象振動としては、電子機器１を手に持つユーザがバスあるいは電車等の車両内に存在する場合に、当該車両の振動によって生じる電子機器１の振動が挙げられる。また、対象振動としては、電子機器１を持つユーザの手が加齢あるいは病気などの事情により震える場合の電子機器１の振動が挙げられる。電子機器１を手に持つユーザが車両内に存在する場合、当該車両の振動によって電子機器１が振動すると、電子機器１の地球に対する位置が動く可能性がある。その結果、ユーザは電子機器１に表示される画像を視認しにくい可能性がある。また、電子機器１を持つユーザの手が加齢あるいは病気などの事情により震えることによって電子機器１が振動する場合、電子機器１の地球に対する位置が動く可能性がある。その結果、ユーザは電子機器１に表示される画像を視認しにくい可能性がある。
【０１２９】
そこで、本例では、電子機器１は、動き推定装置４００での動きの推定結果に基づいて、表示部１２０に表示される画像の表示位置を制御することによって、当該画像の地球に対する位置を制御する。具体的には、電子機器１は、動き推定装置４００で生成される変位の推定値に基づいて、表示部１２０に表示される画像の表示位置を制御することによって、当該画像の地球に対する位置を制御する。これにより、対象振動時の電子機器１に表示される画像の地球に対する位置が変化しにくくなり、当該画像の視認性を向上させることが可能となる。よって、電子機器１を手に持つユーザが車両内に存在する場合であっても、電子機器１に表示される画像の地球に対する位置が変化しにくくなり、当該画像の視認性を向上させることが可能となる。また、電子機器１を持つユーザの手が加齢あるいは病気などの事情により震える場合であっても、電子機器１に表示される画像の地球に対する位置が変化しにくくなり、当該画像の視認性を向上させることが可能となる。以下にこの利用例について詳細に説明する。
【０１３０】
図８は本例に係る制御部１００の構成の一例を示す図である。図８に示されるように、制御部１００は、機能ブロックとして、表示部１２０の表示を制御する表示制御部５００を備える。表示制御部５００は、動き推定装置４００の第２フィルタ３２０から出力される変位の推定値に基づいて、所定のフレームレートで表示部１２０に表示される画像の表示位置を制御することによって、当該画像についての地球に対する位置を制御する、といった画像位置制御を行う。画像の表示位置は、表示面１２１内での画像の位置であるとも言える。所定のフレームレートで表示部１２０に表示される画像は、動画であってもよいし、静止画であってもよい。所定のフレームレートは、例えば６０ｆｐｓである。なお、所定のフレームレートは、６０ｆｐｓ以外であってもよい。例えば、所定のフレームレートは１２０ｆｐｓであってもよい。
【０１３１】
以後、電子機器１のＸ軸方向の変位をＸ変位と呼び、電子機器１のＹ軸方向の変位をＹ変位と呼ぶことがある。また、Ｘ軸方向のプラス方向及びマイナス方向を＋Ｘ方向及び−Ｘ方向とそれぞれ呼ぶことがある。また、Ｙ軸方向のプラス方向及びマイナス方向を＋Ｙ方向及び−Ｙ方向とそれぞれ呼ぶことがある。電子機器１が＋Ｘ方向に移動している場合には、Ｘ変位はプラスの値となり、電子機器１が−Ｘ方向に移動している場合には、Ｘ変位はマイナスの値となる。また、電子機器１が＋Ｙ方向に移動している場合には、Ｙ変位はプラスの値となり、電子機器１が−Ｙ方向に移動している場合には、Ｙ変位はマイナスの値となる。
【０１３２】
画像位置制御において、表示制御部５００は、動き推定装置４００の第２フィルタ３２０から出力されるＸ変位の推定値に基づいて、表示部１２０に表示される画像のＸ軸方向の表示位置を制御する。また、画像位置制御において、表示制御部５００は、動き推定装置４００の第２フィルタ３２０から出力されるＹ変位の推定値に基づいて、表示部１２０に表示される画像のＹ軸方向の表示位置を制御する。
【０１３３】
図９は画像位置制御を説明するための図である。図９の上側には、Ｘ変位及びＹ変位が零である電子機器１、つまり基準位置の電子機器１が示されている。図９の下側には、Ｘ変位が＋Ｌ、Ｙ変位が零の電子機器１、つまり、基準位置から、Ｙ軸方向には移動せず、＋Ｘ軸方向にＬだけ移動している電子機器１が示されている。図９では、レシーバ穴１２、レンズ１９１、操作ボタン１４１〜１４３及びスピーカ穴１３の記載は省略されている。
【０１３４】
図９の例では、電子機器１の表示面１２１には、例えば、「ＡＢＣ」という文字列６０１を含む画像（静止画）６００が表示されている。図９の例では、画像６００の大きさは、表示面１２１の大きさと一致している。また図９の例では、Ｘ変位及びＹ変位が零の電子機器１では、画像６００の中心位置が表示面１２１の中心位置と一致するように画像６００が表示面１２１に表示されている。図９では、Ｘ変位及びＹ変位が零の電子機器１に表示される画像６００の中心位置が符号７０１で示されている。また図９では、Ｘ変位が＋Ｌ、Ｙ変位が零の電子機器１に表示される画像６００の中心位置が符号７０２で示されている。
【０１３５】
以後、基準位置の電子機器１、つまりＸ変位及びＹ変位が零の電子機器１が表示する画像の表示位置を基準表示位置と呼ぶことがある。また、Ｘ変位が零の電子機器１が表示する画像のＸ軸方向の表示位置をＸ基準表示位置と呼ぶことがある。また、Ｙ変位が零の電子機器１が表示する画像のＹ軸方向の表示位置をＹ基準表示位置と呼ぶことがある。基準位置の電子機器１が表示する画像のＸ軸方向及びＹ軸方向の表示位置は、それぞれ、Ｘ基準表示位置及びＹ基準表示位置となる。
【０１３６】
Ｘ基準表示位置としては、例えば、表示面１２１のＸ軸方向の中心を示す、Ｙ軸方向に沿った中心線と、画像のＸ軸方向の中心を示す、Ｙ軸方向に沿った中心線とが重なるような画像のＸ軸方向の表示位置が採用される。図９の下側の電子機器１において、画像６００のＸ軸方向の中心を示す、Ｙ軸方向に沿った中心線は、画像６００の中心位置７０２を通る、Ｙ軸方向に沿った線となる。電子機器１が、そのＸ軸方向の表示位置がＸ基準表示位置に一致するように画像を表示する場合には、当該画像のＸ軸方向の中心を示す中心線と、表示面１２１のＸ軸方向の中心を示す中心線とが重なる。
【０１３７】
Ｙ基準表示位置としては、例えば、表示面１２１のＹ軸方向の中心を示す、Ｘ軸方向に沿った中心線と、画像のＹ軸方向の中心を示す、Ｘ軸方向に沿った中心線とが重なるような画像のＹ軸方向の表示位置が採用される。図９の下側の電子機器１において、画像６００のＹ軸方向の中心を示す、Ｘ軸方向に沿った中心線は、画像６００の中心位置７０２を通る、Ｘ軸方向に沿った線となる。電子機器１が、そのＹ軸方向の表示位置がＹ基準表示位置に一致するように画像を表示する場合には、当該画像のＹ軸方向の中心を示す中心線と、表示面１２１のＹ軸方向の中心を示す中心線とが重なる。
【０１３８】
Ｘ変位が＋Ｌである電子機器１が、Ｘ変位が零である電子機器１が表示する画像６００と比較して、その表示位置が−Ｘ方向にＬだけずれるように画像６００を表示する場合を考える。この場合、図９に示されるように、Ｘ変位が零の上側の電子機器１と、Ｘ変位が＋Ｌの下側の電子機器１との間では、表示面１２１に表示される画像６００の地球に対するＸ軸方向の位置は同じとなる。言い換えれば、Ｘ変位が＋Ｌである電子機器１が、Ｘ変位が零である電子機器１が表示する画像６００と比較して、そのＸ軸方向の中心が−Ｘ方向にＬだけずれるように画像６００を表示する場合には、Ｘ変位が零の電子機器１と、Ｘ変位が＋Ｌの電子機器１との間では、表示面１２１に表示される画像６００のＸ軸方向の中心は同じとなる。したがって、電子機器１が画像を表示する場合に、当該画像の表示位置が、Ｘ基準表示位置よりも、電子機器１のＸ変位の絶対値だけ、当該Ｘ変位の符号が示す方向とは反対の方向にずれるように、当該画像を表示する場合には、表示面１２１に表示される画像の地球に対するＸ軸方向の位置が変化しにくくなる。Ｘ変位の符号がプラスである場合、当該符号が示す方向とは反対の方向は−Ｘ方向となる。
【０１３９】
同様に、電子機器１が画像を表示する場合に、当該画像の表示位置が、Ｙ基準表示位置よりも、電子機器１のＹ変位の絶対値だけ、当該Ｙ変位の符号が示す方向とは反対の方向にずれるように、当該画像を表示する場合には、表示面１２１に表示される画像の地球に対するＹ軸方向の位置が変化しにくくなる。
【０１４０】
そこで、本例では、表示制御部５００は、画像位置制御の実行により、表示部１２０に表示される画像のＸ軸方向の表示位置が、Ｘ基準表示位置よりも、電子機器１のＸ変位の推定値の絶対値だけ、当該推定値の符号が示す方向と反対の方向にずれるようにする。また、表示制御部５００は、画像表示制御の実行により、表示部１２０に表示される画像のＹ軸方向の表示位置が、Ｙ基準表示位置よりも、電子機器１のＹ変位の推定値の絶対値だけ、当該推定値の符号が示す方向とは反対の方向にずれるようにする。これにより、対象振動時の電子機器１が表示する画像の地球に対する位置が変化しにくくなる。その結果、対象振動時の電子機器１が表示する画像の視認性が向上する。
【０１４１】
なお、表示面１２１の大きさと画像６００の大きさが同じであって、画像位置制御によって画像６００全体の表示位置が移動する場合には、図９の下側に示されるように、表示面１２１には画像６００の一部だけが表示されて、表示面１２１に画像６００が表示されない領域１２１ａが発生する。この場合には、領域１２１ａに画像６００とは異なる所定の画像が表示されてもよい。例えば、領域１２１ａには、各画素の色が所定の色（例えば黒色）である画像が表示されてもよい。また、領域１２１ａには、画像６００を外挿処理したものが表示されてもよい。また、画像６００の大きさは表示面１２１の大きさよりも小さくてもよいし、大きくてもよい。
【０１４２】
次に画像位置制御について詳細に説明する。画像位置制御において、表示制御部５００は、各フレーム期間について、当該フレーム期間において得られる変位の推定値に基づいて、当該フレーム期間よりも例えば一つ後のフレーム期間で表示される画像の表示位置を決定する。フレーム期間とは、一枚のフレーム画像が表示される期間であって、フレームレートが６０ｆｐｓであるとすると、フレーム期間の長さは６０分の１秒（約１６，７ｍｓ）となる。
【０１４３】
以後、電子機器１の説明において注目するフレーム期間を対象フレーム期間と呼ぶことがある。また、対象フレーム期間よりも一つ後のフレーム期間を次フレーム期間と呼ぶことがある。また、次フレーム期間で表示される画像（つまり、フレーム画像）を対象画像と呼ぶことがある。また、対象画像の表示位置の決定で使用される変位の推定値を、対象変位推定値と呼ぶことがある。また、対象変位推定値を生成する際に最新の加速度検出値として使用される加速度検出値を対象加速度検出値と呼ぶことがある。
【０１４４】
図１０は、対象フレーム期間での電子機器１の動作の一例を示すフローチャートである。電子機器１は、各フレーム期間について図１０に示される処理を実行する。本例では、推定部３００は、上述の図７に示される動き推定処理を実行する。
【０１４５】
図１０に示されるように、ステップｓ３１において、推定部３００は、対象加速度検出値を取得する。対象加速度検出値としては、例えば、対象フレーム期間の垂直同期信号が発生した直後に加速度センサ１５０から出力される加速度検出値が採用される。
【０１４６】
次にステップｓ３２において、推定部３００は、動き推定処理の推定タイミングを決定する。そしてステップｓ３３において、推定部３００は、対象加速度検出値を最新の加速度検出値として使用して、ステップｓ３２で決定した推定タイミングでの電子機器１の動きを推定する動き推定処理を実行する。
【０１４７】
図１１は推定タイミングの決定方法の一例を説明するための図である。図１１では、対象フレーム期間の垂直同期信号の発生が開始するタイミングである発生開始タイミングｔｍ１と、次フレーム期間の垂直同期信号の発生が開始するタイミングである発生開始タイミングｔｍ２とが示されている。また図１１では、加速度センサ１５０が対象加速度検出値を出力するタイミングである出力タイミングｔｍ３と、表示面１２１において対象画像が実際に表示されるタイミングである表示タイミングｔｍ４とが示されている。出力タイミングｔｍ３は、推定部３００が加速度センサ１５０から対象加速度検出値を取得するタイミングであるとも言える。
【０１４８】
ステップｓ３２において、推定部３００は、対象加速度検出値の出力タイミングｔｍ３から、次フレーム期間の垂直同期信号の発生開始タイミングｔｍ２までの時間Ｔ１１を求める。推定部３００にとって発生開始タイミングｔｍ２は既知である。次に、推定部３００は、発生開始タイミングｔｍ２から表示タイミングｔｍ４までの時間Ｔ１２に対して、求めた時間Ｔ１１を足し合わせて、出力タイミングｔｍ３から表示タイミングｔｍ４までの時間Ｔ１３を求める。そして、推定部３００は、求めた時間Ｔ１３を、推定タイミングのＴ０とする。これにより、推定タイミングが、表示部１２０において対象画像が実際に表示されるタイミングとなる。
【０１４９】
例えば、時間Ｔ１１が１３ｍｓであって、時間Ｔ１２が１５ｍｓであるとすると、推定タイミングのＴ０は２８ｍｓとなる。この場合、現在から２８ｍｓ後において対象画像が表示される。詳細には、対象加速度検出値が得られてから２８ｍｓ後において対象画像が表示される。
【０１５０】
時間Ｔ１２は記憶部１０３に予め記憶されている。時間Ｔ１２には、垂直同期信号の発生が開始してから表示パネル１２２に表示制御部５００から駆動信号が与えられるまでの時間と、表示パネル１２２の反応時間とが含まれる。表示パネル１２２の反応時間とは、表示パネル１２２に駆動信号が与えてから表示パネル１２２が画像を実際に表示するまでの時間である。時間Ｔ１２は、実機実験あるいはシミュレーションによって予め求められる。
【０１５１】
ステップｓ３２において推定タイミングが決定されると、ステップｓ３３において、推定部３００は、対象加速度検出値を最新の加速度検出値として使用して、上述の図７に示される動き推定処理を行う。ステップｓ３３の動き推定処理の結果、推定タイミングでの加速度、速度、変位及び総変位の推定値が得られる。つまり、対象画像が表示されるタイミングでの加速度、速度、変位及び総変位の推定値が得られる。ステップｓ３３では、対象画像が表示部１２０で表示されるタイミングでの加速度、速度、変位及び総変位の予測値を用いたベイズ推定に基づいて、対象画像が表示部１２０で表示されるタイミングでの加速度、速度、変位及び総変位の推定値が生成されると言える。
【０１５２】
次にステップｓ３４において、表示制御部５００は画像位置制御を実行する。具体的には、表示制御部５００は、ステップｓ３３で得られた変位の推定値を対象変位推定値として、対象画像の表示位置を決定する。ステップｓ３４において、表示制御部５００は、第２フィルタ３２０から出力される、推定タイミングでのＸ軸方向の変位の推定値をＸ軸方向の対象変位推定値とし、第２フィルタ３２０から出力される、推定タイミングでのＹ軸方向の変位の推定値をＹ軸方向の対象変位推定値とする。そして、表示制御部５００は、Ｘ軸方向及びＹ軸方向の対象変位推定値に基づいて、対象画像の表示位置を決定する。
【０１５３】
ステップｓ３４において、表示制御部５００は、対象画像のＸ軸方向の表示位置を、Ｘ基準表示位置よりも、Ｘ軸方向の対象変位推定値の絶対値だけ、Ｘ軸方向の対象変位推定値の符号が示す方向と反対の方向にずれた位置に決定する。また、表示制御部５００は、対象画像のＹ軸方向の表示位置を、Ｙ基準表示位置よりも、Ｙ軸方向の対象変位推定値の絶対値だけ、Ｙ軸方向の対象変位推定値の符号が示す方向と反対の方向にずれた位置に決定する。これにより、次フレーム期間で表示されている対象画像の地球に対する位置が、基準位置の電子機器１が表示している画像の地球に対する位置からずれにくくなる。
【０１５４】
ステップｓ３４の後、表示制御部５００は、決定した表示位置に対象画像を表示部１２０に表示させるための駆動信号を生成して表示部１２０に与える。これにより、表示部１２０では、ステップｓ３４で決定された表示位置に対象画像が表示される。
【０１５５】
以上のステップｓ３１〜ｓ３４の処理を、制御部１００が、各フレーム期間を対象フレーム期間として実行することによって、所定のフレームレートで表示面１２１に表示される画像についての地球に対する位置は動きにくくなる。本例では、画像位置制御の実行中での画像の地球に対する位置が、基準位置の電子機器１が表示する画像の地球に対する位置から変化しにくくなる。その結果、画像の視認性が向上する。また、電子機器１に表示される画像に含まれる、文字、記号及び図形等の対象物（図９では文字列６０１）についての地球に対する位置も動きにくくなることから、当該対象物の視認性が向上する。
【０１５６】
また、画像の視認性が悪い場合には、ユーザは気分が悪くなる可能性があるが、本例の電子機器１によれば、このようなことが発生する可能性が低減する。
【０１５７】
なお、上述のように、推定部３００は５ｍｓごとに動き推定処理を行うことから、対象フレーム期間においては、ステップｓ３３の動き推定処理だけではなく、画像位置制御とは関係しない動き推定処理も実行される。推定部３００は、対象フレーム期間において、ステップｓ３３の動き推定処理以外の動き推定処理を実行しなくてもよい。
【０１５８】
また推定部３００は、電子機器１において所定の条件が成立したとき、画像表示制御の実行を開始してもよい。例えば、推定部３００は、ユーザが表示面１２１に対して画像表示制御の実行を指示する操作を行ったと制御部１００が判定すると、画像表示制御の実行を開始して、各フレーム期間について図１０に示される一連の処理を実行してもよい。
【０１５９】
上述のように、予測モデル３６０では、式（３）に示されるように、あるタイミングでの加速度の予測確率分布ａ（ｔ）が、当該あるタイミングよりも前のタイミングでの加速度の推定確率分布ａ（ｔ−１）及びａ（ｔ−２）を用いた外挿式で表される。また、予測モデル３６０では、式（５）に示されるように、あるタイミングでの変位の予測確率分布ｒ（ｔ）が、当該あるタイミングよりも前のタイミングでの加速度の推定確率分布ａ（ｔ−１）を用いた予測式で表される。上記のステップｓ３３の動き推定処理では、あるタイミングでの加速度の推定確率分布が、式（３）の外挿式において前のタイミングでの加速度の推定確率分布として使用されて、当該あるタイミングよりも先のタイミングでの加速度の予測確率分布が求められ、求められた先のタイミングでの加速度の予測確率分布を用いたベイズ推定に基づいて、当該先のタイミングでの加速度の推定確率分布が生成されるという特定処理が実行される。そして、ステップｓ３３の動き推定処理では、特定処理が繰り返し実行されることによって得られた加速度の推定確率分布が、式（５）の予測式での前のタイミングでの加速度の推定確率分布として使用されて、対象画像が表示されるタイミングでの変位の予測確率分布が求められる。そして、ステップｓ３３の動き推定処理では、対象画像が表示されるタイミングでの変位の予測確率分布を用いたベイズ推定に基づいて、対象画像が表示されるタイミングでの変位の推定値を生成される。このような、対象画像が実際に表示されるタイミングでの変位の推定値に基づいて、画像の表示位置が制御されることによって、表示部１２０に表示される画像についての地球に対する位置はより確実に変化しにくくなる。
【０１６０】
加速度センサ１５０では、内部のフィルタ機能等によって、加速度を検出してから、その検出結果を出力するまでに、ある程度の時間を要することがある。以後、加速度センサ１５０が、加速度を検出してから、その検出結果を出力するまでの時間をセンサ遅延時間と呼ぶことがある。
【０１６１】
ここで、ステップｓ３３において得られる、現在よりもＴ０時間先のタイミングでの変位の推定値（つまり、推定タイミングでの変位の推定値）は、厳密に言うと、加速度センサ１５０が最新の加速度を検出したタイミングからＴ０時間先のタイミングである。センサ遅延時間が零である場合には、上述のように、出力タイミングｔｍ３から表示タイミングｔｍ４までの時間Ｔ１３をＴ０とすると、推定タイミングは、対象画像が表示されるタイミングと一致する。しかしながら、センサ遅延時間が零でない場合に時間Ｔ１３をＴ０とすると、推定タイミングは、対象画像が表示されるタイミングよりも少し前のタイミングとなる。よって、推定タイミングでの変位の推定値は、対象画像が表示されるタイミングよりも少し前での変位の推定値となる。
【０１６２】
そこで、推定部３００は、センサ遅延時間を考慮して推定タイミングを決定してもよい。具体的には、推定部３００は、図１２に示されるように、加速度センサ１５０が加速度を検出したタイミングｔｍ５からその検出結果（つまり、対象加速度検出値）の出力タイミングｔｍ３までの時間Ｔ１４を時間Ｔ１３に足し合わせて得られる時間Ｔ１５を、推定タイミングのＴ０にしてもよい。これにより、推定部３００は、対象画像の表示タイミングでの変位をより正しく推定することができる。時間Ｔ１４は、実機実験あるいはシミュレーションによって予め求められる。
【０１６３】
なお、推定部３００は、ステップｓ３２で決定したＴ０が（Ｔ×（Ｍ−１））と一致しない場合には、現在から（Ｔ×（Ｍ−１））時間先のタイミングでの変位の推定値を、推定タイミングでの変位の推定値とし、当該推定値を、対象画像の表示タイミングでの変位の推定値として使用してもよい。
【０１６４】
上記の例では、電子機器１は、スマートフォン等の携帯電話機であったが、他の種類の電子機器であってよい。電子機器１は、例えば、タブレット端末、ノート型のパーソナルコンピュータ、ウェアラブル機器などであってよい。電子機器１として採用されるウェアラブル機器は、リストバンド型あるいは腕時計型などの腕に装着するタイプであってもよいし、ヘッドバンド型あるいはメガネ型などの頭に装着するタイプであってもよいし、服型などの体に装着するタイプであってもよい。
【０１６５】
上記の動きの推定技術は、スマートフォン、スマートウォッチ及びパーソナルコンピュータなどのモバイル端末、プロジェクター、ヘッドマウントディスプレイ、工作機械及び電子ミラーでの画面補正で使用することができる、また、上記の動きの推定技術は、タッチパネルの検出位置の補正でも使用することができる。また、上記の動きの推定技術は、ゲームコントローラの動きの検出でも使用することができる。ゲームコントローラは、例えば、釣竿の形状をしたものであってもよい。また、上記の動きの推定技術は、スポーツグッズ、ランニングシューズ及びラケットの動きの検出でも使用することができる。また、上記の動きの推定技術は、機器の異常検知でも使用することができるし、釣りの浮の動きの検出でも使用することができるし、ロボットの姿勢制御等でも使用することができる。
【０１６６】
上記の説明から理解できるように、推定部３００が推定する、振動時の装置の動きは、並進振動時の装置の動きである。したがって、推定部３００が生成する、加速度、速度、変位及び総変位の推定値は、並進加速度、並進速度、並進変位及び総並進変位の推定値であると言える。動き推定装置４００は、動き推定処理において、回転振動時の装置の動きを推定してもよい。以下に、この場合の動き推定処理について説明する。以下の説明では、一例として、電子機器１が、車両に搭載されるヘッドアップディスプレイとして使用される場合を例に挙げて、本例に係る電子機器１について説明する。
【０１６７】
＜回転振動時の装置の動き推定の一例について＞
本例では、ヘッドアップディスプレイとして機能する電子機器１は、例えば、当該電子機器１が搭載される車両の前方の実風景に対して画像を重ねて表示することによって、拡張現実（ＡＲ：Augmented Reality）を実現することができる。電子機器１は、実風景に対して、例えば、運転者を支援するための画像を重ねて表示することができる。以後、電子機器１が搭載される車両を対象車両と呼ぶことがある。
【０１６８】
図１３に示されるように、本例に係る電子機器１はジャイロセンサ２５０を備える。ジャイロセンサ２５０は、電子機器１の回転角速度を検出することが可能である。本例では、電子機器１は対象車両に固定されることから、ジャイロセンサ２５０は、対象車両の回転角速度を検出することが可能であると言える。以後、回転角速度を単に角速度と呼ぶことがある。
【０１６９】
ジャイロセンサ２５０は、例えば３軸ジャイロセンサである。ジャイロセンサ２５０は、電子機器１についてのＸ１軸周りの回転の角速度、Ｙ１軸周りの回転の角速度及びＺ１軸周りの回転の角速度を検出することが可能である。ジャイロセンサ２５０は、所定間隔ごとに、角速度を検出してその検出結果を出力する。本例では、当該所定間隔は５ｍｓであるが、他の値でもよい。以後、加速度センサ１５０と同様に、当該所定間隔も検出間隔と呼ぶことがある。また、ジャイロセンサ２５０の検出間隔の長さもＴで表すことがある。
【０１７０】
図１４は、Ｘ１軸、Ｙ１軸及びＺ１軸の一例を示す図である。図１４に示されるように、Ｘ１軸は、電子機器１が搭載される対象車両８００の前後方向に沿うように設定される。また、Ｙ１軸は、対象車両８００の左右方向に沿うように設定される。そして、Ｚ１軸は、対象車両８００の高さ方向に沿うように設定される。ジャイロセンサ２５０は、対象車両８００についてのＸ１軸周りの回転の角速度、Ｙ１軸周りの回転の角速度及びＺ１軸周りの回転の角速度を検出することが可能である。以後、説明の便宜上、Ｘ１軸周りの回転、Ｙ１軸周りの回転及びＺ１軸周りの回転を、それぞれ、ローリング、ピッチング及びヨーイングと呼ぶことがある。
【０１７１】
本例では、電子機器１の動き推定装置４００は、ジャイロセンサ２５０の検出値２５１に基づいて、回転振動時の電子機器１の動きを推定することが可能である。言い換えれば、動き推定装置４００は、検出値２５１に基づいて、回転振動時の対象車両８００の動きを推定することが可能である。検出値２５１、つまり、ジャイロセンサ２５０で検出される角速度を角速度検出値と呼ぶことがある。
【０１７２】
本例では、対象車両８００の回転振動によって生じる電子機器１の回転振動を想定して、動き推定装置４００は、例えば、電子機器１についての、周波数帯が０．５Ｈｚ以上２Ｈｚ以下の回転角が数度の小さい回転ランダム振動を対象回転振動とする。そして、動き推定装置４００は、対象回転振動を行っている電子機器１の動きを推定する。なお、対象回転振動は本例に限られない。
【０１７３】
ジャイロセンサ２５０の検出値２５１は、対象回転振動以外の影響も受ける。例えば、検出値２５１は、坂道等による、対象車両８００が走行する地形の緩やかな変化によって生じる対象車両８００の緩やかな姿勢変化の影響を受けることがある。また、検出値２５１は、対象車両８００の加減速による対象車両８００の緩やかな姿勢変化の影響を受けることがある。また、検出値２５１にはドリフト誤差も含まれる。これらの外乱に抗して、対象となる補正すべき動きを単離して推定する必要がある。
【０１７４】
本例の第１フィルタ３１０は、ジャイロセンサ２５０の検出値２５１から、対象回転振動以外の影響を除去するために、検出値２５１に対してフィルタ処理を行う。推定部３００は、第１フィルタ３１０でフィルタ処理された検出値２５１と、観測モデル３５０と、予測モデル３６０とを用いたベイズ推定に基づいて、対象回転振動時の電子機器１の動きを推定する。本例の推定部３００は、電子機器１の動きの推定結果として、例えば、電子機器１の角速度の推定値と、電子機器１の回転角の推定値と、電子機器１の総回転角の推定値とを生成する。
【０１７５】
ここで、電子機器１の回転角とは、電子機器１の姿勢についての基準姿勢からの回転角を意味する。回転角はプラスの値とナイマスの値をとり得る。また電子機器１の総回転角とは、電子機器１の各時刻の回転角を足し合わせたものである。総回転角はプラスの値とナイマスの値をとり得る。基準姿勢としては、例えば、動き推定装置４００が動作を開始したときの電子機器１の姿勢が採用される。動き推定装置４００は、電子機器１の動作開始に応じて動作を開始してもよいし、動作中の電子機器１に対するユーザの操作に応じて動作を開始してもよい。また、動き推定装置４００は、動作中の電子機器１において他の条件が成立した場合に、動作を開始してもよい。
【０１７６】
以後、ベイズ推定によって得られる電子機器１の角速度、回転角及び総回転角の推定値を、それぞれ、角速度推定値、回転角推定値及び総回転角推定値と呼ぶことがある。また、単に角速度と言えば、電子機器１の角速度を意味し、単に回転角と言えば、電子機器１の回転角を意味し、単に総回転角と言えば、電子機器１の総回転角を意味する。角速度、回転角及び総回転角のそれぞれは、電子機器１の物理量であると言える。
【０１７７】
本例の第２フィルタ３２０は、推定部３００での推定結果に対してフィルタ処理を行う。本例では、第２フィルタ３２０は、推定部３００から出力される角速度推定値、回転角推定値及び総回転角推定値のそれぞれに対して個別にフィルタ処理を行う。
【０１７８】
＜推定部の動作の詳細＞
本例では、上述の式（１）に関する状態ベクトルｘには、変数として、角速度、回転角及び総回転角が含まれる。また、観測ベクトルｚには、変数として、角速度、回転角及び総回転角が含まれる。
【０１７９】
上記と同様に、本例の推定部３００は、式（１）を用いて事後確率ｐ（ｘｔ｜ｚ１：ｔ）を求めることによってベイズ推定を行う。このとき、推定部３００は、確率分布ｐ（ｚｔ｜ｘｔ）として観測モデル３５０を使用し、確率分布ｐ（ｘｔ｜ｘｔ−１）として予測モデル３６０を使用する。推定部３００は、求めた事後確率ｐ（ｘｔ｜ｚ１：ｔ）が最大となる状態ベクトルを推定状態ベクトルする。そして、推定部３００は、推定状態ベクトルの角速度、回転角及び総回転角の成分を、それぞれ、角速度推定値、回転角推定値及び総回転角推定値とする。
【０１８０】
本例の観測モデル３５０は、対象回転振動を表す観測モデルである。本例では、観測モデル３５０は、対象回転振動に関する統計的な事前知識を表す確率分布である。具体的には、観測モデル３５０は、対象回転振動時の電子機器１の角速度、回転角及び総回転角を表す最大３次元の確率分布である。以後、本例の観測モデル３５０での各次元についての周辺確率分布を、それぞれ、第５確率分布、第６確率分布及び第７確率分布と呼ぶことがある。
【０１８１】
ここで、上述のように、対象回転振動の回転角は小さい。したがって、対象回転振動時の電子機器１の姿勢はあまり変化しない。本例では、対象回転振動時の電子機器１の回転角を、例えば、当該回転角を確率変数とする、平均が零で分散の小さい固定の第５確率分布で表すことによって、観測モデル３５０において、電子機器１の姿勢があまり変化しないという知識を表現する。また、本例では、対象振動時の電子機器１の角速度を、例えば、当該角速度を確率変数とする、平均が角速度検出値で分散の小さい第６確率分布で表す。第６確率分布の平均としては、例えば、第１フィルタ３１０でフィルタ処理された角速度検出値が採用される。第６確率分布は角速度検出値に応じて変化する。また、本例では、対象回転振動時の電子機器１の総回転角を、例えば、当該総回転角を確率変数とする、平均が零の固定の第７確率分布で表すことによって、観測モデル３５０において、電子機器１が回転振動するという知識を表現する。
【０１８２】
本例の観測モデル３５０については、例えば機械学習によって対象回転振動に対して決定される。この場合、観測モデル３５０は、例えば最尤推定法が使用されて決定されてもよい。また、観測モデル３５０は、対象回転振動の振動環境における実測値の統計分布に基づいて決定されてもよい。また、観測モデル３５０は、機械学習と実測値の統計分布の両方に基づいて決定されてもよい。第５〜第７確率分布としては、例えば正規分布が採用されてもよい。
【０１８３】
本例の予測モデル３６０では、時刻ｔでの角速度の予測値がｂ（ｔ）で表され、角速度についての時刻ｔでの予測誤差がｗ＿ｂ（ｔ）で表される。本例では、電子機器１の角速度は滑らかに変化するものとし、上述の式（３）と同様の以下の式（８）が成立すると考える。本例では、予測値ｂ（ｔ）は確率分布で表される。以後、予測値ｂ（ｔ）を予測確率分布ｂ（ｔ）と呼ぶことがある。
【０１８４】
【数８】
0006621167.tif 000009
【０１８５】
予測誤差は、例えば、時刻に応じて変化しない固定の確率分布が採用される。予測誤差は例えば機械学習によって決定される。この場合、予測誤差は例えば最尤推定法が使用されて決定されてもよい。予測誤差を表す確率分布として、例えば正規分布が採用されてもよい。
【０１８６】
また、本例の予測モデル３６０では、時刻ｔでの回転角の予測値がｃ（ｔ）で表され、時刻ｔでの総回転角の予測値がｄ（ｔ）で表される。本例の予測モデル３６０では、回転角の予測値ｃ（ｔ）及び総回転角の予測値ｄ（ｔ）が、上述の式（４）及び（５）と同様の式で表される。具体的には、回転角の予測値ｃ（ｔ）及び総回転角の予測値ｄ（ｔ）は、ジャイロセンサ２５０の検出間隔の長さＴを用いた以下の式（９）及び（１０）でそれぞれ表される。本例の予測モデル３６０では、回転角についての時刻ｔでの予測誤差がｗ＿ｃ（ｔ）で表され、総回転角についての時刻ｔでの予測誤差がｗ＿ｄ（ｔ）で表される。本例では、予測値ｃ（ｔ）及び予測値ｄ（ｔ）のそれぞれは確率分布で表される。以後、予測値ｃ（ｔ）及び予測値ｄ（ｔ）を、それぞれ、予測確率分布ｃ（ｔ）及び予測確率分布ｄ（ｔ）と呼ぶことがある。
【０１８７】
【数９】
0006621167.tif 000010
【０１８８】
【数１０】
0006621167.tif 000011
【０１８９】
本例の推定部３００は、式（８）を用いて、時刻ｔでの角速度の予測値ａ（ｔ）を求める。このとき、推定部３００は、式（８）のｂ（ｔ−１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての角速度の周辺確率分布を代入する。そして、推定部３００は、式（８）のｂ（ｔ−２）に対して、推定された時刻ｔ―２の事後確率ｐ（ｘｔ−２｜ｚ１：ｔ−２）についての角速度の周辺確率分布を代入する。また、推定部３００は、式（９）を用いて、時刻ｔでの回転角の予測値ｃ（ｔ）を求める。このとき、推定部３００は、式（９）のｂ（ｔ−１）及びｃ（ｔ―１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての角速度及び回転角の周辺確率分布をそれぞれ代入する。また、推定部３００は、式（１０）を用いて、時刻ｔでの総回転角の予測値ｄ（ｔ）を求める。このとき、推定部３００は、式（１０）のｂ（ｔ−１）、ｃ（ｔ―１）及びｄ（ｔ―１）に対して、推定された時刻ｔ−１の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての角速度、回転角及び総回転角の周辺確率分布をそれぞれ代入する。推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についての角速度、回転角及び総回転角の周辺確率分布は、それぞれ、角速度、回転角及び総回転角の推定確率分布であると言える。
【０１９０】
本例の推定部３００は、ジャイロセンサ２５０から出力される角速度検出値と、予測モデル３６０での式（８）〜（１０）と、観測モデル３５０とを用いたベイズ推定に基づいて、現在の電子機器１の動きを推定する動き推定処理を行う。
【０１９１】
図１５は本例の動き推定処理の一例を示すフローチャートである。図１５に示される動き推定処理は、ジャイロセンサ２５０において新たに角速度が検出されるたびに実行される。本例の推定部３００は、動き推定処理において、例えば、ローリングの加速度推定値、速度推定値、変位推定値及び総変位推定値を求める。また、推定部３００は、動き推定処理において、例えば、ピッチングの加速度推定値、速度推定値、変位推定値及び総変位推定値を求める。また、推定部３００は、動き推定処理において、例えば、ヨーイングの加速度推定値、速度推定値、変位推定値及び総変位推定値を求める。
【０１９２】
推定部３００は、ジャイロセンサ２５０から最新の角速度検出値を取得すると、図１５に示されるように、ステップｓ５１において、予測モデル３６０を用いて、現在の角速度の予測値を求める。本例では、推定部３００は、予測モデル３６０を用いて、ローリングの角速度の予測値と、ピッチングの角速度の予測値と、ヨーイングの角速度の予測値とを別々に求める。
【０１９３】
ステップｓ５１において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの角速度の周辺確率分布を式（８）のｂ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理のステップｓ５１においてｂ（ｔ−１）に代入したローリングの角速度の周辺確率分布を、式（８）のｂ（ｔ−２）に代入する。これにより得られた予測値ｂ（ｔ）を、推定部３００は、ローリングの現在の角速度の予測値とする。推定部３００は、同様にして、式（８）を用いて、ピッチングの現在の角速度の予測値と、ヨーイングの現在の角速度の予測値とを求める。
【０１９４】
次にステップｓ５２において、推定部３００は、予測モデル３６０を用いて、ローリングの現在の回転角の予測値と、ピッチングの現在の回転角の予測値と、ヨーイングの現在の回転角の予測値とを別々に求める。ステップｓ５２において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの角速度の周辺確率分布を式（９）のｂ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの回転角の周辺確率分布を式（９）のｃ（ｔ−１）に代入する。これにより得られた予測値ｃ（ｔ）を、推定部３００は、ローリングの現在の回転角の予測値とする。推定部３００は、同様にして、式（９）を用いて、ピッチングの現在の回転角の予測値と、ヨーイングの回転角の現在の予測値とを求める。
【０１９５】
次にステップｓ５３において、推定部３００は、予測モデル３６０を用いて、ローリングの現在の総回転角の予測値と、ピッチングの現在の総回転角の予測値と、ヨーイングの現在の総回転角の予測値とを別々に求める。ステップｓ５３において、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの角速度の周辺確率分布を式（９）のｂ（ｔ−１）に代入する。また、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの回転角の周辺確率分布を、式（１０）のｃ（ｔ−１）に代入する。そして、推定部３００は、前回の動き推定処理で推定された事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）についてのローリングの総回転角の周辺確率分布を、式（１０）の予測値ｄ（ｔ−１）に代入する。これにより得られた予測値ｄ（ｔ）を、推定部３００は、ローリングの現在の総回転角の予測値とする。推定部３００は、同様にして、式（１０）を用いて、ピッチングの現在の総回転角の予測値と、ヨーイングの現在の総回転角の予測値とを求める。
【０１９６】
次にステップｓ５４において、推定部３００は、ステップｓ５１〜ｓ５３で求めた予測値と観測モデル３５０とを用いたベイズ推定に基づいて、角速度の推定値、回転角の推定値及び総回転角の推定値を生成する。ステップｓ５４では、推定部３００は、ステップｓ５１〜ｓ５３で得られたローリングの角速度、回転角及び総回転角の予測値(言い換えれば、予測確率分布)を上述の式（１）のｐ（ｘｔ｜ｘｔ−１）に代入する。また推定部３００は、観測モデル３５０を式（１）のｐ（ｚｔ｜ｘｔ）に代入する。このとき、推定部３００は、ローリングの最新の角速度検出値（詳細には、第１フィルタ３１０でフィルタ処理されたローリングの最新の角速度検出値）を第６確率分布の平均として用いる。そして、推定部３００は、前回の動き推定処理のステップｓ５４で得られた事後確率ｐ（ｘｔ｜ｚ１：ｔ）を式（１）の事後確率ｐ（ｘｔ−１｜ｚ１：ｔ−１）に代入して、事後確率ｐ（ｘｔ｜ｚ１：ｔ）を求める。これにより、時刻ｔの事後確率ｐ（ｘｔ｜ｚ１：ｔ）が推定される。推定部３００は、推定した事後確率ｐ（ｘｔ｜ｚ１：ｔ）が最大となる状態ベクトルを特定し、それを推定状態ベクトルとする。推定部３００は、推定状態ベクトルの角速度、回転角及び総回転角の成分を、それぞれ、ローリングの現在の角速度推定値、回転角推定値及び総回転角推定値とする。電子機器１が対象回転振動を行っている場合には、ステップｓ５４では、対象回転振動時の電子機器１のローリングの角速度、回転角及び総回転角の推定値が得られると言える。言い換えれば、ステップｓ５４では、対象回転振動時の対象車両８００のローリングの角速度、回転角及び総回転角の推定値が得られる。
【０１９７】
同様にして、推定部３００は、式（１）を用いて、ピッチングの角速度、回転角及び総回転角の推定値を生成する。この場合、推定部３００は、ピッチングの最新の角速度検出値（詳細には、第１フィルタ３１０でフィルタ処理されたピッチングの最新の角速度検出値）を第６確率分布の平均として用いる。同様にして、推定部３００は、式（１）を用いて、ヨーイングの角速度、回転角及び総回転角の推定値を生成する。この場合、推定部３００は、ヨーイングの最新の角速度検出値（詳細には、第１フィルタ３１０でフィルタ処理されたヨーイングの最新の角速度検出値）を第６確率分布の平均として用いる。
【０１９８】
第２フィルタ３２０は、推定部３００で生成される、ローリングの角速度、回転角及び総回転角の推定値のそれぞれに対して個別にフィルタ処理を行う。また、第２フィルタ３２０は、推定部３００で生成される、ピッチングの角速度、回転角及び総回転角の推定値のそれぞれに対して個別にフィルタ処理を行う。そして、第２フィルタ３２０は、推定部３００で生成される、ヨーイングの角速度、回転角及び総回転角の推定値のそれぞれに対して個別にフィルタ処理を行う。
【０１９９】
なお、動き推定処理では、ｂ（ｔ−１）に、フィルタ処理された角速度の周辺確率分布が入力されてもよい。また、ｂ（ｔ−２）に、フィルタ処理された角速度の周辺確率分布が入力されてもよい。また、ｃ（ｔ―１）には、フィルタ処理された回転角の周辺確率分布が入力されてもよい。また、ｄ（ｔ−１）には、フィルタ処理された総回転角の周辺確率分布が入力されてもよい。
【０２００】
また、本例の動き推定処理でのステップｓ５１〜ｓ５３の実行順序は上記の例に限られない。例えば、ステップｓ５１は、ステップｓ５２及びｓ５３のいずれか一つのステップの後に実行されてもよいし、ステップｓ５３は、ステップｓ５１及びｓ５２のいずれか一つのステップの前に実行されてもよい。
【０２０１】
また、本例の推定部３００は、上述の図６と同様にして、現在よりも先のタイミングでの電子機器１の動きを推定してもよい。この場合、ステップｓ５１〜ｓ５４の一連の処理が単位推定処理とされる。そして、上述と同様にして単位推定処理が必要回数Ｍだけ実行されることによって、現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの電子機器１の動きが推定される。つまり、対象回転振動時の電子機器１についての現在よりも（Ｔ×（Ｍ−１））時間先のタイミングでの角速度、回転角及び総回転角の推定値が得られる。
【０２０２】
また、推定部３００は、上述の図７と同様にして、現在よりもＴの整数倍だけ先のタイミングではなく、現在よりも先の所望の推定タイミングでの電子機器１の動きを推定してもよい。
【０２０３】
以上のように、本例では、ジャイロセンサ２５０の角速度検出値と、電子機器１の動きを表す予測モデル３６０と、角速度検出値が用いられる、電子機器１の回転振動を表す観測モデル３５０とを用いたベイズ推定に基づいて、回転振動時の電子機器１の動きが推定される。これにより、回転振動時の電子機器１の動きを適切に推定することができる。
【０２０４】
また、本例に係る予測モデル３６０では、上述の式（８）に示されるように、あるタイミングでの角速度の予測確率分布が、当該あるタイミングよりも前のタイミングでの角速度の推定確率分布を用いた外挿式で表される。そして、あるタイミングでの推定確率分布を、外挿式において前のタイミングでの推定確率分布として使用して、当該あるタイミングよりも先のタイミングでの予測確率分布を求め、求めた先のタイミングでの予測確率分布を用いたベイズ推定に基づいて当該先のタイミングでの推定確率分布を生成するという処理を繰り返し実行することによって、所望のタイミングでの角速度の推定確率分布を求めることができる。よって、外挿式を使用して、所望のタイミングでの角速度の推定値を簡単に得ることができる。
【０２０５】
また本例では、観測モデル３５０において、対象回転振動時の電子機器１の回転角の平均が零であると表現されている。したがって、対象回転振動時の電子機器１の回転角の推定値が零から大きく離れる可能性を低減することができる。よって、対象回転振動の回転角が小さいという状況に応じた回転角の推定値を適切に得ることができる。
【０２０６】
また本例では、観測モデル３５０において、対象回転振動時の電子機器１の総回転角の平均が零であると表現されている。これにより、電子機器１の回転振動に応じた変化を行う回転角の推定値を適切に得ることができる。この理由については、対象振動時の電子機器１の総変位の平均が零であると表現されていることにより、電子機器１の振動に応じた変化を行う変位の推定値を適切に得ることができる理由と同様である。
【０２０７】
なお、推定部３００は、角速度、回転角及び総回転角の推定値のうちの少なくとも一つを生成しなくてもよい。つまり、推定部３００は、動きの推定結果として、角速度、回転角及び総回転角の少なくとも一つの推定値を生成してもよい。また、推定部３００は、ローリングの角速度推定値、回転角推定値及び総回転角推定値の少なくとも一つを生成しなくてもよい。また、推定部３００は、ピッチングの角速度推定値、回転角推定値及び総回転角推定値の少なくとも一つを生成しなくてもよい。また、推定部３００は、ヨーイングの角速度推定値、回転角推定値及び総回転角推定値の少なくとも一つを生成しなくてもよい。
【０２０８】
次に、本例の電子機器１での動きの推定結果の利用方法の一例について説明する。ヘッドアップディスプレイとして機能する本例の電子機器１は、例えば、動きの推定結果に基づいて、実風景に重ねて表示する画像の表示位置を補正することができる。本例の電子機器１が備える表示部１２０は、対象車両８００の前方の実風景に対して画像を重ねて表示することができる。表示部１２０は、例えば、プロジェクターと同様の構成を備えている。そして、本例の電子機器１が備える表示制御部５００は、表示部１２０が実風景に重ねて表示する画像の表示位置を制御することが可能である。以下に、本例の表示制御部５００の動作の一例について説明する。以後、表示部１２０が実風景に重ねて表示する画像を重畳画像と呼ぶことがある。
【０２０９】
例えば、電子機器１が搭載された対象車両８００が石畳等の凸凹道を走行する場合、Ｙ１軸周りの回転振動が対象車両８００に生じることがある。Ｙ１軸周りの回転振動が対象車両８００に生じると、電子機器１にもＹ１軸周りの回転振動が生じる。Ｙ１軸周りの回転振動が電子機器１に生じると、表示部１２０が表示する重畳画像の地球に対する位置が対象車両８００の上下方向にずれる可能性がある。例えば、対象車両８００を前側から見て、対象車両８００が下側に回転すると、重畳画像の地球に対する位置が下側にずれる。一方で、対象車両８００を前側から見て、対象車両８００が上側に回転すると、重畳画像の地球に対する位置が上側にずれる。これにより、ユーザは、重畳画像を視認しにくい可能性がある。
【０２１０】
そこで、本例の表示制御部５００は、第２フィルタ３２０から出力される、電子機器１のピッチングの回転角の推定値に基づいて、表示部１２０での重畳画像の表示位置を制御することによって、当該重畳画像の地球に対する位置を制御する。これにより、実風景に重ねられる重畳画像の地球に対する位置が変化しにくくなり、当該重畳画像の視認性を向上させることが可能となる。
【０２１１】
本例の表示制御部５００は、電子機器１のピッチングの回転角の推定値に基づいて、重畳画像の地球に対する位置のずれ量と、重畳画像の地球に対する位置のずれ方向とを推定する。そして、表示制御部５００は、重畳画像の表示位置を、推定したずれ方向とは反対の方向に、推定したずれ量だけ変化させる。これにより、実風景に重畳される重畳画像の地球に対する位置が変化しにくくなる。その結果、重畳画像の視認性が向上する。以下に、上述の図１０を用いて、本例の表示制御部５００の動作について詳細に説明する。以後、電子機器１のピッチングの回転角をピッチング回転角と呼ぶことがある。
【０２１２】
重畳画像は、例えば、所定のフレームレートで表示される。表示制御部５００は、各フレーム期間について、当該フレーム期間において得られるピッチング回転角の推定値に基づいて、当該フレーム期間よりも例えば一つ後のフレーム期間で表示される重畳画像の表示位置を決定する。
【０２１３】
以後、上述と同様に、本例の電子機器１の説明において注目するフレーム期間を対象フレーム期間と呼ぶことがある。また、対象フレーム期間よりも一つ後のフレーム期間を次フレーム期間と呼ぶことがある。また、次フレーム期間で表示される重畳画像を対象重畳画像と呼ぶことがある。また、対象重畳画像の表示位置の決定で使用されるピッチング回転角の推定値を、対象回転角推定値と呼ぶことがある。また、対象回転角推定値を生成する際にピッチングの最新の角速度検出値として使用されるピッチングの角速度検出値を対象角速度検出値と呼ぶことがある。以下に説明する例では、推定部３００は、上述の図７と同様にして、現在よりもＴの整数倍だけ先のタイミングではなく、現在よりも先の所望の推定タイミングでの電子機器１の動きを推定する。
【０２１４】
本例では、図１０のステップｓ３１において、推定部３００は、対象角速度検出値を取得する。対象角速度検出値としては、例えば、対象フレーム期間の垂直同期信号が発生した直後にジャイロセンサ２５０から出力されるピッチングの角速度検出値が採用される。
【０２１５】
次にステップｓ３２において、推定部３００は、動き推定処理の推定タイミングを決定する。そしてステップｓ３３において、推定部３００は、対象角速度検出値をピッチングの最新の角速度検出値として使用して、ステップｓ３２で決定した推定タイミングでの電子機器１の動きを推定する動き推定処理を実行する。
【０２１６】
推定タイミングについては、上述の図１１と同様にして決定される。本例では、出力タイミングｔｍ３は、ジャイロセンサ２５０が対象角速度検出値を出力するタイミングである。ステップｓ３２において、推定部３００は、対象角速度検出値の出力タイミングｔｍ３から、次フレーム期間の垂直同期信号の発生開始タイミングｔｍ２までの時間Ｔ１１を求める。次に、推定部３００は、発生開始タイミングｔｍ２から表示タイミングｔｍ４までの時間Ｔ１２に対して、求めた時間Ｔ１１を足し合わせて、出力タイミングｔｍ３から表示タイミングｔｍ４までの時間Ｔ１３を求める。そして、推定部３００は、求めた時間Ｔ１３を、推定タイミングのＴ０とする。これにより、推定タイミングが、表示部１２０において対象重畳画像が実際に表示されるタイミングとなる。
【０２１７】
ステップｓ３２において推定タイミングが決定されると、ステップｓ３３において、推定部３００は、対象角速度検出値を最新の角速度検出値として使用して、上述の図７と同様の動き推定処理を行う。ステップｓ３３の動き推定処理の結果、推定タイミングでの角速度、回転角及び総回転角の推定値が得られる。つまり、対象重畳画像が表示されるタイミングでの角速度、回転角及び総回転角の推定値が得られる。
【０２１８】
次にステップｓ３４において、表示制御部５００は、ステップｓ３３で得られた回転角の推定値を対象回転角推定値として、対象重畳画像の表示位置を決定する。ステップｓ３４において、表示制御部５００は、第２フィルタ３２０から出力される、推定タイミングでのピッチングの回転角の推定値を対象回転角推定値とする。そして、表示制御部５００は、対象回転角推定値に基づいて、対象重畳画像の表示位置を決定する。
【０２１９】
ステップｓ３４において、表示制御部５００は、対象回転角推定値に基づいて、重畳画像の地球に対する位置のずれ量と、重畳画像の地球に対する位置のずれ方向とを推定する。そして、表示制御部５００は、次フレーム期間で表示される重畳画像の表示位置を、推定したずれ方向とは反対の方向に、推定したずれ量だけ変化させる。これにより、次フレーム期間で表示されている対象重畳画像の地球に対する位置が地球に対する位置からずれにくくなる。
【０２２０】
以上のステップｓ３１〜ｓ３４の処理を、制御部１００が、各フレーム期間を対象フレーム期間として実行することによって、所定のフレームレートで表示部１２０に表示される重畳画像についての地球に対する位置は動きにくくなる。その結果、実風景に重ねられる重畳画像の視認性が向上する。
【０２２１】
また、重畳画像の視認性が悪い場合には、ユーザは気分が悪くなる可能性があるが、本例の電子機器１によれば、このようなことが発生する可能性が低減する。
【０２２２】
上述のように、予測モデル３６０では、式（８）に示されるように、あるタイミングでの角速度の予測確率分布ｂ（ｔ）が、当該あるタイミングよりも前のタイミングでの角速度の推定確率分布ｂ（ｔ−１）及びｂ（ｔ−２）を用いた外挿式で表される。また、予測モデル３６０では、式（９）に示されるように、あるタイミングでの回転角の予測確率分布ｃ（ｔ）が、当該あるタイミングよりも前のタイミングでの角速度の推定確率分布ｂ（ｔ−１）を用いた予測式で表される。上記のステップｓ３３の動き推定処理では、あるタイミングでの角速度の推定確率分布が、式（８）の外挿式において前のタイミングでの角速度の推定確率分布として使用されて、当該あるタイミングよりも先のタイミングでの角速度の予測確率分布が求められ、求められた先のタイミングでの角速度の予測確率分布を用いたベイズ推定に基づいて、当該先のタイミングでの角速度の推定確率分布が生成されるという特定処理が実行される。そして、ステップｓ３３の動き推定処理では、特定処理が繰り返し実行されることによって得られた角速度の推定確率分布が、式（９）の予測式での前のタイミングでの角速度の推定確率分布として使用されて、対象重畳画像が表示されるタイミングでの回転角の予測確率分布が求められる。そして、ステップｓ３３の動き推定処理では、対象重畳画像が表示されるタイミングでの回転角の予測確率分布を用いたベイズ推定に基づいて、対象重畳画像が表示されるタイミングでの回転角の推定値を生成される。このような、対象重畳画像が実際に表示されるタイミングでの回転角の推定値に基づいて、対象重畳画像の表示位置が制御されることによって、重畳画像についての地球に対する位置はより確実に変化しにくくなる。
【０２２３】
ジャイロセンサ２５０では、内部のフィルタ機能等によって、角速度を検出してから、その検出結果を出力するまでに、ある程度の時間を要することがある。以後、ジャイロセンサ２５０が、角速度を検出してから、その検出結果を出力するまでの時間をジャイロセンサ遅延時間と呼ぶことがある。
【０２２４】
ここで、ステップｓ３３において得られる、現在よりもＴ０時間先のタイミングでの角速度の推定値（つまり、推定タイミングでの角速度の推定値）は、厳密に言うと、ジャイロセンサ２５０が最新の角速度を検出したタイミングからＴ０時間先のタイミングである。ジャイロセンサ遅延時間が零である場合には、上述のように、出力タイミングｔｍ３から表示タイミングｔｍ４までの時間Ｔ１３をＴ０とすると、推定タイミングは、対象重畳画像が表示されるタイミングと一致する。しかしながら、ジャイロセンサ遅延時間が零でない場合に時間Ｔ１３をＴ０とすると、推定タイミングは、対象重畳画像が表示されるタイミングよりも少し前のタイミングとなる。よって、推定タイミングでの回転角の推定値は、対象重畳画像が表示されるタイミングよりも少し前での回転角の推定値となる。
【０２２５】
そこで、推定部３００は、上述の図１２と同様にして、ジャイロセンサ遅延時間を考慮して推定タイミングを決定してもよい。本例では、タイミングｔｍ５は、ジャイロセンサ２５０が角速度を検出したタイミングとなる。推定部３００は、タイミングｔｍ５からその検出結果（つまり、対象角速度検出値）の出力タイミングｔｍ３までの時間Ｔ１４を時間Ｔ１３に足し合わせて得られる時間Ｔ１５を、推定タイミングのＴ０にしてもよい。これにより、推定部３００は、対象重畳画像の表示タイミングでの回転角をより正しく推定することができる。
【０２２６】
なお、推定部３００は、ステップｓ３２で決定したＴ０が（Ｔ×（Ｍ−１））と一致しない場合には、現在から（Ｔ×（Ｍ−１））時間先のタイミングでの回転角の推定値を、推定タイミングでの回転角の推定値とし、当該推定値を、対象重畳画像の表示タイミングでの回転角の推定値として使用してもよい。
【０２２７】
上記の例では、電子機器１は、ヘッドアップディスプレイとして使用されていたが、他の装置として使用されてもよい。例えば、電子機器１は、仮想現実（ＶＲ：Virtual Reality）用あるいは拡張現実用のヘッドマウントディスプレイとして使用されてもよい。この場合、電子機器１は、上述のように、回転振動時の動きを推定し、その推定結果に基づいて、表示する画像の表示位置を制御してもよい。ヘッドマウントディスプレイは、ゴーグル型であってもよいし、メガネ型であってもよいし、他の形状であってもよい。
【０２２８】
また、動き推定装置４００は、並進振動と回転振動を行っている装置の動きを推定してもよい。この場合、推定部３００は、動き推定処理において、加速度推定値、速度推定値、変位推定値及び総変位推定値の少なくとも一つと、角速度推定値、回転角推定値及び総変回転角推定値の少なくとも一つとを生成してもよい。例えば、動き推定処理において、加速度推定値、速度推定値、変位推定値及び総変位推定値と、角速度推定値、回転角推定値及び総変回転角推定値とが生成される場合を考える。この場合、式（１）に関する状態ベクトルｘには、変数として、加速度、速度、変位、総変位、角速度、回転角及び総回転角が含まれる。また、観測ベクトルｚには、変数として、加速度、速度、変位、総変位、角速度、回転角及び総回転角が含まれる。観測モデル３５０は、電子機器１の加速度、速度、変位、総変位、角速度、回転角及び総回転角を表す最大７次元の確率分布となる。推定部３００は、事後確率ｐ（ｘｔ｜ｚ１：ｔ）を推定すると、推定した事後確率ｐ（ｘｔ｜ｚ１：ｔ）が最大となる状態ベクトルを推定状態ベクトルとして特定する。そして、推定部３００は、推定状態ベクトルの加速度、速度、変位、総変位、角速度、回転角及び総回転角の成分を、それぞれ、加速度推定値、速度推定値、変位推定値、総変位推定値、角速度推定値、回転角推定値及び総回転角推定値とする。
【０２２９】
また、動き推定装置４００は、第１フィルタ３１０及び第２フィルタ３２０の少なくとも一方を備えなくてもよい。また、観測モデル３５０は上記の例に限られない。また、予測モデル３６０は上記の例に限られない。例えば、式（４）〜（６），（９），（１０）の少なくとも一つには予測誤差が含まれなくてもよい。また、動き推定装置４００での動きの推定結果の利用方法は上記の例に限られない。また、動き推定装置４００は、電子機器１に含まれなくてもよい。また、動き推定装置４００は、電子機器１以外の装置の動きを推定してもよい。
【０２３０】
以上のように、電子機器１及び動き推定装置４００は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この開示がそれに限定されるものではない。また、上述した各種例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の例が、この開示の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０２３１】
１  電子機器
１００  制御部
１０３ａ  制御プログラム
１２０  表示部
３００  推定部
３１０  第１フィルタ
３２０  第２フィルタ
３５０  観測モデル
３６０  予測モデル
４００  動き推定装置
【要約】
振動時の装置の動きを推定する動き推定装置は推定部を備える。推定部は、装置の動きを表す予測モデルと、装置の加速度あるいは回転角速度を検出するセンサの検出値と、当該検出値が用いられる、装置の振動に関する統計的な事前知識を表す観測モデルとを用いたベイズ推定に基づいて、振動時の装置の動きを推定する。【図１】
0006621167.tif 000012
【図２】
0006621167.tif 000013
【図３】
0006621167.tif 000014
【図４】
0006621167.tif 000015
【図５】
0006621167.tif 000016
【図６】
0006621167.tif 000017
【図７】
0006621167.tif 000018
【図８】
0006621167.tif 000019
【図９】
0006621167.tif 000020
【図１０】
0006621167.tif 000021
【図１１】
0006621167.tif 000022
【図１２】
0006621167.tif 000023
【図１３】
0006621167.tif 000024
【図１４】
0006621167.tif 000025
【図１５】
0006621167.tif 000026