説明

記録再生装置、キャッシュ処理方法、プログラム、および記録媒体

【課題】光ディスクに記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生すると共に、コンテンツの再生開始位置を先頭に変更した場合も、待ち時間を発生させることなく、コンテンツの再生を継続する。
【解決手段】記録再生装置1は、ディスク2に記録されている再生キャッシュコンテンツの冒頭部分を、冒頭キャッシュとして不揮発性メモリ54に蓄積する冒頭キャッシュ蓄積部46と、光ディスクに記録されているコンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、再生キャッシュとして不揮発性メモリ54に蓄積する再生キャッシュ蓄積部58とを備え、再生対象データが冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした冒頭キャッシュまたは再生キャッシュを不揮発性メモリ54から読み出して再生する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、光ディスクを用いる記録再生装置、キャッシュ処理方法、プログラム、および記録媒体に関する。
【背景技術】
【0002】
従来、コンテンツを記録するためのデバイスとして、各種のものが提案され、開発されている。たとえば、ハードディスク、光ディスク、およびフラッシュメモリなどが代表的である。これらのデバイスには一長一短があり、その特性を生かせる用途に利用されている。
【0003】
たとえば光ディスクは、持ち運び可能であり、かつ小型でありながら、大量の記録容量を有している。そこで、映画やゲームなどのマルチメディアコンテンツを販売する用途に広く用いられている。また、こうした光ディスクを再生するプレーヤ装置も、従来、活発に開発され、かつ販売されている。光ディスクには再生のみが可能な種類に加え、記録が可能な種類のものもある。そこで、こうした光ディスクを用いて放送番組を録画するレコーダ装置の開発も盛んになっている。
【0004】
特に近年では、高画質、高音質、かつ大容量の特性を併せ持つ光ディスクであるブルーレイディスクの開発および普及が盛んになっている。ブルーレイディスクは、多層化の技術によって容量をさらに増やす方向に進化しつつある。さらには、より一層の記憶容量を有する次世代の光ディスクの開発も進められている。
【0005】
しかし、光ディスクには技術上の一定の制約がある。特に、光ディスクを光ディスクドライブに挿入してから、光ディスクからデータを読み書きできるようになるまでに、かなりの時間を要することがよく知られている。光ディスクドライブには、光ディスクを読み書きするために必要な各種のメカニカル機構が存在する。これらは、光ディスクを光ディスクドライブに挿入するたびに調整する必要があり、その調整に時間を要するのである。なぜなら、光ディスクには様々な種類のものが存在して、かつメーカーごとに特性が異なるため、光ディスクごとに最適な調整値が異なるからである。
【0006】
そこで、光ディスクに利用する際の利便性を高めるべく、各種の技術が提案されている。
【0007】
特許文献1には、光ディスクがドライブ装置に装着された場合、その対応するキャッシュデータを磁気ディスク装置から読み出し、ドライブ装置に対応するキャッシュメモリに記憶するデータ記憶装置が開示されている。この装置によれば、アクセス時間が遅くなることなく、格納するデータ量を増大させることができる。
【0008】
特許文献2には、光ディスクの2次キャッシュとしてハードディスクを使用するキャッシュ装置が開示されている。この装置によれば、光記録媒体に対するアクセス時間を向上するためのコスト効率のよい、技術的に効果的なキャッシュが実現される。
【0009】
特許文献3には、コンテンツの再生位置を示す再生情報を、不揮発性の記憶手段に記憶させ、コンテンツをレジューム再生する際、記憶手段に記憶された再生情報を参照する簡易レジューム装置が開示されている。この装置によれば、映像および音声を再生中に電源供給の停止等によって再生が停止した場合であっても、レジューム再生を実行できる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開平6−52027号公報(1994年2月25日公開)
【特許文献2】特開平7−225714号公報(1995年8月22日公開)
【特許文献3】特開2003−77222号公報(2003年3月14日公開)
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかし、特許文献1および2の技術では、再生済みのデータをキャッシュしているにすぎない。したがって、コンテンツを先送りして再生する場合、これから再生に必要になるデータは光ディスクから読み出さざるを得ない。そのため、いくらキャッシュを持っていたとしても、先送り再生時に一定の待ち時間が発生する。
【0012】
また、特許文献3の技術では、再生位置情報を記憶してそこからレジューム再生できるにすぎない。すなわち、レジューム再生後にコンテンツを先送りして再生する場合、これから再生が必要になるデータを光ディスクから読み出さざるを得ない。そのため、先送り再生時に一定の待ち時間が発生する。
【0013】
さらには、コンテンツの再生中に、再生開始位置をコンテンツの先頭近辺に移動させた場合も、ディスクからデータを読み出さざるを得ないので、再生継続のために一定の待ち時間が発生する。
【0014】
本発明は上記の課題を解決するためになされたものであり、その目的は、光ディスクに記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生すると共に、コンテンツの再生開始位置を先頭に変更した場合も、待ち時間を発生させることなく、コンテンツの再生を継続する記録再生装置、キャッシュ処理方法、プログラム、および記録媒体を提供することにある。
【課題を解決するための手段】
【0015】
本発明に係る記録再生装置は、上記の課題を解決するために、
コンテンツが記録されている光ディスクが挿入される光ディスクドライブと、不揮発性メモリとを備え、当該コンテンツを再生する記録再生装置であって、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツの冒頭部分を、冒頭キャッシュとして上記不揮発性メモリに蓄積する冒頭キャッシュ蓄積手段と、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、再生キャッシュとして上記不揮発性メモリに蓄積する再生キャッシュ蓄積手段と、
上記コンテンツにおける再生対象データが、上記冒頭キャッシュおよび上記再生キャッシュのうちいずれにヒットするかを判定するキャッシュヒット判定手段と、
上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生するキャッシュ再生手段とを備えていることを特徴としている。
【0016】
上記の構成によれば、記録再生装置は、光ディスクドライブに挿入されている光ディスクに記録されているコンテンツの冒頭部分を、冒頭キャッシュとして不揮発性メモリに蓄 積する。冒頭部分とは、コンテンツの先頭から一定時間または一定サイズのデータを意図している。どこまでを冒頭部分とするかは、記録再生装置において予め決まっていたり、または記録再生装置が動作の状況や光ディスクの特性に応じて動的に決めたりする。
【0017】
また、記録再生装置は、光ディスクドライブに挿入されている光ディスクに記録されているコンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、再生キャッシュとして不揮発性メモリに蓄積する。再生開始位置からどこまでを再生キャッシュとして蓄積するかは、記録再生装置において予め決まっていたり、または記録再生装置が動作の状況や光ディスクの特性に応じて動的に決めたりする。
【0018】
光ディスクドライブは一般に、トラック追従型でのデータ先読みしかできない。したがって、コンテンツが光ディスク上に断片的に配置されている場合において、コンテンツの先送り再生をしようとしたとき、続き部分のデータの検索および読み出しに一定の時間を要する。これにより、続き部分の再生開始までに待ち時間が発生する。
【0019】
そこで、本発明の記録再生装置は、コンテンツにおける再生対象データが、冒頭キャッシュまたは再生キャッシュにヒットする場合、ヒットした冒頭キャッシュまたは再生キャッシュを不揮発性メモリから読み出して再生する。
【0020】
冒頭キャッシュは、コンテンツの冒頭部分における一定量のデータとして蓄積されている一方、再生キャッシュは、再生開始位置よりも後に再生される一定量のデータとして蓄積されている。したがって、コンテンツの再生中において早送り再生が行われた結果、再生位置が現在の位置からそれよりも後の位置に変更された場合、当該変更された位置のデータが再生キャッシュとして蓄積済みであれば、当該データを光ディスクから読み出すのではなく、その再生キャッシュを不揮発性メモリから読み出すことができる。すなわち、その箇所のデータを光ディスクから読み出す必要がないので、データ(再生キャッシュ)を素早く読み出して再生できる。
【0021】
また、コンテンツの再生位置が、現在の再生位置から先頭に変更された場合、その箇所のデータの冒頭キャッシュを不揮発性メモリから読み出すことができる。すなわち、その箇所のデータを光ディスクから読み出す必要がないので、データ(冒頭キャッシュ)を素早く読み出して再生できる。
【0022】
以上のように、記録再生装置は、光ディスクに記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生できる効果を奏する。また、コンテンツの再生開始位置を先頭に変更した場合も、待ち時間を発生させることなく、コンテンツの再生を継続することができる。
【0023】
本発明に係るキャッシュ処理方法は、上記の課題を解決するために、
コンテンツが記録されている光ディスクが挿入される光ディスクドライブと、不揮発性メモリとを備え、当該コンテンツを再生する記録再生装置が実行するキャッシュ処理方法であって、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツの冒頭部分を、冒頭キャッシュとして上記不揮発性メモリに蓄積する冒頭キャッシュ蓄積ステップと、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、上記不揮発性メモリに蓄積する再生キャッシュ蓄積ステップと、
上記コンテンツにおける再生対象データが、上記冒頭キャッシュおよび上記再生キャッシュのうちいずれにヒットするかを判定するキャッシュヒット判定ステップと、
上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生するキャッシュ再生ステップとを備えていることを特徴としている。
【0024】
上記の構成によれば、本発明に係る記録再生装置と同様の作用効果を奏する。
【0025】
上記キャッシュヒット判定手段は、
上記再生対象データが上記コンテンツにおける先頭近辺にある場合、再生対象データがまず上記冒頭キャッシュにヒットするか否かを判定し、ヒットしなければ次に上記再生キャッシュにヒットするか否かを判定し、
上記再生対象データが上記コンテンツにおける先頭近辺以外にある場合、再生対象データがまず上記再生キャッシュにヒットするか否かを判定し、ヒットしなければ次に上記冒頭キャッシュにヒットするか否かを判定することが好ましい。
【0026】
上記の構成によれば、再生対象データを、その位置に応じてよりヒットする可能性が高い方のキャッシュと比較する。したがって、再生対象データが冒頭キャッシュまたは再生キャッシュにヒットするか否かを、効率よく判定できる。
【0027】
本発明に係る記録再生装置は、上記再生キャッシュとして上記不揮発性メモリに蓄積されているデータが、上記コンテンツの上記冒頭部分であり、かつ上記冒頭キャッシュとして不揮発性メモリに蓄積していない場合、当該データを上記冒頭キャッシュに割り当てる冒頭キャッシュ割り当て手段をさらに備えている。
【0028】
上記の構成によれば、これにより、不揮発性メモリにおけるデータの書き込み回数を増やすことなく、冒頭キャッシュを増やすことが出来る。結果、不揮発性メモリの寿命を延ばすことができる。
【0029】
本発明に係る記録再生装置は、上記コンテンツを上記光ディスクに記録するコンテンツ記録手段をさらに備えており、
上記冒頭キャッシュ蓄積手段は、上記コンテンツ記録手段による上記コンテンツの記録開始時、上記光ディスクがレディか否かに関わらず、上記コンテンツの冒頭部分を、上記冒頭キャッシュとして上記不揮発性メモリに蓄積し、
上記コンテンツ記録手段は、上記光ディスクがレディになったあと、上記不揮発性メモリに蓄積されている上記冒頭キャッシュを上記光ディスクに記録することが好ましい。
【0030】
上記の構成によれば、光ディスクに対してデータを記録できるか否かに関わらず、冒頭キャッシュを不揮発性メモリに蓄積する。また、ディスクがレディになったあと、冒頭キャッシュをディスクにコンテンツの冒頭部分として記録する。したがって、冒頭キャッシュを効率的に蓄積できる。
【0031】
上記冒頭キャッシュ蓄積手段は、上記コンテンツ記録手段による上記コンテンツの記録中において、上記冒頭キャッシュ蓄積手段による上記冒頭キャッシュの蓄積が完了したあと、コンテンツにおける上記冒頭キャッシュに相当する箇所の続き以降の箇所を、上記再生キャッシュとして上記不揮発性メモリに蓄積することが好ましい。
【0032】
上記の構成によれば、コンテンツを光ディスクに記録しながら、当該コンテンツの冒頭キャッシュおよびその続きとなる再生キャッシュを両方とも不揮発性メモリに蓄積できる。したがって、光ディスクに記録されたコンテンツをはじめて再生するとき、コンテンツの冒頭キャッシュおよび再生キャッシュの蓄積が完了している。これにより、コンテンツを再生する際、蓄積済みの冒頭キャッシュおよび再生キャッシュを活用して、待ち時間無くコンテンツを再生できる効果を奏する。
【0033】
上記キャッシュ再生手段は、上記光ディスクドライブに挿入されている光ディスクの回転が停止している状態において、上記コンテンツの再生が開始されようとするとき、上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生することが好ましい。
【0034】
上記の構成によれば、光ディスクが安定した状態になるまでの間も、コンテンツを正常に再生できる。すなわち、データを読み出す際に、光ディスクの回転が安定するまで待つ必要が無く、素早く読み出すことができる。
【0035】
上記記録再生装置は、コンピュータによって実現してもよい。この場合、コンピュータを上記各手段として動作させることにより上記記録再生装置をコンピュータにおいて実現するプログラム、およびそのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0036】
本発明に係る記録再生装置は、光ディスクに記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生できると共に、コンテンツの再生開始位置を先頭に変更した場合も、待ち時間を発生させることなく、コンテンツの再生を継続できる効果を奏する。
【図面の簡単な説明】
【0037】
【図1】本発明の一実施形態に係る記録再生装置の構成を示すブロック図である。
【図2】(a)は、ディスクに記録されたコンテンツごとの冒頭キャッシュの蓄積状況を管理するためのリストを示す図であり、(b)は、冒頭キャッシュが蓄積されていないコンテンツの情報を一覧にして格納したリストを示す図であり、(c)は、冒頭キャッシュが蓄積しているコンテンツの情報を一覧にして格納したリストを示す図である。
【図3】記録再生装置が冒頭キャッシュを不揮発性メモリに蓄積する際の処理の全体の流れを示すフローチャートである。
【図4】記録再生装置が冒頭キャッシュを不揮発性メモリに書き込む際の処理の流れを示すフローチャートである。
【図5】記録再生装置がコンテンツを再生する際の処理の流れを示すフローチャートである。
【図6】(a)は、ディスクの回転が停止している状態において、冒頭キャッシュが蓄積されていないコンテンツを再生しようとする際の、データを読み出すタイミングを示す図であり、(b)は、ディスクの回転が停止している状態において、冒頭キャッシュが蓄積されているコンテンツを再生しようとする際の、データを読み出すタイミングを示す図である。
【図7】記録再生装置が、コンテンツの再生時に再生キャッシュを不揮発性メモリに蓄積する際の処理の全体の流れを示すフローチャートである。
【図8】記録再生装置が、再生キャッシュを蓄積するための領域を確保する際の処理の流れを示すフローチャートである。
【図9】記録再生装置が再生キャッシュを不揮発性メモリに書き込む際の処理の流れを示すフローチャートである。
【図10】記録再生装置が、コンテンツの非再生時に再生キャッシュを不揮発性メモリに蓄積する際の処理の全体の流れを示すフローチャートである。
【図11】記録再生装置が、コンテンツを再生する際の処理の流れを示すフローチャートである。
【図12】記録再生装置が再生するコンテンツの具体例および当該コンテンツの再生キャッシュの具体例をそれぞれ示す図である。
【図13】記録再生装置においてスキップ再生を繰り返した場合にどの再生キャッシュからデータを読み出すかを説明する図である。
【図14】記録再生装置が、コンテンツを再生する際の処理の流れを示すフローチャートである。
【図15】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図16】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図17】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図18】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図19】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図20】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図21】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図22】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図23】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図24】コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置におけるデータの流れを示す説明図である。
【図25】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図26】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図27】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図28】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図29】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図30】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図31】冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図32】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図33】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図34】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図35】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図36】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図37】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図38】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図39】不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置におけるデータの流れを示す説明図である。
【図40】本発明に係る記録再生装置の変形例の構成を表すブロック図である。
【発明を実施するための形態】
【0038】
本発明に係る記録再生装置の一実施形態について、図1〜図39を参照して以下に説明する。
【0039】
(記録再生装置1の構成)
図1は、本発明の一実施形態に係る記録再生装置1の構成を示すブロック図である。この図に示すように、記録再生装置1は、リモコン受信部10、アンテナ12、チューナー14、コンテンツ受信処理部16、システム制御部18、コンテンツ再生処理部20、出力部22、表示装置24、コンテンツ制御部26、電源制御部28、コンテンツキャッシュ管理部30、ディスクドライブ監視部32、ディスク挿抜検出部34、ディスク記録再生部36、ディスク記録部38、ディスク再生部40、ディスク制御部42、光ディスクドライブ43、冒頭キャッシュ制御部44、冒頭キャッシュ蓄積部46、冒頭キャッシュ再生部48、キャッシュ領域管理部50、不揮発性メモリ制御部52、不揮発性メモリ54、再生キャッシュ制御部56、再生キャッシュ蓄積部58、および再生キャッシュ再生部60を備えている。
【0040】
記録再生装置1は、ディスク2に記録された動画等のコンテンツを再生したり、または放送番組等のコンテンツをディスク2に記録(録画)したりする装置である。ディスク2はいわゆる光ディスクであり、具体的にはDVD(Digital Versatile Disc)、またはBD(Blu-ray Disk)などである。ディスク2はデータの読み出しのみが可能なもの、または読み書きの両方が可能なものである。ディスク2は一般に大容量(数ギガバイト以上)であるため、長時間のコンテンツを多数記録できる。
【0041】
ディスク2は、光ディスクドライブ43に挿入されて使用される。その際、記録再生装置1は挿入されたディスク2に応じた調整を自動的に行い、調整が完了してディスク2の回転状態が安定すれば、ディスク2からコンテンツを読み書きできるようになる。以下では、ディスク2が安定した状態のことを「ディスクレディ」と呼ぶ。また、ディスク2を光ディスクドライブ43に挿入してから「ディスクレディ」になるまでの過程のことを、「ディスクロード」または「ロード」と呼ぶ。
【0042】
ユーザは、図示しないリモートコントローラを使用して、記録再生装置1を操作する。当該リモートコントローラから発せされた信号は、リモコン受信部10が受信し、システム制御部18に出力する。システム制御部18は、受信した信号の内容に応じて、記録再生装置1の動作を制御する。
【0043】
コンテンツ受信処理部16は、アンテナ12およびチューナー14を通じて放送波を受信し、それをデコードしてコンテンツを生成する。その際、システム制御部18によって、選局を指示される。コンテンツ受信処理部16によって記録再生装置1の外部から取得されたコンテンツは、最終的に、ディスク記録部38を通じてディスク2に記録される。
【0044】
コンテンツ再生処理部20は、記録再生装置1において再生されるコンテンツを処理する。その際、システム制御部18によって、出力形式についての指示を受ける。コンテンツ再生処理部20は一定サイズの再生バッファを有している。コンテンツ再生処理部20は、コンテンツのデータをいったん再生バッファに一定量蓄積し、それから再生対象のデータを再生バッファから読み出して再生する。コンテンツ再生処理部20は、再生対象のデータを出力部22に出力する。出力部22は、受け取った再生対象のデータを表示装置24に出力する。こうして、放送番組などのコンテンツが表示装置に24に表示され、ユーザが視聴できるようになる。
【0045】
電源制御部28は、記録再生装置1における図示しない電源を制御する。すなわち、電源をオンさせたりまたはオフさせたりする制御を実行する。
【0046】
コンテンツ制御部26は、記録再生装置1において処理されるコンテンツを統括的に制御する。すなわち、記録または再生されるコンテンツは、必ずこのコンテンツ制御部26による制御を受ける。なお、その際、コンテンツ制御部26は、コンテンツのキャッシュの有無を全く意識することなく、コンテンツを制御する。コンテンツのキャッシュの管理および制御は、コンテンツキャッシュ管理部30が引き受ける。
【0047】
ディスクドライブ監視部32は、光ディスクドライブ43の状態を監視する。たとえば、光ディスクドライブ43に対してアクセスがあった場合、それを検出する。
【0048】
ディスク挿抜検出部34は、光ディスクドライブ43に対してディスク2が挿入されたか、または光ディスクドライブ43からディスク2が抜かれたかを検出する。
【0049】
ディスク記録再生部36は、ディスク2に対するデータの読み書きを実行する。ディスク記録再生部36には、ディスク記録部38およびディスク再生部40が備えられている。ディスク記録部38は、ディスク2にデータを記録する。ディスク再生部40は、ディスク2からデータを読み出す。ディスク制御部42は、ディスク2を制御する。ディスク2へのデータの読み書きは、最終的に、ディスク制御部42を通じて行われる。
【0050】
冒頭キャッシュ制御部44は、記録再生装置1における冒頭キャッシュを統括的に制御かつ管理する。冒頭キャッシュ制御部44には、冒頭キャッシュ蓄積部46および冒頭キャッシュ再生部48が備えられている。冒頭キャッシュ制御部44は、冒頭キャッシュを不揮発性メモリ54に蓄積する。冒頭キャッシュ再生部48は、不揮発性メモリ54から冒頭キャッシュを読み出す。不揮発性メモリ制御部52は、不揮発性メモリ54を制御する。不揮発性メモリ54への冒頭キャッシュの読み書きは、最終的に、不揮発性メモリ制御部52を通じて行われる。
【0051】
再生キャッシュ制御部56は、記録再生装置1における再生キャッシュを統括的に制御かつ管理する。再生キャッシュ制御部56には、再生キャッシュ蓄積部58および再生キャッシュ再生部60が備えられている。再生キャッシュ蓄積部58は、再生キャッシュを不揮発性メモリ54に蓄積する。再生キャッシュ再生部60は、不揮発性メモリ54から再生キャッシュを読み出す。不揮発性メモリ制御部52は、不揮発性メモリ54を制御する。不揮発性メモリ54への再生キャッシュの読み書きは、最終的に、不揮発性メモリ制御部52を通じて行われる。
【0052】
不揮発性メモリ54は、たとえばフラッシュメモリなどの、電力の供給が無くなったあともデータを保持することができる記録媒体である。
【0053】
キャッシュ領域管理部50は、不揮発性メモリ54に形成されるキャッシュ領域を管理する。本実施形態では、管理対象は、冒頭キャッシュ蓄積用の領域および再生キャッシュ蓄積用の領域である。具体的には、キャッシュ領域管理部50は、冒頭キャッシュ蓄積用の領域および再生キャッシュ領域を、いずれもリングバッファ構造またはリスト構造として管理する。
【0054】
本実施形態の記録再生装置1は、冒頭キャッシュおよび再生キャッシュを利用して、コンテンツ再生時の待ち時間を極力減らすことを可能にする。そこで、記録再生装置1の理解を助けるために、まず以下では、記録再生装置1が冒頭キャッシュのみを利用する場合の詳細と、記録再生装置1が再生キャッシュのみを利用する場合の詳細をそれぞれ説明する。それから、記録再生装置1が冒頭キャッシュおよび再生キャッシュの両方を利用する場合の詳細を説明する。
【0055】
〔1.冒頭キャッシュを利用する場合〕
(記録再生装置1の概要)
記録再生装置1は、光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツの冒頭部分を、冒頭キャッシュとして不揮発性メモリ54に蓄積する。冒頭部分とは、コンテンツの先頭から一定時間または一定サイズ分のデータを意図している。どこまでを冒頭部分とするかは、記録再生装置1において予め決まっていたり、または記録再生装置1が動作の状況やディスク2の特性に応じて動的に決めたりする。
【0056】
ディスク2は一般に、回転が停止している状態から、安定する状態になるまでに、一定の時間を要する。したがって、回転が安定するまでは、ディスク2からコンテンツのデータを読み出すことができない。一方、不揮発性メモリ54からはいつでも素早くデータを読み出すことができる。
【0057】
そこで記録再生装置1は、ディスクドライブに挿入されているディスク2の回転が停止している状態において、コンテンツの再生を開始しようとするとき、再生対象のデータをディスク2から読み出し再生するのではなく、その冒頭キャッシュを不揮発性メモリ54から読み出して再生する。したがって、ディスク2が安定した状態になるまでの間も、コンテンツを正常に再生できる。すなわち、データを読み出す際に、ディスク2の回転が安定するまで待つ必要が無く、素早く読み出すことができる。
【0058】
以上のように、記録再生装置1は、ディスク2の回転が停止している状態から、コンテンツの再生が始まるまでの時間を、最小限に短縮できる。
【0059】
(冒頭キャッシュリスト)
記録再生装置1は、ディスク2に記録されているコンテンツごとに、その冒頭キャッシュを不揮発性メモリ54に蓄積する。蓄積処理には一定の時間を有し、また、ディスク2には多数のコンテンツが記録されているので、すべてのコンテンツについての冒頭キャッシュが、常時、不揮発性メモリ54に蓄積されているとは限らない。すなわち、あるときにおいて、冒頭キャッシュが蓄積済みのコンテンツもあれば、蓄積済みではないコンテンツもある。
【0060】
そこで記録再生装置1は、コンテンツごとの冒頭キャッシュの蓄積状況を、所定のファイル(リスト)を用いて管理する。リストには三種類あり、これらを図2(a)〜図2(c)にそれぞれ示す。図2(a)は、ディスク2に記録されたコンテンツごとの冒頭キャッシュの蓄積状況を管理するためのリストを示す図である。図2(b)は、冒頭キャッシュが蓄積されていないコンテンツの情報を一覧にして格納したリストを示す図である。図2(c)は、冒頭キャッシュが蓄積しているコンテンツの情報を一覧にして格納したリストを示す図である。
【0061】
冒頭キャッシュリストは、ディスク2に記録されている全コンテンツを対象に、各コンテンツの冒頭キャッシュの蓄積状況を管理する。すなわちコンテンツごとに、冒頭キャッシュが蓄積済み(キャッシュ済み)であるか否かを示す情報と、コンテンツのストリーム名と、冒頭キャッシュのサイズと、コンテンツの実サイズと、コンテンツの関連ファイル名とを互いに関連付けて保持するリストである。
【0062】
記録再生装置1は、図2(a)に示す冒頭キャッシュリストから、冒頭キャッシュが未蓄積のコンテンツに関する情報を取り出して、一つにまとめ、図2(b)に示す冒頭キャッシュ未蓄積リストを生成する。一方、図2(a)に示す冒頭キャッシュリストから、冒頭キャッシュが蓄積済みのコンテンツに関する情報を取り出して、一つにまとめ、図2(c)に示す冒頭キャッシュ蓄積済みリストを生成する。こうして生成した2つのリストを参照することによって、あるコンテンツの冒頭キャッシュが蓄積済みか否かを判定する。すなわち、あるコンテンツに関する情報が冒頭キャッシュ未蓄積リストに格納されていれば、そのコンテンツの冒頭キャッシュは未蓄積であると判定する。一方、冒頭キャッシュ蓄積済みリストに格納されていれば、そのコンテンツの冒頭キャッシュは蓄積済みであると判定する。
【0063】
(コンテンツリストについて)
記録再生装置1は、ディスク2に記録されているコンテンツを管理するためのコンテンツリストを保持している。そして、このコンテンツリストから、上述した冒頭キャッシュリストを生成する。以下では、コンテンツリストについて詳しく説明する。
【0064】
記録再生装置1は、ディスク2が光ディスクドライブ43挿入されると、ディスク2に録画されている全てのコンテンツについて、ファイルの実体を示す情報と、番組名、録画日時、および視聴状態といった関連情報とを互いに関連付けたコンテンツリストを生成して管理する。このコンテンツリストを、管理中のディスク2が光ディスクドライブ43からイジェクトされるまで不揮発性メモリ54に保持する。
【0065】
記録再生装置1は、ユーザからのコンテンツ一覧表示指示を受けると、コンテンツリストからコンテンツ一覧を作成して表示装置24に表示する。このとき表示されるコンテンツ一覧には、ユーザが視聴したいコンテンツを検索しやすくするための各種の工夫がなされている。たとえば、番組名および録画日時だけではなく、静止画サムネイルや動画サムネイルが含まれている。これにより、ユーザに対してコンテンツの内容を分かりやすく提示できる。他にも、録画日時の新/旧、未視聴/既視聴、またはジャンルなどを各種のパラメータをキーにして、並び替えやフィルタリングできるようになっている。
【0066】
(冒頭キャッシュ蓄積処理)
図3は、記録再生装置1が冒頭キャッシュを不揮発性メモリ54に蓄積する際の処理の全体の流れを示すフローチャートである。
【0067】
まず、システム制御部18が、記録再生装置1の電源オフ処理を実行中であるか否かを判定する(ステップS1)。ここで、ステップS1における判定の結果が「真」であるとき(Yes)、記録再生装置1は、ステップS2の処理を飛ばし、ステップS3以降の処理を実行する。すなわち記録再生装置1は、電源オフ処理の実行中に、冒頭キャッシュの蓄積処理を実行する。
【0068】
一方、ステップS1における判定の結果が「偽」であるとき(No)、ディスクドライブ監視部32が、光ディスクドライブ43に対して一定時間アクセスが無いか否かを判定する(ステップS2)。ステップS2における判定の結果が「偽」であるとき(No)、すなわち、光ディスクドライブ43に対してアクセスがあったり、または、アクセスが無い状態が一定時間続いていなかったりする場合、記録再生装置1は、ステップS3移行の処理を実行せず、ステップS2の処理を繰り返し実行する。すなわち記録再生装置1は、光ディスクドライブ43に対して一定時間アクセスが無い場合に、冒頭キャッシュの蓄積処理を実行する。
【0069】
一方、ステップS2における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ制御部44が、冒頭キャッシュ未蓄積リストを不揮発性メモリ54から取得する(ステップS3)。冒頭キャッシュ制御部44は、取得した冒頭キャッシュ未蓄積リストをソートする(ステップS4)。すなわち、冒頭キャッシュ未蓄積リスト内の項目を、所定のパラメータをキーにして並び替える。
【0070】
冒頭キャッシュ制御部44は、冒頭キャッシュ未蓄積リストを参照して、その中に項目があるか否かを判定する(ステップS5)。すなわち、冒頭キャッシュが未蓄積のコンテンツに関する情報が、冒頭キャッシュ未蓄積リストに格納されているか否かを判定する。ステップS5における判定の結果が「偽」であるとき(No)、記録再生装置1は、図3に示す処理を終了する。冒頭キャッシュが未蓄積のコンテンツは存在しないので、これ以上、冒頭キャッシュの蓄積処理を必要としないからである。
【0071】
一方、ステップS5における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ制御部44は、冒頭キャッシュ未蓄積リストから項目を一つ選択する(ステップS6)。そして、選択した項目のコンテンツを対象にして、冒頭キャッシュの蓄積処理を実行する(ステップS7)。この処理の詳細は、図4を参照して後述する。
【0072】
冒頭キャッシュ制御部44は、冒頭キャッシュの蓄積処理の結果が何であったかを判定する。具体的には、「成功」だったか、「中断」だったか、または「領域フル」だったかを判定する。ステップS8における判定の結果が「領域フル」であるとき、記録再生装置1は、図3に示す処理を終了する。不揮発性メモリ54において冒頭キャッシュを蓄積できる領域がすでに存在しないので、これ以上の冒頭キャッシュの蓄積はできないからである。
【0073】
一方、ステップS8における判定の結果が「中断」であるとき、図3の処理はステップS2に戻る。詳しくは後述するが、光ディスクドライブ43に対するアクセスが、冒頭キャッシュの蓄積中に発生したので、これ以上の冒頭キャッシュの蓄積はできないからである。
【0074】
一方、ステップS8における判定の結果が「成功」であるとき、冒頭キャッシュ制御部44は、冒頭キャッシュ未蓄積リストを更新する(ステップS9)。具体的には、冒頭キャッシュの蓄積に成功したコンテンツの情報を、冒頭キャッシュ未蓄積リストから削除する。次に、冒頭キャッシュ制御部44は、冒頭キャッシュ蓄積済みリストを更新する(ステップS10)。具体的には、冒頭キャッシュの蓄積に成功したコンテンツの情報を、冒頭キャッシュ蓄積済みリストに追加する。
【0075】
ステップS10の処理が終了すると、冒頭キャッシュ制御部44は、再びステップS5の処理を実行する。これにより、冒頭キャッシュ未蓄積リスト内の項目が無くなるまで、冒頭キャッシュが未蓄積のコンテンツごとに、冒頭キャッシュの蓄積処理を続けるのである。
【0076】
(冒頭キャッシュの書き込み処理)
図4は、記録再生装置1が冒頭キャッシュを不揮発性メモリ54に書き込む際の処理の流れを示すフローチャートである。この図に示す処理は、図3のステップS7に示す「冒頭キャッシュ蓄積処理」の詳細に相当する。
【0077】
まず、冒頭キャッシュ制御部44は、冒頭キャッシュとして書き込むべきデータのうち、未書き込みのデータのサイズが「0」であるか否かを判定する(ステップS11)。ステップS11における判定の結果が「真」であるとき(Yes)、全ての冒頭キャッシュの書き込みが成功したので、図3のステップS8の結果が「成功」となる。
【0078】
一方、ステップS11における判定の結果が「偽」であるとき(No)、すなわち、まだ冒頭キャッシュとして書き込んでいないデータが存在する場合、冒頭キャッシュ制御部44は、冒頭キャッシュを蓄積するための領域を、不揮発性メモリ54に確保する(ステップS12)。次に、ステップS12における確保処理が成功したか否かを判定する(ステップS13)。
【0079】
ここで、ステップS13における判定の結果が「偽」であるとき(No)、冒頭キャッシュ制御部44は、冒頭キャッシュ蓄積済みリストを不揮発性メモリ54から取得する(ステップS17)。そして、取得した冒頭キャッシュ蓄積済みリストを参照することによって、不揮発性メモリ54に蓄積済みの冒頭キャッシュのいずれかを削除するか否かを判定する(ステップS18)。すなわち、新たに蓄積しようとする冒頭キャッシュのために、既存の蓄積領域を解放すべきか否かを判定する。
【0080】
ステップS18における判定の結果が「偽」であるとき(No)、図3のステップS8の結果が「領域フル」になる。一方、ステップS18における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ制御部44は、既存の冒頭キャッシュ蓄積領域を解放する。そして、図4の処理はステップS12に戻る。このとき、冒頭キャッシュ用の空き領域が存在しているので、ステップS13の判定結果は「Yes」となる。
【0081】
ステップS13における判定の結果が「真」であるとき(Yes)、ディスクドライブ監視部32が、光ディスクドライブ43にアクセスがあるか否かを判定する(ステップS14)。ステップS14における判定の結果が「真」であるとき(Yes)、これにより、図3のステップS8の結果が「中断」になる。
【0082】
一方、ステップS14における判定の結果が「偽」であるとき(No)、ディスク再生部40が、冒頭キャッシュとして記録すべきデータをディスク2から読み出す(ステップS15)。次に冒頭キャッシュ蓄積部46が、ステップS15において読み出されたデータを、冒頭キャッシュとして不揮発性メモリ54に書き込む(ステップS16)。このあと、図4の処理はステップS11に戻る。すなわち、冒頭キャッシュとして書き込むべきデータが全て不揮発性メモリ54に書き込まれるまで、図4の処理は繰り返し続けられる。
【0083】
(冒頭キャッシュの蓄積形態)
冒頭キャッシュ制御部44は、ディスク2に記録されているデータを、そのまま冒頭キャッシュとして不揮発性メモリ54に記録する。すなわち、ディスク2において暗号化されているデータは、暗号化された状態で記録する。一方、ディスク2において暗号化されていないデータは、暗号化されていない状態で記録する。すなわち、ディスク2内のデータを改変することなく、その忠実なコピーを不揮発性メモリ54に生成する。
【0084】
ディスク2には、ディスク2のデータを復号化するための鍵情報が別途記録されている。この鍵情報が無いと、ディスク2に記録されたコンテンツを再生することはできない。記録再生装置1では、冒頭キャッシュ制御部44は、当該鍵情報は不揮発性メモリ54に記録しない。これにより、ディスク2が光ディスクドライブ43に挿入された状態でないと、コンテンツを再生できないという制約を維持する。これは、ディスク2が無い状態で不揮発性メモリ54内の冒頭キャッシュを再生することを防止することが目的である。
【0085】
(冒頭キャッシュ蓄積のタイミング)
以上のように、記録再生装置1は、光ディスクドライブ43に一定時間アクセスがないことが検出された場合に、冒頭キャッシュの蓄積を開始する。これにより、光ディスクドライブ43が使用される合間を縫って、冒頭キャッシュを蓄積する。したがって、冒頭キャッシュの存在をユーザに意識させることがない。また、ユーザは記録再生装置1を快適に操作できる。
【0086】
また、記録再生装置1は、冒頭キャッシュの蓄積中に、光ディスクドライブ43に対するアクセスがあることが検出された場合、冒頭キャッシュの蓄積を中止する。これにより、冒頭キャッシュの蓄積処理と、光ディスクドライブ43へのアクセスとが競合した場合、後者を優先させる。したがって、ユーザは記録再生装置1を快適に操作できる。
【0087】
(冒頭キャッシュのサイズ)
記録再生装置1は、コンテンツの先頭から一定時間分のデータを、冒頭キャッシュとして蓄積することができる。この場合、記録再生装置1は、光ディスクの回転を始めてから一定時間の間、確実にコンテンツの再生を継続することができる。また、この一定時間は、個々のディスク2に応じて動的に定めても良く、あるいは、ディスク2に限らず一定の値として予め定めておいてもよい。
【0088】
動的に定める場合、記録再生装置1はたとえば、ディスク2の初回または前回のディスクロードに要した時間を、上記一定時間としてディスク2ごとに動的に設定すればよい。この場合、ディスク2の回転を始めてからディスク2が安定するまでの間、確実にコンテンツの再生を継続することができる。また、コンテンツごとの冒頭キャッシュに必要な不揮発性メモリ54の容量を最小限に抑えられる。これにより、不揮発性メモリ54を効率よく使用することができる。
【0089】
予め定めた値とする場合、記録再生装置1において、たとえば、ディスクドライブがディスク2のロードに要する平均時間が、上記一定時間として予め定められておけばよい。この値は、当該平均時間に一定のマージンを加えた値とすることが望ましい。マージンはたとえば実測した平均時間そのものとすればよい。したがって、実測したディスク2の平均ロード時間がたとえば30秒だった場合、実測値の2倍の60秒を、上記一定時間とすることになる。この場合も、記録再生装置1は、光ディスクの回転を始めてから光ディスクが安定するまでの間、確実にコンテンツの再生を継続することができる。
【0090】
記録再生装置1は、コンテンツの先頭から一定サイズ分のデータを、冒頭キャッシュとして蓄積することができる。この場合、冒頭キャッシュを蓄積するための領域を、容易に管理できる。たとえば、新たな冒頭キャッシュを蓄積するための領域が不揮発性メモリ54から枯渇した場合、冒頭キャッシュが蓄積済みの領域を解放して、その領域に新しいコンテンツの冒頭キャッシュを蓄積することになる。この際、冒頭キャッシュの記録レートを考慮する必要がなく、解放した領域をそのまま使用できる。したがって、領域のサイズを調整する等の処理が不要になるので、効率良く領域を管理できる。
【0091】
ここでいう一定サイズは、不揮発性メモリ54において冒頭キャッシュを蓄積するための領域の全サイズを、ディスク2に記録可能なコンテンツの数で割った値としてもよい。この場合、冒頭キャッシュを蓄積するための領域を、容易に管理できる。また、一定サイズは、たとえば、ディスク2のロードに要する時間×最大記録レートから計算されるサイズであればよい。または、冒頭キャッシュとして記録するコンテンツ数で均等に分割したサイズでもよい。
【0092】
(コンテンツの再生処理)
図5は、記録再生装置1がコンテンツを再生する際の処理の流れを示すフローチャートである。
【0093】
まず、コンテンツキャッシュ管理部30が、不揮発性メモリ54から冒頭キャッシュ蓄積済みリストを取得する(ステップS21)。コンテンツキャッシュ管理部30は、再生対象のコンテンツの冒頭キャッシュが不揮発性メモリ54に蓄積済みか否かを判定する(ステップS22)。その際、再生対象のコンテンツに関する情報が、冒頭キャッシュ蓄積済みリストに登録済みであれば、そのコンテンツの冒頭キャッシュが不揮発性メモリ54に蓄積済みであると判定する。一方、冒頭キャッシュ蓄積済みリストに登録済みでなければ、そのコンテンツの冒頭キャッシュが不揮発性メモリ54に未蓄積であると判定する。
【0094】
ステップS22における判定の結果が「真」であるとき(Yes)、コンテンツキャッシュ管理部30は、再生対象のコンテンツのうち、これから実際に再生しようとするデータが、冒頭キャッシュにあるか否かを判定する(ステップS23)。ステップS23における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ再生部48が、再生対象の冒頭キャッシュを不揮発性メモリ54から読み出す(ステップS24)。そして、コンテンツ再生処理部20が、不揮発性メモリ54から読み出された冒頭キャッシュを再生する(ステップS25)。
【0095】
一方、ステップS22またはステップS23における判定の結果が「偽」であるとき(No)、コンテンツキャッシュ管理部30が、ディスク2にアクセス可能か否かを判定する(ステップS26)。ステップS26における判定の結果が「偽」であるとき(No)、記録再生装置1は、ディスク2にアクセスできるようになるまで待機する。一方、ステップS26における判定の結果が「真」であるとき(Yes)、ディスク再生部40が、再生対象のデータをディスク2から読み出す(ステップS27)。そして、そして、コンテンツ再生処理部20が、ディスク2から読み出されたデータを再生する(ステップS25)
記録再生装置1は、ディスクドライブに挿入されているディスク2の回転が停止している状態において、コンテンツの再生を開始しようとするとき、図5の処理を実行する。これにより、読み出し対象のデータをディスク2から読み出し再生するのではなく、その冒頭キャッシュを不揮発性メモリ54から読み出して再生する。したがって、ディスク2が安定した状態になるまでの間も、コンテンツを正常に再生できる。結果、コンテンツの再生が素早く始まるので、ユーザを無用に待たせることが無い。このような利点について図6を参照して以下に説明する。
【0096】
(冒頭キャッシュ有無による待ち時間の違い)
図6(a)は、ディスク2の回転が停止している状態において、冒頭キャッシュが蓄積されていないコンテンツを再生しようとする際の、データを読み出すタイミングを示す図である。図6(b)は、ディスク2の回転が停止している状態において、冒頭キャッシュが蓄積されているコンテンツを再生しようとする際の、データを読み出すタイミングを示す図である。
【0097】
図6(a)に示すように、冒頭キャッシュが蓄積されていないコンテンツを再生する場合、ディスク2の回転が安定していない間は、ディスク2から再生データを読み出すことはできない。したがって記録再生装置1は、再生開始要求80があってから、コンテンツデータの読み出しが開始される時点(図6(a)の82)までの間に、相当の待ち時間を要する。これにより、コンテンツの再生開始までのユーザを待たしてしまう問題が発生する。
【0098】
一方、図6(b)に示す様に、冒頭キャッシュが蓄積されているコンテンツを再生する場合、ディスク2の回転が安定していない間は、ディスク2からではなく不揮発性メモリ54から冒頭キャッシュを読み出すことができる。したがって記録再生装置1は、再生開始要求80があってから、再生データ(すなわちその冒頭キャッシュ)を読み出す時点(図6(b)の82)までの間に、ほとんど待ち時間が発生しない。これにより、コンテンツの再生開始までのユーザを待たせる問題は発生しない。結果、ユーザはコンテンツを快適に視聴できる。
【0099】
本実施形態における「ディスク2の回転が停止した状態」とは、たとえば、ディスク2が光ディスクドライブ43に挿入されている記録再生装置1の電源がオフされている状態のことである。この状態において、記録再生装置1の電源がオンされた場合、先頭から再生を開始することが電源オンの直後に指示されたコンテンツ、または、電源オンの直後に表示されたコンテンツリストに含まれる動画サムネイル、の再生を開始する。そして、その際、コンテンツの冒頭部分の冒頭キャッシュを不揮発性メモリ54から直ちに読み出し再生する。
【0100】
また、「ディスク2の回転が停止した状態」とは記録再生装置1が動作中に一定時間操作がなく、消費電力を低減させるためにディスク2の回転を停止させた状態のことでもある。この場合、ユーザが何らかの操作、たとえばいずれかのコンテンツの再生を指示する入力を行った場合、記録再生装置1は、当該コンテンツの冒頭部分の冒頭キャッシュを直ちに不揮発性メモリ54から読み出し再生する。
【0101】
〔2.再生キャッシュを利用する場合〕
(記録再生装置1の概要)
記録再生装置1は、光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツにおける、現在再生位置よりも後に再生される一定量のデータを、不揮発性メモリ54に蓄積する。現在再生位置からどこまでを再生キャッシュとするかは、記録再生装置1において予め決まっていたり、または記録再生装置1の動作の状況やディスク2の特性に応じて動的に決めたりする。
【0102】
光ディスクドライブ43は一般に、トラック追従型でのデータ先読みしかできない。したがって、コンテンツがディスク2上に断片的に配置されている場合において、コンテンツの先送り再生をしようとしたとき、続き部分のデータの検索および読み出しに一定の時間を要する。これにより、続き部分の再生開始までに待ち時間が発生する。
【0103】
そこで記録再生装置1は、コンテンツにおける再生キャッシュに相当する部分を再生する際、再生キャッシュを不揮発性メモリ54から読み出して再生する。再生キャッシュは、現在再生位置よりも後に再生される一定量のデータとして蓄積されている。したがって、コンテンツの再生中において早送り再生が行われた結果、再生位置が現在の位置からそれよりも後の位置に変更された場合、当該変更された位置のデータが再生キャッシュとして蓄積済みであれば、当該データをディスク2から読み出すのではなく、その再生キャッシュを不揮発性メモリ54から読み出すことができる。すなわち、その箇所のデータを光ディスクから読み出す必要がないので、データ(再生キャッシュ)を素早く読み出して再生できる。
【0104】
以上のように、記録再生装置1は、ディスク2に記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生できる。
【0105】
再生キャッシュを蓄積する対象のコンテンツは、記録再生装置1が現在再生しているコンテンツ1つのみであればよい。この場合、ディスク2に複数のコンテンツが記録されている場合であっても、再生キャッシュはその中の1つのコンテンツのみの分を記録する。一方、ディスク2に記録されているコンテンツが複数ある場合、記録再生装置1は、2つ以上のコンテンツの再生キャッシュをそれぞれ別々に不揮発性メモリ54に蓄積してもよい。
【0106】
また、記録再生装置1は、コンテンツにおける現在再生位置よりも前に再生された一定量の過去データを、再生キャッシュとして蓄積する。これによりコンテンツの再生時に後戻り再生の指示があった場合に、指定位置のデータを素早く読み出して再生できる。
【0107】
(再生キャッシュのサイズ)
記録再生装置1は、再生キャッシュとして蓄積するデータの一定量を、コンテンツの再生時におけるスキップ再生処理によってスキップされる時間分のデータ量に等しくすることが好ましい。ここで、より詳細には、未来データの一定量は、コンテンツの再生時におけるスキップ再生処理によって先にスキップされる時間分のデータ量の等しくすることが望ましい。一方、過去データについては、コンテンツの再生時におけるスキップ再生処理によって後にスキップされる時間分のデータ量の等しくすることが望ましい。これにより、コンテンツの再生時にスキップ再生が行われた場合に、指定位置を素早く読み出して再生できる。
【0108】
また、この際の一定量は、コンテンツにおける現在再生位置から一定サイズ分のデータ量であることが好ましい。ここで、より詳細には、未来データの一定量は、コンテンツにおける現在再生位置から先の一定サイズ分のデータ量であることが好ましい。一方、過去データの一定量は、コンテンツにおける現在再生位置から後の一定サイズ分のデータ量であることが好ましい。この場合、再生キャッシュを蓄積するための領域を、容易に管理できる。たとえば、新たな再生キャッシュを次に蓄積するための領域が不揮発性メモリ54から枯渇した場合、再生キャッシュが蓄積済みの領域を解放して、その領域に新しいコンテンツの再生キャッシュを蓄積することになる。この際、再生キャッシュの記録レートを考慮する必要がなく、解放した領域をそのまま使用できる。したがって、領域のサイズを調整する等の処理が不要になるので、効率良く領域を管理できる。
【0109】
ここでいう一定サイズは、不揮発性メモリ54において再生キャッシュを蓄積するための領域の全サイズを、ディスク2に記録可能なコンテンツの数で割った値としてもよい。この場合、再生キャッシュを蓄積するための領域を、容易に管理できる。また、一定サイズは、たとえば、ディスク2のロードに要する時間×最大記録レートから計算されるサイズであればよい。または、再生キャッシュとして記録するコンテンツ数で均等に分割したサイズでもよい。
【0110】
また、ここでいう一定サイズは、コンテンツの再生時におけるスキップ再生処理によってスキップされる時間分のデータのサイズに等しくすることが好ましい。この場合、コンテンツの再生時にスキップ再生が行われた場合に、指定位置を素早く読み出して再生できる。
【0111】
(再生キャッシュ設定)
記録再生装置1の動作状況によっては、再生キャッシュを蓄積したり更新したりしない方が望ましい場合がある。再生開始位置の更新を伴わない再生をするとき、たとえばコンテンツリスト上で動画サムネイルを再生する場合や、記録再生装置1の動作プログラムを更新している時がそうである。そこで、記録再生装置1においては、再生キャッシュの機能を有効または無効のいずれにするかを設定できる。この設定は状況に応じて記録再生装置1が自動的に行っても良いし、ユーザが設定してもよい。いずれにせよ、記録再生装置1の不揮発性メモリ54には、再生キャッシュが有効か否かを表す情報が記録される。
【0112】
(再生キャッシュ蓄積処理)
図7は、記録再生装置1がコンテンツの再生時に再生キャッシュを不揮発性メモリ54に蓄積する際の処理の全体の流れを示すフローチャートである。
【0113】
まず、コンテンツキャッシュ管理部30が、再生キャッシュが有効か否かを判定する(ステップS31)。ステップS31における判定の結果が「偽」であるとき(No)、記録再生装置1は、再生キャッシュが有効になるまで待機する。一方、ステップS31における判定の結果が「真」であるとき(Yes)、コンテンツキャッシュ管理部30は、現在コンテンツのトリック再生中か否かを判定する(ステップS32)。トリック再生とは、通常再生とは異なる形態の再生のことであり、たとえば早送り再生、後戻り再生、スキップ再生、チャプタースキップ再生などがこれに当たる。ステップS32における判定の結果が「真」であるとき(Yes)、図7に示す処理はステップS31に戻る。すなわち記録再生装置1は、コンテンツのトリック再生中は、再生キャッシュを蓄積しない。
【0114】
一方、ステップS32における判定の結果が「偽」であるとき(No)、コンテンツキャッシュ管理部30は、コンテンツを再生しているか否かを判定する(ステップS33)。
【0115】
ステップS33における判定の結果が「真」であるとき(Yes)、コンテンツキャッシュ管理部30は、再生対象のコンテンツの再生キャッシュがすでに不揮発性メモリ54に存在するか否かを判定する(ステップS34)。ステップS34における判定の結果が「真」であるとき(Yes)、ステップS35の処理をスキップする。一方、ステップS34における判定の結果が「偽」であるとき(No)、コンテンツキャッシュ管理部30は、コンテンツ再生処理部20における再生バッファがフルか否かを判定する(ステップS35)。
【0116】
ステップS35における判定の結果が「偽」であるとき(No)、図7の処理はステップS31に戻る。すなわち記録再生装置1は、不揮発性メモリ54に再生キャッシュが蓄積されていない場合、再生バッファがフルになるまでは、再生キャッシュの蓄積を開始しない。
【0117】
一方、ステップS36における判定の結果が「真」であるとき(Yes)、キャッシュ領域管理部50が、再生キャッシュを蓄積するための領域を確保する(ステップS36)。この処理の詳細は後述する。次に、キャッシュ領域管理部50は、領域の確保に成功したか否かを判定する(ステップS37)。ステップS37における判定の結果が「偽」であるとき(No)、図7の処理はステップS31に戻る。一方、ステップS37における判定の結果が「真」であるとき(Yes)、再生キャッシュ蓄積部58が、確保された領域に再生キャッシュを蓄積する(ステップS38)。この処理の詳細は後述する。このあと、図7の処理はステップS31に戻る。
【0118】
以上のように、記録再生装置1は、コンテンツの通常再生中に、再生キャッシュの蓄積処理を繰り返し実行する。
【0119】
ステップS33における判定の結果が「偽」であるとき(No)、すなわち、コンテンツの再生中でない場合、キャッシュ領域管理部50が、再生キャッシュを蓄積するための領域を確保する(ステップS39)。この処理の詳細は後述する。次に、再生キャッシュ制御部56は、領域の確保に成功したか否かを判定する(ステップS40)。ステップS40における判定の結果が「偽」であるとき(No)、図7の処理は終了する。すなわち、コンテンツを再生していないときにおいて、領域の確保に失敗した場合は、これ以上再生キャッシュの蓄積ができないので、蓄積処理を終了するのである。
【0120】
一方、ステップS40における判定の結果が「真」であるとき(Yes)、再生キャッシュ蓄積部58が、確保された領域に再生キャッシュを蓄積する(ステップS41)。この処理の詳細は後述する。このあと、図7の処理はステップS39に戻る。すなわち再生キャッシュ蓄積部58は、コンテンツを再生していない間は、領域の確保が成功する限り、再生キャッシュの蓄積処理を継続する。
【0121】
(再生キャッシュ領域の確保)
図8は、記録再生装置1が、再生キャッシュを蓄積するための領域を確保する際の処理の流れを示すフローチャートである。
【0122】
まずキャッシュ領域管理部50が、現在再生キャッシュを蓄積する対象のコンテンツ用の、再生キャッシュを蓄積するための全体領域を、不揮発性メモリ54において確保済みか否かを判定する(ステップS51)。ステップS51における判定の結果が「偽」であるとき(No)、キャッシュ領域管理部50は、その他の再生キャッシュ領域に空きがあるか否かを判定する(ステップS52)。ここでいうその他の再生キャッシュ領域とは、再生対象のコンテンツとは異なる他のコンテンツの用の再生キャッシュ領域のことである。ステップS52における判定の結果が「偽」であるとき(No)、キャッシュ領域管理部50は、他のコンテンツ用の再生キャッシュ領域として確保済みの領域の中から、解放する再生キャッシュ領域を選択する(ステップS53)。そして、選択した領域を解放する(ステップS54)。これにより、空きのある再生キャッシュ領域が出来る。
【0123】
そこでキャッシュ領域管理部50は、当該空き領域の中から、現在再生キャッシュを蓄積する対象のコンテンツ用の、再生キャッシュを蓄積するための全体領域を確保する(ステップS55)。ここで確保された全体領域は複数の個別領域からなり、各個別領域にはまだ再生キャッシュは全く蓄積されていない。すなわち、全てが空き領域である。そこでキャッシュ領域管理部50は、当該確保済みの空き領域の中から、これから再生キャッシュを蓄積するための個別領域を確保する(ステップS56)。これにより、図3に示す処理の結果は「成功」となる。
【0124】
一方、ステップS52における判定の結果が「真」であるとき(Yes)、空き領域はすでに存在する。そこでキャッシュ領域管理部50は、当該空き領域の中から、再生キャッシュを蓄積するための全体領域を確保する(ステップS55)。ここで確保された全体領域には、まだ、再生キャッシュは全く蓄積されていない。すなわち、全てが空き領域である。そこでキャッシュ領域管理部50は、当該確保済みの空き領域の中から、これから再生キャッシュを蓄積するための個別領域を確保する(ステップS56)。これにより、図3に示す処理の結果は「成功」となる。
【0125】
一方、ステップS51における判定の結果が「真」であるとき(Yes)、キャッシュ領域管理部50は、確保済みの全体領域の中に、空きがあるか否かを判定する(ステップS56)。ステップS56における判定の結果が「真」であるとき(Yes)、キャッシュ領域管理部50は、当該空き領域の中から、これから再生キャッシュを蓄積するための個別領域を確保する(ステップS55)。これにより、図3に示す処理の結果は「成功」となる。
【0126】
一方、ステップS56における判定の結果が「偽」であるとき(No)、このコンテンツ用の再生キャッシュはこれ以上蓄積できない。したがって、図3に示す処理の結果は「再生キャッシュフル」となる。
【0127】
(再生キャッシュの書き込み)
図9は、記録再生装置1が、再生キャッシュを不揮発性メモリに書き込む際の処理の流れを示すフローチャートである。
【0128】
まず、再生キャッシュ制御部56は、再生キャッシュとして書き込むべきデータのうち、未書き込みのデータのサイズが「0」であるか否かを判定する(ステップS61)。ステップS61における判定の結果が「真」であるとき(Yes)、全ての再生キャッシュの書き込みが成功したので、図9の処理は終了する。
【0129】
一方、ステップS61における判定の結果が「偽」であるとき(No)、すなわち、まだ再生キャッシュとして書き込んでいないデータが存在する場合、ディスクドライブ監視部32が、光ディスクドライブ43にアクセスがあるか否かを判定する(ステップS62)。ステップS62における判定の結果が「真」であるとき(Yes)、ディスク2へのアクセスを優先させるので、再生キャッシュの蓄積処理を中断すべく、図9の処理を終了する。
【0130】
一方、ステップS62における判定の結果が「偽」であるとき(No)、ディスク再生部40が、再生キャッシュとして記録すべきデータをディスク2から読み出す(ステップS63)。次に再生キャッシュ蓄積部58が、ステップS64において読み出されたデータを、再生キャッシュとして不揮発性メモリ54に書き込む(ステップS65)。このあと、図9の処理はステップS61に戻る。すなわち、再生キャッシュとして書き込むべきデータが全て不揮発性メモリ54に書き込まれるまで、図9の処理は繰り返し続けられる。
【0131】
(再生キャッシュの蓄積形態)
再生キャッシュ蓄積部58は、ディスク2に記録されているデータを、そのまま再生キャッシュとして不揮発性メモリ54に記録する。すなわち、ディスク2において暗号化されているデータは、暗号化された状態で記録する。一方、ディスク2において暗号化されていないデータは、暗号化されていない状態で記録する。すなわち、ディスク2内のデータを改変することなく、その忠実なコピーを不揮発性メモリ54に生成する。
【0132】
ディスク2には、ディスク2のデータを復号化するための鍵情報が別途記録されている。この鍵情報が無いと、ディスク2に記録されたコンテンツを再生することはできない。記録再生装置1では、再生キャッシュ蓄積部58は、当該鍵情報は不揮発性メモリ54に記録しない。これにより、ディスク2が光ディスクドライブ43に挿入された状態でないと、コンテンツを再生できないという制約を維持する。これは、ディスク2が無い状態で不揮発性メモリ54内の再生キャッシュを再生することを防止することが目的である。
【0133】
(再生キャッシュの蓄積)
図10は、記録再生装置1が、コンテンツの非再生時に再生キャッシュを不揮発性メモリに蓄積する際の処理の全体の流れを示すフローチャートである。
【0134】
まず、システム制御部18が、記録再生装置1の電源オフ処理を実行中であるか否かを判定する(ステップS71)。ここで、ステップS71における判定の結果が「真」であるとき(Yes)、記録再生装置1は、ステップS72の処理を飛ばし、ステップS73以降の処理を実行する。すなわち記録再生装置1は、電源オフ処理の実行中に、再生キャッシュの蓄積処理を実行する。
【0135】
一方、ステップS71における判定の結果が「偽」であるとき(No)、ディスクドライブ監視部32が、光ディスクドライブ43に対して一定時間アクセスが無いか否かを判定する(ステップS72)。ステップS72における判定の結果が「偽」であるとき(No)、すなわち、光ディスクドライブ43に対してアクセスがあったり、または、アクセスが無い状態が一定時間続いていなかったりする場合、図10の処理はステップS71に戻る。すなわち記録再生装置1は、光ディスクドライブ43に対して一定時間アクセスが無い場合に、再生キャッシュの蓄積処理を実行する。
【0136】
ステップS72における判定の結果が「真」であるとき(Yes)、再生キャッシュ制御部56が、再生キャッシュを蓄積するための領域を確保する(ステップS73)。この処理は、図8に示す処理に相当する。次に、再生キャッシュ制御部56は、領域の確保に成功したか否かを判定する(ステップS74)。ステップS74における判定の結果が「偽」であるとき(No)、図10の処理は終了する。すなわち、コンテンツを再生していないときに、領域の確保に失敗した場合は、これ以上再生キャッシュの蓄積ができないので、蓄積処理を終了するのである。
【0137】
一方、ステップS74における判定の結果が「真」であるとき(Yes)、再生キャッシュ蓄積部58が、確保された領域に再生キャッシュを蓄積する(ステップS75)。この処理は、図9に示す処理に相当する。このあと、図10の処理はステップS71に戻る。すなわち再生キャッシュ蓄積部58は、コンテンツの非再生時には、領域の確保が成功する限り、再生キャッシュの蓄積処理を継続する。
【0138】
(再生キャッシュ蓄積のタイミング)
以上のように、記録再生装置1は、光ディスクドライブ43に一定時間アクセスがないことが検出された場合に、再生キャッシュの蓄積を開始する。これにより、光ディスクドライブ43が使用される合間を縫って、再生キャッシュを蓄積する。したがって、再生キャッシュの存在をユーザに意識させることがない。また、ユーザは記録再生装置1を快適に操作できる。
【0139】
また、記録再生装置1は、記録再生装置1の電源をオフする際の処理の一環として、再生キャッシュを蓄積する。これにより、光ディスクドライブ43が使用される合間を縫って、再生キャッシュを蓄積する。したがって、再生キャッシュの存在をユーザに意識させることがない。また、ユーザは記録再生装置を快適に操作できる。
【0140】
(再生キャッシュの再生)
図11は記録再生装置1が、コンテンツを再生する際の処理の流れを示すフローチャートである。
【0141】
まず、コンテンツキャッシュ管理部30が、再生対象のコンテンツの再生キャッシュが、不揮発性メモリ54に蓄積されているか否かを判定する(ステップS81)。ステップS81における判定の結果が「真」であるとき(Yes)、コンテンツキャッシュ管理部30は、データの読み出し範囲は再生キャッシュ内にあるか否かを判定する(ステップS82)。ステップS82における判定の結果が「真」であるとき(Yes)、再生キャッシュ再生部60が、不揮発性メモリ54からデータ(すなわち再生キャッシュ)を読み出す(ステップS83)。次に、再生キャッシュの管理情報を更新する(ステップS84)。こうして、コンテンツ再生処理部20が、不揮発性メモリ54から読み出された再生キャッシュを再生する(ステップS89)。
【0142】
一方、ステップS81における判定の結果が「偽」であるとき(No)、ディスク再生部40が、再生対象のデータをディスク2から読み出す(ステップS86)。また、ステップS82における判定の結果が「偽」であるとき(No)、再生キャッシュ制御部56が不揮発性メモリ54の再生キャッシュを破棄して(ステップS85)から、ディスク再生部40が、再生対象のデータをディスク2から読み出す(ステップS86)。次に、コンテンツキャッシュ管理部30が、コンテンツを通常再生中か否かを判定する(ステップS87)。ステップS87における判定の結果が「真」であるとき(Yes)、コンテンツキャッシュ管理部30が、コンテンツ再生処理部20の再生バッファがフルか否かを判定する(ステップS88)。ステップS88における判定の結果が「偽」であるとき(No)、ディスク再生部40は、ディスク2から次のデータを読み出す。こうして、再生バッファがフルになるまでは、ディスク2からデータの読み出しを継続する。
【0143】
一方、ステップS87における判定の結果が「偽」であるとき(No)、すなわち、先送り再生や後戻り再生などのトリック再生を実行中の場合は、コンテンツ再生処理部20が、ディスク2から読み出されたデータを再生する。また、ステップS88における判定の結果が「真」であるとき(Yes)も、コンテンツ再生処理部20が、ディスク2から読み出されたデータを再生する。
【0144】
(コンテンツの具体例)
図12は、記録再生装置1が再生するコンテンツの具体例および当該コンテンツの再生キャッシュの具体例をそれぞれ示す図である。
【0145】
この図の例では、コンテンツは、オリジナルのデジタル放送番組である。図12の100は時間軸を表し、102はコンテンツの先頭を表し、104はコンテンツの終端を表す。このコンテンツは、本編(番組)とコマーシャル(CM)とからなる。各本編と各CMとは、いずれもチャプターの一つである。図12では、CMがチャプターAであり、そのCMに続けて再生される本編がチャプターBであるとする。記録再生装置1において、トリック再生の一つであるチャプタースキップ処理を行うと、各チャプターの先頭に移動できる。
【0146】
コンテンツの再生キャッシュ領域は合計で512MBだとする。このとき、図12の例では、再生キャッシュとして蓄積される過去データは120MBである。コンテンツの出力レートは3MB/sなので、過去データとしては40秒分のデータが不揮発性メモリ54に蓄積される。一方、未来データは残り全部である。すなわち、512MB−120MB=392MBのデータが、再生キャッシュとして蓄積される。
【0147】
未来データをこれだけ十分な量だけ確保するのは、チャプタースキップ処理によって、CMを完全にスキップすることを想定したためである。すなわち、図12の(a)に示すように、現在再生位置106がCMの先頭部分にあるときに、チャプタースキップ108を実行したとする。このとき、CM全てと、さらに次の本編の途中までとを含んだ未来データが、再生キャッシュとして不揮発性メモリ54に蓄積されている。したがって、図12の(b)に示すように、チャプタースキップ108のあと、チャプターBの本編の先頭に現在再生位置が移動されるが、この位置の再生キャッシュは不揮発性メモリ54に蓄積済みである。したがって記録再生装置1は、この再生キャッシュを不揮発性メモリ54から読み出し再生できるので、待ち時間を発生させることなく、チャプタースキップ処理を成功させられる。
【0148】
(過去データの秒数)
記録再生装置1は、30秒スキップと10秒スキップというトリック再生が可能である。30秒スキップは、コンテンツにおける30秒未来または過去の部分に現在再生位置を移動させる処理である。10秒スキップは、コンテンツにおける10秒未来または過去の部分に現在再生位置を移動させる処理である。
【0149】
記録再生装置1は、30秒スキップによってCMをスキップする処理を行う際、あやまって本編の開始部分まで飛ばしてしまったときに、その飛ばした部分を10秒スキップによって戻すのに十分な時間分として、40秒(30秒+10秒)の過去データを再生キャッシュとして不揮発性メモリ54に蓄積しておく。この工夫の詳細について、図13を参照して以下に説明する。
【0150】
図13は、記録再生装置においてスキップ再生を繰り返した場合にどの再生キャッシュからデータを読み出すかを説明する図である。図13の(a)に示すように、CMに入ってから30秒スキップ110を一回行ったとする。これにより、図13の(b)に示すように、現在再生位置106はCMの途中に移る。
【0151】
次に、30秒スキップ110を3回さらに行ったとする。これにより、図13の(c)に示すように、現在再生位置106はCMの終端近辺に移る。本来なら次の本編の直前なので、このまま本編が始まるのを待つべきであるが、誤って、さらに30秒スキップ110を行ったとする。これにより、図13の(d)に示すように、現在再生位置106が本編の開始位置を大きく超えた位置に移動する。このときユーザは、10秒スキップ112を行って、再生開始位置を10秒過去に戻す。これにより、現在再生位置106は図13の(e)に示す位置に移る。
【0152】
しかしまだ本編の開始位置にまで戻っていないので、もう一度10秒スキップ112を行って、再生開始位置を10秒過去に戻す。これにより、現在再生位置106は図13の(f)に示す位置に移る。しかし依然として本編の開始位置にまで戻っていないので、もう一度10秒スキップ112を行って、再生開始位置を10秒過去に戻す。これにより、現在再生位置106は図13の(g)に示す位置、すなわち本編の開始直前の位置にまで戻る。
【0153】
以上のように、40秒の過去データを再生キャッシュとして不揮発性メモリ54に蓄積しておくことによって、余分な30秒スキップによるスキップのやりすぎを、10秒スキップによって所望の位置に戻そうとしたときも、不揮発性メモリ54から再生キャッシュを読み出し再生できる。したがって、このような処理の際にも、待ち時間を生じさせることなく、コンテンツを素早く再生できる。
【0154】
(未来データの秒数)
コンテンツの未来データは、最低120秒分を再生キャッシュとして不揮発性メモリ54に蓄積する。理由は次の通りである。民間放送連盟放送基準の第18章には、30分以上の放送番組では、CMは番組時間の10%と規定されている。そこで、ドラマなどの1時間番組では約360秒のCMを含むことになる。もし本編が三分割されれば、CM1回あたり120秒となり、4分割されれば、1回あたり90秒となる。そこで、CM区間を一度にスキップしたとしても、再生キャッシュを読み出せるように、現在再生位置から約120秒分の過去データを、再生キャッシュとして不揮発性メモリ54に蓄積しておくことが望ましい。
【0155】
(再生キャッシュ蓄積処理の停止)
図12および図13に示すように、記録再生装置1は、各種のトリック再生が可能である。ここでいうトリック再生とは、通常再生とは異なる形態の再生のことであり、コンテンツにおける現在再生位置を大きく変化させるような再生のことである。トリック再生によって、コンテンツにおける現在再生位置は大きく変化する。したがって、トリック再生中において、現在再生位置を基準にした再生キャッシュの蓄積処理を継続したとしても、トリック再生後における現在再生位置から大きく外れた位置の再生キャッシュが蓄積される結果になりかねない。
【0156】
そこで記録再生装置1は、コンテンツのトリック再生を実行している間は、再生キャッシュの蓄積処理を停止する。そして、トリック再生の完了後、通常再生を再開すれば、再生キャッシュの蓄積処理も再開する。これにより、無駄な再生キャッシュを蓄積せずに済む。したがって、蓄積した再生キャッシュを効率的に利用できる。
【0157】
〔3.冒頭キャッシュおよび再生キャッシュの両方を利用する場合〕
記録再生装置1は、光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツの冒頭部分を、冒頭キャッシュとして不揮発性メモリ54に蓄積する。冒頭部分とは、コンテンツの先頭から一定時間または一定サイズのデータを意図している。どこまでを冒頭部分とするかは、記録再生装置1において予め決まっていたり、または記録再生装置1が動作の状況やディスク2の特性に応じて動的に決めたりする。
【0158】
また、記録再生装置1は、光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、再生キャッシュとして不揮発性メモリ54に蓄積する。再生開始位置からどこまでを再生キャッシュとして蓄積するかは、記録再生装置1において予め決まっていたり、または記録再生装置1が動作の状況やディスク2の特性に応じて動的に決めたりする。
【0159】
光ディスクドライブ43は一般に、トラック追従型でのデータ先読みしかできない。したがって、コンテンツがディスク2上に断片的に配置されている場合において、コンテンツの先送り再生をしようとしたとき、続き部分のデータの検索および読み出しに一定の時間を要する。これにより、続き部分の再生開始までに待ち時間が発生する。
【0160】
そこで記録再生装置1は、コンテンツにおける再生対象データが、冒頭キャッシュまたは再生キャッシュにヒットする場合、ヒットした冒頭キャッシュまたは再生キャッシュを不揮発性メモリ54から読み出して再生する。
【0161】
冒頭キャッシュは、コンテンツの冒頭部分における一定量のデータとして蓄積されている。一方、再生キャッシュは、再生開始位置よりも後に再生される一定量のデータとして蓄積されている。したがって、コンテンツの再生中において早送り再生が行われた結果、再生位置が現在の位置からそれよりも後の位置に変更された場合、当該変更された位置のデータが再生キャッシュとして蓄積済みであれば、当該データをディスク2から読み出すのではなく、その再生キャッシュを不揮発性メモリ54から読み出すことができる。すなわち、その箇所のデータをディスク2から読み出す必要がないので、データ(再生キャッシュ)を素早く読み出して再生できる。
【0162】
また、コンテンツの再生位置が、現在の再生位置から先頭に変更された場合、その箇所のデータの冒頭キャッシュを不揮発性メモリ54から読み出すことができる。すなわち、その箇所のデータをディスク2から読み出す必要がないので、データ(冒頭キャッシュ)を素早く読み出して再生できる。
【0163】
以上のように、記録再生装置1は、ディスク2に記録されているコンテンツの再生時に先送り再生を行った場合、待ち時間を発生させることなく、続きを素早く再生できる効果を奏する。また、コンテンツの再生開始位置を先頭に変更した場合も、待ち時間を発生させることなく、コンテンツの再生を継続することができる。
【0164】
(コンテンツ再生時の処理の流れ)
図14は、記録再生装置が、冒頭キャッシュおよび再生キャッシュの両方を利用してコンテンツを再生する際の処理の流れを示すフローチャートである。
【0165】
まず、コンテンツキャッシュ管理部30が、読み出し対象のデータが、冒頭キャッシュに全てヒットするか否かを判定する(ステップS91)。すなわち、読み出し対象のデータの全てが、冒頭キャッシュとして不揮発性メモリ54に蓄積されているか否かを判定する。ここで、ステップS91における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ再生部48が、読み出し対象のデータを不揮発性メモリ54内の冒頭キャッシュから読み出す(ステップS92)。次に、コンテンツ再生処理部20が、読み出されたデータを再生する(ステップS100)。
【0166】
一方、ステップS93における判定の結果が「偽」であるとき(No)、コンテンツキャッシュ管理部30は、読み出し対象のデータが冒頭キャッシュに一部ヒットするか否かを判定する(ステップS93)。ステップS93における判定の結果が「真」であるとき(Yes)、冒頭キャッシュ再生部48が、読み出し対象のデータのうちヒットした箇所を、不揮発性メモリ54内の冒頭キャッシュから読み出す(ステップS94)。一方、ステップS93における判定の結果が「偽」であるとき(No)、記録再生装置1は、ステップS94の処理をスキップする。
【0167】
コンテンツ再生処理部20は、次に、残りのデータ、すなわち、読み出し対象のデータのうち冒頭キャッシュにヒットしなかった部分が、再生キャッシュに全てヒットするか否かを判定する(ステップS95)。ステップS95における判定の結果が「真」であるとき(Yes)、再生キャッシュ再生部60が、当該残りのデータの全てを、不揮発性メモリ54内の再生キャッシュから読み出す(ステップS96)。次に、コンテンツ再生処理部20が、読み出されたデータを再生する(ステップS100)。
【0168】
一方、ステップS95における判定の結果が「偽」であるとき(No)、コンテンツキャッシュ管理部30は、残りのデータ、すなわち、読み出し対象のデータのうち冒頭キャッシュにヒットしなかった部分が、再生キャッシュに一部ヒットするか否かを判定する(ステップS97)。ステップSにおける判定の結果が「真」であるとき(Yes)、再生キャッシュ再生部60が、残りのデータのうち再生キャッシュにヒットした箇所を、不揮発性メモリ54内の再生キャッシュから読み出す(ステップS98)。一方、ステップS97における判定の結果が「偽」であるとき(No)、記録再生装置1は、ステップS98の処理をスキップする。
【0169】
ステップS97またはステップS98の処理が終了すると、読み出し対象のデータのうち冒頭キャッシュにも再生キャッシュにもヒットしなかった箇所を、ディスク再生部40が、ディスク2から読み出す(ステップS99)。コンテンツ再生処理部20が、読み出されたデータを再生する(ステップS100)。
【0170】
以上のように、記録再生装置1は、コンテンツ再生時における読み出し対象のデータが、冒頭キャッシュまたは再生キャッシュのいずれにヒットするか、あるはいずれにもヒットしないかによって、どこからデータを読み出すのかを柔軟に変更する。これにより、データの最適な読み出しおよび再生を可能とし、結果、コンテンツ再生時の待ち時間を最小限に減らすことができる。
【0171】
(コンテンツ録画時のデータの流れ)
図15〜図24は、コンテンツを録画しながら冒頭キャッシュおよび再生キャッシュを不揮発性メモリに蓄積する際の、記録再生装置1におけるデータの流れを示す説明図である。
【0172】
以下に説明する例では、記録再生装置1は、コンテンツとしてデジタル放送番組を受信してディスク2に録画する。その際、オリジナルのデジタル放送番組をそのまま受信する。したがって、コンテンツ受信時のビットレートは最大3MB/s(24Mbps)である。
【0173】
以下の例では、記録再生装置1は、ブロック1Aからブロック9Zの合計234個のブロックからなるコンテンツを受信する。各ブロックのサイズは一律に3MBである。記録再生装置1は、コンテンツの1ブロック分のデータを1秒間に1つずつ受信する。記録再生装置1は、受信したコンテンツをブロック単位でディスク2および不揮発性メモリ54に記録する。
【0174】
記録再生装置1は、3ブロック分の録画バッファを有している。受信したコンテンツのデータは、一旦、この録画バッファに書き込まれる。そして、録画バッファ内のデータが、ディスク2または不揮発性メモリ54に記録される。
【0175】
コンテンツのデータは、ディスク2および不揮発性メモリ54に3MBのブロック単位で記録される。ディスク2へのデータの書き込み速度は9MB/sである。不揮発性メモリ54には、コンテンツのデータが冒頭キャッシュまたは再生キャッシュとして書き込まれる。不揮発性メモリ54へのデータの書き込み速度は13MB/sであり、一方、不揮発性メモリ54からの再生キャッシュの読み出し速度は15MB/sである。
【0176】
記録再生装置1は、不揮発性メモリ54のうち最大で11ブロックを冒頭キャッシュを蓄積するための領域として利用できる。言い換えれば、コンテンツのうち、先頭から11ブロック分のデータは、冒頭キャッシュとして不揮発性メモリ54に蓄積されることが、記録再生装置1において予め定められている。
【0177】
一方、記録再生装置1は、不揮発性メモリ54のうち最大で40ブロックを、再生キャッシュを蓄積するための領域として利用できる。そのうち10ブロックは、過去データを蓄積するために用いられる。残りの30ブロックは、未来データを蓄積するために用いられる。
【0178】
図15〜図31において、WPは、冒頭キャッシュまたは再生キャッシュの書き込み位置を示す。また、RPは冒頭キャッシュまたは再生キャッシュの読み出し位置を示す。PPは、コンテンツにおける現在の再生位置を示す。
【0179】
まず、コンテンツの録画前において、記録再生装置1は図15に示す状態を取る。具体的には、ディスク2にはコンテンツが記録されていない。録画バッファは空である。不揮発性メモリ54には何のデータも記録されていない。より詳細には、冒頭キャッシュ用のブロックも、再生キャッシュ用のブロックも、不揮発性メモリ54において全く確保されていない。確保される前のブロックは、全て、不揮発性メモリフリーブロックプールに格納されている。
【0180】
この状態からコンテンツ受信処理部16が、3個のブロック分のデータ1A〜1Cを受信する(図16)。これらのデータは全て録画バッファに書き込まれる。これにより、録画バッファはフルになる。この時点で録画バッファに蓄積されているデータ1A〜1Cは、コンテンツのうち先頭から3ブロック目までのデータである。したがって、これらのデータは、再生キャッシュでは無く冒頭キャッシュとして不揮発性メモリ54に蓄積されるべきものである。
【0181】
そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、冒頭キャッシュ蓄積用のブロックとして、3つのブロックを確保する(図17)。これと平行して、録画バッファに蓄積されているデータ1A〜1Cは、冒頭キャッシュ蓄積部46に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ1D〜1Fを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0182】
冒頭キャッシュ蓄積部46は、データ1A〜1Cを、確保された3つのブロックに蓄積する。次に、冒頭キャッシュ再生部48が、データ1A〜1Cを、冒頭キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1A〜1Cをディスク2に記録する。
【0183】
不揮発性メモリ54に対するデータ(冒頭キャッシュ)の読み書きは、書き込みを優先する。すなわち、冒頭キャッシュをまず書き込んでから、余った時間を利用して、冒頭キャッシュを読み出す。
【0184】
以上の一連の処理によって、不揮発性メモリ54の冒頭キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Cを蓄積しているブロックの最後に変更される。したがって、次の冒頭キャッシュは、このブロックの次のものとして確保されたブロックに書き込まれる。
【0185】
この時点で録画バッファに蓄積されているデータ1D〜1Fは、コンテンツのうち先頭から4ブロック目〜6ブロック目までのデータである。したがって、これらのデータは、再生キャッシュでは無く冒頭キャッシュとして不揮発性メモリ54に蓄積されるべきものである。
【0186】
そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、冒頭キャッシュ蓄積用のブロックとして、3つのブロックを確保する(図18)。これと平行して、録画バッファに蓄積されているデータ1D〜1Fは、冒頭キャッシュ蓄積部46に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ1G〜1Iを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0187】
冒頭キャッシュ蓄積部46は、データ1D〜1Fを、確保された3つのブロックに蓄積する。次に、冒頭キャッシュ再生部48が、データ1D〜1Fを、冒頭キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1D〜1Fをディスク2に記録する。
【0188】
以上の一連の処理によって、不揮発性メモリ54の冒頭キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Fを蓄積しているブロックの最後に変更される。したがって、次の冒頭キャッシュは、このブロックの次のものとして確保されたブロックに書き込まれる。
【0189】
この時点で録画バッファに蓄積されているデータ1G〜1Iは、コンテンツのうち先頭から7ブロック目〜9ブロック目までのデータである。したがって、これらのデータは、再生キャッシュでは無く冒頭キャッシュとして不揮発性メモリ54に蓄積されるべきものである。
【0190】
そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、冒頭キャッシュ蓄積用のブロックとして、3つのブロックを確保する(図19)。これと平行して、録画バッファに蓄積されているデータ1G〜1Iは、冒頭キャッシュ蓄積部46に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ1J〜1Lを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0191】
冒頭キャッシュ蓄積部46は、データ1G〜1Iを、確保された3つのブロックに蓄積する。次に、冒頭キャッシュ再生部48が、データ1G〜1Iを、冒頭キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1G〜1Iをディスク2に記録する。
【0192】
以上の一連の処理によって、不揮発性メモリ54の冒頭キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Iを蓄積しているブロックの最後に変更される。したがって、次の冒頭キャッシュは、このブロックの次のものとして確保されたブロックに書き込まれる。
【0193】
この時点で録画バッファに蓄積されているデータ1J〜1Kは、コンテンツのうち先頭から10ブロック目〜11ブロック目までのデータである。したがって、これらのデータは、再生キャッシュでは無く冒頭キャッシュとして不揮発性メモリ54に蓄積されるべきものである。一方、データLは、コンテンツのうち先頭から12ブロック目のデータである。上述したように、冒頭キャッシュ用のブロックは合計11ブロック分までしか確保できない。そのため、データ1Lは冒頭キャッシュとしては不揮発性メモリ54に蓄積できない。この時点ではコンテンツのデータはまだ全く再生キャッシュとして不揮発性メモリ54に蓄積されていない。したがって、データ1Lは、再生キャッシュとして不揮発性メモリ54に蓄積されるべきものである。
【0194】
そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、冒頭キャッシュ蓄積用のブロックとして2つのブロックを確保する共に、再生キャッシュ蓄積用のブロックとして1つのブロックを確保する(図20)。これと平行して、録画バッファに蓄積されているデータ1J〜Kは、冒頭キャッシュ蓄積部46に渡される。一方、データ1Lは再生キャッシュ蓄積部58に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ1M〜1Oを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0195】
冒頭キャッシュ蓄積部46は、データ1J〜1Kを、確保された2つのブロックに蓄積する。次に、冒頭キャッシュ再生部48が、データJ〜1Kを、冒頭キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1J〜1Kをディスク2に記録する。
【0196】
一方、再生キャッシュ蓄積部58は、データ1Lを、確保された1つのブロックに蓄積する。次に、再生キャッシュ再生部60が、データ1Lを、再生キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1Lをディスク2に記録する。
【0197】
以上の一連の処理によって、不揮発性メモリ54の冒頭キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Kを蓄積しているブロックの最後に変更される。記録再生装置1は、これ以上のブロックを冒頭キャッシュ蓄積用のブロックとしては確保できないので、不揮発性メモリ54にこれ以上の新たな冒頭キャッシュは蓄積しない。
【0198】
一方、不揮発性メモリ54の再生キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Lを蓄積しているブロックの最後に変更される。したがって、次の再生キャッシュはこのブロックの次のものとして確保されるブロックに記録される。
【0199】
これ以降、録画バッファに蓄積されているデータは、冒頭キャッシュは蓄積されない。そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、再生キャッシュ蓄積用のブロックとして3つのブロックを確保する(図21)。これと平行して、録画バッファに蓄積されているデータ1M〜1Oは、再生キャッシュ蓄積部58に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ1P〜1Rを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0200】
再生キャッシュ蓄積部58は、データ1M〜1Oを、確保された3つのブロックに再生キャッシュとして蓄積する。次に、再生キャッシュ再生部60が、データ1M〜1Oを、再生キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ1M〜1Oをディスク2に記録する。
【0201】
以上の一連の処理によって、不揮発性メモリ54の再生キャッシュブロックにおけるWPが、最後に蓄積されたデータ1Oを蓄積しているブロックの最後に変更される。したがって、次の再生キャッシュはこのブロックの次のものとして確保されるブロックに記録される。
【0202】
これ以降、記録再生装置1は、3ブロック分のデータを受信し、不揮発性メモリ54に再生キャッシュとして蓄積する共に、同じデータをディスク2に記録する処理を、継続する。その結果、図22に示す状態を取る。このとき、録画バッファには2Y〜2Wのデータが記録されている。一方、不揮発性メモリ54において、再生キャッシュ用の領域として確保できるブロックは、残り3つのみとなっている。
【0203】
そこでキャッシュ領域管理部50が、不揮発性メモリフリーブロックプールから、再生キャッシュ蓄積用のブロックとして3つのブロックを確保する(図23)。これと平行して、録画バッファに蓄積されているデータ2W〜2Yは、再生キャッシュ蓄積部58に渡される。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ2X〜3Bを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0204】
再生キャッシュ蓄積部58は、データ2W〜2Yを、確保された3つのブロックに再生キャッシュとして蓄積する。次に、再生キャッシュ再生部60が、データ2W〜2Yを、再生キャッシュ用ブロックから読み出し、ディスク記録部38に出力する。ディスク記録部38は、データ2W〜2Yをディスク2に記録する。
【0205】
以上の一連の処理によって、不揮発性メモリ54の再生キャッシュブロックにおけるWPが、最後に蓄積されたデータ2Yを蓄積しているブロックの最後に変更される。記録再生装置1は、これ以上のブロックを再生キャッシュ蓄積用のブロックとしては確保できないので、不揮発性メモリ54にこれ以上の新たな再生キャッシュは蓄積しない。したがって、新たに受信したデータは、全て、ディスク2に直接記録する。
【0206】
すなわち、まず、録画バッファに蓄積されているデータ2X〜3Bは、ディスク記録部38に渡される。ディスク記録部38は、データ2X〜3Bをディスク2に記録する(図24)。これにより録画バッファが一旦空になる。しかしコンテンツ受信処理部16が、次の3つのブロック分のデータ3C〜3Eを受信し、録画バッファに記録する。これで録画バッファは再びフルになる。
【0207】
これ以降、記録再生装置1は、3ブロック分のデータを受信し、ディスク2に記録する処理を継続する。そして、コンテンツのデータを全て受信しかつディスク2に記録し終えたら、コンテンツの録画処理を終了する。
【0208】
以上のように、記録再生装置1は、コンテンツの録画処理の一環として、冒頭キャッシュおよび再生キャッシュを不揮発性メモリ54に蓄積することができる。したがって、ユーザに対して冒頭キャッシュおよび再生キャッシュの存在を意識させることがない。また、冒頭キャッシュおよび再生キャッシュの蓄積処理がユーザによる記録再生装置1の操作を邪魔することがないため、ユーザは記録再生装置1を快適に操作できる。
【0209】
また、冒頭キャッシュ蓄積部46は、コンテンツの記録開始時、光ディスクがレディか否かに関わらず、コンテンツの冒頭部分を冒頭キャッシュとして不揮発性メモリ54に蓄積する。一方、ディスク記録部38は、光ディスクがレディになったあと、不揮発性メモリ54に蓄積されている冒頭キャッシュを、光ディスクに記録する。これにより、記録再生装置1は、ディスク2に対してデータを記録できるか否かに関わらず、冒頭キャッシュを不揮発性メモリ54に蓄積する。また、ディスク2がレディになったあと、冒頭キャッシュをディスク2にコンテンツの冒頭部分として記録する。したがって、冒頭キャッシュを効率的に蓄積できる。
【0210】
また、再生キャッシュ蓄積部58は、コンテンツのディスク2への記録中において、冒頭キャッシュ蓄積部46による冒頭キャッシュの蓄積が完了したあと、コンテンツにおける冒頭キャッシュに相当する箇所の続き以降の箇所を、再生キャッシュとして不揮発性メモリ54に蓄積することが好ましい。これにより記録再生装置1は、コンテンツをディスク2に記録しながら、当該コンテンツの冒頭キャッシュおよびその続きとなる再生キャッシュを両方とも不揮発性メモリ54に蓄積できる。したがって、ディスク2に記録されたコンテンツをはじめて再生するとき、コンテンツの冒頭キャッシュおよび再生キャッシュの蓄積が完了している。これにより、コンテンツを再生する際、蓄積済みの冒頭キャッシュおよび再生キャッシュを活用して、待ち時間無くコンテンツを再生できる。
【0211】
(コンテンツの再生時のデータの流れ)
図25〜図31は、冒頭キャッシュおよび再生キャッシュの両方が不揮発性メモリに蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置1におけるデータの流れを示す説明図である。
【0212】
まず、コンテンツの再生前において、記録再生装置1は図25に示す状態を取る。具体的には、ディスク2にはコンテンツが記録されている。一方、再生バッファおよび不揮発性メモリ54には何のデータも記録されていない。また、冒頭キャッシュ用のブロックも再生キャッシュ用のブロックも、まだ1つも確保されていない。
【0213】
この状態から、ディスク再生部40が、3個のブロック分のデータ1A〜1Cをディスク2から読み出す(図26)。これらのデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、再生バッファはフルになる。
【0214】
次に、コンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Aを再生する(図27)。これにより、コンテンツの実際の再生が開始される。結果、表示装置24の画面にはデータ1Aが表示される。この処理と平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ1D〜1Fをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ1D〜1Fを、確保された3つのブロックに再生キャッシュとして蓄積する。その際、データ1Dを蓄積しているブロックがRPとなり、データ1Fを蓄積しているブロックの最後がWPとなる。
【0215】
次に、コンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Bを再生する(図28)。結果、表示装置24の画面にはデータ1Bが表示される。また、再生バッファにはデータ1Cのみが残されている。この処理と平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ1G〜1Iをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ1G〜1Iを、確保された3つのブロックに再生キャッシュとして蓄積する。その際、データ1Iを蓄積しているブロックの最後がWPとなる。
【0216】
このあと、記録再生装置1は、再生バッファ内の最後のデータであるデータ1Cを再生しながら、ディスク2から続きのデータを読み出し再生キャッシュとして不揮発性メモリ54に蓄積する。これにより再生バッファが空になる。そのあと、記録再生装置1は、データ1Cの続きのデータをディスク2からではなく不揮発性メモリ54内の再生キャッシュから読み出し再生バッファに蓄積してから再生すると共に、それと平行して、ディスク2から続きのデータを読み出し不揮発性メモリ54に再生キャッシュとして蓄積する処理を、繰り返す。
【0217】
この結果、記録再生装置1は、図29に示す状態を取る。具体的には、記録再生装置1は、データ1Nを再生している。再生バッファには、データ1O〜1Qが記録されている。再生キャッシュとして、最も新しいデータ2P〜2Qが不揮発性メモリ54に蓄積されている。その際、データ2Rが再生キャッシュとして蓄積される時点において、最も古い再生キャッシュであるデータ1Dは、もはや再生キャッシュとして蓄積される範囲を外れることになる。しかし記録再生装置1では、コンテンツの先頭から11ブロック目までのデータは、冒頭キャッシュとして蓄積されるべきデータとして、予め定められている。したがって、データ1Dは、記録再生装置1において、冒頭キャッシュとして蓄積される範囲に含まれる。
【0218】
そこで記録再生装置1は、このデータ1Dを削除しない。その代わりに、キャッシュ領域管理部50が、データ1Dを蓄積しているブロックを、再生キャッシュ用のブロックから冒頭キャッシュ用のブロックとして割り当てる。これにより、データ1Dは不揮発性メモリ54において冒頭キャッシュとして扱われる。このとき、キャッシュ領域管理部50は、データ1Dを蓄積するための新たなブロックを確保しているわけではない。また、データ1Dを再生キャッシュ用のブロックから冒頭キャッシュ用のブロックにコピーしているわけでもない。ただ、現時点においてデータ1Dを蓄積しているブロックの扱いを、再生キャッシュ用のブロックから冒頭キャッシュ用のブロックに変えただけである。これにより、不揮発性メモリ54におけるデータの書き込み回数を増やすことなく、冒頭キャッシュを増やすことが出来る。結果、不揮発性メモリ54の寿命を延ばすことができる。
【0219】
次に、コンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Oを再生する(図30)。結果、表示装置24の画面にはデータ1Oが表示される。また、再生バッファが1ブロック分だけ空になる。そこでこのときの再生処理と平行して、再生キャッシュ蓄積部58が、1ブロック分のデータであり、データ1Qの続きであるデータ1Rを不揮発性メモリ54から読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。また、不揮発性メモリ54におけるRPが、データ1Rを蓄積しているブロックから、データ1Sを蓄積しているブロックに移動する。これにより、次に不揮発性メモリ54から再生キャッシュが読み出されるとき、データ1Sが読み出し対象となる。
【0220】
これらの処理と平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして1つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、1ブロック分のデータ2Sをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2Sを、確保された1つのブロックに再生キャッシュとして蓄積する。その際、データ2Sを蓄積しているブロックの最後がWPとなる。このとき、最も古い再生キャッシュであるデータ1Eは、もはや再生キャッシュとして蓄積される範囲を外れることになる。しかしデータ1Eは、記録再生装置1において、冒頭キャッシュとして蓄積される範囲に含まれる。そこでキャッシュ領域管理部50が、データ1Eを蓄積しているブロックを、再生キャッシュ用のブロックから冒頭キャッシュ用のブロックとして割り当てる。これにより、データ1Eは不揮発性メモリ54において冒頭キャッシュとして扱われる。
【0221】
これ以降、記録再生装置1は、1ブロック分のデータを再生しながら、1ブロック分のデータを新たに再生キャッシュとして不揮発性メモリ54に蓄積する処理を繰り返す。同時に、最も古いデータを再生キャッシュとして蓄積しているブロックを、そのデータが冒頭キャッシュの範囲内にある限り、冒頭キャッシュ用のブロックに割り当てる処理も繰り返す。その結果、記録再生装置1は図31に示す状態を取る。
【0222】
具体的には、冒頭キャッシュとして、コンテンツの先頭から11ブロック目であるデータ1Kまでが、不揮発性メモリ54に蓄積されている。したがって、これ以上のデータを冒頭キャッシュとしては蓄積できない。そこで、図31の例では、新たな再生キャッシュとしてデータ2Zを不揮発性メモリ54に蓄積する際、最も古いデータであるデータ1Lを蓄積しているブロックを、冒頭キャッシュ用のブロックに割り当てることはせず、解放して不揮発性メモリフリーブロックプールに返却する。このあと、記録再生装置1は、再生対象のデータを不揮発性メモリ54から読み出して再生しながら、新たなデータをディスク2から読み出して再生キャッシュとして不揮発性メモリ54に蓄積する処理を継続する。
【0223】
以上のように記録再生装置1は、不揮発性メモリ54において再生キャッシュを蓄積している領域を、必要に応じて、冒頭キャッシュを蓄積している領域に割り当てる。具体的には、再生キャッシュとしては不要になったデータを蓄積している領域を、蓄積したデータを削除することなく、冒頭キャッシュ用の領域に割り当てる。これにより、元々は再生キャッシュとして蓄積されていたデータは、領域の割り当て後には冒頭キャッシュとして管理される。なお、記録再生装置1は、このような処理を、割り当て前の領域に蓄積されている再生キャッシュが、コンテンツにおける冒頭部分のデータである際に実行する。
【0224】
これにより、不揮発性メモリ54におけるデータの書き込み回数を増やすことなく、冒頭キャッシュを増やすことが出来る。結果、不揮発性メモリの寿命を延ばすことができる。また、不要となった再生キャッシュを削除せず、冒頭キャッシュとして再利用する。したがって、再生キャッシュおよび冒頭キャッシュを効率的に利用できる。
【0225】
(コンテンツ再生時のデータの流れ)
図32〜図39は、不揮発性メモリに冒頭キャッシュは蓄積されているが再生キャッシュは蓄積されていない場合にコンテンツの再生を開始する際の、記録再生装置1におけるデータの流れを示す説明図である。
【0226】
まず、コンテンツの再生前において、記録再生装置1は図32に示す状態を取る。具体的には、ディスク2にはコンテンツが記録されている。一方、再生バッファには何のデータも記録されていない。また、再生キャッシュ用のブロックも、まだ1つも確保されていない。一方、冒頭キャッシュ用のブロックは全て確保済みであり、かつ、冒頭キャッシュは確保された全ブロックに蓄積されている。すなわち、冒頭キャッシュはこれ以上の蓄積できない。
【0227】
この状態から、冒頭キャッシュ再生部48が、3個のブロック分のデータ1A〜1Cを不揮発性メモリ54の冒頭キャッシュから読み出す(図33)。これらのデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、再生バッファはフルになる。
【0228】
この処理と平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして2つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、2個のブロック分のデータ1L〜1Mをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ1L〜1Mを、確保された2つのブロックに再生キャッシュとして蓄積する。その際、データ1Aを蓄積しているブロックがPPとなり、一方、データ1Dを蓄積しているブロックがRPとなる。また、データ1Mを蓄積しているブロックの最後がWPとなる。
【0229】
記録再生装置1では、不揮発性メモリ54から冒頭キャッシュの読み出しと再生キャッシュの書き込みとを行うとき、読み出し処理を優先する。すなわち、読み出し処理が終わったあと、残った時間を利用してデータを書き込む。図33の例では、2ブロック分のデータを書き込む時間しか残されていないので、再生キャッシュ蓄積部58は2ブロック分のデータ1L〜1Mを不揮発性メモリ54に書き込む。
【0230】
次に、コンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Aを再生する(図34)。これにより、コンテンツの実際の再生が開始される。結果、表示装置24の画面にはデータ1Aが表示される。この処理と平行して、冒頭キャッシュ再生部48が、1ブロック分のデータであり、データ1Cの続きであるデータ1Dを不揮発性メモリ54の冒頭キャッシュから読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Dを蓄積しているブロックから、データ1Eを蓄積しているブロックに移動する。
【0231】
図34の例では、図33の例とは異なり、不揮発性メモリ54に対するデータの書き込み時間が、3ブロック分の余裕がある。そこで、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ1N〜1Pをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ1N〜1Pを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ1Pを蓄積しているブロックの最後がWPとなる。
【0232】
これ以降、記録再生装置1は、1ブロック分のデータを再生しながら、3ブロック分のデータをディスク2から読み出し、再生キャッシュとして不揮発性メモリ54に蓄積する処理を繰り返す。この結果、記録再生装置1は図35に示す状態を取る。具体的には、コンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Hを再生する。結果、表示装置24の画面にはデータ1Hが表示される。この処理と平行して、冒頭キャッシュ再生部48が、1ブロック分のデータであり、データ1Jの続きであるデータ1Kを不揮発性メモリ54の冒頭キャッシュから読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Kを蓄積しているブロックの最後に移動する。データ1Kは、冒頭キャッシュとして蓄積されている最後のデータである。したがって、データ1Kよりもあとのデータは、冒頭キャッシュにヒットしない。
【0233】
これと平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ2I〜2Kをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2I〜2Kを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ2Kを蓄積しているブロックの最後がWPとなる。
【0234】
次にコンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Iを再生する(図36)。結果、表示装置24の画面にはデータ1Iが表示される。この処理と平行して、再生キャッシュ再生部60が、1ブロック分のデータであり、データ1Kの続きであるデータ1Lを不揮発性メモリ54の再生キャッシュから読み出す。データ1Lは冒頭キャッシュにはヒットせず、再生キャッシュにヒットするからである。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Lを蓄積しているブロックの最後に移動する。
【0235】
これと平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ2L〜2Nをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2L〜2Nを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ2Nを蓄積しているブロックの最後がWPとなる。
【0236】
次にコンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Jを再生する(図37)。結果、表示装置24の画面にはデータ1Jが表示される。この処理と平行して、再生キャッシュ再生部60が、1ブロック分のデータであり、データ1Lの続きであるデータ1Mを不揮発性メモリ54の再生キャッシュから読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Mを蓄積しているブロックの最後に移動する。
【0237】
これと平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ2O〜2Qをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2O〜2Qを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ2Qを蓄積しているブロックの最後がWPとなる。
【0238】
次にコンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Kを再生する(図38)。結果、表示装置24の画面にはデータ1Kが表示される。この処理と平行して、再生キャッシュ再生部60が、1ブロック分のデータであり、データ1Mの続きであるデータ1Nを不揮発性メモリ54の再生キャッシュから読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Nを蓄積しているブロックの最後に移動する。
【0239】
これと平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ2R〜2Tをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2R〜2Tを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ2Tを蓄積しているブロックの最後がWPとなる。
【0240】
次にコンテンツ再生処理部20が、再生バッファ内の1ブロック分のデータ1Lを再生する(図39)。結果、表示装置24の画面にはデータ1Lが表示される。この処理と平行して、再生キャッシュ再生部60が、1ブロック分のデータであり、データ1Nの続きであるデータ1Oを不揮発性メモリ54の再生キャッシュから読み出す。このデータは、コンテンツ再生処理部20の再生バッファに書き込まれる。これにより、不揮発性メモリ54におけるRPが、データ1Oを蓄積しているブロックの最後に移動する。
【0241】
これと平行して、キャッシュ領域管理部50が、再生キャッシュ用のブロックとして3つのブロックを、不揮発性メモリフリーブロックプールから確保する。また、ディスク再生部40が、3個のブロック分のデータ2U〜2Wをディスク2から読み出し、再生キャッシュ蓄積部58に出力する。再生キャッシュ蓄積部58は、データ2U〜2Wを、確保された3つのブロックに再生キャッシュとして蓄積する。これにより、データ2Wを蓄積しているブロックの最後がWPとなる。
【0242】
本発明は上述した各実施形態に限定されるものではない。当業者は、請求項に示した範囲内において、本発明をいろいろと変更できる。すなわち、請求項に示した範囲内において、適宜変更された技術的手段を組み合わせれば、新たな実施形態が得られる。
【0243】
〔1.冒頭キャッシュ利用時の工夫〕
(冒頭キャッシュの削除)
冒頭キャッシュ制御部44は、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことが、ディスク挿抜検出部34によって検出された場合、冒頭キャッシュを全て不揮発性メモリ54から削除することが好ましい。
【0244】
記録再生装置1の電源がオフされているときに、光ディスクドライブ43に挿入されているディスク2が抜かれたか、または他のディスク2に入れ替えられた場合、再び記録再生装置1の電源にオンになったとき、光ディスクドライブ43には全くディスク2が挿入されているか、または、電源がオフになる前に挿入されていたディスク2とは異なるディスク2が挿入されている。すなわち、記録再生装置1の電源がオフになる前後において、同じディスク2が挿入され続けたという状態ではなくなる。すなわち、蓄積された冒頭キャッシュに対応するディスク2が、光ディスクドライブ43に挿入されていない。
【0245】
そこで、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことが検出された場合、冒頭キャッシュを全て不揮発性メモリ54から削除する。これにより、誤った冒頭キャッシュを読み出して再生することを防止できる。
【0246】
このとき、冒頭キャッシュ制御部44は、記録再生装置1の電源オフの前後において、同じディスク2が挿入され続けている場合、冒頭キャッシュを削除しない。したがって、記録再生装置1が電源オンになってから直ぐに正しい冒頭キャッシュを使用できるので、電源オンの後にコンテンツの再生開始に要する時間を短縮できる。
【0247】
記録再生装置1は、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことを、次のようにして検出できる。まず、記録再生装置1は、光ディスクドライブ43に任意のディスク2が挿入された際に押下されるディスク挿入検出スイッチと、光ディスクドライブ43に任意のディスク2が装着された際に押下されるディスク装填検出スイッチとをさらに備えている。これにより記録再生装置1は、記録再生装置1の電源オン時に、ディスク挿入検出スイッチが押下されており、かつ、ディスク装填検出スイッチが押下されていない場合に、任意のディスク2が光ディスクドライブ43に挿入されているが装着はされていないと判定する。結果、簡単な構成によって、記録再生装置1の電源オン時に任意のディスク2が光ディスクドライブ43に挿入されているが装着はされていないことを検出できる。
【0248】
また、記録再生装置1は、ディスク2が光ディスクドライブ43に装填されている間、そのことを示す装着フラグ(値が1の装着フラグ)を不揮発性メモリ54に記録する。そして、記録再生装置1の電源オン時に、値が1の装着フラグが不揮発性メモリ180に記録されている場合に、ディスクドライブ43にディスク2が装填されたまま記録再生装置1の電源がオフされていたと判定する。これにより、ディスク2が装填されたまま光ディスクドライブ43の電源がオフされていたことを、確実に検出できる。
【0249】
(冒頭キャッシュの削除)
冒頭キャッシュ制御部44は、ディスク挿抜検出部34によって、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることが検出された場合、冒頭キャッシュを不揮発性メモリ54から全て削除することが好ましい。
【0250】
記録再生装置1の動作中において、ユーザが、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2を光ディスクドライブ43から抜き出し、このディスク2とは異なる他のディスク2を光ディスクドライブ43に挿入したとする。このとき、記録されている冒頭キャッシュは、現在光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツと一致しない可能性が高い。したがって、現在の冒頭キャッシュをそのまま読み出すと、誤った冒頭キャッシュを再生する虞がある。
【0251】
そこで冒頭キャッシュ制御部44は、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることが検出された場合、冒頭キャッシュを不揮発性メモリ54から全て削除する。これにより、誤った冒頭キャッシュを読み出して再生することを防止できる。
【0252】
なお、ディスク挿抜検出部34は、ディスク2ごとに一意に記録されている所定の識別子を、ディスク2が挿入されるたびに不揮発性メモリ54に記録する。そして、最も新たに記録した識別子と、光ディスクドライブ43に新たに挿入されたディスク2の識別子とを比較し、両者が異なっている場合に、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることを検出する。
【0253】
(冒頭キャッシュの削除)
冒頭キャッシュ制御部44は、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることがディスク挿抜検出部34によって検出された場合、冒頭キャッシュを不揮発性メモリ54から全て削除することが好ましい。
【0254】
記録再生装置1の動作中において、ユーザが、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2を一旦光ディスクドライブ43から抜き出し、そのディスク2を別の記録再生装置1において使用して、記録内容を書き換えて、元の記録再生装置1に再び挿入したとする。このとき、冒頭キャッシュを蓄積したディスク2と、現在光ディスクドライブ43に挿入されているディスク2とは、全く同じディスクではあるが、記録状態が異なっている。したがって、現在の冒頭キャッシュが、ディスク2に記録されているコンテンツのデータとは異なっている可能性がある。これにより、誤った冒頭キャッシュを読み出して使用するおそれがある。
【0255】
そこで冒頭キャッシュ制御部44は、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることが検出された場合、不揮発性メモリ54から冒頭キャッシュを全て削除する。これにより、誤った冒頭キャッシュを読み出して再生することを防止できる。
【0256】
なお、ディスク挿抜検出部34は、ディスク2ごとに一意に記録されている所定の識別子に加え、ディスク2に記録されているバインディングナンスも、ディスク2が挿入されるたびに不揮発性メモリ54に記録する。バインディングナンスは、ディスク2に記録されているコンテンツごとの暗号化鍵(タイトルキー)をまとめて暗号化するために使用する乱数である。ディスク2に新たにコンテンツを追加した場合、ディスク2からコンテンツを削除した場合、またはディスク2のコンテンツを編集した場合、タイトルキーが追加、廃止、または変更されることになる。この場合、すべてのタイトルキーをまとめて暗号化するために、記録再生装置1は、新たなバインディングナンス(乱数)を使用し、かつこの乱数をディスク2に記録する。したがって、バインディングナンスは、ディスク2の記録状態に応じて異なる値を取る。一方、識別子は、ディスク2に記録されているコンテンツに関わらず、ディスク2ごとに一意の定まった値を取る。
【0257】
ディスク挿抜検出部34は、最も新たに記録した識別子と、光ディスクドライブ43に新たに挿入されたディスク2の識別子とを比較する。両者が同じ場合は、次に、最も新たに記録したバインディングナンスと、光ディスクドライブ43に新たに挿入されたディスク2のバインディングナンスとを比較する。そして、両者が異なる場合、冒頭キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることを検出する。
【0258】
(冒頭キャッシュの同期編集)
冒頭キャッシュ制御部44は、ディスク2は書き換え可能なディスクであり、かつ、ディスク2における冒頭キャッシュに相当する箇所が書き換えられた場合、不揮発性メモリ54における冒頭キャッシュを同じように書き換えることが好ましい。これにより、コンテンツにおける書き換えられて内容が変わった箇所を再生しようとした際、従前の内容の冒頭キャッシュが誤って再生されることを防ぐことができると共に、正しい内容の冒頭キャッシュを再生できる。
【0259】
このような同期編集の具体的な処理の流れを、以下に説明する。以下では、ディスク2に記録されているコンテンツXを編集として先頭から30秒のオフセットを経た箇所から1分間(ブロックB〜ブロックC)分のデータを削除する例を挙げる。
【0260】
1.まず、コンテンツ制御部26が、コンテンツキャッシュ管理部30に対し、コンテンツXのブロックB〜ブロックCの削除を指示する。
【0261】
2.コンテンツキャッシュ管理部30は、ディスク制御部42に対し、コンテンツXのブロックB〜ブロックCを削除するように指示する。
【0262】
3.コンテンツキャッシュ管理部30は、冒頭キャッシュ蓄積済みリストを参照して、コンテンツXの冒頭キャッシュとして、削除対象の区間であるブロックB〜ブロックCが蓄積されていることを検出する。
【0263】
4.コンテンツキャッシュ管理部30は、冒頭キャッシュ制御部44に対し、コンテンツXの冒頭キャッシュにおけるブロックB〜ブロックCの削除を指示する。
【0264】
5.冒頭キャッシュ制御部44は、コンテンツXの冒頭キャッシュにおけるブロックB〜ブロックCを削除する。
【0265】
6.冒頭キャッシュ制御部44は、削除した2ブロックを、キャッシュ領域管理部50に返却する。
【0266】
7.冒頭キャッシュ制御部44は、冒頭キャッシュリストにおけるコンテンツXの情報を更新する。具体的には、コンテンツXのキャッシュサイズを「0」に更新する。また、更新後の冒頭キャッシュリストから、冒頭キャッシュ未蓄積リストおよび冒頭キャッシュ蓄積済みリストを再作成する。これにより、コンテンツXの冒頭キャッシュが未蓄積であることが、冒頭キャッシュ未蓄積リストに登録される。そして、次の冒頭キャッシュ蓄積のタイミングで、コンテンツXの冒頭キャッシュとして、ブロックCの続きのブロック(すなわちブロックD〜ブロックE)が蓄積されることになる。
【0267】
なお、4.〜7.の処理は、ディスク2上のコンテンツXの編集が成功したのを確認してから行ってもよい。
【0268】
(冒頭キャッシュの優先蓄積)
ユーザは通常、表示装置24の画面を通じて提示されたコンテンツリストを見て、その上位に位置するコンテンツほどより優先的に視聴する可能性が高い。そこで、冒頭キャッシュ蓄積部46は、ディスク2に記録された複数のコンテンツのうち、コンテンツリストにおいてより上位に位置する情報が表すコンテンツの冒頭キャッシュを、他のコンテンツの冒頭キャッシュよりも優先的に蓄積することが好ましい。これにより、ユーザが視聴する可能性が高いコンテンツの冒頭キャッシュを、優先的に蓄積できる。したがって、蓄積された冒頭キャッシュを効率的に使用できる。
【0269】
また、ユーザは、より新しくディスク2に記録されたコンテンツほど、より優先的に視聴する可能性が高い。そこで、冒頭キャッシュ蓄積部46は、ディスク2に記録された複数のコンテンツのうち、より新しくディスク2に記録されたコンテンツの冒頭キャッシュを、より優先的に蓄積することが好ましい。この場合、ユーザが視聴する可能性が高いコンテンツの冒頭キャッシュを、優先的に蓄積できる。したがって、蓄積された冒頭キャッシュを効率的に使用できる。
【0270】
ユーザは、ディスク2に連続ドラマ等のシリーズ物の複数のコンテンツがディスク2に記録されている場合、シリーズ番号の古い順からコンテンツを視聴する可能性が高い。そこで、冒頭キャッシュ制御部44は、ディスク2にシリーズ物の複数のコンテンツが記録されている場合、これら複数のコンテンツのうち、シリーズ番号がより古いコンテンツの冒頭キャッシュほど、より優先的に蓄積することが好ましい。これにより、ユーザが視聴する可能性が高いコンテンツの冒頭キャッシュを、優先的に蓄積できる。したがって、蓄積された冒頭キャッシュを効率的に使用できる。
【0271】
また、ユーザは、ディスク2に記録された複数のコンテンツのうち、まだ視聴していないコンテンツを、視聴済みのコンテンツよりも優先的に視聴する可能性が高い。そこで、冒頭キャッシュ蓄積部46は、ディスク2に記録された複数のコンテンツのうち、ユーザによって視聴されていないコンテンツの冒頭キャッシュを、視聴済みのコンテンツの冒頭キャッシュよりも優先的に蓄積することが好ましい。この場合、ユーザが視聴する可能性が高いコンテンツの冒頭キャッシュを、優先的に蓄積できる。したがって、蓄積された冒頭キャッシュを効率的に使用できる。
【0272】
(冒頭キャッシュ領域の解放)
冒頭キャッシュ制御部44は、不揮発性メモリ54における冒頭キャッシュを蓄積するための領域が枯渇した場合、複数のコンテンツのうち、より古くディスク2に記録されたコンテンツの冒頭キャッシュを蓄積した領域を、より優先的に解放することが好ましい。この場合、ユーザによって視聴される可能性がより低いコンテンツの冒頭キャッシュを蓄積する領域をより優先的に解放する。したがって、冒頭キャッシュを効率的に活用できる。
【0273】
冒頭キャッシュ制御部44は、冒頭キャッシュ蓄積用の領域が枯渇した場合でも、これから冒頭キャッシュを蓄積しようとするコンテンツが、ディスク2に記録された他のどのコンテンツよりも古い場合、既存の領域は解放せず、不揮発性メモリ54における現状の冒頭キャッシュの状態をそのまま維持してもよい。言い換えると、コンテンツの冒頭キャッシュをディスク2に記録しないようにする。これにより、最も古くてユーザが視聴しない可能性が最も高いコンテンツの冒頭キャッシュが不揮発性メモリ54に蓄積されることを防止できるので、蓄積済みの冒頭キャッシュを有効に活用できる。
【0274】
(コンテンツの視聴/未視聴の判定)
ディスク2に記録されたあるコンテンツをユーザが視聴済みであるか否かは、コンテンツに含まれる既視聴情報を使用して判定できる。この情報は、ブルーレイディスクのアプリケーション規格において規定されている。ブルーレイディスクのコンテンツは、データ本体であるストリームファイルと、それと対になって作成されるプレイリストファイルとからなる。後者のファイルに、コンテンツが一度でも再生されたか否かを示す情報(既視聴情報)が含まれている。そこで記録再生装置1は、ディスク2がブルーレイディスクである場合、この情報を参照して、ユーザがコンテンツを視聴したか否かを判定できる。
【0275】
記録再生装置1は、ユーザがコンテンツを視聴したか否かを、記録再生装置1が不揮発性メモリ54に保持しているコンテンツリストから判定することもできる。
【0276】
記録再生装置1は、ディスクに録画されているコンテンツを視聴したか否かに関する既視聴情報を用いて、ユーザがコンテンツを視聴済みか否かを判定することもできる。記録再生装置1は、この既視聴情報を、ディスク2が光ディスクドライブ43からイジェクトされるまで、不揮発性メモリ54内のコンテンツリストに保持する。記録再生装置1は、ディスク2を光ディスクドライブ43に挿入してからイジェクトするまでの間に、ディスク2に録画したコンテンツのうち、再生していないコンテンツを未視聴と判定する。そして、そのコンテンツが未視聴であることを示す情報を、不揮発性メモリ54内のコンテンツリストに追加する。一方、記録再生装置1は、ディスク2が光ディスクドライブ43に挿入されたときにすでにディスク2に記録されているコンテンツは、ユーザが実際に視聴したかどうかにかかわらず、既視聴とする。そして、各コンテンツが既視聴であることを示す情報を、不揮発性メモリ54内のコンテンツリストに追加する。
【0277】
〔2.再生キャッシュ利用時の工夫〕
(再生キャッシュの利用)
再生キャッシュ再生部60は、光ディスクドライブに挿入されているディスク2の回転が停止している状態において、コンテンツの再生が開始されようとするとき、当該コンテンツの再生開始位置のデータが再生キャッシュとして不揮発性メモリ54に蓄積済みの場合は、当該再生キャッシュを不揮発性メモリ54から読み出して再生することが好ましい。これにより、記録再生装置1は、ディスク2が安定した状態になるまでの間も、コンテンツを正常に再生できる。すなわち、データを読み出す際に、光ディスクの回転が安定するまで待つ必要が無く、素早く読み出すことができる。
【0278】
(再生キャッシュ蓄積のタイミング)
記録再生装置1は、コンテンツの再生中において、当該コンテンツの再生を停止する指示を受け付けたあと、ディスク2の回転を停止させずそのまま回転させてもよい。そして、上記指示が受け付けられた後、コンテンツにおける現在再生位置よりも先における再生キャッシュの蓄積処理を継続する。この場合、記録再生装置1は、コンテンツの視聴が停止したあと、その時点以降のコンテンツを継続して蓄積する。したがって、同じコンテンツの再生を中断時から再開したとき、蓄積済みの再生キャッシュを利用できるので、コンテンツを待ち時間なく再生できる。
【0279】
また、記録再生装置1は、再生キャッシュの蓄積中に、再生中のコンテンツとは異なる他のコンテンツを再生するための光ディスクドライブ43に対するアクセスがあることが検出された場合、再生キャッシュの蓄積を中止する。これにより、再生キャッシュの蓄積処理と、光ディスクドライブ43へのアクセスとが競合した場合、後者を優先させる。したがって、ユーザは記録再生装置1を快適に操作できる。
【0280】
(再生キャッシュ蓄積の手順)
コンテンツの再生を開始するとき、当該コンテンツの再生キャッシュが不揮発性メモリ54に全く蓄積されていないとする。この場合、記録再生装置1は、コンテンツ再生処理部20の再生バッファを十分満たすまで、ディスク2からデータを読み出し蓄積する。その間、再生キャッシュは全く不揮発性メモリ54に蓄積しない。そうして、再生バッファに十分にデータが蓄積されたら、その再生バッファを使用してコンテンツの再生を開始する。そして、それと平行して、ディスク2から続きのデータを読み出して再生キャッシュとして不揮発性メモリ54に蓄積する。その際、再生キャッシュの蓄積処理を、再生バッファが枯渇するまで続ける。
【0281】
こうした一連の処理によって、記録再生装置1は、コンテンツを再生しながら、不揮発性メモリ54に十分な量の再生キャッシュを蓄積することができる。
【0282】
また、コンテンツの再生を開始するとき、当該コンテンツの再生キャッシュが不揮発性メモリ54に蓄積されているとする。この場合、記録再生装置1は、再生対象データの続きデータに相当する再生キャッシュを不揮発性メモリ54から読み出して再生バッファに蓄積させると共に、再生キャッシュとして蓄積されたデータのうちもっと新たに蓄積されたデータの続きデータをディスク2から読み出して、新たな再生キャッシュとして不揮発性メモリ54に蓄積する。すなわち、再生キャッシュの再生処理と蓄積処理とを平行して実行しながら、コンテンツを再生する。
【0283】
(再生キャッシュの優先蓄積)
ユーザは、通常、最後に再生されたコンテンツを、他のコンテンツよりも優先的に視聴する可能性が高い。そこで、再生キャッシュ蓄積部58は、ディスク2に記録された複数のコンテンツのうち、最後に再生されたコンテンツの再生キャッシュを、より優先的に蓄積することが好ましい。この場合、ユーザが視聴する可能性が高いコンテンツの再生キャッシュを、優先的に蓄積できる。したがって、蓄積された再生キャッシュを効率的に使用できる。
【0284】
また、ユーザは、通常、より新しくディスク2に記録されたコンテンツほど、より優先的に視聴する可能性が高い。そこで、再生キャッシュ蓄積部58は、ディスク2に記録された複数のコンテンツのうち、より新しくディスク2に記録されたコンテンツの再生キャッシュを、より優先的に蓄積することが好ましい。この場合、ユーザが視聴する可能性が高いコンテンツの再生キャッシュを、優先的に蓄積できる。したがって、蓄積された再生キャッシュを効率的に使用できる。
【0285】
また、ユーザは、通常、表示装置24の画面を通じて提示されたコンテンツリストを見て、そのリストにおいて選択しているコンテンツほどより優先的に視聴する可能性が高い。そこで、再生キャッシュ蓄積部58は、ディスク2に記録された複数のコンテンツのうち、コンテンツリストにおいてユーザによって選択されているコンテンツの再生キャッシュを、他のコンテンツの再生キャッシュよりも優先的に蓄積することが好ましい。これにより、ユーザが視聴する可能性が高いコンテンツの再生キャッシュを、優先的に蓄積できる。したがって、蓄積された再生キャッシュを効率的に使用できる。
【0286】
また、ユーザは、通常、表示装置24の画面を通じて提示されたコンテンツリストを見て、その上位に位置するコンテンツほどより優先的に視聴する可能性が高い。そこで、再生キャッシュ蓄積部58は、ディスク2に記録された複数のコンテンツのうち、コンテンツリストにおいてより上位に位置する情報が表すコンテンツの再生キャッシュを、他のコンテンツの再生キャッシュよりも優先的に蓄積することが好ましい。これにより、ユーザが視聴する可能性が高いコンテンツの再生キャッシュを、優先的に蓄積できる。したがって、蓄積された再生キャッシュを効率的に使用できる。
【0287】
(再生キャッシュの同期編集)
再生キャッシュ制御部56は、ディスク2は書き換え可能なディスクであり、かつ、ディスク2における再生キャッシュに相当する箇所が書き換えられた場合、不揮発性メモリ54における再生キャッシュを同じように書き換えることが好ましい。これにより、コンテンツにおける書き換えられて内容が変わった箇所を再生しようとした際、従前の内容の再生キャッシュが誤って再生されることを防ぐことができると共に、正しい内容の再生キャッシュを再生できる。
【0288】
このような同期編集の具体的な処理の流れを、以下に説明する。以下では、ディスク2に記録されているコンテンツXを編集として先頭から30秒のオフセットを経た箇所から1分間(ブロックB〜ブロックC)分のデータを削除する例を挙げる。
【0289】
1.まず、コンテンツ制御部26が、コンテンツキャッシュ管理部30に対し、コンテンツXのブロックB〜ブロックCの削除を指示する。
【0290】
2.コンテンツキャッシュ管理部30は、ディスク制御部42に対し、コンテンツXのブロックB〜ブロックCを削除するように指示する。
【0291】
3.コンテンツキャッシュ管理部30は、不揮発性メモリ54を参照して、コンテンツXの再生キャッシュとして、削除対象の区間であるブロックB〜ブロックCが蓄積されていることを検出する。
【0292】
4.コンテンツキャッシュ管理部30は、再生キャッシュ制御部56に対し、コンテンツXの再生キャッシュにおけるブロックB〜ブロックCの削除を指示する。
【0293】
5.再生キャッシュ制御部56は、コンテンツXの再生キャッシュにおけるブロックB〜ブロックCを削除する。
【0294】
6.再生キャッシュ制御部56は、削除した2ブロックを、キャッシュ領域管理部50に返却する。
【0295】
なお、4.〜6.の処理は、ディスク2上のコンテンツXの編集が成功したのを確認してから行ってもよい。
【0296】
(再生キャッシュの削除)
再生キャッシュ制御部56は、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことが、ディスク挿抜検出部34によって検出された場合、再生キャッシュを全て不揮発性メモリ54から削除することが好ましい。
【0297】
記録再生装置1の電源がオフされているときに、光ディスクドライブ43に挿入されているディスク2が抜かれたか、または他のディスク2に入れ替えられた場合、再び記録再生装置1の電源にオンになったとき、光ディスクドライブ43には全くディスク2が挿入されているか、または、電源がオフになる前に挿入されていたディスク2とは異なるディスク2が挿入されている。すなわち、記録再生装置1の電源がオフになる前後において、同じディスク2が挿入され続けたという状態ではなくなる。すなわち、蓄積された再生キャッシュに対応するディスク2が、光ディスクドライブ43に挿入されていない。
【0298】
そこで、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことが検出された場合、再生キャッシュを全て不揮発性メモリ54から削除する。これにより、誤った再生キャッシュを読み出して再生することを防止できる。
【0299】
このとき、再生キャッシュ制御部56は、記録再生装置1の電源オフの前後において、同じディスク2が挿入され続けている場合、再生キャッシュを削除しない。したがって、記録再生装置1が電源オンになってから直ぐに正しい再生キャッシュを使用できるので、電源オンの後にコンテンツの再生開始に要する時間を短縮できる。
【0300】
記録再生装置1は、記録再生装置1の電源がオフされているときに、ディスク2が光ディスクドライブ43から抜かれたかまたは他のディスク2に入れ替えられたことを、次のようにして検出できる。まず、記録再生装置1は、光ディスクドライブ43に任意のディスク2が挿入された際に押下されるディスク挿入検出スイッチと、光ディスクドライブ43に任意のディスク2が装着された際に押下されるディスク装填検出スイッチとをさらに備えている。これにより記録再生装置1は、記録再生装置1の電源オン時に、ディスク挿入検出スイッチが押下されており、かつ、ディスク装填検出スイッチが押下されていない場合に、任意のディスク2が光ディスクドライブ43に挿入されているが装着はされていないと判定する。結果、簡単な構成によって、記録再生装置1の電源オン時に任意のディスク2が光ディスクドライブ43に挿入されているが装着はされていないことを検出できる。
【0301】
また、記録再生装置1は、ディスク2が光ディスクドライブ43に装填されている間、そのことを示す装着フラグ(値が1の装着フラグ)を不揮発性メモリ54に記録する。そして、記録再生装置1の電源オン時に、値が1の装着フラグが不揮発性メモリ180に記録されている場合に、ディスクドライブ43にディスク2が装填されたまま記録再生装置1の電源がオフされていたと判定する。これにより、ディスク2が装填されたまま光ディスクドライブ43の電源がオフされていたことを、確実に検出できる。
【0302】
(再生キャッシュの削除)
再生キャッシュ制御部56は、ディスク挿抜検出部34によって、再生キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることが検出された場合、再生キャッシュを不揮発性メモリ54から全て削除することが好ましい。
【0303】
記録再生装置1の動作中において、ユーザが、再生キャッシュを蓄積したコンテンツが記録されているディスク2を光ディスクドライブ43から抜き出し、このディスク2とは異なる他のディスク2を光ディスクドライブ43に挿入したとする。このとき、記録されている再生キャッシュは、現在光ディスクドライブ43に挿入されているディスク2に記録されているコンテンツと一致しない可能性が高い。したがって、現在の再生キャッシュをそのまま読み出すと、誤った再生キャッシュを再生する虞がある。
【0304】
そこで再生キャッシュ制御部56は、再生キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることが検出された場合、再生キャッシュを不揮発性メモリ54から全て削除する。これにより、誤った再生キャッシュを読み出して再生することを防止できる。
【0305】
なお、ディスク挿抜検出部34は、ディスク2ごとに一意に記録されている所定の識別子を、ディスク2が挿入されるたびに不揮発性メモリ54に記録する。そして、最も新たに記録した識別子と、光ディスクドライブ43に新たに挿入されたディスク2の識別子とを比較し、両者が異なっている場合に、再生キャッシュを蓄積したコンテンツが記録されているディスク2とは異なる他のディスク2が、光ディスクドライブ43に挿入されていることを検出する。
【0306】
(再生キャッシュの削除)
再生キャッシュ制御部56は、再生キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることがディスク挿抜検出部34によって検出された場合、再生キャッシュを不揮発性メモリ54から全て削除することが好ましい。
【0307】
記録再生装置1の動作中において、ユーザが、再生キャッシュを蓄積したコンテンツが記録されているディスク2を一旦光ディスクドライブ43から抜き出し、そのディスク2を別の記録再生装置1において使用して、記録内容を書き換えて、元の記録再生装置1に再び挿入したとする。このとき、再生キャッシュを蓄積したディスク2と、現在光ディスクドライブ43に挿入されているディスク2とは、全く同じディスクではあるが、記録状態が異なっている。したがって、現在の再生キャッシュが、ディスク2に記録されているコンテンツのデータとは異なっている可能性がある。これにより、誤った再生キャッシュを読み出して使用するおそれがある。
【0308】
そこで再生キャッシュ制御部56は、再生キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることが検出された場合、不揮発性メモリ54から再生キャッシュを全て削除する。これにより、誤った再生キャッシュを読み出して再生することを防止できる。
【0309】
なお、ディスク挿抜検出部34は、ディスク2ごとに一意に記録されている所定の識別子に加え、ディスク2に記録されているバインディングナンスも、ディスク2が挿入されるたびに不揮発性メモリ54に記録する。バインディングナンスは、ディスク2に記録されているコンテンツごとの暗号化鍵(タイトルキー)をまとめて暗号化するために使用する乱数である。ディスク2に新たにコンテンツを追加した場合、ディスク2からコンテンツを削除した場合、またはディスク2のコンテンツを編集した場合、タイトルキーが追加、廃止、または変更されることになる。この場合、すべてのタイトルキーをまとめて暗号化するために、記録再生装置1は、新たなバインディングナンス(乱数)を使用し、かつこの乱数をディスク2に記録する。したがって、バインディングナンスは、ディスク2の記録状態に応じて異なる値を取る。一方、識別子は、ディスク2の記録状態に関わらず、ディスク2ごとに一意の定まった値を取る。
【0310】
ディスク挿抜検出部34は、最も新たに記録した識別子と、光ディスクドライブ43に新たに挿入されたディスク2の識別子とを比較する。両者が同じ場合は、次に、最も新たに記録したバインディングナンスと、光ディスクドライブ43に新たに挿入されたディスク2のバインディングナンスとを比較する。そして、両者が異なる場合、再生キャッシュを蓄積したコンテンツが記録されているディスク2と同じディスク2ではあるが、記録状態が異なっているディスク2が光ディスクドライブ43に挿入されていることを検出する。
【0311】
(再生キャッシュの解放)
再生キャッシュ制御部56は、コンテンツの再生が再生キャッシュに相当しない位置から開始されるとき、不揮発性メモリ54に蓄積されている再生キャッシュを解放することが好ましい。この場合、コンテンツの再生時にもはや必要とされない再生キャッシュを解放する。したがって、誤った再生キャッシュを再生することを防止できる。
【0312】
また、再生キャッシュ制御部56は、再生キャッシュが蓄積されているコンテンツとは異なる他のコンテンツの再生が開始されようとするとき、不揮発性メモリ54に蓄積されている再生キャッシュを解放することが好ましい。この場合、新たなに再生されるコンテンツとは合致しない再生キャッシュを解放する。したがって、誤った再生キャッシュを再生することを防止できる。
【0313】
記録再生装置1において、ディスク2に複数のコンテンツが記録されており、かつ、不揮発性メモリ54における再生キャッシュを蓄積するための領域が枯渇した場合、再生キャッシュ制御部56は、これら複数のコンテンツのうち視聴者によって視聴される可能性がより低いコンテンツの再生キャッシュを蓄積した領域を、より優先的に解放することが好ましい。これにより、再生キャッシュ蓄積領域を効率的に活用できる。
【0314】
また、再生キャッシュ制御部56は、不揮発性メモリ54における再生キャッシュを蓄積するための領域が枯渇した場合、複数のコンテンツのうち、現在再生位置がより終端に近いコンテンツの再生キャッシュを蓄積した領域を、より優先的に解放することが好ましい。または、複数のコンテンツのうち、より古くディスク2に記録されたコンテンツの再生キャッシュを蓄積した領域を、より優先的に解放することが好ましい。または、複数のコンテンツのうち、最後に再生された日時がより古いコンテンツの再生キャッシュを蓄積した領域を、より優先的に解放することが好ましい。
【0315】
これらの場合、いずれも、ユーザによって視聴される可能性がより低いコンテンツの再生キャッシュを蓄積する領域をより優先的に解放する。したがって、再生キャッシュを効率的に活用できる。
【0316】
また、再生キャッシュ制御部56は、再生キャッシュ蓄積用の領域が枯渇した場合でも、これから再生キャッシュを蓄積しようとするコンテンツが、ディスク2に記録された他のどのコンテンツよりも古い場合、既存の領域は解放せず、不揮発性メモリ54における現状の再生キャッシュの状態をそのまま維持してもよい。言い換えると、コンテンツの再生キャッシュをディスク2に記録しないようにする。これにより、最も古くてユーザが視聴しない可能性が最も高いコンテンツの再生キャッシュが不揮発性メモリ54に蓄積されることを防止できるので、蓄積済みの再生キャッシュを有効に活用できる。
【0317】
〔3.冒頭キャッシュおよび再生キャッシュの両方を利用する場合の工夫〕
(キャッシュヒット判定の順位)
記録再生装置1では、コンテンツキャッシュ管理部30が、コンテンツにおける読み出し対象のデータが冒頭キャッシュまたは再生キャッシュのいずれにヒットするのかを判定する。その際、コンテンツキャッシュ管理部30は、再生対象データがコンテンツにおける先頭近辺にある場合、再生対象データがまず上記冒頭キャッシュにヒットするか否かを判定し、ヒットしなければ次に上記再生キャッシュにヒットすることが好ましい。一方、再生対象データがコンテンツにおける先頭近辺以外にある場合、再生対象データがまず再生キャッシュにヒットするか否かを判定し、ヒットしなければ次に冒頭キャッシュにヒットするか否かを判定することが好ましい。
【0318】
この場合、コンテンツキャッシュ管理部30は、再生対象データを、その位置に応じてよりヒットする可能性が高い方のキャッシュと比較する。したがって、再生対象データが冒頭キャッシュまたは再生キャッシュにヒットするか否かを、効率よく判定できる。なお、ここでいう「先頭近辺」とは、コンテンツの先頭から一定位置までのことを意図している。たとえば、これは冒頭キャッシュとして蓄積されるデータの範囲に一致している。
【0319】
(冒頭キャッシュおよび再生キャッシュの利用)
ディスク2は一般に、回転が停止している状態から、安定する状態になるまでに、一定の時間を要する。したがって、回転が安定するまでは、ディスク2からコンテンツのデータを読み出すことができない。一方、不揮発性メモリ54からはいつでも素早くデータを読み出すことができる。
【0320】
そこで記録再生装置1は、ディスクドライブ43に挿入されているディスク2の回転が停止している状態において、コンテンツの再生が開始されようとするとき、再生対象データが冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした冒頭キャッシュまたは再生キャッシュを不揮発性メモリ54から読み出して再生することが好ましい。これにより、記録再生装置1は、ディスク2が安定した状態になるまでの間も、コンテンツを正常に再生できる。すなわち、データを読み出す際に、光ディスクの回転が安定するまで待つ必要が無く、素早く読み出すことができる。
【0321】
なお、ディスク2が正常に回転しており、データをディスク2から読み出せる場合であっても、一般に、ディスク2における所望の位置に読み出し位置をシークするためには一定の時間を要する。したがって、ディスク2からデータを読み出してコンテンツを再生する限り、不要な待ち時間が発生する虞がある。
【0322】
そこで、記録再生装置1は、ディスクドライブ43に挿入されているディスク2が正常に回転しており、ディスク2からデータを読み出せる状態においても、コンテンツにおける再生対象データが冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした冒頭キャッシュまたは再生キャッシュを不揮発性メモリ54から読み出して再生することが好ましい。これにより、記録再生装置1は、ディスク2のシーク完了を待つことなく、所望のデータを不揮発性メモリ54から読み出して再生できる。したがって、待ち時間無くコンテンツを素早く再生できる。また、不揮発性メモリ54から冒頭キャッシュまたは再生キャッシュを読み出しながらコンテンツを再生を継続する間、現在再生位置よりも後に再生させるデータをディスク2から読み出して再生キャッシュとして不揮発性メモリ54に蓄積できる。したがって、再生キャッシュを効率的に蓄積できる。
【0323】
(キャッシュの圧縮記録)
冒頭キャッシュ蓄積部46は、コンテンツのデータを冒頭キャッシュとして蓄積する際、当該データがディスク2において記録されている際の記録フォーマットよりも圧縮率の高い記録フォーマットで、不揮発性メモリ54に蓄積してもよい。同様に、再生キャッシュ蓄積部58は、コンテンツのデータを再生キャッシュとして蓄積する際、当該データがディスク2において記録されている際の記録フォーマットよりも圧縮率の高い記録フォーマットで不揮発性メモリ54に蓄積してもよい。
【0324】
これにより、不揮発性メモリ54に対するデータ読み書きの頻度を減らすことができる。したがって、不揮発性メモリ54の寿命を延ばすことができる。さらに、より小さい容量の不揮発性メモリ54を使っても、同等の機能を実現できる。
【0325】
なお、以上の処理によって、ディスク2に記録されているデータの圧縮率と、不揮発性メモリ54に蓄積されている冒頭キャッシュおよび再生キャッシュの圧縮率とは互いに異なる結果となる。しかし、このような圧縮率の異なるデータがまたがる部分を再生する際も、記録再生装置1は、コンテンツをスムーズに再生できる。
【0326】
(データ読み出しの手順)
記録再生装置1は、読み出し対象のデータがディスク2、冒頭キャッシュ、再生キャッシュの少なくとも2箇所をまたがって記録されている場合、読み出し対象のデータの個々の部分を、当該部分が実際に記録されているディスク2または不揮発性メモリ54から平行して読み出して再生すればよい。この場合、ディスク2へのアクセスを極力減らして、読み出し対象のデータの読み出し速度を最大限に高めることができる。
【0327】
一方、記録再生装置1は、読み出し対象のデータがディスク2、冒頭キャッシュ、再生キャッシュの少なくとも2箇所をまたがって記録されている場合、読み出し対象のデータをディスク2から一括して読み出して再生してもよい。この場合、読み出し対象のデータを個々の部分に分けてそれぞれ別の記録場所から読み出すという複雑な処理を回避できる。したがって、読み出し処理を簡素化できる。なお、ディスク2では一定量のディスク2が一つに連なって記録されている場合が非常に多いので、このような処理が可能となる。
【0328】
(記録再生装置1の他の構成)
記録再生装置1は、図40に示す構成としても実現できる。図40は、本発明に係る記録再生装置1の変形例の構成を表すブロック図である。
【0329】
図7に示す記録再生装置1は、リモコン受信部10、アンテナ12、チューナー14、コンテンツ受信処理部16、システム制御部18、コンテンツ再生処理部20、出力部22、表示装置24、コンテンツ制御部26、電源制御部28、およびディスクドライブ43aを備えている。ディスクドライブ43aは、コンテンツキャッシュ管理部30、ディスクドライブ監視部32、ディスク挿抜検出部34、ディスク記録再生36、ディスク記録部38、ディスク再生部40、ディスク制御部42、冒頭キャッシュ制御部44、冒頭キャッシュ蓄積部46、冒頭キャッシュ再生部48、キャッシュ領域管理部50、不揮発性メモリ制御部52、不揮発性メモリ54、再生キャッシュ制御部56、再生キャッシュ蓄積部58、および再生キャッシュ再生部60を備えている。
【0330】
図1に示すディスクドライブ43は、従来からある汎用的なものである。一方、図40に示すディスクドライブ43aは、コンテンツキャッシュ管理部30〜再生キャッシュ再生部60を備えることによって、図1に示す記録再生装置1が実行可能な、コンテンツのキャッシュ管理に関する全ての処理を、自ら実行することができる。これにより、ディスクドライブ43aを従来の一般的な記録再生装置に備えることによって、図40に示す記録再生装置1を実現できる。すなわち、ディスクドライブの交換という単純な作業によって、図1に示す記録再生装置1と同等の機能を有する装置を製造することができる。
【0331】
(プログラムおよび記録媒体)
最後に、記録再生装置1に含まれている各ブロックは、ハードウェアロジックによって構成すればよい。または、次のように、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
【0332】
すなわち記録再生装置1は、各機能を実現するプログラムの命令を実行するCPU、このプログラムを格納したROM(Read Only Memory)、上記プログラムを実行可能な形式に展開するRAM(Random Access Memory)、および、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)を備えている。この構成により、本発明の目的は、所定の記録媒体によっても、達成できる。
【0333】
この記録媒体は、上述した機能を実現するソフトウェアである記録再生装置1のプログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録していればよい。記録再生装置1に、この記録媒体を供給する。これにより、コンピュータとしての記録再生装置1(またはCPUやMPU)が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
【0334】
プログラムコードを記録再生装置1に供給する記録媒体は、特定の構造または種類のものに限定されない。すなわちこの記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などとすることができる。
【0335】
また、記録再生装置1を通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して記録再生装置1に供給する。この通信ネットワークは記録再生装置1にプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえばインターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等であればよい。
【0336】
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえばIEEE1394、USB(Universal Serial Bus)、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0337】
本発明に係る記録再生装置は、ブルーレイディスクなどの各種の光ディスクを読み書きする記録再生装置(レコーダ装置)として、幅広く利用できる。
【符号の説明】
【0338】
1 記録再生装置
2 ディスク(光ディスク)
10 リモコン受信部(停止指示受付手段)
12 アンテナ
14 チューナー
16 コンテンツ受信処理部
18 システム制御部
20 コンテンツ再生処理部
22 出力部
24 表示装置
26 コンテンツ制御部
28 電源制御部
30 コンテンツキャッシュ管理部(キャッシュヒット判定手段)
32 ディスクドライブ監視部
34 ディスク挿抜検出部
36 ディスク記録再生部
38 ディスク記録部(コンテンツ記録手段)
40 ディスク再生部
42 ディスク制御部
44 冒頭キャッシュ制御部
46 冒頭キャッシュ蓄積部(冒頭キャッシュ蓄積手段)
48 冒頭キャッシュ再生部(キャッシュ再生手段)
50 キャッシュ領域管理部
52 不揮発性メモリ制御部
54 不揮発性メモリ
56 再生キャッシュ制御部
58 再生キャッシュ蓄積部(再生キャッシュ蓄積手段)
60 再生キャッシュ再生部(キャッシュ再生手段)

