以下、本発明の一実施の形態を図にしたがって説明する。なお、本明細書においては、動画とは連写を含む概念である。
(第1の実施の形態)
図1は、本発明の各実施の形態に共通するデジタルカメラ1の回路構成を示すブロック図であり、静止画撮影機能と動画撮影機能とを備える。このデジタルカメラ1は、CCD2とDSP/CPU3とを備えており、CCD2は、感光部にベイヤー配列の原色フィルターが設けられたものである。DSP/CPU3は、画像データの圧縮・伸張処理を含む各種のデジタル信号処理機能を有するとともにデジタルカメラ1の各部を制御するワンチップマイコンである。
DSP/CPU3には、CCD2を所定のフレームレートで駆動するTG(Timing Generator)4が接続されており、TG4には、CCD2から出力される被写体の光学像に応じたアナログの撮像信号が入力するユニット回路5が接続されている。ユニット回路5は、CCD2から出力された撮像信号に含まれるCCD2の駆動ノイズを減少させる相関二重サンプリング回路(CDS回路)と、ノイズ低減後における信号のゲインを調整する自動利得制御回路(AGC回路)、ゲイン調整後の信号をデジタル信号に変換するA/D変換器を含み、CCD2から入力したアナログの撮像信号をデジタルの画像信号に変換し、デジタル化したベイヤーデータをDSP/CPU3に送る。
DSP/CPU3には、表示装置6、キー入力部7が接続されるとともに、アドレス・データバス10を介してバッファメモリ(DRAM)11、ROM12、保存メモリ13、及び入出力インターフェース14が接続されている。バッファメモリ11は、前記ベイヤーデータ等を一時保存するバッファであるとともに、DSP/CPU3のワーキングメモリ等としても使用される。
すなわち、DSP/CPU3は、ユニット回路5から送られてきた前記ベイヤーデータに、ペデスタルクランプ等の処理を施した後、RGBデータに変換し、更にRGBデータを輝度(Y)信号及び色差(UV)信号に変換する。このDSP/CPU3で変換されたYUVデータは、1フレーム分のデータがバッファメモリ11に格納される。バッファメモリ11に格納された1フレーム分のYUVデータは表示装置6へ送られ、そこでビデオ信号に変換された後、スルー画像として表示される。
また、静止画撮影モードにおいて使用者によるシャッターキー操作が検出されると、CCD2及びユニット回路5をスルー画像撮像時とは異なる静止画撮影用の駆動方式や駆動タイミングに切り替えることにより静止画撮影処理を実行し、この静止画撮影処理によりバッファメモリ11に格納された1フレーム分のYUVデータは、DSP/CPU3でJPEG方式等によるデータ圧縮後コード化され、バッファメモリ11内でファイル化された後、アドレス・データバス10を介して保存メモリ13に静止画データ(静止画ファイル)として記録される。
また、動画モードにおいて使用者による録画開始キーの操作等により、記録開始トリガーが検出されると、録画処理を開始し、録画終了キーの操作等による終了トリガーが検出されるまでの複数フレーム分のYUVデータをバッファメモリ11に格納する。
このバッファメモリ11に格納された複数フレーム分のYUVデータは順次DSP/CPU3へ送られ、JPEG方式等(動画撮影の場合は所定のMPEGのコーデック)によりデータ圧縮後コード化されて、バッファメモリ11及びアドレス・データバス10を介して動画データとしてファイル名を付されて保存メモリ13に書き込まれる。
また、DSP/CPU3は、静止画又は動画の再生時には保存メモリ13から読み出された静止画や動画のデータを伸張し、静止画データや動画像のフレームデータとしてバッファメモリ11の画像データ作業領域に展開する。
表示装置6は、カラーLCDとその駆動回路とを含み、撮影待機状態にあるときにはCCD2によって撮像された被写体画像をスルー画像として表示し、記録画像の再生時には保存メモリ13から読み出されて伸張された記録画像を表示する。キー入力部7は、シャッターキー、モード設定キー、録画開始キーと録画終了キー、プロテクトキー、メニューキー、電源キー等の複数の操作キーを含み、使用者によるキー操作に応じたキー入力信号をDSP/CPU3に出力する。なお、シャッターキーは動画撮影モード時には動画開始/終了ボタンとしても機能する。
また、ROM12には静止画撮影時、動画撮影時、スルー画像撮影時等の各撮影時における適正な露出値(EV)に対応する絞り値(F)とシャッタースピードとの組み合わせを示すプログラム線図を構成するプログラムAEデータや、EV値表も格納されている。そして、DSP/CPU3がプログラム線図により設定されるシャッタースピードに基づき設定した電荷蓄積時間はシャッターパルスとして、TG4を介してCCD2に供給され、これに従いCCD2が動作することにより電荷蓄積時間すなわち露光時間が制御される。つまりCCD2は電子シャッターとして機能する。さらに、ROM12には、後述するフローチャートに示すプログラム及びデジタルカメラとして機能するに必要な各種プログラムが格納されている。
更にDSP/CPU3には、入出力インターフェース14、衝撃センサ15、結合ファイルメモリ16が接続されている。したがって、このデジタルカメラ1は、入出力インターフェース14を介してプリンタやパソコンやTV受像機等の外部機器に接続することが可能である。衝撃センサ15は、車両に所定以上の衝撃が発生した場合にONとなって、エアバッグシステムを動作させるものであり、この衝撃センサ15からの衝撃ON信号がDSP/CPU3に入力される。結合ファイルメモリ16は、後述する処理により保存メモリ13に記録される分割ファイルを結合させて単一の結合ファイルを作成した際に、ここの結合ファイルを記録するメモリである。
次に、以上の構成に係る本実施の形態の動作について、図2(A)に示すフローチャートに従って説明する。前記キー入力部7に設けられている録画開始キーが操作されると、DSP/CPU3はTG4を制御してCCD2を例えば録画フレームレート30fpsで駆動する動画撮影を開始するとともに、前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSA1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSA2)。
次に、キー入力部7での録画終了操作や所定条件の発生に基づく記録終了指示等による記録終了トリガーが発生したか否かを判断する(ステップSA3)。記録終了トリガーが発生していない場合には一定時間(本実施の形態及び後述する各実施の形態においては10分)が経過したか否かを判断し(ステップSA4)、一定時間が経過していない場合にはステップSA2に戻る。したがって、記録終了トリガーが発生するか、一定時間が経過するまでステップSA2→SA3→SA4→SA2のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSA4の判断がYESとなる。したがって、ステップSA4からステップSA5に進んでファイル作成処理を実行する。このとき、バッファメモリ11のステップSA1で確保した記憶領域には、精度よく一定時間分(10分)のフレーム画像データが蓄積されている。よって、このファイル作成処理(ステップSA5)においては、前記一定時間内にバッファメモリ11に記憶されたフレーム画像データ群を圧縮してファイル化する。引き続き、記録処理を実行して、ステップSA5において作成したファイル(以下、分割ファイルともいう。)を保存メモリ13に記録する(ステップSA6)。
図2(B)は、前記記録処理(ステップSA6)の詳細を示すフローチャートである。先ず、保存メモリ13において、前記一定時間分のフレーム画像データを1ファイルにした分割ファイルを記録させ得る領域が残存しているか否かを判断する(ステップS1)。つまり、本実施の形態においては録画フレームレートが一定であり、かつ、録画時間も一定であることから、ファイル作成時の圧縮率等を考慮することにより、今回の録画分をファイル化して保存メモリ13に保存する際に必要な容量を容易に算出することができる。また、保存メモリ13の残存容量も容易に検出することができることから、必要容量と残存容量とを比較することにより、保存メモリ13において新規ファイルを記録可能であるか否かを判断することができる。
そして、保存メモリ13に新規ファイルを記録可能な容量が残存しているならば(ステップS1;YES)、新規ファイル処理を実行する(ステップS2)。つまり、前記ファイル作成処理(ステップSA4)により作成された分割ファイルに、ファイル名を付して保存メモリ13の空き領域に記録する。したがって、図3(A)に示すように、バッファメモリ11に動画ファイルCIMG0001.AVI〜CIMG0025.AVIが記憶されている状態において、ステップS1の判断がYESとなった場合には、図3(B)に示すように、保存メモリ13の空き領域に新たなCIMG0026.AVIの動画ファイルが記録されることとなる。
しかし、図3(B)に示すように、保存メモリ13の空き領域にCIMG0026.AVIの動画ファイルが記録されることにより、新たな分割ファイルを保存メモリ13に記録することが不可能となった場合には、ステップS1の判断がNOとなる。よって、この場合にはステップS1からS3に進み、上書きファイル処理を実行する。つまり、図3(C)に示すように、保存メモリ13において最も古い分割ファイルであるCIMG0001.AVIを削除して今回作成した分割ファイルを上書きする。
なお、分割ファイルのファイル名はシリアルな値を用い、したがって、最も古い分割ファイルであるCIMG0001.AVIを削除して今回作成した分割ファイルを上書きする際のファイル名は、CIMG0027.AVIとする。そして、ステップS2又はステップS3の処理を実行したならば、ステップSA1に戻る。
したがって、ステップSA3で記録終了トリガーが検出されるまでステップSA1〜SA6→ステップSA1のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、記録終了トリガーが検出されると、ステップSA3での判断がYESとなり、ステップSA3からステップSA7に進む。このステップSA7では、録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSA8)。さらに、前記ステップSA10で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSA9)。
したがって、本実施の形態によれば、保存メモリ13に記録されている複数の分割ファイルは、全て一定時間分(10分)である。よって、録画中に不意の事象が発生した場合、当該事象が発生した時点から所定時間前後の画像がいずれの分割ファイルに記録されているかを容易に検索することができる。また、保存メモリ13のに記録されている複数の分割ファイル時間に基づいて管理することも容易となる。よって、保存メモリ13に記録されている複数の分割ファイルを時間に基づいて管理したり検索することにより、前記事象の原因を解明する際に迅速にファイルを検索して、早期に原因を解明することが可能となる。
なお、本実施の形態においては、分割ファイルを保存メモリ13に記録する直前に、保存メモリ13において、新規ファイルを記録させ得る領域が残存しているか否かを判断するようにした(ステップS1)。しかし、図4(A)に示すように、新規ファイル「temp0001.AVI」を記録直後に、次の新規ファイルを記録させ得る領域が残存しているか否かを判断し、残存していない場合には、図4(B)に示すように、一番古いファイルCIMG0001.AVIを削除し、しかる後に図4(C)に示すように、「temp0001.AVI」を「CIMG0001.AVI」にリネームするようにしてもよい。
このように処理すれば、新規ファイルを記録する際には、必ず保存メモリ13に空き容量が存在することとなり、確実な新規ファイルを記録が可能となる。
また、本実施の形態においては、前回の録画停止までに保存メモリ13に記録されている分割ファイルを消去することなく、ステップSA1からの処理を開始するようにしたが、ステップSA1の処理を開始する直前に保存メモリ13に記録されている全分割ファイル及びディレクトリを消去する全ファイル消去処理を実行するようにしてもよい。これにより、不要な分割ファイルの消し忘れを防止することができる。
また、本実施の形態においては、図5(A)に示すように、一定時間である10分単位で複数(図示では6ファイル)の分割ファイルa〜fを順次記録し、新規分割ファイルの記録が不可能となった場合には、その時点で最も古い分割ファイルaを削除して新たな分割ファイルを記録するようにした。しかし、図5(B)に示すように、新規分割ファイルの記録が不可能となった場合には、最も古いファイルaは残存させて、次に古い分割ファイルbから順次削除と記録を行うようにしてもよい。このように、録画開始時点であって最も古い分割ファイルaを残存させれば、後述するように分割ファイルを時系列で結合させ、これを再生した際に録画を開始した時点からの変化を確認することが容易となる。
また、図5(C)に示すように、新規分割ファイルの記録が不可能となった場合には、各分割ファイルa〜fから、最初の2分だけ残すファイル分割を行い、残りを削除して新規分割ファイルの記録を行うようにしてもよい。これにより、間欠的にではあるが録画時間における全域の画像を記録することができる。なお、この場合、2分のファイルが5個となった時点で、これらを結合して1ファイルにすれば、この結合したファイルも他の分割ファイルと同様に10分単位にすることができる。
なお、図5(C)においては、新規分割ファイルの記録が不可能となった場合には、各分割ファイルa〜fから、最初の2分だけ残すファイル分割を行うようにしたが、図5(D)に示すように、間引き技術を用いてファイル分割を行うようにしてもよい。
すなわち、新規分割ファイルの記録が不可能となった場合には、図5(D)の(1)に示す各々10分間分の分割ファイルa〜fから、フレーム画像データを例えば80%の比率で均等に間引きして削除し、20%の比率のフレーム画像データa′〜f′を残存させる。そして、これら各分割ファイルa〜fにおいて残存させた20%分のフレーム画像データa′〜f′を結合して、(2)に示す10分間分となる新規式分割ファイルxを生成する。これにより、50分間分の記憶可能領域が形成される。
次に、(3)に示すように、この形成された50分間分の記憶可能領域に、新規分割ファイルg〜kを記憶させ、新規分割ファイルの記録が不可能となった場合には、(4)に示す各々10分間分の分割ファイルx、g〜kから、フレーム画像データを例えば80%の比率で均等に間引きして削除し、20%の比率のフレーム画像データx′、g′〜k′を残存させる。そして、これら各分割ファイルx′、g′〜k′において残存させた20%分のフレーム画像データx′、g′〜k′を結合して、(2)に示す10分間分となる新規式分割ファイルxを生成する。以降(2)→(3)→(4)→(2)のループを繰り返す。
ここで、古い分割ファイルa〜fに着目すると、これら分割ファイルa〜fは、(1)の1回目の間引きによりより20%のフレーム画像データa′〜f′が新規分割ファイルx内に残存し、(4)の2回目の間引きにより更にその20%である4%がフレーム画像データa″〜f″が新規分割ファイルx′内に残存することとなる。
したがって、少ないフレーム数ではあるが最も古いファイルのフレーム画像を含んだ状態で、現時点までのフレーム画像を残存させることができる
また、新規分割ファイルxは、前述のように々10分間分の分割ファイルx、g〜kから、フレーム画像データを例えば80%の比率で均等に間引きして削除し、20%の比率のフレーム画像データx′、g′〜k′を残存させたものであるから、これを撮影フレームレートと同一のフレームレートで再生した場合には、5倍速再生となる。また、新規分割ファイルx′を撮影フレームレートと同一のフレームレートで再生した場合には、25倍速再生となる。
したがって、重要度が比較的低い古いフレーム画像に関しては、これを古さに応じた速度でクイック再生することが可能となる。
なお、以上の説明において用いた間引き率80%はあくまでも一例であって、間引き率は如何なる値であってもよい。また、各ファイルにおける間引き率も同一である必要はなく、ファイルの古い順に間引き率を高めたたり、逆に間引き率を低めるようにしてもよい。
図6は、本実施の形態における記録終了後の処理手順を示すフローチャートである。ユーザによるキー入力部7での操作により、ファイル結合を行う指示があったか否かを判断する(ステップSB1)。ファイル結合を行う指示がない場合には、前述したスルー画像の表示を継続する(ステップSB2)。また、ファイル結合を行う指示があった場合には、保存メモリ13に記録されているファイルを順次バッファメモリ11に読み込んで、バッファメモリ11内にて、読み込んだファイルを結合させる(ステップSB3)。このとき、保存メモリ13に記録されている各ファイルは前述のようにシリアルなファイル名が付されていることから、ファイル名を参照することにより、古い順にバッファメモリ11に読み込むことができる。
また、ステップSB3でバッファメモリ11に読み込んだ分割ファイルを保存メモリ13から削除する(ステップSB4)。次に、全分割ファイルを結合させたか否かを判断し(ステップSB5)、全分割ファイルの結合が完了するまで、ステップSB3→SB4→SB5→SB3のループを繰り返す。したがって、このループが繰り返し実行されることにより、保存メモリ13からバッファメモリ11への分割ファイルの読み込みと、バッファメモリ11内のでの分割ファイルの結合、及びバッファメモリ11に読み込んだ分割ファイルを保存メモリ13から削除する処理とが繰り返される。
したがって、バッファメモリ11内での全分割ファイルの結合が完了してステップSB5の判断がYESになると、保存メモリ13内の分割ファイルは全て削除されて空き状態となる一方、バッファメモリ11内に全分割ファイルのフレーム画像データを時系列に結合させた結合ファイルが生成される。よって、この結合ファイルを空き状態となっている保存メモリ13に記録する(ステップSB7)。これにより、各分割ファイルのフレーム画像データが時系列で結合された単一のファイルを生成して、保存することができる。しかる後に、スルー画像表示状態に移行する(ステップSB7)。
なお、本実施の形態においては、バッファメモリ11内にて結合ファイルを生成するとともに、保存メモリ13内の分割ファイルを削除するようにしたが、保存メモリ13内の分割ファイルを削除することなく、保存メモリ13内にての処理により各分割ファイルを結合して、単一のファイルを生成するようにしてもよい。
また、分割ファイルに用いるファイル名はシリアルな値に限ることなく、タイムスタンプ等の各分割ファイルの時系列を認識できるものであれば、如何なるファイル名であってもよい。
(第2の実施の形態)
図7は、本発明の第2の実施の形態における記録時の処理手順を示すフローチャートである。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSC1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSC2)。
次に、キー入力部7でのユーザによるプロテクトキーの操作入力があったか否かを判断し(ステップSC3)、プロテクトキーの操作入力があった場合にはプロテクトフラグをONにする(ステップSC4)。さらに、記録終了トリガーが発生したか否かを判断する(ステップSC5)。記録終了トリガーが発生していない場合には一定時間(10分)が経過したか否かを判断し(ステップSC6)、一定時間が経過していない場合にはステップSC2に戻る。したがって、記録終了トリガーが発生するか、一定時間が経過するまでステップSC2→SC3→SC4→SC5→SC6→SC2のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSC6の判断がYESとなる。したがって、ステップSC6からステップSC7に進み前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSC7で作成した分割ファイルを保存メモリ13に記録する(ステップSC8)。
このとき、本実施の形態における図2(B)のステップS3での上書き処理に際しては、前述した第1の実施の形態とは異なり、プロテクト処理されている分割ファイルを除いて最も古いファイルを削除して今回作成したファイルを上書きする。なお、第1の実施の形態と同様に、保存メモリ13において単に最も古いファイルを削除して今回作成したファイルを上書きしてもよい。
次に、プロテクトフラグがONとなっているか否かを判断し(ステップSC9)、ONとなっている場合には、前記記録処理(ステップSC8)により保存メモリ13に今回記録した分割ファイルをプロテクト処理する(ステップSC10)。引き続き、プロテクトフラグをOFFにして(ステップSC11)、ステップSC1に戻る。
したがって、ステップSC3で記録終了トリガーが検出されるまでステップSC1〜SC11→ステップSC1のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録され、また、プロテクトフラグがONであった場合には、記録された分割ファイルがプロテクト処理される。
そして、記録終了トリガーが検出されると、ステップSC3での判断がYESとなり、ステップSC3からステップSC12に進む。このステップSC12では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSC13)。さらに、前記ステップSC10で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSC14)。
したがって、本実施の形態によれば、第1の実施の形態と同様に、保存メモリ13に記録されている複数のファイルを時間に基づいて管理したり検索することができるばかりでなく、ユーザがプロテクトキーを操作した時点の分割ファイルをプロテクトして記録することができる。
図8は、本実施の形態における記録終了後の処理手順を示すフローチャートである。ユーザによるキー入力部7での操作により、ファイル結合を行う指示があったか否かを判断する(ステップSD1)。ファイル結合を行う指示がない場合には、前述したスルー画像の表示を継続する(ステップSD2)。また、ファイル結合を行う指示があった場合には、保存メモリ13に記録されている分割ファイルを順次バッファメモリ11に読み込んで、バッファメモリ11内にて、読み込んだ分割ファイルを結合させる(ステップSD3)。
次に、ユーザによるキー入力部7での操作により、プロテクトされている分割ファイルの削除も行う指示が予めなされていたか否かを判断する(ステップSD4)。プロテクトされている分割ファイルの削除も行う指示が予めなされている場合には(ステップSD4;YES)、ステップSD3でバッファメモリ11に読み込んだ分割ファイルを即時に保存メモリ13から削除する(ステップSD5)。
また、プロテクトされている分割ファイルの削除も行う指示が予めなされおらず、ユーザがプロテクトされている分割ファイルを残す意思であるならば、ステップSD3でバッファメモリ11に読み込んだ分割ファイルがプロテクトファイルであるか否かを判断する(ステップSD6)。プロテクトファイルでない場合には、前記ステップSD5に進んで、ステップSD3でバッファメモリ11に読み込んだ分割ファイルを保存メモリ13から削除する。しかし、プロテクトファイルである場合には、ステップSD5の処理を実行することなくステップSD7に進む。
したがって、ファイル結合時においてプロテクトファイルを削除することなく、保存メモリ13に残存させることができる。
そして、ステップSD5又はステップSD6に続くステップSD7では、全分割ファイルを結合させたか否かを判断し、全分割ファイルの結合が完了するまで、ステップSD3〜SD7→SD3のループを繰り返す。したがって、このループが繰り返し実行されることにより、保存メモリ13からバッファメモリ11への分割ファイルの読み込みと、バッファメモリ11内のでの分割ファイルの結合と繰り返される。また、プロテクトされている分割ファイルの削除も行う指示が予めなされたか否かにより、バッファメモリ11に読み込んだ分割ファイルを保存メモリ13から削除する処理、又はプロテクトファイルを除く分割ファイルの削除が繰り返される。
したがって、バッファメモリ11内での全分割ファイルの結合が完了してステップSD7の判断がYESになると、保存メモリ13内の分割ファイルは全て削除されて空き状態となる場合、プロテクトファイルが残存する場合とが生じ、また、バッファメモリ11内に全分割ファイルのフレーム画像データを時系列に結合させた結合ファイルが生成される。よって、この結合ファイルを結合ファイルメモリ16に記録して(ステップSD8)、スルー画像表示状態に移行する(ステップSD9)。
したがって、本実施の形態によれば、各分割ファイルのフレーム画像データが時系列で結合された単一のファイルを生成して保存することができるとともに、プロテクトファイルを残存させることができる。
なお、本実施の形態においては、全ての分割ファイルを結合させるようにしたが、プロテクトファイルのみを結合させる場合については後述する。
また、本実施の形態においては、全ての分割ファイルを単に結合させるようにしたが、プロテクトファイル以外のファイルのフレーム画像は、ビットレートや画像サイズを低下させる再エンコードを行い、この再エンコードされたファイルを結合させるようにしてもよい。これにより、重要なプロテクトファイルに対応するフレーム画像に関しては、記録時のビットレートや画像サイズで結合される一方、重要度の低いプロテクトファイル以外のファイルに対応するフレーム画像に関しては、記録時よりもビットレートや画像サイズで結合される。これにより、重要度の高いフレーム画像に関しては鮮明な再生を可能にしつつ、結合ファイルの容量を小さくすることができる。
(第3の実施の形態)
図9は、本発明の第3の実施の形態における処理手順を示すフローチャートである。ユーザにより、キー入力部7にてメニューキーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、表示装置6に動画録画時間の変更選択画面を表示する(ステップSE1)。この動画録画時間の変更選択画面には、「希望時間」と「希望記録フレームレート」の選択肢が含まれている。この選択肢「希望時間」と「希望記録フレームレート」からユーザが「希望時間」を選択すると、ステップSE2の判断がYESとなる。したがって、ステップSE2からステップSE3に進み、保存メモリ13の容量と、複数種のフレームレートとに基づき、複数種の録画可能時間を算出し、この算出した複数種の録画可能時間を表示装置6に表示する(ステップSE3)。この表示された複数種の録画可能時間からいずれかが選択されると、ステップSE4の判断がYESとなる。したがって、ステップSE4からステップSE8に進み、録画時のフレームレートを選択された録画可能時間に対応するフレームレートに更新する。
また、ステップSE2又はステップSE4に続くステップSE5では、前記選択肢「希望時間」と「希望記録フレームレート」から「希望記録フレームレート」が選択されたか否かを判断する。「希望記録フレームレート」が選択された場合には、保存メモリ13の容量と、複数種の録画可能時間とに基づき、複数種のフレームレートを算出し、この算出した複数種のフレームレートを表示装置6に表示する(ステップSE6)。この表示された複数種のフレームレートからいずれかが選択されると、ステップSE7の判断がYESとなる。したがって、ステップSE7からステップSE8に進み、録画時のフレームレートを選択された録画可能時間に対応するフレームレートに更新する。
このようにして、フレームレートを更新したならば、前述した第1の実施の形態における図2のフローチャート、及び第2の実施の形態における図7フローチャートの記録処理において、前記更新されたフレームレートで録画を行う。
したがって、本実施の形態によれば、限られた記憶容量からなる保存メモリ13において、録画時間を優先して動画記録を行うか、フレームレートを優先して動画記録を行うかを任意に選択することができる。その結果、限られた記憶容量の中で目的や用途等に応じた適切な動画記録が可能となる。
(第4の実施の形態)
図10は、本発明の第4の実施の形態における処理手順を示すフローチャートである。ユーザが、キー入力部7にての操作により、監視動画記録モードを設定すると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、先ず動態を検出する(ステップSF1)。この動態の検出に際しては、CCD2から所定のフレームレートで順次取り込まれるフレーム画像を比較し、その相違点と一致点とを検出することにより、相違点に基づき動態を決定する。このようにして、動態を検出したならば、検出した動態画像をバッファメモリ11の所定領域に記憶する(ステップSF2)。
次に、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSF3)。引き続き、記録終了トリガーが発生したか否かを判断する(ステップSF4)。記録終了トリガーが発生していない場合には、他の動態を検出したか否かを判断する(ステップSF5)。つまり、ステップSF1で記憶した動態は、定常的な動態であり、この定常的な動態は無視して、これ以外の動態が検出されたか否かを判断する。そして、記録終了トリガーが発生するか、他の動態が検出されるまでステップSF4→SF5→SF4のループを繰り返して待機する。
このループでの待機中に他の動態が検出されてステップSF5の判断がYESになると、動画記録開始処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データの記録を開始する(ステップSF6)。また、バッファメモリ11に確保した記憶領域に、合計で一定時間分(10分間分)の記録がなされたか否かを判断する(ステップSF7)。合計で一定時間分の記録がなされていない場合には、前記他の動態が検出が継続しているか否かを判断する(ステップSF8)。他の動態が検出が終了するか、合計で一定時間分の記録がなされるまでステップSF7→SF8→SF7のループを繰り返し、前記フレーム画像データの記憶を継続する。
そして、他の動態が検出がなくなり、ステップSF8の判断がNOになると、ステップSF8からステップSF9に進んで動画記録終了処理を実行し、バッファメモリ11へのフレーム画像データの書き込みを停止して、ステップSF4に戻る。したがって、本実施の形態においては、他の動態が検出されていない状態では録画処理が停止され、検出されている状態においてのみ、バッファメモリ11へのフレーム画像データの書き込みが行われる。したがって、バッファメモリ11には、他の動態が検出されている状態のみのフレーム画像データを記憶することができる。
そして、この他の動態が検出されている状態のフレーム画像データの合計記録時間が一定時間分に到達すると、ステップSF7の判断がYESとなる。したがって、ステップSF7からステップSF10に進み前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSF10で作成した分割ファイルを保存メモリ13に記録し(ステップSF11)、ステップSF3に戻る。
他方、記録終了トリガーが検出されると、ステップSF4での判断がYESとなり、ステップSF4からステップSF12に進む。このステップSF12では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSF13)。さらに、前記ステップSF10で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSF14)。
したがって、本実施の形態においても、第1及び第2の実施の形態と同様に、保存メモリ13に記録されている複数のファイルは全て一定時間であることから、時間に基づいて管理したり検索することができる。
更に、本実施の形態においては、動態が検出されている状態においてのみ記録がされることから、効率的な監視動画記録が可能となる。
(第5の実施の形態)
図11、12は、本発明の第5の実施を示す図である。本実施の形態においてバッファメモリ11には、図11に示すように、リングバッファ111とファイルバッファ112とが設けられる。リングバッファ111は、最も古いフレーム画像データを消去しつつ順次新しいフレーム画像データを記録することにより、数秒間分例えば30秒間分のフレーム画像データを循環記憶するバッファである。また、ファイルバッファ112は、後述するファイルオープン処理により確保され一定時間(10分)分のフレーム画像データを記憶する記憶領域である。
図12は、本実施の形態における処理手順を示すフローチャートである。ユーザが、キー入力部7にての操作により、分割動画記録モードを選択すると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、リングバッファ111への循環記憶を開始し(ステップSG1)、これによりリングバッファ111には、現時点から常時30秒過去までのフレーム画像データが順次更新されつつ記憶されていく。次に、記録開始トリガーが発生したか否かを判断し(ステップSG2)、記録開始トリガーが発生したならば、ファイルオープン処理を実行して、バッファメモリ11に前記フレームレートでの撮影での一定記録時間分の記憶領域である前記ファイルバッファ112を確保する(ステップSG3)。引き続き、指定時間前のデータ録画処理を実行して、前記記録開始トリガーが発生した時点から指定時間前、例えば15秒前のフレーム画像データをリングバッファ111から読み出し、この読み出した15秒前のフレーム画像データをファイルバッファ112にコピーする(ステップSG4)。
次に、録画処理を実行して、バッファメモリ11のファイルバッファ112に前記コピーした記憶領域に続く記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSG2)。また、記録終了トリガーが発生したか否かを判断する(ステップSG6)。記録終了トリガーが発生していない場合には一定時間が経過したか否かを判断する(ステップSG7)。ここで、一定時間とは、前述した各実施の形態とは異なり、分割ファイルの記録時間である10分から前記ステップSG4でコピーした過去の時間15秒を差し引いた時間、つまり本実施の形態においては9分45秒である。そして、この一定時間(9分45秒)が経過していない場合にはステップSG5に戻る。したがって、記録終了トリガーが発生するか、一定時間が経過するまでステップSG5→SG6→SG7→SG5のループが繰り返され、バッファメモリ11には順次新たなフレーム画像データが記憶されていく。
そして、録画開始から一定時間(9分45秒)が経過すると、ステップSG7の判断がYESとなる。したがって、ステップSG7からステップSG8に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSG8で作成した分割ファイルを保存メモリ13に記録する(ステップSG9)。
したがって、本実施の形態においては、このファイルバッファ112への新たなフレーム画像データの記録を開始した時点よりも、15秒間過去のフレーム画像データと、この15秒間過去のフレーム画像データからである9分45秒間が経過した時点までのフレーム画像データとからなる合計10分の分割ファイルが保存メモリ13に記録される。
また、ステップSG3で記録終了トリガーが検出されるまでステップSG3〜SG9のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、記録終了トリガーが検出されると、ステップSG6での判断がYESとなり、ステップSG6からステップSG10に進む。このステップSG10では、リングバッファ111への循環記憶を停止するとともに、録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSG11)。さらに、前記ステップSG10で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSG12)。
したがって、本実施の形態によれば、保存メモリ13に記録されている複数のファイルは、ファイルバッファ112への書き込み時点から過去15秒間のフレーム画像データを含んで、全て一定時間分(10分)である。よって、録画中に不意の事象が発生した場合、当該事象が発生した時点から所定時間前後の画像がいずれのファイルに記録されているかを容易に検索することができる。また、保存メモリ13のに記録されている複数のファイルを時間に基づいて管理することも容易となる。よって、保存メモリ13に記録されている複数のファイルを時間に基づいて管理したり検索することにより、前記事象の原因を解明する際に迅速にファイルを検索して、早期に原因を解明することが可能となる。
(第6の実施の形態)
図13は、本発明の第6の実施の形態における処理手順を示すフローチャートである。ユーザが、キー入力部7にての操作により、監視動画記録モードを設定すると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、先ず動態を検出する(ステップSH1)。この動態の検出に際しては、CCD2から所定のフレームレートで順次取り込まれるフレーム画像を比較し、その相違点と一致点とを検出することにより、相違点に基づき動態を決定する。このようにして、動態を検出したならば、検出した動態画像をバッファメモリ11の所定領域に記憶する(ステップSH2)。
次に、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSH3)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSH4)。また、一定時間(10分)が経過したか否かを判断し(ステップSH5)、一定時間が経過していない場合には、他の動態を検出したか否かを判断する(ステップSH6)。つまり、ステップSH1で記憶した動態は、定常的な動態であり、この定常的な動態は無視して、これ以外の動態が検出されたか否かを判断する。動態が検出されなかった場合には、記録終了トリガーが発生したか否かを判断し(ステップSH7)、記録終了トリガーが発生していない場合にはステップSH4に戻る。
したがって一定時間経過前においては、動態が検出されるか、記録終了トリガー発生するまで、ステップSH4→SH5→SH6→SH7→SH4のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSH5の判断がYESとなる。したがって、ステップSH5からステップSH8に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSH8で作成した分割ファイルを保存メモリ13に記録し(ステップSH9)、ステップSH3に戻る。
他方、ステップSH4→SH5→SH6→SH7→SH4のループが繰り返されている状態において、他の動態が検出されてステップSH6の判断がYESになると、このステップSH6からステップSH8に進んで、前述したステップSH8及びステップSH9の処理を実行してステップSH3に戻り、前述したステップSH3からの処理を開始する。
したがって、本実施の形態においてはステップSH6で動態が検出された時点までの静態動画データと、検出された後の動態動画データとを別ファイルにしてにして保存メモリ13に記録することができる。また、動態が検出されてステップSH6の判断がYESになり、このステップSH6からステップSH8に進んで、前述したステップSH8及びステップSH9の処理が実行されると、即時に再度ファイルオープン処理が実行されて、最大限(10分)の記録が可能な状態が形成される。
したがって、本実施の形態によれば、動態が検出された後の動態動画データを最大限(10分)に長く記録することができる。
また、ステップSH4→SH5→SH6→SH7→SH4のループが繰り返されている状態において、記録終了トリガーが検出されると、ステップSH7での判断がYESとなり、ステップSH7からステップSH10に進む。このステップSH10では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSH11)。さらに、前記ステップSH13で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSH12)。
なお、本実施の形態において、ステップSH6で動態が検出されるまでは、低いビットレートや小さい画像サイズでフレーム画像データを記録し、ステップSH6で動態が検出された後、ステップSH3からの処理により、次のファイル用の記憶を開始する際には、高いビットレートや大きい画像サイズでフレーム画像データを記録するようにすることが好ましい。これにより、重要性の低い静態動画データについては、低いビットレートや小さい画像サイズで記録する一方、重要性の高い動態動画データについては、高いビットレートや大きな画像サイズで明瞭に記録することができる。
(第7の実施の形態)
図14は、本発明の第7の実施の形態における処理手順を示すフローチャートである。ユーザが、キー入力部7にての操作により、監視動画記録モードを設定すると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に前記フレームレートでの撮影による動画データの記憶領域を確保する(ステップSI1)。引き続き低フレームレートでの動画記録を開始して、バッファメモリ11に確保した記憶領域に、低フレームレート例えば30fpsで得られたフレーム画像データを記憶していく(ステップSI2)。
また、記録終了トリガーが発生したか否かを判断する(ステップSI3)。記録終了トリガーが発生していない場合には、前後フレーム画像を比較してその相違が生じたか否かにより動態が検出されたか否かを判断する(ステップSI4)。そして、記録終了トリガーが発生するか又は動態が検出されるまでステップSI3→SI4→SI3のループを繰り返し、前記低フレームレートでのフレーム画像データの記憶を継続する。
この低フレームレートでのフレーム画像データの記憶中に、動態が検出されてステップSI4の判断がYESになると、ステップSI4からステップSI5に進み、前記低フレームレートでの動画記録を停止した後(ステップSI5)、高フレームレートでの動画記録を開始する(ステップSI6)。この高フレームレートは、前記低フレームレート(30fps)よりも高いフレームレート、例えば60fpsである。したがって、バッファメモリ11に確保した記憶領域には、60fpsで得られたフレーム画像データの後に、30fpsで得られたフレーム画像データが記憶されていく。
また、記録終了トリガーが発生したか否かを判断する(ステップSI7)。記録終了トリガーが発生していない場合には、前後フレーム画像を比較してその相違に基づき、動態が検出されなくなったか否かを判断する(ステップSI8)。そして、記録終了トリガーが発生するか又は動態が検出されなくなるまでステップSI7→SI8→SI7のループを繰り返し、前記高フレームレートでのフレーム画像データの記憶を継続する。
この高フレームレートでのフレーム画像データの記憶中に、動態が検出されなくなってステップSI8の判断がYESになると、ステップSI8からステップSI9に進み、前記高フレームレートでの動画記録を停止する。次に、前記ステップSI4でフレーム画像データの記憶を開始してから、一定時間(10分)が経過したか否かを判断し(ステップSI10)、一定時間が経過するまでステップSI2からの処理を繰り返す。
したがって、本実施の形態においては、動態が検出されない状態においては低フレームレートで、動態が検出されている状態においては高フレームレートで得られたフレーム画像データがバッファメモリ11に記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSI10の判断がYESとなる。したがって、ステップSI10からステップSI11に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSI11で作成した分割ファイルを保存メモリ13に記録し(ステップSI12)、ステップSI1に戻る。
したがって、ステップSI3又はステップSI7で記録終了トリガーが検出されるまでステップSI1〜SI12のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、記録終了トリガーが検出されると、ステップSI3又はステップSI7での判断がYESとなり、ステップSI13に進む。このステップSI13では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fps又は60fpsでの駆動を停止して、これらよりも低フレームレートである前記スルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSI14)。さらに、前記ステップSI10で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSI15)。
したがって、本実施の形態によれば、保存メモリ13に記録されている複数のファイルは、全て一定時間分(10分)である。よって、録画中に不意の事象が発生した場合、当該事象が発生した時点から所定時間前後の画像がいずれのファイルに記録されているかを容易に検索することができる。また、保存メモリ13のに記録されている複数のファイルを時間に基づいて管理することも容易となる。よって、保存メモリ13に記録されている複数のファイルを時間に基づいて管理したり検索することにより、前記事象の原因を解明する際に迅速にファイルを検索して、早期に原因を解明することが可能となる。
また、各分割ファイルにおいては、動態が検出されていない状態では低フレームレートで、動態が検出されている状態においては高フレームレートで撮像されたフレーム画像データが記憶されている。したがって、事象の原因解明に重要な動態が検出されている状態の動画を明瞭に再生表示することができる。また、各分割ファイルから高フレームレートで記録されているフレーム画像データのみを残存させて、時系列に従って結合させることにより、動態のみの動画を容易に作成することができる。
(第8の実施の形態)
図15は、本発明の第8の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている録画開始キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSJ1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSJ2)。
次に、前後フレーム画像を比較してその相違が生じたか否かにより動態が検出されたか否かを判断する(ステップSJ3)。動態が検出されない場合には、ステップSJ4の処理を実行することなく、ステップSJ5に進む。また、動態が検出された場合には、前記ステップSJ2で記憶したフレーム画像データに動態フラグを付加する(ステップSJ4)。
また、一定時間(10分)が経過したか否かを判断する(ステップSJ5)。一定時間が経過していない場合には、記録終了トリガーが発生したか否かを判断し(ステップSJ6)、記録終了トリガーが発生していない場合にはステップSJ2に戻る。したがって、一定時間が経過するか又は記録終了トリガーが発生するまでステップSJ2〜SJ6のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていくともに、動態が発生しているフレーム画像データには動態フラグが付加されて記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSJ5の判断がYESとなる。したがって、ステップSJ5からステップSJ7に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSJ7で作成した分割ファイルを保存メモリ13に記録し(ステップSJ8)、ステップSJ1に戻る。
したがって、ステップSJ6で記録終了トリガーが検出されるまでステップSJ1〜SJ11のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、記録終了トリガーが検出されると、ステップSJ6での判断がYESとなり、ステップSJ6からステップSJ9に進む。このステップSJ9では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSJ10)。さらに、前記ステップSJ9で切り替えたスルー画像表示フレームレートで取り込んだフレーム画像データに基づき、表示装置6にスルー画像を表示させる(ステップSJ11)。
したがって、本実施の形態によれば、保存メモリ13に記録されている複数のファイルは、全て一定時間分(10分)である。よって、録画中に不意の事象が発生した場合、当該事象が発生した時点から所定時間前後の画像がいずれのファイルに記録されているかを容易に検索することができる。また、保存メモリ13のに記録されている複数のファイルを時間に基づいて管理することも容易となる。よって、保存メモリ13に記録されている複数のファイルを時間に基づいて管理したり検索することにより、前記事象の原因を解明する際に迅速にファイルを検索して、早期に原因を解明することが可能となる。
また、各分割ファイルにおいては、動態が検出された際に記録されたフレーム画像データには動態フラグが付加されている。したがって、各分割ファイルから動態フラグが付加されているフレーム画像データのみを残存させて、時系列に従って結合させることにより、動態のみの動画を容易に作成することができる。しかも、本実施の形態においては、前記第7の実施の形態とは異なり、撮影フレームレートを変更することなく、動態のみの動画を容易に作成することができる。
(第9の実施の形態)
図16は、本発明の第9の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている録画開始キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSK1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSK2)。
次に、前後フレーム画像を比較してその相違が生じたか否かにより動態が検出されたか否かを判断する(ステップSK3)。動態が検出されない場合には、ステップSK4及びステップSK5の処理を実行することなく、ステップSK6に進む。また、動態が検出された場合には、この検出された動態が新規の動態パターンであるか否かを判断する(ステップSK4)。
つまり、このように新規の動態パターンである場合には、後述するステップSK5でフレーム画像データに動態フラグが付加されて、バッファメモリ11の前記記憶領域に記憶される。したがって、今回の動態が検出されたフレーム画像と、バッファメモリ11の前記記憶領域に動態フラグが付加されて記憶されている各フレーム画像とを、ステップSJ4で比較することにより、今回の動態が検出されたフレーム画像が新規の動態パターンであるか否かを判断することができる。そして、新規の動態パターンである場合には、前記ステップSK2で記憶したフレーム画像データに動態フラグを付加する(ステップSK5)。
次に、一定時間(10分)が経過したか否かを判断する(ステップSK6)。一定時間が経過していない場合には、記録終了トリガーが発生したか否かを判断し(ステップSK7)、記録終了トリガーが発生していない場合にはステップSK2に戻る。したがって、一定時間が経過するか又は記録終了トリガーが発生するまでステップSK2〜SK7のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていくともに、新規のパターンで動態が発生しているフレーム画像データには動態フラグが付加されて記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSK6の判断がYESとなる。したがって、ステップSK6からステップSK8に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSK8で作成した分割ファイルを保存メモリ13に記録し(ステップSK9)、ステップSK1に戻る。
したがって、ステップSK7で記録終了トリガーが検出されるまでステップSK1〜SK9のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。そして、記録終了トリガーが検出されると、ステップSK7での判断がYESとなり、ステップSK7からステップSK10→SK11→SK12と進み、前述した録画停止処理、ファイルクローズ処理、スルー表示を実行する。
したがって、本実施の形態によれば、保存メモリ13に記録されている複数のファイルは、全て一定時間分(10分)である。よって、録画中に不意の事象が発生した場合、当該事象が発生した時点から所定時間前後の画像がいずれのファイルに記録されているかを容易に検索することができる。また、保存メモリ13のに記録されている複数のファイルを時間に基づいて管理することも容易となる。よって、保存メモリ13に記録されている複数のファイルを時間に基づいて管理したり検索することにより、前記事象の原因を解明する際に迅速にファイルを検索して、早期に原因を解明することが可能となる。
また、各分割ファイルにおいては、新規パターンの動態が検出された際に記録されたフレーム画像データには動態フラグが付加されている。したがって、各分割ファイルから動態フラグが付加されているフレーム画像データのみを残存させて、時系列に従って結合させることにより、新規パターンの動態のみの動画を容易に作成することができる。
(第10の実施の形態)
図17は、本発明の第10の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている録画開始キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSL1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSL2)。
次に、前記衝撃センサ15から衝撃ON信号が入力されたか否かを判断する(ステップSL3)。衝撃ON信号が入力されない場合には、一定時間(10分)が経過したか否かを判断し(ステップSL4)。一定時間が経過していない場合には、ステップSL2に戻る。したがって、衝撃センサ15から衝撃ON信号が入力されるか、又は一定時間が経過するまでステップSL2〜SL4のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、衝撃ON信号が入力されることなく、録画開始から一定時間(10分)が経過すると、ステップSL4の判断がYESとなる。したがって、ステップSL4からステップSL5に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSL5で作成した分割ファイルを保存メモリ13に記録し(ステップSL6)、ステップSL1に戻る。
したがって、ステップSL3で衝撃ON信号の入力が検出されるまでステップSL1〜SL6のループが繰り返し実行され、保存メモリ13には、図18に示すように、一定時間(10分)単位で、バッファメモリ11内の分割ファイルが保存メモリ13に転送されて記録されるとともに、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、当該デジタルカメラ1が搭載された車両の事故発生に伴って、衝撃センサ15から衝撃ON信号が入力されると、ステップSL3の判断がYESとなる。よって、ステップSL3からステップSL7→SL8→SL9と進み、前述した録画停止処理、クローズ処理、スルー表示を実行する。
さらに、ステップSL9から前記ステップSL5に進み、前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSL5で作成した分割ファイルを保存メモリ13に記録し(ステップSL6)、ステップSL1に戻る。
このとき、前記ステップSL4からステップSL5→SL6と進んだ場合は、前述のように、図2(B)のステップS1では、一定時間分(10分)のフレーム画像データからなる新規ファイルを記録させ得る領域が残存しているか否かを判断する。しかし、ステップSL9からステップSL5→SL6と進んだ場合は、図18に示すように、直近のファイルオープンから衝撃によるファイルクローズまでのフレーム画像データ群Dのみからなるファイルを記録させることになる。
したがって、ステップSL9からステップSL5→SL6と進んだ場合は、図2(B)のステップS1では、保存メモリ13において、このフレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存しているか否かを判断する。そして、このフレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存している場合には、新規ファイル処理を実行してフレーム画像データ群Dからなる新規ファイルを保存メモリ13に記録する(ステップS2)。しかし、保存メモリ13に、前記フレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存していない場合には、図2(B)のステップS1の判断がNOとなる。よって、この場合にはステップS1からS3に進み、保存メモリ13において最も古いファイルを削除して今回作成したフレーム画像データ群Dからなるファイルを上書きする。
したがって、本実施の形態においては、定常時の分割ファイルは一定時間単位(10分単位)であるが、事故が発生して衝撃センサ15がONとなる直前の分割ファイルは、一定時間単位よりも短い時間となり、かつ、最後に保存メモリ13に記録されたファイルとなる。したがって、事故の原因を解明する際に迅速に最後の分割ファイルを保存メモリ13から容易に検索することができるのみならず、一定時間よりも時間的に短い最後の分割ファイルの再生により、より早期に原因を解明することが可能となる。
(第11の実施の形態)
図19は、本発明の第11の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている録画開始キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSM1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSM2)。
次に、衝撃後であるか否か、つまり衝撃センサ15から衝撃ON信号が入力された後であるか否かを判断する(ステップSM3)。衝撃後でない場合には、衝撃センサ15から衝撃ON信号が入力されたか否かを判断する(ステップSM4)。衝撃ON信号が入力されない場合には、一定時間(10分)が経過したか否かを判断し(ステップSM5)。一定時間が経過していない場合には、ステップSM2に戻る。したがって、衝撃後となるか、又は衝撃センサ15から衝撃ON信号が入力されるか、若しくは一定時間が経過するまでステップSM2〜SM5のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、衝撃ON信号が入力されることなく、録画開始から一定時間(10分)が経過すると、ステップSM5の判断がYESとなる。したがって、ステップSM5からステップSM6に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSM6で作成した分割ファイルを保存メモリ13に記録し(ステップSM7)、ステップSM1に戻る。
したがって、ステップSM3で衝撃後と判断されるか、ステップSM4で衝撃有りと判断されるまでステップSM1〜SM7のループが繰り返し実行され、保存メモリ13には、図20に示すように、一定時間(10分間)単位で、バッファメモリ11内の分割ファイルが保存メモリ13に転送されて記録されるとともに、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、当該デジタルカメラ1が搭載された車両の事故発生に伴って、衝撃センサ15から衝撃ON信号が入力されると、ステップSM4の判断がYESとなる。よって、ステップSM4からステップSM8→SM9→SM10と進み、前述したファイル作成、記録処理を実行するとともに、一ファイル記憶時間を変更する。
このとき、前記ステップSM5からステップSM6→SM7と進んだ場合は、前述のように、図2(B)のステップS1では、一定時間分(10分)のフレーム画像データからなる新規ファイルを記録させ得る領域が残存しているか否かを判断する。しかし、ステップSM4からステップSM8→SM9と進んだ場合は、図20に示すように、直近のファイルオープンから衝撃によるファイルクローズまでのフレーム画像データ群Dのみからなるファイルを記録させることになる。
したがって、ステップSM4からステップSM8→SM9と進んだ場合は、図2(B)のステップS1では、保存メモリ13において、このフレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存しているか否かを判断する。そして、このフレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存している場合には、新規ファイル処理を実行してフレーム画像データ群Dからなる新規ファイルを保存メモリ13に記録する(ステップS2)。しかし、保存メモリ13に、前記フレーム画像データ群Dからなる新規ファイルを記録させ得る領域が残存していない場合には、図2(B)においてステップS1の判断がNOとなる。よって、この場合にはステップS1からS3に進み、保存メモリ13において最も古いファイルを削除して今回作成したフレーム画像データ群Dからなるファイルを上書きする。
しかる後に、ステップSM1からの処理を実行する。すると、この時点においては既に衝撃センサ15から衝撃ON信号が入力されて、衝撃が発生していることから、ステップSM3の判断はYESとなる。したがって、ステップSM3からステップSM14に進み記録終了トリガーが発生したか否かを判断する。また、記録終了トリガーが発生していないな場合には、一定時間が経過したか否かを判断する(ステップSM5)。このとき、このステップSM5で判断される一定時間は、前記ステップSM10で変更された一定時間であって、1秒程度である。この一定時間が経過していない場合には、ステップSM2に戻る。したがって、衝撃後においては、記録終了トリガーが発生するか、又は一定時間(1秒程度)が経過するまでステップSM2→SM3→SM11→SM5→SM2のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、記録終了トリガーが発生することなく、録画開始から一定時間(1秒程度)が経過すると、ステップSM5の判断がYESとなる。したがって、ステップSM5からステップSM6→SM7と進んでファイル作成及び記録処理を実行する(ステップSM7)。
このとき、ステップSM7の記録処理で、保存メモリ13において、前記一定時間分のフレーム画像データを1ファイルにした新規ファイルを記録させ得る領域が残存しているか否かを判断する(図2(B)ステップS1)。ここで、新規ファイルは図20にも示すように、1秒程度分の少フレーム画像データ群DSからなる。したがって、保存メモリ13において、この少フレーム画像データ群DSからなる新規ファイルを記録させ得る領域が残存しているか否かを判断する。そして、この少フレーム画像データ群DSからなる新規ファイルを記録させ得る領域が残存している場合には、新規ファイル処理を実行して少フレーム画像データ群DSからなる新規ファイルを保存メモリ13に記録する(ステップS2)。また、保存メモリ13に、前記少フレーム画像データ群DSからなる新規ファイルを記録させ得る領域が残存していない場合には、図2(B)においてステップS1の判断がNOとなる。よって、この場合にはステップS1からS3に進み、保存メモリ13において最も古いファイルを削除して今回作成した少フレーム画像データ群Dからなるファイルを上書きする。
しかし、衝撃発生後における新規ファイルは、前述のように1秒分程度の少フレーム画像データ群DSからなることから、ステップSM8の判断はYESとなる可能性が高く、よって、図20に示すように、古いファイルを削除することなく、今回作成した少フレーム画像データ群Dからなるファイルを記録することできる。
しかる後に、ステップSM1に戻る。したがって、衝撃発生後においては記録終了トリガーが発生するまで、ステップSM1〜SM3→SM11→SM5〜SM7→SM1のループが繰り返され、保存メモリ13には、図20に示すように、一定時間(1秒程度)単位で、バッファメモリ11内の少フレーム画像データ群DSからなる分割ファイルが、保存メモリ13に転送されて記録される。
そして、記録終了トリガーが発生すると、ステップSM11からステップSM12に進み録画停止処理を実行するとともに、ファイルクローズ処理(ステップSM13)を実行して、スルー画像表示状態に移行する(ステップSM14)。
したがって、本実施の形態においては、定常時の分割ファイルは一定時間単位(10分単位)であるが、事故が発生して衝撃センサ15がONとなる直前の分割ファイルは、一定時間単位よりも短い不特定な時間となる。この不特定な時間長さのファイルを容易に検索することができ、事故発生時の映像が記録されているファイルを迅速に検索することができる。
また、事故による衝撃発生後においては、各々録画時間が1秒程度の分割ファイルでフレーム画像データが記録されていることから、これらの分割ファイルも容易に検索することがきる。しかも、これら録画時間が1秒程度の分割ファイルには、衝撃により発生した異常が終了までの過程が細分化されて記録されていることから、各ファイルを再生して詳細に検討することができ、これにより異常終了までの過程を容易に解明することが可能なる。
(第12の実施の形態)
図21は、本発明の第12の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている記録開始キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSN1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSN2)。
次に、ユーザによるキー入力部7での重要情報キーの操作入力があったか否かを判断し(ステップSN3)、重要情報キーの操作入力があった場合には重要情報フラグをONにする(ステップSN4)。さらに、記録終了トリガーが発生したか否かを判断する(ステップSN5)。記録終了トリガーが発生していない場合には一定時間(10分)が経過したか否かを判断し(ステップSN6)、一定時間が経過していない場合にはステップSN2に戻る。したがって、記録終了トリガーが発生するか、一定時間が経過するまでステップSN2→SN3→SN4→SN5→SN6→SN2のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSN6の判断がYESとなる。したがって、ステップSN6からステップSN7に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSN7で作成した分割ファイルを保存メモリ13に記録する(ステップSN8)。
次に、重要情報フラグがONとなっているか否かを判断し(ステップSN9)、ONとなっている場合には、ステップSN8で保存メモリ13に記録した分割ファイルに対し重要情報フラグを付加する(ステップSN10)。引き続き、重要情報フラグをOFFにして(ステップSN11)、ステップSN1に戻る。
したがって、ステップSN3で記録終了トリガーが検出されるまでステップSN1〜SN11→ステップSN1のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録され、また、重要情報フラグがONであった場合には、重要情報フラグが付加された分割ファイルが記録される。
そして、記録終了トリガーが検出されると、ステップSN5での判断がYESとなり、ステップSN5からステップSN12に進む。このステップSN12では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSN13)。
引き続き、先頭ファイルオープン処理を実行して、前記保存メモリ13に記憶した複数の分割ファイルから先頭ファイルを選択しバッファメモリ11にて開く(ステップSN14)。先頭ファイル等に関しては、図25において詳述する。そして、開いたファイルに重要情報フラグが付加されているか否かを判断し(ステップSN15)、付加されていない場合には、保存メモリ13から当該ファイルを削除する(ステップSN16)。重要情報フラグが付加されている場合には、当該ファイルを保存メモリ13から削除することなく、バッファメモリ11にて開いた当該ファイルを閉じる(ステップSN17)。
次に、保存メモリ13に記録されている分割ファイルの最終ファイルまで以上の処理を実行したか否かを判断し(ステップSN18)、最終ファイルまで処理を行っていなければ、次の分割ファイルを開いて(ステップSN19)、ステップSN15からの処理を繰り返す。また、最終ファイルまで処理を実行することによりステップSN18の判断がYESとなると、スルー画像を表示してこのフローに従った処理を終了する(ステップSN20)。
したがって、本実施の形態によれば、重要情報ファイルのみを保存メモリ13に残存させることができるとともに、非重要情報ファイルを削除して保存メモリ13に空き領域を確保することができる。
(第13の実施の形態)
図22〜図24は、本発明の第13の実施の形態を示すフローチャートである。前記キー入力部7に設けられている記録開始キーが操作されると、DSP/CPU3は前記プログラムに従って図22のフローチャートに示すように処理を実行する。すなわち、ファイルオープン処理を実行して、バッファメモリ11に動画データの記憶領域を確保する(ステップSO1)。引き続き録画処理を実行して、バッファメモリ11に確保した記憶領域に、前記フレームレートで得られたフレーム画像データを記憶していく(ステップSO2)。
次に、一定時間(10分)が経過したか否かを判断する(ステップSO3)。一定時間が経過していない場合には、記録終了トリガーが発生したか否かを判断し(ステップSO4)、記録終了トリガーが発生していない場合にはステップSO2に戻る。したがって、記録終了トリガーが発生するか、一定時間が経過するまでステップSO2→SO3→SO4→SO2のループが繰り返され、バッファメモリ11には順次フレーム画像データが記憶されていく。
そして、録画開始から一定時間(10分)が経過すると、ステップSO3の判断がYESとなる。したがって、ステップSO3からステップSO5に進んで前述したファイル作成処理を実行する。引き続き、図2(B)において説明した記録処理を実行して、ステップSIO5で作成した分割ファイルを保存メモリ13に記録し(ステップSO6)、ステップSO1に戻る。したがって、ステップSO4で記録終了トリガーが検出されるまでステップSO1〜SO6のループが繰り返し実行され、保存メモリ13には、最も古い分割ファイルが消去されつつ、新たな分割ファイルが記録されていく。
そして、記録終了トリガーが検出されると、ステップSO4での判断がYESとなり、ステップSO4からステップSO7に進む。このステップSO7では、前述と同様の録画停止処理を実行し、CCD2の前記録画フレームレート30fpsでの駆動を停止して、これより低フレームレートであるスルー画像表示フレームレートに切り替える。また、ファイルクローズ処理を実行して、バッファメモリ11へのフレーム画像データの書き込みを禁止する(ステップSO8)。
さらに、後述する結合動画ファイル作成処理を実行した後(ステップSO9)、ユーザによるキー入力部7での操作により、予め「分割ファイルを残す」が選択されているか否かを判断する(ステップSO10)。「分割ファイルを残す」が選択されていない場合には、保存メモリ13に記録されている全ての分割ファイルを消去する(ステップSO11)。また、「分割ファイルを残す」が選択されている場合には、ステップSO11の処理を行うことなくスルー画像の表示を開始する(ステップSO12)。
したがって、後述するように結合ファイルを作成した場合であっても、分割ファイルを残存させることができるとともに、分割ファイルを残存させるか否かをユーザに選択させることができる。
図23は、前記ステップSO12における結合動画ファイル作成処理の詳細を示すフローチャートである。まず、結合動画ファイルオープン処理を実行して、結合ファイルメモリ16に結合ファイルZ(図24参照)を形成する(ステップSP1)。次に、先頭分割動画ファイルオープン処理を実行して、保存メモリ13に記憶されている複数の分割ファイルから先頭ファイルを選択しバッファメモリ11に展開する(ステップSP2)。さらに、この展開した分割ファイルにおいて、分割動画データを抽出する(ステップSP3)。このステップSP3の処理に際しては、図24に示すように10分単位である分割ファイルAから、最初の2分の分割動画データaを抽出する。
次に、この抽出した分割動画データaを結合ファイルメモリ16に前記ステップSP1で形成した結合ファイルメモリ16内の結合ファイルZに書き込む(ステップSP4)。しかる後に、分割動画ファイルクローズ処理を実行して、前記バッファメモリ11に展開した分割ファイルを消去する。更に、ステップSP3〜SP5の処理を保存メモリ13に記録されている分割ファイルの最終ファイルまで実行したか否かを判断する(ステップSP6)。
最終ファイルまでの処理を終了していない場合には、次の分割動画ファイルオープン処理を実行して、保存メモリ13から次の分割ファイルを読み出してバッファメモリ11に展開し(ステップSP7)、最終ファイルとなるまでステップSP3からの処理を繰り返す。したがって、最終ファイルとなるまでステップSP3からの処理が繰り返されることにより、図24に示すように、10分単位である分割ファイルA〜Fから、最初の2分の分割動画データa〜fが抽出されて、時系列に従って結合された結合ファイルZに結合記録される。そして、最終ファイルまでの処理を完了したならば、ステップSP6からステップSP8に進み、結合動画ファイルクローズ処理を実行し、結合動画ファイルZへの書き込みを禁止する。
したがって、本実施の形態によれば、各一定時間単位の分割ファイルから所定時間分の動画データのみを抽出して結合した動画ファイルを作成することができる。よって、図24の例の場合、60分の動画ファイルから12分のダイジェスト動画ファイルを作成することができ、これを再生することにより、短時間(12分)で長時間(60分)の記録内容を把握することできる。
なお、本実施の形態においては、各分割ファイルから2分の動画データを抽出するようにしたが、抽出する時間分はこれに限るものではなく、これよりも短時間であっても長時間であってもよい。また、抽出する時間帯も最初からに限らず、例えば10分における5〜7分の2分間等、いずれの時間帯であってもよい。さらに、抽出を行うことなく、全ての分割ファイルを結合して結合動画ファイルを生成するようにしてもよい。
また、図5(D)において説明したように、間引き技術を用いて各分割ファイルから、フレーム画像データを例えば80%の比率で均等に間引きして削除し、20%の比率のフレーム画像データを残存させ、これら各分割ファイルにおいて残存させた20%分のフレーム画像データを結合して、結合動画ファイルを生成するようにしてもよい。
また、このように、分割ファイルから特定部分を抽出して時系列に従って結合して結合ファイルを生成する場合、あるいは抽出することなく分割ファイルを時系列で結合して結合する場合、あるいは後述する再生時において分割ファイルを時系列に従って再生する場合等においては、その前提として保存メモリ13には時間的関係が明らかにとなるように、各分割ファイルを記録しておく必要がある。したがって、保存メモリ13に分割ファイルを記録する際には、図25に示すような記録を行うことが好ましい。
すなわち、図25(A)は、分割ファイル毎に「前のデータ」と「後のデータ」とを記録する。「前のデータ」には当該分割ファイル直前の記録された分割ファイルを示すデータを記録し、「後のデータ」には当該分割ファイル直後に記録された分割ファイルを示すデータを記録する。なお、図示のように、先頭のファイルの「前のデータ」と、最後のファイルの「後のデータ」とはNULLとなる。このように記録を行えば、新たなファイルが上書きされて古いファイルが消去されても、最終的に保存メモリ13に残存している分割ファイルの時系列を把握することができる。
また、図25(B)の場合は、新たな分割ファイルに順次シリアルなファイル名を付するものである。これによっても、新たなファイルが上書きされて古いファイルが消去された場合、最終的に保存メモリ13に残存している分割ファイルの時系列を把握することができる。
無論、保存メモリ13において残存した分割ファイルの時系列を明瞭化する手法は、これらに限ることなく、後述する図27に示すように、各分割ファイルに記録開始時刻を書き込んでおく等、他の手法を用いてもよい。
(第14の実施の形態)
図26(A)は、本発明の第14の実施の形態における処理手順を示すフローチャートである。前記キー入力部7に設けられている消去キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、先頭ファイルオープン処理を実行して、前記保存メモリ13に記憶した複数の分割ファイルから先頭ファイルを選択しバッファメモリ11にて開く(ステップSQ1)。次に、開いたファイルに重要フラグが含まれている否かを判断する(ステップSQ2)。
ここで、重要フラグとは、第2の実施の形態において用いたプロテクトフラグ、第8及び第9の実施の形態において用いた動態フラグ、第12の実施の形態において用いた重要情報フラグ等の、分割ファイルの記録時に付加されたフラグの総称である。
そして、開いたファイルに重要フラグが付加されていない場合には、ファイルクローズ処理を行って当該分割ファイルをバッファメモリ11から消去するとともに(ステップSQ3)、保存メモリ13から当該ファイルを削除する(ステップSQ4)。重要情報フラグが付加されている場合には、当該ファイルを削除することなく、ファイルクローズ処理を実行して開いたファイルをバッファメモリ11から消去する(ステップSQ5)。
次に、保存メモリ13に記録されている分割ファイルの最終ファイルまで以上の処理を実行したか否かを判断し(ステップSQ6)、最終ファイルまで処理を行っていなければ、次の分割ファイルを開いて(ステップSQ7)、ステップSQ2からの処理を繰り返す。また、最終ファイルまで処理を実行することによりステップSQ6の判断がYESとなると、このフローに従った処理を終了する。
したがって、本実施の形態によれば、重要ファイルのみを保存メモリ13に残存させることができるとともに、非重要ファイルを削除して保存メモリ13に空き領域を確保することができる。
なお、前述した第12の実施の形態の場合、保存メモリ13への記録終了時に、以上の処理と同様の処理を行うようにしたが、本実施の形態のように、前記キー入力部7に設けられている消去キーが操作されたことを条件として、この消去処理を行えば、ユーザが意図しないにも拘わらず、分割ファイルが消去されてしまう不都合を未然に防止することができる。
また、本実施の形態においては、前記キー入力部7に設けられている消去キーが操作されたことを条件として、消去処理を実行するようにしたが、図26(B)に示すインターラプトルーチンにより定期的に消去処理を実行するようにしてもよい。すなわち、前回のこのフローに従った消去処理から所定の時間が経過したか否かにより、消去タイミングであるか否かを判断する(ステップSX1)。前回の消去処理から所定時間が経過して消去タイミングとなっているならば、保存メモリ13において最も古いファイルをプロテクトしてその消去を禁止し(ステップSX2)、他のファイルを消去する(ステップSX3)。
これにより、例えば60分毎にその時点で最も古いファイルがプロテクトされて保存メモリ13に残存していく。これにより、限られた容量の保存メモリ13において、過去のファイルを断続的に残存させつつ、消去により新たなファイルを記録するための空き領域を形成することがことができる。
なお、ステップSX2にいては、最も古いファイル全体をプロテクトするようにしたが、当該ファイルの最初の2分間分等の一部だけプロテクトして、他の部分及び他のファイルを消去するようにしてもよい。これにより、新たなファイルを記録するための空き領域をより多く形成することができる。
(第15の実施の形態)
図27〜29は、本発明の第15の実施の形態を示す図である。本実施の形態における保存メモリ13には、同図(A)に示すように各分割ファイルが時系列順で記録されている場合と、同図(B)に示すように各分割ファイルが時系列順が異なる状態で記録されている場合とがあるが、いずの場合にも分割ファイル毎に記録開始時刻情報が記録されている。また、各分割ファイルの撮影フレームレートは全て同一である。
図28(A)は、本実施の形態のメインルーチンを示すフローチャートである。前記キー入力部7に設けられている再生キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、先頭ファイルオープン処理を実行して、前記保存メモリ13に記憶した複数の分割ファイルから、前記時刻情報に基づき先頭ファイルを選択しバッファメモリ11にて開く(ステップSR1)。このバッファメモリ11にて開いた分割ファイルからフレームを読み込み(ステップSR2)、エンコード処理する(ステップSR3)。
また、エンコード処理したフレームが「最終フレーム−n」フレームであるか否か、つまり当該分割ファイルの再生が終了直前になったか否かを判断する(ステップSR4)。終了直前になっていなければ、当該分割ファイルにおいて全フレームの再生を完了したか否かを判断する(ステップSR5)。全フレームの再生を完了していない場合には、ステップSR2に戻る。したがって、当該分割ファイルの再生が終了直前になるまで、ステップSR2〜SR5のループが繰り返され、当該分割ファイルのフレームが順次エンコードされていく。
そして、エンコード処理したフレームが「最終フレーム−n」フレームとなって、当該分割ファイルの再生が終了直前になると、ステップSR4からステップSR6に進み、現在エンコードしている分割ファイルの次のファイルを保存メモリ13内にて検索する(ステップSR6)。無論、この検索も前記時刻情報に基づいて行う。次に、この検索結果に基づき、保存メモリ13に次のファイルがあるか否かを判断し(ステップSR7)、次のファイルがない場合には、ステップSR8の処理を行うことなくステップSR2に戻る。また、次のファイルがある場合には、ファイルオープン処理を実行して、次のファイルをバッファメモリ11内に予め展開しておき(ステップSR8)、しかる後にステップSR2に戻る。
そして、ステップSR2〜SR5のループを繰り返し実行している状態において、ステップSR5の判断がYESとなり、現在エンコード中の分割ファイルのフレームを全てエンコードし終わったならば、ステップSR5からステップSR9に進みファイルクローズ処理を実行する。このファイルクローズ処理により、エンコードし終わった分割ファイルをバッファメモリ11から消去する。引き続き、保存メモリ13に次のファイルがあるか否かを判断する(ステップSR10)。このとき、次のファイルがあれば、既にステップSR8の処理が実行済みであり、次ファイルはバッファメモリ11に展開されている。したがって、ステップSR10の判断がYESであって次ファイルがあれば、ステップSR2に戻って、既にバッファメモリ11に展開されている次ファイルからのフレーム読み込みを開始する。
このようにして、保存メモリ13内の分割ファイルを時系列順にエンコード処理し、最終分割ファイルのエンコード処理を終了すると、ステップSR5の判断がYESとなり、ステップSR5→SR9→SR10と進む。また、ステップSR10の判断はNOとなることから、再生を終了する。
一方、このメインルーチンに対しては、図28(B)に示すインターラプトルーチンが、前記分割ファイルの撮影フレームレート撮影フレームレートと同一の再生フレームレートに対応するタイミング毎に割り込んで実行される。すなわち、前記エンコード処理(ステップSR3)によりエンコードされた画像データが有るか否かを判断し(ステップSS1)、エンコードされたフレーム画像データが有る場合には、表示装置6にエンコードされたフレーム画像データを出力する(ステップSS2)。また、エンコードされたフレーム画像データが無い場合には、メインルーチンにおいて再生終了となったか否かを判断し(ステップSS3)、再生終了となるまでステップSS1〜SS3のループを繰り返す。
したがって、以上に説明した図28(A)(B)のフローチャートに従って処理が実行されることにより、保存メモリ13に各々同一の撮影フレームレートで記録された複数の分割ファイルが、図25に示したようにその時系列が明らかとなるように記録されている場合において、図29に示すように、保存メモリ13に記録されているファイル1、2、3・・・を撮影フレームレートと同一の再生フレームレートで時系列順に連続再生して、表示装置6に表示することができる。
(第16の実施の形態)
図30(A)は、本発明の第16の実施の形態におけるメインルーチンを示すフローチャートである。前記キー入力部7に設けられている再生キーが操作されると、DSP/CPU3は前記プログラムに従ってこのフローチャートに示すように処理を実行する。すなわち、保存メモリ13に記録されている各分割ファイルの撮影フレームレートとは無関係に所定の基準フレームレートを設定する(ステップST1)。次に、フレームレート周期処理を起動して、後述する図30(B)に示すインターラプトルーチンの前記基準フレームレートに対応するタイミングでの割り込みを許可する。
引き続き、先頭ファイルオープン処理を実行して、前記保存メモリ13に記憶した複数の分割ファイルから、先頭ファイルを選択しバッファメモリ11にて開く(ステップST3)。このバッファメモリ11にて開いた分割ファイルからフレームを読み込み(ステップST4)、エンコード処理する(ステップST5)。このエンコード処理したフレームが「最終フレーム−n」フレームであるか否か、つまり当該分割ファイルの再生が終了直前になったか否かを判断する(ステップST6)。終了直前になっていなければ、当該分割ファイルにおいて全フレームの再生を完了したか否かを判断する(ステップST7)。全フレームの再生を完了していない場合には、ステップST4に戻る。したがって、当該分割ファイルの再生が終了直前になるまで、ステップST4〜ST7のループが繰り返され、当該分割ファイルのフレームが順次エンコードされていく。
そして、エンコード処理したフレームが「最終フレーム−n」フレームとなって、当該分割ファイルの再生が終了直前になると、ステップST6からステップST8に進み、現在エンコードしている分割ファイルの次のファイルを保存メモリ13内にて検索する(ステップST8)。次に、この検索結果に基づき、保存メモリ13に次のファイルがあるか否かを判断し(ステップST9)、次のファイルがない場合には、ステップST10の処理を行うことなくステップST4に戻る。また、次のファイルがある場合には、ファイルオープン処理を実行して、次のファイルをバッファメモリ11内に予め展開しておき(ステップST10)、しかる後にステップST2に戻る。
そして、ステップST4〜ST7のループを繰り返し実行している状態において、ステップST7の判断がYESとなり、現在エンコード中の分割ファイルのフレームを全てエンコードし終わったならば、ステップST7からステップST11に進みファイルクローズ処理を実行する。このファイルクローズ処理により、エンコードし終わった分割ファイルをバッファメモリ11から消去する。引き続き、保存メモリ13に次のファイルがあるか否かを判断する(ステップST10)。このとき、次のファイルがあれば、既にステップST10の処理が実行済みであり、次ファイルはバッファメモリ11に展開されている。したがって、ステップST12の判断がYESであって次ファイルがあれば、ステップST4に戻って、既にバッファメモリ11に展開されている次ファイルからのフレーム読み込みを開始する。
このようにして、保存メモリ13内の分割ファイルを時系列順にエンコード処理し、最終分割ファイルのエンコード処理を終了すると、ステップST7の判断がYESとなり、ステップST7→ST11→ST12と進む。また、ステップST12の判断はNOとなることから、ステップST12からステップST13に進む。そして、このステップST13で、フレームレート周期処理を停止させる。
一方、このメインルーチンに対しては、図30(B)に示すインターラプトルーチンが前記基準フレームレートに対応するタイミングで割り込んで実行される。すなわち、前記エンコード処理(ステップST5)によりエンコードされた画像データが有るか否かを判断し(ステップSU1)、エンコードされたフレーム画像データが有る場合には、表示装置6にエンコードされたフレーム画像データを出力する(ステップSU2)。また、エンコードされたフレーム画像データが無い場合には、前記ステップST13の処理によるフレーム周期停止処理があった否かを判断し(ステップSU3)、フレーム周期停止処理があるまでステップSU1〜SU3のループを繰り返す。
ここで、図31(A)に示すように、例えば保存メモリ13に異なる各々撮影フレームレートx(fps)、y(fps)、z(fps)で分割ファイル1、2、3・・・が記録されていた場合において、これら分割ファイル1、2、3・・・を再生フレームレートと同一のフレームレート(x、y、z)で再生すると、当然に各分割ファイル1、2、3・・・は通常の動画再生と同様に再生されることとなる。
しかし、保存メモリ13に異なる各々撮影フレームレートx(fps)、y(fps)、z(fps)で分割ファイル1、2、3・・・が記録されていた場合において、本実施の形態のように、所定の基準フレームレートa(fps)で再生を行うと、図31(B)に示すように、全ての分割ファイル1、2、3・・・は同一のフレームレートaで再生される。
したがって、例えばフレームレートyが基準フレームレートaと等しく、フレームレートxは基準フレームレートaよりも高く、フレームレートzは基準フレームレートaよりも低かった場合、つまりx>y=a>zの関係にあったとすると、図31(B)において、ファイル1はスロー再生され、ファイル2は通常再生され、ファイル3はクイック再生されることとなる。よって、基準フレームレートaよりも高いフレームレートで記録されたファイルやファイルの一部の動画データを自動的にスロー再生して表示することができる。
(第17の実施の形態)
図32(A)は、本発明の第17の実施の形態におけるメインルーチンを示すフローチャートである。このフローチャートにおいて、ステップSV6を除くステップSV1〜SV5、及びステップSV7〜SV14は、前述した第16の実施の形態における図30(A)に示したフローチャートのステップST1〜ST13と同一である。そして、唯一異なるステップSV6においては、ユーザによるキー入力部7での再生フレームレート変更操作に応じてフレームレート変更フラグを設定する。なお、キー入力部7での操作により設定されて再生フレームレートは、バッファメモリ11に記憶される。
一方、このメインルーチンに対しては、図30(B)に示すインターラプトルーチンが割り込んで実行される。すなわち、前記エンコード処理(ステップSV5)によりエンコードされた画像データが有るか否かを判断する(ステップSW1)。エンコードされたフレーム画像データが有る場合には、フラグによる出力タイミングの変更処理を実行する(ステップSW2)。つまり、前記フレームレート変更フラグが設定されていない場合には、前記基準フレームレートに対応するタイミングとなるように出力タイミングを制御する。また、前記フレームレート変更フラグが設定されてい場合には、前述のようにバッファメモリ11に記憶されている変更されたフレームレートに対応するタイミングとなるように出力タイミングを制御する。
そして、次のステップSW3での前記ステップSW2で制御されたタイミングで表示装置6にエンコードされたフレーム画像データを出力する(ステップSW3)。また、エンコードされたフレーム画像データが無い場合には、前記メインルーチンのステップSV14によるフレームレート周期処理停止が実行されたか否かを判断し(ステップSW4)、フレームレート周期処理が停止するまでステップSW1〜SW4の処理を繰り返す。
したがって、図33(A)に示すように、例えば保存メモリ13に異なる各々撮影フレームレートx(fps)、y(fps)、z(fps)で分割ファイル1、2、3・・・が記録されていた場合において、これら分割ファイル1、2、3・・・を再生フレームレートと同一のフレームレートで再生した場合、各分割ファイル1、2、3・・・は通常の動画再生と同様に再生されることとなる。
しかし、保存メモリ13に異なる各々撮影フレームレートx(fps)、y(fps)、z(fps)で分割ファイル1、2、3・・・が記録されていた場合において、本実施の形態のように、分割ファイル2の再生時にフレームレートをa(fps)に変更すると、図31(B)に示すように、分割ファイル1はフレームレートをa(fps)で再生されることとなる。したがって、各分割ファイルがどのようなフレームレートで記録されていたとしても、ユーザが所望するフレームレートで再生することが可能となる。