JP4995964B2 - 再生装置、再生方法 - Google Patents

再生装置、再生方法 Download PDF

Info

Publication number
JP4995964B2
JP4995964B2 JP2010279421A JP2010279421A JP4995964B2 JP 4995964 B2 JP4995964 B2 JP 4995964B2 JP 2010279421 A JP2010279421 A JP 2010279421A JP 2010279421 A JP2010279421 A JP 2010279421A JP 4995964 B2 JP4995964 B2 JP 4995964B2
Authority
JP
Japan
Prior art keywords
playback
avclip
local storage
information
playlist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010279421A
Other languages
English (en)
Other versions
JP2011103170A (ja
Inventor
敬一 田中
雅弘 大蘆
智一 金丸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010279421A priority Critical patent/JP4995964B2/ja
Publication of JP2011103170A publication Critical patent/JP2011103170A/ja
Application granted granted Critical
Publication of JP4995964B2 publication Critical patent/JP4995964B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Description

本発明は、Virtual Packageの技術分野に属する発明である。
Virtual Packageとは、BD-ROM等のリードオンリー型の記録媒体に記録されているデジ
タルストリームと、ハードディスク等のリライタブル型の記録媒体に記録されているデジタルストリームとを動的に組み合わせて、仮想的なパッケージを構築することにより、リードオンリー型記録媒体の内容拡張を図る技術である。ここBD-ROMに記録されているデジタルストリームが、映画作品の本編を構成するものであり、ハードディスクに記録されているデジタルストリームが、映画作品の続編を構成するものである場合、上述したVirtualPackageを構築することにより、BD-ROM上の本編と、ハードディスク上の続編とを、1つ
の長編の映画作品として取り扱い、再生に供することができる。
尚、Virtual Packageについての先行技術としては、以下の特許文献に記載されている
ものがある。
特開2002-369154号公報
ところがBD-ROMに記録されたデジタルストリームと、ハードディスクに記録されたデジタルストリームとを1つのストリームシーケンスとして再生してゆく場合、ストリームシ
ーケンスを構成するデジタルストリームの中に、不安定な状態のものがふくまれている可能性がある。ここで不安定な状態のデジタルストリームとは、ハードディスクへのダウンロードが未完了であったり、書き込みが不完全であるようなデジタルストリームをいう。不安定な状態のデジタルストリームが含まれているにも拘らず、上述したストリームシーケンスを再生しようとすると、再生手段による再生時点が不安定なストリームに至った途端、再生が乱れたり、再生が途切れてしまうことが有り得る。
ここで、再生しようとするストリームが不安定な状態であるか否かを、再生装置内の再生手段(デコーダ等)が正しくチェックすることができれば、かかる再生の乱れや途切れを回避することができる。しかし再生手段は、1/24秒,1/29.94秒というフレーム期間毎に、映像信号を出力するという処理に専念しており、そのようなチェックのための余力は存在しないことが一般的である。そのため上述したような再生の乱れや途切れの発生は避け得ない。その一方、BD-ROM再生装置を製造するような民生機器の産業分野では、映像再生に対して厳しい品質基準が要求されており、デジタルストリームをチェックするような余力が再生手段側にないとしても、上述したような再生の乱れや途切れが、容認されることはありえない。
本発明の目的は、不安定な状態のデジタルストリームをチェックするような余力が再生手段側にない場合であっても、BD-ROMに記録されたデジタルストリームと、ハードディスクに記録されたデジタルストリームとを1つのストリームシーケンスとして再生してゆく
場合の再生の乱れや途切れを防止することができる再生装置を提供することである。
上記目的を達成するため、本発明に係る再生装置は、プレイリストから参照されるデジタルストリーム再生する再生装置であって、記録媒体を装填するドライブ手段と、ローカルストレージと、再生手段と、前記ローカルストレージに記録されたプレイリストから参照される個々のデジタルストリームを格納するための格納場所が、前記ドライブ手段に装填された記録媒体および前記ローカルストレージのそれぞれ分かれている場合、前記ローカルストレージを格納場所とするデジタルストリームのうち、前記ローカルストレージに存在するデジタルストリームの状態を、前記再生手段が認識し得る状態、又は、前記ローカルストレージに存在しないデジタルストリームの状態を前記再生手段が認識し得ない状態に設定するパッケージ管理手段と、前の記録媒体および前記ローカルストレージのいずれかに記録されたアプリケーションワークメモリにロードするクラスローダと、前記ワークメモリにロードされたアプリケーションを実行して、前記記録媒体および前記ローカルストレージに対するアクセス制御を実行するアプリケーション実行手段とを備え、前記ローカルストレージに記録されたプレイリストおよび前記プレイリスト参照される前記ローカルストレージに存在するデジタルストリームは、前記アプリケーション実行手段からの要求に従って前記ローカルストレージに記録されたものであり、前記再生手段は、前記プレイリストから参照される一部のデジタルストリームが認識し得る状態である場合、残りのデジタルストリームが認識し得ない状態であっても、前記認識し得る状態のデジタルストリームの再生を開始し、
前記パッケージ管理手段は、前記プレイリストから参照される一部のデジタルストリームに対する再生処理が継続している間、前記アプリケーション実行手段からの要求に従って、前記ローカルストレージへ記録したデジタルストリームであって、前記再生手段が認識し得ないデジタルストリームの状態を、前記再生手段が認識し得る状態に設定る、または、前記再生手段が認識し得る状態のデジタルストリームのうち、前記再生処理がなされているデジタルストリームとは異なるデジタルストリームの状態を、前記再生手段が認識し得ない状態に設定する、ことを特徴としている。
アプリケーションが、デジタルストリームを認識できる状態にするか、認識できない状態にするかを変化させることで、デジタルストリームを再生手段に再生させるか、再生させないかの選択を、実現することができる。デジタルストリームを再生手段に再生させるか、再生させないかの選択権は、記録媒体のアクセスを実現するアプリケーションが掌握するので、アプリケーションが、デジタルストリームが記録媒体に正しく書き込まれたことを確認し得ない場合、そのデジタルストリームを認識できない状態にすれば、そのデジタルストリームはなかったものと取り扱われる。これにより不安定なデジタルストリームを誤って再生することはない。よって、映像の乱れや途切れが出現することはない。
本発明に係る再生装置の、使用行為についての形態を示す図である。 BD-ROMの内部構成を示す図である。 AVClipがどのように構成されているかを模式的に示す図である。 PL情報の構成を示す図である。 AVClip時間軸と、PL時間軸との関係を示す図である。 4つのClip_Information_file_nameによりなされた一括指定を示す図である。 PLmark情報の内部構成を示す図である。 PLmarkによるチャプター定義を示す図である。 SubPath情報の内部構成を示す図である。 SubPlayItem時間軸上の再生区間定義と、同期指定とを示す図である。 (a)Java(登録商標)アーカイブファイルに収められているプログラム、データを示す図である。(b)は、クラスファイルの内部構成を示す図である。 本発明に係る再生装置の内部構成を示す図である。 (a)Local Storage18におけるディレクトリ構造を示す図である。(b)ストリーム格納位置情報ファイルの内部構成を示す図である。 ROM24に格納されたソフトウェアと、ハードウェアとからなる部分を、レイア構成に置き換えて描いた図である。 Java(登録商標)仮想マシン30の内部構成を示す図である。 Virtual FileSystem部38によるVirtual Package情報構築の一例を示す図である。 Virtual FileSystem部38による状態管理の一例を示す図である。 状態管理を反映したVirtual Package情報の作成を示す図である。 ネットワーク管理モジュール37によるダウンロードが途上である場合の、Virtual FileSystem部38によるVirtual Package構築を示す図である。 (a)ローカルストレージに格納されたPL情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。 (b)Progressive PlayList情報の概念を示す図である。 管理情報変換モジュール39によるインスタンス生成を示す図である。 PlayListオブジェクトにおけるPlayメソッドの呼び出しを示す図である。 getMissingStreamsメソッドによる問合せの結果を模式的に示す図である。 enableClipメソッドの呼出を模式的に示す図である。 disableClipメソッドの呼出を模式的に示す図である。 Virtual Package構築時の処理を示すフローチャートである。 (a)enableClipメソッドの呼出時の処理手順を示すフローチャートである。(b)disableClipメソッドの呼出時の処理手順を示すフローチャートである。 Playback Control Engine32による再生手順を示すフローチャートである。 アプリケーションの処理手順を示すフローチャートである。 (a)(b)ネットワーク管理モジュール37によるダウンロードの進捗と、Playback Control Engine32による再生の進捗とを示す図である。 (a)(b)ネットワーク管理モジュール37によるダウンロードの進捗と、Playback Control Engine32による再生の進捗とを示す図である。 (a)(b)ネットワーク管理モジュール37によるダウンロードの進捗と、Playback Control Engine32による再生の進捗とを示す図である。 ネットワーク管理モジュール37によるダウンロードの進捗と、Playback Control Engine32による再生の進捗とを示す図である。
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は、再生装置200である。この再生装置200は、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、BD-ROMである。図2は、BD-ROMの内部構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(ア
プリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAM
ディレクトリ、BDJAディレクトリと呼ばれる4つのサブディレクトリが存在する。
STREAMディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子M2TSが付与されたファイル(00001.M2TS)が存在する。
PLAYLISTディレクトリには、拡張子MPLSが付与されたファイル(00001.MPLS)が存在する。
CLIPINFディレクトリには、拡張子CLPIが付与されたファイル(00001.CLPI)が存在する
。以下、これらのファイルについて説明する。
<AVClip>
先ず初めに、拡張子.M2TSが付与されたファイルについて説明する。図3は、拡張子.M2TSが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.M2TSが付与されたファイル(00001.M2TS,00002.M2TS,00003.M2TS・・・・・)は、AVClip
を格納している。AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビ
デオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕
系のプレゼンテーショングラフィクスストリーム(下1段目のPGストリーム)及び対話系の
インタラクティブグラフィクスストリーム(下1段目のIGストリーム)をTSパケットに変換
して(下3段目)、これらを多重化することで構成される。
AVClipは、図3に示したように多重化がなされているストリームの他に、多重化がなされていないものものある。かかるAVClipは、SubClipと呼ばれ、オーディオストリーム、
グラフィクスストリーム、テキスト字幕ストリーム(TextSTStream)等を構成するAVClipが存在する。
<Clip情報>
拡張子"CLPI"が付与されたファイル(00001.CLPI)は、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをも
っている。<PlayList情報>
拡張子"MPLS"が付与されたファイル(00001.MPLS)は、PlayLIst(PL)情報を格納したファイルである。PL情報は、AVClipを参照してプレイリストを定義する情報である。図4は、PL情報の構成を示す図であり、本図の左側に示すように、PL情報は、『MainPath情報』、『PLMark情報』、『SubPath情報』から構成される。
MainPath情報(MainPath())は、破線の矢印mp1に示すように複数のPlayItem情報(PlayItem())からなる。PlayItemとは、1つ以上のAVClip時間軸上において、In_Time,Out_Timeを指定することで定義される再生区間である。PlayItem情報を複数配置させることで、複数再生区間からなるプレイリスト(PL)が定義される。図中の破線mp2は、PlayItem情報の内
部構成をクローズアップしている。本図に示すようにPlayItem情報は、対応するAVClipを示す『Clip_information_file_name』と、『In_time』と、『Out_time』とからなる。図
5は、AVClipと、PLとの関係を示す図である。第1段目はAVClipがもつ時間軸を示し、第2段目は、PLがもつ時間軸を示す。PL情報は、PlayItem#1,#2,#3という3つのPlayItem情報
を含んでおり、これらPlayItem#1,#2,#3のIn_time,Out_timeにより、3つの再生区間が定
義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第2段目に示すPL時間軸である。このように、PlayItem
情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
AVClipに対する指定は、原則1つであるが、複数AVClipに対する一括指定もあり得る。
この一括指定は、PlayItem情報における複数のClip_Information_file_nameによりなされる。図6は、4つのClip_Information_file_nameによりなされた一括指定を示す図である
。本図において第1段目〜第4段目は、4つのAVClip時間軸(AVClip#1,#2,#3,#4の時間軸)を示し、第5段目は、PL時間軸を示す。PlayItem情報が有する、4つのClip_Information_file_nameにて、これら4つの時間軸が指定されている。こうすることで、PlayItemが有するIn_time,Out_timeにより、択一的に再生可能な4つの再生区間が定義されることになる。これにより、PL時間軸には、切り換え可能な複数アングル映像からなる区間(いわゆるマル
チアングル区間)が定義されることになる。
PLmark情報(PLmark())は、PL時間軸のうち、任意の区間を、チャプターとして指定する情報である。図7は、PLmark情報の内部構成を示す図であり、本図の引き出し線pm1に示
すようにPLmark情報は、『ref_to_PlayItem_Id』と、『Mark_time_stamp』とを含む。図
8は、PLmarkによるチャプター定義を示す図である。本図において第1段目は、AVClip時
間軸を示し、第2段目はPL時間軸を示す。図中の矢印pk1,2は、PLmarkにおけるPlayItem指定(ref_to_PlayItem_Id)と、一時点の指定(mark_time_stamp)とを示す。これらの指定に
よりPL時間軸には、3つのチャプター(Chapter#1,#2,#3)が定義されることになる。以上がPLmarkについての説明である。続いてSubPath情報について説明する。
SubPath情報(SubPath())は、SubClipの時間軸上にIn_Time,Out_Timeを指定することで1つ以上の再生区間を定義する情報であり、図9に示す内部構成を有している。本図に示すようにSubPath情報は、破線の引き出し線sh1に示すように複数のSubPlayItem情報(SubPlayItem())からなる。破線sh2を用いてクローズアップしているように、SubPlayItem情報は、『Clip_information_file_name』と、『In_time』と、『Out_time』と、『Sync_PlayItem_Id』と、『Sync_start_Pts_of_PlayItem』とからなる。SubClipの時間軸上に対する、In_Time,Out_Timeの指定は、『Clip_information_file_name』、『In_time』、『Out_time』によりなされる。『Sync_PlayItem_Id』及び『Sync_start_Pts_of_PlayItem』は、SubClip時間軸上の再生区間と、PL時間軸とを同期させるという同期指定をなす。この同期指定により、PL時間軸と、SubClip時間軸とは同期して進行することになる。
図10は、SubClip時間軸上の再生区間定義と、同期指定を示す図である。本図におい
て第1段目は、PL時間軸を示し、第2段目はSubClip時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubClip時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
複数AVClipの切り換えを可能とするマルチアングル区間や、AVClip−SubClipを同期さ
せ得る同期区間の定義を可能とするのが、BD-ROMにおけるPL情報の特徴である。以上のClip情報及びPL情報は、"静的シナリオ"に分類される。
続いて"動的なシナリオ"について説明する。"動的に"というのは、再生装置200における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。BD-ROMでは、Java(登録商標)アプリケーションと同様の記述により、この再生制御を記述することができる。つまりBD-ROMでは、Java(登録商標)アプリケーションが、動的シナリオとしての役割を担うことになる。
<Java(登録商標)アプリケーション>
Java(登録商標)アプリケーションについて説明する。Java(登録商標)アプリケーションは、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリにロードされたxletプログラム、及び、デー
タから、アプリケーションは構成されることになる。以上がJava(登録商標)アプリケーションの構成である。
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava(登録商標)アーカイブファイル(00001.jar,00002.jar)である。以降、Java(登録商標)アーカイブファイルについて、図11
を参照しながら説明する。
<Java(登録商標)アーカイブファイル>
Java(登録商標)アーカイブファイル(図2の00001.jar)は、1つ以上のクラスファイル、1つ以上のデータファイル等を1つにまとめることで得られるファイルである。図11(a)は、アーカイブファイルにより収められているプログラム、データを示す図である。本図におけるデータは、枠内に示すディレクトリ構造が配置された複数ファイルを、java(登録商標)アーカイバでまとめたものである。枠内に示すディレクトリ構造は、Rootディレクトリ、java(登録商標)ディレクトリ、imageディレクトリとからなり、Rootディ
レクトリにcommon.pkgが、java(登録商標)ディレクトリにクラスファイル(aaa.class,bbb.class)が、imageディレクトリに、menu.jpgが配置されている。java(登録商標)アーカイブファイルは、これらをjava(登録商標)アーカイバでまとめることで得られる。かかるクラスファイル及びデータは、BD-ROMからキャッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取り扱われる。Java(登録商標)アーカイブファイルのファイル名における"zzzzz"という5桁の数値は、アプリケーションのID(applicationID)を示す。本Java(登録商標)アーカイブファイルが
キャッシュに読み出された際、このファイル名における数値を参照することにより、任意のJava(登録商標)アプリケーションを構成するプログラム,データを取り出すことができる。
本図におけるクラスファイル(図中のaaa.class,bbb.class)は、上述したxletプログラ
ムに対応するクラスファイルである。Java(登録商標)動作環境による動作モード(BD-J
モード)における再生手順は、このクラスファイルのインスタンスにあたるxletプログラ
ムにより規定される。xletプログラムとは、JMF(Java(登録商標)Media FrameWork)方式のインターフェイスを利用することができるJava(登録商標)プログラムであり、JMF等
の方式に従って、キーイベントに基づく処理を行う。xletプログラムは、JMF方式の処理
が可能であるので、MPLSファイルに対するJMF方式のインスタンス(PlayListObject)を生
成することにより、プレイリスト再生を再生装置200に命じることができる。他にもxletプログラムでは、ファンクションAPIのコールを記述することにより、BD-ROM再生装置
200特有の処理を実行させることができる。
更にxletプログラムは、WWWサイトをアクセスしてコンテンツをダウンロードするとい
う手順を実行することもできる。これによりダウンロードコンテンツと、プレイリスト再生とを交えた斬新な作品を再生させることができる。
xletプログラムのクラスファイルについて説明する。図11(b)は、クラスファイルの内部構成を示す図である。本図に示すようにクラスファイルは、通常のクラスファイル同様、『コンスタントプール』、『インターフェイス』、『メソッド1,2,3・・・・n』からなる。クラスファイルにおけるメソッドには、挙動のトリガになるキーイベントが予め登録されているメソッド(EventListner)と、BD-ROM再生装置200側のファンクションAPIをコールするメソッドがある。これらのメソッドは、自身に割り当てられたローカル変
数や、自身をコールする際の引数を用いることにより、演算等の手順が記述されている。以上がJava(登録商標)アーカイブファイルについての説明である。これで、BD-ROMについての説明を終える。続いて、本発明に係る再生装置の内部構成について説明する。
<再生装置>
図12は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生
装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BD-ROMドライブ1、ReadBuffer2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、P-Graphicsデコーダ6、Presentation Graphicsプレーン7、合成部8、
フォントゼネレータ9、I-Graphicsデコーダ10、スイッチ11、InteractiveGraphics
プレーン12、合成部13、CLUT部14、CLUT部15、オーディオデコーダ16、Network Device17、Local Storage18、ReadBuffer19、デマルチプレクサ20、命令ROM21、ユーザイベント処理部22、PSRセット23、CPU24、シナリオメモリ25、Local Memory26、スイッチ27から構成される。
先ず初めに、BD-ROMに記録されたAVClip再生に係る構成要素(BDドライブ1〜オーディ
オデコーダ16)について説明する。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
Read Buffer2は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先
出し式に格納される。
デマルチプレクサ(De-MUX)3は、Read Buffer2からTSパケットを取り出して、このTS
パケットを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、CPU24から設定されたPIDをもつものをビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16のどれかに出力する。
ビデオデコーダ4は、デマルチプレクサ3から出力された複数PESパケットを復号して
非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される
。ビデオプレーン5では、ビデオストリームにおける一フレーム毎の再生映像を、スケーリングすることができる。スケーリングとは、一フレーム毎の再生画像をビデオプレーン5全体の1/4(クオータという)、1/1(フルスケールという)のどちらかに変化させることである。かかるスケーリングを、BD-JモードにおいてCPU24からの指示に従い実行する
ので、ビデオストリームの再生画像を、画面の隅に追いやったり、全面的に出すという画面演出が可能になる。
P-Graphicsデコーダ6は、BD-ROMから読み出されたプレゼンテーショングラフィクスストリームをデコードして、非圧縮グラフィクスをPresentationGraphicsプレーン7に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphicsプレーン7は、一画面分の領域をもったメモリであり、一画面
分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、PresentationGraphicsプレーン7中の非圧縮グラフィクスの各画素は8ビット
のインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、PresentationGraphicsプレーン7に格納された非圧縮グラフィクスは、表示に供される。
合成部8は、ビデオプレーン5に格納された非圧縮状態のピクチャデータ(i)を、Presentation Graphicsプレーン7の格納内容と合成する。
フォントゼネレータ9は、文字フォントを用いてtextSTストリームに含まれるテキストコードをビットマップに展開してPresentation Graphicsプレーン7に書き込む。
I-Graphicsデコーダ10は、HDMVモードにおいてBD-ROM又はLocal Storage18から読
み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractiveGraphicsプ
レーン12に書き込む。
スイッチ11は、フォントゼネレータ9が生成したフォント列、P-Graphicsデコーダ6のデコードにより得られたグラフィクスの何れかを選択的にPresentationGraphicsプレーン7に書き込むスイッチである。
Interactive Graphicsプレーン12は、I-Graphicsデコーダ10によるデコードで得られた非圧縮グラフィクスが書き込まれる。またInteractiveGraphicsプレーン12には、BD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスが書き込ま
れる。
合成部13は、Interactive Graphicsプレーン12の格納内容と、合成部8の出力である合成画像(非圧縮状態のピクチャデータと、PresentationGraphicsプレーン7の格納内
容とを合成したもの)とを合成する。かかる合成により、アプリケーションがI-Graphics
デコーダ10に書き込んだ文字・グラフィクスを、非圧縮状態のピクチャデータ上にオーバレイして、表示することができる。
CLUT部14は、ビデオプレーン5に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
CLUT部15は、Interactive Graphicsプレーン12に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
オーディオデコーダ16は、デマルチプレクサ3から出力されたPESパケットを復号し
て、非圧縮形式のオーディオデータを出力する。
以上がAVClip再生に係る構成要素である。続いてBD-Jモードでの動作に係る構成要素(Network Device17〜De-mux20)について説明する。
Network Device17は、再生装置における通信機能を実現するものであり、BD-JモードにおいてURL指定がJava(登録商標)アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション
確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせ
る。
Local Storage18は、Network Device17により確立されたコネクションを通じてwebサイトからダウンロードされたコンテンツ等、BD-ROM以外の記録媒体、通信媒体から供給されたコンテンツを、メタデータと共に格納しておくためのハードディスクである。このメタデータは、ダウンロードコンテンツをLocalStorage18にバインドして管理するための情報であり、このLocal Storage18をアクセスすることで、BD-Jモードにおけるアプ
リケーションは、ダウンロードコンテンツを利用した様々な処理を行うことができる。
Read Buffer19は、FIFOメモリであり、Local Storage18に格納されたダウンロードコンテンツに、SubClipが含まれている場合、このSubClipを構成するTSパケットを、先入れ先出し式に格納する。
デマルチプレクサ(De-MUX)20は、Read Buffer19からTSパケットを取り出して、TS
パケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所望のPIDをもつものをフォントゼネレータ9、I-Graphicsデコーダ10、オーディオデコー
ダ16に出力する。
以上のNetwork Device17〜De-mux20により、Java(登録商標)アプリケーションがネットワークを通じてダウンロードしたコンテンツを、BD-ROMに記録されたコンテンツ同様再生させることができる。続いて、再生装置における統合制御を実現する構成要素(命
令ROM21〜スイッチ27)について説明する。
命令ROM21は、再生装置の制御を規定するソフトウェアを記憶している。
ユーザイベント処理部22は、リモコンや再生装置のフロントパネルに対するキー操作に応じて、その操作を行うユーザイベントをCPU24に出力する。
PSRセット23は、再生装置に内蔵されるレジスタであり、64個のPlayer Status Register(PSR)と、4096個のGeneralPurpose Register(GPR)とからなる。Player Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0
に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するPL(カレントPL)の番号を示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するPlayItem(カレントPlay Item)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM(PresentationTiMe))を示す。以上のPSR4〜PSR8により、図8におけるAVClip時間軸において、現在の再生時点はどこであるかを特定することができる。
CPU24は、命令ROM21に格納されているソフトウェアを実行して、再生装置全体の制御を実行する。この制御の内容は、ユーザイベント処理部22から出力されたユーザイベント、及び、PSRセット23における各PSRの設定値に応じて動的に変化する。
シナリオメモリ25は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
Local Memory26は、BD-ROMからの読み出しは低速である故、BD-ROMの記録内容を一時的に格納しておくためのキャッシュメモリである。かかるLocalMemory26が存在するこ
とにより、BD-Jモードにおけるアプリケーション実行は、効率化されることになる。
スイッチ27は、BD-ROM及びLocal Storage18から読み出された各種データを、Read Buffer2、Read Buffer19、シナリオメモリ25、LocalMemory26のどれかに選択的に投入するスイッチである。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置におけるファイルシステム構造について説明する。
図13(a)は、Local Storage18におけるディレクトリ構造を示す図である。
本図のディレクトリ構造においてROOTディレクトリの配下には、「DLDAT」というサブ
ディレクトリがあり、その配下に、「PKG00001」,「PKG00002」というサブディレクトリ
がある。「PKG00001」,「PKG00002」はそれぞれがBD-ROMのボリュームラベルであり、「PKG00001」というボリュームラベルを有したBD-ROMに対応するディレクトリ、「PKG00002
」というボリュームラベルのBD-ROMに対応したディレクトリが、LocalStorage18に存在することを意味する。そのうち、サブディレクトリ「PKG00001」は、ボリュームラベル「
PKG00001」のBD-ROMに対応する、ダウンロードデータの置き場所であることを示す。各BD-ROMに対応するディレクトリにサブディレクトリを配置することで各BD-ROMについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、BD-ROMに格納されていたのと同様、PlayLIst情報、Clip情報、AVClipが格納されており、この他にJava(登録商標)アーカイブファイルや、ストリーム格納位置情報ファイルが存在する。
ここでBD-ROMに記録されていたAVClipが、映画作品の本編に該当するのに対し、Local Storage18上に記録されているAVClipは、現在劇場で上映されている映画作品の予告編
であるものとする。予告編の内容は、時代の移り変わりによって変わるので、現在、現在劇場で上映されている映画作品の予告編が、LocalStorage18上に、AVClipとして記録されているのである。
後者のストリーム格納位置情報ファイルについて説明する。このストリーム格納位置情報ファイルは、Virtual Packageを構成するファイルの一覧を示す情報である。図13(
b)は、ストリーム格納位置情報ファイルの内部構成を示す図であり、ストリーム格納位置情報ファイルは、VirtualPackageを構成する各AVClip及びClip情報の格納位置情報からなる。各格納位置情報は、AVClip及びClip情報の"識別子"と、LocalStorage18におけるそのAVClip及びClip情報の格納位置を示す"ファイルパス"とからなる。かかる格納位置情報を参照することにより、VirtualPackageを構築するにあたって、Virtual Packageの構
成要素となるAVClip及びClip情報が、揃っているかを、確認することができる。
以上が、本実施形態に係る再生装置のファイルシステム構成である。続いて本実施形態に係る再生装置におけるソフトウェア構造について説明する。
図14は、ROM24に格納されたソフトウェアと、ハードウェアとからなる部分を、レ
イア構成に置き換えて描いた図である。本図に示すように、再生装置のレイア構成は、以下のa),b),c)からなる。つまり、

