JPWO2009078157A1 - 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法 - Google Patents

個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法 Download PDF

Info

Publication number
JPWO2009078157A1
JPWO2009078157A1 JP2009546140A JP2009546140A JPWO2009078157A1 JP WO2009078157 A1 JPWO2009078157 A1 JP WO2009078157A1 JP 2009546140 A JP2009546140 A JP 2009546140A JP 2009546140 A JP2009546140 A JP 2009546140A JP WO2009078157 A1 JPWO2009078157 A1 JP WO2009078157A1
Authority
JP
Japan
Prior art keywords
directory
bdmv
root
movie
file
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.)
Granted
Application number
JP2009546140A
Other languages
English (en)
Other versions
JP5406044B2 (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
Publication of JPWO2009078157A1 publication Critical patent/JPWO2009078157A1/ja
Application granted granted Critical
Publication of JP5406044B2 publication Critical patent/JP5406044B2/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
    • 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/322Indexing; 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 used signal is digitally coded
    • 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/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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • 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/2508Magnetic discs
    • G11B2220/2516Hard disks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • 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
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/914Video
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/915Image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/913Multimedia
    • Y10S707/916Audio

Abstract

記録媒体は、ディレクトリ階層を有している。このディレクトリ階層のうち、ルートディレクトリの配下には、FirstPlayBackタイトルを構成するBD-Jアプリケーションが配置されたROOT/BDMVディレクトリと、MoDESTxx/BDMVディレクトリとが存在する。FirstPlayBackタイトルを構成するBD-Jアプリケーションは、記録媒体が再生装置103に装填された際、最初に実行されるべきプログラムであり、BDMVディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置103に表示させて、ルート変更機能を再生装置103に実行させる。ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、MoDESTxxディレクトリをルートディレクトリとして認識させる。

Description

本発明は、AVコンテンツの記録技術の技術分野に属する改良である。
AVコンテンツは、AVストリームと、プレイリスト情報等の再生制御情報との組みによって定義されるコンテンツであり、その記録には、大容量なリムーバブルメディアが使用される。ところが昨今、リムーバブルメディアにおいて記録可能な容量は増え続けており、今や1層ブルーレィディスクでは25GB、将来可能といわれている。更に8層ブルーレィディスクでは200GBという大容量なものが実用化に入るといわれている。他にも、強固な著作権保護機能をもつ半導体メモリカードでは、5年にはテラバイトというオーダのものが登場すると考えられる。
その一方で符号化技術は年々圧縮効率の改善が進んでおり、2時間の映画をMPEG-4 AVCで符号化すれば、映像に割り当てるべきビットレートが8Mbps程度であっても、十分に高精細なハイビジョンコンテンツを提供することができる。この場合、2時間のハイビジョンコンテンツのデータサイズはおよそ、2*60*60*8Mbits = 7.2GBとなり、25GBの1層リムーバブルメディアでは、2時間のハイビジョンコンテンツである映画が3本記録される計算になる。また、2層50GBのブルーレィディスクでは、1時間長のハイビジョンコンテンツであるドラマが、12話分(1クール)記録される計算になる。
尚、AVストリーム、プレイリスト情報によって規定されるAVコンテンツの記録技術には、以下の特許文献に記載されているものが知られている。
特願平8-83478号公報
しかし映画作品を配布するための読出専用のブルーレイディスク(BD-ROMと呼ばれる)では、AVストリームのストリーム本数、定義可能なプレイリストの上限数、これらを管理する管理情報のデータサイズが詳細に規定されており、たとえリムーバブルメディアに充分な容量が存在したとしても、複数枚のBD-ROMにて記録されるべき複数のコンテンツを1つのリムーバブルメディアに収めて欲しいとの要請に応えることはできない。BD-ROMコンテンツにおけるこれらの規定は、ミニマムスタンダードなハードウェア規模で、コンテンツの再生を行えることを保障するものであり、仮に、これらの上限数を越えるようなストリーム本数、プレイリスト数、データサイズが供給された場合、再生装置は正常な再生を保障することはできないという理由による。具体的には、再生装置は、プレイリスト情報やストリーム情報をメモリに読み出してから、AVストリームの再生を開始するので、メモリに搭載できない本数のAVストリームやデータサイズの管理情報が存在する場合、もはや正常再生を保障しえないから、リムーバブルメディアをイジェクトして、再生を拒否せざるをえない。
故に、複数枚のBD-ROMにて記録されるべき複数のコンテンツを1枚の記録媒体に収めて供給して欲しいとの要請は、正常再生を保障し得ないという再生装置のハードウェア側の現実的な事情によって、その実現が阻まれるという問題がある。そこで、浮かぶのは、BDMVディレクトリの個数を増やすというアイデアである
“BDMVディレクトリ”とは、BD-ROMにおいて、コンテンツを構成する複数のプレイリスト情報や複数のAVストリームを格納しておくための規定のディレクトリであり、再生装置は、このBDMVディレクトリに存在する複数のAVストリームや複数のプレイリスト情報を認識して再生制御を行う。コンテンツ記録のためのリムーバブルメディアに、複数のBDMVディレクトリを設けておいて、これらに、複数の映画作品を構成するAVストリーム、プレイリスト情報を記録しておけば、規格の制限を越えて、ムービーを記録しておくことができる。
ところがこの案も別の障壁により現実化は阻まれる。これまで、BD-ROMを対象とした再生装置は、リムーバブルメディア挿入後に自動的にルート直下のBDMVディレクトリをアクセスして、最初に再生すべきタイトル(FirstPlaybackタイトル)の再生を開始するという機能を標準的に具備している。しかし、上記のように複数のBDMVディレクトリを1枚のメディアに記録すると、BDMVディレクトリにおけるFirstPlaybackタイトルが複数存在することになり、どのFirstPlayBackタイトルを最初に再生すべきなのか、特定できなくなる。
BD-ROMに複数のBDMVディレクトリが存在すると、複数のBDMVディレクトリのうち、最初のものを“BDMVディレクトリ1”とし、2個目以降のものを“BDMVディレクトリ2,3・・・”というように命名する必要がある。そうすると、個々のBDMVディレクトリに帰属するファイルは、それぞれ合い異なるファイルパスで特定されることになる。
一方、BD-ROM等のリムーバブルメディアによって再生装置に供給される再生制御プログラムは、ファイルパスを利用した処理の実行を再生装置に命じる。再生制御プログラムが、どのBDMVディレクトリに帰属するかによって、ファイルパスを変更するとなると、オーサリングを行う者の手間が増大する。
以上の事情を踏まえると、1つの記録媒体に記録されるべきコンテンツは、BDMVディレクトリ1つに格納されるべき容量に制限されねばならず、メディアの容量差を、記録できるコンテンツ数の差としてユーザに訴求するのは困難である。
本発明の目的は、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる記録媒体を提供することである。
上記課題を解決するため、本発明にかかる記録媒体は、ディレクトリ階層を有する記録媒体であって、ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャ又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、ムービーディレクトリは、AVストリームが記録されるディレクトリであり、前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能であることを特徴としている。
前記スタートアッププログラムは、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させるので、再生装置は、ルートディレクトリの配下にムービーディレクトリが存在する記録媒体が、装填されたの如く、再生処理を開始することになる。サービスドメインディレクトリ配下のムービーディレクトリにオンデマンドマニュファクチャサービス、又は、セルスルーサービスによって供給されたAVストリームが存在する場合、当該AVストリームの再生が自動的に開始することになる。よって、再生装置における正常動作を保障しつつも、複数のBD-ROMに記録されるべきコンテンツを、一枚の記録媒体に記録することができ、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる。
そして、実際のAVストリームの再生制御を行う再生制御プログラムは、どのディレクトリに帰属するかによって、ファイルパスを変更する必要はなくなり、あたかもBD-ROMから供給されたの如く、記録媒体に対するアクセスを行えばよい。
こうすることで、複数のBD-ROMで供給されるべき映画作品を1つの記録媒体で供給する場合も、一枚のBD-ROMで映画作品を配給する場合も、スタジオが行うべきオーサリングの内容は同一となる。
1年前、2年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというサービスの受け皿に、本発明にかかる記録媒体を用いれば、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を1つの記録媒体にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
かかるサービスの実行において、オーサリングの負担が皆無であるから、スタジオは、このようなオンライン販売のサービスを実行することにより、BD-ROMを用いて映画作品を販売した後も、同じ映画作品を用いることで収益を得ることができる
記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。 リムーバブルメディア100,101の内部構成を示した図である。 ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。 複数回のコンテンツの書き込みによって、リムーバブルメディアの記録内容がどのように更新されるかを模式的に示す図である。 記録装置における記録処理の手順を示すフローチャートである。 MoDESTRootChangeAPIによって、どのようなファイルシステムが認識されるかを模式的に示す図である。 MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。 再生装置103の状態遷移を示す図である。 (a)Index.bdmvの内部構成を示す図である。
(b)BD-Jオブジェクトの内部構成を示す図である。
(c)Java(TM)アーカイブファイルの内部構成を示す図である。
(a)root/BDMVメニューを示す図である。
(b)MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。
FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。 オーサリングシステムの内部構成を示す図である。 BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。 プレイリストの再生中にSTOPキーイベントが押下された際、実行すべき処理手順を示すフローチャートである。 MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。 再生装置103の機能構成を示すブロック図である。 BUDAディレクトリのディレクトリ構成を示す図である。 マージ管理情報の内部構成を示す図である。 マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。 仮想パッケージの構築を行うための処理手順を示すフローチャートである。 MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。 MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。 BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。 BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。 AV再生部24の内部構成を示す図である。 再生装置103の出力段の構成を示す図である。
符号の説明
100,101 リムーバブルメディア
102a,b 記録装置
103 再生装置
104 ビルドインメディア
105 テレビ
(第1実施形態)
図面を参照しながら、課題解決手段を具備した記録媒体、記録装置、再生装置の実施形態について説明する。
図1は、記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。このコンテンツ提供システムは、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスを実現するものである。
MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスによるコンテンツ提供が求める背景は以下の通りである。BD-ROMによる供給は、リムーバブルメディアのプレスにかかるコストのため、大量には売れないコンテンツは販売しづらい側面や、Read-Only型のメディアで配布することによる輸送コスト、小売店での管理コストが大きくなる側面がある。よって、近年求められているのは、Recordable型もしくはRewritable型のリムーバブルメディアに対してユーザーから要求のあったコンテンツだけを記録して販売するというサービスである。このサービスにおいて、販売の対象となるコンテンツは、1年前、2年前にBD-ROMで販売した旧作の映画作品であると仮定する。これらのMoDサービス・ESTサービスで、過去にBD-ROMを用いて販売した映画作品の再販売を行うことで、二次的な収益を得ようというものである。尚、MoDサービス・ESTサービスにおいて、ユーザに配布されるコンテンツを“MOD/ESTコンテンツ”という。
以下、本システムの構成要素について説明する。図1におけるコンテンツ提供システムは、リムーバブルメディア100,101、記録装置102a,b、再生装置103、ビルドインメディア104、テレビ105から構成される。
<リムーバブルメディア100>
リムーバブルメディア100は、書き換え可能型のBD-RE,追記型のBD-Rであり、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスにおいて、コンテンツの受け皿として用いられる。
<リムーバブルメディア101>
リムーバブルメディア101は、SDメモリカード、メモリスティックなどの半導体メモリカードであり、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスにおいて、コンテンツの受け皿として用いられる。

<記録装置102a,b>
記録装置102aは、KIOSK端末であり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア100,101に書き込むという有償のサービス(MoD(Manufacturing on Demand)サービス)を実現する。
記録装置102bは、PCであり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア100,101に書き込むという有償のサービス(EST(Electric Sell Through)サービス)を実現する。

<再生装置103>
再生装置103は、テレビ105と共に、ホームシアターシステムを構築して、BD-ROMやリムーバブルメディア100,101を再生する。再生装置103には、MoDサービス・ESTサービスに対応しているものと、そうでないものとがある。前者の再生装置103を“MoD/EST対応プレーヤ”と呼ぶ。後者の再生装置103を“MoDEST非対応プレーヤ”と呼ぶ。
<ビルドインメディア104>
ビルドインメディア104は、映画配給者のWWWサーバから配信された特典コンテンツの受け皿として利用される。特典コンテンツとは、BD-ROMを購入した者に、おまけや景品、懸賞品として与えられるコンテンツであり、特典コンテンツだけでは再生することができないが、BD-ROMと組合せて初めて再生可能となる。例えば特典コンテンツには、BD-ROMには記録されていない言語の副音声及び字幕、特典映像、予告編などが該当する。BD-ROMにおけるコンテンツと組合せて、ピクチャインピクチャを実現するためのビデオストリームや、BD-ROMにおけるコンテンツと組合せて、立体視映像を実現するためのビデオストリームも、この特典コンテンツに該当する。本サービスは、BD-ROMで過去に販売したコンテンツをオンラインで販売するものであるから、BD-ROMでユーザに与えられた特典コンテンツと同様のものをユーザに譲与するため、再生装置103にはビルドインメディア104が存在する。特典コンテンツは、ビルドインメディア104だけではなく、リムーバブルメディア100,101にも記録することができる。ビルドインメディア104やリムーバブルメディア100,101において、特典コンテンツの格納場所となるディレクトリを“BUDA(Binding Unit Data Area)ディレクトリ”という。また、このBUDAディレクトリに格納されるべきファイル一式であって、特典コンテンツとして再生されるものを、“BUDAコンテンツ”という。かかるBUDAコンテンツは、仮想パッケージを構築することで再生可能となる。あるディレクトリの格納内容を、他のディレクトリの格納内容に組み合わせることで作成される仮想的なパッケージを“仮想パッケージ”という。
ここで、組合せの対象となるディレクトリは、基本的には、BD-ROMのroot/BDMVディレクトリと、ビルドインメディア104のBUDAディレクトリの組合せとなるが、本実施形態はこれに限らず、あるリムーバブルメディアに存在するMoDESTxx/BDMVディレクトリと、同じリムーバブルメディアに存在するBUDAディレクトリとの組合せであってもよいし、リムーバブルメディア100,101に存在するMoDESTxx/BDMVディレクトリと、ビルドインメディア104に存在するBUDAディレクトリとの組合せであってもよい。つまり、本実施形態の仮想パッケージは、様々な組合せを許容するものであり、同じ記録媒体に存在する2つのディレクトリを組み合わせて構築することができるし、別々の記録媒体に存在する2つのディレクトリの組み合わせて構築することもできる。
<テレビ105>
テレビ105は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
以上がMoDサービス・ESTサービスを実行するシステムについての説明である。続いてリムーバブルメディア100,101の生産の形態について説明する。
<リムーバブルメディア100,101の内部構成>
図2は、リムーバブルメディア100,101の内部構成を示した図である。本図の第1段目に、リムーバブルメディア100,101を示し、第2段目は、リムーバブルメディア100,101の記録領域を、横方向に引き伸ばして直線状に描いている。この第2段目に示すように、記録領域は、「論理アドレス空間」を有している。
「論理アドレス空間」は、ファイルシステムのための領域管理情報を先頭にして、各種データが記録されている。“ファイルシステム”とは、UDFやISO9660などのことであり、本実施形態では、Extention2.3形式のファイルシステムを採用する。このファイルシステムを介すれば、論理アドレス空間に記録されているデータをディレクトリ、ファイル構造を使って読み出すことができる。このファイルシステムにおけるファイルの配置位置は、255文字以下のディレクトリ名と、255文字以下のファイル名とを組合せたファイルの経路情報(ファイルパスと呼ばれる)で特定される。
本図の第3段目は、第2段目におけるファイルシステムを前提にして構築された、ディレクトリ・ファイル構成を示す。本図に示すように、BD-ROMのルートディレクトリ(ROOT)直下には、BDMVディレクトリと、MoDESTxxディレクトリとが置かれている。
以下、リムーバブルメディア100,101におけるファイル・ディレクトリ構成について説明する。
<ルート直下のBDMVディレクトリ>
ルート直下のBDMVディレクトリはMoDESTxx下のBDMVディレクトリを記録する際に一緒に記録される。尚、ROOTディレクトリ直下のBDMVディレクトリを、“root/BDMVディレクトリ”と表記する。
root/BDMVディレクトリは、BD-ROM Part3のBDMVに準拠しており、root/BDMVはMoDESTxx/BDMVの初回記録時に合わせて記録されるディレクトリである。新しいコンテンツが追加されMoDESTxxディレクトリ下のBDMVディレクトリが記録される場合には、以前記録されていたルート直下のBDMVディレクトリは更新されても良いし、更新されなくても良い。root/BDMVディレクトリの格納内容は、MoDESTxx/BDMVディレクトリの追加/更新時に更新されてもよい。MoD/EST用にroot/BDMVの格納内容だけが配布/記録されてもよい。このroot/BDMVディレクトリは、リムーバブルメディア100,101が認識されるため、なくてはならない不可欠なディレクトリ、つまり“デフォルト”のディレクトリである。
root/BDMVを編集(削除、追記)する予定が無い場合、root/BDMVはBD-ROM Part3のBDMVに準拠して、作り込むことができる。この作り込みとは、BD-ROMのフォーマットに従い、コンテンツを構成するAVストリームやプレイリスト情報を格納することであり、図中のroot/BDMVディレクトリに存在するIndex.bdmvファイル、JARディレクトリ、BDJOディレクトリは、BD-ROM Part3のBDMVに準拠したコンテンツを構成するものである。これらのディレクトリ・ファイルの内部構成の詳細については、説明の場を後段に譲ることにする。

<MoDESTxxディレクトリの下のBDMVディレクトリ>
MoDESTxxディレクトリは、ユーザがMoDサービス・ESTサービスを受ける際、追加されるディレクトリであり、サービスに依存したディレクトリ、つまり、“サービスドメインディレクトリ”である。このMoDESTxxディレクトリの直下には、root/BDMVディレクトリと同じ、BDMVディレクトリが存在する。尚、MoDESTxxディレクトリ直下のBDMVディレクトリを、“MoDESTxx/BDMVディレクトリ”と表記する。
MoDESTxxディレクトリの配下は、BD-ROM Part3に準拠したものとなり、MoDESTxxディレクトリには、BD-ROM Part3に準拠する形で、AVストリーム、プレイリスト情報が記録されることになる。これらのAVストリーム、プレイリスト情報は、映画作品がBD-ROMにて配給された際、BD-ROMにおいてroot/BDMVディレクトリに記録されていたものであり、実際の映画作品を構成するものである。MOD/ESTコンテンツのうち、MoDESTxx/BDMVディレクトリに記録され、実際の映画作品を構成するファイル一式を“MoDEST/BDMVコンテンツ”とよぶ。本実施形態におけるMoDサービス・ESTサービスは、過去にBD-ROMで頒布された映画作品を、オンラインで販売しようというものであるから、このMoDEST/BDMVコンテンツは、BD-ROMで配給されたコンテンツ(BD-ROMコンテンツ)と同じ内容になる。このMoDESTxxディレクトリは、上記サービスに対応しない再生装置(MoDEST非対応プレーヤ)は認識することができず、仮に、非対応プレーヤに装填されたなら、リムーバブルメディア100,101は、ブランクメディアとして扱われることになる。
MoDESTxxディレクトリに属するディレクトリの内容のうち、PLAYLISTディレクトリ、STREAMディレクトリ、CLIPINFディレクトリは、映画作品の実体を規定するデータである。以下、これらのディレクトリについて説明する。

<PLAYLISTディレクトリ>
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(xxxxx.mpls[“xxxxx”は可変、拡張子”mpls”は固定])が存在する。
拡張子”mpls”が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN_table)をもつ。
2)PlayListMark情報は、In_Time情報及びOut_Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn_Time情報及びOut_Time情報の組みとを含む。再生制御のためのJava(TM)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(TM)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
AVストリームと、プレイリスト情報との組みは、“タイトル”という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。root/BDMVディレクトリ又はMoDESTxx/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に“FirstPlayBackタイトル”とよぶ。
<STREAMディレクトリ>
STREAMディレクトリには、拡張子M2TSが付与されたファイル(xxxxx.m2ts[“xxxxx”は可変、拡張子”m2ts”は固定])が存在する。
拡張子”m2ts”が付与されたファイルは、M P E G - T S ( T r a n s p o r t S t r e a m )形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは映画のメニューをそれぞれ示している。

<CLIPINFディレクトリ>
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(xxxxx.clpi [“xxxxx”は可変、拡張子”clpi”は固定])が存在する。
拡張子”clpi”が付与されたファイルは、AVストリームのそれぞれに1対1に対応する管理情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
尚、これらのディレクトリ以外のディレクトリについては、説明の場を後段に譲るものとする。以上が、MoDESTxxディレクトリについての説明である。
続いて、映画A1〜A30という30個のコンテンツが購入された場合の、ディレクトリ構成について説明する。
図3は、ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。本図において、MoDEST01、MoDEST02、...MoDEST30ディレクトリは、ユーザーがコンテンツを購入した際、リムーバブルメディア100,101の容量の限り追加されるディレクトリである。
ルート直下に配置されるMoDESTディレクトリの最大個数は30個以下に制限されている。これは、詳しくは後述するが、リムーバブルメディア100,101の装填の際、ROOTディレクトリ直下のBDMVディレクトリにあるスタートアッププログラムがリムーバブルメディア100,101に記録されているコンテンツの一覧メニューを動的に作成する必要があり、MoDESTディレクトリの数があまりに多いと、リムーバブルメディア100,101に存在するMoDESTxxディレクトリを一覧するためのメニュー(root/BDMVメニューとよぶ)の作成に、時間がかかるためである。また、リムーバブルメディアの容量から考えて、12cmの8層の光ディスク(BDなら200GB)1枚に、ビデオカメラなどで使用される8cmの1層の光ディスク(BDならば7.5GB)のコンテンツをコピーすることを想定した場合の、コピー可能なコンテンツ数の上限が27GB(約30GB)であることに基づいている。
MoDESTxx/BDMVディレクトリには、root/BDMVメニューの構成要素となる名前とサムネイルを必ず記録しておくことが求められる。
MoDESTxx/BDMVディレクトリは、実体的なコンテンツを格納しておくためのディレクトリ、つまり、“真正なムービーディレクトリ”である。このMoDESTxx/BDMVディレクトリの格納内容はBD-ROM Part3のBDMVに準拠する。MoDESTxxディレクトリは、ユーザーのファイル操作によっては、何が記録されているかは伺い知ることはできない。MoDESTxx/BDMVには、Disc Library Metadataが記述されており、<name>, <thumbnail>という2つのタグの2つが必須となる。ただし、root/BDMVディレクトリがDisc Library Metadataを使うかは自由となる。MoD/EST対応プレーヤは、リムーバブルメディア100,101上の仮想的なrootディレクトリを変更するAPIの実装が必須として具備している。仮想的なrootディレクトリを変更した後は、BD-ROMの再生と同等なため、新規開発/検証は不要となる。
以上が記録媒体の実施形態について説明である。続いて、記録装置102a,bについて説明する。
(記録装置102a,b)
記録装置102a,bは、rootディレクトリ直下のBDMVディレクトリに新たなコンテンツを記録する代わりに、MoDESTxxディレクトリというディレクトリをクリエイトして、このMoDESTxxディレクトリの直下にBDMVディレクトリを作成し、このMoDESTxx/BDMVディレクトリにコンテンツを書き込む。仮に、ルート直下にBDMVディレクトリを設け、BDMVディレクトリに、当該コンテンツを構成するAVストリーム、プレイリスト情報を書き込むと、別のコンテンツを同じリムーバブルメディア101に追加購入した際、ルート直下におけるBDMVディレクトリは、もはやコンテンツを追加することができない。これは、詳しくは省略するが、root/BDMVディレクトリ内の2以上のコンテンツを再生できるように、BD-ROM再生装置におけるプログラムを作成することが技術的に困難であり、1つのBDMVディレクトリの中に異なるコンテンツを共存させることが技術的に困難であるとの事情による。
図4は、複数回のコンテンツの書き込みによって、リムーバブルメディア100,101の記録内容がどのように更新されるかを模式的に示す図である。
本図における右側は、図3に示したディレクトリ構成と同一であり、左側は、記録装置102a,bの内部状態を示す。この内部状態には、映画A1の購入時、映画A2の購入時・・・映画A30の購入時というものがある。矢印k1,k2,k3,k4は、各内部状態におけるディレクトリの書き込みを象徴化したものである。映画A1の購入時においては、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時にリムーバブルメディア100,101に書き込まれる。映画A2の購入時にはMoDEST02/BDMVディレクトリがリムーバブルメディア100,101に書き込まれ、映画A30の購入時には、MoDEST30/BDMVディレクトリがリムーバブルメディア100,101に書き込まれる。
このように、初回の購入時(k1)には、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時に書き込まれるが、2回目以降の購入時(k2,k3,k4)には、購入されたコンテンツに対応するMoDEST02/BDMVディレクトリ、MoDEST04/BDMVディレクトリ、MoDEST30/BDMVディレクトリのみがリムーバブルメディアに追加されてゆくことがわかる。
以下、記録装置102a,bによる記録処理がどのように行われるかについて図5を参照しながら説明する。図5は、記録装置における記録処理の手順を示すフローチャートである。
MoDサービス・ESTサービスにおいてコンテンツの書き込みが命じられた場合、記録装置102a,bは、root/BDMVディレクトリと、MoDESTxxディレクトリとの組みがリムーバブルメディアに存在するかどうかを判定して(ステップS1)、存在する場合、使用済みの番号yyを特定し(ステップS2)、MoDESTyy+1ディレクトリをクリエイトする(ステップS3)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを作成してコンテンツを書き込む(ステップS4)。rootディレクトリと、BDMVディレクトリとの組み、又は、rootディレクトリと、MoDESTxxディレクトリとの組みが存在しないが、root/BDMVディレクトリのみが存在する場合(ステップS5でYes)、リムーバブルメディア100,101にはコンテンツは書き込めない旨を表示して、リムーバブルメディア100をイジェクトする(ステップS8)。
BDMVディレクトリが存在しない場合、ROOT/BDMVディレクトリを作成して、root/BDMVメニューのためのIndex.bdmv、BD-Jオブジェクト、JARアーカイブファイルを書き込み(ステップS6)、yyを0に設定して(ステップS7)、ステップS3に移行する。その後、MoDESTyy+1ディレクトリをクリエイトする(ステップS3)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを書き込む(ステップS4)。
以上が記録装置102a,bについての説明である。
<再生装置103>
再生装置103は、リムーバブルメディア挿入時にROOTディレクトリ直下のBDMVディレクトリ内で指定された最初に再生されるべきFirstPlaybackタイトルから自動的に再生を開始するという基本動作を行う。これまでのBD-ROM再生装置の基本動作、つまり、ルート直下のBDMVディレクトリのFirstPlaybackタイトルを自動的に再生するという仕組みを活かしつつ、プレーヤのデザインポリシーを変更させないために、MoD/EST対応のプレーヤでは、以下のようなAPI(MoDESTRootChangeAPI)やSystem Property(MoDESTRootChangeSyetemProperty)が規定されている。
<MoDESTRootChangeAPI>
MoDESTRootChangeAPIは、ルートを変更するAPIであり、APIコール時において引数に記述されたファイルパスを、rootディレクトリに変更することができれば、コールを行ったアプリケーションにSUCCESSの応答を返す。引数に記述されたファイルパスを、rootディレクトリに変更することができなければ、コール元のアプリケーションにNoSuchMethodExceptionの応答を返す。
図6は、MoDESTRootChangeAPIのコールによって、どのようなファイルシステムが認識されるかを模式的に示す図である。左側は、図2に示したファイルシステム構造であり、右側は、MoDESTRootChangeAPIがなされた後の認識結果である。破線枠hh1,hh2は、ファイルシステム構造のうち、MoDESTRootChangeAPIがなされた後に認識される部位を示す。このように、左側のファイルシステム構造のうち、ROOTディレクトリと、MoDESTxx/BDMVディレクトリとが認識されて、rootディレクトリ直下に、MoDESTxx/BDMVディレクトリが存在するかのように、扱われることになる。
図7は、MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。上段はMoDESTRootChangeAPIの実行前のファイルシステム構造を、下段はMoDESTRootChangeAPIの実行後のファイルシステム構造を示す。MoDESTRootChangeAPIの実行前では、ROOTディレクトリ直下に、映画作品を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
MoDESTRootChangeAPIの実行後では、ROOTディレクトリ直下に、映画A1を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
<APIコールのための書式>
MODESTRootChange APIをコールする際の書式について述べる。MODESTRootChange APIの引数には、ID/相対パス/絶対パスがある
ここでIDとは、MoDESTxxディレクトリのそれぞれを特定する下2桁の数値xxをいう。MoDESTxxディレクトリのIDを引き数にした、APIのコールは以下のようなものになる。
MoDESTRootChange( 01)

相対パスを引数にした、APIのコールは以下のようなものになる。
MoDESTRootChange( ../MoDEST01 )
MoDESTRootChange( /MoDEST01 )

また、第1引数、第2引数によって、ルート変更機能をコールできるようにしてもよい。
MoDESTRootChange( MoDEST01, root )
MoDESTRootChange( MoDEST01, NULL )

