Nothing Special   »   [go: up one dir, main page]

JP4870493B2 - 再生装置、記録方法、再生方法、システムlsi、プログラム - Google Patents

再生装置、記録方法、再生方法、システムlsi、プログラム Download PDF

Info

Publication number
JP4870493B2
JP4870493B2 JP2006208691A JP2006208691A JP4870493B2 JP 4870493 B2 JP4870493 B2 JP 4870493B2 JP 2006208691 A JP2006208691 A JP 2006208691A JP 2006208691 A JP2006208691 A JP 2006208691A JP 4870493 B2 JP4870493 B2 JP 4870493B2
Authority
JP
Japan
Prior art keywords
stream
video stream
secondary video
picture
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006208691A
Other languages
English (en)
Other versions
JP2007325242A (ja
Inventor
航 池田
智之 岡田
ジョセフ マクロッサン
義雄 川上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006208691A priority Critical patent/JP4870493B2/ja
Publication of JP2007325242A publication Critical patent/JP2007325242A/ja
Application granted granted Critical
Publication of JP4870493B2 publication Critical patent/JP4870493B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Description

本発明は、ピクチャインピクチャの技術分野に属する発明である。
ピクチャインピクチャとは、親映像と、子映像とを重ね合せた合成映像の表示を表示すると共に、親映像において子映像を合成すべき位置を変化させたり、合成画像の表示・非表示の切り替えを実現する技術である。
尚、DVDプレーヤの標準モデルの構成は、以下の特許文献1に記載されている。
特許第2813245号
かかるピクチャインピクチャを、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対応で作成されることが多いのに対し、セカンダリビデオは、50フレーム/秒のインターレス方式(50i)、60フレーム/秒のインターレス方式(60i)で作成されることがある。何故なら、セカンダリビデオストリームは、子画像として画面中にはめ込まれて表示されるので、プライマリビデオの半分以下の解像度で済むという理由による。しかし、50i、60iを再生できるかどうかは、再生装置によってバラツキがある。何故なら、50iはPAL方式、60iはNTSC方式であり、これらを再生する能力は、その放送圏の再生装置には存在するが、それ以外の放送圏の再生装置には、存在しないのが常だからである。従って、例えばセカンダリビデオがPAL方式で作成された場合、このセカンダリビデオを記録した記録媒体が、NTSC方式圏の再生装置に装填されれば、当該再生装置は、ピクチャインピクチャを行うことはできない。
また、セカンダリビデオをHDTV対応で作成した場合も、再生装置によっては、セカンダリビデオをデコードし得なくなることがある。何故なら、BD-ROM再生装置の標準モデルは、プライマリビデオ用のビデオデコーダ、セカンダリビデオ用のビデオデコーダをそれぞれ具備することが予定されているが、セカンダリビデオ用のデコーダにまで、HDTV映像のデコード機能を要求することは、再生装置のハードウェア構成を、簡略化する余地を奪うことになり、製品の低価格化の妨げになるからである
以上のように、映像素材の種別や再生装置の能力によって、ピクチャインピクチャを行うことができたり、できなかったりするのは、映画作品を制作する制作者や再生装置を製造するメーカにとって、新たな不安要因になりかねない。
上記本発明の目的は、再生装置がデコードすることができる素材の種別にバラツキがあったとしても、ピクチャインピクチャを確実に、再生装置に実行させることができる再生装置を提供することである。
上記目的を達成するため、本発明に係る再生装置は、
プレイリスト情報に従って、主たる再生区間が定義されたプライマリビデオストリームと、従たる再生区間が定義されたセカンダリビデオストリームとを、再生する再生装置であって、
プライマリビデオストリーム及びセカンダリビデオストリームは、TSパケットシーケンスに変換された上で、他のTSパケットシーケンスと多重化されており、
セカンダリビデオストリームを構成する各TSパケットに付与されているパケット識別子は、上位フィールド及び下位フィールドからなり、当該上位フィールドは、プライマリビデオストリームを構成する各TSパケットに付与されているパケット識別子の上位フィールドと異なる値であり、
前記プレイリスト情報は、複数ビデオストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
前記メインパス情報は、
複数ビデオストリームのうち、プライマリビデオストリームとして指定されたものに対して、主たる再生区間を定義する情報であり、前記メインパス情報はテーブルを含み、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、前記エントリーには、対応するセカンダリビデオストリームを構成するTSパケットのパケット識別が記述されており、
前記サブパス情報は、
複数ビデオストリームのうち、セカンダリビデオストリームとして指定されたものに対して、従たる再生区間を定義する情報であり、
記録媒体からプライマリビデオストリーム、セカンダリビデオストリームを読み出す読出手段と、
プライマリビデオストリームをデコードする第1デコーダと、
セカンダリビデオストリームをデコードする第2デコーダと、
記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択する選択手段と、
プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する合成部と、
選択されたセカンダリビデオストリームのストリーム番号を格納するストリーム番号レジスタと、
前記テーブルに含まれるセカンダリビデオストリームのエントリーのうち、ストリーム番号レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子、記録媒体から読み出されたセカンダリビデオストリームを構成するTSパケットのパケット識別とを比較し、当該比較においてパケット識別子が一致する場合、記録媒体から読み出されたセカンダリビデオストリーム、第2コーダに出力する多重分離部とを備え
前記所定手順の実行によるセカンダリビデオストリームの選択は、前記メインパス情報におけるテーブルに基づく
ことを特徴としている。
プライマリビデオストリームの中に、再生不能なものが存在したとしても、次のストリームを選ぶという手順を実行することで、「自身が再生できるものをピクチャインピクチャに用いる」という選択の余地がうまれる。従って、再生装置におけるセカンダリビデオの再生能力の有無にバラツキががあったとしても、何等かのセカンダリビデオを再生装置に表示させ、ピクチャインピクチャを実行させることができる。
再生装置の違いにより、ピクチャインピクチャが実行されたり、されなかったりするという品質のバラツキを解消することができるので、再生装置のメーカは、ピクチャインピクチャを実現するような再生装置を安心して世に送り出すことができる。
(第1実施形態)
以降、本発明に係る記録媒体の実施形態について説明する。先ず始めに、本発明に係る記録媒体の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る記録媒体の、使用行為についての形態を示す図である。図1において、本発明に係る記録媒体は、ローカルストレージ200である。ローカルストレージ200は、再生装置300、テレビ400、AVアンプ500、スピーカ600から構成されるホームシアターシステムに、映画作品を供給するという用途で使用される。
以降、BD-ROM100、ローカルストレージ200、再生装置300について説明を行う。
BD-ROM100は、映画作品が記録された記録媒体である。
ローカルストレージ200は、再生装置に組み込まれ、映画配給者のサーバから配信されたコンテンツの受け皿として利用されるハードディスクである。
再生装置300は、ネット対応型のデジタル家電機器であり、BD-ROM100を再生する機能をもつ。また、映画配給者のサーバ装置から、ネットワークを通じてダウンロードしたコンテンツを、ローカルストレージ200に格納し、こうしてローカルストレージ200に記録されたコンテンツと、BD-ROM100に記録されたコンテンツと組み合わせて、BD-ROM100のコンテンツを拡張/更新を行うことができる。BD-ROM100の記録内容に、ローカルストレージ200の記録内容を組み合わせて、BD-ROM100に記録されていないデータを、恰も、記録されているように扱う技術を“バーチャルパッケージ”という。
以上が本発明に係る記録媒体の使用形態についての説明である。
続いて本発明に係る記録媒体の生産行為について説明する。本発明に係る記録媒体は、ファイルシステム上における改良で実現することができる。
<BD-ROMの概要>
図2は、BD-ROMの内部構成を示す図である。本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
このBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリと呼ばれる3つのサブディレクトリが存在する。
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001.mpls)がある。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi,00002.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts,00002.m2ts)がある。
以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
<BD-ROMの構成その1.AVClip>
先ず初めに、拡張子.m2tsが付与されたファイルについて説明する。図3は、拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.m2tsが付与されたファイル(00001.m2ts,00002.m2ts)は、AVClipを格納している。AVClipはMPEG2-Transport Stream形式のデジタルストリームである。このデジタルストリームは、デジタル化された映像、デジタル化された音声を(上1段目)、PESパケットからなるエレメンタリストリームに変換し(上2段目)、更にTSパケットに変換して(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(Presentatiion Graphics(PG)ストリーム)及び対話系のインタラクティブグラフィクスストリーム(Interactive Graphics(IG)ストリーム)を(下1段目、下2段目)、TSパケットに変換して(下3段目)、これらを多重化することで構成される。
続いて、以上のように構成されたAVClipが、BD-ROMにどのように書き込まれるかを説明する。図4は、AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。本図の第1段目にAVClipを構成するTSパケットを示す。
AVClipを構成する188バイトのTSパケットは、第2段目に示すように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段目においてファイルを構成する各ファイルエクステントは、予め定められたSextent以上のデータ長を有する。
AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sextentを検討する。
ここでBD-ROMにおいて光ピックアップのジャンプに要する時間は、
Tjump=Taccess+Toverhead
で与えられる。

Taccessは、ジャンプ距離(ジャンプする物理アドレスの距離)に応じて与えられる時間である。

BD-ROMから読み出されたTSパケットは、リードバッファと呼ばれるバッファに格納された上、デコーダに出力されるが、リードバッファへの入力が、Rudというビットレートで行われ、ECCブロックにおけるセクタ数をSeccとした場合、
Toverheadは、

Toverhead≦(2×Secc×8)/Rud=20m秒
という計算で与えられる。

BD-ROMから読み出されたTSパケットは、Sourceパケットの状態でリードバッファに格納された上、TS_Recording_rateという転送レートで、デコーダに供給される。
TS_Recording_rateという転送レートでの、デコーダへのTSパケット供給が跡絶えさせないためには、Tjumpの間、リードバッファからデコーダへのTSパケット出力が継続している必要がある。ここでリードバッファからの出力は、TSパケットではなく、Sourceパケットの状態でなされるので、TSパケットのSourceパケットとのサイズ比を192/188とした場合、Tjumpの間、(192/188×TS_Recording_rate)という転送レートにより、リードバッファからのSourceパケット出力が継続している必要がある。

従って、リードバッファが、アンダーフローしないためのバッファ蓄積量は、
Boccupied≧(Tjump/1000×8)×((192/188)×TS_Recording_rate)
となる。

リードバッファへの入力レートはRud、リードバッファからの出力レートはTS_Recording_rate×(192/188)であるので、リードバッファへの蓄積レートは、入力レート−出力レートの計算で与えられ、(Rud−TS_Recording_rate×(192/188))になる。
このBoccupiedを、リードバッファに蓄積するのに要する時間Txは、

Tx=Boccupied/(Rud−TS_Recording_rate×(192/188))
になる。

BD-ROMからの読み出しには、この時間TxにおいてRudでのTSパケット入力を継続する必要があるので、AVClipを複数のエクステントに分割して記録する場合の、エクステント一個当たりの最小データ長Sextentは、

Sextent=Rud×Tx
=Rud×Boccupied/(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)
になる。
よって
Sextent≧
(Tjump×Rud/1000×8)×
(TS_Recording_rate×192/(Rud×188−TS_Recording_rate×192))

になる。

AVClipを構成する各ファイルエクステントは、デコーダのアンダーフローをおこさないように算出されたSextent以上のデータ長をもつことにより、AVClipを構成する各ファイルエクステントが、BD-ROM上において離散的に位置されたとしても、再生時においてデコーダへのTSパケット供給が途絶えさせることなく、連続的に読み出されることになる。
図5は、BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。第2段目に示すように、BD-ROM上には複数セクタが形成されている。ファイルエクステントを構成するSourceパケットは、第1段目に示すように、32個毎にグループ化されて、連続する3つのセクタに書き込まれる。32個のSourceパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のSourceパケットを“Aligned Unit”といい、BD-ROMへの書き込みは、Aligned Unit単位でなされる。
第3段目においてセクタは、32個単位で誤り訂正符号が付され、ECCブロックを構成する。再生装置はAligned Unitの単位でBD-ROMをアクセスする限り、32個の完結したSourceパケットを得ることができる。以上がBD-ROMに対するAVClipの書き込みのプロセスである。
MainClipに多重化されるエレメンタリストリームについて、更に詳しく説明する。
図6は、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フォーマットがある。
図8は、ピクチャインピクチャの一例を示す図である。本図において、所定の時点tpが到達するまでは、Primary Videoのみが再生されている。そして時点tpに到達してからは、Primary Videoに、Secondary Videoがはめ込まれた映像が再生されていることがわかる。このようにセカンダリビデオストリームは、プライマリビデオの各ピクチャにはめ込まれるような、複数のピクチャを構成していることがわかる。図6に示したセカンダリビデオストリームのように、プライマリビデオストリームが多重化された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は、ボタンに対して確定操作がなされた際、実行すべきボタンコマンドを含む。

図7は、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の構成その2.Clip情報>
続いて拡張子.clpiが付与されたファイルについて説明する。拡張子.clpiが付与されたファイル(00001.clpi,00002.clpi)は、Clip情報を格納している。Clip情報は、個々のAVClipについての管理情報である。図9は、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情報の説明その2.EP_map>
以下、具体例を通じて、EP_mapについて説明する。図10は、映画のビデオストリームに対する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)情報を格納したファイルである。
図11は、PlayList情報のデータ構造を示す図であり、本図において、引き出し線mp1に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、その他の拡張データ(Extention Data)を含む。
<PlayList情報の説明その1.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』の組みから構成される。
図12は、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-ROM100についての説明である。
<ローカルストレージ200>
続いて、本発明にかかる記録媒体である、ローカルストレージ200について説明する。図13は、ローカルストレージ200の内部構成を示す図である。本図に示すように、本発明に係る記録媒体は、応用層に対する改良により、生産することができる。
本図の第4段目にローカルストレージ200を示し、第3段目にローカルストレージ200上のトラックを示す。本図のトラックは、ローカルストレージ200の内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてローカルストレージ200の応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第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)が格納されている。
続いて、ローカルストレージ200の構成要素となる、PlayList情報、Clip情報、AVClipについての説明する。
<ローカルストレージ200の構成その1.AVClip>
ローカルストレージ200上のAVClip(00003.m2ts,00004.m2ts)は、SubClipを構成する。SubClipには、ビデオストリーム、オーディオストリーム、PGストリーム、IGストリームという4種類のエレメンタリストリームが多重化されている。このようにAVClipに多重化されるエレメンタリストリームには、どのようなものがあるかを詳細に説明する。
図14は、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ストリームである。この図14に示したセカンダリビデオストリームのように、プライマリビデオストリームと異なるAVClipに多重化されるセカンダリビデオストリームを、“Out_of_MUX_セカンダリビデオストリーム”という。またセカンダリビデオストリームに限らず、プライマリビデオストリームと異なるAVClipに多重化されるエレメンタリストリーム全般を、“Out_of_MUXストリーム”という。
図15は、SubClipに多重化されたエレメンタリストリームにおけるPID割当マップを示す図である。PID割当マップの左欄は、PIDが取りうる値の複数のゾーンを示す。右欄は、各ゾーンに割り当てられるエレメンタリストリームを示す。この記述法に従って図を参照すると本図から、以下のことが導くことができる。つまりPIDが取りうる値のうち、0x0100のゾーンは、Program_mapに割り当てられ、0x1001のゾーンはPCRに、0x1200から0x121FまでのゾーンはPGストリームに、0x1400から0x141FまでのゾーンはIGストリームに、0x1800のゾーンは、textSTストリームに、0x1A00から0x1A1Fまでのゾーンはセカンダリオーディオストリームに割り当てられている。0x1B00から0x1B1FまでのゾーンはSecondaryビデオストリームに割り当てられている。

