(57)【特許請求の範囲】
【請求項１】
ビデオデータを記録媒体に記録する記録装置であって、
記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成手段と、
ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録手段と、
前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存手段と、
前記ビデオデータの記録が完了しない異常状態を検出する検出手段と、
前記検出手段により異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合手段とを備え、
前記整合手段による整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする記録装置。
【請求項２】
前記記録媒体は、記録するビデオデータをファイルシステムで管理し、
前記再生制御情報は、さらに、対応するビデオデータ区間のサイズ情報を含み、
前記整合処理手段は、記録されたビデオデータのファイルサイズと、前記再生制御情報が示すビデオデータ区間のサイズ情報との比較により整合性を判定することを特徴とする請求項１記載の記録装置。
【請求項３】
前記記録媒体は、記録するビデオデータをファイルシステムで管理し、
前記整合処理手段は、さらに、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間があれば、未完了な終端区間をファイルシステム上で削除する処理を行うことを特徴とする請求項１記載の記録装置。
【請求項４】
前記検出手段は、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出することを特徴とする請求項１記載の記録装置。
【請求項５】
前記検出手段は、前記記録媒体の空き容量不足により前記記録媒体へのビデオデータの記録の停止を異常状態として検出することを特徴とする請求項１記載の記録装置。
【請求項６】
前記検出手段は、前記記録装置の電源投入後に前記保存手段に前記退避情報が保存されていれば、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出することを特徴とする請求項４記載の記録装置。
【請求項７】
ビデオデータを記録媒体に記録する記録方法であって、
記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、
ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、
前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、
前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、
前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、
前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする記録方法。
【請求項８】
コンピュータで読み取り可能なプログラム記録媒体であって、
記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、
ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、
前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、
前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、
前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、
前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とするプログラムのプログラム記録媒体。
【請求項９】
ビデオデータを記録媒体に記録する記録プログラムであって、
記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、
ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、
前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、
前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、
前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、
前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする記録プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、録画中の書き込みエラー、及び停電からの復旧時に、記録媒体に格納されているビデオデータと、ビデオデータを管理している管理情報との不整合を解消するデジタルビデオレコーディング装置に関する。
【０００２】
【従来の技術】
従来、ビデオテープレコーダにおいては、ビデオデータは連続的に記録される。これにより、テープ自体の記録位置がビデオデータの再生順序になり、記録（録画）したビデオデータの再生順序の管理に特別な情報は必要としない。
さらに、最近のビデオテープレコーダにおいては、ＶＩＳＳ（頭だし情報）などの管理情報がビデオデータに付与され、ビデオデータが記録されると同時に、管理情報も記録する。
【０００３】
これにより、録画中に、書き込みエラー、及び停電などが発生しても、その時点までのビデオデータ、及び管理情報とも、既にビデオテープに記録されている。即ち、ビデオテープレコーダにおいては、録画中に書き込みエラー、及び停電などが発生しても特別な復旧処理を必要としない。
ビデオテープレコーダとは異なり、ＤＶＤ（Digital Versatile Disk）レコーダー、及びＨＤＤ（Hard Disk Drive）レコーダーなど（以下、デジタルビデオレコーディング装置と総称する）においては、ビデオデータを記録媒体に記録する際には、空き領域を探して不連続にビデオデータを記録することにより、記録媒体に記録されているビデオデータのアドレスを管理する管理情報が必要となる。
【０００４】
そこで、デジタルビデオレコーディング装置は、録画するビデオデータを記録する際に、一定量のビデオデータを記録媒体に記録するたびに、管理情報を更新し、記録（録画）が終了した時点で、更新した管理情報を記録媒体に書き込む。
【０００５】
【発明が解決しようとする課題】
しかしながら、デジタルビデオレコーディング装置は、録画中に、書き込みエラー、及び停電などが発生すると、記録したビデオデータを格納しているファイル（以下、ストリームファイルと呼称する）とビデオデータを管理する管理情報との間で不整合が発生するという問題がある。また、ストリームファイルには格納されているが、管理情報により管理されていないことにより、再生できないビデオデータが存在するという問題がある。
【０００６】
この問題に対して、管理情報もビデオデータと同じタイミングで書き込み、常にストリームファイルと管理情報との間で整合を取る方法が考えられる。しかしながら、この方法には、記録媒体への書き込み処理が頻繁に発生するという別の問題がある。
本発明は、上記問題に鑑みて、録画中に、常にストリームファイルと管理情報との間で整合を取らずとも、書き込みエラー、及び停電などにより生じたストリームファイルと管理情報との間の不整合を解消することができ、また、ストリームファイルに格納されているが、従来再生できなかったビデオデータを可能な限り、再生できる様に復旧することができるデジタルビデオレコーディング装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明に係わる記録装置は、ビデオデータを記録媒体に記録する記録装置であって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成手段と、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録手段と、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存手段と、前記ビデオデータの記録が完了しない異常状態を検出する検出手段と、前記検出手段により異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合手段とを備え、前記整合手段による整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【０００８】
さらに、前記記録媒体は、記録するビデオデータをファイルシステムで管理し、前記再生制御情報は、さらに、対応するビデオデータ区間のサイズ情報を含み、前記整合処理手段は、記録されたビデオデータのファイルサイズと、前記再生制御情報が示すビデオデータ区間のサイズ情報との比較により整合性を判定する。
【０００９】
加えて、前記記録媒体は、記録するビデオデータをファイルシステムで管理し、前記整合処理手段は、さらに、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間があれば、未完了な終端区間をファイルシステム上で削除する処理を行なう。
加えて、前記検出手段は、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出する。
【００１０】
また、前記検出手段は、前記記録媒体の空き容量不足により前記記録媒体へのビデオデータの記録の停止を異常状態として検出する。
【００１５】
また、前記検出手段は、前記記録装置の電源投入後に前記保存手段に前記退避情報が保存されていれば、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出する
【００１６】
本発明に係わる記録方法は、ビデオデータを記録媒体に記録する記録方法であって、
記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴としている。
【００１８】
本発明に係わるプログラム記録媒体は、コンピュータで読み取り可能なプログラム記録媒体であって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【００２０】
本発明に係わるプログラムは、ビデオデータを記録媒体に記録する記録プログラムであって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【００２２】
【発明の実施の形態】
以下、本発明に係わるデジタルビデオレコーディング装置について、図面を参照しながら説明する。
（実施の形態１）
図１は、本発明に係わるデジタルビデオレコーディング装置を含むオーディオビジュアルシステムの概要図である。
【００２３】
同図にみられるように、オーディオビジュアルシステム（以下、ＡＶシステムと呼称する）１００は、アンテナ１０１、モニタ１０２、リモートコントローラ１０３、及びデジタルビデオレコーディング装置１０４とから構成される。
アンテナ１０１は、放送局から送出された放送番組（以下、プログラムと呼称する）を受信し、受信したプログラムをモニタ１０２、及びデジタルビデオレコーディング装置１０４に送る。
【００２４】
なお、放送番組は、アナログ方式により放送されているとし、音声信号、及び映像信号などを含む。
モニタ１０２は、アンテナ１０１により受信されたプログラム、及びデジタルレコーディング装置１０４から出力された音声信号、及び映像信号（以下、オーディオビデオ信号と総称する）を表示する。
【００２５】
リモートコントローラ１０３は、操作キー、表示パネルを備え、操作キーなどを介してユーザーから受け付けた要求を、モニタ１０２、及びデジタルビデオレコーディング装置１０４に送る。また、モニタ１０２、及びデジタルビデオレコーディング装置１０４からの応答を、表示パネルなどを介してユーザーに通知する。
【００２６】
デジタルレコーディング装置１０４は、アンテナ１０１により受信されたプログラムを、デジタル方式において記録媒体に記録する。また、記録媒体に記録されているプログラムを、オーディオビデオ信号としてモニタ１０２に出力する。以下、記録媒体に記録することを録画するとし、モニタ１０２に出力することを再生するとする。
【００２７】
ここで、記録媒体とは、ＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）、ＨＤ（Hard Disk）などを指す。
なお、ＤＶＤ−ＲＡＭは、物理フォーマットにＺＣＬＶ（Zone Constant Linear Velocity）を用い、論理フォーマットにＵＤＦ（Universal Disk Format）を用いている。
【００２８】
（デジタルビデオレコーディング装置の構成）
図２は、デジタルビデオレコーディング装置１０４の機能ブロックを示す図である。
同図にみられるように、デジタルビデオレコーディング装置１０４は、ユーザーインタフェース部２０１、入力部２０２、出力部２０３、エンコーダ部２０４、デコーダ部２０５、格納部２０６、及びシステム制御部２０７とから構成される。
【００２９】
ユーザーインタフェース部２０１は、操作キーなどの入力デバイス、表示パネルなどの出力デバイスなどを備え、ユーザーから、録画開始、再生開始などの要求を受け付け、受け付けた要求をシステム制御部２０７に送る。また、リモートコントローラ１０３からも要求を受け付け、モニタ１０２にも受け付けた要求を表示する機能を備えている。
【００３０】
入力部２０２は、アンテナ端子及びチューナ（図外）や音声映像入力端子などの外部入力端子を介して入力されたオーディオビデオ信号などを、Ａ／Ｄコンバータにより、フレームデータに変換する。そして、変換したフレームデータをエンコーダ部２０４に送る。
出力部２０３は、デコーダ部２０５から送られたフレームデータを、Ｄ／Ａコンバータにより、オーディオビデオ信号に変換する。そして、変換したオーディオビデオ信号を音声映像出力端子などの外部出力端子を介してモニタ１０２に出力する。
【００３１】
エンコーダ部２０４は、システム制御部２０７からエンコード開始命令を受けた場合には、エンコード処理を開始する。また、エンコード停止命令を受けた場合には、エンコード処理を停止する。
ここで、エンコード処理とは、入力部２０２から送られるフレームデータを受け取り、受け取ったフレームデータを符号化し、ＭＰＥＧ（Moving Picture Experts Group）におけるプログラム・ストリーム形式のデータ（以下、Video Object、またはＶＯＢと呼称する）を生成する処理を指す。
【００３２】
さらに、エンコーダ部２０４は、ＶＯＢを構成するＶＯＢＵを生成する度に、生成したＶＯＢＵに関するＶＯＢＵ情報をシステム制御部２０７に送り、生成したＶＯＢＵを、格納部２０６に送る。そして、システム制御部２０７からエンコード停止命令を受けるまで、繰り返しエンコード処理を実行する。
ここで、ＶＯＢＵとは、ＶＯＢを構成する単位であり、ＭＰＥＧビデオ規格において定義されているＧＯＰ（Group of Pictures）を少なくとも１つは含み、固定サイズ（２Ｋバイト）のパック列から構成されるデータを指す。なお、パックには、ビデオデータを含むビデオパック（以下、Ｖ＿ＰＣＫと表記する）、オーディオデータを含むオーディオパック（以下、Ａ＿ＰＣＫと表記する）等があり、Ａ＿ＰＣＫ、及びＶ＿ＰＣＫは、ＶＯＢＵ内において、誤差１秒以内に同期（インターリーブ）される。
【００３３】
ここで、ＶＯＢＵ情報とは、ＶＯＢＵ内ビデオフレーム再生開始時刻（VOBU_S_PTM）、ＶＯＢＵの先頭から数えて最初のＩピクチャーのサイズ（Reference_Picture_Size）、ＶＯＢＵのサイズ（VOBU_Size）、再生時間（PB_Time）、アスペクト比、オーディオモード、オーディオストリーム数などを含む情報を指す。
デコーダ部２０５は、システム制御部２０７からデコード開始命令を受けた場合には、デコード処理を開始する。また、システム制御部２０７からデコード停止命令を受けた場合には、デコード処理を停止する。
【００３４】
ここで、デコード処理とは、格納部２０６から送られたＶＯＢＵを受け取り、受け取ったＶＯＢＵからフレームデータを復元する処理を指す。
さらに、デコーダ部２０５は、復元したフレームデータを出力部２０３に送る。そして、システム制御部２０７からデコード停止命令を受けるまで、繰り返しデコード処理を実行する。
【００３５】
格納部２０６は、記録媒体、バッファ、及び読み込み書き込み制御プログラムなどから構成される。そして、システム制御部２０７からの命令に応じて、管理情報、及びＶＯＢＵの読み込み書き込み処理を実行する。具体的には、システム制御部２０７から、ＶＯＢＵ書き込み命令を受けた場合には、後述のＶＯＢＵ書き込み処理を実行する。ＶＯＢＵ読み込み命令を受けた場合には、後述のＶＯＢＵ読み込み処理を実行する。管理情報書き込み命令を受けた場合には、後述の管理情報書き込み処理を実行する。管理情報読み込み命令を受けた場合には、後述の管理情報読み込み処理を実行する。
【００３６】
ここで、ＶＯＢＵ書き込み処理とは、エンコーダ部２０４から送られたＶＯＢＵを受け取り、受け取ったＶＯＢＵをバッファに格納する。そして、バッファに格納しているＶＯＢＵを記録媒体に書き込み、バッファをクリアする処理を指す。なお、ＶＯＢＵを記録媒体に書き込む際に、書き込みエラーになる場合には、書き込みエラーをシステム制御部２０７に通知する。
【００３７】
ここで、ＶＯＢＵ読み込み処理とは、記録媒体に書き込まれたＶＯＢＵを読み込み、読み込んだＶＯＢＵをバッファに格納する。そして、バッファに格納されたＶＯＢＵをデコーダ部２０５に送り、バッファをクリアする処理を指す。
ここで、管理情報書き込み処理とは、システム制御部２０７から送られた管理情報を受け取り、受け取った管理情報を管理情報ファイルとして記録媒体に格納する処理を指す。
【００３８】
ここで、管理情報読み込み処理とは、管理情報ファイルに格納されている管理情報を読み込み、読み込んだ再生制御情をシステム制御部２０７に送る処理を指す。なお、管理情報ファイルが記録媒体に格納されていない場合には、読み込みエラーをシステム制御部２０７に通知する。
ここで、管理情報とは、録画中に受け取ったＶＯＢＵ情報から算出される再生制御情報を含み、録画終了とともに管理情報ファイルとして記録媒体に格納される。そして、再生時には、システム制御部２０７において参照され、記録媒体に格納されているＶＯＢＵ（またはＶＯＢ）の再生を制御する情報を指す。
【００３９】
ここで、再生制御情報とは、ＶＯＢの再生動作を指示する制御情報であり、記録したＶＯＢを再生する際に、ＶＯＢにおける再生区間を指示する区間情報、ＶＯＢを構成する各ＶＯＢＵの離散的な記録アドレスと、それに対応する再生時刻とを対応させたアドレステーブルなどを含む。
なお、格納部２０６は、ＤＶＤ  ＶＩＤＥＯ  ＲＥＣＯＲＤＩＮＧ規格においては、”ＲＯＯＴ”ディレクトリ直下の、”ＤＶＤ＿ＲＴＡＶ”ディレクトリに、管理情報ファイルとして、管理情報を格納し、ストリームファイルとしてＶＯＢ（またはＶＯＢＵ）を格納する。
【００４０】
ここで、ストリームファイルとは、動画ファイル（VR_MOVIE.VRO）、静止画ファイル（VR_STILL.VRO）、および静止画にアフレコ音声が付加された音声ファイル（VR_AUDIO.VRO）の３種類を総称して指す。そして、これら３種類のＡＶファイルを管理する情報として、管理情報ファイル（VR_MANGR.IFO）が１つ作成される。以下、話を簡潔にするために、ストリームファイルと言えば、動画ファイルを指す。
【００４１】
システム制御部２０７は、マイクロプロセッサ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、タイマー、不揮発性メモリなどのハードウェアと、ＲＯＭに格納されているシステム制御プログラムなどのソフトウェアから構成される。
そして、ユーザーインタフェース部２０１からの要求などを受けて、エンコーダ部２０４、デコーダ部２０５、格納部２０６などを制御する。
【００４２】
図３は、システム制御部２０７の詳細な機能ブロックを示す図である。
同図にみられるように、システム制御部２０７は、エンコード処理制御部３０１、デコード処理制御部３０２、録画処理部３０３、再生処理部３０４、ＶＯＢＵ書き込み読み込み処理制御部３０５、管理情報読み込み書き込み処理制御部３０６、再生制御情報生成部３０７、整合処理部３０８、及びＲＡＭ３０９とから構成される。
【００４３】
エンコード処理制御部３０１は、エンコーダ部２０４に対して、エンコード開始命令、またはエンコード停止命令を出し、エンコード処理を制御する。
デコーダ処理制御部３０２は、デコーダ部２０５に対して、デコード開始命令、またはデコード停止命令を出し、デコード処理を制御する。
録画処理部３０３は、ユーザーインタフェース部２０１から録画開始の要求を受けて、後述の録画処理を実行する。
【００４４】
ここで、録画処理とは、エンコーダ部２０４にエンコード開始命令を出し、エンコーダ部２０４にエンコード処理をさせ、格納部２０６にＶＯＢＵ書き込み命令を出し、格納部２０６にＶＯＢＵ書き込み処理をさせることを指す。
再生処理部３０４は、ユーザーインタフェース部２０１から再生開始の要求を受けて、後述の再生処理を実行する。
【００４５】
ここで、再生処理とは、格納部２０６に読み込み命令を出し、格納部２０６にＶＯＢＵ読み込み処理をさせ、デコーダ部２０５にデコード開始命令を出し、デコーダ部２０５にデコード処理をさせることを指す。
ＶＯＢＵ書き込み読み込み処理制御部３０５は、格納部２０６に対しては、ＶＯＢＵ書き込み命令、またはＶＯＢＵ読み込み命令を出し、ＶＯＢＵ読み込み処理、またはＶＯＢＵ書き込み処理を制御する。
【００４６】
管理情報書き込み読み込み処理制御部３０６は、格納部２０６に対しては、管理情報書き込み命令、または管理情報読み込み命令を出し、管理情報読み込み処理、または書き込み処理を制御する。
再生制御情報生成部３０７は、エンコーダ部２０４においてＶＯＢを構成するＶＯＢＵが生成される度に、エンコーダ部２０４から送られるＶＯＢＵ情報を受け取り、受け取ったＶＯＢＵ情報に基づいて、再生制御情報を作成する。そして、作成した再生制御情報を後述の管理情報に追加し、管理情報を更新する。具体的には、エンコード処理制御部３０１から、エンコーダ部２０４にエンコード開始命令を出させ、格納部２０６に管理情報読み込み命令を出す。続いて、格納部２０６から送られる管理情報を受け取り、受け取った管理情報をＲＡＭ３０９に格納し、エンコーダ部２０４からＶＯＢＵ情報が送られる度に、送られるＶＯＢＵ情報に基づいて、再生制御情報を作成する。作成した再生制御情報を、ＲＡＭ３０９に格納している管理情報に追加し、管理情報を更新する。そして、エンコード制御処理部３０１からエンコーダ部２０４にエンコード停止命令を出させて、エンコーダ部２０４から送られる最後のＶＯＢＵ情報を受け取り、受け取った最後のＶＯＢＵ情報に基づいて、再生制御情報を作成する。作成した再生制御情報を、ＲＡＭ３０９に格納している管理情報に追加し、管理情報を更新し、更新した管理情報を以って、ＲＡＭ３０９に格納している管理情報を、管理情報ファイルとして記録媒体に格納する。
【００４７】
整合処理部３０８は、録画処理部３０３において、録画処理を実行している最中に、格納部２０６から書き込みエラーが通知されると、録画処理を中断させ、ＲＡＭ３０９に格納している、作成途中の再生制御情報から、記録媒体に格納される再生制御情報を作成し、作成した再生制御情報を管理情報に追加し、管理情報を更新する。そして、整合処理を実行し、記録媒体に格納されているＶＯＢ（またはＶＯＢＵ）と更新した管理情報により管理されているＶＯＢ（またはＶＯＢＵ）との間において整合をとり、録画処理を終了する。
【００４８】
ここで、整合処理とは、記録媒体に格納されているＶＯＢ（またはＶＯＢＵ）と管理情報により管理されているＶＯＢ（またはＶＯＢＵ）との間で、整合が取れているかを検査し、検査の結果、整合が取れていない場合には、整合を取る処理を指す。
ＲＡＭ３０９は、管理情報を格納する。
【００４９】
（管理情報）
ここで、ＲＡＭ３０９に格納される管理情報について説明する。
図４は、管理情報のデータ構造を示す図である。
同図にみられるように、管理情報４００は、ＶＯＢストリーム属性情報テーブル４０１、ＶＯＢ情報テーブル４０２、ＰＧＣ情報テーブル４０３などを含む。
【００５０】
（ＶＯＢストリーム属性テーブル）
ＶＯＢストリーム属性情報テーブル４０１は、ＶＯＢストリーム属性情報（以下、ＶＯＢ＿ＳＴＩと呼称する）の数（VOB_STI_Ns）が格納されるフィールド４１１、及びフィールド４１１に示された数のＶＯＢＳＴＩから構成される。
各ＶＯＢ＿ＳＴＩは、フィールド４２１、フィールド４２２、フィールド４２３、フィールド４２４、フィールド４２５、フィールド４２６、フィールド４２７から構成される。
【００５１】
フィールド４２１には、ビデオ属性情報（Video_Attribute）が格納される。
フィールド４２２には、オーディオストリーム数（Audio_Streams_Ns）が格納される。
フィールド４２３には、サブピクチャストリーム数（Sub_Picture_Streams_Ns）が格納される。
【００５２】
フィールド４２４、４２５には、オーディオ属性情報（Audio_Attribute）が格納される。
フィールド４２６には、サブピクチャ属性情報（Sub_Picture_Attribute）が格納される。
フィールド４２７には、サブピクチャカラーパレット（Sub_Picture_Color_Pallet）が格納される。
【００５３】
（ＶＯＢ情報テーブル）
ＶＯＢ情報テーブル４０２は、ＶＯＢ情報（以下、ＶＯＢＩと呼称する）の数（VOBI_Ns）が格納されるフィールド４１２、及びフィールド４１２に示された数のＶＯＢＩから構成される。
各ＶＯＢＩは、フィールド４３１、フィールド４３２、フィールド４３３、フィールド４３４、フィールド４３５、さらに、タイムマップ情報テーブル４３６とから構成される。
【００５４】
フィールド４３１には、ＶＯＢの種別（VOB_Type）が格納される。
フィールド４３２には、ＶＯＢの再生開始時刻（VOB_S_PTM）が格納される。
フィールド４３３には、ＶＯＢの再生終了時刻（VOB_E_PTM）が格納される。
フィールド４３４には、ＶＯＢの先頭が記録された時刻（VOB_REC_TM）が格納される。
【００５５】
フィールド４３５には、ＶＯＢ＿ＳＴＩへのサーチポインタ（VOB_STI_SRPN）が格納される。
タイムマップ情報テーブル４３６は、タイムマップジェネラル情報（以下、ＴＭＡＰ＿ＧＩと呼称する）、及びＴＭＡＰ＿ＧＩに示された数のタイムマップエントリ（以下、ＴＭ＿ＥＮＴと呼称する）とＶＯＢＵエントリ（以下、ＶＯＢＵ＿ＥＮＴと呼称する）とから構成される。
【００５６】
ＴＭＡＰ＿ＧＩは、フィールド４４６、フィールド４４７、フィールド４４８、及びフィールド４４９から構成される。
フィールド４４６には、ＴＭ＿ＥＮＴ数（TM_ENT_Ns）が格納される。
フィールド４４７には、ＶＯＢＵ＿ＥＮＴ数（VOBU_ENT_Ns）が格納される。
フィールド４４８には、最初のＶＯＢＵの先頭の時刻から最初のＴＭ＿ＥＮＴが指し示す時刻までのオフセット（TM_OFS）が格納される。
【００５７】
フィールド４４９には、ストリームファイルの先頭アドレスからＶＯＢの先頭アドレスまでのオフセット（ADR_OFS）が格納される。
各ＴＭ＿ＥＮＴは、フィールド４５１、フィールド４５２、フィールド４５３とから構成される。
フィールド４５１には、ＶＯＢＵ＿ＥＮＴへのサーチポインタ（VOBU_ENT_SRPN）が格納される。
【００５８】
フィールド４５２には、ＶＯＢＵ＿ＥＮＴの再生開始時刻とＴＭ＿ＥＮＴの再生開始時刻との差（TM_DIFF）が格納される。
フィールド４５３には、ＶＯＢの先頭アドレスからＶＯＢＵの先頭アドレスまでの相対アドレス（VOBU_ADDR）が格納される。
各ＶＯＢＵ＿ＥＮＴは、フィールド４５６、フィールド４５７、フィールド４５８とから構成される。
【００５９】
フィールド４５６には、ＶＯＢＵの先頭から最初のＩピクチャーのサイズ（1st_REF_SZ）が格納される。
フィールド４５７には、ＶＯＢＵの再生時間（VOBU_PB_TM）が格納される。
フィールド４５８には、ＶＯＢＵのサイズ（VOBU_SZ）が格納される。
（プログラムチェイン情報テーブル）
プログラムチェイン情報テーブル４０３は、プログラムチェイン情報（以下、ＰＧＣＩと呼称する）の数（PGCI_Ns）が格納されるフィールド４１３、及びフィールド４１３に示された数のＰＧＣＩから構成される。
【００６０】
各ＰＧＣＩは、セル情報（以下、ＣｅｌｌＩと呼称する）の数（CellI_Ns）が格納されるフィールド４１４、及びフィールド４１４に示された数のＣｅｌｌＩとから構成される。
各ＣｅｌｌＩは、フィールド４６１、フィールド４６２、フィールド４６３、さらに、エントリポイント情報テーブル４６４を含む。
【００６１】
フィールド４６１には、セルに対応するＶＯＢの情報へのポインタ（VOBI_SRPN）が格納される。
フィールド４６２には、セルの再生開始時刻（Cell_S_PTM）が格納される。
フィールド４６３には、セルの再生終了時刻（Cell_E_PTM）が格納される。
エントリポイント情報テーブル４６４は、エントリポイント情報（以下、ＥＰＩと呼称する）の数が格納されるフィールド４６５、及びフィールド４６５に示された数のＥＰＩを含む。
【００６２】
各ＥＰＩは、フィールド４７１、フィールド４７２などを含む。
フィールド４７１には、エントリポイントの種別（EPI_Type）が格納される。
フィールド４７２には、ユーザー、またはシステム制御部２０７により指定された時刻（EPI_PTM）が格納される。
また、各ＥＰＩは、フィールド４７１に格納される種別によっては、さらに、テキストデータを格納することができるフィールド４７３を含む。
【００６３】
そして、再生制御情報は、管理情報４００におけるＣｅｌｌＩ、タイムマップ情報（以下、ＴＭＡＰＩと呼称する）テーブルなどに含まれる。
図５は、一例として、ＴＭＡＰ＿ＧＩにおけるＴＭＡＰ＿ＥＮＴとＶＯＢＵ＿ＥＮＴとの対応関係を示す図である。
同図にみられるように、一例として、ＶＯＢＵ＿ＥＮＴ＃ｉにＴＭ＿ＥＮＴ＃ｊが対応付けられている。
【００６４】
ストリームファイルの先頭アドレスを０とし、ＶＯＢＵ＃１の先頭アドレスまでを、ＴＭＡＰ＿ＧＩにおけるＡＤＲ＿ＯＦＳにより示している。
ＶＯＢＵ＃１の先頭の時刻からＴＭＡＰ＿ＥＮＴ＃１により指し示される再生時刻までのオフセットを、ＴＭＡＰ＿ＧＩにおけるＴＭ＿ＯＦＳにより示している。
【００６５】
ＶＯＢＵ＃ｉのサイズ、再生時間、及び先頭から最初のＩピクチャーのサイズを、ＶＯＢＵ＿ＥＮＴ＃ｉにおけるＶＯＢＵ＿ＳＺ、ＶＯＢＵ＿ＰＢ＿ＴＭ、１ｓｔ＿ＲＥＦ＿ＳＺにより示している。
ＶＯＢＵ＃ｉの再生開始時刻とＴＭ＿ＥＮＴ＃ｊが示す再生開始時刻との差を、ＴＭ＿ＥＮＴ＃ｊにおけるＴＭ＿ＤＩＦＦにより示している。
【００６６】
（デジタルビデオレコーディング装置の動作）
以上のように構成されたデジタルビデオレコーディング装置１０４について、その動作を説明する。
一例として、録画中に記録媒体が一杯になり、格納部２０６から書き込みエラーの通知を受けたシステム制御部２０７が実行する整合処理について説明する。
【００６７】
（整合処理のフローチャート）
図６〜７は、整合処理のフローチャートを示す図である。
図６にみられるように、整合処理部３０８は、ファイルシステムを介して、ストリームファイルのサイズ（以下、ｆｓ＿ｓｉｚｅと呼称する）を取得する（ステップＳ６０１）。また、再生制御情報を含む管理情報のＴＭＡＰＩテーブルからストリームファイルのサイズ（以下、ｔｍｐ＿ｓｉｚｅと呼称する）を算出する（ステップＳ６０２）。
【００６８】
ここで、ファイルシステムとは、ＵＤＦに基づいて、ファイルの構造、サイズなどを管理し、アクセスするシステムを指す。
そして、ｆｓ＿ｓｉｚｅとｔｍｐ＿ｓｉｚｅとから整合が取れているかを真偽判定する（ステップＳ６０３）。
判定の結果、真の場合には、整合がとれている（ｆｓ＿ｓｉｚｅ＝ｔｍｐ＿ｓｉｚｅ）として、整合処理を終了する。
【００６９】
そのほかに、ステップＳ６０３の真偽判定において偽の場合には、整合がとれていない（ｆｓ＿ｓｉｚｅ≠ｔｍｐ＿ｓｉｚｅ）として、さらに、ｆｓ＿ｓｉｚｅがｔｍｐ＿ｓｉｚｅより大きいか（ｆｓ＿ｓｉｚｅ＞ｔｍｐ＿ｓｉｚｅ）を真偽判定する（ステップＳ６０４）。
判定の結果、真（ｆｓ＿ｓｉｚｅの方が大きい）の場合には、ストリームフィルの末尾から、ｆｓ＿ｓｉｚｅからｔｍｐ＿ｓｉｚｅを引いた分のデータを削除する（ステップＳ６０５）。即ち、ストリームファイルから、管理情報により管理されていないＶＯＢＵを削除する。そして、整合処理を終了する。
【００７０】
図７にみられるように、ステップＳ６０４の真偽判定において偽（ｆｓ＿ｓｉｚｅの方が小さい）の場合には、管理情報のＴＭＡＰＩテーブルから末尾のＶＯＢＵ＿ＥＮＴを削除する（ステップＳ７０１）。そして、式(exp-F1)に基づいて、ＶＯＢＩのＶＯＢ＿Ｅ＿ＰＴＭを更新し（ステップＳ７０２）、式(exp-F2)に基づいて、ＣＥＬＬＩのＣＥＬＬ＿Ｅ＿ＰＴＭを更新し（ステップＳ７０３）、ＴＭＡＰ＿ＧＩのＶＯＢＵ＿ＥＮＴ＿Ｎｓの数を１つ減少する（ステップＳ７０４）。
【００７１】
(exp-F1) VOB_E_PTM = VOB_E_PTM - C1 * 削除するVOBUのフレーム数
(exp-F2) CELL_E_PTM = CELL_E_PTM - C1 * 削除するVOBUのフレーム数
ここで、係数C1は、ＮＴＳＣ（National Television System Committee）方式、ＰＡＬ（Phase Alternation Line）方式に応じて、以下の固定値をとる。
C1 = 3003  ：ＮＴＳＣ方式の場合
C1 = 3600  ：ＰＡＬ方式の場合
続いて、一例として、図Ｅにおいて示したＶＯＢＵ＿ＥＮＴとＴＭ＿ＥＮＴとの参照関係により、ＶＯＢＵ＿ＥＮＴを削除していくと、参照するＶＯＢＵ＿ＥＮＴが存在しないＴＭ＿ＥＮＴが存在することが考えられる。それを回避するために、ＶＯＢＵ＿ＥＮＴを削除するごとに、末尾のＴＭ＿ＥＮＴが参照しているＶＯＢＵ＿ＥＮＴの番号（例えば、＃Ｎ）がＶＯＢＵ＿ＥＮＴ＿Ｎｓより大きいかを真偽判定する（ステップ７０５）。
【００７２】
判定の結果、真（ＶＯＢＵ＿ＥＮＴの番号の方が大きい）の場合には、参照するＶＯＢＵ＿ＥＮＴが存在しないと判定し、ＶＯＢＩのＴＭＡＰＩテーブルから、末尾のＴＭ＿ＥＮＴを削除する（ステップＳ７０６）。それに合わせて、ＴＭＡＰ＿ＧＩのＴＭ＿ＥＮＴ＿Ｎｓの数を１つ減少する（ステップＳ７０７）。そして、式（exp-F3）に基づいて、ｔｍｐ＿ｓｉｚｅを更新する（ステップＳ７０８）。
【００７３】
(exp-F3) tmp_size = tmp_size - 削除したＶＯＢＵのサイズ
そのほかに、ステップＳ７０５の真偽判定において偽の場合には、ステップＳ７０６、Ｓ７０７を実行せず、ステップＳ７０８を実行し、ステップＳ６０３に戻り、以下、整合ががとれる（ｆｓ＿ｓｉｚｅ＝ｔｍｐ＿ｓｉｚｅ）まで整合処理を繰り返す。
【００７４】
以上の様に、本発明の整合処理部３０８によれば、整合処理６００を実行し、ストリームファイルと、書き込みエラーにより作成された再生制御情報を含む管理情報との間の整合を取る。
（実施の形態２）
以下、実施の形態１におけるデジタルビデオレコーディング装置１０４と、同じ構成要素は、図中において同じ符号を付して説明を省略し、異なる構成要素を中心に、実施の形態２におけるデジタルビデオレコーディング装置を説明する。
【００７５】
図８は、実施の形態２におけるシステム制御部の詳細な機能ブロックを示す図である。
同図にみられるように、システム制御部２１７は、システム制御部２０７と比べて、再生制御情報生成部３０７、及び整合処理部３０８との代わりに、再生制御情報生成部８０７、整合処理部８０８とを備え、さらに、復旧処理部８１０、及び不揮発性メモリ８１１を備える点が異なる。
【００７６】
再生制御情報生成部８０７は、再生制御情報生成部３０７と比べて、録画開始とともに、退避データを作成し、作成した退避データを不揮発性メモリ８１１に格納する。そして、エンコーダ部２０４から送られたＶＯＢＵ情報を受け取るたびに、受け取ったＶＯＢＵ情報に基づいて、管理情報以外にも、不揮発性メモリ８１１に格納している退避データを更新する。そして、録画終了とともに、不揮発性メモリ８１１に格納している退避データを削除する点が異なる。
【００７７】
整合処理部８０８は、整合処理部３０８と比べて、格納部２０６から通知された書き込みエラー以外に、復旧処理部８１０から出された整合処理の要求を受けて、整合処理を実行する点が異なる。
復旧処理部８１０は、電源投入時に不揮発性メモリ８１１を検査し、検査の結果、不揮発性メモリ８１１に退避データが保持されている場合には、停電により録画が中断したと判定し、復旧処理を実行する。そして、復旧処理が終了すると、整合処理部８０８に整合処理の要求を出し、実施の形態１において説明した整合処理６００を実行させる。
【００７８】
ここで、復旧処理とは、退避データから再生制御情報を作成し、作成した再生制御情報を管理情報に追加し、管理情報を更新する処理を指す。
不揮発性メモリ８１１は、退避データを格納する。また、電源が切断されても、格納している退避データを保持し続ける。
（退避データ）
ここで、システム制御部２１７において、録画中に、管理情報とは別に、ＶＯＢＵ情報に基づいて、作成される退避データについて説明する。
【００７９】
なお、退避データには、ＶＯＢ＿ＳＴＩも含むが、図４の説明において示した各ＶＯＢ＿ＳＴＩのデータ構造（フィールド４２１〜４２６）とすることにより、ＶＯＢ＿ＳＴＩについての説明を省略する。
図９は、一例として、不揮発性メモリ８１１に格納されている退避データのデータ構造を示す図である。
【００８０】
同図にみられるように、不揮発性メモリ８１１に格納されている退避データ９００は、ＰＧＣ情報９０１、ＶＯＢ情報９０２、及びＶＯＢＵ情報９０３とから構成される。
ＰＧＣ情報９０１は、フィールド９１１、及びフィールド９１１に示された数のレコード９１２から構成されるＰＧＣテーブル９１３とからなる。
【００８１】
フィールド９１１には、録画が行われるごとに増加するＰＧＣ数（以下、Ｐ＿Ｎｓと呼称する）が格納される。
レコード９１２は、フィールド９１４から構成される。
フィールド９１４には、１回の録画において作成されたＣｅｌｌ数（以下、Ｃ＿Ｎｓと呼称する）が格納される。
【００８２】
ＶＯＢ情報９０２は、フィールド９２１、及びフィールド９２１に示された数のレコード９２２から構成されるＶＯＢテーブル９２３とからなる。
フィールド９２１には、ＶＯＢが生成、または分割されるごとに増加するＶＯＢ数（以下、Ｖ＿Ｎｓと呼称する）が格納される。
レコード９２２は、フィールド９２４、フィールド９２５、フィールド９２６、及びフィールド９２７とから構成される。
【００８３】
フィールド９２４には、ＶＯＢの先頭が記録された時刻（VOB_REC_TM）が格納される。
フィールド９２５には、ＶＯＢ＿ＳＴＩへのサーチポインタ（VOB_STI_SRPN）が格納される。
フィールド９２６には、ＶＯＢの再生開始時刻（VOB_S_PTM）が格納される。
【００８４】
フィールド９２７には、ＶＯＢＵ情報の通知を受けるごとに増加するＶＯＢＵ＿ＥＮＴ数が格納される。
ＶＯＢＵ情報９０３は、フィールド９３１、及びフィールド９３１に示された数のレコード９３２から構成されるＶＯＢＵテーブル９３３とからなる。
フィールド９３１には、ＶＯＢＵ情報の通知を受けるごとに増加するＶＯＢＵ数が格納される。
【００８５】
レコード９３２は、フィールド９３４、フィールド９３５、及びフィールド９３６とから構成される。
フィールド９３４には、ＶＯＢＵの先頭から数えて最初のＩピクチャーのサイズ（Reference_Picture_Size）が格納される。
フィールド９３５には、ＶＯＢＵのサイズ（VOBU_Size）が格納される。
【００８６】
フィールド９３６には、ＶＯＢＵの再生時間（PB_Time）が格納される。
なお、フィールド９３４〜９３６に格納される値は、エンコーダ部２０４から送られたＶＯＢＵ情報に含まれる値である。
（デジタルビデオレコーディング装置の動作）
以上のように構成されたデジタルビデオレコーディング装置１０４について、その動作を説明する。
【００８７】
一例として、録画中の停電から回復して、再起動時のシステム制御部２１７における復旧処理部８１０が実行する復旧処理について説明する。
（停電検査処理のフローチャート）
図１０は、停電検査処理のフローチャートを示す図である。
同図にみられるように、復旧処理部８１０は、電源投入時（再起動時）に、不揮発性メモリ８１１に退避データが保持されているかを検査する（ステップＳ１００１）。
【００８８】
検査の結果、不揮発性メモリ８１１に退避データが保持されている場合には、録画中に停電になったと判定し、記録媒体から、管理情報ファイルとして格納されている管理情報を読み出し、読み出した管理情報をＲＡＭ３０９に格納する（ステップＳ１００２）。続いて、後述の復旧処理を実行し（ステップＳ１００３）、整合処理部８０８に整合処理の要求を出し、実施の形態１において説明した整合処理６００を実行させる（ステップＳ１００４）。そして、ＲＡＭ３０９に格納されている管理情報を記録媒体に格納し（ステップＳ１００５）、不揮発性メモリ８１１に保持されている退避データを削除する（ステップＳ１００６）
（復旧処理のフローチャート）
図１１は、復旧処理のフローチャートを示す図である。
【００８９】
同図にみられるように、復旧処理部８１０は、ファイルシステムからストリームファイルのサイズを取得し（ステップＳ１１０１）、ＲＡＭ３０９に格納している管理情報からストリームファイルのサイズを算出する（ステップＳ１１０２）。以下、ファイルシステムから取得したサイズをｆｓ＿ｓｔｒｅａｍ＿ｓｉｚｅとし、管理情報から算出したサイズをｉｆｏ＿ｓｔｒｅａｍ＿ｓｉｚｅとして区別する。
【００９０】
続いて、ＰＧＣをカウントする際に用いるカウンタ（以下、ｐＮｏと呼称する）を１に初期化し、退避データに含まれるＶＯＢＵテーブル９３３を検索する際に、基点とするｖｏｂｕ＿ｂａｓｅを０に初期化する（ステップＳ１１０３）。そして、退避データに含まれるＰＧＣ数がｐＮｏ以上であるかを真偽判定する（ステップＳ１１０４）。
【００９１】
判定の結果、真の場合には、さらに、退避データのＰＧＣテーブル９１３におけるｐＮｏ番目のＣｅｌｌ数が０以上であるかを真偽判定する（ステップＳ１１０５）。
判定の結果、真の場合には、新規にＰＧＣＩを作成し、作成したＰＧＣＩを管理情報に追加する。その際に、作成したＰＧＣＩのＣｅｌｌＩの数を０として、初期化し、ＰＧＣＩテーブルのＰＧＣＩの数を１つ増加する（ステップＳ１１０６）。そして、後述のＶＯＢＩ復旧処理を実行する（ステップＳ１１０７）。
【００９２】
続いて、ＶＯＢＩ復旧処理を実行後に、Ｃｅｌｌの数が０でないかを真偽判定する（ステップＳ１１０８）。
判定の結果、真の場合には、ｐＮｏを１つ増加する（ステップＳ１１０９）。そして、ステップＳ１１０４に戻り、繰り返し処理を実行する。
そのほかに、ステップＳ１１０８の真偽判定において偽の場合には、管理情報から、新規に作成したＰＧＣＩを削除し、ＰＧＣＩの数を１つ減少する（ステップＳ１１１０）。
【００９３】
続いて、式（exp-K1）に基づいて、ｄｅｌ＿ｓｉｚｅを算出し、ストリームファイルの末尾から、ｄｅｌ＿ｓｉｚｅ分のデータを削除する（ステップＳ１１１１）。
(exp-K1) del_size = fs_stream_size - ifo_stream_size
そのほかに、ステップＳ１１０４、及びステップＳ１１０５の真偽判定において偽の場合には、ステップＳ１１１１を実行する。
【００９４】
そして、復旧処理を終了する。
（ＶＯＢＩ復旧処理）
図１２は、ＶＯＢＩ復旧処理のフローチャートを示す。
同図にみられるように、復旧処理部８１０は、Ｃｅｌｌをカウントする際に用いるカウンタ（以下、ｃＮｏと呼称する）を１に初期化する（ステップＳ１２０１）。
【００９５】
退避データに含まれるＰＧＣテーブル９１３におけるｐＮｏ番目のＣｅｌｌ数がｃＮｏ以上であるかを真偽判定する（ステップＳ１２０２）。
判定の結果、真の場合には、新規にＣｅｌｌＩを作成し、作成したＣｅｌｌＩを管理情報に追加する。その際に、ＰＧＣＩのＣｅｌｌＩの数を１つ増加する（ステップＳ１２０３）。また、ＣｅｌｌＩとＶＯＢＩとの１対１の対応関係により、新規にＶＯＢＩを作成し、作成したＶＯＢＩを管理情報に追加する。その際に、作成したＶＯＢＩのＴＭＡＰ＿ＧＩにおけるＴＭ＿ＥＮＴ＿ＮｓとＶＯＢＵ＿ＥＮＴ＿Ｎｓを０として、初期化し、ＶＯＢＩテーブルのＶＯＢＩの数を１つ増加する（ステップＳ１２０４）。続いて、作成したＣｅｌｌＩのＶＯＢ＿ＳＲＰＮをＶＯＢＩの数に更新する（ステップＳ１２０５）。そして、後述のＴＭＡＰＩ復旧処理を実行する（Ｓ１２０６）。
【００９６】
続いて、ＴＭＡＰＩ復旧処理を実行後に、ＶＯＢＵ＿ＥＮＴ＿Ｎｓが０でないかを真偽判定する（ステップＳ１２０７）。
判定の結果、真の場合には、ｃＮｏを１つ増加する（ステップＳ１２０８）。
そして、ステップＳ１２０２に戻り、繰り返し処理を実行する。
そのほかに、ステップＳ１２０７の真偽判定において偽の場合には、管理情報から、新規に作成したＣｅｌｌＩを削除し、ＣｅｌｌＩの数を１つ減少する（ステップＳ１２０９）。また、新規に作成したＶＯＢＩを削除し、ＶＯＢＩの数を１つ減少する（ステップＳ１２１０）。そして、ＶＯＢＩ復旧処理を終了する。
【００９７】
そのほかに、ステップＳ１２０２の真偽判定において、偽の場合には、ＶＯＢＩ復旧処理を終了する。
（ＴＭＡＰＩ復旧処理）
図１３は、ＴＭＡＰＩ復旧処理のフローチャートを示す図である。
同図にみられるように、復旧処理部８１０は、ＶＯＢＵをカウントする際に用いるカウンタ（以下、ｖｏｂｕＮｏと呼称する）を１に初期化し、ＶＯＢの再生時間を一時的に格納するテンポラリ変数（以下、ｐｂ＿ｔｉｍｅと呼称する）を０に初期化し、ｔｍｐ＿ｓｉｚｅをｉｆｏ＿ｓｔｒｅａｍ＿ｓｉｚｅに初期化する（ステップＳ１３０１）。
【００９８】
退避データに含まれるＶＯＢテーブル９２３におけるｃＮｏ番目のＶＯＢＵ＿ＥＮＴ数がｖｏｂｕＮｏ以上であるかを真偽判定する（ステップＳ１３０２）。判定の結果、真の場合には、退避データから次の復旧候補とするＶＯＢＵに関する情報を取得する。そして、式（exp-M1）に基づいて、ｔｍｐ＿ｓｉｚｅを算出する（ステップＳ１３０３）。
【００９９】
(exp-M1) tmp_size = tmp_size + VOBU_Table[vobuNo].VOBU_Size
ここで、VOBU_Table[vobuNo].VOBU_Sizeとは、ＶＯＢＵテーブル９３３においてｖｏｂｕＮｏ番目のレコードのＶＯＢＵ＿Ｓｉｚｅを指す。
そして、ｔｍｐ＿ｓｉｚｅがファイルシステムから取得したｆｓ＿ｓｔｒｅａｍ＿ｓｉｚｅより大きいかを真偽判定する（ステップＳ１３０４）。
【０１００】
判定の結果、真の場合には、式（exp-M2）に基づいて、ｖｏｂｕ＿ｂａｓｅを更新し（ステップＳ１３０５）、ＴＭＡＰＩ復旧処理を終了する。
(exp-M2) vobu_base += vobuNo - 1
そのほかに、ステップＳ１３０４の真偽判定において偽の場合には、新規にＶＯＢＵ＿ＥＮＴを作成し、作成したＶＯＢＵ＿ＥＮＴを管理情報に追加する。その際に、ＴＭＡＰ＿ＧＩのＶＯＢＵ＿ＥＮＴ＿Ｎｓを１つ増加する（ステップＳ１３０６）。そして、退避データに含まれるＶＯＢＵテーブル９３３に基づいて、作成したＶＯＢＵ＿ＥＮＴを更新する（ステップＳ１３０７）。
【０１０１】
続いて、式（exp-M3）に基づいて、ｐｂ＿ｔｉｍｅを更新する（ステップＳ１３０８）。
(exp-M3) pb_time += VOBU_Table[vobuNO+vobu_base].PB_Time
ここで、VOBU_Table[vobuNO+vobu_base].PB_Timeとは、ＶＯＢＵテーブル９３３においてｖｏｂｕ＿ｂａｓｅを基点としたｖｏｂｕＮｏ番目のレコードのＰＢ＿Ｔｉｍｅを指す。
【０１０２】
そして、以下の条件式（exp-M4）を満たすかを真偽判定する（ステップＳ１３０９）。
(exp-M4)  pb_time ≧ C2 * TM_ENT_Ns
ここで、係数C2は、ＮＴＳＣ方式、ＰＡＬ方式に応じて、以下の固定値をとる。
【０１０３】
C2 = 600  ：ＮＴＳＣ方式の場合
C2 = 500  ：ＰＡＬ方式の場合
判定の結果、真の場合には、新規にＴＭ＿ＥＮＴを作成し、作成したＴＭ＿ＥＮＴを管理情報に追加する。その際に、ＴＭＡＰ＿ＧＩのＴＭ＿ＥＮＴ＿Ｎｓを１つ増加する（ステップＳ１３１０）。そして、以下の式（exp-M5）〜（exp-M7）までに基づいて、追加したＴＭ＿ＥＮＴを更新する（ステップＳ１３１１）。
【０１０４】
(exp-M5) TM_ENT[TM_ENT_Ns].VOBU_ENT_SRPN = vobuNo
(exp-M6) TM_ENT[TM_ENT_Ns].TM_DIFF = C2 * (TM_ENT_Ns - 1) - (pb_time - VOBU_Table[vobuNo+vobu_base].PB_Time)
(exp-M7) TM_ENT[TM_ENT_Ns].VOBU_ADDR = ( tmp_size - VOBU_Table[vobuNo].VOBU_Size ) - ＶＯＢの先頭アドレス
ここで、TM_ENT[TM_ENT_Ns].VOBU_ENT_SRPN、TM_ENT[TM_ENT_Ns].TM_DIFF、TM_ENT[TM_ENT_Ns].VOBU_ADDRとは、ＴＭ＿ＥＮＴのＴＭ＿ＥＮＴ＿Ｎｓ番目のＶＯＢＵ＿ＥＮＴ＿ＳＲＰＮ、ＴＭ＿ＤＩＦＦ、ＶＯＢＵ＿ＡＤＤＲを指す。
【０１０５】
続いて、以下の式(exp-M8)に基づいて、ＶＯＢＩを更新し、以下の式(exp-M9)に基づいて、ＣｅｌｌＩを更新する（ステップＳ１３１２）。
(exp-M8) VOB_E_PTM += C1 * VOBU_Table[vobuNo+vobu_base].PB_Time / 2
(exp-M9) Cell_E_PTM += C1 * VOBU_Table[vobuNo+vobu_base].PB_Time / 2
ここで、PB_Timeの単位がフィールド（field picture）により、２で割り、フレーム（frame picture）に換算している。
【０１０６】
ここで、フィールド、及びフレームとは、ＭＰＥＧ２（Moving Picture Experts Group 2）における各画面の符号化の単位を指し、２フィールド（field picture）で１フレーム（frame picture）である。
そして、ｖｏｂｕＮｏを１つ増加し（ステップＳ１３１３）、ステップＳ１３０２に戻り、繰り返し処理を実行する。
【０１０７】
以上の様に、本発明の復旧処理部８１０によれば、復旧処理Ｓ１００３を実行し、可能な限り、停電が起きる前までに、記録媒体に記録されたＶＯＢＵを管理することができる管理情報を再構築する。
（その他）
なお、システム制御プログラムを、光学記録媒体（例えば、ＣＤ−ＲＯＭなど）、磁気記録媒体（例えば、ハードディスクなど）、光磁気記録媒体（例えば、ＭＯなど）、半導体メモリ（例えば、ＲＯＭなど）などのコンピュータ読み取り可能な記録媒体に記録しておき、他のコンピュータ、及びデジタルビデオレコーディング装置において実行するとしてもよい。また、ネットワークを介して接続されているコンピュータなどの一般のハードウェア上に設けられたハードディスクなどのコンピュータ読み取り可能な記録媒体に記録しておき、ネットワークなどの伝送路を経由して読み取った他のコンピュータ、及びデジタルビデオレコーディング装置において実行するとしてもよい。
【０１０８】
なお、ＲＡＭ３０９にバッテリから電源が供給されているとして、停電時においても管理情報を保持し続けるとしてもよい。
【０１０９】
【発明の効果】
本発明に係わる記録装置は、ビデオデータを記録媒体に記録する記録装置であって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成手段と、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録手段と、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存手段と、前記ビデオデータの記録が完了しない異常状態を検出する検出手段と、前記検出手段により異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合手段とを備え、前記整合手段による整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【０１１１】
これによって、記録装置は、録画中に記録が異常状態の原因により完了しなくても、記録しているビデオデータに対応する再生制御情報を生成することにより、記録媒体に記録されているビデオデータと再生制御情報との間の不整合を解消できる。
そして、従来再生できなかったビデオデータも、生成した再生制御情報により、再生する区間を特定し、可能な限り再生できるという効果がある。
【０１１３】
また、前記記録媒体は記録するビデオデータをファイルシステムで管理し、前記再生制御情報は、さらに、対応するビデオデータ区間のサイズ情報を含み、前記整合処理手段は、記録されたビデオデータのファイルサイズと、前記再生制御情報が示すビデオデータ区間のサイズ情報との比較により整合性を判定する。
【０１１４】
また、前記記録媒体は、記録するビデオデータをファイルシステムで管理し、前記整合処理手段は、さらに、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間があれば、未完了な終端区間をファイルシステム上で削除する処理を行なう。
【０１１５】
また、前記検出手段は、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出する。
【０１１６】
また、前記検出手段は、前記記録媒体の空き容量不足により前記記録媒体へのビデオデータの記録の停止を異常状態として検出する。
【０１２１】
また、前記検出手段は、前記記録装置の電源投入後に前記保存手段に前記退避情報が保存されていれば、前記記録媒体へのビデオデータの書き込みエラーを異常状態として検出する。
【０１２３】
また、本発明に係わる記録方法は、ビデオデータを記録媒体に記録する記録方法であって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正するることを特徴とする
【０１２６】
また、本発明に係わるコンピュータ読み取り可能なプログラム記録媒体は、コンピュータで読み取り可能なプログラム記録媒体であって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【０１２９】
また、本発明に係わる記録プログラムは、ビデオデータを記録媒体に記録する記録プログラムであって、記録するビデオデータの所定区間に対する再生時刻と記録アドレスとの対応を示すアドレステーブルを含む再生制御情報を生成する生成ステップと、ビデオデータと、生成された前記再生制御情報とを記録媒体に記録する記録ステップと、前記ビデオデータと前記再生制御情報の前記記録媒体への記録が完了するまで、前記再生制御情報の一部を退避情報として不揮発メモリに保存する保存ステップと、前記ビデオデータの記録が完了しない異常状態を検出する検出ステップと、前記検出ステップにより異常状態が検出されたとき、記録媒体に記録が完了したビデオデータに適応するよう生成された前記再生制御情報の整合処理を行う整合ステップとを有し、前記整合ステップによる整合処理は、前記退避情報から前記再生制御情報を復元し、復元された前記再生制御情報が対応するビデオデータの区間と、前記記録媒体に記録されたビデオデータのうち記録が未完了な終端区間を除く記録が完了したビデオデータの区間との整合性を判定し、生成された前記再生制御情報を、記録媒体に記録が完了したビデオデータの区間に対応する情報に修正することを特徴とする。
【０１３１】
これによって、記録媒体、ネットワークなどを介して入手した前記プログラムを実行した記録装置は、録画中に記録が異常停止しても、停止するまで記録しているビデオデータに対応する再生制御情報を生成することにより、記録媒体に記録されているビデオデータと再生制御情報との間の不整合を解消する。そして、従来再生できなかったビデオデータも、生成した再生制御情報により、再生する区間を特定し、可能な限り再生できるという効果がある。
【図面の簡単な説明】
【図１】本発明に係わるデジタルビデオレコーディング装置を含むオーディオビジュアルシステムの概要図である。
【図２】デジタルビデオレコーディング装置の機能ブロックを示す図である。
【図３】実施の形態１におけるシステム制御部の詳細な機能ブロックを示す図である。
【図４】管理情報のデータ構造を示す図である。
【図５】一例として、ＴＭＡＰ＿ＧＩにおけるＴＭＡＰ＿ＥＮＴとＶＯＢＵ＿ＥＮＴとの対応関係を示す図である。
【図６】整合処理のフローチャートを示す図のその１である。
【図７】整合処理のフローチャートを示す図のその２である。
【図８】実施の形態２におけるシステム制御部の詳細な機能ブロックを示す図である。
【図９】一例として、不揮発性メモリに格納されている退避データのデータ構造を示す図である。
【図１０】停電検査処理のフローチャートを示す図である。
【図１１】復旧処理のフローチャートを示す図である。
【図１２】ＶＯＢＩ復旧処理のフローチャートを示す。
【図１３】ＴＭＡＰＩ復旧処理のフローチャートを示す図である。
【符号の説明】
１００  ＡＶシステム
１０１  アンテナ
１０２  モニタ
１０３  リモートコントローラ
１０４  デジタルビデオレコーディング装置
２０１  ユーザーインタフェース部
２０２  入力部
２０３  出力部
２０４  エンコーダ部
２０５  デコーダ部
２０６  格納部
２０７  システム制御部
３０１  エンコード処理制御部
３０２  デコード処理制御部
３０３  録画処理制御部
３０４  再生処理制御部
３０５  ＶＯＢＵ読み込み書き込み処理制御部
３０６  管理情報読み込み書き込み処理制御部
３０７  再生制御情報生成部
３０８  整合処理部
３０９  ＲＡＭ
４００  管理情報
２１７  システム制御部
８０７  再生制御情報生成部
８０８  整合処理部
８１０  復旧処理部
８１１  不揮発性メモリ
９００  退避データ
【図１】
0003653482.tif 000002
【図２】
0003653482.tif 000003
【図３】
0003653482.tif 000004
【図４】
0003653482.tif 000005
【図５】
0003653482.tif 000006
【図６】
0003653482.tif 000007
【図７】
0003653482.tif 000008
【図８】
0003653482.tif 000009
【図９】
0003653482.tif 000010
【図１０】
0003653482.tif 000011
【図１１】
0003653482.tif 000012
【図１２】
0003653482.tif 000013
【図１３】
0003653482.tif 000014