以上がMoDESTRootChangeAPIについての説明である。続いて、MoDESTRootChangeSystemPropertyの詳細について述べる。
<MoDESTRootChangeSystemProperty>
MoDESTRootChangeSystemPropertyは、ルートを変更するコマンドが再生装置で実行可能か否かを示すプレーヤ変数であり、YESかNOのどちらかの値を持つ。SystemProperty=NOである場合はMoD/EST対応プレーヤではないと判断する
再生装置がMoDESTRootChangeAPIに対応していないが、NoSuchMethodExceptionなどの値が必ず返る場合には、それを基にMoDEST非対応プレーヤであることを判定することができる。しかしNoSuchMethodExceptionが返るとは限らない場合、MoDESTRootChangeSystemPropertyを用いて、再生装置が、MoDESTRootChangeAPIに対応していないことを判定する。
また、MoDEST/BDMVコンテンツを再生する能力をもつが、MoDESTRootChangeAPIを具備していないような再生装置についても、本System Propertyを用いれば、MoDEST/BDMVコンテンツに対応していることを判定することができる。
これは、例えば、次のようなケースを想定している。複数の記録媒体の選択をユーザに行わせることができるGUI部品、いわゆるメディアクロスバーと呼ばれGUI部品を具備している再生装置103ではMoDESTRootChangeAPIを必要としないため、MoDESTRootChangeAPIを呼び出そうとすると、NoSuchMethodExceptionが返る。このようなMoD/EST対応プレーヤは、MoDESTRootChangeAPIの代わりとなるGUI部品を具備しているため、本来的にはMoDEST/BDMVコンテンツを再生できない訳ではない。MoDEST/BDMVコンテンツに対応することができるが、MoDESTRootChangeAPIは実装していない再生装置かどうかを判別するため、FirstPlayBackタイトルを構成するプログラムは、MoDESTRootChangeSystem Propertyを用いて、MoD/EST対応プレーヤかどうかを判定するのが望ましい。そのような判断を助けるため、再生装置103にはMoDESTRootChangeSystem Propertyが存在する。
<状態遷移>
再生装置103にリムーバブルメディア100,101が挿入された際、自動でルート直下のBDMVディレクトリを再生させるのではなく、再生装置103が複数BDMVディレクトリが記録されていることを認識して1つ以上のMoDESTxxディレクトリが存在する場合、MoDESTxx/BDMVディレクトリを選択させ、そこから、MoDESTxxディレクトリ配下のBDMVディレクトリの再生に移行し、その再生が終われば、root/BDMVメニューの表示状態に戻る。このような制御の状態遷移について説明する。図8は、再生装置103の状態遷移を示す図である。
・状態j1
リムーバブルメディアがローディングされたという事象、つまり、MoD/EST対応のプレーヤにMoD/ESTコンテンツを記録したリムーバブルメディアが挿入されたとの事象が発生した場合、本状態に遷移する。この状態は、root/BDMVディレクトリのFirstPlaybackタイトルを再生するというものである。
・状態j2
状態j1において“映画xxを選択した”との事象が発生すると、本状態に遷移することになる。つまり“映画xxを選択した”との事象は、“root/BDMVメニュー上で、MoDESTxxディレクトリ配下のBDMVディレクトリを選択した”という事象と等価なので、状態j2では、“xxに対応するMoDESTxxディレクトリに、rootディレクトリを変更する“という処理を実行することになる。この結果、MoDESTxxディレクトリ以下のBDMV、AACS、Certificateディレクトリだけが記録されたBD-ROMとしてリムーバブルメディアを認識することになる。
・状態j3
状態j2において、“リムーバブルメディアの再認識に成功した”との事象が発生すると、本状態に遷移することになる。本状態は、“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルを再生し、MoDESTxx/BDMVコンテンツを再生する”というものである。
・状態j4
状態j3において、FirstPlayBackタイトルを構成するスタートアッププログラムであるBD-Jアプリケーションによって、VFS構築が要求されたという事象が発生すると、この事象をトリガにして、本状態に遷移することになる。具体的な処理は、“リムーバブルメディア100,101、ビルドインメディア104上に仮想的なファイルシステム(Virtual File System)を構築して、仮想パッケージを再生する”というものである。仮想的なファイルシステムとは、リムーバブルメディア100,101、ビルドインメディア104を一体的に扱うことができるファイルシステムのことをいうから、プレーヤのリムーバブルメディア100,101、ビルドインメディア104に特典コンテンツをダウンロードしてきて、それとリムーバブルメディア100,101上のコンテンツとを組み合わせて(VFS:Virtual File System)を用いて再生することもBD-ROMと同等に可能となる。
・状態j5
状態j4において、“仮想パッケージの再生終了”という事象が発生すると、本状態に遷移することになる。本状態では、VFS解除という処理がなされ、解除に成功すれば、解除成功という事象をトリガにして、状態j3、つまり“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルの再生”という状態j1に戻る。
・状態j6
状態j3において、MoDESTxx/BDMVの再生終了という事象が発生するか、状態j5においてVFSが解除されたとの事象が発生すれば、本状態に遷移することになる。この状態では、“仮想的なルートを元のリムーバブルメディアのルートに戻す”という処理が実行される。この処理に成功して、“元のリムーバブルメディアのルートに戻った”という事象が発生すると、この事象をトリガにして“root/BDMVのFirstPlaybackタイトルの再生”という状態に戻る。
MoDESTRootChangeAPIを使って再生装置に対するリムーバブルメディアの仮想的なルート位置を変更すると、再生装置ではBD-ROM、つまり、リムーバブルメディアのルート直下にBDMV、AACS、Certificateディレクトリが記録されているだけのリムーバブルメディアの再生挙動と等価となるため、再生装置のソフトウェア設計を変えることがなくなる。またルートを変更するAPIの検証は必要だがMoDEST/BDMVコンテンツの再生の検証は、BD-ROMの再生と同じになり不要となる。
また、複数のBD-ROMのコンテンツが、1枚のリムーバブルメディアなどに記録されているとして常に認識されることになり、ユーザーが操作できることもBD-ROM視聴時と同じになり扱いになるので、操作面においてユーザが困惑することはない。この状態遷移では、MoDESTxx/BDMVディレクトリから別のMoDESTxx/BDMVディレクトリへの状態遷移は想定しない。MoDESTxx/BDMVからroot/BDMVへの状態遷移を行い、root/BDMVからMoDESTxxに遷移するのが基本となる。MoDESTRootChangeAPIの実行によりMoDESTxxディレクトリがリムーバブルメディアの仮想ルートとして扱われるが、リムーバブルメディアを抜くと再びリムーバブルメディアにおけるROOTディレクトリが“root”として扱われるようプレーヤの状態がリセットされるのが望ましい。
以上で再生装置103についての説明を終える。かかる再生装置103の状態遷移は、MoDESTxxディレクトリに記録されたプレイリスト再生制御用のプログラムであるBD-Jアプリケーションに基づき実行される。図2におけるroot/BDMVディレクトリの格納内容のうち、かかる状態遷移をもたらすものは、Index.bdmvファイル、BDJOディレクトリに格納されたBD-Jオブジェクト、JARディレクトリに格納されたJava(TM)アーカイブファイルである。以下、これらのIndex.bdmvファイル、BD-Jオブジェクト、Java(TM)アーカイブファイルについて説明する。

<Index.bdmv>
Index.bdmvについて説明する。図9(a)は、Index.bdmvの内部構成を示す図である。リムーバブルメディア100,101には、様々な種類のタイトルが存在しており、図9(a)の左側におけるIndex.bdmvには、それら様々な種類のタイトルに対して規定されたインデックスを含む。具体的には、リムーバブルメディア100,101に格納されるFirstPlaybackタイトルについてのIndex Table Entry、TopMenuについてのIndex Table Entry、Title#1についてのIndex Table Entry、Title#2についてのIndex Table Entry,・・・・#Nを含む。このテーブルには、全てのタイトル、TopMenu、FirstPlaybackタイトルを構成するMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。BD-ROMの再生装置103は、タイトルあるいはメニューが呼び出されるたびにIndex.bdmvを参照して、所定のMovieオブジェクト、又は、BD-Jオブジェクトを実行する。また、TopMenuは、リモコンでのユーザ操作で、"MenuCall"のようなコマンドが実行されるときに、呼び出されるMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。
引き出し線h1は、Index Table Entryの共通のデータ構造をクローズアップしている。Index Table Entryは、この共通のデータ構造で定義される。この共通のデータ構造は、『Title_object_type』と、『bdjo_file_name』とを含む。
『Title_object_type』は、"該当するタイトルに関付けられている動作モードオブジェクトが、MovieオブジェクトであるかBD-Jオブジェクトであるかを示す。
『bdjo_file_name』は、タイトルに関連付けられたBD-J オブジェクトのファイル名を示す。
このようなIndex.bdmvにより、タイトルと、動作モードオブジェクトとの対応が図られることになる。

<BDMVディレクトリの構成.ZZZZZ.BDJO>
ZZZZZ.BDJO(「ZZZZZ」は可変、拡張子「BDJO」は固定)は、上述したBD-Jオブジェクトを格納したファイルである。図9(b)は、BD-Jオブジェクトの内部構成を示す図である。本図の左側に示すように、BD-Jオブジェクトは、アプリケーション管理テーブルを含む。
アプリケーション管理テーブル(AMT)とは、“アプリケーションシグナリング”を実現するテーブルである。“アプリケーションシグナリング”とは、BD-ROMにおける“タイトル”をアプリケーションの生存区間として管理し、アプリケーションの起動及び終了を司る制御をいう。ここで生存区間とは、BD-ROMに記録されたコンテンツ全体の時間軸において、仮想マシンのヒープメモリ上でアプリケーションが生存し得る区間を示す。“生存”とは、そのアプリケーションが、ヒープメモリに読み出され、仮想マシンによる実行が可能になっている状態をいう。このように、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、動作が制御されるJava(TM)アプリケーションを、“BD-Jアプリケーション”という。
引出線h2は、アプリケーション管理テーブルの内部構成をクローズアップしている。引出線h2に示すように、アプリケーション管理テーブルは複数のアプリケーションエントリー#1〜#nからなる。引出線h3は、アプリケーションエントリーの共通のデータ構造を示す。この引出線h3に示すように、アプリケーションエントリーは、タイトルにおいて、アプリケーションを自動的に起動させるべきか(AutoStart)、他のアプリケーションからの呼出しを待って起動すべきか(Present)という起動の仕方を示す「制御コード」、Java(TM)アーカイブファイルのファイル名となる5桁の数値を用いて、対象となるJava(TM)アプリケーションを示す「アプリケーションID」を含む。
<JARディレクトリ>
続いて、JARディレクトリについて説明する。JARディレクトリは、Java(TM)アーカイブファイル(XXXXX.JAR)を格納している。
Java(TM)アーカイブファイルは、http://java(TM).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(TM)アーカイブファイル302は複数のファイルをディレクトリ構造の形で格納している。図9(c)は、Java(TM)アーカイブファイルの内部構成を示す図である。
この構造は、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
このXXXX.class(クラスファイル)は、Java(TM)仮想マシン上で実行することができるBD-Jアプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるBD-Jアプリケーションにどのパーミッションを与えるのかの情報を格納する。
Java(TM)アーカイブファイルにおけるクラスファイルにて定義されるBD-Jアプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(TM) Xletである。Xletインターフェイスは、“loaded”,“paused”、“active”,“destoryed”といった4つの状態をもつ。
またJava(TM)アプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJavaライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Java(TM)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
以上がJARファイルについて説明である。
これらのJARファイルは、root/BDMVディレクトリにも、MoDESTxx/BDMVディレクトリにも存在している。そして、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリのうち、どちらに帰属するかによって、JARファイルが実行する処理が異なる。以降、各ディレクトリに存在するJARファイルによって、どのようなBD-Jアプリケーションが定義されるかについて説明する。
<root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション>
root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、リムーバブルメディア100,101のFirstPlayBackタイトルを構成しており、リムーバブルメディア100,101の装填時に最初に実行されるスタートアッププログラムである。全てのMoDESTxx/BDMVをユーザに提示して、選択されるためのメニュー(root/BDMVメニュー)をユーザに提供する。

<MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション>
MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、MoDESTxxコンテンツの再生にあたって、実際の再生制御を行うものであり、MoDESTxxディレクトリにおけるユーザ操作を受け付けるためのメニュー(MoDESTxx/BDMVメニュー)を表示して、MoDESTxx/BDMVメニューに対する操作に応じて、MoDESTxxディレクトリにおける再生開始や、チャプター選択、音声選択、字幕選択を受け付ける。そして必要に応じて、仮想パッケージの構築を行い、仮想パッケージから認識することができるプレイリストを再生する。このように、どのBDMVディレクトリに帰属するかによって、JARファイルにて定義されるBD-Jアプリケーションが行う処理は異なる。
以上でJava(TM)アーカイブファイルについての説明を終える。続いて、METAディレクトリに格納されるメタデータについて説明する。
<メタデータ>
METAディレクトリに格納されるメタデータは、リムーバブルメディア100,101におけるメディアライブラリとなるXMLファイルであり、コンテンツを示す名前とJPEGサムネイルファイルへのリンク情報が少なくとも記述されている。これらは、root/BDMVディレクトリにおけるBD-Jアプリケーションが、root/BDMVメニューを作成する際に用いられる。リムーバブルメディア100,101におけるライブラリメタデータはBD.INFOに記載されても良いし、BDMVディレクトリの下にXMLファイルなどとして別個に記載されても良い。Disc Library Metadataの<name>, <thumbnail>は必須であるが、これ以外は、任意的である。
<MoD/ESTリムーバブルメディアでのメニュー構成>
BD-Jアプリケーションが、上述したようなメタデータを用いることにより、どのようなメニューを表示するかを図10を参照しながら説明する。図10(a)は、root/BDMVメニューを示す図である。図10には、一番左側にroot/BDMVメニューが存在し、真ん中にMoDESTxx/BDMVメニューが存在する。右側には、MoDESTxx/BDMVメニューに対する選択操作の結果、どのような処理がなされるかが記述されている。
・ROOT/BDMVメニュー
『ROOT/BDMVメニュー』は、root/BDMVメニューとは、各MoDESTxx/BDMVディレクトリに存在するタイトルを視覚的に表現して、リムーバブルメディア100,101内の複数のMoDESTxxディレクトリのうち、何れかのタイトルを選択する操作をユーザから受け付けるメニューである。タイトルの視覚的な表現には、各MoDESTxx/BDMVディレクトリに存在する<name>, <thumbnail>という2つのタグが用いられる。これらの<name>, <thumbnail>という2つのタグは、リムーバブルメディアにおけるMoDESTディレクトリのそれぞれに対応した、GUI部品を構成する。
<name>, <thumbnail>という2つのタグから構成されるGUI部品は、リムーバブルメディア上の30個のMoDESTコンテンツによって再生される30本の映画作品A1,A2・・・・A30のそれぞれに対応しており、映画A1に対応するGUI部品であるA1ボタン、映画A2に対応するGUI部品であるA2ボタン、映画A30に対応するGUI部品であるA30ボタンが存在する。これらのボタンは、リムーバブルメディアにおけるライブラリメタデータの名前とサムネイルによって作らており、セレクテッド状態になることにより、対応する映画作品の再生を開始できる旨を示す。
これらの部品がアクティブ状態になることで、MoDESTRootChangeAPIが実行されて、GUI部品に対応するMoDESTxxディレクトリの配下のBDMVディレクトリが仮想的にルートディレクトリに設定されることになる。
・MoDEST01/BDMVメニュー
『MoDEST01/BDMVメニュー』は、MoDESTxx/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST01/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。リムーバブルメディア100,101には、MoDESTxxディレクトリ毎にBDMVディレクトリが存在しており、個々のBDMVディレクトリにはIndex.bdmvが存在している。本図では、MoDEST01/BDMVディレクトリを選択する操作がなされた際、MoDEST01/BDMVディレクトリに固有なTopメニューを、MoDEST01/BDMVメニューとして表示させることで、MoDEST01/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST01/BDMVメニューは、MoDEST01/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、チャプター選択を行うための『ChapterSelectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るため『All Contents on discボタン』とが配置されている。
All Contents on discボタンがアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューを再び表示させる。
・MoDEST02/BDMVメニュー
『MoDEST02/BDMVメニュー』は、MoDEST02/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST02/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。root/BDMVメニューにおいてMoDEST02/BDMVディレクトリを選択する操作がなされた際、MoDEST02/BDMVディレクトリに固有なTopメニューを、MoDEST02/BDMVメニューとして表示させることで、MoDEST02/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST02/BDMVメニューは、MoDEST02/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、音声ストリームの選択を行うための『Audio Selectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るための『MoDEST root menuボタン』とから構成される。
『MoDEST root menuボタン』がアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューが再び表示される。
このようにMoDESTxxディレクトリ下のBDMVディレクトリには、仮想ルートをリムーバブルメディアのルートに戻すためのボタンが『MoDEST01/BDMVメニュー』、『MoDEST02/BDMVメニュー』に埋め込まれている。以上は、MoDEST対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューである。
図10(b)は、MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。このメニューでは、リムーバブルメディアがMoDEST/BDMVコンテンツを格納したリムーバブルメディアであること、このMoDEST/BDMVコンテンツを再生するには、このリムーバブルメディアをMoDEST対応プレーヤに装填すべきことを示している。
root/BDMVメニュー、MoDESTxx/BDMVメニューを用いることにより、スタートアッププログラムとなるBD-Jアプリケーションがどのような処理をを行うかについて説明する。図11は、FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。
MoDESTRootChangeSystemAPIをコールして(ステップS11)、MoDESTRootChangeAPIを具備しているかどうかを判定する(ステップS12)。もし具備していなければ、“THIS IS MoD/EST Media Menu”を表示する(ステップS13)。非対応プレーヤに対してはこのプレーヤでは当該リムーバブルメディアを再生できない旨を示す通知を行う。
MoDESTRootChangeAPIを具備している場合、ルート直下のBDMVディレクトリのBD-Jアプリケーションは、リムーバブルメディア上の全てのMoDEST01〜30ディレクトリ下のライブラリメタデータから、<name>と<thumbnail>エレメントを取得して(ステップS14)、MoDESTxxディレクトリごとに格納されているコンテンツの名前と、代表サムネイル映像とからGUI部品を作成し、映画A01〜A30の選択を受け付けるroot/BDMVメニューを表示する(ステップS15)。その後、ステップS16〜ステップS17からなる操作待ちループに移行する。ステップS16は、矢印キーが押下されたかどうかの判定であり、押下されれば、押下された矢印キーに従って、別のGUI部品をセレクテッド状態に変更した後(ステップS18)、ステップS16に戻る。確定キーが押下されれば(ステップS17でYes)、確定されたGUI部品xxに対応するMoDESTxx/BDMVディレクトリを特定する(ステップS19)。そして、MoDESTxx/BDMVのファイルパスを引き数にして、MoDESTRootChangeAPIをコールする(ステップS20)。コールに対してSUCESS応答が返れば(ステップS21でYes)、MoDESTxxディレクトリが仮想的にrootディレクトリに設定される。root変更後は、MoDESTxxディレクトリ直下にBDMVディレクトリが存在し、rootディレクトリ直下に1つのBDMVディレクトリしかないBD-ROMと同等となる。ステップS21においてNoSuchMethodExceptionの応答が返れば、ステップS13に移行する。
そして、MoDESTxx/BDMVがroot/BDMVに記録されているリムーバブルメディアとして、リムーバブルメディアを再認識させ、MoDESTxx/BDMVにおけるFirstPlaybackタイトルを再生させる(ステップS22)。再生が終了すれば、仮想rootを解除する。こうすることで、MoDESTxxディレクトリは、rootディレクトリとして認識されない。再生終了時に仮想的なrootをリムーバブルメディア100,101のrootディレクトリに戻す。
以上のように本実施形態によれば、1年前、2年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというMoDサービス・ESTサービスの受け皿に、リムーバブルメディア100,101を用いることができるので、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を大容量のリムーバブルメディア100,101にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
かかるMoDサービス・ESTサービスの実行において、オーサリングの負担が皆無であるから、映画作品のスタジオは、このようなオンライン販売のサービスを実行することにより、高い収益を上げることができる。
(第1実施形態の変更例)
本実施形態では、上述したようなリムーバブルメディア100,101、記録装置102、再生装置103を実施するにあたっては、以下のような改変を施すのが望ましい。
(付加情報の取得機能)
ROOT/BDMVディレクトリに存在するBD-Jアプリケーションは、MoDESTxxディレクトリに存在するタイトルの付加情報(監督名、トレーラー)を得てroot/BDMVメニューを描画するのが望ましい。その際、BD-Jアプリケーションは、MoDESTxxディレクトリにおけるDisc Library Metadataの<name>をキーワードとして、プロバイダにおけるデータベースの検索を行い、該当するタイトルの付加情報を取得する。
(BD-Jアプリケーションによるアクセス参照情報)
root/BDMV, MODESTxx/BDMVごとに存在するBD-Jアプリケーションは、レジューム情報を作成して、MoDESTxx/BDMVディレクトリにおけるコンテンツの再生が行われる度に、レジューム情報を更新するのが望ましい。そして再生装置103は、リムーバブルメディア100,101が挿入された際、また、MoDESTxxディレクトリがrootディレクトリに変更された際、レジューム情報に基づき、再生を再開させるのが望ましい。
(root/BDMVメニューの作成素材)
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの作成時に、BDMVディレクトリにおけるメタデータを利用したが、BDMVの下に使われているストリーム種別や属性をメタデータに列挙しておき、それを読んでメニューを自動生成するBD-Jアプリケーションを記録しておくことが望ましい。かかるBD-JアプリケーションによりメニューをBD-ROM/MoDEST兼用メニューとして使えばよい。
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、MoDESTxx/BDMV/META/DLなどから取得したコンテンツ特定情報に基づき、ネットアクセスしてrootメニュー用の素材を取得してもよい。

(第2実施形態)
第1実施形態では、専用の記録装置102a,bを用いてMoDEST/BDMVコンテンツをダウンロードしたが、本実施形態は、再生装置103がMoDEST/BDMVコンテンツのダウンロードを行う改良である。
再生装置103が、いわゆる“ネット家電”であり、また、録画装置としての機能を兼備した“録再機”である場合、記録装置102と同様、MoDサービス・ESTサービスによってMoDEST/BDMVコンテンツを購入することが可能となる。この場合FirstPlayBackタイトルを構成するBD-Jアプリケーションは、以下のような処理を行う。
つまりルート直下のBDMVディレクトリのBD-Jアプリケーションは、起動された際、再生装置103がネットワークに接続できるかどうかを判定する。ネットワーク接続が可能な状態にある場合、root/BDMVメニューを表示した上で、メディア上のMOD/ESTコンテンツを管理できる機能を再生装置103に実行させる。
この管理機能とは、MoDEST/BDMVコンテンツの購入操作をユーザから受け付けて、MoDEST/BDMVコンテンツをダウンロードする機能、ダウンロードしたコンテンツをMoDESTxxディレクトリに格納して、再生可能なコンテンツとして追加する機能、不要となったMoDEST/BDMVコンテンツをMoDESTxxディレクトリから削除する機能から構成される。
そのBD-Jアプリが特定のWebサイトから各種タイトルの購入情報を取得し、それを表示させ、ユーザーに購入させる。
1)購入機能
購入機能について説明する。FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの表示時において購入操作を受け付けるボタンを表示する。このボタンが押下されれば、root/BDMVのBD-Jアプリケーションは、タイトルを購入するページを表示する。このページには、各タイトルに対応付けて、同じタイトルをWalmart/Amazon/BlockBusterなどから購入する際の価格、ダウンロード時間、データサイズ(リムーバブルメディアへの記録に要するブロック数)が示されている。
その際、ダウンロード先を、ビルドインメディア104とするか、リムーバブルメディア100,101とするかをユーザーに選択させる。root/BDMVメニューを表示するにあたって、ビルドインメディア104およびリムーバブルメディアの空き容量(何ブロックか)を一緒に表示するのが望ましい。この際、リムーバブルメディア100,101やビルドインメディア104の空き容量よりも大きなタイトルを購入画面でグレイアウトして表示することにより、選択から除外するようにしてもよい。

2)ダウンロード機能
ダウンロード機能について説明する。購入操作を受け付けた場合、BD-Jアプリケーションは購入するコンテンツのBDMVディレクトリとその著作権保護情報を記載しているAACS、Certificateディレクトリをダウンロードして、新しく作成したMoDESTxxディレクトリの下に記録する。
この際、Permission Requestファイル(DVB-MHPにおけるdvb.persistent.rootにあたるもの)を、各MoDESTxxディレクトリに設定しておく。そしてMoDESTxxディレクトリにおけるPermission Requestファイルに、ファイルの作成/削除機能に対するYES|NOのプロパティを設けておき、当該System PropertyがYesであれば、BD-JアプリがMoDESTRootChange APIで指定された仮想rootディレクトリ以下のファイルを作成/削除できるようにする。

