以下、本発明の一実施形態について図1ないし図28に基づいて説明すると以下の通りである。すなわち、本実施の形態に係るレコーダ装置(記録データ再生システム)100は、コンテンツデータの再生処理または記録処理を実行するものである。より具体的には、レコーダ装置100は、外部または光ディスク(記録媒体)10より取得したコンテンツデータ、あるいは自身が保持しているコンテンツデータを表示装置等に出力して再生処理を実現する。また、レコーダ装置100は、外部より取得したコンテンツデータ、あるいは自身が保持しているコンテンツデータを光ディスク10に書き込み、記録処理を実現する。なお、コンテンツデータとは、音声や動画などのデジタルコンテンツを構成するデータであり、これ以降では単にコンテンツと称する。
まず、図2を参照して本実施の形態に係るレコーダ装置100の構成について説明する。図2は、本発明の実施形態を示すものであり、レコーダ装置100の要部構成を示すブロック図である。
レコーダ装置100は、図2に示すように、コンテンツの再生または記録(録画)全般を実行するバックエンド部(再生装置)200と、光ディスク10からのデータの読み出し、および光ディスク10に対するデータの書き込み全般を実行するドライブ部300とを備えてなる構成である。
ドライブ部(データ読取り装置)300は、図2に示すように、インターフェース部310、ドライブ制御部320、ディスクドライブ部(光ディスクドライブ部)330および記憶部(訂正データ記憶装置・テーブル情報記憶装置)340を備えている。なお、図2に示すように、インターフェース部310、ドライブ制御部320、ディスクドライブ部330および記憶部340は、バスラインを介して互いに接続されている。
ドライブ部300は、光ディスク10にコンテンツを記録したり、光ディスク10に記録されたデータを読み出したりする記録再生機能に加え、以下(1)から(4)に示す機能も有している。
(1)ユーザにより指定された複数の光ディスク10をマイディスクとして登録する登録機能
(2)マイディスクとして登録された光ディスク10に対する書き込み命令がバックエンド部200から与えられたとき、その光ディスク10にデータを書き込むと共に、ドライブ部300内に設けられたメモリにデータを書き込む書き込み機能
(3)マイディスクに対する読み出し命令がバックエンド部200から与えられたときに、その光ディスク10からデータを読み出す代わりに、上記メモリからデータを読み出す読み出し機能
(4)マイディスクとして登録された光ディスク10に書き込む代わりに上記メモリに書き込まれたデータをその光ディスク10に書き込み、上記メモリと上記光ディスク10とに記録されているデータを同期させる同期機能
なお、ドライブ部300が有する上記(1)から(4)の機能についての詳細は後述する。また、ドライブ部300が備える記憶部340では、当該記憶部340の特定の記憶領域に、特定の光ディスク10が対応付けられており、この対応付けは、各光ディスク10を識別するメディアIDと呼ばれる識別子を利用して管理できるように構成されている。記憶部340における各領域に対して対応付けられた光ディスク10、すなわち自身の有するメディアIDが記憶部340に記録されている光ディスク10を「マイディスク」と称する。
バックエンド部200は、図2に示すように、チューナー部210、エンコーダ部220、ストリーム処理部230、バックエンド制御部240、デコーダ部260、画像処理部270、バッファ部250、記憶部280およびインターフェース部290を備えている。また、図2に示すように、ストリーム処理部230、バックエンド制御部240、デコーダ部260、画像処理部270、バッファ部250、記憶部280およびインターフェース部290は、バスラインを介して互いに接続されている。
以下において、バックエンド部200およびドライブ部300の備える各部材について図2を参照して説明する。
チューナー部210は、アンテナ部(不図示)を介して受信したデジタル放送波(例えば、BSデジタル放送、CSデジタル放送、地上波デジタル放送)から、映像データ、音声データなどが多重化されているストリーム(Transport Stream:TS)を抽出するものである。チューナー部210は、抽出したストリームをストリーム処理部230に出力する。
エンコーダ部220は、アンテナ部を介して受信したアナログ放送、または、外部から入力された映像信号/音声信号を、MPEG2−TS形式またはMPEG2−PS形式にエンコードするものである。エンコーダ部220は、エンコードして得たストリームをストリーム処理部230に出力する。
ストリーム処理部230は、抽出されたストリームまたはエンコードされたストリームに多重化されている映像データ、音声データなどの個々のデータを分離、抽出すると共に、同じパケット識別子(PID)が付与されているパケット(TS)のペイロード部を繋ぎ合わせることにより、コンテンツデータ(PESパケット)を復元するものである。また、不図示の通信部によりネットワークを介して入力されるコンテンツデータもストリーム処理部230において処理される。
なお、ストリーム処理部230において処理されたコンテンツデータは、一時的にバッファ部250に格納される。バッファ部250は、表示装置500またはドライブ部300に対して出力するコンテンツデータ(映像データ、音声データなど)を一時的に記憶するメモリである。バッファ部250は、揮発メモリを用いることが一般的であるが、不揮発性メモリを用いてもよい。
バックエンド制御部240は、レコーダ装置100におけるコンテンツデータの記録および再生全般を制御するものである。
ストリーム処理部230において復元したコンテンツデータを、ドライブ部300に装填されている光ディスク10に対して記録する場合、バックエンド制御部240は、光ディスク10に書き込むための書き込み命令を、インターフェース部290を介してドライブ制御部320に出力すると共に、書き込み対象とするコンテンツデータをバッファ部250から読み出してインターフェース部290を介してドライブ部300に対して出力する。
ドライブ部300に装填されている光ディスク10に記録されているコンテンツデータを再生する場合、バックエンド制御部240は、ドライブ部300に対して、コンテンツデータを光ディスク10から読み出すための読み出し命令を、インターフェース部290を介してドライブ制御部320に出力する。このとき、光ディスク10から読み出されたコンテンツデータは、バッファ部250に一時的に格納される。
また、バックエンド制御部240は、バッファ部250に格納されているコンテンツデータを表示装置500に対して出力する場合には、バッファ部250から読み出したコンテンツデータをデコードするようデコーダ部260を制御する。
デコーダ部260は、バックエンド制御部240からの指示を受けて、バッファ部250に格納されているコンテンツデータのうち、バックエンド部200内において生成されるクロック(System Time Clock:STC)の値に一致するタイムスタンプ(PTS)が付与されているコンテンツデータを読み出す。そして読み出したコンテンツデータをデコードし、画像処理部270に出力する。
画像処理部270は、フレームレート変換などのような動画像データの表示性能を向上させるため、画素の補間や色調整などの高品質化処理を実行し、高品質化処理を施した動画像データを表示装置500に対して出力する。すなわち、画像処理部270では、デコーダ部260においてデコード(復号)されたフレーム画像から表示装置500において実際に表示する際に用いるフレーム画像を生成する。
記憶部280には、バックエンド制御部240を動作させるためのプログラム、および、バックエンド制御部240が参照する各種データが格納されている。バックエンド制御部240により参照されるデータとしては、予約情報およびタイトル管理情報などが挙げられる。予約情報およびタイトル管理情報の詳細については以下に詳述するため、ここではその説明を省略する。なお、記憶部280は、電源をオフにしても記録内容の消去されない不揮発性メモリであることが好ましい。
インターフェース部290は、入力されたデータをインターフェース部310を介してドライブ部300に対して出力する。インターフェース部290としては、SATA(Serial AT attachment)などを挙げることができる。なお、ATA(AT attachment)は、転送方式がシリアルのATAであるSATAに限定されるものではなく、転送方式がパラレルのATAであるPATAを用いてもよい。
インターフェース部310は、入力されたデータを、インターフェース部290を介してバッファ部250に対して出力する。インターフェース部310も、インターフェース部290と同様に、SATA(Serial AT attachment)などとすることができるが、インターフェース部290とインターフェース部310とは同一規格のインターフェースであることが好ましい。
なお、本実施形態では、インターフェース部290、310がSATAである場合を例に挙げて説明する。
ドライブ制御部320は、ディスクドライブ部330に装填されている光ディスク10からのデータの読み出し、および光ディスク10へのデータの書き込みを制御すると共に、記憶部340からのデータの読み出し、および記憶部340へのデータの書き込みを制御する。
ドライブ制御部320では、インターフェース部310を介して入力されるバックエンド制御部240からの命令(光ディスク10からのデータ読み出し命令、または光ディスク10へのデータ書き込み命令)を、記憶部340からのデータ読み出し命令、または記憶部340へのデータ書き込み命令に読み換える。しかし、バックエンド制御部240からの命令が、記憶部340に記憶されていないデータに対する読み出し命令である場合には、ドライブ制御部320はバックエンド制御部240からの命令を読み換えることなく、装填されている光ディスク10からデータを読み出す。
また、ドライブ制御部320は、光ディスク10に記録されたコンテンツにおける、所定のエラー数以上となる部分を補完する補完データを生成し、記憶部340に格納するものでもある。この補完データ生成処理に関する詳細は後述する。
インターフェース部290、310がATAインターフェースである場合、バックエンド制御部240からの書き込み命令および読み出し命令は、ATAコマンドとなる。
また、本実施形態では、所定の領域に対するデータの書き込み命令を実現するために、以下の情報を上記コマンドに含めてドライブ制御部320に出力するように構成されていることが好ましい。すなわち、記憶部340におけるどの領域(後述するマイディスクのデータが記録される領域)に対してデータを書き込むのかを表す情報(ディスク指定情報)をコマンドに含めることが好ましい。もちろん、このディスク指定情報を含めたコマンドを用いる構成に限定されるものではない。例えば、ディスク指定情報を示すコマンドを予め出力して記憶部340の記録対象領域(マイディスク)を指定した後に、書き込み命令および書き込み対象データを表すコマンドをドライブ制御部320に出力する構成としてもよい。いずれの構成の場合であっても、書き込み命令は、ディスク指定情報とデータを書き込むべき領域を指定するアドレス(第1の領域指定情報)とを含むことになる。なお、書き込みの対象となるデータは、書き込み命令と共にバックエンド部200からドライブ部300へと出力される。
なお、これは書き込み命令に限るものではなく、読み出し命令についても同様である。
ディスクドライブ部330は、ドライブ制御部320からの指示に基づいて動作し、装填されている光ディスク10からのデータの読み出し、または光ディスク10に対するデータの書き込みを実行する。
ディスクドライブ部330は、装填されている光ディスク10からデータを読み出したり、光ディスク10対してデータを書き込んだりするための光ピックアップ部(不図示)などを備えている。
記憶部340は、レコーダ装置100において光ディスク10に対して記録するコンテンツデータなどのデータを記憶するデータメモリである。記憶部340におけるコンテンツデータの記録および上記補完データの記録については、下記に詳述するため、ここではその説明を省略する。
なお、記憶部340は、光ディスク10よりもデータアクセス速度が速いものであれば特に限定されるものではないが、電源をオフにしても記録内容の消去されない不揮発性メモリであることが好ましい。より具体的にはフラッシュメモリを用いることが好ましい。
次に、レコーダ装置100の再生動作、録画動作、ダビング動作などについて説明するが、これらのレコーダ装置100における各動作の説明に先立って、レコーダ装置100における事前設定について、図3(a)および(b)および図4(a)および(b)を参照して説明する。レコーダ装置100における事前設定は、記憶部340の初期化処理と、記憶部340に対する光ディスク10の登録処理の2つに大別することができる。
(記憶部の初期化処理)
記憶部340の初期化処理について、図3(a)および(b)を参照して説明する。図3(a)および(b)は、記憶部340の初期化処理を示す図である。同図(a)は記憶部340の初期化の際の表示装置500における表示の一例を示す。同図(b)は初期化処理後の記憶部340を模式的に示す。
記憶部340の初期化処理とは、記憶部340における記憶領域を、ユーザの所望する数のパーティションに仮想的に分割する処理である。なお、記憶部340の初期化処理は、記憶部340において記憶領域が仮想的に分割されていない場合にのみ実行される処理であるため、既に記憶部340における初期化処理が行われている場合には初期化処理は実行されない。
初期化処理は、操作入力部を介したユーザからの初期化処理の実行指示を受けることにより実行される。すなわち、バックエンド制御部240がユーザからの初期化処理実行指示を受けると、バックエンド制御部240はドライブ制御部320に対して、記憶部340の記憶領域をユーザの指定する数に仮想的に分割するように指示する。バックエンド制御部240からの指示を受けたドライブ制御部320は、記憶部340を指定された数の領域(パーティション)に仮想的に分割する。記憶部340において分割される領域の数は、登録することができるマイディスクの枚数と一致する。このとき、表示装置500には、図3(a)に示すような画像を表示することが好ましい。
なお、記憶部340において仮想的に分割される領域の数は、例えば「n個(枚)」などのようにユーザにより明示的に指示された数であってもよいし、ユーザの所望する録画画質に応じて設定される数であってもよい。
図3(b)は、初期化処理後の記憶部340を示している。図3(b)に示すように、記憶部340は、ユーザの所望するn個の領域(領域1〜領域n)に仮想的に分割されている。また、領域1〜n以外にも記憶部340には、領域1〜領域nを管理する管理情報の記録されている管理領域が設けられている。
管理領域は、図3(b)に示すように、領域1〜領域nを管理するマイディスク管理領域と、マイディスク管理領域を管理するメモリ管理領域と、に分けることができる。
マイディスク管理領域には、領域1〜領域nの各領域を管理する管理情報が記録されている。図3(b)では、便宜上、領域1を管理する管理情報の記録されている領域を「エントリ1」と称し、以下同様に領域2〜nを管理する管理情報の記録されている領域をエントリ2〜nと称する。
領域1を管理するエントリ1には、エントリ番号、割り当てフラグ、メディアID情報、割り当てエリア情報、メディアキー情報およびマップ情報が記録されている。これらの各情報について以下に説明する。
「エントリ番号」は、いずれの領域を管理するのかを示す情報である。例えば、エントリ1は、領域1を管理する管理情報であるため、エントリ番号としては「1」を示す情報が記録されている。
「割り当てフラグ」は、マイディスクが対応付けられている領域であるか否かを示すフラグである。初期化処理直後の状態では、マイディスクの対応付けは行われていないため、割り当てが行われていないことを示す情報(ここでは、「0」)が記録されている。
「メディアID」は、光ディスク10のメディアIDを示す情報である。初期化処理段階では、メディアIDの情報は記録されていない。メディアIDの情報の記録については、後述の光ディスク10の登録処理において説明する。
「割り当てエリア情報」は、各領域として利用することができる記憶部340の記録領域を表す情報である。割り当てエリア情報の具体例としては、例えば、各領域の開始アドレスおよび終了アドレスを挙げることができる。また、終了アドレスの代わりに、各領域の記録容量が記録されていてもよい。
「メディアキー情報」は、データを光ディスク10に対して記録するときの著作権保護に用いられる暗号化を実行するためのキー情報である。メディアキー情報としては、例えば、MKB(Media Key Block)を挙げることができる。
「マップ情報」は、各光ディスク10に記録されたコンテンツについて、当該コンテンツが記録される光ディスク10の領域を示すアドレスである仮想アドレスと、当該コンテンツが記録されている記憶部340上の領域を示すアドレスである物理アドレスとの対応付けを示す情報である。マップ情報として記録されているマップテーブルの詳細については、下記で詳述するため、ここでは説明を省略する。
また、メモリ管理領域には、図3(b)に示すように、「エントリ数情報」および「割り当てエリア情報」が記録されている。「エントリ数」は、記憶部340において仮想的に分割されている領域の数を示す情報である。「割り当てエリア情報」は、記憶部340においてマイディスク管理領域として利用されている領域を表す情報である。
なお、記憶部340を領域1〜領域nに仮想的に分割した時に生じる余りの領域を予備領域として活用するようにしてもよい。
(光ディスクの登録処理)
次に、記憶部340に対する光ディスク10の登録処理について、図4(a)および(b)を参照しつつ説明する。図4(a)および(b)は、光ディスク10の登録処理を示す図であり、(a)は光ディスク10の登録処理の際の表示装置500における表示の一例を示した図であり、(b)は光ディスク10の登録処理後の記憶部340を模式的に示した図である。
光ディスク10の登録処理とは、記憶部340において仮想的に分割されている各領域を管理するエントリに、光ディスク10のメディアIDを対応づけて記録する処理である。
光ディスク10がドライブ部300に装填されると、ドライブ制御部320は、ディスクドライブ部330に対して、装填された光ディスク10から当該光ディスク10のメディアIDを読み出すように指示する。ディスクドライブ部330が光ディスク10からメディアIDを読み出すと、ドライブ制御部320は、記憶部340において読み出したメディアIDがマイディスク管理領域におけるエントリに既に記録されているメディアIDであるか否かを判定する。
読み出したメディアIDがマイディスク管理領域におけるエントリのいずれにも記録されていない場合、ドライブ制御部320は、マイディスク管理領域におけるエントリのうち、割り当てフラグが光ディスク10の割り当てが行われていないことを示す「0」であるエントリに、読み出したメディアIDを記録する。これによって、エントリにおいてメディアID情報が記録される。なお、メディアID情報の記録されたエントリにおける割り当てフラグは、メディアID情報が記録された時点で、割り当てが行われていることを示す「1」に変更される。また、メディアキー情報などの光ディスク10固有の情報についても、この時点でメディアID情報を記録したエントリに対して記録される。
なお、上述した「光ディスク10の登録処理」では、読み出したメディアIDを、割り当てフラグが「0」であるエントリに自動的に割り当てる場合について説明しているが、この構成に限定されるものではない。例えば、レコーダ装置100において、当該メディアIDを所定のエントリに記録するか否かについてユーザに問い合わせる構成であってもよい。この構成では、光ディスク10のメディアIDを、割り当てフラグが「0」であるエントリに記録する旨のユーザからの指示を受け付けた場合、ドライブ制御部320が、該指示に応じてメディアIDを所定のエントリに記録する。
また、割り当てフラグが「0」であるエントリが複数存在する場合、いずれのエントリに対してメディアIDを対応づけて記録するのか、ユーザが選択可能な構成であってもよい。この場合、ドライブ制御部320は、ユーザにより指定されたエントリに対してメディアIDを記録する。
なお、レコーダ装置100では、メディアIDをエントリに記録する際、表示装置500に図4(a)に示すような画像を表示するように構成されていることが好ましい。
また、光ディスク10のメディアIDをエントリ1に記録した場合、図4(b)に示すように、光ディスク10はエントリ1により管理される領域1に対して対応付けられることになる。なお、図4(b)は、メディアID「aaa」を有する光ディスク10をエントリ1に記録した場合における光ディスク10の登録後の記憶部340の状態を示している。
上述したように記憶部340において設定した各記憶領域に対応付けられた光ディスク10、すなわち自身の有するメディアIDが記憶部340に記録されている光ディスク10を「マイディスク」と称する。また、マイディスクが複数存在する場合、各マイディスクを識別するために、例えば領域1に対応付けられたマイディスクを「ディスク1」のように称するものとする。以下同様に、領域2〜nに対応付けられたマイディスクを「ディスク2〜n」と称するものとする。
(コンテンツの予約録画動作)
上述した事前設定の完了しているレコーダ装置100におけるコンテンツ録画動作、コンテンツ再生動作、コンテンツ編集動作、およびコンテンツコピー動作について、以下に説明する。
レコーダ装置100におけるコンテンツ録画動作について、図5(a)〜(c)〜図14(a)〜(c)を参照して以下に説明する。なお、ここでは、コンテンツ録画動作として、予約録画処理を例に挙げて説明する。
レコーダ装置100における予約録画処理は、予約登録処理と録画処理との2つに大別することができる。また、録画処理は、マイディスクが装填されている状態での録画処理と、マイディスクが装填されていない状態での録画処理の2つにさらに分けることができる。予約録画処理におけるこれらの処理それぞれについて以下に説明する。
(予約登録処理)
まず、レコーダ装置100における予約登録処理について、図5(a)〜(c)を参照しつつ以下に説明する。図5(a)〜(c)は、レコーダ装置100における予約登録処理を示す図であり、(a)は予約登録処理後の記憶部280の状態を模式的に示した図であり、(b)は予約登録処理後の記憶部340およびマイディスク1の状態を模式的に示した図であり、(c)は予約登録処理の際の表示装置500における表示の一例を示した図である。
予約登録処理とは、記憶部280および光ディスク10に対して予約情報を登録する処理である。予約登録処理については、記憶部340の領域1に対応付けられたディスク1を装填している場合を例に挙げて説明する。
ユーザが操作入力部(不図示)を介して予約情報を入力すると、バックエンド制御部240は、入力された予約情報を記憶部280の予約情報管理領域に記録する。このとき、記憶部280の予約情報管理領域に記録される予約情報は、図5(a)に示すように、「録画チャンネル」、「録画年月日」および「録画時間」と共に、「記録対象マイディスク」の情報(メディアID)を含んでいる。以下、記録対象マイディスク情報として、装填されているマイディスクのメディアIDを利用する構成について説明する。なお、「記録対象マイディスク情報」は、マイディスクを識別可能とする情報であればよく、メディアID以外の他の情報であってもよい。また、予約情報に含まれる各情報は、操作入力部(不図示)を介してユーザにより直接入力されるものであってもよいし、電子番組表においてユーザが選択した番組を表す番組情報に基づき設定されるものであってもよい。
バックエンド制御部240は、予約情報を記憶部280に記録すると共に、ドライブ制御部320に対して、ドライブ部300に装填されているディスク1に対して予約情報を書き込むように指示する。ドライブ制御部320は、バックエンド制御部240からの指示を受けて、ユーザの設定した予約情報を、ディスク1に記録するようにディスクドライブ部330に対して指示する。ディスクドライブ部330は、ドライブ制御部320からの指示を受けて、ユーザの設定した予約情報をディスク1の所定の領域(予約情報管理領域)に記録する(図5(b))。このとき、ディスク1には、既にメディアIDが記録されているため、メディアIDについては記録しなくてもよい。
なお、予約情報の設定の際には、ユーザが記録対象マイディスクを選択することができるようにしてもよい。この場合、ユーザの選択した記録対象マイディスクがドライブ部300に装填されていない場合には、予約情報の登録時点で、対象とするマイディスクをドライブ部300に装填するようにユーザに対して警告するように構成されることが好ましい。
図5(c)には、記憶部340の領域1に対応付けられたディスク1を装填している場合に予約登録した際の表示装置500に表示する画像の一例を示している。
(マイディスクが装填されている場合の録画処理)
次に、記憶部280の予約情報管理領域に記録されている予約情報に含まれているメディアIDのマイディスクがドライブ部300に装填されている場合の録画処理について、図6(a)および(b)を参照しつつ以下に説明する。図6(a)および(b)は、マイディスクが装填されている状態での録画処理を示す図であり、(a)は録画処理後の記憶部340およびマイディスク1の状態を模式的に示した図であり、(b)は録画処理後の記憶部280の状態を模式的に示した図である。
コンテンツ1の録画が完了すると、図6(b)に示すように、バックエンド制御部240は、コンテンツ1の予約録画を示す予約情報を記憶部280における予約情報管理領域から消去する。また、コンテンツ1のディスク1への記録が完了すると、ドライブ制御部320はディスク1の予約情報管理領域に記録されている予約情報を消去するようにディスクドライブ部330に対して指示する。
次に、コンテンツ1を記憶部340の領域1およびディスク1に記録した際の記憶部340および記憶部280の状態について図7(a)〜(c)を参照しつつ以下に説明する。図7(a)〜(c)は、コンテンツ1を録画した際の記憶部340および記憶部280の状態を示す図であり、(a)は記憶部340の領域1におけるコンテンツの記録状態に対応するディスク1の記録状態の対応関係を示す図であり、(b)はコンテンツ1を記録した際のマップテーブルを示す図であり、(c)はコンテンツ1を記録した際のタイトル管理テーブルを示す図である。
ここで、一般的には、記憶部340の領域1とディスク1とのデータ容量は異なる。そのため、領域1では、物理アドレスとは別に、ディスク1におけるアドレス(第1の領域指定情報)と一致するような仮想アドレスが割り当てられている。この仮想アドレスを用いてデータを読み出したり、書き込んだりすることにより、バックエンド部200では、記憶部340に格納されているコンテンツをドライブ部300に装填されているディスク1に記録されているかのように扱うことができる。本実施形態では、記憶部340の各領域に設定された仮想アドレスを用いて表される記憶領域を「仮想ディスクイメージ」と称する。
また、上記した図7(a)では、記憶部340の領域1における仮想ディスクイメージも示している。図7(a)に示すように、記憶部340の領域1において、物理アドレス(第2の領域指定情報)「0x000」を先頭アドレスとしてコンテンツ1(データ容量:XGB)が記録されている場合、仮想ディスクイメージ上では、コンテンツ1は仮想アドレス「0x050」を先頭アドレスとして記録する。すなわち、コンテンツ1をディスク1に対して書き込む場合、ドライブ制御部320は、ディスクドライブ部330に対して、ディスク1のアドレス「0x050」を表すセクタからコンテンツ1を書き込むように指示する。これによって、領域1からディスク1に対するコンテンツの記録を容易に実行することができる。
続いて、図7(a)において示した物理アドレスと仮想アドレスとの関連付けを実現するためのマップテーブルについて、図7(b)を参照しつつ説明する。
マップテーブルは、記憶部340のマイディスク管理領域におけるマップ情報として記録されている。マップテーブルは、図7(b)に示すように、コンテンツ毎に、仮想ディスクイメージにおけるマップを表す仮想ディスクマップと、記憶部340の領域1におけるマップを表すメモリマップとが関連付けられて記録されている。また、コンテンツに対して、当該コンテンツがマイディスクに記録されているか否かを表す同期フラグが関連付けられて記録されている。
なお、本実施形態では、記憶部340の任意の領域に記録されているコンテンツが、任意の領域に対応付けられたマイディスクに記録されている状態のことを「同期状態」と称するものとする。同様に、記憶部340の任意の領域に記録されているコンテンツを、この任意の領域に対応付けられたマイディスクに記録する処理を「同期処理」と称するものとする。
マップテーブルでは、コンテンツ1が領域1に記録されると、該マップテーブルの内容が更新されるようになっている。例えば、記憶部340の領域1が図7(a)に示す状態である場合、マップテーブルには、図7(b)に示す情報が記録される。すなわち、図7(b)に示すように、マップテーブルでは、コンテンツ1における仮想ディスクマップにおける先頭アドレスとして「0x050」を、データサイズとしてXGBをそれぞれ設定し、メモリマップにおける先頭アドレスとして「0x000」を、データサイズとしてXGBをそれぞれ設定する。また、領域1からディスク1への書き込みが完了すると、マップテーブルにおける同期フラグが、コンテンツがマイディスクに記録されていることを表す「1」に書き換えられる。
このようなマップテーブルを参照することにより、バックエンド制御部240からディスク1への書き込み命令を受けたドライブ制御部320は、バックエンド制御部240から受けたディスク1への書き込み命令を領域1への書き込み命令に変更することができる。また、ディスク1からの読み出し命令の場合も同様に、マップテーブルを参照することにより、領域1からの読み出し命令に変更することができる。
なお、図7(b)に示すエントリパラメータとは、エントリ番号、メディアID情報、割り当てエリア情報などを記録する領域であり、エントリデータ領域とは、メディアキー情報および領域1におけるトラック情報などを記録する領域である。
また、コンテンツ1が領域1に記録されると、記憶部280におけるディスク1のタイトル管理領域に、タイトル管理情報として記録されているタイトル管理テーブルが更新される。タイトル管理テーブルには、例えば図7(c)に示す情報が記録される。すなわち、タイトル管理テーブルは、図7(c)に示すように、各コンテンツを示すタイトル名、コンテンツの再生所要時間、コンテンツの再生画質、コンテンツの残りダビング回数(本実施形態では最大で10と設定するものとする)、および同期状態を示す情報それぞれが対応づけられて記録されている。なお、図7(c)の例ではタイトル1における残りダビング回数は、コンテンツ1をディスク1へ記録したため、残り10回から1回減算されて「9」回となっている。
また、本実施形態では、コンテンツ1を示すタイトルをタイトル1として表記し、コンテンツ2〜コンテンツnを示すタイトルをそれぞれタイトル2〜タイトルnとして表記するものとする。また、このタイトル管理テーブルは、記憶部340において仮想的に分割されている領域の数だけ記憶部280に設けられる。
(マイディスクが装填されていない場合の録画処理)
続いて、記憶部280の予約情報管理領域に記録されている予約情報に含まれているメディアIDのマイディスクがドライブ部300に装填されていない場合の録画処理について、図8(a)および(b)を参照しつつ以下に説明する。図8(a)および(b)は、レコーダ装置100においてマイディスクが装填されていない状態での録画処理を示す図であり、(a)は録画処理後の記憶部340の状態を模式的に示した図であり、(b)は録画処理後の記憶部280の状態を模式的に示した図である。
レコーダ装置100において、記憶部280の予約情報管理領域に記録されている予約情報により録画されるコンテンツ(コンテンツ2)の録画が開始された時点でドライブ部300にディスク1が装填されていない場合であっても、バックエンド制御部240はコンテンツ2をディスク1に対して記録するようにドライブ制御部320に対して指示する。バックエンド制御部240からの指示を受けたドライブ制御部320は、ディスクドライブ部330にディスク1が装填されていないため、バックエンド制御部240からのディスク1への書き込み命令を記憶部340の領域1への書き込み命令に変換し、コンテンツ2を領域1に記録する。このとき、ディスク1はドライブ部300に装填されていないため、ディスク1に対してコンテンツ2を記録する処理は実行されない。
コンテンツ2の録画が終了すると、図8(b)に示すように、バックエンド制御部240は記憶部280における予約情報管理領域からコンテンツ2の予約録画を示す予約情報を消去する。
次に、コンテンツ2を記憶部340の領域1に記録した際の記憶部340および記憶部280の状態について図9(a)〜(c)を参照しつつ以下に説明する。図9(a)〜(c)は、コンテンツ2を録画した際の記憶部340および記憶部280の状態を示す図であり、(a)は記憶部340の領域1におけるコンテンツの記録状態に対応するディスク1の記録状態の対応関係を示す図であり、(b)はコンテンツ2を記録した際のマップテーブルを示す図であり、(c)はコンテンツ2を記録した際のタイトル管理テーブルを示す図である。
図9(a)に示すように、記憶部340の領域1における物理アドレス「0x000」を先頭アドレスとしてコンテンツ1(データ容量:XGB)が記録されているため、コンテンツ2(データ容量:XGB)は、記憶部340の領域1における物理アドレス「0x200」を先頭アドレスとしてコンテンツ1に続けて記録される。このとき、コンテンツ2は、仮想ディスクイメージ上でも、仮想アドレス「0x250」を先頭アドレスとしてコンテンツ1に続けて記録される。ディスク1はドライブ部300に装填されていないため、当然ながらコンテンツ2はディスク1に対して記録されていない。
コンテンツ2が領域1に記録されると共に、記憶部340のエントリ1におけるマップ情報に記録されているマップテーブルも更新される。記憶部340の領域1が図9(a)に示す状態のときのマップテーブルを、図9(b)に示す。図9(b)に示すマップテーブルは、図7(b)に示したマップテーブルに記録されている情報に加えて、以下の情報が設定される。すなわち、コンテンツ2の仮想ディスクマップにおける先頭アドレス(「0x250」)、データサイズ(「XGB」)、メモリマップにおける先頭アドレス(「0x200」)、およびデータサイズ(「XGB」)である。なお、コンテンツ2について領域1からディスク1への書き込みが実行されていない。このため、マップテーブルにおけるコンテンツ2の同期フラグは、コンテンツがマイディスクに記録されていないことを表す「0」となっている。
また、図9(c)には、図9(b)に示したマップテーブルが設定されたときのタイトル管理テーブルの一例を示している。図9(c)に示すように、タイトル管理テーブルでは、図7(c)に示したコンテンツ1を示すタイトル1のタイトル管理情報に加えて、コンテンツ2を示すタイトル2のタイトル管理情報が加えられる。このとき、タイトル2は、ディスク1に対して記録されていないため、タイトル2における残りダビング回数は「10」回のままであり、同期状態は未同期を示す情報となる。
(コンテンツの同期処理)
次に、記憶部340に記録されたコンテンツであってマイディスクに対して記録されていないコンテンツを、マイディスクに対して記録する同期処理について、図10〜図12(a)〜(c)を参照して以下に説明する。
まず、ディスク1がドライブ部300に装填されると、ドライブ制御部320は、エントリ1のマップテーブルを参照して、同期フラグが「0」であるコンテンツがあるか否かを判定する。例えば、同期フラグが「0」であるコンテンツ2が存在するとすると、ドライブ制御部320は、記憶部340の領域1に記録されているコンテンツ2を、ディスク1に記録する(書き出す)ようにディスクドライブ部330に対して指示する。ディスクドライブ部330は、ドライブ制御部320からの指示を受けて記憶部340の領域1に記録されているコンテンツ2をディスク1に書き出す。これによって、記憶部340の領域1に記録されているコンテンツ1およびコンテンツ2がいずれもディスク1にも記録されている状態になる(図10)。すなわち、コンテンツ2は同期状態となる。
ドライブ制御部320は、ディスク1に対するコンテンツ2の書き出しが完了すると、バックエンド部200に対してコンテンツ2の同期処理が完了したことを通知する。バックエンド制御部240は、この通知を受けて、記憶部280におけるディスク1のタイトル管理領域に記録されているタイトル管理テーブルを更新する。
また、ドライブ制御部320は、ディスク1に対するコンテンツ2の書き出しが完了すると、ディスクドライブ部330に対して、ディスク1に記録されているコンテンツ2を予約録画するための予約情報の消去を指示する。指示を受けたディスクドライブ部330は、ディスク1の予約情報管理領域に記録されているコンテンツ2を予約録画するための予約情報を削除する(図10)。なお、図10は、コンテンツの同期処理後の記憶部340およびディスク1の状態を示す図である。
次に、記憶部340の領域1に記録されているコンテンツ2をディスク1に書き出した際の記憶部340および記憶部280の状態について図11(a)〜(c)を参照しつつ以下に説明する。図11(a)〜(c)は、コンテンツ2を同期処理した際の記憶部340および記憶部280の状態を示す図であり、(a)は記憶部340の領域1におけるコンテンツの記録状態に対応するディスク1の記録状態の対応関係を示す図であり、(b)はコンテンツ2を同期処理させた際のマップテーブルを示す図であり、(c)はコンテンツ2を同期処理させた際のタイトル管理テーブルを示す図である。
図11(a)に示すように、仮想ディスクイメージにおいて、コンテンツ2は、仮想アドレス「0x250」を先頭アドレスとして記録されている。このとき、ディスク1では、「0x250」を先頭アドレスとしてコンテンツ2を記録することができるため、コンテンツ2は、ディスク1のアドレス「0x250」を先頭アドレスとしてディスク1に記録される。
コンテンツ2の同期処理が完了すると、図11(b)に示すように、エントリ1のマップ情報に記録されているマップテーブルの同期フラグが、コンテンツがマイディスクに記録されていることを表す「1」となる。また、図11(c)に示すように、記憶部280に記録されているディスク1のタイトル管理テーブルにおいて、タイトル2における残りダビング回数が1減算されて「9」回となると共に、同期状態が同期を示す情報に変更される。
次に、ディスク1において「0x250」を先頭アドレスとするコンテンツ(コンテンツ3)が既に記録されている場合のコンテンツ2の同期処理について、図12(a)〜(d)を参照して以下に説明する。
図12(a)〜(d)は、コンテンツ2を同期処理した際の記憶部340および記憶部280の状態を示す図である。同図(a)は仮想ディスクイメージにおけるコンテンツ2の先頭アドレスを先頭アドレスとするコンテンツ3がディスク1に記録されている状態を示す。また、同図(b)はコンテンツ2をコンテンツ3に続くように仮想ディスクイメージを変更した状態を示す。また、同図(c)はコンテンツ2を同期処理させた際のマップテーブルを示す。また、同図(d)はコンテンツ2を同期処理させた際のタイトル管理テーブルを示す。
図12(a)に示すように、仮想ディスクイメージにおけるコンテンツ2の先頭アドレス(「0x250」)を先頭アドレスとするコンテンツ3が既にディスク1に記録されている場合、ディスク1のアドレス「0x250」を先頭アドレスとしてコンテンツ2をディスク1に記録することができない。
そこで、このような場合、ドライブ制御部320は、記憶部340における仮想ディスクイメージを変更することにより、コンテンツ2をディスク1に記録できるようにする。具体的には、ドライブ制御部320は、ディスク1においてアドレス「0x250」を先頭アドレスとして記録されているコンテンツ3を、仮想ディスクイメージにおいても仮想アドレス「0x250」を先頭アドレスとして記録されているように設定する。そして、コンテンツ2をコンテンツ3に続くように仮想アドレス「0x400」を先頭アドレスとして記録する。すなわち、ドライブ制御部320は、領域1における仮想ディスクイメージをディスク1におけるコンテンツ1〜3の格納状態にあわせて変更する。これによって、変更された仮想ディスクイメージでは、コンテンツ2の先頭アドレスが「0x400」となるため、「0x400」を先頭アドレスとしてディスク1にコンテンツ2を記録することができる。
このとき、領域1のマップテーブルについても、図12(c)に示すように変更される。すなわち、仮想ディスクマップにおけるコンテンツ2の先頭アドレスは、「0x400」となり、コンテンツがマイディスクに記録されていることを表す「1」となる。また、仮想ディスクマップにおいて、先頭アドレスが「0x250」であり、コンテンツ容量がYGBのコンテンツ3が登録される。コンテンツ3は、領域1には記録されていないコンテンツであるため、メモリマップには先頭アドレスが記録されず、同期フラグについても記録されない。
同様に、図12(d)に示すように、記憶部280におけるディスク1のタイトル管理テーブルにおいてもタイトル2が同期状態に変更され、コンテンツ3を示すタイトル3に対応付けられた情報(再生時間および再生画質)が登録される。なお、コンテンツ3は、ディスク1にのみに記録されているコンテンツであり、ダビングが不可のデータである。この場合、タイトル管理テーブルでは、タイトル3における残りダビング回数は表示されない。
(領域1に記録されているコンテンツの削除)
また、本実施の形態に係るレコーダ装置100では、記憶部340における領域1の空き容量が少なくなった場合、領域1に記録されているコンテンツのうち、所定のコンテンツを削除するように構成されている。領域1からのコンテンツの削除処理は、ユーザからの指示に応じて行われてもよいし、領域1における空き容量が所定値以下となった場合に自動的に実行されてもよい。
例えば、図13では、領域1からコンテンツ1およびコンテンツ2を削除し、新たにコンテンツ4をディスク1から読み出し、領域1に記録する場合について示している。また、この図13の場合、領域1、ディスク1、および仮想ディスクイメージそれぞれの関係は、図14(a)〜(c)に示すようになる。図14(a)〜(c)は、コンテンツ4を録画した際の記憶部340および記憶部280の状態を示す図である。同図(a)は記憶部340の領域1におけるコンテンツの記録状態に対応するディスク1の記録状態の対応関係を示す図である。同図(b)はコンテンツ4を記録した際のマップテーブルを示す図である。また、同図(c)はコンテンツ4を記録した際のタイトル管理テーブルを示す図である。
ドライブ制御部320は、記憶部340の領域1からコンテンツ1およびコンテンツ2が削除する場合、エントリ1に記録されているマップ情報におけるメモリマップからコンテンツ1およびコンテンツ2に関する情報を削除する。また、ドライブ制御部320は、コンテンツ1およびコンテンツ2に関連付けられた同期フラグについても削除する。ただし、図14(a)に示すように、コンテンツ1およびコンテンツ2は、仮想ディスクイメージ上においては消去されることなく残されている。すなわち、図14(b)に示すように、領域1からコンテンツ1およびコンテンツ2を削除したとしても、マップ情報における仮想ディスクマップからはコンテンツ1およびコンテンツ2の情報は削除されない。
つまり、ドライブ制御部320は、仮想ディスクイメージにおいて既に記録されているコンテンツ2に続くように、すなわち仮想アドレス「0x650」を先頭アドレスとしてコンテンツ4を記録するようにディスクドライブ部330に指示する。
また、図14(c)に示すように、領域1からコンテンツ1およびコンテンツ2が削除されると、記憶部280におけるタイトル管理テーブルの内容も変更される。具体的には、領域1に記録されていたコンテンツ1およびコンテンツ2が削除されると、バックエンド制御部240は、記憶部280におけるタイトル管理テーブルにおけるコンテンツ1およびコンテンツ2の残りダビング回数および同期状態を示す情報を削除する。次に、コンテンツ4が領域1に記録されると、バックエンド制御部240は、コンテンツ4を示すタイトル(タイトル4)に関する情報をタイトル管理テーブルに登録する。
(コンテンツ再生動作)
次に、レコーダ装置100におけるコンテンツの再生動作について、図15〜図18を参照して以下に説明する。
コンテンツの再生処理は、操作入力部(不図示)を介して、ユーザからコンテンツ再生指示を受けた場合に、その処理が実行される。例えば、表示装置500に表示されているタイトルの再生をユーザが選択すると、バックエンド制御部240は、選択されたタイトルにより表されるコンテンツの再生指示を受けたとして当該コンテンツの再生処理を実行する。なお、表示装置500に表示されているタイトルは、バックエンド部200において認識されているタイトルである。バックエンド部200において認識されているタイトルは、記憶部280のタイトル管理領域に記録されているタイトル管理テーブルに登録されているタイトルと言い換えることができる。
なお、レコーダ装置100におけるコンテンツの再生動作は、マイディスクが装填されている場合の再生処理と、マイディスクが装填されていない場合の再生処理とに大別することができる。各再生処理について以下に説明する。
(マイディスクが装填されている場合の再生処理)
マイディスクが装填されている場合の再生処理について、図15および図16を参照して以下に説明する。図15は、コンテンツ1〜3を記録したディスク1が装填されている場合の記憶部340および記憶部280の状態を示す図である。図16は、マイディスクが装填されている場合において、再生時にコンテンツが読み出される媒体を模式的に示した図である。
図15に示すように、ドライブ部300には、コンテンツ1〜3が記録されているディスク1が装填されており、一方、記憶部340の領域1にコンテンツ1およびコンテンツ2が記録されているものとする。この場合、記憶部280のタイトル管理領域におけるタイトル管理テーブルには、タイトル1〜3に関する情報が記録されている。このため、バックエンド部200では、タイトル管理テーブルの情報を参照することで、タイトル1〜3により示されるコンテンツ1〜3を認識することができる。なお、図15では、タイトル管理テーブルの詳細については省略して示している。
このような前提において、マイディスクが装填されている場合の再生処理について説明する。まず、まず、ディスク1および領域1のいずれにも記録されているコンテンツ1を再生する場合について説明した後、ディスク1に記録されているが、領域1には記録されていないコンテンツ3を再生する場合について説明する。
まず、ユーザからコンテンツ1の再生指示を受け付けると、バックエンド制御部240は、ディスク1に記録されているコンテンツ1を読み出す命令を、インターフェース部290を介してドライブ部300に対して出力する。バックエンド制御部240からの命令を受けたドライブ制御部320は、マップテーブルを参照して、ディスク1に記録されているコンテンツ1が領域1に記録されているか否かを判定する。
このとき、コンテンツ1は領域1に記録されているコンテンツであるため、ドライブ制御部320は、バックエンド制御部240から受けたディスク1からの読み出し命令を、マップテーブルを参照して、領域1からの読み出し命令に変換する。すなわち、ドライブ制御部320は、ディスク1においてコンテンツ1が格納されているアドレスを、マップテーブルを参照して、領域1の物理アドレスに変換する。
上述のように領域1の物理アドレスに変換すると、ドライブ制御部320は、この物理アドレスを参照して領域1からコンテンツ1を読み出す。そして、ドライブ制御部320は、読み出したコンテンツ1を、インターフェース部310を介してバックエンド部200に出力する。
このように、読み出しの対象となるコンテンツがマイディスクにも記憶部340にも記録されている場合、図16に示すように、コンテンツ1は記憶部340から読み出される。
次に、ディスク1に記録されているが、領域1には記録されていないコンテンツ3を再生する場合について説明する。
まず、ユーザからコンテンツ3の再生指示を受け付けると、バックエンド制御部240がディスク1に記録されているコンテンツ3を読み出す命令を、インターフェース部290を介してドライブ部300に対して出力する。バックエンド制御部240からの命令を受けたドライブ制御部320は、マップテーブルを参照して、ディスク1に記録されているコンテンツ3が領域1に記録されているか否かを判定する。このとき、コンテンツ3が領域1に記録されていないコンテンツであるため、ドライブ制御部320は、バックエンド制御部240から受けた上記読み出し命令にしたがって、ディスクドライブ部330に対してコンテンツ3の読み出しを指示する。この指示に応じて、ディスクドライブ部330がディスク1からコンテンツ3が読み出すと、読み出したコンテンツ3をドライブ制御部320に出力する。
ドライブ制御部320は、ディスクドライブ部330から受け付けたコンテンツ3を、インターフェース部310を介してバックエンド部200に出力する。
このコンテンツ3のように、読み出しの対象となるコンテンツが記憶部340に記録されていない場合、図16に示すように、コンテンツ3はマイディスクから読み出される。
(マイディスクが装填されていない場合の再生処理)
続いて、マイディスクが装填されていない場合の再生処理について、図17および図18を参照して以下に説明する。図17は、ドライブ部300に光ディスク10が装填されていない場合の記憶部340および記憶部280の状態を示す図である。図18は、マイディスクが装填されていない場合において、再生時にコンテンツが読み出される媒体を模式的に示した図である。
まず前提として、図17に示すように、記憶部340の領域1には、コンテンツ1およびコンテンツ2が記録されている。しかし、図15の場合とは異なり、ドライブ部300には、コンテンツ1〜3を記録するディスク1が装填されていないものとする。また、記憶部280におけるタイトル管理領域に記録されたタイトル管理テーブルには、タイトル1〜3に関する情報が記録されているものとする。このため、バックエンド部200では、タイトル管理テーブルを参照して、タイトル1〜3により表されるコンテンツ1〜3を認識することができる。なお、図17では、図15と同様に、タイトル管理テーブルの詳細については省略して示している。
図17に示すように、コンテンツ1〜3を記録した光ディスク10が未装填であり、記憶部340の領域1に、コンテンツ1、2が記録されている場合では、バックエンド部200において認識しているタイトル1〜3(コンテンツ1〜3)のうち、コンテンツ1およびコンテンツ2については再生することができる。しかしながら、ディスク1にのみ記録されているコンテンツ3については再生することができない。
つまり、図18に示すように、読み出しの対象となるコンテンツがマイディスクにも記憶部340にも記録されている場合には、マイディスクが装填されている場合と同様の処理により、ドライブ制御部320はコンテンツを記憶部340から読み出すことができる。しかし、ディスク1にのみに記録されているコンテンツについては、ドライブ制御部320は、読み出すことはできない。
(コンテンツ編集動作)
次に、レコーダ装置100におけるコンテンツの編集動作について、図19および図20(a)、(b)を参照しつつ以下に説明する。
コンテンツの編集処理は、操作入力部を介して、ユーザからのコンテンツ編集指示を受けることで実行される。例えば、表示装置500に表示されているタイトルの編集を、操作入力部を操作してユーザが選択する。このユーザによる選択操作に応じて、バックエンド部200が備えるバックエンド制御部240は、選択されたタイトルのコンテンツの編集指示を受け付ける。そして、バックエンド制御部240は、ユーザにより選択されたコンテンツの編集処理を実行する。なお、表示装置500に表示されているタイトルは、バックエンド部200において認識されているタイトルである。バックエンド部200において認識されているタイトルは、記憶部280のタイトル管理領域に記録されたタイトル管理テーブルに登録されているタイトルと言い換えることができる。そして、タイトル管理テーブルに登録されているタイトルは、バックエンド部200のバックエンド制御部240によって記録されている媒体を問わず編集処理を行うことができる。
レコーダ装置100におけるコンテンツ編集動作も、コンテンツ再生処理と同様に、マイディスクが装填されている場合の編集処理と、マイディスクが装填されていない場合の編集処理とに大別することができる。各編集処理について以下に説明する。
なお、上記コンテンツの編集処理とは、マイディスクまたは記憶部340に記録されているコンテンツの少なくとも一部のデータを変更する処理であり、具体的には、コンテンツにおけるシーン消去(コンテンツデータの一部変更)、コンテンツの削除およびコンテンツにおけるチャプターの追加等の処理が挙げられる。なお、ここではコンテンツにおけるシーン消去を例に挙げて説明するが、他の処理であっても同様に処理することができる。
(マイディスクが装填されている場合の編集処理)
マイディスクが装填されている場合の編集処理について、上述した図15および図19を参照して以下に説明する。図19は、マイディスクが装填されている場合において、コンテンツが編集される媒体を模式的に示した図である。
まず、前提として、図15に示すように、ドライブ部300には、コンテンツ1〜3を記録するディスク1が装填されており、記憶部340の領域1にコンテンツ1およびコンテンツ2が記録されているものとする。また、記憶部280のタイトル管理領域のタイトル管理テーブルには、タイトル1〜3に関する情報が記録されている。そして、バックエンド部200は、このタイトル管理テーブルを参照することで、タイトル1〜3により表されるコンテンツ1〜3を認識することができる。
マイディスクが装填されている場合の編集処理としては、まず、ディスク1および領域1のいずれにも記録されているコンテンツ1を編集する場合の処理について説明した後、ディスク1に記録されているが、領域1には記録されていないコンテンツ3を編集する場合の処理について説明する。
まず、ユーザから、光ディスク10に記録されたコンテンツ1の変更指示をバックエンド部200のバックエンド制御部240が受け付ける。そして、バックエンド制御部240は、上記変更指示を受け付けると、光ディスク10に記録されたコンテンツ1の変更命令を、インターフェース部290を介してドライブ部300に出力する。バックエンド制御部240から出力された命令を、ドライブ部300のドライブ制御部320が受け付けると、マップテーブルを参照して、ディスク1に記録されたコンテンツ1が領域1に記録されているか否かを判定する。
ここで、コンテンツ1は領域1に記録されているコンテンツである。このため、ドライブ制御部320は、バックエンド制御部240から受けた命令を、マップテーブルを参照して、領域1におけるデータを変更する命令に変換する。すなわち、ドライブ制御部320は、マップテーブルを参照して、ディスク1のアドレスを、領域1の物理アドレスに変換する。そして、領域1に記録されているコンテンツ1のデータの変更命令を出す。
このように、データを変更する対象となるコンテンツがマイディスクにも記憶部340にも記録されている場合、図19に示すように、記憶部340の領域1に記録されているコンテンツ1が変更されることになる。
しかし、このままではディスク1に記録されているコンテンツ1と、領域1に記録されているコンテンツ1とが異なったまま(非同期状態)となってしまうため、ドライブ制御部320は、領域1に記録されているコンテンツ1に対して行ったデータの変更をディスク1に記録されているコンテンツ1に対しても反映させる。このディスク1に記録されているコンテンツ1に対する変更の反映は、ディスク1がドライブ部300から取り出されるまでの間であればいつ行ってもよい。
ディスク1に記録されているが、領域1には記録されていないコンテンツ3のデータを変更する場合も上記した編集処理と同様にして実行することができる。
すなわち、ユーザから、光ディスク10に記録されたコンテンツ3の変更指示をバックエンド部200のバックエンド制御部240が受け付ける。そしてバックエンド制御部240は、上記変更指示を受け付けると、光ディスク10に記録されたコンテンツ3の変更命令を、インターフェース部290を介してドライブ部300に出力する。バックエンド制御部240から出力された命令を、ドライブ部300のドライブ制御部320が受け付けると、マップテーブルを参照して、ディスク1に記録されたコンテンツ3が領域1に記録されているか否かを判定する。
ここで、コンテンツ3は領域1に記録されていないコンテンツである。このため、ドライブ制御部320は、バックエンド制御部240から受けたディスク1に記録されているコンテンツ3の変更命令に応じて、ディスクドライブ部330に対してコンテンツ3のデータを変更するように指示する。
(マイディスクが装填されていない場合の編集処理)
続いて、マイディスクが装填されていない場合のコンテンツの編集処理について、図17および図20(a)、(b)を参照して以下に説明する。図20(a)、(b)は、マイディスクが装填されていない場合において、コンテンツが編集される媒体を模式的に示した図である。同図(a)はディスク1が装填されていないときの編集対象となる媒体を示す。同図(b)はディスク1が装填されたときの変更箇所のディスク1への反映を示している。
図17に示すようにマイディスクが装填されていない場合、バックエンド部200において認識しているタイトル1〜3のコンテンツ1〜3のうち、記憶部340の領域1に記録されているコンテンツ1およびコンテンツ2についてはディスク1が装填されている場合と同様にして編集処理を行うことができる。
また、図20(b)に示すコンテンツ2のように、例えば他のレコーダ装置においてディスク1に記録されたコンテンツ2が変更され、この変更後に該ディスク1が本実施の形態に係るレコーダ装置100に装填される場合がある。このような場合は、ドライブ制御部320は、コンテンツ2の変更を領域1に記録されているコンテンツ2に対して反映させる。このとき、エントリ1に記録されているマップテーブルについても併せて更新する。
(コンテンツコピー動作)
次に、レコーダ装置100におけるコンテンツのコピー動作について、図21(a)および(b)を参照して説明する。ここでは、レコーダ装置100における記憶部340内のメモリ内で行われるコピー動作を例に挙げて説明する。なお、メモリ内でのコピー動作とは、レコーダ装置100におけるメモリ内ダビング動作と言い換えることもできる。図21(a)および(b)は、レコーダ装置100におけるメモリ内コピー処理を示す図である。同図(a)は、メモリ内コピー処理後の記憶部340の状態を示す図である。また、同図(b)はメモリ内コピー処理後の記憶部280におけるタイトル管理領域の状態を示す図である。
このコンテンツのメモリ内におけるコピー動作は、操作入力部(不図示)を介し受け付けた、ユーザからのコンテンツコピー指示に応じて実行される。ユーザからのコンテンツコピー指示は、例えば以下のように実行される。すなわち、表示装置500に表示されている複数のタイトルの中から、ユーザが特定のタイトルを選択し、選択したタイトルをコピーする記憶部340の領域を指定する。このようにして、バックエンド部200が備えるバックエンド制御部240は、ユーザからのコンテンツコピー指示を受け付ける。
上記コンテンツコピー指示を受け付けると、バックエンド制御部240は、選択されたタイトルのコンテンツを指定された記憶部340の領域にコピーする指示を受けたものとして、このコンテンツのメモリ内におけるコピー処理を実行する。なお、表示装置500に表示されているタイトルは、バックエンド部200において認識されているタイトルである。バックエンド部200において認識されているタイトルは、記憶部280のタイトル管理領域に記録されているタイトル管理テーブルに登録されているタイトルと言い換えることができる。
例えば、ユーザから、領域1に記録されているコンテンツ2を領域2に記録するコンテンツコピー指示を受け付けた場合、バックエンド制御部240は、ドライブ制御部320に対して、以下の指示を行う。すなわち、バックエンド制御部240は、ドライブ制御部320に対して、領域1に記録されているコンテンツ2を領域2に記録するように指示する。このようにバックエンド制御部240からの指示を受けたドライブ制御部320は、図21(a)に示すように、コンテンツ2を領域2にコピーする。このとき、ドライブ制御部320は、エントリ2に記録されているマップテーブルもあわせて更新する。なお、領域2におけるコンテンツ2の記録およびそれに伴うマップテーブルの更新については、録画動作において説明した処理と同様であるため、ここでの説明は省略する。
コンテンツ2の領域2への記録が完了すると、バックエンド制御部240は、ディスク1のタイトル管理領域に記録されているタイトル管理情報におけるコンテンツ2の残りダビング回数を1減算する。また、ディスク2のタイトル管理領域に記録されているタイトル管理情報におけるコンテンツ2の残りダビング回数を1加算する。これによって、図20(b)に示すように、ディスク1のタイトル管理領域におけるコンテンツ2の残りダビング回数は「8」となり、ディスク2のタイトル管理領域におけるコンテンツ2の残りダビング回数は「1」となる。
なお、図21(a)に示すように、ディスク2はドライブ部300に装填されていないため、領域2に記録されているコンテンツ2の同期状態は、未同期を表す情報となる。
(マイディスクの登録解除)
次に、マイディスクの登録解除処理について説明する。ここでは、ユーザからディスク1の登録解除指示を受けた場合を例に挙げ説明する。
ユーザからのディスク1の登録解除指示を受け付けると、バックエンド制御部240は、その指示をドライブ部300のドライブ制御部320に出力する。上記ディスク1の登録解除指示を受け付けると、ドライブ制御部320は、記憶部340において記録されている、ディスク1に対応付けられた領域を管理する管理情報を消去する。すなわち、ドライブ制御部320は、エントリにおいて、ディスク1のメディアID情報、メディアキー情報、およびマップ情報を削除すると共に、割り当てフラグを、割り当てが行われていないことを示す「0」に変更する。また、領域にデータが記録されている場合には、記録されているデータも消去する。これによって、記憶部340におけるエントリは、新たなマイディスクの登録が可能な状態となる。
また、ユーザからのディスク1の登録解除指示を受けたバックエンド制御部240は、記憶部280におけるディスク1のタイトル管理領域に記録されているタイトル管理情報を削除する。これによって、バックエンド部200において、ディスク1に記録されていたコンテンツを示すタイトルを認識することができなくなる。
(マイディスクのファイルシステムの利用)
また、本実施の形態に係るレコーダ装置100では、マイディスクとして登録されている光ディスク10へのデータの書き込み、および光ディスク10からのデータの読み出しは、マイディスクとして登録されている光ディスク10から取得したファイルシステムを用いるように構成されている。
そこで、以下において光ディスク10から取得したファイルシステムを利用したデータ管理について、図22(a)〜(c)を参照して説明する。図22(a)〜(c)は、ファイルシステムを用いたデータ管理を示す図である。同図(a)は記憶部280に記録されているファイルシステムの一例を示し、同図(b)は領域1におけるコンテンツの記録状態に対応するディスク1の記録状態の対応関係を示す。同図(c)はファイル毎のマップテーブルを示す。
通常、光ディスク10には、この光ディスク10の種類毎に規格によって定められたファイルシステムが記録されている。そして、このファイルシステムによって、光ディスク10に記録されている各ファイルと、光ディスク10においてこの各ファイルが記録されているアドレスとが関連づけられるようになっている。なお、ファイルシステムは、光ディスク10の記録領域における先頭部分に記録されていることが多い。
バックエンド部200では、データの読み出し、あるいはデータの書き込みの対象となる光ディスク10のアドレスを指定するために、光ディスク10から取得したファイルシステムを参照する。ファイルシステムは、光ディスク10が装填された時に、メディアIDなどと共に取得され、バックエンド部200の揮発性メモリに保持される。また、予期しない電源断などに対応するために、取得したファイルシステムは、記憶部280にも保持される(図22(a))。バックエンド部200では、光ディスク10が装填されるたびに光ディスク10からファイルシステムを取得し、取得したファイルシステムと自装置に記録されているファイルシステムとを比較して、最新の状態が維持されるようにしている。
すなわち、バックエンド部200は、マイディスクとして登録されている光ディスク10から読み出したファイルシステムと、既に記憶部280に記録されているファイルシステム(その光ディスク10から直近に読み出したファイルシステム)とを比較することにより、バックエンド部200は光ディスク10に記録されていて記憶部340に記録されていないコンテンツの情報(例えば、そのコンテンツの記録されている光ディスク10のアドレス、そのコンテンツを示すタイトル情報など)を取得する。
なお、図22(a)には、ディスク1に関するファイルシステムについてのみ示しているが、記憶部280のファイルシステム管理領域には、マイディスクとして登録されているディスクの数だけファイルシステムが記録されている。
このように、マイディスクとして登録している光ディスク10のファイルシステムを記憶部280に記録することにより、バックエンド部200は、光ディスク10が装填されていない状態であったとしても、記憶部280に記録されているファイルシステムを参照して仮想ディスクイメージ上のファイルへのアクセスが可能となる。すなわち、マイディスクが装填されていない場合であっても、あたかもマイディスクが装填されているかのようにデータを扱うことができる。例えば、記憶部340のマップ情報において、アクセス対象とする仮想アドレスに対応する記憶部340のアドレスが記録されている場合には、記憶部340のアドレスを用いて、当該アドレスに記録されているデータを読み出すことができる。
さらに、図22(b)、(c)に示すように、コンテンツ1が複数の断片化されたファイルに分割されて光ディスク10に記録されている場合であっても、バックエンド制御部240は、記憶部280に記録されているファイルシステムにおけるコンテンツ1の配置情報を参照することにより、コンテンツ1に対して的確にアクセスすることができる。
このように、記憶部340に記録されているマップ情報は、本実施形態ではコンテンツごとの配置情報として示しているが、より正確には、図21(c)に示すように、領域(ファイル)ごとの配置情報を示すものである。
また、マイディスクの登録解除の際には、ファイルシステム管理領域に記録されているファイルシステムについても、タイトル管理情報と併せて削除される。
(表示装置における表示例)
次に、表示装置500におけるコンテンツとタイトルリストに記録されている情報との表示例について、図23を参照して説明する。図23は、表示装置500上でのコンテンツおよびタイトルリストに記録されている情報の表示を概略的に示す図である。
まず、操作入力部(不図示)を介してユーザがタイトルリストの表示をレコーダ装置100に対して指示する。この指示に応じて、表示装置500では、タイトルリストおよびコンテンツが図23に示すように表示される。
すなわち、図23に示すように、表示装置500における表示画面は、これまで視聴していたコンテンツを引き続き表示するコンテンツ表示部510と、タイトルリストを表示するタイトルリスト表示部520との2つの画面に分割されることになる。
タイトルリスト表示部520には、図23に示すように、登録されているマイディスクに対応するタブが表示される。ユーザがタイトルリストの確認を所望するマイディスクのタブを選択することにより、タイトルリスト表示部520には、ユーザの選択したマイディスクのタイトルリストが表示されることになる。すなわち、記憶部280における各マイディスクのタイトル管理領域に記録されているタイトル管理テーブルの情報が表示される。
図23では、ディスク1のタブを選択したときのタイトルリストを示している。このとき、選択しているディスクを表す情報(アイコン)を表示部530に表示することが好ましい。また、ユーザがタイトルリスト表示部520に表示されている各タイトルを選択した場合には、仮選択したタイトルにより示されるコンテンツのサムネイルを表示部530に表示することが好ましい。
本実施の形態に係るレコーダ装置100は、上記した機能(1)から(4)に加え、光ディスク10に記録されたコンテンツの再生時に、読取りエラーが発生するデータ部分を補完する再生データ補完機能をさらに有する。
ところで、レコーダ装置100では、通常、図24に示すように、ドライブ制御部320の制御指示の下、ディスクドライブ部(光ディスクドライブ部)330によって読み出されたコンテンツは、インターフェース部310を介してバックエンド部200に出力される。
一方、バックエンド部200では、バックエンド制御部240の制御指示の下、ドライブ部300(データ読み取り装置)から出力されたコンテンツは、バッファ部250に一時格納され、デコーダ部260、画像処理部270を介して、表示装置500に出力される。なお、この図24は、本発明の実施形態を示すものであり、レコーダ装置100における、読み出したコンテンツの流れを説明する図である。
しかしながら、本実施の形態に係るレコーダ装置100では、ディスクドライブ部330によって読み出されたコンテンツに、所定数を上回るエラー箇所が含まれている場合、そのエラー箇所のデータについて、ディスクドライブ部330のパラメータを変更して再読み込みを行う。そして、再読み込みの結果、エラー数が所定数以下となった場合、その所定数以下となったデータを補完データ32として記憶部(訂正データ記憶装置・テーブル情報記憶装置)340に記憶させる構成である。
すなわち、図25に示すように、光ディスク10から読み出されたコンテンツのうち、所定数以上のエラーを含むデータを再読み込みして得た補完データ32が記憶部340に格納される。そして、次回の光ディスク10からのコンテンツ読み出し時に、所定数以上のエラーを含む箇所については、記憶部340からこの補完データ32が読み出される。この補完データ32は、記憶部340を領域1〜領域nに仮想的に分割した時に生じる余りの領域(予備領域)に記憶される。図25は、本発明の実施形態を示すものであり、読み出したコンテンツの流れと、補完データの流れを説明する図である。
なお、本実施の形態に係るレコーダ装置100では、光ディスク10から読み出したコンテンツにおける10クラスタ(1クラスタ=64キロバイト)分のデータに対して、エラーがいくつ発生するかカウントするように構成されている。そこで、この10クラスタ分のデータを部分コンテンツと称する。なお、上記エラーの所定数は、コンテンツの視聴に影響を与えないエラー数の範囲内で設定される。
以下に、図1、図26〜28を参照して、上記再生データ補完機能を実現する補完処理について説明する。まず、図1を参照して、補完処理に係るドライブ制御部320のソフトウェア構成について説明する。図1は、本発明の実施形態を示すものであり、補完処理に係るドライブ制御部320のソフトウェア構成を示すブロック図である。
(ドライブ制御部のソフトウェア構成)
すなわち、ドライブ制御部320は、図1に示すように、機能ブロックとして再生開始指示受け付け部21、補完データ確認部(判定手段)22、データ読み出し部23、エラー数取得部(算出手段)24、およびパラメータ変更指示部(訂正手段)25を備えてなる構成である。これら各部は、ドライブ制御部320が例えばCPU等によって実現される場合、そのCPUがプログラムを不図示のROM等から読み出し、不図示のRAM等において実行することで実現できる。また、データ読み出し部23とディスクドライブ部330とによって本発明の読取り手段を実現する。
再生開始指示受け付け部21は、バックエンド制御部240から、光ディスク10に記録されたコンテンツ(データ)の読み出し命令(読取り指示)、すなわち再生開始指示を受信するものである。再生開始指示受け付け部21は、この再生開始指示を受信すると、ディスクドライブ部330に光ディスク10からコンテンツの読み出しを指示する。
補完データ確認部22は、部分コンテンツ用のマップ情報(対応テーブル情報)31を参照し、光ディスク10から読み出した部分コンテンツに対応する補完データ(訂正データ)が記憶部340に記録されているか否か判定するものである。本実施形態では、部分コンテンツはそれぞれファイル名が付され、該ファイル名によって管理されるようになっている、そして、マップ情報31には、図26に示すように、光ディスク10における部分コンテンツの記録位置を示す、仮想ディスクマップの情報と、記憶部340における補完データ32の記録位置を示す、メモリマップの情報との対応関係が記録されている。図26は、本発明の実施形態を示すものであり、マップ情報の一例を示す図である。
なお、上記仮想ディスクマップの情報には、部分コンテンツの該仮想ディスクマップにおける先頭アドレスおよびデータサイズが記録されている。一方、上記メモリマップの情報には、記憶部340における補完データ32の先頭アドレスおよびデータサイズが記録されている。
つまり、図26の例では、仮想ディスクマップにおける先頭アドレスが「0X0070」であるため、部分コンテンツは、光ディスク10において「0X0070」を先頭に記録されたデータであることが分かる。また、メモリマップにおける先頭アドレスが「0X0045」であるため、この部分コンテンツに対応する補完データ32は、記憶部340において「0X0045」を先頭に記録されていることが分かる。
したがって、補完データ確認部22は、このマップ情報31を参照することで、読み出した部分コンテンツに対応する補完データ32が記憶部340に格納されているか否か判定することができる。
データ読み出し部23は、補完データ確認部22からの指示に応じて、記憶部340から補完データ32を読み出したり、光ディスク10から部分コンテンツを読み出したりするものである。また、このデータ読み出し部23は、読み出した補完データ32によりコンテンツにおけるエラー発生部分を補完したデータをバックエンド部200に出力するようにインターフェース部310に指示するものでもある。
ここで、例えば、エラーの発生要因が光ディスク10についた傷であるとし、傷が無い光ディスク10では図27(a)のように再生信号が取得されるとする。一方、傷がある光ディスク10では、図27(b)のように再生信号の一部が欠損してしまうとする。この欠損した部分がエラー発生部分である。データ読み出し部23は、この欠損部分に補完データを組み合わせ図27(c)のように再生信号を復元し、バックエンド部200に出力する。なお、図27は、ディスクドライブ部330にて読み出した再生信号の一例を示すものであり、同図(a)は、正しい再生信号の一例を示し、同図(b)は、エラーを含んだ再生信号の一例を示し、同図(c)は、エラー部分を補完データ32により補った場合の再生信号の一例を示す。
エラー数取得部24は、部分コンテンツにおいて発生するエラー数Mを取得する。そして、エラー数取得部24は、取得したエラー数Mが所定数(Limit)以下か否か判定するものである。すなわち、エラー数取得部24は、図27(b)に示すエラー発生部分がいくつ発生しているかカウントして、エラー数Mを取得する。なお、エラー数取得部24は、次のようにしてエラー数Mをカウントする。すなわち、部分コンテンツのデータにはパリティ符号が付加されており、エラー数取得部24が、部分コンテンツの読み出し時に生成するパリティと比較し、エラー数の演算を行う。
エラー数取得部24は、取得したエラー数Mが所定数(Limit)以下であると判定した場合、部分コンテンツをバックエンド部200に出力するように、データ読み出し部23に対して指示する。一方、取得したエラー数Mが所定数(Limit)より大きくなる場合(S14において「NO」)、エラー数取得部24は、パラメータ変更指示部25にディスクドライブ部330において設定されているパラメータの設定変更を指示する。なお、取得したエラー数Mが所定数(Limit)より大きくなる部分コンテンツが、本発明の訂正対象部分である。また、所定数(Limit)が本発明の所定値である。
パラメータ変更指示部25は、ディスクドライブ部330において設定されているパラメータを変更するものである。ディスクドライブ部330において設定されているパラメータとしては、例えば、リード系では、ディスクドライブ部330が備える等化器(不図示)の特性を規定するパラメータが挙げられる。なお、この等化器とは、光ディスク10から読み出されたアナログ波形からディジタルデータを再生する際に最適な等化特性を得るためのものである。また、サーボ系では、例えば、ディスクドライブ部330において、フォーカス、トラッキング、チルトに関して設定されているパラメータが挙げられる。
(補完処理のフローチャート)
次に、上記した構成を有するドライブ制御部320における補完処理に関する処理の流れを図28を参照して説明する。図28は、本発明の実施形態を示すものであり、補完処理の一例を示すフローチャートである。
まず、前提として、本実施の形態に係るドライブ部300は、ディスクドライブ部330が光ディスク10から読み出したコンテンツをキャッシュメモリ26に一時格納する構成である。そして、ドライブ部300は、「補完処理」を、キャッシュメモリに一時格納したコンテンツにおける10クラスタ(1クラスタ=64キロバイト)分のデータ(部分コンテンツ)に対して順次行うようになっている。
まず、ドライブ部300が備えるドライブ制御部320に、バックエンド制御部240から光ディスク10に記録されたコンテンツを読み出す命令(再生開始指示)が入力されると、この命令(再生開始指示)を再生開始指示受け付け部21が受信する(ステップS10、これ以降S10のように称する)。
再生開始指示受け付け部21は、上記命令(再生開始指示)を受信すると、ディスクドライブ部330に光ディスク10からコンテンツの読み出しを指示する。さらに、再生開始指示受け付け部21は、補完データ確認部22に対して、記憶部340に補完データ32が記録されているか否か確認するように指示する。
補完データ確認部22は、再生開始指示受け付け部21から受信した指示に応じて、マップ情報31を参照し、光ディスク10から読み出す部分コンテンツに対応する補完データ32が記憶部340に記録されているか否か判定する(S11)。
この判定の結果、記憶部340に補完データ32が存在する場合(S11において「NO」)、補完データ確認部22は、データ読み出し部23に、上記補完データ32と上記部分コンテンツとの読み出しを指示する。
この補完データ確認部22からの指示に応じて、データ読み出し部23は、記憶部340から補完データ32を読み出す(S17)。また、データ読み出し部23は、さらにキャッシュメモリ26から上記部分コンテンツを読み出す(S18)。そして、読み出した補完データ32により部分コンテンツにおけるエラー発生部分を補完したデータをバックエンド部200に出力するようにインターフェース部310に指示する。この指示に応じて、インターフェース部310は、補完データ32により補完された部分コンテンツをバックエンド部200に出力する(S19)。そして、次の10クラスタ分の部分コンテンツに対してステップS11からの処理を繰返す。
一方、ステップS11における判定の結果、記憶部340に補完データ32が存在しない場合(S11において「YES」)、補完データ確認部22は、データ読み出し部23にデータの読み出しを指示する。データ読み出し部23は、補完データ確認部22からの指示に応じて、キャッシュメモリ26から10クラスタ分の部分コンテンツを読み出す(S12)。
データ読み出し部23は部分コンテンツを読み出すと、エラー数取得部24に、読み出した10クラスタ分の部分コンテンツを送信するとともに、該部分コンテンツにおいて発生するエラー数を確認するように指示する。この指示に応じて、エラー数取得部24は、上記部分コンテンツにおいて発生するエラー数Mを取得する。そして、エラー数取得部24は、取得したエラー数Mが所定数(Limit)以下か否か判定する(S14)。
エラー数取得部24が、取得したエラー数Mが所定数(Limit)以下であると判定した場合(S14において「YES」)、読み出した部分コンテンツをバックエンド部200に出力するように、データ読み出し部23に対して指示する。この指示に応じて、データ読み出し部23は、読み出した部分コンテンツをバックエンド部200に出力するようにインターフェース部310に指示する。この指示に応じて、インターフェース部310は、部分コンテンツをバックエンド部200に出力する(S15)。そして、コンテンツについて、その部分コンテンツ全てが光ディスク10から読み出され再生が終了すると(S16において「YES」)、ドライブ制御部320は補完処理を終了する。一方、光ディスク10から部分コンテンツ全てが読み出されていない場合(S16において「NO」)、ドライブ制御部320は、次の10クラスタ分の部分コンテンツに対してステップS11からの処理を繰返す。
一方、取得したエラー数Mが所定数(Limit)より大きくなる場合(S14において「NO」)、エラー数取得部24は、パラメータ変更指示部25にディスクドライブ部330において設定されているパラメータの設定変更を指示する。このエラー数取得部24からの指示に応じて、パラメータ変更指示部25は、ディスクドライブ部330において設定されているパラメータを変更する(S20)。
パラメータ変更指示部25は、ディスクドライブ部330において設定されたパラメータを変更させると、変更が完了した旨、データ読み出し部23に通知する。データ読み出し部23は、パラメータ変更指示部25からの通知に応じて、変更後のパラメータ設定の下で、ディスクドライブ部330に現在読み出している部分コンテンツの再読み出しを指示する。データ読み出し部23からの指示に応じて、ディスクドライブ部330は、光ディスク10から上記部分コンテンツの再読み出しを行い、キャッシュメモリ26に出力する。データ読み出し部23は、キャッシュメモリ26に出力された、部分コンテンツを読み出す(S21)。
データ読み出し部23が、再度読み出した部分コンテンツを取得すると、エラー数取得部24がこの読み出した部分コンテンツにおいて発生するエラー数Mを取得し(S22)、取得したエラー数Mが所定数(Limit)以下であるか否か判定する(S23)。なお、このステップS22およびS23の処理の詳細については、ステップS13、14と同様であるため省略する。
エラー数取得部24は、エラー数Mが所定数以下であると判定した場合(S23において「YES」)、パラメータ設定の変更後に読み出した部分コンテンツを補完データとして記憶部340に保存するようにデータ読み出し部23に指示する。この指示に応じて、データ読み出し部23は、パラメータ設定の変更後に読み出した部分コンテンツを補完データとして記憶部340に保存する(S24)。そして、次の10クラスタ分の部分コンテンツに対してステップS11からの処理を繰返す。
一方、エラー数取得部24は、エラー数Mが所定数より大きいと判定した場合(S23において「NO」)、データ読み出し部23に指示して、部分コンテンツの再読み出しをn回より多く行ったか否か判定させる(S25)。データ読み出し部23が、n回以下であると判定している間は、ステップS20からS23の処理を繰返す。そしてデータ読み出し部23がn回を越えたと判断した場合(S25において「NO])、コンテンツにおける次の10クラスタ分の部分コンテンツに対してステップS11からの処理を繰返す。
以上のようにして、本実施の形態に係るドライブ部300は、補完処理を実行する。
なお、本実施の形態に係る補完処理では、ステップS20から23までの処理回数が、n回を上回る場合、現在読み出している部分コンテンツの次に再生される、新たな部分コンテンツに対してステップS11からの処理を繰返すようなっている。
これは、何回もパラメータ設定変更を行い、その都度、部分コンテンツの再読み出しを行っていると、再生処理に係る時間が大きくなってしまう。このため、再生処理中では、パラメータの設定変更を行い、再度読み出す回数に制限が設けられている。その結果、光ディスク10から読み出されるコンテンツは、エラー数が所定数(Limit)以上のままである部分コンテンツを含んだままとなる場合がある。
そこで、本実施の形態に係るドライブ部300は、再生処理の終了後、再生処理や記録処理が行われていない期間に、パラメータの設定変更を行ったが十分にエラー数を低減できず、所定数以上のエラー数を含む部分コンテンツに対して、上記したステップS20からS25の処理を再度行うように構成されている。つまり、再生処理または記録処理が行われていない期間に、エラー数が所定数を越える部分コンテンツについて、再度、ディスクドライブ部330において設定されているパラメータを変更し、読み込みを行う。
なお、再生処理または記録処理が行われていない期間では、再生処理中よりも、パラメータの設定変更に利用できる時間が長い。このため、上記ステップS25で設定した上限nよりも大きい回数を設定することができる。
本実施の形態に係るドライブ部300は、以上のように、2回目以降の光ディスク10からのコンテンツの読取りでは、記憶部340に記憶した補完データ32を利用することができる。このため、2回目以降の光ディスクからのコンテンツの読み出しでは、補完データ32を生成する必要がなく、エラー数が低減された良好なデータを効率よく出力することができる。
最後に、ドライブ制御部320が備える各ブロック、特に再生開始指示受け付け部21、補完データ確認部22、データ読み出し部23、エラー数取得部24、およびパラメータ変更指示部25は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、ドライブ制御部320は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるドライブ制御部320の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記ドライブ制御部320に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、ドライブ制御部320を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
なお、上記補完データ32は、記憶部340を領域1〜領域nに仮想的に分割した時に生じる余りの領域(予備領域)に記憶される構成であった。しかしながら、補完データ32が記憶される場所はこれに限定されるものではない。例えば、光ディスク10から読み出したコンテンツが格納されている領域(領域1〜領域n)に記憶されてもよいし、バックエンド部200が備える記憶部280に記憶されてもよい。
また、上記ドライブ部300は、ディスクドライブ部330に設定されているパラメータを変更し、変更後に部分コンテンツを再度読込む構成であった。そして、このパラメータ変更後に読込まれた、部分コンテンツにおけるエラー数をカウントする構成であった。しかしながら部分コンテンツの読取り結果におけるエラー数の低減方法は、上記したパラメータの設定変更に限定されるものではなく、エラー発生箇所に対してドライブ制御部320が誤り訂正処理を施する構成であってもよい。そして、誤り訂正処理後のデータを再度読み込み、読込んだデータにおけるエラー数をカウントする構成であってもよい。あるいは、上記したパラメータの設定変更に加え、誤り訂正処理を施してエラー数の低減を図る構成であってもよい。
また、本実施の形態に係るドライブ部300は、再生処理の終了後、再生処理や記録処理が行われていない期間に、パラメータの設定変更を行ったが十分にエラー数を低減できず、所定数以上のエラー数を含む部分コンテンツに対して、上記したステップS20からS25の処理を再度行うように構成されていた。つまり、再生処理または記録処理が行われていない期間に、エラー数が所定数を越える部分コンテンツについて、再度、ディスクドライブ部330において設定されているパラメータを変更し、読み込みを行う構成であった。
しかしながら、ドライブ部300は、十分にエラー数を低減できず、所定数以上のエラー数を含む部分コンテンツのみならず、パラメータの設定変更によりエラー数が低減した部分コンテンツについても、上記したステップS20からS25の処理を再度行うように構成されていてもよい。そして、記憶部340に記憶している補完データ32よりもエラー数が少ないデータが得られた場合、補完データ32をよりエラー数が少ないデータに更新する構成としてもよい。
このように構成される場合、ドライブ部300では、よりエラー数を低減させた良好なデータを再生することができる。しかしながら、エラー数がある一定基準(所定数)以下の部分コンテンツに対しても、ステップS20からS25の処理を実行するため処理が煩雑となる。
また、本実施の形態に係るドライブ部300では、ステップS20からS25の処理を再生処理時に行う構成であった。しかしながら、これらステップS20からS25の処理は、再生処理や記録処理が行われていない期間でのみ行うように構成されていてもよい。
このように構成される場合、ステップS20からS25の処理により再生処理の進行が妨げられないという利点があるが、再生処理時に出力するコンテンツは、エラー数が所定数を上回る部分コンテンツを含んだものとなってしまうという問題が生じる。このため、本実施の形態に係るドライブ部300のように、ステップS20からS25の処理を再生処理時と、再生処理や記録処理が行われていない期間とで行う構成の方が好ましい。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。