<ローカルストレージ200の構成その2.PlayList情報>
続いて、ローカルストレージ200上のPlayList情報について説明する。拡張子“mpls”が付与されたファイル(00002.mpls)は、MainPath、Subpathと呼ばれる2種類の再生経路を束ねたものをPlaylist(PL)として定義する情報である。図16は、PlayList情報のデータ構造を示す図であり、本図に示すようにPlayList情報は、MainPathを定義するMainPath情報(MainPath())と、チャプターを定義するPlayListMark情報(PlayListMark())と、Subpathを定義するSubpath情報(Subpath())と、その他の拡張データ(Extention_Data)からなる。かかるPlayList情報の内部構成、及び、PlayItem情報の内部構成は、BD-ROMのものと同じであり、説明を省略する。以降、Subpath情報について説明する。
<PlayList情報の説明その1.Subpath情報>
MainPathが、プライマリビデオたるMainClipに定義される再生経路であるのに対し、Subpathは、MainPathと同期すべきSubClipに対して定義される再生経路である。
図17は、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情報の詳細その1.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情報についての詳細その2.三者の関係>
ここでの三者とは、ローカルストレージ200上のSubClip、ローカルストレージ200上のPlayList情報、BD-ROM上のMainClipの三者をいう。
図18は、ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。本図において第1段目は、ローカルストレージ200上に存在するSubClipを示す。この第1段目に示すように、ローカルストレージ200上の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及びローカルストレージ200におけるPlayList情報において特徴的であるのは、STN_Tableである。以降、ローカルストレージ200上の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と対応付けることで構成される。
図19は、STN_tableの全体構成を示す図である。図20は、図19に示した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ストリームと組合せ可能であるかを再生装置に指示する。
図21(a)は、プライマリビデオストリームにおけるStream_entry及びStream_attributを示す図である。Stream_entryは、プライマリビデオストリームを構成するPESパケットの、パケット識別子を示す『ref_to_stream_PID_of_mainClip』を含む。
Stream_attributeは、ビデオストリームの表示方式を示す『Video_format』と、ビデオストリームの表示周波数を示す『frame_rate』を含む。
図21(b)は、セカンダリビデオストリームにおける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との対応付けを規定するテーブルである。
これらの構成要素は、本発明が主眼としているものではないので、本実施形態では記載を省略することにしている。以上で、本発明にかかる記録媒体についての説明を終える。
<再生装置>
図22は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。こうして生産される再生装置は、BD-ROMドライブ1a、リードバッファ1b,c、ATCカウンタ2a,c,Source Depacketizer2b,d、ATCカウンタ2b,d、STCカウンタ3a,c、PID Filter3b,d、Transport Buffer(TB)4a、Elementary Buffer(EB)4c、ビデオデコーダ4d、Re-order Buffer4e、Decoded Picture Buffer4f、ビデオプレーン4g、Transport Buffer(TB)5a、Elementary Buffer(EB)5c、ビデオデコーダ5d、Re-order Buffer5e、Decoded Picture Buffer5f、ビデオプレーン5g、バッファ6a,b、バッファ7a,b、オーディオデコーダ8a,b、ミキサー9a、スイッチ10a,b,c,d,e、Transport Buffer(TB)11a、Interactive Graphicsデコーダ11b、Interactive Graphicsプレーン11c、Transport Buffer(TB)12a、バッファ12b、Text based subtitleデコーダ12c、Transport Buffer(TB)13a、Presentation Graphicsデコーダ13b、Presentation Graphicsプレーン 13c、メモリ21、コントローラ22、PSRセット23、PID変換部24、ネットワーク部25、操作受付部26、ローカルストレージ200から構成される。尚本図では、再生装置の出力段については、示していない。出力段については、別図に内部構成を示して説明することにする。
BD-ROMドライブ1aは、BD-ROMのローディング/イジェクトを行い、BD-ROMディスクに対するアクセスを実行する。
リードバッファ(RB)1bは、BD-ROMから読み出されたSourceパケット列を蓄積する。
リードバッファ(RB)1cは、ローカルストレージ200から読み出されたSourceパケット列を蓄積する。
ATC Counter2aは、MainClipを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2bにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)2bは、MainClipを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、各TSパケットのATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2aが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3bに転送する。
ATC Counter2cは、SubClipを構成するSourceパケットのうち、再生区間の最初に位置するもののATSを用いてリセットされ、以降ソースデパケッタイザ2dにATCを出力してゆく。
ソースデパケッタイザ(Source De-packetizer)2dは、SubClipを構成するSourceパケットからTSパケットを取り出して、送出する。この送出にあたって、ATSに応じてデコーダへの入力時刻を調整する。具体的には、ATC Counter2cが生成するATCの値と、SourceパケットのATS値とが同一になった瞬間にTS_Recording_Rateで、そのTSパケットだけをPID Filter3dに転送する。
STC Counter3aは、MainClipのPCRによってリセットされ、STCを出力する。
PID Filter3bは、MainClip用の多重分離部であり、ソースデパケッタイザ2bから出力されたSourceパケットのうち、PID変換部24から通知されたPID参照値をもつものを、夫々ビデオデコーダ4d、ビデオデコーダ5d、オーディオデコーダ8a、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。各デコーダは、PID Filter3bを経由したエレメンタリストリームを受け取って、MainClipのPCRに従いデコードから再生の処理を行う。このようにPID Filter3bを通過して各デコーダに入力されるエレメンタリストリームは、MainClipのPCRに従って、デコード及び再生に供されることになる。
STC Counter3cは、SubClipのPCRによってリセットされ、STCを出力する。PIDフィルタ3dは、このSTCを参照して、多重分離を行う。
PID Filter3dは、SubClip用の多重分離部であり、ソースデパケッタイザ2dから出力されたSourceパケットのうち、PID変換部24から通知されたPID参照値をもつものを、夫々オーディオデコーダ8b、Interactive Graphicsデコーダ11b、Presentation Graphicsデコーダ13bに出力する。このようにPID Filter3dを通過して各デコーダに入力されるエレメンタリストリームは、SubClipのPCRに従って、デコード及び再生に供されることになる。
Transport Buffer(TB)4aは、プライマリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)4cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)4dは、プライマリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン4に書き込む。
Ducoded Picture Buffer4eは、デコーダ4dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
Re-order Buffer4fは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
プライマリビデオプレーン4gは、プライマリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、ビデオプレーン4gは、1920×1080という解像度にあたる画素データを格納している。
Transport Buffer(TB)5aは、セカンダリビデオストリームに帰属するTSパケットがPID Filter3bから出力された際、一旦蓄積されるバッファである。
Elementary Buffer(EB)5cは、符号化状態にあるピクチャ(Iピクチャ、Bピクチャ、Pピクチャ)が格納されるバッファである。
デコーダ(DEC.)5dは、セカンダリビデオを構成する個々のピクチャを所定の復号時刻(DTS)ごとにデコードすることにより複数フレーム画像を得て、ビデオプレーン5に書き込む。
Ducoded Picture Buffer5eは、デコーダ5dのデコードにより得られた非圧縮のピクチャを格納しておくバッファである。
Re-order Buffer5fは、復号されたピクチャの順序を、符号化順序から表示順序に入れ替えるためのバッファである。
セカンダリビデオプレーン5gは、セカンダリビデオを構成する一ピクチャ分の画素データを格納しておくためのメモリ領域である。画素データは、16ビットのYUV値で表現され、セカンダリビデオは、1920×1080という解像度にあたる画素データを格納している。
バッファ6aは、デマルチプレクサ3aから出力されたTSパケットのうち、プライマリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ7aに供する。
バッファ6bは、デマルチプレクサ3bから出力されたTSパケットのうち、セカンダリオーディオストリームを構成するものを、先入れ先だし式に格納して、オーディオデコーダ7bに供する。
オーディオデコーダ7aは、バッファ6aに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりプライマリオーディオストリームにおけるデジタル出力がなされる。
オーディオデコーダ7bは、バッファ6bに格納されたTSパケットをPESパケットに変換して、このPESパケットに対しデコード処理を行い、非圧縮状態のLPCM状態のオーディオデータを得て出力する。これによりセカンダリオーディオストリームにおけるデジタル出力がなされる。
ミキサ9aは、オーディオデコーダ7aから出力されるLPCM状態のデジタルオーディオと、オーディオデコーダ7bから出力されるLPCM状態のデジタルオーディオとをミキシングする。
スイッチ10aは、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットのどちらかを、選択的にセカンダリビデオデコーダ5d側に供給する。
スイッチ10bは、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットのどちらかを、選択的にPresentation Graphicsデコーダ13b側に供給する。
スイッチ10cは、BD-ROMから読み出されたTSパケット、ローカルストレージ200から読み出されたTSパケットのどちらかを、選択的にInteractive Graphicsデコーダ11b側に供給する。
スイッチ10dは、デマルチプレクサ3aにより多重分離がなされた、プライマリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたプライマリオーディオストリームを構成するTSパケットのうちどちらをオーディオデコーダ8aに供給するかを切り換えるスイッチである。
スイッチ10eは、デマルチプレクサ3aにより多重分離がなされた、セカンダリオーディオストリームを構成するTSパケット、デマルチプレクサ3bにより多重分離がなされたセカンダリオーディオストリームを構成するTSパケットのどちらを、オーディオデコーダ8bに供給するかを切り換えるスイッチである。
Transport Buffer(TB)11aは、IGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Interactive Graphics(IG)デコーダ11bは、BD-ROM100又はローカルストレージ200から読み出されたIGストリームをデコードして、非圧縮グラフィクスをIGプレーン12に書き込む。
Interactive Graphics(IG)プレーン11cは、IGデコーダ11bによるデコードで得られた非圧縮グラフィクスを構成する画素データが書き込まれる。
Transport Buffer(TB)12aは、textSTストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Buffer(TB)12bは、textSTストリームを構成するPESパケットが一旦蓄積されるバッファである。
Text Based Subtitleデコーダ12cは、BD-ROM100又はローカルストレージ200から読み出されたtextSTストリームにおいて、キャラクタコードを用いて、表現されている字幕をビットマップに展開して、PGプレーン13cに書き込む。この展開には、BD-ROM100又はローカルストレージ200に格納されているフォントデータが用いられるので、textSTストリームのデコードには、前もってかかるフォントデータを読み込んでおく必要がある。
Transport Buffer(TB)13aは、PGストリームに帰属するTSパケットが一旦蓄積されるバッファである。
Presentation Graphics(PG)デコーダ13bは、BD-ROM又はローカルストレージ200から読み出されたPGストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン14に書き込む。PGデコーダ13bによるデコードにより、字幕が画面上に現れることになる。
Presentation Graphics(PG)プレーン13cは、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。
メモリ21は、カレントのPlayList情報やカレントのClip情報を格納しておくためのメモリである。カレントPlayList情報とは、BD-ROMに記録されている複数PlayList情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROM/ローカルストレージに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
コントローラ22は、プレイリスト再生(カレントPlayList情報に従った再生制御のことである)を実行することで、BD-ROMの再生制御を実現する。
PSRセット23は、再生装置に内蔵されるレジスタであり、64個のPlayer Setting/Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Setting/Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
PID変換部24は、PSRセット23に格納されているストリーム番号を、STN_Tableに基づき、PID参照値に変換して、変換結果たるPID参照値をPID Filter3b、PID Filter3dに指示する。
ネットワーク部25は、本再生装置における通信機能を実現するものであり、URL指定が与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードを実行する。
操作受付部26は、リモコンに対してなされた操作をユーザから受け付け、そうした操作を示すUser Operation情報をコントローラ22に通知する。このUser Operation情報から、ユーザが選択を望むストリームの番号(番号X)が特定される。
以上が、再生装置の内部構成である。続いて、再生装置の出力段の内部構成について説明する。図23は、再生装置の出力段の構成を示す図である。本図に示すように再生装置の出力段は、1−α3乗算部15a、Scalling・Positioning部15b、α3乗算部15c、加算部15d、1−α1乗算部15e、α1乗算部15f、加算部15g、1−α2乗算部15h、α2乗算部15i、加算部15j、HDMI送受信部16から構成される。
1−α3乗算部15aは、ビデオデコーダ4gに格納されている非圧縮のデジタルピクチャを構成する画素の揮度に、透過率1-α3を乗じる。
Scalling・Positioning部15bは、ビデオプレーン5gに格納されている非圧縮のデジタルピクチャを拡大・縮小する処理(Scalling)を施し、また配置位置を変更する処理(Positioning)を行う。この拡大・縮小は、メタデータにおけるPiP_scaleに基づき、配置位置の変更は、メタデータにおけるPiP_horizontal_position、PiP_vertical_positionに基づく。
α3乗算部15cは、Scalling・Positioning部15bにより、Scalling、Positioningが施された非圧縮のピクチャを構成する画素の揮度に対し、透過率α3を乗じる。
加算部15dは、α3乗算部15cにより画素毎に透過率α3が乗じられた非圧縮デジタルピクチャと、1−α3乗算部15aにより画素毎に透過率1-α3が乗じられた非圧縮デジタルピクチャとを合成して、合成ピクチャを得る。
1−α1乗算部15eは、加算部15dにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α1を乗じる。
α1乗算部15fは、Presentation Graphicsデコーダ13cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α1を乗じる。
加算部15gは、1−α1乗算部15eにより画素毎に透過率1-α1が乗じられた非圧縮デジタルピクチャと、α1乗算部15fにより画素毎に透過率α1が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
1−α2乗算部15hは、加算部15gにより合成がなされたデジタルピクチャを構成する画素の揮度に、透過率1-α2を乗じる。
α2乗算部15iは、Interactive Graphicsデコーダ11cに格納されている非圧縮グラフィクスを構成する画素の揮度に、透過率α2を乗じる。
加算部15jは、1−α2乗算部15hにより画素毎に透過率1-α2が乗じられた非圧縮デジタルピクチャと、α2乗算部15iにより画素毎に透過率α2が乗じられた非圧縮グラフィクスとを合成して、合成ピクチャを得る。
HDMI送受信部16は、HDMI(HDMI:High Definition Multimedia Interface)を介して接続された他の機器から、その機器に関する情報を受信とすると共に、加算部15jの合成により得られたデジタル非圧縮のビデオを、ミキサー9aにより合成がなされたオーディオデータと共に、HDMIを介して接続された他の機器に送信する。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
図22に示したコントローラ22を、機能的に表現すると、図24のようになる。図24は、コントローラ22を機能的に表現した図であり、本図に示すようにコントローラ22は、プレイリスト処理部41、Procedure実行部42、PiP制御部43、ミキシング制御部44から構成される。
これらの構成要素の処理は、PSRセット23に基づく。以降、PSR1、PSR14、PSR31について説明する。PSRにおける語長は、32ビットである。PSRの一語(32ビット)を構成する各ビットデータのビット位置を、以降、b0〜b31と呼ぶことにする。この呼び方では、PSRの最上位ビットはb31、最下位ビットはb0と呼ばれることになる。
<PSR14>
図25(a)は、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>
図25(b)は、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ビデオ、つまり、50フレーム/秒のPAL方式のビデオストリーム、又は、25フレーム/秒のPAL方式のビデオストリームを再生する能力が再生装置に存在するか(1b:50&25Hz Video is capable)、50&25Hzビデオを再生する能力が再生装置に存在しないか(0b:50&25Hz Video is incapable)を示す。
以上が、PSRセット23についての説明である。
以降、プレイリスト処理部41、Procedure実行部42について説明を開始する。
PiP制御部43については、その処理が多岐にわたるので、第2実施形態において改めて説明し直すものとする。ミキシング制御部44については、本実施形態の主眼との関連が希薄なので、第4実施形態において改めて説明し直す。
<機能構成の詳細その1.プレイリスト処理部>
プレイリスト処理部41は、PL再生を実現するものであり、PlayItem情報のIn_timeにあたる位置から、Out_timeにあたる位置までプライマリビデオストリームを再生し、これと同期して、SubPlayItem情報のSub_PlayItem_In_timeにあたる位置から、Sub_PlayItem_Out_timeにあたる位置までのセカンダリビデオストリームの再生を、ビデオデコーダ5bに行わせる。

<機能構成の詳細その2.Procedure実行部42>
Procedure実行部42は、あるPlayItem情報から別のPlayItem情報への切り換わりが生じた場合、又はストリーム番号を切り換える旨の操作がユーザによりなされた場合、所定のストリーム選択プロシージャを実行して、PSR14に新たなセカンダリビデオストリームのストリーム番号を書き込む。再生装置は、PSR14に書き込まれたストリーム番号に応じて、セカンダリビデオストリームを再生するので、かかるPSR14の設定を通じて、セカンダリビデオストリームが選択されることになる。
PlayItem情報の切り換わり時に、ストリーム選択プロシージャを実行するのは、STN_TableはPlayItem情報毎に存在するので、あるPlayItem情報においては再生可能であったセカンダリビデオストリームが、別のPlayItem情報において再生不可能になることが有り得るからである。
このProcedure実行部42により、PSR14は、図26に示すような状態遷移をなす。図26は、PSR14におけるセカンダリビデオストリーム番号が取り得る状態遷移を示す図である。本図においてValidとは、PSR14の値が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR14のセカンダリビデオストリーム番号が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図26における破線枠は、状態遷移時にあたって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が、ストリーム選択プロシージャであり、後でフローチャートを交えて詳細に説明する。
図26における矢印は、PSR14に格納されたセカンダリビデオストリーム番号が取り得る状態の遷移を象徴的に示す。
状態遷移を意味する矢印に添えられた注釈は、各状態遷移のトリガとなるべき事象を意味する。つまり本図では、“Load Disc”,“Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”というような事象が発生した際、PSR14におけるセカンダリビデオストリーム番号の状態遷移がなされることになる。これらの記法を理解して図26を参照すれば、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に設定するというのが、この状態遷移の趣旨である。
図27は、セカンダリビデオストリームにおけるProcedure when playback condition is changedの処理手順を示すフローチャートである。
ステップS51では、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」とは、50フレーム/秒、又は、25フレーム/秒のピクチャ列をデコードし、再生出力する能力をいう。また、Video format,frame_rateは、STN_tableにおいて、セカンダリビデオストリームについてのstream_attributeに記載されている。また、HD Secondary Video Capabilityや50&25Hz Video Capabilityの有無は、PSR29のb0,b1に示されている。これらSTN_tableによる設定と、PSR29のb1の値とを照合することで、条件(A)を具備しているかどうかの判断がなされる。