3)削除操作
ユーザによる削除操作は、root/BDMVメニューを介して受け付ける。root/BDMVメニューの表示にあたって、ドライブ/メディア種別/ファイルシステムの種別によって、MoDESTxxディレクトリの削除が可能か否かを前もって識別する。削除が可能であれば、root/BDMVメニューにおいてMoDESTxxディレクトリを削除する操作を受け付けるボタンを表示する。削除可能なMoDEST/BDMVコンテンツの削除が命じられれば、不要となったMoDESTxxディレクトリ以下を削除する。
以上のように本実施形態によれば、再生装置103に、記録装置102としての機能をもたせるので、ユーザは自宅にいながら、MoDEST/BDMVコンテンツを購入して視聴を楽しむだけでなく、再生装置103のビルドインメディア104でライブラリィを構築して、このライブラリィの追加や削除を実行することができる。
(第3実施形態)
BD-Jアプリケーションにおいて実現するものとしたが、本実施形態は、Movieオブジェクトにおいて変更を実現する。Movieオブジェクトとは、コマンドベースで記述されるプログラムであり、HDMVモードでの各タイトル再生で、再生進行を動的に変化させる。このMovieオブジェクトは、BDMVディレクトリ直下のMovieObject.bdmvにて格納される。
ムービーモードにおいてルート変更を実現するため、以下のようなコマンド、PSRが規定されている。
・MoDESTRootChangeコマンド
MoDESTRootChangeコマンドは、引数にて指定されたMoDESTxxディレクトリにルートを変更するコマンであり、その内容は、APIと同じである。
・PSR
PSR(Player Setting Register)は、再生装置103の状態設定を示すレジスタであり、ルート変更機能を行うことができるかどうかが、設定されている。このMovieオブジェクトは、実行時において、このPSRを参照し、ルート変更機能を行うことができるのであれば、MoDESTRootChangeコマンドを再生装置103に実行させる。
ルート変更機能をコマンドによって実現する場合、メニューを構成するグラフィクスストリーム内のボタン情報に、MoDESTRootChangeコマンドを組込むことができる。
<グラフィクスストリーム>
以下、メニューを構成するグラフィクスストリームについて説明する。
メニューを構成するグラフィクスストリームは、Interactive Graphics(IG)ストリームと呼ばれる。IGストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるIGストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object Definition Segment)と呼ばれる機能セグメントからなる。
ODS(Object Definition Segment)は、ボタンを描画するにあたっての絵柄のグラフィクスを定義するグラフィクスデータである。
PDS(Palette Difinition Segment)は、グラフィクスデータの描画にあたっての、発色を規定する機能セグメントである。
ICS(Interactive Composition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという対話制御を規定する機能セグメントである。
以下、ICSについて説明する。ICSは、複数のボタン情報からなる。ボタン情報は、対話制御画面における個々のボタンに対応するものである。具体的にいうと、対応するボタンにフォーカスが存在する状態において、移動キーの押下がなされた場合、どのボタンにフォーカス移動を移動させるかを示す『neighbor_info』と、対応するボタンのノーマル状態、セレクテッド状態といった各状態を、どのODSで表現するかを示す『state_info』と、対応ボタンの確定時において、再生装置に実行させるべき『ナビゲーションコマンド』とからなる。
MoDESTRootChangeコマンドを、ボタン情報のナビゲーションコマンドとしてボタン情報に組み込んでおけば、Interactive Graphicsストリームによって描画されたメニューの確定操作に応じて、ルート変更機能コマンドを再生装置に実行させることができる。
以上のように本実施形態によれば、ムービーモードにおいても、ルート変更機能を実現することができ、また、ルート変更機能を再生装置に行わせるコマンドを、Interactive Graphicsストリームに組込んでおくことができる。
(第4実施形態)
本実施形態では、MoDESTコンテンツのためのオーサリングを実行するオーサリングシステムについて説明する。
オーサリングシステムは、映画コンテンツの頒布のために制作スタジオに設置され、オーサリングスタッフの使用に供される。オーサリングスタッフからの操作に従い、MPEG規格に従い圧縮符号化されたデジタルストリーム及びどのように映画タイトルを再生するかを記したシナリオを生成し、これらのデータを含むBD-ROM向けのボリュームイメージを生成する。
図12は、オーサリングシステムの内部構成を示す図である。本図に示すように本発明にかかる記録装置は、素材制作部201、シナリオ生成部202、BD-J制作部203、多重化処理部204、フォーマット処理部205、BD-ROMコンテンツ格納部206、MoDEST制作部207、MoDEST/BDMVコンテンツ格納部208により構成される。
<素材制作部201>
素材制作部201は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。素材制作部201は、非圧縮のビットマップなどの画像イメージをMPEG4-AVCやMPEG2などの圧縮方式に従い符号化することでビデオストリームを作成する。また素材制作部201は、非圧縮のLinearPCM音声などをAC3などの圧縮方式に従い符号化することでオーディオストリームを作成する。素材制作部201は、字幕イメージと表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、BD-ROM規格に準拠した字幕ストリームのフォーマットであるプレゼンテーショングラフィックスストリームを作成する。素材制作部201は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルを元にして、BD-ROM規格に準拠したメニュー画面のフォーマットであるインタラクティブグラフィックスストリームを作成する。
<シナリオ生成部202>
シナリオ生成部202は、素材制作部201で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、BD-ROM規格に準拠したフォーマットでシナリオを作成する。ここで言うシナリオは、Index.bdmv、MOVIEオブジェクト、プレイリストを格納したファイルがそれにあたる。また、シナリオ生成部202は、多重化処理を実現するための各AVClipがどのストリームから構成されるかを記述したパラメータファイルを作成する。
<BD-J制作部203>
BD-J制作部203は、IDE(IDE : Integrated DevelopmentEnvironment)環境においてJavaコードを作成し、そうして得たJavaプログラムソースコードをコンパイルした上、JARアーカイブファイルに変換する。
<多重化処理部204>
多重化処理部204は、BD-ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG2-TS形式のAVClipを作成する。このとき、AVClipと対になるClip情報も同時に作成する。
<フォーマット処理部205>
フォーマット処理部205は、シナリオ生成部202で生成したBD-ROMシナリオデータと、BD-J制作部203で制作したBD-Jアプリケーション、多重化処理部204で生成したAVClipやClip情報ファイルや、BD-ROM規格に準拠したフォーマットでファイルやディレクトリを配置し、BD-ROM規格に準拠したファイルシステムであるUDFのフォーマットでBD-ROMディスクイメージを作成する。生成したBD-ROMディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
<BD-ROMコンテンツ格納部206>
BD-ROMコンテンツ格納部206は、フォーマット処理により得られたBD-ROMディスクイメージを格納する。
<MoDEST制作部207>
MoDEST制作部207は、トランスコーダとストリーム削除ツールとを含み、BD-ROMをオーサリングした後に、MoDESTコンテンツをオーサリングを行う。具体的には、ストリーム削除ツールは、BD-ROMコンテンツからMoDESTコンテンツへの変換時のエレメンタリストリームの削除を自動で行う。
<MoDEST/BDMVコンテンツ格納部208>
MoDEST/BDMVコンテンツ格納部208は、MoDEST制作部207によって作成されたMoDEST/BDMVコンテンツを格納する。再生制御エンジン208に格納されたMoDEST/BDMVコンテンツは、MoDサービス・ESTサービスに供される。
以上がオーサリングシステムについての説明である。続いて、BD-J制作部203の内部構成について説明する。BD-J制作部203は、IDクラス作成部211、Java(TM)プログラミング部212、BD-Jオブジェクト作成部213、Java(TM)インポート部214、ID変換部215、Java(TM)プログラムビルド部216から構成される。

1.IDクラス作成部211
IDクラス作成部211は、タイトル構造情報を利用してIDクラスソースコードを作成する。
タイトル構造情報とは、木構造を用いて、BD-ROMにおける再生単位の関係、例えば、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する情報である。具体的にいうと、タイトル構造情報は、制作しようとするBD-ROMの「メディア」に対応するノード、そのBD-ROMにおいて、Index.bdmvから再生可能となる「タイトル」に対応するノード、そのタイトルを構成する「Movieオブジェクト及びBD-Jオブジェクト」に対応するノード、当該Movieオブジェクト及びBD-Jオブジェクトから再生される「プレイリスト」のノードを規定して、これらノードを、エッジ(辺)で結び付けることで、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する。タイトル構造情報においてプレイリストは、00001.mpls,00002.mplsというような、実際のBD-ROMへの記録時に利用される、具体的なファイル名ではなく、MainPlaylist,MenuPlaylistというような、抽象的な名称で記載される。これは、BD-ROM向けのデータと、DVD-Video向けのデータとを同時に作成する場合、かかる再生単位の構造は、抽象的に表現されていることが望ましいからである。
IDクラスソースコードとは、Java(TM)プログラムが最終的に作成されるIndex.bdmvやPlayList情報にアクセスするためのJava(TM)クラスライブラリのソースコードである。IDクラスソースコードは、プレイリスト番号を指定することでリムーバブルメディアから所定のプレイリストファイルを読み込むコンストラクタをもち、このコンストラクタを実行して作成したインスタンスを利用することでAVClipの再生等が実現される。IDクラスライブラリの変数名は、MainPlaylist,MenuPlaylistのように、タイトル構造情報で定義されるプレイリストノードの名前を用いて定義される。このとき用いるプレイリスト番号は、ダミーの番号である。
2.Java(TM)プログラミング部212
Java(TM)プログラミング部212は、GUI等のユーザインターフェースを通じて、ユーザからの編集操作に従って、Java(TM)プログラムのソースコードを作成する。このJava(TM)プログラムソースコードは、BD-Jアプリケーションの元になるのだが、かかるJava(TM)プログラムを、BD-Jアプリケーションとして作成するには、Index.bdmv、プレイリストといった、BD-ROM特有の情報を参照せねばならない。これら、BD-ROM特有の情報に関する参照部分の記述には、上述したようなIDクラスライブラリが用いられる。そして、FirstPlayBackタイトルを構成するBD-Jアプリケーションの記述にあたっては、MoDESTRootChangeAPIやMoDESTRootChangeSystemPropertyを用いて、ルート変更機能を再生装置に実行させるよう、BD-Jアプリケーションの記述を行う。
3.BD-Jオブジェクト作成部213
BD-Jオブジェクト作成部213は、Java(TM)プログラミング部212で作成したJava(TM)プログラムソースコードと、IDクラスソースコードとを元に、BD-Jオブジェクト生成情報を作成する。BD-Jオブジェクト生成情報とは、最終的にBD-ROMに記録されるべきBD-Jオブジェクトの雛形となる情報であり、再生すべきプレイリストを、00001.mpls,00002.mplsというような具体的なファイル名ではなく、IDクラスライブラリで定義された変数名を用いて、指定している。
4.Java(TM)インポート部214
Java(TM)インポート部214は、BD-Jオブジェクト作成部213によって作成されたJava(TM)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報をインポートする。Java(TM)インポート部214は、タイトル構造情報を利用し、インポートすべきJava(TM)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報と、それらのコード及び情報がどのBD-Jオブジェクトに対応するのかの関連付けを行い、タイトル構造情報のBD-JオブジェクトノードのBD-Jオブジェクト生成情報を設定する。
5.ID変換部215
ID変換部215は、Java(TM)インポート部214によって、インポートされたIDクラスソースコードを、タイトル番号、プレイリスト番号に変換する。また、ID変換部215は、BD-Jオブジェクト生成情報についても、BD-Jオブジェクト内で定義されるプレイリスト名が、実際のリムーバブルメディア上のプレイリスト番号と一致するよう変換する。
6.Java(TM)プログラムビルド部216
Java(TM)プログラムビルド部216は、ID変換部215によって変換されたIDクラスソースコードと、Java(TM)プログラムソースコードとに対してコンパイル処理を行って、BD-Jオブジェクト、及び、BD-Jアプリケーションを出力する。ここで出力されるBD-Jアプリケーションは、JARアーカイブファイルの形式になっている。
以上が再生制御エンジン204についての説明である。
図13は、BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。
ステップS31において、素材制作部201はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
ステップS32において、シナリオ生成部202は、index.bdmv、MOVIEオブジェクト、プレイリスト情報などの再生シナリオを記述するBD-ROMシナリオデータを作成する。
ステップS33において、BD-J制作部203は、BD-ROMコンテンツと、MoDEST/BDMVコンテンツとで兼用が可能なBD-Jアプリケーションを作成する。
ステップS34において、多重化処理部204はBD-ROMシナリオデータを元にAVClipとClip情報ファイルを作成する。
ステップS35において、フォーマット処理部207は、BD-ROMシナリオデータ、変形AVClip、Clip情報ファイル、復元バイトコードデータを、BD-ROM規格のファイル・ディレクトリ構造に並び替え、BD-ROM規格準拠のBD-ROMディスクイメージを作成する。
ステップS36において、BD-ROMディスクイメージを用いて、BD-ROMの生産を行い、BD-ROMを用いた映画作品の配給を実行する。
ステップS37において、BD-ROMディスクイメージを元に、MoDEST/BDMVコンテンツのボリュームイメージを作成する。
ステップS38において、MoDEST/BDMVコンテンツを用いた、MoDEST/BDMVコンテンツによる映画作品の配給を実行する。
<BD-Jアプリケーションの作成>
MoDEST/BDMVコンテンツでの利用を踏まえて、BD-ROMディスクイメージのオーサリングを行うには、BD-Jアプリケーションの作成時において、MoDEST/BDMVコンテンツで動作するような制御をBD-Jアプリケーションに組込んでおくのが望ましい。
具体的にいうと、BD-ROMのメニューにおいてSTOPキーイベントを押下すると、スクリーンセーバの画面に戻る。これに対してMODESTxx/BDMVのメニューでSTOPボタンが押下された際、スクリーンセーバの画面に戻らずにMoDESTRootChangeAPIをコールし、rootディレクトリを元にもどすような処理をBD-Jアプリケーションに組込んでおけば、MoDEST/BDMVコンテンツのコンテンツを作成するにあたっても、BD-ROMディスクイメージからの変更は不要となる。
本実施形態に係るオーサリングシステムでは、BD-ROMディスクイメージと、MoDEST/BDMVコンテンツとの共通開発を図るために、BD-Jアプリケーションの作成にあたって、Java言語で記述すべき処理手順について説明する。
図14は、プレイリストの再生中にSTOPキーが押下された際、実行すべき処理手順を示すフローチャートである。アプリケーションは、プレイリスト情報についてのJMFプレーヤインスタンスの生成を命じることにより、プレイリスト情報の再生を再生装置103に行わせる。その後に、図14のフローチャートに制御が移る。ステップS41はキーイベントが発生したかどうかを判定する判定ステップであり、キーイベントが発生すれば、ステップS42においてSTOPキーイベントであるかどうかを判定する。STOPキーイベントでなければ、その他のキーイベントを処理するためのステップに移行する。STOPキーイベントであれば、ステップS43においてrootディレクトリを引数にして、MoDESTRootChangeAPIをコールする。このMoDESTRootChangeAPIのコールがSUCCESSすれば(ステップS44でYes)、ROOT/BDMVディレクトリにおけるFirstPlayBackタイトルを再生して、root/BDMVメニューを表示させる(ステップS45)。NoSuchMethodExceptionがあれば、スクリーンセーバの画面を表示させる(ステップS46)。
以上のSTOPキーのキーイベントをキャッチして、MoDESTRootChangeAPIをコールするとの簡単なセンテンスをアプリケーションに一行追加するだけで、プレイリストの再生停止時にroot/BDMVメニューに戻るという処理を再生装置103に実行させることができる。BD-ROMを作成する際のオーサリング時にかかるセンテンスをBD-Jアプリケーションに追加しておけば、BD-ROMコンテンツに基づきMoDEST/BDMVコンテンツを作成するにあたってのFirstPlayBackタイトルを構成するBD-Jアプリケーションの変更は、一切不要となる。
尚、BD-ROM用のroot/BDMVメニューと、MoD/EST用のMoDESTxx/BDMVメニューとがマージされてオーサリングされてもよい。このためには、カレントとなっているディレクトリのファイルパスをBD-Jアプリケーションに取得させるためのAPI(GetCurrentPath)が追加で必要であり、かかるAPIをコールすることで、root/BDMVメニュー、MoDESTxx/BDMVメニューの何れかを利用する。この際、STOP長押し、連続押しなどでroot/BDMVに戻る。

(本実施形態の応用例)
ユーザが、自身のPCを、記録装置102bとして利用する場合、MoDサービス・ESTサービスにおいて購入したMoDEST/BDMVコンテンツと共に、BD-J制作部203を構成する一連をソフトウェア構成要素を記録装置102bであるPCにダウンロードしてもよい。かかるソフトウェア要素を、ユーザが所有するPCにインストールすることにより、ユーザは、自身が所するPCをオーサリング装置として利用することができ、BD-Jアプリケーションを作成することができる。
この場合ユーザは、MoDEST/BDMVコンテンツと共に配信されるFirstPlayBackタイトルを構成するBD-Jアプリケーションを、自分の好みに応じて作り替えることで、個人的なライブラリィ専用のroot/BDMVメニューで、購入したMoDEST/BDMVコンテンツを楽しむことができる。
BD-J制作部203を構成する一連をソフトウェア構成要素をユーザに供与する際、ユーザが自作したrootメニューを使用した購入を促すため、rootメニューの表示時に、プロバイダは、期間限定のサービスが提供するのが望ましい。

(第5実施形態)
本実施形態では、MoDESTxxディレクトリの内部構成と、このMoDESTxxディレクトリのデータ・ファイル構造を前提した仮想パッケージの構築処理とについて説明する。
図15は、MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。
MoDESTxxディレクトリ直下には、bd.certファイルと、BDMVディレクトリとが置かれている。
bd.cert(ファイル名固定)は、BUDAコンテンツをBD-ROMコンテンツ、又は、BD-ROMに対応するMoDEST/BDMVコンテンツと組み合わせる際に、署名検証に用いられる証明書(以下、マージ証明書)である。マージ証明書とは、BD-ROMにおけるマージ管理情報を格納したファイル(マージ管理情報ファイル)の認証に利用する証明書であり、プロバイダが公開する公開鍵を含む。マージ証明書のファイル形式は、例えば、X.509を利用することができる。X.509の詳細な仕様は、国際電信電話諮問委員会より発行されている、CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"に記載されている。本図における引き出し線f1は、bd.certファイルの用途を示している。この引き出し線に示すように、bd.certファイルは、証明書固有のID(CertIDと呼ばれる)を導きだすという用途に用いられる。
BDMVディレクトリの配下には、「PLAYLISTディレクトリ」、「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」、「JARディレクトリ」と呼ばれる5つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv,MovieObject.bdmvの2種類のファイルが配置されている。「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」については、第1実施形態で説明済みであるから、残りのディレクトリ及びファイルについて説明する。

<index.bdmv>
index.bdmvは、MoDESTxx/BDMVディレクトリ全体に関する管理情報であり、MoDESTxx/BDMVディレクトリがルートディレクトリとして認識された後に、index.bdmvがMoDESTxx/BDMVディレクトリから最初に読み出されることで、再生装置においてMoDESTxx/BDMVディレクトリにおけるコンテンツが一意に認識される。引出し線f4は、Index.bdmvの構成をクローズアップしている。第1実施形態で述べたように、index.bdmv には、MoDESTxx/BDMVディレクトリがrootディレクトリとして再認識された際、最初に再生すべきFirstPlayBackタイトルを構成するBD-Jオブジェクトがどれであるかが記述されている。その他、映画作品のプロバイダを特定する識別子であるorganizationID(32ビット)や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID(128ビット)等の情報を持つ。MoDサービス・ESTサービスにおいてBD-ROMコンテンツを配給する場合、このdiscIDには、BD-ROMで映画作品を配給する際、BD-ROMに使用されていたものと同じものを用いる。

<JARディレクトリ>
MoDESTxx/BDMVディレクトリ配下のJARディレクトリには、拡張子jarが付与されたファイル(xxxxx.jar[“xxxxx”は可変、拡張子”jar”は固定])が存在する。
拡張子”jar”が付与されたファイルは、Java(TM)アーカイブファイルであり、MoDEST/BDMVコンテンツにおいてFirstPlayBackタイトルを構成するアプリケーションが格納されているものとする。かかるアプリケーションは、MoDESTxx/BDMVディレクトリと、BUDAディレクトリとを組み合わせた仮想パッケージの構築を行う。

<BDJOディレクトリ>
MoDESTxx/BDMVディレクトリ配下のBDJOディレクトリには、拡張子bdjoが付与されたファイル(xxxxx.bdjo[“xxxxx”は可変、拡張子”bdjo”は固定])が存在する。MoDESTxx/BDMVディレクトリにおけるJava(TM)アプリケーションを、BD-Jアプリケーションとして動作させるためのBDJオブジェクトが、本ディレクトリに格納される。
以上が、MoDESTxxディレクトリのディレクトリ及びファイルについての説明である。続いて、再生装置103の詳細について、説明する。
図16は、再生装置103の機能構成を示すブロック図である。本図に示すように、再生装置103は、BDドライブ20、ネットワークインターフェース21、ローカルストレージ22、仮想ファイルシステム23、静的シナリオメモリ26、動的シナリオメモリ27、HDMVモジュール28、BD-Jプラットフォーム29、UO探知モジュール30、モード管理モジュール31、ルート変更部32から構成される。本再生装置103は、オペレーティングシステムシステムとしてLinuxを採用しており、本再生装置103のハードウェア及びソフトウェアは、このLinuxを通じて制御される。本実施形態にかかる再生装置103は、CPU、ROM、RAM、ドライブ、AVデコーダ、入出力機器等を具備したコンピュータシステムに、Java(TM)2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装することでJava(TM)プラットフォームを構成し、以下に示す機能的な構成要素をこのJava(TM)プラットフォームに設けることで工業的に生産することができる。

(BDドライブ20)
BDドライブ20は、BD-ROM,BD-RE,BD-Rのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。本BD-ROM再生装置103は、オペレーションシステムとしてLinuxを採用しているので、“/mount point BD/BDMV”とのコマンドを発行することにより、BDドライブ20に、BDMVディレクトリを割り当てる。
(ネットワークインターフェース21)
ネットワークインターフェース21は、ネットワーク接続のためのプロトコルスタックを実行するものであり、ネットワーク上のサーバコンピュータが具備しているドライブを、ネットワークドライブとして、再生装置103に認識させる。そして、ネットワークドライブからデータをダウンロードしたり、データをアップロードすることができる。このネットワークインターフェイス21は、インターネット上に公開されたBUDAコンテンツのダウンロードに用いられる。
(ローカルストレージ22)
ローカルストレージ22は、半導体メモリカードであるリムーバブルメディア101をアクセスするためのドライブ22aと、ビルドインメディア104をアクセスするためのドライブ22bとからなり、特典コンテンツの保存に用いられる。特典コンテンツの保存領域であるBUDAディレクトリはBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。ダウンロードした特典コンテンツをどのようにBD-ROM上のデータと組合せるか(マージするか)を示す規則、つまりマージ規則が記載されたマージ管理情報も、このリムーバブルメディア100,101、ビルドインメディア104に保存される。
本BD-ROM再生装置103は、オペレーションシステムとしてLinuxを採用しているので、リムーバブルメディアドライブ22bがSDメモリカードドライブであり、本ドライブに“SD”というドライブ名が割り当てられている場合、“/mount point SD/BUDA”とのコマンドを発行することにより、リムーバブルメディア101に対応するSDドライブに、BUDAコンテンツを格納するためのディレクトリ(BUDAディレクトリ)を割り当てることができる。同様にビルドインメディアをアクセスするためのドライブに、BUDAディレクトリを割り当てることもできる。こうすることで、仮想パッケージの構築にあたって、BUDAコンテンツの格納のためのBUDAディレクトリの配置場所を自在に変化させることができる。
(仮想ファイルシステム23)
仮想ファイルシステム23は、特典コンテンツと共に、リムーバブルメディア100,101、ビルドインメディア104に記録されたマージ管理情報を元に、ビルドインメディア104、もしくは、リムーバブルメディアに格納された特典コンテンツとBD-ROM上のコンテンツとをマージさせた仮想的なBD-ROM(仮想パッケージ)を構築する。HDMVモジュール28やBD-Jプラットフォーム29からは、VFSを通じることで、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置103はBD-ROM上のデータとビルドインメディア104もしくはリムーバブルメディア上のデータの両方を用いて再生制御を行うことになる。
(AV再生部24)
AV再生部24は、リムーバブルメディア100,101、ビルドインメディア104に記録されたAVストリームの再生を、プレイリスト情報、Clip情報に基づいて実行する。
(AV再生ライブラリ25)
AV再生ライブラリ25は、HDMVモジュール28、BD-Jプラットフォーム29からの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、字幕切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
(静的シナリオメモリ26)
静的シナリオメモリ26は、カレントPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されている複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されている複数のClip情報のうち、現在処理対象になっているものをいう。
(動的シナリオメモリ27)
動的シナリオメモリ27は、カレント動的シナリオを格納しておき、HDMVモジュール28、BD-Jプラットフォーム29による処理に供するメモリである。カレント動的シナリオとは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されているMovieオブジェクト,BD-Jオブジェクトのうち、現在実行対象になっているものをいう。
(HDMVモジュール28)
HDMVモジュール28は、HDMVモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ27に読み出されたMovieオブジェクトを実行する。
(BD-Jプラットフォーム29)
BD-Jプラットフォーム29は、Java(TM)プラットフォームであり、Java(TM)仮想マシン、コンフィグレーション、プロファイルからなる。BD-Jプラットフォーム29は、動的シナリオメモリ27に読み出されたJava(TM)クラスファイルからJavaバイトコードを生成することによりカレントのJava(TM)オブジェクトを生成し、実行する。Java(TM)仮想マシンは、Java(TM)言語で記述されたJava(TM)オブジェクトを、再生装置103におけるCPUのネィティブコードに変換して、CPUに実行させる。
(UO探知モジュール30)
UO探知モジュール30は、リモコンや再生装置103のフロントパネルといった入力機器に対してなされたユーザ操作を検知して、モード管理モジュール31に通知する。この通知は、これらの入力機器に対応するデバイスドライバ内の割込みハンドラが発生する割込みに従い、UO(User Operation)を生成して、モード管理モジュール31に出力することでなされる。UOとは、リモコンやフロントパネルに設けられたキーマトッリクスによるキー押下を検知した際、発生するイベント(UOイベント)であり、押下されたキーに対応したキーコードを含んでいる。具体的には、リモコンやフロントパネルに対応するデバイスドライバの割込みハンドルが、キーマトリックスに対するキーセンスでキー押下を検出した際、そのキー押下に基づき割込み信号を発生することで、UOイベントは、生成される。
(モード管理モジュール31)
モード管理モジュール31は、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104から読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール31によるモード管理とは、動的シナリオをどのHDMVモジュール28、BD-Jプラットフォーム29に実行させるかという、モジュールの割り当てである。
(ルート変更部32)
ルート変更部32は、UNIX(TM)等のファイルシステムにおけるマウントの操作を応用することにより、MoDESTRootChangeAPIのコールに応じてルート変更機能を実行する。ここで、UNIX等のファイルシステムにおけるマウントの操作とは、計算機B(クライアント)のファイルシステムにより管理されるディレクトリXに、他の計算機A(サーバ)のファイルシステムにより管理されるディレクトリUを組み込むという操作を指す。この操作を行うと、計算機B上のアプリケーションが計算機AのディレクトリUをアクセスする場合、ディレクトリXを指定すればよく、計算機AのディレクトリUをアプリケーションが指定する必要はない。これを応用してルート変更部32は、リムーバブルメディアにおけるrootディレクトを“マウント先のディレクトリX”に設定し、MoDEST直下のBDMVディレクトリを“マウント元のディレクトリU”に設定したマウントの操作をリアルタイムOSのカーネルに命じる。そうすると、OSで管理されているディレクトリ・ファイルの管理情報のうち、MoDESTxxディレクトリについての管理情報は、rootディレクトリの管理情報の直下におかれることになる。以上のようなマウント操作によって、ルート変更機能を実現する。
このマウント操作は、ファイルコントロールブロックを操作することによりなされる。ファイルコントロールブロックとは、リアルタイムOSが使用するシステム領域のうち、ディレクトリ及びファイルの構造を示す情報(ディレクトリ・ファイル情報)が格納されている領域である。このファイルコントロールブロックに存在するディレクトリ・ファイル情報にて示されるディレクトリ・ファイルが、リムーバブルメディア100,101に存在すると認識されるので、ルート変更機能の実行にあたってルート変更部32は、ファイルコントロールブロックに存在するディレクトリ・ファイル情報のうち、root/BDMVディレクトリを構成するディレクトリ・ファイルの情報を削除する。その後、MoDESTxx/BDMVディレクトリがROOTディレクトリ直下に存在するように、ファイルコントロールブロックにおけるディレクトリ・ファイル情報を書き換えることにより、MoDESTxx/BDMVディレクトリを、root/BDMVディレクトリに変更する。ルート変更機能の実行にあたって、root/BDMVディレクトリを削除した上で、ルート変更機能を実行するので、root/BDMVディレクトリにて識別されるBDMVディレクトリが唯一つになる。一方、MoDESTxx/BDMVディレクトリの再生が終了して、仮想的なrootディレクトリの設定を解除する場合、リムーバブルメディア100,101からディレクトリ・ファイル情報を読み出して、ファイルコントロールブロックに格納し直す。以上のようなディレクトリ・ファイル情報の書き換えにより、ルート変更機能は実行されることになる。

(リムーバブルメディア100,101、ビルドインメディア104のファイルシステム構成)
続いて、BUDAコンテンツを格納するためのリムーバブルメディア100,101、ビルドインメディア104のファイルシステムについて説明する。
図17は、BUDAディレクトリのディレクトリ構成を示す図である。リムーバブルメディア100,101、ビルドインメディア104上には、特典コンテンツの格納領域であるBUDAディレクトリ、CertIDディレクトリ、OrganizationIDディレクトリ、DiscIDディレクトリが存在する。このDiscIDディレクトリには、マージ管理情報ファイル「bumf.xml」、署名情報ファイル「bumf.sf」、特典コンテンツ「00001.mpl」「mo.bdm」「00001.mts」が存在する。
BUDAディレクトリのルートディレクトリ(BUDAディレクトリ)は、リムーバブルメディア100,101、ビルドインメディア104のルートディレクトリの直下に存在する。
「CertIDディレクトリ」はBD-ROM上のマージ証明書(bd.cert)から導き出されるIDを名前に持つディレクトリで、マージ証明書のSHA-1ダイジェスト値160ビットのうち、先頭32ビットを16進表記で表した8文字の名前のディレクトリである。
「OrganizationIDディレクトリ」は、BD-ROM上のBD管理情報(index.bdmv)に記載されている、映画作品のプロバイダを特定する32ビットの識別子(OrganizationID)を16進表記で表した8文字の名前のディレクトリである。
「DiscIDディレクトリ」は、4階層のサブディレクトリからなる。これら4階層のサブディレクトリは、最大8文字のディレクトリ名が付与される。各サブディレクトリには、BD-ROMを特定する128ビットの識別子(DiscID)を先頭から32ビットずつ4分割し、それぞれを16進表記で表した8文字の名前が割り当てられている。このDiscIDは、BD-ROM上のBD管理情報(index.bdmv)に記載されているので、index.bdmvをオープンすることでDiscIDは、取得することができる。例えば、本図における、「12345678」「90abcdef」「12345678」「90abcdef」という4つのディレクトリ名は、「1234567890abcdef1234567890abcdef」という32文字(128ビット)のDiscIDを、下位の桁から8文字(32ビット)ずつ分割することで得られたものである。DiscIDを構成する文字のうち、意味のあるものを省略することなく、DiscIDと、8.3形式との対応を図るので、4階層のサブディレクトリは、DiscIDと厳密に対応がとれたものとなる。
DiscIDディレクトリの配下には、「マージ管理情報ファイル」、「署名情報ファイル」、「特典コンテンツ」が記録される。これらのファイルは、仮想パッケージ生成の中核を担うものであり、以降、これらのファイルの内容を詳細に説明する。
「マージ管理情報ファイル」は、リムーバブルメディア100,101、ビルドインメディア104上の特典コンテンツのファイルパスと、仮想パッケージにおける別名アクセスのためのファイルパスとの対応付けを示す情報であり、bumf.xmlというファイル名でDiscIDディレクトリに保存される。
図18は、マージ管理情報の内部構成を示す図である。本図におけるマージ管理情報では、00001.mpl、mo.bdm、00001.mtsという3つのファイルについて、リムーバブルメディア100,101、ビルドインメディア104上のファイルパスと、仮想パッケージ上のファイルパスとの対応付けがなされている。リムーバブルメディア100,101、ビルドインメディア104上のファイルパスは、8.3形式に準じている。
本図におけるファイルパスの記述について具体的に説明する。リムーバブルメディア100,101、ビルドインメディア104における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mpl”という8.3形式のファイルパスには、BDMV/PLAYLIST/00001.mplsという仮想パッケージ上のファイルパスが対応付けられている。この一例は、前図のものに準じており、CertIDディレクトリから特典コンテンツへのパスが明記されている。
リムーバブルメディア100,101、ビルドインメディア104における、“12345abc/12345678/90abcdef/12345678/90abcdef/mo.bdm”という8.3形式のファイルパスには、BDMV/MovieObject.bdmvという仮想パッケージ上のファイルパスが対応付けられている。
リムーバブルメディア100,101、ビルドインメディア104における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mts”という8.3形式のファイルパスには、BDMV/STREAM/000001.m2tsという仮想パッケージ上のファイルパスが対応付けられている。本図における仮想パッケージにマージすべきファイルは、本来MoDESTxx/BDMVディレクトリに存在するものだが、MoDESTRootChangeAPIによってROOT/BDMVディレクトリに存在するかのように扱われている。
図19は、マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。
左側はMoDESTxx/BDMVディレクトリ、中側はBUDAディレクトリ、右側は仮想パッケージの内容を示す。マージ管理情報ファイルは、図19のように設定されているので、リムーバブルメディア100,101、ビルドインメディア104における格納内容のうち、BUDAディレクトリ配下の12345abc/12345678/90abcdef/12345678/90abcdefに存在する3つの特典コンテンツ、つまり、mo.bdm、00001.mpl、00001.mtsのそれぞれを、矢印g1,g2,g3に示すように、マージ管理情報ファイルに記述されている仮想パッケージのディレクトリ構成に組み合わせる。以上のような、リムーバブルメディア100,101、ビルドインメディア104のファイルを、マージ管理情報ファイルに記述されているディレクトリ構成に組合せることを“マージ”という。
こうしたマージによって、BUDAディレクトリにおけるmo.bdmは、BDMVディレクトリに存在する“MovieObject.bdmv”という別名のファイル名でアクセスされることになる。
またBUDAディレクトリにおける00001.mplは、BDMVディレクトリ配下のPLAYLISTディレクトリに存在する“00001.mpls”という別名のファイル名でアクセスされることになる。
00001.mtsは、BDMVディレクトリ配下のSTREAMディレクトリに存在する“00001.m2ts”という別名のファイル名でアクセスされることになる。
上述したような別名アクセスが可能になるので、mo.bdm、00001.mpl、00001.mtsのそれぞれは、BDMVにMovieObject.bdmv、BDMV/PLAYLIST/00001.mpls、BDMV/STREAM/00001.m2tsに存在するものとして扱うことができる。
「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、bumf.sfというファイル名でDiscIDディレクトリに保存される。電子的な署名は、一般的に改竄防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。改竄防止が必要な情報としては、具体的には、特典コンテンツのファイル名や特典コンテンツをビルドインメディア104に記録するにあたってのファイルパスが挙げられる。かかるファイルパスはLFN形式であり、マージ管理情報ファイルに記載されているので、マージ管理情報ファイルに記載されたファイルパスに対して、ハッシュ値は算出されることになる。また、本署名情報ファイルでは、BD-ROM上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
図17に示した2つの特典コンテンツのうち、「00001.mpl」はプレイリスト情報を格納したものであり、「mo.bdm」は、Movieオブジェクトを格納したものである。これら以外にも、BD-ROMにて記録され、ユーザに供給することができるファイルであるなら、BD-ROMに記録されるべき他のファイルを特典コンテンツの対象として選ぶことができる。index.bdmvやClip情報を格納したファイル(拡張子がclpiのファイル)、Javaアーカイブファイル(拡張子がJarのファイル)、BD-Jオブジェクトを格納したファイル(拡張子がbdjoのファイル)を、特典コンテンツの対象として選ぶことができる。以上が特典コンテンツについての説明である。
図20は、仮想パッケージの構築を行うための処理手順を示すフローチャートである。BD-Jモード用のタイトルが再生され(ステップS61)、タイトル再生中にBD-Jアプリケーションは仮想パッケージ更新要求を行う(ステップS62)。
仮想パッケージ更新要求時に与える引数の値は、マージ管理情報ファイルの位置を示すファイルパス、マージ管理情報ファイルに対応する署名情報ファイルの位置を示すファイルパスである。
仮想ファイルシステム23が仮想パッケージ更新要求を受けると、仮想ファイルシステム23の状態を「更新準備中」とし、指定されたマージ管理情報ファイルが、書き換えられないように、読み取り専用属性に変更する(ステップS63)。そして、仮想パッケージ更新要求時に指定された署名情報ファイルを用いて、マージ管理情報ファイルの署名検証を行う(ステップS64)。
ステップS64の署名検証に失敗した場合(ステップS65でNo)、仮想ファイルシステム23は仮想パッケージ更新要求を中断し、マージ管理情報ファイルの属性を読み取り専用から仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる(ステップS69)。
ステップS64の署名検証に成功した場合(ステップS65でYes)、仮想ファイルシステム23はマージ管理情報ファイルが参照しているリムーバブルメディア100,101、ビルドインメディア104上のファイルの存在チェックを行い、それらのファイルをBD-Jアプリケーションから読み取り専用となるように属性を変更する(ステップS66)。
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア100,101、ビルドインメディア104上に存在しなかった場合(ステップS67でNo)、仮想ファイルシステム23は仮想パッケージ更新処理を中断し、ステップS63及びステップS66で属性を変更したファイルを仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる(ステップS69)。
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア100,101、ビルドインメディア104上に全て存在していると確認でき、さらにそれらのファイルの属性をBD-Jアプリケーションから読み取り専用に変更する処理が完了すると(ステップS67でYes)、マージ管理情報ファイルを元に仮想パッケージを構築する(ステップS68)。
仮想パッケージ構築後、旧マージ管理情報ファイルから参照されていたが、マージ管理情報ファイルからは参照されていないリムーバブルメディア100,101、ビルドインメディア104上のファイルは読み取り専用属性が解除され、BD-Jアプリケーションから読み書き可能になる。マージ管理情報ファイル及び、マージ管理情報ファイルが参照しているリムーバブルメディア100,101、ビルドインメディア104上のファイルに関しては読み取り専用属性のままとなる。
以上のように本実施形態によれば、MoDESTxx/BDMVディレクトリに存在するファイルを、ファイルパスを用いて指定して仮想パッケージを構築することができるので、仮想パッケージに用いるべきファイルが、ROOT/BDMVディレクトリに存在するか、MoDESTxx/BDMVディレクトリに存在するか応じて、ファイルパスを使い分ける必要はない。よって、オーサリングの負担は軽減される。

(第6実施形態)
本実施形態では、MoDESTxxディレクトリに格納されるAVストリームに、どのようなエレメンタリストリームが多重化されているかについて説明する。
図21は、MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームは、0x1011のPIDをもつPrimaryビデオストリーム、0x1100から0x111FまでのPIDをもつプライマリオーディオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のSecondaryビデオストリームである。
図22は、MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program_mapに割り当てられ、0x1001のゾーンはPCRに、0x1011のゾーンはPrimaryビデオストリームに、0x1100から0x111Fまでのゾーンはプライマリオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1B00から0x1B1FまでのゾーンはIN_MUX_Secondaryビデオストリームに割り当てられている。
以上がMoDESTxx/BDMVディレクトリに記録されるべきAVストリームについての説明である。続いて、BUDAディレクトリに配されるべきAVストリームの詳細について説明する。
図23は、BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームは、0x1A00から0x1A1FまでのPIDをもつセカンダリオーディオストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のOut_of_MUX_Secondaryビデオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリームである。この図36に示したセカンダリビデオストリームのように、プライマリビデオストリームと異なるAVストリームに多重化されるセカンダリビデオストリームを、“Out_of_MUX_セカンダリビデオストリーム”という。またセカンダリビデオストリームに限らず、プライマリビデオストリームと異なるAVストリームに多重化されるエレメンタリストリーム全般を、“Out_of_MUXストリーム”という。
図24は、BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program_mapに割り当てられ、0x1001のゾーンはPCRに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1Fまでのゾーンはセカンダリオーディオストリームに割り当てられている。0x1B00から0x1B1FまでのゾーンはSecondaryビデオストリームに割り当てられている。

<プライマリビデオストリーム>
プライマリビデオストリームは、映画作品の本編を構成するストリームであり、720×480フォーマットのSD画像、1920×1080フォーマットのHD画像であるピクチャデータから構成される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在する。MPEG4-AVCのビデオストリームでは、IDRピクチャ,Iピクチャ,Pピクチャ,Bピクチャに、PTS、DTSといったタイムスタンプが付され、このピクチャの単位で、再生制御がなされる。このように、PTS、DTSが付されて、再生制御の単位となる、ビデオストリームの一単位を“Video Presentation Unit”という。
<セカンダリビデオストリーム>
セカンダリビデオストリームは、映画作品のコメンタリィ等を構成するストリームであり、このセカンダリビデオストリームの再生映像を、プライマリビデオストリームの再生映像内に合成することで、ピクチャインピクチャが実行される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在し、“Video Presentation Unit”をもつ。
<プライマリオーディオストリーム>
プライマリオーディオストリームは、映画作品の主音声を表すストリームであり、LPCMオーディオストリーム、DTS-HDオーディオストリーム、DD/DD+オーディオストリームやDD/MLPオーディオストリームといった形式が存在する。オーディオストリームにおけるオーディオフレームに、タイムスタンプが付され、このオーディオフレームの単位で、再生制御がなされる。このように、タイムスタンプが付されて、再生制御の単位となる、オーディオストリームの一単位を“Audio Presentation Unit”という。

<セカンダリオーディオストリーム>
MoDESTxx/BDMVディレクトリには記録されていないが、映画作品の副音声を表すようなオーディオストリームである。

<PGストリーム>
PGストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。PGストリームは、PCS(Presentation Control Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(Object Define Segment)という一連の機能セグメントからなる。ODS(Object Define Segment)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。

WDS(Window Define Segment)は、画面におけるグラフィクスオブジェクトのビット量を定義する機能セグメントであり、PDS(Pallet Define Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。PCS(Presentation Control Segment)は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Cut-In/Out、Fade-In/Out、Color Change、Scroll、Wipe-In/Outといったものがあり、PCSによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。

以上がBUDAディレクトリに記録されるAVストリームの説明である。
続いて、本実施形態にかかるAV再生部24の詳細について説明する。
図25は、AV再生部24の内部構成を示す図である。AV再生部24は、本図に示すように、リードバッファ1a,b、ATCカウンタ2a,b、Source Depacketizer2c,d、STCカウンタ3a,c、PID Filter3b,d、Transport Buffer(TB)4a、Elementary Buffer(EB)4c、ビデオデコーダ4d、Re-order Buffer4e、Decoded Picture Buffer4f、ビデオプレーン4g、Transport Buffer(TB)5a、Elementary Buffer(EB)5c、ビデオデコーダ5d、Re-order Buffer5e、Decoded Picture Buffer5f、ビデオプレーン5g、バッファ6a,b、バッファ7a,b、オーディオデコーダ8a,b、ミキサー9a、スイッチ10a,b,c,d,e、Transport Buffer(TB)11a、Interactive Graphicsデコーダ11b、Interactive Graphicsプレーン11c、Transport Buffer(TB)13a、Presentation Graphicsデコーダ13b、Presentation Graphicsプレーン 13cから構成される。尚本図では、再生装置103の出力段については、示していない。出力段については、別図に内部構成を示して説明することにする。
リードバッファ(RB)1aは、MoDESTxx/BDMVディレクトリから読み出されたSourceパケット列を蓄積する。
リードバッファ(RB)1bは、BUDAディレクトリから読み出されたSourceパケット列を蓄積する。
ATC Counter2aは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2aにATCを出力してゆく。
ATC Counter2bは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2bにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)2cは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、ATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2aが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3aに転送する。
ソースデパケッタイザ(Source De-packetizer)2dは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、各TSパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2bが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3bに転送する。
STC Counter3aは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。PIDフィルタ3aは、このSTCを参照して、多重分離を行う。
PID Filter3bは、MoDESTxx/BDMVディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ2aから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々オーディオデコーダ8b、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。このようにPID Filter3aを通過して各デコーダに入力されるエレメンタリストリームは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。

STC Counter3cは、BUDAディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。
PID Filter3dは、BUDAディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ2bから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々ビデオデコーダ4d、ビデオデコーダ5d、オーディオデコーダ8a、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。各デコーダは、PID Filter3bを経由したエレメンタリストリームを受け取って、BUDAディレクトリにおけるAVストリームのPCRに従いデコードから再生の処理を行う。このようにPID Filter3bを通過して各デコーダに入力されるエレメンタリストリームは、BUDAディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。
Transport Buffer(TB)4aは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)4cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)4dは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン4gに書き込む。
Re-order Buffer4eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer4fは、デコーダ4dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
プライマリビデオプレーン4gは、プライマリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、ビデオプレーン4gは、1920×1080という解像度にあたる画素データを格納している。
Transport Buffer(TB)5aは、セカンダリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)5cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)5dは、セカンダリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン5gに書き込む。
Re-order Buffer5eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer5fは、デコーダ5dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
セカンダリビデオプレーン5gは、セカンダリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、セカンダリビデオは、1920×1080という解像度にあたる画素データを格納している。
バッファ6aは、デマルチプレクサ3aから出力されたTSパケットのうち、プライマリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ8aに供する。
バッファ6bは、デマルチプレクサ3bから出力されたTSパケットのうち、セカンダリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ8bに供する。
オーディオデコーダ8aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりプライマリオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ8bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりセカンダリオーディオストリームにおけるデジタル出力がなされる。
ミキサ9aは、オーディオデコーダ8aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ8bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
スイッチ10aは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にセカンダリビデオデコーダ5d側に供給する。
スイッチ10bは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にPresentation Graphicsデコーダ13b側に供給する。
スイッチ10cは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にInteractive Graphicsデコーダ11b側に供給する。
スイッチ10dは、デマルチプレクサ3dにより多重分離がなされた、プライマリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたプライマリオーディオストリームを構成するTSパケットのうちどちらをオーディオデコーダ8aに供給するかを切り換えるスイッチである。
スイッチ10eは、デマルチプレクサ3dにより多重分離がなされた、セカンダリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたセカンダリオーディオストリームを構成するTSパケットのどちらを、オーディオデコーダ8bに供給するかを切り換えるスイッチである。
Transport Buffer(TB)11aは、IGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Interactive Graphics(IG)デコーダ11bは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン11cに書き込む。
Interactive Graphics(IG)プレーン11cは、IGデコーダ11bによるデコードで得られた非圧縮グラフィクスを構成する画素データが書き込まれる。
Transport Buffer(TB)13aは、PGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Presentation Graphics(PG)デコーダ13bは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン13cに書き込む。PGデコーダ13bによるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン13cは、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
PSRセット17は、再生装置103に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
以上が、AV再生部24の内部構成である。続いて、AV再生部24の出力段の内部構成について説明する。図26は、再生装置103の出力段の構成を示す図である。本図に示すようにAV再生部24の出力段は、1−α3乗算部15a、Scalling・Positioning部15b、α3乗算部15c、加算部15d、1−α1乗算部15e、α1乗算部15f、加算部15g、1−α2乗算部15h、α2乗算部15i、加算部15j、HDMI送受信部16から構成される。
1−α3乗算部15aは、ビデオデコーダ4gに格納されている非圧縮のデジタルピクチャを構成する画素の揮度に、透過率1-α3を乗じる。
Scalling・Positioning部15bは、ビデオプレーン5gに格納されている非圧縮のデジタルピクチャを拡大・縮小する処理(Scalling)を施し、また配置位置を変更する処理(Positioning)を行う。この拡大・縮小は、メタデータにおけるPiP_scaleに基づき、配置位置の変更は、メタデータにおけるPiP_horizontal_position、PiP_vertical_positionに基づく。
α3乗算部15cは、Scalling・Positioning部15bにより、Scalling、Positioningが施された非圧縮のピクチャを構成する画素の揮度に対し、透過率α3を乗じる。
加算部15dは、α3乗算部15cにより画素毎に透過率α3が乗じられた非圧縮デジタルピクチャと、1−α3乗算部15aにより画素毎に透過率1-α3が乗じられた非圧縮デジタルピクチャとを合成して、合成ピクチャを得る。
1−α1乗算部15eは、加算部15dにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α1を乗じる。
α1乗算部15fは、Presentation Graphicsプレーン13cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α1を乗じる。

加算部15gは、1−α1乗算部15eにより画素毎に透過率1-α1が乗じられた非圧縮デジタルピクチャと、α1乗算部15fにより画素毎に透過率α1が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
1−α2乗算部15hは、加算部15gにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α2を乗じる。
α2乗算部15iは、Interactive Graphicsプレーン11cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α2を乗じる。
加算部15jは、1−α2乗算部15hにより画素毎に透過率1-α2が乗じられた非圧縮デジタルピクチャと、α2乗算部15iにより画素毎に透過率α2が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。

HDMI送受信部16は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、加算部15jの合成により得られたデジタル非圧縮のビデオを、ミキサー9aにより合成がなされたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
仮想パッケージを再生する際、以上したエレメンタリストリームのうち、どれを再生するかによって、BUDAディレクトリを設けるべき記録媒体を変えねばならない。
仮想パッケージとして再生されるべきコンテンツが、ピクチャインピクチャコンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつプライマリビデオストリームと、720×480フォーマットのSD画像の解像度をもつセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxxディレクトリが設けられたリムーバブルメディアとは別の記録媒体上に設けることが望ましい。具体的には、MoDESTxx/BDMVディレクトリがリムーバブルメディア100,101に存在するなら、BUDAディレクトリはビルドインメディア104に設けるべきである。リムーバブルメディアがBD-R、BD-REであるなら、BUDAディレクトリは半導体メモリカードに設けてもよい。
同様に、仮想パッケージとして再生されるべきコンテンツが、立体視映像コンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつ左目用のプライマリビデオストリームと、1920×1080フォーマットのHD画像の解像度をもつ右目用のセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、更に高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxx/BDMVディレクトリが存在するリムーバブルメディア100,101とは別の記録媒体、つまり、ビルドインメディア104に設けることが望ましい。
ところが、仮想パッケージとして再生されるべきコンテンツが、MoDESTxx/BDMVディレクトリのAVストリームに、BUDAディレクトリにおけるPresentation Graphicsストリーム、Interactive Graphicsストリーム、セカンダリオーディオストリームを組み合わせるというものであるなら、それ程高いバンド幅は必要とされないので、MoDESTxxディレクトリが存在するリムーバブルメディア上にBUDAディレクトリを設けてもよい。

(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。

尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava(TM)を利用したが、Java(TM)ではなく、UNIX(TM) OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。

(記録装置によるリアルタイムレコーディング)
記録装置102が、家庭用のBDレコーダやBDカムコーダ、デジタルカメラである場合、記録装置102がリアルタイムレコーディングを行うことで、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリを記録してもよい。この際、AVストリームは、アナログ入力信号を記録装置がセルフエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
リアルタイムレコーディングにあたって記録装置は、AVストリームの記録と共に、メモリ上でClip情報やプレイリスト情報を生成する処理を行うが、この際、上述した各実施形態に記載したClip情報、プレイリスト情報をメモリ上で生成する。そしてAVストリームの記録を終えた後、生成されたClip情報、プレイリスト情報を記録媒体に書き込む。こうすることで、オーサリングシステムを用いずとも、家庭用の記録装置や、記録装置としての機能を具備したパーソナルコンピュータにて、各実施形態に示したClip情報、プレイリスト情報を作成することができる。そうして作成されたAVストリーム、Clip情報、プレイリスト情報を、ライトワンス型の記録媒体に書き込んでもよい。
(AV再生の対象)
AV再生の対象は、デジタルストリーム、マップ情報、プレイリスト情報から構成されるコンテンツであるなら、BD-ROMに規定されたものに限らない。デジタルストリームは、MPEG2,MPEG4-AVC等の符号化方式で符号化されたビデオストリーム、オーディオストリームを多重化することで、得られた多重化ストリームであり、DVD Video-Recording規格ではVOBと呼ばれる。
マップ情報は、上述したビデオストリームにおけるアクセスユニット(独立復号可能な再生単位をいう)のアドレス情報と、ビデオストリームの再生時間軸における再生時刻との対応を示す情報であり、DVD Video-Recording規格ではTime Mapと呼ばれる。
プレイリスト情報は、開始点たる時刻情報と、終了点たる時刻情報との組みにより、1つ以上の再生区間を定義する情報である。

(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
・FirstPlayBackタイトルを構成するスタートアッププログラムの生産形態
FirstPlayBackタイトルを構成するスタートアッププログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。この際、MoDESTRootChangeAPIコールやSystemPropertyを使用する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(TM)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。

オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、FirstPlayBackタイトルを構成するスタートアッププログラムを作ることができる。

(システムLSI化)
再生装置103を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置103の中核としての役割を果たす。
かかるシステムLSIは、再生装置103は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置103の内部構成図を基に作ることができる。
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
本発明は、コンテンツの個別販売サービスをより魅力的に、既存のDVD/BD技術との整合性良く提供できるため、コンテンツ提供側、プレーヤ開発側にとって採用し易い利点がある。
本発明は、AVコンテンツの記録技術の技術分野に属する改良である。
AVコンテンツは、AVストリームと、プレイリスト情報等の再生制御情報との組みによって定義されるコンテンツであり、その記録には、大容量なリムーバブルメディアが使用される。ところが昨今、リムーバブルメディアにおいて記録可能な容量は増え続けており、今や1層ブルーレィディスクでは25GB、将来可能といわれている。更に8層ブルーレィディスクでは200GBという大容量なものが実用化に入るといわれている。他にも、強固な著作権保護機能をもつ半導体メモリカードでは、5年にはテラバイトというオーダのものが登場すると考えられる。
その一方で符号化技術は年々圧縮効率の改善が進んでおり、2時間の映画をMPEG-4 AVCで符号化すれば、映像に割り当てるべきビットレートが8Mbps程度であっても、十分に高精細なハイビジョンコンテンツを提供することができる。この場合、2時間のハイビジョンコンテンツのデータサイズはおよそ、2*60*60*8Mbits = 7.2GBとなり、25GBの1層リムーバブルメディアでは、2時間のハイビジョンコンテンツである映画が3本記録される計算になる。また、2層50GBのブルーレィディスクでは、1時間長のハイビジョンコンテンツであるドラマが、12話分(1クール)記録される計算になる。
尚、AVストリーム、プレイリスト情報によって規定されるAVコンテンツの記録技術には、以下の特許文献に記載されているものが知られている。
特願平8-83478号公報
しかし映画作品を配布するための読出専用のブルーレイディスク(BD-ROMと呼ばれる)では、AVストリームのストリーム本数、定義可能なプレイリストの上限数、これらを管理する管理情報のデータサイズが詳細に規定されており、たとえリムーバブルメディアに充分な容量が存在したとしても、複数枚のBD-ROMにて記録されるべき複数のコンテンツを1つのリムーバブルメディアに収めて欲しいとの要請に応えることはできない。BD-ROMコンテンツにおけるこれらの規定は、ミニマムスタンダードなハードウェア規模で、コンテンツの再生を行えることを保障するものであり、仮に、これらの上限数を越えるようなストリーム本数、プレイリスト数、データサイズが供給された場合、再生装置は正常な再生を保障することはできないという理由による。具体的には、再生装置は、プレイリスト情報やストリーム情報をメモリに読み出してから、AVストリームの再生を開始するので、メモリに搭載できない本数のAVストリームやデータサイズの管理情報が存在する場合、もはや正常再生を保障しえないから、リムーバブルメディアをイジェクトして、再生を拒否せざるをえない。
故に、複数枚のBD-ROMにて記録されるべき複数のコンテンツを1枚の記録媒体に収めて供給して欲しいとの要請は、正常再生を保障し得ないという再生装置のハードウェア側の現実的な事情によって、その実現が阻まれるという問題がある。そこで、浮かぶのは、BDMVディレクトリの個数を増やすというアイデアである
“BDMVディレクトリ”とは、BD-ROMにおいて、コンテンツを構成する複数のプレイリスト情報や複数のAVストリームを格納しておくための規定のディレクトリであり、再生装置は、このBDMVディレクトリに存在する複数のAVストリームや複数のプレイリスト情報を認識して再生制御を行う。コンテンツ記録のためのリムーバブルメディアに、複数のBDMVディレクトリを設けておいて、これらに、複数の映画作品を構成するAVストリーム、プレイリスト情報を記録しておけば、規格の制限を越えて、ムービーを記録しておくことができる。
ところがこの案も別の障壁により現実化は阻まれる。これまで、BD-ROMを対象とした再生装置は、リムーバブルメディア挿入後に自動的にルート直下のBDMVディレクトリをアクセスして、最初に再生すべきタイトル(FirstPlaybackタイトル)の再生を開始するという機能を標準的に具備している。しかし、上記のように複数のBDMVディレクトリを1枚のメディアに記録すると、BDMVディレクトリにおけるFirstPlaybackタイトルが複数存在することになり、どのFirstPlayBackタイトルを最初に再生すべきなのか、特定できなくなる。
BD-ROMに複数のBDMVディレクトリが存在すると、複数のBDMVディレクトリのうち、最初のものを“BDMVディレクトリ1”とし、2個目以降のものを“BDMVディレクトリ2,3・・・”というように命名する必要がある。そうすると、個々のBDMVディレクトリに帰属するファイルは、それぞれ合い異なるファイルパスで特定されることになる。
一方、BD-ROM等のリムーバブルメディアによって再生装置に供給される再生制御プログラムは、ファイルパスを利用した処理の実行を再生装置に命じる。再生制御プログラムが、どのBDMVディレクトリに帰属するかによって、ファイルパスを変更するとなると、オーサリングを行う者の手間が増大する。
以上の事情を踏まえると、1つの記録媒体に記録されるべきコンテンツは、BDMVディレクトリ1つに格納されるべき容量に制限されねばならず、メディアの容量差を、記録できるコンテンツ数の差としてユーザに訴求するのは困難である。
本発明の目的は、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる記録媒体を提供することである。
上記課題を解決するため、本発明にかかる記録媒体は、ディレクトリ階層を有する記録媒体であって、ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
サービスドメインディレクトリは、オンデマンドマニュファクチャ又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、ムービーディレクトリは、AVストリームが記録されるディレクトリであり、前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能であることを特徴としている。
前記スタートアッププログラムは、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させるので、再生装置は、ルートディレクトリの配下にムービーディレクトリが存在する記録媒体が、装填されたの如く、再生処理を開始することになる。サービスドメインディレクトリ配下のムービーディレクトリにオンデマンドマニュファクチャサービス、又は、セルスルーサービスによって供給されたAVストリームが存在する場合、当該AVストリームの再生が自動的に開始することになる。よって、再生装置における正常動作を保障しつつも、複数のBD-ROMに記録されるべきコンテンツを、一枚の記録媒体に記録することができ、メディアの容量差を、記録できるコンテンツ数の差としてユーザに実感させることができる。
そして、実際のAVストリームの再生制御を行う再生制御プログラムは、どのディレクトリに帰属するかによって、ファイルパスを変更する必要はなくなり、あたかもBD-ROMから供給されたの如く、記録媒体に対するアクセスを行えばよい。
こうすることで、複数のBD-ROMで供給されるべき映画作品を1つの記録媒体で供給する場合も、一枚のBD-ROMで映画作品を配給する場合も、スタジオが行うべきオーサリングの内容は同一となる。
1年前、2年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというサービスの受け皿に、本発明にかかる記録媒体を用いれば、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を1つの記録媒体にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
かかるサービスの実行において、オーサリングの負担が皆無であるから、スタジオは、このようなオンライン販売のサービスを実行することにより、BD-ROMを用いて映画作品を販売した後も、同じ映画作品を用いることで収益を得ることができる
記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。 リムーバブルメディア100,101の内部構成を示した図である。 ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。 複数回のコンテンツの書き込みによって、リムーバブルメディアの記録内容がどのように更新されるかを模式的に示す図である。 記録装置における記録処理の手順を示すフローチャートである。 MoDESTRootChangeAPIによって、どのようなファイルシステムが認識されるかを模式的に示す図である。 MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。 再生装置103の状態遷移を示す図である。 (a)Index.bdmvの内部構成を示す図である。 (b)BD-Jオブジェクトの内部構成を示す図である。 (c)Java(登録商標)アーカイブファイルの内部構成を示す図である。 (a)root/BDMVメニューを示す図である。 (b)MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。 FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。 オーサリングシステムの内部構成を示す図である。 BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。 プレイリストの再生中にSTOPキーイベントが押下された際、実行すべき処理手順を示すフローチャートである。 MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。 再生装置103の機能構成を示すブロック図である。 BUDAディレクトリのディレクトリ構成を示す図である。 マージ管理情報の内部構成を示す図である。 マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。 仮想パッケージの構築を行うための処理手順を示すフローチャートである。 MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。 MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。 BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。 BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。 AV再生部24の内部構成を示す図である。 再生装置103の出力段の構成を示す図である。
(第1実施形態)
図面を参照しながら、課題解決手段を具備した記録媒体、記録装置、再生装置の実施形態について説明する。
図1は、記録媒体、記録装置、再生装置が用いられるコンテンツ提供システムを示す図である。このコンテンツ提供システムは、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスを実現するものである。
MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスによるコンテンツ提供が求める背景は以下の通りである。BD-ROMによる供給は、リムーバブルメディアのプレスにかかるコストのため、大量には売れないコンテンツは販売しづらい側面や、Read-Only型のメディアで配布することによる輸送コスト、小売店での管理コストが大きくなる側面がある。よって、近年求められているのは、Recordable型もしくはRewritable型のリムーバブルメディアに対してユーザーから要求のあったコンテンツだけを記録して販売するというサービスである。このサービスにおいて、販売の対象となるコンテンツは、1年前、2年前にBD-ROMで販売した旧作の映画作品であると仮定する。これらのMoDサービス・ESTサービスで、過去にBD-ROMを用いて販売した映画作品の再販売を行うことで、二次的な収益を得ようというものである。尚、MoDサービス・ESTサービスにおいて、ユーザに配布されるコンテンツを“MOD/ESTコンテンツ”という。
以下、本システムの構成要素について説明する。図1におけるコンテンツ提供システムは、リムーバブルメディア100,101、記録装置102a,b、再生装置103、ビルドインメディア104、テレビ105から構成される。
<リムーバブルメディア100>
リムーバブルメディア100は、書き換え可能型のBD-RE,追記型のBD-Rであり、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスにおいて、コンテンツの受け皿として用いられる。
<リムーバブルメディア101>
リムーバブルメディア101は、SDメモリカード、メモリスティックなどの半導体メモリカードであり、MoD(Manufacturing on Demand)サービス、EST(Electric Sell Through)サービスにおいて、コンテンツの受け皿として用いられる。

<記録装置102a,b>
記録装置102aは、KIOSK端末であり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア100,101に書き込むという有償のサービス(MoD(Manufacturing on Demand)サービス)を実現する。
記録装置102bは、PCであり、ユーザーによるコンテンツの選択操作に応じて、コンテンツをWWWサーバからダウンロードし、リムーバブルメディア100,101に書き込むという有償のサービス(EST(Electric Sell Through)サービス)を実現する。

<再生装置103>
再生装置103は、テレビ105と共に、ホームシアターシステムを構築して、BD-ROMやリムーバブルメディア100,101を再生する。再生装置103には、MoDサービス・ESTサービスに対応しているものと、そうでないものとがある。前者の再生装置103を“MoD/EST対応プレーヤ”と呼ぶ。後者の再生装置103を“MoDEST非対応プレーヤ”と呼ぶ。
<ビルドインメディア104>
ビルドインメディア104は、映画配給者のWWWサーバから配信された特典コンテンツの受け皿として利用される。特典コンテンツとは、BD-ROMを購入した者に、おまけや景品、懸賞品として与えられるコンテンツであり、特典コンテンツだけでは再生することができないが、BD-ROMと組合せて初めて再生可能となる。例えば特典コンテンツには、BD-ROMには記録されていない言語の副音声及び字幕、特典映像、予告編などが該当する。BD-ROMにおけるコンテンツと組合せて、ピクチャインピクチャを実現するためのビデオストリームや、BD-ROMにおけるコンテンツと組合せて、立体視映像を実現するためのビデオストリームも、この特典コンテンツに該当する。本サービスは、BD-ROMで過去に販売したコンテンツをオンラインで販売するものであるから、BD-ROMでユーザに与えられた特典コンテンツと同様のものをユーザに譲与するため、再生装置103にはビルドインメディア104が存在する。特典コンテンツは、ビルドインメディア104だけではなく、リムーバブルメディア100,101にも記録することができる。ビルドインメディア104やリムーバブルメディア100,101において、特典コンテンツの格納場所となるディレクトリを“BUDA(Binding Unit Data Area)ディレクトリ”という。また、このBUDAディレクトリに格納されるべきファイル一式であって、特典コンテンツとして再生されるものを、“BUDAコンテンツ”という。かかるBUDAコンテンツは、仮想パッケージを構築することで再生可能となる。あるディレクトリの格納内容を、他のディレクトリの格納内容に組み合わせることで作成される仮想的なパッケージを“仮想パッケージ”という。
ここで、組合せの対象となるディレクトリは、基本的には、BD-ROMのroot/BDMVディレクトリと、ビルドインメディア104のBUDAディレクトリの組合せとなるが、本実施形態はこれに限らず、あるリムーバブルメディアに存在するMoDESTxx/BDMVディレクトリと、同じリムーバブルメディアに存在するBUDAディレクトリとの組合せであってもよいし、リムーバブルメディア100,101に存在するMoDESTxx/BDMVディレクトリと、ビルドインメディア104に存在するBUDAディレクトリとの組合せであってもよい。つまり、本実施形態の仮想パッケージは、様々な組合せを許容するものであり、同じ記録媒体に存在する2つのディレクトリを組み合わせて構築することができるし、別々の記録媒体に存在する2つのディレクトリの組み合わせて構築することもできる。
<テレビ105>
テレビ105は、映画作品の再生映像を表示したり、メニュー等を表示することで、対話的な操作環境をユーザに提供する。
以上がMoDサービス・ESTサービスを実行するシステムについての説明である。続いてリムーバブルメディア100,101の生産の形態について説明する。
<リムーバブルメディア100,101の内部構成>
図2は、リムーバブルメディア100,101の内部構成を示した図である。本図の第1段目に、リムーバブルメディア100,101を示し、第2段目は、リムーバブルメディア100,101の記録領域を、横方向に引き伸ばして直線状に描いている。この第2段目に示すように、記録領域は、「論理アドレス空間」を有している。
「論理アドレス空間」は、ファイルシステムのための領域管理情報を先頭にして、各種データが記録されている。“ファイルシステム”とは、UDFやISO9660などのことであり、本実施形態では、Extention2.3形式のファイルシステムを採用する。このファイルシステムを介すれば、論理アドレス空間に記録されているデータをディレクトリ、ファイル構造を使って読み出すことができる。このファイルシステムにおけるファイルの配置位置は、255文字以下のディレクトリ名と、255文字以下のファイル名とを組合せたファイルの経路情報(ファイルパスと呼ばれる)で特定される。
本図の第3段目は、第2段目におけるファイルシステムを前提にして構築された、ディレクトリ・ファイル構成を示す。本図に示すように、BD-ROMのルートディレクトリ(ROOT)直下には、BDMVディレクトリと、MoDESTxxディレクトリとが置かれている。
以下、リムーバブルメディア100,101におけるファイル・ディレクトリ構成について説明する。
<ルート直下のBDMVディレクトリ>
ルート直下のBDMVディレクトリはMoDESTxx下のBDMVディレクトリを記録する際に一緒に記録される。尚、ROOTディレクトリ直下のBDMVディレクトリを、“root/BDMVディレクトリ”と表記する。
root/BDMVディレクトリは、BD-ROM Part3のBDMVに準拠しており、root/BDMVはMoDESTxx/BDMVの初回記録時に合わせて記録されるディレクトリである。新しいコンテンツが追加されMoDESTxxディレクトリ下のBDMVディレクトリが記録される場合には、以前記録されていたルート直下のBDMVディレクトリは更新されても良いし、更新されなくても良い。root/BDMVディレクトリの格納内容は、MoDESTxx/BDMVディレクトリの追加/更新時に更新されてもよい。MoD/EST用にroot/BDMVの格納内容だけが配布/記録されてもよい。このroot/BDMVディレクトリは、リムーバブルメディア100,101が認識されるため、なくてはならない不可欠なディレクトリ、つまり“デフォルト”のディレクトリである。
root/BDMVを編集(削除、追記)する予定が無い場合、root/BDMVはBD-ROM Part3のBDMVに準拠して、作り込むことができる。この作り込みとは、BD-ROMのフォーマットに従い、コンテンツを構成するAVストリームやプレイリスト情報を格納することであり、図中のroot/BDMVディレクトリに存在するIndex.bdmvファイル、JARディレクトリ、BDJOディレクトリは、BD-ROM Part3のBDMVに準拠したコンテンツを構成するものである。これらのディレクトリ・ファイルの内部構成の詳細については、説明の場を後段に譲ることにする。

<MoDESTxxディレクトリの下のBDMVディレクトリ>
MoDESTxxディレクトリは、ユーザがMoDサービス・ESTサービスを受ける際、追加されるディレクトリであり、サービスに依存したディレクトリ、つまり、“サービスドメインディレクトリ”である。このMoDESTxxディレクトリの直下には、root/BDMVディレクトリと同じ、BDMVディレクトリが存在する。尚、MoDESTxxディレクトリ直下のBDMVディレクトリを、“MoDESTxx/BDMVディレクトリ”と表記する。
MoDESTxxディレクトリの配下は、BD-ROM Part3に準拠したものとなり、MoDESTxxディレクトリには、BD-ROM Part3に準拠する形で、AVストリーム、プレイリスト情報が記録されることになる。これらのAVストリーム、プレイリスト情報は、映画作品がBD-ROMにて配給された際、BD-ROMにおいてroot/BDMVディレクトリに記録されていたものであり、実際の映画作品を構成するものである。MOD/ESTコンテンツのうち、MoDESTxx/BDMVディレクトリに記録され、実際の映画作品を構成するファイル一式を“MoDEST/BDMVコンテンツ”とよぶ。本実施形態におけるMoDサービス・ESTサービスは、過去にBD-ROMで頒布された映画作品を、オンラインで販売しようというものであるから、このMoDEST/BDMVコンテンツは、BD-ROMで配給されたコンテンツ(BD-ROMコンテンツ)と同じ内容になる。このMoDESTxxディレクトリは、上記サービスに対応しない再生装置(MoDEST非対応プレーヤ)は認識することができず、仮に、非対応プレーヤに装填されたなら、リムーバブルメディア100,101は、ブランクメディアとして扱われることになる。
MoDESTxxディレクトリに属するディレクトリの内容のうち、PLAYLISTディレクトリ、STREAMディレクトリ、CLIPINFディレクトリは、映画作品の実体を規定するデータである。以下、これらのディレクトリについて説明する。

<PLAYLISTディレクトリ>
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(xxxxx.mpls[“xxxxx”は可変、拡張子”mpls”は固定])が存在する。
拡張子”mpls”が付与されたファイルは、プレイリスト情報を格納したファイルである。プレイリスト情報は、MainPath情報、Subpath情報、PlayListMark情報を含む。
1)MainPath情報は、AVストリームの再生時間軸のうち、In_Timeとなる時点と、Out_Timeとなる時点の組みを1つ以上定義することにより、論理的な再生区間を定義する情報であり、AVストリームに多重化されているエレメンタリストリームのうち、どれの再生を許可し、どれの再生を許可しないかを規定するストリーム番号テーブル(STN_table)をもつ。
2)PlayListMark情報は、In_Time情報及びOut_Time情報の組みにて指定されたAVストリームの一部分のうち、チャプターとなる時点の指定を含む。
3)Subpath情報は、前記AVストリームと同期して再生すべきエレメンタリストリームの指定と、そのエレメンタリストリームの再生時間軸におけるIn_Time情報及びOut_Time情報の組みとを含む。再生制御のためのJava(登録商標)アプリケーションが、このプレイリスト情報を再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、AV再生を開始させることができる。JMF(Java(登録商標) Media Frame work)プレーヤインスタンスとは、JMFプレーヤクラスを基にして仮想マシンのヒープメモリ上に生成される実際のデータのことである。
AVストリームと、プレイリスト情報との組みは、“タイトル”という再生単位を構成する。BD-ROMにおけるAV再生は、このタイトルを一単位としてなされる。root/BDMVディレクトリ又はMoDESTxx/BDMVディレクトリに存在するタイトルのうち、最初に再生されるべきタイトルを、特に“FirstPlayBackタイトル”とよぶ。
<STREAMディレクトリ>
STREAMディレクトリには、拡張子M2TSが付与されたファイル(xxxxx.m2ts[“xxxxx”は可変、拡張子”m2ts”は固定])が存在する。
拡張子”m2ts”が付与されたファイルは、M P E G - T S ( T r a n s p o r t S t r e a m )形式のデジタルAVストリームであり、ビデオストリーム、1つ以上のオーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームを多重化することで得られる。ビデオストリームは映画の動画部分を、オーディオストリームは映画の音声部分を、プレゼンテーショングラフィクスストリームは、映画の字幕を、インタラクティブグラフィクスストリームは映画のメニューをそれぞれ示している。

<CLIPINFディレクトリ>
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(xxxxx.clpi [“xxxxx”は可変、拡張子”clpi”は固定])が存在する。
拡張子”clpi”が付与されたファイルは、AVストリームのそれぞれに1対1に対応する管理情報である。管理情報故に、Clip情報は、デジタルAVストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
尚、これらのディレクトリ以外のディレクトリについては、説明の場を後段に譲るものとする。以上が、MoDESTxxディレクトリについての説明である。
続いて、映画A1〜A30という30個のコンテンツが購入された場合の、ディレクトリ構成について説明する。
図3は、ユーザによって、映画A1〜A30という30個のコンテンツが購入された後のディレクトリ構成を示す図である。本図において、MoDEST01、MoDEST02、...MoDEST30ディレクトリは、ユーザーがコンテンツを購入した際、リムーバブルメディア100,101の容量の限り追加されるディレクトリである。
ルート直下に配置されるMoDESTディレクトリの最大個数は30個以下に制限されている。これは、詳しくは後述するが、リムーバブルメディア100,101の装填の際、ROOTディレクトリ直下のBDMVディレクトリにあるスタートアッププログラムがリムーバブルメディア100,101に記録されているコンテンツの一覧メニューを動的に作成する必要があり、MoDESTディレクトリの数があまりに多いと、リムーバブルメディア100,101に存在するMoDESTxxディレクトリを一覧するためのメニュー(root/BDMVメニューとよぶ)の作成に、時間がかかるためである。また、リムーバブルメディアの容量から考えて、12cmの8層の光ディスク(BDなら200GB)1枚に、ビデオカメラなどで使用される8cmの1層の光ディスク(BDならば7.5GB)のコンテンツをコピーすることを想定した場合の、コピー可能なコンテンツ数の上限が27GB(約30GB)であることに基づいている。
MoDESTxx/BDMVディレクトリには、root/BDMVメニューの構成要素となる名前とサムネイルを必ず記録しておくことが求められる。
MoDESTxx/BDMVディレクトリは、実体的なコンテンツを格納しておくためのディレクトリ、つまり、“真正なムービーディレクトリ”である。このMoDESTxx/BDMVディレクトリの格納内容はBD-ROM Part3のBDMVに準拠する。MoDESTxxディレクトリは、ユーザーのファイル操作によっては、何が記録されているかは伺い知ることはできない。MoDESTxx/BDMVには、Disc Library Metadataが記述されており、<name>, <thumbnail>という2つのタグの2つが必須となる。ただし、root/BDMVディレクトリがDisc Library Metadataを使うかは自由となる。MoD/EST対応プレーヤは、リムーバブルメディア100,101上の仮想的なrootディレクトリを変更するAPIの実装が必須として具備している。仮想的なrootディレクトリを変更した後は、BD-ROMの再生と同等なため、新規開発/検証は不要となる。
以上が記録媒体の実施形態について説明である。続いて、記録装置102a,bについて説明する。
(記録装置102a,b)
記録装置102a,bは、rootディレクトリ直下のBDMVディレクトリに新たなコンテンツを記録する代わりに、MoDESTxxディレクトリというディレクトリをクリエイトして、このMoDESTxxディレクトリの直下にBDMVディレクトリを作成し、このMoDESTxx/BDMVディレクトリにコンテンツを書き込む。仮に、ルート直下にBDMVディレクトリを設け、BDMVディレクトリに、当該コンテンツを構成するAVストリーム、プレイリスト情報を書き込むと、別のコンテンツを同じリムーバブルメディア101に追加購入した際、ルート直下におけるBDMVディレクトリは、もはやコンテンツを追加することができない。これは、詳しくは省略するが、root/BDMVディレクトリ内の2以上のコンテンツを再生できるように、BD-ROM再生装置におけるプログラムを作成することが技術的に困難であり、1つのBDMVディレクトリの中に異なるコンテンツを共存させることが技術的に困難であるとの事情による。
図4は、複数回のコンテンツの書き込みによって、リムーバブルメディア100,101の記録内容がどのように更新されるかを模式的に示す図である。
本図における右側は、図3に示したディレクトリ構成と同一であり、左側は、記録装置102a,bの内部状態を示す。この内部状態には、映画A1の購入時、映画A2の購入時・・・映画A30の購入時というものがある。矢印k1,k2,k3,k4は、各内部状態におけるディレクトリの書き込みを象徴化したものである。映画A1の購入時においては、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時にリムーバブルメディア100,101に書き込まれる。映画A2の購入時にはMoDEST02/BDMVディレクトリがリムーバブルメディア100,101に書き込まれ、映画A30の購入時には、MoDEST30/BDMVディレクトリがリムーバブルメディア100,101に書き込まれる。
このように、初回の購入時(k1)には、root/BDMVディレクトリと、MoDEST01/BDMVディレクトリとが同時に書き込まれるが、2回目以降の購入時(k2,k3,k4)には、購入されたコンテンツに対応するMoDEST02/BDMVディレクトリ、MoDEST04/BDMVディレクトリ、MoDEST30/BDMVディレクトリのみがリムーバブルメディアに追加されてゆくことがわかる。
以下、記録装置102a,bによる記録処理がどのように行われるかについて図5を参照しながら説明する。図5は、記録装置における記録処理の手順を示すフローチャートである。
MoDサービス・ESTサービスにおいてコンテンツの書き込みが命じられた場合、記録装置102a,bは、root/BDMVディレクトリと、MoDESTxxディレクトリとの組みがリムーバブルメディアに存在するかどうかを判定して(ステップS1)、存在する場合、使用済みの番号yyを特定し(ステップS2)、MoDESTyy+1ディレクトリをクリエイトする(ステップS3)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを作成してコンテンツを書き込む(ステップS4)。rootディレクトリと、BDMVディレクトリとの組み、又は、rootディレクトリと、MoDESTxxディレクトリとの組みが存在しないが、root/BDMVディレクトリのみが存在する場合(ステップS5でYes)、リムーバブルメディア100,101にはコンテンツは書き込めない旨を表示して、リムーバブルメディア100をイジェクトする(ステップS8)。
BDMVディレクトリが存在しない場合、ROOT/BDMVディレクトリを作成して、root/BDMVメニューのためのIndex.bdmv、BD-Jオブジェクト、JARアーカイブファイルを書き込み(ステップS6)、yyを0に設定して(ステップS7)、ステップS3に移行する。その後、MoDESTyy+1ディレクトリをクリエイトする(ステップS3)。そして、MoDESTディレクトリyy+1の直下に、BDMVディレクトリ、AACSディレクトリ、Certificateディレクトリを書き込む(ステップS4)。
以上が記録装置102a,bについての説明である。
<再生装置103>
再生装置103は、リムーバブルメディア挿入時にROOTディレクトリ直下のBDMVディレクトリ内で指定された最初に再生されるべきFirstPlaybackタイトルから自動的に再生を開始するという基本動作を行う。これまでのBD-ROM再生装置の基本動作、つまり、ルート直下のBDMVディレクトリのFirstPlaybackタイトルを自動的に再生するという仕組みを活かしつつ、プレーヤのデザインポリシーを変更させないために、MoD/EST対応のプレーヤでは、以下のようなAPI(MoDESTRootChangeAPI)やSystem Property(MoDESTRootChangeSyetemProperty)が規定されている。
<MoDESTRootChangeAPI>
MoDESTRootChangeAPIは、ルートを変更するAPIであり、APIコール時において引数に記述されたファイルパスを、rootディレクトリに変更することができれば、コールを行ったアプリケーションにSUCCESSの応答を返す。引数に記述されたファイルパスを、rootディレクトリに変更することができなければ、コール元のアプリケーションにNoSuchMethodExceptionの応答を返す。
図6は、MoDESTRootChangeAPIのコールによって、どのようなファイルシステムが認識されるかを模式的に示す図である。左側は、図2に示したファイルシステム構造であり、右側は、MoDESTRootChangeAPIがなされた後の認識結果である。破線枠hh1,hh2は、ファイルシステム構造のうち、MoDESTRootChangeAPIがなされた後に認識される部位を示す。このように、左側のファイルシステム構造のうち、ROOTディレクトリと、MoDESTxx/BDMVディレクトリとが認識されて、rootディレクトリ直下に、MoDESTxx/BDMVディレクトリが存在するかのように、扱われることになる。
図7は、MoDESTRootChangeAPIの実行前後で、認識されるファイルシステム構造がどのように変化するかを示す。上段はMoDESTRootChangeAPIの実行前のファイルシステム構造を、下段はMoDESTRootChangeAPIの実行後のファイルシステム構造を示す。MoDESTRootChangeAPIの実行前では、ROOTディレクトリ直下に、映画作品を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
MoDESTRootChangeAPIの実行後では、ROOTディレクトリ直下に、映画A1を格納したBDMVディレクトリが存在するというファイルシステム構造が認識されることになる。
<APIコールのための書式>
MODESTRootChange APIをコールする際の書式について述べる。MODESTRootChange APIの引数には、ID/相対パス/絶対パスがある
ここでIDとは、MoDESTxxディレクトリのそれぞれを特定する下2桁の数値xxをいう。MoDESTxxディレクトリのIDを引き数にした、APIのコールは以下のようなものになる。
MoDESTRootChange( 01)

相対パスを引数にした、APIのコールは以下のようなものになる。
MoDESTRootChange( ../MoDEST01 )
MoDESTRootChange( /MoDEST01 )

また、第1引数、第2引数によって、ルート変更機能をコールできるようにしてもよい。
MoDESTRootChange( MoDEST01, root )
MoDESTRootChange( MoDEST01, NULL )

以上がMoDESTRootChangeAPIについての説明である。続いて、MoDESTRootChangeSystemPropertyの詳細について述べる。
<MoDESTRootChangeSystemProperty>
MoDESTRootChangeSystemPropertyは、ルートを変更するコマンドが再生装置で実行可能か否かを示すプレーヤ変数であり、YESかNOのどちらかの値を持つ。SystemProperty=NOである場合はMoD/EST対応プレーヤではないと判断する
再生装置がMoDESTRootChangeAPIに対応していないが、NoSuchMethodExceptionなどの値が必ず返る場合には、それを基にMoDEST非対応プレーヤであることを判定することができる。しかしNoSuchMethodExceptionが返るとは限らない場合、MoDESTRootChangeSystemPropertyを用いて、再生装置が、MoDESTRootChangeAPIに対応していないことを判定する。
また、MoDEST/BDMVコンテンツを再生する能力をもつが、MoDESTRootChangeAPIを具備していないような再生装置についても、本System Propertyを用いれば、MoDEST/BDMVコンテンツに対応していることを判定することができる。
これは、例えば、次のようなケースを想定している。複数の記録媒体の選択をユーザに行わせることができるGUI部品、いわゆるメディアクロスバーと呼ばれGUI部品を具備している再生装置103ではMoDESTRootChangeAPIを必要としないため、MoDESTRootChangeAPIを呼び出そうとすると、NoSuchMethodExceptionが返る。このようなMoD/EST対応プレーヤは、MoDESTRootChangeAPIの代わりとなるGUI部品を具備しているため、本来的にはMoDEST/BDMVコンテンツを再生できない訳ではない。MoDEST/BDMVコンテンツに対応することができるが、MoDESTRootChangeAPIは実装していない再生装置かどうかを判別するため、FirstPlayBackタイトルを構成するプログラムは、MoDESTRootChangeSystem Propertyを用いて、MoD/EST対応プレーヤかどうかを判定するのが望ましい。そのような判断を助けるため、再生装置103にはMoDESTRootChangeSystem Propertyが存在する。
<状態遷移>
再生装置103にリムーバブルメディア100,101が挿入された際、自動でルート直下のBDMVディレクトリを再生させるのではなく、再生装置103が複数BDMVディレクトリが記録されていることを認識して1つ以上のMoDESTxxディレクトリが存在する場合、MoDESTxx/BDMVディレクトリを選択させ、そこから、MoDESTxxディレクトリ配下のBDMVディレクトリの再生に移行し、その再生が終われば、root/BDMVメニューの表示状態に戻る。このような制御の状態遷移について説明する。図8は、再生装置103の状態遷移を示す図である。
・状態j1
リムーバブルメディアがローディングされたという事象、つまり、MoD/EST対応のプレーヤにMoD/ESTコンテンツを記録したリムーバブルメディアが挿入されたとの事象が発生した場合、本状態に遷移する。この状態は、root/BDMVディレクトリのFirstPlaybackタイトルを再生するというものである。
・状態j2
状態j1において“映画xxを選択した”との事象が発生すると、本状態に遷移することになる。つまり“映画xxを選択した”との事象は、“root/BDMVメニュー上で、MoDESTxxディレクトリ配下のBDMVディレクトリを選択した”という事象と等価なので、状態j2では、“xxに対応するMoDESTxxディレクトリに、rootディレクトリを変更する“という処理を実行することになる。この結果、MoDESTxxディレクトリ以下のBDMV、AACS、Certificateディレクトリだけが記録されたBD-ROMとしてリムーバブルメディアを認識することになる。
・状態j3
状態j2において、“リムーバブルメディアの再認識に成功した”との事象が発生すると、本状態に遷移することになる。本状態は、“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルを再生し、MoDESTxx/BDMVコンテンツを再生する”というものである。
・状態j4
状態j3において、FirstPlayBackタイトルを構成するスタートアッププログラムであるBD-Jアプリケーションによって、VFS構築が要求されたという事象が発生すると、この事象をトリガにして、本状態に遷移することになる。具体的な処理は、“リムーバブルメディア100,101、ビルドインメディア104上に仮想的なファイルシステム(Virtual File System)を構築して、仮想パッケージを再生する”というものである。仮想的なファイルシステムとは、リムーバブルメディア100,101、ビルドインメディア104を一体的に扱うことができるファイルシステムのことをいうから、プレーヤのリムーバブルメディア100,101、ビルドインメディア104に特典コンテンツをダウンロードしてきて、それとリムーバブルメディア100,101上のコンテンツとを組み合わせて(VFS:Virtual File System)を用いて再生することもBD-ROMと同等に可能となる。
・状態j5
状態j4において、“仮想パッケージの再生終了”という事象が発生すると、本状態に遷移することになる。本状態では、VFS解除という処理がなされ、解除に成功すれば、解除成功という事象をトリガにして、状態j3、つまり“MoDESTxx/BDMVディレクトリにおけるFirstPlayBackタイトルの再生”という状態j1に戻る。
・状態j6
状態j3において、MoDESTxx/BDMVの再生終了という事象が発生するか、状態j5においてVFSが解除されたとの事象が発生すれば、本状態に遷移することになる。この状態では、“仮想的なルートを元のリムーバブルメディアのルートに戻す”という処理が実行される。この処理に成功して、“元のリムーバブルメディアのルートに戻った”という事象が発生すると、この事象をトリガにして“root/BDMVのFirstPlaybackタイトルの再生”という状態に戻る。
MoDESTRootChangeAPIを使って再生装置に対するリムーバブルメディアの仮想的なルート位置を変更すると、再生装置ではBD-ROM、つまり、リムーバブルメディアのルート直下にBDMV、AACS、Certificateディレクトリが記録されているだけのリムーバブルメディアの再生挙動と等価となるため、再生装置のソフトウェア設計を変えることがなくなる。またルートを変更するAPIの検証は必要だがMoDEST/BDMVコンテンツの再生の検証は、BD-ROMの再生と同じになり不要となる。
また、複数のBD-ROMのコンテンツが、1枚のリムーバブルメディアなどに記録されているとして常に認識されることになり、ユーザーが操作できることもBD-ROM視聴時と同じになり扱いになるので、操作面においてユーザが困惑することはない。この状態遷移では、MoDESTxx/BDMVディレクトリから別のMoDESTxx/BDMVディレクトリへの状態遷移は想定しない。MoDESTxx/BDMVからroot/BDMVへの状態遷移を行い、root/BDMVからMoDESTxxに遷移するのが基本となる。MoDESTRootChangeAPIの実行によりMoDESTxxディレクトリがリムーバブルメディアの仮想ルートとして扱われるが、リムーバブルメディアを抜くと再びリムーバブルメディアにおけるROOTディレクトリが“root”として扱われるようプレーヤの状態がリセットされるのが望ましい。
以上で再生装置103についての説明を終える。かかる再生装置103の状態遷移は、MoDESTxxディレクトリに記録されたプレイリスト再生制御用のプログラムであるBD-Jアプリケーションに基づき実行される。図2におけるroot/BDMVディレクトリの格納内容のうち、かかる状態遷移をもたらすものは、Index.bdmvファイル、BDJOディレクトリに格納されたBD-Jオブジェクト、JARディレクトリに格納されたJava(登録商標)アーカイブファイルである。以下、これらのIndex.bdmvファイル、BD-Jオブジェクト、Java(登録商標)アーカイブファイルについて説明する。

<Index.bdmv>
Index.bdmvについて説明する。図9(a)は、Index.bdmvの内部構成を示す図である。リムーバブルメディア100,101には、様々な種類のタイトルが存在しており、図9(a)の左側におけるIndex.bdmvには、それら様々な種類のタイトルに対して規定されたインデックスを含む。具体的には、リムーバブルメディア100,101に格納されるFirstPlaybackタイトルについてのIndex Table Entry、TopMenuについてのIndex Table Entry、Title#1についてのIndex Table Entry、Title#2についてのIndex Table Entry,・・・・#Nを含む。このテーブルには、全てのタイトル、TopMenu、FirstPlaybackタイトルを構成するMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。BD-ROMの再生装置103は、タイトルあるいはメニューが呼び出されるたびにIndex.bdmvを参照して、所定のMovieオブジェクト、又は、BD-Jオブジェクトを実行する。また、TopMenuは、リモコンでのユーザ操作で、"MenuCall"のようなコマンドが実行されるときに、呼び出されるMovieオブジェクトもしくはBD-Jオブジェクトが指定されている。
引き出し線h1は、Index Table Entryの共通のデータ構造をクローズアップしている。Index Table Entryは、この共通のデータ構造で定義される。この共通のデータ構造は、『Title_object_type』と、『bdjo_file_name』とを含む。
『Title_object_type』は、"該当するタイトルに関付けられている動作モードオブジェクトが、MovieオブジェクトであるかBD-Jオブジェクトであるかを示す。
『bdjo_file_name』は、タイトルに関連付けられたBD-J オブジェクトのファイル名を示す。
このようなIndex.bdmvにより、タイトルと、動作モードオブジェクトとの対応が図られることになる。

<BDMVディレクトリの構成.ZZZZZ.BDJO>
ZZZZZ.BDJO(「ZZZZZ」は可変、拡張子「BDJO」は固定)は、上述したBD-Jオブジェクトを格納したファイルである。図9(b)は、BD-Jオブジェクトの内部構成を示す図である。本図の左側に示すように、BD-Jオブジェクトは、アプリケーション管理テーブルを含む。
アプリケーション管理テーブル(AMT)とは、“アプリケーションシグナリング”を実現するテーブルである。“アプリケーションシグナリング”とは、BD-ROMにおける“タイトル”をアプリケーションの生存区間として管理し、アプリケーションの起動及び終了を司る制御をいう。ここで生存区間とは、BD-ROMに記録されたコンテンツ全体の時間軸において、仮想マシンのヒープメモリ上でアプリケーションが生存し得る区間を示す。“生存”とは、そのアプリケーションが、ヒープメモリに読み出され、仮想マシンによる実行が可能になっている状態をいう。このように、BD-Jオブジェクト内のアプリケーション管理テーブルに基づき、動作が制御されるJava(登録商標)アプリケーションを、“BD-Jアプリケーション”という。
引出線h2は、アプリケーション管理テーブルの内部構成をクローズアップしている。引出線h2に示すように、アプリケーション管理テーブルは複数のアプリケーションエントリー#1〜#nからなる。引出線h3は、アプリケーションエントリーの共通のデータ構造を示す。この引出線h3に示すように、アプリケーションエントリーは、タイトルにおいて、アプリケーションを自動的に起動させるべきか(AutoStart)、他のアプリケーションからの呼出しを待って起動すべきか(Present)という起動の仕方を示す「制御コード」、Java(登録商標)アーカイブファイルのファイル名となる5桁の数値を用いて、対象となるJava(登録商標)アプリケーションを示す「アプリケーションID」を含む。
<JARディレクトリ>
続いて、JARディレクトリについて説明する。JARディレクトリは、Java(登録商標)アーカイブファイル(XXXXX.JAR)を格納している。
Java(登録商標)アーカイブファイルは、http://java(登録商標).sun.com/j2se/1.4.2/docs/guide/jar/jar.htmlに記載された仕様に準じたファイルである。Java(登録商標)アーカイブファイル302は複数のファイルをディレクトリ構造の形で格納している。図9(c)は、Java(登録商標)アーカイブファイルの内部構成を示す図である。
この構造は、ルートディレクトリ直下に「XXXX.class」が存在し、META-INFディレクトリにファイル「MANIFEST.MF」、ファイル「SIG-BD.SF」、ファイル「SIG-BD.RSA」、ファイル「bd.XXXX.perm」が存在するというものである。
このXXXX.class(クラスファイル)は、Java(登録商標)仮想マシン上で実行することができるBD-Jアプリケーションを定義するようなクラス構造体を格納したクラスファイルである。MANIFEST.MFは、デジタル証明書に対応するものであり、SIG-BD.SFは、MANIFEST.MFのハッシュ値が記載されているファイルである。SIG-BD.RSAは、デジタル証明書チェーン、署名情報が記載されているファイルである。bd.XXXX.permは、パーミッションリクエストファイルであり、実行されるBD-Jアプリケーションにどのパーミッションを与えるのかの情報を格納する。
Java(登録商標)アーカイブファイルにおけるクラスファイルにて定義されるBD-Jアプリケーションは、Xletインターフェイスを通じて、アプリケーションマネージャにより、制御されるJava(登録商標) Xletである。Xletインターフェイスは、“loaded”,“paused”、“active”,“destoryed”といった4つの状態をもつ。
またJava(登録商標)アプリケーションは、JFIF(JPEG)やPNG,その他のイメージデータを表示するためのスタンダードJava(登録商標)ライブラリを用いて、GEM1.0.2にて規定されたHAViフレームワークを実現する。HAViフレームワークは、GEM1.0.2におけるリモートコントロールナビゲーション機構を含むGUIフレームワークであり、Java(登録商標)アプリケーションは、HAViフレームワークに基づくボタン表示、テキスト表示、オンライン表示(BBSの内容)といった表示を、動画像の表示と組み合わせた画面表示を実現することができ、リモートコントロールを用いて、この画面表示に対する操作を行うことができる。
以上がJARファイルについて説明である。
これらのJARファイルは、root/BDMVディレクトリにも、MoDESTxx/BDMVディレクトリにも存在している。そして、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリのうち、どちらに帰属するかによって、JARファイルが実行する処理が異なる。以降、各ディレクトリに存在するJARファイルによって、どのようなBD-Jアプリケーションが定義されるかについて説明する。
<root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション>
root/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、リムーバブルメディア100,101のFirstPlayBackタイトルを構成しており、リムーバブルメディア100,101の装填時に最初に実行されるスタートアッププログラムである。全てのMoDESTxx/BDMVをユーザに提示して、選択されるためのメニュー(root/BDMVメニュー)をユーザに提供する。

<MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーション>
MoDESTxx/BDMVにおけるJARファイルで定義されるBD-Jアプリケーションは、MoDESTxxコンテンツの再生にあたって、実際の再生制御を行うものであり、MoDESTxxディレクトリにおけるユーザ操作を受け付けるためのメニュー(MoDESTxx/BDMVメニュー)を表示して、MoDESTxx/BDMVメニューに対する操作に応じて、MoDESTxxディレクトリにおける再生開始や、チャプター選択、音声選択、字幕選択を受け付ける。そして必要に応じて、仮想パッケージの構築を行い、仮想パッケージから認識することができるプレイリストを再生する。このように、どのBDMVディレクトリに帰属するかによって、JARファイルにて定義されるBD-Jアプリケーションが行う処理は異なる。
以上でJava(登録商標)アーカイブファイルについての説明を終える。続いて、METAディレクトリに格納されるメタデータについて説明する。
<メタデータ>
METAディレクトリに格納されるメタデータは、リムーバブルメディア100,101におけるメディアライブラリとなるXMLファイルであり、コンテンツを示す名前とJPEGサムネイルファイルへのリンク情報が少なくとも記述されている。これらは、root/BDMVディレクトリにおけるBD-Jアプリケーションが、root/BDMVメニューを作成する際に用いられる。リムーバブルメディア100,101におけるライブラリメタデータはBD.INFOに記載されても良いし、BDMVディレクトリの下にXMLファイルなどとして別個に記載されても良い。Disc Library Metadataの<name>, <thumbnail>は必須であるが、これ以外は、任意的である。
<MoD/ESTリムーバブルメディアでのメニュー構成>
BD-Jアプリケーションが、上述したようなメタデータを用いることにより、どのようなメニューを表示するかを図10を参照しながら説明する。図10(a)は、root/BDMVメニューを示す図である。図10には、一番左側にroot/BDMVメニューが存在し、真ん中にMoDESTxx/BDMVメニューが存在する。右側には、MoDESTxx/BDMVメニューに対する選択操作の結果、どのような処理がなされるかが記述されている。
・ROOT/BDMVメニュー
『ROOT/BDMVメニュー』は、root/BDMVメニューとは、各MoDESTxx/BDMVディレクトリに存在するタイトルを視覚的に表現して、リムーバブルメディア100,101内の複数のMoDESTxxディレクトリのうち、何れかのタイトルを選択する操作をユーザから受け付けるメニューである。タイトルの視覚的な表現には、各MoDESTxx/BDMVディレクトリに存在する<name>, <thumbnail>という2つのタグが用いられる。これらの<name>, <thumbnail>という2つのタグは、リムーバブルメディアにおけるMoDESTディレクトリのそれぞれに対応した、GUI部品を構成する。
<name>, <thumbnail>という2つのタグから構成されるGUI部品は、リムーバブルメディア上の30個のMoDESTコンテンツによって再生される30本の映画作品A1,A2・・・・A30のそれぞれに対応しており、映画A1に対応するGUI部品であるA1ボタン、映画A2に対応するGUI部品であるA2ボタン、映画A30に対応するGUI部品であるA30ボタンが存在する。これらのボタンは、リムーバブルメディアにおけるライブラリメタデータの名前とサムネイルによって作らており、セレクテッド状態になることにより、対応する映画作品の再生を開始できる旨を示す。
これらの部品がアクティブ状態になることで、MoDESTRootChangeAPIが実行されて、GUI部品に対応するMoDESTxxディレクトリの配下のBDMVディレクトリが仮想的にルートディレクトリに設定されることになる。
・MoDEST01/BDMVメニュー
『MoDEST01/BDMVメニュー』は、MoDESTxx/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST01/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。リムーバブルメディア100,101には、MoDESTxxディレクトリ毎にBDMVディレクトリが存在しており、個々のBDMVディレクトリにはIndex.bdmvが存在している。本図では、MoDEST01/BDMVディレクトリを選択する操作がなされた際、MoDEST01/BDMVディレクトリに固有なTopメニューを、MoDEST01/BDMVメニューとして表示させることで、MoDEST01/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST01/BDMVメニューは、MoDEST01/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、チャプター選択を行うための『ChapterSelectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るため『All Contents on discボタン』とが配置されている。
All Contents on discボタンがアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューを再び表示させる。
・MoDEST02/BDMVメニュー
『MoDEST02/BDMVメニュー』は、MoDEST02/BDMVディレクトリにおいて、メニューコールで呼び出すことができるTopメニューであり、MoDEST02/BDMVディレクトリにおいて、可能となる操作を視覚的に表現して、何れかの操作をユーザから受け付けことができる。root/BDMVメニューにおいてMoDEST02/BDMVディレクトリを選択する操作がなされた際、MoDEST02/BDMVディレクトリに固有なTopメニューを、MoDEST02/BDMVメニューとして表示させることで、MoDEST02/BDMVディレクトリにおいて固有な操作を実現できるようになっている。MoDEST02/BDMVメニューは、MoDEST02/BDMVディレクトリに格納されているコンテンツの本編再生を始めるための『Playボタン』と、音声ストリームの選択を行うための『Audio Selectionボタン』と、リムーバブルメディア全体のroot/BDMVメニューに戻るための『MoDEST root menuボタン』とから構成される。
『MoDEST root menuボタン』がアクティブ状態になれば、MoDESTRootChangeAPIが実行され、リムーバブルメディアのルートディレクトリがルートに指定されて、root/BDMVメニューが再び表示される。
このようにMoDESTxxディレクトリ下のBDMVディレクトリには、仮想ルートをリムーバブルメディアのルートに戻すためのボタンが『MoDEST01/BDMVメニュー』、『MoDEST02/BDMVメニュー』に埋め込まれている。以上は、MoDEST対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューである。
図10(b)は、MoDEST非対応プレーヤにリムーバブルメディアが装填された際、表示されるメニューを示す。このメニューでは、リムーバブルメディアがMoDEST/BDMVコンテンツを格納したリムーバブルメディアであること、このMoDEST/BDMVコンテンツを再生するには、このリムーバブルメディアをMoDEST対応プレーヤに装填すべきことを示している。
root/BDMVメニュー、MoDESTxx/BDMVメニューを用いることにより、スタートアッププログラムとなるBD-Jアプリケーションがどのような処理をを行うかについて説明する。図11は、FirstPlayBackタイトルを構成するBD-Jアプリケーション、つまり、スタートアッププログラムとなるBD-Jアプリケーションの処理手順を示すフローチャートである。
MoDESTRootChangeSystemAPIをコールして(ステップS11)、MoDESTRootChangeAPIを具備しているかどうかを判定する(ステップS12)。もし具備していなければ、“THIS IS MoD/EST Media Menu”を表示する(ステップS13)。非対応プレーヤに対してはこのプレーヤでは当該リムーバブルメディアを再生できない旨を示す通知を行う。
MoDESTRootChangeAPIを具備している場合、ルート直下のBDMVディレクトリのBD-Jアプリケーションは、リムーバブルメディア上の全てのMoDEST01〜30ディレクトリ下のライブラリメタデータから、<name>と<thumbnail>エレメントを取得して(ステップS14)、MoDESTxxディレクトリごとに格納されているコンテンツの名前と、代表サムネイル映像とからGUI部品を作成し、映画A01〜A30の選択を受け付けるroot/BDMVメニューを表示する(ステップS15)。その後、ステップS16〜ステップS17からなる操作待ちループに移行する。ステップS16は、矢印キーが押下されたかどうかの判定であり、押下されれば、押下された矢印キーに従って、別のGUI部品をセレクテッド状態に変更した後(ステップS18)、ステップS16に戻る。確定キーが押下されれば(ステップS17でYes)、確定されたGUI部品xxに対応するMoDESTxx/BDMVディレクトリを特定する(ステップS19)。そして、MoDESTxx/BDMVのファイルパスを引き数にして、MoDESTRootChangeAPIをコールする(ステップS20)。コールに対してSUCESS応答が返れば(ステップS21でYes)、MoDESTxxディレクトリが仮想的にrootディレクトリに設定される。root変更後は、MoDESTxxディレクトリ直下にBDMVディレクトリが存在し、rootディレクトリ直下に1つのBDMVディレクトリしかないBD-ROMと同等となる。ステップS21においてNoSuchMethodExceptionの応答が返れば、ステップS13に移行する。
そして、MoDESTxx/BDMVがroot/BDMVに記録されているリムーバブルメディアとして、リムーバブルメディアを再認識させ、MoDESTxx/BDMVにおけるFirstPlaybackタイトルを再生させる(ステップS22)。再生が終了すれば、仮想rootを解除する。こうすることで、MoDESTxxディレクトリは、rootディレクトリとして認識されない。再生終了時に仮想的なrootをリムーバブルメディア100,101のrootディレクトリに戻す。
以上のように本実施形態によれば、1年前、2年前にBD-ROMで販売した旧作の映画作品を、オンラインで販売するというMoDサービス・ESTサービスの受け皿に、リムーバブルメディア100,101を用いることができるので、ユーザは、複数のBD-ROMに記録されるべき複数の映画作品をオンラインで改めて購入することにより、複数のBD-ROMに記録されるべき複数の映画作品を大容量のリムーバブルメディア100,101にまとめて保管することが可能になる。こうすることで、個人的な映画作品のライブラリィの整理促進を図ることができる。
かかるMoDサービス・ESTサービスの実行において、オーサリングの負担が皆無であるから、映画作品のスタジオは、このようなオンライン販売のサービスを実行することにより、高い収益を上げることができる。
(第1実施形態の変更例)
本実施形態では、上述したようなリムーバブルメディア100,101、記録装置102、再生装置103を実施するにあたっては、以下のような改変を施すのが望ましい。
(付加情報の取得機能)
ROOT/BDMVディレクトリに存在するBD-Jアプリケーションは、MoDESTxxディレクトリに存在するタイトルの付加情報(監督名、トレーラー)を得てroot/BDMVメニューを描画するのが望ましい。その際、BD-Jアプリケーションは、MoDESTxxディレクトリにおけるDisc Library Metadataの<name>をキーワードとして、プロバイダにおけるデータベースの検索を行い、該当するタイトルの付加情報を取得する。
(BD-Jアプリケーションによるアクセス参照情報)
root/BDMV, MODESTxx/BDMVごとに存在するBD-Jアプリケーションは、レジューム情報を作成して、MoDESTxx/BDMVディレクトリにおけるコンテンツの再生が行われる度に、レジューム情報を更新するのが望ましい。そして再生装置103は、リムーバブルメディア100,101が挿入された際、また、MoDESTxxディレクトリがrootディレクトリに変更された際、レジューム情報に基づき、再生を再開させるのが望ましい。
(root/BDMVメニューの作成素材)
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの作成時に、BDMVディレクトリにおけるメタデータを利用したが、BDMVの下に使われているストリーム種別や属性をメタデータに列挙しておき、それを読んでメニューを自動生成するBD-Jアプリケーションを記録しておくことが望ましい。かかるBD-JアプリケーションによりメニューをBD-ROM/MoDEST兼用メニューとして使えばよい。
FirstPlayBackタイトルを構成するBD-Jアプリケーションは、MoDESTxx/BDMV/META/DLなどから取得したコンテンツ特定情報に基づき、ネットアクセスしてrootメニュー用の素材を取得してもよい。

(第2実施形態)
第1実施形態では、専用の記録装置102a,bを用いてMoDEST/BDMVコンテンツをダウンロードしたが、本実施形態は、再生装置103がMoDEST/BDMVコンテンツのダウンロードを行う改良である。
再生装置103が、いわゆる“ネット家電”であり、また、録画装置としての機能を兼備した“録再機”である場合、記録装置102と同様、MoDサービス・ESTサービスによってMoDEST/BDMVコンテンツを購入することが可能となる。この場合FirstPlayBackタイトルを構成するBD-Jアプリケーションは、以下のような処理を行う。
つまりルート直下のBDMVディレクトリのBD-Jアプリケーションは、起動された際、再生装置103がネットワークに接続できるかどうかを判定する。ネットワーク接続が可能な状態にある場合、root/BDMVメニューを表示した上で、メディア上のMOD/ESTコンテンツを管理できる機能を再生装置103に実行させる。
この管理機能とは、MoDEST/BDMVコンテンツの購入操作をユーザから受け付けて、MoDEST/BDMVコンテンツをダウンロードする機能、ダウンロードしたコンテンツをMoDESTxxディレクトリに格納して、再生可能なコンテンツとして追加する機能、不要となったMoDEST/BDMVコンテンツをMoDESTxxディレクトリから削除する機能から構成される。
そのBD-Jアプリが特定のWebサイトから各種タイトルの購入情報を取得し、それを表示させ、ユーザーに購入させる。
1)購入機能
購入機能について説明する。FirstPlayBackタイトルを構成するBD-Jアプリケーションは、root/BDMVメニューの表示時において購入操作を受け付けるボタンを表示する。このボタンが押下されれば、root/BDMVのBD-Jアプリケーションは、タイトルを購入するページを表示する。このページには、各タイトルに対応付けて、同じタイトルをWalmart/Amazon/BlockBusterなどから購入する際の価格、ダウンロード時間、データサイズ(リムーバブルメディアへの記録に要するブロック数)が示されている。
その際、ダウンロード先を、ビルドインメディア104とするか、リムーバブルメディア100,101とするかをユーザーに選択させる。root/BDMVメニューを表示するにあたって、ビルドインメディア104およびリムーバブルメディアの空き容量(何ブロックか)を一緒に表示するのが望ましい。この際、リムーバブルメディア100,101やビルドインメディア104の空き容量よりも大きなタイトルを購入画面でグレイアウトして表示することにより、選択から除外するようにしてもよい。

2)ダウンロード機能
ダウンロード機能について説明する。購入操作を受け付けた場合、BD-Jアプリケーションは購入するコンテンツのBDMVディレクトリとその著作権保護情報を記載しているAACS、Certificateディレクトリをダウンロードして、新しく作成したMoDESTxxディレクトリの下に記録する。
この際、Permission Requestファイル(DVB-MHPにおけるdvb.persistent.rootにあたるもの)を、各MoDESTxxディレクトリに設定しておく。そしてMoDESTxxディレクトリにおけるPermission Requestファイルに、ファイルの作成/削除機能に対するYES|NOのプロパティを設けておき、当該System PropertyがYesであれば、BD-JアプリがMoDESTRootChange APIで指定された仮想rootディレクトリ以下のファイルを作成/削除できるようにする。

3)削除操作
ユーザによる削除操作は、root/BDMVメニューを介して受け付ける。root/BDMVメニューの表示にあたって、ドライブ/メディア種別/ファイルシステムの種別によって、MoDESTxxディレクトリの削除が可能か否かを前もって識別する。削除が可能であれば、root/BDMVメニューにおいてMoDESTxxディレクトリを削除する操作を受け付けるボタンを表示する。削除可能なMoDEST/BDMVコンテンツの削除が命じられれば、不要となったMoDESTxxディレクトリ以下を削除する。
以上のように本実施形態によれば、再生装置103に、記録装置102としての機能をもたせるので、ユーザは自宅にいながら、MoDEST/BDMVコンテンツを購入して視聴を楽しむだけでなく、再生装置103のビルドインメディア104でライブラリィを構築して、このライブラリィの追加や削除を実行することができる。
(第3実施形態)
BD-Jアプリケーションにおいて実現するものとしたが、本実施形態は、Movieオブジェクトにおいて変更を実現する。Movieオブジェクトとは、コマンドベースで記述されるプログラムであり、HDMVモードでの各タイトル再生で、再生進行を動的に変化させる。このMovieオブジェクトは、BDMVディレクトリ直下のMovieObject.bdmvにて格納される。
ムービーモードにおいてルート変更を実現するため、以下のようなコマンド、PSRが規定されている。
・MoDESTRootChangeコマンド
MoDESTRootChangeコマンドは、引数にて指定されたMoDESTxxディレクトリにルートを変更するコマンであり、その内容は、APIと同じである。
・PSR
PSR(Player Setting Register)は、再生装置103の状態設定を示すレジスタであり、ルート変更機能を行うことができるかどうかが、設定されている。このMovieオブジェクトは、実行時において、このPSRを参照し、ルート変更機能を行うことができるのであれば、MoDESTRootChangeコマンドを再生装置103に実行させる。
ルート変更機能をコマンドによって実現する場合、メニューを構成するグラフィクスストリーム内のボタン情報に、MoDESTRootChangeコマンドを組込むことができる。
<グラフィクスストリーム>
以下、メニューを構成するグラフィクスストリームについて説明する。
メニューを構成するグラフィクスストリームは、Interactive Graphics(IG)ストリームと呼ばれる。IGストリームにて定義される対話制御は、DVD再生装置上の対話制御と互換性がある対話制御である。かかるIGストリームは、ICS(Interactive Composition Segment)、PDS(Palette Difinition Segment)、ODS(Object Definition Segment)と呼ばれる機能セグメントからなる。
ODS(Object Definition Segment)は、ボタンを描画するにあたっての絵柄のグラフィクスを定義するグラフィクスデータである。
PDS(Palette Difinition Segment)は、グラフィクスデータの描画にあたっての、発色を規定する機能セグメントである。
ICS(Interactive Composition Segment)は、ユーザ操作に応じてボタンの状態を変化させるという対話制御を規定する機能セグメントである。
以下、ICSについて説明する。ICSは、複数のボタン情報からなる。ボタン情報は、対話制御画面における個々のボタンに対応するものである。具体的にいうと、対応するボタンにフォーカスが存在する状態において、移動キーの押下がなされた場合、どのボタンにフォーカス移動を移動させるかを示す『neighbor_info』と、対応するボタンのノーマル状態、セレクテッド状態といった各状態を、どのODSで表現するかを示す『state_info』と、対応ボタンの確定時において、再生装置に実行させるべき『ナビゲーションコマンド』とからなる。
MoDESTRootChangeコマンドを、ボタン情報のナビゲーションコマンドとしてボタン情報に組み込んでおけば、Interactive Graphicsストリームによって描画されたメニューの確定操作に応じて、ルート変更機能コマンドを再生装置に実行させることができる。
以上のように本実施形態によれば、ムービーモードにおいても、ルート変更機能を実現することができ、また、ルート変更機能を再生装置に行わせるコマンドを、Interactive Graphicsストリームに組込んでおくことができる。
(第4実施形態)
本実施形態では、MoDESTコンテンツのためのオーサリングを実行するオーサリングシステムについて説明する。
オーサリングシステムは、映画コンテンツの頒布のために制作スタジオに設置され、オーサリングスタッフの使用に供される。オーサリングスタッフからの操作に従い、MPEG規格に従い圧縮符号化されたデジタルストリーム及びどのように映画タイトルを再生するかを記したシナリオを生成し、これらのデータを含むBD-ROM向けのボリュームイメージを生成する。
図12は、オーサリングシステムの内部構成を示す図である。本図に示すように本発明にかかる記録装置は、素材制作部201、シナリオ生成部202、BD-J制作部203、多重化処理部204、フォーマット処理部205、BD-ROMコンテンツ格納部206、MoDEST制作部207、MoDEST/BDMVコンテンツ格納部208により構成される。
<素材制作部201>
素材制作部201は、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックストリームなどの各ストリームを作成する。素材制作部201は、非圧縮のビットマップなどの画像イメージをMPEG4-AVCやMPEG2などの圧縮方式に従い符号化することでビデオストリームを作成する。また素材制作部201は、非圧縮のLinearPCM音声などをAC3などの圧縮方式に従い符号化することでオーディオストリームを作成する。素材制作部201は、字幕イメージと表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、BD-ROM規格に準拠した字幕ストリームのフォーマットであるプレゼンテーショングラフィックスストリームを作成する。素材制作部201は、メニューに使うビットマップイメージと、メニューに配置されるボタンの遷移や表示効果を記載したメニューファイルを元にして、BD-ROM規格に準拠したメニュー画面のフォーマットであるインタラクティブグラフィックスストリームを作成する。
<シナリオ生成部202>
シナリオ生成部202は、素材制作部201で作成した各ストリームの情報や、オーサリングスタッフからのGUIを経由した操作にしたがって、BD-ROM規格に準拠したフォーマットでシナリオを作成する。ここで言うシナリオは、Index.bdmv、MOVIEオブジェクト、プレイリストを格納したファイルがそれにあたる。また、シナリオ生成部202は、多重化処理を実現するための各AVClipがどのストリームから構成されるかを記述したパラメータファイルを作成する。
<BD-J制作部203>
BD-J制作部203は、IDE(IDE : Integrated DevelopmentEnvironment)環境においてJava(登録商標)コードを作成し、そうして得たJava(登録商標)プログラムソースコードをコンパイルした上、JARアーカイブファイルに変換する。
<多重化処理部204>
多重化処理部204は、BD-ROMシナリオデータに記述されているビデオ、オーディオ、字幕、ボタンなどの複数のストリームを多重化して、MPEG2-TS形式のAVClipを作成する。このとき、AVClipと対になるClip情報も同時に作成する。
<フォーマット処理部205>
フォーマット処理部205は、シナリオ生成部202で生成したBD-ROMシナリオデータと、BD-J制作部203で制作したBD-Jアプリケーション、多重化処理部204で生成したAVClipやClip情報ファイルや、BD-ROM規格に準拠したフォーマットでファイルやディレクトリを配置し、BD-ROM規格に準拠したファイルシステムであるUDFのフォーマットでBD-ROMディスクイメージを作成する。生成したBD-ROMディスクイメージをBD-ROMプレス用データに変換し、このデータに対してプレス工程を行うことで、BD-ROMの製造が可能となる。
<BD-ROMコンテンツ格納部206>
BD-ROMコンテンツ格納部206は、フォーマット処理により得られたBD-ROMディスクイメージを格納する。
<MoDEST制作部207>
MoDEST制作部207は、トランスコーダとストリーム削除ツールとを含み、BD-ROMをオーサリングした後に、MoDESTコンテンツをオーサリングを行う。具体的には、ストリーム削除ツールは、BD-ROMコンテンツからMoDESTコンテンツへの変換時のエレメンタリストリームの削除を自動で行う。
<MoDEST/BDMVコンテンツ格納部208>
MoDEST/BDMVコンテンツ格納部208は、MoDEST制作部207によって作成されたMoDEST/BDMVコンテンツを格納する。再生制御エンジン208に格納されたMoDEST/BDMVコンテンツは、MoDサービス・ESTサービスに供される。
以上がオーサリングシステムについての説明である。続いて、BD-J制作部203の内部構成について説明する。BD-J制作部203は、IDクラス作成部211、Java(登録商標)プログラミング部212、BD-Jオブジェクト作成部213、Java(登録商標)インポート部214、ID変換部215、Java(登録商標)プログラムビルド部216から構成される。

1.IDクラス作成部211
IDクラス作成部211は、タイトル構造情報を利用してIDクラスソースコードを作成する。
タイトル構造情報とは、木構造を用いて、BD-ROMにおける再生単位の関係、例えば、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する情報である。具体的にいうと、タイトル構造情報は、制作しようとするBD-ROMの「メディア」に対応するノード、そのBD-ROMにおいて、Index.bdmvから再生可能となる「タイトル」に対応するノード、そのタイトルを構成する「Movieオブジェクト及びBD-Jオブジェクト」に対応するノード、当該Movieオブジェクト及びBD-Jオブジェクトから再生される「プレイリスト」のノードを規定して、これらノードを、エッジ(辺)で結び付けることで、タイトル、Movieオブジェクト、BD-Jオブジェクト、プレイリスト間の関係を規定する。タイトル構造情報においてプレイリストは、00001.mpls,00002.mplsというような、実際のBD-ROMへの記録時に利用される、具体的なファイル名ではなく、MainPlaylist,MenuPlaylistというような、抽象的な名称で記載される。これは、BD-ROM向けのデータと、DVD-Video向けのデータとを同時に作成する場合、かかる再生単位の構造は、抽象的に表現されていることが望ましいからである。
IDクラスソースコードとは、Java(登録商標)プログラムが最終的に作成されるIndex.bdmvやPlayList情報にアクセスするためのJava(登録商標)クラスライブラリのソースコードである。IDクラスソースコードは、プレイリスト番号を指定することでリムーバブルメディアから所定のプレイリストファイルを読み込むコンストラクタをもち、このコンストラクタを実行して作成したインスタンスを利用することでAVClipの再生等が実現される。IDクラスライブラリの変数名は、MainPlaylist,MenuPlaylistのように、タイトル構造情報で定義されるプレイリストノードの名前を用いて定義される。このとき用いるプレイリスト番号は、ダミーの番号である。
2.Java(登録商標)プログラミング部212
Java(登録商標)プログラミング部212は、GUI等のユーザインターフェースを通じて、ユーザからの編集操作に従って、Java(登録商標)プログラムのソースコードを作成する。このJava(登録商標)プログラムソースコードは、BD-Jアプリケーションの元になるのだが、かかるJava(登録商標)プログラムを、BD-Jアプリケーションとして作成するには、Index.bdmv、プレイリストといった、BD-ROM特有の情報を参照せねばならない。これら、BD-ROM特有の情報に関する参照部分の記述には、上述したようなIDクラスライブラリが用いられる。そして、FirstPlayBackタイトルを構成するBD-Jアプリケーションの記述にあたっては、MoDESTRootChangeAPIやMoDESTRootChangeSystemPropertyを用いて、ルート変更機能を再生装置に実行させるよう、BD-Jアプリケーションの記述を行う。
3.BD-Jオブジェクト作成部213
BD-Jオブジェクト作成部213は、Java(登録商標)プログラミング部212で作成したJava(登録商標)プログラムソースコードと、IDクラスソースコードとを元に、BD-Jオブジェクト生成情報を作成する。BD-Jオブジェクト生成情報とは、最終的にBD-ROMに記録されるべきBD-Jオブジェクトの雛形となる情報であり、再生すべきプレイリストを、00001.mpls,00002.mplsというような具体的なファイル名ではなく、IDクラスライブラリで定義された変数名を用いて、指定している。
4.Java(登録商標)インポート部214
Java(登録商標)インポート部214は、BD-Jオブジェクト作成部213によって作成されたJava(登録商標)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報をインポートする。Java(登録商標)インポート部214は、タイトル構造情報を利用し、インポートすべきJava(登録商標)プログラムソースコード、IDクラスソースコード、BD-Jオブジェクト生成情報と、それらのコード及び情報がどのBD-Jオブジェクトに対応するのかの関連付けを行い、タイトル構造情報のBD-JオブジェクトノードのBD-Jオブジェクト生成情報を設定する。
5.ID変換部215
ID変換部215は、Java(登録商標)インポート部214によって、インポートされたIDクラスソースコードを、タイトル番号、プレイリスト番号に変換する。また、ID変換部215は、BD-Jオブジェクト生成情報についても、BD-Jオブジェクト内で定義されるプレイリスト名が、実際のリムーバブルメディア上のプレイリスト番号と一致するよう変換する。
6.Java(登録商標)プログラムビルド部216
Java(登録商標)プログラムビルド部216は、ID変換部215によって変換されたIDクラスソースコードと、Java(登録商標)プログラムソースコードとに対してコンパイル処理を行って、BD-Jオブジェクト、及び、BD-Jアプリケーションを出力する。ここで出力されるBD-Jアプリケーションは、JARアーカイブファイルの形式になっている。
以上が再生制御エンジン204についての説明である。
図13は、BD-ROMディスクイメージ及びMoDEST/BDMVコンテンツの作成手順を示すフローチャートである。
ステップS31において、素材制作部201はビデオストリーム、オーディオストリーム、IGストリーム、PGストリームを生成する。
ステップS32において、シナリオ生成部202は、index.bdmv、MOVIEオブジェクト、プレイリスト情報などの再生シナリオを記述するBD-ROMシナリオデータを作成する。
ステップS33において、BD-J制作部203は、BD-ROMコンテンツと、MoDEST/BDMVコンテンツとで兼用が可能なBD-Jアプリケーションを作成する。
ステップS34において、多重化処理部204はBD-ROMシナリオデータを元にAVClipとClip情報ファイルを作成する。
ステップS35において、フォーマット処理部207は、BD-ROMシナリオデータ、変形AVClip、Clip情報ファイル、復元バイトコードデータを、BD-ROM規格のファイル・ディレクトリ構造に並び替え、BD-ROM規格準拠のBD-ROMディスクイメージを作成する。
ステップS36において、BD-ROMディスクイメージを用いて、BD-ROMの生産を行い、BD-ROMを用いた映画作品の配給を実行する。
ステップS37において、BD-ROMディスクイメージを元に、MoDEST/BDMVコンテンツのボリュームイメージを作成する。
ステップS38において、MoDEST/BDMVコンテンツを用いた、MoDEST/BDMVコンテンツによる映画作品の配給を実行する。
<BD-Jアプリケーションの作成>
MoDEST/BDMVコンテンツでの利用を踏まえて、BD-ROMディスクイメージのオーサリングを行うには、BD-Jアプリケーションの作成時において、MoDEST/BDMVコンテンツで動作するような制御をBD-Jアプリケーションに組込んでおくのが望ましい。
具体的にいうと、BD-ROMのメニューにおいてSTOPキーイベントを押下すると、スクリーンセーバの画面に戻る。これに対してMODESTxx/BDMVのメニューでSTOPボタンが押下された際、スクリーンセーバの画面に戻らずにMoDESTRootChangeAPIをコールし、rootディレクトリを元にもどすような処理をBD-Jアプリケーションに組込んでおけば、MoDEST/BDMVコンテンツのコンテンツを作成するにあたっても、BD-ROMディスクイメージからの変更は不要となる。
本実施形態に係るオーサリングシステムでは、BD-ROMディスクイメージと、MoDEST/BDMVコンテンツとの共通開発を図るために、BD-Jアプリケーションの作成にあたって、Java(登録商標)言語で記述すべき処理手順について説明する。
図14は、プレイリストの再生中にSTOPキーが押下された際、実行すべき処理手順を示すフローチャートである。アプリケーションは、プレイリスト情報についてのJMFプレーヤインスタンスの生成を命じることにより、プレイリスト情報の再生を再生装置103に行わせる。その後に、図14のフローチャートに制御が移る。ステップS41はキーイベントが発生したかどうかを判定する判定ステップであり、キーイベントが発生すれば、ステップS42においてSTOPキーイベントであるかどうかを判定する。STOPキーイベントでなければ、その他のキーイベントを処理するためのステップに移行する。STOPキーイベントであれば、ステップS43においてrootディレクトリを引数にして、MoDESTRootChangeAPIをコールする。このMoDESTRootChangeAPIのコールがSUCCESSすれば(ステップS44でYes)、ROOT/BDMVディレクトリにおけるFirstPlayBackタイトルを再生して、root/BDMVメニューを表示させる(ステップS45)。NoSuchMethodExceptionがあれば、スクリーンセーバの画面を表示させる(ステップS46)。
以上のSTOPキーのキーイベントをキャッチして、MoDESTRootChangeAPIをコールするとの簡単なセンテンスをアプリケーションに一行追加するだけで、プレイリストの再生停止時にroot/BDMVメニューに戻るという処理を再生装置103に実行させることができる。BD-ROMを作成する際のオーサリング時にかかるセンテンスをBD-Jアプリケーションに追加しておけば、BD-ROMコンテンツに基づきMoDEST/BDMVコンテンツを作成するにあたってのFirstPlayBackタイトルを構成するBD-Jアプリケーションの変更は、一切不要となる。
尚、BD-ROM用のroot/BDMVメニューと、MoD/EST用のMoDESTxx/BDMVメニューとがマージされてオーサリングされてもよい。このためには、カレントとなっているディレクトリのファイルパスをBD-Jアプリケーションに取得させるためのAPI(GetCurrentPath)が追加で必要であり、かかるAPIをコールすることで、root/BDMVメニュー、MoDESTxx/BDMVメニューの何れかを利用する。この際、STOP長押し、連続押しなどでroot/BDMVに戻る。