a)BD Player Deviceの第1階層、
b)BD Player Modelの第2階層、
c)Application Runtime Enviromentの第3階層からなる。
これらの階層のうち図12に示した再生装置のハードウェア構成は、第1階層に属することになる。本図の第1階層"BD Player Device"には、図12に示したハードウェア構成のうちビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16からなる"デコーダ"と、ビデオプレーン5、PresentationGraphicsプレーン7、Interactive Graphicsプレーン12からなる"プレーン"、BD-ROM及びそのファイルシステム、LocalStorage18及びそのファイルシステムを含む。
第2階層"BD Player Model"は、以下のb1),b2)の層からなる。つまり、
b2)Playback Control Engine32の層
b1)Virtual File System38及びPresentation Engine31の層
からなり、自身より上位の階層に対し、ファンクションAPIを提供する。
このうち図12に示したPSRセット23やシナリオメモリ25は、Playback Control Engine32内に存在することになる。
第3階層"Application Runtime Enviroment"は、以下のc1)のスタック階層からなる。
つまり、
c1)HDMVモジュール29a、BD-Jモジュール29bが存在する層
からなる。
以降、このソフトウェア構造における各構成要素について説明する。
<HDMVモジュール29a、BD-Jモジュール29b>
HDMVモジュール29aは、ナビゲーションコマンドを解読し、解読結果に基づきPlayback Control Engine32に対するファンクションコールを実行する。
BD-Jモジュール29bは、いわゆるJava(登録商標)プラットフォームであり、
d1-1)Java(登録商標)仮想マシン30
d1-2)Java(登録商標)仮想マシンが動作するためのミドルウエアを階層化した構成に
なっている。
<Java(登録商標)仮想マシン30>
Java(登録商標)仮想マシン30は、アプリケーションを構成するxletプログラムをワークメモリにロードして、xletプログラムを解読し、解読結果に従って、下位層に対する制御を行う。下位層への制御は、メソッドをミドルウェアに発行して、BD再生装置が対応しているファンクションコールに置き換えさせ、置換後のファンクションコールをPlaybackControl Engine32に発行することでなされる。
(Java(登録商標)仮想マシン30の内部構成)
ここでJava(登録商標)仮想マシン30の内部構成について説明する。図15は、Java(登録商標)仮想マシン30の内部構成を示す図である。本図に示すようにJava(登録商標)仮想マシン30は、図12に示したCPU24と、ユーザクラスローダ52、メソッド
エリア53、ワークメモリ54、スレッド55a,b・・・n、Java(登録商標)スタック56a,b・・・nとから構成される。
ユーザクラスローダ52は、BDJAディレクトリのJava(登録商標)アーカイブファイルにおけるクラスファイルをLocal Memory26等から読み出してメソッドエリア53に格納する。このユーザクラスローダ52によるクラスファイル読み出しは、ファイルパスを指定した読み出しをアプリケーションマネージャ36がユーザクラスローダ52に指示することでなされる。ファイルパスがLocalMemory26を示しているなら、ユーザクラスロー
ダ52は、アプリケーションを構成するJava(登録商標)アーカイブファイルにおけるクラスファイルを、LocalMemory26からワークメモリ54に読み出す。ファイルパスがFile Syste上のディレクトリを示しているなら、ユーザクラスローダ52は、アプリケーシ
ョンを構成するJava(登録商標)アーカイブファイルにおけるクラスファイルを、BD-ROM又はLocalStorage18からワークメモリ54に読み出す。
メソッドエリア53は、ユーザクラスローダ52によりLocal Memory26から読み出されたクラスファイルが格納される。
ワークメモリ54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンスが格納される。ワークメモリ54には、常駐型のレジデントアプリケーションやメソッドエリア53に読み出されたクラスファイルに対応するインスタンスが格納される。このインスタンスが、アプリケーションを構成するxletプログラムである。かかるxletプログラムをワークメモリ54に配置することによりアプリケーションは実行可能な状態になる。
スレッド55a,b・・・nは、ワークメモリ54に格納されたメソッドを実行する論理的な実行主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにして演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中の矢印ky1,ky2,kynは、ワークメモリ54からスレッド55a,b・・・nへのメソッド供給
を象徴的に示している。物理的な実行主体がCPU唯1つであるのに対し、論理的な実行主体たるスレッドは、最大64個Java(登録商標)仮想マシン30内に存在し得る。この64個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除すること
も可能であり、スレッドの動作数は、Java(登録商標)仮想マシン30の動作中において増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより1つのイ
ンスタンスの並列実行を行い、インスタンスの高速化を図ることもできる。
Java(登録商標)スタック56a,b・・・nは、スレッド55a,b・・・nと1対1の比率で存在しており、プログラムカウンタ(図中のPC)と、1つ以上のフレームとを内部に持つ。"プログラムカウンタ"は、インスタンスにおいて、現在どの部分が実行されているかを示
す。"フレーム"はメソッドに対する1回のコールに対して割り当てられたスタック式の領
域であり、その1回のコール時の引数が格納される"オペランドスタック"と、コールされ
たメソッドが用いる"ローカル変数スタック(図中のローカル変数)"とからなる。フレームは、コールが1回なされる度にJava(登録商標)スタック56a,b・・・n上に積み上げら
れるのだから、あるメソッドが自身を再帰的に呼び出す場合も、このフレームは、1つ積
み上げられることになる。
以上がJava(登録商標)仮想マシンの内部構成である。このように構成されたJava(登録商標)仮想マシンは、イベントにより駆動される実行主体(イベントドリブンの実行主
体)となる。以上がJava(登録商標)仮想マシンについての説明である。
<Presentation Engine31>
Presentation Engine31は、AV再生ファンクションを実行する。再生装置のAV再生フ
ァンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生
開始(Play)、再生停止(Stop)、一時停止(PauseOn)、一時停止の解除(Pause Off)、Still
機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(BackwardPlay(speed))、音声切り換え(Audio Change)、副映像切り換え(SubtitleChange)、アングル切り換え(AngleChange)といった機能である。AV再生ファンクションを実現するべく、Presentation Engine31は、Read Buffer2上に読み出されたAVClipのうち、所望に時刻にあたる部分のデコードを行うよう、ビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16を制御する。所望の時刻としてPSR8(カレントPTM)に示される箇所のデコードを行わせることにより、AVClipにおいて
、任意の時点を再生を可能することができる。
<Playback Control Engine32>
再生制御エンジン(Playback Control Engine32(PCE))32は、プレイリストに対する再生制御ファンクション(i)、PSRセット23における状態取得/設定ファンクション(ii)といった諸機能を実行する。PLに対する再生制御ファンクションとは、PresentationEngine31が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントPL情報及びClip情報に従って行わせることをいう。これら機能(i)〜(ii)は、HDMVモジュール29a〜BD-Jモジュール29bからのファンクションコールに応じて実行する。
ここでPlayback Control Engine32による処理と、Java(登録商標)仮想マシンによ
る処理との同期について説明する。PlaybackControl Engine32は、ファンクションがコールされれば、PL情報に基づく処理手順を実行する。再生しようとするAVClipが15分、30分という再生時間を有するなら、これらの時間、上述した処理は継続することになる。ここで問題になるのは、Java(登録商標)仮想マシン30がサクセス応答を返す時間と、PlaybackControl Engine32が実際に処理を終える時間とのギャップである。Java(登録商標)仮想マシン30は、イベントドリブンの処理主体であるためコール直後に再生成功か、再生失敗かを示す応答を返すが、PlaybackControl Engine32がAVClip及びPlayItemの再生を終了するのは、15分、30分経過後であるので、サクセス応答をアプリケーションに返す時間を基準にしたのでは、15分、30分経過後にあたる処理終結を感知しえない。PL再生において早送り、巻戻しが行われると、この15分、30分という再生期間は前後に変動することになり、処理終結の感知は更に困難になる。そこでPlaybackControl Engine32は
、PlayItemの再生終了時、AVClipの再生終了時に、PlayItemやAVClipの再生が終了したことを示すイベントをアプリケーションに出力する。かかる出力により、PlaybackControl Engine32がPlayItemやAVClipの再生を終結した時点を、アプリケーションは知得することができる。
以上が、Java(登録商標)仮想マシン、Network Device31、Playback Control Engine32の説明である。PlaybackControl Engine32に対する、Java(登録商標)仮想マシ
ンによる制御は、Virtual Packageを通じてなされる。VirtualPackageを通じた、Playback Control Engine32に対する制御を実現するため、再生装置には、以下に示す構成要素(ネットワーク管理モジュール37、VirtualFileSystem部38、管理情報変換モジュール39、メソッド実行モジュール40)が存在する。以降これらの構成要素について説明す
る。
<ネットワーク管理モジュール37>
ネットワーク管理モジュール37は、アプリケーションからのメソッド呼出に従って、Virtual Package構築に必要なデータを、映画作品のプロバイダが運営しているWWWサイトからダウンロードする。VirtualPackage構築に必要なデータには、ストリーム格納位置情報ファイル、PlayList情報、Clip情報、AVClipがある。Work Memory54上のアプリケー
ションによるダウンロード要求がなされると、ネットワーク管理モジュール37は、ネットワークを通じて、VirtualPackage構築に必要なデータをダウンロードし、Local Storage18に書き込んでゆく。
このダウンロードにあたっての書き込みの順序は、
ストリーム格納位置情報ファイル→PlayList情報→複数Clip情報→複数AVClip
となる。
ここでPlayList情報−複数のClip情報の書き込みが完了した段階で、Virtual Package
の構築は可能になる。
<Virtual FileSystem部38>
Virtual FileSystem部38は、第2階層に属する構成要素の1つであり、アプリケーシ
ョンからのメソッド呼出に従い、Virtual Packageを構築する。VirtualPackageの構築処
理には、Virtual Packageを構成する各AVClipの状態管理と、Virtual Package情報の生成処理とが含まれる。
1.Virtual Package情報
Virtual Package情報は、BD-ROMにおけるボリューム管理情報を拡張した情報である。
ここでボリューム管理情報は、ある記録媒体上に存在するディレクトリ−ファイル構造を規定する情報であり、ディレクトリについてのディレクトリ管理情報、ファイルについてのファイル管理情報とからなる。
Virtual Package情報とは、BD-ROMのディレクトリ−ファイル構造を示すボリューム管
理情報に、新たなファイル管理情報を追加することにより、BD-ROMにおけるディレクトリ−ファイル構造の拡張を図ったものである。ここでBDボリューム管理情報に追加されるファイル管理情報とは、LocalStorage18に存在するPlayLIst情報、Clip情報、AVClipについてのファイル管理情報であり、かかるファイル管理情報を追加したVirtualPackage情報を作成し、Playback Control Engine32に引き渡すことにより、Playback Control Engine32は、LocalStorage18上にあるPlayLIst情報、Clip情報、AVClipがBD-ROMに存在するものとして認識することができる。図16は、VirtualFileSystem部38によるVirtualPackage情報構築の一例を示す図である。本図の左上は、BD-ROMにおけるディレクトリ−
ファイル構造であり、図2に示したものと同じである。本図の左下は、LocalStorage18
におけるディレクトリ−ファイル構造であり、図13(a)に示したものと同じである。このLocal Storage18上のPlayLIst情報、Clip情報、AVClipについてのファイル管理情
報を、BD-ROMのボリューム管理情報に追加する。
具体的には、
i)Local Storage18上のPlayLIst(00002.MPLS)についてのファイル管理情報を、BDボ
リューム構成情報におけるMPLSディレクトリのディレクトリ管理情報に追加し、
ii)Local Storage18上のClip情報#2、Clip情報#3、#4(00002.CLPI,00003.CLPI,00004.CLPI)についてのファイル管理情報を、BDボリューム構成情報におけるCLPIディレクトリのディレクトリ管理情報に追加し、
iii)Local Storage18上のAVClip#2、AVClip#3、#4(00002.M2TS,00003.M2TS,00004.M2TS)についてのファイル管理情報を、BDボリューム構成情報におけるSTREAMディレクトリ
のディレクトリ管理情報に追加する。
こうすることにより、Virtual Package情報が得られる。この追加により得られたボリ
ューム管理情報が、Virtual Package情報である。
こうして作成されたVirtual Package情報を、Playback Control Engine32に引き渡す。これにより、PlaybackControl Engine32は、Local Storage18上のPlayLIst情報、Clip情報、AVClipを、BD-ROM上のPlayLIst情報、Clip情報、AVClipと対等に扱うことがで
きる。以上がVirtualPackage情報生成についての説明である。続いてVirtual FileSysterm部38による状態管理について説明する。
3.enable及びdisable
"状態管理"とは、Virtual Packageを構築すべきAVClipが、enableであるか、disableであるかの管理である。ここでPlayList情報における1つのPlayItem情報がマルチアングル
対象である場合、マルチアングル区間を構成するそれぞれのAVClipが、enableであるか/disableであるかという状態管理の対象になる。また、PlayItem情報にSubPlayItem情報が存在する場合、そのSubPlayItem情報のClip_information_file_nameに記述されているAVClipも、enableであるか/disableであるかという状態管理の対象になる。
図17(a)は、Virtual FileSystem部38による状態管理の一例を示す図である。本図に示すように、AVClipの状態には、"enable"、"disable"というものがある。"enable"
とは、Clip情報と、それに対応するAVClipとがLocalStorage18上に存在し、そのAVClipがRead Only Modeに設定されている状態をいう。
一方、"disable"とは、Clip情報がLocal Storage18上に存在するもの、これに対応するAVClipが、Local Storage18に存在しないか(MissingStream)、存在したとしても、削除され得る状態にあることをいう。
disableは、削除され得るものと取り扱われるので、Local Storage18上の容量が不足した際、disableのAVClipは削除の対象になる。
従ってLocal Storage18にAVClipがダウンロードされた場合、Virtual FileSysterm部38がこのAVClipをenableに変化させない限り、PlaybackControl Engine32は、このダウンロードされたAVClipを存在しないものとして扱うことになる。Virtual File Systerm部38の作為がない限り、PlaybackControl Engine32は、Local Storage18上のAVClipを認識しないので、不安定な状態のまま、Playback ControlEngine32が再生を進める
ようなことは有り得ない。
3.Read Only Mode及びそのキャンセル
続いてRead Only Modeについて説明する。Read Only Modeへの変化は、Local Storage
18におけるボリューム管理情報の、ファイル管理情報を書き換えることでなされる。こ
の書き換えの対象は、LocalStorage18におけるDLDATディレクトリ配下のPACKAGE00001
ディレクトリにおけるファイル管理情報であり、かかるファイル管理情報における、ファイル属性を全てRead-only属性に書き換えることにより、LocalStorage18上のAVClipは
、書き換えられることはなくなる。そのため、Playback Control Engine32による再生
中、アプリケーションがLocalStorage18上のAVClipをアクセスしようとしても、AVClipが書き換えられることはないので、再生中のAVClipの同一性は保たれることになる。
Local Storage18上のAVClipを、Playback Control Engine32から認識できるような状態にした際、LocalStorage18において、そのAVClipを格納しているファイルをRead-only属性にするので、Java(登録商標)仮想マシン上のアプリケーションが、ダイレクト
にLocalStorage18をアクセスしたとしても、そのAVClipの内容が途中から変わってしまうことはない。
Read Only Modeのキャンセルについて説明する。Read Only Modeのキャンセルは、ReadOnly Modeへの変化同様、LocalStorage18におけるボリューム管理情報の、ファイル管
理情報を書き換えることでなされる。この書き換えの対象は、Local Storage18におけ
るDLDATディレクトリ配下のPACKAGE00001ディレクトリにおけるファイル管理情報であり
、かかるファイル管理情報における、ファイル管理情報を、Read-only属性からRe-writable属性に書き換えることにより、LocalStorage18上のAVClipは、いつでも書き換えられることになる。そのため、Playback Control Engine32による再生が済んだ直後、LocalStorage18におけるファイル管理情報を、Re-writable属性に書き換えることにより、Local Storage18上のAVClipは、削除の対象になる。以上が、状態管理についての説明で
ある。
4.状態管理とVirtual Package情報との関係
この状態管理の内容は、Virtual Package情報の作成に反映されうる。つまり状態管理
において、disableとされているAVClipについてのファイル管理情報は、BD-ROMのボリュ
ーム管理情報に追加されず、enableとされているAVClipについてのファイル管理情報のみが、BD-ROMのボリューム管理情報に追加されるのである。こうして作成したVirtualPackage情報を、Playback Control Engine32に引き渡すことにより、Playback Control Engine32は、enableと設定されたAVClipのみを認識することになる。BD-ROM上に存在するAVClip#1、及びLocalStorage18上に存在するAVClip#2、AVClip#3、AVClip#4のうち、AVClip#1、AVClip#2はenableであるが、AVClip#3、AVClip#4はdisableであるとすると、VirtualFileSysterm部38は、図18に示すように、Virtual Package情報の作成を行う。図18は、状態管理を反映したVirtual Package情報の作成を示す図である。本図においてAVClip#2についてのファイル管理情報は、BDボリューム構成情報におけるSTREAMディレクト
リのディレクトリ管理情報に追加されるが、AVClip#3、AVClip#4についてのファイル管理情報は、BDボリューム構成情報におけるSTREAMディレクトリのディレクトリ管理情報に追加されない。図18左下における4つのAVClipのうち、AVClip#2にあたる、00002.M2TSがenableであり、AVClip#3、AVClip#4にあたる、00003.M2TS,00004.M2TSがdisableであるも
のとする。そうすると、本図に示すように、LocalStorage18において、AVClip#2にあたる、00002.M2TSのファイル属性は、Read-only属性に設定される。またAVClip#3、AVClip#4にあたる、00003.M2TS,00004.M2TSのファイル属性は、Re-writable属性に設定される。
こうして作成したVirtualPackage情報をPlayback Control Engine32に引き渡すことに
より、Playback Control Engine32は、disableにあるAVClip#3、AVClip#4を認識することはない。
ここでClip情報は存在するが、対応するAVClipがLocal Storage18上にない場合、そ
のAVClipはdisableに設定された。しかし、Clip情報に対するファイルパスがストリーム
格納位置情報ファイルにあるにもかかわらず、AVClipはおろかClip情報すらLocalStorage
18にない場合、Virtual Packageの構築は不可能になる。つまり、Virtual Packageにおいて本来あるべきClip情報が存在しないことは、VirtualPackage全体に波及することを意味する。
5.Virtual Package情報の引き渡し
以上の1.〜4.にて作成されたVirtual Package情報が、どのように引き渡されるかに
ついて説明する。
ここで図18に示したように、PlayList情報、Clip情報#2〜Clip情報#4、AVClip#2はダウンロードが完了しているものAVClip#3、AVClip#4のダウンロードは未完である状態である場合を想定する。かかる状態でVirtualPackage構築が要求されれば、Virtual FileSysterm部38は、図19に示すような動作を行う。図19は、ネットワーク管理モジュール
37によるダウンロードが途上である場合の、VirtualFileSystem部38によるVirtual Package構築を示す図である。本図の状況でVirtual Package構築が要求されれば(◎1VPCreate)、BD-ROM及びLocal Storage18からディレクトリ管理情報及びファイル管理情報を
読み出して(◎2,3)、VirtualPackageの構築を行い、Virtual Package情報をPlayback Control Engine32に引き渡すと共に(◎4)、アプリケーションに引き渡す(◎5)。こうする
ことでPlaybackControl Engine32は、Virtual Packageを通じてBD-ROM、及び、Local Storage18上のAVClipから1つのストリームシーケンスを構築することができる。
またアプリケーションに引き渡したVirtual Package情報においてClip情報#3、Clip情
報#4が存在するもの、AVClip#3、AVClip#4は存在しないので、アプリケーションは、AVClip#3、AVClip#4がストリーム列を構成するもの、これらが存在しないストリーム(MissingStream)であると認識することができる。
以上がVirtual FileSystem部38についての説明である。
<管理情報変換モジュール39>
管理情報変換モジュール39は、BD-J Module29b内のミドルウエアの1つであり、Virtual Package中に存在するPlayList情報のインスタンス生成をアプリケーションが要求
した際、Java(登録商標)仮想マシンのWorkMemory54に、JMF形式によるPlayList情報
のインスタンス(図16のWork Memory54内に示したPlayListオブジェクト)を生成する
このインスタンス(PlayListオブジェクト)は、PlayList情報である"データ部"と、複数の"メソッド部"とをもつ。
PlayListオブジェクトにおける複数のメソッドは、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(PauseOff)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(BackwardPlay(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(AngleChange)といった、諸々の再生処理を、Playback Control Engine32に行わせるもの
である。よってアプリケーションは、このメソッドを呼び出すことにより、そのPlayListにより規定されるストリームシーケンスを再生したり、かかる再生を停止したりすることができる。
ここで、PlayListオブジェクトにより再生されるPlayList情報について説明する。このPlayList情報は、Local Storage18上に存在するPlayList情報である。
BD-ROM上のPlayList情報は、BD-ROM上のAVClipのみを参照しているのに対し、Local Storage18上のPlayList情報は"ProgressivePlayList情報"と呼ばれ、BD-ROM上のAVClipと、Local Storage18上のAVClipとを参照する。
ここでProgressive PlayList情報が、PlayItem情報#1〜PlayItem情報#5という5つのPla
yItem情報から構成されているものとする。このうち、3つのPlayItem情報#1〜PlayItem情報#3は、BD-ROM上のClip情報を参照するものであり、残りの2つ(PlayItem情報#4、PlayItem情報#5)が、LocalStorage18上のClip情報を参照するものである場合、このProgressive PlayList情報は、図20(a)に示すように、BD-ROM上のAVClipと、LocalStorage1
8上のAVClipとから1つのストリームシーケンスを定義することができる。
図20(a)は、ローカルストレージに格納されたPL情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。第1段目は、BD-ROMに記録されたAVClipにお
ける再生時間軸を示し、第2段目は、ローカルストレージに格納されたPL情報により定義
されるPlayList再生時間軸を示す。第3段目は、ローカルストレージに格納されたAVClip#2における再生時間軸を、第4段目は、ローカルストレージに格納されたAVClip#3における再生時間軸を、第5段目は、ローカルストレージに格納されたAVClip#4における再生時間
軸を示す。
PlayList情報におけるPlayItemのうち、PlayItem情報#4、PlayItem情報#5、PlayItem情報#6が、AVClip#2、AVClip#3、AVClip#4を再生区間として指定するなら、ProgressivePlayList情報は、BD-ROM上のAVClip及びLocal Storage18上のAVClipを1つのストリームシ
ーケンスとして規定することができる。
ここでProgressive PlayList情報の"Progressive"とは、PlayList情報を構成するPlayItem情報により参照されるAVClipのうち、一部のものがenableであれば、残りのものがdisableであったとしても、ストリームシーケンスの再生を開始することができることを意味する。
図20(b)は、Progressive PlayList情報の概念を示す図である。本図の第2段目〜
第5段目は、図20(a)の第2段目、第3段目、第4段目、第5段目を示すものである。図
20(a)の第3段目、図20(b)の第3段目のAVClipはenableであるが、第4段目〜第5段目のAVClipがdisableである場合、ProgressivePlayList情報により参照される4つのAVClipのうち、AVClip#3、AVClip#4は再生しえないもの、AVClip#1、AVClip#2は再生し得る
ので、ストリームシーケンスの再生は開始できることになる。このように、一部のAVClipであれば、投機的に再生を開始することができるのがProgressivePlayList情報の特徴で
ある。
Virtual Package構築がVirtual FileSystem部38によりなされた段階において、図2
0のようなProgressivePlayList情報についてのインスタンス生成を、Work Memory54上のアプリケーションが要求した場合、管理情報変換モジュール39は、図21に示すような処理を行う。図21は、管理情報変換モジュール39によるインスタンス生成を示す図である。
Virtual Packageに存在するPlayList情報のインスタンス生成を要求する、生成メソッ
ドをアプリケーション呼び出すと(◎1)、管理情報変換モジュール39はPlayList情報を
シナリオメモリ25から読み出して(◎2)、このProgressivePlayList情報をデータ部にし、メソッド部を付け加えたPlayListオブジェクトをWork Memory54に生成する(◎3)。かかるPlayListオブジェクトがWorkMemory54に得られるので、アプリケーションは、このPlayListオブジェクトのメソッドを呼び出すことにより、PlayList情報により規定されるストリームシーケンスの再生を、PlaybackControl Engine32に命じることができる。
図22は、PlayListオブジェクトにおけるPlayメソッドの呼び出しを示す図である。このPlayメソッドの呼び出しにより(◎4)、PlaybackControl Engine32に対し、PL再生の
ファンクションコールがなされる(◎5)。そうすると、Playback Control Engine32は、再生が要求されたPlayList情報により参照されているAVClip(BD-ROM上のAVClip#1、Local
Storage18上のAVClip#2)を読み出し(◎6,7)、順次デコーダに供給させる。以上が管理
情報変換モジュール39についての説明である。
<メソッド実行モジュール40>
メソッド実行モジュール40は、BD-J Module29b内のミドルウェアにおける構成要
素の1つであり、Java(登録商標)仮想マシン30に存在するアプリケーションからのメ
ソッド呼出に応じて、各種メソッドを実行する。メソッド実行モジュール40により実行されるメソッドには、様々なものがあるが、getMissingStreamsメソッド、enableClipメ
ソッド、disableClipメソッド、getDisableClipsメソッドといったものは、本願における特徴的なものである。以降、これらのメソッドについて説明する。
1. getMissingStreamsメソッド
getMissingStreamsメソッドとは、ネットワーク管理モジュール37によるダウンロー
ドが継続している際に、未だMissing StreamになっているAVClipが存在するかを、VirtualFileSystem部38に問い合わせるメソッドである。
ここで図19のようなVirtual Package情報がWork Memory54上のアプリケーションに引き渡されたものとする。Virtual Package構築時に判明していたMissingStreamがAVClip#3、AVClip#4であり、その後、アプリケーションがgetMissingStreamsメソッドを呼び出
すことにより、最新のMissingStreamについて、Virtual FileSystem部38に問い合わせ
たとする。この場合のメソッド実行モジュール40による処理は、図23のようになる。
図23は、この問合せの結果を模式的に示す図である。本図において◎1に示すように
、getMissingStreamsメソッドの呼び出しがなされ、この呼出により、VirtualFileSystem部38がAVClip#4を戻り値として返すとする。そうすると、getMissingStreamsメソッド
を呼び出す前においてMissingStreamがAVClip#3、AVClip#4であったのに対し、getMissingStreamsメソッドの呼出後においてAVClip#4になったことから、AVClip#3はMissingStreamでなくなった(ダウンロードが完了した)と判定することができる。こうすることにより
、ダウンロードの進行により、Missing Streamがどれだけ解消されたかを知得することができる。
2.enableClipメソッド
enableClipメソッドとは、Virtual Packageの構築時においてMissing Streamであった
が、その後、Missing StreamでなくなったAVClipが存在する場合、そのAVClipをenableに設定するためのメソッドである。
ここで図23においてAVClip#3がMissing Streamでなくなったことが明らかになったので、このAVClip#3を対象にしたenableClipメソッドを呼び出したものとする。この場合、メソッド実行モジュール40は、図24に示すような処理を行う。図24は、enableClipメソッドの呼出を模式的に示す図である。このAVClip#3を対象にしたenableClipメソッドの呼び出しがなされると(◎3)、アプリケーションは、AVClip#3をenableに変化させ、Success応答をアプリケーションに返す(◎2)。こうすることにより、VirtualPackageの構築
にてMissing StreamでなくなったAVClipをenableに変化させてゆくことができる。AVClipをenableにした際、メソッド実行モジュール40は、新たにenableにしたAVClipを含むVirtualPackage情報を、アプリケーション及びPlayback Control Engine32に引き渡させ
る。これにより、Playback ControlEngine32及びアプリケーションは、新たに、enableになったAVClipを認識し、アクセスすることができる。
3.disableClipメソッド
disableClipメソッドとは、enableにあるAVClipを、disableに設定するメソッドである
。ここで図20に示したProgressivePlayList情報の再生中において、AVClip#2の再生が
完了した旨のイベントが、Playback Control Engine32により通知されたものとする。
この場合、AVClip#2の再生が完了したことが通知されれば、図25のような処理を行う。図25は、disableClipメソッドの呼出を模式的に示す図である。本図において、PlaybackControl Engine32による再生に進行に伴い、AVClip#2の再生が完了したことが、end of Clipイベントにより通知されれば(◎1)、このAVClip#2を対象にしたdisableClipメソッドを呼出すことにより(◎2)、アプリケーションは、AVClip#2をdisableに変化させることができる。こうすることにより、再生が済んだAVClipをdisableに変化させてゆくことが
できる。こうすることにより、AVClip#2はdisableに設定されるので、AVClip#2は、削除
の対象になる。予告編を構成するようなAVClipが時々刻々とダウンロードされるような場合、ProgressivePlayList情報により規定されるストリームシーケンスのうち、再生が済
んだものを順次disableにしてゆけば、再生が済んだAVClipを、disableにして削除の対象にしてゆくことができる。AVClipをdisableにした際、メソッド実行モジュール40は、
新たにdisableにしたAVClipを除いたVirtualPackage情報を、アプリケーション及びPlayback Control Engine32に引き渡させる。これにより、Playback ControlEngine32は、disableになったAVClipを認識することはない。尚、Local Storage18上のAVClipを削除するにあたって、ミドルウェアは、削除しようとするアプリケーションの書き込み権限をチェックした上で、その削除を実行する。これは、不本意な削除によるAVClipの消失を防ぐためである。
4.getDisableClipsメソッド
getDisableClipsメソッドとは、Disable になっている AVClip が存在するかを問い合
わせるメソッドである。このメソッドの呼出によりアプリケーションはこのメソッドを使って現在Disable となっているAVClip があるかどうかの情報を得ることができる。使用
例としては、例えば、 Progressive PlayList 再生中、ユーザからのチャプタースキップ要求を受けたときに、アプリケーションは、ジャンプ先のAVClip がDisableかどうかをこのメソッドを使って判断する。そして、Disableであれば、チャプタースキップを行わず
、「現在ダウンロード中のため、そのチャプターにはまだジャンプできません」などと、注意を喚起する表示を行う。こうすることにより、チャプタースキップといった、特殊再生を、ProgressivePlayListの再生中に実行することができる。
以上で、メソッド実行モジュール40により実行されるメソッドについての説明を終わる。
これまで説明した各構成要素について、フローチャートを参照しながら、その処理手順の詳細を説明する。
図26は、Virtual Package構築時の処理を示すフローチャートである。本フローチャ
ートでは、ストリーム格納位置情報ファイルに格納されたAVClipに対応するClip情報がLocalStorage18に完備されているかどうかを先ず判定し(ステップS1)、Clip情報に未完のものがあれば、アプリケーションからのVirtual Package呼出に対し、Falseリターンを行う(ステップS10)。Clip情報に対するファイルパスがストリーム格納位置情報ファイルにあるにもかかわらず、AVClipはおろかClip情報すらLocalStorageにない場合、Virtual Packageの構築は不可能になる。
一方、ストリーム格納位置情報ファイルに記述された全てのClip情報が、Local Storage18に存在すれば(ステップS1でYes)、LocalStorage18におけるPlayList情報のファイル管理情報を、BDボリューム管理情報におけるPLAYLISTディレクトリのディレクトリ管理情報に追加し(ステップS2)、LocalStorage18におけるClip情報のファイル管理情報を、BDボリューム管理情報におけるCLPINFディレクトリのディレクトリ管理情報に追加する(ステップS3)。その後、ステップS4〜ステップS8のループ処理を実行する。このループ処理は、LocalStorage18に存在するそれぞれのClip情報について、ステップS6
〜ステップS8の処理を繰り返すものである(ステップS4、ステップS5)。ここで、ループ処理の対象となる1つのClip情報をClip情報xとする。
本ループ処理において、Clip情報xに対応するAVClipを特定し(ステップS6)、このAVClipはenableであるか、disableであるかを判定する(ステップS7)。enableであれば、LocalStorage18におけるAVClipxのファイル管理情報を、BDボリューム管理情報におけるSTREAMディレクトリのディレクトリ管理情報に追加する(ステップS8)。一方、AVClipがdisableであれば、ステップS8をスキップする。以上の処理を全てのClip情報及びAVClipについて繰り返せば、enableのAVClipについてのファイル管理情報が、BDボリューム管理情報に追加されることになる。こうした追加により得られたBDボリューム管理情報がVirtualPackage情報になる。このVirtual Package情報をVirtual Package呼出の呼出元のアプリケーション及びPlaybackControl Engine32に引き渡し(ステップS9)、処理を終える。
図27(a)は、enableClipメソッドの呼出時の処理手順を示すフローチャートである。このメソッドの呼出がなされれば、呼出時の引数からenableにすべきAVClipyを特定し(ステップS14)、ステップS15、ステップS16の判定を順次行う。ステップS15
は、AVClipyがLocalStorage18に格納されているか否かを判定であり、ステップS16
は、AVClipyのファイルパスがストリーム格納位置情報ファイルに記載されているかの判
定である。これらの判定ステップのどちらかがNoであれば、呼出元にFalseを返し、本フ
ローチャートの処理を終える(ステップS19)。一方、ステップS15−ステップS16の双方がYesなら、AVClipyをenableにして、LocalStorage18において、AVClipyを格納
したファイルのファイル属性をRead-Only属性にして、AVClipyをRead Only Modeにする(
ステップS17)。その後、Successを戻り値としてリターンする(ステップS18)。
図27(b)は、disableClipメソッドの呼出時の処理手順を示すフローチャートであ
る。このメソッドの呼出がなされれば、呼出時の引数からdisableにすべきAVClipyを特定し(ステップS21)、ステップS22、ステップS23の判定を順次行う。ステップS22は、AVClipyが再生中であるか否かの判定であり、ステップS23は、AVClipyのファイルパスがストリーム格納位置情報ファイルに記載されていないかの判定である。これらの判定ステップのどちらかがYesであれば、呼出元にfalseを返し、本フローチャートの処理を終える(ステップS26)。一方、ステップS22−ステップS23の双方がYesなら、AVClipyをdisableにして、LocalStorage18において、AVClipyを格納しているファイルのファイル属性をRe-writable属性にしてAVClipyのRead Only Modeをキャンセルする(ステ
ップS24)。その後、Successを戻り値としてリターンする(ステップS25)。
図28は、Playback Control Engine32による再生手順を示すフローチャートである
。本フローチャートは、PlayList情報における先頭のPlayItem情報をPlayItemiとして、
ステップS33〜ステップS42のループ処理を実行するものである。ステップS33〜ステップS42のループ処理における制御変数は、変数iであり、ステップS33〜ステ
ップS40の処理を実行して、その後、制御変数iをインクリメントするという処理を、
変数iが、PlayItem数(NumberOf PlayItem)を越えるまで実行するものである(ステップS
41)。
このステップS32〜ステップS40の処理について説明する。これらの処理は、PlayItem情報iのClip_information_file_nameに記述されているAVClipを、AVClipjとし(ステ
ップS33)、再生の対象とする。ステップS34は、AVClipjがenableであるか否かの判定であり、もしAVClipjがenableでなければ、本フローチャートの処理をその時点で中止
する。もしenableであれば、AVClipjのうち、PlayItem.In_timeからPlayItem.Out_timeまでの部分を再生するよう、ドライブ装置及びデコーダに指示する(ステップS35)。
ステップS36は、PlayItem情報iをSync_PlayItem_idに指定しているSubPlayItemkが
存在するか否かの判定である。もし存在しなけば、そのままステップS41に移行する。
もし存在すれば、SubPlayItemkのClip_information_file_nameに記述されているAVClipをAVCliphにし(ステップS38)、そのAVCliphがenableであるか否かを判定する(ステッ
プS39)。もしenableであれば、そのAVCliphのうち、Sync_Start_PTS_of_PlayItemから、Out_timeまでを再生するよう、ドライブ装置及びデコーダに指示してステップS41に移行する(ステップS40)。
もしそのAVCliphがenableでない場合は、ステップS40をスキップする。以上の処理
を、PlayList情報を構成する全てのPlayItem情報について繰り返すことにより、PlayList情報にて規定されるストリームシーケンスの再生がなされる。 図29は、アプリケーションの処理手順を示すフローチャートである。先ず、ストリーム格納位置情報ファイルと、PlayLIst情報、Clip情報、AVClipのダウンロードを要求する(ステップS51)。そしてVirtualPackageの構築要求を行う(ステップS52)。ステップS53は、構築要求がSuccessしたか否かの判定であり、Virtual Packageの構築がSuccessになるまで、VirtualPackageの構築要求は何回でも繰り返される。
Virtual Packageの構築が成功すれば、ステップS55を実行する。ステップS55は
、Missing StreamがVirtual Package情報の中に存在するか否かの判定である。具体的に
は、Clip情報は存在するのに、対応するAVClipがない場合、そのAVClipをMissingStream
として取得する(ステップS56)。
その後、ステップS57においてProgressive PlayList情報のPlayメソッドを呼び出し、そしてPlayメソッドがSuccessしたか否かの判定を行う(ステップS58)。もしFalseであれば、本フローチャートの処理を終了する。もしSuccessであれば、ステップS59〜
ステップS61からなるループ処理を実行する。
ステップS59は、getMissingStreamsメソッドの呼び出しである。ステップS60は
、ステップS59での呼出にて、Missing Streamが通知されれば、以前取得したMissingStreamの中に、ダウンロードが完了したものが存在するか否かの判定である。。
ステップS61は、AVClipの再生完了を示すイベントが発生したか否かの判定である。アプリケーションは、Playback Control Engine32による再生がなされている間、この
ステップS59〜ステップS61の処理を繰り返し実行する。
上述した処理の繰り返しにおいて、ダウンロードが完了したAVClipがあれば(ステップ
S60においてYes)、そのダウンロードが完了したMissingStreamに対し、enableClipメ
ソッドを呼び出す(ステップS62)。こうすることにより、ダウンロードが完了したAVClipを早期にenableにすることができる。
また、再生が終了したAVClipがあれば(ステップS61でYes)、そのAVClipが予告編で
あるか否かを判定して、もし予告編であれば、そのAVClipに対し、disableClipメソッド
を呼び出す。こうすることにより、再生が完了した予告編のAVClipを早期にdisableにす
ることができる。

<動作>

図20に示したPlayList情報を再生する場合の、再生装置の動作について説明する。図30〜図33は、ネットワーク管理モジュール37によるダウンロードの進捗と、PlaybackControl Engine32による再生の進捗とを示す図である。第1段目は、ネットワーク管
理モジュール37によるダウンロードの進捗を示し、第2段目は、PlaybackControl Engin
e32による再生の進捗を示す。第3段目は現状の時間軸である。第4段目は、アプリケー
ションによるメソッドの呼出を示す。

第1段目に示すように、ネットワーク管理モジュール37によるダウンロードは、図2
0に示したPlayList情報のダウンロード、Clip情報#1〜Clip情報#4のダウンロード、AVClip#1〜AVClip#4のダウンロードからなる。
図30(a)現在時点=時点t0
時点t0は、PlayList情報、Clip情報#1〜Clip情報#4のダウンロードが完了した時点である。そのため、Virtual Packageの構築は可能になる。また、VirtualPackageにおけるPlayList情報はAVClip#1を参照しており、このAVClip#1は、少なくともenableであるから、
ストリームシーケンスの再生は、t0から開始している。
図30(b)現在時点=時点t1
時点t1は、PlayList#1により参照されるAVClip#1の再生途上であるが、AVClip#2のダウンロードが完了した時点である。AVClip#2のダウンロードが完了したので、AVClip#2はdisableではなくなっている。そのためアプリケーションが、enableClipメソッドを呼出す
ことにより、AVClip#2をenableにすることができる。この呼出により、AVClip#2にあたるPlayItem#4は、再生の対象になる。
図31(a)現在時点=時点t2
時点t2は、PlayList#1により参照されるAVClip#2の再生途上であるが、AVClip#3のダウンロードが完了した時点である。AVClip#3のダウンロードが完了したので、AVClip#3はdisableではなくなっている。そのためアプリケーションが、enableClipメソッドを呼出す
ことにより、AVClip#3をenableにすることができる。この呼出により、AVClip#3にあたるPlayItem#5は、再生の対象になる。
図31(b)現在時点=時点t3
時点t3は、AVClip#2の再生が完了した時点である。AVClip#2の再生が完了しており、AVClip#2は予告編であるので、PlayItem#2により参照されるAVClip#2は、削除の対象になりうる。そこで、このAVClip#2を対象にしたdisableClipメソッドを呼び出すことにより、AVClip#2を削除対象にする。こうすることでPlaybackControl Engine32は、AVClip#2が
あたかも存在しなかったかのように扱うことができる。
図32(a)現在時点=時点t4
時点t4は、PlayList#1により参照されるAVClip#3の再生途上であるが、AVClip#4のダウンロードが完了した時点である。AVClip#4のダウンロードが完了したので、AVClip#4はdisableではなくなっている。そのためアプリケーションが、enableClipメソッドを呼出す
ことにより、AVClip#4をenableにすることができる。この呼出により、AVClip#4にあたるPlayItem#6は、再生の対象になる。
図32(b)現在時点=時点t5
時点t5は、AVClip#3の再生が完了した時点である。AVClip#3の再生が完了しており、AVClip#3は予告編であるので、PlayItem#5により参照されるAVClip#3は、削除の対象になりうる。そこで、このAVClip#3を対象にしたdisableClipメソッドを呼び出すことにより、AVClip#3を削除対象にする。こうすることでPlaybackControl Engine32は、AVClip#3が
あたかも存在しなかったかのように扱うことができる。
図33 現在時点=時点t6
時点t6は、AVClip#4の再生が完了した時点である。AVClip#4の再生が完了しており、AV
Clip#4は予告編であるので、PlayItem#6により参照されるAVClip#4は、削除の対象になりうる。そこで、このAVClip#4を対象にしたdisableClipメソッドを呼び出すことにより、AVClip#4を削除対象にする。こうすることでPlaybackControl Engine32は、AVClip#4が
あたかも存在しなかったかのように扱うことができる。
以上のように本実施形態によれば、ネットワーク管理モジュール37によるダウンロードと、Playback Control Engine32による再生とを、パラレルに行い、ダウンロードが
なされたAVClipをdisableからenableに設定することにより、PlaybackControl Engine3
2による再生に供することができる。これにより、ダウンロードの進捗を追いかけるように再生処理を進める"追いかけ再生"を実現することができる。
また、ダウンロードされたデジタルストリームのうち、再生が済んだものをenableからdisableに変化させることにより、再生が済んだデジタルストリームを、削除の対象とし
て供することができるので、再生処理の進捗を追いかけるように、削除処理を進める"追
いかけ削除"を実現することができる。
ダウンロードの進捗を追いかけてように再生処理を進める"追いかけ再生"や、再生処理の進捗を追いかけるように、削除処理を進める"追いかけ削除"が可能になるので、再生装置を結ぶ通信回線の通信レートが低く、また再生装置に内蔵されているLocalStorage18の容量が小さい場合でも、BD-ROMに記録されているデジタルストリームと、Local Storage18にダウンロードとを1つのストリームシーケンスとして扱い、連続的に再生してゆくことができる。
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の技術分野の、出願当時の技術水準の特性に基づく。
(A)上述したVirtual FileSysterm部38の説明において、ディレクトリ管理情報及びファイル管理情報の具体的なデータ構造については、言及しなかったが、BD-ROMにおけるファイルシステムが、ISO/IEC13346に規定されたものである場合、ディレクトリ管理情報
は、"ディレクトリファイル"、及び、"ファイルエントリ"から構成されてもよい。ディレクトリファイルは、自身の配下にあるディレクトリのディレクトリ名を記述したファイル識別記述子や、自身の配下にあるファイルのファイル名を記述したファイル識別記述子からなる。この"ファイルエントリ"は、記述子タグと、ICBタグと、アロケーション記述子
長と、拡張属性と、アロケーション記述子とからなる。
ファイル管理情報は、ファイルエントリから構成されてもよい。アロケーション記述子は、ファイルを構成する各エクステント毎の記録位置を示す。
この場合、Virtual Package情報の作成は、BD-ROMのボリューム管理情報におけるSTREAMディレクトリに相当するディレクトリファイルに、LocalStorage上のAVClipのファイル
名のファイル識別記述子を追加し、BD-ROMのボリューム管理情報におけるSTREAMディレクトリの配下に、LocalStorage上のAVClipについてのファイルエントリーを追加することによりなされる。
(B)全ての実施形態では、記録媒体をBD-ROMとして実施したが、AVClip及びPlayList情
報を記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD-ROM,DVD-RAM,DVD-RW,DVD-R,DVD+RW,DVD+R,CD-R,CD-RW等の光ディスク、PD,MO等の光磁気ディス
クであってもよい。また、コンパクトフラッシュ(登録商標)カード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードで
あってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。
(C) 全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、各実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。各実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。
(D)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用い
て具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、各実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行
為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供
する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や
貸渡を、一般ユーザに申し出る行為(6)がある。(E)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。
(F)各実施形態において、記録媒体に記録されるデジタルストリームはAVClipであった
が、DVD-Video規格、DVD-Video Recording規格のVOB(VideoObject)であってもよい。VOB
は、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリーム
は、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式、Dts、WMA(Windows(登録商標)media audio)であってもよい。
(G)各実施形態における映像作品は、アナログ放送で放送されたアナログ映像信号をエ
ンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(H)BD-Jモジュール29bは、衛星放送受信のために機器に組み込まれたJava(登録商標
)プラットフォームであってもよい。BD-Jモジュール29bがかかるJava(登録商標)プ
ラットフォームであれば、本発明に係る再生装置は、MHP用STBとしての処理を兼用することになる。
更に携帯電話の処理制御のために機器に組み込まれたJava(登録商標)プラットフォームであってもよい。かかるBD-Jモジュール29bがかかるJava(登録商標)プラットフォ
ームであれば、本発明に係る再生装置は、携帯電話としての処理を兼用することになる。
(I)レイアモデルにおいて、BD-Jモードの上にHDMVモードを配置してもよい。特にHDMV
モードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は、再生装置に対する負担が軽いので、HDMVモードをBD-Jモード上で実行させても何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作保証が1つのモードで済むか
らである。
更にBD-Jモードだけで再生処理を実行してもよい。BD-JモードでもPLの再生と同期した再生制御が可能になるから、強いてHDMVモードを設けなくてもよいという理由による。
(J)Local Storage18にダウンロードされるAVClipは、特典映像や制作者、俳優のインタビューであってもよい。
(K)ある Clip が Missing Stream もしくは Rewritable かどちらの状態であるかを、
アプリケーションから知る方法として、上記実施形態では、getMissingStreamメソッドを呼び出すことにしたが、java(登録商標).net,java(登録商標).io等のjava(登録商標)ライブラリをを用いて実現しても良い。この場合、以下のa),b),c)の方法を用いることが現実的である。a)Binding Unit Manifest File(ストリーム位置格納情報)の内容をXML Parser を利用して解析する。Binding Unit Manifest File の例:
<Progressive><ProgressiveAsset VPFilename="BDMV/STREAM/01000.m2ts">
←識別子
<BUDAFile name="1/1/streams/0.m2ts"></BUDAFile>
←ファイルパス
</ProgressiveAsset><ProgressiveAsset VPFilename="BDMV/STREAM/01001.m2ts"><BUDAFile name="1/1/streams/1.m2ts">
</BUDAFile>
</ProgressiveAsset>
<ProgressiveAsset VPFilename="BDMV/STREAM/01002.m2ts">
<BUDAFile name="1/1/streams/2.m2ts">
</BUDAFile>
</ProgressiveAsset>
</Progressive>
"BUDA" は Binding Unit Data Area の略であり、Binding Unit Data Area とは Virtual
Package に利用するファイルを格納する Local Storage 内の領域のことb)java(登録商標).io を使って、Binding Unit Manifest File に記載されているファイルパス(スト
リーム格納位置)に、xxxxx.m2ts が存在するか確認する。
例:new java(登録商標).io.File("1/1/streams/0.m2ts").exists();// false の場合は Missing Streamc)ダウンロードが完了したかどうかの判断は java(登録商標).net, java(登録商標).io を使って、サーバ上のファイルのサイズと LocalStorage 上のファイルのサイズが一致しているかどうかを確認する。例:new java(登録商標).net.URL(http://xxx.com/vp_data/0.m2ts).openConnection().getContentLength()== new java(登録商標).io.File("1/1/streams/0.m2ts").length();// 一致していれば、ダウンロードが完了したとみなすことが可能
本発明に係る再生装置は、ホームシアターシステムでの利用のように、個人的な用途で
利用されることがありうる。しかし本発明は上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上の利用可能性を有する。
1 BD-ROMドライブ
2 Read Buffer
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 P-Graphicsデコーダ
7 Presentation Graphicsプレーン
8 合成部
9 フォントゼネレータ
10 I-Graphicsデコーダ
11 スイッチ
12 Interactive Graphicsプレーン
13 合成部
14 CLUT部
15 CLUT部
16 オーディオデコーダ
17 Network Device
18 Local Storage
19 Read Buffer
20 デマルチプレクサ
21 命令ROM
22 ユーザイベント処理部
23 PSRセット
24 CPU
25 シナリオメモリ
26 Local Memory
27 スイッチ
29a HDMVモジュール
29b BD-Jモジュール
30 Java(登録商標)仮想マシン
31 Presentation Engine
32 Playback Control Engine
38 Virtual File Systerm部

