(57)【特許請求の範囲】
【請求項１】
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得手段と、
前記取得手段により取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出手段と、
前記第１の算出手段により算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出手段と、
前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示する表示手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記取得手段により取得された複数の画像データのうち、ユーザによって選択された画像データを複数検出する検出手段を更に備え、
前記第１の算出手段、前記第２の算出手段は、前記検出手段により複数検出された画像データ間における該被写体の実際の移動距離、移動速度を算出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記取得手段は、少なくとも３枚の画像データを取得し、
前記第２の算出手段により算出された画像データ間の被写体の移動速度と、該画像データ間の時間間隔とに基づいて、該被写体の実際の移動加速度を算出する第３の算出手段を更に備え、
前記表示手段は、前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とに加え更に、前記第３の算出手段により算出された移動加速度とのうち、少なくとも１つを前記画像データに合成して表示することを特徴とする請求項１記載の画像処理装置。
【請求項４】
被写体の特徴データと、該被写体の大きさとを対応付けて登録する登録手段を更に備え、
前記第１の算出手段は、前記登録手段により登録された被写体の特徴データに基づいて、前記夫々の画像データに同一の被写体が存在するか否かを判断し、そして、前記被写体の位置及び大きさを取得し、前記登録手段により登録された前記被写体の大きさを前記移動距離の算出に用いることを特徴とする請求項１記載の画像処理装置。
【請求項５】
前記取得手段は、連続して所定時間間隔で撮像された画像データを取得することを特徴とする請求項１乃至４の何れかに記載の画像処理装置。
【請求項６】
前記取得手段は、ユーザによって任意に指定された画像データを取得することを特徴とする請求項１乃至５の何れかに記載の画像処理装置。
【請求項７】
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得ステップと、
前記取得ステップにて取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出ステップと、
前記第１の算出ステップにて算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出ステップと、
前記第１の算出ステップにて算出された移動距離と、前記第２の算出ステップにて算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示する表示ステップと、
を含むことを特徴とする画像処理方法。
【請求項８】
コンピュータを、
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得手段、
前記取得手段により取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出手段、
前記第１の算出手段により算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出手段、
前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示するよう制御する表示制御手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに係り、特に、複数の画像データに基づいて、被写体の移動距離等を算出する画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、同一被写体を複数撮像した画像データに基づいて被写体の移動距離を求める技術がある（特許文献１）。
【０００３】
【特許文献１】公開特許公報  特開２００２−１９００２７
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献によれば、画像上のドット単位での移動距離しか計測することができ、実際の移動距離を計測することができない。
【０００５】
そこで本発明は、かかる従来の問題点に鑑みてなされたものであり、複数の画像データに基づいて、実際の被写体の移動距離等を算出することができる画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的達成のため、請求項１記載の発明に係る画像処理装置は、
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得手段と、
前記取得手段により取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出手段と、
前記第１の算出手段により算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出手段と、
前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示する表示手段と、
を備えたことを特徴とする。
【０００７】
また、請求項２記載の発明は、請求項１記載の画像処理装置であって、
前記取得手段により取得された複数の画像データのうち、ユーザによって選択された画像データを検出する検出手段を更に備え、
前記第１の算出手段、前記第２の算出手段は、前記検出手段により検出された画像データ間における該被写体の実際の移動距離、移動速度を算出することを特徴とする。
また、請求項３記載の発明は、請求項１記載の画像処理装置であって、
前記取得手段は、少なくとも３枚の画像データを取得し、
前記第２の算出手段により算出された画像データ間の被写体の移動速度と、該画像データ間の時間間隔とに基づいて、該被写体の実際の移動加速度を算出する第３の算出手段を更に備え、
前記表示手段は、前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とに加え更に、前記第３の算出手段により算出された移動加速度とのうち、少なくとも１つを前記画像データに合成して表示することを特徴とする。
また、請求項４記載の発明は、請求項１記載の画像処理装置であって、
被写体の特徴データと、該被写体の大きさとを対応付けて登録する登録手段を更に備え、
前記第１の算出手段は、前記登録手段により登録された被写体の特徴データに基づいて、前記夫々の画像データに同一の被写体が存在するか否かを判断し、そして、前記被写体の位置及び大きさを取得し、前記登録手段により登録された前記被写体の大きさを前記移動距離の算出に用いることを特徴とする。
【００１１】
また、請求項５記載の発明は、請求項１乃至４の何れかに記載の画像処理装置であって、
前記取得手段は、連続して所定時間間隔で撮像された画像データを取得することを特徴とする。
【００１２】
また、請求項６記載の発明は、請求項１乃至５の何れかに記載の画像処理装置であって、前記取得手段は、ユーザによって任意に指定された画像データを取得することを特徴とする。
【００１６】
また、請求項７記載の発明に係る画像処理方法は、
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得ステップと、
前記取得ステップにて取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出ステップと、
前記第１の算出ステップにて算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出ステップと、
前記第１の算出ステップにて算出された移動距離と、前記第２の算出ステップにて算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示する表示ステップと、
を含むことを特徴とする。
また、請求項８記載の発明に係るプログラムは、
複数の画像データと、これら画像データの撮像された時間間隔とを取得する取得手段、
前記取得手段により取得された夫々の画像データに存在する同一の被写体を計測対象として認識し、その位置及び該被写体の大きさに基づいて、前記画像データ間における該被写体の実際の移動距離を算出する第１の算出手段、
前記第１の算出手段により算出された画像データ間の被写体の移動距離と、前記複数の画像データ間の撮像された時間間隔とに基づいて、該画像データ間における被写体の実際の移動速度を算出する第２の算出手段、
前記第１の算出手段により算出された移動距離と、前記第２の算出手段により算出された移動速度とのうち、少なくとも１つを前記画像データに合成して表示するよう制御する表示制御手段、
として機能させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザは、簡単に、被写体の実際の移動距離等を視認することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本実施の形態について、本発明の演算装置をデジタルカメラに適用した一例として図面を参照して詳細に説明する。
［実施の形態］
Ａ．デジタルカメラの構成
図１は、本発明の演算装置を実現するデジタルカメラ１の電気的な概略構成を示すブロック図である。
デジタルカメラ１は、撮影レンズ２、レンズ駆動ブロック３、絞り兼用シャッタ４、ＣＣＤ５、垂直ドライバ６、ＴＧ（timing generator）７、ユニット回路８、ＤＭＡコントローラ（以下、ＤＭＡという）９、ＣＰＵ１０、キー入力部１１、メモリ１２、ＤＲＡＭ１３、ＤＭＡ１４、動きベクトル検出部１５、ＤＭＡ１６、画像生成部１７、ＤＭＡ１８、ＤＭＡ１９、表示部２０、ＤＭＡ２１、圧縮伸張部２２、ＤＭＡ２３、フラッシュメモリ２４、バス２５を備えている。
【００１９】
撮影レンズ２は、図示しない複数のレンズ群から構成されるフォーカスレンズ、ズームレンズを含む。そして、撮影レンズ２には、レンズ駆動ブロック３が接続されている。レンズ駆動ブロック３は、フォーカスレンズ、ズームレンズをそれぞれ光軸方向に駆動させるフォーカスモータ、ズームモータ（図示略）と、ＣＰＵ１０から送られてくる制御信号にしたがって、フォーカスレンズ、ズームレンズを光軸方向に駆動させるフォーカスモータドライバ、ズームモータドライバ（図示略）とから構成されている。
【００２０】
絞り兼用シャッタ４は、図示しない駆動回路を含み、駆動回路はＣＰＵ１０から送られてくる制御信号にしたがって絞り兼用シャッタ４を動作させる。この絞り兼用シャッタ４は、絞り、シャッタとして機能する。
絞りとは、ＣＣＤ５に入射される光の量を制御する機構のことをいう。
露出量は、この絞り値（絞りの度合い）とシャッタ速度によって定められる。
【００２１】
ＣＣＤ５は、垂直ドライバ６によって走査駆動され、一定周期毎に被写体像のＲＧＢ値の各色の光の強さを光電変換して撮像信号としてユニット回路８に出力する。この垂直ドライバ６、ユニット回路８の動作タイミングはＴＧ７を介してＣＰＵ１０によって制御される。なお、ＣＣＤ５はベイヤー配列の色フィルターを有しており、また、電子シャッタとしての機能も有する。この電子シャッタのシャッタ速度は、ドライバ６、ＴＧ７を介してＣＰＵ１０によって制御される。
【００２２】
ユニット回路８には、ＴＧ７が接続されており、ＣＣＤ５から出力される撮像信号を相関二重サンプリングして保持するＣＤＳ（Correlated Double Sampling）回路、そのサンプリング後の撮像信号の自動利得調整を行なうＡＧＣ（Automatic Gain Control）回路、その自動利得調整後のアナログ信号をデジタル信号に変換するＡ／Ｄ変換器から構成されており、ＣＣＤ５によって得られた撮像信号はユニット回路８を経た後、ＤＭＡ９によってベイヤーデータの状態でバッファメモリ（ＤＲＡＭ１３）に記憶される。
【００２３】
ＣＰＵ１０は、撮像処理、表示処理、記録処理などを行う機能を有すると共に、デジタルカメラ１の各部を制御するワンチップマイコンである。
特に、ＣＰＵ１０は、画像データ内にある登録された被写体を認識する被写体認識部１０１、複数の画像データ内にある該認識された同一被写体の位置、及び、該被写体のサイズ情報に基づいて該被写体の実移動距離、実移動速度、実移動加速度を算出する演算部１０２、複数の画像データを合成する合成部１０３を有する。
【００２４】
キー入力部１１は、半押し操作全押し操作可能なシャッタボタン、モード切替キー、十字キー、ＳＥＴキー等の複数の操作キーを含み、ユーザのキー操作に応じた操作信号をＣＰＵ１０に出力する。
【００２５】
メモリ１２には、ＣＰＵ１０がデジタルカメラ1の各部を制御するのに必要な制御プログラム、及び必要なデータが記録されており、ＣＰＵ１０は、該プログラムに従い動作する。
また、メモリ１２には、被写体の特徴データを記録（登録）した被写体データテーブルを備えている。
【００２６】
図２は、被写体データテーブルの様子の一例を示す図である。
図２を見るとわかるように、各被写体の名称と、該被写体のサンプル画像、及び、該被写体の特徴データ、該被写体のサイズ情報が各被写体毎に登録されているのがわかる。
【００２７】
この被写体データの登録は、登録モード等においてユーザが任意の被写体を登録することができ、登録したい被写体が撮影された画像データから、登録したい被写体の特徴データを算出して登録するとともに、該被写体の画像データをサンプル画像として登録する。このとき、ユーザによって入力された被写体の名称、該被写体のサイズ情報も一緒に登録する。ここで算出される特徴データとは、登録したい被写体の輪郭等から該被写体の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係を数値化したデータのことをいう。
なお、被写体のサイズ情報をＣＰＵ１０が算出して登録するようにしてもよい。このサイズ情報の算出は、たとえば、予め定められた距離で登録したい被写体を撮像し、該撮像された被写体の画像上の大きさによってサイズ情報を算出する。
【００２８】
ＤＲＡＭ１３は、ＣＣＤ５によって撮像された画像データを一時記憶するバッファメモリとして使用されるとともに、ＣＰＵ１０のワーキングメモリとしても使用される。
【００２９】
ＤＭＡ１４は、バッファメモリに記憶されているベイヤーデータ若しくは輝度色差信号の画像データを読み出して、動きベクトル検出部１５に出力するものである。
動きベクトル検出部１５は、フレーム画像データの各領域（８画素×８画素からなる領域）の動きベクトルを検出するものであり、代表点マッチング法や、ブロックマッチング法などを用いて該画像データの各領域の動きベクトル（動き量）を検出する。また、この動きベクトルを検出するには、あるフレームとその後又はその前に撮像されたフレームとに基づいて、該あるフレームの各領域の動きベクトルを検出するので、撮像されたフレームを一定時間保持する記憶回路も含む。この検出されたフレームの各領域の動きベクトルは、ＤＭＡ１４を介してＣＰＵ１０に送られる。
【００３０】
ＤＭＡ１６は、バッファメモリに記憶されたベイヤーデータの画像データを読み出して画像生成部１７に出力するものである。
画像生成部１７は、ＤＭＡ１６から送られてきた画像データに対して、画素補間処理、γ補正処理、ホワイトバランス処理などの処理を施すとともに、輝度色差信号（ＹＵＶデータ）の生成も行なう。つまり、画像処理を施す部分である。
ＤＭＡ１８は、画像生成部１７で画像処理が施された輝度色差信号の画像データ（ＹＵＶデータ）をバッファメモリに記憶させるものである。
【００３１】
ＤＭＡ１９は、バッファメモリに記憶されているＹＵＶデータの画像データを表示部２０に出力するものである。
表示部２０は、カラーＬＣＤとその駆動回路を含み、ＤＭＡ１９から出力された画像データの画像を表示させる。
【００３２】
ＤＭＡ２１は、バッファメモリに記憶されているＹＵＶデータの画像データや圧縮された画像データを圧縮伸張部２２に出力したり、圧縮伸張部２２により圧縮された画像データや、伸張された画像データをバッファメモリに記憶させたりするものである。
圧縮伸張部２２は、画像データの圧縮・伸張（例えば、ＪＰＥＧやＭＰＥＧ形式の圧縮・伸張）を行なう部分である。
ＤＭＡ２３は、バッファッメモリに記憶されている圧縮画像データを読み出してフラッシュメモリ２４に記録させたり、フラッシュメモリ２４に記録された圧縮画像データをバッファメモリに記憶させるものである。
【００３３】
Ｂ.デジタルカメラ１の動作
第１の実施の形態におけるデジタルカメラ１の動作を図３及び図４のフローチャートにしたがって説明する。
【００３４】
ユーザのキー入力部１１のモード切替キーの操作によりスピード計測撮影モードに設定されると、ステップＳ１で、ＣＰＵ１０は、所定のフレームレート（たとえば、３０ｆｐｓ）でＣＣＤ５により被写体の撮像を開始させ、画像生成部１７によって順次生成されてバッファメモリに記憶された輝度色差信号のフレーム画像データを表示部２０に表示させていく、といういわゆるスルー画像表示を開始する。このとき、ユーザはデジタルカメラ１の位置を動かさないでかまえておく。
【００３５】
次いで、ＣＰＵ１０は、被写体の動きを検出する処理を開始させる（ステップＳ２）。具体的には、ＣＰＵ１０は、動きベクトル検出部１５に撮像されたフレーム画像データをＤＭＡ１４を介して順次出力し、動きベクトル検出部１５に順次出力されたフレーム画像データの各領域の動きベクトルを検出させていく。この動きベクトル検出部１５により検出された各フレームの各領域の動きベクトルはＣＰＵ１０に送られる。
【００３６】
次いで、ＣＰＵ１０は、被写体の動きが検出されたか否かを判断する（ステップＳ３）。この判断は、動きベクトル検出部１５から送られてきたフレーム画像データの各領域の動きベクトルのうち、所定値以上の動きベクトルがある場合には、被写体の動きが検出されたと判断する。動きベクトルが所定値以上ある領域は、被写体の動きがある領域であると判断することができるからである。
【００３７】
なお、ここで、所定値以上の場合に被写体の動きがあると判断した理由は、動きベクトルある場合に被写体の動きがあると判断してしまうと、風によって木等が揺れてしまったり、本人は止まっているつもりでも無意識に動いてしまう微妙なブレ等によって被写体の動きがあると判断してしまうからである。つまり、実質的には動いていない被写体を動いていると判断してしまうことを防止するためである。
【００３８】
ステップＳ３で、被写体の動きを検出していないと判断すると検出するまでステップＳ３に留まり、被写体の動きを検出したと判断すると、ＣＰＵ１０は、連続撮像処理を開始する（ステップＳ４）。つまり、所定の撮像（時間）間隔で被写体を撮像する処理を開始する。このときも、ＣＰＵ１０は、動きベクトル検出部１５に撮像された画像データの各領域の動きベクトルを検出させる。また、このとき、ユーザはデジタルカメラ１の位置を動かさないでかまえておく。デジタルカメラ１を動かしてしまうと正確に被写体の移動距離等を算出することができないからである。なお、ここでは、１／６０秒間隔で被写体を撮像するものとするが、所定の撮像間隔であればよい。
【００３９】
このように、この動きを検出すると自動的に連続撮像処理を行うようにしたので、速い被写体でも対応することができる。例えば、ユーザのシャッタボタンの押下により連続撮像処理を行うとすると、動きがある被写体があると判断してから実際にシャッタボタンを押下するまでタイムラグが生じ、シャッタボタンが押下されたときには既に被写体は画角内にいない可能性があるからである。
【００４０】
次いで、ＣＰＵ１０は、被写体の動きが検出されなくなったか、つまり、被写体の動きがなくなったか否かを判断する（ステップＳ５）。この判断は、動きベクトル検出部１５から送られてきた画像データの各領域の動きベクトルの何れもが所定値以上でない場合に被写体の動きがなくなったと判断する。
【００４１】
図５は、連続撮像処理により撮像された画像データの様子を示す図である。
図５に示すように、被写体の動きがあると判断され、最初に連続撮像制御処理により得られた画像データが（Ａ）であり、次に（Ｂ）が撮像され、（Ｃ）、（Ｄ）、（Ｅ）の順に撮像されている。また、図５を見ると、撮像を行う度に（時間の経過に伴って）、野球ボールの位置が右上から左下に移動しているのがわかる。
【００４２】
ステップＳ５で、ＣＰＵ１０は、被写体の動きが検出されていると判断すると動きが検出されなくなるまでステップＳ５に留まり、被写体の動きが検出されなくなると、ＣＰＵ１０の被写体認識部１０１は、連続撮像処理により撮像された全ての画像データに対して画像認識処理を行う（ステップＳ６）。つまり、登録されている被写体が各画像データ内にあるか否かを認識する処理を行う。
【００４３】
この被写体認識処理は、周知技術であるが、簡単に説明すると、撮像されたフレーム画像データから全被写体の特徴データを算出し、該算出した被写体特徴データと、登録されている被写体の特徴データ（登録特徴データ）とを比較照合することにより、該登録されている被写体が画像データ内にあるかであるかを認識する。ここで、フレーム画像データから算出される全被写体の特徴データとは、例えば、撮影された全被写体が建物とその前に立っている人の場合は、建物及び人の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係等を数値化したデータのことをいう。
【００４４】
次いで、ＣＰＵ１０は、被写体認識処理により同一被写体を認識することができたか否かを判断する（ステップＳ７）。つまり、連続撮像処理により得られたすべての画像データのうち、少なくとも２枚以上の画像データに対して同一被写体が認識されたか否かを判断する。つまり、１枚の画像データのみに認識された被写体（１枚の画像データのみしか写っていない被写体）は、ステップＳ７で同一被写体を認識されたと判断されないことになる。
ここでは、図５（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）、（Ｅ）の５枚の画像データに野球ボールがあると認識されたものとする。つまり、野球ボールが同一被写体として認識されたことになる。
【００４５】
ステップＳ７で同一被写体を認識できないと判断するとステップＳ１に戻り、ステップＳ７で同一被写体を認識できたと判断すると、ＣＰＵ１０は、複数の同一被写体が認識できたか否かを判断する（ステップＳ８）。つまり、連続撮像処理により得られたすべての画像データのうち、少なくとも２枚以上の画像データに対して認識された同一被写体が複数あるか否かを判断する。
【００４６】
ステップＳ８で、複数の同一被写体が認識されたと判断すると、ＣＰＵ１０は、該認識された複数の同一被写体のうち、ユーザによって被写体が選択されたか否かを判断する（ステップＳ９）。
【００４７】
このとき、ＣＰＵ１０は、たとえば、表示部２０に、該認識された同一被写体の名称やサンプル画像を被写体データテーブルから読みだして一覧表示をさせ、ユーザの十字キー及びＳＥＴキーにより何れかの被写体を選択することができる。このとき、ユーザは複数の被写体を選択することもできる。
また、何れの被写体も選択されていない状態でＳＥＴキーの操作が行われると、ステップＳ９で被写体が選択されていないと判断し、何れかの被写体が選択されている状態でＳＥＴキーの操作が行われると、ステップＳ９で被写体が選択されたと判断する。
【００４８】
ステップＳ９で、認識された被写体が選択されたと判断すると、ＣＰＵ１０は、該選択された被写体を計測対象として設定して（ステップＳ１０）図４のステップＳ１２に進む。
【００４９】
一方、ステップＳ８で複数の被写体が認識されていないと判断された場合、ステップＳ９で認識された被写体が選択されていないと判断した場合は、ＣＰＵ１０は、被写体認識により認識された被写体を計測対象として設定して（ステップＳ１１）、図４のステップＳ１２に進む。このとき、ステップＳ９で認識された被写体が選択されていないと判断され、ステップＳ１１に進む場合は、認識された全ての被写体を計測対象として設定することになる。
ここでは、野球ボールしか認識されていないとするので、ステップＳ８でＮＯに分岐し、ステップＳ１１で野球ボールを計測対象として設定することになる。
【００５０】
図４のステップＳ１２に進むと、ＣＰＵ１０は、連続撮像制御処理により得られた複数の画像データの中から任意の画像データを選択する。
このとき、ＣＰＵ１０は、連続撮像制御処理により得られた複数の画像データを表示部２０に一覧表示させ、ユーザは十字キー及びＳＥＴキーの操作を行うことにより任意の画像データを複数指定することができ、ＣＰＵ１０は、該指定された複数の画像データを選択する。
【００５１】
このユーザの選択によって画像データ間の被写体の実際の移動距離等が後述する動作で算出されるので、ユーザは被写体の実際の移動距離等を知りたいと思う画像データ間を構成する画像データを２以上選択する。これにより、ユーザが知りたい画像データ間の実移動距離等を知ることができる
ここでは、図５の（Ａ）、（Ｃ）、（Ｅ）の画像データがユーザによって指定され選択されたものとする。
【００５２】
次いで、ＣＰＵ１０の演算部１０２は、該選択された画像データ間における計測対象として設定された被写体の画像上の移動距離を算出する（ステップＳ１３）。つまり、該選択された各画像データ内にある被写体認識処理により認識された被写体の位置及び大きさに基づいて、画像データ間における被写体の画像上の移動距離を算出する。この画像上の移動距離とは、撮像された画像内でどのくらい移動したかを示す距離のことであり、実際に被写体が移動した距離ではない。たとえば、被写体の大きさを１として、画像データ間の移動距離を求めるようにしてもよい。
【００５３】
ここで、「選択された画像データ間」とは、選択された全ての各画像データ間のことを言うのではなく、選択された画像データの中で、撮影順序が連続する画像データ間のことをいう。つまり、選択されたある画像データと、その直前、直後の画像データのことをいう。
【００５４】
たとえば、図５（Ａ）、（Ｃ）、（Ｅ）が選択されたので、選択された画像データ間とは、撮影順序が連続する（Ａ）と（Ｃ）の画像データ間、（Ｃ）と（Ｅ）の画像データ間のことをいい。（Ａ）と（Ｅ）の画像データ間のことはいわない。
したがって、（Ａ）と（Ｃ）の画像データ間の画像上の野球ボールの移動距離、（Ｃ）と（Ｅ）の画像データ間の画像上の野球ボールの移動距離が算出されることになる。
なお、複数の被写体が計測対象として設定されている場合は、同一被写体同士の移動距離を算出することになる。
【００５５】
次いで、ＣＰＵ１０の演算部１０２は、計測対象として設定された被写体のサイズ情報を被写体データテーブルから読みだし、該読みだした被写体のサイズ情報とステップＳ１３で算出された選択された画像データ間の画像上の移動距離に基づいて、選択された画像データ間の実際の被写体の移動距離（実移動距離）を算出する（ステップＳ１４）。被写体の実際の大きさが分かれば実移動距離がわかるからである。
【００５６】
具体的には、ステップＳ１３で算出された画像データ間の移動距離と被写体データテーブルに登録されているサイズ情報を用いて、該算出した画像データ間の移動距離を実移動距離に換算する。本実施の形態では、（Ａ）と（Ｃ）の画像データ間の画像上の野球ボールの移動距離は、当該野球ボール６個分のサイズに相当し、被写体データテーブルに登録されている野球ボール１個のサイズ情報は、図２に示す通り１０ｃｍ（０．１ｍ）である。すると、（Ａ）と（Ｃ）の画像データ間の野球ボールの実移動距離は、０．１ｍ×６＝０．６ｍとなる。また、（Ｃ）と（Ｅ）の画像データ間の画像上の野球ボールの移動距離は当該野球ボール３個分のサイズに相当する。すると、（Ｃ）と（Ｅ）の画像データ間の野球ボールの実移動距離は０．１ｍ×３＝０．３ｍとなる。これにより、実際の被写体の移動距離を知ることができる。
【００５７】
次いで、ＣＰＵ１０の演算部１０２は、該選択された画像データ間の撮像間隔を算出する（ステップＳ１５）。この算出は、連続撮影処理の撮像間隔と、選択された画像データのコマ間隔に基づいて求めることができる。たとえば、ここでは、連続撮像処理の撮像間隔は１／６０秒であり、図５の（Ａ）と（Ｃ）は一コマおきなので（Ａ）と（Ｃ）の撮像間隔は１／３０秒となり、また、（Ｃ）と（Ｅ）は一コマおきなので（Ｃ）と（Ｅ）の撮像間隔は１／３０秒となる。
なお、連続撮像処理のときに連続撮像された各画像データの撮像時刻を記憶しておき、該記憶された撮像時刻に基づいて選択された画像データ間の撮像間隔を算出するようにしてもよい。
【００５８】
次いで、ＣＰＵ１０の演算部１０２は、算出した画像データ間の実移動距離及び時間間隔に基づいて、選択された各画像データ間の被写体の実際の移動速度（実移動速度）を算出する（ステップＳ１６）。
【００５９】
具体的には、ステップＳ１４で算出した実移動距離を、画像データ間の撮像間隔で除することにより実移動速度を算出する。本実施の形態では、上述の通り、（Ａ）と（Ｃ）間の野球ボールの実移動距離が０．６ｍであり、（Ａ）と（Ｃ）間の撮像間隔は１／３０ｓ（秒）である。すると、（Ａ）と（Ｃ）間の野球ボールの実移動速度は０．６ｍ／（１／３０ｓ）＝１８ｍ/ｓとなる。また、（Ｃ）と（Ｅ）間の野球ボールの実移動距離が０．３ｍであり、（Ｃ）と（Ｅ）間の撮像間隔は１／３０ｓである。すると、（Ｃ）と（Ｅ）間の野球ボールの実移動速度は０．３ｍ／（１／３０ｓ）＝９ｍ/ｓとなる。これにより、被写体の実際の移動速度を知ることができる。
【００６０】
次いで、ＣＰＵ１０は、選択した画像データが３枚以上であるか否かを判断する（ステップＳ１７）。ここでは、図５の（Ａ）、（Ｃ）、（Ｅ）の画像データを選択したので３枚以上の画像データを選択したと判断する。
【００６１】
ステップＳ１７で、選択した画像データが３枚以上であると判断すると、ＣＰＵ１０の演算部１０２は、該算出した画像データ間の実移動速度から被写体の実移動加速度を算出して（ステップＳ１８）、ステップＳ１９に進む。
【００６２】
具体的には、ステップＳ１６で算出した実移動速度を、画像データ間の撮像間隔で除することにより実移動加速度を算出する。本実施の形態では、上述の通り、野球ボールの実移動速度は、（Ｃ）における１８ｍ/ｓで、これが（Ｅ）においては９ｍ/ｓに変化している。そして、（Ｃ）と（Ｅ）間の撮像間隔は１／３０ｓとする。すると、（Ｃ）と（Ｅ）間の被写体の実移動加速度は（９ｍ/ｓ−１８ｍ/ｓ）／（１／３０ｓ）＝−２７０ｍ/ｓ２となる。
【００６３】
例えば、図５を用いて説明すると、選択された画像は、（Ａ）、（Ｃ）、（Ｅ）なので、図５の（Ａ）と（Ｃ）との画像データ間の実移動速度と、図５（Ｃ）と（Ｅ）の画像データ間の実移動速度とから被写体の実移動加速とから実移動加速度を算出することになる。
一方、ステップＳ１７で、選択した画像データが３枚以上でないと判断するとそのままステップＳ１９に進む。
【００６４】
ステップＳ１９に進むと、ＣＰＵ１０の合成部１０３は、該選択した画像データ（実移動距離の算出元となった画像データ）、及び、ステップＳ１４で算出された実移動距離を示す情報、ステップＳ１６で算出された実移動速度を示す情報、ステップＳ１８で算出された実移動加速度を示す情報（実移動加速度が算出された場合のみ）を合成する。このとき、計測対象として設定された被写体の移動方向を示す情報も一緒に合成するようにしてもよい。これにより、被写体の移動推移と移動距離等を１枚の画像データで表すことができる。
次いで、ＣＰＵ１０は、該合成した画像データを表示部２０に表示させて（ステップＳ２０）、ステップＳ１に戻る。
【００６５】
図６は、ステップＳ１９で合成され表示された画像データの様子の一例を示す図である。
図６を見るとわかるように、選択した画像データである図５の（Ａ）、（Ｃ）、（Ｅ）が合成されているとともに、算出された画像データ間の計測対象として設定された被写体の実移動距離、実移動速度、実移動加速度を示す情報が合成されているのがわかる。また、ここでは、該被写体の移動方向を示す情報も合成されていることがわかる。
これにより、一目瞭然に選択した画像データ間の計測対象として設定した被写体の画像データ間の実移動距離、実移動速度、及び、該被写体の実移動加速度が視認することができる。
【００６６】
以上のように、実施の形態においては、連続撮像処理により得られた複数の画像データに対して被写体認識処理を行い、該被写体認識により認識された同一被写体の画像上の位置と該被写体のサイズ情報に基づいて、画像データ間の被写体の実移動距離を算出するようにしたので、該画像データ間に実際に移動した被写体の移動距離を知ることができる。
また、被写体の特徴データと該被写体の実際のサイズ情報とを対応付けた被写体データテーブルを備え、該被写体の特徴データに基づいて被写体認識を行い、該認識された被写体のサイズ情報を該被写体データテーブルから取得するようにしたので、正確に迅速に実際に移動した被写体の実移動距離を算出することができる。
【００６７】
また、画像データ間の被写体の移動距離と、該画像データ間の撮像間隔とに基づいて、画像データ間の被写体の実移動速度、実移動加速度を算出するようにしたので、該画像データ間に実際に移動した被写体の速度、加速度を簡単に知ることができる。
また、連続撮像処理により得られた画像データのうち、ユーザが任意に選択された画像データ間の実移動距離、実移動速度、実移動加速度を算出するようにしたので、ユーザが知りたい画像データ間での被写体の実移動距離等を知ることができる。
【００６８】
また、実移動距離の算出元なった（ステップＳ１２で選択された）画像データと、算出された実移動距離等を示す情報を合成して表示させるようにしたので、ユーザは簡単に、被写体の実移動距離等を視認することができる。
また、被写体の動きが検出されると、連続撮像処理を開始するようにしたので、早い被写体に対しても対応することができ、該被写体の移動距離等を知ることができる。ユーザのシャッタボタンの押下により連続撮像処理を開始してしまうと、動きが早い被写体の場合には、シャッタボタンが押下されたときには既にＣＣＤ５の画角内にいない場合があるからである。
【００６９】
［変形例］
上記実施の形態は、以下のような変形例も可能である。
【００７０】
（０１）また、上記実施の形態においては、ステップＳ３で被写体の動きが検出されたと判断すると、連続撮像処理を開始するようにしたが、そのまま、動画撮像処理を継続して行なうようにしてもよい。要は所定間隔で連続して被写体を撮像するものであればよい。
なお、動画撮像処理を継続して行なう場合は、ステップＳ３で被写体の動きが検出されたと判断してから、ステップＳ５で動きが検出されなくなったと判断されるまでに撮像されたフレーム画像データを記憶し、ステップＳ６では該記憶したフレーム画像データに対して被写体認識処理を行い、ステップＳ１２で該記憶したフレーム画像データの中から任意の画像データを選択する。
【００７１】
（０２）また、上記実施の形態においては、ユーザによって選択された画像データ間の計測対象として設定された被写体の実移動距離、実移動速度を算出するようにしたが、連続撮像処理により得られた全ての画像データ間の実移動距離、実移動速度等を算出するようにしてもよい。
なお、この「画像データ間」とは、選択された画像データの中で、撮影順序が連続する画像データ間のことをいうまでのない。
【００７２】
（０３）また、上記実施の形態においては、連続撮像処理により得られた画像データ（撮像されて記録されていない画像データ）に対して図３のステップＳ６以降の動作を行なうようにしたが、連続撮像処理により撮像され記録された複数の画像データや動画データを取得し、該取得した複数の画像データや動画データに対して図３のステップＳ３以降の動作、又は、ステップＳ６以降の動作を行なうようにしてもよい。
つまり、複数の画像データや動画データをＣＣＤ５から取得するのではなく、記録された複数の画像データや動画データを取得するようにする。
【００７３】
（０４）また、上記実施の形態において、動きを検出している間、連続撮像処理を行うようにしたが、シャッタボタンの押下により連続撮像処理を開始するようにしてもよい。この場合は、ステップＳ１でスルー画像表示を開始すると、ステップＳ３に進み、シャッタボタンが押下されたか否かを判断し、シャッタボタンが押下されたと判断すると、ステップＳ４に進み、連続撮像処理を開始する。また、ステップＳ５では、シャッタボタンの押下が解除されたか否かを判断し、解除されたと判断するとステップＳ６に進む。
【００７４】
（０５）また、上記実施の形態において、連続撮像処理により得られた複数の画像データに対して図３のステップＳ６以降の動作を行なうようにしたが、単に静止画撮影処理（1回の撮影を行なう処理）を複数回行なうことにより得られた複数の画像データに対してステップＳ６以降の動作を行なうようにしてもよい。
【００７５】
この場合は、ステップＳ１でスルー画像表示を開始すると、ステップ３に進み、シャッタボタンが押下されたか否かを判断する。そして、シャッタボタンが押下されると、ステップＳ４で静止画撮影処理を行い、ステップＳ５で、再び静止画撮影処理を行うか否かを判断する。ステップＳ５で、再び静止画撮影処理を行うと判断すると、ステップＳ３に戻りシャッタボタンが押下されたか否かを判断する。一方、ステップＳ５で再び静止画撮影処理を行わないと判断すると、ステップＳ６に進む。このように、単体撮影で得られた複数の画像データに対してステップＳ６以降の動作を行なうようにしてもよい。例えば、撮影者から遠い所で動いている被写体（例えば、空を飛んでいる飛行機等）を撮影する場合には、迅速に連続して被写体を撮影する必要はなく、単体撮影を行なってもすぐに被写体が画角から外れるということはないからである。
【００７６】
また、このステップＳ５の再び撮影を行なうか否かの判断は、ユーザはキー入力部１１を操作することによって再び撮影をするか否かを指定することができ、該指定に基づいて判断する。
なお、複数回の静止画撮影処理により撮影され記録された複数の画像データに対してステップＳ６以降の動作を行なうようにしてもよい。
【００７７】
（０６）また、上記実施の形態において、連続撮像処理により得られた全ての画像データに対して、被写体認識処理を行なうようにしたが、連続撮像処理により得られた画像データのうち、ユーザによって任意に指定された画像データのみ、被写体認識処理を行うようにしてもよい。つまり、ユーザによって指定された画像データのみステップＳ６以降の動作を行うようにしてもよい。この場合は、ステップＳ１２での選択をなくしてもよい。これにより、被写体認識処理に伴う処理負担を軽減させることができる。
【００７８】
（０７）また、上記実施の形態において、図４のステップＳ２０では、合成した画像データを表示させるようにしたが、合成した画像データを記録するようにしてもよい。また、表示と記録を両方行うようにしてもよい。
【００７９】
（０８）また、上記実施の形態において、図４のステップＳ１９では、ステップＳ１２で選択された画像データと、算出された実移動距離等を示す情報を合成し、ステップＳ２０で該合成された画像データを表示させるようにしたが、図４のステップＳ１９では選択された画像データ（実移動距離の算出元となった画像データ）のみを合成し、ステップＳ２０では該合成された画像データを表示させるとともに、該算出された実移動距離等を示す情報を重ねて表示させるようにしてもよい。これによっても、該画像データ間に実際に移動した被写体の移動距離を知ることができる。このとき、算出した実移動距離、実移動速度、実移動加速を示す情報のうち、少なくとも１つの情報を表示させるようにしてもよい。
【００８０】
（０９）また、上記実施の形態において、画像データ間の被写体の実移動距離等を示す情報と、実移動距離の算出元となった画像データとを合成して表示させるようにしたが、単に、画像データ間の被写体の実移動距離等を示す情報のみを表示させるようにしてもよい。これによっても被写体の実移動距離等を容易に知ることができる。
このときは、算出した実移動距離、実移動速度、実移動加速度等を全て表示させるようにしてもよいし、実移動距離、実移動速度、実移動加速度を示す情報のうち、少なくとも１つの情報を表示させるようにしてもよい。
【００８１】
（１０）また、上記実施の形態において、画像データ間の被写体の実移動距離、実移動速度、実移動加速度（実移動加速度を算出した場合のみ）等を示す全ての情報と、実移動距離の算出元となった画像データとを合成するようにしたが、実移動距離の算出元となった画像データと、実移動距離、実移動速度、実移動加速度を示す情報のうち、少なくとも１つの情報とを合成させるようにしてもよい。これによっても、該画像データ間に実際に移動した被写体の移動距離を知ることができる。
【００８２】
（１１）また、上記実施の形態において、算出された実移動距離、実移動速度等を示す情報を図６に示すような態様となるように合成、表示させたが、他の態様（たとえば、グラフ表示等）で実移動距離、実移動速度を合成、表示させるようにしてもよい。
【００８３】
（１２）また、上記実施の形態において、選択された画像データのうち、撮影順序が連続する画像データ間の移動距離等を算出するようにしたが、該撮影順序が連続する画像データ間の移動距離等に加え、選択された画像データのうち、一番最初に撮像された画像データと最後に撮像された画像データ間の移動距離等を算出するようにしてもよい。これにより、最終的に計測対象として設定された被写体のトータルの実移動距離、平均の実移動速度がわかるからである。
【００８４】
（１３）また、上記変形例（０１）乃至（１２）を任意に組み合わせた態様であってもよい。
【００８５】
（１４）また、本発明の上記実施形態及び各変形例は、何れも最良の実施形態としての単なる例に過ぎず、本発明の原理や構造等をより良く理解することができるようにするために述べられたものであって、添付の特許請求の範囲を限定する趣旨のものでない。
したがって、本発明の上記実施形態に対してなされ得る多種多様な変形ないし修正はすべて本発明の範囲内に含まれるものであり、添付の特許請求の範囲によって保護されるものと解さなければならない。
【００８６】
最後に、上記各実施の形態においては、本発明の演算装置をデジタルカメラ１に適用した場合について説明したが、上記の実施の形態に限定されるものではなく、要は、画像データに基づいて所定の演算をすることができる機器であれば適用可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施の形態のデジタルカメラのブロック図である。
【図２】被写体データテーブルの様子の一例を示す図である。
【図３】実施の形態のデジタルカメラの動作を示すフローチャートである。
【図４】実施の形態のデジタルカメラの動作を示すフローチャートである。
【図５】連続撮像処理により撮像された画像データの様子を示す図である。
【図６】合成され表示された画像データの様子の一例を示す図である。
【符号の説明】
【００８８】
１      デジタルカメラ
２      撮影レンズ
３      レンズ駆動ブロック
４      絞り兼用シャッタ
５      ＣＣＤ
６      垂直ドライバ
７      ＴＧ
８      ユニット回路
９      ＤＭＡ
１０    ＣＰＵ
１１    キー入力部
１２    メモリ
１３    ＤＲＡＭ
１４    ＤＭＡ
１５    動きベクトル検出部
１６    ＤＭＡ
１７    画像生成部
１８    ＤＭＡ
１９    ＤＭＡ
２０    表示部
２１    ＤＭＡ
２２    圧縮伸張部
２３    ＤＭＡ
２４    フラッシュメモリ
２５    バス
【図１】
0004877186.tif 000002
【図２】
0004877186.tif 000003
【図３】
0004877186.tif 000004
【図４】
0004877186.tif 000005
【図５】
0004877186.tif 000006
【図６】
0004877186.tif 000007