(57)【特許請求の範囲】
【請求項１】
映像を記録する映像記録システムにおいて、
記録対象となる映像を記録する第１の記録装置と、前記第１の記録装置に映像が記録された状態において前記記録対象となる映像の記録を開始する第２の記録装置が設けられ、
前記第２の記録装置は、前記記録対象となる映像の最新のものを取得する最新映像取得手段と、前記第１の記録装置に記録された過去の映像を新しいものから過去のものへ向かう順序で取得する過去映像取得手段を備え、前記最新映像取得手段により前記記録対象となる映像の最新のものを取得して記録しつつ、前記過去映像取得手段により前記第１の記録装置に記録された過去の映像を新しいものから過去のものへ向かう順序で取得して記録する、
ことを特徴とする映像記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像記録システムに関し、特に、ネットワークに接続されているネットワークデジタル映像記録システムに関し、複数台のネットワークデジタル映像記録システムの間において映像データを同期化する技術（記録映像同期化技術）に関する。
【背景技術】
【０００２】
遠隔監視システム等では、Ｗｅｂカメラ等の撮像装置で監視領域を順次撮影し、撮影された映像について複数のサイトから時系列的に入力される映像データを磁気ディスク（例えば、ハードディスク）、光ディスク、半導体メモリ等の大容量の記録装置に蓄積（記録又は保存）するとともに、映像をネットワークを介して利用者に配信し、例えば、遠隔地にあるモニタ画面で映像を監視できるようにしている。
【０００３】
図９には、このような映像記録システムの一例を示してある。
複数であるｍ個のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍは、それぞれ、被写体を撮影するカメラから構成され、例えば、監視カメラ或いはＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）カメラ等から構成され、撮影した被写体の映像信号を出力する。
なお、以下の説明では、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍを代表して示す場合には、カメラ装置１０１と称する。
また、カメラ装置１０１には、マイク（図示せず）或いは進入物体検出用のセンサ（図示せず）が設けられているものもあり、この場合には、例えば、これらの出力信号も映像信号に含まれるものとする。但し、他の構成が用いられてもよい。
【０００４】
伝送路１０２は、上述の映像信号を伝送するものであり、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット或いは公衆回線等のネットワークを含み、複数のコンピュータを結んで制御信号やデータなどの信号を伝送する。
複数であるｎ個の情報端末装置１０３−１、１０３−２、・・・、１０３−ｎは、それぞれ、例えば、パーソナルコンピュータ（ＰＣ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のデータ処理装置であり、ネットワーク接続でＷｅｂブラウザ等を搭載し、クライアントＰＣとも呼ばれる。
なお、以下の説明では、複数のクライアントＰＣ１０３−１、１０３−２、・・・、１０３−ｎを代表して示す場合には、クライアントＰＣ１０３と称する。
【０００５】
デジタル記録装置１０４は、ネットワーク（伝送路）１０２に接続されており、例えば、ネットワークデジタルレコーダＮＤＲ（ＮＤＲは、株式会社  日立国際電気の登録商標）である。
なお、以下の説明では、ネットワークデジタルレコーダＮＤＲ１０４をＮＤＲ１０４と称する。
【０００６】
ＮＤＲ１０４は、伝送路１０２を介して、映像の取得や、記録等のための配信を行う装置である。ＮＤＲ１０４は、伝送路１０２を介して、カメラ装置１０１及び映像データ等の視聴やＮＤＲ１０４の設定を行う複数のクライアントＰＣ１０３と接続されている。
また、ＮＤＲ１０４は、コンピュータボード１０５と記録部（記録装置）１０６から構成されている。
【０００７】
コンピュータボード１０５には、伝送路１０２と接続するためのネットワークインターフェイス（ネットワークＩ／Ｆ）１０８と、記録部１０６と接続するための記録部インターフェイス（記録部Ｉ／Ｆ）１０９と、メモリ１１０と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１２が設けられており、これらは制御バス１０７で接続されている。
【０００８】
記録部１０６は、例えば、磁気ディスク、光ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、半導体ディスク等の記録装置から構成することができる。
記録部１０６内には、カメラ装置１０１−１、１０１−２、・・・、１０１−ｍのそれぞれに対応する記録領域１１２−１、１１２−２、・・・、１１２−ｍが記録を行う複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍの数分存在し、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データが各記録領域１１２−１、１１２−２、・・・、１１２−ｍに記録される。
なお、以下では、複数の記録領域を代表して示す場合には、記録領域１１２と称する。
【０００９】
まず、カメラ装置１０１で撮影された映像をＮＤＲ１０４に記録する場合について説明する。
カメラ装置１０１は、撮影した映像信号を、例えば、１フレームずつ、ＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ２）やＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃｓ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）等の画像圧縮方式で圧縮し、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケット形式で、伝送路１０２を介してＮＤＲ１０４へ送信する。
【００１０】
ネットワークＩ／Ｆ１０８は、受信したＩＰパケット形式の映像データを、制御バス１０７上を伝送する形式へ変換して、ＣＰＵ１１１上で動作するＮＤＲソフトウエアへその映像データを引き渡す。
ＣＰＵ１１１のＮＤＲソフトウエアは、受信した映像データを一旦メモリ１１０に格納し、例えば、１０〜１００フレーム程度データをまとめ、そして、カメラ装置１０１の各記録領域１１２の格納位置を計算し、記録部Ｉ／Ｆ１０９を介して記録領域１１２に格納する。
【００１１】
ここで、コンピュータボード１０５のメモリ１１０には、ＮＤＲ１０４の録画動作に必要な情報が格納され、例えば、設定権限者パスワードＰＷ１、或いは、カメラ毎の情報ＣＩが記録される。
図１０には、このような情報の内の代表的なものを示してある。
具体的には、ＮＤＲ１０４に関して、設定権限者パスワードの情報が格納され、また、各カメラ装置１０１に関して、カメラ名、カメラタイプ、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）やＩＰアドレス等からなるアドレス、設定権限者パスワード、スケジュール、記憶領域サイズ（バイト）、先頭フレーム番号と末尾フレーム番号、フレーム番号とフレーム取得時刻、の情報が格納される。なお、他の情報が格納されてもよい。
【００１２】
ＮＤＲ１０４の設定権限者パスワードＰＷ１は、ＮＤＲ１０４の設定変更を行う権限者を識別するめのパスワードである。
各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍに関する情報として、カメラ名は、設定管理者が識別しやすいように名前として付与した文字列である。カメラタイプは、カメラの機種によって通信方式が異なる場合があることから、カメラの機種識別名である。アドレスは、ＮＤＲ１０４を伝送路１０２を介して各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍに接続するために必要なアドレスであり、例えば、各カメラ装置のＵＲＬやＩＰアドレス等である。各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍの設定権限者パスワードは、録画処理によっては各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍの設定を変更する必要があり、また、カメラ装置１０１の設定変更には設定権限者の確認を行うためにパスワードを要求することがあることから、ＮＤＲ１０４から各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍの設定を変更する際に送信するパスワードである。なお、このパスワードは、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍについて、別個に設定されてもよく、或いは、共通に設定されてもよい。
【００１３】
また、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍに関する情報として、スケジュールは、ＮＤＲ１０４が昼と夜で録画のフレームレートを変える等といった処理ができることから、何時の時間にどれくらいのフレームで撮影するかを定めたものであり、例えば、スケジュールテーブルから構成される。記録領域サイズは、記録部１０６上における該当するカメラ装置（例えば、カメラ装置１０１−１等）用の記録領域１１２への記録に必要なバイトサイズである。先頭フレーム番号と、末尾フレーム番号は、それぞれ、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像を記録した最初のフレーム番号と、記録を終了した時の最後のフレーム番号である。各フレーム番号と、各フレームの取得時刻は、それぞれ、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍが被写体を撮像した時の各フレーム番号と、各フレーム毎の取得時刻である。
【００１４】
なお、図１０に示される各カメラ装置１０１に関する情報は、例えば、クライアントＰＣ１０３のＷｅｂブラウザに表示される設定画面から設定することができ、これらについては従来から周知の技術を用いることができるため、ここでは、詳細な説明は省略する。
【００１５】
ＮＤＲ１０４のカメラ１０１用記録領域１１２は、例えば、映像取得開始前に、ＮＤＲ１０４の設定権限者が、クライアントＰＣ１０３から、図１１に示されるような領域設定画面を用いて作成する。
図１１には、例えば、クライアントＰＣ１０３−１の表示画面４０１に表示された領域設定画面（入力設定画面）の一例を示してある。
本例の表示画面４０１における入力設定画面では、ＮＤＲ１０４の設定権限者パスワード入力領域４０２と、カメラＮｏ．選択領域４０３と、記録領域指定領域４０４と、フレームレート選択領域４０５と、記録開始時刻設定領域４０６と、記録終了時刻設定領域４０７と、記録容量選択領域４０８と、ＯＫボタン４０９と、Ｃａｎｃｅｌボタン４１０が表示される。
【００１６】
図１１の例では、カメラＮｏ．選択領域４０３では、例えば、カメラ装置１０１−１が選択表示されている。記録部１０６の記録領域指定領域４０４では、例えば、カメラ１０１−１用の記録領域１１２−１が指定されている。フレームレート選択領域４０５では、例えば、１０枚／秒が設定されている。記録開始時刻設定領域４０６は、記録開始時刻を入力する領域である。記録終了時刻設定領域４０７は、記録終了時刻を入力する領域である。記録容量選択領域４０８は、記録容量を選択する領域であり、例えば、２００ＭＢが選択されている。また、上述した各項目の入力及び選択が正しければ、ＯＫボタン４０９を押すことで、各項目が実行される。また、上述した各項目について修正や変更等がある場合には、Ｃａｎｃｅｌボタン４１０を押して、再入力等を行う。
以上のようにして、ＮＤＲ１０４の設定権限者は、接続するカメラ装置１０１の録画の際のフレームレートや記録時間等を勘案して、カメラ１０１用の記録領域１１２のバイトサイズを決定する。
【００１７】
図１２には、例えば、カメラ装置１０１−１で撮像された映像データをＮＤＲ１０４のカメラ１０１−１用記録領域１１２−１に記録し、クライアントＰＣ１０３−１からの映像要求に従って、映像データを読み出す場合における動作の一例を概念的に示してある。
本例では、映像データをカメラ１０１−１用記録領域１１２−１に記録する方式として、領域の先頭から記録を開始して末尾に到達するとまた先頭から上書きを行う方式、所謂、循環記録方式を採用している。
【００１８】
本例では、映像１フレームよりも充分に大きい固定長の管理単位（例えば、１ＭＢｙｔｅ）をブロックと呼称する。
カメラ用記録領域１１２は、複数のブロック１１２０で構成される。ブロックを循環的に利用することで循環記録を実現している。
映像録画時には、自動的に容量拡張を行わず、予め確保された領域内での循環記録を行う。
また、メモリ１１０に、映像記録時に用いる記録用キャッシュメモリ１３０と、読み出し用キャッシュメモリ１４０が確保されている。これら、映像記録時に用いる記録用キャッシュメモリ１３０と、読み出し用キャッシュメモリ１４０のバイトサイズは、それぞれ、ブロックのバイトサイズと同一である。
【００１９】
カメラ装置１０１から取得された映像データを、一旦、記録用キャッシュメモリ１３０にフレーム単位で詰めて格納していき、１ブロック分の映像データを溜めてから、カメラ用記録領域１１２に格納する。
フレーム毎に、管理用の、例えば、フレーム番号（一例として、カメラ毎に独立した１からの連番）を付与し、同時に、映像取得時刻も記録する。従って、メモリ１１０には、先頭フレーム番号及び末尾フレーム番号も記録している。
同様に、ブロックの管理用に、ブロック番号（一例として、カメラ毎に独立した１からの連番）を付与する。従って、メモリ１１０には、先頭ブロック番号及び末尾フレーム番号も記録している。
【００２０】
次に、上記のようにして記録された映像を再生する場合について説明する。
ＮＤＲ１０４に記録された映像を視聴したいユーザは、クライアントＰＣ１０３、例えば、クライアントＰＣ１０３−１の再生ソフトウエアを稼働させる。これによって、ＮＤＲ再生ソフトウエアは、ＮＤＲ１０４から１フレーム単位で映像データを取得し、クライアントＰＣ１０３−１の画面上に映像の表示、再生処理を行うことができる。
【００２１】
これについて更に詳述する。
クライアントＰＣ１０３−１上のＮＤＲ再生ソフトウエアは、ＩＰパケット形式で映像配信要求を伝送路１０２を介してＮＤＲ１０４へ送信する。クライアントＰＣ１０３−１から送出された映像配信要求は、ＩＰ形式で、伝送路１０２を伝達し、ＮＤＲ１０４のネットワークＩ／Ｆ１０８に到達する。ネットワークＩ／Ｆ１０８は、受信したＩＰ形式の映像配信要求を制御バス１０７上に伝送する形式へ変換して、ＣＰＵ１１１上で動作するＮＤＲソフトウエアへ伝送する。
【００２２】
ＮＤＲソフトウエアは、映像配信要求に従い、記録部Ｉ／Ｆ１０９を介して、例えば、カメラ１０１−１用記録領域１１２−１から、要求フレームを含むブロックを読み出し用キャッシュメモリ１４０に読み出し、キャッシュメモリ上の当該フレームの映像データを、ＩＰ形式で、ネットワークＩ／Ｆ１０８及び伝送路１０２を介して、クライアントＰＣ１０３−１へ送信する。
クライアントＰＣ１０３−１上のＮＤＲ再生ソフトウエアは、受信した映像データをデコードして、画面上に表示する。なお、クライアントＰＣ１０３−１から映像データの１フレームを取得する際には、映像取得時刻又はフレーム番号で指定して目的の映像データを取得することができる。
【００２３】
ところで、映像監視システムにおいて、高いセキュリティが要求される場合には、ＮＤＲの故障による録画停止も許されないことがある。この場合には、２台のＮＤＲで録画を行い、一方が故障で停止していても、もう一方で録画を続け、そして、故障から復帰したＮＤＲが、停止期間の映像を、稼動中のＮＤＲから取得して映像データを補完する、といった並列運用が行われる。
また、単体のＮＤＲで録画を行うシステムにおいても、記録装置のＨＤＤは消耗品であり、一定期間毎に交換することが望ましい。この交換の際にも、既存のＨＤＤ内の映像データを新しいＨＤＤへ移した上で、運用することが望まれており、停止時間無しに置き換える方法が検討等されている。
【００２４】
【特許文献１】特開２００４−２２７７１９号公報
【特許文献２】特開２００７−２２８１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
監視システムにおける常時記録では、何らかの事象があった場合に、その時に何が起こったのかを映像で確認できることが重要である。
言い換えれば、通常、監視システムにおける映像記録では、常時記録は行われていても、その映像の視聴は何らかの事象があった場合にしか行われない。
視聴者が、事象があったことに気付くまでに要する時間は、数時間から数日と言われており、その間に一度も視聴されなかった映像は、そのまま上書きされるまで視聴されない場合がほとんどである。
そういう意味で、視聴者の立場で記録映像に価値を付けるとすれば、現在時刻から一定時間前（例えば、数時間〜数日の前）までの映像の価値が高く、それ以前の古い映像の価値は時間経過と共に緩やかに減少していく、と言える。
【００２６】
単体のＮＤＲ１０４で運用されている監視システムに対して並列運用を行うためにＮＤＲを追加した場合、又は、置き換え機能で新しいＨＤＤへ映像を移す場合において、既存の方法では、既存のＮＤＲ１０４内の最古の映像から順次新しい方向へ移しており、記録容量が大きいときには、既存の映像データの移動に時間を要し、新しいＨＤＤで最新（現在時刻）の映像データを記録するまでに（現在時刻に追いつくまでに）、相当の時間を要する。
【００２７】
しかしながら、このような映像データの移動中に、既存側のＮＤＲ１０４が故障等で停止したような場合があるとすると、映像データの移動が完全には行われなくなると考えられる。
また、例えば、既存側のＮＤＲ１０４が停止した時点から、カメラ装置１０１からの映像記録を新規側のＮＤＲで行うとしても、既存側のＮＤＲ１０４が停止した直前辺りの映像は欠落すると考えられる。この場合、新規側のＮＤＲには先の例で言う価値の高い映像が記録されていない状態が発生し得る。
【００２８】
本発明は、このような従来の事情に鑑み為されたもので、例えば、単体のＮＤＲで運用されている監視システムで並列運用を行うために他のＮＤＲを追加した場合、又は、置き換え機能で新しいＨＤＤへ映像を移すような場合において、複数の記録装置の間で記録映像の同期を効果的に確立することができる映像記録システムを提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するため、本発明では、映像を記録する映像記録システムにおいて、次のような構成とした。
すなわち、記録対象となる映像を記録する第１の記録装置と、前記第１の記録装置に映像が記録された状態において前記記録対象となる映像の記録を開始する第２の記録装置が設けられる。
前記第２の記録装置は、前記記録対象となる映像の最新のものを取得する最新映像取得手段と、前記第１の記録装置に記録された過去の映像を新しいものから過去のものへ向かう順序で取得する過去映像取得手段を備える。そして、前記第２の記録装置では、前記最新映像取得手段により前記記録対象となる映像の最新のものを取得して記録しつつ、前記過去映像取得手段により前記第１の記録装置に記録された過去の映像を新しいものから過去のものへ向かう順序で取得して記録する。
【００３０】
従って、記録対象となる映像について、第１の記録装置に映像が記録された状態において、その後に第２の記録装置により映像を記録することを開始する場合に、その開始時点を起点として未来方向の映像（最新のもの）と過去方向の映像の両方を同時に順次取得して記録していくことにより、例えば、未来方向の映像を記録していくことができるとともに、現時点に近くて価値があると考えられる新しいものを優先させて過去のものへ向かう順序で過去の映像を記録していくことができる。具体例として、単体のＮＤＲで運用されている監視システムで並列運用を行うために他のＮＤＲを追加した場合、又は、置き換え機能で新しいＨＤＤへ映像を移すような場合において、複数の記録装置の間で記録映像の同期を効果的に確立することができる。
【００３１】
ここで、映像としては、種々なものが用いられてもよく、例えば、カメラにより撮像されるリアルタイムの映像を用いることができる。
また、第２の記録装置が記録対象となる映像の最新のものを取得する手法としては、例えば、カメラにより撮像されるリアルタイムの映像を第１の記録装置により取得して記録していく場合に、第１の記録装置によりカメラから取得された最新の映像を当該第１の記録装置から間接的に取得する手法が用いられてもよく、或いは、最新の映像をカメラから直接的に取得する手法が用いられてもよい。
【発明の効果】
【００３２】
以上説明したように、本発明に係る映像記録システムによると、第１の記録装置に映像が記録された状態から第２の記録装置により映像の記録を開始する場合に、第２の記録装置では、その時点を起点として未来方向の映像と過去方向の映像を順次取得して記録していくようにしたため、価値が高いと考えられる映像を時間的に優先させて先に記録することができ、複数の記録装置の間で記録映像の同期を効果的に確立することができる。
【発明を実施するための最良の形態】
【００３３】
本発明に係る実施例を図面を参照して説明する。
図１には、本発明の一実施例に係る映像記録システムの構成例を示す図である。
なお、説明の便宜上から、図１では、図９に示される構成部と同様なものには、同一の符号又は同様な符号が付されているが、本実施例で特徴的な構成や動作については、必ずしも図９に示される場合と同じではない。
【００３４】
本例の映像記録システムは、複数であるｍ個のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍと、伝送路１０２と、複数であるｎ個の情報端末装置（クライアントＰＣとも言う）１０３−１、１０３−２、・・・、１０３−ｎと、２個のネットワークデジタル記録装置１０４−１、１０４−２を備えている。
本例では、各ネットワークデジタル記録装置１０４−１、１０４−２は、伝送路（ネットワーク）１０２に接続されているネットワークデジタルレコーダＮＤＲ（ＮＤＲは、株式会社  日立国際電気の登録商標）である。
【００３５】
なお、以下の説明では、各ネットワークデジタルレコーダＮＤＲ１０４−１、１０４−２を、それぞれ、ＮＤＲ１０４−１（第１のデジタル記録装置とも言う）、ＮＤＲ１０４−２（第２のデジタル記録装置とも言う）と称する。
また、以下の説明では、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍを代表して示す場合には、カメラ装置１０１と称する。
また、以下の説明では、複数のクライアントＰＣ１０３−１、１０３−２、・・・、１０３−ｎを代表して示す場合には、クライアントＰＣ１０３と称する。
【００３６】
ここで、ＮＤＲ１０４−１は、既に、カメラ装置１０１からの映像が記録されている記録装置であり、また、ＮＤＲ１０４−２は、新たに設置された記録装置である。
ＮＤＲ１０４−１及びＮＤＲ１０４−２は、伝送路１０２を介して、映像の取得や記録等のための配信を行う装置である。ＮＤＲ１０４−１及びＮＤＲ１０４−２は、伝送路１０２を介して、カメラ装置１０１及び映像データ等の視聴やＮＤＲの設定を行う複数のクライアントＰＣ１０３と接続されている。
【００３７】
ＮＤＲ１０４−１（第１のデジタル記録装置）は、コンピュータボード１０５−１と記録部１０６−１から構成されている。
コンピュータボード１０５−１には、伝送路１０２と接続するためのネットワークインターフェイス（ネットワークＩ／Ｆ）１０８−１と、記録部１０６−１と接続するための記録部インターフェイス（記録部Ｉ／Ｆ）１０９−１と、メモリ１１０−１（以下、第１の管理メモリ１１０−１とも称する）と、ＣＰＵ１１１−１（以下、第１の制御部１１１−１とも言う）が設けられており、これらは制御バス１０７−１で接続されている。
【００３８】
記録部１０６−１は、例えば、磁気ディスク、光ディスク、ＤＶＤ、半導体ディスク等の記録装置から構成することができる。
記録部１０６−１内には、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍのそれぞれに対応する記録領域１１２−１、１１２−２、・・・、１１２−ｍが記録を行う複数のカメラ装置１０１の数分存在し、各カメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データが各記録領域１１２−１、１１２−２、・・・、１１２−ｍに記録される。
なお、以下では、複数の記録領域を代表して示す場合には、記録領域１１２と称する。
【００３９】
本例の記録領域１１２には、図９に示されるシステムについて説明したのと同様に、各カメラ装置１０１からの映像、例えば、監視映像がフレーム単位で記録されている。
また、第１の管理メモリ１１０−１には、図１０に示されるように、各カメラ装置１０１に関係する情報が記録されている。
なお、図１０に示されるような各カメラ装置１０１に関係する情報は、例えば、記録部１０６−１の各記録領域１１２にも記録することもできる。
【００４０】
同様に、ＮＤＲ１０４−２（第２のデジタル記録装置）は、コンピュータボード１０５−２と記録部１０６−２から構成されている。
コンピュータボード１０５−２には、伝送路１０２と接続するためのネットワークインターフェイス（ネットワークＩ／Ｆ）１０８−２と、記録部１０６−２と接続するための記録部インターフェイス（記録部Ｉ／Ｆ）１０９−２と、メモリ１１０−２（以下、第２の管理メモリ１１０−２とも称する）と、ＣＰＵ１１１−２（以下、第２の制御部とも言う）が設けられており、これらは制御バス１０７−２で接続されている。
【００４１】
記録部１０６−２は、例えば、磁気ディスク、光ディスク、ＤＶＤ、半導体ディスク等の記録装置から構成することができる。
記録部１０６−２は、まだ、映像が記録されていない状態、即ち、フォーマットはされているが、記録領域は形成されていない状態である。なお、記録領域が形成されていない状態とは、未使用の新品である状態や、或いは、予め映像データを全て削除した状態等を言う。
図１では、一例として、カメラ１０１−１用記録領域１１３−１を示してある。このカメラ１０１−１用記録領域１１３−１は、ＮＤＲ１０４−１の記録部１０６−１のカメラ１０１−１用記録領域１１２−１の記録データ及びカメラ装置１０１−１で撮像中の映像データを引き継ぐ記録領域である。また、他のカメラ装置１０１−２、・・・、１０１−ｍについても、カメラ装置１０１−１と同様に、データを引き継ぐ記録領域１１３−２、・・・、１１３−ｍを設けることができる。
なお、記録部１０６−１の記録容量と記録部１０６−２の記録容量としては、例えば、同じ容量であってもよく、或いは、異なる容量であってもよい。
【００４２】
以下では、以上のような状態において、まず、単純なケースである（ケース１）として、１台が既に稼動中でカメラ装置１０１からの監視映像を記録している状態であり、もう一方が記録領域に監視映像が記録されていない状態（ＨＤＤが新品等の状態）である場合における処理の例を説明する。その後に、（ケース２）として、２台での並列稼働中に１台が停止した後に復帰した場合における処理の例を説明する。
【００４３】
（ケース１）
ケース１における処理の例を示す。
１台が稼動中であり、もう１台が例えば新品である場合について説明する。
本例では、説明のために、ＮＤＲ１０４−１が稼動中であって、既に、カメラ装置１０１−１から映像データを取得して記録しているとし、また、ＮＤＲ１０４−２が新品であって、記録部１０６−２内に映像データが存在せず、カメラ用記録用領域も割り当てられていないとする。
【００４４】
図２（ａ）〜（ｄ）を参照して、処理の概要を説明する。
図２（ａ）には、ＮＤＲ１０４−１のカメラ用記録領域の一例を示してある。このカメラ用記録領域は、既に長時間稼動しており、カメラ装置からの最新映像を、古い映像に、上書きしている状態である。図では、時計回りで循環記録を行っている場合を示してある。
図２（ｂ）には、ＮＤＲ１０４−２のカメラ用記録領域の初期時の状態の一例を示してある。カメラ用記録領域に映像データが無い状態である。本例では、説明の便宜上から、図中の０時の位置から映像データの記録を行うとする。
【００４５】
図２（ｃ）には、ＮＤＲ１０４−２がＮＤＲ１０４−１から映像データの取得を行っている際におけるＮＤＲ１０４−２のカメラ用記録領域の状態の一例を示してある。最新の映像を取得して時計周りに記録すると同時に、並行して、過去側の映像を取得して反時計周りに記録している様子を示してある。
図２（ｄ）には、ＮＤＲ１０４−２が過去側の映像取得を終える時点におけるＮＤＲ１０４−２のカメラ用記録領域の状態の一例を示してある。最新映像の記録先と過去側の映像の記録先とが重なった際に、過去側映像の取得と記録を終了する。以後は、最新映像の取得と記録のみを行う。この時点で、ＮＤＲ１０４−１と映像データの同期化が完了したとする。
【００４６】
図３を参照して、図２（ｃ）に示される状態における映像データの流れの様子の一例を説明する。なお、本例では、カメラ装置１０１−１からの映像データの流れについて示すが、他のカメラ装置１０１−２、・・・、１０１−ｍからの映像データの流れについても同様である。
カメラ装置１０１−１からの映像データを、ＮＤＲ１０４−１の記録用キャシュメモリ１３０に一旦溜めた後に、記録部１０６−１のカメラ１０１−１用記録領域１１２−１に前述と同様に循環記録で保存する。
本例では、カメラ装置１０１からの映像データの取得の方法としては、例えば、ＮＤＲ１０４−１からの１フレーム毎の映像要求に対してカメラ装置１０１−１から１フレーム単位で映像データが送られ、記録用キャシュメモリ１３０にブロックに収まる範囲で映像データを溜めた後に、ＮＤＲ１０４−１の記録部１０６−１に記録する。
【００４７】
そして、ＮＤＲ１０４−２は、初期化処理としてカメラ用記録領域の領域確保を行い、その後に映像同期化処理を開始する。
映像同期化処理を開始すると、ＮＤＲ１０４−２は、カメラ装置１０１−１の映像データを取得するために、最新側映像取得用のスレッド（最新側映像データ取得スレッド）１３−Ｎｅｗ１と、過去側映像取得用のスレッド（過去側映像データ取得スレッド）１３−Ｏｌｄ１を起動する。
ここで、最新側映像取得用のスレッド１３−Ｎｅｗ１は、１フレーム分の受信用バッファ１３１−Ｎｅｗ１と、記録用キャッシュメモリ１３０−Ｎｅｗ１を持つ。
また、過去側映像取得用のスレッド１３−Ｏｌｄ１は、１フレーム分の受信用バッファ１３１−Ｏｌｄ１と、記録用キャッシュメモリ１３０−Ｏｌｄ１を持つ。
【００４８】
最新側映像取得用のスレッド１３−Ｎｅｗ１は、常時、ＮＤＲ１０４−１から最新映像を取得し、カメラ１０１−１用記録領域に映像データを記録していく働きをする。
最新側映像取得用のスレッド１３−Ｎｅｗ１は、ＮＤＲ１０４−１に対して最新映像を要求し、ＮＤＲ１０４−１の読み出し用キャッシュメモリ１４０−１から返送されたフレーム単位の映像データを、１フレーム分の受信用バッファ１３１−Ｎｅｗ１に格納し、そして、記録用キャッシュメモリ１３０−Ｎｅｗ１に受信した映像データを格納できるだけの空きサイズがあれば、受信した映像データを記録用キャッシュメモリ１３０−Ｎｅｗ１に即座に格納し、また、空きがなければ、記録用キャッシュメモリ１３０−Ｎｅｗ１の内容をカメラ１０１−１用記録領域１１３−１の該当するブロックに書き出して、記録用キャッシュメモリ１３０−Ｎｅｗ１をクリアした後に、受信した映像データを記録用キャッシュメモリ１３０−Ｎｅｗ１に格納する。
ここで、最新映像データを溜めた記録用キャッシュメモリ１３０−Ｎｅｗ１の書き出し先のブロックとしては、図２（ｃ）に示されるように、順方向（図２（ｃ）中で時計回り）に、順々に書き加えていく。
【００４９】
過去側映像取得用のスレッド１３−Ｏｌｄ１は、新しい方から古い方へと順々に過去映像を取得して、カメラ１０１−１用記録領域に映像データを記録していく働きをする。
過去側映像取得用のスレッド１３−Ｏｌｄ１は、ＮＤＲ１０４−１に対して過去映像を要求し、ＮＤＲ１０４−１の読み出し用キャッシュメモリ１４０−２から返送されたフレーム単位の映像データを、１フレーム分の受信用バッファ１３１−Ｏｌｄ１に格納し、そして、記録用キャッシュメモリ１３０−Ｏｌｄ１に受信した映像データを格納できるだけの空きサイズがあれば、受信した映像データを記録用キャッシュメモリ１３０−Ｏｌｄ１に即座に格納し、また、空きがなければ、記録用キャッシュメモリ１３０−Ｏｌｄ１の内容をカメラ１０１−１用記録領域１１３−１の該当するブロックに書き出して、記録用キャッシュメモリ１３０−Ｏｌｄ１をクリアした後に、受信した映像データを記録用キャッシュメモリ１３０−Ｏｌｄ１に格納する。
ここで、過去映像データを溜めた記録用キャッシュメモリ１３０−Ｏｌｄ１の書き出し先のブロックとしては、図２（ｃ）に示されるように、逆方向（図２（ｃ）中で反時計回り）に、下記の終了条件を満たすまで、順々に書き加えていく。
【００５０】
過去側映像取得用のスレッド１３−Ｏｌｄ１が終了する条件を記す。
過去側映像取得用のスレッド１３−Ｏｌｄ１が終了する条件１としては、カメラ用記録領域内で、最新映像で上書きされるブロックまで過去側の映像データを取得した場合がある。
過去側映像取得用のスレッド１３−Ｏｌｄ１が終了する条件２としては、映像取得元（本例では、ＮＤＲ１０４−１）内に存在する過去側映像データを全て取得し終えた場合がある。
過去側映像取得用のスレッド１３−Ｏｌｄ１が終了する条件３としては、予め指定されていた条件を満たした場合がある。ここで、この条件としては、例えば、何時間前までといった時間指定の条件や、或いは、過去側映像データの総バイトサイズの条件や、或いは、カメラ用記録領域に対する比率の条件などを用いることができる。
【００５１】
受信した映像データを記録用キャッシュメモリに格納する方法は、最新側映像取得用のスレッド１３−Ｎｅｗ１と過去側映像取得用のスレッド１３−Ｏｌｄ１とで異なる。
図４（ａ）〜（ｃ）を参照して、この違いを説明する。
記録用キャッシュメモリ１３０の内容は、そのまま記録部のカメラ用記録領域の該当するブロックに書き込まれる。このため、図４（ａ）に示されるように、記録用キャッシュメモリ１３０の先頭部分には、ブロックの管理用の情報を格納するブロック管理領域１５１を確保してある。
ブロック管理領域１５１には、このブロック内に格納している全映像フレームのそれぞれについて、「フレーム番号」１３１０、「先頭アドレス」１３１１、「バイトサイズ」１３１２、「フレーム時刻」１３１３を保持する。
【００５２】
フレーム番号１３１０には、該当するフレームの管理用番号を記してある。
先頭アドレス１３１１には、該当するフレームのブロック内での開始アドレスを記してある。
バイトサイズ１３１２には、該等するフレームのバイトサイズを記してある。
フレーム時刻１３１３には、映像データがカメラ装置（例えば、ＩＰカメラ）で生成された時刻を記してある。
【００５３】
図４（ａ）に示されるように、記録用キャッシュメモリ１３０の領域からブロック管理領域１５１を除いた領域に、フレーム単位の映像データを時系列順に並べて格納する。
図４（ｂ）に示されるように、最新側映像記録スレッドが使用する記録用キャッシュメモリ１３０−Ｎｅｗ１では、映像データを取得した順に、キャッシュメモリの先頭から順々に格納していく。
【００５４】
一方、図４（ｃ）に示されるように、過去側映像記録スレッドが使用する記録用キャッシュメモリ１３０−Ｏｌｄ１では、映像データを取得した順に、キャシュメモリの末尾から順々に格納していく。
具体的には、ＮＤＲ１０４−１からは、時刻が（ｔ、ｔ−１、ｔ−２、ｔ−３、ｔ−４、ｔ−５、・・・）といったように、新しい方から古い方へ向かって映像データを取得し、ＭＢｌｏｃｋ内には末尾から詰めて行くため、結果的に、ＭＢｌｏｃｋの先頭からは映像データが時系列順に並ぶ。
【００５５】
図５〜図７に示されるフローチャートを参照して、図２（ｂ）、（ｃ）、（ｄ）に示される処理の流れを説明する。
図５（ａ）を参照して、ＮＤＲ１０４−２の初期化処理の流れの一例を説明する。
ＮＤＲ１０４−２の記録部１０６−２は、新品であり、カメラ用記録領域が確保されていない状態である。初期化処理では、新品の記録部１０６−２に、カメラ用記録領域を設ける作業を行う。
【００５６】
具体的には、全記録領域の初期化処理が開始されると（ステップＳ１）、ＮＤＲ１０４−２は、ＮＤＲ１０４−１から、ＮＤＲ１０４−１の「カメラ用記録領域」の数（何個あるか）、各「カメラ用記録領域」のブロック数、及び、未使用領域のブロック数（カメラ用記録領域に割り当てられてないブロック数）の情報を取得する（ステップＳ２）。そして、ＮＤＲ１０４−２は、ＮＤＲ１０４−２の記録装置（例えば、ハードディスク）内に、前記取得した、各「カメラ用記録領域」と未使用領域とのブロック数の比がＮＤＲ１０４−１と同じになるように、各「カメラ用記録領域」を作成し（ステップＳ３）、初期化処理を終了する（ステップＳ４）。
【００５７】
図５（ｂ）を参照して、各「カメラ用記録領域」別処理の初期化処理の流れの一例を説明する。
この処理が開始されると（ステップＳ１１）、ＮＤＲ１０４−１から、所定の変数に格納する値を取得する（ステップＳ１２）。具体的には、ＮＤＲ１０４−１の該当する「カメラ用記録領域」のブロック数を取得して、変数「ｓｒｃＮＤＲ＿ｎｕｍＯｆＢｌｏｃｋｓ」に格納し、ＮＤＲ１０４−１の該当する「カメラ用記録領域」内に存在する映像のフレーム数を取得して、変数「ｓｒｃＮＤＲ＿ｎｕｍＯｆＦｒａｍｅｓ」に格納し、ＮＤＲ１０４−１の該当する「カメラ用記録領域」の最新映像のフレーム番号（「最新のフレーム番号」）を取得して、変数「ｓｒｃＮＤＲ＿ｎｅｗｅｓｔＦｒａｍｅＮｕｍ」に格納する。
【００５８】
次に、動作に必要な所定の変数の初期化を行う（ステップＳ１３）。
具体的には、１ブロックのバイトサイズを「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」に格納し、ブロック内の管理領域１５１のバイトサイズ「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋＨｅａｄｅｒ」に格納する。なお、記録用キャッシュメモリ１３０のバイトサイズも「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」となる。
また、過去側映像取得用のスレッド１３−Ｏｌｄ１の要求フレーム番号の変数「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」を（「ｓｒｃＮＤＲ＿ｎｅｗｅｓｔＦｒａｍｅＮｕｍ」−１）とし、過去側映像取得用のスレッド１３−Ｏｌｄ１の書込用フレーム番号の変数「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＦＮ」を（「ｓｒｃＮＤＲ＿ｎｕｍＯｆＦｒａｍｅｓ」−１）とし、過去側映像取得用のスレッド１３−Ｏｌｄ１の書込用ブロック番号の変数「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」を（「ｓｒｃＮＤＲ＿ｎｕｍＯｆＢｌｏｃｋｓ」−１）とし、最新側映像取得用のスレッド１３−Ｎｅｗ１の要求フレーム番号の変数「ｎｅｗｓｉｄｅ＿ＲｅｑＦＮ」を「ｓｒｃＮＤＲ＿ｎｅｗｅｓｔＦｒａｍｅＮｕｍ」とし、最新側映像取得用のスレッド１３−Ｎｅｗ１の書込用フレーム番号の変数「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＦＮ」を「ｓｒｃＮＤＲ＿ｎｕｍＯｆＦｒａｍｅｓ」とし、最新側映像取得用のスレッド１３−Ｎｅｗ１の書込用ブロック番号の変数「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」を「ｓｒｃＮＤＲ＿ｎｕｍＯｆＢｌｏｃｋｓ」とする。
また、この「カメラ用記録領域」のブロック数を「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」に格納する。
【００５９】
次に、過去側映像取得用のスレッド（Ｔｈｒｅａｄ）１３−Ｏｌｄ１を作成する（ステップＳ１４）。
過去側映像取得用のスレッド１３−Ｏｌｄ１は、ステップＳ１６の処理（図７（ａ）の処理）を開始するように移行する。
また、このスレッドは、最新側映像取得用のスレッド１３−Ｎｅｗ１として、ステップＳ１５の処理（図６（ａ）の処理）を開始するように移行する。
【００６０】
図６を参照して、最新側映像取得用のスレッド１３−Ｎｅｗ１の動作の一例を示す。
最新側映像取得用のスレッド１３−Ｎｅｗ１により最新映像記録のスレッド処理が開始されると（ステップＳ２１）、変数初期化処理として、変数「ｃａｃｈｅＰｔｒ」を「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋＨｅａｄｅｒ」とする（ステップＳ２２）。
次に、ＮＤＲ１０４−１に対してフレーム番号「ｎｅｗｓｉｄｅ＿ＲｅｑＦＮ」の映像データを要求して、要求した映像データをＮＤＲ１０４−１から受信し、これにより取得した映像データを１フレーム用の受信用バッファ１３１−Ｎｅｗ１のメモリに格納する、また、取得した映像データのバイトサイズを変数「ｆｒａｍｅＳｉｚｅ」に格納する（ステップＳ２３）。
【００６１】
次に、記録用キャッシュメモリ１３０−Ｎｅｗ１に受信した映像データを格納することができるか否かを確認して（ステップＳ２４）、それぞれの結果に応じた処理へ移行する。
具体的には、（「ｃａｃｈｅＰｔｒ」＋「ｆｒａｍｅＳｉｚｅ」）が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」以下である場合には、ステップＳ２８の処理へ移行し、また、（「ｃａｃｈｅＰｔｒ」＋「ｆｒａｍｅＳｉｚｅ」）が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」を超える場合には、ステップＳ２５〜ステップＳ２７の処理を行った後にステップＳ２８の処理へ移行する。
【００６２】
なお、前記した「「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」以下である場合」と「「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」を超える場合」の条件は、「「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」未満である場合」と「「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」以上である場合」の条件へ置き換えることも可能である。
【００６３】
ステップＳ２５〜ステップＳ２７の処理について説明する。
この処理では、記録用キャッシュメモリ１３０−Ｎｅｗ１が映像データで満杯となったため、記録部１０６−２（例えば、ＨＤＤ）の該当するブロックに記録する。つまり、キャッシュメモリの内容を記録部に書き出す。
具体的には、まず、ブロック（Ｂｌｏｃｋ）内の管理領域に、ブロック番号「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」の値の情報を格納（記載）し、ブロック内の全フレームのそれぞれについて「先頭アドレス」、「バイトサイズ」、「フレーム時刻」、「フレーム番号」の情報を格納（記載）する（ステップＳ２５）。
【００６４】
次に、最新側書込用キャッシュメモリである記録用キャッシュメモリ１３０−Ｎｅｗ１の内容を、記録部１０６−２における該当するカメラ用記録領域の（「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」％「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」）番目のブロックに書き込んで記録する（ステップＳ２６）。ここで、「Ａ％Ｂ」は、ＡをＢで割ったときの余りを表す。
そして、変数の更新として、「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」の値を１だけ増加させ（１インクリメントし）、また、「ｃａｃｈｅＰｔｒ」を「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋＨｅａｄｅｒ」とする（ステップＳ２７）。
【００６５】
ステップＳ２８の処理では、１フレーム用の受信バッファ１３１−Ｎｅｗ１のメモリの映像データを、最新側書込用キャッシュメモリである記録用キャッシュメモリ１３０−Ｎｅｗ１内の「ｃａｃｈｅＰｔｒ」に対応するアドレスの位置に格納（コピー）する。そして、変数の更新として、「ｃａｃｈｅＰｔｒ」に「ｆｒａｍｅＳｉｚｅ」を加算し、また、「ｎｅｗｓｉｄｅ＿ＲｅｑＦＮ」の値を１だけ増加させて（１インクリメントして）、ステップＳ２３の処理へ戻る。
【００６６】
図７（ａ）、（ｂ）を参照して、過去側映像取得用のスレッド１３−Ｏｌｄ１の動作の一例を示す。
図７（ａ）に示される動作について説明する。
過去側映像取得用のスレッド１３−Ｏｌｄ１により過去映像記録のスレッド処理が開始されると（ステップＳ３１）、変数初期化処理として、変数「ｃａｃｈｅＰｔｒ」を「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」とする（ステップＳ３２）。
次に、過去側映像取得用のスレッドの終了条件（１）を満たすか否かを確認する（ステップＳ３３）。
具体的には、（「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」−「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」）が「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」以上である場合には、終了条件（１）を満たしており、スレッドを終了する（ステップＳ３４）。
【００６７】
一方、（「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」−「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」）が「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」未満である場合には、ＮＤＲ１０４−１への要求フレームの番号が０以上であるか否かを確認する（ステップＳ３５）。
具体的には、「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」が負の数である場合には、ＮＤＲ４０１−１の録画開始時の映像まで取得しており、過去側映像取得用のスレッドの終了条件（２）を満たしているため、「記録用キャッシュメモリ」１３０−Ｏｌｄ１の映像データを記録部１０６−２（記録装置）に書き出す処理を行った後に（ステップＳ３８）、スレッドを終了する（ステップＳ３９）。
【００６８】
一方、「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」が０以上である場合には、ＮＤＲ１０４−１に対してフレーム番号「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」の映像データを要求する（ステップＳ３６）。
次に、要求したフレーム番号「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」の映像データを取得することができたか否かを確認する（ステップＳ３７）。
具体的には、要求したフレーム番号「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」の映像データがＮＤＲ１０４−１には既に無くなっていて（上書済みであって）、当該映像データを取得することができなった場合には、「記録用キャッシュメモリ」１３０−Ｏｌｄ１の映像データを記録部１０６−２（記録装置）に書き出す処理を行った後に（ステップＳ３８）、スレッドを終了する（ステップＳ３９）。
【００６９】
一方、要求したフレーム番号「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」の映像データを取得することができた場合には、ＮＤＲ１０４−１から取得した当該映像データを１フレーム用の受信バッファ１３１−Ｏｌｄ１のメモリに格納する。また、取得した映像データのバイトサイズを変数「ｆｒａｍｅＳｉｚｅ」に格納する（ステップＳ４０）。
【００７０】
次に、記録用キャッシュメモリ１３０−Ｏｌｄ１に受信した映像データを格納することができるか否かを確認する（ステップＳ４１）。
具体的には、（「ｃａｃｈｅＰｔｒ」−「ｆｒａｍｅＳｉｚｅ」）が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋＨｅａｄｅｒ」より小さい場合には、ステップＳ４３の処理へ移行し、また、（「ｃａｃｈｅＰｔｒ」−「ｆｒａｍｅＳｉｚｅ」）が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋＨｅａｄｅｒ」以上である場合には、ステップＳ４２の処理を行った後にステップＳ４３の処理へ移行する。
【００７１】
ステップＳ４２の処理では、記録用キャッシュメモリ１３０−Ｏｌｄ１が映像データで満杯となったため、記録部１０６−２（例えば、ＨＤＤ）の該当するブロックに記録する。つまり、キャッシュメモリの内容を記録部に書き出す。
ステップＳ４３の処理では、１フレーム用の受信バッファ１３１−Ｏｌｄ１のメモリの映像データを、過去側書込用キャッシュメモリである記録用キャッシュメモリ１３０−Ｏｌｄ１内の「ｃａｃｈｅＰｔｒ−ｆｒａｍｅＳｉｚｅ」に対応するアドレスの位置に格納（コピー）する。そして、変数の更新として、「ｃａｃｈｅＰｔｒ」から「ｆｒａｍｅＳｉｚｅ」を減算し、また、「ｏｌｄｓｉｄｅ＿ＲｅｑＦＮ」の値を１だけ減少させて（１デクリメントして）、ステップＳ３３の処理へ戻る。
【００７２】
図７（ｂ）に示される動作について説明する。なお、この動作は、ステップＳ３８やステップＳ４２の「記録用キャッシュ」書込み処理の動作に相当する。
「記録用キャッシュ」書込み処理が開始されると（ステップＳ５１）、過去側映像取得用のスレッドの終了条件（１）を満たすか否かを確認する（ステップＳ５２）。
具体的には、（「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」−「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」）が「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」以上である場合には、終了条件（１）を満たしており、書込み処理を行わずに、処理をステップＳ５１の呼び出し元へ戻す（ステップＳ５４）。
【００７３】
一方、（「ｎｅｗｓｉｄｅ＿ＷｒｉｔｅＢＮ」−「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」）が「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」未満である場合には、記録用キャッシュメモリ１３０−Ｏｌｄ１に映像データが格納されているか否かを確認する（ステップＳ５３）。
具体的には、「ｃａｃｈｅＰｔｒ」が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」と同じ値である場合には、映像データが格納されていないため、書込み処理を行わずに、処理をステップＳ５１の呼び出し元へ戻す（ステップＳ５４）。
【００７４】
一方、「ｃａｃｈｅＰｔｒ」が「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」未満である場合には、１フレーム以上の映像データが格納されているため、ステップＳ５５〜ステップＳ５７の処理を行う。
具体的には、まず、ブロック（Ｂｌｏｃｋ）内の管理領域に、ブロック番号「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」の値の情報を格納（記載）し、ブロック内の全フレームのそれぞれについて「先頭アドレス」、「バイトサイズ」、「フレーム時刻」、「フレーム番号」の情報を格納（記載）する（ステップＳ５５）。
【００７５】
次に、過去側書込用キャッシュメモリである記録用キャッシュメモリ１３０−Ｏｌｄ１の内容を、記録部１０６−２における該当するカメラ用記録領域の（「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」％「ＴｈｉｓＣｈ＿ＮｕｍＯｆＢｌｏｃｋｓ」）番目のブロックに書き込んで記録する（ステップＳ５６）。ここで、「Ａ％Ｂ」は、ＡをＢで割ったときの余りを表す。
そして、変数の更新として、「ｏｌｄｓｉｄｅ＿ＷｒｉｔｅＢＮ」の値を１だけ減少させ（１デクリメントし）、また、「ｃａｃｈｅＰｔｒ」を「ｓｉｚｅＯｆ＿ＭＢｌｏｃｋ」とする（ステップＳ５７）。
そして、処理をステップＳ５１の呼び出し元へ戻す（ステップＳ５８）。
【００７６】
（ケース２）
以上の（ケース１）では、ＮＤＲ１０４−２側に映像データが記録されていない状態からの映像データ同期化の処理について説明した。
次に、ケース２における処理の例を示す。
図８を参照して、ＮＤＲ１０４−２に既に映像データが存在している場合における処理、つまり、ＮＤＲ１０４−２がＮＤＲ１０４−１から映像データの取得を行っている際に、当該ＮＤＲ１０４−２が停止し、ある程度の時間が経過した後に、当該ＮＤＲ１０４−２が再稼働を開始した場合における当該ＮＤＲ１０４−２の処理について説明する。
【００７７】
図８には、時間軸５００を示してあり、図中の左側が過去側を示し、図中の右側が未来側を示している。
図８（ａ）には、時刻ｔ５０時点におけるＮＤＲ１０４−１とＮＤＲ１０４−２の記録映像の状態を示してある。
ｔ５０は、図２（ｂ）に示される時点と同じ状態を示しており、具体的には、ＮＤＲ１０４−２がＮＤＲ１０４−１から映像データの取得を開始した時点を示している。
ＮＤＲ１０４−１は、ｔ５０時点における最新映像５０１２から最古映像５０１１までの映像を保持している。
ＮＤＲ１０４−２は、ｔ５０時点における最新映像５０２１から、最新側の映像取得と、過去側の映像取得を行う。
【００７８】
図８（ｂ）には、ｔ５０時点からある程度時間が経過した時刻ｔ５１時点におけるＮＤＲ１０４−１とＮＤＲ１０４−２の記録映像の状態を示してある。
ＮＤＲ１０４−１は、ｔ５０時点からｔ５１時点の間、最新映像を記録し続けており、映像データとしてｔ５０時点の映像５１１３からｔ５１時点の最新映像５１１４までを記録している。そのぶん、過去の映像データ（図８（ｂ）において５１１１時点から５１１２時点までの区間の映像データ）が上書きされて消えている。
ＮＤＲ１０４−２は、ｔ５０時点の映像データ５１１２から、未来方向では最新映像５１２３まで記録し、過去方向では図８（ｂ）における５１２１時点の映像までＮＤＲ１０４−１から取得して記録している状態である。
【００７９】
本例では、このｔ５１時点で、何らかの理由でＮＤＲ１０４−２の動作が停止したとする。
図８（ｃ）には、ｔ５１時点からある程度時間が経過した時刻ｔ５２時点におけるＮＤＲ１０４−１とＮＤＲ１０４−２の記録映像の状態を示してある。
本例では、このｔ５２時点で、ＮＤＲ１０４−２が再起動したとする。
【００８０】
ＮＤＲ１０４−１は、ｔ５１時点からｔ５２時点の間、最新映像を記録し続けており、映像データとしてｔ５１時点の映像５２１３からｔ５２時点の最新映像５２１４までを記録している。そのぶん、過去の映像データ（図８（ｃ）において５２１１時点から５２１２時点までの区間の映像データ）が上書きされて消えている。
ＮＤＲ１０４−２は、図８（ｃ）における５２２１時点から５２２２時点までの区間の映像データを保持している。
【００８１】
ＮＤＲ１０４−２は、ＮＤＲ１０４−１に対して、ｔ５１時点の映像５２１３からｔ５２時点の最新映像５２１４までの区間の映像データが何バイトあるかを問い合わせる。ＮＤＲ１０４−１は、問い合わされた区間の全フレームのバイトサイズをＮＤＲ１０４−２へ通知する（戻す）。
ＮＤＲ１０４−２は、前記問い合わせた区間の映像データを当該ＮＤＲ１０４−２のカメラ用記録領域に格納するために必要なブロック数を計算し、そのブロック数分だけ、図８（ｃ）における５２２２時点の映像データが格納されているブロックから未来方向に離れたブロック５２２３を特定する。
ＮＤＲ１０４−２は、特定したブロック５２２３から最新映像を未来方向に記録していき、同時に、ｔ５２時点より過去の映像を前記特定したブロック５２２３から過去方向に記録していく。
【００８２】
図８（ｄ）には、ｔ５２時点からある程度時間が経過した時刻ｔ５３時点におけるＮＤＲ１０４−１とＮＤＲ１０４−２の記録映像の状態を示してある。
ＮＤＲ１０４−１は、ｔ５２時点からｔ５３時点の間、最新映像を記録し続けており、映像データとしてｔ５２時点の映像５３１３からｔ５３時点の最新映像５３１４までを記録している。そのぶん、過去の映像データ（図８（ｄ）において５３１１時点から５３１２時点までの区間の映像データ）が上書きされて消えている。
【００８３】
ＮＤＲ１０４−２は、図８（ｄ）における５３２１時点から５３２２時点までの区間の映像データを保持しており、また、再稼動したｔ５２時点の映像データ５３２４から、最新側の映像を図８（ｄ）における５３２５時点まで記録し、過去側の映像を図８（ｄ）における５３２３時点まで記録した状態である。
ＮＤＲ１０４−２の過去側映像取得用のスレッド１３−Ｏｌｄ１は、当該ＮＤＲ１０４−２に保持されている図８（ｄ）における５３２２時点の映像に過去方向の記録映像が達した場合には、既存部分の最古映像の時点５３２１より過去の映像を取得していくようにする。
【００８４】
図８（ｅ）には、ｔ５３時点からある程度時間が経過した時刻ｔ５４時点におけるＮＤＲ１０４−１とＮＤＲ１０４−２の記録映像の状態を示してある。
ＮＤＲ１０４−１は、ｔ５３時点からｔ５４時点の間、最新映像を記録し続けており、映像データとしてｔ５３時点の映像５４１３からｔ５４時点の最新映像５４１４までを記録している。そのぶん、過去の映像データ（図８（ｅ）において５４１１時点から５４１２時点までの区間の映像データ）が上書きされて消えている。
【００８５】
ＮＤＲ１０４−２は、最新映像の記録を続け、ｔ５３時点の映像５４１５からｔ５４時点の最新映像５４１６までを記録している。一方、過去側映像の記録は、既存部分である図８（ｅ）における５４２３時点に達し、既存部分の最古であった図８（ｅ）における５４２２時点より過去の５４２１時点の映像までを記録している。
【００８６】
ｔ５４時点以後は、（ケース１）における図２（ｃ）に示されるのと同じ状態となる。過去側映像取得の終了条件についても（ケース１）と同様である。
本例の（ケース２）では、ＮＤＲ１０４−２側に映像データが既にある場合においても、（ケース１）を応用した処理により映像同期化を行うことができることを示した。なお、動作の詳細（例えば、フローチャートなど）については、（ケース１）の場合から容易に類推することが可能であるため、省略する。
【００８７】
ここで、本例では、図５（ａ）に示されるステップＳ３におけるＮＤＲ１０４−２の初期化処理において、ＮＤＲ１０４−１のチャンネルサイズ比率を継承する構成としたが、他の構成例として、管理者が各チャンネルのサイズを指定するような構成を用いることもできる。
【００８８】
また、本実施例では、映像データを１フレーム単位で要求する場合について、フレーム番号を用いて説明したが、例えば、ＭＰＥＧ−４であれば、映像データをＧＯＶ（Ｇｒｏｕｐ  Ｏｆ  ＶＯＰ）単位で要求するようにして、その際にＧＯＶ番号を用いることもできる。また、上記以外の場合についても、映像データを所定の単位で要求する際に、種々な所定の番号を用いることができる。
【００８９】
以上のように、一例として、本例の映像記録システムでは、伝送路１０２と、伝送路１０２に接続される複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍと、伝送路１０２に接続される少なくとも１台の情報端末装置（クライアントＰＣ）１０３−１、１０３−２、・・・、１０３−ｎと、伝送路１０２に接続される少なくとも２台のデジタル記録装置（本例では、第１のデジタル記録装置１０４−１及び第２のデジタル記録装置１０４−２）を有する。
【００９０】
第１のデジタル記録装置１０４−１は、第１の管理メモリ１１０−１、第１の記録部１０６−１、第１の管理メモリ１１０−１と第１の記録部１０６−１を制御する第１の制御部１１１−１を有し、第１の記録部１０６−１に複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データが区別されて記録されるカメラ用記録領域１１２−１、１１２−２、・・・、１１２−ｍを有する。
【００９１】
第２のデジタル記録装置１０４−２は、第２の管理メモリ１１０−２、第２の記録部１０６−２、第２の管理メモリ１１０−２と第２の記録部１０６−２を制御する第２の制御部１１１−２を有する。第２の制御部１１１−２は、第１の管理メモリ１１０−１の情報を第２の管理メモリ１１０−２に読み込む機能を有するとともに、読み込んだ情報に基づいて第１の記録部１０６−１のカメラ用記録領域１１２−１、１１２−２、・・・、１１２−ｍに記録されている映像データを第２の記録部１０６−２に複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍ毎に区別された映像データとして読み込む機能を有する。
【００９２】
また、本例の映像記録システムでは、一構成例として、第１の記録部１０６−１の記録容量と、第２の記録部１０６−２の記録容量とは、異なる記憶容量を有する。
また、本例の映像記録システムでは、一構成例として、第１の管理メモリ１１０−１には、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍのそれぞれに関係する情報及び複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データのフレーム単位の情報を記憶する。
【００９３】
また、他の一例として、本例の映像記録システムでは、第１のデジタル記録装置１０４−１は、第１の管理メモリ１１０−１及び第１の記録部１０６−１を有し、第１の記録部１０６−１に複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データが区別されて記録されるカメラ用記録領域１１２−１、１１２−２、・・・、１１２−ｍを有する。
第２のデジタル記録装置１０４−２は、第２の管理メモリ１１０−２及び第２の記録部１０６−２を有する。
【００９４】
そして、情報端末装置１０３−１、１０３−２、・・・、１０３−ｎからの指示に基づいて、第２のデジタル記録装置１０４−２は、第１の管理メモリ１１０−１の情報を第２の管理メモリ１１０−２に読み込むとともに、第２のデジタル記録装置１０４−２の第２の記録部１０６−２に複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍの映像データを区別して記録するカメラ用記録領域（カメラ用記録領域１１３−１など）を形成し、管理メモリ１１０−２に読み込んだ情報に基づいて映像データを１フレーム単位で要求する送信要求を第１のデジタル記録装置１０４−１に対して行う。第１のデジタル記録装置１０４−１は、映像データの１フレーム単位の送信要求に応じて、第１の記録部１０６−１のカメラ用記録領域１１２−１、１１２−２、・・・、１１２−ｍから該当する映像データを第２のデジタル記録装置１０４−２へ送信する。第２のデジタル記録装置１０４−２は、前記送信されたフレーム単位の映像データを受信して、第２の記録部１０６−２に形成された該当するカメラ用記録領域（カメラ用記録領域１１３−１など）に記録する。
【００９５】
また、本例の映像記録システムでは、第１の管理メモリ１１０−１は、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データの所定のフレーム数を記憶するとともに、所定のフレーム数毎に、第１の記録部１０６−１の各カメラ用記録領域１１２−１、１１２−２、・・・、１１２−ｍに記録する。
また、本例の映像記録システムでは、第１の管理メモリ１１０−１は、少なくとも第１の記録部１０６−１に記録されている映像データのフレーム番号と、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍによる撮像中の所定枚数の映像データのフレーム番号を記録したテーブルを備える。そして、第２のデジタル記録装置１０４−２からのフレーム単位の映像データの送信要求に対して、第１のデジタル記録装置１０４−１は、前記テーブルの内容に基づいて、前記送信要求が為された映像データをフレーム単位で第２のデジタル記録装置１０４−２へ送信する。
【００９６】
また、本例の映像記録システムでは、第１の記録部１０６−１と第２の記録部１０６−２は、複数のカメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの映像データを順次循環記録する。
ここで、本例の映像記録システムの特徴点の一例としては、第２のデジタル記録装置１０４−２が、カメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの最新映像データを（例えば、第１のデジタル記録装置１０４−１を介して、又は、直接的に受信して）記録すると同時に、第１のデジタル記録装置１０４−１から過去の映像データを新しい方から古い方へ向かって取得して記録して行くことである。
【００９７】
従って、本例の映像記録システムでは、例えば、単体のＮＤＲで運用されている監視システムで並列運用を行うために他のＮＤＲを追加した場合、又は、置き換え機能で新しいＨＤＤへ映像を移すような場合において、新規追加側のＮＤＲの運用を開始した時点、又は、新しいＨＤＤへ映像を映す時点から、カメラ装置１０１−１、１０１−２、・・・、１０１−ｍからの最新映像を（例えば、既にあったＮＤＲを介して、又は、直接的に取得して）記録しつつ、過去の映像についても価値の高い方から移していく（記録していく）ことが可能となる。
【００９８】
なお、本例の映像記録システムでは、第１のＮＤＲ１０４−１（第１の記録装置の一例）と、第２のＮＤＲ１０４−２（第２の記録装置の一例）を有しており、そして、第２のＮＤＲ１０４−２において、最新側映像取得用のスレッド１３−Ｎｅｗ１により最新の映像を取得する機能により最新映像取得手段が構成されており、過去側映像取得用のスレッド１３−Ｏｌｄ１により過去の映像を取得する機能により過去映像取得手段が構成されている。
また、本発明は、以上に示した映像記録システムや映像記録方法の実施例に限定されるものではなく、上記以外の種々な映像記録システムや映像記録方法に広く適応することができるものである。
【００９９】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【０１００】
【図１】本発明の一実施例に係る映像記録システムの構成例を示す図である。
【図２】（ａ）〜（ｄ）はカメラ用記録領域を用いた動作の一例を示す図である。
【図３】映像データの流れの様子の一例を示す図である。
【図４】（ａ）〜（ｃ）は映像データを記録用キャッシュメモリに格納する方法の例を示す図である。
【図５】（ａ）はＮＤＲの初期化処理の手順の一例を示す図であり、（ｂ）は各「カメラ用記録領域」別処理の初期化処理の手順の一例を示す図である。
【図６】最新側映像取得用のスレッドの動作の一例を示す図である。
【図７】（ａ）、（ｂ）は過去側映像取得用のスレッドの動作の一例を示す図である。
【図８】（ａ）〜（ｅ）はＮＤＲが再稼働を開始した場合の処理の一例を示す図である。
【図９】映像記録システムの一例を示す図である。
【図１０】ＮＤＲの録画動作に必要な情報の一例を示す図である。
【図１１】領域設定画面（入力設定画面）の一例を示す図である。
【図１２】映像記録システムにおける動作の一例を示す図である。
【符号の説明】
【０１０１】
１０１、１０１−１〜１０１−ｍ・・カメラ装置、  １０２・・伝送路、  １０３、１０３−１〜１０３−ｎ・・情報端末装置（クライアントＰＣ）、  １０４、１０４−１、１０４−２・・ネットワークデジタル記録装置（ＮＤＲ）、  １０５、１０５−１、１０５−２・・コンピュータボード、  １０６、１０６−１、１０６−２・・記録部、  １０７、１０７−１、１０７−２・・制御バス、  １０８、１０８−１、１０８−２・・ネットワークＩ／Ｆ、  １０９、１０９−１、１０９−２・・記録部Ｉ／Ｆ、  １１０、１１０−１、１１０−２・・メモリ（管理メモリ）、  １１１、１１１−１、１１１−２・・ＣＰＵ（制御部）、  １１２、１１２−１〜１１２−ｍ、１１３−１・・カメラ用記録領域、
１３−Ｎｅｗ１、１３−Ｏｌｄ１・・スレッド、
１３０、１３０−Ｎｅｗ１、１３０−Ｏｌｄ１・・記録用キャッシュメモリ、  １３１−Ｎｅｗ１、１３１−Ｏｌｄ１・・受信用バッファ、  １４０、１４０−１、１４０−２・・読み出し用キャッシュメモリ、  １５１・・管理領域、
４０１・・表示画面（入力設定画面）、  ４０２・・設定権限者パスワード入力領域、  ４０３・・カメラＮｏ．選択領域、  ４０４・・記録領域指定領域、  ４０５・・フレームレート選択領域、  ４０６・・記録開始時刻設定領域、  ４０７・・記録終了時刻設定領域、  ４０８・・記録容量選択領域、  ４０９・・ＯＫボタン、  ４１０・・Ｃａｎｃｅｌボタン、
１１２０・・ブロック、  １３１０・・フレーム番号、  １３１１・・先頭アドレス、  １３１２・・バイトサイズ、  １３１３・・フレーム時刻、
【図１】
0005008576.tif 000002
【図２】
0005008576.tif 000003
【図３】
0005008576.tif 000004
【図４】
0005008576.tif 000005
【図５】
0005008576.tif 000006
【図６】
0005008576.tif 000007
【図７】
0005008576.tif 000008
【図８】
0005008576.tif 000009
【図９】
0005008576.tif 000010
【図１０】
0005008576.tif 000011
【図１１】
0005008576.tif 000012
【図１２】
0005008576.tif 000013