(57)【要約】      （修正有）【課題】再生装置がデコードすることができる素材の種別にバラツキがあったとしても、ピクチャインピクチャを確実に、再生装置に実行させることができる記録媒体を提供する。【解決手段】ローカルストレージには、複数のビデオストリーム、STN＿tableが記録されている。前記複数のビデオストリームのそれぞれは、プライマリビデオストリームと共に再生されるセカンダリビデオストリームであり、親画像及び子画像からなる合成画像のうち、子画像として表示されるべきピクチャデータを含み、前記STN＿tableには複数のセカンダリビデオストリームのうち、再生が許可されているもののエントリーと、オーディオストリームのエントリー、組合せ情報とが記述されている。【選択図】図２０
2010068531.tif 000002
【特許請求の範囲】
【請求項１】
複数のビデオストリーム、テーブルが記録された記録媒体であって、
前記複数のビデオストリームのそれぞれは、プライマリビデオストリームと共に再生されるセカンダリビデオストリームであり、ピクチャインピクチャを構成する親画像及び子画像のうち、子画像として表示されるべきピクチャデータを含み、
前記テーブルには、
複数のセカンダリビデオストリームのうち、再生が許可されているもののエントリーと、オーディオストリームのエントリー、組合せ情報とが記述されており、
前記組合せ情報は、
オーディオストリームのうち、セカンダリビデオストリームとの再生の組合せが許可されている複数のもののエントリーを、セカンダリビデオストリームのパケット識別子の参照値と対応付けて示す
ことを特徴とする記録媒体。
【請求項２】
再生装置であって、
記録媒体からプライマリビデオストリーム、セカンダリビデオストリームを読み出す読出手段と、
記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択する選択手段と、
プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する制御部と
第１オーディオデコーダと、第２オーディオデコーダと、ミキシング部とを備え、
前記記録媒体には、テーブルが記録されており、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、
前記所定手順の実行によるセカンダリビデオストリームの選択は、このテーブルに基づき、
前記記録媒体にはプライマリオーディオストリームが記録されており、
前記記録媒体におけるセカンダリビデオストリーム毎のエントリーには、組合せ情報が対応づけて付けられており、
組合せ情報は、
オーディオストリームのうち、セカンダリビデオストリームとの再生の組合せが許可されている複数のもののエントリーを、セカンダリビデオストリームのパケット識別子の参照値と対応付けて示し、
前記選択手段は更に、
プライマリオーディオストリームのうち1つを選択すると共に、セカンダリオーディオストリームのうち1つを選択して、それらプライマリオーディオストリーム及びセカンダリオーディオストリームのデコードを、第１、第２オーディオデコーダに実行させ、デコードの結果得られる非圧縮のデジタルオーディオのミキシングを、ミキシング部に実行させ、
前記ピクチャインピクチャ時において選択手段が選択するセカンダリオーディオストリームは、テーブルにエントリーが記述されているセカンダリオーディオストリームのうち、現在選択されているセカンダリビデオストリームとの組合せが、組合せ情報において許可されているオーディオストリームである
ことを特徴とする再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピクチャインピクチャの技術分野に属する発明である。
【背景技術】
【０００２】
ピクチャインピクチャとは、親映像と、子映像とを重ね合せた合成映像の表示を表示すると共に、親映像において子映像を合成すべき位置を変化させたり、合成画像の表示・非表示の切り替えを実現する技術である。
尚、DVDプレーヤの標準モデルの構成は、以下の特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２８１３２４５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
かかるピクチャインピクチャを、DVD-Video規格のアプリケーションフォーマットで実現しようとすると、ビデオストリームが2本以上必要になる。何故なら、DVD-Videoプレーヤーの標準モデルは、同時に複数のビデオストリームをデコードして、時間・位置を指定した上で、2本以上のビデオを重ねて表示する機能を想定したものではない。仮に、合成映像と、そうでない映像との切り替えや合成位置の変化を実現しようとすると、合成がなされたストリーム、合成がされていないストリーム、合成位置が違うストリームを個別に、DVD-Videoに記録した上で、これらの択一再生を、DVD-Videoプレーヤに命じる必要がある。
【０００５】
一方BD-ROMでも映像がSDTV対応からHDTV対応になり、データ量が増えたため、合成がなされたストリーム、合成がされていないストリーム、合成位置が違うストリームを個別に、BD-ROMに記録しようとすれば、合計のデータサイズが大きくなってしまい、ピクチャインピクチャ実現のためのビデオストリームがBD-ROMに収まりきらない。そのためBD-ROM規格では、同時に複数のビデオストリームをデコードして、その結果得られた、2本の非圧縮ビデオを重ねあわせるという機能を、BD-ROMプレーヤの標準モデルにもたせている。
【０００６】
係る機能が標準モデルに存在するので、BD-ROMには、プライマリビデオを構成するプライマリビデオストリーム、及び、セカンダリビデオを構成するセカンダリビデオストリームを個別に記録しておけばよい。この場合、プライマリビデオにあたる部分を重複して、BD-ROMに記録することがないので、かかる記録形式は、データサイズの観点で有利である。また、あらかじめ映像を埋め込んでいるわけではないので、セカンダリビデオの合成位置や時間をプログラムやユーザーの操作によって、切り替えることができ、汎用性が向上するといった効果がある。
【０００７】
しかしながら、BD-ROMのプライマリビデオは、HDTV対応で作成されることが多いのに対し、セカンダリビデオは、５０フレーム／秒のインターレス方式(50i)、６０フレーム／秒のインターレス方式(60i)で作成されることがある。何故なら、セカンダリビデオストリームは、子画像として画面中にはめ込まれて表示されるので、プライマリビデオの半分以下の解像度で済むという理由による。しかし、50i、60iを再生できるかどうかは、再生装置によってバラツキがある。何故なら、50iはPAL方式、60iはNTSC方式であり、これらを再生する能力は、その放送圏の再生装置には存在するが、それ以外の放送圏の再生装置には、存在しないのが常だからである。従って、例えばセカンダリビデオがPAL方式で作成された場合、このセカンダリビデオを記録した記録媒体が、NTSC方式圏の再生装置に装填されれば、当該再生装置は、ピクチャインピクチャを行うことはできない。
【０００８】
また、セカンダリビデオをHDTV対応で作成した場合も、再生装置によっては、セカンダリビデオをデコードし得なくなることがある。何故なら、BD-ROM再生装置の標準モデルは、プライマリビデオ用のビデオデコーダ、セカンダリビデオ用のビデオデコーダをそれぞれ具備することが予定されているが、セカンダリビデオ用のデコーダにまで、HDTV映像のデコード機能を要求することは、再生装置のハードウェア構成を、簡略化する余地を奪うことになり、製品の低価格化の妨げになるからである
以上のように、映像素材の種別や再生装置の能力によって、ピクチャインピクチャを行うことができたり、できなかったりするのは、映画作品を制作する制作者や再生装置を製造するメーカにとって、新たな不安要因になりかねない。
【０００９】
本発明の目的は、再生装置がデコードすることができる素材の種別にバラツキがあったとしても、ピクチャインピクチャを確実に、再生装置に実行させることができる記録媒体を提供することである。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明にかかる記録媒体は、複数のビデオストリーム、テーブルが記録された記録媒体であって、前記複数のビデオストリームのそれぞれは、プライマリビデオストリームと共に再生されるセカンダリビデオストリームであり、ピクチャインピクチャを構成する親画像及び子画像のうち、子画像として表示されるべきピクチャデータを含み、前記テーブルには、複数のセカンダリビデオストリームのうち、再生が許可されているもののエントリーが、記述されていることを特徴としている。
【発明の効果】
【００１１】
プライマリビデオストリームの中に、再生不能なものが存在したとしても、次のストリームを選ぶという手順を実行することで、「自身が再生できるものをピクチャインピクチャに用いる」という選択の余地がうまれる。従って、再生装置におけるセカンダリビデオの再生能力の有無にバラツキががあったとしても、何等かのセカンダリビデオを再生装置に表示させ、ピクチャインピクチャを実行させることができる。
【００１２】
再生装置の違いにより、ピクチャインピクチャが実行されたり、されなかったりするという品質のバラツキを解消することができるので、再生装置のメーカは、ピクチャインピクチャを実現するような再生装置を安心して世に送り出すことができる。 
【図面の簡単な説明】
【００１３】
【図１】本発明に係る記録媒体の、使用行為についての形態を示す図である。
【図２】BD-ROMの内部構成を示す図である。
【図３】拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。
【図４】AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。
【図５】BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。
【図６】AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。
【図７】BD-ROMに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。
【図８】ピクチャインピクチャの一例を示す図である。
【図９】Clip情報の内部構成を示す図である。
【図１０】映画のビデオストリームに対するEP＿map設定を示す図である。
【図１１】PlayList情報のデータ構造を示す図である。
【図１２】AVClipと、PlayList情報との関係を示す図である。
【図１３】ローカルストレージ２００の内部構成を示す図である。
【図１４】SubClipに多重化されるエレメンタリストリームを示す図である。
【図１５】BD-ROM規格におけるPID割当マップを示す図である。
【図１６】PlayList情報のデータ構造を示す図である。
【図１７】Subpath情報の内部構成をクローズアップして示す図である。
【図１８】ローカルストレージ２００上のSubClipと、ローカルストレージ２００上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。
【図１９】STN＿tableの内部構成を示す図である。
【図２０】図１９に示したSTN＿tableの全体構成のうち、セカンダリビデオストリームについてのstream＿entryを示す図である。
【図２１】（ａ）プライマリビデオストリームに対応したStream＿entry、Stream＿attributeを示す図である。  （ｂ）セカンダリビデオストリームに対応したStream＿entry、Stream＿attributeを示す図である。
【図２２】本発明に係る再生装置の内部構成を示す図である。
【図２３】再生装置の出力段の構成を示す図である
【図２４】コントローラ２２を機能的に表現した図である。
【図２５】（ａ）PSR14のビットアサインを示す図である。  （ｂ）PSR29のビットアサインを示す図である。
【図２６】PSR14におけるセカンダリビデオストリーム番号が取り得る状態遷移を示す図である。
【図２７】セカンダリビデオストリームにおけるProcedure when playback condition is changedの処理手順を示すフローチャートである。
【図２８】カレントPlayItemについて最適なストリームを選択する処理手順を示すフローチャートである。
【図２９】セカンダリビデオストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
【図３０】PiP＿metadataの内部構成を示す図である。
【図３１】PiP＿horizontal＿position、PiP＿vertical＿positionが、ビデオプレーンにおいて、どのような座標をとりうるかを示す。
【図３２】PiP＿time＿line＿type“=1”である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。
【図３３】PiP＿time＿line＿type“=2”である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。
【図３４】PiP＿time＿line＿type＝３である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。
【図３５】ピクチャインピクチャに基づく再生制御の手順を示すフローチャートである。
【図３６】ピクチャインピクチャに基づく再生制御の手順を示すフローチャートである。
【図３７】1つのPlayItemからなるMainPathと、2つのSubPlayItemからなるSubpathとの関係を示す図である。
【図３８】PlayList情報に基づく再生手順のフローチャートである。
【図３９】SubPlayItemにおけるシームレス接続の処理手順を示すフローチャートである。
【図４０】SubPlayItemにおけるシームレス接続の処理手順を示すフローチャートである。
【図４１】Primary＿audio＿stream＿entry、Secondary＿audio＿stream＿entryの内部構成と、Comb＿info＿Secondary＿video＿Secondary＿audioの内部構成とを示す図である。
【図４２】（ａ）PSR1のビットアサインを示す図である。  （ｂ）PSR14のビットアサインを示す図である。
【図４３】PSR14におけるセカンダリオーディオストリーム番号が取り得る状態遷移を示す図である。
【図４４】セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順を示すフローチャートである。
【図４５】カレントPlayItemについて最適なセカンダリオーディオストリームを選択する手順を示すフローチャートである。
【図４６】セカンダリオーディオストリームについての処理手順を示すフローチャートである。
【図４７】STN＿tableのうち、PGtestSTストリームに特に関連あるものを抜き出して描いた図である。
【図４８】（ａ）カレントPGtestSTストリームのストリーム番号が取りうる数値範囲を示す図である。  （ｂ）PSR2のビットアサインを示す図である。
【図４９】ピクチャインピクチャ用PGtestSTストリームのストリーム番号である、PiP＿PG＿TextSTストリーム番号がなす状態遷移を示す図である。
【図５０】PGtestSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
【図５１】カレントPlayItemについて最適なPGTextSTストリームを選択する処理手順を示すフローチャートである。
【図５２】PGTextSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
【図５３】第６実施形態に係るオーサリングシステムの内部構成を示す図である。
【図５４】フォーマッティング工程における処理の流れを示すフローチャートである。
【図５５】プライマリビデオストリーム及びセカンダリビデオストリームがどのように多重化されるかを示す図である。
【図５６】多重化されたSourceパケット列が、プライマリビデオストリーム、セカンダリビデオストリームにおいて、どのGOPに帰属するかという帰属関係を示す図である。
【図５７】プライマリビデオに対してのみ設定された、EP＿mapを示す図である。
【図５８】プライマリビデオとセカンダリビデオのそれぞれに対して設けられたEP＿mapを示す図である。
【図５９】PlayList情報に存在するPlayListMark情報を示す。
【図６０】セカンダリビデオストリームが存在する位置を、チャプターとして指定したPlayListMark情報を示す図である。
【図６１】（ａ）プライマリビデオ、セカンダリビデオを構成するビデオフィールドを示す図である。  （ｂ）合成すべきビデオフィールドが、同位相になる組合せを示す。  （ｃ）合成すべきビデオフィールドが、逆位相になる組合せを示す。
【図６２】（ａ）プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの偶数ラインとが一致しているピクチャインピクチャ画像を示す。  （ｂ）プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの奇数ラインとが一致しているピクチャインピクチャ画像を示す。
【図６３】プライマリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFxと、セカンダリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFyとを合成して出力する場合、このビデオフィールドFyの配置位置及び表示時点をどのように調整するかを示す。
【図６４】セカンダリビデオのフィールドFyを、同位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。
【図６５】セカンダリビデオのフィールドFyを、逆位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。
【図６６】セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの偶数ラインに表示するケースを示す図である。
【図６７】セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの奇数ラインに表示するケースを示す図である。
【発明を実施するための形態】
【００１４】
(第１実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図１は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図１において、本発明に係る記録媒体は、ローカルストレージ２００である。ローカルストレージ２００は、再生装置３００、テレビ４００、AVアンプ５００、スピーカ６００から構成されるホームシアターシステムに、映画作品を供給するという用途で使用される。
【００１５】
以降、BD-ROM１００、ローカルストレージ２００、再生装置３００について説明を行う。
BD-ROM１００は、映画作品が記録された記録媒体である。
ローカルストレージ２００は、再生装置に組み込まれ、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクである。
【００１６】
再生装置３００は、ネット対応型のデジタル家電機器であり、BD-ROM１００を再生する機能をもつ。また、映画配給者のサーバ装置から、ネットワークを通じてダウンロードしたコンテンツを、ローカルストレージ２００に格納し、こうしてローカルストレージ２００に記録されたコンテンツと、BD-ROM１００に記録されたコンテンツと組み合わせて、BD-ROM１００のコンテンツを拡張/更新を行うことができる。BD-ROM１００の記録内容に、ローカルストレージ２００の記録内容を組み合わせて、BD-ROM１００に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
【００１７】
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の生産行為について説明する。本発明に係る記録媒体は、ファイルシステム上における改良で実現することができる。
＜BD-ROMの概要＞
図２は、BD-ROMの内部構成を示す図である。本図の第４段目にBD-ROMを示し、第３段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第１段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
【００１８】
このBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリと呼ばれる3つのサブディレクトリが存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001.mpls)がある。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi,00002.clpi)がある。
【００１９】
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts,00002.m2ts)がある。
以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
＜BD-ROMの構成その１.AVClip＞
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図３は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts,00002.m2ts)は、AVClipを格納している。AVClipはMPEG2-Transport Stream形式のデジタルストリームである。このデジタルストリームは、デジタル化された映像、デジタル化された音声を(上１段目)、PESパケットからなるエレメンタリストリームに変換し(上２段目)、更にTSパケットに変換して(上３段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(Presentatiion Graphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下１段目、下２段目)、TSパケットに変換して(下３段目)、これらを多重化することで構成される。
【００２０】
続いて、以上のように構成されたAVClipが、BD-ROMにどのように書き込まれるかを説明する。図４は、AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。本図の第１段目にAVClipを構成するTSパケットを示す。
AVClipを構成する188バイトのTSパケットは、第２段目に示すように4バイトのTS＿extra＿header(図中のハッチング部)、が付されて、192バイト長のSourceパケットになる。このTS＿extra＿headerは、当該TSパケットのデコーダ入力時刻情報を示すArrival＿Time＿Stampを含む。
【００２１】
AVClipを構成するSourceパケットは、第3段目におけるAVClipにおいて、1つ以上の“ATC＿Seuqence”を構成する。“ATC＿Seuqence”とは、Sourceパケットの配列であって、そのArrival＿Time＿Stampが参照しているArrival＿Time＿Clockに、不連続点(no arrival time-base discontinutiy)が存在しないものをいう。いいかえれば、そのArrival＿Time＿Stampが参照しているArrival＿Time＿Clockに、連続性が存在するSourceパケット列を“ATC＿Seuqence”という。
【００２２】
かかるATC＿SeuqenceがAVClipになり、xxxxx.m2tsというファイル名でBD-ROMに記録される。
かかるAVClipは、通常のコンピュータファイル同様、1つ以上のファイルエクステントに分割され、BD-ROM上の領域に記録される。第4段目はAVClipがどのようにBD-ROMに記録されるかを模式的に示す。この第4段目においてファイルを構成する各ファイルエクステントは、予め定められたＳextent以上のデータ長を有する。
【００２３】
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓextentを検討する。
ここでBD-ROMにおいて光ピックアップのジャンプに要する時間は、
Ｔjump＝Ｔaccess+Ｔoverhead
で与えられる。
【００２４】
Ｔaccessは、ジャンプ距離（ジャンプする物理アドレスの距離）に応じて与えられる時間である。
BD-ROMから読み出されたTSパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Rudというビットレートで行われ、ECCブロックにおけるセクタ数をSeccとした場合、
Ｔoverheadは、
Ｔoverhead≦(2×Secc×8)／Rud＝20m秒
という計算で与えられる。
【００２５】
BD-ROMから読み出されたTSパケットは、Sourceパケットの状態でリードバッファに格納された上、TS＿Recording＿rateという転送レートで、デコーダに供給される。
TS＿Recording＿rateという転送レートでの、デコーダへのTSパケット供給が跡絶えさせないためには、Ｔjumpの間、リードバッファからデコーダへのTSパケット出力が継続している必要がある。ここでリードバッファからの出力は、TSパケットではなく、Sourceパケットの状態でなされるので、TSパケットのSourceパケットとのサイズ比を192/188とした場合、Ｔjumpの間、(192/188×TS＿Recording＿rate)という転送レートにより、リードバッファからのSourceパケット出力が継続している必要がある。
【００２６】
従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Ｂoccupied≧(Tjump/1000×8)×((192/188)×TS＿Recording＿rate)
となる。
リードバッファへの入力レートはRud、リードバッファからの出力レートはTS＿Recording＿rate×(192/188)であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、(Rud−TS＿Recording＿rate×(192/188))になる。
【００２７】
このＢoccupiedを、リードバッファに蓄積するのに要する時間Txは、
Tx＝Ｂoccupied/(Rud−TS＿Recording＿rate×(192/188))
になる。
BD-ROMからの読み出しには、この時間TxにおいてRudでのTSパケット入力を継続する必要があるので、AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Ｓextentは、
Ｓextent＝Rud×Tx
＝Rud×Ｂoccupied/(Rud−TS＿Recording＿rate×(192/188))
≧Rud×(Tjump/1000×8)×((192/188)×TS＿Recording＿rate)
/(Rud−TS＿Recording＿rate×(192/188))
≧(Rud×Tjump/1000×8)×
×TS＿Recording＿rate×192/(Rud×188−TS＿Recording＿rate×192)
になる。
【００２８】
よって
Ｓextent≧
(Tjump×Rud/1000×8)×
（TS＿Recording＿rate×192/(Rud×188−TS＿Recording＿rate×192))
になる。
【００２９】
AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたＳextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD-ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
【００３０】
図５は、BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。第２段目に示すように、BD-ROM上には複数セクタが形成されている。ファイルエクステントを構成するSourceパケットは、第1段目に示すように、32個毎にグループ化されて、連続する3つのセクタに書き込まれる。32個のSourceパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のSourceパケットを“Aligned Unit”といい、BD-ROMへの書き込みは、Aligned Unit単位でなされる。
【００３１】
第３段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。再生装置はAligned Unitの単位でBD-ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD-ROMに対するAVClipの書き込みのプロセスである。
MainClipに多重化されるエレメンタリストリームについて、更に詳しく説明する。
【００３２】
図６は、MainClipに多重化されるエレメンタリストリームを示す図である。MainClipのSTC-Sequenceに多重化されるエレメンタリストリームは、0x1011のPIDをもつPrimaryビデオストリーム、0x1100から0x111FまでのPIDをもつプライマリオーディオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のSecondaryビデオストリームである。
【００３３】
以降、これらのビデオストリーム、オーディオストリーム、PGストリーム、IGストリームについて説明する。
＜プライマリビデオストリーム＞
プライマリビデオストリームは、映画作品の本編を構成するストリームであり、SD画像、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”をもつ。セカンダリビデオストリームのフォーマットには、525/60ビデオフォーマット、625/50ビデオフォーマット、1920×1080フォーマット、1280×720フォーマットがある。
【００３５】
図８は、ピクチャインピクチャの一例を示す図である。本図において、所定の時点tpが到達するまでは、Primary Videoのみが再生されている。そして時点tpに到達してからは、Primary Videoに、Secondary Videoがはめ込まれた映像が再生されていることがわかる。このようにセカンダリビデオストリームは、プライマリビデオの各ピクチャにはめ込まれるような、複数のピクチャを構成していることがわかる。図６に示したセカンダリビデオストリームのように、プライマリビデオストリームが多重化されたAVClipと同じAVClipに多重化されるセカンダリビデオストリームを、“In＿MUX＿セカンダリビデオストリーム”という。セカンダリビデオストリームに限らず、プライマリビデオストリームと同じAVClipに多重化されるエレメンタリストリーム全般を、“In＿MUXストリーム”という。
【００３６】
＜プライマリオーディオストリーム＞
プライマリオーディオストリームは、映画作品の主音声を表すストリームであり、LPCMオーディオストリーム、DTS-HDオーディオストリーム、DD/DD+オーディオストリームやDD/MLPオーディオストリームといった形式が存在する。オーディオストリームにおけるオーディオフレームに、タイムスタンプが付され、このオーディオフレームの単位で、再生制御がなされる。このように、タイムスタンプが付されて、再生制御の単位となる、オーディオストリームの一単位を“Audio Presentation Unit”という。尚、BD-ROMには記録されていないが、映画作品の副音声を表すようなオーディオストリームを、セカンダリオーディオストリームという。
【００３７】
＜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によるページ制御を伴うことにより、ある字幕を徐々に消去しつつ、次の字幕を表示させるという表示効果が実現可能になる。
【００３９】
プライマリビデオストリームと同じAVClipに多重化されていないが、字幕を現すストリームには、Presentation Graphicsストリームの他に、テキスト字幕(textST)ストリームというものがある。textSTストリームは、字幕の内容をキャラクタコードで現したストリームである。このPresentation Graphicsストリームと、textSTストリームとの組みは、BD-ROM規格において、“PGTextSTストリーム”と呼ばれる。
【００４０】
＜IGストリーム＞
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は、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。
【００４１】
図７は、BD-ROMに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program＿mapに割り当てられ、0x1001のゾーンはPCRに、0x1011のゾーンはPrimaryビデオストリームに、0x1100から0x111Fまでのゾーンはプライマリオーディオストリームに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1B00から0x1B1FまでのゾーンはIN＿MUX＿Secondaryビデオストリームに割り当てられている。
【００４２】
このPID割当マップからもわかるように、Primaryビデオストリームに割り当てられているゾーンと、Secondaryビデオストリームに割り当てられているゾーンとが異なっていることがわかる。
ピクチャインピクチャを構成すべきセカンダリビデオストリームのPESパケットは、その上位バイトが、プライマリビデオストリームのPESパケットのPIDの上位バイトと異なるので、プライマリビデオストリーム、セカンダリビデオストリームが1つのAVClipに多重化されたとしても、PIDの上位バイトを参照することで、これらを構成するPESパケットを、別々のデコーダに供給することができる。
【００４３】
＜BD-ROMの構成その２.Clip情報＞
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi,00002.clpi)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図９は、Clip情報の内部構成を示す図である。本図の左側に示すようにClip情報は、
i)AVClipについての情報を格納した『ClipInfo()』、
ii)ATC Sequence,STC Sequenceに関する情報を格納した『Sequence Info()』
iii)Program Sequenceに関する情報を格納した『Program Info()』
iv)『Characteristic Point Info(CPI())』からなる。
【００４４】
ClipInfoには、このClip情報が参照するAVClipのアプリケーションタイプ（application＿type）がある。かかるClipInfoを参照することで、アプリケーションタイプによってMainClipかSubClipかや、動画を含んでいるのか静止画(スライドショー)を含んでいるのかなどが識別できる。またClipInfoには、上述したTS＿recording＿rateが記述されている。
【００４５】
Sequence Infoは、AVClipに含まれる、1つ以上のSTC-Sequence、ATC-Sequenceについての情報である。これらの情報を設けておくことの意義は、STC、ATCの不連続点を、予め再生装置に通知するためである。つまりかかる不連続点が存在すると、AVClip内において同じ値のPTS,ATSが出現する可能性があり、再生時に不都合が生じる。STC,ATCが連続しているのは、トランスポートストリームのうち、どこからどこまでであるかを示すため、Sequence Infoは設けられている。
【００４６】
Program Infoとは、Program内容が一定である区間(Program Sequence)を示す情報である。Programとは、同期再生のための時間軸を共有し合うエレメンタリーストリーム同士の集まりである。Program Sequence情報を設けておくことの意義は、Program内容の変化点を、予め再生装置に通知するためである。ここでのProgram内容の変化点とは、ビデオストリームのPIDが変化したり、ビデオストリームの種類がSD画像からHD画像に変化している点等をいう。
【００４７】
続いてCharacteristic Point Infoについて説明する。図中の引き出し線cu2は、CPIの構成をクローズアップしている。引き出し線cu2に示すように、CPIは、Ne個のEP＿map＿for＿one＿stream＿PID(EP＿map＿for＿one＿stream＿PID[0]〜EP＿map＿for＿one＿stream＿PID[Ne-1])からなる。これらEP＿map＿for＿one＿stream＿PIDは、AVClipに属する個々のエレメンタリストリームについてのEP＿mapである。EP＿mapは、1つのエレメンタリストリーム上において、Access Unitが存在するエントリー位置のパケット番号(SPN＿EP＿start)を、エントリー時刻(PTS＿EP＿start)と対応づけて示す情報である。図中の引き出し線cu3は、EP＿map＿for＿one＿stream＿PIDの内部構成をクローズアップしている。
【００４８】
これによると、EP＿map＿for＿one＿stream＿PIDは、Nc個のEP＿High(EP＿High(0)〜EP＿High(Nc-1))と、Nf個のEP＿Low(EP＿Low(0)〜EP＿Low(Nf-1))とからなることがわかる。ここでEP＿Highは、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPN＿EP＿start及びPTS＿EP＿startの上位ビットを表す役割をもち、EP＿Lowは、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPN＿EP＿start及びPTS＿EP＿startの下位ビットを示す役割をもつ。
【００４９】
図中の引き出し線cu4は、EP＿Highの内部構成をクローズアップしている。この引き出し線に示すように、EP＿High(i)は、EP＿Lowに対する参照値である『ref＿to＿EP＿Low＿id[i]』と、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの上位ビットを示す『PTS＿EP＿High[i]』と、Access Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの上位ビットを示す『SPN＿EP＿High[i]』とからなる。ここでiとは、任意のEP＿Highを識別するための識別子である。
【００５０】
図中の引き出し線cu5は、EP＿Lowの構成をクローズアップしている。引き出し線cu5に示すように、EP＿Lowは、対応するAccess UnitがIDRピクチャか否かを示す『is＿angle＿change＿point(EP＿Low＿id)』と、対応するAccess Unitのサイズを示す『I＿end＿position＿offset(EP＿Low＿id)』と、対応するAccess Unit(Non-IDR Iピクチャ、IDRピクチャ)のPTSの下位ビットを示す『PTS＿EP＿Low(EP＿Low＿id)』と、対応するAccess Unit(Non-IDR Iピクチャ、IDRピクチャ)のSPNの下位ビットを示す『SPN＿EP＿Low(EP＿Low＿id)』とからなる。ここでEP＿Low＿idとは、任意のEP＿Lowを識別するための識別子である。
【００５１】
＜Clip情報の説明その２.EP＿map＞
以下、具体例を通じて、EP＿mapについて説明する。図１０は、映画のビデオストリームに対するEP＿map設定を示す図である。第1段目は、表示順序に配置された複数のピクチャ(MPEG4-AVCに規定されたIDRピクチャ、Iピクチャ、Bピクチャ、Pピクチャ)を示し、第2段目は、そのピクチャにおける時間軸を示す。第4段目は、BD-ROM上のTSパケット列を示し、第3段目は、EP＿mapの設定を示す。
【００５２】
第2段目の時間軸において、時点t1〜t7に、Access UnitとなるIDRピクチャ及びIピクチャが存在するものとする。そしてこれらのt1〜t7の時間間隔が、1秒程度であるとすると、映画に用いられるビデオストリームにおけるEP＿mapは、t1〜t7をエントリー時刻(PTS＿EP＿start)として示し、これに対応づけてエントリー位置(SPN＿EP＿start)を示すよう、設定される。 
【００５３】
＜PlayList情報＞
続いて、PlayList情報について説明する。拡張子“mpls”が付与されたファイル(00001.mpls)は、PlayList(PL)情報を格納したファイルである。
図１１は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、その他の拡張データ(Extention Data)を含む。
【００５４】
＜PlayList情報の説明その１.MainPath情報＞
先ずMainPathについて説明する。MainPathは、プライマリビデオたるビデオストリームやオーディオストリームに対して定義される再生経路である。
MainPathは、矢印mp1で示すように複数のPlayItem情報＃1・・・・＃mから定義される。PlayItem情報は、MainPathを構成する1つの論理的な再生区間を定義する。PlayItem情報の構成は、引き出し線hs1によりクローズアップされている。
【００５５】
この引き出し線に示すようにPlayItem情報は、再生区間のIN点及びOut点が属するAVClipの再生区間情報のファイル名を示す『Clip＿Information＿file＿name』と、AVClipの符号化方式を示す『Clip＿codec＿identifier』と、PlayItemがマルチアングルを構成するか否かを示す『is＿multi＿angle』と、このPlayItem(カレントPlayItem)と、その1つ前のPlayItem(previousPlayItem)との接続状態を示す『connection＿condition』と、このPlayItemが対象としているSTC＿Sequenceを一意に示す『ref＿to＿STC＿id[0]』と、再生区間の始点を示す時間情報『In＿time』と、再生区間の終点を示す時間情報『Out＿time』と、このPlayItemにおいてマスクすべきユーザオペレーションがどれであるかを示す『UO＿mask＿table』と、このPlayItemの途中へのランダムアクセスを許可するか否かを示す『PlayItem＿random＿access＿flag』と、このPlayItemの再生終了後、最後のピクチャの静止表示を継続するか否かを示す『Still＿mode』と、『STN＿table』とから構成される。このうち、再生経路を構成するのは、再生区間の始点を示す時間情報『In＿time』、再生区間の終点を示す時間情報『Out＿time』の組みであり、再生経路情報とは、この『In＿time』及び『Out＿time』の組みから構成される。
【００５６】
図１２は、AVClipと、PlayList情報との関係を示す図である。第1段目は、PlayList情報がもつ時間軸(PlayList時間軸)を示す。第2段目から第5段目は、EP＿mapにて参照されているビデオストリームを示す。
PlayList情報は、PlayItem情報＃1,＃2という2つのPlayItem情報を含んでおり、これらPlayItem情報＃1,＃2のIn＿time,Out＿timeにより、2つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第1段目に示すPlayList時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる再生経路の定義が可能になる。 
【００５７】
以上が、BD-ROM１００についての説明である。
＜ローカルストレージ２００＞
続いて、本発明にかかる記録媒体である、ローカルストレージ２００について説明する。図１３は、ローカルストレージ２００の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
【００５８】
本図の第４段目にローカルストレージ２００を示し、第３段目にローカルストレージ２００上のトラックを示す。本図のトラックは、ローカルストレージ２００の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ２００の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。
【００５９】
本図のディレクトリ構造においてROOTディレクトリの配下には、「organization＃1」というサブディレクトリがあり、その配下に、「disc＃1」というサブディレクトリがある。ディレクトリ「organization＃1」とは、映画作品の特定のプロバイダに割り当てられたディレクトリである。「disc＃1」は、そのプロバイダが提供したBD-ROMのそれぞれに割り当てられたディレクトリである。
【００６０】
特定のプロバイダに対応するディレクトリに、各BD-ROMに対応するディレクトリを設けることにより、各BD-ROMについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、BD-ROMに格納されていたのと同様、PlayList情報(00002.mpls)、Clip情報(00003.clpi,00004.clpi)、AVClip(00003.m2ts,00004.m2ts)が格納されている。 
続いて、ローカルストレージ２００の構成要素となる、PlayList情報、Clip情報、AVClipについての説明する。
【００６１】
＜ローカルストレージ２００の構成その１.AVClip＞
ローカルストレージ２００上のAVClip(00003.m2ts,00004.m2ts)は、SubClipを構成する。SubClipには、ビデオストリーム、オーディオストリーム、PGストリーム、IGストリームという4種類のエレメンタリストリームが多重化されている。このようにAVClipに多重化されるエレメンタリストリームには、どのようなものがあるかを詳細に説明する。
【００６２】
図１４は、SubClipとなるSTC-Sequenceに多重化されるエレメンタリストリームを示す図である。SubClipに多重化されるエレメンタリストリームは、0x1800のPIDをもつtextSTストリーム、0x1A00から0x1A1FまでのPIDをもつプライマリオーディオストリーム、0x1B00から0x1B1FまでのPIDをもつ32本のOut＿of＿MUX＿Secondaryビデオストリーム、0x1200から0x121FまでのPIDをもつ32本のPGストリーム、0x1400から0x141FまでのPIDをもつ32本のIGストリームである。この図１４に示したセカンダリビデオストリームのように、プライマリビデオストリームと異なるAVClipに多重化されるセカンダリビデオストリームを、“Out＿of＿MUX＿セカンダリビデオストリーム”という。またセカンダリビデオストリームに限らず、プライマリビデオストリームと異なるAVClipに多重化されるエレメンタリストリーム全般を、“Out＿of＿MUXストリーム”という。
【００６３】
図１５は、SubClipに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program＿mapに割り当てられ、0x1001のゾーンはPCRに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1800のゾーンは、textSTストリームに、0x1A00から0x1A1Fまでのゾーンはセカンダリオーディオストリームに割り当てられている。0x1B00から0x1B1FまでのゾーンはSecondaryビデオストリームに割り当てられている。
【００６４】
＜ローカルストレージ２００の構成その２.PlayList情報＞
続いて、ローカルストレージ２００上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図１６は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())と、その他の拡張データ(Extention＿Data)からなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD-ROMのものと同じであり、説明を省略する。以降、Subpath情報について説明する。
【００６５】
＜PlayList情報の説明その１.Subpath情報＞
MainPathが、プライマリビデオたるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
図１７は、Subpath情報の内部構成をクローズアップして示す図である。本図における矢印hc0に示すように各Subpathは、SubClipの類型を示すSubPath＿typeと、1つ以上のSubPlayItem情報(・・・SubPlayItem()・・・)とを含む。
【００６６】
図中の引き出し線hc1は、SubPlayItem情報の構成をクローズアップしている。
SubPlayItemは、メインパスから分離した、1以上のエレメンタリストリーム再生パスを定義し、当該パスをメインパスとどのように同期するかという類型を表現するのに使われる。SubPlayItemで使用されるのが、The Primary audio / PG / IG / Secondary audio / Secondary video のサブパスであるなら、これらのSubPlayItemは、PlayList中のPlayItemを使っているメインパスと同期することになる。このエレメンタリストリーム再生のためのサブパスによって使われるエレメンタリストリームは、MainPath側のPlayItemによって使われるMainClipから分離したClip、つまりSubClipに多重化される。
【００６７】
以降、SubPlayItemの内部構成について説明する。SubPlayItem情報は、図中の矢印hc1に示すように『Clip＿information＿file＿name』、『Clip＿codec＿identifier』、『ref＿to＿STC＿id[0]』、『SubPlayItem＿In＿time』、『SubPlayItem＿Out＿time』、『sync＿PlayItem＿id』、『sync＿start＿PTS＿of＿PlayItem』からなる。
『Clip＿information＿file＿name』は、Clip情報のファイル名を記述することにより、SubPlayItemに対応するSubClipを一意に指定する情報である。
【００６８】
『Clip＿codec＿identifier』は、AVClipの符号化方式を示す。
『ref＿to＿STC＿id[0]』は、このSubPlayItemが対象としているSTC＿Sequenceを一意に示す。
『SubPlayItem＿In＿time』は、SubClipの再生時間軸上における、SubPlayItemの始点を示す情報である。
【００６９】
『SubPlayItem＿Out＿time』は、SubClipの再生時間軸上における、SubPlayItemの終点を示す情報である。
『sync＿PlayItem＿id』は、MainPathを構成するPlayItemのうち、本SubPlayItemが同期すべきものを一意に指定する情報である。SubPlayItem＿In＿timeは、このsync＿PlayItem＿idで指定されたPlay Itemの再生時間軸上に存在する。
【００７０】
『sync＿start＿PTS＿of＿PlayItem』は、sync＿PlayItem＿idで指定されたPlay Itemの再生時間軸上において、SubPlayItem＿In＿timeで指定されたSubPlayItemの始点が、どこに存在するかを45KHzの時間精度で示す。あるSubPlayItemがセカンダリビデオストリーム上の再生区間を定義していて、そのSubPlayItemのsync＿start＿PTS＿of＿PlayItemが、PlayItem時間軸における一時点を示している場合、そのSubPlayItemは、“同期ピクチャインピクチャ”を実現することになる。
【００７１】
また、このSync＿Start＿Pts＿of＿PlayItemには、不定値(0xFFF)を設定することもできる。この不定値は、Sync＿PlayItem＿Idにて指定されたPlayItemの時間軸において、ユーザによりロック操作がなされた時点を、Sync＿PlayItem＿Idにて指定されたPlayItemとの同期時点に定める旨を示す。sync＿start＿PTS＿of＿PlayItemが不定値に設定されており、尚且つSubPlayItemが、セカンダリビデオストリームの再生を意図している場合、かかるSubPlayItemは、“非同期ピクチャインピクチャ”を実現することになる。
【００７２】
＜Subpath情報の詳細その１.SubPath＿type＞
以上がSubPath情報についての説明である。続いてSubPath＿typeについて説明する。SubPath＿typeは、0から255までの値に設定されることにより、SubPath情報により定義されるSubPathがどのような再生経路であるのかを示す。Subpath＿Typeにより表現される再生経路の3つの典型を以下に説明する。
【００７３】
Subpath＿Type＝5
:Out-of-mux and Syncronous type of Picture in Picture presentation Path 
この場合SubPlayItemは、Out-of-muxと同期して再生されるようなピクチャインピクチャ再生経路を定義することになる。そのパスによって使われるエレメンタリストリムは、MainPath側のPlayItemによって使われるMainClipから分離したClip、つまりSubClipに多重化される。
【００７４】
Subpath＿Type＝6
:Out-of-mux and Asyncronous type of Picture in Picture presentation Path 
この場合SubPlayItemは、Out-of-muxストリームと非同期で再生されるようなピクチャインピクチャ再生経路を定義することになる。つまり、このパスによって使われるエレメンタリストリームは、PlayItemによって使われる他のClipとは、異なるClip、つまりSubClipに多重化される。SubPath＿type=6であるSubPathは、一つだけのSubPlayItemを含む。
【００７５】
SubPlayItemのSubPath＿Typeが“6”に設定されたなら、sync＿PlayItem＿id、及び、sync＿start＿PTS＿of＿PlayItemはInvalidになり、これらは、それぞれ0x0000,0x00000000に設定される。
Subpath＿Type＝7
:In-MUX and Syncronous type of Picture in Picture presentation Path
この場合SubPlayItemは、In-muxストリームを同期再生するようなピクチャインピクチャ再生経路を定義する。つまりSubpath＿Type＝7に設定された場合、当該パスによって使われるエレメンタリストリームは、同期再生すべきPlayItemによって使われるエレメンタリストリームと同じClipに多重化されることになる。 
【００７６】
以上がSubPath＿typeについての説明である。
＜SubPath情報についての詳細その２.三者の関係＞
ここでの三者とは、ローカルストレージ２００上のSubClip、ローカルストレージ２００上のPlayList情報、BD-ROM上のMainClipの三者をいう。
【００７７】
図１８は、ローカルストレージ２００上のSubClipと、ローカルストレージ２００上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ２００上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ２００上のSubClipには、セカンダリビデオストリーム、セカンダリオーディオストリーム、PGストリーム、IGストリームといった種別がある。これらのうち何れかが、SubPathとして同期再生に供されることになる。
【００７８】
第2段目は、PlayList情報により定義される2つの時間軸を示す。第2段目のうち下側の時間軸は、PlayItem情報により定義されるPlayItem時間軸を示し、上側の時間軸はSubPlayItemにより定義されるSubPlayItem時間軸を示す。
本図に示すように、SubPlayItem情報のSubPlayItem＿Clip＿information＿file＿nameは、STREAMディレクトリに格納された.m2tsファイルに多重化されたOut-of-MUXストリームのうち、どれを再生区間指定の対象として選ぶかという、SubClip選択の役割を果たしていることがわかる。
【００７９】
そしてSubPlayItem.IN＿time、SubPlayItem.Out＿timeは、SubClip上の、再生区間の始点及び終点を定義するという役割を果たしていることがわかる。
矢印Sync＿PlayItem＿Idは、どのPlayItemとの同期を意図しているかという同期指定の役割を果たし、sync＿start＿PTS＿of＿PlayItemは、PlayItem時間軸上におけるSubPlayItem＿In＿timeの位置を決める役割を果たす。
【００８０】
以上が、SubPath情報についての説明である。
＜STN＿table＞
BD-ROM及びローカルストレージ２００におけるPlayList情報において特徴的であるのは、STN＿Tableである。以降、ローカルストレージ２００上のPlayList情報について説明する。
【００８１】
STN＿tableは、PlayItem情報のClip＿Information＿file＿nameで指定されているAVClipに多重化された複数エレメンタリストリーム、SubPlayItem情報のClip＿Information＿file＿nameで指定されているOut＿of＿MUXストリームのうち、再生可能なものを示すテーブルである。具体的にいうとSTN＿tableは、MainClipに多重化されている複数In＿MUXストリーム、SubClipに多重化されているOut＿of＿MUXストリームのそれぞれについてのStream＿entryを、Stream＿attributeと対応付けることで構成される。
【００８２】
図１９は、STN＿tableの全体構成を示す図である。図２０は、図１９に示したSTN＿tableの全体構成のうち、セカンダリビデオストリームについてのstream＿entryを示す図である。本図に示すようにSTN＿tableは、n個のSecondary＿video＿stream＿entry「Secondary＿video＿stream＿entry[1]〜Secondary＿video＿stream＿entry[n]」と、セカンダリビデオストリームの個数「number＿of＿Secondary＿video＿stream＿entries(=n)」とから構成される。
【００８３】
引き出し線hs1は、Secondary＿video＿stream＿entry[1]の内部構成をクローズアップして示している。つまり、Secondary＿video＿stream＿entry[1]〜Secondary＿video＿stream＿entry[n]は、同一のクラス構造体から生成した複数のインスタンスであり、その内部構成は、どれも、この引き出し線hs1に示すものと同じになる。そして、Secondary＿video＿stream＿entryにおける括弧書き[]の中の数値は、Secondary＿video＿stream＿entryが、STN＿tableにおいて何番目に位置するかという、Secondary＿video＿stream＿entryの順位を示す。
【００８４】
引き出し線hs1に示すように、Secondary＿video＿stream＿entry[1]は、Secondary Video Stream Number=1に対応するPIDを再生装置に提示する「Stream＿entry」と、Secondary Video Stream Number=1に対応するビデオ属性を示す「Stream＿attribute」と、econdary Video Stream Number=1の設定時にて、再生可能となるセカンダリオーディオストリームを示す「Comb＿info＿Secondary＿Video＿Secondary＿Audio」と、Secondary Video Stream Number=1の設定時にて、再生可能となるPGストリーム又はtextSTストリームを示す「Comb＿info＿Secondary＿Video＿PiP＿PG＿textST()」とからなる。
【００８５】
引き出し線hs2に示すように、Secondary＿video＿stream＿entry[2]は、Secondary Video Stream Number=2に対応するPIDを再生装置に提示する「Stream＿entry」と、Secondary Video Stream Number=2に対応するビデオ属性を示す「Stream＿attribute」と、Secondary Video Stream Number=2の設定時にて、再生可能となるセカンダリオーディオストリームを示す「Comb＿info＿Secondary＿Video＿Secondary＿Audio」と、Secondary Video Stream Number=2の設定時にて、再生可能となるPGストリーム又はtextSTストリームを示す「Comb＿info＿Secondary＿Video＿PiP＿PG＿textST()」とからなる。
【００８６】
引出線hs3についても同様である。以上のように、STN＿tableにおいてx番目に位置するsecondary＿video＿stream＿entry[x]は、セカンダリビデオストリーム番号がxに設定された際、そのxに対応するセカンダリビデオストリームのPIDは何か、そのセカンダリビデオストリームのビデオ属性はどのようなものか、どのようなセカンダリオーディオストリーム、PGTextSTストリームと組合せ可能であるかを再生装置に指示する。
【００８７】
図２１（ａ）は、プライマリビデオストリームにおけるStream＿entry及びStream＿attributを示す図である。Stream＿entryは、プライマリビデオストリームを構成するPESパケットの、パケット識別子を示す『ref＿to＿stream＿PID＿of＿mainClip』を含む。
Stream＿attributeは、ビデオストリームの表示方式を示す『Video＿format』と、ビデオストリームの表示周波数を示す『frame＿rate』を含む。
【００８８】
図２１（ｂ）は、セカンダリビデオストリームにおけるStream＿entryを示す。本図に示すように、SecondaryビデオストリームのStream＿entryは、Secondaryビデオストリームを参照しているSubPath情報を示す『ref＿to＿Sub＿Path＿id』、Secondaryビデオストリームを構成するPESパケットの、パケット識別子を示す『ref＿to＿stream＿PID＿of＿mainClip』を含む。
【００８９】
以上が、本発明にかかる記録媒体についての説明である。尚、BD-ROMには、これらの構成要素の他に、Movie Object、BD-J Object、Index.bdmvといった構成要素が存在する。
Movie Objectは、DVD-Videoに似たような記述で、動的な制御手順を再生装置に命じるものであり、BD-J Objectは、Java(登録商標)(TM)アプリケーションによる記述で、動的な制御手順を再生装置に命じるものである。Index.bdmvは、タイトルと、Movie Object、BD-J Objectとの対応付けを規定するテーブルである。
【００９０】
これらの構成要素は、本発明が主眼としているものではないので、本実施形態では記載を省略することにしている。以上で、本発明にかかる記録媒体についての説明を終える。
＜再生装置＞
図２２は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。こうして生産される再生装置は、BD-ROMドライブ１a、リードバッファ１b,c、ATCカウンタ２a,c,Source Depacketizer２b,d、ATCカウンタ２b,d、STCカウンタ３a,c、PID Filter３b,d、Transport Buffer(TB)４a、Elementary Buffer(EB)４c、ビデオデコーダ４d、Re-order Buffer４e、Decoded Picture Buffer４f、ビデオプレーン４g、Transport Buffer(TB)５a、Elementary Buffer(EB)５c、ビデオデコーダ５d、Re-order Buffer５e、Decoded Picture Buffer５f、ビデオプレーン５g、バッファ６a,b、バッファ７a,b、オーディオデコーダ８a,b、ミキサー９a、スイッチ１０a,b,c,d,e、Transport Buffer(TB)１１a、Interactive Graphicsデコーダ１１b、Interactive Graphicsプレーン１１c、Transport Buffer(TB)１２a、バッファ１２b、Text based subtitleデコーダ１２ｃ、Transport Buffer(TB)１３a、Presentation Graphicsデコーダ１３ｂ、Presentation Graphicsプレーン １３c、メモリ２１、コントローラ２２、PSRセット２３、PID変換部２４、ネットワーク部２５、操作受付部２６、ローカルストレージ２００から構成される。尚本図では、再生装置の出力段については、示していない。出力段については、別図に内部構成を示して説明することにする。
【００９１】
BD-ROMドライブ１aは、BD-ROMのローディング／イジェクトを行い、BD-ROMディスクに対するアクセスを実行する。
リードバッファ(RB)１bは、BD-ROMから読み出されたSourceパケット列を蓄積する。
リードバッファ(RB)１cは、ローカルストレージ２００から読み出されたSourceパケット列を蓄積する。
【００９２】
ATC Counter２aは、MainClipを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ２bにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)２bは、MainClipを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、各TSパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter２aが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS＿Recording＿Rateで、そのTSパケットだけをPID Filter３bに転送する。
【００９３】
ATC Counter２cは、SubClipを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ２dにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)２dは、SubClipを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、ATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter２cが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS＿Recording＿Rateで、そのTSパケットだけをPID Filter３dに転送する。
【００９４】
STC Counter３aは、MainClipのPCRによってリセットされ、STCを出力する。
PID Filter３bは、MainClip用の多重分離部であり、ソースデパケッタイザ２bから出力されたSourceパケットのうち、PID変換部２４から通知されたPID参照値をもつものを、夫々ビデオデコーダ４d、ビデオデコーダ５d、オーディオデコーダ８a、Interactive Graphicsデコーダ１１b、Presentation Graphicsデコーダ１３bに出力する。各デコーダは、PID Filter３bを経由したエレメンタリストリームを受け取って、MainClipのPCRに従いデコードから再生の処理を行う。このようにPID Filter３bを通過して各デコーダに入力されるエレメンタリストリームは、MainClipのPCRに従って、デコード及び再生に供されることになる。
【００９５】
STC Counter３cは、SubClipのPCRによってリセットされ、STCを出力する。PIDフィルタ３dは、このSTCを参照して、多重分離を行う。 
PID Filter３dは、SubClip用の多重分離部であり、ソースデパケッタイザ２dから出力されたSourceパケットのうち、PID変換部２４から通知されたPID参照値をもつものを、夫々オーディオデコーダ８b、Interactive Graphicsデコーダ１１b、Presentation Graphicsデコーダ１３bに出力する。このようにPID Filter３dを通過して各デコーダに入力されるエレメンタリストリームは、SubClipのPCRに従って、デコード及び再生に供されることになる。
【００９６】
Transport Buffer(TB)４aは、プライマリビデオストリームに帰属するTSパケットがPID Filter３bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)４cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)４dは、プライマリビデオを構成する個々のピクチャを所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン４に書き込む。
【００９７】
Ducoded Picture Buffer４eは、デコーダ４dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
Re-order Buffer４fは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
プライマリビデオプレーン４gは、プライマリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、ビデオプレーン４gは、1920×1080という解像度にあたる画素データを格納している。
【００９８】
Transport Buffer(TB)５aは、セカンダリビデオストリームに帰属するTSパケットがPID Filter３bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)５cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)５dは、セカンダリビデオを構成する個々のピクチャを所定の復号時刻（DTS）ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン５に書き込む。
【００９９】
Ducoded Picture Buffer５eは、デコーダ５dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
Re-order Buffer５fは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
セカンダリビデオプレーン５gは、セカンダリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、セカンダリビデオは、1920×1080という解像度にあたる画素データを格納している。
【０１００】
バッファ６aは、デマルチプレクサ３aから出力されたTSパケットのうち、プライマリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ７aに供する。
バッファ６bは、デマルチプレクサ３ｂから出力されたTSパケットのうち、セカンダリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ７bに供する。
【０１０１】
オーディオデコーダ７aは、バッファ６aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりプライマリオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ７bは、バッファ６bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりセカンダリオーディオストリームにおけるデジタル出力がなされる。
【０１０２】
ミキサ９aは、オーディオデコーダ７aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ７bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
スイッチ１０aは、BD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットのどちらかを、選択的にセカンダリビデオデコーダ５d側に供給する。
【０１０３】
スイッチ１０bは、BD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットのどちらかを、選択的にPresentation Graphicsデコーダ１３b側に供給する。
スイッチ１０cは、BD-ROMから読み出されたTSパケット、ローカルストレージ２００から読み出されたTSパケットのどちらかを、選択的にInteractive Graphicsデコーダ１１b側に供給する。
【０１０４】
スイッチ１０dは、デマルチプレクサ３aにより多重分離がなされた、プライマリオーディオストリームを構成するTSパケット、デマルチプレクサ３bにより多重分離がなされたプライマリオーディオストリームを構成するTSパケットのうちどちらをオーディオデコーダ８aに供給するかを切り換えるスイッチである。
スイッチ１０eは、デマルチプレクサ３aにより多重分離がなされた、セカンダリオーディオストリームを構成するTSパケット、デマルチプレクサ３bにより多重分離がなされたセカンダリオーディオストリームを構成するTSパケットのどちらを、オーディオデコーダ８bに供給するかを切り換えるスイッチである。
【０１０５】
Transport Buffer(TB)１１aは、IGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Interactive Graphics(IG)デコーダ１１bは、BD-ROM１００又はローカルストレージ２００から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン１２に書き込む。
【０１０６】
Interactive Graphics(IG)プレーン１１ｃは、IGデコーダ１１bによるデコードで得られた非圧縮グラフィクスを構成する画素データが書き込まれる。
Transport Buffer(TB)１２aは、textSTストリームに帰属するTSパケットが一旦蓄積されるバッファである。 
Buffer(TB)１２bは、textSTストリームを構成するPESパケットが一旦蓄積されるバッファである。 
【０１０７】
Text Based Subtitleデコーダ１２cは、BD-ROM１００又はローカルストレージ２００から読み出されたtextSTストリームにおいて、キャラクタコードを用いて、表現されている字幕をビットマップに展開して、PGプレーン１３cに書き込む。この展開には、BD-ROM１００又はローカルストレージ２００に格納されているフォントデータが用いられるので、textSTストリームのデコードには、前もってかかるフォントデータを読み込んでおく必要がある。
【０１０８】
Transport Buffer(TB)１３aは、PGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Presentation Graphics(PG)デコーダ１３ｂは、BD-ROM又はローカルストレージ２００から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン１４に書き込む。PGデコーダ１３ｂによるデコードにより、字幕が画面上に現れることになる。
【０１０９】
Presentation Graphics(PG)プレーン１３ｃは、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
メモリ２１は、カレントのPlayList情報やカレントのClip情報を格納しておくためのメモリである。カレントPlayList情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
【０１１０】
コントローラ２２は、プレイリスト再生(カレントPlayList情報に従った再生制御のことである）を実行することで、BD-ROMの再生制御を実現する。
PSRセット２３は、再生装置に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register（GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
【０１１１】
PID変換部２４は、PSRセット２３に格納されているストリーム番号を、STN＿Tableに基づき、PID参照値に変換して、変換結果たるPID参照値をPID Filter３b、PID Filter３dに指示する。
ネットワーク部２５は、本再生装置における通信機能を実現するものであり、URL指定が与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードを実行する。
【０１１２】
操作受付部２６は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ２２に通知する。このUser Operation情報から、ユーザが選択を望むストリームの番号(番号X)が特定される。
以上が、再生装置の内部構成である。続いて、再生装置の出力段の内部構成について説明する。図２３は、再生装置の出力段の構成を示す図である。本図に示すように再生装置の出力段は、1−α3乗算部１５a、Scalling・Positioning部１５b、α3乗算部１５c、加算部１５d、1−α1乗算部１５e、α1乗算部１５f、加算部１５g、1−α2乗算部１５h、α2乗算部１５i、加算部１５ｊ、HDMI送受信部１６から構成される。
【０１１３】
1−α3乗算部１５aは、ビデオデコーダ４ｇに格納されている非圧縮のデジタルピクチャを構成する画素の揮度に、透過率1-α3を乗じる。
Scalling・Positioning部１５bは、ビデオプレーン５ｇに格納されている非圧縮のデジタルピクチャを拡大・縮小する処理(Scalling)を施し、また配置位置を変更する処理(Positioning)を行う。この拡大・縮小は、メタデータにおけるPiP＿scaleに基づき、配置位置の変更は、メタデータにおけるPiP＿horizontal＿position、PiP＿vertical＿positionに基づく。
【０１１４】
α3乗算部１５cは、Scalling・Positioning部１５bにより、Scalling、Positioningが施された非圧縮のピクチャを構成する画素の揮度に対し、透過率α3を乗じる。
加算部１５dは、α3乗算部１５cにより画素毎に透過率α3が乗じられた非圧縮デジタルピクチャと、1−α3乗算部１５aにより画素毎に透過率1-α3が乗じられた非圧縮デジタルピクチャとを合成して、合成ピクチャを得る。
【０１１５】
1−α1乗算部１５eは、加算部１５dにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α1を乗じる。
α1乗算部１５fは、Presentation Graphicsデコーダ１３ｃに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α1を乗じる。
加算部１５gは、1−α1乗算部１５eにより画素毎に透過率1-α1が乗じられた非圧縮デジタルピクチャと、α1乗算部１５fにより画素毎に透過率α1が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
【０１１６】
1−α2乗算部１５hは、加算部１５gにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α2を乗じる。
α2乗算部１５iは、Interactive Graphicsデコーダ１１ｃに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α2を乗じる。
加算部１５jは、1−α2乗算部１５hにより画素毎に透過率1-α2が乗じられた非圧縮デジタルピクチャと、α2乗算部１５iにより画素毎に透過率α2が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
【０１１７】
HDMI送受信部１６は、HDMI（HDMI:High Definition Multimedia Interface）を介して接続された他の機器から、その機器に関する情報を受信とすると共に、加算部１５jの合成により得られたデジタル非圧縮のビデオを、ミキサー９aにより合成がなされたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置のソフトウェア構成について説明する。 
【０１１８】
図２２に示したコントローラ２２を、機能的に表現すると、図２４のようになる。図２４は、コントローラ２２を機能的に表現した図であり、本図に示すようにコントローラ２２は、プレイリスト処理部４１、Procedure実行部４２、PiP制御部４３、ミキシング制御部４４から構成される。
これらの構成要素の処理は、PSRセット２３に基づく。以降、PSR1、PSR14、PSR31について説明する。PSRにおける語長は、32ビットである。PSRの一語(32ビット)を構成する各ビットデータのビット位置を、以降、b0〜b31と呼ぶことにする。この呼び方では、PSRの最上位ビットはb31、最下位ビットはb0と呼ばれることになる。
【０１１９】
＜PSR14＞
図２５（ａ）は、PSR14のビットアサインを示す図である。
本図によると、32ビット長のPSR14におけるb8〜b15は、セカンダリビデオストリームのストリーム番号であり、カレントPlay ItemのSTN＿tableにentryが記述されている複数Secondaryビデオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、再生装置はこの変化後のSecondaryビデオストリームを再生する。PSR14におけるセカンダリビデオストリームのストリーム番号は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、Secondaryビデオストリームが存在しない旨、又は、Secondaryビデオストリームが選択されてない旨を示す。1〜32の設定値は、Secondaryビデオストリームのストリーム番号として解釈される。
【０１２０】
PSR14のb31は、disp＿v＿flagであり、セカンダリビデオを再生する能力が再生装置に存在するか(1b:Presentation of Secondary Video is enable)、セカンダリビデオを再生する能力が再生装置に存在しないか(0b:Presentation of Secondary Video is disable)を示す。
＜PSR29＞
図２５（ｂ）は、PSR29のビットアサインを示す図である。
【０１２１】
PSR29のb0は、HD＿Secondary＿video＿Capabilityであり、HDTV対応のセカンダリビデオを再生する能力が再生装置に存在するか(1b:HD Secondary Video is capable)、HDTV対応のカンダリビデオを再生する能力が再生装置に存在しないか(0b:HD Secondary Video is incapable)を示す。ここでHDTVとは、1920×1080の解像度をもつビデオ、又は、1280×720の解像度をもつビデオのことをいい、このビデオをデコードし、出力することができる能力が存在するか否かが、本ビットに示されている。
【０１２２】
PSR29のb1は、50&25Hz＿video＿Capabilityであり、50&25Hzビデオ、つまり、５０フレーム／秒のPAL方式のビデオストリーム、又は、２５フレーム／秒のPAL方式のビデオストリームを再生する能力が再生装置に存在するか(1b:50&25Hz Video is capable)、50&25Hzビデオを再生する能力が再生装置に存在しないか(0b:50&25Hz Video is incapable)を示す。
【０１２３】
以上が、PSRセット２３についての説明である。
以降、プレイリスト処理部４１、Procedure実行部４２について説明を開始する。
PiP制御部４３については、その処理が多岐にわたるので、第２実施形態において改めて説明し直すものとする。ミキシング制御部４４については、本実施形態の主眼との関連が希薄なので、第４実施形態において改めて説明し直す。
【０１２４】
＜機能構成の詳細その１.プレイリスト処理部＞
プレイリスト処理部４１は、PL再生を実現するものであり、PlayItem情報のIn＿timeにあたる位置から、Out＿timeにあたる位置までプライマリビデオストリームを再生し、これと同期して、SubPlayItem情報のSub＿PlayItem＿In＿timeにあたる位置から、Sub＿PlayItem＿Out＿timeにあたる位置までのセカンダリビデオストリームの再生を、ビデオデコーダ５bに行わせる。
【０１２５】
＜機能構成の詳細その２.Procedure実行部４２＞
Procedure実行部４２は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR14に新たなセカンダリビデオストリームのストリーム番号を書き込む。再生装置は、PSR14に書き込まれたストリーム番号に応じて、セカンダリビデオストリームを再生するので、かかるPSR14の設定を通じて、セカンダリビデオストリームが選択されることになる。
【０１２６】
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN＿TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったセカンダリビデオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部４２により、PSR14は、図２６に示すような状態遷移をなす。図２６は、PSR14におけるセカンダリビデオストリーム番号が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN＿tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【０１２７】
Invalidとは、PSR14のセカンダリビデオストリーム番号が、0であるか、又は、Play ItemのSTN＿tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN＿tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図２６における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSR14におけるセカンダリビデオストリーム番号の設定手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
【０１２８】
Procedure when playback condition is changedは、何等かの事象が再生装置に生じたため、再生装置の状態が変化した際に実行すべき処理手順を示す。
Procedure when Stream Change is requestedは、ユーザがストリームの切り換えを要求した際、実行すべき処理手順を示す。
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedが、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
【０１２９】
図２６における矢印は、PSR14に格納されたセカンダリビデオストリーム番号が取り得る状態の遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、“Load Disc”,“Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”というような事象が発生した際、PSR14におけるセカンダリビデオストリーム番号の状態遷移がなされることになる。これらの記法を理解して図２６を参照すれば、Invalid→Invalidの状態遷移時、Valid→Invalidの状態遷移時には、上述した処理手順は実行されていないことがわかる。これに対しInvalid→Valid間の状態遷移、Valid→Valid間の状態遷移は何れも破線枠を経由している。つまりPSR14をValidに設定するにあたって、上述したProcedure when playback condition is changed、Procedure when Stream change is requestedによりPSR14におけるセカンダリビデオストリーム番号は設定されるのである。
【０１３０】
以降、状態遷移のトリガとなるべき事象について説明する。
『Load Disc』とは、再生装置にBD-ROMがローディングされたとの事象を意味する。PSR14におけるセカンダリビデオストリーム番号は、かかるローディング時において、一旦PSR14におけるセカンダリビデオストリーム番号が不定値(0xFF)に設定されるのである。
『Start PlayList playback』とは、PLに基づく再生処理が開始したとの事象を意味する。かかる事象が発生時において、Procedure when playback condition is changedが実行され、PSR14におけるセカンダリビデオストリーム番号はValidに設定されることがわかる。
【０１３１】
『Terminate PlayList playback』とは、PLに基づく再生処理を終了したとの事象を意味する。かかる事象の発生時では、Procedure when playback condition is changedは実行されず、PSR14におけるセカンダリビデオストリーム番号がInvalidに移行していることがわかる。
『Change a Stream』とは、ユーザによるStreamの切り換え要求がなされたとの事象を意味する。PSR14におけるセカンダリビデオストリーム番号がInvalidである場合に、かかる事象が発生すれば(図中のcj1)、PSR14はその要求通りの値に設定される。こうして設定された値がたとえ有効なストリーム番号を示していたとしても、このPSR14の設定値はInvalidな値として取り扱われる。即ち、事象”Change a Stream”による状態遷移では、InvalidであるPSRが、Validに変えることはない。
【０１３２】
一方、PSR14におけるセカンダリビデオストリーム番号がValidである場合に、かかる事象Change a Streamが発生すれば(図中のcj2)、Procedure when Stream change is requestedが実行されて、新たな値がPSR14に設定される。ここでProcedure when Stream change is requestedの実行により設定される値は、ユーザが希望した値にならない場合も有り得る。何故なら、Procedure when Stream change is requestedは、無効な値を排除する機能を有しているからである。PSR14がValidにおいて、Change streamが発生した場合、ValidからInvalidに状態遷移することは有り得ない。PSR14におけるセカンダリビデオストリーム番号がInvalidにならないよう、Procedure when Stream change is requested側で保証するからである。
【０１３３】
『Cross a PlayItem boundary』とは、あるPlay Itemの境界通過という事象を意味する。ここでPlay Itemの境界とは、連続する2つのPlay Itemのうち、先行する側の終端、後続する側の先端の狭間を意味する。PSR14におけるセカンダリビデオストリーム番号がValidである場合において、かかる事象が発生すれば、Procedure when playback condition is changedが実行されることがわかる。そして、Procedure when playback condition is changedの実行後、PSR14におけるセカンダリビデオストリーム番号の状態はValidに戻るか、Invalidに移行することが分かる。STN＿tableはPlay Item毎に存在しており、Play Itemが変われば、再生可能なエレメンタリストリームも変わってしまう。Play Itemの再生開始毎に、Procedure when playback condition is changeを実行してPlay Item毎に最適な設定値をPSR14に設定するというのが、この状態遷移の趣旨である。
【０１３４】
図２７は、セカンダリビデオストリームにおけるProcedure when playback condition is changedの処理手順を示すフローチャートである。
ステップＳ５１では、PSR14に設定された番号のセカンダリビデオストリームが、以下の条件(A)、条件(B)を満たすか否かをチェックする。、
条件(A):Video format,frame＿rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
【０１３５】
条件(B)：セカンダリビデオストリームにおけるSubPath＿Typeは、“=6(非同期ピクチャインピクチャ)”である
「HD Secondary Video Capability」とは、HDTV対応のビデオストリームを、デコードし、再生出力する能力をいい、「50&25Hz Video Capability」とは、５０フレーム／秒、又は、２５フレーム／秒のピクチャ列をデコードし、再生出力する能力をいう。また、Video format,frame＿rateは、STN＿tableにおいて、セカンダリビデオストリームについてのstream＿attributeに記載されている。また、HD Secondary Video Capabilityや50&25Hz Video Capabilityの有無は、PSR29のb0,b1に示されている。これらSTN＿tableによる設定と、PSR29のb1の値とを照合することで、条件(A)を具備しているかどうかの判断がなされる。
【０１３６】
ステップＳ５１の実行後、ステップＳ５２、ステップＳ５３を実行する。
ステップＳ５２は、カレントPlayItemのSTN＿tableにおけるセカンダリビデオストリームのSTN＿tableにおけるStream＿entryの個数が0であるか否かを判定する判定ステップである。ここでセカンダリビデオストリームのSTN＿tableにおけるStream＿entryの個数が0であることは、再生許可されているセカンダリビデオストリームが1つも存在しないことを意味する。もし0である場合、PSR14のセカンダリビデオストリーム番号を維持する(ステップＳ５３)。カレントPlayItemにおいて、再生許可されているセカンダリビデオストリームが存在しない以上、PSR14の現状値を維持すべきだからである。
【０１３７】
ステップＳ５４は、ステップＳ５３が0でないと判定された場合、実行される判定ステップであり、PSR14に格納された番号XがSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定する。このステップＳ５４がYesと判定されたなら、後述する図２８のフローチャートの手順を実行することでカレントPlayItemについて最適なストリームを選択する(ステップＳ５５)。
【０１３８】
もしステップＳ５４において、Noと判定されたなら、ステップＳ５６の判定ステップを実行する。この判定ステップは、条件(B)を満たすかどうかを判定するものである。条件(B)を満たせば、ステップＳ５８におけるPSR14に、OxFEを設定する。このOxFEは、PSR14におけるセカンダリビデオストリーム番号はValidだが、セカンダリビデオストリームは非選択であることを意味する値である。非同期ピクチャインピクチャの実行時において、かかる値をPSR14に設定しておけば、ユーザ操作があった際、Procedure when stream change is requestedが実行されることになる。しかし、仮に、PSR14のストリーム番号がInvalidであれば、たとえユーザ操作がなされたとしても、Procedure when stream change is requestedは実行されず、いつまでたっても、セカンダリビデオストリームが再生されないという事態に陥る。これを避けるため、非同期ピクチャインピクチャの実行時においては、PSR14にOxFEを設定することにしている。
【０１３９】
条件(B)は満たさないが、有効なセカンダリビデオストリーム番号が既にPSR14に存在するなら、これを変化させない(ステップＳ５７)。
以上が、セカンダリビデオストリームにおけるProcedure when playback condition is changedについての説明である。
図２８は、カレントPlayItemについて最適なストリームを選択する処理手順を示すフローチャートである。
【０１４０】
ステップＳ６１〜ステップＳ６３では、以下の条件(a)、条件(b)が満たされているかのチェックを、STN＿tableにおける全てのstream＿entryに記述されているストリームに対して実行する。
条件(a):セカンダリビデオストリームについてのVideo format、frame＿rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
【０１４１】
条件(b)：セカンダリビデオストリームにおけるSubPath＿Typeは、“=6(非同期ピクチャインピクチャ)”である
以上のようなチェックが、STN＿tableにおいて再生許可されている全てのセカンダリビデオストリームについてなされれば、ステップＳ６４の判定ステップを実行する。
ステップＳ６４は、条件(a)を満たすセカンダリビデオストリームが1つも存在しないか否かの判定であり、もしそうであれば、0xFFFをセカンダリビデオストリームについてのストリーム番号としてPSR14に設定する(ステップＳ６５)。
【０１４２】
もしセカンダリビデオストリームが1つでも存在するなら、ステップＳ６４がYesになり、ステップＳ６６が実行されることになる。ステップＳ６６は、条件(a)を満たすセカンダリビデオストリームであって、STN＿tableにおいて先頭順位になっているものは、条件(b)を満たすかどうかを判定する。もし条件(b)を満たすなら、ステップＳ６７において0xFEとなるセカンダリビデオストリーム番号をPSRに設定する。
【０１４３】
条件(b)を満たさないなら、条件(a)を満たすセカンダリビデオストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したセカンダリビデオストリームのストリーム番号を、PSR14に設定する(ステップＳ６８)。これらの手順を経て、カレントPlayItemにとって最適なセカンダリビデオストリームがPSR14に格納されることになる。以上が、最適なストリーム番号を選択するための選択手順である。
【０１４４】
図２９は、セカンダリビデオストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
操作受付部２６に対してなされるユーザ操作にて、セカンダリビデオストリーム番号Xが特定されたとする。この場合、ステップＳ７１では、番号Xのセカンダリビデオストリームが、以下の条件(A)、条件(B)を満たすか否かをチェックする。
【０１４５】
条件(A):Video format,frame＿rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
条件(B)：セカンダリビデオストリームにおけるSubPath＿Typeは、“=6(非同期ピクチャインピクチャ)”である
以上のチェックを経れば、ステップＳ７２の判定ステップを実行する。ステップＳ７２は、カレントPlayItemのSTN＿tableにおけるセカンダリビデオストリームのSTN＿tableにおけるStream＿entryの個数が0であるか否かを判定するものである。もし“0”であるなら、STN＿tableには、再生が許可されているストリームが存在しないとして、PSR14におけるセカンダリビデオストリーム番号を維持する(ステップＳ７３)。
【０１４６】
もし“0”でないなら、ステップＳ７４の判定ステップを実行する。ステップＳ７４は、ユーザ操作にて特定された番号XのセカンダリビデオストリームがSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定するものである。もし条件(A)を満たすなら、番号Xにて特定されるストリームを選び、番号XをPSR14に設定する(ステップＳ７５)。
【０１４７】
ステップＳ７４がNoであるなら、ステップＳ７６の判定ステップを実行する。この判定ステップは、番号Xが0xFFであるか否かの判定である。ここで0xFFの番号Xは、“おまかせ番号”の意味であり、カレントPlayItemにとって最適なセカンダリビデオストリームの選択を、再生装置に委ねている意図を意味する。もし、0xFFでないなら、PSR14に格納されたセカンダリビデオストリームのストリーム番号を維持するが(ステップＳ７７)、番号Xが0xFFであるなら、ステップＳ７８〜ステップＳ８０のループ処理に突入する。このループ処理では、以下の条件が満たされているかのチェックを、STN＿tableにおける全てのstream＿entryに記述されているセカンダリビデオストリームに対して実行する。
【０１４８】
条件(a):Video format,frame＿rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
ループの実行後、条件(a)を満たすセカンダリビデオストリームが少なくとも1つ存在するかをステップＳ８１で判定し、もし存在するなら、条件(a)を満たすセカンダリビデオストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したセカンダリビデオストリームのセカンダリビデオストリーム番号を、PSR14に設定する(ステップＳ８２)。以上が、セカンダリビデオストリームに対するProcedure when stream change is requestedについての説明である。
【０１４９】
以上のように本実施形態によれば、BD-ROMやローカルストレージに記録されているセカンダリビデオストリームの中に、再生不能なものが存在したとしても、次のストリームを選ぶという手順を実行することで、「自身が再生できるものをピクチャインピクチャに用いる」という選択の余地がうまれる。従って、セカンダリビデオの総サイズ自体にバラツキがあり、再生装置におけるセカンダリビデオの再生能力の有無にバラツキががあったとしても、何等かのセカンダリビデオを再生装置に表示させ、ピクチャインピクチャを実行させることができる。
【０１５０】
(第２実施形態)
本実施形態では、ピクチャインピクチャを再生装置に実行させるための具体的なデータ構造と、このデータ構造に基づく再生装置の処理手順について説明する。ピクチャインピクチャを再生装置に実行させるための具体的なデータ構造は、図１１、図１６に示したmplsファイルの内部構成のうち、extention＿dataに存在し、PiP＿metadataと呼ばれる。図３０は、PiP＿metadataの内部構成を示す図である。引出線hm1は、PiP＿metadataの内部構成をクローズアップしている。この引出線hm1に示すように、PiP＿metadataは、number＿of＿metadata＿block＿entriesと、n1個のmetadata＿block＿headerと、n2個のPiP＿metadata＿blockとから構成される。
【０１５１】
引出線hm2は、metadata＿block＿headerの内部構成をクローズアップして示している。つまり、metadata＿block＿headerは、同一のクラス構造体から生成した複数のインスタンスであり、その内部構成は、どれも、この引き出し線hm2に示すものとなる。以下、metadata＿block＿headerを構成する各フィールドについて説明する。
ref＿to＿PlayItem＿id[k]:
ピクチャインピクチャの対象となるべきPlayItem[k]のPlayItem＿id を示すフィールドである。このref＿to＿PlayItem＿id[k]で指示されるPlayItem の STN＿table は ref＿to＿secondary＿video＿stream＿id[k]の参照値(secondary＿video＿stream＿id)を格納するものでなければならない。また、pip＿metadata() 内のref＿to＿PlayItem＿id は、その値の昇順に並べ替えられなければならない。これは、カレントPlayItemが変化した際、その変化後のPlayItemを指定したref＿to＿PlayItem＿idをもつmetadata＿block＿headerを即座に探し出すためである。
【０１５２】
ref＿to＿secondary＿video＿stream＿id[k]: 
ref＿to＿PlayItem＿id[k] で参照されるPlayItem の STN＿table で定義される secondary＿video＿stream＿id 値のうち、このピクチャインピクチャで再生に供するものを示すフィールドである。このフィールドは、関連付けられた PiP＿metadata＿block[k]() を利用するSecondary ビデオストリームを特定するために用いられる。詳しく説明すると、このsecondary＿video＿stream＿id 値を参照すれば、 STN＿table 内の関連付けられたstream＿entry() を導き出することができ、そのstream＿entryを参照することで、PiP＿metadata＿block[k]() が利用する Secondaryビデオストリームに対応するSubPath を探し出すことができる。
【０１５３】
但し、pip＿metadata() には ref＿to＿PlayItem＿id[k] の値と、ref＿to＿secondary＿video＿stream＿id[k] の値とが同じになるペアは、2以上存在してはならない。
pip＿timeline＿type[k]: 
PlayItem時間軸におけるSync＿Start＿PTS＿of＿PlayItemの写像点を、ピクチャインピクチャ実行タイミングの基準とするか、SubPlayItemの原点を基準とすることを示す。
【０１５４】
PiP＿time＿line＿type＝1である場合、同期型 ピクチャインピクチャの実行時において、pip＿metadata＿time＿stampは、ref＿to＿PlayItem＿id[k] で参照される PlayItem の時間軸を基準とする。この場合、ref＿to＿secondary＿video＿stream＿id[k] で指定されるSubPath のSubPath＿type は、5 か 7 に設定されなければならない。
PiP＿time＿line＿type＝2である場合、非同期型ピクチャインピクチャの実行時において、pip＿metadata＿time＿stampは、SubPath の時間軸を基準とすることを示す。この場合、ref＿to＿secondary＿video＿stream＿id[k] で指定されるSubPath のSubPath＿type は、=6 に設定されなければならない。
【０１５５】
PiP＿time＿line＿type＝3である場合、非同期型ピクチャインピクチャの実行時において、pip＿metadata＿time＿stamp は、ref＿to＿PlayItem＿id[k] で参照される PlayItem のタイムラインを基準とすることを示す。この場合、ref＿to＿secondary＿video＿stream＿id[k] で指定されるSubPath のSubPath＿type は、=6 に設定されなければならない。
【０１５６】
以上のように、PlayItem側、SubPlayItem側のどちらを基準とするのが理想的にするかにより、ピクチャインピクチャ再生を好適に実現することができる。
is＿luma＿key: 
このフラグが 1 の場合、upper＿limit＿luma＿key 値に従って、対応する Secondary ビデオストリームに luma-keying が適用される。luma-keyingとは、セカンダリビデオを構成する個々のピクチャに、被写体部分と、背景部分とが存在する場合、各ピクチャから、被写体部分を抜き出して、プライマリビデオとの合成に供する処理である。Luma-Keyingが、セカンダリビデオに適用される場合、第１実施形態に示したα3乗算部１５cにおけるα3は、0か1に設定される。Luma-Keyingが適用されない場合、このα3は、1に設定される。
【０１５７】
trick＿playing＿flag:
これは、プライマリビデオに対するトリック再生の実行中、 ピクチャインピクチャのためのウィンドウを開き続けるか閉じるかのコンテンツプロバイダの意思を示すフラグである。このフラグは同期式ピクチャインピクチャにおいてのみ有効となる。このフラグが 0 の場合、Primary ビデオがトリック再生中、ピクチャインピクチャのためのウィンドゥ(PiP ウィンドウ)を閉じることをコンテンツプロバイダ は意図する。ここで、トリック再生の意味は 再生装置のメーカによって製品毎に定義される。例えば、その製品は 1.2倍速Forward Playはトリック再生でないと定義するかもしれないし、2倍速以上の Forward Playはトリック再生であると定義するかもしれない。
【０１５８】
upper＿limit＿luma＿key: 
これは、luma-keying のための対応するSecondary ビデオ輝度(Y) の上限値を指定するフィールドである。Primary ビデオプレーンと Secondary ビデオプレーンが重なったとき、Secondary ビデオプレーン上で、輝度(Y) の値がゼロ以上、upper＿limit＿luma＿key 値以下までの画素が、ピクチャインピクチャの合成時において、完全透過することになる。例えば、セカンダリビデオが人物像と背景とから構成されていて、これらのうち、人物像のみを、合成の対象としたい場合、セカンダリビデオを構成する画素の揮度のうち、どの値までを、背景とみなすかを、このupper＿limit＿luma＿keyに設定することができる。
【０１５９】
続いて、PiP＿metadata＿blockの内部構成について説明する。引き出し線hm3は、PiP＿metadata＿blockの構成をクローズアップしている。この引き出し線に示すように、PiP＿metadata＿block[1]は、k個のPiP＿metadata＿entry[1]〜[k]と、number＿of＿pipmetadata＿entriesとからなる。
【０１６０】
引き出し線hm4は、PiP＿metadata＿entryの内部構成をクローズアップして示している。つまり、PiP＿metadata＿entryは、同一のクラス構造体から生成した複数のインスタンスであり、その内部構成は、どれも、pip＿metadata＿time＿stamp[i]と、pip＿composition＿metadata()とから構成される。
pip＿metadata＿time＿stamp[i]: 
pip＿composition＿metadata() が有効である時間間隔の開始時点を示すフィールドである。
【０１６１】
k番目のPiP＿metadata＿block[k]におけるi 番目のpip＿composition＿metadata() は、最後を除いて、pip＿metadata＿time＿stamp[i] 以上 pip＿metadata＿time＿stamp[i+1] 未満の時間間隔において有効になる。 PiP＿metadata＿block[k]() 内の最後のpip＿metadata＿time＿stamp の最後の pip＿composition＿metadata() は、最後のpip＿metadata＿time＿stamp 以上で、ref＿to＿secondary＿video＿stream＿id[k] で指定される SubPath の表示終了時刻未満の時間間隔において有効である。また、連続する2 つの pip＿metadata＿time＿stamp 値間の最小の時間間隔は 1 秒であり、1 秒も含む。
【０１６２】
pip＿composition＿metadata()は、以下のフィールドからなる。
pip＿horizontal＿position[i]:
Primary ビデオプレーン上での Secondary ビデオの左上端の画素の水平位置を示す。ビデオプレーンの横幅をvideo＿width と表現した場合、本PiP＿horizontal＿positionにて指定される水平位置は 0 からvideo＿width-1 の範囲となる。
【０１６３】
pip＿vertical＿postion[i]:
Primary ビデオプレーン上での Secondary ビデオの左上端の画素の垂直位置を示す。ビデオプレーンの縦幅をvideo＿heightとした場合、本PiP＿vertical＿positionで指定される垂直位置は 0 からvideo＿height-1 の範囲となる。図３１は、PiP＿horizontal＿position、PiP＿vertical＿positionが、ビデオプレーンにおいて、どのような座標をとりうるかを示す。本図は、画像の左上頂点を原点とし、画像の右方向をX座標の正方向とし、画像の下方向をY座標の正方向とした座標系で表現している。かかる座標系においてPiP＿horizontal＿positionは、この座標系のX座標を現し、PiP＿vertical＿positionは、この座標系のY座標を現すことになる。
【０１６４】
pip＿scale[i]: Secondary ビデオのスケーリングタイプを示すフィールドである。スケーリングタイプには、以下のものがある。
0: 予約
1: スケーリングなし (x1)
2: 1/2スケーリング (x1/2)
3: 1/4スケーリング (x1/4)
4: 1.5倍スケーリング (x1.5)
5: フルスクリーンスケーリング
以降、pip＿timeline＿typeと、pip＿metadata＿time＿stampとの関係について説明する。
【０１６５】
pip＿timeline＿type[k] ＝1 
この場合、ref＿to＿PlayItem＿id[k] で参照されるPlayItem 時間軸上におけるSubPlayItemのIn＿Timeの写像点点から始まり、以降、SubPlayItemの時間長に相当する間隔において、ピクチャインピクチャは有効となる。この場合、PiP＿metadata＿time＿stampは、このピクチャインピクチャ有効期間に属する何れかの時刻を、45kHzの時間精度で表現する。このとき、 pip＿metadata＿time＿stamp[0] は、SubPlayItem のIn＿Timeを、ref＿to＿PlayItem＿id[k] で参照されるPlayItem のタイムライン上に写像することで得られる写像点に配置される。
【０１６６】
図３２は、PiP＿time＿line＿type“=1”である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。本図において、第３段目は、SubPlayItem時間軸であり、第２段目は、PlayItem時間軸である。第１段目は、プライマリビデオを構成する複数のピクチャである。
ここでセカンダリビデオがショッピング映像であり、本編中に途上する女優が着用している衣服のセールスを申し出るものとする。そしてPlayItem時間軸における時点t1において、画面左端が余白になっており、時点t2において、画面右端が余白になっているものとする。この場合、PiP＿metadata＿time＿stamp[i]をt1とし、PiP＿horizontal＿position[i]、PiP＿vertical＿position[i]を、画面左側に設定しておく。またPiP＿metadata＿time＿stamp[i+1]を時点t2とし、PiP＿horizontal＿position[i+1]、PiP＿vertical＿position[i+1]を画面右側に設定する。
【０１６７】
そうするとショッピング映像は、これら時点t1、時点t2において余白になっている部分に描かれることになる。PiP＿time＿line＿type“=1”の場合、本編の絵柄にあわせて、セカンダリビデオを配置することができるので、本編の視聴の邪魔にならない部分に、セカンダリビデオを表示させることができる。
pip＿timeline＿type[k] ＝ 2
図３３は、PiP＿time＿line＿type“=2”である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。本図における第1段目、第2段目、第3段目の意味合いは、前図における各段のそれと同じである。
【０１６８】
本図第3段目におけるSubPathの時間軸上において、SubPlayItemのIn＿Timeから始まり、以降、SubPlayItemの時間長に相当する間隔において、ピクチャインピクチャは有効となる。PiP＿metadata＿time＿stampは、このピクチャインピクチャ有効期間に属する何れかの時刻を、45kHzの時間精度で表現する。このとき、 pip＿metadata＿time＿stamp[0] は、SubPlayItem時間軸におけるIn＿Timeで指定された時点に配置される。
【０１６９】
Subpath時間軸側にPiP＿metadata＿time＿stamp[0]を配置するのは、セカンダリビデオで描画されるのが移動体であり、これを画面の左端から右端に移動させたい場合、この移動軌跡を規定するためである。何故なら、かかる移動跡は、本編の絵柄と関係なく、規定すればよい。そのため、PiP＿metadata＿time＿stamp[0]は、Subpath情報の再生時間軸上に配置されている。
【０１７０】
図３３において、PiP＿metadata＿time＿stamp[i]が、SubPlayItem時間軸のt1を指していて、PiP＿horizontal＿position[i]、PiP＿vertical＿position[i]が画面左上をさしているものとする。また、PiP＿metadata＿time＿stamp[i+1]が、SubPlayItem時間軸における時点t2を指していて、PiP＿horizontal＿position[i+1]、PiP＿vertical＿position[i+1]が画面右下をさしているものとする。
【０１７１】
そうすると画面左上へのセカンダリビデオの表示は、SubPlayItem時間軸においてPiP＿metadata＿time＿stamp[i]で指示される時刻になされる。そして、画面右下へのセカンダリビデオの表示は、SubPlayItem時間軸においてPiP＿metadata＿time＿stamp[i+1]で指示される時刻になされる。ここで、Sync＿Start＿PTS＿of＿PlayItemが0xFFFである場合、Sync＿Start＿PTS＿of＿PlayItemは、ユーザがロック操作操作を行った時点と解釈されるので、ユーザがロック操作を行えば、セカンダリビデオは、順次表示されてゆくことになす。これにより、セカンダリビデオ中に描かれた対象物(図中の流れ星)が、ユーザ操作に反応して、プライマリビデオ内で動きまわるような画面演出を実現することができる。 
【０１７２】
pip＿timeline＿type[k] ＝3
ref＿to＿PlayItem＿id[k] で参照されるPlayItem 時間軸上におけるPlayItemのIn＿Timeから始まり、Out＿Timeで終わる時間間隔において、ピクチャインピクチャは有効となる。PiP＿metadata＿time＿stampは、このピクチャインピクチャ実行期間に属する何れかの時刻を、45kHzの時間精度で表現する。このとき、 pip＿metadata＿time＿stamp[0] は、ref＿to＿PlayItem＿id[k] で参照される PlayItem のIn＿Timeに置かれる。
【０１７３】
図３４は、PiP＿time＿line＿type＝３である場合、PiP＿metadata＿time＿stampが時間軸上にどのように配置されるかを示す図である。本図における各段の意味合いは、図３２における各段のそれと同じである。また、プライマリビデオにおいて余白になっている位置も、図３２のそれと同じであるとする。pip＿timeline＿type[k] “＝3”であると、PiP＿metadata＿time＿stamp[0]は、PlayItem時間軸の原点、つまり、In＿Timeで指示される時点に配置されるので、PlayItem時間軸の原点を基準にした座標を用いてt1を表現して、PiP＿metadata＿time＿stamp[i]に設定し、PlayItem時間軸の原点を基準にした座標を用いてt2を表現して、PiP＿metadata＿time＿stamp[i]に設定すれば、図３２と同様の画面演出を実現することができる。PiP＿time＿line＿typeが=3に設定されれば、PlayItem時間軸の原点を基準にした座標にて、ピクチャインピクチャを実行すべき期間を規定することができる。
【０１７４】
以上が本実施形態における記録媒体の改良である。続いて、本実施形態に係る再生装置についての改良を説明する。本実施形態における再生装置の改良点は、PiP制御部４３が、metadata＿block＿header、PiP＿metadata＿blockに基づき再生制御を行う点である。図３５、図３６は、ピクチャインピクチャに基づく再生制御の手順を示すフローチャートである。以降、本フローチャートを参照しながら、再生制御について説明する。
【０１７５】
ステップＳ９１は、選択プロシージャの実行を待つ、イベント待ちループを構成している。プロシージャが実行された場合、ステップＳ９１がYesになり、ステップＳ９２以降の処理を実行する。ステップＳ９２は、カレントPlayItemをref＿to＿PlayItem＿idとして指定し、PSR14におけるセカンダリビデオストリーム番号に対応するPIDを、Ref＿to＿secondary＿video＿stream＿idに指定したmetadata＿block＿headerが存在するか否かを判定する。
【０１７６】
もし存在すれば、係るmetadata＿block＿headerをカレントmetadata＿block＿headerとする(ステップＳ９３)。ステップＳ９４〜ステップＳ９６は、metadata＿block＿headerのPiP＿time＿line＿typeの値に応じて、ステップＳ９７、ステップＳ９８、ステップＳ９９を選択的に実行するものである。metadata＿block＿headerのPiP＿time＿line＿typeが=1である場合、ステップＳ９４がYesになり、プレイリスト再生時間軸におけるSync＿Start＿PTS＿of＿PlayItemの写像点に、PiP＿metadata＿block.PiP＿metadata＿time＿stamp[0]を配置する(ステップＳ９７)。
【０１７７】
metadata＿block＿headerのPiP＿time＿line＿typeが=2である場合、ステップＳ９５がYesになり、SubPlayItem時間軸におけるSubPlayItem.In＿Timeに、PiP＿metadata＿block.PiP＿metadata＿time＿stamp[0]を配置する(ステップＳ９８)。
metadata＿block＿headerのPiP＿time＿line＿typeが=3である場合、ステップＳ９６がYesになり、PlayItem.In＿Timeに、PiP＿metadata＿block.PiP＿metadata＿time＿stamp[0]を配置する(ステップＳ９９)。
【０１７８】
ステップＳ１００では、PiP＿metadata＿time＿stamp[0]の配置に基づき、PiP＿metadata＿time＿stamp[0][1]・・・[n]をSTC時間軸上の座標に変換する。その後、ステップＳ１０１〜ステップＳ１０５のループ処理に突入する。このループ処理におけるカウンタ変数は、変数iであり、ステップＳ１０１にて“０”に初期化され、ステップＳ１０３、ステップＳ１０４が一回実行される度にステップＳ１０５にてインクリメントされる。
【０１７９】
ステップＳ１０３は、現在の再生時点(カレントPresentation TiMe(PTM))が、PiP＿metadata＿block.PiP＿metadata＿time＿stamp[i]に到達したか否かの判定であり、もし到達すれば、metadata＿block＿header.Ref＿to＿secondary＿video＿stream＿idで指示されるセカンダリビデオを、(PiP＿horizontal＿position、PiP＿vertical＿position)で指示される座標に、PiP＿scale[i]で指示される大きさで表示するよう、α3乗算部１５c、加算部１５dに指示する(ステップＳ１０４)。
【０１８０】
ここでmetadata＿block＿headerのis＿luma＿key:が1に設定されていれば、輝度(Y) の値がゼロ以上、upper＿limit＿luma＿key 値以下までの画素を、ピクチャインピクチャの合成時において、完全透過するよう、α3乗算部１５c、加算部１５dに指示する。これにより、セカンダリビデオにおける人物像のみを抜き出して、プライマリビデオと合成することができる。
【０１８１】
ループ処理の終了要件は、ステップＳ１０２において、i＝number＿of＿pip＿metadata＿entries-1と判定されることである。この終了要件が、満たされるまで、ステップＳ１０３〜ステップＳ１０５の処理が繰り返し実行される。
また、PlayList情報の途中から、トリック再生を開始する場合、現在実行されているピクチャインピクチャが同期式PiPであるなら、trick＿playing＿flagを参照して、プライマリビデオに対するトリック再生の実行中、 PiPのためのウィンドウを開き続けるか閉じるかの コンテンツプロバイダ の意思を確認する。このフラグが 0 の場合、PiP ウィンドウを閉じることをコンテンツプロバイダ は意図しているので、ウィンドゥを閉じる。このフラグが 1の場合、PiP ウィンドウを開いておくことをコンテンツプロバイダ は意図しているので、ウィンドゥを開いたままにする。
【０１８２】
以上のように本実施形態によれば、ピクチャインピクチャを開始する際の基準を、MainPath側の時間軸とするか、Subpath側の時間軸とするかをPiP＿time＿line＿typeに基づき決定するので、プライマリビデオにおける絵柄にあわせてセカンダリビデオの位置を決めるか、ユーザ操作に反応してセカンダリビデオを動かすか等のオーサリング担当者の思惑を、再生装置の動作に反映することができる。 
【０１８３】
(第３実施形態)
本実施形態は、複数のセカンダリビデオストリームのそれぞれを、SubPlayItemと対応付けて、これらSubPlayItemから、1つのピクチャインピクチャ再生パスを定義する場合の改良について説明する。
【０１８４】
この場合、SubPlayItem1つ当たりの再生区間の長さは、対応するPlayItemの再生区間の長さよりも短くてもよい。その反面、SubPathにおける連続的なSubPlayItemの間に時間のオーバーラップを持つことを許さない。たとえPlayItem間のバウンダリを伴う場合でもオーバーラップすることは許されない。その一方、SubPathにおける連続的なSubPlayItemの間に時間的なギャップを持つことは許される。SubPathにおける連続的なSubPlayItemの間に時間的なギャップは、３秒か、それより大きい。
【０１８５】
図３７は、1つのPlayItemからなるMainPathと、2つのSubPlayItemからなるSubpathとの関係を示す図である。第１段目は、プライマリビデオストリームを構成する複数のVideo Presentation Unitを示す。第２段目は、sync＿PlayItem＿idとsync＿start＿PTS＿of＿PlayItemの組みを示す。第３段目はSubClip時間軸を示し、第４段目は、SubPlayItemにおけるIn＿Time,Out＿Timeを示す。第５段目は、セカンダリビデオストリームを構成する複数のVideo Presentation Unitを示す。
【０１８６】
第２段目に存在するsync＿PlayItem＿idとsync＿start＿PTS＿of＿PlayItemのとの組みは、MainPathの時間軸における、SubPlayItem＿IN＿timeと同期する時間を指定する。
また、第５段目におけるSubPlayItem＿IN＿timeによって示されるセカンダリビデオ側のVideo Presentation Unitvp1,2と、sync＿start＿PTS＿of＿PlayItemによって示されるプライマリビデオ側のVideo Presentation Unitvp3,4とは、MainPath時間軸において、同じ時点に位置することになる。
【０１８７】
更に、第3段目におけるSubpath時間軸上には、2つのSubPlayItem(SubPlayItem＃1,＃2)が定義されているが、Subpath時間軸において、SubPlayItem＃1のOut＿Timeから、SubPlayItem＃2のIn＿Timeまでには、時間的なギャップ(図中のtime gap)が存在してもよい。もし、SubPathにおける連続的なSubPlayItemが時間のギャップなしにつながっているなら、SubPlayItem間の接続状態は、sp＿connection＿conditionによって表現されねばならない。
【０１８８】
図３７では、第３段目に示すように、連続する2以上のSubPlayItemの間に、3秒という時間的猶予が与えられるので、セカンダリビデオ用デコーダを制御するための過度の負担をコントローラ２２にかけることはない。かかる配慮が、Subpath時間軸側に存在するので、再生装置の動作クロックを高めることなく、連続した2つのSubPlayItemに基づきSubClipを再生する処理を実現することができる。
【０１８９】
以上が、以上が本実施形態における記録媒体の改良である。続いて、本実施形態における再生装置の改良について説明する。
本実施形態における再生装置の改良は、プレイリスト処理部４１が、図３８、図３９、図４０に示したフローチャートの処理手順を実行する点である。
図３８は、PlayList情報に基づく再生手順のフローチャートである。本フローチャートは、PlayList情報を構成する.mplsファイルを読み込み(ステップＳ１１)、PlayList情報における先頭のPlayItemをカレントPlayItemにした上で(ステップＳ１２)、このカレントPlayItemに対して、ステップＳ１３〜ステップＳ２５の処理を繰り返すループ構造になっている。このループ構造は、ステップＳ２３を終了条件としたものであり、カレントPlayItemのIn＿Timeに対応するAccess Unitから、カレントPlayItemのOut＿Timeに対応するAccess Unitまでを読み出しをBD-ROMドライブに命じ(ステップＳ１３)、カレントPlayItemにpreviousPlayItemが存在するか否かを判定して(ステップＳ１４)、判定結果に応じて、ステップＳ１５の処理、ステップＳ１６〜ステップＳ２１の処理を選択的に実行する。具体的には、カレントPlayItemにpreviousPlayItemがなければ(ステップＳ１４でNo)、PlayItem＿In＿TimeからPlayItem＿Out＿Timeまでの再生をデコーダに命じる(ステップＳ１５)。
【０１９０】
カレントPlayItemにpreviousPlayItemがあれば(ステップＳ１４でYes)、カレントPlayItemにおけるConnection Conditionフィールドの値が5であるか(CC＝5)否かを判定し(ステップＳ１６)、CC＝5であるなら(ステップＳ１６でYes)、ステップＳ１７〜ステップＳ２０の処理を行う。
上述したpreviousPlayItemが存在する場合、MainClipにおけるATC＿Sequenceが切り替わることになる。この切替において、ATC＿delta1と呼ばれるMainClipのためのオフセット値を算出し(ステップＳ１７)、それまでのATC＿SequenceにおけるATC値(ATC1)に、ATC＿delta1を加算することにより、新しいATC＿SequenceのATC値(ATC2)を得る(ステップＳ１８)。
【０１９１】
また、上述した、previousPlayItemが存在する場合、MainClipにおけるSTC＿Sequenceが切り替わることになる。この切り替えにおいて、STC＿delta1と呼ばれるオフセット値を求めて(ステップＳ１９)、それまでのSTC＿SequenceにおけるSTC値(STC1)に、STC＿delta1を加算することにより(ステップＳ２０)、新しいSTC＿SequenceのSTC値(STC2)を求める。
【０１９２】
そしてAudio Overrapのミュートをオーディオデコーダ９に指示した上で、PlayItem＿In＿TimeからPlayItem＿Out＿Timeまでの再生をデコーダに命じる(ステップＳ２１）。カレントPlayItemがCC＝5でないなら、CC=1、CC=6の処理を行う。
ステップＳ１５、ステップＳ１６〜ステップＳ２１のどちらかの処理を実行すればステップＳ２２〜ステップＳ２３の処理を実行する。
【０１９３】
ステップＳ２２は、カレントPlayItemと同期再生しているSubPlayItemが存在していて、現在の再生時点(カレントPTM(Presentation TiMe))が、そのSubPlayItemと、次のSubPlayItemとの境界に達したかを判定する。もしステップＳ２２がYesになれば、図３９のフローチャートのステップＳ３０を実行する。
ステップＳ２３は、AVClip時間軸における現在の再生時点がカレントPlayItemのOut＿Timeに到達したかどうかの判定である。
【０１９４】
もしステップＳ２３がYesになれば、ステップＳ２４に移行する。ステップＳ２４は、カレントPlayItemがPlayList情報における最後のPlayItemになったか否かの判定であり、最後のPlayItemでなければ、PlayList情報における次のPlayItemを、カレントPlayItemにして(ステップＳ２５）、ステップＳ２６を経た上でステップＳ１３に移行する。以上の処理により、PlayList情報における全てのPlayItemに対して、ステップＳ１３〜ステップＳ２４の処理が施されることになる。
【０１９５】
図３９は、SubPlayItemにおけるシームレス接続の処理手順を示すフローチャートである。
ステップＳ２６において、PlayItemの切り替えに伴い、新たなセカンダリビデオストリームが選択された場合、ステップＳ３０では、その新たなセカンダリビデオストリームに対応するSubPlayItemを選択する。
【０１９６】
その後、ステップＳ３１では、ステップＳ３０にて選択されたSubPlayItemをカレントSubPlayItemに設定する。
以降、このカレントSubPlayItemに対し、ステップＳ３２〜ステップＳ４１の処理を実行する。先ず始めに、SubPlayItemのIn＿Timeに相当するAccess Unitから、Out＿Timeに相当するAccess Unitまでの読み出しをローカルストレージ２００に命じる(ステップＳ３２)。そしてカレントPlayItemにPrevious SubPlayItemが存在するか否かを判定して(ステップＳ３３)、判定結果に応じて、ステップＳ３４、ステップＳ３５の処理、ステップＳ３６〜ステップＳ４１の処理を選択的に実行する。具体的には、カレントPlayItemにPrevious SubPlayItemがなければ(ステップＳ３３でNo)、カレントPTMが、Sync＿Start＿Pts＿of＿PlayItemに到達するのを待ち(ステップＳ３４)、到達すれば、SubPlayItem＿In＿TimeからSubPlayItem＿Out＿Timeまでの再生をデコーダに命じる(ステップＳ３５)。
【０１９７】
カレントPlayItemにPrevious SubPlayItemがあれば(ステップＳ３３でYes)、カレントPlayItemがSP＿CC=5であるか否かを判定し(ステップＳ３６)、SP＿CC=5であるなら(ステップＳ３６でYes)、ステップＳ３７〜ステップＳ４１の処理を行う。
上述した、previousPlayItemが存在する場合、ATC＿Sequenceが切り替わることになる。この切替において、ATC＿delta2と呼ばれるSubClipのためのオフセット値を算出し(ステップＳ３７)、それまでのATC＿SequenceにおけるATC値(ATC1)に、ATC＿delta2を加算することにより、新しいATC＿SequenceのATC値(ATC2)を得る(ステップＳ３８)。
【０１９８】
ATC＿deltaとは、これまで読み出されているトランスポートストリーム(TS1)の最後のTSパケットの入力時点T1から、新たに読み出されたトランスポートストリーム(TS2)の最初のTSパケットの入力時点T2までのオフセット値をいい、“ATC＿delta≧N1/TS＿recording＿rate”という計算式で与えられる。ここでN1は、TS1の最後のビデオPESパケットに後続する、TSパケットのパケット数である。
【０１９９】
また、上述した、previousPlayItemが存在する場合、STC＿Sequenceも切り替わることになる。この切り替えにおいて、STC＿delta2を求めて(ステップＳ３９)、それまでのSTC＿SequenceにおけるSTC値(STC1)に、STC＿delta2を加算することにより(ステップＳ４０)、新しいSTC＿SequenceのSTC値(STC2)を求める。
先行STC＿Sequenceにおいて最後に再生されるピクチャの表示開始時刻をPTS1(1stEND)、ピクチャの表示期間をTppとし、後続STC＿Sequenceにおいて最初に表示されるピクチャの開始時刻をPTS2(2ndSTART)とした場合、CC＝5では、PTS1(1stEND)＋Tppの時刻と、PTS2(2ndSTART)の時刻とを一致させる必要があるから、STC＿delta2は、
STC＿delta2＝PTS1(1stEND)＋Tpp−PTS2(2ndSTART)
との計算式から算出される。
【０２００】
そしてAudio Overrapのミュートをオーディオデコーダ９に指示した上で、PlayItem＿In＿TimeからPlayItem＿Out＿Timeまでの再生をデコーダに命じる(ステップＳ４１）。
コントローラ２２は、上述したように、STCの変更処理を行うが、再生装置の一般的な実装において、この変更処理は、デコーダがフリーラン状態にある場合になされる。フリーラン状態とは、デコーダがSTCとの同期制御を行っていない状態をいう。その後、STC時間軸が設定できる状態まで、STCが復帰すれば、デコーダは、フリーラン状態から、STCとの同期制御へと移行する。一方、ステップＳ３６においてカレントPlayItemがCC＝5でないと判定されたなら(ステップＳ３６でNo)、CC=1、CC=6の処理を行う。
【０２０１】
図３８におけるステップＳ２６は、PlayItemの切り替えに伴い、新たなセカンダリビデオストリームが選択されたかどうかの判定である。もしステップＳ２６がYesになれば、図４０のステップＳ４５〜ステップＳ４７を実行する。
このステップＳ４５〜ステップＳ４７では、1つのPlayItem中の連続する2つのSubPlayItemのうち、一方のSubPlayItemから、他方のSubPlayItemへと再生が切り替ったとして、その切り替え後のSubPlayItemを、カレントSubPlayItemとする(ステップＳ４５)。
【０２０２】
そしてカレントSubPlayItemのIn＿Timeに相当するAccess Unitから、カレントSubPlayItemのOut＿Timeに相当するAccess Unitまでの読み出しをローカルストレージ２００に命じ(ステップＳ４６)、カレントSubPlayItem＿In＿TimeからカレントSubPlayItem＿Out＿Timeまでの再生をデコーダに命じる(ステップＳ４７)。
以上のように本実施形態によれば、1つのPlayItemの中において、カレントのSubPlayItemと、その直前のSubPlayItemとの間には、時間的なギャップがに設けられるので、かかるSubPlayItem間の境界では、ステップＳ３７〜ステップＳ４１のシームレス接続の処理が不要になる。シームレス接続の処理の実行頻度を少なくすることができるので、再生装置を高いクロックで動作させることは必要でなくなり、再生装置を低コストで製造することができる。
【０２０３】
(第４実施形態)
本実施形態では、ピクチャインピクチャにおける音声再生の実現に関する。この音声再生は、PlayList情報におけるSTN＿tableにて規定される。以降、STN＿tableにおける音声についてのstream＿entryについて説明する。これまでの説明で登場したプライマリオーディオストリーム、セカンダリオーディオストリームはそれぞれ、プライマリビデオストリーム、セカンダリビデオストリームに割り当てられる。つまりプライマリオーディオストリームはプライマリビデオストリーム用の音声として、セカンダリオーディオストリームはセカンダリビデオストリーム用の音声として使用されるのである。そして、これらプライマリビデオストリーム用の音声、セカンダリビデオストリーム用の音声のうち、どれの再生を許可するかが、STN＿tableのstream＿entryに規定される。
【０２０４】
図４１は、Primary＿audio＿stream＿entry、Secondary＿audio＿stream＿entryの内部構成と、Comb＿info＿Secondary＿video＿Secondary＿audioの内部構成とを示す図である。図中の引出線ha1,ha2は、Primary＿audio＿stream＿entry、Secondary＿audio＿stream＿entryの内部構成をクローズアップしている。これらの内部構成は、何れも共通であり、stream＿entryと、stream＿attributeとからなる。
【０２０５】
引出線ha3は、Stream＿entryの内部構成をクローズアップして示している。この引出線に示すように、プライマリオーディオストリーム及びセカンダリオーディオストリームのStream＿entryは、セカンダリオーディオストリームを参照しているSubPath情報を示す『ref＿to＿Sub＿Path＿id』、プライマリオーディオストリーム及びセカンダリオーディオストリームが多重化されているSubClipを示す『ref＿to＿Sub＿Clip＿entry＿id』、プライマリオーディオストリーム及びセカンダリオーディオストリームを構成するPESパケットのPIDに対する参照値を示す『ref＿to＿stream＿PID＿of＿Sub＿Clip』を含む。
【０２０６】
引出線ha4は、stream＿attributeの内部構成をクローズアップして示している。この引出線に示すように、プライマリオーディオストリーム,セカンダリオーディオストリームにおけるStream＿attributeは、オーディオストリームの符号化方式を示す『stream＿coding＿type』と、対応するオーディオストリームのチャネル構成を示す『audio＿presentation＿type』と、対応するオーディオストリームのサンプリング周波数を示す対応する『Sampling＿frequency』と、オーディオストリームの言語属性を示す『audio＿language code』からなる。
【０２０７】
このセカンダリオーディオストリームに対応する情報として、セカンダリビデオストリーム用のstream＿entryには、引出線ha5に示すように、Comb＿info＿Secondary＿video＿Secondary＿audioが存在する。
引出線ha6は、Comb＿info＿Secondary＿video＿Secondary＿audioの内部構成をクローズアップして示している。Comb＿info＿Secondary＿video＿Secondary＿audioは、各Secondaryビデオストリームごとに組合せ可能なセカンダリオーディオストリームの総数を示す「number＿of＿Secondary＿audio＿stream＿ref＿entries」と、セカンダリビデオストリームの再生時に組合せることができるセカンダリオーディオストリームのストリーム番号を示す「Secondary＿audio＿stream＿id＿ref[0]〜[n]」とからなる。
【０２０８】
以上のように、STN＿tableには、プライマリビデオストリームの音声となるプライマリオーディオストリームのstream＿entry、セカンダリビデオストリームの音声となるセカンダリオーディオストリームのstream＿entryのそれぞれがあり、また、セカンダリビデオストリームのstream＿entryには、セカンダリビデオストリームとの組合せを意図したセカンダリオーディオストリームが、セカンダリビデオストリーム毎に記述されている(Comb＿info＿Secondary＿video＿Secondary＿audio)ことがわかる。
【０２０９】
以上がオーディオストリーム再生のための記録媒体の特徴である。次に、オーディオストリーム再生のための再生装置の特徴について説明する。
音声再生のための構成として、再生装置には、カレントプライマリオーディオストリームのストリーム番号と、カレントセカンダリオーディオストリームのストリーム番号とが、それぞれ別々にPSRセット２３に格納されている。
【０２１０】
具体的にいうと、PSRセット２３のうち、PSR1にはカレントプライマリオーディオストリームのストリーム番号が格納されており、PSR14にはカレントセカンダリビデオストリームのストリーム番号とは別に、カレントセカンダリオーディオストリームのストリーム番号が格納されている。
＜PSR1＞
図４２（ａ）は、PSR1のビットアサインを示す図である。
【０２１１】
本図によると、32ビット長のPSR1の下位8ビット(b0〜b7)は、プライマリオーディオストリーム番号であり、カレントPlay ItemのSTN＿tableにentryが記述されている複数プライマリオーディオストリームのうち、1つを特定する。PSR1の設定値が変化すれば、再生装置はこの変化後のプライマリオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、プライマリオーディオストリームが存在しない旨、又は、プライマリオーディオストリームが選択されてない旨を示す。1〜32の設定値は、プライマリオーディオストリームのストリーム番号として解釈される。
【０２１２】
＜PSR14＞
図４２（ｂ）は、PSR14のビットアサインを示す図である。
本図によると、32ビット長のPSR14における下位8ビット(b0〜b7)は、セカンダリオーディオストリーム番号であり、カレントPlay ItemのSTN＿tableにentryが記述されている複数セカンダリオーディオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、再生装置はこの変化後のセカンダリオーディオストリームを再生する。PSR14は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、セカンダリオーディオストリームが存在しない旨、又は、セカンダリオーディオストリームが選択されてない旨を示す。1〜32の設定値は、セカンダリオーディオストリームのストリーム番号として解釈される。
【０２１３】
これらのセカンダリオーディオストリーム番号は、Procedure実行部４２により設定され、Procedure実行部４２により更新される。かかるProcedure実行部４２により、PSR14におけるセカンダリオーディオストリーム番号は、図４３に示すような状態遷移をなす。図４３は、PSR14におけるセカンダリオーディオストリーム番号が取り得る状態遷移を示す図である。本図においてValidとは、PSR14のセカンダリオーディオストリーム番号が、Play ItemのSTN＿tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【０２１４】
Invalidとは、PSR14のセカンダリオーディオストリーム番号が、0であるか、又は、Play ItemのSTN＿tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN＿tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図４３における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。これらの意味合いは、第１実施形態に示したセカンダリビデオストリームのそれと同じである。
【０２１５】
また、これらの状態遷移は、”Load Disc”、”Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”というような事象をトリガにしている。これらの意味合いも、第１実施形態に示したセカンダリビデオストリームのそれと同じである。
続いて、セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順について説明する。
【０２１６】
図４４は、セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順を示すフローチャートである。ステップＳ１１１において、PSR14からセカンダリオーディオストリーム番号を取得し、ステップＳ１１２では、取得した番号のセカンダリオーディオストリームが条件(A)を満たすか否かを判定する。
条件(A):Comb＿info＿secondary＿video＿Secondary＿audioに規定されたセカンダリオーディオストリーム番号と、PSR14から取得したセカンダリオーディオストリーム番号との比較では、どの番号のセカンダリオーディオストリームと、カレントセカンダリビデオストリームとの組合せが許可されている。
【０２１７】
この判定を経た後、ステップＳ１１３を実行する。ステップＳ１１３では、カレントPlayItemにおけるセカンダリオーディオストリームのSTN＿tableにおけるStream＿entryの個数が0であるか否かを判定するものである。もし、STN＿tableにおけるStream＿entryの個数が0であるなら、PSR14のセカンダリオーディオストリーム番号を維持する(ステップＳ１１６)。もしSTN＿tableにおけるStream＿entryの個数が0でなければ、ステップＳ１１４の判定を行う。
【０２１８】
ステップＳ１１４では、セカンダリオーディオストリーム番号が、カレントPlayItemにおけるSTN＿tableのstream＿entry数以下であり、尚且つ、条件(A)を満たすかどうかを判定する。もし満たさないなら、有効なセカンダリオーディオストリーム番号が既にPSR14に存在すると考えられるので、これを変化させない(ステップＳ１１７)。満たすなら、カレントPlayItemについて最適なセカンダリオーディオストリームを選択する(ステップＳ１１５)。
【０２１９】
以上が、セカンダリオーディオストリームにおけるProcedure when playback condition is changedについての説明である。
図４５は、カレントPlayItemについて最適なセカンダリオーディオストリームを選択する手順を示すフローチャートである。
ステップＳ１２１〜ステップＳ１２３は、任意のストリームについて、以下の条件が満たされているかのチェックを、STN＿tableにおける全てのstream＿entryに記述されているストリームに対して実行する。
【０２２０】
条件(a):Comb＿info＿secondary＿video＿Secondary＿audioに規定されたセカンダリオーディオストリーム番号と、セカンダリオーディオストリームiの番号との比較では、セカンダリオーディオストリームiと、カレントセカンダリビデオストリームとの組合せが許可されている。
【０２２１】
条件(b):カレントプライマリオーディオストリームのaudio＿language＿codeと、セカンダリオーディオストリームのaudio＿language＿codeとが一致している。
以上のチェックを、STN＿tableにおいて再生許可されている全てのセカンダリオーディオストリームに対して実行すれば、ステップＳ１２４を実行する。
ステップＳ１２４は、条件(a)を満たすセカンダリオーディオストリームが存在するか否かを判定する判定ステップである。存在しないなら0xFFとなるセカンダリオーディオストリーム番号をPSR14に設定する(ステップＳ１２５)。
【０２２２】
条件(a)を満たすセカンダリオーディオストリームが存在するなら、ステップＳ１２６の判定を実行する。これは、条件(a)及び条件(b)を満たすセカンダリオーディオストリームが、少なくとも1つ存在するか否かを判定するというものである。存在するなら、条件(a)及び条件(b)を満たすストリームのうち、対応するStream＿EntryがSTN＿tableにおいて最初に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップＳ１２７)。
【０２２３】
条件(a)及び条件(b)を満たすセカンダリオーディオストリームが存在しないなら、ステップＳ１２８の判定を実行する。これは、条件(a)を満たすセカンダリオーディオトリームが存在するか否かを判定するものである。もし存在するなら、条件(a)を満たすセカンダリオーディオストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップＳ１２９)。
【０２２４】
以上が、最適なセカンダリオーディオストリームの選択手順についての説明である。
図４６は、セカンダリオーディオストリームについての処理手順を示すフローチャートである。
ステップＳ１３１は、ユーザ操作に応じた番号(番号X)から特定されるセカンダリオーディオストリームが、条件(A)を満たすか否かをチェックする。
【０２２５】
条件(A):Comb＿info＿secondary＿video＿Secondary＿audioに規定されたセカンダリオーディオストリーム番号と、番号Xから特定されるセカンダリオーディオストリーム番号との比較では、番号Xのセカンダリオーディオストリームと、カレントセカンダリビデオストリームとの組合せが許可されている。
【０２２６】
もし満たせば、ステップＳ１３２の判定を実行する。この判定は、番号XがSTN＿tableにおけるstream＿entryの総数以下であり、且つ、番号Xに対応するセカンダリオーディオストリームが条件(A)を満たすかどうかを判定するものである。そうであるなら、番号Xにて特定されるセカンダリオーディオストリームを選び、番号XをPSR14に設定する(ステップＳ１４２)。否であるなら、ステップＳ１３３の判定を行う。これは番号Xが0xFFであるか否かを判定する。この0xFFの意味合いは、第１実施形態における番号Xのそれと同じであり、いわゆる“おまかせ番号”を意味する。もし番号Xが0xFFでないならPSR14における現状のセカンダリオーディオストリーム番号を維持する(ステッＳ１４３)。
【０２２７】
番号Xが0xFFであるなら、カレントPlayItemにとって最適なセカンダリオーディオストリームを選択すべく、ステップＳ１３４〜ステップＳ１３６において、以下の条件が満たされているかのチェックを、STN＿tableにおける全てのstream＿entryに記述されているセカンダリオーディオストリームに対して実行する。
ここで、チェックの対象となるセカンダリオーディオストリームをセカンダリオーディオストリームiとすると、条件(a)、条件(b)は以下のように規定される。
【０２２８】
条件(a):Comb＿info＿secondary＿video＿Secondary＿audioに規定されたセカンダリオーディオストリーム番号と、セカンダリオーディオストリームiの番号との比較では、セカンダリオーディオストリームiと、カレントセカンダリビデオストリームとの組合せが許可されている。
【０２２９】
条件(b):カレントプライマリオーディオストリームのaudio＿language＿codeと、セカンダリオーディオストリームiのaudio＿language＿codeとが一致している。
ループの実行後、ステップＳ１３７の判定を実行する。これは条件(a)(b)を満たすストリームが少なくとも1つ存在するか否かを判定する。存在するなら、ステップＳ１３８において条件(a)及び条件(b)を満たすセカンダリオーディオストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームの番号を、PSR14に設定する。
【０２３０】
存在しないなら、条件(a)を満たすセカンダリオーディオストリームが存在するかどうかをステップＳ１３９において判定し、存在するなら、ステップＳ１４０において条件(a)を満たすセカンダリオーディオストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームの番号を、PSR14に設定する。存在しないなら、PSR14のセカンダリオーディオストリーム番号を維持する(ステップＳ１４１)。
【０２３１】
以上が、セカンダリオーディオストリームに対するProcedure when stream change is requestedについての説明である。
以上が本実施形態において、Procedure実行部４２によりなされるプロシージャである。続いて、オーディオストリーム再生の特徴の1つである、ミキシング制御部４５について説明する。
【０２３２】
ミキシング制御部４５は、オーディオデコーダ８aによるプライマリオーディオストリームの再生出力と、オーディオデコーダ８bによるセカンダリオーディオストリームの再生出力とをミキシングするよう、ミキサー９aを制御する。
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn＿timeからOut＿timeまでであり、また、カレントPlayItem情報のSTN＿Tableにおいて、セカンダリオーディオストリームが再生許可と設定されている場合、PSR14に格納されたストリーム番号のセカンダリオーディオストリームのデコードが、オーディオデコーダ７bにてなされているので、ミキシング制御部４５は、オーディオデコーダ７aの再生出力に対して、オーディオデコーダ７bの再生出力をミキシングするよう、ミキサー９aを制御する。
【０２３３】
プライマリオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、セカンダリオーディオストリームの再生出力をミキシングすることができる。ここでセカンダリオーディオストリームが映画監督のコメンタリ音声である場合、セカンダリオーディオストリームをミキシングすべきプライマリオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではプライマリオーディオストリームよりも少ないチャンネル数のセカンダリオーディオストリーム（例えばモノラル）の音声が使われる。
【０２３４】
以上のように本実施形態によれば、プライマリビデオストリーム用のプライマリオーディオストリーム、セカンダリビデオストリーム用のセカンダリオーディオストリームとしてそれぞれどれの再生を許可するかを、STN＿tableに規定しておき、このSTN＿tableに存在するstream＿entryからプライマリオーディオストリーム、セカンダリオーディオストリームをそれぞれ1つ選んで、これらのミキシング出力を行うので、ピクチャインピクチャの実行時において、本編の音声に、映画監督によるコメンタリが加わった合成音声を聴くことができる。
【０２３５】
セカンダリビデオが、監督や出演者のみが登場している動画像であり、プライマリビデオにおける映像内容を指さすような演技を行っている場合、ピクチャインピクチャにてかかるセカンダリビデオの映像内容を、セカンダリオーディオによる映画監督のコメンタリと組み合わせることにより、映画作品本編の再生映像の中身を、監督や出演者が指さして、解説しているような、楽しい画面演出を実現することができる。
【０２３６】
(第５実施形態)
本実施形態は、ピクチャインピクチャにおける字幕再生の改良に関する。この字幕再生は、PlayList情報におけるSTN＿tableにて規定される。以降、STN＿tableにおける字幕のためのstream＿entryについて説明する。プライマリオーディオストリーム、セカンダリオーディオストリームはそれぞれ、プライマリビデオストリーム、セカンダリビデオストリームに割り当てられたが、字幕には、Presentation Graphicsストリーム、textSTストリームという区別はあるものの、プライマリビデオストリーム用、セカンダリビデオストリーム用という明確な区別は存在しない。
【０２３７】
以降、PGtestSTストリームについてのstream＿entryについて説明する。図４７は、STN＿tableのうち、PGtestSTストリームに特に関連あるものを抜き出して描いた図である。この図によると、STN＿tableのうち、字幕表示に特に関連するのは、「number＿of＿PG＿textST＿streams＿entries[1]〜[n]」、「number＿of＿PiP＿PG＿textST＿stream＿entries＿plus」、「PGtestST＿stream＿entry」、「Secondary＿video＿Stream＿entry」内の「Comb＿info＿Secondary＿video＿PiP＿PG＿textST」であることがわかる。
【０２３８】
「number＿of＿PG＿textST＿streams＿entries」は、ピクチャインピクチャを実行していない場合に、選択の対象となるPGtestSTストリームの個数を示す
「number＿of＿PiP＿PG＿textST＿stream＿entries＿plus」は、ピクチャインピクチャアプリケーションのため、STN＿tableに定義されているnumber＿of＿PG＿textST＿streams＿entriesに追加すべきPresentation Graphicsストリーム及びtextSTストリームの個数を示す。このnumber＿of＿PG＿textST＿streams＿entriesと、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusとの和は、255以下になる。
【０２３９】
ここでnumber＿of＿PG＿textST＿streams＿entriesがn1である場合、1からn1までのストリーム番号の範囲が、PGtextSTストリームの範囲となるが、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusがn2であれば、ピクチャインピクチャの実行時において、1からn1+n2までのストリーム番号の範囲が、PGtextSTストリームの範囲となる。つまり、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusがSTN＿tableに記述されていれば、PGTextSTストリームのストリーム番号の範囲は、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusに記述された個数だけ広がることになる。
【０２４０】
非ピクチャインピクチャ時にあっては、PGtestSTストリームについてのstream＿entryのうち、1からn1までのものが選択の対象になり、ピクチャインピクチャ時にあっては、PGtestSTストリームについてのstream＿entryのうち、1からn1+n2までのものが選択の対象になる。予め断っておくが、ピクチャインピクチャが行われる場合であっても、プライマリビデオの字幕、セカンダリビデオの字幕がそれぞれ再生される訳ではない。ピクチャインピクチャで表示されるのは、プライマリビデオ用の字幕、セカンダリビデオ用の字幕のどちらか1つである。これは、プライマリビデオ用、セカンダリビデオ用の字幕を別々にBD-ROMに記録しておくとすると、再生装置には、グラフィクス用のデコーダが2つ必要になり、ハードウェアコストの増大をもたらすこと(i)、セカンダリビデオ用に字幕を縮小して表示したとしても、見づらくなるだけであること(ii)、という2つの理由による。
【０２４１】
引出線hp1は、PG＿testST＿Stream＿entryの内部構成をクローズアップして示している。この引出線に示すように、PG＿testST＿Stream＿entryは、Stream＿entry,Stream＿Attributeを有していて、Stream＿entryの中に、再生が許可されているPGtestSTストリームのPIDが存在する。
引出線hp2は、「Secondary＿video＿Stream＿entry[1]」の内部構成をクローズアップして示している。この内部構成におけるComb＿info＿Secondary＿video＿PiP＿PG＿textSTには、PGtestSTストリームのうち、セカンダリビデオストリームとの組合せが許可されているものを一意に示している。
【０２４２】
引出線hp3は、Comb＿info＿Secondary＿video＿PiP＿PG＿textSTの内部構成を示す。Comb＿info＿Secondary＿video＿PiP＿PG＿textSTは、各Secondaryビデオストリームごとに組合せ可能なPiP＿PG＿textSTストリームの総数を示す「number＿of＿PiP＿PG＿textST＿stream＿ref＿entries」と、再生時に組合せることができるPiP＿PG＿textSTストリームのストリーム番号を示す「PiP＿PG＿textST＿stream＿id＿ref[0]〜[n]」とからなる。
【０２４３】
以上が、本実施形態における記録媒体の改良である。続いて、本実施形態における再生装置についての改良について説明する。字幕再生のための構成として、再生装置には、ピクチャインピクチャ実行時におけるカレントPGTextSTストリームのストリーム番号と、ピクチャインピクチャ非実行時におけるカレントPGTextSTストリームのストリーム番号とが、それぞれ別々にPSRセット２３に格納されている。
【０２４４】
図４８（ａ）は、カレントPGtestSTストリームのストリーム番号が取りうる数値範囲を示す図である。非ピクチャインピクチャ実行時において、カレントPGtestSTストリームのストリーム番号は、STN＿tableに記載されたPiP＿PG＿text＿ST＿stream＿numberをn1とすると、本図の上段に示すように、1からn1までの値をとる。
一方、ピクチャインピクチャ実行時におけるカレントPGtestSTストリームの番号は、PiP＿PG＿TextSTストリーム番号と呼ばれ、STN＿tableに記載されたPG＿text＿ST＿stream＿numberをn1、STN＿tableに記載されたnumber＿of＿PiP＿PG＿textST＿stream＿entries＿plusをn2とすると、本図の下段に示すように、PiP＿PG＿TextSTストリーム番号は1からn1+n2までの値をとる。
【０２４５】
図４８（ｂ）は、PSR2のビットアサインを示す図である。以降、PSR2における各ビットの意味合いについて述べる。
disp＿s＿flag
PSR2のb31は、disp＿s＿flagであり、その1ビットの設定値は以下のように解釈される。
【０２４６】
0b: 「PG textST ストリーム」と「PiP PG textST ストリーム」の両方を表示
することは不可となることを示す。
1b: 「PG textST ストリーム」と「PiP PG textST ストリーム」の両方を表示することは可能となることを示す
PiP＿PG＿textST＿valid＿flag
PSR2のb30は、PiP＿PG＿textST＿valid＿flagであり、その1ビットの設定値は以下のように解釈される。
【０２４７】
0b: カレントPlayItem 表示中に Secondary ビデオストリームが表示されている場合、PSR2 で定義された PG TextST Stream Numberが用いられる。
1b: カレントPlayItem 表示中に Secondary ビデオストリームが表示されている場合、PSR2 で定義された PiP PG TextST Stream Numberが用いられる。
カレントPlayItem 表示中に Secondary ビデオストリームが表示されていないとき、PiP＿PG＿textST＿valid＿flag は BD-ROM再生装置の表示に影響しない。この場合、PSR2 で定義された PG TextST Stream Numberが用いられる。
【０２４８】
PG TextST Stream Number:
PSR2のb0〜b11は、PG TextST Stream Numberであり、その12ビットの設定値は以下のように解釈される。
【０２４９】
カレントPlayItem 表示中に Secondary ビデオストリームが表示されていない場合(Secondary ビデオストリームは表示されていない場合とは、PSR14 の disp＿v＿flag は 0b に設定されている状態をいう)、PSR2 における PG TextST Stream Numberの値は、カレントPlayItem の STN＿tableにおける PG TextST ストリーム項目の中から、PG ストリームと TextST ストリームのどちらが表示されるかを特定するために用いられる。
【０２５０】
PiP PG TextST Stream Number:
PSR2のb16〜b27は、PiP PG TextST Stream Numberであり、その12ビットの設定値は以下のように解釈される。
カレントPlayItem 表示中に Secondary ビデオストリームが表示されていて、PSR2 の PiP＿PG＿textST＿valid＿flag が 1b に設定されている場合(ここでセカンダリビデオストリームの表示時とは、PSR14 の disp＿v＿flag は 1b に設定され、カレントPlayItem 表示中に PSR14 によって決定された Secondary ビデオストリームが表示される場合をいう。)、PSR2 における PiP PG TextST Stream Numberの値は、カレントPlayItem の STN＿table における PG TextST ストリーム項目の中から、PG ストリームとTextST ストリームのどちらが表示されるかを特定するために用いられる。
【０２５１】
ここで非ピクチャインピクチャのためのPGtestSTストリームのストリーム番号及びその取り扱いは、本実施形態の主眼ではないので説明を省略する。本実施形態では、ピクチャインピクチャのためのPGtestSTストリームの番号について説明する。
図４９は、ピクチャインピクチャ用PGtestSTストリームのストリーム番号である、PiP＿PG＿TextSTストリーム番号がなす状態遷移を示す図である。本図においてValidとは、PSR2におけるPiP＿PG＿TextSTストリーム番号が、Play ItemのSTN＿tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
【０２５２】
Invalidとは、PSR2におけるPiP＿PG＿TextSTストリーム番号が、0であるか、又は、Play ItemのSTN＿tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN＿tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図４９における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSR2におけるPGTextSTストリームの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。
【０２５３】
これら破線枠に示されるProcedure when playback condition is changed、Procedure when Stream change is requestedこれらの意味会いは、第１実施形態に示したセカンダリビデオストリーム番号のそれと同じである。
また、各状態遷移のトリガとなるべき事象には、”Load Disc”、”Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”がある。これらの意味合いも、第１実施形態に示したセカンダリビデオストリームストリーム番号のそれと同じである。
【０２５４】
続いて、Procedure when stream change is requestedの処理手順について説明する。
図５０は、PGtestSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
ステップＳ１５１においてPSR2からカレントPiP＿PG＿TextSTストリーム番号を取得し、ステップＳ１５２において、カレントPiP＿PG＿TextSTストリーム番号は、Presentation GraphicsストリームについてのものかtextSTストリームについてのものかを判定する。ステップＳ１５３は、カレントPiP＿PG＿TextSTストリーム番号に対応するPresentation Graphicsストリームが、条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
【０２５５】
ここで条件(A),条件(B)、条件(C)は、以下のように規定される。
条件(A)：カレントPiP＿PG＿TextSTストリーム番号から特定されるPresentation Graphicsストリームをデコードする能力が再生装置に存在する。
条件(B)：特定された言語を再生する能力が再生装置に存在する。
【０２５６】
条件(C)：PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、カレントPiP＿PG＿TextSTストリーム番号から特定されるPGtextSTストリームとの組合せが許可されている。
一方ステップＳ１５４では、カレントPiP＿PG＿TextSTストリーム番号に対応するtextSTストリームが、条件(A)、条件(B)、条件(C)を満たすか否かをチェックするものである。
【０２５７】
条件(A):カレントPiP＿PG＿TextSTストリーム番号のtextSTストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。かかる再生能力は、PSRセット２３におけるPSR30に示されている。
条件(B):カレントPiP＿PG＿TextSTストリーム番号のtextSTストリームの言語属性をサポートする能力が再生装置に存在すること。かかるサポート能力は、PSRセット２３におけるPSR48〜61に示されている。
【０２５８】
条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリーム番号との比較では、PSR14に格納されているカレントセカンダリビデオストリームと、カレントPiP＿PG＿TextSTストリーム番号から特定されるPGtextSTストリームとの組合せが許可されていること。
ここで、ある言語の字幕がtextSTストリームで表現されている場合、その言語のtextSTストリームを、“デコードすることができる”といえるには、その言語における文字コードを、ビットマップに展開する能力と、その言語の特性をサポートするサポート能力とが再生装置側に存在する必要がある。
【０２５９】
英語、日本語、アラビア語を例にとってみると、英語の字幕表示は、“横書き”,“カーニング”,“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
日本語の字幕表示は、“横書き”,“縦書き”,“行末禁則”,“ルビ”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
【０２６０】
アラビア語の字幕表示は、“右から左の描画”、“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
ある言語のtextSTストリームをビットマップに展開することができ、その言語の特性をサポートすることができる場合、上記条件(A)、条件(B)は、満たされているということができる。その言語のtextSTストリームをビットマップに展開することができるが、その言語の特性をサポートすることができない場合、上記条件(B)は満たされず、条件(A)のみが、満たされているということができる。
【０２６１】
以上の判定を経た後、ステップＳ１５５を実行する。ステップＳ１５５は、再生装置は、条件(Z)を満たすか否かを判定するものである
ここで条件(Z)とは、アンサポート言語の字幕を、再生することをユーザが意図していることであり、かかる意図は、PSRセット２３におけるPSR30に示されている。
【０２６２】
その後、ステップＳ１５６の判定ステップを実行する。これは、カレントPlayItemのSTN＿tableにおけるnumber＿of＿PG＿textST＿streams＿entriesと、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusとの和が=0であるか否かを判定するものである。STN＿tableに再生が許可されているPGTextSTストリームが存在しない場合、PSR2におけるPGTextSTストリームの番号を維持する(ステップＳ１５７)。カレントSTN＿tableにおいて再生が許可されているPGTextSTストリームが少なくとも1つ存在する場合、ステップＳ１５８を実行する。これは、カレントPiP＿PG＿TextSTストリーム番号の有効性を問うステップであり、カレントPiP＿PG＿TextSTストリーム番号がSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)、条件(B)、条件(C)を満たすかどうかを判定する。
【０２６３】
もし満たすなら、有効なPiP＿PG＿TextSTストリーム番号が既にPSR2に存在するとして、これを変化させない(ステップＳ１５９)。
もしステップＳ１５８で満たさないと判定されたなら、ステップＳ１６０の判定を実行する。これは、カレントPiP＿PG＿TextSTストリーム番号がSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定するものである。もし満たすなら、PSR2には、アンサポート言語のテキスト字幕のPiP＿PG＿TextSTストリーム番号が設定されているが、ユーザはアンサポート言語の再生を意図しているので、PSR2を変化させない(ステップＳ１６１)。ステップＳ１６０において満たさないと判定されたなら、カレントPlayItemについて最適なストリームを選択する(ステップＳ１６２)。
【０２６４】
以上が、PGTextSTストリームにおけるProcedure when playback condition is changedについての説明である。
図５１は、カレントPlayItemについて最適なPGTextSTストリームを選択する処理手順を示すフローチャートである。
ステップＳ１ ９０において、全てのPGTextSTストリームについて、条件(a)〜条件(d)を満たすかどうかをチェックする。
【０２６５】
チェック対象となるPresentation Graphicsストリームを、Presentation Graphicsストリームiとした場合、条件(a)〜条件(d)は、以下のように規定される。
条件(a)：Presentation Graphicsストリームiをデコードする能力が再生装置に存在する。
条件(b)：Presentation Graphicsストリームiから特定された言語を再生する能力が再生装置に存在する。
【０２６６】
条件(c)：PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、Presentation Graphicsストリームiとの組合せが許可されている。
条件(d):Presentation GraphicsストリームiのPG＿language＿codeが、再生装置における言語設定と一致している。ここで、再生装置における言語設定は、PSRセット２３におけるPSR17に示されている。
【０２６７】
チェック対象となるtextSTストリームを、textSTストリームiとした場合、条件(a)〜条件(d)は、以下のように規定される。
条件(a):textSTストリームiのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。
条件(b):textSTストリームiの言語属性をサポートする能力が再生装置に存在すること。
【０２６８】
条件(c):PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリームiの番号との比較では、カレントセカンダリビデオストリームと、PiP＿PG＿TextSTストリーム番号から特定されるtextSTストリームiとの組合せが許可されていること。
条件(d):textSTストリームiのtextST＿language＿codeが、再生装置における言語設定と一致していること。 
【０２６９】
以上のチェックを経た後、ステップＳ１９１では、再生装置が、前のフローチャートで述べた条件(Z)(：アンサポート言語の再生)を満たすかどうかを判定する。みたさない場合、ステップＳ１９２において、条件(a)〜条件(d)を満たすPGTextSTストリームが存在するかを判定する。存在するなら、条件(a)〜条件(d)を満たすPGTextSTストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したPiP＿PG＿TextSTストリーム番号を、PSR2に設定する(ステップＳ１９３)。
【０２７０】
存在しないなら、ステップＳ１９４において、より緩和された条件を満たすPGTextSTストリームが存在するか否かを判定する。緩和された条件とは、条件(a)、条件(b)、条件(c)の3つを満たすことであり、これを満たすPGTextSTストリームが存在するかが、ステップＳ１９４で判定される。存在するなら、条件(a)、条件(b)、条件(c)を満たすPiPPGtestSTストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したPiP＿PG＿TextSTストリーム番号を、PSR2に設定する(ステップＳ１９６)。
【０２７１】
存在しないなら、0xFFFであるPiP＿PG＿TextSTストリーム番号をPSR2に設定する(ステップＳ１９５)。ステップＳ１９１において、条件(Z)を満たすと判定されたなら、ステップＳ１９７において、別の緩和された条件を満たすPGTextSTストリームが存在するかを判定する。別の緩和された条件とは、条件(a)、条件(c)、条件(d)を満たすものであり、ステップＳ１９８では、これらを満たすPGTextSTストリームが存在するかか否かが判定される。
【０２７２】
もし存在するなら、条件(a)、条件(c)、条件(d)を満たすPiP＿PGTextSTストリームのうち、対応するStream＿EntryがSTN＿tableの最初に位置するものを選択して、選択したもののPiP＿PG＿TextSTストリーム番号を、PSR2に設定する(ステップＳ１９８)。
存在しない場合、ステップＳ１９９において、条件(a)、条件(c)を満たすPGTextSTストリームが存在するかを判定する。存在する場合、条件(a)、条件(c)を満たすPiP＿PGtestSTストリームのうち、対応するStream＿EntryがSTN＿tableにおいて先頭順位に位置するものを選択して、選択したもののPiP＿PG＿TextSTストリーム番号を、PSR2に設定する(ステップＳ２００)。存在しない場合、0xFFFをPSR2に設定する(ステップＳ２０１)。
【０２７３】
以上が、最適なPGTextSTストリームの選択手順についての説明である。
図５２は、PGTextSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
ステップＳ１７１では、ユーザ操作に応じて取得した番号Xは、Presentation GraphicsストリームについてのPiP＿PG＿TextSTストリーム番号を意味するか、textSTストリームについてのPiP＿PG＿TextSTストリーム番号を意味するかを判定する。ステップＳ１７２は、番号Xに対応するPresentation Graphicsストリームが、以下の条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
【０２７４】
条件(A)：番号Xから特定されるPresentation Graphicsストリームをデコードする能力が再生装置に存在すること。
条件(B)：特定されたPresentation Graphicsストリームの属性となる言語を、再生する能力が再生装置に存在すること。
条件(C)：PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、番号Xから特定されるPGtextSTストリームとの組合せが許可されていること。
【０２７５】
ステップＳ１７３は、番号Xに対応するtextSTストリームが、以下の条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
条件(A):番号Xに対応するtextSTストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。
【０２７６】
条件(B):番号Xに対応するtextSTストリームの言語属性をサポートする能力が再生装置に存在すること。
条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb＿info＿Secondary＿video＿PiP＿textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、番号Xから特定されるPGtextSTストリームとの組合せが許可されていること。
【０２７７】
ステップＳ１７４では、再生装置は、条件(Z)を満たすか否かをチェックし、ステップＳ１７５の判定を行う。この判定は、番号がSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定する。もし満たすなら、番号XにあたるPiP＿PG＿TextSTストリーム番号のPGTextSTストリームを選択して、PSR2に設定する(ステップＳ１７６)。
【０２７８】
ステップＳ１７５において満たさないと判定されたなら、ステップＳ１７７の判定を実行する。この判定は、番号がSTN＿tableにおけるstream＿entryの総数以下であり、且つ、条件(A)(C)(Z)を満たすかどうかを判定するものである。満たすなら、番号XにあたるPiP＿PGTextSTストリームを選択して、そのPiP＿PG＿TextSTストリーム番号をPSR2に設定する(ステップＳ１７８)。
【０２７９】
満たさないなら、ステップＳ１７９の判定を行う。この判定は、番号Xが、0xFFFであるかか否かを判定するものである。そうでないなら、STN＿tableに再生が許可されているPGTextSTストリームが存在しないとして、PSR2の値を維持する(ステップＳ１８０)。
0xFFFであるなら、カレントPlayItemについて最適なPGTextSTストリームを選択する(ステップＳ１８１)。この最適なPGTextSTストリームの選択は、図５１に示したものと同じである。
【０２８０】
以上が、PGTextSTストリームにおけるProcedure when stream change is requestedについての説明である。
以上のように本実施形態によれば、ピクチャインピクチャが有効である場合、number＿of＿PG＿textST＿streams＿entriesと、number＿of＿PiP＿PG＿textST＿stream＿entries＿plusとを足しあわせた数値範囲のの中から、PiP＿PG＿TextSTストリーム番号が選ばれ、このPiP＿PG＿TextSTストリーム番号に対応するPresentation Graphicsストリーム又はtextSTストリームを再生するので、あるときは、プライマリビデオストリームに適した字幕を動画像と共に再生させ、またあるときは、セカンダリビデオストリームに適した字幕を動画像と共に再生させることができ、字幕選択の幅を広げることができる。
【０２８１】
(第６実施形態)
本実施形態では、これまでの実施形態で述べた、BD-ROMの制作及び工業的な生産について、詳しく説明する。
＜BD-ROMの制作＞
先ず初めに、企画工程を行う。この工程では、BD-ROMをどのような筋書きで再生させるかを決める。
【０２８２】
次に、素材作成工程を行う。この工程は、動画収録、音声収録等の素材作成を行うものである。
そしてフォーマット工程を行う。この工程は、企画工程において作成された筋書きと、素材とからBD-ROMのボリューム領域に記録すべきデータの全体像(一般にボリュームデータという)を得るものである。
【０２８３】
本発明に係る記録媒体の応用層フォーマットは、プログラミング言語で記述されたクラス構造体のインスタンスであり、BD-ROM規格に規定された構文に基づいて、クラス構造体のインスタンスを記述することで、Clip情報,PlayList情報等を作成することができる。この場合、テーブル形式のデータは、プログラミング言語のfor文を用いて定義することができ、その他、特定の条件下のみ、必要になるようなデータは、if文を用いて定義することができる。
【０２８４】
最後にプレス工程を行う。このプレス工程では、ボリュームイメージを物理データ列に変換して、この物理データ列を用いて原盤カッティングを行い、ディスク原盤を作成する。
こうして、プレス装置によって原盤が作成されれば、BD-ROMを工業的に大量に生産する。この生産は主に、基板成形、反射膜成膜、保護膜コーティング、張り合わせ、レーベルの印刷といった諸工程からなる。
【０２８５】
以上の工程を経て、各実施形態に示した記録媒体(BD-ROM)を作ることができる。
＜追加コンテンツの作成工程＞
映画作品を、BD-ROMコンテンツと、追加コンテンツとで構成する場合は、上述した企画工程からフォーマッティング工程までを実行する。そうして、1つのボリュームデータを構成するAVClip、Clip情報、PlayList情報が得られれば、これらのうち、既にBD-ROMにて供給すべきものを除外し、残ったものを、追加コンテンツとして、アーカイバプログラム等で1つのファイルにまとめる。こうした処理を経て、追加コンテンツが得られれば、かかる追加コンテンツをWWWサーバに供し、再生装置からの要求に応じて、再生装置に送出する。
【０２８６】
＜オーサリングシステム＞
上述した複数工程のうち、フォーマッティング工程は、BD-ROM制作の中核になるものであり、オーサリングシステムと呼ばれる専用のシステムでなされる。本システムは、制作スタジオに設置され、ユーザの使用に供される。図５３は、第６実施形態に係るオーサリングシステムの内部構成を示す図である。以降、本図を参照しながら、オーサリングシステムについての説明を行う。
【０２８７】
本図に示すようにオーサリングシステムは、タイトル構造作成装置５１、リールセット編集装置５２、BDシナリオ生成装置５３、Java(登録商標)(TM)プログラミング装置５４、素材作成/インポート装置５５、 ディスク作成装置５６、検証装置５７、マスター作成部５８といった装置を、構内ネットワークを介して互いに接続することで構成される。
１）タイトル構造作成装置５１
タイトル構造作成装置５１は、Index.bdmvで示される各タイトルがどのようなコンテンツで構成されるかを決定する。本装置による決定は、タイトル構造情報を作成することでなされる。タイトル構造情報とは、木構造を用いて、タイトル、Movieオブジェクト、BDJオブジェクト、プレイリスト間の関係を規定する情報である。具体的にいうと、タイトル構造情報は、制作しようとするBD-ROMの「ディスク名」に対応するノード、そのBD-ROMにおいて、Index.bdmvから再生可能となる「タイトル」に対応するノード、そのタイトルを構成する「Movieオブジェクト及びBDJオブジェクト」に対応するノード、当該Movieオブジェクト及びBDJオブジェクトを構成するコマンドから再生される「プレイリスト」のノードを規定して、これらノードを、エッジ(辺)で結び付けることで、タイトル、Movieオブジェクト、BDJオブジェクト、プレイリスト間の関係を規定する。タイトル構造情報においてPlayList情報は、00001.mpls,00002.mplsというような、ファイル名ではなく、MainPlaylist, MenuPlaylistというような、抽象的な名称で記載される。以上のような木構造を、ユーザからの対話操作に基づいて作成してゆくことで、本装置は、タイトル構造情報を完成させてゆく。
【０２８８】
２)リールセット編集装置５２
リールセット編集装置５２は、ビデオ、オーディオ、字幕、ボタンなど映画として完結する複数のエレメンタリーストリームの関係を決定する。例えば、１本の映画が1本のビデオ、２本のオーディオ、３本の字幕、１本のボタンストリームから成る場合に、それらで一本の映画となることを指定し、また、映画本編に対して、一部分だけ映像が異なるようなディレクターズカットを指定したり、複数のアングルを持つマルチアングルを設定したりする機能を有する。リールセット編集装置５２から出力されるリールセットファイルとは、前述のような情報をまとめたものである。
【０２８９】
３）BDシナリオ生成装置５３
BDシナリオ生成装置５３とは、メニュー編集部５３aと、シナリオ編集部５３bとから構成される。
(メニュー編集部５３a)
メニュー編集部５３aは、GUIを経由したユーザ操作に従って、Interactive Graphics Streamを構成するボタンの配置や、ボタンに付加されるコマンド、ボタンアニメーションなどの機能を作成する。
【０２９０】
(シナリオ編集部５３b)
シナリオ編集部５３bは、GUIを経由したユーザ操作に従った編集処理をタイトル構造作成装置５１によって作成されたタイトル構造情報に施すことにより、シナリオを作成し出力する。ここでシナリオとは、デジタルストリームの再生にあたって、タイトル単位での再生を再生装置に行わせる情報であり、BD-ROMではIndexTable、MovieObject、PlayListとして定義されている情報がシナリオにあたる。BD-ROMシナリオデータには、ストリームを構成する素材情報、再生経路情報、メニュー画面配置、メニューからの遷移情報などを含み、ユーザーはこれらの情報の検証が完了するまでシナリオ生成装置を用いシナリオ編集作業を行う。このシナリオ編集作業では、シナリオ編集部５３bは、タイトル構造情報のプレイリストリストの内容を設定する。かかるシナリオ編集作業により第１実施形態、第４実施形態、第５実施形態に示したSTN＿tableや、第２実施形態に示したPiP＿metadataをプレイリストの構成要素として定義することで、これらの構成要素は、BD-ROMシナリオデータに組込まれることになる。
【０２９１】
また、BDシナリオ生成装置５３が出力するBD-ROMシナリオデータは、後に説明するマルチプレクサ５６eでの多重化を実現するためのパラメータ等も含まれる。
また、BDシナリオ生成装置５３は、前述したシームレス動画メニューのデータ構造のシナリオを作成することが可能である。ユーザはGUIを経由した操作によって、メニュー編集部５３aを利用し、メニューの背景映像としてシームレスに再生したい映像を選択する。シナリオ編集部５３bは、シームレス動画メニューのデータ構造にあうようにプレイリストを作成する。プレイリストをAVClipの数に合うようにプレイアイテムの個数を調整し、BD-ROMシナリオデータとして出力する。そのとき、マルチプレクサ５６eで多重化を実現するパラメータとして、各AVClipをシームレスに再生するように設定を行う。
【０２９２】
４）Java(登録商標)(TM)プログラミング装置５４
Java(登録商標)(TM)プログラミング装置５４は、IDクラス作成部５４aと、Java(登録商標)(TM)プログラム編集部５４b、BDJオブジェクト作成部５４cから構成される。
(IDクラス作成部５４a)
IDクラス作成部５４aは、タイトル構造作成装置５１によって作成されたタイトル構造情報を利用しIDクラスソースコードを作成する。IDクラスソースコードとは、Java(登録商標)(TM)プログラムが最終的にディスク上に作成されるIndex.bdmvやPlayList情報にアクセスするためのJava(登録商標)(TM)クラスライブラリのソースコードである。このIDクラスソースコードからコンパイルが得るJava(登録商標)(TM)クラスライブラリをIDクラスライブラリと呼ぶことにする。
【０２９３】
IDクラスソースコードは、プレイリスト番号を指定することでディスクから所定のプレイリストファイルを読み込むコンストラクタをもち、このコンストラクタを実行して作成したインスタンスを利用することでAVClipの再生等が実行可能なように設計、実装されている。IDクラスライブラリの変数名は、MainPlaylist, MenuPlaylistのように、タイトル構造情報で定義されるプレイリストノードの名前を用いて定義される。このとき用いるプレイリスト番号は、ダミーの番号でよい。
【０２９４】
(Java(登録商標)(TM)プログラム編集部５４b)
Java(登録商標)(TM)プログラム編集部５４bは、GUI等のユーザインターフェースを通じて、ユーザからの要求に従って、Java(登録商標)(TM)プログラムのソースコードを作成し、Java(登録商標)(TM)プログラムソースコードを出力する。Java(登録商標)(TM)プログラムによる、Index.bdmv、プレイリストの参照は、IDクラスライブラリにてなされる。
【０２９５】
(BDJオブジェクト作成部５４c)
BDJオブジェクト作成部５４cは、Java(登録商標)(TM)プログラム編集部５４bで作成したJava(登録商標)(TM)プログラムソースコードとIDクラス作成部５４aによって作成したIDクラスソースコードとを元に、BDJオブジェクト生成情報を作成する。BDJオブジェクト生成情報とは、最終的にBD-ROMに記録されるべきBDJオブジェクトの雛形となる情報であり、再生すべきプレイリストを、00001.mpls,00002.mplsというような具体的なファイル名ではなく、IDクラスライブラリで定義された変数名を用いて、指定している。
【０２９６】
５)素材作成/インポート装置５５は、字幕作成部５５a、オーディオインポート部５５b、ビデオインポート部５５c、Java(登録商標)(TM)インポート部５５dから構成される。入力されるビデオ素材、オーディオ素材、字幕用素材、Java(登録商標)(TM)プログラムソースコード等を、BD-ROM規格に準拠したビデオストリーム、オーディオストリーム、字幕データ、Java(登録商標)(TM)プログラムソースコード等に変換し、ディスク作成装置５６に受け渡す部である。
【０２９７】
(字幕作成部５５a)
字幕作成部５５aは、字幕と表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、BD-ROM規格に準拠した字幕データを生成して出力する。
(オーディオインポート部５５b)
オーディオインポート部５５bは、あらかじめACー3などで圧縮されているオーディオが入力された場合には、対応するビデオに対するタイミング情報などを付加したり、余分なデータを削除する等処理を施した上で出力する。圧縮されていない場合には、ユーザーが指定するフォーマットに変換して出力される。
【０２９８】
(ビデオインポート部５５c)
ビデオインポート部５５cは、あらかじめMPEG2、MPEG4-AVC、VC-1などの方式で圧縮されているビデオストリームが入力された場合、必要に応じて不必要な情報を削除するなどしてから後、出力される。また、あらかじめ圧縮されていない非圧縮ビデオファイルが入力された場合には、かかるビデオファイルはビデオエンコーダーに入力され、ユーザーが指定するパラメーターに従って、圧縮された後、出力される。
【０２９９】
Java(登録商標)(TM)インポート部５５dは、Java(登録商標)(TM)プログラム作成装置５４によって作成されたJava(登録商標)(TM)プログラムソースコード、プログラム付属情報、IDクラスソースコード、BDJオブジェクト生成情報をディスク作成装置５６にデータを受け渡す。Java(登録商標)(TM)インポート部５５dは、タイトル構造情報を利用し、インポートするJava(登録商標)(TM)プログラムソースコード、プログラム付属情報、IDクラスソースコード、BDJオブジェクト生成情報と、それらのファイル群がどのBDJオブジェクトに対応するのかの関連付けを行い、タイトル構造情報のBDJオブジェクトノードのBDJオブジェクト生成情報を設定する。
【０３００】
６) ディスク作成装置５６
ディスク作成装置５６は、ID変換部５６a、静止画エンコーダー５６b、データベース生成部５６c、Java(登録商標)(TM)プログラムビルド部５６d、マルチプレクサー５６e、フォーマット部５６f、ディスクイメージ作成部５６gから構成される。
(ID変換部５６a)
ID変換部５６aは、Java(登録商標)(TM)インポート部５５dによって、ディスク作成装置５６に渡されたIDクラスソースコードを、タイトル番号、プレイリスト番号に変換する。また、ID変換部５６aは、BDJオブジェクト生成情報についても、BDJオブジェクト内で定義されるプレイリスト名が、実際のディスク上のプレイリスト番号と一致するよう変換する。
【０３０１】
(静止画エンコーダー５６b)
静止画エンコーダー５６bは、入力されたBD-ROMシナリオデータに静止画または静止画が保持されている場所が含まれる場合に、入力素材に含まれる静止画用イメージの中から該当する静止画を選択し、BD-ROMに準拠したMPEG２、MPEG４-AVC、VC１のいずれかの形式に変換する。
【０３０２】
(データベース生成部５６c)
データベース生成部５６cは、入力されたBD-ROMシナリオデータ、ID変換部５６aから渡されるBDJオブジェクト生成情報を元にして、BD-ROMに準拠したシナリオデータのデータベースを生成する。ここでのデータベースとは、前述のBD-ROMで定義されるIndex.bdmv、Movieオブジェクト、プレイリスト、BDJオブジェクトなどの総称である。
【０３０３】
(Java(登録商標)(TM)プログラムビルド部５６d)
Java(登録商標)(TM)プログラムビルド部５６dは、ID変換部５６aによって変換されたIDクラスソースコードと、Java(登録商標)(TM)プログラムソースコードとに対してコンパイル処理を行い、Java(登録商標)(TM)プログラムを出力する。
(マルチプレクサー５６e)
マルチプレクサー５６eは、BD-ROMシナリオデータに記述されているビデオ、オーディオ、字幕、メニューを実現する複数のエレメンタリーストリームを多重化して、MPEG２-TS形式のAVClipと呼ばれるデジタルストリームを得るための部である。また、マルチプレクサー５６eは、前記AVClipを出力すると同時に、AVClipに関する情報を持つClip情報を出力する。
【０３０４】
具体的には、BD-ROM向けに生成されたデジタルストリームにおいて、含まれるビデオエレメンタリーストリームがMPEG2であればI Picture、MPEG4-AVCであればI PictureかIDRPicture、VC１であればI Pictureが何処に存在するかを検出し、前述の各Pictureの表示時刻と、MEPG２-TSとなっているAVClipの何パケット目のTSパケットに前述の各Pictureの先頭データが入っているかを対応付けることでEP＿mapを生成する。マルチプレクサ５６eは、自ら生成したEP＿mapと、リールセットファイルから検出されるデジタルストリーム毎の音声属性、映像属性などを示す属性情報をペアにしてClip情報を作成する。
【０３０５】
EP＿Mapをマルチプレクサ５６eで作成する理由は、EP＿Mapは、マルチプレクサーから出力されるMPEG２-TS形式のAVClipに非常に密接に関係している情報であり、また、BD-ROMでの使用のために作成されるAVClipは、ファイルサイズが非常に大きくなる可能性があるので、もしAVClipを作成後に、EP＿Mapを作成しようとすると、大きなファイルサイズのAVClipを再度読み直す必要があるために、EP＿Map作成に要する時間が必要となる。これに対して、AVClipを作成しながらEP＿Mapを作成すれば、巨大なAVClipファイルを2度に渡って読み直す必要がないため、EP＿Map作成のための時間を節減できる。
【０３０６】
またマルチプレクサ５６eは、BD-ROMシナリオデータに含まれるマルチプレクサ５６eのためのパラメータを利用し、多重化の方法を変える。例えば、多重化する対象となる第１AVClipが、第2AVClipとシームレスに接続するようにパラメータが設定されている場合は、前述したようにバッファモデルを破綻させないように、第１のAVClipをデコードした後のバッファ状態を初期値として、第2のAVClipの多重化を行う。
【０３０７】
(フォーマット部５６f)
フォーマット部５６fは、前述のデータベース、AVClip、Java(登録商標)(TM)プログラムを入力とし、BD-ROMフォーマットに適合したデータ構造で、ファイルの配置処理を行う。BD-ROMの応用層を規定するディレクトリ構造を作成し、各ファイルを適切な箇所に配置する。この時、フォーマット部５６fは、木構造を定義することでJava(登録商標)(TM)プログラムとAVClipの関連付けを行う。かかる関連付けにより、再生に用いられる複数のファイルは、ブロックという単位にカテゴライズされる。以上のような木構造を、ユーザからの対話操作に基づいて作成してゆくことで、本装置は、ファイル同士の関連付けを完成させてゆく。
【０３０８】
(ディスクイメージ作成部５６g)
ディスクイメージ作成部５６gは、前述のデータベース、AVClipを入力とし、これらにBD-ROMフォーマットに適合したアドレスに割り付けてボリュームイメージを得る。
ボリュームイメージの作成にあたって、ディスクイメージ作成部５６gは、関連あるファイル群が物理的に連続になるように配置する、これにより再生するときのディスクの読み出しを効率的に行うことが出来るようになる。シームレスフラグがOnになっているブロックについては、このブロックに属するAVClipがシームレスに再生されるように配置する。具体的には、前述したシームレスに再生するための物理的な配置の条件である最小エクステントサイズや最大ジャンプ距離を条件に満たすようにディスク内での配置を行う。
【０３０９】
７)検証装置５７
検証装置５７は、エミュレーター部５７aとベリファイアー部５７bとからなる。
エミュレーター部５７aでは、前述のボリュームイメージを入力として、実際の映画コンテンツを再生し、制作者が意図した通りの動作、例えばメニューから本編映画への遷移が正しく行われているか、字幕切り替えやオーディオ切り替えは意図したとおりに動作しているか、映像やオーディオの品質は意図したとおりにできているかなどを検証する。
【０３１０】
ベリファイアー部５７bでは、前述のボリュームイメージを入力として、制作されたデータが、BD-ROMの規格に準拠しているかどうかを検証する。
Out＿of＿MUXストリームでピクチャインピクチャを実現するにあたっては、STN＿tableにおいて同時に再生することが許可されている複数のエレメンタリストリームにおける、TSパケットの、1秒当たりの総ビット量を、48Mbit以下に制限せねばならない。この制限が満たされているかどうかを確認するため、ベリファイアー部５７bは、ATC時間軸上の任意の1秒という期間において、ビット量がこの制限以下であるかを確認するこの1秒という単位時間は、“Window”と呼ばれ、ATC Sequenceの時間軸上の任意の位置に置かれる。つまり、デコードエレメンタリストリームにおけるビット量は、どのような1秒の期間においても、この48Mbit以下という条件を満たす必要がある。
【０３１１】
オーサリング時には、Sourceパケット列において、かかるWindowを、1パケットずつシフトさせつつ、1秒という期間内の、TSパケットのビット数が、48Mbit以下という制限を満たすかどうかをチェックする。もし、制限を満たせば、次のTSパケットにWindowをシフトさせ、制限を満たさねば、BD-ROM規格に違反していると断定する。そして、かかるシフトを繰り返した結果、WindowのOut＿Timeが、最後のSourceパケットに達すれば、当該Sourceパケットは、BD-ROM規格に整合しているとの判定を下すのである。
【０３１２】
このようにボリュームイメージはエミュレーター５７a、およびベリファイアー５７bで検証され、エラーが発見されると、然るべき前工程に戻って作業をやり直す。これら２つの検証過程を経た後、マスター作成部５８を経て、BD-ROMプレス用データが完成し、ディスクの製造を行うプレス工程に入る。
次に図５４を参照しながら、フォーマッティング工程における処理の流れについて説明する。
【０３１３】
ステップS３０１にて、ユーザはタイトル構造作成装置５１を用いてBD-ROMのタイトル構造を設定する。これによりタイトル構造情報が作成される。
ステップS３０２にて、ユーザはBDシナリオ生成装置５３を利用し、シームレス動画メニューの構成を持つシナリオデータの作成を行う。これにより、BD-ROMシナリオデータには、シームレス動画メニューのためのプレイリストが作成される。
【０３１４】
ステップS３０３にて、ユーザはタイトルに利用する動画、音声、静止画、字幕情報を用意した後、素材作成/インポート装置５５を利用し、ディスク作成装置５６に対してインポートを行う。
ステップS３０４にて、ユーザはJava(登録商標)(TM)プログラム装置５４によってJava(登録商標)(TM)タイトル用のJava(登録商標)(TM)プログラムソースコード、プログラム付加情報、IDクラスソースコードを作成する。
【０３１５】
ステップS３０５にて、ユーザはJava(登録商標)(TM)インポート部５５dを利用し、ステップS4にて作成されたJava(登録商標)(TM)プログラムソースコード、プログラム付加情報、IDクラスソースコードをディスク作成装置５６にインポートする。
ステップS３０６にて、ディスク作成装置５６は、ID変換部５６aを利用し、IDクラスソースコード、BDJオブジェクト生成情報における記述を、実際のディスク上のタイトル番号、プレイリスト番号に変換する。
【０３１６】
ステップS３０７にて、Java(登録商標)(TM)プログラムビルド部５６dは、ステップS３０６で出力されたソースコードを利用し、コンパイル処理によってJava(登録商標)(TM)プログラムを作成する。尚、ステップS３０６とステッステップＳ３０７はタイトル構造情報にJava(登録商標)(TM)タイトルが存在しない場合は、スキップすることが出来る。
ステップS３０８にて、静止画エンコーダ５６bは、BD-ROMシナリオデータに静止画または静止画が保持されている場所が含まれる場合には、該当する静止画をBD-ROMに準拠したMPEG2、MPEG4-AVC、VC1のいずれかの形式に変換する。
【０３１７】
ステップS３０９にて、マルチプレクサー５６eは、BD-ROMシナリオデータに従って、複数のエレメンタリーストリームの多重化を行い、MPEG2-TS形式のAVClipを作成する。
ステップS３１０にて、データベース生成部５６cは、BD-ROMシナリオデータに従って、BD-ROMに準拠したデータベース情報を作成する。
ステップS３１１にて、フォーマト部５６fは、ステップＳ３０７で作成されたJava(登録商標)(TM)プログラム、ステップＳ３０９で作成されたAVClip、ステッステップＳ１０で作成されたデータベースを入力とし、BD-ROMに準拠したフォーマットでファイルの配置を行う。このとき、Java(登録商標)(TM)プログラムとAVClipの関連付けを行い、ファイル関連情報を作成する。
【０３１８】
ステップＳ３１２にて、ディスクイメージ作成部５６gは、ファイル関連情報を利用しながら、ステップS３１１によって作成されたファイル群を使い、BD-ROMフォーマットに適合したボリュームイメージを作成する。
ステップS３１３にて、検証部５７は、ステップS１２にて作成されたディスクイメージの検証を行う。もしエラーが発生した場合は、然るべき前工程に戻って作業のやり直しを行う。
【０３１９】
以降、プライマリビデオストリーム及びセカンダリビデオストリームの多重化と、EP＿mapの作成とについて説明する。
プライマリビデオストリームをセカンダリビデオストリームに多重化する際、それぞれのGOP内の各ピクチャの表示時刻を示すPTS、各ピクチャのデコード時刻を示すDTSの値を比べ、プライマリビデオを構成するピクチャと、セカンダリビデオを構成するピクチャとがだいたい同じか、或は、近傍に配置されるように多重化を行ってゆく。
【０３２０】
プライマリビデオストリーム及びセカンダリビデオストリームがどのように多重化されるかについて、以下に説明する。
図５５の第1段目、第2段目は、同一のATC時間軸に配置された、プライマリビデオストリームを構成するTSパケット列、セカンダリビデオストリームを構成するTSパケット列を示す。
【０３２１】
第１実施形態に説明したように、プライマリビデオストリーム、セカンダリビデオストリームは、それぞれ、PESパケット列、TSパケット列に変換される。こうして得られたTSパケット列が、一本のATS時間軸上にシリアルに配置されるように、これらのTSパケットにATSを付してゆく。
ここでプライマリビデオストリームを構成するTSパケットは、ATC時間軸における全ての座標に存在する訳ではなく、GOP近辺に相当する座標が空きになっている。これは、かかる空きの座標に、プライマリビデオにおけるピクチャと同期再生すべき他の種別のデータを、配置しようという意思の現れである。この空きの座標、つまり、プライマリビデオストリームのTSパケットにより占有されていない座標に、セカンダリビデオストリームのTSパケットが配置されるよう、当該TSパケットにアタイムスタンプを付与するのである。第3段目は、多重化で得られたトランスポートストリームを示す。
【０３２２】
以上のように、プライマリビデオ側のATC時間軸上の空きの座標を示すATSを付与した上で、TSパケットをシリアルに配列することにより、プライマリビデオストリームは、セカンダリビデオストリームと、多重化されることになる。かかる多重化において、シリアルに並べられた各TSパケットは、連番で識別される。この連番をSPNといい、BD-ROMにおけるSourceパケットの位置は、このSPNで表現される。
【０３２３】
このように多重化しておけば、１本のトランスポートストリームの先頭から順に読み込んでいけば、必要な時刻に必要はプライマリビデオとセカンダリビデオのストリームを取り出すことができるが、スキップ操作や時間指定のジャンプ操作により、ストリームの先頭からではなく、ストリームの途中から再生が必要な場合、プライマリビデオおよびセカンダリビデオのGOP境界を考慮する必要がある。
【０３２４】
（同期再生）
プライマリビデオとセカンダリビデオは、エレメンタリーストリームとしては別々のストリームであるが、セカンダリビデオストリームをIn-MUXストリームとする場合、再生時において、1本のトランスポートストリームの先頭から順に読み込んでいけば、必要な時刻に必要はプライマリビデオとセカンダリビデオのストリームを取り出すことができる。しかし、スキップ操作や時間指定のジャンプ操作により、ストリームの先頭からではなく、ストリームの途中から再生が必要な場合、プライマリビデオおよびセカンダリビデオのGOP境界を考慮する必要がある。
【０３２５】
図５６は、多重化されたSourceパケット列が、プライマリビデオストリーム、セカンダリビデオストリームにおいて、どのGOPに帰属するかという帰属関係を示す。本図における第1段目の枠は、AVClipにおけるTSパケットが、プライマリビデオストリームに含まれる複数のGOPのうち、どれに帰属するかという帰属関係を示す。この枠によると、アドレスn1から、n2の直前のSourceパケットはGOP-1に属し、アドレスn2から、n3の直前までのSourceパケットはGOP-2に属していることがわかる。そして、n3以降のSourceパケットは、GOP-3に属していることがわかる。
【０３２６】
また第2段目の枠は、AVClipにおけるTSパケットが、セカンダリビデオストリームに含まれる複数のGOPのうち、どれに帰属するかという帰属関係を示す。この枠によると、アドレスu1から、u2の直前のSourceパケットはGOP-1に属し、アドレスu2から、u3の直前までのSourceパケットはGOP-2に属していることがわかる。そして、u3以降のSourceパケットは、GOP-3に属していることがわかる。
【０３２７】
ここでSPNn1,n2からSourceパケットを読み出す場合、セカンダリビデオストリームのGOPの先頭SPNu1,u2は、このSPNn1,n2より後なので、かかる読出時において、プライマリビデオのGOPだけでなく、セカンダリビデオのGOPも読み出してゆくことができ、ピＰを完成させることができる。つまりプライマリビデオの２つ目のGOPである(プライマリ)GOP-２から再生を開始する場合、(プライマリ)GOP-２に含まれる最初のパケットであるSPN=n2から再生を開始すれば、プライマリビデオに同期するセカンダリビデオの２つめのGOPである(セカンダリ)GOP-２も読み込まれるため、問題なくプライマリビデオとセカンダリビデオを再生開始時から同期して再生することができる。
【０３２８】
しかし、SPNn3からの読出時において、セカンダリビデオのGOPは、このn3より先に存在するので、セカンダリビデオのGOPを読み出すことができない。つまり(プライマリ)GOP-３から再生を開始したいため、SPN=n3から再生する場合、(セカンダリ)GOP-３が(プライマリ)GOP-３より前に配置されていては、SPN=n3からトランスポートストリームを読み込んだとしても、(セカンダリ)GOP-３に含まれるGOP内のデータを先頭から読むことができず、そのGOPに含まれる映像を完全にはデコードすることができない可能性がある。この場合、プライマリビデオはGOP-３の映像から再生が開始されるが、セカンダリビデオは、後から遅れてGOP-４の映像から始まるか、あるいは、プライマリビデオのGOP-３の映像と乱れたセカンダリビデオの再生が開始されることになる。
【０３２９】
指定した時刻あるいはGOPからプライマリビデオ・セカンダリビデオ揃って再生を始めるには、多重化の順番に制限を加える方法と、再生機器側で判断する方法が考えられる。
ストリーム側でGOP境界をアラインする場合は、どこから再生を開始するかということが重要となる。再生装置は再生開始点を時刻で指定された場合、EP＿mapを参照することにより、時刻情報をSPNに変換して、再生開始する位置を特定する。
【０３３０】
図５７は、プライマリビデオに対してのみ設定された、EP＿mapを示す図である。第1段目は、プライマリビデオ及びセカンダリビデオから構成されるピクチャを示し、第2段目はEP＿mapを示す。第3段目は、プライマリビデオストリーム、セカンダリビデオストリームにおけるGOPを示す。この場合、時刻情報はプライマリビデオのGOPの再生開始時刻、SPNはGOP先頭のアドレスとなる。再生機器はこのアドレスに示される位置からデータを読み出すため、セカンダリビデオのデータは、プライマリビデオのGOPよりあとから開始する必要がある。これが、多重化の順所に制限を加える方法である。
【０３３１】
プライマリビデオとセカンダリビデオのGOPの時間的間隔を同じにしておき、必ずプライマリビデオのGOP先頭をセカンダリビデオのGOP先頭よりも前に配置しておけば、EP＿mapに格納された時刻から再生する場合は、どの時刻にジャンプしてもジャンプした時刻からプライマリビデオ、セカンダリビデオを揃って表示することができる。
図５８は、プライマリビデオとセカンダリビデオのそれぞれに対して設けられたEP＿mapを示す図である。第1段目、第3段目の意味合いは、前図における各段のそれと同じである。第2段目は、プライマリビデオストリーム、セカンダリビデオストリームのそれぞれに設定されたEP＿mapを示す。本図のようにEP＿mapを設定しておけば、再生開始点を時刻で与えられると、対応するEP＿mapをプライマリビデオ、セカンダリビデオ側のそれぞれから探し出し、時刻情報に対応するSPNのうち、より前方に位置するアドレスから再生を開始すれば、指定した時刻のプライマリビデオ、セカンダリビデオのGOPを先頭から読み出すことが可能である。これが、再生機器側で開始位置を判断する方法である。それぞれのEP＿mapに登録する時刻情報を同じにしておけば、ある時刻を指定した時に、プライマリビデオとセカンダリビデオの対応する開始アドレスが取得できる。
【０３３２】
具体的にいうと、再生装置は、プライマリビデオストリーム用のEP＿mapを用いて、時間情報をプライマリビデオストリーム上のSPNに変換すると共に、セカンダリビデオストリーム用のEP＿mapを用いて、時間情報をセカンダリビデオストリーム上のSPNに変換する。
そしてこうして得られたSPNを比較する。 SPN1が、SPN2より小さければ、SPN１をBD-ROMのアドレスに変換する。SPN2が、SPN1より小さければ、SPN２をBD-ROMのアドレスに変換する。
【０３３３】
1つの時間情報を、プライマリビデオストリーム上のSPN、セカンダリビデオストリーム上のSPNに変換して、これらのうち小さい方をアドレスに変換するので、プライマリビデオストリームのGOPの位置が先行している場合も、セカンダリビデオストリームのGOPにの位置が先行している場合も、両者のGOPを読み出すことができる。
なお、プライマリビデオやセカンダリビデオが複数存在する場合、表示する必要のあるビデオストリームの再生開始位置のうちもカット、シーンも開始アドレスが早いものを利用すればよく、表示されないものまで対象としてアドレスの探索を行う必要はない。
【０３３４】
(第７実施形態)
本実施形態は、チャプターによる再生を再生装置に実現させる改良に関する。映画タイトルでは、シーンや内容ごとに区切られた、チャプターと呼ばれる区間が定義されており、ユーザーはチャプターを指定して、選んだチャプターの先頭から再生を開始できるように作られていることが多い。このチャプター選択というアプリケーションを、ピクチャ・イン・ピクチャに適用することを考える。
【０３３５】
チャプター先頭はシーンの区切れや内容の変化点であり、チャプターの先頭から再生をする場合、プライマリビデオはもちろんのこと、セカンダリビデオもシーン先頭の時刻から再生を開始することが望ましい。
図５９は、PlayList情報に存在するPlayListMark情報を示す。本図における第２段目、第3段目は、プライマリビデオストリーム及びセカンダリビデオストリームのGOPを示し、第１段目は、PlayListMark情報を示す。このPlayListMark情報は、複数のチャプター番号のそれぞれに、時刻情報を対応付けることで構成される。
【０３３６】
チャプター位置は、時刻情報を用いを表現されているので、このチャプターから再生開始アドレスを特定するには、再生装置は、EP＿mapを用いて前述の方法でアドレスを割り出し、そのアドレスからデータの読み出しを開始すればよい。
EP＿mapがプライマリビデオにのみ設定されている場合は、マークをプライマリビデオに対して設定して、同期再生すべきセカンダリビデオの開始位置は、プライマリビデオの開始位置よりも後方しておけばよい。。
【０３３７】
（スキップポイント）
チャプター境界と同様に、タイトル内の時間軸上の１点を指定できるマークを使うことにより、ユーザーのスキップ操作でジャンプする点を規定することも可能である。スキップ点に対するGOPの配置の制約、スキップ点からの再生方法は、チャプター先頭の場合と同様である。
【０３３８】
ここで、スキップ点を、複数のセカンダリビデオに、個別に設定する場合を考える。
スキップ点がプライマリビデオに対して設定されている場合、セカンダリビデオが表示されていても、表示されていなくても、いつもユーザーはそのスキップ点を指定して、再生位置をジャンプさせることが可能である。映画本編映像のシーン変化点などにスキップ点を設定するような場合にあたる。それに対して、監督の解説映像などであるセカンダリビデオに対してスキップ点を設定する場合、対象となる映像が表示されているとき以外にスキップ点が有効になってはユーザーに混乱を与えることになる。
【０３３９】
図６０は、セカンダリビデオストリームが存在する位置を、チャプターとして指定したPlayListMark情報を示す図である。本図において、第２、３、４段目は、プライマリビデオストリームと、2つのセカンダリビデオストリームとを示し、第１段目は、PlayListMark情報の中身を示す。
監督の解説映像であるセカンダリビデオストリーム＃1は、途中で解説の内容が変わるため、スキップ点を設定してある。この時、セカンダリビデオストリーム＃1が表示されていればユーザーはこのスキップ点（マーク番号２）を指定してジャンプできるが、セカンダリビデオストリームを表示していなかったり、セカンダリビデオストリーム＃2を表示している場合は、このスキップ点にジャンプできないようにしておくべきである。
【０３４０】
そこで本実施形態では、PlayListMark情報において、マーク情報のそれぞれに、“ストリーム指定”というフィールドを対応付ける。マーク情報は、マーク番号と、対応する時刻情報とをふくむが、このマーク情報のそれぞれにストリーム指定フィールドを設けるのである。
このストリーム指定フィールドが、指定無し(全体)であれば、セカンダリビデオストリームの表示如何にかかわりなく、このマーク情報点に対するチャプタージャンプが許可される。このストリーム指定フィールドが、セカンダリビデオストリーム＃1であれば、セカンダリビデオストリーム＃1の再生時においてのみ、このマーク情報点に対するチャプタージャンプを再生装置に許可する。
【０３４１】
このストリーム指定フィールドが、セカンダリビデオストリーム＃2であれば、セカンダリビデオストリーム＃2の再生時においてのみ、このマーク情報点に対するチャプタージャンプを再生装置に許可する。こうすることにより、再生装置は、表示されている映像の内容にあったスキップ点を、ユーザーに利用させることができる。
このようにストリーム個別にスキップ点を設定すれば、表示されている内容に従って、ユーザーが適切な位置にジャンプできるような仕組みを提供することができる。
【０３４２】
なお、GUIなどを用いて、強制的にマーク番号を指定して再生開始位置をマーク２の位置などに移動させたい場合は、セカンダリビデオストリーム＃1が表示されていなかったり、他のセカンダリビデオストリームが表示されていたとしても、強制的にセカンダリビデオストリーム＃1の表示に切り替えて、そのスキップ点に移動することも可能である。
(第８実施形態)
プライマリビデオ及びセカンダリビデオがインターレス映像である場合の改良である。ピクチャデータは、以下のTOPフィールド、Bottomフィールドから構成される。TOPフィールドは、フレームを構成するラインのうち、奇数番目に現れるもの(奇数ライン)を寄せ集めたものをいう。Bottomフィールドは、フレームを構成するラインのうち、偶数番目に現れるもの(偶数ライン)を寄せ集めたものをいう。
【０３４３】
図６１（ａ）は、プライマリビデオ、セカンダリビデオを構成するビデオフィールドを示す図である。ピクチャインピクチャでは、プライマリビデオを構成するビデオフィールド、セカンダリビデオを構成するビデオフィールドを1対1の比率で合成しようとしてゆくので、ピクチャインピクチャにあたっては、合成すべきビデオフィールドが同位相になる場合と、逆位相になる場合とが現れる。
【０３４４】
図６１（ｂ）は、合成すべきビデオフィールドが、同位相になる組合せを示す。同位相になる組合せとは、本図に示すように、プライマリビデオがトップフィールドになり、セカンダリビデオもまたトップフィールドになる組合せ、プライマリビデオがボトムフィールドになり、セカンダリビデオもボトムフィールドになる組合せをいう。
図６１（ｃ）は、合成すべきビデオフィールドが、逆位相になる組合せを示す。逆位相になる組合せとは、本図に示すように、プライマリビデオがトップフィールドになり、セカンダリビデオがボトムフィールドになる組合せ、プライマリビデオがボトムフィールド、セカンダリビデオがトップフィールドになる組合せをいう。
【０３４５】
以上のような組合せが存在しうる場合において、プライマリビデオ及びセカンダリビデオを合成しようとすると、図６２（ａ）（ｂ）に示すように、2通りのピクチャインピクチャ画像が現れることになる。図６２（ａ）は、プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの偶数ラインとが一致しているピクチャインピクチャ画像を示す。かかるピクチャインピクチャ画像は、テレビへの再生出力が可能である。
【０３４６】
図６２（ｂ）は、プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの奇数ラインとが一致しているピクチャインピクチャ画像を示す。かかるピクチャインピクチャ画像は、テレビへの再生出力が不能となる。
再生出力が不能となるピクチャインピクチャ画像、つまり、（ｂ）の合成画像の発生を避けるため、本実施形態に係る記録媒体では、セカンダリビデオの配置位置及び表示時点を以下のように調整している。
【０３４７】
図６３は、プライマリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFxと、セカンダリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFyとを合成して出力する場合、このビデオフィールドFyの配置位置及び表示時点をどのように調整するかを示す。
ここでPiP＿metadata＿blockにおけるPiP＿horizontal＿position、PiP＿vertical＿positionで規定すべき座標を(Px,Py)とした場合、配置位置の調整は、矢印sd1に示すように、この座標(Px,Py)を、上下方向にスライドすることでなされる。
【０３４８】
再生時間軸上のプライマリビデオのフィールドデータの表示タイミングをTyとした場合、PiP＿metadata＿time＿stampで規定すべき表示時点の調整は、矢印sd2に示すように、この表示タイミングを、未来又は過去方向にスライドすることでなされる。
図６４は、セカンダリビデオのフィールドFyを、同位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。本図のケースにおいて、PiP＿metadata＿blockにおけるPiP＿horizontal＿position、PiP＿vertical＿positionで規定すべき座標(Px,Py)のPyは、プライマリビデオのフィールドにおける複数の偶数ラインのうち、1つ(図中のeven1)から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
【０３４９】
図６５は、セカンダリビデオのフィールドFyを、逆位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。本図のケースにおいて、PiP＿metadata＿blockにおけるPiP＿horizontal＿position、PiP＿vertical＿positionで規定すべき座標(Px,Py)のPyは、プライマリビデオのフィールドにおける複数の奇数ラインのうち、1つ(図中のodd1)から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
【０３５０】
図６６は、セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの偶数ラインに表示するケースを示す図である。本図のケースにおいて、PiP＿metadata＿blockにおけるPiP＿metadata＿time＿stampで規定すべき時点Tyは、同位相のプライマリビデオのフィールドが表示されるべき時点から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
【０３５１】
図６７は、セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの奇数ラインに表示するケースを示す図である。本図のケースにおいて、PiP＿metadata＿blockにおけるPiP＿metadata＿time＿stampで規定すべき時点Tyは、逆位相のプライマリビデオのフィールドが表示されるべき時点から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
【０３５２】
セカンダリビデオの時点を理想的なものにしたい場合であっても、セカンダリビデオの座標を理想的なものにしたい場合であっても、何を理想的なものにしたいかによって、再生出力が可能となる組合せを作ることができる。これによりオーサリングの段階において、再生出力が正しくなされることを保障することができる。
(第９実施形態)
本実施形態は、先の実施形態で述べたようなPiP＿metadata＿blockに対する調整がオーサリング時になされていない場合、これを再生装置側で補充する改良に関する。
【０３５３】
本実施形態に係る再生装置は、ピクチャインピクチャにおける合成パターンが、図６２（ａ）に示したものか、図６２（ｂ）に示したものかをチェックし、もし図６２（ｂ）に示したものなら、図６４から図６７ような修正を施すのである。こうすることで、インスタンスをピクチャインピクチャするためのPiP＿metadata＿time＿stamp、PiP＿horizontal＿position、PiP＿vertical＿positionに対する調整が、オーサリング時になされていなくても、ピクチャインピクチャを実行することができる。
【０３５４】
以上のように本実施形態によれば、ピクチャインピクチャを実現するための調整がオーサリング時になされていなくても、再生装置側でこれを補うことができる。
(第１０実施形態)
本実施形態は、各実施形態にかかる再生装置に、Java(登録商標)(TM)2Micro＿Edition(J2ME) Personal Basis Profile(PBP 1.0)と、Globally Executable MHP specification(GEM1.0.2)for package media targetsとをフル実装することでJava(登録商標)(TM)プラットフォームを構成し、BD-Jアプリケーションを再生装置に実行させる場合の改良である。
【０３５５】
第１実施形態で述べたように、プレイリスト情報にはMainPath情報、Subpath情報が存在し、MainPath情報がプライマリビデオストリームを指定していて、Subpath情報におけるSubPlayItemがセカンダリビデオストリームを指定しているので、Java(登録商標)アプリケーションは プレイリストを再生するJMFプレーヤインスタンスの生成をJava(登録商標)仮想マシンに命じることで、Java(登録商標)アプリケーションは、ピクチャインピクチャ再生を再生装置に行わせることができる。この生成は、JMF A”BD://00001.mpls”というメソッドを用いれることで行うのが望ましい。
【０３５６】
尚、プライマリビデオストリームに対する再生区間を指定したPlayItem情報のJMFプレーヤインスタンスと、セカンダリビデオストリームに対する再生区間を指定したSubPlayItem情報についてのJMFプレーヤインスタンスとをJava(登録商標)仮想マシンに生成させ、これら2つのプレーヤインスタンスによる再生を再生装置に行わしてもよい。
(備考)
以上、本願の出願時点において、出願人が知り得る最良の実施形態について説明したが、以下に示す技術的トピックについては、更なる改良や変更実施を加えることができる。各実施形態に示した通り実施するか、これらの改良・変更を施すか否かは、何れも任意的
であり、実施する者の主観によることは留意されたい。
【０３５７】
（タイトル）
BD-ROMの装填やユーザ操作、装置の状態に応じてタイトルを選択する“モジュールマネージャ”を再生装置に設けるのが望ましい。BD-ROM再生装置内のデコーダは、この“モジュールマネージャ”によるタイトル選択に応じて、プレイリスト情報に基づくAVClipの再生を行う。
【０３５８】
アプリケーションマネージャは、“モジュールマネージャ”がタイトルの選択を行った際、前のタイトルに対応するアプリケーション管理テーブル(AMT)と、カレントタイトルに対応するAMTとを用いてシグナリングを実行する。このシグナリングは、前のタイトルに対応するAMTには記載されているが、カレントタイトルに対応するAMTには記載されていないアプリケーションの動作を終了させ、前のタイトルに対応するAMTには記載されておらず、カレントタイトルに対応するAMTには記載されているアプリケーションの動作を開始させるという制御を行う。
【０３５９】
(ローカルストレージ内のディレクトリ構成)
各実施形態に示したローカルストレージ内の各領域は、BD-ROMにおけるディスクルート証明書に対応するディレクトリの配下に設けるのが望ましい。
ディスクルート証明書とは、このBD-ROMを作成した作成者が、ルート認証局から配布を受けたルート証明書を、BD-ROMに割り当てたものである。ディスクルート証明書はたとえばX.509の形式で符号されている。X.509の仕様は国際電信電話諮問委員会より発行されており、CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"に記載されている。
【０３６０】
また、BD-ROM、ローカルストレージの記録内容は、Advancend Access Content System(AACS)にて暗号化され、署名情報が付されて、利用権限が、パーミッションファイルに規定されているのが望ましい。
(制御手順の実現)
各実施形態においてフローチャートを引用して説明した制御手順や、機能的な構成要素による制御手順は、ハードウェア資源を用いて具体的に実現されていることから、自然法則を利用した技術的思想の創作といえ、“プログラムの発明”としての成立要件を満たす。
【０３６１】
・本発明に係るプログラムの生産形態
本発明に係るプログラムは、コンピュータが実行することができる実行形式のプログラム(オブジェクトプログラム)であり、実施形態に示したフローチャートの各ステップや、機能的構成要素の個々の手順を、コンピュータに実行させるような1つ以上のプログラムコードから構成される。ここでプログラムコードは、プロセッサのネィティブコード、JAVA(登録商標)バイトコードというように、様々な種類がある。またプログラムコードによる各ステップの実現には、様々な態様がある。外部関数を利用して、各ステップを実現することができる場合、この外部関数をコールするコール文が、プログラムコードになる。また、1つのステップを実現するようなプログラムコードが、別々のオブジェクトプログラムに帰属することもある。命令種が制限されているRISCプロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
【０３６２】
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
【０３６３】
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
【０３６４】
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを１つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み出しを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
【０３６５】
本発明に係るプログラムは、以下のようにして使用することができる。本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、再生装置の制御プログラムとして使用することができる。
【０３６６】
再生装置が、ブートストラップモデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスク等の二次記録媒体にプレインストールされている。また、二次記録媒体から、システムを起動するためのブートROMが、再生装置に設けられている。この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、再生装置に供給し、1つのアプリケーションとして二次記録媒体にインストールする。そうすると、再生装置は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
【０３６７】
ブートストラップモデルの再生装置では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
(コントローラ２２)
コントローラ２２は、一個のシステムLSIとして実現することができる。
【０３６８】
システムLSIとは、高密度基板上にベアチップを実装し、パッケージングしたものをいう。複数個のベアチップを高密度基板上に実装し、パッケージングすることにより、あたかも1つのLSIのような外形構造を複数個のベアチップに持たせたものも、システムLSIに含まれる(このようなシステムLSIは、マルチチップモジュールと呼ばれる。)。
ここでパッケージの種別に着目するとシステムLSIには、QFP(クッド フラッド アレイ)、PGA(ピン グリッド アレイ)という種別がある。QFPは、パッケージの四側面にピンが取り付けられたシステムLSIである。PGAは、底面全体に、多くのピンが取り付けられたシステムLSIである。
【０３６９】
これらのピンは、他の回路とのインターフェイスとしての役割を担っている。システムLSIにおけるピンには、こうしたインターフェイスの役割が存在するので、システムLSIにおけるこれらのピンに、他の回路を接続することにより、システムLSIは、再生装置の中核としての役割を果たす。
先に“組込プログラムとしての使用”で述べたように、命令ROMには、プログラムにあたるロードモジュールや、基本入出力プログラム(BIOS)、様々なミドルウェア(オペレーションシステム)が書き込まれる。本実施形態において、特に創作したのは、このプログラムにあたるロードモジュールの部分なので、プログラムにあたるロードモジュールを格納した命令ROMを、内部に実装することにより、本発明に係るシステムLSIは生産することができる。
【０３７０】
具体的な生産手順の詳細は以下のものになる。まず各実施形態に示した構成図を基に、システムLSIとすべき部分の回路図を作成し、回路素子やIC,LSIを用いて、構成図における構成要素を具現化する。
そうして、各構成要素を具現化してゆけば、回路素子やIC,LSI間を接続するバスやその周辺回路、外部とのインターフェイス等を規定する。更には、接続線、電源ライン、グランドライン、クロック信号線等も規定してゆく。この規定にあたって、LSIのスペックを考慮して各構成要素の動作タイミングを調整したり、各構成要素に必要なバンド幅を保証する等の調整を加えながら、回路図を完成させてゆく。
【０３７１】
回路図が完成すれば、実装設計を行う。実装設計とは、回路設計によって作成された回路図上の部品(回路素子やIC,LSI)を基板上のどこへ配置するか、あるいは、回路図上の接続線を、基板上にどのように配線するかを決定する基板レイアウトの作成作業である。
ここで実装設計は、自動配置と、自動配線とからなる。
CAD装置を利用する場合、この自動配置は、“重心法”と呼ばれる専用のアルゴリズムを用いて実現することができる。自動配線は、回路図上の部品のピン同士を接続するような接続線を、金属箔やビアを用いて規定する。CAD装置を利用する場合、この配線処理は、“メーズ法”“ラインサーチ法”と呼ばれる専用のアルゴリズムを用いて実現することができる。 
【０３７２】
こうして実装設計が行われ、基板上のレイアウトが確定すれば、実装設計結果をCAMデータに変換して、NC工作機械等の設備に出力する。NC工作機械は、このCAMデータを基に、SoC実装やSiP実装を行う。SoC(System on chip)実装とは、1チップ上に複数の回路を焼き付ける技術である。SiP(System in Package)実装とは、複数チップを樹脂等で1パッケージにする技術である。以上の過程を経て、本発明に係るシステムLSIは、各実施形態に示した再生装置の内部構成図を基に作ることができる。
【０３７３】
尚、上述のようにして生成される集積回路は、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。
さらに、各記録再生装置の構成要素の一部又は全てを1つのチップとして構成してもよい。集積回路化は、上述したSoC実装,SiP実装に限るものではなく、専用回路又は汎用プロセスで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA（Field Programmable Gate Array）や、LSI内部の回路セルの接続や設定を再構成可能なシリコンフィギュラブル・プロセッサを利用することが考えられる。更には、半導体技術の進歩又は派生する技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積回路化を行っても良い。例えば、バイオ技術の適応などが可能性としてありうる。
【０３７４】
(アーキテクチャ)
本発明にかかるシステムLSIは、BD-ROM再生装置への組込みを想定しているので、システムLSIは、Uniphierアーキテクチャに準拠させるのが望ましい。
Uniphierアーキテクチャに準拠したシステムLSIは、以下の回路ブロックから構成される。
【０３７５】
・データ並列プロセッサDPP
これは、複数の要素プロセッサが同一動作するSIMD型プロセッサであり、各要素プロセッサに内蔵されている演算器を、1つの命令で同時動作させることで、ピクチャを構成する複数画素に対するデコード処理の並列化を図る。このような並列化の実現により、ビデオストリームに対するデコードを実現する。先に述べたビデオデコーダは、このデータ並列プロセッサとして実装される。
【０３７６】
・命令並列プロセッサIPP
これは、命令RAM、命令キャッシュ、データRAM、データキャッシュからなる「Local Memory Contoroller」、命令フェッチ部、デコーダ、実行ユニット、レジスタファイルからなる「Processing Unit部」、複数アプリケーションの並列実行をProcessing Unit部に行わせる「Virtual Multi Processor Unit部」で構成される。ビデオデコーダ以外のグラフィクスデコーダやオーディオデコーダは、この命令並列プロセッサIPPとして、システムLSI内に実装される。
【０３７７】
・CPUブロック
これは、ARMコア、外部バスインターフェイス(Bus Control Unit:BCU)、DMAコントローラ、タイマー、ベクタ割込コントローラといった周辺回路、UART、GPIO(General Purpose Input Output)、同期シリアルインターフェイスなどの周辺インターフェイスで構成される。先に述べたコントローラは、このCPUブロックとしてシステムLSIに実装される。
【０３７８】
・ストリームI/Oブロック
これは、USBインターフェイスやATA Packetインターフェイスを介して、外部バス上に接続されたBD-ROMドライブ装置、ハードディスクドライブ装置、SDメモリカードドライブ装置とのデータ入出力を行う。
・AVI/Oブロック
これは、オーディオ入出力、ビデオ入出力、OSDコントローラで構成され、テレビ、AVアンプとのデータ入出力を行う。
【０３７９】
・メモリ制御ブロック
これは、外部バスを介して接続されたSD-RAMの読み書きを実現するブロックであり、各ブロック間の内部接続を制御する内部バス接続部、システムLSI外部に接続されたSD-RAMとのデータ転送を行うアクセス制御部、各ブロックからのSD-RAMのアクセス要求を調整するアクセススケジュール部からなる。
【０３８０】
かかるアーキテクチャに準拠したシステムLSIの製造にあたっては、IPPやDPP等の回路ブロック毎にレイアウト設計を行い、各回路ブロックの性能を先に最適化した上で、各ブロックを組み上げ、１チップレイアウトを完成させるというボトムアップ式のレイアウト手法を採用するのが望ましい。
【産業上の利用可能性】
【０３８１】
本発明に係る記録媒体及び再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上の利用可能性を有する。
【符号の説明】
【０３８２】
１a      BD-ROMドライブ
１b,c    リードバッファ
１a,b,c  ATCカウンタ
２a,d  Source Depacketizer
２c,d  ATCカウンタ
３a,c  STCカウンタ
３b,d  PID Filter
４a  Transport Buffer
４c  Elementary Buffer
４d ビデオデコーダ
４e  リオーダバッファ
４f  Decoded Picture Buffer
４g  ビデオプレーン
５a  Transport Buffer
５c  Elementary Buffer
５d ビデオデコーダ
５e  リオーダバッファ
５f  Decoded Picture Buffer
５g  ビデオプレーン
６a,b  Transport Buffer
７a,b  バッファ
８a,b  オーディオデコーダ
９a  ミキサー
１１a  Transport Buffer
１１b  Interactive Graphicsデコーダ
１１c  Interactive Graphicsプレーン
１２a  Transport Buffer
１２b  バッファ
１２c  Text based subtitle decorder
１３a  Transport Buffer
１３b  Presentation Graphicsデコーダ
１３c  Presentation Graphicsプレーン 
２１  メモリ
２２  コントローラ
２３  PSRセット
２４  PID変換部
２５  ネットワーク部
２６  操作受付部
４１  プレイリスト処理部
４２  Procedure実行部
４３  PiP制御部
４４  ミキシング制御部
１００  BD-ROM
２００  ローカルストレージ
３００  再生装置
４００  テレビ
５００  AVアンプ
【図１】
2010068531.tif 000003
【図２】
2010068531.tif 000004
【図３】
2010068531.tif 000005
【図４】
2010068531.tif 000006
【図５】
2010068531.tif 000007
【図６】
2010068531.tif 000008
【図７】
2010068531.tif 000009
【図８】
2010068531.tif 000010
【図９】
2010068531.tif 000011
【図１０】
2010068531.tif 000012
【図１１】
2010068531.tif 000013
【図１２】
2010068531.tif 000014
【図１３】
2010068531.tif 000015
【図１４】
2010068531.tif 000016
【図１５】
2010068531.tif 000017
【図１６】
2010068531.tif 000018
【図１７】
2010068531.tif 000019
【図１８】
2010068531.tif 000020
【図１９】
2010068531.tif 000021
【図２０】
2010068531.tif 000022
【図２１】
2010068531.tif 000023
【図２２】
2010068531.tif 000024
【図２３】
2010068531.tif 000025
【図２４】
2010068531.tif 000026
【図２５】
2010068531.tif 000027
【図２６】
2010068531.tif 000028
【図２７】
2010068531.tif 000029
【図２８】
2010068531.tif 000030
【図２９】
2010068531.tif 000031
【図３０】
2010068531.tif 000032
【図３１】
2010068531.tif 000033
【図３２】
2010068531.tif 000034
【図３３】
2010068531.tif 000035
【図３４】
2010068531.tif 000036
【図３５】
2010068531.tif 000037
【図３６】
2010068531.tif 000038
【図３７】
2010068531.tif 000039
【図３８】
2010068531.tif 000040
【図３９】
2010068531.tif 000041
【図４０】
2010068531.tif 000042
【図４１】
2010068531.tif 000043
【図４２】
2010068531.tif 000044
【図４３】
2010068531.tif 000045
【図４４】
2010068531.tif 000046
【図４５】
2010068531.tif 000047
【図４６】
2010068531.tif 000048
【図４７】
2010068531.tif 000049
【図４８】
2010068531.tif 000050
【図４９】
2010068531.tif 000051
【図５０】
2010068531.tif 000052
【図５１】
2010068531.tif 000053
【図５２】
2010068531.tif 000054
【図５３】
2010068531.tif 000055
【図５４】
2010068531.tif 000056
【図５５】
2010068531.tif 000057
【図５６】
2010068531.tif 000058
【図５７】
2010068531.tif 000059
【図５８】
2010068531.tif 000060
【図５９】
2010068531.tif 000061
【図６０】
2010068531.tif 000062
【図６１】
2010068531.tif 000063
【図６２】
2010068531.tif 000064
【図６３】
2010068531.tif 000065
【図６４】
2010068531.tif 000066
【図６５】
2010068531.tif 000067
【図６６】
2010068531.tif 000068
【図６７】
2010068531.tif 000069