(本実施形態の応用例)
ユーザが、自身のPCを、記録装置102bとして利用する場合、MoDサービス・ESTサービスにおいて購入したMoDEST/BDMVコンテンツと共に、BD-J制作部203を構成する一連をソフトウェア構成要素を記録装置102bであるPCにダウンロードしてもよい。かかるソフトウェア要素を、ユーザが所有するPCにインストールすることにより、ユーザは、自身が所するPCをオーサリング装置として利用することができ、BD-Jアプリケーションを作成することができる。
この場合ユーザは、MoDEST/BDMVコンテンツと共に配信されるFirstPlayBackタイトルを構成するBD-Jアプリケーションを、自分の好みに応じて作り替えることで、個人的なライブラリィ専用のroot/BDMVメニューで、購入したMoDEST/BDMVコンテンツを楽しむことができる。
BD-J制作部203を構成する一連をソフトウェア構成要素をユーザに供与する際、ユーザが自作したrootメニューを使用した購入を促すため、rootメニューの表示時に、プロバイダは、期間限定のサービスが提供するのが望ましい。

(第5実施形態)
本実施形態では、MoDESTxxディレクトリの内部構成と、このMoDESTxxディレクトリのデータ・ファイル構造を前提した仮想パッケージの構築処理とについて説明する。
図15は、MoDESTxxディレクトリ配下のディレクトリ・ファイル構成を示す図である。
MoDESTxxディレクトリ直下には、bd.certファイルと、BDMVディレクトリとが置かれている。
bd.cert(ファイル名固定)は、BUDAコンテンツをBD-ROMコンテンツ、又は、BD-ROMに対応するMoDEST/BDMVコンテンツと組み合わせる際に、署名検証に用いられる証明書(以下、マージ証明書)である。マージ証明書とは、BD-ROMにおけるマージ管理情報を格納したファイル(マージ管理情報ファイル)の認証に利用する証明書であり、プロバイダが公開する公開鍵を含む。マージ証明書のファイル形式は、例えば、X.509を利用することができる。X.509の詳細な仕様は、国際電信電話諮問委員会より発行されている、CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"に記載されている。本図における引き出し線f1は、bd.certファイルの用途を示している。この引き出し線に示すように、bd.certファイルは、証明書固有のID(CertIDと呼ばれる)を導きだすという用途に用いられる。
BDMVディレクトリの配下には、「PLAYLISTディレクトリ」、「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」、「JARディレクトリ」と呼ばれる5つのサブディレクトリが存在し、BDMVディレクトリには、index.bdmv,MovieObject.bdmvの2種類のファイルが配置されている。「CLIPINFディレクトリ」、「STREAMディレクトリ」、「BDJOディレクトリ」については、第1実施形態で説明済みであるから、残りのディレクトリ及びファイルについて説明する。

<index.bdmv>
index.bdmvは、MoDESTxx/BDMVディレクトリ全体に関する管理情報であり、MoDESTxx/BDMVディレクトリがルートディレクトリとして認識された後に、index.bdmvがMoDESTxx/BDMVディレクトリから最初に読み出されることで、再生装置においてMoDESTxx/BDMVディレクトリにおけるコンテンツが一意に認識される。引出し線f4は、Index.bdmvの構成をクローズアップしている。第1実施形態で述べたように、index.bdmv には、MoDESTxx/BDMVディレクトリがrootディレクトリとして再認識された際、最初に再生すべきFirstPlayBackタイトルを構成するBD-Jオブジェクトがどれであるかが記述されている。その他、映画作品のプロバイダを特定する識別子であるorganizationID(32ビット)や、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID(128ビット)等の情報を持つ。MoDサービス・ESTサービスにおいてBD-ROMコンテンツを配給する場合、このdiscIDには、BD-ROMで映画作品を配給する際、BD-ROMに使用されていたものと同じものを用いる。

<JARディレクトリ>
MoDESTxx/BDMVディレクトリ配下のJARディレクトリには、拡張子jarが付与されたファイル(xxxxx.jar[“xxxxx”は可変、拡張子”jar”は固定])が存在する。
拡張子”jar”が付与されたファイルは、Java(登録商標)アーカイブファイルであり、MoDEST/BDMVコンテンツにおいてFirstPlayBackタイトルを構成するアプリケーションが格納されているものとする。かかるアプリケーションは、MoDESTxx/BDMVディレクトリと、BUDAディレクトリとを組み合わせた仮想パッケージの構築を行う。

<BDJOディレクトリ>
MoDESTxx/BDMVディレクトリ配下のBDJOディレクトリには、拡張子bdjoが付与されたファイル(xxxxx.bdjo[“xxxxx”は可変、拡張子”bdjo”は固定])が存在する。MoDESTxx/BDMVディレクトリにおけるJava(登録商標)アプリケーションを、BD-Jアプリケーションとして動作させるためのBDJオブジェクトが、本ディレクトリに格納される。
以上が、MoDESTxxディレクトリのディレクトリ及びファイルについての説明である。続いて、再生装置103の詳細について、説明する。
図16は、再生装置103の機能構成を示すブロック図である。本図に示すように、再生装置103は、BDドライブ20、ネットワークインターフェース21、ローカルストレージ22、仮想ファイルシステム23、静的シナリオメモリ26、動的シナリオメモリ27、HDMVモジュール28、BD-Jプラットフォーム29、UO探知モジュール30、モード管理モジュール31、ルート変更部32から構成される。本再生装置103は、オペレーティングシステムシステムとしてLinuxを採用しており、本再生装置103のハードウェア及びソフトウェアは、このLinuxを通じて制御される。本実施形態にかかる再生装置103は、CPU、ROM、RAM、ドライブ、AVデコーダ、入出力機器等を具備したコンピュータシステムに、Java(登録商標)2Micro_Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装することでJava(登録商標)プラットフォームを構成し、以下に示す機能的な構成要素をこのJava(登録商標)プラットフォームに設けることで工業的に生産することができる。

(BDドライブ20)
BDドライブ20は、BD-ROM,BD-RE,BD-Rのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。本BD-ROM再生装置103は、オペレーションシステムとしてLinuxを採用しているので、“/mount point BD/BDMV”とのコマンドを発行することにより、BDドライブ20に、BDMVディレクトリを割り当てる。
(ネットワークインターフェース21)
ネットワークインターフェース21は、ネットワーク接続のためのプロトコルスタックを実行するものであり、ネットワーク上のサーバコンピュータが具備しているドライブを、ネットワークドライブとして、再生装置103に認識させる。そして、ネットワークドライブからデータをダウンロードしたり、データをアップロードすることができる。このネットワークインターフェイス21は、インターネット上に公開されたBUDAコンテンツのダウンロードに用いられる。
(ローカルストレージ22)
ローカルストレージ22は、半導体メモリカードであるリムーバブルメディア101をアクセスするためのドライブ22aと、ビルドインメディア104をアクセスするためのドライブ22bとからなり、特典コンテンツの保存に用いられる。特典コンテンツの保存領域であるBUDAディレクトリはBD-ROM毎に分かれており、またアプリケーションがデータの保持に使用できる領域はアプリケーション毎に分かれている。ダウンロードした特典コンテンツをどのようにBD-ROM上のデータと組合せるか(マージするか)を示す規則、つまりマージ規則が記載されたマージ管理情報も、このリムーバブルメディア100,101、ビルドインメディア104に保存される。
本BD-ROM再生装置103は、オペレーションシステムとしてLinuxを採用しているので、リムーバブルメディアドライブ22bがSDメモリカードドライブであり、本ドライブに“SD”というドライブ名が割り当てられている場合、“/mount point SD/BUDA”とのコマンドを発行することにより、リムーバブルメディア101に対応するSDドライブに、BUDAコンテンツを格納するためのディレクトリ(BUDAディレクトリ)を割り当てることができる。同様にビルドインメディアをアクセスするためのドライブに、BUDAディレクトリを割り当てることもできる。こうすることで、仮想パッケージの構築にあたって、BUDAコンテンツの格納のためのBUDAディレクトリの配置場所を自在に変化させることができる。
(仮想ファイルシステム23)
仮想ファイルシステム23は、特典コンテンツと共に、リムーバブルメディア100,101、ビルドインメディア104に記録されたマージ管理情報を元に、ビルドインメディア104、もしくは、リムーバブルメディアに格納された特典コンテンツとBD-ROM上のコンテンツとをマージさせた仮想的なBD-ROM(仮想パッケージ)を構築する。HDMVモジュール28やBD-Jプラットフォーム29からは、VFSを通じることで、仮想パッケージとオリジナルBD-ROMを区別なく参照することができる。仮想パッケージ再生中、再生装置103はBD-ROM上のデータとビルドインメディア104もしくはリムーバブルメディア上のデータの両方を用いて再生制御を行うことになる。
(AV再生部24)
AV再生部24は、リムーバブルメディア100,101、ビルドインメディア104に記録されたAVストリームの再生を、プレイリスト情報、Clip情報に基づいて実行する。
(AV再生ライブラリ25)
AV再生ライブラリ25は、HDMVモジュール28、BD-Jプラットフォーム29からの関数呼び出しに応じて、AV再生機能、プレイリストの再生機能を実行する。AV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した機能群であり、再生開始、再生停止、一時停止、一時停止の解除、静止画機能の解除、再生速度を即値で指定した早送り、再生速度を即値で指定した巻戻し、音声切り替え、字幕切り替え、アングル切り替えといった処理である。プレイリスト再生機能とは、このAV再生機能のうち、再生開始や再生停止をプレイリスト情報に従って行うことをいう。
(静的シナリオメモリ26)
静的シナリオメモリ26は、カレントPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されている複数プレイリスト情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されている複数のClip情報のうち、現在処理対象になっているものをいう。
(動的シナリオメモリ27)
動的シナリオメモリ27は、カレント動的シナリオを格納しておき、HDMVモジュール28、BD-Jプラットフォーム29による処理に供するメモリである。カレント動的シナリオとは、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104に記録されているMovieオブジェクト,BD-Jオブジェクトのうち、現在実行対象になっているものをいう。
(HDMVモジュール28)
HDMVモジュール28は、HDMVモードの実行主体となるDVD仮想プレーヤであり、動的シナリオメモリ27に読み出されたMovieオブジェクトを実行する。
(BD-Jプラットフォーム29)
BD-Jプラットフォーム29は、Java(登録商標)プラットフォームであり、Java(登録商標)仮想マシン、コンフィグレーション、プロファイルからなる。BD-Jプラットフォーム29は、動的シナリオメモリ27に読み出されたJava(登録商標)クラスファイルからJava(登録商標)バイトコードを生成することによりカレントのJava(登録商標)オブジェクトを生成し、実行する。Java(登録商標)仮想マシンは、Java(登録商標)言語で記述されたJava(登録商標)オブジェクトを、再生装置103におけるCPUのネィティブコードに変換して、CPUに実行させる。
(UO探知モジュール30)
UO探知モジュール30は、リモコンや再生装置103のフロントパネルといった入力機器に対してなされたユーザ操作を検知して、モード管理モジュール31に通知する。この通知は、これらの入力機器に対応するデバイスドライバ内の割込みハンドラが発生する割込みに従い、UO(User Operation)を生成して、モード管理モジュール31に出力することでなされる。UOとは、リモコンやフロントパネルに設けられたキーマトッリクスによるキー押下を検知した際、発生するイベント(UOイベント)であり、押下されたキーに対応したキーコードを含んでいる。具体的には、リモコンやフロントパネルに対応するデバイスドライバの割込みハンドルが、キーマトリックスに対するキーセンスでキー押下を検出した際、そのキー押下に基づき割込み信号を発生することで、UOイベントは、生成される。
(モード管理モジュール31)
モード管理モジュール31は、BD-ROMまたは、リムーバブルメディア100,101、ビルドインメディア104から読み出されたIndex.bdmvを保持して、モード管理及び分岐制御を行う。モード管理モジュール31によるモード管理とは、動的シナリオをどのHDMVモジュール28、BD-Jプラットフォーム29に実行させるかという、モジュールの割り当てである。
(ルート変更部32)
ルート変更部32は、UNIX(登録商標)等のファイルシステムにおけるマウントの操作を応用することにより、MoDESTRootChangeAPIのコールに応じてルート変更機能を実行する。ここで、UNIX(登録商標)等のファイルシステムにおけるマウントの操作とは、計算機B(クライアント)のファイルシステムにより管理されるディレクトリXに、他の計算機A(サーバ)のファイルシステムにより管理されるディレクトリUを組み込むという操作を指す。この操作を行うと、計算機B上のアプリケーションが計算機AのディレクトリUをアクセスする場合、ディレクトリXを指定すればよく、計算機AのディレクトリUをアプリケーションが指定する必要はない。これを応用してルート変更部32は、リムーバブルメディアにおけるrootディレクトを“マウント先のディレクトリX”に設定し、MoDEST直下のBDMVディレクトリを“マウント元のディレクトリU”に設定したマウントの操作をリアルタイムOSのカーネルに命じる。そうすると、OSで管理されているディレクトリ・ファイルの管理情報のうち、MoDESTxxディレクトリについての管理情報は、rootディレクトリの管理情報の直下におかれることになる。以上のようなマウント操作によって、ルート変更機能を実現する。
このマウント操作は、ファイルコントロールブロックを操作することによりなされる。ファイルコントロールブロックとは、リアルタイムOSが使用するシステム領域のうち、ディレクトリ及びファイルの構造を示す情報(ディレクトリ・ファイル情報)が格納されている領域である。このファイルコントロールブロックに存在するディレクトリ・ファイル情報にて示されるディレクトリ・ファイルが、リムーバブルメディア100,101に存在すると認識されるので、ルート変更機能の実行にあたってルート変更部32は、ファイルコントロールブロックに存在するディレクトリ・ファイル情報のうち、root/BDMVディレクトリを構成するディレクトリ・ファイルの情報を削除する。その後、MoDESTxx/BDMVディレクトリがROOTディレクトリ直下に存在するように、ファイルコントロールブロックにおけるディレクトリ・ファイル情報を書き換えることにより、MoDESTxx/BDMVディレクトリを、root/BDMVディレクトリに変更する。ルート変更機能の実行にあたって、root/BDMVディレクトリを削除した上で、ルート変更機能を実行するので、root/BDMVディレクトリにて識別されるBDMVディレクトリが唯一つになる。一方、MoDESTxx/BDMVディレクトリの再生が終了して、仮想的なrootディレクトリの設定を解除する場合、リムーバブルメディア100,101からディレクトリ・ファイル情報を読み出して、ファイルコントロールブロックに格納し直す。以上のようなディレクトリ・ファイル情報の書き換えにより、ルート変更機能は実行されることになる。

(リムーバブルメディア100,101、ビルドインメディア104のファイルシステム構成)
続いて、BUDAコンテンツを格納するためのリムーバブルメディア100,101、ビルドインメディア104のファイルシステムについて説明する。
図17は、BUDAディレクトリのディレクトリ構成を示す図である。リムーバブルメディア100,101、ビルドインメディア104上には、特典コンテンツの格納領域であるBUDAディレクトリ、CertIDディレクトリ、OrganizationIDディレクトリ、DiscIDディレクトリが存在する。このDiscIDディレクトリには、マージ管理情報ファイル「bumf.xml」、署名情報ファイル「bumf.sf」、特典コンテンツ「00001.mpl」「mo.bdm」「00001.mts」が存在する。
BUDAディレクトリのルートディレクトリ(BUDAディレクトリ)は、リムーバブルメディア100,101、ビルドインメディア104のルートディレクトリの直下に存在する。
「CertIDディレクトリ」はBD-ROM上のマージ証明書(bd.cert)から導き出されるIDを名前に持つディレクトリで、マージ証明書のSHA-1ダイジェスト値160ビットのうち、先頭32ビットを16進表記で表した8文字の名前のディレクトリである。
「OrganizationIDディレクトリ」は、BD-ROM上のBD管理情報(index.bdmv)に記載されている、映画作品のプロバイダを特定する32ビットの識別子(OrganizationID)を16進表記で表した8文字の名前のディレクトリである。
「DiscIDディレクトリ」は、4階層のサブディレクトリからなる。これら4階層のサブディレクトリは、最大8文字のディレクトリ名が付与される。各サブディレクトリには、BD-ROMを特定する128ビットの識別子(DiscID)を先頭から32ビットずつ4分割し、それぞれを16進表記で表した8文字の名前が割り当てられている。このDiscIDは、BD-ROM上のBD管理情報(index.bdmv)に記載されているので、index.bdmvをオープンすることでDiscIDは、取得することができる。例えば、本図における、「12345678」「90abcdef」「12345678」「90abcdef」という4つのディレクトリ名は、「1234567890abcdef1234567890abcdef」という32文字(128ビット)のDiscIDを、下位の桁から8文字(32ビット)ずつ分割することで得られたものである。DiscIDを構成する文字のうち、意味のあるものを省略することなく、DiscIDと、8.3形式との対応を図るので、4階層のサブディレクトリは、DiscIDと厳密に対応がとれたものとなる。
DiscIDディレクトリの配下には、「マージ管理情報ファイル」、「署名情報ファイル」、「特典コンテンツ」が記録される。これらのファイルは、仮想パッケージ生成の中核を担うものであり、以降、これらのファイルの内容を詳細に説明する。
「マージ管理情報ファイル」は、リムーバブルメディア100,101、ビルドインメディア104上の特典コンテンツのファイルパスと、仮想パッケージにおける別名アクセスのためのファイルパスとの対応付けを示す情報であり、bumf.xmlというファイル名でDiscIDディレクトリに保存される。
図18は、マージ管理情報の内部構成を示す図である。本図におけるマージ管理情報では、00001.mpl、mo.bdm、00001.mtsという3つのファイルについて、リムーバブルメディア100,101、ビルドインメディア104上のファイルパスと、仮想パッケージ上のファイルパスとの対応付けがなされている。リムーバブルメディア100,101、ビルドインメディア104上のファイルパスは、8.3形式に準じている。
本図におけるファイルパスの記述について具体的に説明する。リムーバブルメディア100,101、ビルドインメディア104における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mpl”という8.3形式のファイルパスには、BDMV/PLAYLIST/00001.mplsという仮想パッケージ上のファイルパスが対応付けられている。この一例は、前図のものに準じており、CertIDディレクトリから特典コンテンツへのパスが明記されている。
リムーバブルメディア100,101、ビルドインメディア104における、“12345abc/12345678/90abcdef/12345678/90abcdef/mo.bdm”という8.3形式のファイルパスには、BDMV/MovieObject.bdmvという仮想パッケージ上のファイルパスが対応付けられている。
リムーバブルメディア100,101、ビルドインメディア104における“12345abc/12345678/90abcdef/12345678/90abcdef/00001.mts”という8.3形式のファイルパスには、BDMV/STREAM/000001.m2tsという仮想パッケージ上のファイルパスが対応付けられている。本図における仮想パッケージにマージすべきファイルは、本来MoDESTxx/BDMVディレクトリに存在するものだが、MoDESTRootChangeAPIによってROOT/BDMVディレクトリに存在するかのように扱われている。
図19は、マージ管理情報の内容を元にして、MoDESTxx/BDMVコンテンツと、BUDAコンテンツをマージする様子を示す。
左側はMoDESTxx/BDMVディレクトリ、中側はBUDAディレクトリ、右側は仮想パッケージの内容を示す。マージ管理情報ファイルは、図19のように設定されているので、リムーバブルメディア100,101、ビルドインメディア104における格納内容のうち、BUDAディレクトリ配下の12345abc/12345678/90abcdef/12345678/90abcdefに存在する3つの特典コンテンツ、つまり、mo.bdm、00001.mpl、00001.mtsのそれぞれを、矢印g1,g2,g3に示すように、マージ管理情報ファイルに記述されている仮想パッケージのディレクトリ構成に組み合わせる。以上のような、リムーバブルメディア100,101、ビルドインメディア104のファイルを、マージ管理情報ファイルに記述されているディレクトリ構成に組合せることを“マージ”という。
こうしたマージによって、BUDAディレクトリにおけるmo.bdmは、BDMVディレクトリに存在する“MovieObject.bdmv”という別名のファイル名でアクセスされることになる。
またBUDAディレクトリにおける00001.mplは、BDMVディレクトリ配下のPLAYLISTディレクトリに存在する“00001.mpls”という別名のファイル名でアクセスされることになる。
00001.mtsは、BDMVディレクトリ配下のSTREAMディレクトリに存在する“00001.m2ts”という別名のファイル名でアクセスされることになる。
上述したような別名アクセスが可能になるので、mo.bdm、00001.mpl、00001.mtsのそれぞれは、BDMVにMovieObject.bdmv、BDMV/PLAYLIST/00001.mpls、BDMV/STREAM/00001.m2tsに存在するものとして扱うことができる。
「署名情報ファイル」は、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルであり、bumf.sfというファイル名でDiscIDディレクトリに保存される。電子的な署名は、一般的に改竄防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。改竄防止が必要な情報としては、具体的には、特典コンテンツのファイル名や特典コンテンツをビルドインメディア104に記録するにあたってのファイルパスが挙げられる。かかるファイルパスはLFN形式であり、マージ管理情報ファイルに記載されているので、マージ管理情報ファイルに記載されたファイルパスに対して、ハッシュ値は算出されることになる。また、本署名情報ファイルでは、BD-ROM上にあるマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
図17に示した2つの特典コンテンツのうち、「00001.mpl」はプレイリスト情報を格納したものであり、「mo.bdm」は、Movieオブジェクトを格納したものである。これら以外にも、BD-ROMにて記録され、ユーザに供給することができるファイルであるなら、BD-ROMに記録されるべき他のファイルを特典コンテンツの対象として選ぶことができる。index.bdmvやClip情報を格納したファイル(拡張子がclpiのファイル)、Java(登録商標)アーカイブファイル(拡張子がJarのファイル)、BD-Jオブジェクトを格納したファイル(拡張子がbdjoのファイル)を、特典コンテンツの対象として選ぶことができる。以上が特典コンテンツについての説明である。
図20は、仮想パッケージの構築を行うための処理手順を示すフローチャートである。BD-Jモード用のタイトルが再生され(ステップS61)、タイトル再生中にBD-Jアプリケーションは仮想パッケージ更新要求を行う(ステップS62)。
仮想パッケージ更新要求時に与える引数の値は、マージ管理情報ファイルの位置を示すファイルパス、マージ管理情報ファイルに対応する署名情報ファイルの位置を示すファイルパスである。
仮想ファイルシステム23が仮想パッケージ更新要求を受けると、仮想ファイルシステム23の状態を「更新準備中」とし、指定されたマージ管理情報ファイルが、書き換えられないように、読み取り専用属性に変更する(ステップS63)。そして、仮想パッケージ更新要求時に指定された署名情報ファイルを用いて、マージ管理情報ファイルの署名検証を行う(ステップS64)。
ステップS64の署名検証に失敗した場合(ステップS65でNo)、仮想ファイルシステム23は仮想パッケージ更新要求を中断し、マージ管理情報ファイルの属性を読み取り専用から仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる(ステップS69)。
ステップS64の署名検証に成功した場合(ステップS65でYes)、仮想ファイルシステム23はマージ管理情報ファイルが参照しているリムーバブルメディア100,101、ビルドインメディア104上のファイルの存在チェックを行い、それらのファイルをBD-Jアプリケーションから読み取り専用となるように属性を変更する(ステップS66)。
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア100,101、ビルドインメディア104上に存在しなかった場合(ステップS67でNo)、仮想ファイルシステム23は仮想パッケージ更新処理を中断し、ステップS63及びステップS66で属性を変更したファイルを仮想パッケージ更新要求前の元の属性に戻し、BD-Jアプリケーションに対して、仮想パッケージ更新要求拒否通知イベントを投げる(ステップS69)。
マージ管理情報ファイルから参照されていて仮想パッケージ構築に必要なファイルがリムーバブルメディア100,101、ビルドインメディア104上に全て存在していると確認でき、さらにそれらのファイルの属性をBD-Jアプリケーションから読み取り専用に変更する処理が完了すると(ステップS67でYes)、マージ管理情報ファイルを元に仮想パッケージを構築する(ステップS68)。
仮想パッケージ構築後、旧マージ管理情報ファイルから参照されていたが、マージ管理情報ファイルからは参照されていないリムーバブルメディア100,101、ビルドインメディア104上のファイルは読み取り専用属性が解除され、BD-Jアプリケーションから読み書き可能になる。マージ管理情報ファイル及び、マージ管理情報ファイルが参照しているリムーバブルメディア100,101、ビルドインメディア104上のファイルに関しては読み取り専用属性のままとなる。
以上のように本実施形態によれば、MoDESTxx/BDMVディレクトリに存在するファイルを、ファイルパスを用いて指定して仮想パッケージを構築することができるので、仮想パッケージに用いるべきファイルが、ROOT/BDMVディレクトリに存在するか、MoDESTxx/BDMVディレクトリに存在するか応じて、ファイルパスを使い分ける必要はない。よって、オーサリングの負担は軽減される。

(第6実施形態)
本実施形態では、MoDESTxxディレクトリに格納されるAVストリームに、どのようなエレメンタリストリームが多重化されているかについて説明する。
図21は、MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームを示す図である。MoDESTxx/BDMVディレクトリにおけるAVストリームに多重化されるエレメンタリストリームは、0x1011のPIDをもつPrimaryビデオストリーム、0x1100から0x111FまでのPIDをもつプライマリオーディオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のSecondaryビデオストリームである。
図22は、MoDESTxx/BDMVディレクトリに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program_mapに割り当てられ、0x1001のゾーンはPCRに、0x1011のゾーンはPrimaryビデオストリームに、0x1100から0x111Fまでのゾーンはプライマリオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1B00から0x1B1FまでのゾーンはIN_MUX_Secondaryビデオストリームに割り当てられている。
以上がMoDESTxx/BDMVディレクトリに記録されるべきAVストリームについての説明である。続いて、BUDAディレクトリに配されるべきAVストリームの詳細について説明する。
図23は、BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームを示す図である。BUDAディレクトリに配されるべきAVストリームに多重化されるエレメンタリストリームは、0x1A00から0x1A1FまでのPIDをもつセカンダリオーディオストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のOut_of_MUX_Secondaryビデオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリームである。この図36に示したセカンダリビデオストリームのように、プライマリビデオストリームと異なるAVストリームに多重化されるセカンダリビデオストリームを、“Out_of_MUX_セカンダリビデオストリーム”という。またセカンダリビデオストリームに限らず、プライマリビデオストリームと異なるAVストリームに多重化されるエレメンタリストリーム全般を、“Out_of_MUXストリーム”という。
図24は、BUDAディレクトリに配されるべきAVストリームに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program_mapに割り当てられ、0x1001のゾーンはPCRに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1A00から0x1A1Fまでのゾーンはセカンダリオーディオストリームに割り当てられている。0x1B00から0x1B1FまでのゾーンはSecondaryビデオストリームに割り当てられている。

<プライマリビデオストリーム>
プライマリビデオストリームは、映画作品の本編を構成するストリームであり、720×480フォーマットのSD画像、1920×1080フォーマットのHD画像であるピクチャデータから構成される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在する。MPEG4-AVCのビデオストリームでは、IDRピクチャ,Iピクチャ,Pピクチャ,Bピクチャに、PTS、DTSといったタイムスタンプが付され、このピクチャの単位で、再生制御がなされる。このように、PTS、DTSが付されて、再生制御の単位となる、ビデオストリームの一単位を“Video Presentation Unit”という。
<セカンダリビデオストリーム>
セカンダリビデオストリームは、映画作品のコメンタリィ等を構成するストリームであり、このセカンダリビデオストリームの再生映像を、プライマリビデオストリームの再生映像内に合成することで、ピクチャインピクチャが実行される。ビデオストリームには、VC-1のビデオストリーム、MPEG4-AVCのビデオストリーム、MPEG2-Videoのビデオストリームといった形式が存在し、“Video Presentation Unit”をもつ。
<プライマリオーディオストリーム>
プライマリオーディオストリームは、映画作品の主音声を表すストリームであり、LPCMオーディオストリーム、DTS-HDオーディオストリーム、DD/DD+オーディオストリームやDD/MLPオーディオストリームといった形式が存在する。オーディオストリームにおけるオーディオフレームに、タイムスタンプが付され、このオーディオフレームの単位で、再生制御がなされる。このように、タイムスタンプが付されて、再生制御の単位となる、オーディオストリームの一単位を“Audio Presentation Unit”という。

<セカンダリオーディオストリーム>
MoDESTxx/BDMVディレクトリには記録されていないが、映画作品の副音声を表すようなオーディオストリームである。

<PGストリーム>
PGストリームは、言語毎の字幕を構成するグラフィクスストリームであり、英語、日本語、フランス語というように複数言語についてのストリームが存在する。PGストリームは、PCS(Presentation Control Segment)、PDS(Pallet Define Segment)、WDS(Window Define Segment)、ODS(Object Define Segment)という一連の機能セグメントからなる。ODS(Object Define Segment)は、字幕たるグラフィクスオブジェクトを定義する機能セグメントである。

WDS(Window Define Segment)は、画面におけるグラフィクスオブジェクトのビット量を定義する機能セグメントであり、PDS(Pallet Define Segment)は、グラフィクスオブジェクトの描画にあたっての、発色を規定する機能セグメントである。PCS(Presentation Control Segment)は、字幕表示におけるページ制御を規定する機能セグメントである。かかるページ制御には、Cut-In/Out、Fade-In/Out、Color Change、Scroll、Wipe-In/Outといったものがあり、PCSによるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。

以上がBUDAディレクトリに記録されるAVストリームの説明である。
続いて、本実施形態にかかるAV再生部24の詳細について説明する。
図25は、AV再生部24の内部構成を示す図である。AV再生部24は、本図に示すように、リードバッファ1a,b、ATCカウンタ2a,b、Source Depacketizer2c,d、STCカウンタ3a,c、PID Filter3b,d、Transport Buffer(TB)4a、Elementary Buffer(EB)4c、ビデオデコーダ4d、Re-order Buffer4e、Decoded Picture Buffer4f、ビデオプレーン4g、Transport Buffer(TB)5a、Elementary Buffer(EB)5c、ビデオデコーダ5d、Re-order Buffer5e、Decoded Picture Buffer5f、ビデオプレーン5g、バッファ6a,b、バッファ7a,b、オーディオデコーダ8a,b、ミキサー9a、スイッチ10a,b,c,d,e、Transport Buffer(TB)11a、Interactive Graphicsデコーダ11b、Interactive Graphicsプレーン11c、Transport Buffer(TB)13a、Presentation Graphicsデコーダ13b、Presentation Graphicsプレーン 13cから構成される。尚本図では、再生装置103の出力段については、示していない。出力段については、別図に内部構成を示して説明することにする。
リードバッファ(RB)1aは、MoDESTxx/BDMVディレクトリから読み出されたSourceパケット列を蓄積する。
リードバッファ(RB)1bは、BUDAディレクトリから読み出されたSourceパケット列を蓄積する。
ATC Counter2aは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2aにATCを出力してゆく。
ATC Counter2bは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2bにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)2cは、MoDESTxx/BDMVディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、ATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2aが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3aに転送する。
ソースデパケッタイザ(Source De-packetizer)2dは、BUDAディレクトリにおけるAVストリームを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、各TSパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2bが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3bに転送する。
STC Counter3aは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。PIDフィルタ3aは、このSTCを参照して、多重分離を行う。 PID Filter3bは、MoDESTxx/BDMVディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ2aから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々オーディオデコーダ8b、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。このようにPID Filter3aを通過して各デコーダに入力されるエレメンタリストリームは、MoDESTxx/BDMVディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。

STC Counter3cは、BUDAディレクトリにおけるAVストリームのPCRによってリセットされ、STCを出力する。
PID Filter3dは、BUDAディレクトリにおけるAVストリーム用の多重分離部であり、ソースデパケッタイザ2bから出力されたSourceパケットのうち、所望のPID参照値をもつものを、夫々ビデオデコーダ4d、ビデオデコーダ5d、オーディオデコーダ8a、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。各デコーダは、PID Filter3bを経由したエレメンタリストリームを受け取って、BUDAディレクトリにおけるAVストリームのPCRに従いデコードから再生の処理を行う。このようにPID Filter3bを通過して各デコーダに入力されるエレメンタリストリームは、BUDAディレクトリにおけるAVストリームのPCRに従って、デコード及び再生に供されることになる。
Transport Buffer(TB)4aは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)4cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)4dは、MoDESTxx/BDMVディレクトリにおけるプライマリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン4gに書き込む。
Re-order Buffer4eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer4fは、デコーダ4dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
プライマリビデオプレーン4gは、プライマリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、ビデオプレーン4gは、1920×1080という解像度にあたる画素データを格納している。
Transport Buffer(TB)5aは、セカンダリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)5cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)5dは、セカンダリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン5gに書き込む。
Re-order Buffer5eは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
Ducoded Picture Buffer5fは、デコーダ5dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
セカンダリビデオプレーン5gは、セカンダリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、セカンダリビデオは、1920×1080という解像度にあたる画素データを格納している。
バッファ6aは、デマルチプレクサ3aから出力されたTSパケットのうち、プライマリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ8aに供する。
バッファ6bは、デマルチプレクサ3bから出力されたTSパケットのうち、セカンダリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ8bに供する。
オーディオデコーダ8aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりプライマリオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ8bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりセカンダリオーディオストリームにおけるデジタル出力がなされる。
ミキサ9aは、オーディオデコーダ8aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ8bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
スイッチ10aは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にセカンダリビデオデコーダ5d側に供給する。
スイッチ10bは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にPresentation Graphicsデコーダ13b側に供給する。
スイッチ10cは、MoDESTxx/BDMVディレクトリから読み出されたTSパケット、BUDAディレクトリから読み出されたTSパケットのどちらかを、選択的にInteractive Graphicsデコーダ11b側に供給する。
スイッチ10dは、デマルチプレクサ3dにより多重分離がなされた、プライマリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたプライマリオーディオストリームを構成するTSパケットのうちどちらをオーディオデコーダ8aに供給するかを切り換えるスイッチである。
スイッチ10eは、デマルチプレクサ3dにより多重分離がなされた、セカンダリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたセカンダリオーディオストリームを構成するTSパケットのどちらを、オーディオデコーダ8bに供給するかを切り換えるスイッチである。
Transport Buffer(TB)11aは、IGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Interactive Graphics(IG)デコーダ11bは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン11cに書き込む。
Interactive Graphics(IG)プレーン11cは、IGデコーダ11bによるデコードで得られた非圧縮グラフィクスを構成する画素データが書き込まれる。
Transport Buffer(TB)13aは、PGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Presentation Graphics(PG)デコーダ13bは、MoDESTxx/BDMVディレクトリ又はBUDAディレクトリから読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン13cに書き込む。PGデコーダ13bによるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン13cは、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
PSRセット17は、再生装置103に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
以上が、AV再生部24の内部構成である。続いて、AV再生部24の出力段の内部構成について説明する。図26は、再生装置103の出力段の構成を示す図である。本図に示すようにAV再生部24の出力段は、1−α3乗算部15a、Scalling・Positioning部15b、α3乗算部15c、加算部15d、1−α1乗算部15e、α1乗算部15f、加算部15g、1−α2乗算部15h、α2乗算部15i、加算部15j、HDMI送受信部16から構成される。
1−α3乗算部15aは、ビデオデコーダ4gに格納されている非圧縮のデジタルピクチャを構成する画素の揮度に、透過率1-α3を乗じる。
Scalling・Positioning部15bは、ビデオプレーン5gに格納されている非圧縮のデジタルピクチャを拡大・縮小する処理(Scalling)を施し、また配置位置を変更する処理(Positioning)を行う。この拡大・縮小は、メタデータにおけるPiP_scaleに基づき、配置位置の変更は、メタデータにおけるPiP_horizontal_position、PiP_vertical_positionに基づく。
α3乗算部15cは、Scalling・Positioning部15bにより、Scalling、Positioningが施された非圧縮のピクチャを構成する画素の揮度に対し、透過率α3を乗じる。
加算部15dは、α3乗算部15cにより画素毎に透過率α3が乗じられた非圧縮デジタルピクチャと、1−α3乗算部15aにより画素毎に透過率1-α3が乗じられた非圧縮デジタルピクチャとを合成して、合成ピクチャを得る。
1−α1乗算部15eは、加算部15dにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α1を乗じる。
α1乗算部15fは、Presentation Graphicsプレーン13cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α1を乗じる。

加算部15gは、1−α1乗算部15eにより画素毎に透過率1-α1が乗じられた非圧縮デジタルピクチャと、α1乗算部15fにより画素毎に透過率α1が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
1−α2乗算部15hは、加算部15gにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α2を乗じる。
α2乗算部15iは、Interactive Graphicsプレーン11cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α2を乗じる。
加算部15jは、1−α2乗算部15hにより画素毎に透過率1-α2が乗じられた非圧縮デジタルピクチャと、α2乗算部15iにより画素毎に透過率α2が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。

HDMI送受信部16は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、加算部15jの合成により得られたデジタル非圧縮のビデオを、ミキサー9aにより合成がなされたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
仮想パッケージを再生する際、以上したエレメンタリストリームのうち、どれを再生するかによって、BUDAディレクトリを設けるべき記録媒体を変えねばならない。
仮想パッケージとして再生されるべきコンテンツが、ピクチャインピクチャコンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつプライマリビデオストリームと、720×480フォーマットのSD画像の解像度をもつセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxxディレクトリが設けられたリムーバブルメディアとは別の記録媒体上に設けることが望ましい。具体的には、MoDESTxx/BDMVディレクトリがリムーバブルメディア100,101に存在するなら、BUDAディレクトリはビルドインメディア104に設けるべきである。リムーバブルメディアがBD-R、BD-REであるなら、BUDAディレクトリは半導体メモリカードに設けてもよい。
同様に、仮想パッケージとして再生されるべきコンテンツが、立体視映像コンテンツであれば、1920×1080フォーマットのHD画像の解像度をもつ左目用のプライマリビデオストリームと、1920×1080フォーマットのHD画像の解像度をもつ右目用のセカンダリビデオストリームとを組合せる必要があるので、MoDESTxx/BDMVディレクトリからの読み出しと、BUDAディレクトリからの読み出しとに、更に高いバンド幅が必要となる。よって、BUDAディレクトリは、MoDESTxx/BDMVディレクトリが存在するリムーバブルメディア100,101とは別の記録媒体、つまり、ビルドインメディア104に設けることが望ましい。
ところが、仮想パッケージとして再生されるべきコンテンツが、MoDESTxx/BDMVディレクトリのAVストリームに、BUDAディレクトリにおけるPresentation Graphicsストリーム、Interactive Graphicsストリーム、セカンダリオーディオストリームを組み合わせるというものであるなら、それ程高いバンド幅は必要とされないので、MoDESTxxディレクトリが存在するリムーバブルメディア上にBUDAディレクトリを設けてもよい。

(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的であり、実施する者の主観によることは留意されたい。

尚、上記の説明は一例に過ぎず、当該技術者にとっては、様々な応用が適用できる。
(プログラミング言語の適用範囲)
上記実施形態では、仮想マシンのプログラミング言語としてJava(登録商標)を利用したが、Java(登録商標)ではなく、UNIX(登録商標) OSなどで使われているB-Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても良い。

(記録装置によるリアルタイムレコーディング)
記録装置102が、家庭用のBDレコーダやBDカムコーダ、デジタルカメラである場合、記録装置102がリアルタイムレコーディングを行うことで、root/BDMVディレクトリ、MoDESTxx/BDMVディレクトリを記録してもよい。この際、AVストリームは、アナログ入力信号を記録装置がセルフエンコードすることにより得られたトランスポートストリームであってもよいし、記録装置がデジタル入力したトランスポートストリームをパーシャル化することで得られるトランスポートストリームであってもよい。
リアルタイムレコーディングにあたって記録装置は、AVストリームの記録と共に、メモリ上でClip情報やプレイリスト情報を生成する処理を行うが、この際、上述した各実施形態に記載したClip情報、プレイリスト情報をメモリ上で生成する。そしてAVストリームの記録を終えた後、生成されたClip情報、プレイリスト情報を記録媒体に書き込む。こうすることで、オーサリングシステムを用いずとも、家庭用の記録装置や、記録装置としての機能を具備したパーソナルコンピュータにて、各実施形態に示したClip情報、プレイリスト情報を作成することができる。そうして作成されたAVストリーム、Clip情報、プレイリスト情報を、ライトワンス型の記録媒体に書き込んでもよい。
(AV再生の対象)
AV再生の対象は、デジタルストリーム、マップ情報、プレイリスト情報から構成されるコンテンツであるなら、BD-ROMに規定されたものに限らない。デジタルストリームは、MPEG2,MPEG4-AVC等の符号化方式で符号化されたビデオストリーム、オーディオストリームを多重化することで、得られた多重化ストリームであり、DVD Video-Recording規格ではVOBと呼ばれる。
マップ情報は、上述したビデオストリームにおけるアクセスユニット(独立復号可能な再生単位をいう)のアドレス情報と、ビデオストリームの再生時間軸における再生時刻との対応を示す情報であり、DVD Video-Recording規格ではTime Mapと呼ばれる。
プレイリスト情報は、開始点たる時刻情報と、終了点たる時刻情報との組みにより、1つ以上の再生区間を定義する情報である。

(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
・FirstPlayBackタイトルを構成するスタートアッププログラムの生産形態
FirstPlayBackタイトルを構成するスタートアッププログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。この際、MoDESTRootChangeAPIコールやSystemPropertyを使用する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
ここで生成されたオブジェクトプログラムは、各実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。プログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップを実現してもよい。

オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み取りを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、FirstPlayBackタイトルを構成するスタートアッププログラムを作ることができる。

(システムLSI化)
再生装置103を構成するハードウェアのうち、機構的な構成要素(BDドライブ、リムーバブルメディアドライブ、ビルドインメディアドライブ)、大容量のメモリによって実装される構成要素(ビデオプレーン、グラフィクスプレーン)を除いた、論理素子を主要部とする部分を、1つのシステムLSIとして構成することが望ましい。何故なら、論理素子を主要部とする部分は、高密度に集積化することができるからである。
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置103の中核としての役割を果たす。
かかるシステムLSIは、再生装置103は勿論のこと、TVやゲーム、パソコン、ワンセグ携帯等、映像再生を扱う様々な機器に組込みが可能であり、本発明の用途を多いに広げることができる。
エレメンタバッファやビデオデコーダ、オーディオデコーダ、グラフィクスデコーダをも、一体のシステムLSIにする場合、システムLSIのアーキテクチャは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Controller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。
・MPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたドライブ装置、ハードリムーバブルメディアドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置103の内部構成図を基に作ることができる。
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
FPGAを用いてシステムLSIを実現した場合は、多数のロジックエレメントが格子状に配置されており、LUT(Look Up Table)に記載されている入出力の組合せに基づき、縦・横の配線をつなぐことにより、各実施形態に示したハードウェア構成を実現することができる。LUTは、SRAMに記憶されており、かかるSRAMの内容は、電源断により消滅するので、かかるFPGAの利用時には、コンフィグ情報の定義により、各実施形態に示したハードウェア構成を実現するLUTを、SRAMに書き込ませる必要がある。
本発明は、コンテンツの個別販売サービスをより魅力的に、既存のDVD/BD技術との整合性良く提供できるため、コンテンツ提供側、プレーヤ開発側にとって採用し易い利点がある。
100,101 リムーバブルメディア
102a,b 記録装置
103 再生装置
104 ビルドインメディア
105 テレビ

Claims (12)

  1. ディレクトリ階層を有する記録媒体であって、
    ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
    サービスドメインディレクトリは、オンデマンドマニュファクチャ又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
    ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
    前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、
    ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
    ことを特徴とする記録媒体。
  2. 前記ルート変更機能は、プログラミングインターフェイスのコールにて実行され、
    プログラミングインターフェイスのコールによって例外処理が発生した場合、装填された再生装置では、本記録媒体の再生が不可能な旨をユーザに通知する
    ことを特徴とする請求項1記載の記録媒体。
  3. 前記ルート変更機能は、プログラミングインターフェイスのコールにて実行され、
    前記スタートアッププログラムは、ルート変更機能に対応しているか否かを示すシステムプロパティを参照することで、本記録媒体を装填した再生装置がルート変更機能に対応しているかどうかを判定し、
    対応していない場合、装填された再生装置では、本記録媒体の再生が不可能な旨をユーザに通知する
    ことを特徴とする請求項1記載の記録媒体。
  4. ムービーディレクトリには、再生制御のための再生制御プログラムが存在し、
    再生制御プログラムは、AVストリームの再生を前記再生装置に命じるものであり、再生ストップの操作がユーザによってなされた場合の手順を規定しており、
    再生ストップの操作がなされた場合の手順とは、
    再生装置がルート変更機能を具備している場合、ムービーディレクトリの選択のためのメニューの再表示を、前記再生装置に実行させるというものである
    請求項1記載の記録媒体。
  5. ムービーディレクトリには、再生制御のための再生制御プログラムが存在し、
    再生制御プログラムは、仮想パッケージの再生を命じるものであり、
    仮想パッケージは、ムービーディレクトリの格納内容に、他の記録媒体におけるディレクトリの格納内容、又は、本記録媒体の他のディレクトリの格納内容を組合せたものであり、
    前記再生制御プログラムは、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとしたファイルパスを用いて仮想パッケージの構築を再生装置に命じる
    請求項1記載のことを特徴とする記録媒体。
  6. 記録装置であって、
    オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際、ルートディレクトリの配下に、デフォルトのディレクトリと、サービスドメインディレクトリとをクリエイトして、サービスドメインディレクトリの配下に、ムービーディレクトリをクリエイトするクリエイト手段と、
    AVストリームを取得する取得手段と、
    デフォルトディレクトリにスタートアッププログラムを書き込み、サービスドメインディレクトリ配下のムービーディレクトリにAVストリームを書き込む書込手段とを備え、
    前記スタートアッププログラムは、記録媒体が再生装置に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生装置に表示させて、ルート変更機能を再生装置に実行させ、
    ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
    ことを特徴とする記録装置。
  7. サービスドメインディレクトリは、ファーストサービスドメインディレクトリであり、ファーストサービスドメインディレクトリは、前記サービスを初めて受けた際、クリエイトされるサービスドメインディレクトリであり、

    書込手段は、ユーザが2回目以降にサービスを受ける際、2回目以降のサービスに対応するサービスドメインディレクトリをクリエイトするが、デフォルトディレクトリを更新しない
    ことを特徴とする請求項6記載の記録装置。
  8. ユーザが2回目以降にサービスを受ける際、デフォルトディレクトリにおけるスタートアッププログラムを更新しない
    ことを特徴とする請求項6記載の記録装置。
  9. ディレクトリ階層を有する記録媒体からAVストリームを読み出して再生する再生装置であって、
    ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
    サービスドメインディレクトリは、オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
    ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
    記録媒体が再生装置に装填された際、デフォルトディレクトリにおけるスタートアッププログラムを実行することで、メニューを表示して、ムービーディレクトリを選択する操作をユーザから受け付ける選択手段と、
    ユーザによって選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識した上で、ムービーディレクトリにおけるAVストリームを再生する再生手段と
    を備えることを特徴とする再生装置。
  10. 前記再生手段は、仮想パッケージの再生を行い、
    仮想パッケージは、ムービーディレクトリの格納内容に、他の記録媒体におけるディレクトリの格納内容、又は、本記録媒体の他のディレクトリにおける格納内容を組合せたものであり、
    ムービーディレクトリには、再生制御プログラムが存在しており、再生制御プログラムは、仮想パッケージの構築を命じる際、ムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとしたファイルパスを用いる
    ことを特徴とする請求項9記載の再生装置。
  11. 記録方法であって、
    オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際、ルートディレクトリの配下に、デフォルトのディレクトリと、サービスドメインディレクトリとをクリエイトして、サービスドメインディレクトリの配下に、ムービーディレクトリをクリエイトするクリエイトステップと、
    AVストリームを取得する取得ステップと、
    デフォルトディレクトリにスタートアッププログラムを書き込み、サービスドメインディレクトリ配下のムービーディレクトリにAVストリームを書き込む書込ステップとを有し、
    前記スタートアッププログラムは、記録媒体が再生方法に装填された際、最初に実行されるべきプログラムであり、ムービーディレクトリを選択する操作をユーザから受け付けるためのメニューを再生方法に表示させて、ルート変更機能を再生方法に実行させ、
    ルート変更機能は、メニューに対する選択操作がユーザによってなされた場合、選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識させる機能である
    ことを特徴とする記録方法。
  12. ディレクトリ階層を有する記録媒体でからAVストリームを読み出して再生する再生方法であって、
    ディレクトリ階層のうち、ルートディレクトリの配下には、スタートアッププログラムが配置されたデフォルトのディレクトリと、サービスドメインディレクトリとが存在し、
    サービスドメインディレクトリは、オンデマンドマニュファクチャサービス又はセルスルーサービスによってAVストリームの供給を受ける際に作成されるディレクトリであり、サービスドメインディレクトリの配下には、ムービーディレクトリが存在しており、
    ムービーディレクトリは、AVストリームが記録されるディレクトリであり、
    記録媒体が再生方法に装填された際、デフォルトディレクトリにおけるスタートアッププログラムを実行することで、メニューを表示して、ムービーディレクトリを選択する操作をユーザから受け付ける選択ステップと、
    ユーザによって選択されたムービーディレクトリが属するサービスドメインディレクトリをルートディレクトリとして認識した上で、ムービーディレクトリにおけるAVストリームを再生する再生ステップと
    を有することを特徴とする再生方法。
JP2009546140A 2007-12-17 2008-12-12 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法 Expired - Fee Related JP5406044B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US1430307P 2007-12-17 2007-12-17
US61/014,303 2007-12-17
PCT/JP2008/003739 WO2009078157A1 (ja) 2007-12-17 2008-12-12 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法

Publications (2)

Publication Number Publication Date
JPWO2009078157A1 true JPWO2009078157A1 (ja) 2011-04-28
JP5406044B2 JP5406044B2 (ja) 2014-02-05

Family

ID=40795279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009546140A Expired - Fee Related JP5406044B2 (ja) 2007-12-17 2008-12-12 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法

Country Status (5)

Country Link
US (1) US8051100B2 (ja)
EP (1) EP2234109B8 (ja)
JP (1) JP5406044B2 (ja)
CN (1) CN101903952B (ja)
WO (1) WO2009078157A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060156051A1 (en) * 2002-12-20 2006-07-13 Koninklijke Philips Electronics N.V. Module for reading a data carrier
KR20100096000A (ko) * 2008-01-17 2010-09-01 파나소닉 주식회사 3d 영상이 기록된 기록매체, 3d 영상을 기록하는 기록장치, 3d 영상을 재생하는 재생장치 및 재생방법
JP2009271589A (ja) * 2008-04-30 2009-11-19 Sony Corp 情報処理装置、その制御方法、制御プログラム及びネームマッピング情報
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
EP2350860B1 (en) * 2008-11-06 2015-04-08 Deluxe Media Inc. Placeholders in index table for updating a portable storage medium
US8799503B2 (en) * 2008-11-07 2014-08-05 Dell Products L.P. System and method for downloading content associated with optical media
US20100169395A1 (en) * 2008-12-26 2010-07-01 Sandisk Il Ltd. Device and method for filtering a file system
US8239395B2 (en) 2008-12-26 2012-08-07 Sandisk Il Ltd. Storage device presenting to hosts only files compatible with a defined host capability
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
US20100246666A1 (en) * 2008-12-30 2010-09-30 Mozaik Multimedia, Inc. Bluflex: flexible, true, live video streaming on blu-ray platforms
JP4915457B2 (ja) 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP5407500B2 (ja) * 2009-04-08 2014-02-05 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP2010244635A (ja) * 2009-04-08 2010-10-28 Sony Corp 情報処理装置、情報処理方法、再生装置、再生方法、プログラム、および記録媒体
JP5418030B2 (ja) * 2009-07-15 2014-02-19 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
US9959131B2 (en) * 2009-08-03 2018-05-01 Quantum Corporation Systems and methods for providing a file system viewing of a storeage environment
US8799221B2 (en) 2010-04-23 2014-08-05 John Canessa Shared archives in interconnected content-addressable storage systems
US8771064B2 (en) 2010-05-26 2014-07-08 Aristocrat Technologies Australia Pty Limited Gaming system and a method of gaming
US8983952B1 (en) * 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
JP5633236B2 (ja) * 2010-08-09 2014-12-03 ソニー株式会社 情報処理装置、および情報処理方法、並びにプログラム
JP2012074105A (ja) * 2010-09-29 2012-04-12 Hitachi Consumer Electronics Co Ltd 記録装置/方法/媒体、再生装置/方法
US8818902B2 (en) * 2010-11-24 2014-08-26 Ncr Corporation Digital storage media dispensing device
JP5889099B2 (ja) * 2012-04-27 2016-03-22 三菱電機ビルテクノサービス株式会社 映像データ作成装置
US9767854B2 (en) * 2013-01-23 2017-09-19 Steven Schoenwald Video content distribution package
CN104427388A (zh) * 2013-09-10 2015-03-18 国家广播电影电视总局广播科学研究院 一种智能电视操作系统
EP3056028B1 (en) * 2013-10-08 2019-07-31 Iotic Labs Limited Method and apparatus for providing a data feed for internet of things
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
JP2016062637A (ja) * 2014-09-12 2016-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生装置、および再生方法
JP6488221B2 (ja) * 2015-03-30 2019-03-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生方法及び再生装置
EP3422348A4 (en) * 2016-02-26 2019-03-13 Sony Corporation INFORMATION PROCESSING APPARATUS, DISPLAY APPARATUS, INFORMATION RECORDING MEDIUM, INFORMATION PROCESSING METHOD, AND PROGRAM
JP6880684B2 (ja) * 2016-12-05 2021-06-02 富士フイルムビジネスイノベーション株式会社 ファイル管理装置及びプログラム
US20190356939A1 (en) * 2018-05-16 2019-11-21 Calvin Kuo Systems and Methods for Displaying Synchronized Additional Content on Qualifying Secondary Devices

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5448440A (en) 1994-06-16 1995-09-05 Minnesota Mining And Manufacturing Company Data storage device with roller lubricant that provides excellent drag force characteristics
JPH09282848A (ja) * 1996-04-05 1997-10-31 Pioneer Electron Corp 情報記録媒体並びにその記録装置及び再生装置
US6567612B2 (en) * 1996-04-05 2003-05-20 Pioneer Electronic Corporation Information record medium, apparatus for recording the same and apparatus for reproducing the same
TW360819B (en) * 1996-10-16 1999-06-11 Canon Kk File management system of image data
JP3382159B2 (ja) * 1998-08-05 2003-03-04 株式会社東芝 情報記録媒体とその再生方法及び記録方法
ID27746A (id) * 1999-05-28 2001-04-26 Matsushita Electric Ind Co Ltd Kartu semikonduktor, peralatan playback, peralatan perekaman, metoda playback, metoda perekaman, dan media perekaman dapat dibaca kombuter
JP2001110169A (ja) * 1999-10-12 2001-04-20 Sharp Corp データ管理方法
US6389467B1 (en) * 2000-01-24 2002-05-14 Friskit, Inc. Streaming media search and continuous playback system of media resources located by multiple network addresses
JP2001243106A (ja) * 2000-02-28 2001-09-07 Ricoh Co Ltd 記録媒体及びそのアクセス制御方法
JP4012664B2 (ja) * 2000-04-11 2007-11-21 株式会社リコー 記録媒体及びそのアクセス制御方法
JP2002042449A (ja) * 2000-07-19 2002-02-08 Alpine Electronics Inc Dvdオーディオ再生装置
US6928433B2 (en) * 2001-01-05 2005-08-09 Creative Technology Ltd Automatic hierarchical categorization of music by metadata
EP2239942A3 (en) * 2002-09-25 2010-11-10 Panasonic Corporation Reproduction device, optical disc, recording medium, program, and reproduction method
US7043477B2 (en) * 2002-10-16 2006-05-09 Microsoft Corporation Navigating media content via groups within a playlist
JP4304157B2 (ja) * 2002-11-20 2009-07-29 パナソニック株式会社 統合映像データファイル統合装置とその方法
US7620301B2 (en) * 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
TW200518070A (en) * 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
KR101121382B1 (ko) * 2003-11-10 2012-03-13 파나소닉 주식회사 기록매체, 재생장치, 재생방법
JP2005182122A (ja) * 2003-12-16 2005-07-07 Alpine Electronics Inc リムーバブル記録媒体及びそのファイル制御方法
KR20050080869A (ko) * 2004-02-11 2005-08-18 엘지전자 주식회사 고밀도 광디스크의 파일 구성방법 및 재생방법
JP2005244722A (ja) * 2004-02-27 2005-09-08 Canon Inc 記録再生装置
KR101014725B1 (ko) * 2004-05-04 2011-02-16 엘지전자 주식회사 1회 기록가능한 고밀도 광디스크의 기록방법과 기록장치
WO2005109434A1 (ja) * 2004-05-11 2005-11-17 Matsushita Electric Industrial Co., Ltd. 再生装置、プログラム、再生方法
JP2005332521A (ja) * 2004-05-21 2005-12-02 Toshiba Corp 情報記録媒体及び情報再生装置
JP4595409B2 (ja) * 2004-07-08 2010-12-08 ソニー株式会社 情報記録装置および方法、記録媒体、プログラム記録媒体、並びにプログラム
JP4886673B2 (ja) * 2004-07-22 2012-02-29 パナソニック株式会社 再生装置、再生方法
JP2006120227A (ja) * 2004-10-20 2006-05-11 Toshiba Corp ライトワンスメディアへの記録方法、記録装置および再生装置
US20060159366A1 (en) * 2004-11-16 2006-07-20 Broadramp Cds, Inc. System for rapid delivery of digital content via the internet
KR20060094838A (ko) * 2005-02-25 2006-08-30 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
JP2007036663A (ja) * 2005-07-27 2007-02-08 Matsushita Electric Ind Co Ltd 互換性を考慮した情報記録媒体およびその記録装置、記録方法、記録プログラム
US8447781B2 (en) * 2005-07-29 2013-05-21 International Business Machines Corporation Content-based file system security
JP4613739B2 (ja) * 2005-08-01 2011-01-19 ソニー株式会社 情報処理装置、情報処理方法、および情報記録媒体、並びにコンピュータ・プログラム
JP2007108905A (ja) * 2005-10-12 2007-04-26 Fuji Xerox Co Ltd ファイルサーバ、ファイル提供方法及びプログラム
JP2007257047A (ja) * 2006-03-20 2007-10-04 Sony Corp 情報処理装置および情報処理方法、プログラム格納媒体、プログラム、データ構造、並びに、記録媒体の製造方法
JP4492588B2 (ja) * 2006-06-13 2010-06-30 株式会社日立製作所 データ表示方法、再生装置、記録装置
JP2008204300A (ja) * 2007-02-21 2008-09-04 Canon Inc 撮像装置

Also Published As

Publication number Publication date
EP2234109A4 (en) 2014-05-21
JP5406044B2 (ja) 2014-02-05
CN101903952A (zh) 2010-12-01
EP2234109A1 (en) 2010-09-29
US20090228520A1 (en) 2009-09-10
US8051100B2 (en) 2011-11-01
EP2234109B1 (en) 2016-03-02
CN101903952B (zh) 2012-08-22
EP2234109B8 (en) 2016-06-01
WO2009078157A1 (ja) 2009-06-25

Similar Documents

Publication Publication Date Title
JP5406044B2 (ja) 個別販売に用いられる記録媒体、記録装置、再生装置、それらの方法
RU2516463C2 (ru) Устройство воспроизведения, записывающее устройство, способ воспроизведения и способ записи
JP3749910B2 (ja) 再生装置、プログラム、再生方法
JP4898890B2 (ja) 再生装置、記録方法
JP5032510B2 (ja) 再生装置、記録方法、プログラム
JP5291026B2 (ja) 3d映像を再生する再生装置、および配信装置
KR20110126514A (ko) 기록매체, 재생장치, 집적회로
US7996448B2 (en) Recording medium, and method and apparatus for reproducing data from the recording medium
KR20120036790A (ko) 재생장치, 집적회로, 기록매체
WO2010106745A1 (ja) アプリケーション実行装置
KR20110036882A (ko) 기록매체, 재생장치, 집적회로, 재생방법, 프로그램
WO2010007757A1 (ja) 再生装置、再生方法、プログラム
JP5451745B2 (ja) 再生装置、集積回路、再生方法、アプリケーションプログラム、記録媒体、記録装置、及び記録方法
KR20060063597A (ko) 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130924

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131008

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131031

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees