(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
実施の形態1.
本実施の形態では、動き検知録画における「変化値」に基づいて画像フレームの間引きを行う構成を説明する。
動き検知録画は、撮影している領域が変化すると録画を行うシステムである。
レコーダー側では、現在撮影されている画像とその直前の画像を比較してどれくらい違いがあるかを示す「変化値」という情報を保持している。
つまり、「変化値」は、直前の画像フレームとの変化の度合いが表される値であり、各画像フレームに設定される。
変化値は、1〜100の範囲をとる。
直前の画像フレームとの変化率が大きいほど、変化値が大きくなる。
つまり、大きな変化値が設定されている画像フレームは、直前の画像フレームからの変化が大きいため、監視対象の現場で生じた大きな変化を捉えた画像フレームであり、重要度が高いと考えられる。
このため、本実施の形態では、変化値の大きな(重要度が高い)画像フレームを優先して残すような画像フレームの間引きを行う。
【0011】
図1は、本実施の形態に係る監視システムの概要を示す構成図である。
【0012】
図1において、カメラ2は、監視用のカメラであり、前述した動き検知録画に対応したカメラである。
【0013】
レコーダー1は、カメラ2とパソコン3に接続されている。
レコーダー1は、前述の動き検知録画に対応したレコーダーである。
レコーダー1は、カメラ2で撮影されたカメラ画像を、2系統で入力する。
そして、入力したカメラ画像の一方を、シェアードメモリ11にいったん記憶した後、パソコン3の画面にライブ表示を行う。
また、入力したカメラ画像の他方を、画像管理装置10内に格納し、パソコン3からのリクエストに応じて、格納したカメラ画像をダウンロードする。
【0014】
画像管理装置10は、画像フレーム記憶部101と画像フレーム管理部102により構成される。
画像フレーム記憶部101は、カメラ2からのカメラ画像(撮影動画像)を構成する複数の画像フレームを時系列に記憶する。
画像フレーム記憶部101が記憶する各画像フレームには、変化値が設定されている。
画像フレーム管理部102は、画像フレーム記憶部101から画像フレームを読み出し、読み出した画像フレームを等間隔で間引くとともに変化値に基づいて間引く。
そして、画像フレーム管理部102は、間引き処理後の画像フレームを画像フレーム記憶部101に書き戻す。
設定ファイル103には、画像フレーム管理部102の間引き処理に関する設定値が記述されている。
設定ファイル103には、例えば、間引き処理を行う周期、画像フレームの間引き間隔、変化値の閾値等が記述されている。
【0015】
図2は、本実施の形態に係る画像フレーム管理部102が行う間引き処理の概要を示す。
図2において、配列の各要素は、画像フレームを示す。
また、数値は、各画像フレームに設定されている変化値を示す。
また、「X」が記されている要素は、間引かれる画像フレームを示している。
【0016】
図2(a)は、間引かれる前の画像フレーム群を示している。
図2(b)は、
図2(a)の画像フレーム群から等間隔に画像フレームを間引いた後の状態を示している。
図2(b)では、
図2(a)の画像フレーム群の1/2になっている。
つまり、画像フレーム管理部102は、L(Lは8以上の任意の整数)fps(flame per second)で録画された撮影画像を、間引き処理により、L/2fpsとして改めて録画する。
図2(a)から
図2(b)の間引きでは、画像フレーム管理部102は、変化値を参照することなく、画像フレームを等間隔で間引いている。
図2(c)は、
図2(b)の画像フレーム群から等間隔に画像フレームを間引いた後の状態を示している。
図2(c)では、
図2(b)の画像フレーム群の1/2になっている。
つまり、画像フレーム管理部102は、L/2fpsで録画された撮影画像を、間引き処理により、L/4fpsとして改めて録画する。
図2(b)から
図2(c)の間引きでも、画像フレーム管理部102は、変化値を参照することなく、画像フレームを等間隔で間引いている。
図2(d)は、
図2(c)の画像フレーム群を変化値に基づいて間引いた後の状態を示している。
図2(d)では、画像フレーム管理部102は、変換値が70以上の画像フレームを残して間引いている。
つまり、画像フレーム管理部102は、閾値を70とし、L/4fpsで録画したデータのうち変化値が70以上のデータを改めて録画している。
閾値をどの値にするか、等間隔の間引きを何回行うか、等間隔に間引く際の間引き間隔をいくつにするか等については、画像フレーム管理部102は、設定ファイル103の設定値に従う。
【0017】
ここで、従来技術による間引きと本実施の形態に係る間引きとを比較する。
【0018】
図10は、従来技術による間引きの概要を示す。
図10(a)は、間引かれる前の画像フレーム群を示しており、
図2(a)の画像フレーム群と同じである。
図10(b)は
図2(b)と同じであり、
図10(c)は
図2(c)と同じである。
つまり、
図10(c)の段階では、
図2(c)と同様に、画像フレームが等間隔に間引きされた結果、
図10(a)の画像フレーム群から1/4に間引かれている。
図10(d)は、
図10(c)の画像フレーム群が等間隔に間引かれた後の状態を示しいている。
図10(d)に示すように、従来の方式では、変化値:93の画像フレームが残るものの、変化値:14、37といった変化値が低い画像フレームも残っている。
これに対して、本実施の形態の方式では、変化値:75、93という高い変化値の画像フレームのみが残る。
このように、本実施の形態では、変化値が高い、すなわち、重要度が高い画像フレームを残すようにして、画像フレームを間引くことができる。
【0019】
図5は、画像フレーム記憶部101の画像フレームの記憶方式の一例を示す。
図5に示すように、画像フレーム記憶部101は、間引き回数ごとの記憶領域を持ち、間引き回数で画像フレームを管理して、画像フレームを記憶している。
つまり、画像フレーム管理部102による間引き処理が一度も行われていない画像フレームを、間引き回数0の領域に記憶し、画像フレーム管理部102による間引き処理が一度行われた画像フレームを、間引き回数1の領域に記憶し、画像フレーム管理部102による間引き処理が二度行われた画像フレームを、間引き回数2の領域に記憶するというように、間引き回数ごとに、画像フレームを記憶している。
そして、画像フレーム管理部102による間引き処理が行われると、間引き後の画像フレームが、回数が1つ上の記憶領域に格納される。
例えば、間引き処理が一度も行われていなかった画像フレームに対して間引き処理が行われると、間引き後の画像フレームが、間引き回数1の領域に格納される。
【0020】
図6は、本実施の形態に係る画像フレーム管理部102の動作例を示すフローチャート図である。
なお、以下では、画像フレーム管理部102は、画像フレーム記憶部101の間引き回数Nの領域に格納されている画像フレームに対して、変化値に基づいた間引き処理を行い、間引き回数0〜(N−1)の領域に格納されている画像フレームに対しては、等間隔での間引きを行うものとする。
図2では、2回の間引きが行われた後の画像フレーム(
図2(c))に対して変化値を用いた間引きが行われており(
図2(d))、
図2の例では「N=2」である。
また、
図6のフローは、一定の周期で行われるものとする。
例えば、
図6のフローが毎日行われる場合では、間引き回数1の領域内の画像フレームは、
図6のフローを開始する時点で、撮影されてから1日以上が経過している画像フレームであり、間引き回数Nの領域内の画像フレームは、撮影されてからN日以上が経過している画像フレームである。
【0021】
先ず、画像フレーム管理部102は、間引き回数が0〜(N−1)回の画像フレームを画像フレーム記憶部101から読み出す(S101)。
つまり、画像フレーム管理部102は、画像フレーム記憶部101の間引き回数0の領域から間引き回数(N−1)の領域のそれぞれから画像フレームを読み出す。
画像フレーム管理部102は、読み出した画像フレームは、レジスタ等の一次記憶領域に格納して、以降の処理を行う。
【0022】
次に、画像フレーム管理部102は、読み出した画像フレームを等間隔に間引いて、間引き後の画像フレームを画像フレーム記憶部101に書き戻す(S102)。
図2の例のような間引きを行う場合は、画像フレーム管理部102は、画像フレームを1/2に間引く。
そして、画像フレーム管理部102は、間引き後の画像フレームを、画像フレーム記憶部101の元の領域に書き戻す。
【0023】
画像フレーム管理部102は、間引き回数が0〜(N−1)回の画像フレームで間引き処理を行っていない画像フレームがあれば、S101からの動作を繰り返し、全ての画像フレームに対して間引き処理が完了した場合は、S104に進む(S103)。
【0024】
間引き回数が0〜(N−1)回の画像フレームの全てに対して間引き処理が完了している場合(S103でYES)は、画像フレーム管理部102は、間引き回数がN回の画像フレームを画像フレーム記憶部101から読み出す(S104)。
【0025】
次に、画像フレーム管理部102は、読み出した画像フレームを変化値に基づいて間引き、間引き後の画像フレームを画像フレーム記憶部101に書き戻す(S105)。
図2の例のような間引きを行う場合は、画像フレーム管理部102は、変化値が70未満の画像フレームを間引く。
そして、画像フレーム管理部102は、間引き後の画像フレームを、画像フレーム記憶部101の元の領域に書き戻す。
【0026】
画像フレーム管理部102は、間引き回数がN回の画像フレームで間引き処理を行っていない画像フレームがあれば、S104からの動作を繰り返し、全ての画像フレームに対して間引き処理が完了した場合は、S107に処理を進める(S106)。
【0027】
画像フレーム管理部102は、画像フレーム記憶部101に対して、各記憶領域の間引き回数を1つ増やすように指示し、画像フレーム記憶部101は画像フレーム管理部102の指示に従い、各記憶領域の間引き回数を1つ増やす(S107)。
つまり、間引き回数:0の領域は、間引き回数:1の領域になり、間引き回数:Nの領域は、間引き回数:(N+1)の領域になる。
全ての領域の間引き回数を1つ増やすと、処理を終了する。
【0028】
このように、本実施の形態では、初めはフレームレートを半減する方式で削除を行い、最後に変化値の小さい画像を削除する。
本実施の形態により、日数の経過した画像フレームの保存量が減少するため、画像フレームを長期間保存・閲覧できる。
また、大きな変化がある重要な画像フレームを長く保存することができる。
【0029】
実施の形態2.
実施の形態1では、画像フレームを等間隔に間引いた後に、変化値に基づいて画像フレームを間引いている。
本実施の形態では、変化値に基づいて画像フレームを間引いた後に、画像フレームを等間隔に間引く例を説明する。
なお、監視システムの構成例は、
図1と同様であり、本実施の形態では、画像フレーム管理部102の処理アルゴリズムが異なるのみであるため、画像フレーム管理部102の処理アルゴリズムについて説明を行う。
また、実施の形態1と同じ内容については、説明を省略する。
【0030】
図3は、本実施の形態に係る画像フレーム管理部102が行う間引き処理の概要を示す。
【0031】
図3(a)は、間引かれる前の画像フレーム群を示している。
図3(b)は、
図3(a)の画像フレーム群を間引いた後の状態を示している。
図3(b)では、画像フレーム管理部102は、変換値が70以上の画像フレームを残して間引いている。
つまり、画像フレーム管理部102は、変化値が70未満の画像フレームを削除している。
図3(c)は、
図3(b)の画像フレーム群を等間隔で間引いた後の状態を示している。
図3(c)では、
図3(b)の画像フレーム群の1/2になっている。
図3(b)から
図3(c)の間引きでは、画像フレーム管理部102は、変化値を参照することなく、画像フレームを等間隔で間引いている。
図3(d)は、
図3(c)の画像フレーム群を等間隔で間引いた後の状態を示している。
図3(d)では、
図3(c)の画像フレーム群の1/2になっている。
図3(c)から
図3(d)の間引きでも、画像フレーム管理部102は、変化値を参照することなく、画像フレームを等間隔で間引いている。
この結果、変化値75、93の画像フレームが残る。
図3(d)の段階で残った画像フレームと、
図2(d)の段階で残った画像フレームは、同じであるが、最初の段階(
図3(a)、
図2(a))の変化値の配列によっては、本実施の形態の方式によって、実施の形態1の方式に比べて、変化値の大きな画像フレームが残る場合がある。
【0032】
図7は、本実施の形態に係る画像フレーム管理部102の動作例を示すフローチャートである。
なお、以下では、画像フレーム管理部102は、画像フレーム記憶部101の間引き回数0の領域に格納されている画像フレームに対して、変化値に基づいた間引き処理を行い、間引き回数1〜Nの領域に格納されている画像フレームに対しては、等間隔での間引きを行うものとする。
Nは、最後の間引きを行う直前の間引き回数である。
図3では、2回の間引きが行われた後の画像フレーム(
図3(c))に対する間引き(
図3(d))が最後の間引きなので、
図3の例では「N=2」である。
【0033】
先ず、画像フレーム管理部102は、間引き回数が0回の画像フレームを画像フレーム記憶部101から読み出す(S201)。
つまり、画像フレーム管理部102は、画像フレーム記憶部101の間引き回数0の領域から画像フレームを読み出す。
【0034】
次に、画像フレーム管理部102は、読み出した画像フレームを変化値に基づいて間引き、間引き後の画像フレームを画像フレーム記憶部101に書き戻す(S202)。
図3の例のような間引きを行う場合は、画像フレーム管理部102は、変化値が70未満の画像フレームを間引く。
そして、画像フレーム管理部102は、間引き後の画像フレームを、画像フレーム記憶部101の元の領域に書き戻す。
【0035】
画像フレーム管理部102は、間引き回数が0回の画像フレームで間引き処理を行っていない画像フレームがあれば、S201からの動作を繰り返し、全ての画像フレームに対して間引き処理が完了した場合は、S204に進む(S203)。
【0036】
間引き回数が0回の画像フレームの全てに対して間引き処理が完了している場合(S203でYES)は、画像フレーム管理部102は、間引き回数が1〜N回の画像フレームを画像フレーム記憶部101から読み出す(S204)。
【0037】
次に、画像フレーム記憶部101は、読み出した画像フレームを等間隔に間引き、間引き後の画像フレームを画像フレーム記憶部101に書き戻す(S205)。
図3の例のような間引きを行う場合は、画像フレーム管理部102は、画像フレームを1/2に間引く。
そして、画像フレーム管理部102は、間引き後の画像フレームを、画像フレーム記憶部101の元の領域に書き戻す。
【0038】
画像フレーム管理部102は、間引き回数が1〜N回の画像フレームで間引き処理を行っていない画像フレームがあれば、S204からの動作を繰り返し、全ての画像フレームに対して間引き処理が完了した場合は、S207に処理を進める(S206)。
【0039】
画像フレーム管理部102は、画像フレーム記憶部101に対して、各記憶領域の間引き回数を1つ増やすように指示し、画像フレーム記憶部101は画像フレーム管理部102の指示に従い、各記憶領域の間引き回数を1つ増やす(S207)。
S207は、
図6のS107と同様の処理である。
【0040】
このように、本実施の形態では、初めは変化値の小さい画像を削除し、次に、フレームレートを半減する。
本実施の形態により、日数の経過した画像フレームの保存量が減少するため、画像フレームを長期間保存・閲覧できる。
また、大きな変化がある重要な画像フレームを長く保存することができる。
【0041】
実施の形態3.
実施の形態1及び2では、等間隔の間引と、変化値に基づく間引きとを併用する方式を説明した。
本実施の形態では、変化値に基づく間引きのみを行う方式を説明する。
より具体的は、間引き回数に比例して、変化値の閾値を上げていき、時間の経過とともに変化値が高い画像フレームだけを残存させる方式を説明する。
なお、監視システムの構成例は、
図1と同様である。
また、実施の形態1と同じ内容については、説明を省略する。
【0042】
図4は、本実施の形態に係る画像フレーム管理部102が行う間引き処理の概要を示す。
【0043】
図4(a)は、間引かれる前の画像フレーム群を示している。
図4(b)は、
図4(a)の画像フレーム群を間引いた後の状態を示している。
図4(b)では、画像フレーム管理部102は、変換値が50以上の画像フレームを残して間引いている。
つまり、画像フレーム管理部102は、変化値が50未満の画像フレームを削除している。
図4(c)は、
図4(b)の画像フレーム群を間引いた後の状態を示している。
図4(c)では、画像フレーム管理部102は、変換値が60以上の画像フレームを残して間引いている。
つまり、画像フレーム管理部102は、変化値が60未満の画像フレームを削除している。
図4(d)は、
図4(c)の画像フレーム群を間引いた後の状態を示している。
図4(d)では、画像フレーム管理部102は、変換値が70以上の画像フレームを残して間引いている。
つまり、画像フレーム管理部102は、変化値が70未満の画像フレームを削除している。
この結果、変化値75、86、99、100、93、87、70の画像フレームが残る。
なお、毎回の閾値をどの値にするかは設定ファイル103に記述されており、画像フレーム管理部102は、設定ファイル103の設定値に従って、
図4に示す間引き処理を行う。
【0044】
図8は、本実施の形態に係る画像フレーム管理部102の動作例を示すフローチャートである。
【0045】
先ず、画像フレーム管理部102は、変数mに0を代入する(S301)。
変数mは、間引き回数をカウントするための変数である。
【0046】
次に、画像フレーム管理部102は、間引き回数がm回の画像フレームを画像フレーム記憶部101から読み出す(S302)。
【0047】
次に、画像フレーム管理部102は、読み出した画像フレームを、閾値と変化値に基づいて間引き、間引き後の画像フレームを画像フレーム記憶部101に書き戻す(S303)。
閾値は、変数mの値に応じて設定ファイル103に記述されている。
図4の例のような間引きを行う場合は、設定ファイル103に、m=0に対して閾値50が設定され、m=1に対して閾値60が設定され、m=2に対して閾値70が設定されている。
そして、画像フレーム管理部102は、間引き後の画像フレームを、画像フレーム記憶部101の元の領域に書き戻す。
【0048】
画像フレーム管理部102は、間引き回数がm回の画像フレームで間引き処理を行っていない画像フレームがあれば、S302からの動作を繰り返し、全ての画像フレームに対して間引き処理が完了した場合は、S305に進む(S304)。
【0049】
間引き回数がm回の画像フレームの全てに対して間引き処理が完了している場合(S304でYES)は、画像フレーム管理部102は、変数mの値に1を加算する(S305)。
【0050】
次に、画像フレーム管理部102は、変数mの値が、最大値に達したか否かを判断する(S306)。
変数mの値が最大値に達して場合(S306でNO)はS302からの処理を繰り返し、変数mの値が最大値に達した場合は、S307に処理を進める。
図4の例では、間引き処理を3回行うことになっているので、最大値は3である。
図4の例では、S305で変数mの値に1が加算されて、変数mの値が3になった場合に、S306でYESとなる。
【0051】
画像フレーム管理部102は、画像フレーム記憶部101に対して、各記憶領域の間引き回数を1つ増やすように指示し、画像フレーム記憶部101は画像フレーム管理部102の指示に従い、各記憶領域の間引き回数を1つ増やす(S307)。
S307は、
図6のS107と同様の処理である。
【0052】
このように、本実施の形態では、間引きの度に、閾値の数値が高くなるようにして閾値を更新し、閾値未満の変化値の画像フレームを間引くようにしている。
本実施の形態により、日数の経過した画像フレームの保存量が減少するため、画像フレームを長期間保存・閲覧できる。
また、大きな変化がある重要な画像フレームを長く保存することができる。
【0053】
最後に、実施の形態1〜3に示したレコーダー1のハードウェア構成例を
図9を参照して説明する。
レコーダー1は、バスに、演算装置901、二次記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されたコンピュータである。
【0054】
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
二次記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
画像フレーム記憶部101は、例えば、二次記憶装置902により実現される。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)であり、カメラ2からのカメラ画像を受信する。
また、パソコン3にライブ表示やダウンロードを行う際に、カメラ画像をパソコン3に送信する。
入出力装置905は、例えば入力ボタン、キーボード、ディスプレイ装置等である。
【0055】
プログラムは、通常は二次記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、
図1に示す画像フレーム管理部102として説明している機能を実現するプログラムである。
更に、二次記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、
図1に示す画像フレーム管理部102の機能を実現するプログラムを実行する。
また、画像フレーム管理部102の処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
【0056】
なお、
図9の構成は、あくまでもレコーダー1のハードウェア構成の一例を示すものであり、レコーダー1のハードウェア構成は
図9に記載の構成に限らず、他の構成であってもよい。
【0057】
また、実施の形態1〜3に示す手順により、本発明に係る画像管理方法を実現可能である。