(57)【特許請求の範囲】
【請求項１】
撮像装置の向きを示す方位を検出する方位センサーと、
撮影画像と該撮影画像に対応する属性情報からなる記録データを生成して記録部に記録する制御部と、
撮影画像と属性情報を記録する記録部を有し、
前記制御部は、
前記方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録し、
前記メモリから画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出する構成であり、
前記制御部は、
複数の撮影画像を連結して生成するパノラマ画像の方位情報算出処理に際して、
前記パノラマ画像の中央位置の画像の撮影時間を、パノラマ画像の撮影開始フレームの撮影時間と、パノラマ画像撮影時の複数の連続撮影画像の撮影間隔を適用した演算により算出し、
算出した前記中央位置の画像の撮影時間に近いタイムスタンプを有する複数のエントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記パノラマ画像の撮影方向を示す方位情報を算出する撮像装置。
【請求項２】
前記制御部は、
前記メモリから前記画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの方位情報から中間の方位情報値を持つ少数の複数エントリを再選択し、再選択した複数エントリの方位情報の平均値を前記撮影画像の撮影方向を示す方位情報とする請求項１に記載の撮像装置。
【請求項３】
前記制御部は、
前記メモリから撮影画像撮影時間に最も近いタイムスタンプを有する１つの代表エントリを選択し、
さらに、前記代表エントリのタイムスタンプの近傍のタイムスタンプを持つ規定数の近傍エントリを選択し、
前記代表エントリと近傍エントリからなる複数エントリを方位情報の値に従って並べ替えるソート処理を実行し、
ソート結果の少なくとも上位または下位にある１以上の端部エントリを除外した残りの中間エントリの方位情報の平均値を算出して、該平均値を前記撮影画像の撮影方向を示す方位情報とする請求項１または２に記載の撮像装置。
【請求項４】
前記制御部は、
連写撮影画像の各々について撮影時間を取得し、
連写撮影画像の各々について、撮影時間に近いタイムスタンプを有する複数エントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記連射撮影画像各々の撮影方向を示す方位情報を算出する請求項１〜３いずれかに記載の撮像装置。
【請求項５】
撮像装置において実行するデータ処理方法であり、
制御部が、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録する方位情報記録ステップと、
前記制御部が、撮影画像の撮影時間を取得する撮影時間取得ステップと、
前記制御部が、前記メモリから前記撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出する方位情報算出ステップを実行し、
前記方位情報算出ステップにおいて、
複数の撮影画像を連結して生成するパノラマ画像の方位情報算出処理を実行する場合、
前記パノラマ画像の中央位置の画像の撮影時間を、パノラマ画像の撮影開始フレームの撮影時間と、パノラマ画像撮影時の複数の連続撮影画像の撮影間隔を適用した演算により算出する処理と、
算出した前記中央位置の画像の撮影時間に近いタイムスタンプを有する複数のエントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記パノラマ画像の撮影方向を示す方位情報を算出する処理を実行するデータ処理方法。
【請求項６】
撮像装置においてデータ処理を実行させるプログラムであり、
制御部に、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録させる方位情報記録ステップと、
前記制御部に、撮影画像の撮影時間を取得させる撮影時間取得ステップと、
前記制御部に、前記メモリから前記撮影時間に近いタイムスタンプを有する複数のエントリを抽出させ、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出させる方位情報算出ステップを実行させ、
前記方位情報算出ステップにおいて、
複数の撮影画像を連結して生成するパノラマ画像の方位情報算出処理を実行する場合、
前記パノラマ画像の中央位置の画像の撮影時間を、パノラマ画像の撮影開始フレームの撮影時間と、パノラマ画像撮影時の複数の連続撮影画像の撮影間隔を適用した演算により算出する処理と、
算出した前記中央位置の画像の撮影時間に近いタイムスタンプを有する複数のエントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記パノラマ画像の撮影方向を示す方位情報を算出する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、およびデータ処理方法、並びにプログラムに関する。さらに詳細には、撮像装置の撮影画像の記録時に、画像の撮影方向を示す方位情報を記録する撮像装置、およびデータ処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、カメラに方位の検出を行う方位センサーを備え、画像が撮影された場合に、方位センサーの取得した画像の撮影方向を示す方位情報を取得する構成としたものがある。このようなカメラは、撮影画像をメディア(記憶手段)に記録する場合、方位情報を撮影画像の属性情報（メタ情報）として記録する構成を持つ。
【０００３】
画像の属性情報としてメディアに記録された方位情報は、例えばＰＣ等の表示部に地図を表示して撮影方向を示すために用いられる。あるいは複数の連写画像の組み合わせによるパノラマ画像の生成時に各画像の撮影方向を判定するための情報として用いられる。その他にも様々な用途で利用される。
【０００４】
なお、方位情報を取得して記録する撮像装置については、例えば特許文献１（特開２００５−１１００３１号公報）、特許文献２（特開２００５−２６８５９号公報）等に記載がある。
【０００５】
しかし、例えばデジタルカメラでは画像の撮影タイミングと、メディアに対する記録タイミングとの間に時間差が発生してしまう。これは、画像の撮影（キャプチャ）から記録までに時間を要することに起因する。例えば、画像の撮影後に、カメラのデータ処理部において撮影画像のエンコード処理やメディアに対する記録フォーマットの生成処理などが行われ、その後、メディアに対して記録処理が行われる。このようにデジタルカメラでは画像撮影から記録処理までの処理時間が必要となる。
【０００６】
従来の多くのカメラは、撮影画像をメディアに記録するタイミングにおいて、カメラに備えられた方位センサーから最新の方位情報を取得して、画像の撮影方向情報として記録する処理が行われる。従って、画像撮影タイミングとメディアに対する画像記録タイミングの間にカメラの方向が移動してしまうと、実際の画像撮影方向とは異なる方位情報が記録されてしまうことになる。
【０００７】
具体的な例について図１、図２を参照して説明する。
図１は、一般的なシングル画像や連写撮影処理における画像の撮影、記録シーケンスを説明する図である。
図２は、カメラを移動させながら複数の画像を撮影してカメラ内の処理によって横長のパノラマ画像を生成して記録する処理シーケンスを説明する図である。
【０００８】
まず、図１を参照して一般的なシングル画像や連写撮影処理における画像の撮影、記録シーケンスについて説明する。図１には、
（ａ）撮影処理
（ｂ）記録処理
（ｃ）方位情報取得処理
これらのシーケンスを示している。時間（ｔ）は左から右に進行している。
【０００９】
まず、ユーザは、時間ｔ１において画像１を撮影する。その後、時間ｔ２で画像２、以下、続けて画像を撮影し、時間ｔ３に画像Ｎを撮影し、計Ｎ枚の画像を撮影したものとする。なお、ユーザはカメラの方向を移動させながら画像の撮影を行っている。
【００１０】
撮影画像は一枚ごとにカメラ内の信号処理部で例えばｊｐｅｇ画像等の圧縮画像にエンコードされる。さらに例えばＥＸＩＦフォーマット等、規定の画像記録フォーマットに従った記録データへの変換処理がなされる。これらの処理の後、例えばフラッシュメモリ等の記録メディアに記録される。
【００１１】
前述のようにエンコード処理等の信号処理には所定の時間を要する。従って図１に示すように、画像１については時間ｔ４、画像２については時間ｔ５、画像Ｎについては時間ｔ６、これらの各時間にメディアへの記録処理が実行される。
【００１２】
方位情報を取得するセンサーは、予め規定されたサンプリングタイム間隔でセンサー取得情報を制御部（ＣＰＵ）に提供する。制御部は撮影画像のメディアへの記録処理時点で得られた最新の方位情報を取得してメディアに記録する。
【００１３】
結果として、画像１に対応する属性情報（メタ情報）中に記録される方位情報は、画像１の記録時間である時間ｔ４直前に方位センサーから入力した方位情報となる。結果として図１に示すように［１３５°］の方位情報が画像１の撮影方向を示す情報として記録されてしまう。これは、画像１の撮影時（ｔ１）の実際の方位情報［０°］とは明らかに異なる方位情報である。
【００１４】
同様に、撮影時間ｔ２の画像２については、記録時間ｔ４直前の方位情報［１８０°］が記録されるが、これは実際の撮影時（ｔ２）の方位情報［４５°］とは異なる情報である。
このように、撮影時間と記録時間とのタイムラグによって、実際の撮影時における方位情報と異なる方位情報が画像の属性情報（メタ情報）として記録されてしまうことになる。
【００１５】
図２は、カメラを移動させながら複数の画像を撮影してカメラ内の処理によって横長のパノラマ画像を生成して記録する処理シーケンスを説明する図である。図２にも図１と同様、
（ａ）撮影処理
（ｂ）記録処理
（ｃ）方位情報取得処理
これらのシーケンスを示している。時間（ｔ）は左から右に進行している。
【００１６】
ユーザは、カメラをパノラマ撮影モードに設定し、移動させながら複数の画像を撮影する。撮影完了後に、カメラ内部のデータ処理部が、複数の画像を連結してパノラマ画像を生成して記録メディアに記録する。
【００１７】
パノラマ画像を構成する複数画像の撮影期間の中心時間を時間ｔａとして示している。カメラは、ユーザによる撮影処理後に複数画像を合成してパノラマ画像を生成し、さらに、ｊｐｅｇ画像等の圧縮画像へのエンコード処理、規定の画像記録フォーマットに従った記録データへの変換処理を行う。これらの処理の後、例えばフラッシュメモリ等の記録メディアに記録される。
【００１８】
これらのデータ処理に所定の時間を要し、パノラマ画像のメディアへの記録タイミングは、図２に示すように時間ｔｂとなる。この場合もカメラの制御部は撮影画像のメディアへの記録処理時点で得られた最新の方位情報を取得してメディアに記録する。
【００１９】
結果として、パノラマ画像１に対応するメタ情報中に記録される方位情報は、パノラマ画像１の記録時間である時間ｔｂ直前に方位センサーから入力した方位情報となる。結果として図２に示すように［１８０°］の方位情報がパノラマ画像１の撮影方向を示す情報として記録されてしまう。これは、パノラマ画像１の撮影時（ｔａ）の実際の方位情報［４５°］とは明らかに異なる方位情報である。
【００２０】
このように、撮影時間と記録時間とのタイムラグによって、実際の撮影時における方位情報と異なる方位情報が画像の属性情報（メタ情報）として記録されてしまうことになる。
【００２１】
また、カメラに備えられた方位センサーは、地球の磁気を検出する地磁気センサーと加速度センサーの組み合わせを利用して方位情報を取得する構成としたものが多いが、地磁気センサーは、カメラ内部の駆動機構や電子部材などの発生する磁気の影響、すなわち外乱によって誤った検出値を出力してしまう場合がある。
具体的には、撮影時に行われるフォーカス調整などに際して行われるレンズ駆動などに際して発生する磁気の影響を受けると誤った検出値を出力してしまう場合がある。
【００２２】
このように現状の撮像装置、すなわち方位情報を取得し画像に対応付けて記録する撮像装置の問題点として、以下の問題点がある。
（ａ）メディアに記録する画像の撮影時間と方位情報の取得時間のずれによる方位情報の精度低下、
（ｂ）外乱の影響による方位情報の精度低下、
これらの問題がある。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００５−１１００３１号公報
【特許文献２】特開２００５−２６８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【００２４】
本発明は、例えば、上述の問題点に鑑みてなされたものであり、撮像装置において撮影された画像に対応する精度の高い方位情報を記録することを可能とする撮像装置、およびデータ処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２５】
本発明の第１の側面は、
撮像装置の向きを示す方位を検出する方位センサーと、
撮影画像と該撮影画像に対応する属性情報からなる記録データを生成して記録部に記録する制御部と、
撮影画像と属性情報を記録する記録部を有し、
前記制御部は、
前記方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録し、
前記メモリから画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出する撮像装置にある。
【００２６】
さらに、本発明の撮像装置の一実施態様において、前記制御部は、前記メモリから前記画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの方位情報から中間の方位情報値を持つ少数の複数エントリを再選択し、再選択した複数エントリの方位情報の平均値を前記撮影画像の撮影方向を示す方位情報とする。
【００２７】
さらに、本発明の撮像装置の一実施態様において、前記制御部は、前記メモリから撮影画像撮影時間に最も近いタイムスタンプを有する１つの代表エントリを選択し、さらに、前記代表エントリのタイムスタンプの近傍のタイムスタンプを持つ規定数の近傍エントリを選択し、前記代表エントリと近傍エントリからなる複数エントリを方位情報の値に従って並べ替えるソート処理を実行し、ソート結果の少なくとも上位または下位にある１以上の端部エントリを除外した残りの中間エントリの方位情報の平均値を算出して、該平均値を前記撮影画像の撮影方向を示す方位情報とする。
【００２８】
さらに、本発明の撮像装置の一実施態様において、前記制御部は、連写撮影画像の各々について撮影時間を取得し、連写撮影画像の各々について、撮影時間に近いタイムスタンプを有する複数エントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記連射撮影画像各々の撮影方向を示す方位情報を算出する。
【００２９】
さらに、本発明の撮像装置の一実施態様において、前記制御部は、複数の撮影画像を連結して生成されるパノラマ画像の中央位置の画像の撮影時間に近いタイムスタンプを有する複数のエントリを前記メモリから抽出し、抽出したエントリの複数の方位情報を適用して前記パノラマ画像の撮影方向を示す方位情報を算出する。
【００３０】
さらに、本発明の撮像装置の一実施態様において、前記制御部は、前記パノラマ画像の中央位置の画像の撮影時間を、パノラマ画像の撮影開始フレームの撮影時間から算出する。
【００３１】
さらに、本発明の第２の側面は、
撮像装置において実行するデータ処理方法であり、
制御部が、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録する方位情報記録ステップと、
前記制御部が、撮影画像の撮影時間を取得する撮影時間取得ステップと、
前記制御部が、前記メモリから前記撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出する方位情報算出ステップと、
を実行するデータ処理方法にある。
【００３２】
さらに、本発明の第３の側面は、
撮像装置においてデータ処理を実行させるプログラムであり、
制御部に、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、前記方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録させる方位情報記録ステップと、
前記制御部に、撮影画像の撮影時間を取得させる撮影時間取得ステップと、
前記制御部に、前記メモリから前記撮影時間に近いタイムスタンプを有する複数のエントリを抽出させ、抽出したエントリの複数の方位情報を適用して前記撮影画像の撮影方向を示す方位情報を算出させる方位情報算出ステップと、
を実行させるプログラムにある。
【００３３】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００３４】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３５】
本発明の一実施例の構成によれば、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録する。また画像撮影時にメモリから画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して撮影画像の撮影方向を示す方位情報を算出して画像の属性情報として記録する。この構成により、画像の属性情報として記録する方位情報は、画像の撮影時刻前後に方位センサーが取得した複数の方位情報に基づく算出データとすることができる。また、複数の方位情報のソート処理結果の端部のデータを除外して再選択した方位情報のデータを平均化する処理を実行する構成として外乱等による異常値を除外した精度の高い方位情報を画像対応のメタデータとして記録できる。
【図面の簡単な説明】
【００３６】
【図１】一般的なシングル画像や連写撮影処理における画像の撮影、記録シーケンスについて説明する図である。
【図２】カメラを移動させながら複数の画像を撮影してカメラ内の処理によって横長のパノラマ画像を生成して記録する処理シーケンスを説明する図である。
【図３】本発明の一実施例に係る撮像装置の構成例について説明する図である。
【図４】本発明の一実施例に係る撮像装置の実行するシングル画像や連写撮影処理における画像の撮影、記録シーケンスを説明する図である。
【図５】本発明の一実施例に係る撮像装置がメモリに格納する記録データの例について説明する図である。
【図６】本発明の一実施例に係る撮像装置の実行するパノラマ画像の撮影、記録処理シーケンスを説明する図である。
【図７】本発明の一実施例に係る撮像装置の制御部が実行する処理を説明するスタック図である。
【図８】撮影画像に対応する方位情報の算出および記録処理の詳細について説明する図である。
【図９】撮影画像に対応する方位情報の算出および記録処理の詳細について説明する図である。
【図１０】撮影画像に対応する方位情報の算出および記録処理の詳細について説明する図である。
【図１１】本発明の一実施例に係る撮像装置において実行するシングル画像の撮影処理における画像撮影および記録シーケンスについて説明する図である。
【図１２】本発明の一実施例に係る撮像装置において実行する連写撮影画像の撮影処理における画像撮影および記録シーケンスについて説明する図である。
【図１３】本発明の一実施例に係る撮像装置において実行するパノラマ画像の撮影処理における画像撮影および記録シーケンスについて説明する図である。
【図１４】本発明の一実施例に係る撮像装置において実行するパノラマ画像の撮影時刻の算出処理例について説明する図である。
【発明を実施するための形態】
【００３７】
以下、図面を参照しながら、本発明の撮像装置、およびデータ処理方法、並びにプログラムについて説明する。説明は以下の項目順に行う。
１．撮像装置の構成例について
２．本発明の撮像装置の実行する処理について
３．撮影画像に対応する方位情報の算出および記録処理の詳細について
４．本発明の撮像装置の実行する処理シーケンスについて
【００３８】
［１．撮像装置の構成例について］
まず、本発明の撮像装置の構成例について図３を参照して説明する。
図３は本発明の撮像装置１００の一構成例を示す図である。本発明の撮像装置１００は、図３に示すように被写体像を入力するレンズ部１１１、レンズ部１１１を介して入力する光信号を電気信号に変換する撮像素子を有する撮像素子１１２、撮像素子１１２の生成する電気信号を入力して信号処理を実行する信号処理部１１３を有する。
【００３９】
信号処理部１１３では、例えばホワイトバランス調整処理、γ補正処理、補間処理等の様々な信号処理、さらに、例えばｊｐｅｇ画像等の圧縮画像の生成処理としてのエンコード処理等を実行する。信号処理部１１３の処理結果に基づいて制御部１２０は、記録画像フォーマットであるＥＸＩＦフォーマット等の記録画像の生成を行い、記録部（記録メディア）１１７に対する記録処理を行う。
【００４０】
操作部１１４は、シャッター１１５、フォーカス調整やモード設定等のその他操作部１１６によって構成される。
記録部（記録メディア）１１７は、例えばフラッシュメモリ、磁気ディスク、光ディスク等の各種のメディアによって構成される。
外部メモリ１１８は、任意に装着可能な例えばディスク等のメディアである。
ユーザは、画像の記録先として記録部（記録メディア）１１７や外部メモリ１１８を選択的に利用できる。
【００４１】
タイマー１１９は計時処理を実行する時計である。なお、タイマー１１９は実時間を計測する時計であってもよいし、所定の期間単位でカウント数をインクリメントするカウンタであってもよい。
【００４２】
制御部１２０は、撮像装置１００において実行する画像撮影、記録処理、方位センサー１２４による方位情報の取得処理等、撮像装置１００において実行する処理の制御を行う。この処理は、例えばＲＯＭ１２１に格納されたプログラムに従って行われる。
制御部１２０において実行する処理の制御に必要なプログラムは、例えばＲＯＭ１２１に格納されており、制御部（ＣＰＵ）１２０はプログラムに従って各種の処理を実行する。
【００４３】
メモリ（ＲＡＭ）１２２は、制御部（ＣＰＵ）１２０においてプログラムに従って実行される各種処理のワークエリアとして利用される。さらに、画像や様々な設定情報の記憶領域としても利用される。また、方位センサー１２４が取得する方位情報を記録する領域としても利用される。なお、方位情報は順次新しいデータによって古いデータが書き換えられる。例えばリングバッファの構成を持つ。
【００４４】
表示部（モニタ）１２３は、例えばＬＣＤディスプレイ等によって構成され、撮影画像の表示処理、あるいはユーザに対する操作情報、設定情報の表示部として利用される。
【００４５】
方位センサー１２４は撮像装置の向き（撮像装置のレンズの向いた東西南北の方向）を示す方位を検出するセンサーであり、加速度センサー１３１と地磁気センサー１３２によって構成される。
方位センサー１２４は、予め設定されたサンプリングタイム間隔（例えば１００ｍｓｅｃ）毎に撮像装置の向きを算出可能なセンサー検出情報を制御部１２０に提供する。制御部１２０は、加速度センサー１３１と地磁気センサー１３２の検出情報に基づいて予め設定されたアルゴリズムに従って撮像装置の向きを示す方位情報を算出し、算出した方位情報をメモリ１２２に記録する。
【００４６】
制御部１２０は、方位情報をメモリ１２２に記録する際、タイマー１１９から入力した方位情報検出時間を示すタイムスタンプを併せて記録する。この処理とメモリ１２２に対する方位情報の記録構成については、後段で詳細に説明する。
【００４７】
このように制御部１２０は、方位センサー１２４の検出値を順次入力して算出した方位情報と、方位センサー１２４の検出値入力時間を示すタイムスタンプを対応付けたエントリをメモリ１２２に記録する。さらに、制御部１２０は、画像の撮影時に、メモリ１２２から画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出して、抽出したエントリの複数の方位情報を適用して撮影画像の撮影方向を示す方位情報を算出する。この算出処理については後段で詳細に説明する。制御部１２０は、このようにして算出した方位情報を画像の属性情報として画像とともに記録部（記録メディア）１１７に記録する。
【００４８】
［２．本発明の撮像装置の実行する処理について］
次に、本発明の撮像装置１００の実行する処理について説明する。
まず、図４〜図６を参照して、本発明の撮像装置１００の実行する画像の撮影と画像の記録に際して、画像撮影時の精度の高い方位情報を記録する処理シーケンスについて説明する。
【００４９】
図４、図６は、先に説明した図１、図２に対応する本発明の撮像装置の処理例を示す図である。すなわち、
図４は、一般的なシングル画像や連写撮影処理における画像の撮影、記録シーケンスを説明する図である。
図６は、カメラを移動させながら複数の画像を撮影してカメラ内の処理によって横長のパノラマ画像を生成して記録する処理シーケンスを説明する図である。
【００５０】
図５は、本発明の撮像装置のメモリ（例えばリングバッファ）の記録データの例であり、方位情報の取得処理を行うセンサーの取得した方位情報と、その方位情報の取得時間を示すタイムスタンプとの対応データからなるメモリ記録データの例を示す図である。
【００５１】
まず、図４を参照して一般的なシングル画像や連写撮影処理における画像の撮影、記録シーケンスについて説明する。図４には、
（ａ）撮影処理
（ｂ）記録処理
（ｃ）方位情報取得処理
（ｄ）タイマー経時処理
（ｅ）メモリ（バッファ）記録処理
これらのシーケンスを示している。時間（ｔ）は左から右に進行している。
【００５２】
まず、ユーザは、時間ｔ１において画像１を撮影する。その後、時間ｔ２で画像２、以下、続けて画像を撮影する。なお、ユーザはカメラの方向を移動させながら画像の撮影を行っている。撮影画像は一枚ごとにカメラ内の信号処理部で例えばｊｐｅｇ画像等の圧縮画像にエンコードされる。さらに例えばＥＸＩＦフォーマット等、規定の画像記録フォーマットに従った記録データへの変換処理がなされる。これらの処理の後、例えばフラッシュメモリ等の記録メディアに記録される。
【００５３】
エンコード処理等の信号処理には所定の時間を要する。従って画像のメディアへの記録タイミングは、図４に示すように、画像１については時間ｔ４、画像２については時間ｔ５、これらの各時間にメディアへの記録処理が実行される。
【００５４】
方位情報を取得する方位センサー１２４は、予め規定されたサンプリングタイム間隔（例えば１００ｍｓｅｃ間隔）でセンサー取得情報を制御部（ＣＰＵ）１２０に提供する。制御部１２０はセンサー取得情報をタイマー１１９の計測する時間情報とともにメモリ（バッファ）１２２に記録する処理を行う。メモリ１２２にはセンサーによって取得された各サンプリングタイムの方位情報と、その方位情報の取得時間であるタイムスタンプとが対応付けられて記録される。
【００５５】
図５にメモリ記録データ例を示す。図５に示すように、メモリ１２２には方位センサー１２４によって取得され制御部１２０において算出された方位情報と、その方位情報の取得時間であるタイムスタンプとが対応付けられて記録される。
【００５６】
メモリ１２２には、予め規定された方位情報記録領域が設定され、そのメモリ領域に方位センサー１２４の取得情報に基づく方位情報とタイムスタンプが連続的に記録される。メモリ１２２には、例えば２００サンプリングデータの記録領域が設定され、２００を超える古いデータは順次、新しいデータによって置き換えられて記録される。従って、メモリ１２２には最新の２００個の方位情報がタイムスタンプとともに記録された状態に設定される。なお、サンプリングタイム間隔を１００ｍｓｅｃとした場合、メモリ１２２には、最新の２０秒分の２００個の方位情報がタイムスタンプに対応付けて格納した状態に維持されることになる。
【００５７】
図５に示す例は、時間１２時００分００秒０（１２：００：００：０）から１２時００分１９秒９（１２：００：１９：９）の１００ｍｓｅｃ間隔の方位情報２００個が記録された例である。なお、方位情報は、北（Ｎ）＝０、東（Ｅ）＝９０、南（Ｓ）＝１８０、西（Ｗ）＝２７０とした３６０度の情報である。
【００５８】
なお、タイムスタンプは、図５に示す例では、タイマー１１９によって取得される実時間情報を利用した例を示しているが、前述したように例えばタイマー１１９はカウンタとしてもよく、この場合は、カウント値を記録する構成としてもよい。
なお、カウンタとしては、例えばカメラのディスプレイのビデオフィールドカウンタ（ＶＦＣ）の利用が可能である。ＶＦＣカウンタはシステム起動時からカウントされるカウンタでありビデオの１フィールドごとにカウントアップされるカウンタである。このＶＦＣカウンタのカウント値を実時間データの代用として利用する構成としてもよい。この場合、新たなタイマー等を追加構成することなくコストダウンが可能となるというメリットがある。
【００５９】
なお、制御部１２０は、画像の撮影時にも撮影時間を示す情報をタイマー１１９（またはカウンタ）から取得する。制御部１２０は、撮影画像を記録部（記録メディア）１１７に記録する際、その画像の撮影時間に近いタイムスタンプの設定された複数の方位情報をメモリ１２２から取得して、取得した複数の方位情報に基づいて算出した方位情報を撮影画像の方位情報として記録部（記録メディア）１１７に記録する処理を行う。
【００６０】
例えば、図４に示す例では、画像１は時間（ｔ１）に撮影され、その後エンコード処理などによって時間が経過し、メディアに対する記録時間は（ｔ４）となっている。本発明の構成においては画像をメディアに記録する時間（ｔ４）の方位情報ではなく、撮影時間（ｔ１）に近いタイムスタンプを持つ複数の方位情報をメモリから取得して、取得した複数の方位情報から後述する算出処理を実行して１つの方位情報を算出し画像１の属性情報（メタ情報）としてメディアに記録する。
【００６１】
画像２についても同様であり、画像２をメディアに記録する時間（ｔ５）の方位情報ではなく、画像２の撮影時間（ｔ２）に近いタイムスタンプを持つ複数の方位情報をメモリから取得して、所定の算出処理に従って算出した方位情報を画像２のメタ情報としてメディアに記録する。
画像のメタ情報として記録する方位情報の算出処理の詳細については後述する。
【００６２】
図６は、撮像装置（カメラ）を移動させながら複数の画像を撮影してカメラ内の処理によって横長のパノラマ画像を生成して記録する処理シーケンスを説明する図である。図６にも図４と同様、
（ａ）撮影処理
（ｂ）記録処理
（ｃ）方位情報取得処理
（ｄ）タイマー経時処理
（ｅ）メモリ（バッファ）記録処理
これらのシーケンスを示している。時間（ｔ）は左から右に進行している。
【００６３】
ユーザは、時間ｔ１〜ｔ３にかけて、カメラをパノラマ撮影モードに設定し、カメラを移動させながら複数枚の画像の連写処理を行う。カメラは、内部のデータ処理部において、複数枚の画像を連結して１枚のパノラマ画像を生成しさらにエンコード処理等を行った後、メディアに記録する。
【００６４】
パノラマ画像の生成やエンコード処理等の信号処理には所定の時間を要する。従って画像のメディアへの記録タイミングは、図６に示すように、パノラマ画像１について時間ｔ４にメディアへの記録処理が実行される。
【００６５】
この場合も先に説明した図４の処理と同様、制御部１２０は方位センサー１２４の取得情報をタイマー１１９の計測する時間情報とともにメモリ１２２に記録する処理を行う。メモリ１２２には、先に図５を参照して説明したように、方位センサー１２４の検出情報に基づく各サンプリングタイムの方位情報と、その方位情報の取得時間であるタイムスタンプとが対応付けられて記録される。サンプリングタイム間隔を１００ｍｓｅｃとした場合、メモリ１２２には、最新の２０秒分の２００個の方位情報がタイムスタンプに対応付けて格納した状態に維持される。
【００６６】
制御部１２０は、撮影画像を記録部（記録メディア）１１７に記録する際、撮影画像の撮影時間情報を取得し、その撮影時間情報に近いタイムスタンプを持つ複数の方位情報をメモリ１２２から取得して、画像に対応する方位情報を算出してメディアに記録する。図６に示す例では、パノラマ画像１の撮影時間ｔ１〜ｔ３の中心時間である時間（ｔ２）に近いタイムスタンプを持つ複数の方位情報をメモリ１２２から取得して、この複数の方位情報に基づいて算出した１つの方位情報をパノラマ画像１のメタ情報として記録部（記録メディア）１１７に記録する。
【００６７】
図７は、本発明の撮像装置１００の制御部１２０が実行する処理を説明するスタック図である。
制御部１２０は、図７に示すように、
（Ａ）方位情報処理プログラム２０１、
（Ｂ）画像情報処理プログラム２０２、
これらのプログラムを実行する。なお、これらのプログラムはＲＯＭ１２１に予め記録されたプログラムであり、制御部１２０はＲＯＭ１２１からこれらのプログラムを読み出して実行する。
【００６８】
（Ａ）方位情報処理プログラム２０１は、主に方位センサー１２４による方位情報の取得と、メモリ１２２に対する方位情報の記録処理を実行させるプログラムである。
（Ｂ）画像情報処理プログラム２０２は、主に画像の撮影および記録処理を実行させるプログラムである。
【００６９】
制御部１２０は、（Ａ）方位情報処理プログラム２０１に従って、図７（１）に示す（Ａ−１）〜（Ａ−３）の処理を実行する。その詳細は図７（２）に示すとおりであり、以下の処理である。
Ａ−１．タイマーから時刻情報を取得、
Ａ−２．方位センサーから方位を取得、
Ａ−３．メモリ（リングバッファ）１２２に時刻（タイムスタンプ）と方位情報を記録、
これらの処理を周期的（例えば１００ｍｓｅｃ間隔）で実行する。
【００７０】
また、制御部１２０は、（Ｂ）画像情報処理プログラム２０２に従って、図７（１）に示す（Ｂ−１）〜（Ｂ−４）の処理を実行する。その詳細は図７（３）に示すとおりであり、以下の処理である。
Ｂ−１．タイマーから画像撮影時刻を取得、
Ｂ−２．方位情報処理プログラムに対して、撮影時刻に対応する撮影方向の取得要求を実行、
Ｂ−３．方位情報処理プログラムにより撮影時刻に対応する撮影方向を算出して画像情報処理プログラムに提供、
Ｂ−４．画像と方位情報処理プログラムが算出した方位情報を含むメタ情報（属性情報）を記録部（記録メディア）に記録、
これらの処理を画像撮影〜記録処理時に実行する。
なお、Ｂ−３の処理は、方位情報処理プログラム２０１と画像情報処理プログラム２０２の共同処理として行われる。
【００７１】
［３．撮影画像に対応する方位情報の算出および記録処理の詳細について］
次に、図８〜図１０を参照して撮影画像に対応する方位情報の算出および記録処理の詳細について説明する。
図８〜図１０を参照して説明する処理は、図７に示すＢ-３の処理の詳細である。すなわち、
Ｂ−３．方位情報処理プログラムにより撮影時刻に対応する撮影方向を算出して画像情報処理プログラムに提供する
この処理の詳細である。
【００７２】
まず、図８を参照して（１）基本処理例について説明する。
画像情報処理プログラム２０２は、ある撮影画像に対応する方位情報を取得するため、撮影画像の撮影時刻情報３０１を方位情報プログラム２０１に提供する。
この撮影時刻情報３０１が、図８に示すように、
［１２，００，００，４］（＝１２時００分００秒４）であったとする。
【００７３】
制御部１２０は、方位情報プログラム２０１に従って、この撮影時刻情報［１２，００，００，４］に基づいて、画像に対応して記録部（記録メディア）１１７に記録する方位情報を算出する。
【００７４】
制御部１２０は、図８に示すように、まず、
ステップＳ１１において、画像情報処理プログラム２０２の指定時刻３０１の中心近傍の複数の方位情報をメモリ１２２からソート対象データとして抽出する。
この場合、指定時刻３０１は、［１２，００，００，４］であり、
メモリ１２２に格納されたタイムスタンプと方位情報との対応データから、指定時刻３０１＝［１２，００，００，４］の近傍のタイムスタンプの設定されたｎ個（本例ではｎ＝８）のエントリをソート対象データとして抽出する。この場合、指定時刻３０１＝［１２，００，００，４］に最も近いタイムスタンプを持つエントリ（エントリ５）を中心として前後ほぼ同数のエントリを取得する。この場合、図に示すようにエントリＮｏ．１〜８のデータを抽出する。
【００７５】
この例では、エントリ５のタイムスタンプが、指定時刻３０１＝［１２，００，００，４］と完全一致している。この場合、エントリ５を中心とした８つのエントリとして、エントリ１〜８、またはエントリ２〜９を取得する。いずれの組み合わせとするかは任意であり、予め設定したアルゴリズムに従って抽出処理を行う。いずれにおいても画像の撮影時刻に最も近いタイムスタンプを持つエントリがほぼ中心位置になるように複数のエントリをソート対象データとして抽出する。
【００７６】
次に、ステップＳ１２において、メモリ１２２から抽出した８点の方位情報を方位情報値の順番に従って並び替える（ソート）処理を実行する。
図に示すように、エントリ１〜８には、方位情報最小値１４７から、方位情報最大値１７０の方位情報が設定されている。この方位情報を最小〜最大の順番に並べ替えるソート処理を実行する。
【００７７】
次に、ステップＳ１３において、ソートした方位情報の中心４点の平均値を算出する。
すなわち、ソートした結果に含まれる上位２エントリと下位２エントリは削除し、中間の４エントリのみの方位情報のデータを算出対象として、平均値を算出する。これは、前述したように外乱等の影響で大きく外れた値を平均値算出対象から除外するための処理である。
【００７８】
この結果として、図８に示すように、
エントリ７：方位情報［１４８］
エントリ５：方位情報［１５３］
エントリ１：方位情報［１５４］
エントリ３：方位情報［１５８］
これらの中間の方位情報値を持つ４つのエントリが平均値算出対象として設定される。
これらの４エントリの平均値を、以下の式に従って算出して撮影時刻［１２，００，００，４］の撮影画像に対応する方位情報とする。
撮影方向＝（１４８＋１５３＋１５４＋１５８）／４＝１５３．２５度
【００７９】
制御部１２０は、このようにした算出した方位情報［１５３．２５度］を撮影時刻［１２，００，００，４］の撮影画像に対応する方位情報として記録部（記録メディア）１１７に記録する。
【００８０】
次に、図９を参照して（２）メモリに格納された方位情報が、基本処理において規定されたソート対象数である８個未満である場合の処理例について説明する。
【００８１】
画像情報処理プログラム２０２は、ある撮影画像に対応する方位情報を取得するため、撮影画像の撮影時刻情報３１１を方位情報プログラム２０１に提供する。
この撮影時刻情報３１１が、図９に示すように、
［１２，００，００，４］であったとする。
ここまでは、図８を参照して説明した（１）基本処理例と同様である。
【００８２】
制御部１２０は、方位情報プログラム２０１に従って、この撮影時刻情報［１２，００，００，４］に基づいて、画像に対応して記録部（記録メディア）１１７に記録する方位情報を算出する。
【００８３】
制御部１２０は、図９に示すように、まず、
ステップＳ２１において、画像情報処理プログラム２０２の指定時刻３１１の中心近傍の複数の方位情報をメモリ１２２からソート対象データとして抽出する。
基本処理例では、ソート対象として抽出するエントリ数ｎ＝８である。
しかし、図９に示すように、メモリ１２２には、エントリ１〜６の６個の方位情報のみ格納された状態であり、８個のデータを選択することができない。
【００８４】
このようにメモリ１２２に格納された方位情報が、規定のソートデータ数（ｎ＝８）未満である場合、制御部１２０は、指定時刻３１１［１２，００，００，４］の近傍のタイムスタンプを持つ最大数（８未満）のエントリをソート対象データとして抽出する。この場合、図に示すようにエントリＮｏ．１〜６の６個のデータを抽出する。
【００８５】
次に、ステップＳ２２において、メモリ１２２から抽出した６点の方位情報を方位情報の値の順番に従って並び替える（ソート）処理を実行する。
図に示すように、エントリ１〜６には、方位情報最小値１４８から、方位情報最大値１７０の方位情報が設定されている。この方位情報を最小〜最大の順番に並べ替えるソート処理を実行する。
【００８６】
次に、ステップＳ２３において、ソートした方位情報の中心４点の平均値を算出する。
すなわち、ソートした結果に含まれる上位１エントリと下位１エントリは削除し、中間の４エントリのみの方位情報のデータを算出対象として、平均値を算出する。これは、前述したように外乱等の影響で大きく外れた値を平均値算出対象から除外するための処理である。
【００８７】
この結果として、図９に示すように、
エントリ５：方位情報［１５３］
エントリ１：方位情報［１５４］
エントリ３：方位情報［１５８］
エントリ４：方位情報［１６９］
これらの中間の方位情報値を持つ４つのエントリが平均値算出対象として設定される。
これらの４エントリの平均値を、以下の式に従って算出して撮影時刻［１２，００，００，４］の撮影画像に対応する方位情報とする。
撮影方向＝（１５３＋１５４＋１５８＋１６９）／４＝１５８．５度
【００８８】
制御部１２０は、このようにした算出した方位情報［１５８．５度］を撮影時刻［１２，００，００，４］の撮影画像に対応する方位情報として記録部（記録メディア）１１７に記録する。
【００８９】
次に、図１０を参照して（３）撮影時刻に対応するタイムスタンプより後のタイムスタンプを持つエントリがメモリに格納されていない場合の処理例について説明する。
【００９０】
画像情報処理プログラム２０２は、ある撮影画像に対応する方位情報を取得するため、撮影画像の撮影時刻情報３２１を方位情報プログラム２０１に提供する。
この撮影時刻情報３２１が、図１０に示すように、
［１２，００，００，８］であったとする。
ここまでは、図８を参照して説明した（１）基本処理例と同様である。
【００９１】
制御部１２０は、方位情報プログラム２０１に従って、この撮影時刻情報［１２，００，００，８］に基づいて、画像に対応して記録部（記録メディア）１１７に記録する方位情報を算出する。
【００９２】
制御部１２０は、図１０に示すように、まず、
ステップＳ３１において、画像情報処理プログラム２０２の指定時刻３２１の中心近傍の複数の方位情報をメモリ１２２からソート対象データとして抽出する。
基本処理例では、ソート対象として抽出するエントリ数ｎ＝８であり、（１）基本処理例において説明したように、指定時刻３２１にもっとも近いタイムスタンプを持つエントリを中心として前後にバランスさせてソート対象データを抽出するのが基本である。
【００９３】
しかし、図１０に示すように、メモリ１２２には、撮影時刻情報［１２，００，００，８］に最も近いタイムスタンプを持つエントリはエントリ９であり、その後の時間に相当するタイムスタンプの設定されたエントリが存在しない。
【００９４】
このような格納データ構成の場合、エントリ９を中心として前後にバランスさせた８つのエントリを抽出することができない。
このような場合、制御部は、前後のバランスを無視し、撮影時刻情報［１２，００，００，８］に最も近いタイムスタンプを持つエントリ９を含む複数（本例では８個）のエントリを抽出する。
図１０に示す例では、エントリ９を含めて前の時間のタイムスタンプを持つ８つのエントリをソート対象データとして抽出する。この場合、図に示すようにエントリＮｏ．２〜９の８個のデータを抽出する。
【００９５】
次に、ステップＳ３２において、メモリ１２２から抽出した８点の方位情報を方位情報の値の順番に従って並び替える（ソート）処理を実行する。
図に示すように、エントリ２〜９には、方位情報最小値１４７から、方位情報最大値１７０の方位情報が設定されている。この方位情報を最小〜最大の順番に並べ替えるソート処理を実行する。
【００９６】
次に、ステップＳ３３において、ソートした方位情報の中心４点の平均値を算出する。
すなわち、ソートした結果に含まれる上位２エントリと下位２エントリは削除し、中間の４エントリのみの方位情報のデータを算出対象として、平均値を算出する。これは、前述したように外乱等の影響で大きく外れた値を平均値算出対象から除外するための処理である。
【００９７】
この結果として、図１０に示すように、
エントリ７：方位情報［１４８］
エントリ５：方位情報［１５３］
エントリ３：方位情報［１５８］
エントリ９：方位情報［１５８］
これらの中間の方位情報値を持つ４つのエントリが平均値算出対象として設定される。
これらの４エントリの平均値を、以下の式に従って算出して撮影時刻［１２，００，００，８］の撮影画像に対応する方位情報とする。
撮影方向＝（１４８＋１５３＋１５８＋１５８）／４＝１５４．２５度
【００９８】
制御部１２０は、このようにした算出した方位情報［１５４．２５度］を撮影時刻［１２，００，００，８］の撮影画像に対応する方位情報として記録部（記録メディア）１１７に記録する。
【００９９】
［４．本発明の撮像装置の実行する処理シーケンスについて］
次に図１１〜図１３を参照して本発明の撮像装置の実行する処理シーケンスについて説明する。図１１〜図１３に示すシーケンス図は、以下の各処理を説明するシーケンス図である。
（ａ）図１１：シングル画像の撮影処理における画像撮影および記録シーケンス
（ｂ）図１２：連写撮影画像の撮影処理における画像撮影および記録シーケンス
（ｃ）図１３：パノラマ画像の撮影処理における画像撮影および記録シーケンス
以下、順に各図を参照して、各撮影記録処理シーケンスについて説明する。
【０１００】
（ａ）シングル画像の撮影処理における画像撮影および記録シーケンス
まず、図１１を参照して、シングル画像の撮影処理における画像撮影および記録シーケンスについて説明する。
図１１には、
制御部（画像情報処理プログラム）
制御部（方位情報処理プログラム）
タイマー
これらの各部を示し、これらの各処理部におけるデータ処理シーケンスを示している。
【０１０１】
前述したように、制御部１２０は、
主に画像の撮影記録処理を実行させるプログラムである画像情報処理プログラムと、
主に方位センサー１２４の取得する情報に基づいて算出される方位情報をメモリ１２２に記録する処理を実行させる方位情報処理プログラムを実行する。
図１１に示すシーケンス図は、これらの２つのプログラムの実行部を区別して示している。
【０１０２】
ステップＳ１００の処理は、制御部１２０が方位情報処理プログラムに従って実行するループ処理である。方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行される。具体的には以下の処理が繰り返し実行される。
ステップＳ１０１：時刻情報をタイマー１１９から取得する。
ステップＳ１０２；方位センサー１２４から検出情報（方位情報）を取得する。
ステップＳ１０３：メモリ１２２にタイムスタンプと方位情報を対応付けたデータを記録する。（図５参照）
このステップＳ１０１〜Ｓ１０３の処理を方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行する。例えば１００ｍｓｅｃごとのサンプリング処理ごとに繰り替えし実行し、メモリ１２２の所定領域に最新の方位情報（例えば２００エントリ）を保持する処理を行う。
【０１０３】
このステップＳ１００のループ処理と独立に、制御部１２０は画像情報処理プログラムに従った処理を行う。
この処理がステップＳ１５２以下の処理である。ステップＳ１５２以下の処理は、ステップＳ１５１のユーザによるシャッター深押し、すなわち画像の撮影指示入力をトリガとして実行される。
【０１０４】
ステップＳ１５１において、ユーザによるシャッター深押しがなされると、ステップＳ１５２において画像の撮影、すなわち画像の撮り込み処理が行われる。
次に、ステップＳ１５３において、タイマーからの撮影時刻取得処理を実行する。
次に、ステップＳ１５４において撮影画像に対する様々な処理、例えばｊｐｅｇエンコード処理等が行われる。
【０１０５】
次に、ステップＳ１５５において、ステップＳ１５３において取得した撮影時刻情報を制御部の方位情報処理プログラム実行部に提供して、撮影時刻に対応する方位情報の取得要求を行う。
ステップＳ１５５〜Ｓ１５８の処理は、図８〜図１０を参照して説明した処理に対応する。
ステップＳ１５５において、制御部の方位情報処理プログラム実行部に提供する撮影時刻情報が、例えば図８の撮影時刻情報３０１に対応する。
【０１０６】
制御部の方位情報処理プログラム実行部は、ステップＳ１５６において、メモリ１２２から撮影時刻に近いタイムスタンプを持つエントリを選択する。
さらに、ステップＳ１５７において、選択エントリの近傍の複数（ｎ）のエントリ（例えばｎ＝８個）をソートして、その中間に位置する再選択エントリ（例えば（ｎ／２）＝４個）の持つ方位情報の平均値を算出する。
次に、ステップＳ１５８において、制御部の方位情報処理プログラム実行部は、算出した方位情報を制御部１２０の画像情報処理プログラム実行部に提供する。
【０１０７】
次に、ステップＳ１５９において、制御部１２０の画像情報処理プログラム実行部は、撮影画像と方位情報を含むメタデータを記録部（記録メディア）１１７に記録する処理を実行する。
【０１０８】
この処理によって、撮影画像に対応付けて記録される方位情報は、画像の撮影時刻前後に方位センサーが取得した複数の方位情報に基づいて算出されたデータとなる。また、選択した複数の方位情報のソート処理を実行し、かつソートデータの端部のデータを除外して再選択した方位情報のデータを平均化する処理を実行しているので、外乱等によって発生した異常値を除外した精度の高い方位情報を画像対応のメタデータとして記録することが可能となる。
【０１０９】
（ｂ）連写撮影画像の撮影処理における画像撮影および記録シーケンス
次に、図１２を参照して、連写撮影画像の撮影処理における画像撮影および記録シーケンスについて説明する。
図１２には、図１１と同様、
制御部（画像情報処理プログラム）
制御部（方位情報処理プログラム）
タイマー
これらの各部を示し、これらの各処理部におけるデータ処理シーケンスを示している。
【０１１０】
ステップＳ２００の処理は、制御部１２０が方位情報処理プログラムに従って実行するループ処理である。方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行される。具体的には以下の処理が繰り返し実行される。
ステップＳ２０１：時刻情報をタイマー１１９から取得する。
ステップＳ２０２；方位センサー１２４から検出情報（方位情報）を取得する。
ステップＳ２０３：メモリ１２２にタイムスタンプと方位情報を対応付けたデータを記録する。（図５参照）
このステップＳ２０１〜Ｓ２０３の処理を方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行する。例えば１００ｍｓｅｃごとのサンプリング処理ごとに繰り替えし実行し、メモリ１２２の所定領域に最新の方位情報（例えば２００エントリ）を保持する処理を行う。
【０１１１】
このステップＳ２００のループ処理と独立に、制御部１２０は画像情報処理プログラムに従った処理を行う。
この処理がステップＳ２６０以下の処理である。ステップＳ２６０以下の処理は、ステップＳ２５１のユーザによるシャッター深押し、すなわち画像の撮影指示入力をトリガとして実行される。
【０１１２】
なお、図１２に示す例は、ユーザがシャッターを押し続けて複数枚の画像を連続的に撮影する連写撮影処理のシーケンスである。
従って、図１２に示すステップＳ２６０〜Ｓ２９０の矩形点線枠で示した各処理が、連写枚数分繰り返し実行される。すなわちこれらの各処理はループ処理として実行される。
【０１１３】
ステップＳ２６０のループ処理は、ステップＳ２６１の画像撮影と、ステップＳ２６２の撮影画像に対応する撮影時刻の取得処理である。この処理が、連写撮影において撮影される各画像単位で繰り返し実行される。
【０１１４】
ステップＳ２７０のループ処理は、撮影画像に対する様々な画像処理、例えばｊｐｅｇエンコード処理等の処理である。この処理が、連写撮影において撮影される各画像単位で繰り返し実行される。
【０１１５】
ステップＳ２８０のループ処理は、各撮影画像に対応付けて記録するための方位情報取得処理である。
ステップＳ２８１において、ステップＳ２６２において取得した撮影時刻情報を制御部の方位情報処理プログラム実行部に提供して、撮影時刻に対応する方位情報の取得要求を行う。
制御部の方位情報処理プログラム実行部は、ステップＳ２８２において、メモリ１２２から撮影時刻に近いタイムスタンプを持つエントリを選択する。
さらに、ステップＳ２８３において、選択エントリの近傍の複数（ｎ）のエントリ（例えばｎ＝８個）をソートして、その中間に位置する再選択エントリ（例えば（ｎ／２）＝４個）の持つ方位情報の平均値を算出する。
次に、ステップＳ２８４において、制御部の方位情報処理プログラム実行部は、算出した方位情報を制御部１２０の画像情報処理プログラム実行部に提供する。
これらの処理が、連写撮影において撮影される各画像単位で繰り返し実行される。
【０１１６】
ステップＳ２９０のループ処理は、各撮影画像の記録部（記録メディア）１１７に対する記録処理である。
ステップＳ２９１において、制御部１２０の画像情報処理プログラム実行部は、撮影画像と方位情報を含むメタデータを記録部（記録メディア）１１７に記録する処理を実行する。
この処理が、連写撮影において撮影される各画像単位で繰り返し実行される。
【０１１７】
これらの処理によって、連射撮影に際して撮影された複数の画像各々に対応付けて記録部（記録メディア）１１７に記録される方位情報は、ほぼ画像の撮影時刻に方位センサーが取得した複数の方位情報に基づいて算出されたデータとなる。
【０１１８】
（ｃ）パノラマ画像の撮影処理における画像撮影および記録シーケンス
次に、図１３を参照して、パノラマ画像の撮影処理における画像撮影および記録シーケンスについて説明する。
図１３には、図１１、図１２と同様、
制御部（画像情報処理プログラム）
制御部（方位情報処理プログラム）
タイマー
これらの各部を示し、これらの各処理部におけるデータ処理シーケンスを示している。
【０１１９】
ステップＳ３００の処理は、制御部１２０が方位情報処理プログラムに従って実行するループ処理である。方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行される。具体的には以下の処理が繰り返し実行される。
ステップＳ３０１：時刻情報をタイマー１１９から取得する。
ステップＳ３０２；方位センサー１２４から検出情報（方位情報）を取得する。
ステップＳ３０３：メモリ１２２にタイムスタンプと方位情報を対応付けたデータを記録する。（図５参照）
このステップＳ３０１〜Ｓ３０３の処理を方位センサー１２４の検出タイミング（サンプリングタイム）毎に繰り返し実行する。例えば１００ｍｓｅｃごとのサンプリング処理ごとに繰り替えし実行し、メモリ１２２の所定領域に最新の方位情報（例えば２００エントリ）を保持する処理を行う。
【０１２０】
このステップＳ３００のループ処理と独立に、制御部１２０は画像情報処理プログラムに従った処理を行う。
この処理がステップＳ３５２以下の処理である。ステップＳ３５２以下の処理は、ステップＳ３５１のユーザによるパノラマ画像の撮影開始指示入力をトリガとして実行される。
【０１２１】
なお、図１３に示す例は、ユーザがカメラを移動させながら複数枚の画像を撮影し、撮像装置内のデータ処理部が、複数の撮影画像を連結して１枚のパノラマ画像を生成して記録する処理についてのシーケンスである。
この処理は先に図６を参照して説明した処理に対応する。
【０１２２】
ステップＳ３５１において、ユーザによるパノラマ画像撮影が開始されると、ステップＳ３５２において画像の撮影、すなわち画像の撮り込み処理が行われる。
次に、ステップＳ３５３において、タイマーからの撮影時刻取得処理を実行する。
ステップＳ３５４においてパノラマ画像撮影が完了すると、ステップＳ３５５において撮影画像に対する様々な処理、例えば複数の画像を連結してパノラマ画像を生成する処理やｊｐｅｇエンコード処理等が行われる。
【０１２３】
次に、ステップＳ３５６において、生成されたパノラマ画像の中心位置の画像の撮影時刻を算出する。
この算出処理例について図１４を参照して説明する。図１４には複数の画像を連結して生成したパノラマ画像５００を示している。
パノラマ画像５００は、パノラマモード撮影処理において、予め規定された撮影時間間隔で連続撮影された複数の画像ｆ０１〜ｆ０７を合成して作成された画像である。
【０１２４】
最初の画像フレームｆ０１については、図１３に示すシーケンス図のステップＳ３５３において撮影時刻情報が取得されている。
このフレームｆ０１の撮影時刻を図１４に示すように、
［１５，２３，３１，２］（＝１５時２３分３１秒２）
とする。
【０１２５】
パノラマ撮影を実行する場合、ユーザは、カメラをパノラマ撮影モードに設定してシャッターを押してカメラを移動させる。この処理で、図１４に示すような複数の画像ｆ０１〜ｆ０７が撮影される。カメラ内部のデータ処理部は、複数画像を連結してパノラマ画像５００を生成する。
【０１２６】
このパノラマ画像５００のメタデータとして記録する方位情報は、例えばパノラマ画像５００の中央位置の画像の撮影方向となる。この場合、図に示す点Ｐの位置がパノラマ画像５００の中央位置である。
この点Ｐの位置を含む画像はフレームｆ０４である。
【０１２７】
フレームｆ０４の撮影時間は、最初のフレームの撮影時間から算出することができる。パノラマモードにおいて撮影される画像の時間間隔は、予め規定されている。従って、図１４に示すように、フレームｆ０４の撮影時間は、下式に従って算出することができる。
フレームｆ０４撮影時刻＝［１５，２３，３１，２］＋（撮影間隔×３）
例えば１００ｍｓｅｃ間隔で連続撮影が実行される場合、
フレームｆ０４撮影時刻＝［１５，２３，３１，２］＋（１００ｍｓｅｃ×３）
＝［１５，２３，３１，５］（＝１５時２３分３１秒５）
となる。
【０１２８】
図１３に示すシーケンス図のステップＳ３５６では、例えばこの様な手法でパノラマ画像の中央の画像の撮影時刻を算出する。
次に、ステップＳ３５７において、ステップＳ３５６で算出した撮影時刻情報を制御部の方位情報処理プログラム実行部に提供して、撮影時刻（本例ではパノラマ画像の中央位置の画像の撮影時刻）に対応する方位情報の取得要求を行う。
ステップＳ３５７〜Ｓ３６０の処理は、図８〜図１０を参照して説明した処理に対応する。
【０１２９】
制御部の方位情報処理プログラム実行部は、ステップＳ３５８において、メモリ１２２から撮影時刻（本例ではパノラマ画像の中央位置の画像の撮影時刻）に近いタイムスタンプを持つエントリを選択する。
さらに、ステップＳ３５９において、選択エントリの近傍の複数（ｎ）のエントリ（例えばｎ＝８個）をソートして、その中間に位置する再選択エントリ（例えば（ｎ／２）＝４個）の持つ方位情報の平均値を算出する。
次に、ステップＳ３６０において、制御部の方位情報処理プログラム実行部は、算出した方位情報を制御部１２０の画像情報処理プログラム実行部に提供する。
【０１３０】
次に、ステップＳ３６１において、制御部１２０の画像情報処理プログラム実行部は、パノラマ画像と方位情報（本例ではパノラマ画像の中央位置の画像の撮影時刻対応の方位情報）を含むメタデータを記録部（記録メディア）１１７に記録する処理を実行する。
【０１３１】
この処理によって、パノラマ撮影画像に対応付けて記録される方位情報は、パノラマ画像を構成する複数画像中の、パノラマ画像中心に位置する画像の撮影時刻前後に方位センサーが取得した複数の方位情報に基づいて算出されたデータとなる。また、選択した複数の方位情報のソート処理を実行し、かつソートデータの端部のデータを除外して再選択した方位情報のデータを平均化する処理を実行しているので、外乱等によって発生した異常値を除外した精度の高い方位情報を画像対応のメタデータとして記録することが可能となる。
【０１３２】
なお、図１３を参照して説明した処理例は、パノラマ画像に対応する１つの方位情報のみをメタデータとして記録する構成としたが、パノラマ画像を構成する各画像各々について、撮影方向情報をメタデータとして記録部（記録メディア）１１７記録する構成としてもよい。例えば図１４に示す例ではパノラマ画像５００を構成する画像ｆ０１〜ｆ０７各々について、方位情報をメタデータとして記録する。
【０１３３】
この処理を行う場合は、まず、パノラマ画像５００を構成する画像ｆ０１〜ｆ０７各々について、図１４を参照して説明した手法により撮影時刻を算出して、各画像の撮影時刻情報を制御部の方位情報処理プログラム実行部に提供する。
その後、方位情報処理プログラム実行部は、図８〜図１０を参照して説明した処理により各画像の撮影時刻に対応する方位情報を取得して制御部の画像情報処理プログラム実行部に提供する。
画像情報処理プログラム実行部は、これらの各方位情報を、パノラマ画像５００を構成する画像ｆ０１〜ｆ０７各々にに対応する方位情報として記録部（記録メディア）１１７に記録する。
【０１３４】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１３５】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１３６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１３７】
以上、説明したように、本発明の一実施例の構成によれば、撮像装置の向きを示す方位を検出する方位センサーの検出値を順次入力して算出した方位情報と、方位センサーの検出値入力時間を示すタイムスタンプを対応付けたエントリを順次メモリに記録する。また画像撮影時にメモリから画像撮影時間に近いタイムスタンプを有する複数のエントリを抽出し、抽出したエントリの複数の方位情報を適用して撮影画像の撮影方向を示す方位情報を算出して画像の属性情報として記録する。この構成により、画像の属性情報として記録する方位情報は、画像の撮影時刻前後に方位センサーが取得した複数の方位情報に基づく算出データとすることができる。また、複数の方位情報のソート処理結果の端部のデータを除外して再選択した方位情報のデータを平均化する処理を実行する構成として外乱等による異常値を除外した精度の高い方位情報を画像対応のメタデータとして記録できる。
【符号の説明】
【０１３８】
１００  撮像装置
１１１  レンズ部
１１２  撮像素子
１１３  信号処理部
１１４  操作部
１１５  シャッター
１１６  その他操作部
１１７  記録部（記録メディア）
１１８  外部メモリ
１１９  タイマー
１２０  制御部（ＣＰＵ）
１２１  ＲＯＭ
１２２  メモリ（ＲＡＭ）
１２３  表示部
１２４  方位センサー
１３１  加速度センサー
１３２  地磁気センサー
２０１  方位情報処理プログラム
２０２  画像情報処理プログラム
【図１】
0005446794.tif 000002
【図２】
0005446794.tif 000003
【図３】
0005446794.tif 000004
【図４】
0005446794.tif 000005
【図５】
0005446794.tif 000006
【図６】
0005446794.tif 000007
【図７】
0005446794.tif 000008
【図８】
0005446794.tif 000009
【図９】
0005446794.tif 000010
【図１０】
0005446794.tif 000011
【図１１】
0005446794.tif 000012
【図１２】
0005446794.tif 000013
【図１３】
0005446794.tif 000014
【図１４】
0005446794.tif 000015