(57)【要約】【課題】修復時間の短縮と書き換え回数の低減を同時に実現する。【解決手段】カメラ装置３毎に映像データ循環記録領域、目次情報記録領域、アドレス管理テーブルを備える複数の記録デバイス１０と、各記録デバイスのワーク領域に、各カメラ装置３からの映像データを一時保持するワークメモリ８０とを備え、ワークメモリ８０の個々のワーク領域内で、映像データのヘッダから目次情報を書き出して記録デバイス１０への書き込みの待機状態とし、目次情報の更新量が基準値を超えた時点で記録デバイス１０内の目次情報の更新を行うように前記映像データ及び目次情報の書き込みを制御する。ここで、記録デバイス１０のカメラ装置３との対応領域について記録した映像データ中の目次情報と目次情報記録領域内の目次情報との不整合を定期的に判断することで、映像データと目次情報の不整合発生時における、目次情報と映像データの同期化時間を一定化する。【選択図】      図１
2011087080.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ任意の映像データ供給源からの映像データを循環記録する複数の記録デバイスと、
前記映像データ供給源からの映像データを一時保持して前記複数の記録デバイスそれぞれに送り出すワークメモリと、を備え、
前記個々の記録デバイス内には、前記映像データ供給源毎に、前記映像データを循環記録するための循環記録領域、前記映像データのヘッダ内から目次情報を書き出して前記映像データの記録状況を管理する目次情報記録領域、前記映像データ及び目次情報の記録アドレスを管理するアドレス管理テーブルが形成され、
前記映像データの記録時に生じる前記書き出された目次情報との不整合を修復する映像記録装置であって、
前記ワークメモリに前記複数の記録デバイスそれぞれに対応して形成される領域に対応して前記映像データ供給源からの映像データを一時保持する複数のワーク領域を形成し、個々のワーク領域内で、前記映像データのヘッダから目次情報を書き出して前記記録デバイス内の対応領域における循環記録領域、目次情報記録領域への書き込みの待機状態とし、前記対応領域内の単位ブロックそれぞれの書換状況を管理して前記目次情報の更新量が基準値を超えた時点で前記記録デバイス内の目次情報の更新を行うように前記映像データ及び目次情報の書き込みを制御するワークメモリ制御手段と、
前記複数の記録デバイスそれぞれの前記映像データ供給源との対応領域について記録した映像データ中の目次情報と目次情報記録領域内の目次情報との不整合を定期的に判断して映像データと目次情報の不整合発生時における、目次情報と映像データの同期化時間を一定化する同期化手段と
を具備することを特徴とする映像循環記録装置。
【請求項２】
請求項１の映像循環記録装置において、前記複数の記録デバイスが前記目次情報の書き換え頻度に対して異なる特性を持つ場合に、
前記ワークメモリ制御手段は、前記記録デバイスに対する平均アクセス時間を求め、更新回数と平均アクセス時間との積から修復所要時間を求め、全目次ブロックの修復所要時間の合計が修復目標時間を超えた時点で最も修復所要時間の長い目次情報を前記記録デバイスに書き出し、
前記同期化手段は、前記目次情報の不整合発生時における、目次情報と映像データの同期化時間を一定化すると同時に、記録デバイスへの目次情報の書き込み回数を抑えることを特徴とする請求項１記載の映像循環記録装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上で映像データを記録するための映像記録装置に係り、特に異なる特性をもつ複数の記録デバイスを併用する場合に関する。
【背景技術】
【０００２】
ネットワーク技術の高速化と低価格化に伴い、映像データの伝送にＩＰ（Internet Protocol）ネットワークが用いられることは一般的になってきた。これに伴って、ネットワーク対応型の映像記録装置が提供されるようになり、例えば映像監視システムへの導入が始まっている。
【０００３】
ここで、上記ネットワーク対応型の映像記録装置に使用される記録デバイスは、主にＨＤＤ（ハードディスクドライブ）とＳＳＤ（ソリッドステートドライブ）が主流であるが、その種類によって特性が異なる。まず、ＨＤＤの特性では、ランダムアクセスはヘッドのシークを伴うため、秒間100回程度しか行なえない。一方、書き換え可能回数は100万回を超え、実用上問題ない。一方、ＳＳＤの特性では、ランダムリードの速度は秒間数万回以上とＨＤＤに比べて２桁以上高速であるが、ランダムライトの場合には秒間数百〜数千回であり、ランダムリードよりは遅い。一方、書き換え可能回数は数千回〜数万回とＨＤＤに比べ１〜２桁程度少ない。また、アプリケーションから小さいデータサイズ（数キロバイト）で書き込みを行なっても、ＳＳＤ内部ではアクセス単位（64KB程度）を一括して書き換えるため、細かいサイズの書き込みは、ＳＳＤの寿命を縮めさせる傾向となる。
【０００４】
ところで、ネットワーク型デジタル映像記録装置では、例えば監視映像のような場合に、循環的に重ね書きを行う循環記録モードを備える（例えば特許文献１参照）。この循環記録モードにおいて、定常では、入力段のバッファメモリ上で目次情報と映像データの書き込み状態は常に同期している。すなわち、バッファメモリ上で、カメラからの映像データを１つのブロックに収まる分を蓄積した後、記録デバイスの格納先の映像ブロックに書き出す。同時にバッファメモリ上の目次情報も更新する。
【０００５】
ここで、メモリ上の目次情報を記録デバイスの該当する領域への書き出し方が課題となる。すなわち、上記バッファメモリ上の目次情報は、更新される都度に記録デバイスに書き出す方法もあれば、ある程度まとめてから一度に書き出す方法もある。
【０００６】
後者のある程度まとめてから書き出す方法では、不意の電源断が発生した場合には、目次情報と映像データの間で不整合が生じ、映像データのヘッダ内の目次情報から、目次情報を修復する作業が発生する。ＨＤＤの場合には、ランダムリードに時間を要するため、目次情報と映像データの不整合量が少ない状態、すなわち、目次情報の書き換え頻度が高い方が、修復に要する時間が短く都合が良い。一方、ＳＳＤの場合には、目次情報の書き換え頻度が高くなると、細かいサイズの書き込みとなり、寿命を短くする要因となる。ＳＳＤではランダムリードがＨＤＤに比べて高速なため、不整合の量が多くても、修復時間はさほど要さない。
【０００７】
このように、目次情報と映像データを用いる循環記録において、ＨＤＤとＳＳＤのように、目次情報の書き換え頻度に対する特性が異なる記録デバイスを併用する場合には、いかに目次情報の書き換え回数を低減させ、寿命を延ばすか、いかに修復時間を短くするか、目次情報の記録デバイスへの書き出し方法が課題となる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許４２３７５４９号公報
【特許文献２】特開２００７−０５２５１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上述べたように、従来のネットワーク対応型の映像記録装置では、目次情報と映像データを用いる循環記録において、ＨＤＤとＳＳＤのように、目次情報の書き換え頻度に対する特性が異なる記録デバイスを併用する場合には、いかに目次情報の書き換え回数を低減させ、寿命を延ばすか、いかに目次情報の修復時間を短くするか、目次情報の記録デバイスへの書き出し方法が課題となる。
【００１０】
本発明は、上記の課題を解決するためになされたもので、目次情報の修復時間の短縮と書き換え回数の低減を同時に実現することのできる映像記録装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明は、それぞれ任意の映像データ供給源からの映像データを循環記録する複数の記録デバイスと、前記映像データ供給源からの映像データを一時保持して前記複数の記録デバイスそれぞれに送り出すワークメモリと、を備え、前記個々の記録デバイス内には、前記映像データ供給源毎に、前記映像データを循環記録するための循環記録領域、前記映像データのヘッダ内から目次情報を書き出して前記映像データの記録状況を管理する目次情報記録領域、前記映像データ及び目次情報の記録アドレスを管理するアドレス管理テーブルが形成され、前記映像データの記録時に生じる前記書き出された目次情報との不整合を修復する映像記録装置であって、前記ワークメモリに前記複数の記録デバイスそれぞれに対応して形成される領域に対応して前記映像データ供給源からの映像データを一時保持する複数のワーク領域を形成し、個々のワーク領域内で、前記映像データのヘッダから目次情報を書き出して前記記録デバイス内の対応領域における循環記録領域、目次情報記録領域への書き込みの待機状態とし、前記対応領域内の単位ブロックそれぞれの書換状況を管理して前記目次情報の更新量が基準値を超えた時点で前記記録デバイス内の目次情報の更新を行うように前記映像データ及び目次情報の書き込みを制御するワークメモリ制御手段と、前記複数の記録デバイスそれぞれの前記映像データ供給源との対応領域について記録した映像データ中の目次情報と目次情報記録領域内の目次情報との不整合を定期的に判断して映像データと目次情報の不整合発生時における、目次情報と映像データの同期化時間を一定化する同期化手段とを具備するように構成したものである。
【００１２】
ここで、前記複数の記録デバイスが前記目次情報の書き換え頻度に対して異なる特性を持つ場合に、前記ワークメモリ制御手段は、前記記録デバイスに対する平均アクセス時間を求め、更新回数と平均アクセス時間との積から修復所要時間を求め、全目次ブロックの修復所要時間の合計が修復目標時間を超えた時点で最も修復所要時間の長い目次情報を前記記録デバイスに書き出すものとし、前記同期化手段は、前記目次情報の不整合発生時における、目次情報と映像データの同期化時間を一定化すると同時に、記録デバイスへの目次情報の書き込み回数を抑えることを特徴とするものとする。
【発明の効果】
【００１３】
本発明によれば、目次情報の修復時間の短縮と書き換え回数の低減を同時に実現することのできる映像記録装置を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る映像記録装置の一実施形態を示すブロック構成図。
【図２】図１に示す実施形態のカメラ別記録領域を説明するための概念図。
【図３】図１に示す実施形態の内部部品の構成を示すブロック図。
【図４】図１に示す実施形態の映像データの格納形式を説明するための概念図。
【図５】図１に示す実施形態のアドレス変換テーブルを説明するための概念図。
【図６】図１に示す実施形態の目次情報ブロックと映像ブロックを説明するための概念図。
【図７】図１に示す実施形態のネットワーク型映像記録装置の不揮発性ＲＡＭの構成を示す概念図。
【図８】図１に示す実施形態の定常運転時（映像受信・記録・配信実行時）の揮発性ＲＡＭの構成を示す概念図。
【図９】図１に示す実施形態のネットワーク型映像記録装置の定常運転時の動作を説明するための概念図。
【図１０】図１に示す実施形態のネットワーク型映像記録装置の起動時の処理を説明するためのフローチャート。
【図１１】図１に示す実施形態の書き込みスレッドの処理内容を説明するためのフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。  
図１は本発明に係るネットワーク対応型の映像記録装置の一実施形態を示すブロック構成図である。図１において、１は本発明に係るネットワーク対応型映像記録装置であり、ネットワーク２に接続され、当該ネットワーク２上のＩＰカメラ装置３−１，３−２，…，３−ｍ、情報端末装置４−１，…，４−ｎとの間で映像信号の送受がなされる。
【００１６】
上記映像記録装置１は、ハードディスク（以後ＨＤＤと記載）や半導体メモリ（以後ＳＳＤと記載）などの記録デバイスを、専用のケースに内包した複数の記録デバイス１０−１，１０−２，１０−３，…，１０−ｋを備える。以下の説明において、記録デバイスを代表する場合は、記録デバイス１０と称する。
【００１７】
上記ネットワーク２は、上述の映像信号を伝送する伝送路であり、ＬＡＮ（Local Area Network）、インターネットあるいは公衆回線等のネットワークを含み、複数のコンピュータを結び制御信号やデータなどの信号を伝送する。
【００１８】
上記カメラ装置３−１，３−２，…，３−ｍはＩＰ（Internet Protocol）通信機能を備え、それぞれ被写体または監視域の状況を撮影した映像信号をＪＰＥＧ（Joint Photographic Experts Group）フォーマットやＭＰＥＧ４（Moving Picture Experts Group 4）フォーマット等で圧縮し、ＩＰパケットに乗せてネットワーク２に出力する。尚、以下の説明において、カメラ装置を代表する場合は、カメラ装置３と称する。カメラ装置３には、マイクあるいは人感センサ（図示せず）等のセンサ類が設けられているものもあり、これらのセンサ信号も映像信号に含まれるものとする。
【００１９】
上記情報端末装置４−１，…，４−ｎは、例えば、パーソナルコンピュータ（Personal Computer）等のデータ処理装置であり、ネットワーク接続でＷｅｂブラウザ等を搭載し、視聴ＰＣとも呼ばれる。以下の説明において、情報端末装置を代表する場合は、情報端末装置４と称する。
【００２０】
図２は、上記ネットワーク対応型映像記録装置１の記録デバイス１０内に、カメラ装置３毎の映像データを格納する循環記録用領域５を備えることを説明するための概念図である。図２に示すように、記録デバイス１０内には、カメラ装置３−１，３−２，…，３−ｍ毎に対応する循環記録用領域５−１，５−２，…，５−ｍが確保される。各循環記録用領域５−１，５−２，…，５−ｍはカメラ装置３−１，３−２，…，３−ｍからの映像データをリングバッファとして保持する領域である。
【００２１】
すなわち、上記映像記録装置１では、ネットワーク２を介してカメラ装置３のいずれかから映像データを取得した場合に、記録デバイス１０に対応する循環記録用領域５に格納する。また、ネットワーク２を介して情報端末装置（視聴ＰＣ）４からの映像要求を受信した場合には、記録デバイス１０から指定の映像データを読み出し、要求元の情報端末装置４に送信する。
【００２２】
情報端末装置４からは、循環記録用領域５内の任意のカメラ循環記録領域について、任意の時刻から任意の再生方法（順再生・逆再生、等倍速、早送り、コマ送り等）が行なえる。尚、ネットワーク型映像記録装置１の運用設定は、ネットワーク２を介した情報端末装置４で稼動するＷｅｂ画面または専用ソフトを用いて行なう。
【００２３】
図３は、上記ネットワーク型映像記録装置１の内部構成を示す機能ブロック図である。図３において、６はコンピュータ基板であり、このコンピュータ基板６には、ネットワークインターフェース（Ｉ／Ｆ）６１、記録デバイスインターフェース（Ｉ／Ｆ）６２、ＣＰＵ６３の他、揮発性ＲＡＭ（ランダムアクセスメモリ）７、不揮発性ＲＡＭ８を搭載し、それぞれ内部バス６０を通じて接続されている。
【００２４】
上記ネットワークインターフェース６１はイーサネット（登録商標）用の信号変換部であり、ネットワーク２と内部バス６０との間の信号を変換する。
【００２５】
上記記録デバイスインターフェース６２は、ＡＴＡ（Advanced Technology Attachment）やＳＣＳＩ（Small Computer System Interface）といった記録デバイスバス向けの信号変換部であり、内部バス６０と記録デバイス向けバス６４との間の信号を変換する。ここで、上記記録デバイス向けバス６４には記録デバイスであるＨＤＤ１０ａ，ＳＳＤ１０ｂ，…が混在して接続されているものとする。尚、説明を簡単にするため、装置に接続された記録デバイス数をＤと記す。
【００２６】
上記ＣＰＵ６３は、ＯＳ（オペレーティングシステム）およびネットワーク型映像記録装置１として稼動させるためのソフトウェアを実行する。不揮発性ＲＡＭ８は、ＯＳおよびネットワーク型映像記録装置１として稼動させるためのソフトウェアが格納してある。揮発性ＲＡＭ７は、ＯＳおよびＮＤＲ（ネットワークデジタルレコーダ（登録商標））ソフトウェアの一時情報および、ネットワークとＨＤＤ間で送受信するための映像データを一時的に格納する際に用いる。
【００２７】
図４は、記録デバイス１０−１（他の記録デバイスも同様）上への映像データの格納方法を示している。記録デバイス１０−１内を、入力映像データの一単位よりも十分に大きいサイズで均等に領域分けを行なう。説明を容易とするため、この領域を以後「ブロック（Block）」と呼称する。例えば映像データの一単位が数十KByteから数百KByteとすると、ブロックのバイトサイズはその数十倍の数MByteから数十MByteが適当である。
【００２８】
記録デバイス１０−１には、アドレス変換テーブル０（デバイス→カメラ領域）１１と、アドレス変換テーブル１（カメラ領域→デバイス）１２と、目次情報ブロック１３（１３−１〜１３−ｉ）、と、映像ブロック１４（１４−１〜１４−ｊ）が存在する。テーブル１１，１２それぞれについて必要数のブロックを確保し、残りを映像用ブロックとする。この例では、アドレス変換テーブル０（デバイス→カメラ領域）１１と、アドレス変換テーブル１（カメラ領域→デバイス）１２は１個のブロック、目次情報ブロック１３は４個のブロック１３−１〜１３−ｉ、映像ブロック１４はｊ個のブロック（１４−１〜１４−ｊ）とした場合を示している。
【００２９】
各カメラ装置３の循環記録用領域（図２の５−１〜５−ｍ）は、各カメラ装置３用の領域として映像ブロック１４を必要な数分を割り当て、循環利用することで実現する。
【００３０】
図５（ａ），（ｂ）は、それぞれ図４のアドレス変換テーブル１１，１２のフォーマット構成を示す模式図である。図５（ａ）に示すアドレス変換テーブル０（デバイス→カメラ領域）１１のブロック内には、アドレス情報１１０が映像データブロック数分（ｊ個）存在する。アドレス情報には「どのカメラ装置３の何番目のブロック」の情報が格納される。このテーブル１１により、デバイス１０−１上の何番目のブロックが、どのカメラ装置３の何番目のブロックに割り当てられているかが判明する。どのカメラ装置３にも割り当てられてない場合には「空き」を示す情報が格納される。このテーブル１１は、カメラ用の領域サイズを変更する場合に、空き領域を探索する場合にも使用する。
【００３１】
図５（ｂ）に示すアドレス変換テーブル１（カメラ領域→デバイス）１２のブロック内には、カメラ装置３毎のアドレステーブル（１２−１〜１２−ｍ）と、上記デーブルがこのブロック内のどこに配置されているかを示すカメラ領域情報１２−０が存在する。カメラ領域情報１２−０には、各カメラの情報として、１２−０−１〜１２−０−ｍのカメラ数分の情報が存在し、各カメラ装置３に対応する循環記録用領域のブロック数と、このブロック（１２）内のどこから該カメラ領域のテーブル情報が記載されているか、の情報を有する。
【００３２】
１２−１はカメラ装置３−１用の循環記録用領域のテーブル情報を示し、１２−１−１〜１２−１−Ｘ１（Ｘ１はカメラ３−１のブロック数）のアドレス情報が存在する。このアドレス情報には「カメラ装置３−１の領域の何番目のブロックは、どのデバイスの何番目のブロック」の情報が格納される（他のカメラ装置３−２〜３−ｍの場合も同様）。カメラ装置３からの取得した映像データを格納していく際には、このテーブルに記された順にブロックを使用していき、末尾に達するとまた先頭から使用することで、カメラ毎に循環記録領域を実現する。
【００３３】
尚、上記の例では、説明を容易とするため、アドレス変換テーブル１１，１２はそれぞれブロックを１つ備えるものとして説明したが、記録デバイス１０の容量とブロックのバイト数によっては、複数のブロックを用いる場合もあり得る。
【００３４】
図６（ａ），（ｂ）は、それぞれ図４に示す目次情報１３とアドレス情報１４の説明用の概念図である。映像ブロック１４−１内には、図６（ｂ）に示すように、ヘッダ部１４０と映像フレーム１４１−１〜１４１−ｆを有する。映像フレーム１４１−１〜１４１−ｆは映像データの単位データであり、JPEGでは１枚、MPEG系ではＩフレームから次のＩフレームまでの映像データを示す。
【００３５】
ヘッダ情報１４０には、目次情報１３０と、映像データアドレス１４２、ブロック番号１４３、カメラ番号１４４の情報を有する。映像データアドレス１４２は、それぞれの映像データがこのブロック内のどこから格納してあるかを示す情報である。ブロック番号１４３は、このブロックがこの循環記録領域の何番目に作成されたかを示すブロック番号を示す。このブロック番号は０からの連番であり、該循環記録領域の使用開始から何番目に作成したブロックかを示す。尚、領域の循環利用開始後も０に戻ることはない。カメラ番号１４４は、カメラ装置３の識別番号（１〜ｍ）を示す。
【００３６】
一方、目次情報１３０には、図６（ａ）に示すように、状態フラグ１３１、ブロック内先頭データ時刻１３２、ブロック内先頭データ番号１３３、ブロック内フレーム数１３４の情報を有する。状態フラグ１３１は、目次情報と該映像ブロックの状態を示す。フラグの状態には「未使用」、「映像データ正常」、「映像データ破損」がある。ブロック内先頭データ時刻１３２は、該映像ブロック先頭映像データの時刻を示す。ブロック内先頭データ番号１３３は、該映像ブロック先頭映像データの時刻のデータ番号を示す。データ番号は０からの連番であり、該循環記録領域の使用開始から何番目に取得した映像データかを示す。ブロック内フレーム数１３４は、該映像ブロック内に映像データが何個格納されているかを示す。
【００３７】
ここで、状態フラグ１３１が「映像データ破損」状態の場合にも、情報１３２〜１３４として映像データが正常だった時の情報が維持される。映像データが正常だった時に情報が失われた場合には、前後の正常な目次情報から推測され矛盾のないダミー値となっている。
【００３８】
目次情報ブロック１３は複数個のブロック１３−１〜１３−ｉを用いている。この目次情報ブロック１３内には、目次情報１３０が映像ブロック数分（ｊ個）存在する。目次情報１３０−１〜１３０−ｊは、それぞれ、映像ブロック１４−１〜１４−ｍの目次情報である。目次情報ブロック１３は、アドレス変換テーブル１（カメラ領域→デバイス）と組み合わせ、カメラ領域内から任意の時刻の映像データを探す際にも使用する。
【００３９】
この発明は、修復時間の上限値と記録デバイスの特性から、目次情報の書き出し頻度を自動的に制御するところに特徴がある。この特徴的な処理方法を図７から図９を用いて説明する。
【００４０】
図７は、ネットワーク型デジタル映像記録装置１の不揮発性ＲＡＭ７の保有内容を示している。不揮発性ＲＡＭ７には、実行ファイル７１と、設定ファイル７２が存在する。
【００４１】
実行ファイル７１は、ネットワーク型デジタル映像記録装置１として動作させるためのソフトウェア群（ＯＳ、映像データの受信・記録・配信を行なうソフトウェア、Ｗｅｂ経由で設定変更を行なうソフトウェア、カメラ装置３毎の映像記録領域を設定するソフトウェア、等）の実行ファイルである。
【００４２】
設定ファイル７２は、映像データの受信・記録・配信を行うソフトウェアの動作を指定するための設定情報を記載したファイルである。この設定ファイル７２には、修復目標時間７２１、視聴ユーザ上限数７２２、カメラ毎設定情報７２３がカメラ数分（７２３−１〜７２３−ｍ）存在する。修復目標時間７２１は、映像記録中に不意の電源断が発生した際に、目次情報１３と映像データ１４の不整合を修復するために使用してよい時間を指示する数値である。視聴ユーザ上限数７２２は、情報端末装置（視聴ＰＣ）４からの同時アクセス数の上限値を指示する数値である。以後、説明を容易とするためこの値をＵと記す。カメラ毎設定情報７２３−ｍは、カメラ装置３−ｍ用向けの設定情報であり、カメラ接続用情報７２４−ｍと、カメラ画質指定用情報７２５−ｍを有する。尚、７２３−１は７２４−１と７２５−１を含み、同様に、７２３−ｍは７２４−ｍと７２５−ｍを含むものとする。カメラ接続用情報７２４は、カメラ装置３−１のＩＰアドレスとポート番号等、カメラ装置３−１への接続に必要な情報を有する。カメラ画質指定用情報７２５は、１フレームの画素数、圧縮率、フレームレート、等、映像の画質を指定する情報を有する。
【００４３】
図８は、ネットワーク型デジタル映像記録装置１の定常運転時（映像受信・記録・配信実行時）の揮発性ＲＡＭ８の状態を示している。定常運転時の揮発性ＲＡＭ８には、カメラ毎ワークメモリ８０がカメラ数分（８０−１〜８０−ｍ）、ユーザ毎ワークメモリ８１が視聴ユーザ上限数７２２分（８１−１〜８１−Ｕ）、記録デバイス毎ワークメモリ８２が装置１内の記録デバイス数分（８２−１〜８２−Ｄ）、存在する。
【００４４】
カメラ毎ワークメモリ８０は、アドレス変換テーブル（カメラ→デバイス）８０１と映像格納バッファ８０２と目次情報テーブル８０９を備え、情報としてブロック数８０３と、最新映像時刻８０４と、最新映像ブロック番号８０５と、最古映像時刻８０６と、最古映像ブロック番号８０７と、作成中ブロック番号８０８を持つ。
【００４５】
アドレス変換テーブル（カメラ→デバイス）８０１は、記録デバイス１０のアドレス変換テーブル１２内の該カメラ用循環領域用のテーブルを、メモリに読み出したものである。受信した映像データと目次情報を記録デバイスに格納する際、格納先の算出＝「該カメラ用領域内で何番目のブロック」の値を「格納先の記録デバイスとその何番目のブロック」の値に変換するために用いる。
【００４６】
映像格納バッファ８０２は、カメラ装置３から受信した映像データをブロックに収まる範囲で格納していき、記録デバイスの映像ブロック１４に書き出す形式とするために用いるバッファである。カメラ装置３からの受信した映像データの格納と、記録デバイス１０への書き込みを並行して行なうため、ダブルバッファまたはそれ以上の枚数で構成する。
【００４７】
ブロック数８０３は、該カメラ用循環記録領域に確保されたブロック数を示す。この値は記録デバイス１０のアドレス変換テーブル１２−０の該カメラ用循環記録領域のブロック数をメモリに読み出したものである。最新映像時刻８０４と最新映像ブロック番号８０５は、該カメラ用循環記録領域の最新映像ブロックの、ブロック内先頭データ時刻１３１とブロック番号１４３の値を示す。最古映像時刻８０６と最古映像ブロック番号８０７は、該カメラ用循環記録領域の最古映像ブロックの、ブロック内先頭データ時刻１３１と、ブロック番号１４３の値を示す。作成中ブロック番号８０８は、カメラ装置３から映像を受信し詰め込み中のバッファが、該カメラ用の循環記録領域の何番目のブロックであるかを示す。
【００４８】
目次情報テーブル８０９は、該カメラの循環記録領域のアドレス順にソートした目次情報である。ネットワーク型映像記録装置１の起動時に、デバイス上のアドレス順に並んだ目次情報ブロック１３の各目次情報１３０を、アドレス変換テーブル８０１を用いて、該カメラの循環記録領域のアドレス順にソートしたものが、目次情報テーブル８０９である。
【００４９】
ユーザ毎ワークメモリ８１は、映像ブロック読み出用バッファ８１１を備え、情報として、ログインＩＤ８１２と、最終アクセス時刻８１３を持つ。映像ブロック読み出し用バッファ８１１は、記録デバイスから読み出した映像データを格納しておくために用いるバッファである。ログインＩＤ８１２は、情報端末装置（視聴ＰＣ）４の識別用の情報であり、情報端末装置４が視聴開始時のアクセス時に発行する情報である。最終アクセス時刻８１３は、該情報端末装置４からの最終アクセス時刻を示す。一定時間以上アクセスが無かった場合にタイムアウト処理を行なう際等に用いる。
【００５０】
記録デバイス毎ワークメモリ８２には、情報として、平均アクセス時間８２２と、該記録デバイスの目次情報ブロック数分の目次情報ブロック８２１（８２１−１〜８２１−ｉ）と更新回数８２０（８２０−１〜８２０−ｉ）が存在する。平均アクセス時間８２２は、ネットワーク型映像記録装置１の起動時の初期化処理時に計測した該デバイスからのリードアクセスの所要時間の平均を示す。平均アクセス時間８２２を算出するために、総アクセス時間８２２１と、総アクセス回数８２２２を有する。起動時処理の際、該記録デバイスへリードアクセスを行なった度、その際のアクセス時間を総アクセス時間８２２１に加算し、総アクセス回数８２２２を１加算し、総アクセス時間８２２１を総アクセス回数８２２２で除算し平均アクセス時間８２２を求める。
【００５１】
目次情報ブロック８２１−１〜８２１−ｉ内には、該記録デバイスの映像ブロック数分の目次情報８２１０（８２１０−１〜８２１０−ｊ）が存在する。目次情報ブロック８２１はネットワーク型映像記録装置１の起動時に該記録デバイス１０の目次情報ブロック１３から読み出す。定常運転時では映像ブロックを該記録デバイスに書き出す度に、ＲＡＭ８上の目次情報ブロック８２１を更新し、更新量が後述する基準を超えた時点で、ＲＡＭ８上の目次情報８２１を記録デバイス１０上の目次情報１３に書き込みを行なう。終了時にはＲＡＭ８上の目次情報８２１全てを（８２１−１〜８２１−ｍ）を該記録デバイス１０上の目次情報１３に書き戻す。
【００５２】
更新回数８２０は、ＲＡＭ８上の目次情報８２１と記録デバイス１０上の目次情報１３間での目次情報の相違数を示す。初期値は０である。定常運転時、映像ブロックを該記録デバイス１０に書き出し、ＲＡＭ８上の目次情報ブロック８２１を更新する度に、更新回数８２０を１加算する。ＲＡＭ８上の目次情報８２１を記録デバイス１０に書き出した際に０にリセットする。
【００５３】
図１０は、ネットワーク型映像記録装置１の起動時処理を示すフローチャートである。ステップ２００「スタート」は、ネットワーク型映像記録装置１の電源投入後のＯＳ部の起動処理が完了し、ネットワーク型映像記録装置１用のソフトウェアの起動処理が開始された時点を示す。
【００５４】
ステップ２０１「記録デバイス数確認」では、ネットワーク型映像記録装置１に、映像記録用の記録デバイス１０が何個接続されているかを確認する処理を行なう。映像記録用の記録デバイス１０が０個の場合には、この実施形態ではエラー状態とし、ログファイル出力および外部通知等の処理を行ない、起動処理を終了する。尚、映像記録を行なわず、映像データの中継のみを行なう運用もありえるが、本発明の説明から外れるので省略する。映像記録用の記録デバイスが１個以上存在すればステップ２０２に進む。
【００５５】
ステップ２０２「各記録デバイスの容量確認」では、各記録デバイス１０内の容量＝ブロック数を確認する。容量確認は、実際にリードアクセスを行ない末尾の探索を行う。記録デバイス１０からリードアドレスを指定しリードアクセスする処理では、アドレスが容量外の場合にはその旨を示す「範囲外エラー」が戻る仕組みとなっている。末尾探索は、リードアドレスを「範囲外エラー」が戻るまで倍々と増やし、「範囲外エラー」を得た後は、「範囲外エラー」となる境界のリードアドレスを二分探索で絞り込む。このリードアクセスのリードサイズはブロックのバイトサイズとする。リード回数は、（記録デバイスの容量／ブロックのバイトサイズ）の２を底とした対数値の倍程度（例：ブロックサイズを1MB=220、記録デバイスのサイズを1TB=240とした場合には、log2(220)×2=40回）（表記が正しいかご確認をお願いします。）であり、処理時間は実用上問題ない。この際、リードアクセスに要した時間は総アクセス時間８２２１に加算し、総アクセス回数８２２２を１加算し、デバイス毎のアクセス平均時間８２２の算出に用いる。全映像用記録デバイスの容量確認を終えたらステップ２０３に進む。
【００５６】
ステップ２０３「記録デバイス毎ワークメモリ確保」では、揮発性ＲＡＭ８に、ステップ２０１で検出した映像用記録デバイスの数分の記録デバイス毎ワークメモリ８２を確保する。メモリが不足する場合には、その旨をログファイル出力および外部通知等の処理を行ない、起動処理を終了する。
【００５７】
ステップ２０４「目次情報読み込み」では、各映像用記録デバイス１０の目次情報ブロック１３を読み出し、ステップ２０３で確保した該記録デバイス毎ワークメモリ８２の目次情報ブロック８２１に格納する。
【００５８】
ステップ２０５「カメラ数確認」では、各映像用記録デバイス１０のアドレス変換テーブル１２のカメラ領域情報１２−０からカメラ数を取得する。映像用記録メディアが複数存在する場合には、全映像用記録メディアでアドレス変換テーブル１２が一致した場合にステップ２０６に進む。一致しなかった場合には、映像用記録デバイス間の不整合として、その旨をログファイル出力および外部通知等の処理を行ない、起動処理を終了する。
【００５９】
ステップ２０６「カメラ毎ワークメモリ確保」では、揮発性ＲＡＭ８に、ステップ２０５で取得したカメラ数分のカメラ毎ワークメモリ８０を確保する。メモリが不足する場合には、その旨をログファイル出力および外部通知等の処理を行ない、起動処理を終了する。
【００６０】
ステップ２０７「アドレス変換テーブル読み込み」では、各映像用記録デバイス１０のアドレス変換テーブル１２のカメラ領域毎部分(１２−１〜１２−ｍ)を読み出し、該カメラ毎ワークメモリのアドレス変換テーブル８０１に格納する。
【００６１】
ステップ２０８「目次情報カメラ毎ソート」では、記録デバイス１０毎のアドレス順に並んだ目次情報８２１から、アドレス変換テーブル８０１を用いて、該カメラの循環記録領域のアドレス順の目次情報テーブル８０９を作成する。
【００６２】
ステップ２０９「カメラ毎目次情報探索」では、目次情報が連続しているかを確認する。最古ブロックの目次情報の探索、最新ブロックの目次情報の探索、最古と最新間で連続している事の確認、の３段階で行なう。
【００６３】
最古ブロック探索ではブロック内先頭データ番号１３３が最小の目次情報１３０を探し、最新ブロック探索ではブロック内先頭データ番号１３３が最大の目次情報１３０を探す。連続性の確認では、目次情報テーブル８０９をリングバッファとして扱い、最古ブロックから最新ブロックまで、目次情報１３０のブロック内先頭データ番号１３３＋ブロック内フレーム数１３４の値が、次の目次情報のブロック内先頭データ番号と連続するかを確認していく。全て連続していれば、最古ブロックの情報を該カメラ用ワークメモリの最古映像時刻８０６と最古映像ブロック番号８０７に格納し、同様に最新ブロックの情報を該カメラ用ワークメモリの最新像時刻８０４と最新映像ブロック番号８０５に格納し、作成中ブロック番号８０８に最新映像ブロック番号８０５に１加算した値を入れ、ステップ２１１に進む。不連続箇所を検出した場合には、その旨をログファイル出力および外部通知等の処理を行ない、起動処理を一旦終了しステップ２１０に進む。
【００６４】
ステップ２１０「修復」では、目次情報ブロック１３と映像ブロック１４の不整合を修復する処理を行なう。不整合部の映像ブロック１４を記録デバイス１０から読み出し、映像ブロック１４が正常である場合には、映像ブロック１４のヘッダ部の目次情報１３０を採用し、映像ブロック１４が異常である場合には前後の正常映像ブロック１４の目次情報から整合性のあるダミー目次情報１３０を作成する。これら修復処理の詳細については特許文献２に記載されている。ステップ２１０の終了後はステップ２００から再開する。
【００６５】
ステップ２１１「カメラ毎サンプリング数算出」では、映像ブロック１４の読み出しのサンプリング数を算出する。該カメラ装置３のブロック数が1024以下ならばサンプリング数は10、ブロック数が1024を超える場合には、サンプリング数＝lg（ブロック数）とする。
【００６６】
ステップ２１２「カメラ毎目情報サンプリングチェック」では、映像データ１４から読み出したヘッダ部の目次情報１３０と、目次情報テーブル８０９内の該目次情報１３０の比較を行なう。全目次情報の比較チェックは所要時間から現実的でないため、ステップ２０９で取得した最古ブロックと最新ブロックと、目次情報テーブル８０９をステップ２１１で算出したサンプリング数で等分したポイントのブロックにて比較を行なう。全て一致する場合にはステップ２１３に進む。不整合を発見した場合には、その旨をログファイル出力および外部通知等の処理を行ない、起動処理を一旦終了してステップ２１０に進む。この比較の際のリードアクセスの所要時間も、デバイス１０毎のアクセス平均時間８２２の算出に用いる。リードアクセスに要した時間を総アクセス時間８２２１へ加算し、総アクセス回数８２２２に１加算する。
【００６７】
ステップ２１３「設定ファイル読み込み」では、設定ファイル７２内の情報を揮発性ＲＡＭ８のワークメモリに読み出す。
【００６８】
ステップ２１４「定常運転」では、起動処理を終了し定常運転に入る。
【００６９】
図９は、ネットワーク型映像記録装置１の定常運転時の動作を説明するための概念図である。ネットワーク型映像記録装置１の定常運転の処理（受信・記録・配信）は、それぞれの処理を行なうスレッド（Thread）、すなわち受信スレッド９１と、書込スレッド９２と、配信スレッド９３の連携で行なう。映像格納バッファ８０２はダブルバッファ以上の構成で運用し、各バッファの状態には「詰込中」「書込待ち」「空」の３状態があるものとする。
【００７０】
受信スレッド９１は、ネットワーク２を介して、設定ファイル７２のカメラ向け情報７２３の接続先情報７２４で指定されたカメラ装置３から、画質情報７２５で指定された画質で映像データを受信し、映像格納バッファ８０２の「詰込中」状態のバッファに詰め込みを行なう。「詰込中」バッファにそれ以上の映像データの詰め込みが行なえない場合には、そのバッファ状態を「書込待ち」とし、別途「空」状態のバッファ８０２の確保を試みる。確保できた場合には、作成中ブロック番号８０８を１加算し、該バッファの状態を「詰込中」とし、ヘッダ部１４０のブロック番号１４３として作成中ブロック番号８０８の値を入れ、カメラ番号１４４に担当するカメラ装置３の識別番号（１〜ｍ）を入れ、映像の詰め込みを続行する。「空」状態のバッファが存在しない場合には、「空」状態のバッファが登場するまで待機する。
【００７１】
受信スレッド９１は受信を行なうカメラ装置３の台数分（ｍ）だけ稼動する。書込スレッド９２は、映像データと目次情報を、揮発性メモリ７から記録デバイス１０に書き出す処理を行なう。詳細は図１１を用いて後述する。配信スレッド９３は、ネットワーク２を介して、情報端末装置（視聴ＰＣ）４からの映像要求を受け付け、要求映像データがどの映像ブロック１４に入っているかを目次情報テーブル８０９から検索して映像ブロック番号を取得し、その映像ブロックを記録デバイス１０から映像ブロック読み出し用バッファ８１１に読み出し、要求映像データを、情報端末装置（視聴ＰＣ）４に配信する。
【００７２】
図１１は、書込スレッド９２の処理内容を示すフローチャートである。図１１において、ステップ３００「スタート」は書込スレッド９２が生成された時点を示す。
【００７３】
ステップ３０１「「書込待ち」映像受信バッファ探索」では、各ＩＰカメラ用ワークメモリ（８０−１〜８０−ｍ）の映像格納バッファ８０２を調べ、状態が「書込待ち」のバッファを探す。存在しなければステップ３０７に進み、存在すればステップ３０２に進む。
【００７４】
ステップ３０２「アドレス変換」では、ステップ３０１で検出したバッファのヘッダ部分１４０内のブロック番号１４３とカメラ番号１４４を、アドレス変換テーブル８０１を用いて、記録デバイス１０の書き込み先の映像ブロック１４のアドレスに変換を行なう。
【００７５】
ステップ３０３では、ステップ３０１で発見したバッファを、ステップ３０２で変換した記録デバイス１０上のアドレスの映像ブロック１４へ書き出しを行ない、状態を「空」とする。
【００７６】
ステップ３０４では、３０３でデバイスに記録した映像ブロックの目次情報１３０を、カメラ毎ワークメモリ８０のカメラ領域毎ソート済み目次情報テーブル８０９と、記録デバイス毎ワークメモリ８２の目次情報ブロック８２１に格納する。
【００７７】
目次情報テーブル８０９への格納処理では、目次情報テーブル８０９内の格納先アドレスを算出し、該アドレスにヘッダ部１４０に目次情報１３０を格納し、該カメラ毎ワークメモリ８０の最新と最古の時刻とブロック番号（８０４〜８０７）の更新も行う。該アドレスは、ブロック番号（８０４〜８０７）の更新も行う。
【００７８】
目次情報ブロック８２１への格納処理では、ヘッダ部１４０の目次情報１３０を、ステップ３０２で求めたアドレスを元に、記録デバイス毎ワークメモリ８２上の目次ブロック８２１０にコピーを行ない、該目次情報８２１０の属する目次ブロック８２１の更新回数８２０を１加算する。
【００７９】
ステップ３０５では、各目次ブロック８２１の修復所要時間を、更新回数８２０と平均アクセス時間８２２の積から求め、全目次ブロック８２１の修復所用時間の合計が修復目標時間７２１を越えているか判定する。超えているならばステップ３０６に進み、越えてなければステップ３０７に進む。
【００８０】
ステップ３０６では、ステップ３０５で求めた各目次ブロック８２１の修復所要時間の中から、最も修復所要時間の大きい目次情報８２１を、記録デバイスの目次情報ブロック１３に書き出し、該目次情報ブロック１３の更新回数８２０を０にリセットする。
【００８１】
ステップ３０７では、数ミリ秒の待機の後にステップ３０１に進む。
【００８２】
図１１では簡易に説明したが、ステップ３０５では上記の判定に加え、ブロック毎の更新回数８２０が閾値を超えているかも判定に加えてもよい。この判定を加えれば、映像ブロックの書き出し先が偏る際等で、特定の目次ブロック８２１のみに更新が集中する場合に、該目次ブロック８２１内の目次情報８２１０の大半が更新されているにも関わらず、合計数では３０５には達し難く、記録デバイスへの書き出しが行われ難いという現象を回避することができる。
【００８３】
この処理を加える場合には、閾値は設定から与えられる変数とすべきであり、その値は目次ブロック８２１内の目次情報８２１０数以下の数とすべきである。目次ブロック８２１内の目次情報８２１０数を十割とした割合で与えてもよい。
【００８４】
または、図１１の例より簡略化し、ステップ３０５にて全目次ブロック８２１の修復所用時間の合計が修復目標時間７２１を越えている場合には、ステップ３０６にて全ての目次ブロック８２１を記録デバイスに書き出すようにしてもよい。
【００８５】
この目次情報の書き出し制御を用いることで、ＳＳＤ１０ｂのようにリードアクセスの速い記録デバイスの場合には、書き出し頻度が減ることから、書き換え回数を減らしてＳＳＤの寿命を延ばす効果が得られる。また、ＨＤＤ１０ａのようにリードアクセスが遅い記録デバイスの場合には、書き出し頻度が上がるため、不整合の数を減らして修復処理の所要時間を抑える効果が得られる。したがって、記録デバイス１０にＨＤＤ１０ａとＳＳＤ１０ｂを併用した場合でも、目次情報の修復時間を一定時間以下とする効果が得られる。
【００８６】
尚、上記実施形態の説明では、書込スレッド９２が映像格納バッファ８０２を探索していく形で簡易に説明したが、受信スレッド９１が映像データを詰め込み終えた順に映像ブロックを書き出させるためには、映像格納バッファ８０２を、受信スレッド９１から書込スレッド９２へのＦＩＦＯ（First In First Out）の形で実装する方がよい。
【００８７】
この実施形態の説明では、書込スレッド９２が各目次情報８２１の修復所要時間の監視と記録デバイス１０の書き出しを行なうように記したが、これは限定するものでなく、他のスレッド、例えばネットワーク型映像記録装置１のソフトウェア状態の監視を行なう働きのスレッドに処理を行なわせてもよい。
【００８８】
その他、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成することもできる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合わせてもよい。
【符号の説明】
【００８９】
１…ネットワーク対応型映像記録装置、
２…ネットワーク、
３，３−１〜３−ｍ…ＩＰカメラ装置、
４，４−１〜４−ｎ…情報端末装置（視聴ＰＣ）、
５，５−１〜５−ｍ…循環記録用領域、
６…コンピュータ基板、６０…内部バス、６１…ネットワークインターフェース（Ｉ／Ｆ）、６２…記録デバイスインターフェース（Ｉ／Ｆ）、６３…ＣＰＵ、６４…記録デバイス向けバス、
７…揮発性ＲＡＭ（ランダムアクセスメモリ）、７１…実行ファイル、７２…設定ファイル、７２１…修復目標時間、７２２…視聴ユーザ上限数、７２３，７２３−１〜７２３−ｍ…カメラ毎設定情報、７２４…カメラ接続用情報、７２５…カメラ画質指定用情報、
８…不揮発性ＲＡＭ、８０，８０−１〜８０−ｍ…カメラ毎ワークメモリ、８０１…アドレス変換テーブル（カメラ→デバイス）、８０２…映像格納バッファ、８０３…ブロック数、８０４…最新映像時刻、８０５…最新映像ブロック番号、８０６…最古映像時刻、８０７…最古映像ブロック番号、８０８…作成中ブロック番号、８０９…目次情報テーブル、８１，８１−１〜８１−Ｕ…ユーザ毎ワークメモリ、８１１…映像ブロック読み出用バッファ、８１２…ログインＩＤ、８１３…最終アクセス時刻、８２，８２−１〜８２−Ｄ…記録デバイス毎ワークメモリ、８２０，８２０−１〜８２０−ｉ…更新回数、８２１，８２１−１〜８２１−ｉ…目次情報ブロック、８２１０，８２１０−１〜８２１０−ｊ…目次情報、８２２…平均アクセス時間、８２２１…総アクセス時間、８２２２…総アクセス回数、
９１…受信スレッド、９２…書込スレッド、９３…配信スレッド、
１０，１０−１〜１０−ｋ…記録デバイス、１０ａ…ＨＤＤ、１０ｂ…ＳＳＤ、
１１…アドレス変換テーブル０（デバイス→カメラ領域）、１１０…アドレス情報、
１２，１２−１〜１２−ｍ…アドレス変換テーブル１（カメラ領域→デバイス）、１２−０，１２−０−１〜１２−０−ｍ…カメラ領域情報、１２−１−１〜１２−１−Ｘ１…アドレス情報、
１３，１３−１〜１３−ｉ…目次情報ブロック、１３０，１３０−１〜１３０−ｊ…目次情報、１３１…状態フラグ、１３２…ブロック内先頭データ時刻、１３３…ブロック内先頭データ番号、１３４…ブロック内フレーム数、
１４，１４−１〜１４−ｊ…映像ブロック、１４…アドレス情報、１４−１〜１４−ｍ…映像ブロック、１４０…ヘッダ部、１４１−１〜１４１−ｆ…映像フレーム、１４２…映像データアドレス、１４３…ブロック番号、１４４…カメラ番号。
【図１】
2011087080.tif 000003
【図２】
2011087080.tif 000004
【図３】
2011087080.tif 000005
【図４】
2011087080.tif 000006
【図５】
2011087080.tif 000007
【図６】
2011087080.tif 000008
【図７】
2011087080.tif 000009
【図８】
2011087080.tif 000010
【図９】
2011087080.tif 000011
【図１０】
2011087080.tif 000012
【図１１】
2011087080.tif 000013