JPWO2009050894A1 - 映像記録装置、映像記録方法、映像記録プログラム及び集積回路 - Google Patents

映像記録装置、映像記録方法、映像記録プログラム及び集積回路 Download PDF

Info

Publication number
JPWO2009050894A1
JPWO2009050894A1 JP2009537926A JP2009537926A JPWO2009050894A1 JP WO2009050894 A1 JPWO2009050894 A1 JP WO2009050894A1 JP 2009537926 A JP2009537926 A JP 2009537926A JP 2009537926 A JP2009537926 A JP 2009537926A JP WO2009050894 A1 JPWO2009050894 A1 JP WO2009050894A1
Authority
JP
Japan
Prior art keywords
image data
size
recording
frame image
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009537926A
Other languages
English (en)
Other versions
JP5032583B2 (ja
Inventor
紹二 大坪
紹二 大坪
田辺 直久
直久 田辺
郁 大濱
郁 大濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2009537926A priority Critical patent/JP5032583B2/ja
Publication of JPWO2009050894A1 publication Critical patent/JPWO2009050894A1/ja
Application granted granted Critical
Publication of JP5032583B2 publication Critical patent/JP5032583B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

ネットワークを介して受信したフレーム画像データを記録媒体へと記録中に停電が発生し、不完全なフレーム画像データが記録されてしまった場合であっても、不完全なフレーム画像データの再生により生じうる画面乱れを防止する。データ各々に付加された管理情報とを受信する受信手段1001と、受信した映像データを記録媒体1010に記録する第1記録手段1003と、映像データの位置情報を記録媒体に記録する第2記録手段1004とを備え、映像データファイル1005のファイル長、及び位置情報ファイル1006を参照することにより破損データ位置を高速に特定する。

Description

本発明は、映像記録装置に関するものであり、特に映像記録中の停電等により破損した映像データの再生処理に関する。
近年、ハードディスクレコーダに代表される民生用の映像記録機器が普及しており、前記映像記録機器の応用例の1つとして、ドアホンカメラに撮像された留守中の訪問者の映像をネットワーク経由で民生用レコーダで記録し、防犯に役立てるという利用形態が提案されている。
ここで、民生用の場合、機器が記録、再生する画像に対して要求される品質は高く、例えば記録中に停電やコンセント抜けなどが発生し記録中のデータが破損したとしても当該データを再生する際に画面乱れなどが生じるようなことは許されない。
このため、前記データ破損に対応する技術として、ディジタルカメラのエンコード部により生成された複数のJPEG画像を連続映像として記録した後、各JPEGの先頭と終端に存在するマーカービットをビット探索し、不整合が発生している位置を破損部分として認識し、当該破損部分を再生対象から除外するという技術が開示されている(例えば、特許文献1参照)。
特許第3733061号
しかしながら、上述の背景技術に記載した従来の構成では、記録済みのJPEG画像の先頭と終端に存在するマーカービットをビット探索する必要がある。そして、ビット探索するためには、記録済みの映像ファイルから映像データをメモリに読み出し、マーカービットを発見するまで、マーカービットと読み出した全てのデータをCPUにより比較する処理が必要である。このビット探索等の処理を停電発生後の再起動時に行うとすると、再起動して定常的な稼働状態となるまでに長時間を要するという問題がある。
上記問題に鑑み、本発明は、ネットワークを経由して受信した映像を記録している最中に停電が発生し、記録が途中で中止して不完全なデータを記録してしまった場合であっても、従来より高速に再起動し、不完全なデータの再生を回避して画面乱れの発生を抑止できる映像記録装置を提供することを目的とする。
上記課題を解決するために、本発明の一実施態様である映像記録装置は、複数のフレーム画像データを記録する映像記録装置であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
本発明の一実施態様である映像記録装置は、上述の構成を備えることにより、前記合計実サイズと、前記合計管理サイズとを比較するという簡易な処理のみで、フレーム画像データに破損が生じているか否かを把握し、フレーム画像データの全てについて破損有無の検査を行うような負荷が高く時間を要する処理をすることなく、前記差分と前記サイズ情報とから破損したフレーム画像データを特定するので、従来より高速に、破損したフレーム画像の有無の判定、破損したフレーム画像の特定を行うことができるとともに、破損しているフレーム画像データを再生してしまい映像乱れが生じてしまうのを防ぐことができる。
破損したフレーム画像データの特定は、典型的には、フレーム画像データを記録媒体に記録する途中に停電等による電源断が発生し、その後の再起動時に行うこととなるが、このような場合に、破損したフレーム画像データを従来より短時間に特定し、定常状態に至るまでに要する時間を短縮することができる。
本発明の実施の形態における映像記録装置の構成図である。 本発明の実施の形態におけるネットワークカメラシステムから送信される応答メッセージを示す図である。 (a)本発明の実施の形態における第1記録手段により生成される位置情報ファイルの構成の一例を示す図である。(b)本発明の実施の形態における第2記録手段により格納されたJPEG画像データの概略構造を示す図である。 本発明の実施の形態における映像記録シーケンス図である。 本発明の実施の形態におけるファイル破損箇所検出およびJPEG画像データ再生の処理フローを示す図である。 本発明の第2の実施形態における位置情報ファイルとJPEG画像データの構造概略を示す図である。 本発明の第2の実施形態における位置情報ファイルの追記を示すフローチャートである。 本発明の第2の実施形態において生成される位置情報ファイルの構造概略を示す図である。 本発明の第3の実施形態におけるファイルシステムの基本動作を示すフローチャートである。 (a)本発明の第3の実施形態におけるファイルシステムに係るiノード情報の構造を示す図である。(b)本発明の第3の実施形態におけるファイルシステムに係るフリーブロックビットマップの構造を示す図である。(c)本発明の第3の実施形態における停電発生後のファイルの一例を示す図である。(d)本発明の第3の実施形態における位置情報ファイルの一例を示す図である。 本発明の第3の実施形態に係るJPEG画像データの探索処理を示すフローチャートである。
符号の説明
100 ネットワークカメラシステム
1000 映像記録装置
1001 受信手段
1002 解析手段
1003 第1記録手段
1004 第2記録手段
1005 映像データファイル
1006 位置情報ファイル
1007 判断手段
1008 変更手段
1012 検出手段
1013 再生手段
本発明の一実施態様である映像記録装置は、複数のフレーム画像データを記録する映像記録装置であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全サイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
また、前記記録手段は、前記記録媒体における論理的に連続した領域にフレーム画像データを順に記録し、全サイズ情報について、各サイズ情報に係るフレーム画像データより先に記録された全てのフレーム画像データの合計サイズであるオフセットを算出し、当該サイズ情報とオフセットとを対応づけて記録し、前記特定手段は、オフセットを用いて部分的に欠落したフレーム画像データの先頭位置を検出することとしてもよい。
また、前記特定手段は、全サイズ情報それぞれに対応するオフセットについて、記録順が後であるオフセットから順に選出する選出部と、前記選出部によりオフセットが選出される毎に、前記連続領域における当該オフセットが示す位置以降に、部分的に欠落したフレーム画像データが記録されているか検索する検索部と、部分的に欠落したフレーム画像データが発見された場合に、当該フレーム画像データに係るサイズ情報と対応づけられているオフセットを前記先頭位置と決定する決定部とを含むこととしてもよい。
この構成によれば、予め、サイズ情報により示されるサイズを合計してオフセットを算出しサイズ情報に対応づけて記憶しておくので、電源断以後の再起動時など破損したフレームの特定を行う際にサイズを合計する処理を行う必要がなくなり、より高速に破損したフレームの特定を行うことができる。
また、前記特定手段は、前記フレーム画像データの再生を抑止するために、当該フレーム画像データに対応するサイズ情報とオフセットを削除することとしてもよい。
この構成によれば、一部が欠落したフレーム画像データが前記サイズ情報とオフセットとを用いて特定され、再生されてしまうことを防ぐことができる。
また、前記管理手段は、前記先頭位置以降の記録領域に係るサイズ情報とオフセットとを前記記録手段から削除することとしてもよい。
この構成によれば、サイズ情報とオフセットが記録されているにも関わらず、当該サイズ情報に対応するフレーム画像データが記録されていないという不整合状態を回避することができる。
また、前記通信データは、HTTPに従った複数パートから構成され、前記全パートそれぞれは、前記フレーム画像データと前記サイズとの1組を含み、前記記録手段は、前記全パートそれぞれについて、各パートに含まれるサイズをサイズ情報として抽出し、当該パートに含まれるフレーム画像データを抽出し、当該サイズ情報及び当該フレーム画像データを対応付けて記録媒体に記録することとしてもよい。
この構成によれば、フレーム画像データがHTTPに従った通信データによって送信される場合に、サイズ情報とフレーム画像データとを適切に記録することができる。
また、前記特定手段は、更に、前記記録媒体に記録されている前記サイズ情報自体の合計サイズが、所定サイズの倍数であるか否かを判定し、所定サイズの倍数でないと判定された場合に、最後に記録されたサイズ情報を削除することとしてもよい。
この構成によれば、サイズ情報にデータ欠落が生じていることを、簡単な除算等の簡易な方法で検出することができる。
また、前記映像記録装置は、更に、前記合計実サイズが、前記合計管理サイズよりも大きい場合に、前記合計管理サイズを用いて特定される探索開始位置からフレーム画像データを探索する探索手段と、前記探索手段によりフレーム画像データが発見された場合、発見されたフレーム画像データのサイズを算出し、算出したサイズを示すサイズ情報を前記記録媒体に追記する追記手段と備えることとしてもよい。
また、前記映像記録装置は、ファイルシステムを備え、前記ファイルシステムは、前記記録媒体における記録領域をファイルに対して割り当て、前記全フレーム画像データは、1のファイルに格納され、前記映像記録装置は、更に、前記電源遮断が検出された場合に、前記ファイルシステムにより次に割り当て予定である記録領域に、フレーム画像データが記録されているか否かを探索する探索手段と、発見した場合に、当該フレーム画像データのサイズを算出してサイズ情報として前記記録媒体に追記する追記手段とを備えることとしてもよい。
この構成によれば、サイズ情報の数より多くのフレーム画像データが記録媒体に記録されている場合に、通信データを再度受信することなく、サイズ情報の数とフレーム画像データの数との差分に相当するフレーム画像データについてのサイズ情報を生成することができる。
また、前記各フレーム画像データは、タイムスタンプを含み、前記追記手段は、前記探索において発見したフレーム画像データのタイムスタンプが、前記ファイルに最後に格納されたフレーム画像データのタイムスタンプよりも遅い日時を示している場合にのみ前記追記を行うこととしてもよい。
この構成によれば、前記差分に相当するフレーム画像データが、サイズ情報に対応づけられて記録されているフレーム画像データと関連性があるか否か判定でき、関連性がないフレーム画像データについてサイズ情報を生成してしまうのを防ぐことができる。
また、前記記録手段は、前記記録媒体にフレーム画像データを記録する第1記録部と、前記記録媒体にサイズ情報を記録する第2記録部とを含み、前記第1記録部と前記第2記録部とは非同期に記録処理を行うこととしてもよい。
この構成によれば、フレーム画像データとサイズ情報とを別個独立に書き込むシステムを構築することができる。
請求項12に記載の態様である映像記録方法は、複数のフレーム画像データを記録する映像記録方法であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、前記特定されたフレーム画像データの再生を抑止する管理ステップとを含む。
請求項13に記載の態様である映像記録プログラムは、複数のフレーム画像データを記録する映像記録装置に用いられる映像記録プログラムであって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、前記特定されたフレーム画像データの再生を抑止する管理ステップとを含む。
請求項14に記載の態様である集積回路は、複数のフレーム画像データを記録する集積回路であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
この構成によれば、予め、サイズ情報により示されるサイズを合計してオフセットを算出しサイズ情報に対応づけて記憶しておくので、電源断以後の再起動時など破損したフレームの特定を行う際にサイズを合計する処理を行う必要がなくなり、より高速に破損したフレームの特定を行うことができる。

本発明の一実施形態に係る監視システムは、ネットワークカメラシステム、映像記録装置を含んで構成され、前記ネットワークカメラシステムが映像を撮影して、その映像データを前記映像記録装置に送信し、前記映像記録装置がその映像データを受信して記録するものである。前記監視システムは、例えば、店舗、各家庭等に設置され、監視対象となる箇所の映像を常時記録するために用いられる。前記映像は、前記監視箇所で事件が発生した時に犯人、不審者を特定する必要が生じた場合などに再生、解析される。
前記ネットワークカメラシステムは、撮影した映像をモーションJPEG(Joint Photographic Experts Group)形式で記録し、モーションJPEGに含まれる各JPEG画像データをHTTP(HyperText Transfer Protocol)に基づいて、映像記録装置へと送信する。
前記映像記録装置は、ネットワークカメラシステムから受信した受信データを一旦受信バッファに蓄積し、解析して、受信データからJPEG画像データを取り出してハードディスクドライブ、DVDメディア、フラッシュメディア等の記録媒体に記録する。
ここで、前記映像記録装置において、受信データを前記受信バッファに蓄積してから全JPEG画像データを前記記録媒体に記録し終えるまでの間に、停電が発生し、映像記録装置の電源コードが抜かれるなどして電源が遮断されると、前記記録媒体に不完全なJPEG画像データ(例えば画像の半分に相当するデータ)が記録され得る。
この場合に、前記映像記録装置は、後述する位置情報ファイルを用いることによって、従来よりも迅速に前記不完全なJPEG画像データを探索し発見する。発見したJPEG画像データについては、画面乱れ防止のためにディスプレイなどへの表示は行わない。
以下、本発明の一実施形態に係る監視システムについて、図面を参照しながら説明する。

1.第1の実施形態
1.1.構成
図1は、前記監視システムの構成を示す図である。
前記監視システムは、ネットワークカメラシステム100と、映像記録装置1000とを含んで構成される。
ネットワークカメラシステム100は、映像を撮影し、撮影した映像をモーションJPEG形式の映像データとして記録する。
ネットワークカメラシステム100は、映像記録装置1000からHTTPのGETコマンドを受け取ると、前記モーションJPEG形式の映像データに含まれる各JPEG画像データをHTTPに基づいて、映像記録装置へと送信する。
図2は、GETコマンドへの応答として、ネットワークカメラシステム100が映像記録装置へ送信する応答メッセージの一例を示す図である。
応答メッセージは、一般的なHTTPの複数パートフォーマット(参考文献:RFC2046)に従っており、ヘッダ情報と、データ実体とから構成される。
応答メッセージ2000は、図2に示すように、ヘッダ情報2001、複数パートヘッダエリア2002、複数パートボディエリア2003、複数パートヘッダエリア2003、複数パートボディエリア2004・・・を含んで構成されている。
ここで、HTTPの複数パートフォーマットによれば、複数パートヘッダエリアと複数パートボディエリアとの間には、空白行が挿入されることがあるが、図2では、簡単のため空白行は複数パートヘッダエリアに含めて表現している。
複数パートヘッダエリア2002は、HTTP応答メッセージのヘッダ情報2001の”boundary”フィールドで指定された境界文字列から開始される。
本実施の形態では、前記境界文字列は”−−myboundary”である。
また、複数パートヘッダエリア2002の中に示される”Content−length”フィールドには、次に連なる複数パートボディエリア2003のサイズが指定される。
複数パートボディエリア2003は、カメラにより撮像・生成された1フレーム分の画像に対応するJPEG画像データである。前述したように、JPEG画像データのサイズは、直前に現れた複数パートエリアの中に示される”Content−length”フィールドで指定されたサイズに一致する。
複数パートヘッダエリア2004、2006・・・のデータ構造等は、複数パートヘッダエリア2002と同様である。
また、複数パートボディエリア2005、2007・・・のデータ構造等は、複数パートボディエリア2003と同様である。
映像記録装置1000は、図1に示すように、受信手段1001、解析手段1002、第1記録手段1003、第2記録手段1004、判断手段1007、変更手段1008、RAM1009、記録媒体1010、終了手段1011、検出手段1012及び再生手段1013を含んで構成される。
受信手段1001は、ネットワークカメラシステム100が送信する応答メッセージを受信してRAM1009に順次格納し、一定量のデータを格納する毎に解析手段1002に対して解析開始信号を通知する。
解析手段1002は、受信手段1001から前記解析開始信号が通知されると、RAM1009に格納された応答メッセージを構文解析する。
構文解析として、解析手段1002は、まず、応答メッセージに含まれるヘッダ情報及び複数パートヘッダエリアを探索する。
ここで、ヘッダ情報は、ヘッダ情報に含まれる、”HTTP/1.0 200OK”等の文字列をキーに探索される。また、複数パートヘッダエリアは、境界文字列と空白行で囲まれていることから、境界文字列と空白行の組をキーに探索される。
解析手段1002は、ヘッダ情報を発見した場合、記録媒体1010に、第1記録手段1003を介して、映像データファイル1005を書き込み、第2記録手段1004を介して、位置情報ファイル1006を書き込む。このとき、映像データファイル1005、位置情報ファイル1006は、初期状態(ファイルサイズが0又は無効文字で埋められている状態)である。
ここで、位置情報ファイルと、映像データファイルについて説明する。
図3(a)は、位置情報ファイルの一例を示す図である。
図3(b)は、映像データファイルの一例を示す図である。
映像データファイルには、応答メッセージに含まれる複数パートボディエリアに格納されているデータが順次記録される。複数パートボディエリアには、本実施の形態では、1フレーム分のJPEG画像データが格納される。
図3(b)の例では、映像データファイル1005は、JPEG画像データ3201、3202、・・・3204を含む。
位置情報ファイルは、映像データファイルに格納された各フレームの位置情報を、時系列順に連続して保持するものであり、フレームオフセットと、フレームサイズの組のリストから成る。
フレームオフセットとフレームサイズとの1組が、映像データファイルにおける1つのフレーム(JPEG画像データ)に対応している。
フレームオフセットは、対応するフレームの映像データファイルにおける先頭からの位置を示している。また、フレームサイズは、対応するフレームのサイズを示す。
フレームオフセットとフレームサイズの情報は、それぞれ4バイトの容量を持つため、1フレームの位置情報を構成するためのデータサイズは8バイトである。
以上で、位置情報ファイル、映像データファイルについての説明を終え、解析手段1002の説明に戻る。
解析手段1002は、応答メッセージ中から複数パートヘッダエリアを発見した場合、複数パートヘッダエリアからフレームサイズとして”Content−length”フィールドで指定されている値を抽出する。
”Content−length”フィールドで指定されている値は、当該複数パートヘッダエリアの直後に続く複数パートボディエリアのサイズ(フレームサイズ:単位は一例としてキロバイト(kB))を示している。
例えば、解析手段1002は、応答メッセージ中から複数パートヘッダエリア2002を発見した場合、フレームサイズとして”Content−length”フィールドで指定されている1024kBを得る。
解析手段1002は、次に、当該複数パートヘッダエリアの直後に続く複数パートボディエリア(例えば、図2の2003)の内容を第1記録手段1003を介して映像データファイル1005に書き込む(例えば、図3(b)のJPEG画像データ3201)。
そして、解析手段1002は、映像データファイル1005に追記されるJPEG映像データの映像データファイル中での先頭位置、大きさを示す位置情報としてフレームオフセットoffsetとフレームサイズsizeを、第2記録手段1004を介して位置情報ファイル1006に追記する。
また、解析手段1002は、次に記録されるべきフレームに係るフレームオフセットとして、自フレームのフレームオフセットとフレームサイズとの和を算出する。
上記により、映像データファイル1005と位置情報ファイル1006に対する1フレーム分の記録処理が完了したこととなる。
ここで、終了手段により処理の終了が要求された場合、映像データファイル1005と位置情報ファイル1006を閉じて、記録処理を完了する。
第1記録手段1003は、解析手段1002からの指示に従い、映像データファイル1005の生成、映像データファイル1005へのデータの書き込みを行う。
具体的には、第1記録手段1003は、解析手段1002からJPEGデータの開始位置情報とサイズ情報を通知される度に、通知された情報を元にRAM1009からJPEGデータを読み出し、読み出したJPEGデータを映像データファイル1005に追記していく。
第1記録手段1003は、終了手段により終了通知を受信すると、映像データファイル1005をクローズする。
第2記録手段1004は、解析手段1002からの指示に従い、位置情報ファイル1006の生成、位置情報ファイル1006へのデータの書き込みを行う。
具体的には、第2記録手段1004は、解析手段1002からJPEGデータの開始位置情報とサイズ情報を通知される度に、フレームオフセットとフレームサイズを位置情報ファイル1006に追記していく。
第2記録手段1004は、終了手段により終了通知を受信すると、位置情報ファイル1006をクローズする。
検出手段1012は、録画処理後、特に停電などにより録画が正常に完了する前に中断された後の再起動時に、録画中の停電があったか否かを判定する。
録画中の電源遮断を検出する手法の一例は、検出手段1012が、不揮発性メモリに状態変数を管理しておく。検出手段1012は、録画開始時には、録画開始を示す状態変数を前記不揮発性メモリに書き込み、録画が終了すれば録画終了を示すよう状態変数を変更する。
検出手段1012は、映像記録装置がブートしたときに、前記状態変数をチェックし、状態変数が録画開始を示している場合には、録画中に停電等があり記録途中で電源遮断があったと決定できる。
検出手段1012は、録画中の電源遮断があったと判定した場合、判断手段1012に電源断があったことを通知する。
判断手段1007は、検出手段1012から電源遮断があったことの通知を受けると、録画中の停電によるデータ破損の有無を判定し、破損を検出した場合、破損データの位置情報を変更手段に通知する。
具体的には、判断手段1007は、位置情報ファイル1006におけるフレーム番号が最大のフレームに係るフレームオフセットとフレームサイズの和と、映像データファイル1005の実際のファイル長とを比較することで、録画中の停電によるデータ破損の有無を判定する。
変更手段1008は、判断手段1007により通知された破損データの位置情報に従い、第2記録手段1004により作成された位置情報ファイル1006のうち、破損データ部分を削除する。
終了手段1011は、第1記録手段1003、及び第2記録手段1004の記録処理を停止させる。停止のトリガーは、カメラからの送信終了、またはネットワークの切断などの理由による受信手段1001の受信処理の終了や、ユーザによる終了処理の要求である。
再生手段1013は、ユーザ指示等により前記映像データファイルの再生が指示された場合、判断手段1017によりデータ破損があったと判定されたフレーム以外のフレームのみ再生をし、データ破損があったと判定されたフレームについては再生を行わない。

1.2.動作
1.2.1.映像データの送受信動作、録画時の動作
本発明の一実施の形態におけるネットワークカメラシステム100の動作、及び映像記録装置1000による映像データの受信と録画の動作について説明する。
まず、ネットワークカメラシステム100が、映像を撮影し、撮影した映像をモーションJPEG形式の映像データとして記録し、記録を行ったことを映像記録装置1000に通知する。
また、映像記録装置1000は、前記通知を受けて、ネットワークカメラシステム100に対しHTTPプロトコルのGETコマンドを送信する。
ネットワークカメラシステム100は、GETコマンドを受け取ると、前記モーションJPEG形式の映像データに含まれる各JPEG画像データからHTTPプロトコルに基づく応答メッセージを生成して、応答メッセージを映像記録装置1000へと送信する。
映像記録装置1000における受信手段1001は、応答メッセージを受信し、RAM1009に格納する。
解析手段1002は、RAM1009に格納された応答メッセージのヘッダ情報2001から境界文字列(“−−myboundary”)を抽出し(S4001)、映像データファイル1005と位置情報ファイル1006を生成し(S4002)、位置情報ファイル1006を構成するためのオフセット情報offsetを0に初期化する(S4003)。
そして、受信手段1001は、応答メッセージを一定量受信する毎に、解析手段1002に対し解析開始信号を通知する。
解析手段1002は、解析開始信号を受信すると、境界文字列と空白行で囲まれた複数パートヘッダエリアを特定し(S4004)、S4004で特定した複数パートヘッダエリアから、”Content−length”フィールドで指定された値をサイズ情報sizeとして取得する(S4005)。
次に、特定した複数パートヘッダエリアに直後に存在する複数パートボディエリアを映像データファイル1005に追記し(S4006)、映像データファイル1005に追記されるJPEGデータの位置情報として、offsetをフレームオフセットとして記録し、sizeをフレームサイズとして位置情報ファイル1006に追記する(S4007)。
また、次のフレームのオフセットのため、offsetを、offsetとsizeとの和で更新する(S4008)。
上記により、1フレーム分の映像データファイル1005と位置情報ファイル1006に対する記録処理が完了したこととなる。
ここで、終了手段により処理の終了が要求された場合(S4009:Y)、映像データファイル1005と位置情報ファイル1006を閉じ(S4010)、記録処理を完了する。
終了手段による処理の終了が要求されなかった場合(S4009:N)、RAM1009に格納された次のフレームに対する映像データファイル1005と位置情報ファイル1006の追記を行うため、S4004から処理を繰り返す。

1.2.2.映像データ再生処理
映像記録装置1000による映像データファイルの再生処理について、図面を用いて以下に説明する。
映像記録装置1000が起動すると、まず、検出手段1012が、前回起動中に録画処理が行われ、当該録画処理中の停電等により電源遮断があったか否かを判定する(ステップS5001)。
電源遮断がないと判断された場合(ステップS5001:N)、再生手段1013が、映像データファイル1005に記録されているN個のJPEG画像データを格納順に再生する(ステップS5002)。
電源遮断があったと判断された場合(ステップS5001:Y)、判断手段1007は、位置情報ファイル1006のファイル長を、1フレームの位置情報を構成するための最小データサイズである8バイトで割り、商の値をNとする(ステップS5011)。
ここで、位置情報ファイル1006の先頭8×Nバイト分のデータが、位置情報ファイル1006として有効なデータである。そして、前記除算において、剰余が発生している場合は、位置情報ファイル1006の終端が破損していると判断する。
次にNが0と等しいか否かを判定し(ステップS5012)、肯定的であれば有効なデータは無いと判定し(ステップS5012:Y)、映像データファイル1005と位置情報ファイル1006を削除し(ステップS5014)、処理を終了する。
判定が否定的であれば(ステップS5012:N)、位置情報ファイル1006からN−1番目のフレームオフセットoffsetとフレームサイズsizeを読み出す(S5013)。
次に、映像データファイル1005のファイル長が、(offset+size)未満であるか否かを判定し(ステップS5015)、判定が肯定的であれば(ステップS5015:Y)、N−1番目のフレームに対する映像データは破損していると判断されるため、Nを、N−1の値に更新し(ステップS5017)、ステップS5012の判定から繰り返す。
ここで、映像データファイル1005のファイル長は、例えばファイルシステム等が管理しており、判断手段1007は、ファイルシステム等から映像データファイル1005のファイル長を取得できるものとする。
ステップS5015の判定が肯定的であれば(ステップS5015:Y)、NにN−1を代入し(ステップS5017)、ステップS5012に進む。
ステップS5015の判定が否定的である場合(ステップS5015:N)、位置情報ファイル1006のファイル長が8×Nよりも長いか否かを判定する(ステップS5016)。ステップS5016の判定が肯定的であれば(S5016:Y)、位置情報ファイル1006の終端に無効なデータが存在していると判断できるため、位置情報ファイル1006のオフセットが8×N以上の集団データを削除し(S5018)、再生手段1013がN個のJPEG画像データを再生する(ステップS5002)。
S5016の判定が否定的であれば(S5016:N)、位置情報ファイル1006の終端に無効なデータは存在しないと判断できるため、再生手段1013がN個のJPEG画像データを再生し(ステップS5002)、処理を終了する。
以上、説明したように、第1記録手段1003により記録された映像データファイル1005、又は第2記録手段1004により記録された位置情報ファイル1006、若しくは映像データファイル1005と位置情報ファイル1006の両方が記録中の停電により破損していたとしても、記録された映像データファイル1005のファイル長と、解析手段1002により解析され、第2記録手段1004により記録された前記単位データの位置情報とを比較することのみにより、前記映像テータの破損箇所を特定することができる。
また、前記破損箇所に対応する部分の位置情報を削除しているので、再生時は位置情報ファイル1006を元に再生すれば破損した映像データを参照せず、高速に破損データを修復することができる。

2.第2の実施形態
第1の実施形態では、システムの構成上、第1記録手段1003と第2記録手段1004とは非同期に動作することを想定していなかった。
本実施の形態では、システムの構成上、第1記録手段1003と第2記録手段1004とは非同期に動作するものとする。非同期の動作は、第1記録手段1003と、第2記録手段1004とを別タスクとして実装した場合などに生じ得る。
そして、両記録手段が並行して動作中に停電等が起こると、例えば図6に示すように、映像データファイルと、位置情報ファイルとの内容に不整合が生じ得る。
図6は、不整合が生じている場合の一例であり、映像データファイルには3フレーム分のJPEG画像データ6001〜6003と、破損した1つのJPEG画像データ6004が記録されているが、位置情報ファイルには2つのJPEG画像データ6001〜6002に対応するデータ6011〜6012しか記録されていない。
第1の実施の形態は、映像データファイルにデータ全体が記録されたJPEG画像データについては、フレームオフセットとフレームサイズとが位置情報ファイルに記録されていることが前提となっており、上述のような不整合ある場合を想定してはいるものの、再生可能なデータの復元は行っていない。
本実施の形態では、位置情報ファイルに登録されていないJPEG画像データ(6003)について、フレームオフセットとフレームサイズとを追記する追記処理を行う。
以下、前記追記処理について、図7を用いて説明する。
なお、以下、第1の実施形態とは異なる部分についてのみ説明する。
なお、本追記処理は、例えば、停電等で不整合が生じるような記録があった後に、最初に起動した時など適切な時に行うものとする。
まず、判断手段1007は、映像データファイル1005と、位置情報ファイルを開く(ステップS7001)。
そして、位置情報ファイルに記録された情報に対応する映像データファイルのデータ終端を計算する(ステップS7002)
図6の例では、データ終端は、フレーム番号1のフレームオフセットとフレームサイズとを加算した位置となる。
このデータ終端は、図6(b)におけるJPEG画像データ6002の終端(JPEG画像データ6003の始端)に一致する。
次いで、判断手段1007は、映像データファイルの中で、データ終端以降に記録されているSOI、EOIを検索する。
図6の例では、SOI、EOIは発見されることになる。
SOI、EOIを発見した場合(ステップS7004:Y)、位置情報ファイル中の最後フレーム番号に対応するフレームオフセット+フレームサイズを、位置情報ファイル中のフレームオフセットとして追記する(ステップS7005)。
図6の例では、フレーム番号2のフレームオフセットとして、フレーム番号1のフレームオフセット+フレームサイズが追記される。
そして、SOI、EOI間のデータサイズを計数し(ステップS7006)、計数したデータサイズをフレームサイズとして位置情報ファイルに追記し(ステップS7007)、次のSOI、EOIを検索する(ステップS7004に戻る)。
図6の例では、JPEG画像データ6003のデータサイズが計数され、フレーム番号2のフレームサイズとして位置情報ファイルに追記されることになる。
ステップS7004において、SOIとEOIが発見されなかった場合(ステップS7004:N)、映像データファイルと、位置情報ファイルを閉じて(ステップS7008)、処理を終了する。
以上の処理により、図6(a)に示した位置情報ファイルは、図8に示す位置情報ファイルへと内容が更新される。

4.第3の実施形態
第3の実施形態は、上述のような構成において、ファイル書き込みのためにファイルシステムが動作している間に停電等が起こり書き込んだファイルとファイル管理のための情報に不整合が生じた場合の復旧に関する。
具体的には、停電等のトラブル発生時に、JPEG画像データ本体は記録されたものの、JPEG画像データ本体が格納されたファイルを管理するための情報であるiノード情報にそのJPEG画像データが記録されなかった場合に、当該JPEG画像データを扱えるよう復旧する処理を行う。
以下、本実施の形態について、より詳細に説明する。
まず、本実施の形態に係るファイルシステムについて説明する。
ファイルシステムは、記録媒体における記録領域を固定長(例えば4キロバイト)のブロック単位で扱う。
アプリケーションが使用できるブロックは、ファイルシステムによって、例えば図10(b)のようなフリーブロックビットマップとして管理されている。
この例では、アプリケーションが使用できるブロックは、ブロック番号3以降のブロックであり、ブロック番号1〜3のブロックが使用中であることを示している。
ファイルシステムは、アプリケーションからファイルの生成要求を受け取ると、そのファイルサイズに応じて、フリーブロックビットマップに登録されている空きブロックの番号を取得し(ステップS9001)、その空きブロックをファイルに割り当てる。
例えば、ファイルのサイズが6キロバイトであれば、ファイルシステムは2つのブロックを前記アプリケーションに割り当てる。
次にデータのファイルへの書き込み要求を受けると、書き込み要求されたファイルデータをファイルに対応する空きブロックに書き込む(ステップS9002)。
そして、ファイルに関するiノード情報に書き込む(ステップS9003)。
図10(a)は、iノード情報の一例である。
iノード情報は、iノード番号と、ファイル名と、使用ブロック番号と、データ長との組のリストで構成される。
iノード番号等の組は、ファイル生成の時点でiノード情報に追加される。
iノード番号は、1つのファイルに対して1つ割り当てられる。
ファイル名は、そのiノード番号で表されるファイルの名前である。これは、アプリケーションから受け取るファイル名が用いられる。
使用ブロック番号は、ファイルが記録されているブロックの番号を示す。
iノード番号1のファイルは、ブロック番号1、2に跨って記録されている。
データ長Lは、ファイルのデータ長である。
一例として、iノード番号が1のファイルのファイル長は6144バイトである。
ここで、iノード情報は、記録領域に記録されているが、使用時にはメモリに一旦読み込まれて使用される。
メモリ上のiノード情報に変更があった場合は、適当なタイミングで記録領域に書き込むことで、メモリ上のiノード情報と記録領域上のiノード情報との同期が取られる(ステップS9004)。
次に、以上説明したようなファイルシステムにおいて、ファイル1にフレーム番号2のJPEG画像データを追記した後に停電等が生じて、iノード情報と、実際に記録領域に記録されたファイルに不整合が生じてしまった場合の動作について説明する。
図10(c)は、記録領域のブロック1〜3に、ファイル1が記録されている状態を示している。ここで、フレーム番号2のJPEG画像データがファイル1に追記されているので、iノード情報の使用ブロック番号は、1、2、3となり、データ長は9216バイトになるべきであるが、フレーム番号2のJPEG画像データに関してiノード情報が更新されていない。
また、このとき、位置情報ファイルは、図10(c)の実線で囲ったファイル1に対応するフレーム番号0〜1についてのみ記録される。
この状態において、アプリケーションは、iノード情報上ではフレーム番号2のJPEG画像データが存在しないのでこのJPEG画像データを使用することができない。
そこで、フレーム番号2のJPEG画像データを利用できるものとするため、判断手段1007が、前記破損データ修復動作の前や後、停電後に再起動した時など適切な時に、以下の手順に従い復旧処理を行う。
判断手段1007は、まず、停電発生時に記録していたファイルのiノード番号(inode_num)をファイルシステムから取得する(ステップS10001)。
ここで、ファイルシステムは、書き込み中のファイルのinode_numを保持しており(本例ではinode_num=1)、停電が生じた際に書き込み途中で処理が中断してしまったファイルのinode_numも保持したままである。
なお、上述のような書き込み途中で処理が中断してしまったファイルのinode_numのファイルシステムによる保持に換えて、書き込み途中で処理が中断してしまったファイルのファイル名をアプリケーションが保持する構成としてもよい。
判断手段1007は、inode_numに係るファイルのデータ長(L)をファイルシステムから取得する(ステップS10002)。また、判断手段1007は、ブロックサイズ(block_size)をファイルシステムから取得する(ステップS10003)。
そして、Lをblock_sizeで割った場合の剰余r(= L%block_size)を算出し、rが0に等しいか否か判定する(ステップS10004)。
rが0に等しくない場合(ステップS10004:N)、探索開始位置を、ファイル中の最終ブロックのrバイト目に設定し(ステップS10005)、rが0に等しい場合(ステップS10004:Y)、フリーブロックビットマップ中で次に割り当てられるブロックの先頭をファイルシステムから取得し、探索開始位置に設定する(ステップS10006)。
次に、判断手段1007は、探索開始位置以降にSOIが記録されているか否かを探索する(ステップS10007)。ここでは、探索は、最大フレームサイズ分のデータについて行い、SOIを発見できなかった場合(ステップS10008:N)、処理を終了する。
SOIを発見できた場合(ステップS10008:Y)、引き続きEOIを探索する(ステップS10009)。
EOIを発見できた場合(ステップS10010:Y)、SOI、EOIに挟まれたデータをJPEG画像データとみなして、SOIとEOIに挟まれたデータのサイズをフレームサイズとし、フレームオフセットと共に位置情報ファイルに追記し(ステップS10011)、ステップS10007に移行する。
図10(c)の例では、探索開始位置は、ブロック#2中のフレーム#1の終端(フレーム#2の始端)である。また、フレーム#2のサイズをフレームサイズとし、フレーム番号0〜1のフレームサイズのサイズの合計がファイルオフセットとして、位置情報ファイルに追記される。
また、ステップS10010において、EOIを発見できなかった場合(ステップS10010:N)、SOIからの探索範囲がフレームレートから求まるフレームサイズより十分広いか否かを判定し(ステップS10012)、十分広いと判定された場合には(ステップS10012:Y)処理を終了する。
ステップS10012において十分広くないと判定された場合(ステップS10012:N)、最大フレームサイズ分探索するまで(ステップS10013)、フリービットマップ中に登録されているブロックについて、EOIを探索し(ステップS10014)、ステップS10010に移行する。
以上により、フレーム#2が利用可能となる。

なお、ステップS10011において、SOIとEOIに挟まれたデータを有効なJPEG画像データとみなしていたが、SOIとEOIを調べるだけでは、単にファイル管理情報だけが欠けただけの有効なJPEG画像データか、ファイルシステムによってファイルの消去としてファイル管理情報だけが消された際に残されたといった無効なJPEG画像データかの区別はつきにくい。
従って、JPEG画像データに含まれる作成日時情報を用いて、JPEG画像データの有効/無効の判定確率を向上させてもよい。
例えば、本実施の形態では、復元したデータが図10(c)のフレーム番号2のJPEG画像データであり、フレーム番号0、1、2は、連続で撮影されているものとする。
ファイルに含まれるJPEG画像データには、当該JPEG画像データが作成された作成日時情報が記録されている。
そこで、フレーム番号2のJPEG画像データの作成日時情報と、フレーム番号1のJPEG画像データの作成日時情報とが所定の条件を満たす場合に、フレーム番号2のJPEG画像データも有効であると判定する。
前記所定の条件としては、フレーム番号2のJPEG画像データの作成日時情報が、フレーム番号1のJPEG画像データの作成日時情報よりも未来の日時を示し、かつ、両作成日時の差が撮影時のフレームレートから判断して妥当な範囲の場合に、フレーム番号2のJPEG画像データを有効なデータであると判定する。
無効なデータであると判定した場合には、当該データについては、位置情報ファイルへの登録を行わないなどとする。

5.その他変形例など
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1) 上述の実施形態において、ネットワークカメラシステムから送付される応答メッセージはHTTPプロトコルの複数パートフォーマットであるとしたが、複数パートヘッダエリアの“Content−length”フィールドに相当するようなフレームデータサイズを取得できるものであれば、上記フォーマットに限るものではない。
また、“Content−length”フィールドに相当するようなフレームデータサイズが存在しなかった場合は、各JPEGの先頭と終端に存在するマーカービットを、受信中にビット比較することによりフレームサイズを取得することにより、フレームの位置情報を生成するとしても良い。
また、1つの複数パートボディエリアに、1つのJPEG画像データを格納して通信する例で説明したが、これに限るものではない。1つの複数パートボディエリアに2つ以上のJPEG画像データを格納してもよいし、JPEG画像データを分割して2以上の複数パートボディエリアに格納して通信してもよい。
1つの複数パートボディエリアに2つ以上のJPEG画像データを格納しており、そのうちのいくつかのJPEG画像データが破損しているような場合には、位置情報ファイルの取り扱いを変更する必要がある。
上述の実施形態において、変更手段1008は、判断手段1007により通知された破損データの位置情報に従い、第2記録手段1004により作成された位置情報ファイル1006のうち破損データ部分を削除していた。しかし本変形例の場合であれば、上述のような削除は行わず、破損しているJPEG画像データの実サイズを、位置情報ファイルに含まれるフレームサイズから減じればよい。
(2) 上述の実施形態において、破損した映像データに対応した位置情報を削除するとしたが、破損した映像データのフレームを削除する、又は破損した映像データのフレームと、対応した位置情報の両方を削除するとしてもよい。このようにすれば、録画中の停電により映像データの破損が発生していた場合でも、修復後は映像データファイル1005を参照するだけで正常な再生を行うことが可能となる。
(3) 上述の実施形態において、映像データファイル1005への映像データの追記と位置情報ファイル1006への位置情報の追記を順番に行うとしたが、処理の効率化のために並行して行っても良い。
また、ファイルシステムのキャッシュ処理により引き起こされる遅延書き込みより、記録媒体1010に対して第1記録手段1003、第2記録手段1004の順番で書き込みを要求したにもかかわらず、停電の発生により記録媒体1010には第2記録手段1004の書き込み要求だけが反映されるような場合が生じうる。
上記の両ケースにおいても、本映像記録装置の検出手段及び変更手段1008によれば破損データを修復可能であることは自明である。
(4)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(5)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(6)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係る映像記録装置は、監視カメラからネットワークを介して映像データを受信して記録し、当該記録の最中に停電等により記録が中断された場合に復帰処理を行う映像記録装置として有用であり、監視システム等に使用される。また、監視システムを構成する映像記録装置等として家電の製造販売業者等により製造、販売等がなされる。
本発明は、映像記録装置に関するものであり、特に映像記録中の停電等により破損した映像データの再生処理に関する。
近年、ハードディスクレコーダに代表される民生用の映像記録機器が普及しており、前記映像記録機器の応用例の1つとして、ドアホンカメラに撮像された留守中の訪問者の映像をネットワーク経由で民生用レコーダで記録し、防犯に役立てるという利用形態が提案されている。
ここで、民生用の場合、機器が記録、再生する画像に対して要求される品質は高く、例えば記録中に停電やコンセント抜けなどが発生し記録中のデータが破損したとしても当該データを再生する際に画面乱れなどが生じるようなことは許されない。
このため、前記データ破損に対応する技術として、ディジタルカメラのエンコード部により生成された複数のJPEG画像を連続映像として記録した後、各JPEGの先頭と終端に存在するマーカービットをビット探索し、不整合が発生している位置を破損部分として認識し、当該破損部分を再生対象から除外するという技術が開示されている(例えば、特許文献1参照)。
特許第3733061号
しかしながら、上述の背景技術に記載した従来の構成では、記録済みのJPEG画像の先頭と終端に存在するマーカービットをビット探索する必要がある。そして、ビット探索するためには、記録済みの映像ファイルから映像データをメモリに読み出し、マーカービットを発見するまで、マーカービットと読み出した全てのデータをCPUにより比較する処理が必要である。このビット探索等の処理を停電発生後の再起動時に行うとすると、再起動して定常的な稼働状態となるまでに長時間を要するという問題がある。
上記問題に鑑み、本発明は、ネットワークを経由して受信した映像を記録している最中に停電が発生し、記録が途中で中止して不完全なデータを記録してしまった場合であっても、従来より高速に再起動し、不完全なデータの再生を回避して画面乱れの発生を抑止できる映像記録装置を提供することを目的とする。
上記課題を解決するために、本発明の一実施態様である映像記録装置は、複数のフレーム画像データを記録する映像記録装置であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
本発明の一実施態様である映像記録装置は、上述の構成を備えることにより、前記合計実サイズと、前記合計管理サイズとを比較するという簡易な処理のみで、フレーム画像データに破損が生じているか否かを把握し、フレーム画像データの全てについて破損有無の検査を行うような負荷が高く時間を要する処理をすることなく、前記差分と前記サイズ情報とから破損したフレーム画像データを特定するので、従来より高速に、破損したフレーム画像の有無の判定、破損したフレーム画像の特定を行うことができるとともに、破損しているフレーム画像データを再生してしまい映像乱れが生じてしまうのを防ぐことができる。
破損したフレーム画像データの特定は、典型的には、フレーム画像データを記録媒体に記録する途中に停電等による電源断が発生し、その後の再起動時に行うこととなるが、このような場合に、破損したフレーム画像データを従来より短時間に特定し、定常状態に至るまでに要する時間を短縮することができる。
本発明の実施の形態における映像記録装置の構成図である。 本発明の実施の形態におけるネットワークカメラシステムから送信される応答メッセージを示す図である。 (a)本発明の実施の形態における第1記録手段により生成される位置情報ファイルの構成の一例を示す図である。(b)本発明の実施の形態における第2記録手段により格納されたJPEG画像データの概略構造を示す図である。 本発明の実施の形態における映像記録シーケンス図である。 本発明の実施の形態におけるファイル破損箇所検出およびJPEG画像データ再生の処理フローを示す図である。 本発明の第2の実施形態における位置情報ファイルとJPEG画像データの構造概略を示す図である。 本発明の第2の実施形態における位置情報ファイルの追記を示すフローチャートである。 本発明の第2の実施形態において生成される位置情報ファイルの構造概略を示す図である。 本発明の第3の実施形態におけるファイルシステムの基本動作を示すフローチャートである。 (a)本発明の第3の実施形態におけるファイルシステムに係るiノード情報の構造を示す図である。(b)本発明の第3の実施形態におけるファイルシステムに係るフリーブロックビットマップの構造を示す図である。(c)本発明の第3の実施形態における停電発生後のファイルの一例を示す図である。(d)本発明の第3の実施形態における位置情報ファイルの一例を示す図である。 本発明の第3の実施形態に係るJPEG画像データの探索処理を示すフローチャートである。
本発明の一実施態様である映像記録装置は、複数のフレーム画像データを記録する映像記録装置であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全サイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
また、前記記録手段は、前記記録媒体における論理的に連続した領域にフレーム画像データを順に記録し、全サイズ情報について、各サイズ情報に係るフレーム画像データより先に記録された全てのフレーム画像データの合計サイズであるオフセットを算出し、当該サイズ情報とオフセットとを対応づけて記録し、前記特定手段は、オフセットを用いて部分的に欠落したフレーム画像データの先頭位置を検出することとしてもよい。
また、前記特定手段は、全サイズ情報それぞれに対応するオフセットについて、記録順が後であるオフセットから順に選出する選出部と、前記選出部によりオフセットが選出される毎に、前記連続領域における当該オフセットが示す位置以降に、部分的に欠落したフレーム画像データが記録されているか検索する検索部と、部分的に欠落したフレーム画像データが発見された場合に、当該フレーム画像データに係るサイズ情報と対応づけられているオフセットを前記先頭位置と決定する決定部とを含むこととしてもよい。
この構成によれば、予め、サイズ情報により示されるサイズを合計してオフセットを算出しサイズ情報に対応づけて記憶しておくので、電源断以後の再起動時など破損したフレームの特定を行う際にサイズを合計する処理を行う必要がなくなり、より高速に破損したフレームの特定を行うことができる。
また、前記特定手段は、前記フレーム画像データの再生を抑止するために、当該フレーム画像データに対応するサイズ情報とオフセットを削除することとしてもよい。
この構成によれば、一部が欠落したフレーム画像データが前記サイズ情報とオフセットとを用いて特定され、再生されてしまうことを防ぐことができる。
また、前記管理手段は、前記先頭位置以降の記録領域に係るサイズ情報とオフセットとを前記記録手段から削除することとしてもよい。
この構成によれば、サイズ情報とオフセットが記録されているにも関わらず、当該サイズ情報に対応するフレーム画像データが記録されていないという不整合状態を回避することができる。
また、前記通信データは、HTTPに従った複数パートから構成され、前記全パートそれぞれは、前記フレーム画像データと前記サイズとの1組を含み、前記記録手段は、前記全パートそれぞれについて、各パートに含まれるサイズをサイズ情報として抽出し、当該パートに含まれるフレーム画像データを抽出し、当該サイズ情報及び当該フレーム画像データを対応付けて記録媒体に記録することとしてもよい。
この構成によれば、フレーム画像データがHTTPに従った通信データによって送信される場合に、サイズ情報とフレーム画像データとを適切に記録することができる。
また、前記特定手段は、更に、前記記録媒体に記録されている前記サイズ情報自体の合計サイズが、所定サイズの倍数であるか否かを判定し、所定サイズの倍数でないと判定された場合に、最後に記録されたサイズ情報を削除することとしてもよい。
この構成によれば、サイズ情報にデータ欠落が生じていることを、簡単な除算等の簡易な方法で検出することができる。
また、前記映像記録装置は、更に、前記合計実サイズが、前記合計管理サイズよりも大きい場合に、前記合計管理サイズを用いて特定される探索開始位置からフレーム画像データを探索する探索手段と、前記探索手段によりフレーム画像データが発見された場合、発見されたフレーム画像データのサイズを算出し、算出したサイズを示すサイズ情報を前記記録媒体に追記する追記手段と備えることとしてもよい。
また、前記映像記録装置は、ファイルシステムを備え、前記ファイルシステムは、前記記録媒体における記録領域をファイルに対して割り当て、前記全フレーム画像データは、1のファイルに格納され、前記映像記録装置は、更に、前記電源遮断が検出された場合に、前記ファイルシステムにより次に割り当て予定である記録領域に、フレーム画像データが記録されているか否かを探索する探索手段と、発見した場合に、当該フレーム画像データのサイズを算出してサイズ情報として前記記録媒体に追記する追記手段とを備えることとしてもよい。
この構成によれば、サイズ情報の数より多くのフレーム画像データが記録媒体に記録されている場合に、通信データを再度受信することなく、サイズ情報の数とフレーム画像データの数との差分に相当するフレーム画像データについてのサイズ情報を生成することができる。
また、前記各フレーム画像データは、タイムスタンプを含み、前記追記手段は、前記探索において発見したフレーム画像データのタイムスタンプが、前記ファイルに最後に格納されたフレーム画像データのタイムスタンプよりも遅い日時を示している場合にのみ前記追記を行うこととしてもよい。
この構成によれば、前記差分に相当するフレーム画像データが、サイズ情報に対応づけられて記録されているフレーム画像データと関連性があるか否か判定でき、関連性がないフレーム画像データについてサイズ情報を生成してしまうのを防ぐことができる。
また、前記記録手段は、前記記録媒体にフレーム画像データを記録する第1記録部と、前記記録媒体にサイズ情報を記録する第2記録部とを含み、前記第1記録部と前記第2記録部とは非同期に記録処理を行うこととしてもよい。
この構成によれば、フレーム画像データとサイズ情報とを別個独立に書き込むシステムを構築することができる。
請求項12に記載の態様である映像記録方法は、複数のフレーム画像データを記録する映像記録方法であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、前記特定されたフレーム画像データの再生を抑止する管理ステップとを含む。
請求項13に記載の態様である映像記録プログラムは、複数のフレーム画像データを記録する映像記録装置に用いられる映像記録プログラムであって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、前記特定されたフレーム画像データの再生を抑止する管理ステップとを含む。
請求項14に記載の態様である集積回路は、複数のフレーム画像データを記録する集積回路であって、フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、前記特定されたフレーム画像データの再生を抑止する管理手段とを備える。
この構成によれば、予め、サイズ情報により示されるサイズを合計してオフセットを算出しサイズ情報に対応づけて記憶しておくので、電源断以後の再起動時など破損したフレームの特定を行う際にサイズを合計する処理を行う必要がなくなり、より高速に破損したフレームの特定を行うことができる。

