JPWO2011004600A1 - 記録媒体、再生装置、及び集積回路 - Google Patents

記録媒体、再生装置、及び集積回路 Download PDF

Info

Publication number
JPWO2011004600A1
JPWO2011004600A1 JP2010546127A JP2010546127A JPWO2011004600A1 JP WO2011004600 A1 JPWO2011004600 A1 JP WO2011004600A1 JP 2010546127 A JP2010546127 A JP 2010546127A JP 2010546127 A JP2010546127 A JP 2010546127A JP WO2011004600 A1 JPWO2011004600 A1 JP WO2011004600A1
Authority
JP
Japan
Prior art keywords
data
stream
video
view
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010546127A
Other languages
English (en)
Other versions
JP4676579B2 (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
Application granted granted Critical
Publication of JP4676579B2 publication Critical patent/JP4676579B2/ja
Publication of JPWO2011004600A1 publication Critical patent/JPWO2011004600A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • G11B20/1251Formatting, e.g. arrangement of data block or words on the record carriers on discs for continuous data, e.g. digitised analog information signals, pulse code modulated [PCM] data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3027Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/178Metadata, e.g. disparity information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • H04N13/183On-screen display [OSD] information, e.g. subtitles or menus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10592Audio or video recording specifically adapted for recording or reproducing multichannel signals
    • G11B2020/106113D video data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs

Abstract

BD−ROMディスクには、メインビューとサブビューとのビデオ・ストリームの対、及びグラフィックス・ストリームが記録されている。サブビュー・ビデオ・ストリームにはメタデータがGOPごとに配置されている。メタデータはオフセット情報を含む。オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する。オフセット制御ではグラフィックス・プレーンに水平方向のオフセットが与えられ、そのグラフィックス・プレーンが各ビデオ・プレーンに合成される。サブビュー・ビデオ・ストリームはパケット化されてトランスポート・ストリームに多重化されている。各TSパケットのヘッダはTS優先度フラグを含む。メタデータを含むTSパケットと、サブビュー・ピクチャを含むTSパケットとではTS優先度フラグの値が異なる。

Description

本発明は、立体視映像、すなわち3次元(3D)映像の再生技術に関し、特に、記録媒体上でのストリーム・データの構造に関する。
近年、3D映像に対する一般的な関心が高まっている。例えば遊園地では、3D映像を利用したアトラクションが人気を集めている。また、全国各地で、3D映像の映画を上映する映画館が増加している。そのような3D映像への関心の高まりに伴い、3D映像を各家庭でも再生可能にするための技術の開発が進められている。その技術では、3D映像コンテンツを高画質のまま、光ディスク等の可搬性記録媒体に記録することが求められる。更に、2D再生装置に対するその記録媒体の互換性が求められる。すなわち、その記録媒体に記録された3D映像コンテンツから、2D再生装置は2D映像を再生でき、3D再生装置は3D映像を再生できることが望ましい。ここで、「2D再生装置」とは、平面視映像、すなわち2次元(2D)映像のみを再生可能な従来の再生装置を意味し、「3D再生装置」とは、3D映像を再生可能な再生装置を意味する。尚、本明細書では、3D再生装置が従来の2D映像も再生可能である場合を想定する。
図109は、3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である(例えば特許文献1参照)。光ディスクPDSには二種類のビデオ・ストリームが格納されている。一方は2D/レフトビュー・ビデオ・ストリームであり、他方はライトビュー・ビデオ・ストリームである。「2D/レフトビュー・ビデオ・ストリーム」は、3D映像の再生では視聴者の左目に見せる2D映像、すなわち「レフトビュー」を表し、2D映像の再生ではその2D映像そのものを表す。「ライトビュー・ビデオ・ストリーム」は、3D映像の再生において視聴者の右目に見せる2D映像、すなわち「ライトビュー」を表す。左右のビデオ・ストリーム間では、フレームレートは等しいが、フレームの表示時期はフレーム周期の半分だけずれている。例えば、各ビデオ・ストリームのフレームレートが1秒間に24フレームであるとき、2D/レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの各フレームが1/48秒ごとに交互に表示される。
各ビデオ・ストリームは、図109に示されているように、光ディスクPDS上では複数のエクステントEX1A−C、EX2A−Cに分割されている。各エクステントはGOP(グループ・オブ・ピクチャ)を1以上含み、光ディスクドライブによって一括して読み出される。以下、2D/レフトビュー・ビデオ・ストリームに属するエクステントを「2D/レフトビュー・エクステント」といい、ライトビュー・ビデオ・ストリームに属するエクステントを「ライトビュー・エクステント」という。2D/レフトビュー・エクステントEX1A−Cとライトビュー・エクステントEX2A−Cとは交互に光ディスクPDSのトラックTRC上に配置されている。隣接する2つのエクステントEX1A+EX2A、EX1B+EX2B、EX1C+EX2Cの間では再生時間が等しい。このようなエクステントの配置を「インターリーブ配置」という。インターリーブ配置で記録されたエクステント群は、以下に述べるように、3D映像の再生と2D映像の再生との両方で利用される。
2D再生装置PL2では、光ディスクドライブDD2が光ディスクPDS上のエクステントのうち、2D/レフトビュー・エクステントEX1A−Cのみを先頭から順番に読み出す一方、ライトビュー・エクステントEX2A−Cの読み出しをスキップする。更に、映像デコーダVDCが、光ディスクドライブDD2によって読み出されたエクステントを順次、映像フレームVFLに復号する。それにより、表示装置DS2にはレフトビューのみが表示されるので、視聴者には通常の2D映像が見える。
3D再生装置PL3では、光ディスクドライブDD3が光ディスクPDSから2D/レフトビュー・エクステントとライトビュー・エクステントとを交互に、符号で表せば、EX1A、EX2A、EX1B、EX2B、EX1C、EX2Cの順に読み出す。更に、読み出された各エクステントから、2D/レフトビュー・ビデオ・ストリームは左映像デコーダVDLへ送られ、ライトビュー・ビデオ・ストリームは右映像デコーダVDRへ送られる。各映像デコーダVDL、VDRは交互に各ビデオ・ストリームを映像フレームVFL、VFRに復号する。それにより、表示装置DS3にはレフトビューとライトビューとが交互に表示される。一方、シャッター眼鏡SHGは左右のレンズを、表示装置DS3による画面の切り換えに同期して交互に不透明にする。従って、シャッター眼鏡SHGをかけた視聴者には、表示装置DS3に表示された映像が3D映像に見える。
光ディスクに限らず、記録媒体に3D映像コンテンツを格納するときは、上記のようにエクステントのインターリーブ配置を利用する。それにより、その記録媒体を2D映像の再生と3D映像の再生との両方で利用することができる。
特許第3935507号公報
映像コンテンツは一般に、ビデオ・ストリームの他に、字幕及び対話画面等のグラフィックス映像を表すグラフィックス・ストリームを含む。3D映像コンテンツから再生される映像では、それらのグラフィックス映像も3次元化される。ここで、その3次元化の手法には2プレーン・モードと1プレーン+オフセット・モードとがある。2プレーン・モードの3D映像コンテンツは、レフトビューとライトビューとの各グラフィックス映像を表すグラフィックス・ストリームの対を含む。2プレーン・モードの再生装置は、各グラフィックス・ストリームから個別にレフトビューとライトビューとのグラフィックス・プレーンを生成する。1プレーン+オフセット・モードの3D映像コンテンツは、2Dグラフィックス映像を表すグラフィックス・ストリームと、それに対するオフセット情報とを含む。1プレーン+オフセット・モードの再生装置は、まずグラフィックス・ストリームから一つのグラフィックス・プレーンを生成し、次にオフセット情報に従ってそのグラフィックス・プレーンに水平方向のオフセットを与える。それにより、そのグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対が生成される。いずれのモードでも、表示装置の画面にはレフトビューとライトビューとのグラフィックス映像が交互に表示される。その結果、視聴者にはそれらのグラフィックス映像が3D映像として見える。
3D映像コンテンツにグラフィックス・ストリームとオフセット情報とを別のファイルとして組み込んだ場合、1プレーン+オフセット・モードの再生装置はそれらのファイルを個別に処理し、得られたデータに基づいてレフトビューとライトビューとのグラフィックス映像の対を再生する。ここで、グラフィックス映像とオフセット情報とは一般にフレーム周期で変更される。しかし、オフセット情報を格納したファイルをフレーム表示の度に読み込んで解析することには、「処理が間に合わずに映像を正しく表示することができない」という危険性がある。従って、処理をフレーム周期に確実に同期させるには、予めメモリ上にオフセット情報を展開しておく必要がある。その場合、グラフィックス・ストリーム一つ当たりのオフセット情報の総量は大きいので、オフセット情報を収めたファイルを展開するのに必要な内蔵メモリの容量は大きくならざるを得ない。また、1つのシーンに複数のグラフィックス映像が存在する場合には、内蔵メモリは更に大きな容量を必要とする。このように、3D映像コンテンツにグラフィックス・ストリームとオフセット情報とを別のファイルとして組み込んだ場合には、内蔵メモリの容量の更なる削減は困難である。
上記の問題点を解消することを目的として、オフセット情報はビデオ・ストリームの中に、例えばGOP間隔で格納される。それにより、再生装置内のデコーダは、ビデオ・ストリームを復号しながら、そのビデオ・ストリームからオフセット情報を抽出することができる。その結果、再生装置はグラフィックス・ストリームとオフセット情報との間の対応関係を確実に維持できる。その上、内蔵メモリは、例えば1GOP当たりのオフセット情報を展開するのに十分な容量を持てばよい。従って、多様なグラフィックス・ストリームを含む3D映像コンテンツへの対応と、内蔵メモリの容量の更なる削減とを容易に両立させることができる。
ここで、再生装置内のデコーダに、ビデオ・ストリームからオフセット情報を抽出する機能を実装する具体的な手段としては、様々なものが想定される。例えば、その機能を、ビデオ・ストリームの復号処理専用のハードウェアに組み込む手段も、そのハードウェアとは別のハードウェア又はソフトウェアで実現する手段も想定可能である。しかし、それらの手段別に、ビデオ・ストリームやオフセット情報のデータ構造を変更するのは好ましくない。
本発明の目的は上記の問題点を解決することにあり、特に、再生装置に実装された、ビデオ・ストリームからオフセット情報を抽出する機能の様々な態様において共通に利用可能なデータ構造で、ビデオ・ストリームとオフセット情報とを一体的に記録した記録媒体を提供することにある。
本発明による記録媒体には、メインビュー・ビデオ・ストリーム、サブビュー・ビデオ・ストリーム、及びグラフィックス・ストリームが記録されている。メインビュー・ビデオ・ストリームは、立体視映像のメインビューを構成するメインビュー・ピクチャを含む。サブビュー・ビデオ・ストリームは、立体視映像のサブビューを構成するサブビュー・ピクチャと、メタデータとを含む。グラフィックス・ストリームは、平面視グラフィックス映像を構成するグラフィックス・データを含む。メインビュー・ピクチャは、再生される際にメインビュー・ビデオ・プレーンに描画され、サブビュー・ピクチャは、再生される際にサブビュー・ビデオ・プレーンに描画され、グラフィックス・データは、再生される際にグラフィックス・プレーンに描画される。メタデータは、サブビュー・ビデオ・ストリームを構成するGOPごとに配置されて、オフセット情報を含む。オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する制御情報である。オフセット制御は、グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、メインビュー・ビデオ・プレーンとサブビュー・ビデオ・プレーンとのそれぞれに合成する処理である。サブビュー・ビデオ・ストリームはトランスポート・ストリーム(TS)に多重化されている。TSを構成するTSパケットのヘッダは、当該TSパケットの優先度を示すTS優先度フラグを含む。メタデータを含むTSパケットのTS優先度フラグは、サブビュー・ピクチャを含むTSパケットのTS優先度フラグと値が異なる。
本発明による記録媒体は、再生装置の復号部に、TS優先度フラグの値に従って、メタデータを含むTSパケットと、サブビュー・ピクチャを含むTSパケットとを分離させることができる。従って、その復号部では、メタデータを含むTSパケットからオフセット情報を抽出する機能部と、サブビュー・ピクチャを含むTSパケットから非圧縮のピクチャを復号する機能部とが別々に実装されてもよい。その場合、それらの機能部の具体的な態様は、互いに独立に設計可能である。一方、それらの機能部が一体化されている復号部では、TS優先度フラグの値に依らず、サブビュー・ビデオ・ストリームを含むTSパケットを全て、その一体化された機能部に処理させればよい。このように、本発明による記録媒体は、再生装置に実装された、ビデオ・ストリームからオフセット情報を抽出する機能の様々な態様において共通に利用可能なデータ構造で、ビデオ・ストリームとオフセット情報とを一体的に記録することができる。
本発明の実施形態1による記録媒体を使用するホームシアター・システムを示す模式図である。 図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。 (a)、(b)は、BD−ROMディスク上のメインTSとサブTSとのそれぞれに多重化されたエレメンタリ・ストリームの一覧表である。 多重化ストリーム・データ400内でのTSパケットの配置を示す模式図である。 (a)は、TSヘッダ501Hのデータ構造を示す模式図である。(b)は、多重化ストリーム・データを構成するTSパケット501の列の形式を示す模式図である。(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット502の列の形式を示す模式図である。(d)は、一連のソースパケット502が連続的に記録されたBD−ROMディスクのボリューム領域上のセクタ群の模式図である。 PGストリーム600のデータ構造を示す模式図である。 ベースビュー・ビデオ・ストリーム701とライトビュー・ビデオ・ストリーム702とのピクチャを表示時間順に示す模式図である。 ビデオ・ストリーム800のデータ構造の詳細を示す模式図である。 PESパケット列902へのビデオ・ストリーム901の格納方法の詳細を示す模式図である。 ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。 ディペンデントビュー・ビデオ・ストリーム1100の含むオフセット・メタデータ1110のデータ構造を示す模式図である。 図11に示されているオフセット・メタデータ1110の書式(Syntax)を示す表である。 (a)、(b)は、PGプレーン1310とIGプレーン1320とに対するオフセット制御を示す模式図である。(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者1330に知覚される3Dグラフィックス映像を示す模式図である。 (a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。(c)は、(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。 ディペンデントビュー・ビデオ・ストリーム内のVAU#11500を格納したPESパケット1510と、そのPESパケット1510から生成されるTSパケット列1520とを示す模式図である。 図15に示されている第1グループ1521と第2グループ1522とのそれぞれに属するTSパケットが同じTS優先度の値を示す場合のTSパケット列1620を示す模式図である。 (a)は、復号スイッチ情報1750のデータ構造を示す模式図である。(b)、(c)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの例1710、1720、1730、1740を示す模式図である。 PMT1810のデータ構造を示す模式図である。 BD−ROMディスク上での多重化ストリーム・データの物理的な配置を示す模式図である。 (a)は、BD−ROMディスク上に個別に連続して記録されたメインTS2001とサブTS2002との配置を示す模式図である。(b)は、本発明の実施形態1によるBD−ROMディスク101上に交互に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…との配置を示す模式図である。(c)、(d)はそれぞれ、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の例を示す模式図である(n=0、1、2)。 エクステント・ブロック群1901−1903に対する2D再生モードとL/Rモードとでの各再生経路2101、2102を示す模式図である。 2Dクリップ情報ファイル(01000.clpi)231のデータ構造を示す模式図である。 (a)は、エントリ・マップ2230のデータ構造を示す模式図である。(b)は、ファイル2D241に属するソースパケット群2310のうち、エントリ・マップ2230によって各EP_ID2305に対応付けられているものを示す模式図である。(c)は、そのソースパケット群2310に対応するBD−ROMディスク上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。 (a)は、図23に示されているエクステント起点2242のデータ構造を示す模式図である。(b)は、ディペンデントビュー・クリップ情報ファイル(02000.clpi)232に含まれるエクステント起点2420のデータ構造を示す模式図である。(c)は、3D再生モードの再生装置102によってファイルSS244Aから抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。(d)は、ファイルDEP(02000.m2ts)242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点2420の示すSPN2422との間の対応関係を表す模式図である。(e)は、ファイルSS244Aに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。 BD−ROMディスク上に記録された一つのエクステント・ブロック2500と、ファイル2D2510、ファイル・ベース2511、ファイルDEP2512、及びファイルSS2520の各エクステント群との間の対応関係を示す模式図である。 ベースビュー・ビデオ・ストリーム2610とディペンデントビュー・ビデオ・ストリーム2620とに設定されたエントリ・ポイントの例を示す模式図である。 2Dプレイリスト・ファイルのデータ構造を示す模式図である。 図27に示されているPI#Nのデータ構造を示す模式図である。 (a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続対象の二つの再生区間2901、2902の間の関係を示す模式図である。 2Dプレイリスト・ファイル(00001.mpls)221の示すPTSと、ファイル2D(01000.m2ts)241から再生される部分との間の対応関係を示す模式図である。 3Dプレイリスト・ファイルのデータ構造を示す模式図である。 図31に示されている3Dプレイリスト・ファイル222のメインパス3101の含むSTNテーブル3205を示す模式図である。 図31に示されているSTNテーブルSS3130のデータ構造を示す模式図である。 3Dプレイリスト・ファイル(00002.mpls)222の示すPTSと、ファイルSS(01000.ssif)244Aから再生される部分との間の対応関係を示す模式図である。 図2に示されているインデックス・ファイル(index.bdmv)211のデータ構造を示す模式図である。 図1に示されている再生装置102が6種類の判別処理を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。 2D再生装置3700の機能ブロック図である。 図37に示されているプレーヤ変数記憶部3736の含むシステム・パラメータ(SPRM)の一覧表である。 図37に示されている再生制御部3735による2Dプレイリスト再生処理のフローチャートである。 図37に示されているシステム・ターゲット・デコーダ3725の機能ブロック図である。 (a)は、図40に示されているPGデコーダ4072がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。 3D再生装置4200の機能ブロック図である。 図42に示されているプレーヤ変数記憶部4236の含むSPRM(27)とSPRM(28)とのデータ構造を示す表である。 図42に示されている再生制御部4235による3Dプレイリスト再生処理のフローチャートである。 図42に示されているシステム・ターゲット・デコーダ4225が第1の手段でオフセット・メタデータの抽出機能を実装している場合での機能ブロック図である。 図42に示されているシステム・ターゲット・デコーダ4225が第2の手段でオフセット・メタデータの抽出機能を実装している場合でのビデオ・ストリームの処理系統を示す機能ブロック図である。 図42に示されているプレーン加算部4226の機能ブロック図である。 図47に示されている各クロッピング処理部4731−4734によるオフセット制御のフローチャートである。 (b)は、第2クロッピング処理部4632によるオフセット制御で加工される前のPGプレーン・データGPを示す模式図である。(a)、(c)はそれぞれ、右向きのオフセットが与えられたPGプレーン・データRGPと、左向きのオフセットが与えられたPGプレーン・データLGPとを示す模式図である。 ディペンデントビュー・ビデオ・ストリーム内のVAU#15000を格納したPESパケット5010、及びそのPESパケット5010から生成されるTSパケット列5020とを示す模式図である。 図50に示されているTSパケット列5020からオフセット・メタデータを抽出するシステム・ターゲット・デコーダ5125内のビデオ・ストリームの処理系統を示す機能ブロック図である。 (a)は、補完関数を利用するオフセット・メタデータ5200のデータ構造を示す模式図である。(b)は、補完関数を構成する要素の種類を表すグラフである。(c)は、(a)に示されているオフセット・シーケンスID=0、1、2の各オフセット・シーケンスから3D再生装置によって算定されたオフセット値を示すグラフである。 サブパスを複数含む3Dプレイリスト・ファイル5300のデータ構造、及び、それによって参照されるファイル2D5310と二つのファイルDEP5321、5322とのデータ構造を示す模式図である。 一つのストリーム・データに対してオフセット補正値が複数設定されたSTNテーブル5400を示す模式図である。 (a)−(c)は、32インチ、50インチ、及び100インチの各画面SCA、SCB、SCCに表示されたレフトビューとライトビューとの間の視差PRA、PRB、PRCを示す模式図である。 (a)は、画面サイズと出力オフセット補正値との間の対応表を示す模式図である。(b)は、画面サイズと出力オフセット補正値との間の関数を表すグラフである。 出力オフセット補正に必要な3D再生装置の要素を示す機能ブロック図である。 (a)は、静止画像のみを表すディペンデントビュー・ビデオ・ストリーム5800のデータ構造を示す模式図である。(b)は、そのような3Dプレイリスト・ファイルを従って再生される、レフトビュー・ビデオ・プレーンの列5821、ライトビュー・ビデオ・プレーンの列5822、及びグラフィックス・プレーンの列5830を示す模式図である。 レフトビューとライトビューとの間のずれを補償する処理を行う表示装置103の機能ブロック図である。 (a)は、3D映像を撮影する一対のビデオカメラCML、CMRの水平画角HAL、HARを模式的に示す平面図である。(b)、(c)はそれぞれ、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。(d)、(e)はそれぞれ、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。 (a)は、3D映像を撮影する一対のビデオカメラCML、CMRの垂直画角VAL、VARを模式的に示す平面図である。(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。(c)は、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。 (a)は、グラフィックス・プレーンGPLの表すグラフィックス映像の一例を示す模式図である。(b)、(c)はそれぞれ、グラフィックス・プレーンGPLに右向きと左向きとのオフセットを与える処理を示す模式図である。(d)、(e)はそれぞれ、右向きと左向きとのオフセットが与えられたグラフィックス・プレーンGP1、GP2の表すグラフィックス映像を示す模式図である。 BD−ROMディスク上のPGストリーム又はIGストリームから再生されるグラフィックス・プレーン、及び、再生装置によって生成されるグラフィックス・プレーンに対して規定された、グラフィック部品の配置に関する条件を示す模式図である。 (a1)、(a2)は、いずれも同じレターボックス表示の画面を示す模式図である。(b)、(c)はそれぞれ、主映像プレーンに131ピクセルのオフセットを上向きと下向きとに与えたときの各画面を示す模式図である。(d)は、主映像プレーンに51ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。 ビデオ・シフトに必要な再生装置内の構成を示す機能ブロック図である。 (a)は、SPRM(32)とSPRM(33)との各データ構造を示す表である。(b)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルを示す模式図である。 (a)−(c)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードのビデオ・シフト部6501によって処理された主映像プレーンVPA、VPB、VPCを示す模式図である。(d)−(f)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2クロッピング処理部4632によって処理されたPGプレーンPGD、PGE、PGFを示す模式図である。(g)−(i)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2加算部4642によって合成されたプレーン・データPLG、PLH、PLIを示す模式図である。 (a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの別例を示す模式図である。(b)は、(a)に示されているSTNテーブルにおける、ビデオ・シフト・モード6812を含む複数のストリーム属性情報6803の登録順序を示す模式図である。 ビデオ・シフトに必要な再生装置内の構成の別例を示す機能ブロック図である。 (a)は、プレーヤ変数記憶部4236内のSPRM(37)のデータ構造を示す模式図である。(b)は、PGストリームの表す字幕の背景色が無色透明に設定された場合において、画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。(c)は、字幕の背景色が、SPRM(37)に格納された色座標値に設定された場合において、画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。 (a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの更に別の例を示す模式図である。(b)は、ビデオ・シフトに必要な再生装置内の構成の更に別の例を示す機能ブロック図である。 (a)は、キープ・モードに対応する字幕SB1、SB2を示す模式図である。(b)は、ダウン・モードに対応する字幕SBD、SB2を示す模式図である。(c)は、キープ・モードで表示される字幕SB1を示す模式図である。(d)は、ビデオ上移動時字幕7110がSTNテーブルに登録されていない場合において、アップ・モードで表示される字幕SB3を示す模式図である。 (a)、(b)はそれぞれ、BD−ROMディスク上の第1サブTSと第2サブTSとに多重化されたエレメンタリ・ストリームの一覧表である。 本発明の実施形態2によるSTNテーブルSS3130のデータ構造を示す模式図である。 本発明の実施形態2によるシステム・ターゲット・デコーダ7525の機能ブロック図である。 2プレーン・モードのプレーン加算部7526の部分的な機能ブロック図である。 (a)、(b)、(c)は、2D・PGストリームの表すレフトビュー・グラフィックス映像GOB0と、ライトビューPGストリームの表すライトビュー・グラフィックス映像GOB1−3とを示す模式図である。(d)、(e)、(f)はそれぞれ、(a)、(b)、(c)に示されているレフトビュー・グラフィックス映像に対するオフセット制御を示す模式図である。 本発明の実施形態3による記録装置7800の機能ブロック図である。 (a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図である。(c)は、図78に示されているビデオ・エンコーダ7802によってそれらのピクチャから算出された奥行き情報を示す模式図である。 図78に示されている記録装置7800を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。 隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。 (a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。 2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。 2D再生モードの再生装置内の再生処理系統を示すブロック図である。 (a)は、図84に示されている再生処理系統が2D再生モードで動作している間に、リード・バッファ3721に蓄積されるデータ量DAの変化を示すグラフである。(b)は、再生対象のエクステント・ブロック8510と2D再生モードでの再生経路8520との間の対応関係を示す模式図である。 BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。 3D再生モードの再生装置内の再生処理系統を示すブロック図である。 (a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、図87に示されているRB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。(c)は、そのエクステント・ブロック8810と3D再生モードでの再生経路8820との間の対応関係を示す模式図である。 (b)は、(M+1)番目(整数Mは1以上である。)のエクステント・ブロック8901と(M+2)番目のエクステント・ブロック8902、及び、それらのエクステント・ブロック8901、8902と3D再生モードでの再生経路8920との間の対応関係を示す模式図である。(a)は、それらのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化、及びそれらの和DA1+DA2の変化を示すグラフ群である。 (a)、(b)は、図89の(b)に示されている二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。 3D再生モードのシステム・ターゲット・デコーダ4225内に備えられたビデオ・ストリームの処理系統を示すブロック図である。 (a)、(b)はそれぞれ、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とのエクステント単位での合計を制限した場合における各転送速度REXT1、REXT2の時間的な変化を示すグラフである。(c)は、(a)、(b)に示されているベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とを足し合わせた値の時間的な変化を示すグラフである。 システム・ターゲット・デコーダ内でソース・デパケタイザからPIDフィルタへ転送されるTSパケットとATC時間との間の関係を示す模式図である。 (a)は、一つのエクステント・ペアについて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との組み合わせ別に最大エクステント・サイズmaxSEXT1[n]、maxSEXT2[n]を示す表である。(b)は、層境界LBの後に配置されたエクステント・ブロック9402の先頭に位置するエクステント・ペアEXT1[n]、EXT2[n]において、ベースビュー・データ・ブロックB[n]をディペンデントビュー・データ・ブロックD[n]の前に配置した場合を示す模式図である。 (a)、(b)は、図94の(b)に示されている二つのエクステント・ブロック9401、9402から連続して3D映像がシームレスに再生される際に、RB1とRB2とのそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。 (a)は、エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転している配置に対するエクステント起点のデータ構造(Syntax)を示す模式図である。(b)は、ファイル・ベースに属するベースビュー・エクステントEXT1[k](k=0、1、2、…)と、エクステント起点の示すエクステント開始フラグとの間の対応関係を表す模式図である。(c)は、ファイルDEPに属するディペンデントビュー・エクステントEXT2[k]とエクステント開始フラグとの間の対応関係を表す模式図である。(d)は、ファイルSSに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。 (c)は、RB14221に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。(a)、(b)は、(c)に示されているエクステント・ブロック9701、9702から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。(f)は、RB24222に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。(d)、(e)は、(f)に示されているエクステント・ブロック9703、9704から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。 (c)は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9810を示す模式図である。(a)、(b)は、(c)に示されているエクステント・ブロック9801から連続して3D映像がシームレスに再生される際に、RB14221、RB24222の各蓄積データ量DA1、DA2の変化を示すグラフである。 データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9900とAVストリーム・ファイル9910−9920との間の対応関係を示す模式図である。 BD−ROMディスクの層境界LBの前後に記録されたデータ・ブロック群の配置1を示す模式図である。 図100に示されている配置1のデータ・ブロック群に対する2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とを示す模式図である。 BD−ROMディスクの層境界LBの前後に記録されたデータ・ブロック群の配置2を示す模式図である。 図102に示されている配置2のデータ・ブロック群に対する2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とを示す模式図である。 図103に示されている第2エクステント・ブロックA202の後端に位置する3D再生専用ブロックB[3]SSの読み出し時間SEXT1[3]/RUD72と、RB24222の容量の下限との間の関係を示すグラフである。 ファイル・ベースA501とファイルDEPA502との各エクステントEXT1[k]、EXT2[k](整数kは0以上である。)に対して設定されたエントリ・ポイントA510、A520を示す模式図である。 (a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。 (a)は、マルチアングルに対応する多重化ストリーム・データの再生経路を示す模式図である。(b)は、BD−ROMディスク上に記録されたデータ・ブロック群A701と、それらに対するL/Rモードでの再生経路A702とを示す模式図である。(c)は、アングル別のストリーム・データAk、Bk、Ckを構成するエクステント・ブロックを示す模式図である。 マルチアングル期間を構成するデータ・ブロック群A801、及び、それらに対する2D再生モードでの再生経路A810とL/Rモードでの再生経路A820とを示す模式図である。 3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である。 本発明の実施形態4による集積回路3を用いて実現された再生装置の機能ブロック図である。 図110に示されているストリーム処理部5の代表的な構成を示す機能ブロック図である。 図110に示されている切替部53がDMACである場合における切替部53の周辺の機能ブロック図である。 図110に示されているAV出力部8の代表的な構成を示す機能ブロック図である。 画像重畳処理におけるメモリ2の利用方法の一例を示す模式図である。 図114に示されているメモリ2を利用して、レフトビュー・プレーンにグラフィックス・プレーンを重畳する方法を示す模式図である。 図114に示されているメモリ2を利用して、ライトビュー・プレーンにグラフィックス・プレーンを重畳する方法を示す模式図である。 画像重畳処理でのメモリ2の利用方法の別例を示す模式図である。 図113に示されているAV出力部8と再生装置のデータ出力部との詳細な機能ブロック図である。 (a)、(b)は、図110に示されている集積回路3について、その内部に配置された制御バス及びデータバスのトポロジーの例を示す模式図である。 表示装置に実装された実施形態4による集積回路とその周辺部との構成を示す機能ブロック図である。 図120に示されているAV出力部8の詳細な機能ブロック図である。 図110に示されている集積回路3を利用した再生装置による再生処理のフローチャートである。 図122に示されている各ステップS1−6の詳細を示すフローチャートである。
以下、本発明の好適な実施形態に係る記録媒体及び再生装置について、図面を参照しながら説明する。
《実施形態1》
図1は、本発明の実施形態1による記録媒体を使用するホームシアター・システムを示す模式図である。このホームシアター・システムは、視差映像を用いた3D映像(立体視映像)の再生方式を採用し、特に表示方式として継時分離方式を採用している(詳細は《補足》参照)。図1を参照するに、このホームシアター・システムは記録媒体101を再生対象とし、再生装置102、表示装置103、シャッター眼鏡104、及びリモコン105を含む。再生装置102と表示装置103とは、図1に示されているように互いに独立な装置である。その他に、再生装置102と表示装置103とが一体化されていてもよい。
記録媒体101は読み出し専用ブルーレイ・ディスク(登録商標)(BD:Blu−ray Disc)、すなわちBD−ROMディスクである。記録媒体101はその他の可搬性記録媒体、例えば、DVD等の他方式による光ディスク、リムーバブル・ハードディスクドライブ(HDD)、又はSDメモリカード等の半導体メモリ装置であってもよい。その記録媒体、すなわちBD−ROMディスク101は3D映像による映画コンテンツを格納している。このコンテンツは、その3D映像のレフトビューとライトビューとのそれぞれを表すビデオ・ストリームを含む。そのコンテンツは更に、その3D映像のデプスマップを表すビデオ・ストリームを含んでいてもよい。それらのビデオ・ストリームは、後述のようにデータ・ブロック単位でBD−ROMディスク101上に配置され、後述のファイル構造を利用してアクセスされる。レフトビュー又はライトビューを表すビデオ・ストリームは、2D再生装置と3D再生装置とのそれぞれにより、そのコンテンツを2D映像として再生するのに利用される。一方、レフトビューとライトビューとのそれぞれを表すビデオ・ストリームの対、又は、レフトビュー若しくはライトビューのいずれかとデプスマップとのそれぞれを表すビデオ・ストリームの対は、3D再生装置により、そのコンテンツを3D映像として再生するのに利用される。
再生装置102はBD−ROMドライブ121を搭載している。BD−ROMドライブ121はBD−ROM方式に準拠の光ディスクドライブである。再生装置102はBD−ROMドライブ121を利用して、BD−ROMディスク101からコンテンツを読み込む。再生装置102は更にそのコンテンツを映像データ/音声データに復号する。ここで、再生装置102は3D再生装置であり、そのコンテンツを2D映像と3D映像とのいずれとしても再生可能である。以下、2D映像と3D映像とのそれぞれを再生するときの再生装置102の動作モードを「2D再生モード」、「3D再生モード」という。2D再生モードでは、映像データはレフトビュー又はライトビューのいずれか一方の映像フレームを含む。3D再生モードでは、映像データはレフトビューとライトビューとの両方の映像フレームを含む。
3D再生モードは更に、レフト/ライト(L/R)モードとデプス・モードとに分けられる。「L/Rモード」では、レフトビューとライトビューとのそれぞれを表すビデオ・ストリームの組み合わせから、レフトビューとライトビューとの映像フレームの対が再生される。「デプス・モード」では、レフトビュー又はライトビューのいずれかとデプスマップとのそれぞれを表すビデオ・ストリームの組み合わせから、レフトビューとライトビューとの映像フレームの対が再生される。再生装置102はL/Rモードを備える。再生装置102は更に、デプス・モードを備えていてもよい。
再生装置102はHDMI(High−Definition Multimedia Interface)ケーブル122で表示装置103に接続されている。再生装置102は映像データ/音声データをHDMI方式の映像信号/音声信号に変換し、HDMIケーブル122を通して表示装置103に伝送する。2D再生モードでは、映像信号にはレフトビュー又はライトビューのいずれか一方の映像フレームが多重化されている。3D再生モードでは、映像信号にはレフトビューとライトビューとの両方の映像フレームが時分割で多重化されている。再生装置102は更に、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。それにより、再生装置102は、3D映像の再生に対応可能か否かを表示装置103に問い合わせることができる。
表示装置103は液晶ディスプレイである。表示装置103はその他に、プラズマ・ディスプレイ及び有機ELディスプレイ等、他方式のフラットパネル・ディスプレイ又はプロジェクタであってもよい。表示装置103は、映像信号に従って画面131上に映像を表示し、音声信号に従って内蔵のスピーカから音声を発生させる。表示装置103は3D映像の再生に対応可能である。2D映像の再生時、画面131上にはレフトビュー又はライトビューのいずれか一方が表示される。3D映像の再生時、画面131上にはレフトビューとライトビューとが交互に表示される。
表示装置103は左右信号送信部132を含む。左右信号送信部132は左右信号LRを赤外線又は無線でシャッター眼鏡104へ送出する。左右信号LRは、現時点で画面131に表示される映像がレフトビューとライトビューとのいずれであるのかを示す。3D映像の再生時、表示装置103は、映像信号に付随する制御信号からレフトビュー・フレームとライトビュー・フレームとを識別することによってフレームの切り換えを検知する。表示装置103は更に左右信号送信部132に、検知されたフレームの切り換えに同期して左右信号LRを変化させる。
シャッター眼鏡104は二枚の液晶表示パネル141L、141Rと左右信号受信部142とを含む。各液晶表示パネル141L、141Rは左右の各レンズ部分を構成している。左右信号受信部142は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル141L、141Rに信号を送る。各液晶表示パネル141L、141Rはその信号に応じて、光をその全体で一様に透過させ、又は遮断する。特に左右信号LRがレフトビューの表示を示すとき、左目側の液晶表示パネル141Lは光を透過させ、右目側の液晶表示パネル141Rは光を遮断する。左右信号LRがライトビューの表示を示すときはその逆である。このように、二枚の液晶表示パネル141L、141Rはフレームの切り換えと同期して交互に光を透過させる。その結果、視聴者がシャッター眼鏡104をかけて画面131を見たとき、レフトビューはその視聴者の左目だけに映り、ライトビューはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体に対する両眼視差として知覚されるので、その映像が立体的に見える。
リモコン105は操作部と送信部とを含む。操作部は複数のボタンを含む。各ボタンは、電源のオンオフ、又は、BD−ROMディスク101の再生開始若しくは停止等、再生装置102又は表示装置103の各機能に対応付けられている。操作部はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を信号で送信部に伝える。送信部はその信号を赤外線又は無線による信号IRに変換して再生装置102又は表示装置103へ送出する。一方、再生装置102と表示装置103とはそれぞれ、その信号IRを受信し、その信号IRの示すボタンを特定し、そのボタンに対応付けられた機能を実行する。こうして、ユーザは再生装置102又は表示装置103を遠隔操作できる。
<BD−ROMディスク上のデータ構造>
図2は、BD−ROMディスク101上のデータ構造を示す模式図である。図2を参照するに、BD−ROMディスク101上のデータ記録領域の最内周部にはBCA(Burst Cutting Area)201が設けられている。BCAに対してはBD−ROMドライブ121によるアクセスのみが許可され、アプリケーション・プログラムによるアクセスは禁止される。それにより、BCA201は著作権保護技術に利用される。BCA201よりも外側のデータ記録領域では内周から外周へ向けてトラックが螺旋状に延びている。図2にはトラック202が模式的に横方向に引き伸ばされて描かれている。その左側はディスク101の内周部を表し、右側は外周部を表す。図2に示されているように、トラック202は内周から順に、リードイン領域202A、ボリューム領域202B、及びリードアウト領域202Cを含む。リードイン領域202AはBCA201のすぐ外周側に設けられている。リードイン領域202Aは、ボリューム領域202Bに記録されたデータのサイズ及び物理アドレス等、BD−ROMドライブ121によるボリューム領域202Bへのアクセスに必要な情報を含む。リードアウト領域202Cはデータ記録領域の最外周部に設けられ、ボリューム領域202Bの終端を示す。ボリューム領域202Bは、映像及び音声等のアプリケーション・データを含む。
ボリューム領域202Bは「セクタ」と呼ばれる小領域202Dに分割されている。セクタのサイズは共通であり、例えば2048バイトである。各セクタ202Dにはボリューム領域202Bの先端から順に通し番号が振られている。この通し番号は論理ブロック番号(LBN)と呼ばれ、BD−ROMディスク101上の論理アドレスに利用される。BD−ROMディスク101からのデータの読み出しでは、宛先のセクタのLBNが指定されることによって読み出し対象のデータが特定される。こうして、ボリューム領域202Bはセクタ単位でアクセス可能である。更に、BD−ROMディスク101上では論理アドレスが物理アドレスと実質的に等しい。特に、LBNが連続している領域では物理アドレスも実質的に連続している。従って、BD−ROMドライブ121は、LBNが連続しているセクタからデータを、その光ピックアップにシークを行わせることなく連続して読み出すことができる。
ボリューム領域202Bに記録されたデータは所定のファイルシステムで管理される。そのファイルシステムとしてはUDF(Universal Disc Format)が採用されている。そのファイルシステムはその他にISO9660であってもよい。そのファイルシステムに従い、ボリューム領域202Bに記録されたデータはディレクトリ/ファイル形式で表現される(詳細は《補足》参照)。すなわち、それらのデータはディレクトリ単位又はファイル単位でアクセス可能である。
≪BD−ROMディスク上のディレクトリ/ファイル構造≫
図2は更に、BD−ROMディスク101のボリューム領域202Bに格納されたデータのディレクトリ/ファイル構造を示す。図2を参照するに、このディレクトリ/ファイル構造では、ルート(ROOT)ディレクトリ203の直下にBDムービー(BDMV:BD Movie)ディレクトリ210が置かれている。BDMVディレクトリ210の直下には、インデックス・ファイル(index.bdmv)211とムービーオブジェクト・ファイル(MovieObject.bdmv)212とが置かれている。
インデックス・ファイル211は、BD−ROMディスク101に記録されたコンテンツの全体を管理するための情報である。その情報は特に、そのコンテンツを再生装置102に認識させるための情報、及びインデックス・テーブルを含む。インデックス・テーブルは、そのコンテンツを構成するタイトルと、再生装置102の動作を制御するためのプログラムとの間の対応表である。そのプログラムを「オブジェクト」という。オブジェクトの種類にはムービーオブジェクトとBD−J(BD Java (登録商標))オブジェクトとがある。
ムービーオブジェクト・ファイル212は一般に複数のムービーオブジェクトを含む。各ムービーオブジェクトはナビゲーション・コマンドの列を含む。ナビゲーション・コマンドは、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置102に実行させるための制御指令である。ナビゲーション・コマンドの種類には、例えば、タイトルに対応するプレイリスト・ファイルの読み出し命令、プレイリスト・ファイルの示すAVストリーム・ファイルの再生命令、及び別のタイトルへの遷移命令がある。ナビゲーション・コマンドはインタプリタ型言語で記述され、再生装置102に組み込まれたインタプリタ、すなわちジョブ制御プログラムによって解読され、その制御部に所望のジョブを実行させる。ナビゲーション・コマンドはオペコードとオペランドとから成る。オペコードは、タイトルの分岐と再生及び演算等、再生装置102に実行させるべき操作の種類を示す。オペランドは、タイトル番号等、その操作の対象の識別情報を示す。再生装置102の制御部は、例えばユーザの操作に応じて各ムービーオブジェクトを呼び出し、そのムービーオブジェクトに含まれるナビゲーション・コマンドを列の順に実行する。それにより、再生装置102は一般的なDVDプレーヤと同様に、まず表示装置103にメニューを表示してユーザにコマンドを選択させる。再生装置102は次に、選択されたコマンドに応じて、タイトルの再生開始/停止、及び別のタイトルへの切り換え等、再生される映像の進行を動的に変化させる。
図2を更に参照するに、BDMVディレクトリ210の直下には、プレイリスト(PLAYLIST)ディレクトリ220、クリップ情報(CLIPINF)ディレクトリ230、ストリーム(STREAM)ディレクトリ240、BD−Jオブジェクト(BDJO:BD Java Object)ディレクトリ250、及びJavaアーカイブ(JAR:Java Archive)ディレクトリ260が置かれている。
STREAMディレクトリ240の直下には、三種類のAVストリーム・ファイル(01000.m2ts)241、(02000.m2ts)242、(03000.m2ts)243、及び立体視インターリーブ・ファイル(SSIF:Stereoscopic Interleaved File)ディレクトリ244が置かれている。SSIFディレクトリ244の直下には、二種類のAVストリーム・ファイル(01000.ssif)244A、(02000.ssif)244Bが置かれている。
「AVストリーム・ファイル」は、BD−ROMディスク101上に記録された映像コンテンツの本体のうち、ファイルシステムの定めるファイル形式に整えられたものをいう。ここで、映像コンテンツの本体とは一般に、映像・音声・字幕等を表す各種のストリーム・データ、すなわちエレメンタリ・ストリームが多重化されたストリーム・データを意味する。多重化ストリーム・データはメイン・トランスポート・ストリーム(TS)とサブTSとに大別される。「メインTS」は、プライマリ・ビデオ・ストリームとしてベースビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ベースビュー・ビデオ・ストリーム」は、単独で再生可能であって、2D映像を表すビデオ・ストリームをいう。この2D映像を「ベースビュー」又は「メインビュー」という。「サブTS」は、プライマリ・ビデオ・ストリームとしてディペンデントビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ディペンデントビュー・ビデオ・ストリーム」は、その再生にベースビュー・ビデオ・ストリームを必要とし、そのベースビュー・ビデオ・ストリームとの組み合わせで3D映像を表すビデオ・ストリームをいう。ディペンデントビュー・ビデオ・ストリームの種類には、ライトビュー・ビデオ・ストリーム、レフトビュー・ビデオ・ストリーム、及びデプスマップ・ストリームがある。「ライトビュー・ビデオ・ストリーム」は、ベースビューが3D映像のレフトビューであるときに、その3D映像のライトビューを表すビデオ・ストリームである。「レフトビュー・ビデオ・ストリーム」はその逆である。「デプスマップ・ストリーム」は、ベースビューが仮想的な2D画面への3D映像の射影であるときに、その3D映像のデプスマップを表すストリーム・データである。ディペンデントビュー・ビデオ・ストリームの表す2D映像又はデプスマップを「ディペンデントビュー」又は「サブビュー」という。
AVストリーム・ファイルは、内蔵の多重化ストリーム・データの種類に依って、ファイル2D、ファイル・ディペンデント(以下、ファイルDEPと略す。)、及びインターリーブ・ファイル(以下、ファイルSSと略す。)に分けられる。「ファイル2D」は、2D再生モードでの2D映像の再生に利用されるAVストリーム・ファイルであって、メインTSを含むものをいう。「ファイルDEP」は、サブTSを含むAVストリーム・ファイルをいう。「ファイルSS」は、同じ3D映像を表すメインTSとサブTSとの対を含むAVストリーム・ファイルをいう。ファイルSSは特に、メインTSをいずれかのファイル2Dと共有し、サブTSをいずれかのファイルDEPと共有する。すなわち、BD−ROMディスク101のファイルシステムでは、メインTSはファイルSSとファイル2Dとのいずれとしてもアクセス可能であり、サブTSはファイルSSとファイルDEPとのいずれとしてもアクセス可能である。このように、BD−ROMディスク101上に記録された一連のデータを異なるファイルに共有させ、いずれのファイルとしてもアクセス可能にする仕組みを「ファイルのクロスリンク」という。
図2に示されている例では、第1AVストリーム・ファイル(01000.m2ts)241はファイル2Dであり、第2AVストリーム・ファイル(02000.m2ts)242と第3AVストリーム・ファイル(03000.m2ts)243とはいずれもファイルDEPである。このように、ファイル2DとファイルDEPとはSTREAMディレクトリ240の直下に置かれる。第1AVストリーム・ファイルすなわちファイル2D241の含むベースビュー・ビデオ・ストリームは3D映像のレフトビューを表す。第2AVストリーム・ファイルすなわち第1ファイルDEP242の含むディペンデントビュー・ビデオ・ストリームはライトビュー・ビデオ・ストリームを含む。第3AVストリーム・ファイルすなわち第2ファイルDEP243の含むディペンデントビュー・ビデオ・ストリームはデプスマップ・ストリームを含む。
図2に示されている例では更に、第4AVストリーム・ファイル(01000.ssif)244Aと第5AVストリーム・ファイル(02000.ssif)244BとはいずれもファイルSSである。このように、ファイルSSはSSIFディレクトリ244の直下に置かれる。第4AVストリーム・ファイル、すなわち第1ファイルSS244Aは、ファイル2D241とメインTS、特にベースビュー・ビデオ・ストリームを共有し、第1ファイルDEP242とサブTS、特にライトビュー・ビデオ・ストリームを共有する。第5AVストリーム・ファイル、すなわち第2ファイルSS244Bは、第1ファイル2D241とメインTS、特にベースビュー・ビデオ・ストリームを共有し、第3ファイルDEP243とサブTS、特にデプスマップ・ストリームを共有する。
CLIPINFディレクトリ230には、三種類のクリップ情報ファイル(01000.clpi)231、(02000.clpi)232、(03000.clpi)233が置かれている。「クリップ情報ファイル」は、ファイル2DとファイルDEPとに一対一に対応付けられたファイルであって、特に各ファイルのエントリ・マップを含むものをいう。「エントリ・マップ」は、各ファイルの表すシーンの表示時間と、そのシーンが記録された各ファイル内のアドレスとの間の対応表である。クリップ情報ファイルのうち、ファイル2Dに対応付けられているものを「2Dクリップ情報ファイル」といい、ファイルDEPに対応付けられているものを「ディペンデントビュー・クリップ情報ファイル」という。図2に示されている例では、第1クリップ情報ファイル(01000.clpi)231は2Dクリップ情報ファイルであり、ファイル2D241に対応付けられている。第2クリップ情報ファイル(02000.clpi)232と第3クリップ情報ファイル(03000.clpi)233とはいずれもディペンデントビュー・クリップ情報ファイルであり、それぞれ、第1ファイルDEP242と第2ファイルDEP243とに対応付けられている。
PLAYLISTディレクトリ220には三種類のプレイリスト・ファイル(00001.mpls)221、(00002.mpls)222、(00003.mpls)223が置かれている。「プレイリスト・ファイル」は、AVストリーム・ファイルの再生経路、すなわちAVストリーム・ファイルの再生対象の部分とその再生順序とを規定するファイルをいう。プレイリスト・ファイルの種類には2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとがある。「2Dプレイリスト・ファイル」はファイル2Dの再生経路を規定する。「3Dプレイリスト・ファイル」は、2D再生モードの再生装置に対してはファイル2Dの再生経路を規定し、3D再生モードの再生装置に対してはファイルSSの再生経路を規定する。図2に示されている例では、第1プレイリスト・ファイル(00001.mpls)221は2Dプレイリスト・ファイルであり、ファイル2D241の再生経路を規定する。第2プレイリスト・ファイル(00002.mpls)222は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D241の再生経路を規定し、L/Rモードの3D再生装置に対しては第1ファイルSS244Aの再生経路を規定する。第3プレイリスト・ファイル(00003.mpls)223は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D241の再生経路を規定し、デプス・モードの3D再生装置に対しては第2ファイルSS244Bの再生経路を規定する。
BDJOディレクトリ250にはBD−Jオブジェクト・ファイル(XXXXX.bdjo)251が置かれている。BD−Jオブジェクト・ファイル251はBD−Jオブジェクトを一つ含む。BD−Jオブジェクトはバイトコード・プログラムであり、再生装置102に実装されたJava仮想マシンにタイトルの再生処理及びグラフィックス映像の描画処理を実行させる。BD−Jオブジェクトは、Java言語等のコンパイラ型言語で記述されている。BD−Jオブジェクトはアプリケーション管理テーブルと参照対象のプレイリスト・ファイルの識別情報とを含む。「アプリケーション管理テーブル」は、Java仮想マシンに実行させるべきJavaアプリケーション・プログラムとその実行時期、すなわちライフサイクルとの対応表である。「参照対象のプレイリスト・ファイルの識別情報」は、再生対象のタイトルに対応するプレイリスト・ファイルを識別するための情報である。Java仮想マシンはユーザの操作又はアプリケーション・プログラムに従って各BD−Jオブジェクトを呼び出し、そのBD−Jオブジェクトに含まれるアプリケーション管理テーブルに従ってJavaアプリケーション・プログラムを実行する。それにより、再生装置102は、再生される各タイトルの映像の進行を動的に変化させ、又は、表示装置103にグラフィックス映像をタイトルの映像とは独立に表示させる。
JARディレクトリ260にはJARファイル(YYYYY.jar)261が置かれている。JARファイル261は、BD−Jオブジェクトの示すアプリケーション管理テーブルに従って実行されるべきJavaアプリケーション・プログラムの本体を一般に複数含む。「Javaアプリケーション・プログラム」は、BD−Jオブジェクトと同様、Java言語等のコンパイラ型言語で記述されたバイトコード・プログラムである。Javaアプリケーション・プログラムの種類には、Java仮想マシンにタイトルの再生処理を実行させるもの、及びJava仮想マシンにグラフィックス映像の描画処理を実行させるものが含まれる。JARファイル261はJavaアーカイブ・ファイルであり、再生装置102に読み込まれたときにその内部のメモリで展開される。それにより、そのメモリの中にJavaアプリケーション・プログラムが格納される。
≪多重化ストリーム・データの構造≫
図3の(a)は、BD−ROMディスク101上のメインTSに多重化されたエレメンタリ・ストリームの一覧表である。メインTSはMPEG−2トランスポート・ストリーム(TS)形式のデジタル・ストリームであり、図2に示されているファイル2D241に含まれる。図3の(a)を参照するに、メインTSは、プライマリ・ビデオ・ストリーム301、プライマリ・オーディオ・ストリーム302A、302B、及びプレゼンテーション・グラフィックス(PG)ストリーム303A、303Bを含む。メインTSはその他に、インタラクティブ・グラフィックス(IG)ストリーム304、セカンダリ・オーディオ・ストリーム305、及びセカンダリ・ビデオ・ストリーム306を含んでもよい。
プライマリ・ビデオ・ストリーム301は映画の主映像を表し、セカンダリ・ビデオ・ストリーム306は副映像を表す。ここで、主映像とは、映画の本編の映像等、コンテンツの主要な映像を意味し、例えば画面全体に表示されるものを指す。一方、副映像とは、例えば主映像の中に小さな画面で表示される映像のように、ピクチャ・イン・ピクチャ方式を利用して主映像と同時に画面に表示される映像を意味する。プライマリ・ビデオ・ストリーム301とセカンダリ・ビデオ・ストリーム306とはいずれもベースビュー・ビデオ・ストリームである。各ビデオ・ストリーム301、306は、MPEG−2、MPEG−4 AVC、又はSMPTE VC−1等の動画圧縮符号化方式で符号化されている。
プライマリ・オーディオ・ストリーム302A、302Bは映画の主音声を表す。ここで、二つのプライマリ・オーディオ・ストリーム302A、302Bの間では言語が異なる。セカンダリ・オーディオ・ストリーム305は、対話画面の操作に伴う効果音等、主音声と重ね合わされるべき(ミキシングされるべき)副音声を表す。各オーディオ・ストリーム302A、302B、305は、AC−3、ドルビー・デジタル・プラス(Dolby Digital Plus:「ドルビー・デジタル」は登録商標)、MLP(Meridian Lossless Packing:登録商標)、DTS(Digital Theater System:登録商標)、DTS−HD、又はリニアPCM(Pulse Code Modulation)等の方式で符号化されている。
各PGストリーム303A、303Bは、グラフィックスによる字幕等、プライマリ・ビデオ・ストリーム301の表す映像に重ねて表示されるべきグラフィックス映像を表す。二つのPGストリーム303A、303Bの間では、例えば字幕の言語が異なる。IGストリーム304は、表示装置103の画面131上に対話画面を構成するためのグラフィックス・ユーザインタフェース(GUI)用のグラフィック部品及びその配置を表す。
エレメンタリ・ストリーム301−306はパケット識別子(PID)によって識別される。PIDの割り当ては例えば次のとおりである。一つのメインTSはプライマリ・ビデオ・ストリームを一本のみ含むので、プライマリ・ビデオ・ストリーム301には16進数値0x1011が割り当てられる。一つのメインTSに他のエレメンタリ・ストリームが種類ごとに最大32本まで多重化可能であるとき、プライマリ・オーディオ・ストリーム302A、302Bには0x1100から0x111Fまでのいずれかが割り当てられる。PGストリーム303A、303Bには0x1200から0x121Fまでのいずれかが割り当てられる。IGストリーム304には0x1400から0x141Fまでのいずれかが割り当てられる。セカンダリ・オーディオ・ストリーム305には0x1A00から0x1A1Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム306には0x1B00から0x1B1Fまでのいずれかが割り当てられる。
図3の(b)は、BD−ROMディスク101上のサブTSに多重化されたエレメンタリ・ストリームの一覧表である。サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図2に示されている各ファイルDEP242、243に含まれる。図3の(b)を参照するに、サブTSは二本のプライマリ・ビデオ・ストリーム311R、311Dを含む。その一方311Rはライトビュー・ビデオ・ストリームであり、他方311Dはデプスマップ・ストリームである。尚、それらのプライマリ・ビデオ・ストリーム311R、311Dは、異なるファイルDEP242、243に別々に多重化されてもよい。ライトビュー・ビデオ・ストリーム311Rは、メインTS内のプライマリ・ビデオ・ストリーム301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。デプスマップ・ストリーム311Dは、メインTS内のプライマリ・ビデオ・ストリーム301との組み合わせで3D映像を表す。サブTSはその他にセカンダリ・ビデオ・ストリーム312R、312Dを含んでもよい。その一方312Rはライトビュー・ビデオ・ストリームであり、他方312Dはデプスマップ・ストリームである。そのライトビュー・ビデオ・ストリーム312Rは、メインTS内のセカンダリ・ビデオ・ストリーム306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。そのデプスマップ・ストリーム312Dは、メインTS内のセカンダリ・ビデオ・ストリーム306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム311R、…、312Dに対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム311R、311Dにはそれぞれ、0x1012、0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、セカンダリ・ビデオ・ストリーム312R、312Dには0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図4は、多重化ストリーム・データ400内でのTSパケットの配置を示す模式図である。このパケット構造はメインTSとサブTSとで共通である。多重化ストリーム・データ400内では各エレメンタリ・ストリーム401、402、403、404はTSパケット421、422、423、424の列に変換されている。例えばビデオ・ストリーム401では、まず、各フレーム401A又は各フィールドが一つのPES(Packetized Elementary Stream)パケット411に変換される。次に、各PESパケット411が一般に複数のTSパケット421に変換される。同様に、オーディオ・ストリーム402、PGストリーム403、及びIGストリーム404はそれぞれ、一旦PESパケット412、413、414の列に変換された後、TSパケット422、423、424の列に変換される。最後に、各エレメンタリ・ストリーム401、402、403、404から得られたTSパケット421、422、423、424が一本のストリーム・データ400に時分割で多重化される。
図5の(b)は、多重化ストリーム・データを構成するTSパケット列の形式を示す模式図である。各TSパケット501は188バイト長のパケットである。図5の(b)を参照するに、各TSパケット501は、TSペイロード501Pとアダプテーション(adaptation)フィールド(以下、ADフィールドと略す。)501Aとの少なくともいずれか、及びTSヘッダ501Hを含む。TSペイロード501PとADフィールド501Aとは、両方を合わせて184バイト長のデータ領域である。TSペイロード501PはPESパケットの格納領域として利用される。図4に示されているPESパケット411−414はそれぞれ、一般に複数の部分に分割され、各部分が異なるTSペイロード501Pに格納される。ADフィールド501Aは、TSペイロード501Pのデータ量が184バイトに満たないときにスタッフィング・バイト(すなわちダミー・データ)を格納するための領域である。ADフィールド501Aはその他に、TSパケット501が例えば後述のPCRであるときに、その情報の格納領域として利用される。TSヘッダ501Hは4バイト長のデータ領域である。
図5の(a)は、TSヘッダ501Hのデータ構造を示す模式図である。図5の(a)を参照するに、TSヘッダ501Hは、TS優先度(transport_priority)511、PID512、及びADフィールド制御(adaptation_field_control)513を含む。PID512は、同じTSパケット501内のTSペイロード501Pに格納されたデータの属するエレメンタリ・ストリームのPIDを示す。TS優先度511は、PID512の示す値が共通するTSパケット群の中でのTSパケット501の優先度を示す。ADフィールド制御513は、TSパケット501内でのADフィールド501AとTSペイロード501Pとのそれぞれの有無を示す。例えばADフィールド制御513が“1”を示すとき、TSパケット501はADフィールド501Aを含まず、TSペイロード501Pを含む。ADフィールド制御513が“2”を示すときはその逆である。ADフィールド制御513が“3”を示すとき、TSパケット501はADフィールド501AとTSペイロード501Pとの両方を含む。
図5の(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット列の形式を示す模式図である。図5の(c)を参照するに、各ソースパケット502は192バイト長のパケットであり、図5の(b)に示されているTSパケット501の一つと4バイト長のヘッダ(TP_Extra_Header)502Hとを含む。TSパケット501がBD−ROMディスク101に記録されるとき、そのTSパケット501にヘッダ502Hが付与されることによってソースパケット502は構成される。ヘッダ502HはATS(Arrival_Time_Stamp)を含む。「ATS」は時刻情報であり、再生装置102によって次のように利用される:ソースパケット502がBD−ROMディスク101から再生装置102内のシステム・ターゲット・デコーダへ送られたときに、そのソースパケット502からTSパケット502Pが抽出されてシステム・ターゲット・デコーダ内のPIDフィルタへ転送される。そのヘッダ502H内のATSは、その転送が開始されるべき時刻を示す。ここで、「システム・ターゲット・デコーダ」は、多重化ストリーム・データからエレメンタリ・ストリームを分離して個別に復号する装置をいう。システム・ターゲット・デコーダと、それによるATSの利用との詳細については後述する。
図5の(d)は、一連のソースパケット502が連続的に記録されたBD−ROMディスク101のボリューム領域202B上のセクタ群の模式図である。図5の(d)を参照するに、一連のソースパケット502は32個ずつ、三つの連続するセクタ521、522、523に記録されている。これは、32個のソースパケットのデータ量192バイト×32=6144バイトが三つのセクタの合計サイズ2048バイト×3=6144バイトに等しいことに因る。このように、三つの連続するセクタ521、522、523に記録された32個のソースパケット502を「アラインド・ユニット(Aligned Unit)」520という。再生装置102はBD−ROMディスク101からソースパケット502をアラインド・ユニット520ごとに、すなわち32個ずつ読み出す。セクタ群521、522、523、…は先頭から順に32個ずつに分割され、それぞれが一つの誤り訂正符号(ECC)ブロック530を構成している。BD−ROMドライブ121はECCブロック530ごとに誤り訂正処理を行う。
≪PGストリームのデータ構造≫
図6は、PGストリーム600のデータ構造を示す模式図である。図6を参照するに、PGストリーム600は複数のデータ・エントリ#1、#2、…を含む。各データ・エントリはPGストリーム600の表示単位(ディスプレイ・セット)を表し、再生装置102に一枚のグラフィックス・プレーンを構成させるのに必要なデータから成る。ここで、「グラフィックス・プレーン」とは、2Dグラフィックス映像を表すグラフィックス・データから生成されるプレーン・データをいう。「プレーン・データ」とは、画素データの二次元配列であり、その配列のサイズは映像フレームの解像度に等しい。一組の画素データは色座標値とα値(不透明度)との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。グラフィックス・プレーンの種類には、PGプレーン、IGプレーン、イメージ・プレーン、及びオン・スクリーン・ディスプレイ(OSD)プレーンが含まれる。PGプレーンは、メインTS内のPGストリームから生成される。IGプレーンは、メインTS内のIGストリームから生成される。イメージ・プレーンは、BD−Jオブジェクトに従って生成される。OSDプレーンは、再生装置102のファームウェアに従って生成される。
図6を更に参照するに、各データ・エントリは複数の機能セグメントを含む。それらの機能セグメントは、先頭から順に、表示制御セグメント(Presentation Control Segment:PCS)、ウィンドウ定義セグメント(Window Define Segment:WDS)、パレット定義セグメント(Pallet Define Segment:PDS)、及びオブジェクト定義セグメント(Object Define Segment:ODS)を含む。
WDSは、グラフィックス・プレーン内の矩形領域、すなわちウィンドウを規定する。具体的には、WDSは、ウィンドウID611、ウィンドウ位置612、及びウィンドウ・サイズ613を含む。ウィンドウID611はWDSの識別情報(ID)である。ウィンドウ位置612はグラフィックス・プレーン内でのウィンドウの位置、例えばウィンドウの左上角の座標を示す。ウィンドウ・サイズ613はウィンドウの高さと幅とを示す。
PDSは、所定種類のカラーIDと色座標値(例えば、輝度Y、赤色差Cr、青色差Cb、不透明度α)との間の対応関係を規定する。具体的には、PDSはパレットID621とカラー・ルックアップ・テーブル(CLUT)622とを含む。パレットID621はPDSのIDである。CLUT622は、グラフィックス・オブジェクトの描画に利用される色の一覧表である。CLUT622には256色が登録可能であり、0から255までのカラーIDが一つずつ、各色に割り当てられている。尚、カラーID=255は「無色透明」に一定に割り当てられている。
ODSは一般に複数で一つのグラフィックス・オブジェクトを表す。「グラフィックス・オブジェクト」とは、グラフィックス画像を画素コードとカラーIDとの間の対応関係で表現するデータである。グラフィックス・オブジェクトは、ランレングス符号化方式を用いて圧縮された後に分割され、各ODSに分配されている。各ODSは更にオブジェクトID、すなわちグラフィックス・オブジェクトのIDを含む。
PCSは、同じデータ・エントリに属するディスプレイ・セットの詳細を示し、特に、グラフィックス・オブジェクトを用いた画面構成を規定する。その画面構成の種類は、カット・イン/アウト(Cut−In/Out)、フェード・イン/アウト(Fade−In/Out)、色変化(Color Change)、スクロール(Scroll)、及びワイプ・イン/アウト(Wipe−In/Out)を含む。具体的には、PCSは、オブジェクト表示位置601、クロッピング情報602、参照ウィンドウID603、参照パレットID604、及び参照オブジェクトID605を含む。オブジェクト表示位置601は、グラフィックス・オブジェクトが表示されるべきグラフィックス・プレーン内の位置、例えばグラフィックス・オブジェクトが表示されるべき領域の左上角の座標を、WDSの規定するウィンドウ内の座標で表す。クロッピング情報602は、クロッピング処理によってグラフィックス・オブジェクトの中から切り出されるべき矩形状の部分の範囲を示す。その範囲は例えば、左上角の座標、高さ、及び幅で規定される。実際にはその部分を、オブジェクト表示位置601の示す位置に描画することができる。参照ウィンドウID603、参照パレットID604、及び参照オブジェクトID605はそれぞれ、グラフィックス・オブジェクトの描画処理において参照されるべきWDS、PDS、及びグラフィックス・オブジェクトのIDを示す。コンテンツ・プロバイダは、PCS内のそれらのパラメータを利用して、再生装置102に画面構成を指示する。それにより、例えば「ある字幕を徐々に消去しつつ、次の字幕を表示させる」という視覚効果を再生装置102に実現させることができる。
≪IGストリームのデータ構造≫
図4を更に参照するに、IGストリーム404は、対話構成セグメント(Interactive Composition Segment:ICS)、PDS、及びODSを含む。PDSとODSとは、PGストリーム403に含まれるものと同様な機能セグメントである。特に、ODSの含むグラフィックス・オブジェクトは、ボタン及びポップアップ・メニュー等、対話画面を構成するGUI用グラフィック部品を表す。ICSは、それらのグラフィックス・オブジェクトを用いた対話操作を規定する。具体的には、ICSは、ボタン及びポップアップ・メニュー等、ユーザ操作に応じて状態が変化するグラフィックス・オブジェクトのそれぞれについて取り得る状態、すなわち、ノーマル、セレクテッド、及びアクティブの各状態を規定する。ICSは更にボタン情報を含む。ボタン情報は、ユーザがボタン等に対して確定操作を行った際に再生装置の実行すべきコマンドを含む。
≪ビデオ・ストリームのデータ構造≫
ビデオ・ストリームに含まれる各ピクチャは1フレーム又は1フィールドを表し、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。その圧縮には、ピクチャの空間方向及び時間方向での冗長性が利用される。ここで、空間方向での冗長性のみを利用するピクチャの符号化を「ピクチャ内符号化」という。一方、時間方向での冗長性、すなわち、表示順序の連続する複数のピクチャ間でのデータの近似性を利用するピクチャの符号化を「ピクチャ間予測符号化」という。ピクチャ間予測符号化では、まず符号化対象のピクチャに対して、表示時間が前又は後である別のピクチャが参照ピクチャとして設定される。次に、符号化対象のピクチャとその参照ピクチャとの間で動きベクトルが検出され、それを利用して参照ピクチャに対する動き補償が行われる。更に、動き補償によって得られたピクチャと符号化対象のピクチャとの間の差分値が求められ、その差分値から空間方向での冗長性が除去される。こうして、各ピクチャのデータ量が圧縮される。
図7は、ベースビュー・ビデオ・ストリーム701とライトビュー・ビデオ・ストリーム702とのピクチャを表示時間順に示す模式図である。図7を参照するに、ベースビュー・ビデオ・ストリーム701はピクチャ710、711、712、…、719(以下、ベースビュー・ピクチャという。)を含み、ライトビュー・ビデオ・ストリーム702はピクチャ720、721、722、…、729(以下、ライトビュー・ピクチャという。)を含む。ベースビュー・ピクチャ710−719は一般に複数のGOP731、732に分割されている。「GOP」は、Iピクチャを先頭とする複数枚の連続するピクチャの列をいう。GOPは一般に、Iピクチャの他にPピクチャとBピクチャとを含む。ここで、「I(Intra)ピクチャ」は、ピクチャ内符号化によって圧縮されたピクチャをいう。「P(Predictive)ピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前である一枚のピクチャが参照ピクチャとして利用されたものをいう。「B(Bidirectionally Predivtive)ピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前又は後である二枚のピクチャが参照ピクチャとして利用されたものをいう。Bピクチャのうち、他のピクチャに対するピクチャ間予測符号化で参照ピクチャとして利用されるものを特に「Br(reference B)ピクチャ」という。
図7に示されている例では、各GOP731、732内のベースビュー・ピクチャが以下の順で圧縮される。第1GOP731では、まず先頭のベースビュー・ピクチャがI0ピクチャ710に圧縮される。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。次に、4番目のベースビュー・ピクチャがI0ピクチャ710を参照ピクチャとしてP3ピクチャ713に圧縮される。ここで、図7に示されている各矢印は、先端のピクチャが後端のピクチャに対する参照ピクチャであることを示す。続いて、2、3番目のベースビュー・ピクチャがI0ピクチャ710とP3ピクチャ713とを参照ピクチャとして、それぞれ、Br1ピクチャ711、Br2ピクチャ712に圧縮される。更に7番目のベースビュー・ピクチャがP3ピクチャ713を参照ピクチャとしてP6ピクチャ716に圧縮される。続いて、4、5番目のベースビュー・ピクチャがP3ピクチャ713とP6ピクチャ716とを参照ピクチャとして、それぞれ、Br4ピクチャ714、Br5ピクチャ715に圧縮される。同様に、第2GOP732では、まず先頭のベースビュー・ピクチャがI7ピクチャ717に圧縮される。次に3番目のベースビュー・ピクチャがI7ピクチャ717を参照ピクチャとしてP9ピクチャ719に圧縮される。続いて、2番目のベースビュー・ピクチャがI7ピクチャ717とP9ピクチャ719とを参照ピクチャとしてBr8ピクチャ718に圧縮される。
ベースビュー・ビデオ・ストリーム701では各GOP731、732がその先頭にIピクチャを必ず含むので、ベースビュー・ピクチャはGOPごとに復号可能である。例えば第1GOP731では、まずI0ピクチャ710が単独で復号される。次に、復号後のI0ピクチャ710を利用してP3ピクチャ713が復号される。続いて、復号後のI0ピクチャ710とP3ピクチャ713とを利用して、Br1ピクチャ711とBr2ピクチャ712とが復号される。後続のピクチャ群714、715、…も同様に復号される。こうして、ベースビュー・ビデオ・ストリーム701は単独で復号可能であり、更にGOP単位でのランダム・アクセスが可能である。
図7を更に参照するに、ライトビュー・ピクチャ720−729はピクチャ間予測符号化で圧縮されている。しかし、その符号化方法はベースビュー・ピクチャ710−719の符号化方法とは異なり、映像の時間方向での冗長性に加え、左右の映像間の冗長性をも利用する。具体的には、各ライトビュー・ピクチャ720−729の参照ピクチャが、図7に矢印で示されているように、ライトビュー・ビデオ・ストリーム702からだけでなく、ベースビュー・ビデオ・ストリーム701からも選択される。特に各ライトビュー・ピクチャ720−729と、その参照ピクチャとして選択されたベースビュー・ピクチャとは表示時刻が実質的に等しい。それらのピクチャは3D映像の同じシーンのライトビューとレフトビューとの対、すなわち視差映像を表す。このように、ライトビュー・ピクチャ720−729はベースビュー・ピクチャ710−719と一対一に対応する。特にそれらのピクチャ間ではGOP構造が共通である。
図7に示されている例では、まず第1GOP731内の先頭のライトビュー・ピクチャがベースビュー・ビデオ・ストリーム701内のI0ピクチャ710を参照ピクチャとしてP0ピクチャ720に圧縮される。それらのピクチャ710、720は3D映像の先頭フレームのレフトビューとライトビューとを表す。次に、4番目のライトビュー・ピクチャがP0ピクチャ720とベースビュー・ビデオ・ストリーム701内のP3ピクチャ713とを参照ピクチャとしてP3ピクチャ723に圧縮される。続いて、2番目のライトビュー・ピクチャがP0ピクチャ720とP3ピクチャ723とに加えて、ベースビュー・ビデオ・ストリーム701内のBr1ピクチャ711を参照ピクチャとしてB1ピクチャ721に圧縮される。同様に、3番目のライトビュー・ピクチャがP0ピクチャ720とP3ピクチャ730とに加えて、ベースビュー・ビデオ・ストリーム701内のBr2ピクチャ712を参照ピクチャとしてB2ピクチャ722に圧縮される。以降のライトビュー・ピクチャ724−729についても同様に、そのライトビュー・ピクチャと表示時刻が実質的に等しいベースビュー・ピクチャが参照ピクチャとして利用される。
上記のような左右の映像間の相関関係を利用した動画圧縮符号化方式としては、MVC(Multiview Video Coding)と呼ばれるMPEG−4 AVC/H.264の修正規格が知られている。MVCは、ISO/IEC MPEGとITU−T VCEGとの共同プロジェクトであるJVT(Joint Video Team)によって2008年7月に策定されたものであり、複数の視点から見える映像をまとめて符号化するための規格である。MVCでは映像間予測符号化に、映像の時間方向での類似性だけでなく、視点の異なる映像間の類似性も利用される。その予測符号化では、各視点から見た映像を個別に圧縮する予測符号化よりも映像の圧縮率が高い。
上記のとおり、各ライトビュー・ピクチャ720−729の圧縮にはベースビュー・ピクチャが参照ピクチャとして利用される。従って、ベースビュー・ビデオ・ストリーム701とは異なり、ライトビュー・ビデオ・ストリーム702を単独で復号することはできない。しかし、視差映像間の差異は一般にわずかであり、すなわちレフトビューとライトビューとの間の相関は高い。従って、ライトビュー・ピクチャは一般にベースビュー・ピクチャよりも圧縮率が著しく高く、すなわちデータ量が著しく小さい。
デプスマップ・ストリームに含まれるデプスマップはベースビュー・ピクチャ710−719と一対一に対応し、そのベースビュー・ピクチャの示す2D映像に対するデプスマップを表す。各デプスマップは、ベースビュー・ピクチャ710−719と同様、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。特にその符号化方式ではピクチャ間予測符号化が利用される。すなわち、各デプスマップが他のデプスマップを参照ピクチャとして利用して圧縮される。デプスマップ・ストリームは更に、ベースビュー・ビデオ・ストリーム701と同様にGOP単位に分割され、各GOPがその先頭にIピクチャを必ず含む。従って、デプスマップはGOPごとに復号可能である。但し、デプスマップ自体は2D映像の各部の奥行きを画素別に表す情報でしかないので、デプスマップ・ストリームを単独で映像の再生に利用することはできない。
例えば図3の(b)に示されている二本のプライマリ・ビデオ・ストリーム311R、311Dのように、同じベースビュー・ビデオ・ストリームに対応するライトビュー・ビデオ・ストリームとデプスマップ・ストリームとは同じ符号化方式で圧縮されている。例えば、ライトビュー・ビデオ・ストリームがMVCのフォーマットで符号化されているとき、デプスマップ・ストリームもMVCのフォーマットで符号化されている。その場合、再生装置102は3D映像の再生時、符号化方式を一定に維持したまま、L/Rモードとデプス・モードとの切り換えをスムーズに実現できる。
図8は、ビデオ・ストリーム800のデータ構造の詳細を示す模式図である。このデータ構造は、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで実質的に共通である。図8を参照するに、ビデオ・ストリーム800は一般に複数のビデオ・シーケンス#1、#2、…から構成されている。「ビデオ・シーケンス」は、一つのGOP810を構成するピクチャ群811、812、813、814、…に個別にヘッダ等の付加情報を組み合わせたものである。この付加情報と各ピクチャとの組み合わせを「ビデオ・アクセスユニット(VAU)」という。すなわち、各GOP810、820ではピクチャごとに一つのVAU#1、#2、…が構成されている。各ピクチャはVAU単位でビデオ・ストリーム800から読み出し可能である。
図8は更に、ベースビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#1831の構造を示す。VAU#1831は、アクセスユニット(AU)識別コード831A、シーケンス・ヘッダ831B、ピクチャ・ヘッダ831C、補足データ831D、及び圧縮ピクチャ・データ831Eを含む。2番目以降のVAU#2は、シーケンス・ヘッダ831Bを含まない点を除き、VAU#1831と同じ構造である。AU識別コード831Aは、VAU#1831の先端を示す所定の符号である。シーケンス・ヘッダ831BはGOPヘッダともいい、VAU#1831を含むビデオ・シーケンス#1の識別番号を含む。シーケンス・ヘッダ831Bは更にGOP810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。ピクチャ・ヘッダ831Cは、自身に固有の識別番号、ビデオ・シーケンス#1の識別番号、及び、ピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ831Dは、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、及びタイムコード情報を含む。補足データ831Dは特に復号スイッチ情報を含む(詳細は後述する)。補足データ831Dは、包含するデータの種類に応じて、一つのVAUに複数、設定されていてもよい。圧縮ピクチャ・データ831Eはベースビュー・ピクチャを含む。VAU#1831はその他に、必要に応じて、パディング・データ831F、シーケンス終端コード831G、及びストリーム終端コード831Hのいずれか又は全てを含んでもよい。パディング・データ831Fはダミーデータである。そのサイズを圧縮ピクチャ・データ831Eのサイズに合わせて調節することにより、VAU#1831のビットレートを所定値に維持することができる。シーケンス終端コード831Gは、VAU#1831がビデオ・シーケンス#1の後端に位置することを示す。ストリーム終端コード831Hはベースビュー・ビデオ・ストリーム800の後端を示す。
図8はまた、ディペンデントビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#1832の構造も示す。VAU#1832は、サブAU識別コード832A、サブシーケンス・ヘッダ832B、ピクチャ・ヘッダ832C、補足データ832D、及び圧縮ピクチャ・データ832Eを含む。2番目以降のVAU#2は、サブシーケンス・ヘッダ832Bを含まない点を除き、VAU#1832と同じ構造である。サブAU識別コード832Aは、VAU#1832の先端を示す所定の符号である。サブシーケンス・ヘッダ832Bは、VAU#1832を含むビデオ・シーケンス#1の識別番号を含む。サブシーケンス・ヘッダ832Bは更にGOP810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。特にそれらの値は、ベースビュー・ビデオ・ストリームの対応するGOPに対して設定された値、すなわちVAU#1831のシーケンス・ヘッダ831Bの示す値に等しい。ピクチャ・ヘッダ832Cは、自身に固有の識別番号、ビデオ・シーケンス#1の識別番号、及び、ピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ832Dはオフセット・メタデータのみを含む(詳細は後述する)。ここで、補足データの種類には、オフセット・メタデータを含むもの832Dの他にも、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、タイムコード情報、及び復号スイッチ情報を含むものがある。従って、VAU#1832は、補足データ832Dに加えて、他の補足データを一つ以上含んでいてもよい。圧縮ピクチャ・データ832Eはディペンデントビュー・ピクチャを含む。VAU#1832はその他に、必要に応じて、パディング・データ832F、シーケンス終端コード832G、及びストリーム終端コード832Hのいずれか又は全てを含んでもよい。パディング・データ832Fはダミーデータである。そのサイズを圧縮ピクチャ・データ832Eのサイズに合わせて調節することにより、VAU#1832のビットレートを所定値に維持することができる。シーケンス終端コード832Gは、VAU#1832がビデオ・シーケンス#1の後端に位置することを示す。ストリーム終端コード832Hはディペンデントビュー・ビデオ・ストリーム800の後端を示す。
VAUの各部の具体的な内容はビデオ・ストリーム800の符号化方式ごとに異なる。例えばその符号化方式がMPEG−4 AVC又はMVCであるとき、図8に示されているVAUの各部は一つのNAL(Network Abstraction Layer)ユニットから構成される。具体的には、AU識別コード831A、シーケンス・ヘッダ831B、ピクチャ・ヘッダ831C、補足データ831D、圧縮ピクチャ・データ831E、パディング・データ831F、シーケンス終端コード831G、及びストリーム終端コード831Hはそれぞれ、AUデリミタ(Access Unit Delimiter)、SPS(シーケンス・パラメータ・セット)、PPS(ピクチャ・パラメータ・セット)、SEI(Supplemental Enhancement Information)、ビュー・コンポーネント、フィラー・データ(Filler Data)、エンド・オブ・シーケンス(End of Sequence)、及びエンド・オブ・ストリーム(End of Stream)に相当する。特にVAU#1832では、オフセット・メタデータを含む補足データ832Dは一つのNALユニットで構成され、そのNALユニットはオフセット・メタデータ以外のデータを含まない。
図9は、PESパケット列902へのビデオ・ストリーム901の格納方法の詳細を示す模式図である。この格納方法は、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで共通である。図9を参照するに、実際のビデオ・ストリーム901ではピクチャが、表示時間順ではなく、符号化順に多重化されている。例えばベースビュー・ビデオ・ストリームのVAUには、図9に示されているように、先頭から順に、I0ピクチャ910、P3ピクチャ911、B1ピクチャ912、B2ピクチャ913、…が格納されている。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。P3ピクチャ911の符号化にはI0ピクチャ910が参照ピクチャとして利用され、B1ピクチャ912とB2ピクチャ913との各符号化にはI0ピクチャ910とP3ピクチャ911とが参照ピクチャとして利用される。それらのVAUが一つずつ、異なるPESパケット920、921、922、923、…に格納される。各PESパケット920、…はPESペイロード920PとPESヘッダ920Hとを含む。VAUはPESペイロード920Pに格納される。一方、PESヘッダ920Hは、同じPESパケット920のPESペイロード920Pに格納されたピクチャの表示時刻、すなわちPTS(Presentation Time−Stamp)、及びそのピクチャの復号時刻、すなわちDTS(Decoding Time−Stamp)を含む。
図9に示されているビデオ・ストリーム901と同様、図3、4に示されている他のエレメンタリ・ストリームも一連のPESパケットの各PESペイロードに格納される。更に各PESパケットのPESヘッダは、そのPESパケットのPESペイロードに格納されたデータのPTSを含む。
図10は、ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。図10を参照するに、両ビデオ・ストリーム1001、1002の間では、3D映像の同じフレーム又はフィールドを表す一対のピクチャに対して、同じPTS及び同じDTSが割り当てられている。例えば3D映像の先頭のフレーム又はフィールドは、ベースビュー・ビデオ・ストリーム1001のI1ピクチャ1011とディペンデントビュー・ビデオ・ストリーム1002のP1ピクチャ1021との組み合わせから再現される。従って、それらのピクチャの対1011、1021ではPTSが等しく、かつDTSが等しい。ここで、下付の数字は、各ピクチャにDTSの順に割り振られた通し番号を示す。また、ディペンデントビュー・ビデオ・ストリーム1002がデプスマップ・ストリームであるとき、P1ピクチャ1021は、I1ピクチャ1011に対するデプスマップを表すIピクチャに置き換えられる。同様に、各ビデオ・ストリーム1001、1002の2番目のピクチャ、すなわち、P2ピクチャ1012、1022の対ではPTSが等しく、かつDTSが等しい。各ビデオ・ストリーム1001、1002の3番目のピクチャ、すなわちBr3ピクチャ1013とB3ピクチャ1023との対ではPTSとDTSとがいずれも共通である。Br4ピクチャ1014とB4ピクチャ1024との対でも同様である。
ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との間で、PTSが等しく、かつDTSが等しいピクチャを含むVAUの対を「3D・VAU」という。図10に示されているPTSとDTSとの割り当てにより、3D再生モードの再生装置102内のデコーダにベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002とを3D・VAU単位でパラレルに処理させることが容易にできる。それにより、3D映像の同じフレーム又はフィールドを表す一対のピクチャが、デコーダによって確実にパラレルに処理される。更に、各GOPの先頭の3D・VAUではシーケンス・ヘッダが、同じ解像度、同じフレームレート、及び同じアスペクト比を含む。特にそのフレームレートは、2D再生モードにおいてベースビュー・ビデオ・ストリーム1001が単独で復号されるときの値に等しい。
[オフセット・メタデータ]
図11は、ディペンデントビュー・ビデオ・ストリーム1100の含むオフセット・メタデータ1110のデータ構造を示す模式図である。図12は、そのオフセット・メタデータ(offset_metadata)1110の書式(Syntax)を示す表である。図11を参照するに、オフセット・メタデータ1110は、各ビデオ・シーケンス(すなわち、各GOP)の先端に位置するVAU#1内の補足データ1101に格納されている。図11、12を参照するに、オフセット・メタデータ1110は、PTS1111、オフセット・シーケンスID(offset_sequence_id)1112、及びオフセット・シーケンス(offset_sequence)1113を含む。PTS1111は、VAU#1内の圧縮ピクチャ・データの表すフレーム、すなわち、各GOPの最初のフレームのPTSに等しい。
オフセット・シーケンスID1112は、オフセット・シーケンス1113に順番に割り振られた通し番号0、1、2、…、Mである。整数Mは1以上であり、オフセット・シーケンス1113の総数(number_of_offset_sequence)を表す。ビデオ・プレーンに合成されるべきグラフィックス・プレーンにはオフセット・シーケンスID1112が割り当てられる。それにより、各グラフィックス・プレーンにオフセット・シーケンス1113が対応付けられている。ここで、「ビデオ・プレーン」とは、ビデオ・シーケンスの含むピクチャから生成されるプレーン・データ、すなわち画素データの二次元配列をいう。その配列のサイズは映像フレームの解像度に等しい。一組の画素データは色座標値(RGB値又はYCrCb値)とα値との組み合わせから成る。
各オフセット・シーケンス1113は、フレーム番号1121とオフセット情報1122、1123との対応表である。フレーム番号1121は、一つのビデオ・シーケンス(例えば、ビデオ・シーケンス#1)の表すフレーム#1、#2、…、#Nに表示順に割り振られた通し番号1、2、…、Nである。図12では、フレーム番号1121は整数値変数iで表されている。整数Nは1以上であり、そのビデオ・シーケンスの含むフレームの総数(number_of_displayed_frames_in_GOP)を表す。各オフセット情報1122、1123は、一つのグラフィックス・プレーンに対するオフセット制御を規定する制御情報である。
「オフセット制御」とは、グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、ベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとのそれぞれに合成する処理をいう。「グラフィックス・プレーンに水平方向のオフセットを与える」とは、そのグラフィックス・プレーン内で各画素データを水平方向に変位させることをいう。それにより、一つのグラフィックス・プレーンから、レフトビューとライトビューとを表すグラフィックス・プレーンの対が生成される。その対から再生される2Dグラフィックス映像の各部の表示位置は、元の表示位置から左右にずれている。それらの変位が視聴者に両眼視差として錯覚されることにより、レフトビューとライトビューとの対がその視聴者には一つの3Dグラフィックス映像として見える。
オフセットは方向と大きさとで決まる。従って、図11、12に示されているとおり、各オフセット情報はオフセット方向(Plane_offset_direction)1122とオフセット値(Plane_offset_value)1123とを含む。オフセット方向1122は、3Dグラフィックス映像の奥行きが画面よりも手前か奥かを示す。オフセット方向1122の値に依り、元の2Dグラフィックス映像の表示位置に対するレフトビューとライトビューとの各表示位置の方向が左又は右に決まる。オフセット値1123は、元の2Dグラフィックス映像の表示位置とレフトビューとライトビューとの各表示位置との間の距離を水平方向の画素数で表す。
図13の(a)、(b)は、PGプレーン1310とIGプレーン1320とに対するオフセット制御を示す模式図である。それらのオフセット制御では、レフトビュー・ビデオ・プレーン1301とライトビュー・ビデオ・プレーン1302とのそれぞれへ二種類のグラフィックス・プレーン1310、1320が合成される。ここで、「レフトビュー/ライトビュー・ビデオ・プレーン」とは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの組み合わせから生成される、レフトビュー/ライトビューを表すビデオ・プレーンをいう。以下の説明では、PGプレーン1310の表す字幕1311を画面よりも手前に表示し、IGプレーン1320の表すボタン1321を画面よりも奥に表示する場合を想定する。
図13の(a)を参照するに、PGプレーン1310には、右方向のオフセットが与えられる。具体的には、まず、PGプレーン1310内の各画素データの位置が、レフトビュー・ビデオ・プレーン1301内の対応する画素データの位置から、オフセット値に等しい画素数SFPだけ右に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン1301の範囲よりも右側に(仮想的に)はみ出ているPGプレーン1310の右端の帯状領域1312を「切り取る」。すなわち、その領域1312の画素データ群を破棄する。一方、PGプレーン1310の左端に透明な帯状領域1313を追加する。その帯状領域1313の幅は右端の帯状領域1312の幅、すなわちオフセット値SFPに等しい。こうして、PGプレーン1310から、レフトビューを表すPGプレーンが生成され、レフトビュー・ビデオ・プレーン1301に合成される。特に、そのレフトビューPGプレーンでは、字幕1311の表示位置が元の表示位置よりも右に、オフセット値SFPだけずれている。
一方、IGプレーン1320には、左方向のオフセットが与えられる。具体的には、まず、IGプレーン1320内の各画素データの位置が、レフトビュー・ビデオ・プレーン1301内の対応する画素データの位置から、オフセット値に等しい画素数SFIだけ左に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン1310の範囲よりも左側に(仮想的に)はみ出ているIGプレーン1320の左端の帯状領域1322を切り取る。一方、IGプレーン1320の右端に透明な帯状領域1323を追加する。その帯状領域1323の幅は左端の帯状領域1322の幅、すなわちオフセット値SFIに等しい。こうして、IGプレーン1320から、レフトビューを表すIGプレーンが生成され、レフトビュー・ビデオ・プレーン1301に合成される。特に、そのレフトビューIGプレーンでは、ボタン1321の表示位置が元の表示位置よりも左に、オフセット値SFIだけずれている。
図13の(b)を参照するに、PGプレーン1310には左方向のオフセットが与えられ、IGプレーン1320には右方向のオフセットが与えられる。すなわち、上記の操作をPGプレーン1310とIGプレーン1320とで反対にすればよい。その結果、各プレーン・データ1310、1320から、ライトビューを表すプレーン・データが生成され、ライトビュー・ビデオ・プレーン1320に合成される。特にライトビューPGプレーンでは、字幕1311の表示位置が元の表示位置よりも左に、オフセット値SFPだけずれている。一方、ライトビューIGプレーンでは、ボタン1321の表示位置が元の表示位置よりも右に、オフセット値SFIだけずれている。
図13の(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者1330に知覚される3Dグラフィックス映像を示す模式図である。それらのグラフィックス・プレーンの表す2Dグラフィックス映像が画面1340に交互に表示されるとき、視聴者1330には、図13の(c)に示されているように、字幕1331は画面1340よりも手前に見え、ボタン1332は画面1340よりも奥に見える。各3Dグラフィックス映像1331、1332と画面1340との間の距離はオフセット値SFP、SFIによって調節可能である。
図14の(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。各グラフでは、オフセット方向が画面よりも手前を示すときにオフセット値が正である。図14の(a)は、図14の(b)のうち、最初のGOP、GOP1、の表示期間でのグラフを拡大したものである。図14の(a)を参照するに、階段状のグラフ1401は、オフセット・シーケンスID=0のオフセット・シーケンス、すなわちオフセット・シーケンス[0]のオフセット値を示す。一方、水平なグラフ1402は、オフセット・シーケンスID=1のオフセット・シーケンス、すなわちオフセット・シーケンス[1]のオフセット値を示す。オフセット・シーケンス[0]のオフセット値1401は、最初のGOPの表示期間GOP1ではフレームFR1、FR2、FR3、…、FR15、…の順に階段状に増加している。図14の(b)を参照するに、そのオフセット値1401の階段状の増加は2番目以降の各GOPの表示期間GOP2、GOP3、…、GOP40、…でも同様に継続される。1フレーム当たりの増加量が十分に細かいので、図14の(b)ではオフセット値1401が線形に連続的に増加しているように見える。一方、オフセット・シーケンス[1]のオフセット値1402は、最初のGOPの表示期間GOP1では負の一定値に維持されている。図14の(b)を参照するに、そのオフセット値1402は、40番目のGOPの表示期間GOP40の終了時、正の値に急増する。このようにオフセット値は不連続に変化してもよい。
図14の(c)は、図14の(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。字幕の3D映像1403がオフセット・シーケンス[0]に従って表示されるとき、その3D映像1403は、画面1404の直ぐ手前から徐々に飛び出てくるように見える。一方、ボタンの3D映像1405がオフセット・シーケンス[1]に従って表示されるとき、その3D映像1405は、画面1404よりも奥に固定されている状態から突然、画面1404よりも手前に飛び出てくるように見える。このように、フレーム単位でのオフセット値の増減のパターンをオフセット・シーケンスごとに様々に変化させる。それにより、複数の3Dグラフィックス映像について、個々の奥行きの変化を多様に表現することができる。
[オフセット・メタデータとTS優先度との間の関係]
図15は、ディペンデントビュー・ビデオ・ストリーム内のVAU#11500を格納したPESパケット1510と、そのPESパケット1510から生成されるTSパケット列1520とを示す模式図である。VAU#11500は、図8に示されているVAU#1832と同様にビデオ・シーケンスの先端に位置する。従って、VAU#11500に含まれる補足データの少なくとも一つ1504は、オフセット・メタデータ1509のみから構成される。図15には、オフセット・メタデータ1509のみから構成される補足データ1504が斜線部で示されている。VAU#11500はPESパケット1510のPESペイロード1512に格納されている。そのPESパケット1510のPESヘッダ1511は、VAU#11500内の圧縮ピクチャ・データ1505に割り当てられたDTSとPTSとを含む。PESパケット1510は先頭から順にTSパケット列1520に格納されている。それにより、TSパケット列1520は先頭から順に三つのグループ1521、1522、1523に分けられる。第1グループ1521は、PESヘッダ1511、サブAU識別コード1501、サブシーケンス・ヘッダ1502、及び、ピクチャ・ヘッダ1503を格納している。第2グループ1522は、オフセット・メタデータ1509のみから構成される補足データ1504のみを格納している。第3グループ1513は、圧縮ピクチャ・データ1505、パディング・データ1506、シーケンス終端コード1507、及びストリーム終端コード1508を格納している。ここで、VAU#11500がオフセット・メタデータ以外の補足データを含む場合、それらの補足データは第1グループ1521又は第3グループ1513に格納される。第1グループ1521の後端に位置するTSパケット1530は一般にADフィールド1532を含む。それにより、そのTSペイロード1533へは、オフセット・メタデータ1509のみから構成される補足データ1504が混入しない。同様に、第2グループ1522の後端に位置するTSパケット1550は一般にADフィールド1552を含む。それにより、そのTSペイロード1553へは、圧縮ピクチャ・データ1505はもちろん、オフセット・メタデータ1509のみから構成される補足データ1504以外のデータはいずれも混入しない。こうして、オフセット・メタデータ1509のみから構成される補足データ1504は、第2グループ1522に属するTSパケット1540、1550のTSペイロード1542、1553にのみ格納される。一方、圧縮ピクチャ・データ1505は、第3グループ1523に属するTSパケット1560のTSペイロード1562にのみ格納される。
図15を更に参照するに、第1グループ1521に属するTSパケット1530では、TSヘッダ1531の示すTS優先度の値が“0”に設定されている。同様に、第3グループ1523に属するTSパケット1560では、TSヘッダ1561の示すTS優先度の値が“0”に設定されている。一方、第2グループ1522に属するTSパケット1540、1550では、TSヘッダ1541、1551の示すTS優先度の値が“1”に設定されている。尚、値の設定は逆でもよい。このように、第2グループ1522に属するTSパケットは、他のグループ1521、1523に属するTSパケットとはTS優先度の値が異なる。従って、再生装置102内のシステム・ターゲット・デコーダはTS優先度を利用して、第2グループ1522に属するTSパケットを容易に選別できる。
図15とは異なり、第1グループ1521と第2グループ1522とのそれぞれに属するTSパケットが同じTS優先度の値を示してもよい。図16は、その場合のTSパケット列1620を示す模式図である。図15に示されているTSパケット列1520と同様に、TSパケット列1620は先頭から順に三つのグループ1621、1622、1623に分けられる。第1グループ1621は、PESヘッダ1511、サブAU識別コード1501、サブシーケンス・ヘッダ1502、及び、ピクチャ・ヘッダ1503を格納している。第2グループ1622は、オフセット・メタデータ1509のみから構成される補足データ1504のみを格納している。第3グループ1613は、圧縮ピクチャ・データ1505、パディング・データ1506、シーケンス終端コード1507、及びストリーム終端コード1508を格納している。ここで、VAU#11500がオフセット・メタデータ以外の補足データを含む場合、それらの補足データは第1グループ1621又は第3グループ1613に格納される。図16には、オフセット・メタデータ1509のみから構成される補足データ1504が斜線部で示され、PESパケット1510内でその補足データよりも前に配置されるデータ1511、1501−1503がドット付きの領域で示されている。第1グループ1621と第2グループ1622とのそれぞれに属するTSパケット1630、1640、1650ではいずれも、TSヘッダ1631、1641、1651の示すTS優先度の値が“1”に設定されている。一方、第3グループ1623に属するTSパケット1660では、TSヘッダ1661の示すTS優先度の値が“0”に設定されている。尚、値の設定は逆でもよい。この場合でも、オフセット・メタデータ1509のみから構成される補足データ1504を格納したTSパケットは、圧縮ピクチャ・データ1505を格納したTSパケットとはTS優先度の値が異なる。従って、再生装置102内のシステム・ターゲット・デコーダはTS優先度を利用して、オフセット・メタデータ1509のみから構成される補足データ1504を格納したTSパケット群を、圧縮ピクチャ・データ1505を格納したTSパケット群から容易に分離できる。
[復号スイッチ情報]
図17の(a)は、復号スイッチ情報1750のデータ構造を示す模式図である。復号スイッチ情報1750は、図8に示されているベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの各VAUでその補足データに格納されている。但し、ディペンデントビュー・ビデオ・ストリームの各GOPの先頭に位置するVAU#1832では、復号スイッチ情報1750は、オフセット・メタデータを含む補足データ832Dとは別の補足データに格納される。補足データ831D、832Dは、特にMPEG−4 AVC、MVCでは、NALユニットの一種“SEI”に相当する。復号スイッチ情報1750は、再生装置102内のデコーダに、次に復号すべきVAUを容易に特定させるための情報である。ここで、そのデコーダは後述のように、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをVAU単位で交互に復号する。そのとき、そのデコーダは一般に、各VAUに付与されたDTSの示す時刻に合わせて、次に復号すべきVAUを特定する。しかし、デコーダの種類には、DTSを無視してVAUを順次、復号し続けるものも多い。そのようなデコーダにとって、各VAUがDTSに加えて復号スイッチ情報1750を含むことは好ましい。
図17の(a)を参照するに、復号スイッチ情報1750は、次アクセスユニット・タイプ1751、次アクセスユニット・サイズ1752、及び復号カウンタ1753を含む。次アクセスユニット・タイプ1751は、次に復号されるべきVAUがベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれに属するのかを示す。例えば、次アクセスユニット・タイプ1751の値が“1”であるときは、次に復号されるべきVAUはベースビュー・ビデオ・ストリームに属し、“2”であるときはディペンデントビュー・ビデオ・ストリームに属する。次アクセスユニット・タイプ1751の値が“0”であるときは、現在のVAUが復号対象のストリームの後端に位置し、次に復号されるべきVAUが存在しない。次アクセスユニット・サイズ1752は、次に復号されるべきVAUのサイズを示す。再生装置102内のデコーダは、次アクセスユニット・サイズ1752を参照することにより、VAUの構造自体を解析することなく、そのサイズを特定できる。従って、デコーダはバッファからVAUを容易に抽出できる。復号カウンタ1753は、それの属するVAUが復号されるべき順番を示す。その順番は、ベースビュー・ビデオ・ストリーム内のIピクチャを含むVAUから数えられる。
図17の(b)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの一例1710、1720を示す模式図である。図17の(b)を参照するに、復号カウンタ1710、1720は両ビデオ・ストリーム1701、1702の間で交互にインクリメントされる。例えば、ベースビュー・ビデオ・ストリーム1701内のIピクチャを含むVAU1711に対し、復号カウンタ1710として“1”が割り当てられる。次に復号されるべきディペンデントビュー・ビデオ・ストリーム1702内のPピクチャを含むVAU1721に対し、復号カウンタ1720として“2”が割り当てられる。更にその次に復号されるべきベースビュー・ビデオ・ストリーム1701内のPピクチャを含むVAU1712に対し、復号カウンタ1710として“3”が割り当てられる。その割り当てにより、何らかの不具合が原因で再生装置102内のデコーダがいずれかのVAUを読み損なったときでも、それによって欠落したピクチャをデコーダは復号カウンタ1710、1720から直ちに特定できる。従って、デコーダはエラー処理を適切に、かつ迅速に実行できる。
図17の(b)に示されている例では、ベースビュー・ビデオ・ストリーム1701の3番目のVAU1713の読み込みにエラーが生じ、Brピクチャが欠落している。しかし、デコーダは、ディペンデントビュー・ビデオ・ストリーム1702の2番目のVAU1722に含まれるPピクチャの復号処理で、そのVAU1722から復号カウンタ1720を読み出して保持している。従って、デコーダは次に処理すべきVAUの復号カウンタ1710を予測できる。具体的には、そのPピクチャを含むVAU1722内の復号カウンタ1720は“4”であるので、次に読み込まれるべきVAUの復号カウンタ1710は“5”であると予測される。しかし、実際には、次に読み込まれたVAUはベースビュー・ビデオ・ストリーム1701の4番目のVAU1714であったので、その復号カウンタ1710は“7”である。そのことから、デコーダは、VAUを一つ読み損ねたことを検出できる。従って、デコーダは次のエラー処理を実行できる:「ディペンデントビュー・ビデオ・ストリーム1702の3番目のVAU1723から抽出されたBピクチャについては、参照すべきBrピクチャが欠落しているので復号処理をスキップする」。このように、デコーダは復号処理ごとに復号カウンタ1710、1720をチェックする。それにより、デコーダはVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図17の(c)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの別例1730、1740を示す模式図である。図17の(c)を参照するに、復号カウンタ1730、1740は各ビデオ・ストリーム1701、1702で別々にインクリメントされる。従って、復号カウンタ1730、1740は、同じ3D・VAUに属する一対のピクチャ間で等しい。その場合、デコーダはベースビュー・ビデオ・ストリーム1701のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタ1730が、次に復号されるべきディペンデントビュー・ビデオ・ストリーム1702のVAUの復号カウンタ1740に等しい」。一方、デコーダはディペンデントビュー・ビデオ・ストリーム1702のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタ1740に1を加えた値が、次に復号されるべきベースビュー・ビデオ・ストリーム1701のVAUの復号カウンタ1730に等しい」。従って、デコーダはいずれの時点でも復号カウンタ1730、1740からVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
≪AVストリーム・ファイルに含まれるその他のTSパケット≫
AVストリーム・ファイルに含まれるTSパケットの種類には、図3に示されているエレメンタリ・ストリームから変換されたもの以外にも、PAT(Program Association Table)、PMT(Program Map Table)、及びPCR(Program Clock Reference)がある。PCR、PMT、及びPATは欧州デジタル放送規格で定められたものであり、本来は、一つの番組を構成するパーシャル・トランスポート・ストリームを規定する役割を持つ。PCR、PMT、及びPATを利用することで、AVストリーム・ファイルもそのパーシャル・トランスポート・ストリームと同様に規定される。具体的には、PATは、同じAVストリーム・ファイルに含まれるPMTのPIDを示す。PAT自身のPIDは0である。PMTは、同じAVストリーム・ファイルに含まれる、映像・音声・字幕等を表す各エレメンタリ・ストリームのPIDとその属性情報とを含む。PMTは更に、そのAVストリーム・ファイルに関する各種のディスクリプタ(記述子ともいう。)を含む。ディスクリプタには特に、そのAVストリーム・ファイルのコピーの許可/禁止を示すコピー・コントロール情報が含まれる。PCRは、自身に割り当てられたATSに対応させるべきSTC(System Time Clock)の値を示す情報を含む。ここで、「STC」は、再生装置102内のデコーダによって、PTS及びDTSの基準として利用されるクロックである。そのデコーダはPCRを利用して、ATCにSTCを同期させる。
図18は、PMT1810のデータ構造を示す模式図である。PMT1810は、PMTヘッダ1801、ディスクリプタ1802、及びストリーム情報1803を含む。PMTヘッダ1801は、PMT1810に含まれるデータの長さ等を示す。各ディスクリプタ1802は、PMT1810を含むAVストリーム・ファイルの全体に関するディスクリプタである。前述のコピー・コントロール情報はディスクリプタ1802の一つに含まれる。ストリーム情報1803は、AVストリーム・ファイルに含まれる各エレメンタリ・ストリームに関する情報であり、一つずつ異なるエレメンタリ・ストリームに割り当てられている。各ストリーム情報1803は、ストリーム・タイプ1831、PID1832、及びストリーム・ディスクリプタ1833を含む。ストリーム・タイプ1831は、そのエレメンタリ・ストリームの圧縮に利用されたコーデックの識別情報等を含む。PID1832は、そのエレメンタリ・ストリームのPIDを示す。ストリーム・ディスクリプタ1833は、そのエレメンタリ・ストリームの属性情報、例えばフレームレート及びアスペクト比を含む。
PCR、PMT、及びPATを利用することで、再生装置102内のデコーダにAVストリーム・ファイルを、欧州デジタル放送規格に準拠のパーシャル・トランスポート・ストリームと同様に処理させることができる。それにより、BD−ROMディスク101用の再生装置と欧州デジタル放送規格に準拠の端末装置との間の互換性を確保することができる。
≪多重化ストリーム・データのインターリーブ配置≫
3D映像のシームレス再生には、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのBD−ROMディスク101上での物理的な配置が重要である。ここで、「シームレス再生」とは、多重化ストリーム・データから映像と音声とを途切れさせることなく滑らかに再生することをいう。
図19は、BD−ROMディスク101上での多重化ストリーム・データの物理的な配置を示す模式図である。図19を参照するに、多重化ストリーム・データは複数のデータ・ブロックD[n]、B[n](n=0、1、2、3、…)に分割されて、BD−ROMディスク101上に配置されている。ここで、「データ・ブロック」とは、BD−ROMディスク101上の連続領域、すなわち物理的に連続する複数のセクタに記録された一連のデータをいう。BD−ROMディスク101では物理アドレスが論理アドレスと実質的に等しいので、各データ・ブロック内ではLBNも連続している。従って、BD−ROMドライブ121は一つのデータ・ブロックを、光ピックアップにシークを行わせることなく連続して読み出すことができる。以下、メインTSに属するデータ・ブロックB[n]を「ベースビュー・データ・ブロック」といい、サブTSに属するデータ・ブロックD[n]を「ディペンデントビュー・データ・ブロック」という。特に、ライトビュー・ビデオ・ストリームを含むデータ・ブロックを「ライトビュー・データ・ブロック」といい、デプスマップ・ストリームを含むデータ・ブロックを「デプスマップ・データ・ブロック」という。
各データ・ブロックB[n]、D[n]は、BD−ROMディスク101のファイルシステムでは、ファイル2D又はファイルDEP内の一つのエクステントとしてアクセス可能である。すなわち、各データ・ブロックの論理アドレスは、ファイル2D又はファイルDEPのファイル・エントリから知ることができる(詳細は《補足》参照)。
図19に示されている例では、ファイル2D(01000.m2ts)241のファイル・エントリ1910がベースビュー・データ・ブロックB[n]の各サイズとその先端のLBNとを示す。従って、各ベースビュー・データ・ブロックB[n]はファイル2D241のエクステントEXT2D[n]としてアクセス可能である。以下、ファイル2D241に属するエクステントEXT2D[n]を「2Dエクステント」という。一方、ファイルDEP(02000.m2ts)242のファイル・エントリ1920がディペンデントビュー・データ・ブロックD[n]の各サイズとその先端のLBNとを示す。従って、各ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・データ・ブロックであり、ファイルDEP242のエクステントEXT2[n]としてアクセス可能である。以下、ファイルDEP242に属するエクステントEXT2[n]を「ディペンデントビュー・エクステント」という。
図19を参照するに、データ・ブロック群はBD−ROMディスク101上のトラックに沿って連続的に記録されている。更に、ベースビュー・データ・ブロックB[n]とディペンデントビュー・データ・ブロックD[n]とは一つずつ交互に配置されている。このようなデータ・ブロック群の配置を「インターリーブ配置」という。特に、インターリーブ配置で記録された一連のデータ・ブロック群を「エクステント・ブロック」という。図19には三つのエクステント・ブロック1901、1902、1903が示されている。最初の二つのエクステント・ブロック1901、1902のように、エクステント・ブロックの間は多重化ストリーム・データ以外のデータNAVの記録領域によって分離される。また、BD−ROMディスク101が多層ディスクである場合、すなわち記録層を複数含む場合、図19に示されている2番目と3番目とのエクステント・ブロック1902、1903のように、エクステント・ブロックの間は記録層間の境界LBによっても分離される。こうして、一連の多重化ストリーム・データは一般に複数のエクステント・ブロックに分割されて配置されている。その場合、再生装置102がその多重化ストリーム・データから映像をシームレスに再生するには、各エクステント・ブロックから再生される映像をシームレスに接続しなければならない。以下、そのために再生装置102が必要とする処理を「エクステント・ブロック間のシームレスな接続」という。
各エクステント・ブロック1901−1903は二種類のデータ・ブロックD[n]、B[n]のそれぞれを同じ数ずつ含む。更に、隣接するデータ・ブロックの対D[n]、B[n]ではエクステントATC時間が等しい。ここで、「ATC(Arrival Time Clock)」は、ATSの基準とされるべきクロックを意味する。また、「エクステントATC時間」はATCの値で定義され、一つのエクステント内のソースパケットに付与されたATSの範囲、すなわち、そのエクステントの先頭のソースパケットのATSから次のエクステントの先頭のソースパケットのATSまでの時間間隔を表す。すなわち、エクステントATC時間は、そのエクステント内のソースパケットを全て、再生装置102内でリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間に等しい。ここで、「リード・バッファ」は再生装置102内のバッファ・メモリであり、BD−ROMディスク101から読み出されたデータ・ブロックをシステム・ターゲット・デコーダへ送るまでの間、一時的に格納する。リード・バッファの詳細については後述する。図19に示されている例では、三つのエクステント・ブロック1901−1903が互いにシームレスに接続されるので、データ・ブロックの各対D[n]、B[n](n=0、1、2、…)でエクステントATC時間が等しい。
隣接するデータ・ブロックの各対D[n]、B[n]では、先頭に位置するVAUは同じ3D・VAUに属し、特に、同じ3D映像を表すGOPの先頭のピクチャを含む。例えばディペンデントビュー・データ・ブロックD[n]がライトビュー・データ・ブロックである場合、各ライトビュー・データ・ブロックD[n]の先端はライトビュー・ビデオ・ストリームのPピクチャを含み、先頭のベースビュー・データ・ブロックB[n]の先端はベースビュー・ビデオ・ストリームのIピクチャを含む。そのライトビュー・ビデオ・ストリームのPピクチャは、そのベースビュー・ビデオ・ストリームのIピクチャの表す2D映像をレフトビューとするときのライトビューを表す。特にそのPピクチャは、図7に示されているように、そのIピクチャを参照ピクチャとして圧縮されている。従って、3D再生モードの再生装置102は、いずれのデータ・ブロックの対D[n]、B[n]からも3D映像の再生を開始できる。すなわち、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理が可能である。ディペンデントビュー・データ・ブロックD[n]がデプスマップ・データ・ブロックである場合も同様である。
インターリーブ配置では更に、隣接するデータ・ブロックの対D[n]、B[n]のうち、ディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりも先に配置される。それは、一般にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりもデータ量が小さい、すなわち、ビットレートが低いことに因る。例えば、ライトビュー・データ・ブロックD[n]に含まれるピクチャは、ベースビュー・データ・ブロックB[n]に含まれるピクチャを参照ピクチャとして圧縮されている。従って、そのライトビュー・データ・ブロックD[n]のサイズSEXT2[n]は一般に、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT2[n]≦SEXT1[n]。一方、デプスマップの画素当たりのデータ量、すなわち奥行き値のビット数は一般に、ベースビュー・ピクチャの画素当たりのデータ量、すなわち色座標値とα値とのビット数の和よりも小さい。更に、図3の(a)、(b)に示されているように、メインTSはサブTSとは異なり、プライマリ・ビデオ・ストリームの他にもプライマリ・オーディオ・ストリーム等のエレメンタリ・ストリームを含む。従って、デプスマップ・データ・ブロックのサイズSEXT3[n]は一般に、ベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT3[n]≦SEXT1[n]。
[多重化ストリーム・データをデータ・ブロックに分割する意義]
再生装置102は、BD−ROMディスク101から3D映像をシームレスに再生するには、メインTSとサブTSとをパラレルに処理しなければならない。しかし、その処理に利用可能なリード・バッファの容量は一般に限られている。特に、BD−ROMディスク101からリード・バッファへ連続して読み込むことのできるデータ量には限界がある。従って、再生装置102はメインTSとサブTSとを、エクステントATC時間の等しい部分の対に分割して読み出さねばならない。
図20の(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2001とサブTS2002との配置を示す模式図である。再生装置102がそれらのメインTS2001とサブTS2002とをパラレルに処理するとき、図20の(a)に実線の矢印(1)−(4)で示されているように、BD−ROMドライブ121はメインTS2001とサブTS2002とを交互に、エクステントATC時間の等しい部分ずつ読み出す。そのとき、BD−ROMドライブ121は、図20の(a)に破線の矢印で示されているように、読み出し処理の途中でBD−ROMディスク上の読み出し対象領域を大きく変化させなければならない。例えば矢印(1)の示すメインTS2001の先端部分が読み出された時、BD−ROMドライブ121は光ピックアップによる読み出し動作を一旦停止し、BD−ROMディスクの回転速度を上げる。それにより、矢印(2)の示すサブTS2002の先端部分が記録されたBD−ROMディスク上のセクタを速やかに光ピックアップの位置まで移動させる。このように、光ピックアップに読み出し動作を一旦停止させて、その間に次の読み出し対象領域上へ光ピックアップを位置づけるための操作を「ジャンプ」という。図20の(a)に示されている破線の矢印は、読み出し処理の途中で必要な各ジャンプの範囲を示す。各ジャンプの期間中、光ピックアップによる読み出し処理は停止し、デコーダによる復号処理のみが進行する。図20の(a)に示されている例ではジャンプが過大であるので、読み出し処理を復号処理に間に合わせることが難しい。その結果、シームレス再生を確実に持続することが難しい。
図20の(b)は、本発明の実施形態1によるBD−ROMディスク101上に交互に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…との配置を示す模式図である。図20の(b)を参照するに、メインTSとサブTSとはそれぞれ、複数のデータ・ブロックに分割されて交互に配置されている。その場合、再生装置102は3D映像の再生時、図20の(b)に矢印(1)−(4)で示されているように、データ・ブロックD[0]、B[0]、D[1]、B[1]、…を先頭から順番に読み出す。それだけで、再生装置102はメインTSとサブTSとを交互に読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
[隣接するデータ・ブロック間でエクステントATC時間を揃える意義]
図20の(c)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の一例を示す模式図である(n=0、1、2)。図20の(c)を参照するに、各ディペンデントビュー・データ・ブロックD[n]とその直後のベースビュー・データ・ブロックB[n]との対ではエクステントATC時間が等しい。例えば先頭のデータ・ブロックの対D[0]、B[0]ではエクステントATC時間が共に1秒に等しい。従って、各データ・ブロックD[0]、B[0]が再生装置102内のリード・バッファに読み込まれたとき、その中の全てのTSパケットが、同じ1秒間でリード・バッファからシステム・ターゲット・デコーダへ送られる。同様に、2番目のデータ・ブロックの対D[1]、B[1]ではエクステントATC時間が共に0.7秒に等しいので、同じ0.7秒間で、各データ・ブロック内の全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
図20の(d)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の別例を示す模式図である。図20の(d)を参照するに、全てのデータ・ブロックD[n]、B[n]でエクステントATC時間が1秒に等しい。従って、各データ・ブロックD[n]、B[n]が再生装置102内のリード・バッファに読み込まれたとき、いずれのデータ・ブロックでも、同じ1秒間で全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
上記のとおり、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりも圧縮率が高い。従って、ディペンデントビュー・データ・ブロックの復号処理の速度は一般に、ベースビュー・データ・ブロックの復号処理の速度よりも低い。一方、エクステントATC時間が等しいとき、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもデータ量が小さい。従って、図20の(c)、(d)のように、隣接するデータ・ブロック間でエクステントATC時間が等しいとき、復号対象のデータがシステム・ターゲット・デコーダに供給される速度は、そのデコーダの処理速度と均衡を保ちやすい。すなわち、システム・ターゲット・デコーダは、特に飛び込み再生においても、ベースビュー・データ・ブロックの復号処理とディペンデントビュー・データ・ブロックの復号処理とを容易に同期させることができる。
[データ量の小さいデータ・ブロックを先に置く意義]
3D再生モードの再生装置102は、各エクステント・ブロックの先頭に位置するデータ・ブロックを読み出すとき、又は再生開始位置のデータ・ブロックを読み出すとき、まず、そのデータ・ブロックを全てリード・バッファに読み込む。その間、そのデータ・ブロックはシステム・ターゲット・デコーダには渡されない。その読み込みが完了した後、再生装置102はそのデータ・ブロックを次のデータ・ブロックとパラレルにシステム・ターゲット・デコーダに渡す。この処理を「プリロード」という。
プリロードの技術的意義は次のとおりである。L/Rモードでは、ディペンデントビュー・データ・ブロックの復号にベースビュー・データ・ブロックが必要である。従って、復号後のデータを出力処理まで保持するためのバッファを必要最小限の容量に維持するには、それらのデータ・ブロックをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。一方、デプス・モードでは、復号後のベースビュー・ピクチャとデプスマップとの対から、視差画像を表すビデオ・プレーンの対を生成する処理が必要である。従って、復号後のデータをその処理まで保持するためのバッファを必要最小限の容量に維持するには、ベースビュー・データ・ブロックとデプスマップ・データ・ブロックとをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。それ故、プリロードにより、エクステント・ブロックの先頭又は再生開始位置のデータ・ブロックの全体を予めリード・バッファに読み込んでおく。それにより、そのデータ・ブロックと後続のデータ・ブロックとをリード・バッファからシステム・ターゲット・デコーダへ同時に転送して復号させることができる。更に、以降のデータ・ブロックの対もシステム・ターゲット・デコーダに同時に復号させることができる。
プリロードでは、最初に読み出されるデータ・ブロックの全体がリード・バッファに蓄積される。従って、リード・バッファには少なくとも、そのデータ・ブロックのサイズに等しい容量が要求される。ここで、リード・バッファの容量を最小限に維持するには、プリロードの対象とされるデータ・ブロックのサイズを可能な限り縮小すべきである。一方、飛び込み再生等のランダムアクセスでは、いずれのデータ・ブロックの対も再生開始位置に選択され得る。それ故、いずれのデータ・ブロックの対でも、データ量の小さい方を先に置く。それにより、リード・バッファの容量を最小限に維持することができる。
≪データ・ブロックに対するAVストリーム・ファイルのクロスリンク≫
図19に示されているデータ・ブロック群に対して、AVストリーム・ファイルのクロスリンクは次のように実現される。ファイルSS(01000.ssif)244Aのファイル・エントリ1940は、各エクステント・ブロック1901−1903を一つのエクステントと見なして各サイズとその先端のLBNとを示す。従って、各エクステント・ブロック1901−1903はファイルSS244AのエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]としてアクセス可能である。以下、ファイルSS244Aに属するエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]を「エクステントSS」という。各エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]は、ファイル2D241とはベースビュー・データ・ブロックB[n]を共有し、ファイルDEP242とはディペンデントビュー・データ・ブロックD[n]を共有する。
≪エクステント・ブロック群に対する再生経路≫
図21は、エクステント・ブロック群1901−1903に対する2D再生モードでの再生経路2101を示す模式図である。2D再生モードの再生装置102はファイル2D241を再生する。従って、2D再生モードでの再生経路2101が示すとおり、各エクステント・ブロック1901−1903からベースビュー・データ・ブロックB[n](n=0、1、2、…)が順番に2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]として読み出される。具体的には、まず先頭のエクステント・ブロック1901から先頭のベースビュー・データ・ブロックB[0]が読み出され、その直後のディペンデントビュー・データ・ブロックD[0]の読み出しが最初のジャンプJ2D1によってスキップされる。次に2番目のベースビュー・データ・ブロックB[1]が読み出され、その直後のデータNAVとディペンデントビュー・データ・ブロックD[1]との読み出しが2回目のジャンプJNAVによってスキップされる。続いて、2番目以降のエクステント・ブロック1902、1903内でも同様に、ベースビュー・データ・ブロックの読み出しとジャンプとが繰り返される。
2番目のエクステント・ブロック1902と3番目のエクステント・ブロック1903との間に生じるジャンプJLYは、層境界LBを越えるロングジャンプである。「ロングジャンプ」はジャンプの中でもシーク時間の長いものの総称であり、具体的には、ジャンプ距離が所定の閾値を超えるものをいう。「ジャンプ距離」とは、ジャンプ期間中に読み出し操作がスキップされるBD−ROMディスク101上の領域の長さをいう。ジャンプ距離は通常、その部分のセクタ数で表される。ロングジャンプの定義に利用される閾値は、BD−ROMの規格では例えば40000セクタに規定されている。しかし、その閾値は、BD−ROMディスクの種類と、BD−ROMドライブの読み出し処理に関する性能とに依存する。ロングジャンプは特にフォーカス・ジャンプとトラック・ジャンプとを含む。「フォーカス・ジャンプ」は、記録層の切り換えに伴うジャンプであり、光ピックアップの焦点距離を変化させる処理を含む。「トラック・ジャンプ」は、光ピックアップをBD−ROMディスク101の半径方向に移動させる処理を含む。
図21はまた、エクステント・ブロック群1901−1903に対するL/Rモードでの再生経路2102も示す。L/Rモードの再生装置102は第1ファイルSS244Aを再生する。従って、L/Rモードでの再生経路2102が示すとおり、各エクステント・ブロック1901−1903が順番にエクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]として読み出される。具体的には、まず先頭のエクステント・ブロック1901からデータ・ブロックD[0]、B[0]、D[1]、B[1]が連続して読み出され、その直後のデータNAVの読み出しが最初のジャンプJNAVによってスキップされる。次に2番目のエクステント・ブロック1902からデータ・ブロックD[2]、…、B[3]が連続して読み出される。その直後に、記録層の切り換えに伴うロングジャンプJLYが生じ、続いて、3番目のエクステント・ブロック1903からデータ・ブロックD[4]、B[4]、…が連続して読み出される。
エクステント・ブロック1901−1903をファイルSS244Aのエクステントとして読み込むとき、再生装置102はファイルSS244Aのファイル・エントリ1940から各エクステントSSEXTSS[0]、EXTSS[1]、…の先端のLBNとそのサイズとを読み出してBD−ROMドライブ121に渡す。BD−ROMドライブ121はそのLBNからそのサイズのデータを連続して読み出す。これらの処理は、データ・ブロック群をファイルDEP242とファイル2D241との各エクステントとして読み込む処理よりも、BD−ROMドライブ121の制御が次の二点(A)、(B)で簡単である:(A)再生装置102は一箇所のファイル・エントリを利用して各エクステントを順番に参照すればよい;(B)読み込み対象のエクステントの総数が実質上半減するので、BD−ROMドライブ121に渡されるべきLBNとサイズとの対の総数が少ない。但し、再生装置102はエクステントSSEXTSS[0]、EXTSS[1]、…を読み込んだ後、それぞれをディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとに分離してデコーダに渡さなければならない。その分離処理にはクリップ情報ファイルが利用される。その詳細については後述する。
図19に示されているように、各エクステント・ブロック1901−1903の実際の読み出しでは、BD−ROMドライブ121は各データ・ブロックの後端から次のデータ・ブロックの先端までの間にゼロ・セクタ遷移J0を行う。「ゼロ・セクタ遷移」とは、二つの連続するデータ・ブロック間での光ピックアップの移動をいう。ゼロ・セクタ遷移が行われる期間(以下、ゼロ・セクタ遷移期間という。)では、光ピックアップは読み出し動作を一旦停止して待機する。その意味で、ゼロ・セクタ遷移は「ジャンプ距離が0セクタに等しいジャンプ」とも見なせる。ゼロ・セクタ遷移期間の長さ、すなわちゼロ・セクタ遷移時間は、BD−ROMディスク101の回転による光ピックアップの位置の移動時間の他に、誤り訂正処理に伴うオーバーヘッドを含んでもよい。「誤り訂正処理に伴うオーバーヘッド」とは、二つのデータ・ブロックの境界がECCブロックの境界と一致していないときに、そのECCブロックを用いた誤り訂正処理が二回行われることに起因する余分な時間をいう。誤り訂正処理には一つのECCブロックの全体が必要である。従って、一つのECCブロックが二つの連続するデータ・ブロックに共有されているとき、いずれのデータ・ブロックの読み出し処理でもそのECCブロックの全体が読み出されて誤り訂正処理に利用される。その結果、それらのデータ・ブロックを一つ読み出すごとに、そのデータ・ブロックの他に最大32セクタの余分なデータが読み出される。誤り訂正処理に伴うオーバーヘッドは、その余分なデータの読み出し時間の合計、すなわち32[セクタ]×2048[バイト]×8[ビット/バイト]×2[回]/読み出し速度で評価される。尚、各データ・ブロックをECCブロック単位で構成することにより、誤り訂正処理に伴うオーバーヘッドがゼロ・セクタ遷移時間から除外されてもよい。
≪クリップ情報ファイル≫
図22は、第1クリップ情報ファイル(01000.clpi)、すなわち2Dクリップ情報ファイル231のデータ構造を示す模式図である。ディペンデントビュー・クリップ情報ファイル(02000.clpi)232、(03000.clpi)233も同様なデータ構造を持つ。以下では、まず2Dクリップ情報ファイル231のデータ構造を例にして、クリップ情報ファイル全般に共通するデータ構造を説明する。その後、ディペンデントビュー・クリップ情報ファイルについて、2Dクリップ情報ファイルとのデータ構造上の相違点を説明する。
図22を参照するに、2Dクリップ情報ファイル231は、クリップ情報2210、ストリーム属性情報2220、エントリ・マップ2230、及び3Dメタデータ2240を含む。3Dメタデータ2240はエクステント起点2242を含む。
クリップ情報2210は、システムレート2211、再生開始時刻2212、及び再生終了時刻2213を含む。システムレート2211は、ファイル2D(01000.m2ts)241に対するシステムレートを規定する。ここで、2D再生モードの再生装置102は、ファイル2D241に属するTSパケットをリード・バッファからシステム・ターゲット・デコーダへ転送する。「システムレート」はその転送速度の上限値を意味する。その転送速度がシステムレート以下に抑えられるように、ファイル2D241ではソースパケットのATSの間隔が設定されている。再生開始時刻2212は、ファイル2D241の先頭のVAUのPTS、例えば先頭の映像フレームのPTSを示す。再生終了時刻2212は、ファイル2D241の後端のVAUのPTSから所定量遅れたSTCの値、例えば最後の映像フレームのPTSに1フレーム当たりの再生時間を加えた値を示す。
ストリーム属性情報2220は、ファイル2D241に含まれる各エレメンタリ・ストリームのPID2221とその属性情報2222との間の対応表である。属性情報2222は、ビデオ・ストリーム、オーディオ・ストリーム、PGストリーム、及びIGストリームのそれぞれで異なる。例えばプライマリ・ビデオ・ストリームのPID0x1011に対応付けられた属性情報は、そのビデオ・ストリームの圧縮に利用されたコーデックの種類、そのビデオ・ストリームを構成する各ピクチャの解像度、アスペクト比、及びフレームレートを含む。一方、プライマリ・オーディオ・ストリームのPID0x1100に対応付けられた属性情報は、そのオーディオ・ストリームの圧縮に利用されたコーデックの種類、そのオーディオ・ストリームに含まれるチャンネル数、言語、及びサンプリング周波数を含む。属性情報2222は再生装置102により、デコーダの初期化に利用される。
[エントリ・マップ]
図23の(a)は、エントリ・マップ2230のデータ構造を示す模式図である。図23の(a)を参照するに、エントリ・マップ2230はテーブル2300を含む。テーブル2300は、メインTSに多重化されたビデオ・ストリームと同数であり、各ビデオ・ストリームに一つずつ割り当てられている。図23の(a)では各テーブル2300が割り当て先のビデオ・ストリームのPIDで区別されている。各テーブル2300はエントリ・マップ・ヘッダ2301とエントリ・ポイント2302とを含む。エントリ・マップ・ヘッダ2301は、そのテーブル2300に対応付けられたPIDと、そのテーブル2300に含まれるエントリ・ポイント2302の総数とを含む。エントリ・ポイント2302は、PTS2303とソースパケット番号(SPN)2304との対を一つずつ、異なるエントリ・ポイントID(EP_ID)2305に対応付ける。PTS2303は、エントリ・マップ・ヘッダ2301の示すPIDのビデオ・ストリームに含まれるいずれかのIピクチャのPTSに等しい。SPN2304は、そのIピクチャが格納されたソースパケット群の先頭のSPNに等しい。「SPN」とは、一つのAVストリーム・ファイルに属するソースパケット群に、先頭から順に割り当てられた通し番号をいう。SPNは、そのAVストリーム・ファイル内での各ソースパケットのアドレスとして利用される。2Dクリップ情報ファイル231内のエントリ・マップ2230では、SPNは、ファイル2D241に属するソースパケット群、すなわちメインTSを構成するソースパケット群に割り当てられた番号を意味する。従って、エントリ・ポイント2302は、ファイル2D241に含まれる各IピクチャのPTSとアドレス、すなわちSPNとの間の対応関係を表す。
エントリ・ポイント2302は、ファイル2D241内の全てのIピクチャに対して設定されていなくてもよい。但し、IピクチャがGOPの先頭に位置し、かつ、そのIピクチャの先頭を含むTSパケットが2Dエクステントの先頭に位置するときは、そのIピクチャにはエントリ・ポイント2302を設定しなければならない。
図23の(b)は、ファイル2D241に属するソースパケット群2310のうち、エントリ・マップ2230によって各EP_ID2305に対応付けられているものを示す模式図である。図23の(c)は、そのソースパケット群2310に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。再生装置102はファイル2D241から2D映像を再生するとき、エントリ・マップ2230を利用して、任意のシーンを表すフレームのPTSから、そのフレームを含むソースパケットのSPNを特定する。具体的には、再生開始位置として特定のエントリ・ポイントのPTS、例えばPTS=360000が指定されたとき、再生装置102はまず、エントリ・マップ2230から、そのPTSに対応付けられたSPN=3200を検索する。再生装置102は次に、そのSPNとソースパケット一つ当たりのデータ量192バイトとの積を求め、更に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商、SPN×192/2048を求める。図5の(c)、(d)から理解されるとおり、その値は、メインTSのうち、そのSPNが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。図23の(b)に示されている例では、その値3200×192/2048=300は、SPNが0から3199までであるソースパケット群2311が記録されたセクタの総数に等しい。再生装置102は続いて、ファイル2D241のファイル・エントリを参照し、2Dエクステント群が記録されたセクタ群の先頭から数えて(上記の総数+1)番目のセクタのLBNを特定する。図23の(c)に示されている例では、2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]、…としてアクセス可能なベースビュー・データ・ブロックB[0]、B[1]、B[2]、…が記録されたセクタ群のうち、先頭から数えて301番目のセクタのLBNが特定される。再生装置102はそのLBNをBD−ROMドライブ121に指定する。それにより、そのLBNのセクタから順にベースビュー・データ・ブロック群がアラインド・ユニット単位で読み出される。再生装置102は更に、最初に読み出されたアラインド・ユニットから、再生開始位置のエントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。それ以降、後続のピクチャは、先に復号されたピクチャを利用して順次復号される。こうして、再生装置102はファイル2D241から特定のPTS以降の2D映像を再生できる。
エントリ・マップ2230は更に、早送り再生及び巻戻し再生等の特殊再生の効率的な処理に有利である。例えば2D再生モードの再生装置102は、まずエントリ・マップ2230を参照して、再生開始位置、例えばPTS=360000以降のPTSを含むエントリ・ポイント、EP_ID=2、3、…からSPN=3200、4800、…を順番に読み出す。再生装置102は次にファイル2D241のファイル・エントリを利用して、各SPNに対応するセクタのLBNを特定する。再生装置102は続いて、各LBNをBD−ROMドライブ121に指定する。それにより、各LBNのセクタからアラインド・ユニットが読み出される。再生装置102は更に各アラインド・ユニットから、各エントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。こうして、再生装置102は2Dエクステント群EXT2D[n]自体を解析することなく、ファイル2D241からIピクチャを選択的に再生できる。
[エクステント起点]
図24の(a)は、エクステント起点2242のデータ構造を示す模式図である。図24の(a)を参照するに、「エクステント起点(Extent_Start_Point)」2242はベースビュー・エクステントID(EXT1_ID)2411とSPN2412とを含む。EXT1_ID2411は、ファイルSS(01000.ssif)244Aに属するベースビュー・データ・ブロックに先頭から順に割り当てられた通し番号である。SPN2412は各EXT1_ID2411に一つずつ割り当てられ、そのEXT1_ID2411で識別されるベースビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、ファイルSS244Aに属するベースビュー・データ・ブロック群に含まれるソースパケットに先頭から順に割り当てられた通し番号である。
図19に示されているエクステント・ブロック1901−1903では、各ベースビュー・データ・ブロックB[0]、B[1]、B[2]、…は、ファイル2D241とファイルSS244Aとに共有される。しかし、記録層間の境界等、ロングジャンプの必要な箇所に配置されたデータ・ブロック群は一般に、ファイル2D241又はファイルSS244Aのいずれかにのみ属するベースビュー・データ・ブロックを含む(詳細は《補足》参照)。従って、エクステント起点2242の示すSPN2412は、ファイル2D241に属する2Dエクステントの先端に位置するソースパケットのSPNとは一般に異なる。
図24の(b)は、第2クリップ情報ファイル(02000.clpi)、すなわちディペンデントビュー・クリップ情報ファイル232に含まれるエクステント起点2420のデータ構造を示す模式図である。図24の(b)を参照するに、エクステント起点2420は、ディペンデントビュー・エクステントID(EXT2_ID)2421とSPN2422とを含む。EXT2_ID2421は、ファイルSS244Aに属するディペンデントビュー・データ・ブロックに、先頭から順に割り当てられた通し番号である。SPN2422は各EXT2_ID2421に一つずつ割り当てられ、そのEXT2_ID2421で識別されるディペンデントビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、ファイルSS244Aに属するディペンデントビュー・データ・ブロック群に含まれるソースパケットに、先頭から順に割り当てられた通し番号である。
図24の(d)は、ファイルDEP(02000.m2ts)242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点2420の示すSPN2422との間の対応関係を表す模式図である。図19に示されているように、ディペンデントビュー・データ・ブロックはファイルDEP242とファイルSS244Aとに共有される。従って、図24の(d)に示されているように、エクステント起点2420の示す各SPN2422は、各ディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…の先端に位置するソースパケットのSPNに等しい。
2Dクリップ情報ファイル231のエクステント起点2242とディペンデントビュー・クリップ情報ファイル232のエクステント起点2420とは、以下に説明するように、ファイルSS244Aから3D映像が再生されるとき、各エクステントSSに含まれるデータ・ブロックの境界の検出に利用される。
図24の(e)は、ファイルSS244Aに属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。図24の(e)を参照するに、そのエクステント・ブロックはインターリーブ配置のデータ・ブロック群D[n]、B[n](n=0、1、2、…)を含む。尚、以下の説明はその他の配置でも同様に成立する。そのエクステント・ブロックは一つのエクステントSSEXTSS[0]としてアクセス可能である。更に、そのエクステントSSEXTSS[0]の中でベースビュー・データ・ブロックB[n]に含まれるソースパケットの数は、エクステント起点2242において、EXT1_ID=n+1、nのそれぞれに対応するSPN間の差A(n+1)−Anに等しい。ここで、A0=0とする。一方、ディペンデントビュー・データ・ブロックD[n+1]に含まれるソースパケットの数は、エクステント起点2420において、EXT2_ID=n+1、nのそれぞれに対応するSPN間の差B(n+1)−Bnに等しい。ここで、B0=0とする。
3D再生モードの再生装置102はファイルSS244Aから3D映像を再生するとき、各クリップ情報ファイル231、232のエントリ・マップとエクステント起点2242、2420とを利用する。それにより、再生装置102は、任意のシーンのライトビューを表すフレームのPTSから、そのフレームの構成に必要なディペンデントビュー・データ・ブロックが記録されたセクタのLBNを特定する。具体的には、再生装置102はまず、例えばディペンデントビュー・クリップ情報ファイル232のエントリ・マップから、そのPTSに対応付けられたSPNを検索する。仮に、そのSPNの示すソースパケットが、ファイルDEP242の3番目のディペンデントビュー・エクステントEXT2[2]、すなわちディペンデントビュー・データ・ブロックD[2]に含まれる場合を想定する。再生装置102は次に、ディペンデントビュー・クリップ情報ファイル232のエクステント起点2420の示すSPN2422の中から、目標のSPN以下で最大のもの“B2”と、それに対応するEXT2_ID“2”とを検索する。再生装置102は続いて、2Dクリップ情報ファイル231のエクステント起点2242から、そのEXT2_ID“2”と等しいEXT1_IDに対応するSPN2412の値“A2”を検索する。再生装置102は更に、検索されたSPNの和B2+A2を求める。図24の(e)から理解されるように、その和B2+A2は、エクステントSSEXTSS[0]の中で、3番目のディペンデントビュー・データ・ブロックD[2]よりも前に配置されたソースパケットの総数に等しい。従って、その和B2+A2とソースパケット一つ当たりのデータ量192バイトとの積をセクタ一つ当たりのデータ量2048バイトで割ったときの商(B2+A2)×192/2048は、エクステントSSEXTSS[0]の先頭から3番目のディペンデントビュー・データ・ブロックD[2]の直前までのセクタ数に等しい。この商を利用してファイルSS244Aのファイル・エントリを参照すれば、そのディペンデントビュー・データ・ブロックD[2]の先端が記録されたセクタのLBNを特定することができる。
再生装置102は、上記のようにLBNを特定した後、そのLBNをBD−ROMドライブ121に指定する。それにより、そのLBNのセクタ以降に記録されたエクステントSSEXTSS[0]の部分、すなわち、3番目のディペンデントビュー・データ・ブロックD[2]以降のデータ・ブロック群D[2]、B[2]、D[3]、B[3]、…が、アラインド・ユニット単位で読み出される。
再生装置102は更にエクステント起点2242、2420を利用して、読み出されたエクステントSSからディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。例えば、図24の(e)に示されているエクステントSSEXTSS[0]からデータ・ブロック群D[n]、B[n](n=0、1、2、…)が順番に読み出されるときを想定する。再生装置102はまず、エクステントSSEXTSS[0]の先頭からB1個のソースパケットを最初のディペンデントビュー・データ・ブロックD[0]として抽出する。再生装置102は次に、B1番目のソースパケットと、それに続く(A1−1)個のソースパケットとの計A1個のソースパケットを最初のベースビュー・データ・ブロックB[0]として抽出する。再生装置102は続いて、(B1+A1)番目のソースパケットと、それに続く(B2−B1−1)個のソースパケットとの計(B2−B1)個のソースパケットを二番目のディペンデントビュー・データ・ブロックD[1]として抽出する。再生装置102は更に、(A1+B2)番目のソースパケットと、それに続く(A2−A1−1)個のソースパケットとの計(A2−A1)個のソースパケットを2番目のベースビュー・データ・ブロックB[1]として抽出する。それ以降も再生装置102は同様に、読み出されるソースパケットの数からエクステントSS内のデータ・ブロック間の境界を検出して、ディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。抽出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとはパラレルにシステム・ターゲット・デコーダに渡されて復号される。
こうして、3D再生モードの再生装置102はファイルSS244Aから特定のPTS以降の3D映像を再生できる。その結果、再生装置102は、BD−ROMドライブ121の制御に関する上記の利点(A)、(B)を実際に享受できる。
≪ファイル・ベース≫
図24の(c)は、3D再生モードの再生装置102によってファイルSS244Aから抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。図24の(c)を参照するに、それらのベースビュー・データ・ブロックB[n](n=0、1、2、…)の含むソースパケット群に、先頭から順にSPNを割り当てたとき、各データ・ブロックB[n]の先端に位置するソースパケットのSPNは、エクステント起点2242の示すSPN2412に等しい。それらのベースビュー・データ・ブロック群B[n]のように、エクステント起点を利用して一つのファイルSSから抽出されるベースビュー・データ・ブロック群を「ファイル・ベース」という。更に、ファイル・ベースに含まれるベースビュー・データ・ブロックを「ベースビュー・エクステント」という。図24の(e)に示されているように、各ベースビュー・エクステントEXT1[0]、EXT1[1]、…はクリップ情報ファイル内のエクステント起点2242、2420によって参照される。
ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とベースビュー・データ・ブロックB[n]を共有する。従って、ファイル・ベースはファイル2Dと同じメインTSを含む。しかし、ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とは異なり、いずれのファイルのファイル・エントリによっても参照されない。上記のとおり、ベースビュー・エクステントEXT1[n]は、クリップ情報ファイル内のエクステント起点を利用して、ファイルSS内のエクステントSSEXTSS[・]から抽出される。このように、ファイル・ベースは本来のファイルとは異なり、ファイル・エントリを含まず、かつ、ベースビュー・エクステントの参照にエクステント起点を必要とする。それらの意味で、ファイル・ベースは「仮想的なファイル」である。特にファイル・ベースはファイルシステムでは認識されず、図2に示されているディレクトリ/ファイル構造には現れない。
図25は、BD−ROMディスク101上に記録された一つのエクステント・ブロック2500と、ファイル2D2510、ファイル・ベース2511、ファイルDEP2512、及びファイルSS2520の各エクステント群との間の対応関係を示す模式図である。図25を参照するに、エクステント・ブロック2500はディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とを含む(n=…、0、1、2、3、…)。ベースビュー・データ・ブロックB[n]は2DエクステントEXT2D[n]としてファイル2D2510に属する。ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・エクステントEXT2[n]としてファイルDEP2512に属する。エクステント・ブロック2500の全体が一つのエクステントSSEXTSS[0]としてファイルSS2520に属する。従って、エクステントSSEXTSS[0]は、2DエクステントEXT2D[n]とはベースビュー・データ・ブロックB[n]を共有し、ディペンデントビュー・エクステントEXT2[n]とはディペンデントビュー・データ・ブロックD[n]を共有する。エクステントSSEXTSS[0]は再生装置102に読み込まれた後、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分離される。それらのベースビュー・データ・ブロックB[n]はベースビュー・エクステントEXT1[n]としてファイル・ベース2511に属する。エクステントSSEXTSS[0]内でのベースビュー・エクステントEXT1[n]とディペンデントビュー・エクステントEXT2[n]との間の境界は、ファイル2D2510とファイルDEP2512とのそれぞれに対応付けられたクリップ情報ファイル内のエクステント起点を利用して特定される。
≪ディペンデントビュー・クリップ情報ファイル≫
ディペンデントビュー・クリップ情報ファイルは、図22−24に示されている2Dクリップ情報ファイルとデータ構造が同様である。従って、以下の説明では、ディペンデントビュー・クリップ情報ファイルと2Dクリップ情報ファイルとの間の相違点に触れ、同様な点についての説明は上記の説明を援用する。
ディペンデントビュー・クリップ情報ファイルは2Dクリップ情報ファイルとは主に次の二点(i)、(ii)で異なる:(i)ストリーム属性情報に条件が課せられている;(ii)エントリ・ポイントに条件が課せられている。
(i)ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとがL/Rモードの再生装置102によって3D映像の再生に利用されるものであるとき、図7に示されているとおり、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームを利用して圧縮されている。そのとき、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームとビデオ・ストリーム属性が等しい。ここで、ベースビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報は2Dクリップ情報ファイルのストリーム属性情報2220内でPID=0x1011に対応付けられている。一方、ディペンデントビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報はディペンデントビュー・クリップ情報ファイルのストリーム属性情報内でPID=0x1012又は0x1013に対応付けられている。従って、それらのビデオ・ストリーム属性情報間では、図22に示されている各項目、すなわち、コーデック、解像度、アスペクト比、及びフレームレートが一致しなければならない。コーデックの種類が一致していれば、ベースビュー・ピクチャとディペンデントビュー・ピクチャとの間に符号化での参照関係が成立するので、各ピクチャを復号することができる。解像度、アスペクト比、及びフレームレートがいずれも一致していれば、左右の映像の画面表示を同期させることができる。それ故、それらの映像を3D映像として視聴者に違和感を与えることなく見せることができる。
(ii)ディペンデントビュー・クリップ情報ファイルのエントリ・マップは、ディペンデントビュー・ビデオ・ストリームに割り当てられたテーブルを含む。そのテーブルは、図23の(a)に示されているテーブル2300と同様に、エントリ・マップ・ヘッダとエントリ・ポイントとを含む。エントリ・マップ・ヘッダは、対応するディペンデントビュー・ビデオ・ストリームのPID、すなわち0x1012又は0x1013を示す。各エントリ・ポイントは一対のPTSとSPNとを一つのEP_IDに対応付けている。各エントリ・ポイントのPTSは、ディペンデントビュー・ビデオ・ストリームに含まれるいずれかのGOPの先頭のピクチャのPTSと等しい。各エントリ・ポイントのSPNは、同じエントリ・ポイントに属するPTSの示すピクチャが格納されたソースパケット群の先頭のSPNに等しい。ここで、SPNは、ファイルDEPに属するソースパケット群、すなわちサブTSを構成するソースパケット群に先頭から順に割り当てられた通し番号を意味する。各エントリ・ポイントのPTSは、2Dクリップ情報ファイルのエントリ・マップのうち、ベースビュー・ビデオ・ストリームに割り当てられたテーブル内のエントリ・ポイントのPTSと一致しなければならない。すなわち、同じ3D・VAUに含まれる一対のピクチャの一方を含むソースパケット群の先頭にエントリ・ポイントが設定されているときは常に、他方を含むソースパケット群の先頭にもエントリ・ポイントが設定されていなければならない。
図26は、ベースビュー・ビデオ・ストリーム2610とディペンデントビュー・ビデオ・ストリーム2620とに設定されたエントリ・ポイントの例を示す模式図である。各ビデオ・ストリーム2610、2620では、先頭から数えて同じ順番のGOPが同じ再生期間の映像を表す。図26を参照するに、ベースビュー・ビデオ・ストリーム2610では、先頭から数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント2601B、2603B、2605Bが設定されている。それに併せて、ディペンデントビュー・ビデオ・ストリーム2620でも、先頭から数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント2601D、2603D、2605Dが設定されている。その場合、再生装置102は、例えばGOP#3から3D映像の再生を開始するとき、対応するエントリ・ポイント2603B、2603DのSPNからファイルSS内の再生開始位置のSPNを直ちに算定できる。特にエントリ・ポイント2603B、2603Dがいずれもデータ・ブロックの先端に設定されているとき、図24の(e)から理解されるとおり、エントリ・ポイント2603B、2603DのSPNの和がファイルSS内の再生開始位置のSPNに等しい。図24の(e)の説明で述べたとおり、そのソースパケットの数からは、ファイルSS内の再生開始位置の部分が記録されたセクタのLBNを算定することができる。こうして、3D映像の再生においても、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理の応答速度を向上させることができる。
≪2Dプレイリスト・ファイル≫
図27は、2Dプレイリスト・ファイルのデータ構造を示す模式図である。図2に示されている第1プレイリスト・ファイル(00001.mpls)221はこのデータ構造を持つ。図27を参照するに、2Dプレイリスト・ファイル221はメインパス2701と二つのサブパス2702、2703とを含む。
メインパス2701はプレイアイテム情報(PI)の配列であり、ファイル2D241の主要な再生経路、すなわち再生対象の部分とその再生順とを規定する。各PIは固有のプレイアイテムID=#N(N=1、2、3、…)で識別される。各PI#Nは主要な再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の開始時刻(In−Time)を表し、他方は終了時刻(Out−Time)を表す。更に、メインパス2701内でのPIの順序は、再生経路内での、対応する再生区間の順序を表す。
各サブパス2702、2703はサブプレイアイテム情報(SUB_PI)の配列であり、ファイル2D241の主要な再生経路に並列に付随可能な再生経路を規定する。その再生経路は、ファイル2D241のうち、メインパス2701の表す部分とは別の部分とその再生順とを意味する。その他に、その再生経路は、ファイル2D241とは別のファイル2Dに多重化されたストリーム・データの再生対象部分とその再生順とを意味してもよい。その再生経路の意味するストリーム・データは、メインパス2701に従ってファイル2D241から再生される2D映像と同時に再生されるべき別の2D映像を表す。その別の2D映像は、例えば、ピクチャ・イン・ピクチャ方式における副映像、ブラウザ画面、ポップアップ・メニュー、又は字幕を含む。サブパス2702、2703には、2Dプレイリスト・ファイル221への登録順に通し番号“0”、“1”が振られている。その通し番号はサブパスIDとして、各サブパス2702、2703の識別に利用される。各サブパス2702、2703ではSUB_PIが固有のサブプレイアイテムID=#M(M=1、2、3、…)で識別される。各SUB_PI#Mは、再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の再生開始時刻を表し、他方は再生終了時刻を表す。更に、各サブパス2702、2703内でのSUB_PIの順序は、再生経路内での、対応する再生区間の順序を表す。
図28は、PI#Nのデータ構造を示す模式図である。図28を参照するに、PI#Nは、参照クリップ情報2801、再生開始時刻(In_Time)2802、再生終了時刻(Out_Time)2803、コネクション・コンディション2804、及びストリーム選択テーブル(以下、STN(Stream Number)テーブルと略す。)2805を含む。参照クリップ情報2801は、2Dクリップ情報ファイル231を識別するための情報である。再生開始時刻2802と再生終了時刻2803とは、ファイル2D241の再生対象部分の先端と後端との各PTSを示す。コネクション・コンディション2804は、再生開始時刻2802と再生終了時刻2803とによって規定された再生区間での映像を、一つ前のPI#(N−1)によって規定された再生区間での映像に接続するときの条件を規定する。STNテーブル2805は、再生開始時刻2802から再生終了時刻2803までの間に再生装置102内のデコーダによってファイル2D241から選択可能なエレメンタリ・ストリームの一覧表である。
SUB_PIのデータ構造は、図28に示されているPIのデータ構造と、参照クリップ情報、再生開始時刻、及び再生終了時刻を含む点で共通する。特にSUB_PIの再生開始時刻と再生終了時刻とは、PIのそれらと同じ時間軸上の値で表される。SUB_PIは更に「SPコネクション・コンディション」というフィールドを含む。SPコネクション・コンディションはPIのコネクション・コンディションと同じ意味を持つ。
[コネクション・コンディション]
コネクション・コンディション(以下、CCと略す。)2804は、“1”、“5”、“6”の三種類の値を取り得る。CC2804が“1”であるとき、PI#Nによって規定されるファイル2D241の部分から再生される映像は、直前のPI#(N−1)によって規定されるファイル2D241の部分から再生される映像とは必ずしもシームレスに接続されなくてもよい。一方、CC2804が“5”又は“6”であるとき、それら両方の映像が必ずシームレスに接続されなければならない。
図29の(a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続対象の二つの再生区間2901、2902の間の関係を示す模式図である。ここで、PI#(N−1)はファイル2D241の第1部分2901を規定し、PI#Nはファイル2D241の第2部分2902を規定する。図29の(a)を参照するに、CCが“5”であるとき、2つのPI#(N−1)、PI#Nの間でSTCが途切れていてもよい。すなわち、第1部分2901の後端のPTS#1と第2部分2902の先端のPTS#2とは不連続であってもよい。但し、いくつかの制約条件が満たされねばならない。例えば、第1部分2901に続けて第2部分2902をデコーダに供給したときでもそのデコーダが復号処理をスムーズに持続できるように、各部分2901、2902が作成されていなければならない。更に、第1部分2901に含まれるオーディオ・ストリームの最後のフレームを、第2部分2902に含まれるオーディオ・ストリームの先頭フレームと重複させなければならない。一方、図29の(b)を参照するに、CCが“6”であるとき、第1部分2901と第2部分2902とは、デコーダの復号処理上、一連の部分として扱えるものでなければならない。すなわち、第1部分2901と第2部分2902との間ではSTCとATCとがいずれも連続でなければならない。同様に、SPコネクション・コンディションが“5”又は“6”であるとき、隣接する2つのSUB_PIによって規定されるファイル2Dの部分間では、STCとATCとがいずれも連続でなければならない。
[STNテーブル]
図28を再び参照するに、STNテーブル2805はストリーム登録情報の配列である。「ストリーム登録情報」とは、再生開始時刻2802から再生終了時刻2803までの間にメインTSから再生対象として選択可能なエレメンタリ・ストリームを個別に示す情報である。ストリーム番号(STN)2806は、ストリーム登録情報に個別に割り当てられた通し番号であり、再生装置102によって各エレメンタリ・ストリームの識別に利用される。STN2806は更に、同じ種類のエレメンタリ・ストリームの間では選択の優先順位を表す。ストリーム登録情報はストリーム・エントリ2809とストリーム属性情報2810とを含む。ストリーム・エントリ2809はストリーム・パス情報2807とストリーム識別情報2808とを含む。ストリーム・パス情報2807は、選択対象のエレメンタリ・ストリームが属するファイル2Dを示す情報である。例えばストリーム・パス情報2807が“メインパス”を示すとき、そのファイル2Dは、参照クリップ情報2801の示す2Dクリップ情報ファイルに対応するものである。一方、ストリーム・パス情報2807が“サブパスID=1”を示すとき、選択対象のエレメンタリ・ストリームが属するファイル2Dは、サブパスID=1のサブパスに含まれるSUB_PIの参照クリップ情報が示す2Dクリップ情報ファイルに対応するものである。そのSUB_PIの規定する再生開始時刻又は再生終了時刻のいずれかは、STNテーブル2805を含むPIの規定する再生開始時刻2802から再生終了時刻2803までの期間に含まれる。ストリーム識別情報2808は、ストリーム・パス情報2807によって特定されるファイル2Dに多重化されているエレメンタリ・ストリームのPIDを示す。このPIDの示すエレメンタリ・ストリームが再生開始時刻2802から再生終了時刻2803までの間に選択可能である。ストリーム属性情報2810は各エレメンタリ・ストリームの属性情報を表す。例えば、オーディオ・ストリーム、PGストリーム、及びIGストリームの各属性情報は言語の種類を示す。
[2Dプレイリスト・ファイルに従った2D映像の再生]
図30は、2Dプレイリスト・ファイル(00001.mpls)221の示すPTSと、ファイル2D(01000.m2ts)241から再生される部分との間の対応関係を示す模式図である。図30を参照するに、2Dプレイリスト・ファイル221のメインパス2701では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)231を示す。再生装置102は2Dプレイリスト・ファイル221に従って2D映像を再生するとき、まずPI#1からPTS#1、#2を読み出す。再生装置102は次に、2Dクリップ情報ファイル231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D241内のSPN#1、#2を検索する。再生装置102は続いて、SPN#1、#2から、それぞれに対応するセクタ数を算定する。再生装置102は更にそれらのセクタ数とファイル2D241のファイル・エントリとを利用して、再生対象の2Dエクステント群EXT2D[0]、…、EXT2D[n]が記録されたセクタ群P1の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図23の(b)、(c)を用いて説明したとおりである。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P1から、2Dエクステント群EXT2D[0]、…、EXT2D[n]に属するソースパケット群が読み出される。同様に、PI#2の示すPTS#3、#4の対はまず、2Dクリップ情報ファイル231のエントリ・マップを利用してSPN#3、#4の対に変換される。次に、ファイル2D241のファイル・エントリを利用してSPN#3、#4の対がLBN#3、#4の対に変換される。更に、LBN#3からLBN#4までの範囲のセクタ群P2から、2Dエクステント群に属するソースパケット群が読み出される。PI#3の示すPTS#5、#6の対からSPN#5、#6の対への変換、SPN#5、#6の対からLBN#5、#6の対への変換、及びLBN#5からLBN#6までの範囲のセクタ群P3からのソースパケット群の読み出しも同様である。こうして、再生装置102は2Dプレイリスト・ファイル221のメインパス2701に従ってファイル2D241から2D映像を再生できる。
2Dプレイリスト・ファイル221はエントリ・マーク3001を含んでもよい。エントリ・マーク3001は、メインパス2701のうち、実際に再生が開始されるべき時点を示す。例えば図30に示されているように、PI#1に対して複数のエントリ・マーク3001が設定されてもよい。エントリ・マーク3001は特に頭出し再生において、再生開始位置の検索に利用される。例えば2Dプレイリスト・ファイル221が映画タイトルの再生経路を規定するとき、エントリ・マーク3001は各チャプタの先頭に付与される。それにより、再生装置102はその映画タイトルをチャプタごとに再生できる。
≪3Dプレイリスト・ファイル≫
図31は、3Dプレイリスト・ファイルのデータ構造を示す模式図である。図2に示されている第2プレイリスト・ファイル(00002.mpls)222はこのデータ構造を持つ。第3プレイリスト・ファイル(00003.mpls)223も同様である。図31を参照するに、3Dプレイリスト・ファイル222は、メインパス3101、サブパス3102、及び拡張データ3103を含む。
メインパス3101は、図3の(a)に示されているメインTSの再生経路を規定する。従って、メインパス3101は、図27に示されている2Dプレイリスト・ファイル221のメインパス2701と実質的に等しい。すなわち、2D再生モードの再生装置102は3Dプレイリスト・ファイル222のメインパス3101に従ってファイル2D241から2D映像を再生できる。一方、メインパス3101は、図27に示されているメインパス2701とは次の点で異なる:各PIのSTNテーブルは、いずれかのグラフィックス・ストリームのPIDに一つのSTNを対応付けている際には更に、そのSTNに一つのオフセット・シーケンスIDを割り当てている。
サブパス3102は、図3の(b)に示されているサブTSの再生経路、すなわちファイルDEP242又は243の再生経路を規定する。サブパス3102のデータ構造は、図27に示されている2Dプレイリスト・ファイル241のサブパス2702、2703のデータ構造と同様である。従って、その同様なデータ構造の詳細、特にSUB_PIのデータ構造の詳細についての説明は、図27を用いた説明を援用する。
サブパス3102のSUB_PI#N(N=1、2、3、…)はメインパス3101のPI#Nと一対一に対応する。更に、各SUB_PI#Nの規定する再生開始時刻と再生終了時刻とはそれぞれ、対応するPI#Nの規定する再生開始時刻と再生終了時刻とに等しい。サブパス3102はその上、サブパス・タイプ3110を含む。「サブパス・タイプ」は一般に、メインパスとサブパスとの間で再生処理が同期すべきか否かを示す。3Dプレイリスト・ファイル222では特にサブパス・タイプ3110が3D再生モードの種類、すなわちサブパス3102に従って再生されるべきディペンデントビュー・ビデオ・ストリームの種類を示す。図31では、サブパス・タイプ3110は、その値が「3D・L/R」であるので、3D再生モードがL/Rモードであること、すなわちライトビュー・ビデオ・ストリームが再生対象であることを示す。一方、サブパス・タイプ3110は、その値が「3Dデプス」であるとき、3D再生モードがデプス・モードであること、すなわちデプスマップ・ストリームが再生対象であることを示す。3D再生モードの再生装置102は、サブパス・タイプ3110の値が「3D・L/R」又は「3Dデプス」であることを検出したとき、メインパス3101に従った再生処理とサブパス3102に従った再生処理とを同期させる。
拡張データ3103は、3D再生モードの再生装置102によってのみ解釈される部分であり、2D再生モードの再生装置102には無視される。拡張データ3103は特に、拡張ストリーム選択テーブル3130を含む。「拡張ストリーム選択テーブル(STN_table_SS)」(以下、STNテーブルSSと略す。)は、3D再生モードにおいて、メインパス3101内の各PIの示すSTNテーブルに追加されるべきストリーム登録情報の配列である。このストリーム登録情報は、サブTSから再生対象として選択可能なエレメンタリ・ストリームを示す。
[STNテーブル]
図32は、3Dプレイリスト・ファイル222のメインパス3101の含むSTNテーブル3205を示す模式図である。図32を参照するに、STN3206=5、6、…、11の割り当てられたストリーム識別情報3208が、PGストリーム又はIGストリームのPIDを示す。その場合、STN3206=5、6、…、11の割り当てられたストリーム属性情報3210は参照オフセットID3201とオフセット補正値3202とを更に含む。
ファイルDEP242では、図11に示されているように、各ビデオ・シーケンスのVAU#1にオフセット・メタデータ1110が配置されている。参照オフセットID(stream_ref_offset_id)3201は、そのオフセット・メタデータ1110の含むオフセット・シーケンスID1112のいずれかに等しい。すなわち、参照オフセットID3201は、そのオフセット・メタデータ1110の含む複数のオフセット・シーケンスの中で、STN3206=5、6、…、11のそれぞれに対応付けられるべきオフセット・シーケンスを規定する。
オフセット補正値(stream_offset_adjustment)3202は、参照オフセットID3201の規定するオフセット・シーケンスに含まれる各オフセット値に加えられるべき値を示す。オフセット補正値3202は例えば、表示装置103の画面のサイズが、3D映像コンテンツの作成時に想定されているサイズとは異なる場合に、再生装置102によって各オフセット値に加えられる。それにより、レフトビューとライトビューとの2Dグラフィックス映像間での両眼視差が適正な範囲に収められる。
[STNテーブルSS]
図33は、STNテーブルSS3130のデータ構造を示す模式図である。図33を参照するに、STNテーブルSS3130はストリーム登録情報列3301、3302、3303、…を含む。ストリーム登録情報列3301、3302、3303、…はメインパス3101内のPI#1、#2、#3、…に個別に対応し、3D再生モードの再生装置102により、対応するPI内のSTNテーブルに含まれるストリーム登録情報列と組み合わされて利用される。各PIに対するストリーム登録情報列3301は、ポップアップ期間のオフセット(Fixed_offset_during_Popup)3311と、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312とを含む。
ポップアップ期間のオフセット3311は、IGストリームからポップアップ・メニューが再生されるか否かを示す。3D再生モードの再生装置102はそのオフセット3311の値に依って、ビデオ・プレーンとグラフィックス・プレーンとの各表示モード(presentation mode)を変える。ここで、ビデオ・プレーンの表示モードにはベースビュー(B)−ディペンデントビュー(D)表示モードとB−B表示モードとの二種類がある。グラフィックス・プレーンの表示モードには1プレーン+オフセット・モードと1プレーン+ゼロ・オフセット・モードとの二種類がある。例えばポップアップ期間のオフセット3311の値が“0”であるとき、IGストリームからはポップアップ・メニューが再生されない。そのとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセット3311の値が“1”であるとき、IGストリームからポップアップ・メニューが再生される。そのとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。
「B−D表示モード」では、再生装置102がレフトビューとライトビューとのビデオ・プレーンを交互に出力する。従って、表示装置103の画面にはレフトビューとライトビューとのフレームが交互に表示されるので、視聴者にはそれらが3D映像として見える。「B−B表示モード」では再生装置102が、動作モードを3D再生モードに維持したまま(特にフレームレートを3D再生時の値、例えば48フレーム/秒に維持したまま)、ベースビュー・ビデオ・ストリームから復号されたプレーン・データのみを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面には、レフトビューとライトビューとのいずれかのビデオ・プレーンしか表示されないので、視聴者にはそれらが2D映像としてしか見えない。
「1プレーン+オフセット・モード」では、再生装置102がオフセット制御により、メインTS内のグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対を生成して交互に出力する。それにより、表示装置103の画面にはレフトビューとライトビューとのグラフィックス・プレーンが交互に表示されるので、視聴者にはそれらが3Dグラフィックス映像として見える。「1プレーン+ゼロ・オフセット・モード」では、再生装置102が、動作モードを3D再生モードに維持したまま、オフセット制御を一時的に停止させ、メインTS内のグラフィックス・ストリームから復号されたグラフィックス・プレーンを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面には、レフトビューとライトビューとのいずれかのグラフィックス・プレーンしか表示されないので、視聴者にはそれらが2Dグラフィックス映像としてしか見えない。
3D再生モードの再生装置102は、PIごとにポップアップ期間のオフセット3311を参照して、IGストリームからポップアップ・メニューが再生されるときはB−B表示モードと1プレーン+ゼロ・オフセット・モードとを選択する。それにより、ポップアップ・メニューが表示される間、他の3D映像が一時的に2D映像に変更されるので、ポップアップ・メニューの視認性・操作性が向上する。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312は、サブTSから再生対象として選択可能なディペンデントビュー・ビデオ・ストリームを示すストリーム登録情報を含む。このストリーム登録情報列3312は、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、ベースビュー・ビデオ・ストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
図33を参照するに、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312は一般に複数のストリーム登録情報(SS_dependet_view_block)3320を含む。それらは、対応するPI内のストリーム登録情報のうち、ベースビュー・ビデオ・ストリームを示すものと同数である。各ストリーム登録情報3320は、STN3321、ストリーム・エントリ3322、及びストリーム属性情報3323を含む。STN3321はストリーム登録情報3320に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。ストリーム・エントリ3322は、サブパスID参照情報(ref_to_Subpath_id)3331、ストリーム・ファイル参照情報(ref_to_subClip_entry_id)3332、及びPID(ref_to_stream_PID_subclip)3333を含む。サブパスID参照情報3331は、ディペンデントビュー・ビデオ・ストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報3332は、そのディペンデントビュー・ビデオ・ストリームが格納されたファイルDEPを識別するための情報である。PID3333は、そのディペンデントビュー・ビデオ・ストリームのPIDである。ストリーム属性情報3323はそのディペンデントビュー・ビデオ・ストリームの属性、例えばフレームレート、解像度、及びビデオフォーマットを含む。特にそれらは、対応するPIに含まれる組み合わせ対象のストリーム登録情報が示すベースビュー・ビデオ・ストリームの属性と共通である。
[3Dプレイリスト・ファイルに従った3D映像の再生]
図34は、3Dプレイリスト・ファイル(00002.mpls)222の示すPTSと、ファイルSS(01000.ssif)244Aから再生される部分との間の対応関係を示す模式図である。図34を参照するに、3Dプレイリスト・ファイル222のメインパス3401では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)231を示す。一方、サブパス・タイプが「3D・L/R」を示すサブパス3402では、SUB_PI#1が、PI#1と同じPTS#1、#2を規定する。SUB_PI#1の参照クリップ情報はディペンデントビュー・クリップ情報ファイル(02000.clpi)232を示す。
再生装置102は3Dプレイリスト・ファイル222に従って3D映像を再生するとき、まずPI#1とSUB_PI#1とからPTS#1、#2を読み出す。再生装置102は次に2Dクリップ情報ファイル231のエントリ・マップを参照し、PTS#1、#2に対応するファイル2D241内のSPN#1、#2を検索する。それと並行して、再生装置102はディペンデントビュー・クリップ情報ファイル232のエントリ・マップを参照し、PTS#1、#2に対応するファイルDEP242内のSPN#11、#12を検索する。再生装置102は続いて、図24の(e)の説明で述べたように、各クリップ情報ファイル231、232のエクステント起点2242、2420を利用して、ファイルSS244Aの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定する。再生装置102は同様に、ファイルSS244Aの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。再生装置102は更にSPN#21、#22のそれぞれに対応するセクタ数を算定する。再生装置102は続いて、それらのセクタ数とファイルSS244Aのファイル・エントリとを利用して、再生対象のエクステントSS群EXTSS[0]、…、EXTSS[n]が記録されたセクタ群P11の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図24の(e)の説明で述べたものと同様である。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P11から、エクステントSS群EXTSS[0]、…、EXTSS[n]に属するソースパケット群が読み出される。同様に、PI#2とSUB_PI#2との示すPTS#3、#4の対は、まずクリップ情報ファイル231、232の各エントリ・マップを利用してSPN#3、#4の対とSPN#13、#14の対とに変換される。次に、SPN#3、#13からはファイルSS244Aの先頭から再生開始位置までのソースパケット数SPN#23が算定され、SPN#4、#14からはファイルSS244Aの先頭から再生終了位置までのソースパケット数SPN#24が算定される。続いて、ファイルSS244Aのファイル・エントリを利用して、SPN#23、#24の対がLBN#3、#4の対に変換される。更に、LBN#3からLBN#4までの範囲のセクタ群P12から、エクステントSS群に属するソースパケット群が読み出される。
上記の読み出し処理と並行して、再生装置102は、図24の(e)の説明で述べたように各クリップ情報ファイル231、232のエクステント起点2242、2420を利用して、各エクステントSSからベースビュー・エクステントを抽出し、残りのディペンデントビュー・エクステントとパラレルに復号する。こうして、再生装置102は、3Dプレイリスト・ファイル222に従ってファイルSS244Aから3D映像を再生できる。
≪インデックス・ファイル≫
図35は、図2に示されているインデックス・ファイル(index.bdmv)211のデータ構造を示す模式図である。図35を参照するに、インデックス・ファイル211は、インデックス・テーブル3510、3D存在フラグ3520、及び2D/3Dお好みフラグ3530を含む。
インデックス・テーブル3510は、「ファーストプレイ」3501、「トップメニュー」3502、及び、「タイトルk」3503(k=1、2、…、n:nは1以上の整数)という項目を含む。各項目にはムービーオブジェクトMVO−2D、MVO−3D、…、又はBD−JオブジェクトBDJO−2D、BDJO−3D、…のいずれかが対応付けられている。ユーザの操作又はアプリケーション・プログラムによってタイトル又はメニューが呼び出される度に、再生装置102の制御部はインデックス・テーブル3510の対応する項目を参照する。制御部は更に、その項目に対応付けられているオブジェクトをBD−ROMディスク101から呼び出し、それに従って様々な処理を実行する。具体的には、項目「ファーストプレイ」3501には、ディスク101がBD−ROMドライブ121へ挿入された時に呼び出されるべきオブジェクトが指定されている。項目「トップメニュー」3502には、例えばユーザの操作で「メニューに戻れ」というコマンドが入力された時に表示装置103にメニューを表示させるためのオブジェクトが指定されている。項目「タイトルk」3503には、ディスク101上のコンテンツを構成するタイトルが個別に割り当てられている。例えばユーザの操作によって再生対象のタイトルが指定されたとき、そのタイトルが割り当てられている項目「タイトルk」には、そのタイトルに対応するAVストリーム・ファイルから映像を再生するためのオブジェクトが指定されている。
図35に示されている例では、項目「タイトル1」と項目「タイトル2」とが2D映像のタイトルに割り当てられている。項目「タイトル1」に対応付けられているムービーオブジェクトMVO−2Dは、2Dプレイリスト・ファイル(00001.mpls)221を用いた2D映像の再生処理に関する命令群を含む。再生装置102によって項目「タイトル1」が参照されたとき、そのムービーオブジェクトMVO−2Dに従い、2Dプレイリスト・ファイル221がディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。項目「タイトル2」に対応付けられているBD−JオブジェクトBDJO−2Dは、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関するアプリケーション管理テーブルを含む。再生装置102によって項目「タイトル2」が参照されたとき、そのBD−JオブジェクトBDJO−2D内のアプリケーション管理テーブルに従ってJARファイル261からJavaアプリケーション・プログラムが呼び出されて実行される。それにより、2Dプレイリスト・ファイル221がディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。
図35に示されている例では更に、項目「タイトル3」と項目「タイトル4」とが3D映像のタイトルに割り当てられている。項目「タイトル3」に対応付けられているムービーオブジェクトMVO−3Dは、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関する命令群に加え、3Dプレイリスト・ファイル(00002.mpls)222、(00003.mpls)223のいずれかを用いた3D映像の再生処理に関する命令群を含む。項目「タイトル4」に対応付けられているBD−JオブジェクトBDJO−3Dでは、アプリケーション管理テーブルが、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関するJavaアプリケーション・プログラムに加え、3Dプレイリスト・ファイル222、223のいずれかを用いた3D映像の再生処理に関するJavaアプリケーション・プログラムを規定する。
3D存在フラグ3520は、BD−ROMディスク101に3D映像コンテンツが記録されているか否かを示すフラグである。再生装置102は、BD−ROMドライブ121にBD−ROMディスク101が挿入されたとき、まず、その3D存在フラグ3520をチェックする。3D存在フラグ3520がオフである場合、再生装置102は3D再生モードを選択する必要がない。従って、再生装置102は表示装置103に対してHDMI認証を行うことなく、2D再生モードに速やかに移行できる。ここで、「HDMI認証」とは、再生装置102がHDMIケーブル122を通して表示装置103との間でCECメッセージを交換して、3D映像の再生に対応可能か否か等を表示装置103に問い合わせる処理をいう。HDMI認証がスキップされることにより、BD−ROMディスク101の挿入から2D映像の再生開始までの時間が短縮される。
2D/3Dお好みフラグ3530は、再生装置と表示装置とが共に2D映像と3D映像とのいずれの再生にも対応可能であるときに、3D映像の再生を優先すべきか否かを指定するフラグである。2D/3Dお好みフラグ3530はコンテンツ・プロバイダによって設定される。再生装置102は、BD−ROMディスク101の3D存在フラグ3520がオンであるとき、続いて2D/3Dお好みフラグ3530を更にチェックする。2D/3Dお好みフラグ3530がオンである場合、再生装置102は、ユーザに再生モードを選択させることなく、HDMI認証を行い、その結果に依って2D再生モードと3D再生モードとのいずれかで動作する。すなわち、再生装置102は再生モードの選択画面を表示しない。従って、HDMI認証の結果、表示装置103が3D映像の再生に対応可能であれば、再生装置102は3D再生モードで起動できる。それにより、フレームレートの切り換え等、2D再生モードから3D再生モードへの移行処理に起因する起動の遅れを回避することができる。
[3D映像タイトルの選択時でのプレイリスト・ファイルの選択]
図35に示されている例では、再生装置102は、インデックス・テーブル3510の項目「タイトル3」を参照したとき、ムービーオブジェクトMVO−3Dに従って、まず次の判別処理を行う:(1)3D存在フラグ3520がオンかオフか、(2)再生装置102自身が3D映像の再生に対応しているか否か、(3)2D/3Dお好みフラグ3530がオンかオフか、(4)ユーザが3D再生モードを選択しているか否か、(5)表示装置103が3D映像の再生に対応しているか否か、及び(6)再生装置102の3D再生モードがL/Rモードとデプス・モードとのいずれであるか。再生装置102は次に、それらの判別結果に依って、いずれかのプレイリスト・ファイル221−223を再生対象として選択する。一方、再生装置102は項目「タイトル4」を参照したとき、BD−JオブジェクトBDJO−3D内のアプリケーション管理テーブルに従ってJARファイル261からJavaアプリケーション・プログラムを呼び出して実行する。それにより、まず上記の判別処理(1)−(6)が行われ、次にその判別結果に依って、プレイリスト・ファイルの選択が行われる。
図36は、上記の判別処理(1)−(6)を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。ここで、その選択処理の前提として、再生装置102が第1フラグと第2フラグとを含むときを想定する。第1フラグは、再生装置102が3D映像の再生に対応可能であるか否かを示す。例えば第1フラグが“0”であるとき、再生装置102は2D映像の再生のみに対応可能であり、“1”であるとき、3D映像の再生にも対応可能である。第2フラグは、3D再生モードがL/Rモードとデプス・モードとのいずれであるかを示す。例えば第2フラグが“0”であるとき、3D再生モードはL/Rモードであり、“1”であるとき、デプス・モードである。更に、3D存在フラグ3520と2D/3Dお好みフラグ3530とのそれぞれがオンであるときの値を“1”とし、オフであるときの値を“0”とする。
ステップS3601では、再生装置102は3D存在フラグ3520の値をチェックする。その値が“1”であるとき、処理はステップS3602へ進む。その値が“0”であるとき、処理はステップS3607へ進む。
ステップS3602では、再生装置102は第1フラグの値をチェックする。その値が“1”であるとき、処理はステップS3603へ進む。その値が“0”であるとき、処理はステップS3607へ進む。
ステップS3603では、再生装置102は2D/3Dお好みフラグ3530の値をチェックする。その値が“0”であるとき、処理はステップS3604へ進む。その値が“1”であるとき、処理はステップS3605へ進む。
ステップS3604では、再生装置102は表示装置103にメニューを表示させて、ユーザに2D再生モードと3D再生モードとのいずれかを選択させる。ユーザがリモコン105等を操作して3D再生モードを選択したとき、処理はステップS3605へ進み、2D再生モードを選択したとき、処理はステップS3607へ進む。
ステップS3605では、再生装置102はHDMI認証を行い、表示装置103が3D映像の再生に対応しているか否かチェックする。具体的には、再生装置102はHDMIケーブル122を通して表示装置103との間でCECメッセージを交換し、表示装置103が3D映像の再生に対応しているか否かを表示装置103に問い合わせる。表示装置103が3D映像の再生に対応しているとき、処理はステップS3606へ進む。表示装置103が3D映像の再生に対応していないとき、処理はステップS3607へ進む。
ステップS3606では、再生装置102は第2フラグの値をチェックする。その値が“0”であるとき、処理はステップS3608へ進む。その値が“1”であるとき、処理はステップS3609へ進む。
ステップS3607では、再生装置102は2Dプレイリスト・ファイル221を再生対象として選択する。尚、そのとき、再生装置102は表示装置103に、3D映像の再生が選択されなかった理由を表示させてもよい。その後、処理は終了する。
ステップS3608では、再生装置102はL/Rモード用の3Dプレイリスト・ファイル222を再生対象として選択する。その後、処理は終了する。
ステップS3609では、再生装置102はデプス・モード用の3Dプレイリスト・ファイル222を再生対象として選択する。その後、処理は終了する。
<2D再生装置の構成>
2D再生モードの再生装置102はBD−ROMディスク101から2D映像コンテンツを再生するとき、2D再生装置として動作する。図37は、2D再生装置3700の機能ブロック図である。図37を参照するに、2D再生装置3700は、BD−ROMドライブ3701、再生部3702、及び制御部3703を含む。再生部3702は、リード・バッファ3721、システム・ターゲット・デコーダ3725、及びプレーン加算部3726を含む。制御部3703は、動的シナリオ・メモリ3731、静的シナリオ・メモリ3732、ユーザイベント処理部3733、プログラム実行部3734、再生制御部3735、及びプレーヤ変数記憶部3736を含む。再生部3702と制御部3703とは互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。
BD−ROMドライブ3701は、内部にBD−ROMディスク101が挿入されたとき、そのディスク101にレーザ光を照射してその反射光の変化を検出する。更に、その反射光の光量の変化から、ディスク101に記録されたデータを読み取る。具体的には、BD−ROMドライブ3701は光ピックアップ、すなわち光学ヘッドを備えている。その光学ヘッドは、半導体レーザ、コリメータ・レンズ、ビーム・スプリッタ、対物レンズ、集光レンズ、及び光検出器を含む。半導体レーザから出射された光ビームは、コリメータ・レンズ、ビーム・スプリッタ、及び対物レンズを順に通ってディスク101の記録層に集められる。集められた光ビームはその記録層で反射/回折される。その反射/回折光は、対物レンズ、ビーム・スプリッタ、及び集光レンズを通って光検出器に集められる。光検出器は、その集光量に応じたレベルの再生信号を生成する。更に、その再生信号からデータが復調される。
BD−ROMドライブ3701は、再生制御部3735からの要求に従ってBD−ROMディスク101からデータを読み出す。そのデータのうち、ファイル2Dのエクステント、すなわち2Dエクステントはリード・バッファ3721へ転送され、動的シナリオ情報は動的シナリオ・メモリ3731へ転送され、静的シナリオ情報は静的シナリオ・メモリ3732へ転送される。「動的シナリオ情報」は、インデックス・ファイル、ムービーオブジェクト・ファイル、及びBD−Jオブジェクト・ファイルを含む。「静的シナリオ情報」は2Dプレイリスト・ファイルと2Dクリップ情報ファイルとを含む。
リード・バッファ3721、動的シナリオ・メモリ3731、及び静的シナリオ・メモリ3732はいずれもバッファ・メモリである。リード・バッファ3721としては再生部3702内のメモリ素子が利用され、動的シナリオ・メモリ3731及び静的シナリオ・メモリ3732としては制御部3703内のメモリ素子が利用される。その他に、単一のメモリ素子の異なる領域が、それらのバッファ・メモリ3721、3731、3732の一部又は全部として利用されてもよい。
システム・ターゲット・デコーダ3725は、リード・バッファ3721から2Dエクステントをソースパケット単位で読み出して多重分離処理を行い、分離された各エレメンタリ・ストリームに対して復号処理を行う。ここで、各エレメンタリ・ストリームの復号に必要な情報、例えばコーデックの種類及びストリームの属性は予め再生制御部3735からシステム・ターゲット・デコーダ3725へ送られている。システム・ターゲット・デコーダ3725は更に、復号後のプライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームをそれぞれ、主映像プレーン・データ、副映像プレーン・データ、IGプレーン・データ、及びPGプレーン・データとしてVAU単位で送出する。また、システム・ターゲット・デコーダ3725は、復号後のプライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとをミキシングして、表示装置103の内蔵スピーカ103A等、音声出力装置へ送出する。その他に、システム・ターゲット・デコーダ3725はプログラム実行部3734からグラフィックス・データを受信する。そのグラフィックス・データは、メニュー等のGUI用グラフィック部品を画面に表示するためのものであり、JPEG又はPNG等のラスタ・データで表現されている。システム・ターゲット・デコーダ3725はそのグラフィックス・データを処理してイメージ・プレーン・データとして送出する。尚、システム・ターゲット・デコーダ3725の詳細については後述する。
プレーン加算部3726は、システム・ターゲット・デコーダ3725から、主映像プレーン・データ、副映像プレーン・データ、IGプレーン・データ、PGプレーン・データ、及びイメージ・プレーン・データを受信し、それらを互いに重畳して一つの映像フレーム又はフィールドに合成する。合成後の映像データは表示装置103へ送出され、その画面に表示される。
ユーザイベント処理部3733は、リモコン105又は再生装置102のフロントパネルを通してユーザの操作を検出し、その操作の種類に応じてプログラム実行部3734又は再生制御部3735に処理を依頼する。例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部3733はその押下を検出してそのボタンを識別する。ユーザイベント処理部3733は更にプログラム実行部3734に、そのボタンに対応するコマンドの実行、すなわちポップアップ・メニューの表示処理を依頼する。一方、例えばユーザがリモコン105の早送り又は巻戻しボタンを押下したとき、ユーザイベント処理部3733はその押下を検出してそのボタンを識別する。ユーザイベント処理部3733は更に再生制御部3735に、現在再生中のプレイリストの早送り又は巻戻し処理を依頼する。
プログラム実行部3734はプロセッサであり、動的シナリオ・メモリ3731に格納されたムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルからプログラムを読み出して実行する。プログラム実行部3734は更に各プログラムに従って次の制御を行う:(1)再生制御部3735に対してプレイリスト再生処理を命令する;(2)メニュー用又はゲーム用のグラフィックス・データをPNG又はJPEGのラスタ・データとして生成し、それをシステム・ターゲット・デコーダ3725へ転送して他の映像データに合成させる。これらの制御の具体的な内容は、プログラムの設計を通じて比較的自由に設計することができる。すなわち、それらの制御内容は、BD−ROMディスク101のオーサリング工程のうち、ムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルのプログラミング工程によって決まる。
再生制御部3735は、2Dエクステント及びインデックス・ファイル等、各種のデータをBD−ROMディスク101から、リード・バッファ3721、動的シナリオ・メモリ3731、及び静的シナリオ・メモリ3732へ転送する処理を制御する。その制御には、図2に示されているディレクトリ/ファイル構造を管理するファイルシステムが利用される。すなわち、再生制御部3735はファイル・オープン用のシステムコールを利用して、BD−ROMドライブ3701に各種のファイルを各バッファ・メモリ3721、3731、3732へ転送させる。ここで、「ファイル・オープン」とは次の一連の処理をいう。まず、システムコールによってファイルシステムに検索対象のファイル名が与えられ、そのファイル名がディレクトリ/ファイル構造から検索される。その検索に成功したとき、再生制御部3735内のメモリには、まず、転送対象のファイルのファイル・エントリが転送され、そのメモリ内にFCB(File Control Block)が生成される。その後、転送対象のファイルのファイル・ハンドルがファイルシステムから再生制御部3735に返される。以後、再生制御部3735はそのファイル・ハンドルをBD−ROMドライブ3701に提示することにより、BD−ROMドライブ3701にその転送対象のファイルをBD−ROMディスク101から各バッファ・メモリ3721、3731、3732へ転送させることができる。
再生制御部3735は、BD−ROMドライブ3701とシステム・ターゲット・デコーダ3725とを制御して、ファイル2Dから映像データと音声データとを復号させる。具体的には、再生制御部3735はまず、プログラム実行部3734からの命令、又はユーザイベント処理部3733からの依頼に応じて、静的シナリオ・メモリ3732から2Dプレイリスト・ファイルを読み出してその内容を解釈する。再生制御部3735は次に、その解釈された内容、特に再生経路に従って、BD−ROMドライブ3701とシステム・ターゲット・デコーダ3725とに再生対象のファイル2Dを指定し、その読み出し処理及び復号処理を指示する。このようなプレイリスト・ファイルに従った再生処理を「プレイリスト再生処理」という。
その他に、再生制御部3735は、静的シナリオ情報を利用してプレーヤ変数記憶部3736に各種のプレーヤ変数を設定する。再生制御部3735は更に、それらのプレーヤ変数を参照して、システム・ターゲット・デコーダ3725に復号対象のエレメンタリ・ストリームを指定し、かつ、各エレメンタリ・ストリームの復号に必要な情報を提供する。
プレーヤ変数記憶部3736は、プレーヤ変数を記憶するためのレジスタ群である。プレーヤ変数の種類にはシステム・パラメータ(SPRM)と汎用のパラメータ(GPRM)とがある。SPRMは再生装置102の状態を示す。図38はSPRMの一覧表である。図38を参照するに、各SPRMには通し番号3801が振られ、各通し番号3801に変数値3802が個別に対応付けられている。SPRMは例えば64個であり、それぞれの示す意味は以下のとおりである。ここで、括弧内の数字は通し番号3801を示す。
SPRM(0) : 言語コード
SPRM(1) : プライマリ・オーディオ・ストリーム番号
SPRM(2) : 字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : タイトル番号
SPRM(5) : チャプタ番号
SPRM(6) : プログラム番号
SPRM(7) : セル番号
SPRM(8) : 選択キー情報
SPRM(9) : ナビゲーション・タイマー
SPRM(10) : 再生時刻情報
SPRM(11) : カラオケ用ミキシング・モード
SPRM(12) : パレンタル用国情報
SPRM(13) : パレンタル・レベル
SPRM(14) : プレーヤ設定値(ビデオ)
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : オーディオ・ストリーム用言語コード
SPRM(17) : オーディオ・ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤ・リージョン・コード
SPRM(21) : セカンダリ・ビデオ・ストリーム番号
SPRM(22) : セカンダリ・オーディオ・ストリーム番号
SPRM(23) : 再生状態
SPRM(24)−SPRM(63):予備
SPRM(10)は、復号処理中のピクチャのPTSを示し、そのピクチャが復号されて主映像プレーン・メモリに書き込まれる度に更新される。従って、SPRM(10)を参照すれば、現在の再生時点を知ることができる。
SPRM(13)のパレンタル・レベルは所定の制限年齢を示し、BD−ROMディスク101に記録されたタイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値は、再生装置102のユーザによって再生装置102のOSD等を利用して設定される。ここで、「パレンタル制御」とは、視聴者の年齢に依ってタイトルの視聴を制限する処理をいう。再生装置102は各タイトルに対するパレンタル制御を例えば次のように行う。再生装置102はまず、BD−ROMディスク101から、そのタイトルの視聴が許可された視聴者の年齢を読み出してSPRM(13)の値と比較する。その年齢がSPRM(13)の値以上であれば、再生装置102はそのタイトルの再生を継続する。その年齢がSPRM(13)の値未満であれば、再生装置102はそのタイトルの再生を停止する。
SPRM(16)のオーディオ・ストリーム用言語コード、及びSPRM(18)の字幕ストリーム用言語コードは、再生装置102のデフォルトの言語コードを示す。それらは再生装置102のOSD等を利用してユーザに変更させることもでき、プログラム実行部3734を通じてアプリケーション・プログラムに変更させることもできる。例えばSPRM(16)が「英語」を示しているとき、再生制御部3735はプレイリスト再生処理において、まず現時点での再生区間を示すPI、すなわちカレントPIの含むSTNテーブルから、「英語」の言語コードを含むストリーム・エントリを検索する。再生制御部3735は次に、そのストリーム・エントリのストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ3725に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ3725によって選択されて復号される。これらの処理は、ムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルを利用して再生制御部3735に実行させることができる。
プレーヤ変数は再生処理中、再生制御部3735によって再生状態の変化に応じて更新される。特に、SPRM(1)、SPRM(2)、SPRM(21)、及びSPRM(22)が更新される。それらは順に、処理中のオーディオ・ストリーム、字幕ストリーム、セカンダリ・ビデオ・ストリーム、及びセカンダリ・オーディオ・ストリームの各STNを示す。例えばプログラム実行部3734によってSPRM(1)が変更されたときを想定する。再生制御部3735はまず、変更後のSPRM(1)の示すSTNを利用して、カレントPI内のSTNテーブルから、そのSTNを含むストリーム・エントリを検索する。再生制御部3735は次に、そのストリーム・エントリ内のストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ3725に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ3725によって選択されて復号される。こうして、再生対象のオーディオ・ストリームが切り換えられる。同様に、再生対象の字幕及びセカンダリ・ビデオ・ストリームを切り換えることもできる。
≪2Dプレイリスト再生処理≫
図39は、再生制御部3735による2Dプレイリスト再生処理のフローチャートである。2Dプレイリスト再生処理は、2Dプレイリスト・ファイルに従ったプレイリスト再生処理であり、再生制御部3735が静的シナリオ・メモリ3732から2Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS3901では、再生制御部3735はまず、2Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントPIとして設定する。再生制御部3735は次に、そのカレントPIのSTNテーブルから、再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ3725に指示される。再生制御部3735は更に、2Dプレイリスト・ファイル内のサブパスから、カレントPIに付随するSUB_PIを特定する。その後、処理はステップS3902へ進む。
ステップS3902では、再生制御部3735はカレントPIから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2Dに対応する2Dクリップ情報ファイルが特定される。更に、カレントPIに付随するSUB_PIが存在するときは、それらからも同様な情報が読み出される。その後、処理はステップS3903へ進む。
ステップS3903では、再生制御部3735は2Dクリップ情報ファイルのエントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2を検索する。SUB_PIの示すPTSの対も同様にSPNの対に変換される。その後、処理はステップS3904へ進む。
ステップS3904では、再生制御部3735はSPN#1、#2から、それぞれに対応するセクタ数を算定する。具体的には、再生制御部3735はまず、SPN#1、#2のそれぞれとソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部3735は次に、各積をセクタ一つ当たりのデータ量2048バイトで割ってその商を求める:N1=SPN#1×192/2048、N2=SPN#2×192/2048。商N1、N2は、メインTSのうち、SPN#1、#2のそれぞれが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。SUB_PIの示すPTSの対から変換されたSPNの対も同様にセクタ数の対に変換される。その後、処理はステップS3905へ進む。
ステップS3905では、再生制御部3735は、ステップS3904で得られたセクタ数N1、N2のそれぞれから、再生対象の2Dエクステント群の先端と後端とのLBNを特定する。具体的には、再生制御部3735は、再生対象のファイル2Dのファイル・エントリを参照して、2Dエクステント群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部3735は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。SUB_PIの示すPTSの対から変換されたセクタ数の対も同様にLBNの対に変換されて、BD−ROMドライブ121に指定される。その結果、指定された範囲のセクタ群から、2Dエクステント群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS3906へ進む。
ステップS3906では、再生制御部3735は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS3901から繰り返される。残されていないときは、処理が終了する。
≪システム・ターゲット・デコーダ≫
図40は、システム・ターゲット・デコーダ3725の機能ブロック図である。図40を参照するに、システム・ターゲット・デコーダ3725は、ソース・デパケタイザ4010、ATCカウンタ4020、第1の27MHzクロック4030、PIDフィルタ4040、STCカウンタ(STC1)4050、第2の27MHzクロック4060、主映像デコーダ4070、副映像デコーダ4071、PGデコーダ4072、IGデコーダ4073、主音声デコーダ4074、副音声デコーダ4075、イメージ・プロセッサ4080、主映像プレーン・メモリ4090、副映像プレーン・メモリ4091、PGプレーン・メモリ4092、IGプレーン・メモリ4093、イメージ・プレーン・メモリ4094、及び音声ミキサ4095を含む。
ソース・デパケタイザ4010はリード・バッファ3721からソースパケットを読み出し、その中からTSパケットを取り出してPIDフィルタ4040へ送出する。ソース・デパケタイザ4010は更にその送出時刻を、各ソースパケットのATSの示す時刻に合わせる。具体的には、ソース・デパケタイザ4010はまず、ATCカウンタ4020が生成するATCの値を監視する。ここで、ATCの値はATCカウンタ4020により、第1の27MHzクロック4030のクロック信号のパルスに応じてインクリメントされる。ソース・デパケタイザ4010は次に、ATCの値がソースパケットのATSと一致した瞬間、そのソースパケットから取り出されたTSパケットをPIDフィルタ4040へ転送する。そのような送出時刻の調節により、ソース・デパケタイザ4010からPIDフィルタ4040へのTSパケットの平均転送速度は、図22に示されている2Dクリップ情報ファイル231内のシステムレート2211で規定される値RTSを超えない。
PIDフィルタ4040はまず、ソース・デパケタイザ4010から送出されたTSパケットの含むPIDを監視する。そのPIDが、再生制御部3735から予め指定されたPIDに一致したとき、PIDフィルタ4040はそのTSパケットを選択し、そのPIDの示すエレメンタリ・ストリームの復号に適したデコーダ4070−4075へ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ4070へ転送される。一方、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、TSパケットはそれぞれ、副映像デコーダ4071、主音声デコーダ4074、副音声デコーダ4075、PGデコーダ4072、及びIGデコーダ4073へ転送される。
PIDフィルタ4040は更に、各TSパケットのPIDを利用してそのTSパケットの中からPCRを検出する。PIDフィルタ4040はそのとき、STCカウンタ4050の値を所定値に設定する。ここで、STCカウンタ4050の値は第2の27MHzクロック4060のクロック信号のパルスに応じてインクリメントされる。また、STCカウンタ4050に設定されるべき値は予め、再生制御部3735からPIDフィルタ4040に指示されている。各デコーダ4070−4075はSTCカウンタ4050の値をSTCとして利用する。具体的には、各デコーダ4070−4075は、まず、PIDフィルタ4040から受け取ったTSパケットをPESパケットに再構成する。各デコーダ4070−4075は、次に、そのPESペイロードの含むデータの復号処理の時期を、そのPESヘッダに含まれるPTS又はDTSの示す時刻に従って調節する。
主映像デコーダ4070は、図40に示されているように、トランスポート・ストリーム・バッファ(TB:Transport Stream Buffer)4001、多重化バッファ(MB:Multiplexing Buffer)4002、エレメンタリ・ストリーム・バッファ(EB:Elementary Stream Buffer)4003、圧縮映像デコーダ(DEC)4004、及び復号ピクチャ・バッファ(DPB:Decoded Picture Buffer)4005を含む。
TB4001、MB4002、及びEB4003はいずれもバッファ・メモリであり、それぞれ主映像デコーダ4070に内蔵のメモリ素子の一領域を利用する。その他に、それらのいずれか又は全てが異なるメモリ素子に分離されていてもよい。TB4001は、PIDフィルタ4040から受信されたTSパケットをそのまま蓄積する。MB4002は、TB4001に蓄積されたTSパケットから復元されたPESパケットを蓄積する。尚、TB4001からMB4002へTSパケットが転送されるとき、そのTSパケットからTSヘッダが除去される。EB4003は、PESパケットから、符号化されたVAUを抽出して格納する。そのVAUには、圧縮ピクチャ、すなわち、Iピクチャ、Bピクチャ、及びPピクチャが格納されている。尚、MB4002からEB4003へデータが転送されるとき、そのPESパケットからPESヘッダが除去される。
DEC4004は、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4004は、EB4003内の各VAUからピクチャを、元のPESパケットに含まれるDTSの示す時刻に復号する。DEC4004はその他に、図12に示されている復号スイッチ情報1250を利用して、各VAUからピクチャをそのDTSに関わらず、順次復号してもよい。その復号処理では、DEC4004は予めそのVAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに依って復号方法を選択する。ここで、その圧縮符号化方式は例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC4004は更に、復号された非圧縮のピクチャをDPB4005へ転送する。
DPB4005は、TB4001、MB4002、及びEB4003と同様なバッファ・メモリであり、主映像デコーダ4070に内蔵のメモリ素子の一領域を利用する。DPB4005はその他に、他のバッファ・メモリ4001、4002、4003とは異なるメモリ素子に分離されていてもよい。DPB4005は復号後のピクチャを一時的に保持する。DEC4004によってPピクチャ又はBピクチャが復号されるとき、DPB4005はDEC4004からの指示に応じて、保持している復号後のピクチャから参照ピクチャを検索してDEC4004に提供する。DPB4005は更に、保持している各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に主映像プレーン・メモリ4090へ書き込む。
副映像デコーダ4071は主映像デコーダ4070と同様の構成を含む。副映像デコーダ4071はまず、PIDフィルタ4040から受信されたセカンダリ・ビデオ・ストリームのTSパケットを非圧縮のピクチャに復号する。副映像デコーダ4071は次に、そのPESパケットに含まれるPTSの示す時刻に非圧縮のピクチャを副映像プレーン・メモリ4091へ書き込む。
PGデコーダ4072は、PIDフィルタ4040から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号し、そのPESパケットに含まれるPTSの示す時刻にPGプレーン・メモリ4092へ書き込む。
図41の(a)は、PGデコーダ4072がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。この処理は、PGデコーダ4072がPIDフィルタ4040から、図6に示されている一つのデータ・エントリを構成するTSパケット群を受信したときに開始される。図41の(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
ステップS4101では、PGデコーダ4072はまず、PCS内の参照オブジェクトID605と同じオブジェクトIDを持つODSを特定する。PGデコーダ4072は次に、特定されたODSからグラフィックス・オブジェクトを復号してオブジェクト・バッファに書き込む。ここで、「オブジェクト・バッファ」は、PGデコーダ4072に内蔵のバッファ・メモリである。図41の(b)に示されている「ニコちゃんマーク」FOBは、オブジェクト・バッファに書き込まれたグラフィックス・オブジェクトの例を示す。
ステップS4102では、PGデコーダ4072はPCS内のクロッピング情報602に従ってクロッピング処理を行い、グラフィックス・オブジェクトからその一部を切り出して、オブジェクト・バッファに書き込む。図41の(c)では、ニコちゃんマークFOBの左右の両端部から帯状領域LST、RSTが切り取られて、残りの部分OBJがオブジェクト・バッファに書き込まれている。
ステップS4103では、PGデコーダ4072はまず、PCS内の参照ウィンドウID603と同じウィンドウIDを持つWDSを特定する。PGデコーダ4072は次に、特定されたWDSの示すウィンドウ位置612と、PCS内のオブジェクト表示位置601とから、グラフィックス・プレーンにおけるグラフィックス・オブジェクトの表示位置を決定する。図41の(d)では、グラフィックス・プレーンGPLにおけるウィンドウWINの左上隅の位置と、グラフィックス・オブジェクトOBJの左上隅の位置DSPとが決定される。
ステップS4104では、PGデコーダ4072はオブジェクト・バッファ内のグラフィックス・オブジェクトを、ステップS4103で決定された表示位置に書き込む。その際、PGデコーダ4072は、WDSの示すウィンドウ・サイズ613を利用して、グラフィックス・オブジェクトを描画する範囲を決める。図41の(d)では、グラフィックス・オブジェクトOBJがグラフィックス・プレーンGPLに、左上隅の位置DSPからウィンドウWINの範囲内で書き込まれている。
ステップS4105では、PGデコーダ4072はまず、PCS内の参照パレットID604と同じパレットIDを持つPDSを特定する。PGデコーダ4072は次に、PDS内のCLUT622を利用して、グラフィックス・オブジェクト内の各画素データが示すべき色座標値を決定する。図41の(e)では、グラフィックス・オブジェクトOBJ内の各画素の色が決定されている。こうして、一つのデータ・エントリの含むグラフィックス・オブジェクトの描画処理が完了する。ステップS4101−4105は、そのグラフィックス・オブジェクトと同じPESパケットに含まれるPTSの示す時刻までに実行される。
IGデコーダ4073は、PIDフィルタ4040から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号する。IGデコーダ4073は更に、それらのTSパケットから復元されたPESパケットに含まれるPTSの示す時刻に、その非圧縮のグラフィックス・オブジェクトをIGプレーン・メモリ4093へ書き込む。それらの処理の詳細は、PGデコーダ4072によるものと同様である。
主音声デコーダ4074はまず、PIDフィルタ4040から受信されたTSパケットを内蔵のバッファに蓄える。主音声デコーダ4074は次に、そのバッファ内のTSパケット群からTSヘッダとPESヘッダとを除去し、残りのデータを非圧縮のLPCM音声データに復号する。主音声デコーダ4074は更にその音声データを、元のPESパケットに含まれるPTSの示す時刻に音声ミキサ4095へ送出する。ここで、主音声デコーダ4074は、TSパケットに含まれるプライマリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばAC−3又はDTSを含む。
副音声デコーダ4075は主音声デコーダ4074と同様の構成を含む。副音声デコーダ4075はまず、PIDフィルタ4040から受信されたセカンダリ・オーディオ・ストリームのTSパケット群からPESパケットを復元し、そのPESペイロードの含むデータを非圧縮のLPCM音声データに復号する。副音声デコーダ4075は次に、そのPESヘッダの含むPTSの示す時刻にその非圧縮のLPCM音声データを音声ミキサ4095へ送出する。ここで、副音声デコーダ4075は、TSパケットに含まれるセカンダリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばドルビー・デジタル・プラス又はDTS−HD LBRを含む。
音声ミキサ4095は、主音声デコーダ4074と副音声デコーダ4075とのそれぞれから非圧縮の音声データを受信し、それらを用いてミキシングを行う。音声ミキサ4095は更に、そのミキシングで得られた合成音を表示装置103の内蔵スピーカ103A等へ送出する。
イメージ・プロセッサ4080は、プログラム実行部3734からグラフィックス・データ、すなわちPNG又はJPEGのラスタ・データを受信する。イメージ・プロセッサ4080はそのとき、そのグラフィックス・データに対するレンダリング処理を行ってイメージ・プレーン・メモリ4094へ書き込む。
<3D再生装置の構成>
3D再生モードの再生装置102はBD−ROMディスク101から3D映像コンテンツを再生するとき、3D再生装置として動作する。その構成の基本部分は、図37、40に示されている2D再生装置の構成と同様である。従って、以下では2D再生装置の構成からの拡張部分及び変更部分について説明し、基本部分の詳細についての説明は上記の2D再生装置についての説明を援用する。また、2Dプレイリスト再生処理に利用される構成は2D再生装置の構成と同様である。従って、その詳細についての説明も上記の2D再生装置についての説明を援用する。以下の説明では、3Dプレイリスト・ファイルに従った3D映像の再生処理、すなわち3Dプレイリスト再生処理を想定する。
図42は、3D再生装置4200の機能ブロック図である。3D再生装置4200は、BD−ROMドライブ4201、再生部4202、及び制御部4203を含む。再生部4202は、スイッチ4220、第1リード・バッファ(以下、RB1と略す。)4221、第2リード・バッファ(以下、RB2と略す。)4222、システム・ターゲット・デコーダ4225、プレーン加算部4226、及びHDMI通信部4227を含む。制御部4203は、動的シナリオ・メモリ4231、静的シナリオ・メモリ4232、ユーザイベント処理部4233、プログラム実行部4234、再生制御部4235、及びプレーヤ変数記憶部4236を含む。再生部4202と制御部4203とは、互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。特に、動的シナリオ・メモリ4231、静的シナリオ・メモリ4232、ユーザイベント処理部4233、及びプログラム実行部4234は、図37に示されている2D再生装置内のものと同様である。従って、それらの詳細についての説明は上記の2D再生装置についての説明を援用する。
再生制御部4235は、3Dプレイリスト再生処理をプログラム実行部4234等から命じられたとき、静的シナリオ・メモリ4232に格納された3Dプレイリスト・ファイルからPIを順番に読み出してカレントPIとして設定する。再生制御部4235は、カレントPIを設定する度に、まず、そのSTNテーブルとその3Dプレイリスト・ファイル内のSTNテーブルSSとに従って、システム・ターゲット・デコーダ4225とプレーン加算部4226との動作条件を設定する。具体的には、再生制御部4235は復号対象のエレメンタリ・ストリームのPIDを選択して、そのエレメンタリ・ストリームの復号に必要な属性情報と共にシステム・ターゲット・デコーダ4225へ渡す。選択されたPIDの示すエレメンタリ・ストリームの中にPGストリーム又はIGストリームが含まれている場合、再生制御部4235は更に、それらのストリーム・データに割り当てられた参照オフセットID3201とオフセット補正値3202とを特定して、プレーヤ変数記憶部4236内のSPRM(27)とSPRM(28)とのそれぞれに設定する。また、再生制御部4235は、STNテーブルSSの示すポップアップ期間のオフセット3311に依って各プレーン・データの表示モードを選択し、システム・ターゲット・デコーダ4225とプレーン加算部4226とに指示する。
次に、再生制御部4235はカレントPIに従い、図24の(e)の説明で述べた手順で、読み出し対象のエクステントSSが記録されたセクタ群のLBNの範囲をBD−ROMドライブ4201に指示する。一方、再生制御部4235は、静的シナリオ・メモリ4232に格納されたクリップ情報ファイル内のエクステント起点を利用して、各エクステントSS内のデータ・ブロックの境界を示す情報を生成する。その情報は、例えばそのエクステントSSの先頭から各境界までのソースパケット数を示す。再生制御部4235は更に、その情報をスイッチ4220へ渡す。
プレーヤ変数記憶部4236は、2D再生装置内のもの3736と同様に、図38に示されているSPRMを含む。しかし、図38とは異なり、SPRM(24)は、図36に示されている第1フラグを含み、SPRM(25)は第2フラグを含む。その場合、SPRM(24)が“0”であるときは再生装置102が2D映像の再生のみに対応可能であり、“1”であるときは3D映像の再生にも対応可能である。SPRM(25)が“0”であるときは再生装置102がL/Rモードであり、“1”であるときはデプス・モードである。更に、SPRM(25)が“2”であるときは再生装置102が2D再生モードである。
プレーヤ変数記憶部4236では更に図38とは異なり、SPRM(27)は各グラフィックス・プレーンに対する参照オフセットIDの格納領域を含み、SPRM(28)は各グラフィックス・プレーンに対するオフセット補正値の格納領域を含む。図43は、SPRM(27)とSPRM(28)とのデータ構造を示す表である。図43を参照するに、SPRM(27)は、四種類の参照オフセットID4310−4313を格納する領域を含む。それらの参照オフセットIDは、PGプレーンに対するもの(PG_ref_offset_id)4310、IGプレーンに対するもの(IG_ref_offset_id)4311、副映像プレーンに対するもの(SV_ref_offset_id)4312、及びイメージ・プレーンに対するもの(IM_ref_offset_id)4313である。SPRM(28)は、四種類のオフセット補正値4320−4323を格納する領域を含む。それらのオフセット補正値は、PGプレーンに対するもの(PG_offset_adjustment)4320、IGプレーンに対するもの(IG_offset_adjustment)4321、副映像プレーンに対するもの(SV_offset_adjustment)4322、及びイメージ・プレーンに対するもの(IM_offset_adjustment)4323である。
BD−ROMドライブ4201は、図37に示されている2D再生装置内のもの3701と同様な構成要素を含む。BD−ROMドライブ4201は、再生制御部4235からLBNの範囲が指示されたとき、その範囲の示すBD−ROMディスク101上のセクタ群からデータを読み出す。特にファイルSSのエクステント、すなわちエクステントSSに属するソースパケット群は、BD−ROMドライブ4201からスイッチ4220へ転送される。ここで、各エクステントSSは、図19に示されているとおり、ベースビューとディペンデントビューとのデータ・ブロックの対を一つ以上含む。それらのデータ・ブロックは、異なるリード・バッファ4221、4222へパラレルに転送されなければならない。従って、BD−ROMドライブ4201には2D再生装置内のBD−ROMドライブ3701以上のアクセス・スピードが求められる。
スイッチ4220はBD−ROMドライブ4201からはエクステントSSを受信する。一方、スイッチ4220は再生制御部4235からは、そのエクステントSSに含まれる各データ・ブロックの境界を示す情報、すなわち、そのエクステントSSの先頭から各境界までのソースパケット数を受信する。スイッチ4220は更に、その情報を利用して各エクステントSSからベースビュー・エクステントを抽出してRB14221へ送出し、ディペンデントビュー・エクステントを抽出してRB24222へ送出する。
RB14221とRB24222とはいずれも、再生部4202内のメモリ素子を利用したバッファ・メモリである。特に単一のメモリ素子内の異なる領域がRB14221、RB24222として利用される。その他に、異なるメモリ素子が個別にRB14221、RB24222として利用されてもよい。RB14221はスイッチ4220からベースビュー・エクステントを受信して格納する。RB24222はスイッチ4220からディペンデントビュー・エクステントを受信して格納する。
システム・ターゲット・デコーダ4225は、3Dプレイリスト再生処理では、まず、再生制御部4235から復号対象のストリーム・データのPIDと、その復号に必要な属性情報とを受信する。システム・ターゲット・デコーダ4225は次に、RB14221に格納されたベースビュー・エクステントと、RB24222に格納されたディペンデントビュー・エクステントとから交互にソースパケットを読み出す。システム・ターゲット・デコーダ4225は続いて、再生制御部4235から受信されたPIDの示すエレメンタリ・ストリームを各ソースパケットから分離して復号する。システム・ターゲット・デコーダ4225は更に、復号後のエレメンタリ・ストリームをその種類別に内蔵のプレーン・メモリに書き込む。ベースビュー・ビデオ・ストリームは左映像プレーン・メモリに書き込まれ、ディペンデントビュー・ビデオ・ストリームは右映像プレーン・メモリに書き込まれる。一方、セカンダリ・ビデオ・ストリームは副映像プレーン・メモリに書き込まれ、IGストリームはIGプレーン・メモリに書き込まれ、PGストリームはPGプレーン・メモリに書き込まれる。ここで、セカンダリ・ビデオ・ストリームがベースビューとディペンデントビューとのビデオ・ストリームの対から成る場合、副映像プレーン・メモリはレフトビューとライトビューとの両方のプレーン・データに対して個別に用意される。システム・ターゲット・デコーダ4225はその他に、プログラム実行部4234からのグラフィックス・データ、例えばJPEG又はPNG等のラスタ・データに対してレンダリング処理を行ってイメージ・プレーン・メモリに書き込む。
システム・ターゲット・デコーダ4225は、左映像プレーン・メモリと右映像プレーン・メモリとからのプレーン・データの出力モードを次のように、B−D表示モードとB−B表示モードとのいずれかに対応させる。再生制御部4235からB−D表示モードが指示されたとき、システム・ターゲット・デコーダ4225は左映像プレーン・メモリと右映像プレーン・メモリとから交互にプレーン・データを出力する。一方、再生制御部4235からB−B表示モードが指示されたとき、システム・ターゲット・デコーダ4225は動作モードを3D再生モードに維持したまま、左映像プレーン・メモリと右映像プレーン・メモリとのいずれかからのみ、プレーン・データを一フレーム当たり二回ずつ出力する。
再生制御部4235から1プレーン+オフセット・モードが指示されたとき、システム・ターゲット・デコーダ4225は、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータ1110を読み出す。そのビデオ・シーケンスの再生区間では、システム・ターゲット・デコーダ4225は、まず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。システム・ターゲット・デコーダ4225は、次に、オフセット・メタデータから、そのフレーム番号に対応付けられたオフセット情報を読み出して、特定されたPTSの示す時刻にプレーン加算部4226へ送出する。
プレーン加算部4226は、システム・ターゲット・デコーダ4225から各種のプレーン・データを受信し、それらを互いに重畳して一つのフレーム又はフィールドに合成する。特にL/Rモードでは、左映像プレーン・データはレフトビュー・ビデオ・プレーンを表し、右映像プレーン・データはライトビュー・ビデオ・プレーンを表す。従って、プレーン加算部4226は、左映像プレーン・データには、レフトビューを表す他のプレーン・データを重畳し、右映像プレーン・データには、ライトビューを表す他のプレーン・データを重畳する。一方、デプス・モードでは、右映像プレーン・データは、左映像プレーン・データの表すビデオ・プレーンに対するデプスマップを表す。従って、プレーン加算部4226はまず、両方の映像プレーン・データからレフトビューとライトビューとのビデオ・プレーン・データの対を生成する。その後、プレーン加算部4226はL/Rモードでの合成処理と同様に合成処理を行う。
プレーン加算部4226は再生制御部4235から、副映像プレーン、PGプレーン、IGプレーン、又はイメージ・プレーンの表示モードとして1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードが指示されているとき、システム・ターゲット・デコーダ4225から受信されたプレーン・データに対してオフセット制御を行う。それにより、各プレーン・データからレフトビューとライトビューとのプレーン・データの対が生成される。
特に1プレーン+オフセット・モードが指示されているとき、プレーン加算部4226はまず、プレーヤ変数記憶部4236内のSPRM(27)から各グラフィックス・プレーンに対する参照オフセットID4310−4313を読み出す。プレーン加算部4226は次に、システム・ターゲット・デコーダ4225から受け取ったオフセット情報を参照して、各参照オフセットID4310−4313の示すオフセット・シーケンス1113に属するオフセット情報、すなわちオフセット方向1122とオフセット値1123との対を検索する。プレーン加算部4226は続いて、プレーヤ変数記憶部4236内のSPRM(28)から各グラフィックス・プレーンに対するオフセット補正値4320−4323を読み出して、対応するオフセット値に加える。プレーン加算部4226はその後、各オフセット値を利用して、対応するグラフィックス・プレーンに対してオフセット制御を行う。
一方、1プレーン+ゼロ・オフセット・モードが指示されているとき、プレーン加算部4226は、SPRM(27)、SPRM(28)のいずれも参照することなく、各グラフィックス・プレーンに対するオフセット値を“0”としてオフセット制御を行う。従って、同じプレーン・データが、レフトビューとライトビューとのそれぞれを表すグラフィックス・プレーンとして繰り返し、他のプレーン・データに合成される。
HDMI通信部4227はHDMIケーブル122で表示装置103に接続され、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。それにより、HDMI通信部4227は表示装置103に対してHDMI認証を行い、3D映像の再生に対応可能か否かを表示装置103に問い合わせる。
≪3Dプレイリスト再生処理≫
図44は、再生制御部4235による3Dプレイリスト再生処理のフローチャートである。3Dプレイリスト再生処理は、再生制御部4235が静的シナリオ・メモリ4232から3Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS4401では、再生制御部4235はまず、3Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントのPIとして設定する。再生制御部4235は次に、そのカレントPIのSTNテーブルから、再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。再生制御部4235は更に、3Dプレイリスト・ファイル内のSTNテーブルSSのうち、カレントPIに対応するものから、再生対象のエレメンタリ・ストリームとして追加されるべきもののPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ4225に指示される。再生制御部4235はその他に、3Dプレイリスト・ファイル内のサブパスから、カレントPIと同時に参照されるべきSUB_PIを特定し、カレントのSUB_PIとして設定する。その後、処理はステップS4402へ進む。
ステップS4402では、再生制御部4235は、STNテーブルSSの示すポップアップ期間のオフセットに依って各プレーン・データの表示モードを選択し、システム・ターゲット・デコーダ4225とプレーン加算部4226とに指示する。特に、ポップアップ期間のオフセットの値が“0”であるとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセットの値が“1”であるとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。その後、処理はステップS4403へ進む。
ステップS4403では、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードと1プレーン+ゼロ・オフセット・モードとのいずれが選択されかをチェックする。1プレーン+オフセット・モードが選択された場合、処理はステップS4404へ進む。一方、1プレーン+ゼロ・オフセット・モードが選択された場合、処理はステップS4405へ進む。
ステップS4404では、再生制御部4235は、カレントPIのSTNテーブルを参照して、選択されたPIDの示すエレメンタリ・ストリームの中からPGストリーム又はIGストリームを検出する。再生制御部4235は更に、それらのストリーム・データに割り当てられた参照オフセットIDとオフセット補正値とを特定して、プレーヤ変数記憶部4236内のSPRM(27)とSPRM(28)とのそれぞれに設定する。その後、処理はステップS4405へ進む。
ステップS4405では、再生制御部4235は、カレントのPIとSUB_PIとのそれぞれから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2DとファイルDEPとのそれぞれに対応するクリップ情報ファイルが特定される。その後、処理はステップS4406へ進む。
ステップS4406では、再生制御部4235は、ステップS4405で特定されたクリップ情報ファイルの各エントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2とファイルDEP内のSPN#11、#12とを検索する。再生制御部4235は更に、図24を用いて説明したように、各クリップ情報ファイルのエクステント起点を利用して、ファイルSSの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定し、ファイルSSの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。具体的には、再生制御部4235はまず、2Dクリップ情報ファイルのエクステント起点の示すSPNの中からSPN#1以下で最大のもの“Am”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中からSPN#11以下で最大のもの“Bm”を検索する。再生制御部4235は続いて、検索されたSPNの和Am+Bmを求めてSPN#21として決定する。再生制御部4235は次に、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#2よりも大きく、かつ最小のもの“An”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#12より大きく、かつ最小のもの“Bn”を検索する。再生制御部4235は続いて、検索されたSPNの和An+Bnを求めてSPN#22として決定する。その後、処理はステップS4407へ進む。
ステップS4407では、再生制御部4235は、ステップS4406で決定されたSPN#21、#22をセクタ数の対N1、N2に変換する。具体的には、再生制御部4235はまず、SPN#21とソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部4235は次に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商SPN#21×192/2048を求める。この商は、ファイルSSの先頭から再生開始位置の直前までのセクタ数N1に等しい。同様に、再生制御部4235はSPN#22から商SPN#22×192/2048を求める。この商は、ファイルSSの先頭から再生終了位置の直前までのセクタ数N2に等しい。その後、処理はステップS4408へ進む。
ステップS4408では、再生制御部4235は、ステップS4407で得られたセクタ数N1、N2のそれぞれから、再生対象のエクステントSS群の先端と後端とのLBNを特定する。具体的には、再生制御部4235は、再生対象のファイルSSのファイル・エントリを参照して、エクステントSS群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部4235は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ4201に指定する。その結果、指定された範囲のセクタ群から、エクステントSS群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS4409へ進む。
ステップS4409では、再生制御部4235は、ステップS4406で利用されたクリップ情報ファイルのエクステント起点を再び利用して、エクステントSS群に含まれるディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとの間の境界を示す情報(以下、データ・ブロック境界情報と呼ぶ。)を生成してスイッチ4220へ送出する。具体的な例として、再生開始位置を示すSPN#21が、各エクステント起点の示すSPNの和An+Bnに等しく、再生終了位置を示すSPN#22が、各エクステント起点の示すSPNの和Am+Bmに等しいときを想定する。そのとき、再生制御部4235は、各エクステント起点からSPNの差の列、A(n+1)−An、B(n+1)−Bn、A(n+2)−A(n+1)、B(n+2)−B(n+1)、…、Am−A(m−1)、Bm−B(m−1)を求めて、データ・ブロック境界情報としてスイッチ4220へ送出する。図24の(e)に示されているとおり、この列は、エクステントSSに含まれる各データ・ブロックのソースパケット数を示す。スイッチ4220は、BD−ROMドライブ4201から受信されるエクステントSSのソースパケット数を0からカウントし、そのカウントが、データ・ブロック境界情報の示すSPNの差と一致する度に、ソースパケットの送出先をRB14221とRB24222との間で切り換え、かつカウントを0にリセットする。その結果、エクステントSSの先頭から{B(n+1)−Bn}個のソースパケットは最初のディペンデントビュー・エクステントとしてRB24222へ送出され、続く{A(n+1)−An}個のソースパケットは最初のベースビュー・エクステントとしてRB14221へ送出される。以降も同様に、スイッチ4220によって受信されるソースパケットの数が、データ・ブロック境界情報の示すSPNの差と一致する度に、エクステントSSからディペンデントビュー・エクステントとベースビュー・エクステントとが交互に抽出される。
ステップS4410では、再生制御部4235は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS4401から繰り返される。残されていないときは、処理が終了する。
≪システム・ターゲット・デコーダ≫
システム・ターゲット・デコーダ4225に、ディペンデントビュー・ビデオ・ストリームからオフセット・メタデータを抽出する機能を実装する具体的な手段としては、次の二種類が想定される。第1の手段では、システム・ターゲット・デコーダ4225にTS優先度フィルタとオフセット・メタデータ処理部とが、主映像デコーダから独立したモジュールとして実装される。TS優先度フィルタは、TS優先度フラグの値に従って、オフセット・メタデータを含むTSパケットと、ディペンデントビュー・ピクチャを含むTSパケットとを選別する。オフセット・メタデータ処理部は、オフセット・メタデータを含むTSパケットからオフセット情報を抽出する。第2の手段では、ディペンデントビュー・ビデオ・ストリームを含むTSパケットが、TS優先度フラグの値にかかわらず、システム・ターゲット・デコーダ4225内の主映像デコーダに送られる。主映像デコーダは、ディペンデントビュー・ビデオ・ストリームの復号処理と並行して、ディペンデントビュー・ビデオ・ストリームからオフセット情報を抽出する。
(第1の手段)
図45は、第1の手段によるシステム・ターゲット・デコーダ4225の機能ブロック図である。図45に示されている構成要素は、図40に示されている2D再生装置のもの3724とは次の点で異なる:(A)リード・バッファから各デコーダへの入力系統が二重化されている;(B)TS優先度フィルタとオフセット・メタデータ処理部とが設置されている。一方、主音声デコーダ、副音声デコーダ、音声ミキサ、イメージ・プロセッサ、及び各プレーン・メモリは、図40に示されている2D再生装置のものと同様である。従って、以下では、図45に示されている構成要素のうち、図40に示されているものとは異なるものについて説明する。一方、同様な構成要素の詳細についての説明は、図40についての説明を援用する。更に、各映像デコーダはいずれも同様な構造を持つので、以下では主映像デコーダ4515の構造について説明する。同様な説明は他の映像デコーダの構造についても成立する。
第1ソース・デパケタイザ4511は、RB14221からソースパケットを読み出し、更にその中からTSパケットを抽出して第1PIDフィルタ4513へ送出する。第2ソース・デパケタイザ4512は、RB24222からソースパケットを読み出し、更にその中からTSパケットを抽出して第2PIDフィルタ4514へ送出する。各ソース・デパケタイザ4511、4512は更に、各TSパケットの送出時刻を、各ソースパケットのATSの示す時刻に合わせる。その同期方法は、図40に示されているソース・デパケタイザ4010による方法と同様である。従って、その詳細についての説明は、図40についての説明を援用する。そのような送出時刻の調節により、第1ソース・デパケタイザ4511から第1PIDフィルタ4513へのTSパケットの平均転送速度は、2Dクリップ情報ファイルの示すシステムレートRTS1を超えない。同様に、第2ソース・デパケタイザ4512から第2PIDフィルタ4514へのTSパケットの平均転送速度は、ディペンデントビュー・クリップ情報ファイルの示すシステムレートRTS2を超えない。
第1PIDフィルタ4513は、第1ソース・デパケタイザ4511からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部4235によって予め、3Dプレイリスト・ファイル内のSTNテーブルに従って指定されている。両方のPIDが一致したとき、第1PIDフィルタ4513はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ4515内のTB14501へ転送される。その他に、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、主音声デコーダ、副音声デコーダ、PGデコーダ、及びIGデコーダへ転送される。
第2PIDフィルタ4514は、第2ソース・デパケタイザ4512からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部4235によって予め、3Dプレイリスト・ファイル内のSTNテーブルSSに従って指定されている。両方のPIDが一致したとき、第2PIDフィルタ4514はそのTSパケットを、そのPIDに割り当てられたデコーダ、又はTS優先度フィルタ4551へ転送する。例えばPIDが0x1012又は0x1013であるとき、そのTSパケットはTS優先度フィルタ4551へ転送される。その他に、PIDが、0x1B20−0x1B3F、0x1220−0x127F、及び0x1420−0x147Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、PGデコーダ、及びIGデコーダへ転送される。
TS優先度フィルタ4551は、第2PIDフィルタ4514からTSパケットを受信して、それぞれのTSヘッダ501HからTS優先度511を読み出す。ここで、第2PIDフィルタ4514からTS優先度フィルタ4551へは、PID=0x1012又は0x1013のTSパケットが転送される。すなわち、それらのTSパケットはディペンデントビュー・ビデオ・ストリームを格納している。
図15に示されているTSパケット列1520のうち、第1グループ1521と第3グループ1523とではTS優先度が“0”であり、第2グループ1522ではTS優先度が“1”である。TS優先度フィルタ4551はそのTSパケット列1520の中から、TS優先度=0のTSパケットを主映像デコーダ4515内のTB24508へ転送し、TS優先度=1のTSパケットをオフセット・メタデータ処理部4552へ転送する。図15に示されているとおり、TS優先度=1のTSパケットは第2グループ1522に属するので、そのTSペイロードは、オフセット・メタデータ1509のみから構成される補足データ1504のみを含む。従って、ディペンデントビュー・ビデオ・ストリーム内のVAU#1のうち、オフセット・メタデータ1509のみから構成される補足データはオフセット・メタデータ処理部4552へ転送され、残りは、他の補足データも含め、主映像デコーダ4515へ転送される。
図16に示されているTSパケット列1620のうち、第1グループ1621と第2グループ1622とではTS優先度が“1”であり、第3グループ1623ではTS優先度が“0”である。TS優先度フィルタ4551はそのTSパケット列1620の中から、TS優先度=0のTSパケットを主映像デコーダ4515内のTB24508へ転送し、TS優先度=1のTSパケットを、TB24508とオフセット・メタデータ処理部4552との両方へ転送する。従って、ディペンデントビュー・ビデオ・ストリーム内のVAU#1が主映像デコーダ4515へ転送される一方、サブAU識別コードから補足データまではオフセット・メタデータ処理部4552へも転送される。
主映像デコーダ4515は、TB14501、MB14502、EB14503、TB24508、MB24509、EB24510、バッファ・スイッチ4506、DEC4504、DPB4505、及びピクチャ・スイッチ4507を含む。TB14501、MB14502、EB14503、TB24508、MB24509、EB24510、及びDPB4505はいずれもバッファ・メモリである。各バッファ・メモリは、主映像デコーダ4515に内蔵されたメモリ素子の一領域を利用する。その他に、それらのバッファ・メモリのいずれか又は全てが、異なるメモリ素子に分離されていてもよい。
TB14501は、ベースビュー・ビデオ・ストリームを含むTSパケットを第1PIDフィルタ4513から受信してそのまま蓄積する。MB14502は、TB14501に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB14503は、MB14502に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
TB24508は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットをTS優先度フィルタ4551から受信してそのまま蓄積する。MB24509は、TB24508に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB24510は、MB24509に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
バッファ・スイッチ4506は、EB14503とEB24510とのそれぞれに蓄積されたVAUのヘッダをDEC4504からの要求に応じて転送する。バッファ・スイッチ4506は更に、そのVAUの圧縮ピクチャ・データを、元のPESパケットに含まれるDTSの示す時刻にDEC4504へ転送する。ここで、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの間では、同じ3D・VAUに属する一対のピクチャのDTSが等しい。従って、バッファ・スイッチ4506は、DTSの等しい一対のVAUのうち、EB14503に蓄積された方を先にDEC4504へ転送する。その他に、バッファ・スイッチ4506は、そのVAU内の復号スイッチ情報1750をDEC4504に返信させてもよい。その場合、バッファ・スイッチ4506はその復号スイッチ情報1750を使って、次のVAUをEB14503とEB24510とのいずれから転送すべきか決定できる。
DEC4504は、図40に示されているDEC4004と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4504は、バッファ・スイッチ4506から転送された圧縮ピクチャ・データを順次復号する。その復号処理では、DEC4504は予め、各VAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに応じて復号方法を選択する。ここで、その圧縮符号化方式は例えば、MPEG−2、MPEG−4 AVC、MVC、及びVC1を含む。DEC4504は更に、復号された非圧縮のピクチャをDPB4505へ転送する。
DPB4505は、DEC4504によって復号された非圧縮のピクチャを一時的に保持する。DEC4504がPピクチャ及びBピクチャを復号するとき、DPB4505はDEC4504からの要求に応じて、保持されている非圧縮のピクチャの中から参照ピクチャを検索してDEC4504に提供する。
ピクチャ・スイッチ4507は、DPB4505から非圧縮の各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に、左映像プレーン・メモリ4520と右映像プレーン・メモリ4521とのいずれかに書き込む。ここで、同じ3D・VAUに属するベースビュー・ピクチャとディペンデントビュー・ピクチャとではPTSが等しい。従って、ピクチャ・スイッチ4507は、DPB4505に保持された、PTSの等しい一対のピクチャのうち、ベースビュー・ピクチャを先に左映像プレーン・メモリ4520に書き込み、続いてディペンデントビュー・ピクチャを右映像プレーン・メモリ4521に書き込む。
オフセット・メタデータ処理部4552は、主映像デコーダ4515と同じチップ上に実装されているが、主映像デコーダ4515とは別のモジュールとして構成されている。その他に、オフセット・メタデータ処理部4552は、主映像デコーダ4515とは別のチップ上に実装されていてもよい。更に、オフセット・メタデータ処理部4552は、専用のハードウェアとして構成されても、汎用のハードウェアをソフトウェアで制御することによって実現されてもよい。オフセット・メタデータ処理部4552は、TS優先度フィルタ4551から転送されたTSパケット群を解析して、それらのTSペイロードに格納された補足データからオフセット・メタデータを読み出す。
図15に示されているTSパケット列1520では、VAU#1と共に同じPESパケットに属するPESヘッダは、主映像デコーダ4515へ転送されるTSパケット群に格納されている。従って、オフセット・メタデータ処理部4552は、VAU#1の表すフレームのPTSをオフセット・メタデータから読み取る。一方、図16に示されているTSパケット列1620では、そのPESヘッダは、オフセット・メタデータ処理部4552へ転送されるTSパケット群にも格納されている。従って、オフセット・メタデータ処理部4552は、VAU#1の表すフレームのPTSを、そのPESヘッダとオフセット・メタデータとのいずれから読み取ってもよい。
オフセット・メタデータ処理部4552は、そのPTSの示す時刻からフレーム周期でフレーム番号を0から1ずつインクリメントする。オフセット・メタデータ処理部4552は更に、そのインクリメントに同期して、各フレーム番号に対応付けられたオフセット情報をオフセット・メタデータから検索し、プレーン加算部4226へ送出する。ここで、TS優先度フィルタ4551により、圧縮ピクチャ・データは、図15、16のいずれに示されているTSパケット列1520、1620からもオフセット・メタデータ処理部4552へは転送されない。従って、オフセット・メタデータ処理部4552は、圧縮ピクチャ・データに妨げられることなく、オフセット情報を確実に管理できる。
(第2の手段)
図46は、第2の手段によるシステム・ターゲット・デコーダ4225の含む、ビデオ・ストリームの処理系統を示す機能ブロック図である。図46に示されているシステム・ターゲット・デコーダ4225は、図45に示されているものとは、主映像デコーダ4615内のDEC4604の機能が異なる。その他の要素は同様である。図46では、図45に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図45に示されている要素についての説明を援用する。
DEC4604は、図45に示されているDEC4504と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4604は、バッファ・スイッチ4506から転送された圧縮ピクチャ・データを順次復号し、復号された非圧縮のピクチャをDPB4505へ転送する。DEC4604は更に、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータを読み出す。そのビデオ・シーケンスの再生区間では、DEC4604は、まず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。DEC4604は次に、オフセット・メタデータから、そのフレーム番号に対応付けられたオフセット情報を読み出して、特定されたPTSの示す時刻にプレーン加算部4226へ送出する。
≪プレーン加算部≫
図47は、プレーン加算部4226の機能ブロック図である。図47を参照するに、プレーン加算部4226は、視差映像生成部4710、スイッチ4720、四つのクロッピング処理部4731−4734、及び四つの加算部4741−4744を含む。
視差映像生成部4710は、システム・ターゲット・デコーダ4225から左映像プレーン・データ4701と右映像プレーン・データ4702とを受信する。L/Rモードの再生装置102では、左映像プレーン・データ4701はレフトビュー・ビデオ・プレーンを表し、右映像プレーン・データ4702はライトビュー・ビデオ・プレーンを表す。そのとき、視差映像生成部4710は各ビデオ・プレーン4701、4702をそのままスイッチ4720へ送出する。一方、デプス・モードの再生装置102では、左映像プレーン・データ4701は2D映像のビデオ・プレーンを表し、右映像プレーン・データ4702はその2D映像に対するデプスマップを表す。そのとき、視差映像生成部4710はまず、そのデプスマップからその2D映像の各部の両眼視差を計算する。視差映像生成部4710は次に、左映像プレーン・データ4701を加工して、ビデオ・プレーンにおけるその2D映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビューとライトビューとを表すビデオ・プレーンの対が生成される。視差映像生成部4710は更に、そのビデオ・プレーンの対を左映像と右映像とのプレーン・データの対としてスイッチ4720へ送出する。
スイッチ4720は、再生制御部4235からB−D表示モードが指示されているとき、PTSの等しい左映像プレーン・データ4701と右映像プレーン・データ4702とをその順で第1加算部4741へ送出する。スイッチ4720は、再生制御部4235からB−B表示モードが指示されているとき、PTSの等しい左映像プレーン・データ4701と右映像プレーン・データ4702との一方を一フレーム当たり二回ずつ第1加算部4741へ送出し、他方を破棄する。
第1クロッピング処理部4731は、視差映像生成部4710とスイッチ4720との対と同様な構成を入力部に含む。副映像プレーン・データがレフトビューとライトビューとの対である場合にはそれらの構成が利用される。特にデプス・モードの再生装置102では、副映像プレーン・データの対は、第1クロッピング処理部4731内の視差映像生成部によってレフトビューとライトビューとのプレーン・データの対に変換される。再生制御部4235からB−D表示モードが指示されているとき、レフトビューとライトビューとのプレーン・データが交互に第1加算部4741へ送出される。一方、再生制御部4235からB−B表示モードが指示されているとき、レフトビューとライトビューとのプレーン・データの一方が一フレーム当たり二回ずつ第1加算部4741へ送出され、他方は破棄される。
再生制御部4235から1プレーン+オフセット・モードが指示されているとき、第1クロッピング処理部4731は副映像プレーン・データ4703に対してオフセット制御を次のように行う。第1クロッピング処理部4731はまず、システム・ターゲット・デコーダ4225からオフセット情報4707を受信する。そのとき、第1クロッピング処理部4731は、プレーヤ変数記憶部4236内のSPRM(27)4751から、副映像プレーンに対する参照オフセットID(SV_ref_offset_id)4312を読み出す。第1クロッピング処理部4731は次に、その参照オフセットID4312の示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中から検索する。第1クロッピング処理部4731は続いて、プレーヤ変数記憶部4236内のSPRM(28)4752から、副映像プレーンに対するオフセット補正値(SV_offset_adjustment)4322を読み出して、検索されたオフセット値に加える。第1クロッピング処理部4731はその後、そのオフセット値を利用して、副映像プレーン・データ4703に対してオフセット制御を行う。その結果、副映像プレーン・データ4703は、レフトビューとライトビューとを表す一対の副映像プレーン・データに変換されて交互に送出される。
ここで、SPRM(27)4751とSPRM(28)4752との各値は一般に、カレントPIが切り換わる度に再生制御部4235によって更新される。その他に、プログラム実行部4234が、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)4751とSPRM(28)4752との各値を設定してもよい。
一方、再生制御部4235から1プレーン+ゼロ・オフセット・モードが指示されているとき、第1クロッピング処理部4731はオフセット制御を行うことなく、副映像プレーン・データ4703をそのまま、二回繰り返して送出する。
同様に、第2クロッピング処理部4732は、PGプレーンに対する参照オフセットID(PG_ref_offset_id)4310とオフセット補正値(PG_offset_adjustment)4320とを利用して、PGプレーン・データ4704に対してオフセット制御を行う。第3クロッピング処理部4733は、IGプレーンに対する参照オフセットID(IG_ref_offset_id)4311とオフセット補正値(IG_offset_adjustment)4321とを利用して、IGプレーン・データ4705に対してオフセット制御を行う。第4クロッピング処理部4734は、イメージ・プレーンに対する参照オフセットID(IM_ref_offset_id)4313とオフセット補正値(IM_offset_adjustment)4323とを利用して、イメージ・プレーン・データ4706に対してオフセット制御を行う。
[オフセット制御のフローチャート]
図48は、各クロッピング処理部4731−4734によるオフセット制御のフローチャートである。各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225からオフセット情報4707を受信したときにオフセット制御を開始する。以下、第2クロッピング処理部4732がPGプレーン・データ4704に対してオフセット制御を行う場合を、例に挙げる。他のクロッピング処理部4731、4733、4734はそれぞれ、副映像プレーン・データ4703、IGプレーン・データ4705、及びイメージ・プレーン・データ4706に対して同様な処理を行う。
ステップS4801では、第2クロッピング処理部4732はまず、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する。そのとき、第2クロッピング処理部4732は、SPRM(27)4751からPGプレーンに対する参照オフセットID(PG_ref_offset_id)4310を読み出す。第2クロッピング処理部4731は次に、その参照オフセットID4310の示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中から検索する。その後、処理はステップS4802へ進む。
ステップS4802では、第2クロッピング処理部4732は、SPRM(28)4752からPGプレーンに対するオフセット補正値(PG_offset_adjustment)4320を読み出して、ステップS4801で検索されたオフセット値に加える。その後、処理はステップS4803へ進む。
ステップS4803では、第2クロッピング処理部4732は、スイッチ4720によって選択されたビデオ・プレーン・データがレフトビューとライトビューとのいずれを表すかチェックする。ビデオ・プレーン・データがレフトビューを表すとき、処理はステップS4804へ進む。ビデオ・プレーン・データがライトビューを表すとき、処理はステップS4807へ進む。
ステップS4804では、第2クロッピング処理部4732は、検索されたオフセット方向の値をチェックする。以下では次の場合を想定する:オフセット方向の値が“0”であるときは3Dグラフィックス映像の奥行きが画面よりも手前であり、オフセット方向の値が“1”であるときは奥である。その場合、オフセット方向の値が“0”であるとき、処理はステップS4805へ進む。オフセット方向の値が“1”であるとき、処理はステップS4806へ進む。
ステップS4805では、第2クロッピング処理部4732はPGプレーン・データ4704に右向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ右に移動させる。その後、処理はステップS4810へ進む。
ステップS4806では、第2クロッピング処理部4732はPGプレーン・データ4704に左向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ左に移動させる。その後、処理はステップS4810へ進む。
ステップS4807では、第2クロッピング処理部4732は、検索されたオフセット方向の値をチェックする。オフセット方向の値が“0”であるとき、処理はステップS4808へ進む。オフセット方向の値が“1”であるとき、処理はステップS4809へ進む。
ステップS4808では、ステップS4805とは逆に、第2クロッピング処理部4732はPGプレーン・データ4704に左向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ左に移動させる。その後、処理はステップS4810へ進む。
ステップS4809では、ステップS4806とは逆に、第2クロッピング処理部4732はPGプレーン・データ4704に右向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ右に移動させる。その後、処理はステップS4810へ進む。
ステップS4810では、第2クロッピング処理部4732は、処理後のPGプレーン・データ4704を第3クロッピング処理部4734へ送出する。その後、処理は終了する。
[オフセット制御によるプレーン・データの変化]
図49の(b)は、第2クロッピング処理部4732によるオフセット制御で加工される前のPGプレーン・データGPを示す模式図である。図49の(b)を参照するに、PGプレーン・データGPは、字幕“I Love you”を表す画素データ群、すなわち字幕データSTLを含む。その字幕データSTLはPGプレーン・データGPの左端から距離D0に位置する。
図49の(a)は、右向きのオフセットが与えられたPGプレーン・データRGPを示す模式図である。図49の(a)を参照するに、第2クロッピング処理部4732は、PGプレーン・データGPに右向きのオフセットを与える場合、PGプレーン・データGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ右に移動させる。具体的には、第2クロッピング処理部4732はまず、クロッピング処理によってPGプレーン・データGPの右端から、オフセット値に等しい幅OFSの帯状領域AR1に含まれる画素データを除去する。第2クロッピング処理部4732は次に、PGプレーン・データGPの左端に画素データを付加して、幅OFSの帯状領域AL1を構成する。ここで、その領域AL1に含まれる画素データは透明に設定される。こうして、右向きのオフセットが与えられたPGプレーン・データRGPが得られる。実際、字幕データSTLはそのPGプレーン・データRGPの左端から距離DRに位置し、その距離DRは、元の距離D0にオフセット値OFSを加えた値に等しい:DR=D0+OFS。
図49の(c)は、左向きのオフセットが与えられたPGプレーン・データLGPを示す模式図である。図49の(c)を参照するに、第2クロッピング処理部4732は、PGプレーン・データGPに左向きのオフセットを与える場合、PGプレーン・データGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ左に移動させる。具体的には、第2クロッピング処理部4732はまず、クロッピング処理によってPGプレーン・データGPの左端から、オフセット値に等しい幅OFSの帯状領域AL2に含まれる画素データを除去する。第2クロッピング処理部4732は次に、PGプレーン・データGPの右端に画素データを付加して、幅OFSの帯状領域AR2を構成する。ここで、その領域AR2に含まれる画素データは透明に設定される。こうして、左向きのオフセットが与えられたPGプレーン・データLGPが得られる。実際、字幕データSTLはそのPGプレーン・データLGPの左端から距離DLに位置し、その距離DLは、元の距離D0からオフセット値OFSを除いた値に等しい:DL=D0−OFS。
図47を再び参照するに、第1加算部4741は、スイッチ4720からビデオ・プレーン・データを受信し、第1クロッピング処理部4731から副映像プレーン・データを受信する。第1加算部4741はそのとき、それらのビデオ・プレーン・データと副映像プレーン・データとを一組ずつ重畳して第2加算部4742に渡す。第2加算部4742は、第2クロッピング処理部4732からPGプレーン・データを受信し、第1加算部4741からのプレーン・データに重畳して第3加算部4743に渡す。第3加算部4743は、第3クロッピング処理部4733からIGプレーン・データを受信し、第2加算部4742からのプレーン・データに重畳して第4加算部4744に渡す。第4加算部4744は、第4クロッピング処理部4734からイメージ・プレーン・データを受信し、第3加算部4743からのプレーン・データに重畳して表示装置103へ送出する。ここで、各加算部4741−4744は、プレーン・データの重畳にα合成を利用する。こうして、左映像プレーン・データ4701と右映像プレーン・データ4702とのそれぞれに、図47に矢印4700で示されている順序で、副映像プレーン・データ4703、PGプレーン・データ4704、IGプレーン・データ4705、及びイメージ・プレーン・データ4706が重畳される。その結果、各プレーン・データの示す映像は表示装置103の画面上に、左映像プレーン又は右映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンの順に重ねられたように表示される。
プレーン加算部4724は上記の処理の他に、四つの加算部4741−4744によって合成されたプレーン・データの出力形式を、表示装置103等、そのデータの出力先の装置による3D映像の表示方式に合わせて変換する。例えば出力先の装置が継時分離方式を利用するとき、プレーン加算部4724は合成後のプレーン・データを一つの映像フレーム又はフィールドとして送出する。一方、出力先の装置がレンチキュラーレンズを利用するとき、プレーン加算部4724は内蔵のバッファ・メモリを利用して、レフトビューとライトビューとのプレーン・データの対を一つの映像フレーム又はフィールドに合成して送出する。具体的には、プレーン加算部4724は、先に合成されたレフトビュー・プレーン・データを一旦、そのバッファ・メモリに格納して保持する。プレーン加算部4724は続いて、ライトビュー・プレーン・データを合成して、バッファ・メモリに保持されたレフトビュー・プレーン・データと更に合成する。その合成では、レフトビューとライトビューとの各プレーン・データが縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレーム又はフィールドの中に横方向に交互に並べられて一つのフレーム又はフィールドに再構成される。こうして、レフトビューとライトビューとのプレーン・データの対が一つの映像フレーム又はフィールドに合成される。プレーン加算部4724はその合成後の映像フレーム又はフィールドを出力先の装置へ送出する。
<実施形態1の効果>
本発明の実施形態1によるBD−ROMディスク101では、ディペンデントビュー・ビデオ・ストリームを構成する各ビデオ・シーケンスの先頭のVAUを格納したTSパケット列に対して、TS優先度が、図15、16に示されているように割り当てられている。特に、オフセット・メタデータを格納するTSパケット群と、圧縮ピクチャ・データを格納しているTSパケット群とでは、TS優先度の値が異なる。その場合、システム・ターゲット・デコーダ4225には、図45に示されている第1の手段と、図46に示されている第2の手段とのいずれによって、オフセット・メタデータの抽出機能が実現されていてもよい。第1の手段によるシステム・ターゲット・デコーダ4225は、TS優先度を利用して、オフセット・メタデータを格納するTSパケットを他のTSパケットから容易に選別できる。従って、主映像デコーダ4515とオフセット・メタデータ処理部4552とは、異なる態様で実装可能である。特に主映像デコーダ4515がハードウェアで構成されていても、それに関わりなく、オフセット・メタデータ処理部4552は、専用のハードウェアとして構成されても、汎用のハードウェアを利用してソフトウェアによって実現されてもよい。一方、第2の手段によるシステム・ターゲット・デコーダ4225では、主映像デコーダ4615がディペンデントビュー・ビデオ・ストリームの復号機能とオフセット・メタデータの抽出機能との両方を並列に実行可能である。従って、ディペンデントビュー・ビデオ・ストリームを含むTSパケットは全て、TS優先度にかかわらず、主映像デコーダ4615に渡されればよい。このように、本発明の実施形態1によるBD−ROMディスク101に記録されたディペンデントビュー・ビデオ・ストリームとオフセット・メタデータとのデータ構造は、システム・ターゲット・デコーダ4225が第1の手段と第2の手段とのいずれによる構成であっても共通に利用可能である。
<変形例>
(1−A)ビデオ・ストリーム
本発明の実施形態1によるL/Rモードでは、ベースビュー・ビデオ・ストリームがレフトビューを表し、ディペンデントビュー・ビデオ・ストリームがライトビューを表す。逆に、ベースビュー・ビデオ・ストリームがライトビューを表し、ディペンデントビュー・ビデオ・ストリームがレフトビューを表してもよい。
本発明の実施形態1によるBD−ROMディスク101では、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとは、異なるTSに多重化されている。その他に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが一つのTSに多重化されていてもよい。
(1−B)オフセット・メタデータ
(1−B−1)オフセット・メタデータは、ディペンデントビュー・ビデオ・ストリームに代えて、ベースビュー・ビデオ・ストリームに格納されてもよい。その場合でも、オフセット・メタデータは、好ましくは、各ビデオ・シーケンスの先頭に位置するVAU内の補足データに格納される。更に、3Dプレイリスト・ファイルは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれがオフセット・メタデータを含むかを示すフラグを備えていてもよい。それにより、各ストリーム・データの作成の自由度を向上させることができる。また、そのフラグに対しては、「CC=5、6によってシームレスに接続されるPI間では変更を禁止する」と規定されてもよい。
(1−B−2)オフセット・メタデータは、各ビデオ・シーケンス(すなわち、各GOP)の先頭だけでなく、各VAU(すなわち、各フレーム又はフィールド)に格納されてもよい。その他に、コンテンツごとに、オフセット・メタデータの間隔が任意の値に、例えば3フレーム以上に設定されてもよい。その場合、好ましくは、各ビデオ・シーケンスの先頭のVAUには必ずオフセット・メタデータが格納され、かつ、その直前のオフセット・メタデータとの間隔が3フレーム以上であるように制限される。それにより、再生装置にオフセット情報の変更処理を飛び込み再生処理と確実に並行させることができる。
(1−B−3)オフセット・メタデータは、ビデオ・ストリームに格納されるのに代えて、独立なストリーム・データとしてメインTS又はサブTSに多重化されてもよい。その場合、オフセット・メタデータには固有のPIDが割り当てられる。システム・ターゲット・デコーダはそのPIDを利用して、オフセット・メタデータを他のストリーム・データから分離する。その他に、オフセット・メタデータは、まず専用のバッファ・メモリにプリロードされ、その後、再生処理を受けてもよい。その場合、オフセット・メタデータは一定のフレーム間隔で格納される。それにより、オフセット・メタデータについてはPTSが不要であるので、PESヘッダのデータ量が削減される。その結果、プリロード用のバッファの容量を節約することができる。
(1−B−4)オフセット・メタデータは、VAUの補足データに格納されるのに代えて、ビデオ・ウォータマークを利用してビデオ・ストリームに埋め込まれてもよい。更に、オフセット・メタデータは、オーディオ・ウォータマークを利用してオーディオ・ストリームに埋め込まれてもよい。
(1−B−5)本発明の実施形態1によるサブTSでは、図15に示されているとおり、第1グループ1521と第2グループ1522との各後端に位置するTSパケット1530、1550は一般にADフィールド1532、1552を含む。それにより、三つのグループ1521−1523が互いに分離されている。その他に、ディペンデントビュー・ビデオ・ストリーム内のVAU#11500において、パディング・データ1506のサイズが調整されることによって、三つのグループ1521−1523が互いに分離されてもよい。
(1−B−6)オフセット・メタデータを含むTSパケットがシステム・ターゲット・デコーダにより、TS優先度に代えてPIDに従って選別されてもよい。図50は、ディペンデントビュー・ビデオ・ストリーム内のVAU#15000を格納したPESパケット5010、及び、そのPESパケット5010から生成されるTSパケット列5020とを示す模式図である。VAU#15000はビデオ・シーケンスの先端に位置するので、オフセット・メタデータ5009のみから構成される補足データ5004を含む。PESパケット5010のPESペイロード5012はVAU#15000を格納し、そのPESヘッダ5011は、VAU#15000内の圧縮ピクチャ・データ5005に割り当てられたDTSとPTSとを含む。PESパケット5010は先頭から順にTSパケット列5020に格納されている。それにより、TSパケット列5020は先頭から順に三つのグループ5021、5022、5023に分けられる。第1グループ5021は、PESヘッダ5011、サブAU識別コード5001、サブシーケンス・ヘッダ5002、及びピクチャ・ヘッダ5003を含む。第2グループ5022は、オフセット・メタデータ5009のみから構成される補足データ5004を含む。第3グループ5013は、圧縮ピクチャ・データ5005、パディング・データ5006、シーケンス終端コード5007、及びストリーム終端コード5008を含む。図50には、オフセット・メタデータ5009のみから構成される補足データ5004が斜線部で示され、PESパケット5010内でその補足データよりも前に配置されるデータ5011、5001−5003がドット付きの領域で示されている。図15に示されているTSパケット列1520と同様に、第1グループ5021と第2グループ5022との各後端に位置するTSパケット5030、5050は一般に、ADフィールド5032、5052を含む。それにより、三つのグループ5021−5023が互いに分離されている。第1グループ5021と第3グループ5023とのそれぞれに属するTSパケット5030、5060では、いずれのTSヘッダ5031、5061もPID=0x1012を示す。ここで、第1グループ5021に属するTSパケット5030では、TSヘッダ5031がPID=0x1022を示してもよい。一方、第2グループ5022に属するTSパケット5040、5050ではTSヘッダ5041、5051はPID=0x1022を示す。16進数値「0x1022」は、他のエレメンタリ・ストリームに割り当てられた16進数値以外であれば別の値であってもよい。こうして、第2グループ5022に属するTSパケットは、特に第3グループ5023に属するTSパケットとはPIDが異なる。従って、システム・ターゲット・デコーダはPIDを利用して、第2グループに属するTSパケットを容易に選別できる。
システム・ターゲット・デコーダは、図50に示されているTSパケット列5020からオフセット・メタデータを以下のようにして抽出する。図51は、そのシステム・ターゲット・デコーダ5125内のビデオ・ストリームの処理系統を示す機能ブロック図である。図51に示されているシステム・ターゲット・デコーダ5125は、図45に示されているもの4225とは異なり、TS優先度フィルタ4551を含まない。その他の要素は同様である。図51では、図45に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図45に示されている要素についての説明を援用する。
第2PIDフィルタ4514は、PID=0x1012のTSパケットを主映像デコーダ4515内のTB24508へ転送し、PID=0x1022のTSパケットをオフセット・メタデータ処理部4552へ転送する。ここで、PID=0x1022のTSパケットはTB24508へパラレルに転送されてもよい。こうして、オフセット・メタデータを含むTSパケットはオフセット・メタデータ処理部4552へ転送される。
尚、オフセット・メタデータを含むTSパケットをサブTSから選別するには、TS優先度とPIDとのいずれとも異なる別のデータが利用されてもよい。TS優先度及びPIDと同様に、TSパケット別に異なる値を設定可能なデータであれば、上記の選別に利用可能であることは、上記の実施形態から当業者には自明であろう。
(1−B−7)本発明の実施形態1によるオフセット・メタデータ1110は、図11に示されているとおり、オフセット情報を各フレームに与える。その他に、ビデオ・ストリームがインターレース方式のフレーム(例えば60i)を表している場合、表示単位はフレームではなくフィールドである。その場合、オフセット・メタデータはオフセット情報を、各フィールドに与えるものであっても、各フレームを構成するフィールドの対に与えるものであってもよい。
(1−B−8)本発明の実施形態1によるオフセット・メタデータでは、各オフセット・シーケンスがフレームごとにオフセット値を規定する。その他に、各オフセット・シーケンスが表示時間ごとに、オフセット値の経時変化を表す関数、すなわち補完関数を規定してもよい。その場合、3D再生装置は表示時間ごとに補完関数を用いて、その表示時間に含まれる各フレームにおけるオフセット値を算定する。
図52の(a)は、補完関数を利用するオフセット・メタデータ5200のデータ構造を示す模式図である。図52の(a)を参照するに、オフセット・メタデータ5200は、オフセット・シーケンスID5210とオフセット・シーケンス5220との対応表を含む。オフセット・シーケンス5220は、起点オフセット値(offset_start)5221、終点オフセット値(offset_end)5222、オフセット関数ID(offset_func_id)5223、及びオフセット時間間隔(offset_duration)5224を含む。オフセット・メタデータ5200が、ディペンデントビュー・ビデオ・ストリーム内の一つのビデオ・シーケンスに格納されているとき、起点オフセット値5221は、そのビデオ・シーケンスの表す最初のフレームにおけるオフセット値を示す。終点オフセット値5222は、次のビデオ・シーケンスの表す最初のフレームにおけるオフセット値を示す。オフセット関数ID5223は補完関数の種類を規定する。その補完関数の種類は、そのビデオ・シーケンスの表示時間におけるオフセット値の変化の形状を表す。オフセット時間間隔5224はそのビデオ・シーケンスの表示時間の長さを表す。
図52の(b)は、補完関数を構成する要素の種類を表すグラフである。図52の(b)を参照するに、x軸は表示時間を表し、y軸はオフセット値を表す。ここで、オフセット値の符号は、3Dグラフィックス映像の奥行きが画面よりも奥か手前かで決まる。補完関数の構成要素としては、直線形状LNR、凸形状CVX、及び凹形状CCVの三種類が用意されている。直線形状LNRは線形関数y=ax+bで定義され、凸形状CVXと凹形状CCVとは、2次曲線y=ax2+bx+c、3次曲線y=ax3+bx2+cx+d、又はガンマ曲線y=a(x+b)1/r+cで定義される。ここで、定数a、b、c、dはパラメータであり、各要素の両端A、Bのxy座標、すなわち、表示時刻とその時点でのオフセット値との対で決まる。一方、定数rは別に規定され、各オフセット・シーケンスに格納される。補完関数の種類は、それらの要素LNR、CVX、CCVの単体、又は組み合わせとして定義される。
図52の(c)は、図52の(a)に示されているオフセット・シーケンスID=0、1、2の各オフセット・シーケンスから3D再生装置によって算定されたオフセット値を示すグラフである。そのグラフの横軸は、各オフセット・シーケンスを格納するビデオ・シーケンスの最初のフレームが表示された時刻から経過した時間を表す。各黒丸A0、B0、A1、B1、A2、B2の座標値は、起点オフセット値5221又は終点オフセット値5222のいずれかとオフセット時間間隔5224とで規定される。一対の黒丸A0+B0、A1+B1、A2+B2の間を接続する実線のグラフGR0、GR1、GR2はそれぞれ、補完関数を表す。各補完関数は、オフセット関数ID5223で規定された種類と、両端の黒丸A0+B0、A1+B1、A2+B2の座標値とから決定される。オフセット・シーケンスID=0のオフセット・シーケンスでは、オフセット関数ID5223が「直線」を示すので、両端の黒丸A0、B0の間が直線形状LNRのグラフ#0GR0で接続される。オフセット・シーケンスID=1のオフセット・シーケンスでは、オフセット関数ID5423が「曲線#1」を示すので、両端の黒丸A1、B1の間が単一の凸形状CVXのグラフ#1GR1で接続される。オフセット・シーケンスID=2のオフセット・シーケンスでは、オフセット関数ID5423が「曲線#2」を示すので、両端の黒丸A2、B2の間が、凸形状CVXと凹形状CCVとの組み合わせから成るグラフ#2GR2で接続される。白丸は、各フレームの表示時刻とそのフレームにおけるオフセット値との対を表す。そのオフセット値は、各グラフGR0、GR1、GR2の示す補完関数を利用して、3D再生装置によって算定される。これらのグラフGR0、GR1、GR2から容易に理解されるように、起点オフセット値5221、終点オフセット値5222、オフセット関数ID5223、及びオフセット時間間隔5224の組み合わせだけでも、多様なオフセット値の変化、すなわち3Dグラフィックス映像の奥行きの変化を表現することができる。従って、3Dグラフィックス映像の表現力を損なうことなく、オフセット・メタデータ全体のサイズを削減することができる。
(1−C)3D映像のAVストリーム・ファイルでは、図18に示されているPMT1810に3D映像の再生方式に関するデータが追加されてもよい。その場合、PMT1810は、PMTヘッダ1801、ディスクリプタ1802、及びストリーム情報1803に加えて3Dディスクリプタを含む。3Dディスクリプタは、3D映像の再生方式に関してAVストリーム・ファイル全体に共通する情報であり、特に3D方式情報を含む。3D方式情報は、L/Rモード又はデプス・モード等、3D映像のAVストリーム・ファイルの再生方式を示す。各ストリーム情報1803は、ストリーム・タイプ1831、PID1832、及びストリーム・ディスクリプタ1833に加えて3Dストリーム・ディスクリプタを含む。3Dストリーム・ディスクリプタは、AVストリーム・ファイルに含まれるエレメンタリ・ストリーム別に3D映像の再生方式に関する情報を示す。特にビデオ・ストリームの3Dストリーム・ディスクリプタは3D表示タイプを含む。3D表示タイプは、そのビデオ・ストリームの示す映像をL/Rモードで表示するとき、その映像がレフトビューとライトビューとのいずれであるのかを示す。3D表示タイプはまた、そのビデオ・ストリームの示す映像をデプス・モードで表示するとき、その映像が2D映像とデプスマップとのいずれであるのかを示す。このように、PMTが3D映像の再生方式に関する情報を含むとき、その映像の再生系統はAVストリーム・ファイルだけからでも、その情報を取得できる。従って、そのようなデータ構造は、例えば放送波で3D映像コンテンツを頒布するときに有効である。
(1−D)クリップ情報ファイル
ディペンデントビュー・クリップ情報ファイルは、図22に示されているようなストリーム属性情報2220のうち、ディペンデントビュー・ビデオ・ストリームのPID=0x1012、0x1013に割り当てられているビデオ・ストリーム属性情報に所定のフラグを含んでもよい。そのフラグがオンであるときは、ディペンデントビュー・ビデオ・ストリームがベースビュー・ビデオ・ストリームを参照するものであることを示す。そのビデオ・ストリーム属性情報が更に、参照先のベースビュー・ビデオ・ストリームに関する情報を含んでもよい。その情報は、3D映像コンテンツが規定のフォーマットどおりに作成されているか否かを所定のツールで検証するときに、ビデオ・ストリーム間の対応関係を確認するのに利用することができる。
本発明の実施形態1では、クリップ情報ファイルに含まれるエクステント起点2242、2420からベースビュー・エクステントとディペンデントビュー・エクステントとの各サイズを算出することができる。その他に、各エクステントのサイズの一覧表が、例えばクリップ情報ファイルにメタデータの一部として格納されてもよい。
(1−E)プレイリスト・ファイル
(1−E−1)図31に示されている3Dプレイリスト・ファイル222はサブパスを一つ含む。その他に、3Dプレイリスト・ファイルがサブパスを複数含んでもよい。例えば、一方のサブパスのサブパス・タイプが「3D・L/R」であり、他方のサブパスのサブパス・タイプが「3D・デプス」であってもよい。その3Dプレイリスト・ファイルに従って3D映像が再生される際にそれら二種類のサブパスが切り換えられることにより、再生装置102をL/Rモードとデプス・モードとの間で容易に切り換えることができる。特にその切り換え処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実行可能である。
複数のディペンデントビュー・ビデオ・ストリームがそれぞれ、共通のベースビュー・ビデオ・ストリームとの組み合わせで同じ3D映像を表現してもよい。但し、それらのディペンデントビュー・ビデオ・ストリームの間では、同じシーンのレフトビューとライトビューとの間の視差が異なる。それらのディペンデントビュー・ビデオ・ストリームは、一つのサブTSに多重化されていても、異なるサブTSに分離されていてもよい。その場合、3Dプレイリスト・ファイルはサブパスを複数含む。各サブパスは異なるディペンデントビュー・ビデオ・ストリームを参照する。その3Dプレイリスト・ファイルに従って3D映像が再生される際にサブパスが切り換えられることにより、再生装置102に3D映像の奥行き感を容易に変化させることができる。特にその処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実行可能である。
図53は、サブパスを複数含む3Dプレイリスト・ファイル5300のデータ構造、及び、それによって参照されるファイル2D5310と二つのファイルDEP5321、5322とのデータ構造を示す模式図である。ファイル2D5310はPID=0x1011のベースビュー・ビデオ・ストリームを含む。ファイルDEP#15321はPID=0x1012のディペンデントビュー・ビデオ・ストリーム#1を含む。ファイルDEP#25322はPID=0x1013のディペンデントビュー・ビデオ・ストリーム#2を含む。ディペンデントビュー・ビデオ・ストリーム#1、#2はそれぞれ、ファイル2D5310内のベースビュー・ビデオ・ストリームとの組み合わせで同じ3D映像を表現する。しかし、ディペンデントビュー・ビデオ・ストリーム#1、#2の間では、同じシーンのレフトビューとライトビューとの間の視差が異なる。更に、オフセット・シーケンスIDの等しいオフセット・シーケンスが、同じフレーム番号に対して異なるオフセット値を規定する。
一方、3Dプレイリスト・ファイル5300はメインパス5330と二つのサブパス5331、5332とを含む。メインパス5330のPI#1はファイル2D5310、特にベースビュー・ビデオ・ストリームを参照する。各サブパス5331、5332のSUB_PI#1はメインパス5330のPI#1と再生時間が共通である。サブパス#15331のSUB_PI#1はファイルDEP#15321、特にディペンデントビュー・ビデオ・ストリーム#1を参照する。サブパス#25332のSUB_PI#1はファイルDEP#25322、特にディペンデントビュー・ビデオ・ストリーム#2を参照する。メインパス5330のPI#2及び各サブパス5331、5332のSUB_PI#2も同様である。
その3Dプレイリスト・ファイル5300を用いた3Dプレイリスト再生処理では、再生装置102は予め、ユーザ又はアプリケーション・プログラムに再生対象のサブパスを選択させる。その他に、再生装置102は再生対象のサブパスを、表示装置103の画面サイズ又は視聴者の瞳孔間距離を利用して選択してもよい。そのようなサブパスの選択処理によって、レフトビューとライトビューとのビデオ・プレーン間の視差を容易に変化させることができる。更に、ディペンデントビュー・ビデオ・ストリームの切り換えに伴ってオフセット情報が変化するので、ファイル2D5310の含むPGストリーム又はIGストリームから再生されるグラフィックス・プレーンのオフセットが変化する。それらの結果、3D映像の奥行き感を容易に変化させることができる。
(1−E−2)図31に示されている3Dプレイリスト・ファイルでは、ベースビュー・ビデオ・ストリームはメインパス3101内のSTNテーブル3205に登録され、ディペンデントビュー・ビデオ・ストリームは拡張データ3103内のSTNテーブルSS3130に登録されている。その他に、ディペンデントビュー・ビデオ・ストリームはSTNテーブルに登録されていてもよい。その場合、STNテーブルは、登録されたビデオ・ストリームがベースビューとディペンデントビューとのいずれを表すものであるかを示すフラグを含んでもよい。
(1−E−3)本発明の実施形態1によるBD−ROMディスク101には、2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとが別々に記録されている。その他に、図31に示されているサブパス3102が、拡張データ3103と同様に、3D再生モードの再生装置102によってのみ参照される領域に記録されてもよい。その場合、サブパス3102が2D再生モードの再生装置102を誤動作させる危険性はないので、3Dプレイリスト・ファイルをそのまま、2Dプレイリスト・ファイルとして利用することができる。その結果、BD−ROMディスクのオーサリングが簡単化される。
(1−E−4)PGストリームとIGストリームとのそれぞれに対する参照オフセットIDとオフセット補正値とは、STNテーブル3205に代えて、STNテーブルSS3130に格納されてもよい。その他に、それらはクリップ情報ファイル内のストリーム属性情報2220に格納されてもよい。更に、参照オフセットIDは、PGストリーム内の各データ・エントリに格納されていても、IGストリーム内の各ページに格納されていてもよい。
(1−E−5)3Dプレイリスト・ファイルに参照オフセットIDを設定する場合、PI間のシームレス接続に関して、以下の制約条件が規定されてもよい。例えば図53に示されているメインパス5330のPI#2にCC=5が設定されている場合、PI#1とPI#2とのそれぞれの規定する再生区間の映像はシームレスに接続されなければならない。その場合、PI#1とPI#2とでは、参照オフセットIDの値の変更と、ディペンデントビュー・ビデオ・ストリームに含まれるオフセット・シーケンスの総数、すなわちエントリ数の変更とがいずれも禁止される。更に、オフセット補正値の変更とそのエントリ数の変更とがいずれも禁止されてもよい。この制約条件により、再生装置102はカレントPIをPI#1からPI#2に変更するときに、SPRM(27)の更新処理をスキップすることができる。従って、シームレス接続に関する処理の負担が軽減されるので、その処理の信頼性を更に向上させることができる。その結果、3D映像の画質を更に向上させることができる。
(1−E−6)STNテーブルでは、一つのストリーム・データに対してオフセット補正値が複数設定されてもよい。図54は、そのようなSTNテーブル5400を示す模式図である。図54を参照するに、そのSTNテーブル5400では、一つのSTN5401にPGストリーム1のストリーム・エントリ5402とストリーム属性情報5403とが対応付けられている。そのストリーム属性情報5403は、一つの参照オフセットID5410と共に、三種類のオフセット補正値#1−#35411−5413を含む。それらのオフセット補正値は、PGストリーム1から再生されるグラフィックス・プレーンに与えられるべきオフセットを、表示装置の画面サイズに依って変化させるのに利用される。
ここで、オフセット補正値の種類と画面サイズとの間の対応関係が予め規定されている場合を想定する。具体的には、オフセット補正値#15411、オフセット補正値#25412、オフセット補正値#35413はそれぞれ、画面サイズが、0−33インチ、34−66インチ、及び67インチ以上の各範囲内に属するときに利用される。各オフセット補正値5411−5413は次の条件を満たすように設定される:グラフィックス・プレーンのオフセットによって生じるレフトビューとライトビューとのグラフィックス映像間の視差の最大値が、一般的な視聴者の瞳孔間距離以下(特に視聴者が子供である場合は5cm以下)である。その条件が満たされる限り、その視差は視聴者の瞳孔間距離を超えないので、その視聴者に映像酔いや眼精疲労が生じる危険性を低減させることができる。
再生装置102の再生制御部4235は、カレントPIの切り換えに伴って、一つのストリーム・データに割り当てられたオフセット補正値の総数が変更される度に、実際に利用すべきオフセット補正値を表示装置103の画面サイズに合わせて選択する。具体的には、再生制御部4235はまず、必要であればHDMI認証を行って表示装置103の画面サイズを取得する。再生制御部4235は次に、表示装置103の画面サイズが、0−33インチ、34−66インチ、及び67インチ以上のいずれの範囲内に属するかに合わせて、オフセット補正値#1−#35411−5413のいずれかを選択し、その種類を表す情報をプレーヤ変数としてプレーヤ変数記憶部4236に格納する。それにより、オフセット補正値の選択処理が再び実行されるまで、再生制御部4235は各STNテーブルから、そのプレーヤ変数の示す種類のオフセット補正値を選択し、その値でSPRM(28)の値を更新する。
(1−F)図35に示されているインデックス・ファイル211は、タイトル全体で共通する3D存在フラグ3520と2D/3Dお好みフラグ3530とを含む。その他に、インデックス・ファイルが、タイトル別に異なる3D存在フラグ又は2D/3Dお好みフラグを設定していてもよい。
(1−G)SPRM(27)、SPRM(28)
(1−G−1)プログラム実行部4234は、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)とSPRM(28)との各値を設定してもよい。すなわち、再生装置102はアプリケーション・プログラムに参照オフセットIDとオフセット補正値とを設定させてもよい。更に、そのようなアプリケーション・プログラムは、インデックス・テーブル3510の項目「ファーストプレイ」3501に対応付けられているオブジェクトに制限されてもよい。
(1−G−2)再生制御部4235は、グラフィックス・プレーンに与えられるべきオフセットを視聴者に調整させてもよい。具体的には、例えば視聴者がリモコン105又は再生装置102のフロントパネルを操作してオフセット補正値の設定を要求したとき、まず、ユーザイベント処理部4233がその要求を受け付けて再生制御部4235に通知する。次に、再生制御部4235はその要求に応じて、オフセットを調整するための操作画面を表示装置103に表示させる。ここで、その操作画面の表示には再生装置102のOSDが利用される。再生制御部4235は更に、その操作画面を利用して、視聴者に調整対象のグラフィックス・プレーンとオフセット値の増減とを、リモコン105等の操作で選択させる。再生制御部4235は続いて、SPRM(28)を更新して、選択されたグラフィックス・プレーンに対応するオフセット補正値に所定値を加え、又は減じる。好ましくは、再生制御部4235は、その調整処理の間、再生部4202にグラフィックス・プレーンの再生処理を継続させる。ここで、再生部4202は、操作画面とグラフィックス映像とのいずれか手前に表示される方を半透明にし、又は、操作画面をグラフィックス映像よりも手前に表示する。それにより、操作画面が表示されてもグラフィックス映像は見えるので、画面の輝度及び色合いの調整と同様に、視聴者にオフセット値の増減の効果を即座に確認させることができる。
(1−G−3)図47に示されている各クロッピング処理部4731−4734は、SPRM(27)の示す参照オフセットIDで特定されるオフセット・シーケンスをオフセット制御に利用する。逆に、各クロッピング処理部4731−4734は、所定のSPRMの示すオフセット・シーケンスIDで特定されるオフセット・シーケンスをオフセット制御には利用しないようにしてもよい。すなわち、そのSPRMは、オフセット制御においてマスクされるべきオフセット・シーケンスID(PG_ref_offset_id_mask、IG_ref_offset_id_mask、SV_ref_offset_id_mask、IM_ref_offset_id_mask)を示す。その場合、各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707のうち、マスクされたオフセット・シーケンスID以外に対応するものの中から、最大のオフセット値を含むものを選択してもよい。それにより、副映像プレーン、PGプレーン、IGプレーン、及びイメージ・プレーンのそれぞれの表すグラフィックス映像の奥行きを容易に揃えることができる。その結果、各ストリーム・データの作成の自由度を向上させることができる。
(1−H)再生装置102がOSDとして独自のメニューを表示する際には、そのメニューの2D映像を表すグラフィックス・プレーン、すなわちOSDプレーンに対してオフセット制御を行ってもよい。その場合、再生装置102はオフセット情報として、そのメニューの表示時刻にシステム・ターゲット・デコーダ4225によって送出されたオフセット情報の中から、オフセット方向が画面よりも手前であって、かつオフセット値が最大であるものを選択してもよい。それにより、そのメニューを、字幕等、3D映像コンテンツから再生される3Dグラフィックス映像のいずれよりも手前に表示することができる。
その他に、再生装置102が、OSDプレーンに対するオフセット情報を予め備えていてもよい。そのオフセット情報には特定のオフセット・シーケンスID、例えばoffset_id=0が割り当てられる。更に、オフセット・シーケンスID=0のオフセット情報に対しては、次の条件(1)、(2)が規定されてもよい:(1)オフセット方向は、画面よりも手前を示す。(2)オフセット値は、オフセット・シーケンスID≠0のオフセット情報のうち、フレーム番号が等しく、かつオフセット方向が画面よりも手前であるものの中で最大のオフセット値に等しい。この規定により、再生装置102は、システム・ターゲット・デコーダ4225によって送出されたオフセット情報の中からはオフセット情報を選択しなくてもよいので、OSDプレーンに対するオフセット制御を簡単化できる。また、各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中に、SPRM(27)の示す参照オフセットIDを検出できなかった場合に、オフセット・シーケンスID=0のオフセット情報を代用してもよい。
(1−I)3D再生装置では、SPRM(13)にパレンタル・レベルが設定されているのに加えて、SPRM(30)に3Dパレンタル・レベルが設定されていてもよい。3Dパレンタル・レベルは所定の制限年齢を示し、BD−ROMディスク101に記録された3D映像タイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値と同様に、SPRM(30)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は各3D映像タイトルに対するパレンタル制御を例えば次のように行う。3D再生装置はまず、そのタイトルを2D再生モードで視聴することが許可された視聴者の年齢をBD−ROMディスク101から読み出して、SPRM(13)の値と比較する。その年齢がSPRM(13)の値未満であれば、3D再生装置はそのタイトルの再生を停止する。その年齢がSPRM(13)の値以上であれば、3D再生装置は続いて、そのタイトルを3D再生モードで視聴することが許可された視聴者の年齢をBD−ROMディスク101から読み出して、SPRM(30)の値と比較する。その年齢がSPRM(30)の値以上であれば、3D再生装置はそのタイトルを3D再生モードで再生する。その年齢がSPRM(30)の値未満でSPRM(13)の値以上であれば、3D再生装置はそのタイトルを2D再生モードで再生する。こうして、年齢による瞳孔間距離の相違を考慮して、「一定の年齢未満の子供には3D映像を2D映像としてしか見せない」等のパレンタル制御を実現することができる。このパレンタル制御は好ましくは、図36に示されている再生対象のプレイリスト・ファイルを選択する処理において「表示装置が3D映像に対応している」と判定されたときに、すなわち、ステップS3605において「Yes」と判定されたときに行われる。尚、SPRM(30)には、制限年齢に代えて、3D再生モードの許可/禁止を示す値が設定され、3D再生装置はその値に従って3D再生モードの有効/無効を判断してもよい。
(1−J)3D再生装置では、「2D再生モードと3D再生モードとのいずれが優先されるべきか」を示す値がSPRM(31)に設定されていてもよい。SPRM(31)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は、図36に示されている再生対象のプレイリスト・ファイルを選択する処理におけるステップS3603で、2D/3Dお好みフラグと共にSPRM(31)を参照する。それらがいずれも2D再生モードを示しているときは、3D再生装置は2D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とがいずれも3D再生モードを示しているときは、3D再生装置は、再生モードの選択画面を表示することなく、ステップS3605、すなわちHDMI認証を行う。その結果、表示装置が3D映像の再生に対応可能であれば、3D再生装置は3D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とが異なる再生モードを示しているときは、3D再生装置はステップS3604を実行し、すなわち再生モードの選択画面を表示してユーザに再生モードを選択させる。その他に、アプリケーション・プログラムに再生モードを選択させてもよい。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、その値の示す再生モードが、SPRM(31)の示す再生モード、すなわち、ユーザが予め設定した再生モードと一致しないときにのみ、ユーザに改めて再生モードを選択させるようにすることができる。
BD−Jオブジェクト等のアプリケーション・プログラムは、SPRM(31)を参照して再生モードを選択してもよい。更に、図36に示されているステップS3604においてユーザに再生モードを選択させる際、選択画面に表示されるメニューの初期状態がSPRM(31)の値に依って決定されてもよい。例えば、SPRM(31)の値が2D再生モードの優先を示す場合には、2D再生モードの選択ボタンにカーソルを合わせた状態でメニューが表示され、3D再生モードの優先を示す場合には、3D再生モードの選択ボタンにカーソルを合わせた状態でメニューが表示される。その他に、3D再生装置は、父、母、子供等、複数のユーザのアカウントを管理する機能を持つとき、現時点でログインしているユーザのアカウントに合わせてSPRM(31)の値を設定してもよい。
SPRM(31)の値は、「2D再生モードと3D再生モードとのいずれが優先されるべきか」に加えて、「2D再生モードと3D再生モードとのいずれが常に設定されるべきか」を示してもよい。「2D再生モードが常に設定されるべき」ことをSPRM(31)の値が示す場合、3D再生装置は、2D/3Dお好みフラグの値にかかわらず、常に2D再生モードを選択する。その場合、SPRM(25)の値は2D再生モードを示すように設定される。「3D再生モードが常に設定されるべき」ことをSPRM(31)の値が示す場合、3D再生装置は、2D/3Dお好みフラグの値にかかわらず、再生モードの選択画面を表示することなくHDMI認証を行う。その場合、SPRM(25)の値は3D再生モード(L/Rモード又はデプス・モード)を示すように設定される。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、ユーザの予め設定した再生モードが常に優先されるようにすることができる。
(1−K)再生装置102は、ユーザに瞳孔間距離を予備のSPRM、例えばSPRM(32)に登録させてもよい。その場合、レフトビューとライトビューとのグラフィックス映像間での視差の最大値が、SPRM(32)に登録された値を超えないように、再生装置102はオフセット補正値を調整することができる。具体的には、再生装置102は、システム・ターゲット・デコーダから出力される各オフセット値について次の演算を行えばよい。再生装置102はまず、SPRM(32)の値と表示装置103の画面の幅(水平方向の長さ)との比を求め、更にその比と表示装置103の水平画素数との積を求める。この積は、オフセット制御によってグラフィックス・プレーンに与えてもよいオフセットの上限の2倍を表す。再生装置102は次に、各オフセット値の2倍をその積と比較する。いずれかのオフセット値の2倍がその積以上であるとき、再生装置102は、そのオフセット値を含むオフセット・シーケンスのIDを特定し、そのIDの示すグラフィックス・プレーンに対するオフセット補正値を減らす。そのときの減少量は、オフセット値の2倍と上記の積との差の半分以上に設定されればよい。こうして、レフトビューとライトビューとのグラフィックス映像間での視差の最大値が視聴者の瞳孔間距離を超えないので、その視聴者に映像酔いや眼精疲労が生じる危険性を低減させることができる。
(1−L)出力オフセット補正
(1−L−1)継時分離方式ではレフトビューとライトビューとの間の視差が水平方向の画素数で表現されるので、その視差の実際の大きさは表示装置の画面サイズ、すなわち画素の大きさに依存する。一方、3D映像の奥行き感はその視差の実際の大きさで決まる。従って、いずれの画面サイズでも3D映像の奥行き感が、その3D映像の迫力を損なうことも、視聴者の目を過剰に疲れさせることもないようにするには、レフトビューとライトビューとの間の視差を画面サイズに合わせて調節する必要がある。その調節の一つの方法として、3D再生装置は、プレーン加算部によって合成された最終的なフレーム・データに対して更にオフセットを与える。そのときのオフセットの与え方は、1プレーン+オフセット・モードによってグラフィックス・プレーンにオフセットを与える方法と同様である。このように、最終的なフレーム・データに対して更に加えられるオフセット制御を「出力オフセット補正」という。
図55の(a)−(c)は、32インチ、50インチ、及び100インチの各画面SCA、SCB、SCCに表示されたレフトビューとライトビューとの間の視差PRA、PRB、PRCを示す模式図である。各図に実線で描かれている像LA1、LA2、LB、LC1、LC2はレフトビューを表し、破線で描かれている像RA1、RA2、RB、RC1、RC2はライトビューを表す。ここで、「映像コンテンツでは、その3D映像が50インチの画面に表示されたときにその奥行き感が最適であるように、レフトビューとライトビューとの間の視差が設定されている」という場合を想定する。図55の(b)を参照するに、その映像コンテンツの表す3D映像が50インチの画面SCBに表示されたとき、レフトビューLBとライトビューRBとの間の視差は最適値PRBに等しい。
図55の(a)に細い線で描かれているレフトビューLA1とライトビューRA1との間の視差DAは、図55の(b)に描かれているレフトビューLBとライトビューRBとの間の視差PRBと水平方向の画素数が等しい。一方、32インチの画面SCAの画素は50インチの画面SCBの画素よりも小さい。従って、細い線で描かれているレフトビューLA1とライトビューRA1との間の視差DAから生じる3D映像の奥行き感は一般に、最適なものよりも弱い。その場合、出力オフセット補正によって、レフトビューとライトビューとの間の視差を所定の補正値CRAの2倍、増大させる。図55の(a)に太い線で描かれているレフトビューLA2とライトビューRA2との間の視差PRAは、出力オフセット補正後のものを示す。このように、レフトビューとライトビューとの間の視差が増大するとき、3D映像の奥行き感が強調されるので、その3D映像の迫力が損なわれにくい。
図55の(c)に細い線で描かれているレフトビューLC1とライトビューRC1との間の視差DCは、図55の(b)に描かれているレフトビューLBとライトビューRBとの間の視差PRBと水平方向の画素数が等しい。一方、100インチの画面SCCの画素は50インチの画面SCBの画素よりも大きい。従って、細い線で描かれているレフトビューLC1とライトビューRC1との間の視差DCから生じる3D映像の奥行き感は一般に、最適なものよりも強い。その場合、出力オフセット補正によって、レフトビューとライトビューとの間の視差を所定の補正値CRCの2倍、減少させる。図55の(c)に太い線で描かれているレフトビューLC2とライトビューRC2との間の視差PRCは、出力オフセット補正後のものを示す。このようにレフトビューとライトビューとの間の視差が減少するとき、3D映像の奥行き感が抑えられるので、視聴者の目が疲れにくい。
図55の(a)、(c)に示されているような補正値CRA、CRCを「出力オフセット補正値」という。映像コンテンツは、インデックス・ファイル、プレイリスト・ファイル、又はクリップ情報ファイルの中に、画面サイズと出力オフセット補正値との間の対応表を格納している。図56の(a)は、その対応表を示す模式図である。図56の(a)を参照するに、出力オフセット補正値は、10インチ間隔で表された画面サイズの範囲別に設定されている。各出力オフセット補正値の大きさは水平方向の画素数を表し、符号はレフトビューとライトビューとの間の視差の増減を表す。尚、画面サイズの範囲は10インチ間隔以外であってもよい。その対応表は規格又はユーザによって設定される。更に、複数種類の対応表が3D再生装置に予め記録され、映像コンテンツが、その再生で利用されるべき種類をその識別子で規定してもよい。
(1−L−2)3D再生装置は出力オフセット補正値の選択に、上記の対応表に代えて、所定の関数を利用してもよい。図56の(b)は、その関数を表すグラフである。そのグラフの横軸は画面サイズをインチで表し、縦軸は出力オフセット補正値を符号付の画素数で表す。3D再生装置は、そのグラフの示す関数を利用して、表示装置の画面サイズから出力オフセット補正値を算定する。そのグラフが示すとおり、画面サイズが50インチよりも小さいほど出力オフセット補正値は大きな正値に決定され、50インチよりも大きいほど大きな負値に決定される。尚、画面サイズが32インチ以下では出力オフセット補正値は実質的に一定の正値に維持され、103インチ以上では実質的に一定の負値に維持される。
(1−L−3)映像コンテンツが、そのオーサリング時に想定された画面サイズの最適値(assumed_TV_size_when_authoring)を含み、3D再生装置がその最適値に基づいて出力オフセット補正値を決定してもよい。例えば表示装置の画面サイズがその最適値を超えているとき、3D再生装置はまず、3D映像のフレーム・サイズをその最適値まで縮小する。3D再生装置は次に、各フレームの周囲に黒枠を合成して、そのフレームと黒枠との全体のサイズを表示装置の画面サイズに一致させる。3D再生装置は更に出力オフセット補正値を調節して、黒枠内に表示されるレフトビューとライトビューとの間の視差の大きさを、最適値に等しいサイズの画面全体にレフトビューとライトビューとが表示される場合の視差の大きさと一致させる。それにより、3D映像の奥行き感を、オーサリング時に想定されたものに維持することができる。
(1−L−4)図57は、出力オフセット補正に必要な3D再生装置の要素を示す機能ブロック図である。図57に示されている3D再生装置5700は、図42に示されているもの4200とは出力オフセット補正値適用部5701を含む点で異なる。その他の要素は、同様である。図57では、図42に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図42に示されている要素についての説明を援用する。
プレーヤ変数記憶部4236はSPRM(35)に出力オフセット補正値を格納する。その出力オフセット補正値は、HDMI通信部4237がHDMI認証によって表示装置103から取得した画面サイズに基づき、再生制御部4235が、図56の(a)又は(b)に示されている対応表又は関数を利用して決定する。その他に、BD−Jオブジェクト等のアプリケーション・プログラムがSPRM(35)の値を自動的に設定し、又はGUIを利用してユーザに設定させてもよい。
出力オフセット補正値適用部5701は、SPRM(35)の示す出力オフセット補正値を利用して、プレーン加算部4226によって合成されたレフトビューとライトビューとの各フレーム・データにオフセットを与える。出力オフセット補正値適用部5701によるフレーム・データに対する出力オフセット補正は、図49に示されている第2クロッピング処理部4732によるPGプレーン・データGPに対するオフセット制御と同様である。
(1−L−5)SPRM(35)には、出力オフセット補正値に代えて表示装置103の画面サイズが格納されてもよい。その場合、出力オフセット補正値適用部5701は、図56の(a)に示されている対応表から、SPRM(35)の示す画面サイズに対応付けられた出力オフセット補正値を検索する。
(1−L−6)プレーヤ変数記憶部4236は更に、SPRM(36)に出力オフセット補正値アルファを格納してもよい。出力オフセット補正値アルファは正の数値を表す。出力オフセット補正値適用部5701は、SPRM(35)の示す出力オフセット補正値と、SPRM(36)の示す出力オフセット補正値アルファとの積を、実際の出力オフセット補正値として利用する。それにより、出力オフセット補正による3D映像の奥行きの調節を、画面サイズだけでなく、視聴者の年齢にも依存させることができる。例えば、大人よりも瞳孔間距離の短い幼児が視聴者に含まれる場合、小さい画面サイズに対する出力オフセット補正では出力オフセット補正値アルファが1よりも小さく設定され、大きい画面サイズに対する出力オフセット補正では1よりも大きく設定される。それにより、画面サイズにかかわらず、3D映像の奥行き感が弱められる。
プログラム実行部4234又は再生制御部4235はGUI又はOSDを利用して、ユーザに出力オフセット補正値アルファを設定させてもよい。その場合、設定可能な出力オフセット補正値アルファの大きさは、例えば「3D映像の奥行き感が強い」、「普通である」、「弱い」という三段階で表現されてもよい。その他に、出力オフセット補正値アルファが、映像コンテンツの含むビデオ・ストリーム内の補足データ、PMT内のディスクリプタ、又はプレイリスト・ファイル内のPIに格納されてもよい。それにより、ビデオ・ストリームの表すシーンごとに、出力オフセット補正値アルファを変化させることができる。特に奥行き感の強いシーンでは出力オフセット補正値が減少するように、出力オフセット補正値アルファを設定することができる。
(1−L−7)出力オフセット補正値を、画面サイズに代えて、視聴者と画面との間の距離に依って変化させてもよい。更に、出力オフセット補正値アルファをその距離に依存させてもよい。その場合、例えば図1に示されているシャッター眼鏡104に距離センサを搭載して、表示装置103の画面131からの距離を計測させる。その距離は随時、シャッター眼鏡104から表示装置103へ無線で伝達され、更に表示装置103からHDMIケーブル122を通して再生装置102へ伝達される。再生装置102はその距離を利用して出力オフセット補正値又は出力オフセット補正値アルファを選択する。
(1−L−8)表示装置103がプロジェクタである場合、映像はレンズによって拡大されてスクリーン上に投影される。従って、スクリーン上の表示領域のサイズはプロジェクタとスクリーンとの間の距離に依って変化する。その場合、プロジェクタは表示領域のサイズを、例えば次の二つの方法のいずれかで決定する。第1の方法では、まず、プロジェクタとスクリーンとの間の距離が計測され、次に、その距離とプロジェクタの光学系の特性、特に投影光の拡がり角との間の関係から表示領域のサイズが算定される。ここで、その距離の計測には、プロジェクタに搭載された距離センサが利用される。例えばその距離センサはまず、スクリーンに対して赤外等のレーザ光を照射してそのスクリーンからの反射光を検出すると共に、レーザ光の照射から反射光の検出までの経過時間を計測する。距離センサは次に、その経過時間からプロジェクタとスクリーンとの間の距離を算定する。第2の方法では、プロジェクタはまず、スクリーンに線分等の標準図形を投影すると共に、OSD等で視聴者に、その標準図形のスクリーン上でのサイズを計測して入力するように促す。プロジェクタは次に、視聴者によって入力された標準図形のサイズから表示領域のサイズを算定する。
(1−M)映像コンテンツには、例えばカラオケで歌詞の表示に利用されるもののように、静止画像に字幕等のグラフィックス映像が重ねて表示され、かつ、そのグラフィックス映像だけが頻繁に更新されるものがある。そのようなコンテンツが3D映像コンテンツとして形成されている場合、オフセット・メタデータが配置されたVAUは更にシーケンス終端コードを含む。再生装置102は、そのようなVAUを復号したときは、そのオフセット・メタデータから得られたオフセット情報を保持し、新たなオフセット・メタデータを含むVAUが復号されるまで変更しない。
図58の(a)は、静止画像のみを表すディペンデントビュー・ビデオ・ストリーム5800のデータ構造を示す模式図である。ディペンデントビュー・ビデオ・ストリーム5800の各VAUは一つの静止画像を表す。その場合、各VAUの後端にはシーケンス終端コード5803、5804が配置されている。一方、各VAUの補足データ5801、5802にはオフセット・メタデータ5811、5812が配置されている。VAU#1のオフセット・メタデータ5811はオフセット・シーケンスID=0のオフセット・シーケンス[0]を含む。そのオフセット・シーケンス[0]はフレーム#1のオフセット情報のみを含む。同様に、VAU#2のオフセット・メタデータ5812では、オフセット・シーケンス[0]はフレーム#1のオフセット情報のみを含む。
ここで、3Dプレイリスト・ファイルが次の事項(1)、(2)を規定している場合を想定する:(1)ディペンデントビュー・ビデオ・ストリーム5300の各VAUの表す静止画像を10秒間隔で切り換える。(2)各静止画像に、グラフィックス・ストリームの表すグラフィックス映像を重ねて表示する。図58の(b)は、そのような3Dプレイリスト・ファイルを従って再生される、レフトビュー・ビデオ・プレーンの列5821、ライトビュー・ビデオ・プレーンの列5822、及びグラフィックス・プレーンの列5830を示す模式図である。図58の(b)では、静止画像が切り換えられた時点の各ビデオ・プレーンが斜線で示されている。レフトビュー・ビデオ・プレーンの列5821では、最初のビデオ・プレーン5841の示す静止画像が最初の10秒の期間5861に繰り返し再生され、次のビデオ・プレーン5851の示す静止画像が次の10秒の期間5871に繰り返し再生される。ライトビュー・ビデオ・プレーンの列5822では、最初のビデオ・プレーン5842の示す静止画像が最初の10秒の期間5862に繰り返し再生され、次のビデオ・プレーン5852の示す静止画像が次の10秒の期間5872に繰り返し再生される。
再生装置102は、ディペンデントビュー・ビデオ・ストリーム5800のVAU#1を復号すると共に、そのオフセット・メタデータ5811からフレーム#1のオフセット情報を読み出す。再生装置102は更に、そのシーケンス終端コード5803を検出する。そのとき、再生装置102はフレーム#1のオフセット情報を保持する。それにより、最初の10秒の期間5861では、グラフィックス・プレーンの列5830に与えられるオフセットが、保持されたオフセット情報で決まるものに一定に維持される。すなわち、グラフィックス映像の奥行きが一定に維持される。
VAU#1の復号から10秒間が経過したとき、再生装置102はVAU#2を復号すると共に、そのオフセット・メタデータ5812からフレーム#1の新たなオフセット情報を読み出す。再生装置102は更に、そのシーケンス終端コード5804を検出する。そのとき、再生装置102はフレーム#1のオフセット情報を保持する。それにより、次の10秒の期間5871では、グラフィックス・プレーンの列5830に与えられるオフセットが、新たに保持されたオフセット情報で決まるものに変更された後、一定に維持される。すなわち、グラフィックス映像が新たな奥行きに一定に維持される。
このように、VAUがシーケンス終端コードを含むときは、再生装置102に既存のオフセット情報をそのまま保持させる。それにより、ビデオ・ストリームが静止画像のみから構成されている場合でも、再生装置102に、グラフィックス・プレーンに対するオフセット制御を確実に継続させることができる。
(1−N)レフトビューとライトビューとの間のずれ補償
レフトビューとライトビューとの間に「ずれ」が生じる場合がある。本発明の実施形態1による再生装置102、又は表示装置103は、以下に述べる手段を用いてそのずれを補償する。それにより、そのずれが視聴者に違和感を与える危険性を回避することができる。
再生装置102は、上記のずれの補償処理に、図42に示されている機能部を利用する。一方、表示装置103がその補償処理を行ってもよい。図59は、その補償処理を行う表示装置103の機能ブロック図である。図59を参照するに、表示装置103は、受信部5901、ストリーム処理部5902、信号処理部5903、及び出力部5904を備えている。受信部5901は、再生装置102の他、BD−ROMディスク、半導体メモリ装置、外部ネットワーク、及び放送波等の各種媒体から多重化ストリーム・データを受信してストリーム処理部5902に渡す。ストリーム処理部5902は、その多重化ストリーム・データから、映像、音声、グラフィックス等、各種のデータを分離して信号処理部5903に渡す。信号処理部5903は、それらのデータを個別に復号して出力部5904に渡す。出力部5904は、復号された各データを所定の形式に変換して出力する。出力部5904の出力は映像/音声そのものである。その他に、HDMI方式等の映像信号/音声信号であってもよい。図59に示されている要素5901、5902、5903、及び5904のうち、ディスク・ドライブ、表示パネル、及びスピーカ等の機械的な部分以外は、一以上の集積回路に実装されている。
(1−N−1)レフトビューとライトビューとの間の水平方向のずれ
図60の(a)は、3D映像を撮影する一対のビデオカメラCML、CMRの水平画角HAL、HARを模式的に示す平面図である。図60の(a)を参照するに、一対のビデオカメラCML、CMRは水平方向に並べられている。左側のビデオカメラCMLはレフトビューを撮影し、右側のビデオカメラCMRはライトビューを撮影する。それらのビデオカメラCML、CMRの水平画角HAL、HARは、大きさは等しいが、位置は異なる。従って、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALと、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARとが生じる。両方の水平画角HAL、HARの共通部分に位置する被写体OBCはいずれのビデオカメラCML、CMRにも映る。しかし、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALに位置する被写体OBLは左側のビデオカメラCMLにしか映らず、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARに位置する被写体OBRは右側のビデオカメラCMRにしか映らない。
図60の(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVを示す模式図であり、図60の(c)は、右側のビデオカメラCMRで撮影されたライトビューRVを示す模式図である。図60の(b)、(c)を参照するに、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALはレフトビューLVに、その左端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ALはライトビューRVには含まれない。一方、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARはライトビューRVに、その右端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ARはレフトビューLVには含まれない。従って、図60の(a)に示されている三つの被写体OBL、OBC、OBRのうち、右側の被写体OBRはレフトビューLVには含まれず、左側の被写体OBLはライトビューRVには含まれない。その結果、左側の被写体OBLは視聴者の左目にしか映らず、右側の被写体OBRは右目にしか映らない。その場合、レフトビューLVとライトビューRVとは視聴者に違和感を与える危険性がある。
BD−ROMディスク101では、レフトビューLVとライトビューRVとの各フレームに含まれる上記の帯状領域AL、ARの幅WDHを示す情報がディペンデントビュー・ビデオ・ストリームに格納されている。その格納場所は、各ビデオ・シーケンスの先頭に位置するVAUの補足データである。但し、その補足データは、図11に示されているオフセット・メタデータ1110を含む補正データとは別である。一方、再生装置102では、システム・ターゲット・デコーダ4225がディペンデントビュー・ビデオ・ストリームから、上記の帯状領域AL、ARの幅WDHを示す情報を読み出す。システム・ターゲット・デコーダ4225は更にその情報をプレーン加算部4226内の視差映像生成部4710又は表示装置103内の出力部5904に伝える。表示装置103内の受信部5901がBD−ROMディスク等の情報媒体から3D映像コンテンツを直に読み取る場合、上記の情報は表示装置103内の信号処理部5903によってディペンデントビュー・ビデオ・ストリームから読み出されて出力部5904に伝えられる。視差映像生成部4710又は出力部5904(以下、視差映像生成部4710等と略す。)は、その情報を利用して左映像プレーンと右映像プレーンとを加工し、上記の帯状領域AL、ARを背景色又は黒色で一様に塗りつぶす。すなわち、各帯状領域AL、ARに含まれる画素データを一様な背景色又は黒色のデータに書き換える。
図60の(d)、(e)はそれぞれ、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。図60の(d)を参照するに、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALは、幅WDHの黒色帯BLで隠されている。一方、図60の(e)を参照するに、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARは、幅WDHの黒色帯BRで隠されている。それらの結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
視差映像生成部4710等は更に、図49に示されているクロッピング処理と同様にして、左映像プレーンと右映像プレーンとのそれぞれから、上記の帯状領域AL、ARのうち、外側の半分の領域に含まれる画素データを除去してもよい。その場合、視差映像生成部4710等は、各帯状領域AL、ARの残り半分の領域を背景色又は黒色で一様に塗りつぶすと共に、その反対側の端部に、各帯状領域AL、ARの半分の幅の背景色又は黒色の帯状領域を付加する。それにより、視聴者のいずれの目にも、レフトビューLVとライトビューRVとで共通する領域の示す映像が画面の中央に映り、背景色又は黒色の帯が画面の両端に映る。その結果、視聴者に違和感を与える危険性を回避することができる。
その他に、視差映像生成部4710等は、左映像プレーンと右映像プレーンとを次のように処理してもよい。視差映像生成部4710等はまず、図49に示されているクロッピング処理と同様にして、各映像プレーンから上記の帯状領域AL、AR内の画素データを除去する。視差映像生成部4710等は次に、スケーリング処理によって、残りの領域内の画素データから各映像プレーンを再構成する。それにより、残りの領域の示す映像がフレーム全体に拡大表示される。その結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
(1−N−2)レフトビューとライトビューとの間の垂直方向のずれ
図61の(a)は、3D映像を撮影する一対のビデオカメラCML、CMRの垂直画角VAL、VARを模式的に示す平面図である。図61の(a)を参照するに、それらのビデオカメラCML、CMRの垂直画角VAL、VARは、大きさは等しいが、位置は異なる。従って、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATと、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABとが生じる。両方の垂直画角VAL、VARの共通部分に位置する被写体OBJはいずれのビデオカメラCML、CMRにも映る。しかし、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATに位置する被写体は左側のビデオカメラCMLにしか映らず、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABに位置する被写体は右側のビデオカメラCMRにしか映らない。
図61の(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。図61の(b)を参照するに、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATはレフトビューLVに、その上端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ATはライトビューRVには含まれない。一方、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABはライトビューRVに、その下端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ABはレフトビューLVには含まれない。尚、帯状領域AT、ABの位置はレフトビューLVとライトビューRVとで逆の場合もある。このように、レフトビューLVとライトビューRVとで上記の帯状領域AT、ABの有無が異なる場合、図61の(a)に示されている被写体OBJの垂直方向の位置はレフトビューLVとライトビューRVとで、帯状領域AT、ABの高さHGTだけずれる。その結果、視聴者の左目に映る被写体OBJと、右目に映る被写体OBJとでは垂直方向の位置が異なるので、その視聴者に違和感を与える危険性がある。
BD−ROMディスク101では、レフトビューLVとライトビューRVとの各フレームに含まれる上記の帯状領域AT、ABの高さHGTを示す情報がディペンデントビュー・ビデオ・ストリームに格納されている。その格納場所は、各ビデオ・シーケンスの先頭に位置するVAUの補足データである。但し、その補足データは、図11に示されているオフセット・メタデータ1110を含む補正データとは別である。一方、再生装置102ではシステム・ターゲット・デコーダ4225がディペンデントビュー・ビデオ・ストリームから、上記の帯状領域AT、ABの高さHGTを示す情報を読み出す。システム・ターゲット・デコーダ4225は更にその情報をプレーン加算部4226内の視差映像生成部4710又は表示装置103内の出力部5904に伝える。表示装置103内の受信部5901がBD−ROMディスク等の情報媒体から3D映像コンテンツを直に読み取る場合、上記の情報は表示装置103内の信号処理部5903によってディペンデントビュー・ビデオ・ストリームから読み出されて出力部5904に伝えられる。
視差映像生成部4710又は出力部5904(以下、視差映像生成部4710等と略す。)は、上記の帯状領域AT、ABの高さHGTを用いて、左映像プレーンと右映像プレーンとを次の手順で加工する。視差映像生成部4710等はまず、左映像プレーン内の画素データの位置を下向きに高さHGTの半分HGT/2だけ移動させ、右映像プレーン内の画素データの位置を上向きに高さHGTの半分HGT/2だけ移動させる。それにより、各映像プレーンのうち、上記の帯状領域AT、AB以外の領域が表す映像と画面とで垂直方向の中心が一致する。一方、左映像プレーンでは、上端から帯状領域ATの上半分が除去され、下端から高さHDT/2の帯状領域に空き領域が生じる。右映像プレーンでは、下端から帯状領域ABの下半分が除去され、上端から高さHDT/2の帯状領域に空き領域が生じる。視差映像生成部4710等は次に、各帯状領域を背景色又は黒色で一様に塗りつぶす。すなわち、各帯状領域に含まれる画素データを一様な背景色又は黒色のデータに書き換える。
図61の(c)は、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。図61の(c)を参照するに、レフトビューLVとライトビューRVとでは垂直方向の中心位置が一致している。従って、図61の(a)に示されている被写体OBJの垂直方向の位置はレフトビューLVとライトビューRVとで等しい。一方、レフトビューLVの上端では、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATが高さHGT/2の黒色帯BTで隠され、ライトビューRVの下端では、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABが高さHGT/2の黒色帯BBで隠されている。更に、レフトビューLVの下端には高さHGT/2の黒色帯BBが付加され、ライトビューRVの上端には高さHGT/2の黒色帯BTが付加されている。それらの結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らず、かつ、各目に映る被写体の垂直方向の位置が一致する。こうして、その視聴者に違和感を与える危険性を回避することができる。
その他に、視差映像生成部4710等は左映像プレーンと右映像プレーンとを次のように処理してもよい。プレーン加算部4126はまず、図49に示されているクロッピング処理と同様にして、各映像プレーンから上記の帯状領域AT、AB内の画素データを除去する。視差映像生成部4710は次に、スケーリング処理によって残りの領域内の画素データから各映像プレーンを再構成する。それにより、残りの領域の示す映像がフレーム全体に拡大表示されるので、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らない。しかも、各目に映る被写体の垂直方向の位置が一致する。こうして、その視聴者に違和感を与える危険性を回避することができる。
(1−N−3)レフトビューとライトビューとの間のグラフィックス映像のずれ
1プレーン+オフセット・モードの再生装置が一つのグラフィックス・プレーンに大きなオフセットを与えて一対のグラフィックス・プレーンを生成する場合、その対の一方の左端部又は右端部に、他方の右端部又は左端部には含まれない領域が生じ得る。
図62の(a)は、グラフィックス・プレーンGPLの表すグラフィックス映像の一例を示す模式図である。図62の(a)を参照するに、そのグラフィックス・プレーンGPLは三種類のグラフィック部品OB1、OB2、OB3を表す。特に左側のグラフィック部品OB1の左端はグラフィックス・プレーンGPLの左端から距離D1に位置し、右側のグラフィック部品OB3の右端はグラフィックス・プレーンGPLの右端から距離D3に位置する。図62の(b)、(c)はそれぞれ、グラフィックス・プレーンGPLに右向きと左向きとのオフセットを与える処理を示す模式図である。図62の(b)を参照するに、図49に示されているクロッピング処理と同様に、グラフィックス・プレーンGPLの右端からは、オフセット値に等しい幅OFSの帯状領域AR1が除去され、左端には幅OFSの透明な帯状領域AL1が付加されている。それにより、各グラフィック部品OB1−OB3の水平方向の位置が元の位置から、オフセット値に等しい距離OFSだけ右に移動している。一方、図62の(b)を参照するに、グラフィックス・プレーンGPLの左端からは幅OFSの帯状領域AL2が除去され、右端には幅OFSの透明な帯状領域AR2が付加されている。それにより、各グラフィック部品OB1−OB3の水平方向の位置が元の位置から距離OFSだけ左に移動している。
図62の(b)、(c)を更に参照するに、オフセット値に等しい距離OFSは、左側のグラフィック部品OB1の左端とグラフィックス・プレーンGPLの左端との間の距離D1よりも大きく、右側のグラフィック部品OB3の右端とグラフィックス・プレーンGPLの右端との間の距離D3よりも大きい。従って、右向きのオフセットが与えられたグラフィックス・プレーンGP1では右側のグラフィック部品OB3の右端の一部MP3が欠け、左向きのオフセットが与えられたグラフィックス・プレーンGP2では左側のグラフィック部品OB1の左端の一部MP1が欠けている。しかし、左側のグラフィック部品OB1の欠落部分MP1は、右向きのオフセットが与えられたグラフィックス・プレーンGP1には含まれ、右側のグラフィック部品OB3の欠落部分MP3は、左向きのオフセットが与えられたグラフィックス・プレーンGP2には含まれている。その結果、それらの欠落部分MP1、MP3は視聴者の片目にしか映らないので、視聴者に違和感を与える危険性がある。
再生装置102では、プレーン加算部4226内の各クロッピング処理部4731−4734がオフセット情報4707を用いてグラフィックス・プレーンGPLに対するオフセット制御を行う。そのとき、各クロッピング処理部4731−4734は更に、グラフィックス・プレーンGPLの左端又は右端から帯状領域を切り取る。すなわち、その帯状領域内の画素データを透明色のデータに書き換える。各帯状領域はグラフィックス・プレーンGPLの左端又は右端に沿って延びており、その幅がオフセット値に等しい。その他に、表示装置103内の出力部5904が、システム・ターゲット・デコーダ4225又は表示装置103内の信号処理部5903からオフセット情報を受け取って、そのオフセット情報を用いてグラフィックス・プレーンGPLの左端又は右端から帯状領域を切り取ってもよい。図62の(b)、(c)には、切り取り対象の帯状領域AS1、AS2が示されている。右向きのオフセットが与えられたグラフィックス・プレーンGP1では、切り取り対象の帯状領域AS1が左側のグラフィック部品OB1の欠落部分MP1を含む。左向きのオフセットが与えられたグラフィックス・プレーンGP2では、切り取り対象の帯状領域AS2が右側のグラフィック部品OB3の欠落部分MP3を含む。
図62の(d)、(e)はそれぞれ、右向きと左向きとのオフセットが与えられたグラフィックス・プレーンGP1、GP2の表すグラフィックス映像を示す模式図である。図62の(d)、(e)を参照するに、それらのグラフィックス・プレーンGP1、GP2では、三種類のグラフィック部品OB1−OB3の形状が一致している。その結果、視聴者の各目には共通のグラフィックス映像しか映らない。こうして、その視聴者に違和感を与える危険性を回避することができる。
その他に、BD−ROMディスク101上のPGストリーム又はIGストリームから再生されるグラフィックス・プレーン、及び、再生装置102によって生成されるグラフィックス・プレーンに対し、グラフィック部品の配置に関する次の条件が規定されてもよい。図63は、その条件を示す模式図である。図63を参照するに、グラフィックス・プレーンGPLには、左上角を原点(0,0)とするxy直交座標が設定されている。x座標とy座標とはそれぞれ、グラフィックス・プレーンGPLの水平座標と垂直座標である。ここで、グラフィックス・プレーンGPLの右下角の座標を(TWD,THG)とする。そのxy座標を用いて、上記の条件は次のように規定される:各フレームにおいて、グラフィック部品OB1、OB2、OB3は、次の四点(OFS,0)、(TWD−OFS,0)、(TWD−OFS,THG)、(OFS,THG)を頂点とする矩形領域内に配置されなければならない。すなわち、グラフィックス・プレーンGPLの左端と右端とのそれぞれに沿って延びている幅OFSの帯状領域AL、ARではグラフィック部品の配置が禁止される。図62の(b)、(c)から明らかなとおり、それらの帯状領域AL、ARはオフセット制御によって切り取られる。従って、それらの帯状領域AL、ARへのグラフィック部品の配置が禁止されていれば、グラフィックス・プレーンGPLにオフセットが与えられた後でもグラフィック部品の形状に変化はない。その結果、視聴者の各目には共通のグラフィックス映像しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
(1−O)レターボックス表示
映像コンテンツのオーサリング時に想定されている画面サイズは、デジタル・テレビ放送で採用されているフルHDと、映画で採用されているシネマスコープ(登録商標)とで異なる。フルHDのアスペクト比は16:9(≒1.78:1)であるのに対し、シネマスコープのアスペクト比は2.35:1である。従って、BD−ROMディスクに記録された家庭用の映画コンテンツでは、各映像フレームの上下に水平方向の黒帯が付加されている。それにより、映像フレームと黒帯との全体のアスペクト比が16:9に調節されている。このような表示方式を「レターボックス表示」という。
図64の(a1)、(a2)は、いずれも同じレターボックス表示の画面を示す模式図である。図64の(a1)、(a2)を参照するに、画面全体の解像度は1920ピクセル×1080ピクセルであり、アスペクト比は16:9である。一方、映像の表示領域DRGの解像度は1920ピクセル×818ピクセルであり、アスペクト比は約2.35:1である。表示領域DRGの上下には高さ131ピクセルの黒帯BT、BBが水平方向に延びている。
このようなレターボックス表示が3D映像の表示に採用される場合、字幕を表示領域DRGではなく、上下いずれかの黒帯BT、BBに表示することが望ましい。それにより、3D映像と字幕とが分離されるので、いずれの奥行きが手前であっても、両方を視聴者に確実に見せることができる。しかし、黒帯BT、BBの高さ131ピクセルは、字幕を表示するのには必ずしも十分ではない。その場合、再生装置102ではプレーン加算部4226が主映像プレーンに垂直方向のオフセットを与える。このオフセット制御を「ビデオ・シフト」という。ビデオ・シフトには、「キープ(Keep)」、「アップ(Up)」、「ダウン(Down)」の三種類がある。キープ・モードでは、主映像プレーンには垂直方向のオフセットが与えられない。従って、図64の(a1)、(a2)に示されている映像フレームでは、いずれの黒帯BT、BBの高さも131ピクセルに維持される。アップ・モードでは、主映像プレーンに上向きのオフセットが与えられる。図64の(b)は、主映像プレーンに131ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。図64の(b)を参照するに、上側の黒帯BTは除去され、下側の黒帯BBの高さが2倍に増えている。ダウン・モードでは、主映像プレーンに下向きのオフセットが与えられる。図64の(c)は、主映像プレーンに131ピクセルのオフセットを下向きに与えたときの画面を示す模式図である。図64の(c)を参照するに、下側の黒帯BBは除去され、上側の黒帯BTの高さが2倍に増えている。このように、プレーン加算部4226は、ビデオ・シフトをアップとダウンとのいずれかのモードで実行することにより、上下いずれかの黒帯BT、BBの高さを字幕の表示に十分な値まで増やす。
垂直方向のオフセットの大きさは131ピクセル以外であってもよい。図64の(d)は、主映像プレーンに51ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。図64の(d)を参照するに、上側の黒帯BTの高さは131−51=80ピクセルまで減り、下側の黒帯BBの高さは131+51=182ピクセルまで増えている。以下では、オフセットの大きさが131ピクセルである場合を想定する。
図65は、ビデオ・シフトに必要な再生装置102内の構成を示す機能ブロック図である。図65に示されている構成は、図47に示されている構成とは、ビデオ・シフト部6501、SPRM(32)6502、及びSPRM(33)6503を含む点で異なる。それ以外は同様である。従って、図65では、図47に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図47に示されている要素についての説明を援用する。
SPRM(32)とSPRM(33)とのそれぞれの示す値は、プログラム実行部4234により、BD−Jオブジェクト等のアプリケーション・プログラム、又はGUIを通したユーザの指示に従って設定される。SPRM(33)の示す値は更に、再生制御部4235により、プレイリスト・ファイルに従って更新される。
図66の(a)は、SPRM(32)とSPRM(33)との各データ構造を示す表である。図66の(a)を参照するに、SPRM(32)は、ビデオ・シフト・モード(video_shift_mode)を表すパラメータを格納する。そのパラメータは、三種類のビデオ・シフト・モードに対応して、「0」、「1」、「2」の三つの値を取り得る。SPRM(33)は、ビデオ上移動時シフト値とビデオ下移動時シフト値との対を4種類格納する。それらのシフト値は、PGプレーンに対する対(PG_shift_value_for_Up、PG_shift_value_for_Down)、IGプレーンに対する対(IG_shift_value_for_Up、IG_shift_value_for_Down)、副映像プレーンに対する対(SV_shift_value_for_Up、SV_shift_value_for_Down)、及びイメージ・プレーンに対する対(IM_shift_value_for_Up、IM_shift_value_for_Down)から成る。ビデオ上移動時シフト値とビデオ下移動時シフト値とはそれぞれ、上向きと下向きとの各オフセットが主映像プレーンに与えられたときにPGプレーン等に与えられるべき垂直方向のオフセットの大きさを表す。
図66の(b)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルを示す模式図である。図66の(b)を参照するに、STNテーブル6600では、一つのSTN6601にPGストリーム1のストリーム・エントリ6602とストリーム属性情報6603とが対応付けられている。そのストリーム属性情報6603は、ビデオ上移動時シフト値(PG_y_shift_value_for_Up)6610とビデオ下移動時シフト値(PG_y_shift_value_for_Down)6611とを含む。それにより、それらのシフト値はPIごとに設定可能である。IGストリーム等、他のストリーム・データについても同様に、各シフト値は設定可能である。再生制御部4235は、各PI内のSTNテーブルからシフト値を読み取って、その値で、SPRM(33)の示す値を更新する。
ビデオ・シフト部6501は、スイッチ4720から左映像プレーン・データ4701と右映像プレーン・データ4702とを交互に受信する。ビデオ・シフト部6501は、その受信の度にプレーヤ変数記憶部4236内のSPRM(32)を参照して、その値の示すビデオ・シフト・モードで主映像プレーンに垂直方向のオフセットを与える。その後、ビデオ・シフト部6501は主映像プレーンを第2加算部4742へ送出する。
図67の(a)−(c)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードのビデオ・シフト部6501によって処理された主映像プレーンVPA、VPB、VPCを示す模式図である。SPRM(32)がキープ・モードを示すとき、ビデオ・シフト部6501は主映像プレーンに垂直方向のオフセットを与えない。それにより、図67の(b)に示されているように、主映像プレーンVPB内の上下の黒帯BT、BBの高さは131ピクセルに維持される。SPRM(32)がアップ・モードを示すとき、ビデオ・シフト部6501は、図49に示されているクロッピング処理と同様にして、まず、元の主映像プレーンVPBの上端部から高さ131ピクセルの黒帯BTを切り取る。ビデオ・シフト部6501は次に、図67の(a)に示されているように、主映像プレーンVPAの下端部に高さ131ピクセルの黒帯ABを付加する。それにより、主映像プレーンのうち、切り取られた黒帯BT以外に含まれる画素データの位置が131ピクセル、上向きに移動する。一方、下端部の黒帯BB+ABの高さが131×2=262ピクセルに増える。SPRM(32)がダウン・モードを示すとき、ビデオ・シフト部6501は、元の主映像プレーンVPBの下端部から高さ131ピクセルの黒帯BBを切り取り、図67の(c)に示されているように、主映像プレーンVPCの上端部に高さ131ピクセルの黒帯ATを付加する。それにより、主映像プレーンのうち、切り取られた黒帯以外に含まれる画素データの位置が131ピクセル、下向きに移動する。一方、上端部の黒帯BT+ATの高さが131×2=262ピクセルに増える。
図65を再び参照するに、第2クロッピング処理部4732は、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する度にSPRM(32)6502とSPRM(33)6503とを参照し、それらの値に従ってPGプレーン4704に垂直方向のオフセットを与える。更に、1プレーン+オフセット・モードであれば、第2クロッピング処理部4732はPGプレーン4704に水平方向のオフセットを与える。その後、第2クロッピング処理部4732はPGプレーン4704を第2加算部4742へ送出する。
図67の(d)−(f)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2クロッピング処理部4732によって処理されたPGプレーンPGD、PGE、PGFを示す模式図である。SPRM(32)6502がキープ・モードを示すとき、第2クロッピング処理部4732はPGプレーンPGEに垂直方向のオフセットを与えない。それにより、図67の(e)に示されているように、PGプレーンPGE内の字幕SUBは元の位置に維持される。SPRM(32)がアップ・モードを示すとき、第2クロッピング処理部4732はまず、SPRM(33)6503からPGプレーンに対するビデオ上移動時シフト値(PG_shift_value_for_Up)aを読み出す。第2クロッピング処理部4732は次に、図49に示されているクロッピング処理と同様にして、大きさがビデオ上移動時シフト値aに等しい下向きのオフセットをPGプレーンPGEに与える。具体的には、第2クロッピング処理部4732はまず、元のPGプレーンPGEの下端部から高さaピクセルの帯状領域SBEを切り取る。第2クロッピング処理部4732は次に、図67の(d)に示されているように、PGプレーンPGDの上端部に高さaピクセルの帯状領域STDを付加する。それにより、字幕SUBの位置がaピクセル下向きに移動する。SPRM(32)がダウン・モードを示すとき、第2クロッピング処理部4732はまず、SPRM(33)6503からPGプレーンに対するビデオ下移動時シフト値(PG_shift_value_for_Down)bを読み出す。第2クロッピング処理部4732は次に、図49に示されているクロッピング処理と同様にして、大きさがビデオ下移動時シフト値bに等しい上向きのオフセットをPGプレーンPGEに与える。具体的には、第2クロッピング処理部4732はまず、元のPGプレーンPGEの上端部から高さbピクセルの帯状領域STEを切り取る。第2クロッピング処理部4732は次に、図67の(f)に示されているように、PGプレーンPGFの下端部に高さbピクセルの帯状領域SBFを付加する。それにより、字幕SUBの位置がbピクセル上向きに移動する。
第2加算部4742は、第2クロッピング処理部4732からPGプレーン・データを受信し、ビデオ・シフト部6501からの主映像プレーン・データに重畳して第3加算部4743に渡す。図67の(g)−(i)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2加算部4742によって合成されたプレーン・データPLG、PLH、PLIを示す模式図である。キープ・モードでは、図67の(h)に示されているように、字幕SUBは主映像MVWと重なって表示される。アップ・モードでは、図67の(g)に示されているように、字幕SUBが、主映像MVWよりも下に位置する黒帯BBGの中に表示される。これは、ビデオ上移動時シフト値aを調節することによって実現可能である。ダウン・モードでは、図67の(i)に示されているように、字幕SUBは、主映像MVWよりも上に位置する黒帯BTIの中に表示される。これは、ビデオ下移動時シフト値bを調節することによって実現可能である。
レターボックス表示では黒帯に、PGプレーンの表す字幕の他、IGプレーンの表す対話画面、副映像プレーンの表す映像、又はイメージ・プレーンの表すポップアップ・メニューが表示されてもよい。それらの場合にも黒帯の高さを、上記と同様な方法で適切に調節することができる。
(1−O−1)図65に示されている構成では、第2クロッピング処理部4732はSPRM(33)6503からビデオ上/下移動時シフト値を読み出す。その他に、第2クロッピング処理部4732が直接、プレイリスト・ファイルからビデオ上/下移動時シフト値を読み出してもよい。
(1−O−2)図67の(a)、(c)に示されている黒帯BT、BBの高さは131ピクセル以外であってもよく、更に可変であってもよい。その値は、アプリケーション・プログラム又はユーザに従ってプレーヤ変数記憶部4236内のいずれかのSPRMに設定されてもよい。
(1−O−3)図67の(d)、(f)では、第2クロッピング処理部4732が、PGプレーンPGEに含まれるほぼ全ての画素データの位置を上下方向に移動させる。その他に、PGデコーダがSPRM(33)6503を参照して、PCSの示すオブジェクト表示位置を変更してもよい。例えば、PCSがオブジェクト表示位置=(x,y)を示し、かつ、SPRM(33)6503がビデオ上移動時シフト値=“a”を示すとき、PGデコーダはオブジェクト表示位置を座標(x,y+a)に変更する。それにより、図67の(d)に示されている字幕SUBと同じように、PGストリームの表すグラフィックス・オブジェクトは、PCSの示すオブジェクト表示位置よりも下に表示される。グラフィックス・オブジェクトの表示位置を上向きに移動させる場合も同様である。尚、PCSはビデオ上/下移動時シフト値を格納していてもよい。
(1−O−4)アップ・モード及びダウン・モードでは、図67の(d)、(f)に示されているように、PGプレーンの上下が切り取られる。そのとき、グラフィックス・オブジェクトの上下が切り取られないように、グラフィックス・オブジェクトの配置可能な領域が所定の範囲に予め制限されていてもよい。具体的な例として、PGプレーンの高さ×幅がHGT×WDHであり、ビデオ上移動時シフト値が“a”であり、かつビデオ下移動時シフト値が“b”である場合を想定する。図67の(e)を参照するに、その場合においてグラフィックス・オブジェクトの配置は、次のような水平方向の帯状領域内に制限される:左上角PULのxy座標=(0,b)、右下角PDRのxy座標=(WDH,HGT−a)。より正確には、PGストリームは次の条件を満たす:(A)PCSの示すオブジェクト表示位置は上記の帯状領域内である;(B)仮にグラフィックス・オブジェクトがオブジェクト表示位置に表示されたとき、その表示範囲は上記の帯状領域の範囲を超えない;(C)WDSの示すウィンドウ位置は上記の帯状領域内である;(D)仮にウィンドウがウィンドウ位置に設定されたとき、その範囲は上記の帯状領域の範囲を超えない。こうして、グラフィックス・オブジェクトの上下が切り取られることを防ぐことができる。
(1−O−5)図68の(a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの別例を示す模式図である。図68の(a)を参照するに、STNテーブル6800では、一つのSTN6801にPGストリーム1のストリーム・エントリ6802とストリーム属性情報6803とが対応付けられている。そのストリーム属性情報6803は、ビデオ上/下移動時シフト値6810、6811に加え、ビデオ・シフト・モード6812を含む。その場合、再生装置102はビデオ・シフトに次の構成を利用してもよい。
図69は、ビデオ・シフトに必要な再生装置102内の構成の別例を示す機能ブロック図である。図69に示されている構成は、図65に示されている構成とはビデオ・シフト部6901とSPRM(34)6904とが異なる。それ以外は同様である。従って、図69では、図65に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図65に示されている要素についての説明を援用する。
図66の(a)に示されているように、SPRM(32)はビデオ・シフト・モードを表し、SPRM(33)はビデオ上移動時シフト値とビデオ下移動時シフト値とを表す。それらを表すパラメータの値は再生制御部4235により、図68の(a)に示されているようなプレイリスト・ファイル内のSTNテーブルに従って更新される。プレーヤ変数記憶部4236では更に、ビデオ・シフトを行うか否かをオン・オフで示すフラグが、SPRM(34)に格納されている。そのフラグの値はプログラム実行部4234により、アプリケーション・プログラム又はユーザに従って設定される。ビデオ・シフト部6901は、スイッチ4720から左映像プレーン・データ4701と右映像プレーン・データ4702とのいずれかを受信する度に、まずSPRM(34)内のフラグを参照して、ビデオ・シフトを行うか否かを決定する。例えばそのフラグの値が“1”であるとき、ビデオ・シフト部6901は続いてSPRM(32)を参照して、その値の示すビデオ・シフト・モードで主映像プレーンに垂直方向のオフセットを与える。一方、そのフラグの値が“0”であるとき、ビデオ・シフト部6901はビデオ・シフトを行うことなく、主映像プレーンを第2加算部4742へ送出する。同様に、第2クロッピング処理部4732は、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する度に、まずSPRM(34)6904を参照して、PGプレーン4704に垂直方向のオフセットを与えるか否かを決定する。例えばそのフラグの値が“1”であるとき、第2クロッピング処理部4732は続いてSPRM(32)とSPRM(33)とを参照して、それらの値に従ってPGプレーン4704に垂直方向のオフセットを与える。一方、そのフラグの値が“0”であるとき、第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えない。
(1−O−6)図68の(a)に示されているような、ビデオ・シフト・モード6812を含むストリーム属性情報6803が複数、STNテーブルに登録されている場合、ビデオ・シフト・モードの等しいストリーム属性情報が連続するように登録順序が設定される。図68の(b)は、その登録順序を示す模式図である。図68の(b)を参照するに、STNテーブルでは、ストリーム番号(STN)5−13に9種類のPGストリーム1−9のPIDが登録されている。PGストリーム1−3のビデオ・シフト・モードはキープ・モードに設定され、PGストリーム4、5のビデオ・シフト・モードはアップ・モードに設定され、PGストリーム6−9のビデオ・シフト・モードはダウン・モードに設定されている。その場合、PGストリーム1−3には、連続する3つのSTN=1−3が割り当てられ、PGストリーム4、5には、連続する2つのSTN=4、5が割り当てられ、PGストリーム6−9には、連続する4つのSTN=6−9が割り当てられる。再生装置102は、リモコン105から字幕切り換えボタンの押下を通知される度に、字幕表示に利用すべきPGストリームを、PGストリーム1−9の中から、図68の(b)に示されている登録順序で選択する。ここで、その選択操作の間、映像と字幕との画面表示はいずれも継続されるので、字幕切り換えボタンが押下されたときに、映像と字幕との表示位置は一般に変化する。しかし、STNテーブルには、図68の(b)に示されているように、同じビデオ・シフト・モードのPGストリームが連続して登録されている。従って、一般には、字幕切り換えボタンが複数回押下された後に初めて、映像と字幕との表示位置は変化する。そのように変化の頻度が抑えられるので、PGストリームの選択操作が映像と字幕とを見にくくすることを防止することができる。
(1−O−7)再生装置102は、ビデオ・シフト・モードを切り換える場合、フェード・イン/アウト等の視覚効果を利用して、映像と字幕との表示位置を滑らかに変化させてもよい。更に好ましくは、字幕の表示位置の変化を映像の表示位置の変化よりも遅らせる。それにより、ビデオ・シフト・モードの切り換えに伴う映像と字幕との表示位置の変化が視聴者に不快感を与えることを防止することができる。
(1−O−8)PGストリーム内のPDSでは、カラーID=255に無色透明が割り当てられ、WDSではウィンドウ内の背景色にカラーID=255が割り当てられている。従って、PGストリームが字幕を表すとき、その字幕の背景色が無色透明に設定される。図70の(b)は、その場合において画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。図70の(b)を参照するに、字幕SUBの表示範囲を示すウィンドウWIN1では背景色が無色透明である。従って、そのウィンドウWIN1内では映像IMGと字幕SUBとが重なって表示される。
一方、再生装置102はカラーID=255に黒等の不透明な色を割り当ててもよい。図70の(a)は、プレーヤ変数記憶部4236内のSPRM(37)のデータ構造を示す模式図である。図70の(a)を参照するに、SPRM(37)には字幕の背景色の色座標値が格納される。その値は、プログラム実行部4234により、アプリケーション・プログラム又はユーザに従って予め設定される。SPRM(37)に色座標値が設定されているとき、システム・ターゲット・デコーダ4225内のPGデコーダは、PDSの示す設定にかかわらず、その色座標値をカラーID=255に割り当てる。図70の(c)は、その場合において画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。ここで、SPRM(37)の示す色座標値は黒等の不透明な色である。図70の(c)を参照するに、字幕SUBの表示範囲を示すウィンドウWIN2では背景色がその不透明な色である。従って、そのウィンドウWIN2内では映像IMGが背景色で隠され、字幕SUBだけが表示される。こうして、映像と字幕とを視聴者に確実に見せることができる。
(1−O−9)ビデオ・シフト・モードの切り換えと共に、PGストリームの表すグラフィックス映像の表示位置だけでなく、PGストリームそのものが変更されてもよい。図71の(a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの更に別の例を示す模式図である。図71の(a)を参照するに、STNテーブル7100では、一つのSTN7101にPGストリーム1のストリーム・エントリ7102とストリーム属性情報7103とが対応付けられている。そのストリーム属性情報7103はビデオ上移動時字幕7110とビデオ下移動時字幕7111とを含む。ビデオ上移動時字幕7110とビデオ下移動時字幕7111とは、ビデオ・シフト・モードとしてアップ・モードとダウン・モードとがそれぞれ選択されるときに選択されるべきPGストリームのPIDを示す。ビデオ上移動時字幕7110とビデオ下移動時字幕7111とのそれぞれが示すPGストリームでは、初めから、字幕の表示位置が主映像プレーンの下端部と上端部との各黒帯内に設定されている。その場合、再生装置102はビデオ・シフトに次の構成を利用してもよい。
図71の(b)は、ビデオ・シフトに必要な再生装置102内の構成の更に別の例を示す機能ブロック図である。図71の(b)に示されている構成は、図65に示されている構成とは次の点が異なる:(A)ビデオ・シフト・モードが切り換えられる度に、再生制御部7135は、新たに選択されるべきPGストリームのPIDをPGデコーダ4072に指示する;(B)第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えない;(C)プレーヤ変数記憶部4236にはSPRM(33)とSPRM(34)とが設定されていなくてもよい。それ以外は同様である。従って、図71の(b)では、図65に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図65に示されている要素についての説明を援用する。
SPRM(32)6502の示すビデオ・シフト・モードは、プログラム実行部4234によってアプリケーション・プログラム又はユーザに従って変更される。再生制御部7135は、SPRM(32)6502の値の変更を検出する度に、図71の(a)に示されているようなSTNテーブルを参照する。それにより、再生制御部7135はその中から、変更後のビデオ・シフト・モードに対応するPGストリームのPIDを検索してPGデコーダ4072に渡す。具体的には、SPRM(32)6502がアップ・モードを示すときは、ビデオ上移動時字幕7110の示すPIDが検索され、SPRM(32)6502がダウン・モードを示すときは、ビデオ下移動時字幕7111の示すPIDが検索され、SPRM(32)6502がキープ・モードを示すときは、ストリーム・エントリ7102の示すPIDが検索される。その結果、PGデコーダ4072によって復号されるPGプレーン4704は、ビデオ・シフト・モードに対応する字幕を表す。
図72の(a)は、キープ・モードに対応する字幕SB1、SB2を示す模式図である。図72の(b)は、ダウン・モードに対応する字幕SBD、SB2を示す模式図である。図72の(a)を参照するに、キープ・モードでは映像の表示領域VP1の下端部に水平方向の字幕SB1が映像と重ねて表示され、右端部に垂直方向の字幕SB2が映像と重ねて表示される。更に、映像の表示領域VP1の上下に高さ131ピクセルの黒帯BT、BBが表示される。図72の(b)を参照するに、ダウン・モードでは映像の表示領域VP2の上側に高さ262ピクセルの黒帯BT2が表示される。仮にPGプレーンに垂直方向のオフセットを与えて水平方向の字幕SB1の表示位置を上側の黒帯BT2の中に移動させた場合、垂直方向の字幕SB2の表示位置SB20は画面よりも上に外れてしまう。それに対し、ビデオ下移動時字幕7111の示すPGストリームは水平方向の字幕SBDを表し、その表示位置は上側の黒帯BT2の中に予め設定されている。従って、再生制御部7135は、キープ・モードで水平方向の字幕SB1を表すPGストリームを、ダウン・モードでは、ビデオ下移動時字幕7111の示すPGストリームに変更する。一方、再生制御部7135は、キープ・モードで垂直方向の字幕SB2を表すPGストリームを、ダウン・モードでもそのまま利用する。それにより、ダウン・モードでは、図72の(b)に示されているように、水平方向の字幕SBDを上側の黒帯BT2の中に表示し、かつ、垂直方向の字幕SB2を、キープ・モードでの字幕と同じく、映像の表示領域VP2の右端部に映像と重ねて表示することができる。アップ・モードでも同様である。
ビデオ上移動時字幕7110、ビデオ下移動時字幕7111、又はストリーム・エントリ7102がSTNテーブルに登録されていないとき、PGデコーダ4072は再生制御部7135から新たなPIDを指示されないので、その時点で保持しているPIDをそのまま維持する。その場合、第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えてもよい。そのオフセットは、ビデオ・シフト部6501によって主映像プレーン4701、4702に与えられるオフセットと等しい。図72の(c)は、キープ・モードで表示される字幕SB1を示す模式図である。図72の(d)は、ビデオ上移動時字幕7110がSTNテーブルに登録されていない場合において、アップ・モードで表示される字幕SB3を示す模式図である。図72の(c)を参照するに、キープ・モードでは映像の表示領域VP1の下端部に字幕SB1が映像と重ねて表示される。更に、映像の表示領域VP1の上下に高さ131ピクセルの黒帯BT、BBが表示される。図72の(d)を参照するに、アップ・モードでは映像の表示領域VP2の下側に高さ262ピクセルの黒帯BB2が表示される。仮に字幕SB1の表示位置がキープ・モードでの位置に維持された場合、その字幕SB1の下側が黒帯BB2に重なって表示されてしまう。それに対し、第2クロッピング処理部4732がPGプレーン4704に垂直方向のオフセットを与えた場合、アップ・モードの字幕SB3をキープ・モードの字幕SB1と同じく、図72の(d)に示されているように、映像の表示領域VP2の下端部に、黒帯BB2から離して表示することができる。
《実施形態2》
本発明の実施形態2によるBD−ROMディスクは、PGストリームとIGストリームとについてもベースビューとディペンデントビューとの対を含む。一方、本発明の実施形態2による再生装置は2プレーン・モードを備える。「2プレーン・モード」はグラフィックス・プレーンの表示モードの一つである。サブTSがベースビューとディペンデントビューとのグラフィックス・ストリームを両方含むとき、2プレーン・モードの再生装置は各グラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーン・データを復号して交互に出力する。それにより、それらのグラフィックス・ストリームから3Dグラフィックス映像を再生することができる。それらの点を除き、実施形態2によるBD−ROMディスクと再生装置とは、実施形態1によるものと構成及び機能が等しい。従って、以下では、実施形態2によるBD−ROMディスクと再生装置とのうち、実施形態1によるものからの変更部分及び拡張部分について説明する。実施形態1によるBD−ROMディスクと再生装置と同様な部分については、上記の実施形態1についての説明を援用する。
<サブTSのデータ構造>
図73の(a)は、BD−ROMディスク101上の第1サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第1サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、L/Rモード用のファイルDEPに含まれる。図73の(a)を参照するに、第1サブTSは、プライマリ・ビデオ・ストリーム7311、レフトビューPGストリーム7312A、7312B、ライトビューPGストリーム7313A、7313B、レフトビューIGストリーム7314、ライトビューIGストリーム7315、及びセカンダリ・ビデオ・ストリーム7316を含む。プライマリ・ビデオ・ストリーム7311はライトビュー・ビデオ・ストリームであり、図3の(a)に示されているメインTS内のプライマリ・ビデオ・ストリーム301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。レフトビューとライトビューとのPGストリームの対7312A+7313A、7312B+7313Bは、字幕等のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。レフトビューとライトビューとのIGストリームの対7314、7315は、対話画面のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。セカンダリ・ビデオ・ストリーム7316はライトビュー・ビデオ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。
エレメンタリ・ストリーム7311−7316に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム7311には0x1012が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、レフトビューPGストリーム7312A、7312Bには0x1220から0x123Fまでのいずれかが割り当てられ、ライトビューPGストリーム7313A、7313Bには0x1240から0x125Fまでのいずれかが割り当てられる。レフトビューIGストリーム7314には0x1420から0x143Fまでのいずれかが割り当てられ、ライトビューIGストリーム7315には0x1440から0x145Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム7316には0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図73の(b)は、BD−ROMディスク101上の第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第2サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、デプス・モード用のファイルDEPに含まれる。その他に、第2サブTSは第1サブTSと同じファイルDEPに多重化されていてもよい。図73の(b)を参照するに、第2サブTSは、プライマリ・ビデオ・ストリーム7321、デプスマップPGストリーム7323A、7323B、デプスマップIGストリーム7324、及びセカンダリ・ビデオ・ストリーム7326を含む。プライマリ・ビデオ・ストリーム7321はデプスマップ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム301との組み合わせで3D映像を表す。デプスマップPGストリーム7323A、7323Bは、メインTS内のPGストリーム323A、323Bの表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すPGストリームとして利用される。デプスマップIGストリーム7324は、メインTS内のIGストリーム304の表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すIGストリームとして利用される。セカンダリ・ビデオ・ストリーム7326はデプスマップ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム7321−7326に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム7321には0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、デプスマップPGストリーム7323A、7323Bには0x1260から0x127Fまでのいずれかが割り当てられる。デプスマップIGストリーム7324には0x1460から0x147Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム7326には0x1B40から0x1B5Fまでのいずれかが割り当てられる。
<STNテーブルSSのデータ構造>
図74は、本発明の実施形態2によるSTNテーブルSS3130のデータ構造を示す模式図である。図74を参照するに、STNテーブルSS3130内の各ストリーム登録情報列3301、3302、3303、…は、図33に示されているポップアップ期間のオフセット3311とディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312との他に、PGストリームのストリーム登録情報列7413とIGストリームのストリーム登録情報列7414とを含む。
PGストリームのストリーム登録情報列7413は、サブTSから再生対象として選択可能なPGストリームを示すストリーム登録情報を含む。IGストリームのストリーム登録情報列7414は、サブTSから再生対象として選択可能なIGストリームを示すストリーム登録情報を含む。これらのストリーム登録情報列7413、7414はそれぞれ、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、PGストリーム及びIGストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
図74を更に参照するに、PGストリームのストリーム登録情報列7413は一般に複数のストリーム登録情報7431を含む。それらは、対応するPI内に含まれるPGストリームのストリーム登録情報と同数である。IGストリームのストリーム登録情報列7414も同様なストリーム登録情報を含む。それらは、対応するPI内に含まれるIGストリームのストリーム登録情報と同数である。
各ストリーム登録情報7431は、STN7441、立体視フラグ(is_SS_PG)7442、ベースビュー・ストリーム・エントリ(stream_entry_for_base_view)7443、ディペンデントビュー・ストリーム・エントリ(stream_entry_for_depentdent_view)7444、及びストリーム属性情報7445を含む。STN7441は、ストリーム登録情報7431に個別に割り当てられた通し番号であり、対応するPI内で組み合わせ対象のストリーム登録情報に割り当てられたSTNと等しい。立体視フラグ7442は、BD−ROMディスク101がベースビューとディペンデントビューとのPGストリームを両方含むか否かを示す。立体視フラグ7442がオンであるとき、サブTSは両方のPGストリームを含む。従って、ベースビュー・ストリーム・エントリ7443、ディペンデントビュー・ストリーム・エントリ7444、及びストリーム属性情報7445のいずれのフィールドも再生装置によって読み出される。立体視フラグ7442がオフであるとき、それらのフィールド7443−7445はいずれも再生装置に無視される。ベースビュー・ストリーム・エントリ7443とディペンデントビュー・ストリーム・エントリ7444とはいずれも、サブパスID参照情報7421、ストリーム・ファイル参照情報7422、及びPID7423を含む。サブパスID参照情報7421は一つのサブパスのサブパスIDを示し、そのサブパスはベースビューとディペンデントビューとの各PGストリームの再生経路を規定する。ストリーム・ファイル参照情報7422は、各PGストリームが格納されたファイルDEPを識別するための情報である。PID7423は、各PGストリームのPIDである。ストリーム属性情報7445は、各PGストリームの属性、例えば言語の種類を含む。
尚、PGストリームのストリーム登録情報7431は、STNテーブルSSに代えて、STNテーブルに格納されていてもよい。その場合、そのストリーム登録情報7431は、メインTS内のPGストリームのストリーム登録情報、特にそのストリーム属性情報に格納される。
<システム・ターゲット・デコーダ>
図75は、本発明の実施形態2によるシステム・ターゲット・デコーダ7525の機能ブロック図である。図75を参照するに、PGデコーダ7501は、図45に示されているPGデコーダとは異なり、2プレーン・モードに対応可能である。具体的には、PGデコーダ7501はベースビューPGデコーダ7511とディペンデントビューPGデコーダ7512とを含む。ベースビューPGデコーダ7511は、図3の(a)に示されているメインTS内のPGストリーム303A、303Bに加え、図73の(a)に示されている第1サブTS内のレフトビューPGストリーム7312A、7312Bをプレーン・データに復号する。ディペンデントビューPGデコーダ7512は、図73の(a)に示されている第1サブTS内のライトビューPGストリーム7313A、7313B、及び図73の(b)に示されている第2サブTS内のデプスマップPGストリーム7323A、7323Bをプレーン・データに復号する。副映像デコーダとIGデコーダとのいずれも同様な一対のデコーダを含む。システム・ターゲット・デコーダ7525は更に、一対のPGプレーン・メモリ7521、7522を含む。ベースビューPGデコーダ7511はプレーン・データをレフトビューPGプレーン・メモリ7521に書き込み、ディペンデントビューPGデコーダ7512はプレーン・データをライトビューPGプレーン・メモリ7522に書き込む。IGプレーン・メモリとイメージ・プレーン・メモリとのいずれも同様な構成である。システム・ターゲット・デコーダ7525は更に、グラフィックス・プレーン・メモリからのプレーン・データの出力を、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードのそれぞれに対応させる。特に再生制御部4235から2プレーン・モードが指示されたとき、システム・ターゲット・デコーダ7525は一対のPGプレーン・メモリ7521、7522からプレーン加算部7526へプレーン・データを交互に送出する。
<プレーン加算部>
図76は2プレーン・モードのプレーン加算部7526の部分的な機能ブロック図である。図76を参照するに、プレーン加算部7526は、図47に示されているもの4226と同様、視差映像生成部4710、スイッチ4720、第1加算部4741、及び第2加算部4742を含む。プレーン加算部7526は更に、PGプレーン・データ7604、7605の入力部に第2視差映像生成部7610と第2スイッチ7620とを含む。同様な構成は、副映像プレーン・データ、IGプレーン・データ、及びイメージ・プレーン・データの各入力部にも含まれる。
第2視差映像生成部7610は、システム・ターゲット・デコーダ7525からレフトビューPGプレーン・データ7604とライトビューPGプレーン・データ7605とを受信する。L/Rモードの再生装置102では、レフトビューPGプレーン・データ7604はレフトビューPGプレーンを表し、ライトビューPGプレーン・データ7605はライトビューPGプレーンを表す。そのとき、第2視差映像生成部7610は各プレーン・データ7604、7605をそのまま第2スイッチ7620へ送出する。一方、デプス・モードの再生装置102では、レフトビューPGプレーン・データ7604は2Dグラフィックス映像のPGプレーンを表し、ライトビューPGプレーン・データ7605はその2Dグラフィックス映像に対するデプスマップを表す。そのとき、第2視差映像生成部7610はまず、そのデプスマップからその2Dグラフィックス映像の各部の両眼視差を計算する。第2視差映像生成部7610は次に、レフトビューPGプレーン・データ7604を加工して、PGプレーンにおけるその2Dグラフィックス映像の各部の表示位置を、計算された両眼視差に応じて左右に移動させる。それにより、レフトビューとライトビューとを表すPGプレーンの対が生成される。第2視差映像生成部7610は更に、そのPGプレーンの対を第2スイッチ7620へ送出する。
第2スイッチ7620は、PTSの等しいレフトビューPGプレーン・データ7604とライトビューPGプレーン・データ7605とをその順で第2クロッピング処理部4732へ送出する。2プレーン・モードの第2クロッピング処理部4732は各PGプレーン・データ7604、7605をそのまま第2加算部4742へ送出する。第2加算部4742は、第1加算部4741からのプレーン・データに各PGプレーン・データ7604、7605を重畳して第3加算部4743に渡す。その結果、左映像プレーン・データ7601にはレフトビューPGプレーンが重畳され、右映像プレーン・データ7602にはライトビューPGプレーンが重畳される。
2プレーン・モードの第2クロッピング処理部4732は、図47に示されている1プレーン+オフセット・モードのものと同様に、オフセット補正値を利用して各PGプレーン・データ7604、7605に水平方向のオフセットを与えてもよい。それにより、3Dグラフィックス映像の奥行き感を表示装置103の画面サイズに合わせて微調整することができる。その他に、第2クロッピング処理部4732は、図65、69に示されている1プレーン+オフセット・モードのものと同様に、ビデオ上/下移動時シフト値を利用して各PGプレーン・データ7604、7605に垂直方向のオフセットを与えてもよい。それにより、3D映像がレターボックス表示で再現されるとき、字幕等の3Dグラフィックス映像を、3D映像よりも上又は下に位置する黒帯上に再現することができる。
<2プレーン・モードでのオフセット情報の用途>
2プレーン・モードの第2クロッピング処理部4732は、オフセット情報4704を利用してレフトビュー又はライトビューのグラフィックス・プレーンに対してオフセット制御を行ってもよい。そのオフセット制御には、以下に述べる利点がある。
L/Rモードでは、図73の(a)に示されている第1サブTS内のレフトビューPGストリームに代えて、メインTS内の2D映像用PGストリーム(以下、2D・PGストリームと略す。)がレフトビューPGプレーン・データとして利用されてもよい。すなわち、図74に示されているベースビュー・ストリーム・エントリ7443において、サブパスID参照情報7421はメインパスを示し、ストリーム・ファイル参照情報7422は、2D・PGストリームが格納されたファイル2Dを示し、PID7423は2D・PGストリームのPIDを示す。その場合、第1サブTSはレフトビューPGストリームを含まなくてもよいので、3D映像コンテンツのデータ量を削減することができる。しかし、その反面、3Dグラフィックス映像に次の不具合が生じる危険性がある。
図77の(a)、(b)、(c)は、2D・PGストリームの表すレフトビュー・グラフィックス映像GOB0と、ライトビューPGストリームの表すライトビュー・グラフィックス映像GOB1−3とを示す模式図である。図77の(a)−(c)を参照するに、画面SCR内の実線はレフトビュー・グラフィックス映像GOB0を示し、破線はライトビュー・グラフィックス映像GOB1−3を示す。図77の(a)、(b)、(c)の順にグラフィックス映像間の距離Δ1、Δ2、Δ3は小さい(Δ1<Δ2<Δ3)ので、3Dグラフィックス映像と画面SCRとの奥行きの差が小さい。従って、グラフィックス映像の対が図77の(a)、(b)、(c)の順に表示されるとき、3Dグラフィックス映像は画面SCRから手前に飛び出すように見える。レフトビュー・グラフィックス映像GOB0が字幕を表すとき、その映像GOB0は2D映像としても利用されるので、その表示位置は図77の(a)、(b)、(c)の間で一定である。一方、ライトビュー・グラフィックス映像GOB1−3の表示位置は図77の(a)、(b)、(c)の順に左へ移動する。従って、グラフィックス映像間の中心位置C1、C2、C3が図77の(a)、(b)、(c)の順に左へ移動する。すなわち、字幕の3Dグラフィックス映像は左向きに移動するように見える。そのような字幕の移動は視聴者に違和感を与える危険性がある。
2プレーン・モードの第2クロッピング処理部4732は、オフセット情報に従ったオフセット制御を次のように利用して、3Dグラフィックス映像の水平方向での移動を防ぐ。図77の(d)、(e)、(f)はそれぞれ、図77の(a)、(b)、(c)に示されているレフトビュー・グラフィックス映像に対するオフセット制御を示す模式図である。図77の(d)−(f)を参照するに、画面SCR内の実線はオフセット制御後のレフトビュー・グラフィックス映像GOB4−6を示し、細い破線はオフセット制御前のレフトビュー・グラフィックス映像GOB0を示し、太い破線はライトビュー・グラフィックス映像GOB1−3を示す。第2クロッピング処理部4732はレフトビューPGプレーンに対し、図77の(d)、(e)、(f)に矢印で示されているオフセットOFS1、OFS2、OFS3を順番に与える。それにより、オフセット制御後のレフトビュー・グラフィックス映像GOB4−6はオフセット制御前のものGOB0よりも右へ移動する。その結果、図77の(d)−(f)ではグラフィックス映像間の中心位置C0が一定に維持されるので、3Dグラフィックス映像は水平方向には移動しないように見える。こうして、2D・PGストリームをレフトビューPGストリームとして利用することが視聴者に違和感を与える危険性を回避することができる。
《実施形態3》
以下、本発明の実施形態3として、本発明の実施形態1、2による記録媒体の記録装置及び記録方法について説明する。その記録装置は、いわゆるオーサリング装置と呼ばれるものである。オーサリング装置は通常、頒布用の映画コンテンツの制作スタジオに設置され、オーサリング・スタッフによって使用される。記録装置はオーサリング・スタッフの操作に従い、まず映画コンテンツを所定の圧縮符号化方式でAVストリーム・ファイルに変換する。記録装置は次にシナリオを生成する。「シナリオ」は、映画コンテンツに含まれる各タイトルの再生方法を規定した情報であり、具体的には、動的シナリオ情報と静的シナリオ情報とを含む。記録装置は続いて、AVストリーム・ファイル及びシナリオからBD−ROMディスク用のボリューム・イメージを生成する。記録装置は最後に、そのボリューム・イメージを記録媒体に記録する。
図78は、その記録装置7800の機能ブロック図である。図78を参照するに、その記録装置7800は、データベース部7801、ビデオ・エンコーダ7802、素材制作部7803、シナリオ生成部7804、BDプログラム制作部7805、多重化処理部7806、及びフォーマット処理部7807を含む。
データベース部7801は記録装置に内蔵の不揮発性記憶装置であり、特にHDDである。データベース部7801はその他に、記録装置に外付けされたHDDであってもよく、記録装置に内蔵の、又は外付けされた不揮発性半導体メモリ装置であってもよい。
ビデオ・エンコーダ7802は、非圧縮のビットマップ・データ等の映像データをオーサリング・スタッフから受け付けて、MPEG−4 AVC、MVC、又はMPEG−2等の圧縮符号化方式で圧縮する。それにより、主映像のデータはプライマリ・ビデオ・ストリームに変換され、副映像のデータはセカンダリ・ビデオ・ストリームに変換される。特に3D映像のデータは、MVC等の多視点符号化方式を利用して、図7に示されているようなベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの対に変換される。すなわち、レフトビューを表すビデオ・フレームの列は、それ自身のピクチャ間での予測符号化によって、ベースビュー・ビデオ・ストリームに変換される。一方、ライトビューを表すビデオ・フレームの列は、それ自身のピクチャだけでなく、ベースビュー・ピクチャとの間の予測符号化によって、ディペンデントビュー・ビデオ・ストリームに変換される。尚、ライトビューを表すビデオ・フレームの列がベースビュー・ビデオ・ストリームに変換され、レフトビューを表すビデオ・フレームの列がディペンデントビュー・ビデオ・ストリームに変換されてもよい。変換後の各ビデオ・ストリーム7812はデータベース部7801に保存される。
ビデオ・エンコーダ7802は、ピクチャ間予測符号化の処理過程でレフトビューとライトビューとの間での各映像の動きベクトルを検出し、それらから各3D映像の奥行き情報を算出する。図79の(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図であり、(c)は、ビデオ・エンコーダ7802によってそれらのピクチャから算出された奥行き情報を示す模式図である。
ビデオ・エンコーダ7802はレフトビューとライトビューとの各ピクチャの圧縮に、それらのピクチャ間の冗長性を利用する。すなわち、ビデオ・エンコーダ7802は圧縮前の両ピクチャを8×8又は16×16の画素マトリクスごとに、すなわちマクロブロックごとに比較して、両ピクチャ間での各映像の動きベクトルを検出する。具体的には、図79の(a)、(b)に示されているように、まず、レフトビュー・ピクチャ7901とライトビュー・ピクチャ7902とはそれぞれ、マクロブロック7903のマトリクスに分割される。次に、両ピクチャ7901、7902間でイメージ・データがマクロブロック7903ごとに比較され、その結果から各映像の動きベクトルが検出される。例えば、「家」の映像7904を表す領域は両ピクチャ7901、7902間で実質的に等しい。従って、それらの領域からは動きベクトルが検出されない。一方、「球」の映像7905を表す領域は両ピクチャ7901、7902間で異なるので、それらの領域からはその映像7905の動きベクトルが検出される。
ビデオ・エンコーダ7802は、検出された動きベクトルを各ピクチャ7901、7902の圧縮に利用する。一方、ビデオ・エンコーダ7802はその動きベクトルを、「家」の映像7904及び「球」の映像7905等、各映像の両眼視差の計算に利用する。ビデオ・エンコーダ7802は更に、各映像の両眼視差からその映像の奥行きを算出する。その奥行きを表す情報は、図79の(c)に示されているように、各ピクチャ7901、7902のマクロブロックのマトリクスと同じサイズのマトリクス7906に整理される。このマトリクス7906内のブロック7907は、各ピクチャ7901、7902内のマクロブロック7903と一対一に対応する。各ブロック7907は、対応するマクロブロック7903の表す映像の奥行きを、例えば8ビットの深度で表す。図79に示されている例では、「球」の映像7905の奥行きがマトリクス7906の領域7908内の各ブロックに記録される。その領域7908は、その映像7905を表す各ピクチャ7901、7902内の領域の全体に対応する。
ビデオ・エンコーダ7802は奥行き情報を利用して、レフトビュー又はライトビューに対するデプスマップを生成してもよい。その場合、ビデオ・エンコーダ7802は、レフトビュー又はライトビューのストリーム・データとデプスマップ・ストリームとのそれぞれを、それ自身の含むピクチャ間での予測符号化を用いて、ベースビュー・ビデオ・ストリームとデプスマップ・ストリームとに変換する。変換後の各ビデオ・ストリーム7812はデータベース部7801に保存される。
ビデオ・エンコーダ7802は更に、その奥行き情報を利用して、図60の(b)、(c)に示されているレフトビューLVとライトビューRVとの一方にしか含まれない垂直方向の帯状領域AL、ARの幅WDH、及び、図61の(b)、(c)に示されているレフトビューLVとライトビューRVとの一方にしか含まれない水平方向の帯状領域AT、ABの高さHGTを算定する。実際、それらの帯状領域が物体の映像を含んでいれば、その映像の動きベクトルが、レフトビューからライトビューへ、又はその逆へのフレーム・アウトを表すものとして検出される。ビデオ・エンコーダ7802はその動きベクトルから各帯状領域の幅又は高さを算定できる。算定された幅と高さとを示す情報(以下、マスク領域情報という。)7811はデータベース部7801に保存される。
ビデオ・エンコーダ7802はその他に、2D映像のデータからセカンダリ・ビデオ・ストリームを符号化する際に、オーサリング・スタッフの操作に従って、副映像プレーンに対するオフセット情報7810を作成してもよい。作成されたオフセット情報7810はデータベース部7801に保存される。
素材制作部7803は、ビデオ・ストリーム以外のエレメンタリ・ストリーム、例えば、オーディオ・ストリーム7813、PGストリーム7814、及びIGストリーム7815を作成してデータベース部7801に保存する。例えば、素材制作部7803はオーサリング・スタッフから非圧縮のLPCM音声データを受け付けて、それをAC−3等の圧縮符号化方式で符号化してオーディオ・ストリーム7813に変換する。素材制作部7803はその他に、オーサリング・スタッフから字幕情報ファイルを受け付けて、それに従ってPGストリーム7814を作成する。字幕情報ファイルは、字幕を表すイメージ・データ又はテキスト・データ、その字幕の表示時期、及び、その字幕に加えられるべきフェード・イン/アウト等の視覚効果を規定する。素材制作部7803は更に、オーサリング・スタッフからビットマップ・データとメニュー・ファイルとを受け付けて、それらに従ってIGストリーム7815を作成する。ビットマップ・データはメニューのイメージを表す。メニュー・ファイルは、そのメニューに配置される各ボタンの状態の遷移、及び各ボタンに加えられるべき視覚効果を規定する。
素材制作部7803は更に、オーサリング・スタッフの操作に従い、PGストリーム7814とIGストリーム7815とのそれぞれに対するオフセット情報7810を作成する。その場合、素材制作部7803は、ビデオ・エンコーダ7802によって生成された奥行き情報DPIを利用して、3Dグラフィックス映像の奥行きを3D映像の奥行きに合わせてもよい。その場合、3D映像の奥行きがフレームごとに激しく変化するときには、素材制作部7803は、奥行き情報DPIを利用して作成されたオフセット値の列を更にローパスフィルタで処理して、フレームごとの変化を低減させてもよい。こうして、作成されたオフセット情報7810はデータベース部7801に保存される。
シナリオ生成部7804は、オーサリング・スタッフからGUI経由で受け付けられた指示に従ってBD−ROMシナリオ・データ7817を作成し、データベース部7801に保存する。BD−ROMシナリオ・データ7817は、データベース部7801に保存された各エレメンタリ・ストリーム7812−7816の再生方法を規定する。BD−ROMシナリオ・データ7817は、図2に示されているファイル群のうち、インデックス・ファイル211、ムービーオブジェクト・ファイル212、及びプレイリスト・ファイル221−223を含む。シナリオ生成部7804は更に、パラメータ・ファイルPRFを作成して多重化処理部7806へ送出する。パラメータ・ファイルPRFは、データベース部7801に保存されたエレメンタリ・ストリーム7812−7815の中から、メインTSとサブTSとのそれぞれに多重化されるべきストリーム・データを規定する。
BDプログラム制作部7805はオーサリング・スタッフに対して、BD−Jオブジェクト及びJavaアプリケーション・プログラムのプログラミング環境を提供する。BDプログラム制作部7805はGUIを通じてユーザからの要求を受け付け、その要求に従って各プログラムのソースコードを作成する。BDプログラム制作部7805は更に、BD−JオブジェクトからBD−Jオブジェクト・ファイル251を作成し、Javaアプリケーション・プログラムをJARファイル261に圧縮する。それらのプログラム・ファイル群BDPはフォーマット処理部7807へ送出される。
ここで、BD−Jオブジェクトが次のようにプログラミングされる場合を想定する:BD−Jオブジェクトは、図42に示されているプログラム実行部4234にGUI用のグラフィックス・データをシステム・ターゲット・デコーダ4225へ送出させる。BD−Jオブジェクトは更に、システム・ターゲット・デコーダ4225にそのグラフィックス・データをイメージ・プレーン・データとして処理させ、プレーン加算部4226にイメージ・プレーン・データを1プレーン+オフセット・モードで送出させる。その場合、BDプログラム制作部7805は、イメージ・プレーンに対するオフセット情報7810を作成してデータベース部7801に保存する。BDプログラム制作部7305はそのオフセット情報7310の作成に、ビデオ・エンコーダ7802によって生成された奥行き情報DPIを利用してもよい。
多重化処理部7806はパラメータ・ファイルPRFに従い、データベース部7801に保存されている各エレメンタリ・ストリーム7812−7815をMPEG2−TS形式のストリーム・ファイルに多重化する。具体的には、図4に示されているように、まず、各エレメンタリ・ストリーム7812−7815が一つのソースパケット列に変換され、次に、各列のソースパケットが一本の多重化ストリーム・データにまとめられる。こうして、メインTSとサブTSとが作成される。それらの多重化ストリーム・データMSDはフォーマット処理部7807へ送出される。
多重化処理部7806は更に、データベース部7801に保存されているオフセット情報7810に基づいてオフセット・メタデータを作成する。図11に示されているように、作成されたオフセット・メタデータ1110はディペンデントビュー・ビデオ・ストリーム内に格納される。そのとき、データベース部7801に保存されているマスク領域情報7811は、オフセット・メタデータと共にディペンデントビュー・ビデオ・ストリーム内に格納される。また、多重化処理部7806は各グラフィックス・データを加工して、左右の各映像フレーム内でのグラフィックス部品の配置を調整してもよい。それにより、各グラフィックス・プレーンの表す3Dグラフィックス映像が、他のグラフィックス・プレーンの表す3Dグラフィックス映像と同じ視方向に重なって表示されることを、多重化処理部7806は防止できる。その他に、多重化処理部7306は各グラフィックス・プレーンに対するオフセット値を調整して、各3Dグラフィックス映像が異なる奥行きに表示されるようにできる。
多重化処理部7806はその上、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを、以下の手順(I)−(IV)で作成する:(I)ファイル2DとファイルDEPとのそれぞれについて、図23に示されているエントリ・マップ2230を生成する。(II)各ファイルのエントリ・マップを利用して、図24の(a)、(b)に示されているエクステント起点2242、2420を作成する。そのとき、隣接するデータ・ブロック間でエクステントATC時間を揃える(後述参照)。更に、2Dエクステント、ベースビュー・エクステント、ディペンデントビュー・エクステント、及びエクステントSSの各サイズが所定の条件を満たすように、エクステントの配置を設計する(それらの条件については《補足》参照)。(III)メインTSとサブTSとのそれぞれに多重化されるべきエレメンタリ・ストリームから、図22に示されているストリーム属性情報2220を抽出する。(IV)図22に示されているように、エントリ・マップ2230、3Dメタデータ2240、及びストリーム属性情報2220の組み合わせをクリップ情報2210に対応付ける。こうして、各クリップ情報ファイルCLIが作成され、フォーマット処理部7307へ送出される。
フォーマット処理部7807は、データベース部7801に保存されたBD−ROMシナリオ・データ7817、BDプログラム制作部7805によって制作されたBD−Jオブジェクト・ファイル等のプログラム・ファイル群BDP、及び、多重化処理部7806によって生成された多重化ストリーム・データMSDとクリップ情報ファイルCLIとから、図2に示されているディレクトリ構造のBD−ROMディスク・イメージ7820を作成する。そのディレクトリ構造ではファイルシステムとしてUDFが利用される。
フォーマット処理部7807は、ファイル2D、ファイルDEP、及びファイルSSの各ファイル・エントリを作成するとき、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのそれぞれに含まれるエントリ・マップと3Dメタデータとを参照する。それにより、エントリ・ポイントとエクステント起点との各SPNがアロケーション記述子の作成に利用される。特に、図19に示されているようなデータ・ブロックのインターリーブ配置が表現されるように、各アロケーション記述子の表すべきLBNの値とエクステントのサイズとが決定される。その結果、各ベースビュー・データ・ブロックはファイルSSとファイル2Dとに共有され、各ディペンデントビュー・データ・ブロックはファイルSSとファイルDEPとに共有される。
<BD−ROMディスク・イメージの記録方法>
図80は、図78に示されている記録装置7800を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。この方法は、例えば記録装置7800の電源投入によって開始される。
ステップS8001では、BD−ROMディスクへ記録されるべきエレメンタリ・ストリーム、プログラム、及びシナリオ・データが作成される。すなわち、ビデオ・エンコーダ7802はビデオ・ストリーム7812を作成する。素材制作部7803は、オーディオ・ストリーム7813、PGストリーム7814、及びIGストリーム7815を作成する。シナリオ生成部7804はBD−ROMシナリオ・データ7817を作成する。作成されたそれらのデータ7812−7817はデータベース部7801に保存される。一方、ビデオ・エンコーダ7802は、オフセット情報7810とマスク領域情報7811とを作成してデータベース部7801に保存する。素材制作部7803はオフセット情報7810を作成してデータベース部7801に保存する。シナリオ生成部7804はパラメータ・ファイルPRFを作成して多重化処理部7806へ送出する。BDプログラム制作部7805は、BD−Jオブジェクト・ファイルとJARファイルとを含むプログラム・ファイル群BDPを作成してフォーマット処理部7807へ送出し、オフセット情報7810を作成してデータベース部7801に保存する。その後、処理はステップS8002へ進む。
ステップS8002では、多重化処理部7806は、データベース部7801に保存されたオフセット情報7810に基づいてオフセット・メタデータを作成する。作成されたオフセット・メタデータは、マスク領域情報7811と共に、ディペンデントビュー・ビデオ・ストリーム内に格納される。その後、処理はステップS8003へ進む。
ステップS8003では、多重化処理部7806はパラメータ・ファイルPRFに従い、データベース部7801から各エレメンタリ・ストリーム7812−7815を読み出してMPEG2−TS形式のストリーム・ファイルに多重化する。その後、処理はステップS8004へ進む。
ステップS8004では、多重化処理部7806は2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを作成する。特に、エントリ・マップとエクステント起点との作成では、隣接するデータ・ブロック間でエクステントATC時間が揃えられる。更に、2Dエクステント、ベースビュー・エクステント、ディペンデントビュー・エクステント、及びエクステントSSのサイズが、所定の条件を満たすように設計される。その後、処理はステップS8005へ進む。
ステップS8005では、フォーマット処理部7807は、BD−ROMシナリオ・データ7817、プログラム・ファイル群BDP、多重化ストリーム・データMDS、及びクリップ情報ファイルCLIから、BD−ROMディスク・イメージ7820を作成する。その後、処理はステップS8006へ進む。
ステップS8006では、BD−ROMディスク・イメージ7820がBD−ROMプレス用データに変換される。更に、このデータはBD−ROMディスクの原盤に記録される。その後、処理はステップS8007へ進む。
ステップS8007では、ステップS8006で得られた原盤をプレス工程に利用してBD−ROMディスク101の大量生産を行う。こうして、処理が終了する。
<エクステントATC時間を揃える方法>
図81は、隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。まず、ベースビュー・データ・ブロックに格納されるソースパケット(以下、SP1と略す。)と、ディペンデントビュー・データ・ブロックに格納されるソースパケット(以下、SP2と略す。)とには、同じATC時間軸でATSが付与される。図81を参照するに、矩形8110、8120はそれぞれ、SP1#p(p=0、1、2、3、…、k、k+1、…、i、i+1)とSP2#q(q=0、1、2、3、…、m、m+1、…、j)とを表す。それらの矩形8110、8120はATCの時間軸方向で各ソースパケットのATSの順に並べられている。各矩形8110、8120の先頭の位置はそのソースパケットのATSの値を表す。各矩形8110、8120の長さAT1は、3D再生装置が1個のソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を表す。
SP1#0のATSA1からエクステントATC時間TEXTが経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#0、1、2、…、kは、(n+1)番目のベースビュー・エクステントEXT1[n]として一つのベースビュー・データ・ブロックに格納される。同様に、SP1#(k+1)のATSA3からエクステントATC時間TEXTが経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#(k+1)、…、iは、(n+2)番目のベースビュー・エクステントEXT1[n+1]として次のベースビュー・データ・ブロックに格納される。
一方、(n+1)番目のディペンデントビュー・エクステントEXT2[n]として一つのディペンデントビュー・データ・ブロックに格納されるべきSP2は次のように選択される。まず、SP1#0のATSA1とエクステントATC時間TEXTとの和、すなわち(n+2)番目のベースビュー・エクステントEXT1[n+1]の先頭に位置するSP1#(k+1)のATSA3=A1+TEXTが求められる。次に、SP1#0のATSA1からSP1#(k+1)のATSA3までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#0、1、2、…、mが選択される。従って、先頭のSP2、すなわちSP2#0のATSA2は必ず、先頭のSP1、すなわちSP1#0のATSA1以上である:A2≧A1。更に、SP2#0−mのATSは全て、SP1#(k+1)のATSA3未満である。ここで、最後のSP2、すなわちSP#mの転送完了は、SP1#(k+1)のATSA3以後であってもよい。
同様に、(n+2)番目のディペンデントビュー・エクステントEXT2[n+1]として一つのディペンデントビュー・データ・ブロックに格納されるべきSP2は、次のように選択される。まず、(n+3)番目のベースビュー・エクステントの先頭に位置するSP1#(i+1)のATSA5=A3+TEXTが求められる。次に、SP1#(k+1)のATSA3からSP1#(i+1)のATSA5までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#(m+1)−jが選択される。従って、先頭のSP2、すなわちSP2#(m+1)のATSA4は必ず、先頭のSP1、すなわちSP1#(k+1)のATSA3以上である:A4≧A3。更に、SP2#(m+1)−jのATSは全て、SP1#(i+1)のATSA5未満である。
《実施形態4》
図110は、本発明の実施形態4による集積回路3を用いて実現された再生装置の機能ブロック図である。この再生装置は、前述の実施形態において説明された構造のデータを再生する
媒体IF部1は、媒体からデータを受信して、又は読み出して、集積回路3に転送する。ここで、そのデータは、前述の実施形態において説明した構造のデータを含む。例えば、媒体が光ディスクやハードディスクである場合、媒体IF部1はディスクドライブである。媒体が、SDカードやUSBメモリ等の半導体メモリである場合、媒体IF部1はカードIFである。媒体が、CATV等を含む放送波である場合、媒体IF部1はCANチューナーやSiチューナーである。媒体が、イーサネット(登録商標)、無線LAN、無線公衆回線等のネットワークである場合、媒体IF部1はネットワークIFである。
メモリ2は、媒体から受信され、又は読み出されたデータを一旦格納し、又は集積回路3における処理途中のデータを一時的に格納する。メモリ2としては、SDRAM(Synchronous Dynamic Random Access Memory)、DDRx SDRAM(Double−Date−Rate x Synchronous Dynamic Random Access Memory;x=1,2,3,…)等が用いられる。尚、メモリ2は任意の個数備えられていればよく、必要に応じて単数でも複数でも構わない。
集積回路3は、媒体IF部1から転送されたデータに対して映像・音声処理を施すシステムLSIである。集積回路3は、主制御部6、ストリーム処理部5、信号処理部7、メモリ制御部9、及びAV出力部8を含む。
主制御部6はプログラムメモリとプロセッサコアとを有する。プログラムメモリには予めOS等の基本ソフトが格納されている。プロセッサコアはタイマ機能や割り込み機能を有し、プログラムメモリ等に格納されたプログラムに従って、集積回路3全体の制御を行う。
ストリーム処理部5は、主制御部6の制御の下、媒体から媒体IF部1経由で転送されたデータを受信し、集積回路3内のデータバスを経由してメモリ2に格納し、又は受信したデータを映像系データ、音声系データに分離する。前述したとおり、2D/レフトビューAVストリーム・ファイルはレフトビュー・ビデオ・ストリームを含み、ライトビューAVストリーム・ファイルはライトビュー・ビデオ・ストリームを含む。更に、媒体上のデータは、2D/レフトビューAVストリーム・ファイルとライトビューAVストリーム・ファイルとが幾つかのエクステントに分割された状態で交互に配置されたものである。ここで、媒体上のデータのうち、レフトビュー・ビデオ・ストリームを含む部分は左目用データであり、ライトビュー・ビデオ・ストリームを含む部分は右目用データである。主制御部6は、集積回路3が左目用データを受信した場合はメモリ2内の第1の領域にデータが格納されるようにストリーム処理部5を制御し、右目用データを受信した場合はメモリ2内の第2の領域にデータが格納されるようにストリーム処理部5を制御する。尚、メモリ2における第1、第2の領域は単一のメモリが論理的に領域分割されたものでもよいし、物理的に異なるメモリでもよい。また、実施形態4においては、左目用データをメインビュー・データとし、右目用データをサブビュー・データとして説明を続けるが、右目用データがメインビュー・データであり、左目用データがサブビュー・データであっても構わない。
信号処理部7は、主制御部6の制御の下、ストリーム処理部5が分離した映像系データ及び音声系データを適切な方法で復号する。映像系データは、MPEG−2、MPEG−4 AVC、MPEG−4 MVC、SMPTE VC−1などの方式で圧縮符号化されて記録されている。音声系データは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、リニアPCMなどの方式で圧縮符号化されて記録されている。信号処理部7は、これらに対応した方式で復号する。尚、信号処理部7のモデルは、例えば、図45に示されているTS優先度フィルタと各種デコーダとの組み合わせに相当するものであっても、図46に示されている各種デコーダに相当するものであってもよい。更に、信号処理部7はライトビュー・ビデオ・ストリームの中からメタデータを抽出して、AV出力部8へ通知する。尚、前述のとおり、メタデータは、ライトビュー・ビデオ・ストリームを構成するGOPごとに配置されており、オフセット情報とオフセット識別子との対を複数含む。
信号処理部7のモデルが、図45に示されているTS優先度フィルタと各種デコーダとの組み合わせに相当する場合、信号処理部7は、まず、右目用データに含まれるTSパケットのTS優先度フラグを監視し、それらの値から、メタデータを含むTSパケットを選別する。信号処理部7は、次に、ピクチャ・データを含むTSパケットから非圧縮のピクチャ・データを復号する処理と、メタデータを含むTSパケットからメタデータを抽出する処理とを、異なるモジュールで並列に行う。一方、信号処理部7のモデルが、図46に示されている各種デコーダに相当する場合、信号処理部7では、右目用データに含まれるTSパケットが、TS優先度フラグの値にかかわらず、同じデコーダに送られる。そのデコーダは、それらのTSパケットから非圧縮のピクチャ・データを復号する処理と共に、メタデータを抽出する処理を行う。このように、前述の実施形態で説明した構造のデータであれば、信号処理部7はいずれのモデルであっても、そのデータから非圧縮のピクチャ・データを復号する処理と、メタデータを抽出する処理とを良好に実行できる。
メモリ制御部9は、集積回路3内の各機能ブロックからメモリ2へのアクセスを調停する。
AV出力部8は、主制御部6の制御の下、信号処理部7によって復号された映像系データを互いに重畳し、それらの映像系データにフォーマット変換等を行って、集積回路3の外へ出力する。
図111は、ストリーム処理部5の代表的な構成を示す機能ブロック図である。ストリーム処理部5は、デバイス・ストリームIF部51、多重分離部52、及び切替部53を備える。
デバイス・ストリームIF部51は、媒体IF部1と集積回路3との間のデータ転送用インターフェースである。例えば、媒体が光ディスクやハードディスクである場合、デバイス・ストリームIF部51は、SATA(Serial Advanced Technology Attachment)、ATAPI(Advanced Technology Attachment Packet Interface)、又はPATA(Parallel Advanced Technology Attachment)に相当する。媒体が、SDカードやUSBメモリ等の半導体メモリである場合、デバイス・ストリームIF部51はカードIFに相当する。媒体が、CATV等を含む放送波などである場合、デバイス・ストリームIF部51はチューナーIFに相当する。媒体が、イーサネット、無線LAN、又は無線公衆回線等のネットワークである場合、デバイス・ストリームIF部51はネットワークIFに相当する。尚、媒体の種類によっては、デバイス・ストリームIF部51が媒体IF部1の機能の一部を肩代わりしても構わないし、逆に、媒体IF部1が集積回路3に内蔵され、デバイス・ストリームIF部51として利用されても構わない。
多重分離部52は、媒体から転送されたデータのうち、映像・音声を含む再生データから映像系データと音声系データとを分離する。前述の各エクステントは、映像・音声・PG(字幕)・IG(メニュー)等の各ソースパケットから構成されている。但し、サブビュー・データは音声を含まない場合もある。各エクステントは、各ソースパケットに含まれているPID(識別子)に従って映像系・音声系の各TSパケットに分離されて、信号処理部7へ転送される。処理済のデータは、直接、又は一旦メモリ2に格納された後に、信号処理部7へ転送される。尚、多重分離部52のモデルは、例えば図45に示されているソース・デパケタイザ、PIDフィルタに当たる。
切替部53は、デバイス・ストリームIF部51が受信したデータの出力先又は格納先を切り替える。具体的には、デバイス・ストリームIF部51が左目用データを受信した時は、切替部53は、そのデータの出力先又は格納先をメモリ2内の第1の領域にし、右目用データを受信した時はメモリ2内の第2の領域にする。ここで、切替部53は例えばDMAC(Direct Memory Access Controller)である。図112は、切替部53がDMACである場合における切替部53の周辺の機能ブロック図である。DMAC53は、主制御部6の制御の下、受信データと格納先アドレスとをメモリ制御部9へ送信する。受信データは、デバイス・ストリームIF部51が受信したデータであり、格納先アドレスは、その受信データの格納先のアドレスである。具体的には、アドレス1がメモリ2内の第1の領域のアドレスであり、アドレス2が第2の領域のアドレスである場合を想定する。受信データが左目用データである時、DMAC53はメモリ制御部9へアドレス1を送信し、受信データが右目用データである時、アドレス2を送信する。メモリ制御部9は、DMAC53から送られてきた格納先アドレスに従ってメモリ2に受信データを格納する。こうして、受信データの種類によってその出力先又は格納先が切り替えられる。尚、主制御部6の代わりに、切替部53を制御する専用の回路が設けられても構わない。
ここでは、ストリーム処理部5の代表的な構成として、デバイス・ストリームIF部51、多重分離部52、及び切替部53について説明した。しかし、ストリーム処理部5が更に、暗号エンジン部、セキュア管理部、又はダイレクト・メモリ・アクセス用のコントローラ等を備えていてもよい。暗号エンジン部は、受信した暗号化データや鍵データ等を復号する。セキュア管理部は、秘密鍵を保持し、媒体と再生装置との間の機器認証プロトコル等の実行制御を行う。また、これまでは、媒体から受信したデータをメモリ2に格納する際に、そのデータが左目用データと右目用データとのいずれであるかによって、切替部53がそのデータの格納先を切り替える場合について説明してきた。しかし、媒体から受信したデータを一旦メモリ2に格納した後に多重分離部52へ転送する際に、そのデータから左目用データと右目用データとが振り分けられてもよい。
図113は、AV出力部8の代表的な構成を示す機能ブロック図である。AV出力部8は、画像重畳部86、ビデオ出力フォーマット変換部87、及びオーディオ・ビデオ出力IF部88を備える。
画像重畳部81は、復号された映像系データを重畳する。具体的には、レフトビュー・ビデオ・データ又はライトビュー・ビデオ・データにPG(字幕)又はIG(メニュー)をピクチャ単位で重畳する。画像重畳部81のモデルは、例えば図47に示されている。
図114は、画像重畳処理におけるメモリ2の利用方法の一例を示す模式図である。メモリ2は、レフトビューに対応するプレーン・データ格納領域、ライトビューに対応するプレーン・データ格納領域、グラフィックスに対応するプレーン・データ格納領域、及び画像重畳後データ格納領域を含む。各プレーン・データ格納領域は、復号されたデータが、対応するプレーンに描画される前に一旦格納される領域である。画像重畳後データ格納領域は、グラフィックス・プレーンとレフトビュー・プレーン又はライトビュー・プレーンとが重畳された後にそのデータが格納される領域である。ここで、プレーンは、メモリ2中の領域であっても、仮想的な空間であってもよい。
図115と図116とは、図114に示されているメモリ2を利用した画像重畳処理を示す模式図である。画像重畳部81は、まず、信号処理部7が抽出したメタデータに含まれるオフセット情報に基づいて、グラフィックス・プレーンにオフセットを与える。画像重畳部81は、次に、オフセットが与えられたグラフィックス・プレーンを映像プレーンに重畳する。具体的には、図115では、グラフィックス・プレーンに+Xのオフセットが与えられ、その後、そのグラフィックス・プレーンがレフトビュー・プレーンに重畳される。一方、図116では、グラフィックス・プレーンに−Xのオフセットが与えられ、その後、そのグラフィックス・プレーンがライトビュー・プレーンに重畳される。ここで、値Xはオフセット値であって、画素数で表される。また、それらの重畳処理では、各図に示されているように、水平方向の座標が等しい画素データ同士が合成される。重畳後のデータはメモリ2内の画像重畳後データ格納領域に格納される。
図117は、画像重畳処理でのメモリ2の利用方法の別例を示す模式図である。メモリ2は更に、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(レフトビュー重畳用、ライトビュー重畳用)」を備えている。それらのプレーン・データ格納領域には、オフセットの与えられたグラフィックス・プレーンが、レフトビュー・プレーンとライトビュー・プレーンとのそれぞれに重畳される前に一旦格納される。例えば、画像重畳部81は、グラフィックス・プレーンに+Xのオフセットを与えて、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(レフトビュー重畳用)」に一旦格納する。その後、画像重畳部81は、そのプレーン・データ格納領域からグラフィックス・プレーンを読み出してレフトビュー・プレーンに重畳し、得られた結果を画像重畳後データ格納領域に格納する。一方、画像重畳部81は、グラフィックス・プレーンに−Xのオフセットを与えて、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(ライトビュー重畳用)」に一旦格納する。その後、画像重畳部81は、そのプレーン・データ格納領域からグラフィックス・プレーンを読み出してライトビュー・プレーンに重畳し、得られた結果を画像重畳後データ格納領域に格納する。
ビデオ出力フォーマット変換部82は、復号後又は重畳後の映像系データに対して、リサイズ処理、IP変換処理、ノイズ・リダクション処理、又はフレームレート変換処理等を必要に応じて行う。リサイズ処理は、映像のサイズを拡大/縮小する処理である。IP変換処理は、プログレッシブ方式とインターレース方式との間で走査方式を変換する処理である。ノイズ・リダクション処理は、映像からノイズを除去する処理である。フレームレート変換処理は、フレームレートを変換する処理である。ビデオ出力フォーマット変換部82は、処理後のデータを画像重畳部81又はオーディオ・ビデオ出力IF部83へ送出する。
オーディオ・ビデオ出力IF部83は、ビデオ出力フォーマット変換部82によって処理された映像系データと、復号された音声系データとを符号化処理等で所定のデータ送信形式に変換する。尚、後述するように、オーディオ・ビデオ出力IF部83の一部は、集積回路3の外に備えられても構わない。
図118は、AV出力部8と再生装置のデータ出力部との詳細な機能ブロック図である。AV出力部8及び再生装置のデータ出力部は、複数のデータ送信形式に対応している。具体的には、図118に示されているように、オーディオ・ビデオ出力IF部83は、アナログ・ビデオ出力IF部83a、アナログ・オーディオ出力IF部83c、及びデジタル・オーディオ出力IF部83bを備えている。
アナログ・ビデオ出力IF部83aは、ビデオ出力フォーマット変換部82によって処理された映像系データを、アナログ映像信号形式に変換して出力する。アナログ・ビデオ出力IF部83aは、例えば、NTSC、PAL、及びSECAMのいずれかの方式に対応したコンポジット・ビデオ・エンコーダー、S映像信号(Y/C分離)用エンコーダー、コンポーネント映像信号用エンコーダー、並びにD/Aコンバータ(DAC)を含む。
デジタル・オーディオ・ビデオ出力IF部83bは、復号された音声系データと、ビデオ出力フォーマット変換部82によって処理された映像系データとを一体化し、更に暗号化する。その後、デジタル・オーディオ・ビデオ出力IF部83bは暗号化データをデータ送信規格に合わせて符号化して出力する。例えば、図42に示されているHDMI通信部がデジタル・オーディオ・ビデオ出力IF部83bに当たる。
アナログ・オーディオ出力IF部83cは、復号された音声系データをD/A変換してアナログ音声データを出力する。オーディオDAC等がアナログ・オーディオ出力IF部83cに当たる。
AV出力部8及び再生装置のデータ出力部は、映像系データ及び音声系データの送信形式を、表示装置・スピーカ4のサポートするデータ受信装置又はデータ入力端子に依存して切り替え可能である。また、AV出力部8及び再生装置のデータ出力部はそれらの送信形式をユーザーに選択させることも可能である。更に、同一のコンテンツから変換されたデータを、単一の送信形式だけではなく、複数の送信形式で並列に送信することも可能である。
ここでは、AV出力部8の代表的な構成として、画像重畳部81、ビデオ出力フォーマット変換部82、及びオーディオ・ビデオ出力IF部83について説明した。しかし、AV出力部8は、グラフッィクス・エンジン部等を更に備えていてもよい。グラフィックス・エンジン部は、信号処理部7によって復号されたデータに対して、フィルタ処理、画面合成、曲線描画、3D表示等のグラフィックス処理を行う。
以上が、実施形態4による再生装置の構成についての説明である。尚、集積回路3には、前述の機能ブロックの全てが内蔵されていなくても良い。逆に、メモリ2が集積回路3に内蔵されていてもよい。また、実施形態4においては、主制御部6と信号処理部7とを互いに独立な機能ブロックとして説明した。しかし、主制御部6が信号処理部7の処理の一部を行っても構わない。
集積回路3内の機能ブロック間を接続する制御バス及びデータバスのトポロジーは、各機能ブロックの処理の手順及び内容に合わせて選択されればよい。図119の(a)、(b)は、集積回路3内の制御バス及びデータバスのトポロジーの例を示す模式図である。図119の(a)を参照するに、制御バス21とデータバス22とはいずれも、各機能ブロック5−9を他の全ての機能ブロックに直結させるように配置されている。その他に、図119の(b)に示されているように、データバス23は各機能ブロック5−8をメモリ制御部9にのみ直結させるように配置されてもよい。その場合、各機能ブロック5−8はメモリ制御部9、更にメモリ2を介してデータを他の機能ブロックに転送する。
集積回路3は、単一のチップに実装されたLSIに代えて、マルチチップ・モジュールであってもよい。その場合、集積回路3を構成する複数のチップは一つのパッケージに封止されているので、集積回路3は見かけ上、単一のLSIである。集積回路3はその他に、FPGA(Field Programmable Gate Array)又はリコンフィギュラブル・プロセッサを利用して構成されてもよい。FPGAは、製造後にプログラム可能なLSIである。リコンフィギュラブル・プロセッサは、内部の回路セル間の接続、及び各回路セルの設定を再構成可能なLSIである。
<集積回路3の表示装置への実装>
上記の集積回路3と同様な集積回路を表示装置に実装して、実施形態4による再生装置の行う上記の処理をその表示装置に行わせても構わない。図120は、その表示装置に実装された集積回路とその周辺部との構成を示す機能ブロック図である。図120を参照するに、集積回路3は媒体IF部1とメモリ2とを利用して、媒体IF部1が受信したデータに対して、上記の信号処理と同様な処理を行う。集積回路3によって処理された映像系データは表示駆動部10へ送られる。表示駆動部10はその映像系データに従って表示パネル11を制御する。その結果、その映像系データは表示パネル11の画面上に映像として出力される。一方、集積回路3によって処理された音声系データはスピーカ12を通して、音声として出力される。
図121は、図120に示されているAV出力部8の詳細な機能ブロック図である。AV出力部8は、図118に示されているものとは異なり、ビデオ出力IF部84とオーディオ出力IF部85とを備えている。ビデオ出力IF部84とオーディオ出力IF部85とは、集積回路3の内部と外部とのいずれに設置されていてもよい。ビデオ出力IF部84は、ビデオ出力フォーマット変換部82から表示駆動部10へ映像系データを転送する。オーディオ出力IF部85は、信号処理部7からスピーカ12へ音声系データを転送する。尚、ビデオ出力IF部84とオーディオ出力IF部85とはそれぞれ、複数備えられていてもよい。また、ビデオ出力IF部84とオーディオ出力IF部85とは一体化されていてもよい。
<集積回路3を利用した再生装置による再生処理>
図122は、集積回路3を利用した再生装置による再生処理のフローチャートである。その再生処理は、光ディスクがディスクドライブに挿入される等、媒体IF部1が媒体にデータ受信可能に接続されたときに開始される。その再生処理では、再生装置は媒体からデータを受信して復号する。その後、再生装置は復号後のデータを映像信号及び音声信号として出力する。
ステップS1では、媒体IF部1が媒体からデータを受信し、又は読み出してストリーム処理部5へ転送する。その後、処理はステップS2へ進む。
ステップS2では、ストリーム処理部5は、ステップS1において受信され、又は読み出されたデータから映像系データと音声系データとを分離する。その後、処理はステップS3へ進む。
ステップS3では、信号処理部7は、ステップS2において分離された各データを、その符号化方式に適した方法で復号する。信号処理部7は更に、その復号処理と並行して、右目用データの中からメタデータを抽出して、AV出力部8へ通知する。ここで、信号処理部7は、右目用データに含まれるTSパケットのTS優先度フラグを監視して、メタデータを含むTSパケットを選別してもよい。それとは別に、信号処理部7は、同じデコーダが、TSパケットから非圧縮のピクチャ・データを復号する処理と、メタデータを抽出する処理との両方を行ってもよい。その後、処理はステップS4へ進む。
ステップS4では、AV出力部8は、ステップS3において復号された映像系データに対して重畳処理を行う。そのとき、AV出力部8は必要に応じ、ステップS3において抽出されたメタデータからオフセット情報を検索して利用する。その後、処理はステップS5へ進む。
ステップS5では、AV出力部8は、ステップS2−4において処理された映像系データ及び音声系データを出力する。その後、処理はステップS6へ進む。
ステップS6では、主制御部6が再生処理を続行すべきか否かを判断する。媒体IF部1によって媒体から新たに受信されるべき、又は読み出されるべきデータが残されている等の場合、ステップS1から処理が繰り返される。一方、光ディスクがディスクドライブから取り出され、又はユーザから再生停止が指示された等によって、媒体IF部1が媒体からのデータ受信、又は読み出しを終了させた場合、処理は終了する。
図123は、図122に示されている各ステップS1−6の詳細を示すフローチャートである。図122に示されている各ステップS101−110は、主制御部6の制御の下で行われる。ステップS101−103は主にステップS1の詳細に相当し、ステップS104は主にステップS2の詳細に相当し、ステップS105は主にステップS3の詳細に相当し、ステップS106−108は主にステップS4の詳細に相当し、ステップS109、S110は主にステップS5の詳細に相当する。
ステップS101では、デバイス・ストリームIF部51は媒体IF部1を通して媒体から、再生対象のデータよりも先に、そのデータの再生に必要なデータ、例えばプレイリスト・ファイル及びクリップ情報ファイルを受信し、又は読み出す。デバイス・ストリームIF部51は更に、メモリ制御部9を介してそのデータをメモリ2に格納する。その後、処理はステップS102へ進む。
ステップS102では、主制御部6は、クリップ情報ファイルに含まれるストリーム属性情報から、媒体に格納されている映像データと音声データとのそれぞれの符号化方式を識別する。主制御部6は更に、識別された符号化方式に対応する復号処理が実行できるように信号処理部7の初期化を行う。その後、処理はステップS103へ進む。
ステップS103では、デバイス・ストリームIF部51は、媒体IF部1を通して媒体から再生対象の映像データと音声データとを受信し、又は読み出す。特に、それらのデータはエクステント単位で受信され、又は読み出される。デバイス・ストリームIF部51は更に、それらのデータを切替部53とメモリ制御部9とを経由してメモリ2に格納する。特に左目用データが受信され、又は読み出されたとき、主制御部6は切替部53を制御して、左目用データの格納先をメモリ2内の第1の領域へ切り換えさせる。一方、右目用データが受信され、又は読み出されたとき、主制御部6は切替部53を制御して、右目用データの格納先をメモリ2内の第2の領域へ切り換えさせる。その後、処理はステップS104へ進む。
ステップS104では、メモリ2に格納されたデータは、ストリーム処理部5内の多重分離部52に転送される。多重分離部52はまず、そのデータを構成する各ソースパケットからPIDを読み取る。多重分離部52は次に、そのPIDに従って、そのソースパケットに含まれるTSパケットが映像系データと音声系データとのいずれであるのかを識別する。多重分離部52は更に、識別結果に従って各TSパケットを信号処理部7内の対応するデコーダへ転送する。ここで、信号処理部7は、右目用データに含まれるTSパケットのTS優先度フラグを監視して、メタデータを含むTSパケットを、主映像デコーダとは別の専用のモジュール、すなわちオフセット・メタデータ処理部へ送ってもよい。その後、処理はステップS105へ進む。
ステップS105では、信号処理部7内では各デコーダが、転送されたTSパケットを適切な方法で復号する。信号処理部7は更に、その復号処理と並行して、右目用データの中からメタデータを抽出して、AV出力部8へ通知する。ここで、その抽出処理は、主映像デコーダとは別のオフセット・メタデータ処理部が行っても、主映像デコーダが復号処理と同時に行ってもよい。その後、処理はステップS106へ進む。
ステップS106では、信号処理部7において復号されたレフトビュー・ビデオ・ストリーム及びライトビュー・ビデオ・ストリームの各ピクチャがビデオ出力フォーマット変換部82に送られる。ビデオ出力フォーマット変換部82はそれらのピクチャを表示装置4の解像度に合わせてリサイズする。その後、処理はステップS107へ進む。
ステップS107では、画像重畳部81は、ステップS106においてリサイズされたピクチャから成るビデオ・プレーン・データをビデオ出力フォーマット変換部82から受信する。一方、画像重畳部81は信号処理部7から復号後のPGプレーン・データとIGプレーン・データとを受信する。画像重畳部81は更に、それらのプレーン・データを互いに重畳する。その後、処理はステップS108へ進む。
ステップS108では、ビデオ出力フォーマット変換部82は、ステップS107において重畳されたプレーン・データを画像重畳部81から受信する。ビデオ出力フォーマット変換部82は更に、そのプレーン・データに対してIP変換を行う。その後、処理はステップS109へ進む。
ステップS109では、オーディオ・ビデオ出力IF部83は、ビデオ出力フォーマット変換部82からは、ステップS108においてIP変換を受けた映像系データを受信し、信号処理部7からは復号後の音声系データを受ける。オーディオ・ビデオ出力IF部83は更に、それらのデータに対して、表示装置・スピーカ4によるデータ出力方式、又はそれぞれへのデータ送信方式に従って符号化処理及びD/A変換等を行う。それにより、映像系データと音声系データとはそれぞれ、アナログ出力形式又はデジタル出力形式に変換される。例えばアナログ出力形式の映像系データには、コンポジット映像信号、S映像信号、及びコンポーネント映像信号等が含まれる。また、デジタル出力形式としては、HDMI等がサポートされている。その後、処理はステップS110へ進む。
ステップS110では、オーディオ・ビデオ出力IF部83は、ステップS109において処理された映像系データ及び音声系データを表示装置・スピーカ4へ送信する。その後、処理はステップS6へ進む。尚、ステップS6については上記の説明を援用する。
上記の各ステップでは、データが処理される度に、その結果がメモリ2に一時的に格納されてもよい。また、ステップS106及びS108でのビデオ出力フォーマット変換部82によるリサイズ処理及びIP変換処理は、必要に応じて省略されてもよい。更に、それらの処理に加え、又はそれらの処理に代えて、ノイズ・リダクション処理及びフレームレート変換処理等、他の処理が行われてもよい。更に、可能なものについては処理手順が変更されてもよい。
図120に示されている表示装置で再生処理を行う場合でも、その再生処理のフローチャートは基本的には、図122、123に示されているものと同様である。図120、121に示されている各機能ブロックは、図110、113に示されている各機能ブロックと同様に動作する。
《補足》
<3D映像の再生方法の原理>
3D映像の再生方法は、ホログラフィ技術を用いる方法と、視差映像を用いる方法との2つに大別される。
ホログラフィ技術を用いる方法の特徴は、現実の立体的な物体から人間の視覚に与えられる光学的な情報とほぼ全く同じ情報を視聴者の視覚に与えることにより、その視聴者に映像中の物体を立体的に見せる点にある。しかし、この方法を動画表示に利用する技術は理論上確立されてはいる。しかし、その動画表示に必要とされる、膨大な演算をリアルタイムに処理可能なコンピュータ、及び、1mmあたり数千本という超高解像度の表示装置はいずれも、現在の技術ではまだ、実現が非常に難しい。従って、この方法を商業用として実用化する目途は、現時点ではほとんど立っていない。
「視差映像」とは、一つのシーンを見る視聴者の各目に映る2D映像の対、すなわち、レフトビューとライトビューとの対をいう。視差映像を用いる方法の特徴は、一つのシーンのレフトビューとライトビューとを視聴者の各目だけに見えるように再生することにより、その視聴者にそのシーンを立体的に見せる点にある。
図82の(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。図82の(a)は、視聴者VWRが、顔の正面に置かれた立方体CBCを見ている光景の上面図である。図82の(b)、(c)はそれぞれ、そのときに視聴者VWRの左目LEY、右目REYに見える立方体CBCの外観を2D映像として示す模式図である。図82の(b)、(c)を比較すれば明らかなとおり、各目に見える立方体CBCの外観はわずかに異なる。この外観の差、すなわち両眼視差から、視聴者VWRは立方体CBCを立体的に認識できる。従って、視差映像を用いる方法では、まず、一つのシーン、例えば図82の(a)に示されている立方体CBCに対し、視点が異なる左右の2D映像、例えば図82の(b)に示されている立方体CBCのレフトビュー、及び図82の(c)に示されているそのライトビューを準備する。ここで、各視点の位置は視聴者VWRの両眼視差から決定される。次に、各2D映像を視聴者VWRのそれぞれの目だけに見えるように再生する。それにより、視聴者VWRには、画面に再生されるそのシーン、すなわち立方体CBCの映像が立体的に見える。このように、視差映像を用いる方法は、ホログラフィ技術を用いる方法とは異なり、高々二つの視点から見える2D映像を準備するだけでよい点で有利である。
視差映像を用いる方法については、それを具体化するための方式が多様に提案されている。それらの方式は、左右の2D映像を視聴者のそれぞれの目にいかにして見せるかという観点から、継時分離方式、レンチキュラーレンズを用いる方式、及び二色分離方式等に分けられる。
継時分離方式では、画面に左右の2D映像を一定時間ずつ交互に表示する一方、視聴者にシャッター眼鏡を通して画面を観察させる。ここで、シャッター眼鏡は、各レンズが例えば液晶パネルで形成されている。各レンズは、画面上の2D映像の切り換えに同期して交互に光をその全体で一様に透過させ、又は遮断する。すなわち、各レンズは、視聴者の目を周期的に塞ぐシャッターとして機能する。より詳細に言えば、画面上に左映像が表示される期間では、シャッター眼鏡は左側のレンズには光を透過させ、右側のレンズには光を遮断させる。逆に、画面上に右映像が表示されている期間では、シャッター眼鏡は右側のレンズには光を透過させ、左側のレンズには光を遮断させる。それにより、視聴者の目には、左右の映像の残像が重なって一つの3D映像に見える。
継時分離方式では、上記のとおり、左右の映像を一定周期で交互に表示する。例えば2D映像の再生において1秒当たり24枚の映像フレームが表示されるとき、3D映像の再生では左右の映像を合わせて、1秒当たり48枚の映像フレームが表示される。従って、この方式には、画面の書き換えを速く実行できる表示装置が好適である。
レンチキュラーレンズを用いる方式では、左右の各映像フレームを、縦方向に細長い短冊形の小領域に分割し、一つの画面の中に左右の映像フレームの各小領域を横方向に交互に並べて同時に表示する。ここで、画面の表面はレンチキュラーレンズで覆われている。レンチキュラーレンズは、細長い蒲鉾レンズを複数平行に並べて一枚のシート状にしたものである。各蒲鉾レンズは画面の表面を縦方向に延びている。レンチキュラーレンズを通して上記左右の映像フレームを視聴者に見せるとき、左映像フレームの表示領域からの光は視聴者の左目だけに結像し、右映像フレームの表示領域からの光は右目だけに結像するようにできる。こうして、左右の目に映る映像間での両眼視差により、視聴者には3D映像が見える。尚、この方式では、レンチキュラーレンズに代えて、同様な機能を持つ液晶素子等の他の光学部品が利用されてもよい。その他に、例えば左映像フレームの表示領域には縦偏光のフィルタを設置し、右映像フレームの表示領域には横偏光のフィルタを設置してもよい。そのとき、視聴者には偏光眼鏡を通して画面を見させる。ここで、その偏光眼鏡では、左側のレンズに縦偏光フィルタが設置され、かつ右側のレンズに横偏光フィルタが設置されている。従って、左右の映像が視聴者のそれぞれの目だけに見えるので、視聴者に3D映像を見せることができる。
視差映像を用いる方法では、3D映像コンテンツが、初めから左右の映像の組み合わせで構成されている場合の他に、2D映像とデプスマップとの組み合わせで構成されていてもよい。その2D映像は、再生対象の3D映像から仮想的な2D画面への射影を表し、デプスマップは、その2D画面に対するその3D映像の各部の奥行きを画素別に表す。3D映像コンテンツが2D映像とデプスマップとの組み合わせで構成されているとき、3D再生装置又は表示装置はまず、それらの組み合わせから左右の映像を構成し、次にそれらの映像から上記の方式のいずれかで3D映像を再現する。
図83は、2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。図83を参照するに、2D映像MVWでは、背景BGVの中に円板DSCが表示されている。デプスマップDPHはその2D映像MVW内の各部の奥行きを画素ごとに示す。そのデプスマップDPHによれば、2D映像MVWのうち、円板DSCの表示領域DA1の奥行きが画面よりも手前であり、かつ、背景BGVの表示領域DA2の奥行きが画面よりも奥である。再生装置内では視差映像生成部PDGがまず、デプスマップDPHの示す各部の奥行きから2D映像MVW内の各部の両眼視差を計算する。視差映像生成部PDGは次に、2D映像MVW内の各部の表示位置を、計算された両眼視差に応じて左右に移動させて、レフトビューLVWとライトビューRVWとを構成する。図83に示されている例では、視差映像生成部PDGは、2D映像MVW内の円板DSCの表示位置に対し、レフトビューLVW内の円板DSLの表示位置をその両眼視差の半分S1だけ右に移動させ、ライトビューRVW内の円板DSRの表示位置をその両眼視差の半分S1だけ左に移動させる。それにより、視聴者には円板DSCが画面よりも手前に見える。一方、視差映像生成部PDGは、2D映像MVW内の背景BGVの表示位置に対し、レフトビューLVW内の背景BGLの表示位置をその両眼視差の半分S2だけ左に移動させ、ライトビューRVW内の背景BGRの表示位置をその両眼視差の半分S2だけ右に移動させる。それにより、視聴者には背景BGVが画面よりも奥に見える。
視差映像を用いる方法による3D映像の再生システムは、映画館及び遊園地のアトラクション等で利用されるものについては既に確立され、一般的に使用されている。従って、その方法は、3D映像を再生可能なホームシアター・システムの実用化にも有効である。本発明の実施形態では、視差映像を用いる方法のうち、継時分離方式又は偏光眼鏡を用いた方式を想定する。但し、本発明は、それらの方式とは異なる他の方式に対しても、それらが視差映像を用いている限り、適用可能である。それは、上記の実施形態の説明から当業者には明らかであろう。
<BD−ROMディスク上のファイルシステム>
BD−ROMディスク101のファイルシステムとしてUDFが利用されるとき、図2に示されているボリューム領域202Bは、一般に複数のディレクトリ、ファイルセット記述子、及び終端記述子のそれぞれが記録された領域を含む。「ディレクトリ」は、同じディレクトリを構成するデータ群である。「ファイルセット記述子」は、ルートディレクトリのファイル・エントリが記録されているセクタのLBNを示す。「終端記述子」はファイルセット記述子の記録領域の終端を示す。
各ディレクトリは共通のデータ構造を持つ。各ディレクトリは特に、ファイル・エントリ、ディレクトリ・ファイル、及び下位ファイル群を含む。
「ファイル・エントリ」は、記述子タグ、ICB(Information Control Block)タグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。例えば記述子タグの値が“261”であるとき、そのデータの種類はファイル・エントリである。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、同じディレクトリに属するディレクトリ・ファイルが記録されたセクタのLBNを示す。
「ディレクトリ・ファイル」は、下位ディレクトリのファイル識別記述子と下位ファイルのファイル識別記述子とを一般に複数ずつ含む。「下位ディレクトリのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ディレクトリにアクセスするための情報である。このファイル識別記述子は、その下位ディレクトリの識別情報、ディレクトリ名の長さ、ファイル・エントリ・アドレス、及びディレクトリ名そのものを含む。特にファイル・エントリ・アドレスは、その下位ディレクトリのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ファイルにアクセスするための情報である。このファイル識別記述子は、その下位ファイルの識別情報、ファイル名の長さ、ファイル・エントリ・アドレス、及びファイル名そのものを含む。特にファイル・エントリ・アドレスは、その下位ファイルのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル・エントリ」は、後述のとおり、下位ファイルの本体を構成するデータのアドレス情報を含む。
ファイルセット記述子と下位ディレクトリ/ファイルのファイル識別記述子とを順番に辿ってゆけば、ボリューム領域202Bに記録された任意のディレクトリ/ファイルのファイル・エントリにアクセスすることができる。具体的には、まず、ファイルセット記述子からルートディレクトリのファイル・エントリが特定され、そのファイル・エントリ内のアロケーション記述子からルートディレクトリのディレクトリ・ファイルが特定される。次に、そのディレクトリ・ファイルからルートディレクトリ直下のディレクトリのファイル識別記述子が検出され、その中のファイル・エントリ・アドレスからそのディレクトリのファイル・エントリが特定される。更に、そのファイル・エントリ内のアロケーション記述子からそのディレクトリのディレクトリ・ファイルが特定される。続いて、そのディレクトリ・ファイルのうち、下位ディレクトリ又は下位ファイルのファイル識別記述子内のファイル・エントリ・アドレスからその下位ディレクトリ又は下位ファイルのファイル・エントリが特定される。
「下位ファイル」はそれぞれエクステントとファイル・エントリとを含む。「エクステント」は一般に複数であり、それぞれ、ディスク上の論理アドレス、すなわちLBNが連続しているデータ列である。エクステントの全体が下位ファイルの本体を構成する。「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は各エクステントに対して一つずつ設けられ、ボリューム領域202B上での各エクステントの配置、具体的には各エクステントのサイズとその先端のLBNとを示す。従って、各アロケーション記述子を参照することにより、各エクステントにアクセスすることができる。その他に、各アロケーション記述子の上位2ビットは、そのアロケーション記述子の示すLBNのセクタにエクステントが実際に記録されているか否かを示す。すなわち、その上位2ビットが“0”であるとき、そのセクタにはエクステントが割り付け済みであり、かつ記録済みであることを示し、“1”であるとき、そのセクタにエクステントが割り付け済みではあるが未記録であることを示す。
UDFを利用した上記のファイルシステムと同様、ボリューム領域202Bに対するファイルシステムでは一般に、ボリューム領域202Bに記録された各ファイルが複数のエクステントに分割されているとき、上記のアロケーション記述子のように、各エクステントの配置を示す情報がボリューム領域202Bに併せて記録される。その情報を参照することにより、各エクステントの配置、特にその論理アドレスを知ることができる。
<データ・ブロックとエクステント・ブロックとのサイズ>
図19に示されているように、BD−ROMディスク101上の多重化ストリーム・データはディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分割されて配置されている(n=0、1、2、3、…)。それらのデータ・ブロック群D[n]、B[n]は更に、トラックに沿ってインターリーブ配置で連続的に記録されることにより、複数のエクステント・ブロック1901−1903を構成している。これらのエクステント・ブロック1901−1903から2D映像と3D映像とのいずれをもシームレスに再生するには、各データ・ブロックと各エクステント・ブロック1901−1903とのサイズは、再生装置102の性能に基づく以下の条件を満たせばよい。
≪2D再生モードの性能に基づく条件≫
図84は、2D再生モードの再生装置102内の再生処理系統を示すブロック図である。図84を参照するに、その再生処理系統は、図37に示されている、BD−ROMドライブ3701、リード・バッファ3721、及びシステム・ターゲット・デコーダ3725を含む。BD−ROMドライブ3701はBD−ROMディスク101から2Dエクステントを読み出し、読み出し速度RUD54でリード・バッファ3721へ転送する。システム・ターゲット・デコーダ3725は、リード・バッファ3721内に蓄積された各2Dエクステントからソースパケットを平均転送速度REXT2Dで読み出して、映像データVDと音声データADとに復号する。
平均転送速度REXT2Dは、システム・ターゲット・デコーダ3725が各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しく、一般に2Dエクステントごとに異なる。平均転送速度REXT2Dの最高値RMAX2Dは、ファイル2Dに対するシステムレートRTSの192/188倍に等しい。ここで、係数192/188はソースパケットとTSパケットとの間のバイト数の比に等しい。平均転送速度REXT2Dは通常ビット/秒で表され、具体的には、ビット単位で表された2DエクステントのサイズをエクステントATC時間で割ったときの値に等しい。「ビット単位で表されたエクステントのサイズ」は、そのエクステント内のソースパケット数とソースパケット一つ当たりのビット数(=192[バイト]×8[ビット/バイト])との積に等しい。
読み出し速度RUD54は通常ビット/秒で表され、平均転送速度REXT2Dの最高値RMAX2Dよりも高い値、例えば54Mbpsに設定される:RUD54>RMAX2D。それにより、BD−ROMドライブ3701がBD−ROMディスク101から一つの2Dエクステントを読み出している間、システム・ターゲット・デコーダ3725の復号処理に伴うリード・バッファ3721のアンダーフローが防止される。
図85の(a)は、2D再生モードでの動作中、リード・バッファ3721に蓄積されるデータ量DAの変化を示すグラフである。図85の(b)は、再生対象のエクステント・ブロック8510と2D再生モードでの再生経路8520との間の対応関係を示す模式図である。図85の(b)を参照するに、再生経路8520に従い、エクステント・ブロック8510内の各ベースビュー・データ・ブロックB[n](n=0、1、2、…)が一つの2DエクステントEXT2D[n]としてBD−ROMディスク101からリード・バッファ3721へ読み出される。図85の(a)を参照するに、各2DエクステントEXT2D[n]の読み出し期間PR2D[n]では、蓄積データ量DAは、読み出し速度RUD54と平均転送速度REXT2D[n]との間の差RUD54−REXT2D[n]に等しい速度で増加する。一方、二つの連続する2DエクステントEXT2D[n−1]、EXT2D[n]の間ではジャンプJ2D[n]が生じる。そのジャンプ期間PJ2D[n]では、ディペンデントビュー・データ・ブロックD[n]の読み出しがスキップされるので、BD−ROMディスク101からのデータの読み出しが停止する。従って、ジャンプ期間PJ2D[n]では蓄積データ量DAは平均転送速度REXT2D[n]で減少する。
BD−ROMドライブ3701による読み出し/転送動作は実際には、図85の(a)のグラフから示唆される連続的なものではなく、断続的なものである。それにより、各2Dエクステントの読み出し期間PR2D[n]に蓄積データ量DAがリード・バッファ3721の容量を超えること、すなわちリード・バッファ3721のオーバーフローが防止される。すなわち、図85の(a)のグラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図85の(b)に示されているエクステント・ブロック8510から2D映像をシームレスに再生するには、以下の条件[1]、[2]が満たされればよい。
[1]各ジャンプ期間PJ2D[n]ではリード・バッファ3721からシステム・ターゲット・デコーダ3725へのデータ供給を持続させて、そのデコーダ3725に連続的な出力を確保させなければならない。それには次の条件が満たされればよい:各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、その読み出し期間PR2D[n]から次のジャンプ期間PJ2D[n+1]にわたって、リード・バッファ3721からシステム・ターゲット・デコーダ3725へ転送されるデータ量に等しい。その場合、図85の(a)に示されているように、蓄積データ量DAはそのジャンプ期間PJ2D[n+1]の終了時、その読み出し期間PR2D[n]の開始時での量を下回らない。すなわち、各ジャンプ期間PJ2D[n]ではリード・バッファ3721からシステム・ターゲット・デコーダ3725へのデータ供給が持続し、特にリード・バッファ3721はアンダーフローを生じない。ここで、読み出し期間PR2D[n]の長さは2DエクステントEXT2D[n]のサイズSEXT2D[n]を読み出し速度RUD54で割った値SEXT2D[n]/RUD54に等しい。従って、各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、次式(1)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
式(1)では、ジャンプ時間TJUMP−2D[n]はジャンプ期間PJ2D[n]の長さであり、秒単位で表される。一方、読み出し速度RUD54と平均転送速度REXT2Dとはいずれもビット/秒で表される。従って、式(1)では平均転送速度REXT2Dを数「8」で割り、2DエクステントのサイズSEXT2D[n]の単位をビットからバイトへ変換している。すなわち、2DエクステントのサイズSEXT2D[n]はバイト単位で表される。関数CEIL()は、括弧内の数値の小数点以下の端数を切り上げる操作を意味する。
[2]リード・バッファ3721の容量は有限であることから、ジャンプ時間TJUMP−2D[n]の最大値は制限される。すなわち、ジャンプ期間PJ2D[n]の直前に蓄積データ量DAがリード・バッファ3721の容量一杯であっても、ジャンプ時間TJUMP−2D[n]が長すぎれば、ジャンプ期間PJ2D[n]中に蓄積データ量DAが0に達し、リード・バッファ3721のアンダーフローが生じる危険性がある。以下、BD−ROMディスク101からリード・バッファ3721へのデータ供給が途絶えている状態で蓄積データ量DAがリード・バッファ3721の容量から0に到達するまでの時間、すなわち、シームレス再生を保証できるジャンプ時間TJUMP−2Dの最大値を「最大ジャンプ時間TJUMP_MAX」という。
光ディスクの規格では通常、ジャンプ距離と最大ジャンプ時間との間の関係が光ディスクドライブのアクセス・スピード等から決められている。図86は、BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。図86を参照するに、ジャンプ距離SJUMPはセクタ単位で表され、最大ジャンプ時間TJUMP_MAXはm秒単位で表されている。1セクタは2048バイトに等しい。ジャンプ距離SJUMPが、0セクタ、1−10000セクタ、10001−20000セクタ、20001−40000セクタ、40001セクタ−1/10ストローク、及び1/10ストローク以上の各範囲に属するとき、最大ジャンプ時間TJUMP_MAXはそれぞれ、0m秒、250m秒、300m秒、350m秒、700m秒、及び1400m秒である。ジャンプ距離SJUMPが0セクタに等しいときの最大ジャンプ時間TJUMP_MAXはゼロ・セクタ遷移時間TJUMP0に等しい。但し、図86の例ではゼロ・セクタ遷移時間TJUMP0は0m秒と見なされている。
以上のことから、式(1)に代入されるべきジャンプ時間TJUMP−2D[n]は、BD−ROMディスクの規格によってジャンプ距離別に規定された最大ジャンプ時間TJUMP_MAXである。具体的には、図86の表において、2DエクステントEXT2D[n−1]、EXT2D[n]間でのジャンプ距離SJUMP、すなわち、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応する最大ジャンプ時間TJUMP_MAXが、ジャンプ時間TJUMP−2D[n]として式(1)に代入される。
二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプJ2D[n]では、そのジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAXに制限されることから、そのジャンプ距離SJUMP、すなわち二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔も制限される。このジャンプ距離SJUMPの最大値のように、ジャンプ時間TJUMPが最大ジャンプ時間TJUMP_MAXに等しいときでのジャンプ距離SJUMPを「最大ジャンプ距離SJUMP_MAX」という。2D映像のシームレス再生には、2Dエクステントのサイズが式(1)を満たすことに加えて、2Dエクステントの間隔が最大ジャンプ距離SJUMP_MAX以下であることが必要である。
各エクステント・ブロック内では、2Dエクステントの間隔はディペンデントビュー・データ・ブロックのサイズに等しい。従って、そのサイズが最大ジャンプ距離SJUMP_MAX以下に制限される。具体的には、2Dエクステント間の最大ジャンプ時間TJUMP_MAXが、図86に規定された最小値250秒に制限されるとき、その2Dエクステントの間隔、すなわちディペンデントビュー・データ・ブロックのサイズは、対応する最大ジャンプ距離SJUMP_MAX=10000セクタ以下に制限される。
異なる記録層に配置された二つのエクステント・ブロック間をシームレスに接続するとき、前のエクステント・ブロックの後端に位置する(n+1)番目の2DエクステントEXT2D[n]から、後のエクステント・ブロックの先端に位置する(n+2)番目の2DエクステントEXT2D[n+1]までロングジャンプが生じる。そのロングジャンプは、フォーカス・ジャンプ等、記録層の切り換え操作を伴う。従って、そのロングジャンプに必要な時間は、図86の表に規定された最大ジャンプ時間TJUMP_MAXに加えて、記録層の切り換え操作に要する時間、すなわち「層切換時間」を更に含む。「層切換時間」は例えば350m秒である。その結果、(n+1)番目の2DエクステントEXT2D[n]のサイズが満たすべき式(1)では、ジャンプ時間TJUMP−2D[n]は二つのパラメータTJ[n]、TL[n]の和で決まる:TJUMP−2D[n]=TJ[n]+TL[n]。第1パラメータTJ[n]は、BD−ROMディスクの規格によって、ロングジャンプのジャンプ距離SJUMPに対して規定された最大ジャンプ時間TJUMP_MAXを表す。その最大ジャンプ時間TJUMP_MAXは、図86の表において、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応付けられた値に等しい。第2パラメータTL[n]は層切換時間、例えば350m秒を表す。従って、二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔は、図86の表において、ロングジャンプの最大ジャンプ時間TJUMP_MAXから層切換時間を除いた値に対応する最大ジャンプ距離SJUMP_MAX以下に制限される。
≪3D再生モードの性能に基づく条件≫
図87は、3D再生モードの再生装置102内の再生処理系統を示すブロック図である。図87を参照するに、その再生処理系統は、図42に示されている、BD−ROMドライブ4201、スイッチ4220、RB14221、RB24222、及びシステム・ターゲット・デコーダ4225を含む。BD−ROMドライブ4201はBD−ROMディスク101からエクステントSSを読み出し、読み出し速度RUD72でスイッチ4220へ転送する。スイッチ4220は各エクステントSSをベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとに分離する。ベースビュー・データ・ブロックはRB14221へ格納され、ディペンデントビュー・データ・ブロックはRB24222へ格納される。システム・ターゲット・デコーダ4225は、RB14221内の各ベースビュー・データ・ブロックからはソースパケットをベースビュー転送速度REXT1で読み出し、RB24222内の各ディペンデントビュー・データ・ブロックからはソースパケットをディペンデントビュー転送速度REXT2で読み出す。システム・ターゲット・デコーダ4225は更に、読み出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの対を映像データVDと音声データADとに復号する。
ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とはそれぞれ、システム・ターゲット・デコーダ4225がベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ベースビュー転送速度REXT1の最高値RMAX1は、ファイル2Dに対するシステムレートRTS1の192/188倍に等しい。ディペンデントビュー転送速度REXT2の最高値RMAX2は、ファイルDEPに対するシステムレートRTS2の192/188倍と等しい。各転送速度REXT1、REXT2は通常ビット/秒で表され、具体的には、ビット単位で表された各データ・ブロックのサイズをエクステントATC時間で割ったときの値に等しい。エクステントATC時間は、そのデータ・ブロック内のソースパケットを全て、RB14221又はRB24222からシステム・ターゲット・デコーダ4225へ転送するのに要する時間に等しい。
読み出し速度RUD72は通常ビット/秒で表され、転送速度REXT1、REXT2のいずれの最高値RMAX1、RMAX2よりも高い値、例えば72Mbpsに設定される:RUD72>RMAX1、RUD72>RMAX2。それにより、BD−ROMドライブ4201によってBD−ROMディスク101から一つのエクステントSSを読み出している間、システム・ターゲット・デコーダ4225の復号処理に伴うRB14221とRB24222とのアンダーフローが防止される。
[エクステント・ブロック内でのシームレス接続]
図88の(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図88の(c)は、そのエクステント・ブロック8810と3D再生モードでの再生経路8820との間の対応関係を示す模式図である。図88の(c)を参照するに、再生経路8820に従い、エクステント・ブロック8810の全体が一つのエクステントSSとして一括して読み出される。その後、スイッチ4220によってそのエクステントSSからディペンデントビュー・データ・ブロックD[k]とベースビュー・データ・ブロックB[k]とが分離される(k=…、n、n+1、n+2、…)。
BD−ROMドライブ4101による読み出し/転送動作は実際には、図88の(a)、(b)の各グラフから示唆される連続的なものではなく、断続的なものである。それにより、各データ・ブロックD[k]、B[k]の読み出し期間PRD[k]、PRB[k]では、RB14221、RB24222のオーバーフローが防止される。すなわち、図88の(a)、(b)の各グラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図88の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。図88の(c)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]から(n+1)番目のベースビュー・データ・ブロックB[n]まではゼロ・セクタ遷移J0[2n]が生じる。図88の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[n]では、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少し続け、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。
図88の(a)、(b)を更に参照するに、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB24222の蓄積データ量DA2は、ディペンデントビュー転送速度REXT2[n]で減少し続ける。図88の(c)を更に参照するに、そのベースビュー・データ・ブロックB[n]から次のディペンデントビュー・データ・ブロックD[n+1]まではゼロ・セクタ遷移J0[2n+1]が生じる。図88の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[2n+1]では、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少し、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少し続ける。
一つのエクステント・ブロック8810から3D映像をシームレスに再生するには、以下の条件[3]、[4]が満たされればよい。
[3](n+1)番目のベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は少なくとも、その読み出し期間PRB[n]から次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前までに、RB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量に等しい。その場合、図88の(a)に示されているように、次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前では、RB14221の蓄積データ量DA1が、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]の直前での量を下回らない。ここで、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]の長さは、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]を読み出し速度RUD72で割った値SEXT1[n]/RUD72に等しい。一方、(n+2)番目のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の長さは、そのディペンデントビュー・データ・ブロックD[n+1]のサイズSEXT2[n+1]を読み出し速度RUD72で割った値SEXT2[n+1]/RUD72に等しい。従って、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は、次式(2)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
[4](n+1)番目のディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は少なくとも、その読み出し期間PRD[n]から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前までに、RB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量に等しい。その場合、図88の(b)に示されているように、次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前では、RB24222の蓄積データ量DA2が(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の直前での量を下回らない。ここで、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の長さは、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]を読み出し速度RUD72で割った値SEXT2[n]/RUD72に等しい。従って、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は、次式(3)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
[エクステント・ブロック間のシームレス接続]
図89の(b)は、(M+1)番目(整数Mは1以上である。)のエクステント・ブロック8901と(M+2)番目のエクステント・ブロック8902、及び、それらのエクステント・ブロック8901、8902と3D再生モードでの再生経路8920との間の対応関係を示す模式図である。図89の(b)を参照するに、二つのエクステント・ブロック8901、8902の間は層境界LB又は他のデータの記録領域によって分離されている。再生経路8920に従って、先に(M+1)番目のエクステント・ブロック8901の全体が(M+1)番目のエクステントSSEXTSS[M]として一括して読み出される。その直後にジャンプJ[M]が生じる。続いて、(M+2)番目のエクステント・ブロック8902が(M+2)番目のエクステントSSEXTSS[M+1]として一括して読み出される。
図89の(a)は、二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化、及びそれらの和DA1+DA2の変化を示すグラフ群である。図89の(a)では、一点鎖線のグラフは、RB14221に蓄積されるデータ量DA1の変化を示し、破線のグラフは、RB24222に蓄積されるデータ量DA2の変化を示し、実線のグラフは、両データ量の和DA1+DA2の変化を示す。ここで、実線のグラフは、データ・ブロックが一つ読み出されるごとに生じる細かい変化を均して直線的に近似したものである。更に、ゼロ・セクタ遷移時間TJUMP0は“0秒”とみなされている。
図89の(a)を参照するに、(M+1)番目のエクステント・ブロック8901の全体がBD−ROMディスク101からRB14221、RB24222へ読み出される期間PRBLK[M]では、それらに蓄積されるデータ量DA1、DA2も増大する。具体的には、(M+1)番目のエクステント・ブロック8901全体の読み出し期間PRBLK[M]中、蓄積データ量の和DA1+DA2は、読み出し速度RUD72と平均転送速度REXTSS[M]との間の差RUD72−REXTSS[M]に等しい速度で増加する。その平均転送速度REXTSS[M]は、(M+1)番目のエクステント・ブロック8901全体のサイズ、すなわち(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]をそのエクステントATC時間TEXTSSで割った値として評価される。
(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックがRB14221に読み込まれた時点で、蓄積データ量の和DA1+DA2は最大値に達する。その直後のジャンプJ[M]の期間PJ[M]では、蓄積データ量の和DA1+DA2は平均転送速度REXTSS[M]で減少する。従って、蓄積データ量の和DA1+DA2の最大値を十分に大きく調節することにより、ジャンプJ[M]中でのRB14221、RB24222のいずれのアンダーフローも防止することができる。その結果、二つのエクステント・ブロック8901、8902をシームレスに接続することができる。
蓄積データ量の和DA1+DA2の最大値は(M+1)番目のエクステント・ブロック8901のサイズで決まる。従って、(M+1)番目のエクステント・ブロック8901を(M+2)番目のエクステント・ブロック8902にシームレスに接続するには、(M+1)番目のエクステント・ブロック8901のサイズ、すなわち(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]が次の条件[5]を満たせばよい。
[5](M+1)番目のエクステント・ブロック8901の先端に位置するディペンデントビュー・データ・ブロックDの読み出し期間PRD[m]ではプリロードが行われる(整数mは1以上である)。そのプリロード期間PRD[m]ではまだ、そのディペンデントビュー・データ・ブロックDに対応するベースビュー・データ・ブロックBがRB14221には格納されていないので、ディペンデントビュー・データ・ブロックDをRB24222からシステム・ターゲット・デコーダ4225へ転送することができない。従って、そのプリロード期間PRD[m]では、その直前のジャンプJ[M−1]の期間に引き続き、M番目のエクステント・ブロックのデータがRB24222からシステム・ターゲット・デコーダ4225へ転送される。それにより、システム・ターゲット・デコーダ4225へのデータ供給が維持される。同様に、(M+2)番目のエクステント・ブロック8902の先端に位置するディペンデントビュー・データ・ブロックDの読み出し期間PRD[n]でもプリロードが行われる(整数nはm+1以上である)。従って、そのプリロード期間PRD[n]では、その直前のジャンプJ[M]の期間に引き続き、(M+1)番目のエクステント・ブロック8901のデータがRB24222からシステム・ターゲット・デコーダ4225へ転送される。それにより、システム・ターゲット・デコーダ4225へのデータ供給が維持される。それ故、ジャンプJ[M]中でのRB14221、RB24222のアンダーフローを防止するには、(M+1)番目のエクステントSSEXTSS[M]のエクステントATC時間TEXTSSが少なくとも、(M+1)番目のエクステント・ブロック8901でのプリロード期間PRD[m]の終了時点T0から(M+2)番目のエクステント・ブロック8902でのプリロード期間PRD[n]の終了時点T1までの期間の長さに等しければよい。すなわち、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]は少なくとも、その期間T0−T1にRB14221とRB24222とからシステム・ターゲット・デコーダ4225へ転送されるデータ量の和に等しければよい。
図89の(a)から明らかなとおり、期間T0−T1の長さは、(M+1)番目のエクステント・ブロック8901の読み出し期間PRBLK[M]の長さ、ジャンプJ[M]のジャンプ時間TJUMP[M]、及びエクステント・ブロック8901、8902間でのプリロード期間PRD[n]、PRD[m]の長さの差TDIFF[M]を足し合わせた値に等しい。更に、(M+1)番目のエクステント・ブロック8901の読み出し期間PRBLK[M]の長さは、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]を読み出し速度RUD72で割った値SEXTSS[M]/RUD72に等しい。従って、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]は、次式(4)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
ここで、各プリロード期間PRD[m]、PRD[n]の長さは、各エクステント・ブロック8901、8902の先端に位置するディペンデントビュー・データ・ブロックDのサイズSEXT2[m]、SEXT2[n]を読み出し速度RUD72で割った値SEXT2[m]/RUD72、SEXT2[n]/RUD72に等しい。従って、プリロード期間PRD[m]、PRD[n]の長さの差TDIFFはそれらの値の差に等しい:TDIFF=SEXT2[n]/RUD72−SEXT2[m]/RUD72。尚、式(4)の右辺は、式(1)−(3)の右辺と同様に、バイト単位の整数値で表されてもよい。
また、多重化ストリーム・データの復号処理を次のように工夫する場合には、式(4)の右辺で差TDIFFを0とみなしてもよい。まず、多重化ストリーム・データの全体での差TDIFFの最大値、すなわち差TDIFFのワースト値を予め求めておく。次に、その多重化ストリーム・データを再生する際、その復号処理の開始時点をその読み出しの開始時点よりも、差TDIFFのワースト値に等しい時間だけ遅らせる。
≪リード・バッファの容量を削減するための条件≫
図90の(a)、(b)は、図89の(b)に示されている二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図90の(a)を参照するに、(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックB[n−1]がRB14221に読み込まれた時点で、RB14221の蓄積データ量DA1は極大値DM1に達する。更に、その直後のジャンプJ[M]の期間PJ[M]から(M+2)番目のエクステント・ブロック8902のプリロード期間PRD[n]にわたり、蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。従って、そのプリロード期間PRD[n]の終了まで蓄積データ量DA1が0に達するのを防ぐには、蓄積データ量DA1の極大値DM1が、ジャンプ期間PJ[M]とプリロード期間PRD[n]とでRB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量以上であればよい。すなわち、蓄積データ量DA1の極大値DM1は、ジャンプ期間PJ[M]の長さTJUMP[M]とプリロード期間PRD[n]の長さSEXT2[n]/RUD72との和にベースビュー転送速度REXT1[n−1]を乗じた値以上であればよい:DM1≧(TJUMP[M]+SEXT2[n]/RUD72)×REXT1[n−1]。ここで、ジャンプ期間PJ[M]の長さTJUMP[M]がジャンプJ[M]の最大ジャンプ時間TJUMP_MAXに等しく、かつベースビュー転送速度REXT1[n−1]が最高値RMAX1に等しいとき、蓄積データ量DA1の極大値DM1は最も大きい。従って、RB14221には、そのときの極大値DM1以上の容量RB1が求められる:RB1≧(TJUMP_MAX+SEXT2[n]/RUD72)×RMAX1
一方、図90の(b)を参照するに、(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックB[n−1]の読み込みが開始された時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。更に、そのベースビュー・データ・ブロックB[n−1]の読み出し期間から(M+2)番目のエクステント・ブロック8902のプリロード期間PRD[n]にわたり、蓄積データ量DA2はディペンデントビュー転送速度REXT2[n−1]で減少する。従って、そのプリロード期間PRD[n]の終了までシステム・ターゲット・デコーダ4225へのデータ供給を維持するには、蓄積データ量DA2の極大値DM2が、ベースビュー・データ・ブロックB[n−1]の読み出し期間、ジャンプ期間PJ[M]、及びプリロード期間PRD[n]でRB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量以上であればよい。すなわち、蓄積データ量DA2の極大値DM2は、ベースビュー・データ・ブロックB[n−1]の読み出し期間の長さSEXT1[n−1]/RUD72、ジャンプ期間PJ[M]の長さTJUMP[M]、及びプリロード期間PRD[n]の長さSEXT2[n]/RUD72の和にディペンデントビュー転送速度REXT2[n−1]を乗じた値以上であればよい:DM2≧(SEXT1[n−1]/RUD72+TJUMP[M]+SEXT2[n]/RUD72)×REXT2[n−1]。ここで、ジャンプ期間PJ[M]の長さTJUMP[M]がジャンプJ[M]の最大ジャンプ時間TJUMP_MAXに等しく、かつディペンデントビュー転送速度REXT2[n−1]が最高値RMAX2に等しいとき、蓄積データ量DA2の極大値DM2は最も大きい。従って、RB24222には、そのときの極大値DM2以上の容量RB2が求められる:RB2≧(SEXT1[n−1]/RUD72+TJUMP_MAX+SEXT2[n]/RUD72)×RMAX2。その上、いずれのディペンデントビュー・データ・ブロックも、飛び込み再生によって最初に読み込まれるデータ・ブロックとなり得るので、RB24222の容量RB2はいずれのディペンデントビュー・データ・ブロックのサイズも下回ってはならない:RB2≧SEXT2[k](整数kは任意)。
上記のとおり、各リード・バッファ4121、4122の容量RB1、RB2の下限値はデータ・ブロックのサイズSEXT1[k]、SEXT2[k]で決まる。従って、各容量RB1、RB2の節約を目的として、各データ・ブロックのサイズSEXT1[k]、SEXT2[k]の上限値、すなわち最大エクステント・サイズを以下の条件[6]で制限する。
[6]図19に示されているように、各エクステント・ブロック1901−1903内のベースビュー・データ・ブロックB[k]はファイル2DとファイルSSとに共有されている。従って、ベースビュー・データ・ブロックB[k]のサイズSEXT1[k]は式(1)を満たすべきである。一方、RB14221の容量RB1を可能な限り縮小するには、ベースビュー・データ・ブロックB[k]のサイズSEXT1[k]は2Dエクステントの最小エクステント・サイズの下限値以下であればよい。すなわち、そのサイズSEXT1[k]は、次式(5)の右辺で表される最大エクステント・サイズ以下であればよい:
Figure 2011004600
ここで、2Dエクステントの最小エクステント・サイズの下限値は、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えた形で評価されている。ジャンプ時間TJUMP−2D_MINは、各エクステント・ブロック1901−1903内で必要なジャンプ時間の最小値、すなわち2Dエクステント間の最大ジャンプ時間TJUMP_MAXの最小値である。具体的には、ジャンプ時間TJUMP−2D_MINは、図86の表で規定された最小値250秒に設定される。一方、2Dエクステントの間隔はディペンデントビュー・データ・ブロックD[k]のサイズSEXT2[k]に等しい。従って、ジャンプ時間TJUMP−2D_MINが250秒に設定されるとき、ディペンデントビュー・データ・ブロックD[k]のサイズSEXT2[k]は、図86の表で最大ジャンプ時間TJUMP_MAX=250秒に対応付けられた最大ジャンプ距離SJUMP_MAX=10000セクタ以下に制限される。すなわち、ディペンデントビュー・データ・ブロックの最大エクステント・サイズは10000セクタである。
≪まとめ≫
複数のエクステント・ブロックから2D映像と3D映像とのいずれをもシームレスに再生するには、上記の条件[1]−[6]が全て満たされればよい。特に、各データ・ブロックと各エクステント・ブロックとのサイズは次の条件1−5を満たせばよい。
条件1:2DエクステントのサイズSEXT2Dは式(1)を満たす。
条件2:ベースビュー・データ・ブロックのサイズSEXT1は式(2)を満たす。
条件3:ディペンデントビュー・データ・ブロックのサイズSEXT2は式(3)を満たす。
条件4:エクステント・ブロックのサイズSEXTSSは式(4)を満たす。
条件5:ベースビュー・データ・ブロックのサイズSEXT1は式(5)を満たす。
≪条件1の変形例≫
図21に示されている2D再生モードの再生経路2101から明らかなとおり、2D再生モードではジャンプが頻繁に生じる。従って、シームレス再生を更に確実に行うには、式(1)の右辺で表される2Dエクステントの最小エクステント・サイズに、マージン(余裕量)を更に追加するのが好ましい。しかし、そのマージンの追加によって条件5、すなわち式(5)が変更されることは、リード・バッファの容量の増大を招きかねないので、回避されるべきである。式(5)を変更しないようにマージンを追加する方法には、以下の三種類がある。
第1の方法は、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えることによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(6)を満たすことに変更される:
Figure 2011004600
ここで、式(5)には、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えた表式が利用されている。従って、式(1)が式(6)に変更されても、式(5)は変更されない。
第2の方法は、2DエクステントのエクステントATC時間をΔT秒延長することによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(7A)又は(7B)を満たすことに変更される:
Figure 2011004600
延長時間ΔTは、GOPの長さ、又は、所定時間当たりに再生可能なエクステント数の上限から決定されてもよい。例えば、GOPの長さが最大1秒であれば、ΔT=1.0秒に設定される。一方、所定時間[秒]当たりに再生可能なエクステント数の上限がn個であれば、ΔT=所定時間/n[秒]に設定される。
第3の方法は、式(1)の右辺に含まれる平均転送速度REXT2Dを全て、その最高値RMAX2Dに置き換えることによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(8)を満たすことに変更される:
Figure 2011004600
この方法では、最小エクステント・サイズに更に大きいマージンを追加することはできる。しかし、その反面、2Dエクステントのビットレートが低い場合でも、そのサイズを十分に大きく確保しなければならない。従って、マージンの大きさとBD−ROMディスクへのデータの記録効率との比較衡量が必要である。
尚、第2の方法を採用する場合、2D映像のシームレス再生の更なる確実性をリード・バッファの容量の削減よりも優先させてもよいのであれば、式(5)を次式(9)に変更してもよい:
Figure 2011004600
<ストリーム・データの転送速度>
図91は、3D再生モードのシステム・ターゲット・デコーダ4225内に備えられたビデオ・ストリームの処理系統を示すブロック図である。図91を参照するに、その処理系統は、図45に示されている一対のソース・デパケタイザ4511、4512、一対のPIDフィルタ4513、4514、及び主映像デコーダ4515を含む。
第1ソース・デパケタイザ4511は、RB14221内の各ベースビュー・データ・ブロックからソースパケットをベースビュー転送速度REXT1で読み出す。第1ソース・デパケタイザ4511は更に、そのソースパケットの中からTSパケットを抽出して第1PIDフィルタ4513へ転送する。その転送の平均速度は最高で、ファイル2Dに対するシステムレートRTS1まで達する。従って、ベースビュー転送速度REXT1の最高値RMAX1はそのシステムレートRTS1の192/188倍に等しい。第1PIDフィルタ4513は、ベースビュー・ビデオ・ストリームを含むTSパケットを、主映像デコーダ4515内のTB14501へ送る。TB14501は、そのTSパケットからPESパケットを復元して、平均速度Rx1でMB14502へ転送する。MB14502は、そのPESパケットからベースビュー・ビデオ・ストリームのVAUを抽出し、平均速度Rbx1でEB14503へ転送する。
第2ソース・デパケタイザ4512は、RB24222内の各ディペンデントビュー・データ・ブロックからソースパケットをディペンデントビュー転送速度REXT2で読み出す。第2ソース・デパケタイザ4512は更に、そのソースパケットの中からTSパケットを抽出して第2PIDフィルタ4514へ転送する。その転送の平均速度は最高で、ファイルDEPに対するシステムレートRTS2まで達する。従って、ディペンデントビュー転送速度REXT2の最高値RMAX2はそのシステムレートRTS2の192/188倍に等しい。第2PIDフィルタ4514は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットを、主映像デコーダ4515内のTB24508へ送る。TB24508は、そのTSパケットからPESパケットを復元して、平均速度Rx2でMB24509へ転送する。MB24509は、そのPESパケットからディペンデントビュー・ビデオ・ストリームのVAUを抽出し、平均速度Rbx2でEB24510へ転送する。
EB14503とEB24510とのそれぞれに蓄積されたVAUは、バッファ・スイッチ4506によって交互にDEC4504へ転送され、DEC4504によって非圧縮のピクチャ・データに復号される。ここで、図7に示されているように、ディペンデントビュー・ピクチャはベースビュー・ピクチャを参照して圧縮されている。従って、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームよりも、平均的なビットレートが低い。それ故、ファイルDEPに対するシステムレートRTS2は、ファイル2Dに対するシステムレートRTS1よりも低く設定されれば十分である。例えば、ファイル2Dに対するシステムレートRTS1が45Mbps以下に設定されるとき、ファイルDEPに対するシステムレートRTS2は30Mbps以下に設定されれば十分である:RTS1≦45Mbps、RTS2≦30Mbps。
ここで、システムレートRTS1、RTS2の合計が一定の閾値以下に制限される場合を想定する。その閾値は、システム・ターゲット・デコーダ4225に割り当てられた転送帯域の幅以下に設定され、例えば60Mbpsに等しい:RTS1+RTS2≦60Mbps。その場合、ファイル2Dに対するシステムレートRTS1が45Mbpsに設定されれば、ファイルDEPに対するシステムレートRTS2は15Mbps以下に制限される:RTS1=45Mbps、RTS2≦15Mbps。各ビデオ・ストリームのビットレートが平均的な値に維持されている限り、システムレートRTS1、RTS2の合計に対するそのような制限は、上記の転送帯域を効率良く利用するのに有利である。しかし、実際には、ディペンデントビュー・ビデオ・ストリームのビットレートが一時的にベースビュー・ビデオ・ストリームのビットレートを超える場合はある。例えば自然の風景を表す3D映像において、ベースビュー(例えばレフトビュー)の焦点が突然外れて、ディペンデントビュー(例えばライトビュー)の焦点のみが合っている場合、そのようなビットレートの逆転が生じる。その場合、ベースビュー転送速度REXT1はシステムレートRTS1=45Mbpsよりかなり低いにもかかわらず、ディペンデントビュー転送速度REXT2はシステムレートRTS2≦15Mbps(正確には、その192/188≒1.02倍。以下、特に必要でない限り、その係数は1とみなす。)を超えることができない。このように、システムレートRTS1、RTS2の合計が制限されている場合、ディペンデントビュー転送速度REXT2が、ディペンデントビュー・ビデオ・ストリームのビットレートの一時的な上昇には対応できない。
その対応を可能にするには、システムレートRTS1、RTS2の合計に代えて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とのエクステント単位での合計を制限すればよい:REXT1[n]+REXT2[n]≦60Mbps。そのベースビュー転送速度REXT1[n]は、ファイル・ベース内の(n+1)番目のエクステントEXT1[n]を含むソースパケットを転送する際の平均値であり、そのディペンデントビュー転送速度REXT2[n]は、ファイルDEP内の(n+1)番目のエクステントEXT2[n]を含むソースパケットを転送する際の平均値である。図92の(a)、(b)はそれぞれ、その場合におけるベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との時間的な変化を示すグラフである。図92の(a)を参照するに、ベースビュー転送速度REXT1は、第1時刻T0で最高値RMAX1≒45Mbpsから急落し、第1時刻T0から第2時刻T1までの期間Tstr中、低レベル=15Mbpsに留まっている。図92の(b)で実線のグラフGR1が示すとおり、ディペンデントビュー転送速度REXT2はベースビュー転送速度REXT1の変化に対して相補的に変化できる。特に上記の期間Tstrには、ピークP1が最高値RMAX2≒30Mbpsまで到達できる。このように、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計がエクステント単位で制限されている場合、ディペンデントビュー転送速度REXT2は、ディペンデントビュー・ビデオ・ストリームのビットレートの一時的な上昇にも対応できる。
システム・ターゲット・デコーダ4225に割り当てられた転送帯域をストリーム・データの転送に更に効率良く利用するには、ファイルDEPに対するシステムレートRTS2を更に高く設定することが好ましい。図92の(c)は、図92の(a)、(b)に示されているベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とを足し合わせた値の時間的な変化を示すグラフである。図92の(c)で実線のグラフGR3の窪みCVが示すとおり、ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和は、第1時刻T0から第2時刻T1までの期間Tstr中、閾値60Mbpsを下回っている。これは、図92の(b)で実線のグラフGR1が示すとおり、ディペンデントビュー転送速度REXT2がファイルDEPに対するシステムレートRTS2=30Mbps以下に制限されていることに因る。図92の(a)の示すとおり、その期間Tstrではベースビュー転送速度REXT1は15Mbpsまで降下しているので、転送帯域幅には、少なくとも、その値と閾値との間の差60−15=45Mbpsに等しい余裕が残されている。従って、ファイルDEPに対するシステムレートRTS2は、30Mbpsよりも高い範囲、好ましくはファイル2Dに対するシステムレートRTS1と同じ範囲、例えば45Mbps以下に設定される:RTS1≦45Mbps、RTS2≦45Mbps。図92の(b)、(c)にはそれぞれ、その場合におけるディペンデントビュー転送速度REXT2、及びベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和が破線のグラフGR2、GR4で示されている。図92の(b)で破線のグラフGR2が示すとおり、ディペンデントビュー転送速度REXT2のピークP2は30Mbpsを超えることができる。その結果、図92の(c)で破線のグラフGR4が示すとおり、ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和は、上記の期間Tstr中、閾値60Mbpsの近傍に維持される。こうして、上記の転送帯域の利用効率を更に向上させることができる。
但し、ファイルDEPに対するシステムレートRTS2をファイル2Dに対するシステムレートRTS1と同程度に高い値に設定した場合、それらの合計RTS1+RTS2は一般に、システム・ターゲット・デコーダ4225の転送帯域幅よりも高い。一方、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とはいずれも平均値であるので、それらの合計に閾値を設けても、転送速度の瞬時値の合計がその閾値を超えることまでは制限されない。具体的な例として、各システムレートRTS1、RTS2が45Mbpsに設定され、各エクステントのエクステントATC時間が3秒間であって、かつその前半の1.5秒間では転送速度の合計が30Mbpsに維持されている場合を想定する。その場合、後半の1.5秒間で各転送速度が仮にシステムレート45Mbpsまで上昇したとしても、エクステント全体で平均された転送速度の合計は60Mbpsに抑えられる。従って、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計を60Mbps以下に制限しても、転送速度の瞬時値の合計が90Mbpsまで上昇することを阻むことはできない。このように、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計を制限するだけでは、システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性がゼロではない。
システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性を更に低減させることを目的として、転送速度の合計に対する制限を更に次のように変更してもよい。図93は、システム・ターゲット・デコーダ内でソース・デパケタイザからPIDフィルタへ転送されるTSパケットとATC時間との間の関係を示す模式図である。図93を参照するに、上段の矩形9310は、ベースビュー・エクステントを構成するTSパケット、TS1#p(p=0、1、2、3、…、k、k+1、k+2)の転送期間を表し、下段の矩形9320は、ディペンデントビュー・エクステントを構成するTSパケット、TS2#q(q=0、1、2、3、…、m−1、m、m+1)の転送期間を表す。それらの矩形9310、9320はATCの時間軸方向でTSパケットの転送順に並べられている。各矩形9310、9320の先頭の位置はそのTSパケットの転送開始時刻を表す。各矩形9310、9320の長さAT1、AT2は、1個のTSパケットがリード・バッファからシステム・ターゲット・デコーダへ転送されるのに要する時間を表す。3D再生装置は、一つのTSパケットをソース・デパケタイザから転送し始める度に、その転送開始時刻を起点とする所定時間長、例えば1秒間のウィンドウWIN1、WIN2、WIN3を設定する。3D再生装置は更に、各ウィンドウWIN1、WIN2、WIN3内でTS1とTS2との各転送速度を平均し、それらの平均値の合計を所定の閾値以下に制限する。図93に示されている例では、まず、TS1#0の転送開始時刻A1を起点とする第1ウィンドウWIN1が設定され、その中で転送されるTS1#0−kとTS2#0−mとについて、転送速度の合計が閾値以下に制限される。同様に、TS2#0の転送開始時刻A2を起点とする第2ウィンドウWIN2の中で転送されるTS1#0−(k+1)とTS2#0−mとについて、転送速度の合計が閾値以下に制限され、TS1#1の転送開始時刻A3を起点とする第3ウィンドウWIN3の中で転送されるTS1#1−(k+1)とTS2#0−(m+1)とについて、転送速度の合計が閾値以下に制限される。このように、一定長のウィンドウをTSパケット当たりの転送時間ずつずらしながら、各ウィンドウでの平均転送速度の合計を所定の閾値以下に制限する。それにより、ウィンドウが短いほど、システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性が低減する。
ファイルDEPに対するシステムレートRTS2がファイル・ベースに対するシステムレートRTS1と同程度に高く設定される場合、ディペンデントビュー転送速度REXT2も同程度まで上昇する場合が想定される。(n+1)番目のディペンデントビュー・エクステントに対する転送速度REXT2[n]がそのように上昇した場合、転送速度の合計に対する制限から、(n+1)番目のベースビュー・エクステントに対する転送速度REXT1[n]は最高値RMAX1よりも顕著に降下する。一方、最大エクステント・サイズの定義式(5)では、分母に含まれる平均転送速度REXT2Dがその最高値RMAX2Dで評価される。更に、(n+1)番目のベースビュー・エクステントのエクステントATC時間は、その最大エクステント・サイズとベースビュー転送速度REXT1[n]との比で表される値を上限とする。従って、その上限は実際のエクステントATC時間よりも顕著に長い。(n+1)番目のベースビュー・エクステントと(n+1)番目のディペンデントビュー・エクステントとではエクステントATC時間が共通であるので、そのディペンデントビュー・エクステントのサイズは最大で、ディペンデントビュー転送速度REXT2[n]と上記のエクステントATC時間の上限との積に等しい。そのサイズは、シームレス再生に実際に必要な値よりも顕著に大きいので、RB2の容量の更なる削減が阻まれる。従って、ファイルDEPに対するシステムレートRTS2をファイル・ベースに対するシステムレートRTS1と同程度に高く設定する場合、好ましくは、最大エクステント・サイズに対する条件5、すなわち式(5)を次式(10)に変更する:
Figure 2011004600
式(10)の右辺では、分母に含まれる転送速度として、2Dエクステントに対する平均転送速度の最高値RMAX2D、又は、転送速度の最高値の合計RMAX1+RMAX2とディペンデントビュー転送速度REXT2との間の差のいずれか低い方が採用される。ここで、転送速度の最高値の合計RMAX1+RMAX2はシステムレートの合計RTS1+RTS2の192/188倍に等しい。従って、ディペンデントビュー転送速度REXT2がシステムレートと同程度まで上昇する場合には、上記の差で最大エクステント・サイズが評価される。それにより、ベースビュー・エクステントのエクステントATC時間の上限は実際のエクステントATC時間に近い値に抑えられる。それ故、ディペンデントビュー・エクステントのサイズは、シームレス再生に実際に必要な値程度に抑えられる。こうして、RB2の容量を十分に小さく維持することができる。
<ファイルDEPに対するシステムレートが高い場合のデータ・ブロックの配置>
図94の(a)は、一つのエクステント・ペアについて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との組み合わせ別に最大エクステント・サイズmaxSEXT1[n]、maxSEXT2[n]を示す表である。ここで、「エクステント・ペア」とは、ファイル・ベースに含まれる(n+1)番目のベースビュー・エクステントと、ファイルDEPに含まれる(n+1)番目のディペンデントビュー・エクステントとの対をいう(n=0、1、2、…)。最大エクステント・サイズmaxSEXT2[n]、maxSEXT2[n]は、式(5)を用いて計算された値である。式(5)が2D再生モードのBD−ROMドライブの読み出し速度RUD54を含むことから明らかなとおり、最大エクステント・サイズmaxSEXT2[n]、maxSEXT2[n]はBD−ROMドライブの性能に依存する。従って、図94の(a)に示されている値は一例に過ぎない。
図94の(a)を参照するに、ベースビュー転送速度REXT1[n]が45Mbpsであり、かつディペンデントビュー転送速度REXT2[n]が15Mbpsであるとき、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]は6MBである。逆に、ベースビュー転送速度REXT1[n]が15Mbpsであり、かつディペンデントビュー転送速度REXT2[n]が45Mbpsであるとき、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]は8MBである。図90を用いて説明したとおり、各エクステント・ブロックの先頭に位置するディペンデントビュー・データ・ブロックのサイズが大きいほど、リード・バッファに要求される容量は大きい。従って、エクステント・ブロックのプリロード期間にディペンデントビュー転送速度REXT2[n]が上昇することは、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]が増大してリード・バッファの容量の更なる削減を阻むので好ましくない。
そこで、エクステント・ブロックの先頭に位置するエクステント・ペアEXT1[n]、EXT2[n]において、ディペンデントビュー転送速度REXT2[n]がベースビュー転送速度REXT1[n]を超える場合には、ベースビュー・データ・ブロックB[n]をディペンデントビュー・データ・ブロックD[n]の前に配置する。すなわち、そのエクステント・ペアの中で、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置する。それにより、以下に示すように、リード・バッファの容量を小さく維持することができる。
図94の(b)は、層境界LBを間に挟んで配置された二つのエクステント・ブロック9401、9402について、上記の配置を採用した場合を示す模式図である。図94の(b)を参照するに、ファイル・ベース9411とファイルDEP9412との間でのエクステント・ペアのうち、(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]がM番目のエクステント・ブロック9402の先頭に配置されている。そのエクステント・ペアでは、ディペンデントビュー転送速度REXT2[n]がベースビュー転送速度REXT1[n]よりも高いので、ディペンデントビュー・データ・ブロックD[n]はベースビュー・データ・ブロックB[n]よりもサイズが大きい。従って、そのエクステント・ペアでは、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されている。一方、(n−1)番目、n番目、及び(n+2)番目のエクステント・ペアEXT1[k]、EXT2[k](k=n−2、n−1、n+1)では、ディペンデントビュー転送速度REXT2[k]がベースビュー転送速度REXT1[k]よりも低いので、ディペンデントビュー・データ・ブロックD[k]はベースビュー・データ・ブロックB[k]よりもサイズが小さい。従って、それらのエクステント・ペアでは、ディペンデントビュー・データ・ブロックD[k]がベースビュー・データ・ブロックB[k]の前に配置されている。
図95の(a)、(b)は、図94の(b)に示されている二つのエクステント・ブロック9401、9402から連続して3D映像がシームレスに再生される際に、RB1とRB2とのそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。実線のグラフG1P、G2Pは、M番目のエクステント・ブロック9402の先頭に配置された(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]において、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA1、DA2の変化を示す。破線のグラフG1Q、G2Qは、そのエクステント・ペアEXT1[n]、EXT2[n]において、ディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の前に配置されているときの蓄積データ量DA1、DA2の変化を示す。
図95の(a)を参照するに、(M−1)番目のエクステント・ブロック9401の後端のベースビュー・データ・ブロックB[n−1]がRB1に読み込まれた時点で、RB1の蓄積データ量DA1は極大値DM10、DM11に達する。更に、その直後のジャンプ期間PJ[M]からM番目のエクステント・ブロック9402のプリロード期間PRB[n]、PRD[n]にわたり、蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。ここで、(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]では、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]よりもサイズが小さい。従って、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときのプリロード期間PRB[n]の長さSEXT1[n]/RUD72は、逆の配置でのプリロード期間PRD[n]の長さSEXT2[n]/RUD72よりも短い。その結果、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA1の極大値DM11は、逆の配置での極大値DM10よりも低い。
図95の(b)を参照するに、(M−1)番目のエクステント・ブロック9401の後端のベースビュー・データ・ブロックB[n−1]の読み込みが開始された時点で、RB2の蓄積データ量DA2は極大値DM20、DM21に達する。更に、そのベースビュー・データ・ブロックB[n−1]の読み出し期間からM番目のエクステント・ブロック9402のプリロード期間PRB[n]、PRD[n]にわたり、蓄積データ量DA2はディペンデントビュー転送速度REXT2[n−1]で減少する。ここで、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときのプリロード期間PRB[n]の長さSEXT1[n]/RUD72は、逆の配置でのプリロード期間PRD[n]の長さSEXT2[n]/RUD72よりも短い。その結果、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA2の極大値DM21は、逆の配置での極大値DM20よりも低い。
上記のとおり、エクステント・ブロックの先頭に配置されたエクステント・ペアの中では、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置した場合、リード・バッファの容量を小さく維持することができる。
同様に、飛び込み再生の開始可能位置に配置されたエクステント・ペアでも、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置する。それにより、リード・バッファの容量を小さく維持することができる。その場合、エクステント・ブロックの先頭に限らず、途中に位置するエクステント・ペアの中でも、データ・ブロックの順序が逆転し得る。図96の(a)は、そのような配置に対するエクステント起点のデータ構造(Syntax)を示す模式図である。このエクステント起点(Extent_Start_Point)は、図24の(a)、(b)に示されているエクステント起点と同様に、ファイル2DとファイルDEPとのそれぞれに対して設定される。図96の(a)を参照するに、そのエクステント起点では、エクステントID(extent_id)とSPN(SPN_extent_start)との各対に一つのエクステント開始フラグ(is_located_first_in_extent_pair)が割り当てられている。
図96の(b)は、ファイル・ベースに属するベースビュー・エクステントEXT1[k](k=0、1、2、…)と、エクステント起点の示すエクステント開始フラグとの間の対応関係を表す模式図である。図96の(c)は、ファイルDEPに属するディペンデントビュー・エクステントEXT2[k]とエクステント開始フラグとの間の対応関係を表す模式図である。図96の(d)は、ファイルSSに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。図96の(b)、(c)を参照するに、エクステントIDの等しいエクステント・ペアEXT1[k]、EXT2[k]では、エクステント開始フラグの値が逆に設定されている。特に、エクステント開始フラグの値が“1”であるエクステントは、“0”であるエクステントよりもソースパケットが少ない。図96の(d)を参照するに、エクステント開始フラグの値が“1”であるエクステントは、“0”であるエクステントよりも前に配置されている。このように、エクステント開始フラグは、エクステント・ペアEXT1[n]、EXT2[n]のうち、いずれのエクステントが前に配置されているかを示す。従って、エクステント開始フラグの値から、エクステント・ペアEXT1[n]、EXT2[n]の中でのデータ・ブロックの配置を知ることができる。それ故、エクステント・ペア間でデータ・ブロックの順序が異なっていても、再生制御部4235はエクステント起点を利用して、各エクステントSSの先頭からデータ・ブロック間の各境界までのソースパケット数をスイッチ4220に教えることができる。その結果、スイッチ4220はエクステントSSからベースビュー・エクステントとディペンデントビュー・エクステントとを分離できる。
各エクステント・ペアの中でデータ・ブロックの順序が一定である場合、RB1とRB2との各容量の下限値は、図90を利用して次のように算定された:RB1≧(TJUMP_MAX+SEXT2[n]/RUD72)×RMAX1、RB2≧max{(SEXT1[n−1]/RUD72+TJUMP_MAX+SEXT2[n]/RUD72)×RMAX2,SEXT2[n]}。それに対し、エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転してもよい場合、RB1とRB2との各容量の下限値は以下のように変更される。
図97の(c)は、RB14221に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。図97の(c)を参照するに、(M−1)番目のエクステント・ブロック9701とM番目のエクステント・ブロック9702とは、層境界LBを間に挟んで配置されている(整数Mは2以上である)。M番目のエクステント・ブロック9702の先頭には(n+1)番目のエクステント・ペアD[n]、B[n]が配置され、特にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の前に位置する(整数nは0以上である)。一方、(M−1)番目のエクステント・ブロック9701の後端にはn番目のエクステント・ペアD[n−1]、B[n−1]が配置され、特にベースビュー・データ・ブロックB[n−1]がディペンデントビュー・データ・ブロックD[n−1]の前に位置する。
図97の(a)、(b)は、図97の(c)に示されているエクステント・ブロック9701、9702から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。図97の(a)を参照するに、n番目のベースビュー・データ・ブロックB[n−1]がRB14221に読み込まれた時点で、RB14221の蓄積データ量DA1は極大値DM1に達する。その直後のディペンデントビュー・データ・ブロックD[n−1]の読み出し期間ΔT1から、層境界LBを越えるロングジャンプの期間ΔT2、及びM番目のエクステント・ブロック9702のプリロード期間ΔT3にわたり、RB14221にはデータ・ブロックが読み込まれないので、その蓄積データ量DA1は減少する。それらの期間ΔT1−ΔT3では、まず(n−1)番目までのベースビュー・データ・ブロックB[k](k=…、n−3、n−2)が平均転送速度REXT1[…,n−3,n−2]で転送され、続いてn番目のベースビュー・データ・ブロックB[n−1]が平均転送速度REXT1[n−1]で転送される。プリロード期間ΔT3の終了まで蓄積データ量DA1が0に達するのを防ぐには、その終了時点よりもn番目のベースビュー・データ・ブロックB[n−1]のエクステントATC時間TEXT1[n−1]だけ前の時点で蓄積データ量DA1が、少なくとも、そのベースビュー・データ・ブロックB[n−1]のサイズSEXT1[n−1]に等しければよい。従って、蓄積データ量DA1の極大値DM1はそのサイズSEXT1[n−1]よりも、残りの期間ΔT1+ΔT2+ΔT3−TEXT1[n−1]でRB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量REXT1[…,n−3,n−2]×(ΔT1+ΔT2+ΔT3−TEXT1[n−1])以上、大きければよい。すなわち、RB14221には、その極大値DM1以上の容量RB1が求められる:RB1≧SEXT1[n−1]+REXT1[…,n−3,n−2]×(ΔT1+ΔT2+ΔT3−TEXT1[n−1])。ここで、ロングジャンプの時間ΔT2はそのロングジャンプの最大ジャンプ時間TJUMP_MAXで評価される。
図97の(f)は、RB24222に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。図97の(f)を参照するに、(N−1)番目のエクステント・ブロック9703とN番目のエクステント・ブロック9704とは、層境界LBを間に挟んで配置されている(整数Nは2以上である)。N番目のエクステント・ブロック9704の先頭には(n+1)番目のエクステント・ペアD[n]、B[n]が配置され、特にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の後に位置する。一方、(N−1)番目のエクステント・ブロック9703の後端にはn番目のエクステント・ペアD[n−1]、B[n−1]が配置され、特にベースビュー・データ・ブロックB[n−1]がディペンデントビュー・データ・ブロックD[n−1]の後に位置する。
図97の(d)、(e)は、図97の(f)に示されているエクステント・ブロック9703、9704から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。図97の(e)を参照するに、n番目のディペンデントビュー・データ・ブロックD[n−1]がRB24222に読み込まれた時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。その直後のベースビュー・データ・ブロックB[n−1]の読み出し期間ΔT4から、層境界LBを越えるロングジャンプの期間ΔT5、及びN番目のエクステント・ブロック9704のプリロード期間ΔT6にわたり、RB24222にはデータ・ブロックが読み込まれないので、その蓄積データ量DA2は減少する。それらの期間ΔT4−ΔT6では、まず(n−1)番目までのディペンデントビュー・データ・ブロックD[k](k=…、n−3、n−2)が平均転送速度REXT2[…,n−3,n−2]で転送され、続いてn番目のディペンデントビュー・データ・ブロックD[n−1]が平均転送速度REXT2[n−1]で転送される。プリロード期間ΔT6の終了まで蓄積データ量DA2が0に達するのを防ぐには、その終了時点よりもn番目のディペンデントビュー・データ・ブロックD[n−1]のエクステントATC時間TEXT2[n−1]だけ前の時点で蓄積データ量DA2が、少なくとも、そのディペンデントビュー・データ・ブロックD[n−1]のサイズSEXT2[n−1]に等しければよい。従って、蓄積データ量DA2の極大値DM2はそのサイズSEXT2[n−1]よりも、残りの期間ΔT4+ΔT5+ΔT6−TEXT2[n−1]でRB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量REXT2[…,n−3,n−2]×(ΔT4+ΔT5+ΔT6−TEXT2[n−1])以上、大きければよい。すなわち、RB24222には、その極大値DM2以上の容量RB2が求められる:RB2≧SEXT2[n−1]+REXT2[…,n−3,n−2]×(ΔT4+ΔT5+ΔT6−TEXT2[n−1])。ここで、ロングジャンプの時間ΔT5はそのロングジャンプの最大ジャンプ時間TJUMP_MAXで評価される。
エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転してもよい場合は更に、そのエクステント・ペアに対する条件2、3、すなわち式(2)、(3)は以下のように変更される。
図98の(c)は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9810を示す模式図である。図98の(c)を参照するに、(n+2)番目のエクステント・ペアD[n+1]、B[n+1]では、ディペンデントビュー・データ・ブロックD[n+1]がベースビュー・データ・ブロックB[n]の後に位置する。その前後のエクステント・ペアD[n]、B[n]、D[n+1]、B[n+1]では、ベースビュー・データ・ブロックB[n]、B[n+1]がディペンデントビュー・データ・ブロックD[n]、D[n+1]の後に位置する。
図98の(a)、(b)は、図98の(c)に示されているエクステント・ブロック9801から連続して3D映像がシームレスに再生される際に、RB14221、RB24222の各蓄積データ量DA1、DA2の変化を示すグラフである。ここで、ゼロ・セクタ遷移期間は他の期間に比べて十分に短いので無視されている。図98の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。(n+2)番目のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n+1]との間の差RUD72−REXT1[n+1]に等しい速度で更に増加し続ける。一方、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n+1]で更に減少し続ける。更に、(n+2)番目のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n+1]との間の差RUD72−REXT2[n+1]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少する。続いて、(n+3)番目のディペンデントビュー・データ・ブロックD[n+2]の読み出し期間PRD[n+2]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n+2]との間の差RUD72−REXT2[n+2]に等しい速度で更に増加し続け、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n+1]で減少し続ける。
この場合、エクステント・ブロック9810から3D映像をシームレスに再生するには、まず、(n+1)番目のディペンデントビュー・データ・ブロックD[n]のエクステントATC時間が、その読み出し期間PRD[n]の開始時点から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の開始時点までの時間以上であればよい。次に、(n+1)番目と(n+2)番目とのベースビュー・データ・ブロックB[n]、B[n+1]のエクステントATC時間が、それらの読み出し期間PRB[n]、PRB[n+1]の開始時点から次のベースビュー・データ・ブロックB[n+2]の読み出し期間PRB[n+2]の開始時点までの時間以上であればよい。それらの条件は、n番目のエクステント・ペアの中でエクステントB(EXTB)がエクステントA(EXTA)よりも前に位置する場合を想定するとき、上記の式(2)、(3)に代えて、次式(2A)、(3A)で表される:
Figure 2011004600
ここで、式(2A)は、式(2)に含まれるベースビュー・データ・ブロックB[n]のサイズSEXT1[n]、ディペンデントビュー・データ・ブロックD[n+1]のサイズSEXT2[n+1]、及びベースビュー転送速度REXT1[n]をそれぞれ、エクステントAのサイズSEXTA[n]、エクステントBのサイズSEXTB[n+1]、及び、エクステントAに対する平均転送速度REXTA[n]に変更することで得られる。式(3A)は、式(3)に含まれるベースビュー・データ・ブロックB[n]のサイズSEXT1[n]、ディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]、及びディペンデントビュー転送速度REXT2[n]をそれぞれ、エクステントAのサイズSEXTA[n]、エクステントBのサイズSEXTB[n]、及び、エクステントBに対する平均転送速度REXTB[n]に変更することで得られる。尚、式(2A)、(3A)のいずれでも、ゼロ・セクタ遷移期間の長さTJUMP0は0とみなされている。
図99は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9900とAVストリーム・ファイル9910−9920との間の対応関係を示す模式図である。図99を参照するに、3番目のエクステント・ペアD[2]、B[2]ではディペンデントビュー・データ・ブロックD[2]がベースビュー・データ・ブロックB[2]の後に位置する。その他のエクステント・ペアD[k]、B[k](k=0、1、3)ではベースビュー・データ・ブロックB[k]がディペンデントビュー・データ・ブロックD[k]の後に位置する。ベースビュー・データ・ブロックB[n](n=0、1、2、3、…)はそれぞれ、一つのベースビュー・エクステントEXT1[n]としてファイル・ベース9911に属する。ディペンデントビュー・データ・ブロックD[n]はそれぞれ、一つのディペンデントビュー・エクステントEXT2[n]としてファイルDEP9912に属する。エクステント・ブロック9900の全体は一つのエクステントSSEXTSS[0]としてファイルSS9920に属する。ベースビュー・データ・ブロックB[n](n=0、1、2、3、…)は更に、2DエクステントEXT2D[n]としてファイル2D9910に属する。ここで、二つの連続するベースビュー・データ・ブロックB[1]、B[2]は一つの2DエクステントEXT2D[1]として参照される。それにより、その2DエクステントEXT2D[1]のサイズSEXT2D[1]は、その直後に配置された二つのディペンデントビュー・データ・ブロックD[2]、D[3]の全体のサイズSEXT2[2]+SEXT2[3]が大きくても、式(1)を満たすことができる。
<層境界の前後での再生経路の分離>
図21では、2D再生モードでの再生経路2101と3D再生モードでの再生経路2102とはいずれも、層境界LBを越えるためのロングジャンプJLYの直前に同じベースビュー・データ・ブロックB[3]を通る。すなわち、そのベースビュー・データ・ブロックB[3]は、2D再生モードの再生装置102からは二番目の2DエクステントEXT2D[1]として読み出され、3D再生モードの再生装置102からはエクステントSSEXTSS[1]内の最後のデータ・ブロックとして読み出される。ロングジャンプJLY中にシステム・ターゲット・デコーダによって処理されるべきデータ量は、2D再生モードでは条件1により、そのベースビュー・データ・ブロックB[3]単体のサイズで確保される。一方、3D再生モードでは条件4により、二番目のエクステント・ブロック1902全体のサイズで確保される。従って、条件1によってベースビュー・データ・ブロックB[3]に要求される最小エクステント・サイズは、条件2による最小エクステント・サイズよりも一般に大きい。それ故、RB14221の容量は、3D再生モードでのシームレス再生に必要最小限の値よりも大きくなければならない。更に、そのベースビュー・データ・ブロックB[3]と、その直前に位置するディペンデントビュー・データ・ブロックD[3]とではエクステントATC時間が等しい。従って、そのディペンデントビュー・データ・ブロックD[3]のサイズは、条件2によってそのデータ・ブロックD[3]に要求される最小エクステント・サイズよりも一般に大きい。それ故、RB24222の容量は、3D再生モードでのシームレス再生に必要最小限の値よりも一般に大きい。このように、図21に示されている配置では、二つのエクステント・ブロック1902、1903間のシームレスな接続は可能であるが、RB14221、RB24222の容量が十分に大きく確保されなければならない。
ロングジャンプJLY中での映像のシームレス再生を可能にしたまま、RB14221、RB24222の容量を更に削減するには、層境界LB等、そのロングジャンプJLYの必要な位置の前後でデータ・ブロック群の配置をインターリーブ配置から変更して、2D再生モードと3D再生モードとの間で再生経路を分離すればよい。そのような変更のパターンには、例えば以下に述べる二種類の配置1、2がある。配置1、2のいずれでも、再生経路はロングジャンプJLYの直前で、動作モードごとに異なるベースビュー・データ・ブロックを通る。その結果、後述のとおり、再生装置102にRB14221、RB24222の容量を必要最小限に維持させたまま、ロングジャンプJLY中での映像のシームレス再生を容易に実現させることができる。
≪配置1≫
図100は、BD−ROMディスク101の層境界LBの前後に記録されたデータ・ブロック群の配置1を示す模式図である。図100を参照するに、層境界LBの直前には第1エクステント・ブロックA001が配置され、層境界LBの直後には第2エクステント・ブロックA002が配置されている。各エクステント・ブロックA001、A002内では、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とがインターリーブ配置を構成している(n=…、0、1、2、3、…)。特にn番目のエクステント・ペアD[n]、B[n]ではエクステントATC時間が等しい。配置1では更に、第1エクステント・ブロックA001の後端B[1]と層境界LBとの間に一つのベースビュー・データ・ブロックB[2]2Dが配置されている。そのベースビュー・データ・ブロックB[2]2Dは、第2エクステント・ブロックA002内の先端のベースビュー・データ・ブロックB[2]SSとビット単位(bit−for−bit)で一致する。以下、前者B[2]2Dを「2D再生専用ブロック」といい、後者B[2]SSを「SS再生専用ブロック」という。
図100に示されているベースビュー・データ・ブロックのうち、SS再生専用ブロックB[2]SS以外はファイル2DA010のエクステント、すなわち2DエクステントEXT2D[・]としてアクセス可能である。例えば第1エクステント・ブロックA001内の最後から二番目のベースビュー・データ・ブロックB[0]、最後のベースビュー・データ・ブロックB[1]と2D再生専用ブロックB[2]2Dとの対B[1]+B[2]2D、及び、第2エクステント・ブロックA002内の二番目のベースビュー・データ・ブロックB[3]はそれぞれ、単一の2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]としてアクセス可能である。一方、図100に示されているディペンデントビュー・データ・ブロックD[n](n=…、0、1、2、3、…)はそれぞれ、ファイルDEPA012の単一のエクステント、すなわちディペンデントビュー・エクステントEXT2[n]としてアクセス可能である。
図100に示されているデータ・ブロック群では、AVストリーム・ファイルのクロスリンクが次のように実現される。各エクステント・ブロックA001、A002の全体はファイルSSA020の単一のエクステントEXTSS[0]、EXTSS[1]としてアクセス可能である。従って、各エクステント・ブロックA001、A002内のベースビュー・データ・ブロックB[0]、B[1]、B[3]はファイル2DA010とファイルSSA020とに共有される。それに対し、2D再生専用ブロックB[2]2Dは、層境界LBの直前に位置する2DエクステントEXT2D[1]の一部としてのみアクセス可能である。一方、SS再生専用ブロックB[2]SSは、層境界LBの直後のエクステントSSEXTSS[1]の一部としてのみアクセス可能である。それ故、2D再生専用ブロックB[2]2D以外のベースビュー・データ・ブロックB[0]、B[1]、B[2]SS、B[3]は、ファイル・ベースA011のエクステント、すなわちベースビュー・エクステントEXT1[n](n=0、1、2、3)としてエクステントSSEXTSS[0]、EXTSS[1]から抽出可能である。
図101は、図100に示されている配置1のデータ・ブロック群に対する2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とを示す模式図である。2D再生モードの再生装置102はファイル2DA010を再生する。従って、2D再生モードでの再生経路A110が示すとおり、まず、第1エクステント・ブロックA001内の最後から二番目のベースビュー・データ・ブロックB[0]が最初の2DエクステントEXT2D[0]として読み出され、その直後のディペンデントビュー・データ・ブロックD[1]の読み出しが最初のジャンプJ2D1によってスキップされる。次に、第1エクステント・ブロックA001内の最後のベースビュー・データ・ブロックB[1]とその直後の2D再生専用ブロックB[2]2Dとの対B[1]+B[2]2Dが二番目の2DエクステントEXT2D[1]として連続して読み出される。その直後の層境界LBではロングジャンプJLYが生じ、第2エクステント・ブロックA002の先端に位置する3個のデータ・ブロックD[2]、B[2]SS、D[3]の読み出しがスキップされる。続いて、第2エクステント・ブロック8902内の二番目のベースビュー・データ・ブロックB[3]が三番目の2DエクステントEXT2D[2]として読み出される。一方、3D再生モードの再生装置102はファイルSSA020を再生する。従って、3D再生モードでの再生経路A120が示すとおり、まず、第1エクステント・ブロックA001の全体が最初のエクステントSSEXTSS[0]として連続して読み出される。その直後にロングジャンプJLYが生じ、2D再生専用ブロックB[2]2Dの読み出しがスキップされる。続いて、第2エクステント・ブロックA002の全体が二番目のエクステントSSEXTSS[1]として連続して読み出される。
図100に示されているとおり、2D再生モードでは、2D再生専用ブロックB[2]2Dは読み出されるが、SS再生専用ブロックB[2]SSの読み出しはスキップされる。逆に3D再生モードでは、2D再生専用ブロックB[2]2Dの読み出しはスキップされるが、SS再生専用ブロックB[2]SSは読み出される。しかし、両方のデータ・ブロックB[2]2D、B[2]SSはビット単位で一致しているので、いずれの再生モードでも、再生されるベースビュー・ビデオ・フレームは等しい。このように、配置1ではロングジャンプJLYの前後で2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とが分離されている。従って、図21に示されている配置とは異なり、層境界LBの直前に位置する2DエクステントEXT2D[1]のサイズSEXT2D[1]とその直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]とが、以下のように別々に決定可能である。
その2DエクステントEXT2D[1]のサイズSEXT2D[1]はベースビュー・データ・ブロックB[1]のサイズSEXT1[1]と2D再生専用ブロックB[2]2DのサイズS2Dとの和SEXT1[1]+S2Dに等しい。従って、2D映像をシームレスに再生するには、まず、その和SEXT1[1]+S2Dが条件1を満たせばよい。ここで、式(1)の右辺には、ジャンプ時間Tjump−2DとしてロングジャンプJLYの最大ジャンプ時間Tjump_maxが代入される。次に、2D再生専用ブロックB[2]2Dの後端から第2エクステント・ブロックA002内の最初の2DエクステントEXT2D[2]=B[3]までのセクタ数が、2D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
一方、3D映像をシームレスに再生するには、まず、最初のエクステントSSEXTSS[0]の後端に位置するディペンデントビュー・データ・ブロックD[1]とベースビュー・データ・ブロックB[1]との各サイズSEXT2[1]、SEXT1[1]が条件3、2を満たせばよい。ここで、ロングジャンプJLYの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。次に、最初のエクステントSSEXTSS[0]のサイズが条件4を満たせばよい。更に、そのエクステントSSEXTSS[0]の後端から次のエクステントSSEXTSS[1]の先端までのセクタ数が、3D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
層境界LBの直前に位置する2DエクステントEXT2D[1]のうち、最初のエクステントSSEXTSS[0]に共有されるのは、前側に位置するベースビュー・データ・ブロックB[1]のみである。従って、2D再生専用ブロックB[2]2DのサイズS2Dを適切に拡大することにより、2DエクステントEXT2D[1]のサイズSEXT2D[1]=SEXT1[1]+S2Dを一定に維持したまま、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]を更に小さく制限することができる。その場合、そのベースビュー・データ・ブロックB[1]のエクステントATC時間が短縮される。それ故、その直前に位置するディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]も更に小さく制限することができる。
SS再生専用ブロックB[2]SSは2D再生専用ブロックB[2]2Dとビット単位で一致しているので、2D再生専用ブロックB[2]2DのサイズS2Dの拡大は、SS再生専用ブロックB[2]SSの直前に位置するディペンデントビュー・データ・ブロックD[2]のサイズを拡大させる。しかし、そのサイズは、図21に示されている、層境界LBの直前に位置するディペンデントビュー・データ・ブロックD[3]のサイズよりは十分に小さくできる。こうして、RB14221、RB24222の各容量を、3D映像のシームレス再生に必要最小限の値に更に接近させることができる。その結果、配置1では、再生装置102内に確保されるべきリード・バッファの容量を必要最小限に抑えたまま、ロングジャンプ中に2D映像と3D映像とのいずれをもシームレスに再生することができるように、各データ・ブロックのサイズを設計することができる。
配置1では、2D再生専用ブロックB[2]2Dの複製データが、第1のエクステント・ブロックA001の中に単一のSS再生専用ブロックB[2]SSとして配置されている。その他に、その複製データが二個以上のSS再生専用ブロックに分割されて配置されてもよい。
≪配置2≫
図102は、BD−ROMディスク101の層境界LBの前後に記録されたデータ・ブロック群の配置2を示す模式図である。図102を図100と比較するに、配置2は配置1とは主に、SS再生専用ブロックB[2]SS、B[3]SSを含むエクステント・ブロックA202が層境界LBの直前に配置されている点で異なる。
図102を参照するに、層境界LBの前には、第1エクステント・ブロックA201、2D再生専用ブロック(B[2]+B[3])2D、及び第2エクステント・ブロックA202が順番に配置され、層境界LBの後には第3エクステント・ブロックA203が配置されている。各エクステント・ブロックA201−A203内ではディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とがインターリーブ配置を構成している(n=…、0、1、2、3、4、…)。特にn番目のエクステント・ペアD[n]、B[n]ではエクステントATC時間が等しい。第2エクステント・ブロックA202では、第1エクステント・ブロックA201の後端に位置するデータ・ブロックD[1]、B[1]とも、第3エクステント・ブロックA203の先端に位置するデータ・ブロックD[4]、B[4]とも、ストリーム・データの内容が連続している。第2エクステント・ブロックA202に含まれるベースビュー・データ・ブロックはいずれもSS再生専用ブロックB[2]SS、B[3]SSであり、それらの全体B[2]SS+B[3]SSは、その前に位置する2D再生専用ブロック(B[2]+B[3])2Dとビット単位で一致する。
図102に示されているベースビュー・データ・ブロックのうち、SS再生専用ブロックB[2]SS、B[3]SS以外はファイル2DA210のエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]としてアクセス可能である。特に第1エクステント・ブロックA201内の最後のベースビュー・データ・ブロックB[1]と2D再生専用ブロック(B[2]+B[3])2Dとの対は単一の2DエクステントEXT2D[1]としてアクセス可能である。更に、第2エクステント・ブロックA202以外のエクステント・ブロックA201、A203内のベースビュー・データ・ブロックB[0]、B[1]、B[4]は、ファイル・ベースA211のエクステントEXT1[0]、EXT1[1]、EXT1[4]としてファイルSSA220のエクステントEXTSS[0]、EXTSS[1]からも抽出可能である。それに対し、2D再生専用ブロック(B[2]+B[3])2Dは2DエクステントEXT2D[1]の一部としてのみアクセス可能である。一方、SS再生専用ブロックB[2]SS、B[3]SSはそれぞれ、ベースビュー・エクステントEXT1[2]、EXT1[3]としてエクステントSSEXTSS[1]から抽出可能である。
図103は、図102に示されている配置2のデータ・ブロック群に対する2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とを示す模式図である。2D再生モードの再生装置102はファイル2DA210を再生する。従って、2D再生モードでの再生経路A310が示すとおり、まず、第1エクステント・ブロックA201内の最後から二番目のベースビュー・データ・ブロックB[0]が最初の2DエクステントEXT2D[0]として読み出され、その直後のディペンデントビュー・データ・ブロックD[1]の読み出しが最初のジャンプJ2D1によってスキップされる。次に、第1エクステント・ブロックA201内の最後のベースビュー・データ・ブロックB[1]とその直後の2D再生専用ブロック(B[2]+B[3])2Dとの対が二番目の2DエクステントEXT2D[1]として連続して読み出される。その直後にロングジャンプJLYが生じ、第2エクステント・ブロックA202の読み出し、及び第3エクステント・ブロックA203の先端に位置するディペンデントビュー・データ・ブロックD[4]の読み出しがスキップされる。続いて、第3エクステント・ブロックA203内の最初のベースビュー・データ・ブロックB[4]が三番目の2DエクステントEXT2D[2]として読み出される。3D再生モードの再生装置102はファイルSSA220を再生する。従って、3D再生モードでの再生経路A320が示すとおり、まず、第1エクステント・ブロックA201の全体が第1エクステントSSEXTSS[0]として連続して読み出される。その直後にジャンプJEXが生じ、2D再生専用ブロック(B[2]+B[3])2Dの読み出しがスキップされる。次に、第2エクステント・ブロックA202の全体が第2エクステントSSEXTSS[1]として連続して読み出される。その直後に、層境界LBを越えるためのロングジャンプJLYが生じる。続いて、第3エクステント・ブロックA203の全体が第3エクステントSSEXTSS[2]として連続して読み出される。
図103に示されているとおり、2D再生モードでは、2D再生専用ブロック(B[2]+B[3])2Dは読み出されるが、SS再生専用ブロックB[2]SS、B[3]SSの読み出しはスキップされる。逆に3D再生モードでは、2D再生専用ブロック(B[2]+B[3])2Dの読み出しはスキップされるが、SS再生専用ブロックB[2]SS、B[3]SSは読み出される。しかし、2D再生専用ブロック(B[2]+B[3])2DとSS再生専用ブロックの全体B[2]SS+B[3]SSとはビット単位で一致しているので、いずれの再生モードでも、再生されるベースビュー・ビデオ・フレームは等しい。このように、配置2ではロングジャンプJLYの前後で2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とが分離されている。従って、層境界LBの直前に位置する2DエクステントEXT2D[1]のサイズSEXT2D[1]とその直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]とが、以下のように別々に決定可能である。
その2DエクステントEXT2D[1]のサイズSEXT2D[1]は、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]と2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dとの和SEXT1[1]+S2Dに等しい。従って、2D映像をシームレスに再生するには、まず、その和SEXT1[1]+S2Dが条件1を満たせばよい。ここで、式(1)の右辺には、ジャンプ時間Tjump−2DとしてロングジャンプJLYの最大ジャンプ時間Tjump_maxが代入される。次に、2D再生専用ブロック(B[2]+B[3])2Dの後端から第3エクステント・ブロックA203内の最初の2DエクステントEXT2D[2]=B[4]までのセクタ数が、2D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
一方、3D映像をシームレスに再生するには、まず、第1エクステントSSEXTSS[0]の後端に位置するディペンデントビュー・データ・ブロックD[1]とベースビュー・データ・ブロックB[1]との各サイズSEXT2[1]、SEXT1[1]が条件3、2を満たせばよい。ここで、ジャンプJEXの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。次に、第2エクステントSSEXTSS[1]の後端に位置するディペンデントビュー・データ・ブロックD[3]とSS再生専用ブロックB[3]SSとの各サイズSEXT2[3]、SEXT1[3]が条件3、2を満たせばよい。ここで、ロングジャンプJLYの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。
2DエクステントEXT2D[1]のうち、エクステントSSEXTSS[1]に共有されるのは、前側に位置するベースビュー・データ・ブロックB[1]だけである。従って、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dを適切に拡大することにより、2DエクステントEXT2D[1]のサイズSEXT2D[1]=SEXT1[1]+S2Dを一定に維持したまま、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]を更に小さく制限することができる。それに伴い、その直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]も更に小さく制限することができる。
ここで、3D再生専用ブロックの全体B[2]SS+B[3]SSは2D再生専用ブロック(B[2]+B[3])2Dとビット単位で一致している。従って、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dが拡大すると、各3D再生専用ブロックB[2]SS、B[3]SSの直前に位置するディペンデントビュー・データ・ブロックD[2]、D[3]のサイズが拡大する。しかし、一つの2D再生専用ブロック(B[2]+B[3])2Dに対し、3D再生専用ブロックは二つB[2]SS、B[3]SSに分割されている。その結果、各3D再生専用ブロックB[2]SS、B[3]SSのサイズを十分に小さくすることができる。こうして、RB14221、RB24222の各容量は、3D映像のシームレス再生に必要最小限の値まで更に削減可能である。その結果、配置2では、再生装置102内に確保されるべきリード・バッファの容量を必要最小限に抑えたまま、2D映像と3D映像とのいずれをもシームレスに再生することができるように、各データ・ブロックのサイズを設計することができる。
図90を用いて説明したとおり、ロングジャンプの直前に位置するエクステント・ブロックの後端に配置されたデータ・ブロックのサイズが小さいほど、RB24222の容量の下限は小さい。従って、配置2は好ましくは、以下の2つの条件が満たされるように設計される。その場合、3D再生専用ブロックB[2]SS、B[3]SSを含む第2エクステント・ブロックA202において、各データ・ブロックのサイズが十分に小さい。その結果、RB24222の容量の下限を更に低減させることができる。
第1の条件は、第2エクステント・ブロックA202の直前に配置される2D再生専用ブロック(B[2]+B[3])2Dのサイズに上限を定める。例えば、図103を更に参照するに、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dは20000セクタ以下に制限される。この上限値は2D再生装置のジャンプ性能に依存する。第2の条件は、3D再生専用ブロックB[2]SS、B[3]SSのエクステントATC時間に上限TEXT_3D_MAXを定める。すなわち、3D再生専用ブロックB[2]SS、B[3]SSのサイズが、式(1)に代えて次式を満たす:SEXT1[n]≦REXT1[n]×TEXT_3D_MAX。上限TEXT_3D_MAXは例えば0.5秒に設定される。
図104は、図103に示されている第2エクステント・ブロックA202の後端に位置する3D再生専用ブロックB[3]SSの読み出し時間SEXT1[3]/RUD72と、RB24222の容量の下限との間の関係を示すグラフである。図104を参照するに、3D再生専用ブロックB[3]SSの読み込みが開始された時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。その極大値DM2は、3D再生専用ブロックB[3]SSの読み出し期間の長さSEXT1[3]/RUD72、ロングジャンプに要する時間TLY、及びプリロード期間の長さSEXT2[4]/RUD72の和にディペンデントビュー転送速度REXT2[3]を乗じた値以上である:DM2≧(SEXT1[3]/RUD72+TLY+SEXT2[4]/RUD72)×REXT2[3]。従って、仮に3D再生専用ブロックB[3]SSのサイズが更に大きい値SL[3]であれば、その読み出し期間の長さSL[3]/RUD72が増大するので、図104に破線で示されているとおり、RB24222の蓄積データ量DA2の極大値DM20が増大する。それ故、上記の2つの条件で3D再生専用ブロックB[2]SS、B[3]SSの各サイズを小さく制限する。それにより、RB24222の容量の下限を更に低減させることができる。
尚、条件4を満たすには、各エクステント・ブロックの先頭に位置するデータ・ブロックのサイズ、すなわちプリロード期間の長さを十分に大きく確保しなければならない。それ故、エクステント・ブロックの先頭に位置する3D再生専用ブロックについては、そのエクステントATC時間が上限TEXT_3D_MAXを超えてもよい。
配置2は、層境界LBの手前の他に、飛び込み再生の開始可能位置に設けられてもよい。図102には、飛び込み再生の開始可能位置、すなわちエントリ・ポイントが記録されたBD−ROMディスク上の位置が三角形A230、A231、A232の頂点で示されている。白い三角形A230で示されているエントリ・ポイントは2D再生モードでの飛び込み再生の開始可能位置を示す。黒い三角形A231、A232で示されているエントリ・ポイントは3D再生モードでの飛び込み再生の開始可能位置を示す。個々の3D再生専用ブロックB[2]SS、B[3]SSは2D再生専用ブロック(B[2]+B[3])2Dよりもサイズが十分に小さいので、対応するディペンデントビュー・データ・ブロックD[2]、D[3]のサイズも十分に小さい。その結果、3D再生モードでの飛び込み再生時、エントリ・ポイントA231、A232へのアクセス開始からデータ・ブロックD[2]、B[2]SSの復号開始までに要する時間が短い。すなわち、3D再生モードでの飛び込み再生は起動が早い。
配置2では、2D再生専用ブロック(B[2]+B[3])2Dの複製データが、二つのSS再生専用ブロックB[2]SS、B[3]SSに分割されて配置されている。その他に、その複製データが単一のSS再生専用ブロックであってもよく、又は三個以上のSS再生専用ブロックに分割されて配置されてもよい。
<エクステント・ペア・フラグ>
図105は、ファイル・ベースA501とファイルDEPA502との各エクステントEXT1[k]、EXT2[k](整数kは0以上である。)に対して設定されたエントリ・ポイントA510、A520を示す模式図である。ファイル・ベースA501のエントリ・ポイントA510は2Dクリップ情報ファイルのエントリ・マップで定義され、ファイルDEPA502のエントリ・ポイントA520はディペンデントビュー・クリップ情報ファイルのエントリ・マップで定義される。各エントリ・ポイントA510、A520は特にエクステント・ペア・フラグを含む。「エクステント・ペア・フラグ」は、ファイル・ベースA501のエントリ・ポイントとファイルDEPA502のエントリ・ポイントとが同じPTSを示すとき、それぞれの設定されたエクステントEXT1[i]、EXT2[j]が各ファイルA501、A502の先頭から同じ順序であるか否か(i=j又はi≠j)を示す。図105を参照するに、(n+1)番目(整数nは1以上である。)のベースビュー・エクステントEXT1[n]に設定された最初のエントリ・ポイントA530のPTSは、(n−1)番目のディペンデントビュー・エクステントEXT2[n−1]に設定された最後のエントリ・ポイントA540のPTSに等しい。従って、各エントリ・ポイントA530、A540のエクステント・ペア・フラグの値は“0”に設定される。同様に、(n+1)番目のベースビュー・エクステントEXT1[n]に設定された最後のエントリ・ポイントA531のPTSは、(n+1)番目のディペンデントビュー・エクステントEXT2[n+1]に設定された最初のエントリ・ポイントA541のPTSに等しい。従って、各エントリ・ポイントA531、A541のエクステント・ペア・フラグの値は“0”に設定される。その他のエントリ・ポイントA510、A520は、PTSが等しいときは設定先のエクステントEXT1[・]、EXT2[・]の順序も等しいので、エクステント・ペア・フラグの値は“1”に設定される。
3D再生モードの再生装置102は、飛び込み再生を開始する際に再生開始位置のエントリ・ポイントのエクステント・ペア・フラグを参照し、その値が“1”である場合に、そのエントリ・ポイントから実際に再生を開始する。その値が“0”である場合には、再生装置102は、そのエントリ・ポイントの前後から、エクステント・ペア・フラグの値が“1”である別のエントリ・ポイントを探して、その別のエントリ・ポイントから再生を開始する。こうして、n番目のディペンデントビュー・エクステントEXT2[n]が確実に、n番目のベースビュー・エクステントEXT1[n]よりも先に読み出される。その結果、飛び込み再生処理を簡単化することができる。
エクステント・ペア・フラグ=0のエントリ・ポイントの間隔は、それに対応する表示時間の長さが一定の秒数以下、例えば1GOP当たりの表示時間長の最大値の2倍以下になるように制限されてもよい。それにより、飛び込み再生の開始時、エクステント・ペア・フラグ=1のエントリ・ポイントの探索に伴う再生開始までの待ち時間を短縮することができる。その他に、エクステント・ペア・フラグ=0のエントリ・ポイントの次のエントリ・ポイントでは、エクステント・ペア・フラグの値が“1”に制限されてもよい。また、アングル切り換えフラグがエクステント・ペア・フラグとして代用されてもよい。ここで、「アングル切り換えフラグ」とは、マルチアングルに対応のコンテンツにおいてエントリ・マップ内に用意されたフラグであって、多重化ストリーム・データにおけるアングルの切り換え位置を示す(マルチアングルについては後述参照)。
<データ・ブロック間での再生期間の一致>
エクステントATC時間の等しいデータ・ブロックの対では更に、再生期間が一致し、かつビデオ・ストリームの再生時間が等しくてもよい。すなわち、それらのデータ・ブロック間でVAUの数が等しくてもよい。その意義は次のとおりである。
図106の(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。図106の(a)を参照するに、先頭のベースビュー・データ・ブロックB[0]の再生時間は4秒間であり、先頭のディペンデントビュー・データ・ブロックD[0]の再生時間は1秒間である。ここで、ディペンデントビュー・データ・ブロックD[0]の復号に必要なベースビュー・ビデオ・ストリームの部分はそのディペンデントビュー・データ・ブロックD[0]と同じ再生時間を持つ。従って、再生装置内のリード・バッファの容量を節約するには、図106の(a)に矢印ARW1で示されているように、再生装置にベースビュー・データ・ブロックB[0]とディペンデントビュー・データ・ブロックD[0]とを交互に同じ再生時間ずつ、例えば1秒間ずつ読み込ませることが好ましい。しかし、その場合、図106の(a)に破線で示されているように、読み出し処理の途中でジャンプが生じる。その結果、読み出し処理を復号処理に間に合わせることが難しいので、シームレス再生を確実に持続することが難しい。
図106の(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。図106の(b)に示されているように、隣接する一対のデータ・ブロックの間でビデオ・ストリームの再生時間が等しくてもよい。例えば、先頭のデータ・ブロック対B[0]、D[0]ではビデオ・ストリームの再生時間が共に1秒に等しく、二番目のデータ・ブロック対B[1]、D[1]ではビデオ・ストリームの再生時間が共に0.7秒に等しい。その場合、3D再生モードの再生装置は、図106の(b)に矢印ARW2で示されているように、データ・ブロックB[0]、D[0]、B[1]、D[1]、…を先頭から順番に読み出す。それだけで、再生装置はメインTSとサブTSとを交互に同じ再生時間ずつ読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
実際には、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が等しければ、読み出し処理にジャンプを生じさせることなく、復号処理の同期を維持することはできる。従って、再生期間又はビデオ・ストリームの再生時間が等しくなくても、図106の(b)に示されている場合と同様に、再生装置はデータ・ブロック群を先頭から順番に読み出すだけで、3D映像のシームレス再生を確実に持続できる。
隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間では、VAUのいずれかのヘッダの数、又はPESヘッダの数が等しくてもよい。データ・ブロック間での復号処理の同期にはそれらのヘッダが利用される。従って、データ・ブロック間でヘッダの数が等しければ、VAUそのものの数が等しくなくても、復号処理の同期を維持することは比較的容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータが全て同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間ではエントリ・ポイントの数が等しくてもよい。図105を再び参照するに、エクステント・ペア・フラグ=0のエントリ・ポイントA530、A540、A531、A541を除けば、ファイル・ベースA501とファイルDEPA502とでは、先頭から同じ順序のエクステントEXT1[k]、EXT2[k]が同じ数のエントリ・ポイントA510、A520を含む。2D再生モードと3D再生モードとではジャンプの有無は異なる。しかし、データ・ブロック間でエントリ・ポイントの数が等しいとき、再生時間も実質的に等しい。従って、ジャンプの有無にかかわらず、復号処理の同期を維持することは容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータの全てが同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
<マルチアングル>
図107の(a)は、マルチアングルに対応する多重化ストリーム・データの再生経路を示す模式図である。図107の(a)を参照するに、その多重化ストリーム・データには、ベースビュー、ライトビュー、及びデプスマップの三種類のストリーム・データL、R、Dが多重化されている。例えばL/Rモードではベースビューとライトビューとのストリーム・データL、Rがパラレルに再生される。更に、マルチアングル期間PANGで再生される部分にはアングル(視野角)別のストリーム・データAk、Bk、Ckが多重化されている(k=0、1、2、…、n)。各アングルのストリーム・データAk、Bk、Ckは、再生時間がアングル・チェンジ間隔に等しい部分に分割されている。各部分Ak、Bk、Ckには更に、ベースビュー、ライトビュー、及びデプスマップの各ストリーム・データが多重化されている。マルチアングル期間PANGでは、ユーザの操作又はアプリケーション・プログラムの指示に応じて、アングル別のストリーム・データAk、Bk、Ckの間で再生対象を切り換えることができる。
図107の(b)は、BD−ROMディスク上に記録されたデータ・ブロック群A701と、それらに対するL/Rモードでの再生経路A702とを示す模式図である。そのデータ・ブロック群A701は、図107の(a)に示されているストリーム・データL、R、D、Ak、Bk、Ckを含む。図107の(b)を参照するに、そのデータ・ブロック群A701では、通常のストリーム・データL、R、Dに加え、アングル別のストリーム・データAk、Bk、Ckがインターリーブ配置で記録されている。L/Rモードでは、再生経路A702の示すように、ライトビュー・データ・ブロックRとベースビュー・データ・ブロックLとは読み出され、デプスマップ・データ・ブロックDの読み出しはジャンプによってスキップされる。更に、アングル別のストリーム・データAk、Bk、Ckのうち、選択されたもののデータ・ブロックA0、B1、…、Cnは読み出され、その他のデータ・ブロックの読み出しはジャンプによってスキップされる。
図107の(c)は、アングル別のストリーム・データAk、Bk、Ckを構成するエクステント・ブロックを示す模式図である。図107の(c)を参照するに、各アングルのストリーム・データAk、Bk、Ckでは、三種類のデータ・ブロックL、R、Dがインターリーブ配置を構成している。L/Rモードでは、再生経路A702の示すように、アングル別のストリーム・データAk、Bk、Ckのうち、選択されたものA0、B1、…、Cnからライトビュー・データ・ブロックRとベースビュー・データ・ブロックLとが読み出される。一方、他のデータ・ブロックの読み出しはジャンプによってスキップされる。
尚、各アングルのストリーム・データAk、Bk、Ckでは、ベースビュー、ライトビュー、及びデプスマップの各ストリーム・データが単一の多重化ストリーム・データに収められていてもよい。但し、その記録レートは、2D再生装置で再生可能なシステムレートの範囲に抑えられなければならない。また、その多重化ストリーム・データと他の3D映像の多重化ストリーム・データとの間では、システム・ターゲット・デコーダに転送されるべきストリーム・データ(TS)の数が異なる。従って、3Dプレイリスト・ファイル内の各PIは、再生対象のTSの数を示すフラグを含んでもよい。そのフラグを利用して、それらの多重化ストリーム・データを一つの3Dプレイリスト・ファイルの中で切り換えることができる。3D再生モードで2つのTSを再生対象として規定するPIでは、そのフラグが2TSを示す。一方、上記の多重化ストリーム・データのような単一のTSを再生対象として規定するPIでは、そのフラグが1TSを示す。3D再生装置は、そのフラグの値に応じて、システム・ターゲット・デコーダの設定を切り換えることができる。そのフラグは更に、コネクション・コンディション(CC)の値で表現されてもよい。例えばCCが“7”を示すときは、2TSから1TSへの移行を示し、“8”を示すときは、1TSから2TSへの移行を示す。
図108は、マルチアングル期間を構成するデータ・ブロック群A801、及び、それらに対する2D再生モードでの再生経路A810とL/Rモードでの再生経路A820とを示す模式図である。図108を参照するに、そのデータ・ブロック群A801は三種類のアングル・チェンジ区間ANG1#k、ANG2#k、ANG3#k(k=1、2、…、6、7)のインターリーブ配置から成る。「アングル・チェンジ区間」は、一つのアングルから見た映像のストリーム・データが連続して格納された一連のデータ・ブロック群をいう。種類の異なるアングル・チェンジ区間では映像のアングルが異なる。各種類のk番目のアングル・チェンジ区間ANG1#k、ANG2#k、ANG3#kは互いに隣接する。各アングル・チェンジ区間ANGm#k(m=1、2、3)は一つのエクステント・ブロックから成り、すなわち一つのエクステントSSEXTSS[k]として参照される(k=10、11、…、23)。それにより、複数のアングル・チェンジ区間が一つのエクステントSSEXTSS[k]を構成する場合よりも、リード・バッファの容量を削減することができる。更に、各エクステント・ブロックはディペンデントビュー・データ・ブロックRとベースビュー・データ・ブロックLとを一つずつ含む。それらのデータ・ブロックの対R、Lはn番目のディペンデントビュー・エクステントEXT2[n]とn番目のベースビュー・エクステントEXT1[n]との対として参照される(整数nは0以上である)。
各エクステント・ブロックのサイズは条件1−4を満たす。特に、条件1で考慮されるべきジャンプは、2D再生モードでの再生経路A810の示す、他のアングル・チェンジ区間の読み出しをスキップするためのジャンプJANG-2Dである。一方、条件4で考慮されるべきジャンプは、L/Rモードでの再生経路A820の示す、他のアングル・チェンジ区間の読み出しをスキップするためのジャンプJANG-LRである。各再生経路A810、A820の示すとおり、いずれのジャンプJANG-2D、JANG-LRも一般に、アングルの切り換え、すなわち、読み出されるべきアングル・チェンジ区間の種類の切り換えを含む。
図108を更に参照するに、各アングル・チェンジ区間はベースビュー・データ・ブロックLを一つ含む。従って、ベースビュー・エクステントEXT1[・]のエクステントATC時間はアングル・チェンジ区間の長さの最大値TANG以下に制限される。例えば、アングルの切り換えを表示時間2秒当たりに1回の割合で実行可能にするには、アングル・チェンジ区間の長さの最大値TANGを2秒間に制限しなければならない。その結果、ベースビュー・エクステントEXT1[・]のエクステントATC時間は2秒以下に制限される。それ故、条件5は、ベースビュー・エクステントのサイズSEXT1が式(5)に代えて次式(11)を満たすことに変更される:
Figure 2011004600
尚、式(5)の右辺に代えて、式(9)の右辺が比較されてもよい。また、式(7A)又は(7B)に示されている2DエクステントのエクステントATC時間に対する延長時間ΔTと同様に、アングル・チェンジ区間の長さの最大値TANGは、GOPの長さ、又は、所定時間当たりに再生可能なエクステント数の上限から決定されてもよい。更に、その延長時間ΔTは、マルチアングルでは0に設定されてもよい。
<放送、通信回路を経由したデータ配信>
本発明の実施形態による記録媒体は、光ディスクの他、例えばSDメモリカードを含む可搬性半導体メモリ装置等、パッケージメディアとして利用可能なリムーバブルメディア全般を含む。また、上記の実施形態の説明では、予めデータが記録された光ディスク、すなわち、BD−ROM又はDVD−ROM等の既存の読み出し専用の光ディスクが例に挙げられている。しかし、本発明の実施形態はそれらに限定されない。例えば放送で、又はネットワーク経由で配信された3D映像のコンテンツを端末装置によって、BD−RE又はDVD−RAM等の既存の書き込み可能な光ディスクへ書き込むときに、実施形態1によるエクステントの配置が利用されてもよい。ここで、その端末装置は、再生装置に組み込まれていても、再生装置とは別の装置であってもよい。
<半導体メモリカードの再生>
本発明の実施形態による記録媒体として、光ディスクに代えて半導体メモリカードを用いたときにおける、再生装置のデータ読み出し部について説明する。
再生装置のうち、光ディスクからデータを読み出す部分は、例えば光ディスクドライブによって構成される。それに対し、半導体メモリカードからデータを読み出す部分は、専用のインタフェース(I/F)で構成される。より詳細には、再生装置にカードスロットが設けられ、その内部に上記のI/Fが実装される。そのカードスロットに半導体メモリカードが挿入されるとき、そのI/Fを通してその半導体メモリカードが再生装置と電気的に接続される。更に、半導体メモリカードからデータがそのI/Fを通して再生装置に読み出される。
<BD−ROMディスク上のデータに対する著作権保護技術>
ここで、以降の補足事項の前提として、BD−ROMディスクに記録されているデータの著作権を保護するための仕組みについて説明する。
BD−ROMディスクに記録されたデータの一部が、例えば著作権の保護又はデータの秘匿性の向上の観点から暗号化されている場合がある。その暗号化データは例えば、ビデオ・ストリーム、オーディオ・ストリーム、又はその他のストリームを含む。その場合、暗号化データは以下のように解読される。
再生装置には予め、BD−ROMディスク上の暗号化データを解読するための「鍵」の生成に必要なデータの一部、すなわちデバイスキーが記憶されている。一方、BD−ROMディスクには、そのその「鍵」の生成に必要なデータの別の一部、すなわちMKB(メディアキーブロック)と、その「鍵」自体の暗号化データ、すなわち暗号化タイトルキーとが記録されている。デバイスキー、MKB、及び暗号化タイトルキーは互いに対応付けられ、更に、図2に示されているBD−ROMディスク101上のBCA201に書き込まれた特定のID、すなわちボリュームIDにも対応付けられている。デバイスキー、MKB、暗号化タイトルキー、及びボリュームIDの組み合わせが正しくなければ、暗号化データの解読はできない。すなわち、これらの組み合わせが正しい場合にのみ、上記の「鍵」、すなわちタイトルキーが生成される。具体的には、まず、デバイスキー、MKB、及びボリュームIDを利用して暗号化タイトルキーが復号される。それによってタイトルキーを導き出すことができたときのみ、そのタイトルキーを上記の「鍵」として用いて暗号化データを解読することができる。
BD−ROMディスク上の暗号化データを再生装置によって再生しようとしても、例えばそのBD−ROMディスク上の暗号化タイトルキー、MKB、及びボリュームIDに予め対応付けられたデバイスキーがその再生装置内に記憶されていなければ、その暗号化データを再生することができない。何故なら、その暗号化データの解読に必要な鍵、すなわちタイトルキーは、MKB、デバイスキー、及びボリュームIDの正しい組み合わせで暗号化タイトルキーを復号しなければ導き出せないからである。
BD−ROMディスクに記録されるべきビデオ・ストリームとオーディオ・ストリームとの少なくともいずれかの著作権を保護するには、まず、保護対象のストリームをタイトルキーで暗号化して、BD−ROMディスクに記録する。次に、MKB、デバイスキー、及びボリュームIDの組み合わせから鍵を生成し、その鍵で上記のタイトルキーを暗号化して暗号化タイトルキーに変換する。更に、MKB、ボリュームID、及び暗号化タイトルキーをBD−ROMディスクに記録する。そのBD−ROMディスクからは、上述の鍵の生成に利用されたデバイスキーを備えた再生装置でしか、暗号化されたビデオ・ストリーム及び/又はオーディオ・ストリームをデコーダで復号することはできない。こうして、BD−ROMディスクに記録されたデータの著作権を保護することができる。
以上に述べた、BD−ROMディスクにおけるデータの著作権保護の仕組みは、BD−ROMディスク以外にも適用可能である。例えば読み書き可能な半導体メモリ装置、特にSDカード等の可搬性半導体メモリカードにも適用可能である。
<電子配信を利用した記録媒体へのデータ記録>
電子配信を利用して本発明の実施形態による再生装置へ3D映像のAVストリーム・ファイル等のデータ(以下、配信データという。)を伝達し、更にその再生装置にその配信データを半導体メモリカードに記録させる処理について、以下説明する。尚、以下の動作は、上記の再生装置に代えて、その処理に特化した端末装置によって行われてもよい。また、記録先の半導体メモリカードがSDメモリカードである場合を想定する。
再生装置は上記のとおり、カードスロットを備えている。そのカードスロットにはSDメモリカードが挿入されている。この状態で、再生装置はまず、ネットワーク上の配信サーバへ配信データの送信要求を送出する。このとき、再生装置はSDメモリカードからその識別情報を読み出して、その識別情報を送信要求と共に配信サーバへ送出する。SDメモリカードの識別情報は、例えばそのSDメモリカード固有の識別番号、より具体的にはそのSDメモリカードのシリアル番号である。この識別情報は上述のボリュームIDとして利用される。
配信サーバには配信データが格納されている。その配信データのうち、ビデオ・ストリーム及び/又はオーディオ・ストリーム等、暗号化による保護の必要なデータは、所定のタイトルキーを用いて暗号化されている。その暗号化データは同じタイトルキーで復号が可能である。
配信サーバは、再生装置と共通の秘密鍵としてデバイスキーを保持している。配信サーバは更に、SDメモリカードと共通のMKBを保持している。配信サーバは、再生装置から配信データの送信要求とSDメモリカードの識別情報とを受け付けたとき、まず、デバイスキー、MKB、及びその識別情報から鍵を生成し、その鍵でタイトルキーを暗号化して暗号化タイトルキーを生成する。
配信サーバは次に公開鍵情報を生成する。その公開鍵情報は、例えば、上述のMKB、暗号化タイトルキー、署名情報、SDメモリカードの識別番号、及びデバイスリストを含む。署名情報は、例えば公開鍵情報のハッシュ値を含む。デバイスリストは、無効にすべきデバイス、すなわち、配信データ中の暗号化データを不正に再生する危険性のあるデバイスのリストである。そのリストには、例えば、再生装置のデバイスキー、再生装置の識別番号、再生装置に内蔵のデコーダ等、各種部品の識別番号、又は機能(プログラム)が特定されている。
配信サーバは更に、配信データと公開鍵情報とを再生装置へ送出する。再生装置は、それらを受信して、カードスロット内の専用I/Fを通してSDメモリカードに記録する。
SDメモリカードに記録された配信データのうち、暗号化データは、例えば公開鍵情報を以下のように利用して復号される。まず、公開鍵情報の認証として次の三種類のチェック(1)−(3)が行われる。尚、それらはどのような順序で行われてもよい。
(1)公開鍵情報に含まれるSDメモリカードの識別情報が、カードスロットに挿入されているSDメモリカードに記憶されている識別番号と一致するか否か。
(2)公開鍵情報から算出されるハッシュ値が、署名情報に含まれるハッシュ値と一致するか否か。
(3)公開鍵情報の示すデバイスリストから当該再生装置が除外されているか否か。具体的には、デバイスリストから当該再生装置のデバイスキーが除外されているか否か。
上述のチェック(1)−(3)のいずれかの結果が否定的であるとき、再生装置は暗号化データの復号処理を中止する。逆に、上述のチェック(1)−(3)の全ての結果が肯定的であるとき、再生装置は公開鍵情報の正当性を認め、デバイスキー、MKB、及びSDメモリカードの識別情報を利用して、公開鍵情報内の暗号化タイトルキーをタイトルキーに復号する。再生装置は更に、そのタイトルキーを用いて暗号化データを、例えばビデオ・ストリーム及び/又はオーディオ・ストリームに復号する。
以上の仕組みには次の利点がある。電子配信時に既に、不正使用の危険性がある再生装置、部品、及び機能(プログラム)等が知られている場合、これらの識別情報がデバイスリストに列挙され、公開鍵情報の一部として配信される。一方、配信データを要求した再生装置は必ず、そのデバイスリスト内の識別情報を、その再生装置及びその部品等の識別情報と照合しなければならない。それにより、その再生装置又はその部品等がデバイスリストに示されていれば、たとえ、SDメモリカードの識別番号、MKB、暗号化タイトルキー、及びデバイスキーの組み合わせが正しくても、その再生装置は公開鍵情報を配信データ内の暗号化データの復号には利用できない。こうして、配信データの不正使用を効果的に抑制することができる。
半導体メモリカードの識別情報は、半導体メモリカード内の記録領域のうち、特に秘匿性の高い記録領域に格納することが望ましい。何故なら、万一、その識別情報、例えばSDメモリカードではそのシリアル番号が不正に改竄された場合、SDメモリカードの違法コピーが容易に実行可能になってしまうからである。すなわち、その改竄の結果、同一の識別情報を持つ半導体メモリカードが複数存在するようになれば、上述のチェック(1)では正規品と違法な複製品との識別ができなくなるからである。従って、半導体メモリカードの識別情報は秘匿性の高い記録領域に記録して、不正な改竄から保護されねばならない。
半導体メモリカード内にこのような秘匿性の高い記録領域を構成する手段は、例えば次のとおりである。まず、通常のデータ用の記録領域(以下、第1の記録領域と称す。)から電気的に分離された別の記録領域(以下、第2の記録領域と称す。)が設置される。次に、第2の記録領域へのアクセス専用の制御回路が半導体メモリカード内に設けられる。それにより、第2の記録領域へはその制御回路を介してのみアクセスが可能であるようにする。例えば、第2の記録領域には、暗号化されたデータのみが記録され、その暗号化されたデータを復号するための回路が制御回路内にのみ組み込まれる。それにより、第2の記録領域内のデータへのアクセスは、そのデータを制御回路に復号させなければ不可能である。その他に、第2の記録領域内の各データのアドレスを制御回路にのみ保持させてもよい。その場合、第2の記録領域内のデータのアドレスは制御回路にしか特定できない。
半導体メモリカードの識別情報が第2の記録領域に記録された場合、再生装置上で動作するアプリケーション・プログラムは、電子配信を利用して配信サーバからデータを取得して半導体メモリカードに記録する場合、次のような処理を行う。まず、そのアプリケーション・プログラムは、メモリカードI/Fを介して上記の制御回路に対し、第2の記録領域に記録された半導体メモリカードの識別情報へのアクセス要求を発行する。制御回路はその要求に応じて、まず、第2の記録領域からその識別情報を読み出す。制御回路は次に、メモリカードI/Fを介して上記のアプリケーション・プログラムへその識別情報を送る。そのアプリケーション・プログラムはその後、その識別情報と共に配信データの送信要求を配信サーバに送出する。アプリケーション・プログラムは更に、その要求に応じて配信サーバから受信される公開鍵情報と配信データとを、メモリカードI/Fを介して半導体メモリカード内の第1の記録領域に記録する。
尚、上記のアプリケーション・プログラムは、半導体メモリカード内の制御回路に対して上記のアクセス要求を発行する前に、そのアプリケーション・プログラム自体の改竄の有無をチェックすることが望ましい。そのチェックには、例えばX.509に準拠のデジタル証明書が利用されてもよい。また、配信データは上記のとおり、半導体メモリカード内の第1の記録領域に記録されればよく、その配信データへのアクセスは半導体メモリカード内の制御回路によって制御されなくてもよい。
<リアルタイム・レコーディングへの適用>
本発明の実施形態では、AVストリーム・ファイル及びプレイリスト・ファイルは、オーサリングシステムにおけるプリレコーディング技術によってBD−ROMディスクに記録されてユーザに供給されることを前提とした。しかし、AVストリーム・ファイル及びプレイリスト・ファイルは、リアルタイム・レコーディングによって、BD−REディスク、BD−Rディスク、ハードディスク、又は半導体メモリカード等の書き込み可能な記録媒体(以下、BD−REディスク等と略す。)に記録されてユーザに供給されるものであってもよい。その場合、AVストリーム・ファイルは、アナログ入力信号を記録装置がリアルタイムで復号することによって得られたトランスポート・ストリームであってもよい。その他に、記録装置がデジタル入力したトランスポート・ストリームをパーシャル化することで得られるトランスポート・ストリームであってもよい。
リアルタイム・レコーディングを実行する記録装置は、ビデオ・エンコーダ、オーディオエンコーダ、マルチプレクサ、及びソースパケタイザを含む。ビデオ・エンコーダはビデオ信号を符号化してビデオ・ストリームに変換する。オーディオエンコーダはオーディオ信号を符号化してオーディオ・ストリームに変換する。マルチプレクサは、ビデオ・ストリームとオーディオ・ストリームとを多重化して、MPEG2−TS形式のデジタル・ストリームに変換する。ソースパケタイザは、MPEG2−TS形式のデジタル・ストリーム内のTSパケットをソースパケットに変換する。記録装置は各ソースパケットをAVストリーム・ファイルに格納して、BD−REディスク等に書き込む。
AVストリーム・ファイルの書き込み処理と並行して、記録装置の制御部はクリップ情報ファイルとプレイリスト・ファイルとをメモリ上で生成してBD−REディスク等に書き込む。具体的には、ユーザによって録画処理が要求されたとき、制御部はまず、AVストリーム・ファイルに合わせてクリップ情報ファイルを生成してBD−REディスク等に書き込む。その場合、外部から受信されるトランスポート・ストリームからビデオ・ストリーム内の一つのGOPの先頭が検出される度に、又は、ビデオ・エンコーダによってビデオ・ストリーム内の一つのGOPが生成される度に、制御部は、そのGOPの先頭に位置するIピクチャのPTSと、そのGOPの先頭が格納されたソースパケットのSPNとを取得する。制御部は更に、そのPTSとSPNとの対を一つのエントリ・ポイントとしてクリップ情報ファイルのエントリ・マップに追記する。ここで、そのエントリ・ポイントには「is_angle_changeフラグ」が追加される。is_angle_changeフラグは、そのGOPの先頭がIDRピクチャであるときは“オン”に設定され、そのGOPの先頭がIDRピクチャではないときは“オフ”に設定される。クリップ情報ファイル内には更に、ストリーム属性情報が記録対象のストリームの属性に従って設定される。こうして、AVストリーム・ファイルとクリップ情報ファイルとがBD−REディスク等に書き込まれた後、制御部はそのクリップ情報ファイル内のエントリ・マップを利用してプレイリスト・ファイルを生成し、BD−REディスク等に書き込む。
<マネージド・コピー>
本発明の実施形態による再生装置は更に、マネージド・コピーによってBD−ROMディスク101上のデジタル・ストリームを他の記録媒体へ書き込んでもよい。「マネージド・コピー」とは、BD−ROMディスク等の読み出し専用記録媒体から書き込み可能な記録媒体へ、デジタル・ストリーム、プレイリスト・ファイル、クリップ情報ファイル、及びアプリケーション・プログラムをコピーすることを、サーバとの通信による認証が成功した場合にのみ許可するための技術をいう。その書き込み可能な記録媒体は、BD−R、BD−RE、DVD−R、DVD−RW、及びDVD−RAM等の書き込み可能な光ディスク、ハードディスク、並びに、SDメモリカード、メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)、及びマルチメディアカード(登録商標)等の可搬性半導体メモリ装置を含む。マネージド・コピーは、読み出し専用記録媒体に記録されたデータのバックアップ回数の制限、及びバックアップ処理に対する課金を可能にする。
BD−ROMディスクからBD−Rディスク又はBD−REディスクへのマネージド・コピーが行われる場合、両ディスクの記録容量が等しいときは、コピー元のディスクに記録されたビット・ストリームがそのまま、順番にコピーされればよい。
マネージド・コピーが異種の記録媒体間で行われるときはトランス・コードが必要である。「トランス・コード」とは、コピー元のディスクに記録されているデジタル・ストリームをコピー先の記録媒体のアプリケーション・フォーマットに適合させるための処理をいう。トランス・コードは、例えば、MPEG2−TS形式からMPEG2プログラム・ストリーム形式へ変換する処理、及び、ビデオ・ストリームとオーディオ・ストリームとのそれぞれに割り当てられているビットレートを低くして符号化し直す処理を含む。トランス・コードでは、上述のリアルタイム・レコーディングによって、AVストリーム・ファイル、クリップ情報ファイル、及びプレイリスト・ファイルが生成されねばならない。
<データ構造の記述方法>
本発明の実施形態によるデータ構造のうち、「所定型の情報が複数存在する」という繰り返し構造は、for文に制御変数の初期値と繰り返し条件とを記述することによって定義される。また、「所定の条件が成立するときに所定の情報が定義される」というデータ構造は、if文にその条件と、その条件の成立時に設定されるべき変数とを記述することによって定義される。このように、実施形態によるデータ構造は高級プログラミング言語によって記述される。従って、そのデータ構造は、「構文解析」、「最適化」、「資源割付」、及び「コード生成」といったコンパイラによる翻訳過程を経て、コンピュータによって読み取り可能なコードに変換され、記録媒体に記録される。高級プログラミング言語での記述により、そのデータ構造は、オブジェクト指向言語におけるクラス構造体のメソッド以外の部分、具体的には、そのクラス構造体における配列型のメンバー変数として扱われ、プログラムの一部を成す。すなわち、そのデータ構造は、プログラムと実質的に同等である。従って、そのデータ構造はコンピュータ関連の発明として保護を受けるべきである。
<再生プログラムによるプレイリスト・ファイル、クリップ情報ファイルの管理>
プレイリスト・ファイルとAVストリーム・ファイルとが記録媒体に記録されるとき、その記録媒体には再生プログラムが実行形式のファイルとして記録される。再生プログラムはコンピュータに、プレイリスト・ファイルに従ってAVストリーム・ファイルを再生させる。再生プログラムは記録媒体からコンピュータ内のメモリ装置にロードされた後、そのコンピュータによって実行される。そのロード処理はコンパイル処理又はリンク処理を含む。それらの処理により、再生プログラムはメモリ装置内では複数のセクションに分割される。それらのセクションは、textセクション、dataセクション、bssセクション、及びstackセクションを含む。textセクションは、再生プログラムのコード列、変数の初期値、及び書き換え不可のデータを含む。dataセクションは、初期値を持つ変数、及び書き換え可能なデータを含む。dataセクションは特に、記録媒体上に記録された、随時アクセスされるファイルを含む。bssセクションは、初期値を持たない変数を含む。bssセクション内のデータは、textセクション内のコードの示す命令に応じて参照される。コンパイル処理又はリンク処理では、コンピュータ内のRAMにbssセクション用の領域が確保される。stackセクションは、必要に応じて一時的に確保されるメモリ領域である。再生プログラムによる各処理ではローカル変数が一時的に使用される。stackセクションはそれらのローカル変数を含む。プログラムの実行が開始されるとき、bssセクション内の変数はゼロで初期化され、stackセクションには必要なメモリ領域が確保される。
プレイリスト・ファイル及びクリップ情報ファイルは上述のとおり、記録媒体上では既に、コンピュータによって読み取り可能なコードに変換されている。従って、それらのファイルは再生プログラムの実行時、textセクション内の「書き換え不可のデータ」、又はdataセクション内の「随時アクセスされるファイル」として管理される。すなわち、プレイリスト・ファイル及びクリップ情報ファイルは、再生プログラムの実行時にその構成要素の中に組み込まれる。それ故、プレイリスト・ファイル及びクリップ情報ファイルは再生プログラムにおいて、単なるデータの提示を超えた役割を果たす。
本発明は立体視映像の再生技術に関し、上記のとおり、TS優先度フラグを利用してTSパケットを識別する。このように、本発明は明らかに産業上利用可能である。
1500 ディペンデントビュー・ビデオ・ストリーム内のVAU#1
1510 PESパケット
1512 PESペイロード
1520 TSパケット列
1521 TSパケット列1520の第1グループ
1522 TSパケット列1520の第2グループ
1523 TSパケット列1520の第3グループ
1530 第1グループ1521の後端に位置するTSパケット
1531 TSパケット1530のTSヘッダ
1532 TSパケット1530のADフィールド
1533 TSパケット1530のTSペイロード
1540 第2グループ1522に属するTSパケット
1541 TSパケット1540のTSヘッダ
1542 TSパケット1540のTSペイロード
1550 第2グループ1522の後端に位置するTSパケット
1551 TSパケット1550のTSヘッダ
1552 TSパケット1550のADフィールド
1553 TSパケット1550のTSペイロード
1560 第3グループ1523に属するTSパケット
1561 TSパケット1560のTSヘッダ
1562 TSパケット1560のTSペイロード
本発明は、立体視映像、すなわち3次元(3D)映像の再生技術に関し、特に、記録媒体上でのストリーム・データの構造に関する。
近年、3D映像に対する一般的な関心が高まっている。例えば遊園地では、3D映像を利用したアトラクションが人気を集めている。また、全国各地で、3D映像の映画を上映する映画館が増加している。そのような3D映像への関心の高まりに伴い、3D映像を各家庭でも再生可能にするための技術の開発が進められている。その技術では、3D映像コンテンツを高画質のまま、光ディスク等の可搬性記録媒体に記録することが求められる。更に、2D再生装置に対するその記録媒体の互換性が求められる。すなわち、その記録媒体に記録された3D映像コンテンツから、2D再生装置は2D映像を再生でき、3D再生装置は3D映像を再生できることが望ましい。ここで、「2D再生装置」とは、平面視映像、すなわち2次元(2D)映像のみを再生可能な従来の再生装置を意味し、「3D再生装置」とは、3D映像を再生可能な再生装置を意味する。尚、本明細書では、3D再生装置が従来の2D映像も再生可能である場合を想定する。
図109は、3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である(例えば特許文献1参照)。光ディスクPDSには二種類のビデオ・ストリームが格納されている。一方は2D/レフトビュー・ビデオ・ストリームであり、他方はライトビュー・ビデオ・ストリームである。「2D/レフトビュー・ビデオ・ストリーム」は、3D映像の再生では視聴者の左目に見せる2D映像、すなわち「レフトビュー」を表し、2D映像の再生ではその2D映像そのものを表す。「ライトビュー・ビデオ・ストリーム」は、3D映像の再生において視聴者の右目に見せる2D映像、すなわち「ライトビュー」を表す。左右のビデオ・ストリーム間では、フレームレートは等しいが、フレームの表示時期はフレーム周期の半分だけずれている。例えば、各ビデオ・ストリームのフレームレートが1秒間に24フレームであるとき、2D/レフトビュー・ビデオ・ストリームとライトビュー・ビデオ・ストリームとの各フレームが1/48秒ごとに交互に表示される。
各ビデオ・ストリームは、図109に示されているように、光ディスクPDS上では複数のエクステントEX1A−C、EX2A−Cに分割されている。各エクステントはGOP(グループ・オブ・ピクチャ)を1以上含み、光ディスクドライブによって一括して読み出される。以下、2D/レフトビュー・ビデオ・ストリームに属するエクステントを「2D/レフトビュー・エクステント」といい、ライトビュー・ビデオ・ストリームに属するエクステントを「ライトビュー・エクステント」という。2D/レフトビュー・エクステントEX1A−Cとライトビュー・エクステントEX2A−Cとは交互に光ディスクPDSのトラックTRC上に配置されている。隣接する2つのエクステントEX1A+EX2A、EX1B+EX2B、EX1C+EX2Cの間では再生時間が等しい。このようなエクステントの配置を「インターリーブ配置」という。インターリーブ配置で記録されたエクステント群は、以下に述べるように、3D映像の再生と2D映像の再生との両方で利用される。
2D再生装置PL2では、光ディスクドライブDD2が光ディスクPDS上のエクステントのうち、2D/レフトビュー・エクステントEX1A−Cのみを先頭から順番に読み出す一方、ライトビュー・エクステントEX2A−Cの読み出しをスキップする。更に、映像デコーダVDCが、光ディスクドライブDD2によって読み出されたエクステントを順次、映像フレームVFLに復号する。それにより、表示装置DS2にはレフトビューのみが表示されるので、視聴者には通常の2D映像が見える。
3D再生装置PL3では、光ディスクドライブDD3が光ディスクPDSから2D/レフトビュー・エクステントとライトビュー・エクステントとを交互に、符号で表せば、EX1A、EX2A、EX1B、EX2B、EX1C、EX2Cの順に読み出す。更に、読み出された各エクステントから、2D/レフトビュー・ビデオ・ストリームは左映像デコーダVDLへ送られ、ライトビュー・ビデオ・ストリームは右映像デコーダVDRへ送られる。各映像デコーダVDL、VDRは交互に各ビデオ・ストリームを映像フレームVFL、VFRに復号する。それにより、表示装置DS3にはレフトビューとライトビューとが交互に表示される。一方、シャッター眼鏡SHGは左右のレンズを、表示装置DS3による画面の切り換えに同期して交互に不透明にする。従って、シャッター眼鏡SHGをかけた視聴者には、表示装置DS3に表示された映像が3D映像に見える。
光ディスクに限らず、記録媒体に3D映像コンテンツを格納するときは、上記のようにエクステントのインターリーブ配置を利用する。それにより、その記録媒体を2D映像の再生と3D映像の再生との両方で利用することができる。
特許第3935507号公報
映像コンテンツは一般に、ビデオ・ストリームの他に、字幕及び対話画面等のグラフィックス映像を表すグラフィックス・ストリームを含む。3D映像コンテンツから再生される映像では、それらのグラフィックス映像も3次元化される。ここで、その3次元化の手法には2プレーン・モードと1プレーン+オフセット・モードとがある。2プレーン・モードの3D映像コンテンツは、レフトビューとライトビューとの各グラフィックス映像を表すグラフィックス・ストリームの対を含む。2プレーン・モードの再生装置は、各グラフィックス・ストリームから個別にレフトビューとライトビューとのグラフィックス・プレーンを生成する。1プレーン+オフセット・モードの3D映像コンテンツは、2Dグラフィックス映像を表すグラフィックス・ストリームと、それに対するオフセット情報とを含む。1プレーン+オフセット・モードの再生装置は、まずグラフィックス・ストリームから一つのグラフィックス・プレーンを生成し、次にオフセット情報に従ってそのグラフィックス・プレーンに水平方向のオフセットを与える。それにより、そのグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対が生成される。いずれのモードでも、表示装置の画面にはレフトビューとライトビューとのグラフィックス映像が交互に表示される。その結果、視聴者にはそれらのグラフィックス映像が3D映像として見える。
3D映像コンテンツにグラフィックス・ストリームとオフセット情報とを別のファイルとして組み込んだ場合、1プレーン+オフセット・モードの再生装置はそれらのファイルを個別に処理し、得られたデータに基づいてレフトビューとライトビューとのグラフィックス映像の対を再生する。ここで、グラフィックス映像とオフセット情報とは一般にフレーム周期で変更される。しかし、オフセット情報を格納したファイルをフレーム表示の度に読み込んで解析することには、「処理が間に合わずに映像を正しく表示することができない」という危険性がある。従って、処理をフレーム周期に確実に同期させるには、予めメモリ上にオフセット情報を展開しておく必要がある。その場合、グラフィックス・ストリーム一つ当たりのオフセット情報の総量は大きいので、オフセット情報を収めたファイルを展開するのに必要な内蔵メモリの容量は大きくならざるを得ない。また、1つのシーンに複数のグラフィックス映像が存在する場合には、内蔵メモリは更に大きな容量を必要とする。このように、3D映像コンテンツにグラフィックス・ストリームとオフセット情報とを別のファイルとして組み込んだ場合には、内蔵メモリの容量の更なる削減は困難である。
上記の問題点を解消することを目的として、オフセット情報はビデオ・ストリームの中に、例えばGOP間隔で格納される。それにより、再生装置内のデコーダは、ビデオ・ストリームを復号しながら、そのビデオ・ストリームからオフセット情報を抽出することができる。その結果、再生装置はグラフィックス・ストリームとオフセット情報との間の対応関係を確実に維持できる。その上、内蔵メモリは、例えば1GOP当たりのオフセット情報を展開するのに十分な容量を持てばよい。従って、多様なグラフィックス・ストリームを含む3D映像コンテンツへの対応と、内蔵メモリの容量の更なる削減とを容易に両立させることができる。
ここで、再生装置内のデコーダに、ビデオ・ストリームからオフセット情報を抽出する機能を実装する具体的な手段としては、様々なものが想定される。例えば、その機能を、ビデオ・ストリームの復号処理専用のハードウェアに組み込む手段も、そのハードウェアとは別のハードウェア又はソフトウェアで実現する手段も想定可能である。しかし、それらの手段別に、ビデオ・ストリームやオフセット情報のデータ構造を変更するのは好ましくない。
本発明の目的は上記の問題点を解決することにあり、特に、再生装置に実装された、ビデオ・ストリームからオフセット情報を抽出する機能の様々な態様において共通に利用可能なデータ構造で、ビデオ・ストリームとオフセット情報とを一体的に記録した記録媒体を提供することにある。
本発明による記録媒体には、メインビュー・ビデオ・ストリーム、サブビュー・ビデオ・ストリーム、及びグラフィックス・ストリームが記録されている。メインビュー・ビデオ・ストリームは、立体視映像のメインビューを構成するメインビュー・ピクチャを含む。サブビュー・ビデオ・ストリームは、立体視映像のサブビューを構成するサブビュー・ピクチャと、メタデータとを含む。グラフィックス・ストリームは、平面視グラフィックス映像を構成するグラフィックス・データを含む。メインビュー・ピクチャは、再生される際にメインビュー・ビデオ・プレーンに描画され、サブビュー・ピクチャは、再生される際にサブビュー・ビデオ・プレーンに描画され、グラフィックス・データは、再生される際にグラフィックス・プレーンに描画される。メタデータは、サブビュー・ビデオ・ストリームを構成するGOPごとに配置されて、オフセット情報を含む。オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する制御情報である。オフセット制御は、グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、メインビュー・ビデオ・プレーンとサブビュー・ビデオ・プレーンとのそれぞれに合成する処理である。サブビュー・ビデオ・ストリームはトランスポート・ストリーム(TS)に多重化されている。TSを構成するTSパケットのヘッダは、当該TSパケットの優先度を示すTS優先度フラグを含む。メタデータを含むTSパケットのTS優先度フラグは、サブビュー・ピクチャを含むTSパケットのTS優先度フラグと値が異なる。
本発明による記録媒体は、再生装置の復号部に、TS優先度フラグの値に従って、メタデータを含むTSパケットと、サブビュー・ピクチャを含むTSパケットとを分離させることができる。従って、その復号部では、メタデータを含むTSパケットからオフセット情報を抽出する機能部と、サブビュー・ピクチャを含むTSパケットから非圧縮のピクチャを復号する機能部とが別々に実装されてもよい。その場合、それらの機能部の具体的な態様は、互いに独立に設計可能である。一方、それらの機能部が一体化されている復号部では、TS優先度フラグの値に依らず、サブビュー・ビデオ・ストリームを含むTSパケットを全て、その一体化された機能部に処理させればよい。このように、本発明による記録媒体は、再生装置に実装された、ビデオ・ストリームからオフセット情報を抽出する機能の様々な態様において共通に利用可能なデータ構造で、ビデオ・ストリームとオフセット情報とを一体的に記録することができる。
本発明の実施形態1による記録媒体を使用するホームシアター・システムを示す模式図である。 図1に示されているBD−ROMディスク101上のデータ構造を示す模式図である。 (a)、(b)は、BD−ROMディスク上のメインTSとサブTSとのそれぞれに多重化されたエレメンタリ・ストリームの一覧表である。 多重化ストリーム・データ400内でのTSパケットの配置を示す模式図である。 (a)は、TSヘッダ501Hのデータ構造を示す模式図である。(b)は、多重化ストリーム・データを構成するTSパケット501の列の形式を示す模式図である。(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット502の列の形式を示す模式図である。(d)は、一連のソースパケット502が連続的に記録されたBD−ROMディスクのボリューム領域上のセクタ群の模式図である。 PGストリーム600のデータ構造を示す模式図である。 ベースビュー・ビデオ・ストリーム701とライトビュー・ビデオ・ストリーム702とのピクチャを表示時間順に示す模式図である。 ビデオ・ストリーム800のデータ構造の詳細を示す模式図である。 PESパケット列902へのビデオ・ストリーム901の格納方法の詳細を示す模式図である。 ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。 ディペンデントビュー・ビデオ・ストリーム1100の含むオフセット・メタデータ1110のデータ構造を示す模式図である。 図11に示されているオフセット・メタデータ1110の書式(Syntax)を示す表である。 (a)、(b)は、PGプレーン1310とIGプレーン1320とに対するオフセット制御を示す模式図である。(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者1330に知覚される3Dグラフィックス映像を示す模式図である。 (a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。(c)は、(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。 ディペンデントビュー・ビデオ・ストリーム内のVAU#11500を格納したPESパケット1510と、そのPESパケット1510から生成されるTSパケット列1520とを示す模式図である。 図15に示されている第1グループ1521と第2グループ1522とのそれぞれに属するTSパケットが同じTS優先度の値を示す場合のTSパケット列1620を示す模式図である。 (a)は、復号スイッチ情報1750のデータ構造を示す模式図である。(b)、(c)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの例1710、1720、1730、1740を示す模式図である。 PMT1810のデータ構造を示す模式図である。 BD−ROMディスク上での多重化ストリーム・データの物理的な配置を示す模式図である。 (a)は、BD−ROMディスク上に個別に連続して記録されたメインTS2001とサブTS2002との配置を示す模式図である。(b)は、本発明の実施形態1によるBD−ROMディスク101上に交互に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…との配置を示す模式図である。(c)、(d)はそれぞれ、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の例を示す模式図である(n=0、1、2)。 エクステント・ブロック群1901−1903に対する2D再生モードとL/Rモードとでの各再生経路2101、2102を示す模式図である。 2Dクリップ情報ファイル(01000.clpi)231のデータ構造を示す模式図である。 (a)は、エントリ・マップ2230のデータ構造を示す模式図である。(b)は、ファイル2D241に属するソースパケット群2310のうち、エントリ・マップ2230によって各EP_ID2305に対応付けられているものを示す模式図である。(c)は、そのソースパケット群2310に対応するBD−ROMディスク上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。 (a)は、図23に示されているエクステント起点2242のデータ構造を示す模式図である。(b)は、ディペンデントビュー・クリップ情報ファイル(02000.clpi)232に含まれるエクステント起点2420のデータ構造を示す模式図である。(c)は、3D再生モードの再生装置102によってファイルSS244Aから抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。(d)は、ファイルDEP(02000.m2ts)242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点2420の示すSPN2422との間の対応関係を表す模式図である。(e)は、ファイルSS244Aに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。 BD−ROMディスク上に記録された一つのエクステント・ブロック2500と、ファイル2D2510、ファイル・ベース2511、ファイルDEP2512、及びファイルSS2520の各エクステント群との間の対応関係を示す模式図である。 ベースビュー・ビデオ・ストリーム2610とディペンデントビュー・ビデオ・ストリーム2620とに設定されたエントリ・ポイントの例を示す模式図である。 2Dプレイリスト・ファイルのデータ構造を示す模式図である。 図27に示されているPI#Nのデータ構造を示す模式図である。 (a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続対象の二つの再生区間2901、2902の間の関係を示す模式図である。 2Dプレイリスト・ファイル(00001.mpls)221の示すPTSと、ファイル2D(01000.m2ts)241から再生される部分との間の対応関係を示す模式図である。 3Dプレイリスト・ファイルのデータ構造を示す模式図である。 図31に示されている3Dプレイリスト・ファイル222のメインパス3101の含むSTNテーブル3205を示す模式図である。 図31に示されているSTNテーブルSS3130のデータ構造を示す模式図である。 3Dプレイリスト・ファイル(00002.mpls)222の示すPTSと、ファイルSS(01000.ssif)244Aから再生される部分との間の対応関係を示す模式図である。 図2に示されているインデックス・ファイル(index.bdmv)211のデータ構造を示す模式図である。 図1に示されている再生装置102が6種類の判別処理を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。 2D再生装置3700の機能ブロック図である。 図37に示されているプレーヤ変数記憶部3736の含むシステム・パラメータ(SPRM)の一覧表である。 図37に示されている再生制御部3735による2Dプレイリスト再生処理のフローチャートである。 図37に示されているシステム・ターゲット・デコーダ3725の機能ブロック図である。 (a)は、図40に示されているPGデコーダ4072がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。 3D再生装置4200の機能ブロック図である。 図42に示されているプレーヤ変数記憶部4236の含むSPRM(27)とSPRM(28)とのデータ構造を示す表である。 図42に示されている再生制御部4235による3Dプレイリスト再生処理のフローチャートである。 図42に示されているシステム・ターゲット・デコーダ4225が第1の手段でオフセット・メタデータの抽出機能を実装している場合での機能ブロック図である。 図42に示されているシステム・ターゲット・デコーダ4225が第2の手段でオフセット・メタデータの抽出機能を実装している場合でのビデオ・ストリームの処理系統を示す機能ブロック図である。 図42に示されているプレーン加算部4226の機能ブロック図である。 図47に示されている各クロッピング処理部4731−4734によるオフセット制御のフローチャートである。 (b)は、第2クロッピング処理部4632によるオフセット制御で加工される前のPGプレーン・データGPを示す模式図である。(a)、(c)はそれぞれ、右向きのオフセットが与えられたPGプレーン・データRGPと、左向きのオフセットが与えられたPGプレーン・データLGPとを示す模式図である。 ディペンデントビュー・ビデオ・ストリーム内のVAU#15000を格納したPESパケット5010、及びそのPESパケット5010から生成されるTSパケット列5020とを示す模式図である。 図50に示されているTSパケット列5020からオフセット・メタデータを抽出するシステム・ターゲット・デコーダ5125内のビデオ・ストリームの処理系統を示す機能ブロック図である。 (a)は、補完関数を利用するオフセット・メタデータ5200のデータ構造を示す模式図である。(b)は、補完関数を構成する要素の種類を表すグラフである。(c)は、(a)に示されているオフセット・シーケンスID=0、1、2の各オフセット・シーケンスから3D再生装置によって算定されたオフセット値を示すグラフである。 サブパスを複数含む3Dプレイリスト・ファイル5300のデータ構造、及び、それによって参照されるファイル2D5310と二つのファイルDEP5321、5322とのデータ構造を示す模式図である。 一つのストリーム・データに対してオフセット補正値が複数設定されたSTNテーブル5400を示す模式図である。 (a)−(c)は、32インチ、50インチ、及び100インチの各画面SCA、SCB、SCCに表示されたレフトビューとライトビューとの間の視差PRA、PRB、PRCを示す模式図である。 (a)は、画面サイズと出力オフセット補正値との間の対応表を示す模式図である。(b)は、画面サイズと出力オフセット補正値との間の関数を表すグラフである。 出力オフセット補正に必要な3D再生装置の要素を示す機能ブロック図である。 (a)は、静止画像のみを表すディペンデントビュー・ビデオ・ストリーム5800のデータ構造を示す模式図である。(b)は、そのような3Dプレイリスト・ファイルを従って再生される、レフトビュー・ビデオ・プレーンの列5821、ライトビュー・ビデオ・プレーンの列5822、及びグラフィックス・プレーンの列5830を示す模式図である。 レフトビューとライトビューとの間のずれを補償する処理を行う表示装置103の機能ブロック図である。 (a)は、3D映像を撮影する一対のビデオカメラCML、CMRの水平画角HAL、HARを模式的に示す平面図である。(b)、(c)はそれぞれ、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。(d)、(e)はそれぞれ、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。 (a)は、3D映像を撮影する一対のビデオカメラCML、CMRの垂直画角VAL、VARを模式的に示す平面図である。(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。(c)は、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。 (a)は、グラフィックス・プレーンGPLの表すグラフィックス映像の一例を示す模式図である。(b)、(c)はそれぞれ、グラフィックス・プレーンGPLに右向きと左向きとのオフセットを与える処理を示す模式図である。(d)、(e)はそれぞれ、右向きと左向きとのオフセットが与えられたグラフィックス・プレーンGP1、GP2の表すグラフィックス映像を示す模式図である。 BD−ROMディスク上のPGストリーム又はIGストリームから再生されるグラフィックス・プレーン、及び、再生装置によって生成されるグラフィックス・プレーンに対して規定された、グラフィック部品の配置に関する条件を示す模式図である。 (a1)、(a2)は、いずれも同じレターボックス表示の画面を示す模式図である。(b)、(c)はそれぞれ、主映像プレーンに131ピクセルのオフセットを上向きと下向きとに与えたときの各画面を示す模式図である。(d)は、主映像プレーンに51ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。 ビデオ・シフトに必要な再生装置内の構成を示す機能ブロック図である。 (a)は、SPRM(32)とSPRM(33)との各データ構造を示す表である。(b)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルを示す模式図である。 (a)−(c)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードのビデオ・シフト部6501によって処理された主映像プレーンVPA、VPB、VPCを示す模式図である。(d)−(f)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2クロッピング処理部4632によって処理されたPGプレーンPGD、PGE、PGFを示す模式図である。(g)−(i)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2加算部4642によって合成されたプレーン・データPLG、PLH、PLIを示す模式図である。 (a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの別例を示す模式図である。(b)は、(a)に示されているSTNテーブルにおける、ビデオ・シフト・モード6812を含む複数のストリーム属性情報6803の登録順序を示す模式図である。 ビデオ・シフトに必要な再生装置内の構成の別例を示す機能ブロック図である。 (a)は、プレーヤ変数記憶部4236内のSPRM(37)のデータ構造を示す模式図である。(b)は、PGストリームの表す字幕の背景色が無色透明に設定された場合において、画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。(c)は、字幕の背景色が、SPRM(37)に格納された色座標値に設定された場合において、画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。 (a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの更に別の例を示す模式図である。(b)は、ビデオ・シフトに必要な再生装置内の構成の更に別の例を示す機能ブロック図である。 (a)は、キープ・モードに対応する字幕SB1、SB2を示す模式図である。(b)は、ダウン・モードに対応する字幕SBD、SB2を示す模式図である。(c)は、キープ・モードで表示される字幕SB1を示す模式図である。(d)は、ビデオ上移動時字幕7110がSTNテーブルに登録されていない場合において、アップ・モードで表示される字幕SB3を示す模式図である。 (a)、(b)はそれぞれ、BD−ROMディスク上の第1サブTSと第2サブTSとに多重化されたエレメンタリ・ストリームの一覧表である。 本発明の実施形態2によるSTNテーブルSS3130のデータ構造を示す模式図である。 本発明の実施形態2によるシステム・ターゲット・デコーダ7525の機能ブロック図である。 2プレーン・モードのプレーン加算部7526の部分的な機能ブロック図である。 (a)、(b)、(c)は、2D・PGストリームの表すレフトビュー・グラフィックス映像GOB0と、ライトビューPGストリームの表すライトビュー・グラフィックス映像GOB1−3とを示す模式図である。(d)、(e)、(f)はそれぞれ、(a)、(b)、(c)に示されているレフトビュー・グラフィックス映像に対するオフセット制御を示す模式図である。 本発明の実施形態3による記録装置7800の機能ブロック図である。 (a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図である。(c)は、図78に示されているビデオ・エンコーダ7802によってそれらのピクチャから算出された奥行き情報を示す模式図である。 図78に示されている記録装置7800を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。 隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。 (a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。 2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。 2D再生モードの再生装置内の再生処理系統を示すブロック図である。 (a)は、図84に示されている再生処理系統が2D再生モードで動作している間に、リード・バッファ3721に蓄積されるデータ量DAの変化を示すグラフである。(b)は、再生対象のエクステント・ブロック8510と2D再生モードでの再生経路8520との間の対応関係を示す模式図である。 BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。 3D再生モードの再生装置内の再生処理系統を示すブロック図である。 (a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、図87に示されているRB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。(c)は、そのエクステント・ブロック8810と3D再生モードでの再生経路8820との間の対応関係を示す模式図である。 (b)は、(M+1)番目(整数Mは1以上である。)のエクステント・ブロック8901と(M+2)番目のエクステント・ブロック8902、及び、それらのエクステント・ブロック8901、8902と3D再生モードでの再生経路8920との間の対応関係を示す模式図である。(a)は、それらのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化、及びそれらの和DA1+DA2の変化を示すグラフ群である。 (a)、(b)は、図89の(b)に示されている二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。 3D再生モードのシステム・ターゲット・デコーダ4225内に備えられたビデオ・ストリームの処理系統を示すブロック図である。 (a)、(b)はそれぞれ、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とのエクステント単位での合計を制限した場合における各転送速度REXT1、REXT2の時間的な変化を示すグラフである。(c)は、(a)、(b)に示されているベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とを足し合わせた値の時間的な変化を示すグラフである。 システム・ターゲット・デコーダ内でソース・デパケタイザからPIDフィルタへ転送されるTSパケットとATC時間との間の関係を示す模式図である。 (a)は、一つのエクステント・ペアについて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との組み合わせ別に最大エクステント・サイズmaxSEXT1[n]、maxSEXT2[n]を示す表である。(b)は、層境界LBの後に配置されたエクステント・ブロック9402の先頭に位置するエクステント・ペアEXT1[n]、EXT2[n]において、ベースビュー・データ・ブロックB[n]をディペンデントビュー・データ・ブロックD[n]の前に配置した場合を示す模式図である。 (a)、(b)は、図94の(b)に示されている二つのエクステント・ブロック9401、9402から連続して3D映像がシームレスに再生される際に、RB1とRB2とのそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。 (a)は、エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転している配置に対するエクステント起点のデータ構造(Syntax)を示す模式図である。(b)は、ファイル・ベースに属するベースビュー・エクステントEXT1[k](k=0、1、2、…)と、エクステント起点の示すエクステント開始フラグとの間の対応関係を表す模式図である。(c)は、ファイルDEPに属するディペンデントビュー・エクステントEXT2[k]とエクステント開始フラグとの間の対応関係を表す模式図である。(d)は、ファイルSSに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。 (c)は、RB14221に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。(a)、(b)は、(c)に示されているエクステント・ブロック9701、9702から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。(f)は、RB24222に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。(d)、(e)は、(f)に示されているエクステント・ブロック9703、9704から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。 (c)は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9810を示す模式図である。(a)、(b)は、(c)に示されているエクステント・ブロック9801から連続して3D映像がシームレスに再生される際に、RB14221、RB24222の各蓄積データ量DA1、DA2の変化を示すグラフである。 データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9900とAVストリーム・ファイル9910−9920との間の対応関係を示す模式図である。 BD−ROMディスクの層境界LBの前後に記録されたデータ・ブロック群の配置1を示す模式図である。 図100に示されている配置1のデータ・ブロック群に対する2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とを示す模式図である。 BD−ROMディスクの層境界LBの前後に記録されたデータ・ブロック群の配置2を示す模式図である。 図102に示されている配置2のデータ・ブロック群に対する2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とを示す模式図である。 図103に示されている第2エクステント・ブロックA202の後端に位置する3D再生専用ブロックB[3]SSの読み出し時間SEXT1[3]/RUD72と、RB24222の容量の下限との間の関係を示すグラフである。 ファイル・ベースA501とファイルDEPA502との各エクステントEXT1[k]、EXT2[k](整数kは0以上である。)に対して設定されたエントリ・ポイントA510、A520を示す模式図である。 (a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。 (a)は、マルチアングルに対応する多重化ストリーム・データの再生経路を示す模式図である。(b)は、BD−ROMディスク上に記録されたデータ・ブロック群A701と、それらに対するL/Rモードでの再生経路A702とを示す模式図である。(c)は、アングル別のストリーム・データAk、Bk、Ckを構成するエクステント・ブロックを示す模式図である。 マルチアングル期間を構成するデータ・ブロック群A801、及び、それらに対する2D再生モードでの再生経路A810とL/Rモードでの再生経路A820とを示す模式図である。 3D映像コンテンツが記録された光ディスクについて、2D再生装置に対する互換性を確保するための技術を示す模式図である。 本発明の実施形態4による集積回路3を用いて実現された再生装置の機能ブロック図である。 図110に示されているストリーム処理部5の代表的な構成を示す機能ブロック図である。 図110に示されている切替部53がDMACである場合における切替部53の周辺の機能ブロック図である。 図110に示されているAV出力部8の代表的な構成を示す機能ブロック図である。 画像重畳処理におけるメモリ2の利用方法の一例を示す模式図である。 図114に示されているメモリ2を利用して、レフトビュー・プレーンにグラフィックス・プレーンを重畳する方法を示す模式図である。 図114に示されているメモリ2を利用して、ライトビュー・プレーンにグラフィックス・プレーンを重畳する方法を示す模式図である。 画像重畳処理でのメモリ2の利用方法の別例を示す模式図である。 図113に示されているAV出力部8と再生装置のデータ出力部との詳細な機能ブロック図である。 (a)、(b)は、図110に示されている集積回路3について、その内部に配置された制御バス及びデータバスのトポロジーの例を示す模式図である。 表示装置に実装された実施形態4による集積回路とその周辺部との構成を示す機能ブロック図である。 図120に示されているAV出力部8の詳細な機能ブロック図である。 図110に示されている集積回路3を利用した再生装置による再生処理のフローチャートである。 図122に示されている各ステップS1−6の詳細を示すフローチャートである。
以下、本発明の好適な実施形態に係る記録媒体及び再生装置について、図面を参照しながら説明する。
《実施形態1》
図1は、本発明の実施形態1による記録媒体を使用するホームシアター・システムを示す模式図である。このホームシアター・システムは、視差映像を用いた3D映像(立体視映像)の再生方式を採用し、特に表示方式として継時分離方式を採用している(詳細は《補足》参照)。図1を参照するに、このホームシアター・システムは記録媒体101を再生対象とし、再生装置102、表示装置103、シャッター眼鏡104、及びリモコン105を含む。再生装置102と表示装置103とは、図1に示されているように互いに独立な装置である。その他に、再生装置102と表示装置103とが一体化されていてもよい。
記録媒体101は読み出し専用ブルーレイ・ディスク(登録商標)(BD:Blu−ray Disc)、すなわちBD−ROMディスクである。記録媒体101はその他の可搬性記録媒体、例えば、DVD等の他方式による光ディスク、リムーバブル・ハードディスクドライブ(HDD)、又はSDメモリカード等の半導体メモリ装置であってもよい。その記録媒体、すなわちBD−ROMディスク101は3D映像による映画コンテンツを格納している。このコンテンツは、その3D映像のレフトビューとライトビューとのそれぞれを表すビデオ・ストリームを含む。そのコンテンツは更に、その3D映像のデプスマップを表すビデオ・ストリームを含んでいてもよい。それらのビデオ・ストリームは、後述のようにデータ・ブロック単位でBD−ROMディスク101上に配置され、後述のファイル構造を利用してアクセスされる。レフトビュー又はライトビューを表すビデオ・ストリームは、2D再生装置と3D再生装置とのそれぞれにより、そのコンテンツを2D映像として再生するのに利用される。一方、レフトビューとライトビューとのそれぞれを表すビデオ・ストリームの対、又は、レフトビュー若しくはライトビューのいずれかとデプスマップとのそれぞれを表すビデオ・ストリームの対は、3D再生装置により、そのコンテンツを3D映像として再生するのに利用される。
再生装置102はBD−ROMドライブ121を搭載している。BD−ROMドライブ121はBD−ROM方式に準拠の光ディスクドライブである。再生装置102はBD−ROMドライブ121を利用して、BD−ROMディスク101からコンテンツを読み込む。再生装置102は更にそのコンテンツを映像データ/音声データに復号する。ここで、再生装置102は3D再生装置であり、そのコンテンツを2D映像と3D映像とのいずれとしても再生可能である。以下、2D映像と3D映像とのそれぞれを再生するときの再生装置102の動作モードを「2D再生モード」、「3D再生モード」という。2D再生モードでは、映像データはレフトビュー又はライトビューのいずれか一方の映像フレームを含む。3D再生モードでは、映像データはレフトビューとライトビューとの両方の映像フレームを含む。
3D再生モードは更に、レフト/ライト(L/R)モードとデプス・モードとに分けられる。「L/Rモード」では、レフトビューとライトビューとのそれぞれを表すビデオ・ストリームの組み合わせから、レフトビューとライトビューとの映像フレームの対が再生される。「デプス・モード」では、レフトビュー又はライトビューのいずれかとデプスマップとのそれぞれを表すビデオ・ストリームの組み合わせから、レフトビューとライトビューとの映像フレームの対が再生される。再生装置102はL/Rモードを備える。再生装置102は更に、デプス・モードを備えていてもよい。
再生装置102はHDMI(High−Definition Multimedia Interface)ケーブル122で表示装置103に接続されている。再生装置102は映像データ/音声データをHDMI方式の映像信号/音声信号に変換し、HDMIケーブル122を通して表示装置103に伝送する。2D再生モードでは、映像信号にはレフトビュー又はライトビューのいずれか一方の映像フレームが多重化されている。3D再生モードでは、映像信号にはレフトビューとライトビューとの両方の映像フレームが時分割で多重化されている。再生装置102は更に、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。それにより、再生装置102は、3D映像の再生に対応可能か否かを表示装置103に問い合わせることができる。
表示装置103は液晶ディスプレイである。表示装置103はその他に、プラズマ・ディスプレイ及び有機ELディスプレイ等、他方式のフラットパネル・ディスプレイ又はプロジェクタであってもよい。表示装置103は、映像信号に従って画面131上に映像を表示し、音声信号に従って内蔵のスピーカから音声を発生させる。表示装置103は3D映像の再生に対応可能である。2D映像の再生時、画面131上にはレフトビュー又はライトビューのいずれか一方が表示される。3D映像の再生時、画面131上にはレフトビューとライトビューとが交互に表示される。
表示装置103は左右信号送信部132を含む。左右信号送信部132は左右信号LRを赤外線又は無線でシャッター眼鏡104へ送出する。左右信号LRは、現時点で画面131に表示される映像がレフトビューとライトビューとのいずれであるのかを示す。3D映像の再生時、表示装置103は、映像信号に付随する制御信号からレフトビュー・フレームとライトビュー・フレームとを識別することによってフレームの切り換えを検知する。表示装置103は更に左右信号送信部132に、検知されたフレームの切り換えに同期して左右信号LRを変化させる。
シャッター眼鏡104は二枚の液晶表示パネル141L、141Rと左右信号受信部142とを含む。各液晶表示パネル141L、141Rは左右の各レンズ部分を構成している。左右信号受信部142は左右信号LRを受信し、その変化に応じて左右の液晶表示パネル141L、141Rに信号を送る。各液晶表示パネル141L、141Rはその信号に応じて、光をその全体で一様に透過させ、又は遮断する。特に左右信号LRがレフトビューの表示を示すとき、左目側の液晶表示パネル141Lは光を透過させ、右目側の液晶表示パネル141Rは光を遮断する。左右信号LRがライトビューの表示を示すときはその逆である。このように、二枚の液晶表示パネル141L、141Rはフレームの切り換えと同期して交互に光を透過させる。その結果、視聴者がシャッター眼鏡104をかけて画面131を見たとき、レフトビューはその視聴者の左目だけに映り、ライトビューはその右目だけに映る。そのとき、その視聴者には、各目に映る映像間の違いが同じ立体に対する両眼視差として知覚されるので、その映像が立体的に見える。
リモコン105は操作部と送信部とを含む。操作部は複数のボタンを含む。各ボタンは、電源のオンオフ、又は、BD−ROMディスク101の再生開始若しくは停止等、再生装置102又は表示装置103の各機能に対応付けられている。操作部はユーザによる各ボタンの押下を検出し、そのボタンの識別情報を信号で送信部に伝える。送信部はその信号を赤外線又は無線による信号IRに変換して再生装置102又は表示装置103へ送出する。一方、再生装置102と表示装置103とはそれぞれ、その信号IRを受信し、その信号IRの示すボタンを特定し、そのボタンに対応付けられた機能を実行する。こうして、ユーザは再生装置102又は表示装置103を遠隔操作できる。
<BD−ROMディスク上のデータ構造>
図2は、BD−ROMディスク101上のデータ構造を示す模式図である。図2を参照するに、BD−ROMディスク101上のデータ記録領域の最内周部にはBCA(BurstCutting Area)201が設けられている。BCAに対してはBD−ROMドライブ121によるアクセスのみが許可され、アプリケーション・プログラムによるアクセスは禁止される。それにより、BCA201は著作権保護技術に利用される。BCA201よりも外側のデータ記録領域では内周から外周へ向けてトラックが螺旋状に延びている。図2にはトラック202が模式的に横方向に引き伸ばされて描かれている。その左側はディスク101の内周部を表し、右側は外周部を表す。図2に示されているように、トラック202は内周から順に、リードイン領域202A、ボリューム領域202B、及びリードアウト領域202Cを含む。リードイン領域202AはBCA201のすぐ外周側に設けられている。リードイン領域202Aは、ボリューム領域202Bに記録されたデータのサイズ及び物理アドレス等、BD−ROMドライブ121によるボリューム領域202Bへのアクセスに必要な情報を含む。リードアウト領域202Cはデータ記録領域の最外周部に設けられ、ボリューム領域202Bの終端を示す。ボリューム領域202Bは、映像及び音声等のアプリケーション・データを含む。
ボリューム領域202Bは「セクタ」と呼ばれる小領域202Dに分割されている。セクタのサイズは共通であり、例えば2048バイトである。各セクタ202Dにはボリューム領域202Bの先端から順に通し番号が振られている。この通し番号は論理ブロック番号(LBN)と呼ばれ、BD−ROMディスク101上の論理アドレスに利用される。BD−ROMディスク101からのデータの読み出しでは、宛先のセクタのLBNが指定されることによって読み出し対象のデータが特定される。こうして、ボリューム領域202Bはセクタ単位でアクセス可能である。更に、BD−ROMディスク101上では論理アドレスが物理アドレスと実質的に等しい。特に、LBNが連続している領域では物理アドレスも実質的に連続している。従って、BD−ROMドライブ121は、LBNが連続しているセクタからデータを、その光ピックアップにシークを行わせることなく連続して読み出すことができる。
ボリューム領域202Bに記録されたデータは所定のファイルシステムで管理される。そのファイルシステムとしてはUDF(Universal Disc Format)が採用されている。そのファイルシステムはその他にISO9660であってもよい。そのファイルシステムに従い、ボリューム領域202Bに記録されたデータはディレクトリ/ファイル形式で表現される(詳細は《補足》参照)。すなわち、それらのデータはディレクトリ単位又はファイル単位でアクセス可能である。
≪BD−ROMディスク上のディレクトリ/ファイル構造≫
図2は更に、BD−ROMディスク101のボリューム領域202Bに格納されたデータのディレクトリ/ファイル構造を示す。図2を参照するに、このディレクトリ/ファイル構造では、ルート(ROOT)ディレクトリ203の直下にBDムービー(BDMV:BDMovie)ディレクトリ210が置かれている。BDMVディレクトリ210の直下には、インデックス・ファイル(index.bdmv)211とムービーオブジェクト・ファイル(MovieObject.bdmv)212とが置かれている。
インデックス・ファイル211は、BD−ROMディスク101に記録されたコンテンツの全体を管理するための情報である。その情報は特に、そのコンテンツを再生装置102に認識させるための情報、及びインデックス・テーブルを含む。インデックス・テーブルは、そのコンテンツを構成するタイトルと、再生装置102の動作を制御するためのプログラムとの間の対応表である。そのプログラムを「オブジェクト」という。オブジェクトの種類にはムービーオブジェクトとBD−J(BDJava (登録商標))オブジェクトとがある。
ムービーオブジェクト・ファイル212は一般に複数のムービーオブジェクトを含む。各ムービーオブジェクトはナビゲーション・コマンドの列を含む。ナビゲーション・コマンドは、一般的なDVDプレーヤによる再生処理と同様な再生処理を再生装置102に実行させるための制御指令である。ナビゲーション・コマンドの種類には、例えば、タイトルに対応するプレイリスト・ファイルの読み出し命令、プレイリスト・ファイルの示すAVストリーム・ファイルの再生命令、及び別のタイトルへの遷移命令がある。ナビゲーション・コマンドはインタプリタ型言語で記述され、再生装置102に組み込まれたインタプリタ、すなわちジョブ制御プログラムによって解読され、その制御部に所望のジョブを実行させる。ナビゲーション・コマンドはオペコードとオペランドとから成る。オペコードは、タイトルの分岐と再生及び演算等、再生装置102に実行させるべき操作の種類を示す。オペランドは、タイトル番号等、その操作の対象の識別情報を示す。再生装置102の制御部は、例えばユーザの操作に応じて各ムービーオブジェクトを呼び出し、そのムービーオブジェクトに含まれるナビゲーション・コマンドを列の順に実行する。それにより、再生装置102は一般的なDVDプレーヤと同様に、まず表示装置103にメニューを表示してユーザにコマンドを選択させる。再生装置102は次に、選択されたコマンドに応じて、タイトルの再生開始/停止、及び別のタイトルへの切り換え等、再生される映像の進行を動的に変化させる。
図2を更に参照するに、BDMVディレクトリ210の直下には、プレイリスト(PLAYLIST)ディレクトリ220、クリップ情報(CLIPINF)ディレクトリ230、ストリーム(STREAM)ディレクトリ240、BD−Jオブジェクト(BDJO:BDJava(登録商標) Object)ディレクトリ250、及びJava(登録商標) アーカイブ(JAR:Java(登録商標) Archive)ディレクトリ260が置かれている。
STREAMディレクトリ240の直下には、三種類のAVストリーム・ファイル(01000.m2ts)241、(02000.m2ts)242、(03000.m2ts)243、及び立体視インターリーブ・ファイル(SSIF:StereoscopicInterleaved File)ディレクトリ244が置かれている。SSIFディレクトリ244の直下には、二種類のAVストリーム・ファイル(01000.ssif)244A、(02000.ssif)244Bが置かれている。
「AVストリーム・ファイル」は、BD−ROMディスク101上に記録された映像コンテンツの本体のうち、ファイルシステムの定めるファイル形式に整えられたものをいう。ここで、映像コンテンツの本体とは一般に、映像・音声・字幕等を表す各種のストリーム・データ、すなわちエレメンタリ・ストリームが多重化されたストリーム・データを意味する。多重化ストリーム・データはメイン・トランスポート・ストリーム(TS)とサブTSとに大別される。「メインTS」は、プライマリ・ビデオ・ストリームとしてベースビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ベースビュー・ビデオ・ストリーム」は、単独で再生可能であって、2D映像を表すビデオ・ストリームをいう。この2D映像を「ベースビュー」又は「メインビュー」という。「サブTS」は、プライマリ・ビデオ・ストリームとしてディペンデントビュー・ビデオ・ストリームを含む多重化ストリーム・データをいう。「ディペンデントビュー・ビデオ・ストリーム」は、その再生にベースビュー・ビデオ・ストリームを必要とし、そのベースビュー・ビデオ・ストリームとの組み合わせで3D映像を表すビデオ・ストリームをいう。ディペンデントビュー・ビデオ・ストリームの種類には、ライトビュー・ビデオ・ストリーム、レフトビュー・ビデオ・ストリーム、及びデプスマップ・ストリームがある。「ライトビュー・ビデオ・ストリーム」は、ベースビューが3D映像のレフトビューであるときに、その3D映像のライトビューを表すビデオ・ストリームである。「レフトビュー・ビデオ・ストリーム」はその逆である。「デプスマップ・ストリーム」は、ベースビューが仮想的な2D画面への3D映像の射影であるときに、その3D映像のデプスマップを表すストリーム・データである。ディペンデントビュー・ビデオ・ストリームの表す2D映像又はデプスマップを「ディペンデントビュー」又は「サブビュー」という。
AVストリーム・ファイルは、内蔵の多重化ストリーム・データの種類に依って、ファイル2D、ファイル・ディペンデント(以下、ファイルDEPと略す。)、及びインターリーブ・ファイル(以下、ファイルSSと略す。)に分けられる。「ファイル2D」は、2D再生モードでの2D映像の再生に利用されるAVストリーム・ファイルであって、メインTSを含むものをいう。「ファイルDEP」は、サブTSを含むAVストリーム・ファイルをいう。「ファイルSS」は、同じ3D映像を表すメインTSとサブTSとの対を含むAVストリーム・ファイルをいう。ファイルSSは特に、メインTSをいずれかのファイル2Dと共有し、サブTSをいずれかのファイルDEPと共有する。すなわち、BD−ROMディスク101のファイルシステムでは、メインTSはファイルSSとファイル2Dとのいずれとしてもアクセス可能であり、サブTSはファイルSSとファイルDEPとのいずれとしてもアクセス可能である。このように、BD−ROMディスク101上に記録された一連のデータを異なるファイルに共有させ、いずれのファイルとしてもアクセス可能にする仕組みを「ファイルのクロスリンク」という。
図2に示されている例では、第1AVストリーム・ファイル(01000.m2ts)241はファイル2Dであり、第2AVストリーム・ファイル(02000.m2ts)242と第3AVストリーム・ファイル(03000.m2ts)243とはいずれもファイルDEPである。このように、ファイル2DとファイルDEPとはSTREAMディレクトリ240の直下に置かれる。第1AVストリーム・ファイルすなわちファイル2D241の含むベースビュー・ビデオ・ストリームは3D映像のレフトビューを表す。第2AVストリーム・ファイルすなわち第1ファイルDEP242の含むディペンデントビュー・ビデオ・ストリームはライトビュー・ビデオ・ストリームを含む。第3AVストリーム・ファイルすなわち第2ファイルDEP243の含むディペンデントビュー・ビデオ・ストリームはデプスマップ・ストリームを含む。
図2に示されている例では更に、第4AVストリーム・ファイル(01000.ssif)244Aと第5AVストリーム・ファイル(02000.ssif)244BとはいずれもファイルSSである。このように、ファイルSSはSSIFディレクトリ244の直下に置かれる。第4AVストリーム・ファイル、すなわち第1ファイルSS244Aは、ファイル2D241とメインTS、特にベースビュー・ビデオ・ストリームを共有し、第1ファイルDEP242とサブTS、特にライトビュー・ビデオ・ストリームを共有する。第5AVストリーム・ファイル、すなわち第2ファイルSS244Bは、第1ファイル2D241とメインTS、特にベースビュー・ビデオ・ストリームを共有し、第3ファイルDEP243とサブTS、特にデプスマップ・ストリームを共有する。
CLIPINFディレクトリ230には、三種類のクリップ情報ファイル(01000.clpi)231、(02000.clpi)232、(03000.clpi)233が置かれている。「クリップ情報ファイル」は、ファイル2DとファイルDEPとに一対一に対応付けられたファイルであって、特に各ファイルのエントリ・マップを含むものをいう。「エントリ・マップ」は、各ファイルの表すシーンの表示時間と、そのシーンが記録された各ファイル内のアドレスとの間の対応表である。クリップ情報ファイルのうち、ファイル2Dに対応付けられているものを「2Dクリップ情報ファイル」といい、ファイルDEPに対応付けられているものを「ディペンデントビュー・クリップ情報ファイル」という。図2に示されている例では、第1クリップ情報ファイル(01000.clpi)231は2Dクリップ情報ファイルであり、ファイル2D241に対応付けられている。第2クリップ情報ファイル(02000.clpi)232と第3クリップ情報ファイル(03000.clpi)233とはいずれもディペンデントビュー・クリップ情報ファイルであり、それぞれ、第1ファイルDEP242と第2ファイルDEP243とに対応付けられている。
PLAYLISTディレクトリ220には三種類のプレイリスト・ファイル(00001.mpls)221、(00002.mpls)222、(00003.mpls)223が置かれている。「プレイリスト・ファイル」は、AVストリーム・ファイルの再生経路、すなわちAVストリーム・ファイルの再生対象の部分とその再生順序とを規定するファイルをいう。プレイリスト・ファイルの種類には2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとがある。「2Dプレイリスト・ファイル」はファイル2Dの再生経路を規定する。「3Dプレイリスト・ファイル」は、2D再生モードの再生装置に対してはファイル2Dの再生経路を規定し、3D再生モードの再生装置に対してはファイルSSの再生経路を規定する。図2に示されている例では、第1プレイリスト・ファイル(00001.mpls)221は2Dプレイリスト・ファイルであり、ファイル2D241の再生経路を規定する。第2プレイリスト・ファイル(00002.mpls)222は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D241の再生経路を規定し、L/Rモードの3D再生装置に対しては第1ファイルSS244Aの再生経路を規定する。第3プレイリスト・ファイル(00003.mpls)223は3Dプレイリスト・ファイルであり、2D再生モードの再生装置に対してはファイル2D241の再生経路を規定し、デプス・モードの3D再生装置に対しては第2ファイルSS244Bの再生経路を規定する。
BDJOディレクトリ250にはBD−Jオブジェクト・ファイル(XXXXX.bdjo)251が置かれている。BD−Jオブジェクト・ファイル251はBD−Jオブジェクトを一つ含む。BD−Jオブジェクトはバイトコード・プログラムであり、再生装置102に実装されたJava(登録商標) 仮想マシンにタイトルの再生処理及びグラフィックス映像の描画処理を実行させる。BD−Jオブジェクトは、Java(登録商標) 言語等のコンパイラ型言語で記述されている。BD−Jオブジェクトはアプリケーション管理テーブルと参照対象のプレイリスト・ファイルの識別情報とを含む。「アプリケーション管理テーブル」は、Java(登録商標) 仮想マシンに実行させるべきJava(登録商標) アプリケーション・プログラムとその実行時期、すなわちライフサイクルとの対応表である。「参照対象のプレイリスト・ファイルの識別情報」は、再生対象のタイトルに対応するプレイリスト・ファイルを識別するための情報である。Java(登録商標) 仮想マシンはユーザの操作又はアプリケーション・プログラムに従って各BD−Jオブジェクトを呼び出し、そのBD−Jオブジェクトに含まれるアプリケーション管理テーブルに従ってJava(登録商標) アプリケーション・プログラムを実行する。それにより、再生装置102は、再生される各タイトルの映像の進行を動的に変化させ、又は、表示装置103にグラフィックス映像をタイトルの映像とは独立に表示させる。
JARディレクトリ260にはJARファイル(YYYYY.jar)261が置かれている。JARファイル261は、BD−Jオブジェクトの示すアプリケーション管理テーブルに従って実行されるべきJava(登録商標) アプリケーション・プログラムの本体を一般に複数含む。「Java(登録商標) アプリケーション・プログラム」は、BD−Jオブジェクトと同様、Java(登録商標) 言語等のコンパイラ型言語で記述されたバイトコード・プログラムである。Java(登録商標) アプリケーション・プログラムの種類には、Java(登録商標) 仮想マシンにタイトルの再生処理を実行させるもの、及びJava(登録商標) 仮想マシンにグラフィックス映像の描画処理を実行させるものが含まれる。JARファイル261はJava(登録商標) アーカイブ・ファイルであり、再生装置102に読み込まれたときにその内部のメモリで展開される。それにより、そのメモリの中にJava(登録商標) アプリケーション・プログラムが格納される。
≪多重化ストリーム・データの構造≫
図3の(a)は、BD−ROMディスク101上のメインTSに多重化されたエレメンタリ・ストリームの一覧表である。メインTSはMPEG−2トランスポート・ストリーム(TS)形式のデジタル・ストリームであり、図2に示されているファイル2D241に含まれる。図3の(a)を参照するに、メインTSは、プライマリ・ビデオ・ストリーム301、プライマリ・オーディオ・ストリーム302A、302B、及びプレゼンテーション・グラフィックス(PG)ストリーム303A、303Bを含む。メインTSはその他に、インタラクティブ・グラフィックス(IG)ストリーム304、セカンダリ・オーディオ・ストリーム305、及びセカンダリ・ビデオ・ストリーム306を含んでもよい。
プライマリ・ビデオ・ストリーム301は映画の主映像を表し、セカンダリ・ビデオ・ストリーム306は副映像を表す。ここで、主映像とは、映画の本編の映像等、コンテンツの主要な映像を意味し、例えば画面全体に表示されるものを指す。一方、副映像とは、例えば主映像の中に小さな画面で表示される映像のように、ピクチャ・イン・ピクチャ方式を利用して主映像と同時に画面に表示される映像を意味する。プライマリ・ビデオ・ストリーム301とセカンダリ・ビデオ・ストリーム306とはいずれもベースビュー・ビデオ・ストリームである。各ビデオ・ストリーム301、306は、MPEG−2、MPEG−4 AVC、又はSMPTE VC−1等の動画圧縮符号化方式で符号化されている。
プライマリ・オーディオ・ストリーム302A、302Bは映画の主音声を表す。ここで、二つのプライマリ・オーディオ・ストリーム302A、302Bの間では言語が異なる。セカンダリ・オーディオ・ストリーム305は、対話画面の操作に伴う効果音等、主音声と重ね合わされるべき(ミキシングされるべき)副音声を表す。各オーディオ・ストリーム302A、302B、305は、AC−3、ドルビー・デジタル・プラス(DolbyDigital Plus:「ドルビー・デジタル」は登録商標)、MLP(Meridian Lossless Packing:登録商標)、DTS(DigitalTheater System:登録商標)、DTS−HD、又はリニアPCM(Pulse Code Modulation)等の方式で符号化されている。
各PGストリーム303A、303Bは、グラフィックスによる字幕等、プライマリ・ビデオ・ストリーム301の表す映像に重ねて表示されるべきグラフィックス映像を表す。二つのPGストリーム303A、303Bの間では、例えば字幕の言語が異なる。IGストリーム304は、表示装置103の画面131上に対話画面を構成するためのグラフィックス・ユーザインタフェース(GUI)用のグラフィック部品及びその配置を表す。
エレメンタリ・ストリーム301−306はパケット識別子(PID)によって識別される。PIDの割り当ては例えば次のとおりである。一つのメインTSはプライマリ・ビデオ・ストリームを一本のみ含むので、プライマリ・ビデオ・ストリーム301には16進数値0x1011が割り当てられる。一つのメインTSに他のエレメンタリ・ストリームが種類ごとに最大32本まで多重化可能であるとき、プライマリ・オーディオ・ストリーム302A、302Bには0x1100から0x111Fまでのいずれかが割り当てられる。PGストリーム303A、303Bには0x1200から0x121Fまでのいずれかが割り当てられる。IGストリーム304には0x1400から0x141Fまでのいずれかが割り当てられる。セカンダリ・オーディオ・ストリーム305には0x1A00から0x1A1Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム306には0x1B00から0x1B1Fまでのいずれかが割り当てられる。
図3の(b)は、BD−ROMディスク101上のサブTSに多重化されたエレメンタリ・ストリームの一覧表である。サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、図2に示されている各ファイルDEP242、243に含まれる。図3の(b)を参照するに、サブTSは二本のプライマリ・ビデオ・ストリーム311R、311Dを含む。その一方311Rはライトビュー・ビデオ・ストリームであり、他方311Dはデプスマップ・ストリームである。尚、それらのプライマリ・ビデオ・ストリーム311R、311Dは、異なるファイルDEP242、243に別々に多重化されてもよい。ライトビュー・ビデオ・ストリーム311Rは、メインTS内のプライマリ・ビデオ・ストリーム301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。デプスマップ・ストリーム311Dは、メインTS内のプライマリ・ビデオ・ストリーム301との組み合わせで3D映像を表す。サブTSはその他にセカンダリ・ビデオ・ストリーム312R、312Dを含んでもよい。その一方312Rはライトビュー・ビデオ・ストリームであり、他方312Dはデプスマップ・ストリームである。そのライトビュー・ビデオ・ストリーム312Rは、メインTS内のセカンダリ・ビデオ・ストリーム306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。そのデプスマップ・ストリーム312Dは、メインTS内のセカンダリ・ビデオ・ストリーム306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム311R、…、312Dに対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム311R、311Dにはそれぞれ、0x1012、0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、セカンダリ・ビデオ・ストリーム312R、312Dには0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図4は、多重化ストリーム・データ400内でのTSパケットの配置を示す模式図である。このパケット構造はメインTSとサブTSとで共通である。多重化ストリーム・データ400内では各エレメンタリ・ストリーム401、402、403、404はTSパケット421、422、423、424の列に変換されている。例えばビデオ・ストリーム401では、まず、各フレーム401A又は各フィールドが一つのPES(PacketizedElementary Stream)パケット411に変換される。次に、各PESパケット411が一般に複数のTSパケット421に変換される。同様に、オーディオ・ストリーム402、PGストリーム403、及びIGストリーム404はそれぞれ、一旦PESパケット412、413、414の列に変換された後、TSパケット422、423、424の列に変換される。最後に、各エレメンタリ・ストリーム401、402、403、404から得られたTSパケット421、422、423、424が一本のストリーム・データ400に時分割で多重化される。
図5の(b)は、多重化ストリーム・データを構成するTSパケット列の形式を示す模式図である。各TSパケット501は188バイト長のパケットである。図5の(b)を参照するに、各TSパケット501は、TSペイロード501Pとアダプテーション(adaptation)フィールド(以下、ADフィールドと略す。)501Aとの少なくともいずれか、及びTSヘッダ501Hを含む。TSペイロード501PとADフィールド501Aとは、両方を合わせて184バイト長のデータ領域である。TSペイロード501PはPESパケットの格納領域として利用される。図4に示されているPESパケット411−414はそれぞれ、一般に複数の部分に分割され、各部分が異なるTSペイロード501Pに格納される。ADフィールド501Aは、TSペイロード501Pのデータ量が184バイトに満たないときにスタッフィング・バイト(すなわちダミー・データ)を格納するための領域である。ADフィールド501Aはその他に、TSパケット501が例えば後述のPCRであるときに、その情報の格納領域として利用される。TSヘッダ501Hは4バイト長のデータ領域である。
図5の(a)は、TSヘッダ501Hのデータ構造を示す模式図である。図5の(a)を参照するに、TSヘッダ501Hは、TS優先度(transport_priority)511、PID512、及びADフィールド制御(adaptation_field_control)513を含む。PID512は、同じTSパケット501内のTSペイロード501Pに格納されたデータの属するエレメンタリ・ストリームのPIDを示す。TS優先度511は、PID512の示す値が共通するTSパケット群の中でのTSパケット501の優先度を示す。ADフィールド制御513は、TSパケット501内でのADフィールド501AとTSペイロード501Pとのそれぞれの有無を示す。例えばADフィールド制御513が“1”を示すとき、TSパケット501はADフィールド501Aを含まず、TSペイロード501Pを含む。ADフィールド制御513が“2”を示すときはその逆である。ADフィールド制御513が“3”を示すとき、TSパケット501はADフィールド501AとTSペイロード501Pとの両方を含む。
図5の(c)は、多重化ストリーム・データのTSパケット列から構成されたソースパケット列の形式を示す模式図である。図5の(c)を参照するに、各ソースパケット502は192バイト長のパケットであり、図5の(b)に示されているTSパケット501の一つと4バイト長のヘッダ(TP_Extra_Header)502Hとを含む。TSパケット501がBD−ROMディスク101に記録されるとき、そのTSパケット501にヘッダ502Hが付与されることによってソースパケット502は構成される。ヘッダ502HはATS(Arrival_Time_Stamp)を含む。「ATS」は時刻情報であり、再生装置102によって次のように利用される:ソースパケット502がBD−ROMディスク101から再生装置102内のシステム・ターゲット・デコーダへ送られたときに、そのソースパケット502からTSパケット502Pが抽出されてシステム・ターゲット・デコーダ内のPIDフィルタへ転送される。そのヘッダ502H内のATSは、その転送が開始されるべき時刻を示す。ここで、「システム・ターゲット・デコーダ」は、多重化ストリーム・データからエレメンタリ・ストリームを分離して個別に復号する装置をいう。システム・ターゲット・デコーダと、それによるATSの利用との詳細については後述する。
図5の(d)は、一連のソースパケット502が連続的に記録されたBD−ROMディスク101のボリューム領域202B上のセクタ群の模式図である。図5の(d)を参照するに、一連のソースパケット502は32個ずつ、三つの連続するセクタ521、522、523に記録されている。これは、32個のソースパケットのデータ量192バイト×32=6144バイトが三つのセクタの合計サイズ2048バイト×3=6144バイトに等しいことに因る。このように、三つの連続するセクタ521、522、523に記録された32個のソースパケット502を「アラインド・ユニット(AlignedUnit)」520という。再生装置102はBD−ROMディスク101からソースパケット502をアラインド・ユニット520ごとに、すなわち32個ずつ読み出す。セクタ群521、522、523、…は先頭から順に32個ずつに分割され、それぞれが一つの誤り訂正符号(ECC)ブロック530を構成している。BD−ROMドライブ121はECCブロック530ごとに誤り訂正処理を行う。
≪PGストリームのデータ構造≫
図6は、PGストリーム600のデータ構造を示す模式図である。図6を参照するに、PGストリーム600は複数のデータ・エントリ#1、#2、…を含む。各データ・エントリはPGストリーム600の表示単位(ディスプレイ・セット)を表し、再生装置102に一枚のグラフィックス・プレーンを構成させるのに必要なデータから成る。ここで、「グラフィックス・プレーン」とは、2Dグラフィックス映像を表すグラフィックス・データから生成されるプレーン・データをいう。「プレーン・データ」とは、画素データの二次元配列であり、その配列のサイズは映像フレームの解像度に等しい。一組の画素データは色座標値とα値(不透明度)との組み合わせから成る。色座標値はRGB値又はYCrCb値で表される。グラフィックス・プレーンの種類には、PGプレーン、IGプレーン、イメージ・プレーン、及びオン・スクリーン・ディスプレイ(OSD)プレーンが含まれる。PGプレーンは、メインTS内のPGストリームから生成される。IGプレーンは、メインTS内のIGストリームから生成される。イメージ・プレーンは、BD−Jオブジェクトに従って生成される。OSDプレーンは、再生装置102のファームウェアに従って生成される。
図6を更に参照するに、各データ・エントリは複数の機能セグメントを含む。それらの機能セグメントは、先頭から順に、表示制御セグメント(PresentationControl Segment:PCS)、ウィンドウ定義セグメント(Window Define Segment:WDS)、パレット定義セグメント(PalletDefine Segment:PDS)、及びオブジェクト定義セグメント(Object Define Segment:ODS)を含む。
WDSは、グラフィックス・プレーン内の矩形領域、すなわちウィンドウを規定する。具体的には、WDSは、ウィンドウID611、ウィンドウ位置612、及びウィンドウ・サイズ613を含む。ウィンドウID611はWDSの識別情報(ID)である。ウィンドウ位置612はグラフィックス・プレーン内でのウィンドウの位置、例えばウィンドウの左上角の座標を示す。ウィンドウ・サイズ613はウィンドウの高さと幅とを示す。
PDSは、所定種類のカラーIDと色座標値(例えば、輝度Y、赤色差Cr、青色差Cb、不透明度α)との間の対応関係を規定する。具体的には、PDSはパレットID621とカラー・ルックアップ・テーブル(CLUT)622とを含む。パレットID621はPDSのIDである。CLUT622は、グラフィックス・オブジェクトの描画に利用される色の一覧表である。CLUT622には256色が登録可能であり、0から255までのカラーIDが一つずつ、各色に割り当てられている。尚、カラーID=255は「無色透明」に一定に割り当てられている。
ODSは一般に複数で一つのグラフィックス・オブジェクトを表す。「グラフィックス・オブジェクト」とは、グラフィックス画像を画素コードとカラーIDとの間の対応関係で表現するデータである。グラフィックス・オブジェクトは、ランレングス符号化方式を用いて圧縮された後に分割され、各ODSに分配されている。各ODSは更にオブジェクトID、すなわちグラフィックス・オブジェクトのIDを含む。
PCSは、同じデータ・エントリに属するディスプレイ・セットの詳細を示し、特に、グラフィックス・オブジェクトを用いた画面構成を規定する。その画面構成の種類は、カット・イン/アウト(Cut−In/Out)、フェード・イン/アウト(Fade−In/Out)、色変化(ColorChange)、スクロール(Scroll)、及びワイプ・イン/アウト(Wipe−In/Out)を含む。具体的には、PCSは、オブジェクト表示位置601、クロッピング情報602、参照ウィンドウID603、参照パレットID604、及び参照オブジェクトID605を含む。オブジェクト表示位置601は、グラフィックス・オブジェクトが表示されるべきグラフィックス・プレーン内の位置、例えばグラフィックス・オブジェクトが表示されるべき領域の左上角の座標を、WDSの規定するウィンドウ内の座標で表す。クロッピング情報602は、クロッピング処理によってグラフィックス・オブジェクトの中から切り出されるべき矩形状の部分の範囲を示す。その範囲は例えば、左上角の座標、高さ、及び幅で規定される。実際にはその部分を、オブジェクト表示位置601の示す位置に描画することができる。参照ウィンドウID603、参照パレットID604、及び参照オブジェクトID605はそれぞれ、グラフィックス・オブジェクトの描画処理において参照されるべきWDS、PDS、及びグラフィックス・オブジェクトのIDを示す。コンテンツ・プロバイダは、PCS内のそれらのパラメータを利用して、再生装置102に画面構成を指示する。それにより、例えば「ある字幕を徐々に消去しつつ、次の字幕を表示させる」という視覚効果を再生装置102に実現させることができる。
≪IGストリームのデータ構造≫
図4を更に参照するに、IGストリーム404は、対話構成セグメント(Interactive Composition Segment:ICS)、PDS、及びODSを含む。PDSとODSとは、PGストリーム403に含まれるものと同様な機能セグメントである。特に、ODSの含むグラフィックス・オブジェクトは、ボタン及びポップアップ・メニュー等、対話画面を構成するGUI用グラフィック部品を表す。ICSは、それらのグラフィックス・オブジェクトを用いた対話操作を規定する。具体的には、ICSは、ボタン及びポップアップ・メニュー等、ユーザ操作に応じて状態が変化するグラフィックス・オブジェクトのそれぞれについて取り得る状態、すなわち、ノーマル、セレクテッド、及びアクティブの各状態を規定する。ICSは更にボタン情報を含む。ボタン情報は、ユーザがボタン等に対して確定操作を行った際に再生装置の実行すべきコマンドを含む。
≪ビデオ・ストリームのデータ構造≫
ビデオ・ストリームに含まれる各ピクチャは1フレーム又は1フィールドを表し、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。その圧縮には、ピクチャの空間方向及び時間方向での冗長性が利用される。ここで、空間方向での冗長性のみを利用するピクチャの符号化を「ピクチャ内符号化」という。一方、時間方向での冗長性、すなわち、表示順序の連続する複数のピクチャ間でのデータの近似性を利用するピクチャの符号化を「ピクチャ間予測符号化」という。ピクチャ間予測符号化では、まず符号化対象のピクチャに対して、表示時間が前又は後である別のピクチャが参照ピクチャとして設定される。次に、符号化対象のピクチャとその参照ピクチャとの間で動きベクトルが検出され、それを利用して参照ピクチャに対する動き補償が行われる。更に、動き補償によって得られたピクチャと符号化対象のピクチャとの間の差分値が求められ、その差分値から空間方向での冗長性が除去される。こうして、各ピクチャのデータ量が圧縮される。
図7は、ベースビュー・ビデオ・ストリーム701とライトビュー・ビデオ・ストリーム702とのピクチャを表示時間順に示す模式図である。図7を参照するに、ベースビュー・ビデオ・ストリーム701はピクチャ710、711、712、…、719(以下、ベースビュー・ピクチャという。)を含み、ライトビュー・ビデオ・ストリーム702はピクチャ720、721、722、…、729(以下、ライトビュー・ピクチャという。)を含む。ベースビュー・ピクチャ710−719は一般に複数のGOP731、732に分割されている。「GOP」は、Iピクチャを先頭とする複数枚の連続するピクチャの列をいう。GOPは一般に、Iピクチャの他にPピクチャとBピクチャとを含む。ここで、「I(Intra)ピクチャ」は、ピクチャ内符号化によって圧縮されたピクチャをいう。「P(Predictive)ピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前である一枚のピクチャが参照ピクチャとして利用されたものをいう。「B(BidirectionallyPredivtive)ピクチャ」は、ピクチャ間予測符号化によって圧縮されたピクチャであって、表示時間がそれよりも前又は後である二枚のピクチャが参照ピクチャとして利用されたものをいう。Bピクチャのうち、他のピクチャに対するピクチャ間予測符号化で参照ピクチャとして利用されるものを特に「Br(referenceB)ピクチャ」という。
図7に示されている例では、各GOP731、732内のベースビュー・ピクチャが以下の順で圧縮される。第1GOP731では、まず先頭のベースビュー・ピクチャがI0ピクチャ710に圧縮される。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。次に、4番目のベースビュー・ピクチャがI0ピクチャ710を参照ピクチャとしてP3ピクチャ713に圧縮される。ここで、図7に示されている各矢印は、先端のピクチャが後端のピクチャに対する参照ピクチャであることを示す。続いて、2、3番目のベースビュー・ピクチャがI0ピクチャ710とP3ピクチャ713とを参照ピクチャとして、それぞれ、Br1ピクチャ711、Br2ピクチャ712に圧縮される。更に7番目のベースビュー・ピクチャがP3ピクチャ713を参照ピクチャとしてP6ピクチャ716に圧縮される。続いて、4、5番目のベースビュー・ピクチャがP3ピクチャ713とP6ピクチャ716とを参照ピクチャとして、それぞれ、Br4ピクチャ714、Br5ピクチャ715に圧縮される。同様に、第2GOP732では、まず先頭のベースビュー・ピクチャがI7ピクチャ717に圧縮される。次に3番目のベースビュー・ピクチャがI7ピクチャ717を参照ピクチャとしてP9ピクチャ719に圧縮される。続いて、2番目のベースビュー・ピクチャがI7ピクチャ717とP9ピクチャ719とを参照ピクチャとしてBr8ピクチャ718に圧縮される。
ベースビュー・ビデオ・ストリーム701では各GOP731、732がその先頭にIピクチャを必ず含むので、ベースビュー・ピクチャはGOPごとに復号可能である。例えば第1GOP731では、まずI0ピクチャ710が単独で復号される。次に、復号後のI0ピクチャ710を利用してP3ピクチャ713が復号される。続いて、復号後のI0ピクチャ710とP3ピクチャ713とを利用して、Br1ピクチャ711とBr2ピクチャ712とが復号される。後続のピクチャ群714、715、…も同様に復号される。こうして、ベースビュー・ビデオ・ストリーム701は単独で復号可能であり、更にGOP単位でのランダム・アクセスが可能である。
図7を更に参照するに、ライトビュー・ピクチャ720−729はピクチャ間予測符号化で圧縮されている。しかし、その符号化方法はベースビュー・ピクチャ710−719の符号化方法とは異なり、映像の時間方向での冗長性に加え、左右の映像間の冗長性をも利用する。具体的には、各ライトビュー・ピクチャ720−729の参照ピクチャが、図7に矢印で示されているように、ライトビュー・ビデオ・ストリーム702からだけでなく、ベースビュー・ビデオ・ストリーム701からも選択される。特に各ライトビュー・ピクチャ720−729と、その参照ピクチャとして選択されたベースビュー・ピクチャとは表示時刻が実質的に等しい。それらのピクチャは3D映像の同じシーンのライトビューとレフトビューとの対、すなわち視差映像を表す。このように、ライトビュー・ピクチャ720−729はベースビュー・ピクチャ710−719と一対一に対応する。特にそれらのピクチャ間ではGOP構造が共通である。
図7に示されている例では、まず第1GOP731内の先頭のライトビュー・ピクチャがベースビュー・ビデオ・ストリーム701内のI0ピクチャ710を参照ピクチャとしてP0ピクチャ720に圧縮される。それらのピクチャ710、720は3D映像の先頭フレームのレフトビューとライトビューとを表す。次に、4番目のライトビュー・ピクチャがP0ピクチャ720とベースビュー・ビデオ・ストリーム701内のP3ピクチャ713とを参照ピクチャとしてP3ピクチャ723に圧縮される。続いて、2番目のライトビュー・ピクチャがP0ピクチャ720とP3ピクチャ723とに加えて、ベースビュー・ビデオ・ストリーム701内のBr1ピクチャ711を参照ピクチャとしてB1ピクチャ721に圧縮される。同様に、3番目のライトビュー・ピクチャがP0ピクチャ720とP3ピクチャ730とに加えて、ベースビュー・ビデオ・ストリーム701内のBr2ピクチャ712を参照ピクチャとしてB2ピクチャ722に圧縮される。以降のライトビュー・ピクチャ724−729についても同様に、そのライトビュー・ピクチャと表示時刻が実質的に等しいベースビュー・ピクチャが参照ピクチャとして利用される。
上記のような左右の映像間の相関関係を利用した動画圧縮符号化方式としては、MVC(Multiview Video Coding)と呼ばれるMPEG−4 AVC/H.264の修正規格が知られている。MVCは、ISO/IEC MPEGとITU−T VCEGとの共同プロジェクトであるJVT(JointVideo Team)によって2008年7月に策定されたものであり、複数の視点から見える映像をまとめて符号化するための規格である。MVCでは映像間予測符号化に、映像の時間方向での類似性だけでなく、視点の異なる映像間の類似性も利用される。その予測符号化では、各視点から見た映像を個別に圧縮する予測符号化よりも映像の圧縮率が高い。
上記のとおり、各ライトビュー・ピクチャ720−729の圧縮にはベースビュー・ピクチャが参照ピクチャとして利用される。従って、ベースビュー・ビデオ・ストリーム701とは異なり、ライトビュー・ビデオ・ストリーム702を単独で復号することはできない。しかし、視差映像間の差異は一般にわずかであり、すなわちレフトビューとライトビューとの間の相関は高い。従って、ライトビュー・ピクチャは一般にベースビュー・ピクチャよりも圧縮率が著しく高く、すなわちデータ量が著しく小さい。
デプスマップ・ストリームに含まれるデプスマップはベースビュー・ピクチャ710−719と一対一に対応し、そのベースビュー・ピクチャの示す2D映像に対するデプスマップを表す。各デプスマップは、ベースビュー・ピクチャ710−719と同様、MPEG−2又はMPEG−4 AVC等の動画圧縮符号化方式によって圧縮されている。特にその符号化方式ではピクチャ間予測符号化が利用される。すなわち、各デプスマップが他のデプスマップを参照ピクチャとして利用して圧縮される。デプスマップ・ストリームは更に、ベースビュー・ビデオ・ストリーム701と同様にGOP単位に分割され、各GOPがその先頭にIピクチャを必ず含む。従って、デプスマップはGOPごとに復号可能である。但し、デプスマップ自体は2D映像の各部の奥行きを画素別に表す情報でしかないので、デプスマップ・ストリームを単独で映像の再生に利用することはできない。
例えば図3の(b)に示されている二本のプライマリ・ビデオ・ストリーム311R、311Dのように、同じベースビュー・ビデオ・ストリームに対応するライトビュー・ビデオ・ストリームとデプスマップ・ストリームとは同じ符号化方式で圧縮されている。例えば、ライトビュー・ビデオ・ストリームがMVCのフォーマットで符号化されているとき、デプスマップ・ストリームもMVCのフォーマットで符号化されている。その場合、再生装置102は3D映像の再生時、符号化方式を一定に維持したまま、L/Rモードとデプス・モードとの切り換えをスムーズに実現できる。
図8は、ビデオ・ストリーム800のデータ構造の詳細を示す模式図である。このデータ構造は、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで実質的に共通である。図8を参照するに、ビデオ・ストリーム800は一般に複数のビデオ・シーケンス#1、#2、…から構成されている。「ビデオ・シーケンス」は、一つのGOP810を構成するピクチャ群811、812、813、814、…に個別にヘッダ等の付加情報を組み合わせたものである。この付加情報と各ピクチャとの組み合わせを「ビデオ・アクセスユニット(VAU)」という。すなわち、各GOP810、820ではピクチャごとに一つのVAU#1、#2、…が構成されている。各ピクチャはVAU単位でビデオ・ストリーム800から読み出し可能である。
図8は更に、ベースビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#1831の構造を示す。VAU#1831は、アクセスユニット(AU)識別コード831A、シーケンス・ヘッダ831B、ピクチャ・ヘッダ831C、補足データ831D、及び圧縮ピクチャ・データ831Eを含む。2番目以降のVAU#2は、シーケンス・ヘッダ831Bを含まない点を除き、VAU#1831と同じ構造である。AU識別コード831Aは、VAU#1831の先端を示す所定の符号である。シーケンス・ヘッダ831BはGOPヘッダともいい、VAU#1831を含むビデオ・シーケンス#1の識別番号を含む。シーケンス・ヘッダ831Bは更にGOP810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。ピクチャ・ヘッダ831Cは、自身に固有の識別番号、ビデオ・シーケンス#1の識別番号、及び、ピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ831Dは、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、及びタイムコード情報を含む。補足データ831Dは特に復号スイッチ情報を含む(詳細は後述する)。補足データ831Dは、包含するデータの種類に応じて、一つのVAUに複数、設定されていてもよい。圧縮ピクチャ・データ831Eはベースビュー・ピクチャを含む。VAU#1831はその他に、必要に応じて、パディング・データ831F、シーケンス終端コード831G、及びストリーム終端コード831Hのいずれか又は全てを含んでもよい。パディング・データ831Fはダミーデータである。そのサイズを圧縮ピクチャ・データ831Eのサイズに合わせて調節することにより、VAU#1831のビットレートを所定値に維持することができる。シーケンス終端コード831Gは、VAU#1831がビデオ・シーケンス#1の後端に位置することを示す。ストリーム終端コード831Hはベースビュー・ビデオ・ストリーム800の後端を示す。
図8はまた、ディペンデントビュー・ビデオ・ストリーム内で各ビデオ・シーケンスの先端に位置するVAU#1832の構造も示す。VAU#1832は、サブAU識別コード832A、サブシーケンス・ヘッダ832B、ピクチャ・ヘッダ832C、補足データ832D、及び圧縮ピクチャ・データ832Eを含む。2番目以降のVAU#2は、サブシーケンス・ヘッダ832Bを含まない点を除き、VAU#1832と同じ構造である。サブAU識別コード832Aは、VAU#1832の先端を示す所定の符号である。サブシーケンス・ヘッダ832Bは、VAU#1832を含むビデオ・シーケンス#1の識別番号を含む。サブシーケンス・ヘッダ832Bは更にGOP810の全体で共通する情報、例えば、解像度、フレームレート、アスペクト比、及びビットレートを含む。特にそれらの値は、ベースビュー・ビデオ・ストリームの対応するGOPに対して設定された値、すなわちVAU#1831のシーケンス・ヘッダ831Bの示す値に等しい。ピクチャ・ヘッダ832Cは、自身に固有の識別番号、ビデオ・シーケンス#1の識別番号、及び、ピクチャの復号に必要な情報、例えば符号化方式の種類を示す。補足データ832Dはオフセット・メタデータのみを含む(詳細は後述する)。ここで、補足データの種類には、オフセット・メタデータを含むもの832Dの他にも、ピクチャの復号以外に関する付加的な情報、例えば、クローズド・キャプションを示す文字情報、GOP構造に関する情報、タイムコード情報、及び復号スイッチ情報を含むものがある。従って、VAU#1832は、補足データ832Dに加えて、他の補足データを一つ以上含んでいてもよい。圧縮ピクチャ・データ832Eはディペンデントビュー・ピクチャを含む。VAU#1832はその他に、必要に応じて、パディング・データ832F、シーケンス終端コード832G、及びストリーム終端コード832Hのいずれか又は全てを含んでもよい。パディング・データ832Fはダミーデータである。そのサイズを圧縮ピクチャ・データ832Eのサイズに合わせて調節することにより、VAU#1832のビットレートを所定値に維持することができる。シーケンス終端コード832Gは、VAU#1832がビデオ・シーケンス#1の後端に位置することを示す。ストリーム終端コード832Hはディペンデントビュー・ビデオ・ストリーム800の後端を示す。
VAUの各部の具体的な内容はビデオ・ストリーム800の符号化方式ごとに異なる。例えばその符号化方式がMPEG−4 AVC又はMVCであるとき、図8に示されているVAUの各部は一つのNAL(NetworkAbstraction Layer)ユニットから構成される。具体的には、AU識別コード831A、シーケンス・ヘッダ831B、ピクチャ・ヘッダ831C、補足データ831D、圧縮ピクチャ・データ831E、パディング・データ831F、シーケンス終端コード831G、及びストリーム終端コード831Hはそれぞれ、AUデリミタ(AccessUnit Delimiter)、SPS(シーケンス・パラメータ・セット)、PPS(ピクチャ・パラメータ・セット)、SEI(SupplementalEnhancement Information)、ビュー・コンポーネント、フィラー・データ(Filler Data)、エンド・オブ・シーケンス(End ofSequence)、及びエンド・オブ・ストリーム(End of Stream)に相当する。特にVAU#1832では、オフセット・メタデータを含む補足データ832Dは一つのNALユニットで構成され、そのNALユニットはオフセット・メタデータ以外のデータを含まない。
図9は、PESパケット列902へのビデオ・ストリーム901の格納方法の詳細を示す模式図である。この格納方法は、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとで共通である。図9を参照するに、実際のビデオ・ストリーム901ではピクチャが、表示時間順ではなく、符号化順に多重化されている。例えばベースビュー・ビデオ・ストリームのVAUには、図9に示されているように、先頭から順に、I0ピクチャ910、P3ピクチャ911、B1ピクチャ912、B2ピクチャ913、…が格納されている。ここで、下付の数字は、各ピクチャに表示時間順に割り振られた通し番号を示す。P3ピクチャ911の符号化にはI0ピクチャ910が参照ピクチャとして利用され、B1ピクチャ912とB2ピクチャ913との各符号化にはI0ピクチャ910とP3ピクチャ911とが参照ピクチャとして利用される。それらのVAUが一つずつ、異なるPESパケット920、921、922、923、…に格納される。各PESパケット920、…はPESペイロード920PとPESヘッダ920Hとを含む。VAUはPESペイロード920Pに格納される。一方、PESヘッダ920Hは、同じPESパケット920のPESペイロード920Pに格納されたピクチャの表示時刻、すなわちPTS(PresentationTime−Stamp)、及びそのピクチャの復号時刻、すなわちDTS(Decoding Time−Stamp)を含む。
図9に示されているビデオ・ストリーム901と同様、図3、4に示されている他のエレメンタリ・ストリームも一連のPESパケットの各PESペイロードに格納される。更に各PESパケットのPESヘッダは、そのPESパケットのPESペイロードに格納されたデータのPTSを含む。
図10は、ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との各ピクチャに割り当てられたPTSとDTSとの間の関係を示す模式図である。図10を参照するに、両ビデオ・ストリーム1001、1002の間では、3D映像の同じフレーム又はフィールドを表す一対のピクチャに対して、同じPTS及び同じDTSが割り当てられている。例えば3D映像の先頭のフレーム又はフィールドは、ベースビュー・ビデオ・ストリーム1001のI1ピクチャ1011とディペンデントビュー・ビデオ・ストリーム1002のP1ピクチャ1021との組み合わせから再現される。従って、それらのピクチャの対1011、1021ではPTSが等しく、かつDTSが等しい。ここで、下付の数字は、各ピクチャにDTSの順に割り振られた通し番号を示す。また、ディペンデントビュー・ビデオ・ストリーム1002がデプスマップ・ストリームであるとき、P1ピクチャ1021は、I1ピクチャ1011に対するデプスマップを表すIピクチャに置き換えられる。同様に、各ビデオ・ストリーム1001、1002の2番目のピクチャ、すなわち、P2ピクチャ1012、1022の対ではPTSが等しく、かつDTSが等しい。各ビデオ・ストリーム1001、1002の3番目のピクチャ、すなわちBr3ピクチャ1013とB3ピクチャ1023との対ではPTSとDTSとがいずれも共通である。Br4ピクチャ1014とB4ピクチャ1024との対でも同様である。
ベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002との間で、PTSが等しく、かつDTSが等しいピクチャを含むVAUの対を「3D・VAU」という。図10に示されているPTSとDTSとの割り当てにより、3D再生モードの再生装置102内のデコーダにベースビュー・ビデオ・ストリーム1001とディペンデントビュー・ビデオ・ストリーム1002とを3D・VAU単位でパラレルに処理させることが容易にできる。それにより、3D映像の同じフレーム又はフィールドを表す一対のピクチャが、デコーダによって確実にパラレルに処理される。更に、各GOPの先頭の3D・VAUではシーケンス・ヘッダが、同じ解像度、同じフレームレート、及び同じアスペクト比を含む。特にそのフレームレートは、2D再生モードにおいてベースビュー・ビデオ・ストリーム1001が単独で復号されるときの値に等しい。
[オフセット・メタデータ]
図11は、ディペンデントビュー・ビデオ・ストリーム1100の含むオフセット・メタデータ1110のデータ構造を示す模式図である。図12は、そのオフセット・メタデータ(offset_metadata)1110の書式(Syntax)を示す表である。図11を参照するに、オフセット・メタデータ1110は、各ビデオ・シーケンス(すなわち、各GOP)の先端に位置するVAU#1内の補足データ1101に格納されている。図11、12を参照するに、オフセット・メタデータ1110は、PTS1111、オフセット・シーケンスID(offset_sequence_id)1112、及びオフセット・シーケンス(offset_sequence)1113を含む。PTS1111は、VAU#1内の圧縮ピクチャ・データの表すフレーム、すなわち、各GOPの最初のフレームのPTSに等しい。
オフセット・シーケンスID1112は、オフセット・シーケンス1113に順番に割り振られた通し番号0、1、2、…、Mである。整数Mは1以上であり、オフセット・シーケンス1113の総数(number_of_offset_sequence)を表す。ビデオ・プレーンに合成されるべきグラフィックス・プレーンにはオフセット・シーケンスID1112が割り当てられる。それにより、各グラフィックス・プレーンにオフセット・シーケンス1113が対応付けられている。ここで、「ビデオ・プレーン」とは、ビデオ・シーケンスの含むピクチャから生成されるプレーン・データ、すなわち画素データの二次元配列をいう。その配列のサイズは映像フレームの解像度に等しい。一組の画素データは色座標値(RGB値又はYCrCb値)とα値との組み合わせから成る。
各オフセット・シーケンス1113は、フレーム番号1121とオフセット情報1122、1123との対応表である。フレーム番号1121は、一つのビデオ・シーケンス(例えば、ビデオ・シーケンス#1)の表すフレーム#1、#2、…、#Nに表示順に割り振られた通し番号1、2、…、Nである。図12では、フレーム番号1121は整数値変数iで表されている。整数Nは1以上であり、そのビデオ・シーケンスの含むフレームの総数(number_of_displayed_frames_in_GOP)を表す。各オフセット情報1122、1123は、一つのグラフィックス・プレーンに対するオフセット制御を規定する制御情報である。
「オフセット制御」とは、グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、ベースビュー・ビデオ・プレーンとディペンデントビュー・ビデオ・プレーンとのそれぞれに合成する処理をいう。「グラフィックス・プレーンに水平方向のオフセットを与える」とは、そのグラフィックス・プレーン内で各画素データを水平方向に変位させることをいう。それにより、一つのグラフィックス・プレーンから、レフトビューとライトビューとを表すグラフィックス・プレーンの対が生成される。その対から再生される2Dグラフィックス映像の各部の表示位置は、元の表示位置から左右にずれている。それらの変位が視聴者に両眼視差として錯覚されることにより、レフトビューとライトビューとの対がその視聴者には一つの3Dグラフィックス映像として見える。
オフセットは方向と大きさとで決まる。従って、図11、12に示されているとおり、各オフセット情報はオフセット方向(Plane_offset_direction)1122とオフセット値(Plane_offset_value)1123とを含む。オフセット方向1122は、3Dグラフィックス映像の奥行きが画面よりも手前か奥かを示す。オフセット方向1122の値に依り、元の2Dグラフィックス映像の表示位置に対するレフトビューとライトビューとの各表示位置の方向が左又は右に決まる。オフセット値1123は、元の2Dグラフィックス映像の表示位置とレフトビューとライトビューとの各表示位置との間の距離を水平方向の画素数で表す。
図13の(a)、(b)は、PGプレーン1310とIGプレーン1320とに対するオフセット制御を示す模式図である。それらのオフセット制御では、レフトビュー・ビデオ・プレーン1301とライトビュー・ビデオ・プレーン1302とのそれぞれへ二種類のグラフィックス・プレーン1310、1320が合成される。ここで、「レフトビュー/ライトビュー・ビデオ・プレーン」とは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの組み合わせから生成される、レフトビュー/ライトビューを表すビデオ・プレーンをいう。以下の説明では、PGプレーン1310の表す字幕1311を画面よりも手前に表示し、IGプレーン1320の表すボタン1321を画面よりも奥に表示する場合を想定する。
図13の(a)を参照するに、PGプレーン1310には、右方向のオフセットが与えられる。具体的には、まず、PGプレーン1310内の各画素データの位置が、レフトビュー・ビデオ・プレーン1301内の対応する画素データの位置から、オフセット値に等しい画素数SFPだけ右に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン1301の範囲よりも右側に(仮想的に)はみ出ているPGプレーン1310の右端の帯状領域1312を「切り取る」。すなわち、その領域1312の画素データ群を破棄する。一方、PGプレーン1310の左端に透明な帯状領域1313を追加する。その帯状領域1313の幅は右端の帯状領域1312の幅、すなわちオフセット値SFPに等しい。こうして、PGプレーン1310から、レフトビューを表すPGプレーンが生成され、レフトビュー・ビデオ・プレーン1301に合成される。特に、そのレフトビューPGプレーンでは、字幕1311の表示位置が元の表示位置よりも右に、オフセット値SFPだけずれている。
一方、IGプレーン1320には、左方向のオフセットが与えられる。具体的には、まず、IGプレーン1320内の各画素データの位置が、レフトビュー・ビデオ・プレーン1301内の対応する画素データの位置から、オフセット値に等しい画素数SFIだけ左に(仮想的に)移動する。次に、レフトビュー・ビデオ・プレーン1310の範囲よりも左側に(仮想的に)はみ出ているIGプレーン1320の左端の帯状領域1322を切り取る。一方、IGプレーン1320の右端に透明な帯状領域1323を追加する。その帯状領域1323の幅は左端の帯状領域1322の幅、すなわちオフセット値SFIに等しい。こうして、IGプレーン1320から、レフトビューを表すIGプレーンが生成され、レフトビュー・ビデオ・プレーン1301に合成される。特に、そのレフトビューIGプレーンでは、ボタン1321の表示位置が元の表示位置よりも左に、オフセット値SFIだけずれている。
図13の(b)を参照するに、PGプレーン1310には左方向のオフセットが与えられ、IGプレーン1320には右方向のオフセットが与えられる。すなわち、上記の操作をPGプレーン1310とIGプレーン1320とで反対にすればよい。その結果、各プレーン・データ1310、1320から、ライトビューを表すプレーン・データが生成され、ライトビュー・ビデオ・プレーン1320に合成される。特にライトビューPGプレーンでは、字幕1311の表示位置が元の表示位置よりも左に、オフセット値SFPだけずれている。一方、ライトビューIGプレーンでは、ボタン1321の表示位置が元の表示位置よりも右に、オフセット値SFIだけずれている。
図13の(c)は、(a)、(b)に示されているグラフィックス・プレーンの表す2Dグラフィックス映像から視聴者1330に知覚される3Dグラフィックス映像を示す模式図である。それらのグラフィックス・プレーンの表す2Dグラフィックス映像が画面1340に交互に表示されるとき、視聴者1330には、図13の(c)に示されているように、字幕1331は画面1340よりも手前に見え、ボタン1332は画面1340よりも奥に見える。各3Dグラフィックス映像1331、1332と画面1340との間の距離はオフセット値SFP、SFIによって調節可能である。
図14の(a)、(b)は、オフセット・シーケンスの具体例を示すグラフである。各グラフでは、オフセット方向が画面よりも手前を示すときにオフセット値が正である。図14の(a)は、図14の(b)のうち、最初のGOP、GOP1、の表示期間でのグラフを拡大したものである。図14の(a)を参照するに、階段状のグラフ1401は、オフセット・シーケンスID=0のオフセット・シーケンス、すなわちオフセット・シーケンス[0]のオフセット値を示す。一方、水平なグラフ1402は、オフセット・シーケンスID=1のオフセット・シーケンス、すなわちオフセット・シーケンス[1]のオフセット値を示す。オフセット・シーケンス[0]のオフセット値1401は、最初のGOPの表示期間GOP1ではフレームFR1、FR2、FR3、…、FR15、…の順に階段状に増加している。図14の(b)を参照するに、そのオフセット値1401の階段状の増加は2番目以降の各GOPの表示期間GOP2、GOP3、…、GOP40、…でも同様に継続される。1フレーム当たりの増加量が十分に細かいので、図14の(b)ではオフセット値1401が線形に連続的に増加しているように見える。一方、オフセット・シーケンス[1]のオフセット値1402は、最初のGOPの表示期間GOP1では負の一定値に維持されている。図14の(b)を参照するに、そのオフセット値1402は、40番目のGOPの表示期間GOP40の終了時、正の値に急増する。このようにオフセット値は不連続に変化してもよい。
図14の(c)は、図14の(a)、(b)に示されているオフセット・シーケンスに従って再現される3Dグラフィックス映像を示す模式図である。字幕の3D映像1403がオフセット・シーケンス[0]に従って表示されるとき、その3D映像1403は、画面1404の直ぐ手前から徐々に飛び出てくるように見える。一方、ボタンの3D映像1405がオフセット・シーケンス[1]に従って表示されるとき、その3D映像1405は、画面1404よりも奥に固定されている状態から突然、画面1404よりも手前に飛び出てくるように見える。このように、フレーム単位でのオフセット値の増減のパターンをオフセット・シーケンスごとに様々に変化させる。それにより、複数の3Dグラフィックス映像について、個々の奥行きの変化を多様に表現することができる。
[オフセット・メタデータとTS優先度との間の関係]
図15は、ディペンデントビュー・ビデオ・ストリーム内のVAU#11500を格納したPESパケット1510と、そのPESパケット1510から生成されるTSパケット列1520とを示す模式図である。VAU#11500は、図8に示されているVAU#1832と同様にビデオ・シーケンスの先端に位置する。従って、VAU#11500に含まれる補足データの少なくとも一つ1504は、オフセット・メタデータ1509のみから構成される。図15には、オフセット・メタデータ1509のみから構成される補足データ1504が斜線部で示されている。VAU#11500はPESパケット1510のPESペイロード1512に格納されている。そのPESパケット1510のPESヘッダ1511は、VAU#11500内の圧縮ピクチャ・データ1505に割り当てられたDTSとPTSとを含む。PESパケット1510は先頭から順にTSパケット列1520に格納されている。それにより、TSパケット列1520は先頭から順に三つのグループ1521、1522、1523に分けられる。第1グループ1521は、PESヘッダ1511、サブAU識別コード1501、サブシーケンス・ヘッダ1502、及び、ピクチャ・ヘッダ1503を格納している。第2グループ1522は、オフセット・メタデータ1509のみから構成される補足データ1504のみを格納している。第3グループ1513は、圧縮ピクチャ・データ1505、パディング・データ1506、シーケンス終端コード1507、及びストリーム終端コード1508を格納している。ここで、VAU#11500がオフセット・メタデータ以外の補足データを含む場合、それらの補足データは第1グループ1521又は第3グループ1513に格納される。第1グループ1521の後端に位置するTSパケット1530は一般にADフィールド1532を含む。それにより、そのTSペイロード1533へは、オフセット・メタデータ1509のみから構成される補足データ1504が混入しない。同様に、第2グループ1522の後端に位置するTSパケット1550は一般にADフィールド1552を含む。それにより、そのTSペイロード1553へは、圧縮ピクチャ・データ1505はもちろん、オフセット・メタデータ1509のみから構成される補足データ1504以外のデータはいずれも混入しない。こうして、オフセット・メタデータ1509のみから構成される補足データ1504は、第2グループ1522に属するTSパケット1540、1550のTSペイロード1542、1553にのみ格納される。一方、圧縮ピクチャ・データ1505は、第3グループ1523に属するTSパケット1560のTSペイロード1562にのみ格納される。
図15を更に参照するに、第1グループ1521に属するTSパケット1530では、TSヘッダ1531の示すTS優先度の値が“0”に設定されている。同様に、第3グループ1523に属するTSパケット1560では、TSヘッダ1561の示すTS優先度の値が“0”に設定されている。一方、第2グループ1522に属するTSパケット1540、1550では、TSヘッダ1541、1551の示すTS優先度の値が“1”に設定されている。尚、値の設定は逆でもよい。このように、第2グループ1522に属するTSパケットは、他のグループ1521、1523に属するTSパケットとはTS優先度の値が異なる。従って、再生装置102内のシステム・ターゲット・デコーダはTS優先度を利用して、第2グループ1522に属するTSパケットを容易に選別できる。
図15とは異なり、第1グループ1521と第2グループ1522とのそれぞれに属するTSパケットが同じTS優先度の値を示してもよい。図16は、その場合のTSパケット列1620を示す模式図である。図15に示されているTSパケット列1520と同様に、TSパケット列1620は先頭から順に三つのグループ1621、1622、1623に分けられる。第1グループ1621は、PESヘッダ1511、サブAU識別コード1501、サブシーケンス・ヘッダ1502、及び、ピクチャ・ヘッダ1503を格納している。第2グループ1622は、オフセット・メタデータ1509のみから構成される補足データ1504のみを格納している。第3グループ1613は、圧縮ピクチャ・データ1505、パディング・データ1506、シーケンス終端コード1507、及びストリーム終端コード1508を格納している。ここで、VAU#11500がオフセット・メタデータ以外の補足データを含む場合、それらの補足データは第1グループ1621又は第3グループ1613に格納される。図16には、オフセット・メタデータ1509のみから構成される補足データ1504が斜線部で示され、PESパケット1510内でその補足データよりも前に配置されるデータ1511、1501−1503がドット付きの領域で示されている。第1グループ1621と第2グループ1622とのそれぞれに属するTSパケット1630、1640、1650ではいずれも、TSヘッダ1631、1641、1651の示すTS優先度の値が“1”に設定されている。一方、第3グループ1623に属するTSパケット1660では、TSヘッダ1661の示すTS優先度の値が“0”に設定されている。尚、値の設定は逆でもよい。この場合でも、オフセット・メタデータ1509のみから構成される補足データ1504を格納したTSパケットは、圧縮ピクチャ・データ1505を格納したTSパケットとはTS優先度の値が異なる。従って、再生装置102内のシステム・ターゲット・デコーダはTS優先度を利用して、オフセット・メタデータ1509のみから構成される補足データ1504を格納したTSパケット群を、圧縮ピクチャ・データ1505を格納したTSパケット群から容易に分離できる。
[復号スイッチ情報]
図17の(a)は、復号スイッチ情報1750のデータ構造を示す模式図である。復号スイッチ情報1750は、図8に示されているベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの各VAUでその補足データに格納されている。但し、ディペンデントビュー・ビデオ・ストリームの各GOPの先頭に位置するVAU#1832では、復号スイッチ情報1750は、オフセット・メタデータを含む補足データ832Dとは別の補足データに格納される。補足データ831D、832Dは、特にMPEG−4 AVC、MVCでは、NALユニットの一種“SEI”に相当する。復号スイッチ情報1750は、再生装置102内のデコーダに、次に復号すべきVAUを容易に特定させるための情報である。ここで、そのデコーダは後述のように、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとをVAU単位で交互に復号する。そのとき、そのデコーダは一般に、各VAUに付与されたDTSの示す時刻に合わせて、次に復号すべきVAUを特定する。しかし、デコーダの種類には、DTSを無視してVAUを順次、復号し続けるものも多い。そのようなデコーダにとって、各VAUがDTSに加えて復号スイッチ情報1750を含むことは好ましい。
図17の(a)を参照するに、復号スイッチ情報1750は、次アクセスユニット・タイプ1751、次アクセスユニット・サイズ1752、及び復号カウンタ1753を含む。次アクセスユニット・タイプ1751は、次に復号されるべきVAUがベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれに属するのかを示す。例えば、次アクセスユニット・タイプ1751の値が“1”であるときは、次に復号されるべきVAUはベースビュー・ビデオ・ストリームに属し、“2”であるときはディペンデントビュー・ビデオ・ストリームに属する。次アクセスユニット・タイプ1751の値が“0”であるときは、現在のVAUが復号対象のストリームの後端に位置し、次に復号されるべきVAUが存在しない。次アクセスユニット・サイズ1752は、次に復号されるべきVAUのサイズを示す。再生装置102内のデコーダは、次アクセスユニット・サイズ1752を参照することにより、VAUの構造自体を解析することなく、そのサイズを特定できる。従って、デコーダはバッファからVAUを容易に抽出できる。復号カウンタ1753は、それの属するVAUが復号されるべき順番を示す。その順番は、ベースビュー・ビデオ・ストリーム内のIピクチャを含むVAUから数えられる。
図17の(b)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの一例1710、1720を示す模式図である。図17の(b)を参照するに、復号カウンタ1710、1720は両ビデオ・ストリーム1701、1702の間で交互にインクリメントされる。例えば、ベースビュー・ビデオ・ストリーム1701内のIピクチャを含むVAU1711に対し、復号カウンタ1710として“1”が割り当てられる。次に復号されるべきディペンデントビュー・ビデオ・ストリーム1702内のPピクチャを含むVAU1721に対し、復号カウンタ1720として“2”が割り当てられる。更にその次に復号されるべきベースビュー・ビデオ・ストリーム1701内のPピクチャを含むVAU1712に対し、復号カウンタ1710として“3”が割り当てられる。その割り当てにより、何らかの不具合が原因で再生装置102内のデコーダがいずれかのVAUを読み損なったときでも、それによって欠落したピクチャをデコーダは復号カウンタ1710、1720から直ちに特定できる。従って、デコーダはエラー処理を適切に、かつ迅速に実行できる。
図17の(b)に示されている例では、ベースビュー・ビデオ・ストリーム1701の3番目のVAU1713の読み込みにエラーが生じ、Brピクチャが欠落している。しかし、デコーダは、ディペンデントビュー・ビデオ・ストリーム1702の2番目のVAU1722に含まれるPピクチャの復号処理で、そのVAU1722から復号カウンタ1720を読み出して保持している。従って、デコーダは次に処理すべきVAUの復号カウンタ1710を予測できる。具体的には、そのPピクチャを含むVAU1722内の復号カウンタ1720は“4”であるので、次に読み込まれるべきVAUの復号カウンタ1710は“5”であると予測される。しかし、実際には、次に読み込まれたVAUはベースビュー・ビデオ・ストリーム1701の4番目のVAU1714であったので、その復号カウンタ1710は“7”である。そのことから、デコーダは、VAUを一つ読み損ねたことを検出できる。従って、デコーダは次のエラー処理を実行できる:「ディペンデントビュー・ビデオ・ストリーム1702の3番目のVAU1723から抽出されたBピクチャについては、参照すべきBrピクチャが欠落しているので復号処理をスキップする」。このように、デコーダは復号処理ごとに復号カウンタ1710、1720をチェックする。それにより、デコーダはVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
図17の(c)は、ベースビュー・ビデオ・ストリーム1701とディペンデントビュー・ビデオ・ストリーム1702との各ピクチャに割り当てられた復号カウンタの別例1730、1740を示す模式図である。図17の(c)を参照するに、復号カウンタ1730、1740は各ビデオ・ストリーム1701、1702で別々にインクリメントされる。従って、復号カウンタ1730、1740は、同じ3D・VAUに属する一対のピクチャ間で等しい。その場合、デコーダはベースビュー・ビデオ・ストリーム1701のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタ1730が、次に復号されるべきディペンデントビュー・ビデオ・ストリーム1702のVAUの復号カウンタ1740に等しい」。一方、デコーダはディペンデントビュー・ビデオ・ストリーム1702のVAUを一つ復号した時点では次のように予測できる:「その復号カウンタ1740に1を加えた値が、次に復号されるべきベースビュー・ビデオ・ストリーム1701のVAUの復号カウンタ1730に等しい」。従って、デコーダはいずれの時点でも復号カウンタ1730、1740からVAUの読み込みエラーを迅速に検出でき、かつ適切なエラー処理を迅速に実行できる。その結果、再生映像へのノイズの混入を防止することができる。
≪AVストリーム・ファイルに含まれるその他のTSパケット≫
AVストリーム・ファイルに含まれるTSパケットの種類には、図3に示されているエレメンタリ・ストリームから変換されたもの以外にも、PAT(ProgramAssociation Table)、PMT(Program Map Table)、及びPCR(Program Clock Reference)がある。PCR、PMT、及びPATは欧州デジタル放送規格で定められたものであり、本来は、一つの番組を構成するパーシャル・トランスポート・ストリームを規定する役割を持つ。PCR、PMT、及びPATを利用することで、AVストリーム・ファイルもそのパーシャル・トランスポート・ストリームと同様に規定される。具体的には、PATは、同じAVストリーム・ファイルに含まれるPMTのPIDを示す。PAT自身のPIDは0である。PMTは、同じAVストリーム・ファイルに含まれる、映像・音声・字幕等を表す各エレメンタリ・ストリームのPIDとその属性情報とを含む。PMTは更に、そのAVストリーム・ファイルに関する各種のディスクリプタ(記述子ともいう。)を含む。ディスクリプタには特に、そのAVストリーム・ファイルのコピーの許可/禁止を示すコピー・コントロール情報が含まれる。PCRは、自身に割り当てられたATSに対応させるべきSTC(SystemTime Clock)の値を示す情報を含む。ここで、「STC」は、再生装置102内のデコーダによって、PTS及びDTSの基準として利用されるクロックである。そのデコーダはPCRを利用して、ATCにSTCを同期させる。
図18は、PMT1810のデータ構造を示す模式図である。PMT1810は、PMTヘッダ1801、ディスクリプタ1802、及びストリーム情報1803を含む。PMTヘッダ1801は、PMT1810に含まれるデータの長さ等を示す。各ディスクリプタ1802は、PMT1810を含むAVストリーム・ファイルの全体に関するディスクリプタである。前述のコピー・コントロール情報はディスクリプタ1802の一つに含まれる。ストリーム情報1803は、AVストリーム・ファイルに含まれる各エレメンタリ・ストリームに関する情報であり、一つずつ異なるエレメンタリ・ストリームに割り当てられている。各ストリーム情報1803は、ストリーム・タイプ1831、PID1832、及びストリーム・ディスクリプタ1833を含む。ストリーム・タイプ1831は、そのエレメンタリ・ストリームの圧縮に利用されたコーデックの識別情報等を含む。PID1832は、そのエレメンタリ・ストリームのPIDを示す。ストリーム・ディスクリプタ1833は、そのエレメンタリ・ストリームの属性情報、例えばフレームレート及びアスペクト比を含む。
PCR、PMT、及びPATを利用することで、再生装置102内のデコーダにAVストリーム・ファイルを、欧州デジタル放送規格に準拠のパーシャル・トランスポート・ストリームと同様に処理させることができる。それにより、BD−ROMディスク101用の再生装置と欧州デジタル放送規格に準拠の端末装置との間の互換性を確保することができる。
≪多重化ストリーム・データのインターリーブ配置≫
3D映像のシームレス再生には、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのBD−ROMディスク101上での物理的な配置が重要である。ここで、「シームレス再生」とは、多重化ストリーム・データから映像と音声とを途切れさせることなく滑らかに再生することをいう。
図19は、BD−ROMディスク101上での多重化ストリーム・データの物理的な配置を示す模式図である。図19を参照するに、多重化ストリーム・データは複数のデータ・ブロックD[n]、B[n](n=0、1、2、3、…)に分割されて、BD−ROMディスク101上に配置されている。ここで、「データ・ブロック」とは、BD−ROMディスク101上の連続領域、すなわち物理的に連続する複数のセクタに記録された一連のデータをいう。BD−ROMディスク101では物理アドレスが論理アドレスと実質的に等しいので、各データ・ブロック内ではLBNも連続している。従って、BD−ROMドライブ121は一つのデータ・ブロックを、光ピックアップにシークを行わせることなく連続して読み出すことができる。以下、メインTSに属するデータ・ブロックB[n]を「ベースビュー・データ・ブロック」といい、サブTSに属するデータ・ブロックD[n]を「ディペンデントビュー・データ・ブロック」という。特に、ライトビュー・ビデオ・ストリームを含むデータ・ブロックを「ライトビュー・データ・ブロック」といい、デプスマップ・ストリームを含むデータ・ブロックを「デプスマップ・データ・ブロック」という。
各データ・ブロックB[n]、D[n]は、BD−ROMディスク101のファイルシステムでは、ファイル2D又はファイルDEP内の一つのエクステントとしてアクセス可能である。すなわち、各データ・ブロックの論理アドレスは、ファイル2D又はファイルDEPのファイル・エントリから知ることができる(詳細は《補足》参照)。
図19に示されている例では、ファイル2D(01000.m2ts)241のファイル・エントリ1910がベースビュー・データ・ブロックB[n]の各サイズとその先端のLBNとを示す。従って、各ベースビュー・データ・ブロックB[n]はファイル2D241のエクステントEXT2D[n]としてアクセス可能である。以下、ファイル2D241に属するエクステントEXT2D[n]を「2Dエクステント」という。一方、ファイルDEP(02000.m2ts)242のファイル・エントリ1920がディペンデントビュー・データ・ブロックD[n]の各サイズとその先端のLBNとを示す。従って、各ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・データ・ブロックであり、ファイルDEP242のエクステントEXT2[n]としてアクセス可能である。以下、ファイルDEP242に属するエクステントEXT2[n]を「ディペンデントビュー・エクステント」という。
図19を参照するに、データ・ブロック群はBD−ROMディスク101上のトラックに沿って連続的に記録されている。更に、ベースビュー・データ・ブロックB[n]とディペンデントビュー・データ・ブロックD[n]とは一つずつ交互に配置されている。このようなデータ・ブロック群の配置を「インターリーブ配置」という。特に、インターリーブ配置で記録された一連のデータ・ブロック群を「エクステント・ブロック」という。図19には三つのエクステント・ブロック1901、1902、1903が示されている。最初の二つのエクステント・ブロック1901、1902のように、エクステント・ブロックの間は多重化ストリーム・データ以外のデータNAVの記録領域によって分離される。また、BD−ROMディスク101が多層ディスクである場合、すなわち記録層を複数含む場合、図19に示されている2番目と3番目とのエクステント・ブロック1902、1903のように、エクステント・ブロックの間は記録層間の境界LBによっても分離される。こうして、一連の多重化ストリーム・データは一般に複数のエクステント・ブロックに分割されて配置されている。その場合、再生装置102がその多重化ストリーム・データから映像をシームレスに再生するには、各エクステント・ブロックから再生される映像をシームレスに接続しなければならない。以下、そのために再生装置102が必要とする処理を「エクステント・ブロック間のシームレスな接続」という。
各エクステント・ブロック1901−1903は二種類のデータ・ブロックD[n]、B[n]のそれぞれを同じ数ずつ含む。更に、隣接するデータ・ブロックの対D[n]、B[n]ではエクステントATC時間が等しい。ここで、「ATC(ArrivalTime Clock)」は、ATSの基準とされるべきクロックを意味する。また、「エクステントATC時間」はATCの値で定義され、一つのエクステント内のソースパケットに付与されたATSの範囲、すなわち、そのエクステントの先頭のソースパケットのATSから次のエクステントの先頭のソースパケットのATSまでの時間間隔を表す。すなわち、エクステントATC時間は、そのエクステント内のソースパケットを全て、再生装置102内でリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間に等しい。ここで、「リード・バッファ」は再生装置102内のバッファ・メモリであり、BD−ROMディスク101から読み出されたデータ・ブロックをシステム・ターゲット・デコーダへ送るまでの間、一時的に格納する。リード・バッファの詳細については後述する。図19に示されている例では、三つのエクステント・ブロック1901−1903が互いにシームレスに接続されるので、データ・ブロックの各対D[n]、B[n](n=0、1、2、…)でエクステントATC時間が等しい。
隣接するデータ・ブロックの各対D[n]、B[n]では、先頭に位置するVAUは同じ3D・VAUに属し、特に、同じ3D映像を表すGOPの先頭のピクチャを含む。例えばディペンデントビュー・データ・ブロックD[n]がライトビュー・データ・ブロックである場合、各ライトビュー・データ・ブロックD[n]の先端はライトビュー・ビデオ・ストリームのPピクチャを含み、先頭のベースビュー・データ・ブロックB[n]の先端はベースビュー・ビデオ・ストリームのIピクチャを含む。そのライトビュー・ビデオ・ストリームのPピクチャは、そのベースビュー・ビデオ・ストリームのIピクチャの表す2D映像をレフトビューとするときのライトビューを表す。特にそのPピクチャは、図7に示されているように、そのIピクチャを参照ピクチャとして圧縮されている。従って、3D再生モードの再生装置102は、いずれのデータ・ブロックの対D[n]、B[n]からも3D映像の再生を開始できる。すなわち、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理が可能である。ディペンデントビュー・データ・ブロックD[n]がデプスマップ・データ・ブロックである場合も同様である。
インターリーブ配置では更に、隣接するデータ・ブロックの対D[n]、B[n]のうち、ディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりも先に配置される。それは、一般にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]よりもデータ量が小さい、すなわち、ビットレートが低いことに因る。例えば、ライトビュー・データ・ブロックD[n]に含まれるピクチャは、ベースビュー・データ・ブロックB[n]に含まれるピクチャを参照ピクチャとして圧縮されている。従って、そのライトビュー・データ・ブロックD[n]のサイズSEXT2[n]は一般に、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT2[n]≦SEXT1[n]。一方、デプスマップの画素当たりのデータ量、すなわち奥行き値のビット数は一般に、ベースビュー・ピクチャの画素当たりのデータ量、すなわち色座標値とα値とのビット数の和よりも小さい。更に、図3の(a)、(b)に示されているように、メインTSはサブTSとは異なり、プライマリ・ビデオ・ストリームの他にもプライマリ・オーディオ・ストリーム等のエレメンタリ・ストリームを含む。従って、デプスマップ・データ・ブロックのサイズSEXT3[n]は一般に、ベースビュー・データ・ブロックB[n]のサイズSEXT1[n]以下である:SEXT3[n]≦SEXT1[n]。
[多重化ストリーム・データをデータ・ブロックに分割する意義]
再生装置102は、BD−ROMディスク101から3D映像をシームレスに再生するには、メインTSとサブTSとをパラレルに処理しなければならない。しかし、その処理に利用可能なリード・バッファの容量は一般に限られている。特に、BD−ROMディスク101からリード・バッファへ連続して読み込むことのできるデータ量には限界がある。従って、再生装置102はメインTSとサブTSとを、エクステントATC時間の等しい部分の対に分割して読み出さねばならない。
図20の(a)は、あるBD−ROMディスク上に個別に連続して記録されたメインTS2001とサブTS2002との配置を示す模式図である。再生装置102がそれらのメインTS2001とサブTS2002とをパラレルに処理するとき、図20の(a)に実線の矢印(1)−(4)で示されているように、BD−ROMドライブ121はメインTS2001とサブTS2002とを交互に、エクステントATC時間の等しい部分ずつ読み出す。そのとき、BD−ROMドライブ121は、図20の(a)に破線の矢印で示されているように、読み出し処理の途中でBD−ROMディスク上の読み出し対象領域を大きく変化させなければならない。例えば矢印(1)の示すメインTS2001の先端部分が読み出された時、BD−ROMドライブ121は光ピックアップによる読み出し動作を一旦停止し、BD−ROMディスクの回転速度を上げる。それにより、矢印(2)の示すサブTS2002の先端部分が記録されたBD−ROMディスク上のセクタを速やかに光ピックアップの位置まで移動させる。このように、光ピックアップに読み出し動作を一旦停止させて、その間に次の読み出し対象領域上へ光ピックアップを位置づけるための操作を「ジャンプ」という。図20の(a)に示されている破線の矢印は、読み出し処理の途中で必要な各ジャンプの範囲を示す。各ジャンプの期間中、光ピックアップによる読み出し処理は停止し、デコーダによる復号処理のみが進行する。図20の(a)に示されている例ではジャンプが過大であるので、読み出し処理を復号処理に間に合わせることが難しい。その結果、シームレス再生を確実に持続することが難しい。
図20の(b)は、本発明の実施形態1によるBD−ROMディスク101上に交互に記録されたディペンデントビュー・データ・ブロックD[0]、D[1]、D[2]、…とベースビュー・データ・ブロックB[0]、B[1]、B[2]、…との配置を示す模式図である。図20の(b)を参照するに、メインTSとサブTSとはそれぞれ、複数のデータ・ブロックに分割されて交互に配置されている。その場合、再生装置102は3D映像の再生時、図20の(b)に矢印(1)−(4)で示されているように、データ・ブロックD[0]、B[0]、D[1]、B[1]、…を先頭から順番に読み出す。それだけで、再生装置102はメインTSとサブTSとを交互に読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
[隣接するデータ・ブロック間でエクステントATC時間を揃える意義]
図20の(c)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の一例を示す模式図である(n=0、1、2)。図20の(c)を参照するに、各ディペンデントビュー・データ・ブロックD[n]とその直後のベースビュー・データ・ブロックB[n]との対ではエクステントATC時間が等しい。例えば先頭のデータ・ブロックの対D[0]、B[0]ではエクステントATC時間が共に1秒に等しい。従って、各データ・ブロックD[0]、B[0]が再生装置102内のリード・バッファに読み込まれたとき、その中の全てのTSパケットが、同じ1秒間でリード・バッファからシステム・ターゲット・デコーダへ送られる。同様に、2番目のデータ・ブロックの対D[1]、B[1]ではエクステントATC時間が共に0.7秒に等しいので、同じ0.7秒間で、各データ・ブロック内の全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
図20の(d)は、インターリーブ配置で記録されたディペンデントビュー・データ・ブロック群D[n]とベースビュー・データ・ブロック群B[n]との各エクステントATC時間の別例を示す模式図である。図20の(d)を参照するに、全てのデータ・ブロックD[n]、B[n]でエクステントATC時間が1秒に等しい。従って、各データ・ブロックD[n]、B[n]が再生装置102内のリード・バッファに読み込まれたとき、いずれのデータ・ブロックでも、同じ1秒間で全てのTSパケットがリード・バッファからシステム・ターゲット・デコーダへ送られる。
上記のとおり、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりも圧縮率が高い。従って、ディペンデントビュー・データ・ブロックの復号処理の速度は一般に、ベースビュー・データ・ブロックの復号処理の速度よりも低い。一方、エクステントATC時間が等しいとき、ディペンデントビュー・データ・ブロックは一般に、ベースビュー・データ・ブロックよりもデータ量が小さい。従って、図20の(c)、(d)のように、隣接するデータ・ブロック間でエクステントATC時間が等しいとき、復号対象のデータがシステム・ターゲット・デコーダに供給される速度は、そのデコーダの処理速度と均衡を保ちやすい。すなわち、システム・ターゲット・デコーダは、特に飛び込み再生においても、ベースビュー・データ・ブロックの復号処理とディペンデントビュー・データ・ブロックの復号処理とを容易に同期させることができる。
[データ量の小さいデータ・ブロックを先に置く意義]
3D再生モードの再生装置102は、各エクステント・ブロックの先頭に位置するデータ・ブロックを読み出すとき、又は再生開始位置のデータ・ブロックを読み出すとき、まず、そのデータ・ブロックを全てリード・バッファに読み込む。その間、そのデータ・ブロックはシステム・ターゲット・デコーダには渡されない。その読み込みが完了した後、再生装置102はそのデータ・ブロックを次のデータ・ブロックとパラレルにシステム・ターゲット・デコーダに渡す。この処理を「プリロード」という。
プリロードの技術的意義は次のとおりである。L/Rモードでは、ディペンデントビュー・データ・ブロックの復号にベースビュー・データ・ブロックが必要である。従って、復号後のデータを出力処理まで保持するためのバッファを必要最小限の容量に維持するには、それらのデータ・ブロックをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。一方、デプス・モードでは、復号後のベースビュー・ピクチャとデプスマップとの対から、視差画像を表すビデオ・プレーンの対を生成する処理が必要である。従って、復号後のデータをその処理まで保持するためのバッファを必要最小限の容量に維持するには、ベースビュー・データ・ブロックとデプスマップ・データ・ブロックとをシステム・ターゲット・デコーダに同時に供給して復号させることが好ましい。それ故、プリロードにより、エクステント・ブロックの先頭又は再生開始位置のデータ・ブロックの全体を予めリード・バッファに読み込んでおく。それにより、そのデータ・ブロックと後続のデータ・ブロックとをリード・バッファからシステム・ターゲット・デコーダへ同時に転送して復号させることができる。更に、以降のデータ・ブロックの対もシステム・ターゲット・デコーダに同時に復号させることができる。
プリロードでは、最初に読み出されるデータ・ブロックの全体がリード・バッファに蓄積される。従って、リード・バッファには少なくとも、そのデータ・ブロックのサイズに等しい容量が要求される。ここで、リード・バッファの容量を最小限に維持するには、プリロードの対象とされるデータ・ブロックのサイズを可能な限り縮小すべきである。一方、飛び込み再生等のランダムアクセスでは、いずれのデータ・ブロックの対も再生開始位置に選択され得る。それ故、いずれのデータ・ブロックの対でも、データ量の小さい方を先に置く。それにより、リード・バッファの容量を最小限に維持することができる。
≪データ・ブロックに対するAVストリーム・ファイルのクロスリンク≫
図19に示されているデータ・ブロック群に対して、AVストリーム・ファイルのクロスリンクは次のように実現される。ファイルSS(01000.ssif)244Aのファイル・エントリ1940は、各エクステント・ブロック1901−1903を一つのエクステントと見なして各サイズとその先端のLBNとを示す。従って、各エクステント・ブロック1901−1903はファイルSS244AのエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]としてアクセス可能である。以下、ファイルSS244Aに属するエクステントEXTSS[0]、EXTSS[1]、EXTSS[2]を「エクステントSS」という。各エクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]は、ファイル2D241とはベースビュー・データ・ブロックB[n]を共有し、ファイルDEP242とはディペンデントビュー・データ・ブロックD[n]を共有する。
≪エクステント・ブロック群に対する再生経路≫
図21は、エクステント・ブロック群1901−1903に対する2D再生モードでの再生経路2101を示す模式図である。2D再生モードの再生装置102はファイル2D241を再生する。従って、2D再生モードでの再生経路2101が示すとおり、各エクステント・ブロック1901−1903からベースビュー・データ・ブロックB[n](n=0、1、2、…)が順番に2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]として読み出される。具体的には、まず先頭のエクステント・ブロック1901から先頭のベースビュー・データ・ブロックB[0]が読み出され、その直後のディペンデントビュー・データ・ブロックD[0]の読み出しが最初のジャンプJ2D1によってスキップされる。次に2番目のベースビュー・データ・ブロックB[1]が読み出され、その直後のデータNAVとディペンデントビュー・データ・ブロックD[1]との読み出しが2回目のジャンプJNAVによってスキップされる。続いて、2番目以降のエクステント・ブロック1902、1903内でも同様に、ベースビュー・データ・ブロックの読み出しとジャンプとが繰り返される。
2番目のエクステント・ブロック1902と3番目のエクステント・ブロック1903との間に生じるジャンプJLYは、層境界LBを越えるロングジャンプである。「ロングジャンプ」はジャンプの中でもシーク時間の長いものの総称であり、具体的には、ジャンプ距離が所定の閾値を超えるものをいう。「ジャンプ距離」とは、ジャンプ期間中に読み出し操作がスキップされるBD−ROMディスク101上の領域の長さをいう。ジャンプ距離は通常、その部分のセクタ数で表される。ロングジャンプの定義に利用される閾値は、BD−ROMの規格では例えば40000セクタに規定されている。しかし、その閾値は、BD−ROMディスクの種類と、BD−ROMドライブの読み出し処理に関する性能とに依存する。ロングジャンプは特にフォーカス・ジャンプとトラック・ジャンプとを含む。「フォーカス・ジャンプ」は、記録層の切り換えに伴うジャンプであり、光ピックアップの焦点距離を変化させる処理を含む。「トラック・ジャンプ」は、光ピックアップをBD−ROMディスク101の半径方向に移動させる処理を含む。
図21はまた、エクステント・ブロック群1901−1903に対するL/Rモードでの再生経路2102も示す。L/Rモードの再生装置102は第1ファイルSS244Aを再生する。従って、L/Rモードでの再生経路2102が示すとおり、各エクステント・ブロック1901−1903が順番にエクステントSSEXTSS[0]、EXTSS[1]、EXTSS[2]として読み出される。具体的には、まず先頭のエクステント・ブロック1901からデータ・ブロックD[0]、B[0]、D[1]、B[1]が連続して読み出され、その直後のデータNAVの読み出しが最初のジャンプJNAVによってスキップされる。次に2番目のエクステント・ブロック1902からデータ・ブロックD[2]、…、B[3]が連続して読み出される。その直後に、記録層の切り換えに伴うロングジャンプJLYが生じ、続いて、3番目のエクステント・ブロック1903からデータ・ブロックD[4]、B[4]、…が連続して読み出される。
エクステント・ブロック1901−1903をファイルSS244Aのエクステントとして読み込むとき、再生装置102はファイルSS244Aのファイル・エントリ1940から各エクステントSSEXTSS[0]、EXTSS[1]、…の先端のLBNとそのサイズとを読み出してBD−ROMドライブ121に渡す。BD−ROMドライブ121はそのLBNからそのサイズのデータを連続して読み出す。これらの処理は、データ・ブロック群をファイルDEP242とファイル2D241との各エクステントとして読み込む処理よりも、BD−ROMドライブ121の制御が次の二点(A)、(B)で簡単である:(A)再生装置102は一箇所のファイル・エントリを利用して各エクステントを順番に参照すればよい;(B)読み込み対象のエクステントの総数が実質上半減するので、BD−ROMドライブ121に渡されるべきLBNとサイズとの対の総数が少ない。但し、再生装置102はエクステントSSEXTSS[0]、EXTSS[1]、…を読み込んだ後、それぞれをディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとに分離してデコーダに渡さなければならない。その分離処理にはクリップ情報ファイルが利用される。その詳細については後述する。
図19に示されているように、各エクステント・ブロック1901−1903の実際の読み出しでは、BD−ROMドライブ121は各データ・ブロックの後端から次のデータ・ブロックの先端までの間にゼロ・セクタ遷移J0を行う。「ゼロ・セクタ遷移」とは、二つの連続するデータ・ブロック間での光ピックアップの移動をいう。ゼロ・セクタ遷移が行われる期間(以下、ゼロ・セクタ遷移期間という。)では、光ピックアップは読み出し動作を一旦停止して待機する。その意味で、ゼロ・セクタ遷移は「ジャンプ距離が0セクタに等しいジャンプ」とも見なせる。ゼロ・セクタ遷移期間の長さ、すなわちゼロ・セクタ遷移時間は、BD−ROMディスク101の回転による光ピックアップの位置の移動時間の他に、誤り訂正処理に伴うオーバーヘッドを含んでもよい。「誤り訂正処理に伴うオーバーヘッド」とは、二つのデータ・ブロックの境界がECCブロックの境界と一致していないときに、そのECCブロックを用いた誤り訂正処理が二回行われることに起因する余分な時間をいう。誤り訂正処理には一つのECCブロックの全体が必要である。従って、一つのECCブロックが二つの連続するデータ・ブロックに共有されているとき、いずれのデータ・ブロックの読み出し処理でもそのECCブロックの全体が読み出されて誤り訂正処理に利用される。その結果、それらのデータ・ブロックを一つ読み出すごとに、そのデータ・ブロックの他に最大32セクタの余分なデータが読み出される。誤り訂正処理に伴うオーバーヘッドは、その余分なデータの読み出し時間の合計、すなわち32[セクタ]×2048[バイト]×8[ビット/バイト]×2[回]/読み出し速度で評価される。尚、各データ・ブロックをECCブロック単位で構成することにより、誤り訂正処理に伴うオーバーヘッドがゼロ・セクタ遷移時間から除外されてもよい。
≪クリップ情報ファイル≫
図22は、第1クリップ情報ファイル(01000.clpi)、すなわち2Dクリップ情報ファイル231のデータ構造を示す模式図である。ディペンデントビュー・クリップ情報ファイル(02000.clpi)232、(03000.clpi)233も同様なデータ構造を持つ。以下では、まず2Dクリップ情報ファイル231のデータ構造を例にして、クリップ情報ファイル全般に共通するデータ構造を説明する。その後、ディペンデントビュー・クリップ情報ファイルについて、2Dクリップ情報ファイルとのデータ構造上の相違点を説明する。
図22を参照するに、2Dクリップ情報ファイル231は、クリップ情報2210、ストリーム属性情報2220、エントリ・マップ2230、及び3Dメタデータ2240を含む。3Dメタデータ2240はエクステント起点2242を含む。
クリップ情報2210は、システムレート2211、再生開始時刻2212、及び再生終了時刻2213を含む。システムレート2211は、ファイル2D(01000.m2ts)241に対するシステムレートを規定する。ここで、2D再生モードの再生装置102は、ファイル2D241に属するTSパケットをリード・バッファからシステム・ターゲット・デコーダへ転送する。「システムレート」はその転送速度の上限値を意味する。その転送速度がシステムレート以下に抑えられるように、ファイル2D241ではソースパケットのATSの間隔が設定されている。再生開始時刻2212は、ファイル2D241の先頭のVAUのPTS、例えば先頭の映像フレームのPTSを示す。再生終了時刻2212は、ファイル2D241の後端のVAUのPTSから所定量遅れたSTCの値、例えば最後の映像フレームのPTSに1フレーム当たりの再生時間を加えた値を示す。
ストリーム属性情報2220は、ファイル2D241に含まれる各エレメンタリ・ストリームのPID2221とその属性情報2222との間の対応表である。属性情報2222は、ビデオ・ストリーム、オーディオ・ストリーム、PGストリーム、及びIGストリームのそれぞれで異なる。例えばプライマリ・ビデオ・ストリームのPID0x1011に対応付けられた属性情報は、そのビデオ・ストリームの圧縮に利用されたコーデックの種類、そのビデオ・ストリームを構成する各ピクチャの解像度、アスペクト比、及びフレームレートを含む。一方、プライマリ・オーディオ・ストリームのPID0x1100に対応付けられた属性情報は、そのオーディオ・ストリームの圧縮に利用されたコーデックの種類、そのオーディオ・ストリームに含まれるチャンネル数、言語、及びサンプリング周波数を含む。属性情報2222は再生装置102により、デコーダの初期化に利用される。
[エントリ・マップ]
図23の(a)は、エントリ・マップ2230のデータ構造を示す模式図である。図23の(a)を参照するに、エントリ・マップ2230はテーブル2300を含む。テーブル2300は、メインTSに多重化されたビデオ・ストリームと同数であり、各ビデオ・ストリームに一つずつ割り当てられている。図23の(a)では各テーブル2300が割り当て先のビデオ・ストリームのPIDで区別されている。各テーブル2300はエントリ・マップ・ヘッダ2301とエントリ・ポイント2302とを含む。エントリ・マップ・ヘッダ2301は、そのテーブル2300に対応付けられたPIDと、そのテーブル2300に含まれるエントリ・ポイント2302の総数とを含む。エントリ・ポイント2302は、PTS2303とソースパケット番号(SPN)2304との対を一つずつ、異なるエントリ・ポイントID(EP_ID)2305に対応付ける。PTS2303は、エントリ・マップ・ヘッダ2301の示すPIDのビデオ・ストリームに含まれるいずれかのIピクチャのPTSに等しい。SPN2304は、そのIピクチャが格納されたソースパケット群の先頭のSPNに等しい。「SPN」とは、一つのAVストリーム・ファイルに属するソースパケット群に、先頭から順に割り当てられた通し番号をいう。SPNは、そのAVストリーム・ファイル内での各ソースパケットのアドレスとして利用される。2Dクリップ情報ファイル231内のエントリ・マップ2230では、SPNは、ファイル2D241に属するソースパケット群、すなわちメインTSを構成するソースパケット群に割り当てられた番号を意味する。従って、エントリ・ポイント2302は、ファイル2D241に含まれる各IピクチャのPTSとアドレス、すなわちSPNとの間の対応関係を表す。
エントリ・ポイント2302は、ファイル2D241内の全てのIピクチャに対して設定されていなくてもよい。但し、IピクチャがGOPの先頭に位置し、かつ、そのIピクチャの先頭を含むTSパケットが2Dエクステントの先頭に位置するときは、そのIピクチャにはエントリ・ポイント2302を設定しなければならない。
図23の(b)は、ファイル2D241に属するソースパケット群2310のうち、エントリ・マップ2230によって各EP_ID2305に対応付けられているものを示す模式図である。図23の(c)は、そのソースパケット群2310に対応するBD−ROMディスク101上のデータ・ブロック群D[n]、B[n](n=0、1、2、3、…)を示す模式図である。再生装置102はファイル2D241から2D映像を再生するとき、エントリ・マップ2230を利用して、任意のシーンを表すフレームのPTSから、そのフレームを含むソースパケットのSPNを特定する。具体的には、再生開始位置として特定のエントリ・ポイントのPTS、例えばPTS=360000が指定されたとき、再生装置102はまず、エントリ・マップ2230から、そのPTSに対応付けられたSPN=3200を検索する。再生装置102は次に、そのSPNとソースパケット一つ当たりのデータ量192バイトとの積を求め、更に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商、SPN×192/2048を求める。図5の(c)、(d)から理解されるとおり、その値は、メインTSのうち、そのSPNが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。図23の(b)に示されている例では、その値3200×192/2048=300は、SPNが0から3199までであるソースパケット群2311が記録されたセクタの総数に等しい。再生装置102は続いて、ファイル2D241のファイル・エントリを参照し、2Dエクステント群が記録されたセクタ群の先頭から数えて(上記の総数+1)番目のセクタのLBNを特定する。図23の(c)に示されている例では、2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]、…としてアクセス可能なベースビュー・データ・ブロックB[0]、B[1]、B[2]、…が記録されたセクタ群のうち、先頭から数えて301番目のセクタのLBNが特定される。再生装置102はそのLBNをBD−ROMドライブ121に指定する。それにより、そのLBNのセクタから順にベースビュー・データ・ブロック群がアラインド・ユニット単位で読み出される。再生装置102は更に、最初に読み出されたアラインド・ユニットから、再生開始位置のエントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。それ以降、後続のピクチャは、先に復号されたピクチャを利用して順次復号される。こうして、再生装置102はファイル2D241から特定のPTS以降の2D映像を再生できる。
エントリ・マップ2230は更に、早送り再生及び巻戻し再生等の特殊再生の効率的な処理に有利である。例えば2D再生モードの再生装置102は、まずエントリ・マップ2230を参照して、再生開始位置、例えばPTS=360000以降のPTSを含むエントリ・ポイント、EP_ID=2、3、…からSPN=3200、4800、…を順番に読み出す。再生装置102は次にファイル2D241のファイル・エントリを利用して、各SPNに対応するセクタのLBNを特定する。再生装置102は続いて、各LBNをBD−ROMドライブ121に指定する。それにより、各LBNのセクタからアラインド・ユニットが読み出される。再生装置102は更に各アラインド・ユニットから、各エントリ・ポイントの示すソースパケットを選択し、それらからIピクチャを抽出して復号する。こうして、再生装置102は2Dエクステント群EXT2D[n]自体を解析することなく、ファイル2D241からIピクチャを選択的に再生できる。
[エクステント起点]
図24の(a)は、エクステント起点2242のデータ構造を示す模式図である。図24の(a)を参照するに、「エクステント起点(Extent_Start_Point)」2242はベースビュー・エクステントID(EXT1_ID)2411とSPN2412とを含む。EXT1_ID2411は、ファイルSS(01000.ssif)244Aに属するベースビュー・データ・ブロックに先頭から順に割り当てられた通し番号である。SPN2412は各EXT1_ID2411に一つずつ割り当てられ、そのEXT1_ID2411で識別されるベースビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、ファイルSS244Aに属するベースビュー・データ・ブロック群に含まれるソースパケットに先頭から順に割り当てられた通し番号である。
図19に示されているエクステント・ブロック1901−1903では、各ベースビュー・データ・ブロックB[0]、B[1]、B[2]、…は、ファイル2D241とファイルSS244Aとに共有される。しかし、記録層間の境界等、ロングジャンプの必要な箇所に配置されたデータ・ブロック群は一般に、ファイル2D241又はファイルSS244Aのいずれかにのみ属するベースビュー・データ・ブロックを含む(詳細は《補足》参照)。従って、エクステント起点2242の示すSPN2412は、ファイル2D241に属する2Dエクステントの先端に位置するソースパケットのSPNとは一般に異なる。
図24の(b)は、第2クリップ情報ファイル(02000.clpi)、すなわちディペンデントビュー・クリップ情報ファイル232に含まれるエクステント起点2420のデータ構造を示す模式図である。図24の(b)を参照するに、エクステント起点2420は、ディペンデントビュー・エクステントID(EXT2_ID)2421とSPN2422とを含む。EXT2_ID2421は、ファイルSS244Aに属するディペンデントビュー・データ・ブロックに、先頭から順に割り当てられた通し番号である。SPN2422は各EXT2_ID2421に一つずつ割り当てられ、そのEXT2_ID2421で識別されるディペンデントビュー・データ・ブロックの先端に位置するソースパケットのSPNに等しい。ここで、そのSPNは、ファイルSS244Aに属するディペンデントビュー・データ・ブロック群に含まれるソースパケットに、先頭から順に割り当てられた通し番号である。
図24の(d)は、ファイルDEP(02000.m2ts)242に属するディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…と、エクステント起点2420の示すSPN2422との間の対応関係を表す模式図である。図19に示されているように、ディペンデントビュー・データ・ブロックはファイルDEP242とファイルSS244Aとに共有される。従って、図24の(d)に示されているように、エクステント起点2420の示す各SPN2422は、各ディペンデントビュー・エクステントEXT2[0]、EXT2[1]、…の先端に位置するソースパケットのSPNに等しい。
2Dクリップ情報ファイル231のエクステント起点2242とディペンデントビュー・クリップ情報ファイル232のエクステント起点2420とは、以下に説明するように、ファイルSS244Aから3D映像が再生されるとき、各エクステントSSに含まれるデータ・ブロックの境界の検出に利用される。
図24の(e)は、ファイルSS244Aに属するエクステントSSEXTSS[0]とBD−ROMディスク101上のエクステント・ブロックとの間の対応関係を示す模式図である。図24の(e)を参照するに、そのエクステント・ブロックはインターリーブ配置のデータ・ブロック群D[n]、B[n](n=0、1、2、…)を含む。尚、以下の説明はその他の配置でも同様に成立する。そのエクステント・ブロックは一つのエクステントSSEXTSS[0]としてアクセス可能である。更に、そのエクステントSSEXTSS[0]の中でベースビュー・データ・ブロックB[n]に含まれるソースパケットの数は、エクステント起点2242において、EXT1_ID=n+1、nのそれぞれに対応するSPN間の差A(n+1)−Anに等しい。ここで、A0=0とする。一方、ディペンデントビュー・データ・ブロックD[n+1]に含まれるソースパケットの数は、エクステント起点2420において、EXT2_ID=n+1、nのそれぞれに対応するSPN間の差B(n+1)−Bnに等しい。ここで、B0=0とする。
3D再生モードの再生装置102はファイルSS244Aから3D映像を再生するとき、各クリップ情報ファイル231、232のエントリ・マップとエクステント起点2242、2420とを利用する。それにより、再生装置102は、任意のシーンのライトビューを表すフレームのPTSから、そのフレームの構成に必要なディペンデントビュー・データ・ブロックが記録されたセクタのLBNを特定する。具体的には、再生装置102はまず、例えばディペンデントビュー・クリップ情報ファイル232のエントリ・マップから、そのPTSに対応付けられたSPNを検索する。仮に、そのSPNの示すソースパケットが、ファイルDEP242の3番目のディペンデントビュー・エクステントEXT2[2]、すなわちディペンデントビュー・データ・ブロックD[2]に含まれる場合を想定する。再生装置102は次に、ディペンデントビュー・クリップ情報ファイル232のエクステント起点2420の示すSPN2422の中から、目標のSPN以下で最大のもの“B2”と、それに対応するEXT2_ID“2”とを検索する。再生装置102は続いて、2Dクリップ情報ファイル231のエクステント起点2242から、そのEXT2_ID“2”と等しいEXT1_IDに対応するSPN2412の値“A2”を検索する。再生装置102は更に、検索されたSPNの和B2+A2を求める。図24の(e)から理解されるように、その和B2+A2は、エクステントSSEXTSS[0]の中で、3番目のディペンデントビュー・データ・ブロックD[2]よりも前に配置されたソースパケットの総数に等しい。従って、その和B2+A2とソースパケット一つ当たりのデータ量192バイトとの積をセクタ一つ当たりのデータ量2048バイトで割ったときの商(B2+A2)×192/2048は、エクステントSSEXTSS[0]の先頭から3番目のディペンデントビュー・データ・ブロックD[2]の直前までのセクタ数に等しい。この商を利用してファイルSS244Aのファイル・エントリを参照すれば、そのディペンデントビュー・データ・ブロックD[2]の先端が記録されたセクタのLBNを特定することができる。
再生装置102は、上記のようにLBNを特定した後、そのLBNをBD−ROMドライブ121に指定する。それにより、そのLBNのセクタ以降に記録されたエクステントSSEXTSS[0]の部分、すなわち、3番目のディペンデントビュー・データ・ブロックD[2]以降のデータ・ブロック群D[2]、B[2]、D[3]、B[3]、…が、アラインド・ユニット単位で読み出される。
再生装置102は更にエクステント起点2242、2420を利用して、読み出されたエクステントSSからディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。例えば、図24の(e)に示されているエクステントSSEXTSS[0]からデータ・ブロック群D[n]、B[n](n=0、1、2、…)が順番に読み出されるときを想定する。再生装置102はまず、エクステントSSEXTSS[0]の先頭からB1個のソースパケットを最初のディペンデントビュー・データ・ブロックD[0]として抽出する。再生装置102は次に、B1番目のソースパケットと、それに続く(A1−1)個のソースパケットとの計A1個のソースパケットを最初のベースビュー・データ・ブロックB[0]として抽出する。再生装置102は続いて、(B1+A1)番目のソースパケットと、それに続く(B2−B1−1)個のソースパケットとの計(B2−B1)個のソースパケットを二番目のディペンデントビュー・データ・ブロックD[1]として抽出する。再生装置102は更に、(A1+B2)番目のソースパケットと、それに続く(A2−A1−1)個のソースパケットとの計(A2−A1)個のソースパケットを2番目のベースビュー・データ・ブロックB[1]として抽出する。それ以降も再生装置102は同様に、読み出されるソースパケットの数からエクステントSS内のデータ・ブロック間の境界を検出して、ディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとを交互に抽出する。抽出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとはパラレルにシステム・ターゲット・デコーダに渡されて復号される。
こうして、3D再生モードの再生装置102はファイルSS244Aから特定のPTS以降の3D映像を再生できる。その結果、再生装置102は、BD−ROMドライブ121の制御に関する上記の利点(A)、(B)を実際に享受できる。
≪ファイル・ベース≫
図24の(c)は、3D再生モードの再生装置102によってファイルSS244Aから抽出されたベースビュー・データ・ブロックB[0]、B[1]、B[2]、…を表す模式図である。図24の(c)を参照するに、それらのベースビュー・データ・ブロックB[n](n=0、1、2、…)の含むソースパケット群に、先頭から順にSPNを割り当てたとき、各データ・ブロックB[n]の先端に位置するソースパケットのSPNは、エクステント起点2242の示すSPN2412に等しい。それらのベースビュー・データ・ブロック群B[n]のように、エクステント起点を利用して一つのファイルSSから抽出されるベースビュー・データ・ブロック群を「ファイル・ベース」という。更に、ファイル・ベースに含まれるベースビュー・データ・ブロックを「ベースビュー・エクステント」という。図24の(e)に示されているように、各ベースビュー・エクステントEXT1[0]、EXT1[1]、…はクリップ情報ファイル内のエクステント起点2242、2420によって参照される。
ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とベースビュー・データ・ブロックB[n]を共有する。従って、ファイル・ベースはファイル2Dと同じメインTSを含む。しかし、ベースビュー・エクステントEXT1[n]は2DエクステントEXT2D[n]とは異なり、いずれのファイルのファイル・エントリによっても参照されない。上記のとおり、ベースビュー・エクステントEXT1[n]は、クリップ情報ファイル内のエクステント起点を利用して、ファイルSS内のエクステントSSEXTSS[・]から抽出される。このように、ファイル・ベースは本来のファイルとは異なり、ファイル・エントリを含まず、かつ、ベースビュー・エクステントの参照にエクステント起点を必要とする。それらの意味で、ファイル・ベースは「仮想的なファイル」である。特にファイル・ベースはファイルシステムでは認識されず、図2に示されているディレクトリ/ファイル構造には現れない。
図25は、BD−ROMディスク101上に記録された一つのエクステント・ブロック2500と、ファイル2D2510、ファイル・ベース2511、ファイルDEP2512、及びファイルSS2520の各エクステント群との間の対応関係を示す模式図である。図25を参照するに、エクステント・ブロック2500はディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とを含む(n=…、0、1、2、3、…)。ベースビュー・データ・ブロックB[n]は2DエクステントEXT2D[n]としてファイル2D2510に属する。ディペンデントビュー・データ・ブロックD[n]はディペンデントビュー・エクステントEXT2[n]としてファイルDEP2512に属する。エクステント・ブロック2500の全体が一つのエクステントSSEXTSS[0]としてファイルSS2520に属する。従って、エクステントSSEXTSS[0]は、2DエクステントEXT2D[n]とはベースビュー・データ・ブロックB[n]を共有し、ディペンデントビュー・エクステントEXT2[n]とはディペンデントビュー・データ・ブロックD[n]を共有する。エクステントSSEXTSS[0]は再生装置102に読み込まれた後、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分離される。それらのベースビュー・データ・ブロックB[n]はベースビュー・エクステントEXT1[n]としてファイル・ベース2511に属する。エクステントSSEXTSS[0]内でのベースビュー・エクステントEXT1[n]とディペンデントビュー・エクステントEXT2[n]との間の境界は、ファイル2D2510とファイルDEP2512とのそれぞれに対応付けられたクリップ情報ファイル内のエクステント起点を利用して特定される。
≪ディペンデントビュー・クリップ情報ファイル≫
ディペンデントビュー・クリップ情報ファイルは、図22−24に示されている2Dクリップ情報ファイルとデータ構造が同様である。従って、以下の説明では、ディペンデントビュー・クリップ情報ファイルと2Dクリップ情報ファイルとの間の相違点に触れ、同様な点についての説明は上記の説明を援用する。
ディペンデントビュー・クリップ情報ファイルは2Dクリップ情報ファイルとは主に次の二点(i)、(ii)で異なる:(i)ストリーム属性情報に条件が課せられている;(ii)エントリ・ポイントに条件が課せられている。
(i)ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとがL/Rモードの再生装置102によって3D映像の再生に利用されるものであるとき、図7に示されているとおり、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームを利用して圧縮されている。そのとき、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームとビデオ・ストリーム属性が等しい。ここで、ベースビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報は2Dクリップ情報ファイルのストリーム属性情報2220内でPID=0x1011に対応付けられている。一方、ディペンデントビュー・ビデオ・ストリームに関するビデオ・ストリーム属性情報はディペンデントビュー・クリップ情報ファイルのストリーム属性情報内でPID=0x1012又は0x1013に対応付けられている。従って、それらのビデオ・ストリーム属性情報間では、図22に示されている各項目、すなわち、コーデック、解像度、アスペクト比、及びフレームレートが一致しなければならない。コーデックの種類が一致していれば、ベースビュー・ピクチャとディペンデントビュー・ピクチャとの間に符号化での参照関係が成立するので、各ピクチャを復号することができる。解像度、アスペクト比、及びフレームレートがいずれも一致していれば、左右の映像の画面表示を同期させることができる。それ故、それらの映像を3D映像として視聴者に違和感を与えることなく見せることができる。
(ii)ディペンデントビュー・クリップ情報ファイルのエントリ・マップは、ディペンデントビュー・ビデオ・ストリームに割り当てられたテーブルを含む。そのテーブルは、図23の(a)に示されているテーブル2300と同様に、エントリ・マップ・ヘッダとエントリ・ポイントとを含む。エントリ・マップ・ヘッダは、対応するディペンデントビュー・ビデオ・ストリームのPID、すなわち0x1012又は0x1013を示す。各エントリ・ポイントは一対のPTSとSPNとを一つのEP_IDに対応付けている。各エントリ・ポイントのPTSは、ディペンデントビュー・ビデオ・ストリームに含まれるいずれかのGOPの先頭のピクチャのPTSと等しい。各エントリ・ポイントのSPNは、同じエントリ・ポイントに属するPTSの示すピクチャが格納されたソースパケット群の先頭のSPNに等しい。ここで、SPNは、ファイルDEPに属するソースパケット群、すなわちサブTSを構成するソースパケット群に先頭から順に割り当てられた通し番号を意味する。各エントリ・ポイントのPTSは、2Dクリップ情報ファイルのエントリ・マップのうち、ベースビュー・ビデオ・ストリームに割り当てられたテーブル内のエントリ・ポイントのPTSと一致しなければならない。すなわち、同じ3D・VAUに含まれる一対のピクチャの一方を含むソースパケット群の先頭にエントリ・ポイントが設定されているときは常に、他方を含むソースパケット群の先頭にもエントリ・ポイントが設定されていなければならない。
図26は、ベースビュー・ビデオ・ストリーム2610とディペンデントビュー・ビデオ・ストリーム2620とに設定されたエントリ・ポイントの例を示す模式図である。各ビデオ・ストリーム2610、2620では、先頭から数えて同じ順番のGOPが同じ再生期間の映像を表す。図26を参照するに、ベースビュー・ビデオ・ストリーム2610では、先頭から数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント2601B、2603B、2605Bが設定されている。それに併せて、ディペンデントビュー・ビデオ・ストリーム2620でも、先頭から数えて奇数番目に位置するGOP#1、GOP#3、GOP#5の各先頭にエントリ・ポイント2601D、2603D、2605Dが設定されている。その場合、再生装置102は、例えばGOP#3から3D映像の再生を開始するとき、対応するエントリ・ポイント2603B、2603DのSPNからファイルSS内の再生開始位置のSPNを直ちに算定できる。特にエントリ・ポイント2603B、2603Dがいずれもデータ・ブロックの先端に設定されているとき、図24の(e)から理解されるとおり、エントリ・ポイント2603B、2603DのSPNの和がファイルSS内の再生開始位置のSPNに等しい。図24の(e)の説明で述べたとおり、そのソースパケットの数からは、ファイルSS内の再生開始位置の部分が記録されたセクタのLBNを算定することができる。こうして、3D映像の再生においても、飛び込み再生等、ビデオ・ストリームのランダムアクセスを要する処理の応答速度を向上させることができる。
≪2Dプレイリスト・ファイル≫
図27は、2Dプレイリスト・ファイルのデータ構造を示す模式図である。図2に示されている第1プレイリスト・ファイル(00001.mpls)221はこのデータ構造を持つ。図27を参照するに、2Dプレイリスト・ファイル221はメインパス2701と二つのサブパス2702、2703とを含む。
メインパス2701はプレイアイテム情報(PI)の配列であり、ファイル2D241の主要な再生経路、すなわち再生対象の部分とその再生順とを規定する。各PIは固有のプレイアイテムID=#N(N=1、2、3、…)で識別される。各PI#Nは主要な再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の開始時刻(In−Time)を表し、他方は終了時刻(Out−Time)を表す。更に、メインパス2701内でのPIの順序は、再生経路内での、対応する再生区間の順序を表す。
各サブパス2702、2703はサブプレイアイテム情報(SUB_PI)の配列であり、ファイル2D241の主要な再生経路に並列に付随可能な再生経路を規定する。その再生経路は、ファイル2D241のうち、メインパス2701の表す部分とは別の部分とその再生順とを意味する。その他に、その再生経路は、ファイル2D241とは別のファイル2Dに多重化されたストリーム・データの再生対象部分とその再生順とを意味してもよい。その再生経路の意味するストリーム・データは、メインパス2701に従ってファイル2D241から再生される2D映像と同時に再生されるべき別の2D映像を表す。その別の2D映像は、例えば、ピクチャ・イン・ピクチャ方式における副映像、ブラウザ画面、ポップアップ・メニュー、又は字幕を含む。サブパス2702、2703には、2Dプレイリスト・ファイル221への登録順に通し番号“0”、“1”が振られている。その通し番号はサブパスIDとして、各サブパス2702、2703の識別に利用される。各サブパス2702、2703ではSUB_PIが固有のサブプレイアイテムID=#M(M=1、2、3、…)で識別される。各SUB_PI#Mは、再生経路の異なる再生区間を一対のPTSで規定する。その対の一方はその再生区間の再生開始時刻を表し、他方は再生終了時刻を表す。更に、各サブパス2702、2703内でのSUB_PIの順序は、再生経路内での、対応する再生区間の順序を表す。
図28は、PI#Nのデータ構造を示す模式図である。図28を参照するに、PI#Nは、参照クリップ情報2801、再生開始時刻(In_Time)2802、再生終了時刻(Out_Time)2803、コネクション・コンディション2804、及びストリーム選択テーブル(以下、STN(StreamNumber)テーブルと略す。)2805を含む。参照クリップ情報2801は、2Dクリップ情報ファイル231を識別するための情報である。再生開始時刻2802と再生終了時刻2803とは、ファイル2D241の再生対象部分の先端と後端との各PTSを示す。コネクション・コンディション2804は、再生開始時刻2802と再生終了時刻2803とによって規定された再生区間での映像を、一つ前のPI#(N−1)によって規定された再生区間での映像に接続するときの条件を規定する。STNテーブル2805は、再生開始時刻2802から再生終了時刻2803までの間に再生装置102内のデコーダによってファイル2D241から選択可能なエレメンタリ・ストリームの一覧表である。
SUB_PIのデータ構造は、図28に示されているPIのデータ構造と、参照クリップ情報、再生開始時刻、及び再生終了時刻を含む点で共通する。特にSUB_PIの再生開始時刻と再生終了時刻とは、PIのそれらと同じ時間軸上の値で表される。SUB_PIは更に「SPコネクション・コンディション」というフィールドを含む。SPコネクション・コンディションはPIのコネクション・コンディションと同じ意味を持つ。
[コネクション・コンディション]
コネクション・コンディション(以下、CCと略す。)2804は、“1”、“5”、“6”の三種類の値を取り得る。CC2804が“1”であるとき、PI#Nによって規定されるファイル2D241の部分から再生される映像は、直前のPI#(N−1)によって規定されるファイル2D241の部分から再生される映像とは必ずしもシームレスに接続されなくてもよい。一方、CC2804が“5”又は“6”であるとき、それら両方の映像が必ずシームレスに接続されなければならない。
図29の(a)、(b)はそれぞれ、CCが“5”、“6”であるときに接続対象の二つの再生区間2901、2902の間の関係を示す模式図である。ここで、PI#(N−1)はファイル2D241の第1部分2901を規定し、PI#Nはファイル2D241の第2部分2902を規定する。図29の(a)を参照するに、CCが“5”であるとき、2つのPI#(N−1)、PI#Nの間でSTCが途切れていてもよい。すなわち、第1部分2901の後端のPTS#1と第2部分2902の先端のPTS#2とは不連続であってもよい。但し、いくつかの制約条件が満たされねばならない。例えば、第1部分2901に続けて第2部分2902をデコーダに供給したときでもそのデコーダが復号処理をスムーズに持続できるように、各部分2901、2902が作成されていなければならない。更に、第1部分2901に含まれるオーディオ・ストリームの最後のフレームを、第2部分2902に含まれるオーディオ・ストリームの先頭フレームと重複させなければならない。一方、図29の(b)を参照するに、CCが“6”であるとき、第1部分2901と第2部分2902とは、デコーダの復号処理上、一連の部分として扱えるものでなければならない。すなわち、第1部分2901と第2部分2902との間ではSTCとATCとがいずれも連続でなければならない。同様に、SPコネクション・コンディションが“5”又は“6”であるとき、隣接する2つのSUB_PIによって規定されるファイル2Dの部分間では、STCとATCとがいずれも連続でなければならない。
[STNテーブル]
図28を再び参照するに、STNテーブル2805はストリーム登録情報の配列である。「ストリーム登録情報」とは、再生開始時刻2802から再生終了時刻2803までの間にメインTSから再生対象として選択可能なエレメンタリ・ストリームを個別に示す情報である。ストリーム番号(STN)2806は、ストリーム登録情報に個別に割り当てられた通し番号であり、再生装置102によって各エレメンタリ・ストリームの識別に利用される。STN2806は更に、同じ種類のエレメンタリ・ストリームの間では選択の優先順位を表す。ストリーム登録情報はストリーム・エントリ2809とストリーム属性情報2810とを含む。ストリーム・エントリ2809はストリーム・パス情報2807とストリーム識別情報2808とを含む。ストリーム・パス情報2807は、選択対象のエレメンタリ・ストリームが属するファイル2Dを示す情報である。例えばストリーム・パス情報2807が“メインパス”を示すとき、そのファイル2Dは、参照クリップ情報2801の示す2Dクリップ情報ファイルに対応するものである。一方、ストリーム・パス情報2807が“サブパスID=1”を示すとき、選択対象のエレメンタリ・ストリームが属するファイル2Dは、サブパスID=1のサブパスに含まれるSUB_PIの参照クリップ情報が示す2Dクリップ情報ファイルに対応するものである。そのSUB_PIの規定する再生開始時刻又は再生終了時刻のいずれかは、STNテーブル2805を含むPIの規定する再生開始時刻2802から再生終了時刻2803までの期間に含まれる。ストリーム識別情報2808は、ストリーム・パス情報2807によって特定されるファイル2Dに多重化されているエレメンタリ・ストリームのPIDを示す。このPIDの示すエレメンタリ・ストリームが再生開始時刻2802から再生終了時刻2803までの間に選択可能である。ストリーム属性情報2810は各エレメンタリ・ストリームの属性情報を表す。例えば、オーディオ・ストリーム、PGストリーム、及びIGストリームの各属性情報は言語の種類を示す。
[2Dプレイリスト・ファイルに従った2D映像の再生]
図30は、2Dプレイリスト・ファイル(00001.mpls)221の示すPTSと、ファイル2D(01000.m2ts)241から再生される部分との間の対応関係を示す模式図である。図30を参照するに、2Dプレイリスト・ファイル221のメインパス2701では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)231を示す。再生装置102は2Dプレイリスト・ファイル221に従って2D映像を再生するとき、まずPI#1からPTS#1、#2を読み出す。再生装置102は次に、2Dクリップ情報ファイル231のエントリ・マップを参照して、PTS#1、#2に対応するファイル2D241内のSPN#1、#2を検索する。再生装置102は続いて、SPN#1、#2から、それぞれに対応するセクタ数を算定する。再生装置102は更にそれらのセクタ数とファイル2D241のファイル・エントリとを利用して、再生対象の2Dエクステント群EXT2D[0]、…、EXT2D[n]が記録されたセクタ群P1の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図23の(b)、(c)を用いて説明したとおりである。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P1から、2Dエクステント群EXT2D[0]、…、EXT2D[n]に属するソースパケット群が読み出される。同様に、PI#2の示すPTS#3、#4の対はまず、2Dクリップ情報ファイル231のエントリ・マップを利用してSPN#3、#4の対に変換される。次に、ファイル2D241のファイル・エントリを利用してSPN#3、#4の対がLBN#3、#4の対に変換される。更に、LBN#3からLBN#4までの範囲のセクタ群P2から、2Dエクステント群に属するソースパケット群が読み出される。PI#3の示すPTS#5、#6の対からSPN#5、#6の対への変換、SPN#5、#6の対からLBN#5、#6の対への変換、及びLBN#5からLBN#6までの範囲のセクタ群P3からのソースパケット群の読み出しも同様である。こうして、再生装置102は2Dプレイリスト・ファイル221のメインパス2701に従ってファイル2D241から2D映像を再生できる。
2Dプレイリスト・ファイル221はエントリ・マーク3001を含んでもよい。エントリ・マーク3001は、メインパス2701のうち、実際に再生が開始されるべき時点を示す。例えば図30に示されているように、PI#1に対して複数のエントリ・マーク3001が設定されてもよい。エントリ・マーク3001は特に頭出し再生において、再生開始位置の検索に利用される。例えば2Dプレイリスト・ファイル221が映画タイトルの再生経路を規定するとき、エントリ・マーク3001は各チャプタの先頭に付与される。それにより、再生装置102はその映画タイトルをチャプタごとに再生できる。
≪3Dプレイリスト・ファイル≫
図31は、3Dプレイリスト・ファイルのデータ構造を示す模式図である。図2に示されている第2プレイリスト・ファイル(00002.mpls)222はこのデータ構造を持つ。第3プレイリスト・ファイル(00003.mpls)223も同様である。図31を参照するに、3Dプレイリスト・ファイル222は、メインパス3101、サブパス3102、及び拡張データ3103を含む。
メインパス3101は、図3の(a)に示されているメインTSの再生経路を規定する。従って、メインパス3101は、図27に示されている2Dプレイリスト・ファイル221のメインパス2701と実質的に等しい。すなわち、2D再生モードの再生装置102は3Dプレイリスト・ファイル222のメインパス3101に従ってファイル2D241から2D映像を再生できる。一方、メインパス3101は、図27に示されているメインパス2701とは次の点で異なる:各PIのSTNテーブルは、いずれかのグラフィックス・ストリームのPIDに一つのSTNを対応付けている際には更に、そのSTNに一つのオフセット・シーケンスIDを割り当てている。
サブパス3102は、図3の(b)に示されているサブTSの再生経路、すなわちファイルDEP242又は243の再生経路を規定する。サブパス3102のデータ構造は、図27に示されている2Dプレイリスト・ファイル241のサブパス2702、2703のデータ構造と同様である。従って、その同様なデータ構造の詳細、特にSUB_PIのデータ構造の詳細についての説明は、図27を用いた説明を援用する。
サブパス3102のSUB_PI#N(N=1、2、3、…)はメインパス3101のPI#Nと一対一に対応する。更に、各SUB_PI#Nの規定する再生開始時刻と再生終了時刻とはそれぞれ、対応するPI#Nの規定する再生開始時刻と再生終了時刻とに等しい。サブパス3102はその上、サブパス・タイプ3110を含む。「サブパス・タイプ」は一般に、メインパスとサブパスとの間で再生処理が同期すべきか否かを示す。3Dプレイリスト・ファイル222では特にサブパス・タイプ3110が3D再生モードの種類、すなわちサブパス3102に従って再生されるべきディペンデントビュー・ビデオ・ストリームの種類を示す。図31では、サブパス・タイプ3110は、その値が「3D・L/R」であるので、3D再生モードがL/Rモードであること、すなわちライトビュー・ビデオ・ストリームが再生対象であることを示す。一方、サブパス・タイプ3110は、その値が「3Dデプス」であるとき、3D再生モードがデプス・モードであること、すなわちデプスマップ・ストリームが再生対象であることを示す。3D再生モードの再生装置102は、サブパス・タイプ3110の値が「3D・L/R」又は「3Dデプス」であることを検出したとき、メインパス3101に従った再生処理とサブパス3102に従った再生処理とを同期させる。
拡張データ3103は、3D再生モードの再生装置102によってのみ解釈される部分であり、2D再生モードの再生装置102には無視される。拡張データ3103は特に、拡張ストリーム選択テーブル3130を含む。「拡張ストリーム選択テーブル(STN_table_SS)」(以下、STNテーブルSSと略す。)は、3D再生モードにおいて、メインパス3101内の各PIの示すSTNテーブルに追加されるべきストリーム登録情報の配列である。このストリーム登録情報は、サブTSから再生対象として選択可能なエレメンタリ・ストリームを示す。
[STNテーブル]
図32は、3Dプレイリスト・ファイル222のメインパス3101の含むSTNテーブル3205を示す模式図である。図32を参照するに、STN3206=5、6、…、11の割り当てられたストリーム識別情報3208が、PGストリーム又はIGストリームのPIDを示す。その場合、STN3206=5、6、…、11の割り当てられたストリーム属性情報3210は参照オフセットID3201とオフセット補正値3202とを更に含む。
ファイルDEP242では、図11に示されているように、各ビデオ・シーケンスのVAU#1にオフセット・メタデータ1110が配置されている。参照オフセットID(stream_ref_offset_id)3201は、そのオフセット・メタデータ1110の含むオフセット・シーケンスID1112のいずれかに等しい。すなわち、参照オフセットID3201は、そのオフセット・メタデータ1110の含む複数のオフセット・シーケンスの中で、STN3206=5、6、…、11のそれぞれに対応付けられるべきオフセット・シーケンスを規定する。
オフセット補正値(stream_offset_adjustment)3202は、参照オフセットID3201の規定するオフセット・シーケンスに含まれる各オフセット値に加えられるべき値を示す。オフセット補正値3202は例えば、表示装置103の画面のサイズが、3D映像コンテンツの作成時に想定されているサイズとは異なる場合に、再生装置102によって各オフセット値に加えられる。それにより、レフトビューとライトビューとの2Dグラフィックス映像間での両眼視差が適正な範囲に収められる。
[STNテーブルSS]
図33は、STNテーブルSS3130のデータ構造を示す模式図である。図33を参照するに、STNテーブルSS3130はストリーム登録情報列3301、3302、3303、…を含む。ストリーム登録情報列3301、3302、3303、…はメインパス3101内のPI#1、#2、#3、…に個別に対応し、3D再生モードの再生装置102により、対応するPI内のSTNテーブルに含まれるストリーム登録情報列と組み合わされて利用される。各PIに対するストリーム登録情報列3301は、ポップアップ期間のオフセット(Fixed_offset_during_Popup)3311と、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312とを含む。
ポップアップ期間のオフセット3311は、IGストリームからポップアップ・メニューが再生されるか否かを示す。3D再生モードの再生装置102はそのオフセット3311の値に依って、ビデオ・プレーンとグラフィックス・プレーンとの各表示モード(presentationmode)を変える。ここで、ビデオ・プレーンの表示モードにはベースビュー(B)−ディペンデントビュー(D)表示モードとB−B表示モードとの二種類がある。グラフィックス・プレーンの表示モードには1プレーン+オフセット・モードと1プレーン+ゼロ・オフセット・モードとの二種類がある。例えばポップアップ期間のオフセット3311の値が“0”であるとき、IGストリームからはポップアップ・メニューが再生されない。そのとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセット3311の値が“1”であるとき、IGストリームからポップアップ・メニューが再生される。そのとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。
「B−D表示モード」では、再生装置102がレフトビューとライトビューとのビデオ・プレーンを交互に出力する。従って、表示装置103の画面にはレフトビューとライトビューとのフレームが交互に表示されるので、視聴者にはそれらが3D映像として見える。「B−B表示モード」では再生装置102が、動作モードを3D再生モードに維持したまま(特にフレームレートを3D再生時の値、例えば48フレーム/秒に維持したまま)、ベースビュー・ビデオ・ストリームから復号されたプレーン・データのみを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面には、レフトビューとライトビューとのいずれかのビデオ・プレーンしか表示されないので、視聴者にはそれらが2D映像としてしか見えない。
「1プレーン+オフセット・モード」では、再生装置102がオフセット制御により、メインTS内のグラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーンの対を生成して交互に出力する。それにより、表示装置103の画面にはレフトビューとライトビューとのグラフィックス・プレーンが交互に表示されるので、視聴者にはそれらが3Dグラフィックス映像として見える。「1プレーン+ゼロ・オフセット・モード」では、再生装置102が、動作モードを3D再生モードに維持したまま、オフセット制御を一時的に停止させ、メインTS内のグラフィックス・ストリームから復号されたグラフィックス・プレーンを一フレーム当たり二回ずつ出力する。従って、表示装置103の画面には、レフトビューとライトビューとのいずれかのグラフィックス・プレーンしか表示されないので、視聴者にはそれらが2Dグラフィックス映像としてしか見えない。
3D再生モードの再生装置102は、PIごとにポップアップ期間のオフセット3311を参照して、IGストリームからポップアップ・メニューが再生されるときはB−B表示モードと1プレーン+ゼロ・オフセット・モードとを選択する。それにより、ポップアップ・メニューが表示される間、他の3D映像が一時的に2D映像に変更されるので、ポップアップ・メニューの視認性・操作性が向上する。
ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312は、サブTSから再生対象として選択可能なディペンデントビュー・ビデオ・ストリームを示すストリーム登録情報を含む。このストリーム登録情報列3312は、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、ベースビュー・ビデオ・ストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
図33を参照するに、ディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312は一般に複数のストリーム登録情報(SS_dependet_view_block)3320を含む。それらは、対応するPI内のストリーム登録情報のうち、ベースビュー・ビデオ・ストリームを示すものと同数である。各ストリーム登録情報3320は、STN3321、ストリーム・エントリ3322、及びストリーム属性情報3323を含む。STN3321はストリーム登録情報3320に個別に割り当てられた通し番号であり、対応するPI内の組み合わせ対象のストリーム登録情報のSTNと等しい。ストリーム・エントリ3322は、サブパスID参照情報(ref_to_Subpath_id)3331、ストリーム・ファイル参照情報(ref_to_subClip_entry_id)3332、及びPID(ref_to_stream_PID_subclip)3333を含む。サブパスID参照情報3331は、ディペンデントビュー・ビデオ・ストリームの再生経路を規定するサブパスのサブパスIDを示す。ストリーム・ファイル参照情報3332は、そのディペンデントビュー・ビデオ・ストリームが格納されたファイルDEPを識別するための情報である。PID3333は、そのディペンデントビュー・ビデオ・ストリームのPIDである。ストリーム属性情報3323はそのディペンデントビュー・ビデオ・ストリームの属性、例えばフレームレート、解像度、及びビデオフォーマットを含む。特にそれらは、対応するPIに含まれる組み合わせ対象のストリーム登録情報が示すベースビュー・ビデオ・ストリームの属性と共通である。
[3Dプレイリスト・ファイルに従った3D映像の再生]
図34は、3Dプレイリスト・ファイル(00002.mpls)222の示すPTSと、ファイルSS(01000.ssif)244Aから再生される部分との間の対応関係を示す模式図である。図34を参照するに、3Dプレイリスト・ファイル222のメインパス3401では、PI#1は、再生開始時刻IN1を示すPTS#1と、再生終了時刻OUT1を示すPTS#2とを規定する。PI#1の参照クリップ情報は2Dクリップ情報ファイル(01000.clpi)231を示す。一方、サブパス・タイプが「3D・L/R」を示すサブパス3402では、SUB_PI#1が、PI#1と同じPTS#1、#2を規定する。SUB_PI#1の参照クリップ情報はディペンデントビュー・クリップ情報ファイル(02000.clpi)232を示す。
再生装置102は3Dプレイリスト・ファイル222に従って3D映像を再生するとき、まずPI#1とSUB_PI#1とからPTS#1、#2を読み出す。再生装置102は次に2Dクリップ情報ファイル231のエントリ・マップを参照し、PTS#1、#2に対応するファイル2D241内のSPN#1、#2を検索する。それと並行して、再生装置102はディペンデントビュー・クリップ情報ファイル232のエントリ・マップを参照し、PTS#1、#2に対応するファイルDEP242内のSPN#11、#12を検索する。再生装置102は続いて、図24の(e)の説明で述べたように、各クリップ情報ファイル231、232のエクステント起点2242、2420を利用して、ファイルSS244Aの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定する。再生装置102は同様に、ファイルSS244Aの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。再生装置102は更にSPN#21、#22のそれぞれに対応するセクタ数を算定する。再生装置102は続いて、それらのセクタ数とファイルSS244Aのファイル・エントリとを利用して、再生対象のエクステントSS群EXTSS[0]、…、EXTSS[n]が記録されたセクタ群P11の先端のLBN#1と後端のLBN#2とを特定する。セクタ数の算定とLBNの特定とは、図24の(e)の説明で述べたものと同様である。再生装置102は最後に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。それにより、その範囲のセクタ群P11から、エクステントSS群EXTSS[0]、…、EXTSS[n]に属するソースパケット群が読み出される。同様に、PI#2とSUB_PI#2との示すPTS#3、#4の対は、まずクリップ情報ファイル231、232の各エントリ・マップを利用してSPN#3、#4の対とSPN#13、#14の対とに変換される。次に、SPN#3、#13からはファイルSS244Aの先頭から再生開始位置までのソースパケット数SPN#23が算定され、SPN#4、#14からはファイルSS244Aの先頭から再生終了位置までのソースパケット数SPN#24が算定される。続いて、ファイルSS244Aのファイル・エントリを利用して、SPN#23、#24の対がLBN#3、#4の対に変換される。更に、LBN#3からLBN#4までの範囲のセクタ群P12から、エクステントSS群に属するソースパケット群が読み出される。
上記の読み出し処理と並行して、再生装置102は、図24の(e)の説明で述べたように各クリップ情報ファイル231、232のエクステント起点2242、2420を利用して、各エクステントSSからベースビュー・エクステントを抽出し、残りのディペンデントビュー・エクステントとパラレルに復号する。こうして、再生装置102は、3Dプレイリスト・ファイル222に従ってファイルSS244Aから3D映像を再生できる。
≪インデックス・ファイル≫
図35は、図2に示されているインデックス・ファイル(index.bdmv)211のデータ構造を示す模式図である。図35を参照するに、インデックス・ファイル211は、インデックス・テーブル3510、3D存在フラグ3520、及び2D/3Dお好みフラグ3530を含む。
インデックス・テーブル3510は、「ファーストプレイ」3501、「トップメニュー」3502、及び、「タイトルk」3503(k=1、2、…、n:nは1以上の整数)という項目を含む。各項目にはムービーオブジェクトMVO−2D、MVO−3D、…、又はBD−JオブジェクトBDJO−2D、BDJO−3D、…のいずれかが対応付けられている。ユーザの操作又はアプリケーション・プログラムによってタイトル又はメニューが呼び出される度に、再生装置102の制御部はインデックス・テーブル3510の対応する項目を参照する。制御部は更に、その項目に対応付けられているオブジェクトをBD−ROMディスク101から呼び出し、それに従って様々な処理を実行する。具体的には、項目「ファーストプレイ」3501には、ディスク101がBD−ROMドライブ121へ挿入された時に呼び出されるべきオブジェクトが指定されている。項目「トップメニュー」3502には、例えばユーザの操作で「メニューに戻れ」というコマンドが入力された時に表示装置103にメニューを表示させるためのオブジェクトが指定されている。項目「タイトルk」3503には、ディスク101上のコンテンツを構成するタイトルが個別に割り当てられている。例えばユーザの操作によって再生対象のタイトルが指定されたとき、そのタイトルが割り当てられている項目「タイトルk」には、そのタイトルに対応するAVストリーム・ファイルから映像を再生するためのオブジェクトが指定されている。
図35に示されている例では、項目「タイトル1」と項目「タイトル2」とが2D映像のタイトルに割り当てられている。項目「タイトル1」に対応付けられているムービーオブジェクトMVO−2Dは、2Dプレイリスト・ファイル(00001.mpls)221を用いた2D映像の再生処理に関する命令群を含む。再生装置102によって項目「タイトル1」が参照されたとき、そのムービーオブジェクトMVO−2Dに従い、2Dプレイリスト・ファイル221がディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。項目「タイトル2」に対応付けられているBD−JオブジェクトBDJO−2Dは、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関するアプリケーション管理テーブルを含む。再生装置102によって項目「タイトル2」が参照されたとき、そのBD−JオブジェクトBDJO−2D内のアプリケーション管理テーブルに従ってJARファイル261からJava(登録商標) アプリケーション・プログラムが呼び出されて実行される。それにより、2Dプレイリスト・ファイル221がディスク101から読み出され、それに規定された再生経路に沿って2D映像の再生処理が実行される。
図35に示されている例では更に、項目「タイトル3」と項目「タイトル4」とが3D映像のタイトルに割り当てられている。項目「タイトル3」に対応付けられているムービーオブジェクトMVO−3Dは、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関する命令群に加え、3Dプレイリスト・ファイル(00002.mpls)222、(00003.mpls)223のいずれかを用いた3D映像の再生処理に関する命令群を含む。項目「タイトル4」に対応付けられているBD−JオブジェクトBDJO−3Dでは、アプリケーション管理テーブルが、2Dプレイリスト・ファイル221を用いた2D映像の再生処理に関するJava(登録商標) アプリケーション・プログラムに加え、3Dプレイリスト・ファイル222、223のいずれかを用いた3D映像の再生処理に関するJava(登録商標) アプリケーション・プログラムを規定する。
3D存在フラグ3520は、BD−ROMディスク101に3D映像コンテンツが記録されているか否かを示すフラグである。再生装置102は、BD−ROMドライブ121にBD−ROMディスク101が挿入されたとき、まず、その3D存在フラグ3520をチェックする。3D存在フラグ3520がオフである場合、再生装置102は3D再生モードを選択する必要がない。従って、再生装置102は表示装置103に対してHDMI認証を行うことなく、2D再生モードに速やかに移行できる。ここで、「HDMI認証」とは、再生装置102がHDMIケーブル122を通して表示装置103との間でCECメッセージを交換して、3D映像の再生に対応可能か否か等を表示装置103に問い合わせる処理をいう。HDMI認証がスキップされることにより、BD−ROMディスク101の挿入から2D映像の再生開始までの時間が短縮される。
2D/3Dお好みフラグ3530は、再生装置と表示装置とが共に2D映像と3D映像とのいずれの再生にも対応可能であるときに、3D映像の再生を優先すべきか否かを指定するフラグである。2D/3Dお好みフラグ3530はコンテンツ・プロバイダによって設定される。再生装置102は、BD−ROMディスク101の3D存在フラグ3520がオンであるとき、続いて2D/3Dお好みフラグ3530を更にチェックする。2D/3Dお好みフラグ3530がオンである場合、再生装置102は、ユーザに再生モードを選択させることなく、HDMI認証を行い、その結果に依って2D再生モードと3D再生モードとのいずれかで動作する。すなわち、再生装置102は再生モードの選択画面を表示しない。従って、HDMI認証の結果、表示装置103が3D映像の再生に対応可能であれば、再生装置102は3D再生モードで起動できる。それにより、フレームレートの切り換え等、2D再生モードから3D再生モードへの移行処理に起因する起動の遅れを回避することができる。
[3D映像タイトルの選択時でのプレイリスト・ファイルの選択]
図35に示されている例では、再生装置102は、インデックス・テーブル3510の項目「タイトル3」を参照したとき、ムービーオブジェクトMVO−3Dに従って、まず次の判別処理を行う:(1)3D存在フラグ3520がオンかオフか、(2)再生装置102自身が3D映像の再生に対応しているか否か、(3)2D/3Dお好みフラグ3530がオンかオフか、(4)ユーザが3D再生モードを選択しているか否か、(5)表示装置103が3D映像の再生に対応しているか否か、及び(6)再生装置102の3D再生モードがL/Rモードとデプス・モードとのいずれであるか。再生装置102は次に、それらの判別結果に依って、いずれかのプレイリスト・ファイル221−223を再生対象として選択する。一方、再生装置102は項目「タイトル4」を参照したとき、BD−JオブジェクトBDJO−3D内のアプリケーション管理テーブルに従ってJARファイル261からJava(登録商標) アプリケーション・プログラムを呼び出して実行する。それにより、まず上記の判別処理(1)−(6)が行われ、次にその判別結果に依って、プレイリスト・ファイルの選択が行われる。
図36は、上記の判別処理(1)−(6)を利用して再生対象のプレイリスト・ファイルを選択する処理のフローチャートである。ここで、その選択処理の前提として、再生装置102が第1フラグと第2フラグとを含むときを想定する。第1フラグは、再生装置102が3D映像の再生に対応可能であるか否かを示す。例えば第1フラグが“0”であるとき、再生装置102は2D映像の再生のみに対応可能であり、“1”であるとき、3D映像の再生にも対応可能である。第2フラグは、3D再生モードがL/Rモードとデプス・モードとのいずれであるかを示す。例えば第2フラグが“0”であるとき、3D再生モードはL/Rモードであり、“1”であるとき、デプス・モードである。更に、3D存在フラグ3520と2D/3Dお好みフラグ3530とのそれぞれがオンであるときの値を“1”とし、オフであるときの値を“0”とする。
ステップS3601では、再生装置102は3D存在フラグ3520の値をチェックする。その値が“1”であるとき、処理はステップS3602へ進む。その値が“0”であるとき、処理はステップS3607へ進む。
ステップS3602では、再生装置102は第1フラグの値をチェックする。その値が“1”であるとき、処理はステップS3603へ進む。その値が“0”であるとき、処理はステップS3607へ進む。
ステップS3603では、再生装置102は2D/3Dお好みフラグ3530の値をチェックする。その値が“0”であるとき、処理はステップS3604へ進む。その値が“1”であるとき、処理はステップS3605へ進む。
ステップS3604では、再生装置102は表示装置103にメニューを表示させて、ユーザに2D再生モードと3D再生モードとのいずれかを選択させる。ユーザがリモコン105等を操作して3D再生モードを選択したとき、処理はステップS3605へ進み、2D再生モードを選択したとき、処理はステップS3607へ進む。
ステップS3605では、再生装置102はHDMI認証を行い、表示装置103が3D映像の再生に対応しているか否かチェックする。具体的には、再生装置102はHDMIケーブル122を通して表示装置103との間でCECメッセージを交換し、表示装置103が3D映像の再生に対応しているか否かを表示装置103に問い合わせる。表示装置103が3D映像の再生に対応しているとき、処理はステップS3606へ進む。表示装置103が3D映像の再生に対応していないとき、処理はステップS3607へ進む。
ステップS3606では、再生装置102は第2フラグの値をチェックする。その値が“0”であるとき、処理はステップS3608へ進む。その値が“1”であるとき、処理はステップS3609へ進む。
ステップS3607では、再生装置102は2Dプレイリスト・ファイル221を再生対象として選択する。尚、そのとき、再生装置102は表示装置103に、3D映像の再生が選択されなかった理由を表示させてもよい。その後、処理は終了する。
ステップS3608では、再生装置102はL/Rモード用の3Dプレイリスト・ファイル222を再生対象として選択する。その後、処理は終了する。
ステップS3609では、再生装置102はデプス・モード用の3Dプレイリスト・ファイル222を再生対象として選択する。その後、処理は終了する。
<2D再生装置の構成>
2D再生モードの再生装置102はBD−ROMディスク101から2D映像コンテンツを再生するとき、2D再生装置として動作する。図37は、2D再生装置3700の機能ブロック図である。図37を参照するに、2D再生装置3700は、BD−ROMドライブ3701、再生部3702、及び制御部3703を含む。再生部3702は、リード・バッファ3721、システム・ターゲット・デコーダ3725、及びプレーン加算部3726を含む。制御部3703は、動的シナリオ・メモリ3731、静的シナリオ・メモリ3732、ユーザイベント処理部3733、プログラム実行部3734、再生制御部3735、及びプレーヤ変数記憶部3736を含む。再生部3702と制御部3703とは互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。
BD−ROMドライブ3701は、内部にBD−ROMディスク101が挿入されたとき、そのディスク101にレーザ光を照射してその反射光の変化を検出する。更に、その反射光の光量の変化から、ディスク101に記録されたデータを読み取る。具体的には、BD−ROMドライブ3701は光ピックアップ、すなわち光学ヘッドを備えている。その光学ヘッドは、半導体レーザ、コリメータ・レンズ、ビーム・スプリッタ、対物レンズ、集光レンズ、及び光検出器を含む。半導体レーザから出射された光ビームは、コリメータ・レンズ、ビーム・スプリッタ、及び対物レンズを順に通ってディスク101の記録層に集められる。集められた光ビームはその記録層で反射/回折される。その反射/回折光は、対物レンズ、ビーム・スプリッタ、及び集光レンズを通って光検出器に集められる。光検出器は、その集光量に応じたレベルの再生信号を生成する。更に、その再生信号からデータが復調される。
BD−ROMドライブ3701は、再生制御部3735からの要求に従ってBD−ROMディスク101からデータを読み出す。そのデータのうち、ファイル2Dのエクステント、すなわち2Dエクステントはリード・バッファ3721へ転送され、動的シナリオ情報は動的シナリオ・メモリ3731へ転送され、静的シナリオ情報は静的シナリオ・メモリ3732へ転送される。「動的シナリオ情報」は、インデックス・ファイル、ムービーオブジェクト・ファイル、及びBD−Jオブジェクト・ファイルを含む。「静的シナリオ情報」は2Dプレイリスト・ファイルと2Dクリップ情報ファイルとを含む。
リード・バッファ3721、動的シナリオ・メモリ3731、及び静的シナリオ・メモリ3732はいずれもバッファ・メモリである。リード・バッファ3721としては再生部3702内のメモリ素子が利用され、動的シナリオ・メモリ3731及び静的シナリオ・メモリ3732としては制御部3703内のメモリ素子が利用される。その他に、単一のメモリ素子の異なる領域が、それらのバッファ・メモリ3721、3731、3732の一部又は全部として利用されてもよい。
システム・ターゲット・デコーダ3725は、リード・バッファ3721から2Dエクステントをソースパケット単位で読み出して多重分離処理を行い、分離された各エレメンタリ・ストリームに対して復号処理を行う。ここで、各エレメンタリ・ストリームの復号に必要な情報、例えばコーデックの種類及びストリームの属性は予め再生制御部3735からシステム・ターゲット・デコーダ3725へ送られている。システム・ターゲット・デコーダ3725は更に、復号後のプライマリ・ビデオ・ストリーム、セカンダリ・ビデオ・ストリーム、IGストリーム、及びPGストリームをそれぞれ、主映像プレーン・データ、副映像プレーン・データ、IGプレーン・データ、及びPGプレーン・データとしてVAU単位で送出する。また、システム・ターゲット・デコーダ3725は、復号後のプライマリ・オーディオ・ストリームとセカンダリ・オーディオ・ストリームとをミキシングして、表示装置103の内蔵スピーカ103A等、音声出力装置へ送出する。その他に、システム・ターゲット・デコーダ3725はプログラム実行部3734からグラフィックス・データを受信する。そのグラフィックス・データは、メニュー等のGUI用グラフィック部品を画面に表示するためのものであり、JPEG又はPNG等のラスタ・データで表現されている。システム・ターゲット・デコーダ3725はそのグラフィックス・データを処理してイメージ・プレーン・データとして送出する。尚、システム・ターゲット・デコーダ3725の詳細については後述する。
プレーン加算部3726は、システム・ターゲット・デコーダ3725から、主映像プレーン・データ、副映像プレーン・データ、IGプレーン・データ、PGプレーン・データ、及びイメージ・プレーン・データを受信し、それらを互いに重畳して一つの映像フレーム又はフィールドに合成する。合成後の映像データは表示装置103へ送出され、その画面に表示される。
ユーザイベント処理部3733は、リモコン105又は再生装置102のフロントパネルを通してユーザの操作を検出し、その操作の種類に応じてプログラム実行部3734又は再生制御部3735に処理を依頼する。例えばユーザがリモコン105のボタンを押下してポップアップ・メニューの表示を指示したとき、ユーザイベント処理部3733はその押下を検出してそのボタンを識別する。ユーザイベント処理部3733は更にプログラム実行部3734に、そのボタンに対応するコマンドの実行、すなわちポップアップ・メニューの表示処理を依頼する。一方、例えばユーザがリモコン105の早送り又は巻戻しボタンを押下したとき、ユーザイベント処理部3733はその押下を検出してそのボタンを識別する。ユーザイベント処理部3733は更に再生制御部3735に、現在再生中のプレイリストの早送り又は巻戻し処理を依頼する。
プログラム実行部3734はプロセッサであり、動的シナリオ・メモリ3731に格納されたムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルからプログラムを読み出して実行する。プログラム実行部3734は更に各プログラムに従って次の制御を行う:(1)再生制御部3735に対してプレイリスト再生処理を命令する;(2)メニュー用又はゲーム用のグラフィックス・データをPNG又はJPEGのラスタ・データとして生成し、それをシステム・ターゲット・デコーダ3725へ転送して他の映像データに合成させる。これらの制御の具体的な内容は、プログラムの設計を通じて比較的自由に設計することができる。すなわち、それらの制御内容は、BD−ROMディスク101のオーサリング工程のうち、ムービーオブジェクト・ファイル及びBD−Jオブジェクト・ファイルのプログラミング工程によって決まる。
再生制御部3735は、2Dエクステント及びインデックス・ファイル等、各種のデータをBD−ROMディスク101から、リード・バッファ3721、動的シナリオ・メモリ3731、及び静的シナリオ・メモリ3732へ転送する処理を制御する。その制御には、図2に示されているディレクトリ/ファイル構造を管理するファイルシステムが利用される。すなわち、再生制御部3735はファイル・オープン用のシステムコールを利用して、BD−ROMドライブ3701に各種のファイルを各バッファ・メモリ3721、3731、3732へ転送させる。ここで、「ファイル・オープン」とは次の一連の処理をいう。まず、システムコールによってファイルシステムに検索対象のファイル名が与えられ、そのファイル名がディレクトリ/ファイル構造から検索される。その検索に成功したとき、再生制御部3735内のメモリには、まず、転送対象のファイルのファイル・エントリが転送され、そのメモリ内にFCB(FileControl Block)が生成される。その後、転送対象のファイルのファイル・ハンドルがファイルシステムから再生制御部3735に返される。以後、再生制御部3735はそのファイル・ハンドルをBD−ROMドライブ3701に提示することにより、BD−ROMドライブ3701にその転送対象のファイルをBD−ROMディスク101から各バッファ・メモリ3721、3731、3732へ転送させることができる。
再生制御部3735は、BD−ROMドライブ3701とシステム・ターゲット・デコーダ3725とを制御して、ファイル2Dから映像データと音声データとを復号させる。具体的には、再生制御部3735はまず、プログラム実行部3734からの命令、又はユーザイベント処理部3733からの依頼に応じて、静的シナリオ・メモリ3732から2Dプレイリスト・ファイルを読み出してその内容を解釈する。再生制御部3735は次に、その解釈された内容、特に再生経路に従って、BD−ROMドライブ3701とシステム・ターゲット・デコーダ3725とに再生対象のファイル2Dを指定し、その読み出し処理及び復号処理を指示する。このようなプレイリスト・ファイルに従った再生処理を「プレイリスト再生処理」という。
その他に、再生制御部3735は、静的シナリオ情報を利用してプレーヤ変数記憶部3736に各種のプレーヤ変数を設定する。再生制御部3735は更に、それらのプレーヤ変数を参照して、システム・ターゲット・デコーダ3725に復号対象のエレメンタリ・ストリームを指定し、かつ、各エレメンタリ・ストリームの復号に必要な情報を提供する。
プレーヤ変数記憶部3736は、プレーヤ変数を記憶するためのレジスタ群である。プレーヤ変数の種類にはシステム・パラメータ(SPRM)と汎用のパラメータ(GPRM)とがある。SPRMは再生装置102の状態を示す。図38はSPRMの一覧表である。図38を参照するに、各SPRMには通し番号3801が振られ、各通し番号3801に変数値3802が個別に対応付けられている。SPRMは例えば64個であり、それぞれの示す意味は以下のとおりである。ここで、括弧内の数字は通し番号3801を示す。
SPRM(0) : 言語コード
SPRM(1) : プライマリ・オーディオ・ストリーム番号
SPRM(2) : 字幕ストリーム番号
SPRM(3) : アングル番号
SPRM(4) : タイトル番号
SPRM(5) : チャプタ番号
SPRM(6) : プログラム番号
SPRM(7) : セル番号
SPRM(8) : 選択キー情報
SPRM(9) : ナビゲーション・タイマー
SPRM(10) : 再生時刻情報
SPRM(11) : カラオケ用ミキシング・モード
SPRM(12) : パレンタル用国情報
SPRM(13) : パレンタル・レベル
SPRM(14) : プレーヤ設定値(ビデオ)
SPRM(15) : プレーヤ設定値(オーディオ)
SPRM(16) : オーディオ・ストリーム用言語コード
SPRM(17) : オーディオ・ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤ・リージョン・コード
SPRM(21) : セカンダリ・ビデオ・ストリーム番号
SPRM(22) : セカンダリ・オーディオ・ストリーム番号
SPRM(23) : 再生状態
SPRM(24)−SPRM(63):予備
SPRM(10)は、復号処理中のピクチャのPTSを示し、そのピクチャが復号されて主映像プレーン・メモリに書き込まれる度に更新される。従って、SPRM(10)を参照すれば、現在の再生時点を知ることができる。
SPRM(13)のパレンタル・レベルは所定の制限年齢を示し、BD−ROMディスク101に記録されたタイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値は、再生装置102のユーザによって再生装置102のOSD等を利用して設定される。ここで、「パレンタル制御」とは、視聴者の年齢に依ってタイトルの視聴を制限する処理をいう。再生装置102は各タイトルに対するパレンタル制御を例えば次のように行う。再生装置102はまず、BD−ROMディスク101から、そのタイトルの視聴が許可された視聴者の年齢を読み出してSPRM(13)の値と比較する。その年齢がSPRM(13)の値以上であれば、再生装置102はそのタイトルの再生を継続する。その年齢がSPRM(13)の値未満であれば、再生装置102はそのタイトルの再生を停止する。
SPRM(16)のオーディオ・ストリーム用言語コード、及びSPRM(18)の字幕ストリーム用言語コードは、再生装置102のデフォルトの言語コードを示す。それらは再生装置102のOSD等を利用してユーザに変更させることもでき、プログラム実行部3734を通じてアプリケーション・プログラムに変更させることもできる。例えばSPRM(16)が「英語」を示しているとき、再生制御部3735はプレイリスト再生処理において、まず現時点での再生区間を示すPI、すなわちカレントPIの含むSTNテーブルから、「英語」の言語コードを含むストリーム・エントリを検索する。再生制御部3735は次に、そのストリーム・エントリのストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ3725に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ3725によって選択されて復号される。これらの処理は、ムービーオブジェクト・ファイル又はBD−Jオブジェクト・ファイルを利用して再生制御部3735に実行させることができる。
プレーヤ変数は再生処理中、再生制御部3735によって再生状態の変化に応じて更新される。特に、SPRM(1)、SPRM(2)、SPRM(21)、及びSPRM(22)が更新される。それらは順に、処理中のオーディオ・ストリーム、字幕ストリーム、セカンダリ・ビデオ・ストリーム、及びセカンダリ・オーディオ・ストリームの各STNを示す。例えばプログラム実行部3734によってSPRM(1)が変更されたときを想定する。再生制御部3735はまず、変更後のSPRM(1)の示すSTNを利用して、カレントPI内のSTNテーブルから、そのSTNを含むストリーム・エントリを検索する。再生制御部3735は次に、そのストリーム・エントリ内のストリーム識別情報からPIDを抽出してシステム・ターゲット・デコーダ3725に渡す。それにより、そのPIDのオーディオ・ストリームがシステム・ターゲット・デコーダ3725によって選択されて復号される。こうして、再生対象のオーディオ・ストリームが切り換えられる。同様に、再生対象の字幕及びセカンダリ・ビデオ・ストリームを切り換えることもできる。
≪2Dプレイリスト再生処理≫
図39は、再生制御部3735による2Dプレイリスト再生処理のフローチャートである。2Dプレイリスト再生処理は、2Dプレイリスト・ファイルに従ったプレイリスト再生処理であり、再生制御部3735が静的シナリオ・メモリ3732から2Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS3901では、再生制御部3735はまず、2Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントPIとして設定する。再生制御部3735は次に、そのカレントPIのSTNテーブルから、再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ3725に指示される。再生制御部3735は更に、2Dプレイリスト・ファイル内のサブパスから、カレントPIに付随するSUB_PIを特定する。その後、処理はステップS3902へ進む。
ステップS3902では、再生制御部3735はカレントPIから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2Dに対応する2Dクリップ情報ファイルが特定される。更に、カレントPIに付随するSUB_PIが存在するときは、それらからも同様な情報が読み出される。その後、処理はステップS3903へ進む。
ステップS3903では、再生制御部3735は2Dクリップ情報ファイルのエントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2を検索する。SUB_PIの示すPTSの対も同様にSPNの対に変換される。その後、処理はステップS3904へ進む。
ステップS3904では、再生制御部3735はSPN#1、#2から、それぞれに対応するセクタ数を算定する。具体的には、再生制御部3735はまず、SPN#1、#2のそれぞれとソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部3735は次に、各積をセクタ一つ当たりのデータ量2048バイトで割ってその商を求める:N1=SPN#1×192/2048、N2=SPN#2×192/2048。商N1、N2は、メインTSのうち、SPN#1、#2のそれぞれが割り当てられたソースパケットよりも前の部分が記録されたセクタの総数に等しい。SUB_PIの示すPTSの対から変換されたSPNの対も同様にセクタ数の対に変換される。その後、処理はステップS3905へ進む。
ステップS3905では、再生制御部3735は、ステップS3904で得られたセクタ数N1、N2のそれぞれから、再生対象の2Dエクステント群の先端と後端とのLBNを特定する。具体的には、再生制御部3735は、再生対象のファイル2Dのファイル・エントリを参照して、2Dエクステント群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部3735は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ121に指定する。SUB_PIの示すPTSの対から変換されたセクタ数の対も同様にLBNの対に変換されて、BD−ROMドライブ121に指定される。その結果、指定された範囲のセクタ群から、2Dエクステント群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS3906へ進む。
ステップS3906では、再生制御部3735は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS3901から繰り返される。残されていないときは、処理が終了する。
≪システム・ターゲット・デコーダ≫
図40は、システム・ターゲット・デコーダ3725の機能ブロック図である。図40を参照するに、システム・ターゲット・デコーダ3725は、ソース・デパケタイザ4010、ATCカウンタ4020、第1の27MHzクロック4030、PIDフィルタ4040、STCカウンタ(STC1)4050、第2の27MHzクロック4060、主映像デコーダ4070、副映像デコーダ4071、PGデコーダ4072、IGデコーダ4073、主音声デコーダ4074、副音声デコーダ4075、イメージ・プロセッサ4080、主映像プレーン・メモリ4090、副映像プレーン・メモリ4091、PGプレーン・メモリ4092、IGプレーン・メモリ4093、イメージ・プレーン・メモリ4094、及び音声ミキサ4095を含む。
ソース・デパケタイザ4010はリード・バッファ3721からソースパケットを読み出し、その中からTSパケットを取り出してPIDフィルタ4040へ送出する。ソース・デパケタイザ4010は更にその送出時刻を、各ソースパケットのATSの示す時刻に合わせる。具体的には、ソース・デパケタイザ4010はまず、ATCカウンタ4020が生成するATCの値を監視する。ここで、ATCの値はATCカウンタ4020により、第1の27MHzクロック4030のクロック信号のパルスに応じてインクリメントされる。ソース・デパケタイザ4010は次に、ATCの値がソースパケットのATSと一致した瞬間、そのソースパケットから取り出されたTSパケットをPIDフィルタ4040へ転送する。そのような送出時刻の調節により、ソース・デパケタイザ4010からPIDフィルタ4040へのTSパケットの平均転送速度は、図22に示されている2Dクリップ情報ファイル231内のシステムレート2211で規定される値RTSを超えない。
PIDフィルタ4040はまず、ソース・デパケタイザ4010から送出されたTSパケットの含むPIDを監視する。そのPIDが、再生制御部3735から予め指定されたPIDに一致したとき、PIDフィルタ4040はそのTSパケットを選択し、そのPIDの示すエレメンタリ・ストリームの復号に適したデコーダ4070−4075へ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ4070へ転送される。一方、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、TSパケットはそれぞれ、副映像デコーダ4071、主音声デコーダ4074、副音声デコーダ4075、PGデコーダ4072、及びIGデコーダ4073へ転送される。
PIDフィルタ4040は更に、各TSパケットのPIDを利用してそのTSパケットの中からPCRを検出する。PIDフィルタ4040はそのとき、STCカウンタ4050の値を所定値に設定する。ここで、STCカウンタ4050の値は第2の27MHzクロック4060のクロック信号のパルスに応じてインクリメントされる。また、STCカウンタ4050に設定されるべき値は予め、再生制御部3735からPIDフィルタ4040に指示されている。各デコーダ4070−4075はSTCカウンタ4050の値をSTCとして利用する。具体的には、各デコーダ4070−4075は、まず、PIDフィルタ4040から受け取ったTSパケットをPESパケットに再構成する。各デコーダ4070−4075は、次に、そのPESペイロードの含むデータの復号処理の時期を、そのPESヘッダに含まれるPTS又はDTSの示す時刻に従って調節する。
主映像デコーダ4070は、図40に示されているように、トランスポート・ストリーム・バッファ(TB:Transport Stream Buffer)4001、多重化バッファ(MB:MultiplexingBuffer)4002、エレメンタリ・ストリーム・バッファ(EB:Elementary Stream Buffer)4003、圧縮映像デコーダ(DEC)4004、及び復号ピクチャ・バッファ(DPB:DecodedPicture Buffer)4005を含む。
TB4001、MB4002、及びEB4003はいずれもバッファ・メモリであり、それぞれ主映像デコーダ4070に内蔵のメモリ素子の一領域を利用する。その他に、それらのいずれか又は全てが異なるメモリ素子に分離されていてもよい。TB4001は、PIDフィルタ4040から受信されたTSパケットをそのまま蓄積する。MB4002は、TB4001に蓄積されたTSパケットから復元されたPESパケットを蓄積する。尚、TB4001からMB4002へTSパケットが転送されるとき、そのTSパケットからTSヘッダが除去される。EB4003は、PESパケットから、符号化されたVAUを抽出して格納する。そのVAUには、圧縮ピクチャ、すなわち、Iピクチャ、Bピクチャ、及びPピクチャが格納されている。尚、MB4002からEB4003へデータが転送されるとき、そのPESパケットからPESヘッダが除去される。
DEC4004は、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4004は、EB4003内の各VAUからピクチャを、元のPESパケットに含まれるDTSの示す時刻に復号する。DEC4004はその他に、図12に示されている復号スイッチ情報1250を利用して、各VAUからピクチャをそのDTSに関わらず、順次復号してもよい。その復号処理では、DEC4004は予めそのVAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに依って復号方法を選択する。ここで、その圧縮符号化方式は例えば、MPEG−2、MPEG−4 AVC、及びVC1を含む。DEC4004は更に、復号された非圧縮のピクチャをDPB4005へ転送する。
DPB4005は、TB4001、MB4002、及びEB4003と同様なバッファ・メモリであり、主映像デコーダ4070に内蔵のメモリ素子の一領域を利用する。DPB4005はその他に、他のバッファ・メモリ4001、4002、4003とは異なるメモリ素子に分離されていてもよい。DPB4005は復号後のピクチャを一時的に保持する。DEC4004によってPピクチャ又はBピクチャが復号されるとき、DPB4005はDEC4004からの指示に応じて、保持している復号後のピクチャから参照ピクチャを検索してDEC4004に提供する。DPB4005は更に、保持している各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に主映像プレーン・メモリ4090へ書き込む。
副映像デコーダ4071は主映像デコーダ4070と同様の構成を含む。副映像デコーダ4071はまず、PIDフィルタ4040から受信されたセカンダリ・ビデオ・ストリームのTSパケットを非圧縮のピクチャに復号する。副映像デコーダ4071は次に、そのPESパケットに含まれるPTSの示す時刻に非圧縮のピクチャを副映像プレーン・メモリ4091へ書き込む。
PGデコーダ4072は、PIDフィルタ4040から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号し、そのPESパケットに含まれるPTSの示す時刻にPGプレーン・メモリ4092へ書き込む。
図41の(a)は、PGデコーダ4072がPGストリーム内の一つのデータ・エントリからグラフィックス・オブジェクトを復号する処理のフローチャートである。この処理は、PGデコーダ4072がPIDフィルタ4040から、図6に示されている一つのデータ・エントリを構成するTSパケット群を受信したときに開始される。図41の(b)−(e)は、その処理に従って変化するグラフィックス・オブジェクトを示す模式図である。
ステップS4101では、PGデコーダ4072はまず、PCS内の参照オブジェクトID605と同じオブジェクトIDを持つODSを特定する。PGデコーダ4072は次に、特定されたODSからグラフィックス・オブジェクトを復号してオブジェクト・バッファに書き込む。ここで、「オブジェクト・バッファ」は、PGデコーダ4072に内蔵のバッファ・メモリである。図41の(b)に示されている「ニコちゃんマーク」FOBは、オブジェクト・バッファに書き込まれたグラフィックス・オブジェクトの例を示す。
ステップS4102では、PGデコーダ4072はPCS内のクロッピング情報602に従ってクロッピング処理を行い、グラフィックス・オブジェクトからその一部を切り出して、オブジェクト・バッファに書き込む。図41の(c)では、ニコちゃんマークFOBの左右の両端部から帯状領域LST、RSTが切り取られて、残りの部分OBJがオブジェクト・バッファに書き込まれている。
ステップS4103では、PGデコーダ4072はまず、PCS内の参照ウィンドウID603と同じウィンドウIDを持つWDSを特定する。PGデコーダ4072は次に、特定されたWDSの示すウィンドウ位置612と、PCS内のオブジェクト表示位置601とから、グラフィックス・プレーンにおけるグラフィックス・オブジェクトの表示位置を決定する。図41の(d)では、グラフィックス・プレーンGPLにおけるウィンドウWINの左上隅の位置と、グラフィックス・オブジェクトOBJの左上隅の位置DSPとが決定される。
ステップS4104では、PGデコーダ4072はオブジェクト・バッファ内のグラフィックス・オブジェクトを、ステップS4103で決定された表示位置に書き込む。その際、PGデコーダ4072は、WDSの示すウィンドウ・サイズ613を利用して、グラフィックス・オブジェクトを描画する範囲を決める。図41の(d)では、グラフィックス・オブジェクトOBJがグラフィックス・プレーンGPLに、左上隅の位置DSPからウィンドウWINの範囲内で書き込まれている。
ステップS4105では、PGデコーダ4072はまず、PCS内の参照パレットID604と同じパレットIDを持つPDSを特定する。PGデコーダ4072は次に、PDS内のCLUT622を利用して、グラフィックス・オブジェクト内の各画素データが示すべき色座標値を決定する。図41の(e)では、グラフィックス・オブジェクトOBJ内の各画素の色が決定されている。こうして、一つのデータ・エントリの含むグラフィックス・オブジェクトの描画処理が完了する。ステップS4101−4105は、そのグラフィックス・オブジェクトと同じPESパケットに含まれるPTSの示す時刻までに実行される。
IGデコーダ4073は、PIDフィルタ4040から受信されたTSパケットを非圧縮のグラフィックス・オブジェクトに復号する。IGデコーダ4073は更に、それらのTSパケットから復元されたPESパケットに含まれるPTSの示す時刻に、その非圧縮のグラフィックス・オブジェクトをIGプレーン・メモリ4093へ書き込む。それらの処理の詳細は、PGデコーダ4072によるものと同様である。
主音声デコーダ4074はまず、PIDフィルタ4040から受信されたTSパケットを内蔵のバッファに蓄える。主音声デコーダ4074は次に、そのバッファ内のTSパケット群からTSヘッダとPESヘッダとを除去し、残りのデータを非圧縮のLPCM音声データに復号する。主音声デコーダ4074は更にその音声データを、元のPESパケットに含まれるPTSの示す時刻に音声ミキサ4095へ送出する。ここで、主音声デコーダ4074は、TSパケットに含まれるプライマリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばAC−3又はDTSを含む。
副音声デコーダ4075は主音声デコーダ4074と同様の構成を含む。副音声デコーダ4075はまず、PIDフィルタ4040から受信されたセカンダリ・オーディオ・ストリームのTSパケット群からPESパケットを復元し、そのPESペイロードの含むデータを非圧縮のLPCM音声データに復号する。副音声デコーダ4075は次に、そのPESヘッダの含むPTSの示す時刻にその非圧縮のLPCM音声データを音声ミキサ4095へ送出する。ここで、副音声デコーダ4075は、TSパケットに含まれるセカンダリ・オーディオ・ストリームの圧縮符号化方式及びストリーム属性に依って圧縮音声データの復号方法を選択する。その圧縮符号化方式は例えばドルビー・デジタル・プラス又はDTS−HD LBRを含む。
音声ミキサ4095は、主音声デコーダ4074と副音声デコーダ4075とのそれぞれから非圧縮の音声データを受信し、それらを用いてミキシングを行う。音声ミキサ4095は更に、そのミキシングで得られた合成音を表示装置103の内蔵スピーカ103A等へ送出する。
イメージ・プロセッサ4080は、プログラム実行部3734からグラフィックス・データ、すなわちPNG又はJPEGのラスタ・データを受信する。イメージ・プロセッサ4080はそのとき、そのグラフィックス・データに対するレンダリング処理を行ってイメージ・プレーン・メモリ4094へ書き込む。
<3D再生装置の構成>
3D再生モードの再生装置102はBD−ROMディスク101から3D映像コンテンツを再生するとき、3D再生装置として動作する。その構成の基本部分は、図37、40に示されている2D再生装置の構成と同様である。従って、以下では2D再生装置の構成からの拡張部分及び変更部分について説明し、基本部分の詳細についての説明は上記の2D再生装置についての説明を援用する。また、2Dプレイリスト再生処理に利用される構成は2D再生装置の構成と同様である。従って、その詳細についての説明も上記の2D再生装置についての説明を援用する。以下の説明では、3Dプレイリスト・ファイルに従った3D映像の再生処理、すなわち3Dプレイリスト再生処理を想定する。
図42は、3D再生装置4200の機能ブロック図である。3D再生装置4200は、BD−ROMドライブ4201、再生部4202、及び制御部4203を含む。再生部4202は、スイッチ4220、第1リード・バッファ(以下、RB1と略す。)4221、第2リード・バッファ(以下、RB2と略す。)4222、システム・ターゲット・デコーダ4225、プレーン加算部4226、及びHDMI通信部4227を含む。制御部4203は、動的シナリオ・メモリ4231、静的シナリオ・メモリ4232、ユーザイベント処理部4233、プログラム実行部4234、再生制御部4235、及びプレーヤ変数記憶部4236を含む。再生部4202と制御部4203とは、互いに異なる集積回路に実装されている。その他に、両者が単一の集積回路に統合されていてもよい。特に、動的シナリオ・メモリ4231、静的シナリオ・メモリ4232、ユーザイベント処理部4233、及びプログラム実行部4234は、図37に示されている2D再生装置内のものと同様である。従って、それらの詳細についての説明は上記の2D再生装置についての説明を援用する。
再生制御部4235は、3Dプレイリスト再生処理をプログラム実行部4234等から命じられたとき、静的シナリオ・メモリ4232に格納された3Dプレイリスト・ファイルからPIを順番に読み出してカレントPIとして設定する。再生制御部4235は、カレントPIを設定する度に、まず、そのSTNテーブルとその3Dプレイリスト・ファイル内のSTNテーブルSSとに従って、システム・ターゲット・デコーダ4225とプレーン加算部4226との動作条件を設定する。具体的には、再生制御部4235は復号対象のエレメンタリ・ストリームのPIDを選択して、そのエレメンタリ・ストリームの復号に必要な属性情報と共にシステム・ターゲット・デコーダ4225へ渡す。選択されたPIDの示すエレメンタリ・ストリームの中にPGストリーム又はIGストリームが含まれている場合、再生制御部4235は更に、それらのストリーム・データに割り当てられた参照オフセットID3201とオフセット補正値3202とを特定して、プレーヤ変数記憶部4236内のSPRM(27)とSPRM(28)とのそれぞれに設定する。また、再生制御部4235は、STNテーブルSSの示すポップアップ期間のオフセット3311に依って各プレーン・データの表示モードを選択し、システム・ターゲット・デコーダ4225とプレーン加算部4226とに指示する。
次に、再生制御部4235はカレントPIに従い、図24の(e)の説明で述べた手順で、読み出し対象のエクステントSSが記録されたセクタ群のLBNの範囲をBD−ROMドライブ4201に指示する。一方、再生制御部4235は、静的シナリオ・メモリ4232に格納されたクリップ情報ファイル内のエクステント起点を利用して、各エクステントSS内のデータ・ブロックの境界を示す情報を生成する。その情報は、例えばそのエクステントSSの先頭から各境界までのソースパケット数を示す。再生制御部4235は更に、その情報をスイッチ4220へ渡す。
プレーヤ変数記憶部4236は、2D再生装置内のもの3736と同様に、図38に示されているSPRMを含む。しかし、図38とは異なり、SPRM(24)は、図36に示されている第1フラグを含み、SPRM(25)は第2フラグを含む。その場合、SPRM(24)が“0”であるときは再生装置102が2D映像の再生のみに対応可能であり、“1”であるときは3D映像の再生にも対応可能である。SPRM(25)が“0”であるときは再生装置102がL/Rモードであり、“1”であるときはデプス・モードである。更に、SPRM(25)が“2”であるときは再生装置102が2D再生モードである。
プレーヤ変数記憶部4236では更に図38とは異なり、SPRM(27)は各グラフィックス・プレーンに対する参照オフセットIDの格納領域を含み、SPRM(28)は各グラフィックス・プレーンに対するオフセット補正値の格納領域を含む。図43は、SPRM(27)とSPRM(28)とのデータ構造を示す表である。図43を参照するに、SPRM(27)は、四種類の参照オフセットID4310−4313を格納する領域を含む。それらの参照オフセットIDは、PGプレーンに対するもの(PG_ref_offset_id)4310、IGプレーンに対するもの(IG_ref_offset_id)4311、副映像プレーンに対するもの(SV_ref_offset_id)4312、及びイメージ・プレーンに対するもの(IM_ref_offset_id)4313である。SPRM(28)は、四種類のオフセット補正値4320−4323を格納する領域を含む。それらのオフセット補正値は、PGプレーンに対するもの(PG_offset_adjustment)4320、IGプレーンに対するもの(IG_offset_adjustment)4321、副映像プレーンに対するもの(SV_offset_adjustment)4322、及びイメージ・プレーンに対するもの(IM_offset_adjustment)4323である。
BD−ROMドライブ4201は、図37に示されている2D再生装置内のもの3701と同様な構成要素を含む。BD−ROMドライブ4201は、再生制御部4235からLBNの範囲が指示されたとき、その範囲の示すBD−ROMディスク101上のセクタ群からデータを読み出す。特にファイルSSのエクステント、すなわちエクステントSSに属するソースパケット群は、BD−ROMドライブ4201からスイッチ4220へ転送される。ここで、各エクステントSSは、図19に示されているとおり、ベースビューとディペンデントビューとのデータ・ブロックの対を一つ以上含む。それらのデータ・ブロックは、異なるリード・バッファ4221、4222へパラレルに転送されなければならない。従って、BD−ROMドライブ4201には2D再生装置内のBD−ROMドライブ3701以上のアクセス・スピードが求められる。
スイッチ4220はBD−ROMドライブ4201からはエクステントSSを受信する。一方、スイッチ4220は再生制御部4235からは、そのエクステントSSに含まれる各データ・ブロックの境界を示す情報、すなわち、そのエクステントSSの先頭から各境界までのソースパケット数を受信する。スイッチ4220は更に、その情報を利用して各エクステントSSからベースビュー・エクステントを抽出してRB14221へ送出し、ディペンデントビュー・エクステントを抽出してRB24222へ送出する。
RB14221とRB24222とはいずれも、再生部4202内のメモリ素子を利用したバッファ・メモリである。特に単一のメモリ素子内の異なる領域がRB14221、RB24222として利用される。その他に、異なるメモリ素子が個別にRB14221、RB24222として利用されてもよい。RB14221はスイッチ4220からベースビュー・エクステントを受信して格納する。RB24222はスイッチ4220からディペンデントビュー・エクステントを受信して格納する。
システム・ターゲット・デコーダ4225は、3Dプレイリスト再生処理では、まず、再生制御部4235から復号対象のストリーム・データのPIDと、その復号に必要な属性情報とを受信する。システム・ターゲット・デコーダ4225は次に、RB14221に格納されたベースビュー・エクステントと、RB24222に格納されたディペンデントビュー・エクステントとから交互にソースパケットを読み出す。システム・ターゲット・デコーダ4225は続いて、再生制御部4235から受信されたPIDの示すエレメンタリ・ストリームを各ソースパケットから分離して復号する。システム・ターゲット・デコーダ4225は更に、復号後のエレメンタリ・ストリームをその種類別に内蔵のプレーン・メモリに書き込む。ベースビュー・ビデオ・ストリームは左映像プレーン・メモリに書き込まれ、ディペンデントビュー・ビデオ・ストリームは右映像プレーン・メモリに書き込まれる。一方、セカンダリ・ビデオ・ストリームは副映像プレーン・メモリに書き込まれ、IGストリームはIGプレーン・メモリに書き込まれ、PGストリームはPGプレーン・メモリに書き込まれる。ここで、セカンダリ・ビデオ・ストリームがベースビューとディペンデントビューとのビデオ・ストリームの対から成る場合、副映像プレーン・メモリはレフトビューとライトビューとの両方のプレーン・データに対して個別に用意される。システム・ターゲット・デコーダ4225はその他に、プログラム実行部4234からのグラフィックス・データ、例えばJPEG又はPNG等のラスタ・データに対してレンダリング処理を行ってイメージ・プレーン・メモリに書き込む。
システム・ターゲット・デコーダ4225は、左映像プレーン・メモリと右映像プレーン・メモリとからのプレーン・データの出力モードを次のように、B−D表示モードとB−B表示モードとのいずれかに対応させる。再生制御部4235からB−D表示モードが指示されたとき、システム・ターゲット・デコーダ4225は左映像プレーン・メモリと右映像プレーン・メモリとから交互にプレーン・データを出力する。一方、再生制御部4235からB−B表示モードが指示されたとき、システム・ターゲット・デコーダ4225は動作モードを3D再生モードに維持したまま、左映像プレーン・メモリと右映像プレーン・メモリとのいずれかからのみ、プレーン・データを一フレーム当たり二回ずつ出力する。
再生制御部4235から1プレーン+オフセット・モードが指示されたとき、システム・ターゲット・デコーダ4225は、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータ1110を読み出す。そのビデオ・シーケンスの再生区間では、システム・ターゲット・デコーダ4225は、まず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。システム・ターゲット・デコーダ4225は、次に、オフセット・メタデータから、そのフレーム番号に対応付けられたオフセット情報を読み出して、特定されたPTSの示す時刻にプレーン加算部4226へ送出する。
プレーン加算部4226は、システム・ターゲット・デコーダ4225から各種のプレーン・データを受信し、それらを互いに重畳して一つのフレーム又はフィールドに合成する。特にL/Rモードでは、左映像プレーン・データはレフトビュー・ビデオ・プレーンを表し、右映像プレーン・データはライトビュー・ビデオ・プレーンを表す。従って、プレーン加算部4226は、左映像プレーン・データには、レフトビューを表す他のプレーン・データを重畳し、右映像プレーン・データには、ライトビューを表す他のプレーン・データを重畳する。一方、デプス・モードでは、右映像プレーン・データは、左映像プレーン・データの表すビデオ・プレーンに対するデプスマップを表す。従って、プレーン加算部4226はまず、両方の映像プレーン・データからレフトビューとライトビューとのビデオ・プレーン・データの対を生成する。その後、プレーン加算部4226はL/Rモードでの合成処理と同様に合成処理を行う。
プレーン加算部4226は再生制御部4235から、副映像プレーン、PGプレーン、IGプレーン、又はイメージ・プレーンの表示モードとして1プレーン+オフセット・モード又は1プレーン+ゼロ・オフセット・モードが指示されているとき、システム・ターゲット・デコーダ4225から受信されたプレーン・データに対してオフセット制御を行う。それにより、各プレーン・データからレフトビューとライトビューとのプレーン・データの対が生成される。
特に1プレーン+オフセット・モードが指示されているとき、プレーン加算部4226はまず、プレーヤ変数記憶部4236内のSPRM(27)から各グラフィックス・プレーンに対する参照オフセットID4310−4313を読み出す。プレーン加算部4226は次に、システム・ターゲット・デコーダ4225から受け取ったオフセット情報を参照して、各参照オフセットID4310−4313の示すオフセット・シーケンス1113に属するオフセット情報、すなわちオフセット方向1122とオフセット値1123との対を検索する。プレーン加算部4226は続いて、プレーヤ変数記憶部4236内のSPRM(28)から各グラフィックス・プレーンに対するオフセット補正値4320−4323を読み出して、対応するオフセット値に加える。プレーン加算部4226はその後、各オフセット値を利用して、対応するグラフィックス・プレーンに対してオフセット制御を行う。
一方、1プレーン+ゼロ・オフセット・モードが指示されているとき、プレーン加算部4226は、SPRM(27)、SPRM(28)のいずれも参照することなく、各グラフィックス・プレーンに対するオフセット値を“0”としてオフセット制御を行う。従って、同じプレーン・データが、レフトビューとライトビューとのそれぞれを表すグラフィックス・プレーンとして繰り返し、他のプレーン・データに合成される。
HDMI通信部4227はHDMIケーブル122で表示装置103に接続され、HDMIケーブル122を通して表示装置103との間でCECメッセージを交換する。それにより、HDMI通信部4227は表示装置103に対してHDMI認証を行い、3D映像の再生に対応可能か否かを表示装置103に問い合わせる。
≪3Dプレイリスト再生処理≫
図44は、再生制御部4235による3Dプレイリスト再生処理のフローチャートである。3Dプレイリスト再生処理は、再生制御部4235が静的シナリオ・メモリ4232から3Dプレイリスト・ファイルを読み出すことによって開始される。
ステップS4401では、再生制御部4235はまず、3Dプレイリスト・ファイル内のメインパスからPIを一つ読み出して、カレントのPIとして設定する。再生制御部4235は次に、そのカレントPIのSTNテーブルから、再生対象のエレメンタリ・ストリームのPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。再生制御部4235は更に、3Dプレイリスト・ファイル内のSTNテーブルSSのうち、カレントPIに対応するものから、再生対象のエレメンタリ・ストリームとして追加されるべきもののPIDを選択し、かつ、それらの復号に必要な属性情報を特定する。選択されたPIDと属性情報とはシステム・ターゲット・デコーダ4225に指示される。再生制御部4235はその他に、3Dプレイリスト・ファイル内のサブパスから、カレントPIと同時に参照されるべきSUB_PIを特定し、カレントのSUB_PIとして設定する。その後、処理はステップS4402へ進む。
ステップS4402では、再生制御部4235は、STNテーブルSSの示すポップアップ期間のオフセットに依って各プレーン・データの表示モードを選択し、システム・ターゲット・デコーダ4225とプレーン加算部4226とに指示する。特に、ポップアップ期間のオフセットの値が“0”であるとき、ビデオ・プレーンの表示モードとしてB−D表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードが選択される。一方、ポップアップ期間のオフセットの値が“1”であるとき、ビデオ・プレーンの表示モードとしてB−B表示モードが選択され、グラフィックス・プレーンの表示モードとして1プレーン+ゼロ・オフセット・モードが選択される。その後、処理はステップS4403へ進む。
ステップS4403では、グラフィックス・プレーンの表示モードとして1プレーン+オフセット・モードと1プレーン+ゼロ・オフセット・モードとのいずれが選択されかをチェックする。1プレーン+オフセット・モードが選択された場合、処理はステップS4404へ進む。一方、1プレーン+ゼロ・オフセット・モードが選択された場合、処理はステップS4405へ進む。
ステップS4404では、再生制御部4235は、カレントPIのSTNテーブルを参照して、選択されたPIDの示すエレメンタリ・ストリームの中からPGストリーム又はIGストリームを検出する。再生制御部4235は更に、それらのストリーム・データに割り当てられた参照オフセットIDとオフセット補正値とを特定して、プレーヤ変数記憶部4236内のSPRM(27)とSPRM(28)とのそれぞれに設定する。その後、処理はステップS4405へ進む。
ステップS4405では、再生制御部4235は、カレントのPIとSUB_PIとのそれぞれから、参照クリップ情報、再生開始時刻IN1を示すPTS#1、及び再生終了時刻OUT1を示すPTS#2を読み出す。その参照クリップ情報から、再生対象のファイル2DとファイルDEPとのそれぞれに対応するクリップ情報ファイルが特定される。その後、処理はステップS4406へ進む。
ステップS4406では、再生制御部4235は、ステップS4405で特定されたクリップ情報ファイルの各エントリ・マップを参照して、PTS#1、#2に対応するファイル2D内のSPN#1、#2とファイルDEP内のSPN#11、#12とを検索する。再生制御部4235は更に、図24を用いて説明したように、各クリップ情報ファイルのエクステント起点を利用して、ファイルSSの先頭から再生開始位置までのソースパケット数SPN#21をSPN#1、#11から算定し、ファイルSSの先頭から再生終了位置までのソースパケット数SPN#22をSPN#2、#12から算定する。具体的には、再生制御部4235はまず、2Dクリップ情報ファイルのエクステント起点の示すSPNの中からSPN#1以下で最大のもの“Am”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中からSPN#11以下で最大のもの“Bm”を検索する。再生制御部4235は続いて、検索されたSPNの和Am+Bmを求めてSPN#21として決定する。再生制御部4235は次に、2Dクリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#2よりも大きく、かつ最小のもの“An”を検索し、ディペンデントビュー・クリップ情報ファイルのエクステント起点の示すSPNの中から、SPN#12より大きく、かつ最小のもの“Bn”を検索する。再生制御部4235は続いて、検索されたSPNの和An+Bnを求めてSPN#22として決定する。その後、処理はステップS4407へ進む。
ステップS4407では、再生制御部4235は、ステップS4406で決定されたSPN#21、#22をセクタ数の対N1、N2に変換する。具体的には、再生制御部4235はまず、SPN#21とソースパケット一つ当たりのデータ量192バイトとの積を求める。再生制御部4235は次に、その積をセクタ一つ当たりのデータ量2048バイトで割ったときの商SPN#21×192/2048を求める。この商は、ファイルSSの先頭から再生開始位置の直前までのセクタ数N1に等しい。同様に、再生制御部4235はSPN#22から商SPN#22×192/2048を求める。この商は、ファイルSSの先頭から再生終了位置の直前までのセクタ数N2に等しい。その後、処理はステップS4408へ進む。
ステップS4408では、再生制御部4235は、ステップS4407で得られたセクタ数N1、N2のそれぞれから、再生対象のエクステントSS群の先端と後端とのLBNを特定する。具体的には、再生制御部4235は、再生対象のファイルSSのファイル・エントリを参照して、エクステントSS群が記録されたセクタ群の先頭から数えて(N1+1)番目のセクタのLBN=LBN#1と、(N2+1)番目のセクタのLBN=LBN#2とを特定する。再生制御部4235は更に、LBN#1からLBN#2までの範囲をBD−ROMドライブ4201に指定する。その結果、指定された範囲のセクタ群から、エクステントSS群に属するソースパケット群がアラインド・ユニット単位で読み出される。その後、処理はステップS4409へ進む。
ステップS4409では、再生制御部4235は、ステップS4406で利用されたクリップ情報ファイルのエクステント起点を再び利用して、エクステントSS群に含まれるディペンデントビュー・データ・ブロックとベースビュー・データ・ブロックとの間の境界を示す情報(以下、データ・ブロック境界情報と呼ぶ。)を生成してスイッチ4220へ送出する。具体的な例として、再生開始位置を示すSPN#21が、各エクステント起点の示すSPNの和An+Bnに等しく、再生終了位置を示すSPN#22が、各エクステント起点の示すSPNの和Am+Bmに等しいときを想定する。そのとき、再生制御部4235は、各エクステント起点からSPNの差の列、A(n+1)−An、B(n+1)−Bn、A(n+2)−A(n+1)、B(n+2)−B(n+1)、…、Am−A(m−1)、Bm−B(m−1)を求めて、データ・ブロック境界情報としてスイッチ4220へ送出する。図24の(e)に示されているとおり、この列は、エクステントSSに含まれる各データ・ブロックのソースパケット数を示す。スイッチ4220は、BD−ROMドライブ4201から受信されるエクステントSSのソースパケット数を0からカウントし、そのカウントが、データ・ブロック境界情報の示すSPNの差と一致する度に、ソースパケットの送出先をRB14221とRB24222との間で切り換え、かつカウントを0にリセットする。その結果、エクステントSSの先頭から{B(n+1)−Bn}個のソースパケットは最初のディペンデントビュー・エクステントとしてRB24222へ送出され、続く{A(n+1)−An}個のソースパケットは最初のベースビュー・エクステントとしてRB14221へ送出される。以降も同様に、スイッチ4220によって受信されるソースパケットの数が、データ・ブロック境界情報の示すSPNの差と一致する度に、エクステントSSからディペンデントビュー・エクステントとベースビュー・エクステントとが交互に抽出される。
ステップS4410では、再生制御部4235は、メインパスに未処理のPIが残されているか否かをチェックする。残されているときは、処理がステップS4401から繰り返される。残されていないときは、処理が終了する。
≪システム・ターゲット・デコーダ≫
システム・ターゲット・デコーダ4225に、ディペンデントビュー・ビデオ・ストリームからオフセット・メタデータを抽出する機能を実装する具体的な手段としては、次の二種類が想定される。第1の手段では、システム・ターゲット・デコーダ4225にTS優先度フィルタとオフセット・メタデータ処理部とが、主映像デコーダから独立したモジュールとして実装される。TS優先度フィルタは、TS優先度フラグの値に従って、オフセット・メタデータを含むTSパケットと、ディペンデントビュー・ピクチャを含むTSパケットとを選別する。オフセット・メタデータ処理部は、オフセット・メタデータを含むTSパケットからオフセット情報を抽出する。第2の手段では、ディペンデントビュー・ビデオ・ストリームを含むTSパケットが、TS優先度フラグの値にかかわらず、システム・ターゲット・デコーダ4225内の主映像デコーダに送られる。主映像デコーダは、ディペンデントビュー・ビデオ・ストリームの復号処理と並行して、ディペンデントビュー・ビデオ・ストリームからオフセット情報を抽出する。
(第1の手段)
図45は、第1の手段によるシステム・ターゲット・デコーダ4225の機能ブロック図である。図45に示されている構成要素は、図40に示されている2D再生装置のもの3724とは次の点で異なる:(A)リード・バッファから各デコーダへの入力系統が二重化されている;(B)TS優先度フィルタとオフセット・メタデータ処理部とが設置されている。一方、主音声デコーダ、副音声デコーダ、音声ミキサ、イメージ・プロセッサ、及び各プレーン・メモリは、図40に示されている2D再生装置のものと同様である。従って、以下では、図45に示されている構成要素のうち、図40に示されているものとは異なるものについて説明する。一方、同様な構成要素の詳細についての説明は、図40についての説明を援用する。更に、各映像デコーダはいずれも同様な構造を持つので、以下では主映像デコーダ4515の構造について説明する。同様な説明は他の映像デコーダの構造についても成立する。
第1ソース・デパケタイザ4511は、RB14221からソースパケットを読み出し、更にその中からTSパケットを抽出して第1PIDフィルタ4513へ送出する。第2ソース・デパケタイザ4512は、RB24222からソースパケットを読み出し、更にその中からTSパケットを抽出して第2PIDフィルタ4514へ送出する。各ソース・デパケタイザ4511、4512は更に、各TSパケットの送出時刻を、各ソースパケットのATSの示す時刻に合わせる。その同期方法は、図40に示されているソース・デパケタイザ4010による方法と同様である。従って、その詳細についての説明は、図40についての説明を援用する。そのような送出時刻の調節により、第1ソース・デパケタイザ4511から第1PIDフィルタ4513へのTSパケットの平均転送速度は、2Dクリップ情報ファイルの示すシステムレートRTS1を超えない。同様に、第2ソース・デパケタイザ4512から第2PIDフィルタ4514へのTSパケットの平均転送速度は、ディペンデントビュー・クリップ情報ファイルの示すシステムレートRTS2を超えない。
第1PIDフィルタ4513は、第1ソース・デパケタイザ4511からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部4235によって予め、3Dプレイリスト・ファイル内のSTNテーブルに従って指定されている。両方のPIDが一致したとき、第1PIDフィルタ4513はそのTSパケットを、そのPIDに割り当てられたデコーダへ転送する。例えばPIDが0x1011であるとき、そのTSパケットは主映像デコーダ4515内のTB14501へ転送される。その他に、PIDが、0x1B00−0x1B1F、0x1100−0x111F、0x1A00−0x1A1F、0x1200−0x121F、及び0x1400−0x141Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、主音声デコーダ、副音声デコーダ、PGデコーダ、及びIGデコーダへ転送される。
第2PIDフィルタ4514は、第2ソース・デパケタイザ4512からTSパケットを受信する度に、そのPIDを選択対象のPIDと比較する。その選択対象のPIDは再生制御部4235によって予め、3Dプレイリスト・ファイル内のSTNテーブルSSに従って指定されている。両方のPIDが一致したとき、第2PIDフィルタ4514はそのTSパケットを、そのPIDに割り当てられたデコーダ、又はTS優先度フィルタ4551へ転送する。例えばPIDが0x1012又は0x1013であるとき、そのTSパケットはTS優先度フィルタ4551へ転送される。その他に、PIDが、0x1B20−0x1B3F、0x1220−0x127F、及び0x1420−0x147Fの各範囲に属するとき、対応するTSパケットはそれぞれ、副映像デコーダ、PGデコーダ、及びIGデコーダへ転送される。
TS優先度フィルタ4551は、第2PIDフィルタ4514からTSパケットを受信して、それぞれのTSヘッダ501HからTS優先度511を読み出す。ここで、第2PIDフィルタ4514からTS優先度フィルタ4551へは、PID=0x1012又は0x1013のTSパケットが転送される。すなわち、それらのTSパケットはディペンデントビュー・ビデオ・ストリームを格納している。
図15に示されているTSパケット列1520のうち、第1グループ1521と第3グループ1523とではTS優先度が“0”であり、第2グループ1522ではTS優先度が“1”である。TS優先度フィルタ4551はそのTSパケット列1520の中から、TS優先度=0のTSパケットを主映像デコーダ4515内のTB24508へ転送し、TS優先度=1のTSパケットをオフセット・メタデータ処理部4552へ転送する。図15に示されているとおり、TS優先度=1のTSパケットは第2グループ1522に属するので、そのTSペイロードは、オフセット・メタデータ1509のみから構成される補足データ1504のみを含む。従って、ディペンデントビュー・ビデオ・ストリーム内のVAU#1のうち、オフセット・メタデータ1509のみから構成される補足データはオフセット・メタデータ処理部4552へ転送され、残りは、他の補足データも含め、主映像デコーダ4515へ転送される。
図16に示されているTSパケット列1620のうち、第1グループ1621と第2グループ1622とではTS優先度が“1”であり、第3グループ1623ではTS優先度が“0”である。TS優先度フィルタ4551はそのTSパケット列1620の中から、TS優先度=0のTSパケットを主映像デコーダ4515内のTB24508へ転送し、TS優先度=1のTSパケットを、TB24508とオフセット・メタデータ処理部4552との両方へ転送する。従って、ディペンデントビュー・ビデオ・ストリーム内のVAU#1が主映像デコーダ4515へ転送される一方、サブAU識別コードから補足データまではオフセット・メタデータ処理部4552へも転送される。
主映像デコーダ4515は、TB14501、MB14502、EB14503、TB24508、MB24509、EB24510、バッファ・スイッチ4506、DEC4504、DPB4505、及びピクチャ・スイッチ4507を含む。TB14501、MB14502、EB14503、TB24508、MB24509、EB24510、及びDPB4505はいずれもバッファ・メモリである。各バッファ・メモリは、主映像デコーダ4515に内蔵されたメモリ素子の一領域を利用する。その他に、それらのバッファ・メモリのいずれか又は全てが、異なるメモリ素子に分離されていてもよい。
TB14501は、ベースビュー・ビデオ・ストリームを含むTSパケットを第1PIDフィルタ4513から受信してそのまま蓄積する。MB14502は、TB14501に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB14503は、MB14502に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
TB24508は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットをTS優先度フィルタ4551から受信してそのまま蓄積する。MB24509は、TB24508に蓄積されたTSパケットからPESパケットを復元して蓄積する。そのとき、各TSパケットからTSヘッダが除去される。EB24510は、MB24509に蓄積されたPESパケットから、符号化されたVAUを抽出して蓄積する。そのとき、各PESパケットからPESヘッダが除去される。
バッファ・スイッチ4506は、EB14503とEB24510とのそれぞれに蓄積されたVAUのヘッダをDEC4504からの要求に応じて転送する。バッファ・スイッチ4506は更に、そのVAUの圧縮ピクチャ・データを、元のPESパケットに含まれるDTSの示す時刻にDEC4504へ転送する。ここで、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの間では、同じ3D・VAUに属する一対のピクチャのDTSが等しい。従って、バッファ・スイッチ4506は、DTSの等しい一対のVAUのうち、EB14503に蓄積された方を先にDEC4504へ転送する。その他に、バッファ・スイッチ4506は、そのVAU内の復号スイッチ情報1750をDEC4504に返信させてもよい。その場合、バッファ・スイッチ4506はその復号スイッチ情報1750を使って、次のVAUをEB14503とEB24510とのいずれから転送すべきか決定できる。
DEC4504は、図40に示されているDEC4004と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4504は、バッファ・スイッチ4506から転送された圧縮ピクチャ・データを順次復号する。その復号処理では、DEC4504は予め、各VAUのヘッダを解析して、そのVAU内に格納された圧縮ピクチャの圧縮符号化方式とストリーム属性とを特定し、それらに応じて復号方法を選択する。ここで、その圧縮符号化方式は例えば、MPEG−2、MPEG−4 AVC、MVC、及びVC1を含む。DEC4504は更に、復号された非圧縮のピクチャをDPB4505へ転送する。
DPB4505は、DEC4504によって復号された非圧縮のピクチャを一時的に保持する。DEC4504がPピクチャ及びBピクチャを復号するとき、DPB4505はDEC4504からの要求に応じて、保持されている非圧縮のピクチャの中から参照ピクチャを検索してDEC4504に提供する。
ピクチャ・スイッチ4507は、DPB4505から非圧縮の各ピクチャを、元のPESパケットに含まれるPTSの示す時刻に、左映像プレーン・メモリ4520と右映像プレーン・メモリ4521とのいずれかに書き込む。ここで、同じ3D・VAUに属するベースビュー・ピクチャとディペンデントビュー・ピクチャとではPTSが等しい。従って、ピクチャ・スイッチ4507は、DPB4505に保持された、PTSの等しい一対のピクチャのうち、ベースビュー・ピクチャを先に左映像プレーン・メモリ4520に書き込み、続いてディペンデントビュー・ピクチャを右映像プレーン・メモリ4521に書き込む。
オフセット・メタデータ処理部4552は、主映像デコーダ4515と同じチップ上に実装されているが、主映像デコーダ4515とは別のモジュールとして構成されている。その他に、オフセット・メタデータ処理部4552は、主映像デコーダ4515とは別のチップ上に実装されていてもよい。更に、オフセット・メタデータ処理部4552は、専用のハードウェアとして構成されても、汎用のハードウェアをソフトウェアで制御することによって実現されてもよい。オフセット・メタデータ処理部4552は、TS優先度フィルタ4551から転送されたTSパケット群を解析して、それらのTSペイロードに格納された補足データからオフセット・メタデータを読み出す。
図15に示されているTSパケット列1520では、VAU#1と共に同じPESパケットに属するPESヘッダは、主映像デコーダ4515へ転送されるTSパケット群に格納されている。従って、オフセット・メタデータ処理部4552は、VAU#1の表すフレームのPTSをオフセット・メタデータから読み取る。一方、図16に示されているTSパケット列1620では、そのPESヘッダは、オフセット・メタデータ処理部4552へ転送されるTSパケット群にも格納されている。従って、オフセット・メタデータ処理部4552は、VAU#1の表すフレームのPTSを、そのPESヘッダとオフセット・メタデータとのいずれから読み取ってもよい。
オフセット・メタデータ処理部4552は、そのPTSの示す時刻からフレーム周期でフレーム番号を0から1ずつインクリメントする。オフセット・メタデータ処理部4552は更に、そのインクリメントに同期して、各フレーム番号に対応付けられたオフセット情報をオフセット・メタデータから検索し、プレーン加算部4226へ送出する。ここで、TS優先度フィルタ4551により、圧縮ピクチャ・データは、図15、16のいずれに示されているTSパケット列1520、1620からもオフセット・メタデータ処理部4552へは転送されない。従って、オフセット・メタデータ処理部4552は、圧縮ピクチャ・データに妨げられることなく、オフセット情報を確実に管理できる。
(第2の手段)
図46は、第2の手段によるシステム・ターゲット・デコーダ4225の含む、ビデオ・ストリームの処理系統を示す機能ブロック図である。図46に示されているシステム・ターゲット・デコーダ4225は、図45に示されているものとは、主映像デコーダ4615内のDEC4604の機能が異なる。その他の要素は同様である。図46では、図45に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図45に示されている要素についての説明を援用する。
DEC4604は、図45に示されているDEC4504と同様、圧縮ピクチャの復号処理に特化したハードウェア・デコーダであり、特にその復号処理のアクセラレータ機能を備えたLSIで構成されている。DEC4604は、バッファ・スイッチ4506から転送された圧縮ピクチャ・データを順次復号し、復号された非圧縮のピクチャをDPB4505へ転送する。DEC4604は更に、ディペンデントビュー・ビデオ・ストリームから各ビデオ・シーケンスの先頭のVAUを読み出す度に、そのVAUからオフセット・メタデータを読み出す。そのビデオ・シーケンスの再生区間では、DEC4604は、まず、各VAUと共に同じPESパケットに格納されたPTSと、そのVAUの圧縮ピクチャ・データの表すフレームの番号とを特定する。DEC4604は次に、オフセット・メタデータから、そのフレーム番号に対応付けられたオフセット情報を読み出して、特定されたPTSの示す時刻にプレーン加算部4226へ送出する。
≪プレーン加算部≫
図47は、プレーン加算部4226の機能ブロック図である。図47を参照するに、プレーン加算部4226は、視差映像生成部4710、スイッチ4720、四つのクロッピング処理部4731−4734、及び四つの加算部4741−4744を含む。
視差映像生成部4710は、システム・ターゲット・デコーダ4225から左映像プレーン・データ4701と右映像プレーン・データ4702とを受信する。L/Rモードの再生装置102では、左映像プレーン・データ4701はレフトビュー・ビデオ・プレーンを表し、右映像プレーン・データ4702はライトビュー・ビデオ・プレーンを表す。そのとき、視差映像生成部4710は各ビデオ・プレーン4701、4702をそのままスイッチ4720へ送出する。一方、デプス・モードの再生装置102では、左映像プレーン・データ4701は2D映像のビデオ・プレーンを表し、右映像プレーン・データ4702はその2D映像に対するデプスマップを表す。そのとき、視差映像生成部4710はまず、そのデプスマップからその2D映像の各部の両眼視差を計算する。視差映像生成部4710は次に、左映像プレーン・データ4701を加工して、ビデオ・プレーンにおけるその2D映像の各部の表示位置を、計算された両眼視差に依って左右に移動させる。それにより、レフトビューとライトビューとを表すビデオ・プレーンの対が生成される。視差映像生成部4710は更に、そのビデオ・プレーンの対を左映像と右映像とのプレーン・データの対としてスイッチ4720へ送出する。
スイッチ4720は、再生制御部4235からB−D表示モードが指示されているとき、PTSの等しい左映像プレーン・データ4701と右映像プレーン・データ4702とをその順で第1加算部4741へ送出する。スイッチ4720は、再生制御部4235からB−B表示モードが指示されているとき、PTSの等しい左映像プレーン・データ4701と右映像プレーン・データ4702との一方を一フレーム当たり二回ずつ第1加算部4741へ送出し、他方を破棄する。
第1クロッピング処理部4731は、視差映像生成部4710とスイッチ4720との対と同様な構成を入力部に含む。副映像プレーン・データがレフトビューとライトビューとの対である場合にはそれらの構成が利用される。特にデプス・モードの再生装置102では、副映像プレーン・データの対は、第1クロッピング処理部4731内の視差映像生成部によってレフトビューとライトビューとのプレーン・データの対に変換される。再生制御部4235からB−D表示モードが指示されているとき、レフトビューとライトビューとのプレーン・データが交互に第1加算部4741へ送出される。一方、再生制御部4235からB−B表示モードが指示されているとき、レフトビューとライトビューとのプレーン・データの一方が一フレーム当たり二回ずつ第1加算部4741へ送出され、他方は破棄される。
再生制御部4235から1プレーン+オフセット・モードが指示されているとき、第1クロッピング処理部4731は副映像プレーン・データ4703に対してオフセット制御を次のように行う。第1クロッピング処理部4731はまず、システム・ターゲット・デコーダ4225からオフセット情報4707を受信する。そのとき、第1クロッピング処理部4731は、プレーヤ変数記憶部4236内のSPRM(27)4751から、副映像プレーンに対する参照オフセットID(SV_ref_offset_id)4312を読み出す。第1クロッピング処理部4731は次に、その参照オフセットID4312の示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中から検索する。第1クロッピング処理部4731は続いて、プレーヤ変数記憶部4236内のSPRM(28)4752から、副映像プレーンに対するオフセット補正値(SV_offset_adjustment)4322を読み出して、検索されたオフセット値に加える。第1クロッピング処理部4731はその後、そのオフセット値を利用して、副映像プレーン・データ4703に対してオフセット制御を行う。その結果、副映像プレーン・データ4703は、レフトビューとライトビューとを表す一対の副映像プレーン・データに変換されて交互に送出される。
ここで、SPRM(27)4751とSPRM(28)4752との各値は一般に、カレントPIが切り換わる度に再生制御部4235によって更新される。その他に、プログラム実行部4234が、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)4751とSPRM(28)4752との各値を設定してもよい。
一方、再生制御部4235から1プレーン+ゼロ・オフセット・モードが指示されているとき、第1クロッピング処理部4731はオフセット制御を行うことなく、副映像プレーン・データ4703をそのまま、二回繰り返して送出する。
同様に、第2クロッピング処理部4732は、PGプレーンに対する参照オフセットID(PG_ref_offset_id)4310とオフセット補正値(PG_offset_adjustment)4320とを利用して、PGプレーン・データ4704に対してオフセット制御を行う。第3クロッピング処理部4733は、IGプレーンに対する参照オフセットID(IG_ref_offset_id)4311とオフセット補正値(IG_offset_adjustment)4321とを利用して、IGプレーン・データ4705に対してオフセット制御を行う。第4クロッピング処理部4734は、イメージ・プレーンに対する参照オフセットID(IM_ref_offset_id)4313とオフセット補正値(IM_offset_adjustment)4323とを利用して、イメージ・プレーン・データ4706に対してオフセット制御を行う。
[オフセット制御のフローチャート]
図48は、各クロッピング処理部4731−4734によるオフセット制御のフローチャートである。各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225からオフセット情報4707を受信したときにオフセット制御を開始する。以下、第2クロッピング処理部4732がPGプレーン・データ4704に対してオフセット制御を行う場合を、例に挙げる。他のクロッピング処理部4731、4733、4734はそれぞれ、副映像プレーン・データ4703、IGプレーン・データ4705、及びイメージ・プレーン・データ4706に対して同様な処理を行う。
ステップS4801では、第2クロッピング処理部4732はまず、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する。そのとき、第2クロッピング処理部4732は、SPRM(27)4751からPGプレーンに対する参照オフセットID(PG_ref_offset_id)4310を読み出す。第2クロッピング処理部4731は次に、その参照オフセットID4310の示すオフセット・シーケンスに属するオフセット情報を、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中から検索する。その後、処理はステップS4802へ進む。
ステップS4802では、第2クロッピング処理部4732は、SPRM(28)4752からPGプレーンに対するオフセット補正値(PG_offset_adjustment)4320を読み出して、ステップS4801で検索されたオフセット値に加える。その後、処理はステップS4803へ進む。
ステップS4803では、第2クロッピング処理部4732は、スイッチ4720によって選択されたビデオ・プレーン・データがレフトビューとライトビューとのいずれを表すかチェックする。ビデオ・プレーン・データがレフトビューを表すとき、処理はステップS4804へ進む。ビデオ・プレーン・データがライトビューを表すとき、処理はステップS4807へ進む。
ステップS4804では、第2クロッピング処理部4732は、検索されたオフセット方向の値をチェックする。以下では次の場合を想定する:オフセット方向の値が“0”であるときは3Dグラフィックス映像の奥行きが画面よりも手前であり、オフセット方向の値が“1”であるときは奥である。その場合、オフセット方向の値が“0”であるとき、処理はステップS4805へ進む。オフセット方向の値が“1”であるとき、処理はステップS4806へ進む。
ステップS4805では、第2クロッピング処理部4732はPGプレーン・データ4704に右向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ右に移動させる。その後、処理はステップS4810へ進む。
ステップS4806では、第2クロッピング処理部4732はPGプレーン・データ4704に左向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ左に移動させる。その後、処理はステップS4810へ進む。
ステップS4807では、第2クロッピング処理部4732は、検索されたオフセット方向の値をチェックする。オフセット方向の値が“0”であるとき、処理はステップS4808へ進む。オフセット方向の値が“1”であるとき、処理はステップS4809へ進む。
ステップS4808では、ステップS4805とは逆に、第2クロッピング処理部4732はPGプレーン・データ4704に左向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ左に移動させる。その後、処理はステップS4810へ進む。
ステップS4809では、ステップS4806とは逆に、第2クロッピング処理部4732はPGプレーン・データ4704に右向きのオフセットを与える。すなわち、PGプレーン・データ4704の含む各画素データの位置をオフセット値だけ右に移動させる。その後、処理はステップS4810へ進む。
ステップS4810では、第2クロッピング処理部4732は、処理後のPGプレーン・データ4704を第3クロッピング処理部4734へ送出する。その後、処理は終了する。
[オフセット制御によるプレーン・データの変化]
図49の(b)は、第2クロッピング処理部4732によるオフセット制御で加工される前のPGプレーン・データGPを示す模式図である。図49の(b)を参照するに、PGプレーン・データGPは、字幕“I Love you”を表す画素データ群、すなわち字幕データSTLを含む。その字幕データSTLはPGプレーン・データGPの左端から距離D0に位置する。
図49の(a)は、右向きのオフセットが与えられたPGプレーン・データRGPを示す模式図である。図49の(a)を参照するに、第2クロッピング処理部4732は、PGプレーン・データGPに右向きのオフセットを与える場合、PGプレーン・データGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ右に移動させる。具体的には、第2クロッピング処理部4732はまず、クロッピング処理によってPGプレーン・データGPの右端から、オフセット値に等しい幅OFSの帯状領域AR1に含まれる画素データを除去する。第2クロッピング処理部4732は次に、PGプレーン・データGPの左端に画素データを付加して、幅OFSの帯状領域AL1を構成する。ここで、その領域AL1に含まれる画素データは透明に設定される。こうして、右向きのオフセットが与えられたPGプレーン・データRGPが得られる。実際、字幕データSTLはそのPGプレーン・データRGPの左端から距離DRに位置し、その距離DRは、元の距離D0にオフセット値OFSを加えた値に等しい:DR=D0+OFS。
図49の(c)は、左向きのオフセットが与えられたPGプレーン・データLGPを示す模式図である。図49の(c)を参照するに、第2クロッピング処理部4732は、PGプレーン・データGPに左向きのオフセットを与える場合、PGプレーン・データGP内の各画素データの位置を元の位置から、オフセット値に等しい画素数OFSだけ左に移動させる。具体的には、第2クロッピング処理部4732はまず、クロッピング処理によってPGプレーン・データGPの左端から、オフセット値に等しい幅OFSの帯状領域AL2に含まれる画素データを除去する。第2クロッピング処理部4732は次に、PGプレーン・データGPの右端に画素データを付加して、幅OFSの帯状領域AR2を構成する。ここで、その領域AR2に含まれる画素データは透明に設定される。こうして、左向きのオフセットが与えられたPGプレーン・データLGPが得られる。実際、字幕データSTLはそのPGプレーン・データLGPの左端から距離DLに位置し、その距離DLは、元の距離D0からオフセット値OFSを除いた値に等しい:DL=D0−OFS。
図47を再び参照するに、第1加算部4741は、スイッチ4720からビデオ・プレーン・データを受信し、第1クロッピング処理部4731から副映像プレーン・データを受信する。第1加算部4741はそのとき、それらのビデオ・プレーン・データと副映像プレーン・データとを一組ずつ重畳して第2加算部4742に渡す。第2加算部4742は、第2クロッピング処理部4732からPGプレーン・データを受信し、第1加算部4741からのプレーン・データに重畳して第3加算部4743に渡す。第3加算部4743は、第3クロッピング処理部4733からIGプレーン・データを受信し、第2加算部4742からのプレーン・データに重畳して第4加算部4744に渡す。第4加算部4744は、第4クロッピング処理部4734からイメージ・プレーン・データを受信し、第3加算部4743からのプレーン・データに重畳して表示装置103へ送出する。ここで、各加算部4741−4744は、プレーン・データの重畳にα合成を利用する。こうして、左映像プレーン・データ4701と右映像プレーン・データ4702とのそれぞれに、図47に矢印4700で示されている順序で、副映像プレーン・データ4703、PGプレーン・データ4704、IGプレーン・データ4705、及びイメージ・プレーン・データ4706が重畳される。その結果、各プレーン・データの示す映像は表示装置103の画面上に、左映像プレーン又は右映像プレーン、副映像プレーン、IGプレーン、PGプレーン、及びイメージ・プレーンの順に重ねられたように表示される。
プレーン加算部4724は上記の処理の他に、四つの加算部4741−4744によって合成されたプレーン・データの出力形式を、表示装置103等、そのデータの出力先の装置による3D映像の表示方式に合わせて変換する。例えば出力先の装置が継時分離方式を利用するとき、プレーン加算部4724は合成後のプレーン・データを一つの映像フレーム又はフィールドとして送出する。一方、出力先の装置がレンチキュラーレンズを利用するとき、プレーン加算部4724は内蔵のバッファ・メモリを利用して、レフトビューとライトビューとのプレーン・データの対を一つの映像フレーム又はフィールドに合成して送出する。具体的には、プレーン加算部4724は、先に合成されたレフトビュー・プレーン・データを一旦、そのバッファ・メモリに格納して保持する。プレーン加算部4724は続いて、ライトビュー・プレーン・データを合成して、バッファ・メモリに保持されたレフトビュー・プレーン・データと更に合成する。その合成では、レフトビューとライトビューとの各プレーン・データが縦方向に細長い短冊形の小領域に分割され、各小領域が一つのフレーム又はフィールドの中に横方向に交互に並べられて一つのフレーム又はフィールドに再構成される。こうして、レフトビューとライトビューとのプレーン・データの対が一つの映像フレーム又はフィールドに合成される。プレーン加算部4724はその合成後の映像フレーム又はフィールドを出力先の装置へ送出する。
<実施形態1の効果>
本発明の実施形態1によるBD−ROMディスク101では、ディペンデントビュー・ビデオ・ストリームを構成する各ビデオ・シーケンスの先頭のVAUを格納したTSパケット列に対して、TS優先度が、図15、16に示されているように割り当てられている。特に、オフセット・メタデータを格納するTSパケット群と、圧縮ピクチャ・データを格納しているTSパケット群とでは、TS優先度の値が異なる。その場合、システム・ターゲット・デコーダ4225には、図45に示されている第1の手段と、図46に示されている第2の手段とのいずれによって、オフセット・メタデータの抽出機能が実現されていてもよい。第1の手段によるシステム・ターゲット・デコーダ4225は、TS優先度を利用して、オフセット・メタデータを格納するTSパケットを他のTSパケットから容易に選別できる。従って、主映像デコーダ4515とオフセット・メタデータ処理部4552とは、異なる態様で実装可能である。特に主映像デコーダ4515がハードウェアで構成されていても、それに関わりなく、オフセット・メタデータ処理部4552は、専用のハードウェアとして構成されても、汎用のハードウェアを利用してソフトウェアによって実現されてもよい。一方、第2の手段によるシステム・ターゲット・デコーダ4225では、主映像デコーダ4615がディペンデントビュー・ビデオ・ストリームの復号機能とオフセット・メタデータの抽出機能との両方を並列に実行可能である。従って、ディペンデントビュー・ビデオ・ストリームを含むTSパケットは全て、TS優先度にかかわらず、主映像デコーダ4615に渡されればよい。このように、本発明の実施形態1によるBD−ROMディスク101に記録されたディペンデントビュー・ビデオ・ストリームとオフセット・メタデータとのデータ構造は、システム・ターゲット・デコーダ4225が第1の手段と第2の手段とのいずれによる構成であっても共通に利用可能である。
<変形例>
(1−A)ビデオ・ストリーム
本発明の実施形態1によるL/Rモードでは、ベースビュー・ビデオ・ストリームがレフトビューを表し、ディペンデントビュー・ビデオ・ストリームがライトビューを表す。逆に、ベースビュー・ビデオ・ストリームがライトビューを表し、ディペンデントビュー・ビデオ・ストリームがレフトビューを表してもよい。
本発明の実施形態1によるBD−ROMディスク101では、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとは、異なるTSに多重化されている。その他に、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとが一つのTSに多重化されていてもよい。
(1−B)オフセット・メタデータ
(1−B−1)オフセット・メタデータは、ディペンデントビュー・ビデオ・ストリームに代えて、ベースビュー・ビデオ・ストリームに格納されてもよい。その場合でも、オフセット・メタデータは、好ましくは、各ビデオ・シーケンスの先頭に位置するVAU内の補足データに格納される。更に、3Dプレイリスト・ファイルは、ベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとのいずれがオフセット・メタデータを含むかを示すフラグを備えていてもよい。それにより、各ストリーム・データの作成の自由度を向上させることができる。また、そのフラグに対しては、「CC=5、6によってシームレスに接続されるPI間では変更を禁止する」と規定されてもよい。
(1−B−2)オフセット・メタデータは、各ビデオ・シーケンス(すなわち、各GOP)の先頭だけでなく、各VAU(すなわち、各フレーム又はフィールド)に格納されてもよい。その他に、コンテンツごとに、オフセット・メタデータの間隔が任意の値に、例えば3フレーム以上に設定されてもよい。その場合、好ましくは、各ビデオ・シーケンスの先頭のVAUには必ずオフセット・メタデータが格納され、かつ、その直前のオフセット・メタデータとの間隔が3フレーム以上であるように制限される。それにより、再生装置にオフセット情報の変更処理を飛び込み再生処理と確実に並行させることができる。
(1−B−3)オフセット・メタデータは、ビデオ・ストリームに格納されるのに代えて、独立なストリーム・データとしてメインTS又はサブTSに多重化されてもよい。その場合、オフセット・メタデータには固有のPIDが割り当てられる。システム・ターゲット・デコーダはそのPIDを利用して、オフセット・メタデータを他のストリーム・データから分離する。その他に、オフセット・メタデータは、まず専用のバッファ・メモリにプリロードされ、その後、再生処理を受けてもよい。その場合、オフセット・メタデータは一定のフレーム間隔で格納される。それにより、オフセット・メタデータについてはPTSが不要であるので、PESヘッダのデータ量が削減される。その結果、プリロード用のバッファの容量を節約することができる。
(1−B−4)オフセット・メタデータは、VAUの補足データに格納されるのに代えて、ビデオ・ウォータマークを利用してビデオ・ストリームに埋め込まれてもよい。更に、オフセット・メタデータは、オーディオ・ウォータマークを利用してオーディオ・ストリームに埋め込まれてもよい。
(1−B−5)本発明の実施形態1によるサブTSでは、図15に示されているとおり、第1グループ1521と第2グループ1522との各後端に位置するTSパケット1530、1550は一般にADフィールド1532、1552を含む。それにより、三つのグループ1521−1523が互いに分離されている。その他に、ディペンデントビュー・ビデオ・ストリーム内のVAU#11500において、パディング・データ1506のサイズが調整されることによって、三つのグループ1521−1523が互いに分離されてもよい。
(1−B−6)オフセット・メタデータを含むTSパケットがシステム・ターゲット・デコーダにより、TS優先度に代えてPIDに従って選別されてもよい。図50は、ディペンデントビュー・ビデオ・ストリーム内のVAU#15000を格納したPESパケット5010、及び、そのPESパケット5010から生成されるTSパケット列5020とを示す模式図である。VAU#15000はビデオ・シーケンスの先端に位置するので、オフセット・メタデータ5009のみから構成される補足データ5004を含む。PESパケット5010のPESペイロード5012はVAU#15000を格納し、そのPESヘッダ5011は、VAU#15000内の圧縮ピクチャ・データ5005に割り当てられたDTSとPTSとを含む。PESパケット5010は先頭から順にTSパケット列5020に格納されている。それにより、TSパケット列5020は先頭から順に三つのグループ5021、5022、5023に分けられる。第1グループ5021は、PESヘッダ5011、サブAU識別コード5001、サブシーケンス・ヘッダ5002、及びピクチャ・ヘッダ5003を含む。第2グループ5022は、オフセット・メタデータ5009のみから構成される補足データ5004を含む。第3グループ5013は、圧縮ピクチャ・データ5005、パディング・データ5006、シーケンス終端コード5007、及びストリーム終端コード5008を含む。図50には、オフセット・メタデータ5009のみから構成される補足データ5004が斜線部で示され、PESパケット5010内でその補足データよりも前に配置されるデータ5011、5001−5003がドット付きの領域で示されている。図15に示されているTSパケット列1520と同様に、第1グループ5021と第2グループ5022との各後端に位置するTSパケット5030、5050は一般に、ADフィールド5032、5052を含む。それにより、三つのグループ5021−5023が互いに分離されている。第1グループ5021と第3グループ5023とのそれぞれに属するTSパケット5030、5060では、いずれのTSヘッダ5031、5061もPID=0x1012を示す。ここで、第1グループ5021に属するTSパケット5030では、TSヘッダ5031がPID=0x1022を示してもよい。一方、第2グループ5022に属するTSパケット5040、5050ではTSヘッダ5041、5051はPID=0x1022を示す。16進数値「0x1022」は、他のエレメンタリ・ストリームに割り当てられた16進数値以外であれば別の値であってもよい。こうして、第2グループ5022に属するTSパケットは、特に第3グループ5023に属するTSパケットとはPIDが異なる。従って、システム・ターゲット・デコーダはPIDを利用して、第2グループに属するTSパケットを容易に選別できる。
システム・ターゲット・デコーダは、図50に示されているTSパケット列5020からオフセット・メタデータを以下のようにして抽出する。図51は、そのシステム・ターゲット・デコーダ5125内のビデオ・ストリームの処理系統を示す機能ブロック図である。図51に示されているシステム・ターゲット・デコーダ5125は、図45に示されているもの4225とは異なり、TS優先度フィルタ4551を含まない。その他の要素は同様である。図51では、図45に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図45に示されている要素についての説明を援用する。
第2PIDフィルタ4514は、PID=0x1012のTSパケットを主映像デコーダ4515内のTB24508へ転送し、PID=0x1022のTSパケットをオフセット・メタデータ処理部4552へ転送する。ここで、PID=0x1022のTSパケットはTB24508へパラレルに転送されてもよい。こうして、オフセット・メタデータを含むTSパケットはオフセット・メタデータ処理部4552へ転送される。
尚、オフセット・メタデータを含むTSパケットをサブTSから選別するには、TS優先度とPIDとのいずれとも異なる別のデータが利用されてもよい。TS優先度及びPIDと同様に、TSパケット別に異なる値を設定可能なデータであれば、上記の選別に利用可能であることは、上記の実施形態から当業者には自明であろう。
(1−B−7)本発明の実施形態1によるオフセット・メタデータ1110は、図11に示されているとおり、オフセット情報を各フレームに与える。その他に、ビデオ・ストリームがインターレース方式のフレーム(例えば60i)を表している場合、表示単位はフレームではなくフィールドである。その場合、オフセット・メタデータはオフセット情報を、各フィールドに与えるものであっても、各フレームを構成するフィールドの対に与えるものであってもよい。
(1−B−8)本発明の実施形態1によるオフセット・メタデータでは、各オフセット・シーケンスがフレームごとにオフセット値を規定する。その他に、各オフセット・シーケンスが表示時間ごとに、オフセット値の経時変化を表す関数、すなわち補完関数を規定してもよい。その場合、3D再生装置は表示時間ごとに補完関数を用いて、その表示時間に含まれる各フレームにおけるオフセット値を算定する。
図52の(a)は、補完関数を利用するオフセット・メタデータ5200のデータ構造を示す模式図である。図52の(a)を参照するに、オフセット・メタデータ5200は、オフセット・シーケンスID5210とオフセット・シーケンス5220との対応表を含む。オフセット・シーケンス5220は、起点オフセット値(offset_start)5221、終点オフセット値(offset_end)5222、オフセット関数ID(offset_func_id)5223、及びオフセット時間間隔(offset_duration)5224を含む。オフセット・メタデータ5200が、ディペンデントビュー・ビデオ・ストリーム内の一つのビデオ・シーケンスに格納されているとき、起点オフセット値5221は、そのビデオ・シーケンスの表す最初のフレームにおけるオフセット値を示す。終点オフセット値5222は、次のビデオ・シーケンスの表す最初のフレームにおけるオフセット値を示す。オフセット関数ID5223は補完関数の種類を規定する。その補完関数の種類は、そのビデオ・シーケンスの表示時間におけるオフセット値の変化の形状を表す。オフセット時間間隔5224はそのビデオ・シーケンスの表示時間の長さを表す。
図52の(b)は、補完関数を構成する要素の種類を表すグラフである。図52の(b)を参照するに、x軸は表示時間を表し、y軸はオフセット値を表す。ここで、オフセット値の符号は、3Dグラフィックス映像の奥行きが画面よりも奥か手前かで決まる。補完関数の構成要素としては、直線形状LNR、凸形状CVX、及び凹形状CCVの三種類が用意されている。直線形状LNRは線形関数y=ax+bで定義され、凸形状CVXと凹形状CCVとは、2次曲線y=ax2+bx+c、3次曲線y=ax3+bx2+cx+d、又はガンマ曲線y=a(x+b)1/r+cで定義される。ここで、定数a、b、c、dはパラメータであり、各要素の両端A、Bのxy座標、すなわち、表示時刻とその時点でのオフセット値との対で決まる。一方、定数rは別に規定され、各オフセット・シーケンスに格納される。補完関数の種類は、それらの要素LNR、CVX、CCVの単体、又は組み合わせとして定義される。
図52の(c)は、図52の(a)に示されているオフセット・シーケンスID=0、1、2の各オフセット・シーケンスから3D再生装置によって算定されたオフセット値を示すグラフである。そのグラフの横軸は、各オフセット・シーケンスを格納するビデオ・シーケンスの最初のフレームが表示された時刻から経過した時間を表す。各黒丸A0、B0、A1、B1、A2、B2の座標値は、起点オフセット値5221又は終点オフセット値5222のいずれかとオフセット時間間隔5224とで規定される。一対の黒丸A0+B0、A1+B1、A2+B2の間を接続する実線のグラフGR0、GR1、GR2はそれぞれ、補完関数を表す。各補完関数は、オフセット関数ID5223で規定された種類と、両端の黒丸A0+B0、A1+B1、A2+B2の座標値とから決定される。オフセット・シーケンスID=0のオフセット・シーケンスでは、オフセット関数ID5223が「直線」を示すので、両端の黒丸A0、B0の間が直線形状LNRのグラフ#0GR0で接続される。オフセット・シーケンスID=1のオフセット・シーケンスでは、オフセット関数ID5423が「曲線#1」を示すので、両端の黒丸A1、B1の間が単一の凸形状CVXのグラフ#1GR1で接続される。オフセット・シーケンスID=2のオフセット・シーケンスでは、オフセット関数ID5423が「曲線#2」を示すので、両端の黒丸A2、B2の間が、凸形状CVXと凹形状CCVとの組み合わせから成るグラフ#2GR2で接続される。白丸は、各フレームの表示時刻とそのフレームにおけるオフセット値との対を表す。そのオフセット値は、各グラフGR0、GR1、GR2の示す補完関数を利用して、3D再生装置によって算定される。これらのグラフGR0、GR1、GR2から容易に理解されるように、起点オフセット値5221、終点オフセット値5222、オフセット関数ID5223、及びオフセット時間間隔5224の組み合わせだけでも、多様なオフセット値の変化、すなわち3Dグラフィックス映像の奥行きの変化を表現することができる。従って、3Dグラフィックス映像の表現力を損なうことなく、オフセット・メタデータ全体のサイズを削減することができる。
(1−C)3D映像のAVストリーム・ファイルでは、図18に示されているPMT1810に3D映像の再生方式に関するデータが追加されてもよい。その場合、PMT1810は、PMTヘッダ1801、ディスクリプタ1802、及びストリーム情報1803に加えて3Dディスクリプタを含む。3Dディスクリプタは、3D映像の再生方式に関してAVストリーム・ファイル全体に共通する情報であり、特に3D方式情報を含む。3D方式情報は、L/Rモード又はデプス・モード等、3D映像のAVストリーム・ファイルの再生方式を示す。各ストリーム情報1803は、ストリーム・タイプ1831、PID1832、及びストリーム・ディスクリプタ1833に加えて3Dストリーム・ディスクリプタを含む。3Dストリーム・ディスクリプタは、AVストリーム・ファイルに含まれるエレメンタリ・ストリーム別に3D映像の再生方式に関する情報を示す。特にビデオ・ストリームの3Dストリーム・ディスクリプタは3D表示タイプを含む。3D表示タイプは、そのビデオ・ストリームの示す映像をL/Rモードで表示するとき、その映像がレフトビューとライトビューとのいずれであるのかを示す。3D表示タイプはまた、そのビデオ・ストリームの示す映像をデプス・モードで表示するとき、その映像が2D映像とデプスマップとのいずれであるのかを示す。このように、PMTが3D映像の再生方式に関する情報を含むとき、その映像の再生系統はAVストリーム・ファイルだけからでも、その情報を取得できる。従って、そのようなデータ構造は、例えば放送波で3D映像コンテンツを頒布するときに有効である。
(1−D)クリップ情報ファイル
ディペンデントビュー・クリップ情報ファイルは、図22に示されているようなストリーム属性情報2220のうち、ディペンデントビュー・ビデオ・ストリームのPID=0x1012、0x1013に割り当てられているビデオ・ストリーム属性情報に所定のフラグを含んでもよい。そのフラグがオンであるときは、ディペンデントビュー・ビデオ・ストリームがベースビュー・ビデオ・ストリームを参照するものであることを示す。そのビデオ・ストリーム属性情報が更に、参照先のベースビュー・ビデオ・ストリームに関する情報を含んでもよい。その情報は、3D映像コンテンツが規定のフォーマットどおりに作成されているか否かを所定のツールで検証するときに、ビデオ・ストリーム間の対応関係を確認するのに利用することができる。
本発明の実施形態1では、クリップ情報ファイルに含まれるエクステント起点2242、2420からベースビュー・エクステントとディペンデントビュー・エクステントとの各サイズを算出することができる。その他に、各エクステントのサイズの一覧表が、例えばクリップ情報ファイルにメタデータの一部として格納されてもよい。
(1−E)プレイリスト・ファイル
(1−E−1)図31に示されている3Dプレイリスト・ファイル222はサブパスを一つ含む。その他に、3Dプレイリスト・ファイルがサブパスを複数含んでもよい。例えば、一方のサブパスのサブパス・タイプが「3D・L/R」であり、他方のサブパスのサブパス・タイプが「3D・デプス」であってもよい。その3Dプレイリスト・ファイルに従って3D映像が再生される際にそれら二種類のサブパスが切り換えられることにより、再生装置102をL/Rモードとデプス・モードとの間で容易に切り換えることができる。特にその切り換え処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実行可能である。
複数のディペンデントビュー・ビデオ・ストリームがそれぞれ、共通のベースビュー・ビデオ・ストリームとの組み合わせで同じ3D映像を表現してもよい。但し、それらのディペンデントビュー・ビデオ・ストリームの間では、同じシーンのレフトビューとライトビューとの間の視差が異なる。それらのディペンデントビュー・ビデオ・ストリームは、一つのサブTSに多重化されていても、異なるサブTSに分離されていてもよい。その場合、3Dプレイリスト・ファイルはサブパスを複数含む。各サブパスは異なるディペンデントビュー・ビデオ・ストリームを参照する。その3Dプレイリスト・ファイルに従って3D映像が再生される際にサブパスが切り換えられることにより、再生装置102に3D映像の奥行き感を容易に変化させることができる。特にその処理は、3Dプレイリスト・ファイルそのものを切り換える処理よりも速やかに実行可能である。
図53は、サブパスを複数含む3Dプレイリスト・ファイル5300のデータ構造、及び、それによって参照されるファイル2D5310と二つのファイルDEP5321、5322とのデータ構造を示す模式図である。ファイル2D5310はPID=0x1011のベースビュー・ビデオ・ストリームを含む。ファイルDEP#15321はPID=0x1012のディペンデントビュー・ビデオ・ストリーム#1を含む。ファイルDEP#25322はPID=0x1013のディペンデントビュー・ビデオ・ストリーム#2を含む。ディペンデントビュー・ビデオ・ストリーム#1、#2はそれぞれ、ファイル2D5310内のベースビュー・ビデオ・ストリームとの組み合わせで同じ3D映像を表現する。しかし、ディペンデントビュー・ビデオ・ストリーム#1、#2の間では、同じシーンのレフトビューとライトビューとの間の視差が異なる。更に、オフセット・シーケンスIDの等しいオフセット・シーケンスが、同じフレーム番号に対して異なるオフセット値を規定する。
一方、3Dプレイリスト・ファイル5300はメインパス5330と二つのサブパス5331、5332とを含む。メインパス5330のPI#1はファイル2D5310、特にベースビュー・ビデオ・ストリームを参照する。各サブパス5331、5332のSUB_PI#1はメインパス5330のPI#1と再生時間が共通である。サブパス#15331のSUB_PI#1はファイルDEP#15321、特にディペンデントビュー・ビデオ・ストリーム#1を参照する。サブパス#25332のSUB_PI#1はファイルDEP#25322、特にディペンデントビュー・ビデオ・ストリーム#2を参照する。メインパス5330のPI#2及び各サブパス5331、5332のSUB_PI#2も同様である。
その3Dプレイリスト・ファイル5300を用いた3Dプレイリスト再生処理では、再生装置102は予め、ユーザ又はアプリケーション・プログラムに再生対象のサブパスを選択させる。その他に、再生装置102は再生対象のサブパスを、表示装置103の画面サイズ又は視聴者の瞳孔間距離を利用して選択してもよい。そのようなサブパスの選択処理によって、レフトビューとライトビューとのビデオ・プレーン間の視差を容易に変化させることができる。更に、ディペンデントビュー・ビデオ・ストリームの切り換えに伴ってオフセット情報が変化するので、ファイル2D5310の含むPGストリーム又はIGストリームから再生されるグラフィックス・プレーンのオフセットが変化する。それらの結果、3D映像の奥行き感を容易に変化させることができる。
(1−E−2)図31に示されている3Dプレイリスト・ファイルでは、ベースビュー・ビデオ・ストリームはメインパス3101内のSTNテーブル3205に登録され、ディペンデントビュー・ビデオ・ストリームは拡張データ3103内のSTNテーブルSS3130に登録されている。その他に、ディペンデントビュー・ビデオ・ストリームはSTNテーブルに登録されていてもよい。その場合、STNテーブルは、登録されたビデオ・ストリームがベースビューとディペンデントビューとのいずれを表すものであるかを示すフラグを含んでもよい。
(1−E−3)本発明の実施形態1によるBD−ROMディスク101には、2Dプレイリスト・ファイルと3Dプレイリスト・ファイルとが別々に記録されている。その他に、図31に示されているサブパス3102が、拡張データ3103と同様に、3D再生モードの再生装置102によってのみ参照される領域に記録されてもよい。その場合、サブパス3102が2D再生モードの再生装置102を誤動作させる危険性はないので、3Dプレイリスト・ファイルをそのまま、2Dプレイリスト・ファイルとして利用することができる。その結果、BD−ROMディスクのオーサリングが簡単化される。
(1−E−4)PGストリームとIGストリームとのそれぞれに対する参照オフセットIDとオフセット補正値とは、STNテーブル3205に代えて、STNテーブルSS3130に格納されてもよい。その他に、それらはクリップ情報ファイル内のストリーム属性情報2220に格納されてもよい。更に、参照オフセットIDは、PGストリーム内の各データ・エントリに格納されていても、IGストリーム内の各ページに格納されていてもよい。
(1−E−5)3Dプレイリスト・ファイルに参照オフセットIDを設定する場合、PI間のシームレス接続に関して、以下の制約条件が規定されてもよい。例えば図53に示されているメインパス5330のPI#2にCC=5が設定されている場合、PI#1とPI#2とのそれぞれの規定する再生区間の映像はシームレスに接続されなければならない。その場合、PI#1とPI#2とでは、参照オフセットIDの値の変更と、ディペンデントビュー・ビデオ・ストリームに含まれるオフセット・シーケンスの総数、すなわちエントリ数の変更とがいずれも禁止される。更に、オフセット補正値の変更とそのエントリ数の変更とがいずれも禁止されてもよい。この制約条件により、再生装置102はカレントPIをPI#1からPI#2に変更するときに、SPRM(27)の更新処理をスキップすることができる。従って、シームレス接続に関する処理の負担が軽減されるので、その処理の信頼性を更に向上させることができる。その結果、3D映像の画質を更に向上させることができる。
(1−E−6)STNテーブルでは、一つのストリーム・データに対してオフセット補正値が複数設定されてもよい。図54は、そのようなSTNテーブル5400を示す模式図である。図54を参照するに、そのSTNテーブル5400では、一つのSTN5401にPGストリーム1のストリーム・エントリ5402とストリーム属性情報5403とが対応付けられている。そのストリーム属性情報5403は、一つの参照オフセットID5410と共に、三種類のオフセット補正値#1−#35411−5413を含む。それらのオフセット補正値は、PGストリーム1から再生されるグラフィックス・プレーンに与えられるべきオフセットを、表示装置の画面サイズに依って変化させるのに利用される。
ここで、オフセット補正値の種類と画面サイズとの間の対応関係が予め規定されている場合を想定する。具体的には、オフセット補正値#15411、オフセット補正値#25412、オフセット補正値#35413はそれぞれ、画面サイズが、0−33インチ、34−66インチ、及び67インチ以上の各範囲内に属するときに利用される。各オフセット補正値5411−5413は次の条件を満たすように設定される:グラフィックス・プレーンのオフセットによって生じるレフトビューとライトビューとのグラフィックス映像間の視差の最大値が、一般的な視聴者の瞳孔間距離以下(特に視聴者が子供である場合は5cm以下)である。その条件が満たされる限り、その視差は視聴者の瞳孔間距離を超えないので、その視聴者に映像酔いや眼精疲労が生じる危険性を低減させることができる。
再生装置102の再生制御部4235は、カレントPIの切り換えに伴って、一つのストリーム・データに割り当てられたオフセット補正値の総数が変更される度に、実際に利用すべきオフセット補正値を表示装置103の画面サイズに合わせて選択する。具体的には、再生制御部4235はまず、必要であればHDMI認証を行って表示装置103の画面サイズを取得する。再生制御部4235は次に、表示装置103の画面サイズが、0−33インチ、34−66インチ、及び67インチ以上のいずれの範囲内に属するかに合わせて、オフセット補正値#1−#35411−5413のいずれかを選択し、その種類を表す情報をプレーヤ変数としてプレーヤ変数記憶部4236に格納する。それにより、オフセット補正値の選択処理が再び実行されるまで、再生制御部4235は各STNテーブルから、そのプレーヤ変数の示す種類のオフセット補正値を選択し、その値でSPRM(28)の値を更新する。
(1−F)図35に示されているインデックス・ファイル211は、タイトル全体で共通する3D存在フラグ3520と2D/3Dお好みフラグ3530とを含む。その他に、インデックス・ファイルが、タイトル別に異なる3D存在フラグ又は2D/3Dお好みフラグを設定していてもよい。
(1−G)SPRM(27)、SPRM(28)
(1−G−1)プログラム実行部4234は、ムービーオブジェクト又はBD−Jオブジェクトに従ってSPRM(27)とSPRM(28)との各値を設定してもよい。すなわち、再生装置102はアプリケーション・プログラムに参照オフセットIDとオフセット補正値とを設定させてもよい。更に、そのようなアプリケーション・プログラムは、インデックス・テーブル3510の項目「ファーストプレイ」3501に対応付けられているオブジェクトに制限されてもよい。
(1−G−2)再生制御部4235は、グラフィックス・プレーンに与えられるべきオフセットを視聴者に調整させてもよい。具体的には、例えば視聴者がリモコン105又は再生装置102のフロントパネルを操作してオフセット補正値の設定を要求したとき、まず、ユーザイベント処理部4233がその要求を受け付けて再生制御部4235に通知する。次に、再生制御部4235はその要求に応じて、オフセットを調整するための操作画面を表示装置103に表示させる。ここで、その操作画面の表示には再生装置102のOSDが利用される。再生制御部4235は更に、その操作画面を利用して、視聴者に調整対象のグラフィックス・プレーンとオフセット値の増減とを、リモコン105等の操作で選択させる。再生制御部4235は続いて、SPRM(28)を更新して、選択されたグラフィックス・プレーンに対応するオフセット補正値に所定値を加え、又は減じる。好ましくは、再生制御部4235は、その調整処理の間、再生部4202にグラフィックス・プレーンの再生処理を継続させる。ここで、再生部4202は、操作画面とグラフィックス映像とのいずれか手前に表示される方を半透明にし、又は、操作画面をグラフィックス映像よりも手前に表示する。それにより、操作画面が表示されてもグラフィックス映像は見えるので、画面の輝度及び色合いの調整と同様に、視聴者にオフセット値の増減の効果を即座に確認させることができる。
(1−G−3)図47に示されている各クロッピング処理部4731−4734は、SPRM(27)の示す参照オフセットIDで特定されるオフセット・シーケンスをオフセット制御に利用する。逆に、各クロッピング処理部4731−4734は、所定のSPRMの示すオフセット・シーケンスIDで特定されるオフセット・シーケンスをオフセット制御には利用しないようにしてもよい。すなわち、そのSPRMは、オフセット制御においてマスクされるべきオフセット・シーケンスID(PG_ref_offset_id_mask、IG_ref_offset_id_mask、SV_ref_offset_id_mask、IM_ref_offset_id_mask)を示す。その場合、各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707のうち、マスクされたオフセット・シーケンスID以外に対応するものの中から、最大のオフセット値を含むものを選択してもよい。それにより、副映像プレーン、PGプレーン、IGプレーン、及びイメージ・プレーンのそれぞれの表すグラフィックス映像の奥行きを容易に揃えることができる。その結果、各ストリーム・データの作成の自由度を向上させることができる。
(1−H)再生装置102がOSDとして独自のメニューを表示する際には、そのメニューの2D映像を表すグラフィックス・プレーン、すなわちOSDプレーンに対してオフセット制御を行ってもよい。その場合、再生装置102はオフセット情報として、そのメニューの表示時刻にシステム・ターゲット・デコーダ4225によって送出されたオフセット情報の中から、オフセット方向が画面よりも手前であって、かつオフセット値が最大であるものを選択してもよい。それにより、そのメニューを、字幕等、3D映像コンテンツから再生される3Dグラフィックス映像のいずれよりも手前に表示することができる。
その他に、再生装置102が、OSDプレーンに対するオフセット情報を予め備えていてもよい。そのオフセット情報には特定のオフセット・シーケンスID、例えばoffset_id=0が割り当てられる。更に、オフセット・シーケンスID=0のオフセット情報に対しては、次の条件(1)、(2)が規定されてもよい:(1)オフセット方向は、画面よりも手前を示す。(2)オフセット値は、オフセット・シーケンスID≠0のオフセット情報のうち、フレーム番号が等しく、かつオフセット方向が画面よりも手前であるものの中で最大のオフセット値に等しい。この規定により、再生装置102は、システム・ターゲット・デコーダ4225によって送出されたオフセット情報の中からはオフセット情報を選択しなくてもよいので、OSDプレーンに対するオフセット制御を簡単化できる。また、各クロッピング処理部4731−4734は、システム・ターゲット・デコーダ4225から受け取ったオフセット情報4707の中に、SPRM(27)の示す参照オフセットIDを検出できなかった場合に、オフセット・シーケンスID=0のオフセット情報を代用してもよい。
(1−I)3D再生装置では、SPRM(13)にパレンタル・レベルが設定されているのに加えて、SPRM(30)に3Dパレンタル・レベルが設定されていてもよい。3Dパレンタル・レベルは所定の制限年齢を示し、BD−ROMディスク101に記録された3D映像タイトルの視聴に対するパレンタル制御に利用される。SPRM(13)の値と同様に、SPRM(30)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は各3D映像タイトルに対するパレンタル制御を例えば次のように行う。3D再生装置はまず、そのタイトルを2D再生モードで視聴することが許可された視聴者の年齢をBD−ROMディスク101から読み出して、SPRM(13)の値と比較する。その年齢がSPRM(13)の値未満であれば、3D再生装置はそのタイトルの再生を停止する。その年齢がSPRM(13)の値以上であれば、3D再生装置は続いて、そのタイトルを3D再生モードで視聴することが許可された視聴者の年齢をBD−ROMディスク101から読み出して、SPRM(30)の値と比較する。その年齢がSPRM(30)の値以上であれば、3D再生装置はそのタイトルを3D再生モードで再生する。その年齢がSPRM(30)の値未満でSPRM(13)の値以上であれば、3D再生装置はそのタイトルを2D再生モードで再生する。こうして、年齢による瞳孔間距離の相違を考慮して、「一定の年齢未満の子供には3D映像を2D映像としてしか見せない」等のパレンタル制御を実現することができる。このパレンタル制御は好ましくは、図36に示されている再生対象のプレイリスト・ファイルを選択する処理において「表示装置が3D映像に対応している」と判定されたときに、すなわち、ステップS3605において「Yes」と判定されたときに行われる。尚、SPRM(30)には、制限年齢に代えて、3D再生モードの許可/禁止を示す値が設定され、3D再生装置はその値に従って3D再生モードの有効/無効を判断してもよい。
(1−J)3D再生装置では、「2D再生モードと3D再生モードとのいずれが優先されるべきか」を示す値がSPRM(31)に設定されていてもよい。SPRM(31)の値は、3D再生装置のユーザによって3D再生装置のOSD等を利用して設定される。3D再生装置は、図36に示されている再生対象のプレイリスト・ファイルを選択する処理におけるステップS3603で、2D/3Dお好みフラグと共にSPRM(31)を参照する。それらがいずれも2D再生モードを示しているときは、3D再生装置は2D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とがいずれも3D再生モードを示しているときは、3D再生装置は、再生モードの選択画面を表示することなく、ステップS3605、すなわちHDMI認証を行う。その結果、表示装置が3D映像の再生に対応可能であれば、3D再生装置は3D再生モードを選択する。2D/3Dお好みフラグとSPRM(31)とが異なる再生モードを示しているときは、3D再生装置はステップS3604を実行し、すなわち再生モードの選択画面を表示してユーザに再生モードを選択させる。その他に、アプリケーション・プログラムに再生モードを選択させてもよい。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、その値の示す再生モードが、SPRM(31)の示す再生モード、すなわち、ユーザが予め設定した再生モードと一致しないときにのみ、ユーザに改めて再生モードを選択させるようにすることができる。
BD−Jオブジェクト等のアプリケーション・プログラムは、SPRM(31)を参照して再生モードを選択してもよい。更に、図36に示されているステップS3604においてユーザに再生モードを選択させる際、選択画面に表示されるメニューの初期状態がSPRM(31)の値に依って決定されてもよい。例えば、SPRM(31)の値が2D再生モードの優先を示す場合には、2D再生モードの選択ボタンにカーソルを合わせた状態でメニューが表示され、3D再生モードの優先を示す場合には、3D再生モードの選択ボタンにカーソルを合わせた状態でメニューが表示される。その他に、3D再生装置は、父、母、子供等、複数のユーザのアカウントを管理する機能を持つとき、現時点でログインしているユーザのアカウントに合わせてSPRM(31)の値を設定してもよい。
SPRM(31)の値は、「2D再生モードと3D再生モードとのいずれが優先されるべきか」に加えて、「2D再生モードと3D再生モードとのいずれが常に設定されるべきか」を示してもよい。「2D再生モードが常に設定されるべき」ことをSPRM(31)の値が示す場合、3D再生装置は、2D/3Dお好みフラグの値にかかわらず、常に2D再生モードを選択する。その場合、SPRM(25)の値は2D再生モードを示すように設定される。「3D再生モードが常に設定されるべき」ことをSPRM(31)の値が示す場合、3D再生装置は、2D/3Dお好みフラグの値にかかわらず、再生モードの選択画面を表示することなくHDMI認証を行う。その場合、SPRM(25)の値は3D再生モード(L/Rモード又はデプス・モード)を示すように設定される。こうして、3D映像コンテンツに2D/3Dお好みフラグが設定されていても、ユーザの予め設定した再生モードが常に優先されるようにすることができる。
(1−K)再生装置102は、ユーザに瞳孔間距離を予備のSPRM、例えばSPRM(32)に登録させてもよい。その場合、レフトビューとライトビューとのグラフィックス映像間での視差の最大値が、SPRM(32)に登録された値を超えないように、再生装置102はオフセット補正値を調整することができる。具体的には、再生装置102は、システム・ターゲット・デコーダから出力される各オフセット値について次の演算を行えばよい。再生装置102はまず、SPRM(32)の値と表示装置103の画面の幅(水平方向の長さ)との比を求め、更にその比と表示装置103の水平画素数との積を求める。この積は、オフセット制御によってグラフィックス・プレーンに与えてもよいオフセットの上限の2倍を表す。再生装置102は次に、各オフセット値の2倍をその積と比較する。いずれかのオフセット値の2倍がその積以上であるとき、再生装置102は、そのオフセット値を含むオフセット・シーケンスのIDを特定し、そのIDの示すグラフィックス・プレーンに対するオフセット補正値を減らす。そのときの減少量は、オフセット値の2倍と上記の積との差の半分以上に設定されればよい。こうして、レフトビューとライトビューとのグラフィックス映像間での視差の最大値が視聴者の瞳孔間距離を超えないので、その視聴者に映像酔いや眼精疲労が生じる危険性を低減させることができる。
(1−L)出力オフセット補正
(1−L−1)継時分離方式ではレフトビューとライトビューとの間の視差が水平方向の画素数で表現されるので、その視差の実際の大きさは表示装置の画面サイズ、すなわち画素の大きさに依存する。一方、3D映像の奥行き感はその視差の実際の大きさで決まる。従って、いずれの画面サイズでも3D映像の奥行き感が、その3D映像の迫力を損なうことも、視聴者の目を過剰に疲れさせることもないようにするには、レフトビューとライトビューとの間の視差を画面サイズに合わせて調節する必要がある。その調節の一つの方法として、3D再生装置は、プレーン加算部によって合成された最終的なフレーム・データに対して更にオフセットを与える。そのときのオフセットの与え方は、1プレーン+オフセット・モードによってグラフィックス・プレーンにオフセットを与える方法と同様である。このように、最終的なフレーム・データに対して更に加えられるオフセット制御を「出力オフセット補正」という。
図55の(a)−(c)は、32インチ、50インチ、及び100インチの各画面SCA、SCB、SCCに表示されたレフトビューとライトビューとの間の視差PRA、PRB、PRCを示す模式図である。各図に実線で描かれている像LA1、LA2、LB、LC1、LC2はレフトビューを表し、破線で描かれている像RA1、RA2、RB、RC1、RC2はライトビューを表す。ここで、「映像コンテンツでは、その3D映像が50インチの画面に表示されたときにその奥行き感が最適であるように、レフトビューとライトビューとの間の視差が設定されている」という場合を想定する。図55の(b)を参照するに、その映像コンテンツの表す3D映像が50インチの画面SCBに表示されたとき、レフトビューLBとライトビューRBとの間の視差は最適値PRBに等しい。
図55の(a)に細い線で描かれているレフトビューLA1とライトビューRA1との間の視差DAは、図55の(b)に描かれているレフトビューLBとライトビューRBとの間の視差PRBと水平方向の画素数が等しい。一方、32インチの画面SCAの画素は50インチの画面SCBの画素よりも小さい。従って、細い線で描かれているレフトビューLA1とライトビューRA1との間の視差DAから生じる3D映像の奥行き感は一般に、最適なものよりも弱い。その場合、出力オフセット補正によって、レフトビューとライトビューとの間の視差を所定の補正値CRAの2倍、増大させる。図55の(a)に太い線で描かれているレフトビューLA2とライトビューRA2との間の視差PRAは、出力オフセット補正後のものを示す。このように、レフトビューとライトビューとの間の視差が増大するとき、3D映像の奥行き感が強調されるので、その3D映像の迫力が損なわれにくい。
図55の(c)に細い線で描かれているレフトビューLC1とライトビューRC1との間の視差DCは、図55の(b)に描かれているレフトビューLBとライトビューRBとの間の視差PRBと水平方向の画素数が等しい。一方、100インチの画面SCCの画素は50インチの画面SCBの画素よりも大きい。従って、細い線で描かれているレフトビューLC1とライトビューRC1との間の視差DCから生じる3D映像の奥行き感は一般に、最適なものよりも強い。その場合、出力オフセット補正によって、レフトビューとライトビューとの間の視差を所定の補正値CRCの2倍、減少させる。図55の(c)に太い線で描かれているレフトビューLC2とライトビューRC2との間の視差PRCは、出力オフセット補正後のものを示す。このようにレフトビューとライトビューとの間の視差が減少するとき、3D映像の奥行き感が抑えられるので、視聴者の目が疲れにくい。
図55の(a)、(c)に示されているような補正値CRA、CRCを「出力オフセット補正値」という。映像コンテンツは、インデックス・ファイル、プレイリスト・ファイル、又はクリップ情報ファイルの中に、画面サイズと出力オフセット補正値との間の対応表を格納している。図56の(a)は、その対応表を示す模式図である。図56の(a)を参照するに、出力オフセット補正値は、10インチ間隔で表された画面サイズの範囲別に設定されている。各出力オフセット補正値の大きさは水平方向の画素数を表し、符号はレフトビューとライトビューとの間の視差の増減を表す。尚、画面サイズの範囲は10インチ間隔以外であってもよい。その対応表は規格又はユーザによって設定される。更に、複数種類の対応表が3D再生装置に予め記録され、映像コンテンツが、その再生で利用されるべき種類をその識別子で規定してもよい。
(1−L−2)3D再生装置は出力オフセット補正値の選択に、上記の対応表に代えて、所定の関数を利用してもよい。図56の(b)は、その関数を表すグラフである。そのグラフの横軸は画面サイズをインチで表し、縦軸は出力オフセット補正値を符号付の画素数で表す。3D再生装置は、そのグラフの示す関数を利用して、表示装置の画面サイズから出力オフセット補正値を算定する。そのグラフが示すとおり、画面サイズが50インチよりも小さいほど出力オフセット補正値は大きな正値に決定され、50インチよりも大きいほど大きな負値に決定される。尚、画面サイズが32インチ以下では出力オフセット補正値は実質的に一定の正値に維持され、103インチ以上では実質的に一定の負値に維持される。
(1−L−3)映像コンテンツが、そのオーサリング時に想定された画面サイズの最適値(assumed_TV_size_when_authoring)を含み、3D再生装置がその最適値に基づいて出力オフセット補正値を決定してもよい。例えば表示装置の画面サイズがその最適値を超えているとき、3D再生装置はまず、3D映像のフレーム・サイズをその最適値まで縮小する。3D再生装置は次に、各フレームの周囲に黒枠を合成して、そのフレームと黒枠との全体のサイズを表示装置の画面サイズに一致させる。3D再生装置は更に出力オフセット補正値を調節して、黒枠内に表示されるレフトビューとライトビューとの間の視差の大きさを、最適値に等しいサイズの画面全体にレフトビューとライトビューとが表示される場合の視差の大きさと一致させる。それにより、3D映像の奥行き感を、オーサリング時に想定されたものに維持することができる。
(1−L−4)図57は、出力オフセット補正に必要な3D再生装置の要素を示す機能ブロック図である。図57に示されている3D再生装置5700は、図42に示されているもの4200とは出力オフセット補正値適用部5701を含む点で異なる。その他の要素は、同様である。図57では、図42に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図42に示されている要素についての説明を援用する。
プレーヤ変数記憶部4236はSPRM(35)に出力オフセット補正値を格納する。その出力オフセット補正値は、HDMI通信部4237がHDMI認証によって表示装置103から取得した画面サイズに基づき、再生制御部4235が、図56の(a)又は(b)に示されている対応表又は関数を利用して決定する。その他に、BD−Jオブジェクト等のアプリケーション・プログラムがSPRM(35)の値を自動的に設定し、又はGUIを利用してユーザに設定させてもよい。
出力オフセット補正値適用部5701は、SPRM(35)の示す出力オフセット補正値を利用して、プレーン加算部4226によって合成されたレフトビューとライトビューとの各フレーム・データにオフセットを与える。出力オフセット補正値適用部5701によるフレーム・データに対する出力オフセット補正は、図49に示されている第2クロッピング処理部4732によるPGプレーン・データGPに対するオフセット制御と同様である。
(1−L−5)SPRM(35)には、出力オフセット補正値に代えて表示装置103の画面サイズが格納されてもよい。その場合、出力オフセット補正値適用部5701は、図56の(a)に示されている対応表から、SPRM(35)の示す画面サイズに対応付けられた出力オフセット補正値を検索する。
(1−L−6)プレーヤ変数記憶部4236は更に、SPRM(36)に出力オフセット補正値アルファを格納してもよい。出力オフセット補正値アルファは正の数値を表す。出力オフセット補正値適用部5701は、SPRM(35)の示す出力オフセット補正値と、SPRM(36)の示す出力オフセット補正値アルファとの積を、実際の出力オフセット補正値として利用する。それにより、出力オフセット補正による3D映像の奥行きの調節を、画面サイズだけでなく、視聴者の年齢にも依存させることができる。例えば、大人よりも瞳孔間距離の短い幼児が視聴者に含まれる場合、小さい画面サイズに対する出力オフセット補正では出力オフセット補正値アルファが1よりも小さく設定され、大きい画面サイズに対する出力オフセット補正では1よりも大きく設定される。それにより、画面サイズにかかわらず、3D映像の奥行き感が弱められる。
プログラム実行部4234又は再生制御部4235はGUI又はOSDを利用して、ユーザに出力オフセット補正値アルファを設定させてもよい。その場合、設定可能な出力オフセット補正値アルファの大きさは、例えば「3D映像の奥行き感が強い」、「普通である」、「弱い」という三段階で表現されてもよい。その他に、出力オフセット補正値アルファが、映像コンテンツの含むビデオ・ストリーム内の補足データ、PMT内のディスクリプタ、又はプレイリスト・ファイル内のPIに格納されてもよい。それにより、ビデオ・ストリームの表すシーンごとに、出力オフセット補正値アルファを変化させることができる。特に奥行き感の強いシーンでは出力オフセット補正値が減少するように、出力オフセット補正値アルファを設定することができる。
(1−L−7)出力オフセット補正値を、画面サイズに代えて、視聴者と画面との間の距離に依って変化させてもよい。更に、出力オフセット補正値アルファをその距離に依存させてもよい。その場合、例えば図1に示されているシャッター眼鏡104に距離センサを搭載して、表示装置103の画面131からの距離を計測させる。その距離は随時、シャッター眼鏡104から表示装置103へ無線で伝達され、更に表示装置103からHDMIケーブル122を通して再生装置102へ伝達される。再生装置102はその距離を利用して出力オフセット補正値又は出力オフセット補正値アルファを選択する。
(1−L−8)表示装置103がプロジェクタである場合、映像はレンズによって拡大されてスクリーン上に投影される。従って、スクリーン上の表示領域のサイズはプロジェクタとスクリーンとの間の距離に依って変化する。その場合、プロジェクタは表示領域のサイズを、例えば次の二つの方法のいずれかで決定する。第1の方法では、まず、プロジェクタとスクリーンとの間の距離が計測され、次に、その距離とプロジェクタの光学系の特性、特に投影光の拡がり角との間の関係から表示領域のサイズが算定される。ここで、その距離の計測には、プロジェクタに搭載された距離センサが利用される。例えばその距離センサはまず、スクリーンに対して赤外等のレーザ光を照射してそのスクリーンからの反射光を検出すると共に、レーザ光の照射から反射光の検出までの経過時間を計測する。距離センサは次に、その経過時間からプロジェクタとスクリーンとの間の距離を算定する。第2の方法では、プロジェクタはまず、スクリーンに線分等の標準図形を投影すると共に、OSD等で視聴者に、その標準図形のスクリーン上でのサイズを計測して入力するように促す。プロジェクタは次に、視聴者によって入力された標準図形のサイズから表示領域のサイズを算定する。
(1−M)映像コンテンツには、例えばカラオケで歌詞の表示に利用されるもののように、静止画像に字幕等のグラフィックス映像が重ねて表示され、かつ、そのグラフィックス映像だけが頻繁に更新されるものがある。そのようなコンテンツが3D映像コンテンツとして形成されている場合、オフセット・メタデータが配置されたVAUは更にシーケンス終端コードを含む。再生装置102は、そのようなVAUを復号したときは、そのオフセット・メタデータから得られたオフセット情報を保持し、新たなオフセット・メタデータを含むVAUが復号されるまで変更しない。
図58の(a)は、静止画像のみを表すディペンデントビュー・ビデオ・ストリーム5800のデータ構造を示す模式図である。ディペンデントビュー・ビデオ・ストリーム5800の各VAUは一つの静止画像を表す。その場合、各VAUの後端にはシーケンス終端コード5803、5804が配置されている。一方、各VAUの補足データ5801、5802にはオフセット・メタデータ5811、5812が配置されている。VAU#1のオフセット・メタデータ5811はオフセット・シーケンスID=0のオフセット・シーケンス[0]を含む。そのオフセット・シーケンス[0]はフレーム#1のオフセット情報のみを含む。同様に、VAU#2のオフセット・メタデータ5812では、オフセット・シーケンス[0]はフレーム#1のオフセット情報のみを含む。
ここで、3Dプレイリスト・ファイルが次の事項(1)、(2)を規定している場合を想定する:(1)ディペンデントビュー・ビデオ・ストリーム5300の各VAUの表す静止画像を10秒間隔で切り換える。(2)各静止画像に、グラフィックス・ストリームの表すグラフィックス映像を重ねて表示する。図58の(b)は、そのような3Dプレイリスト・ファイルを従って再生される、レフトビュー・ビデオ・プレーンの列5821、ライトビュー・ビデオ・プレーンの列5822、及びグラフィックス・プレーンの列5830を示す模式図である。図58の(b)では、静止画像が切り換えられた時点の各ビデオ・プレーンが斜線で示されている。レフトビュー・ビデオ・プレーンの列5821では、最初のビデオ・プレーン5841の示す静止画像が最初の10秒の期間5861に繰り返し再生され、次のビデオ・プレーン5851の示す静止画像が次の10秒の期間5871に繰り返し再生される。ライトビュー・ビデオ・プレーンの列5822では、最初のビデオ・プレーン5842の示す静止画像が最初の10秒の期間5862に繰り返し再生され、次のビデオ・プレーン5852の示す静止画像が次の10秒の期間5872に繰り返し再生される。
再生装置102は、ディペンデントビュー・ビデオ・ストリーム5800のVAU#1を復号すると共に、そのオフセット・メタデータ5811からフレーム#1のオフセット情報を読み出す。再生装置102は更に、そのシーケンス終端コード5803を検出する。そのとき、再生装置102はフレーム#1のオフセット情報を保持する。それにより、最初の10秒の期間5861では、グラフィックス・プレーンの列5830に与えられるオフセットが、保持されたオフセット情報で決まるものに一定に維持される。すなわち、グラフィックス映像の奥行きが一定に維持される。
VAU#1の復号から10秒間が経過したとき、再生装置102はVAU#2を復号すると共に、そのオフセット・メタデータ5812からフレーム#1の新たなオフセット情報を読み出す。再生装置102は更に、そのシーケンス終端コード5804を検出する。そのとき、再生装置102はフレーム#1のオフセット情報を保持する。それにより、次の10秒の期間5871では、グラフィックス・プレーンの列5830に与えられるオフセットが、新たに保持されたオフセット情報で決まるものに変更された後、一定に維持される。すなわち、グラフィックス映像が新たな奥行きに一定に維持される。
このように、VAUがシーケンス終端コードを含むときは、再生装置102に既存のオフセット情報をそのまま保持させる。それにより、ビデオ・ストリームが静止画像のみから構成されている場合でも、再生装置102に、グラフィックス・プレーンに対するオフセット制御を確実に継続させることができる。
(1−N)レフトビューとライトビューとの間のずれ補償
レフトビューとライトビューとの間に「ずれ」が生じる場合がある。本発明の実施形態1による再生装置102、又は表示装置103は、以下に述べる手段を用いてそのずれを補償する。それにより、そのずれが視聴者に違和感を与える危険性を回避することができる。
再生装置102は、上記のずれの補償処理に、図42に示されている機能部を利用する。一方、表示装置103がその補償処理を行ってもよい。図59は、その補償処理を行う表示装置103の機能ブロック図である。図59を参照するに、表示装置103は、受信部5901、ストリーム処理部5902、信号処理部5903、及び出力部5904を備えている。受信部5901は、再生装置102の他、BD−ROMディスク、半導体メモリ装置、外部ネットワーク、及び放送波等の各種媒体から多重化ストリーム・データを受信してストリーム処理部5902に渡す。ストリーム処理部5902は、その多重化ストリーム・データから、映像、音声、グラフィックス等、各種のデータを分離して信号処理部5903に渡す。信号処理部5903は、それらのデータを個別に復号して出力部5904に渡す。出力部5904は、復号された各データを所定の形式に変換して出力する。出力部5904の出力は映像/音声そのものである。その他に、HDMI方式等の映像信号/音声信号であってもよい。図59に示されている要素5901、5902、5903、及び5904のうち、ディスク・ドライブ、表示パネル、及びスピーカ等の機械的な部分以外は、一以上の集積回路に実装されている。
(1−N−1)レフトビューとライトビューとの間の水平方向のずれ
図60の(a)は、3D映像を撮影する一対のビデオカメラCML、CMRの水平画角HAL、HARを模式的に示す平面図である。図60の(a)を参照するに、一対のビデオカメラCML、CMRは水平方向に並べられている。左側のビデオカメラCMLはレフトビューを撮影し、右側のビデオカメラCMRはライトビューを撮影する。それらのビデオカメラCML、CMRの水平画角HAL、HARは、大きさは等しいが、位置は異なる。従って、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALと、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARとが生じる。両方の水平画角HAL、HARの共通部分に位置する被写体OBCはいずれのビデオカメラCML、CMRにも映る。しかし、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALに位置する被写体OBLは左側のビデオカメラCMLにしか映らず、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARに位置する被写体OBRは右側のビデオカメラCMRにしか映らない。
図60の(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVを示す模式図であり、図60の(c)は、右側のビデオカメラCMRで撮影されたライトビューRVを示す模式図である。図60の(b)、(c)を参照するに、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALはレフトビューLVに、その左端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ALはライトビューRVには含まれない。一方、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARはライトビューRVに、その右端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ARはレフトビューLVには含まれない。従って、図60の(a)に示されている三つの被写体OBL、OBC、OBRのうち、右側の被写体OBRはレフトビューLVには含まれず、左側の被写体OBLはライトビューRVには含まれない。その結果、左側の被写体OBLは視聴者の左目にしか映らず、右側の被写体OBRは右目にしか映らない。その場合、レフトビューLVとライトビューRVとは視聴者に違和感を与える危険性がある。
BD−ROMディスク101では、レフトビューLVとライトビューRVとの各フレームに含まれる上記の帯状領域AL、ARの幅WDHを示す情報がディペンデントビュー・ビデオ・ストリームに格納されている。その格納場所は、各ビデオ・シーケンスの先頭に位置するVAUの補足データである。但し、その補足データは、図11に示されているオフセット・メタデータ1110を含む補正データとは別である。一方、再生装置102では、システム・ターゲット・デコーダ4225がディペンデントビュー・ビデオ・ストリームから、上記の帯状領域AL、ARの幅WDHを示す情報を読み出す。システム・ターゲット・デコーダ4225は更にその情報をプレーン加算部4226内の視差映像生成部4710又は表示装置103内の出力部5904に伝える。表示装置103内の受信部5901がBD−ROMディスク等の情報媒体から3D映像コンテンツを直に読み取る場合、上記の情報は表示装置103内の信号処理部5903によってディペンデントビュー・ビデオ・ストリームから読み出されて出力部5904に伝えられる。視差映像生成部4710又は出力部5904(以下、視差映像生成部4710等と略す。)は、その情報を利用して左映像プレーンと右映像プレーンとを加工し、上記の帯状領域AL、ARを背景色又は黒色で一様に塗りつぶす。すなわち、各帯状領域AL、ARに含まれる画素データを一様な背景色又は黒色のデータに書き換える。
図60の(d)、(e)はそれぞれ、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。図60の(d)を参照するに、左側のビデオカメラCMLの水平画角HALにのみ含まれる領域ALは、幅WDHの黒色帯BLで隠されている。一方、図60の(e)を参照するに、右側のビデオカメラCMRの水平画角HARにのみ含まれる領域ARは、幅WDHの黒色帯BRで隠されている。それらの結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
視差映像生成部4710等は更に、図49に示されているクロッピング処理と同様にして、左映像プレーンと右映像プレーンとのそれぞれから、上記の帯状領域AL、ARのうち、外側の半分の領域に含まれる画素データを除去してもよい。その場合、視差映像生成部4710等は、各帯状領域AL、ARの残り半分の領域を背景色又は黒色で一様に塗りつぶすと共に、その反対側の端部に、各帯状領域AL、ARの半分の幅の背景色又は黒色の帯状領域を付加する。それにより、視聴者のいずれの目にも、レフトビューLVとライトビューRVとで共通する領域の示す映像が画面の中央に映り、背景色又は黒色の帯が画面の両端に映る。その結果、視聴者に違和感を与える危険性を回避することができる。
その他に、視差映像生成部4710等は、左映像プレーンと右映像プレーンとを次のように処理してもよい。視差映像生成部4710等はまず、図49に示されているクロッピング処理と同様にして、各映像プレーンから上記の帯状領域AL、AR内の画素データを除去する。視差映像生成部4710等は次に、スケーリング処理によって、残りの領域内の画素データから各映像プレーンを再構成する。それにより、残りの領域の示す映像がフレーム全体に拡大表示される。その結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
(1−N−2)レフトビューとライトビューとの間の垂直方向のずれ
図61の(a)は、3D映像を撮影する一対のビデオカメラCML、CMRの垂直画角VAL、VARを模式的に示す平面図である。図61の(a)を参照するに、それらのビデオカメラCML、CMRの垂直画角VAL、VARは、大きさは等しいが、位置は異なる。従って、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATと、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABとが生じる。両方の垂直画角VAL、VARの共通部分に位置する被写体OBJはいずれのビデオカメラCML、CMRにも映る。しかし、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATに位置する被写体は左側のビデオカメラCMLにしか映らず、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABに位置する被写体は右側のビデオカメラCMRにしか映らない。
図61の(b)は、左側のビデオカメラCMLで撮影されたレフトビューLVと、右側のビデオカメラCMRで撮影されたライトビューRVとを示す模式図である。図61の(b)を参照するに、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATはレフトビューLVに、その上端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ATはライトビューRVには含まれない。一方、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABはライトビューRVに、その下端に沿って延びている帯状領域として含まれる。しかし、その帯状領域ABはレフトビューLVには含まれない。尚、帯状領域AT、ABの位置はレフトビューLVとライトビューRVとで逆の場合もある。このように、レフトビューLVとライトビューRVとで上記の帯状領域AT、ABの有無が異なる場合、図61の(a)に示されている被写体OBJの垂直方向の位置はレフトビューLVとライトビューRVとで、帯状領域AT、ABの高さHGTだけずれる。その結果、視聴者の左目に映る被写体OBJと、右目に映る被写体OBJとでは垂直方向の位置が異なるので、その視聴者に違和感を与える危険性がある。
BD−ROMディスク101では、レフトビューLVとライトビューRVとの各フレームに含まれる上記の帯状領域AT、ABの高さHGTを示す情報がディペンデントビュー・ビデオ・ストリームに格納されている。その格納場所は、各ビデオ・シーケンスの先頭に位置するVAUの補足データである。但し、その補足データは、図11に示されているオフセット・メタデータ1110を含む補正データとは別である。一方、再生装置102ではシステム・ターゲット・デコーダ4225がディペンデントビュー・ビデオ・ストリームから、上記の帯状領域AT、ABの高さHGTを示す情報を読み出す。システム・ターゲット・デコーダ4225は更にその情報をプレーン加算部4226内の視差映像生成部4710又は表示装置103内の出力部5904に伝える。表示装置103内の受信部5901がBD−ROMディスク等の情報媒体から3D映像コンテンツを直に読み取る場合、上記の情報は表示装置103内の信号処理部5903によってディペンデントビュー・ビデオ・ストリームから読み出されて出力部5904に伝えられる。
視差映像生成部4710又は出力部5904(以下、視差映像生成部4710等と略す。)は、上記の帯状領域AT、ABの高さHGTを用いて、左映像プレーンと右映像プレーンとを次の手順で加工する。視差映像生成部4710等はまず、左映像プレーン内の画素データの位置を下向きに高さHGTの半分HGT/2だけ移動させ、右映像プレーン内の画素データの位置を上向きに高さHGTの半分HGT/2だけ移動させる。それにより、各映像プレーンのうち、上記の帯状領域AT、AB以外の領域が表す映像と画面とで垂直方向の中心が一致する。一方、左映像プレーンでは、上端から帯状領域ATの上半分が除去され、下端から高さHDT/2の帯状領域に空き領域が生じる。右映像プレーンでは、下端から帯状領域ABの下半分が除去され、上端から高さHDT/2の帯状領域に空き領域が生じる。視差映像生成部4710等は次に、各帯状領域を背景色又は黒色で一様に塗りつぶす。すなわち、各帯状領域に含まれる画素データを一様な背景色又は黒色のデータに書き換える。
図61の(c)は、加工後の左映像プレーンの表すレフトビューLVと、加工後の右映像プレーンの表すライトビューRVとを示す模式図である。図61の(c)を参照するに、レフトビューLVとライトビューRVとでは垂直方向の中心位置が一致している。従って、図61の(a)に示されている被写体OBJの垂直方向の位置はレフトビューLVとライトビューRVとで等しい。一方、レフトビューLVの上端では、左側のビデオカメラCMLの垂直画角VALにのみ含まれる領域ATが高さHGT/2の黒色帯BTで隠され、ライトビューRVの下端では、右側のビデオカメラCMRの垂直画角VARにのみ含まれる領域ABが高さHGT/2の黒色帯BBで隠されている。更に、レフトビューLVの下端には高さHGT/2の黒色帯BBが付加され、ライトビューRVの上端には高さHGT/2の黒色帯BTが付加されている。それらの結果、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らず、かつ、各目に映る被写体の垂直方向の位置が一致する。こうして、その視聴者に違和感を与える危険性を回避することができる。
その他に、視差映像生成部4710等は左映像プレーンと右映像プレーンとを次のように処理してもよい。プレーン加算部4126はまず、図49に示されているクロッピング処理と同様にして、各映像プレーンから上記の帯状領域AT、AB内の画素データを除去する。視差映像生成部4710は次に、スケーリング処理によって残りの領域内の画素データから各映像プレーンを再構成する。それにより、残りの領域の示す映像がフレーム全体に拡大表示されるので、視聴者の各目には、レフトビューLVとライトビューRVとで共通する領域しか映らない。しかも、各目に映る被写体の垂直方向の位置が一致する。こうして、その視聴者に違和感を与える危険性を回避することができる。
(1−N−3)レフトビューとライトビューとの間のグラフィックス映像のずれ
1プレーン+オフセット・モードの再生装置が一つのグラフィックス・プレーンに大きなオフセットを与えて一対のグラフィックス・プレーンを生成する場合、その対の一方の左端部又は右端部に、他方の右端部又は左端部には含まれない領域が生じ得る。
図62の(a)は、グラフィックス・プレーンGPLの表すグラフィックス映像の一例を示す模式図である。図62の(a)を参照するに、そのグラフィックス・プレーンGPLは三種類のグラフィック部品OB1、OB2、OB3を表す。特に左側のグラフィック部品OB1の左端はグラフィックス・プレーンGPLの左端から距離D1に位置し、右側のグラフィック部品OB3の右端はグラフィックス・プレーンGPLの右端から距離D3に位置する。図62の(b)、(c)はそれぞれ、グラフィックス・プレーンGPLに右向きと左向きとのオフセットを与える処理を示す模式図である。図62の(b)を参照するに、図49に示されているクロッピング処理と同様に、グラフィックス・プレーンGPLの右端からは、オフセット値に等しい幅OFSの帯状領域AR1が除去され、左端には幅OFSの透明な帯状領域AL1が付加されている。それにより、各グラフィック部品OB1−OB3の水平方向の位置が元の位置から、オフセット値に等しい距離OFSだけ右に移動している。一方、図62の(b)を参照するに、グラフィックス・プレーンGPLの左端からは幅OFSの帯状領域AL2が除去され、右端には幅OFSの透明な帯状領域AR2が付加されている。それにより、各グラフィック部品OB1−OB3の水平方向の位置が元の位置から距離OFSだけ左に移動している。
図62の(b)、(c)を更に参照するに、オフセット値に等しい距離OFSは、左側のグラフィック部品OB1の左端とグラフィックス・プレーンGPLの左端との間の距離D1よりも大きく、右側のグラフィック部品OB3の右端とグラフィックス・プレーンGPLの右端との間の距離D3よりも大きい。従って、右向きのオフセットが与えられたグラフィックス・プレーンGP1では右側のグラフィック部品OB3の右端の一部MP3が欠け、左向きのオフセットが与えられたグラフィックス・プレーンGP2では左側のグラフィック部品OB1の左端の一部MP1が欠けている。しかし、左側のグラフィック部品OB1の欠落部分MP1は、右向きのオフセットが与えられたグラフィックス・プレーンGP1には含まれ、右側のグラフィック部品OB3の欠落部分MP3は、左向きのオフセットが与えられたグラフィックス・プレーンGP2には含まれている。その結果、それらの欠落部分MP1、MP3は視聴者の片目にしか映らないので、視聴者に違和感を与える危険性がある。
再生装置102では、プレーン加算部4226内の各クロッピング処理部4731−4734がオフセット情報4707を用いてグラフィックス・プレーンGPLに対するオフセット制御を行う。そのとき、各クロッピング処理部4731−4734は更に、グラフィックス・プレーンGPLの左端又は右端から帯状領域を切り取る。すなわち、その帯状領域内の画素データを透明色のデータに書き換える。各帯状領域はグラフィックス・プレーンGPLの左端又は右端に沿って延びており、その幅がオフセット値に等しい。その他に、表示装置103内の出力部5904が、システム・ターゲット・デコーダ4225又は表示装置103内の信号処理部5903からオフセット情報を受け取って、そのオフセット情報を用いてグラフィックス・プレーンGPLの左端又は右端から帯状領域を切り取ってもよい。図62の(b)、(c)には、切り取り対象の帯状領域AS1、AS2が示されている。右向きのオフセットが与えられたグラフィックス・プレーンGP1では、切り取り対象の帯状領域AS1が左側のグラフィック部品OB1の欠落部分MP1を含む。左向きのオフセットが与えられたグラフィックス・プレーンGP2では、切り取り対象の帯状領域AS2が右側のグラフィック部品OB3の欠落部分MP3を含む。
図62の(d)、(e)はそれぞれ、右向きと左向きとのオフセットが与えられたグラフィックス・プレーンGP1、GP2の表すグラフィックス映像を示す模式図である。図62の(d)、(e)を参照するに、それらのグラフィックス・プレーンGP1、GP2では、三種類のグラフィック部品OB1−OB3の形状が一致している。その結果、視聴者の各目には共通のグラフィックス映像しか映らない。こうして、その視聴者に違和感を与える危険性を回避することができる。
その他に、BD−ROMディスク101上のPGストリーム又はIGストリームから再生されるグラフィックス・プレーン、及び、再生装置102によって生成されるグラフィックス・プレーンに対し、グラフィック部品の配置に関する次の条件が規定されてもよい。図63は、その条件を示す模式図である。図63を参照するに、グラフィックス・プレーンGPLには、左上角を原点(0,0)とするxy直交座標が設定されている。x座標とy座標とはそれぞれ、グラフィックス・プレーンGPLの水平座標と垂直座標である。ここで、グラフィックス・プレーンGPLの右下角の座標を(TWD,THG)とする。そのxy座標を用いて、上記の条件は次のように規定される:各フレームにおいて、グラフィック部品OB1、OB2、OB3は、次の四点(OFS,0)、(TWD−OFS,0)、(TWD−OFS,THG)、(OFS,THG)を頂点とする矩形領域内に配置されなければならない。すなわち、グラフィックス・プレーンGPLの左端と右端とのそれぞれに沿って延びている幅OFSの帯状領域AL、ARではグラフィック部品の配置が禁止される。図62の(b)、(c)から明らかなとおり、それらの帯状領域AL、ARはオフセット制御によって切り取られる。従って、それらの帯状領域AL、ARへのグラフィック部品の配置が禁止されていれば、グラフィックス・プレーンGPLにオフセットが与えられた後でもグラフィック部品の形状に変化はない。その結果、視聴者の各目には共通のグラフィックス映像しか映らないので、その視聴者に違和感を与える危険性を回避することができる。
(1−O)レターボックス表示
映像コンテンツのオーサリング時に想定されている画面サイズは、デジタル・テレビ放送で採用されているフルHDと、映画で採用されているシネマスコープ(登録商標)とで異なる。フルHDのアスペクト比は16:9(≒1.78:1)であるのに対し、シネマスコープのアスペクト比は2.35:1である。従って、BD−ROMディスクに記録された家庭用の映画コンテンツでは、各映像フレームの上下に水平方向の黒帯が付加されている。それにより、映像フレームと黒帯との全体のアスペクト比が16:9に調節されている。このような表示方式を「レターボックス表示」という。
図64の(a1)、(a2)は、いずれも同じレターボックス表示の画面を示す模式図である。図64の(a1)、(a2)を参照するに、画面全体の解像度は1920ピクセル×1080ピクセルであり、アスペクト比は16:9である。一方、映像の表示領域DRGの解像度は1920ピクセル×818ピクセルであり、アスペクト比は約2.35:1である。表示領域DRGの上下には高さ131ピクセルの黒帯BT、BBが水平方向に延びている。
このようなレターボックス表示が3D映像の表示に採用される場合、字幕を表示領域DRGではなく、上下いずれかの黒帯BT、BBに表示することが望ましい。それにより、3D映像と字幕とが分離されるので、いずれの奥行きが手前であっても、両方を視聴者に確実に見せることができる。しかし、黒帯BT、BBの高さ131ピクセルは、字幕を表示するのには必ずしも十分ではない。その場合、再生装置102ではプレーン加算部4226が主映像プレーンに垂直方向のオフセットを与える。このオフセット制御を「ビデオ・シフト」という。ビデオ・シフトには、「キープ(Keep)」、「アップ(Up)」、「ダウン(Down)」の三種類がある。キープ・モードでは、主映像プレーンには垂直方向のオフセットが与えられない。従って、図64の(a1)、(a2)に示されている映像フレームでは、いずれの黒帯BT、BBの高さも131ピクセルに維持される。アップ・モードでは、主映像プレーンに上向きのオフセットが与えられる。図64の(b)は、主映像プレーンに131ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。図64の(b)を参照するに、上側の黒帯BTは除去され、下側の黒帯BBの高さが2倍に増えている。ダウン・モードでは、主映像プレーンに下向きのオフセットが与えられる。図64の(c)は、主映像プレーンに131ピクセルのオフセットを下向きに与えたときの画面を示す模式図である。図64の(c)を参照するに、下側の黒帯BBは除去され、上側の黒帯BTの高さが2倍に増えている。このように、プレーン加算部4226は、ビデオ・シフトをアップとダウンとのいずれかのモードで実行することにより、上下いずれかの黒帯BT、BBの高さを字幕の表示に十分な値まで増やす。
垂直方向のオフセットの大きさは131ピクセル以外であってもよい。図64の(d)は、主映像プレーンに51ピクセルのオフセットを上向きに与えたときの画面を示す模式図である。図64の(d)を参照するに、上側の黒帯BTの高さは131−51=80ピクセルまで減り、下側の黒帯BBの高さは131+51=182ピクセルまで増えている。以下では、オフセットの大きさが131ピクセルである場合を想定する。
図65は、ビデオ・シフトに必要な再生装置102内の構成を示す機能ブロック図である。図65に示されている構成は、図47に示されている構成とは、ビデオ・シフト部6501、SPRM(32)6502、及びSPRM(33)6503を含む点で異なる。それ以外は同様である。従って、図65では、図47に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図47に示されている要素についての説明を援用する。
SPRM(32)とSPRM(33)とのそれぞれの示す値は、プログラム実行部4234により、BD−Jオブジェクト等のアプリケーション・プログラム、又はGUIを通したユーザの指示に従って設定される。SPRM(33)の示す値は更に、再生制御部4235により、プレイリスト・ファイルに従って更新される。
図66の(a)は、SPRM(32)とSPRM(33)との各データ構造を示す表である。図66の(a)を参照するに、SPRM(32)は、ビデオ・シフト・モード(video_shift_mode)を表すパラメータを格納する。そのパラメータは、三種類のビデオ・シフト・モードに対応して、「0」、「1」、「2」の三つの値を取り得る。SPRM(33)は、ビデオ上移動時シフト値とビデオ下移動時シフト値との対を4種類格納する。それらのシフト値は、PGプレーンに対する対(PG_shift_value_for_Up、PG_shift_value_for_Down)、IGプレーンに対する対(IG_shift_value_for_Up、IG_shift_value_for_Down)、副映像プレーンに対する対(SV_shift_value_for_Up、SV_shift_value_for_Down)、及びイメージ・プレーンに対する対(IM_shift_value_for_Up、IM_shift_value_for_Down)から成る。ビデオ上移動時シフト値とビデオ下移動時シフト値とはそれぞれ、上向きと下向きとの各オフセットが主映像プレーンに与えられたときにPGプレーン等に与えられるべき垂直方向のオフセットの大きさを表す。
図66の(b)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルを示す模式図である。図66の(b)を参照するに、STNテーブル6600では、一つのSTN6601にPGストリーム1のストリーム・エントリ6602とストリーム属性情報6603とが対応付けられている。そのストリーム属性情報6603は、ビデオ上移動時シフト値(PG_y_shift_value_for_Up)6610とビデオ下移動時シフト値(PG_y_shift_value_for_Down)6611とを含む。それにより、それらのシフト値はPIごとに設定可能である。IGストリーム等、他のストリーム・データについても同様に、各シフト値は設定可能である。再生制御部4235は、各PI内のSTNテーブルからシフト値を読み取って、その値で、SPRM(33)の示す値を更新する。
ビデオ・シフト部6501は、スイッチ4720から左映像プレーン・データ4701と右映像プレーン・データ4702とを交互に受信する。ビデオ・シフト部6501は、その受信の度にプレーヤ変数記憶部4236内のSPRM(32)を参照して、その値の示すビデオ・シフト・モードで主映像プレーンに垂直方向のオフセットを与える。その後、ビデオ・シフト部6501は主映像プレーンを第2加算部4742へ送出する。
図67の(a)−(c)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードのビデオ・シフト部6501によって処理された主映像プレーンVPA、VPB、VPCを示す模式図である。SPRM(32)がキープ・モードを示すとき、ビデオ・シフト部6501は主映像プレーンに垂直方向のオフセットを与えない。それにより、図67の(b)に示されているように、主映像プレーンVPB内の上下の黒帯BT、BBの高さは131ピクセルに維持される。SPRM(32)がアップ・モードを示すとき、ビデオ・シフト部6501は、図49に示されているクロッピング処理と同様にして、まず、元の主映像プレーンVPBの上端部から高さ131ピクセルの黒帯BTを切り取る。ビデオ・シフト部6501は次に、図67の(a)に示されているように、主映像プレーンVPAの下端部に高さ131ピクセルの黒帯ABを付加する。それにより、主映像プレーンのうち、切り取られた黒帯BT以外に含まれる画素データの位置が131ピクセル、上向きに移動する。一方、下端部の黒帯BB+ABの高さが131×2=262ピクセルに増える。SPRM(32)がダウン・モードを示すとき、ビデオ・シフト部6501は、元の主映像プレーンVPBの下端部から高さ131ピクセルの黒帯BBを切り取り、図67の(c)に示されているように、主映像プレーンVPCの上端部に高さ131ピクセルの黒帯ATを付加する。それにより、主映像プレーンのうち、切り取られた黒帯以外に含まれる画素データの位置が131ピクセル、下向きに移動する。一方、上端部の黒帯BT+ATの高さが131×2=262ピクセルに増える。
図65を再び参照するに、第2クロッピング処理部4732は、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する度にSPRM(32)6502とSPRM(33)6503とを参照し、それらの値に従ってPGプレーン4704に垂直方向のオフセットを与える。更に、1プレーン+オフセット・モードであれば、第2クロッピング処理部4732はPGプレーン4704に水平方向のオフセットを与える。その後、第2クロッピング処理部4732はPGプレーン4704を第2加算部4742へ送出する。
図67の(d)−(f)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2クロッピング処理部4732によって処理されたPGプレーンPGD、PGE、PGFを示す模式図である。SPRM(32)6502がキープ・モードを示すとき、第2クロッピング処理部4732はPGプレーンPGEに垂直方向のオフセットを与えない。それにより、図67の(e)に示されているように、PGプレーンPGE内の字幕SUBは元の位置に維持される。SPRM(32)がアップ・モードを示すとき、第2クロッピング処理部4732はまず、SPRM(33)6503からPGプレーンに対するビデオ上移動時シフト値(PG_shift_value_for_Up)aを読み出す。第2クロッピング処理部4732は次に、図49に示されているクロッピング処理と同様にして、大きさがビデオ上移動時シフト値aに等しい下向きのオフセットをPGプレーンPGEに与える。具体的には、第2クロッピング処理部4732はまず、元のPGプレーンPGEの下端部から高さaピクセルの帯状領域SBEを切り取る。第2クロッピング処理部4732は次に、図67の(d)に示されているように、PGプレーンPGDの上端部に高さaピクセルの帯状領域STDを付加する。それにより、字幕SUBの位置がaピクセル下向きに移動する。SPRM(32)がダウン・モードを示すとき、第2クロッピング処理部4732はまず、SPRM(33)6503からPGプレーンに対するビデオ下移動時シフト値(PG_shift_value_for_Down)bを読み出す。第2クロッピング処理部4732は次に、図49に示されているクロッピング処理と同様にして、大きさがビデオ下移動時シフト値bに等しい上向きのオフセットをPGプレーンPGEに与える。具体的には、第2クロッピング処理部4732はまず、元のPGプレーンPGEの上端部から高さbピクセルの帯状領域STEを切り取る。第2クロッピング処理部4732は次に、図67の(f)に示されているように、PGプレーンPGFの下端部に高さbピクセルの帯状領域SBFを付加する。それにより、字幕SUBの位置がbピクセル上向きに移動する。
第2加算部4742は、第2クロッピング処理部4732からPGプレーン・データを受信し、ビデオ・シフト部6501からの主映像プレーン・データに重畳して第3加算部4743に渡す。図67の(g)−(i)はそれぞれ、アップ・モード、キープ・モード、及びダウン・モードの第2加算部4742によって合成されたプレーン・データPLG、PLH、PLIを示す模式図である。キープ・モードでは、図67の(h)に示されているように、字幕SUBは主映像MVWと重なって表示される。アップ・モードでは、図67の(g)に示されているように、字幕SUBが、主映像MVWよりも下に位置する黒帯BBGの中に表示される。これは、ビデオ上移動時シフト値aを調節することによって実現可能である。ダウン・モードでは、図67の(i)に示されているように、字幕SUBは、主映像MVWよりも上に位置する黒帯BTIの中に表示される。これは、ビデオ下移動時シフト値bを調節することによって実現可能である。
レターボックス表示では黒帯に、PGプレーンの表す字幕の他、IGプレーンの表す対話画面、副映像プレーンの表す映像、又はイメージ・プレーンの表すポップアップ・メニューが表示されてもよい。それらの場合にも黒帯の高さを、上記と同様な方法で適切に調節することができる。
(1−O−1)図65に示されている構成では、第2クロッピング処理部4732はSPRM(33)6503からビデオ上/下移動時シフト値を読み出す。その他に、第2クロッピング処理部4732が直接、プレイリスト・ファイルからビデオ上/下移動時シフト値を読み出してもよい。
(1−O−2)図67の(a)、(c)に示されている黒帯BT、BBの高さは131ピクセル以外であってもよく、更に可変であってもよい。その値は、アプリケーション・プログラム又はユーザに従ってプレーヤ変数記憶部4236内のいずれかのSPRMに設定されてもよい。
(1−O−3)図67の(d)、(f)では、第2クロッピング処理部4732が、PGプレーンPGEに含まれるほぼ全ての画素データの位置を上下方向に移動させる。その他に、PGデコーダがSPRM(33)6503を参照して、PCSの示すオブジェクト表示位置を変更してもよい。例えば、PCSがオブジェクト表示位置=(x,y)を示し、かつ、SPRM(33)6503がビデオ上移動時シフト値=“a”を示すとき、PGデコーダはオブジェクト表示位置を座標(x,y+a)に変更する。それにより、図67の(d)に示されている字幕SUBと同じように、PGストリームの表すグラフィックス・オブジェクトは、PCSの示すオブジェクト表示位置よりも下に表示される。グラフィックス・オブジェクトの表示位置を上向きに移動させる場合も同様である。尚、PCSはビデオ上/下移動時シフト値を格納していてもよい。
(1−O−4)アップ・モード及びダウン・モードでは、図67の(d)、(f)に示されているように、PGプレーンの上下が切り取られる。そのとき、グラフィックス・オブジェクトの上下が切り取られないように、グラフィックス・オブジェクトの配置可能な領域が所定の範囲に予め制限されていてもよい。具体的な例として、PGプレーンの高さ×幅がHGT×WDHであり、ビデオ上移動時シフト値が“a”であり、かつビデオ下移動時シフト値が“b”である場合を想定する。図67の(e)を参照するに、その場合においてグラフィックス・オブジェクトの配置は、次のような水平方向の帯状領域内に制限される:左上角PULのxy座標=(0,b)、右下角PDRのxy座標=(WDH,HGT−a)。より正確には、PGストリームは次の条件を満たす:(A)PCSの示すオブジェクト表示位置は上記の帯状領域内である;(B)仮にグラフィックス・オブジェクトがオブジェクト表示位置に表示されたとき、その表示範囲は上記の帯状領域の範囲を超えない;(C)WDSの示すウィンドウ位置は上記の帯状領域内である;(D)仮にウィンドウがウィンドウ位置に設定されたとき、その範囲は上記の帯状領域の範囲を超えない。こうして、グラフィックス・オブジェクトの上下が切り取られることを防ぐことができる。
(1−O−5)図68の(a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの別例を示す模式図である。図68の(a)を参照するに、STNテーブル6800では、一つのSTN6801にPGストリーム1のストリーム・エントリ6802とストリーム属性情報6803とが対応付けられている。そのストリーム属性情報6803は、ビデオ上/下移動時シフト値6810、6811に加え、ビデオ・シフト・モード6812を含む。その場合、再生装置102はビデオ・シフトに次の構成を利用してもよい。
図69は、ビデオ・シフトに必要な再生装置102内の構成の別例を示す機能ブロック図である。図69に示されている構成は、図65に示されている構成とはビデオ・シフト部6901とSPRM(34)6904とが異なる。それ以外は同様である。従って、図69では、図65に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図65に示されている要素についての説明を援用する。
図66の(a)に示されているように、SPRM(32)はビデオ・シフト・モードを表し、SPRM(33)はビデオ上移動時シフト値とビデオ下移動時シフト値とを表す。それらを表すパラメータの値は再生制御部4235により、図68の(a)に示されているようなプレイリスト・ファイル内のSTNテーブルに従って更新される。プレーヤ変数記憶部4236では更に、ビデオ・シフトを行うか否かをオン・オフで示すフラグが、SPRM(34)に格納されている。そのフラグの値はプログラム実行部4234により、アプリケーション・プログラム又はユーザに従って設定される。ビデオ・シフト部6901は、スイッチ4720から左映像プレーン・データ4701と右映像プレーン・データ4702とのいずれかを受信する度に、まずSPRM(34)内のフラグを参照して、ビデオ・シフトを行うか否かを決定する。例えばそのフラグの値が“1”であるとき、ビデオ・シフト部6901は続いてSPRM(32)を参照して、その値の示すビデオ・シフト・モードで主映像プレーンに垂直方向のオフセットを与える。一方、そのフラグの値が“0”であるとき、ビデオ・シフト部6901はビデオ・シフトを行うことなく、主映像プレーンを第2加算部4742へ送出する。同様に、第2クロッピング処理部4732は、システム・ターゲット・デコーダ4225からPGプレーン・データ4704を受信する度に、まずSPRM(34)6904を参照して、PGプレーン4704に垂直方向のオフセットを与えるか否かを決定する。例えばそのフラグの値が“1”であるとき、第2クロッピング処理部4732は続いてSPRM(32)とSPRM(33)とを参照して、それらの値に従ってPGプレーン4704に垂直方向のオフセットを与える。一方、そのフラグの値が“0”であるとき、第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えない。
(1−O−6)図68の(a)に示されているような、ビデオ・シフト・モード6812を含むストリーム属性情報6803が複数、STNテーブルに登録されている場合、ビデオ・シフト・モードの等しいストリーム属性情報が連続するように登録順序が設定される。図68の(b)は、その登録順序を示す模式図である。図68の(b)を参照するに、STNテーブルでは、ストリーム番号(STN)5−13に9種類のPGストリーム1−9のPIDが登録されている。PGストリーム1−3のビデオ・シフト・モードはキープ・モードに設定され、PGストリーム4、5のビデオ・シフト・モードはアップ・モードに設定され、PGストリーム6−9のビデオ・シフト・モードはダウン・モードに設定されている。その場合、PGストリーム1−3には、連続する3つのSTN=1−3が割り当てられ、PGストリーム4、5には、連続する2つのSTN=4、5が割り当てられ、PGストリーム6−9には、連続する4つのSTN=6−9が割り当てられる。再生装置102は、リモコン105から字幕切り換えボタンの押下を通知される度に、字幕表示に利用すべきPGストリームを、PGストリーム1−9の中から、図68の(b)に示されている登録順序で選択する。ここで、その選択操作の間、映像と字幕との画面表示はいずれも継続されるので、字幕切り換えボタンが押下されたときに、映像と字幕との表示位置は一般に変化する。しかし、STNテーブルには、図68の(b)に示されているように、同じビデオ・シフト・モードのPGストリームが連続して登録されている。従って、一般には、字幕切り換えボタンが複数回押下された後に初めて、映像と字幕との表示位置は変化する。そのように変化の頻度が抑えられるので、PGストリームの選択操作が映像と字幕とを見にくくすることを防止することができる。
(1−O−7)再生装置102は、ビデオ・シフト・モードを切り換える場合、フェード・イン/アウト等の視覚効果を利用して、映像と字幕との表示位置を滑らかに変化させてもよい。更に好ましくは、字幕の表示位置の変化を映像の表示位置の変化よりも遅らせる。それにより、ビデオ・シフト・モードの切り換えに伴う映像と字幕との表示位置の変化が視聴者に不快感を与えることを防止することができる。
(1−O−8)PGストリーム内のPDSでは、カラーID=255に無色透明が割り当てられ、WDSではウィンドウ内の背景色にカラーID=255が割り当てられている。従って、PGストリームが字幕を表すとき、その字幕の背景色が無色透明に設定される。図70の(b)は、その場合において画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。図70の(b)を参照するに、字幕SUBの表示範囲を示すウィンドウWIN1では背景色が無色透明である。従って、そのウィンドウWIN1内では映像IMGと字幕SUBとが重なって表示される。
一方、再生装置102はカラーID=255に黒等の不透明な色を割り当ててもよい。図70の(a)は、プレーヤ変数記憶部4236内のSPRM(37)のデータ構造を示す模式図である。図70の(a)を参照するに、SPRM(37)には字幕の背景色の色座標値が格納される。その値は、プログラム実行部4234により、アプリケーション・プログラム又はユーザに従って予め設定される。SPRM(37)に色座標値が設定されているとき、システム・ターゲット・デコーダ4225内のPGデコーダは、PDSの示す設定にかかわらず、その色座標値をカラーID=255に割り当てる。図70の(c)は、その場合において画面SCRに表示される映像IMGと字幕SUBとを示す模式図である。ここで、SPRM(37)の示す色座標値は黒等の不透明な色である。図70の(c)を参照するに、字幕SUBの表示範囲を示すウィンドウWIN2では背景色がその不透明な色である。従って、そのウィンドウWIN2内では映像IMGが背景色で隠され、字幕SUBだけが表示される。こうして、映像と字幕とを視聴者に確実に見せることができる。
(1−O−9)ビデオ・シフト・モードの切り換えと共に、PGストリームの表すグラフィックス映像の表示位置だけでなく、PGストリームそのものが変更されてもよい。図71の(a)は、レターボックス表示の映像コンテンツにおけるプレイリスト・ファイル内のSTNテーブルの更に別の例を示す模式図である。図71の(a)を参照するに、STNテーブル7100では、一つのSTN7101にPGストリーム1のストリーム・エントリ7102とストリーム属性情報7103とが対応付けられている。そのストリーム属性情報7103はビデオ上移動時字幕7110とビデオ下移動時字幕7111とを含む。ビデオ上移動時字幕7110とビデオ下移動時字幕7111とは、ビデオ・シフト・モードとしてアップ・モードとダウン・モードとがそれぞれ選択されるときに選択されるべきPGストリームのPIDを示す。ビデオ上移動時字幕7110とビデオ下移動時字幕7111とのそれぞれが示すPGストリームでは、初めから、字幕の表示位置が主映像プレーンの下端部と上端部との各黒帯内に設定されている。その場合、再生装置102はビデオ・シフトに次の構成を利用してもよい。
図71の(b)は、ビデオ・シフトに必要な再生装置102内の構成の更に別の例を示す機能ブロック図である。図71の(b)に示されている構成は、図65に示されている構成とは次の点が異なる:(A)ビデオ・シフト・モードが切り換えられる度に、再生制御部7135は、新たに選択されるべきPGストリームのPIDをPGデコーダ4072に指示する;(B)第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えない;(C)プレーヤ変数記憶部4236にはSPRM(33)とSPRM(34)とが設定されていなくてもよい。それ以外は同様である。従って、図71の(b)では、図65に示されている要素と同様な要素には同じ符号が付されている。更に、それら同様な要素の詳細については、図65に示されている要素についての説明を援用する。
SPRM(32)6502の示すビデオ・シフト・モードは、プログラム実行部4234によってアプリケーション・プログラム又はユーザに従って変更される。再生制御部7135は、SPRM(32)6502の値の変更を検出する度に、図71の(a)に示されているようなSTNテーブルを参照する。それにより、再生制御部7135はその中から、変更後のビデオ・シフト・モードに対応するPGストリームのPIDを検索してPGデコーダ4072に渡す。具体的には、SPRM(32)6502がアップ・モードを示すときは、ビデオ上移動時字幕7110の示すPIDが検索され、SPRM(32)6502がダウン・モードを示すときは、ビデオ下移動時字幕7111の示すPIDが検索され、SPRM(32)6502がキープ・モードを示すときは、ストリーム・エントリ7102の示すPIDが検索される。その結果、PGデコーダ4072によって復号されるPGプレーン4704は、ビデオ・シフト・モードに対応する字幕を表す。
図72の(a)は、キープ・モードに対応する字幕SB1、SB2を示す模式図である。図72の(b)は、ダウン・モードに対応する字幕SBD、SB2を示す模式図である。図72の(a)を参照するに、キープ・モードでは映像の表示領域VP1の下端部に水平方向の字幕SB1が映像と重ねて表示され、右端部に垂直方向の字幕SB2が映像と重ねて表示される。更に、映像の表示領域VP1の上下に高さ131ピクセルの黒帯BT、BBが表示される。図72の(b)を参照するに、ダウン・モードでは映像の表示領域VP2の上側に高さ262ピクセルの黒帯BT2が表示される。仮にPGプレーンに垂直方向のオフセットを与えて水平方向の字幕SB1の表示位置を上側の黒帯BT2の中に移動させた場合、垂直方向の字幕SB2の表示位置SB20は画面よりも上に外れてしまう。それに対し、ビデオ下移動時字幕7111の示すPGストリームは水平方向の字幕SBDを表し、その表示位置は上側の黒帯BT2の中に予め設定されている。従って、再生制御部7135は、キープ・モードで水平方向の字幕SB1を表すPGストリームを、ダウン・モードでは、ビデオ下移動時字幕7111の示すPGストリームに変更する。一方、再生制御部7135は、キープ・モードで垂直方向の字幕SB2を表すPGストリームを、ダウン・モードでもそのまま利用する。それにより、ダウン・モードでは、図72の(b)に示されているように、水平方向の字幕SBDを上側の黒帯BT2の中に表示し、かつ、垂直方向の字幕SB2を、キープ・モードでの字幕と同じく、映像の表示領域VP2の右端部に映像と重ねて表示することができる。アップ・モードでも同様である。
ビデオ上移動時字幕7110、ビデオ下移動時字幕7111、又はストリーム・エントリ7102がSTNテーブルに登録されていないとき、PGデコーダ4072は再生制御部7135から新たなPIDを指示されないので、その時点で保持しているPIDをそのまま維持する。その場合、第2クロッピング処理部4732はPGプレーン4704に垂直方向のオフセットを与えてもよい。そのオフセットは、ビデオ・シフト部6501によって主映像プレーン4701、4702に与えられるオフセットと等しい。図72の(c)は、キープ・モードで表示される字幕SB1を示す模式図である。図72の(d)は、ビデオ上移動時字幕7110がSTNテーブルに登録されていない場合において、アップ・モードで表示される字幕SB3を示す模式図である。図72の(c)を参照するに、キープ・モードでは映像の表示領域VP1の下端部に字幕SB1が映像と重ねて表示される。更に、映像の表示領域VP1の上下に高さ131ピクセルの黒帯BT、BBが表示される。図72の(d)を参照するに、アップ・モードでは映像の表示領域VP2の下側に高さ262ピクセルの黒帯BB2が表示される。仮に字幕SB1の表示位置がキープ・モードでの位置に維持された場合、その字幕SB1の下側が黒帯BB2に重なって表示されてしまう。それに対し、第2クロッピング処理部4732がPGプレーン4704に垂直方向のオフセットを与えた場合、アップ・モードの字幕SB3をキープ・モードの字幕SB1と同じく、図72の(d)に示されているように、映像の表示領域VP2の下端部に、黒帯BB2から離して表示することができる。
《実施形態2》
本発明の実施形態2によるBD−ROMディスクは、PGストリームとIGストリームとについてもベースビューとディペンデントビューとの対を含む。一方、本発明の実施形態2による再生装置は2プレーン・モードを備える。「2プレーン・モード」はグラフィックス・プレーンの表示モードの一つである。サブTSがベースビューとディペンデントビューとのグラフィックス・ストリームを両方含むとき、2プレーン・モードの再生装置は各グラフィックス・ストリームからレフトビューとライトビューとのグラフィックス・プレーン・データを復号して交互に出力する。それにより、それらのグラフィックス・ストリームから3Dグラフィックス映像を再生することができる。それらの点を除き、実施形態2によるBD−ROMディスクと再生装置とは、実施形態1によるものと構成及び機能が等しい。従って、以下では、実施形態2によるBD−ROMディスクと再生装置とのうち、実施形態1によるものからの変更部分及び拡張部分について説明する。実施形態1によるBD−ROMディスクと再生装置と同様な部分については、上記の実施形態1についての説明を援用する。
<サブTSのデータ構造>
図73の(a)は、BD−ROMディスク101上の第1サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第1サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、L/Rモード用のファイルDEPに含まれる。図73の(a)を参照するに、第1サブTSは、プライマリ・ビデオ・ストリーム7311、レフトビューPGストリーム7312A、7312B、ライトビューPGストリーム7313A、7313B、レフトビューIGストリーム7314、ライトビューIGストリーム7315、及びセカンダリ・ビデオ・ストリーム7316を含む。プライマリ・ビデオ・ストリーム7311はライトビュー・ビデオ・ストリームであり、図3の(a)に示されているメインTS内のプライマリ・ビデオ・ストリーム301が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。レフトビューとライトビューとのPGストリームの対7312A+7313A、7312B+7313Bは、字幕等のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。レフトビューとライトビューとのIGストリームの対7314、7315は、対話画面のグラフィックス映像を3D映像として表示するときにそのレフトビューとライトビューとの対を表す。セカンダリ・ビデオ・ストリーム7316はライトビュー・ビデオ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム306が3D映像のレフトビューを表すとき、その3D映像のライトビューを表す。
エレメンタリ・ストリーム7311−7316に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム7311には0x1012が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、レフトビューPGストリーム7312A、7312Bには0x1220から0x123Fまでのいずれかが割り当てられ、ライトビューPGストリーム7313A、7313Bには0x1240から0x125Fまでのいずれかが割り当てられる。レフトビューIGストリーム7314には0x1420から0x143Fまでのいずれかが割り当てられ、ライトビューIGストリーム7315には0x1440から0x145Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム7316には0x1B20から0x1B3Fまでのいずれかが割り当てられる。
図73の(b)は、BD−ROMディスク101上の第2サブTSに多重化されたエレメンタリ・ストリームの一覧表である。第2サブTSはMPEG−2 TS形式の多重化ストリーム・データであり、デプス・モード用のファイルDEPに含まれる。その他に、第2サブTSは第1サブTSと同じファイルDEPに多重化されていてもよい。図73の(b)を参照するに、第2サブTSは、プライマリ・ビデオ・ストリーム7321、デプスマップPGストリーム7323A、7323B、デプスマップIGストリーム7324、及びセカンダリ・ビデオ・ストリーム7326を含む。プライマリ・ビデオ・ストリーム7321はデプスマップ・ストリームであり、メインTS内のプライマリ・ビデオ・ストリーム301との組み合わせで3D映像を表す。デプスマップPGストリーム7323A、7323Bは、メインTS内のPGストリーム323A、323Bの表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すPGストリームとして利用される。デプスマップIGストリーム7324は、メインTS内のIGストリーム304の表す2D映像が仮想的な2D画面への3D映像の射影として利用されるとき、その3D映像のデプスマップを表すIGストリームとして利用される。セカンダリ・ビデオ・ストリーム7326はデプスマップ・ストリームであり、メインTS内のセカンダリ・ビデオ・ストリーム306との組み合わせで3D映像を表す。
エレメンタリ・ストリーム7321−7326に対するPIDの割り当ては例えば次のとおりである。プライマリ・ビデオ・ストリーム7321には0x1013が割り当てられる。一つのサブTSに他のエレメンタリ・ストリームが種類別に最大32本まで多重化可能であるとき、デプスマップPGストリーム7323A、7323Bには0x1260から0x127Fまでのいずれかが割り当てられる。デプスマップIGストリーム7324には0x1460から0x147Fまでのいずれかが割り当てられる。セカンダリ・ビデオ・ストリーム7326には0x1B40から0x1B5Fまでのいずれかが割り当てられる。
<STNテーブルSSのデータ構造>
図74は、本発明の実施形態2によるSTNテーブルSS3130のデータ構造を示す模式図である。図74を参照するに、STNテーブルSS3130内の各ストリーム登録情報列3301、3302、3303、…は、図33に示されているポップアップ期間のオフセット3311とディペンデントビュー・ビデオ・ストリームのストリーム登録情報列3312との他に、PGストリームのストリーム登録情報列7413とIGストリームのストリーム登録情報列7414とを含む。
PGストリームのストリーム登録情報列7413は、サブTSから再生対象として選択可能なPGストリームを示すストリーム登録情報を含む。IGストリームのストリーム登録情報列7414は、サブTSから再生対象として選択可能なIGストリームを示すストリーム登録情報を含む。これらのストリーム登録情報列7413、7414はそれぞれ、対応するPI内のSTNテーブルに含まれるストリーム登録情報列のうち、PGストリーム及びIGストリームを示すものと組み合わされて利用される。3D再生モードの再生装置102は、STNテーブル内のいずれかのストリーム登録情報を読み出すとき、そのストリーム登録情報に組み合わされたSTNテーブルSS内のストリーム登録情報列も自動的に読み出す。それにより、再生装置102は、2D再生モードを単に3D再生モードへ切り換えるとき、設定済みのSTN、及び言語等のストリーム属性を同一に維持できる。
図74を更に参照するに、PGストリームのストリーム登録情報列7413は一般に複数のストリーム登録情報7431を含む。それらは、対応するPI内に含まれるPGストリームのストリーム登録情報と同数である。IGストリームのストリーム登録情報列7414も同様なストリーム登録情報を含む。それらは、対応するPI内に含まれるIGストリームのストリーム登録情報と同数である。
各ストリーム登録情報7431は、STN7441、立体視フラグ(is_SS_PG)7442、ベースビュー・ストリーム・エントリ(stream_entry_for_base_view)7443、ディペンデントビュー・ストリーム・エントリ(stream_entry_for_depentdent_view)7444、及びストリーム属性情報7445を含む。STN7441は、ストリーム登録情報7431に個別に割り当てられた通し番号であり、対応するPI内で組み合わせ対象のストリーム登録情報に割り当てられたSTNと等しい。立体視フラグ7442は、BD−ROMディスク101がベースビューとディペンデントビューとのPGストリームを両方含むか否かを示す。立体視フラグ7442がオンであるとき、サブTSは両方のPGストリームを含む。従って、ベースビュー・ストリーム・エントリ7443、ディペンデントビュー・ストリーム・エントリ7444、及びストリーム属性情報7445のいずれのフィールドも再生装置によって読み出される。立体視フラグ7442がオフであるとき、それらのフィールド7443−7445はいずれも再生装置に無視される。ベースビュー・ストリーム・エントリ7443とディペンデントビュー・ストリーム・エントリ7444とはいずれも、サブパスID参照情報7421、ストリーム・ファイル参照情報7422、及びPID7423を含む。サブパスID参照情報7421は一つのサブパスのサブパスIDを示し、そのサブパスはベースビューとディペンデントビューとの各PGストリームの再生経路を規定する。ストリーム・ファイル参照情報7422は、各PGストリームが格納されたファイルDEPを識別するための情報である。PID7423は、各PGストリームのPIDである。ストリーム属性情報7445は、各PGストリームの属性、例えば言語の種類を含む。
尚、PGストリームのストリーム登録情報7431は、STNテーブルSSに代えて、STNテーブルに格納されていてもよい。その場合、そのストリーム登録情報7431は、メインTS内のPGストリームのストリーム登録情報、特にそのストリーム属性情報に格納される。
<システム・ターゲット・デコーダ>
図75は、本発明の実施形態2によるシステム・ターゲット・デコーダ7525の機能ブロック図である。図75を参照するに、PGデコーダ7501は、図45に示されているPGデコーダとは異なり、2プレーン・モードに対応可能である。具体的には、PGデコーダ7501はベースビューPGデコーダ7511とディペンデントビューPGデコーダ7512とを含む。ベースビューPGデコーダ7511は、図3の(a)に示されているメインTS内のPGストリーム303A、303Bに加え、図73の(a)に示されている第1サブTS内のレフトビューPGストリーム7312A、7312Bをプレーン・データに復号する。ディペンデントビューPGデコーダ7512は、図73の(a)に示されている第1サブTS内のライトビューPGストリーム7313A、7313B、及び図73の(b)に示されている第2サブTS内のデプスマップPGストリーム7323A、7323Bをプレーン・データに復号する。副映像デコーダとIGデコーダとのいずれも同様な一対のデコーダを含む。システム・ターゲット・デコーダ7525は更に、一対のPGプレーン・メモリ7521、7522を含む。ベースビューPGデコーダ7511はプレーン・データをレフトビューPGプレーン・メモリ7521に書き込み、ディペンデントビューPGデコーダ7512はプレーン・データをライトビューPGプレーン・メモリ7522に書き込む。IGプレーン・メモリとイメージ・プレーン・メモリとのいずれも同様な構成である。システム・ターゲット・デコーダ7525は更に、グラフィックス・プレーン・メモリからのプレーン・データの出力を、2プレーン・モード、1プレーン+オフセット・モード、及び1プレーン+ゼロ・オフセット・モードのそれぞれに対応させる。特に再生制御部4235から2プレーン・モードが指示されたとき、システム・ターゲット・デコーダ7525は一対のPGプレーン・メモリ7521、7522からプレーン加算部7526へプレーン・データを交互に送出する。
<プレーン加算部>
図76は2プレーン・モードのプレーン加算部7526の部分的な機能ブロック図である。図76を参照するに、プレーン加算部7526は、図47に示されているもの4226と同様、視差映像生成部4710、スイッチ4720、第1加算部4741、及び第2加算部4742を含む。プレーン加算部7526は更に、PGプレーン・データ7604、7605の入力部に第2視差映像生成部7610と第2スイッチ7620とを含む。同様な構成は、副映像プレーン・データ、IGプレーン・データ、及びイメージ・プレーン・データの各入力部にも含まれる。
第2視差映像生成部7610は、システム・ターゲット・デコーダ7525からレフトビューPGプレーン・データ7604とライトビューPGプレーン・データ7605とを受信する。L/Rモードの再生装置102では、レフトビューPGプレーン・データ7604はレフトビューPGプレーンを表し、ライトビューPGプレーン・データ7605はライトビューPGプレーンを表す。そのとき、第2視差映像生成部7610は各プレーン・データ7604、7605をそのまま第2スイッチ7620へ送出する。一方、デプス・モードの再生装置102では、レフトビューPGプレーン・データ7604は2Dグラフィックス映像のPGプレーンを表し、ライトビューPGプレーン・データ7605はその2Dグラフィックス映像に対するデプスマップを表す。そのとき、第2視差映像生成部7610はまず、そのデプスマップからその2Dグラフィックス映像の各部の両眼視差を計算する。第2視差映像生成部7610は次に、レフトビューPGプレーン・データ7604を加工して、PGプレーンにおけるその2Dグラフィックス映像の各部の表示位置を、計算された両眼視差に応じて左右に移動させる。それにより、レフトビューとライトビューとを表すPGプレーンの対が生成される。第2視差映像生成部7610は更に、そのPGプレーンの対を第2スイッチ7620へ送出する。
第2スイッチ7620は、PTSの等しいレフトビューPGプレーン・データ7604とライトビューPGプレーン・データ7605とをその順で第2クロッピング処理部4732へ送出する。2プレーン・モードの第2クロッピング処理部4732は各PGプレーン・データ7604、7605をそのまま第2加算部4742へ送出する。第2加算部4742は、第1加算部4741からのプレーン・データに各PGプレーン・データ7604、7605を重畳して第3加算部4743に渡す。その結果、左映像プレーン・データ7601にはレフトビューPGプレーンが重畳され、右映像プレーン・データ7602にはライトビューPGプレーンが重畳される。
2プレーン・モードの第2クロッピング処理部4732は、図47に示されている1プレーン+オフセット・モードのものと同様に、オフセット補正値を利用して各PGプレーン・データ7604、7605に水平方向のオフセットを与えてもよい。それにより、3Dグラフィックス映像の奥行き感を表示装置103の画面サイズに合わせて微調整することができる。その他に、第2クロッピング処理部4732は、図65、69に示されている1プレーン+オフセット・モードのものと同様に、ビデオ上/下移動時シフト値を利用して各PGプレーン・データ7604、7605に垂直方向のオフセットを与えてもよい。それにより、3D映像がレターボックス表示で再現されるとき、字幕等の3Dグラフィックス映像を、3D映像よりも上又は下に位置する黒帯上に再現することができる。
<2プレーン・モードでのオフセット情報の用途>
2プレーン・モードの第2クロッピング処理部4732は、オフセット情報4704を利用してレフトビュー又はライトビューのグラフィックス・プレーンに対してオフセット制御を行ってもよい。そのオフセット制御には、以下に述べる利点がある。
L/Rモードでは、図73の(a)に示されている第1サブTS内のレフトビューPGストリームに代えて、メインTS内の2D映像用PGストリーム(以下、2D・PGストリームと略す。)がレフトビューPGプレーン・データとして利用されてもよい。すなわち、図74に示されているベースビュー・ストリーム・エントリ7443において、サブパスID参照情報7421はメインパスを示し、ストリーム・ファイル参照情報7422は、2D・PGストリームが格納されたファイル2Dを示し、PID7423は2D・PGストリームのPIDを示す。その場合、第1サブTSはレフトビューPGストリームを含まなくてもよいので、3D映像コンテンツのデータ量を削減することができる。しかし、その反面、3Dグラフィックス映像に次の不具合が生じる危険性がある。
図77の(a)、(b)、(c)は、2D・PGストリームの表すレフトビュー・グラフィックス映像GOB0と、ライトビューPGストリームの表すライトビュー・グラフィックス映像GOB1−3とを示す模式図である。図77の(a)−(c)を参照するに、画面SCR内の実線はレフトビュー・グラフィックス映像GOB0を示し、破線はライトビュー・グラフィックス映像GOB1−3を示す。図77の(a)、(b)、(c)の順にグラフィックス映像間の距離Δ1、Δ2、Δ3は小さい(Δ1<Δ2<Δ3)ので、3Dグラフィックス映像と画面SCRとの奥行きの差が小さい。従って、グラフィックス映像の対が図77の(a)、(b)、(c)の順に表示されるとき、3Dグラフィックス映像は画面SCRから手前に飛び出すように見える。レフトビュー・グラフィックス映像GOB0が字幕を表すとき、その映像GOB0は2D映像としても利用されるので、その表示位置は図77の(a)、(b)、(c)の間で一定である。一方、ライトビュー・グラフィックス映像GOB1−3の表示位置は図77の(a)、(b)、(c)の順に左へ移動する。従って、グラフィックス映像間の中心位置C1、C2、C3が図77の(a)、(b)、(c)の順に左へ移動する。すなわち、字幕の3Dグラフィックス映像は左向きに移動するように見える。そのような字幕の移動は視聴者に違和感を与える危険性がある。
2プレーン・モードの第2クロッピング処理部4732は、オフセット情報に従ったオフセット制御を次のように利用して、3Dグラフィックス映像の水平方向での移動を防ぐ。図77の(d)、(e)、(f)はそれぞれ、図77の(a)、(b)、(c)に示されているレフトビュー・グラフィックス映像に対するオフセット制御を示す模式図である。図77の(d)−(f)を参照するに、画面SCR内の実線はオフセット制御後のレフトビュー・グラフィックス映像GOB4−6を示し、細い破線はオフセット制御前のレフトビュー・グラフィックス映像GOB0を示し、太い破線はライトビュー・グラフィックス映像GOB1−3を示す。第2クロッピング処理部4732はレフトビューPGプレーンに対し、図77の(d)、(e)、(f)に矢印で示されているオフセットOFS1、OFS2、OFS3を順番に与える。それにより、オフセット制御後のレフトビュー・グラフィックス映像GOB4−6はオフセット制御前のものGOB0よりも右へ移動する。その結果、図77の(d)−(f)ではグラフィックス映像間の中心位置C0が一定に維持されるので、3Dグラフィックス映像は水平方向には移動しないように見える。こうして、2D・PGストリームをレフトビューPGストリームとして利用することが視聴者に違和感を与える危険性を回避することができる。
《実施形態3》
以下、本発明の実施形態3として、本発明の実施形態1、2による記録媒体の記録装置及び記録方法について説明する。その記録装置は、いわゆるオーサリング装置と呼ばれるものである。オーサリング装置は通常、頒布用の映画コンテンツの制作スタジオに設置され、オーサリング・スタッフによって使用される。記録装置はオーサリング・スタッフの操作に従い、まず映画コンテンツを所定の圧縮符号化方式でAVストリーム・ファイルに変換する。記録装置は次にシナリオを生成する。「シナリオ」は、映画コンテンツに含まれる各タイトルの再生方法を規定した情報であり、具体的には、動的シナリオ情報と静的シナリオ情報とを含む。記録装置は続いて、AVストリーム・ファイル及びシナリオからBD−ROMディスク用のボリューム・イメージを生成する。記録装置は最後に、そのボリューム・イメージを記録媒体に記録する。
図78は、その記録装置7800の機能ブロック図である。図78を参照するに、その記録装置7800は、データベース部7801、ビデオ・エンコーダ7802、素材制作部7803、シナリオ生成部7804、BDプログラム制作部7805、多重化処理部7806、及びフォーマット処理部7807を含む。
データベース部7801は記録装置に内蔵の不揮発性記憶装置であり、特にHDDである。データベース部7801はその他に、記録装置に外付けされたHDDであってもよく、記録装置に内蔵の、又は外付けされた不揮発性半導体メモリ装置であってもよい。
ビデオ・エンコーダ7802は、非圧縮のビットマップ・データ等の映像データをオーサリング・スタッフから受け付けて、MPEG−4 AVC、MVC、又はMPEG−2等の圧縮符号化方式で圧縮する。それにより、主映像のデータはプライマリ・ビデオ・ストリームに変換され、副映像のデータはセカンダリ・ビデオ・ストリームに変換される。特に3D映像のデータは、MVC等の多視点符号化方式を利用して、図7に示されているようなベースビュー・ビデオ・ストリームとディペンデントビュー・ビデオ・ストリームとの対に変換される。すなわち、レフトビューを表すビデオ・フレームの列は、それ自身のピクチャ間での予測符号化によって、ベースビュー・ビデオ・ストリームに変換される。一方、ライトビューを表すビデオ・フレームの列は、それ自身のピクチャだけでなく、ベースビュー・ピクチャとの間の予測符号化によって、ディペンデントビュー・ビデオ・ストリームに変換される。尚、ライトビューを表すビデオ・フレームの列がベースビュー・ビデオ・ストリームに変換され、レフトビューを表すビデオ・フレームの列がディペンデントビュー・ビデオ・ストリームに変換されてもよい。変換後の各ビデオ・ストリーム7812はデータベース部7801に保存される。
ビデオ・エンコーダ7802は、ピクチャ間予測符号化の処理過程でレフトビューとライトビューとの間での各映像の動きベクトルを検出し、それらから各3D映像の奥行き情報を算出する。図79の(a)、(b)は、3D映像の一シーンの表示に利用されるレフトビュー・ピクチャとライトビュー・ピクチャとを表す模式図であり、(c)は、ビデオ・エンコーダ7802によってそれらのピクチャから算出された奥行き情報を示す模式図である。
ビデオ・エンコーダ7802はレフトビューとライトビューとの各ピクチャの圧縮に、それらのピクチャ間の冗長性を利用する。すなわち、ビデオ・エンコーダ7802は圧縮前の両ピクチャを8×8又は16×16の画素マトリクスごとに、すなわちマクロブロックごとに比較して、両ピクチャ間での各映像の動きベクトルを検出する。具体的には、図79の(a)、(b)に示されているように、まず、レフトビュー・ピクチャ7901とライトビュー・ピクチャ7902とはそれぞれ、マクロブロック7903のマトリクスに分割される。次に、両ピクチャ7901、7902間でイメージ・データがマクロブロック7903ごとに比較され、その結果から各映像の動きベクトルが検出される。例えば、「家」の映像7904を表す領域は両ピクチャ7901、7902間で実質的に等しい。従って、それらの領域からは動きベクトルが検出されない。一方、「球」の映像7905を表す領域は両ピクチャ7901、7902間で異なるので、それらの領域からはその映像7905の動きベクトルが検出される。
ビデオ・エンコーダ7802は、検出された動きベクトルを各ピクチャ7901、7902の圧縮に利用する。一方、ビデオ・エンコーダ7802はその動きベクトルを、「家」の映像7904及び「球」の映像7905等、各映像の両眼視差の計算に利用する。ビデオ・エンコーダ7802は更に、各映像の両眼視差からその映像の奥行きを算出する。その奥行きを表す情報は、図79の(c)に示されているように、各ピクチャ7901、7902のマクロブロックのマトリクスと同じサイズのマトリクス7906に整理される。このマトリクス7906内のブロック7907は、各ピクチャ7901、7902内のマクロブロック7903と一対一に対応する。各ブロック7907は、対応するマクロブロック7903の表す映像の奥行きを、例えば8ビットの深度で表す。図79に示されている例では、「球」の映像7905の奥行きがマトリクス7906の領域7908内の各ブロックに記録される。その領域7908は、その映像7905を表す各ピクチャ7901、7902内の領域の全体に対応する。
ビデオ・エンコーダ7802は奥行き情報を利用して、レフトビュー又はライトビューに対するデプスマップを生成してもよい。その場合、ビデオ・エンコーダ7802は、レフトビュー又はライトビューのストリーム・データとデプスマップ・ストリームとのそれぞれを、それ自身の含むピクチャ間での予測符号化を用いて、ベースビュー・ビデオ・ストリームとデプスマップ・ストリームとに変換する。変換後の各ビデオ・ストリーム7812はデータベース部7801に保存される。
ビデオ・エンコーダ7802は更に、その奥行き情報を利用して、図60の(b)、(c)に示されているレフトビューLVとライトビューRVとの一方にしか含まれない垂直方向の帯状領域AL、ARの幅WDH、及び、図61の(b)、(c)に示されているレフトビューLVとライトビューRVとの一方にしか含まれない水平方向の帯状領域AT、ABの高さHGTを算定する。実際、それらの帯状領域が物体の映像を含んでいれば、その映像の動きベクトルが、レフトビューからライトビューへ、又はその逆へのフレーム・アウトを表すものとして検出される。ビデオ・エンコーダ7802はその動きベクトルから各帯状領域の幅又は高さを算定できる。算定された幅と高さとを示す情報(以下、マスク領域情報という。)7811はデータベース部7801に保存される。
ビデオ・エンコーダ7802はその他に、2D映像のデータからセカンダリ・ビデオ・ストリームを符号化する際に、オーサリング・スタッフの操作に従って、副映像プレーンに対するオフセット情報7810を作成してもよい。作成されたオフセット情報7810はデータベース部7801に保存される。
素材制作部7803は、ビデオ・ストリーム以外のエレメンタリ・ストリーム、例えば、オーディオ・ストリーム7813、PGストリーム7814、及びIGストリーム7815を作成してデータベース部7801に保存する。例えば、素材制作部7803はオーサリング・スタッフから非圧縮のLPCM音声データを受け付けて、それをAC−3等の圧縮符号化方式で符号化してオーディオ・ストリーム7813に変換する。素材制作部7803はその他に、オーサリング・スタッフから字幕情報ファイルを受け付けて、それに従ってPGストリーム7814を作成する。字幕情報ファイルは、字幕を表すイメージ・データ又はテキスト・データ、その字幕の表示時期、及び、その字幕に加えられるべきフェード・イン/アウト等の視覚効果を規定する。素材制作部7803は更に、オーサリング・スタッフからビットマップ・データとメニュー・ファイルとを受け付けて、それらに従ってIGストリーム7815を作成する。ビットマップ・データはメニューのイメージを表す。メニュー・ファイルは、そのメニューに配置される各ボタンの状態の遷移、及び各ボタンに加えられるべき視覚効果を規定する。
素材制作部7803は更に、オーサリング・スタッフの操作に従い、PGストリーム7814とIGストリーム7815とのそれぞれに対するオフセット情報7810を作成する。その場合、素材制作部7803は、ビデオ・エンコーダ7802によって生成された奥行き情報DPIを利用して、3Dグラフィックス映像の奥行きを3D映像の奥行きに合わせてもよい。その場合、3D映像の奥行きがフレームごとに激しく変化するときには、素材制作部7803は、奥行き情報DPIを利用して作成されたオフセット値の列を更にローパスフィルタで処理して、フレームごとの変化を低減させてもよい。こうして、作成されたオフセット情報7810はデータベース部7801に保存される。
シナリオ生成部7804は、オーサリング・スタッフからGUI経由で受け付けられた指示に従ってBD−ROMシナリオ・データ7817を作成し、データベース部7801に保存する。BD−ROMシナリオ・データ7817は、データベース部7801に保存された各エレメンタリ・ストリーム7812−7816の再生方法を規定する。BD−ROMシナリオ・データ7817は、図2に示されているファイル群のうち、インデックス・ファイル211、ムービーオブジェクト・ファイル212、及びプレイリスト・ファイル221−223を含む。シナリオ生成部7804は更に、パラメータ・ファイルPRFを作成して多重化処理部7806へ送出する。パラメータ・ファイルPRFは、データベース部7801に保存されたエレメンタリ・ストリーム7812−7815の中から、メインTSとサブTSとのそれぞれに多重化されるべきストリーム・データを規定する。
BDプログラム制作部7805はオーサリング・スタッフに対して、BD−Jオブジェクト及びJava(登録商標) アプリケーション・プログラムのプログラミング環境を提供する。BDプログラム制作部7805はGUIを通じてユーザからの要求を受け付け、その要求に従って各プログラムのソースコードを作成する。BDプログラム制作部7805は更に、BD−JオブジェクトからBD−Jオブジェクト・ファイル251を作成し、Java(登録商標) アプリケーション・プログラムをJARファイル261に圧縮する。それらのプログラム・ファイル群BDPはフォーマット処理部7807へ送出される。
ここで、BD−Jオブジェクトが次のようにプログラミングされる場合を想定する:BD−Jオブジェクトは、図42に示されているプログラム実行部4234にGUI用のグラフィックス・データをシステム・ターゲット・デコーダ4225へ送出させる。BD−Jオブジェクトは更に、システム・ターゲット・デコーダ4225にそのグラフィックス・データをイメージ・プレーン・データとして処理させ、プレーン加算部4226にイメージ・プレーン・データを1プレーン+オフセット・モードで送出させる。その場合、BDプログラム制作部7805は、イメージ・プレーンに対するオフセット情報7810を作成してデータベース部7801に保存する。BDプログラム制作部7305はそのオフセット情報7310の作成に、ビデオ・エンコーダ7802によって生成された奥行き情報DPIを利用してもよい。
多重化処理部7806はパラメータ・ファイルPRFに従い、データベース部7801に保存されている各エレメンタリ・ストリーム7812−7815をMPEG2−TS形式のストリーム・ファイルに多重化する。具体的には、図4に示されているように、まず、各エレメンタリ・ストリーム7812−7815が一つのソースパケット列に変換され、次に、各列のソースパケットが一本の多重化ストリーム・データにまとめられる。こうして、メインTSとサブTSとが作成される。それらの多重化ストリーム・データMSDはフォーマット処理部7807へ送出される。
多重化処理部7806は更に、データベース部7801に保存されているオフセット情報7810に基づいてオフセット・メタデータを作成する。図11に示されているように、作成されたオフセット・メタデータ1110はディペンデントビュー・ビデオ・ストリーム内に格納される。そのとき、データベース部7801に保存されているマスク領域情報7811は、オフセット・メタデータと共にディペンデントビュー・ビデオ・ストリーム内に格納される。また、多重化処理部7806は各グラフィックス・データを加工して、左右の各映像フレーム内でのグラフィックス部品の配置を調整してもよい。それにより、各グラフィックス・プレーンの表す3Dグラフィックス映像が、他のグラフィックス・プレーンの表す3Dグラフィックス映像と同じ視方向に重なって表示されることを、多重化処理部7806は防止できる。その他に、多重化処理部7306は各グラフィックス・プレーンに対するオフセット値を調整して、各3Dグラフィックス映像が異なる奥行きに表示されるようにできる。
多重化処理部7806はその上、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを、以下の手順(I)−(IV)で作成する:(I)ファイル2DとファイルDEPとのそれぞれについて、図23に示されているエントリ・マップ2230を生成する。(II)各ファイルのエントリ・マップを利用して、図24の(a)、(b)に示されているエクステント起点2242、2420を作成する。そのとき、隣接するデータ・ブロック間でエクステントATC時間を揃える(後述参照)。更に、2Dエクステント、ベースビュー・エクステント、ディペンデントビュー・エクステント、及びエクステントSSの各サイズが所定の条件を満たすように、エクステントの配置を設計する(それらの条件については《補足》参照)。(III)メインTSとサブTSとのそれぞれに多重化されるべきエレメンタリ・ストリームから、図22に示されているストリーム属性情報2220を抽出する。(IV)図22に示されているように、エントリ・マップ2230、3Dメタデータ2240、及びストリーム属性情報2220の組み合わせをクリップ情報2210に対応付ける。こうして、各クリップ情報ファイルCLIが作成され、フォーマット処理部7307へ送出される。
フォーマット処理部7807は、データベース部7801に保存されたBD−ROMシナリオ・データ7817、BDプログラム制作部7805によって制作されたBD−Jオブジェクト・ファイル等のプログラム・ファイル群BDP、及び、多重化処理部7806によって生成された多重化ストリーム・データMSDとクリップ情報ファイルCLIとから、図2に示されているディレクトリ構造のBD−ROMディスク・イメージ7820を作成する。そのディレクトリ構造ではファイルシステムとしてUDFが利用される。
フォーマット処理部7807は、ファイル2D、ファイルDEP、及びファイルSSの各ファイル・エントリを作成するとき、2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとのそれぞれに含まれるエントリ・マップと3Dメタデータとを参照する。それにより、エントリ・ポイントとエクステント起点との各SPNがアロケーション記述子の作成に利用される。特に、図19に示されているようなデータ・ブロックのインターリーブ配置が表現されるように、各アロケーション記述子の表すべきLBNの値とエクステントのサイズとが決定される。その結果、各ベースビュー・データ・ブロックはファイルSSとファイル2Dとに共有され、各ディペンデントビュー・データ・ブロックはファイルSSとファイルDEPとに共有される。
<BD−ROMディスク・イメージの記録方法>
図80は、図78に示されている記録装置7800を利用してBD−ROMディスクへ映画コンテンツを記録する方法のフローチャートである。この方法は、例えば記録装置7800の電源投入によって開始される。
ステップS8001では、BD−ROMディスクへ記録されるべきエレメンタリ・ストリーム、プログラム、及びシナリオ・データが作成される。すなわち、ビデオ・エンコーダ7802はビデオ・ストリーム7812を作成する。素材制作部7803は、オーディオ・ストリーム7813、PGストリーム7814、及びIGストリーム7815を作成する。シナリオ生成部7804はBD−ROMシナリオ・データ7817を作成する。作成されたそれらのデータ7812−7817はデータベース部7801に保存される。一方、ビデオ・エンコーダ7802は、オフセット情報7810とマスク領域情報7811とを作成してデータベース部7801に保存する。素材制作部7803はオフセット情報7810を作成してデータベース部7801に保存する。シナリオ生成部7804はパラメータ・ファイルPRFを作成して多重化処理部7806へ送出する。BDプログラム制作部7805は、BD−Jオブジェクト・ファイルとJARファイルとを含むプログラム・ファイル群BDPを作成してフォーマット処理部7807へ送出し、オフセット情報7810を作成してデータベース部7801に保存する。その後、処理はステップS8002へ進む。
ステップS8002では、多重化処理部7806は、データベース部7801に保存されたオフセット情報7810に基づいてオフセット・メタデータを作成する。作成されたオフセット・メタデータは、マスク領域情報7811と共に、ディペンデントビュー・ビデオ・ストリーム内に格納される。その後、処理はステップS8003へ進む。
ステップS8003では、多重化処理部7806はパラメータ・ファイルPRFに従い、データベース部7801から各エレメンタリ・ストリーム7812−7815を読み出してMPEG2−TS形式のストリーム・ファイルに多重化する。その後、処理はステップS8004へ進む。
ステップS8004では、多重化処理部7806は2Dクリップ情報ファイルとディペンデントビュー・クリップ情報ファイルとを作成する。特に、エントリ・マップとエクステント起点との作成では、隣接するデータ・ブロック間でエクステントATC時間が揃えられる。更に、2Dエクステント、ベースビュー・エクステント、ディペンデントビュー・エクステント、及びエクステントSSのサイズが、所定の条件を満たすように設計される。その後、処理はステップS8005へ進む。
ステップS8005では、フォーマット処理部7807は、BD−ROMシナリオ・データ7817、プログラム・ファイル群BDP、多重化ストリーム・データMDS、及びクリップ情報ファイルCLIから、BD−ROMディスク・イメージ7820を作成する。その後、処理はステップS8006へ進む。
ステップS8006では、BD−ROMディスク・イメージ7820がBD−ROMプレス用データに変換される。更に、このデータはBD−ROMディスクの原盤に記録される。その後、処理はステップS8007へ進む。
ステップS8007では、ステップS8006で得られた原盤をプレス工程に利用してBD−ROMディスク101の大量生産を行う。こうして、処理が終了する。
<エクステントATC時間を揃える方法>
図81は、隣接するデータ・ブロック間でエクステントATC時間を揃える方法を示す模式図である。まず、ベースビュー・データ・ブロックに格納されるソースパケット(以下、SP1と略す。)と、ディペンデントビュー・データ・ブロックに格納されるソースパケット(以下、SP2と略す。)とには、同じATC時間軸でATSが付与される。図81を参照するに、矩形8110、8120はそれぞれ、SP1#p(p=0、1、2、3、…、k、k+1、…、i、i+1)とSP2#q(q=0、1、2、3、…、m、m+1、…、j)とを表す。それらの矩形8110、8120はATCの時間軸方向で各ソースパケットのATSの順に並べられている。各矩形8110、8120の先頭の位置はそのソースパケットのATSの値を表す。各矩形8110、8120の長さAT1は、3D再生装置が1個のソースパケットをリード・バッファからシステム・ターゲット・デコーダへ転送するのに要する時間を表す。
SP1#0のATSA1からエクステントATC時間TEXTが経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#0、1、2、…、kは、(n+1)番目のベースビュー・エクステントEXT1[n]として一つのベースビュー・データ・ブロックに格納される。同様に、SP1#(k+1)のATSA3からエクステントATC時間TEXTが経過するまでの期間に、リード・バッファからシステム・ターゲット・デコーダへ転送されるSP1、すなわちSP1#(k+1)、…、iは、(n+2)番目のベースビュー・エクステントEXT1[n+1]として次のベースビュー・データ・ブロックに格納される。
一方、(n+1)番目のディペンデントビュー・エクステントEXT2[n]として一つのディペンデントビュー・データ・ブロックに格納されるべきSP2は次のように選択される。まず、SP1#0のATSA1とエクステントATC時間TEXTとの和、すなわち(n+2)番目のベースビュー・エクステントEXT1[n+1]の先頭に位置するSP1#(k+1)のATSA3=A1+TEXTが求められる。次に、SP1#0のATSA1からSP1#(k+1)のATSA3までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#0、1、2、…、mが選択される。従って、先頭のSP2、すなわちSP2#0のATSA2は必ず、先頭のSP1、すなわちSP1#0のATSA1以上である:A2≧A1。更に、SP2#0−mのATSは全て、SP1#(k+1)のATSA3未満である。ここで、最後のSP2、すなわちSP#mの転送完了は、SP1#(k+1)のATSA3以後であってもよい。
同様に、(n+2)番目のディペンデントビュー・エクステントEXT2[n+1]として一つのディペンデントビュー・データ・ブロックに格納されるべきSP2は、次のように選択される。まず、(n+3)番目のベースビュー・エクステントの先頭に位置するSP1#(i+1)のATSA5=A3+TEXTが求められる。次に、SP1#(k+1)のATSA3からSP1#(i+1)のATSA5までの期間に、リード・バッファからシステム・ターゲット・デコーダへの転送が開始されるSP2、すなわちSP2#(m+1)−jが選択される。従って、先頭のSP2、すなわちSP2#(m+1)のATSA4は必ず、先頭のSP1、すなわちSP1#(k+1)のATSA3以上である:A4≧A3。更に、SP2#(m+1)−jのATSは全て、SP1#(i+1)のATSA5未満である。
《実施形態4》
図110は、本発明の実施形態4による集積回路3を用いて実現された再生装置の機能ブロック図である。この再生装置は、前述の実施形態において説明された構造のデータを再生する
媒体IF部1は、媒体からデータを受信して、又は読み出して、集積回路3に転送する。ここで、そのデータは、前述の実施形態において説明した構造のデータを含む。例えば、媒体が光ディスクやハードディスクである場合、媒体IF部1はディスクドライブである。媒体が、SDカードやUSBメモリ等の半導体メモリである場合、媒体IF部1はカードIFである。媒体が、CATV等を含む放送波である場合、媒体IF部1はCANチューナーやSiチューナーである。媒体が、イーサネット(登録商標)、無線LAN、無線公衆回線等のネットワークである場合、媒体IF部1はネットワークIFである。
メモリ2は、媒体から受信され、又は読み出されたデータを一旦格納し、又は集積回路3における処理途中のデータを一時的に格納する。メモリ2としては、SDRAM(SynchronousDynamic Random Access Memory)、DDRx SDRAM(Double−Date−Rate x Synchronous DynamicRandom Access Memory;x=1,2,3,…)等が用いられる。尚、メモリ2は任意の個数備えられていればよく、必要に応じて単数でも複数でも構わない。
集積回路3は、媒体IF部1から転送されたデータに対して映像・音声処理を施すシステムLSIである。集積回路3は、主制御部6、ストリーム処理部5、信号処理部7、メモリ制御部9、及びAV出力部8を含む。
主制御部6はプログラムメモリとプロセッサコアとを有する。プログラムメモリには予めOS等の基本ソフトが格納されている。プロセッサコアはタイマ機能や割り込み機能を有し、プログラムメモリ等に格納されたプログラムに従って、集積回路3全体の制御を行う。
ストリーム処理部5は、主制御部6の制御の下、媒体から媒体IF部1経由で転送されたデータを受信し、集積回路3内のデータバスを経由してメモリ2に格納し、又は受信したデータを映像系データ、音声系データに分離する。前述したとおり、2D/レフトビューAVストリーム・ファイルはレフトビュー・ビデオ・ストリームを含み、ライトビューAVストリーム・ファイルはライトビュー・ビデオ・ストリームを含む。更に、媒体上のデータは、2D/レフトビューAVストリーム・ファイルとライトビューAVストリーム・ファイルとが幾つかのエクステントに分割された状態で交互に配置されたものである。ここで、媒体上のデータのうち、レフトビュー・ビデオ・ストリームを含む部分は左目用データであり、ライトビュー・ビデオ・ストリームを含む部分は右目用データである。主制御部6は、集積回路3が左目用データを受信した場合はメモリ2内の第1の領域にデータが格納されるようにストリーム処理部5を制御し、右目用データを受信した場合はメモリ2内の第2の領域にデータが格納されるようにストリーム処理部5を制御する。尚、メモリ2における第1、第2の領域は単一のメモリが論理的に領域分割されたものでもよいし、物理的に異なるメモリでもよい。また、実施形態4においては、左目用データをメインビュー・データとし、右目用データをサブビュー・データとして説明を続けるが、右目用データがメインビュー・データであり、左目用データがサブビュー・データであっても構わない。
信号処理部7は、主制御部6の制御の下、ストリーム処理部5が分離した映像系データ及び音声系データを適切な方法で復号する。映像系データは、MPEG−2、MPEG−4 AVC、MPEG−4 MVC、SMPTE VC−1などの方式で圧縮符号化されて記録されている。音声系データは、ドルビーAC−3、Dolby Digital Plus、MLP、DTS、DTS−HD、リニアPCMなどの方式で圧縮符号化されて記録されている。信号処理部7は、これらに対応した方式で復号する。尚、信号処理部7のモデルは、例えば、図45に示されているTS優先度フィルタと各種デコーダとの組み合わせに相当するものであっても、図46に示されている各種デコーダに相当するものであってもよい。更に、信号処理部7はライトビュー・ビデオ・ストリームの中からメタデータを抽出して、AV出力部8へ通知する。尚、前述のとおり、メタデータは、ライトビュー・ビデオ・ストリームを構成するGOPごとに配置されており、オフセット情報とオフセット識別子との対を複数含む。
信号処理部7のモデルが、図45に示されているTS優先度フィルタと各種デコーダとの組み合わせに相当する場合、信号処理部7は、まず、右目用データに含まれるTSパケットのTS優先度フラグを監視し、それらの値から、メタデータを含むTSパケットを選別する。信号処理部7は、次に、ピクチャ・データを含むTSパケットから非圧縮のピクチャ・データを復号する処理と、メタデータを含むTSパケットからメタデータを抽出する処理とを、異なるモジュールで並列に行う。一方、信号処理部7のモデルが、図46に示されている各種デコーダに相当する場合、信号処理部7では、右目用データに含まれるTSパケットが、TS優先度フラグの値にかかわらず、同じデコーダに送られる。そのデコーダは、それらのTSパケットから非圧縮のピクチャ・データを復号する処理と共に、メタデータを抽出する処理を行う。このように、前述の実施形態で説明した構造のデータであれば、信号処理部7はいずれのモデルであっても、そのデータから非圧縮のピクチャ・データを復号する処理と、メタデータを抽出する処理とを良好に実行できる。
メモリ制御部9は、集積回路3内の各機能ブロックからメモリ2へのアクセスを調停する。
AV出力部8は、主制御部6の制御の下、信号処理部7によって復号された映像系データを互いに重畳し、それらの映像系データにフォーマット変換等を行って、集積回路3の外へ出力する。
図111は、ストリーム処理部5の代表的な構成を示す機能ブロック図である。ストリーム処理部5は、デバイス・ストリームIF部51、多重分離部52、及び切替部53を備える。
デバイス・ストリームIF部51は、媒体IF部1と集積回路3との間のデータ転送用インターフェースである。例えば、媒体が光ディスクやハードディスクである場合、デバイス・ストリームIF部51は、SATA(SerialAdvanced Technology Attachment)、ATAPI(Advanced Technology Attachment PacketInterface)、又はPATA(Parallel Advanced Technology Attachment)に相当する。媒体が、SDカードやUSBメモリ等の半導体メモリである場合、デバイス・ストリームIF部51はカードIFに相当する。媒体が、CATV等を含む放送波などである場合、デバイス・ストリームIF部51はチューナーIFに相当する。媒体が、イーサネット(登録商標)、無線LAN、又は無線公衆回線等のネットワークである場合、デバイス・ストリームIF部51はネットワークIFに相当する。尚、媒体の種類によっては、デバイス・ストリームIF部51が媒体IF部1の機能の一部を肩代わりしても構わないし、逆に、媒体IF部1が集積回路3に内蔵され、デバイス・ストリームIF部51として利用されても構わない。
多重分離部52は、媒体から転送されたデータのうち、映像・音声を含む再生データから映像系データと音声系データとを分離する。前述の各エクステントは、映像・音声・PG(字幕)・IG(メニュー)等の各ソースパケットから構成されている。但し、サブビュー・データは音声を含まない場合もある。各エクステントは、各ソースパケットに含まれているPID(識別子)に従って映像系・音声系の各TSパケットに分離されて、信号処理部7へ転送される。処理済のデータは、直接、又は一旦メモリ2に格納された後に、信号処理部7へ転送される。尚、多重分離部52のモデルは、例えば図45に示されているソース・デパケタイザ、PIDフィルタに当たる。
切替部53は、デバイス・ストリームIF部51が受信したデータの出力先又は格納先を切り替える。具体的には、デバイス・ストリームIF部51が左目用データを受信した時は、切替部53は、そのデータの出力先又は格納先をメモリ2内の第1の領域にし、右目用データを受信した時はメモリ2内の第2の領域にする。ここで、切替部53は例えばDMAC(DirectMemory Access Controller)である。図112は、切替部53がDMACである場合における切替部53の周辺の機能ブロック図である。DMAC53は、主制御部6の制御の下、受信データと格納先アドレスとをメモリ制御部9へ送信する。受信データは、デバイス・ストリームIF部51が受信したデータであり、格納先アドレスは、その受信データの格納先のアドレスである。具体的には、アドレス1がメモリ2内の第1の領域のアドレスであり、アドレス2が第2の領域のアドレスである場合を想定する。受信データが左目用データである時、DMAC53はメモリ制御部9へアドレス1を送信し、受信データが右目用データである時、アドレス2を送信する。メモリ制御部9は、DMAC53から送られてきた格納先アドレスに従ってメモリ2に受信データを格納する。こうして、受信データの種類によってその出力先又は格納先が切り替えられる。尚、主制御部6の代わりに、切替部53を制御する専用の回路が設けられても構わない。
ここでは、ストリーム処理部5の代表的な構成として、デバイス・ストリームIF部51、多重分離部52、及び切替部53について説明した。しかし、ストリーム処理部5が更に、暗号エンジン部、セキュア管理部、又はダイレクト・メモリ・アクセス用のコントローラ等を備えていてもよい。暗号エンジン部は、受信した暗号化データや鍵データ等を復号する。セキュア管理部は、秘密鍵を保持し、媒体と再生装置との間の機器認証プロトコル等の実行制御を行う。また、これまでは、媒体から受信したデータをメモリ2に格納する際に、そのデータが左目用データと右目用データとのいずれであるかによって、切替部53がそのデータの格納先を切り替える場合について説明してきた。しかし、媒体から受信したデータを一旦メモリ2に格納した後に多重分離部52へ転送する際に、そのデータから左目用データと右目用データとが振り分けられてもよい。
図113は、AV出力部8の代表的な構成を示す機能ブロック図である。AV出力部8は、画像重畳部86、ビデオ出力フォーマット変換部87、及びオーディオ・ビデオ出力IF部88を備える。
画像重畳部81は、復号された映像系データを重畳する。具体的には、レフトビュー・ビデオ・データ又はライトビュー・ビデオ・データにPG(字幕)又はIG(メニュー)をピクチャ単位で重畳する。画像重畳部81のモデルは、例えば図47に示されている。
図114は、画像重畳処理におけるメモリ2の利用方法の一例を示す模式図である。メモリ2は、レフトビューに対応するプレーン・データ格納領域、ライトビューに対応するプレーン・データ格納領域、グラフィックスに対応するプレーン・データ格納領域、及び画像重畳後データ格納領域を含む。各プレーン・データ格納領域は、復号されたデータが、対応するプレーンに描画される前に一旦格納される領域である。画像重畳後データ格納領域は、グラフィックス・プレーンとレフトビュー・プレーン又はライトビュー・プレーンとが重畳された後にそのデータが格納される領域である。ここで、プレーンは、メモリ2中の領域であっても、仮想的な空間であってもよい。
図115と図116とは、図114に示されているメモリ2を利用した画像重畳処理を示す模式図である。画像重畳部81は、まず、信号処理部7が抽出したメタデータに含まれるオフセット情報に基づいて、グラフィックス・プレーンにオフセットを与える。画像重畳部81は、次に、オフセットが与えられたグラフィックス・プレーンを映像プレーンに重畳する。具体的には、図115では、グラフィックス・プレーンに+Xのオフセットが与えられ、その後、そのグラフィックス・プレーンがレフトビュー・プレーンに重畳される。一方、図116では、グラフィックス・プレーンに−Xのオフセットが与えられ、その後、そのグラフィックス・プレーンがライトビュー・プレーンに重畳される。ここで、値Xはオフセット値であって、画素数で表される。また、それらの重畳処理では、各図に示されているように、水平方向の座標が等しい画素データ同士が合成される。重畳後のデータはメモリ2内の画像重畳後データ格納領域に格納される。
図117は、画像重畳処理でのメモリ2の利用方法の別例を示す模式図である。メモリ2は更に、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(レフトビュー重畳用、ライトビュー重畳用)」を備えている。それらのプレーン・データ格納領域には、オフセットの与えられたグラフィックス・プレーンが、レフトビュー・プレーンとライトビュー・プレーンとのそれぞれに重畳される前に一旦格納される。例えば、画像重畳部81は、グラフィックス・プレーンに+Xのオフセットを与えて、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(レフトビュー重畳用)」に一旦格納する。その後、画像重畳部81は、そのプレーン・データ格納領域からグラフィックス・プレーンを読み出してレフトビュー・プレーンに重畳し、得られた結果を画像重畳後データ格納領域に格納する。一方、画像重畳部81は、グラフィックス・プレーンに−Xのオフセットを与えて、「オフセット済みグラフィックスに対応するプレーン・データ格納領域(ライトビュー重畳用)」に一旦格納する。その後、画像重畳部81は、そのプレーン・データ格納領域からグラフィックス・プレーンを読み出してライトビュー・プレーンに重畳し、得られた結果を画像重畳後データ格納領域に格納する。
ビデオ出力フォーマット変換部82は、復号後又は重畳後の映像系データに対して、リサイズ処理、IP変換処理、ノイズ・リダクション処理、又はフレームレート変換処理等を必要に応じて行う。リサイズ処理は、映像のサイズを拡大/縮小する処理である。IP変換処理は、プログレッシブ方式とインターレース方式との間で走査方式を変換する処理である。ノイズ・リダクション処理は、映像からノイズを除去する処理である。フレームレート変換処理は、フレームレートを変換する処理である。ビデオ出力フォーマット変換部82は、処理後のデータを画像重畳部81又はオーディオ・ビデオ出力IF部83へ送出する。
オーディオ・ビデオ出力IF部83は、ビデオ出力フォーマット変換部82によって処理された映像系データと、復号された音声系データとを符号化処理等で所定のデータ送信形式に変換する。尚、後述するように、オーディオ・ビデオ出力IF部83の一部は、集積回路3の外に備えられても構わない。
図118は、AV出力部8と再生装置のデータ出力部との詳細な機能ブロック図である。AV出力部8及び再生装置のデータ出力部は、複数のデータ送信形式に対応している。具体的には、図118に示されているように、オーディオ・ビデオ出力IF部83は、アナログ・ビデオ出力IF部83a、アナログ・オーディオ出力IF部83c、及びデジタル・オーディオ出力IF部83bを備えている。
アナログ・ビデオ出力IF部83aは、ビデオ出力フォーマット変換部82によって処理された映像系データを、アナログ映像信号形式に変換して出力する。アナログ・ビデオ出力IF部83aは、例えば、NTSC、PAL、及びSECAMのいずれかの方式に対応したコンポジット・ビデオ・エンコーダー、S映像信号(Y/C分離)用エンコーダー、コンポーネント映像信号用エンコーダー、並びにD/Aコンバータ(DAC)を含む。
デジタル・オーディオ・ビデオ出力IF部83bは、復号された音声系データと、ビデオ出力フォーマット変換部82によって処理された映像系データとを一体化し、更に暗号化する。その後、デジタル・オーディオ・ビデオ出力IF部83bは暗号化データをデータ送信規格に合わせて符号化して出力する。例えば、図42に示されているHDMI通信部がデジタル・オーディオ・ビデオ出力IF部83bに当たる。
アナログ・オーディオ出力IF部83cは、復号された音声系データをD/A変換してアナログ音声データを出力する。オーディオDAC等がアナログ・オーディオ出力IF部83cに当たる。
AV出力部8及び再生装置のデータ出力部は、映像系データ及び音声系データの送信形式を、表示装置・スピーカ4のサポートするデータ受信装置又はデータ入力端子に依存して切り替え可能である。また、AV出力部8及び再生装置のデータ出力部はそれらの送信形式をユーザーに選択させることも可能である。更に、同一のコンテンツから変換されたデータを、単一の送信形式だけではなく、複数の送信形式で並列に送信することも可能である。
ここでは、AV出力部8の代表的な構成として、画像重畳部81、ビデオ出力フォーマット変換部82、及びオーディオ・ビデオ出力IF部83について説明した。しかし、AV出力部8は、グラフッィクス・エンジン部等を更に備えていてもよい。グラフィックス・エンジン部は、信号処理部7によって復号されたデータに対して、フィルタ処理、画面合成、曲線描画、3D表示等のグラフィックス処理を行う。
以上が、実施形態4による再生装置の構成についての説明である。尚、集積回路3には、前述の機能ブロックの全てが内蔵されていなくても良い。逆に、メモリ2が集積回路3に内蔵されていてもよい。また、実施形態4においては、主制御部6と信号処理部7とを互いに独立な機能ブロックとして説明した。しかし、主制御部6が信号処理部7の処理の一部を行っても構わない。
集積回路3内の機能ブロック間を接続する制御バス及びデータバスのトポロジーは、各機能ブロックの処理の手順及び内容に合わせて選択されればよい。図119の(a)、(b)は、集積回路3内の制御バス及びデータバスのトポロジーの例を示す模式図である。図119の(a)を参照するに、制御バス21とデータバス22とはいずれも、各機能ブロック5−9を他の全ての機能ブロックに直結させるように配置されている。その他に、図119の(b)に示されているように、データバス23は各機能ブロック5−8をメモリ制御部9にのみ直結させるように配置されてもよい。その場合、各機能ブロック5−8はメモリ制御部9、更にメモリ2を介してデータを他の機能ブロックに転送する。
集積回路3は、単一のチップに実装されたLSIに代えて、マルチチップ・モジュールであってもよい。その場合、集積回路3を構成する複数のチップは一つのパッケージに封止されているので、集積回路3は見かけ上、単一のLSIである。集積回路3はその他に、FPGA(FieldProgrammable Gate Array)又はリコンフィギュラブル・プロセッサを利用して構成されてもよい。FPGAは、製造後にプログラム可能なLSIである。リコンフィギュラブル・プロセッサは、内部の回路セル間の接続、及び各回路セルの設定を再構成可能なLSIである。
<集積回路3の表示装置への実装>
上記の集積回路3と同様な集積回路を表示装置に実装して、実施形態4による再生装置の行う上記の処理をその表示装置に行わせても構わない。図120は、その表示装置に実装された集積回路とその周辺部との構成を示す機能ブロック図である。図120を参照するに、集積回路3は媒体IF部1とメモリ2とを利用して、媒体IF部1が受信したデータに対して、上記の信号処理と同様な処理を行う。集積回路3によって処理された映像系データは表示駆動部10へ送られる。表示駆動部10はその映像系データに従って表示パネル11を制御する。その結果、その映像系データは表示パネル11の画面上に映像として出力される。一方、集積回路3によって処理された音声系データはスピーカ12を通して、音声として出力される。
図121は、図120に示されているAV出力部8の詳細な機能ブロック図である。AV出力部8は、図118に示されているものとは異なり、ビデオ出力IF部84とオーディオ出力IF部85とを備えている。ビデオ出力IF部84とオーディオ出力IF部85とは、集積回路3の内部と外部とのいずれに設置されていてもよい。ビデオ出力IF部84は、ビデオ出力フォーマット変換部82から表示駆動部10へ映像系データを転送する。オーディオ出力IF部85は、信号処理部7からスピーカ12へ音声系データを転送する。尚、ビデオ出力IF部84とオーディオ出力IF部85とはそれぞれ、複数備えられていてもよい。また、ビデオ出力IF部84とオーディオ出力IF部85とは一体化されていてもよい。
<集積回路3を利用した再生装置による再生処理>
図122は、集積回路3を利用した再生装置による再生処理のフローチャートである。その再生処理は、光ディスクがディスクドライブに挿入される等、媒体IF部1が媒体にデータ受信可能に接続されたときに開始される。その再生処理では、再生装置は媒体からデータを受信して復号する。その後、再生装置は復号後のデータを映像信号及び音声信号として出力する。
ステップS1では、媒体IF部1が媒体からデータを受信し、又は読み出してストリーム処理部5へ転送する。その後、処理はステップS2へ進む。
ステップS2では、ストリーム処理部5は、ステップS1において受信され、又は読み出されたデータから映像系データと音声系データとを分離する。その後、処理はステップS3へ進む。
ステップS3では、信号処理部7は、ステップS2において分離された各データを、その符号化方式に適した方法で復号する。信号処理部7は更に、その復号処理と並行して、右目用データの中からメタデータを抽出して、AV出力部8へ通知する。ここで、信号処理部7は、右目用データに含まれるTSパケットのTS優先度フラグを監視して、メタデータを含むTSパケットを選別してもよい。それとは別に、信号処理部7は、同じデコーダが、TSパケットから非圧縮のピクチャ・データを復号する処理と、メタデータを抽出する処理との両方を行ってもよい。その後、処理はステップS4へ進む。
ステップS4では、AV出力部8は、ステップS3において復号された映像系データに対して重畳処理を行う。そのとき、AV出力部8は必要に応じ、ステップS3において抽出されたメタデータからオフセット情報を検索して利用する。その後、処理はステップS5へ進む。
ステップS5では、AV出力部8は、ステップS2−4において処理された映像系データ及び音声系データを出力する。その後、処理はステップS6へ進む。
ステップS6では、主制御部6が再生処理を続行すべきか否かを判断する。媒体IF部1によって媒体から新たに受信されるべき、又は読み出されるべきデータが残されている等の場合、ステップS1から処理が繰り返される。一方、光ディスクがディスクドライブから取り出され、又はユーザから再生停止が指示された等によって、媒体IF部1が媒体からのデータ受信、又は読み出しを終了させた場合、処理は終了する。
図123は、図122に示されている各ステップS1−6の詳細を示すフローチャートである。図122に示されている各ステップS101−110は、主制御部6の制御の下で行われる。ステップS101−103は主にステップS1の詳細に相当し、ステップS104は主にステップS2の詳細に相当し、ステップS105は主にステップS3の詳細に相当し、ステップS106−108は主にステップS4の詳細に相当し、ステップS109、S110は主にステップS5の詳細に相当する。
ステップS101では、デバイス・ストリームIF部51は媒体IF部1を通して媒体から、再生対象のデータよりも先に、そのデータの再生に必要なデータ、例えばプレイリスト・ファイル及びクリップ情報ファイルを受信し、又は読み出す。デバイス・ストリームIF部51は更に、メモリ制御部9を介してそのデータをメモリ2に格納する。その後、処理はステップS102へ進む。
ステップS102では、主制御部6は、クリップ情報ファイルに含まれるストリーム属性情報から、媒体に格納されている映像データと音声データとのそれぞれの符号化方式を識別する。主制御部6は更に、識別された符号化方式に対応する復号処理が実行できるように信号処理部7の初期化を行う。その後、処理はステップS103へ進む。
ステップS103では、デバイス・ストリームIF部51は、媒体IF部1を通して媒体から再生対象の映像データと音声データとを受信し、又は読み出す。特に、それらのデータはエクステント単位で受信され、又は読み出される。デバイス・ストリームIF部51は更に、それらのデータを切替部53とメモリ制御部9とを経由してメモリ2に格納する。特に左目用データが受信され、又は読み出されたとき、主制御部6は切替部53を制御して、左目用データの格納先をメモリ2内の第1の領域へ切り換えさせる。一方、右目用データが受信され、又は読み出されたとき、主制御部6は切替部53を制御して、右目用データの格納先をメモリ2内の第2の領域へ切り換えさせる。その後、処理はステップS104へ進む。
ステップS104では、メモリ2に格納されたデータは、ストリーム処理部5内の多重分離部52に転送される。多重分離部52はまず、そのデータを構成する各ソースパケットからPIDを読み取る。多重分離部52は次に、そのPIDに従って、そのソースパケットに含まれるTSパケットが映像系データと音声系データとのいずれであるのかを識別する。多重分離部52は更に、識別結果に従って各TSパケットを信号処理部7内の対応するデコーダへ転送する。ここで、信号処理部7は、右目用データに含まれるTSパケットのTS優先度フラグを監視して、メタデータを含むTSパケットを、主映像デコーダとは別の専用のモジュール、すなわちオフセット・メタデータ処理部へ送ってもよい。その後、処理はステップS105へ進む。
ステップS105では、信号処理部7内では各デコーダが、転送されたTSパケットを適切な方法で復号する。信号処理部7は更に、その復号処理と並行して、右目用データの中からメタデータを抽出して、AV出力部8へ通知する。ここで、その抽出処理は、主映像デコーダとは別のオフセット・メタデータ処理部が行っても、主映像デコーダが復号処理と同時に行ってもよい。その後、処理はステップS106へ進む。
ステップS106では、信号処理部7において復号されたレフトビュー・ビデオ・ストリーム及びライトビュー・ビデオ・ストリームの各ピクチャがビデオ出力フォーマット変換部82に送られる。ビデオ出力フォーマット変換部82はそれらのピクチャを表示装置4の解像度に合わせてリサイズする。その後、処理はステップS107へ進む。
ステップS107では、画像重畳部81は、ステップS106においてリサイズされたピクチャから成るビデオ・プレーン・データをビデオ出力フォーマット変換部82から受信する。一方、画像重畳部81は信号処理部7から復号後のPGプレーン・データとIGプレーン・データとを受信する。画像重畳部81は更に、それらのプレーン・データを互いに重畳する。その後、処理はステップS108へ進む。
ステップS108では、ビデオ出力フォーマット変換部82は、ステップS107において重畳されたプレーン・データを画像重畳部81から受信する。ビデオ出力フォーマット変換部82は更に、そのプレーン・データに対してIP変換を行う。その後、処理はステップS109へ進む。
ステップS109では、オーディオ・ビデオ出力IF部83は、ビデオ出力フォーマット変換部82からは、ステップS108においてIP変換を受けた映像系データを受信し、信号処理部7からは復号後の音声系データを受ける。オーディオ・ビデオ出力IF部83は更に、それらのデータに対して、表示装置・スピーカ4によるデータ出力方式、又はそれぞれへのデータ送信方式に従って符号化処理及びD/A変換等を行う。それにより、映像系データと音声系データとはそれぞれ、アナログ出力形式又はデジタル出力形式に変換される。例えばアナログ出力形式の映像系データには、コンポジット映像信号、S映像信号、及びコンポーネント映像信号等が含まれる。また、デジタル出力形式としては、HDMI等がサポートされている。その後、処理はステップS110へ進む。
ステップS110では、オーディオ・ビデオ出力IF部83は、ステップS109において処理された映像系データ及び音声系データを表示装置・スピーカ4へ送信する。その後、処理はステップS6へ進む。尚、ステップS6については上記の説明を援用する。
上記の各ステップでは、データが処理される度に、その結果がメモリ2に一時的に格納されてもよい。また、ステップS106及びS108でのビデオ出力フォーマット変換部82によるリサイズ処理及びIP変換処理は、必要に応じて省略されてもよい。更に、それらの処理に加え、又はそれらの処理に代えて、ノイズ・リダクション処理及びフレームレート変換処理等、他の処理が行われてもよい。更に、可能なものについては処理手順が変更されてもよい。
図120に示されている表示装置で再生処理を行う場合でも、その再生処理のフローチャートは基本的には、図122、123に示されているものと同様である。図120、121に示されている各機能ブロックは、図110、113に示されている各機能ブロックと同様に動作する。
《補足》
<3D映像の再生方法の原理>
3D映像の再生方法は、ホログラフィ技術を用いる方法と、視差映像を用いる方法との2つに大別される。
ホログラフィ技術を用いる方法の特徴は、現実の立体的な物体から人間の視覚に与えられる光学的な情報とほぼ全く同じ情報を視聴者の視覚に与えることにより、その視聴者に映像中の物体を立体的に見せる点にある。しかし、この方法を動画表示に利用する技術は理論上確立されてはいる。しかし、その動画表示に必要とされる、膨大な演算をリアルタイムに処理可能なコンピュータ、及び、1mmあたり数千本という超高解像度の表示装置はいずれも、現在の技術ではまだ、実現が非常に難しい。従って、この方法を商業用として実用化する目途は、現時点ではほとんど立っていない。
「視差映像」とは、一つのシーンを見る視聴者の各目に映る2D映像の対、すなわち、レフトビューとライトビューとの対をいう。視差映像を用いる方法の特徴は、一つのシーンのレフトビューとライトビューとを視聴者の各目だけに見えるように再生することにより、その視聴者にそのシーンを立体的に見せる点にある。
図82の(a)−(c)は、視差映像を用いる方法による3D映像(立体視映像)の再生原理を説明するための模式図である。図82の(a)は、視聴者VWRが、顔の正面に置かれた立方体CBCを見ている光景の上面図である。図82の(b)、(c)はそれぞれ、そのときに視聴者VWRの左目LEY、右目REYに見える立方体CBCの外観を2D映像として示す模式図である。図82の(b)、(c)を比較すれば明らかなとおり、各目に見える立方体CBCの外観はわずかに異なる。この外観の差、すなわち両眼視差から、視聴者VWRは立方体CBCを立体的に認識できる。従って、視差映像を用いる方法では、まず、一つのシーン、例えば図82の(a)に示されている立方体CBCに対し、視点が異なる左右の2D映像、例えば図82の(b)に示されている立方体CBCのレフトビュー、及び図82の(c)に示されているそのライトビューを準備する。ここで、各視点の位置は視聴者VWRの両眼視差から決定される。次に、各2D映像を視聴者VWRのそれぞれの目だけに見えるように再生する。それにより、視聴者VWRには、画面に再生されるそのシーン、すなわち立方体CBCの映像が立体的に見える。このように、視差映像を用いる方法は、ホログラフィ技術を用いる方法とは異なり、高々二つの視点から見える2D映像を準備するだけでよい点で有利である。
視差映像を用いる方法については、それを具体化するための方式が多様に提案されている。それらの方式は、左右の2D映像を視聴者のそれぞれの目にいかにして見せるかという観点から、継時分離方式、レンチキュラーレンズを用いる方式、及び二色分離方式等に分けられる。
継時分離方式では、画面に左右の2D映像を一定時間ずつ交互に表示する一方、視聴者にシャッター眼鏡を通して画面を観察させる。ここで、シャッター眼鏡は、各レンズが例えば液晶パネルで形成されている。各レンズは、画面上の2D映像の切り換えに同期して交互に光をその全体で一様に透過させ、又は遮断する。すなわち、各レンズは、視聴者の目を周期的に塞ぐシャッターとして機能する。より詳細に言えば、画面上に左映像が表示される期間では、シャッター眼鏡は左側のレンズには光を透過させ、右側のレンズには光を遮断させる。逆に、画面上に右映像が表示されている期間では、シャッター眼鏡は右側のレンズには光を透過させ、左側のレンズには光を遮断させる。それにより、視聴者の目には、左右の映像の残像が重なって一つの3D映像に見える。
継時分離方式では、上記のとおり、左右の映像を一定周期で交互に表示する。例えば2D映像の再生において1秒当たり24枚の映像フレームが表示されるとき、3D映像の再生では左右の映像を合わせて、1秒当たり48枚の映像フレームが表示される。従って、この方式には、画面の書き換えを速く実行できる表示装置が好適である。
レンチキュラーレンズを用いる方式では、左右の各映像フレームを、縦方向に細長い短冊形の小領域に分割し、一つの画面の中に左右の映像フレームの各小領域を横方向に交互に並べて同時に表示する。ここで、画面の表面はレンチキュラーレンズで覆われている。レンチキュラーレンズは、細長い蒲鉾レンズを複数平行に並べて一枚のシート状にしたものである。各蒲鉾レンズは画面の表面を縦方向に延びている。レンチキュラーレンズを通して上記左右の映像フレームを視聴者に見せるとき、左映像フレームの表示領域からの光は視聴者の左目だけに結像し、右映像フレームの表示領域からの光は右目だけに結像するようにできる。こうして、左右の目に映る映像間での両眼視差により、視聴者には3D映像が見える。尚、この方式では、レンチキュラーレンズに代えて、同様な機能を持つ液晶素子等の他の光学部品が利用されてもよい。その他に、例えば左映像フレームの表示領域には縦偏光のフィルタを設置し、右映像フレームの表示領域には横偏光のフィルタを設置してもよい。そのとき、視聴者には偏光眼鏡を通して画面を見させる。ここで、その偏光眼鏡では、左側のレンズに縦偏光フィルタが設置され、かつ右側のレンズに横偏光フィルタが設置されている。従って、左右の映像が視聴者のそれぞれの目だけに見えるので、視聴者に3D映像を見せることができる。
視差映像を用いる方法では、3D映像コンテンツが、初めから左右の映像の組み合わせで構成されている場合の他に、2D映像とデプスマップとの組み合わせで構成されていてもよい。その2D映像は、再生対象の3D映像から仮想的な2D画面への射影を表し、デプスマップは、その2D画面に対するその3D映像の各部の奥行きを画素別に表す。3D映像コンテンツが2D映像とデプスマップとの組み合わせで構成されているとき、3D再生装置又は表示装置はまず、それらの組み合わせから左右の映像を構成し、次にそれらの映像から上記の方式のいずれかで3D映像を再現する。
図83は、2D映像MVWとデプスマップDPHとの組み合わせからレフトビューLVWとライトビューRVWとを構成する例を示す模式図である。図83を参照するに、2D映像MVWでは、背景BGVの中に円板DSCが表示されている。デプスマップDPHはその2D映像MVW内の各部の奥行きを画素ごとに示す。そのデプスマップDPHによれば、2D映像MVWのうち、円板DSCの表示領域DA1の奥行きが画面よりも手前であり、かつ、背景BGVの表示領域DA2の奥行きが画面よりも奥である。再生装置内では視差映像生成部PDGがまず、デプスマップDPHの示す各部の奥行きから2D映像MVW内の各部の両眼視差を計算する。視差映像生成部PDGは次に、2D映像MVW内の各部の表示位置を、計算された両眼視差に応じて左右に移動させて、レフトビューLVWとライトビューRVWとを構成する。図83に示されている例では、視差映像生成部PDGは、2D映像MVW内の円板DSCの表示位置に対し、レフトビューLVW内の円板DSLの表示位置をその両眼視差の半分S1だけ右に移動させ、ライトビューRVW内の円板DSRの表示位置をその両眼視差の半分S1だけ左に移動させる。それにより、視聴者には円板DSCが画面よりも手前に見える。一方、視差映像生成部PDGは、2D映像MVW内の背景BGVの表示位置に対し、レフトビューLVW内の背景BGLの表示位置をその両眼視差の半分S2だけ左に移動させ、ライトビューRVW内の背景BGRの表示位置をその両眼視差の半分S2だけ右に移動させる。それにより、視聴者には背景BGVが画面よりも奥に見える。
視差映像を用いる方法による3D映像の再生システムは、映画館及び遊園地のアトラクション等で利用されるものについては既に確立され、一般的に使用されている。従って、その方法は、3D映像を再生可能なホームシアター・システムの実用化にも有効である。本発明の実施形態では、視差映像を用いる方法のうち、継時分離方式又は偏光眼鏡を用いた方式を想定する。但し、本発明は、それらの方式とは異なる他の方式に対しても、それらが視差映像を用いている限り、適用可能である。それは、上記の実施形態の説明から当業者には明らかであろう。
<BD−ROMディスク上のファイルシステム>
BD−ROMディスク101のファイルシステムとしてUDFが利用されるとき、図2に示されているボリューム領域202Bは、一般に複数のディレクトリ、ファイルセット記述子、及び終端記述子のそれぞれが記録された領域を含む。「ディレクトリ」は、同じディレクトリを構成するデータ群である。「ファイルセット記述子」は、ルートディレクトリのファイル・エントリが記録されているセクタのLBNを示す。「終端記述子」はファイルセット記述子の記録領域の終端を示す。
各ディレクトリは共通のデータ構造を持つ。各ディレクトリは特に、ファイル・エントリ、ディレクトリ・ファイル、及び下位ファイル群を含む。
「ファイル・エントリ」は、記述子タグ、ICB(Information Control Block)タグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。例えば記述子タグの値が“261”であるとき、そのデータの種類はファイル・エントリである。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は、同じディレクトリに属するディレクトリ・ファイルが記録されたセクタのLBNを示す。
「ディレクトリ・ファイル」は、下位ディレクトリのファイル識別記述子と下位ファイルのファイル識別記述子とを一般に複数ずつ含む。「下位ディレクトリのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ディレクトリにアクセスするための情報である。このファイル識別記述子は、その下位ディレクトリの識別情報、ディレクトリ名の長さ、ファイル・エントリ・アドレス、及びディレクトリ名そのものを含む。特にファイル・エントリ・アドレスは、その下位ディレクトリのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル識別記述子」は、そのディレクトリの直下に置かれた下位ファイルにアクセスするための情報である。このファイル識別記述子は、その下位ファイルの識別情報、ファイル名の長さ、ファイル・エントリ・アドレス、及びファイル名そのものを含む。特にファイル・エントリ・アドレスは、その下位ファイルのファイル・エントリが記録されたセクタのLBNを示す。「下位ファイルのファイル・エントリ」は、後述のとおり、下位ファイルの本体を構成するデータのアドレス情報を含む。
ファイルセット記述子と下位ディレクトリ/ファイルのファイル識別記述子とを順番に辿ってゆけば、ボリューム領域202Bに記録された任意のディレクトリ/ファイルのファイル・エントリにアクセスすることができる。具体的には、まず、ファイルセット記述子からルートディレクトリのファイル・エントリが特定され、そのファイル・エントリ内のアロケーション記述子からルートディレクトリのディレクトリ・ファイルが特定される。次に、そのディレクトリ・ファイルからルートディレクトリ直下のディレクトリのファイル識別記述子が検出され、その中のファイル・エントリ・アドレスからそのディレクトリのファイル・エントリが特定される。更に、そのファイル・エントリ内のアロケーション記述子からそのディレクトリのディレクトリ・ファイルが特定される。続いて、そのディレクトリ・ファイルのうち、下位ディレクトリ又は下位ファイルのファイル識別記述子内のファイル・エントリ・アドレスからその下位ディレクトリ又は下位ファイルのファイル・エントリが特定される。
「下位ファイル」はそれぞれエクステントとファイル・エントリとを含む。「エクステント」は一般に複数であり、それぞれ、ディスク上の論理アドレス、すなわちLBNが連続しているデータ列である。エクステントの全体が下位ファイルの本体を構成する。「ファイル・エントリ」は、記述子タグ、ICBタグ、及びアロケーション記述子を含む。「記述子タグ」は、その記述子タグを含むデータの種類がファイル・エントリであることを示す。「ICBタグ」はそのファイル・エントリ自身の属性情報を示す。「アロケーション記述子」は各エクステントに対して一つずつ設けられ、ボリューム領域202B上での各エクステントの配置、具体的には各エクステントのサイズとその先端のLBNとを示す。従って、各アロケーション記述子を参照することにより、各エクステントにアクセスすることができる。その他に、各アロケーション記述子の上位2ビットは、そのアロケーション記述子の示すLBNのセクタにエクステントが実際に記録されているか否かを示す。すなわち、その上位2ビットが“0”であるとき、そのセクタにはエクステントが割り付け済みであり、かつ記録済みであることを示し、“1”であるとき、そのセクタにエクステントが割り付け済みではあるが未記録であることを示す。
UDFを利用した上記のファイルシステムと同様、ボリューム領域202Bに対するファイルシステムでは一般に、ボリューム領域202Bに記録された各ファイルが複数のエクステントに分割されているとき、上記のアロケーション記述子のように、各エクステントの配置を示す情報がボリューム領域202Bに併せて記録される。その情報を参照することにより、各エクステントの配置、特にその論理アドレスを知ることができる。
<データ・ブロックとエクステント・ブロックとのサイズ>
図19に示されているように、BD−ROMディスク101上の多重化ストリーム・データはディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とに分割されて配置されている(n=0、1、2、3、…)。それらのデータ・ブロック群D[n]、B[n]は更に、トラックに沿ってインターリーブ配置で連続的に記録されることにより、複数のエクステント・ブロック1901−1903を構成している。これらのエクステント・ブロック1901−1903から2D映像と3D映像とのいずれをもシームレスに再生するには、各データ・ブロックと各エクステント・ブロック1901−1903とのサイズは、再生装置102の性能に基づく以下の条件を満たせばよい。
≪2D再生モードの性能に基づく条件≫
図84は、2D再生モードの再生装置102内の再生処理系統を示すブロック図である。図84を参照するに、その再生処理系統は、図37に示されている、BD−ROMドライブ3701、リード・バッファ3721、及びシステム・ターゲット・デコーダ3725を含む。BD−ROMドライブ3701はBD−ROMディスク101から2Dエクステントを読み出し、読み出し速度RUD54でリード・バッファ3721へ転送する。システム・ターゲット・デコーダ3725は、リード・バッファ3721内に蓄積された各2Dエクステントからソースパケットを平均転送速度REXT2Dで読み出して、映像データVDと音声データADとに復号する。
平均転送速度REXT2Dは、システム・ターゲット・デコーダ3725が各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しく、一般に2Dエクステントごとに異なる。平均転送速度REXT2Dの最高値RMAX2Dは、ファイル2Dに対するシステムレートRTSの192/188倍に等しい。ここで、係数192/188はソースパケットとTSパケットとの間のバイト数の比に等しい。平均転送速度REXT2Dは通常ビット/秒で表され、具体的には、ビット単位で表された2DエクステントのサイズをエクステントATC時間で割ったときの値に等しい。「ビット単位で表されたエクステントのサイズ」は、そのエクステント内のソースパケット数とソースパケット一つ当たりのビット数(=192[バイト]×8[ビット/バイト])との積に等しい。
読み出し速度RUD54は通常ビット/秒で表され、平均転送速度REXT2Dの最高値RMAX2Dよりも高い値、例えば54Mbpsに設定される:RUD54>RMAX2D。それにより、BD−ROMドライブ3701がBD−ROMディスク101から一つの2Dエクステントを読み出している間、システム・ターゲット・デコーダ3725の復号処理に伴うリード・バッファ3721のアンダーフローが防止される。
図85の(a)は、2D再生モードでの動作中、リード・バッファ3721に蓄積されるデータ量DAの変化を示すグラフである。図85の(b)は、再生対象のエクステント・ブロック8510と2D再生モードでの再生経路8520との間の対応関係を示す模式図である。図85の(b)を参照するに、再生経路8520に従い、エクステント・ブロック8510内の各ベースビュー・データ・ブロックB[n](n=0、1、2、…)が一つの2DエクステントEXT2D[n]としてBD−ROMディスク101からリード・バッファ3721へ読み出される。図85の(a)を参照するに、各2DエクステントEXT2D[n]の読み出し期間PR2D[n]では、蓄積データ量DAは、読み出し速度RUD54と平均転送速度REXT2D[n]との間の差RUD54−REXT2D[n]に等しい速度で増加する。一方、二つの連続する2DエクステントEXT2D[n−1]、EXT2D[n]の間ではジャンプJ2D[n]が生じる。そのジャンプ期間PJ2D[n]では、ディペンデントビュー・データ・ブロックD[n]の読み出しがスキップされるので、BD−ROMディスク101からのデータの読み出しが停止する。従って、ジャンプ期間PJ2D[n]では蓄積データ量DAは平均転送速度REXT2D[n]で減少する。
BD−ROMドライブ3701による読み出し/転送動作は実際には、図85の(a)のグラフから示唆される連続的なものではなく、断続的なものである。それにより、各2Dエクステントの読み出し期間PR2D[n]に蓄積データ量DAがリード・バッファ3721の容量を超えること、すなわちリード・バッファ3721のオーバーフローが防止される。すなわち、図85の(a)のグラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図85の(b)に示されているエクステント・ブロック8510から2D映像をシームレスに再生するには、以下の条件[1]、[2]が満たされればよい。
[1]各ジャンプ期間PJ2D[n]ではリード・バッファ3721からシステム・ターゲット・デコーダ3725へのデータ供給を持続させて、そのデコーダ3725に連続的な出力を確保させなければならない。それには次の条件が満たされればよい:各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、その読み出し期間PR2D[n]から次のジャンプ期間PJ2D[n+1]にわたって、リード・バッファ3721からシステム・ターゲット・デコーダ3725へ転送されるデータ量に等しい。その場合、図85の(a)に示されているように、蓄積データ量DAはそのジャンプ期間PJ2D[n+1]の終了時、その読み出し期間PR2D[n]の開始時での量を下回らない。すなわち、各ジャンプ期間PJ2D[n]ではリード・バッファ3721からシステム・ターゲット・デコーダ3725へのデータ供給が持続し、特にリード・バッファ3721はアンダーフローを生じない。ここで、読み出し期間PR2D[n]の長さは2DエクステントEXT2D[n]のサイズSEXT2D[n]を読み出し速度RUD54で割った値SEXT2D[n]/RUD54に等しい。従って、各2DエクステントEXT2D[n]のサイズSEXT2D[n]は、次式(1)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
式(1)では、ジャンプ時間TJUMP−2D[n]はジャンプ期間PJ2D[n]の長さであり、秒単位で表される。一方、読み出し速度RUD54と平均転送速度REXT2Dとはいずれもビット/秒で表される。従って、式(1)では平均転送速度REXT2Dを数「8」で割り、2DエクステントのサイズSEXT2D[n]の単位をビットからバイトへ変換している。すなわち、2DエクステントのサイズSEXT2D[n]はバイト単位で表される。関数CEIL()は、括弧内の数値の小数点以下の端数を切り上げる操作を意味する。
[2]リード・バッファ3721の容量は有限であることから、ジャンプ時間TJUMP−2D[n]の最大値は制限される。すなわち、ジャンプ期間PJ2D[n]の直前に蓄積データ量DAがリード・バッファ3721の容量一杯であっても、ジャンプ時間TJUMP−2D[n]が長すぎれば、ジャンプ期間PJ2D[n]中に蓄積データ量DAが0に達し、リード・バッファ3721のアンダーフローが生じる危険性がある。以下、BD−ROMディスク101からリード・バッファ3721へのデータ供給が途絶えている状態で蓄積データ量DAがリード・バッファ3721の容量から0に到達するまでの時間、すなわち、シームレス再生を保証できるジャンプ時間TJUMP−2Dの最大値を「最大ジャンプ時間TJUMP_MAX」という。
光ディスクの規格では通常、ジャンプ距離と最大ジャンプ時間との間の関係が光ディスクドライブのアクセス・スピード等から決められている。図86は、BD−ROMディスクに関するジャンプ距離SJUMPと最大ジャンプ時間TJUMP_MAXとの間の対応表の一例である。図86を参照するに、ジャンプ距離SJUMPはセクタ単位で表され、最大ジャンプ時間TJUMP_MAXはm秒単位で表されている。1セクタは2048バイトに等しい。ジャンプ距離SJUMPが、0セクタ、1−10000セクタ、10001−20000セクタ、20001−40000セクタ、40001セクタ−1/10ストローク、及び1/10ストローク以上の各範囲に属するとき、最大ジャンプ時間TJUMP_MAXはそれぞれ、0m秒、250m秒、300m秒、350m秒、700m秒、及び1400m秒である。ジャンプ距離SJUMPが0セクタに等しいときの最大ジャンプ時間TJUMP_MAXはゼロ・セクタ遷移時間TJUMP0に等しい。但し、図86の例ではゼロ・セクタ遷移時間TJUMP0は0m秒と見なされている。
以上のことから、式(1)に代入されるべきジャンプ時間TJUMP−2D[n]は、BD−ROMディスクの規格によってジャンプ距離別に規定された最大ジャンプ時間TJUMP_MAXである。具体的には、図86の表において、2DエクステントEXT2D[n−1]、EXT2D[n]間でのジャンプ距離SJUMP、すなわち、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応する最大ジャンプ時間TJUMP_MAXが、ジャンプ時間TJUMP−2D[n]として式(1)に代入される。
二つの2DエクステントEXT2D[n]、EXT2D[n+1]間のジャンプJ2D[n]では、そのジャンプ時間TJUMP−2D[n]が最大ジャンプ時間TJUMP_MAXに制限されることから、そのジャンプ距離SJUMP、すなわち二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔も制限される。このジャンプ距離SJUMPの最大値のように、ジャンプ時間TJUMPが最大ジャンプ時間TJUMP_MAXに等しいときでのジャンプ距離SJUMPを「最大ジャンプ距離SJUMP_MAX」という。2D映像のシームレス再生には、2Dエクステントのサイズが式(1)を満たすことに加えて、2Dエクステントの間隔が最大ジャンプ距離SJUMP_MAX以下であることが必要である。
各エクステント・ブロック内では、2Dエクステントの間隔はディペンデントビュー・データ・ブロックのサイズに等しい。従って、そのサイズが最大ジャンプ距離SJUMP_MAX以下に制限される。具体的には、2Dエクステント間の最大ジャンプ時間TJUMP_MAXが、図86に規定された最小値250秒に制限されるとき、その2Dエクステントの間隔、すなわちディペンデントビュー・データ・ブロックのサイズは、対応する最大ジャンプ距離SJUMP_MAX=10000セクタ以下に制限される。
異なる記録層に配置された二つのエクステント・ブロック間をシームレスに接続するとき、前のエクステント・ブロックの後端に位置する(n+1)番目の2DエクステントEXT2D[n]から、後のエクステント・ブロックの先端に位置する(n+2)番目の2DエクステントEXT2D[n+1]までロングジャンプが生じる。そのロングジャンプは、フォーカス・ジャンプ等、記録層の切り換え操作を伴う。従って、そのロングジャンプに必要な時間は、図86の表に規定された最大ジャンプ時間TJUMP_MAXに加えて、記録層の切り換え操作に要する時間、すなわち「層切換時間」を更に含む。「層切換時間」は例えば350m秒である。その結果、(n+1)番目の2DエクステントEXT2D[n]のサイズが満たすべき式(1)では、ジャンプ時間TJUMP−2D[n]は二つのパラメータTJ[n]、TL[n]の和で決まる:TJUMP−2D[n]=TJ[n]+TL[n]。第1パラメータTJ[n]は、BD−ROMディスクの規格によって、ロングジャンプのジャンプ距離SJUMPに対して規定された最大ジャンプ時間TJUMP_MAXを表す。その最大ジャンプ時間TJUMP_MAXは、図86の表において、(n+1)番目の2DエクステントEXT2D[n]の後端から(n+2)番目の2DエクステントEXT2D[n+1]の先端までのセクタ数に対応付けられた値に等しい。第2パラメータTL[n]は層切換時間、例えば350m秒を表す。従って、二つの2DエクステントEXT2D[n]、EXT2D[n+1]の間隔は、図86の表において、ロングジャンプの最大ジャンプ時間TJUMP_MAXから層切換時間を除いた値に対応する最大ジャンプ距離SJUMP_MAX以下に制限される。
≪3D再生モードの性能に基づく条件≫
図87は、3D再生モードの再生装置102内の再生処理系統を示すブロック図である。図87を参照するに、その再生処理系統は、図42に示されている、BD−ROMドライブ4201、スイッチ4220、RB14221、RB24222、及びシステム・ターゲット・デコーダ4225を含む。BD−ROMドライブ4201はBD−ROMディスク101からエクステントSSを読み出し、読み出し速度RUD72でスイッチ4220へ転送する。スイッチ4220は各エクステントSSをベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとに分離する。ベースビュー・データ・ブロックはRB14221へ格納され、ディペンデントビュー・データ・ブロックはRB24222へ格納される。システム・ターゲット・デコーダ4225は、RB14221内の各ベースビュー・データ・ブロックからはソースパケットをベースビュー転送速度REXT1で読み出し、RB24222内の各ディペンデントビュー・データ・ブロックからはソースパケットをディペンデントビュー転送速度REXT2で読み出す。システム・ターゲット・デコーダ4225は更に、読み出されたベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの対を映像データVDと音声データADとに復号する。
ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とはそれぞれ、システム・ターゲット・デコーダ4225がベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの各ソースパケットからTSパケットを抽出する処理の平均速度の192/188倍に等しい。ベースビュー転送速度REXT1の最高値RMAX1は、ファイル2Dに対するシステムレートRTS1の192/188倍に等しい。ディペンデントビュー転送速度REXT2の最高値RMAX2は、ファイルDEPに対するシステムレートRTS2の192/188倍と等しい。各転送速度REXT1、REXT2は通常ビット/秒で表され、具体的には、ビット単位で表された各データ・ブロックのサイズをエクステントATC時間で割ったときの値に等しい。エクステントATC時間は、そのデータ・ブロック内のソースパケットを全て、RB14221又はRB24222からシステム・ターゲット・デコーダ4225へ転送するのに要する時間に等しい。
読み出し速度RUD72は通常ビット/秒で表され、転送速度REXT1、REXT2のいずれの最高値RMAX1、RMAX2よりも高い値、例えば72Mbpsに設定される:RUD72>RMAX1、RUD72>RMAX2。それにより、BD−ROMドライブ4201によってBD−ROMディスク101から一つのエクステントSSを読み出している間、システム・ターゲット・デコーダ4225の復号処理に伴うRB14221とRB24222とのアンダーフローが防止される。
[エクステント・ブロック内でのシームレス接続]
図88の(a)、(b)は、一つのエクステント・ブロックから3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図88の(c)は、そのエクステント・ブロック8810と3D再生モードでの再生経路8820との間の対応関係を示す模式図である。図88の(c)を参照するに、再生経路8820に従い、エクステント・ブロック8810の全体が一つのエクステントSSとして一括して読み出される。その後、スイッチ4220によってそのエクステントSSからディペンデントビュー・データ・ブロックD[k]とベースビュー・データ・ブロックB[k]とが分離される(k=…、n、n+1、n+2、…)。
BD−ROMドライブ4101による読み出し/転送動作は実際には、図88の(a)、(b)の各グラフから示唆される連続的なものではなく、断続的なものである。それにより、各データ・ブロックD[k]、B[k]の読み出し期間PRD[k]、PRB[k]では、RB14221、RB24222のオーバーフローが防止される。すなわち、図88の(a)、(b)の各グラフは、実際には階段状である増減を直線的な増減として近似的に表したものである。
図88の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。図88の(c)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]から(n+1)番目のベースビュー・データ・ブロックB[n]まではゼロ・セクタ遷移J0[2n]が生じる。図88の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[n]では、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少し続け、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。
図88の(a)、(b)を更に参照するに、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB24222の蓄積データ量DA2は、ディペンデントビュー転送速度REXT2[n]で減少し続ける。図88の(c)を更に参照するに、そのベースビュー・データ・ブロックB[n]から次のディペンデントビュー・データ・ブロックD[n+1]まではゼロ・セクタ遷移J0[2n+1]が生じる。図88の(a)、(b)に示されているように、ゼロ・セクタ遷移期間PJ0[2n+1]では、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少し、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少し続ける。
一つのエクステント・ブロック8810から3D映像をシームレスに再生するには、以下の条件[3]、[4]が満たされればよい。
[3](n+1)番目のベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は少なくとも、その読み出し期間PRB[n]から次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前までに、RB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量に等しい。その場合、図88の(a)に示されているように、次のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]の直前では、RB14221の蓄積データ量DA1が、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]の直前での量を下回らない。ここで、(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]の長さは、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]を読み出し速度RUD72で割った値SEXT1[n]/RUD72に等しい。一方、(n+2)番目のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の長さは、そのディペンデントビュー・データ・ブロックD[n+1]のサイズSEXT2[n+1]を読み出し速度RUD72で割った値SEXT2[n+1]/RUD72に等しい。従って、そのベースビュー・データ・ブロックB[n]のサイズSEXT1[n]は、次式(2)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
[4](n+1)番目のディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は少なくとも、その読み出し期間PRD[n]から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前までに、RB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量に等しい。その場合、図88の(b)に示されているように、次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の直前では、RB24222の蓄積データ量DA2が(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の直前での量を下回らない。ここで、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]の長さは、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]を読み出し速度RUD72で割った値SEXT2[n]/RUD72に等しい。従って、そのディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]は、次式(3)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
[エクステント・ブロック間のシームレス接続]
図89の(b)は、(M+1)番目(整数Mは1以上である。)のエクステント・ブロック8901と(M+2)番目のエクステント・ブロック8902、及び、それらのエクステント・ブロック8901、8902と3D再生モードでの再生経路8920との間の対応関係を示す模式図である。図89の(b)を参照するに、二つのエクステント・ブロック8901、8902の間は層境界LB又は他のデータの記録領域によって分離されている。再生経路8920に従って、先に(M+1)番目のエクステント・ブロック8901の全体が(M+1)番目のエクステントSSEXTSS[M]として一括して読み出される。その直後にジャンプJ[M]が生じる。続いて、(M+2)番目のエクステント・ブロック8902が(M+2)番目のエクステントSSEXTSS[M+1]として一括して読み出される。
図89の(a)は、二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化、及びそれらの和DA1+DA2の変化を示すグラフ群である。図89の(a)では、一点鎖線のグラフは、RB14221に蓄積されるデータ量DA1の変化を示し、破線のグラフは、RB24222に蓄積されるデータ量DA2の変化を示し、実線のグラフは、両データ量の和DA1+DA2の変化を示す。ここで、実線のグラフは、データ・ブロックが一つ読み出されるごとに生じる細かい変化を均して直線的に近似したものである。更に、ゼロ・セクタ遷移時間TJUMP0は“0秒”とみなされている。
図89の(a)を参照するに、(M+1)番目のエクステント・ブロック8901の全体がBD−ROMディスク101からRB14221、RB24222へ読み出される期間PRBLK[M]では、それらに蓄積されるデータ量DA1、DA2も増大する。具体的には、(M+1)番目のエクステント・ブロック8901全体の読み出し期間PRBLK[M]中、蓄積データ量の和DA1+DA2は、読み出し速度RUD72と平均転送速度REXTSS[M]との間の差RUD72−REXTSS[M]に等しい速度で増加する。その平均転送速度REXTSS[M]は、(M+1)番目のエクステント・ブロック8901全体のサイズ、すなわち(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]をそのエクステントATC時間TEXTSSで割った値として評価される。
(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックがRB14221に読み込まれた時点で、蓄積データ量の和DA1+DA2は最大値に達する。その直後のジャンプJ[M]の期間PJ[M]では、蓄積データ量の和DA1+DA2は平均転送速度REXTSS[M]で減少する。従って、蓄積データ量の和DA1+DA2の最大値を十分に大きく調節することにより、ジャンプJ[M]中でのRB14221、RB24222のいずれのアンダーフローも防止することができる。その結果、二つのエクステント・ブロック8901、8902をシームレスに接続することができる。
蓄積データ量の和DA1+DA2の最大値は(M+1)番目のエクステント・ブロック8901のサイズで決まる。従って、(M+1)番目のエクステント・ブロック8901を(M+2)番目のエクステント・ブロック8902にシームレスに接続するには、(M+1)番目のエクステント・ブロック8901のサイズ、すなわち(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]が次の条件[5]を満たせばよい。
[5](M+1)番目のエクステント・ブロック8901の先端に位置するディペンデントビュー・データ・ブロックDの読み出し期間PRD[m]ではプリロードが行われる(整数mは1以上である)。そのプリロード期間PRD[m]ではまだ、そのディペンデントビュー・データ・ブロックDに対応するベースビュー・データ・ブロックBがRB14221には格納されていないので、ディペンデントビュー・データ・ブロックDをRB24222からシステム・ターゲット・デコーダ4225へ転送することができない。従って、そのプリロード期間PRD[m]では、その直前のジャンプJ[M−1]の期間に引き続き、M番目のエクステント・ブロックのデータがRB24222からシステム・ターゲット・デコーダ4225へ転送される。それにより、システム・ターゲット・デコーダ4225へのデータ供給が維持される。同様に、(M+2)番目のエクステント・ブロック8902の先端に位置するディペンデントビュー・データ・ブロックDの読み出し期間PRD[n]でもプリロードが行われる(整数nはm+1以上である)。従って、そのプリロード期間PRD[n]では、その直前のジャンプJ[M]の期間に引き続き、(M+1)番目のエクステント・ブロック8901のデータがRB24222からシステム・ターゲット・デコーダ4225へ転送される。それにより、システム・ターゲット・デコーダ4225へのデータ供給が維持される。それ故、ジャンプJ[M]中でのRB14221、RB24222のアンダーフローを防止するには、(M+1)番目のエクステントSSEXTSS[M]のエクステントATC時間TEXTSSが少なくとも、(M+1)番目のエクステント・ブロック8901でのプリロード期間PRD[m]の終了時点T0から(M+2)番目のエクステント・ブロック8902でのプリロード期間PRD[n]の終了時点T1までの期間の長さに等しければよい。すなわち、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]は少なくとも、その期間T0−T1にRB14221とRB24222とからシステム・ターゲット・デコーダ4225へ転送されるデータ量の和に等しければよい。
図89の(a)から明らかなとおり、期間T0−T1の長さは、(M+1)番目のエクステント・ブロック8901の読み出し期間PRBLK[M]の長さ、ジャンプJ[M]のジャンプ時間TJUMP[M]、及びエクステント・ブロック8901、8902間でのプリロード期間PRD[n]、PRD[m]の長さの差TDIFF[M]を足し合わせた値に等しい。更に、(M+1)番目のエクステント・ブロック8901の読み出し期間PRBLK[M]の長さは、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]を読み出し速度RUD72で割った値SEXTSS[M]/RUD72に等しい。従って、(M+1)番目のエクステントSSEXTSS[M]のサイズSEXTSS[M]は、次式(4)の右辺で表される最小エクステント・サイズ以上であればよい:
Figure 2011004600
ここで、各プリロード期間PRD[m]、PRD[n]の長さは、各エクステント・ブロック8901、8902の先端に位置するディペンデントビュー・データ・ブロックDのサイズSEXT2[m]、SEXT2[n]を読み出し速度RUD72で割った値SEXT2[m]/RUD72、SEXT2[n]/RUD72に等しい。従って、プリロード期間PRD[m]、PRD[n]の長さの差TDIFFはそれらの値の差に等しい:TDIFF=SEXT2[n]/RUD72−SEXT2[m]/RUD72。尚、式(4)の右辺は、式(1)−(3)の右辺と同様に、バイト単位の整数値で表されてもよい。
また、多重化ストリーム・データの復号処理を次のように工夫する場合には、式(4)の右辺で差TDIFFを0とみなしてもよい。まず、多重化ストリーム・データの全体での差TDIFFの最大値、すなわち差TDIFFのワースト値を予め求めておく。次に、その多重化ストリーム・データを再生する際、その復号処理の開始時点をその読み出しの開始時点よりも、差TDIFFのワースト値に等しい時間だけ遅らせる。
≪リード・バッファの容量を削減するための条件≫
図90の(a)、(b)は、図89の(b)に示されている二つのエクステント・ブロック8901、8902から連続して3D映像がシームレスに再生されるとき、RB14221、RB24222に蓄積されるデータ量DA1、DA2の変化を示すグラフである。図90の(a)を参照するに、(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックB[n−1]がRB14221に読み込まれた時点で、RB14221の蓄積データ量DA1は極大値DM1に達する。更に、その直後のジャンプJ[M]の期間PJ[M]から(M+2)番目のエクステント・ブロック8902のプリロード期間PRD[n]にわたり、蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。従って、そのプリロード期間PRD[n]の終了まで蓄積データ量DA1が0に達するのを防ぐには、蓄積データ量DA1の極大値DM1が、ジャンプ期間PJ[M]とプリロード期間PRD[n]とでRB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量以上であればよい。すなわち、蓄積データ量DA1の極大値DM1は、ジャンプ期間PJ[M]の長さTJUMP[M]とプリロード期間PRD[n]の長さSEXT2[n]/RUD72との和にベースビュー転送速度REXT1[n−1]を乗じた値以上であればよい:DM1≧(TJUMP[M]+SEXT2[n]/RUD72)×REXT1[n−1]。ここで、ジャンプ期間PJ[M]の長さTJUMP[M]がジャンプJ[M]の最大ジャンプ時間TJUMP_MAXに等しく、かつベースビュー転送速度REXT1[n−1]が最高値RMAX1に等しいとき、蓄積データ量DA1の極大値DM1は最も大きい。従って、RB14221には、そのときの極大値DM1以上の容量RB1が求められる:RB1≧(TJUMP_MAX+SEXT2[n]/RUD72)×RMAX1
一方、図90の(b)を参照するに、(M+1)番目のエクステント・ブロック8901の後端のベースビュー・データ・ブロックB[n−1]の読み込みが開始された時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。更に、そのベースビュー・データ・ブロックB[n−1]の読み出し期間から(M+2)番目のエクステント・ブロック8902のプリロード期間PRD[n]にわたり、蓄積データ量DA2はディペンデントビュー転送速度REXT2[n−1]で減少する。従って、そのプリロード期間PRD[n]の終了までシステム・ターゲット・デコーダ4225へのデータ供給を維持するには、蓄積データ量DA2の極大値DM2が、ベースビュー・データ・ブロックB[n−1]の読み出し期間、ジャンプ期間PJ[M]、及びプリロード期間PRD[n]でRB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量以上であればよい。すなわち、蓄積データ量DA2の極大値DM2は、ベースビュー・データ・ブロックB[n−1]の読み出し期間の長さSEXT1[n−1]/RUD72、ジャンプ期間PJ[M]の長さTJUMP[M]、及びプリロード期間PRD[n]の長さSEXT2[n]/RUD72の和にディペンデントビュー転送速度REXT2[n−1]を乗じた値以上であればよい:DM2≧(SEXT1[n−1]/RUD72+TJUMP[M]+SEXT2[n]/RUD72)×REXT2[n−1]。ここで、ジャンプ期間PJ[M]の長さTJUMP[M]がジャンプJ[M]の最大ジャンプ時間TJUMP_MAXに等しく、かつディペンデントビュー転送速度REXT2[n−1]が最高値RMAX2に等しいとき、蓄積データ量DA2の極大値DM2は最も大きい。従って、RB24222には、そのときの極大値DM2以上の容量RB2が求められる:RB2≧(SEXT1[n−1]/RUD72+TJUMP_MAX+SEXT2[n]/RUD72)×RMAX2。その上、いずれのディペンデントビュー・データ・ブロックも、飛び込み再生によって最初に読み込まれるデータ・ブロックとなり得るので、RB24222の容量RB2はいずれのディペンデントビュー・データ・ブロックのサイズも下回ってはならない:RB2≧SEXT2[k](整数kは任意)。
上記のとおり、各リード・バッファ4121、4122の容量RB1、RB2の下限値はデータ・ブロックのサイズSEXT1[k]、SEXT2[k]で決まる。従って、各容量RB1、RB2の節約を目的として、各データ・ブロックのサイズSEXT1[k]、SEXT2[k]の上限値、すなわち最大エクステント・サイズを以下の条件[6]で制限する。
[6]図19に示されているように、各エクステント・ブロック1901−1903内のベースビュー・データ・ブロックB[k]はファイル2DとファイルSSとに共有されている。従って、ベースビュー・データ・ブロックB[k]のサイズSEXT1[k]は式(1)を満たすべきである。一方、RB14221の容量RB1を可能な限り縮小するには、ベースビュー・データ・ブロックB[k]のサイズSEXT1[k]は2Dエクステントの最小エクステント・サイズの下限値以下であればよい。すなわち、そのサイズSEXT1[k]は、次式(5)の右辺で表される最大エクステント・サイズ以下であればよい:
Figure 2011004600
ここで、2Dエクステントの最小エクステント・サイズの下限値は、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えた形で評価されている。ジャンプ時間TJUMP−2D_MINは、各エクステント・ブロック1901−1903内で必要なジャンプ時間の最小値、すなわち2Dエクステント間の最大ジャンプ時間TJUMP_MAXの最小値である。具体的には、ジャンプ時間TJUMP−2D_MINは、図86の表で規定された最小値250秒に設定される。一方、2Dエクステントの間隔はディペンデントビュー・データ・ブロックD[k]のサイズSEXT2[k]に等しい。従って、ジャンプ時間TJUMP−2D_MINが250秒に設定されるとき、ディペンデントビュー・データ・ブロックD[k]のサイズSEXT2[k]は、図86の表で最大ジャンプ時間TJUMP_MAX=250秒に対応付けられた最大ジャンプ距離SJUMP_MAX=10000セクタ以下に制限される。すなわち、ディペンデントビュー・データ・ブロックの最大エクステント・サイズは10000セクタである。
≪まとめ≫
複数のエクステント・ブロックから2D映像と3D映像とのいずれをもシームレスに再生するには、上記の条件[1]−[6]が全て満たされればよい。特に、各データ・ブロックと各エクステント・ブロックとのサイズは次の条件1−5を満たせばよい。
条件1:2DエクステントのサイズSEXT2Dは式(1)を満たす。
条件2:ベースビュー・データ・ブロックのサイズSEXT1は式(2)を満たす。
条件3:ディペンデントビュー・データ・ブロックのサイズSEXT2は式(3)を満たす。
条件4:エクステント・ブロックのサイズSEXTSSは式(4)を満たす。
条件5:ベースビュー・データ・ブロックのサイズSEXT1は式(5)を満たす。
≪条件1の変形例≫
図21に示されている2D再生モードの再生経路2101から明らかなとおり、2D再生モードではジャンプが頻繁に生じる。従って、シームレス再生を更に確実に行うには、式(1)の右辺で表される2Dエクステントの最小エクステント・サイズに、マージン(余裕量)を更に追加するのが好ましい。しかし、そのマージンの追加によって条件5、すなわち式(5)が変更されることは、リード・バッファの容量の増大を招きかねないので、回避されるべきである。式(5)を変更しないようにマージンを追加する方法には、以下の三種類がある。
第1の方法は、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えることによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(6)を満たすことに変更される:
Figure 2011004600
ここで、式(5)には、式(1)の右辺の分母に含まれる平均転送速度REXT2Dをその最高値RMAX2Dに置き換えた表式が利用されている。従って、式(1)が式(6)に変更されても、式(5)は変更されない。
第2の方法は、2DエクステントのエクステントATC時間をΔT秒延長することによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(7A)又は(7B)を満たすことに変更される:
Figure 2011004600
延長時間ΔTは、GOPの長さ、又は、所定時間当たりに再生可能なエクステント数の上限から決定されてもよい。例えば、GOPの長さが最大1秒であれば、ΔT=1.0秒に設定される。一方、所定時間[秒]当たりに再生可能なエクステント数の上限がn個であれば、ΔT=所定時間/n[秒]に設定される。
第3の方法は、式(1)の右辺に含まれる平均転送速度REXT2Dを全て、その最高値RMAX2Dに置き換えることによって、2Dエクステントの最小エクステント・サイズにマージンを追加する。すなわち、条件1は、2DエクステントのサイズSEXT2Dが式(1)に代えて次式(8)を満たすことに変更される:
Figure 2011004600
この方法では、最小エクステント・サイズに更に大きいマージンを追加することはできる。しかし、その反面、2Dエクステントのビットレートが低い場合でも、そのサイズを十分に大きく確保しなければならない。従って、マージンの大きさとBD−ROMディスクへのデータの記録効率との比較衡量が必要である。
尚、第2の方法を採用する場合、2D映像のシームレス再生の更なる確実性をリード・バッファの容量の削減よりも優先させてもよいのであれば、式(5)を次式(9)に変更してもよい:
Figure 2011004600
<ストリーム・データの転送速度>
図91は、3D再生モードのシステム・ターゲット・デコーダ4225内に備えられたビデオ・ストリームの処理系統を示すブロック図である。図91を参照するに、その処理系統は、図45に示されている一対のソース・デパケタイザ4511、4512、一対のPIDフィルタ4513、4514、及び主映像デコーダ4515を含む。
第1ソース・デパケタイザ4511は、RB14221内の各ベースビュー・データ・ブロックからソースパケットをベースビュー転送速度REXT1で読み出す。第1ソース・デパケタイザ4511は更に、そのソースパケットの中からTSパケットを抽出して第1PIDフィルタ4513へ転送する。その転送の平均速度は最高で、ファイル2Dに対するシステムレートRTS1まで達する。従って、ベースビュー転送速度REXT1の最高値RMAX1はそのシステムレートRTS1の192/188倍に等しい。第1PIDフィルタ4513は、ベースビュー・ビデオ・ストリームを含むTSパケットを、主映像デコーダ4515内のTB14501へ送る。TB14501は、そのTSパケットからPESパケットを復元して、平均速度Rx1でMB14502へ転送する。MB14502は、そのPESパケットからベースビュー・ビデオ・ストリームのVAUを抽出し、平均速度Rbx1でEB14503へ転送する。
第2ソース・デパケタイザ4512は、RB24222内の各ディペンデントビュー・データ・ブロックからソースパケットをディペンデントビュー転送速度REXT2で読み出す。第2ソース・デパケタイザ4512は更に、そのソースパケットの中からTSパケットを抽出して第2PIDフィルタ4514へ転送する。その転送の平均速度は最高で、ファイルDEPに対するシステムレートRTS2まで達する。従って、ディペンデントビュー転送速度REXT2の最高値RMAX2はそのシステムレートRTS2の192/188倍に等しい。第2PIDフィルタ4514は、ディペンデントビュー・ビデオ・ストリームを含むTSパケットを、主映像デコーダ4515内のTB24508へ送る。TB24508は、そのTSパケットからPESパケットを復元して、平均速度Rx2でMB24509へ転送する。MB24509は、そのPESパケットからディペンデントビュー・ビデオ・ストリームのVAUを抽出し、平均速度Rbx2でEB24510へ転送する。
EB14503とEB24510とのそれぞれに蓄積されたVAUは、バッファ・スイッチ4506によって交互にDEC4504へ転送され、DEC4504によって非圧縮のピクチャ・データに復号される。ここで、図7に示されているように、ディペンデントビュー・ピクチャはベースビュー・ピクチャを参照して圧縮されている。従って、ディペンデントビュー・ビデオ・ストリームはベースビュー・ビデオ・ストリームよりも、平均的なビットレートが低い。それ故、ファイルDEPに対するシステムレートRTS2は、ファイル2Dに対するシステムレートRTS1よりも低く設定されれば十分である。例えば、ファイル2Dに対するシステムレートRTS1が45Mbps以下に設定されるとき、ファイルDEPに対するシステムレートRTS2は30Mbps以下に設定されれば十分である:RTS1≦45Mbps、RTS2≦30Mbps。
ここで、システムレートRTS1、RTS2の合計が一定の閾値以下に制限される場合を想定する。その閾値は、システム・ターゲット・デコーダ4225に割り当てられた転送帯域の幅以下に設定され、例えば60Mbpsに等しい:RTS1+RTS2≦60Mbps。その場合、ファイル2Dに対するシステムレートRTS1が45Mbpsに設定されれば、ファイルDEPに対するシステムレートRTS2は15Mbps以下に制限される:RTS1=45Mbps、RTS2≦15Mbps。各ビデオ・ストリームのビットレートが平均的な値に維持されている限り、システムレートRTS1、RTS2の合計に対するそのような制限は、上記の転送帯域を効率良く利用するのに有利である。しかし、実際には、ディペンデントビュー・ビデオ・ストリームのビットレートが一時的にベースビュー・ビデオ・ストリームのビットレートを超える場合はある。例えば自然の風景を表す3D映像において、ベースビュー(例えばレフトビュー)の焦点が突然外れて、ディペンデントビュー(例えばライトビュー)の焦点のみが合っている場合、そのようなビットレートの逆転が生じる。その場合、ベースビュー転送速度REXT1はシステムレートRTS1=45Mbpsよりかなり低いにもかかわらず、ディペンデントビュー転送速度REXT2はシステムレートRTS2≦15Mbps(正確には、その192/188≒1.02倍。以下、特に必要でない限り、その係数は1とみなす。)を超えることができない。このように、システムレートRTS1、RTS2の合計が制限されている場合、ディペンデントビュー転送速度REXT2が、ディペンデントビュー・ビデオ・ストリームのビットレートの一時的な上昇には対応できない。
その対応を可能にするには、システムレートRTS1、RTS2の合計に代えて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とのエクステント単位での合計を制限すればよい:REXT1[n]+REXT2[n]≦60Mbps。そのベースビュー転送速度REXT1[n]は、ファイル・ベース内の(n+1)番目のエクステントEXT1[n]を含むソースパケットを転送する際の平均値であり、そのディペンデントビュー転送速度REXT2[n]は、ファイルDEP内の(n+1)番目のエクステントEXT2[n]を含むソースパケットを転送する際の平均値である。図92の(a)、(b)はそれぞれ、その場合におけるベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との時間的な変化を示すグラフである。図92の(a)を参照するに、ベースビュー転送速度REXT1は、第1時刻T0で最高値RMAX1≒45Mbpsから急落し、第1時刻T0から第2時刻T1までの期間Tstr中、低レベル=15Mbpsに留まっている。図92の(b)で実線のグラフGR1が示すとおり、ディペンデントビュー転送速度REXT2はベースビュー転送速度REXT1の変化に対して相補的に変化できる。特に上記の期間Tstrには、ピークP1が最高値RMAX2≒30Mbpsまで到達できる。このように、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計がエクステント単位で制限されている場合、ディペンデントビュー転送速度REXT2は、ディペンデントビュー・ビデオ・ストリームのビットレートの一時的な上昇にも対応できる。
システム・ターゲット・デコーダ4225に割り当てられた転送帯域をストリーム・データの転送に更に効率良く利用するには、ファイルDEPに対するシステムレートRTS2を更に高く設定することが好ましい。図92の(c)は、図92の(a)、(b)に示されているベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2とを足し合わせた値の時間的な変化を示すグラフである。図92の(c)で実線のグラフGR3の窪みCVが示すとおり、ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和は、第1時刻T0から第2時刻T1までの期間Tstr中、閾値60Mbpsを下回っている。これは、図92の(b)で実線のグラフGR1が示すとおり、ディペンデントビュー転送速度REXT2がファイルDEPに対するシステムレートRTS2=30Mbps以下に制限されていることに因る。図92の(a)の示すとおり、その期間Tstrではベースビュー転送速度REXT1は15Mbpsまで降下しているので、転送帯域幅には、少なくとも、その値と閾値との間の差60−15=45Mbpsに等しい余裕が残されている。従って、ファイルDEPに対するシステムレートRTS2は、30Mbpsよりも高い範囲、好ましくはファイル2Dに対するシステムレートRTS1と同じ範囲、例えば45Mbps以下に設定される:RTS1≦45Mbps、RTS2≦45Mbps。図92の(b)、(c)にはそれぞれ、その場合におけるディペンデントビュー転送速度REXT2、及びベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和が破線のグラフGR2、GR4で示されている。図92の(b)で破線のグラフGR2が示すとおり、ディペンデントビュー転送速度REXT2のピークP2は30Mbpsを超えることができる。その結果、図92の(c)で破線のグラフGR4が示すとおり、ベースビュー転送速度REXT1とディペンデントビュー転送速度REXT2との和は、上記の期間Tstr中、閾値60Mbpsの近傍に維持される。こうして、上記の転送帯域の利用効率を更に向上させることができる。
但し、ファイルDEPに対するシステムレートRTS2をファイル2Dに対するシステムレートRTS1と同程度に高い値に設定した場合、それらの合計RTS1+RTS2は一般に、システム・ターゲット・デコーダ4225の転送帯域幅よりも高い。一方、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]とはいずれも平均値であるので、それらの合計に閾値を設けても、転送速度の瞬時値の合計がその閾値を超えることまでは制限されない。具体的な例として、各システムレートRTS1、RTS2が45Mbpsに設定され、各エクステントのエクステントATC時間が3秒間であって、かつその前半の1.5秒間では転送速度の合計が30Mbpsに維持されている場合を想定する。その場合、後半の1.5秒間で各転送速度が仮にシステムレート45Mbpsまで上昇したとしても、エクステント全体で平均された転送速度の合計は60Mbpsに抑えられる。従って、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計を60Mbps以下に制限しても、転送速度の瞬時値の合計が90Mbpsまで上昇することを阻むことはできない。このように、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との合計を制限するだけでは、システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性がゼロではない。
システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性を更に低減させることを目的として、転送速度の合計に対する制限を更に次のように変更してもよい。図93は、システム・ターゲット・デコーダ内でソース・デパケタイザからPIDフィルタへ転送されるTSパケットとATC時間との間の関係を示す模式図である。図93を参照するに、上段の矩形9310は、ベースビュー・エクステントを構成するTSパケット、TS1#p(p=0、1、2、3、…、k、k+1、k+2)の転送期間を表し、下段の矩形9320は、ディペンデントビュー・エクステントを構成するTSパケット、TS2#q(q=0、1、2、3、…、m−1、m、m+1)の転送期間を表す。それらの矩形9310、9320はATCの時間軸方向でTSパケットの転送順に並べられている。各矩形9310、9320の先頭の位置はそのTSパケットの転送開始時刻を表す。各矩形9310、9320の長さAT1、AT2は、1個のTSパケットがリード・バッファからシステム・ターゲット・デコーダへ転送されるのに要する時間を表す。3D再生装置は、一つのTSパケットをソース・デパケタイザから転送し始める度に、その転送開始時刻を起点とする所定時間長、例えば1秒間のウィンドウWIN1、WIN2、WIN3を設定する。3D再生装置は更に、各ウィンドウWIN1、WIN2、WIN3内でTS1とTS2との各転送速度を平均し、それらの平均値の合計を所定の閾値以下に制限する。図93に示されている例では、まず、TS1#0の転送開始時刻A1を起点とする第1ウィンドウWIN1が設定され、その中で転送されるTS1#0−kとTS2#0−mとについて、転送速度の合計が閾値以下に制限される。同様に、TS2#0の転送開始時刻A2を起点とする第2ウィンドウWIN2の中で転送されるTS1#0−(k+1)とTS2#0−mとについて、転送速度の合計が閾値以下に制限され、TS1#1の転送開始時刻A3を起点とする第3ウィンドウWIN3の中で転送されるTS1#1−(k+1)とTS2#0−(m+1)とについて、転送速度の合計が閾値以下に制限される。このように、一定長のウィンドウをTSパケット当たりの転送時間ずつずらしながら、各ウィンドウでの平均転送速度の合計を所定の閾値以下に制限する。それにより、ウィンドウが短いほど、システム・ターゲット・デコーダ4225の転送帯域が飽和する危険性が低減する。
ファイルDEPに対するシステムレートRTS2がファイル・ベースに対するシステムレートRTS1と同程度に高く設定される場合、ディペンデントビュー転送速度REXT2も同程度まで上昇する場合が想定される。(n+1)番目のディペンデントビュー・エクステントに対する転送速度REXT2[n]がそのように上昇した場合、転送速度の合計に対する制限から、(n+1)番目のベースビュー・エクステントに対する転送速度REXT1[n]は最高値RMAX1よりも顕著に降下する。一方、最大エクステント・サイズの定義式(5)では、分母に含まれる平均転送速度REXT2Dがその最高値RMAX2Dで評価される。更に、(n+1)番目のベースビュー・エクステントのエクステントATC時間は、その最大エクステント・サイズとベースビュー転送速度REXT1[n]との比で表される値を上限とする。従って、その上限は実際のエクステントATC時間よりも顕著に長い。(n+1)番目のベースビュー・エクステントと(n+1)番目のディペンデントビュー・エクステントとではエクステントATC時間が共通であるので、そのディペンデントビュー・エクステントのサイズは最大で、ディペンデントビュー転送速度REXT2[n]と上記のエクステントATC時間の上限との積に等しい。そのサイズは、シームレス再生に実際に必要な値よりも顕著に大きいので、RB2の容量の更なる削減が阻まれる。従って、ファイルDEPに対するシステムレートRTS2をファイル・ベースに対するシステムレートRTS1と同程度に高く設定する場合、好ましくは、最大エクステント・サイズに対する条件5、すなわち式(5)を次式(10)に変更する:
Figure 2011004600
式(10)の右辺では、分母に含まれる転送速度として、2Dエクステントに対する平均転送速度の最高値RMAX2D、又は、転送速度の最高値の合計RMAX1+RMAX2とディペンデントビュー転送速度REXT2との間の差のいずれか低い方が採用される。ここで、転送速度の最高値の合計RMAX1+RMAX2はシステムレートの合計RTS1+RTS2の192/188倍に等しい。従って、ディペンデントビュー転送速度REXT2がシステムレートと同程度まで上昇する場合には、上記の差で最大エクステント・サイズが評価される。それにより、ベースビュー・エクステントのエクステントATC時間の上限は実際のエクステントATC時間に近い値に抑えられる。それ故、ディペンデントビュー・エクステントのサイズは、シームレス再生に実際に必要な値程度に抑えられる。こうして、RB2の容量を十分に小さく維持することができる。
<ファイルDEPに対するシステムレートが高い場合のデータ・ブロックの配置>
図94の(a)は、一つのエクステント・ペアについて、ベースビュー転送速度REXT1[n]とディペンデントビュー転送速度REXT2[n]との組み合わせ別に最大エクステント・サイズmaxSEXT1[n]、maxSEXT2[n]を示す表である。ここで、「エクステント・ペア」とは、ファイル・ベースに含まれる(n+1)番目のベースビュー・エクステントと、ファイルDEPに含まれる(n+1)番目のディペンデントビュー・エクステントとの対をいう(n=0、1、2、…)。最大エクステント・サイズmaxSEXT2[n]、maxSEXT2[n]は、式(5)を用いて計算された値である。式(5)が2D再生モードのBD−ROMドライブの読み出し速度RUD54を含むことから明らかなとおり、最大エクステント・サイズmaxSEXT2[n]、maxSEXT2[n]はBD−ROMドライブの性能に依存する。従って、図94の(a)に示されている値は一例に過ぎない。
図94の(a)を参照するに、ベースビュー転送速度REXT1[n]が45Mbpsであり、かつディペンデントビュー転送速度REXT2[n]が15Mbpsであるとき、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]は6MBである。逆に、ベースビュー転送速度REXT1[n]が15Mbpsであり、かつディペンデントビュー転送速度REXT2[n]が45Mbpsであるとき、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]は8MBである。図90を用いて説明したとおり、各エクステント・ブロックの先頭に位置するディペンデントビュー・データ・ブロックのサイズが大きいほど、リード・バッファに要求される容量は大きい。従って、エクステント・ブロックのプリロード期間にディペンデントビュー転送速度REXT2[n]が上昇することは、ディペンデントビュー・エクステントの最大エクステント・サイズmaxSEXT2[n]が増大してリード・バッファの容量の更なる削減を阻むので好ましくない。
そこで、エクステント・ブロックの先頭に位置するエクステント・ペアEXT1[n]、EXT2[n]において、ディペンデントビュー転送速度REXT2[n]がベースビュー転送速度REXT1[n]を超える場合には、ベースビュー・データ・ブロックB[n]をディペンデントビュー・データ・ブロックD[n]の前に配置する。すなわち、そのエクステント・ペアの中で、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置する。それにより、以下に示すように、リード・バッファの容量を小さく維持することができる。
図94の(b)は、層境界LBを間に挟んで配置された二つのエクステント・ブロック9401、9402について、上記の配置を採用した場合を示す模式図である。図94の(b)を参照するに、ファイル・ベース9411とファイルDEP9412との間でのエクステント・ペアのうち、(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]がM番目のエクステント・ブロック9402の先頭に配置されている。そのエクステント・ペアでは、ディペンデントビュー転送速度REXT2[n]がベースビュー転送速度REXT1[n]よりも高いので、ディペンデントビュー・データ・ブロックD[n]はベースビュー・データ・ブロックB[n]よりもサイズが大きい。従って、そのエクステント・ペアでは、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されている。一方、(n−1)番目、n番目、及び(n+2)番目のエクステント・ペアEXT1[k]、EXT2[k](k=n−2、n−1、n+1)では、ディペンデントビュー転送速度REXT2[k]がベースビュー転送速度REXT1[k]よりも低いので、ディペンデントビュー・データ・ブロックD[k]はベースビュー・データ・ブロックB[k]よりもサイズが小さい。従って、それらのエクステント・ペアでは、ディペンデントビュー・データ・ブロックD[k]がベースビュー・データ・ブロックB[k]の前に配置されている。
図95の(a)、(b)は、図94の(b)に示されている二つのエクステント・ブロック9401、9402から連続して3D映像がシームレスに再生される際に、RB1とRB2とのそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。実線のグラフG1P、G2Pは、M番目のエクステント・ブロック9402の先頭に配置された(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]において、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA1、DA2の変化を示す。破線のグラフG1Q、G2Qは、そのエクステント・ペアEXT1[n]、EXT2[n]において、ディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の前に配置されているときの蓄積データ量DA1、DA2の変化を示す。
図95の(a)を参照するに、(M−1)番目のエクステント・ブロック9401の後端のベースビュー・データ・ブロックB[n−1]がRB1に読み込まれた時点で、RB1の蓄積データ量DA1は極大値DM10、DM11に達する。更に、その直後のジャンプ期間PJ[M]からM番目のエクステント・ブロック9402のプリロード期間PRB[n]、PRD[n]にわたり、蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。ここで、(n+1)番目のエクステント・ペアEXT1[n]、EXT2[n]では、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]よりもサイズが小さい。従って、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときのプリロード期間PRB[n]の長さSEXT1[n]/RUD72は、逆の配置でのプリロード期間PRD[n]の長さSEXT2[n]/RUD72よりも短い。その結果、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA1の極大値DM11は、逆の配置での極大値DM10よりも低い。
図95の(b)を参照するに、(M−1)番目のエクステント・ブロック9401の後端のベースビュー・データ・ブロックB[n−1]の読み込みが開始された時点で、RB2の蓄積データ量DA2は極大値DM20、DM21に達する。更に、そのベースビュー・データ・ブロックB[n−1]の読み出し期間からM番目のエクステント・ブロック9402のプリロード期間PRB[n]、PRD[n]にわたり、蓄積データ量DA2はディペンデントビュー転送速度REXT2[n−1]で減少する。ここで、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときのプリロード期間PRB[n]の長さSEXT1[n]/RUD72は、逆の配置でのプリロード期間PRD[n]の長さSEXT2[n]/RUD72よりも短い。その結果、ベースビュー・データ・ブロックB[n]がディペンデントビュー・データ・ブロックD[n]の前に配置されているときの蓄積データ量DA2の極大値DM21は、逆の配置での極大値DM20よりも低い。
上記のとおり、エクステント・ブロックの先頭に配置されたエクステント・ペアの中では、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置した場合、リード・バッファの容量を小さく維持することができる。
同様に、飛び込み再生の開始可能位置に配置されたエクステント・ペアでも、サイズの小さいデータ・ブロックをサイズの大きいデータ・ブロックよりも前に配置する。それにより、リード・バッファの容量を小さく維持することができる。その場合、エクステント・ブロックの先頭に限らず、途中に位置するエクステント・ペアの中でも、データ・ブロックの順序が逆転し得る。図96の(a)は、そのような配置に対するエクステント起点のデータ構造(Syntax)を示す模式図である。このエクステント起点(Extent_Start_Point)は、図24の(a)、(b)に示されているエクステント起点と同様に、ファイル2DとファイルDEPとのそれぞれに対して設定される。図96の(a)を参照するに、そのエクステント起点では、エクステントID(extent_id)とSPN(SPN_extent_start)との各対に一つのエクステント開始フラグ(is_located_first_in_extent_pair)が割り当てられている。
図96の(b)は、ファイル・ベースに属するベースビュー・エクステントEXT1[k](k=0、1、2、…)と、エクステント起点の示すエクステント開始フラグとの間の対応関係を表す模式図である。図96の(c)は、ファイルDEPに属するディペンデントビュー・エクステントEXT2[k]とエクステント開始フラグとの間の対応関係を表す模式図である。図96の(d)は、ファイルSSに属するエクステントSSEXTSS[0]とBD−ROMディスク上のエクステント・ブロックとの間の対応関係を示す模式図である。図96の(b)、(c)を参照するに、エクステントIDの等しいエクステント・ペアEXT1[k]、EXT2[k]では、エクステント開始フラグの値が逆に設定されている。特に、エクステント開始フラグの値が“1”であるエクステントは、“0”であるエクステントよりもソースパケットが少ない。図96の(d)を参照するに、エクステント開始フラグの値が“1”であるエクステントは、“0”であるエクステントよりも前に配置されている。このように、エクステント開始フラグは、エクステント・ペアEXT1[n]、EXT2[n]のうち、いずれのエクステントが前に配置されているかを示す。従って、エクステント開始フラグの値から、エクステント・ペアEXT1[n]、EXT2[n]の中でのデータ・ブロックの配置を知ることができる。それ故、エクステント・ペア間でデータ・ブロックの順序が異なっていても、再生制御部4235はエクステント起点を利用して、各エクステントSSの先頭からデータ・ブロック間の各境界までのソースパケット数をスイッチ4220に教えることができる。その結果、スイッチ4220はエクステントSSからベースビュー・エクステントとディペンデントビュー・エクステントとを分離できる。
各エクステント・ペアの中でデータ・ブロックの順序が一定である場合、RB1とRB2との各容量の下限値は、図90を利用して次のように算定された:RB1≧(TJUMP_MAX+SEXT2[n]/RUD72)×RMAX1、RB2≧max{(SEXT1[n−1]/RUD72+TJUMP_MAX+SEXT2[n]/RUD72)×RMAX2,SEXT2[n]}。それに対し、エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転してもよい場合、RB1とRB2との各容量の下限値は以下のように変更される。
図97の(c)は、RB14221に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。図97の(c)を参照するに、(M−1)番目のエクステント・ブロック9701とM番目のエクステント・ブロック9702とは、層境界LBを間に挟んで配置されている(整数Mは2以上である)。M番目のエクステント・ブロック9702の先頭には(n+1)番目のエクステント・ペアD[n]、B[n]が配置され、特にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の前に位置する(整数nは0以上である)。一方、(M−1)番目のエクステント・ブロック9701の後端にはn番目のエクステント・ペアD[n−1]、B[n−1]が配置され、特にベースビュー・データ・ブロックB[n−1]がディペンデントビュー・データ・ブロックD[n−1]の前に位置する。
図97の(a)、(b)は、図97の(c)に示されているエクステント・ブロック9701、9702から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。図97の(a)を参照するに、n番目のベースビュー・データ・ブロックB[n−1]がRB14221に読み込まれた時点で、RB14221の蓄積データ量DA1は極大値DM1に達する。その直後のディペンデントビュー・データ・ブロックD[n−1]の読み出し期間ΔT1から、層境界LBを越えるロングジャンプの期間ΔT2、及びM番目のエクステント・ブロック9702のプリロード期間ΔT3にわたり、RB14221にはデータ・ブロックが読み込まれないので、その蓄積データ量DA1は減少する。それらの期間ΔT1−ΔT3では、まず(n−1)番目までのベースビュー・データ・ブロックB[k](k=…、n−3、n−2)が平均転送速度REXT1[…,n−3,n−2]で転送され、続いてn番目のベースビュー・データ・ブロックB[n−1]が平均転送速度REXT1[n−1]で転送される。プリロード期間ΔT3の終了まで蓄積データ量DA1が0に達するのを防ぐには、その終了時点よりもn番目のベースビュー・データ・ブロックB[n−1]のエクステントATC時間TEXT1[n−1]だけ前の時点で蓄積データ量DA1が、少なくとも、そのベースビュー・データ・ブロックB[n−1]のサイズSEXT1[n−1]に等しければよい。従って、蓄積データ量DA1の極大値DM1はそのサイズSEXT1[n−1]よりも、残りの期間ΔT1+ΔT2+ΔT3−TEXT1[n−1]でRB14221からシステム・ターゲット・デコーダ4225へ転送されるデータ量REXT1[…,n−3,n−2]×(ΔT1+ΔT2+ΔT3−TEXT1[n−1])以上、大きければよい。すなわち、RB14221には、その極大値DM1以上の容量RB1が求められる:RB1≧SEXT1[n−1]+REXT1[…,n−3,n−2]×(ΔT1+ΔT2+ΔT3−TEXT1[n−1])。ここで、ロングジャンプの時間ΔT2はそのロングジャンプの最大ジャンプ時間TJUMP_MAXで評価される。
図97の(f)は、RB24222に求められる容量が最も大きいデータ・ブロックの配置を示す模式図である。図97の(f)を参照するに、(N−1)番目のエクステント・ブロック9703とN番目のエクステント・ブロック9704とは、層境界LBを間に挟んで配置されている(整数Nは2以上である)。N番目のエクステント・ブロック9704の先頭には(n+1)番目のエクステント・ペアD[n]、B[n]が配置され、特にディペンデントビュー・データ・ブロックD[n]がベースビュー・データ・ブロックB[n]の後に位置する。一方、(N−1)番目のエクステント・ブロック9703の後端にはn番目のエクステント・ペアD[n−1]、B[n−1]が配置され、特にベースビュー・データ・ブロックB[n−1]がディペンデントビュー・データ・ブロックD[n−1]の後に位置する。
図97の(d)、(e)は、図97の(f)に示されているエクステント・ブロック9703、9704から連続して3D映像がシームレスに再生される際に、RB14221、RB24222のそれぞれに蓄積されるデータ量DA1、DA2の変化を示すグラフである。図97の(e)を参照するに、n番目のディペンデントビュー・データ・ブロックD[n−1]がRB24222に読み込まれた時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。その直後のベースビュー・データ・ブロックB[n−1]の読み出し期間ΔT4から、層境界LBを越えるロングジャンプの期間ΔT5、及びN番目のエクステント・ブロック9704のプリロード期間ΔT6にわたり、RB24222にはデータ・ブロックが読み込まれないので、その蓄積データ量DA2は減少する。それらの期間ΔT4−ΔT6では、まず(n−1)番目までのディペンデントビュー・データ・ブロックD[k](k=…、n−3、n−2)が平均転送速度REXT2[…,n−3,n−2]で転送され、続いてn番目のディペンデントビュー・データ・ブロックD[n−1]が平均転送速度REXT2[n−1]で転送される。プリロード期間ΔT6の終了まで蓄積データ量DA2が0に達するのを防ぐには、その終了時点よりもn番目のディペンデントビュー・データ・ブロックD[n−1]のエクステントATC時間TEXT2[n−1]だけ前の時点で蓄積データ量DA2が、少なくとも、そのディペンデントビュー・データ・ブロックD[n−1]のサイズSEXT2[n−1]に等しければよい。従って、蓄積データ量DA2の極大値DM2はそのサイズSEXT2[n−1]よりも、残りの期間ΔT4+ΔT5+ΔT6−TEXT2[n−1]でRB24222からシステム・ターゲット・デコーダ4225へ転送されるデータ量REXT2[…,n−3,n−2]×(ΔT4+ΔT5+ΔT6−TEXT2[n−1])以上、大きければよい。すなわち、RB24222には、その極大値DM2以上の容量RB2が求められる:RB2≧SEXT2[n−1]+REXT2[…,n−3,n−2]×(ΔT4+ΔT5+ΔT6−TEXT2[n−1])。ここで、ロングジャンプの時間ΔT5はそのロングジャンプの最大ジャンプ時間TJUMP_MAXで評価される。
エクステント・ブロックの途中に位置するエクステント・ペアの中でデータ・ブロックの順序が逆転してもよい場合は更に、そのエクステント・ペアに対する条件2、3、すなわち式(2)、(3)は以下のように変更される。
図98の(c)は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9810を示す模式図である。図98の(c)を参照するに、(n+2)番目のエクステント・ペアD[n+1]、B[n+1]では、ディペンデントビュー・データ・ブロックD[n+1]がベースビュー・データ・ブロックB[n]の後に位置する。その前後のエクステント・ペアD[n]、B[n]、D[n+1]、B[n+1]では、ベースビュー・データ・ブロックB[n]、B[n+1]がディペンデントビュー・データ・ブロックD[n]、D[n+1]の後に位置する。
図98の(a)、(b)は、図98の(c)に示されているエクステント・ブロック9801から連続して3D映像がシームレスに再生される際に、RB14221、RB24222の各蓄積データ量DA1、DA2の変化を示すグラフである。ここで、ゼロ・セクタ遷移期間は他の期間に比べて十分に短いので無視されている。図98の(a)、(b)を参照するに、(n+1)番目のディペンデントビュー・データ・ブロックD[n]の読み出し期間PRD[n]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n]との間の差RUD72−REXT2[n]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n−1]で減少する。(n+1)番目のベースビュー・データ・ブロックB[n]の読み出し期間PRB[n]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n]との間の差RUD72−REXT1[n]に等しい速度で増加する。一方、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n]で減少する。(n+2)番目のベースビュー・データ・ブロックB[n+1]の読み出し期間PRB[n+1]では、RB14221の蓄積データ量DA1は、読み出し速度RUD72とベースビュー転送速度REXT1[n+1]との間の差RUD72−REXT1[n+1]に等しい速度で更に増加し続ける。一方、RB24222の蓄積データ量DA2はディペンデントビュー転送速度REXT2[n+1]で更に減少し続ける。更に、(n+2)番目のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n+1]との間の差RUD72−REXT2[n+1]に等しい速度で増加し、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n]で減少する。続いて、(n+3)番目のディペンデントビュー・データ・ブロックD[n+2]の読み出し期間PRD[n+2]では、RB24222の蓄積データ量DA2は、読み出し速度RUD72とディペンデントビュー転送速度REXT2[n+2]との間の差RUD72−REXT2[n+2]に等しい速度で更に増加し続け、RB14221の蓄積データ量DA1はベースビュー転送速度REXT1[n+1]で減少し続ける。
この場合、エクステント・ブロック9810から3D映像をシームレスに再生するには、まず、(n+1)番目のディペンデントビュー・データ・ブロックD[n]のエクステントATC時間が、その読み出し期間PRD[n]の開始時点から次のディペンデントビュー・データ・ブロックD[n+1]の読み出し期間PRD[n+1]の開始時点までの時間以上であればよい。次に、(n+1)番目と(n+2)番目とのベースビュー・データ・ブロックB[n]、B[n+1]のエクステントATC時間が、それらの読み出し期間PRB[n]、PRB[n+1]の開始時点から次のベースビュー・データ・ブロックB[n+2]の読み出し期間PRB[n+2]の開始時点までの時間以上であればよい。それらの条件は、n番目のエクステント・ペアの中でエクステントB(EXTB)がエクステントA(EXTA)よりも前に位置する場合を想定するとき、上記の式(2)、(3)に代えて、次式(2A)、(3A)で表される:
Figure 2011004600
ここで、式(2A)は、式(2)に含まれるベースビュー・データ・ブロックB[n]のサイズSEXT1[n]、ディペンデントビュー・データ・ブロックD[n+1]のサイズSEXT2[n+1]、及びベースビュー転送速度REXT1[n]をそれぞれ、エクステントAのサイズSEXTA[n]、エクステントBのサイズSEXTB[n+1]、及び、エクステントAに対する平均転送速度REXTA[n]に変更することで得られる。式(3A)は、式(3)に含まれるベースビュー・データ・ブロックB[n]のサイズSEXT1[n]、ディペンデントビュー・データ・ブロックD[n]のサイズSEXT2[n]、及びディペンデントビュー転送速度REXT2[n]をそれぞれ、エクステントAのサイズSEXTA[n]、エクステントBのサイズSEXTB[n]、及び、エクステントBに対する平均転送速度REXTB[n]に変更することで得られる。尚、式(2A)、(3A)のいずれでも、ゼロ・セクタ遷移期間の長さTJUMP0は0とみなされている。
図99は、データ・ブロックの順序が逆転しているエクステント・ペアを途中に含むエクステント・ブロック9900とAVストリーム・ファイル9910−9920との間の対応関係を示す模式図である。図99を参照するに、3番目のエクステント・ペアD[2]、B[2]ではディペンデントビュー・データ・ブロックD[2]がベースビュー・データ・ブロックB[2]の後に位置する。その他のエクステント・ペアD[k]、B[k](k=0、1、3)ではベースビュー・データ・ブロックB[k]がディペンデントビュー・データ・ブロックD[k]の後に位置する。ベースビュー・データ・ブロックB[n](n=0、1、2、3、…)はそれぞれ、一つのベースビュー・エクステントEXT1[n]としてファイル・ベース9911に属する。ディペンデントビュー・データ・ブロックD[n]はそれぞれ、一つのディペンデントビュー・エクステントEXT2[n]としてファイルDEP9912に属する。エクステント・ブロック9900の全体は一つのエクステントSSEXTSS[0]としてファイルSS9920に属する。ベースビュー・データ・ブロックB[n](n=0、1、2、3、…)は更に、2DエクステントEXT2D[n]としてファイル2D9910に属する。ここで、二つの連続するベースビュー・データ・ブロックB[1]、B[2]は一つの2DエクステントEXT2D[1]として参照される。それにより、その2DエクステントEXT2D[1]のサイズSEXT2D[1]は、その直後に配置された二つのディペンデントビュー・データ・ブロックD[2]、D[3]の全体のサイズSEXT2[2]+SEXT2[3]が大きくても、式(1)を満たすことができる。
<層境界の前後での再生経路の分離>
図21では、2D再生モードでの再生経路2101と3D再生モードでの再生経路2102とはいずれも、層境界LBを越えるためのロングジャンプJLYの直前に同じベースビュー・データ・ブロックB[3]を通る。すなわち、そのベースビュー・データ・ブロックB[3]は、2D再生モードの再生装置102からは二番目の2DエクステントEXT2D[1]として読み出され、3D再生モードの再生装置102からはエクステントSSEXTSS[1]内の最後のデータ・ブロックとして読み出される。ロングジャンプJLY中にシステム・ターゲット・デコーダによって処理されるべきデータ量は、2D再生モードでは条件1により、そのベースビュー・データ・ブロックB[3]単体のサイズで確保される。一方、3D再生モードでは条件4により、二番目のエクステント・ブロック1902全体のサイズで確保される。従って、条件1によってベースビュー・データ・ブロックB[3]に要求される最小エクステント・サイズは、条件2による最小エクステント・サイズよりも一般に大きい。それ故、RB14221の容量は、3D再生モードでのシームレス再生に必要最小限の値よりも大きくなければならない。更に、そのベースビュー・データ・ブロックB[3]と、その直前に位置するディペンデントビュー・データ・ブロックD[3]とではエクステントATC時間が等しい。従って、そのディペンデントビュー・データ・ブロックD[3]のサイズは、条件2によってそのデータ・ブロックD[3]に要求される最小エクステント・サイズよりも一般に大きい。それ故、RB24222の容量は、3D再生モードでのシームレス再生に必要最小限の値よりも一般に大きい。このように、図21に示されている配置では、二つのエクステント・ブロック1902、1903間のシームレスな接続は可能であるが、RB14221、RB24222の容量が十分に大きく確保されなければならない。
ロングジャンプJLY中での映像のシームレス再生を可能にしたまま、RB14221、RB24222の容量を更に削減するには、層境界LB等、そのロングジャンプJLYの必要な位置の前後でデータ・ブロック群の配置をインターリーブ配置から変更して、2D再生モードと3D再生モードとの間で再生経路を分離すればよい。そのような変更のパターンには、例えば以下に述べる二種類の配置1、2がある。配置1、2のいずれでも、再生経路はロングジャンプJLYの直前で、動作モードごとに異なるベースビュー・データ・ブロックを通る。その結果、後述のとおり、再生装置102にRB14221、RB24222の容量を必要最小限に維持させたまま、ロングジャンプJLY中での映像のシームレス再生を容易に実現させることができる。
≪配置1≫
図100は、BD−ROMディスク101の層境界LBの前後に記録されたデータ・ブロック群の配置1を示す模式図である。図100を参照するに、層境界LBの直前には第1エクステント・ブロックA001が配置され、層境界LBの直後には第2エクステント・ブロックA002が配置されている。各エクステント・ブロックA001、A002内では、ディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とがインターリーブ配置を構成している(n=…、0、1、2、3、…)。特にn番目のエクステント・ペアD[n]、B[n]ではエクステントATC時間が等しい。配置1では更に、第1エクステント・ブロックA001の後端B[1]と層境界LBとの間に一つのベースビュー・データ・ブロックB[2]2Dが配置されている。そのベースビュー・データ・ブロックB[2]2Dは、第2エクステント・ブロックA002内の先端のベースビュー・データ・ブロックB[2]SSとビット単位(bit−for−bit)で一致する。以下、前者B[2]2Dを「2D再生専用ブロック」といい、後者B[2]SSを「SS再生専用ブロック」という。
図100に示されているベースビュー・データ・ブロックのうち、SS再生専用ブロックB[2]SS以外はファイル2DA010のエクステント、すなわち2DエクステントEXT2D[・]としてアクセス可能である。例えば第1エクステント・ブロックA001内の最後から二番目のベースビュー・データ・ブロックB[0]、最後のベースビュー・データ・ブロックB[1]と2D再生専用ブロックB[2]2Dとの対B[1]+B[2]2D、及び、第2エクステント・ブロックA002内の二番目のベースビュー・データ・ブロックB[3]はそれぞれ、単一の2DエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]としてアクセス可能である。一方、図100に示されているディペンデントビュー・データ・ブロックD[n](n=…、0、1、2、3、…)はそれぞれ、ファイルDEPA012の単一のエクステント、すなわちディペンデントビュー・エクステントEXT2[n]としてアクセス可能である。
図100に示されているデータ・ブロック群では、AVストリーム・ファイルのクロスリンクが次のように実現される。各エクステント・ブロックA001、A002の全体はファイルSSA020の単一のエクステントEXTSS[0]、EXTSS[1]としてアクセス可能である。従って、各エクステント・ブロックA001、A002内のベースビュー・データ・ブロックB[0]、B[1]、B[3]はファイル2DA010とファイルSSA020とに共有される。それに対し、2D再生専用ブロックB[2]2Dは、層境界LBの直前に位置する2DエクステントEXT2D[1]の一部としてのみアクセス可能である。一方、SS再生専用ブロックB[2]SSは、層境界LBの直後のエクステントSSEXTSS[1]の一部としてのみアクセス可能である。それ故、2D再生専用ブロックB[2]2D以外のベースビュー・データ・ブロックB[0]、B[1]、B[2]SS、B[3]は、ファイル・ベースA011のエクステント、すなわちベースビュー・エクステントEXT1[n](n=0、1、2、3)としてエクステントSSEXTSS[0]、EXTSS[1]から抽出可能である。
図101は、図100に示されている配置1のデータ・ブロック群に対する2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とを示す模式図である。2D再生モードの再生装置102はファイル2DA010を再生する。従って、2D再生モードでの再生経路A110が示すとおり、まず、第1エクステント・ブロックA001内の最後から二番目のベースビュー・データ・ブロックB[0]が最初の2DエクステントEXT2D[0]として読み出され、その直後のディペンデントビュー・データ・ブロックD[1]の読み出しが最初のジャンプJ2D1によってスキップされる。次に、第1エクステント・ブロックA001内の最後のベースビュー・データ・ブロックB[1]とその直後の2D再生専用ブロックB[2]2Dとの対B[1]+B[2]2Dが二番目の2DエクステントEXT2D[1]として連続して読み出される。その直後の層境界LBではロングジャンプJLYが生じ、第2エクステント・ブロックA002の先端に位置する3個のデータ・ブロックD[2]、B[2]SS、D[3]の読み出しがスキップされる。続いて、第2エクステント・ブロック8902内の二番目のベースビュー・データ・ブロックB[3]が三番目の2DエクステントEXT2D[2]として読み出される。一方、3D再生モードの再生装置102はファイルSSA020を再生する。従って、3D再生モードでの再生経路A120が示すとおり、まず、第1エクステント・ブロックA001の全体が最初のエクステントSSEXTSS[0]として連続して読み出される。その直後にロングジャンプJLYが生じ、2D再生専用ブロックB[2]2Dの読み出しがスキップされる。続いて、第2エクステント・ブロックA002の全体が二番目のエクステントSSEXTSS[1]として連続して読み出される。
図100に示されているとおり、2D再生モードでは、2D再生専用ブロックB[2]2Dは読み出されるが、SS再生専用ブロックB[2]SSの読み出しはスキップされる。逆に3D再生モードでは、2D再生専用ブロックB[2]2Dの読み出しはスキップされるが、SS再生専用ブロックB[2]SSは読み出される。しかし、両方のデータ・ブロックB[2]2D、B[2]SSはビット単位で一致しているので、いずれの再生モードでも、再生されるベースビュー・ビデオ・フレームは等しい。このように、配置1ではロングジャンプJLYの前後で2D再生モードでの再生経路A110と3D再生モードでの再生経路A120とが分離されている。従って、図21に示されている配置とは異なり、層境界LBの直前に位置する2DエクステントEXT2D[1]のサイズSEXT2D[1]とその直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]とが、以下のように別々に決定可能である。
その2DエクステントEXT2D[1]のサイズSEXT2D[1]はベースビュー・データ・ブロックB[1]のサイズSEXT1[1]と2D再生専用ブロックB[2]2DのサイズS2Dとの和SEXT1[1]+S2Dに等しい。従って、2D映像をシームレスに再生するには、まず、その和SEXT1[1]+S2Dが条件1を満たせばよい。ここで、式(1)の右辺には、ジャンプ時間Tjump−2DとしてロングジャンプJLYの最大ジャンプ時間Tjump_maxが代入される。次に、2D再生専用ブロックB[2]2Dの後端から第2エクステント・ブロックA002内の最初の2DエクステントEXT2D[2]=B[3]までのセクタ数が、2D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
一方、3D映像をシームレスに再生するには、まず、最初のエクステントSSEXTSS[0]の後端に位置するディペンデントビュー・データ・ブロックD[1]とベースビュー・データ・ブロックB[1]との各サイズSEXT2[1]、SEXT1[1]が条件3、2を満たせばよい。ここで、ロングジャンプJLYの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。次に、最初のエクステントSSEXTSS[0]のサイズが条件4を満たせばよい。更に、そのエクステントSSEXTSS[0]の後端から次のエクステントSSEXTSS[1]の先端までのセクタ数が、3D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
層境界LBの直前に位置する2DエクステントEXT2D[1]のうち、最初のエクステントSSEXTSS[0]に共有されるのは、前側に位置するベースビュー・データ・ブロックB[1]のみである。従って、2D再生専用ブロックB[2]2DのサイズS2Dを適切に拡大することにより、2DエクステントEXT2D[1]のサイズSEXT2D[1]=SEXT1[1]+S2Dを一定に維持したまま、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]を更に小さく制限することができる。その場合、そのベースビュー・データ・ブロックB[1]のエクステントATC時間が短縮される。それ故、その直前に位置するディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]も更に小さく制限することができる。
SS再生専用ブロックB[2]SSは2D再生専用ブロックB[2]2Dとビット単位で一致しているので、2D再生専用ブロックB[2]2DのサイズS2Dの拡大は、SS再生専用ブロックB[2]SSの直前に位置するディペンデントビュー・データ・ブロックD[2]のサイズを拡大させる。しかし、そのサイズは、図21に示されている、層境界LBの直前に位置するディペンデントビュー・データ・ブロックD[3]のサイズよりは十分に小さくできる。こうして、RB14221、RB24222の各容量を、3D映像のシームレス再生に必要最小限の値に更に接近させることができる。その結果、配置1では、再生装置102内に確保されるべきリード・バッファの容量を必要最小限に抑えたまま、ロングジャンプ中に2D映像と3D映像とのいずれをもシームレスに再生することができるように、各データ・ブロックのサイズを設計することができる。
配置1では、2D再生専用ブロックB[2]2Dの複製データが、第1のエクステント・ブロックA001の中に単一のSS再生専用ブロックB[2]SSとして配置されている。その他に、その複製データが二個以上のSS再生専用ブロックに分割されて配置されてもよい。
≪配置2≫
図102は、BD−ROMディスク101の層境界LBの前後に記録されたデータ・ブロック群の配置2を示す模式図である。図102を図100と比較するに、配置2は配置1とは主に、SS再生専用ブロックB[2]SS、B[3]SSを含むエクステント・ブロックA202が層境界LBの直前に配置されている点で異なる。
図102を参照するに、層境界LBの前には、第1エクステント・ブロックA201、2D再生専用ブロック(B[2]+B[3])2D、及び第2エクステント・ブロックA202が順番に配置され、層境界LBの後には第3エクステント・ブロックA203が配置されている。各エクステント・ブロックA201−A203内ではディペンデントビュー・データ・ブロックD[n]とベースビュー・データ・ブロックB[n]とがインターリーブ配置を構成している(n=…、0、1、2、3、4、…)。特にn番目のエクステント・ペアD[n]、B[n]ではエクステントATC時間が等しい。第2エクステント・ブロックA202では、第1エクステント・ブロックA201の後端に位置するデータ・ブロックD[1]、B[1]とも、第3エクステント・ブロックA203の先端に位置するデータ・ブロックD[4]、B[4]とも、ストリーム・データの内容が連続している。第2エクステント・ブロックA202に含まれるベースビュー・データ・ブロックはいずれもSS再生専用ブロックB[2]SS、B[3]SSであり、それらの全体B[2]SS+B[3]SSは、その前に位置する2D再生専用ブロック(B[2]+B[3])2Dとビット単位で一致する。
図102に示されているベースビュー・データ・ブロックのうち、SS再生専用ブロックB[2]SS、B[3]SS以外はファイル2DA210のエクステントEXT2D[0]、EXT2D[1]、EXT2D[2]としてアクセス可能である。特に第1エクステント・ブロックA201内の最後のベースビュー・データ・ブロックB[1]と2D再生専用ブロック(B[2]+B[3])2Dとの対は単一の2DエクステントEXT2D[1]としてアクセス可能である。更に、第2エクステント・ブロックA202以外のエクステント・ブロックA201、A203内のベースビュー・データ・ブロックB[0]、B[1]、B[4]は、ファイル・ベースA211のエクステントEXT1[0]、EXT1[1]、EXT1[4]としてファイルSSA220のエクステントEXTSS[0]、EXTSS[1]からも抽出可能である。それに対し、2D再生専用ブロック(B[2]+B[3])2Dは2DエクステントEXT2D[1]の一部としてのみアクセス可能である。一方、SS再生専用ブロックB[2]SS、B[3]SSはそれぞれ、ベースビュー・エクステントEXT1[2]、EXT1[3]としてエクステントSSEXTSS[1]から抽出可能である。
図103は、図102に示されている配置2のデータ・ブロック群に対する2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とを示す模式図である。2D再生モードの再生装置102はファイル2DA210を再生する。従って、2D再生モードでの再生経路A310が示すとおり、まず、第1エクステント・ブロックA201内の最後から二番目のベースビュー・データ・ブロックB[0]が最初の2DエクステントEXT2D[0]として読み出され、その直後のディペンデントビュー・データ・ブロックD[1]の読み出しが最初のジャンプJ2D1によってスキップされる。次に、第1エクステント・ブロックA201内の最後のベースビュー・データ・ブロックB[1]とその直後の2D再生専用ブロック(B[2]+B[3])2Dとの対が二番目の2DエクステントEXT2D[1]として連続して読み出される。その直後にロングジャンプJLYが生じ、第2エクステント・ブロックA202の読み出し、及び第3エクステント・ブロックA203の先端に位置するディペンデントビュー・データ・ブロックD[4]の読み出しがスキップされる。続いて、第3エクステント・ブロックA203内の最初のベースビュー・データ・ブロックB[4]が三番目の2DエクステントEXT2D[2]として読み出される。3D再生モードの再生装置102はファイルSSA220を再生する。従って、3D再生モードでの再生経路A320が示すとおり、まず、第1エクステント・ブロックA201の全体が第1エクステントSSEXTSS[0]として連続して読み出される。その直後にジャンプJEXが生じ、2D再生専用ブロック(B[2]+B[3])2Dの読み出しがスキップされる。次に、第2エクステント・ブロックA202の全体が第2エクステントSSEXTSS[1]として連続して読み出される。その直後に、層境界LBを越えるためのロングジャンプJLYが生じる。続いて、第3エクステント・ブロックA203の全体が第3エクステントSSEXTSS[2]として連続して読み出される。
図103に示されているとおり、2D再生モードでは、2D再生専用ブロック(B[2]+B[3])2Dは読み出されるが、SS再生専用ブロックB[2]SS、B[3]SSの読み出しはスキップされる。逆に3D再生モードでは、2D再生専用ブロック(B[2]+B[3])2Dの読み出しはスキップされるが、SS再生専用ブロックB[2]SS、B[3]SSは読み出される。しかし、2D再生専用ブロック(B[2]+B[3])2DとSS再生専用ブロックの全体B[2]SS+B[3]SSとはビット単位で一致しているので、いずれの再生モードでも、再生されるベースビュー・ビデオ・フレームは等しい。このように、配置2ではロングジャンプJLYの前後で2D再生モードでの再生経路A310と3D再生モードでの再生経路A320とが分離されている。従って、層境界LBの直前に位置する2DエクステントEXT2D[1]のサイズSEXT2D[1]とその直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]とが、以下のように別々に決定可能である。
その2DエクステントEXT2D[1]のサイズSEXT2D[1]は、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]と2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dとの和SEXT1[1]+S2Dに等しい。従って、2D映像をシームレスに再生するには、まず、その和SEXT1[1]+S2Dが条件1を満たせばよい。ここで、式(1)の右辺には、ジャンプ時間Tjump−2DとしてロングジャンプJLYの最大ジャンプ時間Tjump_maxが代入される。次に、2D再生専用ブロック(B[2]+B[3])2Dの後端から第3エクステント・ブロックA203内の最初の2DエクステントEXT2D[2]=B[4]までのセクタ数が、2D再生装置の能力に合わせて規定されたロングジャンプJLYの最大ジャンプ距離Sjump_max以下であればよい。
一方、3D映像をシームレスに再生するには、まず、第1エクステントSSEXTSS[0]の後端に位置するディペンデントビュー・データ・ブロックD[1]とベースビュー・データ・ブロックB[1]との各サイズSEXT2[1]、SEXT1[1]が条件3、2を満たせばよい。ここで、ジャンプJEXの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。次に、第2エクステントSSEXTSS[1]の後端に位置するディペンデントビュー・データ・ブロックD[3]とSS再生専用ブロックB[3]SSとの各サイズSEXT2[3]、SEXT1[3]が条件3、2を満たせばよい。ここで、ロングジャンプJLYの発生に関わらず、式(3)、(2)の各右辺にはゼロ・セクタ遷移時間TJUMP0[2n+1]、TJUMP0[2n+2]として、ゼロ・セクタ遷移時間の典型的な値が代入されればよい。
2DエクステントEXT2D[1]のうち、エクステントSSEXTSS[1]に共有されるのは、前側に位置するベースビュー・データ・ブロックB[1]だけである。従って、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dを適切に拡大することにより、2DエクステントEXT2D[1]のサイズSEXT2D[1]=SEXT1[1]+S2Dを一定に維持したまま、ベースビュー・データ・ブロックB[1]のサイズSEXT1[1]を更に小さく制限することができる。それに伴い、その直前のディペンデントビュー・データ・ブロックD[1]のサイズSEXT2[1]も更に小さく制限することができる。
ここで、3D再生専用ブロックの全体B[2]SS+B[3]SSは2D再生専用ブロック(B[2]+B[3])2Dとビット単位で一致している。従って、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dが拡大すると、各3D再生専用ブロックB[2]SS、B[3]SSの直前に位置するディペンデントビュー・データ・ブロックD[2]、D[3]のサイズが拡大する。しかし、一つの2D再生専用ブロック(B[2]+B[3])2Dに対し、3D再生専用ブロックは二つB[2]SS、B[3]SSに分割されている。その結果、各3D再生専用ブロックB[2]SS、B[3]SSのサイズを十分に小さくすることができる。こうして、RB14221、RB24222の各容量は、3D映像のシームレス再生に必要最小限の値まで更に削減可能である。その結果、配置2では、再生装置102内に確保されるべきリード・バッファの容量を必要最小限に抑えたまま、2D映像と3D映像とのいずれをもシームレスに再生することができるように、各データ・ブロックのサイズを設計することができる。
図90を用いて説明したとおり、ロングジャンプの直前に位置するエクステント・ブロックの後端に配置されたデータ・ブロックのサイズが小さいほど、RB24222の容量の下限は小さい。従って、配置2は好ましくは、以下の2つの条件が満たされるように設計される。その場合、3D再生専用ブロックB[2]SS、B[3]SSを含む第2エクステント・ブロックA202において、各データ・ブロックのサイズが十分に小さい。その結果、RB24222の容量の下限を更に低減させることができる。
第1の条件は、第2エクステント・ブロックA202の直前に配置される2D再生専用ブロック(B[2]+B[3])2Dのサイズに上限を定める。例えば、図103を更に参照するに、2D再生専用ブロック(B[2]+B[3])2DのサイズS2Dは20000セクタ以下に制限される。この上限値は2D再生装置のジャンプ性能に依存する。第2の条件は、3D再生専用ブロックB[2]SS、B[3]SSのエクステントATC時間に上限TEXT_3D_MAXを定める。すなわち、3D再生専用ブロックB[2]SS、B[3]SSのサイズが、式(1)に代えて次式を満たす:SEXT1[n]≦REXT1[n]×TEXT_3D_MAX。上限TEXT_3D_MAXは例えば0.5秒に設定される。
図104は、図103に示されている第2エクステント・ブロックA202の後端に位置する3D再生専用ブロックB[3]SSの読み出し時間SEXT1[3]/RUD72と、RB24222の容量の下限との間の関係を示すグラフである。図104を参照するに、3D再生専用ブロックB[3]SSの読み込みが開始された時点で、RB24222の蓄積データ量DA2は極大値DM2に達する。その極大値DM2は、3D再生専用ブロックB[3]SSの読み出し期間の長さSEXT1[3]/RUD72、ロングジャンプに要する時間TLY、及びプリロード期間の長さSEXT2[4]/RUD72の和にディペンデントビュー転送速度REXT2[3]を乗じた値以上である:DM2≧(SEXT1[3]/RUD72+TLY+SEXT2[4]/RUD72)×REXT2[3]。従って、仮に3D再生専用ブロックB[3]SSのサイズが更に大きい値SL[3]であれば、その読み出し期間の長さSL[3]/RUD72が増大するので、図104に破線で示されているとおり、RB24222の蓄積データ量DA2の極大値DM20が増大する。それ故、上記の2つの条件で3D再生専用ブロックB[2]SS、B[3]SSの各サイズを小さく制限する。それにより、RB24222の容量の下限を更に低減させることができる。
尚、条件4を満たすには、各エクステント・ブロックの先頭に位置するデータ・ブロックのサイズ、すなわちプリロード期間の長さを十分に大きく確保しなければならない。それ故、エクステント・ブロックの先頭に位置する3D再生専用ブロックについては、そのエクステントATC時間が上限TEXT_3D_MAXを超えてもよい。
配置2は、層境界LBの手前の他に、飛び込み再生の開始可能位置に設けられてもよい。図102には、飛び込み再生の開始可能位置、すなわちエントリ・ポイントが記録されたBD−ROMディスク上の位置が三角形A230、A231、A232の頂点で示されている。白い三角形A230で示されているエントリ・ポイントは2D再生モードでの飛び込み再生の開始可能位置を示す。黒い三角形A231、A232で示されているエントリ・ポイントは3D再生モードでの飛び込み再生の開始可能位置を示す。個々の3D再生専用ブロックB[2]SS、B[3]SSは2D再生専用ブロック(B[2]+B[3])2Dよりもサイズが十分に小さいので、対応するディペンデントビュー・データ・ブロックD[2]、D[3]のサイズも十分に小さい。その結果、3D再生モードでの飛び込み再生時、エントリ・ポイントA231、A232へのアクセス開始からデータ・ブロックD[2]、B[2]SSの復号開始までに要する時間が短い。すなわち、3D再生モードでの飛び込み再生は起動が早い。
配置2では、2D再生専用ブロック(B[2]+B[3])2Dの複製データが、二つのSS再生専用ブロックB[2]SS、B[3]SSに分割されて配置されている。その他に、その複製データが単一のSS再生専用ブロックであってもよく、又は三個以上のSS再生専用ブロックに分割されて配置されてもよい。
<エクステント・ペア・フラグ>
図105は、ファイル・ベースA501とファイルDEPA502との各エクステントEXT1[k]、EXT2[k](整数kは0以上である。)に対して設定されたエントリ・ポイントA510、A520を示す模式図である。ファイル・ベースA501のエントリ・ポイントA510は2Dクリップ情報ファイルのエントリ・マップで定義され、ファイルDEPA502のエントリ・ポイントA520はディペンデントビュー・クリップ情報ファイルのエントリ・マップで定義される。各エントリ・ポイントA510、A520は特にエクステント・ペア・フラグを含む。「エクステント・ペア・フラグ」は、ファイル・ベースA501のエントリ・ポイントとファイルDEPA502のエントリ・ポイントとが同じPTSを示すとき、それぞれの設定されたエクステントEXT1[i]、EXT2[j]が各ファイルA501、A502の先頭から同じ順序であるか否か(i=j又はi≠j)を示す。図105を参照するに、(n+1)番目(整数nは1以上である。)のベースビュー・エクステントEXT1[n]に設定された最初のエントリ・ポイントA530のPTSは、(n−1)番目のディペンデントビュー・エクステントEXT2[n−1]に設定された最後のエントリ・ポイントA540のPTSに等しい。従って、各エントリ・ポイントA530、A540のエクステント・ペア・フラグの値は“0”に設定される。同様に、(n+1)番目のベースビュー・エクステントEXT1[n]に設定された最後のエントリ・ポイントA531のPTSは、(n+1)番目のディペンデントビュー・エクステントEXT2[n+1]に設定された最初のエントリ・ポイントA541のPTSに等しい。従って、各エントリ・ポイントA531、A541のエクステント・ペア・フラグの値は“0”に設定される。その他のエントリ・ポイントA510、A520は、PTSが等しいときは設定先のエクステントEXT1[・]、EXT2[・]の順序も等しいので、エクステント・ペア・フラグの値は“1”に設定される。
3D再生モードの再生装置102は、飛び込み再生を開始する際に再生開始位置のエントリ・ポイントのエクステント・ペア・フラグを参照し、その値が“1”である場合に、そのエントリ・ポイントから実際に再生を開始する。その値が“0”である場合には、再生装置102は、そのエントリ・ポイントの前後から、エクステント・ペア・フラグの値が“1”である別のエントリ・ポイントを探して、その別のエントリ・ポイントから再生を開始する。こうして、n番目のディペンデントビュー・エクステントEXT2[n]が確実に、n番目のベースビュー・エクステントEXT1[n]よりも先に読み出される。その結果、飛び込み再生処理を簡単化することができる。
エクステント・ペア・フラグ=0のエントリ・ポイントの間隔は、それに対応する表示時間の長さが一定の秒数以下、例えば1GOP当たりの表示時間長の最大値の2倍以下になるように制限されてもよい。それにより、飛び込み再生の開始時、エクステント・ペア・フラグ=1のエントリ・ポイントの探索に伴う再生開始までの待ち時間を短縮することができる。その他に、エクステント・ペア・フラグ=0のエントリ・ポイントの次のエントリ・ポイントでは、エクステント・ペア・フラグの値が“1”に制限されてもよい。また、アングル切り換えフラグがエクステント・ペア・フラグとして代用されてもよい。ここで、「アングル切り換えフラグ」とは、マルチアングルに対応のコンテンツにおいてエントリ・マップ内に用意されたフラグであって、多重化ストリーム・データにおけるアングルの切り換え位置を示す(マルチアングルについては後述参照)。
<データ・ブロック間での再生期間の一致>
エクステントATC時間の等しいデータ・ブロックの対では更に、再生期間が一致し、かつビデオ・ストリームの再生時間が等しくてもよい。すなわち、それらのデータ・ブロック間でVAUの数が等しくてもよい。その意義は次のとおりである。
図106の(a)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が異なり、かつビデオ・ストリームの再生時間が異なるときの再生経路を示す模式図である。図106の(a)を参照するに、先頭のベースビュー・データ・ブロックB[0]の再生時間は4秒間であり、先頭のディペンデントビュー・データ・ブロックD[0]の再生時間は1秒間である。ここで、ディペンデントビュー・データ・ブロックD[0]の復号に必要なベースビュー・ビデオ・ストリームの部分はそのディペンデントビュー・データ・ブロックD[0]と同じ再生時間を持つ。従って、再生装置内のリード・バッファの容量を節約するには、図106の(a)に矢印ARW1で示されているように、再生装置にベースビュー・データ・ブロックB[0]とディペンデントビュー・データ・ブロックD[0]とを交互に同じ再生時間ずつ、例えば1秒間ずつ読み込ませることが好ましい。しかし、その場合、図106の(a)に破線で示されているように、読み出し処理の途中でジャンプが生じる。その結果、読み出し処理を復号処理に間に合わせることが難しいので、シームレス再生を確実に持続することが難しい。
図106の(b)は、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でビデオ・ストリームの再生時間が等しいときの再生経路を示す模式図である。図106の(b)に示されているように、隣接する一対のデータ・ブロックの間でビデオ・ストリームの再生時間が等しくてもよい。例えば、先頭のデータ・ブロック対B[0]、D[0]ではビデオ・ストリームの再生時間が共に1秒に等しく、二番目のデータ・ブロック対B[1]、D[1]ではビデオ・ストリームの再生時間が共に0.7秒に等しい。その場合、3D再生モードの再生装置は、図106の(b)に矢印ARW2で示されているように、データ・ブロックB[0]、D[0]、B[1]、D[1]、…を先頭から順番に読み出す。それだけで、再生装置はメインTSとサブTSとを交互に同じ再生時間ずつ読み出すことをスムーズに実現できる。特にその読み出し処理ではジャンプが生じないので、3D映像のシームレス再生が確実に持続可能である。
実際には、隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間でエクステントATC時間が等しければ、読み出し処理にジャンプを生じさせることなく、復号処理の同期を維持することはできる。従って、再生期間又はビデオ・ストリームの再生時間が等しくなくても、図106の(b)に示されている場合と同様に、再生装置はデータ・ブロック群を先頭から順番に読み出すだけで、3D映像のシームレス再生を確実に持続できる。
隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間では、VAUのいずれかのヘッダの数、又はPESヘッダの数が等しくてもよい。データ・ブロック間での復号処理の同期にはそれらのヘッダが利用される。従って、データ・ブロック間でヘッダの数が等しければ、VAUそのものの数が等しくなくても、復号処理の同期を維持することは比較的容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータが全て同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
隣接するベースビュー・データ・ブロックとディペンデントビュー・データ・ブロックとの間ではエントリ・ポイントの数が等しくてもよい。図105を再び参照するに、エクステント・ペア・フラグ=0のエントリ・ポイントA530、A540、A531、A541を除けば、ファイル・ベースA501とファイルDEPA502とでは、先頭から同じ順序のエクステントEXT1[k]、EXT2[k]が同じ数のエントリ・ポイントA510、A520を含む。2D再生モードと3D再生モードとではジャンプの有無は異なる。しかし、データ・ブロック間でエントリ・ポイントの数が等しいとき、再生時間も実質的に等しい。従って、ジャンプの有無にかかわらず、復号処理の同期を維持することは容易である。更に、VAUそのものの数が等しい場合とは異なり、VAUのデータの全てが同じデータ・ブロック内に多重化されていなくてもよい。それ故、BD−ROMディスク101のオーサリング工程において、ストリーム・データの多重化の自由度が高い。
<マルチアングル>
図107の(a)は、マルチアングルに対応する多重化ストリーム・データの再生経路を示す模式図である。図107の(a)を参照するに、その多重化ストリーム・データには、ベースビュー、ライトビュー、及びデプスマップの三種類のストリーム・データL、R、Dが多重化されている。例えばL/Rモードではベースビューとライトビューとのストリーム・データL、Rがパラレルに再生される。更に、マルチアングル期間PANGで再生される部分にはアングル(視野角)別のストリーム・データAk、Bk、Ckが多重化されている(k=0、1、2、…、n)。各アングルのストリーム・データAk、Bk、Ckは、再生時間がアングル・チェンジ間隔に等しい部分に分割されている。各部分Ak、Bk、Ckには更に、ベースビュー、ライトビュー、及びデプスマップの各ストリーム・データが多重化されている。マルチアングル期間PANGでは、ユーザの操作又はアプリケーション・プログラムの指示に応じて、アングル別のストリーム・データAk、Bk、Ckの間で再生対象を切り換えることができる。
図107の(b)は、BD−ROMディスク上に記録されたデータ・ブロック群A701と、それらに対するL/Rモードでの再生経路A702とを示す模式図である。そのデータ・ブロック群A701は、図107の(a)に示されているストリーム・データL、R、D、Ak、Bk、Ckを含む。図107の(b)を参照するに、そのデータ・ブロック群A701では、通常のストリーム・データL、R、Dに加え、アングル別のストリーム・データAk、Bk、Ckがインターリーブ配置で記録されている。L/Rモードでは、再生経路A702の示すように、ライトビュー・データ・ブロックRとベースビュー・データ・ブロックLとは読み出され、デプスマップ・データ・ブロックDの読み出しはジャンプによってスキップされる。更に、アングル別のストリーム・データAk、Bk、Ckのうち、選択されたもののデータ・ブロックA0、B1、…、Cnは読み出され、その他のデータ・ブロックの読み出しはジャンプによってスキップされる。
図107の(c)は、アングル別のストリーム・データAk、Bk、Ckを構成するエクステント・ブロックを示す模式図である。図107の(c)を参照するに、各アングルのストリーム・データAk、Bk、Ckでは、三種類のデータ・ブロックL、R、Dがインターリーブ配置を構成している。L/Rモードでは、再生経路A702の示すように、アングル別のストリーム・データAk、Bk、Ckのうち、選択されたものA0、B1、…、Cnからライトビュー・データ・ブロックRとベースビュー・データ・ブロックLとが読み出される。一方、他のデータ・ブロックの読み出しはジャンプによってスキップされる。
尚、各アングルのストリーム・データAk、Bk、Ckでは、ベースビュー、ライトビュー、及びデプスマップの各ストリーム・データが単一の多重化ストリーム・データに収められていてもよい。但し、その記録レートは、2D再生装置で再生可能なシステムレートの範囲に抑えられなければならない。また、その多重化ストリーム・データと他の3D映像の多重化ストリーム・データとの間では、システム・ターゲット・デコーダに転送されるべきストリーム・データ(TS)の数が異なる。従って、3Dプレイリスト・ファイル内の各PIは、再生対象のTSの数を示すフラグを含んでもよい。そのフラグを利用して、それらの多重化ストリーム・データを一つの3Dプレイリスト・ファイルの中で切り換えることができる。3D再生モードで2つのTSを再生対象として規定するPIでは、そのフラグが2TSを示す。一方、上記の多重化ストリーム・データのような単一のTSを再生対象として規定するPIでは、そのフラグが1TSを示す。3D再生装置は、そのフラグの値に応じて、システム・ターゲット・デコーダの設定を切り換えることができる。そのフラグは更に、コネクション・コンディション(CC)の値で表現されてもよい。例えばCCが“7”を示すときは、2TSから1TSへの移行を示し、“8”を示すときは、1TSから2TSへの移行を示す。
図108は、マルチアングル期間を構成するデータ・ブロック群A801、及び、それらに対する2D再生モードでの再生経路A810とL/Rモードでの再生経路A820とを示す模式図である。図108を参照するに、そのデータ・ブロック群A801は三種類のアングル・チェンジ区間ANG1#k、ANG2#k、ANG3#k(k=1、2、…、6、7)のインターリーブ配置から成る。「アングル・チェンジ区間」は、一つのアングルから見た映像のストリーム・データが連続して格納された一連のデータ・ブロック群をいう。種類の異なるアングル・チェンジ区間では映像のアングルが異なる。各種類のk番目のアングル・チェンジ区間ANG1#k、ANG2#k、ANG3#kは互いに隣接する。各アングル・チェンジ区間ANGm#k(m=1、2、3)は一つのエクステント・ブロックから成り、すなわち一つのエクステントSSEXTSS[k]として参照される(k=10、11、…、23)。それにより、複数のアングル・チェンジ区間が一つのエクステントSSEXTSS[k]を構成する場合よりも、リード・バッファの容量を削減することができる。更に、各エクステント・ブロックはディペンデントビュー・データ・ブロックRとベースビュー・データ・ブロックLとを一つずつ含む。それらのデータ・ブロックの対R、Lはn番目のディペンデントビュー・エクステントEXT2[n]とn番目のベースビュー・エクステントEXT1[n]との対として参照される(整数nは0以上である)。
各エクステント・ブロックのサイズは条件1−4を満たす。特に、条件1で考慮されるべきジャンプは、2D再生モードでの再生経路A810の示す、他のアングル・チェンジ区間の読み出しをスキップするためのジャンプJANG-2Dである。一方、条件4で考慮されるべきジャンプは、L/Rモードでの再生経路A820の示す、他のアングル・チェンジ区間の読み出しをスキップするためのジャンプJANG-LRである。各再生経路A810、A820の示すとおり、いずれのジャンプJANG-2D、JANG-LRも一般に、アングルの切り換え、すなわち、読み出されるべきアングル・チェンジ区間の種類の切り換えを含む。
図108を更に参照するに、各アングル・チェンジ区間はベースビュー・データ・ブロックLを一つ含む。従って、ベースビュー・エクステントEXT1[・]のエクステントATC時間はアングル・チェンジ区間の長さの最大値TANG以下に制限される。例えば、アングルの切り換えを表示時間2秒当たりに1回の割合で実行可能にするには、アングル・チェンジ区間の長さの最大値TANGを2秒間に制限しなければならない。その結果、ベースビュー・エクステントEXT1[・]のエクステントATC時間は2秒以下に制限される。それ故、条件5は、ベースビュー・エクステントのサイズSEXT1が式(5)に代えて次式(11)を満たすことに変更される:
Figure 2011004600
尚、式(5)の右辺に代えて、式(9)の右辺が比較されてもよい。また、式(7A)又は(7B)に示されている2DエクステントのエクステントATC時間に対する延長時間ΔTと同様に、アングル・チェンジ区間の長さの最大値TANGは、GOPの長さ、又は、所定時間当たりに再生可能なエクステント数の上限から決定されてもよい。更に、その延長時間ΔTは、マルチアングルでは0に設定されてもよい。
<放送、通信回路を経由したデータ配信>
本発明の実施形態による記録媒体は、光ディスクの他、例えばSDメモリカードを含む可搬性半導体メモリ装置等、パッケージメディアとして利用可能なリムーバブルメディア全般を含む。また、上記の実施形態の説明では、予めデータが記録された光ディスク、すなわち、BD−ROM又はDVD−ROM等の既存の読み出し専用の光ディスクが例に挙げられている。しかし、本発明の実施形態はそれらに限定されない。例えば放送で、又はネットワーク経由で配信された3D映像のコンテンツを端末装置によって、BD−RE又はDVD−RAM等の既存の書き込み可能な光ディスクへ書き込むときに、実施形態1によるエクステントの配置が利用されてもよい。ここで、その端末装置は、再生装置に組み込まれていても、再生装置とは別の装置であってもよい。
<半導体メモリカードの再生>
本発明の実施形態による記録媒体として、光ディスクに代えて半導体メモリカードを用いたときにおける、再生装置のデータ読み出し部について説明する。
再生装置のうち、光ディスクからデータを読み出す部分は、例えば光ディスクドライブによって構成される。それに対し、半導体メモリカードからデータを読み出す部分は、専用のインタフェース(I/F)で構成される。より詳細には、再生装置にカードスロットが設けられ、その内部に上記のI/Fが実装される。そのカードスロットに半導体メモリカードが挿入されるとき、そのI/Fを通してその半導体メモリカードが再生装置と電気的に接続される。更に、半導体メモリカードからデータがそのI/Fを通して再生装置に読み出される。
<BD−ROMディスク上のデータに対する著作権保護技術>
ここで、以降の補足事項の前提として、BD−ROMディスクに記録されているデータの著作権を保護するための仕組みについて説明する。
BD−ROMディスクに記録されたデータの一部が、例えば著作権の保護又はデータの秘匿性の向上の観点から暗号化されている場合がある。その暗号化データは例えば、ビデオ・ストリーム、オーディオ・ストリーム、又はその他のストリームを含む。その場合、暗号化データは以下のように解読される。
再生装置には予め、BD−ROMディスク上の暗号化データを解読するための「鍵」の生成に必要なデータの一部、すなわちデバイスキーが記憶されている。一方、BD−ROMディスクには、そのその「鍵」の生成に必要なデータの別の一部、すなわちMKB(メディアキーブロック)と、その「鍵」自体の暗号化データ、すなわち暗号化タイトルキーとが記録されている。デバイスキー、MKB、及び暗号化タイトルキーは互いに対応付けられ、更に、図2に示されているBD−ROMディスク101上のBCA201に書き込まれた特定のID、すなわちボリュームIDにも対応付けられている。デバイスキー、MKB、暗号化タイトルキー、及びボリュームIDの組み合わせが正しくなければ、暗号化データの解読はできない。すなわち、これらの組み合わせが正しい場合にのみ、上記の「鍵」、すなわちタイトルキーが生成される。具体的には、まず、デバイスキー、MKB、及びボリュームIDを利用して暗号化タイトルキーが復号される。それによってタイトルキーを導き出すことができたときのみ、そのタイトルキーを上記の「鍵」として用いて暗号化データを解読することができる。
BD−ROMディスク上の暗号化データを再生装置によって再生しようとしても、例えばそのBD−ROMディスク上の暗号化タイトルキー、MKB、及びボリュームIDに予め対応付けられたデバイスキーがその再生装置内に記憶されていなければ、その暗号化データを再生することができない。何故なら、その暗号化データの解読に必要な鍵、すなわちタイトルキーは、MKB、デバイスキー、及びボリュームIDの正しい組み合わせで暗号化タイトルキーを復号しなければ導き出せないからである。
BD−ROMディスクに記録されるべきビデオ・ストリームとオーディオ・ストリームとの少なくともいずれかの著作権を保護するには、まず、保護対象のストリームをタイトルキーで暗号化して、BD−ROMディスクに記録する。次に、MKB、デバイスキー、及びボリュームIDの組み合わせから鍵を生成し、その鍵で上記のタイトルキーを暗号化して暗号化タイトルキーに変換する。更に、MKB、ボリュームID、及び暗号化タイトルキーをBD−ROMディスクに記録する。そのBD−ROMディスクからは、上述の鍵の生成に利用されたデバイスキーを備えた再生装置でしか、暗号化されたビデオ・ストリーム及び/又はオーディオ・ストリームをデコーダで復号することはできない。こうして、BD−ROMディスクに記録されたデータの著作権を保護することができる。
以上に述べた、BD−ROMディスクにおけるデータの著作権保護の仕組みは、BD−ROMディスク以外にも適用可能である。例えば読み書き可能な半導体メモリ装置、特にSDカード等の可搬性半導体メモリカードにも適用可能である。
<電子配信を利用した記録媒体へのデータ記録>
電子配信を利用して本発明の実施形態による再生装置へ3D映像のAVストリーム・ファイル等のデータ(以下、配信データという。)を伝達し、更にその再生装置にその配信データを半導体メモリカードに記録させる処理について、以下説明する。尚、以下の動作は、上記の再生装置に代えて、その処理に特化した端末装置によって行われてもよい。また、記録先の半導体メモリカードがSDメモリカードである場合を想定する。
再生装置は上記のとおり、カードスロットを備えている。そのカードスロットにはSDメモリカードが挿入されている。この状態で、再生装置はまず、ネットワーク上の配信サーバへ配信データの送信要求を送出する。このとき、再生装置はSDメモリカードからその識別情報を読み出して、その識別情報を送信要求と共に配信サーバへ送出する。SDメモリカードの識別情報は、例えばそのSDメモリカード固有の識別番号、より具体的にはそのSDメモリカードのシリアル番号である。この識別情報は上述のボリュームIDとして利用される。
配信サーバには配信データが格納されている。その配信データのうち、ビデオ・ストリーム及び/又はオーディオ・ストリーム等、暗号化による保護の必要なデータは、所定のタイトルキーを用いて暗号化されている。その暗号化データは同じタイトルキーで復号が可能である。
配信サーバは、再生装置と共通の秘密鍵としてデバイスキーを保持している。配信サーバは更に、SDメモリカードと共通のMKBを保持している。配信サーバは、再生装置から配信データの送信要求とSDメモリカードの識別情報とを受け付けたとき、まず、デバイスキー、MKB、及びその識別情報から鍵を生成し、その鍵でタイトルキーを暗号化して暗号化タイトルキーを生成する。
配信サーバは次に公開鍵情報を生成する。その公開鍵情報は、例えば、上述のMKB、暗号化タイトルキー、署名情報、SDメモリカードの識別番号、及びデバイスリストを含む。署名情報は、例えば公開鍵情報のハッシュ値を含む。デバイスリストは、無効にすべきデバイス、すなわち、配信データ中の暗号化データを不正に再生する危険性のあるデバイスのリストである。そのリストには、例えば、再生装置のデバイスキー、再生装置の識別番号、再生装置に内蔵のデコーダ等、各種部品の識別番号、又は機能(プログラム)が特定されている。
配信サーバは更に、配信データと公開鍵情報とを再生装置へ送出する。再生装置は、それらを受信して、カードスロット内の専用I/Fを通してSDメモリカードに記録する。
SDメモリカードに記録された配信データのうち、暗号化データは、例えば公開鍵情報を以下のように利用して復号される。まず、公開鍵情報の認証として次の三種類のチェック(1)−(3)が行われる。尚、それらはどのような順序で行われてもよい。
(1)公開鍵情報に含まれるSDメモリカードの識別情報が、カードスロットに挿入されているSDメモリカードに記憶されている識別番号と一致するか否か。
(2)公開鍵情報から算出されるハッシュ値が、署名情報に含まれるハッシュ値と一致するか否か。
(3)公開鍵情報の示すデバイスリストから当該再生装置が除外されているか否か。具体的には、デバイスリストから当該再生装置のデバイスキーが除外されているか否か。
上述のチェック(1)−(3)のいずれかの結果が否定的であるとき、再生装置は暗号化データの復号処理を中止する。逆に、上述のチェック(1)−(3)の全ての結果が肯定的であるとき、再生装置は公開鍵情報の正当性を認め、デバイスキー、MKB、及びSDメモリカードの識別情報を利用して、公開鍵情報内の暗号化タイトルキーをタイトルキーに復号する。再生装置は更に、そのタイトルキーを用いて暗号化データを、例えばビデオ・ストリーム及び/又はオーディオ・ストリームに復号する。
以上の仕組みには次の利点がある。電子配信時に既に、不正使用の危険性がある再生装置、部品、及び機能(プログラム)等が知られている場合、これらの識別情報がデバイスリストに列挙され、公開鍵情報の一部として配信される。一方、配信データを要求した再生装置は必ず、そのデバイスリスト内の識別情報を、その再生装置及びその部品等の識別情報と照合しなければならない。それにより、その再生装置又はその部品等がデバイスリストに示されていれば、たとえ、SDメモリカードの識別番号、MKB、暗号化タイトルキー、及びデバイスキーの組み合わせが正しくても、その再生装置は公開鍵情報を配信データ内の暗号化データの復号には利用できない。こうして、配信データの不正使用を効果的に抑制することができる。
半導体メモリカードの識別情報は、半導体メモリカード内の記録領域のうち、特に秘匿性の高い記録領域に格納することが望ましい。何故なら、万一、その識別情報、例えばSDメモリカードではそのシリアル番号が不正に改竄された場合、SDメモリカードの違法コピーが容易に実行可能になってしまうからである。すなわち、その改竄の結果、同一の識別情報を持つ半導体メモリカードが複数存在するようになれば、上述のチェック(1)では正規品と違法な複製品との識別ができなくなるからである。従って、半導体メモリカードの識別情報は秘匿性の高い記録領域に記録して、不正な改竄から保護されねばならない。
半導体メモリカード内にこのような秘匿性の高い記録領域を構成する手段は、例えば次のとおりである。まず、通常のデータ用の記録領域(以下、第1の記録領域と称す。)から電気的に分離された別の記録領域(以下、第2の記録領域と称す。)が設置される。次に、第2の記録領域へのアクセス専用の制御回路が半導体メモリカード内に設けられる。それにより、第2の記録領域へはその制御回路を介してのみアクセスが可能であるようにする。例えば、第2の記録領域には、暗号化されたデータのみが記録され、その暗号化されたデータを復号するための回路が制御回路内にのみ組み込まれる。それにより、第2の記録領域内のデータへのアクセスは、そのデータを制御回路に復号させなければ不可能である。その他に、第2の記録領域内の各データのアドレスを制御回路にのみ保持させてもよい。その場合、第2の記録領域内のデータのアドレスは制御回路にしか特定できない。
半導体メモリカードの識別情報が第2の記録領域に記録された場合、再生装置上で動作するアプリケーション・プログラムは、電子配信を利用して配信サーバからデータを取得して半導体メモリカードに記録する場合、次のような処理を行う。まず、そのアプリケーション・プログラムは、メモリカードI/Fを介して上記の制御回路に対し、第2の記録領域に記録された半導体メモリカードの識別情報へのアクセス要求を発行する。制御回路はその要求に応じて、まず、第2の記録領域からその識別情報を読み出す。制御回路は次に、メモリカードI/Fを介して上記のアプリケーション・プログラムへその識別情報を送る。そのアプリケーション・プログラムはその後、その識別情報と共に配信データの送信要求を配信サーバに送出する。アプリケーション・プログラムは更に、その要求に応じて配信サーバから受信される公開鍵情報と配信データとを、メモリカードI/Fを介して半導体メモリカード内の第1の記録領域に記録する。
尚、上記のアプリケーション・プログラムは、半導体メモリカード内の制御回路に対して上記のアクセス要求を発行する前に、そのアプリケーション・プログラム自体の改竄の有無をチェックすることが望ましい。そのチェックには、例えばX.509に準拠のデジタル証明書が利用されてもよい。また、配信データは上記のとおり、半導体メモリカード内の第1の記録領域に記録されればよく、その配信データへのアクセスは半導体メモリカード内の制御回路によって制御されなくてもよい。
<リアルタイム・レコーディングへの適用>
本発明の実施形態では、AVストリーム・ファイル及びプレイリスト・ファイルは、オーサリングシステムにおけるプリレコーディング技術によってBD−ROMディスクに記録されてユーザに供給されることを前提とした。しかし、AVストリーム・ファイル及びプレイリスト・ファイルは、リアルタイム・レコーディングによって、BD−REディスク、BD−Rディスク、ハードディスク、又は半導体メモリカード等の書き込み可能な記録媒体(以下、BD−REディスク等と略す。)に記録されてユーザに供給されるものであってもよい。その場合、AVストリーム・ファイルは、アナログ入力信号を記録装置がリアルタイムで復号することによって得られたトランスポート・ストリームであってもよい。その他に、記録装置がデジタル入力したトランスポート・ストリームをパーシャル化することで得られるトランスポート・ストリームであってもよい。
リアルタイム・レコーディングを実行する記録装置は、ビデオ・エンコーダ、オーディオエンコーダ、マルチプレクサ、及びソースパケタイザを含む。ビデオ・エンコーダはビデオ信号を符号化してビデオ・ストリームに変換する。オーディオエンコーダはオーディオ信号を符号化してオーディオ・ストリームに変換する。マルチプレクサは、ビデオ・ストリームとオーディオ・ストリームとを多重化して、MPEG2−TS形式のデジタル・ストリームに変換する。ソースパケタイザは、MPEG2−TS形式のデジタル・ストリーム内のTSパケットをソースパケットに変換する。記録装置は各ソースパケットをAVストリーム・ファイルに格納して、BD−REディスク等に書き込む。
AVストリーム・ファイルの書き込み処理と並行して、記録装置の制御部はクリップ情報ファイルとプレイリスト・ファイルとをメモリ上で生成してBD−REディスク等に書き込む。具体的には、ユーザによって録画処理が要求されたとき、制御部はまず、AVストリーム・ファイルに合わせてクリップ情報ファイルを生成してBD−REディスク等に書き込む。その場合、外部から受信されるトランスポート・ストリームからビデオ・ストリーム内の一つのGOPの先頭が検出される度に、又は、ビデオ・エンコーダによってビデオ・ストリーム内の一つのGOPが生成される度に、制御部は、そのGOPの先頭に位置するIピクチャのPTSと、そのGOPの先頭が格納されたソースパケットのSPNとを取得する。制御部は更に、そのPTSとSPNとの対を一つのエントリ・ポイントとしてクリップ情報ファイルのエントリ・マップに追記する。ここで、そのエントリ・ポイントには「is_angle_changeフラグ」が追加される。is_angle_changeフラグは、そのGOPの先頭がIDRピクチャであるときは“オン”に設定され、そのGOPの先頭がIDRピクチャではないときは“オフ”に設定される。クリップ情報ファイル内には更に、ストリーム属性情報が記録対象のストリームの属性に従って設定される。こうして、AVストリーム・ファイルとクリップ情報ファイルとがBD−REディスク等に書き込まれた後、制御部はそのクリップ情報ファイル内のエントリ・マップを利用してプレイリスト・ファイルを生成し、BD−REディスク等に書き込む。
<マネージド・コピー>
本発明の実施形態による再生装置は更に、マネージド・コピーによってBD−ROMディスク101上のデジタル・ストリームを他の記録媒体へ書き込んでもよい。「マネージド・コピー」とは、BD−ROMディスク等の読み出し専用記録媒体から書き込み可能な記録媒体へ、デジタル・ストリーム、プレイリスト・ファイル、クリップ情報ファイル、及びアプリケーション・プログラムをコピーすることを、サーバとの通信による認証が成功した場合にのみ許可するための技術をいう。その書き込み可能な記録媒体は、BD−R、BD−RE、DVD−R、DVD−RW、及びDVD−RAM等の書き込み可能な光ディスク、ハードディスク、並びに、SDメモリカード、メモリースティック(登録商標)、コンパクトフラッシュ(登録商標)、スマートメディア(登録商標)、及びマルチメディアカード(登録商標)等の可搬性半導体メモリ装置を含む。マネージド・コピーは、読み出し専用記録媒体に記録されたデータのバックアップ回数の制限、及びバックアップ処理に対する課金を可能にする。
BD−ROMディスクからBD−Rディスク又はBD−REディスクへのマネージド・コピーが行われる場合、両ディスクの記録容量が等しいときは、コピー元のディスクに記録されたビット・ストリームがそのまま、順番にコピーされればよい。
マネージド・コピーが異種の記録媒体間で行われるときはトランス・コードが必要である。「トランス・コード」とは、コピー元のディスクに記録されているデジタル・ストリームをコピー先の記録媒体のアプリケーション・フォーマットに適合させるための処理をいう。トランス・コードは、例えば、MPEG2−TS形式からMPEG2プログラム・ストリーム形式へ変換する処理、及び、ビデオ・ストリームとオーディオ・ストリームとのそれぞれに割り当てられているビットレートを低くして符号化し直す処理を含む。トランス・コードでは、上述のリアルタイム・レコーディングによって、AVストリーム・ファイル、クリップ情報ファイル、及びプレイリスト・ファイルが生成されねばならない。
<データ構造の記述方法>
本発明の実施形態によるデータ構造のうち、「所定型の情報が複数存在する」という繰り返し構造は、for文に制御変数の初期値と繰り返し条件とを記述することによって定義される。また、「所定の条件が成立するときに所定の情報が定義される」というデータ構造は、if文にその条件と、その条件の成立時に設定されるべき変数とを記述することによって定義される。このように、実施形態によるデータ構造は高級プログラミング言語によって記述される。従って、そのデータ構造は、「構文解析」、「最適化」、「資源割付」、及び「コード生成」といったコンパイラによる翻訳過程を経て、コンピュータによって読み取り可能なコードに変換され、記録媒体に記録される。高級プログラミング言語での記述により、そのデータ構造は、オブジェクト指向言語におけるクラス構造体のメソッド以外の部分、具体的には、そのクラス構造体における配列型のメンバー変数として扱われ、プログラムの一部を成す。すなわち、そのデータ構造は、プログラムと実質的に同等である。従って、そのデータ構造はコンピュータ関連の発明として保護を受けるべきである。
<再生プログラムによるプレイリスト・ファイル、クリップ情報ファイルの管理>
プレイリスト・ファイルとAVストリーム・ファイルとが記録媒体に記録されるとき、その記録媒体には再生プログラムが実行形式のファイルとして記録される。再生プログラムはコンピュータに、プレイリスト・ファイルに従ってAVストリーム・ファイルを再生させる。再生プログラムは記録媒体からコンピュータ内のメモリ装置にロードされた後、そのコンピュータによって実行される。そのロード処理はコンパイル処理又はリンク処理を含む。それらの処理により、再生プログラムはメモリ装置内では複数のセクションに分割される。それらのセクションは、textセクション、dataセクション、bssセクション、及びstackセクションを含む。textセクションは、再生プログラムのコード列、変数の初期値、及び書き換え不可のデータを含む。dataセクションは、初期値を持つ変数、及び書き換え可能なデータを含む。dataセクションは特に、記録媒体上に記録された、随時アクセスされるファイルを含む。bssセクションは、初期値を持たない変数を含む。bssセクション内のデータは、textセクション内のコードの示す命令に応じて参照される。コンパイル処理又はリンク処理では、コンピュータ内のRAMにbssセクション用の領域が確保される。stackセクションは、必要に応じて一時的に確保されるメモリ領域である。再生プログラムによる各処理ではローカル変数が一時的に使用される。stackセクションはそれらのローカル変数を含む。プログラムの実行が開始されるとき、bssセクション内の変数はゼロで初期化され、stackセクションには必要なメモリ領域が確保される。
プレイリスト・ファイル及びクリップ情報ファイルは上述のとおり、記録媒体上では既に、コンピュータによって読み取り可能なコードに変換されている。従って、それらのファイルは再生プログラムの実行時、textセクション内の「書き換え不可のデータ」、又はdataセクション内の「随時アクセスされるファイル」として管理される。すなわち、プレイリスト・ファイル及びクリップ情報ファイルは、再生プログラムの実行時にその構成要素の中に組み込まれる。それ故、プレイリスト・ファイル及びクリップ情報ファイルは再生プログラムにおいて、単なるデータの提示を超えた役割を果たす。
本発明は立体視映像の再生技術に関し、上記のとおり、TS優先度フラグを利用してTSパケットを識別する。このように、本発明は明らかに産業上利用可能である。
1500 ディペンデントビュー・ビデオ・ストリーム内のVAU#1
1510 PESパケット
1512 PESペイロード
1520 TSパケット列
1521 TSパケット列1520の第1グループ
1522 TSパケット列1520の第2グループ
1523 TSパケット列1520の第3グループ
1530 第1グループ1521の後端に位置するTSパケット
1531 TSパケット1530のTSヘッダ
1532 TSパケット1530のADフィールド
1533 TSパケット1530のTSペイロード
1540 第2グループ1522に属するTSパケット
1541 TSパケット1540のTSヘッダ
1542 TSパケット1540のTSペイロード
1550 第2グループ1522の後端に位置するTSパケット
1551 TSパケット1550のTSヘッダ
1552 TSパケット1550のADフィールド
1553 TSパケット1550のTSペイロード
1560 第3グループ1523に属するTSパケット
1561 TSパケット1560のTSヘッダ
1562 TSパケット1560のTSペイロード

Claims (4)

  1. メインビュー・ビデオ・ストリーム、サブビュー・ビデオ・ストリーム、及びグラフィックス・ストリームが記録された記録媒体であって、
    前記メインビュー・ビデオ・ストリームは、立体視映像のメインビューを構成するメインビュー・ピクチャを含み、
    前記サブビュー・ビデオ・ストリームは、立体視映像のサブビューを構成するサブビュー・ピクチャと、メタデータとを含み、
    前記グラフィックス・ストリームは、平面視グラフィックス映像を構成するグラフィックス・データを含み、
    前記メインビュー・ピクチャは、再生される際にメインビュー・ビデオ・プレーンに描画され、
    前記サブビュー・ピクチャは、再生される際にサブビュー・ビデオ・プレーンに描画され、
    前記グラフィックス・データは、再生される際にグラフィックス・プレーンに描画され、
    前記メタデータは、前記サブビュー・ビデオ・ストリームを構成するグループ・オブ・ピクチャ(GOP)ごとに配置されて、オフセット情報を含み、
    前記オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する制御情報であり、
    前記オフセット制御は、前記グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、メインビュー・ビデオ・プレーンとサブビュー・ビデオ・プレーンとのそれぞれに合成する処理であり、
    前記サブビュー・ビデオ・ストリームはトランスポート・ストリーム(TS)に多重化され、
    前記TSを構成するTSパケットのヘッダは、当該TSパケットの優先度を示すTS優先度フラグを含み、
    前記メタデータを含むTSパケットのTS優先度フラグは、前記サブビュー・ピクチャを含むTSパケットのTS優先度フラグと値が異なる、
    記録媒体。
  2. 記録媒体から映像を再生するための再生装置であって、
    前記記録媒体には、メインビュー・ビデオ・ストリーム、サブビュー・ビデオ・ストリーム、及びグラフィックス・ストリームが記録され、
    前記メインビュー・ビデオ・ストリームは、立体視映像のメインビューを構成するメインビュー・ピクチャを含み、
    前記サブビュー・ビデオ・ストリームは、立体視映像のサブビューを構成するサブビュー・ピクチャと、メタデータとを含み、
    前記グラフィックス・ストリームは、平面視グラフィックス映像を構成するグラフィックス・データを含み、
    前記メインビュー・ピクチャは、再生される際にメインビュー・ビデオ・プレーンに描画され、
    前記サブビュー・ピクチャは、再生される際にサブビュー・ビデオ・プレーンに描画され、
    前記グラフィックス・データは、再生される際にグラフィックス・プレーンに描画され、
    前記メタデータは、前記サブビュー・ビデオ・ストリームのグループ・オブ・ピクチャ(GOP)ごとに配置されて、オフセット情報を含み、
    前記オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する制御情報であり、
    前記オフセット制御は、前記グラフィックス・プレーンに水平座標の左方向と右方向との各オフセットを与えて、メインビュー・ビデオ・プレーンとサブビュー・ビデオ・プレーンとのそれぞれに合成する処理であり、
    前記サブビュー・ビデオ・ストリームはトランスポート・ストリーム(TS)に多重化され、
    前記TSを構成するTSパケットのヘッダは、当該TSパケットの優先度を示すTS優先度フラグを含み、
    前記メタデータを含むTSパケットのTS優先度フラグは、前記サブビュー・ピクチャを含むTSパケットのTS優先度フラグとは値が異なり、
    前記記録媒体からデータを読み出す読み出し部、
    前記読み出し部によって読み出されたストリーム・データをビデオ・プレーンとグラフィックス・プレーンとの少なくともいずれかに復号する復号部、
    前記ストリーム・データに含まれるTSパケットのTS優先度フラグを監視して、前記メタデータを含むTSパケットを抽出するTS優先度フィルタ部、
    前記TS優先度フィルタ部によって抽出されたTSパケットからメタデータを抽出するメタデータ処理部、及び、
    前記メタデータ処理部によって抽出されたメタデータの含むオフセット情報に従って、前記グラフィックス・プレーンに対してオフセット制御を行うプレーン合成部、
    を備えた再生装置。
  3. 前記復号部は、前記TS優先度フィルタ部によって抽出されなかったTSパケットを復号することを特徴とする、請求項2に記載の再生装置。
  4. メインビュー・ビデオ・ストリームと、サブビュー・ビデオ・ストリームと、グラフィックス・ストリームとを含む一連のデータを受信して映像信号処理を行う半導体集積回路であって、
    前記メインビュー・ビデオ・ストリームは、立体視映像のメインビューを構成するピクチャ・データを含み、
    前記サブビュー・ビデオ・ストリームは、立体視映像のサブビューを構成するピクチャ・データと、メタデータとを含み、
    前記グラフィックス・ストリームは、平面視グラフィックス映像を構成するグラフィックス・データを含み、
    前記メタデータは、前記サブビュー・ビデオ・ストリームを構成するグループ・オブ・ピクチャ(GOP)ごとに配置されて、オフセット情報を含み、
    前記オフセット情報は、GOPを構成する複数のピクチャに対するオフセット制御を規定する制御情報であり、
    前記メインビュー・ビデオ・ストリームは、メインビュー・トランスポート・ストリーム(TS)として多重化された後、複数のメインビュー・データ群に分割され、
    前記サブビュー・ビデオ・ストリームは、サブビューTSとして多重化された後、複数のサブビュー・データ群に分割され、
    前記一連のデータにおいて、前記メインビュー・データ群と前記サブビュー・データ群は交互に配置されており、
    前記グラフィックス・ストリームは、前記メインビューTSと前記サブビューTSとの何れか、もしくは両方に多重化されており、前記メインビュー・データ群と前記サブビュー・データ群との少なくとも何れかは前記グラフィックス・データを含み、
    前記サブビューTSを構成するTSパケットのヘッダは、当該TSパケットの優先度を示すTS優先度フラグを含み、
    前記メタデータを含むTSパケットのTS優先度フラグは、前記サブビューを構成するピクチャ・データを含むTSパケットのTS優先度フラグとは値が異なり、
    前記半導体集積回路は、
    前記半導体集積回路の制御を行う主制御部と、
    前記一連のデータを受信し、前記半導体集積回路の内部もしくは外部に設けられたメモリに一旦格納した後、前記ピクチャ・データと前記グラフィックス・データとに多重分離するストリーム処理部と、
    前記ピクチャ・データと前記グラフィックス・データとをそれぞれデコードする信号処理部と、
    デコードされた前記ピクチャ・データを出力するAV出力部とを備えており、
    前記ストリーム処理部は、受信した前記一連のデータの格納先を前記メモリ内の第1の領域と第2の領域との間で切り替える切替部を備えており、
    前記主制御部は、前記メインビュー・データ群に属しているピクチャ・データを前記第1の領域に格納するように前記切替部を制御し、前記サブビュー・データ群に属しているピクチャ・データを前記第2の領域に格納するように前記切替部を制御し、
    前記デコードされたピクチャ・データのうち、前記メインビュー・データ群に属しているデータは前記メモリ内の第3の領域に格納され、前記第3の領域はメインビュー・ビデオ・プレーンに対応しており、
    前記デコードされたピクチャ・データのうち、前記サブビュー・データ群に属しているデータは前記メモリ内の第4の領域に格納され、前記第4の領域はサブビュー・ビデオ・プレーンに対応しており、
    前記デコードされたグラフィックス・データは前記メモリ内の第5の領域に格納され、前記第5の領域はグラフィックス・プレーンに対応しており、
    前記AV出力部は、前記デコードされたピクチャ・データと、前記デコードされたグラフィックス・データとを重畳する画像重畳部を備えており、
    前記信号処理部は、前記一連のデータに含まれるTSパケットのTS優先度フラグを監視して前記メタデータを抽出し、
    前記画像重畳部は、抽出されたメタデータに含まれるオフセット情報に基づいて前記グラフィックス・プレーンに水平座標の+方向及び−方向の各オフセットを与えて、前記メインビュー・ビデオ・プレーンと前記サブビュー・ビデオ・プレーンとのそれぞれに重畳し、
    前記AV出力部は、前記デコードされたピクチャ・データを、前記デコードされたグラフィックス・データが重畳された後に出力する
    ことを特徴とする半導体集積回路。
JP2010546127A 2009-07-10 2010-07-07 記録媒体、再生装置、及び集積回路 Active JP4676579B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009164289 2009-07-10
JP2009164289 2009-07-10
PCT/JP2010/004439 WO2011004600A1 (ja) 2009-07-10 2010-07-07 記録媒体、再生装置、及び集積回路

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011010026A Division JP5451656B2 (ja) 2009-07-10 2011-01-20 記録媒体、再生装置、及び集積回路

Publications (2)

Publication Number Publication Date
JP4676579B2 JP4676579B2 (ja) 2011-04-27
JPWO2011004600A1 true JPWO2011004600A1 (ja) 2012-12-20

Family

ID=43429028

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010546127A Active JP4676579B2 (ja) 2009-07-10 2010-07-07 記録媒体、再生装置、及び集積回路
JP2011010026A Expired - Fee Related JP5451656B2 (ja) 2009-07-10 2011-01-20 記録媒体、再生装置、及び集積回路

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2011010026A Expired - Fee Related JP5451656B2 (ja) 2009-07-10 2011-01-20 記録媒体、再生装置、及び集積回路

Country Status (13)

Country Link
US (2) US8150238B2 (ja)
EP (1) EP2453661B1 (ja)
JP (2) JP4676579B2 (ja)
KR (1) KR20120104485A (ja)
CN (1) CN102138335B (ja)
BR (1) BRPI1004221A2 (ja)
DK (1) DK2453661T3 (ja)
ES (1) ES2649556T3 (ja)
MX (1) MX2011002003A (ja)
RU (1) RU2541128C2 (ja)
TW (1) TWI453736B (ja)
WO (1) WO2011004600A1 (ja)
ZA (1) ZA201101480B (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110013888A1 (en) * 2009-06-18 2011-01-20 Taiji Sasaki Information recording medium and playback device for playing back 3d images
JP4957831B2 (ja) * 2009-08-18 2012-06-20 ソニー株式会社 再生装置および再生方法、並びに記録装置および記録方法
US8878913B2 (en) * 2010-03-12 2014-11-04 Sony Corporation Extended command stream for closed caption disparity
US9456204B2 (en) * 2010-03-16 2016-09-27 Universal Electronics Inc. System and method for facilitating configuration of a controlling device via a 3D sync signal
JP2011216937A (ja) * 2010-03-31 2011-10-27 Hitachi Consumer Electronics Co Ltd 立体画像表示装置
JP5505637B2 (ja) * 2010-06-24 2014-05-28 ソニー株式会社 立体表示装置および立体表示装置の表示方法
KR101645465B1 (ko) * 2010-07-23 2016-08-04 삼성전자주식회사 휴대용 단말기에서 입체 영상 데이터를 생성하기 위한 장치 및 방법
KR20120056929A (ko) * 2010-09-20 2012-06-05 엘지전자 주식회사 휴대 단말기 및 그 동작 제어방법
US9143783B2 (en) * 2011-01-19 2015-09-22 Telefonaktiebolaget L M Ericsson (Publ) Indicating bit stream subsets
US20120224037A1 (en) * 2011-03-02 2012-09-06 Sharp Laboratories Of America, Inc. Reducing viewing discomfort for graphical elements
JP5355606B2 (ja) * 2011-03-03 2013-11-27 日本電信電話株式会社 ステレオ動画像符号化方法、装置およびプログラム
JP5639007B2 (ja) * 2011-05-17 2014-12-10 日本電信電話株式会社 3d映像視聴装置、3d映像視聴方法及び3d映像視聴プログラム
US8923686B2 (en) * 2011-05-20 2014-12-30 Echostar Technologies L.L.C. Dynamically configurable 3D display
JP5914838B2 (ja) * 2011-05-23 2016-05-11 パナソニックIpマネジメント株式会社 画像表示装置
JP2012249019A (ja) * 2011-05-26 2012-12-13 Sony Corp 記録装置、記録方法、再生装置、再生方法、プログラム、および記録再生装置
US9185386B2 (en) * 2011-06-01 2015-11-10 Panasonic Intellectual Property Management Co., Ltd. Video processing device, transmission device, video processing system, video processing method, transmission method, computer program and integrated circuit
JP6058257B2 (ja) 2011-07-06 2017-01-11 アイキューブド研究所株式会社 画像出力装置、画像出力方法、およびプログラム
US20130046856A1 (en) * 2011-08-15 2013-02-21 Telefonaktiebolaget L M Ericsson (Publ) Event-triggered streaming of windowed video content
US9560334B2 (en) * 2011-09-08 2017-01-31 Qualcomm Incorporated Methods and apparatus for improved cropping of a stereoscopic image pair
US9407897B2 (en) 2011-09-30 2016-08-02 Panasonic Intellectual Property Management Co., Ltd. Video processing apparatus and video processing method
JP2013110540A (ja) * 2011-11-18 2013-06-06 Sony Corp 画像データ送信装置、画像データ送信方法、画像データ受信装置および画像データ受信方法
JPWO2013099289A1 (ja) * 2011-12-28 2015-04-30 パナソニック株式会社 再生装置、送信装置、再生方法及び送信方法
US9307188B2 (en) 2011-12-28 2016-04-05 Intel Corporation Method of and apparatus for performing an objective video quality assessment using non-intrusive video frame tracking
US9241167B2 (en) 2012-02-17 2016-01-19 Microsoft Technology Licensing, Llc Metadata assisted video decoding
JP5924108B2 (ja) 2012-05-09 2016-05-25 セイコーエプソン株式会社 画像表示装置及びシャッター装置
WO2014010955A1 (ko) * 2012-07-11 2014-01-16 한국전자통신연구원 Mpeg 데이터를 처리하는 방법 및 시스템
KR102147475B1 (ko) 2012-07-11 2020-08-26 한국전자통신연구원 Mpeg 데이터를 처리하는 방법 및 시스템
EP2699006A1 (en) * 2012-08-16 2014-02-19 ESSILOR INTERNATIONAL (Compagnie Générale d'Optique) Pictures positioning on display elements
JP6140416B2 (ja) * 2012-10-10 2017-05-31 サターン ライセンシング エルエルシーSaturn Licensing LLC 情報処理装置、情報処理方法およびプログラム
JP6151010B2 (ja) * 2012-11-29 2017-06-21 株式会社東芝 情報処理装置および表示制御方法
US20140212115A1 (en) * 2013-01-31 2014-07-31 Hewlett Packard Development Company, L.P. Optical disc with three-dimensional viewing depth
KR102095272B1 (ko) * 2013-10-10 2020-04-01 삼성디스플레이 주식회사 표시 장치 및 그 구동 방법
TW201528775A (zh) 2014-01-02 2015-07-16 Ind Tech Res Inst 景深圖校正方法及系統
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
JP2015136060A (ja) 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
US20150253974A1 (en) 2014-03-07 2015-09-10 Sony Corporation Control of large screen display using wireless portable computer interfacing with display controller
JP6379636B2 (ja) * 2014-04-30 2018-08-29 ソニー株式会社 情報処理装置、情報記録媒体、および画像処理方法、並びにプログラム
US10750198B2 (en) * 2014-05-22 2020-08-18 Qualcomm Incorporated Maximum palette parameters in palette-based video coding
CN114513617B (zh) * 2014-09-10 2024-04-09 松下电器(美国)知识产权公司 再现装置以及再现方法
JP6197771B2 (ja) * 2014-09-25 2017-09-20 株式会社Jvcケンウッド 画像接合装置、撮像装置、画像接合方法、及び画像接合プログラム
JP2016081553A (ja) * 2014-10-17 2016-05-16 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 記録媒体、再生方法、および再生装置
US10148933B2 (en) * 2015-11-13 2018-12-04 Vefxi Corporation 3D system including rendering with shifted compensation
US10122987B2 (en) * 2015-11-13 2018-11-06 Vefxi Corporation 3D system including additional 2D to 3D conversion
US10121280B2 (en) * 2015-11-13 2018-11-06 Vefxi Corporation 3D system including rendering with three dimensional transformation
US10225542B2 (en) * 2015-11-13 2019-03-05 Vefxi Corporation 3D system including rendering with angular compensation
CN107645647A (zh) * 2017-09-21 2018-01-30 京信通信系统(中国)有限公司 一种多路音视频传输方法及装置
US10958958B2 (en) * 2018-08-21 2021-03-23 International Business Machines Corporation Intelligent updating of media data in a computing environment
JP7395901B2 (ja) * 2019-09-19 2023-12-12 ヤマハ株式会社 コンテンツ制御装置、コンテンツ制御方法およびプログラム
CN111147770B (zh) * 2019-12-18 2023-07-07 广东保伦电子股份有限公司 一种多路视频窗口叠加显示方法、电子设备及存储介质
WO2021142601A1 (en) * 2020-01-14 2021-07-22 Citrix Systems, Inc. Content resolution adjustment for passive display devices

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5325477A (en) * 1991-12-02 1994-06-28 Xerox Corporation Method and apparatus for generating and displaying freeform strokes
TW436777B (en) 1995-09-29 2001-05-28 Matsushita Electric Ind Co Ltd A method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
US6502199B2 (en) 1995-09-29 2002-12-31 Matsushita Electric Industrial Co., Ltd. Method and an apparatus for reproducing bitstream having non-sequential system clock data seamlessly therebetween
WO1997032437A1 (en) * 1996-02-28 1997-09-04 Matsushita Electric Industrial Co., Ltd. High-resolution optical disk for recording stereoscopic video, optical disk reproducing device, and optical disk recording device
CA2340314C (en) 1996-12-04 2003-07-08 Mitsuaki Oshima Optical disk for high resolution and three-dimensional video recording, optical disk reproduction apparatus, and optical disk recording apparatus
DE69841532D1 (de) 1997-08-29 2010-04-15 Panasonic Corp Optische Platte mit hierarchisch codiertem digitalen Videosignal, Wiedergabevorrichtung und Aufnahmevorrichtung für die optische Platte
JP4481444B2 (ja) * 2000-06-30 2010-06-16 株式会社東芝 画像符号化装置
US6760042B2 (en) * 2000-09-15 2004-07-06 International Business Machines Corporation System and method of processing MPEG streams for storyboard and rights metadata insertion
US20040017831A1 (en) * 2002-04-05 2004-01-29 Jian Shen System and method for processing SI data from multiple input transport streams
DE602004026649D1 (de) * 2003-02-28 2010-05-27 Panasonic Corp Aufzeichnungsmedium, Wiedergabevorrichtung, Aufzeichnungsprogramm und Wiedergabeverfahren
US7426329B2 (en) 2003-03-06 2008-09-16 Microsoft Corporation Systems and methods for receiving, storing, and rendering digital video, music, and pictures on a personal media player
EP1517554A4 (en) * 2003-03-13 2010-06-16 Panasonic Corp DATA PROCESSING DEVICE
RU2282946C2 (ru) * 2003-12-25 2006-08-27 Александр Александрович Сухов Способ передачи визуальной информации
US8483053B2 (en) * 2004-02-06 2013-07-09 Sony Corporation Information processing device, information processing method, program, and data structure
KR100561417B1 (ko) 2004-02-09 2006-03-16 삼성전자주식회사 Av 데이터의 재생상태를 전환할 수 있는 인터랙티브그래픽 스트림을 기록한 정보저장매체, 그 재생방법 및 장치
KR100677129B1 (ko) * 2004-09-03 2007-02-02 삼성전자주식회사 인터랙티브 그래픽 스트림을 기록한 저장 매체, 그 재생장치 및 재생 방법
JP4863990B2 (ja) * 2004-10-07 2012-01-25 パナソニック株式会社 情報記録媒体、tsパケット判定装置、及びデータ再生装置
JP4275611B2 (ja) * 2004-12-02 2009-06-10 ソニー株式会社 再生装置、再生方法および再生プログラム、記録媒体、ならびに、データ構造体
CN102034513B (zh) * 2005-04-07 2013-04-17 松下电器产业株式会社 记录方法和再现装置
US7978955B2 (en) * 2005-04-22 2011-07-12 Sony Corporation Recording device, recording method, reproducing device, reproducing method, program, and recording medium
US20090119706A1 (en) * 2005-12-16 2009-05-07 Stepframe Media, Inc. Generation and Delivery of Stepped-Frame Content Via MPEG Transport Streams
JP2010510558A (ja) 2006-10-11 2010-04-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 三次元グラフィックスのデータの作成
US8463019B2 (en) * 2007-07-19 2013-06-11 JVC Kenwood Corporation Pseudo 3D image generation device, image encoding device, image encoding method, image transmission method, image decoding device, and image decoding method
WO2009083863A1 (en) * 2007-12-20 2009-07-09 Koninklijke Philips Electronics N.V. Playback and overlay of 3d graphics onto 3d video
EP2306749B1 (en) 2008-07-24 2017-04-12 Panasonic Intellectual Property Management Co., Ltd. Playback device capable of stereoscopic playback, playback method, and program
CN102113334B (zh) * 2009-05-19 2013-09-11 松下电器产业株式会社 再现装置、记录方法及记录介质再现系统
US8659592B2 (en) * 2009-09-24 2014-02-25 Shenzhen Tcl New Technology Ltd 2D to 3D video conversion
JP4481361B2 (ja) 2009-10-08 2010-06-16 株式会社半導体エネルギー研究所 半導体装置

Also Published As

Publication number Publication date
CN102138335A (zh) 2011-07-27
EP2453661A1 (en) 2012-05-16
TW201118867A (en) 2011-06-01
RU2011107253A (ru) 2013-08-20
DK2453661T3 (en) 2017-10-30
US20110142426A1 (en) 2011-06-16
EP2453661B1 (en) 2017-08-30
CN102138335B (zh) 2013-02-06
BRPI1004221A2 (pt) 2020-09-15
TWI453736B (zh) 2014-09-21
JP2011130468A (ja) 2011-06-30
ES2649556T3 (es) 2018-01-12
US20120147141A1 (en) 2012-06-14
MX2011002003A (es) 2011-03-29
US8467664B2 (en) 2013-06-18
JP4676579B2 (ja) 2011-04-27
ZA201101480B (en) 2012-06-27
KR20120104485A (ko) 2012-09-21
RU2541128C2 (ru) 2015-02-10
WO2011004600A1 (ja) 2011-01-13
EP2453661A4 (en) 2016-03-30
US8150238B2 (en) 2012-04-03
JP5451656B2 (ja) 2014-03-26

Similar Documents

Publication Publication Date Title
JP5451656B2 (ja) 記録媒体、再生装置、及び集積回路
JP5551654B2 (ja) 半導体集積回路
JP5432194B2 (ja) 記録媒体、再生装置、符号化装置、集積回路、及び再生出力装置
US8270807B2 (en) Recording medium, playback device, and integrated circuit
JP5457299B2 (ja) 記録媒体、再生装置、及び集積回路
WO2010113454A1 (ja) 記録媒体、再生装置、及び集積回路
WO2010100875A1 (ja) 記録媒体、再生装置、及び集積回路
WO2010098134A1 (ja) 記録媒体、再生装置、及び集積回路

Legal Events

Date Code Title Description
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: 20110111

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4676579

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150