ステップS51の実行後、ステップS52、ステップS53を実行する。
ステップS52は、カレントPlayItemのSTN_tableにおけるセカンダリビデオストリームのSTN_tableにおけるStream_entryの個数が0であるか否かを判定する判定ステップである。ここでセカンダリビデオストリームのSTN_tableにおけるStream_entryの個数が0であることは、再生許可されているセカンダリビデオストリームが1つも存在しないことを意味する。もし0である場合、PSR14のセカンダリビデオストリーム番号を維持する(ステップS53)。カレントPlayItemにおいて、再生許可されているセカンダリビデオストリームが存在しない以上、PSR14の現状値を維持すべきだからである。
ステップS54は、ステップS53が0でないと判定された場合、実行される判定ステップであり、PSR14に格納された番号XがSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定する。このステップS54がYesと判定されたなら、後述する図28のフローチャートの手順を実行することでカレントPlayItemについて最適なストリームを選択する(ステップS55)。
もしステップS54において、Noと判定されたなら、ステップS56の判定ステップを実行する。この判定ステップは、条件(B)を満たすかどうかを判定するものである。条件(B)を満たせば、ステップS58におけるPSR14に、OxFEを設定する。このOxFEは、PSR14におけるセカンダリビデオストリーム番号はValidだが、セカンダリビデオストリームは非選択であることを意味する値である。非同期ピクチャインピクチャの実行時において、かかる値をPSR14に設定しておけば、ユーザ操作があった際、Procedure when stream change is requestedが実行されることになる。しかし、仮に、PSR14のストリーム番号がInvalidであれば、たとえユーザ操作がなされたとしても、Procedure when stream change is requestedは実行されず、いつまでたっても、セカンダリビデオストリームが再生されないという事態に陥る。これを避けるため、非同期ピクチャインピクチャの実行時においては、PSR14にOxFEを設定することにしている。
条件(B)は満たさないが、有効なセカンダリビデオストリーム番号が既にPSR14に存在するなら、これを変化させない(ステップS57)。
以上が、セカンダリビデオストリームにおけるProcedure when playback condition is changedについての説明である。
図28は、カレントPlayItemについて最適なストリームを選択する処理手順を示すフローチャートである。
ステップS61〜ステップS63では、以下の条件(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において再生許可されている全てのセカンダリビデオストリームについてなされれば、ステップS64の判定ステップを実行する。
ステップS64は、条件(a)を満たすセカンダリビデオストリームが1つも存在しないか否かの判定であり、もしそうであれば、0xFFFをセカンダリビデオストリームについてのストリーム番号としてPSR14に設定する(ステップS65)。
もしセカンダリビデオストリームが1つでも存在するなら、ステップS64がYesになり、ステップS66が実行されることになる。ステップS66は、条件(a)を満たすセカンダリビデオストリームであって、STN_tableにおいて先頭順位になっているものは、条件(b)を満たすかどうかを判定する。もし条件(b)を満たすなら、ステップS67において0xFEとなるセカンダリビデオストリーム番号をPSRに設定する。
条件(b)を満たさないなら、条件(a)を満たすセカンダリビデオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリビデオストリームのストリーム番号を、PSR14に設定する(ステップS68)。これらの手順を経て、カレントPlayItemにとって最適なセカンダリビデオストリームがPSR14に格納されることになる。以上が、最適なストリーム番号を選択するための選択手順である。
図29は、セカンダリビデオストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
操作受付部26に対してなされるユーザ操作にて、セカンダリビデオストリーム番号Xが特定されたとする。この場合、ステップS71では、番号Xのセカンダリビデオストリームが、以下の条件(A)、条件(B)を満たすか否かをチェックする。

条件(A):Video format,frame_rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。
条件(B):セカンダリビデオストリームにおけるSubPath_Typeは、“=6(非同期ピクチャインピクチャ)”である

以上のチェックを経れば、ステップS72の判定ステップを実行する。ステップS72は、カレントPlayItemのSTN_tableにおけるセカンダリビデオストリームのSTN_tableにおけるStream_entryの個数が0であるか否かを判定するものである。もし“0”であるなら、STN_tableには、再生が許可されているストリームが存在しないとして、PSR14におけるセカンダリビデオストリーム番号を維持する(ステップS73)。
もし“0”でないなら、ステップS74の判定ステップを実行する。ステップS74は、ユーザ操作にて特定された番号XのセカンダリビデオストリームがSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定するものである。もし条件(A)を満たすなら、番号Xにて特定されるストリームを選び、番号XをPSR14に設定する(ステップS75)。
ステップS74がNoであるなら、ステップS76の判定ステップを実行する。この判定ステップは、番号Xが0xFFであるか否かの判定である。ここで0xFFの番号Xは、“おまかせ番号”の意味であり、カレントPlayItemにとって最適なセカンダリビデオストリームの選択を、再生装置に委ねている意図を意味する。もし、0xFFでないなら、PSR14に格納されたセカンダリビデオストリームのストリーム番号を維持するが(ステップS77)、番号Xが0xFFであるなら、ステップS78〜ステップS80のループ処理に突入する。このループ処理では、以下の条件が満たされているかのチェックを、STN_tableにおける全てのstream_entryに記述されているセカンダリビデオストリームに対して実行する。

条件(a):Video format,frame_rateと、HD Secondary Video Capabilityや50&25Hz Video Capabilityとの比較では、PSR14に格納された番号により定められるセカンダリビデオストリームの再生能力が再生装置に存在している。

ループの実行後、条件(a)を満たすセカンダリビデオストリームが少なくとも1つ存在するかをステップS81で判定し、もし存在するなら、条件(a)を満たすセカンダリビデオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリビデオストリームのセカンダリビデオストリーム番号を、PSR14に設定する(ステップS82)。以上が、セカンダリビデオストリームに対するProcedure when stream change is requestedについての説明である。
以上のように本実施形態によれば、BD-ROMやローカルストレージに記録されているセカンダリビデオストリームの中に、再生不能なものが存在したとしても、次のストリームを選ぶという手順を実行することで、「自身が再生できるものをピクチャインピクチャに用いる」という選択の余地がうまれる。従って、セカンダリビデオの総サイズ自体にバラツキがあり、再生装置におけるセカンダリビデオの再生能力の有無にバラツキががあったとしても、何等かのセカンダリビデオを再生装置に表示させ、ピクチャインピクチャを実行させることができる。
(第2実施形態)
本実施形態では、ピクチャインピクチャを再生装置に実行させるための具体的なデータ構造と、このデータ構造に基づく再生装置の処理手順について説明する。ピクチャインピクチャを再生装置に実行させるための具体的なデータ構造は、図11、図16に示したmplsファイルの内部構成のうち、extention_dataに存在し、PiP_metadataと呼ばれる。図30は、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が、セカンダリビデオに適用される場合、第1実施形態に示したα3乗算部15cにおけるα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 の範囲となる。図31は、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 のタイムライン上に写像することで得られる写像点に配置される。
図32は、PiP_time_line_type“=1”である場合、PiP_metadata_time_stampが時間軸上にどのように配置されるかを示す図である。本図において、第3段目は、SubPlayItem時間軸であり、第2段目は、PlayItem時間軸である。第1段目は、プライマリビデオを構成する複数のピクチャである。
ここでセカンダリビデオがショッピング映像であり、本編中に途上する女優が着用している衣服のセールスを申し出るものとする。そして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
図33は、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情報の再生時間軸上に配置されている。
図33において、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に置かれる。
図34は、PiP_time_line_type=3である場合、PiP_metadata_time_stampが時間軸上にどのように配置されるかを示す図である。本図における各段の意味合いは、図32における各段のそれと同じである。また、プライマリビデオにおいて余白になっている位置も、図32のそれと同じであるとする。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]に設定すれば、図32と同様の画面演出を実現することができる。PiP_time_line_typeが=3に設定されれば、PlayItem時間軸の原点を基準にした座標にて、ピクチャインピクチャを実行すべき期間を規定することができる。
以上が本実施形態における記録媒体の改良である。続いて、本実施形態に係る再生装置についての改良を説明する。本実施形態における再生装置の改良点は、PiP制御部43が、metadata_block_header、PiP_metadata_blockに基づき再生制御を行う点である。図35、図36は、ピクチャインピクチャに基づく再生制御の手順を示すフローチャートである。以降、本フローチャートを参照しながら、再生制御について説明する。
ステップS91は、選択プロシージャの実行を待つ、イベント待ちループを構成している。プロシージャが実行された場合、ステップS91がYesになり、ステップS92以降の処理を実行する。ステップS92は、カレントPlayItemをref_to_PlayItem_idとして指定し、PSR14におけるセカンダリビデオストリーム番号に対応するPIDを、Ref_to_secondary_video_stream_idに指定したmetadata_block_headerが存在するか否かを判定する。
もし存在すれば、係るmetadata_block_headerをカレントmetadata_block_headerとする(ステップS93)。ステップS94〜ステップS96は、metadata_block_headerのPiP_time_line_typeの値に応じて、ステップS97、ステップS98、ステップS99を選択的に実行するものである。metadata_block_headerのPiP_time_line_typeが=1である場合、ステップS94がYesになり、プレイリスト再生時間軸におけるSync_Start_PTS_of_PlayItemの写像点に、PiP_metadata_block.PiP_metadata_time_stamp[0]を配置する(ステップS97)。
metadata_block_headerのPiP_time_line_typeが=2である場合、ステップS95がYesになり、SubPlayItem時間軸におけるSubPlayItem.In_Timeに、PiP_metadata_block.PiP_metadata_time_stamp[0]を配置する(ステップS98)。
metadata_block_headerのPiP_time_line_typeが=3である場合、ステップS96がYesになり、PlayItem.In_Timeに、PiP_metadata_block.PiP_metadata_time_stamp[0]を配置する(ステップS99)。
ステップS100では、PiP_metadata_time_stamp[0]の配置に基づき、PiP_metadata_time_stamp[0][1]・・・[n]をSTC時間軸上の座標に変換する。その後、ステップS101〜ステップS105のループ処理に突入する。このループ処理におけるカウンタ変数は、変数iであり、ステップS101にて“0”に初期化され、ステップS103、ステップS104が一回実行される度にステップS105にてインクリメントされる。
ステップS103は、現在の再生時点(カレント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乗算部15c、加算部15dに指示する(ステップS104)。
ここでmetadata_block_headerのis_luma_key:が1に設定されていれば、輝度(Y) の値がゼロ以上、upper_limit_luma_key 値以下までの画素を、ピクチャインピクチャの合成時において、完全透過するよう、α3乗算部15c、加算部15dに指示する。これにより、セカンダリビデオにおける人物像のみを抜き出して、プライマリビデオと合成することができる。
ループ処理の終了要件は、ステップS102において、i=number_of_pip_metadata_entries-1と判定されることである。この終了要件が、満たされるまで、ステップS103〜ステップS105の処理が繰り返し実行される。
また、PlayList情報の途中から、トリック再生を開始する場合、現在実行されているピクチャインピクチャが同期式PiPであるなら、trick_playing_flagを参照して、プライマリビデオに対するトリック再生の実行中、 PiPのためのウィンドウを開き続けるか閉じるかの コンテンツプロバイダ の意思を確認する。このフラグが 0 の場合、PiP ウィンドウを閉じることをコンテンツプロバイダ は意図しているので、ウィンドゥを閉じる。このフラグが 1の場合、PiP ウィンドウを開いておくことをコンテンツプロバイダ は意図しているので、ウィンドゥを開いたままにする。
以上のように本実施形態によれば、ピクチャインピクチャを開始する際の基準を、MainPath側の時間軸とするか、Subpath側の時間軸とするかをPiP_time_line_typeに基づき決定するので、プライマリビデオにおける絵柄にあわせてセカンダリビデオの位置を決めるか、ユーザ操作に反応してセカンダリビデオを動かすか等のオーサリング担当者の思惑を、再生装置の動作に反映することができる。

(第3実施形態)
本実施形態は、複数のセカンダリビデオストリームのそれぞれを、SubPlayItemと対応付けて、これらSubPlayItemから、1つのピクチャインピクチャ再生パスを定義する場合の改良について説明する。
この場合、SubPlayItem1つ当たりの再生区間の長さは、対応するPlayItemの再生区間の長さよりも短くてもよい。その反面、SubPathにおける連続的なSubPlayItemの間に時間のオーバーラップを持つことを許さない。たとえPlayItem間のバウンダリを伴う場合でもオーバーラップすることは許されない。その一方、SubPathにおける連続的なSubPlayItemの間に時間的なギャップを持つことは許される。SubPathにおける連続的なSubPlayItemの間に時間的なギャップは、3秒か、それより大きい。
図37は、1つのPlayItemからなるMainPathと、2つのSubPlayItemからなるSubpathとの関係を示す図である。第1段目は、プライマリビデオストリームを構成する複数のVideo Presentation Unitを示す。第2段目は、sync_PlayItem_idとsync_start_PTS_of_PlayItemの組みを示す。第3段目はSubClip時間軸を示し、第4段目は、SubPlayItemにおけるIn_Time,Out_Timeを示す。第5段目は、セカンダリビデオストリームを構成する複数のVideo Presentation Unitを示す。
第2段目に存在するsync_PlayItem_idとsync_start_PTS_of_PlayItemのとの組みは、MainPathの時間軸における、SubPlayItem_IN_timeと同期する時間を指定する。
また、第5段目における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によって表現されねばならない。
図37では、第3段目に示すように、連続する2以上のSubPlayItemの間に、3秒という時間的猶予が与えられるので、セカンダリビデオ用デコーダを制御するための過度の負担をコントローラ22にかけることはない。かかる配慮が、Subpath時間軸側に存在するので、再生装置の動作クロックを高めることなく、連続した2つのSubPlayItemに基づきSubClipを再生する処理を実現することができる。
以上が、以上が本実施形態における記録媒体の改良である。続いて、本実施形態における再生装置の改良について説明する。
本実施形態における再生装置の改良は、プレイリスト処理部41が、図38、図39、図40に示したフローチャートの処理手順を実行する点である。
図38は、PlayList情報に基づく再生手順のフローチャートである。本フローチャートは、PlayList情報を構成する.mplsファイルを読み込み(ステップS11)、PlayList情報における先頭のPlayItemをカレントPlayItemにした上で(ステップS12)、このカレントPlayItemに対して、ステップS13〜ステップS25の処理を繰り返すループ構造になっている。このループ構造は、ステップS23を終了条件としたものであり、カレントPlayItemのIn_Timeに対応するAccess Unitから、カレントPlayItemのOut_Timeに対応するAccess Unitまでを読み出しをBD-ROMドライブに命じ(ステップS13)、カレントPlayItemにpreviousPlayItemが存在するか否かを判定して(ステップS14)、判定結果に応じて、ステップS15の処理、ステップS16〜ステップS21の処理を選択的に実行する。具体的には、カレントPlayItemにpreviousPlayItemがなければ(ステップS14でNo)、PlayItem_In_TimeからPlayItem_Out_Timeまでの再生をデコーダに命じる(ステップS15)。
カレントPlayItemにpreviousPlayItemがあれば(ステップS14でYes)、カレントPlayItemにおけるConnection Conditionフィールドの値が5であるか(CC=5)否かを判定し(ステップS16)、CC=5であるなら(ステップS16でYes)、ステップS17〜ステップS20の処理を行う。
上述したpreviousPlayItemが存在する場合、MainClipにおけるATC_Sequenceが切り替わることになる。この切替において、ATC_delta1と呼ばれるMainClipのためのオフセット値を算出し(ステップS17)、それまでのATC_SequenceにおけるATC値(ATC1)に、ATC_delta1を加算することにより、新しいATC_SequenceのATC値(ATC2)を得る(ステップS18)。
また、上述した、previousPlayItemが存在する場合、MainClipにおけるSTC_Sequenceが切り替わることになる。この切り替えにおいて、STC_delta1と呼ばれるオフセット値を求めて(ステップS19)、それまでのSTC_SequenceにおけるSTC値(STC1)に、STC_delta1を加算することにより(ステップS20)、新しいSTC_SequenceのSTC値(STC2)を求める。
そしてAudio Overrapのミュートをオーディオデコーダ9に指示した上で、PlayItem_In_TimeからPlayItem_Out_Timeまでの再生をデコーダに命じる(ステップS21)。カレントPlayItemがCC=5でないなら、CC=1、CC=6の処理を行う。
ステップS15、ステップS16〜ステップS21のどちらかの処理を実行すればステップS22〜ステップS23の処理を実行する。
ステップS22は、カレントPlayItemと同期再生しているSubPlayItemが存在していて、現在の再生時点(カレントPTM(Presentation TiMe))が、そのSubPlayItemと、次のSubPlayItemとの境界に達したかを判定する。もしステップS22がYesになれば、図39のフローチャートのステップS30を実行する。
ステップS23は、AVClip時間軸における現在の再生時点がカレントPlayItemのOut_Timeに到達したかどうかの判定である。
もしステップS23がYesになれば、ステップS24に移行する。ステップS24は、カレントPlayItemがPlayList情報における最後のPlayItemになったか否かの判定であり、最後のPlayItemでなければ、PlayList情報における次のPlayItemを、カレントPlayItemにして(ステップS25)、ステップS26を経た上でステップS13に移行する。以上の処理により、PlayList情報における全てのPlayItemに対して、ステップS13〜ステップS24の処理が施されることになる。
図39は、SubPlayItemにおけるシームレス接続の処理手順を示すフローチャートである。
ステップS26において、PlayItemの切り替えに伴い、新たなセカンダリビデオストリームが選択された場合、ステップS30では、その新たなセカンダリビデオストリームに対応するSubPlayItemを選択する。
その後、ステップS31では、ステップS30にて選択されたSubPlayItemをカレントSubPlayItemに設定する。
以降、このカレントSubPlayItemに対し、ステップS32〜ステップS41の処理を実行する。先ず始めに、SubPlayItemのIn_Timeに相当するAccess Unitから、Out_Timeに相当するAccess Unitまでの読み出しをローカルストレージ200に命じる(ステップS32)。そしてカレントPlayItemにPrevious SubPlayItemが存在するか否かを判定して(ステップS33)、判定結果に応じて、ステップS34、ステップS35の処理、ステップS36〜ステップS41の処理を選択的に実行する。具体的には、カレントPlayItemにPrevious SubPlayItemがなければ(ステップS33でNo)、カレントPTMが、Sync_Start_Pts_of_PlayItemに到達するのを待ち(ステップS34)、到達すれば、SubPlayItem_In_TimeからSubPlayItem_Out_Timeまでの再生をデコーダに命じる(ステップS35)。
カレントPlayItemにPrevious SubPlayItemがあれば(ステップS33でYes)、カレントPlayItemがSP_CC=5であるか否かを判定し(ステップS36)、SP_CC=5であるなら(ステップS36でYes)、ステップS37〜ステップS41の処理を行う。
上述した、previousPlayItemが存在する場合、ATC_Sequenceが切り替わることになる。この切替において、ATC_delta2と呼ばれるSubClipのためのオフセット値を算出し(ステップS37)、それまでのATC_SequenceにおけるATC値(ATC1)に、ATC_delta2を加算することにより、新しいATC_SequenceのATC値(ATC2)を得る(ステップS38)。
ATC_deltaとは、これまで読み出されているトランスポートストリーム(TS1)の最後のTSパケットの入力時点T1から、新たに読み出されたトランスポートストリーム(TS2)の最初のTSパケットの入力時点T2までのオフセット値をいい、“ATC_delta≧N1/TS_recording_rate”という計算式で与えられる。ここでN1は、TS1の最後のビデオPESパケットに後続する、TSパケットのパケット数である。
また、上述した、previousPlayItemが存在する場合、STC_Sequenceも切り替わることになる。この切り替えにおいて、STC_delta2を求めて(ステップS39)、それまでのSTC_SequenceにおけるSTC値(STC1)に、STC_delta2を加算することにより(ステップS40)、新しい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のミュートをオーディオデコーダ9に指示した上で、PlayItem_In_TimeからPlayItem_Out_Timeまでの再生をデコーダに命じる(ステップS41)。
コントローラ22は、上述したように、STCの変更処理を行うが、再生装置の一般的な実装において、この変更処理は、デコーダがフリーラン状態にある場合になされる。フリーラン状態とは、デコーダがSTCとの同期制御を行っていない状態をいう。その後、STC時間軸が設定できる状態まで、STCが復帰すれば、デコーダは、フリーラン状態から、STCとの同期制御へと移行する。一方、ステップS36においてカレントPlayItemがCC=5でないと判定されたなら(ステップS36でNo)、CC=1、CC=6の処理を行う。
図38におけるステップS26は、PlayItemの切り替えに伴い、新たなセカンダリビデオストリームが選択されたかどうかの判定である。もしステップS26がYesになれば、図40のステップS45〜ステップS47を実行する。
このステップS45〜ステップS47では、1つのPlayItem中の連続する2つのSubPlayItemのうち、一方のSubPlayItemから、他方のSubPlayItemへと再生が切り替ったとして、その切り替え後のSubPlayItemを、カレントSubPlayItemとする(ステップS45)。
そしてカレントSubPlayItemのIn_Timeに相当するAccess Unitから、カレントSubPlayItemのOut_Timeに相当するAccess Unitまでの読み出しをローカルストレージ200に命じ(ステップS46)、カレントSubPlayItem_In_TimeからカレントSubPlayItem_Out_Timeまでの再生をデコーダに命じる(ステップS47)。

以上のように本実施形態によれば、1つのPlayItemの中において、カレントのSubPlayItemと、その直前のSubPlayItemとの間には、時間的なギャップがに設けられるので、かかるSubPlayItem間の境界では、ステップS37〜ステップS41のシームレス接続の処理が不要になる。シームレス接続の処理の実行頻度を少なくすることができるので、再生装置を高いクロックで動作させることは必要でなくなり、再生装置を低コストで製造することができる。

(第4実施形態)
本実施形態では、ピクチャインピクチャにおける音声再生の実現に関する。この音声再生は、PlayList情報におけるSTN_tableにて規定される。以降、STN_tableにおける音声についてのstream_entryについて説明する。これまでの説明で登場したプライマリオーディオストリーム、セカンダリオーディオストリームはそれぞれ、プライマリビデオストリーム、セカンダリビデオストリームに割り当てられる。つまりプライマリオーディオストリームはプライマリビデオストリーム用の音声として、セカンダリオーディオストリームはセカンダリビデオストリーム用の音声として使用されるのである。そして、これらプライマリビデオストリーム用の音声、セカンダリビデオストリーム用の音声のうち、どれの再生を許可するかが、STN_tableのstream_entryに規定される。
図41は、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セット23に格納されている。
具体的にいうと、PSRセット23のうち、PSR1にはカレントプライマリオーディオストリームのストリーム番号が格納されており、PSR14にはカレントセカンダリビデオストリームのストリーム番号とは別に、カレントセカンダリオーディオストリームのストリーム番号が格納されている。

<PSR1>
図42(a)は、PSR1のビットアサインを示す図である。
本図によると、32ビット長のPSR1の下位8ビット(b0〜b7)は、プライマリオーディオストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数プライマリオーディオストリームのうち、1つを特定する。PSR1の設定値が変化すれば、再生装置はこの変化後のプライマリオーディオストリームを再生する。PSR1は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、プライマリオーディオストリームが存在しない旨、又は、プライマリオーディオストリームが選択されてない旨を示す。1〜32の設定値は、プライマリオーディオストリームのストリーム番号として解釈される。
<PSR14>
図42(b)は、PSR14のビットアサインを示す図である。
本図によると、32ビット長のPSR14における下位8ビット(b0〜b7)は、セカンダリオーディオストリーム番号であり、カレントPlay ItemのSTN_tableにentryが記述されている複数セカンダリオーディオストリームのうち、1つを特定する。PSR14の設定値が変化すれば、再生装置はこの変化後のセカンダリオーディオストリームを再生する。PSR14は初期値として0xFFが設定されており、再生装置により1〜32の値に設定されうる。この0xFFは、不定値であり、セカンダリオーディオストリームが存在しない旨、又は、セカンダリオーディオストリームが選択されてない旨を示す。1〜32の設定値は、セカンダリオーディオストリームのストリーム番号として解釈される。

これらのセカンダリオーディオストリーム番号は、Procedure実行部42により設定され、Procedure実行部42により更新される。かかるProcedure実行部42により、PSR14におけるセカンダリオーディオストリーム番号は、図43に示すような状態遷移をなす。図43は、PSR14におけるセカンダリオーディオストリーム番号が取り得る状態遷移を示す図である。本図においてValidとは、PSR14のセカンダリオーディオストリーム番号が、Play ItemのSTN_tableに記述されたentry数以下の番号になっていて、尚且つ、デコード可能であることを意味する。
Invalidとは、PSR14のセカンダリオーディオストリーム番号が、0であるか、又は、Play ItemのSTN_tableに記述されたentry数を上回る番号になっているか、または、Play ItemのSTN_tableに記述されたentry数が1〜32の値であったとしても、デコードできない場合である。
図43における破線枠は、状態遷移時にあたってPSRの値を決定する手順を模式的に示す。PSRの設定処理手順には、『Procedure when playback condition is changed』、『Procedure when Stream change is requested』がある。これらの意味合いは、第1実施形態に示したセカンダリビデオストリームのそれと同じである。
また、これらの状態遷移は、”Load Disc”、”Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”というような事象をトリガにしている。これらの意味合いも、第1実施形態に示したセカンダリビデオストリームのそれと同じである。
続いて、セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順について説明する。
図44は、セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順を示すフローチャートである。ステップS111において、PSR14からセカンダリオーディオストリーム番号を取得し、ステップS112では、取得した番号のセカンダリオーディオストリームが条件(A)を満たすか否かを判定する。

条件(A):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、PSR14から取得したセカンダリオーディオストリーム番号との比較では、どの番号のセカンダリオーディオストリームと、カレントセカンダリビデオストリームとの組合せが許可されている。

この判定を経た後、ステップS113を実行する。ステップS113では、カレントPlayItemにおけるセカンダリオーディオストリームのSTN_tableにおけるStream_entryの個数が0であるか否かを判定するものである。もし、STN_tableにおけるStream_entryの個数が0であるなら、PSR14のセカンダリオーディオストリーム番号を維持する(ステップS116)。もしSTN_tableにおけるStream_entryの個数が0でなければ、ステップS114の判定を行う。
ステップS114では、セカンダリオーディオストリーム番号が、カレントPlayItemにおけるSTN_tableのstream_entry数以下であり、尚且つ、条件(A)を満たすかどうかを判定する。もし満たさないなら、有効なセカンダリオーディオストリーム番号が既にPSR14に存在すると考えられるので、これを変化させない(ステップS117)。満たすなら、カレントPlayItemについて最適なセカンダリオーディオストリームを選択する(ステップS115)。
以上が、セカンダリオーディオストリームにおけるProcedure when playback condition is changedについての説明である。
図45は、カレントPlayItemについて最適なセカンダリオーディオストリームを選択する手順を示すフローチャートである。
ステップS121〜ステップS123は、任意のストリームについて、以下の条件が満たされているかのチェックを、STN_tableにおける全てのstream_entryに記述されているストリームに対して実行する。

条件(a):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、セカンダリオーディオストリームiの番号との比較では、セカンダリオーディオストリームiと、カレントセカンダリビデオストリームとの組合せが許可されている。
条件(b):カレントプライマリオーディオストリームのaudio_language_codeと、セカンダリオーディオストリームのaudio_language_codeとが一致している。
以上のチェックを、STN_tableにおいて再生許可されている全てのセカンダリオーディオストリームに対して実行すれば、ステップS124を実行する。
ステップS124は、条件(a)を満たすセカンダリオーディオストリームが存在するか否かを判定する判定ステップである。存在しないなら0xFFとなるセカンダリオーディオストリーム番号をPSR14に設定する(ステップS125)。
条件(a)を満たすセカンダリオーディオストリームが存在するなら、ステップS126の判定を実行する。これは、条件(a)及び条件(b)を満たすセカンダリオーディオストリームが、少なくとも1つ存在するか否かを判定するというものである。存在するなら、条件(a)及び条件(b)を満たすストリームのうち、対応するStream_EntryがSTN_tableにおいて最初に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップS127)。
条件(a)及び条件(b)を満たすセカンダリオーディオストリームが存在しないなら、ステップS128の判定を実行する。これは、条件(a)を満たすセカンダリオーディオトリームが存在するか否かを判定するものである。もし存在するなら、条件(a)を満たすセカンダリオーディオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームのセカンダリオーディオストリーム番号を、PSR14に設定する(ステップS129)。
以上が、最適なセカンダリオーディオストリームの選択手順についての説明である。
図46は、セカンダリオーディオストリームについての処理手順を示すフローチャートである。
ステップS131は、ユーザ操作に応じた番号(番号X)から特定されるセカンダリオーディオストリームが、条件(A)を満たすか否かをチェックする。

条件(A):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、番号Xから特定されるセカンダリオーディオストリーム番号との比較では、番号Xのセカンダリオーディオストリームと、カレントセカンダリビデオストリームとの組合せが許可されている。

もし満たせば、ステップS132の判定を実行する。この判定は、番号XがSTN_tableにおけるstream_entryの総数以下であり、且つ、番号Xに対応するセカンダリオーディオストリームが条件(A)を満たすかどうかを判定するものである。そうであるなら、番号Xにて特定されるセカンダリオーディオストリームを選び、番号XをPSR14に設定する(ステップS142)。否であるなら、ステップS133の判定を行う。これは番号Xが0xFFであるか否かを判定する。この0xFFの意味合いは、第1実施形態における番号Xのそれと同じであり、いわゆる“おまかせ番号”を意味する。もし番号Xが0xFFでないならPSR14における現状のセカンダリオーディオストリーム番号を維持する(ステッS143)。
番号Xが0xFFであるなら、カレントPlayItemにとって最適なセカンダリオーディオストリームを選択すべく、ステップS134〜ステップS136において、以下の条件が満たされているかのチェックを、STN_tableにおける全てのstream_entryに記述されているセカンダリオーディオストリームに対して実行する。
ここで、チェックの対象となるセカンダリオーディオストリームをセカンダリオーディオストリームiとすると、条件(a)、条件(b)は以下のように規定される。

条件(a):Comb_info_secondary_video_Secondary_audioに規定されたセカンダリオーディオストリーム番号と、セカンダリオーディオストリームiの番号との比較では、セカンダリオーディオストリームiと、カレントセカンダリビデオストリームとの組合せが許可されている。
条件(b):カレントプライマリオーディオストリームのaudio_language_codeと、セカンダリオーディオストリームiのaudio_language_codeとが一致している。

ループの実行後、ステップS137の判定を実行する。これは条件(a)(b)を満たすストリームが少なくとも1つ存在するか否かを判定する。存在するなら、ステップS138において条件(a)及び条件(b)を満たすセカンダリオーディオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームの番号を、PSR14に設定する。
存在しないなら、条件(a)を満たすセカンダリオーディオストリームが存在するかどうかをステップS139において判定し、存在するなら、ステップS140において条件(a)を満たすセカンダリオーディオストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したセカンダリオーディオストリームの番号を、PSR14に設定する。存在しないなら、PSR14のセカンダリオーディオストリーム番号を維持する(ステップS141)。
以上が、セカンダリオーディオストリームに対するProcedure when stream change is requestedについての説明である。
以上が本実施形態において、Procedure実行部42によりなされるプロシージャである。続いて、オーディオストリーム再生の特徴の1つである、ミキシング制御部45について説明する。
ミキシング制御部45は、オーディオデコーダ8aによるプライマリオーディオストリームの再生出力と、オーディオデコーダ8bによるセカンダリオーディオストリームの再生出力とをミキシングするよう、ミキサー9aを制御する。
ここでPlayItem時間軸における現在の再生時点が、SubPlayItem情報のIn_timeからOut_timeまでであり、また、カレントPlayItem情報のSTN_Tableにおいて、セカンダリオーディオストリームが再生許可と設定されている場合、PSR14に格納されたストリーム番号のセカンダリオーディオストリームのデコードが、オーディオデコーダ7bにてなされているので、ミキシング制御部45は、オーディオデコーダ7aの再生出力に対して、オーディオデコーダ7bの再生出力をミキシングするよう、ミキサー9aを制御する。
プライマリオーディオストリームにおける属性がサラウンドである場合、L,R,C,LS,RS,LR,RR,LFEといった成分のうち、所望の成分のみを残すようダウンミキシングを行った上で、セカンダリオーディオストリームの再生出力をミキシングすることができる。ここでセカンダリオーディオストリームが映画監督のコメンタリ音声である場合、セカンダリオーディオストリームをミキシングすべきプライマリオーディオストリームのチャンネルを、L→C→Rというように変化させてゆけば、ユーザの回りを映画監督が、歩き回っているかのような感覚を、ユーザに与えることができる。このようなミキシングをパンニングと呼んでいる。パンニングではプライマリオーディオストリームよりも少ないチャンネル数のセカンダリオーディオストリーム(例えばモノラル)の音声が使われる。
以上のように本実施形態によれば、プライマリビデオストリーム用のプライマリオーディオストリーム、セカンダリビデオストリーム用のセカンダリオーディオストリームとしてそれぞれどれの再生を許可するかを、STN_tableに規定しておき、このSTN_tableに存在するstream_entryからプライマリオーディオストリーム、セカンダリオーディオストリームをそれぞれ1つ選んで、これらのミキシング出力を行うので、ピクチャインピクチャの実行時において、本編の音声に、映画監督によるコメンタリが加わった合成音声を聴くことができる。
セカンダリビデオが、監督や出演者のみが登場している動画像であり、プライマリビデオにおける映像内容を指さすような演技を行っている場合、ピクチャインピクチャにてかかるセカンダリビデオの映像内容を、セカンダリオーディオによる映画監督のコメンタリと組み合わせることにより、映画作品本編の再生映像の中身を、監督や出演者が指さして、解説しているような、楽しい画面演出を実現することができる。
(第5実施形態)
本実施形態は、ピクチャインピクチャにおける字幕再生の改良に関する。この字幕再生は、PlayList情報におけるSTN_tableにて規定される。以降、STN_tableにおける字幕のためのstream_entryについて説明する。プライマリオーディオストリーム、セカンダリオーディオストリームはそれぞれ、プライマリビデオストリーム、セカンダリビデオストリームに割り当てられたが、字幕には、Presentation Graphicsストリーム、textSTストリームという区別はあるものの、プライマリビデオストリーム用、セカンダリビデオストリーム用という明確な区別は存在しない。
以降、PGtestSTストリームについてのstream_entryについて説明する。図47は、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セット23に格納されている。
図48(a)は、カレント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までの値をとる。
図48(b)は、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ストリームの番号について説明する。

図49は、ピクチャインピクチャ用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の値であったとしても、デコードできない場合である。
図49における破線枠は、状態遷移時にあたって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これらの意味会いは、第1実施形態に示したセカンダリビデオストリーム番号のそれと同じである。
また、各状態遷移のトリガとなるべき事象には、”Load Disc”、”Change a Stream”,“Start PlayList playback”,“Cross a PlayItem boundary”,“Terminate PlayList playback”がある。これらの意味合いも、第1実施形態に示したセカンダリビデオストリームストリーム番号のそれと同じである。
続いて、Procedure when stream change is requestedの処理手順について説明する。
図50は、PGtestSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
ステップS151においてPSR2からカレントPiP_PG_TextSTストリーム番号を取得し、ステップS152において、カレントPiP_PG_TextSTストリーム番号は、Presentation GraphicsストリームについてのものかtextSTストリームについてのものかを判定する。ステップS153は、カレント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ストリームとの組合せが許可されている。
一方ステップS154では、カレントPiP_PG_TextSTストリーム番号に対応するtextSTストリームが、条件(A)、条件(B)、条件(C)を満たすか否かをチェックするものである。

条件(A):カレントPiP_PG_TextSTストリーム番号のtextSTストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。かかる再生能力は、PSRセット23におけるPSR30に示されている。
条件(B):カレントPiP_PG_TextSTストリーム番号のtextSTストリームの言語属性をサポートする能力が再生装置に存在すること。かかるサポート能力は、PSRセット23におけるPSR48〜61に示されている。
条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGtextSTストリーム番号との比較では、PSR14に格納されているカレントセカンダリビデオストリームと、カレントPiP_PG_TextSTストリーム番号から特定されるPGtextSTストリームとの組合せが許可されていること。

ここで、ある言語の字幕がtextSTストリームで表現されている場合、その言語のtextSTストリームを、“デコードすることができる”といえるには、その言語における文字コードを、ビットマップに展開する能力と、その言語の特性をサポートするサポート能力とが再生装置側に存在する必要がある。
英語、日本語、アラビア語を例にとってみると、英語の字幕表示は、“横書き”,“カーニング”,“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
日本語の字幕表示は、“横書き”,“縦書き”,“行末禁則”,“ルビ”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
アラビア語の字幕表示は、“右から左の描画”、“合字・抱き字”という機能がサポートされて初めて、言語特性がサポートされていると判断することができる。
ある言語のtextSTストリームをビットマップに展開することができ、その言語の特性をサポートすることができる場合、上記条件(A)、条件(B)は、満たされているということができる。その言語のtextSTストリームをビットマップに展開することができるが、その言語の特性をサポートすることができない場合、上記条件(B)は満たされず、条件(A)のみが、満たされているということができる。

以上の判定を経た後、ステップS155を実行する。ステップS155は、再生装置は、条件(Z)を満たすか否かを判定するものである
ここで条件(Z)とは、アンサポート言語の字幕を、再生することをユーザが意図していることであり、かかる意図は、PSRセット23におけるPSR30に示されている。
その後、ステップS156の判定ステップを実行する。これは、カレントPlayItemのSTN_tableにおけるnumber_of_PG_textST_streams_entriesと、number_of_PiP_PG_textST_stream_entries_plusとの和が=0であるか否かを判定するものである。STN_tableに再生が許可されているPGTextSTストリームが存在しない場合、PSR2におけるPGTextSTストリームの番号を維持する(ステップS157)。カレントSTN_tableにおいて再生が許可されているPGTextSTストリームが少なくとも1つ存在する場合、ステップS158を実行する。これは、カレントPiP_PG_TextSTストリーム番号の有効性を問うステップであり、カレントPiP_PG_TextSTストリーム番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)、条件(B)、条件(C)を満たすかどうかを判定する。
もし満たすなら、有効なPiP_PG_TextSTストリーム番号が既にPSR2に存在するとして、これを変化させない(ステップS159)。
もしステップS158で満たさないと判定されたなら、ステップS160の判定を実行する。これは、カレントPiP_PG_TextSTストリーム番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定するものである。もし満たすなら、PSR2には、アンサポート言語のテキスト字幕のPiP_PG_TextSTストリーム番号が設定されているが、ユーザはアンサポート言語の再生を意図しているので、PSR2を変化させない(ステップS161)。ステップS160において満たさないと判定されたなら、カレントPlayItemについて最適なストリームを選択する(ステップS162)。
以上が、PGTextSTストリームにおけるProcedure when playback condition is changedについての説明である。
図51は、カレントPlayItemについて最適なPGTextSTストリームを選択する処理手順を示すフローチャートである。
ステップS1 90において、全ての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セット23における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が、再生装置における言語設定と一致していること。
以上のチェックを経た後、ステップS191では、再生装置が、前のフローチャートで述べた条件(Z)(:アンサポート言語の再生)を満たすかどうかを判定する。みたさない場合、ステップS192において、条件(a)〜条件(d)を満たすPGTextSTストリームが存在するかを判定する。存在するなら、条件(a)〜条件(d)を満たすPGTextSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS193)。
存在しないなら、ステップS194において、より緩和された条件を満たすPGTextSTストリームが存在するか否かを判定する。緩和された条件とは、条件(a)、条件(b)、条件(c)の3つを満たすことであり、これを満たすPGTextSTストリームが存在するかが、ステップS194で判定される。存在するなら、条件(a)、条件(b)、条件(c)を満たすPiPPGtestSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS196)。
存在しないなら、0xFFFであるPiP_PG_TextSTストリーム番号をPSR2に設定する(ステップS195)。ステップS191において、条件(Z)を満たすと判定されたなら、ステップS197において、別の緩和された条件を満たすPGTextSTストリームが存在するかを判定する。別の緩和された条件とは、条件(a)、条件(c)、条件(d)を満たすものであり、ステップS198では、これらを満たすPGTextSTストリームが存在するかか否かが判定される。
もし存在するなら、条件(a)、条件(c)、条件(d)を満たすPiP_PGTextSTストリームのうち、対応するStream_EntryがSTN_tableの最初に位置するものを選択して、選択したもののPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS198)。
存在しない場合、ステップS199において、条件(a)、条件(c)を満たすPGTextSTストリームが存在するかを判定する。存在する場合、条件(a)、条件(c)を満たすPiP_PGtestSTストリームのうち、対応するStream_EntryがSTN_tableにおいて先頭順位に位置するものを選択して、選択したもののPiP_PG_TextSTストリーム番号を、PSR2に設定する(ステップS200)。存在しない場合、0xFFFをPSR2に設定する(ステップS201)。
以上が、最適なPGTextSTストリームの選択手順についての説明である。

図52は、PGTextSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。
ステップS171では、ユーザ操作に応じて取得した番号Xは、Presentation GraphicsストリームについてのPiP_PG_TextSTストリーム番号を意味するか、textSTストリームについてのPiP_PG_TextSTストリーム番号を意味するかを判定する。ステップS172は、番号Xに対応するPresentation Graphicsストリームが、以下の条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
条件(A):番号Xから特定されるPresentation Graphicsストリームをデコードする能力が再生装置に存在すること。
条件(B):特定されたPresentation Graphicsストリームの属性となる言語を、再生する能力が再生装置に存在すること。
条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、番号Xから特定されるPGtextSTストリームとの組合せが許可されていること。

ステップS173は、番号Xに対応するtextSTストリームが、以下の条件(A)、条件(B)、条件(C)を満たすか否かをチェックする。
条件(A):番号Xに対応するtextSTストリームのキャラクターコードをビットマップに展開する能力が再生装置に存在すること。
条件(B):番号Xに対応するtextSTストリームの言語属性をサポートする能力が再生装置に存在すること。
条件(C):PSR14におけるセカンダリビデオストリーム番号と、comb_info_Secondary_video_PiP_textST()によるPGtextSTストリーム番号との比較では、カレントセカンダリビデオストリームと、番号Xから特定されるPGtextSTストリームとの組合せが許可されていること。

ステップS174では、再生装置は、条件(Z)を満たすか否かをチェックし、ステップS175の判定を行う。この判定は、番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)を満たすかどうかを判定する。もし満たすなら、番号XにあたるPiP_PG_TextSTストリーム番号のPGTextSTストリームを選択して、PSR2に設定する(ステップS176)。
ステップS175において満たさないと判定されたなら、ステップS177の判定を実行する。この判定は、番号がSTN_tableにおけるstream_entryの総数以下であり、且つ、条件(A)(C)(Z)を満たすかどうかを判定するものである。満たすなら、番号XにあたるPiP_PGTextSTストリームを選択して、そのPiP_PG_TextSTストリーム番号をPSR2に設定する(ステップS178)。
満たさないなら、ステップS179の判定を行う。この判定は、番号Xが、0xFFFであるかか否かを判定するものである。そうでないなら、STN_tableに再生が許可されているPGTextSTストリームが存在しないとして、PSR2の値を維持する(ステップS180)。
0xFFFであるなら、カレントPlayItemについて最適なPGTextSTストリームを選択する(ステップS181)。この最適なPGTextSTストリームの選択は、図51に示したものと同じである。
以上が、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ストリームを再生するので、あるときは、プライマリビデオストリームに適した字幕を動画像と共に再生させ、またあるときは、セカンダリビデオストリームに適した字幕を動画像と共に再生させることができ、字幕選択の幅を広げることができる。
(第6実施形態)
本実施形態では、これまでの実施形態で述べた、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制作の中核になるものであり、オーサリングシステムと呼ばれる専用のシステムでなされる。本システムは、制作スタジオに設置され、ユーザの使用に供される。図53は、第6実施形態に係るオーサリングシステムの内部構成を示す図である。以降、本図を参照しながら、オーサリングシステムについての説明を行う。
本図に示すようにオーサリングシステムは、タイトル構造作成装置51、リールセット編集装置52、BDシナリオ生成装置53、Java(登録商標)(TM)プログラミング装置54、素材作成/インポート装置55、 ディスク作成装置56、検証装置57、マスター作成部58といった装置を、構内ネットワークを介して互いに接続することで構成される。
1)タイトル構造作成装置51
タイトル構造作成装置51は、Index.bdmvで示される各タイトルがどのようなコンテンツで構成されるかを決定する。本装置による決定は、タイトル構造情報を作成することでなされる。タイトル構造情報とは、木構造を用いて、タイトル、Movieオブジェクト、BDJオブジェクト、プレイリスト間の関係を規定する情報である。具体的にいうと、タイトル構造情報は、制作しようとするBD-ROMの「ディスク名」に対応するノード、そのBD-ROMにおいて、Index.bdmvから再生可能となる「タイトル」に対応するノード、そのタイトルを構成する「Movieオブジェクト及びBDJオブジェクト」に対応するノード、当該Movieオブジェクト及びBDJオブジェクトを構成するコマンドから再生される「プレイリスト」のノードを規定して、これらノードを、エッジ(辺)で結び付けることで、タイトル、Movieオブジェクト、BDJオブジェクト、プレイリスト間の関係を規定する。タイトル構造情報においてPlayList情報は、00001.mpls,00002.mplsというような、ファイル名ではなく、MainPlaylist, MenuPlaylistというような、抽象的な名称で記載される。以上のような木構造を、ユーザからの対話操作に基づいて作成してゆくことで、本装置は、タイトル構造情報を完成させてゆく。

2)リールセット編集装置52
リールセット編集装置52は、ビデオ、オーディオ、字幕、ボタンなど映画として完結する複数のエレメンタリーストリームの関係を決定する。例えば、1本の映画が1本のビデオ、2本のオーディオ、3本の字幕、1本のボタンストリームから成る場合に、それらで一本の映画となることを指定し、また、映画本編に対して、一部分だけ映像が異なるようなディレクターズカットを指定したり、複数のアングルを持つマルチアングルを設定したりする機能を有する。リールセット編集装置52から出力されるリールセットファイルとは、前述のような情報をまとめたものである。

3)BDシナリオ生成装置53
BDシナリオ生成装置53とは、メニュー編集部53aと、シナリオ編集部53bとから構成される。
(メニュー編集部53a)
メニュー編集部53aは、GUIを経由したユーザ操作に従って、Interactive Graphics Streamを構成するボタンの配置や、ボタンに付加されるコマンド、ボタンアニメーションなどの機能を作成する。
(シナリオ編集部53b)
シナリオ編集部53bは、GUIを経由したユーザ操作に従った編集処理をタイトル構造作成装置51によって作成されたタイトル構造情報に施すことにより、シナリオを作成し出力する。ここでシナリオとは、デジタルストリームの再生にあたって、タイトル単位での再生を再生装置に行わせる情報であり、BD-ROMではIndexTable、MovieObject、PlayListとして定義されている情報がシナリオにあたる。BD-ROMシナリオデータには、ストリームを構成する素材情報、再生経路情報、メニュー画面配置、メニューからの遷移情報などを含み、ユーザーはこれらの情報の検証が完了するまでシナリオ生成装置を用いシナリオ編集作業を行う。このシナリオ編集作業では、シナリオ編集部53bは、タイトル構造情報のプレイリストリストの内容を設定する。かかるシナリオ編集作業により第1実施形態、第4実施形態、第5実施形態に示したSTN_tableや、第2実施形態に示したPiP_metadataをプレイリストの構成要素として定義することで、これらの構成要素は、BD-ROMシナリオデータに組込まれることになる。
また、BDシナリオ生成装置53が出力するBD-ROMシナリオデータは、後に説明するマルチプレクサ56eでの多重化を実現するためのパラメータ等も含まれる。
また、BDシナリオ生成装置53は、前述したシームレス動画メニューのデータ構造のシナリオを作成することが可能である。ユーザはGUIを経由した操作によって、メニュー編集部53aを利用し、メニューの背景映像としてシームレスに再生したい映像を選択する。シナリオ編集部53bは、シームレス動画メニューのデータ構造にあうようにプレイリストを作成する。プレイリストをAVClipの数に合うようにプレイアイテムの個数を調整し、BD-ROMシナリオデータとして出力する。そのとき、マルチプレクサ56eで多重化を実現するパラメータとして、各AVClipをシームレスに再生するように設定を行う。
4)Java(登録商標)(TM)プログラミング装置54
Java(登録商標)(TM)プログラミング装置54は、IDクラス作成部54aと、Java(登録商標)(TM)プログラム編集部54b、BDJオブジェクト作成部54cから構成される。
(IDクラス作成部54a)
IDクラス作成部54aは、タイトル構造作成装置51によって作成されたタイトル構造情報を利用しIDクラスソースコードを作成する。IDクラスソースコードとは、Java(登録商標)(TM)プログラムが最終的にディスク上に作成されるIndex.bdmvやPlayList情報にアクセスするためのJava(登録商標)(TM)クラスライブラリのソースコードである。このIDクラスソースコードからコンパイルが得るJava(登録商標)(TM)クラスライブラリをIDクラスライブラリと呼ぶことにする。
IDクラスソースコードは、プレイリスト番号を指定することでディスクから所定のプレイリストファイルを読み込むコンストラクタをもち、このコンストラクタを実行して作成したインスタンスを利用することでAVClipの再生等が実行可能なように設計、実装されている。IDクラスライブラリの変数名は、MainPlaylist, MenuPlaylistのように、タイトル構造情報で定義されるプレイリストノードの名前を用いて定義される。このとき用いるプレイリスト番号は、ダミーの番号でよい。
(Java(登録商標)(TM)プログラム編集部54b)
Java(登録商標)(TM)プログラム編集部54bは、GUI等のユーザインターフェースを通じて、ユーザからの要求に従って、Java(登録商標)(TM)プログラムのソースコードを作成し、Java(登録商標)(TM)プログラムソースコードを出力する。Java(登録商標)(TM)プログラムによる、Index.bdmv、プレイリストの参照は、IDクラスライブラリにてなされる。
(BDJオブジェクト作成部54c)
BDJオブジェクト作成部54cは、Java(登録商標)(TM)プログラム編集部54bで作成したJava(登録商標)(TM)プログラムソースコードとIDクラス作成部54aによって作成したIDクラスソースコードとを元に、BDJオブジェクト生成情報を作成する。BDJオブジェクト生成情報とは、最終的にBD-ROMに記録されるべきBDJオブジェクトの雛形となる情報であり、再生すべきプレイリストを、00001.mpls,00002.mplsというような具体的なファイル名ではなく、IDクラスライブラリで定義された変数名を用いて、指定している。

5)素材作成/インポート装置55は、字幕作成部55a、オーディオインポート部55b、ビデオインポート部55c、Java(登録商標)(TM)インポート部55dから構成される。入力されるビデオ素材、オーディオ素材、字幕用素材、Java(登録商標)(TM)プログラムソースコード等を、BD-ROM規格に準拠したビデオストリーム、オーディオストリーム、字幕データ、Java(登録商標)(TM)プログラムソースコード等に変換し、ディスク作成装置56に受け渡す部である。
(字幕作成部55a)
字幕作成部55aは、字幕と表示タイミング、およびフェードイン/フェードアウトなどの字幕の効果を含む字幕情報ファイルを元にして、BD-ROM規格に準拠した字幕データを生成して出力する。
(オーディオインポート部55b)
オーディオインポート部55bは、あらかじめACー3などで圧縮されているオーディオが入力された場合には、対応するビデオに対するタイミング情報などを付加したり、余分なデータを削除する等処理を施した上で出力する。圧縮されていない場合には、ユーザーが指定するフォーマットに変換して出力される。
(ビデオインポート部55c)
ビデオインポート部55cは、あらかじめMPEG2、MPEG4-AVC、VC-1などの方式で圧縮されているビデオストリームが入力された場合、必要に応じて不必要な情報を削除するなどしてから後、出力される。また、あらかじめ圧縮されていない非圧縮ビデオファイルが入力された場合には、かかるビデオファイルはビデオエンコーダーに入力され、ユーザーが指定するパラメーターに従って、圧縮された後、出力される。
Java(登録商標)(TM)インポート部55dは、Java(登録商標)(TM)プログラム作成装置54によって作成されたJava(登録商標)(TM)プログラムソースコード、プログラム付属情報、IDクラスソースコード、BDJオブジェクト生成情報をディスク作成装置56にデータを受け渡す。Java(登録商標)(TM)インポート部55dは、タイトル構造情報を利用し、インポートするJava(登録商標)(TM)プログラムソースコード、プログラム付属情報、IDクラスソースコード、BDJオブジェクト生成情報と、それらのファイル群がどのBDJオブジェクトに対応するのかの関連付けを行い、タイトル構造情報のBDJオブジェクトノードのBDJオブジェクト生成情報を設定する。
6) ディスク作成装置56
ディスク作成装置56は、ID変換部56a、静止画エンコーダー56b、データベース生成部56c、Java(登録商標)(TM)プログラムビルド部56d、マルチプレクサー56e、フォーマット部56f、ディスクイメージ作成部56gから構成される。
(ID変換部56a)
ID変換部56aは、Java(登録商標)(TM)インポート部55dによって、ディスク作成装置56に渡されたIDクラスソースコードを、タイトル番号、プレイリスト番号に変換する。また、ID変換部56aは、BDJオブジェクト生成情報についても、BDJオブジェクト内で定義されるプレイリスト名が、実際のディスク上のプレイリスト番号と一致するよう変換する。
(静止画エンコーダー56b)
静止画エンコーダー56bは、入力されたBD-ROMシナリオデータに静止画または静止画が保持されている場所が含まれる場合に、入力素材に含まれる静止画用イメージの中から該当する静止画を選択し、BD-ROMに準拠したMPEG2、MPEG4-AVC、VC1のいずれかの形式に変換する。
(データベース生成部56c)
データベース生成部56cは、入力されたBD-ROMシナリオデータ、ID変換部56aから渡されるBDJオブジェクト生成情報を元にして、BD-ROMに準拠したシナリオデータのデータベースを生成する。ここでのデータベースとは、前述のBD-ROMで定義されるIndex.bdmv、Movieオブジェクト、プレイリスト、BDJオブジェクトなどの総称である。
(Java(登録商標)(TM)プログラムビルド部56d)
Java(登録商標)(TM)プログラムビルド部56dは、ID変換部56aによって変換されたIDクラスソースコードと、Java(登録商標)(TM)プログラムソースコードとに対してコンパイル処理を行い、Java(登録商標)(TM)プログラムを出力する。
(マルチプレクサー56e)
マルチプレクサー56eは、BD-ROMシナリオデータに記述されているビデオ、オーディオ、字幕、メニューを実現する複数のエレメンタリーストリームを多重化して、MPEG2-TS形式のAVClipと呼ばれるデジタルストリームを得るための部である。また、マルチプレクサー56eは、前記AVClipを出力すると同時に、AVClipに関する情報を持つClip情報を出力する。
具体的には、BD-ROM向けに生成されたデジタルストリームにおいて、含まれるビデオエレメンタリーストリームがMPEG2であればI Picture、MPEG4-AVCであればI PictureかIDRPicture、VC1であればI Pictureが何処に存在するかを検出し、前述の各Pictureの表示時刻と、MEPG2-TSとなっているAVClipの何パケット目のTSパケットに前述の各Pictureの先頭データが入っているかを対応付けることでEP_mapを生成する。マルチプレクサ56eは、自ら生成したEP_mapと、リールセットファイルから検出されるデジタルストリーム毎の音声属性、映像属性などを示す属性情報をペアにしてClip情報を作成する。
EP_Mapをマルチプレクサ56eで作成する理由は、EP_Mapは、マルチプレクサーから出力されるMPEG2-TS形式のAVClipに非常に密接に関係している情報であり、また、BD-ROMでの使用のために作成されるAVClipは、ファイルサイズが非常に大きくなる可能性があるので、もしAVClipを作成後に、EP_Mapを作成しようとすると、大きなファイルサイズのAVClipを再度読み直す必要があるために、EP_Map作成に要する時間が必要となる。これに対して、AVClipを作成しながらEP_Mapを作成すれば、巨大なAVClipファイルを2度に渡って読み直す必要がないため、EP_Map作成のための時間を節減できる。
またマルチプレクサ56eは、BD-ROMシナリオデータに含まれるマルチプレクサ56eのためのパラメータを利用し、多重化の方法を変える。例えば、多重化する対象となる第1AVClipが、第2AVClipとシームレスに接続するようにパラメータが設定されている場合は、前述したようにバッファモデルを破綻させないように、第1のAVClipをデコードした後のバッファ状態を初期値として、第2のAVClipの多重化を行う。

(フォーマット部56f)
フォーマット部56fは、前述のデータベース、AVClip、Java(登録商標)(TM)プログラムを入力とし、BD-ROMフォーマットに適合したデータ構造で、ファイルの配置処理を行う。BD-ROMの応用層を規定するディレクトリ構造を作成し、各ファイルを適切な箇所に配置する。この時、フォーマット部56fは、木構造を定義することでJava(登録商標)(TM)プログラムとAVClipの関連付けを行う。かかる関連付けにより、再生に用いられる複数のファイルは、ブロックという単位にカテゴライズされる。以上のような木構造を、ユーザからの対話操作に基づいて作成してゆくことで、本装置は、ファイル同士の関連付けを完成させてゆく。
(ディスクイメージ作成部56g)
ディスクイメージ作成部56gは、前述のデータベース、AVClipを入力とし、これらにBD-ROMフォーマットに適合したアドレスに割り付けてボリュームイメージを得る。
ボリュームイメージの作成にあたって、ディスクイメージ作成部56gは、関連あるファイル群が物理的に連続になるように配置する、これにより再生するときのディスクの読み出しを効率的に行うことが出来るようになる。シームレスフラグがOnになっているブロックについては、このブロックに属するAVClipがシームレスに再生されるように配置する。具体的には、前述したシームレスに再生するための物理的な配置の条件である最小エクステントサイズや最大ジャンプ距離を条件に満たすようにディスク内での配置を行う。
7)検証装置57
検証装置57は、エミュレーター部57aとベリファイアー部57bとからなる。
エミュレーター部57aでは、前述のボリュームイメージを入力として、実際の映画コンテンツを再生し、制作者が意図した通りの動作、例えばメニューから本編映画への遷移が正しく行われているか、字幕切り替えやオーディオ切り替えは意図したとおりに動作しているか、映像やオーディオの品質は意図したとおりにできているかなどを検証する。
ベリファイアー部57bでは、前述のボリュームイメージを入力として、制作されたデータが、BD-ROMの規格に準拠しているかどうかを検証する。
Out_of_MUXストリームでピクチャインピクチャを実現するにあたっては、STN_tableにおいて同時に再生することが許可されている複数のエレメンタリストリームにおける、TSパケットの、1秒当たりの総ビット量を、48Mbit以下に制限せねばならない。この制限が満たされているかどうかを確認するため、ベリファイアー部57bは、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規格に整合しているとの判定を下すのである。
このようにボリュームイメージはエミュレーター57a、およびベリファイアー57bで検証され、エラーが発見されると、然るべき前工程に戻って作業をやり直す。これら2つの検証過程を経た後、マスター作成部58を経て、BD-ROMプレス用データが完成し、ディスクの製造を行うプレス工程に入る。
次に図54を参照しながら、フォーマッティング工程における処理の流れについて説明する。
ステップS301にて、ユーザはタイトル構造作成装置51を用いてBD-ROMのタイトル構造を設定する。これによりタイトル構造情報が作成される。
ステップS302にて、ユーザはBDシナリオ生成装置53を利用し、シームレス動画メニューの構成を持つシナリオデータの作成を行う。これにより、BD-ROMシナリオデータには、シームレス動画メニューのためのプレイリストが作成される。
ステップS303にて、ユーザはタイトルに利用する動画、音声、静止画、字幕情報を用意した後、素材作成/インポート装置55を利用し、ディスク作成装置56に対してインポートを行う。
ステップS304にて、ユーザはJava(登録商標)(TM)プログラム装置54によってJava(登録商標)(TM)タイトル用のJava(登録商標)(TM)プログラムソースコード、プログラム付加情報、IDクラスソースコードを作成する。
ステップS305にて、ユーザはJava(登録商標)(TM)インポート部55dを利用し、ステップS4にて作成されたJava(登録商標)(TM)プログラムソースコード、プログラム付加情報、IDクラスソースコードをディスク作成装置56にインポートする。
ステップS306にて、ディスク作成装置56は、ID変換部56aを利用し、IDクラスソースコード、BDJオブジェクト生成情報における記述を、実際のディスク上のタイトル番号、プレイリスト番号に変換する。
ステップS307にて、Java(登録商標)(TM)プログラムビルド部56dは、ステップS306で出力されたソースコードを利用し、コンパイル処理によってJava(登録商標)(TM)プログラムを作成する。尚、ステップS306とステッステップS307はタイトル構造情報にJava(登録商標)(TM)タイトルが存在しない場合は、スキップすることが出来る。
ステップS308にて、静止画エンコーダ56bは、BD-ROMシナリオデータに静止画または静止画が保持されている場所が含まれる場合には、該当する静止画をBD-ROMに準拠したMPEG2、MPEG4-AVC、VC1のいずれかの形式に変換する。
ステップS309にて、マルチプレクサー56eは、BD-ROMシナリオデータに従って、複数のエレメンタリーストリームの多重化を行い、MPEG2-TS形式のAVClipを作成する。
ステップS310にて、データベース生成部56cは、BD-ROMシナリオデータに従って、BD-ROMに準拠したデータベース情報を作成する。
ステップS311にて、フォーマト部56fは、ステップS307で作成されたJava(登録商標)(TM)プログラム、ステップS309で作成されたAVClip、ステッステップS10で作成されたデータベースを入力とし、BD-ROMに準拠したフォーマットでファイルの配置を行う。このとき、Java(登録商標)(TM)プログラムとAVClipの関連付けを行い、ファイル関連情報を作成する。
ステップS312にて、ディスクイメージ作成部56gは、ファイル関連情報を利用しながら、ステップS311によって作成されたファイル群を使い、BD-ROMフォーマットに適合したボリュームイメージを作成する。
ステップS313にて、検証部57は、ステップS12にて作成されたディスクイメージの検証を行う。もしエラーが発生した場合は、然るべき前工程に戻って作業のやり直しを行う。
以降、プライマリビデオストリーム及びセカンダリビデオストリームの多重化と、EP_mapの作成とについて説明する。
プライマリビデオストリームをセカンダリビデオストリームに多重化する際、それぞれのGOP内の各ピクチャの表示時刻を示すPTS、各ピクチャのデコード時刻を示すDTSの値を比べ、プライマリビデオを構成するピクチャと、セカンダリビデオを構成するピクチャとがだいたい同じか、或は、近傍に配置されるように多重化を行ってゆく。
プライマリビデオストリーム及びセカンダリビデオストリームがどのように多重化されるかについて、以下に説明する。
図55の第1段目、第2段目は、同一のATC時間軸に配置された、プライマリビデオストリームを構成するTSパケット列、セカンダリビデオストリームを構成するTSパケット列を示す。
第1実施形態に説明したように、プライマリビデオストリーム、セカンダリビデオストリームは、それぞれ、PESパケット列、TSパケット列に変換される。こうして得られたTSパケット列が、一本のATS時間軸上にシリアルに配置されるように、これらのTSパケットにATSを付してゆく。
ここでプライマリビデオストリームを構成するTSパケットは、ATC時間軸における全ての座標に存在する訳ではなく、GOP近辺に相当する座標が空きになっている。これは、かかる空きの座標に、プライマリビデオにおけるピクチャと同期再生すべき他の種別のデータを、配置しようという意思の現れである。この空きの座標、つまり、プライマリビデオストリームのTSパケットにより占有されていない座標に、セカンダリビデオストリームのTSパケットが配置されるよう、当該TSパケットにアタイムスタンプを付与するのである。第3段目は、多重化で得られたトランスポートストリームを示す。
以上のように、プライマリビデオ側のATC時間軸上の空きの座標を示すATSを付与した上で、TSパケットをシリアルに配列することにより、プライマリビデオストリームは、セカンダリビデオストリームと、多重化されることになる。かかる多重化において、シリアルに並べられた各TSパケットは、連番で識別される。この連番をSPNといい、BD-ROMにおけるSourceパケットの位置は、このSPNで表現される。
このように多重化しておけば、1本のトランスポートストリームの先頭から順に読み込んでいけば、必要な時刻に必要はプライマリビデオとセカンダリビデオのストリームを取り出すことができるが、スキップ操作や時間指定のジャンプ操作により、ストリームの先頭からではなく、ストリームの途中から再生が必要な場合、プライマリビデオおよびセカンダリビデオのGOP境界を考慮する必要がある。

(同期再生)
プライマリビデオとセカンダリビデオは、エレメンタリーストリームとしては別々のストリームであるが、セカンダリビデオストリームをIn-MUXストリームとする場合、再生時において、1本のトランスポートストリームの先頭から順に読み込んでいけば、必要な時刻に必要はプライマリビデオとセカンダリビデオのストリームを取り出すことができる。しかし、スキップ操作や時間指定のジャンプ操作により、ストリームの先頭からではなく、ストリームの途中から再生が必要な場合、プライマリビデオおよびセカンダリビデオのGOP境界を考慮する必要がある。
図56は、多重化された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も読み出してゆくことができ、ピPを完成させることができる。つまりプライマリビデオの2つ目のGOPである(プライマリ)GOP-2から再生を開始する場合、(プライマリ)GOP-2に含まれる最初のパケットであるSPN=n2から再生を開始すれば、プライマリビデオに同期するセカンダリビデオの2つめのGOPである(セカンダリ)GOP-2も読み込まれるため、問題なくプライマリビデオとセカンダリビデオを再生開始時から同期して再生することができる。
しかし、SPNn3からの読出時において、セカンダリビデオのGOPは、このn3より先に存在するので、セカンダリビデオのGOPを読み出すことができない。つまり(プライマリ)GOP-3から再生を開始したいため、SPN=n3から再生する場合、(セカンダリ)GOP-3が(プライマリ)GOP-3より前に配置されていては、SPN=n3からトランスポートストリームを読み込んだとしても、(セカンダリ)GOP-3に含まれるGOP内のデータを先頭から読むことができず、そのGOPに含まれる映像を完全にはデコードすることができない可能性がある。この場合、プライマリビデオはGOP-3の映像から再生が開始されるが、セカンダリビデオは、後から遅れてGOP-4の映像から始まるか、あるいは、プライマリビデオのGOP-3の映像と乱れたセカンダリビデオの再生が開始されることになる。
指定した時刻あるいはGOPからプライマリビデオ・セカンダリビデオ揃って再生を始めるには、多重化の順番に制限を加える方法と、再生機器側で判断する方法が考えられる。
ストリーム側でGOP境界をアラインする場合は、どこから再生を開始するかということが重要となる。再生装置は再生開始点を時刻で指定された場合、EP_mapを参照することにより、時刻情報をSPNに変換して、再生開始する位置を特定する。
図57は、プライマリビデオに対してのみ設定された、EP_mapを示す図である。第1段目は、プライマリビデオ及びセカンダリビデオから構成されるピクチャを示し、第2段目はEP_mapを示す。第3段目は、プライマリビデオストリーム、セカンダリビデオストリームにおけるGOPを示す。この場合、時刻情報はプライマリビデオのGOPの再生開始時刻、SPNはGOP先頭のアドレスとなる。再生機器はこのアドレスに示される位置からデータを読み出すため、セカンダリビデオのデータは、プライマリビデオのGOPよりあとから開始する必要がある。これが、多重化の順所に制限を加える方法である。
プライマリビデオとセカンダリビデオのGOPの時間的間隔を同じにしておき、必ずプライマリビデオのGOP先頭をセカンダリビデオのGOP先頭よりも前に配置しておけば、EP_mapに格納された時刻から再生する場合は、どの時刻にジャンプしてもジャンプした時刻からプライマリビデオ、セカンダリビデオを揃って表示することができる。
図58は、プライマリビデオとセカンダリビデオのそれぞれに対して設けられたEP_mapを示す図である。第1段目、第3段目の意味合いは、前図における各段のそれと同じである。第2段目は、プライマリビデオストリーム、セカンダリビデオストリームのそれぞれに設定されたEP_mapを示す。本図のようにEP_mapを設定しておけば、再生開始点を時刻で与えられると、対応するEP_mapをプライマリビデオ、セカンダリビデオ側のそれぞれから探し出し、時刻情報に対応するSPNのうち、より前方に位置するアドレスから再生を開始すれば、指定した時刻のプライマリビデオ、セカンダリビデオのGOPを先頭から読み出すことが可能である。これが、再生機器側で開始位置を判断する方法である。それぞれのEP_mapに登録する時刻情報を同じにしておけば、ある時刻を指定した時に、プライマリビデオとセカンダリビデオの対応する開始アドレスが取得できる。
具体的にいうと、再生装置は、プライマリビデオストリーム用のEP_mapを用いて、時間情報をプライマリビデオストリーム上のSPNに変換すると共に、セカンダリビデオストリーム用のEP_mapを用いて、時間情報をセカンダリビデオストリーム上のSPNに変換する。
そしてこうして得られたSPNを比較する。 SPN1が、SPN2より小さければ、SPN1をBD-ROMのアドレスに変換する。SPN2が、SPN1より小さければ、SPN2をBD-ROMのアドレスに変換する。
1つの時間情報を、プライマリビデオストリーム上のSPN、セカンダリビデオストリーム上のSPNに変換して、これらのうち小さい方をアドレスに変換するので、プライマリビデオストリームのGOPの位置が先行している場合も、セカンダリビデオストリームのGOPにの位置が先行している場合も、両者のGOPを読み出すことができる。
なお、プライマリビデオやセカンダリビデオが複数存在する場合、表示する必要のあるビデオストリームの再生開始位置のうちもカット、シーンも開始アドレスが早いものを利用すればよく、表示されないものまで対象としてアドレスの探索を行う必要はない。
(第7実施形態)
本実施形態は、チャプターによる再生を再生装置に実現させる改良に関する。映画タイトルでは、シーンや内容ごとに区切られた、チャプターと呼ばれる区間が定義されており、ユーザーはチャプターを指定して、選んだチャプターの先頭から再生を開始できるように作られていることが多い。このチャプター選択というアプリケーションを、ピクチャ・イン・ピクチャに適用することを考える。
チャプター先頭はシーンの区切れや内容の変化点であり、チャプターの先頭から再生をする場合、プライマリビデオはもちろんのこと、セカンダリビデオもシーン先頭の時刻から再生を開始することが望ましい。
図59は、PlayList情報に存在するPlayListMark情報を示す。本図における第2段目、第3段目は、プライマリビデオストリーム及びセカンダリビデオストリームのGOPを示し、第1段目は、PlayListMark情報を示す。このPlayListMark情報は、複数のチャプター番号のそれぞれに、時刻情報を対応付けることで構成される。
チャプター位置は、時刻情報を用いを表現されているので、このチャプターから再生開始アドレスを特定するには、再生装置は、EP_mapを用いて前述の方法でアドレスを割り出し、そのアドレスからデータの読み出しを開始すればよい。
EP_mapがプライマリビデオにのみ設定されている場合は、マークをプライマリビデオに対して設定して、同期再生すべきセカンダリビデオの開始位置は、プライマリビデオの開始位置よりも後方しておけばよい。。
(スキップポイント)
チャプター境界と同様に、タイトル内の時間軸上の1点を指定できるマークを使うことにより、ユーザーのスキップ操作でジャンプする点を規定することも可能である。スキップ点に対するGOPの配置の制約、スキップ点からの再生方法は、チャプター先頭の場合と同様である。
ここで、スキップ点を、複数のセカンダリビデオに、個別に設定する場合を考える。
スキップ点がプライマリビデオに対して設定されている場合、セカンダリビデオが表示されていても、表示されていなくても、いつもユーザーはそのスキップ点を指定して、再生位置をジャンプさせることが可能である。映画本編映像のシーン変化点などにスキップ点を設定するような場合にあたる。それに対して、監督の解説映像などであるセカンダリビデオに対してスキップ点を設定する場合、対象となる映像が表示されているとき以外にスキップ点が有効になってはユーザーに混乱を与えることになる。
図60は、セカンダリビデオストリームが存在する位置を、チャプターとして指定したPlayListMark情報を示す図である。本図において、第2、3、4段目は、プライマリビデオストリームと、2つのセカンダリビデオストリームとを示し、第1段目は、PlayListMark情報の中身を示す。
監督の解説映像であるセカンダリビデオストリーム#1は、途中で解説の内容が変わるため、スキップ点を設定してある。この時、セカンダリビデオストリーム#1が表示されていればユーザーはこのスキップ点(マーク番号2)を指定してジャンプできるが、セカンダリビデオストリームを表示していなかったり、セカンダリビデオストリーム#2を表示している場合は、このスキップ点にジャンプできないようにしておくべきである。
そこで本実施形態では、PlayListMark情報において、マーク情報のそれぞれに、“ストリーム指定”というフィールドを対応付ける。マーク情報は、マーク番号と、対応する時刻情報とをふくむが、このマーク情報のそれぞれにストリーム指定フィールドを設けるのである。
このストリーム指定フィールドが、指定無し(全体)であれば、セカンダリビデオストリームの表示如何にかかわりなく、このマーク情報点に対するチャプタージャンプが許可される。このストリーム指定フィールドが、セカンダリビデオストリーム#1であれば、セカンダリビデオストリーム#1の再生時においてのみ、このマーク情報点に対するチャプタージャンプを再生装置に許可する。
このストリーム指定フィールドが、セカンダリビデオストリーム#2であれば、セカンダリビデオストリーム#2の再生時においてのみ、このマーク情報点に対するチャプタージャンプを再生装置に許可する。こうすることにより、再生装置は、表示されている映像の内容にあったスキップ点を、ユーザーに利用させることができる。
このようにストリーム個別にスキップ点を設定すれば、表示されている内容に従って、ユーザーが適切な位置にジャンプできるような仕組みを提供することができる。
なお、GUIなどを用いて、強制的にマーク番号を指定して再生開始位置をマーク2の位置などに移動させたい場合は、セカンダリビデオストリーム#1が表示されていなかったり、他のセカンダリビデオストリームが表示されていたとしても、強制的にセカンダリビデオストリーム#1の表示に切り替えて、そのスキップ点に移動することも可能である。
(第8実施形態)
プライマリビデオ及びセカンダリビデオがインターレス映像である場合の改良である。ピクチャデータは、以下のTOPフィールド、Bottomフィールドから構成される。TOPフィールドは、フレームを構成するラインのうち、奇数番目に現れるもの(奇数ライン)を寄せ集めたものをいう。Bottomフィールドは、フレームを構成するラインのうち、偶数番目に現れるもの(偶数ライン)を寄せ集めたものをいう。
図61(a)は、プライマリビデオ、セカンダリビデオを構成するビデオフィールドを示す図である。ピクチャインピクチャでは、プライマリビデオを構成するビデオフィールド、セカンダリビデオを構成するビデオフィールドを1対1の比率で合成しようとしてゆくので、ピクチャインピクチャにあたっては、合成すべきビデオフィールドが同位相になる場合と、逆位相になる場合とが現れる。
図61(b)は、合成すべきビデオフィールドが、同位相になる組合せを示す。同位相になる組合せとは、本図に示すように、プライマリビデオがトップフィールドになり、セカンダリビデオもまたトップフィールドになる組合せ、プライマリビデオがボトムフィールドになり、セカンダリビデオもボトムフィールドになる組合せをいう。
図61(c)は、合成すべきビデオフィールドが、逆位相になる組合せを示す。逆位相になる組合せとは、本図に示すように、プライマリビデオがトップフィールドになり、セカンダリビデオがボトムフィールドになる組合せ、プライマリビデオがボトムフィールド、セカンダリビデオがトップフィールドになる組合せをいう。
以上のような組合せが存在しうる場合において、プライマリビデオ及びセカンダリビデオを合成しようとすると、図62(a)(b)に示すように、2通りのピクチャインピクチャ画像が現れることになる。図62(a)は、プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの偶数ラインとが一致しているピクチャインピクチャ画像を示す。かかるピクチャインピクチャ画像は、テレビへの再生出力が可能である。
図62(b)は、プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの奇数ラインとが一致しているピクチャインピクチャ画像を示す。かかるピクチャインピクチャ画像は、テレビへの再生出力が不能となる。
再生出力が不能となるピクチャインピクチャ画像、つまり、(b)の合成画像の発生を避けるため、本実施形態に係る記録媒体では、セカンダリビデオの配置位置及び表示時点を以下のように調整している。
図63は、プライマリビデオを構成する複数のビデオフィールドのうち、任意の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に示すように、この表示タイミングを、未来又は過去方向にスライドすることでなされる。
図64は、セカンダリビデオのフィールドFyを、同位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。本図のケースにおいて、PiP_metadata_blockにおけるPiP_horizontal_position、PiP_vertical_positionで規定すべき座標(Px,Py)のPyは、プライマリビデオのフィールドにおける複数の偶数ラインのうち、1つ(図中のeven1)から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
図65は、セカンダリビデオのフィールドFyを、逆位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。本図のケースにおいて、PiP_metadata_blockにおけるPiP_horizontal_position、PiP_vertical_positionで規定すべき座標(Px,Py)のPyは、プライマリビデオのフィールドにおける複数の奇数ラインのうち、1つ(図中のodd1)から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
図66は、セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの偶数ラインに表示するケースを示す図である。本図のケースにおいて、PiP_metadata_blockにおけるPiP_metadata_time_stampで規定すべき時点Tyは、同位相のプライマリビデオのフィールドが表示されるべき時点から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
図67は、セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの奇数ラインに表示するケースを示す図である。本図のケースにおいて、PiP_metadata_blockにおけるPiP_metadata_time_stampで規定すべき時点Tyは、逆位相のプライマリビデオのフィールドが表示されるべき時点から選ぶ。こうすることにより、ピクチャインピクチャは、再生出力が可能なパターンとなる。
セカンダリビデオの時点を理想的なものにしたい場合であっても、セカンダリビデオの座標を理想的なものにしたい場合であっても、何を理想的なものにしたいかによって、再生出力が可能となる組合せを作ることができる。これによりオーサリングの段階において、再生出力が正しくなされることを保障することができる。
(第9実施形態)
本実施形態は、先の実施形態で述べたようなPiP_metadata_blockに対する調整がオーサリング時になされていない場合、これを再生装置側で補充する改良に関する。
本実施形態に係る再生装置は、ピクチャインピクチャにおける合成パターンが、図62(a)に示したものか、図62(b)に示したものかをチェックし、もし図62(b)に示したものなら、図64から図67ような修正を施すのである。こうすることで、インスタンスをピクチャインピクチャするためのPiP_metadata_time_stamp、PiP_horizontal_position、PiP_vertical_positionに対する調整が、オーサリング時になされていなくても、ピクチャインピクチャを実行することができる。
以上のように本実施形態によれば、ピクチャインピクチャを実現するための調整がオーサリング時になされていなくても、再生装置側でこれを補うことができる。
(第10実施形態)
本実施形態は、各実施形態にかかる再生装置に、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アプリケーションを再生装置に実行させる場合の改良である。
第1実施形態で述べたように、プレイリスト情報には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プロセッサでは、算術演算命令や論理演算命令、分岐命令等を組合せることで、フローチャートの各ステップが実現されることもある。
本発明にかかるプログラムは、以下のようにして作ることができる。先ず初めに、ソフトウェア開発者は、プログラミング言語を用いて、各フローチャートや、機能的な構成要素を実現するようなソースプログラムを記述する。この記述にあたって、ソフトウェア開発者は、プログラミング言語の構文に従い、クラス構造体や変数、配列変数、外部関数のコールを用いて、各フローチャートや、機能的な構成要素を具現するソースプログラムを記述する。
記述されたソースプログラムは、ファイルとしてコンパイラに与えられる。コンパイラは、これらのソースプログラムを翻訳してオブジェクトプログラムを生成する。
コンパイラによる翻訳は、構文解析、最適化、資源割付、コード生成といった過程からなる。構文解析では、ソースプログラムの字句解析、構文解析および意味解析を行い、ソースプログラムを中間プログラムに変換する。最適化では、中間プログラムに対して、基本ブロック化、制御フロー解析、データフロー解析という作業を行う。資源割付では、ターゲットとなるプロセッサの命令セットへの適合を図るため、中間プログラム中の変数をターゲットとなるプロセッサのプロセッサが有しているレジスタまたはメモリに割り付ける。コード生成では、中間プログラム内の各中間命令を、プログラムコードに変換し、オブジェクトプログラムを得る。
オブジェクトプログラムが生成されるとプログラマはこれらに対してリンカを起動する。リンカはこれらのオブジェクトプログラムや、関連するライブラリプログラムをメモリ空間に割り当て、これらを1つに結合して、ロードモジュールを生成する。こうして生成されるロードモジュールは、コンピュータによる読み出しを前提にしたものであり、各フローチャートに示した処理手順や機能的な構成要素の処理手順を、コンピュータに実行させるものである。以上の処理を経て、本発明に係るプログラムを作ることができる。
本発明に係るプログラムは、以下のようにして使用することができる。本発明に係るプログラムを組込プログラムとして使用する場合、プログラムにあたるロードモジュールを、基本入出力プログラム(BIOS)や、様々なミドルウェア(オペレーションシステム)と共に、命令ROMに書き込む。こうした命令ROMを、制御部に組み込み、CPUに実行させることにより、本発明に係るプログラムを、再生装置の制御プログラムとして使用することができる。
再生装置が、ブートストラップモデルである場合は、基本入出力プログラム(BIOS)が命令ROMに組み込まれており、様々なミドルウェア(オペレーションシステム)が、ハードディスク等の二次記録媒体にプレインストールされている。また、二次記録媒体から、システムを起動するためのブートROMが、再生装置に設けられている。この場合、ロードモジュールのみを、過搬型の記録媒体やネットワークを通じて、再生装置に供給し、1つのアプリケーションとして二次記録媒体にインストールする。そうすると、再生装置は、ブートROMによるブートストラップを行い、オペレーションシステムを起動した上で、1つのアプリケーションとして、当該アプリケーションをCPUに実行させ、本発明に係るプログラムを使用する。
ブートストラップモデルの再生装置では、本発明のプログラムを1つのアプリケーションとして使用しうるので、本発明に係るプログラムを単体で譲渡したり、貸与したり、ネットワークを通じて供給することができる。
(コントローラ22)
コントローラ22は、一個のシステム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等の回路ブロック毎にレイアウト設計を行い、各回路ブロックの性能を先に最適化した上で、各ブロックを組み上げ、1チップレイアウトを完成させるというボトムアップ式のレイアウト手法を採用するのが望ましい。
本発明に係る記録媒体及び再生装置は、上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上の利用可能性を有する。
本発明に係る記録媒体の、使用行為についての形態を示す図である。 BD-ROMの内部構成を示す図である。 拡張子.m2tsが付与されたファイルがどのように構成されているかを模式的に示す図である。 AVClipを構成するTSパケットがどのような過程を経てBD-ROMに書き込まれるかを示す。 BD-ROMの物理単位と、1つのファイルエクステントを構成するSourceパケットとの対応関係を示す図である。 AVClipにどのようなエレメンタリストリームが多重化されているかを示す図である。 BD-ROMに記録されているエレメンタリストリームにおけるPID割当マップを示す図である。 ピクチャインピクチャの一例を示す図である。 Clip情報の内部構成を示す図である。 映画のビデオストリームに対するEP_map設定を示す図である。 PlayList情報のデータ構造を示す図である。 AVClipと、PlayList情報との関係を示す図である。 ローカルストレージ200の内部構成を示す図である。 SubClipに多重化されるエレメンタリストリームを示す図である。 BD-ROM規格におけるPID割当マップを示す図である。 PlayList情報のデータ構造を示す図である。 Subpath情報の内部構成をクローズアップして示す図である。 ローカルストレージ200上のSubClipと、ローカルストレージ200上のPlayList情報と、BD-ROM上のMainClipとの対応を示す図である。 STN_tableの内部構成を示す図である。 図19に示したSTN_tableの全体構成のうち、セカンダリビデオストリームについてのstream_entryを示す図である。 (a)プライマリビデオストリームに対応したStream_entry、Stream_attributeを示す図である。
(b)セカンダリビデオストリームに対応したStream_entry、Stream_attributeを示す図である。
本発明に係る再生装置の内部構成を示す図である。 再生装置の出力段の構成を示す図である コントローラ22を機能的に表現した図である。 (a)PSR14のビットアサインを示す図である。
(b)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=3である場合、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の内部構成とを示す図である。 (a)PSR1のビットアサインを示す図である。
(b)PSR14のビットアサインを示す図である。
PSR14におけるセカンダリオーディオストリーム番号が取り得る状態遷移を示す図である。 セカンダリオーディオストリームのProcedure when playback condition is changedの処理手順を示すフローチャートである。 カレントPlayItemについて最適なセカンダリオーディオストリームを選択する手順を示すフローチャートである。 セカンダリオーディオストリームについての処理手順を示すフローチャートである。 STN_tableのうち、PGtestSTストリームに特に関連あるものを抜き出して描いた図である。 (a)カレントPGtestSTストリームのストリーム番号が取りうる数値範囲を示す図である。
(b)PSR2のビットアサインを示す図である。
ピクチャインピクチャ用PGtestSTストリームのストリーム番号である、PiP_PG_TextSTストリーム番号がなす状態遷移を示す図である。 PGtestSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。 カレントPlayItemについて最適なPGTextSTストリームを選択する処理手順を示すフローチャートである。 PGTextSTストリームについてのProcedure when stream change is requestedの処理手順を示すフローチャートである。 第6実施形態に係るオーサリングシステムの内部構成を示す図である。 フォーマッティング工程における処理の流れを示すフローチャートである。 プライマリビデオストリーム及びセカンダリビデオストリームがどのように多重化されるかを示す図である。 多重化されたSourceパケット列が、プライマリビデオストリーム、セカンダリビデオストリームにおいて、どのGOPに帰属するかという帰属関係を示す図である。 プライマリビデオに対してのみ設定された、EP_mapを示す図である。 プライマリビデオとセカンダリビデオのそれぞれに対して設けられたEP_mapを示す図である。 PlayList情報に存在するPlayListMark情報を示す。 セカンダリビデオストリームが存在する位置を、チャプターとして指定したPlayListMark情報を示す図である。 (a)プライマリビデオ、セカンダリビデオを構成するビデオフィールドを示す図である。
(b)合成すべきビデオフィールドが、同位相になる組合せを示す。
(c)合成すべきビデオフィールドが、逆位相になる組合せを示す。
(a)プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの偶数ラインとが一致しているピクチャインピクチャ画像を示す。
(b)プライマリビデオにおけるビデオフィールドの偶数ラインと、セカンダリビデオにおけるビデオフィールドの奇数ラインとが一致しているピクチャインピクチャ画像を示す。
プライマリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFxと、セカンダリビデオを構成する複数のビデオフィールドのうち、任意の1つであるビデオフィールドFyとを合成して出力する場合、このビデオフィールドFyの配置位置及び表示時点をどのように調整するかを示す。 セカンダリビデオのフィールドFyを、同位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。 セカンダリビデオのフィールドFyを、逆位相のプライマリビデオのフィールドと同時に表示するケースを示す図である。 セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの偶数ラインに表示するケースを示す図である。 セカンダリビデオのフィールドのうち、プライマリビデオのフィールドの奇数ラインに表示するケースを示す図である。
符号の説明
1a BD-ROMドライブ
1b,c リードバッファ
1a,b,c ATCカウンタ
2a,d Source Depacketizer
2c,d ATCカウンタ
3a,c STCカウンタ
3b,d PID Filter
4a Transport Buffer
4c Elementary Buffer
4d ビデオデコーダ
4e リオーダバッファ
4f Decoded Picture Buffer
4g ビデオプレーン
5a Transport Buffer
5c Elementary Buffer
5d ビデオデコーダ
5e リオーダバッファ
5f Decoded Picture Buffer
5g ビデオプレーン
6a,b Transport Buffer
7a,b バッファ
8a,b オーディオデコーダ
9a ミキサー
11a Transport Buffer
11b Interactive Graphicsデコーダ
11c Interactive Graphicsプレーン
12a Transport Buffer
12b バッファ
12c Text based subtitle decorder
13a Transport Buffer
13b Presentation Graphicsデコーダ
13c Presentation Graphicsプレーン
21 メモリ
22 コントローラ
23 PSRセット
24 PID変換部
25 ネットワーク部
26 操作受付部
41 プレイリスト処理部
42 Procedure実行部
43 PiP制御部
44 ミキシング制御部
100 BD-ROM
200 ローカルストレージ
300 再生装置
400 テレビ
500 AVアンプ

Claims (9)

  1. プレイリスト情報に従って、主たる再生区間が定義されたプライマリビデオストリームと、従たる再生区間が定義されたセカンダリビデオストリームとを、再生する再生装置であって、
    プライマリビデオストリーム及びセカンダリビデオストリームは、TSパケットシーケンスに変換された上で、他のTSパケットシーケンスと多重化されており、
    セカンダリビデオストリームを構成する各TSパケットに付与されているパケット識別子は、上位フィールド及び下位フィールドからなり、当該上位フィールドは、プライマリビデオストリームを構成する各TSパケットに付与されているパケット識別子の上位フィールドと異なる値であり、
    前記プレイリスト情報は、複数ビデオストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    前記メインパス情報は、
    複数ビデオストリームのうち、プライマリビデオストリームとして指定されたものに対して、主たる再生区間を定義する情報であり、前記メインパス情報はテーブルを含み、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、前記エントリーには、対応するセカンダリビデオストリームを構成するTSパケットのパケット識別が記述されており、
    前記サブパス情報は、
    複数ビデオストリームのうち、セカンダリビデオストリームとして指定されたものに対して、従たる再生区間を定義する情報であり、
    記録媒体からプライマリビデオストリーム、セカンダリビデオストリームを読み出す読出手段と、
    プライマリビデオストリームをデコードする第1デコーダと、
    セカンダリビデオストリームをデコードする第2デコーダと、
    記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択する選択手段と、
    プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する合成部と、
    選択されたセカンダリビデオストリームのストリーム番号を格納するストリーム番号レジスタと、
    前記テーブルに含まれるセカンダリビデオストリームのエントリーのうち、ストリーム番号レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子、記録媒体から読み出されたセカンダリビデオストリームを構成するTSパケットのパケット識別とを比較し、当該比較においてパケット識別子が一致する場合、記録媒体から読み出されたセカンダリビデオストリーム、第2コーダに出力する多重分離部とを備え
    前記所定手順の実行によるセカンダリビデオストリームの選択は、前記メインパス情報におけるテーブルに基づく
    ことを特徴とする再生装置。
  2. 前記プレイリスト情報は、ピクチャインピクチャのためのメタデータを含み、当該メタデータは、主たる再生区間の何れかに対応するデータブロックによって構成され、データブロックは、主たる再生区間へのレファレンスを含むヘッダと、複数のエントリーとを含み、
    前記複数のエントリーは、対応する主たる再生区間の再生時になすべき複数の画面構成の内容を規定するものであり、個々のエントリーは、1つの画面構成の時期を示すタイムスタンプと、画面合成におけるセカンダリビデオの水平座標及び垂直座標と、セカンダリビデオのスケール率とを規定し、
    前記合成部は、
    データブロックにおける複数のエントリーのうち、現在の再生時点に対応するタイムスタンプをもつものの水平位置及び垂直位置に、当該エントリーに含まれるスケール率に従って拡大又は縮小がなされたセカンダリビデオを表示し、
    前記所定の手順とは、
    各セカンダリビデオストリームをデコードする能力が再生装置に存在するか否かを判定して、デコード能力ありと判定されたセカンダリビデオストリームのうち、テーブルにおける対応するエントリーの優先順位が最も高いものを選択することである、請求項1記載の再生装置。
  3. 前記セカンダリビデオストリームのデコード能力とは、
    50フレーム/秒又は25フレーム/秒のビデオストリームをデコードし、再生出力する能力である
    ことを特徴とする請求項1記載の再生装置。
  4. 前記セカンダリビデオストリームのデコード能力とは、
    HDTV方式のピクチャをデコードし、再生する能力である
    ことを特徴とする請求項1記載の再生装置。
  5. 複数のビデオストリームと、テーブルとを記録媒体に記録する記録方法であって、
    前記テーブルを含むプレイリスト情報を作成する作成ステップと、
    数のビデオストリームを生成する生成ステップと、
    複数のビデオストリームをTSパケットシーケンスに変換した上、他のTSパケットシーケンスと多重化してトランスポートストリームを得る多重化ステップと、
    トランスポートストリーム、テーブルとが書き込まれた記録媒体を得るステップを備え、
    前記複数のビデオストリームのそれぞれは、プライマリビデオストリームと共に再生されるセカンダリビデオストリームであり、ピクチャインピクチャを構成する親画像及び子画像のうち、子画像として表示されるべきピクチャデータを含み、
    多重化ステップでセカンダリビデオストリームをTSパケットシーケンスに変換するにあたって、当該TSパケットシーケンスがセカンダリビデオストリームである旨を示す上位フィールドと、下位フィールドとからなるパケット識別子とを個々のTSパケットに付与し、当該上位フィールドは、プライマリビデオストリームを構成するTSパケットのパケット識別子の上位フィールドと異なる値であり、
    前記プレイリスト情報を作成するステップにおいて、
    複数のセカンダリビデオストリームのうち、再生が許可されているもののエントリーをテーブルに記述することを特徴とする記録方法。
  6. 前記プレイリスト情報は、ピクチャインピクチャのためのメタデータを含み、当該メタデータは、主たる再生区間の何れかに対応するデータブロックによって構成され、データブロックは、主たる再生区間へのレファレンスを含むヘッダと、複数のエントリーとを含み、
    前記複数のエントリーは、対応する主たる再生区間の再生時になすべき複数の画面構成の内容を規定するものであり、個々のエントリーは、1つの画面構成の時期を示すタイムスタンプと、画面合成におけるセカンダリビデオの水平座標及び垂直座標と、セカンダリビデオのスケール率とを規定する
    ことを特徴とする請求項5記載の記録方法。
  7. プレイリスト情報に従って、主たる再生区間が定義されたプライマリビデオストリームと、従たる再生区間が定義されたセカンダリビデオストリームとを、再生する処理をコンピュータ上で実行する再生方法であって、
    プライマリビデオストリーム及びセカンダリビデオストリームは、TSパケットシーケンスに変換された上で、他のTSパケットシーケンスと多重化されており、
    セカンダリビデオストリームを構成する各TSパケットに付与されているパケット識別子は、上位フィールド及び下位フィールドからなり、当該上位フィールドは、プライマリビデオストリームを構成する各TSパケットに付与されているパケット識別子の上位フィールドと異なる値であり、
    前記プレイリスト情報は、複数ビデオストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    前記メインパス情報は、
    複数ビデオストリームのうち、プライマリビデオストリームとして指定されたものに対して、主たる再生区間を定義する情報であり、前記メインパス情報はテーブルを含み、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、前記エントリーには、対応するセカンダリビデオストリームを構成するTSパケットのパケット識別が記述されており、
    前記サブパス情報は、
    複数ビデオストリームのうち、セカンダリビデオストリームとして指定されたものに対して、従たる再生区間を定義する情報であり、
    前記コンピュータは、記録媒体からプライマリビデオストリーム、セカンダリビデオストリームを読み出す読出手段と、
    プライマリビデオストリームをデコードする第1デコーダと、
    セカンダリビデオストリームをデコードする第2デコーダと、
    プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する合成部と、
    選択されたセカンダリビデオストリームのストリーム番号を格納するストリーム番号レジスタと、
    多重分離部とを備え、
    前記再生方法は、
    記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択し、
    前記テーブルに含まれるセカンダリビデオストリームのエントリーのうち、ストリーム番号レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子、記録媒体から読み出されたセカンダリビデオストリームを構成するTSパケットのパケット識別とを比較し、当該比較においてパケット識別子が一致する場合、記録媒体から読み出されたセカンダリビデオストリーム、第2コーダに出力するよう多重分離部を制御し、
    前記所定手順の実行によるセカンダリビデオストリームの選択は、前記メインパス情報におけるテーブルに基づく
    ことを特徴とする再生方法。
  8. プレイリスト情報に従って、主たる再生区間が定義されたプライマリビデオストリームと、従たる再生区間が定義されたセカンダリビデオストリームとを、再生する再生装置に組込むことができるシステムLSIであって、
    プライマリビデオストリーム及びセカンダリビデオストリームは、TSパケットシーケンスに変換された上で、他のTSパケットシーケンスと多重化されており、
    セカンダリビデオストリームを構成する各TSパケットに付与されているパケット識別子は、上位フィールド及び下位フィールドからなり、当該上位フィールドは、プライマリビデオストリームを構成する各TSパケットに付与されているパケット識別子の上位フィールドと異なる値であり、
    前記プレイリスト情報は、複数ビデオストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    前記メインパス情報は、
    複数ビデオストリームのうち、プライマリビデオストリームとして指定されたものに対して、主たる再生区間を定義する情報であり、前記メインパス情報はテーブルを含み、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、前記エントリーには、対応するセカンダリビデオストリームを構成するTSパケットのパケット識別が記述されており、
    前記サブパス情報は、
    複数ビデオストリームのうち、セカンダリビデオストリームとして指定されたものに対して、従たる再生区間を定義する情報であり、
    プライマリビデオストリームをデコードする第1デコーダと、
    セカンダリビデオストリームをデコードする第2デコーダと、
    記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択する選択手段と、
    プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する合成部と、
    選択されたセカンダリビデオストリームのストリーム番号を格納するストリーム番号レジスタと、
    前記テーブルに含まれるセカンダリビデオストリームのエントリーのうち、ストリーム番号レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子、記録媒体から読み出されたセカンダリビデオストリームを構成するTSパケットのパケット識別とを比較し、当該比較においてパケット識別子が一致する場合、記録媒体から読み出されたセカンダリビデオストリーム、第2コーダに出力する多重分離部とを備え
    前記所定手順の実行によるセカンダリビデオストリームの選択は、前記メインパス情報におけるテーブルに基づく
    ことを特徴とするシステムLSI。
  9. プレイリスト情報に従って、主たる再生区間が定義されたプライマリビデオストリームと、従たる再生区間が定義されたセカンダリビデオストリームとを、再生する処理をコンピュータに実行させるプログラムであって、
    プライマリビデオストリーム及びセカンダリビデオストリームは、TSパケットシーケンスに変換された上で、他のTSパケットシーケンスと多重化されており、
    セカンダリビデオストリームを構成する各TSパケットに付与されているパケット識別子は、上位フィールド及び下位フィールドからなり、当該上位フィールドは、プライマリビデオストリームを構成する各TSパケットに付与されているパケット識別子の上位フィールドと異なる値であり、
    前記プレイリスト情報は、複数ビデオストリームのそれぞれに対し、再生区間を定義する情報であり、メインパス情報、サブパス情報を含み、
    前記メインパス情報は、
    複数ビデオストリームのうち、プライマリビデオストリームとして指定されたものに対して、主たる再生区間を定義する情報であり、前記メインパス情報はテーブルを含み、当該テーブルには、再生が許可されたセカンダリビデオストリームについてのエントリーが記述されており、前記エントリーには、対応するセカンダリビデオストリームを構成するTSパケットのパケット識別が記述されており、
    前記サブパス情報は、
    複数ビデオストリームのうち、セカンダリビデオストリームとして指定されたものに対して、従たる再生区間を定義する情報であり、
    前記コンピュータは、記録媒体からプライマリビデオストリーム、セカンダリビデオストリームを読み出す読出手段と、
    プライマリビデオストリームをデコードする第1デコーダと、
    セカンダリビデオストリームをデコードする第2デコーダと、
    プライマリビデオストリームにより構成されるピクチャの中に、選択手段により選択されたセカンダリビデオストリームにより構成されるピクチャを合成することにより、ピクチャインピクチャを実現する合成部と、
    選択されたセカンダリビデオストリームのストリーム番号を格納するストリーム番号レジスタと
    多重分離部とを備え、
    前記プログラムは、
    記録媒体から読み出された複数のセカンダリビデオストリームに対し、所定の手順を実行して、再生すべきセカンダリビデオストリームを選択し、
    前記テーブルに含まれるセカンダリビデオストリームのエントリーのうち、ストリーム番号レジスタに格納されているストリーム番号に対応するものに記述されているパケット識別子、記録媒体から読み出されたセカンダリビデオストリームを構成するTSパケットのパケット識別とを比較し、当該比較においてパケット識別子が一致する場合、記録媒体から読み出されたセカンダリビデオストリーム、第2コーダに出力するようコンピュータの多重分離部を制御し、
    前記所定手順の実行によるセカンダリビデオストリームの選択は、前記メインパス情報におけるテーブルに基づく
    ことを特徴とするプログラム。
JP2006208691A 2005-08-09 2006-07-31 再生装置、記録方法、再生方法、システムlsi、プログラム Active JP4870493B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006208691A JP4870493B2 (ja) 2005-08-09 2006-07-31 再生装置、記録方法、再生方法、システムlsi、プログラム

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US70706605P 2005-08-09 2005-08-09
US70689705P 2005-08-09 2005-08-09
US70693705P 2005-08-09 2005-08-09
US70687105P 2005-08-09 2005-08-09
US60/706897 2005-08-09
US60/707066 2005-08-09
US60/706871 2005-08-09
US60/706937 2005-08-09
JP2006127502 2006-05-01
JP2006127502 2006-05-01
JP2006208691A JP4870493B2 (ja) 2005-08-09 2006-07-31 再生装置、記録方法、再生方法、システムlsi、プログラム

Related Child Applications (5)

Application Number Title Priority Date Filing Date
JP2009249658A Division JP4886836B2 (ja) 2005-08-09 2009-10-30 再生装置
JP2009249657A Division JP4898890B2 (ja) 2005-08-09 2009-10-30 再生装置、記録方法
JP2009249655A Division JP4886834B2 (ja) 2005-08-09 2009-10-30 再生装置
JP2009249659A Division JP4886837B2 (ja) 2005-08-09 2009-10-30 再生装置
JP2009249656A Division JP4886835B2 (ja) 2005-08-09 2009-10-30 再生装置

Publications (2)

Publication Number Publication Date
JP2007325242A JP2007325242A (ja) 2007-12-13
JP4870493B2 true JP4870493B2 (ja) 2012-02-08

Family

ID=38857608

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006208691A Active JP4870493B2 (ja) 2005-08-09 2006-07-31 再生装置、記録方法、再生方法、システムlsi、プログラム

Country Status (1)

Country Link
JP (1) JP4870493B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4968506B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
JP4968565B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、および記録方法
JP2009505312A (ja) * 2005-08-22 2009-02-05 エルジー エレクトロニクス インコーポレーテッド 記録媒体、データ再生方法及び再生装置、並びにデータ記録方法及び記録装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005011273A1 (ja) * 2003-06-18 2005-02-03 Matsushita Electric Industrial Co., Ltd. 再生装置、記録媒体、プログラム、再生方法
JP2005123775A (ja) * 2003-10-15 2005-05-12 Sony Corp 再生装置、再生方法、再生プログラムおよび記録媒体
KR20050048848A (ko) * 2003-11-20 2005-05-25 엘지전자 주식회사 고밀도 광디스크의 플레이리스트 생성방법, 관리방법 및재생방법과 기록재생장치
JP4968506B2 (ja) * 2005-03-04 2012-07-04 ソニー株式会社 再生装置、再生方法、およびプログラム
JP4081772B2 (ja) * 2005-08-25 2008-04-30 ソニー株式会社 再生装置および再生方法、プログラム、並びにプログラム格納媒体

Also Published As

Publication number Publication date
JP2007325242A (ja) 2007-12-13

Similar Documents

Publication Publication Date Title
JP4886836B2 (ja) 再生装置
JP4560125B2 (ja) 再生装置
JP2009038825A (ja) 再生装置、プログラム、再生方法、記録方法。
JP4870493B2 (ja) 再生装置、記録方法、再生方法、システムlsi、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110412

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110930

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111025

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111117

R150 Certificate of patent or registration of utility model

Ref document number: 4870493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3