本発明の一実施形態に係る監視システムは、ネットワークカメラシステム、映像記録装置を含んで構成され、前記ネットワークカメラシステムが映像を撮影して、その映像データを前記映像記録装置に送信し、前記映像記録装置がその映像データを受信して記録するものである。前記監視システムは、例えば、店舗、各家庭等に設置され、監視対象となる箇所の映像を常時記録するために用いられる。前記映像は、前記監視箇所で事件が発生した時に犯人、不審者を特定する必要が生じた場合などに再生、解析される。
前記ネットワークカメラシステムは、撮影した映像をモーションJPEG(Joint Photographic Experts Group)形式で記録し、モーションJPEGに含まれる各JPEG画像データをHTTP(HyperText Transfer Protocol)に基づいて、映像記録装置へと送信する。
前記映像記録装置は、ネットワークカメラシステムから受信した受信データを一旦受信バッファに蓄積し、解析して、受信データからJPEG画像データを取り出してハードディスクドライブ、DVDメディア、フラッシュメディア等の記録媒体に記録する。
ここで、前記映像記録装置において、受信データを前記受信バッファに蓄積してから全JPEG画像データを前記記録媒体に記録し終えるまでの間に、停電が発生し、映像記録装置の電源コードが抜かれるなどして電源が遮断されると、前記記録媒体に不完全なJPEG画像データ(例えば画像の半分に相当するデータ)が記録され得る。
この場合に、前記映像記録装置は、後述する位置情報ファイルを用いることによって、従来よりも迅速に前記不完全なJPEG画像データを探索し発見する。発見したJPEG画像データについては、画面乱れ防止のためにディスプレイなどへの表示は行わない。
以下、本発明の一実施形態に係る監視システムについて、図面を参照しながら説明する。