Claims (4)

  1. プレイリストから参照されるデジタルストリーム再生する再生装置であって、
    記録媒体を装填するドライブ手段と、
    ローカルストレージと、
    再生手段と、
    前記ローカルストレージに記録されたプレイリストから参照される個々のデジタルストリームを格納するための格納場所が、前記ドライブ手段に装填された記録媒体および前記ローカルストレージのそれぞれ分かれている場合、前記ローカルストレージを格納場所とするデジタルストリームのうち、前記ローカルストレージに存在するデジタルストリームの状態を、前記再生手段が認識し得る状態、又は、前記ローカルストレージに存在しないデジタルストリームの状態を前記再生手段が認識し得ない状態に設定するパッケージ管理手段と、
    記録媒体および前記ローカルストレージのいずれかに記録されたアプリケーションワークメモリにロードするクラスローダと、
    前記ワークメモリにロードされたアプリケーションを実行して、前記記録媒体および前記ローカルストレージに対するアクセス制御を実行するアプリケーション実行手段とを備え、
    前記ローカルストレージに記録されたプレイリストおよび前記プレイリスト参照される前記ローカルストレージに存在するデジタルストリームは、前記アプリケーション実行手段からの要求に従って前記ローカルストレージに記録されたものであり、
    前記再生手段は、
    前記プレイリストから参照される一部のデジタルストリームが認識し得る状態である場合、残りのデジタルストリームが認識し得ない状態であっても、前記認識し得る状態のデジタルストリームの再生を開始し、
    前記パッケージ管理手段は、
    前記プレイリストから参照される一部のデジタルストリームに対する再生処理が継続している間、前記アプリケーション実行手段からの要求に従って、前記ローカルストレージへ記録したデジタルストリームであって、前記再生手段が認識し得ないデジタルストリームの状態を、前記再生手段が認識し得る状態に設定る、または、前記再生手段が認識し得る状態のデジタルストリームのうち、前記再生処理がなされているデジタルストリームとは異なるデジタルストリームの状態を、前記再生手段が認識し得ない状態に設定する、ことを特徴とする再生装置。
  2. 前記記録媒体および前記ローカルストレージのいずれかに記録されたアプリケーションをキャッシュするキャッシュメモリを備え、前記クラスローダはキャッシュメモリにキャッシュされたアプリケーションを前記ワークメモリにロードする請求項1記載の再生装置。
  3. プレイリストから参照されるデジタルストリーム再生する再生装置に用いる再生方法であって、
    再生ステップと、
    前記再生装置が備えるローカルストレージに記録されたプレイリストから参照される個々のデジタルストリームを格納するための格納場所が、前記再生装置が備えるドライブ手段に装填された記録媒体および前記再生装置が備えるローカルストレージのそれぞれに分かれている場合、前記ローカルストレージを格納場所とするデジタルストリームのうち、前記ローカルストレージに存在するデジタルストリームの状態を、前記再生ステップが認識し得る状態、又は、前記ローカルストレージに存在しないデジタルストリームの状態を前記再生ステップが認識し得ない状態に設定するパッケージ管理ステップと、
    記録媒体および前記ローカルストレージのいずれかに記録されたアプリケーションを前記再生装置が備えるワークメモリにロードするクラスロードステップと、
    前記クラスロードステップによりロードされたアプリケーションを実行して、前記記録媒体および前記ローカルストレージに対するアクセス制御を実行するアプリケーション実行ステップとを含み、
    前記ローカルストレージに記録されたプレイリストおよび前記プレイリスト参照される前記ローカルストレージに存在するデジタルストリームは、前記アプリケーション実行ステップからの要求に従って前記ローカルストレージに記録されたものであり、
    前記再生ステップは、
    前記プレイリストから参照される一部のデジタルストリームが認識し得る状態である場合、残りのデジタルストリームが認識し得ない状態であっても、前記認識し得る状態のデジタルストリームの再生を開始し、
    前記パッケージ管理ステップは、
    前記プレイリストから参照される一部のデジタルストリームに対する再生処理が継続している間、前記アプリケーション実行ステップからの要求に従って、前記ローカルストレージへ記録したデジタルストリームであって、前記再生手段が認識し得ないデジタルストリームの状態を、前記再生ステップが認識し得る状態に設定る、又は、前記再生ステップが認識し得る状態のデジタルストリームのうち、前記再生処理がなされているデジタルストリームとは異なるデジタルストリームの状態を、前記再生手段が認識し得ない状態に設定する、ことを特徴とする再生方法。
  4. 前記記録媒体および前記ローカルストレージのいずれかに記録されたアプリケーションを前記再生装置が備えるキャッシュメモリにキャッシュするキャッシュステップを含み、
    前記クラスロードステップは前記キャッシュメモリにキャッシュされたアプリケーションを前記ワークメモリにロードする請求項3に記載の再生方法。
