説明

再生装置、再生方法、および記録方法

【課題】3D画像のコンテンツを適切に再生することができるようにする。
【解決手段】本技術の一側面の再生装置は、プレイリストフィールド内のプレイアイテムフィールドに基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、プレイリストフィールドの外の拡張フィールドに拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルを記録媒体から読み出し、記録媒体上に所定のデータ単位でインタリーブして配置された基本ストリームと拡張ストリームのファイルであるインタリーブファイルを記録媒体から読み出す読み出し部を備える。本技術は、Blu-Ray(登録商標) Discプレーヤに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、再生装置、再生方法、記録媒体、および記録方法に関し、特に、3D画像のコンテンツを適切に再生することができるようにする再生装置、再生方法、記録媒体、および記録方法に関する。
【背景技術】
【0002】
近年、立体視が可能な3次元(3D)画像のコンテンツが注目を集めている。3D画像の表示の方式としては、左目用の画像と右目用の画像を交互に表示させる方式などの種々の方式があるが、いずれの方式を採用する場合であっても、3D画像のデータ量は、2D画像のデータ量よりも大きくなる。
【0003】
映画等の高解像度のコンテンツを、データ量の多い3D画像として記録するには大容量の記録媒体が必要である。
【0004】
そのような大容量の記録媒体としては、例えば、BD-ROM等のBlu-Ray(登録商標) Disc(以下、適宜、BDという)がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平11−195287号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、現行のBDの規格では、3D画像のコンテンツを、BDに、どのように記録し、また、再生するかは規定されていない。
【0007】
3D画像のコンテンツの記録や再生の仕方を、3D画像のコンテンツのオーサリングを行うオーサ(author)に委ねてしまうと、3D画像のコンテンツを適切に再生することができなくなるおそれがある。
【0008】
従って、3D画像のコンテンツの記録や再生の仕方を規定しておく必要がある。また、互換性を確保し、従来の2D再生用のプレーヤにおいても少なくとも2D画像での再生が可能になるように、3D画像のコンテンツの記録や再生の仕方を規定しておく必要がある。
【0009】
本技術は、このような状況に鑑みてなされたものであり、BD等の記録媒体から、3D画像のコンテンツを適切に再生することができるようにするものである。
【課題を解決するための手段】
【0010】
本技術の一側面の記録装置は、複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた基本ストリームと拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルを記録媒体から読み出し、前記記録媒体上に所定のデータ単位でインタリーブして配置された前記基本ストリームと前記拡張ストリームのファイルであるインタリーブファイルを前記記録媒体から読み出す読み出し部と、前記インタリーブファイルに含まれる前記基本ストリームを前記プレイアイテムフィールドに記述された前記プレイアイテムの情報に基づいて再生し、前記拡張ストリームを前記拡張フィールドに記述された前記サブ再生パスの情報に基づいて再生する再生部とを備える。
【0011】
本技術の一側面においては、複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた基本ストリームと拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルが記録媒体から読み出され、前記記録媒体上に所定のデータ単位でインタリーブして配置された前記基本ストリームと前記拡張ストリームのファイルであるインタリーブファイルが前記記録媒体から読み出される。また、前記インタリーブファイルに含まれる前記基本ストリームが前記プレイアイテムフィールドに記述された前記プレイアイテムの情報に基づいて再生され、前記拡張ストリームが前記拡張フィールドに記述された前記サブ再生パスの情報に基づいて再生される。
【発明の効果】
【0012】
本技術によれば、3D画像のコンテンツを適切に再生することができる。
【図面の簡単な説明】
【0013】
【図1】本技術を適用した再生装置を含む再生システムの構成例を示す図である。
【図2】撮影の例を示す図である。
【図3】MVCエンコーダの構成例を示すブロック図である。
【図4】画像の参照の例を示す図である。
【図5】TSの構成例を示す図である。
【図6】TSの他の構成例を示す図である。
【図7】光ディスク上のデータの配置の例を示す図である。
【図8】AVストリームの管理構造の例を示す図である。
【図9】Main PathとSub Pathの構造を示す図である。
【図10】光ディスクに記録されるファイルの管理構造の例を示す図である。
【図11】PlayListファイルのシンタクスを示す図である。
【図12】MVC_flagの意味を示す図である。
【図13】MVC_file_typeの意味を示す図である。
【図14】SubPath_typeの意味を示す図である。
【図15】SubPath_entries_extention()のシンタクスを示す図である。
【図16】SubPath_extention()のシンタクスを示す図である。
【図17】SubPath_type_extentionの意味を示す図である。
【図18】STN_table_extention()のシンタクスを示す図である。
【図19】stream_entry()のシンタクスを示す図である。
【図20】PlayItemとSubPlayItemの関係を示す図である。
【図21】再生装置の構成例を示すブロック図である。
【図22】デコード部の構成例を示す図である。
【図23】PlayListファイルの具体例を示す図である。
【図24】clpiファイルのシンタクスを示す図である。
【図25】ファイル管理の概念を示す図である。
【図26】図23のPlayListファイルに従って行われる再生処理について説明するフローチャートである。
【図27】chunk_map()のシンタクスを示す図である。
【図28】chunk_map()の具体例を示す図である。
【図29】データの分離の例を示す図である。
【図30】EP_map()のシンタクスを示す図である。
【図31】PlayListファイルの他の例を示す図である。
【図32】ファイル管理の概念を示す図である。
【図33】図31のPlayListファイルに従って行われる再生処理について説明するフローチャートである。
【図34】PlayListファイルのさらに他の例を示す図である。
【図35】clpiファイルのシンタクスを示す図である。
【図36】ファイル管理の概念を示す図である。
【図37】図34のPlayListファイルに従って行われる再生処理について説明するフローチャートである。
【図38】PlayListファイルの例を示す図である。
【図39】clpiファイルのシンタクスを示す図である。
【図40】ソフト製作処理部の構成例を示すブロック図である。
【図41】ソフト製作処理部を含む構成の例を示す図である。
【図42】コンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【0014】
[再生システムの構成例]
図1は、本技術を適用した再生装置1を含む再生システムの構成例を示す図である。
【0015】
この再生システムは、再生装置1と表示装置3がHDMI(High Definition Multimedia Interface)ケーブルなどで接続されることによって構成される。再生装置1には、BD-ROMなどの、BD規格の光ディスクである光ディスク2が装着される。
【0016】
光ディスク2には、視点の数が2つの3D画像を表示するために必要なストリームが記録されている。ストリームを光ディスク2に記録するための符号化の方式として、例えば、H.264 AVC(Advanced Video Coding)/MVC(Multi-view Video coding)が採用される。
【0017】
再生装置1は、光ディスク2に記録されているストリームの3D再生に対応したプレーヤである。再生装置1は、光ディスク2に記録されているストリームを再生し、再生して得られた3D画像をテレビジョン受像機などよりなる表示装置3に表示させる。音声についても同様に再生装置1により再生され、表示装置3に設けられるスピーカなどから出力される。なお、再生装置1は、従来のBDプレーヤと同様に2D再生にも対応している。
【0018】
[H.264 AVC/MVC Profile]
H.264 AVC/MVCでは、Base view videoと呼ばれる画像ストリームと、Dependent view videoと呼ばれる画像ストリームとが定義されている。以下、適宜、H.264 AVC/MVCを単にMVCという。
【0019】
図2は、撮影の例を示す図である。
【0020】
図2に示すように、同じ被写体を対象として、L画像(左視点)用のカメラとR(右視点)画像用のカメラによって撮影が行われる。L画像用のカメラとR画像用のカメラによって撮影された映像のエレメンタリストリームがMVCエンコーダに入力される。
【0021】
図3は、MVCエンコーダの構成例を示すブロック図である。
【0022】
図3に示すように、MVCエンコーダは、H.264/AVCエンコーダ11、H.264/AVCデコーダ12、Dependent view videoエンコーダ13、およびマルチプレクサ14から構成される。
【0023】
L画像用のカメラにより撮影されたL画像のストリームはH.264/AVCエンコーダ11に入力される。また、R画像用のカメラにより撮影されたR画像のストリームはDependent view videoエンコーダ13に入力される。
【0024】
H.264/AVCエンコーダ11は、L画像のストリームを、例えばH.264 AVC/High Profileビデオストリームとして符号化する。H.264/AVCエンコーダ11は、符号化して得られたAVCビデオストリームを、Base view videoストリームとしてH.264/AVCデコーダ12とマルチプレクサ14に出力する。
【0025】
H.264/AVCデコーダ12は、H.264/AVCエンコーダ11から供給されたAVCビデオストリームをデコードし、デコードして得られたL画像のストリームをDependent view videoエンコーダ13に出力する。
【0026】
Dependent view videoエンコーダ13は、H.264/AVCデコーダ12から供給されたL画像のストリームと、外部から入力されたR画像のストリームをエンコードし、Dependent view videoストリームを出力する。
【0027】
Base view videoには、他のストリームを参照画像とする予測符号化が許されていないが、図4に示すように、Dependent view videoには、Base view videoを参照画像とする予測符号化が許されている。例えばL画像をBase view videoとするとともにR画像をDependent view videoとして符号化を行った場合、その結果得られるDependent view videoストリームのデータ量は、Base view videoストリームのデータ量に比較して少なくなる。
【0028】
なお、H.264/AVCでの符号化であるから、Base view videoについて時間方向の予測は行われている。また、Dependent view videoについても、view間の予測とともに、時間方向の予測が行われている。Dependent view videoをデコードするには、エンコード時に参照先とした、対応するBase view videoのデコードが先に終了している必要がある。
【0029】
Dependent view videoエンコーダ13は、このようなview間の予測も用いて符号化して得られたDependent view videoストリームをマルチプレクサ14に出力する。
【0030】
マルチプレクサ14は、H.264/AVCエンコーダ11から供給されたBase view videoストリームと、Dependent view videoエンコーダ13から供給されたDependent view videoストリームとを、例えばMPEG2 TSとして多重化する。Base view videoストリームとDependent view videoストリームは1本のMPEG2 TSに多重化されることもあるし、別々のMPEG2 TSに含まれることもある。
【0031】
マルチプレクサ14は、生成したTS(MPEG2 TS)を出力する。マルチプレクサ14から出力されたTSは、他の管理データとともに記録装置において光ディスク2に記録され、再生装置1に提供される。
【0032】
この例においては、L画像をBase view video、R画像をDependent view videoとしてMVC方式で符号化するものとしたが、反対に、R画像をBase view video、L画像をDependent view videoとして符号化するようにしてもよい。以下、L画像をBase view video、R画像をDependent view videoとして符号化した場合について説明する。
【0033】
再生装置1は、ユーザによる指示などに応じて3D再生を行う場合、Base view videoストリームとDependent view videoストリームを光ディスク2から読み出して再生する。
【0034】
また、再生装置1は、2D再生を行う場合、Base view videoストリームだけを光ディスク2から読み出して再生する。Base view videoストリームはH.264/AVCで符号化されているAVCビデオストリームであるから、BDのフォーマットに対応したプレーヤであれば、そのBase view videoストリームを再生し、2D画像を表示させることが可能になる。
【0035】
[TSの構成例]
図5は、光ディスク2に記録されているTSの構成例を示す図である。
【0036】
図5のMain TSにはBase view video、Dependent view video、Primary audio、Base PG、Dependent PG、Base IG、Dependent IGのそれぞれのストリームが多重化されている。
このように、Dependent view videoストリームが、Base view videoストリームとともに1本のTSであるMain TSに含まれていることもある。
【0037】
Main TSは、少なくともBase view videoストリームを含むTSである。これに対して、Sub TSは、Base view videoストリーム以外のストリームを含み、再生時にMain TSとともに用いられるTSである。光ディスク2には、Main TSの他に、Sub TSも適宜記録される。
【0038】
ビデオと同様に3Dでの表示が可能になるように、字幕などのPG(Presentation Graphics)、メニュー画面などのIG(Interactive Graphics)についても、Base viewとDependent viewのそれぞれのストリームが用意されている。
【0039】
図6は、光ディスク2に記録されているTSの他の構成例を示す図である。
【0040】
図6のMain TSにはBase view video、Primary audio、Base PG、Dependent PG、Base IG、Dependent IGのそれぞれのストリームが多重化されている。
【0041】
一方、Sub TSにはDependent view videoストリームが含まれている。このように、Dependent view videoストリームが、Base view videoストリームとは別のTSに含まれていることもある。
【0042】
図6に示すようにBase view videoストリームとDependent view videoストリームがそれぞれ別のTSに含まれている場合、それぞれのTSファイルは、インターリーブされて光ディスク2に記録される。
【0043】
図7は、Base view videoストリーム(L videoストリーム)を含むTSファイルとDependent view videoストリーム(R videoストリーム)を含むTSファイルの光ディスク2における配置の例を示す図である。
【0044】
図7に示すように、L videoストリームを含むTSファイルとR videoストリームを含むTSファイルは、所定のデータ単位毎に交互に並ぶようにインターリーブ配置され、光ディスク2に記録される。1つのTSファイルに属し、光ディスク2上に連続配置されるソースパケットの集まりをチャンクという。
【0045】
図7において、「R」の文字と数字を付して示すそれぞれのブロックはR videoのチャンクを表し、「L」の文字と数字を付して示すそれぞれのブロックはL videoのチャンクを表す。
【0046】
3D再生時、例えば、R[0],L[0],R[1],L[1],R[2],L[2],R[3],L[3],R[4],L[4],R[5],L[5],・・・の順に光ディスク2から読み出され、L[0],R[0],L[1],R[1],L[2],R[2],L[3],R[3],L[4],R[4],L[5],R[5],・・・の順にデコードされる。上述したように、R videoをデコードするには、エンコード時に参照したL videoが先にデコードされている必要がある。同じ数字が付されているR videoのチャンクとL videoのチャンクは、同じ時間の再生に必要なデータであり、3D再生時にセットで用いられる。
【0047】
すなわち、説明を簡単にするため、コンテンツの再生時間全体を3等分する場合を考える。コンテンツの再生時間全体を3等分する時刻を、再生の開始時刻を0として、時系列順に、t1,t2と表すと、再生の開始時刻から時刻t1までの再生時間に必要な分のL videoのデータが、チャンクL[0]として分割される。
【0048】
また、時刻t1からt2までの再生時間に必要な分のL videoのデータが、チャンクL[1]として分割され、時刻t2から再生の終了時刻までの再生時間に必要な分のL videoのデータが、チャンクL[2]として分割される。
【0049】
R videoストリームについても同様に、再生の開始時刻から時刻t1までの再生時間に必要な分のR videoのデータが、チャンクR[0]として分割される。
【0050】
また、時刻t1からt2までの再生時間に必要な分のR videoのデータが、チャンクR[1]として分割され、時刻t2から再生の終了時刻までの再生時間に必要な分のR videoのデータが、チャンクR[2]として分割される。
【0051】
このようにして分割して得られた各チャンクは、同じ数字が付されたチャンク同士が、R videoのチャンク、L videoのチャンクの順になるように配置され、光ディスク2に記録される。なお、図5に示すように、L videoストリームとR videoストリームがともに1本のTSに含まれている場合、そのTSファイルはインターリーブされずに光ディスク2に記録される。
【0052】
[AVストリームの管理構造]
図8は、再生装置1によるAVストリームの管理構造の例を示す図である。
【0053】
AVストリームの管理は、図8に示すようにPlayListとClipの2つのレイヤを用いて行われる。AVストリームは、光ディスク2ではなく、再生装置1のローカルストレージに記録されていることもある。Clipは、ビデオデータやオーディオデータが多重化されることによって得られたTSであるAVストリームと、対応するClip Information(そのAVストリームに関する属性情報を含むClip Information)とから構成される。
【0054】
AVストリームは時間軸上に展開され、各アクセスポイントは、主に、タイムスタンプでPlayListにおいて指定される。Clip Informationは、AVストリーム中のデコードを開始すべきアドレスを見つけるためなどに使用される。
【0055】
PlayListはAVストリームの再生区間の集まりである。AVストリーム中の1つの再生区間はPlayItemと呼ばれる。PlayItemは、時間軸上の再生区間のIN点とOUT点のペアで表される。PlayListは1つまたは複数のPlayItemにより構成される。
【0056】
図8の左から1番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームの前半部分と後半部分がそれぞれ参照されている。
【0057】
左から2番目のPlayListは1つのPlayItemから構成され、それにより、右側のClipに含まれるAVストリーム全体が参照されている。
【0058】
左から3番目のPlayListは2つのPlayItemから構成され、その2つのPlayItemにより、左側のClipに含まれるAVストリームのある部分と、右側のClipに含まれるAVストリームのある部分がそれぞれ参照されている。
【0059】
例えば、左から1番目のPlayListに含まれる左側のPlayItemが再生対象としてディスクナビゲーションプログラムにより指定された場合、そのPlayItemが参照する、左側のClipに含まれるAVストリームの前半部分の再生が行われる。このように、PlayListは、AVストリームの再生を制御するための再生制御情報として用いられる。
【0060】
PlayListの中で、1つ以上のPlayItemの並びによって作られる再生パスをメインパス(Main Path)という。
【0061】
また、PlayListの中で、Main Pathに並行して、1つ以上のSubPlayItemの並びによって構成される再生パスをサブパス(Sub Path)という。
【0062】
図9は、Main PathとSub Pathの構造を示す図である。
【0063】
PlayListは、1つのMain Pathと1つ以上のSub Pathを持つことができる。上述したL videoストリームは、Main Pathを構成するPlayItemにより参照される。また、R videoストリームは、Sub Path(後述するExtension()内のSub Path)を構成するSubPlayItemにより参照される。
【0064】
図9のPlayListは、3つのPlayItemの並びにより構成される1つのMain Pathと、3つのSub Pathを有している。Main Pathを構成するPlayItemには、先頭から順にそれぞれIDが設定される。Sub PathにもそれぞれIDが設定される。
【0065】
図9の例においては、Subpath_id=0のSub Pathには1つのSubPlayItemが含まれ、Subpath_id=1のSub Pathには2つのSubPlayItemが含まれる。また、Subpath_id=2のSub Pathには1つのSubPlayItemが含まれる。
【0066】
あるPlayItemが参照するAVストリームと、そのPlayItemと時間帯が重複する再生区間を指定するSubPlayItemが参照するAVストリームは同期して再生される。PlayList、PlayItem、SubPlayItemを用いたAVストリームの管理については、例えば、特開2008−252740号公報、特開2005−348314号公報に記載されている。
【0067】
[ディレクトリ構造]
図10は、光ディスク2に記録されるファイルの管理構造の例を示す図である。
【0068】
図10に示すように、ファイルはディレクトリ構造により階層的に管理される。光ディスク2上には1つのrootディレクトリが作成される。rootディレクトリの下が、1つの記録再生システムで管理される範囲となる。
【0069】
rootディレクトリの下にはBDMVディレクトリが置かれる。BDMVディレクトリの直下に、「Index.bdmv」の名前が設定されたファイルであるIndexファイルと、「MovieObject.bdmv」の名前が設定されたファイルであるMovieObjectファイルが格納される。
【0070】
BDMVディレクトリの下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ等が設けられる。
【0071】
PLAYLISTディレクトリには、PlayListを記述したファイルであるPlayListファイルが格納される。各PlayListファイルには、5桁の数字と拡張子「.mpls」を組み合わせた名前が設定される。図10に示すPlayListファイルには「00000.mpls」のファイル名が設定されている。
【0072】
CLIPINFディレクトリにはClip Informationを記述したファイルであるClip Informationファイルが格納される。各Clip Informationファイルには、5桁の数字と拡張子「.clpi」を組み合わせた名前が設定される。
【0073】
図10の2つのClip Informationファイルには、それぞれ、「00001.clpi」、「00002.clpi」のファイル名が設定されている。以下、適宜、Clip Informationファイルをclpiファイルという。
【0074】
「00001.clpi」のclpiファイルは、対応するL videoストリームに関する情報が記述されたファイルであり、「00002.clpi」のclpiファイルは、対応するR videoストリームに関する情報が記述されたファイルである。
【0075】
STREAMディレクトリにはストリームファイルが格納される。各ストリームファイルには、5桁の数字と拡張子「.m2ts」を組み合わせた名前、もしくは、5桁の数字と拡張子「.ilvt」を組み合わせた名前が設定される。以下、適宜、拡張子「.m2ts」が設定されたファイルをm2tsファイルといい、拡張子「.ilvt」が設定されたファイルをilvtファイルという。
【0076】
「00001.m2ts」のm2tsファイルはL videoストリームのファイルであり、「00002.m2ts」のm2tsファイルはR videoストリームのファイルである。
【0077】
「00001.ilvt」のilvtファイルは、L videoストリームのm2tsファイルとR videoストリームのm2tsファイルがインターリーブされている場合に、それらのストリームを管理し、3D再生を行うためのファイルである。従って、L videoストリームとR videoストリームが1本のTSに含まれ、それらのm2tsファイルがインターリーブされていない場合、ilvtファイルは光ディスク2に記録されない。
【0078】
図10に示すものの他に、BDMVディレクトリの下には、オーディオストリームのファイルを格納するディレクトリなども設けられる。
【0079】
図10の例においては、L videoに関するClipを構成するm2tsファイルのファイル名は「00001.m2ts」、clpiファイルのファイル名は「00001.clpi」である。また、R videoに関するClipを構成するm2tsファイルのファイル名は「00002.m2ts」、clpiファイルのファイル名は「00002.clpi」である。1つのClipを構成するm2tsファイルのファイル名とclpiファイルのファイル名には同じ数字が含まれる。
【0080】
ilvtファイルのファイル名には、L videoに関するClipを構成するm2tsファイルのファイル名とclpiファイルのファイル名にそれぞれ含まれる5桁の数字と同じ、「00001」が含まれる。これにより、L videoに関するClipを構成するclpiファイルのファイル名から、3D再生を行うときに指定するilvtファイルのファイル名を特定することが可能になる。
【0081】
[各データのシンタクス]
図11は、PlayListファイルのシンタクスを示す図である。
【0082】
説明の便宜上、図11の左側には行数を表す数字と「:」を示している。行数を表す数字と「:」はPlayListを構成するものではない。なお、ここでは、PlayListの主な記述について説明するものとし、詳細な説明は省略する。詳細については、例えばBlu-ray Disc Read Only Format part3に記載されている。
【0083】
1行目のyyyyy.mplsは、このPlayListファイルのファイル名を表す。
【0084】
2行目乃至5行目に示すように、PlayListファイルには、大きく分けて、AppInfoPlayList()、PlayList()、PlayListMark()、ExtensionData()のフィールドから構成される。4行目のPlayListMark()には、チャプタジャンプなどを指令するユーザ操作、またはコマンドなどによるジャンプ先であるマークに関する情報が記述される。
【0085】
7行目乃至11行目がAppInfoPlayList()のフィールドである。AppInfoPlayList()には、9行目に示すように、PlayList中にMVC再生(3D再生)に関する情報が含まれるか否かを表す1ビットのフラグであるMVC_flagが含まれる。なお、PlayListの中に含まれるのではなく、ビデオストリームなどのストリームの中にMVC_flagが含まれるようにしてもよい。
【0086】
図12は、MVC_flagの意味を示す図である。
【0087】
図12に示すように、MVC_flagの値が0であることは、PlayList中に3D再生に関する情報が含まれていないことを表す。すなわち、MVC_flag=0が設定されたPlayListが記録されている光ディスクは3D再生に非対応のディスクということになる。
【0088】
MVC_flagの値が1であることは、PlayList中に3D再生に関する情報が含まれていることを表す。
【0089】
AppInfoPlayList()には、MVC_flagの他に、ランダム再生を行うためのPlayListであるかなどの、PlayListの種類に関する情報が含まれる。
【0090】
12行目乃至25行目がPlayList()のフィールドである。13行目のnumber_of_PlayItemsは、PlayListの中にあるPlayItemの数を表す。図9の例の場合、PlayItemの数は3である。PlayItem_idの値は、PlayListの中でPlayItem()が現れる順に0から割り振られる。15行目乃至19行目のfor文では、PlayItemの数だけPlayItem()が参照される。
【0091】
14行目のnumber_of_SubPathsは、PlayList()の中にあるSub Pathの数を表す。図9の例の場合、Sub Pathの数は3である。SubPath_idの値は、PlayList()の中でSubPath()が現れる順に0から割り振られる。20行目乃至24行目のfor文では、Sub Pathの数だけSubPath()が参照される。
【0092】
26行目乃至33行目が、PlayList()に含まれるPlayItem()の記述になる。27行目のClip_Information_file_nameは、PlayItemが参照するAVストリームを含むClipのclpiファイルの名前を表す。
【0093】
28行目のMVC_file_typeは、MVC_flagの値が1であるときに有効な値を持つ2ビットのデータであり、L videoストリームとR videoストリームのそれぞれの供給元のファイルのタイプを表す。
【0094】
図13は、MVC_file_typeの意味を示す図である。
【0095】
図13に示すように、MVC_file_typeの値が0であることは、L videoストリームとR videoストリームが1本のTSに含まれており、そのTSを管理するm2tsファイルが、Clip_Information_file_nameにより示されることを表す。
【0096】
上述したように、あるClipを構成するm2tsファイルのファイル名とclpiファイルのファイル名には同じ数字が含まれる。Clip_Information_file_nameは、そのファイル名が設定されたclpiファイルと同じClipを構成する、対応するm2tsファイルのファイル名も示すことになる。
【0097】
MVC_file_typeの値が1であることは、Clip_Information_file_nameが示すL videoストリームのm2tsファイル(第1のTSファイル)と、R videoストリームのm2tsファイル(第2のTSファイル)が、光ディスク2上でインターリーブされていることを表す。この場合、L videoストリームとR videoストリームはそれぞれ異なるTSに含まれることになる。
【0098】
MVC_file_typeの値が2であることは、Clip_Information_file_nameが示すL videoストリームのm2tsファイルと、R videoストリームのm2tsファイルの両方、または片方が、再生装置1内のローカルストレージに記録されていることを表す。
【0099】
MVC_file_typeの値の3はリザーブ値である。
【0100】
図11の説明に戻り、30行目のIN_timeはPlayItemの再生区間の開始位置を表し、31行目のOUT_timeは終了位置を表す。
【0101】
32行目のSTN_table()には、PlayItemが参照するAVストリームの情報が含まれる。例えば、PlayItemが参照するAVストリームの情報として、ストリーム番号(ID)、L videoストリームを構成するトランスポートパケットのPIDが含まれる。
【0102】
34行目乃至40行目が、PlayList()に含まれるSubPath()の記述になる。34行目乃至40行目のSubPath()には、PlayItemが参照するAVストリームとともに再生される、R video以外のビデオデータに関する情報やオーディオデータに関する情報が含まれる。
【0103】
35行目のSubPath_typeは、Sub Pathの種類を表す8ビットのデータである。
【0104】
図14は、SubPath_typeの意味を示す図である。
【0105】
図14に示すように、2から7の値によってSubPathの種類が表される。例えば、SubPath_type=2は、スライドショー(Browsable slideshow)再生時に用いられるオーディオデータのSubPathであることを表し、SubPath_type=3は、インタラクティブメニューの表示時のデータのSubPathであることを表す。
【0106】
図11の36行目のnumber_of_SubPlayItemsは、1つのSub Path()の中にあるSubPlayItemの数(エントリー数)を示す8ビットのデータである。例えば、図9のSubPath_id=0のSubPlayItemのnumber_of_SubPlayItemsは1であり、SubPath_id=1のSubPlayItemのnumber_of_SubPlayItemsは2である。37行目乃至39行目のfor文では、SubPlayItemの数だけ、SubPlayItem()が参照される。
【0107】
41行目乃至45行目が、SubPath()に含まれるSubPlayItem()の記述になる。42行目のClip_Information_file_nameは、SubPlayItemが参照するClipのclpiファイルの名前を表す。
【0108】
43行目のSubPlayItem_IN_timeはSubPlayItemの再生区間の開始位置を表し、44行目のSubPlayItem_OUT_timeは終了位置を表す。
【0109】
46行目乃至49行目が、拡張フィールドであるExtensionData()になる。
【0110】
MVC_flagの値が1であるとき、ExtensionData()の中に、SubPath_entries_extension()とSTN_table_extension()が記述される。SubPath_entries_extension()とSTN_table_extension()には、PlayItemが参照するL videoストリームとともに3D再生に用いられる、R videoストリームに関する情報が含まれる。
【0111】
R videoストリームはSubPathが参照するストリームとして管理されるが、このように、R videoストリームに関する情報はSubPath()(図11の34行目)のフィールドには記述されずに、ExtensionData()のフィールドに記述される。
【0112】
R videoストリームに関する情報をSubPath()のフィールドに記述しておいた場合、その記述を3D再生に非対応のプレーヤが読み込んだときに不具合が生じるおそれがある。R videoストリームに関する情報をExtensionData()として記述しておき、その記述については、3D再生に対応したプレーヤが、3D再生を行うときにだけ読み込むようにしておくことにより、そのような不具合が生じるのを防ぐことが可能になる。
【0113】
図15は、ExtensionData()に含まれるSubPath_entries_extension()のシンタクスの例を示す図である。
【0114】
number_of_SubPath_extensionsは、SubPath_extensionの数、すなわち、SubPath_entries_extension()の中に現れるSubPath_extension()の数を表す16ビットのデータである。number_of_SubPath_extensionsに続くfor文では、SubPathの数だけ、SubPath_extension()が参照される。
【0115】
ここで、R videoストリームを参照するSubPathにも、図11の34行目のSubPath()に情報が記述される、R video以外のビデオデータやオーディオデータを参照する通常のSubPathと同様にIDが割り振られる。
【0116】
図15のfor文に示すように、R videoストリームを参照するSubPathのIDは、図11の14行目のnumber_of_SubPathsの値と同じ値から開始され、SubPath_extension()が参照される毎に1ずつインクリメントされる。例えば、図9に示すように通常のSubPathの数が3であり、number_of_SubPaths=3である場合、number_of_SubPath_extensionsが2であるとすると、1つ目のSubPathのIDには3が割り振られ、2つ目のSubPathのIDには4が割り振られる。
【0117】
図16は、図15のSubPath_extension()のシンタクスの例を示す図である。
【0118】
lengthは、lengthのフィールドの直後からSubPath_extension()の最後までのバイト数を示す32ビットのデータである。
【0119】
SubPath_type_extensionは、SubPath_typeを拡張させたものであり、SubPath_extension()に情報が記述されるSubPathの種類を表す8ビットのデータである。
【0120】
図17は、SubPath_type_extensionの意味を示す図である。
【0121】
図17に示すように、SubPath_type_extensionの値の0から7は、それぞれ、図14のSubPath_typeの0から7の意味と同じ意味を表す。
【0122】
SubPath_type_extensionの値の8は、SubPath_type_extension=8が設定されたSubPathがR videoストリームを参照するSubPathであることを表す。また、参照するR videoストリームのm2tsファイルが、PlayItemが参照するL videoストリームのm2tsファイルとは別のファイルであることを表す。
【0123】
図16の説明に戻り、number_of_SubPlayItemsは、SubPath_extension()の中にあるSubPlayItemの数を示す8ビットのデータである。number_of_SubPlayItemsに続くfor文では、SubPlayItemの数だけ、SubPlayItem()が参照される。
【0124】
SubPath_extension()の中のSubPlayItem()の記述は、図11の41行目から45行目に示すSubPlayItem()の記述と同じ記述である。
【0125】
すなわち、SubPath_extension()の中のSubPlayItem()には、SubPlayItemが参照するR videoストリームと同じClipに含まれるclpiファイルのファイル名を示すClip_Information_file_nameが含まれる。また、再生区間の開始位置を表すSubPlayItem_IN_timeと、終了位置を表すSubPlayItem_OUT_timeが含まれる。
【0126】
図18は、ExtensionData()に含まれるSTN_table_extension()のシンタクスの例を示す図である。
【0127】
上述したように、STN_table(図11の32行目)には、PlayItemが参照するL videoストリームを構成するトランスポートパケットのPIDが含まれる。これに対して、STN_table_extension()には、SubPath(SubPath_extension)が参照するR videoストリームを構成するトランスポートパケットのPIDが含まれる。
【0128】
図18に示すように、STN_table_extension()には、STN_table_extension()の長さを表すlengthに続いて、R videoストリームに関する情報として、stream_entry()と、R videoストリームの属性情報であるstream_attributes()が含まれる。
【0129】
図19は、stream_entry()のシンタクスの例を示す図である。
【0130】
図19に示すように、stream_entry()には、stream_entry()の長さを表すlengthに続いて、8ビットの情報であるtypeが含まれる。
【0131】
例えば、typeの値が1であることは、R videoストリームが、PlayItemが参照するL videoストリームとともに1本のTSに含まれることを表す。また、typeの値が2であることは、R videoストリームが、PlayItemが参照するL videoストリームとは別のTSに含まれることを少なくとも表す。
【0132】
typeの値が1である場合、ref_to_stream_PID_of_mainClipが参照される。ref_to_stream_PID_of_mainClipは、L videoストリームとともに1本のTSに含まれる、R videoストリームを構成するトランスポートパケットのPIDを表す。
【0133】
typeの値が2である場合、ref_to_SubPath_id、ref_to_subClip_entry_id、ref_to_stream_PID_of_subClipが参照される。3つの情報のうちのref_to_SubPath_idは、R videoストリームを参照するSubPath(SubPath_extension)のIDを表す。また、ref_to_stream_PID_of_subClipは、ref_to_SubPath_idにより識別されるSubPathが参照するR videoストリームを構成するトランスポートパケットのPIDを表す。
【0134】
図20は、R videoストリームを参照する、SubPath_type_extention=8が設定されたSubPathと、そのSubPathがPlayListにおいて関連付けられている、L videoストリームを参照するMainPathの関係を示す図である。
【0135】
上述したように、各PlayItem()には、PlayItemの再生区間の開始位置を表すIN_timeと終了位置を表すOUT_timeが含まれる(図11の30行目、31行目)。
【0136】
また、上述したように、SubPath_extension()の中のSubPlayItem()には、R videoストリームを参照するSubPathを構成するそれぞれのSubPlayItemについて、再生区間の開始位置を表すSubPlayItem_IN_timeと、終了位置を表すSubPlayItem_OUT_timeが含まれる。
【0137】
図20に示すように、PlayItemの開始位置、終了位置と、そのPlayItemが参照するL videoストリームに関連付けられたR videoストリームを参照するSubPlayItemの開始位置、終了位置は、それぞれ同じ位置になる。
【0138】
例えば、PlayItem_id=0が割り振られたPlayItemのIN_timeとOUT_timeは、それぞれ、PlayItem_id=0が割り振られたPlayItemに関連付けられたSubPlayItem#0のSubPlayItem_IN_time、SubPlayItem_OUT_timeと一致する。
【0139】
以上のように、PlayListには、拡張フィールドであるExtensionData()の中に、SubPathに関する情報が記述されるフィールドであるSubPath()がSubPath_extension()として定義され、また、ストリーム番号(STream Number)に関する情報が記述されるフィールドであるSTN_table()がSTN_table_extension()として定義されている。
【0140】
[再生装置1の構成例]
図21は、再生装置1の構成例を示すブロック図である。
【0141】
コントローラ31は、予め用意されている制御プログラムを実行し、再生装置1の全体の動作を制御する。
【0142】
ディスクドライブ32は、コントローラ31による制御に従って光ディスク2からデータを読み出し、読み出したデータを、コントローラ31、メモリ33、またはデコード部36に出力する。
【0143】
メモリ33は、コントローラ31が各種の処理を実行する上において必要なデータなどを適宜記憶する。
【0144】
ローカルストレージ34は例えばHDD(Hard Disk Drive)により構成される。ローカルストレージ34には、サーバ22からダウンロードされたR videoストリームなどが記録される。ローカルストレージ34に記録されているストリームもデコード部36に適宜供給される。
【0145】
インターネットインタフェース35は、コントローラ31からの制御に従ってネットワーク21を介してサーバ22と通信を行い、サーバ22からダウンロードしたデータをローカルストレージ34に供給する。
【0146】
サーバ22からは、光ディスク2に記録されているデータをアップデートさせるデータがダウンロードされる。後述するように、ダウンロードしたR videoストリームを光ディスク2に記録されているL videoストリームと併せて用いることでコンテンツの3D再生を行うことも可能とされている。
【0147】
デコード部36は、ディスクドライブ32、またはローカルストレージ34から供給されたストリームをデコードし、得られたビデオ信号を表示装置3に出力する。オーディオ信号も所定の経路を介して表示装置3に出力される。
【0148】
操作入力部37は、ボタン、キー、タッチパネル、マウスなどの入力デバイスや、所定のリモートコマンダから送信される赤外線などの信号を受信する受信部により構成される。操作入力部37はユーザの操作を検出し、検出した操作の内容を表す信号をコントローラ31に供給する。
【0149】
図22は、デコード部36の構成例を示す図である。
【0150】
分離部51は、ディスクドライブ32から供給されたデータを、コントローラ31による制御に従って、Main TSのデータとSub TSのデータに分離する。
【0151】
分離部51は、分離したMain TSのデータをリードバッファ52に出力して記憶させ、Sub TSのデータをリードバッファ55に出力して記憶させる。また、分離部51は、ローカルストレージ34から供給されたSub TSのデータをリードバッファ55に出力して記憶させる。
【0152】
PIDフィルタ53は、リードバッファ52に記憶されているデータから構成されるMain TSのトランスポートパケットをPIDに基づいて振り分ける。コントローラ31からは、PlayListのSTN_table()(図11の32行目)に基づいて特定された、L videoストリームを構成するトランスポートパケットのPIDと、STN_table_extension()のref_to_stream_PID_of_mainClip(図19)に基づいて特定された、R videoストリームを構成するトランスポートパケットのPIDが指定される。
【0153】
PIDフィルタ53は、L videoストリームのトランスポートパケットをリードバッファ52から読み出し、ESバッファ54に出力して記憶させる。ESバッファ54には、L videoのES(Elementary Stream)が記憶される。
【0154】
また、PIDフィルタ53は、L videoストリームとともにR videoストリームがMain TSに多重化されている場合、R videoストリームのトランスポートパケットをPIDに基づいて抽出し、スイッチ57に出力する。
【0155】
PIDフィルタ56は、Sub TSに含まれるR videoストリームのトランスポートパケットをリードバッファ55から読み出し、スイッチ57に出力する。コントローラ31からは、STN_table_extension()のref_to_stream_PID_of_subClip(図19)に基づいて特定された、R videoストリームを構成するトランスポートパケットのPIDが指定される。
【0156】
ここでは、L video、R videoストリームの処理について説明しているが、図5を参照して説明したように、PGやIGなどのグラフィックスのデータがMain TSに多重化されていることがある。同様に、Sub TSにも、PGやIGなどのグラフィックスのデータが多重化されていることがある。
【0157】
PIDフィルタ53とPIDフィルタ56は、適宜、それらのデータをもPIDに基づいて振り分け、所定の出力先に出力する。図22のPIDフィルタ53とPIDフィルタ56のブロック内に示す出力先の端子(丸)には、グラフィックのデータをデコードするデコーダなどが接続される。
【0158】
スイッチ57は、PIDフィルタ53から供給された、Main TSに含まれていたR videoストリームのトランスポートパケットをESバッファ58に出力して記憶させる。また、スイッチ57は、PIDフィルタ56から供給された、Sub TSに含まれていたR videoストリームのトランスポートパケットをESバッファ58に出力して記憶させる。ESバッファ58には、R videoのESが記憶される。
【0159】
スイッチ59は、ESバッファ54に記憶されているL videoのパケットと、ESバッファ58に記憶されているR videoのパケットのうちの、デコードの対象になるパケットをデコーダ60に出力する。DTS(Decoding Time Stamp)などの時刻情報がL videoとR videoのPESパケットに設定されており、その時刻情報に基づいてバッファからの読み出しが行われる。
【0160】
デコーダ60は、スイッチ59から供給されたパケットをデコードし、デコードすることによって得られたL video、またはR videoのビデオ信号を出力する。
【0161】
[PlayListファイルの具体例1]
図23は、PlayListファイルの具体例を示す図である。
【0162】
図23には、図11等に示す情報のうちの一部の情報を示している。後述するPlayListファイルの具体例についても同様である。
【0163】
図23のPlayListファイルは、L videoストリームとR videoストリームがそれぞれ別のTSに含まれ、それらのTSファイルがインターリーブされて光ディスク2に記録されている場合の3D再生を制御するPlayListファイルである。
【0164】
すなわち、図23のAppInfoPlayList()に示すようにMVC_flag=1であり、かつ、PlayItem()に示すようにMVC_file_type=1である。
【0165】
PlayItem()のClip_Information_file_nameは「00001」である。この記述から、L videoのClipを構成するclpiファイルが特定される。また、PlayItem()のIN_timeとOUT_timeから、PlayItemの再生区間の開始位置と終了位置がそれぞれ特定され、STN_table()から、L videoストリームを構成するトランスポートパケットのPIDが特定される。
【0166】
ExtensionData()には、R videoストリームを参照するSubPathに関する情報が記述される。この例においては、通常のSubPathの数が0(number_of_SubPaths(図11の14行目)の値が0)とされており、R videoストリームを参照するSubPathには、SubPath_id=0が割り当てられる。SubPath_extension()中には、R videoストリームを参照するSubPathであることを表すSubPath_type_extension=8が設定される。
【0167】
ExtensionData()のSubPlayItem()のClip_Information_file_nameは「00002」である。
この記述から、R videoのClipを構成するclpiファイルが特定される。また、SubPlayItem()のSubPlayItem_IN_timeとSubPlayItem_OUT_timeから、SubPlayItemの再生区間の開始位置と終了位置がそれぞれ特定される。
【0168】
STN_table_extension()から、R videoストリームを参照するSubPathのIDが0であること(ref_to_SubPath_id=0)と、R videoストリームを構成するトランスポートパケットのPID(ref_to_R_video_PID)が特定される。この例の場合、STN_table_extension()のtypeの値は2となる。
【0169】
図24は、clpiファイルのシンタクスを示す図である。
【0170】
図24Aは「00001.clpi」のclpiファイルの例を示す図である。
【0171】
number_of_source_packets1は、「00001.m2ts」のm2tsファイルに含まれるソースパケットの数を表す。
【0172】
EP_mapには、「00001.m2ts」のm2tsファイルに含まれるTSに設定されたエントリーポイント(EP)の位置情報が含まれる。
【0173】
chunk_map()には、「00001.m2ts」のm2tsファイルの各チャンクの位置情報が含まれる。各チャンクの位置は、例えばSource Packet Number(SPN)により表される。chunk_map()の具体例については後述する。
【0174】
図24Bは「00002.clpi」のclpiファイルの例を示す図である。
【0175】
「00002.clpi」のclpiファイルにも、「00001.clpi」のclpiファイルと同様に、「00002.m2ts」のm2tsファイルに含まれるソースパケットの数を表すnumber_of_source_packets2、EP_map、およびchunk_map()が含まれる。
【0176】
図25は、ファイル管理の概念を示す図である。
【0177】
図25に示すように、インターリーブされて光ディスク2に記録されているファイルの管理は、物理レイヤ、ファイルシステムレイヤ、アプリケーションレイヤの3層構造の形で行われる。図23のPlayListファイル、図24のclpiファイルは、コンテンツの再生を管理するアプリケーションが扱うアプリケーションレイヤの情報になる。
【0178】
物理レイヤは、L videoストリームのm2tsファイルとR videoストリームのm2tsファイルがインターリーブされて記録されている光ディスク2のレイヤとなる。
【0179】
ファイルシステムレイヤにおいては、アプリケーションが指定したストリームファイル(m2tsファイル、ilvtファイル)と、各ストリームファイルを構成するエクステントの光ディスク2上の位置が対応付けられる。ファイルシステムは例えばUDF file systemである。
【0180】
エクステントは、特定のファイルにより管理されるデータ全体のうち、連続して光ディスク2上に配置されるデータのそれぞれの集まりをいう。
【0181】
すなわち、図25の例の場合、「00001.m2ts」のm2tsファイルにおいては、L[0],L[1]がそれぞれエクステントとなる。「00001.m2ts」のm2tsファイルが読み出しファイルとしてアプリケーションにより指定された場合、L[0],L[1]のそれぞれの光ディスク2上の位置がUDF file systemにより特定され、ディスクドライブ32により読み出される。
【0182】
「00002.m2ts」のm2tsファイルにおいては、R[0],R[1]がそれぞれエクステントとなる。「00002.m2ts」のm2tsファイルが読み出しファイルとしてアプリケーションにより指定された場合、R[0],R[1]のそれぞれの光ディスク2上の位置がUDF file systemにより特定され、ディスクドライブ32により読み出される。
【0183】
「00001.ilvt」のilvtファイルにおいては、R[0],L[0],R[1],L[1]全体が1つのエクステントとなる。「00001.ilvt」のilvtファイルが読み出しファイルとしてアプリケーションにより指定された場合、R[0],L[0],R[1],L[1]の光ディスク2上の位置がUDF file systemにより特定され、ディスクドライブ32により読み出される。
【0184】
[動作例1]
ここで、図26のフローチャートを参照して、図23のPlayListファイルに従って行われる3D再生の処理について説明する。
【0185】
MVC_flag=1である場合、コントローラ31(コントローラ31において実行される、コンテンツの再生を管理するアプリケーション)は、操作部37に対して行われたユーザによる操作に応じて3D再生を開始する。
【0186】
ステップS1において、コントローラ31は、STN_table()の記述から、L videoストリームを構成する、Main TSのトランスポートパケットのPIDを特定する。
【0187】
ステップS2において、コントローラ31は、STN_table_extension()の記述から、R videoストリームを参照するSubPathのSubPath_idの値であるref_to_SubPath_id=0を特定し、また、R videoストリームを構成する、Sub TSのトランスポートパケットのPIDを特定する。
【0188】
ステップS3において、コントローラ31は、PlayItem()の中のClip_Information_file_nameから、L videoストリームを含むMain TSのm2tsファイルに対応するclpiファイルのファイル名を「00001.clpi」として特定する。
【0189】
ステップS4において、コントローラ31は、SubPath_entries_extension()の中でSubPath_id=0を持つ、SubPath_type=8が設定されたSubPathのSubPlayItem()の中のClip_Information_file_nameから、R videoストリームを含むm2tsファイルに対応するclpiファイルのファイル名を「00002.clpi」として特定する。
【0190】
ステップS5において、コントローラ31は、L videoのClipを構成するファイルのファイル名に含まれる数字(00001)と同じ5文字をファイル名に含み、拡張子がilvtである「00001.ilvt」のilvtファイルを特定する。上述したように、ilvtファイルのファイル名には、L videoのClipを構成するm2tsファイル、clpiファイルの名前に含まれる数字と同じ数字が含まれる。
【0191】
ステップS6において、コントローラ31は、ステップS3で特定した「00001.ilvt」を読み出しファイルとし、UDF file systemを通して、ディスクドライブ32に光ディスク2から読み出させる。「00001.ilvt」のilvtファイルのデータとしてディスクドライブ32により読み出されたL videoストリームとR videoストリームのデータは、デコード部36の分離部51に供給される。
【0192】
なお、ランダムアクセスなどが指定されたことにより、EP_mapに含まれる所定のEPからデコードを開始する場合、読み出しファイルのデータのうちの、そのEP以降のデータが読み出される。EP_mapには、各EPの位置を指定するソースパケットの番号などの位置情報が含まれる。
【0193】
ステップS7において、コントローラ31は、分離部51を制御し、「00001.clpi」のclpiファイルのchunk_map()と「00002.clpi」のclpiファイルのchunk_map()に基づいて、光ディスク2から読み出されたデータを、L videoとR videoのデータに分離させる。
【0194】
分離部51により分離されたL videoストリームのデータはリードバッファ52に出力され、R videoストリームのデータはリードバッファ55に出力される。chunk_map()を使って行われるデータの分離については後述する。
【0195】
リードバッファ52に記憶されたL videoストリームのデータは、そのトランスポートパケットがステップS1において特定されたPIDに基づいてPIDフィルタ53により抽出され、ESバッファ54、スイッチ59を介してデコーダ60に供給される。リードバッファ55に記憶されたR videoストリームのデータは、そのトランスポートパケットがステップS2において特定されたPIDに基づいてPIDフィルタ56により抽出され、スイッチ57、ESバッファ58、およびスイッチ59を介してデコーダ60に供給される。
【0196】
ステップS8において、デコーダ60は、スイッチ59から順次供給されるパケットをデコードする(再生する)。
【0197】
L videoストリームとR videoストリームがそれぞれ別のTSに含まれ、それらのTSファイルがインターリーブされて光ディスク2に記録されている場合の3D再生は以上のようにして行われる。
【0198】
[chunk_map()を使ったデータの分離]
図27は、chunk_map()のシンタクスの例を示す図である。
【0199】
number_of_chunksは、参照するチャンクの数を表す。number_of_chunks以降には、ここで指定される数だけチャンクの情報が記述される。
【0200】
SPN_chunk_start[i]は、例えば先頭のチャンクの開始位置を基準として、その基準の位置から各チャンクの開始位置までのSPN(Source Packet Number)(長さ)を表す。各チャンクの開始位置のSPNが、先頭のチャンクのものから順に記述される。
【0201】
図28は、chunk_map()を含む、clpiファイルの具体例を示す図である。
【0202】
図28Aは「00001.clpi」のclpiファイルを示す図であり、number_of_source_packetsは「number_of_source_packets1」とされている。また、chunk_map()のnumber_of_chunksはn+1であり、SPN_chunk_start[i]は0,a1,a2,…,anである。
【0203】
SPN_chunk_start[i]の1番目の値0は、図29の中段に示すように、「00001.m2ts」のm2tsファイルの先頭のチャンクの開始位置を基準として、その基準の位置から、1番目のチャンクであるL[0]の開始位置までのSPNが0であることを表す。
【0204】
2番目の値a1は、基準の位置から、2番目のチャンクであるL[1]の開始位置までのSPNがa1であることを表す。
【0205】
3番目の値a2は、基準の位置から、3番目のチャンクであるL[2]の開始位置までのSPNがa2であることを表す。
【0206】
n+1番目の値anは、基準の位置から、最後のチャンクであるL[n]の開始位置までのSPNがanであることを表す。
【0207】
図28Bは「00002.clpi」のclpiファイルを示す図であり、number_of_source_packetsは「number_of_source_packets2」とされている。また、chunk_map()のnumber_of_chunksはn+1であり、SPN_chunk_start[i]は0,b1,b2,…,bnである。
【0208】
SPN_chunk_start[i]の1番目の値0は、図29の上段に示すように、「00002.m2ts」のm2tsファイルの先頭のチャンクの開始位置を基準として、その基準の位置から、1番目のチャンクであるR[0]の開始位置までのSPNが0であることを表す。
【0209】
2番目の値b1は、基準の位置から、2番目のチャンクであるR[1]の開始位置までのSPNがb1であることを表す。
【0210】
3番目の値b2は、基準の位置から、3番目のチャンクであるR[2]の開始位置までのSPNがb2であることを表す。
【0211】
n+1番目の値bnは、基準の位置から、最後のチャンクであるR[n]の開始位置までのSPNがbnであることを表す。
【0212】
分離部51は、光ディスク2から読み出されたデータが供給された場合、図29の下段に示すように、2つのchunk_map()の記述に基づいて、供給されたデータの先頭からb1に相当するSPN分のデータをR[0]として分離する。「00001.ilvt」のilvtファイルが読み出しファイルとして指定された場合、分離部51には、R[0],L[0],R[1],L[1],・・・,R[n],L[n]の順に各データが供給される。
【0213】
また、分離部51は、R[0]の終わりの位置からa1に相当するSPN分のデータをL[0]として分離し、L[0]の終わりの位置からb2-b1に相当するSPN分のデータをR[1]として分離する。分離部51は、R[1]の終わりの位置からa2-a1に相当するSPN分のデータをL[1]として分離する。
【0214】
同様にして、分離部51は、L[n-1]の終わりの位置から、「00002.clpi」のclpiファイルに記述されるnumber_of_source_packets2の値からbnの値を減算した値に相当するSPN分のデータをR[n]として分離する。分離部51は、R[n]の終わりの位置から、「00001.clpi」のclpiファイルに記述されるnumber_of_source_packets1の値からanの値を減算した値に相当するSPN分のデータをL[n]として分離する。
【0215】
このように、分離部51によるデータの分離は、chunk_map()に記述される各チャンクの長さの情報を用いて行われる。
【0216】
なお、1以外の値がMVC_file_typeに設定されているとき、chunk_map()はオプショナル(あっても無くても良い)となる。1以外の値がMVC_file_typeに設定されたPlayListを読み込んだプレーヤは、chunk_map()がPlayList中にある場合には、そのchunk_map()を無視しなければならない。
【0217】
MVC_file_type=1のとき、L videoストリームとR videoストリームの対応する2つのストリームは、それぞれ同じ数のチャンクに分割される。インターリーブされるR[i],L[i]について、添え字iの値が同じL videoストリームのチャンクとL videoストリームのチャンクは、同じ再生時間を持つ。
【0218】
図30は、clpiファイルに記述されるEP_map()のシンタクスを示す図である。
【0219】
EP_map()はランダムアクセスなどを行うときのデコード開始位置を特定するために参照される。number_of_EP_entriesはEP(エントリポイント)の数を表す。
【0220】
number_of_EP_entries以降の記述が各EPについて用意される。PTS_EP_start[i]はEPのPTSを表し、SPN_EP_start[i]はEPのSPNを表す。このように、EP_mapには、各エントリポイントについてのPTSとSPNが対応付けて登録される。EPが指定されたとき、指定されたEPのPTS_EP_start[i]とSPN_EP_start[i]に基づいて読み出し開始アドレスが特定され、ファイルの読み出しが行われる。
【0221】
[PlayListファイルの具体例2]
図31Aは、PlayListファイルの他の具体例を示す図である。
【0222】
図31AのPlayListは、L videoストリームとR videoストリームが同じTSに含まれる場合の3D再生を制御するPlayListである。すなわち、L videoストリームのm2tsファイルとR videoストリームのm2tsファイルは、光ディスク2上でインターリーブされていない。
【0223】
この場合、図31AのAppInfoPlayList()に示すようにMVC_flag=1であり、かつ、PlayItem()に示すようにMVC_file_type=0である。
【0224】
PlayItem()のClip_Information_file_nameは「00001」である。この記述から、L videoのClipを構成するclpiファイルが特定される。また、PlayItem()のIN_timeとOUT_timeから、PlayItemの再生区間の開始位置と終了位置がそれぞれ特定され、STN_table()から、L videoストリームを構成するトランスポートパケットのPIDが特定される。
【0225】
ExtensionData()のSTN_table_extension()から、R videoストリームを構成するトランスポートパケットのPIDが特定される。この例の場合、STN_table_extension()のtypeの値は1となる。
【0226】
図31Bは、「00001.clpi」のclpiファイルのシンタクスを示す図である。
【0227】
図31Bに示すように、「00001.clpi」のclpiファイルにはEP_mapが含まれる。1以外の値がMVC_file_typeに設定されており、この例においては、clpiファイルにchunk_map()が含まれていない。
【0228】
図32は、図31のファイルに基づいて行われるファイル管理の概念を示す図である。
【0229】
図32に示すように、L videoストリームとR videoストリームを含む1本のTSは、「00001.m2ts」のm2tsファイルによって管理される。
【0230】
「00001.m2ts」のm2tsファイルが読み出しファイルとしてアプリケーションにより指定された場合、「00001.m2ts」のm2tsファイルの記録位置がUDF file systemにより特定され、ディスクドライブ32により読み出される。読み出された「00001.m2ts」のm2tsファイルに含まれるL videoストリームとR videoストリームを構成するそれぞれのトランスポートパケットは、PIDに基づいて、それぞれ分離される。
【0231】
[動作例2]
図33のフローチャートを参照して、図31のPlayListファイルに従って行われる3D再生の処理について説明する。
【0232】
ステップS21において、コントローラ31は、STN_table()の記述から、L videoストリームを構成する、Main TSのトランスポートパケットのPIDを特定する。
【0233】
ステップS22において、コントローラ31は、STN_table_extension()の記述から、R videoストリームを構成する、Main TSのトランスポートパケットのPIDを特定する。
【0234】
ステップS23において、コントローラ31は、PlayItem()の中のClip_Information_file_nameから、L videoストリームとR videoストリームを含むm2tsファイルに対応するclpiファイルのファイル名を「00001.clpi」として特定する。MVC_flag=1であり、かつ、MVC_file_type=0であることにより、1本のMain TSにL videoストリームとR videoストリームが含まれていることは特定されている。
【0235】
ステップS24において、コントローラ31は、「00001.m2ts」を読み出しファイルとし、UDF file systemを通して、ディスクドライブ32に光ディスク2から読み出させる。ディスクドライブ32により読み出された、「00001.m2ts」のm2tsファイルのデータは、分離部51を介してリードバッファ52に供給され、記憶される。
【0236】
リードバッファ52に記憶されたデータの中から、ステップS21において特定されたPIDに基づいて、L videoストリームのトランスポートパケットがPIDフィルタ53により抽出される。抽出されたトランスポートパケットのデータは、ESバッファ54、スイッチ59を介してデコーダ60に供給される。
【0237】
また、リードバッファ52に記憶されたデータの中から、ステップS22において特定されたPIDに基づいて、R videoストリームのトランスポートパケットがPIDフィルタ53により抽出される。抽出されたトランスポートパケットのデータは、スイッチ57、ESバッファ58、スイッチ59を介してデコーダ60に供給される。
【0238】
ステップS25において、デコーダ60は、スイッチ59から順次供給されるパケットをデコードする(再生する)。
【0239】
L videoストリームとR videoストリームが同じTSに含まれる場合の3D再生は以上のようにして行われる。
【0240】
[PlayListファイルの具体例3]
図34は、PlayListファイルのさらに他の具体例を示す図である。
【0241】
図34のPlayListファイルは、L videoストリームを含むTSが光ディスク2に記録され、R videoストリームを含むTSがローカルストレージ34に記録されている場合の3D再生を制御するPlayListである。例えば、サーバ22からR videoストリームがダウンロードされたとき、光ディスク2に記録されているPlayListはR videoストリームに関する情報を追加するようにして更新され、ローカルストレージ34に記録してコントローラ31により管理される。
【0242】
図34のAppInfoPlayList()に示すようにMVC_flag=1であり、かつ、PlayItem()に示すようにMVC_file_type=2である。
【0243】
PlayItem()のClip_Information_file_nameは「00001」である。この記述から、L videoのClipを構成するclpiファイルが特定される。また、PlayItem()のIN_timeとOUT_timeから、PlayItemの再生区間の開始位置と終了位置がそれぞれ特定され、STN_table()から、L videoストリームを構成するトランスポートパケットのPIDが特定される。
【0244】
ExtensionData()には、R videoストリームを参照するSubPathに関する情報が記述される。この例においても、通常のSubPathの数が0(number_of_SubPaths(図11の14行目)の値が0)とされており、R videoストリームを参照するSubPathには、SubPath_id=0が割り当てられる。図34に示すように、SubPath_extension()中には、R videoストリームを参照するSubPathであることを表すSubPath_type_extension=8が設定される。
【0245】
ExtensionData()のSubPlayItem()のClip_Information_file_nameは「00003」である。
この記述から、R videoのClipを構成するclpiファイルが特定される。「00003.clpi」のclpiファイルも、対応するR videoストリームのファイルである「00003.m2ts」のm2tsファイルとともにサーバ22からダウンロードされ、ローカルストレージ34に記憶されている。
【0246】
また、ExtensionData()のSubPlayItem()のSubPlayItem_IN_timeとSubPlayItem_OUT_timeから、SubPlayItemの再生区間の開始位置と終了位置がそれぞれ特定される。STN_table_extension()から、R videoストリームを参照するSubPathのIDが0であること(ref_to_SubPath_id=0)と、R videoストリームを構成するトランスポートパケットのPID(ref_to_R_video_PID)が特定される。この例の場合、STN_table_extension()のtypeの値は2となる。
【0247】
図35は、clpiファイルのシンタクスを示す図である。
【0248】
図35Aは「00001.clpi」のclpiファイルの例を示す図である。図35Aに示すように、「00001.clpi」のclpiファイルにはEP_mapが含まれる。図35Bは「00003.clpi」のclpiファイルの例を示す図である。図35Bに示すように、「00003.clpi」のclpiファイルにもEP_mapが含まれる。
【0249】
例えば、「00001.clpi」のclpiファイルに含まれるEP_mapと「00003.clpi」のclpiファイルに含まれるEP_mapには、コンテンツの先頭の時刻t0を基準としてそれぞれ同じ時刻に設定されたEPの情報が含まれる。「00001.clpi」のclpiファイルに含まれるEP_mapを使用して再生が開始されるL videoストリームの位置と、「00003.clpi」のclpiファイルに含まれるEP_mapを使用して再生が開始されるR videoストリームの位置は、時刻t0を基準とした時間軸上では同じ時刻の位置になる。
【0250】
図36は、図34と図35のファイルを用いて行われるファイル管理の概念を示す図である。
【0251】
図36に示すように、光ディスク2に記録されたL videoストリームを含むTSは、「00001.m2ts」のm2tsファイルによって管理される。また、ローカルストレージ34に記録されたR videoストリームを含むTSは、「00003.m2ts」のm2tsファイルによって管理される。
【0252】
BDにおいては、BDに記録されたデータとローカルストレージに記録されたデータは、BDに記録されたデータを管理する例えばUDF file systemと、ローカルストレージに記録されたデータを管理するファイルシステムとをマージした仮想的なファイルシステムによって管理される。ローカルストレージを内蔵したプレーヤは、そのような仮想的なファイルシステムを生成し、BDに記録されたデータとローカルストレージに記録されたデータを管理する。
【0253】
読み出し対象とするファイルがアプリケーションにより指定された場合、そのファイルがBDに記録されているのか、またはローカルストレージに記録されているのかと、記録メディア上の記録位置を示すアドレスが仮想ファイルシステムにより特定され、特定された記録メディアの、特定されたアドレスからファイルが読み出される。
【0254】
例えば、「00001.m2ts」のm2tsファイルがアプリケーションにより指定された場合、「00001.m2ts」のm2tsファイルが光ディスク2の所定の位置に記録されていることが仮想ファイルシステムにより特定され、ディスクドライブ32により読み出される。
【0255】
また、「00003.m2ts」のm2tsファイルがアプリケーションにより指定された場合、「00003.m2ts」のm2tsファイルがローカルストレージ34の所定の位置に記録されていることが仮想ファイルシステムにより特定され、読み出される。
【0256】
[動作例3]
図37のフローチャートを参照して、図34のPlayListファイルに従って行われる3D再生の処理について説明する。
【0257】
ステップS41において、コントローラ31は、STN_table()の記述から、L videoストリームを構成する、Main TSのトランスポートパケットのPIDを特定する。
【0258】
ステップS42において、コントローラ31は、STN_table_extension()の記述から、R videoストリームを参照するSubPathのSubPath_idの値であるref_to_SubPath_id=0を特定し、また、R videoストリームを構成するトランスポートパケットのPIDを特定する。
【0259】
ステップS43において、コントローラ31は、PlayItem()の中のClip_Information_file_nameから、L videoストリームを含むMain TSのm2tsファイルに対応するclpiファイルのファイル名を「00001.clpi」として特定する。
【0260】
ステップS44において、コントローラ31は、SubPath_entries_extension()の中でSubPath_id=0を持つ、SubPath_type=8が設定されたSubPathのSubPlayItem()の中のClip_Information_file_nameから、R videoストリームを含むm2tsファイルに対応するclpiファイルのファイル名を「00003.clpi」として特定する。
【0261】
ステップS45において、コントローラ31は、「00001.m2ts」を読み出しファイルとし、仮想ファイルシステムを通して、ディスクドライブ32に光ディスク2から読み出させる。
【0262】
ステップS46において、コントローラ31は、「00003.m2ts」を読み出しファイルとし、仮想ファイルシステムを通して、ローカルストレージ34から読み出す。
【0263】
ディスクドライブ32により読み出された「00001.m2ts」のm2tsファイルのデータは、分離部51を介してリードバッファ52に供給され、記憶される。リードバッファ52に記憶されたL videoストリームのデータは、そのトランスポートパケットがステップS41において特定されたPIDに基づいてPIDフィルタ53により抽出され、ESバッファ54、スイッチ59を介してデコーダ60に供給される。
【0264】
一方、ローカルストレージ34から読み出された「00003.m2ts」のm2tsファイルのデータは、分離部51を介してリードバッファ55に供給され、記憶される。リードバッファ55に記憶されたR videoストリームのデータは、そのトランスポートパケットがステップS42において特定されたPIDに基づいてPIDフィルタ56により抽出され、スイッチ57、ESバッファ58、およびスイッチ59を介してデコーダ60に供給される。
【0265】
ステップS47において、デコーダ60は、スイッチ59から順次供給されるパケットをデコードする(再生する)。
【0266】
L videoストリームを含むTSが光ディスク2に記録され、R videoストリームを含むTSがローカルストレージ34に記録されている場合の3D再生は以上のようにして行われる。
【0267】
[2D再生を行う場合の動作]
以上のようなPlayListファイルに従って、光ディスク2に記録されているコンテンツを2D再生する場合の動作について説明する。
【0268】
ここでは、L videoストリームとR videoストリームがそれぞれ別のTSに含まれ、それらのm2tsファイルがインターリーブされて光ディスク2に記録されているものとする。光ディスク2上のデータの配置は図25に示す配置になる。2D再生は、図23のPlayListファイルに従って行われる。
【0269】
この場合、2D再生を行うプレーヤは、2D再生と関係のある記述だけをPlayListファイルから読み込んで処理を行う。
【0270】
図23のPlayListファイルの記述うちの、読み込みの対象になる記述を図38に下線を付して示す。図38に示すように、R videoストリームの再生時に参照される情報であるExtensionData()の記述は読み込まれない。
【0271】
また、図24Aのclpiファイルの記述うちの、読み込みの対象になる記述を図39Aに下線を付して示す。図39Aに示すように、R videoストリームの再生時に参照される情報であるchunk_map()は読み込まれない。また、図39Bに示すように、「00002.clpi」のclpiファイルはその全体が読み込まれない。
【0272】
一連の処理について説明すると、2D再生を行う再生装置1は、PlayItem()の中のClip_Information_file_nameから、L videoストリームを含むm2tsファイルに対応するclpiファイルのファイル名を「00001.clpi」として特定する。また、再生装置1は、STN_table()の記述から、L videoストリームを構成するトランスポートパケットのPIDを特定する。
【0273】
再生装置1は、UDF file systemを通して、「00001.m2ts」のm2tsファイルを光ディスク2から読み出し、以降、L videoストリームを読み出したときと同様の処理を行う。すなわち、リードバッファ52に一時的に記憶されたL videoストリームのデータは、PIDフィルタ53、ESバッファ54、スイッチ59を介してデコーダ60に供給され、再生される。再生装置1から出力されるデータはL videoストリームのデータだけであるから、表示装置3においては、L videoストリームのデータに基づいて2D画像が表示される。
【0274】
このように、図23等を参照して説明したPlayListファイルは、3D再生に対応した再生装置において2D再生を行う場合にも、あるいは、3D再生に非対応の再生装置において2D再生を行う場合にも、利用可能なファイルとなる。これにより、3D再生に対応した再生装置用のものと、3D再生に非対応の再生装置用のものとをそれぞれ用意する必要がなく、PlayListファイルやそれを記録した光ディスク2の互換性を確保することが可能になる。
【0275】
[記録装置の構成例]
図40は、ソフト製作処理部101の構成例を示すブロック図である。
【0276】
ビデオエンコーダ111は、図3のMVCエンコーダと同様の構成を有している。ビデオエンコーダ111は、複数の映像データをH.264 AVC/MVCでエンコードすることによってL videoストリームとR videoストリームを生成し、バッファ112に出力する。
【0277】
オーディオエンコーダ113は、入力されたオーディオストリームをエンコードし、得られたデータをバッファ114に出力する。オーディオエンコーダ113には、L videoストリーム、R videoストリームとともにディスクに記録させるオーディオストリームが入力される。
【0278】
データエンコーダ115は、PlayListファイルなどの、ビデオ、オーディオ以外の上述した各種のデータをエンコードし、エンコードして得られたデータをバッファ116に出力する。例えば、データエンコーダ115は、上述したSubPath_entries_extension(図15)やSTN_table_extension(図18)やMVC_flag(図12)やMVC_file_type(図13)を設定し、図11を参照して説明したようなPlayListファイルを生成する。
【0279】
多重化部117は、それぞれのバッファに記憶されたビデオデータ、オーディオデータ、および、ストリーム以外のデータを同期信号と共に多重化し、誤り訂正符号化部118に出力する。
【0280】
誤り訂正符号化部118は、エラー訂正用のコードを多重化部117により多重化されたデータに付加する。
【0281】
変調部119は、誤り訂正符号化部118から供給されたデータに対して変調を施し、出力する。変調部119の出力は、再生装置1において再生可能な光ディスク2に記録されるソフトウエアとなる。
【0282】
このような構成を有するソフト製作処理部101が記録装置に設けられる。
【0283】
図41は、ソフト製作処理部101を含む構成の例を示す図である。
【0284】
図41に示す構成の一部が記録装置内に設けられることもある。
【0285】
ソフト製作処理部101により生成された記録信号はプリマスタリング処理部131においてマスタリング処理が施され、光ディスク2に記録すべきフォーマットの信号が生成される。生成された信号は原盤記録部133に供給される。
【0286】
記録用原盤製作部132においては、ガラスなどよりなる原盤が用意され、その上に、フォトレジストなどよりなる記録材料が塗布される。これにより、記録用原盤が製作される。
【0287】
原盤記録部133において、プリマスタリング処理部131から供給された記録信号に対応してレーザビームが変調され、原盤上のフォトレジストに照射される。これにより、原盤上のフォトレジストが記録信号に対応して露光される。その後、この原盤を現像し、原盤上にピットを出現させることが行われる。
【0288】
金属原盤製作部134において、原盤に電鋳等の処理が施され、ガラス原盤上のピットを転写した金属原盤が製作される。この金属原盤から、さらに金属スタンパが製作され、これが成形用金型とされる。
【0289】
成形処理部135において、成形用金型に、インジェクションなどによりPMMA(アクリル)またはPC(ポリカーボネート)などの材料を注入し、固定化させることが行われる。
あるいは、金属スタンパ上に2P(紫外線硬化樹脂)などを塗布した後、紫外線を照射して硬化させることが行われる。これにより、金属スタンパ上のピットを、樹脂よりなるレプリカ上に転写することができる。
【0290】
成膜処理部136において、レプリカ上に、反射膜が蒸着あるいはスパッタリングなどにより形成される。あるいはまた、レプリカ上に、反射膜がスピンコートにより形成される。
【0291】
後加工処理部137において、このディスクに対して内外径の加工が施され、2枚のディスクを張り合わせるなどの必要な処置が施される。このようにして、再生装置1によって再生可能なデータが記録された上述した光ディスク2が完成する。
【0292】
[コンピュータの構成例]
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0293】
図42は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【0294】
CPU(Central Processing Unit)151、ROM(Read Only Memory)152、RAM(Random Access Memory)153は、バス154により相互に接続されている。
【0295】
バス154には、さらに、入出力インタフェース155が接続されている。入出力インタフェース155には、キーボード、マウスなどよりなる入力部156、ディスプレイ、スピーカなどよりなる出力部157が接続される。また、入出力インタフェース155には、ハードディスクや不揮発性のメモリなどよりなる記憶部158、ネットワークインタフェースなどよりなる通信部159、リムーバブルメディア161を駆動するドライブ160が接続される。
【0296】
以上のように構成されるコンピュータでは、CPU151が、例えば、記憶部158に記憶されているプログラムを入出力インタフェース155及びバス154を介してRAM153にロードして実行することにより、上述した一連の処理が行われる。
【0297】
CPU151が実行するプログラムは、例えばリムーバブルメディア161に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部158にインストールされる。
【0298】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0299】
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【0300】
1 再生装置, 2 光ディスク, 3 表示装置, 11 H.264/AVCエンコーダ, 12 H.264/AVCデコーダ, 13 Dependent view videoエンコーダ, 14 マルチプレクサ, 31 コントローラ, 32 ディスクドライブ, 33 メモリ, 34 ローカルストレージ, 35 インターネットインタフェース, 36 デコード部, 37 操作入力部