1.第1の実施形態
1.1.構成
図1は、前記監視システムの構成を示す図である。
前記監視システムは、ネットワークカメラシステム100と、映像記録装置1000とを含んで構成される。
ネットワークカメラシステム100は、映像を撮影し、撮影した映像をモーションJPEG形式の映像データとして記録する。
ネットワークカメラシステム100は、映像記録装置1000からHTTPのGETコマンドを受け取ると、前記モーションJPEG形式の映像データに含まれる各JPEG画像データをHTTPに基づいて、映像記録装置へと送信する。
図2は、GETコマンドへの応答として、ネットワークカメラシステム100が映像記録装置へ送信する応答メッセージの一例を示す図である。
応答メッセージは、一般的なHTTPの複数パートフォーマット(参考文献:RFC2046)に従っており、ヘッダ情報と、データ実体とから構成される。
応答メッセージ2000は、図2に示すように、ヘッダ情報2001、複数パートヘッダエリア2002、複数パートボディエリア2003、複数パートヘッダエリア2003、複数パートボディエリア2004・・・を含んで構成されている。
ここで、HTTPの複数パートフォーマットによれば、複数パートヘッダエリアと複数パートボディエリアとの間には、空白行が挿入されることがあるが、図2では、簡単のため空白行は複数パートヘッダエリアに含めて表現している。
複数パートヘッダエリア2002は、HTTP応答メッセージのヘッダ情報2001の”boundary”フィールドで指定された境界文字列から開始される。
本実施の形態では、前記境界文字列は”−−myboundary”である。
また、複数パートヘッダエリア2002の中に示される”Content−length”フィールドには、次に連なる複数パートボディエリア2003のサイズが指定される。
複数パートボディエリア2003は、カメラにより撮像・生成された1フレーム分の画像に対応するJPEG画像データである。前述したように、JPEG画像データのサイズは、直前に現れた複数パートエリアの中に示される”Content−length”フィールドで指定されたサイズに一致する。
複数パートヘッダエリア2004、2006・・・のデータ構造等は、複数パートヘッダエリア2002と同様である。
また、複数パートボディエリア2005、2007・・・のデータ構造等は、複数パートボディエリア2003と同様である。
映像記録装置1000は、図1に示すように、受信手段1001、解析手段1002、第1記録手段1003、第2記録手段1004、判断手段1007、変更手段1008、RAM1009、記録媒体1010、終了手段1011、検出手段1012及び再生手段1013を含んで構成される。
受信手段1001は、ネットワークカメラシステム100が送信する応答メッセージを受信してRAM1009に順次格納し、一定量のデータを格納する毎に解析手段1002に対して解析開始信号を通知する。
解析手段1002は、受信手段1001から前記解析開始信号が通知されると、RAM1009に格納された応答メッセージを構文解析する。
構文解析として、解析手段1002は、まず、応答メッセージに含まれるヘッダ情報及び複数パートヘッダエリアを探索する。
ここで、ヘッダ情報は、ヘッダ情報に含まれる、”HTTP/1.0 200OK”等の文字列をキーに探索される。また、複数パートヘッダエリアは、境界文字列と空白行で囲まれていることから、境界文字列と空白行の組をキーに探索される。
解析手段1002は、ヘッダ情報を発見した場合、記録媒体1010に、第1記録手段1003を介して、映像データファイル1005を書き込み、第2記録手段1004を介して、位置情報ファイル1006を書き込む。このとき、映像データファイル1005、位置情報ファイル1006は、初期状態(ファイルサイズが0又は無効文字で埋められている状態)である。
ここで、位置情報ファイルと、映像データファイルについて説明する。
図3(a)は、位置情報ファイルの一例を示す図である。
図3(b)は、映像データファイルの一例を示す図である。
映像データファイルには、応答メッセージに含まれる複数パートボディエリアに格納されているデータが順次記録される。複数パートボディエリアには、本実施の形態では、1フレーム分のJPEG画像データが格納される。
図3(b)の例では、映像データファイル1005は、JPEG画像データ3201、3202、・・・3204を含む。
位置情報ファイルは、映像データファイルに格納された各フレームの位置情報を、時系列順に連続して保持するものであり、フレームオフセットと、フレームサイズの組のリストから成る。
フレームオフセットとフレームサイズとの1組が、映像データファイルにおける1つのフレーム(JPEG画像データ)に対応している。
フレームオフセットは、対応するフレームの映像データファイルにおける先頭からの位置を示している。また、フレームサイズは、対応するフレームのサイズを示す。
フレームオフセットとフレームサイズの情報は、それぞれ4バイトの容量を持つため、1フレームの位置情報を構成するためのデータサイズは8バイトである。
以上で、位置情報ファイル、映像データファイルについての説明を終え、解析手段1002の説明に戻る。
解析手段1002は、応答メッセージ中から複数パートヘッダエリアを発見した場合、複数パートヘッダエリアからフレームサイズとして”Content−length”フィールドで指定されている値を抽出する。
”Content−length”フィールドで指定されている値は、当該複数パートヘッダエリアの直後に続く複数パートボディエリアのサイズ(フレームサイズ:単位は一例としてキロバイト(kB))を示している。
例えば、解析手段1002は、応答メッセージ中から複数パートヘッダエリア2002を発見した場合、フレームサイズとして”Content−length”フィールドで指定されている1024kBを得る。
解析手段1002は、次に、当該複数パートヘッダエリアの直後に続く複数パートボディエリア(例えば、図2の2003)の内容を第1記録手段1003を介して映像データファイル1005に書き込む(例えば、図3(b)のJPEG画像データ3201)。
そして、解析手段1002は、映像データファイル1005に追記されるJPEG映像データの映像データファイル中での先頭位置、大きさを示す位置情報としてフレームオフセットoffsetとフレームサイズsizeを、第2記録手段1004を介して位置情報ファイル1006に追記する。
また、解析手段1002は、次に記録されるべきフレームに係るフレームオフセットとして、自フレームのフレームオフセットとフレームサイズとの和を算出する。
上記により、映像データファイル1005と位置情報ファイル1006に対する1フレーム分の記録処理が完了したこととなる。
ここで、終了手段により処理の終了が要求された場合、映像データファイル1005と位置情報ファイル1006を閉じて、記録処理を完了する。
第1記録手段1003は、解析手段1002からの指示に従い、映像データファイル1005の生成、映像データファイル1005へのデータの書き込みを行う。
具体的には、第1記録手段1003は、解析手段1002からJPEGデータの開始位置情報とサイズ情報を通知される度に、通知された情報を元にRAM1009からJPEGデータを読み出し、読み出したJPEGデータを映像データファイル1005に追記していく。
第1記録手段1003は、終了手段により終了通知を受信すると、映像データファイル1005をクローズする。
第2記録手段1004は、解析手段1002からの指示に従い、位置情報ファイル1006の生成、位置情報ファイル1006へのデータの書き込みを行う。
具体的には、第2記録手段1004は、解析手段1002からJPEGデータの開始位置情報とサイズ情報を通知される度に、フレームオフセットとフレームサイズを位置情報ファイル1006に追記していく。
第2記録手段1004は、終了手段により終了通知を受信すると、位置情報ファイル1006をクローズする。
検出手段1012は、録画処理後、特に停電などにより録画が正常に完了する前に中断された後の再起動時に、録画中の停電があったか否かを判定する。
録画中の電源遮断を検出する手法の一例は、検出手段1012が、不揮発性メモリに状態変数を管理しておく。検出手段1012は、録画開始時には、録画開始を示す状態変数を前記不揮発性メモリに書き込み、録画が終了すれば録画終了を示すよう状態変数を変更する。
検出手段1012は、映像記録装置がブートしたときに、前記状態変数をチェックし、状態変数が録画開始を示している場合には、録画中に停電等があり記録途中で電源遮断があったと決定できる。
検出手段1012は、録画中の電源遮断があったと判定した場合、判断手段1012に電源断があったことを通知する。
判断手段1007は、検出手段1012から電源遮断があったことの通知を受けると、録画中の停電によるデータ破損の有無を判定し、破損を検出した場合、破損データの位置情報を変更手段に通知する。
具体的には、判断手段1007は、位置情報ファイル1006におけるフレーム番号が最大のフレームに係るフレームオフセットとフレームサイズの和と、映像データファイル1005の実際のファイル長とを比較することで、録画中の停電によるデータ破損の有無を判定する。
変更手段1008は、判断手段1007により通知された破損データの位置情報に従い、第2記録手段1004により作成された位置情報ファイル1006のうち、破損データ部分を削除する。
終了手段1011は、第1記録手段1003、及び第2記録手段1004の記録処理を停止させる。停止のトリガーは、カメラからの送信終了、またはネットワークの切断などの理由による受信手段1001の受信処理の終了や、ユーザによる終了処理の要求である。
再生手段1013は、ユーザ指示等により前記映像データファイルの再生が指示された場合、判断手段1017によりデータ破損があったと判定されたフレーム以外のフレームのみ再生をし、データ破損があったと判定されたフレームについては再生を行わない。

1.2.動作
1.2.1.映像データの送受信動作、録画時の動作
本発明の一実施の形態におけるネットワークカメラシステム100の動作、及び映像記録装置1000による映像データの受信と録画の動作について説明する。
まず、ネットワークカメラシステム100が、映像を撮影し、撮影した映像をモーションJPEG形式の映像データとして記録し、記録を行ったことを映像記録装置1000に通知する。
また、映像記録装置1000は、前記通知を受けて、ネットワークカメラシステム100に対しHTTPプロトコルのGETコマンドを送信する。
ネットワークカメラシステム100は、GETコマンドを受け取ると、前記モーションJPEG形式の映像データに含まれる各JPEG画像データからHTTPプロトコルに基づく応答メッセージを生成して、応答メッセージを映像記録装置1000へと送信する。
映像記録装置1000における受信手段1001は、応答メッセージを受信し、RAM1009に格納する。
解析手段1002は、RAM1009に格納された応答メッセージのヘッダ情報2001から境界文字列(“−−myboundary”)を抽出し(S4001)、映像データファイル1005と位置情報ファイル1006を生成し(S4002)、位置情報ファイル1006を構成するためのオフセット情報offsetを0に初期化する(S4003)。
そして、受信手段1001は、応答メッセージを一定量受信する毎に、解析手段1002に対し解析開始信号を通知する。
解析手段1002は、解析開始信号を受信すると、境界文字列と空白行で囲まれた複数パートヘッダエリアを特定し(S4004)、S4004で特定した複数パートヘッダエリアから、”Content−length”フィールドで指定された値をサイズ情報sizeとして取得する(S4005)。
次に、特定した複数パートヘッダエリアに直後に存在する複数パートボディエリアを映像データファイル1005に追記し(S4006)、映像データファイル1005に追記されるJPEGデータの位置情報として、offsetをフレームオフセットとして記録し、sizeをフレームサイズとして位置情報ファイル1006に追記する(S4007)。
また、次のフレームのオフセットのため、offsetを、offsetとsizeとの和で更新する(S4008)。
上記により、1フレーム分の映像データファイル1005と位置情報ファイル1006に対する記録処理が完了したこととなる。
ここで、終了手段により処理の終了が要求された場合(S4009:Y)、映像データファイル1005と位置情報ファイル1006を閉じ(S4010)、記録処理を完了する。
終了手段による処理の終了が要求されなかった場合(S4009:N)、RAM1009に格納された次のフレームに対する映像データファイル1005と位置情報ファイル1006の追記を行うため、S4004から処理を繰り返す。

1.2.2.映像データ再生処理
映像記録装置1000による映像データファイルの再生処理について、図面を用いて以下に説明する。
映像記録装置1000が起動すると、まず、検出手段1012が、前回起動中に録画処理が行われ、当該録画処理中の停電等により電源遮断があったか否かを判定する(ステップS5001)。
電源遮断がないと判断された場合(ステップS5001:N)、再生手段1013が、映像データファイル1005に記録されているN個のJPEG画像データを格納順に再生する(ステップS5002)。
電源遮断があったと判断された場合(ステップS5001:Y)、判断手段1007は、位置情報ファイル1006のファイル長を、1フレームの位置情報を構成するための最小データサイズである8バイトで割り、商の値をNとする(ステップS5011)。
ここで、位置情報ファイル1006の先頭8×Nバイト分のデータが、位置情報ファイル1006として有効なデータである。そして、前記除算において、剰余が発生している場合は、位置情報ファイル1006の終端が破損していると判断する。
次にNが0と等しいか否かを判定し(ステップS5012)、肯定的であれば有効なデータは無いと判定し(ステップS5012:Y)、映像データファイル1005と位置情報ファイル1006を削除し(ステップS5014)、処理を終了する。
判定が否定的であれば(ステップS5012:N)、位置情報ファイル1006からN−1番目のフレームオフセットoffsetとフレームサイズsizeを読み出す(S5013)。
次に、映像データファイル1005のファイル長が、(offset+size)未満であるか否かを判定し(ステップS5015)、判定が肯定的であれば(ステップS5015:Y)、N−1番目のフレームに対する映像データは破損していると判断されるため、Nを、N−1の値に更新し(ステップS5017)、ステップS5012の判定から繰り返す。
ここで、映像データファイル1005のファイル長は、例えばファイルシステム等が管理しており、判断手段1007は、ファイルシステム等から映像データファイル1005のファイル長を取得できるものとする。
ステップS5015の判定が肯定的であれば(ステップS5015:Y)、NにN−1を代入し(ステップS5017)、ステップS5012に進む。
ステップS5015の判定が否定的である場合(ステップS5015:N)、位置情報ファイル1006のファイル長が8×Nよりも長いか否かを判定する(ステップS5016)。ステップS5016の判定が肯定的であれば(S5016:Y)、位置情報ファイル1006の終端に無効なデータが存在していると判断できるため、位置情報ファイル1006のオフセットが8×N以上の集団データを削除し(S5018)、再生手段1013がN個のJPEG画像データを再生する(ステップS5002)。
S5016の判定が否定的であれば(S5016:N)、位置情報ファイル1006の終端に無効なデータは存在しないと判断できるため、再生手段1013がN個のJPEG画像データを再生し(ステップS5002)、処理を終了する。
以上、説明したように、第1記録手段1003により記録された映像データファイル1005、又は第2記録手段1004により記録された位置情報ファイル1006、若しくは映像データファイル1005と位置情報ファイル1006の両方が記録中の停電により破損していたとしても、記録された映像データファイル1005のファイル長と、解析手段1002により解析され、第2記録手段1004により記録された前記単位データの位置情報とを比較することのみにより、前記映像テータの破損箇所を特定することができる。
また、前記破損箇所に対応する部分の位置情報を削除しているので、再生時は位置情報ファイル1006を元に再生すれば破損した映像データを参照せず、高速に破損データを修復することができる。

2.第2の実施形態
第1の実施形態では、システムの構成上、第1記録手段1003と第2記録手段1004とは非同期に動作することを想定していなかった。
本実施の形態では、システムの構成上、第1記録手段1003と第2記録手段1004とは非同期に動作するものとする。非同期の動作は、第1記録手段1003と、第2記録手段1004とを別タスクとして実装した場合などに生じ得る。
そして、両記録手段が並行して動作中に停電等が起こると、例えば図6に示すように、映像データファイルと、位置情報ファイルとの内容に不整合が生じ得る。
図6は、不整合が生じている場合の一例であり、映像データファイルには3フレーム分のJPEG画像データ6001〜6003と、破損した1つのJPEG画像データ6004が記録されているが、位置情報ファイルには2つのJPEG画像データ6001〜6002に対応するデータ6011〜6012しか記録されていない。
第1の実施の形態は、映像データファイルにデータ全体が記録されたJPEG画像データについては、フレームオフセットとフレームサイズとが位置情報ファイルに記録されていることが前提となっており、上述のような不整合ある場合を想定してはいるものの、再生可能なデータの復元は行っていない。
本実施の形態では、位置情報ファイルに登録されていないJPEG画像データ(6003)について、フレームオフセットとフレームサイズとを追記する追記処理を行う。
以下、前記追記処理について、図7を用いて説明する。
なお、以下、第1の実施形態とは異なる部分についてのみ説明する。
なお、本追記処理は、例えば、停電等で不整合が生じるような記録があった後に、最初に起動した時など適切な時に行うものとする。
まず、判断手段1007は、映像データファイル1005と、位置情報ファイルを開く(ステップS7001)。
そして、位置情報ファイルに記録された情報に対応する映像データファイルのデータ終端を計算する(ステップS7002)
図6の例では、データ終端は、フレーム番号1のフレームオフセットとフレームサイズとを加算した位置となる。
このデータ終端は、図6(b)におけるJPEG画像データ6002の終端(JPEG画像データ6003の始端)に一致する。
次いで、判断手段1007は、映像データファイルの中で、データ終端以降に記録されているSOI、EOIを検索する。
図6の例では、SOI、EOIは発見されることになる。
SOI、EOIを発見した場合(ステップS7004:Y)、位置情報ファイル中の最後フレーム番号に対応するフレームオフセット+フレームサイズを、位置情報ファイル中のフレームオフセットとして追記する(ステップS7005)。
図6の例では、フレーム番号2のフレームオフセットとして、フレーム番号1のフレームオフセット+フレームサイズが追記される。
そして、SOI、EOI間のデータサイズを計数し(ステップS7006)、計数したデータサイズをフレームサイズとして位置情報ファイルに追記し(ステップS7007)、次のSOI、EOIを検索する(ステップS7004に戻る)。
図6の例では、JPEG画像データ6003のデータサイズが計数され、フレーム番号2のフレームサイズとして位置情報ファイルに追記されることになる。
ステップS7004において、SOIとEOIが発見されなかった場合(ステップS7004:N)、映像データファイルと、位置情報ファイルを閉じて(ステップS7008)、処理を終了する。
以上の処理により、図6(a)に示した位置情報ファイルは、図8に示す位置情報ファイルへと内容が更新される。