【特許請求の範囲】
【請求項1】
コンテンツが記録されている光ディスクが挿入される光ディスクドライブと、不揮発性メモリとを備え、当該コンテンツを再生する記録再生装置であって、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツの冒頭部分を、冒頭キャッシュとして上記不揮発性メモリに蓄積する冒頭キャッシュ蓄積手段と、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、上記不揮発性メモリに蓄積する再生キャッシュ蓄積手段と、
上記コンテンツにおける再生対象データが、上記冒頭キャッシュおよび上記再生キャッシュのうちいずれにヒットするかを判定するキャッシュヒット判定手段と、
上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生するキャッシュ再生手段とを備えていることを特徴とする記録再生装置。
【請求項2】
上記キャッシュヒット判定手段は、
上記再生対象データが上記コンテンツにおける先頭近辺にある場合、再生対象データがまず上記冒頭キャッシュにヒットするか否かを判定し、ヒットしなければ次に上記再生キャッシュにヒットするか否かを判定し、
上記再生対象データが上記コンテンツにおける先頭近辺以外にある場合、再生対象データがまず上記再生キャッシュにヒットするか否かを判定し、ヒットしなければ次に上記冒頭キャッシュにヒットするか否かを判定することを特徴とする請求項1に記載の記録再生装置。
【請求項3】
上記再生キャッシュとして上記不揮発性メモリに蓄積されているデータが、上記コンテンツの上記冒頭部分であり、かつ上記冒頭キャッシュとして不揮発性メモリに蓄積していない場合、当該データを上記冒頭キャッシュに割り当てる冒頭キャッシュ割り当て手段をさらに備えていることを特徴とする請求項1または2に記載の記録再生装置。
【請求項4】
上記コンテンツを上記光ディスクに記録するコンテンツ記録手段をさらに備えており、
上記冒頭キャッシュ蓄積手段は、上記コンテンツ記録手段による上記コンテンツの記録開始時、上記光ディスクがレディか否かに関わらず、上記コンテンツの冒頭部分を、上記冒頭キャッシュとして上記不揮発性メモリに蓄積し、
上記コンテンツ記録手段は、上記光ディスクがレディになったあと、上記不揮発性メモリに蓄積されている上記冒頭キャッシュを上記光ディスクに記録することを特徴とする請求項1〜3のいずれか1項に記載の記録再生装置。
【請求項5】
上記キャッシュ蓄積手段は、上記コンテンツ記録手段による上記コンテンツの記録中において、上記冒頭キャッシュ蓄積手段による上記冒頭キャッシュの蓄積が完了したあと、コンテンツにおける上記冒頭キャッシュに相当する箇所の続き以降の箇所を、上記再生キャッシュとして上記不揮発性メモリに蓄積することを特徴とする請求項4に記載の記録再生装置。
【請求項6】
上記キャッシュ再生手段は、上記光ディスクドライブに挿入されている光ディスクの回転が停止している状態において、上記コンテンツの再生が開始されようとするとき、上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生することを特徴とする請求項1〜5のいずれか1項に記載の記録再生装置。
【請求項7】
コンテンツが記録されている光ディスクが挿入される光ディスクドライブと、不揮発性メモリとを備え、当該コンテンツを再生する記録再生装置が実行するキャッシュ処理方法であって、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツの冒頭部分を、冒頭キャッシュとして上記不揮発性メモリに蓄積する冒頭キャッシュ蓄積ステップと、
上記光ディスクドライブに挿入されている上記光ディスクに記録されている上記コンテンツにおける、再生開始位置よりも後に再生される一定量のデータを、上記不揮発性メモリに蓄積する再生キャッシュ蓄積ステップと、
上記コンテンツにおける再生対象データが、上記冒頭キャッシュおよび上記再生キャッシュのうちいずれにヒットするかを判定するキャッシュヒット判定ステップと、
上記再生対象データが上記冒頭キャッシュまたは再生キャッシュにヒットすると判定された場合、ヒットした上記冒頭キャッシュまたは再生キャッシュを上記不揮発性メモリから読み出して再生するキャッシュ再生ステップとを備えていることを特徴とするキャッシュ処理方法。
【請求項8】
請求項1から6のいずれか1項に記載の記録再生装置を動作させるプログラムであって、コンピュータを上記の各手段として機能させるためのプログラム。
【請求項9】
請求項8に記載のプログラムを記録しているコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate


【公開番号】特開2012−89210(P2012−89210A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2010−235840(P2010−235840)
【出願日】平成22年10月20日(2010.10.20)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】