【特許請求の範囲】
【請求項1】
複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた基本ストリームと拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルを記録媒体から読み出し、前記記録媒体上に所定のデータ単位でインタリーブして配置された前記基本ストリームと前記拡張ストリームのファイルであるインタリーブファイルを前記記録媒体から読み出す読み出し部と、
前記インタリーブファイルに含まれる前記基本ストリームを前記プレイアイテムフィールドに記述された前記プレイアイテムの情報に基づいて再生し、前記拡張ストリームを前記拡張フィールドに記述された前記サブ再生パスの情報に基づいて再生する再生部と
を備える再生装置。
【請求項2】
前記記録媒体には、前記基本ストリームの属性情報であるクリップ情報のファイルがさらに記録され、
前記読み出し部は、前記クリップ情報のファイルのファイル名に含まれる数字を指定する、前記プレイアイテムフィールドに記述される所定の桁数の数字と同じ数字をファイル名に含む前記インタリーブファイルを読み出す
請求項1に記載の再生装置。
【請求項3】
複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた基本ストリームと拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルを記録媒体から読み出し、前記記録媒体上に所定のデータ単位でインタリーブして配置された前記基本ストリームと前記拡張ストリームのファイルであるインタリーブファイルを前記記録媒体から読み出し、
前記インタリーブファイルに含まれる前記基本ストリームを前記プレイアイテムフィールドに記述された前記プレイアイテムの情報に基づいて再生し、
前記拡張ストリームを前記拡張フィールドに記述された前記サブ再生パスの情報に基づいて再生する
ステップを含む再生方法。
【請求項4】
複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた、所定のデータ単位でインタリーブして配置された基本ストリームと拡張ストリームのファイルであるインタリーブファイルと、
前記基本ストリームと前記拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに、読み出した前記インタリーブファイルに含まれる前記基本ストリームを再生するように再生装置を機能させる、前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに、読み出した前記インタリーブファイルに含まれる前記拡張ストリームを再生するように前記再生装置を機能させる、前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルと
が記録された記録媒体。
【請求項5】
複数視点から撮影されたビデオストリームをH.264 AVC/MVCによって符号化して得られた、所定のデータ単位でインタリーブして配置された基本ストリームと拡張ストリームのファイルであるインタリーブファイルと、
前記基本ストリームと前記拡張ストリームの再生を制御する情報であり、プレイリストフィールド内のフィールドであるプレイアイテムフィールドに、読み出した前記インタリーブファイルに含まれる前記基本ストリームを再生するように再生装置を機能させる、前記基本ストリームを参照するメイン再生パスを構成するプレイアイテムの情報が記述され、前記プレイリストフィールドの外のフィールドである拡張フィールドに、読み出した前記インタリーブファイルに含まれる前記拡張ストリームを再生するように前記再生装置を機能させる、前記拡張ストリームを参照するサブ再生パスの情報が記述されたPlayListファイルと
を生成し、
生成した前記インタリーブファイルと前記PlayListファイルを記録媒体に記録させる
ステップを含む記録方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate


【公開番号】特開2012−124926(P2012−124926A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2012−13609(P2012−13609)
【出願日】平成24年1月26日(2012.1.26)
【分割の表示】特願2010−39040(P2010−39040)の分割
【原出願日】平成22年2月24日(2010.2.24)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】