4.第3の実施形態
第3の実施形態は、上述のような構成において、ファイル書き込みのためにファイルシステムが動作している間に停電等が起こり書き込んだファイルとファイル管理のための情報に不整合が生じた場合の復旧に関する。
具体的には、停電等のトラブル発生時に、JPEG画像データ本体は記録されたものの、JPEG画像データ本体が格納されたファイルを管理するための情報であるiノード情報にそのJPEG画像データが記録されなかった場合に、当該JPEG画像データを扱えるよう復旧する処理を行う。
以下、本実施の形態について、より詳細に説明する。
まず、本実施の形態に係るファイルシステムについて説明する。
ファイルシステムは、記録媒体における記録領域を固定長(例えば4キロバイト)のブロック単位で扱う。
アプリケーションが使用できるブロックは、ファイルシステムによって、例えば図10(b)のようなフリーブロックビットマップとして管理されている。
この例では、アプリケーションが使用できるブロックは、ブロック番号3以降のブロックであり、ブロック番号1〜3のブロックが使用中であることを示している。
ファイルシステムは、アプリケーションからファイルの生成要求を受け取ると、そのファイルサイズに応じて、フリーブロックビットマップに登録されている空きブロックの番号を取得し(ステップS9001)、その空きブロックをファイルに割り当てる。
例えば、ファイルのサイズが6キロバイトであれば、ファイルシステムは2つのブロックを前記アプリケーションに割り当てる。
次にデータのファイルへの書き込み要求を受けると、書き込み要求されたファイルデータをファイルに対応する空きブロックに書き込む(ステップS9002)。
そして、ファイルに関するiノード情報に書き込む(ステップS9003)。
図10(a)は、iノード情報の一例である。
iノード情報は、iノード番号と、ファイル名と、使用ブロック番号と、データ長との組のリストで構成される。
iノード番号等の組は、ファイル生成の時点でiノード情報に追加される。
iノード番号は、1つのファイルに対して1つ割り当てられる。
ファイル名は、そのiノード番号で表されるファイルの名前である。これは、アプリケーションから受け取るファイル名が用いられる。
使用ブロック番号は、ファイルが記録されているブロックの番号を示す。
iノード番号1のファイルは、ブロック番号1、2に跨って記録されている。
データ長Lは、ファイルのデータ長である。
一例として、iノード番号が1のファイルのファイル長は6144バイトである。
ここで、iノード情報は、記録領域に記録されているが、使用時にはメモリに一旦読み込まれて使用される。
メモリ上のiノード情報に変更があった場合は、適当なタイミングで記録領域に書き込むことで、メモリ上のiノード情報と記録領域上のiノード情報との同期が取られる(ステップS9004)。
次に、以上説明したようなファイルシステムにおいて、ファイル1にフレーム番号2のJPEG画像データを追記した後に停電等が生じて、iノード情報と、実際に記録領域に記録されたファイルに不整合が生じてしまった場合の動作について説明する。
図10(c)は、記録領域のブロック1〜3に、ファイル1が記録されている状態を示している。ここで、フレーム番号2のJPEG画像データがファイル1に追記されているので、iノード情報の使用ブロック番号は、1、2、3となり、データ長は9216バイトになるべきであるが、フレーム番号2のJPEG画像データに関してiノード情報が更新されていない。
また、このとき、位置情報ファイルは、図10(c)の実線で囲ったファイル1に対応するフレーム番号0〜1についてのみ記録される。
この状態において、アプリケーションは、iノード情報上ではフレーム番号2のJPEG画像データが存在しないのでこのJPEG画像データを使用することができない。
そこで、フレーム番号2のJPEG画像データを利用できるものとするため、判断手段1007が、前記破損データ修復動作の前や後、停電後に再起動した時など適切な時に、以下の手順に従い復旧処理を行う。
判断手段1007は、まず、停電発生時に記録していたファイルのiノード番号(inode_num)をファイルシステムから取得する(ステップS10001)。
ここで、ファイルシステムは、書き込み中のファイルのinode_numを保持しており(本例ではinode_num=1)、停電が生じた際に書き込み途中で処理が中断してしまったファイルのinode_numも保持したままである。
なお、上述のような書き込み途中で処理が中断してしまったファイルのinode_numのファイルシステムによる保持に換えて、書き込み途中で処理が中断してしまったファイルのファイル名をアプリケーションが保持する構成としてもよい。
判断手段1007は、inode_numに係るファイルのデータ長(L)をファイルシステムから取得する(ステップS10002)。また、判断手段1007は、ブロックサイズ(block_size)をファイルシステムから取得する(ステップS10003)。
そして、Lをblock_sizeで割った場合の剰余r(= L%block_size)を算出し、rが0に等しいか否か判定する(ステップS10004)。
rが0に等しくない場合(ステップS10004:N)、探索開始位置を、ファイル中の最終ブロックのrバイト目に設定し(ステップS10005)、rが0に等しい場合(ステップS10004:Y)、フリーブロックビットマップ中で次に割り当てられるブロックの先頭をファイルシステムから取得し、探索開始位置に設定する(ステップS10006)。
次に、判断手段1007は、探索開始位置以降にSOIが記録されているか否かを探索する(ステップS10007)。ここでは、探索は、最大フレームサイズ分のデータについて行い、SOIを発見できなかった場合(ステップS10008:N)、処理を終了する。
SOIを発見できた場合(ステップS10008:Y)、引き続きEOIを探索する(ステップS10009)。
EOIを発見できた場合(ステップS10010:Y)、SOI、EOIに挟まれたデータをJPEG画像データとみなして、SOIとEOIに挟まれたデータのサイズをフレームサイズとし、フレームオフセットと共に位置情報ファイルに追記し(ステップS10011)、ステップS10007に移行する。
図10(c)の例では、探索開始位置は、ブロック#2中のフレーム#1の終端(フレーム#2の始端)である。また、フレーム#2のサイズをフレームサイズとし、フレーム番号0〜1のフレームサイズのサイズの合計がファイルオフセットとして、位置情報ファイルに追記される。
また、ステップS10010において、EOIを発見できなかった場合(ステップS10010:N)、SOIからの探索範囲がフレームレートから求まるフレームサイズより十分広いか否かを判定し(ステップS10012)、十分広いと判定された場合には(ステップS10012:Y)処理を終了する。
ステップS10012において十分広くないと判定された場合(ステップS10012:N)、最大フレームサイズ分探索するまで(ステップS10013)、フリービットマップ中に登録されているブロックについて、EOIを探索し(ステップS10014)、ステップS10010に移行する。
以上により、フレーム#2が利用可能となる。

なお、ステップS10011において、SOIとEOIに挟まれたデータを有効なJPEG画像データとみなしていたが、SOIとEOIを調べるだけでは、単にファイル管理情報だけが欠けただけの有効なJPEG画像データか、ファイルシステムによってファイルの消去としてファイル管理情報だけが消された際に残されたといった無効なJPEG画像データかの区別はつきにくい。
従って、JPEG画像データに含まれる作成日時情報を用いて、JPEG画像データの有効/無効の判定確率を向上させてもよい。
例えば、本実施の形態では、復元したデータが図10(c)のフレーム番号2のJPEG画像データであり、フレーム番号0、1、2は、連続で撮影されているものとする。
ファイルに含まれるJPEG画像データには、当該JPEG画像データが作成された作成日時情報が記録されている。
そこで、フレーム番号2のJPEG画像データの作成日時情報と、フレーム番号1のJPEG画像データの作成日時情報とが所定の条件を満たす場合に、フレーム番号2のJPEG画像データも有効であると判定する。
前記所定の条件としては、フレーム番号2のJPEG画像データの作成日時情報が、フレーム番号1のJPEG画像データの作成日時情報よりも未来の日時を示し、かつ、両作成日時の差が撮影時のフレームレートから判断して妥当な範囲の場合に、フレーム番号2のJPEG画像データを有効なデータであると判定する。
無効なデータであると判定した場合には、当該データについては、位置情報ファイルへの登録を行わないなどとする。

5.その他変形例など
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
(1) 上述の実施形態において、ネットワークカメラシステムから送付される応答メッセージはHTTPプロトコルの複数パートフォーマットであるとしたが、複数パートヘッダエリアの“Content−length”フィールドに相当するようなフレームデータサイズを取得できるものであれば、上記フォーマットに限るものではない。
また、“Content−length”フィールドに相当するようなフレームデータサイズが存在しなかった場合は、各JPEGの先頭と終端に存在するマーカービットを、受信中にビット比較することによりフレームサイズを取得することにより、フレームの位置情報を生成するとしても良い。
また、1つの複数パートボディエリアに、1つのJPEG画像データを格納して通信する例で説明したが、これに限るものではない。1つの複数パートボディエリアに2つ以上のJPEG画像データを格納してもよいし、JPEG画像データを分割して2以上の複数パートボディエリアに格納して通信してもよい。
1つの複数パートボディエリアに2つ以上のJPEG画像データを格納しており、そのうちのいくつかのJPEG画像データが破損しているような場合には、位置情報ファイルの取り扱いを変更する必要がある。
上述の実施形態において、変更手段1008は、判断手段1007により通知された破損データの位置情報に従い、第2記録手段1004により作成された位置情報ファイル1006のうち破損データ部分を削除していた。しかし本変形例の場合であれば、上述のような削除は行わず、破損しているJPEG画像データの実サイズを、位置情報ファイルに含まれるフレームサイズから減じればよい。
(2) 上述の実施形態において、破損した映像データに対応した位置情報を削除するとしたが、破損した映像データのフレームを削除する、又は破損した映像データのフレームと、対応した位置情報の両方を削除するとしてもよい。このようにすれば、録画中の停電により映像データの破損が発生していた場合でも、修復後は映像データファイル1005を参照するだけで正常な再生を行うことが可能となる。
(3) 上述の実施形態において、映像データファイル1005への映像データの追記と位置情報ファイル1006への位置情報の追記を順番に行うとしたが、処理の効率化のために並行して行っても良い。
また、ファイルシステムのキャッシュ処理により引き起こされる遅延書き込みより、記録媒体1010に対して第1記録手段1003、第2記録手段1004の順番で書き込みを要求したにもかかわらず、停電の発生により記録媒体1010には第2記録手段1004の書き込み要求だけが反映されるような場合が生じうる。
上記の両ケースにおいても、本映像記録装置の検出手段及び変更手段1008によれば破損データを修復可能であることは自明である。
(4)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここで、コンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムに限らず、これらの一部から構成されているコンピュータシステムであってもよい。
(5)上記の各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(6)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM、などから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
(7)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(8)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明に係る映像記録装置は、監視カメラからネットワークを介して映像データを受信して記録し、当該記録の最中に停電等により記録が中断された場合に復帰処理を行う映像記録装置として有用であり、監視システム等に使用される。また、監視システムを構成する映像記録装置等として家電の製造販売業者等により製造、販売等がなされる。
100 ネットワークカメラシステム
1000 映像記録装置
1001 受信手段
1002 解析手段
1003 第1記録手段
1004 第2記録手段
1005 映像データファイル
1006 位置情報ファイル
1007 判断手段
1008 変更手段
1012 検出手段
1013 再生手段

Claims (14)

  1. 複数のフレーム画像データを記録する映像記録装置であって、
    フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、
    前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、
    前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全サイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、
    前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、
    前記特定されたフレーム画像データの再生を抑止する管理手段と
    を備えることを特徴とする映像記録装置。
  2. 前記記録手段は、
    前記記録媒体における論理的に連続した領域にフレーム画像データを順に記録し、
    全サイズ情報について、各サイズ情報に係るフレーム画像データより先に記録された全てのフレーム画像データの合計サイズであるオフセットを算出し、当該サイズ情報とオフセットとを対応づけて記録し、
    前記特定手段は、オフセットを用いて部分的に欠落したフレーム画像データの先頭位置を検出する
    ことを特徴とする請求項1記載の映像記録装置。
  3. 前記特定手段は、
    全サイズ情報それぞれに対応するオフセットについて、記録順が後であるオフセットから順に選出する選出部と、
    前記選出部によりオフセットが選出される毎に、前記連続領域における当該オフセットが示す位置以降に、部分的に欠落したフレーム画像データが記録されているか検索する検索部と、
    部分的に欠落したフレーム画像データが発見された場合に、当該フレーム画像データに係るサイズ情報と対応づけられているオフセットを前記先頭位置と決定する決定部と
    を含むことを特徴とする請求項2記載の映像記録装置。
  4. 前記特定手段は、前記フレーム画像データの再生を抑止するために、当該フレーム画像データに対応するサイズ情報とオフセットを削除する
    ことを特徴とする請求項2記載の映像記録装置。
  5. 前記管理手段は、前記先頭位置以降の記録領域に係るサイズ情報とオフセットとを前記記録手段から削除する
    ことを特徴とする請求項2記載の映像記録装置。
  6. 前記通信データは、HTTPに従った複数パートから構成され、
    前記全パートそれぞれは、前記フレーム画像データと前記サイズとの1組を含み、
    前記記録手段は、前記全パートそれぞれについて、各パートに含まれるサイズをサイズ情報として抽出し、当該パートに含まれるフレーム画像データを抽出し、当該サイズ情報及び当該フレーム画像データを対応付けて記録媒体に記録する
    ことを特徴とする請求項1記載の映像記録装置。
  7. 前記特定手段は、更に、
    前記記録媒体に記録されている前記サイズ情報自体の合計サイズが、所定サイズの倍数であるか否かを判定し、所定サイズの倍数でないと判定された場合に、最後に記録されたサイズ情報を削除する
    ことを特徴とする請求項1記載の映像記録装置。
  8. 前記映像記録装置は、更に、
    前記合計実サイズが、前記合計管理サイズよりも大きい場合に、前記合計管理サイズを用いて特定される探索開始位置からフレーム画像データを探索する探索手段と、
    前記探索手段によりフレーム画像データが発見された場合、発見されたフレーム画像データのサイズを算出し、算出したサイズを示すサイズ情報を前記記録媒体に追記する追記手段と
    を備えることを特徴とする請求項1記載の映像記録装置。
  9. 前記映像記録装置は、ファイルシステムを備え、
    前記ファイルシステムは、前記記録媒体における記録領域をファイルに対して割り当て、
    前記全フレーム画像データは、1のファイルに格納され、
    前記映像記録装置は、更に、
    前記電源遮断が検出された場合に、前記ファイルシステムにより次に割り当て予定である記録領域に、フレーム画像データが記録されているか否かを探索する探索手段と、
    発見した場合に、当該フレーム画像データのサイズを算出してサイズ情報として前記記録媒体に追記する追記手段と
    を備えることを特徴とする請求項1記載の映像記録装置。
  10. 前記各フレーム画像データは、タイムスタンプを含み、
    前記追記手段は、前記探索において発見したフレーム画像データのタイムスタンプが、前記ファイルに最後に格納されたフレーム画像データのタイムスタンプよりも遅い日時を示している場合にのみ前記追記を行う
    ことを特徴とする請求項9記載の映像記録装置。
  11. 前記記録手段は、
    前記記録媒体にフレーム画像データを記録する第1記録部と、
    前記記録媒体にサイズ情報を記録する第2記録部とを含み、
    前記第1記録部と前記第2記録部とは非同期に記録処理を行う
    ことを特徴とする請求項1記載の映像記録装置。
  12. 複数のフレーム画像データを記録する映像記録方法であって、
    フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、
    前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、
    前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、
    前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、
    前記特定されたフレーム画像データの再生を抑止する管理ステップと
    を含むことを特徴とする映像記録方法。
  13. 複数のフレーム画像データを記録する映像記録装置に用いられる映像記録プログラムであって、
    フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信ステップと、
    前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録ステップと、
    前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較ステップと、
    前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定ステップと、
    前記特定されたフレーム画像データの再生を抑止する管理ステップと
    を含むことを特徴とする映像記録プログラム。
  14. 複数のフレーム画像データを記録する集積回路であって、
    フレーム画像データと、当該フレーム画像データのサイズを示すサイズ情報との組を複数含む通信データを受信する受信手段と、
    前記通信データの全組からサイズ情報及びフレーム画像データを抽出して記録媒体に記録する記録手段と、
    前記記録媒体に記録されている全フレーム画像データの実サイズの合計である合計実サイズと、前記全てのサイズ情報それぞれにより示されるサイズの合計である合計管理サイズとを比較する比較手段と、
    前記合計実サイズが前記合計管理サイズよりも小さい場合に、前記合計実サイズと前記合計管理サイズとの差分と、前記サイズ情報とを用いて、部分的に欠落したフレーム画像データを特定する特定手段と、
    前記特定されたフレーム画像データの再生を抑止する管理手段と
    を備えることを特徴とする集積回路。
JP2009537926A 2007-10-17 2008-10-16 映像記録装置、映像記録方法、映像記録プログラム及び集積回路 Active JP5032583B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009537926A JP5032583B2 (ja) 2007-10-17 2008-10-16 映像記録装置、映像記録方法、映像記録プログラム及び集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007270105 2007-10-17
JP2007270105 2007-10-17
PCT/JP2008/002938 WO2009050894A1 (ja) 2007-10-17 2008-10-16 映像記録装置、映像記録方法、映像記録プログラム及び集積回路
JP2009537926A JP5032583B2 (ja) 2007-10-17 2008-10-16 映像記録装置、映像記録方法、映像記録プログラム及び集積回路

Publications (2)

Publication Number Publication Date
JPWO2009050894A1 true JPWO2009050894A1 (ja) 2011-02-24
JP5032583B2 JP5032583B2 (ja) 2012-09-26

Family

ID=40567180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009537926A Active JP5032583B2 (ja) 2007-10-17 2008-10-16 映像記録装置、映像記録方法、映像記録プログラム及び集積回路

Country Status (4)

Country Link
US (1) US8094993B2 (ja)
EP (1) EP2083421B1 (ja)
JP (1) JP5032583B2 (ja)
WO (1) WO2009050894A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009053280A1 (de) * 2009-11-13 2011-05-19 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Digitale Kamera und Verfahren zum Überwachen einer Signalverarbeitungseinrichtung
JP5688306B2 (ja) * 2011-02-14 2015-03-25 カヤバ工業株式会社 画像記録装置及びドライブレコーダシステム
JP6451102B2 (ja) * 2014-07-03 2019-01-16 大日本印刷株式会社 動画修復装置、動画修復方法、および、動画修復装置用のプログラム
JP6403551B2 (ja) * 2014-11-25 2018-10-10 三菱電機株式会社 映像記録制御装置、映像記録制御方法、および、cctvシステム
KR102282472B1 (ko) * 2017-09-11 2021-07-27 한화테크윈 주식회사 감시 시스템 및 그 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG129228A1 (en) * 1998-05-01 2007-02-26 Samsung Electronics Co Ltd Recording medium
JP2002366414A (ja) * 2001-06-11 2002-12-20 Matsushita Electric Ind Co Ltd データ管理システム及び、それに関する、装置または方法または記録媒体またはプログラム
JP3733061B2 (ja) 2001-12-18 2006-01-11 三洋電機株式会社 画像記録装置
JP3973522B2 (ja) 2002-09-19 2007-09-12 三洋電機株式会社 コンテンツ編集装置
JP4211356B2 (ja) 2002-11-01 2009-01-21 パナソニック株式会社 データ読み出し装置および方法
JP2005302276A (ja) 2004-03-19 2005-10-27 Hitachi Ltd データ記録再生装置、記憶装置およびファイルアクセス方法
KR100646301B1 (ko) 2004-03-19 2006-11-23 가부시키가이샤 히타치세이사쿠쇼 데이터 기록 재생 장치, 기억 장치 및 파일 액세스 방법
JP2005301641A (ja) * 2004-04-12 2005-10-27 Matsushita Electric Ind Co Ltd 映像撮影装置
JP2006054805A (ja) 2004-08-16 2006-02-23 Canon Inc 動画記録装置
JP4301185B2 (ja) * 2005-02-25 2009-07-22 ソニー株式会社 ファイル管理装置、ファイル管理方法およびプログラム
US7536521B2 (en) * 2005-09-28 2009-05-19 Wisconsin Alumni Research Foundation Computer storage device providing implicit detection of block liveness
JP2007173987A (ja) 2005-12-19 2007-07-05 Canon Inc マルチメディアデータ送受信システム、及び装置、又はプログラム
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
JP4651555B2 (ja) * 2006-02-13 2011-03-16 富士通株式会社 フレームバッファ監視方法及び装置

Also Published As

Publication number Publication date
EP2083421A1 (en) 2009-07-29
US8094993B2 (en) 2012-01-10
JP5032583B2 (ja) 2012-09-26
EP2083421B1 (en) 2019-01-02
EP2083421A4 (en) 2017-01-11
WO2009050894A1 (ja) 2009-04-23
US20090304345A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
US11232151B2 (en) Systems, methods, and software for improved video data recovery effectiveness
US9343109B2 (en) Video editing device
CN104462563B (zh) 一种文件存储方法和系统
CN101282446B (zh) 图像记录装置及方法、再生系统及装置、摄像装置
TWI486913B (zh) 具網路與錄影功能之安全監控裝置及儲存裝置的偵錯及修復方法
JP5032583B2 (ja) 映像記録装置、映像記録方法、映像記録プログラム及び集積回路
US8270813B2 (en) Apparatus, method and computer program for processing information
US11750784B2 (en) Automatic video file repair method and system
JP2008016896A (ja) 監視装置及び監視方法
CN102930875B (zh) 一种实时同步录音录像的方法
CN103137159A (zh) 数字硬盘录像机中录像直刻容错的方法及其装置
JP2009239855A (ja) メタデータ管理装置
JP2001045420A (ja) 記録装置、方法及びコンピュータ読み取り可能な記憶媒体
JPH09102922A (ja) 記録再生装置
CN117608500B (zh) 一种存储系统在数据冗余不足时抢救有效数据的方法
JP4700282B2 (ja) 記録装置、記録方法、再生装置、および再生方法
KR101407166B1 (ko) 디지털 비디오 레코더에서의 데이터베이스 복구방법
KR101378490B1 (ko) 영상 데이터 복구 장치 및 방법
JP2004336808A (ja) 映像の検索方法および装置
JP2009025899A (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶装置システム
TWI304551B (ja)
JP5392140B2 (ja) 映像データ収集システム
JP2010147901A (ja) 画像記憶装置
JP2003032604A (ja) マルチメディア記録再生装置
JP2009296402A (ja) 動画像記録再生装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120628

R150 Certificate of patent or registration of utility model

Ref document number: 5032583

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150706

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250