JP2010279421A 2004-05-11 2010-12-15 再生装置、再生方法 Expired - Fee Related JP4995964B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010279421A JP4995964B2 (ja) 2004-05-11 2010-12-15 再生装置、再生方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004141560 2004-05-11
JP2004141560 2004-05-11
JP2010279421A JP4995964B2 (ja) 2004-05-11 2010-12-15 再生装置、再生方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009162550A Division JP4774453B2 (ja) 2004-05-11 2009-07-09 再生装置、プログラム、再生方法

Publications (2)

Publication Number Publication Date
JP2011103170A JP2011103170A (ja) 2011-05-26
JP4995964B2 true JP4995964B2 (ja) 2012-08-08

Family

ID=35320444

Family Applications (11)

Application Number Title Priority Date Filing Date
JP2006513022A Active JP4351248B2 (ja) 2004-05-11 2005-05-10 再生装置、プログラム、再生方法
JP2008121917A Expired - Fee Related JP4436421B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2008121918A Expired - Fee Related JP4436422B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2008121916A Expired - Fee Related JP4436420B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2009031486A Expired - Fee Related JP4634511B2 (ja) 2004-05-11 2009-02-13 集積回路
JP2009162550A Expired - Fee Related JP4774453B2 (ja) 2004-05-11 2009-07-09 再生装置、プログラム、再生方法
JP2009285951A Expired - Fee Related JP4634521B2 (ja) 2004-05-11 2009-12-17 再生装置、プログラム、再生方法
JP2009285952A Expired - Fee Related JP4634522B2 (ja) 2004-05-11 2009-12-17 再生装置、プログラム、再生方法
JP2010279420A Expired - Fee Related JP4995963B2 (ja) 2004-05-11 2010-12-15 再生装置、再生方法
JP2010279421A Expired - Fee Related JP4995964B2 (ja) 2004-05-11 2010-12-15 再生装置、再生方法
JP2012081065A Expired - Fee Related JP5368600B2 (ja) 2004-05-11 2012-03-30 再生装置、再生方法

Family Applications Before (9)

Application Number Title Priority Date Filing Date
JP2006513022A Active JP4351248B2 (ja) 2004-05-11 2005-05-10 再生装置、プログラム、再生方法
JP2008121917A Expired - Fee Related JP4436421B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2008121918A Expired - Fee Related JP4436422B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2008121916A Expired - Fee Related JP4436420B2 (ja) 2004-05-11 2008-05-08 再生装置、プログラム、再生方法
JP2009031486A Expired - Fee Related JP4634511B2 (ja) 2004-05-11 2009-02-13 集積回路
JP2009162550A Expired - Fee Related JP4774453B2 (ja) 2004-05-11 2009-07-09 再生装置、プログラム、再生方法
JP2009285951A Expired - Fee Related JP4634521B2 (ja) 2004-05-11 2009-12-17 再生装置、プログラム、再生方法
JP2009285952A Expired - Fee Related JP4634522B2 (ja) 2004-05-11 2009-12-17 再生装置、プログラム、再生方法
JP2010279420A Expired - Fee Related JP4995963B2 (ja) 2004-05-11 2010-12-15 再生装置、再生方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012081065A Expired - Fee Related JP5368600B2 (ja) 2004-05-11 2012-03-30 再生装置、再生方法

Country Status (9)

Country Link
US (3) US8036515B2 (ja)
EP (1) EP1758119B1 (ja)
JP (11) JP4351248B2 (ja)
KR (4) KR101217203B1 (ja)
CN (7) CN101714385B (ja)
AU (2) AU2005241787B2 (ja)
MX (1) MXPA06012806A (ja)
TW (4) TW200602945A (ja)
WO (1) WO2005109434A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200602945A (en) 2004-05-11 2006-01-16 Matsushita Electric Ind Co Ltd Reproducer, program, and reproducing method
CN101814310B (zh) * 2004-07-22 2012-11-28 松下电器产业株式会社 重放装置和重放方法
KR20060081323A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
CN101853340B (zh) 2005-02-14 2012-03-14 松下电器产业株式会社 应用程序执行装置、应用程序执行方法和程序
WO2007060913A1 (ja) * 2005-11-22 2007-05-31 Matsushita Electric Industrial Co., Ltd. 再生装置及びプログラム
CN102290076B (zh) * 2006-04-27 2014-03-05 三菱电机株式会社 光学式记录介质的再现装置以及光学式记录介质的再现方法
US8015548B2 (en) * 2007-03-22 2011-09-06 Arcsoft, Inc. Method for obtaining context of corresponding Xlet while playing BD-J title
KR101125286B1 (ko) 2007-03-27 2012-03-21 삼성전자주식회사 부가 데이터 업데이트 방법 및 재생 장치
EP2051254A4 (en) * 2007-06-06 2012-10-03 Panasonic Corp PLAYING DEVICE, PLAY PROCESS AND CORRESPONDING PROGRAM
US8903842B2 (en) * 2007-10-26 2014-12-02 Microsoft Corporation Metadata driven reporting and editing of databases
KR20090061804A (ko) * 2007-12-12 2009-06-17 삼성전자주식회사 데이터 재생 방법 및 장치
WO2009078157A1 (ja) * 2007-12-17 2009-06-25 Panasonic Corporation 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法
MX2009010856A (es) * 2008-02-15 2009-11-02 Panasonic Corp Dispositivo de reproduccion, dispositivo de grabacion, metodo de reproduccion y metodo de grabacion.
KR100933003B1 (ko) * 2008-06-20 2009-12-21 드리머 Bd-j 기반 채널 서비스 제공 방법 및 이를 실현시키기위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
JP5081076B2 (ja) * 2008-06-23 2012-11-21 株式会社リコー メモリ管理装置、画像形成装置及びメモリ管理方法
JP2010028455A (ja) * 2008-07-18 2010-02-04 Sony Corp データ構造、再生装置および方法、並びにプログラム
JP4792127B2 (ja) * 2008-07-24 2011-10-12 パナソニック株式会社 立体視再生が可能な再生装置、再生方法、プログラム
KR100972541B1 (ko) * 2008-07-28 2010-07-28 드리머 Bd-j 기반 컨텐츠 제공 방법 및 이를 실현시키기 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
WO2010052857A1 (ja) * 2008-11-06 2010-05-14 パナソニック株式会社 再生装置、再生方法、再生プログラム、及び集積回路
US8582958B2 (en) * 2009-03-16 2013-11-12 Panasonic Corporation Reproducer, integrated circuit, reproduction method, application program, recording medium, recorder, and recording method
KR101445777B1 (ko) * 2010-02-19 2014-11-04 삼성전자 주식회사 재생 기기 및 그 제어방법
JP2013134795A (ja) 2011-12-26 2013-07-08 Jvc Kenwood Corp 再生装置、モード設定装置、及び再生方法
KR20140029991A (ko) * 2012-08-31 2014-03-11 삼성전자주식회사 프로그래시브 플레이리스트 재생 장치 및 재생 방법, 기록 장치 및 기록 방법, 이를 위한 정보저장매체
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04351248A (ja) 1991-05-27 1992-12-07 Nippon Steel Corp 鋳込み複層鋳片の製造方法
TW332961B (en) * 1996-02-09 1998-06-01 Sony Co Ltd Recording media
US6850273B1 (en) 1999-02-03 2005-02-01 Fuji Photo Film Co., Ltd. Digital camera recording image frame and printing information files on a recording medium
JP4154554B2 (ja) 1999-02-03 2008-09-24 富士フイルム株式会社 デジタルカメラ
JP2001043139A (ja) 1999-07-29 2001-02-16 Pioneer Electronic Corp 信号処理装置及びそれに用いる情報記録媒体
JP2002050116A (ja) * 2000-08-01 2002-02-15 Kenwood Corp 再生装置、再生方法および記録媒体
JP2002056612A (ja) 2000-08-07 2002-02-22 Hitachi Ltd 車載用オーディオ再生システム
JP2002112162A (ja) * 2000-10-03 2002-04-12 Funai Electric Co Ltd ディスク再生装置
JP2002295562A (ja) 2001-03-29 2002-10-09 Kayaba Ind Co Ltd フロントフォーク
JP2002369154A (ja) * 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd ディジタル映像コンテンツの映像再生装置、映像再生方法、映像再生プログラム、パッケージメディア
EP1381232A4 (en) * 2001-04-02 2005-09-28 Matsushita Electric Ind Co Ltd VIDEO PLAYBACK DEVICE FOR DIGITAL VIDEO CONTENT, VIDEO PLAY PROCESS, VIDEO PLAY PROGRAM AND PACKAGING MEDIUM
US7577333B2 (en) * 2001-08-04 2009-08-18 Samsung Electronics Co., Ltd. Method and apparatus for recording and reproducing video data, and information storage medium in which video data is recorded by the same
JP4147767B2 (ja) * 2001-12-19 2008-09-10 富士通株式会社 連続情報の記録方法および記録装置
US6816415B2 (en) * 2002-02-14 2004-11-09 Sony Corporation Additional information read/write system, additional information read/write method, additional information read/write program, computer-readable program storage medium storing additional information read/write program, and id/additional information distributing apparatus.
JP2003308645A (ja) 2002-02-14 2003-10-31 Sony Corp 追加情報記録再生システム、追加情報記録再生方法、追加情報記録再生プログラム、追加情報記録再生プログラムを記録したコンピュータ読み取り可能なプログラム格納媒体並びに、idおよび追加情報配信装置
JP2003249057A (ja) * 2002-02-26 2003-09-05 Toshiba Corp デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム
TWI285808B (en) 2002-07-27 2007-08-21 Samsung Electronics Co Ltd Apparatus and method for reproducing content and information storage medium therefor
KR100607949B1 (ko) 2002-09-11 2006-08-03 삼성전자주식회사 계층화된 정보 구조를 이용한 멀티미디어 데이터 기록장치, 재생 장치 및 그 정보저장매체
KR100967748B1 (ko) * 2002-09-12 2010-07-05 파나소닉 주식회사 기록매체, 재생장치, 재생방법, 기록방법
US7639923B2 (en) * 2002-09-25 2009-12-29 Panasonic Corporation Reproduction device, optical disc, recording medium, program, and reproduction method
US20060146660A1 (en) 2002-10-10 2006-07-06 Wataru Ikeda Optical disc, reproducing device, program, reproducing method, recording method
JP3840183B2 (ja) 2003-01-10 2006-11-01 株式会社東芝 情報再生装置及び情報再生方法
JP3952194B2 (ja) 2003-06-02 2007-08-01 信越化学工業株式会社 シロキサン共重合体及びその製造方法並びにそれを用いた熱硬化性樹脂組成物
KR20050036277A (ko) * 2003-10-15 2005-04-20 엘지전자 주식회사 고밀도 광디스크의 네비게이션 정보 관리방법
KR20050054034A (ko) 2003-12-03 2005-06-10 엘지전자 주식회사 고밀도 광디스크 및 고밀도 광디스크의 파일 관리방법 및재생방법과 기록재생장치
CN101521034B (zh) 2004-05-11 2012-05-02 松下电器产业株式会社 再生方法
TW200602945A (en) 2004-05-11 2006-01-16 Matsushita Electric Ind Co Ltd Reproducer, program, and reproducing method
EP2413323A1 (en) 2004-06-03 2012-02-01 Panasonic Corporation Reproduction device and method
US7616864B2 (en) 2004-07-22 2009-11-10 Panasonic Corporation Playback apparatus for performing application-synchronized playback
EP1775726A4 (en) 2004-07-22 2009-05-27 Panasonic Corp PLAYING DEVICE, PLAY PROCESS, PROGRAM AND COMPUTER READABLE RECORDING MEDIUM
CN101814310B (zh) 2004-07-22 2012-11-28 松下电器产业株式会社 重放装置和重放方法
CN101853680B (zh) 2004-12-01 2013-02-27 松下电器产业株式会社 再现装置和再现方法

