説明

演算装置及びそのプログラム

【課題】 2以上の画像データに基づいて実際の被写体の移動距離を算出することができる演算装置及びそのプログラム演算装置及びそのプログラムを実現する。
【解決手段】 まず、被写体データテーブルに被写体の特徴データと被写体のサイズ情報とを被写体毎に登録しておく。そして、各画像データ内で認識された同一被写体の画像上の位置、大きさに基づいて、画像データ間の該被写体の画像上の移動距離を算出し、該算出した画像上の移動距離と、被写体データテーブルに登録されている該被写体のサイズ情報に基づいて、画像データ間の被写体の実際の移動速度を算出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算装置及びそのプログラムに係り、詳しくは、2以上の画像データに基づいて被写体の移動距離を算出する演算装置及びそのプログラムに関する。
【背景技術】
【0002】
従来、同一被写体を複数撮像した画像データに基づいて被写体の移動距離を求める技術がある(特許文献1)。
【0003】
【特許文献1】公開特許公報 特開2002−190027
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献によれば、画像上のドット単位での移動距離しか計測することができ、実際の移動距離を計測することができない。
【0005】
そこで本発明は、かかる従来の問題点に鑑みてなされたものであり、2以上の画像データに基づいて実際の被写体の移動距離を算出することができる演算装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的達成のため、請求項1記載の発明による演算装置は、少なくとも2枚の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに対して被写体認識を行う被写体認識手段と、
前記被写体認識手段により認識された、前記2枚以上の画像データにおける被写体の位置、及び、該被写体の実際のサイズ情報に基づいて、前記画像取得手段により取得された画像データ間における該被写体の実際の移動距離を算出する第1の演算手段と、
を備えたことを特徴とする。
【0007】
また、例えば、請求項2に記載されているように、被写体の特徴データと、該被写体の実際のサイズ情報とを対応付けて登録する登録手段を備え、
前記被写体認識手段は、
前記登録手段により登録された被写体の特徴データに基づいて、被写体認識を行い、
前記第1の演算手段は、
前記被写体認手段により認識された被写体に対応する前記登録手段により登録された実際のサイズ情報を用いるようにしてもよい。
【0008】
また、例えば、請求項3に記載されているように、前記第1の演算手段により算出された画像データ間の被写体の移動距離と、該画像データ間の撮像時間間隔とに基づいて、該画像データ間における被写体の移動速度を算出する第2の演算手段を備えるようにしてもよい。
【0009】
また、例えば、請求項4に記載されているように、前記画像取得手段は、少なくとも3枚の画像データを取得し、
前記第1の演算手段により算出された画像データ間の被写体の移動距離と、該画像データ間の撮像時間間隔とに基づいて、該被写体の移動加速度を算出する第3の演算手段を備えるようにしてもよい。
【0010】
また、例えば、請求項5に記載されているように、前記画像取得手段により取得された画像データのうち、ユーザによって任意に指定された画像データを選択する選択手段を備え、
前記第1の演算手段、前記第2の演算手段、前記第3の演算手段は、
前記選択手段により選択された画像データ間における該被写体の実際の移動距離、移動速度、移動加速度を算出するようにしてもよい。
【0011】
また、例えば、請求項6に記載されているように、前記画像取得手段は、
連続して所定時間間隔で撮像された画像データを取得するようにしてもよい。
【0012】
また、例えば、請求項7に記載されているように、前記画像取得手段は、
ユーザによって任意に指定された画像データを取得するようにしてもよい。
【0013】
また、例えば、請求項8に記載されているように、前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報を表示させる表示制御手段を備えるようにしてもよい。
【0014】
また、例えば、請求項9に記載されているように、前記第1の演算手段による移動距離の算出元となった画像データを合成する合成手段を備え、
前記表示制御手段は、
前記合成手段により合成された合成画像データを表示させるとともに、前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報を重ねて表示させるようにしてもよい。
【0015】
また、例えば、請求項10に記載されているように、前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報と、該第1の演算手段による移動距離の算出元となった画像データを合成する合成手段を備えるようにしてもよい。
【0016】
上記目的達成のため、請求項11記載の発明によるプログラムは、コンピュータを、
少なくとも2枚の画像データを取得する画像取得手段、
前記画像取得手段により得られた画像データに対して被写体認識を行う被写体認識手段、
前記被写体認識手段により認識された、前記2枚以上の画像データにおける被写体の位置、及び、該被写体の実際のサイズ情報に基づいて、前記画像取得手段により取得された画像データ間における該被写体の実際の移動距離を算出する第1の演算手段、
として機能させることを特徴とする。
【発明の効果】
【0017】
本発明によれば、被写体の実際の移動距離を算出することができる。
【発明を実施するための最良の形態】
【0018】
以下、本実施の形態について、本発明の演算装置をデジタルカメラに適用した一例として図面を参照して詳細に説明する。
[実施の形態]
A.デジタルカメラの構成
図1は、本発明の演算装置を実現するデジタルカメラ1の電気的な概略構成を示すブロック図である。
デジタルカメラ1は、撮影レンズ2、レンズ駆動ブロック3、絞り兼用シャッタ4、CCD5、垂直ドライバ6、TG(timing generator)7、ユニット回路8、DMAコントローラ(以下、DMAという)9、CPU10、キー入力部11、メモリ12、DRAM13、DMA14、動きベクトル検出部15、DMA16、画像生成部17、DMA18、DMA19、表示部20、DMA21、圧縮伸張部22、DMA23、フラッシュメモリ24、バス25を備えている。
【0019】
撮影レンズ2は、図示しない複数のレンズ群から構成されるフォーカスレンズ、ズームレンズを含む。そして、撮影レンズ2には、レンズ駆動ブロック3が接続されている。レンズ駆動ブロック3は、フォーカスレンズ、ズームレンズをそれぞれ光軸方向に駆動させるフォーカスモータ、ズームモータ(図示略)と、CPU10から送られてくる制御信号にしたがって、フォーカスレンズ、ズームレンズを光軸方向に駆動させるフォーカスモータドライバ、ズームモータドライバ(図示略)とから構成されている。
【0020】
絞り兼用シャッタ4は、図示しない駆動回路を含み、駆動回路はCPU10から送られてくる制御信号にしたがって絞り兼用シャッタ4を動作させる。この絞り兼用シャッタ4は、絞り、シャッタとして機能する。
絞りとは、CCD5に入射される光の量を制御する機構のことをいう。
露出量は、この絞り値(絞りの度合い)とシャッタ速度によって定められる。
【0021】
CCD5は、垂直ドライバ6によって走査駆動され、一定周期毎に被写体像のRGB値の各色の光の強さを光電変換して撮像信号としてユニット回路8に出力する。この垂直ドライバ6、ユニット回路8の動作タイミングはTG7を介してCPU10によって制御される。なお、CCD5はベイヤー配列の色フィルターを有しており、また、電子シャッタとしての機能も有する。この電子シャッタのシャッタ速度は、ドライバ6、TG7を介してCPU10によって制御される。
【0022】
ユニット回路8には、TG7が接続されており、CCD5から出力される撮像信号を相関二重サンプリングして保持するCDS(Correlated Double Sampling)回路、そのサンプリング後の撮像信号の自動利得調整を行なうAGC(Automatic Gain Control)回路、その自動利得調整後のアナログ信号をデジタル信号に変換するA/D変換器から構成されており、CCD5によって得られた撮像信号はユニット回路8を経た後、DMA9によってベイヤーデータの状態でバッファメモリ(DRAM13)に記憶される。
【0023】
CPU10は、撮像処理、表示処理、記録処理などを行う機能を有すると共に、デジタルカメラ1の各部を制御するワンチップマイコンである。
特に、CPU10は、画像データ内にある登録された被写体を認識する被写体認識部101、複数の画像データ内にある該認識された同一被写体の位置、及び、該被写体のサイズ情報に基づいて該被写体の実移動距離、実移動速度、実移動加速度を算出する演算部102、複数の画像データを合成する合成部103を有する。
【0024】
キー入力部11は、半押し操作全押し操作可能なシャッタボタン、モード切替キー、十字キー、SETキー等の複数の操作キーを含み、ユーザのキー操作に応じた操作信号をCPU10に出力する。
【0025】
メモリ12には、CPU10がデジタルカメラ1の各部を制御するのに必要な制御プログラム、及び必要なデータが記録されており、CPU10は、該プログラムに従い動作する。
また、メモリ12には、被写体の特徴データを記録(登録)した被写体データテーブルを備えている。
【0026】
図2は、被写体データテーブルの様子の一例を示す図である。
図2を見るとわかるように、各被写体の名称と、該被写体のサンプル画像、及び、該被写体の特徴データ、該被写体のサイズ情報が各被写体毎に登録されているのがわかる。
【0027】
この被写体データの登録は、登録モード等においてユーザが任意の被写体を登録することができ、登録したい被写体が撮影された画像データから、登録したい被写体の特徴データを算出して登録するとともに、該被写体の画像データをサンプル画像として登録する。このとき、ユーザによって入力された被写体の名称、該被写体のサイズ情報も一緒に登録する。ここで算出される特徴データとは、登録したい被写体の輪郭等から該被写体の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係を数値化したデータのことをいう。
なお、被写体のサイズ情報をCPU10が算出して登録するようにしてもよい。このサイズ情報の算出は、たとえば、予め定められた距離で登録したい被写体を撮像し、該撮像された被写体の画像上の大きさによってサイズ情報を算出する。
【0028】
DRAM13は、CCD5によって撮像された画像データを一時記憶するバッファメモリとして使用されるとともに、CPU10のワーキングメモリとしても使用される。
【0029】
DMA14は、バッファメモリに記憶されているベイヤーデータ若しくは輝度色差信号の画像データを読み出して、動きベクトル検出部15に出力するものである。
動きベクトル検出部15は、フレーム画像データの各領域(8画素×8画素からなる領域)の動きベクトルを検出するものであり、代表点マッチング法や、ブロックマッチング法などを用いて該画像データの各領域の動きベクトル(動き量)を検出する。また、この動きベクトルを検出するには、あるフレームとその後又はその前に撮像されたフレームとに基づいて、該あるフレームの各領域の動きベクトルを検出するので、撮像されたフレームを一定時間保持する記憶回路も含む。この検出されたフレームの各領域の動きベクトルは、DMA14を介してCPU10に送られる。
【0030】
DMA16は、バッファメモリに記憶されたベイヤーデータの画像データを読み出して画像生成部17に出力するものである。
画像生成部17は、DMA16から送られてきた画像データに対して、画素補間処理、γ補正処理、ホワイトバランス処理などの処理を施すとともに、輝度色差信号(YUVデータ)の生成も行なう。つまり、画像処理を施す部分である。
DMA18は、画像生成部17で画像処理が施された輝度色差信号の画像データ(YUVデータ)をバッファメモリに記憶させるものである。
【0031】
DMA19は、バッファメモリに記憶されているYUVデータの画像データを表示部20に出力するものである。
表示部20は、カラーLCDとその駆動回路を含み、DMA19から出力された画像データの画像を表示させる。
【0032】
DMA21は、バッファメモリに記憶されているYUVデータの画像データや圧縮された画像データを圧縮伸張部22に出力したり、圧縮伸張部22により圧縮された画像データや、伸張された画像データをバッファメモリに記憶させたりするものである。
圧縮伸張部22は、画像データの圧縮・伸張(例えば、JPEGやMPEG形式の圧縮・伸張)を行なう部分である。
DMA23は、バッファッメモリに記憶されている圧縮画像データを読み出してフラッシュメモリ24に記録させたり、フラッシュメモリ24に記録された圧縮画像データをバッファメモリに記憶させるものである。
【0033】
B.デジタルカメラ1の動作
第1の実施の形態におけるデジタルカメラ1の動作を図3及び図4のフローチャートにしたがって説明する。
【0034】
ユーザのキー入力部11のモード切替キーの操作によりスピード計測撮影モードに設定されると、ステップS1で、CPU10は、所定のフレームレート(たとえば、30fps)でCCD5により被写体の撮像を開始させ、画像生成部17によって順次生成されてバッファメモリに記憶された輝度色差信号のフレーム画像データを表示部20に表示させていく、といういわゆるスルー画像表示を開始する。このとき、ユーザはデジタルカメラ1の位置を動かさないでかまえておく。
【0035】
次いで、CPU10は、被写体の動きを検出する処理を開始させる(ステップS2)。具体的には、CPU10は、動きベクトル検出部15に撮像されたフレーム画像データをDMA14を介して順次出力し、動きベクトル検出部15に順次出力されたフレーム画像データの各領域の動きベクトルを検出させていく。この動きベクトル検出部15により検出された各フレームの各領域の動きベクトルはCPU10に送られる。
【0036】
次いで、CPU10は、被写体の動きが検出されたか否かを判断する(ステップS3)。この判断は、動きベクトル検出部15から送られてきたフレーム画像データの各領域の動きベクトルのうち、所定値以上の動きベクトルがある場合には、被写体の動きが検出されたと判断する。動きベクトルが所定値以上ある領域は、被写体の動きがある領域であると判断することができるからである。
【0037】
なお、ここで、所定値以上の場合に被写体の動きがあると判断した理由は、動きベクトルある場合に被写体の動きがあると判断してしまうと、風によって木等が揺れてしまったり、本人は止まっているつもりでも無意識に動いてしまう微妙なブレ等によって被写体の動きがあると判断してしまうからである。つまり、実質的には動いていない被写体を動いていると判断してしまうことを防止するためである。
【0038】
ステップS3で、被写体の動きを検出していないと判断すると検出するまでステップS3に留まり、被写体の動きを検出したと判断すると、CPU10は、連続撮像処理を開始する(ステップS4)。つまり、所定の撮像(時間)間隔で被写体を撮像する処理を開始する。このときも、CPU10は、動きベクトル検出部15に撮像された画像データの各領域の動きベクトルを検出させる。また、このとき、ユーザはデジタルカメラ1の位置を動かさないでかまえておく。デジタルカメラ1を動かしてしまうと正確に被写体の移動距離等を算出することができないからである。なお、ここでは、1/60秒間隔で被写体を撮像するものとするが、所定の撮像間隔であればよい。
【0039】
このように、この動きを検出すると自動的に連続撮像処理を行うようにしたので、速い被写体でも対応することができる。例えば、ユーザのシャッタボタンの押下により連続撮像処理を行うとすると、動きがある被写体があると判断してから実際にシャッタボタンを押下するまでタイムラグが生じ、シャッタボタンが押下されたときには既に被写体は画角内にいない可能性があるからである。
【0040】
次いで、CPU10は、被写体の動きが検出されなくなったか、つまり、被写体の動きがなくなったか否かを判断する(ステップS5)。この判断は、動きベクトル検出部15から送られてきた画像データの各領域の動きベクトルの何れもが所定値以上でない場合に被写体の動きがなくなったと判断する。
【0041】
図5は、連続撮像処理により撮像された画像データの様子を示す図である。
図5に示すように、被写体の動きがあると判断され、最初に連続撮像制御処理により得られた画像データが(A)であり、次に(B)が撮像され、(C)、(D)、(E)の順に撮像されている。また、図5を見ると、撮像を行う度に(時間の経過に伴って)、野球ボールの位置が右上から左下に移動しているのがわかる。
【0042】
ステップS5で、CPU10は、被写体の動きが検出されていると判断すると動きが検出されなくなるまでステップS5に留まり、被写体の動きが検出されなくなると、CPU10の被写体認識部101は、連続撮像処理により撮像された全ての画像データに対して画像認識処理を行う(ステップS6)。つまり、登録されている被写体が各画像データ内にあるか否かを認識する処理を行う。
【0043】
この被写体認識処理は、周知技術であるが、簡単に説明すると、撮像されたフレーム画像データから全被写体の特徴データを算出し、該算出した被写体特徴データと、登録されている被写体の特徴データ(登録特徴データ)とを比較照合することにより、該登録されている被写体が画像データ内にあるかであるかを認識する。ここで、フレーム画像データから算出される全被写体の特徴データとは、例えば、撮影された全被写体が建物とその前に立っている人の場合は、建物及び人の特徴点を複数抽出し、該抽出した特徴点の座標位置や相対位置関係等を数値化したデータのことをいう。
【0044】
次いで、CPU10は、被写体認識処理により同一被写体を認識することができたか否かを判断する(ステップS7)。つまり、連続撮像処理により得られたすべての画像データのうち、少なくとも2枚以上の画像データに対して同一被写体が認識されたか否かを判断する。つまり、1枚の画像データのみに認識された被写体(1枚の画像データのみしか写っていない被写体)は、ステップS7で同一被写体を認識されたと判断されないことになる。
ここでは、図5(A)、(B)、(C)、(D)、(E)の5枚の画像データに野球ボールがあると認識されたものとする。つまり、野球ボールが同一被写体として認識されたことになる。
【0045】
ステップS7で同一被写体を認識できないと判断するとステップS1に戻り、ステップS7で同一被写体を認識できたと判断すると、CPU10は、複数の同一被写体が認識できたか否かを判断する(ステップS8)。つまり、連続撮像処理により得られたすべての画像データのうち、少なくとも2枚以上の画像データに対して認識された同一被写体が複数あるか否かを判断する。
【0046】
ステップS8で、複数の同一被写体が認識されたと判断すると、CPU10は、該認識された複数の同一被写体のうち、ユーザによって被写体が選択されたか否かを判断する(ステップS9)。
【0047】
このとき、CPU10は、たとえば、表示部20に、該認識された同一被写体の名称やサンプル画像を被写体データテーブルから読みだして一覧表示をさせ、ユーザの十字キー及びSETキーにより何れかの被写体を選択することができる。このとき、ユーザは複数の被写体を選択することもできる。
また、何れの被写体も選択されていない状態でSETキーの操作が行われると、ステップS9で被写体が選択されていないと判断し、何れかの被写体が選択されている状態でSETキーの操作が行われると、ステップS9で被写体が選択されたと判断する。
【0048】
ステップS9で、認識された被写体が選択されたと判断すると、CPU10は、該選択された被写体を計測対象として設定して(ステップS10)図4のステップS12に進む。
【0049】
一方、ステップS8で複数の被写体が認識されていないと判断された場合、ステップS9で認識された被写体が選択されていないと判断した場合は、CPU10は、被写体認識により認識された被写体を計測対象として設定して(ステップS11)、図4のステップS12に進む。このとき、ステップS9で認識された被写体が選択されていないと判断され、ステップS11に進む場合は、認識された全ての被写体を計測対象として設定することになる。
ここでは、野球ボールしか認識されていないとするので、ステップS8でNOに分岐し、ステップS11で野球ボールを計測対象として設定することになる。
【0050】
図4のステップS12に進むと、CPU10は、連続撮像制御処理により得られた複数の画像データの中から任意の画像データを選択する。
このとき、CPU10は、連続撮像制御処理により得られた複数の画像データを表示部20に一覧表示させ、ユーザは十字キー及びSETキーの操作を行うことにより任意の画像データを複数指定することができ、CPU10は、該指定された複数の画像データを選択する。
【0051】
このユーザの選択によって画像データ間の被写体の実際の移動距離等が後述する動作で算出されるので、ユーザは被写体の実際の移動距離等を知りたいと思う画像データ間を構成する画像データを2以上選択する。これにより、ユーザが知りたい画像データ間の実移動距離等を知ることができる
ここでは、図5の(A)、(C)、(E)の画像データがユーザによって指定され選択されたものとする。
【0052】
次いで、CPU10の演算部102は、該選択された画像データ間における計測対象として設定された被写体の画像上の移動距離を算出する(ステップS13)。つまり、該選択された各画像データ内にある被写体認識処理により認識された被写体の位置及び大きさに基づいて、画像データ間における被写体の画像上の移動距離を算出する。この画像上の移動距離とは、撮像された画像内でどのくらい移動したかを示す距離のことであり、実際に被写体が移動した距離ではない。たとえば、被写体の大きさを1として、画像データ間の移動距離を求めるようにしてもよい。
【0053】
ここで、「選択された画像データ間」とは、選択された全ての各画像データ間のことを言うのではなく、選択された画像データの中で、撮影順序が連続する画像データ間のことをいう。つまり、選択されたある画像データと、その直前、直後の画像データのことをいう。
【0054】
たとえば、図5(A)、(C)、(E)が選択されたので、選択された画像データ間とは、撮影順序が連続する(A)と(C)の画像データ間、(C)と(E)の画像データ間のことをいい。(A)と(E)の画像データ間のことはいわない。
したがって、(A)と(C)の画像データ間の画像上の野球ボールの移動距離、(C)と(E)の画像データ間の画像上の野球ボールの移動距離が算出されることになる。
なお、複数の被写体が計測対象として設定されている場合は、同一被写体同士の移動距離を算出することになる。
【0055】
次いで、CPU10の演算部102は、計測対象として設定された被写体のサイズ情報を被写体データテーブルから読みだし、該読みだした被写体のサイズ情報とステップS13で算出された選択された画像データ間の画像上の移動距離に基づいて、選択された画像データ間の実際の被写体の移動距離(実移動距離)を算出する(ステップS14)。被写体の実際の大きさが分かれば実移動距離がわかるからである。
【0056】
具体的には、ステップS13で算出された画像データ間の移動距離と被写体データテーブルに登録されているサイズ情報を用いて、該算出した画像データ間の移動距離を実移動距離に換算する。本実施の形態では、(A)と(C)の画像データ間の画像上の野球ボールの移動距離は、当該野球ボール6個分のサイズに相当し、被写体データテーブルに登録されている野球ボール1個のサイズ情報は、図2に示す通り10cm(0.1m)である。すると、(A)と(C)の画像データ間の野球ボールの実移動距離は、0.1m×6=0.6mとなる。また、(C)と(E)の画像データ間の画像上の野球ボールの移動距離は当該野球ボール3個分のサイズに相当する。すると、(C)と(E)の画像データ間の野球ボールの実移動距離は0.1m×3=0.3mとなる。これにより、実際の被写体の移動距離を知ることができる。
【0057】
次いで、CPU10の演算部102は、該選択された画像データ間の撮像間隔を算出する(ステップS15)。この算出は、連続撮影処理の撮像間隔と、選択された画像データのコマ間隔に基づいて求めることができる。たとえば、ここでは、連続撮像処理の撮像間隔は1/60秒であり、図5の(A)と(C)は一コマおきなので(A)と(C)の撮像間隔は1/30秒となり、また、(C)と(E)は一コマおきなので(C)と(E)の撮像間隔は1/30秒となる。
なお、連続撮像処理のときに連続撮像された各画像データの撮像時刻を記憶しておき、該記憶された撮像時刻に基づいて選択された画像データ間の撮像間隔を算出するようにしてもよい。
【0058】
次いで、CPU10の演算部102は、算出した画像データ間の実移動距離及び時間間隔に基づいて、選択された各画像データ間の被写体の実際の移動速度(実移動速度)を算出する(ステップS16)。
【0059】
具体的には、ステップS14で算出した実移動距離を、画像データ間の撮像間隔で除することにより実移動速度を算出する。本実施の形態では、上述の通り、(A)と(C)間の野球ボールの実移動距離が0.6mであり、(A)と(C)間の撮像間隔は1/30s(秒)である。すると、(A)と(C)間の野球ボールの実移動速度は0.6m/(1/30s)=18m/sとなる。また、(C)と(E)間の野球ボールの実移動距離が0.3mであり、(C)と(E)間の撮像間隔は1/30sである。すると、(C)と(E)間の野球ボールの実移動速度は0.3m/(1/30s)=9m/sとなる。これにより、被写体の実際の移動速度を知ることができる。
【0060】
次いで、CPU10は、選択した画像データが3枚以上であるか否かを判断する(ステップS17)。ここでは、図5の(A)、(C)、(E)の画像データを選択したので3枚以上の画像データを選択したと判断する。
【0061】
ステップS17で、選択した画像データが3枚以上であると判断すると、CPU10の演算部102は、該算出した画像データ間の実移動速度から被写体の実移動加速度を算出して(ステップS18)、ステップS19に進む。
【0062】
具体的には、ステップS16で算出した実移動速度を、画像データ間の撮像間隔で除することにより実移動加速度を算出する。本実施の形態では、上述の通り、野球ボールの実移動速度は、(C)における18m/sで、これが(E)においては9m/sに変化している。そして、(C)と(E)間の撮像間隔は1/30sとする。すると、(C)と(E)間の被写体の実移動加速度は(9m/s−18m/s)/(1/30s)=−270m/sとなる。
【0063】
例えば、図5を用いて説明すると、選択された画像は、(A)、(C)、(E)なので、図5の(A)と(C)との画像データ間の実移動速度と、図5(C)と(E)の画像データ間の実移動速度とから被写体の実移動加速とから実移動加速度を算出することになる。
一方、ステップS17で、選択した画像データが3枚以上でないと判断するとそのままステップS19に進む。
【0064】
ステップS19に進むと、CPU10の合成部103は、該選択した画像データ(実移動距離の算出元となった画像データ)、及び、ステップS14で算出された実移動距離を示す情報、ステップS16で算出された実移動速度を示す情報、ステップS18で算出された実移動加速度を示す情報(実移動加速度が算出された場合のみ)を合成する。このとき、計測対象として設定された被写体の移動方向を示す情報も一緒に合成するようにしてもよい。これにより、被写体の移動推移と移動距離等を1枚の画像データで表すことができる。
次いで、CPU10は、該合成した画像データを表示部20に表示させて(ステップS20)、ステップS1に戻る。
【0065】
図6は、ステップS19で合成され表示された画像データの様子の一例を示す図である。
図6を見るとわかるように、選択した画像データである図5の(A)、(C)、(E)が合成されているとともに、算出された画像データ間の計測対象として設定された被写体の実移動距離、実移動速度、実移動加速度を示す情報が合成されているのがわかる。また、ここでは、該被写体の移動方向を示す情報も合成されていることがわかる。
これにより、一目瞭然に選択した画像データ間の計測対象として設定した被写体の画像データ間の実移動距離、実移動速度、及び、該被写体の実移動加速度が視認することができる。
【0066】
以上のように、実施の形態においては、連続撮像処理により得られた複数の画像データに対して被写体認識処理を行い、該被写体認識により認識された同一被写体の画像上の位置と該被写体のサイズ情報に基づいて、画像データ間の被写体の実移動距離を算出するようにしたので、該画像データ間に実際に移動した被写体の移動距離を知ることができる。
また、被写体の特徴データと該被写体の実際のサイズ情報とを対応付けた被写体データテーブルを備え、該被写体の特徴データに基づいて被写体認識を行い、該認識された被写体のサイズ情報を該被写体データテーブルから取得するようにしたので、正確に迅速に実際に移動した被写体の実移動距離を算出することができる。
【0067】
また、画像データ間の被写体の移動距離と、該画像データ間の撮像間隔とに基づいて、画像データ間の被写体の実移動速度、実移動加速度を算出するようにしたので、該画像データ間に実際に移動した被写体の速度、加速度を簡単に知ることができる。
また、連続撮像処理により得られた画像データのうち、ユーザが任意に選択された画像データ間の実移動距離、実移動速度、実移動加速度を算出するようにしたので、ユーザが知りたい画像データ間での被写体の実移動距離等を知ることができる。
【0068】
また、実移動距離の算出元なった(ステップS12で選択された)画像データと、算出された実移動距離等を示す情報を合成して表示させるようにしたので、ユーザは簡単に、被写体の実移動距離等を視認することができる。
また、被写体の動きが検出されると、連続撮像処理を開始するようにしたので、早い被写体に対しても対応することができ、該被写体の移動距離等を知ることができる。ユーザのシャッタボタンの押下により連続撮像処理を開始してしまうと、動きが早い被写体の場合には、シャッタボタンが押下されたときには既にCCD5の画角内にいない場合があるからである。
【0069】
[変形例]
上記実施の形態は、以下のような変形例も可能である。
【0070】
(01)また、上記実施の形態においては、ステップS3で被写体の動きが検出されたと判断すると、連続撮像処理を開始するようにしたが、そのまま、動画撮像処理を継続して行なうようにしてもよい。要は所定間隔で連続して被写体を撮像するものであればよい。
なお、動画撮像処理を継続して行なう場合は、ステップS3で被写体の動きが検出されたと判断してから、ステップS5で動きが検出されなくなったと判断されるまでに撮像されたフレーム画像データを記憶し、ステップS6では該記憶したフレーム画像データに対して被写体認識処理を行い、ステップS12で該記憶したフレーム画像データの中から任意の画像データを選択する。
【0071】
(02)また、上記実施の形態においては、ユーザによって選択された画像データ間の計測対象として設定された被写体の実移動距離、実移動速度を算出するようにしたが、連続撮像処理により得られた全ての画像データ間の実移動距離、実移動速度等を算出するようにしてもよい。
なお、この「画像データ間」とは、選択された画像データの中で、撮影順序が連続する画像データ間のことをいうまでのない。
【0072】
(03)また、上記実施の形態においては、連続撮像処理により得られた画像データ(撮像されて記録されていない画像データ)に対して図3のステップS6以降の動作を行なうようにしたが、連続撮像処理により撮像され記録された複数の画像データや動画データを取得し、該取得した複数の画像データや動画データに対して図3のステップS3以降の動作、又は、ステップS6以降の動作を行なうようにしてもよい。
つまり、複数の画像データや動画データをCCD5から取得するのではなく、記録された複数の画像データや動画データを取得するようにする。
【0073】
(04)また、上記実施の形態において、動きを検出している間、連続撮像処理を行うようにしたが、シャッタボタンの押下により連続撮像処理を開始するようにしてもよい。この場合は、ステップS1でスルー画像表示を開始すると、ステップS3に進み、シャッタボタンが押下されたか否かを判断し、シャッタボタンが押下されたと判断すると、ステップS4に進み、連続撮像処理を開始する。また、ステップS5では、シャッタボタンの押下が解除されたか否かを判断し、解除されたと判断するとステップS6に進む。
【0074】
(05)また、上記実施の形態において、連続撮像処理により得られた複数の画像データに対して図3のステップS6以降の動作を行なうようにしたが、単に静止画撮影処理(1回の撮影を行なう処理)を複数回行なうことにより得られた複数の画像データに対してステップS6以降の動作を行なうようにしてもよい。
【0075】
この場合は、ステップS1でスルー画像表示を開始すると、ステップ3に進み、シャッタボタンが押下されたか否かを判断する。そして、シャッタボタンが押下されると、ステップS4で静止画撮影処理を行い、ステップS5で、再び静止画撮影処理を行うか否かを判断する。ステップS5で、再び静止画撮影処理を行うと判断すると、ステップS3に戻りシャッタボタンが押下されたか否かを判断する。一方、ステップS5で再び静止画撮影処理を行わないと判断すると、ステップS6に進む。このように、単体撮影で得られた複数の画像データに対してステップS6以降の動作を行なうようにしてもよい。例えば、撮影者から遠い所で動いている被写体(例えば、空を飛んでいる飛行機等)を撮影する場合には、迅速に連続して被写体を撮影する必要はなく、単体撮影を行なってもすぐに被写体が画角から外れるということはないからである。
【0076】
また、このステップS5の再び撮影を行なうか否かの判断は、ユーザはキー入力部11を操作することによって再び撮影をするか否かを指定することができ、該指定に基づいて判断する。
なお、複数回の静止画撮影処理により撮影され記録された複数の画像データに対してステップS6以降の動作を行なうようにしてもよい。
【0077】
(06)また、上記実施の形態において、連続撮像処理により得られた全ての画像データに対して、被写体認識処理を行なうようにしたが、連続撮像処理により得られた画像データのうち、ユーザによって任意に指定された画像データのみ、被写体認識処理を行うようにしてもよい。つまり、ユーザによって指定された画像データのみステップS6以降の動作を行うようにしてもよい。この場合は、ステップS12での選択をなくしてもよい。これにより、被写体認識処理に伴う処理負担を軽減させることができる。
【0078】
(07)また、上記実施の形態において、図4のステップS20では、合成した画像データを表示させるようにしたが、合成した画像データを記録するようにしてもよい。また、表示と記録を両方行うようにしてもよい。
【0079】
(08)また、上記実施の形態において、図4のステップS19では、ステップS12で選択された画像データと、算出された実移動距離等を示す情報を合成し、ステップS20で該合成された画像データを表示させるようにしたが、図4のステップS19では選択された画像データ(実移動距離の算出元となった画像データ)のみを合成し、ステップS20では該合成された画像データを表示させるとともに、該算出された実移動距離等を示す情報を重ねて表示させるようにしてもよい。これによっても、該画像データ間に実際に移動した被写体の移動距離を知ることができる。このとき、算出した実移動距離、実移動速度、実移動加速を示す情報のうち、少なくとも1つの情報を表示させるようにしてもよい。
【0080】
(09)また、上記実施の形態において、画像データ間の被写体の実移動距離等を示す情報と、実移動距離の算出元となった画像データとを合成して表示させるようにしたが、単に、画像データ間の被写体の実移動距離等を示す情報のみを表示させるようにしてもよい。これによっても被写体の実移動距離等を容易に知ることができる。
このときは、算出した実移動距離、実移動速度、実移動加速度等を全て表示させるようにしてもよいし、実移動距離、実移動速度、実移動加速度を示す情報のうち、少なくとも1つの情報を表示させるようにしてもよい。
【0081】
(10)また、上記実施の形態において、画像データ間の被写体の実移動距離、実移動速度、実移動加速度(実移動加速度を算出した場合のみ)等を示す全ての情報と、実移動距離の算出元となった画像データとを合成するようにしたが、実移動距離の算出元となった画像データと、実移動距離、実移動速度、実移動加速度を示す情報のうち、少なくとも1つの情報とを合成させるようにしてもよい。これによっても、該画像データ間に実際に移動した被写体の移動距離を知ることができる。
【0082】
(11)また、上記実施の形態において、算出された実移動距離、実移動速度等を示す情報を図6に示すような態様となるように合成、表示させたが、他の態様(たとえば、グラフ表示等)で実移動距離、実移動速度を合成、表示させるようにしてもよい。
【0083】
(12)また、上記実施の形態において、選択された画像データのうち、撮影順序が連続する画像データ間の移動距離等を算出するようにしたが、該撮影順序が連続する画像データ間の移動距離等に加え、選択された画像データのうち、一番最初に撮像された画像データと最後に撮像された画像データ間の移動距離等を算出するようにしてもよい。これにより、最終的に計測対象として設定された被写体のトータルの実移動距離、平均の実移動速度がわかるからである。
【0084】
(13)また、上記変形例(01)乃至(12)を任意に組み合わせた態様であってもよい。
【0085】
(14)また、本発明の上記実施形態及び各変形例は、何れも最良の実施形態としての単なる例に過ぎず、本発明の原理や構造等をより良く理解することができるようにするために述べられたものであって、添付の特許請求の範囲を限定する趣旨のものでない。
したがって、本発明の上記実施形態に対してなされ得る多種多様な変形ないし修正はすべて本発明の範囲内に含まれるものであり、添付の特許請求の範囲によって保護されるものと解さなければならない。
【0086】
最後に、上記各実施の形態においては、本発明の演算装置をデジタルカメラ1に適用した場合について説明したが、上記の実施の形態に限定されるものではなく、要は、画像データに基づいて所定の演算をすることができる機器であれば適用可能である。
【図面の簡単な説明】
【0087】
【図1】本発明の実施の形態のデジタルカメラのブロック図である。
【図2】被写体データテーブルの様子の一例を示す図である。
【図3】実施の形態のデジタルカメラの動作を示すフローチャートである。
【図4】実施の形態のデジタルカメラの動作を示すフローチャートである。
【図5】連続撮像処理により撮像された画像データの様子を示す図である。
【図6】合成され表示された画像データの様子の一例を示す図である。
【符号の説明】
【0088】
1 デジタルカメラ
2 撮影レンズ
3 レンズ駆動ブロック
4 絞り兼用シャッタ
5 CCD
6 垂直ドライバ
7 TG
8 ユニット回路
9 DMA
10 CPU
11 キー入力部
12 メモリ
13 DRAM
14 DMA
15 動きベクトル検出部
16 DMA
17 画像生成部
18 DMA
19 DMA
20 表示部
21 DMA
22 圧縮伸張部
23 DMA
24 フラッシュメモリ
25 バス


【特許請求の範囲】
【請求項1】
少なくとも2枚の画像データを取得する画像取得手段と、
前記画像取得手段により得られた画像データに対して被写体認識を行う被写体認識手段と、
前記被写体認識手段により認識された、前記2枚以上の画像データにおける被写体の位置、及び、該被写体の実際のサイズ情報に基づいて、前記画像取得手段により取得された画像データ間における該被写体の実際の移動距離を算出する第1の演算手段と、
を備えたことを特徴とする演算装置。
【請求項2】
被写体の特徴データと、該被写体の実際のサイズ情報とを対応付けて登録する登録手段を備え、
前記被写体認識手段は、
前記登録手段により登録された被写体の特徴データに基づいて、被写体認識を行い、
前記第1の演算手段は、
前記被写体認手段により認識された被写体に対応する前記登録手段により登録された実際のサイズ情報を用いることを特徴とする請求項1記載の演算装置。
【請求項3】
前記第1の演算手段により算出された画像データ間の被写体の移動距離と、該画像データ間の撮像時間間隔とに基づいて、該画像データ間における被写体の移動速度を算出する第2の演算手段を備えたことを特徴とする請求項1又は2記載の演算装置。
【請求項4】
前記画像取得手段は、少なくとも3枚の画像データを取得し、
前記第1の演算手段により算出された画像データ間の被写体の移動距離と、該画像データ間の撮像時間間隔とに基づいて、該被写体の移動加速度を算出する第3の演算手段を備えたことを特徴とする請求項1乃至3の何れかに記載の演算装置。
【請求項5】
前記画像取得手段により取得された画像データのうち、ユーザによって任意に指定された画像データを選択する選択手段を備え、
前記第1の演算手段、前記第2の演算手段、前記第3の演算手段は、
前記選択手段により選択された画像データ間における該被写体の実際の移動距離、移動速度、移動加速度を算出することを特徴とする請求項1乃至4の何れかに記載の演算装置。
【請求項6】
前記画像取得手段は、
連続して所定時間間隔で撮像された画像データを取得することを特徴とする請求項1乃至5の何れかに記載の演算装置。
【請求項7】
前記画像取得手段は、
ユーザによって任意に指定された画像データを取得することを特徴とする請求項1乃至4の何れかに記載の演算装置。
【請求項8】
前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報を表示させる表示制御手段を備えたことを特徴とする請求項1乃至7の何れかに記載の演算装置。
【請求項9】
前記第1の演算手段による移動距離の算出元となった画像データを合成する合成手段を備え、
前記表示制御手段は、
前記合成手段により合成された合成画像データを表示させるとともに、前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報を重ねて表示させることを特徴とする請求項8記載の演算装置。
【請求項10】
前記第1の演算手段により算出された被写体の移動距離の情報、前記第2の演算手段により算出された該被写体の移動速度の情報、前記第3の演算手段により算出された被写体の移動加速度の情報のうち、少なくとも1つの情報と、該第1の演算手段による移動距離の算出元となった画像データを合成する合成手段を備えたことを特徴とする請求項1乃至8の何れかに記載の演算装置。
【請求項11】
コンピュータを、
少なくとも2枚の画像データを取得する画像取得手段、
前記画像取得手段により得られた画像データに対して被写体認識を行う被写体認識手段、
前記被写体認識手段により認識された、前記2枚以上の画像データにおける被写体の位置、及び、該被写体の実際のサイズ情報に基づいて、前記画像取得手段により取得された画像データ間における該被写体の実際の移動距離を算出する第1の演算手段、
として機能させることを特徴とするプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2009−98850(P2009−98850A)
【公開日】平成21年5月7日(2009.5.7)
【国際特許分類】
【出願番号】特願2007−268895(P2007−268895)
【出願日】平成19年10月16日(2007.10.16)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】