(57)【特許請求の範囲】
【請求項１】
ＡＶストリームと、一以上の字幕データが記録されている光学式記録媒体を再生する再生装置であって、
前記光学式記録媒体から取得された前記字幕データを記憶するローカルストレージと、
前記ローカルストレージに記憶された前記字幕データのファイル情報を、当該字幕データが記録されていた前記光学式記録媒体の識別情報と対応付けて管理し、前記再生装置に挿入された光学式記録媒体の識別情報に基づいて、当該光学式記憶媒体の字幕データが前記ローカルストレージに存在するかを判別し、存在する場合は前記ローカルストレージから対応する字幕データを読み出し、存在しない場合は前記光学式記憶媒体から前記字幕データを取得して前記ローカルストレージに記憶するキャッシュコントローラと、
前記キャッシュコントローラにより前記ローカルストレージから読み出される字幕データを記憶する字幕データバッファと、
前記光学式記録媒体から読み出されるＡＶストリームを記憶するＡＶデータバッファと、
前記字幕データバッファから読み出される字幕データと、前記ＡＶデータバッファから読み出されるＡＶストリームとを同期させて再生する再生部と
を備える光学式記録媒体の再生装置。
【請求項２】
前記字幕データは、字幕テキストサブストリームとフォントデータとからなり、
前記字幕データバッファは、前記字幕テキストサブストリームを記憶する字幕バッファと前記フォントデータを記憶するフォントバッファとからなること
を特徴とする請求項１に記載の光学式記録媒体の再生装置。
【請求項３】
前記一以上の字幕データは、互いに言語が異なる字幕データであること
を特徴とする請求項１または２に記載の光学式記録媒体の再生装置。
【請求項４】
前記ローカルストレージは、前記光学式記録媒体の再生装置から着脱可能であること
を特徴とする請求項１から３のいずれか１項に記載の光学式記録媒体の再生装置。
【請求項５】
ＡＶストリームと、一以上の字幕データが記録されている光学式記録媒体を再生する再生方法であって、
前記光学式記録媒体から取得された前記字幕データをローカルストレージに記憶させる第１の記憶ステップと、
前記ローカルストレージに記憶された前記字幕データのファイル情報を、当該字幕データが記録されていた前記光学式記録媒体の識別情報と対応付けて管理する管理テーブルを参照し、前記再生装置に挿入された光学式記録媒体の識別情報に基づいて、当該光学式記憶媒体の字幕データが前記ローカルストレージに存在するかを判別し、存在する場合は前記ローカルストレージから対応する字幕データを読み出し、存在しない場合は前記光学式記憶媒体から前記字幕データを取得して前記ローカルストレージに記憶する制御ステップと、
前記ローカルストレージから読み出される字幕データを字幕データバッファに記憶させる第２の記憶ステップと、
前記光学式記録媒体から読み出されるＡＶストリームをＡＶデータバッファに記憶させる第３の記憶ステップと、
前記字幕データバッファから読み出される字幕データと、前記ＡＶデータバッファから読み出されるＡＶストリームとを同期させて再生する再生ステップと
を備える光学式記録媒体の再生方法。
【請求項６】
前記字幕データは、字幕テキストサブストリームとフォントデータとからなり、
前記字幕データバッファは、前記字幕テキストサブストリームを記憶する字幕バッファと前記フォントデータを記憶するフォントバッファとからなること
を特徴とする請求項５に記載の光学式記録媒体の再生方法。
【請求項７】
前記一以上の字幕データは、互いに言語が異なる字幕データであること
を特徴とする請求項５または６に記載の光学式記録媒体の再生方法。
【請求項８】
ＡＶストリームと、一以上の字幕データが記録されている光学式記録媒体を再生する再生プログラムであって、
前記光学式記録媒体に記録から取得された前記字幕データをローカルストレージに記憶させる第１の記憶ステップと、
前記ローカルストレージに記憶された前記字幕データのファイル情報を、当該字幕データが記録されていた前記光学式記録媒体の識別情報と対応付けて管理する管理テーブルを参照し、前記再生装置に挿入された光学式記録媒体の識別情報に基づいて、当該光学式記憶媒体の字幕データが前記ローカルストレージに存在するかを判別し、存在する場合は前記ローカルストレージから対応する字幕データを読み出し、存在しない場合は前記光学式記憶媒体から前記字幕データを取得して前記ローカルストレージに記憶する制御ステップと、
前記ローカルストレージから読み出される字幕データのうち、一の字幕データを字幕データバッファに記憶させる第２の記憶ステップと、
前記光学式記録媒体から読み出されるＡＶストリームをＡＶデータバッファに記憶させる第３の記憶ステップと、
前記字幕データバッファから読み出される字幕データと、前記ＡＶデータバッファから読み出されるＡＶストリームとを同期させて再生する再生ステップと
を備える光学式記録媒体の再生プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学式記録媒体に記録された情報を再生する光学式記録媒体の再生装置、再生方法、及び再生プログラムに関するものである。特に、字幕表示が可能な再生装置、再生方法、及び再生プログラムに関する。
【背景技術】
【０００２】
ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）規格において、光ディスクを用いた再生専用規格としてＤＶＤ−Ｖｉｄｅｏフォーマットがある。このＤＶＤ−Ｖｉｄｅｏフォーマットでは、映像データや音声データとともに、字幕に関するデータ等が多重化されてディスクに記録されている。しかしながら、ＤＶＤ−Ｖｉｄｅｏフォーマットでは、あらかじめディスクに記録されている映像、音声、字幕データ等のみしか再生することができない。
【０００３】
これに対し、ネットワーク接続機能を備える、あるいは、データの記録を可能とするローカルストレージを備える再生装置がある。この再生装置によると、映像や音声、字幕、フォントなどの追加データをネットワークを介してローカルストレージにダウンロードすることができ、ダウンロードされたデータにより構成される映像を視聴できる（例えば、特許文献１参照。）。
【０００４】
すなわち、光ディスクには記録されていない言語による字幕表示を可能とするため、ネットワーク接続機能を利用して、ネットワーク上のリソースから異言語の字幕に関するデータをローカルストレージにダウンロードし、このダウンロードしたデータと、映像・音声ストリーム（以下、「ＡＶストリーム」と記す。）と同期させて再生することが可能である。
【０００５】
【特許文献１】特開２００５−２６９５９５号公報（第１１〜１４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで一般的に、光ディスクはローカルストレージと比較するとアクセス速度が遅い。したがって、光ディスクに記録されているＡＶストリームと字幕に関するデータとを同期を取りつつ読み出すことは困難である。そこで、ＡＶストリームと比較して容量的に小さい字幕に関するデータを光ディスク再生前にあらかじめバッファに読み出すこと（プリロード）が一般に行われている。
【０００７】
しかし、複数の言語が記録された光ディスクを再生する場合、ＡＶストリームの再生を途切れさせずに複数の字幕表示言語の切り替えを行うためには、記録されている言語全てについての字幕に関するデータをバッファに保持する必要がある。そのため、必要とされるバッファの容量が大きくなってしまうという問題があった。
【０００８】
本発明は、上記課題に鑑みてなされたものであり、バッファ容量を削減することが可能な、光学式記録媒体の再生装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係わる光学式記録媒体の再生装置は、
ＡＶストリームと、一以上の字幕データが記録されている光学式記録媒体を再生する再生装置であって、
前記光学式記録媒体に記録されている一以上の字幕データを記憶するローカルストレージと、
前記ローカルストレージに記憶されている一以上の字幕データのうち、一の字幕データを記憶する字幕データバッファと、
前記光学式記録媒体に記録されているＡＶストリームを記憶するＡＶデータバッファと、
前記字幕データバッファに記憶されている一の字幕データと、前記ＡＶデータバッファに記憶されているＡＶストリームとを同期させて再生する再生部と
を備えることとしたものである。
【発明の効果】
【００１０】
本発明の光学式記録媒体の再生装置によれば、一の字幕データを記憶できる容量のバッファがあればよい。したがって、バッファ容量を削減しつつ、映像・音声の再生を途切れさせることなく字幕表示の変更が可能となるとの効果がある。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
本実施の形態に係る光学式記録媒体（以下、「光ディスク」と記す。）の再生装置は、光ディスクに記録されている複数種類の字幕データをローカルストレージに一旦、記憶する。そして、適宜、ローカルストレージからバッファに読み出す。
【００１２】
図１は本発明の実施の形態１の構成を示すブロック図である。同図において、１はコントローラ、２は仮想ファイルシステム、３はキャッシュコントローラ、４はローカルストレージ、５は光ディスクドライブ、６はＡＶバッファ、７はＡＶデコーダ、８は字幕バッファ、９は字幕デコーダ、１０はフォントバッファ（「字幕データバッファ」は、「字幕バッファ」と「フォントバッファ」とからなる。）、１１は映像合成器、（「再生部」は「ＡＶデコーダ」と「字幕デコーダ」とからなる。なお、「映像合成器」を加えてもよい。また、「コントローラ」を含めた概念としてもよい。）１２は操作受信部である。これらについて以下に説明する。
【００１３】
コントローラ１は、本再生装置全体を制御する役割を持っており、仮想ファイルシステム２を通じた光ディスクドライブ５やローカルストレージ４内のデータの読み出し、ＡＶデコーダ７および字幕デコーダ９の同期再生制御、キャッシュコントローラ３の制御、操作受信部１２からの利用者の操作入力情報を受け付けて再生・停止・字幕言語の切り替えなどの入力に対応する処理を行う。
【００１４】
仮想ファイルシステム２は、キャッシュコントローラ３を通じてローカルストレージ４に保持されている後述するファイル更新データと光ディスクドライブ５の両デバイスに記録されている情報を合成して一元管理する機能を有しているため、仮想ファイルシステム２からデータを受け取るもしくはデータを書き込むコントローラ１、ＡＶバッファ６、字幕バッファ８、フォントバッファ１０は、そのデータがローカルストレージ４に属するものか光ディスクドライブ５に属するものかを意識することなく動作することができる。
【００１５】
キャッシュコントローラ３は、光ディスクドライブ５とローカルストレージ４にアクセスしてストリームやデータを読み書きすることができる。ここで、字幕テキストサブストリームとフォントデータを合わせて字幕データと呼称する。キャッシュコントローラ３は、コントローラ１からの指示により、光ディスクドライブ５に存在する字幕データをローカルストレージ４に記憶させ、以降の光ディスクドライブ５に存在する字幕データの読み出し要求に対して、光ディスクドライブ５上の字幕データではなく、ローカルストレージ４に記憶させた字幕データを読み出して、仮想ファイルシステム２へ渡す。一旦記憶させた字幕データは、キャッシュコントローラ３の指示により消去する。
【００１６】
ローカルストレージ４は、図示しないネットワーク接続機能によって光ディスクドライブ５にセットされている光ディスク中のファイルを更新及び追加するデータであるファイル更新データと、キャッシュコントローラ３により入力された字幕データとを保持する。ローカルストレージ４内には、ファイル更新データ領域とキャッシュ領域に分かれており、ファイル更新データはファイル更新データ領域を使用し、字幕データはキャッシュ領域を使用する。なお、ファイル更新データは、仮想ファイルシステム２によって、光ディスクドライブ５にセットされている光ディスク内のファイルと合わせて一元管理される。
【００１７】
光ディスクドライブ５は、映像・音声ストリームと字幕テキストサブストリームなどからなるコンテンツを収録してある光ディスクから、映像・音声ストリームと字幕テキストサブストリームなどを読み出す。
【００１８】
ＡＶバッファ６は、コントローラ１によって仮想ファイルシステム２から読み出された映像・音声ストリームを、ＡＶデコーダ７から読み出されるまで一時的に保持する一時記憶領域である。映像・音声ストリームは容量が大きいため、再生に必要な映像・音声ストリーム全てＡＶバッファ６に保持しておくことが困難である。そのため、コントローラ１は、映像・音声ストリームをある程度細分化してＡＶバッファ６へ定期的に読み出す。この際、コントローラ１は、ＡＶバッファ６の映像・音声ストリームがなくなってＡＶデコーダ７でのデコードが途切れる、あるいは、ＡＶバッファ６へ映像・音声ストリームを供給しすぎてあふれる、といったことがないように、適宜制御を行う。
【００１９】
ＡＶデコーダ７は、コントローラ１の指示を受け、ＡＶバッファ６に保持されている映像・音声ストリームを読み出して、映像・音声ストリームに記述されたタイミング通りにデコードを行う。デコードの開始、終了、一時停止などの制御は、コントローラ１によって指示される。
【００２０】
字幕バッファ８は、コントローラ１によって仮想ファイルシステム２から読み出された字幕データの構成要素の一つである字幕テキストサブストリームを一時的に保持する一時記憶領域である。字幕テキストサブストリームは、映像・音声ストリームと比較して容量が少ないため、コントローラ１は、現在必要とされている言語の字幕テキストサブストリームのみを再生開始前に字幕バッファ８へ読み出す。利用者の操作により、字幕言語が変更された場合、新たに選択された言語の字幕テキストサブストリームを仮想ファイルシステム２から読み出す。この時に読み出される字幕テキストサブストリームは、光ディスクドライブ５内にあるものではなく、キャッシュコントローラ３によってローカルストレージ４に保持された字幕テキストサブストリームであるため、光ディスクドライブ５から読み出しを行っている映像・音声ストリームに影響を与えることはなく、映像・音声ストリームの再生を途切れさせることはない。
【００２１】
フォントバッファ１０は、コントローラ１によって仮想ファイルシステム２から読み出された字幕データの構成要素の一つであるフォントデータを一時的に保持する一時記憶領域である。フォントデータも先の字幕テキストサブストリーム同様に、映像・音声ストリームと比較して容量が少ないため、コントローラ１は、現在必要とされている言語のフォントデータのみを再生開始前にフォントバッファ１０へ読み出す。利用者の操作により、字幕言語が変更された場合、新たに選択された言語のフォントデータを仮想ファイルシステム２から読み出す。この時に読み出されるフォントデータは、光ディスクドライブ５内にあるものではなく、キャッシュコントローラ３によってローカルストレージ４に保持されたフォントデータであるため、光ディスクドライブ５から読み出しを行っている映像・音声ストリームに影響を与えることはなく、映像・音声ストリームの再生を途切れさせることはない。
【００２２】
字幕デコーダ９は、コントローラ１の指示を受け、字幕バッファ８に保持されている字幕テキストサブストリームを読み出して、字幕テキストサブストリームに記述されたタイミング通りにデコードを行う。字幕テキストサブストリームには、文字情報が映像ではなく記号として記述されているため、記号と対応する映像情報をフォントバッファ１０に保持されているフォントデータから読み出すことで映像化する。
【００２３】
映像合成器１１は、ＡＶデコーダ７から出力された映像に、字幕デコーダ９から出力された映像を重ね合わせて一つの映像に合成する。
【００２４】
操作受信部１２は、リモコンや本体キーなどを用いた、再生・停止・字幕言語の切り替えなどの利用者の操作情報をコントローラ１へ伝える。コントローラ１は、操作受信部１２からの情報を受け、操作情報に基づいた再生・停止・字幕言語の切り替えなどの動作を行うよう各ブロックを制御する。
【００２５】
なお、本実施の形態１では、ローカルストレージ４は、装置に内蔵されることを想定して述べているが、取り外し可能な形態であってもよい。その場合、仮想ファイルシステム２およびキャッシュコントローラ３において、ローカルストレージ４が存在する場合にはローカルストレージ４を利用し、そうでない場合はローカルストレージ４を利用せず、光ディスクドライブ５のみを利用する。
【００２６】
次に、コンテンツの再生、特に字幕再生が行われるまでの仕組みを中心に述べる。コンテンツの再生は、プレイリストを指定して、そのプレイリストを再生させることで行われる。
【００２７】
まず、図２にプレイリストの構成を示す。プレイリストは、コンテンツの主要素となる映像・音声の再生に関する情報が記述されたメインアイテムと、字幕の再生に関する情報が記述されたサブトラックからなる。メインアイテム、サブトラックは、ともに複数存在してもよい。メインアイテムが複数ある場合は、それらが順番に再生されることを示す。サブトラックが複数ある場合は、いくつかの選択可能なトラックがあることを示しており、このうちのどれかを選択して再生することが可能である。図２のプレイリストには、メインアイテムがＮｍ個、サブトラックがＮｔ個存在する。
【００２８】
メインアイテムは、再生する映像・音声ストリーム情報が記述されたクリップ情報、再生開始時刻が記述された開始時刻、再生終了時刻が記述された終了時刻、メインアイテムに関連するストリームの情報を集めたストリームテーブルからなる。ストリームテーブルには、映像ストリームに関する情報が記述された映像ストリーム情報、音声ストリームに関する情報が記述された音声ストリーム情報、字幕テキストストリームに関する情報が記述された字幕テキストストリーム情報が格納されている。字幕テキストストリーム情報には、サブトラックの番号と、そのサブトラックにおける字幕の言語情報とがセットになって書かれている。この字幕テキストストリーム情報を参照することで、再生するメインアイテムで選択可能な字幕の言語を得ることができ、利用者に選択可能な字幕の言語を提示することにより、その時点での利用者の望む字幕の言語を知ることができる。
【００２９】
サブトラックには、個々の字幕の再生に関する情報が記述されたサブアイテムが記述されている。サブアイテムは複数存在してもかまわない。図２のサブトラック＃１には、Ｎｓ個のサブアイテムが存在している。サブアイテムには、字幕テキストに関する情報が記述されたクリップ情報、再生開始時刻が記述された開始時刻、再生終了時刻が記述された終了時刻が格納されている。クリップ情報には、字幕テキストが格納されたストリームに関する情報が記述された字幕テキストストリームと、その字幕テキストストリームで使用するフォントの情報が記述されたフォントデータ情報からなる。サブアイテムを再生する際にプリロードすべきファイルを得るためには、字幕テキストストリーム情報から字幕テキストストリームファイル名を参照、フォントデータ情報からフォントデータファイル名を参照すればよい。以上、プレイリストの構成、特に字幕に関連する部分の構成について述べた。
【００３０】
次に、字幕再生が行われるまでの手順について述べる。コントローラ１における字幕再生開始手順を図３に示す。同図において、ステップＳ１１では、後述する字幕データのコピーが行われる（図４）。続いて、ステップＳ１２において、利用者からの字幕表示指示を待つ。利用者から字幕表示指示があった場合、ステップＳ１３にて、後述する字幕言語取得処理を行う（図５）。
【００３１】
ステップＳ１４では、利用者に対して字幕言語選択を促し、利用者の選んだ字幕言語が決まる。なお、ここでは必ず利用者に対して字幕言語を選択させるようになっているが、あらかじめ利用者が利用したい字幕言語が決められており、その字幕言語が表示可能である場合は、自動的に字幕言語を決定してもよい。
【００３２】
ステップＳ１５では、ステップＳ１４にて利用者の選んだ字幕言語に対応する字幕テキストストリームの再生開始処理を行う（図６）。以上が図３の説明である。
【００３３】
続いて、プレイリストから字幕に関する情報を得て字幕再生の準備をする手順、つまりプレイリストから字幕データの情報を取得し、字幕データをローカルストレージ４にコピーする手順について説明する。図４は、コントローラ１において、字幕データコピーを行う処理手順について図示したものである。
【００３４】
ステップＳ２１にて、再生対象となっているプレイリストをオープンする。ステップＳ２２にて、プレイリスト中のサブトラックの有無を調べる。サブトラックがある場合、ステップＳ２３へ進む。サブトラックがない場合はステップＳ２９へ進む。
【００３５】
ステップＳ２３では、サブトラック中のサブアイテムを取得し、ステップＳ２４へ進む。ステップＳ２４では、サブアイテム内のクリップ情報に記述されている字幕テキストストリーム情報から字幕テキストストリームファイル名を取得する。次に、ステップＳ２５にてサブアイテム内のクリップ情報に記述されているフォントデータ情報からフォントデータファイル名を取得する。
【００３６】
次に、ステップＳ２６にて、コントローラ１からキャッシュコントローラ３へ字幕テキストストリームファイル名とフォントデータファイル名を渡して、キャッシュコントローラ３にて、光ディスクドライブ５内に存在する同名ファイルにアクセスし、各ファイルサイズを取得し、これらのファイルサイズを加算する。さらに、キャッシュコントローラ３は、ローカルストレージ４へアクセスして空き容量を取得、先ほどのファイルサイズの合計と、ローカルストレージ４の空き容量を比較、ローカルストレージ４の空き容量が多い場合は、コントローラ１にコピー可能と返し、そうでない場合はコピー不可能と返す。コントローラ１はキャッシュコントローラ３の応答がコピー可能の場合、ステップＳ２７へと処理を進め、コピー不可能であった場合はステップＳ２８へ進む。
【００３７】
ステップＳ２７では、コントローラ１からキャッシュコントローラ３へコピー指令が出され、キャッシュコントローラ３にて、ステップＳ２６で伝えられたファイル名に従って、光ディスクドライブ５内からローカルストレージ４のキャッシュ領域へとファイルコピーが実施される。ステップＳ２８では、処理対象のサブトラックを一つ先に進め、次のサブトラックを処理対象として設定して、再びステップＳ２２へ戻る。
【００３８】
ステップＳ２２では、現在処理対象のサブトラックについて、再び有無を評価する。以上の処理を、最終的にサブトラックがなくなるまで繰り返し、ステップＳ２２にて、サブトラックがなくなった時点でステップＳ２９へ進み、プレイリストをクローズして、字幕データコピー処理を終了する。
【００３９】
図５は、コントローラ１における、字幕言語取得手順について図示したものである。同図において、ステップＳ３１では、再生中のプレイリストをオープンする。ステップＳ３２では、プレイリストから、現在再生しているメインアイテムを取得する。続いて、ステップＳ３３では、メインアイテム内のストリームテーブルに記述されている字幕テキストストリーム情報から、サブトラック番号と言語情報をセットにして全て取得する。ステップＳ３４では、ステップＳ３１にてオープンしたプレイリストをクローズする。
【００４０】
図６は、コントローラ１における、字幕テキストストリーム再生開始手順について図示したものである。同図において、ステップＳ４１では、再生中のプレイリストをオープンする。続いてステップＳ４２では、図３におけるステップＳ１４において利用者の選択した字幕言語に対応するサブトラックを図５におけるステップ３３にて取得したサブトラック番号と言語情報から割り出す。
【００４１】
ステップＳ４３では、現在再生中の映像・音声ストリームの時刻情報をもとにして、その時刻に対応するサブアイテムを取得する。ステップＳ４４では、サブアイテム中のクリップ情報から字幕テキストストリームファイル名とフォントデータファイル名を取得する。ステップＳ４５では、ステップＳ４４にて取得したファイル名を元に、仮想ファイルシステム２から字幕テキストストリームファイルとフォントデータファイルを読み込み、字幕テキストストリームファイルは字幕バッファ８へ転送、フォントデータファイルはフォントバッファ１０へ転送する。
【００４２】
ステップ４６では、コントローラ１から字幕デコーダ９へデコード開始が指示され、字幕の再生が開始される。最後にステップＳ４７にてプレイリストをクローズする。
【００４３】
ここまでは、主にコントローラ１における手順を示してきたが、字幕データを読み書きするためには、キャッシュコントローラ３が大きな役割を受け持つ。そこで、キャッシュコントローラ３が管理するローカルストレージ４内にあるキャッシュ領域の管理方式と、その管理手順について述べる。
【００４４】
図７に、キャッシュコントローラ３にて管理するローカルストレージ４内のキャッシュキャッシュ管理テーブルを示す。同図において、キャッシュ管理テーブルには、キャッシュ領域の利用状況を記録した領域情報と、コンテンツ提供会社ごとに割り当てられた組織ＩＤとコンテンツごとに割り当てられたディスクＩＤという二つのＩＤ単位で区切られ、同じ組織ＩＤとディスクＩＤを共有するファイルの情報が組織ＩＤ、ディスクＩＤに続いて列挙される構造となっている。
【００４５】
領域情報は、キャッシュ領域の空き領域が記録された空き領域サイズと領域のどの部分を利用していてどこが空いているかを示す領域マップからなる。新たにファイルを追加するためには、空き領域サイズが追加しようとするファイルサイズ以上である必要があり、実際にどの領域を使うかは、領域マップを使って未使用領域を探して割り当てる必要がある。
【００４６】
ファイル情報は、格納するファイル名、ファイルのサイズを示すサイズ、キャッシュ領域のどの部分からデータが格納されているかを示す開始領域位置からなる。
【００４７】
次に、キャッシュ領域にファイルを書き込む手順と削除する手順を示す。まず最初に、図８に、キャッシュ領域にファイルを追加するときのキャッシュコントローラ３の処理手順を示す。同図において、ステップＳ５１では、追加したいファイルのサイズと領域情報内に記述された空き領域サイズを比較し、空き領域サイズの方が小さくなければ、ステップＳ５２へ進み、そうでなければ終了する。ステップＳ５２では、追加しようとするファイルの組織ＩＤおよびディスクＩＤと、キャッシュ管理テーブル内に記述されている組織ＩＤおよびディスクＩＤを比較し、同一のものが見つかればステップＳ５３へ進み、そうでなければステップＳ５４へ進む。
【００４８】
ステップＳ５３では、ステップＳ５２で見つけた組織ＩＤ、ディスクＩＤに属するファイル名と、追加しようとするファイル名を比較し、同一のものがあれば終了し、そうでなければステップＳ５５へ進む。ステップＳ５４では、追加しようとするファイルの組織ＩＤとディスクＩＤを新たに追加してステップＳ５５へ進む。
【００４９】
ステップＳ５５では、領域情報内の領域マップから空き領域を見つけて、追加しようとするファイルサイズ分の領域を確保してその領域を使用領域として設定し、該当領域にファイル内のデータをコピーする。また、空き領域サイズから追加しようとするファイルサイズ分の数値を減算する。さらに、確保した開始領域位置を後述するファイル情報追加を行うための情報として、ファイル情報が追加されるまで一時的に記憶する。
【００５０】
ステップＳ５７では、ステップＳ５２にて見つけた、もしくはステップＳ５４で新規に追加した、組織ＩＤ、ディスクＩＤに属するファイル情報を新たに追加し、ファイル名、サイズ、およびステップＳ５５にて記憶した開始領域位置をセットする。
【００５１】
続いて、図９にキャッシュ領域からファイルを削除するときのキャッシュコントローラ３の処理手順を示す。同図において、ステップＳ６１では、削除しようとするファイルの組織ＩＤ、ディスクＩＤと同一のものがあるかどうかを調べる。もし存在する場合は、ステップＳ６２へ進み、そうでない場合は終了する。ステップＳ６２では、ステップＳ６１で見つけた織ＩＤ、ディスクＩＤに属するファイル情報に、削除しようとするファイル名と同一のものがあるかどうかを調べる。もし同一のファイル名が存在した場合は、ステップＳ６３へ進み、そうでない場合は終了する。
【００５２】
ステップＳ６３では、領域マップ上にて削除しようとするファイルが占有していた領域をクリアして未使用状態にする。続いてステップＳ６４では、空き領域サイズに、削除しようとするファイルのファイルサイズを加算する。ステップＳ６５では、削除しようとするファイルのファイル情報を削除する。
【００５３】
ステップＳ６６では、Ｓ６５にてファイル情報を削除したことで、ステップＳ６１で見つけた組織ＩＤ、ディスクＩＤに属するファイル情報がなくなっていないかどうかを調べる。ファイル情報がなくなっている場合は、もうその組織ＩＤ、ディスクＩＤに関連するファイルがないことを示すため、Ｓ６７へ進む。そうでない場合は終了する。ステップＳ６７では、ステップＳ６１で見つけた組織ＩＤ、ディスクＩＤを削除して終了する。以上が図９の説明である。
【００５４】
加えて、キャッシュコントローラ３がファイルを参照する手順を図１０に示す。ステップＳ７１では、ローカルストレージ４が存在するかどうかを調べる。ローカルストレージ４が存在する場合はステップＳ７２へ、そうでない場合はステップＳ７５へ進む。ステップＳ７２では、参照しようとするファイルの組織ＩＤ、ディスクＩＤと同一のものがあるかどうかを調べる。もし存在する場合は、ステップＳ７３へ進み、そうでない場合はステップＳ７５へ進む。ステップＳ７３では、ステップＳ７２で見つけた組織ＩＤ、ディスクＩＤに属するファイル情報に、参照しようとするファイル名と同一のものがあるかどうかを調べる。もし同一のファイル名が存在した場合は、ステップＳ７４へ進み、そうでない場合はステップＳ７５へ進む。ステップＳ７４では、ステップＳ７３にて見つけたファイルのデータを読み出して終了する。ステップＳ７５は、ローカルストレージ４が存在しない、もしくはローカルストレージ４内のキャッシュ領域には該当するファイルが存在しない場合に行われる処理であり、光ディスク内の該当ファイルを読み出して終了する。
【００５５】
なお、キャッシュ領域内のデータの生存期間は、光ディスクがイジェクトされるまででもよいし、光ディスクイジェクト後も領域の許す限り保存しておいてもよい。前者の利点として、１枚の光ディスクに記録された字幕データのみ保持すればよいためキャッシュ領域を比較的小さくできると同時に組織ＩＤやディスクＩＤによる管理を省略できるため、データ管理や本機能の実装が容易となる。後者の利点として、既に保存済みの字幕データを再利用できるため、光ディスク内の字幕データを読み込む必要がなくなり、２回目以降のディスク挿入後の再生開始までの時間が早くなる。
【００５６】
本実施の形態１の効果として、字幕表示のための字幕データを映像・音声の再生開始前に全てプリロード用バッファに読み込むのではなく、一旦、ローカルストレージ内のキャッシュ領域にキャッシュさせ、字幕言語の変更などにより新たな字幕データを読み出す場合にはローカルストレージ内にキャッシュしたデータを提供するようにしたので、現在表示すべき字幕データのみ読みこめるだけのプリロード用バッファがあれば、映像・音声の再生を途切れさせることなく字幕の変更が可能となり、バッファを削減できるという効果がある。一つの字幕言語に対して、字幕テキストストリームは最大５１２ｋＢ、フォントデータは最大４ＭＢものバッファが必要となるため、選択可能な字幕言語が多く含まれているほど、本実施の形態１におけるバッファ削減効果は大きくなる。
【００５７】
さらに、本実施の形態の効果として、字幕表示のための字幕データを映像・音声の再生開始前に全てプリロード用バッファに読み込むのではなく、ローカルストレージにキャッシュさせ、字幕言語の変更などにより新たな字幕データを読み出す場合には字幕データのみ読みこめるだけのプリロード用バッファがあれば、映像・音声の再生を途切れさせることなく字幕の変更が可能となるため、プリロード用バッファを削減できるという効果がある。
【００５８】
なお、本実施の形態の構成として、ローカルストレージの有無やローカルストレージ内のファイルの有無を検出できるようにしてもよく、ローカルストレージを着脱可能としてもよい。これにより、再生装置の製造の際、ローカルストレージにかかる費用がなくなるため、コストを削減することができるという効果があり、また、利用者にとってもローカルストレージを追加することで、再生が中断されることなく字幕言語が変更できる機能が追加できるという効果がある。
【００５９】
また、本実施の形態では、字幕データが異なる言語の場合について説明したが、例えば同一言語の主音声と副音声の字幕データであってもよい。すなわち、異なる種類の字幕データであればよい。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態１を示すブロック図である。
【図２】実施の形態１におけるプレイリストの構成を示す説明図である。
【図３】実施の形態１における字幕再生開始手順を示すフローチャートである。
【図４】実施の形態１における字幕データコピー手順を示すフローチャートである。
【図５】実施の形態１における字幕言語取得手順を示すフローチャートである。
【図６】実施の形態１における字幕テキストストリーム再生開始手順を示すフローチャートである。
【図７】実施の形態１におけるキャッシュ管理テーブルの構成を示す説明図である。
【図８】実施の形態１におけるファイル追加手順を示すフローチャートである。
【図９】実施の形態１におけるファイル削除手順を示すフローチャートである。
【図１０】実施の形態１におけるファイル参照手順を示すフローチャートである。
【符号の説明】
【００６１】
１  コントローラ、    ２  仮想ファイルシステム、    ３  キャッシュコントローラ、    ４  ローカルストレージ、    ５  光ディスクドライブ、    ６  ＡＶバッファ、    ７  ＡＶデコーダ、    ８  字幕バッファ、    ９  字幕デコーダ、  １０  フォントバッファ、    １１  映像合成器、    １２  操作受信部。
【図１】
0004470905.tif 000002
【図２】
0004470905.tif 000003
【図３】
0004470905.tif 000004
【図４】
0004470905.tif 000005
【図５】
0004470905.tif 000006
【図６】
0004470905.tif 000007
【図７】
0004470905.tif 000008
【図８】
0004470905.tif 000009
【図９】
0004470905.tif 000010
【図１０】
0004470905.tif 000011