Also Published As

Publication number Publication date
JP4436421B2 (ja) 2010-03-24
JP2010146695A (ja) 2010-07-01
JP2011103170A (ja) 2011-05-26
TWI375159B (ja) 2012-10-21
CN101714385A (zh) 2010-05-26
JP2010146696A (ja) 2010-07-01
JP4774453B2 (ja) 2011-09-14
KR101121371B1 (ko) 2012-03-13
CN101714387A (zh) 2010-05-26
AU2005241787B2 (en) 2011-08-11
JP2008287858A (ja) 2008-11-27
CN101714383B (zh) 2012-09-26
JP4436420B2 (ja) 2010-03-24
CN101714383A (zh) 2010-05-26
TWI379211B (ja) 2012-12-11
TW200839560A (en) 2008-10-01
US20070253679A1 (en) 2007-11-01
EP1758119A1 (en) 2007-02-28
JP2009151925A (ja) 2009-07-09
JP2008287859A (ja) 2008-11-27
KR20120056899A (ko) 2012-06-04
KR20110101252A (ko) 2011-09-15
CN100568372C (zh) 2009-12-09
JP5368600B2 (ja) 2013-12-18
TW200839559A (en) 2008-10-01
AU2005241787A1 (en) 2005-11-17
JP4351248B2 (ja) 2009-10-28
US8401369B2 (en) 2013-03-19
JP2009266382A (ja) 2009-11-12
US8036515B2 (en) 2011-10-11
JP4634522B2 (ja) 2011-02-16
TWI348632B (ja) 2011-09-11
JP4436422B2 (ja) 2010-03-24
CN101533656A (zh) 2009-09-16
CN101714386A (zh) 2010-05-26
AU2010249289B2 (en) 2012-03-01
KR101249224B1 (ko) 2013-04-03
AU2010249289A8 (en) 2011-01-27
JPWO2005109434A1 (ja) 2008-03-21
EP1758119A4 (en) 2012-01-11
TW200839747A (en) 2008-10-01
AU2010249289A1 (en) 2011-01-06
EP1758119B1 (en) 2018-08-15
US8200065B2 (en) 2012-06-12
KR101217203B1 (ko) 2012-12-31
MXPA06012806A (es) 2007-01-26
CN1954386A (zh) 2007-04-25
JP4995963B2 (ja) 2012-08-08
TWI375219B (ja) 2012-10-21
JP4634521B2 (ja) 2011-02-16
JP2011103169A (ja) 2011-05-26
JP2008276929A (ja) 2008-11-13
US20100046921A1 (en) 2010-02-25
CN101714385B (zh) 2012-09-26
CN101714386B (zh) 2012-10-24
WO2005109434A1 (ja) 2005-11-17
US20090202228A1 (en) 2009-08-13
KR20120025602A (ko) 2012-03-15
KR101162895B1 (ko) 2012-07-05
CN101714387B (zh) 2012-06-20
TW200602945A (en) 2006-01-16
KR20070007940A (ko) 2007-01-16
JP4634511B2 (ja) 2011-02-16
JP2012178214A (ja) 2012-09-13
CN101714384A (zh) 2010-05-26

Similar Documents

Publication Publication Date Title
JP4995964B2 (ja) 再生装置、再生方法
JP5103432B2 (ja) 再生装置、再生方法、プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20120131

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120330

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120417

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120510

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4995964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees