(57)【特許請求の範囲】
【請求項１】
不揮発性半導体記憶媒体で構成され外部より入力される映像データを記憶される映像記憶部と、
前記映像記憶部に記憶される映像データを、前記映像データの映像分割単位毎の書込み状態を示す映像分割単位ステータスを含む、映像データの管理情報を記憶される管理情報記憶部と、
前記管理情報記憶部を参照して、前記映像分割単位毎に映像分割単位ステータスの書込み中か否かを判断するステータス判断手段と、
前記ステータス判断手段によって、前記映像分割単位ステータスが書込み中と判断された場合、前記映像分割単位のステータスを書込み完了に更新し、次に書込む記憶領域に対して消去を行ってステータスの整合をとるステータス整合手段と
を備える制御管理部と
を有することを特徴とするビデオサーバ。
【請求項２】
前記管理情報記憶部は、書込みする記憶領域の書込み順に係る情報である書込み予定領域情報をさらに記憶し、
前記ステータス整合手段は、次に書込む記憶領域を、前記予定領域情報を参照して判断することを特徴とする請求項１に記載のビデオサーバ。
【請求項３】
前記書込み予定領域情報は、書込みする記憶領域のうち一定容量分の記憶領域についての書込み順の情報を示すことを特徴とする請求項２に記載のビデオサーバ。
【請求項４】
前記ステータス整合手段は、次に書込む記憶領域に対する消去を行う場合に、前記予定領域情報に含まれる全ての記憶領域に対して消去を行うことを特徴とする請求項２または請求項３に記載のビデオサーバ。
【請求項５】
前記書込み予定領域情報の書込み順は、書込みする記憶領域の書き換え回数に基づき決定されることを特徴とする請求項２乃至請求項４の何れか１項に記載のビデオサーバ。
【請求項６】
前記管理情報記憶部は、ＮＯＲ型の不揮発性半導体記憶媒体で構成され、書込み中を示す情報を記憶する場合は、書込み中フラグを１から０に更新し、書込み完了を示す情報を記憶する場合は、書込み完了フラグを１から０に更新することを特徴とする請求項１に記載のビデオサーバ。
【請求項７】
前記映像分割単位ステータスは、フレーム単位でステータスが表記されることを特徴とする請求項１に記載のビデオサーバ。
【請求項８】
前記映像分割単位ステータスは、ＧＯＰ（Group Of Pictures）単位でステータスが表記されることを特徴とする請求項１に記載のビデオサーバ。
【請求項９】
前記映像記憶部は、映像データの書込み単位のうちの末尾に、その書込み単位が書込み済みか否かを示す書込み単位ステータスを記憶することを特徴とする請求項１に記載のビデオサーバ。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、不揮発性の半導体記憶媒体を備えるビデオサーバの電源障害時対策に関する。
【背景技術】
【０００２】
放送システムで用いられるビデオサーバは、動画像、静止画像、音声、字幕などのデータを含む映像データをファイル形式にするなどして記憶媒体へ記憶し、記憶された映像データを放送時刻に応じて放送するべく外部装置へ出力するものである。このようなビデオサーバは、高い信頼性が求められるため、電源断となるような電源障害が発生した場合には、既に記憶されている映像データの保護や、電源障害発生前に行っていた書込み動作や読出し動作の続きを早く開始できるよう早急な復旧が求められる。
【０００３】
従来のビデオサーバでは、記録媒体としてＨＤＤ（ハードディスクドライブ）が用いられていたが、近年では、不揮発性の半導体記憶装置であるフラッシュメモリが用いられるようになってきた。その理由として、フラッシュメモリは、読み書きの際に稼働するヘッドを持つＨＤＤに比べ、読み書きの際に稼働するヘッドを持たないことから、装置故障に対する信頼性が高いことが挙げられる。
【０００４】
しかしながら、フラッシュメモリは、必ず一度消去してからでないと書込みができない、すなわち、上書きができないという特有の性質を持つ。電源障害が発生した場合、書込み済みの範囲とその範囲を管理するデータとの不整合が発生するため書込み済みの範囲が特定できなく、書込み可能な記憶領域が不定であれば書込みを再開することができない。そのため、電源復旧後に運転再開する場合は、書込み済みの範囲を特定するために、再起動を行う際にフラッシュメモリの全範囲において書込み内容のチェックを行う。このチェックは、その範囲の広さ故に時間がかかり、復旧までの時間が長くなるという問題があった。
【０００５】
このようなフラッシュメモリ特有の性質を考慮した電源障害時対策技術は検討がなされている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−５９２２９公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、既に記憶されている映像データの保護や、より早急な復旧が求められるビデオサーバに適応した電源障害時対策がなかった。
【０００８】
そこで、本実施形態は、電源障害が発生した場合に、ビデオサーバに適応した電源障害からの復旧が可能なビデオサーバを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本実施形態に係るビデオサーバは、不揮発性半導体記憶媒体で構成され外部より入力される映像データを記憶される映像記憶部と、前記映像記憶部に記憶される映像データを、前記映像データの映像分割単位毎の書込み状態を示す映像分割単位ステータスを含む、映像データの管理情報を記憶される管理情報記憶部と、前記管理情報記憶部を参照して、前記映像分割単位毎に映像分割単位ステータスの書込み中か否かを判断するステータス判断手段と、前記ステータス判断手段によって、前記映像分割単位ステータスが書込み中と判断された場合、前記映像分割単位のステータスを書込み完了に更新し、次に書込む記憶領域に対して消去を行ってステータスの整合をとるステータス整合手段とを備える制御管理部とを有することを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係るビデオサーバの構成を示すブロック図。
【図２】図１のビデオサーバ１０の管理情報記憶部１５に記憶される情報と、映像記憶部１４の記憶領域との関係を示す図。
【図３】図２（ｃ）のページステータスの表示例を示す図。
【図４】図２（ａ）の管理情報記憶部１５に記憶される映像ファイル管理情報の一例を示す図。
【図５】図２（ａ）の管理情報記憶部１５に記憶される書込み予定ブロック情報の一例を示す図。
【図６】図１のビデオサーバの制御管理部が備える処理手段を示すブロック図。
【図７】図１のビデオサーバで行われる映像データの入力処理を示すフローチャート。
【図８】図１のビデオサーバで行われる映像データの出力処理を示すフローチャート。
【図９】図１のビデオサーバで行われる、電源障害が発生した場合の再起動処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を、図面を参照して説明する。
【００１２】
図１は、本発明の一実施の形態を示すビデオサーバの構成を示すブロック図である。  
ビデオサーバ１０は、映像入出力部１１、入出力バッファ１２、データ入出力制御部１３、映像記憶部１４、管理情報記憶部１５、および、制御管理部１６を有する。
【００１３】
映像入出力部１１は、入出力バッファ１２とデータラインで接続され、制御管理部１６と制御ラインで接続される。映像入出力部１１は、映像データの外部からの入力および映像データの外部への出力を行う。映像入出力部１１は、入力処理の場合は、外部からファイル形式等の映像データを入力され、入力された映像データを入出力バッファ１２へ出力する。映像入出力部は、外部から入力された映像データの区切り（映像分割単位）を検出し、その区切りを検出する毎またはその区切りまでの映像データを入出力バッファ１２へ出力する毎にフレーム蓄積完了通知を制御管理部１６へ出力する。この映像データの区切りは、１フレーム毎や、映像データがＭＰＥＧ２（Moving Picture Experts Group phase 2）等の圧縮形式で圧縮されている場合は１ＧＯＰ毎などである。このようなフレーム蓄積完了通知の出力動作は、後述する入出力バッファ１２が行ってもよく、入出力バッファ１２がフレーム蓄積完了通知の出力動作を行う場合は、映像入出力部１１は、フレーム蓄積完了通知の出力動作を行わない。
【００１４】
また、映像入出力部１１は、入出力バッファ１２へ出力する映像データの容量をカウントし、後述する１ページ分（書込み単位）の容量をカウントする毎にページ蓄積完了通知を出力する。このページ蓄積完了通知の出力動作は、後述する入出力バッファ１２が行ってもよく、入出力バッファ１２がページ蓄積完了通知の出力動作を行う場合は、映像入出力部１１は、ページ蓄積完了通知の出力動作を行わない。出力処理の場合は、映像入出力部１１は、入出力バッファ１２に蓄積される映像データを読出して外部へ出力する。映像入出力部１１は、非圧縮の映像データが入力される場合には、エンコーダおよびデコーダを備えるようにしてもよい。
【００１５】
入出力バッファ１２は、映像入出力部１１およびデータ入出力制御部１３とデータラインで接続され、制御管理部１５と制御ラインで接続される。入出力バッファ１２は、入力処理および出力処理の際に、一時的に映像データを蓄積する。入出力バッファ１２は、入力処理の場合は、映像入出力部１１から出力された映像データを、一時的に蓄積し、蓄積された映像データはデータ入出力制御部１３によって読出される。入出力バッファ１２は、出力処理の場合は、データ入出力制御部１３が映像記憶部１４から読出す映像データを一時的に蓄積し、蓄積された映像データは映像入出力部１１によって読出される。
【００１６】
また、入出力バッファ１２は、外部から入力された映像データの区切りを検出し、その区切りを検出する毎またはその区切りまでの映像データを入出力バッファ１２へ出力する毎にフレーム蓄積完了通知を制御管理部１６へ出力する。このようなフレーム蓄積完了通知の出力動作は、映像入出力部１１が行ってもよく、映像入出力部１１がフレーム蓄積完了通知の出力動作を行う場合は、入出力バッファ１２は、フレーム蓄積完了通知の出力動作を行わない。また、入出力バッファ１２は、映像入出力部１１から入力される映像データの容量をカウントし、後述する１ページ分の容量をカウントする毎にページ蓄積完了通知を出力する。このページ蓄積完了通知の出力動作は、映像入出力部１１が行ってもよく、映像入出力部１１がページ蓄積完了通知の出力動作を行う場合は、入出力バッファ１２は、ページ蓄積完了通知の出力動作を行わない。
【００１７】
データ入出力制御部１３は、例えば、図示しないＦＰＧＡ（Field Programmable Gate Array）で構成される。データ入出力制御部１３は、入出力バッファ１２および映像記憶部１４とデータラインで接続され、制御管理部１６と制御ラインで接続される。データ入出力制御部１３は、映像データの映像記憶部１４への書込みおよび映像記憶部１４からの読出しを制御する。データ入出力制御部１３は、入力処理の場合は、入出力バッファ１２から映像データを読出して、制御管理部１６より指示される映像記憶部１４の記憶領域へ、読出した映像データを映像記憶部１４へ記憶させる。データ入出力制御部１３は、出力処理の場合は、制御管理部１６より指示される映像記憶部１４の記憶領域から映像データを読出し、読出した映像データを入出力バッファ１２へ出力する。また、制御管理部１６の指示によって、映像記憶部１４に記憶されている映像データの消去処理を行う。
【００１８】
映像記憶部１４は、不揮発性の半導体メモリであるフラッシュメモリで構成され、データ入出力制御部１３とデータラインで接続される。本実施形態では、映像記憶部１４は、ＮＡＮＤ型のフラッシュメモリで構成される場合を説明する。映像記憶部１４は、映像データをデータ入出力制御部１３の入力（書込み）処理によって記憶され、データ入出力制御部１３の出力（読出し）処理によって、記憶されている映像データが読出される。また、映像記憶部１４は、データ入出力制御部１３の消去処理によって、記憶されている映像データが消去される。
【００１９】
管理情報記憶部１５は、不揮発性の半導体メモリであるフラッシュメモリで構成され、制御管理部１６と制御ラインで接続される。本実施形態では、管理情報記憶部１５は、ＮＯＲ型のフラッシュメモリで構成される場合を説明する。管理情報記憶部１５は、映像記憶部１４に記憶される映像データの記憶位置等の情報や、映像記憶部１４の書込みが可能な記憶領域の情報を、制御管理部１６の動作によって記憶される。
【００２０】
ここで、図２を参照して、管理情報記憶部１５が記憶する情報と、映像記憶部１４の記憶領域との関係について説明する。図２（ａ）は、管理情報記憶部１５が記憶する情報を示す。管理情報記憶部１５は、映像データの記憶位置等の情報である映像ファイル管理情報１５１を記憶される。また、管理情報記憶部１５は、どのページまで書込み済みであるかの情報であるページステータス情報（図示なし）を記憶される。このページステータス情報は、書込み中のブロックのどのページまで書込まれているのかを判断するために用いられ、入力処理の際に制御管理部１６に参照される。さらに、管理情報記憶部１５は、電源障害復旧時のエラーチェック範囲を狭めて復旧するまでの時間を短縮するために、映像データを書込み可能な記憶領域の情報である書込み予定ブロック情報１５２を記憶される。もし、この書込み予定ブロック情報１５２が記憶されていなければ、電源障害復旧時のエラーチェック範囲は、映像ファイル管理情報１５１を参照してもステータスが特定できないブロック全てに対してエラーチェックを行うことになり、復旧するまでに時間がかかるが、書込み予定ブロック情報１５２が記憶されていれば、ステータスが不定となる可能性のあるブロックが限定されるため、その限定されたブロックに対してエラーチェックを行えばよく、復旧するまでの時間が短縮される。この書込み予定ブロックは、映像データが記憶されているブロックを除く全てのブロックを並べて記憶するようにしてもよいし、並べたうちの直近の一定の記憶容量分のみの情報を記憶するようにしてもよい。
【００２１】
図２（ｂ）は、映像記憶部１４の記憶領域の構造を示す。図２（ｂ）の最小格子は、書込み単位であるページを示し、７マス×７マスの四角は、消去単位であるブロックを示す。また、映像記憶部１４は、複数のブロックＢＬにより構成される。左下斜線で表記される記憶領域は、映像データが記憶されている領域を示し、管理情報記憶部１５に記憶される映像ファイル管理情報１５１は、この映像データが記憶されている領域の情報を示すものである。白塗りで表記される記憶領域は、映像データが記憶されていない領域を示し、管理情報記憶部１５に記憶される書込み予定ブロック情報１５２は、この映像データが記憶されていない領域の情報を示すものである。この書込み予定ブロック情報は、次に書込む記憶領域（ブロックＢＬ）を順番に並べられている。この順番は、例えば、書き換え回数の少ないブロックから書込むようにする等、記憶媒体の書き換え回数に起因する使用寿命を延ばすためのウェアレベリングにより決められる。
【００２２】
図２（ｃ）は、図２（ｂ）のブロックのうち、書込み済みのページのうちの最後のページＰＧを拡大して示したものである。ページＰＧは、各ページの最後のバイトをページステータス領域ＰＧＳＴとして使用する。このページステータスは、このページＰＧの書込みが完了する場合に、図３に示すように、「書込み完了」としてページＰＧの最後のバイトへ「０ｘ００」を書込むことで、制御管理部１６の指示に基づきデータ入出力制御部１３によって「書込み完了」というページの状況が判断できる。また、書込み完了の後に、ブロックを消去した場合には、各ページの最後のバイトは、「０ｘＦＦ」となり、この「０ｘＦＦ」を「未使用」として扱う。このようすることで、各ページの状況が、「書込み完了」または「未使用」を判断することができる。なお、実際には、ＮＡＮＤ型フラッシュメモリにおいては、ページに対してのエラー訂正が行われる。そのため、ページ毎に正しく書込みが完了しているかの判断は、ページステータスとエラー訂正とを組み合わせて判断するようにしてもよい。
【００２３】
また、ここで図４を参照して、映像ファイル管理情報１５１の記憶内容について説明する。映像ファイル管理情報１５１には、ファイル名、ファイルステータス、データ長、フレーム数、および、フレーム毎のフレーム情報が記述される。この映像ファイル管理情報１５１は、ファイル毎の管理情報が含まれる。図４の例では、ファイル名が「映像１」であるファイルのみ管理情報が記載されているが、他のファイルについても、管理情報を記載することができるようになっている。
【００２４】
映像ファイル管理情報１５１に記載される記憶ファイルステータスは、このファイルが書込み中であるか、書込み完了であるか、書込み未であるかを、書込み中フラグおよび書込み完了フラグを用いて表記される。フレーム毎のフレーム情報は、フレーム番号、フレームデータ数、ページアドレス、およびフレームステータスが記述される。ページアドレスは、このフレームが書込まれる先頭のページアドレスを示し、フレームステータスは、ファイルステータスと同様に、フレームが書込み中であるか、書込み完了であるか、書込み未であるかを、書込み中フラグおよび書込み完了フラグを用いて表記される。これらのステータスは、書込みを開始する場合に、書込み中フラグを０にし、書込み完了した場合に書込み完了フラグを０にする。すなわち、書込み未の場合は、書込み中フラグおよび書込み完了フラグがともに１で、書込み中の場合は、書込み中フラグが０で書込み完了フラグが１、書込み完了の場合は、書込み中フラグおよび書込み完了フラグがともに０となる。
【００２５】
このフラグの表記の仕方は、１から０に限り１ビット単位で書き換え（上書き）が可能であるというＮＯＲ型フラッシュメモリの特性に着目したものである。ＮＯＲ型を含むフラッシュメモリの書き換え回数は、消去を行った回数でカウントされるため、フレームステータスの更新によってＮＯＲ型フラッシュメモリの書き換え回数がカウントされることがないことから、ＮＯＲ型フラッシュメモリの寿命を延ばすことができる。また、このフラグを表記するためのデータ量が小さいため、管理情報記憶部１５へ記憶する容量の節約ができる。
【００２６】
なお、図４では、映像ファイルの管理情報として、フレーム単位で管理する場合としてフレーム毎のフレーム情報を記述する例を示したが、管理単位として、ＧＯＰ単位を用いる場合は、フレーム情報をＧＯＰ情報と読み替えることで適用可能である。
【００２７】
ここで、図５を参照して、書込み予定ブロック情報１５２の記憶内容について説明する。書込み予定ブロック情報１５２には、ブロック毎のブロックアドレスおよび利用ステータスが記述される。ブロックの利用ステータス（ブロックステータス）は、映像ファイル管理情報１５１に記述されるファイルステータスおよびフレームステータスと同様に、書込み中フラグおよび書込み完了フラグを用いて表記される。ステータスの表記の仕方については、図４と同様であるため説明を省略する。このブロックステータスは、書込み完了となった場合、書込み予定ブロック情報１５２からは削除される。
【００２８】
ここからは、引き続き図１を参照して説明する。  
制御管理部１６は、図示しないＣＰＵ、プログラムメモリ、およびワークメモリを備えるとともに、ビデオサーバ１０内の各部と制御ラインで接続され、ビデオサーバ１０の動作全体を制御する。制御管理部１６は、図６に示すように、管理情報更新手段１６１、書込み指示手段１６２、ステータス判断手段１６３、およびステータス整合手段１６４を備えている。これらの各部の機能は、ＣＰＵがプログラムメモリに予め記憶される所定のプログラムを実行することにより実現され得る。
【００２９】
管理情報更新手段１６１は、管理情報記憶部１５に記憶される映像ファイル管理情報１５１および書込み予定ブロック情報１５２を、映像記憶部１４に対する映像データの記憶や消去に応じて更新する。管理情報更新手段１６１は、映像ファイル管理情報１５１に含まれるフレーム情報を、フレーム毎の書込み開始および書込み終了のタイミングで更新し、書込み予定ブロック情報１５２の更新は、ブロック毎の書込み開始および書込み終了のタイミングで行う。もしくは、フレーム情報は、ページ単位での書込み開始および書込み終了のタイミングで更新してもよい。
【００３０】
指示手段１６２は、映像データを映像記憶部１４へ書込む際に、データ入出力制御部１３に対して書込む記憶領域を通知して、書込み指示を行う。本実施形態では、映像記憶部１４がＮＡＮＤ型フラッシュメモリで構成されているため、データ入出力制御部１３に対して、書込むブロックおよびページを通知する。どのブロックに書込むかは、管理情報記憶部１５に記憶される書込み予定ブロック情報１５２を参照して判断する。
【００３１】
また、指示手段１６２は、映像データを映像記憶部１４から読出す際に、データ入出力制御部１３に対して読み出す記憶領域を通知して、読出し指示を行う。本実施形態では、映像記憶部１４がＮＡＮＤ型フラッシュメモリで構成されているため、データ入出力制御部１３に対して、読出すページアドレスを通知する。
【００３２】
ステータス判断手段１６３は、ビデオサーバ１０に電源障害が発生した場合に、再起動の際に、書込み済みの範囲を特定するために映像ファイル管理情報１５１のファイルステータスおよびフレーム情報を参照して、電源障害発生直前に、どこまでが書込み済みかを判断する。また、入力処理の際には、どこまで書込み済みの記憶領域かを特定するために、書込み予定ブロック情報１５２を参照して、ブロックのステータスを判断したり、ブロックのうちのどのページまで書込み完了かを特定したりするために、管理情報記憶部１５に記憶されるページステータス情報（図示なし）を参照する。
【００３３】
ステータス整合手段１６４は、ステータス判断手段１６３によって、書込み中と判断されたフレームがあった場合、そのフレームの書込みページアドレスから書込み中の対象ブロックを計算で求める。このブロックは、書込みが完了していないブロックであるため、書込み予定ブロック情報１５２にそのステータスが記述されている。ステータス整合手段１６４は、この書込み中であるブロックのステータスを書込み完了に更新する。このように、電源障害後に再起動した際に書込み中のブロックのステータスを書込み完了とすることで、書込んだ映像データの再書込みを行うという処理を省くことが可能となる。
【００３４】
また、ステータス整合手段１６４は、書込み予定ブロック情報１５２の予定順の中から、上記で書込み中と算出されたブロックの次に使用が予定されているブロックを消去し、未使用状態にする。すなわち、書込み中フラグおよび書込み完了フラグはともに１になる。このようにすることで、電源障害発生のタイミング等により書込み中か未使用かが不定となるブロックステータスを、実際のブロックステータスと書込み予定ブロック情報１５２のステータスとの整合をとることができる。
【００３５】
次に、図７乃至図９を参照して、ビデオサーバの処理動作を説明する。
【００３６】
図７は、映像データの入力処理を示すフローチャートである。映像データの入力処理は、外部からの入力コマンドが投入されること等を契機に開始される。
【００３７】
まず、映像入出力部１１から映像データが入力され、入力された映像データは入出力バッファ１２に蓄積される（ステップＳ１０１）。制御管理部１６は、１ページ分のデータが蓄積されたか否かを判断する（ステップＳ１０２）。この判断は、映像入出力部１１または入出力バッファ１２からのページ蓄積完了通知の受信の有無によって判断する。ページ蓄積完了通知が受信されるまで待機する（ステップＳ１０２でＮＯ）。制御管理部１６でページ蓄積完了通知が受信されると（ステップＳ１０２でＹＥＳ）、制御管理部１６は、管理情報記憶部１５の書込み予定ブロック情報１５２を参照して、書込み中のブロックがあるか否かを判断する（ステップＳ１０３）。
【００３８】
書込み中のブロックがある場合（ステップＳ１０３でＹＥＳ）は、書込み中のブロックに未使用のページがあるか否かを判断する（ステップＳ１０４）。ページが未使用か否かは、管理情報記憶部１５に記憶されるページステータス情報を参照することで判断する。書込み中のブロックに未使用のページがある場合（ステップＳ１０４）は、フレームを書込むページアドレスを計算で求める（ステップＳ１０６）。
【００３９】
一方、ステップＳ１０３で、書込み中のブロックがない場合（ステップＳ１０３でＮＯ）およびステップＳ１０４で書込み中のブロックに未使用のページがない場合（ステップＳ１０４でＮＯ）は、制御管理部１６は、書込み予定ブロック情報１５２のうちの次に使用するブロックのステータスを書込み中に更新する（ステップＳ１０５）。そして、フレームを書込むページアドレスを算出する（ステップＳ１０６）。
【００４０】
次に、制御管理部１６は、映像ファイル管理情報１５１の当該フレーム情報のステータスを、書込み中として記憶させる（ステップＳ１０７）。フレーム情報のステータスを書込み中として記憶させた後に、入出力バッファ１２から映像記憶部１４のページへデータを書込むように、制御管理部１６はデータ入出力制御部１３へ書込み指示を行う（ステップＳ１０８）。
【００４１】
そして、制御管理部１６は、映像ファイル管理情報１５１の当該フレーム情報のステータスを書込み完了に更新する（ステップＳ１０９）。なお、このときのフレームデータは、１ページの容量とは異なるが、ページ単位での書込みが終了した時点で書込み済みのフレームまでを書込み完了に更新する。次にフレームが続くか否かを判断するため、最後のフレームか否かを判断する（ステップＳ１１０）。最後のフレームでなければ（ステップＳ１１０でＮＯ）、次のフレームの処理を継続するためにステップＳ１０２へ進む。最後のフレームなら（ステップＳ１１０でＹＥＳ）、入力処理を終了する。
【００４２】
図８は、映像データの出力処理を示すフローチャートである。映像データの出力処理は、外部からの出力コマンドが投入されること等を契機に開始される。
【００４３】
まず、制御管理部１６は、出力する映像データのフレームの情報を、映像ファイル管理情報１５１を参照して得る（ステップＳ２０１）。制御管理部１６は、データ入出力制御部１３に対して、出力するフレームのページアドレスを指定して入出力バッファ１２への読出しを指示する（ステップＳ２０２）。読出しを指示されたデータ入出力制御部１３は、指定されたページアドレスから映像データを読出して入出力バッファ１２へ出力する。そして、映像入出力部１１は、入出力バッファ１２から映像データを読出し、読出した映像データを外部へ出力する（ステップＳ２０３）。次にフレームが続くか否かを判断するため、最後のフレームか否かを判断する（ステップＳ２０４）。最後のフレームでなければ（ステップＳ２０４でＮＯ）、次のフレームの処理を継続するためにステップＳ２０１へ進む。最後のフレームなら（ステップＳ２０４でＹＥＳ）、出力処理を終了する。
【００４４】
図９は、電源障害が発生した場合の再起動処理を示すフローチャートである。再起動処理は、外部からのコマンド投入なしに電源が切断された場合に、再度電源が投入されたこと等を契機に開始される。
【００４５】
まず、制御管理部１６は、映像ファイル管理情報１５１を参照して、映像ファイル管理情報１５１に記述されるファイルの管理情報のうち、ファイルステータスが書込み中のファイルがないか確認し（ステップＳ３０１）、ファイルステータスが書込み中のものがあるか否かを判断する（ステップＳ３０２）。ファイルステータスが書込み中のものがない場合（ステップＳ３０２でＮＯ）、起動時のチェックを完了し、通常の初期化処理へ進む。ファイルステータスが書込み中のものがある場合（ステップＳ３０２でＹＥＳ）、ステップＳ３０３へ進む。
【００４６】
制御管理部１６は、引き続き映像ファイル管理情報１５１を参照して、ステータスが書込み中のファイルについて、書込み中ステータスのフレームがないか確認し（ステップＳ３０３）、フレームステータスが書込み中のものがあるか否かを判断する（ステップＳ３０４）。書込み中ステータスのフレームがない場合（ステップＳ３０４でＮＯ）、書込み予定ブロック情報１５２から、最後端の書込み中ブロックまたは最後端の書込み完了ブロックを検索し（ステップＳ３０６）、ステップＳ３０７へ進む。ステップＳ３０４において、書込み中ステータスのフレームがある場合（ステップＳ３０４でＹＥＳ）、そのフレームの書込みページアドレス情報から、書込み中対象のブロックを計算で求め（ステップＳ３０５）、ステップＳ３０７へ進む。
【００４７】
ステップＳ３０７では、ステップＳ３０５又はステップＳ３０６で得られたブロックに続く、書込み予定ブロックを消去する（ステップＳ３０７）。このステップにより、次のブロックへの書込みが開始されているにも関わらず書込み中ステータスの更新が反映されていないという不整合状態を解消することができる。この書込み予定ブロックの消去は、１つのブロックでも複数のブロックでも、または書込み予定ブロックの全てに対して行ってもよい。
【００４８】
そして、ステップＳ３０５又はステップＳ３０６で得られたブロックのうち、書込み中ステータスのブロックは、そのブロックのステータスを書込み完了に更新する（ステップＳ３０８）。これは、書込み途中のブロックのどのページまで書込まれたかが不定であるために、次に書込みを開始するページが特定できないため、このブロックへの書込みをせず、そのブロックのステータスを書込み完了に更新するようにしている。
【００４９】
次に、制御管理部１６は、映像ファイル管理情報１５１のうち、ステップＳ３０４で判断した書込み中ステータスのフレーム情報を書込み完了に更新する（ステップＳ３０９）。なお、ステップＳ３０９で書込み中ステータスのフレーム情報を書込み完了に更新する際、当該フレームが書き込まれているページＰＧへ正しく書込まれているかを確認するために、ページＰＧの最後のバイトに書込まれるページステータスを参照し、ページステータスが「書込み完了」となっている場合に、フレーム情報を書込み完了に更新するようにしてもよい。このようにすれば、フレーム情報が書込み完了のものは、正しく書き込まれているデータであることが保証される。このように、ステップＳ３０９によって、このフレームを読出すことが可能となる。そして、起動時のチェックを完了し、通常の初期化処理へ進む。
【００５０】
このような処理により、電源障害発生により生じる不整合状態を解消し、既に書込みされている映像データを保護した上で、ビデオサーバの復旧を行うことができる。なお、図９を参照して説明した不整合状態の解消のための処理は、再起動時だけでなく、通常の起動時にも行うようにしてもよい。
【００５１】
以上のように、映像記憶部１４に記憶される映像データ（映像ファイル）の管理を、映像データの例えばフレーム毎等の映像分割単位毎の書込み状態を示すステータスを含む、映像データの管理情報を記憶し、管理情報を参照して映像分割単位毎にステータスが書込み中か否かを判断し、そのステータスが書込み中と判断された場合、その映像分割単位のステータスを書込み完了に更新し、次に書込む予定のブロックに対しては、ブロック消去を行うようにしている。したがって、電源障害によって、書込み済みの範囲とその範囲を管理するデータとの不整合が発生した場合に、書込み済みの範囲とその範囲を管理するデータとの整合をとることができ、ビデオサーバに適応した復旧処理が可能となる。
【００５２】
また、書込み済みの範囲とその範囲を管理するデータとの不整合を解消する場合に、書込みが途中のブロックのステータスを、書込み完了として更新し、このブロックに書込まれるフレームのステータスを書込み完了として更新することにより、電源障害が発生する直前までに書込み済みの映像データを保護することができる。
【００５３】
さらに、映像ファイル管理情報１５１は、フレーム単位、またはＧＯＰ単位などの映像データに適応した単位で管理情報を記憶するようにしているため、実際に映像データを出力する場合にフレームやＧＯＰを指定する処理などにおいて、映像データへよりアクセスしやすくなる。
【００５４】
そして、管理情報記憶部１５は、映像データを管理するための情報として、映像データのステータスを管理する映像ファイル管理情報１５１に加えて、書込み予定ブロック情報１５２も記憶することにより、電源障害発生から復旧までの間に行う記憶領域のチェック時間を短縮することが可能である。
【００５５】
その他、映像を記憶する映像記憶部１４と、映像データの管理情報を記憶する管理情報記憶部１５とを別の記憶媒体により構成し、管理情報記憶部１５をＮＯＲ型フラッシュメモリで構成することにより、管理情報のステータスを更新する際に、書き換え回数にカウントされないため、書き換え回数の制限による記憶媒体の寿命を延ばすことができる。
【００５６】
なお、本発明の実施形態は、以上の構成に限定されるものではなく、種々の変形が可能である。本実施形態では、映像記憶部１４に記憶する映像データをフレーム単位で管理する例を説明したが、ＧＯＰ単位で管理する場合には、図７乃至図９中の「フレーム」を「ＧＯＰ」と、読み替えることで適用が可能であり、その他の単位で管理する場合についても、図７乃至図９中の「フレーム」を該当する単位の名称に読み替えることができる。
【符号の説明】
【００５７】
１０…ビデオサーバ、１１…映像入出力部、１２…入出力バッファ、１３…データ入出力制御部、１４…映像記憶部、１５…管理情報記憶部、１５１…映像ファイル管理情報、１５２…書込み予定ブロック情報、１６…制御管理部、１６１…管理情報更新手段、１６２…書込みブロック指示手段、１６３…ステータス判断手段、１６４…ステータス整合手段。 
【図１】
0005453191.tif 000002
【図２】
0005453191.tif 000003
【図３】
0005453191.tif 000004
【図４】
0005453191.tif 000005
【図５】
0005453191.tif 000006
【図６】
0005453191.tif 000007
【図７】
0005453191.tif 000008
【図８】
0005453191.tif 000009
【図９】
0005453191.tif 000010